From 5b19bda85c2ce01e4a1c7f324b7ef14bffed3315 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Sun, 5 Nov 2023 12:35:46 -0500 Subject: [PATCH 001/748] Add validation loss --- library/train_util.py | 4 ++ train_network.py | 117 +++++++++++++++++++++++++++++++++++++++++- 2 files changed, 120 insertions(+), 1 deletion(-) diff --git a/library/train_util.py b/library/train_util.py index cc9ac4555..e26f39799 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -4736,6 +4736,10 @@ def __call__(self, examples): else: dataset = self.dataset + # If we split a dataset we will get a Subset + if type(dataset) is torch.utils.data.Subset: + dataset = dataset.dataset + # set epoch and step dataset.set_current_epoch(self.current_epoch.value) dataset.set_current_step(self.current_step.value) diff --git a/train_network.py b/train_network.py index d50916b74..58767b6f7 100644 --- a/train_network.py +++ b/train_network.py @@ -345,8 +345,21 @@ def train(self, args): # DataLoaderのプロセス数:0はメインプロセスになる n_workers = min(args.max_data_loader_n_workers, os.cpu_count() - 1) # cpu_count-1 ただし最大で指定された数まで + if args.validation_ratio > 0.0: + train_ratio = 1 - args.validation_ratio + validation_ratio = args.validation_ratio + train, val = torch.utils.data.random_split( + train_dataset_group, + [train_ratio, validation_ratio] + ) + print(f"split dataset by ratio: train {train_ratio}, validation {validation_ratio}") + print(f"train images: {len(train)}, validation images: {len(val)}") + else: + train = train_dataset_group + val = [] + train_dataloader = torch.utils.data.DataLoader( - train_dataset_group, + train, batch_size=1, shuffle=True, collate_fn=collator, @@ -354,6 +367,15 @@ def train(self, args): persistent_workers=args.persistent_data_loader_workers, ) + val_dataloader = torch.utils.data.DataLoader( + val, + shuffle=False, + batch_size=1, + collate_fn=collator, + num_workers=n_workers, + persistent_workers=args.persistent_data_loader_workers, + ) + # 学習ステップ数を計算する if args.max_train_epochs is not None: args.max_train_steps = args.max_train_epochs * math.ceil( @@ -711,6 +733,8 @@ def train(self, args): ) loss_recorder = train_util.LossRecorder() + val_loss_recorder = train_util.LossRecorder() + del train_dataset_group # callback for step start @@ -752,6 +776,8 @@ def remove_model(old_ckpt_name): network.on_epoch_start(text_encoder, unet) + # TRAINING + for step, batch in enumerate(train_dataloader): current_step.value = global_step with accelerator.accumulate(network): @@ -877,6 +903,87 @@ def remove_model(old_ckpt_name): if global_step >= args.max_train_steps: break + # VALIDATION + + if len(val_dataloader) > 0: + print("Validating バリデーション処理...") + + with torch.no_grad(): + for val_step, batch in enumerate(val_dataloader): + if "latents" in batch and batch["latents"] is not None: + latents = batch["latents"].to(accelerator.device) + else: + # latentに変換 + latents = vae.encode(batch["images"].to(device=accelerator.device, dtype=vae_dtype)).latent_dist.sample() + + # NaNが含まれていれば警告を表示し0に置き換える + if torch.any(torch.isnan(latents)): + accelerator.print("NaN found in latents, replacing with zeros") + latents = torch.where(torch.isnan(latents), torch.zeros_like(latents), latents) + latents = latents * self.vae_scale_factor + b_size = latents.shape[0] + + # Get the text embedding for conditioning + if args.weighted_captions: + text_encoder_conds = get_weighted_text_embeddings( + tokenizer, + text_encoder, + batch["captions"], + accelerator.device, + args.max_token_length // 75 if args.max_token_length else 1, + clip_skip=args.clip_skip, + ) + else: + text_encoder_conds = self.get_text_cond( + args, accelerator, batch, tokenizers, text_encoders, weight_dtype + ) + + # Sample noise, sample a random timestep for each image, and add noise to the latents, + # with noise offset and/or multires noise if specified + noise, noisy_latents, timesteps = train_util.get_noise_noisy_latents_and_timesteps( + args, noise_scheduler, latents + ) + + # Predict the noise residual + with accelerator.autocast(): + noise_pred = self.call_unet( + args, accelerator, unet, noisy_latents, timesteps, text_encoder_conds, batch, weight_dtype + ) + + if args.v_parameterization: + # v-parameterization training + target = noise_scheduler.get_velocity(latents, noise, timesteps) + else: + target = noise + + loss = torch.nn.functional.mse_loss(noise_pred.float(), target.float(), reduction="none") + loss = loss.mean([1, 2, 3]) + + loss_weights = batch["loss_weights"].to(accelerator.device) # 各sampleごとのweight + + loss = loss * loss_weights + + if args.min_snr_gamma: + loss = apply_snr_weight(loss, timesteps, noise_scheduler, args.min_snr_gamma) + if args.scale_v_pred_loss_like_noise_pred: + loss = scale_v_prediction_loss_like_noise_prediction(loss, timesteps, noise_scheduler) + if args.v_pred_like_loss: + loss = add_v_prediction_like_loss(loss, timesteps, noise_scheduler, args.v_pred_like_loss) + + loss = loss.mean() # 平均なのでbatch_sizeで割る必要なし + + current_loss = loss.detach().item() + + val_loss_recorder.add(epoch=epoch, step=val_step, loss=current_loss) + + if len(val_dataloader) > 0: + avr_loss: float = val_loss_recorder.moving_average + + if args.logging_dir is not None: + logs = {"loss/validation": avr_loss} + accelerator.log(logs, step=epoch + 1) + + if args.logging_dir is not None: logs = {"loss/epoch": loss_recorder.moving_average} accelerator.log(logs, step=epoch + 1) @@ -999,6 +1106,14 @@ def setup_parser() -> argparse.ArgumentParser: action="store_true", help="do not use fp16/bf16 VAE in mixed precision (use float VAE) / mixed precisionでも fp16/bf16 VAEを使わずfloat VAEを使う", ) + + parser.add_argument( + "--validation_ratio", + type=float, + default=0.0, + help="Ratio for validation images out of the training dataset" + ) + return parser From 33c311ed19821c9be7094ba89371777d7478b028 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Sun, 5 Nov 2023 12:37:37 -0500 Subject: [PATCH 002/748] new ratio code --- train_network.py | 48 +++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 43 insertions(+), 5 deletions(-) diff --git a/train_network.py b/train_network.py index 58767b6f7..967c95fb4 100644 --- a/train_network.py +++ b/train_network.py @@ -345,10 +345,48 @@ def train(self, args): # DataLoaderのプロセス数:0はメインプロセスになる n_workers = min(args.max_data_loader_n_workers, os.cpu_count() - 1) # cpu_count-1 ただし最大で指定された数まで + def get_indices_without_reg(dataset: torch.utils.data.Dataset): + return [id for id, (key, item) in enumerate(dataset.image_data.items()) if item.is_reg is False] + + from typing import Sequence, Union + from torch._utils import _accumulate + import warnings + from torch.utils.data.dataset import Subset + + def random_split(dataset: torch.utils.data.Dataset, lengths: Sequence[Union[int, float]]): + indices = get_indices_without_reg(dataset) + random.shuffle(indices) + + subset_lengths = [] + + for i, frac in enumerate(lengths): + if frac < 0 or frac > 1: + raise ValueError(f"Fraction at index {i} is not between 0 and 1") + n_items_in_split = int(math.floor(len(indices) * frac)) + subset_lengths.append(n_items_in_split) + + remainder = len(indices) - sum(subset_lengths) + + for i in range(remainder): + idx_to_add_at = i % len(subset_lengths) + subset_lengths[idx_to_add_at] += 1 + + lengths = subset_lengths + for i, length in enumerate(lengths): + if length == 0: + warnings.warn(f"Length of split at index {i} is 0. " + f"This might result in an empty dataset.") + + if sum(lengths) != len(indices): + raise ValueError("Sum of input lengths does not equal the length of the input dataset!") + + return [Subset(dataset, indices[offset - length: offset]) for offset, length in zip(_accumulate(lengths), lengths)] + + if args.validation_ratio > 0.0: train_ratio = 1 - args.validation_ratio validation_ratio = args.validation_ratio - train, val = torch.utils.data.random_split( + train, val = random_split( train_dataset_group, [train_ratio, validation_ratio] ) @@ -358,6 +396,8 @@ def train(self, args): train = train_dataset_group val = [] + + train_dataloader = torch.utils.data.DataLoader( train, batch_size=1, @@ -898,7 +938,7 @@ def remove_model(old_ckpt_name): if args.logging_dir is not None: logs = self.generate_step_logs(args, current_loss, avr_loss, lr_scheduler, keys_scaled, mean_norm, maximum_norm) - accelerator.log(logs, step=global_step) + accelerator.log(logs) if global_step >= args.max_train_steps: break @@ -973,13 +1013,11 @@ def remove_model(old_ckpt_name): loss = loss.mean() # 平均なのでbatch_sizeで割る必要なし current_loss = loss.detach().item() - val_loss_recorder.add(epoch=epoch, step=val_step, loss=current_loss) if len(val_dataloader) > 0: - avr_loss: float = val_loss_recorder.moving_average - if args.logging_dir is not None: + avr_loss: float = val_loss_recorder.moving_average logs = {"loss/validation": avr_loss} accelerator.log(logs, step=epoch + 1) From 3de9e6c443037abf99832d1be60f4fc9c0d67b8c Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Sun, 5 Nov 2023 01:45:23 -0500 Subject: [PATCH 003/748] Add validation split of datasets --- library/config_util.py | 145 ++++++++++++++++++++++++++--------------- library/train_util.py | 26 ++++++++ train_network.py | 67 ++++--------------- 3 files changed, 128 insertions(+), 110 deletions(-) diff --git a/library/config_util.py b/library/config_util.py index e8e0fda7c..1bf7ed955 100644 --- a/library/config_util.py +++ b/library/config_util.py @@ -85,6 +85,8 @@ class BaseDatasetParams: max_token_length: int = None resolution: Optional[Tuple[int, int]] = None debug_dataset: bool = False + validation_seed: Optional[int] = None + validation_split: float = 0.0 @dataclass class DreamBoothDatasetParams(BaseDatasetParams): @@ -200,6 +202,8 @@ def __validate_and_convert_scalar_or_twodim(klass, value: Union[float, Sequence] "enable_bucket": bool, "max_bucket_reso": int, "min_bucket_reso": int, + "validation_seed": int, + "validation_split": float, "resolution": functools.partial(__validate_and_convert_scalar_or_twodim.__func__, int), } @@ -427,64 +431,89 @@ def generate_dataset_group_by_blueprint(dataset_group_blueprint: DatasetGroupBlu dataset_klass = FineTuningDataset subsets = [subset_klass(**asdict(subset_blueprint.params)) for subset_blueprint in dataset_blueprint.subsets] - dataset = dataset_klass(subsets=subsets, **asdict(dataset_blueprint.params)) + dataset = dataset_klass(subsets=subsets, is_train=True, **asdict(dataset_blueprint.params)) datasets.append(dataset) - # print info - info = "" - for i, dataset in enumerate(datasets): - is_dreambooth = isinstance(dataset, DreamBoothDataset) - is_controlnet = isinstance(dataset, ControlNetDataset) - info += dedent(f"""\ - [Dataset {i}] - batch_size: {dataset.batch_size} - resolution: {(dataset.width, dataset.height)} - enable_bucket: {dataset.enable_bucket} - """) - - if dataset.enable_bucket: - info += indent(dedent(f"""\ - min_bucket_reso: {dataset.min_bucket_reso} - max_bucket_reso: {dataset.max_bucket_reso} - bucket_reso_steps: {dataset.bucket_reso_steps} - bucket_no_upscale: {dataset.bucket_no_upscale} - \n"""), " ") + val_datasets:List[Union[DreamBoothDataset, FineTuningDataset, ControlNetDataset]] = [] + for dataset_blueprint in dataset_group_blueprint.datasets: + if dataset_blueprint.params.validation_split <= 0.0: + continue + if dataset_blueprint.is_controlnet: + subset_klass = ControlNetSubset + dataset_klass = ControlNetDataset + elif dataset_blueprint.is_dreambooth: + subset_klass = DreamBoothSubset + dataset_klass = DreamBoothDataset else: - info += "\n" - - for j, subset in enumerate(dataset.subsets): - info += indent(dedent(f"""\ - [Subset {j} of Dataset {i}] - image_dir: "{subset.image_dir}" - image_count: {subset.img_count} - num_repeats: {subset.num_repeats} - shuffle_caption: {subset.shuffle_caption} - keep_tokens: {subset.keep_tokens} - caption_dropout_rate: {subset.caption_dropout_rate} - caption_dropout_every_n_epoches: {subset.caption_dropout_every_n_epochs} - caption_tag_dropout_rate: {subset.caption_tag_dropout_rate} - caption_prefix: {subset.caption_prefix} - caption_suffix: {subset.caption_suffix} - color_aug: {subset.color_aug} - flip_aug: {subset.flip_aug} - face_crop_aug_range: {subset.face_crop_aug_range} - random_crop: {subset.random_crop} - token_warmup_min: {subset.token_warmup_min}, - token_warmup_step: {subset.token_warmup_step}, - """), " ") - - if is_dreambooth: + subset_klass = FineTuningSubset + dataset_klass = FineTuningDataset + + subsets = [subset_klass(**asdict(subset_blueprint.params)) for subset_blueprint in dataset_blueprint.subsets] + dataset = dataset_klass(subsets=subsets, is_train=False, **asdict(dataset_blueprint.params)) + val_datasets.append(dataset) + + # print info + def print_info(_datasets): + info = "" + for i, dataset in enumerate(_datasets): + is_dreambooth = isinstance(dataset, DreamBoothDataset) + is_controlnet = isinstance(dataset, ControlNetDataset) + info += dedent(f"""\ + [Dataset {i}] + batch_size: {dataset.batch_size} + resolution: {(dataset.width, dataset.height)} + enable_bucket: {dataset.enable_bucket} + """) + + if dataset.enable_bucket: info += indent(dedent(f"""\ - is_reg: {subset.is_reg} - class_tokens: {subset.class_tokens} - caption_extension: {subset.caption_extension} - \n"""), " ") - elif not is_controlnet: + min_bucket_reso: {dataset.min_bucket_reso} + max_bucket_reso: {dataset.max_bucket_reso} + bucket_reso_steps: {dataset.bucket_reso_steps} + bucket_no_upscale: {dataset.bucket_no_upscale} + \n"""), " ") + else: + info += "\n" + + for j, subset in enumerate(dataset.subsets): info += indent(dedent(f"""\ - metadata_file: {subset.metadata_file} - \n"""), " ") - - print(info) + [Subset {j} of Dataset {i}] + image_dir: "{subset.image_dir}" + image_count: {subset.img_count} + num_repeats: {subset.num_repeats} + shuffle_caption: {subset.shuffle_caption} + keep_tokens: {subset.keep_tokens} + caption_dropout_rate: {subset.caption_dropout_rate} + caption_dropout_every_n_epoches: {subset.caption_dropout_every_n_epochs} + caption_tag_dropout_rate: {subset.caption_tag_dropout_rate} + caption_prefix: {subset.caption_prefix} + caption_suffix: {subset.caption_suffix} + color_aug: {subset.color_aug} + flip_aug: {subset.flip_aug} + face_crop_aug_range: {subset.face_crop_aug_range} + random_crop: {subset.random_crop} + token_warmup_min: {subset.token_warmup_min}, + token_warmup_step: {subset.token_warmup_step}, + """), " ") + + if is_dreambooth: + info += indent(dedent(f"""\ + is_reg: {subset.is_reg} + class_tokens: {subset.class_tokens} + caption_extension: {subset.caption_extension} + \n"""), " ") + elif not is_controlnet: + info += indent(dedent(f"""\ + metadata_file: {subset.metadata_file} + \n"""), " ") + + print(info) + + print_info(datasets) + + if len(val_datasets) > 0: + print("Validation dataset") + print_info(val_datasets) # make buckets first because it determines the length of dataset # and set the same seed for all datasets @@ -494,7 +523,15 @@ def generate_dataset_group_by_blueprint(dataset_group_blueprint: DatasetGroupBlu dataset.make_buckets() dataset.set_seed(seed) - return DatasetGroup(datasets) + for i, dataset in enumerate(val_datasets): + print(f"[Validation Dataset {i}]") + dataset.make_buckets() + dataset.set_seed(seed) + + return ( + DatasetGroup(datasets), + DatasetGroup(val_datasets) if val_datasets else None + ) def generate_dreambooth_subsets_config_by_subdirs(train_data_dir: Optional[str] = None, reg_data_dir: Optional[str] = None): diff --git a/library/train_util.py b/library/train_util.py index e26f39799..ba37ec13d 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -123,6 +123,22 @@ TEXT_ENCODER_OUTPUTS_CACHE_SUFFIX = "_te_outputs.npz" +def split_train_val(paths, is_train, validation_split, validation_seed): + if validation_seed is not None: + print(f"Using validation seed: {validation_seed}") + prevstate = random.getstate() + random.seed(validation_seed) + random.shuffle(paths) + random.setstate(prevstate) + else: + random.shuffle(paths) + + if is_train: + return paths[0:math.ceil(len(paths) * (1 - validation_split))] + else: + return paths[len(paths) - round(len(paths) * validation_split):] + + class ImageInfo: def __init__(self, image_key: str, num_repeats: int, caption: str, is_reg: bool, absolute_path: str) -> None: self.image_key: str = image_key @@ -1314,6 +1330,7 @@ class DreamBoothDataset(BaseDataset): def __init__( self, subsets: Sequence[DreamBoothSubset], + is_train: bool, batch_size: int, tokenizer, max_token_length, @@ -1324,12 +1341,18 @@ def __init__( bucket_reso_steps: int, bucket_no_upscale: bool, prior_loss_weight: float, + validation_split: float, + validation_seed: Optional[int], debug_dataset, ) -> None: super().__init__(tokenizer, max_token_length, resolution, debug_dataset) assert resolution is not None, f"resolution is required / resolution(解像度)指定は必須です" + self.is_train = is_train + self.validation_split = validation_split + self.validation_seed = validation_seed + self.batch_size = batch_size self.size = min(self.width, self.height) # 短いほう self.prior_loss_weight = prior_loss_weight @@ -1382,6 +1405,9 @@ def load_dreambooth_dir(subset: DreamBoothSubset): return [], [] img_paths = glob_images(subset.image_dir, "*") + + if self.validation_split > 0.0: + img_paths = split_train_val(img_paths, self.is_train, self.validation_split, self.validation_seed) print(f"found directory {subset.image_dir} contains {len(img_paths)} image files") # 画像ファイルごとにプロンプトを読み込み、もしあればそちらを使う diff --git a/train_network.py b/train_network.py index 967c95fb4..97ecfe7be 100644 --- a/train_network.py +++ b/train_network.py @@ -189,10 +189,11 @@ def train(self, args): } blueprint = blueprint_generator.generate(user_config, args, tokenizer=tokenizer) - train_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) + train_dataset_group, val_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) else: # use arbitrary dataset class train_dataset_group = train_util.load_arbitrary_dataset(args, tokenizer) + val_dataset_group = None # placeholder until validation dataset supported for arbitrary current_epoch = Value("i", 0) current_step = Value("i", 0) @@ -212,6 +213,10 @@ def train(self, args): assert ( train_dataset_group.is_latent_cacheable() ), "when caching latents, either color_aug or random_crop cannot be used / latentをキャッシュするときはcolor_augとrandom_cropは使えません" + if val_dataset_group is not None: + assert ( + val_dataset_group.is_latent_cacheable() + ), "when caching validation latents, either color_aug or random_crop cannot be used / latentをキャッシュするときはcolor_augとrandom_cropは使えません" self.assert_extra_args(args, train_dataset_group) @@ -264,6 +269,9 @@ def train(self, args): vae.eval() with torch.no_grad(): train_dataset_group.cache_latents(vae, args.vae_batch_size, args.cache_latents_to_disk, accelerator.is_main_process) + if val_dataset_group is not None: + print("Cache validation latents...") + val_dataset_group.cache_latents(vae, args.vae_batch_size, args.cache_latents_to_disk, accelerator.is_main_process) vae.to("cpu") if torch.cuda.is_available(): torch.cuda.empty_cache() @@ -345,61 +353,8 @@ def train(self, args): # DataLoaderのプロセス数:0はメインプロセスになる n_workers = min(args.max_data_loader_n_workers, os.cpu_count() - 1) # cpu_count-1 ただし最大で指定された数まで - def get_indices_without_reg(dataset: torch.utils.data.Dataset): - return [id for id, (key, item) in enumerate(dataset.image_data.items()) if item.is_reg is False] - - from typing import Sequence, Union - from torch._utils import _accumulate - import warnings - from torch.utils.data.dataset import Subset - - def random_split(dataset: torch.utils.data.Dataset, lengths: Sequence[Union[int, float]]): - indices = get_indices_without_reg(dataset) - random.shuffle(indices) - - subset_lengths = [] - - for i, frac in enumerate(lengths): - if frac < 0 or frac > 1: - raise ValueError(f"Fraction at index {i} is not between 0 and 1") - n_items_in_split = int(math.floor(len(indices) * frac)) - subset_lengths.append(n_items_in_split) - - remainder = len(indices) - sum(subset_lengths) - - for i in range(remainder): - idx_to_add_at = i % len(subset_lengths) - subset_lengths[idx_to_add_at] += 1 - - lengths = subset_lengths - for i, length in enumerate(lengths): - if length == 0: - warnings.warn(f"Length of split at index {i} is 0. " - f"This might result in an empty dataset.") - - if sum(lengths) != len(indices): - raise ValueError("Sum of input lengths does not equal the length of the input dataset!") - - return [Subset(dataset, indices[offset - length: offset]) for offset, length in zip(_accumulate(lengths), lengths)] - - - if args.validation_ratio > 0.0: - train_ratio = 1 - args.validation_ratio - validation_ratio = args.validation_ratio - train, val = random_split( - train_dataset_group, - [train_ratio, validation_ratio] - ) - print(f"split dataset by ratio: train {train_ratio}, validation {validation_ratio}") - print(f"train images: {len(train)}, validation images: {len(val)}") - else: - train = train_dataset_group - val = [] - - - train_dataloader = torch.utils.data.DataLoader( - train, + train_dataset_group, batch_size=1, shuffle=True, collate_fn=collator, @@ -408,7 +363,7 @@ def random_split(dataset: torch.utils.data.Dataset, lengths: Sequence[Union[int, ) val_dataloader = torch.utils.data.DataLoader( - val, + val_dataset_group if val_dataset_group is not None else [], shuffle=False, batch_size=1, collate_fn=collator, From a93c524b3a0e5c80a58c1317211dec93b6c137a7 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Sun, 5 Nov 2023 02:07:39 -0500 Subject: [PATCH 004/748] Update args to validation_seed and validation_split --- train_network.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/train_network.py b/train_network.py index 97ecfe7be..f9e5debdb 100644 --- a/train_network.py +++ b/train_network.py @@ -1099,12 +1099,17 @@ def setup_parser() -> argparse.ArgumentParser: action="store_true", help="do not use fp16/bf16 VAE in mixed precision (use float VAE) / mixed precisionでも fp16/bf16 VAEを使わずfloat VAEを使う", ) - parser.add_argument( - "--validation_ratio", + "--validation_seed", + type=int, + default=None, + help="Validation seed" + ) + parser.add_argument( + "--validation_split", type=float, default=0.0, - help="Ratio for validation images out of the training dataset" + help="Split for validation images out of the training dataset" ) return parser From c89252101e8e8bd74cb3ab09ae33b548fd828e15 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Sun, 5 Nov 2023 16:27:36 -0500 Subject: [PATCH 005/748] Add process_batch for train_network --- train_network.py | 211 ++++++++++++++++++----------------------------- 1 file changed, 82 insertions(+), 129 deletions(-) diff --git a/train_network.py b/train_network.py index f9e5debdb..387b94b1c 100644 --- a/train_network.py +++ b/train_network.py @@ -130,6 +130,75 @@ def call_unet(self, args, accelerator, unet, noisy_latents, timesteps, text_cond def sample_images(self, accelerator, args, epoch, global_step, device, vae, tokenizer, text_encoder, unet): train_util.sample_images(accelerator, args, epoch, global_step, device, vae, tokenizer, text_encoder, unet) + def process_batch(self, batch, is_train, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args, train_text_encoder=True): + with torch.no_grad(): + if "latents" in batch and batch["latents"] is not None: + latents = batch["latents"].to(accelerator.device) + else: + # latentに変換 + latents = vae.encode(batch["images"].to(accelerator.device, dtype=vae_dtype)).latent_dist.sample() + + # NaNが含まれていれば警告を表示し0に置き換える + if torch.any(torch.isnan(latents)): + accelerator.print("NaN found in latents, replacing with zeros") + latents = torch.where(torch.isnan(latents), torch.zeros_like(latents), latents) + latents = latents * self.vae_scale_factor + b_size = latents.shape[0] + + with torch.set_grad_enabled(train_text_encoder), accelerator.autocast(): + # Get the text embedding for conditioning + if args.weighted_captions: + text_encoder_conds = get_weighted_text_embeddings( + tokenizers[0], + text_encoders[0], + batch["captions"], + accelerator.device, + args.max_token_length // 75 if args.max_token_length else 1, + clip_skip=args.clip_skip, + ) + else: + text_encoder_conds = self.get_text_cond( + args, accelerator, batch, tokenizers, text_encoders, weight_dtype + ) + + # Sample noise, sample a random timestep for each image, and add noise to the latents, + # with noise offset and/or multires noise if specified + noise, noisy_latents, timesteps = train_util.get_noise_noisy_latents_and_timesteps( + args, noise_scheduler, latents + ) + + # Predict the noise residual + with torch.set_grad_enabled(is_train), accelerator.autocast(): + noise_pred = self.call_unet( + args, accelerator, unet, noisy_latents, timesteps, text_encoder_conds, batch, weight_dtype + ) + + if args.v_parameterization: + # v-parameterization training + target = noise_scheduler.get_velocity(latents, noise, timesteps) + else: + target = noise + + loss = torch.nn.functional.mse_loss(noise_pred.float(), target.float(), reduction="none") + loss = loss.mean([1, 2, 3]) + + loss_weights = batch["loss_weights"].to(accelerator.device) # 各sampleごとのweight + loss = loss * loss_weights + + if args.min_snr_gamma: + loss = apply_snr_weight(loss, timesteps, noise_scheduler, args.min_snr_gamma) + if args.scale_v_pred_loss_like_noise_pred: + loss = scale_v_prediction_loss_like_noise_prediction(loss, timesteps, noise_scheduler) + if args.v_pred_like_loss: + loss = add_v_prediction_like_loss(loss, timesteps, noise_scheduler, args.v_pred_like_loss) + if args.debiased_estimation_loss: + loss = apply_debiased_estimation(loss, timesteps, noise_scheduler) + + loss = loss.mean() # 平均なのでbatch_sizeで割る必要なし + + return loss + + def train(self, args): session_id = random.randint(0, 2**32) training_started_at = time.time() @@ -777,71 +846,8 @@ def remove_model(old_ckpt_name): current_step.value = global_step with accelerator.accumulate(network): on_step_start(text_encoder, unet) - - with torch.no_grad(): - if "latents" in batch and batch["latents"] is not None: - latents = batch["latents"].to(accelerator.device) - else: - # latentに変換 - latents = vae.encode(batch["images"].to(dtype=vae_dtype)).latent_dist.sample() - - # NaNが含まれていれば警告を表示し0に置き換える - if torch.any(torch.isnan(latents)): - accelerator.print("NaN found in latents, replacing with zeros") - latents = torch.where(torch.isnan(latents), torch.zeros_like(latents), latents) - latents = latents * self.vae_scale_factor - b_size = latents.shape[0] - - with torch.set_grad_enabled(train_text_encoder), accelerator.autocast(): - # Get the text embedding for conditioning - if args.weighted_captions: - text_encoder_conds = get_weighted_text_embeddings( - tokenizer, - text_encoder, - batch["captions"], - accelerator.device, - args.max_token_length // 75 if args.max_token_length else 1, - clip_skip=args.clip_skip, - ) - else: - text_encoder_conds = self.get_text_cond( - args, accelerator, batch, tokenizers, text_encoders, weight_dtype - ) - - # Sample noise, sample a random timestep for each image, and add noise to the latents, - # with noise offset and/or multires noise if specified - noise, noisy_latents, timesteps = train_util.get_noise_noisy_latents_and_timesteps( - args, noise_scheduler, latents - ) - - # Predict the noise residual - with accelerator.autocast(): - noise_pred = self.call_unet( - args, accelerator, unet, noisy_latents, timesteps, text_encoder_conds, batch, weight_dtype - ) - - if args.v_parameterization: - # v-parameterization training - target = noise_scheduler.get_velocity(latents, noise, timesteps) - else: - target = noise - - loss = torch.nn.functional.mse_loss(noise_pred.float(), target.float(), reduction="none") - loss = loss.mean([1, 2, 3]) - - loss_weights = batch["loss_weights"] # 各sampleごとのweight - loss = loss * loss_weights - - if args.min_snr_gamma: - loss = apply_snr_weight(loss, timesteps, noise_scheduler, args.min_snr_gamma) - if args.scale_v_pred_loss_like_noise_pred: - loss = scale_v_prediction_loss_like_noise_prediction(loss, timesteps, noise_scheduler) - if args.v_pred_like_loss: - loss = add_v_prediction_like_loss(loss, timesteps, noise_scheduler, args.v_pred_like_loss) - if args.debiased_estimation_loss: - loss = apply_debiased_estimation(loss, timesteps, noise_scheduler) - - loss = loss.mean() # 平均なのでbatch_sizeで割る必要なし + is_train = True + loss = self.process_batch(batch, is_train, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args, train_text_encoder=train_text_encoder) accelerator.backward(loss) if accelerator.sync_gradients and args.max_grad_norm != 0.0: @@ -893,7 +899,7 @@ def remove_model(old_ckpt_name): if args.logging_dir is not None: logs = self.generate_step_logs(args, current_loss, avr_loss, lr_scheduler, keys_scaled, mean_norm, maximum_norm) - accelerator.log(logs) + accelerator.log(logs, step=global_step) if global_step >= args.max_train_steps: break @@ -905,80 +911,27 @@ def remove_model(old_ckpt_name): with torch.no_grad(): for val_step, batch in enumerate(val_dataloader): - if "latents" in batch and batch["latents"] is not None: - latents = batch["latents"].to(accelerator.device) - else: - # latentに変換 - latents = vae.encode(batch["images"].to(device=accelerator.device, dtype=vae_dtype)).latent_dist.sample() - - # NaNが含まれていれば警告を表示し0に置き換える - if torch.any(torch.isnan(latents)): - accelerator.print("NaN found in latents, replacing with zeros") - latents = torch.where(torch.isnan(latents), torch.zeros_like(latents), latents) - latents = latents * self.vae_scale_factor - b_size = latents.shape[0] - - # Get the text embedding for conditioning - if args.weighted_captions: - text_encoder_conds = get_weighted_text_embeddings( - tokenizer, - text_encoder, - batch["captions"], - accelerator.device, - args.max_token_length // 75 if args.max_token_length else 1, - clip_skip=args.clip_skip, - ) - else: - text_encoder_conds = self.get_text_cond( - args, accelerator, batch, tokenizers, text_encoders, weight_dtype - ) - - # Sample noise, sample a random timestep for each image, and add noise to the latents, - # with noise offset and/or multires noise if specified - noise, noisy_latents, timesteps = train_util.get_noise_noisy_latents_and_timesteps( - args, noise_scheduler, latents - ) - - # Predict the noise residual - with accelerator.autocast(): - noise_pred = self.call_unet( - args, accelerator, unet, noisy_latents, timesteps, text_encoder_conds, batch, weight_dtype - ) - - if args.v_parameterization: - # v-parameterization training - target = noise_scheduler.get_velocity(latents, noise, timesteps) - else: - target = noise - - loss = torch.nn.functional.mse_loss(noise_pred.float(), target.float(), reduction="none") - loss = loss.mean([1, 2, 3]) - - loss_weights = batch["loss_weights"].to(accelerator.device) # 各sampleごとのweight - - loss = loss * loss_weights - - if args.min_snr_gamma: - loss = apply_snr_weight(loss, timesteps, noise_scheduler, args.min_snr_gamma) - if args.scale_v_pred_loss_like_noise_pred: - loss = scale_v_prediction_loss_like_noise_prediction(loss, timesteps, noise_scheduler) - if args.v_pred_like_loss: - loss = add_v_prediction_like_loss(loss, timesteps, noise_scheduler, args.v_pred_like_loss) - - loss = loss.mean() # 平均なのでbatch_sizeで割る必要なし + is_train = False + loss = self.process_batch(batch, is_train, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args) current_loss = loss.detach().item() val_loss_recorder.add(epoch=epoch, step=val_step, loss=current_loss) + if args.logging_dir is not None: + avr_loss: float = val_loss_recorder.moving_average + logs = {"loss/validation_current": current_loss} + accelerator.log(logs, step=(len(val_dataloader) * epoch) + 1 + val_step) + if len(val_dataloader) > 0: if args.logging_dir is not None: avr_loss: float = val_loss_recorder.moving_average - logs = {"loss/validation": avr_loss} + logs = {"loss/validation_average": avr_loss} accelerator.log(logs, step=epoch + 1) if args.logging_dir is not None: - logs = {"loss/epoch": loss_recorder.moving_average} + # logs = {"loss/epoch": loss_recorder.moving_average} + logs = {"loss/epoch_average": loss_recorder.moving_average} accelerator.log(logs, step=epoch + 1) accelerator.wait_for_everyone() From e545fdfd9affabff83f8bd2e7680369bb34dd301 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Sun, 5 Nov 2023 16:56:36 -0500 Subject: [PATCH 006/748] Removed/cleanup a line --- train_network.py | 1 - 1 file changed, 1 deletion(-) diff --git a/train_network.py b/train_network.py index 387b94b1c..a4125e9f2 100644 --- a/train_network.py +++ b/train_network.py @@ -930,7 +930,6 @@ def remove_model(old_ckpt_name): if args.logging_dir is not None: - # logs = {"loss/epoch": loss_recorder.moving_average} logs = {"loss/epoch_average": loss_recorder.moving_average} accelerator.log(logs, step=epoch + 1) From 9c591bdb12ce663b3fe9e91c0963d2cf71461bad Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Sun, 5 Nov 2023 16:58:20 -0500 Subject: [PATCH 007/748] Remove unnecessary subset line from collate --- library/train_util.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index ba37ec13d..1979207b0 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -4762,10 +4762,6 @@ def __call__(self, examples): else: dataset = self.dataset - # If we split a dataset we will get a Subset - if type(dataset) is torch.utils.data.Subset: - dataset = dataset.dataset - # set epoch and step dataset.set_current_epoch(self.current_epoch.value) dataset.set_current_step(self.current_step.value) From 569ca72fc4cda2f4ce30e43b1c62989e79e3c3b3 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Tue, 7 Nov 2023 11:59:30 -0500 Subject: [PATCH 008/748] Set grad enabled if is_train and train_text_encoder We only want to be enabling grad if we are training. --- train_network.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/train_network.py b/train_network.py index a4125e9f2..edd3ff944 100644 --- a/train_network.py +++ b/train_network.py @@ -145,7 +145,7 @@ def process_batch(self, batch, is_train, tokenizers, text_encoders, unet, vae, n latents = latents * self.vae_scale_factor b_size = latents.shape[0] - with torch.set_grad_enabled(train_text_encoder), accelerator.autocast(): + with torch.set_grad_enabled(is_train and train_text_encoder), accelerator.autocast(): # Get the text embedding for conditioning if args.weighted_captions: text_encoder_conds = get_weighted_text_embeddings( From b558a5b73d07a7e15ad90d9d15c2b55c5d2b3d61 Mon Sep 17 00:00:00 2001 From: gesen2egee <79357052+gesen2egee@users.noreply.github.com> Date: Sun, 10 Mar 2024 04:37:16 +0800 Subject: [PATCH 009/748] val --- library/config_util.py | 176 ++++++++++++++++++++++------------------- library/train_util.py | 22 ++++++ train_network.py | 135 ++++++++++++++++++++++++++++--- 3 files changed, 241 insertions(+), 92 deletions(-) diff --git a/library/config_util.py b/library/config_util.py index fc4b36175..17fc17818 100644 --- a/library/config_util.py +++ b/library/config_util.py @@ -98,7 +98,8 @@ class BaseDatasetParams: resolution: Optional[Tuple[int, int]] = None network_multiplier: float = 1.0 debug_dataset: bool = False - + validation_seed: Optional[int] = None + validation_split: float = 0.0 @dataclass class DreamBoothDatasetParams(BaseDatasetParams): @@ -109,8 +110,7 @@ class DreamBoothDatasetParams(BaseDatasetParams): bucket_reso_steps: int = 64 bucket_no_upscale: bool = False prior_loss_weight: float = 1.0 - - + @dataclass class FineTuningDatasetParams(BaseDatasetParams): batch_size: int = 1 @@ -222,8 +222,11 @@ def __validate_and_convert_scalar_or_twodim(klass, value: Union[float, Sequence] "enable_bucket": bool, "max_bucket_reso": int, "min_bucket_reso": int, + "validation_seed": int, + "validation_split": float, "resolution": functools.partial(__validate_and_convert_scalar_or_twodim.__func__, int), "network_multiplier": float, + } # options handled by argparse but not handled by user config @@ -460,100 +463,107 @@ def generate_dataset_group_by_blueprint(dataset_group_blueprint: DatasetGroupBlu dataset_klass = FineTuningDataset subsets = [subset_klass(**asdict(subset_blueprint.params)) for subset_blueprint in dataset_blueprint.subsets] - dataset = dataset_klass(subsets=subsets, **asdict(dataset_blueprint.params)) + dataset = dataset_klass(subsets=subsets, is_train=True, **asdict(dataset_blueprint.params)) datasets.append(dataset) - # print info - info = "" - for i, dataset in enumerate(datasets): - is_dreambooth = isinstance(dataset, DreamBoothDataset) - is_controlnet = isinstance(dataset, ControlNetDataset) - info += dedent( - f"""\ - [Dataset {i}] - batch_size: {dataset.batch_size} - resolution: {(dataset.width, dataset.height)} - enable_bucket: {dataset.enable_bucket} - network_multiplier: {dataset.network_multiplier} - """ - ) + val_datasets:List[Union[DreamBoothDataset, FineTuningDataset, ControlNetDataset]] = [] + + for dataset_blueprint in dataset_group_blueprint.datasets: + if dataset_blueprint.params.validation_split <= 0.0: + continue + if dataset_blueprint.is_controlnet: + subset_klass = ControlNetSubset + dataset_klass = ControlNetDataset + elif dataset_blueprint.is_dreambooth: + subset_klass = DreamBoothSubset + dataset_klass = DreamBoothDataset + else: + subset_klass = FineTuningSubset + dataset_klass = FineTuningDataset + + subsets = [subset_klass(**asdict(subset_blueprint.params)) for subset_blueprint in dataset_blueprint.subsets] + dataset = dataset_klass(subsets=subsets, is_train=False, **asdict(dataset_blueprint.params)) + val_datasets.append(dataset) + + def print_info(_datasets): + info = "" + for i, dataset in enumerate(_datasets): + is_dreambooth = isinstance(dataset, DreamBoothDataset) + is_controlnet = isinstance(dataset, ControlNetDataset) + info += dedent(f"""\ + [Dataset {i}] + batch_size: {dataset.batch_size} + resolution: {(dataset.width, dataset.height)} + enable_bucket: {dataset.enable_bucket} + """) if dataset.enable_bucket: - info += indent( - dedent( - f"""\ - min_bucket_reso: {dataset.min_bucket_reso} - max_bucket_reso: {dataset.max_bucket_reso} - bucket_reso_steps: {dataset.bucket_reso_steps} - bucket_no_upscale: {dataset.bucket_no_upscale} - \n""" - ), - " ", - ) + info += indent(dedent(f"""\ + min_bucket_reso: {dataset.min_bucket_reso} + max_bucket_reso: {dataset.max_bucket_reso} + bucket_reso_steps: {dataset.bucket_reso_steps} + bucket_no_upscale: {dataset.bucket_no_upscale} + \n"""), " ") else: info += "\n" - for j, subset in enumerate(dataset.subsets): - info += indent( - dedent( - f"""\ - [Subset {j} of Dataset {i}] - image_dir: "{subset.image_dir}" - image_count: {subset.img_count} - num_repeats: {subset.num_repeats} - shuffle_caption: {subset.shuffle_caption} - keep_tokens: {subset.keep_tokens} - keep_tokens_separator: {subset.keep_tokens_separator} - caption_dropout_rate: {subset.caption_dropout_rate} - caption_dropout_every_n_epoches: {subset.caption_dropout_every_n_epochs} - caption_tag_dropout_rate: {subset.caption_tag_dropout_rate} - caption_prefix: {subset.caption_prefix} - caption_suffix: {subset.caption_suffix} - color_aug: {subset.color_aug} - flip_aug: {subset.flip_aug} - face_crop_aug_range: {subset.face_crop_aug_range} - random_crop: {subset.random_crop} - token_warmup_min: {subset.token_warmup_min}, - token_warmup_step: {subset.token_warmup_step}, - """ - ), - " ", - ) - - if is_dreambooth: - info += indent( - dedent( - f"""\ - is_reg: {subset.is_reg} - class_tokens: {subset.class_tokens} - caption_extension: {subset.caption_extension} - \n""" - ), - " ", - ) - elif not is_controlnet: - info += indent( - dedent( - f"""\ - metadata_file: {subset.metadata_file} - \n""" - ), - " ", - ) - - logger.info(f'{info}') - + info += indent(dedent(f"""\ + [Subset {j} of Dataset {i}] + image_dir: "{subset.image_dir}" + image_count: {subset.img_count} + num_repeats: {subset.num_repeats} + shuffle_caption: {subset.shuffle_caption} + keep_tokens: {subset.keep_tokens} + caption_dropout_rate: {subset.caption_dropout_rate} + caption_dropout_every_n_epoches: {subset.caption_dropout_every_n_epochs} + caption_tag_dropout_rate: {subset.caption_tag_dropout_rate} + caption_prefix: {subset.caption_prefix} + caption_suffix: {subset.caption_suffix} + color_aug: {subset.color_aug} + flip_aug: {subset.flip_aug} + face_crop_aug_range: {subset.face_crop_aug_range} + random_crop: {subset.random_crop} + token_warmup_min: {subset.token_warmup_min}, + token_warmup_step: {subset.token_warmup_step}, + """), " ") + + if is_dreambooth: + info += indent(dedent(f"""\ + is_reg: {subset.is_reg} + class_tokens: {subset.class_tokens} + caption_extension: {subset.caption_extension} + \n"""), " ") + elif not is_controlnet: + info += indent(dedent(f"""\ + metadata_file: {subset.metadata_file} + \n"""), " ") + + print(info) + + print_info(datasets) + + if len(val_datasets) > 0: + print("Validation dataset") + print_info(val_datasets) + # make buckets first because it determines the length of dataset # and set the same seed for all datasets seed = random.randint(0, 2**31) # actual seed is seed + epoch_no for i, dataset in enumerate(datasets): - logger.info(f"[Dataset {i}]") + print(f"[Dataset {i}]") + dataset.make_buckets() + dataset.set_seed(seed) + + for i, dataset in enumerate(val_datasets): + print(f"[Validation Dataset {i}]") dataset.make_buckets() dataset.set_seed(seed) - return DatasetGroup(datasets) - - + return ( + DatasetGroup(datasets), + DatasetGroup(val_datasets) if val_datasets else None + ) + def generate_dreambooth_subsets_config_by_subdirs(train_data_dir: Optional[str] = None, reg_data_dir: Optional[str] = None): def extract_dreambooth_params(name: str) -> Tuple[int, str]: tokens = name.split("_") diff --git a/library/train_util.py b/library/train_util.py index d2b69edb5..753539e04 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -134,6 +134,20 @@ TEXT_ENCODER_OUTPUTS_CACHE_SUFFIX = "_te_outputs.npz" +def split_train_val(paths, is_train, validation_split, validation_seed): + if validation_seed is not None: + print(f"Using validation seed: {validation_seed}") + prevstate = random.getstate() + random.seed(validation_seed) + random.shuffle(paths) + random.setstate(prevstate) + else: + random.shuffle(paths) + + if is_train: + return paths[0:math.ceil(len(paths) * (1 - validation_split))] + else: + return paths[len(paths) - round(len(paths) * validation_split):] class ImageInfo: def __init__(self, image_key: str, num_repeats: int, caption: str, is_reg: bool, absolute_path: str) -> None: @@ -1360,6 +1374,7 @@ class DreamBoothDataset(BaseDataset): def __init__( self, subsets: Sequence[DreamBoothSubset], + is_train: bool, batch_size: int, tokenizer, max_token_length, @@ -1371,12 +1386,17 @@ def __init__( bucket_reso_steps: int, bucket_no_upscale: bool, prior_loss_weight: float, + validation_split: float, + validation_seed: Optional[int], debug_dataset: bool, ) -> None: super().__init__(tokenizer, max_token_length, resolution, network_multiplier, debug_dataset) assert resolution is not None, f"resolution is required / resolution(解像度)指定は必須です" + self.is_train = is_train + self.validation_split = validation_split + self.validation_seed = validation_seed self.batch_size = batch_size self.size = min(self.width, self.height) # 短いほう self.prior_loss_weight = prior_loss_weight @@ -1429,6 +1449,8 @@ def load_dreambooth_dir(subset: DreamBoothSubset): return [], [] img_paths = glob_images(subset.image_dir, "*") + if self.validation_split > 0.0: + img_paths = split_train_val(img_paths, self.is_train, self.validation_split, self.validation_seed) logger.info(f"found directory {subset.image_dir} contains {len(img_paths)} image files") # 画像ファイルごとにプロンプトを読み込み、もしあればそちらを使う diff --git a/train_network.py b/train_network.py index e0fa69458..db7000e82 100644 --- a/train_network.py +++ b/train_network.py @@ -136,6 +136,67 @@ def all_reduce_network(self, accelerator, network): def sample_images(self, accelerator, args, epoch, global_step, device, vae, tokenizer, text_encoder, unet): train_util.sample_images(accelerator, args, epoch, global_step, device, vae, tokenizer, text_encoder, unet) + def process_val_batch(self, batch, is_train, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args, train_text_encoder=True): + + total_loss = 0.0 + timesteps_list = [10, 350, 500, 650, 990] + + with torch.no_grad(): + if "latents" in batch and batch["latents"] is not None: + latents = batch["latents"].to(accelerator.device) + else: + # latentに変換 + latents = vae.encode(batch["images"].to(accelerator.device, dtype=vae_dtype)).latent_dist.sample() + + # NaNが含まれていれば警告を表示し0に置き換える + if torch.any(torch.isnan(latents)): + accelerator.print("NaN found in latents, replacing with zeros") + latents = torch.where(torch.isnan(latents), torch.zeros_like(latents), latents) + latents = latents * self.vae_scale_factor + b_size = latents.shape[0] + + with torch.set_grad_enabled(is_train and train_text_encoder), accelerator.autocast(): + # Get the text embedding for conditioning + if args.weighted_captions: + text_encoder_conds = get_weighted_text_embeddings( + tokenizers[0], + text_encoders[0], + batch["captions"], + accelerator.device, + args.max_token_length // 75 if args.max_token_length else 1, + clip_skip=args.clip_skip, + ) + else: + text_encoder_conds = self.get_text_cond( + args, accelerator, batch, tokenizers, text_encoders, weight_dtype + ) + + # Sample noise, sample a random timestep for each image, and add noise to the latents, + # with noise offset and/or multires noise if specified + noise, noisy_latents, _ = train_util.get_noise_noisy_latents_and_timesteps( + args, noise_scheduler, latents + ) + for timesteps in timesteps_list: + # Predict the noise residual + with torch.set_grad_enabled(is_train), accelerator.autocast(): + noise_pred = self.call_unet( + args, accelerator, unet, noisy_latents, timesteps, text_encoder_conds, batch, weight_dtype + ) + + if args.v_parameterization: + # v-parameterization training + target = noise_scheduler.get_velocity(latents, noise, timesteps) + else: + target = noise + + loss = torch.nn.functional.mse_loss(noise_pred.float(), target.float(), reduction="none") + loss = loss.mean([1, 2, 3]) + loss = loss.mean() # 平均なのでbatch_sizeで割る必要なし + total_loss += loss + + average_loss = total_loss / len(timesteps_list) + return average_loss + def train(self, args): session_id = random.randint(0, 2**32) training_started_at = time.time() @@ -196,11 +257,12 @@ def train(self, args): } blueprint = blueprint_generator.generate(user_config, args, tokenizer=tokenizer) - train_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) + train_dataset_group, val_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) else: # use arbitrary dataset class train_dataset_group = train_util.load_arbitrary_dataset(args, tokenizer) - + val_dataset_group = None # placeholder until validation dataset supported for arbitrary + current_epoch = Value("i", 0) current_step = Value("i", 0) ds_for_collator = train_dataset_group if args.max_data_loader_n_workers == 0 else None @@ -219,7 +281,11 @@ def train(self, args): assert ( train_dataset_group.is_latent_cacheable() ), "when caching latents, either color_aug or random_crop cannot be used / latentをキャッシュするときはcolor_augとrandom_cropは使えません" - + if val_dataset_group is not None: + assert ( + val_dataset_group.is_latent_cacheable() + ), "when caching validation latents, either color_aug or random_crop cannot be used / latentをキャッシュするときはcolor_augとrandom_cropは使えません" + self.assert_extra_args(args, train_dataset_group) # acceleratorを準備する @@ -271,6 +337,9 @@ def train(self, args): vae.eval() with torch.no_grad(): train_dataset_group.cache_latents(vae, args.vae_batch_size, args.cache_latents_to_disk, accelerator.is_main_process) + if val_dataset_group is not None: + print("Cache validation latents...") + val_dataset_group.cache_latents(vae, args.vae_batch_size, args.cache_latents_to_disk, accelerator.is_main_process) vae.to("cpu") clean_memory_on_device(accelerator.device) @@ -360,6 +429,15 @@ def train(self, args): num_workers=n_workers, persistent_workers=args.persistent_data_loader_workers, ) + + val_dataloader = torch.utils.data.DataLoader( + val_dataset_group if val_dataset_group is not None else [], + shuffle=False, + batch_size=1, + collate_fn=collator, + num_workers=n_workers, + persistent_workers=args.persistent_data_loader_workers, + ) # 学習ステップ数を計算する if args.max_train_epochs is not None: @@ -707,6 +785,8 @@ def train(self, args): ) loss_recorder = train_util.LossRecorder() + val_loss_recorder = train_util.LossRecorder() + del train_dataset_group # callback for step start @@ -755,7 +835,8 @@ def remove_model(old_ckpt_name): current_step.value = global_step with accelerator.accumulate(network): on_step_start(text_encoder, unet) - + + is_train = True with torch.no_grad(): if "latents" in batch and batch["latents"] is not None: latents = batch["latents"].to(accelerator.device) @@ -780,7 +861,7 @@ def remove_model(old_ckpt_name): # print(f"set multiplier: {multipliers}") accelerator.unwrap_model(network).set_multiplier(multipliers) - with torch.set_grad_enabled(train_text_encoder), accelerator.autocast(): + with torch.set_grad_enabled(is_train and train_text_encoder), accelerator.autocast(): # Get the text embedding for conditioning if args.weighted_captions: text_encoder_conds = get_weighted_text_embeddings( @@ -810,7 +891,7 @@ def remove_model(old_ckpt_name): t.requires_grad_(True) # Predict the noise residual - with accelerator.autocast(): + with torch.set_grad_enabled(is_train), accelerator.autocast(): noise_pred = self.call_unet( args, accelerator, @@ -844,7 +925,7 @@ def remove_model(old_ckpt_name): loss = apply_debiased_estimation(loss, timesteps, noise_scheduler) loss = loss.mean() # 平均なのでbatch_sizeで割る必要なし - + accelerator.backward(loss) if accelerator.sync_gradients: self.all_reduce_network(accelerator, network) # sync DDP grad manually @@ -898,14 +979,38 @@ def remove_model(old_ckpt_name): if args.logging_dir is not None: logs = self.generate_step_logs(args, current_loss, avr_loss, lr_scheduler, keys_scaled, mean_norm, maximum_norm) accelerator.log(logs, step=global_step) - + + if global_step % 25 == 0: + if len(val_dataloader) > 0: + print("Validating バリデーション処理...") + + with torch.no_grad(): + val_dataloader_iter = iter(val_dataloader) + batch = next(val_dataloader_iter) + is_train = False + loss = self.process_val_batch(batch, is_train, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args) + + current_loss = loss.detach().item() + val_loss_recorder.add(epoch=epoch, step=global_step, loss=current_loss) + + if args.logging_dir is not None: + avr_loss: float = val_loss_recorder.moving_average + logs = {"loss/validation_current": current_loss} + accelerator.log(logs, step=global_step) + if global_step >= args.max_train_steps: break if args.logging_dir is not None: - logs = {"loss/epoch": loss_recorder.moving_average} + logs = {"loss/epoch_average": loss_recorder.moving_average} accelerator.log(logs, step=epoch + 1) + if len(val_dataloader) > 0: + if args.logging_dir is not None: + avr_loss: float = val_loss_recorder.moving_average + logs = {"loss/validation_epoch_average": avr_loss} + accelerator.log(logs, step=epoch + 1) + accelerator.wait_for_everyone() # 指定エポックごとにモデルを保存 @@ -1045,6 +1150,18 @@ def setup_parser() -> argparse.ArgumentParser: action="store_true", help="do not use fp16/bf16 VAE in mixed precision (use float VAE) / mixed precisionでも fp16/bf16 VAEを使わずfloat VAEを使う", ) + parser.add_argument( + "--validation_seed", + type=int, + default=None, + help="Validation seed" + ) + parser.add_argument( + "--validation_split", + type=float, + default=0.0, + help="Split for validation images out of the training dataset" + ) return parser From 78cfb01922ff97bbc62ff12a4d69eaaa2d89d7c1 Mon Sep 17 00:00:00 2001 From: gesen2egee <79357052+gesen2egee@users.noreply.github.com> Date: Sun, 10 Mar 2024 18:55:48 +0800 Subject: [PATCH 010/748] improve --- library/config_util.py | 260 +++++++++++++++++++++++++++++------------ train_network.py | 67 +++++++---- 2 files changed, 234 insertions(+), 93 deletions(-) diff --git a/library/config_util.py b/library/config_util.py index 17fc17818..d198cee35 100644 --- a/library/config_util.py +++ b/library/config_util.py @@ -41,12 +41,17 @@ DatasetGroup, ) from .utils import setup_logging + setup_logging() import logging + logger = logging.getLogger(__name__) + def add_config_arguments(parser: argparse.ArgumentParser): - parser.add_argument("--dataset_config", type=Path, default=None, help="config file for detail settings / 詳細な設定用の設定ファイル") + parser.add_argument( + "--dataset_config", type=Path, default=None, help="config file for detail settings / 詳細な設定用の設定ファイル" + ) # TODO: inherit Params class in Subset, Dataset @@ -60,6 +65,8 @@ class BaseSubsetParams: caption_separator: str = (",",) keep_tokens: int = 0 keep_tokens_separator: str = (None,) + secondary_separator: Optional[str] = None + enable_wildcard: bool = False color_aug: bool = False flip_aug: bool = False face_crop_aug_range: Optional[Tuple[float, float]] = None @@ -181,6 +188,8 @@ def __validate_and_convert_scalar_or_twodim(klass, value: Union[float, Sequence] "shuffle_caption": bool, "keep_tokens": int, "keep_tokens_separator": str, + "secondary_separator": str, + "enable_wildcard": bool, "token_warmup_min": int, "token_warmup_step": Any(float, int), "caption_prefix": str, @@ -247,9 +256,10 @@ def __validate_and_convert_scalar_or_twodim(klass, value: Union[float, Sequence] } def __init__(self, support_dreambooth: bool, support_finetuning: bool, support_controlnet: bool, support_dropout: bool) -> None: - assert ( - support_dreambooth or support_finetuning or support_controlnet - ), "Neither DreamBooth mode nor fine tuning mode specified. Please specify one mode or more. / DreamBooth モードか fine tuning モードのどちらも指定されていません。1つ以上指定してください。" + assert support_dreambooth or support_finetuning or support_controlnet, ( + "Neither DreamBooth mode nor fine tuning mode nor controlnet mode specified. Please specify one mode or more." + + " / DreamBooth モードか fine tuning モードか controlnet モードのどれも指定されていません。1つ以上指定してください。" + ) self.db_subset_schema = self.__merge_dict( self.SUBSET_ASCENDABLE_SCHEMA, @@ -361,7 +371,9 @@ def sanitize_argparse_namespace(self, argparse_namespace: argparse.Namespace) -> return self.argparse_config_validator(argparse_namespace) except MultipleInvalid: # XXX: this should be a bug - logger.error("Invalid cmdline parsed arguments. This should be a bug. / コマンドラインのパース結果が正しくないようです。プログラムのバグの可能性が高いです。") + logger.error( + "Invalid cmdline parsed arguments. This should be a bug. / コマンドラインのパース結果が正しくないようです。プログラムのバグの可能性が高いです。" + ) raise # NOTE: value would be overwritten by latter dict if there is already the same key @@ -447,7 +459,6 @@ def search_value(key: str, fallbacks: Sequence[dict], default_value=None): return default_value - def generate_dataset_group_by_blueprint(dataset_group_blueprint: DatasetGroupBlueprint): datasets: List[Union[DreamBoothDataset, FineTuningDataset, ControlNetDataset]] = [] @@ -467,7 +478,7 @@ def generate_dataset_group_by_blueprint(dataset_group_blueprint: DatasetGroupBlu datasets.append(dataset) val_datasets:List[Union[DreamBoothDataset, FineTuningDataset, ControlNetDataset]] = [] - + for dataset_blueprint in dataset_group_blueprint.datasets: if dataset_blueprint.params.validation_split <= 0.0: continue @@ -485,75 +496,174 @@ def generate_dataset_group_by_blueprint(dataset_group_blueprint: DatasetGroupBlu dataset = dataset_klass(subsets=subsets, is_train=False, **asdict(dataset_blueprint.params)) val_datasets.append(dataset) - def print_info(_datasets): - info = "" - for i, dataset in enumerate(_datasets): - is_dreambooth = isinstance(dataset, DreamBoothDataset) - is_controlnet = isinstance(dataset, ControlNetDataset) - info += dedent(f"""\ - [Dataset {i}] - batch_size: {dataset.batch_size} - resolution: {(dataset.width, dataset.height)} - enable_bucket: {dataset.enable_bucket} - """) + # print info + info = "" + for i, dataset in enumerate(datasets): + is_dreambooth = isinstance(dataset, DreamBoothDataset) + is_controlnet = isinstance(dataset, ControlNetDataset) + info += dedent( + f"""\ + [Dataset {i}] + batch_size: {dataset.batch_size} + resolution: {(dataset.width, dataset.height)} + enable_bucket: {dataset.enable_bucket} + network_multiplier: {dataset.network_multiplier} + """ + ) if dataset.enable_bucket: - info += indent(dedent(f"""\ - min_bucket_reso: {dataset.min_bucket_reso} - max_bucket_reso: {dataset.max_bucket_reso} - bucket_reso_steps: {dataset.bucket_reso_steps} - bucket_no_upscale: {dataset.bucket_no_upscale} - \n"""), " ") + info += indent( + dedent( + f"""\ + min_bucket_reso: {dataset.min_bucket_reso} + max_bucket_reso: {dataset.max_bucket_reso} + bucket_reso_steps: {dataset.bucket_reso_steps} + bucket_no_upscale: {dataset.bucket_no_upscale} + \n""" + ), + " ", + ) else: info += "\n" + for j, subset in enumerate(dataset.subsets): - info += indent(dedent(f"""\ - [Subset {j} of Dataset {i}] - image_dir: "{subset.image_dir}" - image_count: {subset.img_count} - num_repeats: {subset.num_repeats} - shuffle_caption: {subset.shuffle_caption} - keep_tokens: {subset.keep_tokens} - caption_dropout_rate: {subset.caption_dropout_rate} - caption_dropout_every_n_epoches: {subset.caption_dropout_every_n_epochs} - caption_tag_dropout_rate: {subset.caption_tag_dropout_rate} - caption_prefix: {subset.caption_prefix} - caption_suffix: {subset.caption_suffix} - color_aug: {subset.color_aug} - flip_aug: {subset.flip_aug} - face_crop_aug_range: {subset.face_crop_aug_range} - random_crop: {subset.random_crop} - token_warmup_min: {subset.token_warmup_min}, - token_warmup_step: {subset.token_warmup_step}, - """), " ") - - if is_dreambooth: - info += indent(dedent(f"""\ - is_reg: {subset.is_reg} - class_tokens: {subset.class_tokens} - caption_extension: {subset.caption_extension} - \n"""), " ") - elif not is_controlnet: - info += indent(dedent(f"""\ - metadata_file: {subset.metadata_file} - \n"""), " ") - - print(info) - - print_info(datasets) - - if len(val_datasets) > 0: - print("Validation dataset") - print_info(val_datasets) - + info += indent( + dedent( + f"""\ + [Subset {j} of Dataset {i}] + image_dir: "{subset.image_dir}" + image_count: {subset.img_count} + num_repeats: {subset.num_repeats} + shuffle_caption: {subset.shuffle_caption} + keep_tokens: {subset.keep_tokens} + keep_tokens_separator: {subset.keep_tokens_separator} + caption_dropout_rate: {subset.caption_dropout_rate} + caption_dropout_every_n_epoches: {subset.caption_dropout_every_n_epochs} + caption_tag_dropout_rate: {subset.caption_tag_dropout_rate} + caption_prefix: {subset.caption_prefix} + caption_suffix: {subset.caption_suffix} + color_aug: {subset.color_aug} + flip_aug: {subset.flip_aug} + face_crop_aug_range: {subset.face_crop_aug_range} + random_crop: {subset.random_crop} + token_warmup_min: {subset.token_warmup_min}, + token_warmup_step: {subset.token_warmup_step}, + """ + ), + " ", + ) + + if is_dreambooth: + info += indent( + dedent( + f"""\ + is_reg: {subset.is_reg} + class_tokens: {subset.class_tokens} + caption_extension: {subset.caption_extension} + \n""" + ), + " ", + ) + elif not is_controlnet: + info += indent( + dedent( + f"""\ + metadata_file: {subset.metadata_file} + \n""" + ), + " ", + ) + + logger.info(f'{info}') + + # print validation info + info = "" + for i, dataset in enumerate(val_datasets): + is_dreambooth = isinstance(dataset, DreamBoothDataset) + is_controlnet = isinstance(dataset, ControlNetDataset) + info += dedent( + f"""\ + [Validation Dataset {i}] + batch_size: {dataset.batch_size} + resolution: {(dataset.width, dataset.height)} + enable_bucket: {dataset.enable_bucket} + network_multiplier: {dataset.network_multiplier} + """ + ) + + if dataset.enable_bucket: + info += indent( + dedent( + f"""\ + min_bucket_reso: {dataset.min_bucket_reso} + max_bucket_reso: {dataset.max_bucket_reso} + bucket_reso_steps: {dataset.bucket_reso_steps} + bucket_no_upscale: {dataset.bucket_no_upscale} + \n""" + ), + " ", + ) + else: + info += "\n" + + for j, subset in enumerate(dataset.subsets): + info += indent( + dedent( + f"""\ + [Subset {j} of Dataset {i}] + image_dir: "{subset.image_dir}" + image_count: {subset.img_count} + num_repeats: {subset.num_repeats} + shuffle_caption: {subset.shuffle_caption} + keep_tokens: {subset.keep_tokens} + keep_tokens_separator: {subset.keep_tokens_separator} + caption_dropout_rate: {subset.caption_dropout_rate} + caption_dropout_every_n_epoches: {subset.caption_dropout_every_n_epochs} + caption_tag_dropout_rate: {subset.caption_tag_dropout_rate} + caption_prefix: {subset.caption_prefix} + caption_suffix: {subset.caption_suffix} + color_aug: {subset.color_aug} + flip_aug: {subset.flip_aug} + face_crop_aug_range: {subset.face_crop_aug_range} + random_crop: {subset.random_crop} + token_warmup_min: {subset.token_warmup_min}, + token_warmup_step: {subset.token_warmup_step}, + """ + ), + " ", + ) + + if is_dreambooth: + info += indent( + dedent( + f"""\ + is_reg: {subset.is_reg} + class_tokens: {subset.class_tokens} + caption_extension: {subset.caption_extension} + \n""" + ), + " ", + ) + elif not is_controlnet: + info += indent( + dedent( + f"""\ + metadata_file: {subset.metadata_file} + \n""" + ), + " ", + ) + + logger.info(f'{info}') + # make buckets first because it determines the length of dataset # and set the same seed for all datasets seed = random.randint(0, 2**31) # actual seed is seed + epoch_no for i, dataset in enumerate(datasets): - print(f"[Dataset {i}]") + logger.info(f"[Dataset {i}]") dataset.make_buckets() dataset.set_seed(seed) - + for i, dataset in enumerate(val_datasets): print(f"[Validation Dataset {i}]") dataset.make_buckets() @@ -562,8 +672,8 @@ def print_info(_datasets): return ( DatasetGroup(datasets), DatasetGroup(val_datasets) if val_datasets else None - ) - + ) + def generate_dreambooth_subsets_config_by_subdirs(train_data_dir: Optional[str] = None, reg_data_dir: Optional[str] = None): def extract_dreambooth_params(name: str) -> Tuple[int, str]: tokens = name.split("_") @@ -642,13 +752,17 @@ def load_user_config(file: str) -> dict: with open(file, "r") as f: config = json.load(f) except Exception: - logger.error(f"Error on parsing JSON config file. Please check the format. / JSON 形式の設定ファイルの読み込みに失敗しました。文法が正しいか確認してください。: {file}") + logger.error( + f"Error on parsing JSON config file. Please check the format. / JSON 形式の設定ファイルの読み込みに失敗しました。文法が正しいか確認してください。: {file}" + ) raise elif file.name.lower().endswith(".toml"): try: config = toml.load(file) except Exception: - logger.error(f"Error on parsing TOML config file. Please check the format. / TOML 形式の設定ファイルの読み込みに失敗しました。文法が正しいか確認してください。: {file}") + logger.error( + f"Error on parsing TOML config file. Please check the format. / TOML 形式の設定ファイルの読み込みに失敗しました。文法が正しいか確認してください。: {file}" + ) raise else: raise ValueError(f"not supported config file format / 対応していない設定ファイルの形式です: {file}") @@ -675,13 +789,13 @@ def load_user_config(file: str) -> dict: train_util.prepare_dataset_args(argparse_namespace, config_args.support_finetuning) logger.info("[argparse_namespace]") - logger.info(f'{vars(argparse_namespace)}') + logger.info(f"{vars(argparse_namespace)}") user_config = load_user_config(config_args.dataset_config) logger.info("") logger.info("[user_config]") - logger.info(f'{user_config}') + logger.info(f"{user_config}") sanitizer = ConfigSanitizer( config_args.support_dreambooth, config_args.support_finetuning, config_args.support_controlnet, config_args.support_dropout @@ -690,10 +804,10 @@ def load_user_config(file: str) -> dict: logger.info("") logger.info("[sanitized_user_config]") - logger.info(f'{sanitized_user_config}') + logger.info(f"{sanitized_user_config}") blueprint = BlueprintGenerator(sanitizer).generate(user_config, argparse_namespace) logger.info("") logger.info("[blueprint]") - logger.info(f'{blueprint}') + logger.info(f"{blueprint}") diff --git a/train_network.py b/train_network.py index db7000e82..d3e34eb7e 100644 --- a/train_network.py +++ b/train_network.py @@ -44,6 +44,7 @@ setup_logging() import logging +import itertools logger = logging.getLogger(__name__) @@ -438,6 +439,7 @@ def train(self, args): num_workers=n_workers, persistent_workers=args.persistent_data_loader_workers, ) + cyclic_val_dataloader = itertools.cycle(val_dataloader) # 学習ステップ数を計算する if args.max_train_epochs is not None: @@ -979,23 +981,24 @@ def remove_model(old_ckpt_name): if args.logging_dir is not None: logs = self.generate_step_logs(args, current_loss, avr_loss, lr_scheduler, keys_scaled, mean_norm, maximum_norm) accelerator.log(logs, step=global_step) - - if global_step % 25 == 0: - if len(val_dataloader) > 0: - print("Validating バリデーション処理...") - - with torch.no_grad(): - val_dataloader_iter = iter(val_dataloader) - batch = next(val_dataloader_iter) - is_train = False - loss = self.process_val_batch(batch, is_train, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args) - - current_loss = loss.detach().item() - val_loss_recorder.add(epoch=epoch, step=global_step, loss=current_loss) + + if args.validation_every_n_step is not None: + if global_step % (args.validation_every_n_step) == 0: + if len(val_dataloader) > 0: + print("Validating バリデーション処理...") + total_loss = 0.0 + with torch.no_grad(): + for val_step in min(len(val_dataloader), args.validation_batches): + is_train = False + batch = next(cyclic_val_dataloader) + loss = self.process_val_batch(batch, is_train, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args) + total_loss += loss.detach().item() + current_loss = total_loss / args.validation_batches + val_loss_recorder.add(epoch=epoch, step=global_step, loss=current_loss) if args.logging_dir is not None: avr_loss: float = val_loss_recorder.moving_average - logs = {"loss/validation_current": current_loss} + logs = {"loss/avr_val_loss": avr_loss} accelerator.log(logs, step=global_step) if global_step >= args.max_train_steps: @@ -1005,12 +1008,24 @@ def remove_model(old_ckpt_name): logs = {"loss/epoch_average": loss_recorder.moving_average} accelerator.log(logs, step=epoch + 1) - if len(val_dataloader) > 0: - if args.logging_dir is not None: - avr_loss: float = val_loss_recorder.moving_average - logs = {"loss/validation_epoch_average": avr_loss} - accelerator.log(logs, step=epoch + 1) - + if args.validation_every_n_step is None: + if len(val_dataloader) > 0: + print("Validating バリデーション処理...") + total_loss = 0.0 + with torch.no_grad(): + for val_step in min(len(val_dataloader), args.validation_batches): + is_train = False + batch = next(cyclic_val_dataloader) + loss = self.process_val_batch(batch, is_train, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args) + total_loss += loss.detach().item() + current_loss = total_loss / args.validation_batches + val_loss_recorder.add(epoch=epoch, step=global_step, loss=current_loss) + + if args.logging_dir is not None: + avr_loss: float = val_loss_recorder.moving_average + logs = {"loss/val_epoch_average": avr_loss} + accelerator.log(logs, step=epoch + 1) + accelerator.wait_for_everyone() # 指定エポックごとにモデルを保存 @@ -1162,6 +1177,18 @@ def setup_parser() -> argparse.ArgumentParser: default=0.0, help="Split for validation images out of the training dataset" ) + parser.add_argument( + "--validation_every_n_step", + type=int, + default=None, + help="Number of steps for counting validation loss. By default, validation per epoch is performed" + ) + parser.add_argument( + "--validation_batches", + type=int, + default=1, + help="Number of val steps for counting validation loss. By default, validation one batch is performed" + ) return parser From 923b761ce3622a3132bf0db7768e6b97df21c607 Mon Sep 17 00:00:00 2001 From: gesen2egee <79357052+gesen2egee@users.noreply.github.com> Date: Sun, 10 Mar 2024 20:01:40 +0800 Subject: [PATCH 011/748] Update train_network.py --- train_network.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/train_network.py b/train_network.py index d3e34eb7e..821100666 100644 --- a/train_network.py +++ b/train_network.py @@ -988,6 +988,7 @@ def remove_model(old_ckpt_name): print("Validating バリデーション処理...") total_loss = 0.0 with torch.no_grad(): + validation_steps = args.validation_batches if args.validation_batches is not None else len(val_dataloader) for val_step in min(len(val_dataloader), args.validation_batches): is_train = False batch = next(cyclic_val_dataloader) @@ -1013,6 +1014,7 @@ def remove_model(old_ckpt_name): print("Validating バリデーション処理...") total_loss = 0.0 with torch.no_grad(): + validation_steps = args.validation_batches if args.validation_batches is not None else len(val_dataloader) for val_step in min(len(val_dataloader), args.validation_batches): is_train = False batch = next(cyclic_val_dataloader) @@ -1186,8 +1188,8 @@ def setup_parser() -> argparse.ArgumentParser: parser.add_argument( "--validation_batches", type=int, - default=1, - help="Number of val steps for counting validation loss. By default, validation one batch is performed" + default=None, + help="Number of val steps for counting validation loss. By default, validation for all val_dataset is performed" ) return parser From 47359b8fac9602415f56b1f7e3f25a00255a1d78 Mon Sep 17 00:00:00 2001 From: gesen2egee <79357052+gesen2egee@users.noreply.github.com> Date: Sun, 10 Mar 2024 20:17:40 +0800 Subject: [PATCH 012/748] Update train_network.py --- train_network.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/train_network.py b/train_network.py index 821100666..d549378cc 100644 --- a/train_network.py +++ b/train_network.py @@ -989,7 +989,7 @@ def remove_model(old_ckpt_name): total_loss = 0.0 with torch.no_grad(): validation_steps = args.validation_batches if args.validation_batches is not None else len(val_dataloader) - for val_step in min(len(val_dataloader), args.validation_batches): + for val_step in range(validation_steps): is_train = False batch = next(cyclic_val_dataloader) loss = self.process_val_batch(batch, is_train, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args) @@ -1015,7 +1015,7 @@ def remove_model(old_ckpt_name): total_loss = 0.0 with torch.no_grad(): validation_steps = args.validation_batches if args.validation_batches is not None else len(val_dataloader) - for val_step in min(len(val_dataloader), args.validation_batches): + for val_step in range(validation_steps): is_train = False batch = next(cyclic_val_dataloader) loss = self.process_val_batch(batch, is_train, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args) From a51723cc2a3dd50b45e60945f97bc5adfe753d1f Mon Sep 17 00:00:00 2001 From: gesen2egee <79357052+gesen2egee@users.noreply.github.com> Date: Mon, 11 Mar 2024 09:42:58 +0800 Subject: [PATCH 013/748] fix timesteps --- train_network.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/train_network.py b/train_network.py index d549378cc..f0f27ea74 100644 --- a/train_network.py +++ b/train_network.py @@ -141,7 +141,6 @@ def process_val_batch(self, batch, is_train, tokenizers, text_encoders, unet, va total_loss = 0.0 timesteps_list = [10, 350, 500, 650, 990] - with torch.no_grad(): if "latents" in batch and batch["latents"] is not None: latents = batch["latents"].to(accelerator.device) @@ -174,16 +173,17 @@ def process_val_batch(self, batch, is_train, tokenizers, text_encoders, unet, va # Sample noise, sample a random timestep for each image, and add noise to the latents, # with noise offset and/or multires noise if specified - noise, noisy_latents, _ = train_util.get_noise_noisy_latents_and_timesteps( - args, noise_scheduler, latents - ) - for timesteps in timesteps_list: - # Predict the noise residual + + for fixed_timesteps in timesteps_list: with torch.set_grad_enabled(is_train), accelerator.autocast(): + noise = torch.randn_like(latents, device=latents.device) + b_size = latents.shape[0] + timesteps = torch.randint(fixed_timesteps, fixed_timesteps, (b_size,), device=latents.device) + timesteps = timesteps.long() + noisy_latents = noise_scheduler.add_noise(latents, noise, timesteps) noise_pred = self.call_unet( args, accelerator, unet, noisy_latents, timesteps, text_encoder_conds, batch, weight_dtype ) - if args.v_parameterization: # v-parameterization training target = noise_scheduler.get_velocity(latents, noise, timesteps) @@ -988,7 +988,7 @@ def remove_model(old_ckpt_name): print("Validating バリデーション処理...") total_loss = 0.0 with torch.no_grad(): - validation_steps = args.validation_batches if args.validation_batches is not None else len(val_dataloader) + validation_steps = min(args.validation_batches, len(val_dataloader)) if args.validation_batches is not None else len(val_dataloader) for val_step in range(validation_steps): is_train = False batch = next(cyclic_val_dataloader) @@ -999,7 +999,7 @@ def remove_model(old_ckpt_name): if args.logging_dir is not None: avr_loss: float = val_loss_recorder.moving_average - logs = {"loss/avr_val_loss": avr_loss} + logs = {"loss/average_val_loss": avr_loss} accelerator.log(logs, step=global_step) if global_step >= args.max_train_steps: @@ -1014,7 +1014,7 @@ def remove_model(old_ckpt_name): print("Validating バリデーション処理...") total_loss = 0.0 with torch.no_grad(): - validation_steps = args.validation_batches if args.validation_batches is not None else len(val_dataloader) + validation_steps = min(args.validation_batches, len(val_dataloader)) if args.validation_batches is not None else len(val_dataloader) for val_step in range(validation_steps): is_train = False batch = next(cyclic_val_dataloader) From 7d84ac2177a603e9aa6834fd1c0ee19a463eb5a0 Mon Sep 17 00:00:00 2001 From: gesen2egee <79357052+gesen2egee@users.noreply.github.com> Date: Mon, 11 Mar 2024 14:41:51 +0800 Subject: [PATCH 014/748] only use train subset to val --- library/config_util.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/config_util.py b/library/config_util.py index d198cee35..1a6cef971 100644 --- a/library/config_util.py +++ b/library/config_util.py @@ -492,7 +492,7 @@ def generate_dataset_group_by_blueprint(dataset_group_blueprint: DatasetGroupBlu subset_klass = FineTuningSubset dataset_klass = FineTuningDataset - subsets = [subset_klass(**asdict(subset_blueprint.params)) for subset_blueprint in dataset_blueprint.subsets] + subsets = [subset_klass(**asdict(subset_blueprint.params)) for subset_blueprint in dataset_blueprint.subsets if subset_blueprint.params.is_reg is False] dataset = dataset_klass(subsets=subsets, is_train=False, **asdict(dataset_blueprint.params)) val_datasets.append(dataset) From befbec5335ed1f8018d22b65993b376571ea2989 Mon Sep 17 00:00:00 2001 From: gesen2egee <79357052+gesen2egee@users.noreply.github.com> Date: Mon, 11 Mar 2024 18:47:04 +0800 Subject: [PATCH 015/748] Update train_network.py --- train_network.py | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/train_network.py b/train_network.py index f0f27ea74..cbc107b6b 100644 --- a/train_network.py +++ b/train_network.py @@ -174,7 +174,7 @@ def process_val_batch(self, batch, is_train, tokenizers, text_encoders, unet, va # Sample noise, sample a random timestep for each image, and add noise to the latents, # with noise offset and/or multires noise if specified - for fixed_timesteps in timesteps_list: + for fixed_timesteps in tqdm(timesteps_list, desc='Training Progress'): with torch.set_grad_enabled(is_train), accelerator.autocast(): noise = torch.randn_like(latents, device=latents.device) b_size = latents.shape[0] @@ -184,16 +184,16 @@ def process_val_batch(self, batch, is_train, tokenizers, text_encoders, unet, va noise_pred = self.call_unet( args, accelerator, unet, noisy_latents, timesteps, text_encoder_conds, batch, weight_dtype ) - if args.v_parameterization: - # v-parameterization training - target = noise_scheduler.get_velocity(latents, noise, timesteps) - else: - target = noise + if args.v_parameterization: + # v-parameterization training + target = noise_scheduler.get_velocity(latents, noise, timesteps) + else: + target = noise - loss = torch.nn.functional.mse_loss(noise_pred.float(), target.float(), reduction="none") - loss = loss.mean([1, 2, 3]) - loss = loss.mean() # 平均なのでbatch_sizeで割る必要なし - total_loss += loss + loss = torch.nn.functional.mse_loss(noise_pred.float(), target.float(), reduction="none") + loss = loss.mean([1, 2, 3]) + loss = loss.mean() # 平均なのでbatch_sizeで割る必要なし + total_loss += loss average_loss = total_loss / len(timesteps_list) return average_loss @@ -985,7 +985,7 @@ def remove_model(old_ckpt_name): if args.validation_every_n_step is not None: if global_step % (args.validation_every_n_step) == 0: if len(val_dataloader) > 0: - print("Validating バリデーション処理...") + print(f"\nValidating バリデーション処理...") total_loss = 0.0 with torch.no_grad(): validation_steps = min(args.validation_batches, len(val_dataloader)) if args.validation_batches is not None else len(val_dataloader) @@ -994,10 +994,12 @@ def remove_model(old_ckpt_name): batch = next(cyclic_val_dataloader) loss = self.process_val_batch(batch, is_train, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args) total_loss += loss.detach().item() - current_loss = total_loss / args.validation_batches - val_loss_recorder.add(epoch=epoch, step=global_step, loss=current_loss) + current_loss = total_loss / args.validation_batches + val_loss_recorder.add(epoch=epoch, step=global_step, loss=current_loss) if args.logging_dir is not None: + logs = {"loss/current_val_loss": current_loss} + accelerator.log(logs, step=global_step) avr_loss: float = val_loss_recorder.moving_average logs = {"loss/average_val_loss": avr_loss} accelerator.log(logs, step=global_step) @@ -1011,7 +1013,7 @@ def remove_model(old_ckpt_name): if args.validation_every_n_step is None: if len(val_dataloader) > 0: - print("Validating バリデーション処理...") + print(f"\nValidating バリデーション処理...") total_loss = 0.0 with torch.no_grad(): validation_steps = min(args.validation_batches, len(val_dataloader)) if args.validation_batches is not None else len(val_dataloader) @@ -1025,7 +1027,7 @@ def remove_model(old_ckpt_name): if args.logging_dir is not None: avr_loss: float = val_loss_recorder.moving_average - logs = {"loss/val_epoch_average": avr_loss} + logs = {"loss/epoch_val_average": avr_loss} accelerator.log(logs, step=epoch + 1) accelerator.wait_for_everyone() From 63e58f78e3df7608045071cdc247bb26bd19a333 Mon Sep 17 00:00:00 2001 From: gesen2egee <79357052+gesen2egee@users.noreply.github.com> Date: Mon, 11 Mar 2024 19:15:55 +0800 Subject: [PATCH 016/748] Update train_network.py --- train_network.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/train_network.py b/train_network.py index cbc107b6b..82d72df24 100644 --- a/train_network.py +++ b/train_network.py @@ -178,8 +178,7 @@ def process_val_batch(self, batch, is_train, tokenizers, text_encoders, unet, va with torch.set_grad_enabled(is_train), accelerator.autocast(): noise = torch.randn_like(latents, device=latents.device) b_size = latents.shape[0] - timesteps = torch.randint(fixed_timesteps, fixed_timesteps, (b_size,), device=latents.device) - timesteps = timesteps.long() + timesteps = torch.full((b_size,), fixed_timesteps, dtype=torch.long, device=latents.device) noisy_latents = noise_scheduler.add_noise(latents, noise, timesteps) noise_pred = self.call_unet( args, accelerator, unet, noisy_latents, timesteps, text_encoder_conds, batch, weight_dtype From a6c41c6bea0465112c7bd472dff68b7e8ecea46e Mon Sep 17 00:00:00 2001 From: gesen2egee <79357052+gesen2egee@users.noreply.github.com> Date: Mon, 11 Mar 2024 19:23:48 +0800 Subject: [PATCH 017/748] Update train_network.py --- train_network.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/train_network.py b/train_network.py index 82d72df24..6eefdb2be 100644 --- a/train_network.py +++ b/train_network.py @@ -174,7 +174,7 @@ def process_val_batch(self, batch, is_train, tokenizers, text_encoders, unet, va # Sample noise, sample a random timestep for each image, and add noise to the latents, # with noise offset and/or multires noise if specified - for fixed_timesteps in tqdm(timesteps_list, desc='Training Progress'): + for fixed_timesteps in timesteps_list: with torch.set_grad_enabled(is_train), accelerator.autocast(): noise = torch.randn_like(latents, device=latents.device) b_size = latents.shape[0] @@ -988,7 +988,7 @@ def remove_model(old_ckpt_name): total_loss = 0.0 with torch.no_grad(): validation_steps = min(args.validation_batches, len(val_dataloader)) if args.validation_batches is not None else len(val_dataloader) - for val_step in range(validation_steps): + for val_step in tqdm(range(validation_steps), desc='Validation Steps'): is_train = False batch = next(cyclic_val_dataloader) loss = self.process_val_batch(batch, is_train, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args) @@ -1016,7 +1016,7 @@ def remove_model(old_ckpt_name): total_loss = 0.0 with torch.no_grad(): validation_steps = min(args.validation_batches, len(val_dataloader)) if args.validation_batches is not None else len(val_dataloader) - for val_step in range(validation_steps): + for val_step in tqdm(range(validation_steps), desc='Validation Steps'): is_train = False batch = next(cyclic_val_dataloader) loss = self.process_val_batch(batch, is_train, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args) From bd7e2295b7c4d1444a9e844309e1685cb29c6961 Mon Sep 17 00:00:00 2001 From: gesen2egee Date: Wed, 13 Mar 2024 17:54:21 +0800 Subject: [PATCH 018/748] fix --- train_network.py | 38 +++++++++----------------------------- 1 file changed, 9 insertions(+), 29 deletions(-) diff --git a/train_network.py b/train_network.py index 6eefdb2be..128690fba 100644 --- a/train_network.py +++ b/train_network.py @@ -981,20 +981,19 @@ def remove_model(old_ckpt_name): logs = self.generate_step_logs(args, current_loss, avr_loss, lr_scheduler, keys_scaled, mean_norm, maximum_norm) accelerator.log(logs, step=global_step) - if args.validation_every_n_step is not None: - if global_step % (args.validation_every_n_step) == 0: - if len(val_dataloader) > 0: + if len(val_dataloader) > 0: + if (args.validation_every_n_step is not None and global_step % args.validation_every_n_step == 0) or step == len(train_dataloader) - 1 or global_step >= args.max_train_steps: print(f"\nValidating バリデーション処理...") total_loss = 0.0 with torch.no_grad(): - validation_steps = min(args.validation_batches, len(val_dataloader)) if args.validation_batches is not None else len(val_dataloader) + validation_steps = min(args.max_validation_steps, len(val_dataloader)) if args.max_validation_steps is not None else len(val_dataloader) for val_step in tqdm(range(validation_steps), desc='Validation Steps'): is_train = False batch = next(cyclic_val_dataloader) loss = self.process_val_batch(batch, is_train, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args) total_loss += loss.detach().item() - current_loss = total_loss / args.validation_batches - val_loss_recorder.add(epoch=epoch, step=global_step, loss=current_loss) + current_loss = total_loss / validation_steps + val_loss_recorder.add(epoch=epoch, step=step, loss=current_loss) if args.logging_dir is not None: logs = {"loss/current_val_loss": current_loss} @@ -1009,25 +1008,6 @@ def remove_model(old_ckpt_name): if args.logging_dir is not None: logs = {"loss/epoch_average": loss_recorder.moving_average} accelerator.log(logs, step=epoch + 1) - - if args.validation_every_n_step is None: - if len(val_dataloader) > 0: - print(f"\nValidating バリデーション処理...") - total_loss = 0.0 - with torch.no_grad(): - validation_steps = min(args.validation_batches, len(val_dataloader)) if args.validation_batches is not None else len(val_dataloader) - for val_step in tqdm(range(validation_steps), desc='Validation Steps'): - is_train = False - batch = next(cyclic_val_dataloader) - loss = self.process_val_batch(batch, is_train, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args) - total_loss += loss.detach().item() - current_loss = total_loss / args.validation_batches - val_loss_recorder.add(epoch=epoch, step=global_step, loss=current_loss) - - if args.logging_dir is not None: - avr_loss: float = val_loss_recorder.moving_average - logs = {"loss/epoch_val_average": avr_loss} - accelerator.log(logs, step=epoch + 1) accelerator.wait_for_everyone() @@ -1184,14 +1164,14 @@ def setup_parser() -> argparse.ArgumentParser: "--validation_every_n_step", type=int, default=None, - help="Number of steps for counting validation loss. By default, validation per epoch is performed" + help="Number of train steps for counting validation loss. By default, validation per train epoch is performed" ) parser.add_argument( - "--validation_batches", + "--max_validation_steps", type=int, default=None, - help="Number of val steps for counting validation loss. By default, validation for all val_dataset is performed" - ) + help="Number of max validation steps for counting validation loss. By default, validation will run entire validation dataset" + ) return parser From d05965dbadf430dab6a05f171292f6d2077ec946 Mon Sep 17 00:00:00 2001 From: gesen2egee Date: Wed, 13 Mar 2024 18:33:51 +0800 Subject: [PATCH 019/748] Update train_network.py --- train_network.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/train_network.py b/train_network.py index 864bfd708..cc9fcbbed 100644 --- a/train_network.py +++ b/train_network.py @@ -987,8 +987,8 @@ def remove_model(old_ckpt_name): accelerator.log(logs, step=global_step) if len(val_dataloader) > 0: - if (args.validation_every_n_step is not None and global_step % args.validation_every_n_step == 0) or step == len(train_dataloader) - 1 or global_step >= args.max_train_steps: - print(f"\nValidating バリデーション処理...") + if (args.validation_every_n_step is not None and global_step % args.validation_every_n_step == 0) or (args.validation_every_n_step is None and step == len(train_dataloader) - 1) or global_step >= args.max_train_steps: + accelerator.print("Validating バリデーション処理...") total_loss = 0.0 with torch.no_grad(): validation_steps = min(args.max_validation_steps, len(val_dataloader)) if args.max_validation_steps is not None else len(val_dataloader) @@ -998,7 +998,7 @@ def remove_model(old_ckpt_name): loss = self.process_val_batch(batch, is_train, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args) total_loss += loss.detach().item() current_loss = total_loss / validation_steps - val_loss_recorder.add(epoch=epoch, step=step, loss=current_loss) + val_loss_recorder.add(epoch=0, step=global_step, loss=current_loss) if args.logging_dir is not None: logs = {"loss/current_val_loss": current_loss} From b5e8045df40ed4a437492ed2b6ea6d5be7282080 Mon Sep 17 00:00:00 2001 From: gesen2egee Date: Sat, 16 Mar 2024 11:51:11 +0800 Subject: [PATCH 020/748] fix control net --- library/config_util.py | 6 ++++-- library/train_util.py | 15 ++++++++++++--- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/library/config_util.py b/library/config_util.py index ec6ef4b2b..0da0b1437 100644 --- a/library/config_util.py +++ b/library/config_util.py @@ -491,8 +491,10 @@ def generate_dataset_group_by_blueprint(dataset_group_blueprint: DatasetGroupBlu else: subset_klass = FineTuningSubset dataset_klass = FineTuningDataset - - subsets = [subset_klass(**asdict(subset_blueprint.params)) for subset_blueprint in dataset_blueprint.subsets if subset_blueprint.params.is_reg is False] + if subset_klass == DreamBoothSubset: + subsets = [subset_klass(**asdict(subset_blueprint.params)) for subset_blueprint in dataset_blueprint.subsets if subset_blueprint.params.is_reg is False] + else: + subsets = [subset_klass(**asdict(subset_blueprint.params)) for subset_blueprint in dataset_blueprint.subsets] dataset = dataset_klass(subsets=subsets, is_train=False, **asdict(dataset_blueprint.params)) val_datasets.append(dataset) diff --git a/library/train_util.py b/library/train_util.py index 892979628..ae7968d73 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -1816,6 +1816,7 @@ class ControlNetDataset(BaseDataset): def __init__( self, subsets: Sequence[ControlNetSubset], + is_train: bool, batch_size: int, tokenizer, max_token_length, @@ -1826,6 +1827,8 @@ def __init__( max_bucket_reso: int, bucket_reso_steps: int, bucket_no_upscale: bool, + validation_split: float, + validation_seed: Optional[int], debug_dataset: float, ) -> None: super().__init__(tokenizer, max_token_length, resolution, network_multiplier, debug_dataset) @@ -1860,6 +1863,7 @@ def __init__( self.dreambooth_dataset_delegate = DreamBoothDataset( db_subsets, + is_train, batch_size, tokenizer, max_token_length, @@ -1871,6 +1875,8 @@ def __init__( bucket_reso_steps, bucket_no_upscale, 1.0, + validation_split, + validation_seed, debug_dataset, ) @@ -1878,7 +1884,10 @@ def __init__( self.image_data = self.dreambooth_dataset_delegate.image_data self.batch_size = batch_size self.num_train_images = self.dreambooth_dataset_delegate.num_train_images - self.num_reg_images = self.dreambooth_dataset_delegate.num_reg_images + self.num_reg_images = self.dreambooth_dataset_delegate.num_reg_images + self.is_train = is_train + self.validation_split = validation_split + self.validation_seed = validation_seed # assert all conditioning data exists missing_imgs = [] @@ -1911,8 +1920,8 @@ def __init__( [cond_img_path for cond_img_path in conditioning_img_paths if cond_img_path not in cond_imgs_with_img] ) - assert len(missing_imgs) == 0, f"missing conditioning data for {len(missing_imgs)} images: {missing_imgs}" - assert len(extra_imgs) == 0, f"extra conditioning data for {len(extra_imgs)} images: {extra_imgs}" + #assert len(missing_imgs) == 0, f"missing conditioning data for {len(missing_imgs)} images: {missing_imgs}" + #assert len(extra_imgs) == 0, f"extra conditioning data for {len(extra_imgs)} images: {extra_imgs}" self.conditioning_image_transforms = IMAGE_TRANSFORMS From f99fe281cbb6519b7b5f1199c570d496ad4df474 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Mon, 1 Apr 2024 15:38:26 -0400 Subject: [PATCH 021/748] Add LoRA+ support --- library/train_util.py | 2 ++ networks/dylora.py | 45 ++++++++++++++++++++++++++---------- networks/lora.py | 54 ++++++++++++++++++++++++++++--------------- train_network.py | 2 +- 4 files changed, 71 insertions(+), 32 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index d2b69edb5..4e5ab7370 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -2789,6 +2789,8 @@ def add_optimizer_arguments(parser: argparse.ArgumentParser): default=1, help="Polynomial power for polynomial scheduler / polynomialスケジューラでのpolynomial power", ) + parser.add_argument("--loraplus_unet_lr_ratio", default=None, type=float, help="LoRA+ UNet learning rate ratio") + parser.add_argument("--loraplus_text_encoder_lr_ratio", default=None, type=float, help="LoRA+ text encoder learning rate ratio") def add_training_arguments(parser: argparse.ArgumentParser, support_dreambooth: bool): diff --git a/networks/dylora.py b/networks/dylora.py index 637f33450..a73ade8bd 100644 --- a/networks/dylora.py +++ b/networks/dylora.py @@ -406,27 +406,48 @@ def merge_to(self, text_encoder, unet, weights_sd, dtype, device): logger.info(f"weights are merged") """ - def prepare_optimizer_params(self, text_encoder_lr, unet_lr, default_lr): + # 二つのText Encoderに別々の学習率を設定できるようにするといいかも + def prepare_optimizer_params(self, text_encoder_lr, unet_lr, default_lr, unet_lora_plus_ratio=None, text_encoder_lora_plus_ratio=None): self.requires_grad_(True) all_params = [] - def enumerate_params(loras): - params = [] + def assemble_params(loras, lr, lora_plus_ratio): + param_groups = {"lora": {}, "plus": {}} for lora in loras: - params.extend(lora.parameters()) + for name, param in lora.named_parameters(): + if lora_plus_ratio is not None and "lora_up" in name: + param_groups["plus"][f"{lora.lora_name}.{name}"] = param + else: + param_groups["lora"][f"{lora.lora_name}.{name}"] = param + + # assigned_param_groups = "" + # for group in param_groups: + # assigned_param_groups += f"{group}\n {list(param_groups[group].keys())}\n\n" + # logger.info(assigned_param_groups) + + params = [] + for key in param_groups.keys(): + param_data = {"params": param_groups[key].values()} + if lr is not None: + if key == "plus": + param_data["lr"] = lr * lora_plus_ratio + else: + param_data["lr"] = lr + + if ("lr" in param_data) and (param_data["lr"] == 0): + continue + + params.append(param_data) + return params if self.text_encoder_loras: - param_data = {"params": enumerate_params(self.text_encoder_loras)} - if text_encoder_lr is not None: - param_data["lr"] = text_encoder_lr - all_params.append(param_data) + params = assemble_params(self.text_encoder_loras, text_encoder_lr, text_encoder_lora_plus_ratio) + all_params.extend(params) if self.unet_loras: - param_data = {"params": enumerate_params(self.unet_loras)} - if unet_lr is not None: - param_data["lr"] = unet_lr - all_params.append(param_data) + params = assemble_params(self.unet_loras, unet_lr, unet_lora_plus_ratio) + all_params.extend(params) return all_params diff --git a/networks/lora.py b/networks/lora.py index 948b30b0e..8d7619777 100644 --- a/networks/lora.py +++ b/networks/lora.py @@ -1035,21 +1035,43 @@ def get_lr_weight(self, lora: LoRAModule) -> float: return lr_weight # 二つのText Encoderに別々の学習率を設定できるようにするといいかも - def prepare_optimizer_params(self, text_encoder_lr, unet_lr, default_lr): + def prepare_optimizer_params(self, text_encoder_lr, unet_lr, default_lr, unet_lora_plus_ratio=None, text_encoder_lora_plus_ratio=None): self.requires_grad_(True) all_params = [] - def enumerate_params(loras): - params = [] + def assemble_params(loras, lr, lora_plus_ratio): + param_groups = {"lora": {}, "plus": {}} for lora in loras: - params.extend(lora.parameters()) + for name, param in lora.named_parameters(): + if lora_plus_ratio is not None and "lora_up" in name: + param_groups["plus"][f"{lora.lora_name}.{name}"] = param + else: + param_groups["lora"][f"{lora.lora_name}.{name}"] = param + + # assigned_param_groups = "" + # for group in param_groups: + # assigned_param_groups += f"{group}\n {list(param_groups[group].keys())}\n\n" + # logger.info(assigned_param_groups) + + params = [] + for key in param_groups.keys(): + param_data = {"params": param_groups[key].values()} + if lr is not None: + if key == "plus": + param_data["lr"] = lr * lora_plus_ratio + else: + param_data["lr"] = lr + + if ("lr" in param_data) and (param_data["lr"] == 0): + continue + + params.append(param_data) + return params if self.text_encoder_loras: - param_data = {"params": enumerate_params(self.text_encoder_loras)} - if text_encoder_lr is not None: - param_data["lr"] = text_encoder_lr - all_params.append(param_data) + params = assemble_params(self.text_encoder_loras, text_encoder_lr, text_encoder_lora_plus_ratio) + all_params.extend(params) if self.unet_loras: if self.block_lr: @@ -1063,21 +1085,15 @@ def enumerate_params(loras): # blockごとにパラメータを設定する for idx, block_loras in block_idx_to_lora.items(): - param_data = {"params": enumerate_params(block_loras)} - if unet_lr is not None: - param_data["lr"] = unet_lr * self.get_lr_weight(block_loras[0]) + params = assemble_params(block_loras, unet_lr * self.get_lr_weight(block_loras[0]), unet_lora_plus_ratio) elif default_lr is not None: - param_data["lr"] = default_lr * self.get_lr_weight(block_loras[0]) - if ("lr" in param_data) and (param_data["lr"] == 0): - continue - all_params.append(param_data) + params = assemble_params(block_loras, default_lr * self.get_lr_weight(block_loras[0]), unet_lora_plus_ratio) + all_params.extend(params) else: - param_data = {"params": enumerate_params(self.unet_loras)} - if unet_lr is not None: - param_data["lr"] = unet_lr - all_params.append(param_data) + params = assemble_params(self.unet_loras, unet_lr, unet_lora_plus_ratio) + all_params.extend(params) return all_params diff --git a/train_network.py b/train_network.py index e0fa69458..ba0c124d1 100644 --- a/train_network.py +++ b/train_network.py @@ -339,7 +339,7 @@ def train(self, args): # 後方互換性を確保するよ try: - trainable_params = network.prepare_optimizer_params(args.text_encoder_lr, args.unet_lr, args.learning_rate) + trainable_params = network.prepare_optimizer_params(args.text_encoder_lr, args.unet_lr, args.learning_rate, args.loraplus_text_encoder_lr_ratio, args.loraplus_unet_lr_ratio) except TypeError: accelerator.print( "Deprecated: use prepare_optimizer_params(text_encoder_lr, unet_lr, learning_rate) instead of prepare_optimizer_params(text_encoder_lr, unet_lr)" From c7691607ea1647864b5149c98434a27f23386c65 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Mon, 1 Apr 2024 15:43:04 -0400 Subject: [PATCH 022/748] Add LoRA-FA for LoRA+ --- networks/lora_fa.py | 58 +++++++++++++++++++++++++++++---------------- 1 file changed, 38 insertions(+), 20 deletions(-) diff --git a/networks/lora_fa.py b/networks/lora_fa.py index 919222ce8..fcc503e89 100644 --- a/networks/lora_fa.py +++ b/networks/lora_fa.py @@ -1033,22 +1033,43 @@ def get_lr_weight(self, lora: LoRAModule) -> float: return lr_weight # 二つのText Encoderに別々の学習率を設定できるようにするといいかも - def prepare_optimizer_params(self, text_encoder_lr, unet_lr, default_lr): + def prepare_optimizer_params(self, text_encoder_lr, unet_lr, default_lr, , unet_lora_plus_ratio=None, text_encoder_lora_plus_ratio=None): self.requires_grad_(True) all_params = [] - def enumerate_params(loras: List[LoRAModule]): - params = [] + def assemble_params(loras: List[LoRAModule], lr, lora_plus_ratio): + param_groups = {"lora": {}, "plus": {}} for lora in loras: - # params.extend(lora.parameters()) - params.extend(lora.get_trainable_params()) + for name, param in lora.get_trainable_named_params(): + if lora_plus_ratio is not None and "lora_up" in name: + param_groups["plus"][f"{lora.lora_name}.{name}"] = param + else: + param_groups["lora"][f"{lora.lora_name}.{name}"] = param + + # assigned_param_groups = "" + # for group in param_groups: + # assigned_param_groups += f"{group}\n {list(param_groups[group].keys())}\n\n" + # logger.info(assigned_param_groups) + + params = [] + for key in param_groups.keys(): + param_data = {"params": param_groups[key].values()} + if lr is not None: + if key == "plus": + param_data["lr"] = lr * lora_plus_ratio + else: + param_data["lr"] = lr + + if ("lr" in param_data) and (param_data["lr"] == 0): + continue + + params.append(param_data) + return params if self.text_encoder_loras: - param_data = {"params": enumerate_params(self.text_encoder_loras)} - if text_encoder_lr is not None: - param_data["lr"] = text_encoder_lr - all_params.append(param_data) + params = assemble_params(self.text_encoder_loras, text_encoder_lr, text_encoder_lora_plus_ratio) + all_params.extend(params) if self.unet_loras: if self.block_lr: @@ -1062,21 +1083,15 @@ def enumerate_params(loras: List[LoRAModule]): # blockごとにパラメータを設定する for idx, block_loras in block_idx_to_lora.items(): - param_data = {"params": enumerate_params(block_loras)} - if unet_lr is not None: - param_data["lr"] = unet_lr * self.get_lr_weight(block_loras[0]) + params = assemble_params(block_loras, unet_lr * self.get_lr_weight(block_loras[0]), unet_lora_plus_ratio) elif default_lr is not None: - param_data["lr"] = default_lr * self.get_lr_weight(block_loras[0]) - if ("lr" in param_data) and (param_data["lr"] == 0): - continue - all_params.append(param_data) + params = assemble_params(block_loras, default_lr * self.get_lr_weight(block_loras[0]), unet_lora_plus_ratio) + all_params.extend(params) else: - param_data = {"params": enumerate_params(self.unet_loras)} - if unet_lr is not None: - param_data["lr"] = unet_lr - all_params.append(param_data) + params = assemble_params(self.unet_loras, unet_lr, unet_lora_plus_ratio) + all_params.extend(params) return all_params @@ -1093,6 +1108,9 @@ def on_epoch_start(self, text_encoder, unet): def get_trainable_params(self): return self.parameters() + def get_trainable_named_params(self): + return self.named_parameters() + def save_weights(self, file, dtype, metadata): if metadata is not None and len(metadata) == 0: metadata = None From 1933ab4b4848b1f8b578c10f25bd050f5e246ac0 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Wed, 3 Apr 2024 12:46:34 -0400 Subject: [PATCH 023/748] Fix default_lr being applied --- networks/dylora.py | 21 ++++++++++++++++++--- networks/lora.py | 30 +++++++++++++++++++++++------- networks/lora_fa.py | 30 +++++++++++++++++++++++------- 3 files changed, 64 insertions(+), 17 deletions(-) diff --git a/networks/dylora.py b/networks/dylora.py index a73ade8bd..edc3e2229 100644 --- a/networks/dylora.py +++ b/networks/dylora.py @@ -407,7 +407,14 @@ def merge_to(self, text_encoder, unet, weights_sd, dtype, device): """ # 二つのText Encoderに別々の学習率を設定できるようにするといいかも - def prepare_optimizer_params(self, text_encoder_lr, unet_lr, default_lr, unet_lora_plus_ratio=None, text_encoder_lora_plus_ratio=None): + def prepare_optimizer_params( + self, + text_encoder_lr, + unet_lr, + default_lr, + unet_lora_plus_ratio=None, + text_encoder_lora_plus_ratio=None + ): self.requires_grad_(True) all_params = [] @@ -442,11 +449,19 @@ def assemble_params(loras, lr, lora_plus_ratio): return params if self.text_encoder_loras: - params = assemble_params(self.text_encoder_loras, text_encoder_lr, text_encoder_lora_plus_ratio) + params = assemble_params( + self.text_encoder_loras, + text_encoder_lr if text_encoder_lr is not None else default_lr, + text_encoder_lora_plus_ratio + ) all_params.extend(params) if self.unet_loras: - params = assemble_params(self.unet_loras, unet_lr, unet_lora_plus_ratio) + params = assemble_params( + self.unet_loras, + default_lr if unet_lr is None else unet_lr, + unet_lora_plus_ratio + ) all_params.extend(params) return all_params diff --git a/networks/lora.py b/networks/lora.py index 8d7619777..e082941e5 100644 --- a/networks/lora.py +++ b/networks/lora.py @@ -1035,7 +1035,14 @@ def get_lr_weight(self, lora: LoRAModule) -> float: return lr_weight # 二つのText Encoderに別々の学習率を設定できるようにするといいかも - def prepare_optimizer_params(self, text_encoder_lr, unet_lr, default_lr, unet_lora_plus_ratio=None, text_encoder_lora_plus_ratio=None): + def prepare_optimizer_params( + self, + text_encoder_lr, + unet_lr, + default_lr, + unet_lora_plus_ratio=None, + text_encoder_lora_plus_ratio=None + ): self.requires_grad_(True) all_params = [] @@ -1070,7 +1077,11 @@ def assemble_params(loras, lr, lora_plus_ratio): return params if self.text_encoder_loras: - params = assemble_params(self.text_encoder_loras, text_encoder_lr, text_encoder_lora_plus_ratio) + params = assemble_params( + self.text_encoder_loras, + text_encoder_lr if text_encoder_lr is not None else default_lr, + text_encoder_lora_plus_ratio + ) all_params.extend(params) if self.unet_loras: @@ -1085,14 +1096,19 @@ def assemble_params(loras, lr, lora_plus_ratio): # blockごとにパラメータを設定する for idx, block_loras in block_idx_to_lora.items(): - if unet_lr is not None: - params = assemble_params(block_loras, unet_lr * self.get_lr_weight(block_loras[0]), unet_lora_plus_ratio) - elif default_lr is not None: - params = assemble_params(block_loras, default_lr * self.get_lr_weight(block_loras[0]), unet_lora_plus_ratio) + params = assemble_params( + block_loras, + (unet_lr if unet_lr is not None else default_lr) * self.get_lr_weight(block_loras[0]), + unet_lora_plus_ratio + ) all_params.extend(params) else: - params = assemble_params(self.unet_loras, unet_lr, unet_lora_plus_ratio) + params = assemble_params( + self.unet_loras, + default_lr if unet_lr is None else unet_lr, + unet_lora_plus_ratio + ) all_params.extend(params) return all_params diff --git a/networks/lora_fa.py b/networks/lora_fa.py index fcc503e89..3f6774dd8 100644 --- a/networks/lora_fa.py +++ b/networks/lora_fa.py @@ -1033,7 +1033,14 @@ def get_lr_weight(self, lora: LoRAModule) -> float: return lr_weight # 二つのText Encoderに別々の学習率を設定できるようにするといいかも - def prepare_optimizer_params(self, text_encoder_lr, unet_lr, default_lr, , unet_lora_plus_ratio=None, text_encoder_lora_plus_ratio=None): + def prepare_optimizer_params( + self, + text_encoder_lr, + unet_lr, + default_lr, + unet_lora_plus_ratio=None, + text_encoder_lora_plus_ratio=None + ): self.requires_grad_(True) all_params = [] @@ -1068,7 +1075,11 @@ def assemble_params(loras: List[LoRAModule], lr, lora_plus_ratio): return params if self.text_encoder_loras: - params = assemble_params(self.text_encoder_loras, text_encoder_lr, text_encoder_lora_plus_ratio) + params = assemble_params( + self.text_encoder_loras, + text_encoder_lr if text_encoder_lr is not None else default_lr, + text_encoder_lora_plus_ratio + ) all_params.extend(params) if self.unet_loras: @@ -1083,14 +1094,19 @@ def assemble_params(loras: List[LoRAModule], lr, lora_plus_ratio): # blockごとにパラメータを設定する for idx, block_loras in block_idx_to_lora.items(): - if unet_lr is not None: - params = assemble_params(block_loras, unet_lr * self.get_lr_weight(block_loras[0]), unet_lora_plus_ratio) - elif default_lr is not None: - params = assemble_params(block_loras, default_lr * self.get_lr_weight(block_loras[0]), unet_lora_plus_ratio) + params = assemble_params( + block_loras, + (unet_lr if unet_lr is not None else default_lr) * self.get_lr_weight(block_loras[0]), + unet_lora_plus_ratio + ) all_params.extend(params) else: - params = assemble_params(self.unet_loras, unet_lr, unet_lora_plus_ratio) + params = assemble_params( + self.unet_loras, + default_lr if unet_lr is None else unet_lr, + unet_lora_plus_ratio + ) all_params.extend(params) return all_params From 75833e84a1c7e3c2fb0a9e3ce0fe3d8c1758a012 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Mon, 8 Apr 2024 19:23:02 -0400 Subject: [PATCH 024/748] Fix default LR, Add overall LoRA+ ratio, Add log `--loraplus_ratio` added for both TE and UNet Add log for lora+ --- library/train_util.py | 1 + networks/dylora.py | 24 ++++++------- networks/lora.py | 28 ++++++++-------- networks/lora_fa.py | 30 ++++++++--------- train_network.py | 78 ++++++++++++++++++++++++++++++++----------- 5 files changed, 101 insertions(+), 60 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index 4e5ab7370..7c2bf6935 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -2789,6 +2789,7 @@ def add_optimizer_arguments(parser: argparse.ArgumentParser): default=1, help="Polynomial power for polynomial scheduler / polynomialスケジューラでのpolynomial power", ) + parser.add_argument("--loraplus_lr_ratio", default=None, type=float, help="LoRA+ learning rate ratio") parser.add_argument("--loraplus_unet_lr_ratio", default=None, type=float, help="LoRA+ UNet learning rate ratio") parser.add_argument("--loraplus_text_encoder_lr_ratio", default=None, type=float, help="LoRA+ text encoder learning rate ratio") diff --git a/networks/dylora.py b/networks/dylora.py index edc3e2229..dc5c7cb35 100644 --- a/networks/dylora.py +++ b/networks/dylora.py @@ -412,32 +412,32 @@ def prepare_optimizer_params( text_encoder_lr, unet_lr, default_lr, - unet_lora_plus_ratio=None, - text_encoder_lora_plus_ratio=None + unet_loraplus_ratio=None, + text_encoder_loraplus_ratio=None, + loraplus_ratio=None ): self.requires_grad_(True) all_params = [] - def assemble_params(loras, lr, lora_plus_ratio): + def assemble_params(loras, lr, ratio): param_groups = {"lora": {}, "plus": {}} for lora in loras: for name, param in lora.named_parameters(): - if lora_plus_ratio is not None and "lora_up" in name: + if ratio is not None and "lora_B" in name: param_groups["plus"][f"{lora.lora_name}.{name}"] = param else: param_groups["lora"][f"{lora.lora_name}.{name}"] = param - # assigned_param_groups = "" - # for group in param_groups: - # assigned_param_groups += f"{group}\n {list(param_groups[group].keys())}\n\n" - # logger.info(assigned_param_groups) - params = [] for key in param_groups.keys(): param_data = {"params": param_groups[key].values()} + + if len(param_data["params"]) == 0: + continue + if lr is not None: if key == "plus": - param_data["lr"] = lr * lora_plus_ratio + param_data["lr"] = lr * ratio else: param_data["lr"] = lr @@ -452,7 +452,7 @@ def assemble_params(loras, lr, lora_plus_ratio): params = assemble_params( self.text_encoder_loras, text_encoder_lr if text_encoder_lr is not None else default_lr, - text_encoder_lora_plus_ratio + text_encoder_loraplus_ratio or loraplus_ratio ) all_params.extend(params) @@ -460,7 +460,7 @@ def assemble_params(loras, lr, lora_plus_ratio): params = assemble_params( self.unet_loras, default_lr if unet_lr is None else unet_lr, - unet_lora_plus_ratio + unet_loraplus_ratio or loraplus_ratio ) all_params.extend(params) diff --git a/networks/lora.py b/networks/lora.py index e082941e5..6cb05bcb0 100644 --- a/networks/lora.py +++ b/networks/lora.py @@ -1040,32 +1040,32 @@ def prepare_optimizer_params( text_encoder_lr, unet_lr, default_lr, - unet_lora_plus_ratio=None, - text_encoder_lora_plus_ratio=None + unet_loraplus_ratio=None, + text_encoder_loraplus_ratio=None, + loraplus_ratio=None ): self.requires_grad_(True) all_params = [] - def assemble_params(loras, lr, lora_plus_ratio): + def assemble_params(loras, lr, ratio): param_groups = {"lora": {}, "plus": {}} for lora in loras: for name, param in lora.named_parameters(): - if lora_plus_ratio is not None and "lora_up" in name: + if ratio is not None and "lora_up" in name: param_groups["plus"][f"{lora.lora_name}.{name}"] = param else: param_groups["lora"][f"{lora.lora_name}.{name}"] = param - # assigned_param_groups = "" - # for group in param_groups: - # assigned_param_groups += f"{group}\n {list(param_groups[group].keys())}\n\n" - # logger.info(assigned_param_groups) - params = [] for key in param_groups.keys(): param_data = {"params": param_groups[key].values()} + + if len(param_data["params"]) == 0: + continue + if lr is not None: if key == "plus": - param_data["lr"] = lr * lora_plus_ratio + param_data["lr"] = lr * ratio else: param_data["lr"] = lr @@ -1080,7 +1080,7 @@ def assemble_params(loras, lr, lora_plus_ratio): params = assemble_params( self.text_encoder_loras, text_encoder_lr if text_encoder_lr is not None else default_lr, - text_encoder_lora_plus_ratio + text_encoder_loraplus_ratio or loraplus_ratio ) all_params.extend(params) @@ -1099,15 +1099,15 @@ def assemble_params(loras, lr, lora_plus_ratio): params = assemble_params( block_loras, (unet_lr if unet_lr is not None else default_lr) * self.get_lr_weight(block_loras[0]), - unet_lora_plus_ratio + unet_loraplus_ratio or loraplus_ratio ) all_params.extend(params) else: params = assemble_params( self.unet_loras, - default_lr if unet_lr is None else unet_lr, - unet_lora_plus_ratio + unet_lr if unet_lr is not None else default_lr, + unet_loraplus_ratio or loraplus_ratio ) all_params.extend(params) diff --git a/networks/lora_fa.py b/networks/lora_fa.py index 3f6774dd8..2eff86d6c 100644 --- a/networks/lora_fa.py +++ b/networks/lora_fa.py @@ -1038,32 +1038,32 @@ def prepare_optimizer_params( text_encoder_lr, unet_lr, default_lr, - unet_lora_plus_ratio=None, - text_encoder_lora_plus_ratio=None + unet_loraplus_ratio=None, + text_encoder_loraplus_ratio=None, + loraplus_ratio=None ): self.requires_grad_(True) all_params = [] - def assemble_params(loras: List[LoRAModule], lr, lora_plus_ratio): + def assemble_params(loras, lr, ratio): param_groups = {"lora": {}, "plus": {}} for lora in loras: - for name, param in lora.get_trainable_named_params(): - if lora_plus_ratio is not None and "lora_up" in name: + for name, param in lora.named_parameters(): + if ratio is not None and "lora_up" in name: param_groups["plus"][f"{lora.lora_name}.{name}"] = param else: param_groups["lora"][f"{lora.lora_name}.{name}"] = param - # assigned_param_groups = "" - # for group in param_groups: - # assigned_param_groups += f"{group}\n {list(param_groups[group].keys())}\n\n" - # logger.info(assigned_param_groups) - params = [] for key in param_groups.keys(): param_data = {"params": param_groups[key].values()} + + if len(param_data["params"]) == 0: + continue + if lr is not None: if key == "plus": - param_data["lr"] = lr * lora_plus_ratio + param_data["lr"] = lr * ratio else: param_data["lr"] = lr @@ -1078,7 +1078,7 @@ def assemble_params(loras: List[LoRAModule], lr, lora_plus_ratio): params = assemble_params( self.text_encoder_loras, text_encoder_lr if text_encoder_lr is not None else default_lr, - text_encoder_lora_plus_ratio + text_encoder_loraplus_ratio or loraplus_ratio ) all_params.extend(params) @@ -1097,15 +1097,15 @@ def assemble_params(loras: List[LoRAModule], lr, lora_plus_ratio): params = assemble_params( block_loras, (unet_lr if unet_lr is not None else default_lr) * self.get_lr_weight(block_loras[0]), - unet_lora_plus_ratio + unet_loraplus_ratio or loraplus_ratio ) all_params.extend(params) else: params = assemble_params( self.unet_loras, - default_lr if unet_lr is None else unet_lr, - unet_lora_plus_ratio + unet_lr if unet_lr is not None else default_lr, + unet_loraplus_ratio or loraplus_ratio ) all_params.extend(params) diff --git a/train_network.py b/train_network.py index ba0c124d1..43226fc47 100644 --- a/train_network.py +++ b/train_network.py @@ -66,34 +66,69 @@ def generate_step_logs( lrs = lr_scheduler.get_last_lr() - if args.network_train_text_encoder_only or len(lrs) <= 2: # not block lr (or single block) - if args.network_train_unet_only: - logs["lr/unet"] = float(lrs[0]) - elif args.network_train_text_encoder_only: - logs["lr/textencoder"] = float(lrs[0]) - else: - logs["lr/textencoder"] = float(lrs[0]) - logs["lr/unet"] = float(lrs[-1]) # may be same to textencoder - - if ( - args.optimizer_type.lower().startswith("DAdapt".lower()) or args.optimizer_type.lower() == "Prodigy".lower() - ): # tracking d*lr value of unet. - logs["lr/d*lr"] = ( - lr_scheduler.optimizers[-1].param_groups[0]["d"] * lr_scheduler.optimizers[-1].param_groups[0]["lr"] - ) - else: + if len(lrs) > 4: idx = 0 if not args.network_train_unet_only: logs["lr/textencoder"] = float(lrs[0]) idx = 1 for i in range(idx, len(lrs)): - logs[f"lr/group{i}"] = float(lrs[i]) + lora_plus = "" + group_id = i + + if args.loraplus_lr_ratio is not None or args.loraplus_unet_lr_ratio is not None: + lora_plus = '_lora+' if i % 2 == 1 else '' + group_id = int((i / 2) + (i % 2 + 0.5)) + + logs[f"lr/group{group_id}{lora_plus}"] = float(lrs[i]) if args.optimizer_type.lower().startswith("DAdapt".lower()) or args.optimizer_type.lower() == "Prodigy".lower(): - logs[f"lr/d*lr/group{i}"] = ( + logs[f"lr/d*lr/group{group_id}{lora_plus}"] = ( lr_scheduler.optimizers[-1].param_groups[i]["d"] * lr_scheduler.optimizers[-1].param_groups[i]["lr"] ) + else: + if args.network_train_text_encoder_only: + if args.loraplus_lr_ratio is not None or args.loraplus_text_encoder_lr_ratio is not None: + logs["lr/textencoder"] = float(lrs[0]) + logs["lr/textencoder_lora+"] = float(lrs[1]) + else: + logs["lr/textencoder"] = float(lrs[0]) + + elif args.network_train_unet_only: + if args.loraplus_lr_ratio is not None or args.loraplus_unet_lr_ratio is not None: + logs["lr/unet"] = float(lrs[0]) + logs["lr/unet_lora+"] = float(lrs[1]) + else: + logs["lr/unet"] = float(lrs[0]) + else: + if len(lrs) == 2: + if args.loraplus_text_encoder_lr_ratio is not None and args.loraplus_unet_lr_ratio is None: + logs["lr/textencoder"] = float(lrs[0]) + logs["lr/textencoder_lora+"] = float(lrs[1]) + elif args.loraplus_unet_lr_ratio is not None and args.loraplus_text_encoder_lr_ratio is None: + logs["lr/unet"] = float(lrs[0]) + logs["lr/unet_lora+"] = float(lrs[1]) + elif args.loraplus_unet_lr_ratio is None and args.loraplus_text_encoder_lr_ratio is None and args.loraplus_lr_ratio is not None: + logs["lr/all"] = float(lrs[0]) + logs["lr/all_lora+"] = float(lrs[1]) + else: + logs["lr/textencoder"] = float(lrs[0]) + logs["lr/unet"] = float(lrs[-1]) + elif len(lrs) == 4: + logs["lr/textencoder"] = float(lrs[0]) + logs["lr/textencoder_lora+"] = float(lrs[1]) + logs["lr/unet"] = float(lrs[2]) + logs["lr/unet_lora+"] = float(lrs[3]) + else: + logs["lr/all"] = float(lrs[0]) + + if ( + args.optimizer_type.lower().startswith("DAdapt".lower()) or args.optimizer_type.lower() == "Prodigy".lower() + ): # tracking d*lr value of unet. + logs["lr/d*lr"] = ( + lr_scheduler.optimizers[-1].param_groups[0]["d"] * lr_scheduler.optimizers[-1].param_groups[0]["lr"] + ) + return logs def assert_extra_args(self, args, train_dataset_group): @@ -339,7 +374,7 @@ def train(self, args): # 後方互換性を確保するよ try: - trainable_params = network.prepare_optimizer_params(args.text_encoder_lr, args.unet_lr, args.learning_rate, args.loraplus_text_encoder_lr_ratio, args.loraplus_unet_lr_ratio) + trainable_params = network.prepare_optimizer_params(args.text_encoder_lr, args.unet_lr, args.learning_rate, args.loraplus_text_encoder_lr_ratio, args.loraplus_unet_lr_ratio, args.loraplus_lr_ratio) except TypeError: accelerator.print( "Deprecated: use prepare_optimizer_params(text_encoder_lr, unet_lr, learning_rate) instead of prepare_optimizer_params(text_encoder_lr, unet_lr)" @@ -348,6 +383,11 @@ def train(self, args): optimizer_name, optimizer_args, optimizer = train_util.get_optimizer(args, trainable_params) + if args.loraplus_lr_ratio is not None or args.loraplus_text_encoder_lr_ratio is not None or args.loraplus_unet_lr_ratio is not None: + assert ( + (optimizer_name != "Prodigy" and "DAdapt" not in optimizer_name) + ), "LoRA+ and Prodigy/DAdaptation is not supported" + # dataloaderを準備する # DataLoaderのプロセス数:0 は persistent_workers が使えないので注意 n_workers = min(args.max_data_loader_n_workers, os.cpu_count()) # cpu_count or max_data_loader_n_workers From 36d4023431d10718b00673d5ba34f426690c62de Mon Sep 17 00:00:00 2001 From: gesen2egee <79357052+gesen2egee@users.noreply.github.com> Date: Thu, 11 Apr 2024 01:39:17 +0800 Subject: [PATCH 025/748] Update config_util.py --- library/config_util.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/library/config_util.py b/library/config_util.py index a7e0024e3..c6667690e 100644 --- a/library/config_util.py +++ b/library/config_util.py @@ -498,10 +498,21 @@ def generate_dataset_group_by_blueprint(dataset_group_blueprint: DatasetGroupBlu else: subset_klass = FineTuningSubset dataset_klass = FineTuningDataset - if subset_klass == DreamBoothSubset: - subsets = [subset_klass(**asdict(subset_blueprint.params)) for subset_blueprint in dataset_blueprint.subsets if subset_blueprint.params.is_reg is False] - else: - subsets = [subset_klass(**asdict(subset_blueprint.params)) for subset_blueprint in dataset_blueprint.subsets] + + subsets = [] + for subset_blueprint in dataset_blueprint.subsets: + subset_blueprint.params.num_repeats = 1 + subset_blueprint.params.color_aug = False + subset_blueprint.params.flip_aug = False + subset_blueprint.params.random_crop = False + subset_blueprint.params.random_crop = None + subset_blueprint.params.caption_dropout_rate = 0.0 + subset_blueprint.params.caption_dropout_every_n_epochs = 0 + subset_blueprint.params.caption_tag_dropout_rate = 0.0 + subset_blueprint.params.token_warmup_step = 0 + if subset_klass != DreamBoothSubset or not subset_blueprint.params.is_reg: + subsets.append(subset_klass(**asdict(subset_blueprint.params))) + dataset = dataset_klass(subsets=subsets, is_train=False, **asdict(dataset_blueprint.params)) val_datasets.append(dataset) From 229c5a38ef4e93e2023d748b4fa1588d490340ad Mon Sep 17 00:00:00 2001 From: gesen2egee <79357052+gesen2egee@users.noreply.github.com> Date: Thu, 11 Apr 2024 01:45:49 +0800 Subject: [PATCH 026/748] Update train_util.py --- library/train_util.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/train_util.py b/library/train_util.py index 832be75d5..b143e85a8 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -3123,7 +3123,7 @@ def add_training_arguments(parser: argparse.ArgumentParser, support_dreambooth: ) parser.add_argument("--seed", type=int, default=None, help="random seed for training / 学習時の乱数のseed") parser.add_argument( - "--gradient_checkpointing", action="store_true", help="enable gradient checkpointing / grandient checkpointingを有効にする" + "--gradient_checkpointing", action="store_true", help="enable gradient checkpointing / gradient checkpointingを有効にする" ) parser.add_argument( "--gradient_accumulation_steps", From 3b251b758dae6e4f11e0bbc7e544dc9542c836ff Mon Sep 17 00:00:00 2001 From: gesen2egee <79357052+gesen2egee@users.noreply.github.com> Date: Thu, 11 Apr 2024 01:50:32 +0800 Subject: [PATCH 027/748] Update config_util.py --- library/config_util.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/library/config_util.py b/library/config_util.py index c6667690e..8f01e1f60 100644 --- a/library/config_util.py +++ b/library/config_util.py @@ -510,8 +510,10 @@ def generate_dataset_group_by_blueprint(dataset_group_blueprint: DatasetGroupBlu subset_blueprint.params.caption_dropout_every_n_epochs = 0 subset_blueprint.params.caption_tag_dropout_rate = 0.0 subset_blueprint.params.token_warmup_step = 0 - if subset_klass != DreamBoothSubset or not subset_blueprint.params.is_reg: - subsets.append(subset_klass(**asdict(subset_blueprint.params))) + + if subset_klass != DreamBoothSubset or (subset_klass == DreamBoothSubset and not subset_blueprint.params.is_reg): + subset = subset_klass(**asdict(subset_blueprint.params)) + subsets.append(subset) dataset = dataset_klass(subsets=subsets, is_train=False, **asdict(dataset_blueprint.params)) val_datasets.append(dataset) From 459b12539b0ae1a92da98e38568ea0a61db1e89f Mon Sep 17 00:00:00 2001 From: gesen2egee <79357052+gesen2egee@users.noreply.github.com> Date: Thu, 11 Apr 2024 01:52:14 +0800 Subject: [PATCH 028/748] Update config_util.py --- library/config_util.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/library/config_util.py b/library/config_util.py index 8f01e1f60..6f243aac3 100644 --- a/library/config_util.py +++ b/library/config_util.py @@ -512,8 +512,7 @@ def generate_dataset_group_by_blueprint(dataset_group_blueprint: DatasetGroupBlu subset_blueprint.params.token_warmup_step = 0 if subset_klass != DreamBoothSubset or (subset_klass == DreamBoothSubset and not subset_blueprint.params.is_reg): - subset = subset_klass(**asdict(subset_blueprint.params)) - subsets.append(subset) + subsets.append(subset_klass(**asdict(subset_blueprint.params))) dataset = dataset_klass(subsets=subsets, is_train=False, **asdict(dataset_blueprint.params)) val_datasets.append(dataset) From 89ad69b6a0d35791627cb58630a711befc6bb3b5 Mon Sep 17 00:00:00 2001 From: gesen2egee <79357052+gesen2egee@users.noreply.github.com> Date: Thu, 11 Apr 2024 08:42:31 +0800 Subject: [PATCH 029/748] Update train_util.py --- library/train_util.py | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index b143e85a8..8bf6823bb 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -1511,17 +1511,6 @@ def load_dreambooth_dir(subset: DreamBoothSubset): logger.warning(f"not directory: {subset.image_dir}") return [], [] - img_paths = glob_images(subset.image_dir, "*") - if self.validation_split > 0.0: - img_paths = split_train_val(img_paths, self.is_train, self.validation_split, self.validation_seed) - logger.info(f"found directory {subset.image_dir} contains {len(img_paths)} image files") - - # 画像ファイルごとにプロンプトを読み込み、もしあればそちらを使う - captions = [] - missing_captions = [] - for img_path in img_paths: - cap_for_img = read_caption(img_path, subset.caption_extension) - if cap_for_img is None and subset.class_tokens is None: info_cache_file = os.path.join(subset.image_dir, self.IMAGE_INFO_CACHE_FILE) use_cached_info_for_subset = subset.cache_info if use_cached_info_for_subset: @@ -1545,6 +1534,8 @@ def load_dreambooth_dir(subset: DreamBoothSubset): # we may need to check image size and existence of image files, but it takes time, so user should check it before training else: img_paths = glob_images(subset.image_dir, "*") + if self.validation_split > 0.0: + img_paths = split_train_val(img_paths, self.is_train, self.validation_split, self.validation_seed) sizes = [None] * len(img_paths) logger.info(f"found directory {subset.image_dir} contains {len(img_paths)} image files") From fde8026c2d92fe4991927eed6fa1ff373e8d38d2 Mon Sep 17 00:00:00 2001 From: gesen2egee <79357052+gesen2egee@users.noreply.github.com> Date: Thu, 11 Apr 2024 11:29:26 +0800 Subject: [PATCH 030/748] Update config_util.py --- library/config_util.py | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/library/config_util.py b/library/config_util.py index 6f243aac3..a1b02bd1e 100644 --- a/library/config_util.py +++ b/library/config_util.py @@ -636,19 +636,11 @@ def generate_dataset_group_by_blueprint(dataset_group_blueprint: DatasetGroupBlu [Subset {j} of Dataset {i}] image_dir: "{subset.image_dir}" image_count: {subset.img_count} - num_repeats: {subset.num_repeats} shuffle_caption: {subset.shuffle_caption} keep_tokens: {subset.keep_tokens} keep_tokens_separator: {subset.keep_tokens_separator} - caption_dropout_rate: {subset.caption_dropout_rate} - caption_dropout_every_n_epoches: {subset.caption_dropout_every_n_epochs} - caption_tag_dropout_rate: {subset.caption_tag_dropout_rate} caption_prefix: {subset.caption_prefix} caption_suffix: {subset.caption_suffix} - color_aug: {subset.color_aug} - flip_aug: {subset.flip_aug} - face_crop_aug_range: {subset.face_crop_aug_range} - random_crop: {subset.random_crop} token_warmup_min: {subset.token_warmup_min}, token_warmup_step: {subset.token_warmup_step}, """ @@ -688,7 +680,7 @@ def generate_dataset_group_by_blueprint(dataset_group_blueprint: DatasetGroupBlu dataset.set_seed(seed) for i, dataset in enumerate(val_datasets): - print(f"[Validation Dataset {i}]") + logger.info(f"[Validation Dataset {i}]") dataset.make_buckets() dataset.set_seed(seed) From 68467bdf4d76ba2c57289209b0ffd6ba599e2080 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Thu, 11 Apr 2024 17:33:19 -0400 Subject: [PATCH 031/748] Fix unset or invalid LR from making a param_group --- networks/dylora.py | 4 ++-- networks/lora.py | 5 +++-- networks/lora_fa.py | 4 ++-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/networks/dylora.py b/networks/dylora.py index dc5c7cb35..0546fc7ae 100644 --- a/networks/dylora.py +++ b/networks/dylora.py @@ -412,8 +412,8 @@ def prepare_optimizer_params( text_encoder_lr, unet_lr, default_lr, - unet_loraplus_ratio=None, text_encoder_loraplus_ratio=None, + unet_loraplus_ratio=None, loraplus_ratio=None ): self.requires_grad_(True) @@ -441,7 +441,7 @@ def assemble_params(loras, lr, ratio): else: param_data["lr"] = lr - if ("lr" in param_data) and (param_data["lr"] == 0): + if param_data.get("lr", None) == 0 or param_data.get("lr", None) is None: continue params.append(param_data) diff --git a/networks/lora.py b/networks/lora.py index 6cb05bcb0..d74608fea 100644 --- a/networks/lora.py +++ b/networks/lora.py @@ -1040,8 +1040,8 @@ def prepare_optimizer_params( text_encoder_lr, unet_lr, default_lr, - unet_loraplus_ratio=None, text_encoder_loraplus_ratio=None, + unet_loraplus_ratio=None, loraplus_ratio=None ): self.requires_grad_(True) @@ -1069,7 +1069,8 @@ def assemble_params(loras, lr, ratio): else: param_data["lr"] = lr - if ("lr" in param_data) and (param_data["lr"] == 0): + if param_data.get("lr", None) == 0 or param_data.get("lr", None) is None: + print("NO LR skipping!") continue params.append(param_data) diff --git a/networks/lora_fa.py b/networks/lora_fa.py index 2eff86d6c..9a608118a 100644 --- a/networks/lora_fa.py +++ b/networks/lora_fa.py @@ -1038,8 +1038,8 @@ def prepare_optimizer_params( text_encoder_lr, unet_lr, default_lr, - unet_loraplus_ratio=None, text_encoder_loraplus_ratio=None, + unet_loraplus_ratio=None, loraplus_ratio=None ): self.requires_grad_(True) @@ -1067,7 +1067,7 @@ def assemble_params(loras, lr, ratio): else: param_data["lr"] = lr - if ("lr" in param_data) and (param_data["lr"] == 0): + if param_data.get("lr", None) == 0 or param_data.get("lr", None) is None: continue params.append(param_data) From 4f203ce40d3a4647d52a2570a228e279dd04b321 Mon Sep 17 00:00:00 2001 From: 2kpr <96332338+2kpr@users.noreply.github.com> Date: Sun, 14 Apr 2024 09:56:58 -0500 Subject: [PATCH 032/748] Fused backward pass --- library/adafactor_fused.py | 106 +++++++++++++++++++++++++++++++++++++ library/train_util.py | 13 +++++ sdxl_train.py | 29 +++++++--- 3 files changed, 142 insertions(+), 6 deletions(-) create mode 100644 library/adafactor_fused.py diff --git a/library/adafactor_fused.py b/library/adafactor_fused.py new file mode 100644 index 000000000..bdfc32ced --- /dev/null +++ b/library/adafactor_fused.py @@ -0,0 +1,106 @@ +import math +import torch +from transformers import Adafactor + +@torch.no_grad() +def adafactor_step_param(self, p, group): + if p.grad is None: + return + grad = p.grad + if grad.dtype in {torch.float16, torch.bfloat16}: + grad = grad.float() + if grad.is_sparse: + raise RuntimeError("Adafactor does not support sparse gradients.") + + state = self.state[p] + grad_shape = grad.shape + + factored, use_first_moment = Adafactor._get_options(group, grad_shape) + # State Initialization + if len(state) == 0: + state["step"] = 0 + + if use_first_moment: + # Exponential moving average of gradient values + state["exp_avg"] = torch.zeros_like(grad) + if factored: + state["exp_avg_sq_row"] = torch.zeros(grad_shape[:-1]).to(grad) + state["exp_avg_sq_col"] = torch.zeros(grad_shape[:-2] + grad_shape[-1:]).to(grad) + else: + state["exp_avg_sq"] = torch.zeros_like(grad) + + state["RMS"] = 0 + else: + if use_first_moment: + state["exp_avg"] = state["exp_avg"].to(grad) + if factored: + state["exp_avg_sq_row"] = state["exp_avg_sq_row"].to(grad) + state["exp_avg_sq_col"] = state["exp_avg_sq_col"].to(grad) + else: + state["exp_avg_sq"] = state["exp_avg_sq"].to(grad) + + p_data_fp32 = p + if p.dtype in {torch.float16, torch.bfloat16}: + p_data_fp32 = p_data_fp32.float() + + state["step"] += 1 + state["RMS"] = Adafactor._rms(p_data_fp32) + lr = Adafactor._get_lr(group, state) + + beta2t = 1.0 - math.pow(state["step"], group["decay_rate"]) + update = (grad ** 2) + group["eps"][0] + if factored: + exp_avg_sq_row = state["exp_avg_sq_row"] + exp_avg_sq_col = state["exp_avg_sq_col"] + + exp_avg_sq_row.mul_(beta2t).add_(update.mean(dim=-1), alpha=(1.0 - beta2t)) + exp_avg_sq_col.mul_(beta2t).add_(update.mean(dim=-2), alpha=(1.0 - beta2t)) + + # Approximation of exponential moving average of square of gradient + update = Adafactor._approx_sq_grad(exp_avg_sq_row, exp_avg_sq_col) + update.mul_(grad) + else: + exp_avg_sq = state["exp_avg_sq"] + + exp_avg_sq.mul_(beta2t).add_(update, alpha=(1.0 - beta2t)) + update = exp_avg_sq.rsqrt().mul_(grad) + + update.div_((Adafactor._rms(update) / group["clip_threshold"]).clamp_(min=1.0)) + update.mul_(lr) + + if use_first_moment: + exp_avg = state["exp_avg"] + exp_avg.mul_(group["beta1"]).add_(update, alpha=(1 - group["beta1"])) + update = exp_avg + + if group["weight_decay"] != 0: + p_data_fp32.add_(p_data_fp32, alpha=(-group["weight_decay"] * lr)) + + p_data_fp32.add_(-update) + + if p.dtype in {torch.float16, torch.bfloat16}: + p.copy_(p_data_fp32) + + +@torch.no_grad() +def adafactor_step(self, closure=None): + """ + Performs a single optimization step + + Arguments: + closure (callable, optional): A closure that reevaluates the model + and returns the loss. + """ + loss = None + if closure is not None: + loss = closure() + + for group in self.param_groups: + for p in group["params"]: + adafactor_step_param(self, p, group) + + return loss + +def patch_adafactor_fused(optimizer: Adafactor): + optimizer.step_param = adafactor_step_param.__get__(optimizer) + optimizer.step = adafactor_step.__get__(optimizer) diff --git a/library/train_util.py b/library/train_util.py index 15c23f3cc..46b55c03e 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -2920,6 +2920,11 @@ def add_optimizer_arguments(parser: argparse.ArgumentParser): default=1, help="Polynomial power for polynomial scheduler / polynomialスケジューラでのpolynomial power", ) + parser.add_argument( + "--fused_backward_pass", + action="store_true", + help="Combines backward pass and optimizer step to reduce VRAM usage / バックワードパスとオプティマイザステップを組み合わせてVRAMの使用量を削減します。", + ) def add_training_arguments(parser: argparse.ArgumentParser, support_dreambooth: bool): @@ -3846,6 +3851,14 @@ def get_optimizer(args, trainable_params): optimizer_type = "AdamW" optimizer_type = optimizer_type.lower() + if args.fused_backward_pass: + assert ( + optimizer_type == "Adafactor".lower() + ), "fused_backward_pass currently only works with optimizer_type Adafactor / fused_backward_passは現在optimizer_type Adafactorでのみ機能します" + assert ( + args.gradient_accumulation_steps == 1 + ), "fused_backward_pass does not work with gradient_accumulation_steps > 1 / fused_backward_passはgradient_accumulation_steps>1では機能しません" + # 引数を分解する optimizer_kwargs = {} if args.optimizer_args is not None and len(args.optimizer_args) > 0: diff --git a/sdxl_train.py b/sdxl_train.py index 46d7860be..3b28575ed 100644 --- a/sdxl_train.py +++ b/sdxl_train.py @@ -430,6 +430,20 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): text_encoder2 = accelerator.prepare(text_encoder2) optimizer, train_dataloader, lr_scheduler = accelerator.prepare(optimizer, train_dataloader, lr_scheduler) + if args.fused_backward_pass: + import library.adafactor_fused + library.adafactor_fused.patch_adafactor_fused(optimizer) + for param_group in optimizer.param_groups: + for parameter in param_group["params"]: + if parameter.requires_grad: + def __grad_hook(tensor: torch.Tensor, param_group=param_group): + if accelerator.sync_gradients and args.max_grad_norm != 0.0: + accelerator.clip_grad_norm_(tensor, args.max_grad_norm) + optimizer.step_param(tensor, param_group) + tensor.grad = None + + parameter.register_post_accumulate_grad_hook(__grad_hook) + # TextEncoderの出力をキャッシュするときにはCPUへ移動する if args.cache_text_encoder_outputs: # move Text Encoders for sampling images. Text Encoder doesn't work on CPU with fp16 @@ -619,13 +633,16 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): loss = train_util.conditional_loss(noise_pred.float(), target.float(), reduction="mean", loss_type=args.loss_type, huber_c=huber_c) accelerator.backward(loss) - if accelerator.sync_gradients and args.max_grad_norm != 0.0: - params_to_clip = [] - for m in training_models: - params_to_clip.extend(m.parameters()) - accelerator.clip_grad_norm_(params_to_clip, args.max_grad_norm) - optimizer.step() + if not args.fused_backward_pass: + if accelerator.sync_gradients and args.max_grad_norm != 0.0: + params_to_clip = [] + for m in training_models: + params_to_clip.extend(m.parameters()) + accelerator.clip_grad_norm_(params_to_clip, args.max_grad_norm) + + optimizer.step() + lr_scheduler.step() optimizer.zero_grad(set_to_none=True) From 64916a35b2378c4a8cdf3e9efeef8b8ab7ccb41c Mon Sep 17 00:00:00 2001 From: Zovjsra <4703michael@gmail.com> Date: Tue, 16 Apr 2024 16:40:08 +0800 Subject: [PATCH 033/748] add disable_mmap to args --- library/sdxl_model_util.py | 14 +++++++++----- library/sdxl_train_util.py | 9 +++++++-- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/library/sdxl_model_util.py b/library/sdxl_model_util.py index f03f1bae5..e6fcb1f9c 100644 --- a/library/sdxl_model_util.py +++ b/library/sdxl_model_util.py @@ -1,4 +1,5 @@ import torch +import safetensors from accelerate import init_empty_weights from accelerate.utils.modeling import set_module_tensor_to_device from safetensors.torch import load_file, save_file @@ -163,17 +164,20 @@ def _load_state_dict_on_device(model, state_dict, device, dtype=None): raise RuntimeError("Error(s) in loading state_dict for {}:\n\t{}".format(model.__class__.__name__, "\n\t".join(error_msgs))) -def load_models_from_sdxl_checkpoint(model_version, ckpt_path, map_location, dtype=None): +def load_models_from_sdxl_checkpoint(model_version, ckpt_path, map_location, dtype=None, disable_mmap=False): # model_version is reserved for future use # dtype is used for full_fp16/bf16 integration. Text Encoder will remain fp32, because it runs on CPU when caching # Load the state dict if model_util.is_safetensors(ckpt_path): checkpoint = None - try: - state_dict = load_file(ckpt_path, device=map_location) - except: - state_dict = load_file(ckpt_path) # prevent device invalid Error + if(disable_mmap): + state_dict = safetensors.torch.load(open(ckpt_path, 'rb').read()) + else: + try: + state_dict = load_file(ckpt_path, device=map_location) + except: + state_dict = load_file(ckpt_path) # prevent device invalid Error epoch = None global_step = None else: diff --git a/library/sdxl_train_util.py b/library/sdxl_train_util.py index a29013e34..106c5b455 100644 --- a/library/sdxl_train_util.py +++ b/library/sdxl_train_util.py @@ -44,6 +44,7 @@ def load_target_model(args, accelerator, model_version: str, weight_dtype): weight_dtype, accelerator.device if args.lowram else "cpu", model_dtype, + args.disable_mmap_load_safetensors ) # work on low-ram device @@ -60,7 +61,7 @@ def load_target_model(args, accelerator, model_version: str, weight_dtype): def _load_target_model( - name_or_path: str, vae_path: Optional[str], model_version: str, weight_dtype, device="cpu", model_dtype=None + name_or_path: str, vae_path: Optional[str], model_version: str, weight_dtype, device="cpu", model_dtype=None, disable_mmap=False ): # model_dtype only work with full fp16/bf16 name_or_path = os.readlink(name_or_path) if os.path.islink(name_or_path) else name_or_path @@ -75,7 +76,7 @@ def _load_target_model( unet, logit_scale, ckpt_info, - ) = sdxl_model_util.load_models_from_sdxl_checkpoint(model_version, name_or_path, device, model_dtype) + ) = sdxl_model_util.load_models_from_sdxl_checkpoint(model_version, name_or_path, device, model_dtype, disable_mmap) else: # Diffusers model is loaded to CPU from diffusers import StableDiffusionXLPipeline @@ -332,6 +333,10 @@ def add_sdxl_training_arguments(parser: argparse.ArgumentParser): action="store_true", help="cache text encoder outputs to disk / text encoderの出力をディスクにキャッシュする", ) + parser.add_argument( + "--disable_mmap_load_safetensors", + action="store_true", + ) def verify_sdxl_training_args(args: argparse.Namespace, supportTextEncoderCaching: bool = True): From feefcf256e78a5f8d60c3a940f2be3b5c3ca335d Mon Sep 17 00:00:00 2001 From: Cauldrath Date: Thu, 18 Apr 2024 23:15:36 -0400 Subject: [PATCH 034/748] Display name of error latent file When trying to load stored latents, if an error occurs, this change will tell you what file failed to load Currently it will just tell you that something failed without telling you which file --- library/train_util.py | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index 15c23f3cc..58527fa00 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -2123,18 +2123,21 @@ def is_disk_cached_latents_is_expected(reso, npz_path: str, flip_aug: bool): if not os.path.exists(npz_path): return False - npz = np.load(npz_path) - if "latents" not in npz or "original_size" not in npz or "crop_ltrb" not in npz: # old ver? - return False - if npz["latents"].shape[1:3] != expected_latents_size: - return False - - if flip_aug: - if "latents_flipped" not in npz: + try: + npz = np.load(npz_path) + if "latents" not in npz or "original_size" not in npz or "crop_ltrb" not in npz: # old ver? return False - if npz["latents_flipped"].shape[1:3] != expected_latents_size: + if npz["latents"].shape[1:3] != expected_latents_size: return False + if flip_aug: + if "latents_flipped" not in npz: + return False + if npz["latents_flipped"].shape[1:3] != expected_latents_size: + return False + except: + raise RuntimeError(f"Error loading file: {npz_path}") + return True From fc374375de4fc9efd10eb598fdc166a4b6d0ad17 Mon Sep 17 00:00:00 2001 From: Cauldrath Date: Thu, 18 Apr 2024 23:29:01 -0400 Subject: [PATCH 035/748] Allow negative learning rate This can be used to train away from a group of images you don't want As this moves the model away from a point instead of towards it, the change in the model is unbounded So, don't set it too low. -4e-7 seemed to work well. --- sdxl_train.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sdxl_train.py b/sdxl_train.py index 46d7860be..1e6cec1a4 100644 --- a/sdxl_train.py +++ b/sdxl_train.py @@ -272,7 +272,7 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): # 学習を準備する:モデルを適切な状態にする if args.gradient_checkpointing: unet.enable_gradient_checkpointing() - train_unet = args.learning_rate > 0 + train_unet = args.learning_rate != 0 train_text_encoder1 = False train_text_encoder2 = False @@ -284,8 +284,8 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): text_encoder2.gradient_checkpointing_enable() lr_te1 = args.learning_rate_te1 if args.learning_rate_te1 is not None else args.learning_rate # 0 means not train lr_te2 = args.learning_rate_te2 if args.learning_rate_te2 is not None else args.learning_rate # 0 means not train - train_text_encoder1 = lr_te1 > 0 - train_text_encoder2 = lr_te2 > 0 + train_text_encoder1 = lr_te1 != 0 + train_text_encoder2 = lr_te2 != 0 # caching one text encoder output is not supported if not train_text_encoder1: From 2c9db5d9f2f6b57f15b9312139d0410ae8ae4f3c Mon Sep 17 00:00:00 2001 From: Maatra Date: Sat, 20 Apr 2024 14:11:43 +0100 Subject: [PATCH 036/748] passing filtered hyperparameters to accelerate --- fine_tune.py | 2 +- library/train_util.py | 14 ++++++++++++++ sdxl_train.py | 2 +- sdxl_train_control_net_lllite.py | 2 +- sdxl_train_control_net_lllite_old.py | 2 +- train_controlnet.py | 2 +- train_db.py | 2 +- train_network.py | 2 +- train_textual_inversion.py | 2 +- train_textual_inversion_XTI.py | 2 +- 10 files changed, 23 insertions(+), 9 deletions(-) diff --git a/fine_tune.py b/fine_tune.py index c7e6bbd2e..77a1a4f30 100644 --- a/fine_tune.py +++ b/fine_tune.py @@ -310,7 +310,7 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): init_kwargs["wandb"] = {"name": args.wandb_run_name} if args.log_tracker_config is not None: init_kwargs = toml.load(args.log_tracker_config) - accelerator.init_trackers("finetuning" if args.log_tracker_name is None else args.log_tracker_name, init_kwargs=init_kwargs) + accelerator.init_trackers("finetuning" if args.log_tracker_name is None else args.log_tracker_name, config=train_util.filter_sensitive_args(args), init_kwargs=init_kwargs) # For --sample_at_first train_util.sample_images(accelerator, args, 0, global_step, accelerator.device, vae, tokenizer, text_encoder, unet) diff --git a/library/train_util.py b/library/train_util.py index 15c23f3cc..40be2b05b 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -3378,6 +3378,20 @@ def add_masked_loss_arguments(parser: argparse.ArgumentParser): help="apply mask for calculating loss. conditioning_data_dir is required for dataset. / 損失計算時にマスクを適用する。datasetにはconditioning_data_dirが必要", ) +def filter_sensitive_args(args: argparse.Namespace): + sensitive_args = ["wandb_api_key", "huggingface_token"] + sensitive_path_args = [ + "pretrained_model_name_or_path", + "vae", + "tokenizer_cache_dir", + "train_data_dir", + "conditioning_data_dir", + "reg_data_dir", + "output_dir", + "logging_dir", + ] + filtered_args = {k: v for k, v in vars(args).items() if k not in sensitive_args + sensitive_path_args} + return filtered_args # verify command line args for training def verify_command_line_training_args(args: argparse.Namespace): diff --git a/sdxl_train.py b/sdxl_train.py index 46d7860be..5a9aa214e 100644 --- a/sdxl_train.py +++ b/sdxl_train.py @@ -487,7 +487,7 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): init_kwargs["wandb"] = {"name": args.wandb_run_name} if args.log_tracker_config is not None: init_kwargs = toml.load(args.log_tracker_config) - accelerator.init_trackers("finetuning" if args.log_tracker_name is None else args.log_tracker_name, init_kwargs=init_kwargs) + accelerator.init_trackers("finetuning" if args.log_tracker_name is None else args.log_tracker_name, config=train_util.filter_sensitive_args(args), init_kwargs=init_kwargs) # For --sample_at_first sdxl_train_util.sample_images( diff --git a/sdxl_train_control_net_lllite.py b/sdxl_train_control_net_lllite.py index f89c3628f..770a1f3df 100644 --- a/sdxl_train_control_net_lllite.py +++ b/sdxl_train_control_net_lllite.py @@ -353,7 +353,7 @@ def train(args): if args.log_tracker_config is not None: init_kwargs = toml.load(args.log_tracker_config) accelerator.init_trackers( - "lllite_control_net_train" if args.log_tracker_name is None else args.log_tracker_name, init_kwargs=init_kwargs + "lllite_control_net_train" if args.log_tracker_name is None else args.log_tracker_name, config=train_util.filter_sensitive_args(args), init_kwargs=init_kwargs ) loss_recorder = train_util.LossRecorder() diff --git a/sdxl_train_control_net_lllite_old.py b/sdxl_train_control_net_lllite_old.py index e85e978c1..9490cf6f2 100644 --- a/sdxl_train_control_net_lllite_old.py +++ b/sdxl_train_control_net_lllite_old.py @@ -324,7 +324,7 @@ def train(args): if args.log_tracker_config is not None: init_kwargs = toml.load(args.log_tracker_config) accelerator.init_trackers( - "lllite_control_net_train" if args.log_tracker_name is None else args.log_tracker_name, init_kwargs=init_kwargs + "lllite_control_net_train" if args.log_tracker_name is None else args.log_tracker_name, config=train_util.filter_sensitive_args(args), init_kwargs=init_kwargs ) loss_recorder = train_util.LossRecorder() diff --git a/train_controlnet.py b/train_controlnet.py index f4c94e8d9..793f79c7d 100644 --- a/train_controlnet.py +++ b/train_controlnet.py @@ -344,7 +344,7 @@ def train(args): if args.log_tracker_config is not None: init_kwargs = toml.load(args.log_tracker_config) accelerator.init_trackers( - "controlnet_train" if args.log_tracker_name is None else args.log_tracker_name, init_kwargs=init_kwargs + "controlnet_train" if args.log_tracker_name is None else args.log_tracker_name, config=train_util.filter_sensitive_args(args), init_kwargs=init_kwargs ) loss_recorder = train_util.LossRecorder() diff --git a/train_db.py b/train_db.py index 1de504ed8..4f9018293 100644 --- a/train_db.py +++ b/train_db.py @@ -290,7 +290,7 @@ def train(args): init_kwargs["wandb"] = {"name": args.wandb_run_name} if args.log_tracker_config is not None: init_kwargs = toml.load(args.log_tracker_config) - accelerator.init_trackers("dreambooth" if args.log_tracker_name is None else args.log_tracker_name, init_kwargs=init_kwargs) + accelerator.init_trackers("dreambooth" if args.log_tracker_name is None else args.log_tracker_name, config=train_util.filter_sensitive_args(args), init_kwargs=init_kwargs) # For --sample_at_first train_util.sample_images(accelerator, args, 0, global_step, accelerator.device, vae, tokenizer, text_encoder, unet) diff --git a/train_network.py b/train_network.py index c99d37247..1dca437cf 100644 --- a/train_network.py +++ b/train_network.py @@ -753,7 +753,7 @@ def load_model_hook(models, input_dir): if args.log_tracker_config is not None: init_kwargs = toml.load(args.log_tracker_config) accelerator.init_trackers( - "network_train" if args.log_tracker_name is None else args.log_tracker_name, init_kwargs=init_kwargs + "network_train" if args.log_tracker_name is None else args.log_tracker_name, config=train_util.filter_sensitive_args(args), init_kwargs=init_kwargs ) loss_recorder = train_util.LossRecorder() diff --git a/train_textual_inversion.py b/train_textual_inversion.py index 10fce2677..56a387391 100644 --- a/train_textual_inversion.py +++ b/train_textual_inversion.py @@ -510,7 +510,7 @@ def train(self, args): if args.log_tracker_config is not None: init_kwargs = toml.load(args.log_tracker_config) accelerator.init_trackers( - "textual_inversion" if args.log_tracker_name is None else args.log_tracker_name, init_kwargs=init_kwargs + "textual_inversion" if args.log_tracker_name is None else args.log_tracker_name, config=train_util.filter_sensitive_args(args), init_kwargs=init_kwargs ) # function for saving/removing diff --git a/train_textual_inversion_XTI.py b/train_textual_inversion_XTI.py index ddd03d532..691785239 100644 --- a/train_textual_inversion_XTI.py +++ b/train_textual_inversion_XTI.py @@ -407,7 +407,7 @@ def train(args): if args.log_tracker_config is not None: init_kwargs = toml.load(args.log_tracker_config) accelerator.init_trackers( - "textual_inversion" if args.log_tracker_name is None else args.log_tracker_name, init_kwargs=init_kwargs + "textual_inversion" if args.log_tracker_name is None else args.log_tracker_name, config=train_util.filter_sensitive_args(args), init_kwargs=init_kwargs ) # function for saving/removing From 4477116a64bb6c363d0fd9fbf3e21bb813548dfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9D=92=E9=BE=8D=E8=81=96=E8=80=85=40bdsqlsz?= Date: Sat, 20 Apr 2024 21:26:09 +0800 Subject: [PATCH 037/748] fix train controlnet --- library/train_util.py | 4 ++-- requirements.txt | 1 + train_controlnet.py | 8 ++++++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index 15c23f3cc..ecf3345fb 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -1982,8 +1982,8 @@ def make_buckets(self): self.bucket_manager = self.dreambooth_dataset_delegate.bucket_manager self.buckets_indices = self.dreambooth_dataset_delegate.buckets_indices - def cache_latents(self, vae, vae_batch_size=1, cache_to_disk=False, is_main_process=True): - return self.dreambooth_dataset_delegate.cache_latents(vae, vae_batch_size, cache_to_disk, is_main_process) + def cache_latents(self, vae, vae_batch_size=1, cache_to_disk=False, is_main_process=True, cache_file_suffix=".npz", divisor=8): + return self.dreambooth_dataset_delegate.cache_latents(vae, vae_batch_size, cache_to_disk, is_main_process, cache_file_suffix, divisor) def __len__(self): return self.dreambooth_dataset_delegate.__len__() diff --git a/requirements.txt b/requirements.txt index e99775b8a..9495dab2a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -17,6 +17,7 @@ easygui==0.98.3 toml==0.10.2 voluptuous==0.13.1 huggingface-hub==0.20.1 +omegaconf==2.3.0 # for Image utils imagesize==1.4.1 # for BLIP captioning diff --git a/train_controlnet.py b/train_controlnet.py index f4c94e8d9..763041aa6 100644 --- a/train_controlnet.py +++ b/train_controlnet.py @@ -5,7 +5,7 @@ import random import time from multiprocessing import Value -from types import SimpleNamespace +from omegaconf import OmegaConf import toml from tqdm import tqdm @@ -148,8 +148,10 @@ def train(args): "in_channels": 4, "layers_per_block": 2, "mid_block_scale_factor": 1, + "mid_block_type": "UNetMidBlock2DCrossAttn", "norm_eps": 1e-05, "norm_num_groups": 32, + "num_attention_heads": [5, 10, 20, 20], "num_class_embeds": None, "only_cross_attention": False, "out_channels": 4, @@ -179,8 +181,10 @@ def train(args): "in_channels": 4, "layers_per_block": 2, "mid_block_scale_factor": 1, + "mid_block_type": "UNetMidBlock2DCrossAttn", "norm_eps": 1e-05, "norm_num_groups": 32, + "num_attention_heads": 8, "out_channels": 4, "sample_size": 64, "up_block_types": ["UpBlock2D", "CrossAttnUpBlock2D", "CrossAttnUpBlock2D", "CrossAttnUpBlock2D"], @@ -193,7 +197,7 @@ def train(args): "resnet_time_scale_shift": "default", "projection_class_embeddings_input_dim": None, } - unet.config = SimpleNamespace(**unet.config) + unet.config = OmegaConf.create(unet.config) controlnet = ControlNetModel.from_unet(unet) From b886d0a359526f5715f3ced05697d406a169055b Mon Sep 17 00:00:00 2001 From: Maatra Date: Sat, 20 Apr 2024 14:36:47 +0100 Subject: [PATCH 038/748] Cleaned typing to be in line with accelerate hyperparameters type resctrictions --- library/train_util.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/library/train_util.py b/library/train_util.py index 40be2b05b..75b3420d9 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -3390,7 +3390,20 @@ def filter_sensitive_args(args: argparse.Namespace): "output_dir", "logging_dir", ] - filtered_args = {k: v for k, v in vars(args).items() if k not in sensitive_args + sensitive_path_args} + filtered_args = {} + for k, v in vars(args).items(): + # filter out sensitive values + if k not in sensitive_args + sensitive_path_args: + #Accelerate values need to have type `bool`,`str`, `float`, `int`, or `None`. + if v is None or isinstance(v, bool) or isinstance(v, str) or isinstance(v, float) or isinstance(v, int): + filtered_args[k] = v + # accelerate does not support lists + elif isinstance(v, list): + filtered_args[k] = f"{v}" + # accelerate does not support objects + elif isinstance(v, object): + filtered_args[k] = f"{v}" + return filtered_args # verify command line args for training From 5cb145d13bd9fae307a8766f4088b95f01492580 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9D=92=E9=BE=8D=E8=81=96=E8=80=85=40bdsqlsz?= Date: Sat, 20 Apr 2024 21:56:24 +0800 Subject: [PATCH 039/748] Update train_util.py --- library/train_util.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index ecf3345fb..15c23f3cc 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -1982,8 +1982,8 @@ def make_buckets(self): self.bucket_manager = self.dreambooth_dataset_delegate.bucket_manager self.buckets_indices = self.dreambooth_dataset_delegate.buckets_indices - def cache_latents(self, vae, vae_batch_size=1, cache_to_disk=False, is_main_process=True, cache_file_suffix=".npz", divisor=8): - return self.dreambooth_dataset_delegate.cache_latents(vae, vae_batch_size, cache_to_disk, is_main_process, cache_file_suffix, divisor) + def cache_latents(self, vae, vae_batch_size=1, cache_to_disk=False, is_main_process=True): + return self.dreambooth_dataset_delegate.cache_latents(vae, vae_batch_size, cache_to_disk, is_main_process) def __len__(self): return self.dreambooth_dataset_delegate.__len__() From 52652cba1a419cd72851c3882f1f877670d889c5 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 21 Apr 2024 17:41:32 +0900 Subject: [PATCH 040/748] disable main process check for deepspeed #1247 --- train_network.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/train_network.py b/train_network.py index c99d37247..3a5255160 100644 --- a/train_network.py +++ b/train_network.py @@ -474,7 +474,8 @@ def train(self, args): # before resuming make hook for saving/loading to save/load the network weights only def save_model_hook(models, weights, output_dir): # pop weights of other models than network to save only network weights - if accelerator.is_main_process: + # only main process or deepspeed https://github.com/huggingface/diffusers/issues/2606 + if accelerator.is_main_process or args.deepspeed: remove_indices = [] for i, model in enumerate(models): if not isinstance(model, type(accelerator.unwrap_model(network))): From 0540c33acac223b672da05e40edcfb3b6a35c0da Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 21 Apr 2024 17:45:29 +0900 Subject: [PATCH 041/748] pop weights if available #1247 --- train_network.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/train_network.py b/train_network.py index 3a5255160..aad5a7194 100644 --- a/train_network.py +++ b/train_network.py @@ -481,7 +481,8 @@ def save_model_hook(models, weights, output_dir): if not isinstance(model, type(accelerator.unwrap_model(network))): remove_indices.append(i) for i in reversed(remove_indices): - weights.pop(i) + if len(weights) > i: + weights.pop(i) # print(f"save model hook: {len(weights)} weights will be saved") def load_model_hook(models, input_dir): From 040e26ff1d8f855f52cdfb62781e06284c5e9e34 Mon Sep 17 00:00:00 2001 From: Cauldrath Date: Sun, 21 Apr 2024 13:46:31 -0400 Subject: [PATCH 042/748] Regenerate failed file If a latent file fails to load, print out the path and the error, then return false to regenerate it --- library/train_util.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index 58527fa00..4168a41fb 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -2135,8 +2135,10 @@ def is_disk_cached_latents_is_expected(reso, npz_path: str, flip_aug: bool): return False if npz["latents_flipped"].shape[1:3] != expected_latents_size: return False - except: - raise RuntimeError(f"Error loading file: {npz_path}") + except Exception as e: + print(npz_path) + print(e) + return False return True From fdbb03c360777562e91ab1884ed7cf2c3d65611b Mon Sep 17 00:00:00 2001 From: frodo821 Date: Tue, 23 Apr 2024 14:29:05 +0900 Subject: [PATCH 043/748] removed unnecessary `torch` import on line 115 as per #1290 --- finetune/tag_images_by_wd14_tagger.py | 1 - 1 file changed, 1 deletion(-) diff --git a/finetune/tag_images_by_wd14_tagger.py b/finetune/tag_images_by_wd14_tagger.py index a327bbd61..b3f9cdd26 100644 --- a/finetune/tag_images_by_wd14_tagger.py +++ b/finetune/tag_images_by_wd14_tagger.py @@ -112,7 +112,6 @@ def main(args): # モデルを読み込む if args.onnx: - import torch import onnx import onnxruntime as ort From 969f82ab474024865d292afd96768e817c9374c1 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Mon, 29 Apr 2024 20:04:25 +0900 Subject: [PATCH 044/748] move loraplus args from args to network_args, simplify log lr desc --- library/train_util.py | 3 -- networks/lora.py | 58 ++++++++++++++------- train_network.py | 114 ++++++++++++++++-------------------------- 3 files changed, 84 insertions(+), 91 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index 048ed2ce3..15c23f3cc 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -2920,9 +2920,6 @@ def add_optimizer_arguments(parser: argparse.ArgumentParser): default=1, help="Polynomial power for polynomial scheduler / polynomialスケジューラでのpolynomial power", ) - parser.add_argument("--loraplus_lr_ratio", default=None, type=float, help="LoRA+ learning rate ratio") - parser.add_argument("--loraplus_unet_lr_ratio", default=None, type=float, help="LoRA+ UNet learning rate ratio") - parser.add_argument("--loraplus_text_encoder_lr_ratio", default=None, type=float, help="LoRA+ text encoder learning rate ratio") def add_training_arguments(parser: argparse.ArgumentParser, support_dreambooth: bool): diff --git a/networks/lora.py b/networks/lora.py index edbbdc0d8..b67c59bd5 100644 --- a/networks/lora.py +++ b/networks/lora.py @@ -490,6 +490,14 @@ def create_network( varbose=True, ) + loraplus_lr_ratio = kwargs.get("loraplus_lr_ratio", None) + loraplus_unet_lr_ratio = kwargs.get("loraplus_unet_lr_ratio", None) + loraplus_text_encoder_lr_ratio = kwargs.get("loraplus_text_encoder_lr_ratio", None) + loraplus_lr_ratio = float(loraplus_lr_ratio) if loraplus_lr_ratio is not None else None + loraplus_unet_lr_ratio = float(loraplus_unet_lr_ratio) if loraplus_unet_lr_ratio is not None else None + loraplus_text_encoder_lr_ratio = float(loraplus_text_encoder_lr_ratio) if loraplus_text_encoder_lr_ratio is not None else None + network.set_loraplus_lr_ratio(loraplus_lr_ratio, loraplus_unet_lr_ratio, loraplus_text_encoder_lr_ratio) + if up_lr_weight is not None or mid_lr_weight is not None or down_lr_weight is not None: network.set_block_lr_weight(up_lr_weight, mid_lr_weight, down_lr_weight) @@ -1033,18 +1041,27 @@ def get_lr_weight(self, lora: LoRAModule) -> float: return lr_weight + def set_loraplus_lr_ratio(self, loraplus_lr_ratio, loraplus_unet_lr_ratio, loraplus_text_encoder_lr_ratio): + self.loraplus_lr_ratio = loraplus_lr_ratio + self.loraplus_unet_lr_ratio = loraplus_unet_lr_ratio + self.loraplus_text_encoder_lr_ratio = loraplus_text_encoder_lr_ratio + # 二つのText Encoderに別々の学習率を設定できるようにするといいかも - def prepare_optimizer_params( - self, - text_encoder_lr, - unet_lr, - default_lr, - text_encoder_loraplus_ratio=None, - unet_loraplus_ratio=None, - loraplus_ratio=None - ): + def prepare_optimizer_params(self, text_encoder_lr, unet_lr, default_lr): + # TODO warn if optimizer is not compatible with LoRA+ (but it will cause error so we don't need to check it here?) + # if ( + # self.loraplus_lr_ratio is not None + # or self.loraplus_text_encoder_lr_ratio is not None + # or self.loraplus_unet_lr_ratio is not None + # ): + # assert ( + # optimizer_type.lower() != "prodigy" and "dadapt" not in optimizer_type.lower() + # ), "LoRA+ and Prodigy/DAdaptation is not supported / LoRA+とProdigy/DAdaptationの組み合わせはサポートされていません" + self.requires_grad_(True) + all_params = [] + lr_descriptions = [] def assemble_params(loras, lr, ratio): param_groups = {"lora": {}, "plus": {}} @@ -1056,6 +1073,7 @@ def assemble_params(loras, lr, ratio): param_groups["lora"][f"{lora.lora_name}.{name}"] = param params = [] + descriptions = [] for key in param_groups.keys(): param_data = {"params": param_groups[key].values()} @@ -1069,20 +1087,22 @@ def assemble_params(loras, lr, ratio): param_data["lr"] = lr if param_data.get("lr", None) == 0 or param_data.get("lr", None) is None: - print("NO LR skipping!") + logger.info("NO LR skipping!") continue params.append(param_data) + descriptions.append("plus" if key == "plus" else "") - return params + return params, descriptions if self.text_encoder_loras: - params = assemble_params( + params, descriptions = assemble_params( self.text_encoder_loras, text_encoder_lr if text_encoder_lr is not None else default_lr, - text_encoder_loraplus_ratio or loraplus_ratio + self.loraplus_text_encoder_lr_ratio or self.loraplus_lr_ratio, ) all_params.extend(params) + lr_descriptions.extend(["textencoder" + (" " + d if d else "") for d in descriptions]) if self.unet_loras: if self.block_lr: @@ -1096,22 +1116,24 @@ def assemble_params(loras, lr, ratio): # blockごとにパラメータを設定する for idx, block_loras in block_idx_to_lora.items(): - params = assemble_params( + params, descriptions = assemble_params( block_loras, (unet_lr if unet_lr is not None else default_lr) * self.get_lr_weight(block_loras[0]), - unet_loraplus_ratio or loraplus_ratio + self.loraplus_unet_lr_ratio or self.loraplus_lr_ratio, ) all_params.extend(params) + lr_descriptions.extend([f"unet_block{idx}" + (" " + d if d else "") for d in descriptions]) else: - params = assemble_params( + params, descriptions = assemble_params( self.unet_loras, unet_lr if unet_lr is not None else default_lr, - unet_loraplus_ratio or loraplus_ratio + self.loraplus_unet_lr_ratio or self.loraplus_lr_ratio, ) all_params.extend(params) + lr_descriptions.extend(["unet" + (" " + d if d else "") for d in descriptions]) - return all_params + return all_params, lr_descriptions def enable_gradient_checkpointing(self): # not supported diff --git a/train_network.py b/train_network.py index 9670490ae..c43241e8d 100644 --- a/train_network.py +++ b/train_network.py @@ -53,7 +53,15 @@ def __init__(self): # TODO 他のスクリプトと共通化する def generate_step_logs( - self, args: argparse.Namespace, current_loss, avr_loss, lr_scheduler, keys_scaled=None, mean_norm=None, maximum_norm=None + self, + args: argparse.Namespace, + current_loss, + avr_loss, + lr_scheduler, + lr_descriptions, + keys_scaled=None, + mean_norm=None, + maximum_norm=None, ): logs = {"loss/current": current_loss, "loss/average": avr_loss} @@ -63,68 +71,25 @@ def generate_step_logs( logs["max_norm/max_key_norm"] = maximum_norm lrs = lr_scheduler.get_last_lr() - - if len(lrs) > 4: - idx = 0 - if not args.network_train_unet_only: - logs["lr/textencoder"] = float(lrs[0]) - idx = 1 - - for i in range(idx, len(lrs)): - lora_plus = "" - group_id = i - - if args.loraplus_lr_ratio is not None or args.loraplus_unet_lr_ratio is not None: - lora_plus = '_lora+' if i % 2 == 1 else '' - group_id = int((i / 2) + (i % 2 + 0.5)) - - logs[f"lr/group{group_id}{lora_plus}"] = float(lrs[i]) - if args.optimizer_type.lower().startswith("DAdapt".lower()) or args.optimizer_type.lower() == "Prodigy".lower(): - logs[f"lr/d*lr/group{group_id}{lora_plus}"] = ( - lr_scheduler.optimizers[-1].param_groups[i]["d"] * lr_scheduler.optimizers[-1].param_groups[i]["lr"] - ) - - else: - if args.network_train_text_encoder_only: - if args.loraplus_lr_ratio is not None or args.loraplus_text_encoder_lr_ratio is not None: - logs["lr/textencoder"] = float(lrs[0]) - logs["lr/textencoder_lora+"] = float(lrs[1]) - else: - logs["lr/textencoder"] = float(lrs[0]) - - elif args.network_train_unet_only: - if args.loraplus_lr_ratio is not None or args.loraplus_unet_lr_ratio is not None: - logs["lr/unet"] = float(lrs[0]) - logs["lr/unet_lora+"] = float(lrs[1]) - else: - logs["lr/unet"] = float(lrs[0]) + for i, lr in enumerate(lrs): + if lr_descriptions is not None: + lr_desc = lr_descriptions[i] else: - if len(lrs) == 2: - if args.loraplus_text_encoder_lr_ratio is not None and args.loraplus_unet_lr_ratio is None: - logs["lr/textencoder"] = float(lrs[0]) - logs["lr/textencoder_lora+"] = float(lrs[1]) - elif args.loraplus_unet_lr_ratio is not None and args.loraplus_text_encoder_lr_ratio is None: - logs["lr/unet"] = float(lrs[0]) - logs["lr/unet_lora+"] = float(lrs[1]) - elif args.loraplus_unet_lr_ratio is None and args.loraplus_text_encoder_lr_ratio is None and args.loraplus_lr_ratio is not None: - logs["lr/all"] = float(lrs[0]) - logs["lr/all_lora+"] = float(lrs[1]) - else: - logs["lr/textencoder"] = float(lrs[0]) - logs["lr/unet"] = float(lrs[-1]) - elif len(lrs) == 4: - logs["lr/textencoder"] = float(lrs[0]) - logs["lr/textencoder_lora+"] = float(lrs[1]) - logs["lr/unet"] = float(lrs[2]) - logs["lr/unet_lora+"] = float(lrs[3]) + idx = i - (0 if args.network_train_unet_only else -1) + if idx == -1: + lr_desc = "textencoder" else: - logs["lr/all"] = float(lrs[0]) + if len(lrs) > 2: + lr_desc = f"group{idx}" + else: + lr_desc = "unet" + + logs[f"lr/{lr_desc}"] = lr - if ( - args.optimizer_type.lower().startswith("DAdapt".lower()) or args.optimizer_type.lower() == "Prodigy".lower() - ): # tracking d*lr value of unet. - logs["lr/d*lr"] = ( - lr_scheduler.optimizers[-1].param_groups[0]["d"] * lr_scheduler.optimizers[-1].param_groups[0]["lr"] + if args.optimizer_type.lower().startswith("DAdapt".lower()) or args.optimizer_type.lower() == "Prodigy".lower(): + # tracking d*lr value + logs[f"lr/d*lr/{lr_desc}"] = ( + lr_scheduler.optimizers[-1].param_groups[i]["d"] * lr_scheduler.optimizers[-1].param_groups[i]["lr"] ) return logs @@ -358,6 +323,7 @@ def train(self, args): network.apply_to(text_encoder, unet, train_text_encoder, train_unet) if args.network_weights is not None: + # FIXME consider alpha of weights info = network.load_weights(args.network_weights) accelerator.print(f"load network weights from {args.network_weights}: {info}") @@ -373,20 +339,23 @@ def train(self, args): # 後方互換性を確保するよ try: - trainable_params = network.prepare_optimizer_params(args.text_encoder_lr, args.unet_lr, args.learning_rate, args.loraplus_text_encoder_lr_ratio, args.loraplus_unet_lr_ratio, args.loraplus_lr_ratio) + results = network.prepare_optimizer_params(args.text_encoder_lr, args.unet_lr, args.learning_rate) + if type(results) is tuple: + trainable_params = results[0] + lr_descriptions = results[1] + else: + trainable_params = results + lr_descriptions = None except TypeError: - accelerator.print( - "Deprecated: use prepare_optimizer_params(text_encoder_lr, unet_lr, learning_rate) instead of prepare_optimizer_params(text_encoder_lr, unet_lr)" - ) + # accelerator.print( + # "Deprecated: use prepare_optimizer_params(text_encoder_lr, unet_lr, learning_rate) instead of prepare_optimizer_params(text_encoder_lr, unet_lr)" + # ) trainable_params = network.prepare_optimizer_params(args.text_encoder_lr, args.unet_lr) + lr_descriptions = None + print(lr_descriptions) optimizer_name, optimizer_args, optimizer = train_util.get_optimizer(args, trainable_params) - if args.loraplus_lr_ratio is not None or args.loraplus_text_encoder_lr_ratio is not None or args.loraplus_unet_lr_ratio is not None: - assert ( - (optimizer_name != "Prodigy" and "DAdapt" not in optimizer_name) - ), "LoRA+ and Prodigy/DAdaptation is not supported" - # dataloaderを準備する # DataLoaderのプロセス数:0 は persistent_workers が使えないので注意 n_workers = min(args.max_data_loader_n_workers, os.cpu_count()) # cpu_count or max_data_loader_n_workers @@ -992,7 +961,9 @@ def remove_model(old_ckpt_name): progress_bar.set_postfix(**{**max_mean_logs, **logs}) if args.logging_dir is not None: - logs = self.generate_step_logs(args, current_loss, avr_loss, lr_scheduler, keys_scaled, mean_norm, maximum_norm) + logs = self.generate_step_logs( + args, current_loss, avr_loss, lr_scheduler, lr_descriptions, keys_scaled, mean_norm, maximum_norm + ) accelerator.log(logs, step=global_step) if global_step >= args.max_train_steps: @@ -1143,6 +1114,9 @@ def setup_parser() -> argparse.ArgumentParser: action="store_true", help="do not use fp16/bf16 VAE in mixed precision (use float VAE) / mixed precisionでも fp16/bf16 VAEを使わずfloat VAEを使う", ) + # parser.add_argument("--loraplus_lr_ratio", default=None, type=float, help="LoRA+ learning rate ratio") + # parser.add_argument("--loraplus_unet_lr_ratio", default=None, type=float, help="LoRA+ UNet learning rate ratio") + # parser.add_argument("--loraplus_text_encoder_lr_ratio", default=None, type=float, help="LoRA+ text encoder learning rate ratio") return parser From dbb7bb288e416dae56d2911077e2642ad0f4b20d Mon Sep 17 00:00:00 2001 From: Dave Lage Date: Thu, 2 May 2024 17:39:35 -0400 Subject: [PATCH 045/748] Fix caption_separator missing in subset schema --- library/config_util.py | 1 + 1 file changed, 1 insertion(+) diff --git a/library/config_util.py b/library/config_util.py index d75d03b03..0276acb1e 100644 --- a/library/config_util.py +++ b/library/config_util.py @@ -191,6 +191,7 @@ def __validate_and_convert_scalar_or_twodim(klass, value: Union[float, Sequence] "keep_tokens": int, "keep_tokens_separator": str, "secondary_separator": str, + "caption_separator": str, "enable_wildcard": bool, "token_warmup_min": int, "token_warmup_step": Any(float, int), From 8db0cadcee47005feef5be34cbfaac8b85fe8837 Mon Sep 17 00:00:00 2001 From: Dave Lage Date: Thu, 2 May 2024 18:08:28 -0400 Subject: [PATCH 046/748] Add caption_separator to output for subset --- library/config_util.py | 1 + 1 file changed, 1 insertion(+) diff --git a/library/config_util.py b/library/config_util.py index d75d03b03..97554bbef 100644 --- a/library/config_util.py +++ b/library/config_util.py @@ -523,6 +523,7 @@ def generate_dataset_group_by_blueprint(dataset_group_blueprint: DatasetGroupBlu shuffle_caption: {subset.shuffle_caption} keep_tokens: {subset.keep_tokens} keep_tokens_separator: {subset.keep_tokens_separator} + caption_separator: {subset.caption_separator} secondary_separator: {subset.secondary_separator} enable_wildcard: {subset.enable_wildcard} caption_dropout_rate: {subset.caption_dropout_rate} From 58c2d856ae6da6d6962cbfdd98c8a93eb790cbde Mon Sep 17 00:00:00 2001 From: Kohya S Date: Fri, 3 May 2024 22:18:20 +0900 Subject: [PATCH 047/748] support block dim/lr for sdxl --- networks/lora.py | 275 +++++++++++++++++++++++++++-------------------- train_network.py | 4 +- 2 files changed, 158 insertions(+), 121 deletions(-) diff --git a/networks/lora.py b/networks/lora.py index b67c59bd5..61b8cd5a7 100644 --- a/networks/lora.py +++ b/networks/lora.py @@ -12,6 +12,7 @@ import torch import re from library.utils import setup_logging +from library.sdxl_original_unet import SdxlUNet2DConditionModel setup_logging() import logging @@ -385,14 +386,14 @@ def to_out_forward(self, x): return out -def parse_block_lr_kwargs(nw_kwargs): +def parse_block_lr_kwargs(is_sdxl: bool, nw_kwargs: Dict) -> Optional[List[float]]: down_lr_weight = nw_kwargs.get("down_lr_weight", None) mid_lr_weight = nw_kwargs.get("mid_lr_weight", None) up_lr_weight = nw_kwargs.get("up_lr_weight", None) # 以上のいずれにも設定がない場合は無効としてNoneを返す if down_lr_weight is None and mid_lr_weight is None and up_lr_weight is None: - return None, None, None + return None # extract learning rate weight for each block if down_lr_weight is not None: @@ -401,18 +402,16 @@ def parse_block_lr_kwargs(nw_kwargs): down_lr_weight = [(float(s) if s else 0.0) for s in down_lr_weight.split(",")] if mid_lr_weight is not None: - mid_lr_weight = float(mid_lr_weight) + mid_lr_weight = [(float(s) if s else 0.0) for s in mid_lr_weight.split(",")] if up_lr_weight is not None: if "," in up_lr_weight: up_lr_weight = [(float(s) if s else 0.0) for s in up_lr_weight.split(",")] - down_lr_weight, mid_lr_weight, up_lr_weight = get_block_lr_weight( - down_lr_weight, mid_lr_weight, up_lr_weight, float(nw_kwargs.get("block_lr_zero_threshold", 0.0)) + return get_block_lr_weight( + is_sdxl, down_lr_weight, mid_lr_weight, up_lr_weight, float(nw_kwargs.get("block_lr_zero_threshold", 0.0)) ) - return down_lr_weight, mid_lr_weight, up_lr_weight - def create_network( multiplier: float, @@ -424,6 +423,9 @@ def create_network( neuron_dropout: Optional[float] = None, **kwargs, ): + # if unet is an instance of SdxlUNet2DConditionModel or subclass, set is_sdxl to True + is_sdxl = unet is not None and issubclass(unet.__class__, SdxlUNet2DConditionModel) + if network_dim is None: network_dim = 4 # default if network_alpha is None: @@ -441,21 +443,21 @@ def create_network( # block dim/alpha/lr block_dims = kwargs.get("block_dims", None) - down_lr_weight, mid_lr_weight, up_lr_weight = parse_block_lr_kwargs(kwargs) + block_lr_weight = parse_block_lr_kwargs(is_sdxl, kwargs) # 以上のいずれかに指定があればblockごとのdim(rank)を有効にする - if block_dims is not None or down_lr_weight is not None or mid_lr_weight is not None or up_lr_weight is not None: + if block_dims is not None or block_lr_weight is not None: block_alphas = kwargs.get("block_alphas", None) conv_block_dims = kwargs.get("conv_block_dims", None) conv_block_alphas = kwargs.get("conv_block_alphas", None) block_dims, block_alphas, conv_block_dims, conv_block_alphas = get_block_dims_and_alphas( - block_dims, block_alphas, network_dim, network_alpha, conv_block_dims, conv_block_alphas, conv_dim, conv_alpha + is_sdxl, block_dims, block_alphas, network_dim, network_alpha, conv_block_dims, conv_block_alphas, conv_dim, conv_alpha ) # remove block dim/alpha without learning rate block_dims, block_alphas, conv_block_dims, conv_block_alphas = remove_block_dims_and_alphas( - block_dims, block_alphas, conv_block_dims, conv_block_alphas, down_lr_weight, mid_lr_weight, up_lr_weight + is_sdxl, block_dims, block_alphas, conv_block_dims, conv_block_alphas, block_lr_weight ) else: @@ -488,6 +490,7 @@ def create_network( conv_block_dims=conv_block_dims, conv_block_alphas=conv_block_alphas, varbose=True, + is_sdxl=is_sdxl, ) loraplus_lr_ratio = kwargs.get("loraplus_lr_ratio", None) @@ -498,8 +501,8 @@ def create_network( loraplus_text_encoder_lr_ratio = float(loraplus_text_encoder_lr_ratio) if loraplus_text_encoder_lr_ratio is not None else None network.set_loraplus_lr_ratio(loraplus_lr_ratio, loraplus_unet_lr_ratio, loraplus_text_encoder_lr_ratio) - if up_lr_weight is not None or mid_lr_weight is not None or down_lr_weight is not None: - network.set_block_lr_weight(up_lr_weight, mid_lr_weight, down_lr_weight) + if block_lr_weight is not None: + network.set_block_lr_weight(block_lr_weight) return network @@ -509,9 +512,13 @@ def create_network( # block_dims, block_alphas は両方ともNoneまたは両方とも値が入っている # conv_dim, conv_alpha は両方ともNoneまたは両方とも値が入っている def get_block_dims_and_alphas( - block_dims, block_alphas, network_dim, network_alpha, conv_block_dims, conv_block_alphas, conv_dim, conv_alpha + is_sdxl, block_dims, block_alphas, network_dim, network_alpha, conv_block_dims, conv_block_alphas, conv_dim, conv_alpha ): - num_total_blocks = LoRANetwork.NUM_OF_BLOCKS * 2 + 1 + if not is_sdxl: + num_total_blocks = LoRANetwork.NUM_OF_BLOCKS * 2 + LoRANetwork.NUM_OF_MID_BLOCKS + else: + # 1+9+3+9+1=23, no LoRA for emb_layers (0) + num_total_blocks = 1 + LoRANetwork.SDXL_NUM_OF_BLOCKS * 2 + LoRANetwork.SDXL_NUM_OF_MID_BLOCKS + 1 def parse_ints(s): return [int(i) for i in s.split(",")] @@ -522,9 +529,10 @@ def parse_floats(s): # block_dimsとblock_alphasをパースする。必ず値が入る if block_dims is not None: block_dims = parse_ints(block_dims) - assert ( - len(block_dims) == num_total_blocks - ), f"block_dims must have {num_total_blocks} elements / block_dimsは{num_total_blocks}個指定してください" + assert len(block_dims) == num_total_blocks, ( + f"block_dims must have {num_total_blocks} elements but {len(block_dims)} elements are given" + + f" / block_dimsは{num_total_blocks}個指定してください(指定された個数: {len(block_dims)})" + ) else: logger.warning( f"block_dims is not specified. all dims are set to {network_dim} / block_dimsが指定されていません。すべてのdimは{network_dim}になります" @@ -575,15 +583,25 @@ def parse_floats(s): return block_dims, block_alphas, conv_block_dims, conv_block_alphas -# 層別学習率用に層ごとの学習率に対する倍率を定義する、外部から呼び出される可能性を考慮しておく +# 層別学習率用に層ごとの学習率に対する倍率を定義する、外部から呼び出せるようにclass外に出しておく +# 戻り値は block ごとの倍率のリスト def get_block_lr_weight( - down_lr_weight, mid_lr_weight, up_lr_weight, zero_threshold -) -> Tuple[List[float], List[float], List[float]]: + is_sdxl, + down_lr_weight: Union[str, List[float]], + mid_lr_weight: List[float], + up_lr_weight: Union[str, List[float]], + zero_threshold: float, +) -> Optional[List[float]]: # パラメータ未指定時は何もせず、今までと同じ動作とする if up_lr_weight is None and mid_lr_weight is None and down_lr_weight is None: - return None, None, None + return None - max_len = LoRANetwork.NUM_OF_BLOCKS # フルモデル相当でのup,downの層の数 + if not is_sdxl: + max_len_for_down_or_up = LoRANetwork.NUM_OF_BLOCKS + max_len_for_mid = LoRANetwork.NUM_OF_MID_BLOCKS + else: + max_len_for_down_or_up = LoRANetwork.SDXL_NUM_OF_BLOCKS + max_len_for_mid = LoRANetwork.SDXL_NUM_OF_MID_BLOCKS def get_list(name_with_suffix) -> List[float]: import math @@ -593,15 +611,18 @@ def get_list(name_with_suffix) -> List[float]: base_lr = float(tokens[1]) if len(tokens) > 1 else 0.0 if name == "cosine": - return [math.sin(math.pi * (i / (max_len - 1)) / 2) + base_lr for i in reversed(range(max_len))] + return [ + math.sin(math.pi * (i / (max_len_for_down_or_up - 1)) / 2) + base_lr + for i in reversed(range(max_len_for_down_or_up)) + ] elif name == "sine": - return [math.sin(math.pi * (i / (max_len - 1)) / 2) + base_lr for i in range(max_len)] + return [math.sin(math.pi * (i / (max_len_for_down_or_up - 1)) / 2) + base_lr for i in range(max_len_for_down_or_up)] elif name == "linear": - return [i / (max_len - 1) + base_lr for i in range(max_len)] + return [i / (max_len_for_down_or_up - 1) + base_lr for i in range(max_len_for_down_or_up)] elif name == "reverse_linear": - return [i / (max_len - 1) + base_lr for i in reversed(range(max_len))] + return [i / (max_len_for_down_or_up - 1) + base_lr for i in reversed(range(max_len_for_down_or_up))] elif name == "zeros": - return [0.0 + base_lr] * max_len + return [0.0 + base_lr] * max_len_for_down_or_up else: logger.error( "Unknown lr_weight argument %s is used. Valid arguments: / 不明なlr_weightの引数 %s が使われました。有効な引数:\n\tcosine, sine, linear, reverse_linear, zeros" @@ -614,20 +635,36 @@ def get_list(name_with_suffix) -> List[float]: if type(up_lr_weight) == str: up_lr_weight = get_list(up_lr_weight) - if (up_lr_weight != None and len(up_lr_weight) > max_len) or (down_lr_weight != None and len(down_lr_weight) > max_len): - logger.warning("down_weight or up_weight is too long. Parameters after %d-th are ignored." % max_len) - logger.warning("down_weightもしくはup_weightが長すぎます。%d個目以降のパラメータは無視されます。" % max_len) - up_lr_weight = up_lr_weight[:max_len] - down_lr_weight = down_lr_weight[:max_len] + if (up_lr_weight != None and len(up_lr_weight) > max_len_for_down_or_up) or ( + down_lr_weight != None and len(down_lr_weight) > max_len_for_down_or_up + ): + logger.warning("down_weight or up_weight is too long. Parameters after %d-th are ignored." % max_len_for_down_or_up) + logger.warning("down_weightもしくはup_weightが長すぎます。%d個目以降のパラメータは無視されます。" % max_len_for_down_or_up) + up_lr_weight = up_lr_weight[:max_len_for_down_or_up] + down_lr_weight = down_lr_weight[:max_len_for_down_or_up] + + if mid_lr_weight != None and len(mid_lr_weight) > max_len_for_mid: + logger.warning("mid_weight is too long. Parameters after %d-th are ignored." % max_len_for_mid) + logger.warning("mid_weightが長すぎます。%d個目以降のパラメータは無視されます。" % max_len_for_mid) + mid_lr_weight = mid_lr_weight[:max_len_for_mid] + + if (up_lr_weight != None and len(up_lr_weight) < max_len_for_down_or_up) or ( + down_lr_weight != None and len(down_lr_weight) < max_len_for_down_or_up + ): + logger.warning("down_weight or up_weight is too short. Parameters after %d-th are filled with 1." % max_len_for_down_or_up) + logger.warning( + "down_weightもしくはup_weightが短すぎます。%d個目までの不足したパラメータは1で補われます。" % max_len_for_down_or_up + ) - if (up_lr_weight != None and len(up_lr_weight) < max_len) or (down_lr_weight != None and len(down_lr_weight) < max_len): - logger.warning("down_weight or up_weight is too short. Parameters after %d-th are filled with 1." % max_len) - logger.warning("down_weightもしくはup_weightが短すぎます。%d個目までの不足したパラメータは1で補われます。" % max_len) + if down_lr_weight != None and len(down_lr_weight) < max_len_for_down_or_up: + down_lr_weight = down_lr_weight + [1.0] * (max_len_for_down_or_up - len(down_lr_weight)) + if up_lr_weight != None and len(up_lr_weight) < max_len_for_down_or_up: + up_lr_weight = up_lr_weight + [1.0] * (max_len_for_down_or_up - len(up_lr_weight)) - if down_lr_weight != None and len(down_lr_weight) < max_len: - down_lr_weight = down_lr_weight + [1.0] * (max_len - len(down_lr_weight)) - if up_lr_weight != None and len(up_lr_weight) < max_len: - up_lr_weight = up_lr_weight + [1.0] * (max_len - len(up_lr_weight)) + if mid_lr_weight != None and len(mid_lr_weight) < max_len_for_mid: + logger.warning("mid_weight is too short. Parameters after %d-th are filled with 1." % max_len_for_mid) + logger.warning("mid_weightが短すぎます。%d個目までの不足したパラメータは1で補われます。" % max_len_for_mid) + mid_lr_weight = mid_lr_weight + [1.0] * (max_len_for_mid - len(mid_lr_weight)) if (up_lr_weight != None) or (mid_lr_weight != None) or (down_lr_weight != None): logger.info("apply block learning rate / 階層別学習率を適用します。") @@ -635,72 +672,84 @@ def get_list(name_with_suffix) -> List[float]: down_lr_weight = [w if w > zero_threshold else 0 for w in down_lr_weight] logger.info(f"down_lr_weight (shallower -> deeper, 浅い層->深い層): {down_lr_weight}") else: + down_lr_weight = [1.0] * max_len_for_down_or_up logger.info("down_lr_weight: all 1.0, すべて1.0") if mid_lr_weight != None: - mid_lr_weight = mid_lr_weight if mid_lr_weight > zero_threshold else 0 + mid_lr_weight = [w if w > zero_threshold else 0 for w in mid_lr_weight] logger.info(f"mid_lr_weight: {mid_lr_weight}") else: - logger.info("mid_lr_weight: 1.0") + mid_lr_weight = [1.0] * max_len_for_mid + logger.info("mid_lr_weight: all 1.0, すべて1.0") if up_lr_weight != None: up_lr_weight = [w if w > zero_threshold else 0 for w in up_lr_weight] logger.info(f"up_lr_weight (deeper -> shallower, 深い層->浅い層): {up_lr_weight}") else: + up_lr_weight = [1.0] * max_len_for_down_or_up logger.info("up_lr_weight: all 1.0, すべて1.0") - return down_lr_weight, mid_lr_weight, up_lr_weight + lr_weight = down_lr_weight + mid_lr_weight + up_lr_weight + + if is_sdxl: + lr_weight = [1.0] + lr_weight + [1.0] # add 1.0 for emb_layers and out + + assert (not is_sdxl and len(lr_weight) == LoRANetwork.NUM_OF_BLOCKS * 2 + LoRANetwork.NUM_OF_MID_BLOCKS) or ( + is_sdxl and len(lr_weight) == 1 + LoRANetwork.SDXL_NUM_OF_BLOCKS * 2 + LoRANetwork.SDXL_NUM_OF_MID_BLOCKS + 1 + ), f"lr_weight length is invalid: {len(lr_weight)}" + + return lr_weight # lr_weightが0のblockをblock_dimsから除外する、外部から呼び出す可能性を考慮しておく def remove_block_dims_and_alphas( - block_dims, block_alphas, conv_block_dims, conv_block_alphas, down_lr_weight, mid_lr_weight, up_lr_weight + is_sdxl, block_dims, block_alphas, conv_block_dims, conv_block_alphas, block_lr_weight: Optional[List[float]] ): - # set 0 to block dim without learning rate to remove the block - if down_lr_weight != None: - for i, lr in enumerate(down_lr_weight): + if block_lr_weight is not None: + for i, lr in enumerate(block_lr_weight): if lr == 0: block_dims[i] = 0 if conv_block_dims is not None: conv_block_dims[i] = 0 - if mid_lr_weight != None: - if mid_lr_weight == 0: - block_dims[LoRANetwork.NUM_OF_BLOCKS] = 0 - if conv_block_dims is not None: - conv_block_dims[LoRANetwork.NUM_OF_BLOCKS] = 0 - if up_lr_weight != None: - for i, lr in enumerate(up_lr_weight): - if lr == 0: - block_dims[LoRANetwork.NUM_OF_BLOCKS + 1 + i] = 0 - if conv_block_dims is not None: - conv_block_dims[LoRANetwork.NUM_OF_BLOCKS + 1 + i] = 0 - return block_dims, block_alphas, conv_block_dims, conv_block_alphas # 外部から呼び出す可能性を考慮しておく -def get_block_index(lora_name: str) -> int: +def get_block_index(lora_name: str, is_sdxl: bool = False) -> int: block_idx = -1 # invalid lora name - - m = RE_UPDOWN.search(lora_name) - if m: - g = m.groups() - i = int(g[1]) - j = int(g[3]) - if g[2] == "resnets": - idx = 3 * i + j - elif g[2] == "attentions": - idx = 3 * i + j - elif g[2] == "upsamplers" or g[2] == "downsamplers": - idx = 3 * i + 2 - - if g[0] == "down": - block_idx = 1 + idx # 0に該当するLoRAは存在しない - elif g[0] == "up": - block_idx = LoRANetwork.NUM_OF_BLOCKS + 1 + idx - - elif "mid_block_" in lora_name: - block_idx = LoRANetwork.NUM_OF_BLOCKS # idx=12 + if not is_sdxl: + m = RE_UPDOWN.search(lora_name) + if m: + g = m.groups() + i = int(g[1]) + j = int(g[3]) + if g[2] == "resnets": + idx = 3 * i + j + elif g[2] == "attentions": + idx = 3 * i + j + elif g[2] == "upsamplers" or g[2] == "downsamplers": + idx = 3 * i + 2 + + if g[0] == "down": + block_idx = 1 + idx # 0に該当するLoRAは存在しない + elif g[0] == "up": + block_idx = LoRANetwork.NUM_OF_BLOCKS + 1 + idx + elif "mid_block_" in lora_name: + block_idx = LoRANetwork.NUM_OF_BLOCKS # idx=12 + else: + # copy from sdxl_train + if lora_name.startswith("lora_unet_"): + name = lora_name[len("lora_unet_") :] + if name.startswith("time_embed_") or name.startswith("label_emb_"): # No LoRA + block_idx = 0 # 0 + elif name.startswith("input_blocks_"): # 1-9 + block_idx = 1 + int(name.split("_")[2]) + elif name.startswith("middle_block_"): # 10-12 + block_idx = 10 + int(name.split("_")[2]) + elif name.startswith("output_blocks_"): # 13-21 + block_idx = 13 + int(name.split("_")[2]) + elif name.startswith("out_"): # 22, out, no LoRA + block_idx = 22 return block_idx @@ -742,15 +791,18 @@ def create_network_from_weights(multiplier, file, vae, text_encoder, unet, weigh ) # block lr - down_lr_weight, mid_lr_weight, up_lr_weight = parse_block_lr_kwargs(kwargs) - if up_lr_weight is not None or mid_lr_weight is not None or down_lr_weight is not None: - network.set_block_lr_weight(up_lr_weight, mid_lr_weight, down_lr_weight) + block_lr_weight = parse_block_lr_kwargs(kwargs) + if block_lr_weight is not None: + network.set_block_lr_weight(block_lr_weight) return network, weights_sd class LoRANetwork(torch.nn.Module): NUM_OF_BLOCKS = 12 # フルモデル相当でのup,downの層の数 + NUM_OF_MID_BLOCKS = 1 + SDXL_NUM_OF_BLOCKS = 9 # SDXLのモデルでのinput/outputの層の数 total=1(base) 9(input) + 3(mid) + 9(output) + 1(out) = 23 + SDXL_NUM_OF_MID_BLOCKS = 3 UNET_TARGET_REPLACE_MODULE = ["Transformer2DModel"] UNET_TARGET_REPLACE_MODULE_CONV2D_3X3 = ["ResnetBlock2D", "Downsample2D", "Upsample2D"] @@ -782,6 +834,7 @@ def __init__( modules_alpha: Optional[Dict[str, int]] = None, module_class: Type[object] = LoRAModule, varbose: Optional[bool] = False, + is_sdxl: Optional[bool] = False, ) -> None: """ LoRA network: すごく引数が多いが、パターンは以下の通り @@ -863,7 +916,7 @@ def create_modules( alpha = modules_alpha[lora_name] elif is_unet and block_dims is not None: # U-Netでblock_dims指定あり - block_idx = get_block_index(lora_name) + block_idx = get_block_index(lora_name, is_sdxl) if is_linear or is_conv2d_1x1: dim = block_dims[block_idx] alpha = block_alphas[block_idx] @@ -927,15 +980,13 @@ def create_modules( skipped = skipped_te + skipped_un if varbose and len(skipped) > 0: - logger.warning( + logger.warn( f"because block_lr_weight is 0 or dim (rank) is 0, {len(skipped)} LoRA modules are skipped / block_lr_weightまたはdim (rank)が0の為、次の{len(skipped)}個のLoRAモジュールはスキップされます:" ) for name in skipped: logger.info(f"\t{name}") - self.up_lr_weight: List[float] = None - self.down_lr_weight: List[float] = None - self.mid_lr_weight: float = None + self.block_lr_weight = None self.block_lr = False # assertion @@ -966,12 +1017,12 @@ def load_weights(self, file): def apply_to(self, text_encoder, unet, apply_text_encoder=True, apply_unet=True): if apply_text_encoder: - logger.info("enable LoRA for text encoder") + logger.info(f"enable LoRA for text encoder: {len(self.text_encoder_loras)} modules") else: self.text_encoder_loras = [] if apply_unet: - logger.info("enable LoRA for U-Net") + logger.info(f"enable LoRA for U-Net: {len(self.unet_loras)} modules") else: self.unet_loras = [] @@ -1012,34 +1063,14 @@ def merge_to(self, text_encoder, unet, weights_sd, dtype, device): logger.info(f"weights are merged") # 層別学習率用に層ごとの学習率に対する倍率を定義する 引数の順番が逆だがとりあえず気にしない - def set_block_lr_weight( - self, - up_lr_weight: List[float] = None, - mid_lr_weight: float = None, - down_lr_weight: List[float] = None, - ): + def set_block_lr_weight(self, block_lr_weight: Optional[List[float]]): self.block_lr = True - self.down_lr_weight = down_lr_weight - self.mid_lr_weight = mid_lr_weight - self.up_lr_weight = up_lr_weight - - def get_lr_weight(self, lora: LoRAModule) -> float: - lr_weight = 1.0 - block_idx = get_block_index(lora.lora_name) - if block_idx < 0: - return lr_weight - - if block_idx < LoRANetwork.NUM_OF_BLOCKS: - if self.down_lr_weight != None: - lr_weight = self.down_lr_weight[block_idx] - elif block_idx == LoRANetwork.NUM_OF_BLOCKS: - if self.mid_lr_weight != None: - lr_weight = self.mid_lr_weight - elif block_idx > LoRANetwork.NUM_OF_BLOCKS: - if self.up_lr_weight != None: - lr_weight = self.up_lr_weight[block_idx - LoRANetwork.NUM_OF_BLOCKS - 1] - - return lr_weight + self.block_lr_weight = block_lr_weight + + def get_lr_weight(self, block_idx: int) -> float: + if not self.block_lr or self.block_lr_weight is None: + return 1.0 + return self.block_lr_weight[block_idx] def set_loraplus_lr_ratio(self, loraplus_lr_ratio, loraplus_unet_lr_ratio, loraplus_text_encoder_lr_ratio): self.loraplus_lr_ratio = loraplus_lr_ratio @@ -1106,10 +1137,16 @@ def assemble_params(loras, lr, ratio): if self.unet_loras: if self.block_lr: + is_sdxl = False + for lora in self.unet_loras: + if "input_blocks" in lora.lora_name or "output_blocks" in lora.lora_name: + is_sdxl = True + break + # 学習率のグラフをblockごとにしたいので、blockごとにloraを分類 block_idx_to_lora = {} for lora in self.unet_loras: - idx = get_block_index(lora.lora_name) + idx = get_block_index(lora.lora_name, is_sdxl) if idx not in block_idx_to_lora: block_idx_to_lora[idx] = [] block_idx_to_lora[idx].append(lora) @@ -1118,7 +1155,7 @@ def assemble_params(loras, lr, ratio): for idx, block_loras in block_idx_to_lora.items(): params, descriptions = assemble_params( block_loras, - (unet_lr if unet_lr is not None else default_lr) * self.get_lr_weight(block_loras[0]), + (unet_lr if unet_lr is not None else default_lr) * self.get_lr_weight(idx), self.loraplus_unet_lr_ratio or self.loraplus_lr_ratio, ) all_params.extend(params) diff --git a/train_network.py b/train_network.py index c43241e8d..2976f7635 100644 --- a/train_network.py +++ b/train_network.py @@ -346,13 +346,13 @@ def train(self, args): else: trainable_params = results lr_descriptions = None - except TypeError: + except TypeError as e: + # logger.warning(f"{e}") # accelerator.print( # "Deprecated: use prepare_optimizer_params(text_encoder_lr, unet_lr, learning_rate) instead of prepare_optimizer_params(text_encoder_lr, unet_lr)" # ) trainable_params = network.prepare_optimizer_params(args.text_encoder_lr, args.unet_lr) lr_descriptions = None - print(lr_descriptions) optimizer_name, optimizer_args, optimizer = train_util.get_optimizer(args, trainable_params) From 52e64c69cf249a7bc4ca6f4eebe82bc1b70e617b Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sat, 4 May 2024 18:43:52 +0900 Subject: [PATCH 048/748] add debug log --- train_network.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/train_network.py b/train_network.py index 2976f7635..feb455cea 100644 --- a/train_network.py +++ b/train_network.py @@ -354,6 +354,16 @@ def train(self, args): trainable_params = network.prepare_optimizer_params(args.text_encoder_lr, args.unet_lr) lr_descriptions = None + # if len(trainable_params) == 0: + # accelerator.print("no trainable parameters found / 学習可能なパラメータが見つかりませんでした") + # for params in trainable_params: + # for k, v in params.items(): + # if type(v) == float: + # pass + # else: + # v = len(v) + # accelerator.print(f"trainable_params: {k} = {v}") + optimizer_name, optimizer_args, optimizer = train_util.get_optimizer(args, trainable_params) # dataloaderを準備する From 7fe81502d04c1f68c85f276517e7144e6378c484 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Mon, 6 May 2024 11:09:32 +0900 Subject: [PATCH 049/748] update loraplus on dylora/lofa_fa --- networks/dylora.py | 46 ++++++++++++++++++++++++--------------- networks/lora.py | 7 +++++- networks/lora_fa.py | 52 +++++++++++++++++++++++++++++++-------------- 3 files changed, 71 insertions(+), 34 deletions(-) diff --git a/networks/dylora.py b/networks/dylora.py index 0546fc7ae..0d1701ded 100644 --- a/networks/dylora.py +++ b/networks/dylora.py @@ -18,10 +18,13 @@ import torch from torch import nn from library.utils import setup_logging + setup_logging() import logging + logger = logging.getLogger(__name__) + class DyLoRAModule(torch.nn.Module): """ replaces forward method of the original Linear, instead of replacing the original Linear module. @@ -195,7 +198,7 @@ def create_network( conv_alpha = 1.0 else: conv_alpha = float(conv_alpha) - + if unit is not None: unit = int(unit) else: @@ -211,6 +214,16 @@ def create_network( unit=unit, varbose=True, ) + + loraplus_lr_ratio = kwargs.get("loraplus_lr_ratio", None) + loraplus_unet_lr_ratio = kwargs.get("loraplus_unet_lr_ratio", None) + loraplus_text_encoder_lr_ratio = kwargs.get("loraplus_text_encoder_lr_ratio", None) + loraplus_lr_ratio = float(loraplus_lr_ratio) if loraplus_lr_ratio is not None else None + loraplus_unet_lr_ratio = float(loraplus_unet_lr_ratio) if loraplus_unet_lr_ratio is not None else None + loraplus_text_encoder_lr_ratio = float(loraplus_text_encoder_lr_ratio) if loraplus_text_encoder_lr_ratio is not None else None + if loraplus_lr_ratio is not None or loraplus_unet_lr_ratio is not None or loraplus_text_encoder_lr_ratio is not None: + network.set_loraplus_lr_ratio(loraplus_lr_ratio, loraplus_unet_lr_ratio, loraplus_text_encoder_lr_ratio) + return network @@ -280,6 +293,10 @@ def __init__( self.alpha = alpha self.apply_to_conv = apply_to_conv + self.loraplus_lr_ratio = None + self.loraplus_unet_lr_ratio = None + self.loraplus_text_encoder_lr_ratio = None + if modules_dim is not None: logger.info("create LoRA network from weights") else: @@ -320,9 +337,9 @@ def create_modules(is_unet, root_module: torch.nn.Module, target_replace_modules lora = module_class(lora_name, child_module, self.multiplier, dim, alpha, unit) loras.append(lora) return loras - + text_encoders = text_encoder if type(text_encoder) == list else [text_encoder] - + self.text_encoder_loras = [] for i, text_encoder in enumerate(text_encoders): if len(text_encoders) > 1: @@ -331,7 +348,7 @@ def create_modules(is_unet, root_module: torch.nn.Module, target_replace_modules else: index = None logger.info("create LoRA for Text Encoder") - + text_encoder_loras = create_modules(False, text_encoder, DyLoRANetwork.TEXT_ENCODER_TARGET_REPLACE_MODULE) self.text_encoder_loras.extend(text_encoder_loras) @@ -346,6 +363,11 @@ def create_modules(is_unet, root_module: torch.nn.Module, target_replace_modules self.unet_loras = create_modules(True, unet, target_modules) logger.info(f"create LoRA for U-Net: {len(self.unet_loras)} modules.") + def set_loraplus_lr_ratio(self, loraplus_lr_ratio, loraplus_unet_lr_ratio, loraplus_text_encoder_lr_ratio): + self.loraplus_lr_ratio = loraplus_lr_ratio + self.loraplus_unet_lr_ratio = loraplus_unet_lr_ratio + self.loraplus_text_encoder_lr_ratio = loraplus_text_encoder_lr_ratio + def set_multiplier(self, multiplier): self.multiplier = multiplier for lora in self.text_encoder_loras + self.unet_loras: @@ -407,15 +429,7 @@ def merge_to(self, text_encoder, unet, weights_sd, dtype, device): """ # 二つのText Encoderに別々の学習率を設定できるようにするといいかも - def prepare_optimizer_params( - self, - text_encoder_lr, - unet_lr, - default_lr, - text_encoder_loraplus_ratio=None, - unet_loraplus_ratio=None, - loraplus_ratio=None - ): + def prepare_optimizer_params(self, text_encoder_lr, unet_lr, default_lr): self.requires_grad_(True) all_params = [] @@ -452,15 +466,13 @@ def assemble_params(loras, lr, ratio): params = assemble_params( self.text_encoder_loras, text_encoder_lr if text_encoder_lr is not None else default_lr, - text_encoder_loraplus_ratio or loraplus_ratio + self.loraplus_text_encoder_lr_ratio or self.loraplus_ratio, ) all_params.extend(params) if self.unet_loras: params = assemble_params( - self.unet_loras, - default_lr if unet_lr is None else unet_lr, - unet_loraplus_ratio or loraplus_ratio + self.unet_loras, default_lr if unet_lr is None else unet_lr, self.loraplus_unet_lr_ratio or self.loraplus_ratio ) all_params.extend(params) diff --git a/networks/lora.py b/networks/lora.py index 61b8cd5a7..6e5645577 100644 --- a/networks/lora.py +++ b/networks/lora.py @@ -499,7 +499,8 @@ def create_network( loraplus_lr_ratio = float(loraplus_lr_ratio) if loraplus_lr_ratio is not None else None loraplus_unet_lr_ratio = float(loraplus_unet_lr_ratio) if loraplus_unet_lr_ratio is not None else None loraplus_text_encoder_lr_ratio = float(loraplus_text_encoder_lr_ratio) if loraplus_text_encoder_lr_ratio is not None else None - network.set_loraplus_lr_ratio(loraplus_lr_ratio, loraplus_unet_lr_ratio, loraplus_text_encoder_lr_ratio) + if loraplus_lr_ratio is not None or loraplus_unet_lr_ratio is not None or loraplus_text_encoder_lr_ratio is not None: + network.set_loraplus_lr_ratio(loraplus_lr_ratio, loraplus_unet_lr_ratio, loraplus_text_encoder_lr_ratio) if block_lr_weight is not None: network.set_block_lr_weight(block_lr_weight) @@ -855,6 +856,10 @@ def __init__( self.rank_dropout = rank_dropout self.module_dropout = module_dropout + self.loraplus_lr_ratio = None + self.loraplus_unet_lr_ratio = None + self.loraplus_text_encoder_lr_ratio = None + if modules_dim is not None: logger.info(f"create LoRA network from weights") elif block_dims is not None: diff --git a/networks/lora_fa.py b/networks/lora_fa.py index 9a608118a..58bcb2206 100644 --- a/networks/lora_fa.py +++ b/networks/lora_fa.py @@ -15,8 +15,10 @@ import torch import re from library.utils import setup_logging + setup_logging() import logging + logger = logging.getLogger(__name__) RE_UPDOWN = re.compile(r"(up|down)_blocks_(\d+)_(resnets|upsamplers|downsamplers|attentions)_(\d+)_") @@ -504,6 +506,15 @@ def create_network( if up_lr_weight is not None or mid_lr_weight is not None or down_lr_weight is not None: network.set_block_lr_weight(up_lr_weight, mid_lr_weight, down_lr_weight) + loraplus_lr_ratio = kwargs.get("loraplus_lr_ratio", None) + loraplus_unet_lr_ratio = kwargs.get("loraplus_unet_lr_ratio", None) + loraplus_text_encoder_lr_ratio = kwargs.get("loraplus_text_encoder_lr_ratio", None) + loraplus_lr_ratio = float(loraplus_lr_ratio) if loraplus_lr_ratio is not None else None + loraplus_unet_lr_ratio = float(loraplus_unet_lr_ratio) if loraplus_unet_lr_ratio is not None else None + loraplus_text_encoder_lr_ratio = float(loraplus_text_encoder_lr_ratio) if loraplus_text_encoder_lr_ratio is not None else None + if loraplus_lr_ratio is not None or loraplus_unet_lr_ratio is not None or loraplus_text_encoder_lr_ratio is not None: + network.set_loraplus_lr_ratio(loraplus_lr_ratio, loraplus_unet_lr_ratio, loraplus_text_encoder_lr_ratio) + return network @@ -529,7 +540,9 @@ def parse_floats(s): len(block_dims) == num_total_blocks ), f"block_dims must have {num_total_blocks} elements / block_dimsは{num_total_blocks}個指定してください" else: - logger.warning(f"block_dims is not specified. all dims are set to {network_dim} / block_dimsが指定されていません。すべてのdimは{network_dim}になります") + logger.warning( + f"block_dims is not specified. all dims are set to {network_dim} / block_dimsが指定されていません。すべてのdimは{network_dim}になります" + ) block_dims = [network_dim] * num_total_blocks if block_alphas is not None: @@ -803,11 +816,17 @@ def __init__( self.rank_dropout = rank_dropout self.module_dropout = module_dropout + self.loraplus_lr_ratio = None + self.loraplus_unet_lr_ratio = None + self.loraplus_text_encoder_lr_ratio = None + if modules_dim is not None: logger.info(f"create LoRA network from weights") elif block_dims is not None: logger.info(f"create LoRA network from block_dims") - logger.info(f"neuron dropout: p={self.dropout}, rank dropout: p={self.rank_dropout}, module dropout: p={self.module_dropout}") + logger.info( + f"neuron dropout: p={self.dropout}, rank dropout: p={self.rank_dropout}, module dropout: p={self.module_dropout}" + ) logger.info(f"block_dims: {block_dims}") logger.info(f"block_alphas: {block_alphas}") if conv_block_dims is not None: @@ -815,9 +834,13 @@ def __init__( logger.info(f"conv_block_alphas: {conv_block_alphas}") else: logger.info(f"create LoRA network. base dim (rank): {lora_dim}, alpha: {alpha}") - logger.info(f"neuron dropout: p={self.dropout}, rank dropout: p={self.rank_dropout}, module dropout: p={self.module_dropout}") + logger.info( + f"neuron dropout: p={self.dropout}, rank dropout: p={self.rank_dropout}, module dropout: p={self.module_dropout}" + ) if self.conv_lora_dim is not None: - logger.info(f"apply LoRA to Conv2d with kernel size (3,3). dim (rank): {self.conv_lora_dim}, alpha: {self.conv_alpha}") + logger.info( + f"apply LoRA to Conv2d with kernel size (3,3). dim (rank): {self.conv_lora_dim}, alpha: {self.conv_alpha}" + ) # create module instances def create_modules( @@ -939,6 +962,11 @@ def create_modules( assert lora.lora_name not in names, f"duplicated lora name: {lora.lora_name}" names.add(lora.lora_name) + def set_loraplus_lr_ratio(self, loraplus_lr_ratio, loraplus_unet_lr_ratio, loraplus_text_encoder_lr_ratio): + self.loraplus_lr_ratio = loraplus_lr_ratio + self.loraplus_unet_lr_ratio = loraplus_unet_lr_ratio + self.loraplus_text_encoder_lr_ratio = loraplus_text_encoder_lr_ratio + def set_multiplier(self, multiplier): self.multiplier = multiplier for lora in self.text_encoder_loras + self.unet_loras: @@ -1033,15 +1061,7 @@ def get_lr_weight(self, lora: LoRAModule) -> float: return lr_weight # 二つのText Encoderに別々の学習率を設定できるようにするといいかも - def prepare_optimizer_params( - self, - text_encoder_lr, - unet_lr, - default_lr, - text_encoder_loraplus_ratio=None, - unet_loraplus_ratio=None, - loraplus_ratio=None - ): + def prepare_optimizer_params(self, text_encoder_lr, unet_lr, default_lr): self.requires_grad_(True) all_params = [] @@ -1078,7 +1098,7 @@ def assemble_params(loras, lr, ratio): params = assemble_params( self.text_encoder_loras, text_encoder_lr if text_encoder_lr is not None else default_lr, - text_encoder_loraplus_ratio or loraplus_ratio + self.loraplus_text_encoder_lr_ratio or self.loraplus_ratio, ) all_params.extend(params) @@ -1097,7 +1117,7 @@ def assemble_params(loras, lr, ratio): params = assemble_params( block_loras, (unet_lr if unet_lr is not None else default_lr) * self.get_lr_weight(block_loras[0]), - unet_loraplus_ratio or loraplus_ratio + self.loraplus_unet_lr_ratio or self.loraplus_ratio, ) all_params.extend(params) @@ -1105,7 +1125,7 @@ def assemble_params(loras, lr, ratio): params = assemble_params( self.unet_loras, unet_lr if unet_lr is not None else default_lr, - unet_loraplus_ratio or loraplus_ratio + self.loraplus_unet_lr_ratio or self.loraplus_ratio, ) all_params.extend(params) From 3fd8cdc55d7d87ceca2dc1127a807a7ddafb15ae Mon Sep 17 00:00:00 2001 From: Kohya S Date: Mon, 6 May 2024 14:03:19 +0900 Subject: [PATCH 050/748] fix dylora loraplus --- networks/dylora.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/networks/dylora.py b/networks/dylora.py index 0d1701ded..d57e3d580 100644 --- a/networks/dylora.py +++ b/networks/dylora.py @@ -466,13 +466,13 @@ def assemble_params(loras, lr, ratio): params = assemble_params( self.text_encoder_loras, text_encoder_lr if text_encoder_lr is not None else default_lr, - self.loraplus_text_encoder_lr_ratio or self.loraplus_ratio, + self.loraplus_text_encoder_lr_ratio or self.loraplus_lr_ratio, ) all_params.extend(params) if self.unet_loras: params = assemble_params( - self.unet_loras, default_lr if unet_lr is None else unet_lr, self.loraplus_unet_lr_ratio or self.loraplus_ratio + self.unet_loras, default_lr if unet_lr is None else unet_lr, self.loraplus_unet_lr_ratio or self.loraplus_lr_ratio ) all_params.extend(params) From 017b82ebe33a2199c8f842c99905f59c54292f56 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Mon, 6 May 2024 15:05:42 +0900 Subject: [PATCH 051/748] update help message for fused_backward_pass --- library/train_util.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/library/train_util.py b/library/train_util.py index 46b55c03e..e3c0229a7 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -2923,7 +2923,8 @@ def add_optimizer_arguments(parser: argparse.ArgumentParser): parser.add_argument( "--fused_backward_pass", action="store_true", - help="Combines backward pass and optimizer step to reduce VRAM usage / バックワードパスとオプティマイザステップを組み合わせてVRAMの使用量を削減します。", + help="Combines backward pass and optimizer step to reduce VRAM usage. Only available in SDXL" + + " / バックワードパスとオプティマイザステップを組み合わせてVRAMの使用量を削減します。SDXLでのみ有効", ) From b56d5f7801dea45cdbbba8498544e8d2853ad6d6 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Mon, 6 May 2024 21:35:39 +0900 Subject: [PATCH 052/748] add experimental option to fuse params to optimizer groups --- sdxl_train.py | 114 +++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 104 insertions(+), 10 deletions(-) diff --git a/sdxl_train.py b/sdxl_train.py index 3b28575ed..c7eea2224 100644 --- a/sdxl_train.py +++ b/sdxl_train.py @@ -345,8 +345,8 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): # calculate number of trainable parameters n_params = 0 - for params in params_to_optimize: - for p in params["params"]: + for group in params_to_optimize: + for p in group["params"]: n_params += p.numel() accelerator.print(f"train unet: {train_unet}, text_encoder1: {train_text_encoder1}, text_encoder2: {train_text_encoder2}") @@ -355,7 +355,44 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): # 学習に必要なクラスを準備する accelerator.print("prepare optimizer, data loader etc.") - _, _, optimizer = train_util.get_optimizer(args, trainable_params=params_to_optimize) + + if args.fused_optimizer_groups: + # calculate total number of parameters + n_total_params = sum(len(params["params"]) for params in params_to_optimize) + params_per_group = math.ceil(n_total_params / args.fused_optimizer_groups) + + # split params into groups + grouped_params = [] + param_group = [] + param_group_lr = -1 + for group in params_to_optimize: + lr = group["lr"] + for p in group["params"]: + if lr != param_group_lr: + if param_group: + grouped_params.append({"params": param_group, "lr": param_group_lr}) + param_group = [] + param_group_lr = lr + param_group.append(p) + if len(param_group) == params_per_group: + grouped_params.append({"params": param_group, "lr": param_group_lr}) + param_group = [] + param_group_lr = -1 + if param_group: + grouped_params.append({"params": param_group, "lr": param_group_lr}) + + # prepare optimizers for each group + optimizers = [] + for group in grouped_params: + _, _, optimizer = train_util.get_optimizer(args, trainable_params=[group]) + optimizers.append(optimizer) + optimizer = optimizers[0] # avoid error in the following code + + print(len(grouped_params)) + logger.info(f"using {len(optimizers)} optimizers for fused optimizer groups") + + else: + _, _, optimizer = train_util.get_optimizer(args, trainable_params=params_to_optimize) # dataloaderを準備する # DataLoaderのプロセス数:0 は persistent_workers が使えないので注意 @@ -382,7 +419,11 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): train_dataset_group.set_max_train_steps(args.max_train_steps) # lr schedulerを用意する - lr_scheduler = train_util.get_scheduler_fix(args, optimizer, accelerator.num_processes) + if args.fused_optimizer_groups: + lr_schedulers = [train_util.get_scheduler_fix(args, optimizer, accelerator.num_processes) for optimizer in optimizers] + lr_scheduler = lr_schedulers[0] # avoid error in the following code + else: + lr_scheduler = train_util.get_scheduler_fix(args, optimizer, accelerator.num_processes) # 実験的機能:勾配も含めたfp16/bf16学習を行う モデル全体をfp16/bf16にする if args.full_fp16: @@ -432,10 +473,12 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): if args.fused_backward_pass: import library.adafactor_fused + library.adafactor_fused.patch_adafactor_fused(optimizer) for param_group in optimizer.param_groups: for parameter in param_group["params"]: if parameter.requires_grad: + def __grad_hook(tensor: torch.Tensor, param_group=param_group): if accelerator.sync_gradients and args.max_grad_norm != 0.0: accelerator.clip_grad_norm_(tensor, args.max_grad_norm) @@ -444,6 +487,36 @@ def __grad_hook(tensor: torch.Tensor, param_group=param_group): parameter.register_post_accumulate_grad_hook(__grad_hook) + elif args.fused_optimizer_groups: + for i in range(1, len(optimizers)): + optimizers[i] = accelerator.prepare(optimizers[i]) + lr_schedulers[i] = accelerator.prepare(lr_schedulers[i]) + + global optimizer_hooked_count + global num_parameters_per_group + global parameter_optimizer_map + optimizer_hooked_count = {} + num_parameters_per_group = [0] * len(optimizers) + parameter_optimizer_map = {} + for opt_idx, optimizer in enumerate(optimizers): + for param_group in optimizer.param_groups: + for parameter in param_group["params"]: + if parameter.requires_grad: + + def optimizer_hook(parameter: torch.Tensor): + if accelerator.sync_gradients and args.max_grad_norm != 0.0: + accelerator.clip_grad_norm_(parameter, args.max_grad_norm) + + i = parameter_optimizer_map[parameter] + optimizer_hooked_count[i] += 1 + if optimizer_hooked_count[i] == num_parameters_per_group[i]: + optimizers[i].step() + optimizers[i].zero_grad() + + parameter.register_post_accumulate_grad_hook(optimizer_hook) + parameter_optimizer_map[parameter] = opt_idx + num_parameters_per_group[opt_idx] += 1 + # TextEncoderの出力をキャッシュするときにはCPUへ移動する if args.cache_text_encoder_outputs: # move Text Encoders for sampling images. Text Encoder doesn't work on CPU with fp16 @@ -518,6 +591,10 @@ def __grad_hook(tensor: torch.Tensor, param_group=param_group): for step, batch in enumerate(train_dataloader): current_step.value = global_step + + if args.fused_optimizer_groups: + optimizer_hooked_count = {i: 0 for i in range(len(optimizers))} + with accelerator.accumulate(*training_models): if "latents" in batch and batch["latents"] is not None: latents = batch["latents"].to(accelerator.device).to(dtype=weight_dtype) @@ -596,7 +673,9 @@ def __grad_hook(tensor: torch.Tensor, param_group=param_group): # Sample noise, sample a random timestep for each image, and add noise to the latents, # with noise offset and/or multires noise if specified - noise, noisy_latents, timesteps, huber_c = train_util.get_noise_noisy_latents_and_timesteps(args, noise_scheduler, latents) + noise, noisy_latents, timesteps, huber_c = train_util.get_noise_noisy_latents_and_timesteps( + args, noise_scheduler, latents + ) noisy_latents = noisy_latents.to(weight_dtype) # TODO check why noisy_latents is not weight_dtype @@ -614,7 +693,9 @@ def __grad_hook(tensor: torch.Tensor, param_group=param_group): or args.masked_loss ): # do not mean over batch dimension for snr weight or scale v-pred loss - loss = train_util.conditional_loss(noise_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=huber_c) + loss = train_util.conditional_loss( + noise_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=huber_c + ) if args.masked_loss: loss = apply_masked_loss(loss, batch) loss = loss.mean([1, 2, 3]) @@ -630,11 +711,13 @@ def __grad_hook(tensor: torch.Tensor, param_group=param_group): loss = loss.mean() # mean over batch dimension else: - loss = train_util.conditional_loss(noise_pred.float(), target.float(), reduction="mean", loss_type=args.loss_type, huber_c=huber_c) + loss = train_util.conditional_loss( + noise_pred.float(), target.float(), reduction="mean", loss_type=args.loss_type, huber_c=huber_c + ) accelerator.backward(loss) - if not args.fused_backward_pass: + if not (args.fused_backward_pass or args.fused_optimizer_groups): if accelerator.sync_gradients and args.max_grad_norm != 0.0: params_to_clip = [] for m in training_models: @@ -642,9 +725,14 @@ def __grad_hook(tensor: torch.Tensor, param_group=param_group): accelerator.clip_grad_norm_(params_to_clip, args.max_grad_norm) optimizer.step() + elif args.fused_optimizer_groups: + for i in range(1, len(optimizers)): + lr_schedulers[i].step() lr_scheduler.step() - optimizer.zero_grad(set_to_none=True) + + if not (args.fused_backward_pass or args.fused_optimizer_groups): + optimizer.zero_grad(set_to_none=True) # Checks if the accelerator has performed an optimization step behind the scenes if accelerator.sync_gradients: @@ -753,7 +841,7 @@ def __grad_hook(tensor: torch.Tensor, param_group=param_group): accelerator.end_training() - if args.save_state or args.save_state_on_train_end: + if args.save_state or args.save_state_on_train_end: train_util.save_state_on_train_end(args, accelerator) del accelerator # この後メモリを使うのでこれは消す @@ -822,6 +910,12 @@ def setup_parser() -> argparse.ArgumentParser: help=f"learning rates for each block of U-Net, comma-separated, {UNET_NUM_BLOCKS_FOR_BLOCK_LR} values / " + f"U-Netの各ブロックの学習率、カンマ区切り、{UNET_NUM_BLOCKS_FOR_BLOCK_LR}個の値", ) + parser.add_argument( + "--fused_optimizer_groups", + type=int, + default=None, + help="number of optimizers for fused backward pass and optimizer step / fused backward passとoptimizer stepのためのoptimizer数", + ) return parser From 793aeb94da53565fb08c7b0b2538f2ade04824bb Mon Sep 17 00:00:00 2001 From: AngelBottomless Date: Tue, 7 May 2024 18:21:31 +0900 Subject: [PATCH 053/748] fix get_trainable_params in controlnet-llite training --- sdxl_train_control_net_lllite.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdxl_train_control_net_lllite.py b/sdxl_train_control_net_lllite.py index f89c3628f..6ad6e763c 100644 --- a/sdxl_train_control_net_lllite.py +++ b/sdxl_train_control_net_lllite.py @@ -477,7 +477,7 @@ def remove_model(old_ckpt_name): accelerator.backward(loss) if accelerator.sync_gradients and args.max_grad_norm != 0.0: - params_to_clip = unet.get_trainable_params() + params_to_clip = accelerator.unwrap_model(unet).get_trainable_params() accelerator.clip_grad_norm_(params_to_clip, args.max_grad_norm) optimizer.step() From 607e041f3de972f2c3030e7c8b43dfc3c2eb2d65 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 12 May 2024 14:16:41 +0900 Subject: [PATCH 054/748] chore: Refactor optimizer group --- sdxl_train.py | 37 ++++++++++++++++++++++++++----------- 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/sdxl_train.py b/sdxl_train.py index c7eea2224..be2b7166e 100644 --- a/sdxl_train.py +++ b/sdxl_train.py @@ -357,27 +357,37 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): accelerator.print("prepare optimizer, data loader etc.") if args.fused_optimizer_groups: + # fused backward pass: https://pytorch.org/tutorials/intermediate/optimizer_step_in_backward_tutorial.html + # Instead of creating an optimizer for all parameters as in the tutorial, we create an optimizer for each group of parameters. + # This balances memory usage and management complexity. + # calculate total number of parameters n_total_params = sum(len(params["params"]) for params in params_to_optimize) params_per_group = math.ceil(n_total_params / args.fused_optimizer_groups) - # split params into groups + # split params into groups, keeping the learning rate the same for all params in a group + # this will increase the number of groups if the learning rate is different for different params (e.g. U-Net and text encoders) grouped_params = [] param_group = [] param_group_lr = -1 for group in params_to_optimize: lr = group["lr"] for p in group["params"]: + # if the learning rate is different for different params, start a new group if lr != param_group_lr: if param_group: grouped_params.append({"params": param_group, "lr": param_group_lr}) param_group = [] param_group_lr = lr + param_group.append(p) + + # if the group has enough parameters, start a new group if len(param_group) == params_per_group: grouped_params.append({"params": param_group, "lr": param_group_lr}) param_group = [] param_group_lr = -1 + if param_group: grouped_params.append({"params": param_group, "lr": param_group_lr}) @@ -388,7 +398,6 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): optimizers.append(optimizer) optimizer = optimizers[0] # avoid error in the following code - print(len(grouped_params)) logger.info(f"using {len(optimizers)} optimizers for fused optimizer groups") else: @@ -420,6 +429,7 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): # lr schedulerを用意する if args.fused_optimizer_groups: + # prepare lr schedulers for each optimizer lr_schedulers = [train_util.get_scheduler_fix(args, optimizer, accelerator.num_processes) for optimizer in optimizers] lr_scheduler = lr_schedulers[0] # avoid error in the following code else: @@ -472,6 +482,7 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): optimizer, train_dataloader, lr_scheduler = accelerator.prepare(optimizer, train_dataloader, lr_scheduler) if args.fused_backward_pass: + # use fused optimizer for backward pass: other optimizers will be supported in the future import library.adafactor_fused library.adafactor_fused.patch_adafactor_fused(optimizer) @@ -488,16 +499,20 @@ def __grad_hook(tensor: torch.Tensor, param_group=param_group): parameter.register_post_accumulate_grad_hook(__grad_hook) elif args.fused_optimizer_groups: + # prepare for additional optimizers and lr schedulers for i in range(1, len(optimizers)): optimizers[i] = accelerator.prepare(optimizers[i]) lr_schedulers[i] = accelerator.prepare(lr_schedulers[i]) + # counters are used to determine when to step the optimizer global optimizer_hooked_count global num_parameters_per_group global parameter_optimizer_map + optimizer_hooked_count = {} num_parameters_per_group = [0] * len(optimizers) parameter_optimizer_map = {} + for opt_idx, optimizer in enumerate(optimizers): for param_group in optimizer.param_groups: for parameter in param_group["params"]: @@ -511,7 +526,7 @@ def optimizer_hook(parameter: torch.Tensor): optimizer_hooked_count[i] += 1 if optimizer_hooked_count[i] == num_parameters_per_group[i]: optimizers[i].step() - optimizers[i].zero_grad() + optimizers[i].zero_grad(set_to_none=True) parameter.register_post_accumulate_grad_hook(optimizer_hook) parameter_optimizer_map[parameter] = opt_idx @@ -593,7 +608,7 @@ def optimizer_hook(parameter: torch.Tensor): current_step.value = global_step if args.fused_optimizer_groups: - optimizer_hooked_count = {i: 0 for i in range(len(optimizers))} + optimizer_hooked_count = {i: 0 for i in range(len(optimizers))} # reset counter for each step with accelerator.accumulate(*training_models): if "latents" in batch and batch["latents"] is not None: @@ -725,14 +740,14 @@ def optimizer_hook(parameter: torch.Tensor): accelerator.clip_grad_norm_(params_to_clip, args.max_grad_norm) optimizer.step() - elif args.fused_optimizer_groups: - for i in range(1, len(optimizers)): - lr_schedulers[i].step() - - lr_scheduler.step() - - if not (args.fused_backward_pass or args.fused_optimizer_groups): + lr_scheduler.step() optimizer.zero_grad(set_to_none=True) + else: + # optimizer.step() and optimizer.zero_grad() are called in the optimizer hook + lr_scheduler.step() + if args.fused_optimizer_groups: + for i in range(1, len(optimizers)): + lr_schedulers[i].step() # Checks if the accelerator has performed an optimization step behind the scenes if accelerator.sync_gradients: From c1ba0b4356637c881ea99663fcce5943fc33fc56 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 12 May 2024 14:21:10 +0900 Subject: [PATCH 055/748] update readme --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index a7047a360..859a7618d 100644 --- a/README.md +++ b/README.md @@ -137,6 +137,14 @@ The majority of scripts is licensed under ASL 2.0 (including codes from Diffuser ## Change History +### Working in progress + +- Fixed some bugs when using DeepSpeed. Related [#1247] + + +- DeepSpeed 使用時のいくつかのバグを修正しました。関連 [#1247] + + ### Apr 7, 2024 / 2024-04-07: v0.8.7 - The default value of `huber_schedule` in Scheduled Huber Loss is changed from `exponential` to `snr`, which is expected to give better results. From f3d2cf22ff9ad49e7f8bd68494714fa3bedbd77d Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 12 May 2024 15:03:02 +0900 Subject: [PATCH 056/748] update README for fused optimizer --- README.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/README.md b/README.md index 859a7618d..4fd97fb25 100644 --- a/README.md +++ b/README.md @@ -139,8 +139,37 @@ The majority of scripts is licensed under ASL 2.0 (including codes from Diffuser ### Working in progress +- Fused optimizer is available for SDXL training. PR [#1259](https://github.com/kohya-ss/sd-scripts/pull/1259) Thanks to 2kpr! + - The memory usage during training is significantly reduced by integrating the optimizer's backward pass with step. The training results are the same as before, but if you have plenty of memory, the speed will be slower. + - Specify the `--fused_backward_pass` option in `sdxl_train.py`. At this time, only AdaFactor is supported. Gradient accumulation is not available. + - Setting mixed precision to `no` seems to use less memory than `fp16` or `bf16`. + - Training is possible with a memory usage of about 17GB with a batch size of 1 and fp32. If you specify the `--full_bf16` option, you can further reduce the memory usage (but the accuracy will be lower). With the same memory usage as before, you can increase the batch size. + - PyTorch 2.1 or later is required because it uses the new API `Tensor.register_post_accumulate_grad_hook(hook)`. + - Mechanism: Normally, backward -> step is performed for each parameter, so all gradients need to be temporarily stored in memory. "Fuse backward and step" reduces memory usage by performing backward/step for each parameter and reflecting the gradient immediately. + +- Optimizer groups feature is added to SDXL training. PR [#1319](https://github.com/kohya-ss/sd-scripts/pull/1319) + - Memory usage is reduced by the same principle as Fused optimizer. The training results and speed are the same as Fused optimizer. + - Specify the number of groups like `--fused_optimizer_groups 10` in `sdxl_train.py`. Increasing the number of groups reduces memory usage but slows down training. Since the effect is limited to a certain number, it is recommended to specify 4-10. + - Any optimizer can be used, but optimizers that automatically calculate the learning rate (such as D-Adaptation and Prodigy) cannot be used. Gradient accumulation is not available. + - `--fused_optimizer_groups` cannot be used with `--fused_backward_pass`. When using AdaFactor, the memory usage is slightly larger than with Fused optimizer. PyTorch 2.1 or later is required. + - Mechanism: While Fused optimizer performs backward/step for individual parameters within the optimizer, optimizer groups reduce memory usage by grouping parameters and creating multiple optimizers to perform backward/step for each group. Fused optimizer requires implementation on the optimizer side, while optimizer groups are implemented only on the training script side. + - Fixed some bugs when using DeepSpeed. Related [#1247] +- SDXL の学習時に Fused optimizer が使えるようになりました。PR [#1259](https://github.com/kohya-ss/sd-scripts/pull/1259) 2kpr 氏に感謝します。 + - optimizer の backward pass に step を統合することで学習時のメモリ使用量を大きく削減します。学習結果は未適用時と同一ですが、メモリが潤沢にある場合は速度は遅くなります。 + - `sdxl_train.py` に `--fused_backward_pass` オプションを指定してください。現時点では optimizer は AdaFactor のみ対応しています。また gradient accumulation は使えません。 + - mixed precision は `no` のほうが `fp16` や `bf16` よりも使用メモリ量が少ないようです。 + - バッチサイズ 1、fp32 で 17GB 程度で学習可能なようです。`--full_bf16` オプションを指定するとさらに削減できます(精度は劣ります)。以前と同じメモリ使用量ではバッチサイズを増やせます。 + - PyTorch 2.1 以降の新 API `Tensor.register_post_accumulate_grad_hook(hook)` を使用しているため、PyTorch 2.1 以降が必要です。 + - 仕組み:通常は backward -> step の順で行うためすべての勾配を一時的にメモリに保持する必要があります。「backward と step の統合」はパラメータごとに backward/step を行って、勾配をすぐ反映することでメモリ使用量を削減します。 + +- SDXL の学習時に optimizer group 機能を追加しました。PR [#1319](https://github.com/kohya-ss/sd-scripts/pull/1319) + - Fused optimizer と同様の原理でメモリ使用量を削減します。学習結果や速度についても同様です。 + - `sdxl_train.py` に `--fused_optimizer_groups 10` のようにグループ数を指定してください。グループ数を増やすとメモリ使用量が削減されますが、速度は遅くなります。ある程度の数までしか効果がないため、4~10 程度を指定すると良いでしょう。 + - 任意の optimizer が使えますが、学習率を自動計算する optimizer (D-Adaptation や Prodigy など)は使えません。gradient accumulation は使えません。 + - `--fused_optimizer_groups` は `--fused_backward_pass` と併用できません。AdaFactor 使用時は Fused optimizer よりも若干メモリ使用量は大きくなります。PyTorch 2.1 以降が必要です。 + - 仕組み:Fused optimizer が optimizer 内で個別のパラメータについて backward/step を行っているのに対して、optimizer groups はパラメータをグループ化して複数の optimizer を作成し、それぞれ backward/step を行うことでメモリ使用量を削減します。Fused optimizer は optimizer 側の実装が必要ですが、optimizer groups は学習スクリプト側のみで実装されています。 - DeepSpeed 使用時のいくつかのバグを修正しました。関連 [#1247] From bee8cee7e8fbeecc05b1c80a1e9e8fadab3210a5 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 12 May 2024 15:08:52 +0900 Subject: [PATCH 057/748] update README for fused optimizer --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 4fd97fb25..9c7ecad99 100644 --- a/README.md +++ b/README.md @@ -145,7 +145,7 @@ The majority of scripts is licensed under ASL 2.0 (including codes from Diffuser - Setting mixed precision to `no` seems to use less memory than `fp16` or `bf16`. - Training is possible with a memory usage of about 17GB with a batch size of 1 and fp32. If you specify the `--full_bf16` option, you can further reduce the memory usage (but the accuracy will be lower). With the same memory usage as before, you can increase the batch size. - PyTorch 2.1 or later is required because it uses the new API `Tensor.register_post_accumulate_grad_hook(hook)`. - - Mechanism: Normally, backward -> step is performed for each parameter, so all gradients need to be temporarily stored in memory. "Fuse backward and step" reduces memory usage by performing backward/step for each parameter and reflecting the gradient immediately. + - Mechanism: Normally, backward -> step is performed for each parameter, so all gradients need to be temporarily stored in memory. "Fuse backward and step" reduces memory usage by performing backward/step for each parameter and reflecting the gradient immediately. The more parameters there are, the greater the effect, so it is not effective in other training scripts (LoRA, etc.) where the memory usage peak is elsewhere, and there are no plans to implement it in those training scripts. - Optimizer groups feature is added to SDXL training. PR [#1319](https://github.com/kohya-ss/sd-scripts/pull/1319) - Memory usage is reduced by the same principle as Fused optimizer. The training results and speed are the same as Fused optimizer. @@ -162,14 +162,14 @@ The majority of scripts is licensed under ASL 2.0 (including codes from Diffuser - mixed precision は `no` のほうが `fp16` や `bf16` よりも使用メモリ量が少ないようです。 - バッチサイズ 1、fp32 で 17GB 程度で学習可能なようです。`--full_bf16` オプションを指定するとさらに削減できます(精度は劣ります)。以前と同じメモリ使用量ではバッチサイズを増やせます。 - PyTorch 2.1 以降の新 API `Tensor.register_post_accumulate_grad_hook(hook)` を使用しているため、PyTorch 2.1 以降が必要です。 - - 仕組み:通常は backward -> step の順で行うためすべての勾配を一時的にメモリに保持する必要があります。「backward と step の統合」はパラメータごとに backward/step を行って、勾配をすぐ反映することでメモリ使用量を削減します。 + - 仕組み:通常は backward -> step の順で行うためすべての勾配を一時的にメモリに保持する必要があります。「backward と step の統合」はパラメータごとに backward/step を行って、勾配をすぐ反映することでメモリ使用量を削減します。パラメータ数が多いほど効果が大きいため、SDXL の学習以外(LoRA 等)ではほぼ効果がなく(メモリ使用量のピークが他の場所にあるため)、それらの学習スクリプトへの実装予定もありません。 - SDXL の学習時に optimizer group 機能を追加しました。PR [#1319](https://github.com/kohya-ss/sd-scripts/pull/1319) - Fused optimizer と同様の原理でメモリ使用量を削減します。学習結果や速度についても同様です。 - `sdxl_train.py` に `--fused_optimizer_groups 10` のようにグループ数を指定してください。グループ数を増やすとメモリ使用量が削減されますが、速度は遅くなります。ある程度の数までしか効果がないため、4~10 程度を指定すると良いでしょう。 - 任意の optimizer が使えますが、学習率を自動計算する optimizer (D-Adaptation や Prodigy など)は使えません。gradient accumulation は使えません。 - `--fused_optimizer_groups` は `--fused_backward_pass` と併用できません。AdaFactor 使用時は Fused optimizer よりも若干メモリ使用量は大きくなります。PyTorch 2.1 以降が必要です。 - - 仕組み:Fused optimizer が optimizer 内で個別のパラメータについて backward/step を行っているのに対して、optimizer groups はパラメータをグループ化して複数の optimizer を作成し、それぞれ backward/step を行うことでメモリ使用量を削減します。Fused optimizer は optimizer 側の実装が必要ですが、optimizer groups は学習スクリプト側のみで実装されています。 + - 仕組み:Fused optimizer が optimizer 内で個別のパラメータについて backward/step を行っているのに対して、optimizer groups はパラメータをグループ化して複数の optimizer を作成し、それぞれ backward/step を行うことでメモリ使用量を削減します。Fused optimizer は optimizer 側の実装が必要ですが、optimizer groups は学習スクリプト側のみで実装されています。やはり SDXL の学習でのみ効果があります。 - DeepSpeed 使用時のいくつかのバグを修正しました。関連 [#1247] From 1ffc0b330aa362a408e46e9a52784d72aa73d263 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 12 May 2024 16:18:43 +0900 Subject: [PATCH 058/748] fix typo --- library/train_util.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/train_util.py b/library/train_util.py index e3c0229a7..b2de8a216 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -3093,7 +3093,7 @@ def add_training_arguments(parser: argparse.ArgumentParser, support_dreambooth: ) parser.add_argument("--seed", type=int, default=None, help="random seed for training / 学習時の乱数のseed") parser.add_argument( - "--gradient_checkpointing", action="store_true", help="enable gradient checkpointing / grandient checkpointingを有効にする" + "--gradient_checkpointing", action="store_true", help="enable gradient checkpointing / gradient checkpointingを有効にする" ) parser.add_argument( "--gradient_accumulation_steps", From 3c8193f64269fff68d16c1f38dedfde8715f70bb Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 12 May 2024 17:00:51 +0900 Subject: [PATCH 059/748] revert lora+ for lora_fa --- networks/lora_fa.py | 104 +++++++++++--------------------------------- 1 file changed, 25 insertions(+), 79 deletions(-) diff --git a/networks/lora_fa.py b/networks/lora_fa.py index 58bcb2206..919222ce8 100644 --- a/networks/lora_fa.py +++ b/networks/lora_fa.py @@ -15,10 +15,8 @@ import torch import re from library.utils import setup_logging - setup_logging() import logging - logger = logging.getLogger(__name__) RE_UPDOWN = re.compile(r"(up|down)_blocks_(\d+)_(resnets|upsamplers|downsamplers|attentions)_(\d+)_") @@ -506,15 +504,6 @@ def create_network( if up_lr_weight is not None or mid_lr_weight is not None or down_lr_weight is not None: network.set_block_lr_weight(up_lr_weight, mid_lr_weight, down_lr_weight) - loraplus_lr_ratio = kwargs.get("loraplus_lr_ratio", None) - loraplus_unet_lr_ratio = kwargs.get("loraplus_unet_lr_ratio", None) - loraplus_text_encoder_lr_ratio = kwargs.get("loraplus_text_encoder_lr_ratio", None) - loraplus_lr_ratio = float(loraplus_lr_ratio) if loraplus_lr_ratio is not None else None - loraplus_unet_lr_ratio = float(loraplus_unet_lr_ratio) if loraplus_unet_lr_ratio is not None else None - loraplus_text_encoder_lr_ratio = float(loraplus_text_encoder_lr_ratio) if loraplus_text_encoder_lr_ratio is not None else None - if loraplus_lr_ratio is not None or loraplus_unet_lr_ratio is not None or loraplus_text_encoder_lr_ratio is not None: - network.set_loraplus_lr_ratio(loraplus_lr_ratio, loraplus_unet_lr_ratio, loraplus_text_encoder_lr_ratio) - return network @@ -540,9 +529,7 @@ def parse_floats(s): len(block_dims) == num_total_blocks ), f"block_dims must have {num_total_blocks} elements / block_dimsは{num_total_blocks}個指定してください" else: - logger.warning( - f"block_dims is not specified. all dims are set to {network_dim} / block_dimsが指定されていません。すべてのdimは{network_dim}になります" - ) + logger.warning(f"block_dims is not specified. all dims are set to {network_dim} / block_dimsが指定されていません。すべてのdimは{network_dim}になります") block_dims = [network_dim] * num_total_blocks if block_alphas is not None: @@ -816,17 +803,11 @@ def __init__( self.rank_dropout = rank_dropout self.module_dropout = module_dropout - self.loraplus_lr_ratio = None - self.loraplus_unet_lr_ratio = None - self.loraplus_text_encoder_lr_ratio = None - if modules_dim is not None: logger.info(f"create LoRA network from weights") elif block_dims is not None: logger.info(f"create LoRA network from block_dims") - logger.info( - f"neuron dropout: p={self.dropout}, rank dropout: p={self.rank_dropout}, module dropout: p={self.module_dropout}" - ) + logger.info(f"neuron dropout: p={self.dropout}, rank dropout: p={self.rank_dropout}, module dropout: p={self.module_dropout}") logger.info(f"block_dims: {block_dims}") logger.info(f"block_alphas: {block_alphas}") if conv_block_dims is not None: @@ -834,13 +815,9 @@ def __init__( logger.info(f"conv_block_alphas: {conv_block_alphas}") else: logger.info(f"create LoRA network. base dim (rank): {lora_dim}, alpha: {alpha}") - logger.info( - f"neuron dropout: p={self.dropout}, rank dropout: p={self.rank_dropout}, module dropout: p={self.module_dropout}" - ) + logger.info(f"neuron dropout: p={self.dropout}, rank dropout: p={self.rank_dropout}, module dropout: p={self.module_dropout}") if self.conv_lora_dim is not None: - logger.info( - f"apply LoRA to Conv2d with kernel size (3,3). dim (rank): {self.conv_lora_dim}, alpha: {self.conv_alpha}" - ) + logger.info(f"apply LoRA to Conv2d with kernel size (3,3). dim (rank): {self.conv_lora_dim}, alpha: {self.conv_alpha}") # create module instances def create_modules( @@ -962,11 +939,6 @@ def create_modules( assert lora.lora_name not in names, f"duplicated lora name: {lora.lora_name}" names.add(lora.lora_name) - def set_loraplus_lr_ratio(self, loraplus_lr_ratio, loraplus_unet_lr_ratio, loraplus_text_encoder_lr_ratio): - self.loraplus_lr_ratio = loraplus_lr_ratio - self.loraplus_unet_lr_ratio = loraplus_unet_lr_ratio - self.loraplus_text_encoder_lr_ratio = loraplus_text_encoder_lr_ratio - def set_multiplier(self, multiplier): self.multiplier = multiplier for lora in self.text_encoder_loras + self.unet_loras: @@ -1065,42 +1037,18 @@ def prepare_optimizer_params(self, text_encoder_lr, unet_lr, default_lr): self.requires_grad_(True) all_params = [] - def assemble_params(loras, lr, ratio): - param_groups = {"lora": {}, "plus": {}} - for lora in loras: - for name, param in lora.named_parameters(): - if ratio is not None and "lora_up" in name: - param_groups["plus"][f"{lora.lora_name}.{name}"] = param - else: - param_groups["lora"][f"{lora.lora_name}.{name}"] = param - + def enumerate_params(loras: List[LoRAModule]): params = [] - for key in param_groups.keys(): - param_data = {"params": param_groups[key].values()} - - if len(param_data["params"]) == 0: - continue - - if lr is not None: - if key == "plus": - param_data["lr"] = lr * ratio - else: - param_data["lr"] = lr - - if param_data.get("lr", None) == 0 or param_data.get("lr", None) is None: - continue - - params.append(param_data) - + for lora in loras: + # params.extend(lora.parameters()) + params.extend(lora.get_trainable_params()) return params if self.text_encoder_loras: - params = assemble_params( - self.text_encoder_loras, - text_encoder_lr if text_encoder_lr is not None else default_lr, - self.loraplus_text_encoder_lr_ratio or self.loraplus_ratio, - ) - all_params.extend(params) + param_data = {"params": enumerate_params(self.text_encoder_loras)} + if text_encoder_lr is not None: + param_data["lr"] = text_encoder_lr + all_params.append(param_data) if self.unet_loras: if self.block_lr: @@ -1114,20 +1062,21 @@ def assemble_params(loras, lr, ratio): # blockごとにパラメータを設定する for idx, block_loras in block_idx_to_lora.items(): - params = assemble_params( - block_loras, - (unet_lr if unet_lr is not None else default_lr) * self.get_lr_weight(block_loras[0]), - self.loraplus_unet_lr_ratio or self.loraplus_ratio, - ) - all_params.extend(params) + param_data = {"params": enumerate_params(block_loras)} + + if unet_lr is not None: + param_data["lr"] = unet_lr * self.get_lr_weight(block_loras[0]) + elif default_lr is not None: + param_data["lr"] = default_lr * self.get_lr_weight(block_loras[0]) + if ("lr" in param_data) and (param_data["lr"] == 0): + continue + all_params.append(param_data) else: - params = assemble_params( - self.unet_loras, - unet_lr if unet_lr is not None else default_lr, - self.loraplus_unet_lr_ratio or self.loraplus_ratio, - ) - all_params.extend(params) + param_data = {"params": enumerate_params(self.unet_loras)} + if unet_lr is not None: + param_data["lr"] = unet_lr + all_params.append(param_data) return all_params @@ -1144,9 +1093,6 @@ def on_epoch_start(self, text_encoder, unet): def get_trainable_params(self): return self.parameters() - def get_trainable_named_params(self): - return self.named_parameters() - def save_weights(self, file, dtype, metadata): if metadata is not None and len(metadata) == 0: metadata = None From 44190416c6389d9ae9ffb18c28744be1259fc02c Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 12 May 2024 17:01:20 +0900 Subject: [PATCH 060/748] update docs etc. --- README.md | 26 ++++++++++++++++++++++++-- docs/train_network_README-ja.md | 11 +++++++---- networks/lora.py | 2 +- 3 files changed, 32 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 9c7ecad99..b10da0f23 100644 --- a/README.md +++ b/README.md @@ -154,7 +154,18 @@ The majority of scripts is licensed under ASL 2.0 (including codes from Diffuser - `--fused_optimizer_groups` cannot be used with `--fused_backward_pass`. When using AdaFactor, the memory usage is slightly larger than with Fused optimizer. PyTorch 2.1 or later is required. - Mechanism: While Fused optimizer performs backward/step for individual parameters within the optimizer, optimizer groups reduce memory usage by grouping parameters and creating multiple optimizers to perform backward/step for each group. Fused optimizer requires implementation on the optimizer side, while optimizer groups are implemented only on the training script side. -- Fixed some bugs when using DeepSpeed. Related [#1247] +- LoRA+ is supported. PR [#1233](https://github.com/kohya-ss/sd-scripts/pull/1233) Thanks to rockerBOO! + - LoRA+ is a method to improve training speed by increasing the learning rate of the UP side (LoRA-B) of LoRA. Specify the multiple. The original paper recommends 16, but adjust as needed. Please see the PR for details. + - Specify `loraplus_lr_ratio` with `--network_args`. Example: `--network_args "loraplus_lr_ratio=16"` + - `loraplus_unet_lr_ratio` and `loraplus_lr_ratio` can be specified separately for U-Net and Text Encoder. + - Example: `--network_args "loraplus_unet_lr_ratio=16" "loraplus_text_encoder_lr_ratio=4"` or `--network_args "loraplus_lr_ratio=16" "loraplus_text_encoder_lr_ratio=4"` etc. + - `network_module` `networks.lora` and `networks.dylora` are available. + +- LoRA training in SDXL now supports block-wise learning rates and block-wise dim (rank). PR [#1331](https://github.com/kohya-ss/sd-scripts/pull/1331) + - Specify the learning rate and dim (rank) for each block. + - See [Block-wise learning rates in LoRA](./docs/train_network_README-ja.md#階層別学習率) for details (Japanese only). + +- Fixed some bugs when using DeepSpeed. Related [#1247](https://github.com/kohya-ss/sd-scripts/pull/1247) - SDXL の学習時に Fused optimizer が使えるようになりました。PR [#1259](https://github.com/kohya-ss/sd-scripts/pull/1259) 2kpr 氏に感謝します。 - optimizer の backward pass に step を統合することで学習時のメモリ使用量を大きく削減します。学習結果は未適用時と同一ですが、メモリが潤沢にある場合は速度は遅くなります。 @@ -171,7 +182,18 @@ The majority of scripts is licensed under ASL 2.0 (including codes from Diffuser - `--fused_optimizer_groups` は `--fused_backward_pass` と併用できません。AdaFactor 使用時は Fused optimizer よりも若干メモリ使用量は大きくなります。PyTorch 2.1 以降が必要です。 - 仕組み:Fused optimizer が optimizer 内で個別のパラメータについて backward/step を行っているのに対して、optimizer groups はパラメータをグループ化して複数の optimizer を作成し、それぞれ backward/step を行うことでメモリ使用量を削減します。Fused optimizer は optimizer 側の実装が必要ですが、optimizer groups は学習スクリプト側のみで実装されています。やはり SDXL の学習でのみ効果があります。 -- DeepSpeed 使用時のいくつかのバグを修正しました。関連 [#1247] +- LoRA+ がサポートされました。PR [#1233](https://github.com/kohya-ss/sd-scripts/pull/1233) rockerBOO 氏に感謝します。 + - LoRA の UP 側(LoRA-B)の学習率を上げることで学習速度の向上を図る手法です。倍数で指定します。元の論文では 16 が推奨されていますが、データセット等にもよりますので、適宜調整してください。PR もあわせてご覧ください。 + - `--network_args` で `loraplus_lr_ratio` を指定します。例:`--network_args "loraplus_lr_ratio=16"` + - `loraplus_unet_lr_ratio` と `loraplus_lr_ratio` で、U-Net および Text Encoder に個別の値を指定することも可能です。 + - 例:`--network_args "loraplus_unet_lr_ratio=16" "loraplus_text_encoder_lr_ratio=4"` または `--network_args "loraplus_lr_ratio=16" "loraplus_text_encoder_lr_ratio=4"` など + - `network_module` の `networks.lora` および `networks.dylora` で使用可能です。 + +- SDXL の LoRA で階層別学習率、階層別 dim (rank) をサポートしました。PR [#1331](https://github.com/kohya-ss/sd-scripts/pull/1331) + - ブロックごとに学習率および dim (rank) を指定することができます。 + - 詳細は [LoRA の階層別学習率](./docs/train_network_README-ja.md#階層別学習率) をご覧ください。 + +- DeepSpeed 使用時のいくつかのバグを修正しました。関連 [#1247](https://github.com/kohya-ss/sd-scripts/pull/1247) ### Apr 7, 2024 / 2024-04-07: v0.8.7 diff --git a/docs/train_network_README-ja.md b/docs/train_network_README-ja.md index 2205a7736..46085117c 100644 --- a/docs/train_network_README-ja.md +++ b/docs/train_network_README-ja.md @@ -181,16 +181,16 @@ python networks\extract_lora_from_dylora.py --model "foldername/dylora-model.saf 詳細は[PR #355](https://github.com/kohya-ss/sd-scripts/pull/355) をご覧ください。 -SDXLは現在サポートしていません。 - フルモデルの25個のブロックの重みを指定できます。最初のブロックに該当するLoRAは存在しませんが、階層別LoRA適用等との互換性のために25個としています。またconv2d3x3に拡張しない場合も一部のブロックにはLoRAが存在しませんが、記述を統一するため常に25個の値を指定してください。 +SDXL では down/up 9 個、middle 3 個の値を指定してください。 + `--network_args` で以下の引数を指定してください。 - `down_lr_weight` : U-Netのdown blocksの学習率の重みを指定します。以下が指定可能です。 - - ブロックごとの重み : `"down_lr_weight=0,0,0,0,0,0,1,1,1,1,1,1"` のように12個の数値を指定します。 + - ブロックごとの重み : `"down_lr_weight=0,0,0,0,0,0,1,1,1,1,1,1"` のように12個(SDXL では 9 個)の数値を指定します。 - プリセットからの指定 : `"down_lr_weight=sine"` のように指定します(サインカーブで重みを指定します)。sine, cosine, linear, reverse_linear, zeros が指定可能です。また `"down_lr_weight=cosine+.25"` のように `+数値` を追加すると、指定した数値を加算します(0.25~1.25になります)。 -- `mid_lr_weight` : U-Netのmid blockの学習率の重みを指定します。`"down_lr_weight=0.5"` のように数値を一つだけ指定します。 +- `mid_lr_weight` : U-Netのmid blockの学習率の重みを指定します。`"down_lr_weight=0.5"` のように数値を一つだけ指定します(SDXL の場合は 3 個)。 - `up_lr_weight` : U-Netのup blocksの学習率の重みを指定します。down_lr_weightと同様です。 - 指定を省略した部分は1.0として扱われます。また重みを0にするとそのブロックのLoRAモジュールは作成されません。 - `block_lr_zero_threshold` : 重みがこの値以下の場合、LoRAモジュールを作成しません。デフォルトは0です。 @@ -215,6 +215,9 @@ network_args = [ "block_lr_zero_threshold=0.1", "down_lr_weight=sine+.5", "mid_l フルモデルの25個のブロックのdim (rank)を指定できます。階層別学習率と同様に一部のブロックにはLoRAが存在しない場合がありますが、常に25個の値を指定してください。 +SDXL では 23 個の値を指定してください。一部のブロックにはLoRA が存在しませんが、`sdxl_train.py` の[階層別学習率](./train_SDXL-en.md) との互換性のためです。 +対応は、`0: time/label embed, 1-9: input blocks 0-8, 10-12: mid blocks 0-2, 13-21: output blocks 0-8, 22: out` です。 + `--network_args` で以下の引数を指定してください。 - `block_dims` : 各ブロックのdim (rank)を指定します。`"block_dims=2,2,2,2,4,4,4,4,6,6,6,6,8,6,6,6,6,4,4,4,4,2,2,2,2"` のように25個の数値を指定します。 diff --git a/networks/lora.py b/networks/lora.py index 6e5645577..00d21b0ed 100644 --- a/networks/lora.py +++ b/networks/lora.py @@ -985,7 +985,7 @@ def create_modules( skipped = skipped_te + skipped_un if varbose and len(skipped) > 0: - logger.warn( + logger.warning( f"because block_lr_weight is 0 or dim (rank) is 0, {len(skipped)} LoRA modules are skipped / block_lr_weightまたはdim (rank)が0の為、次の{len(skipped)}個のLoRAモジュールはスキップされます:" ) for name in skipped: From 9ddb4d7a0138722913f6f1a6f1bf30f7ff89bb5b Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 12 May 2024 17:55:08 +0900 Subject: [PATCH 061/748] update readme and help message etc. --- README.md | 8 ++++++++ library/sdxl_model_util.py | 6 ++++-- library/sdxl_train_util.py | 6 +++++- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index b10da0f23..ed91d6d7b 100644 --- a/README.md +++ b/README.md @@ -165,6 +165,10 @@ The majority of scripts is licensed under ASL 2.0 (including codes from Diffuser - Specify the learning rate and dim (rank) for each block. - See [Block-wise learning rates in LoRA](./docs/train_network_README-ja.md#階層別学習率) for details (Japanese only). +- An option `--disable_mmap_load_safetensors` is added to disable memory mapping when loading the model's .safetensors in SDXL. PR [#1266](https://github.com/kohya-ss/sd-scripts/pull/1266) Thanks to Zovjsra! + - It seems that the model file loading is faster in the WSL environment etc. + - Available in `sdxl_train.py`, `sdxl_train_network.py`, `sdxl_train_textual_inversion.py`, and `sdxl_train_control_net_lllite.py`. + - Fixed some bugs when using DeepSpeed. Related [#1247](https://github.com/kohya-ss/sd-scripts/pull/1247) - SDXL の学習時に Fused optimizer が使えるようになりました。PR [#1259](https://github.com/kohya-ss/sd-scripts/pull/1259) 2kpr 氏に感謝します。 @@ -193,6 +197,10 @@ The majority of scripts is licensed under ASL 2.0 (including codes from Diffuser - ブロックごとに学習率および dim (rank) を指定することができます。 - 詳細は [LoRA の階層別学習率](./docs/train_network_README-ja.md#階層別学習率) をご覧ください。 +- SDXL でモデルの .safetensors を読み込む際にメモリマッピングを無効化するオプション `--disable_mmap_load_safetensors` が追加されました。PR [#1266](https://github.com/kohya-ss/sd-scripts/pull/1266) Zovjsra 氏に感謝します。 + - WSL 環境等でモデルファイルの読み込みが高速化されるようです。 + - `sdxl_train.py`、`sdxl_train_network.py`、`sdxl_train_textual_inversion.py`、`sdxl_train_control_net_lllite.py` で使用可能です。 + - DeepSpeed 使用時のいくつかのバグを修正しました。関連 [#1247](https://github.com/kohya-ss/sd-scripts/pull/1247) diff --git a/library/sdxl_model_util.py b/library/sdxl_model_util.py index e6fcb1f9c..4fad78a1c 100644 --- a/library/sdxl_model_util.py +++ b/library/sdxl_model_util.py @@ -9,8 +9,10 @@ from library import model_util from library import sdxl_original_unet from .utils import setup_logging + setup_logging() import logging + logger = logging.getLogger(__name__) VAE_SCALE_FACTOR = 0.13025 @@ -171,8 +173,8 @@ def load_models_from_sdxl_checkpoint(model_version, ckpt_path, map_location, dty # Load the state dict if model_util.is_safetensors(ckpt_path): checkpoint = None - if(disable_mmap): - state_dict = safetensors.torch.load(open(ckpt_path, 'rb').read()) + if disable_mmap: + state_dict = safetensors.torch.load(open(ckpt_path, "rb").read()) else: try: state_dict = load_file(ckpt_path, device=map_location) diff --git a/library/sdxl_train_util.py b/library/sdxl_train_util.py index 106c5b455..b74bea91a 100644 --- a/library/sdxl_train_util.py +++ b/library/sdxl_train_util.py @@ -5,6 +5,7 @@ import torch from library.device_utils import init_ipex, clean_memory_on_device + init_ipex() from accelerate import init_empty_weights @@ -13,8 +14,10 @@ from library import model_util, sdxl_model_util, train_util, sdxl_original_unet from library.sdxl_lpw_stable_diffusion import SdxlStableDiffusionLongPromptWeightingPipeline from .utils import setup_logging + setup_logging() import logging + logger = logging.getLogger(__name__) TOKENIZER1_PATH = "openai/clip-vit-large-patch14" @@ -44,7 +47,7 @@ def load_target_model(args, accelerator, model_version: str, weight_dtype): weight_dtype, accelerator.device if args.lowram else "cpu", model_dtype, - args.disable_mmap_load_safetensors + args.disable_mmap_load_safetensors, ) # work on low-ram device @@ -336,6 +339,7 @@ def add_sdxl_training_arguments(parser: argparse.ArgumentParser): parser.add_argument( "--disable_mmap_load_safetensors", action="store_true", + help="disable mmap load for safetensors. Speed up model loading in WSL environment / safetensorsのmmapロードを無効にする。WSL環境等でモデル読み込みを高速化できる", ) From 3701507874c920e09e402980363702a91a67da3d Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 12 May 2024 20:56:56 +0900 Subject: [PATCH 062/748] raise original error if error is occured in checking latents --- library/train_util.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index d157cdbcd..8a69f0bef 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -2136,9 +2136,8 @@ def is_disk_cached_latents_is_expected(reso, npz_path: str, flip_aug: bool): if npz["latents_flipped"].shape[1:3] != expected_latents_size: return False except Exception as e: - print(npz_path) - print(e) - return False + logger.error(f"Error loading file: {npz_path}") + raise e return True From 39b82f26e5f9df6518a4e32f4b91b4c46cc667fb Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 12 May 2024 20:58:45 +0900 Subject: [PATCH 063/748] update readme --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index ed91d6d7b..245853415 100644 --- a/README.md +++ b/README.md @@ -169,6 +169,8 @@ The majority of scripts is licensed under ASL 2.0 (including codes from Diffuser - It seems that the model file loading is faster in the WSL environment etc. - Available in `sdxl_train.py`, `sdxl_train_network.py`, `sdxl_train_textual_inversion.py`, and `sdxl_train_control_net_lllite.py`. +- When there is an error in the cached latents file on disk, the file name is now displayed. PR [#1278](https://github.com/kohya-ss/sd-scripts/pull/1278) Thanks to Cauldrath! + - Fixed some bugs when using DeepSpeed. Related [#1247](https://github.com/kohya-ss/sd-scripts/pull/1247) - SDXL の学習時に Fused optimizer が使えるようになりました。PR [#1259](https://github.com/kohya-ss/sd-scripts/pull/1259) 2kpr 氏に感謝します。 @@ -201,6 +203,8 @@ The majority of scripts is licensed under ASL 2.0 (including codes from Diffuser - WSL 環境等でモデルファイルの読み込みが高速化されるようです。 - `sdxl_train.py`、`sdxl_train_network.py`、`sdxl_train_textual_inversion.py`、`sdxl_train_control_net_lllite.py` で使用可能です。 +- ディスクにキャッシュされた latents ファイルに何らかのエラーがあったとき、そのファイル名が表示されるようになりました。 PR [#1278](https://github.com/kohya-ss/sd-scripts/pull/1278) Cauldrath 氏に感謝します。 + - DeepSpeed 使用時のいくつかのバグを修正しました。関連 [#1247](https://github.com/kohya-ss/sd-scripts/pull/1247) From 16677da0d90ad9094a0301990b831a8dd6c0e957 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 12 May 2024 22:15:07 +0900 Subject: [PATCH 064/748] fix create_network_from_weights doesn't work --- networks/lora.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/networks/lora.py b/networks/lora.py index 00d21b0ed..79dc6ec07 100644 --- a/networks/lora.py +++ b/networks/lora.py @@ -757,6 +757,9 @@ def get_block_index(lora_name: str, is_sdxl: bool = False) -> int: # Create network from weights for inference, weights are not loaded here (because can be merged) def create_network_from_weights(multiplier, file, vae, text_encoder, unet, weights_sd=None, for_inference=False, **kwargs): + # if unet is an instance of SdxlUNet2DConditionModel or subclass, set is_sdxl to True + is_sdxl = unet is not None and issubclass(unet.__class__, SdxlUNet2DConditionModel) + if weights_sd is None: if os.path.splitext(file)[1] == ".safetensors": from safetensors.torch import load_file, safe_open @@ -792,7 +795,7 @@ def create_network_from_weights(multiplier, file, vae, text_encoder, unet, weigh ) # block lr - block_lr_weight = parse_block_lr_kwargs(kwargs) + block_lr_weight = parse_block_lr_kwargs(is_sdxl, kwargs) if block_lr_weight is not None: network.set_block_lr_weight(block_lr_weight) From 589c2aa025d277497de32c2ceb8a9e76f4ca4bf2 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Mon, 13 May 2024 21:20:37 +0900 Subject: [PATCH 065/748] update README --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/README.md b/README.md index 245853415..9d042a41b 100644 --- a/README.md +++ b/README.md @@ -171,6 +171,12 @@ The majority of scripts is licensed under ASL 2.0 (including codes from Diffuser - When there is an error in the cached latents file on disk, the file name is now displayed. PR [#1278](https://github.com/kohya-ss/sd-scripts/pull/1278) Thanks to Cauldrath! +- Fixed an error that occurs when specifying `--max_dataloader_n_workers` in `tag_images_by_wd14_tagger.py` when Onnx is not used. PR [#1291]( +https://github.com/kohya-ss/sd-scripts/pull/1291) issue [#1290]( +https://github.com/kohya-ss/sd-scripts/pull/1290) Thanks to frodo821! + +- Fixed a bug that `caption_separator` cannot be specified in the subset in the dataset settings .toml file. [#1312](https://github.com/kohya-ss/sd-scripts/pull/1312) and [#1313](https://github.com/kohya-ss/sd-scripts/pull/1312) Thanks to rockerBOO! + - Fixed some bugs when using DeepSpeed. Related [#1247](https://github.com/kohya-ss/sd-scripts/pull/1247) - SDXL の学習時に Fused optimizer が使えるようになりました。PR [#1259](https://github.com/kohya-ss/sd-scripts/pull/1259) 2kpr 氏に感謝します。 @@ -205,6 +211,12 @@ The majority of scripts is licensed under ASL 2.0 (including codes from Diffuser - ディスクにキャッシュされた latents ファイルに何らかのエラーがあったとき、そのファイル名が表示されるようになりました。 PR [#1278](https://github.com/kohya-ss/sd-scripts/pull/1278) Cauldrath 氏に感謝します。 +- `tag_images_by_wd14_tagger.py` で Onnx 未使用時に `--max_dataloader_n_workers` を指定するとエラーになる不具合が修正されました。 PR [#1291]( +https://github.com/kohya-ss/sd-scripts/pull/1291) issue [#1290]( +https://github.com/kohya-ss/sd-scripts/pull/1290) frodo821 氏に感謝します。 + +- データセット設定の .toml ファイルで、`caption_separator` が subset に指定できない不具合が修正されました。 PR [#1312](https://github.com/kohya-ss/sd-scripts/pull/1312) および [#1313](https://github.com/kohya-ss/sd-scripts/pull/1312) rockerBOO 氏に感謝します。 + - DeepSpeed 使用時のいくつかのバグを修正しました。関連 [#1247](https://github.com/kohya-ss/sd-scripts/pull/1247) From 153764a687d7553866335554d2b35ba89a123297 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Wed, 15 May 2024 20:21:49 +0900 Subject: [PATCH 066/748] add prompt option '--f' for filename --- README.md | 3 +++ gen_img.py | 55 +++++++++++++++++++++++++++++++++++++++--------------- 2 files changed, 43 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 9d042a41b..52d801217 100644 --- a/README.md +++ b/README.md @@ -179,6 +179,8 @@ https://github.com/kohya-ss/sd-scripts/pull/1290) Thanks to frodo821! - Fixed some bugs when using DeepSpeed. Related [#1247](https://github.com/kohya-ss/sd-scripts/pull/1247) +- Added a prompt option `--f` to `gen_imgs.py` to specify the file name when saving. + - SDXL の学習時に Fused optimizer が使えるようになりました。PR [#1259](https://github.com/kohya-ss/sd-scripts/pull/1259) 2kpr 氏に感謝します。 - optimizer の backward pass に step を統合することで学習時のメモリ使用量を大きく削減します。学習結果は未適用時と同一ですが、メモリが潤沢にある場合は速度は遅くなります。 - `sdxl_train.py` に `--fused_backward_pass` オプションを指定してください。現時点では optimizer は AdaFactor のみ対応しています。また gradient accumulation は使えません。 @@ -219,6 +221,7 @@ https://github.com/kohya-ss/sd-scripts/pull/1290) frodo821 氏に感謝します - DeepSpeed 使用時のいくつかのバグを修正しました。関連 [#1247](https://github.com/kohya-ss/sd-scripts/pull/1247) +- `gen_imgs.py` のプロンプトオプションに、保存時のファイル名を指定する `--f` オプションを追加しました。 ### Apr 7, 2024 / 2024-04-07: v0.8.7 diff --git a/gen_img.py b/gen_img.py index 4fe898716..d0a8f8141 100644 --- a/gen_img.py +++ b/gen_img.py @@ -1435,6 +1435,7 @@ class BatchDataBase(NamedTuple): clip_prompt: str guide_image: Any raw_prompt: str + file_name: Optional[str] class BatchDataExt(NamedTuple): @@ -2316,7 +2317,7 @@ def scale_and_round(x): # このバッチの情報を取り出す ( return_latents, - (step_first, _, _, _, init_image, mask_image, _, guide_image, _), + (step_first, _, _, _, init_image, mask_image, _, guide_image, _, _), ( width, height, @@ -2339,6 +2340,7 @@ def scale_and_round(x): prompts = [] negative_prompts = [] raw_prompts = [] + filenames = [] start_code = torch.zeros((batch_size, *noise_shape), device=device, dtype=dtype) noises = [ torch.zeros((batch_size, *noise_shape), device=device, dtype=dtype) @@ -2371,7 +2373,7 @@ def scale_and_round(x): all_guide_images_are_same = True for i, ( _, - (_, prompt, negative_prompt, seed, init_image, mask_image, clip_prompt, guide_image, raw_prompt), + (_, prompt, negative_prompt, seed, init_image, mask_image, clip_prompt, guide_image, raw_prompt, filename), _, ) in enumerate(batch): prompts.append(prompt) @@ -2379,6 +2381,7 @@ def scale_and_round(x): seeds.append(seed) clip_prompts.append(clip_prompt) raw_prompts.append(raw_prompt) + filenames.append(filename) if init_image is not None: init_images.append(init_image) @@ -2478,8 +2481,8 @@ def scale_and_round(x): # save image highres_prefix = ("0" if highres_1st else "1") if highres_fix else "" ts_str = time.strftime("%Y%m%d%H%M%S", time.localtime()) - for i, (image, prompt, negative_prompts, seed, clip_prompt, raw_prompt) in enumerate( - zip(images, prompts, negative_prompts, seeds, clip_prompts, raw_prompts) + for i, (image, prompt, negative_prompts, seed, clip_prompt, raw_prompt, filename) in enumerate( + zip(images, prompts, negative_prompts, seeds, clip_prompts, raw_prompts, filenames) ): if highres_fix: seed -= 1 # record original seed @@ -2505,17 +2508,23 @@ def scale_and_round(x): metadata.add_text("crop-top", str(crop_top)) metadata.add_text("crop-left", str(crop_left)) - if args.use_original_file_name and init_images is not None: - if type(init_images) is list: - fln = os.path.splitext(os.path.basename(init_images[i % len(init_images)].filename))[0] + ".png" - else: - fln = os.path.splitext(os.path.basename(init_images.filename))[0] + ".png" - elif args.sequential_file_name: - fln = f"im_{highres_prefix}{step_first + i + 1:06d}.png" + if filename is not None: + fln = filename else: - fln = f"im_{ts_str}_{highres_prefix}{i:03d}_{seed}.png" + if args.use_original_file_name and init_images is not None: + if type(init_images) is list: + fln = os.path.splitext(os.path.basename(init_images[i % len(init_images)].filename))[0] + ".png" + else: + fln = os.path.splitext(os.path.basename(init_images.filename))[0] + ".png" + elif args.sequential_file_name: + fln = f"im_{highres_prefix}{step_first + i + 1:06d}.png" + else: + fln = f"im_{ts_str}_{highres_prefix}{i:03d}_{seed}.png" - image.save(os.path.join(args.outdir, fln), pnginfo=metadata) + if fln.endswith(".webp"): + image.save(os.path.join(args.outdir, fln), pnginfo=metadata, quality=100) # lossy + else: + image.save(os.path.join(args.outdir, fln), pnginfo=metadata) if not args.no_preview and not highres_1st and args.interactive: try: @@ -2562,6 +2571,7 @@ def scale_and_round(x): # repeat prompt for pi in range(args.images_per_prompt if len(raw_prompts) == 1 else len(raw_prompts)): raw_prompt = raw_prompts[pi] if len(raw_prompts) > 1 else raw_prompts[0] + filename = None if pi == 0 or len(raw_prompts) > 1: # parse prompt: if prompt is not changed, skip parsing @@ -2783,6 +2793,12 @@ def scale_and_round(x): logger.info(f"gradual latent unsharp params: {gl_unsharp_params}") continue + m = re.match(r"f (.+)", parg, re.IGNORECASE) + if m: # filename + filename = m.group(1) + logger.info(f"filename: {filename}") + continue + except ValueError as ex: logger.error(f"Exception in parsing / 解析エラー: {parg}") logger.error(f"{ex}") @@ -2873,7 +2889,16 @@ def scale_and_round(x): b1 = BatchData( False, BatchDataBase( - global_step, prompt, negative_prompt, seed, init_image, mask_image, clip_prompt, guide_image, raw_prompt + global_step, + prompt, + negative_prompt, + seed, + init_image, + mask_image, + clip_prompt, + guide_image, + raw_prompt, + filename, ), BatchDataExt( width, @@ -2916,7 +2941,7 @@ def setup_parser() -> argparse.ArgumentParser: parser = argparse.ArgumentParser() add_logging_arguments(parser) - + parser.add_argument( "--sdxl", action="store_true", help="load Stable Diffusion XL model / Stable Diffusion XLのモデルを読み込む" ) From 146edce6934beee050d8e73458dad794449a0ff4 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sat, 18 May 2024 11:05:04 +0900 Subject: [PATCH 067/748] support Diffusers' based SDXL LoRA key for inference --- networks/lora.py | 49 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/networks/lora.py b/networks/lora.py index 79dc6ec07..9f159f5db 100644 --- a/networks/lora.py +++ b/networks/lora.py @@ -755,6 +755,52 @@ def get_block_index(lora_name: str, is_sdxl: bool = False) -> int: return block_idx +def convert_diffusers_to_sai_if_needed(weights_sd): + # only supports U-Net LoRA modules + + found_up_down_blocks = False + for k in list(weights_sd.keys()): + if "down_blocks" in k: + found_up_down_blocks = True + break + if "up_blocks" in k: + found_up_down_blocks = True + break + if not found_up_down_blocks: + return + + from library.sdxl_model_util import make_unet_conversion_map + + unet_conversion_map = make_unet_conversion_map() + unet_conversion_map = {hf.replace(".", "_")[:-1]: sd.replace(".", "_")[:-1] for sd, hf in unet_conversion_map} + + # # add extra conversion + # unet_conversion_map["up_blocks_1_upsamplers_0"] = "lora_unet_output_blocks_2_2_conv" + + logger.info(f"Converting LoRA keys from Diffusers to SAI") + lora_unet_prefix = "lora_unet_" + for k in list(weights_sd.keys()): + if not k.startswith(lora_unet_prefix): + continue + + unet_module_name = k[len(lora_unet_prefix) :].split(".")[0] + + # search for conversion: this is slow because the algorithm is O(n^2), but the number of keys is small + for hf_module_name, sd_module_name in unet_conversion_map.items(): + if hf_module_name in unet_module_name: + new_key = ( + lora_unet_prefix + + unet_module_name.replace(hf_module_name, sd_module_name) + + k[len(lora_unet_prefix) + len(unet_module_name) :] + ) + weights_sd[new_key] = weights_sd.pop(k) + found = True + break + + if not found: + logger.warning(f"Key {k} is not found in unet_conversion_map") + + # Create network from weights for inference, weights are not loaded here (because can be merged) def create_network_from_weights(multiplier, file, vae, text_encoder, unet, weights_sd=None, for_inference=False, **kwargs): # if unet is an instance of SdxlUNet2DConditionModel or subclass, set is_sdxl to True @@ -768,6 +814,9 @@ def create_network_from_weights(multiplier, file, vae, text_encoder, unet, weigh else: weights_sd = torch.load(file, map_location="cpu") + # if keys are Diffusers based, convert to SAI based + convert_diffusers_to_sai_if_needed(weights_sd) + # get dim/alpha mapping modules_dim = {} modules_alpha = {} From 2f19175dfeb98e5ad93a633c79fa846d67210844 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 19 May 2024 15:38:37 +0900 Subject: [PATCH 068/748] update README --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 52d801217..b9852e0ad 100644 --- a/README.md +++ b/README.md @@ -179,7 +179,7 @@ https://github.com/kohya-ss/sd-scripts/pull/1290) Thanks to frodo821! - Fixed some bugs when using DeepSpeed. Related [#1247](https://github.com/kohya-ss/sd-scripts/pull/1247) -- Added a prompt option `--f` to `gen_imgs.py` to specify the file name when saving. +- Added a prompt option `--f` to `gen_imgs.py` to specify the file name when saving. Also, Diffusers-based keys for LoRA weights are now supported. - SDXL の学習時に Fused optimizer が使えるようになりました。PR [#1259](https://github.com/kohya-ss/sd-scripts/pull/1259) 2kpr 氏に感謝します。 - optimizer の backward pass に step を統合することで学習時のメモリ使用量を大きく削減します。学習結果は未適用時と同一ですが、メモリが潤沢にある場合は速度は遅くなります。 @@ -221,7 +221,7 @@ https://github.com/kohya-ss/sd-scripts/pull/1290) frodo821 氏に感謝します - DeepSpeed 使用時のいくつかのバグを修正しました。関連 [#1247](https://github.com/kohya-ss/sd-scripts/pull/1247) -- `gen_imgs.py` のプロンプトオプションに、保存時のファイル名を指定する `--f` オプションを追加しました。 +- `gen_imgs.py` のプロンプトオプションに、保存時のファイル名を指定する `--f` オプションを追加しました。また同スクリプトで Diffusers ベースのキーを持つ LoRA の重みに対応しました。 ### Apr 7, 2024 / 2024-04-07: v0.8.7 From e3ddd1fbbe4e00f49649f5aabd470b9dccf3019d Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 19 May 2024 16:26:10 +0900 Subject: [PATCH 069/748] update README and format code --- README.md | 4 ++++ sdxl_train_control_net_lllite.py | 9 +++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b9852e0ad..5d035eb6f 100644 --- a/README.md +++ b/README.md @@ -177,6 +177,8 @@ https://github.com/kohya-ss/sd-scripts/pull/1290) Thanks to frodo821! - Fixed a bug that `caption_separator` cannot be specified in the subset in the dataset settings .toml file. [#1312](https://github.com/kohya-ss/sd-scripts/pull/1312) and [#1313](https://github.com/kohya-ss/sd-scripts/pull/1312) Thanks to rockerBOO! +- Fixed a potential bug in ControlNet-LLLite training. PR [#1322](https://github.com/kohya-ss/sd-scripts/pull/1322) Thanks to aria1th! + - Fixed some bugs when using DeepSpeed. Related [#1247](https://github.com/kohya-ss/sd-scripts/pull/1247) - Added a prompt option `--f` to `gen_imgs.py` to specify the file name when saving. Also, Diffusers-based keys for LoRA weights are now supported. @@ -219,6 +221,8 @@ https://github.com/kohya-ss/sd-scripts/pull/1290) frodo821 氏に感謝します - データセット設定の .toml ファイルで、`caption_separator` が subset に指定できない不具合が修正されました。 PR [#1312](https://github.com/kohya-ss/sd-scripts/pull/1312) および [#1313](https://github.com/kohya-ss/sd-scripts/pull/1312) rockerBOO 氏に感謝します。 +- ControlNet-LLLite 学習時の潜在バグが修正されました。 PR [#1322](https://github.com/kohya-ss/sd-scripts/pull/1322) aria1th 氏に感謝します。 + - DeepSpeed 使用時のいくつかのバグを修正しました。関連 [#1247](https://github.com/kohya-ss/sd-scripts/pull/1247) - `gen_imgs.py` のプロンプトオプションに、保存時のファイル名を指定する `--f` オプションを追加しました。また同スクリプトで Diffusers ベースのキーを持つ LoRA の重みに対応しました。 diff --git a/sdxl_train_control_net_lllite.py b/sdxl_train_control_net_lllite.py index 6ad6e763c..09b6d73be 100644 --- a/sdxl_train_control_net_lllite.py +++ b/sdxl_train_control_net_lllite.py @@ -15,6 +15,7 @@ import torch from library.device_utils import init_ipex, clean_memory_on_device + init_ipex() from torch.nn.parallel import DistributedDataParallel as DDP @@ -439,7 +440,9 @@ def remove_model(old_ckpt_name): # Sample noise, sample a random timestep for each image, and add noise to the latents, # with noise offset and/or multires noise if specified - noise, noisy_latents, timesteps, huber_c = train_util.get_noise_noisy_latents_and_timesteps(args, noise_scheduler, latents) + noise, noisy_latents, timesteps, huber_c = train_util.get_noise_noisy_latents_and_timesteps( + args, noise_scheduler, latents + ) noisy_latents = noisy_latents.to(weight_dtype) # TODO check why noisy_latents is not weight_dtype @@ -458,7 +461,9 @@ def remove_model(old_ckpt_name): else: target = noise - loss = train_util.conditional_loss(noise_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=huber_c) + loss = train_util.conditional_loss( + noise_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=huber_c + ) loss = loss.mean([1, 2, 3]) loss_weights = batch["loss_weights"] # 各sampleごとのweight From c68baae48033fe9794860518fe052dbf8def905e Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 19 May 2024 17:21:04 +0900 Subject: [PATCH 070/748] add `--log_config` option to enable/disable output training config --- README.md | 6 ++++++ fine_tune.py | 20 +++++++++++++++----- library/train_util.py | 16 +++++++++++++--- sdxl_train.py | 2 +- sdxl_train_control_net_lllite.py | 2 +- sdxl_train_control_net_lllite_old.py | 2 +- train_controlnet.py | 2 +- train_db.py | 2 +- train_network.py | 2 +- train_textual_inversion.py | 2 +- train_textual_inversion_XTI.py | 2 +- 11 files changed, 42 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 5d035eb6f..cd7744598 100644 --- a/README.md +++ b/README.md @@ -165,6 +165,9 @@ The majority of scripts is licensed under ASL 2.0 (including codes from Diffuser - Specify the learning rate and dim (rank) for each block. - See [Block-wise learning rates in LoRA](./docs/train_network_README-ja.md#階層別学習率) for details (Japanese only). +- Training scripts can now output training settings to wandb or Tensor Board logs. Specify the `--log_config` option. PR [#1285](https://github.com/kohya-ss/sd-scripts/pull/1285) Thanks to ccharest93, plucked, rockerBOO, and VelocityRa! + - Some settings, such as API keys and directory specifications, are not output due to security issues. + - An option `--disable_mmap_load_safetensors` is added to disable memory mapping when loading the model's .safetensors in SDXL. PR [#1266](https://github.com/kohya-ss/sd-scripts/pull/1266) Thanks to Zovjsra! - It seems that the model file loading is faster in the WSL environment etc. - Available in `sdxl_train.py`, `sdxl_train_network.py`, `sdxl_train_textual_inversion.py`, and `sdxl_train_control_net_lllite.py`. @@ -209,6 +212,9 @@ https://github.com/kohya-ss/sd-scripts/pull/1290) Thanks to frodo821! - ブロックごとに学習率および dim (rank) を指定することができます。 - 詳細は [LoRA の階層別学習率](./docs/train_network_README-ja.md#階層別学習率) をご覧ください。 +- 各学習スクリプトで学習設定を wandb や Tensor Board などのログに出力できるようになりました。`--log_config` オプションを指定してください。PR [#1285](https://github.com/kohya-ss/sd-scripts/pull/1285) ccharest93 氏、plucked 氏、rockerBOO 氏および VelocityRa 氏に感謝します。 + - API キーや各種ディレクトリ指定など、一部の設定はセキュリティ上の問題があるため出力されません。 + - SDXL でモデルの .safetensors を読み込む際にメモリマッピングを無効化するオプション `--disable_mmap_load_safetensors` が追加されました。PR [#1266](https://github.com/kohya-ss/sd-scripts/pull/1266) Zovjsra 氏に感謝します。 - WSL 環境等でモデルファイルの読み込みが高速化されるようです。 - `sdxl_train.py`、`sdxl_train_network.py`、`sdxl_train_textual_inversion.py`、`sdxl_train_control_net_lllite.py` で使用可能です。 diff --git a/fine_tune.py b/fine_tune.py index 77a1a4f30..d865cd2de 100644 --- a/fine_tune.py +++ b/fine_tune.py @@ -310,7 +310,11 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): init_kwargs["wandb"] = {"name": args.wandb_run_name} if args.log_tracker_config is not None: init_kwargs = toml.load(args.log_tracker_config) - accelerator.init_trackers("finetuning" if args.log_tracker_name is None else args.log_tracker_name, config=train_util.filter_sensitive_args(args), init_kwargs=init_kwargs) + accelerator.init_trackers( + "finetuning" if args.log_tracker_name is None else args.log_tracker_name, + config=train_util.get_sanitized_config_or_none(args), + init_kwargs=init_kwargs, + ) # For --sample_at_first train_util.sample_images(accelerator, args, 0, global_step, accelerator.device, vae, tokenizer, text_encoder, unet) @@ -354,7 +358,9 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): # Sample noise, sample a random timestep for each image, and add noise to the latents, # with noise offset and/or multires noise if specified - noise, noisy_latents, timesteps, huber_c = train_util.get_noise_noisy_latents_and_timesteps(args, noise_scheduler, latents) + noise, noisy_latents, timesteps, huber_c = train_util.get_noise_noisy_latents_and_timesteps( + args, noise_scheduler, latents + ) # Predict the noise residual with accelerator.autocast(): @@ -368,7 +374,9 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): if args.min_snr_gamma or args.scale_v_pred_loss_like_noise_pred or args.debiased_estimation_loss: # do not mean over batch dimension for snr weight or scale v-pred loss - loss = train_util.conditional_loss(noise_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=huber_c) + loss = train_util.conditional_loss( + noise_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=huber_c + ) loss = loss.mean([1, 2, 3]) if args.min_snr_gamma: @@ -380,7 +388,9 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): loss = loss.mean() # mean over batch dimension else: - loss = train_util.conditional_loss(noise_pred.float(), target.float(), reduction="mean", loss_type=args.loss_type, huber_c=huber_c) + loss = train_util.conditional_loss( + noise_pred.float(), target.float(), reduction="mean", loss_type=args.loss_type, huber_c=huber_c + ) accelerator.backward(loss) if accelerator.sync_gradients and args.max_grad_norm != 0.0: @@ -471,7 +481,7 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): accelerator.end_training() - if is_main_process and (args.save_state or args.save_state_on_train_end): + if is_main_process and (args.save_state or args.save_state_on_train_end): train_util.save_state_on_train_end(args, accelerator) del accelerator # この後メモリを使うのでこれは消す diff --git a/library/train_util.py b/library/train_util.py index 84764263e..410471470 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -3180,6 +3180,7 @@ def add_training_arguments(parser: argparse.ArgumentParser, support_dreambooth: default=None, help="specify WandB API key to log in before starting training (optional). / WandB APIキーを指定して学習開始前にログインする(オプション)", ) + parser.add_argument("--log_config", action="store_true", help="log training configuration / 学習設定をログに出力する") parser.add_argument( "--noise_offset", @@ -3388,7 +3389,15 @@ def add_masked_loss_arguments(parser: argparse.ArgumentParser): help="apply mask for calculating loss. conditioning_data_dir is required for dataset. / 損失計算時にマスクを適用する。datasetにはconditioning_data_dirが必要", ) -def filter_sensitive_args(args: argparse.Namespace): + +def get_sanitized_config_or_none(args: argparse.Namespace): + # if `--log_config` is enabled, return args for logging. if not, return None. + # when `--log_config is enabled, filter out sensitive values from args + # if wandb is not enabled, the log is not exposed to the public, but it is fine to filter out sensitive values to be safe + + if not args.log_config: + return None + sensitive_args = ["wandb_api_key", "huggingface_token"] sensitive_path_args = [ "pretrained_model_name_or_path", @@ -3402,9 +3411,9 @@ def filter_sensitive_args(args: argparse.Namespace): ] filtered_args = {} for k, v in vars(args).items(): - # filter out sensitive values + # filter out sensitive values and convert to string if necessary if k not in sensitive_args + sensitive_path_args: - #Accelerate values need to have type `bool`,`str`, `float`, `int`, or `None`. + # Accelerate values need to have type `bool`,`str`, `float`, `int`, or `None`. if v is None or isinstance(v, bool) or isinstance(v, str) or isinstance(v, float) or isinstance(v, int): filtered_args[k] = v # accelerate does not support lists @@ -3416,6 +3425,7 @@ def filter_sensitive_args(args: argparse.Namespace): return filtered_args + # verify command line args for training def verify_command_line_training_args(args: argparse.Namespace): # if wandb is enabled, the command line is exposed to the public diff --git a/sdxl_train.py b/sdxl_train.py index 4c4e38721..11f9892a3 100644 --- a/sdxl_train.py +++ b/sdxl_train.py @@ -589,7 +589,7 @@ def optimizer_hook(parameter: torch.Tensor): init_kwargs["wandb"] = {"name": args.wandb_run_name} if args.log_tracker_config is not None: init_kwargs = toml.load(args.log_tracker_config) - accelerator.init_trackers("finetuning" if args.log_tracker_name is None else args.log_tracker_name, config=train_util.filter_sensitive_args(args), init_kwargs=init_kwargs) + accelerator.init_trackers("finetuning" if args.log_tracker_name is None else args.log_tracker_name, config=train_util.get_sanitized_config_or_none(args), init_kwargs=init_kwargs) # For --sample_at_first sdxl_train_util.sample_images( diff --git a/sdxl_train_control_net_lllite.py b/sdxl_train_control_net_lllite.py index b141965fa..301310901 100644 --- a/sdxl_train_control_net_lllite.py +++ b/sdxl_train_control_net_lllite.py @@ -354,7 +354,7 @@ def train(args): if args.log_tracker_config is not None: init_kwargs = toml.load(args.log_tracker_config) accelerator.init_trackers( - "lllite_control_net_train" if args.log_tracker_name is None else args.log_tracker_name, config=train_util.filter_sensitive_args(args), init_kwargs=init_kwargs + "lllite_control_net_train" if args.log_tracker_name is None else args.log_tracker_name, config=train_util.get_sanitized_config_or_none(args), init_kwargs=init_kwargs ) loss_recorder = train_util.LossRecorder() diff --git a/sdxl_train_control_net_lllite_old.py b/sdxl_train_control_net_lllite_old.py index 9490cf6f2..292a0463a 100644 --- a/sdxl_train_control_net_lllite_old.py +++ b/sdxl_train_control_net_lllite_old.py @@ -324,7 +324,7 @@ def train(args): if args.log_tracker_config is not None: init_kwargs = toml.load(args.log_tracker_config) accelerator.init_trackers( - "lllite_control_net_train" if args.log_tracker_name is None else args.log_tracker_name, config=train_util.filter_sensitive_args(args), init_kwargs=init_kwargs + "lllite_control_net_train" if args.log_tracker_name is None else args.log_tracker_name, config=train_util.get_sanitized_config_or_none(args), init_kwargs=init_kwargs ) loss_recorder = train_util.LossRecorder() diff --git a/train_controlnet.py b/train_controlnet.py index 793f79c7d..9994dd99c 100644 --- a/train_controlnet.py +++ b/train_controlnet.py @@ -344,7 +344,7 @@ def train(args): if args.log_tracker_config is not None: init_kwargs = toml.load(args.log_tracker_config) accelerator.init_trackers( - "controlnet_train" if args.log_tracker_name is None else args.log_tracker_name, config=train_util.filter_sensitive_args(args), init_kwargs=init_kwargs + "controlnet_train" if args.log_tracker_name is None else args.log_tracker_name, config=train_util.get_sanitized_config_or_none(args), init_kwargs=init_kwargs ) loss_recorder = train_util.LossRecorder() diff --git a/train_db.py b/train_db.py index 4f9018293..a5408cd3d 100644 --- a/train_db.py +++ b/train_db.py @@ -290,7 +290,7 @@ def train(args): init_kwargs["wandb"] = {"name": args.wandb_run_name} if args.log_tracker_config is not None: init_kwargs = toml.load(args.log_tracker_config) - accelerator.init_trackers("dreambooth" if args.log_tracker_name is None else args.log_tracker_name, config=train_util.filter_sensitive_args(args), init_kwargs=init_kwargs) + accelerator.init_trackers("dreambooth" if args.log_tracker_name is None else args.log_tracker_name, config=train_util.get_sanitized_config_or_none(args), init_kwargs=init_kwargs) # For --sample_at_first train_util.sample_images(accelerator, args, 0, global_step, accelerator.device, vae, tokenizer, text_encoder, unet) diff --git a/train_network.py b/train_network.py index 401a1c70e..38e4888e8 100644 --- a/train_network.py +++ b/train_network.py @@ -774,7 +774,7 @@ def load_model_hook(models, input_dir): if args.log_tracker_config is not None: init_kwargs = toml.load(args.log_tracker_config) accelerator.init_trackers( - "network_train" if args.log_tracker_name is None else args.log_tracker_name, config=train_util.filter_sensitive_args(args), init_kwargs=init_kwargs + "network_train" if args.log_tracker_name is None else args.log_tracker_name, config=train_util.get_sanitized_config_or_none(args), init_kwargs=init_kwargs ) loss_recorder = train_util.LossRecorder() diff --git a/train_textual_inversion.py b/train_textual_inversion.py index 56a387391..184607d1d 100644 --- a/train_textual_inversion.py +++ b/train_textual_inversion.py @@ -510,7 +510,7 @@ def train(self, args): if args.log_tracker_config is not None: init_kwargs = toml.load(args.log_tracker_config) accelerator.init_trackers( - "textual_inversion" if args.log_tracker_name is None else args.log_tracker_name, config=train_util.filter_sensitive_args(args), init_kwargs=init_kwargs + "textual_inversion" if args.log_tracker_name is None else args.log_tracker_name, config=train_util.get_sanitized_config_or_none(args), init_kwargs=init_kwargs ) # function for saving/removing diff --git a/train_textual_inversion_XTI.py b/train_textual_inversion_XTI.py index 691785239..8eed00fa1 100644 --- a/train_textual_inversion_XTI.py +++ b/train_textual_inversion_XTI.py @@ -407,7 +407,7 @@ def train(args): if args.log_tracker_config is not None: init_kwargs = toml.load(args.log_tracker_config) accelerator.init_trackers( - "textual_inversion" if args.log_tracker_name is None else args.log_tracker_name, config=train_util.filter_sensitive_args(args), init_kwargs=init_kwargs + "textual_inversion" if args.log_tracker_name is None else args.log_tracker_name, config=train_util.get_sanitized_config_or_none(args), init_kwargs=init_kwargs ) # function for saving/removing From e4d9e3c843f5d9bfbfe56bd44c8f6a04d370201e Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 19 May 2024 17:46:07 +0900 Subject: [PATCH 071/748] remove dependency for omegaconf #ref 1284 --- README.md | 4 ++++ requirements.txt | 1 - train_controlnet.py | 38 +++++++++++++++++++++++++++++++------- 3 files changed, 35 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index cd7744598..04769a4cf 100644 --- a/README.md +++ b/README.md @@ -167,6 +167,8 @@ The majority of scripts is licensed under ASL 2.0 (including codes from Diffuser - Training scripts can now output training settings to wandb or Tensor Board logs. Specify the `--log_config` option. PR [#1285](https://github.com/kohya-ss/sd-scripts/pull/1285) Thanks to ccharest93, plucked, rockerBOO, and VelocityRa! - Some settings, such as API keys and directory specifications, are not output due to security issues. + +- The ControlNet training script `train_controlnet.py` for SD1.5/2.x was not working, but it has been fixed. PR [#1284](https://github.com/kohya-ss/sd-scripts/pull/1284) Thanks to sdbds! - An option `--disable_mmap_load_safetensors` is added to disable memory mapping when loading the model's .safetensors in SDXL. PR [#1266](https://github.com/kohya-ss/sd-scripts/pull/1266) Thanks to Zovjsra! - It seems that the model file loading is faster in the WSL environment etc. @@ -215,6 +217,8 @@ https://github.com/kohya-ss/sd-scripts/pull/1290) Thanks to frodo821! - 各学習スクリプトで学習設定を wandb や Tensor Board などのログに出力できるようになりました。`--log_config` オプションを指定してください。PR [#1285](https://github.com/kohya-ss/sd-scripts/pull/1285) ccharest93 氏、plucked 氏、rockerBOO 氏および VelocityRa 氏に感謝します。 - API キーや各種ディレクトリ指定など、一部の設定はセキュリティ上の問題があるため出力されません。 +- SD1.5/2.x 用の ControlNet 学習スクリプト `train_controlnet.py` が動作しなくなっていたのが修正されました。PR [#1284](https://github.com/kohya-ss/sd-scripts/pull/1284) sdbds 氏に感謝します。 + - SDXL でモデルの .safetensors を読み込む際にメモリマッピングを無効化するオプション `--disable_mmap_load_safetensors` が追加されました。PR [#1266](https://github.com/kohya-ss/sd-scripts/pull/1266) Zovjsra 氏に感謝します。 - WSL 環境等でモデルファイルの読み込みが高速化されるようです。 - `sdxl_train.py`、`sdxl_train_network.py`、`sdxl_train_textual_inversion.py`、`sdxl_train_control_net_lllite.py` で使用可能です。 diff --git a/requirements.txt b/requirements.txt index 9495dab2a..e99775b8a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -17,7 +17,6 @@ easygui==0.98.3 toml==0.10.2 voluptuous==0.13.1 huggingface-hub==0.20.1 -omegaconf==2.3.0 # for Image utils imagesize==1.4.1 # for BLIP captioning diff --git a/train_controlnet.py b/train_controlnet.py index 3a1fa9de6..c9ac6c5a8 100644 --- a/train_controlnet.py +++ b/train_controlnet.py @@ -5,7 +5,8 @@ import random import time from multiprocessing import Value -from omegaconf import OmegaConf + +# from omegaconf import OmegaConf import toml from tqdm import tqdm @@ -13,6 +14,7 @@ import torch from library import deepspeed_utils from library.device_utils import init_ipex, clean_memory_on_device + init_ipex() from torch.nn.parallel import DistributedDataParallel as DDP @@ -197,7 +199,23 @@ def train(args): "resnet_time_scale_shift": "default", "projection_class_embeddings_input_dim": None, } - unet.config = OmegaConf.create(unet.config) + # unet.config = OmegaConf.create(unet.config) + + # make unet.config iterable and accessible by attribute + class CustomConfig: + def __init__(self, **kwargs): + self.__dict__.update(kwargs) + + def __getattr__(self, name): + if name in self.__dict__: + return self.__dict__[name] + else: + raise AttributeError(f"'{self.__class__.__name__}' object has no attribute '{name}'") + + def __contains__(self, name): + return name in self.__dict__ + + unet.config = CustomConfig(**unet.config) controlnet = ControlNetModel.from_unet(unet) @@ -230,7 +248,7 @@ def train(args): ) vae.to("cpu") clean_memory_on_device(accelerator.device) - + accelerator.wait_for_everyone() if args.gradient_checkpointing: @@ -239,7 +257,7 @@ def train(args): # 学習に必要なクラスを準備する accelerator.print("prepare optimizer, data loader etc.") - trainable_params = controlnet.parameters() + trainable_params = list(controlnet.parameters()) _, _, optimizer = train_util.get_optimizer(args, trainable_params) @@ -348,7 +366,9 @@ def train(args): if args.log_tracker_config is not None: init_kwargs = toml.load(args.log_tracker_config) accelerator.init_trackers( - "controlnet_train" if args.log_tracker_name is None else args.log_tracker_name, config=train_util.get_sanitized_config_or_none(args), init_kwargs=init_kwargs + "controlnet_train" if args.log_tracker_name is None else args.log_tracker_name, + config=train_util.get_sanitized_config_or_none(args), + init_kwargs=init_kwargs, ) loss_recorder = train_util.LossRecorder() @@ -424,7 +444,9 @@ def remove_model(old_ckpt_name): ) # Sample a random timestep for each image - timesteps, huber_c = train_util.get_timesteps_and_huber_c(args, 0, noise_scheduler.config.num_train_timesteps, noise_scheduler, b_size, latents.device) + timesteps, huber_c = train_util.get_timesteps_and_huber_c( + args, 0, noise_scheduler.config.num_train_timesteps, noise_scheduler, b_size, latents.device + ) # Add noise to the latents according to the noise magnitude at each timestep # (this is the forward diffusion process) @@ -456,7 +478,9 @@ def remove_model(old_ckpt_name): else: target = noise - loss = train_util.conditional_loss(noise_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=huber_c) + loss = train_util.conditional_loss( + noise_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=huber_c + ) loss = loss.mean([1, 2, 3]) loss_weights = batch["loss_weights"] # 各sampleごとのweight From 4c798129b04955caad1c48405de168ff63a3809c Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 19 May 2024 19:00:32 +0900 Subject: [PATCH 072/748] update README --- README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 04769a4cf..d0f2d65b2 100644 --- a/README.md +++ b/README.md @@ -165,11 +165,14 @@ The majority of scripts is licensed under ASL 2.0 (including codes from Diffuser - Specify the learning rate and dim (rank) for each block. - See [Block-wise learning rates in LoRA](./docs/train_network_README-ja.md#階層別学習率) for details (Japanese only). +- Negative learning rates can now be specified during SDXL model training. PR [#1277](https://github.com/kohya-ss/sd-scripts/pull/1277) Thanks to Cauldrath! + - The model is trained to move away from the training images, so the model is easily collapsed. Use with caution. A value close to 0 is recommended. + - Training scripts can now output training settings to wandb or Tensor Board logs. Specify the `--log_config` option. PR [#1285](https://github.com/kohya-ss/sd-scripts/pull/1285) Thanks to ccharest93, plucked, rockerBOO, and VelocityRa! - Some settings, such as API keys and directory specifications, are not output due to security issues. - The ControlNet training script `train_controlnet.py` for SD1.5/2.x was not working, but it has been fixed. PR [#1284](https://github.com/kohya-ss/sd-scripts/pull/1284) Thanks to sdbds! - + - An option `--disable_mmap_load_safetensors` is added to disable memory mapping when loading the model's .safetensors in SDXL. PR [#1266](https://github.com/kohya-ss/sd-scripts/pull/1266) Thanks to Zovjsra! - It seems that the model file loading is faster in the WSL environment etc. - Available in `sdxl_train.py`, `sdxl_train_network.py`, `sdxl_train_textual_inversion.py`, and `sdxl_train_control_net_lllite.py`. @@ -214,6 +217,9 @@ https://github.com/kohya-ss/sd-scripts/pull/1290) Thanks to frodo821! - ブロックごとに学習率および dim (rank) を指定することができます。 - 詳細は [LoRA の階層別学習率](./docs/train_network_README-ja.md#階層別学習率) をご覧ください。 +- `sdxl_train.py` での SDXL モデル学習時に負の学習率が指定できるようになりました。PR [#1277](https://github.com/kohya-ss/sd-scripts/pull/1277) Cauldrath 氏に感謝します。 + - 学習画像から離れるように学習するため、モデルは容易に崩壊します。注意して使用してください。0 に近い値を推奨します。 + - 各学習スクリプトで学習設定を wandb や Tensor Board などのログに出力できるようになりました。`--log_config` オプションを指定してください。PR [#1285](https://github.com/kohya-ss/sd-scripts/pull/1285) ccharest93 氏、plucked 氏、rockerBOO 氏および VelocityRa 氏に感謝します。 - API キーや各種ディレクトリ指定など、一部の設定はセキュリティ上の問題があるため出力されません。 From febc5c59fad74dfcead9064033171a9c674e4870 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 19 May 2024 19:03:43 +0900 Subject: [PATCH 073/748] update README --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index d0f2d65b2..838e4022c 100644 --- a/README.md +++ b/README.md @@ -167,6 +167,7 @@ The majority of scripts is licensed under ASL 2.0 (including codes from Diffuser - Negative learning rates can now be specified during SDXL model training. PR [#1277](https://github.com/kohya-ss/sd-scripts/pull/1277) Thanks to Cauldrath! - The model is trained to move away from the training images, so the model is easily collapsed. Use with caution. A value close to 0 is recommended. + - When specifying from the command line, use `=` like `--learning_rate=-1e-7`. - Training scripts can now output training settings to wandb or Tensor Board logs. Specify the `--log_config` option. PR [#1285](https://github.com/kohya-ss/sd-scripts/pull/1285) Thanks to ccharest93, plucked, rockerBOO, and VelocityRa! - Some settings, such as API keys and directory specifications, are not output due to security issues. @@ -219,6 +220,7 @@ https://github.com/kohya-ss/sd-scripts/pull/1290) Thanks to frodo821! - `sdxl_train.py` での SDXL モデル学習時に負の学習率が指定できるようになりました。PR [#1277](https://github.com/kohya-ss/sd-scripts/pull/1277) Cauldrath 氏に感謝します。 - 学習画像から離れるように学習するため、モデルは容易に崩壊します。注意して使用してください。0 に近い値を推奨します。 + - コマンドラインから指定する場合、`--learning_rate=-1e-7` のように`=` を使ってください。 - 各学習スクリプトで学習設定を wandb や Tensor Board などのログに出力できるようになりました。`--log_config` オプションを指定してください。PR [#1285](https://github.com/kohya-ss/sd-scripts/pull/1285) ccharest93 氏、plucked 氏、rockerBOO 氏および VelocityRa 氏に感謝します。 - API キーや各種ディレクトリ指定など、一部の設定はセキュリティ上の問題があるため出力されません。 From db6752901fc204686e460255797b188cb28611a5 Mon Sep 17 00:00:00 2001 From: u-haru <40634644+u-haru@users.noreply.github.com> Date: Sun, 19 May 2024 19:07:25 +0900 Subject: [PATCH 074/748] =?UTF-8?q?=E7=94=BB=E5=83=8F=E3=81=AE=E3=82=A2?= =?UTF-8?q?=E3=83=AB=E3=83=95=E3=82=A1=E3=83=81=E3=83=A3=E3=83=B3=E3=83=8D?= =?UTF-8?q?=E3=83=AB=E3=82=92loss=E3=81=AE=E3=83=9E=E3=82=B9=E3=82=AF?= =?UTF-8?q?=E3=81=A8=E3=81=97=E3=81=A6=E4=BD=BF=E7=94=A8=E3=81=99=E3=82=8B?= =?UTF-8?q?=E3=82=AA=E3=83=97=E3=82=B7=E3=83=A7=E3=83=B3=E3=82=92=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0=20(#1223)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add alpha_mask parameter and apply masked loss * Fix type hint in trim_and_resize_if_required function * Refactor code to use keyword arguments in train_util.py * Fix alpha mask flipping logic * Fix alpha mask initialization * Fix alpha_mask transformation * Cache alpha_mask * Update alpha_masks to be on CPU * Set flipped_alpha_masks to Null if option disabled * Check if alpha_mask is None * Set alpha_mask to None if option disabled * Add description of alpha_mask option to docs --- docs/train_network_README-ja.md | 2 + docs/train_network_README-zh.md | 2 + library/config_util.py | 2 + library/custom_train_functions.py | 5 +- library/train_util.py | 203 ++++++++++++------------------ sdxl_train.py | 4 +- train_db.py | 4 +- train_network.py | 4 +- train_textual_inversion.py | 4 +- train_textual_inversion_XTI.py | 4 +- 10 files changed, 105 insertions(+), 129 deletions(-) diff --git a/docs/train_network_README-ja.md b/docs/train_network_README-ja.md index 46085117c..55c80c4b0 100644 --- a/docs/train_network_README-ja.md +++ b/docs/train_network_README-ja.md @@ -102,6 +102,8 @@ accelerate launch --num_cpu_threads_per_process 1 train_network.py * Text Encoderに関連するLoRAモジュールに、通常の学習率(--learning_rateオプションで指定)とは異なる学習率を使う時に指定します。Text Encoderのほうを若干低めの学習率(5e-5など)にしたほうが良い、という話もあるようです。 * `--network_args` * 複数の引数を指定できます。後述します。 +* `--alpha_mask` + * 画像のアルファ値をマスクとして使用します。透過画像を学習する際に使用します。[PR #1223](https://github.com/kohya-ss/sd-scripts/pull/1223) `--network_train_unet_only` と `--network_train_text_encoder_only` の両方とも未指定時(デフォルト)はText EncoderとU-Netの両方のLoRAモジュールを有効にします。 diff --git a/docs/train_network_README-zh.md b/docs/train_network_README-zh.md index ed7a0c4ef..830014f72 100644 --- a/docs/train_network_README-zh.md +++ b/docs/train_network_README-zh.md @@ -101,6 +101,8 @@ LoRA的模型将会被保存在通过`--output_dir`选项指定的文件夹中 * 当在Text Encoder相关的LoRA模块中使用与常规学习率(由`--learning_rate`选项指定)不同的学习率时,应指定此选项。可能最好将Text Encoder的学习率稍微降低(例如5e-5)。 * `--network_args` * 可以指定多个参数。将在下面详细说明。 +* `--alpha_mask` + * 使用图像的 Alpha 值作为遮罩。这在学习透明图像时使用。[PR #1223](https://github.com/kohya-ss/sd-scripts/pull/1223) 当未指定`--network_train_unet_only`和`--network_train_text_encoder_only`时(默认情况),将启用Text Encoder和U-Net的两个LoRA模块。 diff --git a/library/config_util.py b/library/config_util.py index 59f5f86d2..82baab83e 100644 --- a/library/config_util.py +++ b/library/config_util.py @@ -78,6 +78,7 @@ class BaseSubsetParams: caption_tag_dropout_rate: float = 0.0 token_warmup_min: int = 1 token_warmup_step: float = 0 + alpha_mask: bool = False @dataclass @@ -538,6 +539,7 @@ def generate_dataset_group_by_blueprint(dataset_group_blueprint: DatasetGroupBlu random_crop: {subset.random_crop} token_warmup_min: {subset.token_warmup_min}, token_warmup_step: {subset.token_warmup_step}, + alpha_mask: {subset.alpha_mask}, """ ), " ", diff --git a/library/custom_train_functions.py b/library/custom_train_functions.py index 406e0e36e..fad127405 100644 --- a/library/custom_train_functions.py +++ b/library/custom_train_functions.py @@ -479,9 +479,10 @@ def apply_noise_offset(latents, noise, noise_offset, adaptive_noise_scale): return noise -def apply_masked_loss(loss, batch): +def apply_masked_loss(loss, mask_image): # mask image is -1 to 1. we need to convert it to 0 to 1 - mask_image = batch["conditioning_images"].to(dtype=loss.dtype)[:, 0].unsqueeze(1) # use R channel + # mask_image = batch["conditioning_images"].to(dtype=loss.dtype)[:, 0].unsqueeze(1) # use R channel + mask_image = mask_image.to(dtype=loss.dtype) # resize to the same size as the loss mask_image = torch.nn.functional.interpolate(mask_image, size=loss.shape[2:], mode="area") diff --git a/library/train_util.py b/library/train_util.py index 410471470..20f8055dc 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -159,6 +159,9 @@ def __init__(self, image_key: str, num_repeats: int, caption: str, is_reg: bool, self.text_encoder_outputs1: Optional[torch.Tensor] = None self.text_encoder_outputs2: Optional[torch.Tensor] = None self.text_encoder_pool2: Optional[torch.Tensor] = None + self.alpha_mask: Optional[torch.Tensor] = None + self.alpha_mask_flipped: Optional[torch.Tensor] = None + self.use_alpha_mask: bool = False class BucketManager: @@ -379,6 +382,7 @@ def __init__( caption_suffix: Optional[str], token_warmup_min: int, token_warmup_step: Union[float, int], + alpha_mask: bool, ) -> None: self.image_dir = image_dir self.num_repeats = num_repeats @@ -403,6 +407,7 @@ def __init__( self.img_count = 0 + self.alpha_mask = alpha_mask class DreamBoothSubset(BaseSubset): def __init__( @@ -412,47 +417,13 @@ def __init__( class_tokens: Optional[str], caption_extension: str, cache_info: bool, - num_repeats, - shuffle_caption, - caption_separator: str, - keep_tokens, - keep_tokens_separator, - secondary_separator, - enable_wildcard, - color_aug, - flip_aug, - face_crop_aug_range, - random_crop, - caption_dropout_rate, - caption_dropout_every_n_epochs, - caption_tag_dropout_rate, - caption_prefix, - caption_suffix, - token_warmup_min, - token_warmup_step, + **kwargs, ) -> None: assert image_dir is not None, "image_dir must be specified / image_dirは指定が必須です" super().__init__( image_dir, - num_repeats, - shuffle_caption, - caption_separator, - keep_tokens, - keep_tokens_separator, - secondary_separator, - enable_wildcard, - color_aug, - flip_aug, - face_crop_aug_range, - random_crop, - caption_dropout_rate, - caption_dropout_every_n_epochs, - caption_tag_dropout_rate, - caption_prefix, - caption_suffix, - token_warmup_min, - token_warmup_step, + **kwargs, ) self.is_reg = is_reg @@ -473,47 +444,13 @@ def __init__( self, image_dir, metadata_file: str, - num_repeats, - shuffle_caption, - caption_separator, - keep_tokens, - keep_tokens_separator, - secondary_separator, - enable_wildcard, - color_aug, - flip_aug, - face_crop_aug_range, - random_crop, - caption_dropout_rate, - caption_dropout_every_n_epochs, - caption_tag_dropout_rate, - caption_prefix, - caption_suffix, - token_warmup_min, - token_warmup_step, + **kwargs, ) -> None: assert metadata_file is not None, "metadata_file must be specified / metadata_fileは指定が必須です" super().__init__( image_dir, - num_repeats, - shuffle_caption, - caption_separator, - keep_tokens, - keep_tokens_separator, - secondary_separator, - enable_wildcard, - color_aug, - flip_aug, - face_crop_aug_range, - random_crop, - caption_dropout_rate, - caption_dropout_every_n_epochs, - caption_tag_dropout_rate, - caption_prefix, - caption_suffix, - token_warmup_min, - token_warmup_step, + **kwargs, ) self.metadata_file = metadata_file @@ -531,47 +468,13 @@ def __init__( conditioning_data_dir: str, caption_extension: str, cache_info: bool, - num_repeats, - shuffle_caption, - caption_separator, - keep_tokens, - keep_tokens_separator, - secondary_separator, - enable_wildcard, - color_aug, - flip_aug, - face_crop_aug_range, - random_crop, - caption_dropout_rate, - caption_dropout_every_n_epochs, - caption_tag_dropout_rate, - caption_prefix, - caption_suffix, - token_warmup_min, - token_warmup_step, + **kwargs, ) -> None: assert image_dir is not None, "image_dir must be specified / image_dirは指定が必須です" super().__init__( image_dir, - num_repeats, - shuffle_caption, - caption_separator, - keep_tokens, - keep_tokens_separator, - secondary_separator, - enable_wildcard, - color_aug, - flip_aug, - face_crop_aug_range, - random_crop, - caption_dropout_rate, - caption_dropout_every_n_epochs, - caption_tag_dropout_rate, - caption_prefix, - caption_suffix, - token_warmup_min, - token_warmup_step, + **kwargs, ) self.conditioning_data_dir = conditioning_data_dir @@ -985,6 +888,8 @@ def cache_latents(self, vae, vae_batch_size=1, cache_to_disk=False, is_main_proc for info in tqdm(image_infos): subset = self.image_to_subset[info.image_key] + info.use_alpha_mask = subset.alpha_mask + if info.latents_npz is not None: # fine tuning dataset continue @@ -1088,8 +993,8 @@ def cache_text_encoder_outputs( def get_image_size(self, image_path): return imagesize.get(image_path) - def load_image_with_face_info(self, subset: BaseSubset, image_path: str): - img = load_image(image_path) + def load_image_with_face_info(self, subset: BaseSubset, image_path: str, alpha_mask=False): + img = load_image(image_path, alpha_mask) face_cx = face_cy = face_w = face_h = 0 if subset.face_crop_aug_range is not None: @@ -1166,6 +1071,7 @@ def __getitem__(self, index): input_ids_list = [] input_ids2_list = [] latents_list = [] + alpha_mask_list = [] images = [] original_sizes_hw = [] crop_top_lefts = [] @@ -1190,21 +1096,27 @@ def __getitem__(self, index): crop_ltrb = image_info.latents_crop_ltrb # calc values later if flipped if not flipped: latents = image_info.latents + alpha_mask = image_info.alpha_mask else: latents = image_info.latents_flipped - + alpha_mask = image_info.alpha_mask_flipped + image = None elif image_info.latents_npz is not None: # FineTuningDatasetまたはcache_latents_to_disk=Trueの場合 - latents, original_size, crop_ltrb, flipped_latents = load_latents_from_disk(image_info.latents_npz) + latents, original_size, crop_ltrb, flipped_latents, alpha_mask, flipped_alpha_mask = load_latents_from_disk(image_info.latents_npz) if flipped: latents = flipped_latents + alpha_mask = flipped_alpha_mask del flipped_latents + del flipped_alpha_mask latents = torch.FloatTensor(latents) + if alpha_mask is not None: + alpha_mask = torch.FloatTensor(alpha_mask) image = None else: # 画像を読み込み、必要ならcropする - img, face_cx, face_cy, face_w, face_h = self.load_image_with_face_info(subset, image_info.absolute_path) + img, face_cx, face_cy, face_w, face_h = self.load_image_with_face_info(subset, image_info.absolute_path, subset.alpha_mask) im_h, im_w = img.shape[0:2] if self.enable_bucket: @@ -1241,11 +1153,22 @@ def __getitem__(self, index): if flipped: img = img[:, ::-1, :].copy() # copy to avoid negative stride problem + if subset.alpha_mask: + if img.shape[2] == 4: + alpha_mask = img[:, :, 3] # [W,H] + else: + alpha_mask = np.full((im_w, im_h), 255, dtype=np.uint8) # [W,H] + alpha_mask = transforms.ToTensor()(alpha_mask) + else: + alpha_mask = None + img = img[:, :, :3] # remove alpha channel + latents = None image = self.image_transforms(img) # -1.0~1.0のtorch.Tensorになる images.append(image) latents_list.append(latents) + alpha_mask_list.append(alpha_mask) target_size = (image.shape[2], image.shape[1]) if image is not None else (latents.shape[2] * 8, latents.shape[1] * 8) @@ -1348,6 +1271,8 @@ def __getitem__(self, index): example["network_multipliers"] = torch.FloatTensor([self.network_multiplier] * len(captions)) + example["alpha_mask"] = torch.stack(alpha_mask_list) if alpha_mask_list[0] is not None else None + if self.debug_dataset: example["image_keys"] = bucket[image_index : image_index + self.batch_size] return example @@ -2145,7 +2070,7 @@ def is_disk_cached_latents_is_expected(reso, npz_path: str, flip_aug: bool): # 戻り値は、latents_tensor, (original_size width, original_size height), (crop left, crop top) def load_latents_from_disk( npz_path, -) -> Tuple[Optional[torch.Tensor], Optional[List[int]], Optional[List[int]], Optional[torch.Tensor]]: +) -> Tuple[Optional[torch.Tensor], Optional[List[int]], Optional[List[int]], Optional[torch.Tensor], Optional[torch.Tensor], Optional[torch.Tensor]]: npz = np.load(npz_path) if "latents" not in npz: raise ValueError(f"error: npz is old format. please re-generate {npz_path}") @@ -2154,13 +2079,19 @@ def load_latents_from_disk( original_size = npz["original_size"].tolist() crop_ltrb = npz["crop_ltrb"].tolist() flipped_latents = npz["latents_flipped"] if "latents_flipped" in npz else None - return latents, original_size, crop_ltrb, flipped_latents + alpha_mask = npz["alpha_mask"] if "alpha_mask" in npz else None + flipped_alpha_mask = npz["flipped_alpha_mask"] if "flipped_alpha_mask" in npz else None + return latents, original_size, crop_ltrb, flipped_latents, alpha_mask, flipped_alpha_mask -def save_latents_to_disk(npz_path, latents_tensor, original_size, crop_ltrb, flipped_latents_tensor=None): +def save_latents_to_disk(npz_path, latents_tensor, original_size, crop_ltrb, flipped_latents_tensor=None, alpha_mask=None, flipped_alpha_mask=None): kwargs = {} if flipped_latents_tensor is not None: kwargs["latents_flipped"] = flipped_latents_tensor.float().cpu().numpy() + if alpha_mask is not None: + kwargs["alpha_mask"] = alpha_mask.float().cpu().numpy() + if flipped_alpha_mask is not None: + kwargs["flipped_alpha_mask"] = flipped_alpha_mask.float().cpu().numpy() np.savez( npz_path, latents=latents_tensor.float().cpu().numpy(), @@ -2349,17 +2280,20 @@ def load_arbitrary_dataset(args, tokenizer) -> MinimalDataset: return train_dataset_group -def load_image(image_path): +def load_image(image_path, alpha=False): image = Image.open(image_path) if not image.mode == "RGB": - image = image.convert("RGB") + if alpha: + image = image.convert("RGBA") + else: + image = image.convert("RGB") img = np.array(image, np.uint8) return img # 画像を読み込む。戻り値はnumpy.ndarray,(original width, original height),(crop left, crop top, crop right, crop bottom) def trim_and_resize_if_required( - random_crop: bool, image: Image.Image, reso, resized_size: Tuple[int, int] + random_crop: bool, image: np.ndarray, reso, resized_size: Tuple[int, int] ) -> Tuple[np.ndarray, Tuple[int, int], Tuple[int, int, int, int]]: image_height, image_width = image.shape[0:2] original_size = (image_width, image_height) # size before resize @@ -2403,10 +2337,18 @@ def cache_batch_latents( latents_original_size and latents_crop_ltrb are also set """ images = [] + alpha_masks = [] for info in image_infos: - image = load_image(info.absolute_path) if info.image is None else np.array(info.image, np.uint8) + image = load_image(info.absolute_path, info.use_alpha_mask) if info.image is None else np.array(info.image, np.uint8) # TODO 画像のメタデータが壊れていて、メタデータから割り当てたbucketと実際の画像サイズが一致しない場合があるのでチェック追加要 image, original_size, crop_ltrb = trim_and_resize_if_required(random_crop, image, info.bucket_reso, info.resized_size) + if info.use_alpha_mask: + if image.shape[2] == 4: + alpha_mask = image[:, :, 3] # [W,H] + image = image[:, :, :3] + else: + alpha_mask = np.full_like(image[:, :, 0], 255, dtype=np.uint8) # [W,H] + alpha_masks.append(transforms.ToTensor()(alpha_mask)) image = IMAGE_TRANSFORMS(image) images.append(image) @@ -2419,25 +2361,37 @@ def cache_batch_latents( with torch.no_grad(): latents = vae.encode(img_tensors).latent_dist.sample().to("cpu") + if info.use_alpha_mask: + alpha_masks = torch.stack(alpha_masks, dim=0).to("cpu") + else: + alpha_masks = [None] * len(image_infos) + flipped_alpha_masks = [None] * len(image_infos) + if flip_aug: img_tensors = torch.flip(img_tensors, dims=[3]) with torch.no_grad(): flipped_latents = vae.encode(img_tensors).latent_dist.sample().to("cpu") + if info.use_alpha_mask: + flipped_alpha_masks = torch.flip(alpha_masks, dims=[3]) else: flipped_latents = [None] * len(latents) + flipped_alpha_masks = [None] * len(image_infos) - for info, latent, flipped_latent in zip(image_infos, latents, flipped_latents): + for info, latent, flipped_latent, alpha_mask, flipped_alpha_mask in zip(image_infos, latents, flipped_latents, alpha_masks, flipped_alpha_masks): # check NaN if torch.isnan(latents).any() or (flipped_latent is not None and torch.isnan(flipped_latent).any()): raise RuntimeError(f"NaN detected in latents: {info.absolute_path}") if cache_to_disk: - save_latents_to_disk(info.latents_npz, latent, info.latents_original_size, info.latents_crop_ltrb, flipped_latent) + save_latents_to_disk(info.latents_npz, latent, info.latents_original_size, info.latents_crop_ltrb, flipped_latent, alpha_mask, flipped_alpha_mask) else: info.latents = latent if flip_aug: info.latents_flipped = flipped_latent + info.alpha_mask = alpha_mask + info.alpha_mask_flipped = flipped_alpha_mask + if not HIGH_VRAM: clean_memory_on_device(vae.device) @@ -3683,6 +3637,11 @@ def add_dataset_arguments( default=0, help="tag length reaches maximum on N steps (or N*max_train_steps if N<1) / N(N<1ならN*max_train_steps)ステップでタグ長が最大になる。デフォルトは0(最初から最大)", ) + parser.add_argument( + "--alpha_mask", + action="store_true", + help="use alpha channel as mask for training / 画像のアルファチャンネルをlossのマスクに使用する", + ) parser.add_argument( "--dataset_class", diff --git a/sdxl_train.py b/sdxl_train.py index 7c71a5133..dcd06766b 100644 --- a/sdxl_train.py +++ b/sdxl_train.py @@ -712,7 +712,9 @@ def optimizer_hook(parameter: torch.Tensor): noise_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=huber_c ) if args.masked_loss: - loss = apply_masked_loss(loss, batch) + loss = apply_masked_loss(loss, batch["conditioning_images"][:, 0].unsqueeze(1)) + if "alpha_mask" in batch and batch["alpha_mask"] is not None: + loss = apply_masked_loss(loss, batch["alpha_mask"]) loss = loss.mean([1, 2, 3]) if args.min_snr_gamma: diff --git a/train_db.py b/train_db.py index a5408cd3d..c46900006 100644 --- a/train_db.py +++ b/train_db.py @@ -360,7 +360,9 @@ def train(args): loss = train_util.conditional_loss(noise_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=huber_c) if args.masked_loss: - loss = apply_masked_loss(loss, batch) + loss = apply_masked_loss(loss, batch["conditioning_images"][:, 0].unsqueeze(1)) + if "alpha_mask" in batch and batch["alpha_mask"] is not None: + loss = apply_masked_loss(loss, batch["alpha_mask"]) loss = loss.mean([1, 2, 3]) loss_weights = batch["loss_weights"] # 各sampleごとのweight diff --git a/train_network.py b/train_network.py index 38e4888e8..cd1677ad2 100644 --- a/train_network.py +++ b/train_network.py @@ -903,7 +903,9 @@ def remove_model(old_ckpt_name): noise_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=huber_c ) if args.masked_loss: - loss = apply_masked_loss(loss, batch) + loss = apply_masked_loss(loss, batch["conditioning_images"][:, 0].unsqueeze(1)) + if "alpha_mask" in batch and batch["alpha_mask"] is not None: + loss = apply_masked_loss(loss, batch["alpha_mask"]) loss = loss.mean([1, 2, 3]) loss_weights = batch["loss_weights"] # 各sampleごとのweight diff --git a/train_textual_inversion.py b/train_textual_inversion.py index 184607d1d..a9c2a1094 100644 --- a/train_textual_inversion.py +++ b/train_textual_inversion.py @@ -590,7 +590,9 @@ def remove_model(old_ckpt_name): loss = train_util.conditional_loss(noise_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=huber_c) if args.masked_loss: - loss = apply_masked_loss(loss, batch) + loss = apply_masked_loss(loss, batch["conditioning_images"][:, 0].unsqueeze(1)) + if "alpha_mask" in batch and batch["alpha_mask"] is not None: + loss = apply_masked_loss(loss, batch["alpha_mask"]) loss = loss.mean([1, 2, 3]) loss_weights = batch["loss_weights"] # 各sampleごとのweight diff --git a/train_textual_inversion_XTI.py b/train_textual_inversion_XTI.py index 8eed00fa1..959839cbb 100644 --- a/train_textual_inversion_XTI.py +++ b/train_textual_inversion_XTI.py @@ -475,7 +475,9 @@ def remove_model(old_ckpt_name): loss = train_util.conditional_loss(noise_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=huber_c) if args.masked_loss: - loss = apply_masked_loss(loss, batch) + loss = apply_masked_loss(loss, batch["conditioning_images"][:, 0].unsqueeze(1)) + if "alpha_mask" in batch and batch["alpha_mask"] is not None: + loss = apply_masked_loss(loss, batch["alpha_mask"]) loss = loss.mean([1, 2, 3]) loss_weights = batch["loss_weights"] # 各sampleごとのweight From f2dd43e198f4bc059f4790ada041fa8f2a305f25 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 19 May 2024 19:23:59 +0900 Subject: [PATCH 075/748] revert kwargs to explicit declaration --- library/train_util.py | 158 +++++++++++++++++++++++++++++++++++++----- 1 file changed, 142 insertions(+), 16 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index 20f8055dc..6cf285903 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -409,6 +409,7 @@ def __init__( self.alpha_mask = alpha_mask + class DreamBoothSubset(BaseSubset): def __init__( self, @@ -417,13 +418,47 @@ def __init__( class_tokens: Optional[str], caption_extension: str, cache_info: bool, - **kwargs, + num_repeats, + shuffle_caption, + caption_separator: str, + keep_tokens, + keep_tokens_separator, + secondary_separator, + enable_wildcard, + color_aug, + flip_aug, + face_crop_aug_range, + random_crop, + caption_dropout_rate, + caption_dropout_every_n_epochs, + caption_tag_dropout_rate, + caption_prefix, + caption_suffix, + token_warmup_min, + token_warmup_step, ) -> None: assert image_dir is not None, "image_dir must be specified / image_dirは指定が必須です" super().__init__( image_dir, - **kwargs, + num_repeats, + shuffle_caption, + caption_separator, + keep_tokens, + keep_tokens_separator, + secondary_separator, + enable_wildcard, + color_aug, + flip_aug, + face_crop_aug_range, + random_crop, + caption_dropout_rate, + caption_dropout_every_n_epochs, + caption_tag_dropout_rate, + caption_prefix, + caption_suffix, + token_warmup_min, + token_warmup_step, ) self.is_reg = is_reg @@ -444,13 +479,47 @@ def __init__( self, image_dir, metadata_file: str, - **kwargs, + num_repeats, + shuffle_caption, + caption_separator, + keep_tokens, + keep_tokens_separator, + secondary_separator, + enable_wildcard, + color_aug, + flip_aug, + face_crop_aug_range, + random_crop, + caption_dropout_rate, + caption_dropout_every_n_epochs, + caption_tag_dropout_rate, + caption_prefix, + caption_suffix, + token_warmup_min, + token_warmup_step, ) -> None: assert metadata_file is not None, "metadata_file must be specified / metadata_fileは指定が必須です" super().__init__( image_dir, - **kwargs, + num_repeats, + shuffle_caption, + caption_separator, + keep_tokens, + keep_tokens_separator, + secondary_separator, + enable_wildcard, + color_aug, + flip_aug, + face_crop_aug_range, + random_crop, + caption_dropout_rate, + caption_dropout_every_n_epochs, + caption_tag_dropout_rate, + caption_prefix, + caption_suffix, + token_warmup_min, + token_warmup_step, ) self.metadata_file = metadata_file @@ -468,13 +537,47 @@ def __init__( conditioning_data_dir: str, caption_extension: str, cache_info: bool, - **kwargs, + num_repeats, + shuffle_caption, + caption_separator, + keep_tokens, + keep_tokens_separator, + secondary_separator, + enable_wildcard, + color_aug, + flip_aug, + face_crop_aug_range, + random_crop, + caption_dropout_rate, + caption_dropout_every_n_epochs, + caption_tag_dropout_rate, + caption_prefix, + caption_suffix, + token_warmup_min, + token_warmup_step, ) -> None: assert image_dir is not None, "image_dir must be specified / image_dirは指定が必須です" super().__init__( image_dir, - **kwargs, + num_repeats, + shuffle_caption, + caption_separator, + keep_tokens, + keep_tokens_separator, + secondary_separator, + enable_wildcard, + color_aug, + flip_aug, + face_crop_aug_range, + random_crop, + caption_dropout_rate, + caption_dropout_every_n_epochs, + caption_tag_dropout_rate, + caption_prefix, + caption_suffix, + token_warmup_min, + token_warmup_step, ) self.conditioning_data_dir = conditioning_data_dir @@ -1100,10 +1203,12 @@ def __getitem__(self, index): else: latents = image_info.latents_flipped alpha_mask = image_info.alpha_mask_flipped - + image = None elif image_info.latents_npz is not None: # FineTuningDatasetまたはcache_latents_to_disk=Trueの場合 - latents, original_size, crop_ltrb, flipped_latents, alpha_mask, flipped_alpha_mask = load_latents_from_disk(image_info.latents_npz) + latents, original_size, crop_ltrb, flipped_latents, alpha_mask, flipped_alpha_mask = load_latents_from_disk( + image_info.latents_npz + ) if flipped: latents = flipped_latents alpha_mask = flipped_alpha_mask @@ -1116,7 +1221,9 @@ def __getitem__(self, index): image = None else: # 画像を読み込み、必要ならcropする - img, face_cx, face_cy, face_w, face_h = self.load_image_with_face_info(subset, image_info.absolute_path, subset.alpha_mask) + img, face_cx, face_cy, face_w, face_h = self.load_image_with_face_info( + subset, image_info.absolute_path, subset.alpha_mask + ) im_h, im_w = img.shape[0:2] if self.enable_bucket: @@ -1157,7 +1264,7 @@ def __getitem__(self, index): if img.shape[2] == 4: alpha_mask = img[:, :, 3] # [W,H] else: - alpha_mask = np.full((im_w, im_h), 255, dtype=np.uint8) # [W,H] + alpha_mask = np.full((im_w, im_h), 255, dtype=np.uint8) # [W,H] alpha_mask = transforms.ToTensor()(alpha_mask) else: alpha_mask = None @@ -2070,7 +2177,14 @@ def is_disk_cached_latents_is_expected(reso, npz_path: str, flip_aug: bool): # 戻り値は、latents_tensor, (original_size width, original_size height), (crop left, crop top) def load_latents_from_disk( npz_path, -) -> Tuple[Optional[torch.Tensor], Optional[List[int]], Optional[List[int]], Optional[torch.Tensor], Optional[torch.Tensor], Optional[torch.Tensor]]: +) -> Tuple[ + Optional[torch.Tensor], + Optional[List[int]], + Optional[List[int]], + Optional[torch.Tensor], + Optional[torch.Tensor], + Optional[torch.Tensor], +]: npz = np.load(npz_path) if "latents" not in npz: raise ValueError(f"error: npz is old format. please re-generate {npz_path}") @@ -2084,7 +2198,9 @@ def load_latents_from_disk( return latents, original_size, crop_ltrb, flipped_latents, alpha_mask, flipped_alpha_mask -def save_latents_to_disk(npz_path, latents_tensor, original_size, crop_ltrb, flipped_latents_tensor=None, alpha_mask=None, flipped_alpha_mask=None): +def save_latents_to_disk( + npz_path, latents_tensor, original_size, crop_ltrb, flipped_latents_tensor=None, alpha_mask=None, flipped_alpha_mask=None +): kwargs = {} if flipped_latents_tensor is not None: kwargs["latents_flipped"] = flipped_latents_tensor.float().cpu().numpy() @@ -2344,10 +2460,10 @@ def cache_batch_latents( image, original_size, crop_ltrb = trim_and_resize_if_required(random_crop, image, info.bucket_reso, info.resized_size) if info.use_alpha_mask: if image.shape[2] == 4: - alpha_mask = image[:, :, 3] # [W,H] + alpha_mask = image[:, :, 3] # [W,H] image = image[:, :, :3] else: - alpha_mask = np.full_like(image[:, :, 0], 255, dtype=np.uint8) # [W,H] + alpha_mask = np.full_like(image[:, :, 0], 255, dtype=np.uint8) # [W,H] alpha_masks.append(transforms.ToTensor()(alpha_mask)) image = IMAGE_TRANSFORMS(image) images.append(image) @@ -2377,13 +2493,23 @@ def cache_batch_latents( flipped_latents = [None] * len(latents) flipped_alpha_masks = [None] * len(image_infos) - for info, latent, flipped_latent, alpha_mask, flipped_alpha_mask in zip(image_infos, latents, flipped_latents, alpha_masks, flipped_alpha_masks): + for info, latent, flipped_latent, alpha_mask, flipped_alpha_mask in zip( + image_infos, latents, flipped_latents, alpha_masks, flipped_alpha_masks + ): # check NaN if torch.isnan(latents).any() or (flipped_latent is not None and torch.isnan(flipped_latent).any()): raise RuntimeError(f"NaN detected in latents: {info.absolute_path}") if cache_to_disk: - save_latents_to_disk(info.latents_npz, latent, info.latents_original_size, info.latents_crop_ltrb, flipped_latent, alpha_mask, flipped_alpha_mask) + save_latents_to_disk( + info.latents_npz, + latent, + info.latents_original_size, + info.latents_crop_ltrb, + flipped_latent, + alpha_mask, + flipped_alpha_mask, + ) else: info.latents = latent if flip_aug: From da6fea3d9779970a1c573bf26fe37c924efc68d8 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 19 May 2024 21:26:18 +0900 Subject: [PATCH 076/748] simplify and update alpha mask to work with various cases --- finetune/prepare_buckets_latents.py | 33 +++++-- library/config_util.py | 2 + library/custom_train_functions.py | 15 ++- library/train_util.py | 147 +++++++++++++++------------- sdxl_train.py | 6 +- tools/cache_latents.py | 12 ++- train_db.py | 6 +- train_network.py | 10 +- train_textual_inversion.py | 6 +- train_textual_inversion_XTI.py | 6 +- 10 files changed, 139 insertions(+), 104 deletions(-) diff --git a/finetune/prepare_buckets_latents.py b/finetune/prepare_buckets_latents.py index 0389da388..019c737a6 100644 --- a/finetune/prepare_buckets_latents.py +++ b/finetune/prepare_buckets_latents.py @@ -11,6 +11,7 @@ import torch from library.device_utils import init_ipex, get_preferred_device + init_ipex() from torchvision import transforms @@ -18,8 +19,10 @@ import library.model_util as model_util import library.train_util as train_util from library.utils import setup_logging + setup_logging() import logging + logger = logging.getLogger(__name__) DEVICE = get_preferred_device() @@ -89,7 +92,9 @@ def main(args): # bucketのサイズを計算する max_reso = tuple([int(t) for t in args.max_resolution.split(",")]) - assert len(max_reso) == 2, f"illegal resolution (not 'width,height') / 画像サイズに誤りがあります。'幅,高さ'で指定してください: {args.max_resolution}" + assert ( + len(max_reso) == 2 + ), f"illegal resolution (not 'width,height') / 画像サイズに誤りがあります。'幅,高さ'で指定してください: {args.max_resolution}" bucket_manager = train_util.BucketManager( args.bucket_no_upscale, max_reso, args.min_bucket_reso, args.max_bucket_reso, args.bucket_reso_steps @@ -107,7 +112,7 @@ def main(args): def process_batch(is_last): for bucket in bucket_manager.buckets: if (is_last and len(bucket) > 0) or len(bucket) >= args.batch_size: - train_util.cache_batch_latents(vae, True, bucket, args.flip_aug, False) + train_util.cache_batch_latents(vae, True, bucket, args.flip_aug, args.alpha_mask, False) bucket.clear() # 読み込みの高速化のためにDataLoaderを使うオプション @@ -208,7 +213,9 @@ def setup_parser() -> argparse.ArgumentParser: parser.add_argument("in_json", type=str, help="metadata file to input / 読み込むメタデータファイル") parser.add_argument("out_json", type=str, help="metadata file to output / メタデータファイル書き出し先") parser.add_argument("model_name_or_path", type=str, help="model name or path to encode latents / latentを取得するためのモデル") - parser.add_argument("--v2", action="store_true", help="not used (for backward compatibility) / 使用されません(互換性のため残してあります)") + parser.add_argument( + "--v2", action="store_true", help="not used (for backward compatibility) / 使用されません(互換性のため残してあります)" + ) parser.add_argument("--batch_size", type=int, default=1, help="batch size in inference / 推論時のバッチサイズ") parser.add_argument( "--max_data_loader_n_workers", @@ -231,10 +238,16 @@ def setup_parser() -> argparse.ArgumentParser: help="steps of resolution for buckets, divisible by 8 is recommended / bucketの解像度の単位、8で割り切れる値を推奨します", ) parser.add_argument( - "--bucket_no_upscale", action="store_true", help="make bucket for each image without upscaling / 画像を拡大せずbucketを作成します" + "--bucket_no_upscale", + action="store_true", + help="make bucket for each image without upscaling / 画像を拡大せずbucketを作成します", ) parser.add_argument( - "--mixed_precision", type=str, default="no", choices=["no", "fp16", "bf16"], help="use mixed precision / 混合精度を使う場合、その精度" + "--mixed_precision", + type=str, + default="no", + choices=["no", "fp16", "bf16"], + help="use mixed precision / 混合精度を使う場合、その精度", ) parser.add_argument( "--full_path", @@ -242,7 +255,15 @@ def setup_parser() -> argparse.ArgumentParser: help="use full path as image-key in metadata (supports multiple directories) / メタデータで画像キーをフルパスにする(複数の学習画像ディレクトリに対応)", ) parser.add_argument( - "--flip_aug", action="store_true", help="flip augmentation, save latents for flipped images / 左右反転した画像もlatentを取得、保存する" + "--flip_aug", + action="store_true", + help="flip augmentation, save latents for flipped images / 左右反転した画像もlatentを取得、保存する", + ) + parser.add_argument( + "--alpha_mask", + type=str, + default="", + help="save alpha mask for images for loss calculation / 損失計算用に画像のアルファマスクを保存する", ) parser.add_argument( "--skip_existing", diff --git a/library/config_util.py b/library/config_util.py index 82baab83e..964270dbb 100644 --- a/library/config_util.py +++ b/library/config_util.py @@ -214,11 +214,13 @@ def __validate_and_convert_scalar_or_twodim(klass, value: Union[float, Sequence] DB_SUBSET_DISTINCT_SCHEMA = { Required("image_dir"): str, "is_reg": bool, + "alpha_mask": bool, } # FT means FineTuning FT_SUBSET_DISTINCT_SCHEMA = { Required("metadata_file"): str, "image_dir": str, + "alpha_mask": bool, } CN_SUBSET_ASCENDABLE_SCHEMA = { "caption_extension": str, diff --git a/library/custom_train_functions.py b/library/custom_train_functions.py index fad127405..af5813a1d 100644 --- a/library/custom_train_functions.py +++ b/library/custom_train_functions.py @@ -479,14 +479,19 @@ def apply_noise_offset(latents, noise, noise_offset, adaptive_noise_scale): return noise -def apply_masked_loss(loss, mask_image): - # mask image is -1 to 1. we need to convert it to 0 to 1 - # mask_image = batch["conditioning_images"].to(dtype=loss.dtype)[:, 0].unsqueeze(1) # use R channel - mask_image = mask_image.to(dtype=loss.dtype) +def apply_masked_loss(loss, batch): + if "conditioning_images" in batch: + # conditioning image is -1 to 1. we need to convert it to 0 to 1 + mask_image = batch["conditioning_images"].to(dtype=loss.dtype)[:, 0].unsqueeze(1) # use R channel + mask_image = mask_image / 2 + 0.5 + elif "alpha_masks" in batch and batch["alpha_masks"] is not None: + # alpha mask is 0 to 1 + mask_image = batch["alpha_masks"].to(dtype=loss.dtype) + else: + return loss # resize to the same size as the loss mask_image = torch.nn.functional.interpolate(mask_image, size=loss.shape[2:], mode="area") - mask_image = mask_image / 2 + 0.5 loss = loss * mask_image return loss diff --git a/library/train_util.py b/library/train_util.py index 6cf285903..e7a50f04d 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -159,9 +159,7 @@ def __init__(self, image_key: str, num_repeats: int, caption: str, is_reg: bool, self.text_encoder_outputs1: Optional[torch.Tensor] = None self.text_encoder_outputs2: Optional[torch.Tensor] = None self.text_encoder_pool2: Optional[torch.Tensor] = None - self.alpha_mask: Optional[torch.Tensor] = None - self.alpha_mask_flipped: Optional[torch.Tensor] = None - self.use_alpha_mask: bool = False + self.alpha_mask: Optional[torch.Tensor] = None # alpha mask can be flipped in runtime class BucketManager: @@ -364,6 +362,7 @@ class BaseSubset: def __init__( self, image_dir: Optional[str], + alpha_mask: Optional[bool], num_repeats: int, shuffle_caption: bool, caption_separator: str, @@ -382,9 +381,9 @@ def __init__( caption_suffix: Optional[str], token_warmup_min: int, token_warmup_step: Union[float, int], - alpha_mask: bool, ) -> None: self.image_dir = image_dir + self.alpha_mask = alpha_mask if alpha_mask is not None else False self.num_repeats = num_repeats self.shuffle_caption = shuffle_caption self.caption_separator = caption_separator @@ -407,8 +406,6 @@ def __init__( self.img_count = 0 - self.alpha_mask = alpha_mask - class DreamBoothSubset(BaseSubset): def __init__( @@ -418,6 +415,7 @@ def __init__( class_tokens: Optional[str], caption_extension: str, cache_info: bool, + alpha_mask: bool, num_repeats, shuffle_caption, caption_separator: str, @@ -441,6 +439,7 @@ def __init__( super().__init__( image_dir, + alpha_mask, num_repeats, shuffle_caption, caption_separator, @@ -479,6 +478,7 @@ def __init__( self, image_dir, metadata_file: str, + alpha_mask: bool, num_repeats, shuffle_caption, caption_separator, @@ -502,6 +502,7 @@ def __init__( super().__init__( image_dir, + alpha_mask, num_repeats, shuffle_caption, caption_separator, @@ -921,7 +922,7 @@ def make_buckets(self): logger.info(f"mean ar error (without repeats): {mean_img_ar_error}") # データ参照用indexを作る。このindexはdatasetのshuffleに用いられる - self.buckets_indices: List(BucketBatchIndex) = [] + self.buckets_indices: List[BucketBatchIndex] = [] for bucket_index, bucket in enumerate(self.bucket_manager.buckets): batch_count = int(math.ceil(len(bucket) / self.batch_size)) for batch_index in range(batch_count): @@ -991,8 +992,6 @@ def cache_latents(self, vae, vae_batch_size=1, cache_to_disk=False, is_main_proc for info in tqdm(image_infos): subset = self.image_to_subset[info.image_key] - info.use_alpha_mask = subset.alpha_mask - if info.latents_npz is not None: # fine tuning dataset continue @@ -1002,7 +1001,9 @@ def cache_latents(self, vae, vae_batch_size=1, cache_to_disk=False, is_main_proc if not is_main_process: # store to info only continue - cache_available = is_disk_cached_latents_is_expected(info.bucket_reso, info.latents_npz, subset.flip_aug) + cache_available = is_disk_cached_latents_is_expected( + info.bucket_reso, info.latents_npz, subset.flip_aug, subset.alpha_mask + ) if cache_available: # do not add to batch continue @@ -1028,7 +1029,7 @@ def cache_latents(self, vae, vae_batch_size=1, cache_to_disk=False, is_main_proc # iterate batches: batch doesn't have image, image will be loaded in cache_batch_latents and discarded logger.info("caching latents...") for batch in tqdm(batches, smoothing=1, total=len(batches)): - cache_batch_latents(vae, cache_to_disk, batch, subset.flip_aug, subset.random_crop) + cache_batch_latents(vae, cache_to_disk, batch, subset.flip_aug, subset.alpha_mask, subset.random_crop) # weight_dtypeを指定するとText Encoderそのもの、およひ出力がweight_dtypeになる # SDXLでのみ有効だが、datasetのメソッドとする必要があるので、sdxl_train_util.pyではなくこちらに実装する @@ -1202,18 +1203,15 @@ def __getitem__(self, index): alpha_mask = image_info.alpha_mask else: latents = image_info.latents_flipped - alpha_mask = image_info.alpha_mask_flipped + alpha_mask = None if image_info.alpha_mask is None else torch.flip(image_info.alpha_mask, [1]) image = None elif image_info.latents_npz is not None: # FineTuningDatasetまたはcache_latents_to_disk=Trueの場合 - latents, original_size, crop_ltrb, flipped_latents, alpha_mask, flipped_alpha_mask = load_latents_from_disk( - image_info.latents_npz - ) + latents, original_size, crop_ltrb, flipped_latents, alpha_mask = load_latents_from_disk(image_info.latents_npz) if flipped: latents = flipped_latents - alpha_mask = flipped_alpha_mask + alpha_mask = None if alpha_mask is None else alpha_mask[:, ::-1].copy() # copy to avoid negative stride problem del flipped_latents - del flipped_alpha_mask latents = torch.FloatTensor(latents) if alpha_mask is not None: alpha_mask = torch.FloatTensor(alpha_mask) @@ -1255,23 +1253,28 @@ def __getitem__(self, index): # augmentation aug = self.aug_helper.get_augmentor(subset.color_aug) if aug is not None: - img = aug(image=img)["image"] + # augment RGB channels only + img_rgb = img[:, :, :3] + img_rgb = aug(image=img_rgb)["image"] + img[:, :, :3] = img_rgb if flipped: img = img[:, ::-1, :].copy() # copy to avoid negative stride problem if subset.alpha_mask: if img.shape[2] == 4: - alpha_mask = img[:, :, 3] # [W,H] + alpha_mask = img[:, :, 3] # [H,W] + alpha_mask = transforms.ToTensor()(alpha_mask) # 0-255 -> 0-1 else: - alpha_mask = np.full((im_w, im_h), 255, dtype=np.uint8) # [W,H] - alpha_mask = transforms.ToTensor()(alpha_mask) + alpha_mask = torch.ones((img.shape[0], img.shape[1]), dtype=torch.float32) else: alpha_mask = None + img = img[:, :, :3] # remove alpha channel latents = None image = self.image_transforms(img) # -1.0~1.0のtorch.Tensorになる + del img images.append(image) latents_list.append(latents) @@ -1361,6 +1364,23 @@ def __getitem__(self, index): example["text_encoder_outputs2_list"] = torch.stack(text_encoder_outputs2_list) example["text_encoder_pool2_list"] = torch.stack(text_encoder_pool2_list) + # if one of alpha_masks is not None, we need to replace None with ones + none_or_not = [x is None for x in alpha_mask_list] + if all(none_or_not): + example["alpha_masks"] = None + elif any(none_or_not): + for i in range(len(alpha_mask_list)): + if alpha_mask_list[i] is None: + if images[i] is not None: + alpha_mask_list[i] = torch.ones((images[i].shape[1], images[i].shape[2]), dtype=torch.float32) + else: + alpha_mask_list[i] = torch.ones( + (latents_list[i].shape[1] * 8, latents_list[i].shape[2] * 8), dtype=torch.float32 + ) + example["alpha_masks"] = torch.stack(alpha_mask_list) + else: + example["alpha_masks"] = torch.stack(alpha_mask_list) + if images[0] is not None: images = torch.stack(images) images = images.to(memory_format=torch.contiguous_format).float() @@ -1378,8 +1398,6 @@ def __getitem__(self, index): example["network_multipliers"] = torch.FloatTensor([self.network_multiplier] * len(captions)) - example["alpha_mask"] = torch.stack(alpha_mask_list) if alpha_mask_list[0] is not None else None - if self.debug_dataset: example["image_keys"] = bucket[image_index : image_index + self.batch_size] return example @@ -1393,6 +1411,7 @@ def get_item_for_caching(self, bucket, bucket_batch_size, image_index): resized_sizes = [] bucket_reso = None flip_aug = None + alpha_mask = None random_crop = None for image_key in bucket[image_index : image_index + bucket_batch_size]: @@ -1401,10 +1420,13 @@ def get_item_for_caching(self, bucket, bucket_batch_size, image_index): if flip_aug is None: flip_aug = subset.flip_aug + alpha_mask = subset.alpha_mask random_crop = subset.random_crop bucket_reso = image_info.bucket_reso else: + # TODO そもそも混在してても動くようにしたほうがいい assert flip_aug == subset.flip_aug, "flip_aug must be same in a batch" + assert alpha_mask == subset.alpha_mask, "alpha_mask must be same in a batch" assert random_crop == subset.random_crop, "random_crop must be same in a batch" assert bucket_reso == image_info.bucket_reso, "bucket_reso must be same in a batch" @@ -1441,6 +1463,7 @@ def get_item_for_caching(self, bucket, bucket_batch_size, image_index): example["absolute_paths"] = absolute_paths example["resized_sizes"] = resized_sizes example["flip_aug"] = flip_aug + example["alpha_mask"] = alpha_mask example["random_crop"] = random_crop example["bucket_reso"] = bucket_reso return example @@ -2149,7 +2172,7 @@ def disable_token_padding(self): dataset.disable_token_padding() -def is_disk_cached_latents_is_expected(reso, npz_path: str, flip_aug: bool): +def is_disk_cached_latents_is_expected(reso, npz_path: str, flip_aug: bool, alpha_mask: bool): expected_latents_size = (reso[1] // 8, reso[0] // 8) # bucket_resoはWxHなので注意 if not os.path.exists(npz_path): @@ -2167,6 +2190,12 @@ def is_disk_cached_latents_is_expected(reso, npz_path: str, flip_aug: bool): return False if npz["latents_flipped"].shape[1:3] != expected_latents_size: return False + + if alpha_mask: + if "alpha_mask" not in npz: + return False + if npz["alpha_mask"].shape[0:2] != reso: # HxW + return False except Exception as e: logger.error(f"Error loading file: {npz_path}") raise e @@ -2177,14 +2206,7 @@ def is_disk_cached_latents_is_expected(reso, npz_path: str, flip_aug: bool): # 戻り値は、latents_tensor, (original_size width, original_size height), (crop left, crop top) def load_latents_from_disk( npz_path, -) -> Tuple[ - Optional[torch.Tensor], - Optional[List[int]], - Optional[List[int]], - Optional[torch.Tensor], - Optional[torch.Tensor], - Optional[torch.Tensor], -]: +) -> Tuple[Optional[torch.Tensor], Optional[List[int]], Optional[List[int]], Optional[np.ndarray], Optional[np.ndarray]]: npz = np.load(npz_path) if "latents" not in npz: raise ValueError(f"error: npz is old format. please re-generate {npz_path}") @@ -2194,20 +2216,15 @@ def load_latents_from_disk( crop_ltrb = npz["crop_ltrb"].tolist() flipped_latents = npz["latents_flipped"] if "latents_flipped" in npz else None alpha_mask = npz["alpha_mask"] if "alpha_mask" in npz else None - flipped_alpha_mask = npz["flipped_alpha_mask"] if "flipped_alpha_mask" in npz else None - return latents, original_size, crop_ltrb, flipped_latents, alpha_mask, flipped_alpha_mask + return latents, original_size, crop_ltrb, flipped_latents, alpha_mask -def save_latents_to_disk( - npz_path, latents_tensor, original_size, crop_ltrb, flipped_latents_tensor=None, alpha_mask=None, flipped_alpha_mask=None -): +def save_latents_to_disk(npz_path, latents_tensor, original_size, crop_ltrb, flipped_latents_tensor=None, alpha_mask=None): kwargs = {} if flipped_latents_tensor is not None: kwargs["latents_flipped"] = flipped_latents_tensor.float().cpu().numpy() if alpha_mask is not None: - kwargs["alpha_mask"] = alpha_mask.float().cpu().numpy() - if flipped_alpha_mask is not None: - kwargs["flipped_alpha_mask"] = flipped_alpha_mask.float().cpu().numpy() + kwargs["alpha_mask"] = alpha_mask # ndarray np.savez( npz_path, latents=latents_tensor.float().cpu().numpy(), @@ -2398,10 +2415,11 @@ def load_arbitrary_dataset(args, tokenizer) -> MinimalDataset: def load_image(image_path, alpha=False): image = Image.open(image_path) - if not image.mode == "RGB": - if alpha: + if alpha: + if not image.mode == "RGBA": image = image.convert("RGBA") - else: + else: + if not image.mode == "RGB": image = image.convert("RGB") img = np.array(image, np.uint8) return img @@ -2441,7 +2459,7 @@ def trim_and_resize_if_required( def cache_batch_latents( - vae: AutoencoderKL, cache_to_disk: bool, image_infos: List[ImageInfo], flip_aug: bool, random_crop: bool + vae: AutoencoderKL, cache_to_disk: bool, image_infos: List[ImageInfo], flip_aug: bool, use_alpha_mask: bool, random_crop: bool ) -> None: r""" requires image_infos to have: absolute_path, bucket_reso, resized_size, latents_npz @@ -2453,49 +2471,43 @@ def cache_batch_latents( latents_original_size and latents_crop_ltrb are also set """ images = [] - alpha_masks = [] + alpha_masks: List[np.ndarray] = [] for info in image_infos: - image = load_image(info.absolute_path, info.use_alpha_mask) if info.image is None else np.array(info.image, np.uint8) + image = load_image(info.absolute_path, use_alpha_mask) if info.image is None else np.array(info.image, np.uint8) # TODO 画像のメタデータが壊れていて、メタデータから割り当てたbucketと実際の画像サイズが一致しない場合があるのでチェック追加要 image, original_size, crop_ltrb = trim_and_resize_if_required(random_crop, image, info.bucket_reso, info.resized_size) - if info.use_alpha_mask: + + info.latents_original_size = original_size + info.latents_crop_ltrb = crop_ltrb + + if use_alpha_mask: if image.shape[2] == 4: - alpha_mask = image[:, :, 3] # [W,H] - image = image[:, :, :3] + alpha_mask = image[:, :, 3] # [H,W] + alpha_mask = alpha_mask.astype(np.float32) / 255.0 else: - alpha_mask = np.full_like(image[:, :, 0], 255, dtype=np.uint8) # [W,H] - alpha_masks.append(transforms.ToTensor()(alpha_mask)) + alpha_mask = np.ones_like(image[:, :, 0], dtype=np.float32) + else: + alpha_mask = None + alpha_masks.append(alpha_mask) + + image = image[:, :, :3] # remove alpha channel if exists image = IMAGE_TRANSFORMS(image) images.append(image) - info.latents_original_size = original_size - info.latents_crop_ltrb = crop_ltrb - img_tensors = torch.stack(images, dim=0) img_tensors = img_tensors.to(device=vae.device, dtype=vae.dtype) with torch.no_grad(): latents = vae.encode(img_tensors).latent_dist.sample().to("cpu") - if info.use_alpha_mask: - alpha_masks = torch.stack(alpha_masks, dim=0).to("cpu") - else: - alpha_masks = [None] * len(image_infos) - flipped_alpha_masks = [None] * len(image_infos) - if flip_aug: img_tensors = torch.flip(img_tensors, dims=[3]) with torch.no_grad(): flipped_latents = vae.encode(img_tensors).latent_dist.sample().to("cpu") - if info.use_alpha_mask: - flipped_alpha_masks = torch.flip(alpha_masks, dims=[3]) else: flipped_latents = [None] * len(latents) - flipped_alpha_masks = [None] * len(image_infos) - for info, latent, flipped_latent, alpha_mask, flipped_alpha_mask in zip( - image_infos, latents, flipped_latents, alpha_masks, flipped_alpha_masks - ): + for info, latent, flipped_latent, alpha_mask in zip(image_infos, latents, flipped_latents, alpha_masks): # check NaN if torch.isnan(latents).any() or (flipped_latent is not None and torch.isnan(flipped_latent).any()): raise RuntimeError(f"NaN detected in latents: {info.absolute_path}") @@ -2508,15 +2520,12 @@ def cache_batch_latents( info.latents_crop_ltrb, flipped_latent, alpha_mask, - flipped_alpha_mask, ) else: info.latents = latent if flip_aug: info.latents_flipped = flipped_latent - info.alpha_mask = alpha_mask - info.alpha_mask_flipped = flipped_alpha_mask if not HIGH_VRAM: clean_memory_on_device(vae.device) diff --git a/sdxl_train.py b/sdxl_train.py index dcd06766b..9e20c60ca 100644 --- a/sdxl_train.py +++ b/sdxl_train.py @@ -711,10 +711,8 @@ def optimizer_hook(parameter: torch.Tensor): loss = train_util.conditional_loss( noise_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=huber_c ) - if args.masked_loss: - loss = apply_masked_loss(loss, batch["conditioning_images"][:, 0].unsqueeze(1)) - if "alpha_mask" in batch and batch["alpha_mask"] is not None: - loss = apply_masked_loss(loss, batch["alpha_mask"]) + if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): + loss = apply_masked_loss(loss, batch) loss = loss.mean([1, 2, 3]) if args.min_snr_gamma: diff --git a/tools/cache_latents.py b/tools/cache_latents.py index 347db27f7..b7c88121e 100644 --- a/tools/cache_latents.py +++ b/tools/cache_latents.py @@ -17,10 +17,13 @@ BlueprintGenerator, ) from library.utils import setup_logging + setup_logging() import logging + logger = logging.getLogger(__name__) + def cache_to_disk(args: argparse.Namespace) -> None: train_util.prepare_dataset_args(args, True) @@ -107,7 +110,7 @@ def cache_to_disk(args: argparse.Namespace) -> None: else: _, vae, _, _ = train_util.load_target_model(args, weight_dtype, accelerator) - if torch.__version__ >= "2.0.0": # PyTorch 2.0.0 以上対応のxformersなら以下が使える + if torch.__version__ >= "2.0.0": # PyTorch 2.0.0 以上対応のxformersなら以下が使える vae.set_use_memory_efficient_attention_xformers(args.xformers) vae.to(accelerator.device, dtype=vae_dtype) vae.requires_grad_(False) @@ -136,6 +139,7 @@ def cache_to_disk(args: argparse.Namespace) -> None: b_size = len(batch["images"]) vae_batch_size = b_size if args.vae_batch_size is None else args.vae_batch_size flip_aug = batch["flip_aug"] + alpha_mask = batch["alpha_mask"] random_crop = batch["random_crop"] bucket_reso = batch["bucket_reso"] @@ -154,14 +158,16 @@ def cache_to_disk(args: argparse.Namespace) -> None: image_info.latents_npz = os.path.splitext(absolute_path)[0] + ".npz" if args.skip_existing: - if train_util.is_disk_cached_latents_is_expected(image_info.bucket_reso, image_info.latents_npz, flip_aug): + if train_util.is_disk_cached_latents_is_expected( + image_info.bucket_reso, image_info.latents_npz, flip_aug, alpha_mask + ): logger.warning(f"Skipping {image_info.latents_npz} because it already exists.") continue image_infos.append(image_info) if len(image_infos) > 0: - train_util.cache_batch_latents(vae, True, image_infos, flip_aug, random_crop) + train_util.cache_batch_latents(vae, True, image_infos, flip_aug, alpha_mask, random_crop) accelerator.wait_for_everyone() accelerator.print(f"Finished caching latents for {len(train_dataset_group)} batches.") diff --git a/train_db.py b/train_db.py index c46900006..39d8ea6ed 100644 --- a/train_db.py +++ b/train_db.py @@ -359,10 +359,8 @@ def train(args): target = noise loss = train_util.conditional_loss(noise_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=huber_c) - if args.masked_loss: - loss = apply_masked_loss(loss, batch["conditioning_images"][:, 0].unsqueeze(1)) - if "alpha_mask" in batch and batch["alpha_mask"] is not None: - loss = apply_masked_loss(loss, batch["alpha_mask"]) + if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): + loss = apply_masked_loss(loss, batch) loss = loss.mean([1, 2, 3]) loss_weights = batch["loss_weights"] # 各sampleごとのweight diff --git a/train_network.py b/train_network.py index cd1677ad2..b272a6e1a 100644 --- a/train_network.py +++ b/train_network.py @@ -774,7 +774,9 @@ def load_model_hook(models, input_dir): if args.log_tracker_config is not None: init_kwargs = toml.load(args.log_tracker_config) accelerator.init_trackers( - "network_train" if args.log_tracker_name is None else args.log_tracker_name, config=train_util.get_sanitized_config_or_none(args), init_kwargs=init_kwargs + "network_train" if args.log_tracker_name is None else args.log_tracker_name, + config=train_util.get_sanitized_config_or_none(args), + init_kwargs=init_kwargs, ) loss_recorder = train_util.LossRecorder() @@ -902,10 +904,8 @@ def remove_model(old_ckpt_name): loss = train_util.conditional_loss( noise_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=huber_c ) - if args.masked_loss: - loss = apply_masked_loss(loss, batch["conditioning_images"][:, 0].unsqueeze(1)) - if "alpha_mask" in batch and batch["alpha_mask"] is not None: - loss = apply_masked_loss(loss, batch["alpha_mask"]) + if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): + loss = apply_masked_loss(loss, batch) loss = loss.mean([1, 2, 3]) loss_weights = batch["loss_weights"] # 各sampleごとのweight diff --git a/train_textual_inversion.py b/train_textual_inversion.py index a9c2a1094..ade077c36 100644 --- a/train_textual_inversion.py +++ b/train_textual_inversion.py @@ -589,10 +589,8 @@ def remove_model(old_ckpt_name): target = noise loss = train_util.conditional_loss(noise_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=huber_c) - if args.masked_loss: - loss = apply_masked_loss(loss, batch["conditioning_images"][:, 0].unsqueeze(1)) - if "alpha_mask" in batch and batch["alpha_mask"] is not None: - loss = apply_masked_loss(loss, batch["alpha_mask"]) + if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): + loss = apply_masked_loss(loss, batch) loss = loss.mean([1, 2, 3]) loss_weights = batch["loss_weights"] # 各sampleごとのweight diff --git a/train_textual_inversion_XTI.py b/train_textual_inversion_XTI.py index 959839cbb..efb59137b 100644 --- a/train_textual_inversion_XTI.py +++ b/train_textual_inversion_XTI.py @@ -474,10 +474,8 @@ def remove_model(old_ckpt_name): target = noise loss = train_util.conditional_loss(noise_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=huber_c) - if args.masked_loss: - loss = apply_masked_loss(loss, batch["conditioning_images"][:, 0].unsqueeze(1)) - if "alpha_mask" in batch and batch["alpha_mask"] is not None: - loss = apply_masked_loss(loss, batch["alpha_mask"]) + if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): + loss = apply_masked_loss(loss, batch) loss = loss.mean([1, 2, 3]) loss_weights = batch["loss_weights"] # 各sampleごとのweight From 00513b9b7066fc1307fbe26ad13ed39f3bceceb0 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Thu, 23 May 2024 22:27:12 -0400 Subject: [PATCH 077/748] Add LoRA+ LR Ratio info message to logger --- networks/dylora.py | 3 +++ networks/lora.py | 3 +++ 2 files changed, 6 insertions(+) diff --git a/networks/dylora.py b/networks/dylora.py index d57e3d580..b0925453c 100644 --- a/networks/dylora.py +++ b/networks/dylora.py @@ -368,6 +368,9 @@ def set_loraplus_lr_ratio(self, loraplus_lr_ratio, loraplus_unet_lr_ratio, lorap self.loraplus_unet_lr_ratio = loraplus_unet_lr_ratio self.loraplus_text_encoder_lr_ratio = loraplus_text_encoder_lr_ratio + logger.info(f"LoRA+ UNet LR Ratio: {self.loraplus_unet_lr_ratio or self.loraplus_lr_ratio}") + logger.info(f"LoRA+ Text Encoder LR Ratio: {self.loraplus_text_encoder_lr_ratio or self.loraplus_lr_ratio}") + def set_multiplier(self, multiplier): self.multiplier = multiplier for lora in self.text_encoder_loras + self.unet_loras: diff --git a/networks/lora.py b/networks/lora.py index 9f159f5db..82b8b5b47 100644 --- a/networks/lora.py +++ b/networks/lora.py @@ -1134,6 +1134,9 @@ def set_loraplus_lr_ratio(self, loraplus_lr_ratio, loraplus_unet_lr_ratio, lorap self.loraplus_unet_lr_ratio = loraplus_unet_lr_ratio self.loraplus_text_encoder_lr_ratio = loraplus_text_encoder_lr_ratio + logger.info(f"LoRA+ UNet LR Ratio: {self.loraplus_unet_lr_ratio or self.loraplus_lr_ratio}") + logger.info(f"LoRA+ Text Encoder LR Ratio: {self.loraplus_text_encoder_lr_ratio or self.loraplus_lr_ratio}") + # 二つのText Encoderに別々の学習率を設定できるようにするといいかも def prepare_optimizer_params(self, text_encoder_lr, unet_lr, default_lr): # TODO warn if optimizer is not compatible with LoRA+ (but it will cause error so we don't need to check it here?) From e8cfd4ba1d4734c4dd37c9b5fdc0633378879d9b Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 26 May 2024 22:01:37 +0900 Subject: [PATCH 078/748] fix to work cond mask and alpha mask --- library/config_util.py | 3 ++- library/custom_train_functions.py | 4 +++- library/train_util.py | 12 ++++++++++++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/library/config_util.py b/library/config_util.py index 964270dbb..10b2457f3 100644 --- a/library/config_util.py +++ b/library/config_util.py @@ -78,7 +78,6 @@ class BaseSubsetParams: caption_tag_dropout_rate: float = 0.0 token_warmup_min: int = 1 token_warmup_step: float = 0 - alpha_mask: bool = False @dataclass @@ -87,11 +86,13 @@ class DreamBoothSubsetParams(BaseSubsetParams): class_tokens: Optional[str] = None caption_extension: str = ".caption" cache_info: bool = False + alpha_mask: bool = False @dataclass class FineTuningSubsetParams(BaseSubsetParams): metadata_file: Optional[str] = None + alpha_mask: bool = False @dataclass diff --git a/library/custom_train_functions.py b/library/custom_train_functions.py index af5813a1d..2a513dc5b 100644 --- a/library/custom_train_functions.py +++ b/library/custom_train_functions.py @@ -484,9 +484,11 @@ def apply_masked_loss(loss, batch): # conditioning image is -1 to 1. we need to convert it to 0 to 1 mask_image = batch["conditioning_images"].to(dtype=loss.dtype)[:, 0].unsqueeze(1) # use R channel mask_image = mask_image / 2 + 0.5 + # print(f"conditioning_image: {mask_image.shape}") elif "alpha_masks" in batch and batch["alpha_masks"] is not None: # alpha mask is 0 to 1 - mask_image = batch["alpha_masks"].to(dtype=loss.dtype) + mask_image = batch["alpha_masks"].to(dtype=loss.dtype).unsqueeze(1) # add channel dimension + # print(f"mask_image: {mask_image.shape}, {mask_image.mean()}") else: return loss diff --git a/library/train_util.py b/library/train_util.py index e7a50f04d..1f9f3c5df 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -561,6 +561,7 @@ def __init__( super().__init__( image_dir, + False, # alpha_mask num_repeats, shuffle_caption, caption_separator, @@ -1947,6 +1948,7 @@ def __init__( None, subset.caption_extension, subset.cache_info, + False, subset.num_repeats, subset.shuffle_caption, subset.caption_separator, @@ -2196,6 +2198,9 @@ def is_disk_cached_latents_is_expected(reso, npz_path: str, flip_aug: bool, alph return False if npz["alpha_mask"].shape[0:2] != reso: # HxW return False + else: + if "alpha_mask" in npz: + return False except Exception as e: logger.error(f"Error loading file: {npz_path}") raise e @@ -2296,6 +2301,13 @@ def debug_dataset(train_dataset, show_input_ids=False): if os.name == "nt": cv2.imshow("cond_img", cond_img) + if "alpha_masks" in example and example["alpha_masks"] is not None: + alpha_mask = example["alpha_masks"][j] + logger.info(f"alpha mask size: {alpha_mask.size()}") + alpha_mask = (alpha_mask[0].numpy() * 255.0).astype(np.uint8) + if os.name == "nt": + cv2.imshow("alpha_mask", alpha_mask) + if os.name == "nt": # only windows cv2.imshow("img", im) k = cv2.waitKey() From d50c1b3c5cfd590e43e832272a77bf8c84d371dd Mon Sep 17 00:00:00 2001 From: Dave Lage Date: Mon, 27 May 2024 01:11:01 -0400 Subject: [PATCH 079/748] Update issue link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 838e4022c..23e049354 100644 --- a/README.md +++ b/README.md @@ -237,7 +237,7 @@ https://github.com/kohya-ss/sd-scripts/pull/1290) Thanks to frodo821! https://github.com/kohya-ss/sd-scripts/pull/1291) issue [#1290]( https://github.com/kohya-ss/sd-scripts/pull/1290) frodo821 氏に感謝します。 -- データセット設定の .toml ファイルで、`caption_separator` が subset に指定できない不具合が修正されました。 PR [#1312](https://github.com/kohya-ss/sd-scripts/pull/1312) および [#1313](https://github.com/kohya-ss/sd-scripts/pull/1312) rockerBOO 氏に感謝します。 +- データセット設定の .toml ファイルで、`caption_separator` が subset に指定できない不具合が修正されました。 PR [#1312](https://github.com/kohya-ss/sd-scripts/pull/1312) および [#1313](https://github.com/kohya-ss/sd-scripts/pull/1313) rockerBOO 氏に感謝します。 - ControlNet-LLLite 学習時の潜在バグが修正されました。 PR [#1322](https://github.com/kohya-ss/sd-scripts/pull/1322) aria1th 氏に感謝します。 From a4c3155148e667f5235c2e3df52bad7fd8f95dc4 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Mon, 27 May 2024 20:59:40 +0900 Subject: [PATCH 080/748] add doc for mask loss --- docs/masked_loss_README-ja.md | 40 +++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 docs/masked_loss_README-ja.md diff --git a/docs/masked_loss_README-ja.md b/docs/masked_loss_README-ja.md new file mode 100644 index 000000000..860532247 --- /dev/null +++ b/docs/masked_loss_README-ja.md @@ -0,0 +1,40 @@ +## マスクロスについて + +マスクロスは、入力画像のマスクで指定された部分だけ損失計算することで、画像の一部分だけを学習することができる機能です。 +たとえばキャラクタを学習したい場合、キャラクタ部分だけをマスクして学習することで、背景を無視して学習することができます。 + +マスクロスのマスクには、二種類の指定方法があります。 + +- マスク画像を用いる方法 +- 透明度(アルファチャネル)を使用する方法 + +なお、サンプルは [ずんずんPJイラスト/3Dデータ](https://zunko.jp/con_illust.html) の「AI画像モデル用学習データ」を使用しています。 + +### マスク画像を用いる方法 + +学習画像それぞれに対応するマスク画像を用意する方法です。学習画像と同じファイル名のマスク画像を用意し、それを学習画像と別のディレクトリに保存します。 + +マスク画像は、学習画像と同じサイズで、学習する部分を白、無視する部分を黒で描画します。グレースケールにも対応しています(127 ならロス重みが 0.5 になります)。なお、正確にはマスク画像の R チャネルが用いられます。 + +DreamBooth 方式の dataset で、`conditioning_data_dir` で指定したディレクトリにマスク画像を保存するしてください。ControlNet のデータセットと同じですので、詳細は [ControlNet-LLLite](train_lllite_README-ja.md#データセットの準備) を参照してください。 + +### 透明度(アルファチャネル)を使用する方法 + +学習画像の透明度(アルファチャネル)がマスクとして使用されます。透明度が 0 の部分は無視され、255 の部分は学習されます。半透明の場合は、その透明度に応じてロス重みが変化します(127 ならおおむね 0.5)。 + +学習時のスクリプトのオプション `--alpha_mask`、または dataset の設定ファイルの subset で、`alpha_mask` を指定してください。たとえば、以下のようになります。 + +```toml +[[datasets.subsets]] +image_dir = "/path/to/image/dir" +caption_extension = ".txt" +num_repeats = 8 +alpha_mask = true +``` + +## 学習時の注意事項 + +- 現時点では DreamBooth 方式の dataset のみ対応しています。 +- マスクは latents のサイズ、つまり 1/8 に縮小されてから適用されます。そのため、細かい部分(たとえばアホ毛やイヤリングなど)はうまく学習できない可能性があります。マスクをわずかに拡張するなどの工夫が必要かもしれません。 +- マスクロスを用いる場合、学習対象外の部分をキャプションに含める必要はないかもしれません。(要検証) +- `alpha_mask` の場合、マスクの有無を切り替えると latents キャッシュが自動的に再生成されます。 From 71ad3c0f45ba64bd5dc069addc8ef0fa94bf4e19 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Mon, 27 May 2024 21:07:57 +0900 Subject: [PATCH 081/748] Update masked_loss_README-ja.md add sample images --- docs/masked_loss_README-ja.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/docs/masked_loss_README-ja.md b/docs/masked_loss_README-ja.md index 860532247..5377a5aff 100644 --- a/docs/masked_loss_README-ja.md +++ b/docs/masked_loss_README-ja.md @@ -14,6 +14,11 @@ 学習画像それぞれに対応するマスク画像を用意する方法です。学習画像と同じファイル名のマスク画像を用意し、それを学習画像と別のディレクトリに保存します。 +- 学習画像 + ![image](https://github.com/kohya-ss/sd-scripts/assets/52813779/607c5116-5f62-47de-8b66-9c4a597f0441) +- マスク画像 + ![image](https://github.com/kohya-ss/sd-scripts/assets/52813779/53e9b0f8-a4bf-49ed-882d-4026f84e8450) + マスク画像は、学習画像と同じサイズで、学習する部分を白、無視する部分を黒で描画します。グレースケールにも対応しています(127 ならロス重みが 0.5 になります)。なお、正確にはマスク画像の R チャネルが用いられます。 DreamBooth 方式の dataset で、`conditioning_data_dir` で指定したディレクトリにマスク画像を保存するしてください。ControlNet のデータセットと同じですので、詳細は [ControlNet-LLLite](train_lllite_README-ja.md#データセットの準備) を参照してください。 @@ -22,7 +27,11 @@ DreamBooth 方式の dataset で、`conditioning_data_dir` で指定したディ 学習画像の透明度(アルファチャネル)がマスクとして使用されます。透明度が 0 の部分は無視され、255 の部分は学習されます。半透明の場合は、その透明度に応じてロス重みが変化します(127 ならおおむね 0.5)。 -学習時のスクリプトのオプション `--alpha_mask`、または dataset の設定ファイルの subset で、`alpha_mask` を指定してください。たとえば、以下のようになります。 +![image](https://github.com/kohya-ss/sd-scripts/assets/52813779/0baa129b-446a-4aac-b98c-7208efb0e75e) + +※それぞれの画像は透過PNG + +学習時のスクリプトのオプションに `--alpha_mask` を指定するか、dataset の設定ファイルの subset で、`alpha_mask` を指定してください。たとえば、以下のようになります。 ```toml [[datasets.subsets]] From fc85496f7e99b2bbbbd0246e0b0521780c55d859 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Mon, 27 May 2024 21:25:06 +0900 Subject: [PATCH 082/748] update docs for masked loss --- README.md | 8 +++++ docs/masked_loss_README-ja.md | 10 ++++++- docs/masked_loss_README.md | 56 +++++++++++++++++++++++++++++++++++ 3 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 docs/masked_loss_README.md diff --git a/README.md b/README.md index 23e049354..52c963392 100644 --- a/README.md +++ b/README.md @@ -161,6 +161,10 @@ The majority of scripts is licensed under ASL 2.0 (including codes from Diffuser - Example: `--network_args "loraplus_unet_lr_ratio=16" "loraplus_text_encoder_lr_ratio=4"` or `--network_args "loraplus_lr_ratio=16" "loraplus_text_encoder_lr_ratio=4"` etc. - `network_module` `networks.lora` and `networks.dylora` are available. +- The feature to use the transparency (alpha channel) of the image as a mask in the loss calculation has been added. PR [#1223](https://github.com/kohya-ss/sd-scripts/pull/1223) Thanks to u-haru! + - The transparent part is ignored during training. Specify the `--alpha_mask` option in the training script or specify `alpha_mask = true` in the dataset configuration file. + - See [About masked loss](./docs/masked_loss_README.md) for details. + - LoRA training in SDXL now supports block-wise learning rates and block-wise dim (rank). PR [#1331](https://github.com/kohya-ss/sd-scripts/pull/1331) - Specify the learning rate and dim (rank) for each block. - See [Block-wise learning rates in LoRA](./docs/train_network_README-ja.md#階層別学習率) for details (Japanese only). @@ -214,6 +218,10 @@ https://github.com/kohya-ss/sd-scripts/pull/1290) Thanks to frodo821! - 例:`--network_args "loraplus_unet_lr_ratio=16" "loraplus_text_encoder_lr_ratio=4"` または `--network_args "loraplus_lr_ratio=16" "loraplus_text_encoder_lr_ratio=4"` など - `network_module` の `networks.lora` および `networks.dylora` で使用可能です。 +- 画像の透明度(アルファチャネル)をロス計算時のマスクとして使用する機能が追加されました。PR [#1223](https://github.com/kohya-ss/sd-scripts/pull/1223) u-haru 氏に感謝します。 + - 透明部分が学習時に無視されるようになります。学習スクリプトに `--alpha_mask` オプションを指定するか、データセット設定ファイルに `alpha_mask = true` を指定してください。 + - 詳細は [マスクロスについて](./docs/masked_loss_README-ja.md) をご覧ください。 + - SDXL の LoRA で階層別学習率、階層別 dim (rank) をサポートしました。PR [#1331](https://github.com/kohya-ss/sd-scripts/pull/1331) - ブロックごとに学習率および dim (rank) を指定することができます。 - 詳細は [LoRA の階層別学習率](./docs/train_network_README-ja.md#階層別学習率) をご覧ください。 diff --git a/docs/masked_loss_README-ja.md b/docs/masked_loss_README-ja.md index 5377a5aff..58f042c3b 100644 --- a/docs/masked_loss_README-ja.md +++ b/docs/masked_loss_README-ja.md @@ -19,9 +19,17 @@ - マスク画像 ![image](https://github.com/kohya-ss/sd-scripts/assets/52813779/53e9b0f8-a4bf-49ed-882d-4026f84e8450) +```.toml +[[datasets.subsets]] +image_dir = "/path/to/a_zundamon" +caption_extension = ".txt" +conditioning_data_dir = "/path/to/a_zundamon_mask" +num_repeats = 8 +``` + マスク画像は、学習画像と同じサイズで、学習する部分を白、無視する部分を黒で描画します。グレースケールにも対応しています(127 ならロス重みが 0.5 になります)。なお、正確にはマスク画像の R チャネルが用いられます。 -DreamBooth 方式の dataset で、`conditioning_data_dir` で指定したディレクトリにマスク画像を保存するしてください。ControlNet のデータセットと同じですので、詳細は [ControlNet-LLLite](train_lllite_README-ja.md#データセットの準備) を参照してください。 +DreamBooth 方式の dataset で、`conditioning_data_dir` で指定したディレクトリにマスク画像を保存してください。ControlNet のデータセットと同じですので、詳細は [ControlNet-LLLite](train_lllite_README-ja.md#データセットの準備) を参照してください。 ### 透明度(アルファチャネル)を使用する方法 diff --git a/docs/masked_loss_README.md b/docs/masked_loss_README.md new file mode 100644 index 000000000..3ac5ad211 --- /dev/null +++ b/docs/masked_loss_README.md @@ -0,0 +1,56 @@ +## Masked Loss + +Masked loss is a feature that allows you to train only part of an image by calculating the loss only for the part specified by the mask of the input image. For example, if you want to train a character, you can train only the character part by masking it, ignoring the background. + +There are two ways to specify the mask for masked loss. + +- Using a mask image +- Using transparency (alpha channel) of the image + +The sample uses the "AI image model training data" from [ZunZunPJ Illustration/3D Data](https://zunko.jp/con_illust.html). + +### Using a mask image + +This is a method of preparing a mask image corresponding to each training image. Prepare a mask image with the same file name as the training image and save it in a different directory from the training image. + +- Training image + ![image](https://github.com/kohya-ss/sd-scripts/assets/52813779/607c5116-5f62-47de-8b66-9c4a597f0441) +- Mask image + ![image](https://github.com/kohya-ss/sd-scripts/assets/52813779/53e9b0f8-a4bf-49ed-882d-4026f84e8450) + +```.toml +[[datasets.subsets]] +image_dir = "/path/to/a_zundamon" +caption_extension = ".txt" +conditioning_data_dir = "/path/to/a_zundamon_mask" +num_repeats = 8 +``` + +The mask image is the same size as the training image, with the part to be trained drawn in white and the part to be ignored in black. It also supports grayscale (127 gives a loss weight of 0.5). The R channel of the mask image is used currently. + +Use the dataset in the DreamBooth method, and save the mask image in the directory specified by `conditioning_data_dir`. It is the same as the ControlNet dataset, so please refer to [ControlNet-LLLite](train_lllite_README.md#Preparing-the-dataset) for details. + +### Using transparency (alpha channel) of the image + +The transparency (alpha channel) of the training image is used as a mask. The part with transparency 0 is ignored, the part with transparency 255 is trained. For semi-transparent parts, the loss weight changes according to the transparency (127 gives a weight of about 0.5). + +![image](https://github.com/kohya-ss/sd-scripts/assets/52813779/0baa129b-446a-4aac-b98c-7208efb0e75e) + +※Each image is a transparent PNG + +Specify `--alpha_mask` in the training script options or specify `alpha_mask` in the subset of the dataset configuration file. For example, it will look like this. + +```toml +[[datasets.subsets]] +image_dir = "/path/to/image/dir" +caption_extension = ".txt" +num_repeats = 8 +alpha_mask = true +``` + +## Notes on training + +- At the moment, only the dataset in the DreamBooth method is supported. +- The mask is applied after the size is reduced to 1/8, which is the size of the latents. Therefore, fine details (such as ahoge or earrings) may not be learned well. Some dilations of the mask may be necessary. +- If using masked loss, it may not be necessary to include parts that are not to be trained in the caption. (To be verified) +- In the case of `alpha_mask`, the latents cache is automatically regenerated when the enable/disable state of the mask is switched. From b2363f1021955c049c98e65676efca130690c40f Mon Sep 17 00:00:00 2001 From: Kohaku-Blueleaf <59680068+KohakuBlueleaf@users.noreply.github.com> Date: Fri, 31 May 2024 12:20:20 +0800 Subject: [PATCH 083/748] Final implementation --- library/train_util.py | 11 ++++- train_network.py | 104 +++++++++++++++++++++++++++++++++++++++--- 2 files changed, 106 insertions(+), 9 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index 1f9f3c5df..beb33bf82 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -657,8 +657,15 @@ def set_caching_mode(self, mode): def set_current_epoch(self, epoch): if not self.current_epoch == epoch: # epochが切り替わったらバケツをシャッフルする - self.shuffle_buckets() - self.current_epoch = epoch + if epoch > self.current_epoch: + logger.info("epoch is incremented. current_epoch: {}, epoch: {}".format(self.current_epoch, epoch)) + num_epochs = epoch - self.current_epoch + for _ in range(num_epochs): + self.current_epoch += 1 + self.shuffle_buckets() + else: + logger.warning("epoch is not incremented. current_epoch: {}, epoch: {}".format(self.current_epoch, epoch)) + self.current_epoch = epoch def set_current_step(self, step): self.current_step = step diff --git a/train_network.py b/train_network.py index b272a6e1a..76e6cd8a1 100644 --- a/train_network.py +++ b/train_network.py @@ -493,17 +493,24 @@ def train(self, args): # before resuming make hook for saving/loading to save/load the network weights only def save_model_hook(models, weights, output_dir): # pop weights of other models than network to save only network weights - # only main process or deepspeed https://github.com/huggingface/diffusers/issues/2606 - if accelerator.is_main_process or args.deepspeed: + if accelerator.is_main_process: remove_indices = [] for i, model in enumerate(models): if not isinstance(model, type(accelerator.unwrap_model(network))): remove_indices.append(i) for i in reversed(remove_indices): - if len(weights) > i: - weights.pop(i) + weights.pop(i) # print(f"save model hook: {len(weights)} weights will be saved") + # save current ecpoch and step + train_state_file = os.path.join(output_dir, "train_state.json") + # +1 is needed because the state is saved before current_step is set from global_step + logger.info(f"save train state to {train_state_file} at epoch {current_epoch.value} step {current_step.value+1}") + with open(train_state_file, "w", encoding="utf-8") as f: + json.dump({"current_epoch": current_epoch.value, "current_step": current_step.value + 1}, f) + + steps_from_state = None + def load_model_hook(models, input_dir): # remove models except network remove_indices = [] @@ -514,6 +521,15 @@ def load_model_hook(models, input_dir): models.pop(i) # print(f"load model hook: {len(models)} models will be loaded") + # load current epoch and step to + nonlocal steps_from_state + train_state_file = os.path.join(input_dir, "train_state.json") + if os.path.exists(train_state_file): + with open(train_state_file, "r", encoding="utf-8") as f: + data = json.load(f) + steps_from_state = data["current_step"] + logger.info(f"load train state from {train_state_file}: {data}") + accelerator.register_save_state_pre_hook(save_model_hook) accelerator.register_load_state_pre_hook(load_model_hook) @@ -757,7 +773,53 @@ def load_model_hook(models, input_dir): if key in metadata: minimum_metadata[key] = metadata[key] - progress_bar = tqdm(range(args.max_train_steps), smoothing=0, disable=not accelerator.is_local_main_process, desc="steps") + # calculate steps to skip when resuming or starting from a specific step + initial_step = 0 + if args.initial_epoch is not None or args.initial_step is not None: + # if initial_epoch or initial_step is specified, steps_from_state is ignored even when resuming + if steps_from_state is not None: + logger.warning( + "steps from the state is ignored because initial_step is specified / initial_stepが指定されているため、stateからのステップ数は無視されます" + ) + if args.initial_step is not None: + initial_step = args.initial_step + else: + # num steps per epoch is calculated by num_processes and gradient_accumulation_steps + initial_step = (args.initial_epoch - 1) * math.ceil( + len(train_dataloader) / accelerator.num_processes / args.gradient_accumulation_steps + ) + else: + # if initial_epoch and initial_step are not specified, steps_from_state is used when resuming + if steps_from_state is not None: + initial_step = steps_from_state + steps_from_state = None + + if initial_step > 0: + assert ( + args.max_train_steps > initial_step + ), f"max_train_steps should be greater than initial step / max_train_stepsは初期ステップより大きい必要があります: {args.max_train_steps} vs {initial_step}" + + progress_bar = tqdm( + range(args.max_train_steps - initial_step), smoothing=0, disable=not accelerator.is_local_main_process, desc="steps" + ) + + epoch_to_start = 0 + if initial_step > 0: + if args.skip_until_initial_step: + # if skip_until_initial_step is specified, load data and discard it to ensure the same data is used + if not args.resume: + logger.info( + f"initial_step is specified but not resuming. lr scheduler will be started from the beginning / initial_stepが指定されていますがresumeしていないため、lr schedulerは最初から始まります" + ) + logger.info(f"skipping {initial_step} steps / {initial_step}ステップをスキップします") + initial_step *= args.gradient_accumulation_steps + else: + # if not, only epoch no is skipped for informative purpose + epoch_to_start = initial_step // math.ceil( + len(train_dataloader) / args.gradient_accumulation_steps + ) + initial_step = 0 # do not skip + global_step = 0 noise_scheduler = DDPMScheduler( @@ -816,7 +878,11 @@ def remove_model(old_ckpt_name): self.sample_images(accelerator, args, 0, global_step, accelerator.device, vae, tokenizer, text_encoder, unet) # training loop - for epoch in range(num_train_epochs): + for skip_epoch in range(epoch_to_start): # skip epochs + logger.info(f"skipping epoch {skip_epoch+1} because initial_step (multiplied) is {initial_step}") + initial_step -= len(train_dataloader) + + for epoch in range(epoch_to_start, num_train_epochs): accelerator.print(f"\nepoch {epoch+1}/{num_train_epochs}") current_epoch.value = epoch + 1 @@ -824,7 +890,12 @@ def remove_model(old_ckpt_name): accelerator.unwrap_model(network).on_epoch_start(text_encoder, unet) - for step, batch in enumerate(train_dataloader): + skipped_dataloader = None + if initial_step > 0: + skipped_dataloader = accelerator.skip_first_batches(train_dataloader, initial_step-1) + initial_step = 1 + + for step, batch in enumerate(skipped_dataloader or train_dataloader): current_step.value = global_step with accelerator.accumulate(training_model): on_step_start(text_encoder, unet) @@ -1126,6 +1197,25 @@ def setup_parser() -> argparse.ArgumentParser: action="store_true", help="do not use fp16/bf16 VAE in mixed precision (use float VAE) / mixed precisionでも fp16/bf16 VAEを使わずfloat VAEを使う", ) + parser.add_argument( + "--skip_until_initial_step", + action="store_true", + help="skip training until initial_step is reached / initial_stepに到達するまで学習をスキップする", + ) + parser.add_argument( + "--initial_epoch", + type=int, + default=None, + help="initial epoch number, 1 means first epoch (same as not specifying). NOTE: initial_epoch/step doesn't affect to lr scheduler. Which means lr scheduler will start from 0 without `--resume`." + + " / 初期エポック数、1で最初のエポック(未指定時と同じ)。注意:initial_epoch/stepはlr schedulerに影響しないため、`--resume`しない場合はlr schedulerは0から始まる", + ) + parser.add_argument( + "--initial_step", + type=int, + default=None, + help="initial step number including all epochs, 0 means first step (same as not specifying). overwrites initial_epoch." + + " / 初期ステップ数、全エポックを含むステップ数、0で最初のステップ(未指定時と同じ)。initial_epochを上書きする", + ) # parser.add_argument("--loraplus_lr_ratio", default=None, type=float, help="LoRA+ learning rate ratio") # parser.add_argument("--loraplus_unet_lr_ratio", default=None, type=float, help="LoRA+ UNet learning rate ratio") # parser.add_argument("--loraplus_text_encoder_lr_ratio", default=None, type=float, help="LoRA+ text encoder learning rate ratio") From 3eb27ced52e8bf522c7e490c3dacba1f8597f5b1 Mon Sep 17 00:00:00 2001 From: Kohaku-Blueleaf <59680068+KohakuBlueleaf@users.noreply.github.com> Date: Fri, 31 May 2024 12:24:15 +0800 Subject: [PATCH 084/748] Skip the final 1 step --- train_network.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/train_network.py b/train_network.py index 76e6cd8a1..d1f02d530 100644 --- a/train_network.py +++ b/train_network.py @@ -897,6 +897,10 @@ def remove_model(old_ckpt_name): for step, batch in enumerate(skipped_dataloader or train_dataloader): current_step.value = global_step + if initial_step > 0: + initial_step -= 1 + continue + with accelerator.accumulate(training_model): on_step_start(text_encoder, unet) From e5bab69e3a8f3dc4afb1badba65b6c50ca2f36d8 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 2 Jun 2024 21:11:40 +0900 Subject: [PATCH 085/748] fix alpha mask without disk cache closes #1351, ref #1339 --- library/train_util.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index 1f9f3c5df..566f59279 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -1265,7 +1265,8 @@ def __getitem__(self, index): if subset.alpha_mask: if img.shape[2] == 4: alpha_mask = img[:, :, 3] # [H,W] - alpha_mask = transforms.ToTensor()(alpha_mask) # 0-255 -> 0-1 + alpha_mask = alpha_mask.astype(np.float32) / 255.0 # 0.0~1.0 + alpha_mask = torch.FloatTensor(alpha_mask) else: alpha_mask = torch.ones((img.shape[0], img.shape[1]), dtype=torch.float32) else: @@ -2211,7 +2212,7 @@ def is_disk_cached_latents_is_expected(reso, npz_path: str, flip_aug: bool, alph # 戻り値は、latents_tensor, (original_size width, original_size height), (crop left, crop top) def load_latents_from_disk( npz_path, -) -> Tuple[Optional[torch.Tensor], Optional[List[int]], Optional[List[int]], Optional[np.ndarray], Optional[np.ndarray]]: +) -> Tuple[Optional[np.ndarray], Optional[List[int]], Optional[List[int]], Optional[np.ndarray], Optional[np.ndarray]]: npz = np.load(npz_path) if "latents" not in npz: raise ValueError(f"error: npz is old format. please re-generate {npz_path}") @@ -2229,7 +2230,7 @@ def save_latents_to_disk(npz_path, latents_tensor, original_size, crop_ltrb, fli if flipped_latents_tensor is not None: kwargs["latents_flipped"] = flipped_latents_tensor.float().cpu().numpy() if alpha_mask is not None: - kwargs["alpha_mask"] = alpha_mask # ndarray + kwargs["alpha_mask"] = alpha_mask.float().cpu().numpy() np.savez( npz_path, latents=latents_tensor.float().cpu().numpy(), @@ -2496,8 +2497,9 @@ def cache_batch_latents( if image.shape[2] == 4: alpha_mask = image[:, :, 3] # [H,W] alpha_mask = alpha_mask.astype(np.float32) / 255.0 + alpha_mask = torch.FloatTensor(alpha_mask) # [H,W] else: - alpha_mask = np.ones_like(image[:, :, 0], dtype=np.float32) + alpha_mask = torch.ones_like(image[:, :, 0], dtype=torch.float32) # [H,W] else: alpha_mask = None alpha_masks.append(alpha_mask) From 4dbcef429b744d0cc101494802448b8c15f4f674 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Tue, 4 Jun 2024 21:26:55 +0900 Subject: [PATCH 086/748] update for corner cases --- library/train_util.py | 3 +++ train_network.py | 23 ++++++++++++++--------- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index 102f9f03b..4736ff4ff 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -663,6 +663,7 @@ def set_current_epoch(self, epoch): for _ in range(num_epochs): self.current_epoch += 1 self.shuffle_buckets() + # self.current_epoch seem to be set to 0 again in the next epoch. it may be caused by skipped_dataloader? else: logger.warning("epoch is not incremented. current_epoch: {}, epoch: {}".format(self.current_epoch, epoch)) self.current_epoch = epoch @@ -5560,6 +5561,8 @@ def add(self, *, epoch: int, step: int, loss: float) -> None: if epoch == 0: self.loss_list.append(loss) else: + while len(self.loss_list) <= step: + self.loss_list.append(0.0) self.loss_total -= self.loss_list[step] self.loss_list[step] = loss self.loss_total += loss diff --git a/train_network.py b/train_network.py index d1f02d530..7ba073855 100644 --- a/train_network.py +++ b/train_network.py @@ -493,13 +493,15 @@ def train(self, args): # before resuming make hook for saving/loading to save/load the network weights only def save_model_hook(models, weights, output_dir): # pop weights of other models than network to save only network weights - if accelerator.is_main_process: + # only main process or deepspeed https://github.com/huggingface/diffusers/issues/2606 + if accelerator.is_main_process or args.deepspeed: remove_indices = [] for i, model in enumerate(models): if not isinstance(model, type(accelerator.unwrap_model(network))): remove_indices.append(i) for i in reversed(remove_indices): - weights.pop(i) + if len(weights) > i: + weights.pop(i) # print(f"save model hook: {len(weights)} weights will be saved") # save current ecpoch and step @@ -813,11 +815,12 @@ def load_model_hook(models, input_dir): ) logger.info(f"skipping {initial_step} steps / {initial_step}ステップをスキップします") initial_step *= args.gradient_accumulation_steps + + # set epoch to start to make initial_step less than len(train_dataloader) + epoch_to_start = initial_step // math.ceil(len(train_dataloader) / args.gradient_accumulation_steps) else: # if not, only epoch no is skipped for informative purpose - epoch_to_start = initial_step // math.ceil( - len(train_dataloader) / args.gradient_accumulation_steps - ) + epoch_to_start = initial_step // math.ceil(len(train_dataloader) / args.gradient_accumulation_steps) initial_step = 0 # do not skip global_step = 0 @@ -878,9 +881,11 @@ def remove_model(old_ckpt_name): self.sample_images(accelerator, args, 0, global_step, accelerator.device, vae, tokenizer, text_encoder, unet) # training loop - for skip_epoch in range(epoch_to_start): # skip epochs - logger.info(f"skipping epoch {skip_epoch+1} because initial_step (multiplied) is {initial_step}") - initial_step -= len(train_dataloader) + if initial_step > 0: # only if skip_until_initial_step is specified + for skip_epoch in range(epoch_to_start): # skip epochs + logger.info(f"skipping epoch {skip_epoch+1} because initial_step (multiplied) is {initial_step}") + initial_step -= len(train_dataloader) + global_step = initial_step for epoch in range(epoch_to_start, num_train_epochs): accelerator.print(f"\nepoch {epoch+1}/{num_train_epochs}") @@ -892,7 +897,7 @@ def remove_model(old_ckpt_name): skipped_dataloader = None if initial_step > 0: - skipped_dataloader = accelerator.skip_first_batches(train_dataloader, initial_step-1) + skipped_dataloader = accelerator.skip_first_batches(train_dataloader, initial_step - 1) initial_step = 1 for step, batch in enumerate(skipped_dataloader or train_dataloader): From 4ecbac131aba3d121f9708b3ac2a1f4726b17dc0 Mon Sep 17 00:00:00 2001 From: Yuta Hayashibe Date: Wed, 5 Jun 2024 16:31:44 +0900 Subject: [PATCH 087/748] Bump crate-ci/typos from 1.19.0 to 1.21.0, fix typos, and updated _typos.toml (Close #1307) --- .github/workflows/typos.yml | 2 +- _typos.toml | 2 ++ library/ipex/attention.py | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/typos.yml b/.github/workflows/typos.yml index e8b06483f..c81ff3210 100644 --- a/.github/workflows/typos.yml +++ b/.github/workflows/typos.yml @@ -18,4 +18,4 @@ jobs: - uses: actions/checkout@v4 - name: typos-action - uses: crate-ci/typos@v1.19.0 + uses: crate-ci/typos@v1.21.0 diff --git a/_typos.toml b/_typos.toml index ae9e06b18..bbf7728f4 100644 --- a/_typos.toml +++ b/_typos.toml @@ -2,6 +2,7 @@ # Instruction: https://github.com/marketplace/actions/typos-action#getting-started [default.extend-identifiers] +ddPn08="ddPn08" [default.extend-words] NIN="NIN" @@ -27,6 +28,7 @@ rik="rik" koo="koo" yos="yos" wn="wn" +hime="hime" [files] diff --git a/library/ipex/attention.py b/library/ipex/attention.py index d989ad53d..2bc62f65c 100644 --- a/library/ipex/attention.py +++ b/library/ipex/attention.py @@ -5,7 +5,7 @@ # pylint: disable=protected-access, missing-function-docstring, line-too-long -# ARC GPUs can't allocate more than 4GB to a single block so we slice the attetion layers +# ARC GPUs can't allocate more than 4GB to a single block so we slice the attention layers sdpa_slice_trigger_rate = float(os.environ.get('IPEX_SDPA_SLICE_TRIGGER_RATE', 4)) attention_slice_rate = float(os.environ.get('IPEX_ATTENTION_SLICE_RATE', 4)) From 58fb64819ab117e2b7bca6e87bae28901b616860 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 9 Jun 2024 19:26:09 +0900 Subject: [PATCH 088/748] set static graph flag when DDP ref #1363 --- sdxl_train_control_net_lllite.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sdxl_train_control_net_lllite.py b/sdxl_train_control_net_lllite.py index 301310901..5ff060a9f 100644 --- a/sdxl_train_control_net_lllite.py +++ b/sdxl_train_control_net_lllite.py @@ -289,6 +289,9 @@ def train(args): # acceleratorがなんかよろしくやってくれるらしい unet, optimizer, train_dataloader, lr_scheduler = accelerator.prepare(unet, optimizer, train_dataloader, lr_scheduler) + if isinstance(unet, DDP): + unet._set_static_graph() # avoid error for multiple use of the parameter + if args.gradient_checkpointing: unet.train() # according to TI example in Diffusers, train is required -> これオリジナルのU-Netしたので本当は外せる else: From 1a104dc75ee5733af8ba17cc9778b39e26673734 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 9 Jun 2024 19:26:36 +0900 Subject: [PATCH 089/748] make forward/backward pathes same ref #1363 --- networks/control_net_lllite_for_train.py | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/networks/control_net_lllite_for_train.py b/networks/control_net_lllite_for_train.py index 65b3520cf..366451b7f 100644 --- a/networks/control_net_lllite_for_train.py +++ b/networks/control_net_lllite_for_train.py @@ -7,8 +7,10 @@ import torch from library import sdxl_original_unet from library.utils import setup_logging + setup_logging() import logging + logger = logging.getLogger(__name__) # input_blocksに適用するかどうか / if True, input_blocks are not applied @@ -103,19 +105,15 @@ def set_lllite(self, depth, cond_emb_dim, name, mlp_dim, dropout=None, multiplie add_lllite_modules(self, in_dim, depth, cond_emb_dim, mlp_dim) self.cond_image = None - self.cond_emb = None def set_cond_image(self, cond_image): self.cond_image = cond_image - self.cond_emb = None def forward(self, x): if not self.enabled: return super().forward(x) - if self.cond_emb is None: - self.cond_emb = self.lllite_conditioning1(self.cond_image) - cx = self.cond_emb + cx = self.lllite_conditioning1(self.cond_image) # make forward and backward compatible # reshape / b,c,h,w -> b,h*w,c n, c, h, w = cx.shape @@ -159,9 +157,7 @@ def forward(self, x): # , cond_image=None): if not self.enabled: return super().forward(x) - if self.cond_emb is None: - self.cond_emb = self.lllite_conditioning1(self.cond_image) - cx = self.cond_emb + cx = self.lllite_conditioning1(self.cond_image) cx = torch.cat([cx, self.down(x)], dim=1) cx = self.mid(cx) From 18d7597b0b39cc2204dfbdfdcbf0fead97414be1 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Tue, 11 Jun 2024 19:51:30 +0900 Subject: [PATCH 090/748] update README --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/README.md b/README.md index 52c963392..25aba6397 100644 --- a/README.md +++ b/README.md @@ -178,6 +178,12 @@ The majority of scripts is licensed under ASL 2.0 (including codes from Diffuser - The ControlNet training script `train_controlnet.py` for SD1.5/2.x was not working, but it has been fixed. PR [#1284](https://github.com/kohya-ss/sd-scripts/pull/1284) Thanks to sdbds! +- `train_network.py` and `sdxl_train_network.py` now restore the order/position of data loading from DataSet when resuming training. PR [#1353](https://github.com/kohya-ss/sd-scripts/pull/1353) [#1359](https://github.com/kohya-ss/sd-scripts/pull/1359) Thanks to KohakuBlueleaf! + - This resolves the issue where the order of data loading from DataSet changes when resuming training. + - Specify the `--skip_until_initial_step` option to skip data loading until the specified step. If not specified, data loading starts from the beginning of the DataSet (same as before). + - If `--resume` is specified, the step saved in the state is used. + - Specify the `--initial_step` or `--initial_epoch` option to skip data loading until the specified step or epoch. Use these options in conjunction with `--skip_until_initial_step`. These options can be used without `--resume` (use them when resuming training with `--network_weights`). + - An option `--disable_mmap_load_safetensors` is added to disable memory mapping when loading the model's .safetensors in SDXL. PR [#1266](https://github.com/kohya-ss/sd-scripts/pull/1266) Thanks to Zovjsra! - It seems that the model file loading is faster in the WSL environment etc. - Available in `sdxl_train.py`, `sdxl_train_network.py`, `sdxl_train_textual_inversion.py`, and `sdxl_train_control_net_lllite.py`. @@ -235,6 +241,12 @@ https://github.com/kohya-ss/sd-scripts/pull/1290) Thanks to frodo821! - SD1.5/2.x 用の ControlNet 学習スクリプト `train_controlnet.py` が動作しなくなっていたのが修正されました。PR [#1284](https://github.com/kohya-ss/sd-scripts/pull/1284) sdbds 氏に感謝します。 +- `train_network.py` および `sdxl_train_network.py` で、学習再開時に DataSet の読み込み順についても復元できるようになりました。PR [#1353](https://github.com/kohya-ss/sd-scripts/pull/1353) [#1359](https://github.com/kohya-ss/sd-scripts/pull/1359) KohakuBlueleaf 氏に感謝します。 + - これにより、学習再開時に DataSet の読み込み順が変わってしまう問題が解消されます。 + - `--skip_until_initial_step` オプションを指定すると、指定したステップまで DataSet 読み込みをスキップします。指定しない場合の動作は変わりません(DataSet の最初から読み込みます) + - `--resume` オプションを指定すると、state に保存されたステップ数が使用されます。 + - `--initial_step` または `--initial_epoch` オプションを指定すると、指定したステップまたはエポックまで DataSet 読み込みをスキップします。これらのオプションは `--skip_until_initial_step` と併用してください。またこれらのオプションは `--resume` と併用しなくても使えます(`--network_weights` を用いた学習再開時などにお使いください )。 + - SDXL でモデルの .safetensors を読み込む際にメモリマッピングを無効化するオプション `--disable_mmap_load_safetensors` が追加されました。PR [#1266](https://github.com/kohya-ss/sd-scripts/pull/1266) Zovjsra 氏に感謝します。 - WSL 環境等でモデルファイルの読み込みが高速化されるようです。 - `sdxl_train.py`、`sdxl_train_network.py`、`sdxl_train_textual_inversion.py`、`sdxl_train_control_net_lllite.py` で使用可能です。 From 56bb81c9e6483b8b4d5b83639548855b8359f4b4 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Wed, 12 Jun 2024 21:39:35 +0900 Subject: [PATCH 091/748] add grad_hook after restore state closes #1344 --- sdxl_train.py | 46 +++++++++++++++++++++++++--------------------- 1 file changed, 25 insertions(+), 21 deletions(-) diff --git a/sdxl_train.py b/sdxl_train.py index 9e20c60ca..ae92d6a3d 100644 --- a/sdxl_train.py +++ b/sdxl_train.py @@ -481,6 +481,26 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): text_encoder2 = accelerator.prepare(text_encoder2) optimizer, train_dataloader, lr_scheduler = accelerator.prepare(optimizer, train_dataloader, lr_scheduler) + # TextEncoderの出力をキャッシュするときにはCPUへ移動する + if args.cache_text_encoder_outputs: + # move Text Encoders for sampling images. Text Encoder doesn't work on CPU with fp16 + text_encoder1.to("cpu", dtype=torch.float32) + text_encoder2.to("cpu", dtype=torch.float32) + clean_memory_on_device(accelerator.device) + else: + # make sure Text Encoders are on GPU + text_encoder1.to(accelerator.device) + text_encoder2.to(accelerator.device) + + # 実験的機能:勾配も含めたfp16学習を行う PyTorchにパッチを当ててfp16でのgrad scaleを有効にする + if args.full_fp16: + # During deepseed training, accelerate not handles fp16/bf16|mixed precision directly via scaler. Let deepspeed engine do. + # -> But we think it's ok to patch accelerator even if deepspeed is enabled. + train_util.patch_accelerator_for_fp16_training(accelerator) + + # resumeする + train_util.resume_from_local_or_hf_if_specified(accelerator, args) + if args.fused_backward_pass: # use fused optimizer for backward pass: other optimizers will be supported in the future import library.adafactor_fused @@ -532,26 +552,6 @@ def optimizer_hook(parameter: torch.Tensor): parameter_optimizer_map[parameter] = opt_idx num_parameters_per_group[opt_idx] += 1 - # TextEncoderの出力をキャッシュするときにはCPUへ移動する - if args.cache_text_encoder_outputs: - # move Text Encoders for sampling images. Text Encoder doesn't work on CPU with fp16 - text_encoder1.to("cpu", dtype=torch.float32) - text_encoder2.to("cpu", dtype=torch.float32) - clean_memory_on_device(accelerator.device) - else: - # make sure Text Encoders are on GPU - text_encoder1.to(accelerator.device) - text_encoder2.to(accelerator.device) - - # 実験的機能:勾配も含めたfp16学習を行う PyTorchにパッチを当ててfp16でのgrad scaleを有効にする - if args.full_fp16: - # During deepseed training, accelerate not handles fp16/bf16|mixed precision directly via scaler. Let deepspeed engine do. - # -> But we think it's ok to patch accelerator even if deepspeed is enabled. - train_util.patch_accelerator_for_fp16_training(accelerator) - - # resumeする - train_util.resume_from_local_or_hf_if_specified(accelerator, args) - # epoch数を計算する num_update_steps_per_epoch = math.ceil(len(train_dataloader) / args.gradient_accumulation_steps) num_train_epochs = math.ceil(args.max_train_steps / num_update_steps_per_epoch) @@ -589,7 +589,11 @@ def optimizer_hook(parameter: torch.Tensor): init_kwargs["wandb"] = {"name": args.wandb_run_name} if args.log_tracker_config is not None: init_kwargs = toml.load(args.log_tracker_config) - accelerator.init_trackers("finetuning" if args.log_tracker_name is None else args.log_tracker_name, config=train_util.get_sanitized_config_or_none(args), init_kwargs=init_kwargs) + accelerator.init_trackers( + "finetuning" if args.log_tracker_name is None else args.log_tracker_name, + config=train_util.get_sanitized_config_or_none(args), + init_kwargs=init_kwargs, + ) # For --sample_at_first sdxl_train_util.sample_images( From e5268286bf90ddcc53ad1deb31aba857cfa967d5 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sat, 15 Jun 2024 22:20:24 +0900 Subject: [PATCH 092/748] add sd3 models and inference script --- library/sd3_models.py | 1796 ++++++++++++++++++++++++++++++++++++++ library/sd3_utils.py | 113 +++ sd3_minimal_inference.py | 347 ++++++++ 3 files changed, 2256 insertions(+) create mode 100644 library/sd3_models.py create mode 100644 library/sd3_utils.py create mode 100644 sd3_minimal_inference.py diff --git a/library/sd3_models.py b/library/sd3_models.py new file mode 100644 index 000000000..294a69b06 --- /dev/null +++ b/library/sd3_models.py @@ -0,0 +1,1796 @@ +# some modules/classes are copied and modified from https://github.com/mcmonkey4eva/sd3-ref +# the original code is licensed under the MIT License + +# and some module/classes are contributed from KohakuBlueleaf. Thanks for the contribution! + +from functools import partial +import math +from typing import Dict, Optional +import einops +import numpy as np +import torch +import torch.nn as nn +import torch.nn.functional as F +from torch.utils.checkpoint import checkpoint +from transformers import CLIPTokenizer, T5TokenizerFast + + +memory_efficient_attention = None +try: + import xformers +except: + pass + +try: + from xformers.ops import memory_efficient_attention +except: + memory_efficient_attention = None + + +# region tokenizer +class SDTokenizer: + def __init__( + self, max_length=77, pad_with_end=True, tokenizer=None, has_start_token=True, pad_to_max_length=True, min_length=None + ): + """ + サブクラスで各種の設定を行ってる。このクラスはその設定に基づき重み付きのトークン化を行うようだ。 + Some settings are done in subclasses. This class seems to perform tokenization with weights based on those settings. + """ + self.tokenizer = tokenizer + self.max_length = max_length + self.min_length = min_length + empty = self.tokenizer("")["input_ids"] + if has_start_token: + self.tokens_start = 1 + self.start_token = empty[0] + self.end_token = empty[1] + else: + self.tokens_start = 0 + self.start_token = None + self.end_token = empty[0] + self.pad_with_end = pad_with_end + self.pad_to_max_length = pad_to_max_length + vocab = self.tokenizer.get_vocab() + self.inv_vocab = {v: k for k, v in vocab.items()} + self.max_word_length = 8 + + def tokenize_with_weights(self, text: str): + """Tokenize the text, with weight values - presume 1.0 for all and ignore other features here. + The details aren't relevant for a reference impl, and weights themselves has weak effect on SD3.""" + """ + ja: テキストをトークン化し、重み値を持ちます - すべての値に1.0を仮定し、他の機能を無視します。 + 詳細は参考実装には関係なく、重み自体はSD3に対して弱い影響しかありません。へぇ~ + """ + if self.pad_with_end: + pad_token = self.end_token + else: + pad_token = 0 + batch = [] + if self.start_token is not None: + batch.append((self.start_token, 1.0)) + to_tokenize = text.replace("\n", " ").split(" ") + to_tokenize = [x for x in to_tokenize if x != ""] + for word in to_tokenize: + batch.extend([(t, 1) for t in self.tokenizer(word)["input_ids"][self.tokens_start : -1]]) + batch.append((self.end_token, 1.0)) + if self.pad_to_max_length: + batch.extend([(pad_token, 1.0)] * (self.max_length - len(batch))) + if self.min_length is not None and len(batch) < self.min_length: + batch.extend([(pad_token, 1.0)] * (self.min_length - len(batch))) + return [batch] + + +class T5XXLTokenizer(SDTokenizer): + """Wraps the T5 Tokenizer from HF into the SDTokenizer interface""" + + def __init__(self): + super().__init__( + pad_with_end=False, + tokenizer=T5TokenizerFast.from_pretrained("google/t5-v1_1-xxl"), + has_start_token=False, + pad_to_max_length=False, + max_length=99999999, + min_length=77, + ) + + +class SDXLClipGTokenizer(SDTokenizer): + def __init__(self, tokenizer): + super().__init__(pad_with_end=False, tokenizer=tokenizer) + + +class SD3Tokenizer: + def __init__(self, t5xxl=True): + # TODO cache tokenizer settings locally or hold them in the repo like ComfyUI + clip_tokenizer = CLIPTokenizer.from_pretrained("openai/clip-vit-large-patch14") + self.clip_l = SDTokenizer(tokenizer=clip_tokenizer) + self.clip_g = SDXLClipGTokenizer(clip_tokenizer) + self.t5xxl = T5XXLTokenizer() if t5xxl else None + + def tokenize_with_weights(self, text: str): + return ( + self.clip_l.tokenize_with_weights(text), + self.clip_g.tokenize_with_weights(text), + self.t5xxl.tokenize_with_weights(text) if self.t5xxl is not None else None, + ) + + +# endregion + +# region mmdit + + +def get_2d_sincos_pos_embed( + embed_dim, + grid_size, + scaling_factor=None, + offset=None, +): + grid_h = np.arange(grid_size, dtype=np.float32) + grid_w = np.arange(grid_size, dtype=np.float32) + grid = np.meshgrid(grid_w, grid_h) # here w goes first + grid = np.stack(grid, axis=0) + if scaling_factor is not None: + grid = grid / scaling_factor + if offset is not None: + grid = grid - offset + + grid = grid.reshape([2, 1, grid_size, grid_size]) + pos_embed = get_2d_sincos_pos_embed_from_grid(embed_dim, grid) + return pos_embed + + +def get_2d_sincos_pos_embed_from_grid(embed_dim, grid): + assert embed_dim % 2 == 0 + + # use half of dimensions to encode grid_h + emb_h = get_1d_sincos_pos_embed_from_grid(embed_dim // 2, grid[0]) # (H*W, D/2) + emb_w = get_1d_sincos_pos_embed_from_grid(embed_dim // 2, grid[1]) # (H*W, D/2) + + emb = np.concatenate([emb_h, emb_w], axis=1) # (H*W, D) + return emb + + +def get_1d_sincos_pos_embed_from_grid(embed_dim, pos): + """ + embed_dim: output dimension for each position + pos: a list of positions to be encoded: size (M,) + out: (M, D) + """ + assert embed_dim % 2 == 0 + omega = np.arange(embed_dim // 2, dtype=np.float64) + omega /= embed_dim / 2.0 + omega = 1.0 / 10000**omega # (D/2,) + + pos = pos.reshape(-1) # (M,) + out = np.einsum("m,d->md", pos, omega) # (M, D/2), outer product + + emb_sin = np.sin(out) # (M, D/2) + emb_cos = np.cos(out) # (M, D/2) + + emb = np.concatenate([emb_sin, emb_cos], axis=1) # (M, D) + return emb + + +def get_1d_sincos_pos_embed_from_grid_torch( + embed_dim, + pos, + device=None, + dtype=torch.float32, +): + omega = torch.arange(embed_dim // 2, device=device, dtype=dtype) + omega *= 2.0 / embed_dim + omega = 1.0 / 10000**omega + out = torch.outer(pos.reshape(-1), omega) + emb = torch.cat([out.sin(), out.cos()], dim=1) + return emb + + +def get_2d_sincos_pos_embed_torch( + embed_dim, + w, + h, + val_center=7.5, + val_magnitude=7.5, + device=None, + dtype=torch.float32, +): + small = min(h, w) + val_h = (h / small) * val_magnitude + val_w = (w / small) * val_magnitude + grid_h, grid_w = torch.meshgrid( + torch.linspace(-val_h + val_center, val_h + val_center, h, device=device, dtype=dtype), + torch.linspace(-val_w + val_center, val_w + val_center, w, device=device, dtype=dtype), + indexing="ij", + ) + emb_h = get_1d_sincos_pos_embed_from_grid_torch(embed_dim // 2, grid_h, device=device, dtype=dtype) + emb_w = get_1d_sincos_pos_embed_from_grid_torch(embed_dim // 2, grid_w, device=device, dtype=dtype) + emb = torch.cat([emb_w, emb_h], dim=1) # (H*W, D) + return emb + + +def modulate(x, shift, scale): + if shift is None: + shift = torch.zeros_like(scale) + return x * (1 + scale.unsqueeze(1)) + shift.unsqueeze(1) + + +def default(x, default_value): + if x is None: + return default_value + return x + + +def timestep_embedding(t, dim, max_period=10000): + half = dim // 2 + # freqs = torch.exp(-math.log(max_period) * torch.arange(start=0, end=half, dtype=torch.float32) / half).to( + # device=t.device, dtype=t.dtype + # ) + freqs = torch.exp(-math.log(max_period) * torch.arange(start=0, end=half, dtype=torch.float32) / half).to(device=t.device) + args = t[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat([embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + if torch.is_floating_point(t): + embedding = embedding.to(dtype=t.dtype) + return embedding + + +def rmsnorm(x, eps=1e-6): + return x * torch.rsqrt(x.pow(2).mean(-1, keepdim=True) + eps) + + +class PatchEmbed(nn.Module): + def __init__( + self, + img_size=256, + patch_size=4, + in_channels=3, + embed_dim=512, + norm_layer=None, + flatten=True, + bias=True, + strict_img_size=True, + dynamic_img_pad=True, + ): + super().__init__() + self.patch_size = patch_size + self.flatten = flatten + self.strict_img_size = strict_img_size + self.dynamic_img_pad = dynamic_img_pad + if img_size is not None: + self.img_size = img_size + self.grid_size = img_size // patch_size + self.num_patches = self.grid_size**2 + else: + self.img_size = None + self.grid_size = None + self.num_patches = None + + self.proj = nn.Conv2d(in_channels, embed_dim, patch_size, patch_size, bias=bias) + self.norm = nn.Identity() if norm_layer is None else norm_layer(embed_dim) + + def forward(self, x): + B, C, H, W = x.shape + + if self.dynamic_img_pad: + # Pad input so we won't have partial patch + pad_h = (self.patch_size - H % self.patch_size) % self.patch_size + pad_w = (self.patch_size - W % self.patch_size) % self.patch_size + x = nn.functional.pad(x, (0, pad_w, 0, pad_h), mode="reflect") + x = self.proj(x) + if self.flatten: + x = x.flatten(2).transpose(1, 2) + x = self.norm(x) + return x + + +# FinalLayer in mmdit.py +class UnPatch(nn.Module): + def __init__(self, hidden_size=512, patch_size=4, out_channels=3): + super().__init__() + self.patch_size = patch_size + self.c = out_channels + + # eps is default in mmdit.py + self.norm_final = nn.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6) + self.linear = nn.Linear(hidden_size, patch_size**2 * out_channels) + self.adaLN_modulation = nn.Sequential( + nn.SiLU(), + nn.Linear(hidden_size, 2 * hidden_size), + ) + + def forward(self, x: torch.Tensor, cmod, H=None, W=None): + b, n, _ = x.shape + p = self.patch_size + c = self.c + if H is None and W is None: + w = h = int(n**0.5) + assert h * w == n + else: + h = H // p if H else n // (W // p) + w = W // p if W else n // h + assert h * w == n + + shift, scale = self.adaLN_modulation(cmod).chunk(2, dim=-1) + x = modulate(self.norm_final(x), shift, scale) + x = self.linear(x) + + x = x.view(b, h, w, p, p, c) + x = x.permute(0, 5, 1, 3, 2, 4).contiguous() + x = x.view(b, c, h * p, w * p) + return x + + +class MLP(nn.Module): + def __init__( + self, + in_features, + hidden_features=None, + out_features=None, + act_layer=lambda: nn.GELU(), + norm_layer=None, + bias=True, + use_conv=False, + ): + super().__init__() + out_features = out_features or in_features + hidden_features = hidden_features or in_features + self.use_conv = use_conv + + layer = partial(nn.Conv1d, kernel_size=1) if use_conv else nn.Linear + + self.fc1 = layer(in_features, hidden_features, bias=bias) + self.fc2 = layer(hidden_features, out_features, bias=bias) + self.act = act_layer() + self.norm = norm_layer(hidden_features) if norm_layer else nn.Identity() + + def forward(self, x): + x = self.fc1(x) + x = self.act(x) + x = self.norm(x) + x = self.fc2(x) + return x + + +class TimestepEmbedding(nn.Module): + def __init__(self, hidden_size, freq_embed_size=256): + super().__init__() + self.mlp = nn.Sequential( + nn.Linear(freq_embed_size, hidden_size), + nn.SiLU(), + nn.Linear(hidden_size, hidden_size), + ) + self.freq_embed_size = freq_embed_size + + def forward(self, t, dtype=None, **kwargs): + t_freq = timestep_embedding(t, self.freq_embed_size).to(dtype) + t_emb = self.mlp(t_freq) + return t_emb + + +class Embedder(nn.Module): + def __init__(self, input_dim, hidden_size): + super().__init__() + self.mlp = nn.Sequential( + nn.Linear(input_dim, hidden_size), + nn.SiLU(), + nn.Linear(hidden_size, hidden_size), + ) + + def forward(self, x): + return self.mlp(x) + + +class RMSNorm(torch.nn.Module): + def __init__( + self, + dim: int, + elementwise_affine: bool = False, + eps: float = 1e-6, + device=None, + dtype=None, + ): + """ + Initialize the RMSNorm normalization layer. + Args: + dim (int): The dimension of the input tensor. + eps (float, optional): A small value added to the denominator for numerical stability. Default is 1e-6. + Attributes: + eps (float): A small value added to the denominator for numerical stability. + weight (nn.Parameter): Learnable scaling parameter. + """ + super().__init__() + self.eps = eps + self.learnable_scale = elementwise_affine + if self.learnable_scale: + self.weight = nn.Parameter(torch.empty(dim, device=device, dtype=dtype)) + else: + self.register_parameter("weight", None) + + def forward(self, x): + """ + Forward pass through the RMSNorm layer. + Args: + x (torch.Tensor): The input tensor. + Returns: + torch.Tensor: The output tensor after applying RMSNorm. + """ + x = rmsnorm(x, eps=self.eps) + if self.learnable_scale: + return x * self.weight.to(device=x.device, dtype=x.dtype) + else: + return x + + +class SwiGLUFeedForward(nn.Module): + def __init__( + self, + dim: int, + hidden_dim: int, + multiple_of: int, + ffn_dim_multiplier: float = None, + ): + super().__init__() + hidden_dim = int(2 * hidden_dim / 3) + # custom dim factor multiplier + if ffn_dim_multiplier is not None: + hidden_dim = int(ffn_dim_multiplier * hidden_dim) + hidden_dim = multiple_of * ((hidden_dim + multiple_of - 1) // multiple_of) + + self.w1 = nn.Linear(dim, hidden_dim, bias=False) + self.w2 = nn.Linear(hidden_dim, dim, bias=False) + self.w3 = nn.Linear(dim, hidden_dim, bias=False) + + def forward(self, x): + return self.w2(nn.functional.silu(self.w1(x)) * self.w3(x)) + + +# Linears for SelfAttention in mmdit.py +class AttentionLinears(nn.Module): + def __init__( + self, + dim: int, + num_heads: int = 8, + qkv_bias: bool = False, + pre_only: bool = False, + qk_norm: str = None, + ): + super().__init__() + self.num_heads = num_heads + self.head_dim = dim // num_heads + + self.qkv = nn.Linear(dim, dim * 3, bias=qkv_bias) + if not pre_only: + self.proj = nn.Linear(dim, dim) + self.pre_only = pre_only + + if qk_norm == "rms": + self.ln_q = RMSNorm(self.head_dim, elementwise_affine=True, eps=1.0e-6) + self.ln_k = RMSNorm(self.head_dim, elementwise_affine=True, eps=1.0e-6) + elif qk_norm == "ln": + self.ln_q = nn.LayerNorm(self.head_dim, elementwise_affine=True, eps=1.0e-6) + self.ln_k = nn.LayerNorm(self.head_dim, elementwise_affine=True, eps=1.0e-6) + elif qk_norm is None: + self.ln_q = nn.Identity() + self.ln_k = nn.Identity() + else: + raise ValueError(qk_norm) + + def pre_attention(self, x: torch.Tensor) -> torch.Tensor: + """ + output: + q, k, v: [B, L, D] + """ + B, L, C = x.shape + qkv: torch.Tensor = self.qkv(x) + q, k, v = qkv.reshape(B, L, -1, self.head_dim).chunk(3, dim=2) + q = self.ln_q(q).reshape(q.shape[0], q.shape[1], -1) + k = self.ln_k(k).reshape(q.shape[0], q.shape[1], -1) + return (q, k, v) + + def post_attention(self, x: torch.Tensor) -> torch.Tensor: + assert not self.pre_only + x = self.proj(x) + return x + + +MEMORY_LAYOUTS = { + "torch": ( + lambda x, head_dim: x.reshape(x.shape[0], x.shape[1], -1, head_dim).transpose(1, 2), + lambda x: x.transpose(1, 2).reshape(x.shape[0], x.shape[2], -1), + lambda x: (1, x, 1, 1), + ), + "xformers": ( + lambda x, head_dim: x.reshape(x.shape[0], x.shape[1], -1, head_dim), + lambda x: x.reshape(x.shape[0], x.shape[1], -1), + lambda x: (1, 1, x, 1), + ), + "math": ( + lambda x, head_dim: x.reshape(x.shape[0], x.shape[1], -1, head_dim).transpose(1, 2), + lambda x: x.transpose(1, 2).reshape(x.shape[0], x.shape[2], -1), + lambda x: (1, x, 1, 1), + ), +} +# ATTN_FUNCTION = { +# "torch": F.scaled_dot_product_attention, +# "xformers": memory_efficient_attention, +# } + + +def vanilla_attention(q, k, v, mask, scale=None): + if scale is None: + scale = math.sqrt(q.size(-1)) + scores = torch.bmm(q, k.transpose(-1, -2)) / scale + if mask is not None: + mask = einops.rearrange(mask, "b ... -> b (...)") + max_neg_value = -torch.finfo(scores.dtype).max + mask = einops.repeat(mask, "b j -> (b h) j", h=q.size(-3)) + scores = scores.masked_fill(~mask, max_neg_value) + p_attn = F.softmax(scores, dim=-1) + return torch.bmm(p_attn, v) + + +def attention(q, k, v, head_dim, mask=None, scale=None, mode="xformers"): + """ + q, k, v: [B, L, D] + """ + pre_attn_layout = MEMORY_LAYOUTS[mode][0] + post_attn_layout = MEMORY_LAYOUTS[mode][1] + q = pre_attn_layout(q, head_dim) + k = pre_attn_layout(k, head_dim) + v = pre_attn_layout(v, head_dim) + + # scores = ATTN_FUNCTION[mode](q, k.to(q), v.to(q), mask, scale=scale) + if mode == "torch": + assert scale is None + scores = F.scaled_dot_product_attention(q, k.to(q), v.to(q), mask) # , scale=scale) + elif mode == "xformers": + scores = memory_efficient_attention(q, k.to(q), v.to(q), mask, scale=scale) + else: + scores = vanilla_attention(q, k.to(q), v.to(q), mask, scale=scale) + + scores = post_attn_layout(scores) + return scores + + +class SelfAttention(AttentionLinears): + def __init__(self, dim, num_heads=8, mode="xformers"): + super().__init__(dim, num_heads, qkv_bias=True, pre_only=False) + assert mode in MEMORY_LAYOUTS + self.head_dim = dim // num_heads + self.attn_mode = mode + + def set_attn_mode(self, mode): + self.attn_mode = mode + + def forward(self, x): + q, k, v = self.pre_attention(x) + attn_score = attention(q, k, v, self.head_dim, mode=self.attn_mode) + return self.post_attention(attn_score) + + +class TransformerBlock(nn.Module): + def __init__(self, context_size, mode="xformers"): + super().__init__() + self.context_size = context_size + self.norm1 = nn.LayerNorm(context_size, elementwise_affine=False, eps=1e-6) + self.attn = SelfAttention(context_size, mode=mode) + self.norm2 = nn.LayerNorm(context_size, elementwise_affine=False, eps=1e-6) + self.mlp = MLP( + in_features=context_size, + hidden_features=context_size * 4, + act_layer=lambda: nn.GELU(approximate="tanh"), + ) + + def forward(self, x): + x = x + self.attn(self.norm1(x)) + x = x + self.mlp(self.norm2(x)) + return x + + +class Transformer(nn.Module): + def __init__(self, context_size, num_layers, mode="xformers"): + super().__init__() + self.layers = nn.ModuleList([TransformerBlock(context_size, mode) for _ in range(num_layers)]) + self.norm = nn.LayerNorm(context_size, elementwise_affine=False, eps=1e-6) + + def forward(self, x): + for layer in self.layers: + x = layer(x) + return self.norm(x) + + +# DismantledBlock in mmdit.py +class SingleDiTBlock(nn.Module): + """ + A DiT block with gated adaptive layer norm (adaLN) conditioning. + """ + + def __init__( + self, + hidden_size: int, + num_heads: int, + mlp_ratio: float = 4.0, + attn_mode: str = "xformers", + qkv_bias: bool = False, + pre_only: bool = False, + rmsnorm: bool = False, + scale_mod_only: bool = False, + swiglu: bool = False, + qk_norm: Optional[str] = None, + **block_kwargs, + ): + super().__init__() + assert attn_mode in MEMORY_LAYOUTS + self.attn_mode = attn_mode + if not rmsnorm: + self.norm1 = nn.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6) + else: + self.norm1 = RMSNorm(hidden_size, elementwise_affine=False, eps=1e-6) + self.attn = AttentionLinears( + dim=hidden_size, + num_heads=num_heads, + qkv_bias=qkv_bias, + pre_only=pre_only, + qk_norm=qk_norm, + ) + if not pre_only: + if not rmsnorm: + self.norm2 = nn.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6) + else: + self.norm2 = RMSNorm(hidden_size, elementwise_affine=False, eps=1e-6) + mlp_hidden_dim = int(hidden_size * mlp_ratio) + if not pre_only: + if not swiglu: + self.mlp = MLP( + in_features=hidden_size, + hidden_features=mlp_hidden_dim, + act_layer=lambda: nn.GELU(approximate="tanh"), + ) + else: + self.mlp = SwiGLUFeedForward( + dim=hidden_size, + hidden_dim=mlp_hidden_dim, + multiple_of=256, + ) + self.scale_mod_only = scale_mod_only + if not scale_mod_only: + n_mods = 6 if not pre_only else 2 + else: + n_mods = 4 if not pre_only else 1 + self.adaLN_modulation = nn.Sequential(nn.SiLU(), nn.Linear(hidden_size, n_mods * hidden_size)) + self.pre_only = pre_only + + def pre_attention(self, x: torch.Tensor, c: torch.Tensor) -> torch.Tensor: + if not self.pre_only: + if not self.scale_mod_only: + ( + shift_msa, + scale_msa, + gate_msa, + shift_mlp, + scale_mlp, + gate_mlp, + ) = self.adaLN_modulation( + c + ).chunk(6, dim=-1) + else: + shift_msa = None + shift_mlp = None + ( + scale_msa, + gate_msa, + scale_mlp, + gate_mlp, + ) = self.adaLN_modulation( + c + ).chunk(4, dim=-1) + qkv = self.attn.pre_attention(modulate(self.norm1(x), shift_msa, scale_msa)) + return qkv, ( + x, + gate_msa, + shift_mlp, + scale_mlp, + gate_mlp, + ) + else: + if not self.scale_mod_only: + ( + shift_msa, + scale_msa, + ) = self.adaLN_modulation( + c + ).chunk(2, dim=-1) + else: + shift_msa = None + scale_msa = self.adaLN_modulation(c) + qkv = self.attn.pre_attention(modulate(self.norm1(x), shift_msa, scale_msa)) + return qkv, None + + def post_attention(self, attn, x, gate_msa, shift_mlp, scale_mlp, gate_mlp): + assert not self.pre_only + x = x + gate_msa.unsqueeze(1) * self.attn.post_attention(attn) + x = x + gate_mlp.unsqueeze(1) * self.mlp(modulate(self.norm2(x), shift_mlp, scale_mlp)) + return x + + +# JointBlock + block_mixing in mmdit.py +class MMDiTBlock(nn.Module): + def __init__(self, *args, **kwargs): + super().__init__() + pre_only = kwargs.pop("pre_only") + self.context_block = SingleDiTBlock(*args, pre_only=pre_only, **kwargs) + self.x_block = SingleDiTBlock(*args, pre_only=False, **kwargs) + self.head_dim = self.x_block.attn.head_dim + self.mode = self.x_block.attn_mode + self.gradient_checkpointing = False + + def enable_gradient_checkpointing(self): + self.gradient_checkpointing = True + + def _forward(self, context, x, c): + ctx_qkv, ctx_intermediate = self.context_block.pre_attention(context, c) + x_qkv, x_intermediate = self.x_block.pre_attention(x, c) + + ctx_len = ctx_qkv[0].size(1) + + q = torch.concat((ctx_qkv[0], x_qkv[0]), dim=1) + k = torch.concat((ctx_qkv[1], x_qkv[1]), dim=1) + v = torch.concat((ctx_qkv[2], x_qkv[2]), dim=1) + + attn = attention(q, k, v, head_dim=self.head_dim, mode=self.mode) + ctx_attn_out = attn[:, :ctx_len] + x_attn_out = attn[:, ctx_len:] + + x = self.x_block.post_attention(x_attn_out, *x_intermediate) + if not self.context_block.pre_only: + context = self.context_block.post_attention(ctx_attn_out, *ctx_intermediate) + else: + context = None + return context, x + + def forward(self, *args, **kwargs): + if self.training and self.gradient_checkpointing: + return checkpoint(self._forward, *args, use_reentrant=False, **kwargs) + else: + return self._forward(*args, **kwargs) + + +class MMDiT(nn.Module): + """ + Diffusion model with a Transformer backbone. + """ + + def __init__( + self, + input_size: int = 32, + patch_size: int = 2, + in_channels: int = 4, + depth: int = 28, + # hidden_size: Optional[int] = None, + # num_heads: Optional[int] = None, + mlp_ratio: float = 4.0, + learn_sigma: bool = False, + adm_in_channels: Optional[int] = None, + context_embedder_config: Optional[Dict] = None, + use_checkpoint: bool = False, + register_length: int = 0, + attn_mode: str = "torch", + rmsnorm: bool = False, + scale_mod_only: bool = False, + swiglu: bool = False, + out_channels: Optional[int] = None, + pos_embed_scaling_factor: Optional[float] = None, + pos_embed_offset: Optional[float] = None, + pos_embed_max_size: Optional[int] = None, + num_patches=None, + qk_norm: Optional[str] = None, + qkv_bias: bool = True, + context_processor_layers=None, + context_size=4096, + ): + super().__init__() + self.learn_sigma = learn_sigma + self.in_channels = in_channels + default_out_channels = in_channels * 2 if learn_sigma else in_channels + self.out_channels = default(out_channels, default_out_channels) + self.patch_size = patch_size + self.pos_embed_scaling_factor = pos_embed_scaling_factor + self.pos_embed_offset = pos_embed_offset + self.pos_embed_max_size = pos_embed_max_size + self.gradient_checkpointing = use_checkpoint + + # hidden_size = default(hidden_size, 64 * depth) + # num_heads = default(num_heads, hidden_size // 64) + + # apply magic --> this defines a head_size of 64 + self.hidden_size = 64 * depth + num_heads = depth + + self.num_heads = num_heads + + self.x_embedder = PatchEmbed( + input_size, + patch_size, + in_channels, + self.hidden_size, + bias=True, + strict_img_size=self.pos_embed_max_size is None, + ) + self.t_embedder = TimestepEmbedding(self.hidden_size) + + self.y_embedder = None + if adm_in_channels is not None: + assert isinstance(adm_in_channels, int) + self.y_embedder = Embedder(adm_in_channels, self.hidden_size) + + if context_processor_layers is not None: + self.context_processor = Transformer(context_size, context_processor_layers, attn_mode) + else: + self.context_processor = None + + self.context_embedder = nn.Linear(context_size, self.hidden_size) + self.register_length = register_length + if self.register_length > 0: + self.register = nn.Parameter(torch.randn(1, register_length, self.hidden_size)) + + # num_patches = self.x_embedder.num_patches + # Will use fixed sin-cos embedding: + # just use a buffer already + if num_patches is not None: + self.register_buffer( + "pos_embed", + torch.empty(1, num_patches, self.hidden_size), + ) + else: + self.pos_embed = None + + self.use_checkpoint = use_checkpoint + self.joint_blocks = nn.ModuleList( + [ + MMDiTBlock( + self.hidden_size, + num_heads, + mlp_ratio=mlp_ratio, + attn_mode=attn_mode, + qkv_bias=qkv_bias, + pre_only=i == depth - 1, + rmsnorm=rmsnorm, + scale_mod_only=scale_mod_only, + swiglu=swiglu, + qk_norm=qk_norm, + ) + for i in range(depth) + ] + ) + for block in self.joint_blocks: + block.gradient_checkpointing = use_checkpoint + + self.final_layer = UnPatch(self.hidden_size, patch_size, self.out_channels) + # self.initialize_weights() + + def enable_gradient_checkpointing(self): + self.gradient_checkpointing = True + for block in self.joint_blocks: + block.enable_gradient_checkpointing() + + def disable_gradient_checkpointing(self): + self.gradient_checkpointing = False + for block in self.joint_blocks: + block.disable_gradient_checkpointing() + + def initialize_weights(self): + # TODO: Init context_embedder? + # Initialize transformer layers: + def _basic_init(module): + if isinstance(module, nn.Linear): + torch.nn.init.xavier_uniform_(module.weight) + if module.bias is not None: + nn.init.constant_(module.bias, 0) + + self.apply(_basic_init) + + # Initialize (and freeze) pos_embed by sin-cos embedding + if self.pos_embed is not None: + pos_embed = get_2d_sincos_pos_embed( + self.pos_embed.shape[-1], + int(self.pos_embed.shape[-2] ** 0.5), + scaling_factor=self.pos_embed_scaling_factor, + ) + self.pos_embed.data.copy_(torch.from_numpy(pos_embed).float().unsqueeze(0)) + + # Initialize patch_embed like nn.Linear (instead of nn.Conv2d) + w = self.x_embedder.proj.weight.data + nn.init.xavier_uniform_(w.view([w.shape[0], -1])) + nn.init.constant_(self.x_embedder.proj.bias, 0) + + if getattr(self, "y_embedder", None) is not None: + nn.init.normal_(self.y_embedder.mlp[0].weight, std=0.02) + nn.init.normal_(self.y_embedder.mlp[2].weight, std=0.02) + + # Initialize timestep embedding MLP: + nn.init.normal_(self.t_embedder.mlp[0].weight, std=0.02) + nn.init.normal_(self.t_embedder.mlp[2].weight, std=0.02) + + # Zero-out adaLN modulation layers in DiT blocks: + for block in self.joint_blocks: + nn.init.constant_(block.x_block.adaLN_modulation[-1].weight, 0) + nn.init.constant_(block.x_block.adaLN_modulation[-1].bias, 0) + nn.init.constant_(block.context_block.adaLN_modulation[-1].weight, 0) + nn.init.constant_(block.context_block.adaLN_modulation[-1].bias, 0) + + # Zero-out output layers: + nn.init.constant_(self.final_layer.adaLN_modulation[-1].weight, 0) + nn.init.constant_(self.final_layer.adaLN_modulation[-1].bias, 0) + nn.init.constant_(self.final_layer.linear.weight, 0) + nn.init.constant_(self.final_layer.linear.bias, 0) + + def cropped_pos_embed(self, h, w, device=None): + p = self.x_embedder.patch_size + # patched size + h = (h + 1) // p + w = (w + 1) // p + if self.pos_embed is None: + return get_2d_sincos_pos_embed_torch(self.hidden_size, w, h, device=device) + assert self.pos_embed_max_size is not None + assert h <= self.pos_embed_max_size, (h, self.pos_embed_max_size) + assert w <= self.pos_embed_max_size, (w, self.pos_embed_max_size) + top = (self.pos_embed_max_size - h) // 2 + left = (self.pos_embed_max_size - w) // 2 + spatial_pos_embed = self.pos_embed.reshape( + 1, + self.pos_embed_max_size, + self.pos_embed_max_size, + self.pos_embed.shape[-1], + ) + spatial_pos_embed = spatial_pos_embed[:, top : top + h, left : left + w, :] + spatial_pos_embed = spatial_pos_embed.reshape(1, -1, spatial_pos_embed.shape[-1]) + return spatial_pos_embed + + def forward( + self, + x: torch.Tensor, + t: torch.Tensor, + y: Optional[torch.Tensor] = None, + context: Optional[torch.Tensor] = None, + ) -> torch.Tensor: + """ + Forward pass of DiT. + x: (N, C, H, W) tensor of spatial inputs (images or latent representations of images) + t: (N,) tensor of diffusion timesteps + y: (N, D) tensor of class labels + """ + + if self.context_processor is not None: + context = self.context_processor(context) + + B, C, H, W = x.shape + x = self.x_embedder(x) + self.cropped_pos_embed(H, W, device=x.device).to(dtype=x.dtype) + c = self.t_embedder(t, dtype=x.dtype) # (N, D) + if y is not None and self.y_embedder is not None: + y = self.y_embedder(y) # (N, D) + c = c + y # (N, D) + + if context is not None: + context = self.context_embedder(context) + + if self.register_length > 0: + context = torch.cat( + ( + einops.repeat(self.register, "1 ... -> b ...", b=x.shape[0]), + default(context, torch.Tensor([]).type_as(x)), + ), + 1, + ) + + for block in self.joint_blocks: + context, x = block(context, x, c) + x = self.final_layer(x, c, H, W) # Our final layer combined UnPatchify + return x[:, :, :H, :W] + + +def create_mmdit_sd3_medium_configs(attn_mode: str): + # {'patch_size': 2, 'depth': 24, 'num_patches': 36864, + # 'pos_embed_max_size': 192, 'adm_in_channels': 2048, 'context_embedder': + # {'target': 'torch.nn.Linear', 'params': {'in_features': 4096, 'out_features': 1536}}} + mmdit = MMDiT( + input_size=None, + pos_embed_max_size=192, + patch_size=2, + in_channels=16, + adm_in_channels=2048, + depth=24, + mlp_ratio=4, + qk_norm=None, + num_patches=36864, + context_size=4096, + attn_mode=attn_mode, + ) + return mmdit + + +# endregion + +# region VAE + + +def Normalize(in_channels, num_groups=32, dtype=torch.float32, device=None): + return torch.nn.GroupNorm(num_groups=num_groups, num_channels=in_channels, eps=1e-6, affine=True, dtype=dtype, device=device) + + +class ResnetBlock(torch.nn.Module): + def __init__(self, *, in_channels, out_channels=None, dtype=torch.float32, device=None): + super().__init__() + self.in_channels = in_channels + out_channels = in_channels if out_channels is None else out_channels + self.out_channels = out_channels + + self.norm1 = Normalize(in_channels, dtype=dtype, device=device) + self.conv1 = torch.nn.Conv2d(in_channels, out_channels, kernel_size=3, stride=1, padding=1, dtype=dtype, device=device) + self.norm2 = Normalize(out_channels, dtype=dtype, device=device) + self.conv2 = torch.nn.Conv2d(out_channels, out_channels, kernel_size=3, stride=1, padding=1, dtype=dtype, device=device) + if self.in_channels != self.out_channels: + self.nin_shortcut = torch.nn.Conv2d( + in_channels, out_channels, kernel_size=1, stride=1, padding=0, dtype=dtype, device=device + ) + else: + self.nin_shortcut = None + self.swish = torch.nn.SiLU(inplace=True) + + def forward(self, x): + hidden = x + hidden = self.norm1(hidden) + hidden = self.swish(hidden) + hidden = self.conv1(hidden) + hidden = self.norm2(hidden) + hidden = self.swish(hidden) + hidden = self.conv2(hidden) + if self.in_channels != self.out_channels: + x = self.nin_shortcut(x) + return x + hidden + + +class AttnBlock(torch.nn.Module): + def __init__(self, in_channels, dtype=torch.float32, device=None): + super().__init__() + self.norm = Normalize(in_channels, dtype=dtype, device=device) + self.q = torch.nn.Conv2d(in_channels, in_channels, kernel_size=1, stride=1, padding=0, dtype=dtype, device=device) + self.k = torch.nn.Conv2d(in_channels, in_channels, kernel_size=1, stride=1, padding=0, dtype=dtype, device=device) + self.v = torch.nn.Conv2d(in_channels, in_channels, kernel_size=1, stride=1, padding=0, dtype=dtype, device=device) + self.proj_out = torch.nn.Conv2d(in_channels, in_channels, kernel_size=1, stride=1, padding=0, dtype=dtype, device=device) + + def forward(self, x): + hidden = self.norm(x) + q = self.q(hidden) + k = self.k(hidden) + v = self.v(hidden) + b, c, h, w = q.shape + q, k, v = map(lambda x: einops.rearrange(x, "b c h w -> b 1 (h w) c").contiguous(), (q, k, v)) + hidden = torch.nn.functional.scaled_dot_product_attention(q, k, v) # scale is dim ** -0.5 per default + hidden = einops.rearrange(hidden, "b 1 (h w) c -> b c h w", h=h, w=w, c=c, b=b) + hidden = self.proj_out(hidden) + return x + hidden + + +class Downsample(torch.nn.Module): + def __init__(self, in_channels, dtype=torch.float32, device=None): + super().__init__() + self.conv = torch.nn.Conv2d(in_channels, in_channels, kernel_size=3, stride=2, padding=0, dtype=dtype, device=device) + + def forward(self, x): + pad = (0, 1, 0, 1) + x = torch.nn.functional.pad(x, pad, mode="constant", value=0) + x = self.conv(x) + return x + + +class Upsample(torch.nn.Module): + def __init__(self, in_channels, dtype=torch.float32, device=None): + super().__init__() + self.conv = torch.nn.Conv2d(in_channels, in_channels, kernel_size=3, stride=1, padding=1, dtype=dtype, device=device) + + def forward(self, x): + x = torch.nn.functional.interpolate(x, scale_factor=2.0, mode="nearest") + x = self.conv(x) + return x + + +class VAEEncoder(torch.nn.Module): + def __init__( + self, ch=128, ch_mult=(1, 2, 4, 4), num_res_blocks=2, in_channels=3, z_channels=16, dtype=torch.float32, device=None + ): + super().__init__() + self.num_resolutions = len(ch_mult) + self.num_res_blocks = num_res_blocks + # downsampling + self.conv_in = torch.nn.Conv2d(in_channels, ch, kernel_size=3, stride=1, padding=1, dtype=dtype, device=device) + in_ch_mult = (1,) + tuple(ch_mult) + self.in_ch_mult = in_ch_mult + self.down = torch.nn.ModuleList() + for i_level in range(self.num_resolutions): + block = torch.nn.ModuleList() + attn = torch.nn.ModuleList() + block_in = ch * in_ch_mult[i_level] + block_out = ch * ch_mult[i_level] + for i_block in range(num_res_blocks): + block.append(ResnetBlock(in_channels=block_in, out_channels=block_out, dtype=dtype, device=device)) + block_in = block_out + down = torch.nn.Module() + down.block = block + down.attn = attn + if i_level != self.num_resolutions - 1: + down.downsample = Downsample(block_in, dtype=dtype, device=device) + self.down.append(down) + # middle + self.mid = torch.nn.Module() + self.mid.block_1 = ResnetBlock(in_channels=block_in, out_channels=block_in, dtype=dtype, device=device) + self.mid.attn_1 = AttnBlock(block_in, dtype=dtype, device=device) + self.mid.block_2 = ResnetBlock(in_channels=block_in, out_channels=block_in, dtype=dtype, device=device) + # end + self.norm_out = Normalize(block_in, dtype=dtype, device=device) + self.conv_out = torch.nn.Conv2d(block_in, 2 * z_channels, kernel_size=3, stride=1, padding=1, dtype=dtype, device=device) + self.swish = torch.nn.SiLU(inplace=True) + + def forward(self, x): + # downsampling + hs = [self.conv_in(x)] + for i_level in range(self.num_resolutions): + for i_block in range(self.num_res_blocks): + h = self.down[i_level].block[i_block](hs[-1]) + hs.append(h) + if i_level != self.num_resolutions - 1: + hs.append(self.down[i_level].downsample(hs[-1])) + # middle + h = hs[-1] + h = self.mid.block_1(h) + h = self.mid.attn_1(h) + h = self.mid.block_2(h) + # end + h = self.norm_out(h) + h = self.swish(h) + h = self.conv_out(h) + return h + + +class VAEDecoder(torch.nn.Module): + def __init__( + self, + ch=128, + out_ch=3, + ch_mult=(1, 2, 4, 4), + num_res_blocks=2, + resolution=256, + z_channels=16, + dtype=torch.float32, + device=None, + ): + super().__init__() + self.num_resolutions = len(ch_mult) + self.num_res_blocks = num_res_blocks + block_in = ch * ch_mult[self.num_resolutions - 1] + curr_res = resolution // 2 ** (self.num_resolutions - 1) + # z to block_in + self.conv_in = torch.nn.Conv2d(z_channels, block_in, kernel_size=3, stride=1, padding=1, dtype=dtype, device=device) + # middle + self.mid = torch.nn.Module() + self.mid.block_1 = ResnetBlock(in_channels=block_in, out_channels=block_in, dtype=dtype, device=device) + self.mid.attn_1 = AttnBlock(block_in, dtype=dtype, device=device) + self.mid.block_2 = ResnetBlock(in_channels=block_in, out_channels=block_in, dtype=dtype, device=device) + # upsampling + self.up = torch.nn.ModuleList() + for i_level in reversed(range(self.num_resolutions)): + block = torch.nn.ModuleList() + block_out = ch * ch_mult[i_level] + for i_block in range(self.num_res_blocks + 1): + block.append(ResnetBlock(in_channels=block_in, out_channels=block_out, dtype=dtype, device=device)) + block_in = block_out + up = torch.nn.Module() + up.block = block + if i_level != 0: + up.upsample = Upsample(block_in, dtype=dtype, device=device) + curr_res = curr_res * 2 + self.up.insert(0, up) # prepend to get consistent order + # end + self.norm_out = Normalize(block_in, dtype=dtype, device=device) + self.conv_out = torch.nn.Conv2d(block_in, out_ch, kernel_size=3, stride=1, padding=1, dtype=dtype, device=device) + self.swish = torch.nn.SiLU(inplace=True) + + def forward(self, z): + # z to block_in + hidden = self.conv_in(z) + # middle + hidden = self.mid.block_1(hidden) + hidden = self.mid.attn_1(hidden) + hidden = self.mid.block_2(hidden) + # upsampling + for i_level in reversed(range(self.num_resolutions)): + for i_block in range(self.num_res_blocks + 1): + hidden = self.up[i_level].block[i_block](hidden) + if i_level != 0: + hidden = self.up[i_level].upsample(hidden) + # end + hidden = self.norm_out(hidden) + hidden = self.swish(hidden) + hidden = self.conv_out(hidden) + return hidden + + +class SDVAE(torch.nn.Module): + def __init__(self, dtype=torch.float32, device=None): + super().__init__() + self.encoder = VAEEncoder(dtype=dtype, device=device) + self.decoder = VAEDecoder(dtype=dtype, device=device) + + @torch.autocast("cuda", dtype=torch.float16) + def decode(self, latent): + return self.decoder(latent) + + @torch.autocast("cuda", dtype=torch.float16) + def encode(self, image): + hidden = self.encoder(image) + mean, logvar = torch.chunk(hidden, 2, dim=1) + logvar = torch.clamp(logvar, -30.0, 20.0) + std = torch.exp(0.5 * logvar) + return mean + std * torch.randn_like(mean) + + +# endregion + + +# region Text Encoder +class CLIPAttention(torch.nn.Module): + def __init__(self, embed_dim, heads, dtype, device, mode="xformers"): + super().__init__() + self.heads = heads + self.q_proj = nn.Linear(embed_dim, embed_dim, bias=True, dtype=dtype, device=device) + self.k_proj = nn.Linear(embed_dim, embed_dim, bias=True, dtype=dtype, device=device) + self.v_proj = nn.Linear(embed_dim, embed_dim, bias=True, dtype=dtype, device=device) + self.out_proj = nn.Linear(embed_dim, embed_dim, bias=True, dtype=dtype, device=device) + self.attn_mode = mode + + def set_attn_mode(self, mode): + self.attn_mode = mode + + def forward(self, x, mask=None): + q = self.q_proj(x) + k = self.k_proj(x) + v = self.v_proj(x) + out = attention(q, k, v, self.heads, mask, mode=self.attn_mode) + return self.out_proj(out) + + +ACTIVATIONS = { + "quick_gelu": lambda: (lambda a: a * torch.sigmoid(1.702 * a)), + # "gelu": torch.nn.functional.gelu, + "gelu": lambda: nn.GELU(), +} + + +class CLIPLayer(torch.nn.Module): + def __init__(self, embed_dim, heads, intermediate_size, intermediate_activation, dtype, device): + super().__init__() + self.layer_norm1 = nn.LayerNorm(embed_dim, dtype=dtype, device=device) + self.self_attn = CLIPAttention(embed_dim, heads, dtype, device) + self.layer_norm2 = nn.LayerNorm(embed_dim, dtype=dtype, device=device) + # # self.mlp = CLIPMLP(embed_dim, intermediate_size, intermediate_activation, dtype, device) + # self.mlp = Mlp( + # embed_dim, intermediate_size, embed_dim, act_layer=ACTIVATIONS[intermediate_activation], dtype=dtype, device=device + # ) + self.mlp = MLP(embed_dim, intermediate_size, embed_dim, act_layer=ACTIVATIONS[intermediate_activation]) + self.mlp.to(device=device, dtype=dtype) + + def forward(self, x, mask=None): + x += self.self_attn(self.layer_norm1(x), mask) + x += self.mlp(self.layer_norm2(x)) + return x + + +class CLIPEncoder(torch.nn.Module): + def __init__(self, num_layers, embed_dim, heads, intermediate_size, intermediate_activation, dtype, device): + super().__init__() + self.layers = torch.nn.ModuleList( + [CLIPLayer(embed_dim, heads, intermediate_size, intermediate_activation, dtype, device) for i in range(num_layers)] + ) + + def forward(self, x, mask=None, intermediate_output=None): + if intermediate_output is not None: + if intermediate_output < 0: + intermediate_output = len(self.layers) + intermediate_output + intermediate = None + for i, l in enumerate(self.layers): + x = l(x, mask) + if i == intermediate_output: + intermediate = x.clone() + return x, intermediate + + +class CLIPEmbeddings(torch.nn.Module): + def __init__(self, embed_dim, vocab_size=49408, num_positions=77, dtype=None, device=None): + super().__init__() + self.token_embedding = torch.nn.Embedding(vocab_size, embed_dim, dtype=dtype, device=device) + self.position_embedding = torch.nn.Embedding(num_positions, embed_dim, dtype=dtype, device=device) + + def forward(self, input_tokens): + return self.token_embedding(input_tokens) + self.position_embedding.weight + + +class CLIPTextModel_(torch.nn.Module): + def __init__(self, config_dict, dtype, device): + num_layers = config_dict["num_hidden_layers"] + embed_dim = config_dict["hidden_size"] + heads = config_dict["num_attention_heads"] + intermediate_size = config_dict["intermediate_size"] + intermediate_activation = config_dict["hidden_act"] + super().__init__() + self.embeddings = CLIPEmbeddings(embed_dim, dtype=torch.float32, device=device) + self.encoder = CLIPEncoder(num_layers, embed_dim, heads, intermediate_size, intermediate_activation, dtype, device) + self.final_layer_norm = nn.LayerNorm(embed_dim, dtype=dtype, device=device) + + def forward(self, input_tokens, intermediate_output=None, final_layer_norm_intermediate=True): + x = self.embeddings(input_tokens) + + if x.dtype == torch.bfloat16: + causal_mask = torch.empty(x.shape[1], x.shape[1], dtype=torch.float32, device=x.device).fill_(float("-inf")).triu_(1) + causal_mask = causal_mask.to(dtype=x.dtype) + else: + causal_mask = torch.empty(x.shape[1], x.shape[1], dtype=x.dtype, device=x.device).fill_(float("-inf")).triu_(1) + + x, i = self.encoder(x, mask=causal_mask, intermediate_output=intermediate_output) + x = self.final_layer_norm(x) + if i is not None and final_layer_norm_intermediate: + i = self.final_layer_norm(i) + pooled_output = x[ + torch.arange(x.shape[0], device=x.device), + input_tokens.to(dtype=torch.int, device=x.device).argmax(dim=-1), + ] + return x, i, pooled_output + + +class CLIPTextModel(torch.nn.Module): + def __init__(self, config_dict, dtype, device): + super().__init__() + self.num_layers = config_dict["num_hidden_layers"] + self.text_model = CLIPTextModel_(config_dict, dtype, device) + embed_dim = config_dict["hidden_size"] + self.text_projection = nn.Linear(embed_dim, embed_dim, bias=False, dtype=dtype, device=device) + self.text_projection.weight.copy_(torch.eye(embed_dim)) + self.dtype = dtype + + def get_input_embeddings(self): + return self.text_model.embeddings.token_embedding + + def set_input_embeddings(self, embeddings): + self.text_model.embeddings.token_embedding = embeddings + + def forward(self, *args, **kwargs): + x = self.text_model(*args, **kwargs) + out = self.text_projection(x[2]) + return (x[0], x[1], out, x[2]) + + +class ClipTokenWeightEncoder: + def encode_token_weights(self, token_weight_pairs): + tokens = list(map(lambda a: a[0], token_weight_pairs[0])) + out, pooled = self([tokens]) + if pooled is not None: + first_pooled = pooled[0:1].cpu() + else: + first_pooled = pooled + output = [out[0:1]] + return torch.cat(output, dim=-2).cpu(), first_pooled + + +class SDClipModel(torch.nn.Module, ClipTokenWeightEncoder): + """Uses the CLIP transformer encoder for text (from huggingface)""" + + LAYERS = ["last", "pooled", "hidden"] + + def __init__( + self, + device="cpu", + max_length=77, + layer="last", + layer_idx=None, + textmodel_json_config=None, + dtype=None, + model_class=CLIPTextModel, + special_tokens={"start": 49406, "end": 49407, "pad": 49407}, + layer_norm_hidden_state=True, + return_projected_pooled=True, + ): + super().__init__() + assert layer in self.LAYERS + self.transformer = model_class(textmodel_json_config, dtype, device) + self.num_layers = self.transformer.num_layers + self.max_length = max_length + self.transformer = self.transformer.eval() + for param in self.parameters(): + param.requires_grad = False + self.layer = layer + self.layer_idx = None + self.special_tokens = special_tokens + self.logit_scale = torch.nn.Parameter(torch.tensor(4.6055)) + self.layer_norm_hidden_state = layer_norm_hidden_state + self.return_projected_pooled = return_projected_pooled + if layer == "hidden": + assert layer_idx is not None + assert abs(layer_idx) < self.num_layers + self.set_clip_options({"layer": layer_idx}) + self.options_default = (self.layer, self.layer_idx, self.return_projected_pooled) + + def set_attn_mode(self, mode): + raise NotImplementedError("This model does not support setting the attention mode") + + def set_clip_options(self, options): + layer_idx = options.get("layer", self.layer_idx) + self.return_projected_pooled = options.get("projected_pooled", self.return_projected_pooled) + if layer_idx is None or abs(layer_idx) > self.num_layers: + self.layer = "last" + else: + self.layer = "hidden" + self.layer_idx = layer_idx + + def forward(self, tokens): + backup_embeds = self.transformer.get_input_embeddings() + device = backup_embeds.weight.device + tokens = torch.LongTensor(tokens).to(device) + outputs = self.transformer( + tokens, intermediate_output=self.layer_idx, final_layer_norm_intermediate=self.layer_norm_hidden_state + ) + self.transformer.set_input_embeddings(backup_embeds) + if self.layer == "last": + z = outputs[0] + else: + z = outputs[1] + pooled_output = None + if len(outputs) >= 3: + if not self.return_projected_pooled and len(outputs) >= 4 and outputs[3] is not None: + pooled_output = outputs[3].float() + elif outputs[2] is not None: + pooled_output = outputs[2].float() + return z.float(), pooled_output + + def set_attn_mode(self, mode): + clip_text_model = self.transformer.text_model + for layer in clip_text_model.encoder.layers: + layer.self_attn.set_attn_mode(mode) + + +class SDXLClipG(SDClipModel): + """Wraps the CLIP-G model into the SD-CLIP-Model interface""" + + def __init__(self, config, device="cpu", layer="penultimate", layer_idx=None, dtype=None): + if layer == "penultimate": + layer = "hidden" + layer_idx = -2 + super().__init__( + device=device, + layer=layer, + layer_idx=layer_idx, + textmodel_json_config=config, + dtype=dtype, + special_tokens={"start": 49406, "end": 49407, "pad": 0}, + layer_norm_hidden_state=False, + ) + + def set_attn_mode(self, mode): + clip_text_model = self.transformer.text_model + for layer in clip_text_model.encoder.layers: + layer.self_attn.set_attn_mode(mode) + + +class T5XXLModel(SDClipModel): + """Wraps the T5-XXL model into the SD-CLIP-Model interface for convenience""" + + def __init__(self, config, device="cpu", layer="last", layer_idx=None, dtype=None): + super().__init__( + device=device, + layer=layer, + layer_idx=layer_idx, + textmodel_json_config=config, + dtype=dtype, + special_tokens={"end": 1, "pad": 0}, + model_class=T5, + ) + + def set_attn_mode(self, mode): + t5: T5 = self.transformer + for t5block in t5.encoder.block: + t5block: T5Block + t5layer: T5LayerSelfAttention = t5block.layer[0] + t5SaSa: T5Attention = t5layer.SelfAttention + t5SaSa.set_attn_mode(mode) + + +################################################################################################# +### T5 implementation, for the T5-XXL text encoder portion, largely pulled from upstream impl +################################################################################################# + + +class T5XXLTokenizer(SDTokenizer): + """Wraps the T5 Tokenizer from HF into the SDTokenizer interface""" + + def __init__(self): + super().__init__( + pad_with_end=False, + tokenizer=T5TokenizerFast.from_pretrained("google/t5-v1_1-xxl"), + has_start_token=False, + pad_to_max_length=False, + max_length=99999999, + min_length=77, + ) + + +class T5LayerNorm(torch.nn.Module): + def __init__(self, hidden_size, eps=1e-6, dtype=None, device=None): + super().__init__() + self.weight = torch.nn.Parameter(torch.ones(hidden_size, dtype=dtype, device=device)) + self.variance_epsilon = eps + + def forward(self, x): + variance = x.pow(2).mean(-1, keepdim=True) + x = x * torch.rsqrt(variance + self.variance_epsilon) + return self.weight.to(device=x.device, dtype=x.dtype) * x + + +class T5DenseGatedActDense(torch.nn.Module): + def __init__(self, model_dim, ff_dim, dtype, device): + super().__init__() + self.wi_0 = nn.Linear(model_dim, ff_dim, bias=False, dtype=dtype, device=device) + self.wi_1 = nn.Linear(model_dim, ff_dim, bias=False, dtype=dtype, device=device) + self.wo = nn.Linear(ff_dim, model_dim, bias=False, dtype=dtype, device=device) + + def forward(self, x): + hidden_gelu = torch.nn.functional.gelu(self.wi_0(x), approximate="tanh") + hidden_linear = self.wi_1(x) + x = hidden_gelu * hidden_linear + x = self.wo(x) + return x + + +class T5LayerFF(torch.nn.Module): + def __init__(self, model_dim, ff_dim, dtype, device): + super().__init__() + self.DenseReluDense = T5DenseGatedActDense(model_dim, ff_dim, dtype, device) + self.layer_norm = T5LayerNorm(model_dim, dtype=dtype, device=device) + + def forward(self, x): + forwarded_states = self.layer_norm(x) + forwarded_states = self.DenseReluDense(forwarded_states) + x += forwarded_states + return x + + +class T5Attention(torch.nn.Module): + def __init__(self, model_dim, inner_dim, num_heads, relative_attention_bias, dtype, device): + super().__init__() + # Mesh TensorFlow initialization to avoid scaling before softmax + self.q = nn.Linear(model_dim, inner_dim, bias=False, dtype=dtype, device=device) + self.k = nn.Linear(model_dim, inner_dim, bias=False, dtype=dtype, device=device) + self.v = nn.Linear(model_dim, inner_dim, bias=False, dtype=dtype, device=device) + self.o = nn.Linear(inner_dim, model_dim, bias=False, dtype=dtype, device=device) + self.num_heads = num_heads + self.relative_attention_bias = None + if relative_attention_bias: + self.relative_attention_num_buckets = 32 + self.relative_attention_max_distance = 128 + self.relative_attention_bias = torch.nn.Embedding(self.relative_attention_num_buckets, self.num_heads, device=device) + + self.attn_mode = "xformers" # TODO 何とかする + + def set_attn_mode(self, mode): + self.attn_mode = mode + + @staticmethod + def _relative_position_bucket(relative_position, bidirectional=True, num_buckets=32, max_distance=128): + """ + Adapted from Mesh Tensorflow: + https://github.com/tensorflow/mesh/blob/0cb87fe07da627bf0b7e60475d59f95ed6b5be3d/mesh_tensorflow/transformer/transformer_layers.py#L593 + + Translate relative position to a bucket number for relative attention. The relative position is defined as + memory_position - query_position, i.e. the distance in tokens from the attending position to the attended-to + position. If bidirectional=False, then positive relative positions are invalid. We use smaller buckets for + small absolute relative_position and larger buckets for larger absolute relative_positions. All relative + positions >=max_distance map to the same bucket. All relative positions <=-max_distance map to the same bucket. + This should allow for more graceful generalization to longer sequences than the model has been trained on + + Args: + relative_position: an int32 Tensor + bidirectional: a boolean - whether the attention is bidirectional + num_buckets: an integer + max_distance: an integer + + Returns: + a Tensor with the same shape as relative_position, containing int32 values in the range [0, num_buckets) + """ + relative_buckets = 0 + if bidirectional: + num_buckets //= 2 + relative_buckets += (relative_position > 0).to(torch.long) * num_buckets + relative_position = torch.abs(relative_position) + else: + relative_position = -torch.min(relative_position, torch.zeros_like(relative_position)) + # now relative_position is in the range [0, inf) + # half of the buckets are for exact increments in positions + max_exact = num_buckets // 2 + is_small = relative_position < max_exact + # The other half of the buckets are for logarithmically bigger bins in positions up to max_distance + relative_position_if_large = max_exact + ( + torch.log(relative_position.float() / max_exact) / math.log(max_distance / max_exact) * (num_buckets - max_exact) + ).to(torch.long) + relative_position_if_large = torch.min( + relative_position_if_large, torch.full_like(relative_position_if_large, num_buckets - 1) + ) + relative_buckets += torch.where(is_small, relative_position, relative_position_if_large) + return relative_buckets + + def compute_bias(self, query_length, key_length, device): + """Compute binned relative position bias""" + context_position = torch.arange(query_length, dtype=torch.long, device=device)[:, None] + memory_position = torch.arange(key_length, dtype=torch.long, device=device)[None, :] + relative_position = memory_position - context_position # shape (query_length, key_length) + relative_position_bucket = self._relative_position_bucket( + relative_position, # shape (query_length, key_length) + bidirectional=True, + num_buckets=self.relative_attention_num_buckets, + max_distance=self.relative_attention_max_distance, + ) + values = self.relative_attention_bias(relative_position_bucket) # shape (query_length, key_length, num_heads) + values = values.permute([2, 0, 1]).unsqueeze(0) # shape (1, num_heads, query_length, key_length) + return values + + def forward(self, x, past_bias=None): + q = self.q(x) + k = self.k(x) + v = self.v(x) + if self.relative_attention_bias is not None: + past_bias = self.compute_bias(x.shape[1], x.shape[1], x.device) + if past_bias is not None: + mask = past_bias + out = attention(q, k * ((k.shape[-1] / self.num_heads) ** 0.5), v, self.num_heads, mask, mode=self.attn_mode) + return self.o(out), past_bias + + +class T5LayerSelfAttention(torch.nn.Module): + def __init__(self, model_dim, inner_dim, ff_dim, num_heads, relative_attention_bias, dtype, device): + super().__init__() + self.SelfAttention = T5Attention(model_dim, inner_dim, num_heads, relative_attention_bias, dtype, device) + self.layer_norm = T5LayerNorm(model_dim, dtype=dtype, device=device) + + def forward(self, x, past_bias=None): + output, past_bias = self.SelfAttention(self.layer_norm(x), past_bias=past_bias) + x += output + return x, past_bias + + +class T5Block(torch.nn.Module): + def __init__(self, model_dim, inner_dim, ff_dim, num_heads, relative_attention_bias, dtype, device): + super().__init__() + self.layer = torch.nn.ModuleList() + self.layer.append(T5LayerSelfAttention(model_dim, inner_dim, ff_dim, num_heads, relative_attention_bias, dtype, device)) + self.layer.append(T5LayerFF(model_dim, ff_dim, dtype, device)) + + def forward(self, x, past_bias=None): + x, past_bias = self.layer[0](x, past_bias) + x = self.layer[-1](x) + return x, past_bias + + +class T5Stack(torch.nn.Module): + def __init__(self, num_layers, model_dim, inner_dim, ff_dim, num_heads, vocab_size, dtype, device): + super().__init__() + self.embed_tokens = torch.nn.Embedding(vocab_size, model_dim, device=device) + self.block = torch.nn.ModuleList( + [ + T5Block(model_dim, inner_dim, ff_dim, num_heads, relative_attention_bias=(i == 0), dtype=dtype, device=device) + for i in range(num_layers) + ] + ) + self.final_layer_norm = T5LayerNorm(model_dim, dtype=dtype, device=device) + + def forward(self, input_ids, intermediate_output=None, final_layer_norm_intermediate=True): + intermediate = None + x = self.embed_tokens(input_ids) + past_bias = None + for i, l in enumerate(self.block): + # print(i, x.mean(), x.std()) + x, past_bias = l(x, past_bias) + if i == intermediate_output: + intermediate = x.clone() + # print(x.mean(), x.std()) + x = self.final_layer_norm(x) + if intermediate is not None and final_layer_norm_intermediate: + intermediate = self.final_layer_norm(intermediate) + # print(x.mean(), x.std()) + return x, intermediate + + +class T5(torch.nn.Module): + def __init__(self, config_dict, dtype, device): + super().__init__() + self.num_layers = config_dict["num_layers"] + self.encoder = T5Stack( + self.num_layers, + config_dict["d_model"], + config_dict["d_model"], + config_dict["d_ff"], + config_dict["num_heads"], + config_dict["vocab_size"], + dtype, + device, + ) + self.dtype = dtype + + def get_input_embeddings(self): + return self.encoder.embed_tokens + + def set_input_embeddings(self, embeddings): + self.encoder.embed_tokens = embeddings + + def forward(self, *args, **kwargs): + return self.encoder(*args, **kwargs) + + +def create_clip_l(device="cpu", dtype=torch.float32, state_dict: Optional[Dict[str, torch.Tensor]] = None): + r""" + state_dict is not loaded, but updated with missing keys + """ + CLIPL_CONFIG = { + "hidden_act": "quick_gelu", + "hidden_size": 768, + "intermediate_size": 3072, + "num_attention_heads": 12, + "num_hidden_layers": 12, + } + with torch.no_grad(): + clip_l = SDClipModel( + layer="hidden", + layer_idx=-2, + device=device, + dtype=dtype, + layer_norm_hidden_state=False, + return_projected_pooled=False, + textmodel_json_config=CLIPL_CONFIG, + ) + if state_dict is not None: + # update state_dict if provided to include logit_scale and text_projection.weight avoid errors + if "logit_scale" not in state_dict: + state_dict["logit_scale"] = clip_l.logit_scale + if "transformer.text_projection.weight" not in state_dict: + state_dict["transformer.text_projection.weight"] = clip_l.transformer.text_projection.weight + return clip_l + + +def create_clip_g(device="cpu", dtype=torch.float32, state_dict: Optional[Dict[str, torch.Tensor]] = None): + r""" + state_dict is not loaded, but updated with missing keys + """ + CLIPG_CONFIG = { + "hidden_act": "gelu", + "hidden_size": 1280, + "intermediate_size": 5120, + "num_attention_heads": 20, + "num_hidden_layers": 32, + } + with torch.no_grad(): + clip_g = SDXLClipG(CLIPG_CONFIG, device=device, dtype=dtype) + if state_dict is not None: + if "logit_scale" not in state_dict: + state_dict["logit_scale"] = clip_g.logit_scale + return clip_g + + +def create_t5xxl(device="cpu", dtype=torch.float32, state_dict: Optional[Dict[str, torch.Tensor]] = None) -> T5XXLModel: + T5_CONFIG = {"d_ff": 10240, "d_model": 4096, "num_heads": 64, "num_layers": 24, "vocab_size": 32128} + with torch.no_grad(): + t5 = T5XXLModel(T5_CONFIG, dtype=dtype, device=device) + if state_dict is not None: + if "logit_scale" not in state_dict: + state_dict["logit_scale"] = t5.logit_scale + if "transformer.shared.weight" in state_dict: + state_dict.pop("transformer.shared.weight") + return t5 + + +# endregion diff --git a/library/sd3_utils.py b/library/sd3_utils.py new file mode 100644 index 000000000..6f8c361fd --- /dev/null +++ b/library/sd3_utils.py @@ -0,0 +1,113 @@ +import math +from typing import Dict +import torch + +from library import sd3_models + + +def get_cond( + prompt: str, + tokenizer: sd3_models.SD3Tokenizer, + clip_l: sd3_models.SDClipModel, + clip_g: sd3_models.SDXLClipG, + t5xxl: sd3_models.T5XXLModel, +): + l_tokens, g_tokens, t5_tokens = tokenizer.tokenize_with_weights(prompt) + l_out, l_pooled = clip_l.encode_token_weights(l_tokens) + g_out, g_pooled = clip_g.encode_token_weights(g_tokens) + lg_out = torch.cat([l_out, g_out], dim=-1) + lg_out = torch.nn.functional.pad(lg_out, (0, 4096 - lg_out.shape[-1])) + + if t5_tokens is None: + t5_out = torch.zeros((lg_out.shape[0], 77, 4096), device=lg_out.device) + else: + t5_out, t5_pooled = t5xxl.encode_token_weights(t5_tokens) # t5_out is [1, 77, 4096], t5_pooled is None + t5_out = t5_out.to(lg_out.dtype) + + return torch.cat([lg_out, t5_out], dim=-2), torch.cat((l_pooled, g_pooled), dim=-1) + + +# used if other sd3 models is available +r""" +def get_sd3_configs(state_dict: Dict): + # Important configuration values can be quickly determined by checking shapes in the source file + # Some of these will vary between models (eg 2B vs 8B primarily differ in their depth, but also other details change) + # prefix = "model.diffusion_model." + prefix = "" + + patch_size = state_dict[prefix + "x_embedder.proj.weight"].shape[2] + depth = state_dict[prefix + "x_embedder.proj.weight"].shape[0] // 64 + num_patches = state_dict[prefix + "pos_embed"].shape[1] + pos_embed_max_size = round(math.sqrt(num_patches)) + adm_in_channels = state_dict[prefix + "y_embedder.mlp.0.weight"].shape[1] + context_shape = state_dict[prefix + "context_embedder.weight"].shape + context_embedder_config = { + "target": "torch.nn.Linear", + "params": {"in_features": context_shape[1], "out_features": context_shape[0]}, + } + return { + "patch_size": patch_size, + "depth": depth, + "num_patches": num_patches, + "pos_embed_max_size": pos_embed_max_size, + "adm_in_channels": adm_in_channels, + "context_embedder": context_embedder_config, + } + + +def create_mmdit_from_sd3_checkpoint(state_dict: Dict, attn_mode: str = "xformers"): + "" + Doesn't load state dict. + "" + sd3_configs = get_sd3_configs(state_dict) + + mmdit = sd3_models.MMDiT( + input_size=None, + pos_embed_max_size=sd3_configs["pos_embed_max_size"], + patch_size=sd3_configs["patch_size"], + in_channels=16, + adm_in_channels=sd3_configs["adm_in_channels"], + depth=sd3_configs["depth"], + mlp_ratio=4, + qk_norm=None, + num_patches=sd3_configs["num_patches"], + context_size=4096, + attn_mode=attn_mode, + ) + return mmdit +""" + + +class ModelSamplingDiscreteFlow: + """Helper for sampler scheduling (ie timestep/sigma calculations) for Discrete Flow models""" + + def __init__(self, shift=1.0): + self.shift = shift + timesteps = 1000 + self.sigmas = self.sigma(torch.arange(1, timesteps + 1, 1)) + + @property + def sigma_min(self): + return self.sigmas[0] + + @property + def sigma_max(self): + return self.sigmas[-1] + + def timestep(self, sigma): + return sigma * 1000 + + def sigma(self, timestep: torch.Tensor): + timestep = timestep / 1000.0 + if self.shift == 1.0: + return timestep + return self.shift * timestep / (1 + (self.shift - 1) * timestep) + + def calculate_denoised(self, sigma, model_output, model_input): + sigma = sigma.view(sigma.shape[:1] + (1,) * (model_output.ndim - 1)) + return model_input - model_output * sigma + + def noise_scaling(self, sigma, noise, latent_image, max_denoise=False): + # assert max_denoise is False, "max_denoise not implemented" + # max_denoise is always True, I'm not sure why it's there + return sigma * noise + (1.0 - sigma) * latent_image diff --git a/sd3_minimal_inference.py b/sd3_minimal_inference.py new file mode 100644 index 000000000..e14f784d4 --- /dev/null +++ b/sd3_minimal_inference.py @@ -0,0 +1,347 @@ +# Minimum Inference Code for SD3 + +import argparse +import datetime +import math +import os +import random +from typing import Optional, Tuple +import numpy as np + +import torch +from safetensors.torch import safe_open, load_file +from tqdm import tqdm +from PIL import Image + +from library.device_utils import init_ipex, get_preferred_device + +init_ipex() + +from library.utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + +from library import sd3_models, sd3_utils + + +def get_noise(seed, latent): + generator = torch.manual_seed(seed) + return torch.randn(latent.size(), dtype=torch.float32, layout=latent.layout, generator=generator, device="cpu").to(latent.dtype) + + +def get_sigmas(sampling: sd3_utils.ModelSamplingDiscreteFlow, steps): + start = sampling.timestep(sampling.sigma_max) + end = sampling.timestep(sampling.sigma_min) + timesteps = torch.linspace(start, end, steps) + sigs = [] + for x in range(len(timesteps)): + ts = timesteps[x] + sigs.append(sampling.sigma(ts)) + sigs += [0.0] + return torch.FloatTensor(sigs) + + +def max_denoise(model_sampling, sigmas): + max_sigma = float(model_sampling.sigma_max) + sigma = float(sigmas[0]) + return math.isclose(max_sigma, sigma, rel_tol=1e-05) or sigma > max_sigma + + +def do_sample( + height: int, + width: int, + initial_latent: Optional[torch.Tensor], + seed: int, + cond: Tuple[torch.Tensor, torch.Tensor], + neg_cond: Tuple[torch.Tensor, torch.Tensor], + mmdit: sd3_models.MMDiT, + steps: int, + guidance_scale: float, + dtype: torch.dtype, + device: str, +): + if initial_latent is None: + latent = torch.ones(1, 16, height // 8, width // 8, device=device) * 0.0609 + else: + latent = initial_latent + + latent = latent.to(dtype).to(device) + + noise = get_noise(seed, latent).to(device) + + model_sampling = sd3_utils.ModelSamplingDiscreteFlow() + + sigmas = get_sigmas(model_sampling, steps).to(device) + # sigmas = sigmas[int(steps * (1 - denoise)) :] # do not support i2i + + # conditioning = fix_cond(conditioning) + # neg_cond = fix_cond(neg_cond) + # extra_args = {"cond": cond, "uncond": neg_cond, "cond_scale": guidance_scale} + + noise_scaled = model_sampling.noise_scaling(sigmas[0], noise, latent, max_denoise(model_sampling, sigmas)) + + c_crossattn = torch.cat([cond[0], neg_cond[0]]).to(device).to(dtype) + y = torch.cat([cond[1], neg_cond[1]]).to(device).to(dtype) + + x = noise_scaled.to(device).to(dtype) + # print(x.shape) + + with torch.no_grad(): + for i in tqdm(range(len(sigmas) - 1)): + sigma_hat = sigmas[i] + + timestep = model_sampling.timestep(sigma_hat).float() + timestep = torch.FloatTensor([timestep, timestep]).to(device) + + x_c_nc = torch.cat([x, x], dim=0) + # print(x_c_nc.shape, timestep.shape, c_crossattn.shape, y.shape) + + model_output = mmdit(x_c_nc, timestep, context=c_crossattn, y=y) + model_output = model_output.float() + batched = model_sampling.calculate_denoised(sigma_hat, model_output, x) + + pos_out, neg_out = batched.chunk(2) + denoised = neg_out + (pos_out - neg_out) * guidance_scale + # print(denoised.shape) + + # d = to_d(x, sigma_hat, denoised) + dims_to_append = x.ndim - sigma_hat.ndim + sigma_hat_dims = sigma_hat[(...,) + (None,) * dims_to_append] + # print(dims_to_append, x.shape, sigma_hat.shape, denoised.shape, sigma_hat_dims.shape) + """Converts a denoiser output to a Karras ODE derivative.""" + d = (x - denoised) / sigma_hat_dims + + dt = sigmas[i + 1] - sigma_hat + + # Euler method + x = x + d * dt + x = x.to(dtype) + + latent = x + scale_factor = 1.5305 + shift_factor = 0.0609 + # def process_out(self, latent): + # return (latent / self.scale_factor) + self.shift_factor + latent = (latent / scale_factor) + shift_factor + return latent + + +if __name__ == "__main__": + target_height = 1024 + target_width = 1024 + + # steps = 50 # 28 # 50 + guidance_scale = 5 + # seed = 1 # None # 1 + + device = get_preferred_device() + + parser = argparse.ArgumentParser() + parser.add_argument("--ckpt_path", type=str, required=True) + parser.add_argument("--clip_g", type=str, required=False) + parser.add_argument("--clip_l", type=str, required=False) + parser.add_argument("--t5xxl", type=str, required=False) + parser.add_argument("--prompt", type=str, default="A photo of a cat") + # parser.add_argument("--prompt2", type=str, default=None) # do not support different prompts for text encoders + parser.add_argument("--negative_prompt", type=str, default="") + parser.add_argument("--output_dir", type=str, default=".") + parser.add_argument("--do_not_use_t5xxl", action="store_true") + parser.add_argument("--attn_mode", type=str, default="torch", help="torch (SDPA) or xformers. default: torch") + parser.add_argument("--fp16", action="store_true") + parser.add_argument("--bf16", action="store_true") + parser.add_argument("--seed", type=int, default=1) + parser.add_argument("--steps", type=int, default=50) + # parser.add_argument( + # "--lora_weights", + # type=str, + # nargs="*", + # default=[], + # help="LoRA weights, only supports networks.lora, each argument is a `path;multiplier` (semi-colon separated)", + # ) + # parser.add_argument("--interactive", action="store_true") + args = parser.parse_args() + + seed = args.seed + steps = args.steps + + sd3_dtype = torch.float32 + if args.fp16: + sd3_dtype = torch.float16 + elif args.bf16: + sd3_dtype = torch.bfloat16 + + # TODO test with separated safetenors files for each model + + # load state dict + logger.info(f"Loading SD3 models from {args.ckpt_path}...") + state_dict = load_file(args.ckpt_path) + + if "text_encoders.clip_g.transformer.text_model.embeddings.position_embedding.weight" in state_dict: + # found clip_g: remove prefix "text_encoders.clip_g." + logger.info("clip_g is included in the checkpoint") + clip_g_sd = {} + prefix = "text_encoders.clip_g." + for k, v in list(state_dict.items()): + if k.startswith(prefix): + clip_g_sd[k[len(prefix) :]] = state_dict.pop(k) + else: + logger.info(f"Lodaing clip_g from {args.clip_g}...") + clip_g_sd = load_file(args.clip_g) + for key in list(clip_g_sd.keys()): + clip_g_sd["transformer." + key] = clip_g_sd.pop(key) + + if "text_encoders.clip_l.transformer.text_model.embeddings.position_embedding.weight" in state_dict: + # found clip_l: remove prefix "text_encoders.clip_l." + logger.info("clip_l is included in the checkpoint") + clip_l_sd = {} + prefix = "text_encoders.clip_l." + for k, v in list(state_dict.items()): + if k.startswith(prefix): + clip_l_sd[k[len(prefix) :]] = state_dict.pop(k) + else: + logger.info(f"Lodaing clip_l from {args.clip_l}...") + clip_l_sd = load_file(args.clip_l) + for key in list(clip_l_sd.keys()): + clip_l_sd["transformer." + key] = clip_l_sd.pop(key) + + if "text_encoders.t5xxl.transformer.encoder.block.0.layer.0.SelfAttention.k.weight" in state_dict: + # found t5xxl: remove prefix "text_encoders.t5xxl." + logger.info("t5xxl is included in the checkpoint") + if not args.do_not_use_t5xxl: + t5xxl_sd = {} + prefix = "text_encoders.t5xxl." + for k, v in list(state_dict.items()): + if k.startswith(prefix): + t5xxl_sd[k[len(prefix) :]] = state_dict.pop(k) + else: + logger.info("but not used") + for key in list(state_dict.keys()): + if key.startswith("text_encoders.t5xxl."): + state_dict.pop(key) + t5xxl_sd = None + elif args.t5xxl: + assert not args.do_not_use_t5xxl, "t5xxl is not used but specified" + logger.info(f"Lodaing t5xxl from {args.t5xxl}...") + t5xxl_sd = load_file(args.t5xxl) + for key in list(t5xxl_sd.keys()): + t5xxl_sd["transformer." + key] = t5xxl_sd.pop(key) + else: + logger.info("t5xxl is not used") + t5xxl_sd = None + + use_t5xxl = t5xxl_sd is not None + + # MMDiT and VAE + vae_sd = {} + vae_prefix = "first_stage_model." + mmdit_prefix = "model.diffusion_model." + for k, v in list(state_dict.items()): + if k.startswith(vae_prefix): + vae_sd[k[len(vae_prefix) :]] = state_dict.pop(k) + elif k.startswith(mmdit_prefix): + state_dict[k[len(mmdit_prefix) :]] = state_dict.pop(k) + + # load tokenizers + logger.info("Loading tokenizers...") + tokenizer = sd3_models.SD3Tokenizer(use_t5xxl) # combined tokenizer + + # load models + # logger.info("Create MMDiT from SD3 checkpoint...") + # mmdit = sd3_utils.create_mmdit_from_sd3_checkpoint(state_dict) + logger.info("Create MMDiT") + mmdit = sd3_models.create_mmdit_sd3_medium_configs(args.attn_mode) + + logger.info("Loading state dict...") + info = mmdit.load_state_dict(state_dict) + logger.info(f"Loaded MMDiT: {info}") + + logger.info(f"Move MMDiT to {device} and {sd3_dtype}...") + mmdit.to(device, dtype=sd3_dtype) + mmdit.eval() + + # load VAE + logger.info("Create VAE") + vae = sd3_models.SDVAE() + logger.info("Loading state dict...") + info = vae.load_state_dict(vae_sd) + logger.info(f"Loaded VAE: {info}") + + logger.info(f"Move VAE to {device} and {sd3_dtype}...") + vae.to(device, dtype=sd3_dtype) + vae.eval() + + # load text encoders + logger.info("Create clip_l") + clip_l = sd3_models.create_clip_l(device, sd3_dtype, clip_l_sd) + + logger.info("Loading state dict...") + info = clip_l.load_state_dict(clip_l_sd) + logger.info(f"Loaded clip_l: {info}") + + logger.info(f"Move clip_l to {device} and {sd3_dtype}...") + clip_l.to(device, dtype=sd3_dtype) + clip_l.eval() + logger.info(f"Set attn_mode to {args.attn_mode}...") + clip_l.set_attn_mode(args.attn_mode) + + logger.info("Create clip_g") + clip_g = sd3_models.create_clip_g(device, sd3_dtype, clip_g_sd) + + logger.info("Loading state dict...") + info = clip_g.load_state_dict(clip_g_sd) + logger.info(f"Loaded clip_g: {info}") + + logger.info(f"Move clip_g to {device} and {sd3_dtype}...") + clip_g.to(device, dtype=sd3_dtype) + clip_g.eval() + logger.info(f"Set attn_mode to {args.attn_mode}...") + clip_g.set_attn_mode(args.attn_mode) + + if use_t5xxl: + logger.info("Create t5xxl") + t5xxl = sd3_models.create_t5xxl(device, sd3_dtype, t5xxl_sd) + + logger.info("Loading state dict...") + info = t5xxl.load_state_dict(t5xxl_sd) + logger.info(f"Loaded t5xxl: {info}") + + logger.info(f"Move t5xxl to {device} and {sd3_dtype}...") + t5xxl.to(device, dtype=sd3_dtype) + # t5xxl.to("cpu", dtype=torch.float32) # run on CPU + t5xxl.eval() + logger.info(f"Set attn_mode to {args.attn_mode}...") + t5xxl.set_attn_mode(args.attn_mode) + else: + t5xxl = None + + # prepare embeddings + logger.info("Encoding prompts...") + # embeds, pooled_embed + cond = sd3_utils.get_cond(args.prompt, tokenizer, clip_l, clip_g, t5xxl) + neg_cond = sd3_utils.get_cond(args.negative_prompt, tokenizer, clip_l, clip_g, t5xxl) + + # generate image + logger.info("Generating image...") + latent_sampled = do_sample( + target_height, target_width, None, seed, cond, neg_cond, mmdit, steps, guidance_scale, sd3_dtype, device + ) + + # latent to image + with torch.no_grad(): + image = vae.decode(latent_sampled) + image = image.float() + image = torch.clamp((image + 1.0) / 2.0, min=0.0, max=1.0)[0] + decoded_np = 255.0 * np.moveaxis(image.cpu().numpy(), 0, 2) + decoded_np = decoded_np.astype(np.uint8) + out_image = Image.fromarray(decoded_np) + + # save image + output_dir = args.output_dir + os.makedirs(output_dir, exist_ok=True) + output_path = os.path.join(output_dir, f"{datetime.datetime.now().strftime('%Y%m%d_%H%M%S')}.png") + out_image.save(output_path) + + logger.info(f"Saved image to {output_path}") From d53ea22b2a8366e6bc9f14aaeec057cd817f60d3 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 23 Jun 2024 23:38:20 +0900 Subject: [PATCH 093/748] sd3 training --- README.md | 25 + library/sai_model_spec.py | 20 +- library/sd3_models.py | 102 ++++- library/sd3_train_utils.py | 544 ++++++++++++++++++++++ library/sd3_utils.py | 211 ++++++++- library/train_util.py | 137 +++++- sd3_minimal_inference.py | 7 +- sd3_train.py | 907 +++++++++++++++++++++++++++++++++++++ 8 files changed, 1909 insertions(+), 44 deletions(-) create mode 100644 library/sd3_train_utils.py create mode 100644 sd3_train.py diff --git a/README.md b/README.md index 946df58f3..34aa2bb2f 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,30 @@ This repository contains training, generation and utility scripts for Stable Diffusion. +## SD3 training + +SD3 training is done with `sd3_train.py`. + +`optimizer_type = "adafactor"` is recommended for 24GB VRAM GPUs. `cache_text_encoder_outputs_to_disk` and `cache_latents_to_disk` are necessary currently. + +`clip_l`, `clip_g` and `t5xxl` can be specified if the checkpoint does not include them. + +t5xxl doesn't seem to work with `fp16`, so use`bf16` or `fp32`. + +There are `t5xxl_device` and `t5xxl_dtype` options for `t5xxl` device and dtype. + +```toml +learning_rate = 1e-5 # seems to be too high +optimizer_type = "adafactor" +optimizer_args = [ "scale_parameter=False", "relative_step=False", "warmup_init=False" ] +cache_text_encoder_outputs = true +cache_text_encoder_outputs_to_disk = true +vae_batch_size = 1 +cache_latents = true +cache_latents_to_disk = true +``` + +--- + [__Change History__](#change-history) is moved to the bottom of the page. 更新履歴は[ページ末尾](#change-history)に移しました。 diff --git a/library/sai_model_spec.py b/library/sai_model_spec.py index a63bd82ec..f7bf644d7 100644 --- a/library/sai_model_spec.py +++ b/library/sai_model_spec.py @@ -6,8 +6,10 @@ from typing import List, Optional, Tuple, Union import safetensors from library.utils import setup_logging + setup_logging() import logging + logger = logging.getLogger(__name__) r""" @@ -55,11 +57,14 @@ ARCH_SD_V2_512 = "stable-diffusion-v2-512" ARCH_SD_V2_768_V = "stable-diffusion-v2-768-v" ARCH_SD_XL_V1_BASE = "stable-diffusion-xl-v1-base" +ARCH_SD3_M = "stable-diffusion-3-medium" +ARCH_SD3_UNKNOWN = "stable-diffusion-3" ADAPTER_LORA = "lora" ADAPTER_TEXTUAL_INVERSION = "textual-inversion" IMPL_STABILITY_AI = "https://github.com/Stability-AI/generative-models" +IMPL_COMFY_UI = "https://github.com/comfyanonymous/ComfyUI" IMPL_DIFFUSERS = "diffusers" PRED_TYPE_EPSILON = "epsilon" @@ -113,7 +118,11 @@ def build_metadata( merged_from: Optional[str] = None, timesteps: Optional[Tuple[int, int]] = None, clip_skip: Optional[int] = None, + sd3: str = None, ): + """ + sd3: only supports "m" + """ # if state_dict is None, hash is not calculated metadata = {} @@ -126,6 +135,11 @@ def build_metadata( if sdxl: arch = ARCH_SD_XL_V1_BASE + elif sd3 is not None: + if sd3 == "m": + arch = ARCH_SD3_M + else: + arch = ARCH_SD3_UNKNOWN elif v2: if v_parameterization: arch = ARCH_SD_V2_768_V @@ -142,7 +156,7 @@ def build_metadata( metadata["modelspec.architecture"] = arch if not lora and not textual_inversion and is_stable_diffusion_ckpt is None: - is_stable_diffusion_ckpt = True # default is stable diffusion ckpt if not lora and not textual_inversion + is_stable_diffusion_ckpt = True # default is stable diffusion ckpt if not lora and not textual_inversion if (lora and sdxl) or textual_inversion or is_stable_diffusion_ckpt: # Stable Diffusion ckpt, TI, SDXL LoRA @@ -236,7 +250,7 @@ def build_metadata( # assert all([v is not None for v in metadata.values()]), metadata if not all([v is not None for v in metadata.values()]): logger.error(f"Internal error: some metadata values are None: {metadata}") - + return metadata @@ -250,7 +264,7 @@ def get_title(metadata: dict) -> Optional[str]: def load_metadata_from_safetensors(model: str) -> dict: if not model.endswith(".safetensors"): return {} - + with safetensors.safe_open(model, framework="pt") as f: metadata = f.metadata() if metadata is None: diff --git a/library/sd3_models.py b/library/sd3_models.py index 294a69b06..a4fe400e3 100644 --- a/library/sd3_models.py +++ b/library/sd3_models.py @@ -1,11 +1,13 @@ -# some modules/classes are copied and modified from https://github.com/mcmonkey4eva/sd3-ref +# some modules/classes are copied and modified from https://github.com/mcmonkey4eva/sd3-ref # the original code is licensed under the MIT License # and some module/classes are contributed from KohakuBlueleaf. Thanks for the contribution! +from ast import Tuple from functools import partial import math -from typing import Dict, Optional +from types import SimpleNamespace +from typing import Dict, List, Optional, Union import einops import numpy as np import torch @@ -106,6 +108,8 @@ def __init__(self, t5xxl=True): self.clip_l = SDTokenizer(tokenizer=clip_tokenizer) self.clip_g = SDXLClipGTokenizer(clip_tokenizer) self.t5xxl = T5XXLTokenizer() if t5xxl else None + # t5xxl has 99999999 max length, clip has 77 + self.model_max_length = self.clip_l.max_length # 77 def tokenize_with_weights(self, text: str): return ( @@ -870,6 +874,10 @@ def __init__( self.final_layer = UnPatch(self.hidden_size, patch_size, self.out_channels) # self.initialize_weights() + @property + def model_type(self): + return "m" # only support medium + def enable_gradient_checkpointing(self): self.gradient_checkpointing = True for block in self.joint_blocks: @@ -1013,6 +1021,10 @@ def create_mmdit_sd3_medium_configs(attn_mode: str): # endregion # region VAE +# TODO support xformers + +VAE_SCALE_FACTOR = 1.5305 +VAE_SHIFT_FACTOR = 0.0609 def Normalize(in_channels, num_groups=32, dtype=torch.float32, device=None): @@ -1222,6 +1234,14 @@ def __init__(self, dtype=torch.float32, device=None): self.encoder = VAEEncoder(dtype=dtype, device=device) self.decoder = VAEDecoder(dtype=dtype, device=device) + @property + def device(self): + return next(self.parameters()).device + + @property + def dtype(self): + return next(self.parameters()).dtype + @torch.autocast("cuda", dtype=torch.float16) def decode(self, latent): return self.decoder(latent) @@ -1234,6 +1254,43 @@ def encode(self, image): std = torch.exp(0.5 * logvar) return mean + std * torch.randn_like(mean) + @staticmethod + def process_in(latent): + return (latent - VAE_SHIFT_FACTOR) * VAE_SCALE_FACTOR + + @staticmethod + def process_out(latent): + return (latent / VAE_SCALE_FACTOR) + VAE_SHIFT_FACTOR + + +class VAEOutput: + def __init__(self, latent): + self.latent = latent + + @property + def latent_dist(self): + return self + + def sample(self): + return self.latent + + +class VAEWrapper: + def __init__(self, vae): + self.vae = vae + + @property + def device(self): + return self.vae.device + + @property + def dtype(self): + return self.vae.dtype + + # latents = vae.encode(img_tensors).latent_dist.sample().to("cpu") + def encode(self, image): + return VAEOutput(self.vae.encode(image)) + # endregion @@ -1370,15 +1427,39 @@ def forward(self, *args, **kwargs): class ClipTokenWeightEncoder: - def encode_token_weights(self, token_weight_pairs): - tokens = list(map(lambda a: a[0], token_weight_pairs[0])) - out, pooled = self([tokens]) - if pooled is not None: - first_pooled = pooled[0:1].cpu() + # def encode_token_weights(self, token_weight_pairs): + # tokens = list(map(lambda a: a[0], token_weight_pairs[0])) + # out, pooled = self([tokens]) + # if pooled is not None: + # first_pooled = pooled[0:1] + # else: + # first_pooled = pooled + # output = [out[0:1]] + # return torch.cat(output, dim=-2), first_pooled + + # fix to support batched inputs + # : Union[List[Tuple[torch.Tensor, torch.Tensor]], List[List[Tuple[torch.Tensor, torch.Tensor]]]] + def encode_token_weights(self, list_of_token_weight_pairs): + has_batch = isinstance(list_of_token_weight_pairs[0][0], list) + + if has_batch: + list_of_tokens = [] + for pairs in list_of_token_weight_pairs: + tokens = [a[0] for a in pairs[0]] # I'm not sure why this is [0] + list_of_tokens.append(tokens) else: - first_pooled = pooled - output = [out[0:1]] - return torch.cat(output, dim=-2).cpu(), first_pooled + list_of_tokens = [[a[0] for a in list_of_token_weight_pairs[0]]] + + out, pooled = self(list_of_tokens) + if has_batch: + return out, pooled + else: + if pooled is not None: + first_pooled = pooled[0:1] + else: + first_pooled = pooled + output = [out[0:1]] + return torch.cat(output, dim=-2), first_pooled class SDClipModel(torch.nn.Module, ClipTokenWeightEncoder): @@ -1694,6 +1775,7 @@ def forward(self, input_ids, intermediate_output=None, final_layer_norm_intermed x = self.embed_tokens(input_ids) past_bias = None for i, l in enumerate(self.block): + # uncomment to debug layerwise output: fp16 may cause issues # print(i, x.mean(), x.std()) x, past_bias = l(x, past_bias) if i == intermediate_output: diff --git a/library/sd3_train_utils.py b/library/sd3_train_utils.py new file mode 100644 index 000000000..4e45871f4 --- /dev/null +++ b/library/sd3_train_utils.py @@ -0,0 +1,544 @@ +import argparse +import math +import os +from typing import Optional, Tuple + +import torch +from safetensors.torch import save_file + +from library import sd3_models, sd3_utils, train_util +from library.device_utils import init_ipex, clean_memory_on_device + +init_ipex() + +from accelerate import init_empty_weights +from tqdm import tqdm + +# from transformers import CLIPTokenizer +# from library import model_util +# , sdxl_model_util, train_util, sdxl_original_unet +# from library.sdxl_lpw_stable_diffusion import SdxlStableDiffusionLongPromptWeightingPipeline +from .utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + +from .sdxl_train_util import match_mixed_precision + + +def load_target_model(args, accelerator, attn_mode, weight_dtype, t5xxl_device, t5xxl_dtype) -> Tuple[ + sd3_models.MMDiT, + Optional[sd3_models.SDClipModel], + Optional[sd3_models.SDXLClipG], + Optional[sd3_models.T5XXLModel], + sd3_models.SDVAE, +]: + model_dtype = match_mixed_precision(args, weight_dtype) # prepare fp16/bf16 + + for pi in range(accelerator.state.num_processes): + if pi == accelerator.state.local_process_index: + logger.info(f"loading model for process {accelerator.state.local_process_index}/{accelerator.state.num_processes}") + + mmdit, clip_l, clip_g, t5xxl, vae = sd3_utils.load_models( + args.pretrained_model_name_or_path, + args.clip_l, + args.clip_g, + args.t5xxl, + args.vae, + attn_mode, + accelerator.device if args.lowram else "cpu", + weight_dtype, + args.disable_mmap_load_safetensors, + t5xxl_device, + t5xxl_dtype, + ) + + # work on low-ram device + if args.lowram: + if clip_l is not None: + clip_l.to(accelerator.device) + if clip_g is not None: + clip_g.to(accelerator.device) + if t5xxl is not None: + t5xxl.to(accelerator.device) + vae.to(accelerator.device) + mmdit.to(accelerator.device) + + clean_memory_on_device(accelerator.device) + accelerator.wait_for_everyone() + + return mmdit, clip_l, clip_g, t5xxl, vae + + +def save_models( + ckpt_path: str, + mmdit: sd3_models.MMDiT, + vae: sd3_models.SDVAE, + clip_l: sd3_models.SDClipModel, + clip_g: sd3_models.SDXLClipG, + t5xxl: Optional[sd3_models.T5XXLModel], + sai_metadata: Optional[dict], + save_dtype: Optional[torch.dtype] = None, +): + r""" + Save models to checkpoint file. Only supports unified checkpoint format. + """ + + state_dict = {} + + def update_sd(prefix, sd): + for k, v in sd.items(): + key = prefix + k + if save_dtype is not None: + v = v.detach().clone().to("cpu").to(save_dtype) + state_dict[key] = v + + update_sd("model.diffusion_model.", mmdit.state_dict()) + update_sd("first_stage_model.", vae.state_dict()) + + if clip_l is not None: + update_sd("text_encoders.clip_l.", clip_l.state_dict()) + if clip_g is not None: + update_sd("text_encoders.clip_g.", clip_g.state_dict()) + if t5xxl is not None: + update_sd("text_encoders.t5xxl.", t5xxl.state_dict()) + + save_file(state_dict, ckpt_path, metadata=sai_metadata) + + +def save_sd3_model_on_train_end( + args: argparse.Namespace, + save_dtype: torch.dtype, + epoch: int, + global_step: int, + clip_l: sd3_models.SDClipModel, + clip_g: sd3_models.SDXLClipG, + t5xxl: Optional[sd3_models.T5XXLModel], + mmdit: sd3_models.MMDiT, + vae: sd3_models.SDVAE, +): + def sd_saver(ckpt_file, epoch_no, global_step): + sai_metadata = train_util.get_sai_model_spec( + None, args, False, False, False, is_stable_diffusion_ckpt=True, sd3=mmdit.model_type + ) + save_models(ckpt_file, mmdit, vae, clip_l, clip_g, t5xxl, sai_metadata, save_dtype) + + train_util.save_sd_model_on_train_end_common(args, True, True, epoch, global_step, sd_saver, None) + + +# epochとstepの保存、メタデータにepoch/stepが含まれ引数が同じになるため、統合している +# on_epoch_end: Trueならepoch終了時、Falseならstep経過時 +def save_sd3_model_on_epoch_end_or_stepwise( + args: argparse.Namespace, + on_epoch_end: bool, + accelerator, + save_dtype: torch.dtype, + epoch: int, + num_train_epochs: int, + global_step: int, + clip_l: sd3_models.SDClipModel, + clip_g: sd3_models.SDXLClipG, + t5xxl: Optional[sd3_models.T5XXLModel], + mmdit: sd3_models.MMDiT, + vae: sd3_models.SDVAE, +): + def sd_saver(ckpt_file, epoch_no, global_step): + sai_metadata = train_util.get_sai_model_spec( + None, args, False, False, False, is_stable_diffusion_ckpt=True, sd3=mmdit.model_type + ) + save_models(ckpt_file, mmdit, vae, clip_l, clip_g, t5xxl, sai_metadata, save_dtype) + + train_util.save_sd_model_on_epoch_end_or_stepwise_common( + args, + on_epoch_end, + accelerator, + True, + True, + epoch, + num_train_epochs, + global_step, + sd_saver, + None, + ) + + +def add_sd3_training_arguments(parser: argparse.ArgumentParser): + parser.add_argument( + "--cache_text_encoder_outputs", action="store_true", help="cache text encoder outputs / text encoderの出力をキャッシュする" + ) + parser.add_argument( + "--cache_text_encoder_outputs_to_disk", + action="store_true", + help="cache text encoder outputs to disk / text encoderの出力をディスクにキャッシュする", + ) + parser.add_argument( + "--disable_mmap_load_safetensors", + action="store_true", + help="disable mmap load for safetensors. Speed up model loading in WSL environment / safetensorsのmmapロードを無効にする。WSL環境等でモデル読み込みを高速化できる", + ) + + parser.add_argument( + "--clip_l", + type=str, + required=False, + help="CLIP-L model path. if not specified, use ckpt's state_dict / CLIP-Lモデルのパス。指定しない場合はckptのstate_dictを使用", + ) + parser.add_argument( + "--clip_g", + type=str, + required=False, + help="CLIP-G model path. if not specified, use ckpt's state_dict / CLIP-Gモデルのパス。指定しない場合はckptのstate_dictを使用", + ) + parser.add_argument( + "--t5xxl", + type=str, + required=False, + help="T5-XXL model path. if not specified, use ckpt's state_dict / T5-XXLモデルのパス。指定しない場合はckptのstate_dictを使用", + ) + parser.add_argument( + "--save_clip", action="store_true", help="save CLIP models to checkpoint / CLIPモデルをチェックポイントに保存する" + ) + parser.add_argument( + "--save_t5xxl", action="store_true", help="save T5-XXL model to checkpoint / T5-XXLモデルをチェックポイントに保存する" + ) + + parser.add_argument( + "--t5xxl_device", + type=str, + default=None, + help="T5-XXL device. if not specified, use accelerator's device / T5-XXLデバイス。指定しない場合はacceleratorのデバイスを使用", + ) + parser.add_argument( + "--t5xxl_dtype", + type=str, + default=None, + help="T5-XXL dtype. if not specified, use default dtype (from mixed precision) / T5-XXL dtype。指定しない場合はデフォルトのdtype(mixed precisionから)を使用", + ) + + # copy from Diffusers + parser.add_argument( + "--weighting_scheme", + type=str, + default="logit_normal", + choices=["sigma_sqrt", "logit_normal", "mode", "cosmap"], + ) + parser.add_argument( + "--logit_mean", type=float, default=0.0, help="mean to use when using the `'logit_normal'` weighting scheme." + ) + parser.add_argument("--logit_std", type=float, default=1.0, help="std to use when using the `'logit_normal'` weighting scheme.") + parser.add_argument( + "--mode_scale", + type=float, + default=1.29, + help="Scale of mode weighting scheme. Only effective when using the `'mode'` as the `weighting_scheme`.", + ) + + +def verify_sdxl_training_args(args: argparse.Namespace, supportTextEncoderCaching: bool = True): + assert not args.v2, "v2 cannot be enabled in SDXL training / SDXL学習ではv2を有効にすることはできません" + if args.v_parameterization: + logger.warning("v_parameterization will be unexpected / SDXL学習ではv_parameterizationは想定外の動作になります") + + if args.clip_skip is not None: + logger.warning("clip_skip will be unexpected / SDXL学習ではclip_skipは動作しません") + + # if args.multires_noise_iterations: + # logger.info( + # f"Warning: SDXL has been trained with noise_offset={DEFAULT_NOISE_OFFSET}, but noise_offset is disabled due to multires_noise_iterations / SDXLはnoise_offset={DEFAULT_NOISE_OFFSET}で学習されていますが、multires_noise_iterationsが有効になっているためnoise_offsetは無効になります" + # ) + # else: + # if args.noise_offset is None: + # args.noise_offset = DEFAULT_NOISE_OFFSET + # elif args.noise_offset != DEFAULT_NOISE_OFFSET: + # logger.info( + # f"Warning: SDXL has been trained with noise_offset={DEFAULT_NOISE_OFFSET} / SDXLはnoise_offset={DEFAULT_NOISE_OFFSET}で学習されています" + # ) + # logger.info(f"noise_offset is set to {args.noise_offset} / noise_offsetが{args.noise_offset}に設定されました") + + assert ( + not hasattr(args, "weighted_captions") or not args.weighted_captions + ), "weighted_captions cannot be enabled in SDXL training currently / SDXL学習では今のところweighted_captionsを有効にすることはできません" + + if supportTextEncoderCaching: + if args.cache_text_encoder_outputs_to_disk and not args.cache_text_encoder_outputs: + args.cache_text_encoder_outputs = True + logger.warning( + "cache_text_encoder_outputs is enabled because cache_text_encoder_outputs_to_disk is enabled / " + + "cache_text_encoder_outputs_to_diskが有効になっているためcache_text_encoder_outputsが有効になりました" + ) + + +def sample_images(*args, **kwargs): + return train_util.sample_images_common(SdxlStableDiffusionLongPromptWeightingPipeline, *args, **kwargs) + + +# region Diffusers + + +from dataclasses import dataclass +from typing import Optional, Tuple, Union + +import numpy as np +import torch + +from diffusers.configuration_utils import ConfigMixin, register_to_config +from diffusers.schedulers.scheduling_utils import SchedulerMixin +from diffusers.utils.torch_utils import randn_tensor +from diffusers.utils import BaseOutput + + +@dataclass +class FlowMatchEulerDiscreteSchedulerOutput(BaseOutput): + """ + Output class for the scheduler's `step` function output. + + Args: + prev_sample (`torch.FloatTensor` of shape `(batch_size, num_channels, height, width)` for images): + Computed sample `(x_{t-1})` of previous timestep. `prev_sample` should be used as next model input in the + denoising loop. + """ + + prev_sample: torch.FloatTensor + + +class FlowMatchEulerDiscreteScheduler(SchedulerMixin, ConfigMixin): + """ + Euler scheduler. + + This model inherits from [`SchedulerMixin`] and [`ConfigMixin`]. Check the superclass documentation for the generic + methods the library implements for all schedulers such as loading and saving. + + Args: + num_train_timesteps (`int`, defaults to 1000): + The number of diffusion steps to train the model. + timestep_spacing (`str`, defaults to `"linspace"`): + The way the timesteps should be scaled. Refer to Table 2 of the [Common Diffusion Noise Schedules and + Sample Steps are Flawed](https://huggingface.co/papers/2305.08891) for more information. + shift (`float`, defaults to 1.0): + The shift value for the timestep schedule. + """ + + _compatibles = [] + order = 1 + + @register_to_config + def __init__( + self, + num_train_timesteps: int = 1000, + shift: float = 1.0, + ): + timesteps = np.linspace(1, num_train_timesteps, num_train_timesteps, dtype=np.float32)[::-1].copy() + timesteps = torch.from_numpy(timesteps).to(dtype=torch.float32) + + sigmas = timesteps / num_train_timesteps + sigmas = shift * sigmas / (1 + (shift - 1) * sigmas) + + self.timesteps = sigmas * num_train_timesteps + + self._step_index = None + self._begin_index = None + + self.sigmas = sigmas.to("cpu") # to avoid too much CPU/GPU communication + self.sigma_min = self.sigmas[-1].item() + self.sigma_max = self.sigmas[0].item() + + @property + def step_index(self): + """ + The index counter for current timestep. It will increase 1 after each scheduler step. + """ + return self._step_index + + @property + def begin_index(self): + """ + The index for the first timestep. It should be set from pipeline with `set_begin_index` method. + """ + return self._begin_index + + # Copied from diffusers.schedulers.scheduling_dpmsolver_multistep.DPMSolverMultistepScheduler.set_begin_index + def set_begin_index(self, begin_index: int = 0): + """ + Sets the begin index for the scheduler. This function should be run from pipeline before the inference. + + Args: + begin_index (`int`): + The begin index for the scheduler. + """ + self._begin_index = begin_index + + def scale_noise( + self, + sample: torch.FloatTensor, + timestep: Union[float, torch.FloatTensor], + noise: Optional[torch.FloatTensor] = None, + ) -> torch.FloatTensor: + """ + Forward process in flow-matching + + Args: + sample (`torch.FloatTensor`): + The input sample. + timestep (`int`, *optional*): + The current timestep in the diffusion chain. + + Returns: + `torch.FloatTensor`: + A scaled input sample. + """ + if self.step_index is None: + self._init_step_index(timestep) + + sigma = self.sigmas[self.step_index] + sample = sigma * noise + (1.0 - sigma) * sample + + return sample + + def _sigma_to_t(self, sigma): + return sigma * self.config.num_train_timesteps + + def set_timesteps(self, num_inference_steps: int, device: Union[str, torch.device] = None): + """ + Sets the discrete timesteps used for the diffusion chain (to be run before inference). + + Args: + num_inference_steps (`int`): + The number of diffusion steps used when generating samples with a pre-trained model. + device (`str` or `torch.device`, *optional*): + The device to which the timesteps should be moved to. If `None`, the timesteps are not moved. + """ + self.num_inference_steps = num_inference_steps + + timesteps = np.linspace(self._sigma_to_t(self.sigma_max), self._sigma_to_t(self.sigma_min), num_inference_steps) + + sigmas = timesteps / self.config.num_train_timesteps + sigmas = self.config.shift * sigmas / (1 + (self.config.shift - 1) * sigmas) + sigmas = torch.from_numpy(sigmas).to(dtype=torch.float32, device=device) + + timesteps = sigmas * self.config.num_train_timesteps + self.timesteps = timesteps.to(device=device) + self.sigmas = torch.cat([sigmas, torch.zeros(1, device=sigmas.device)]) + + self._step_index = None + self._begin_index = None + + def index_for_timestep(self, timestep, schedule_timesteps=None): + if schedule_timesteps is None: + schedule_timesteps = self.timesteps + + indices = (schedule_timesteps == timestep).nonzero() + + # The sigma index that is taken for the **very** first `step` + # is always the second index (or the last index if there is only 1) + # This way we can ensure we don't accidentally skip a sigma in + # case we start in the middle of the denoising schedule (e.g. for image-to-image) + pos = 1 if len(indices) > 1 else 0 + + return indices[pos].item() + + def _init_step_index(self, timestep): + if self.begin_index is None: + if isinstance(timestep, torch.Tensor): + timestep = timestep.to(self.timesteps.device) + self._step_index = self.index_for_timestep(timestep) + else: + self._step_index = self._begin_index + + def step( + self, + model_output: torch.FloatTensor, + timestep: Union[float, torch.FloatTensor], + sample: torch.FloatTensor, + s_churn: float = 0.0, + s_tmin: float = 0.0, + s_tmax: float = float("inf"), + s_noise: float = 1.0, + generator: Optional[torch.Generator] = None, + return_dict: bool = True, + ) -> Union[FlowMatchEulerDiscreteSchedulerOutput, Tuple]: + """ + Predict the sample from the previous timestep by reversing the SDE. This function propagates the diffusion + process from the learned model outputs (most often the predicted noise). + + Args: + model_output (`torch.FloatTensor`): + The direct output from learned diffusion model. + timestep (`float`): + The current discrete timestep in the diffusion chain. + sample (`torch.FloatTensor`): + A current instance of a sample created by the diffusion process. + s_churn (`float`): + s_tmin (`float`): + s_tmax (`float`): + s_noise (`float`, defaults to 1.0): + Scaling factor for noise added to the sample. + generator (`torch.Generator`, *optional*): + A random number generator. + return_dict (`bool`): + Whether or not to return a [`~schedulers.scheduling_euler_discrete.EulerDiscreteSchedulerOutput`] or + tuple. + + Returns: + [`~schedulers.scheduling_euler_discrete.EulerDiscreteSchedulerOutput`] or `tuple`: + If return_dict is `True`, [`~schedulers.scheduling_euler_discrete.EulerDiscreteSchedulerOutput`] is + returned, otherwise a tuple is returned where the first element is the sample tensor. + """ + + if isinstance(timestep, int) or isinstance(timestep, torch.IntTensor) or isinstance(timestep, torch.LongTensor): + raise ValueError( + ( + "Passing integer indices (e.g. from `enumerate(timesteps)`) as timesteps to" + " `EulerDiscreteScheduler.step()` is not supported. Make sure to pass" + " one of the `scheduler.timesteps` as a timestep." + ), + ) + + if self.step_index is None: + self._init_step_index(timestep) + + # Upcast to avoid precision issues when computing prev_sample + sample = sample.to(torch.float32) + + sigma = self.sigmas[self.step_index] + + gamma = min(s_churn / (len(self.sigmas) - 1), 2**0.5 - 1) if s_tmin <= sigma <= s_tmax else 0.0 + + noise = randn_tensor(model_output.shape, dtype=model_output.dtype, device=model_output.device, generator=generator) + + eps = noise * s_noise + sigma_hat = sigma * (gamma + 1) + + if gamma > 0: + sample = sample + eps * (sigma_hat**2 - sigma**2) ** 0.5 + + # 1. compute predicted original sample (x_0) from sigma-scaled predicted noise + # NOTE: "original_sample" should not be an expected prediction_type but is left in for + # backwards compatibility + + # if self.config.prediction_type == "vector_field": + + denoised = sample - model_output * sigma + # 2. Convert to an ODE derivative + derivative = (sample - denoised) / sigma_hat + + dt = self.sigmas[self.step_index + 1] - sigma_hat + + prev_sample = sample + derivative * dt + # Cast sample back to model compatible dtype + prev_sample = prev_sample.to(model_output.dtype) + + # upon completion increase step index by one + self._step_index += 1 + + if not return_dict: + return (prev_sample,) + + return FlowMatchEulerDiscreteSchedulerOutput(prev_sample=prev_sample) + + def __len__(self): + return self.config.num_train_timesteps + + +# endregion diff --git a/library/sd3_utils.py b/library/sd3_utils.py index 6f8c361fd..c2c914123 100644 --- a/library/sd3_utils.py +++ b/library/sd3_utils.py @@ -1,30 +1,226 @@ import math -from typing import Dict +from typing import Dict, Optional, Union import torch +import safetensors +from safetensors.torch import load_file +from accelerate import init_empty_weights + +from .utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) from library import sd3_models +# TODO move some of functions to model_util.py +from library import sdxl_model_util + +# region models + + +def load_models( + ckpt_path: str, + clip_l_path: str, + clip_g_path: str, + t5xxl_path: str, + vae_path: str, + attn_mode: str, + device: Union[str, torch.device], + weight_dtype: torch.dtype, + disable_mmap: bool = False, + t5xxl_device: Optional[str] = None, + t5xxl_dtype: Optional[str] = None, +): + def load_state_dict(path: str, dvc: Union[str, torch.device] = device): + if disable_mmap: + return safetensors.torch.load(open(path, "rb").read()) + else: + try: + return load_file(path, device=dvc) + except: + return load_file(path) # prevent device invalid Error + + t5xxl_device = t5xxl_device or device + + logger.info(f"Loading SD3 models from {ckpt_path}...") + state_dict = load_state_dict(ckpt_path) + + # load clip_l + clip_l_sd = None + if clip_l_path: + logger.info(f"Loading clip_l from {clip_l_path}...") + clip_l_sd = load_state_dict(clip_l_path) + for key in list(clip_l_sd.keys()): + clip_l_sd["transformer." + key] = clip_l_sd.pop(key) + else: + if "text_encoders.clip_l.transformer.text_model.embeddings.position_embedding.weight" in state_dict: + # found clip_l: remove prefix "text_encoders.clip_l." + logger.info("clip_l is included in the checkpoint") + clip_l_sd = {} + prefix = "text_encoders.clip_l." + for k in list(state_dict.keys()): + if k.startswith(prefix): + clip_l_sd[k[len(prefix) :]] = state_dict.pop(k) + + # load clip_g + clip_g_sd = None + if clip_g_path: + logger.info(f"Loading clip_g from {clip_g_path}...") + clip_g_sd = load_state_dict(clip_g_path) + for key in list(clip_g_sd.keys()): + clip_g_sd["transformer." + key] = clip_g_sd.pop(key) + else: + if "text_encoders.clip_g.transformer.text_model.embeddings.position_embedding.weight" in state_dict: + # found clip_g: remove prefix "text_encoders.clip_g." + logger.info("clip_g is included in the checkpoint") + clip_g_sd = {} + prefix = "text_encoders.clip_g." + for k in list(state_dict.keys()): + if k.startswith(prefix): + clip_g_sd[k[len(prefix) :]] = state_dict.pop(k) + + # load t5xxl + t5xxl_sd = None + if t5xxl_path: + logger.info(f"Loading t5xxl from {t5xxl_path}...") + t5xxl_sd = load_state_dict(t5xxl_path, t5xxl_device) + for key in list(t5xxl_sd.keys()): + t5xxl_sd["transformer." + key] = t5xxl_sd.pop(key) + else: + if "text_encoders.t5xxl.transformer.encoder.block.0.layer.0.SelfAttention.k.weight" in state_dict: + # found t5xxl: remove prefix "text_encoders.t5xxl." + logger.info("t5xxl is included in the checkpoint") + t5xxl_sd = {} + prefix = "text_encoders.t5xxl." + for k in list(state_dict.keys()): + if k.startswith(prefix): + t5xxl_sd[k[len(prefix) :]] = state_dict.pop(k) + + # MMDiT and VAE + vae_sd = {} + if vae_path: + logger.info(f"Loading VAE from {vae_path}...") + vae_sd = load_state_dict(vae_path) + else: + # remove prefix "first_stage_model." + vae_sd = {} + vae_prefix = "first_stage_model." + for k in list(state_dict.keys()): + if k.startswith(vae_prefix): + vae_sd[k[len(vae_prefix) :]] = state_dict.pop(k) + + mmdit_prefix = "model.diffusion_model." + for k in list(state_dict.keys()): + if k.startswith(mmdit_prefix): + state_dict[k[len(mmdit_prefix) :]] = state_dict.pop(k) + else: + state_dict.pop(k) # remove other keys + + # load MMDiT + logger.info("Building MMDit") + with init_empty_weights(): + mmdit = sd3_models.create_mmdit_sd3_medium_configs(attn_mode) + + logger.info("Loading state dict...") + info = sdxl_model_util._load_state_dict_on_device(mmdit, state_dict, device, weight_dtype) + logger.info(f"Loaded MMDiT: {info}") + + # load ClipG and ClipL + if clip_l_sd is None: + clip_l = None + else: + logger.info("Building ClipL") + clip_l = sd3_models.create_clip_l(device, weight_dtype, clip_l_sd) + logger.info("Loading state dict...") + info = clip_l.load_state_dict(clip_l_sd) + logger.info(f"Loaded ClipL: {info}") + clip_l.set_attn_mode(attn_mode) + + if clip_g_sd is None: + clip_g = None + else: + logger.info("Building ClipG") + clip_g = sd3_models.create_clip_g(device, weight_dtype, clip_g_sd) + logger.info("Loading state dict...") + info = clip_g.load_state_dict(clip_g_sd) + logger.info(f"Loaded ClipG: {info}") + clip_g.set_attn_mode(attn_mode) + + # load T5XXL + if t5xxl_sd is None: + t5xxl = None + else: + logger.info("Building T5XXL") + t5xxl = sd3_models.create_t5xxl(t5xxl_device, t5xxl_dtype, t5xxl_sd) + logger.info("Loading state dict...") + info = t5xxl.load_state_dict(t5xxl_sd) + logger.info(f"Loaded T5XXL: {info}") + t5xxl.set_attn_mode(attn_mode) + + # load VAE + logger.info("Building VAE") + vae = sd3_models.SDVAE() + logger.info("Loading state dict...") + info = vae.load_state_dict(vae_sd) + logger.info(f"Loaded VAE: {info}") + + return mmdit, clip_l, clip_g, t5xxl, vae + + +# endregion +# region utils + def get_cond( prompt: str, tokenizer: sd3_models.SD3Tokenizer, clip_l: sd3_models.SDClipModel, clip_g: sd3_models.SDXLClipG, - t5xxl: sd3_models.T5XXLModel, + t5xxl: Optional[sd3_models.T5XXLModel] = None, + device: Optional[torch.device] = None, + dtype: Optional[torch.dtype] = None, ): l_tokens, g_tokens, t5_tokens = tokenizer.tokenize_with_weights(prompt) + return get_cond_from_tokens(l_tokens, g_tokens, t5_tokens, clip_l, clip_g, t5xxl, device=device, dtype=dtype) + + +def get_cond_from_tokens( + l_tokens, + g_tokens, + t5_tokens, + clip_l: sd3_models.SDClipModel, + clip_g: sd3_models.SDXLClipG, + t5xxl: Optional[sd3_models.T5XXLModel] = None, + device: Optional[torch.device] = None, + dtype: Optional[torch.dtype] = None, +): l_out, l_pooled = clip_l.encode_token_weights(l_tokens) g_out, g_pooled = clip_g.encode_token_weights(g_tokens) lg_out = torch.cat([l_out, g_out], dim=-1) lg_out = torch.nn.functional.pad(lg_out, (0, 4096 - lg_out.shape[-1])) + if device is not None: + lg_out = lg_out.to(device=device) + l_pooled = l_pooled.to(device=device) + g_pooled = g_pooled.to(device=device) + if dtype is not None: + lg_out = lg_out.to(dtype=dtype) + l_pooled = l_pooled.to(dtype=dtype) + g_pooled = g_pooled.to(dtype=dtype) + # t5xxl may be in another device (eg. cpu) if t5_tokens is None: - t5_out = torch.zeros((lg_out.shape[0], 77, 4096), device=lg_out.device) + t5_out = torch.zeros((lg_out.shape[0], 77, 4096), device=lg_out.device, dtype=lg_out.dtype) else: - t5_out, t5_pooled = t5xxl.encode_token_weights(t5_tokens) # t5_out is [1, 77, 4096], t5_pooled is None - t5_out = t5_out.to(lg_out.dtype) + t5_out, _ = t5xxl.encode_token_weights(t5_tokens) # t5_out is [1, 77, 4096], t5_pooled is None + if device is not None: + t5_out = t5_out.to(device=device) + if dtype is not None: + t5_out = t5_out.to(dtype=dtype) - return torch.cat([lg_out, t5_out], dim=-2), torch.cat((l_pooled, g_pooled), dim=-1) + # return torch.cat([lg_out, t5_out], dim=-2), torch.cat((l_pooled, g_pooled), dim=-1) + return lg_out, t5_out, torch.cat((l_pooled, g_pooled), dim=-1) # used if other sd3 models is available @@ -111,3 +307,6 @@ def noise_scaling(self, sigma, noise, latent_image, max_denoise=False): # assert max_denoise is False, "max_denoise not implemented" # max_denoise is always True, I'm not sure why it's there return sigma * noise + (1.0 - sigma) * latent_image + + +# endregion diff --git a/library/train_util.py b/library/train_util.py index 4736ff4ff..c67e8737c 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -58,7 +58,7 @@ KDPM2AncestralDiscreteScheduler, AutoencoderKL, ) -from library import custom_train_functions +from library import custom_train_functions, sd3_utils from library.original_unet import UNet2DConditionModel from huggingface_hub import hf_hub_download import numpy as np @@ -135,6 +135,7 @@ ) TEXT_ENCODER_OUTPUTS_CACHE_SUFFIX = "_te_outputs.npz" +TEXT_ENCODER_OUTPUTS_CACHE_SUFFIX_SD3 = "_sd3_te.npz" class ImageInfo: @@ -985,7 +986,7 @@ def is_text_encoder_output_cacheable(self): ] ) - def cache_latents(self, vae, vae_batch_size=1, cache_to_disk=False, is_main_process=True): + def cache_latents(self, vae, vae_batch_size=1, cache_to_disk=False, is_main_process=True, file_suffix=".npz"): # マルチGPUには対応していないので、そちらはtools/cache_latents.pyを使うこと logger.info("caching latents.") @@ -1006,7 +1007,7 @@ def cache_latents(self, vae, vae_batch_size=1, cache_to_disk=False, is_main_proc # check disk cache exists and size of latents if cache_to_disk: - info.latents_npz = os.path.splitext(info.absolute_path)[0] + ".npz" + info.latents_npz = os.path.splitext(info.absolute_path)[0] + file_suffix if not is_main_process: # store to info only continue @@ -1040,14 +1041,43 @@ def cache_latents(self, vae, vae_batch_size=1, cache_to_disk=False, is_main_proc for batch in tqdm(batches, smoothing=1, total=len(batches)): cache_batch_latents(vae, cache_to_disk, batch, subset.flip_aug, subset.alpha_mask, subset.random_crop) - # weight_dtypeを指定するとText Encoderそのもの、およひ出力がweight_dtypeになる - # SDXLでのみ有効だが、datasetのメソッドとする必要があるので、sdxl_train_util.pyではなくこちらに実装する - # SD1/2に対応するにはv2のフラグを持つ必要があるので後回し + # if weight_dtype is specified, Text Encoder itself and output will be converted to the dtype + # this method is only for SDXL, but it should be implemented here because it needs to be a method of dataset + # to support SD1/2, it needs a flag for v2, but it is postponed def cache_text_encoder_outputs( - self, tokenizers, text_encoders, device, weight_dtype, cache_to_disk=False, is_main_process=True + self, tokenizers, text_encoders, device, output_dtype, cache_to_disk=False, is_main_process=True ): assert len(tokenizers) == 2, "only support SDXL" + return self.cache_text_encoder_outputs_common( + tokenizers, text_encoders, [device, device], output_dtype, [output_dtype], cache_to_disk, is_main_process + ) + # same as above, but for SD3 + def cache_text_encoder_outputs_sd3( + self, tokenizer, text_encoders, devices, output_dtype, te_dtypes, cache_to_disk=False, is_main_process=True + ): + return self.cache_text_encoder_outputs_common( + [tokenizer], + text_encoders, + devices, + output_dtype, + te_dtypes, + cache_to_disk, + is_main_process, + TEXT_ENCODER_OUTPUTS_CACHE_SUFFIX_SD3, + ) + + def cache_text_encoder_outputs_common( + self, + tokenizers, + text_encoders, + devices, + output_dtype, + te_dtypes, + cache_to_disk=False, + is_main_process=True, + file_suffix=TEXT_ENCODER_OUTPUTS_CACHE_SUFFIX, + ): # latentsのキャッシュと同様に、ディスクへのキャッシュに対応する # またマルチGPUには対応していないので、そちらはtools/cache_latents.pyを使うこと logger.info("caching text encoder outputs.") @@ -1058,13 +1088,14 @@ def cache_text_encoder_outputs( for info in tqdm(image_infos): # subset = self.image_to_subset[info.image_key] if cache_to_disk: - te_out_npz = os.path.splitext(info.absolute_path)[0] + TEXT_ENCODER_OUTPUTS_CACHE_SUFFIX + te_out_npz = os.path.splitext(info.absolute_path)[0] + file_suffix info.text_encoder_outputs_npz = te_out_npz if not is_main_process: # store to info only continue if os.path.exists(te_out_npz): + # TODO check varidity of cache here continue image_infos_to_cache.append(info) @@ -1073,18 +1104,23 @@ def cache_text_encoder_outputs( return # prepare tokenizers and text encoders - for text_encoder in text_encoders: + for text_encoder, device, te_dtype in zip(text_encoders, devices, te_dtypes): text_encoder.to(device) - if weight_dtype is not None: - text_encoder.to(dtype=weight_dtype) + if te_dtype is not None: + text_encoder.to(dtype=te_dtype) # create batch + is_sd3 = len(tokenizers) == 1 batch = [] batches = [] for info in image_infos_to_cache: - input_ids1 = self.get_input_ids(info.caption, tokenizers[0]) - input_ids2 = self.get_input_ids(info.caption, tokenizers[1]) - batch.append((info, input_ids1, input_ids2)) + if not is_sd3: + input_ids1 = self.get_input_ids(info.caption, tokenizers[0]) + input_ids2 = self.get_input_ids(info.caption, tokenizers[1]) + batch.append((info, input_ids1, input_ids2)) + else: + l_tokens, g_tokens, t5_tokens = tokenizers[0].tokenize_with_weights(info.caption) + batch.append((info, l_tokens, g_tokens, t5_tokens)) if len(batch) >= self.batch_size: batches.append(batch) @@ -1095,13 +1131,32 @@ def cache_text_encoder_outputs( # iterate batches: call text encoder and cache outputs for memory or disk logger.info("caching text encoder outputs...") - for batch in tqdm(batches): - infos, input_ids1, input_ids2 = zip(*batch) - input_ids1 = torch.stack(input_ids1, dim=0) - input_ids2 = torch.stack(input_ids2, dim=0) - cache_batch_text_encoder_outputs( - infos, tokenizers, text_encoders, self.max_token_length, cache_to_disk, input_ids1, input_ids2, weight_dtype - ) + if not is_sd3: + for batch in tqdm(batches): + infos, input_ids1, input_ids2 = zip(*batch) + input_ids1 = torch.stack(input_ids1, dim=0) + input_ids2 = torch.stack(input_ids2, dim=0) + cache_batch_text_encoder_outputs( + infos, tokenizers, text_encoders, self.max_token_length, cache_to_disk, input_ids1, input_ids2, output_dtype + ) + else: + for batch in tqdm(batches): + infos, l_tokens, g_tokens, t5_tokens = zip(*batch) + + # stack tokens + # l_tokens = [tokens[0] for tokens in l_tokens] + # g_tokens = [tokens[0] for tokens in g_tokens] + # t5_tokens = [tokens[0] for tokens in t5_tokens] + + cache_batch_text_encoder_outputs_sd3( + infos, + tokenizers[0], + text_encoders, + self.max_token_length, + cache_to_disk, + (l_tokens, g_tokens, t5_tokens), + output_dtype, + ) def get_image_size(self, image_path): return imagesize.get(image_path) @@ -1332,6 +1387,7 @@ def __getitem__(self, index): captions.append(caption) if not self.token_padding_disabled: # this option might be omitted in future + # TODO get_input_ids must support SD3 if self.XTI_layers: token_caption = self.get_input_ids(caption_layer, self.tokenizers[0]) else: @@ -2140,10 +2196,10 @@ def enable_XTI(self, *args, **kwargs): for dataset in self.datasets: dataset.enable_XTI(*args, **kwargs) - def cache_latents(self, vae, vae_batch_size=1, cache_to_disk=False, is_main_process=True): + def cache_latents(self, vae, vae_batch_size=1, cache_to_disk=False, is_main_process=True, file_suffix=".npz"): for i, dataset in enumerate(self.datasets): logger.info(f"[Dataset {i}]") - dataset.cache_latents(vae, vae_batch_size, cache_to_disk, is_main_process) + dataset.cache_latents(vae, vae_batch_size, cache_to_disk, is_main_process, file_suffix) def cache_text_encoder_outputs( self, tokenizers, text_encoders, device, weight_dtype, cache_to_disk=False, is_main_process=True @@ -2152,6 +2208,15 @@ def cache_text_encoder_outputs( logger.info(f"[Dataset {i}]") dataset.cache_text_encoder_outputs(tokenizers, text_encoders, device, weight_dtype, cache_to_disk, is_main_process) + def cache_text_encoder_outputs_sd3( + self, tokenizer, text_encoders, device, output_dtype, te_dtypes, cache_to_disk=False, is_main_process=True + ): + for i, dataset in enumerate(self.datasets): + logger.info(f"[Dataset {i}]") + dataset.cache_text_encoder_outputs_sd3( + tokenizer, text_encoders, device, output_dtype, te_dtypes, cache_to_disk, is_main_process + ) + def set_caching_mode(self, caching_mode): for dataset in self.datasets: dataset.set_caching_mode(caching_mode) @@ -2585,6 +2650,30 @@ def cache_batch_text_encoder_outputs( info.text_encoder_pool2 = pool2 +def cache_batch_text_encoder_outputs_sd3( + image_infos, tokenizer, text_encoders, max_token_length, cache_to_disk, input_ids, output_dtype +): + # make input_ids for each text encoder + l_tokens, g_tokens, t5_tokens = input_ids + + clip_l, clip_g, t5xxl = text_encoders + with torch.no_grad(): + b_lg_out, b_t5_out, b_pool = sd3_utils.get_cond_from_tokens( + l_tokens, g_tokens, t5_tokens, clip_l, clip_g, t5xxl, "cpu", output_dtype + ) + b_lg_out = b_lg_out.detach() + b_t5_out = b_t5_out.detach() + b_pool = b_pool.detach() + + for info, lg_out, t5_out, pool in zip(image_infos, b_lg_out, b_t5_out, b_pool): + if cache_to_disk: + save_text_encoder_outputs_to_disk(info.text_encoder_outputs_npz, lg_out, t5_out, pool) + else: + info.text_encoder_outputs1 = lg_out + info.text_encoder_outputs2 = t5_out + info.text_encoder_pool2 = pool + + def save_text_encoder_outputs_to_disk(npz_path, hidden_state1, hidden_state2, pool2): np.savez( npz_path, @@ -2907,6 +2996,7 @@ def get_sai_model_spec( lora: bool, textual_inversion: bool, is_stable_diffusion_ckpt: Optional[bool] = None, # None for TI and LoRA + sd3: str = None, ): timestamp = time.time() @@ -2940,6 +3030,7 @@ def get_sai_model_spec( tags=args.metadata_tags, timesteps=timesteps, clip_skip=args.clip_skip, # None or int + sd3=sd3, ) return metadata diff --git a/sd3_minimal_inference.py b/sd3_minimal_inference.py index e14f784d4..96e9da4ac 100644 --- a/sd3_minimal_inference.py +++ b/sd3_minimal_inference.py @@ -320,8 +320,11 @@ def do_sample( # prepare embeddings logger.info("Encoding prompts...") # embeds, pooled_embed - cond = sd3_utils.get_cond(args.prompt, tokenizer, clip_l, clip_g, t5xxl) - neg_cond = sd3_utils.get_cond(args.negative_prompt, tokenizer, clip_l, clip_g, t5xxl) + lg_out, t5_out, pooled = sd3_utils.get_cond(args.prompt, tokenizer, clip_l, clip_g, t5xxl) + cond = torch.cat([lg_out, t5_out], dim=-2), pooled + + lg_out, t5_out, pooled = sd3_utils.get_cond(args.negative_prompt, tokenizer, clip_l, clip_g, t5xxl) + neg_cond = torch.cat([lg_out, t5_out], dim=-2), pooled # generate image logger.info("Generating image...") diff --git a/sd3_train.py b/sd3_train.py new file mode 100644 index 000000000..0721b2ae4 --- /dev/null +++ b/sd3_train.py @@ -0,0 +1,907 @@ +# training with captions + +import argparse +import copy +import math +import os +from multiprocessing import Value +from typing import List +import toml + +from tqdm import tqdm + +import torch +from library.device_utils import init_ipex, clean_memory_on_device + + +init_ipex() + +from accelerate.utils import set_seed +from diffusers import DDPMScheduler +from library import deepspeed_utils, sd3_models, sd3_train_utils, sd3_utils + +# , sdxl_model_util + +import library.train_util as train_util + +from library.utils import setup_logging, add_logging_arguments + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + +import library.config_util as config_util + +# import library.sdxl_train_util as sdxl_train_util +from library.config_util import ( + ConfigSanitizer, + BlueprintGenerator, +) +import library.custom_train_functions as custom_train_functions + +# from library.custom_train_functions import ( +# apply_snr_weight, +# prepare_scheduler_for_custom_training, +# scale_v_prediction_loss_like_noise_prediction, +# add_v_prediction_like_loss, +# apply_debiased_estimation, +# apply_masked_loss, +# ) + + +def train(args): + train_util.verify_training_args(args) + train_util.prepare_dataset_args(args, True) + # sdxl_train_util.verify_sdxl_training_args(args) + deepspeed_utils.prepare_deepspeed_args(args) + setup_logging(args, reset=True) + + assert ( + not args.weighted_captions + ), "weighted_captions is not supported currently / weighted_captionsは現在サポートされていません" + assert ( + not args.train_text_encoder or not args.cache_text_encoder_outputs + ), "cache_text_encoder_outputs is not supported when training text encoder / text encoderを学習するときはcache_text_encoder_outputsはサポートされていません" + + # if args.block_lr: + # block_lrs = [float(lr) for lr in args.block_lr.split(",")] + # assert ( + # len(block_lrs) == UNET_NUM_BLOCKS_FOR_BLOCK_LR + # ), f"block_lr must have {UNET_NUM_BLOCKS_FOR_BLOCK_LR} values / block_lrは{UNET_NUM_BLOCKS_FOR_BLOCK_LR}個の値を指定してください" + # else: + # block_lrs = None + + cache_latents = args.cache_latents + use_dreambooth_method = args.in_json is None + + if args.seed is not None: + set_seed(args.seed) # 乱数系列を初期化する + + # load tokenizer + sd3_tokenizer = sd3_models.SD3Tokenizer() + + # データセットを準備する + if args.dataset_class is None: + blueprint_generator = BlueprintGenerator(ConfigSanitizer(True, True, args.masked_loss, True)) + if args.dataset_config is not None: + logger.info(f"Load dataset config from {args.dataset_config}") + user_config = config_util.load_user_config(args.dataset_config) + ignored = ["train_data_dir", "in_json"] + if any(getattr(args, attr) is not None for attr in ignored): + logger.warning( + "ignore following options because config file is found: {0} / 設定ファイルが利用されるため以下のオプションは無視されます: {0}".format( + ", ".join(ignored) + ) + ) + else: + if use_dreambooth_method: + logger.info("Using DreamBooth method.") + user_config = { + "datasets": [ + { + "subsets": config_util.generate_dreambooth_subsets_config_by_subdirs( + args.train_data_dir, args.reg_data_dir + ) + } + ] + } + else: + logger.info("Training with captions.") + user_config = { + "datasets": [ + { + "subsets": [ + { + "image_dir": args.train_data_dir, + "metadata_file": args.in_json, + } + ] + } + ] + } + + blueprint = blueprint_generator.generate(user_config, args, tokenizer=[sd3_tokenizer]) + train_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) + else: + train_dataset_group = train_util.load_arbitrary_dataset(args, [sd3_tokenizer]) + + current_epoch = Value("i", 0) + current_step = Value("i", 0) + ds_for_collator = train_dataset_group if args.max_data_loader_n_workers == 0 else None + collator = train_util.collator_class(current_epoch, current_step, ds_for_collator) + + train_dataset_group.verify_bucket_reso_steps(8) # TODO これでいいか確認 + + if args.debug_dataset: + train_util.debug_dataset(train_dataset_group, True) + return + if len(train_dataset_group) == 0: + logger.error( + "No data found. Please verify the metadata file and train_data_dir option. / 画像がありません。メタデータおよびtrain_data_dirオプションを確認してください。" + ) + return + + if cache_latents: + assert ( + train_dataset_group.is_latent_cacheable() + ), "when caching latents, either color_aug or random_crop cannot be used / latentをキャッシュするときはcolor_augとrandom_cropは使えません" + + if args.cache_text_encoder_outputs: + assert ( + train_dataset_group.is_text_encoder_output_cacheable() + ), "when caching text encoder output, either caption_dropout_rate, shuffle_caption, token_warmup_step or caption_tag_dropout_rate cannot be used / text encoderの出力をキャッシュするときはcaption_dropout_rate, shuffle_caption, token_warmup_step, caption_tag_dropout_rateは使えません" + + # acceleratorを準備する + logger.info("prepare accelerator") + accelerator = train_util.prepare_accelerator(args) + + # mixed precisionに対応した型を用意しておき適宜castする + weight_dtype, save_dtype = train_util.prepare_dtype(args) + vae_dtype = weight_dtype # torch.float32 if args.no_half_vae else weight_dtype # SD3 VAE works with fp16 + + t5xxl_dtype = weight_dtype + if args.t5xxl_dtype is not None: + if args.t5xxl_dtype == "fp16": + t5xxl_dtype = torch.float16 + elif args.t5xxl_dtype == "bf16": + t5xxl_dtype = torch.bfloat16 + elif args.t5xxl_dtype == "fp32" or args.t5xxl_dtype == "float": + t5xxl_dtype = torch.float32 + else: + raise ValueError(f"unexpected t5xxl_dtype: {args.t5xxl_dtype}") + t5xxl_device = accelerator.device if args.t5xxl_device is None else args.t5xxl_device + + # モデルを読み込む + attn_mode = "xformers" if args.xformers else "torch" + + assert ( + attn_mode == "torch" + ), f"attn_mode {attn_mode} is not supported. Please use `--sdpa` instead of `--xformers`. / attn_mode {attn_mode} はサポートされていません。`--xformers`の代わりに`--sdpa`を使ってください。" + + mmdit, clip_l, clip_g, t5xxl, vae = sd3_train_utils.load_target_model( + args, accelerator, attn_mode, weight_dtype, t5xxl_device, t5xxl_dtype + ) + assert clip_l is not None, "clip_l is required / clip_lは必須です" + assert clip_g is not None, "clip_g is required / clip_gは必須です" + # logit_scale = logit_scale.to(accelerator.device, dtype=weight_dtype) + + # 学習を準備する + if cache_latents: + vae.to(accelerator.device, dtype=vae_dtype) + vae.requires_grad_(False) + vae.eval() + vae_wrapper = sd3_models.VAEWrapper(vae) # make SD/SDXL compatible + with torch.no_grad(): + train_dataset_group.cache_latents( + vae_wrapper, args.vae_batch_size, args.cache_latents_to_disk, accelerator.is_main_process, file_suffix="_sd3.npz" + ) + vae.to("cpu") + clean_memory_on_device(accelerator.device) + + accelerator.wait_for_everyone() + + # 学習を準備する:モデルを適切な状態にする + if args.gradient_checkpointing: + mmdit.enable_gradient_checkpointing() + train_mmdit = args.learning_rate != 0 + train_clip_l = False + train_clip_g = False + train_t5xxl = False + + # if args.train_text_encoder: + # # TODO each option for two text encoders? + # accelerator.print("enable text encoder training") + # if args.gradient_checkpointing: + # text_encoder1.gradient_checkpointing_enable() + # text_encoder2.gradient_checkpointing_enable() + # lr_te1 = args.learning_rate_te1 if args.learning_rate_te1 is not None else args.learning_rate # 0 means not train + # lr_te2 = args.learning_rate_te2 if args.learning_rate_te2 is not None else args.learning_rate # 0 means not train + # train_clip_l = lr_te1 != 0 + # train_clip_g = lr_te2 != 0 + + # # caching one text encoder output is not supported + # if not train_clip_l: + # text_encoder1.to(weight_dtype) + # if not train_clip_g: + # text_encoder2.to(weight_dtype) + # text_encoder1.requires_grad_(train_clip_l) + # text_encoder2.requires_grad_(train_clip_g) + # text_encoder1.train(train_clip_l) + # text_encoder2.train(train_clip_g) + # else: + clip_l.to(weight_dtype) + clip_g.to(weight_dtype) + clip_l.requires_grad_(False) + clip_g.requires_grad_(False) + clip_l.eval() + clip_g.eval() + if t5xxl is not None: + t5xxl.to(t5xxl_dtype) + t5xxl.requires_grad_(False) + t5xxl.eval() + + # TextEncoderの出力をキャッシュする + if args.cache_text_encoder_outputs: + # Text Encodes are eval and no grad + + with torch.no_grad(), accelerator.autocast(): + train_dataset_group.cache_text_encoder_outputs_sd3( + sd3_tokenizer, + (clip_l, clip_g, t5xxl), + (accelerator.device, accelerator.device, t5xxl_device), + None, + (None, None, None), + args.cache_text_encoder_outputs_to_disk, + accelerator.is_main_process, + ) + accelerator.wait_for_everyone() + + if not cache_latents: + vae.requires_grad_(False) + vae.eval() + vae.to(accelerator.device, dtype=vae_dtype) + + mmdit.requires_grad_(train_mmdit) + if not train_mmdit: + mmdit.to(accelerator.device, dtype=weight_dtype) # because of unet is not prepared + + training_models = [] + params_to_optimize = [] + # if train_unet: + training_models.append(mmdit) + # if block_lrs is None: + params_to_optimize.append({"params": list(mmdit.parameters()), "lr": args.learning_rate}) + # else: + # params_to_optimize.extend(get_block_params_to_optimize(mmdit, block_lrs)) + + # if train_clip_l: + # training_models.append(text_encoder1) + # params_to_optimize.append({"params": list(text_encoder1.parameters()), "lr": args.learning_rate_te1 or args.learning_rate}) + # if train_clip_g: + # training_models.append(text_encoder2) + # params_to_optimize.append({"params": list(text_encoder2.parameters()), "lr": args.learning_rate_te2 or args.learning_rate}) + + # calculate number of trainable parameters + n_params = 0 + for group in params_to_optimize: + for p in group["params"]: + n_params += p.numel() + + accelerator.print(f"train mmdit: {train_mmdit}") # , text_encoder1: {train_clip_l}, text_encoder2: {train_clip_g}") + accelerator.print(f"number of models: {len(training_models)}") + accelerator.print(f"number of trainable parameters: {n_params}") + + # 学習に必要なクラスを準備する + accelerator.print("prepare optimizer, data loader etc.") + + if args.fused_optimizer_groups: + # fused backward pass: https://pytorch.org/tutorials/intermediate/optimizer_step_in_backward_tutorial.html + # Instead of creating an optimizer for all parameters as in the tutorial, we create an optimizer for each group of parameters. + # This balances memory usage and management complexity. + + # calculate total number of parameters + n_total_params = sum(len(params["params"]) for params in params_to_optimize) + params_per_group = math.ceil(n_total_params / args.fused_optimizer_groups) + + # split params into groups, keeping the learning rate the same for all params in a group + # this will increase the number of groups if the learning rate is different for different params (e.g. U-Net and text encoders) + grouped_params = [] + param_group = [] + param_group_lr = -1 + for group in params_to_optimize: + lr = group["lr"] + for p in group["params"]: + # if the learning rate is different for different params, start a new group + if lr != param_group_lr: + if param_group: + grouped_params.append({"params": param_group, "lr": param_group_lr}) + param_group = [] + param_group_lr = lr + + param_group.append(p) + + # if the group has enough parameters, start a new group + if len(param_group) == params_per_group: + grouped_params.append({"params": param_group, "lr": param_group_lr}) + param_group = [] + param_group_lr = -1 + + if param_group: + grouped_params.append({"params": param_group, "lr": param_group_lr}) + + # prepare optimizers for each group + optimizers = [] + for group in grouped_params: + _, _, optimizer = train_util.get_optimizer(args, trainable_params=[group]) + optimizers.append(optimizer) + optimizer = optimizers[0] # avoid error in the following code + + logger.info(f"using {len(optimizers)} optimizers for fused optimizer groups") + + else: + _, _, optimizer = train_util.get_optimizer(args, trainable_params=params_to_optimize) + + # dataloaderを準備する + # DataLoaderのプロセス数:0 は persistent_workers が使えないので注意 + n_workers = min(args.max_data_loader_n_workers, os.cpu_count()) # cpu_count or max_data_loader_n_workers + train_dataloader = torch.utils.data.DataLoader( + train_dataset_group, + batch_size=1, + shuffle=True, + collate_fn=collator, + num_workers=n_workers, + persistent_workers=args.persistent_data_loader_workers, + ) + + # 学習ステップ数を計算する + if args.max_train_epochs is not None: + args.max_train_steps = args.max_train_epochs * math.ceil( + len(train_dataloader) / accelerator.num_processes / args.gradient_accumulation_steps + ) + accelerator.print( + f"override steps. steps for {args.max_train_epochs} epochs is / 指定エポックまでのステップ数: {args.max_train_steps}" + ) + + # データセット側にも学習ステップを送信 + train_dataset_group.set_max_train_steps(args.max_train_steps) + + # lr schedulerを用意する + if args.fused_optimizer_groups: + # prepare lr schedulers for each optimizer + lr_schedulers = [train_util.get_scheduler_fix(args, optimizer, accelerator.num_processes) for optimizer in optimizers] + lr_scheduler = lr_schedulers[0] # avoid error in the following code + else: + lr_scheduler = train_util.get_scheduler_fix(args, optimizer, accelerator.num_processes) + + # 実験的機能:勾配も含めたfp16/bf16学習を行う モデル全体をfp16/bf16にする + if args.full_fp16: + assert ( + args.mixed_precision == "fp16" + ), "full_fp16 requires mixed precision='fp16' / full_fp16を使う場合はmixed_precision='fp16'を指定してください。" + accelerator.print("enable full fp16 training.") + mmdit.to(weight_dtype) + clip_l.to(weight_dtype) + clip_g.to(weight_dtype) + if t5xxl is not None: + t5xxl.to(weight_dtype) # TODO check works with fp16 or not + elif args.full_bf16: + assert ( + args.mixed_precision == "bf16" + ), "full_bf16 requires mixed precision='bf16' / full_bf16を使う場合はmixed_precision='bf16'を指定してください。" + accelerator.print("enable full bf16 training.") + mmdit.to(weight_dtype) + clip_l.to(weight_dtype) + clip_g.to(weight_dtype) + if t5xxl is not None: + t5xxl.to(weight_dtype) + + # TODO check if this is necessary. SD3 uses pool for clip_l and clip_g + # # freeze last layer and final_layer_norm in te1 since we use the output of the penultimate layer + # if train_clip_l: + # text_encoder1.text_model.encoder.layers[-1].requires_grad_(False) + # text_encoder1.text_model.final_layer_norm.requires_grad_(False) + + if args.deepspeed: + ds_model = deepspeed_utils.prepare_deepspeed_model( + args, + mmdit=mmdit, + # mmdie=mmdit if train_mmdit else None, + # text_encoder1=text_encoder1 if train_clip_l else None, + # text_encoder2=text_encoder2 if train_clip_g else None, + ) + # most of ZeRO stage uses optimizer partitioning, so we have to prepare optimizer and ds_model at the same time. # pull/1139#issuecomment-1986790007 + ds_model, optimizer, train_dataloader, lr_scheduler = accelerator.prepare( + ds_model, optimizer, train_dataloader, lr_scheduler + ) + training_models = [ds_model] + + else: + # acceleratorがなんかよろしくやってくれるらしい + if train_mmdit: + mmdit = accelerator.prepare(mmdit) + # if train_clip_l: + # text_encoder1 = accelerator.prepare(text_encoder1) + # if train_clip_g: + # text_encoder2 = accelerator.prepare(text_encoder2) + optimizer, train_dataloader, lr_scheduler = accelerator.prepare(optimizer, train_dataloader, lr_scheduler) + + # TextEncoderの出力をキャッシュするときには、すでに出力を取得済みなのでCPUへ移動する + if args.cache_text_encoder_outputs: + # move Text Encoders for sampling images. Text Encoder doesn't work on CPU with fp16 + clip_l.to("cpu", dtype=torch.float32) + clip_g.to("cpu", dtype=torch.float32) + if t5xxl is not None: + t5xxl.to("cpu", dtype=torch.float32) + clean_memory_on_device(accelerator.device) + else: + # make sure Text Encoders are on GPU + # TODO support CPU for text encoders + clip_l.to(accelerator.device) + clip_g.to(accelerator.device) + if t5xxl is not None: + t5xxl.to(accelerator.device) + + # TODO cache sample prompt's embeddings to free text encoder's memory + if args.cache_text_encoder_outputs: + if not args.save_t5xxl: + t5xxl = None # free memory + clean_memory_on_device(accelerator.device) + + # 実験的機能:勾配も含めたfp16学習を行う PyTorchにパッチを当ててfp16でのgrad scaleを有効にする + if args.full_fp16: + # During deepseed training, accelerate not handles fp16/bf16|mixed precision directly via scaler. Let deepspeed engine do. + # -> But we think it's ok to patch accelerator even if deepspeed is enabled. + train_util.patch_accelerator_for_fp16_training(accelerator) + + # resumeする + train_util.resume_from_local_or_hf_if_specified(accelerator, args) + + if args.fused_backward_pass: + # use fused optimizer for backward pass: other optimizers will be supported in the future + import library.adafactor_fused + + library.adafactor_fused.patch_adafactor_fused(optimizer) + for param_group in optimizer.param_groups: + for parameter in param_group["params"]: + if parameter.requires_grad: + + def __grad_hook(tensor: torch.Tensor, param_group=param_group): + if accelerator.sync_gradients and args.max_grad_norm != 0.0: + accelerator.clip_grad_norm_(tensor, args.max_grad_norm) + optimizer.step_param(tensor, param_group) + tensor.grad = None + + parameter.register_post_accumulate_grad_hook(__grad_hook) + + elif args.fused_optimizer_groups: + # prepare for additional optimizers and lr schedulers + for i in range(1, len(optimizers)): + optimizers[i] = accelerator.prepare(optimizers[i]) + lr_schedulers[i] = accelerator.prepare(lr_schedulers[i]) + + # counters are used to determine when to step the optimizer + global optimizer_hooked_count + global num_parameters_per_group + global parameter_optimizer_map + + optimizer_hooked_count = {} + num_parameters_per_group = [0] * len(optimizers) + parameter_optimizer_map = {} + + for opt_idx, optimizer in enumerate(optimizers): + for param_group in optimizer.param_groups: + for parameter in param_group["params"]: + if parameter.requires_grad: + + def optimizer_hook(parameter: torch.Tensor): + if accelerator.sync_gradients and args.max_grad_norm != 0.0: + accelerator.clip_grad_norm_(parameter, args.max_grad_norm) + + i = parameter_optimizer_map[parameter] + optimizer_hooked_count[i] += 1 + if optimizer_hooked_count[i] == num_parameters_per_group[i]: + optimizers[i].step() + optimizers[i].zero_grad(set_to_none=True) + + parameter.register_post_accumulate_grad_hook(optimizer_hook) + parameter_optimizer_map[parameter] = opt_idx + num_parameters_per_group[opt_idx] += 1 + + # epoch数を計算する + num_update_steps_per_epoch = math.ceil(len(train_dataloader) / args.gradient_accumulation_steps) + num_train_epochs = math.ceil(args.max_train_steps / num_update_steps_per_epoch) + if (args.save_n_epoch_ratio is not None) and (args.save_n_epoch_ratio > 0): + args.save_every_n_epochs = math.floor(num_train_epochs / args.save_n_epoch_ratio) or 1 + + # 学習する + # total_batch_size = args.train_batch_size * accelerator.num_processes * args.gradient_accumulation_steps + accelerator.print("running training / 学習開始") + accelerator.print(f" num examples / サンプル数: {train_dataset_group.num_train_images}") + accelerator.print(f" num batches per epoch / 1epochのバッチ数: {len(train_dataloader)}") + accelerator.print(f" num epochs / epoch数: {num_train_epochs}") + accelerator.print( + f" batch size per device / バッチサイズ: {', '.join([str(d.batch_size) for d in train_dataset_group.datasets])}" + ) + # accelerator.print( + # f" total train batch size (with parallel & distributed & accumulation) / 総バッチサイズ(並列学習、勾配合計含む): {total_batch_size}" + # ) + accelerator.print(f" gradient accumulation steps / 勾配を合計するステップ数 = {args.gradient_accumulation_steps}") + accelerator.print(f" total optimization steps / 学習ステップ数: {args.max_train_steps}") + + progress_bar = tqdm(range(args.max_train_steps), smoothing=0, disable=not accelerator.is_local_main_process, desc="steps") + global_step = 0 + + # noise_scheduler = DDPMScheduler( + # beta_start=0.00085, beta_end=0.012, beta_schedule="scaled_linear", num_train_timesteps=1000, clip_sample=False + # ) + + noise_scheduler = sd3_train_utils.FlowMatchEulerDiscreteScheduler(num_train_timesteps=1000, shift=3.0) + noise_scheduler_copy = copy.deepcopy(noise_scheduler) + + # prepare_scheduler_for_custom_training(noise_scheduler, accelerator.device) + # if args.zero_terminal_snr: + # custom_train_functions.fix_noise_scheduler_betas_for_zero_terminal_snr(noise_scheduler) + + if accelerator.is_main_process: + init_kwargs = {} + if args.wandb_run_name: + init_kwargs["wandb"] = {"name": args.wandb_run_name} + if args.log_tracker_config is not None: + init_kwargs = toml.load(args.log_tracker_config) + accelerator.init_trackers( + "finetuning" if args.log_tracker_name is None else args.log_tracker_name, + config=train_util.get_sanitized_config_or_none(args), + init_kwargs=init_kwargs, + ) + + # # For --sample_at_first + # sd3_train_utils.sample_images( + # accelerator, args, 0, global_step, accelerator.device, vae, [tokenizer1, tokenizer2], [text_encoder1, text_encoder2], mmdit + # ) + + # following function will be moved to sd3_train_utils + + def get_sigmas(timesteps, n_dim=4, dtype=torch.float32): + sigmas = noise_scheduler_copy.sigmas.to(device=accelerator.device, dtype=dtype) + schedule_timesteps = noise_scheduler_copy.timesteps.to(accelerator.device) + timesteps = timesteps.to(accelerator.device) + step_indices = [(schedule_timesteps == t).nonzero().item() for t in timesteps] + + sigma = sigmas[step_indices].flatten() + while len(sigma.shape) < n_dim: + sigma = sigma.unsqueeze(-1) + return sigma + + def compute_density_for_timestep_sampling( + weighting_scheme: str, batch_size: int, logit_mean: float = None, logit_std: float = None, mode_scale: float = None + ): + """Compute the density for sampling the timesteps when doing SD3 training. + + Courtesy: This was contributed by Rafie Walker in https://github.com/huggingface/diffusers/pull/8528. + + SD3 paper reference: https://arxiv.org/abs/2403.03206v1. + """ + if weighting_scheme == "logit_normal": + # See 3.1 in the SD3 paper ($rf/lognorm(0.00,1.00)$). + u = torch.normal(mean=logit_mean, std=logit_std, size=(batch_size,), device="cpu") + u = torch.nn.functional.sigmoid(u) + elif weighting_scheme == "mode": + u = torch.rand(size=(batch_size,), device="cpu") + u = 1 - u - mode_scale * (torch.cos(math.pi * u / 2) ** 2 - 1 + u) + else: + u = torch.rand(size=(batch_size,), device="cpu") + return u + + def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): + """Computes loss weighting scheme for SD3 training. + + Courtesy: This was contributed by Rafie Walker in https://github.com/huggingface/diffusers/pull/8528. + + SD3 paper reference: https://arxiv.org/abs/2403.03206v1. + """ + if weighting_scheme == "sigma_sqrt": + weighting = (sigmas**-2.0).float() + elif weighting_scheme == "cosmap": + bot = 1 - 2 * sigmas + 2 * sigmas**2 + weighting = 2 / (math.pi * bot) + else: + weighting = torch.ones_like(sigmas) + return weighting + + loss_recorder = train_util.LossRecorder() + for epoch in range(num_train_epochs): + accelerator.print(f"\nepoch {epoch+1}/{num_train_epochs}") + current_epoch.value = epoch + 1 + + for m in training_models: + m.train() + + for step, batch in enumerate(train_dataloader): + current_step.value = global_step + + if args.fused_optimizer_groups: + optimizer_hooked_count = {i: 0 for i in range(len(optimizers))} # reset counter for each step + + with accelerator.accumulate(*training_models): + if "latents" in batch and batch["latents"] is not None: + latents = batch["latents"].to(accelerator.device).to(dtype=weight_dtype) + else: + with torch.no_grad(): + # encode images to latents. images are [-1, 1] + latents = vae.encode(batch["images"].to(vae_dtype)).to(weight_dtype) + + # NaNが含まれていれば警告を表示し0に置き換える + if torch.any(torch.isnan(latents)): + accelerator.print("NaN found in latents, replacing with zeros") + latents = torch.nan_to_num(latents, 0, out=latents) + # latents = latents * sdxl_model_util.VAE_SCALE_FACTOR + latents = sd3_models.SDVAE.process_in(latents) + + if "text_encoder_outputs1_list" not in batch or batch["text_encoder_outputs1_list"] is None: + # not cached, get text encoder outputs + # XXX This does not work yet + input_ids_clip_l, input_ids_clip_g, input_ids_t5xxl = batch["input_ids"] + with torch.set_grad_enabled(args.train_text_encoder): + # TODO support weighted captions + # TODO support length > 75 + input_ids_clip_l = input_ids_clip_l.to(accelerator.device) + input_ids_clip_g = input_ids_clip_g.to(accelerator.device) + input_ids_t5xxl = input_ids_t5xxl.to(accelerator.device) + + # get text encoder outputs: outputs are concatenated + context, pool = sd3_utils.get_cond_from_tokens( + input_ids_clip_l, input_ids_clip_g, input_ids_t5xxl, clip_l, clip_g, t5xxl + ) + else: + # encoder_hidden_states1 = batch["text_encoder_outputs1_list"].to(accelerator.device).to(weight_dtype) + # encoder_hidden_states2 = batch["text_encoder_outputs2_list"].to(accelerator.device).to(weight_dtype) + # pool2 = batch["text_encoder_pool2_list"].to(accelerator.device).to(weight_dtype) + # TODO this reuses SDXL keys, it should be fixed + lg_out = batch["text_encoder_outputs1_list"] + t5_out = batch["text_encoder_outputs2_list"] + pool = batch["text_encoder_pool2_list"] + context = torch.cat([lg_out, t5_out], dim=-2) + + # TODO support some features for noise implemented in get_noise_noisy_latents_and_timesteps + + # Sample noise that we'll add to the latents + noise = torch.randn_like(latents) + bsz = latents.shape[0] + + # Sample a random timestep for each image + # for weighting schemes where we sample timesteps non-uniformly + u = compute_density_for_timestep_sampling( + weighting_scheme=args.weighting_scheme, + batch_size=bsz, + logit_mean=args.logit_mean, + logit_std=args.logit_std, + mode_scale=args.mode_scale, + ) + indices = (u * noise_scheduler_copy.config.num_train_timesteps).long() + timesteps = noise_scheduler_copy.timesteps[indices].to(device=accelerator.device) + + # Add noise according to flow matching. + sigmas = get_sigmas(timesteps, n_dim=latents.ndim, dtype=weight_dtype) + noisy_model_input = sigmas * noise + (1.0 - sigmas) * latents + + # call model + with accelerator.autocast(): + model_pred = mmdit(noisy_model_input, timesteps, context=context, y=pool) + + # Follow: Section 5 of https://arxiv.org/abs/2206.00364. + # Preconditioning of the model outputs. + model_pred = model_pred * (-sigmas) + noisy_model_input + + # these weighting schemes use a uniform timestep sampling + # and instead post-weight the loss + weighting = compute_loss_weighting_for_sd3(weighting_scheme=args.weighting_scheme, sigmas=sigmas) + + # flow matching loss + target = latents + + # Compute regular loss. TODO simplify this + loss = torch.mean( + (weighting.float() * (model_pred.float() - target.float()) ** 2).reshape(target.shape[0], -1), + 1, + ) + loss = loss.mean() + + accelerator.backward(loss) + + if not (args.fused_backward_pass or args.fused_optimizer_groups): + if accelerator.sync_gradients and args.max_grad_norm != 0.0: + params_to_clip = [] + for m in training_models: + params_to_clip.extend(m.parameters()) + accelerator.clip_grad_norm_(params_to_clip, args.max_grad_norm) + + optimizer.step() + lr_scheduler.step() + optimizer.zero_grad(set_to_none=True) + else: + # optimizer.step() and optimizer.zero_grad() are called in the optimizer hook + lr_scheduler.step() + if args.fused_optimizer_groups: + for i in range(1, len(optimizers)): + lr_schedulers[i].step() + + # Checks if the accelerator has performed an optimization step behind the scenes + if accelerator.sync_gradients: + progress_bar.update(1) + global_step += 1 + + # sdxl_train_util.sample_images( + # accelerator, + # args, + # None, + # global_step, + # accelerator.device, + # vae, + # [tokenizer1, tokenizer2], + # [text_encoder1, text_encoder2], + # mmdit, + # ) + + # 指定ステップごとにモデルを保存 + if args.save_every_n_steps is not None and global_step % args.save_every_n_steps == 0: + accelerator.wait_for_everyone() + if accelerator.is_main_process: + sd3_train_utils.save_sd3_model_on_epoch_end_or_stepwise( + args, + False, + accelerator, + save_dtype, + epoch, + num_train_epochs, + global_step, + clip_l if args.save_clip else None, + clip_g if args.save_clip else None, + t5xxl if args.save_t5xxl else None, + mmdit, + vae, + ) + + current_loss = loss.detach().item() # 平均なのでbatch sizeは関係ないはず + if args.logging_dir is not None: + logs = {"loss": current_loss} + train_util.append_lr_to_logs(logs, lr_scheduler, args.optimizer_type, including_unet=train_mmdit) + + accelerator.log(logs, step=global_step) + + loss_recorder.add(epoch=epoch, step=step, loss=current_loss) + avr_loss: float = loss_recorder.moving_average + logs = {"avr_loss": avr_loss} # , "lr": lr_scheduler.get_last_lr()[0]} + progress_bar.set_postfix(**logs) + + if global_step >= args.max_train_steps: + break + + if args.logging_dir is not None: + logs = {"loss/epoch": loss_recorder.moving_average} + accelerator.log(logs, step=epoch + 1) + + accelerator.wait_for_everyone() + + if args.save_every_n_epochs is not None: + if accelerator.is_main_process: + sd3_train_utils.save_sd3_model_on_epoch_end_or_stepwise( + args, + True, + accelerator, + save_dtype, + epoch, + num_train_epochs, + global_step, + clip_l if args.save_clip else None, + clip_g if args.save_clip else None, + t5xxl if args.save_t5xxl else None, + mmdit, + vae, + ) + + # sdxl_train_util.sample_images( + # accelerator, + # args, + # epoch + 1, + # global_step, + # accelerator.device, + # vae, + # [tokenizer1, tokenizer2], + # [text_encoder1, text_encoder2], + # mmdit, + # ) + + is_main_process = accelerator.is_main_process + # if is_main_process: + mmdit = accelerator.unwrap_model(mmdit) + clip_l = accelerator.unwrap_model(clip_l) + clip_g = accelerator.unwrap_model(clip_g) + if t5xxl is not None: + t5xxl = accelerator.unwrap_model(t5xxl) + + accelerator.end_training() + + if args.save_state or args.save_state_on_train_end: + train_util.save_state_on_train_end(args, accelerator) + + del accelerator # この後メモリを使うのでこれは消す + + if is_main_process: + sd3_train_utils.save_sd3_model_on_train_end( + args, + save_dtype, + epoch, + global_step, + clip_l if args.save_clip else None, + clip_g if args.save_clip else None, + t5xxl if args.save_t5xxl else None, + mmdit, + vae, + ) + logger.info("model saved.") + + +def setup_parser() -> argparse.ArgumentParser: + parser = argparse.ArgumentParser() + + add_logging_arguments(parser) + train_util.add_sd_models_arguments(parser) + train_util.add_dataset_arguments(parser, True, True, True) + train_util.add_training_arguments(parser, False) + train_util.add_masked_loss_arguments(parser) + deepspeed_utils.add_deepspeed_arguments(parser) + train_util.add_sd_saving_arguments(parser) + train_util.add_optimizer_arguments(parser) + config_util.add_config_arguments(parser) + custom_train_functions.add_custom_train_arguments(parser) + sd3_train_utils.add_sd3_training_arguments(parser) + + # TE training is disabled temporarily + + # parser.add_argument( + # "--learning_rate_te1", + # type=float, + # default=None, + # help="learning rate for text encoder 1 (ViT-L) / text encoder 1 (ViT-L)の学習率", + # ) + # parser.add_argument( + # "--learning_rate_te2", + # type=float, + # default=None, + # help="learning rate for text encoder 2 (BiG-G) / text encoder 2 (BiG-G)の学習率", + # ) + + # parser.add_argument( + # "--diffusers_xformers", action="store_true", help="use xformers by diffusers / Diffusersでxformersを使用する" + # ) + # parser.add_argument("--train_text_encoder", action="store_true", help="train text encoder / text encoderも学習する") + # parser.add_argument( + # "--no_half_vae", + # action="store_true", + # help="do not use fp16/bf16 VAE in mixed precision (use float VAE) / mixed precisionでも fp16/bf16 VAEを使わずfloat VAEを使う", + # ) + # parser.add_argument( + # "--block_lr", + # type=str, + # default=None, + # help=f"learning rates for each block of U-Net, comma-separated, {UNET_NUM_BLOCKS_FOR_BLOCK_LR} values / " + # + f"U-Netの各ブロックの学習率、カンマ区切り、{UNET_NUM_BLOCKS_FOR_BLOCK_LR}個の値", + # ) + parser.add_argument( + "--fused_optimizer_groups", + type=int, + default=None, + help="number of optimizers for fused backward pass and optimizer step / fused backward passとoptimizer stepのためのoptimizer数", + ) + return parser + + +if __name__ == "__main__": + parser = setup_parser() + + args = parser.parse_args() + train_util.verify_command_line_training_args(args) + args = train_util.read_config_from_file(args, parser) + + train(args) From 0fe4eafac996fa5139a311aadc86aca28ddc6930 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Mon, 24 Jun 2024 23:12:48 +0900 Subject: [PATCH 094/748] fix to use zero for initial latent --- sd3_minimal_inference.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sd3_minimal_inference.py b/sd3_minimal_inference.py index 96e9da4ac..7f5f28cea 100644 --- a/sd3_minimal_inference.py +++ b/sd3_minimal_inference.py @@ -64,7 +64,8 @@ def do_sample( device: str, ): if initial_latent is None: - latent = torch.ones(1, 16, height // 8, width // 8, device=device) * 0.0609 + # latent = torch.ones(1, 16, height // 8, width // 8, device=device) * 0.0609 + latent = torch.zeros(1, 16, height // 8, width // 8, device=device) else: latent = initial_latent From 4802e4aaec74429f733fae289e41c5618ebb0e92 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Mon, 24 Jun 2024 23:13:14 +0900 Subject: [PATCH 095/748] workaround for long caption ref #1382 --- library/sd3_models.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/library/sd3_models.py b/library/sd3_models.py index a4fe400e3..c19aec6aa 100644 --- a/library/sd3_models.py +++ b/library/sd3_models.py @@ -56,7 +56,7 @@ def __init__( self.inv_vocab = {v: k for k, v in vocab.items()} self.max_word_length = 8 - def tokenize_with_weights(self, text: str): + def tokenize_with_weights(self, text: str, truncate_to_max_length=True, truncate_length=None): """Tokenize the text, with weight values - presume 1.0 for all and ignore other features here. The details aren't relevant for a reference impl, and weights themselves has weak effect on SD3.""" """ @@ -79,6 +79,14 @@ def tokenize_with_weights(self, text: str): batch.extend([(pad_token, 1.0)] * (self.max_length - len(batch))) if self.min_length is not None and len(batch) < self.min_length: batch.extend([(pad_token, 1.0)] * (self.min_length - len(batch))) + + # truncate to max_length + # print(f"batch: {batch}, truncate: {truncate}, len(batch): {len(batch)}, max_length: {self.max_length}") + if truncate_to_max_length and len(batch) > self.max_length: + batch = batch[: self.max_length] + if truncate_length is not None and len(batch) > truncate_length: + batch = batch[:truncate_length] + return [batch] @@ -112,10 +120,15 @@ def __init__(self, t5xxl=True): self.model_max_length = self.clip_l.max_length # 77 def tokenize_with_weights(self, text: str): + # temporary truncate to max_length even for t5xxl return ( self.clip_l.tokenize_with_weights(text), self.clip_g.tokenize_with_weights(text), - self.t5xxl.tokenize_with_weights(text) if self.t5xxl is not None else None, + ( + self.t5xxl.tokenize_with_weights(text, truncate_to_max_length=False, truncate_length=self.model_max_length) + if self.t5xxl is not None + else None + ), ) From 0b3e4f7ab62b7c93e66972b7bd2774b8fe679792 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Tue, 25 Jun 2024 20:03:09 +0900 Subject: [PATCH 096/748] show file name if error in load_image ref #1385 --- library/train_util.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index 4736ff4ff..760be33eb 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -2434,16 +2434,20 @@ def load_arbitrary_dataset(args, tokenizer) -> MinimalDataset: return train_dataset_group -def load_image(image_path, alpha=False): - image = Image.open(image_path) - if alpha: - if not image.mode == "RGBA": - image = image.convert("RGBA") - else: - if not image.mode == "RGB": - image = image.convert("RGB") - img = np.array(image, np.uint8) - return img +def load_image(image_path, alpha=False): + try: + with Image.open(image_path) as image: + if alpha: + if not image.mode == "RGBA": + image = image.convert("RGBA") + else: + if not image.mode == "RGB": + image = image.convert("RGB") + img = np.array(image, np.uint8) + return img + except (IOError, OSError) as e: + logger.error(f"Error loading file: {image_path}") + raise e # 画像を読み込む。戻り値はnumpy.ndarray,(original width, original height),(crop left, crop top, crop right, crop bottom) From 8f2ba27869e4c5b9225a309aeed275a47d8eed6a Mon Sep 17 00:00:00 2001 From: Kohya S Date: Wed, 26 Jun 2024 20:36:22 +0900 Subject: [PATCH 097/748] support text_encoder_batch_size for caching --- library/sd3_train_utils.py | 7 +++++++ library/train_util.py | 14 ++++++++++---- sd3_train.py | 1 + 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/library/sd3_train_utils.py b/library/sd3_train_utils.py index 4e45871f4..70c83c0ba 100644 --- a/library/sd3_train_utils.py +++ b/library/sd3_train_utils.py @@ -173,6 +173,13 @@ def add_sd3_training_arguments(parser: argparse.ArgumentParser): action="store_true", help="cache text encoder outputs to disk / text encoderの出力をディスクにキャッシュする", ) + parser.add_argument( + "--text_encoder_batch_size", + type=int, + default=None, + help="text encoder batch size (default: None, use dataset's batch size)" + + " / text encoderのバッチサイズ(デフォルト: None, データセットのバッチサイズを使用)", + ) parser.add_argument( "--disable_mmap_load_safetensors", action="store_true", diff --git a/library/train_util.py b/library/train_util.py index c67e8737c..96d32e3bc 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -1054,7 +1054,7 @@ def cache_text_encoder_outputs( # same as above, but for SD3 def cache_text_encoder_outputs_sd3( - self, tokenizer, text_encoders, devices, output_dtype, te_dtypes, cache_to_disk=False, is_main_process=True + self, tokenizer, text_encoders, devices, output_dtype, te_dtypes, cache_to_disk=False, is_main_process=True, batch_size=None ): return self.cache_text_encoder_outputs_common( [tokenizer], @@ -1065,6 +1065,7 @@ def cache_text_encoder_outputs_sd3( cache_to_disk, is_main_process, TEXT_ENCODER_OUTPUTS_CACHE_SUFFIX_SD3, + batch_size, ) def cache_text_encoder_outputs_common( @@ -1077,10 +1078,15 @@ def cache_text_encoder_outputs_common( cache_to_disk=False, is_main_process=True, file_suffix=TEXT_ENCODER_OUTPUTS_CACHE_SUFFIX, + batch_size=None, ): # latentsのキャッシュと同様に、ディスクへのキャッシュに対応する # またマルチGPUには対応していないので、そちらはtools/cache_latents.pyを使うこと logger.info("caching text encoder outputs.") + + if batch_size is None: + batch_size = self.batch_size + image_infos = list(self.image_data.values()) logger.info("checking cache existence...") @@ -1122,7 +1128,7 @@ def cache_text_encoder_outputs_common( l_tokens, g_tokens, t5_tokens = tokenizers[0].tokenize_with_weights(info.caption) batch.append((info, l_tokens, g_tokens, t5_tokens)) - if len(batch) >= self.batch_size: + if len(batch) >= batch_size: batches.append(batch) batch = [] @@ -2209,12 +2215,12 @@ def cache_text_encoder_outputs( dataset.cache_text_encoder_outputs(tokenizers, text_encoders, device, weight_dtype, cache_to_disk, is_main_process) def cache_text_encoder_outputs_sd3( - self, tokenizer, text_encoders, device, output_dtype, te_dtypes, cache_to_disk=False, is_main_process=True + self, tokenizer, text_encoders, device, output_dtype, te_dtypes, cache_to_disk=False, is_main_process=True, batch_size=None ): for i, dataset in enumerate(self.datasets): logger.info(f"[Dataset {i}]") dataset.cache_text_encoder_outputs_sd3( - tokenizer, text_encoders, device, output_dtype, te_dtypes, cache_to_disk, is_main_process + tokenizer, text_encoders, device, output_dtype, te_dtypes, cache_to_disk, is_main_process, batch_size ) def set_caching_mode(self, caching_mode): diff --git a/sd3_train.py b/sd3_train.py index 0721b2ae4..8216a62b3 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -254,6 +254,7 @@ def train(args): (None, None, None), args.cache_text_encoder_outputs_to_disk, accelerator.is_main_process, + args.text_encoder_batch_size, ) accelerator.wait_for_everyone() From 828a581e2968935c00d22e7e03ca32c1281aa5dd Mon Sep 17 00:00:00 2001 From: Kohya S Date: Wed, 26 Jun 2024 20:43:31 +0900 Subject: [PATCH 098/748] fix assertion for experimental impl ref #1389 --- sd3_train.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/sd3_train.py b/sd3_train.py index 8216a62b3..ea9a11049 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -60,9 +60,19 @@ def train(args): assert ( not args.weighted_captions ), "weighted_captions is not supported currently / weighted_captionsは現在サポートされていません" + # assert ( + # not args.train_text_encoder or not args.cache_text_encoder_outputs + # ), "cache_text_encoder_outputs is not supported when training text encoder / text encoderを学習するときはcache_text_encoder_outputsはサポートされていません" + + # training text encoder is not supported + assert ( + not args.train_text_encoder + ), "training text encoder is not supported currently / text encoderの学習は現在サポートされていません" + + # training without text encoder cache is not supported assert ( - not args.train_text_encoder or not args.cache_text_encoder_outputs - ), "cache_text_encoder_outputs is not supported when training text encoder / text encoderを学習するときはcache_text_encoder_outputsはサポートされていません" + args.cache_text_encoder_outputs + ), "training without text encoder cache is not supported currently / text encoderのキャッシュなしの学習は現在サポートされていません" # if args.block_lr: # block_lrs = [float(lr) for lr in args.block_lr.split(",")] From 381598c8bbd3d4e50ec4327fa27d5d0072ec2a67 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Wed, 26 Jun 2024 21:15:02 +0900 Subject: [PATCH 099/748] fix resolution in metadata for sd3 --- library/sai_model_spec.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/sai_model_spec.py b/library/sai_model_spec.py index f7bf644d7..af073677e 100644 --- a/library/sai_model_spec.py +++ b/library/sai_model_spec.py @@ -216,7 +216,7 @@ def build_metadata( reso = (reso[0], reso[0]) else: # resolution is defined in dataset, so use default - if sdxl: + if sdxl or sd3 is not None: reso = 1024 elif v2 and v_parameterization: reso = 768 From 66cf43547972647389fbd2addb53cff2ab478660 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 27 Jun 2024 13:14:09 +0900 Subject: [PATCH 100/748] re-fix assertion ref #1389 --- sd3_train.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sd3_train.py b/sd3_train.py index ea9a11049..b6c932c4c 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -64,10 +64,10 @@ def train(args): # not args.train_text_encoder or not args.cache_text_encoder_outputs # ), "cache_text_encoder_outputs is not supported when training text encoder / text encoderを学習するときはcache_text_encoder_outputsはサポートされていません" - # training text encoder is not supported - assert ( - not args.train_text_encoder - ), "training text encoder is not supported currently / text encoderの学習は現在サポートされていません" + # # training text encoder is not supported + # assert ( + # not args.train_text_encoder + # ), "training text encoder is not supported currently / text encoderの学習は現在サポートされていません" # training without text encoder cache is not supported assert ( From 19086465e8040c01c38d38eec5c53f966f0dad8b Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sat, 29 Jun 2024 17:21:25 +0900 Subject: [PATCH 101/748] Fix fp16 mixed precision, model is in bf16 without full_bf16 --- README.md | 11 +++++++-- library/sd3_train_utils.py | 10 +++++---- library/sd3_utils.py | 46 +++++++++++++++++++++++++++++++++----- sd3_train.py | 9 +++++--- 4 files changed, 61 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 34aa2bb2f..3eed636c5 100644 --- a/README.md +++ b/README.md @@ -4,21 +4,28 @@ This repository contains training, generation and utility scripts for Stable Dif SD3 training is done with `sd3_train.py`. +__Jun 29, 2024__: Fixed mixed precision training with fp16 is not working. Fixed the model is in bf16 dtype even without `--full_bf16` option (this could worsen the training result). + +`fp16` and `bf16` are available for mixed precision training. We are not sure which is better. + `optimizer_type = "adafactor"` is recommended for 24GB VRAM GPUs. `cache_text_encoder_outputs_to_disk` and `cache_latents_to_disk` are necessary currently. `clip_l`, `clip_g` and `t5xxl` can be specified if the checkpoint does not include them. -t5xxl doesn't seem to work with `fp16`, so use`bf16` or `fp32`. +t5xxl doesn't seem to work with `fp16`, so 1) use`bf16` for mixed precision, or 2) use `bf16` or `float32` for `t5xxl_dtype`. There are `t5xxl_device` and `t5xxl_dtype` options for `t5xxl` device and dtype. +`text_encoder_batch_size` is added experimentally for caching faster. + ```toml -learning_rate = 1e-5 # seems to be too high +learning_rate = 1e-6 # seems to depend on the batch size optimizer_type = "adafactor" optimizer_args = [ "scale_parameter=False", "relative_step=False", "warmup_init=False" ] cache_text_encoder_outputs = true cache_text_encoder_outputs_to_disk = true vae_batch_size = 1 +text_encoder_batch_size = 4 cache_latents = true cache_latents_to_disk = true ``` diff --git a/library/sd3_train_utils.py b/library/sd3_train_utils.py index 70c83c0ba..c8d52e1c8 100644 --- a/library/sd3_train_utils.py +++ b/library/sd3_train_utils.py @@ -28,14 +28,14 @@ from .sdxl_train_util import match_mixed_precision -def load_target_model(args, accelerator, attn_mode, weight_dtype, t5xxl_device, t5xxl_dtype) -> Tuple[ +def load_target_model(args, accelerator, attn_mode, weight_dtype, clip_dtype, t5xxl_device, t5xxl_dtype, vae_dtype) -> Tuple[ sd3_models.MMDiT, Optional[sd3_models.SDClipModel], Optional[sd3_models.SDXLClipG], Optional[sd3_models.T5XXLModel], sd3_models.SDVAE, ]: - model_dtype = match_mixed_precision(args, weight_dtype) # prepare fp16/bf16 + model_dtype = match_mixed_precision(args, weight_dtype) # prepare fp16/bf16, None or fp16/bf16 for pi in range(accelerator.state.num_processes): if pi == accelerator.state.local_process_index: @@ -49,13 +49,15 @@ def load_target_model(args, accelerator, attn_mode, weight_dtype, t5xxl_device, args.vae, attn_mode, accelerator.device if args.lowram else "cpu", - weight_dtype, + model_dtype, args.disable_mmap_load_safetensors, + clip_dtype, t5xxl_device, t5xxl_dtype, + vae_dtype, ) - # work on low-ram device + # work on low-ram device: models are already loaded on accelerator.device, but we ensure they are on device if args.lowram: if clip_l is not None: clip_l.to(accelerator.device) diff --git a/library/sd3_utils.py b/library/sd3_utils.py index c2c914123..45b49b04b 100644 --- a/library/sd3_utils.py +++ b/library/sd3_utils.py @@ -28,11 +28,41 @@ def load_models( vae_path: str, attn_mode: str, device: Union[str, torch.device], - weight_dtype: torch.dtype, + default_dtype: Optional[Union[str, torch.dtype]] = None, disable_mmap: bool = False, - t5xxl_device: Optional[str] = None, - t5xxl_dtype: Optional[str] = None, + clip_dtype: Optional[Union[str, torch.dtype]] = None, + t5xxl_device: Optional[Union[str, torch.device]] = None, + t5xxl_dtype: Optional[Union[str, torch.dtype]] = None, + vae_dtype: Optional[Union[str, torch.dtype]] = None, ): + """ + Load SD3 models from checkpoint files. + + Args: + ckpt_path: Path to the SD3 checkpoint file. + clip_l_path: Path to the clip_l checkpoint file. + clip_g_path: Path to the clip_g checkpoint file. + t5xxl_path: Path to the t5xxl checkpoint file. + vae_path: Path to the VAE checkpoint file. + attn_mode: Attention mode for MMDiT model. + device: Device for MMDiT model. + default_dtype: Default dtype for each model. In training, it's usually None. None means using float32. + disable_mmap: Disable memory mapping when loading state dict. + clip_dtype: Dtype for Clip models, or None to use default dtype. + t5xxl_device: Device for T5XXL model to load T5XXL in another device (eg. gpu). Default is None to use device. + t5xxl_dtype: Dtype for T5XXL model, or None to use default dtype. + vae_dtype: Dtype for VAE model, or None to use default dtype. + + Returns: + Tuple of MMDiT, ClipL, ClipG, T5XXL, and VAE models. + """ + + # In SD1/2 and SDXL, the model is created with empty weights and then loaded with state dict. + # However, in SD3, Clip and T5XXL models are created with dtype, so we need to set dtype before loading state dict. + # Therefore, we need clip_dtype and t5xxl_dtype. + + # default_dtype is used for full_fp16/full_bf16 training. + def load_state_dict(path: str, dvc: Union[str, torch.device] = device): if disable_mmap: return safetensors.torch.load(open(path, "rb").read()) @@ -43,6 +73,9 @@ def load_state_dict(path: str, dvc: Union[str, torch.device] = device): return load_file(path) # prevent device invalid Error t5xxl_device = t5xxl_device or device + clip_dtype = clip_dtype or default_dtype or torch.float32 + t5xxl_dtype = t5xxl_dtype or default_dtype or torch.float32 + vae_dtype = vae_dtype or default_dtype or torch.float32 logger.info(f"Loading SD3 models from {ckpt_path}...") state_dict = load_state_dict(ckpt_path) @@ -124,7 +157,7 @@ def load_state_dict(path: str, dvc: Union[str, torch.device] = device): mmdit = sd3_models.create_mmdit_sd3_medium_configs(attn_mode) logger.info("Loading state dict...") - info = sdxl_model_util._load_state_dict_on_device(mmdit, state_dict, device, weight_dtype) + info = sdxl_model_util._load_state_dict_on_device(mmdit, state_dict, device, default_dtype) logger.info(f"Loaded MMDiT: {info}") # load ClipG and ClipL @@ -132,7 +165,7 @@ def load_state_dict(path: str, dvc: Union[str, torch.device] = device): clip_l = None else: logger.info("Building ClipL") - clip_l = sd3_models.create_clip_l(device, weight_dtype, clip_l_sd) + clip_l = sd3_models.create_clip_l(device, clip_dtype, clip_l_sd) logger.info("Loading state dict...") info = clip_l.load_state_dict(clip_l_sd) logger.info(f"Loaded ClipL: {info}") @@ -142,7 +175,7 @@ def load_state_dict(path: str, dvc: Union[str, torch.device] = device): clip_g = None else: logger.info("Building ClipG") - clip_g = sd3_models.create_clip_g(device, weight_dtype, clip_g_sd) + clip_g = sd3_models.create_clip_g(device, clip_dtype, clip_g_sd) logger.info("Loading state dict...") info = clip_g.load_state_dict(clip_g_sd) logger.info(f"Loaded ClipG: {info}") @@ -165,6 +198,7 @@ def load_state_dict(path: str, dvc: Union[str, torch.device] = device): logger.info("Loading state dict...") info = vae.load_state_dict(vae_sd) logger.info(f"Loaded VAE: {info}") + vae.to(device=device, dtype=vae_dtype) return mmdit, clip_l, clip_g, t5xxl, vae diff --git a/sd3_train.py b/sd3_train.py index b6c932c4c..bd30cdc72 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -182,6 +182,8 @@ def train(args): raise ValueError(f"unexpected t5xxl_dtype: {args.t5xxl_dtype}") t5xxl_device = accelerator.device if args.t5xxl_device is None else args.t5xxl_device + clip_dtype = weight_dtype # if not args.train_text_encoder else None + # モデルを読み込む attn_mode = "xformers" if args.xformers else "torch" @@ -189,8 +191,9 @@ def train(args): attn_mode == "torch" ), f"attn_mode {attn_mode} is not supported. Please use `--sdpa` instead of `--xformers`. / attn_mode {attn_mode} はサポートされていません。`--xformers`の代わりに`--sdpa`を使ってください。" + # models are usually loaded on CPU and moved to GPU later. This is to avoid OOM on GPU0. mmdit, clip_l, clip_g, t5xxl, vae = sd3_train_utils.load_target_model( - args, accelerator, attn_mode, weight_dtype, t5xxl_device, t5xxl_dtype + args, accelerator, attn_mode, None, clip_dtype, t5xxl_device, t5xxl_dtype, vae_dtype ) assert clip_l is not None, "clip_l is required / clip_lは必須です" assert clip_g is not None, "clip_g is required / clip_gは必須です" @@ -868,8 +871,9 @@ def setup_parser() -> argparse.ArgumentParser: custom_train_functions.add_custom_train_arguments(parser) sd3_train_utils.add_sd3_training_arguments(parser) - # TE training is disabled temporarily + # parser.add_argument("--train_text_encoder", action="store_true", help="train text encoder / text encoderも学習する") + # TE training is disabled temporarily # parser.add_argument( # "--learning_rate_te1", # type=float, @@ -886,7 +890,6 @@ def setup_parser() -> argparse.ArgumentParser: # parser.add_argument( # "--diffusers_xformers", action="store_true", help="use xformers by diffusers / Diffusersでxformersを使用する" # ) - # parser.add_argument("--train_text_encoder", action="store_true", help="train text encoder / text encoderも学習する") # parser.add_argument( # "--no_half_vae", # action="store_true", From ea18d5ba6d856995d5c44be4b449b63ac66fe5db Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sat, 29 Jun 2024 17:45:50 +0900 Subject: [PATCH 102/748] Fix to work full_bf16 and full_fp16. --- library/sd3_models.py | 8 ++++++++ library/sd3_utils.py | 14 ++++++-------- sd3_train.py | 20 ++++++++++---------- 3 files changed, 24 insertions(+), 18 deletions(-) diff --git a/library/sd3_models.py b/library/sd3_models.py index c19aec6aa..7041420cb 100644 --- a/library/sd3_models.py +++ b/library/sd3_models.py @@ -891,6 +891,14 @@ def __init__( def model_type(self): return "m" # only support medium + @property + def device(self): + return next(self.parameters()).device + + @property + def dtype(self): + return next(self.parameters()).dtype + def enable_gradient_checkpointing(self): self.gradient_checkpointing = True for block in self.joint_blocks: diff --git a/library/sd3_utils.py b/library/sd3_utils.py index 45b49b04b..9dc9e7967 100644 --- a/library/sd3_utils.py +++ b/library/sd3_utils.py @@ -28,7 +28,7 @@ def load_models( vae_path: str, attn_mode: str, device: Union[str, torch.device], - default_dtype: Optional[Union[str, torch.dtype]] = None, + weight_dtype: Optional[Union[str, torch.dtype]] = None, disable_mmap: bool = False, clip_dtype: Optional[Union[str, torch.dtype]] = None, t5xxl_device: Optional[Union[str, torch.device]] = None, @@ -46,7 +46,7 @@ def load_models( vae_path: Path to the VAE checkpoint file. attn_mode: Attention mode for MMDiT model. device: Device for MMDiT model. - default_dtype: Default dtype for each model. In training, it's usually None. None means using float32. + weight_dtype: Default dtype of weights for all models. This is weight dtype, so the model dtype may be different. disable_mmap: Disable memory mapping when loading state dict. clip_dtype: Dtype for Clip models, or None to use default dtype. t5xxl_device: Device for T5XXL model to load T5XXL in another device (eg. gpu). Default is None to use device. @@ -61,8 +61,6 @@ def load_models( # However, in SD3, Clip and T5XXL models are created with dtype, so we need to set dtype before loading state dict. # Therefore, we need clip_dtype and t5xxl_dtype. - # default_dtype is used for full_fp16/full_bf16 training. - def load_state_dict(path: str, dvc: Union[str, torch.device] = device): if disable_mmap: return safetensors.torch.load(open(path, "rb").read()) @@ -73,9 +71,9 @@ def load_state_dict(path: str, dvc: Union[str, torch.device] = device): return load_file(path) # prevent device invalid Error t5xxl_device = t5xxl_device or device - clip_dtype = clip_dtype or default_dtype or torch.float32 - t5xxl_dtype = t5xxl_dtype or default_dtype or torch.float32 - vae_dtype = vae_dtype or default_dtype or torch.float32 + clip_dtype = clip_dtype or weight_dtype or torch.float32 + t5xxl_dtype = t5xxl_dtype or weight_dtype or torch.float32 + vae_dtype = vae_dtype or weight_dtype or torch.float32 logger.info(f"Loading SD3 models from {ckpt_path}...") state_dict = load_state_dict(ckpt_path) @@ -157,7 +155,7 @@ def load_state_dict(path: str, dvc: Union[str, torch.device] = device): mmdit = sd3_models.create_mmdit_sd3_medium_configs(attn_mode) logger.info("Loading state dict...") - info = sdxl_model_util._load_state_dict_on_device(mmdit, state_dict, device, default_dtype) + info = sdxl_model_util._load_state_dict_on_device(mmdit, state_dict, device, weight_dtype) logger.info(f"Loaded MMDiT: {info}") # load ClipG and ClipL diff --git a/sd3_train.py b/sd3_train.py index bd30cdc72..de763ac6d 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -182,7 +182,7 @@ def train(args): raise ValueError(f"unexpected t5xxl_dtype: {args.t5xxl_dtype}") t5xxl_device = accelerator.device if args.t5xxl_device is None else args.t5xxl_device - clip_dtype = weight_dtype # if not args.train_text_encoder else None + clip_dtype = weight_dtype # if not args.train_text_encoder else None # モデルを読み込む attn_mode = "xformers" if args.xformers else "torch" @@ -193,7 +193,7 @@ def train(args): # models are usually loaded on CPU and moved to GPU later. This is to avoid OOM on GPU0. mmdit, clip_l, clip_g, t5xxl, vae = sd3_train_utils.load_target_model( - args, accelerator, attn_mode, None, clip_dtype, t5xxl_device, t5xxl_dtype, vae_dtype + args, accelerator, attn_mode, weight_dtype, clip_dtype, t5xxl_device, t5xxl_dtype, vae_dtype ) assert clip_l is not None, "clip_l is required / clip_lは必須です" assert clip_g is not None, "clip_g is required / clip_gは必須です" @@ -769,10 +769,10 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): epoch, num_train_epochs, global_step, - clip_l if args.save_clip else None, - clip_g if args.save_clip else None, - t5xxl if args.save_t5xxl else None, - mmdit, + accelerator.unwrap_model(clip_l) if args.save_clip else None, + accelerator.unwrap_model(clip_g) if args.save_clip else None, + accelerator.unwrap_model(t5xxl) if args.save_t5xxl else None, + accelerator.unwrap_model(mmdit), vae, ) @@ -807,10 +807,10 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): epoch, num_train_epochs, global_step, - clip_l if args.save_clip else None, - clip_g if args.save_clip else None, - t5xxl if args.save_t5xxl else None, - mmdit, + accelerator.unwrap_model(clip_l) if args.save_clip else None, + accelerator.unwrap_model(clip_g) if args.save_clip else None, + accelerator.unwrap_model(t5xxl) if args.save_t5xxl else None, + accelerator.unwrap_model(mmdit), vae, ) From 50e3d6247459c9f59facaef42e03b34cd8d6287d Mon Sep 17 00:00:00 2001 From: Kohya S Date: Mon, 8 Jul 2024 19:46:23 +0900 Subject: [PATCH 103/748] fix to work T5XXL with fp16 --- library/sd3_models.py | 144 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 138 insertions(+), 6 deletions(-) diff --git a/library/sd3_models.py b/library/sd3_models.py index 7041420cb..e4c0790d9 100644 --- a/library/sd3_models.py +++ b/library/sd3_models.py @@ -1124,7 +1124,12 @@ def __init__(self, in_channels, dtype=torch.float32, device=None): self.conv = torch.nn.Conv2d(in_channels, in_channels, kernel_size=3, stride=1, padding=1, dtype=dtype, device=device) def forward(self, x): + org_dtype = x.dtype + if x.dtype == torch.bfloat16: + x = x.to(torch.float32) x = torch.nn.functional.interpolate(x, scale_factor=2.0, mode="nearest") + if x.dtype != org_dtype: + x = x.to(org_dtype) x = self.conv(x) return x @@ -1263,11 +1268,11 @@ def device(self): def dtype(self): return next(self.parameters()).dtype - @torch.autocast("cuda", dtype=torch.float16) + # @torch.autocast("cuda", dtype=torch.float16) def decode(self, latent): return self.decoder(latent) - @torch.autocast("cuda", dtype=torch.float16) + # @torch.autocast("cuda", dtype=torch.float16) def encode(self, image): hidden = self.encoder(image) mean, logvar = torch.chunk(hidden, 2, dim=1) @@ -1630,10 +1635,25 @@ def __init__(self, hidden_size, eps=1e-6, dtype=None, device=None): self.weight = torch.nn.Parameter(torch.ones(hidden_size, dtype=dtype, device=device)) self.variance_epsilon = eps - def forward(self, x): - variance = x.pow(2).mean(-1, keepdim=True) - x = x * torch.rsqrt(variance + self.variance_epsilon) - return self.weight.to(device=x.device, dtype=x.dtype) * x + # def forward(self, x): + # variance = x.pow(2).mean(-1, keepdim=True) + # x = x * torch.rsqrt(variance + self.variance_epsilon) + # return self.weight.to(device=x.device, dtype=x.dtype) * x + + # copy from transformers' T5LayerNorm + def forward(self, hidden_states): + # T5 uses a layer_norm which only scales and doesn't shift, which is also known as Root Mean + # Square Layer Normalization https://arxiv.org/abs/1910.07467 thus varience is calculated + # w/o mean and there is no bias. Additionally we want to make sure that the accumulation for + # half-precision inputs is done in fp32 + 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 T5DenseGatedActDense(torch.nn.Module): @@ -1775,7 +1795,27 @@ def __init__(self, model_dim, inner_dim, ff_dim, num_heads, relative_attention_b def forward(self, x, past_bias=None): x, past_bias = self.layer[0](x, past_bias) + + # copy from transformers' T5Block + # clamp inf values to enable fp16 training + if x.dtype == torch.float16: + clamp_value = torch.where( + torch.isinf(x).any(), + torch.finfo(x.dtype).max - 1000, + torch.finfo(x.dtype).max, + ) + x = torch.clamp(x, min=-clamp_value, max=clamp_value) + x = self.layer[-1](x) + # clamp inf values to enable fp16 training + if x.dtype == torch.float16: + clamp_value = torch.where( + torch.isinf(x).any(), + torch.finfo(x.dtype).max - 1000, + torch.finfo(x.dtype).max, + ) + x = torch.clamp(x, min=-clamp_value, max=clamp_value) + return x, past_bias @@ -1896,4 +1936,96 @@ def create_t5xxl(device="cpu", dtype=torch.float32, state_dict: Optional[Dict[st return t5 +""" + # snippet for using the T5 model from transformers + + from transformers import T5EncoderModel, T5Config + import accelerate + import json + + T5_CONFIG_JSON = "" +{ + "architectures": [ + "T5EncoderModel" + ], + "classifier_dropout": 0.0, + "d_ff": 10240, + "d_kv": 64, + "d_model": 4096, + "decoder_start_token_id": 0, + "dense_act_fn": "gelu_new", + "dropout_rate": 0.1, + "eos_token_id": 1, + "feed_forward_proj": "gated-gelu", + "initializer_factor": 1.0, + "is_encoder_decoder": true, + "is_gated_act": true, + "layer_norm_epsilon": 1e-06, + "model_type": "t5", + "num_decoder_layers": 24, + "num_heads": 64, + "num_layers": 24, + "output_past": true, + "pad_token_id": 0, + "relative_attention_max_distance": 128, + "relative_attention_num_buckets": 32, + "tie_word_embeddings": false, + "torch_dtype": "float16", + "transformers_version": "4.41.2", + "use_cache": true, + "vocab_size": 32128 +} +"" + config = json.loads(T5_CONFIG_JSON) + config = T5Config(**config) + + # model = T5EncoderModel.from_pretrained("stabilityai/stable-diffusion-3-medium-diffusers", subfolder="text_encoder_3") + # print(model.config) + # # model(**load_model.config) + + # with accelerate.init_empty_weights(): + model = T5EncoderModel._from_config(config) # , torch_dtype=dtype) + for key in list(state_dict.keys()): + if key.startswith("transformer."): + new_key = key[len("transformer.") :] + state_dict[new_key] = state_dict.pop(key) + + info = model.load_state_dict(state_dict) + print(info) + model.set_attn_mode = lambda x: None + # model.to("cpu") + + _self = model + + def enc(list_of_token_weight_pairs): + has_batch = isinstance(list_of_token_weight_pairs[0][0], list) + + if has_batch: + list_of_tokens = [] + for pairs in list_of_token_weight_pairs: + tokens = [a[0] for a in pairs[0]] # I'm not sure why this is [0] + list_of_tokens.append(tokens) + else: + list_of_tokens = [[a[0] for a in list_of_token_weight_pairs[0]]] + + list_of_tokens = np.array(list_of_tokens) + list_of_tokens = torch.from_numpy(list_of_tokens).to("cuda", dtype=torch.long) + out = _self(list_of_tokens) + pooled = None + if has_batch: + return out, pooled + else: + if pooled is not None: + first_pooled = pooled[0:1] + else: + first_pooled = pooled + return out[0], first_pooled + # output = [out[0:1]] + # return torch.cat(output, dim=-2), first_pooled + + model.encode_token_weights = enc + + return model +""" + # endregion From c9de7c4e9a3d02ab6f18f105c880a9ba88b667ab Mon Sep 17 00:00:00 2001 From: Kohya S Date: Mon, 8 Jul 2024 19:48:28 +0900 Subject: [PATCH 104/748] WIP: new latents caching --- library/sd3_train_utils.py | 94 +++++++++++++++++++++++- library/train_util.py | 147 ++++++++++++++++++++++++++++++++++++- sd3_train.py | 37 +++++++++- 3 files changed, 270 insertions(+), 8 deletions(-) diff --git a/library/sd3_train_utils.py b/library/sd3_train_utils.py index c8d52e1c8..9309ee30c 100644 --- a/library/sd3_train_utils.py +++ b/library/sd3_train_utils.py @@ -1,7 +1,7 @@ import argparse import math import os -from typing import Optional, Tuple +from typing import List, Optional, Tuple import torch from safetensors.torch import save_file @@ -283,6 +283,98 @@ def sample_images(*args, **kwargs): return train_util.sample_images_common(SdxlStableDiffusionLongPromptWeightingPipeline, *args, **kwargs) +class Sd3LatensCachingStrategy(train_util.LatentsCachingStrategy): + SD3_LATENTS_NPZ_SUFFIX = "_sd3.npz" + + def __init__(self, vae: sd3_models.SDVAE, cache_to_disk: bool, batch_size: int, skip_disk_cache_validity_check: bool) -> None: + super().__init__(cache_to_disk, batch_size, skip_disk_cache_validity_check) + self.vae = vae + + def get_latents_npz_path(self, absolute_path: str): + return os.path.splitext(absolute_path)[0] + self.SD3_LATENTS_NPZ_SUFFIX + + def is_disk_cached_latents_expected(self, bucket_reso: Tuple[int, int], npz_path: str, flip_aug: bool, alpha_mask: bool): + if not self.cache_to_disk: + return False + if not os.path.exists(npz_path): + return False + if self.skip_disk_cache_validity_check: + return True + + expected_latents_size = (bucket_reso[1] // 8, bucket_reso[0] // 8) # bucket_reso is (W, H) + + try: + npz = np.load(npz_path) + if npz["latents"].shape[1:3] != expected_latents_size: + return False + + if flip_aug: + if "latents_flipped" not in npz: + return False + if npz["latents_flipped"].shape[1:3] != expected_latents_size: + return False + + if alpha_mask: + if "alpha_mask" not in npz: + return False + if npz["alpha_mask"].shape[0:2] != (bucket_reso[1], bucket_reso[0]): + return False + else: + if "alpha_mask" in npz: + return False + except Exception as e: + logger.error(f"Error loading file: {npz_path}") + raise e + + return True + + def cache_batch_latents(self, image_infos: List[train_util.ImageInfo], flip_aug: bool, alpha_mask: bool, random_crop: bool): + img_tensor, alpha_masks, original_sizes, crop_ltrbs = train_util.load_images_and_masks_for_caching( + image_infos, alpha_mask, random_crop + ) + img_tensor = img_tensor.to(device=self.vae.device, dtype=self.vae.dtype) + + with torch.no_grad(): + latents = self.vae.encode(img_tensor).to("cpu") + if flip_aug: + img_tensor = torch.flip(img_tensor, dims=[3]) + with torch.no_grad(): + flipped_latents = self.vae.encode(img_tensor).to("cpu") + else: + flipped_latents = [None] * len(latents) + + for info, latent, flipped_latent, alpha_mask in zip(image_infos, latents, flipped_latents, alpha_masks): + if self.cache_to_disk: + # save_latents_to_disk( + # info.latents_npz, + # latent, + # info.latents_original_size, + # info.latents_crop_ltrb, + # flipped_latent, + # alpha_mask, + # ) + kwargs = {} + if flipped_latent is not None: + kwargs["latents_flipped"] = flipped_latent.float().cpu().numpy() + if alpha_mask is not None: + kwargs["alpha_mask"] = alpha_mask.float().cpu().numpy() + np.savez( + info.latents_npz, + latents=latents.float().cpu().numpy(), + original_size=np.array(original_sizes), + crop_ltrb=np.array(crop_ltrbs), + **kwargs, + ) + else: + info.latents = latent + if flip_aug: + info.latents_flipped = flipped_latent + info.alpha_mask = alpha_mask + + if not train_util.HIGH_VRAM: + clean_memory_on_device(self.vae.device) + + # region Diffusers diff --git a/library/train_util.py b/library/train_util.py index 96d32e3bc..8444827df 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -359,6 +359,30 @@ def get_augmentor(self, use_color_aug: bool): # -> Optional[Callable[[np.ndarra return self.color_aug if use_color_aug else None +class LatentsCachingStrategy: + def __init__(self, cache_to_disk: bool, batch_size: int, skip_disk_cache_validity_check: bool) -> None: + self._cache_to_disk = cache_to_disk + self._batch_size = batch_size + self.skip_disk_cache_validity_check = skip_disk_cache_validity_check + + @property + def cache_to_disk(self): + return self._cache_to_disk + + @property + def batch_size(self): + return self._batch_size + + def get_latents_npz_path(self, absolute_path: str): + raise NotImplementedError + + def is_disk_cached_latents_expected(self, bucket_reso: Tuple[int, int], npz_path: str, flip_aug: bool, alpha_mask: bool): + raise NotImplementedError + + def cache_batch_latents(self, batch: List[ImageInfo], flip_aug: bool, alpha_mask: bool, random_crop: bool): + raise NotImplementedError + + class BaseSubset: def __init__( self, @@ -986,6 +1010,69 @@ def is_text_encoder_output_cacheable(self): ] ) + def new_cache_latents(self, is_main_process: bool, caching_strategy: LatentsCachingStrategy): + r""" + a brand new method to cache latents. This method caches latents with caching strategy. + normal cache_latents method is used by default, but this method is used when caching strategy is specified. + """ + logger.info("caching latents with caching strategy.") + image_infos = list(self.image_data.values()) + + # sort by resolution + image_infos.sort(key=lambda info: info.bucket_reso[0] * info.bucket_reso[1]) + + # split by resolution + batches = [] + batch = [] + logger.info("checking cache validity...") + for info in tqdm(image_infos): + subset = self.image_to_subset[info.image_key] + + if info.latents_npz is not None: # fine tuning dataset + continue + + # check disk cache exists and size of latents + if caching_strategy.cache_to_disk: + # info.latents_npz = os.path.splitext(info.absolute_path)[0] + file_suffix + info.latents_npz = caching_strategy.get_latents_npz_path(info.absolute_path) + if not is_main_process: # prepare for multi-gpu, only store to info + continue + + cache_available = caching_strategy.is_disk_cached_latents_expected( + info.bucket_reso, info.latents_npz, subset.flip_aug, subset.alpha_mask + ) + if cache_available: # do not add to batch + continue + + # if last member of batch has different resolution, flush the batch + if len(batch) > 0 and batch[-1].bucket_reso != info.bucket_reso: + batches.append(batch) + batch = [] + + batch.append(info) + + # if number of data in batch is enough, flush the batch + if len(batch) >= caching_strategy.batch_size: + batches.append(batch) + batch = [] + + if len(batch) > 0: + batches.append(batch) + + # if cache to disk, don't cache latents in non-main process, set to info only + if caching_strategy.cache_to_disk and not is_main_process: + return + + if len(batches) == 0: + logger.info("no latents to cache") + return + + # iterate batches: batch doesn't have image here. image will be loaded in cache_batch_latents and discarded + logger.info("caching latents...") + for batch in tqdm(batches, smoothing=1, total=len(batches)): + # cache_batch_latents(vae, cache_to_disk, batch, subset.flip_aug, subset.alpha_mask, subset.random_crop) + caching_strategy.cache_batch_latents(batch, subset.flip_aug, subset.alpha_mask, subset.random_crop) + def cache_latents(self, vae, vae_batch_size=1, cache_to_disk=False, is_main_process=True, file_suffix=".npz"): # マルチGPUには対応していないので、そちらはtools/cache_latents.pyを使うこと logger.info("caching latents.") @@ -1086,7 +1173,7 @@ def cache_text_encoder_outputs_common( if batch_size is None: batch_size = self.batch_size - + image_infos = list(self.image_data.values()) logger.info("checking cache existence...") @@ -2207,6 +2294,11 @@ def cache_latents(self, vae, vae_batch_size=1, cache_to_disk=False, is_main_proc logger.info(f"[Dataset {i}]") dataset.cache_latents(vae, vae_batch_size, cache_to_disk, is_main_process, file_suffix) + def new_cache_latents(self, is_main_process: bool, strategy: LatentsCachingStrategy): + for i, dataset in enumerate(self.datasets): + logger.info(f"[Dataset {i}]") + dataset.new_cache_latents(is_main_process, strategy) + def cache_text_encoder_outputs( self, tokenizers, text_encoders, device, weight_dtype, cache_to_disk=False, is_main_process=True ): @@ -2550,6 +2642,51 @@ def trim_and_resize_if_required( return image, original_size, crop_ltrb +# for new_cache_latents +def load_images_and_masks_for_caching( + image_infos: List[ImageInfo], use_alpha_mask: bool, random_crop: bool +) -> Tuple[torch.Tensor, List[np.ndarray], List[Tuple[int, int]], List[Tuple[int, int, int, int]]]: + r""" + requires image_infos to have: [absolute_path or image], bucket_reso, resized_size + + returns: image_tensor, alpha_masks, original_sizes, crop_ltrbs + + image_tensor: torch.Tensor = torch.Size([B, 3, H, W]), ...], normalized to [-1, 1] + alpha_masks: List[np.ndarray] = [np.ndarray([H, W]), ...], normalized to [0, 1] + original_sizes: List[Tuple[int, int]] = [(W, H), ...] + crop_ltrbs: List[Tuple[int, int, int, int]] = [(L, T, R, B), ...] + """ + images: List[torch.Tensor] = [] + alpha_masks: List[np.ndarray] = [] + original_sizes: List[Tuple[int, int]] = [] + crop_ltrbs: List[Tuple[int, int, int, int]] = [] + for info in image_infos: + image = load_image(info.absolute_path, use_alpha_mask) if info.image is None else np.array(info.image, np.uint8) + # TODO 画像のメタデータが壊れていて、メタデータから割り当てたbucketと実際の画像サイズが一致しない場合があるのでチェック追加要 + image, original_size, crop_ltrb = trim_and_resize_if_required(random_crop, image, info.bucket_reso, info.resized_size) + + original_sizes.append(original_size) + crop_ltrbs.append(crop_ltrb) + + if use_alpha_mask: + if image.shape[2] == 4: + alpha_mask = image[:, :, 3] # [H,W] + alpha_mask = alpha_mask.astype(np.float32) / 255.0 + alpha_mask = torch.FloatTensor(alpha_mask) # [H,W] + else: + alpha_mask = torch.ones_like(image[:, :, 0], dtype=torch.float32) # [H,W] + else: + alpha_mask = None + alpha_masks.append(alpha_mask) + + image = image[:, :, :3] # remove alpha channel if exists + image = IMAGE_TRANSFORMS(image) + images.append(image) + + img_tensor = torch.stack(images, dim=0) + return img_tensor, alpha_masks, original_sizes, crop_ltrbs + + def cache_batch_latents( vae: AutoencoderKL, cache_to_disk: bool, image_infos: List[ImageInfo], flip_aug: bool, use_alpha_mask: bool, random_crop: bool ) -> None: @@ -2661,7 +2798,7 @@ def cache_batch_text_encoder_outputs_sd3( ): # make input_ids for each text encoder l_tokens, g_tokens, t5_tokens = input_ids - + clip_l, clip_g, t5xxl = text_encoders with torch.no_grad(): b_lg_out, b_t5_out, b_pool = sd3_utils.get_cond_from_tokens( @@ -2670,8 +2807,12 @@ def cache_batch_text_encoder_outputs_sd3( b_lg_out = b_lg_out.detach() b_t5_out = b_t5_out.detach() b_pool = b_pool.detach() - + for info, lg_out, t5_out, pool in zip(image_infos, b_lg_out, b_t5_out, b_pool): + # debug: NaN check + if torch.isnan(lg_out).any() or torch.isnan(t5_out).any() or torch.isnan(pool).any(): + raise RuntimeError(f"NaN detected in text encoder outputs: {info.absolute_path}") + if cache_to_disk: save_text_encoder_outputs_to_disk(info.text_encoder_outputs_npz, lg_out, t5_out, pool) else: diff --git a/sd3_train.py b/sd3_train.py index de763ac6d..c073ec0e2 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -204,11 +204,22 @@ def train(args): vae.to(accelerator.device, dtype=vae_dtype) vae.requires_grad_(False) vae.eval() - vae_wrapper = sd3_models.VAEWrapper(vae) # make SD/SDXL compatible - with torch.no_grad(): - train_dataset_group.cache_latents( - vae_wrapper, args.vae_batch_size, args.cache_latents_to_disk, accelerator.is_main_process, file_suffix="_sd3.npz" + + if not args.new_caching: + vae_wrapper = sd3_models.VAEWrapper(vae) # make SD/SDXL compatible + with torch.no_grad(): + train_dataset_group.cache_latents( + vae_wrapper, + args.vae_batch_size, + args.cache_latents_to_disk, + accelerator.is_main_process, + file_suffix="_sd3.npz", + ) + else: + strategy = sd3_train_utils.Sd3LatensCachingStrategy( + vae, args.cache_latents_to_disk, args.vae_batch_size, args.skip_latents_validity_check ) + train_dataset_group.new_cache_latents(accelerator.is_main_process, strategy) vae.to("cpu") clean_memory_on_device(accelerator.device) @@ -699,6 +710,17 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): sigmas = get_sigmas(timesteps, n_dim=latents.ndim, dtype=weight_dtype) noisy_model_input = sigmas * noise + (1.0 - sigmas) * latents + # debug: NaN check for all inputs + if torch.any(torch.isnan(noisy_model_input)): + accelerator.print("NaN found in noisy_model_input, replacing with zeros") + noisy_model_input = torch.nan_to_num(noisy_model_input, 0, out=noisy_model_input) + if torch.any(torch.isnan(context)): + accelerator.print("NaN found in context, replacing with zeros") + context = torch.nan_to_num(context, 0, out=context) + if torch.any(torch.isnan(pool)): + accelerator.print("NaN found in pool, replacing with zeros") + pool = torch.nan_to_num(pool, 0, out=pool) + # call model with accelerator.autocast(): model_pred = mmdit(noisy_model_input, timesteps, context=context, y=pool) @@ -908,6 +930,13 @@ def setup_parser() -> argparse.ArgumentParser: default=None, help="number of optimizers for fused backward pass and optimizer step / fused backward passとoptimizer stepのためのoptimizer数", ) + + parser.add_argument("--new_caching", action="store_true", help="use new caching method / 新しいキャッシング方法を使う") + parser.add_argument( + "--skip_latents_validity_check", + action="store_true", + help="skip latents validity check / latentsの正当性チェックをスキップする", + ) return parser From 3ea4fce5e0f3d1a9c2718d77f49c3b304d25e565 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Mon, 8 Jul 2024 22:04:43 +0900 Subject: [PATCH 105/748] load models one by one --- library/sd3_train_utils.py | 56 ++++++------ library/sd3_utils.py | 169 +++++++++++++++++++++++++++++++++++++ sd3_train.py | 58 +++++++++---- 3 files changed, 236 insertions(+), 47 deletions(-) diff --git a/library/sd3_train_utils.py b/library/sd3_train_utils.py index 9309ee30c..98ee66bf8 100644 --- a/library/sd3_train_utils.py +++ b/library/sd3_train_utils.py @@ -1,19 +1,17 @@ import argparse import math import os -from typing import List, Optional, Tuple +from typing import List, Optional, Tuple, Union import torch from safetensors.torch import save_file +from accelerate import Accelerator from library import sd3_models, sd3_utils, train_util from library.device_utils import init_ipex, clean_memory_on_device init_ipex() -from accelerate import init_empty_weights -from tqdm import tqdm - # from transformers import CLIPTokenizer # from library import model_util # , sdxl_model_util, train_util, sdxl_original_unet @@ -28,50 +26,48 @@ from .sdxl_train_util import match_mixed_precision -def load_target_model(args, accelerator, attn_mode, weight_dtype, clip_dtype, t5xxl_device, t5xxl_dtype, vae_dtype) -> Tuple[ +def load_target_model( + model_type: str, + args: argparse.Namespace, + state_dict: dict, + accelerator: Accelerator, + attn_mode: str, + model_dtype: Optional[torch.dtype], + device: Optional[torch.device], +) -> Union[ sd3_models.MMDiT, Optional[sd3_models.SDClipModel], Optional[sd3_models.SDXLClipG], Optional[sd3_models.T5XXLModel], sd3_models.SDVAE, ]: - model_dtype = match_mixed_precision(args, weight_dtype) # prepare fp16/bf16, None or fp16/bf16 + loading_device = device if device is not None else (accelerator.device if args.lowram else "cpu") for pi in range(accelerator.state.num_processes): if pi == accelerator.state.local_process_index: logger.info(f"loading model for process {accelerator.state.local_process_index}/{accelerator.state.num_processes}") - mmdit, clip_l, clip_g, t5xxl, vae = sd3_utils.load_models( - args.pretrained_model_name_or_path, - args.clip_l, - args.clip_g, - args.t5xxl, - args.vae, - attn_mode, - accelerator.device if args.lowram else "cpu", - model_dtype, - args.disable_mmap_load_safetensors, - clip_dtype, - t5xxl_device, - t5xxl_dtype, - vae_dtype, - ) + if model_type == "mmdit": + model = sd3_utils.load_mmdit(state_dict, attn_mode, model_dtype, loading_device) + elif model_type == "clip_l": + model = sd3_utils.load_clip_l(state_dict, args.clip_l, attn_mode, model_dtype, loading_device) + elif model_type == "clip_g": + model = sd3_utils.load_clip_g(state_dict, args.clip_g, attn_mode, model_dtype, loading_device) + elif model_type == "t5xxl": + model = sd3_utils.load_t5xxl(state_dict, args.t5xxl, attn_mode, model_dtype, loading_device) + elif model_type == "vae": + model = sd3_utils.load_vae(state_dict, args.vae, model_dtype, loading_device) + else: + raise ValueError(f"Unknown model type: {model_type}") # work on low-ram device: models are already loaded on accelerator.device, but we ensure they are on device if args.lowram: - if clip_l is not None: - clip_l.to(accelerator.device) - if clip_g is not None: - clip_g.to(accelerator.device) - if t5xxl is not None: - t5xxl.to(accelerator.device) - vae.to(accelerator.device) - mmdit.to(accelerator.device) + model = model.to(accelerator.device) clean_memory_on_device(accelerator.device) accelerator.wait_for_everyone() - return mmdit, clip_l, clip_g, t5xxl, vae + return model def save_models( diff --git a/library/sd3_utils.py b/library/sd3_utils.py index 9dc9e7967..16f80c60d 100644 --- a/library/sd3_utils.py +++ b/library/sd3_utils.py @@ -20,6 +20,175 @@ # region models +def load_safetensors(path: str, dvc: Union[str, torch.device], disable_mmap: bool = False): + if disable_mmap: + return safetensors.torch.load(open(path, "rb").read()) + else: + try: + return load_file(path, device=dvc) + except: + return load_file(path) # prevent device invalid Error + + +def load_mmdit(state_dict: Dict, attn_mode: str, dtype: Optional[Union[str, torch.dtype]], device: Union[str, torch.device]): + mmdit_sd = {} + + mmdit_prefix = "model.diffusion_model." + for k in list(state_dict.keys()): + if k.startswith(mmdit_prefix): + mmdit_sd[k[len(mmdit_prefix) :]] = state_dict.pop(k) + + # load MMDiT + logger.info("Building MMDit") + with init_empty_weights(): + mmdit = sd3_models.create_mmdit_sd3_medium_configs(attn_mode) + + logger.info("Loading state dict...") + info = sdxl_model_util._load_state_dict_on_device(mmdit, mmdit_sd, device, dtype) + logger.info(f"Loaded MMDiT: {info}") + return mmdit + + +def load_clip_l( + state_dict: Dict, + clip_l_path: Optional[str], + attn_mode: str, + clip_dtype: Optional[Union[str, torch.dtype]], + device: Union[str, torch.device], + disable_mmap: bool = False, +): + clip_l_sd = None + if clip_l_path: + logger.info(f"Loading clip_l from {clip_l_path}...") + clip_l_sd = load_safetensors(clip_l_path, device, disable_mmap) + for key in list(clip_l_sd.keys()): + clip_l_sd["transformer." + key] = clip_l_sd.pop(key) + else: + if "text_encoders.clip_l.transformer.text_model.embeddings.position_embedding.weight" in state_dict: + # found clip_l: remove prefix "text_encoders.clip_l." + logger.info("clip_l is included in the checkpoint") + clip_l_sd = {} + prefix = "text_encoders.clip_l." + for k in list(state_dict.keys()): + if k.startswith(prefix): + clip_l_sd[k[len(prefix) :]] = state_dict.pop(k) + + if clip_l_sd is None: + clip_l = None + else: + logger.info("Building ClipL") + clip_l = sd3_models.create_clip_l(device, clip_dtype, clip_l_sd) + logger.info("Loading state dict...") + info = clip_l.load_state_dict(clip_l_sd) + logger.info(f"Loaded ClipL: {info}") + clip_l.set_attn_mode(attn_mode) + return clip_l + + +def load_clip_g( + state_dict: Dict, + clip_g_path: Optional[str], + attn_mode: str, + clip_dtype: Optional[Union[str, torch.dtype]], + device: Union[str, torch.device], + disable_mmap: bool = False, +): + clip_g_sd = None + if clip_g_path: + logger.info(f"Loading clip_g from {clip_g_path}...") + clip_g_sd = load_safetensors(clip_g_path, device, disable_mmap) + for key in list(clip_g_sd.keys()): + clip_g_sd["transformer." + key] = clip_g_sd.pop(key) + else: + if "text_encoders.clip_g.transformer.text_model.embeddings.position_embedding.weight" in state_dict: + # found clip_g: remove prefix "text_encoders.clip_g." + logger.info("clip_g is included in the checkpoint") + clip_g_sd = {} + prefix = "text_encoders.clip_g." + for k in list(state_dict.keys()): + if k.startswith(prefix): + clip_g_sd[k[len(prefix) :]] = state_dict.pop(k) + + if clip_g_sd is None: + clip_g = None + else: + logger.info("Building ClipG") + clip_g = sd3_models.create_clip_g(device, clip_dtype, clip_g_sd) + logger.info("Loading state dict...") + info = clip_g.load_state_dict(clip_g_sd) + logger.info(f"Loaded ClipG: {info}") + clip_g.set_attn_mode(attn_mode) + return clip_g + + +def load_t5xxl( + state_dict: Dict, + t5xxl_path: Optional[str], + attn_mode: str, + dtype: Optional[Union[str, torch.dtype]], + device: Union[str, torch.device], + disable_mmap: bool = False, +): + t5xxl_sd = None + if t5xxl_path: + logger.info(f"Loading t5xxl from {t5xxl_path}...") + t5xxl_sd = load_safetensors(t5xxl_path, device, disable_mmap) + for key in list(t5xxl_sd.keys()): + t5xxl_sd["transformer." + key] = t5xxl_sd.pop(key) + else: + if "text_encoders.t5xxl.transformer.encoder.block.0.layer.0.SelfAttention.k.weight" in state_dict: + # found t5xxl: remove prefix "text_encoders.t5xxl." + logger.info("t5xxl is included in the checkpoint") + t5xxl_sd = {} + prefix = "text_encoders.t5xxl." + for k in list(state_dict.keys()): + if k.startswith(prefix): + t5xxl_sd[k[len(prefix) :]] = state_dict.pop(k) + + if t5xxl_sd is None: + t5xxl = None + else: + logger.info("Building T5XXL") + + # workaround for T5XXL model creation: create with fp16 takes too long TODO support virtual device + t5xxl = sd3_models.create_t5xxl(device, torch.float32, t5xxl_sd) + t5xxl.to(dtype=dtype) + + logger.info("Loading state dict...") + info = t5xxl.load_state_dict(t5xxl_sd) + logger.info(f"Loaded T5XXL: {info}") + t5xxl.set_attn_mode(attn_mode) + return t5xxl + + +def load_vae( + state_dict: Dict, + vae_path: Optional[str], + vae_dtype: Optional[Union[str, torch.dtype]], + device: Optional[Union[str, torch.device]], + disable_mmap: bool = False, +): + vae_sd = {} + if vae_path: + logger.info(f"Loading VAE from {vae_path}...") + vae_sd = load_safetensors(vae_path, device, disable_mmap) + else: + # remove prefix "first_stage_model." + vae_sd = {} + vae_prefix = "first_stage_model." + for k in list(state_dict.keys()): + if k.startswith(vae_prefix): + vae_sd[k[len(vae_prefix) :]] = state_dict.pop(k) + + logger.info("Building VAE") + vae = sd3_models.SDVAE() + logger.info("Loading state dict...") + info = vae.load_state_dict(vae_sd) + logger.info(f"Loaded VAE: {info}") + vae.to(device=device, dtype=vae_dtype) + return vae + + def load_models( ckpt_path: str, clip_l_path: str, diff --git a/sd3_train.py b/sd3_train.py index c073ec0e2..10cc5d57f 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -13,12 +13,12 @@ import torch from library.device_utils import init_ipex, clean_memory_on_device - init_ipex() from accelerate.utils import set_seed from diffusers import DDPMScheduler from library import deepspeed_utils, sd3_models, sd3_train_utils, sd3_utils +from library.sdxl_train_util import match_mixed_precision # , sdxl_model_util @@ -189,18 +189,19 @@ def train(args): assert ( attn_mode == "torch" - ), f"attn_mode {attn_mode} is not supported. Please use `--sdpa` instead of `--xformers`. / attn_mode {attn_mode} はサポートされていません。`--xformers`の代わりに`--sdpa`を使ってください。" + ), f"attn_mode {attn_mode} is not supported yet. Please use `--sdpa` instead of `--xformers`. / attn_mode {attn_mode} はサポートされていません。`--xformers`の代わりに`--sdpa`を使ってください。" - # models are usually loaded on CPU and moved to GPU later. This is to avoid OOM on GPU0. - mmdit, clip_l, clip_g, t5xxl, vae = sd3_train_utils.load_target_model( - args, accelerator, attn_mode, weight_dtype, clip_dtype, t5xxl_device, t5xxl_dtype, vae_dtype + # SD3 state dict may contain multiple models, so we need to load it and extract one by one. annoying. + logger.info(f"Loading SD3 models from {args.pretrained_model_name_or_path}") + device_to_load = accelerator.device if args.lowram else "cpu" + sd3_state_dict = sd3_utils.load_safetensors( + args.pretrained_model_name_or_path, device_to_load, args.disable_mmap_load_safetensors ) - assert clip_l is not None, "clip_l is required / clip_lは必須です" - assert clip_g is not None, "clip_g is required / clip_gは必須です" - # logit_scale = logit_scale.to(accelerator.device, dtype=weight_dtype) - # 学習を準備する + # load VAE for caching latents + vae: sd3_models.SDVAE = None if cache_latents: + vae = sd3_train_utils.load_target_model("vae", args, sd3_state_dict, accelerator, attn_mode, vae_dtype, device_to_load) vae.to(accelerator.device, dtype=vae_dtype) vae.requires_grad_(False) vae.eval() @@ -220,15 +221,25 @@ def train(args): vae, args.cache_latents_to_disk, args.vae_batch_size, args.skip_latents_validity_check ) train_dataset_group.new_cache_latents(accelerator.is_main_process, strategy) - vae.to("cpu") + vae.to("cpu") # if no sampling, vae can be deleted clean_memory_on_device(accelerator.device) accelerator.wait_for_everyone() + # load clip_l, clip_g, t5xxl for caching text encoder outputs + # # models are usually loaded on CPU and moved to GPU later. This is to avoid OOM on GPU0. + # mmdit, clip_l, clip_g, t5xxl, vae = sd3_train_utils.load_target_model( + # args, accelerator, attn_mode, weight_dtype, clip_dtype, t5xxl_device, t5xxl_dtype, vae_dtype + # ) + clip_l = sd3_train_utils.load_target_model("clip_l", args, sd3_state_dict, accelerator, attn_mode, clip_dtype, device_to_load) + clip_g = sd3_train_utils.load_target_model("clip_g", args, sd3_state_dict, accelerator, attn_mode, clip_dtype, device_to_load) + assert clip_l is not None, "clip_l is required / clip_lは必須です" + assert clip_g is not None, "clip_g is required / clip_gは必須です" + + t5xxl = sd3_train_utils.load_target_model("t5xxl", args, sd3_state_dict, accelerator, attn_mode, t5xxl_dtype, device_to_load) + # logit_scale = logit_scale.to(accelerator.device, dtype=weight_dtype) + # 学習を準備する:モデルを適切な状態にする - if args.gradient_checkpointing: - mmdit.enable_gradient_checkpointing() - train_mmdit = args.learning_rate != 0 train_clip_l = False train_clip_g = False train_t5xxl = False @@ -280,17 +291,30 @@ def train(args): accelerator.is_main_process, args.text_encoder_batch_size, ) + + # TODO we can delete text encoders after caching accelerator.wait_for_everyone() + # load MMDIT + # if full_fp16/bf16, model_dtype is casted to fp16/bf16. If not, model_dtype is None (float32). + # by loading with model_dtype, we can reduce memory usage. + model_dtype = match_mixed_precision(args, weight_dtype) # None (default) or fp16/bf16 (full_xxxx) + mmdit = sd3_train_utils.load_target_model("mmdit", args, sd3_state_dict, accelerator, attn_mode, model_dtype, device_to_load) + if args.gradient_checkpointing: + mmdit.enable_gradient_checkpointing() + + train_mmdit = args.learning_rate != 0 + mmdit.requires_grad_(train_mmdit) + if not train_mmdit: + mmdit.to(accelerator.device, dtype=weight_dtype) # because of mmdie will not be prepared + if not cache_latents: + # load VAE here if not cached + vae = sd3_train_utils.load_target_model("vae", args, sd3_state_dict, accelerator, attn_mode, vae_dtype, device_to_load) vae.requires_grad_(False) vae.eval() vae.to(accelerator.device, dtype=vae_dtype) - mmdit.requires_grad_(train_mmdit) - if not train_mmdit: - mmdit.to(accelerator.device, dtype=weight_dtype) # because of unet is not prepared - training_models = [] params_to_optimize = [] # if train_unet: From 9dc7997803d70c718969526352e88908e827f091 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Tue, 9 Jul 2024 20:37:00 +0900 Subject: [PATCH 106/748] fix typo --- library/sd3_models.py | 2 +- library/sd3_train_utils.py | 2 +- sd3_train.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/library/sd3_models.py b/library/sd3_models.py index e4c0790d9..a1ff1e75a 100644 --- a/library/sd3_models.py +++ b/library/sd3_models.py @@ -1643,7 +1643,7 @@ def __init__(self, hidden_size, eps=1e-6, dtype=None, device=None): # copy from transformers' T5LayerNorm def forward(self, hidden_states): # T5 uses a layer_norm which only scales and doesn't shift, which is also known as Root Mean - # Square Layer Normalization https://arxiv.org/abs/1910.07467 thus varience is calculated + # Square Layer Normalization https://arxiv.org/abs/1910.07467 thus variance is calculated # w/o mean and there is no bias. Additionally we want to make sure that the accumulation for # half-precision inputs is done in fp32 variance = hidden_states.to(torch.float32).pow(2).mean(-1, keepdim=True) diff --git a/library/sd3_train_utils.py b/library/sd3_train_utils.py index 98ee66bf8..660342108 100644 --- a/library/sd3_train_utils.py +++ b/library/sd3_train_utils.py @@ -279,7 +279,7 @@ def sample_images(*args, **kwargs): return train_util.sample_images_common(SdxlStableDiffusionLongPromptWeightingPipeline, *args, **kwargs) -class Sd3LatensCachingStrategy(train_util.LatentsCachingStrategy): +class Sd3LatentsCachingStrategy(train_util.LatentsCachingStrategy): SD3_LATENTS_NPZ_SUFFIX = "_sd3.npz" def __init__(self, vae: sd3_models.SDVAE, cache_to_disk: bool, batch_size: int, skip_disk_cache_validity_check: bool) -> None: diff --git a/sd3_train.py b/sd3_train.py index 10cc5d57f..30d994c78 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -217,7 +217,7 @@ def train(args): file_suffix="_sd3.npz", ) else: - strategy = sd3_train_utils.Sd3LatensCachingStrategy( + strategy = sd3_train_utils.Sd3LatentsCachingStrategy( vae, args.cache_latents_to_disk, args.vae_batch_size, args.skip_latents_validity_check ) train_dataset_group.new_cache_latents(accelerator.is_main_process, strategy) From 3d402927efb2d396f8f33fe6a1747e43f7a5f0f3 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Tue, 9 Jul 2024 23:15:38 +0900 Subject: [PATCH 107/748] WIP: update new latents caching --- library/sd3_train_utils.py | 49 +++++++++++++++++++++++++------------- library/train_util.py | 39 ++++++++++++++++++++++++++---- sd3_train.py | 15 ++++++++---- 3 files changed, 77 insertions(+), 26 deletions(-) diff --git a/library/sd3_train_utils.py b/library/sd3_train_utils.py index 660342108..245912199 100644 --- a/library/sd3_train_utils.py +++ b/library/sd3_train_utils.py @@ -1,4 +1,5 @@ import argparse +import glob import math import os from typing import List, Optional, Tuple, Union @@ -282,12 +283,26 @@ def sample_images(*args, **kwargs): class Sd3LatentsCachingStrategy(train_util.LatentsCachingStrategy): SD3_LATENTS_NPZ_SUFFIX = "_sd3.npz" - def __init__(self, vae: sd3_models.SDVAE, cache_to_disk: bool, batch_size: int, skip_disk_cache_validity_check: bool) -> None: + def __init__(self, cache_to_disk: bool, batch_size: int, skip_disk_cache_validity_check: bool) -> None: super().__init__(cache_to_disk, batch_size, skip_disk_cache_validity_check) + self.vae = None + + def set_vae(self, vae: sd3_models.SDVAE): self.vae = vae - def get_latents_npz_path(self, absolute_path: str): - return os.path.splitext(absolute_path)[0] + self.SD3_LATENTS_NPZ_SUFFIX + def get_image_size_from_image_absolute_path(self, absolute_path: str) -> Tuple[Optional[int], Optional[int]]: + npz_file = glob.glob(os.path.splitext(absolute_path)[0] + "_*" + Sd3LatentsCachingStrategy.SD3_LATENTS_NPZ_SUFFIX) + if len(npz_file) == 0: + return None, None + w, h = os.path.splitext(npz_file[0])[0].split("_")[-2].split("x") + return int(w), int(h) + + def get_latents_npz_path(self, absolute_path: str, image_size: Tuple[int, int]) -> str: + return ( + os.path.splitext(absolute_path)[0] + + f"_{image_size[0]:04d}x{image_size[1]:04d}" + + Sd3LatentsCachingStrategy.SD3_LATENTS_NPZ_SUFFIX + ) def is_disk_cached_latents_expected(self, bucket_reso: Tuple[int, int], npz_path: str, flip_aug: bool, alpha_mask: bool): if not self.cache_to_disk: @@ -331,24 +346,24 @@ def cache_batch_latents(self, image_infos: List[train_util.ImageInfo], flip_aug: img_tensor = img_tensor.to(device=self.vae.device, dtype=self.vae.dtype) with torch.no_grad(): - latents = self.vae.encode(img_tensor).to("cpu") + latents_tensors = self.vae.encode(img_tensor).to("cpu") if flip_aug: img_tensor = torch.flip(img_tensor, dims=[3]) with torch.no_grad(): flipped_latents = self.vae.encode(img_tensor).to("cpu") else: - flipped_latents = [None] * len(latents) + flipped_latents = [None] * len(latents_tensors) + + # for info, latents, flipped_latent, alpha_mask in zip(image_infos, latents_tensors, flipped_latents, alpha_masks): + for i in range(len(image_infos)): + info = image_infos[i] + latents = latents_tensors[i] + flipped_latent = flipped_latents[i] + alpha_mask = alpha_masks[i] + original_size = original_sizes[i] + crop_ltrb = crop_ltrbs[i] - for info, latent, flipped_latent, alpha_mask in zip(image_infos, latents, flipped_latents, alpha_masks): if self.cache_to_disk: - # save_latents_to_disk( - # info.latents_npz, - # latent, - # info.latents_original_size, - # info.latents_crop_ltrb, - # flipped_latent, - # alpha_mask, - # ) kwargs = {} if flipped_latent is not None: kwargs["latents_flipped"] = flipped_latent.float().cpu().numpy() @@ -357,12 +372,12 @@ def cache_batch_latents(self, image_infos: List[train_util.ImageInfo], flip_aug: np.savez( info.latents_npz, latents=latents.float().cpu().numpy(), - original_size=np.array(original_sizes), - crop_ltrb=np.array(crop_ltrbs), + original_size=np.array(original_size), + crop_ltrb=np.array(crop_ltrb), **kwargs, ) else: - info.latents = latent + info.latents = latents if flip_aug: info.latents_flipped = flipped_latent info.alpha_mask = alpha_mask diff --git a/library/train_util.py b/library/train_util.py index 8444827df..9db226ea8 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -360,11 +360,23 @@ def get_augmentor(self, use_color_aug: bool): # -> Optional[Callable[[np.ndarra class LatentsCachingStrategy: + _strategy = None # strategy instance: actual strategy class + def __init__(self, cache_to_disk: bool, batch_size: int, skip_disk_cache_validity_check: bool) -> None: self._cache_to_disk = cache_to_disk self._batch_size = batch_size self.skip_disk_cache_validity_check = skip_disk_cache_validity_check + @classmethod + def set_strategy(cls, strategy): + if cls._strategy is not None: + raise RuntimeError(f"Internal error. {cls.__name__} strategy is already set") + cls._strategy = strategy + + @classmethod + def get_strategy(cls) -> Optional["LatentsCachingStrategy"]: + return cls._strategy + @property def cache_to_disk(self): return self._cache_to_disk @@ -373,10 +385,15 @@ def cache_to_disk(self): def batch_size(self): return self._batch_size - def get_latents_npz_path(self, absolute_path: str): + def get_image_size_from_image_absolute_path(self, absolute_path: str) -> Tuple[Optional[int], Optional[int]]: + raise NotImplementedError + + def get_latents_npz_path(self, absolute_path: str, bucket_reso: Tuple[int, int]) -> str: raise NotImplementedError - def is_disk_cached_latents_expected(self, bucket_reso: Tuple[int, int], npz_path: str, flip_aug: bool, alpha_mask: bool): + def is_disk_cached_latents_expected( + self, bucket_reso: Tuple[int, int], npz_path: str, flip_aug: bool, alpha_mask: bool + ) -> bool: raise NotImplementedError def cache_batch_latents(self, batch: List[ImageInfo], flip_aug: bool, alpha_mask: bool, random_crop: bool): @@ -1034,7 +1051,7 @@ def new_cache_latents(self, is_main_process: bool, caching_strategy: LatentsCach # check disk cache exists and size of latents if caching_strategy.cache_to_disk: # info.latents_npz = os.path.splitext(info.absolute_path)[0] + file_suffix - info.latents_npz = caching_strategy.get_latents_npz_path(info.absolute_path) + info.latents_npz = caching_strategy.get_latents_npz_path(info.absolute_path, info.image_size) if not is_main_process: # prepare for multi-gpu, only store to info continue @@ -1730,6 +1747,18 @@ def load_dreambooth_dir(subset: DreamBoothSubset): img_paths = glob_images(subset.image_dir, "*") sizes = [None] * len(img_paths) + # new caching: get image size from cache files + strategy = LatentsCachingStrategy.get_strategy() + if strategy is not None: + logger.info("get image size from cache files") + size_set_count = 0 + for i, img_path in enumerate(tqdm(img_paths)): + w, h = strategy.get_image_size_from_image_absolute_path(img_path) + if w is not None and h is not None: + sizes[i] = [w, h] + size_set_count += 1 + logger.info(f"set image size from cache files: {size_set_count}/{len(img_paths)}") + logger.info(f"found directory {subset.image_dir} contains {len(img_paths)} image files") if use_cached_info_for_subset: @@ -2807,12 +2836,12 @@ def cache_batch_text_encoder_outputs_sd3( b_lg_out = b_lg_out.detach() b_t5_out = b_t5_out.detach() b_pool = b_pool.detach() - + for info, lg_out, t5_out, pool in zip(image_infos, b_lg_out, b_t5_out, b_pool): # debug: NaN check if torch.isnan(lg_out).any() or torch.isnan(t5_out).any() or torch.isnan(pool).any(): raise RuntimeError(f"NaN detected in text encoder outputs: {info.absolute_path}") - + if cache_to_disk: save_text_encoder_outputs_to_disk(info.text_encoder_outputs_npz, lg_out, t5_out, pool) else: diff --git a/sd3_train.py b/sd3_train.py index 30d994c78..e2f622e47 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -91,6 +91,15 @@ def train(args): # load tokenizer sd3_tokenizer = sd3_models.SD3Tokenizer() + # prepare caching strategy + if args.new_caching: + latents_caching_strategy = sd3_train_utils.Sd3LatentsCachingStrategy( + args.cache_latents_to_disk, args.vae_batch_size, args.skip_latents_validity_check + ) + else: + latents_caching_strategy = None + train_util.LatentsCachingStrategy.set_strategy(latents_caching_strategy) + # データセットを準備する if args.dataset_class is None: blueprint_generator = BlueprintGenerator(ConfigSanitizer(True, True, args.masked_loss, True)) @@ -217,10 +226,8 @@ def train(args): file_suffix="_sd3.npz", ) else: - strategy = sd3_train_utils.Sd3LatentsCachingStrategy( - vae, args.cache_latents_to_disk, args.vae_batch_size, args.skip_latents_validity_check - ) - train_dataset_group.new_cache_latents(accelerator.is_main_process, strategy) + latents_caching_strategy.set_vae(vae) + train_dataset_group.new_cache_latents(accelerator.is_main_process, latents_caching_strategy) vae.to("cpu") # if no sampling, vae can be deleted clean_memory_on_device(accelerator.device) From 6f0e235f2cb9a9829bc12280c29e12c0ae66c88f Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 11 Jul 2024 08:00:45 +0900 Subject: [PATCH 108/748] Fix shift value in SD3 inference. --- sd3_minimal_inference.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sd3_minimal_inference.py b/sd3_minimal_inference.py index 7f5f28cea..ffa0d46de 100644 --- a/sd3_minimal_inference.py +++ b/sd3_minimal_inference.py @@ -64,7 +64,7 @@ def do_sample( device: str, ): if initial_latent is None: - # latent = torch.ones(1, 16, height // 8, width // 8, device=device) * 0.0609 + # latent = torch.ones(1, 16, height // 8, width // 8, device=device) * 0.0609 # this seems to be a bug in the original code. thanks to furusu for pointing it out latent = torch.zeros(1, 16, height // 8, width // 8, device=device) else: latent = initial_latent @@ -73,7 +73,7 @@ def do_sample( noise = get_noise(seed, latent).to(device) - model_sampling = sd3_utils.ModelSamplingDiscreteFlow() + model_sampling = sd3_utils.ModelSamplingDiscreteFlow(shift=3.0) # 3.0 is for SD3 sigmas = get_sigmas(model_sampling, steps).to(device) # sigmas = sigmas[int(steps * (1 - denoise)) :] # do not support i2i From b8896aad400222c8c4441b217fda0f9bb0807ffd Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 11 Jul 2024 08:01:23 +0900 Subject: [PATCH 109/748] update README --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3eed636c5..5d4f9621d 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,9 @@ This repository contains training, generation and utility scripts for Stable Dif SD3 training is done with `sd3_train.py`. -__Jun 29, 2024__: Fixed mixed precision training with fp16 is not working. Fixed the model is in bf16 dtype even without `--full_bf16` option (this could worsen the training result). +__Jul 11, 2024__: Fixed to work t5xxl with `fp16`. If you change the dtype to `fp16` for t5xxl, please remove existing latents cache files (`*_sd3.npz`). The shift in `sd3_minimum_inference.py` is fixed to 3.0. Thanks to araleza! + +Jun 29, 2024: Fixed mixed precision training with fp16 is not working. Fixed the model is in bf16 dtype even without `--full_bf16` option (this could worsen the training result). `fp16` and `bf16` are available for mixed precision training. We are not sure which is better. @@ -12,7 +14,7 @@ __Jun 29, 2024__: Fixed mixed precision training with fp16 is not working. Fixed `clip_l`, `clip_g` and `t5xxl` can be specified if the checkpoint does not include them. -t5xxl doesn't seem to work with `fp16`, so 1) use`bf16` for mixed precision, or 2) use `bf16` or `float32` for `t5xxl_dtype`. +~~t5xxl doesn't seem to work with `fp16`, so 1) use`bf16` for mixed precision, or 2) use `bf16` or `float32` for `t5xxl_dtype`. ~~ t5xxl works with `fp16` now. There are `t5xxl_device` and `t5xxl_dtype` options for `t5xxl` device and dtype. From 082f13658bdbaed872ede6c0a7a75ab1a5f3712d Mon Sep 17 00:00:00 2001 From: Kohya S Date: Fri, 12 Jul 2024 21:28:01 +0900 Subject: [PATCH 110/748] reduce peak GPU memory usage before training --- library/sd3_models.py | 2 +- library/train_util.py | 1 + sd3_train.py | 44 +++++++++++++++++++++---------------------- 3 files changed, 24 insertions(+), 23 deletions(-) diff --git a/library/sd3_models.py b/library/sd3_models.py index a1ff1e75a..ec8e1bbdd 100644 --- a/library/sd3_models.py +++ b/library/sd3_models.py @@ -471,7 +471,7 @@ def __init__( num_heads: int = 8, qkv_bias: bool = False, pre_only: bool = False, - qk_norm: str = None, + qk_norm: Optional[str] = None, ): super().__init__() self.num_heads = num_heads diff --git a/library/train_util.py b/library/train_util.py index 9db226ea8..7af0070e1 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -2410,6 +2410,7 @@ def is_disk_cached_latents_is_expected(reso, npz_path: str, flip_aug: bool, alph # 戻り値は、latents_tensor, (original_size width, original_size height), (crop left, crop top) +# TODO update to use CachingStrategy def load_latents_from_disk( npz_path, ) -> Tuple[Optional[np.ndarray], Optional[List[int]], Optional[List[int]], Optional[np.ndarray], Optional[np.ndarray]]: diff --git a/sd3_train.py b/sd3_train.py index e2f622e47..f34e47124 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -458,6 +458,28 @@ def train(args): # text_encoder1.text_model.encoder.layers[-1].requires_grad_(False) # text_encoder1.text_model.final_layer_norm.requires_grad_(False) + # TextEncoderの出力をキャッシュするときには、すでに出力を取得済みなのでCPUへ移動する + if args.cache_text_encoder_outputs: + # move Text Encoders for sampling images. Text Encoder doesn't work on CPU with fp16 + clip_l.to("cpu", dtype=torch.float32) + clip_g.to("cpu", dtype=torch.float32) + if t5xxl is not None: + t5xxl.to("cpu", dtype=torch.float32) + clean_memory_on_device(accelerator.device) + else: + # make sure Text Encoders are on GPU + # TODO support CPU for text encoders + clip_l.to(accelerator.device) + clip_g.to(accelerator.device) + if t5xxl is not None: + t5xxl.to(accelerator.device) + + # TODO cache sample prompt's embeddings to free text encoder's memory + if args.cache_text_encoder_outputs: + if not args.save_t5xxl: + t5xxl = None # free memory + clean_memory_on_device(accelerator.device) + if args.deepspeed: ds_model = deepspeed_utils.prepare_deepspeed_model( args, @@ -482,28 +504,6 @@ def train(args): # text_encoder2 = accelerator.prepare(text_encoder2) optimizer, train_dataloader, lr_scheduler = accelerator.prepare(optimizer, train_dataloader, lr_scheduler) - # TextEncoderの出力をキャッシュするときには、すでに出力を取得済みなのでCPUへ移動する - if args.cache_text_encoder_outputs: - # move Text Encoders for sampling images. Text Encoder doesn't work on CPU with fp16 - clip_l.to("cpu", dtype=torch.float32) - clip_g.to("cpu", dtype=torch.float32) - if t5xxl is not None: - t5xxl.to("cpu", dtype=torch.float32) - clean_memory_on_device(accelerator.device) - else: - # make sure Text Encoders are on GPU - # TODO support CPU for text encoders - clip_l.to(accelerator.device) - clip_g.to(accelerator.device) - if t5xxl is not None: - t5xxl.to(accelerator.device) - - # TODO cache sample prompt's embeddings to free text encoder's memory - if args.cache_text_encoder_outputs: - if not args.save_t5xxl: - t5xxl = None # free memory - clean_memory_on_device(accelerator.device) - # 実験的機能:勾配も含めたfp16学習を行う PyTorchにパッチを当ててfp16でのgrad scaleを有効にする if args.full_fp16: # During deepseed training, accelerate not handles fp16/bf16|mixed precision directly via scaler. Let deepspeed engine do. From 87526942a67fd71bb775bc479b0a7449df516dd8 Mon Sep 17 00:00:00 2001 From: sdbds <865105819@qq.com> Date: Fri, 12 Jul 2024 22:56:38 +0800 Subject: [PATCH 111/748] judge image size for using diff interpolation --- library/train_util.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/train_util.py b/library/train_util.py index 15c23f3cc..74720fec6 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -2362,7 +2362,7 @@ def trim_and_resize_if_required( if image_width != resized_size[0] or image_height != resized_size[1]: # リサイズする - image = cv2.resize(image, resized_size, interpolation=cv2.INTER_AREA) # INTER_AREAでやりたいのでcv2でリサイズ + image = cv2.resize(image, resized_size, interpolation=cv2.INTER_AREA if image_width > resized_size[0] and image_height > resized_size[1] else cv2.INTER_LANCZOS4) image_height, image_width = image.shape[0:2] From 2e67978ee243a20f169ce76d7644bb1f9dec9bad Mon Sep 17 00:00:00 2001 From: Millie Date: Thu, 18 Jul 2024 11:52:58 -0700 Subject: [PATCH 112/748] Generate sample images without having CUDA (such as on Macs) --- library/train_util.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index 15c23f3cc..9b0397d7d 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -5229,7 +5229,7 @@ def sample_images_common( clean_memory_on_device(accelerator.device) torch.set_rng_state(rng_state) - if cuda_rng_state is not None: + if torch.cuda.is_available() and cuda_rng_state is not None: torch.cuda.set_rng_state(cuda_rng_state) vae.to(org_vae_device) @@ -5263,11 +5263,13 @@ def sample_image_inference( if seed is not None: torch.manual_seed(seed) - torch.cuda.manual_seed(seed) + if torch.cuda.is_available(): + torch.cuda.manual_seed(seed) else: # True random sample image generation torch.seed() - torch.cuda.seed() + if torch.cuda.is_available(): + torch.cuda.seed() scheduler = get_my_scheduler( sample_sampler=sampler_name, @@ -5302,8 +5304,9 @@ def sample_image_inference( controlnet_image=controlnet_image, ) - with torch.cuda.device(torch.cuda.current_device()): - torch.cuda.empty_cache() + if torch.cuda.is_available(): + with torch.cuda.device(torch.cuda.current_device()): + torch.cuda.empty_cache() image = pipeline.latents_to_image(latents)[0] From 1f16b80e88b1c4f05d49b4fc328d3b9b105ebcbe Mon Sep 17 00:00:00 2001 From: sdbds <865105819@qq.com> Date: Sat, 20 Jul 2024 21:35:24 +0800 Subject: [PATCH 113/748] Revert "judge image size for using diff interpolation" This reverts commit 87526942a67fd71bb775bc479b0a7449df516dd8. --- library/train_util.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/train_util.py b/library/train_util.py index 74720fec6..15c23f3cc 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -2362,7 +2362,7 @@ def trim_and_resize_if_required( if image_width != resized_size[0] or image_height != resized_size[1]: # リサイズする - image = cv2.resize(image, resized_size, interpolation=cv2.INTER_AREA if image_width > resized_size[0] and image_height > resized_size[1] else cv2.INTER_LANCZOS4) + image = cv2.resize(image, resized_size, interpolation=cv2.INTER_AREA) # INTER_AREAでやりたいのでcv2でリサイズ image_height, image_width = image.shape[0:2] From 9ca7a5b6cc99e25820a1aa6d02a779004d73bca0 Mon Sep 17 00:00:00 2001 From: sdbds <865105819@qq.com> Date: Sat, 20 Jul 2024 21:59:11 +0800 Subject: [PATCH 114/748] instead cv2 LANCZOS4 resize to pil resize --- finetune/tag_images_by_wd14_tagger.py | 8 +++++--- library/train_util.py | 11 ++++++----- library/utils.py | 14 +++++++++++++- tools/detect_face_rotate.py | 7 +++++-- tools/resize_images_to_resolution.py | 11 +++++++---- 5 files changed, 36 insertions(+), 15 deletions(-) diff --git a/finetune/tag_images_by_wd14_tagger.py b/finetune/tag_images_by_wd14_tagger.py index a327bbd61..6f5bdd36b 100644 --- a/finetune/tag_images_by_wd14_tagger.py +++ b/finetune/tag_images_by_wd14_tagger.py @@ -11,7 +11,7 @@ from tqdm import tqdm import library.train_util as train_util -from library.utils import setup_logging +from library.utils import setup_logging, pil_resize setup_logging() import logging @@ -42,8 +42,10 @@ def preprocess_image(image): pad_t = pad_y // 2 image = np.pad(image, ((pad_t, pad_y - pad_t), (pad_l, pad_x - pad_l), (0, 0)), mode="constant", constant_values=255) - interp = cv2.INTER_AREA if size > IMAGE_SIZE else cv2.INTER_LANCZOS4 - image = cv2.resize(image, (IMAGE_SIZE, IMAGE_SIZE), interpolation=interp) + if size > IMAGE_SIZE: + image = cv2.resize(image, (IMAGE_SIZE, IMAGE_SIZE), cv2.INTER_AREA) + else: + image = pil_resize(image, (IMAGE_SIZE, IMAGE_SIZE)) image = image.astype(np.float32) return image diff --git a/library/train_util.py b/library/train_util.py index 15c23f3cc..160e3b44b 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -71,7 +71,7 @@ import library.huggingface_util as huggingface_util import library.sai_model_spec as sai_model_spec import library.deepspeed_utils as deepspeed_utils -from library.utils import setup_logging +from library.utils import setup_logging, pil_resize setup_logging() import logging @@ -2028,9 +2028,7 @@ def __getitem__(self, index): # ), f"image size is small / 画像サイズが小さいようです: {image_info.absolute_path}" # resize to target if cond_img.shape[0] != target_size_hw[0] or cond_img.shape[1] != target_size_hw[1]: - cond_img = cv2.resize( - cond_img, (int(target_size_hw[1]), int(target_size_hw[0])), interpolation=cv2.INTER_LANCZOS4 - ) + cond_img=pil_resize(cond_img,(int(target_size_hw[1]), int(target_size_hw[0]))) if flipped: cond_img = cond_img[:, ::-1, :].copy() # copy to avoid negative stride @@ -2362,7 +2360,10 @@ def trim_and_resize_if_required( if image_width != resized_size[0] or image_height != resized_size[1]: # リサイズする - image = cv2.resize(image, resized_size, interpolation=cv2.INTER_AREA) # INTER_AREAでやりたいのでcv2でリサイズ + if image_width > resized_size[0] and image_height > resized_size[1]: + image = cv2.resize(image, resized_size, interpolation=cv2.INTER_AREA) # INTER_AREAでやりたいのでcv2でリサイズ + else: + image = pil_resize(image, resized_size) image_height, image_width = image.shape[0:2] diff --git a/library/utils.py b/library/utils.py index 3037c055d..a219f6cb7 100644 --- a/library/utils.py +++ b/library/utils.py @@ -7,7 +7,9 @@ from diffusers import EulerAncestralDiscreteScheduler import diffusers.schedulers.scheduling_euler_ancestral_discrete from diffusers.schedulers.scheduling_euler_ancestral_discrete import EulerAncestralDiscreteSchedulerOutput - +import cv2 +from PIL import Image +import numpy as np def fire_in_thread(f, *args, **kwargs): threading.Thread(target=f, args=args, kwargs=kwargs).start() @@ -78,7 +80,17 @@ def setup_logging(args=None, log_level=None, reset=False): logger = logging.getLogger(__name__) logger.info(msg_init) +def pil_resize(image, size, interpolation=Image.LANCZOS): + + pil_image = Image.fromarray(cv2.cvtColor(image, cv2.COLOR_BGR2RGB)) + + # use Pillow resize + resized_pil = pil_image.resize(size, interpolation) + + # return cv2 image + resized_cv2 = cv2.cvtColor(np.array(resized_pil), cv2.COLOR_RGB2BGR) + return resized_cv2 # TODO make inf_utils.py diff --git a/tools/detect_face_rotate.py b/tools/detect_face_rotate.py index bbc643edc..d2a4d9cfb 100644 --- a/tools/detect_face_rotate.py +++ b/tools/detect_face_rotate.py @@ -15,7 +15,7 @@ from anime_face_detector import create_detector from tqdm import tqdm import numpy as np -from library.utils import setup_logging +from library.utils import setup_logging, pil_resize setup_logging() import logging logger = logging.getLogger(__name__) @@ -172,7 +172,10 @@ def process(args): if scale != 1.0: w = int(w * scale + .5) h = int(h * scale + .5) - face_img = cv2.resize(face_img, (w, h), interpolation=cv2.INTER_AREA if scale < 1.0 else cv2.INTER_LANCZOS4) + if scale < 1.0: + face_img = cv2.resize(face_img, (w, h), interpolation=cv2.INTER_AREA) + else: + face_img = pil_resize(face_img, (w, h)) cx = int(cx * scale + .5) cy = int(cy * scale + .5) fw = int(fw * scale + .5) diff --git a/tools/resize_images_to_resolution.py b/tools/resize_images_to_resolution.py index b8069fc1d..0f9e00b1e 100644 --- a/tools/resize_images_to_resolution.py +++ b/tools/resize_images_to_resolution.py @@ -6,7 +6,7 @@ import math from PIL import Image import numpy as np -from library.utils import setup_logging +from library.utils import setup_logging, pil_resize setup_logging() import logging logger = logging.getLogger(__name__) @@ -24,9 +24,9 @@ def resize_images(src_img_folder, dst_img_folder, max_resolution="512x512", divi # Select interpolation method if interpolation == 'lanczos4': - cv2_interpolation = cv2.INTER_LANCZOS4 + pil_interpolation = Image.LANCZOS elif interpolation == 'cubic': - cv2_interpolation = cv2.INTER_CUBIC + pil_interpolation = Image.BICUBIC else: cv2_interpolation = cv2.INTER_AREA @@ -64,7 +64,10 @@ def resize_images(src_img_folder, dst_img_folder, max_resolution="512x512", divi new_width = int(img.shape[1] * math.sqrt(scale_factor)) # Resize image - img = cv2.resize(img, (new_width, new_height), interpolation=cv2_interpolation) + if cv2_interpolation: + img = cv2.resize(img, (new_width, new_height), interpolation=cv2_interpolation) + else: + img = pil_resize(img, (new_width, new_height), interpolation=pil_interpolation) else: new_height, new_width = img.shape[0:2] From 41dee60383a3b88859b80929a2c0d94b12c42068 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sat, 27 Jul 2024 13:50:05 +0900 Subject: [PATCH 115/748] Refactor caching mechanism for latents and text encoder outputs, etc. --- README.md | 21 +- fine_tune.py | 54 +++- library/config_util.py | 2 - library/sd3_models.py | 47 +++- library/sd3_train_utils.py | 105 ------- library/sd3_utils.py | 1 + library/sdxl_train_util.py | 2 +- library/strategy_base.py | 328 ++++++++++++++++++++++ library/strategy_sd.py | 139 ++++++++++ library/strategy_sd3.py | 229 ++++++++++++++++ library/strategy_sdxl.py | 247 +++++++++++++++++ library/train_util.py | 451 +++++++++++++++---------------- sd3_minimal_inference.py | 22 +- sd3_train.py | 272 +++++++++++-------- sdxl_train.py | 108 ++++---- sdxl_train_control_net_lllite.py | 99 ++++--- sdxl_train_network.py | 48 +++- sdxl_train_textual_inversion.py | 49 ++-- train_db.py | 67 +++-- train_network.py | 122 ++++++--- train_textual_inversion.py | 118 ++++---- 21 files changed, 1792 insertions(+), 739 deletions(-) create mode 100644 library/strategy_base.py create mode 100644 library/strategy_sd.py create mode 100644 library/strategy_sd3.py create mode 100644 library/strategy_sdxl.py diff --git a/README.md b/README.md index 5d4f9621d..d406fecde 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,16 @@ This repository contains training, generation and utility scripts for Stable Dif SD3 training is done with `sd3_train.py`. -__Jul 11, 2024__: Fixed to work t5xxl with `fp16`. If you change the dtype to `fp16` for t5xxl, please remove existing latents cache files (`*_sd3.npz`). The shift in `sd3_minimum_inference.py` is fixed to 3.0. Thanks to araleza! +__Jul 27, 2024__: +- Latents and text encoder outputs caching mechanism is refactored significantly. + - Existing cache files for SD3 need to be recreated. Please delete the previous cache files. + - With this change, dataset initialization is significantly faster, especially for large datasets. -Jun 29, 2024: Fixed mixed precision training with fp16 is not working. Fixed the model is in bf16 dtype even without `--full_bf16` option (this could worsen the training result). +- Architecture-dependent parts are extracted from the dataset (`train_util.py`). This is expected to make it easier to add future architectures. + +- Architecture-dependent parts including the cache mechanism for SD1/2/SDXL are also extracted. The basic operation of SD1/2/SDXL training on the sd3 branch has been confirmed, but there may be bugs. Please use the main or dev branch for SD1/2/SDXL training. + +--- `fp16` and `bf16` are available for mixed precision training. We are not sure which is better. @@ -14,7 +21,7 @@ Jun 29, 2024: Fixed mixed precision training with fp16 is not working. Fixed the `clip_l`, `clip_g` and `t5xxl` can be specified if the checkpoint does not include them. -~~t5xxl doesn't seem to work with `fp16`, so 1) use`bf16` for mixed precision, or 2) use `bf16` or `float32` for `t5xxl_dtype`. ~~ t5xxl works with `fp16` now. +t5xxl works with `fp16` now. There are `t5xxl_device` and `t5xxl_dtype` options for `t5xxl` device and dtype. @@ -32,6 +39,14 @@ cache_latents = true cache_latents_to_disk = true ``` +__2024/7/27:__ + +Latents およびテキストエンコーダ出力のキャッシュの仕組みを大きくリファクタリングしました。SD3 用の既存のキャッシュファイルの再作成が必要になりますが、ご了承ください(以前のキャッシュファイルは削除してください)。これにより、特にデータセットの規模が大きい場合のデータセット初期化が大幅に高速化されます。 + +データセット (`train_util.py`) からアーキテクチャ依存の部分を切り出しました。これにより将来的なアーキテクチャ追加が容易になると期待しています。 + +SD1/2/SDXL のキャッシュ機構を含むアーキテクチャ依存の部分も切り出しました。sd3 ブランチの SD1/2/SDXL 学習について、基本的な動作は確認していますが、不具合があるかもしれません。SD1/2/SDXL の学習には main または dev ブランチをお使いください。 + --- [__Change History__](#change-history) is moved to the bottom of the page. diff --git a/fine_tune.py b/fine_tune.py index d865cd2de..c9102f6c0 100644 --- a/fine_tune.py +++ b/fine_tune.py @@ -10,7 +10,7 @@ from tqdm import tqdm import torch -from library import deepspeed_utils +from library import deepspeed_utils, strategy_base from library.device_utils import init_ipex, clean_memory_on_device init_ipex() @@ -39,6 +39,7 @@ scale_v_prediction_loss_like_noise_prediction, apply_debiased_estimation, ) +import library.strategy_sd as strategy_sd def train(args): @@ -52,7 +53,15 @@ def train(args): if args.seed is not None: set_seed(args.seed) # 乱数系列を初期化する - tokenizer = train_util.load_tokenizer(args) + tokenize_strategy = strategy_sd.SdTokenizeStrategy(args.v2, args.max_token_length, args.tokenizer_cache_dir) + strategy_base.TokenizeStrategy.set_strategy(tokenize_strategy) + + # prepare caching strategy: this must be set before preparing dataset. because dataset may use this strategy for initialization. + if cache_latents: + latents_caching_strategy = strategy_sd.SdSdxlLatentsCachingStrategy( + False, args.cache_latents_to_disk, args.vae_batch_size, False + ) + strategy_base.LatentsCachingStrategy.set_strategy(latents_caching_strategy) # データセットを準備する if args.dataset_class is None: @@ -81,10 +90,10 @@ def train(args): ] } - blueprint = blueprint_generator.generate(user_config, args, tokenizer=tokenizer) + blueprint = blueprint_generator.generate(user_config, args) train_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) else: - train_dataset_group = train_util.load_arbitrary_dataset(args, tokenizer) + train_dataset_group = train_util.load_arbitrary_dataset(args) current_epoch = Value("i", 0) current_step = Value("i", 0) @@ -165,8 +174,9 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): vae.to(accelerator.device, dtype=vae_dtype) vae.requires_grad_(False) vae.eval() - with torch.no_grad(): - train_dataset_group.cache_latents(vae, args.vae_batch_size, args.cache_latents_to_disk, accelerator.is_main_process) + + train_dataset_group.new_cache_latents(vae, accelerator.is_main_process) + vae.to("cpu") clean_memory_on_device(accelerator.device) @@ -192,6 +202,9 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): else: text_encoder.eval() + text_encoding_strategy = strategy_sd.SdTextEncodingStrategy(args.clip_skip) + strategy_base.TextEncodingStrategy.set_strategy(text_encoding_strategy) + if not cache_latents: vae.requires_grad_(False) vae.eval() @@ -214,7 +227,11 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): accelerator.print("prepare optimizer, data loader etc.") _, _, optimizer = train_util.get_optimizer(args, trainable_params=trainable_params) - # dataloaderを準備する + # prepare dataloader + # strategies are set here because they cannot be referenced in another process. Copy them with the dataset + # some strategies can be None + train_dataset_group.set_current_strategies() + # DataLoaderのプロセス数:0 は persistent_workers が使えないので注意 n_workers = min(args.max_data_loader_n_workers, os.cpu_count()) # cpu_count or max_data_loader_n_workers train_dataloader = torch.utils.data.DataLoader( @@ -317,7 +334,9 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): ) # For --sample_at_first - train_util.sample_images(accelerator, args, 0, global_step, accelerator.device, vae, tokenizer, text_encoder, unet) + train_util.sample_images( + accelerator, args, 0, global_step, accelerator.device, vae, tokenize_strategy.tokenizer, text_encoder, unet + ) loss_recorder = train_util.LossRecorder() for epoch in range(num_train_epochs): @@ -342,8 +361,9 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): with torch.set_grad_enabled(args.train_text_encoder): # Get the text embedding for conditioning if args.weighted_captions: + # TODO move to strategy_sd.py encoder_hidden_states = get_weighted_text_embeddings( - tokenizer, + tokenize_strategy.tokenizer, text_encoder, batch["captions"], accelerator.device, @@ -351,10 +371,12 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): clip_skip=args.clip_skip, ) else: - input_ids = batch["input_ids"].to(accelerator.device) - encoder_hidden_states = train_util.get_hidden_states( - args, input_ids, tokenizer, text_encoder, None if not args.full_fp16 else weight_dtype - ) + input_ids = batch["input_ids_list"][0].to(accelerator.device) + encoder_hidden_states = text_encoding_strategy.encode_tokens( + tokenize_strategy, [text_encoder], [input_ids] + )[0] + if args.full_fp16: + encoder_hidden_states = encoder_hidden_states.to(weight_dtype) # Sample noise, sample a random timestep for each image, and add noise to the latents, # with noise offset and/or multires noise if specified @@ -409,7 +431,7 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): global_step += 1 train_util.sample_images( - accelerator, args, None, global_step, accelerator.device, vae, tokenizer, text_encoder, unet + accelerator, args, None, global_step, accelerator.device, vae, tokenize_strategy.tokenizer, text_encoder, unet ) # 指定ステップごとにモデルを保存 @@ -472,7 +494,9 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): vae, ) - train_util.sample_images(accelerator, args, epoch + 1, global_step, accelerator.device, vae, tokenizer, text_encoder, unet) + train_util.sample_images( + accelerator, args, epoch + 1, global_step, accelerator.device, vae, tokenize_strategy.tokenizer, text_encoder, unet + ) is_main_process = accelerator.is_main_process if is_main_process: diff --git a/library/config_util.py b/library/config_util.py index 10b2457f3..f8cdfe60a 100644 --- a/library/config_util.py +++ b/library/config_util.py @@ -104,8 +104,6 @@ class ControlNetSubsetParams(BaseSubsetParams): @dataclass class BaseDatasetParams: - tokenizer: Union[CLIPTokenizer, List[CLIPTokenizer]] = None - max_token_length: int = None resolution: Optional[Tuple[int, int]] = None network_multiplier: float = 1.0 debug_dataset: bool = False diff --git a/library/sd3_models.py b/library/sd3_models.py index ec8e1bbdd..28378c73b 100644 --- a/library/sd3_models.py +++ b/library/sd3_models.py @@ -38,7 +38,7 @@ def __init__( サブクラスで各種の設定を行ってる。このクラスはその設定に基づき重み付きのトークン化を行うようだ。 Some settings are done in subclasses. This class seems to perform tokenization with weights based on those settings. """ - self.tokenizer = tokenizer + self.tokenizer: CLIPTokenizer = tokenizer self.max_length = max_length self.min_length = min_length empty = self.tokenizer("")["input_ids"] @@ -56,6 +56,19 @@ def __init__( self.inv_vocab = {v: k for k, v in vocab.items()} self.max_word_length = 8 + def tokenize(self, text: Union[str, List[str]]) -> List[torch.Tensor]: + """ + Tokenize the text without weights. + """ + if type(text) == str: + text = [text] + batch_tokens = self.tokenizer(text, padding="max_length", truncation=True, max_length=self.max_length, return_tensors="pt") + # return tokens["input_ids"] + + pad_token = self.end_token if self.pad_with_end else 0 + for tokens in batch_tokens["input_ids"]: + assert tokens[0] == self.start_token, f"tokens[0]: {tokens[0]}, start_token: {self.start_token}" + def tokenize_with_weights(self, text: str, truncate_to_max_length=True, truncate_length=None): """Tokenize the text, with weight values - presume 1.0 for all and ignore other features here. The details aren't relevant for a reference impl, and weights themselves has weak effect on SD3.""" @@ -75,13 +88,14 @@ def tokenize_with_weights(self, text: str, truncate_to_max_length=True, truncate for word in to_tokenize: batch.extend([(t, 1) for t in self.tokenizer(word)["input_ids"][self.tokens_start : -1]]) batch.append((self.end_token, 1.0)) + print(len(batch), self.max_length, self.min_length) if self.pad_to_max_length: batch.extend([(pad_token, 1.0)] * (self.max_length - len(batch))) if self.min_length is not None and len(batch) < self.min_length: batch.extend([(pad_token, 1.0)] * (self.min_length - len(batch))) # truncate to max_length - # print(f"batch: {batch}, truncate: {truncate}, len(batch): {len(batch)}, max_length: {self.max_length}") + print(f"batch: {batch}, max_length: {self.max_length}, truncate: {truncate_to_max_length}, truncate_length: {truncate_length}") if truncate_to_max_length and len(batch) > self.max_length: batch = batch[: self.max_length] if truncate_length is not None and len(batch) > truncate_length: @@ -110,27 +124,38 @@ def __init__(self, tokenizer): class SD3Tokenizer: - def __init__(self, t5xxl=True): + def __init__(self, t5xxl=True, t5xxl_max_length: Optional[int] = 256): + if t5xxl_max_length is None: + t5xxl_max_length = 256 + # TODO cache tokenizer settings locally or hold them in the repo like ComfyUI clip_tokenizer = CLIPTokenizer.from_pretrained("openai/clip-vit-large-patch14") self.clip_l = SDTokenizer(tokenizer=clip_tokenizer) self.clip_g = SDXLClipGTokenizer(clip_tokenizer) + # self.clip_l = CLIPTokenizer.from_pretrained("openai/clip-vit-large-patch14") + # self.clip_g = CLIPTokenizer.from_pretrained("laion/CLIP-ViT-bigG-14-laion2B-39B-b160k") self.t5xxl = T5XXLTokenizer() if t5xxl else None # t5xxl has 99999999 max length, clip has 77 - self.model_max_length = self.clip_l.max_length # 77 + self.t5xxl_max_length = t5xxl_max_length def tokenize_with_weights(self, text: str): - # temporary truncate to max_length even for t5xxl return ( self.clip_l.tokenize_with_weights(text), self.clip_g.tokenize_with_weights(text), ( - self.t5xxl.tokenize_with_weights(text, truncate_to_max_length=False, truncate_length=self.model_max_length) + self.t5xxl.tokenize_with_weights(text, truncate_to_max_length=False, truncate_length=self.t5xxl_max_length) if self.t5xxl is not None else None ), ) + def tokenize(self, text: str): + return ( + self.clip_l.tokenize(text), + self.clip_g.tokenize(text), + (self.t5xxl.tokenize(text) if self.t5xxl is not None else None), + ) + # endregion @@ -1474,7 +1499,10 @@ def encode_token_weights(self, list_of_token_weight_pairs): tokens = [a[0] for a in pairs[0]] # I'm not sure why this is [0] list_of_tokens.append(tokens) else: - list_of_tokens = [[a[0] for a in list_of_token_weight_pairs[0]]] + if isinstance(list_of_token_weight_pairs[0], torch.Tensor): + list_of_tokens = [list(list_of_token_weight_pairs[0])] + else: + list_of_tokens = [[a[0] for a in list_of_token_weight_pairs[0]]] out, pooled = self(list_of_tokens) if has_batch: @@ -1614,9 +1642,9 @@ def set_attn_mode(self, mode): ### T5 implementation, for the T5-XXL text encoder portion, largely pulled from upstream impl ################################################################################################# - +""" class T5XXLTokenizer(SDTokenizer): - """Wraps the T5 Tokenizer from HF into the SDTokenizer interface""" + ""Wraps the T5 Tokenizer from HF into the SDTokenizer interface"" def __init__(self): super().__init__( @@ -1627,6 +1655,7 @@ def __init__(self): max_length=99999999, min_length=77, ) +""" class T5LayerNorm(torch.nn.Module): diff --git a/library/sd3_train_utils.py b/library/sd3_train_utils.py index 245912199..8f99d9474 100644 --- a/library/sd3_train_utils.py +++ b/library/sd3_train_utils.py @@ -280,111 +280,6 @@ def sample_images(*args, **kwargs): return train_util.sample_images_common(SdxlStableDiffusionLongPromptWeightingPipeline, *args, **kwargs) -class Sd3LatentsCachingStrategy(train_util.LatentsCachingStrategy): - SD3_LATENTS_NPZ_SUFFIX = "_sd3.npz" - - def __init__(self, cache_to_disk: bool, batch_size: int, skip_disk_cache_validity_check: bool) -> None: - super().__init__(cache_to_disk, batch_size, skip_disk_cache_validity_check) - self.vae = None - - def set_vae(self, vae: sd3_models.SDVAE): - self.vae = vae - - def get_image_size_from_image_absolute_path(self, absolute_path: str) -> Tuple[Optional[int], Optional[int]]: - npz_file = glob.glob(os.path.splitext(absolute_path)[0] + "_*" + Sd3LatentsCachingStrategy.SD3_LATENTS_NPZ_SUFFIX) - if len(npz_file) == 0: - return None, None - w, h = os.path.splitext(npz_file[0])[0].split("_")[-2].split("x") - return int(w), int(h) - - def get_latents_npz_path(self, absolute_path: str, image_size: Tuple[int, int]) -> str: - return ( - os.path.splitext(absolute_path)[0] - + f"_{image_size[0]:04d}x{image_size[1]:04d}" - + Sd3LatentsCachingStrategy.SD3_LATENTS_NPZ_SUFFIX - ) - - def is_disk_cached_latents_expected(self, bucket_reso: Tuple[int, int], npz_path: str, flip_aug: bool, alpha_mask: bool): - if not self.cache_to_disk: - return False - if not os.path.exists(npz_path): - return False - if self.skip_disk_cache_validity_check: - return True - - expected_latents_size = (bucket_reso[1] // 8, bucket_reso[0] // 8) # bucket_reso is (W, H) - - try: - npz = np.load(npz_path) - if npz["latents"].shape[1:3] != expected_latents_size: - return False - - if flip_aug: - if "latents_flipped" not in npz: - return False - if npz["latents_flipped"].shape[1:3] != expected_latents_size: - return False - - if alpha_mask: - if "alpha_mask" not in npz: - return False - if npz["alpha_mask"].shape[0:2] != (bucket_reso[1], bucket_reso[0]): - return False - else: - if "alpha_mask" in npz: - return False - except Exception as e: - logger.error(f"Error loading file: {npz_path}") - raise e - - return True - - def cache_batch_latents(self, image_infos: List[train_util.ImageInfo], flip_aug: bool, alpha_mask: bool, random_crop: bool): - img_tensor, alpha_masks, original_sizes, crop_ltrbs = train_util.load_images_and_masks_for_caching( - image_infos, alpha_mask, random_crop - ) - img_tensor = img_tensor.to(device=self.vae.device, dtype=self.vae.dtype) - - with torch.no_grad(): - latents_tensors = self.vae.encode(img_tensor).to("cpu") - if flip_aug: - img_tensor = torch.flip(img_tensor, dims=[3]) - with torch.no_grad(): - flipped_latents = self.vae.encode(img_tensor).to("cpu") - else: - flipped_latents = [None] * len(latents_tensors) - - # for info, latents, flipped_latent, alpha_mask in zip(image_infos, latents_tensors, flipped_latents, alpha_masks): - for i in range(len(image_infos)): - info = image_infos[i] - latents = latents_tensors[i] - flipped_latent = flipped_latents[i] - alpha_mask = alpha_masks[i] - original_size = original_sizes[i] - crop_ltrb = crop_ltrbs[i] - - if self.cache_to_disk: - kwargs = {} - if flipped_latent is not None: - kwargs["latents_flipped"] = flipped_latent.float().cpu().numpy() - if alpha_mask is not None: - kwargs["alpha_mask"] = alpha_mask.float().cpu().numpy() - np.savez( - info.latents_npz, - latents=latents.float().cpu().numpy(), - original_size=np.array(original_size), - crop_ltrb=np.array(crop_ltrb), - **kwargs, - ) - else: - info.latents = latents - if flip_aug: - info.latents_flipped = flipped_latent - info.alpha_mask = alpha_mask - - if not train_util.HIGH_VRAM: - clean_memory_on_device(self.vae.device) - # region Diffusers diff --git a/library/sd3_utils.py b/library/sd3_utils.py index 16f80c60d..5849518fb 100644 --- a/library/sd3_utils.py +++ b/library/sd3_utils.py @@ -384,6 +384,7 @@ def get_cond( dtype: Optional[torch.dtype] = None, ): l_tokens, g_tokens, t5_tokens = tokenizer.tokenize_with_weights(prompt) + print(t5_tokens) return get_cond_from_tokens(l_tokens, g_tokens, t5_tokens, clip_l, clip_g, t5xxl, device=device, dtype=dtype) diff --git a/library/sdxl_train_util.py b/library/sdxl_train_util.py index b74bea91a..f009b5779 100644 --- a/library/sdxl_train_util.py +++ b/library/sdxl_train_util.py @@ -327,7 +327,7 @@ def diffusers_saver(out_dir): ) -def add_sdxl_training_arguments(parser: argparse.ArgumentParser): +def add_sdxl_training_arguments(parser: argparse.ArgumentParser, support_text_encoder_caching: bool = True): parser.add_argument( "--cache_text_encoder_outputs", action="store_true", help="cache text encoder outputs / text encoderの出力をキャッシュする" ) diff --git a/library/strategy_base.py b/library/strategy_base.py new file mode 100644 index 000000000..594cca5eb --- /dev/null +++ b/library/strategy_base.py @@ -0,0 +1,328 @@ +# base class for platform strategies. this file defines the interface for strategies + +import os +from typing import Any, List, Optional, Tuple, Union + +import numpy as np +import torch +from transformers import CLIPTokenizer, CLIPTextModel, CLIPTextModelWithProjection + + +# TODO remove circular import by moving ImageInfo to a separate file +# from library.train_util import ImageInfo + +from library.utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + + +class TokenizeStrategy: + _strategy = None # strategy instance: actual strategy class + + @classmethod + def set_strategy(cls, strategy): + if cls._strategy is not None: + raise RuntimeError(f"Internal error. {cls.__name__} strategy is already set") + cls._strategy = strategy + + @classmethod + def get_strategy(cls) -> Optional["TokenizeStrategy"]: + return cls._strategy + + def _load_tokenizer( + self, model_class: Any, model_id: str, subfolder: Optional[str] = None, tokenizer_cache_dir: Optional[str] = None + ) -> Any: + tokenizer = None + if tokenizer_cache_dir: + local_tokenizer_path = os.path.join(tokenizer_cache_dir, model_id.replace("/", "_")) + if os.path.exists(local_tokenizer_path): + logger.info(f"load tokenizer from cache: {local_tokenizer_path}") + tokenizer = model_class.from_pretrained(local_tokenizer_path) # same for v1 and v2 + + if tokenizer is None: + tokenizer = model_class.from_pretrained(model_id, subfolder=subfolder) + + if tokenizer_cache_dir and not os.path.exists(local_tokenizer_path): + logger.info(f"save Tokenizer to cache: {local_tokenizer_path}") + tokenizer.save_pretrained(local_tokenizer_path) + + return tokenizer + + def tokenize(self, text: Union[str, List[str]]) -> List[torch.Tensor]: + raise NotImplementedError + + def _get_input_ids(self, tokenizer: CLIPTokenizer, text: str, max_length: Optional[int] = None) -> torch.Tensor: + """ + for SD1.5/2.0/SDXL + TODO support batch input + """ + if max_length is None: + max_length = tokenizer.model_max_length - 2 + + input_ids = tokenizer(text, padding="max_length", truncation=True, max_length=max_length, return_tensors="pt").input_ids + + if max_length > tokenizer.model_max_length: + input_ids = input_ids.squeeze(0) + iids_list = [] + if tokenizer.pad_token_id == tokenizer.eos_token_id: + # v1 + # 77以上の時は " .... " でトータル227とかになっているので、"..."の三連に変換する + # 1111氏のやつは , で区切る、とかしているようだが とりあえず単純に + for i in range(1, max_length - tokenizer.model_max_length + 2, tokenizer.model_max_length - 2): # (1, 152, 75) + ids_chunk = ( + input_ids[0].unsqueeze(0), + input_ids[i : i + tokenizer.model_max_length - 2], + input_ids[-1].unsqueeze(0), + ) + ids_chunk = torch.cat(ids_chunk) + iids_list.append(ids_chunk) + else: + # v2 or SDXL + # 77以上の時は " .... ..." でトータル227とかになっているので、"... ..."の三連に変換する + for i in range(1, max_length - tokenizer.model_max_length + 2, tokenizer.model_max_length - 2): + ids_chunk = ( + input_ids[0].unsqueeze(0), # BOS + input_ids[i : i + tokenizer.model_max_length - 2], + input_ids[-1].unsqueeze(0), + ) # PAD or EOS + ids_chunk = torch.cat(ids_chunk) + + # 末尾が または の場合は、何もしなくてよい + # 末尾が x の場合は末尾を に変える(x なら結果的に変化なし) + if ids_chunk[-2] != tokenizer.eos_token_id and ids_chunk[-2] != tokenizer.pad_token_id: + ids_chunk[-1] = tokenizer.eos_token_id + # 先頭が ... の場合は ... に変える + if ids_chunk[1] == tokenizer.pad_token_id: + ids_chunk[1] = tokenizer.eos_token_id + + iids_list.append(ids_chunk) + + input_ids = torch.stack(iids_list) # 3,77 + return input_ids + + +class TextEncodingStrategy: + _strategy = None # strategy instance: actual strategy class + + @classmethod + def set_strategy(cls, strategy): + if cls._strategy is not None: + raise RuntimeError(f"Internal error. {cls.__name__} strategy is already set") + cls._strategy = strategy + + @classmethod + def get_strategy(cls) -> Optional["TextEncodingStrategy"]: + return cls._strategy + + def encode_tokens( + self, tokenize_strategy: TokenizeStrategy, models: List[Any], tokens: List[torch.Tensor] + ) -> List[torch.Tensor]: + """ + Encode tokens into embeddings and outputs. + :param tokens: list of token tensors for each TextModel + :return: list of output embeddings for each architecture + """ + raise NotImplementedError + + +class TextEncoderOutputsCachingStrategy: + _strategy = None # strategy instance: actual strategy class + + def __init__( + self, cache_to_disk: bool, batch_size: int, skip_disk_cache_validity_check: bool, is_partial: bool = False + ) -> None: + self._cache_to_disk = cache_to_disk + self._batch_size = batch_size + self.skip_disk_cache_validity_check = skip_disk_cache_validity_check + self._is_partial = is_partial + + @classmethod + def set_strategy(cls, strategy): + if cls._strategy is not None: + raise RuntimeError(f"Internal error. {cls.__name__} strategy is already set") + cls._strategy = strategy + + @classmethod + def get_strategy(cls) -> Optional["TextEncoderOutputsCachingStrategy"]: + return cls._strategy + + @property + def cache_to_disk(self): + return self._cache_to_disk + + @property + def batch_size(self): + return self._batch_size + + @property + def is_partial(self): + return self._is_partial + + def get_outputs_npz_path(self, image_abs_path: str) -> str: + raise NotImplementedError + + def load_outputs_npz(self, npz_path: str) -> List[np.ndarray]: + raise NotImplementedError + + def is_disk_cached_outputs_expected(self, npz_path: str) -> bool: + raise NotImplementedError + + def cache_batch_outputs( + self, tokenize_strategy: TokenizeStrategy, models: List[Any], text_encoding_strategy: TextEncodingStrategy, batch: List + ): + raise NotImplementedError + + +class LatentsCachingStrategy: + # TODO commonize utillity functions to this class, such as npz handling etc. + + _strategy = None # strategy instance: actual strategy class + + def __init__(self, cache_to_disk: bool, batch_size: int, skip_disk_cache_validity_check: bool) -> None: + self._cache_to_disk = cache_to_disk + self._batch_size = batch_size + self.skip_disk_cache_validity_check = skip_disk_cache_validity_check + + @classmethod + def set_strategy(cls, strategy): + if cls._strategy is not None: + raise RuntimeError(f"Internal error. {cls.__name__} strategy is already set") + cls._strategy = strategy + + @classmethod + def get_strategy(cls) -> Optional["LatentsCachingStrategy"]: + return cls._strategy + + @property + def cache_to_disk(self): + return self._cache_to_disk + + @property + def batch_size(self): + return self._batch_size + + def get_image_size_from_disk_cache_path(self, absolute_path: str) -> Tuple[Optional[int], Optional[int]]: + raise NotImplementedError + + def get_latents_npz_path(self, absolute_path: str, image_size: Tuple[int, int]) -> str: + raise NotImplementedError + + def is_disk_cached_latents_expected( + self, bucket_reso: Tuple[int, int], npz_path: str, flip_aug: bool, alpha_mask: bool + ) -> bool: + raise NotImplementedError + + def cache_batch_latents(self, model: Any, batch: List, flip_aug: bool, alpha_mask: bool, random_crop: bool): + raise NotImplementedError + + def _defualt_is_disk_cached_latents_expected( + self, latents_stride: int, bucket_reso: Tuple[int, int], npz_path: str, flip_aug: bool, alpha_mask: bool + ): + if not self.cache_to_disk: + return False + if not os.path.exists(npz_path): + return False + if self.skip_disk_cache_validity_check: + return True + + expected_latents_size = (bucket_reso[1] // latents_stride, bucket_reso[0] // latents_stride) # bucket_reso is (W, H) + + try: + npz = np.load(npz_path) + if npz["latents"].shape[1:3] != expected_latents_size: + return False + + if flip_aug: + if "latents_flipped" not in npz: + return False + if npz["latents_flipped"].shape[1:3] != expected_latents_size: + return False + + if alpha_mask: + if "alpha_mask" not in npz: + return False + if npz["alpha_mask"].shape[0:2] != (bucket_reso[1], bucket_reso[0]): + return False + else: + if "alpha_mask" in npz: + return False + except Exception as e: + logger.error(f"Error loading file: {npz_path}") + raise e + + return True + + # TODO remove circular dependency for ImageInfo + def _default_cache_batch_latents( + self, encode_by_vae, vae_device, vae_dtype, image_infos: List, flip_aug: bool, alpha_mask: bool, random_crop: bool + ): + """ + Default implementation for cache_batch_latents. Image loading, VAE, flipping, alpha mask handling are common. + """ + from library import train_util # import here to avoid circular import + + img_tensor, alpha_masks, original_sizes, crop_ltrbs = train_util.load_images_and_masks_for_caching( + image_infos, alpha_mask, random_crop + ) + img_tensor = img_tensor.to(device=vae_device, dtype=vae_dtype) + + with torch.no_grad(): + latents_tensors = encode_by_vae(img_tensor).to("cpu") + if flip_aug: + img_tensor = torch.flip(img_tensor, dims=[3]) + with torch.no_grad(): + flipped_latents = encode_by_vae(img_tensor).to("cpu") + else: + flipped_latents = [None] * len(latents_tensors) + + # for info, latents, flipped_latent, alpha_mask in zip(image_infos, latents_tensors, flipped_latents, alpha_masks): + for i in range(len(image_infos)): + info = image_infos[i] + latents = latents_tensors[i] + flipped_latent = flipped_latents[i] + alpha_mask = alpha_masks[i] + original_size = original_sizes[i] + crop_ltrb = crop_ltrbs[i] + + if self.cache_to_disk: + self.save_latents_to_disk(info.latents_npz, latents, original_size, crop_ltrb, flipped_latent, alpha_mask) + else: + info.latents_original_size = original_size + info.latents_crop_ltrb = crop_ltrb + info.latents = latents + if flip_aug: + info.latents_flipped = flipped_latent + info.alpha_mask = alpha_mask + + def load_latents_from_disk( + self, npz_path: str + ) -> Tuple[Optional[np.ndarray], Optional[List[int]], Optional[List[int]], Optional[np.ndarray], Optional[np.ndarray]]: + npz = np.load(npz_path) + if "latents" not in npz: + raise ValueError(f"error: npz is old format. please re-generate {npz_path}") + + latents = npz["latents"] + original_size = npz["original_size"].tolist() + crop_ltrb = npz["crop_ltrb"].tolist() + flipped_latents = npz["latents_flipped"] if "latents_flipped" in npz else None + alpha_mask = npz["alpha_mask"] if "alpha_mask" in npz else None + return latents, original_size, crop_ltrb, flipped_latents, alpha_mask + + def save_latents_to_disk( + self, npz_path, latents_tensor, original_size, crop_ltrb, flipped_latents_tensor=None, alpha_mask=None + ): + kwargs = {} + if flipped_latents_tensor is not None: + kwargs["latents_flipped"] = flipped_latents_tensor.float().cpu().numpy() + if alpha_mask is not None: + kwargs["alpha_mask"] = alpha_mask.float().cpu().numpy() + np.savez( + npz_path, + latents=latents_tensor.float().cpu().numpy(), + original_size=np.array(original_size), + crop_ltrb=np.array(crop_ltrb), + **kwargs, + ) diff --git a/library/strategy_sd.py b/library/strategy_sd.py new file mode 100644 index 000000000..105816145 --- /dev/null +++ b/library/strategy_sd.py @@ -0,0 +1,139 @@ +import glob +import os +from typing import Any, List, Optional, Tuple, Union + +import torch +from transformers import CLIPTokenizer +from library import train_util +from library.strategy_base import LatentsCachingStrategy, TokenizeStrategy, TextEncodingStrategy +from library.utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + + +TOKENIZER_ID = "openai/clip-vit-large-patch14" +V2_STABLE_DIFFUSION_ID = "stabilityai/stable-diffusion-2" # ここからtokenizerだけ使う v2とv2.1はtokenizer仕様は同じ + + +class SdTokenizeStrategy(TokenizeStrategy): + def __init__(self, v2: bool, max_length: Optional[int], tokenizer_cache_dir: Optional[str] = None) -> None: + """ + max_length does not include and (None, 75, 150, 225) + """ + logger.info(f"Using {'v2' if v2 else 'v1'} tokenizer") + if v2: + self.tokenizer = self._load_tokenizer( + CLIPTokenizer, V2_STABLE_DIFFUSION_ID, subfolder="tokenizer", tokenizer_cache_dir=tokenizer_cache_dir + ) + else: + self.tokenizer = self._load_tokenizer(CLIPTokenizer, TOKENIZER_ID, tokenizer_cache_dir=tokenizer_cache_dir) + + if max_length is None: + self.max_length = self.tokenizer.model_max_length + else: + self.max_length = max_length + 2 + + def tokenize(self, text: Union[str, List[str]]) -> List[torch.Tensor]: + text = [text] if isinstance(text, str) else text + return [torch.stack([self._get_input_ids(self.tokenizer, t, self.max_length) for t in text], dim=0)] + + +class SdTextEncodingStrategy(TextEncodingStrategy): + def __init__(self, clip_skip: Optional[int] = None) -> None: + self.clip_skip = clip_skip + + def encode_tokens( + self, tokenize_strategy: TokenizeStrategy, models: List[Any], tokens: List[torch.Tensor] + ) -> List[torch.Tensor]: + text_encoder = models[0] + tokens = tokens[0] + sd_tokenize_strategy = tokenize_strategy # type: SdTokenizeStrategy + + # tokens: b,n,77 + b_size = tokens.size()[0] + max_token_length = tokens.size()[1] * tokens.size()[2] + model_max_length = sd_tokenize_strategy.tokenizer.model_max_length + tokens = tokens.reshape((-1, model_max_length)) # batch_size*3, 77 + + if self.clip_skip is None: + encoder_hidden_states = text_encoder(tokens)[0] + else: + enc_out = text_encoder(tokens, output_hidden_states=True, return_dict=True) + encoder_hidden_states = enc_out["hidden_states"][-self.clip_skip] + encoder_hidden_states = text_encoder.text_model.final_layer_norm(encoder_hidden_states) + + # bs*3, 77, 768 or 1024 + encoder_hidden_states = encoder_hidden_states.reshape((b_size, -1, encoder_hidden_states.shape[-1])) + + if max_token_length != model_max_length: + v1 = sd_tokenize_strategy.tokenizer.pad_token_id == sd_tokenize_strategy.tokenizer.eos_token_id + if not v1: + # v2: ... ... の三連を ... ... へ戻す 正直この実装でいいのかわからん + states_list = [encoder_hidden_states[:, 0].unsqueeze(1)] # + for i in range(1, max_token_length, model_max_length): + chunk = encoder_hidden_states[:, i : i + model_max_length - 2] # の後から 最後の前まで + if i > 0: + for j in range(len(chunk)): + if tokens[j, 1] == sd_tokenize_strategy.tokenizer.eos_token: + # 空、つまり ...のパターン + chunk[j, 0] = chunk[j, 1] # 次の の値をコピーする + states_list.append(chunk) # の後から の前まで + states_list.append(encoder_hidden_states[:, -1].unsqueeze(1)) # のどちらか + encoder_hidden_states = torch.cat(states_list, dim=1) + else: + # v1: ... の三連を ... へ戻す + states_list = [encoder_hidden_states[:, 0].unsqueeze(1)] # + for i in range(1, max_token_length, model_max_length): + states_list.append(encoder_hidden_states[:, i : i + model_max_length - 2]) # の後から の前まで + states_list.append(encoder_hidden_states[:, -1].unsqueeze(1)) # + encoder_hidden_states = torch.cat(states_list, dim=1) + + return [encoder_hidden_states] + + +class SdSdxlLatentsCachingStrategy(LatentsCachingStrategy): + # sd and sdxl share the same strategy. we can make them separate, but the difference is only the suffix. + # and we keep the old npz for the backward compatibility. + + SD_OLD_LATENTS_NPZ_SUFFIX = ".npz" + SD_LATENTS_NPZ_SUFFIX = "_sd.npz" + SDXL_LATENTS_NPZ_SUFFIX = "_sdxl.npz" + + def __init__(self, sd: bool, cache_to_disk: bool, batch_size: int, skip_disk_cache_validity_check: bool) -> None: + super().__init__(cache_to_disk, batch_size, skip_disk_cache_validity_check) + self.sd = sd + self.suffix = ( + SdSdxlLatentsCachingStrategy.SD_LATENTS_NPZ_SUFFIX if sd else SdSdxlLatentsCachingStrategy.SDXL_LATENTS_NPZ_SUFFIX + ) + + def get_image_size_from_disk_cache_path(self, absolute_path: str) -> Tuple[Optional[int], Optional[int]]: + # does not include old npz + npz_file = glob.glob(os.path.splitext(absolute_path)[0] + "_*" + self.suffix) + if len(npz_file) == 0: + return None, None + w, h = os.path.splitext(npz_file[0])[0].split("_")[-2].split("x") + return int(w), int(h) + + def get_latents_npz_path(self, absolute_path: str, image_size: Tuple[int, int]) -> str: + # support old .npz + old_npz_file = os.path.splitext(absolute_path)[0] + SdSdxlLatentsCachingStrategy.SD_OLD_LATENTS_NPZ_SUFFIX + if os.path.exists(old_npz_file): + return old_npz_file + return os.path.splitext(absolute_path)[0] + f"_{image_size[0]:04d}x{image_size[1]:04d}" + self.suffix + + def is_disk_cached_latents_expected(self, bucket_reso: Tuple[int, int], npz_path: str, flip_aug: bool, alpha_mask: bool): + return self._defualt_is_disk_cached_latents_expected(8, bucket_reso, npz_path, flip_aug, alpha_mask) + + # TODO remove circular dependency for ImageInfo + def cache_batch_latents(self, vae, image_infos: List, flip_aug: bool, alpha_mask: bool, random_crop: bool): + encode_by_vae = lambda img_tensor: vae.encode(img_tensor).latent_dist.sample() + vae_device = vae.device + vae_dtype = vae.dtype + + self._default_cache_batch_latents(encode_by_vae, vae_device, vae_dtype, image_infos, flip_aug, alpha_mask, random_crop) + + if not train_util.HIGH_VRAM: + train_util.clean_memory_on_device(vae.device) diff --git a/library/strategy_sd3.py b/library/strategy_sd3.py new file mode 100644 index 000000000..42630ab22 --- /dev/null +++ b/library/strategy_sd3.py @@ -0,0 +1,229 @@ +import os +import glob +from typing import Any, List, Optional, Tuple, Union +import torch +import numpy as np +from transformers import CLIPTokenizer, T5TokenizerFast + +from library import sd3_utils, train_util +from library import sd3_models +from library.strategy_base import LatentsCachingStrategy, TextEncodingStrategy, TokenizeStrategy, TextEncoderOutputsCachingStrategy + +from library.utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + + +CLIP_L_TOKENIZER_ID = "openai/clip-vit-large-patch14" +CLIP_G_TOKENIZER_ID = "laion/CLIP-ViT-bigG-14-laion2B-39B-b160k" +T5_XXL_TOKENIZER_ID = "google/t5-v1_1-xxl" + + +class Sd3TokenizeStrategy(TokenizeStrategy): + def __init__(self, t5xxl_max_length: int = 256, tokenizer_cache_dir: Optional[str] = None) -> None: + self.t5xxl_max_length = t5xxl_max_length + self.clip_l = self._load_tokenizer(CLIPTokenizer, CLIP_L_TOKENIZER_ID, tokenizer_cache_dir=tokenizer_cache_dir) + self.clip_g = self._load_tokenizer(CLIPTokenizer, CLIP_G_TOKENIZER_ID, tokenizer_cache_dir=tokenizer_cache_dir) + self.t5xxl = self._load_tokenizer(T5TokenizerFast, T5_XXL_TOKENIZER_ID, tokenizer_cache_dir=tokenizer_cache_dir) + self.clip_g.pad_token_id = 0 # use 0 as pad token for clip_g + + def tokenize(self, text: Union[str, List[str]]) -> List[torch.Tensor]: + text = [text] if isinstance(text, str) else text + + l_tokens = self.clip_l(text, max_length=77, padding="max_length", truncation=True, return_tensors="pt") + g_tokens = self.clip_g(text, max_length=77, padding="max_length", truncation=True, return_tensors="pt") + t5_tokens = self.t5xxl(text, max_length=self.t5xxl_max_length, padding="max_length", truncation=True, return_tensors="pt") + + l_tokens = l_tokens["input_ids"] + g_tokens = g_tokens["input_ids"] + t5_tokens = t5_tokens["input_ids"] + + return [l_tokens, g_tokens, t5_tokens] + + +class Sd3TextEncodingStrategy(TextEncodingStrategy): + def __init__(self) -> None: + pass + + def encode_tokens( + self, tokenize_strategy: TokenizeStrategy, models: List[Any], tokens: List[torch.Tensor] + ) -> List[torch.Tensor]: + clip_l, clip_g, t5xxl = models + + l_tokens, g_tokens, t5_tokens = tokens + if l_tokens is None: + assert g_tokens is None, "g_tokens must be None if l_tokens is None" + lg_out = None + else: + assert g_tokens is not None, "g_tokens must not be None if l_tokens is not None" + l_out, l_pooled = clip_l(l_tokens) + g_out, g_pooled = clip_g(g_tokens) + lg_out = torch.cat([l_out, g_out], dim=-1) + + if t5xxl is not None and t5_tokens is not None: + t5_out, _ = t5xxl(t5_tokens) # t5_out is [1, max length, 4096] + else: + t5_out = None + + lg_pooled = torch.cat((l_pooled, g_pooled), dim=-1) if l_tokens is not None else None + return [lg_out, t5_out, lg_pooled] + + def concat_encodings( + self, lg_out: torch.Tensor, t5_out: Optional[torch.Tensor], lg_pooled: torch.Tensor + ) -> Tuple[torch.Tensor, torch.Tensor]: + lg_out = torch.nn.functional.pad(lg_out, (0, 4096 - lg_out.shape[-1])) + if t5_out is None: + t5_out = torch.zeros((lg_out.shape[0], 77, 4096), device=lg_out.device, dtype=lg_out.dtype) + return torch.cat([lg_out, t5_out], dim=-2), lg_pooled + + +class Sd3TextEncoderOutputsCachingStrategy(TextEncoderOutputsCachingStrategy): + SD3_TEXT_ENCODER_OUTPUTS_NPZ_SUFFIX = "_sd3_te.npz" + + def __init__( + self, cache_to_disk: bool, batch_size: int, skip_disk_cache_validity_check: bool, is_partial: bool = False + ) -> None: + super().__init__(cache_to_disk, batch_size, skip_disk_cache_validity_check, is_partial) + + def get_outputs_npz_path(self, image_abs_path: str) -> str: + return os.path.splitext(image_abs_path)[0] + Sd3TextEncoderOutputsCachingStrategy.SD3_TEXT_ENCODER_OUTPUTS_NPZ_SUFFIX + + def is_disk_cached_outputs_expected(self, abs_path: str): + if not self.cache_to_disk: + return False + if not os.path.exists(self.get_outputs_npz_path(abs_path)): + return False + if self.skip_disk_cache_validity_check: + return True + + try: + npz = np.load(self.get_outputs_npz_path(abs_path)) + if "clip_l" not in npz or "clip_g" not in npz: + return False + if "clip_l_pool" not in npz or "clip_g_pool" not in npz: + return False + # t5xxl is optional + except Exception as e: + logger.error(f"Error loading file: {self.get_outputs_npz_path(abs_path)}") + raise e + + return True + + def load_outputs_npz(self, npz_path: str) -> List[np.ndarray]: + data = np.load(npz_path) + lg_out = data["lg_out"] + lg_pooled = data["lg_pooled"] + t5_out = data["t5_out"] if "t5_out" in data else None + return [lg_out, t5_out, lg_pooled] + + def cache_batch_outputs( + self, tokenize_strategy: TokenizeStrategy, models: List[Any], text_encoding_strategy: TextEncodingStrategy, infos: List + ): + captions = [info.caption for info in infos] + + clip_l_tokens, clip_g_tokens, t5xxl_tokens = tokenize_strategy.tokenize(captions) + with torch.no_grad(): + lg_out, t5_out, lg_pooled = text_encoding_strategy.encode_tokens( + tokenize_strategy, models, [clip_l_tokens, clip_g_tokens, t5xxl_tokens] + ) + + if lg_out.dtype == torch.bfloat16: + lg_out = lg_out.float() + if lg_pooled.dtype == torch.bfloat16: + lg_pooled = lg_pooled.float() + if t5_out is not None and t5_out.dtype == torch.bfloat16: + t5_out = t5_out.float() + + lg_out = lg_out.cpu().numpy() + lg_pooled = lg_pooled.cpu().numpy() + if t5_out is not None: + t5_out = t5_out.cpu().numpy() + + for i, info in enumerate(infos): + lg_out_i = lg_out[i] + t5_out_i = t5_out[i] if t5_out is not None else None + lg_pooled_i = lg_pooled[i] + + if self.cache_to_disk: + kwargs = {} + if t5_out is not None: + kwargs["t5_out"] = t5_out_i + np.savez(info.text_encoder_outputs_npz, lg_out=lg_out_i, lg_pooled=lg_pooled_i, **kwargs) + else: + info.text_encoder_outputs = (lg_out_i, t5_out_i, lg_pooled_i) + + +class Sd3LatentsCachingStrategy(LatentsCachingStrategy): + SD3_LATENTS_NPZ_SUFFIX = "_sd3.npz" + + def __init__(self, cache_to_disk: bool, batch_size: int, skip_disk_cache_validity_check: bool) -> None: + super().__init__(cache_to_disk, batch_size, skip_disk_cache_validity_check) + + def get_image_size_from_disk_cache_path(self, absolute_path: str) -> Tuple[Optional[int], Optional[int]]: + npz_file = glob.glob(os.path.splitext(absolute_path)[0] + "_*" + Sd3LatentsCachingStrategy.SD3_LATENTS_NPZ_SUFFIX) + if len(npz_file) == 0: + return None, None + w, h = os.path.splitext(npz_file[0])[0].split("_")[-2].split("x") + return int(w), int(h) + + def get_latents_npz_path(self, absolute_path: str, image_size: Tuple[int, int]) -> str: + return ( + os.path.splitext(absolute_path)[0] + + f"_{image_size[0]:04d}x{image_size[1]:04d}" + + Sd3LatentsCachingStrategy.SD3_LATENTS_NPZ_SUFFIX + ) + + def is_disk_cached_latents_expected(self, bucket_reso: Tuple[int, int], npz_path: str, flip_aug: bool, alpha_mask: bool): + return self._defualt_is_disk_cached_latents_expected(8, bucket_reso, npz_path, flip_aug, alpha_mask) + + # TODO remove circular dependency for ImageInfo + def cache_batch_latents(self, vae, image_infos: List, flip_aug: bool, alpha_mask: bool, random_crop: bool): + encode_by_vae = lambda img_tensor: vae.encode(img_tensor).to("cpu") + vae_device = vae.device + vae_dtype = vae.dtype + + self._default_cache_batch_latents(encode_by_vae, vae_device, vae_dtype, image_infos, flip_aug, alpha_mask, random_crop) + + if not train_util.HIGH_VRAM: + train_util.clean_memory_on_device(vae.device) + + +if __name__ == "__main__": + # test code for Sd3TokenizeStrategy + # tokenizer = sd3_models.SD3Tokenizer() + strategy = Sd3TokenizeStrategy(256) + text = "hello world" + + l_tokens, g_tokens, t5_tokens = strategy.tokenize(text) + # print(l_tokens.shape) + print(l_tokens) + print(g_tokens) + print(t5_tokens) + + texts = ["hello world", "the quick brown fox jumps over the lazy dog"] + l_tokens_2 = strategy.clip_l(texts, max_length=77, padding="max_length", truncation=True, return_tensors="pt") + g_tokens_2 = strategy.clip_g(texts, max_length=77, padding="max_length", truncation=True, return_tensors="pt") + t5_tokens_2 = strategy.t5xxl( + texts, max_length=strategy.t5xxl_max_length, padding="max_length", truncation=True, return_tensors="pt" + ) + print(l_tokens_2) + print(g_tokens_2) + print(t5_tokens_2) + + # compare + print(torch.allclose(l_tokens, l_tokens_2["input_ids"][0])) + print(torch.allclose(g_tokens, g_tokens_2["input_ids"][0])) + print(torch.allclose(t5_tokens, t5_tokens_2["input_ids"][0])) + + text = ",".join(["hello world! this is long text"] * 50) + l_tokens, g_tokens, t5_tokens = strategy.tokenize(text) + print(l_tokens) + print(g_tokens) + print(t5_tokens) + + print(f"model max length l: {strategy.clip_l.model_max_length}") + print(f"model max length g: {strategy.clip_g.model_max_length}") + print(f"model max length t5: {strategy.t5xxl.model_max_length}") diff --git a/library/strategy_sdxl.py b/library/strategy_sdxl.py new file mode 100644 index 000000000..a4513336d --- /dev/null +++ b/library/strategy_sdxl.py @@ -0,0 +1,247 @@ +import os +from typing import Any, List, Optional, Tuple, Union + +import numpy as np +import torch +from transformers import CLIPTokenizer, CLIPTextModel, CLIPTextModelWithProjection +from library.strategy_base import TokenizeStrategy, TextEncodingStrategy, TextEncoderOutputsCachingStrategy + + +from library.utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + + +TOKENIZER1_PATH = "openai/clip-vit-large-patch14" +TOKENIZER2_PATH = "laion/CLIP-ViT-bigG-14-laion2B-39B-b160k" + + +class SdxlTokenizeStrategy(TokenizeStrategy): + def __init__(self, max_length: Optional[int], tokenizer_cache_dir: Optional[str] = None) -> None: + self.tokenizer1 = self._load_tokenizer(CLIPTokenizer, TOKENIZER1_PATH, tokenizer_cache_dir=tokenizer_cache_dir) + self.tokenizer2 = self._load_tokenizer(CLIPTokenizer, TOKENIZER2_PATH, tokenizer_cache_dir=tokenizer_cache_dir) + self.tokenizer2.pad_token_id = 0 # use 0 as pad token for tokenizer2 + + if max_length is None: + self.max_length = self.tokenizer1.model_max_length + else: + self.max_length = max_length + 2 + + def tokenize(self, text: Union[str, List[str]]) -> List[torch.Tensor]: + text = [text] if isinstance(text, str) else text + return ( + torch.stack([self._get_input_ids(self.tokenizer1, t, self.max_length) for t in text], dim=0), + torch.stack([self._get_input_ids(self.tokenizer2, t, self.max_length) for t in text], dim=0), + ) + + +class SdxlTextEncodingStrategy(TextEncodingStrategy): + def __init__(self) -> None: + pass + + def _pool_workaround( + self, text_encoder: CLIPTextModelWithProjection, last_hidden_state: torch.Tensor, input_ids: torch.Tensor, eos_token_id: int + ): + r""" + workaround for CLIP's pooling bug: it returns the hidden states for the max token id as the pooled output + instead of the hidden states for the EOS token + If we use Textual Inversion, we need to use the hidden states for the EOS token as the pooled output + + Original code from CLIP's pooling function: + + \# text_embeds.shape = [batch_size, sequence_length, transformer.width] + \# take features from the eot embedding (eot_token is the highest number in each sequence) + \# casting to torch.int for onnx compatibility: argmax doesn't support int64 inputs with opset 14 + pooled_output = last_hidden_state[ + torch.arange(last_hidden_state.shape[0], device=last_hidden_state.device), + input_ids.to(dtype=torch.int, device=last_hidden_state.device).argmax(dim=-1), + ] + """ + + # input_ids: b*n,77 + # find index for EOS token + + # Following code is not working if one of the input_ids has multiple EOS tokens (very odd case) + # eos_token_index = torch.where(input_ids == eos_token_id)[1] + # eos_token_index = eos_token_index.to(device=last_hidden_state.device) + + # Create a mask where the EOS tokens are + eos_token_mask = (input_ids == eos_token_id).int() + + # Use argmax to find the last index of the EOS token for each element in the batch + eos_token_index = torch.argmax(eos_token_mask, dim=1) # this will be 0 if there is no EOS token, it's fine + eos_token_index = eos_token_index.to(device=last_hidden_state.device) + + # get hidden states for EOS token + pooled_output = last_hidden_state[ + torch.arange(last_hidden_state.shape[0], device=last_hidden_state.device), eos_token_index + ] + + # apply projection: projection may be of different dtype than last_hidden_state + pooled_output = text_encoder.text_projection(pooled_output.to(text_encoder.text_projection.weight.dtype)) + pooled_output = pooled_output.to(last_hidden_state.dtype) + + return pooled_output + + def _get_hidden_states_sdxl( + self, + input_ids1: torch.Tensor, + input_ids2: torch.Tensor, + tokenizer1: CLIPTokenizer, + tokenizer2: CLIPTokenizer, + text_encoder1: Union[CLIPTextModel, torch.nn.Module], + text_encoder2: Union[CLIPTextModelWithProjection, torch.nn.Module], + unwrapped_text_encoder2: Optional[CLIPTextModelWithProjection] = None, + ): + # input_ids: b,n,77 -> b*n, 77 + b_size = input_ids1.size()[0] + max_token_length = input_ids1.size()[1] * input_ids1.size()[2] + input_ids1 = input_ids1.reshape((-1, tokenizer1.model_max_length)) # batch_size*n, 77 + input_ids2 = input_ids2.reshape((-1, tokenizer2.model_max_length)) # batch_size*n, 77 + input_ids1 = input_ids1.to(text_encoder1.device) + input_ids2 = input_ids2.to(text_encoder2.device) + + # text_encoder1 + enc_out = text_encoder1(input_ids1, output_hidden_states=True, return_dict=True) + hidden_states1 = enc_out["hidden_states"][11] + + # text_encoder2 + enc_out = text_encoder2(input_ids2, output_hidden_states=True, return_dict=True) + hidden_states2 = enc_out["hidden_states"][-2] # penuultimate layer + + # pool2 = enc_out["text_embeds"] + unwrapped_text_encoder2 = unwrapped_text_encoder2 or text_encoder2 + pool2 = self._pool_workaround(unwrapped_text_encoder2, enc_out["last_hidden_state"], input_ids2, tokenizer2.eos_token_id) + + # b*n, 77, 768 or 1280 -> b, n*77, 768 or 1280 + n_size = 1 if max_token_length is None else max_token_length // 75 + hidden_states1 = hidden_states1.reshape((b_size, -1, hidden_states1.shape[-1])) + hidden_states2 = hidden_states2.reshape((b_size, -1, hidden_states2.shape[-1])) + + if max_token_length is not None: + # bs*3, 77, 768 or 1024 + # encoder1: ... の三連を ... へ戻す + states_list = [hidden_states1[:, 0].unsqueeze(1)] # + for i in range(1, max_token_length, tokenizer1.model_max_length): + states_list.append(hidden_states1[:, i : i + tokenizer1.model_max_length - 2]) # の後から の前まで + states_list.append(hidden_states1[:, -1].unsqueeze(1)) # + hidden_states1 = torch.cat(states_list, dim=1) + + # v2: ... ... の三連を ... ... へ戻す 正直この実装でいいのかわからん + states_list = [hidden_states2[:, 0].unsqueeze(1)] # + for i in range(1, max_token_length, tokenizer2.model_max_length): + chunk = hidden_states2[:, i : i + tokenizer2.model_max_length - 2] # の後から 最後の前まで + # this causes an error: + # RuntimeError: one of the variables needed for gradient computation has been modified by an inplace operation + # if i > 1: + # for j in range(len(chunk)): # batch_size + # if input_ids2[n_index + j * n_size, 1] == tokenizer2.eos_token_id: # 空、つまり ...のパターン + # chunk[j, 0] = chunk[j, 1] # 次の の値をコピーする + states_list.append(chunk) # の後から の前まで + states_list.append(hidden_states2[:, -1].unsqueeze(1)) # のどちらか + hidden_states2 = torch.cat(states_list, dim=1) + + # pool はnの最初のものを使う + pool2 = pool2[::n_size] + + return hidden_states1, hidden_states2, pool2 + + def encode_tokens( + self, tokenize_strategy: TokenizeStrategy, models: List[Any], tokens: List[torch.Tensor] + ) -> List[torch.Tensor]: + """ + Args: + tokenize_strategy: TokenizeStrategy + models: List of models, [text_encoder1, text_encoder2, unwrapped text_encoder2 (optional)] + tokens: List of tokens, for text_encoder1 and text_encoder2 + """ + if len(models) == 2: + text_encoder1, text_encoder2 = models + unwrapped_text_encoder2 = None + else: + text_encoder1, text_encoder2, unwrapped_text_encoder2 = models + tokens1, tokens2 = tokens + sdxl_tokenize_strategy = tokenize_strategy # type: SdxlTokenizeStrategy + tokenizer1, tokenizer2 = sdxl_tokenize_strategy.tokenizer1, sdxl_tokenize_strategy.tokenizer2 + + hidden_states1, hidden_states2, pool2 = self._get_hidden_states_sdxl( + tokens1, tokens2, tokenizer1, tokenizer2, text_encoder1, text_encoder2, unwrapped_text_encoder2 + ) + return [hidden_states1, hidden_states2, pool2] + + +class SdxlTextEncoderOutputsCachingStrategy(TextEncoderOutputsCachingStrategy): + SDXL_TEXT_ENCODER_OUTPUTS_NPZ_SUFFIX = "_te_outputs.npz" + + def __init__( + self, cache_to_disk: bool, batch_size: int, skip_disk_cache_validity_check: bool, is_partial: bool = False + ) -> None: + super().__init__(cache_to_disk, batch_size, skip_disk_cache_validity_check, is_partial) + + def get_outputs_npz_path(self, image_abs_path: str) -> str: + return os.path.splitext(image_abs_path)[0] + SdxlTextEncoderOutputsCachingStrategy.SDXL_TEXT_ENCODER_OUTPUTS_NPZ_SUFFIX + + def is_disk_cached_outputs_expected(self, abs_path: str): + if not self.cache_to_disk: + return False + if not os.path.exists(self.get_outputs_npz_path(abs_path)): + return False + if self.skip_disk_cache_validity_check: + return True + + try: + npz = np.load(self.get_outputs_npz_path(abs_path)) + if "hidden_state1" not in npz or "hidden_state2" not in npz or "pool2" not in npz: + return False + except Exception as e: + logger.error(f"Error loading file: {self.get_outputs_npz_path(abs_path)}") + raise e + + return True + + def load_outputs_npz(self, npz_path: str) -> List[np.ndarray]: + data = np.load(npz_path) + hidden_state1 = data["hidden_state1"] + hidden_state2 = data["hidden_state2"] + pool2 = data["pool2"] + return [hidden_state1, hidden_state2, pool2] + + def cache_batch_outputs( + self, tokenize_strategy: TokenizeStrategy, models: List[Any], text_encoding_strategy: TextEncodingStrategy, infos: List + ): + sdxl_text_encoding_strategy = text_encoding_strategy # type: SdxlTextEncodingStrategy + captions = [info.caption for info in infos] + + tokens1, tokens2 = tokenize_strategy.tokenize(captions) + with torch.no_grad(): + hidden_state1, hidden_state2, pool2 = sdxl_text_encoding_strategy.encode_tokens( + tokenize_strategy, models, [tokens1, tokens2] + ) + if hidden_state1.dtype == torch.bfloat16: + hidden_state1 = hidden_state1.float() + if hidden_state2.dtype == torch.bfloat16: + hidden_state2 = hidden_state2.float() + if pool2.dtype == torch.bfloat16: + pool2 = pool2.float() + + hidden_state1 = hidden_state1.cpu().numpy() + hidden_state2 = hidden_state2.cpu().numpy() + pool2 = pool2.cpu().numpy() + + for i, info in enumerate(infos): + hidden_state1_i = hidden_state1[i] + hidden_state2_i = hidden_state2[i] + pool2_i = pool2[i] + + if self.cache_to_disk: + np.savez( + info.text_encoder_outputs_npz, + hidden_state1=hidden_state1_i, + hidden_state2=hidden_state2_i, + pool2=pool2_i, + ) + else: + info.text_encoder_outputs = [hidden_state1_i, hidden_state2_i, pool2_i] diff --git a/library/train_util.py b/library/train_util.py index 7af0070e1..a747e0478 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -12,6 +12,7 @@ import shutil import time from typing import ( + Any, Dict, List, NamedTuple, @@ -34,6 +35,7 @@ import torch from library.device_utils import init_ipex, clean_memory_on_device +from library.strategy_base import LatentsCachingStrategy, TokenizeStrategy, TextEncoderOutputsCachingStrategy, TextEncodingStrategy init_ipex() @@ -81,10 +83,6 @@ # from library.hypernetwork import replace_attentions_for_hypernetwork from library.original_unet import UNet2DConditionModel -# Tokenizer: checkpointから読み込むのではなくあらかじめ提供されているものを使う -TOKENIZER_PATH = "openai/clip-vit-large-patch14" -V2_STABLE_DIFFUSION_PATH = "stabilityai/stable-diffusion-2" # ここからtokenizerだけ使う v2とv2.1はtokenizer仕様は同じ - HIGH_VRAM = False # checkpointファイル名 @@ -148,18 +146,24 @@ def __init__(self, image_key: str, num_repeats: int, caption: str, is_reg: bool, self.image_size: Tuple[int, int] = None self.resized_size: Tuple[int, int] = None self.bucket_reso: Tuple[int, int] = None - self.latents: torch.Tensor = None - self.latents_flipped: torch.Tensor = None - self.latents_npz: str = None - self.latents_original_size: Tuple[int, int] = None # original image size, not latents size - self.latents_crop_ltrb: Tuple[int, int] = None # crop left top right bottom in original pixel size, not latents size - self.cond_img_path: str = None + self.latents: Optional[torch.Tensor] = None + self.latents_flipped: Optional[torch.Tensor] = None + self.latents_npz: Optional[str] = None # set in cache_latents + self.latents_original_size: Optional[Tuple[int, int]] = None # original image size, not latents size + self.latents_crop_ltrb: Optional[Tuple[int, int]] = ( + None # crop left top right bottom in original pixel size, not latents size + ) + self.cond_img_path: Optional[str] = None self.image: Optional[Image.Image] = None # optional, original PIL Image - # SDXL, optional - self.text_encoder_outputs_npz: Optional[str] = None + self.text_encoder_outputs_npz: Optional[str] = None # set in cache_text_encoder_outputs + + # new + self.text_encoder_outputs: Optional[List[torch.Tensor]] = None + # old self.text_encoder_outputs1: Optional[torch.Tensor] = None self.text_encoder_outputs2: Optional[torch.Tensor] = None self.text_encoder_pool2: Optional[torch.Tensor] = None + self.alpha_mask: Optional[torch.Tensor] = None # alpha mask can be flipped in runtime @@ -359,47 +363,6 @@ def get_augmentor(self, use_color_aug: bool): # -> Optional[Callable[[np.ndarra return self.color_aug if use_color_aug else None -class LatentsCachingStrategy: - _strategy = None # strategy instance: actual strategy class - - def __init__(self, cache_to_disk: bool, batch_size: int, skip_disk_cache_validity_check: bool) -> None: - self._cache_to_disk = cache_to_disk - self._batch_size = batch_size - self.skip_disk_cache_validity_check = skip_disk_cache_validity_check - - @classmethod - def set_strategy(cls, strategy): - if cls._strategy is not None: - raise RuntimeError(f"Internal error. {cls.__name__} strategy is already set") - cls._strategy = strategy - - @classmethod - def get_strategy(cls) -> Optional["LatentsCachingStrategy"]: - return cls._strategy - - @property - def cache_to_disk(self): - return self._cache_to_disk - - @property - def batch_size(self): - return self._batch_size - - def get_image_size_from_image_absolute_path(self, absolute_path: str) -> Tuple[Optional[int], Optional[int]]: - raise NotImplementedError - - def get_latents_npz_path(self, absolute_path: str, bucket_reso: Tuple[int, int]) -> str: - raise NotImplementedError - - def is_disk_cached_latents_expected( - self, bucket_reso: Tuple[int, int], npz_path: str, flip_aug: bool, alpha_mask: bool - ) -> bool: - raise NotImplementedError - - def cache_batch_latents(self, batch: List[ImageInfo], flip_aug: bool, alpha_mask: bool, random_crop: bool): - raise NotImplementedError - - class BaseSubset: def __init__( self, @@ -639,17 +602,12 @@ def __eq__(self, other) -> bool: class BaseDataset(torch.utils.data.Dataset): def __init__( self, - tokenizer: Union[CLIPTokenizer, List[CLIPTokenizer]], - max_token_length: int, resolution: Optional[Tuple[int, int]], network_multiplier: float, debug_dataset: bool, ) -> None: super().__init__() - self.tokenizers = tokenizer if isinstance(tokenizer, list) else [tokenizer] - - self.max_token_length = max_token_length # width/height is used when enable_bucket==False self.width, self.height = (None, None) if resolution is None else resolution self.network_multiplier = network_multiplier @@ -670,8 +628,6 @@ def __init__( self.bucket_no_upscale = None self.bucket_info = None # for metadata - self.tokenizer_max_length = self.tokenizers[0].model_max_length if max_token_length is None else max_token_length + 2 - self.current_epoch: int = 0 # インスタンスがepochごとに新しく作られるようなので外側から渡さないとダメ self.current_step: int = 0 @@ -690,6 +646,15 @@ def __init__( # caching self.caching_mode = None # None, 'latents', 'text' + + self.tokenize_strategy = None + self.text_encoder_output_caching_strategy = None + self.latents_caching_strategy = None + + def set_current_strategies(self): + self.tokenize_strategy = TokenizeStrategy.get_strategy() + self.text_encoder_output_caching_strategy = TextEncoderOutputsCachingStrategy.get_strategy() + self.latents_caching_strategy = LatentsCachingStrategy.get_strategy() def set_seed(self, seed): self.seed = seed @@ -979,22 +944,6 @@ def make_buckets(self): for batch_index in range(batch_count): self.buckets_indices.append(BucketBatchIndex(bucket_index, self.batch_size, batch_index)) - # ↓以下はbucketごとのbatch件数があまりにも増えて混乱を招くので元に戻す - #  学習時はステップ数がランダムなので、同一画像が同一batch内にあってもそれほど悪影響はないであろう、と考えられる - # - # # bucketが細分化されることにより、ひとつのbucketに一種類の画像のみというケースが増え、つまりそれは - # # ひとつのbatchが同じ画像で占められることになるので、さすがに良くないであろう - # # そのためバッチサイズを画像種類までに制限する - # # ただそれでも同一画像が同一バッチに含まれる可能性はあるので、繰り返し回数が少ないほうがshuffleの品質は良くなることは間違いない? - # # TO DO 正則化画像をepochまたがりで利用する仕組み - # num_of_image_types = len(set(bucket)) - # bucket_batch_size = min(self.batch_size, num_of_image_types) - # batch_count = int(math.ceil(len(bucket) / bucket_batch_size)) - # # logger.info(bucket_index, num_of_image_types, bucket_batch_size, batch_count) - # for batch_index in range(batch_count): - # self.buckets_indices.append(BucketBatchIndex(bucket_index, bucket_batch_size, batch_index)) - # ↑ここまで - self.shuffle_buckets() self._length = len(self.buckets_indices) @@ -1027,12 +976,13 @@ def is_text_encoder_output_cacheable(self): ] ) - def new_cache_latents(self, is_main_process: bool, caching_strategy: LatentsCachingStrategy): + def new_cache_latents(self, model: Any, is_main_process: bool): r""" a brand new method to cache latents. This method caches latents with caching strategy. normal cache_latents method is used by default, but this method is used when caching strategy is specified. """ logger.info("caching latents with caching strategy.") + caching_strategy = LatentsCachingStrategy.get_strategy() image_infos = list(self.image_data.values()) # sort by resolution @@ -1088,7 +1038,7 @@ def new_cache_latents(self, is_main_process: bool, caching_strategy: LatentsCach logger.info("caching latents...") for batch in tqdm(batches, smoothing=1, total=len(batches)): # cache_batch_latents(vae, cache_to_disk, batch, subset.flip_aug, subset.alpha_mask, subset.random_crop) - caching_strategy.cache_batch_latents(batch, subset.flip_aug, subset.alpha_mask, subset.random_crop) + caching_strategy.cache_batch_latents(model, batch, subset.flip_aug, subset.alpha_mask, subset.random_crop) def cache_latents(self, vae, vae_batch_size=1, cache_to_disk=False, is_main_process=True, file_suffix=".npz"): # マルチGPUには対応していないので、そちらはtools/cache_latents.pyを使うこと @@ -1145,6 +1095,56 @@ def cache_latents(self, vae, vae_batch_size=1, cache_to_disk=False, is_main_proc for batch in tqdm(batches, smoothing=1, total=len(batches)): cache_batch_latents(vae, cache_to_disk, batch, subset.flip_aug, subset.alpha_mask, subset.random_crop) + def new_cache_text_encoder_outputs(self, models: List[Any], is_main_process: bool): + r""" + a brand new method to cache text encoder outputs. This method caches text encoder outputs with caching strategy. + """ + tokenize_strategy = TokenizeStrategy.get_strategy() + text_encoding_strategy = TextEncodingStrategy.get_strategy() + caching_strategy = TextEncoderOutputsCachingStrategy.get_strategy() + batch_size = caching_strategy.batch_size or self.batch_size + + # if cache to disk, don't cache TE outputs in non-main process + if caching_strategy.cache_to_disk and not is_main_process: + return + + logger.info("caching Text Encoder outputs with caching strategy.") + image_infos = list(self.image_data.values()) + + # split by resolution + batches = [] + batch = [] + logger.info("checking cache validity...") + for info in tqdm(image_infos): + te_out_npz = caching_strategy.get_outputs_npz_path(info.absolute_path) + + # check disk cache exists and size of latents + if caching_strategy.cache_to_disk: + info.text_encoder_outputs_npz = te_out_npz + cache_available = caching_strategy.is_disk_cached_outputs_expected(te_out_npz) + if cache_available: # do not add to batch + continue + + batch.append(info) + + # if number of data in batch is enough, flush the batch + if len(batch) >= batch_size: + batches.append(batch) + batch = [] + + if len(batch) > 0: + batches.append(batch) + + if len(batches) == 0: + logger.info("no Text Encoder outputs to cache") + return + + # iterate batches + logger.info("caching Text Encoder outputs...") + for batch in tqdm(batches, smoothing=1, total=len(batches)): + # cache_batch_latents(vae, cache_to_disk, batch, subset.flip_aug, subset.alpha_mask, subset.random_crop) + caching_strategy.cache_batch_outputs(tokenize_strategy, models, text_encoding_strategy, batch) + # if weight_dtype is specified, Text Encoder itself and output will be converted to the dtype # this method is only for SDXL, but it should be implemented here because it needs to be a method of dataset # to support SD1/2, it needs a flag for v2, but it is postponed @@ -1188,6 +1188,8 @@ def cache_text_encoder_outputs_common( # またマルチGPUには対応していないので、そちらはtools/cache_latents.pyを使うこと logger.info("caching text encoder outputs.") + tokenize_strategy = TokenizeStrategy.get_strategy() + if batch_size is None: batch_size = self.batch_size @@ -1229,7 +1231,7 @@ def cache_text_encoder_outputs_common( input_ids2 = self.get_input_ids(info.caption, tokenizers[1]) batch.append((info, input_ids1, input_ids2)) else: - l_tokens, g_tokens, t5_tokens = tokenizers[0].tokenize_with_weights(info.caption) + l_tokens, g_tokens, t5_tokens = tokenize_strategy.tokenize(info.caption) batch.append((info, l_tokens, g_tokens, t5_tokens)) if len(batch) >= batch_size: @@ -1347,7 +1349,6 @@ def __getitem__(self, index): loss_weights = [] captions = [] input_ids_list = [] - input_ids2_list = [] latents_list = [] alpha_mask_list = [] images = [] @@ -1355,16 +1356,14 @@ def __getitem__(self, index): crop_top_lefts = [] target_sizes_hw = [] flippeds = [] # 変数名が微妙 - text_encoder_outputs1_list = [] - text_encoder_outputs2_list = [] - text_encoder_pool2_list = [] + text_encoder_outputs_list = [] for image_key in bucket[image_index : image_index + bucket_batch_size]: image_info = self.image_data[image_key] subset = self.image_to_subset[image_key] - loss_weights.append( - self.prior_loss_weight if image_info.is_reg else 1.0 - ) # in case of fine tuning, is_reg is always False + + # in case of fine tuning, is_reg is always False + loss_weights.append(self.prior_loss_weight if image_info.is_reg else 1.0) flipped = subset.flip_aug and random.random() < 0.5 # not flipped or flipped with 50% chance @@ -1381,7 +1380,9 @@ def __getitem__(self, index): image = None elif image_info.latents_npz is not None: # FineTuningDatasetまたはcache_latents_to_disk=Trueの場合 - latents, original_size, crop_ltrb, flipped_latents, alpha_mask = load_latents_from_disk(image_info.latents_npz) + latents, original_size, crop_ltrb, flipped_latents, alpha_mask = ( + self.latents_caching_strategy.load_latents_from_disk(image_info.latents_npz) + ) if flipped: latents = flipped_latents alpha_mask = None if alpha_mask is None else alpha_mask[:, ::-1].copy() # copy to avoid negative stride problem @@ -1470,75 +1471,67 @@ def __getitem__(self, index): # captionとtext encoder outputを処理する caption = image_info.caption # default - if image_info.text_encoder_outputs1 is not None: - text_encoder_outputs1_list.append(image_info.text_encoder_outputs1) - text_encoder_outputs2_list.append(image_info.text_encoder_outputs2) - text_encoder_pool2_list.append(image_info.text_encoder_pool2) - captions.append(caption) + + tokenization_required = ( + self.text_encoder_output_caching_strategy is None or self.text_encoder_output_caching_strategy.is_partial + ) + text_encoder_outputs = None + input_ids = None + + if image_info.text_encoder_outputs is not None: + # cached + text_encoder_outputs = image_info.text_encoder_outputs elif image_info.text_encoder_outputs_npz is not None: - text_encoder_outputs1, text_encoder_outputs2, text_encoder_pool2 = load_text_encoder_outputs_from_disk( + # on disk + text_encoder_outputs = self.text_encoder_output_caching_strategy.load_outputs_npz( image_info.text_encoder_outputs_npz ) - text_encoder_outputs1_list.append(text_encoder_outputs1) - text_encoder_outputs2_list.append(text_encoder_outputs2) - text_encoder_pool2_list.append(text_encoder_pool2) - captions.append(caption) else: - caption = self.process_caption(subset, image_info.caption) - if self.XTI_layers: - caption_layer = [] - for layer in self.XTI_layers: - token_strings_from = " ".join(self.token_strings) - token_strings_to = " ".join([f"{x}_{layer}" for x in self.token_strings]) - caption_ = caption.replace(token_strings_from, token_strings_to) - caption_layer.append(caption_) - captions.append(caption_layer) - else: - captions.append(caption) + tokenization_required = True + text_encoder_outputs_list.append(text_encoder_outputs) - if not self.token_padding_disabled: # this option might be omitted in future - # TODO get_input_ids must support SD3 - if self.XTI_layers: - token_caption = self.get_input_ids(caption_layer, self.tokenizers[0]) - else: - token_caption = self.get_input_ids(caption, self.tokenizers[0]) - input_ids_list.append(token_caption) + if tokenization_required: + caption = self.process_caption(subset, image_info.caption) + input_ids = [ids[0] for ids in self.tokenize_strategy.tokenize(caption)] # remove batch dimension + # if self.XTI_layers: + # caption_layer = [] + # for layer in self.XTI_layers: + # token_strings_from = " ".join(self.token_strings) + # token_strings_to = " ".join([f"{x}_{layer}" for x in self.token_strings]) + # caption_ = caption.replace(token_strings_from, token_strings_to) + # caption_layer.append(caption_) + # captions.append(caption_layer) + # else: + # captions.append(caption) + + # if not self.token_padding_disabled: # this option might be omitted in future + # # TODO get_input_ids must support SD3 + # if self.XTI_layers: + # token_caption = self.get_input_ids(caption_layer, self.tokenizers[0]) + # else: + # token_caption = self.get_input_ids(caption, self.tokenizers[0]) + # input_ids_list.append(token_caption) + + # if len(self.tokenizers) > 1: + # if self.XTI_layers: + # token_caption2 = self.get_input_ids(caption_layer, self.tokenizers[1]) + # else: + # token_caption2 = self.get_input_ids(caption, self.tokenizers[1]) + # input_ids2_list.append(token_caption2) + + input_ids_list.append(input_ids) + captions.append(caption) - if len(self.tokenizers) > 1: - if self.XTI_layers: - token_caption2 = self.get_input_ids(caption_layer, self.tokenizers[1]) - else: - token_caption2 = self.get_input_ids(caption, self.tokenizers[1]) - input_ids2_list.append(token_caption2) + def none_or_stack_elements(tensors_list, converter): + # [[clip_l, clip_g, t5xxl], [clip_l, clip_g, t5xxl], ...] -> [torch.stack(clip_l), torch.stack(clip_g), torch.stack(t5xxl)] + if len(tensors_list) == 0 or tensors_list[0] == None or len(tensors_list[0]) == 0 or tensors_list[0][0] is None: + return None + return [torch.stack([converter(x[i]) for x in tensors_list]) for i in range(len(tensors_list[0]))] example = {} example["loss_weights"] = torch.FloatTensor(loss_weights) - - if len(text_encoder_outputs1_list) == 0: - if self.token_padding_disabled: - # padding=True means pad in the batch - example["input_ids"] = self.tokenizer[0](captions, padding=True, truncation=True, return_tensors="pt").input_ids - if len(self.tokenizers) > 1: - example["input_ids2"] = self.tokenizer[1]( - captions, padding=True, truncation=True, return_tensors="pt" - ).input_ids - else: - example["input_ids2"] = None - else: - example["input_ids"] = torch.stack(input_ids_list) - example["input_ids2"] = torch.stack(input_ids2_list) if len(self.tokenizers) > 1 else None - example["text_encoder_outputs1_list"] = None - example["text_encoder_outputs2_list"] = None - example["text_encoder_pool2_list"] = None - else: - example["input_ids"] = None - example["input_ids2"] = None - # # for assertion - # example["input_ids"] = torch.stack([self.get_input_ids(cap, self.tokenizers[0]) for cap in captions]) - # example["input_ids2"] = torch.stack([self.get_input_ids(cap, self.tokenizers[1]) for cap in captions]) - example["text_encoder_outputs1_list"] = torch.stack(text_encoder_outputs1_list) - example["text_encoder_outputs2_list"] = torch.stack(text_encoder_outputs2_list) - example["text_encoder_pool2_list"] = torch.stack(text_encoder_pool2_list) + example["text_encoder_outputs_list"] = none_or_stack_elements(text_encoder_outputs_list, torch.FloatTensor) + example["input_ids_list"] = none_or_stack_elements(input_ids_list, lambda x: x) # if one of alpha_masks is not None, we need to replace None with ones none_or_not = [x is None for x in alpha_mask_list] @@ -1652,8 +1645,6 @@ def __init__( self, subsets: Sequence[DreamBoothSubset], batch_size: int, - tokenizer, - max_token_length, resolution, network_multiplier: float, enable_bucket: bool, @@ -1664,7 +1655,7 @@ def __init__( prior_loss_weight: float, debug_dataset: bool, ) -> None: - super().__init__(tokenizer, max_token_length, resolution, network_multiplier, debug_dataset) + super().__init__(resolution, network_multiplier, debug_dataset) assert resolution is not None, f"resolution is required / resolution(解像度)指定は必須です" @@ -1750,10 +1741,10 @@ def load_dreambooth_dir(subset: DreamBoothSubset): # new caching: get image size from cache files strategy = LatentsCachingStrategy.get_strategy() if strategy is not None: - logger.info("get image size from cache files") + logger.info("get image size from name of cache files") size_set_count = 0 for i, img_path in enumerate(tqdm(img_paths)): - w, h = strategy.get_image_size_from_image_absolute_path(img_path) + w, h = strategy.get_image_size_from_disk_cache_path(img_path) if w is not None and h is not None: sizes[i] = [w, h] size_set_count += 1 @@ -1886,8 +1877,6 @@ def __init__( self, subsets: Sequence[FineTuningSubset], batch_size: int, - tokenizer, - max_token_length, resolution, network_multiplier: float, enable_bucket: bool, @@ -1897,7 +1886,7 @@ def __init__( bucket_no_upscale: bool, debug_dataset: bool, ) -> None: - super().__init__(tokenizer, max_token_length, resolution, network_multiplier, debug_dataset) + super().__init__(resolution, network_multiplier, debug_dataset) self.batch_size = batch_size @@ -2111,8 +2100,6 @@ def __init__( self, subsets: Sequence[ControlNetSubset], batch_size: int, - tokenizer, - max_token_length, resolution, network_multiplier: float, enable_bucket: bool, @@ -2122,7 +2109,7 @@ def __init__( bucket_no_upscale: bool, debug_dataset: float, ) -> None: - super().__init__(tokenizer, max_token_length, resolution, network_multiplier, debug_dataset) + super().__init__(resolution, network_multiplier, debug_dataset) db_subsets = [] for subset in subsets: @@ -2160,8 +2147,6 @@ def __init__( self.dreambooth_dataset_delegate = DreamBoothDataset( db_subsets, batch_size, - tokenizer, - max_token_length, resolution, network_multiplier, enable_bucket, @@ -2221,6 +2206,9 @@ def __init__( self.conditioning_image_transforms = IMAGE_TRANSFORMS + def set_current_strategies(self): + return self.dreambooth_dataset_delegate.set_current_strategies() + def make_buckets(self): self.dreambooth_dataset_delegate.make_buckets() self.bucket_manager = self.dreambooth_dataset_delegate.bucket_manager @@ -2229,6 +2217,12 @@ def make_buckets(self): def cache_latents(self, vae, vae_batch_size=1, cache_to_disk=False, is_main_process=True): return self.dreambooth_dataset_delegate.cache_latents(vae, vae_batch_size, cache_to_disk, is_main_process) + def new_cache_latents(self, model: Any, is_main_process: bool): + return self.dreambooth_dataset_delegate.new_cache_latents(model, is_main_process) + + def new_cache_text_encoder_outputs(self, models: List[Any], is_main_process: bool): + return self.dreambooth_dataset_delegate.new_cache_text_encoder_outputs(models, is_main_process) + def __len__(self): return self.dreambooth_dataset_delegate.__len__() @@ -2314,6 +2308,13 @@ def add_replacement(self, str_from, str_to): # for dataset in self.datasets: # dataset.make_buckets() + def set_text_encoder_output_caching_strategy(self, strategy: TextEncoderOutputsCachingStrategy): + """ + DataLoader is run in multiple processes, so we need to set the strategy manually. + """ + for dataset in self.datasets: + dataset.set_text_encoder_output_caching_strategy(strategy) + def enable_XTI(self, *args, **kwargs): for dataset in self.datasets: dataset.enable_XTI(*args, **kwargs) @@ -2323,10 +2324,10 @@ def cache_latents(self, vae, vae_batch_size=1, cache_to_disk=False, is_main_proc logger.info(f"[Dataset {i}]") dataset.cache_latents(vae, vae_batch_size, cache_to_disk, is_main_process, file_suffix) - def new_cache_latents(self, is_main_process: bool, strategy: LatentsCachingStrategy): + def new_cache_latents(self, model: Any, is_main_process: bool): for i, dataset in enumerate(self.datasets): logger.info(f"[Dataset {i}]") - dataset.new_cache_latents(is_main_process, strategy) + dataset.new_cache_latents(model, is_main_process) def cache_text_encoder_outputs( self, tokenizers, text_encoders, device, weight_dtype, cache_to_disk=False, is_main_process=True @@ -2344,6 +2345,11 @@ def cache_text_encoder_outputs_sd3( tokenizer, text_encoders, device, output_dtype, te_dtypes, cache_to_disk, is_main_process, batch_size ) + def new_cache_text_encoder_outputs(self, models: List[Any], is_main_process: bool): + for i, dataset in enumerate(self.datasets): + logger.info(f"[Dataset {i}]") + dataset.new_cache_text_encoder_outputs(models, is_main_process) + def set_caching_mode(self, caching_mode): for dataset in self.datasets: dataset.set_caching_mode(caching_mode) @@ -2358,6 +2364,10 @@ def is_latent_cacheable(self) -> bool: def is_text_encoder_output_cacheable(self) -> bool: return all([dataset.is_text_encoder_output_cacheable() for dataset in self.datasets]) + def set_current_strategies(self): + for dataset in self.datasets: + dataset.set_current_strategies() + def set_current_epoch(self, epoch): for dataset in self.datasets: dataset.set_current_epoch(epoch) @@ -2411,34 +2421,34 @@ def is_disk_cached_latents_is_expected(reso, npz_path: str, flip_aug: bool, alph # 戻り値は、latents_tensor, (original_size width, original_size height), (crop left, crop top) # TODO update to use CachingStrategy -def load_latents_from_disk( - npz_path, -) -> Tuple[Optional[np.ndarray], Optional[List[int]], Optional[List[int]], Optional[np.ndarray], Optional[np.ndarray]]: - npz = np.load(npz_path) - if "latents" not in npz: - raise ValueError(f"error: npz is old format. please re-generate {npz_path}") - - latents = npz["latents"] - original_size = npz["original_size"].tolist() - crop_ltrb = npz["crop_ltrb"].tolist() - flipped_latents = npz["latents_flipped"] if "latents_flipped" in npz else None - alpha_mask = npz["alpha_mask"] if "alpha_mask" in npz else None - return latents, original_size, crop_ltrb, flipped_latents, alpha_mask - - -def save_latents_to_disk(npz_path, latents_tensor, original_size, crop_ltrb, flipped_latents_tensor=None, alpha_mask=None): - kwargs = {} - if flipped_latents_tensor is not None: - kwargs["latents_flipped"] = flipped_latents_tensor.float().cpu().numpy() - if alpha_mask is not None: - kwargs["alpha_mask"] = alpha_mask.float().cpu().numpy() - np.savez( - npz_path, - latents=latents_tensor.float().cpu().numpy(), - original_size=np.array(original_size), - crop_ltrb=np.array(crop_ltrb), - **kwargs, - ) +# def load_latents_from_disk( +# npz_path, +# ) -> Tuple[Optional[np.ndarray], Optional[List[int]], Optional[List[int]], Optional[np.ndarray], Optional[np.ndarray]]: +# npz = np.load(npz_path) +# if "latents" not in npz: +# raise ValueError(f"error: npz is old format. please re-generate {npz_path}") + +# latents = npz["latents"] +# original_size = npz["original_size"].tolist() +# crop_ltrb = npz["crop_ltrb"].tolist() +# flipped_latents = npz["latents_flipped"] if "latents_flipped" in npz else None +# alpha_mask = npz["alpha_mask"] if "alpha_mask" in npz else None +# return latents, original_size, crop_ltrb, flipped_latents, alpha_mask + + +# def save_latents_to_disk(npz_path, latents_tensor, original_size, crop_ltrb, flipped_latents_tensor=None, alpha_mask=None): +# kwargs = {} +# if flipped_latents_tensor is not None: +# kwargs["latents_flipped"] = flipped_latents_tensor.float().cpu().numpy() +# if alpha_mask is not None: +# kwargs["alpha_mask"] = alpha_mask.float().cpu().numpy() +# np.savez( +# npz_path, +# latents=latents_tensor.float().cpu().numpy(), +# original_size=np.array(original_size), +# crop_ltrb=np.array(crop_ltrb), +# **kwargs, +# ) def debug_dataset(train_dataset, show_input_ids=False): @@ -2465,12 +2475,12 @@ def debug_dataset(train_dataset, show_input_ids=False): example = train_dataset[idx] if example["latents"] is not None: logger.info(f"sample has latents from npz file: {example['latents'].size()}") - for j, (ik, cap, lw, iid, orgsz, crptl, trgsz, flpdz) in enumerate( + for j, (ik, cap, lw, orgsz, crptl, trgsz, flpdz) in enumerate( zip( example["image_keys"], example["captions"], example["loss_weights"], - example["input_ids"], + # example["input_ids"], example["original_sizes_hw"], example["crop_top_lefts"], example["target_sizes_hw"], @@ -2483,10 +2493,10 @@ def debug_dataset(train_dataset, show_input_ids=False): if "network_multipliers" in example: print(f"network multiplier: {example['network_multipliers'][j]}") - if show_input_ids: - logger.info(f"input ids: {iid}") - if "input_ids2" in example: - logger.info(f"input ids2: {example['input_ids2'][j]}") + # if show_input_ids: + # logger.info(f"input ids: {iid}") + # if "input_ids2" in example: + # logger.info(f"input ids2: {example['input_ids2'][j]}") if example["images"] is not None: im = example["images"][j] logger.info(f"image size: {im.size()}") @@ -2555,8 +2565,8 @@ def glob_images_pathlib(dir_path, recursive): class MinimalDataset(BaseDataset): - def __init__(self, tokenizer, max_token_length, resolution, network_multiplier, debug_dataset=False): - super().__init__(tokenizer, max_token_length, resolution, network_multiplier, debug_dataset) + def __init__(self, resolution, network_multiplier, debug_dataset=False): + super().__init__(resolution, network_multiplier, debug_dataset) self.num_train_images = 0 # update in subclass self.num_reg_images = 0 # update in subclass @@ -2773,14 +2783,15 @@ def cache_batch_latents( raise RuntimeError(f"NaN detected in latents: {info.absolute_path}") if cache_to_disk: - save_latents_to_disk( - info.latents_npz, - latent, - info.latents_original_size, - info.latents_crop_ltrb, - flipped_latent, - alpha_mask, - ) + # save_latents_to_disk( + # info.latents_npz, + # latent, + # info.latents_original_size, + # info.latents_crop_ltrb, + # flipped_latent, + # alpha_mask, + # ) + pass else: info.latents = latent if flip_aug: @@ -4662,33 +4673,6 @@ def prepare_dataset_args(args: argparse.Namespace, support_metadata: bool): ) -def load_tokenizer(args: argparse.Namespace): - logger.info("prepare tokenizer") - original_path = V2_STABLE_DIFFUSION_PATH if args.v2 else TOKENIZER_PATH - - tokenizer: CLIPTokenizer = None - if args.tokenizer_cache_dir: - local_tokenizer_path = os.path.join(args.tokenizer_cache_dir, original_path.replace("/", "_")) - if os.path.exists(local_tokenizer_path): - logger.info(f"load tokenizer from cache: {local_tokenizer_path}") - tokenizer = CLIPTokenizer.from_pretrained(local_tokenizer_path) # same for v1 and v2 - - if tokenizer is None: - if args.v2: - tokenizer = CLIPTokenizer.from_pretrained(original_path, subfolder="tokenizer") - else: - tokenizer = CLIPTokenizer.from_pretrained(original_path) - - if hasattr(args, "max_token_length") and args.max_token_length is not None: - logger.info(f"update token length: {args.max_token_length}") - - if args.tokenizer_cache_dir and not os.path.exists(local_tokenizer_path): - logger.info(f"save Tokenizer to cache: {local_tokenizer_path}") - tokenizer.save_pretrained(local_tokenizer_path) - - return tokenizer - - def prepare_accelerator(args: argparse.Namespace): """ this function also prepares deepspeed plugin @@ -5550,6 +5534,7 @@ def sample_images_common( ): """ StableDiffusionLongPromptWeightingPipelineの改造版を使うようにしたので、clip skipおよびプロンプトの重みづけに対応した + TODO Use strategies here """ if steps == 0: diff --git a/sd3_minimal_inference.py b/sd3_minimal_inference.py index ffa0d46de..e9e61af1b 100644 --- a/sd3_minimal_inference.py +++ b/sd3_minimal_inference.py @@ -24,7 +24,7 @@ logger = logging.getLogger(__name__) -from library import sd3_models, sd3_utils +from library import sd3_models, sd3_utils, strategy_sd3 def get_noise(seed, latent): @@ -145,6 +145,7 @@ def do_sample( parser.add_argument("--clip_g", type=str, required=False) parser.add_argument("--clip_l", type=str, required=False) parser.add_argument("--t5xxl", type=str, required=False) + parser.add_argument("--t5xxl_token_length", type=int, default=77, help="t5xxl token length, default: 77") parser.add_argument("--prompt", type=str, default="A photo of a cat") # parser.add_argument("--prompt2", type=str, default=None) # do not support different prompts for text encoders parser.add_argument("--negative_prompt", type=str, default="") @@ -247,7 +248,7 @@ def do_sample( # load tokenizers logger.info("Loading tokenizers...") - tokenizer = sd3_models.SD3Tokenizer(use_t5xxl) # combined tokenizer + tokenize_strategy = strategy_sd3.Sd3TokenizeStrategy(args.t5xxl_token_length) # load models # logger.info("Create MMDiT from SD3 checkpoint...") @@ -320,12 +321,19 @@ def do_sample( # prepare embeddings logger.info("Encoding prompts...") - # embeds, pooled_embed - lg_out, t5_out, pooled = sd3_utils.get_cond(args.prompt, tokenizer, clip_l, clip_g, t5xxl) - cond = torch.cat([lg_out, t5_out], dim=-2), pooled + encoding_strategy = strategy_sd3.Sd3TextEncodingStrategy() - lg_out, t5_out, pooled = sd3_utils.get_cond(args.negative_prompt, tokenizer, clip_l, clip_g, t5xxl) - neg_cond = torch.cat([lg_out, t5_out], dim=-2), pooled + l_tokens, g_tokens, t5_tokens = tokenize_strategy.tokenize(args.prompt) + lg_out, t5_out, pooled = encoding_strategy.encode_tokens( + tokenize_strategy, [clip_l, clip_g, t5xxl], [l_tokens, g_tokens, t5_tokens] + ) + cond = encoding_strategy.concat_encodings(lg_out, t5_out, pooled) + + l_tokens, g_tokens, t5_tokens = tokenize_strategy.tokenize(args.negative_prompt) + lg_out, t5_out, pooled = encoding_strategy.encode_tokens( + tokenize_strategy, [clip_l, clip_g, t5xxl], [l_tokens, g_tokens, t5_tokens] + ) + neg_cond = encoding_strategy.concat_encodings(lg_out, t5_out, pooled) # generate image logger.info("Generating image...") diff --git a/sd3_train.py b/sd3_train.py index f34e47124..617e30271 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -17,7 +17,7 @@ from accelerate.utils import set_seed from diffusers import DDPMScheduler -from library import deepspeed_utils, sd3_models, sd3_train_utils, sd3_utils +from library import deepspeed_utils, sd3_models, sd3_train_utils, sd3_utils, strategy_base, strategy_sd3 from library.sdxl_train_util import match_mixed_precision # , sdxl_model_util @@ -69,10 +69,22 @@ def train(args): # not args.train_text_encoder # ), "training text encoder is not supported currently / text encoderの学習は現在サポートされていません" - # training without text encoder cache is not supported - assert ( - args.cache_text_encoder_outputs - ), "training without text encoder cache is not supported currently / text encoderのキャッシュなしの学習は現在サポートされていません" + # # training without text encoder cache is not supported: because T5XXL must be cached + # assert ( + # args.cache_text_encoder_outputs + # ), "training without text encoder cache is not supported currently / text encoderのキャッシュなしの学習は現在サポートされていません" + + assert not args.train_text_encoder or (args.use_t5xxl_cache_only or not args.cache_text_encoder_outputs), ( + "when training text encoder, text encoder outputs must not be cached (except for T5XXL)" + + " / text encoderの学習時はtext encoderの出力はキャッシュできません(t5xxlのみキャッシュすることは可能です)" + ) + + if args.use_t5xxl_cache_only and not args.cache_text_encoder_outputs: + logger.warning( + "use_t5xxl_cache_only is enabled, so cache_text_encoder_outputs is automatically enabled." + + " / use_t5xxl_cache_onlyが有効なため、cache_text_encoder_outputsも自動的に有効になります" + ) + args.cache_text_encoder_outputs = True # if args.block_lr: # block_lrs = [float(lr) for lr in args.block_lr.split(",")] @@ -88,17 +100,17 @@ def train(args): if args.seed is not None: set_seed(args.seed) # 乱数系列を初期化する - # load tokenizer - sd3_tokenizer = sd3_models.SD3Tokenizer() - - # prepare caching strategy - if args.new_caching: - latents_caching_strategy = sd3_train_utils.Sd3LatentsCachingStrategy( + # prepare caching strategy: this must be set before preparing dataset. because dataset may use this strategy for initialization. + if args.cache_latents: + latents_caching_strategy = strategy_sd3.Sd3LatentsCachingStrategy( args.cache_latents_to_disk, args.vae_batch_size, args.skip_latents_validity_check ) - else: - latents_caching_strategy = None - train_util.LatentsCachingStrategy.set_strategy(latents_caching_strategy) + strategy_base.LatentsCachingStrategy.set_strategy(latents_caching_strategy) + + # load tokenizer and prepare tokenize strategy + sd3_tokenizer = sd3_models.SD3Tokenizer(t5xxl_max_length=args.t5xxl_max_token_length) + sd3_tokenize_strategy = strategy_sd3.Sd3TokenizeStrategy(args.t5xxl_max_token_length) + strategy_base.TokenizeStrategy.set_strategy(sd3_tokenize_strategy) # データセットを準備する if args.dataset_class is None: @@ -153,6 +165,16 @@ def train(args): train_dataset_group.verify_bucket_reso_steps(8) # TODO これでいいか確認 if args.debug_dataset: + if args.cache_text_encoder_outputs: + strategy_base.TextEncoderOutputsCachingStrategy.set_strategy( + strategy_sd3.Sd3TextEncoderOutputsCachingStrategy( + args.cache_text_encoder_outputs_to_disk, + args.text_encoder_batch_size, + False, + False, + ) + ) + train_dataset_group.set_current_strategies() train_util.debug_dataset(train_dataset_group, True) return if len(train_dataset_group) == 0: @@ -215,19 +237,8 @@ def train(args): vae.requires_grad_(False) vae.eval() - if not args.new_caching: - vae_wrapper = sd3_models.VAEWrapper(vae) # make SD/SDXL compatible - with torch.no_grad(): - train_dataset_group.cache_latents( - vae_wrapper, - args.vae_batch_size, - args.cache_latents_to_disk, - accelerator.is_main_process, - file_suffix="_sd3.npz", - ) - else: - latents_caching_strategy.set_vae(vae) - train_dataset_group.new_cache_latents(accelerator.is_main_process, latents_caching_strategy) + train_dataset_group.new_cache_latents(vae, accelerator.is_main_process) + vae.to("cpu") # if no sampling, vae can be deleted clean_memory_on_device(accelerator.device) @@ -246,60 +257,70 @@ def train(args): t5xxl = sd3_train_utils.load_target_model("t5xxl", args, sd3_state_dict, accelerator, attn_mode, t5xxl_dtype, device_to_load) # logit_scale = logit_scale.to(accelerator.device, dtype=weight_dtype) + # should be deleted after caching text encoder outputs when not training text encoder + # this strategy should not be used other than this process + text_encoding_strategy = strategy_sd3.Sd3TextEncodingStrategy() + strategy_base.TextEncodingStrategy.set_strategy(text_encoding_strategy) + # 学習を準備する:モデルを適切な状態にする train_clip_l = False train_clip_g = False train_t5xxl = False - # if args.train_text_encoder: - # # TODO each option for two text encoders? - # accelerator.print("enable text encoder training") - # if args.gradient_checkpointing: - # text_encoder1.gradient_checkpointing_enable() - # text_encoder2.gradient_checkpointing_enable() - # lr_te1 = args.learning_rate_te1 if args.learning_rate_te1 is not None else args.learning_rate # 0 means not train - # lr_te2 = args.learning_rate_te2 if args.learning_rate_te2 is not None else args.learning_rate # 0 means not train - # train_clip_l = lr_te1 != 0 - # train_clip_g = lr_te2 != 0 - - # # caching one text encoder output is not supported - # if not train_clip_l: - # text_encoder1.to(weight_dtype) - # if not train_clip_g: - # text_encoder2.to(weight_dtype) - # text_encoder1.requires_grad_(train_clip_l) - # text_encoder2.requires_grad_(train_clip_g) - # text_encoder1.train(train_clip_l) - # text_encoder2.train(train_clip_g) - # else: - clip_l.to(weight_dtype) - clip_g.to(weight_dtype) - clip_l.requires_grad_(False) - clip_g.requires_grad_(False) - clip_l.eval() - clip_g.eval() + if args.train_text_encoder: + accelerator.print("enable text encoder training") + if args.gradient_checkpointing: + clip_l.gradient_checkpointing_enable() + clip_g.gradient_checkpointing_enable() + lr_te1 = args.learning_rate_te1 if args.learning_rate_te1 is not None else args.learning_rate # 0 means not train + lr_te2 = args.learning_rate_te2 if args.learning_rate_te2 is not None else args.learning_rate # 0 means not train + train_clip_l = lr_te1 != 0 + train_clip_g = lr_te2 != 0 + + if not train_clip_l: + clip_l.to(weight_dtype) + if not train_clip_g: + clip_g.to(weight_dtype) + clip_l.requires_grad_(train_clip_l) + clip_g.requires_grad_(train_clip_g) + clip_l.train(train_clip_l) + clip_g.train(train_clip_g) + else: + clip_l.to(weight_dtype) + clip_g.to(weight_dtype) + clip_l.requires_grad_(False) + clip_g.requires_grad_(False) + clip_l.eval() + clip_g.eval() + if t5xxl is not None: t5xxl.to(t5xxl_dtype) t5xxl.requires_grad_(False) t5xxl.eval() - # TextEncoderの出力をキャッシュする + # cache text encoder outputs if args.cache_text_encoder_outputs: - # Text Encodes are eval and no grad - - with torch.no_grad(), accelerator.autocast(): - train_dataset_group.cache_text_encoder_outputs_sd3( - sd3_tokenizer, - (clip_l, clip_g, t5xxl), - (accelerator.device, accelerator.device, t5xxl_device), - None, - (None, None, None), - args.cache_text_encoder_outputs_to_disk, - accelerator.is_main_process, - args.text_encoder_batch_size, - ) + # Text Encodes are eval and no grad here + clip_l.to(accelerator.device) + clip_g.to(accelerator.device) + if t5xxl is not None: + t5xxl.to(t5xxl_device) + + text_encoder_caching_strategy = strategy_sd3.Sd3TextEncoderOutputsCachingStrategy( + args.cache_text_encoder_outputs_to_disk, + args.text_encoder_batch_size, + False, + train_clip_g or train_clip_l or args.use_t5xxl_cache_only, + ) + strategy_base.TextEncoderOutputsCachingStrategy.set_strategy(text_encoder_caching_strategy) + + clip_l.to(accelerator.device, dtype=weight_dtype) + clip_g.to(accelerator.device, dtype=weight_dtype) + if t5xxl is not None: + t5xxl.to(t5xxl_device, dtype=t5xxl_dtype) - # TODO we can delete text encoders after caching + with accelerator.autocast(): + train_dataset_group.new_cache_text_encoder_outputs([clip_l, clip_g, t5xxl], accelerator.is_main_process) accelerator.wait_for_everyone() # load MMDIT @@ -332,11 +353,11 @@ def train(args): # params_to_optimize.extend(get_block_params_to_optimize(mmdit, block_lrs)) # if train_clip_l: - # training_models.append(text_encoder1) - # params_to_optimize.append({"params": list(text_encoder1.parameters()), "lr": args.learning_rate_te1 or args.learning_rate}) + # training_models.append(clip_l) + # params_to_optimize.append({"params": list(clip_l.parameters()), "lr": args.learning_rate_te1 or args.learning_rate}) # if train_clip_g: - # training_models.append(text_encoder2) - # params_to_optimize.append({"params": list(text_encoder2.parameters()), "lr": args.learning_rate_te2 or args.learning_rate}) + # training_models.append(clip_g) + # params_to_optimize.append({"params": list(clip_g.parameters()), "lr": args.learning_rate_te2 or args.learning_rate}) # calculate number of trainable parameters n_params = 0 @@ -344,7 +365,7 @@ def train(args): for p in group["params"]: n_params += p.numel() - accelerator.print(f"train mmdit: {train_mmdit}") # , text_encoder1: {train_clip_l}, text_encoder2: {train_clip_g}") + accelerator.print(f"train mmdit: {train_mmdit}") # , clip_l: {train_clip_l}, clip_g: {train_clip_g}") accelerator.print(f"number of models: {len(training_models)}") accelerator.print(f"number of trainable parameters: {n_params}") @@ -398,7 +419,11 @@ def train(args): else: _, _, optimizer = train_util.get_optimizer(args, trainable_params=params_to_optimize) - # dataloaderを準備する + # prepare dataloader + # strategies are set here because they cannot be referenced in another process. Copy them with the dataset + # some strategies can be None + train_dataset_group.set_current_strategies() + # DataLoaderのプロセス数:0 は persistent_workers が使えないので注意 n_workers = min(args.max_data_loader_n_workers, os.cpu_count()) # cpu_count or max_data_loader_n_workers train_dataloader = torch.utils.data.DataLoader( @@ -455,8 +480,8 @@ def train(args): # TODO check if this is necessary. SD3 uses pool for clip_l and clip_g # # freeze last layer and final_layer_norm in te1 since we use the output of the penultimate layer # if train_clip_l: - # text_encoder1.text_model.encoder.layers[-1].requires_grad_(False) - # text_encoder1.text_model.final_layer_norm.requires_grad_(False) + # clip_l.text_model.encoder.layers[-1].requires_grad_(False) + # clip_l.text_model.final_layer_norm.requires_grad_(False) # TextEncoderの出力をキャッシュするときには、すでに出力を取得済みなのでCPUへ移動する if args.cache_text_encoder_outputs: @@ -484,9 +509,8 @@ def train(args): ds_model = deepspeed_utils.prepare_deepspeed_model( args, mmdit=mmdit, - # mmdie=mmdit if train_mmdit else None, - # text_encoder1=text_encoder1 if train_clip_l else None, - # text_encoder2=text_encoder2 if train_clip_g else None, + clip_l=clip_l if train_clip_l else None, + clip_g=clip_g if train_clip_g else None, ) # most of ZeRO stage uses optimizer partitioning, so we have to prepare optimizer and ds_model at the same time. # pull/1139#issuecomment-1986790007 ds_model, optimizer, train_dataloader, lr_scheduler = accelerator.prepare( @@ -498,10 +522,10 @@ def train(args): # acceleratorがなんかよろしくやってくれるらしい if train_mmdit: mmdit = accelerator.prepare(mmdit) - # if train_clip_l: - # text_encoder1 = accelerator.prepare(text_encoder1) - # if train_clip_g: - # text_encoder2 = accelerator.prepare(text_encoder2) + if train_clip_l: + clip_l = accelerator.prepare(clip_l) + if train_clip_g: + clip_g = accelerator.prepare(clip_g) optimizer, train_dataloader, lr_scheduler = accelerator.prepare(optimizer, train_dataloader, lr_scheduler) # 実験的機能:勾配も含めたfp16学習を行う PyTorchにパッチを当ててfp16でのgrad scaleを有効にする @@ -613,7 +637,7 @@ def optimizer_hook(parameter: torch.Tensor): # # For --sample_at_first # sd3_train_utils.sample_images( - # accelerator, args, 0, global_step, accelerator.device, vae, [tokenizer1, tokenizer2], [text_encoder1, text_encoder2], mmdit + # accelerator, args, 0, global_step, accelerator.device, vae, [tokenizer1, tokenizer2], [clip_l, clip_g], mmdit # ) # following function will be moved to sd3_train_utils @@ -666,6 +690,7 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): return weighting loss_recorder = train_util.LossRecorder() + epoch = 0 # avoid error when max_train_steps is 0 for epoch in range(num_train_epochs): accelerator.print(f"\nepoch {epoch+1}/{num_train_epochs}") current_epoch.value = epoch + 1 @@ -687,37 +712,45 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): # encode images to latents. images are [-1, 1] latents = vae.encode(batch["images"].to(vae_dtype)).to(weight_dtype) - # NaNが含まれていれば警告を表示し0に置き換える - if torch.any(torch.isnan(latents)): - accelerator.print("NaN found in latents, replacing with zeros") - latents = torch.nan_to_num(latents, 0, out=latents) + # NaNが含まれていれば警告を表示し0に置き換える + if torch.any(torch.isnan(latents)): + accelerator.print("NaN found in latents, replacing with zeros") + latents = torch.nan_to_num(latents, 0, out=latents) + # latents = latents * sdxl_model_util.VAE_SCALE_FACTOR latents = sd3_models.SDVAE.process_in(latents) - if "text_encoder_outputs1_list" not in batch or batch["text_encoder_outputs1_list"] is None: - # not cached, get text encoder outputs - # XXX This does not work yet - input_ids_clip_l, input_ids_clip_g, input_ids_t5xxl = batch["input_ids"] + text_encoder_outputs_list = batch.get("text_encoder_outputs_list", None) + if text_encoder_outputs_list is not None: + lg_out, t5_out, lg_pooled = text_encoder_outputs_list + if args.use_t5xxl_cache_only: + lg_out = None + lg_pooled = None + else: + lg_out = None + t5_out = None + lg_pooled = None + + if lg_out is None or (train_clip_l or train_clip_g): + # not cached or training, so get from text encoders + input_ids_clip_l, input_ids_clip_g, _ = batch["input_ids_list"] with torch.set_grad_enabled(args.train_text_encoder): # TODO support weighted captions - # TODO support length > 75 input_ids_clip_l = input_ids_clip_l.to(accelerator.device) input_ids_clip_g = input_ids_clip_g.to(accelerator.device) - input_ids_t5xxl = input_ids_t5xxl.to(accelerator.device) + lg_out, _, lg_pooled = text_encoding_strategy.encode_tokens( + sd3_tokenize_strategy, [clip_l, clip_g, None], [input_ids_clip_l, input_ids_clip_g, None] + ) - # get text encoder outputs: outputs are concatenated - context, pool = sd3_utils.get_cond_from_tokens( - input_ids_clip_l, input_ids_clip_g, input_ids_t5xxl, clip_l, clip_g, t5xxl + if t5_out is None: + _, _, input_ids_t5xxl = batch["input_ids_list"] + with torch.no_grad(): + input_ids_t5xxl = input_ids_t5xxl.to(accelerator.device) if t5_out is None else None + _, t5_out, _ = text_encoding_strategy.encode_tokens( + sd3_tokenize_strategy, [None, None, t5xxl], [None, None, input_ids_t5xxl] ) - else: - # encoder_hidden_states1 = batch["text_encoder_outputs1_list"].to(accelerator.device).to(weight_dtype) - # encoder_hidden_states2 = batch["text_encoder_outputs2_list"].to(accelerator.device).to(weight_dtype) - # pool2 = batch["text_encoder_pool2_list"].to(accelerator.device).to(weight_dtype) - # TODO this reuses SDXL keys, it should be fixed - lg_out = batch["text_encoder_outputs1_list"] - t5_out = batch["text_encoder_outputs2_list"] - pool = batch["text_encoder_pool2_list"] - context = torch.cat([lg_out, t5_out], dim=-2) + + context, lg_pooled = text_encoding_strategy.concat_encodings(lg_out, t5_out, lg_pooled) # TODO support some features for noise implemented in get_noise_noisy_latents_and_timesteps @@ -748,13 +781,13 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): if torch.any(torch.isnan(context)): accelerator.print("NaN found in context, replacing with zeros") context = torch.nan_to_num(context, 0, out=context) - if torch.any(torch.isnan(pool)): + if torch.any(torch.isnan(lg_pooled)): accelerator.print("NaN found in pool, replacing with zeros") - pool = torch.nan_to_num(pool, 0, out=pool) + lg_pooled = torch.nan_to_num(lg_pooled, 0, out=lg_pooled) # call model with accelerator.autocast(): - model_pred = mmdit(noisy_model_input, timesteps, context=context, y=pool) + model_pred = mmdit(noisy_model_input, timesteps, context=context, y=lg_pooled) # Follow: Section 5 of https://arxiv.org/abs/2206.00364. # Preconditioning of the model outputs. @@ -806,7 +839,7 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): # accelerator.device, # vae, # [tokenizer1, tokenizer2], - # [text_encoder1, text_encoder2], + # [clip_l, clip_g], # mmdit, # ) @@ -875,7 +908,7 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): # accelerator.device, # vae, # [tokenizer1, tokenizer2], - # [text_encoder1, text_encoder2], + # [clip_l, clip_g], # mmdit, # ) @@ -924,7 +957,19 @@ def setup_parser() -> argparse.ArgumentParser: custom_train_functions.add_custom_train_arguments(parser) sd3_train_utils.add_sd3_training_arguments(parser) - # parser.add_argument("--train_text_encoder", action="store_true", help="train text encoder / text encoderも学習する") + parser.add_argument( + "--train_text_encoder", action="store_true", help="train text encoder (CLIP-L and G) / text encoderも学習する" + ) + # parser.add_argument("--train_t5xxl", action="store_true", help="train T5-XXL / T5-XXLも学習する") + parser.add_argument( + "--use_t5xxl_cache_only", action="store_true", help="cache T5-XXL outputs only / T5-XXLの出力のみキャッシュする" + ) + parser.add_argument( + "--t5xxl_max_token_length", + type=int, + default=None, + help="maximum token length for T5-XXL. 256 if omitted / T5-XXLの最大トークン数。省略時は256", + ) # TE training is disabled temporarily # parser.add_argument( @@ -962,7 +1007,6 @@ def setup_parser() -> argparse.ArgumentParser: help="number of optimizers for fused backward pass and optimizer step / fused backward passとoptimizer stepのためのoptimizer数", ) - parser.add_argument("--new_caching", action="store_true", help="use new caching method / 新しいキャッシング方法を使う") parser.add_argument( "--skip_latents_validity_check", action="store_true", diff --git a/sdxl_train.py b/sdxl_train.py index ae92d6a3d..b6d4afd6a 100644 --- a/sdxl_train.py +++ b/sdxl_train.py @@ -17,7 +17,7 @@ from accelerate.utils import set_seed from diffusers import DDPMScheduler -from library import deepspeed_utils, sdxl_model_util +from library import deepspeed_utils, sdxl_model_util, strategy_base, strategy_sd, strategy_sdxl import library.train_util as train_util @@ -124,7 +124,16 @@ def train(args): if args.seed is not None: set_seed(args.seed) # 乱数系列を初期化する - tokenizer1, tokenizer2 = sdxl_train_util.load_tokenizers(args) + tokenize_strategy = strategy_sdxl.SdxlTokenizeStrategy(args.max_token_length, args.tokenizer_cache_dir) + strategy_base.TokenizeStrategy.set_strategy(tokenize_strategy) + tokenizers = [tokenize_strategy.tokenizer1, tokenize_strategy.tokenizer2] # will be removed in the future + + # prepare caching strategy: this must be set before preparing dataset. because dataset may use this strategy for initialization. + if args.cache_latents: + latents_caching_strategy = strategy_sd.SdSdxlLatentsCachingStrategy( + False, args.cache_latents_to_disk, args.vae_batch_size, False + ) + strategy_base.LatentsCachingStrategy.set_strategy(latents_caching_strategy) # データセットを準備する if args.dataset_class is None: @@ -166,10 +175,10 @@ def train(args): ] } - blueprint = blueprint_generator.generate(user_config, args, tokenizer=[tokenizer1, tokenizer2]) + blueprint = blueprint_generator.generate(user_config, args) train_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) else: - train_dataset_group = train_util.load_arbitrary_dataset(args, [tokenizer1, tokenizer2]) + train_dataset_group = train_util.load_arbitrary_dataset(args) current_epoch = Value("i", 0) current_step = Value("i", 0) @@ -262,8 +271,9 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): vae.to(accelerator.device, dtype=vae_dtype) vae.requires_grad_(False) vae.eval() - with torch.no_grad(): - train_dataset_group.cache_latents(vae, args.vae_batch_size, args.cache_latents_to_disk, accelerator.is_main_process) + + train_dataset_group.new_cache_latents(vae, accelerator.is_main_process) + vae.to("cpu") clean_memory_on_device(accelerator.device) @@ -276,6 +286,9 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): train_text_encoder1 = False train_text_encoder2 = False + text_encoding_strategy = strategy_sdxl.SdxlTextEncodingStrategy() + strategy_base.TextEncodingStrategy.set_strategy(text_encoding_strategy) + if args.train_text_encoder: # TODO each option for two text encoders? accelerator.print("enable text encoder training") @@ -307,16 +320,17 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): # TextEncoderの出力をキャッシュする if args.cache_text_encoder_outputs: # Text Encodes are eval and no grad - with torch.no_grad(), accelerator.autocast(): - train_dataset_group.cache_text_encoder_outputs( - (tokenizer1, tokenizer2), - (text_encoder1, text_encoder2), - accelerator.device, - None, - args.cache_text_encoder_outputs_to_disk, - accelerator.is_main_process, - ) - accelerator.wait_for_everyone() + text_encoder_output_caching_strategy = strategy_sdxl.SdxlTextEncoderOutputsCachingStrategy( + args.cache_text_encoder_outputs_to_disk, None, False + ) + strategy_base.TextEncoderOutputsCachingStrategy.set_strategy(text_encoder_output_caching_strategy) + + text_encoder1.to(accelerator.device) + text_encoder2.to(accelerator.device) + with accelerator.autocast(): + train_dataset_group.new_cache_text_encoder_outputs([text_encoder1, text_encoder2], accelerator.is_main_process) + + accelerator.wait_for_everyone() if not cache_latents: vae.requires_grad_(False) @@ -403,7 +417,11 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): else: _, _, optimizer = train_util.get_optimizer(args, trainable_params=params_to_optimize) - # dataloaderを準備する + # prepare dataloader + # strategies are set here because they cannot be referenced in another process. Copy them with the dataset + # some strategies can be None + train_dataset_group.set_current_strategies() + # DataLoaderのプロセス数:0 は persistent_workers が使えないので注意 n_workers = min(args.max_data_loader_n_workers, os.cpu_count()) # cpu_count or max_data_loader_n_workers train_dataloader = torch.utils.data.DataLoader( @@ -597,7 +615,7 @@ def optimizer_hook(parameter: torch.Tensor): # For --sample_at_first sdxl_train_util.sample_images( - accelerator, args, 0, global_step, accelerator.device, vae, [tokenizer1, tokenizer2], [text_encoder1, text_encoder2], unet + accelerator, args, 0, global_step, accelerator.device, vae, tokenizers, [text_encoder1, text_encoder2], unet ) loss_recorder = train_util.LossRecorder() @@ -628,9 +646,15 @@ def optimizer_hook(parameter: torch.Tensor): latents = torch.nan_to_num(latents, 0, out=latents) latents = latents * sdxl_model_util.VAE_SCALE_FACTOR - if "text_encoder_outputs1_list" not in batch or batch["text_encoder_outputs1_list"] is None: - input_ids1 = batch["input_ids"] - input_ids2 = batch["input_ids2"] + text_encoder_outputs_list = batch.get("text_encoder_outputs_list", None) + if text_encoder_outputs_list is not None: + # Text Encoder outputs are cached + encoder_hidden_states1, encoder_hidden_states2, pool2 = text_encoder_outputs_list + encoder_hidden_states1 = encoder_hidden_states1.to(accelerator.device, dtype=weight_dtype) + encoder_hidden_states2 = encoder_hidden_states2.to(accelerator.device, dtype=weight_dtype) + pool2 = pool2.to(accelerator.device, dtype=weight_dtype) + else: + input_ids1, input_ids2 = batch["input_ids_list"] with torch.set_grad_enabled(args.train_text_encoder): # Get the text embedding for conditioning # TODO support weighted captions @@ -646,39 +670,13 @@ def optimizer_hook(parameter: torch.Tensor): # else: input_ids1 = input_ids1.to(accelerator.device) input_ids2 = input_ids2.to(accelerator.device) - # unwrap_model is fine for models not wrapped by accelerator - encoder_hidden_states1, encoder_hidden_states2, pool2 = train_util.get_hidden_states_sdxl( - args.max_token_length, - input_ids1, - input_ids2, - tokenizer1, - tokenizer2, - text_encoder1, - text_encoder2, - None if not args.full_fp16 else weight_dtype, - accelerator=accelerator, + encoder_hidden_states1, encoder_hidden_states2, pool2 = text_encoding_strategy.encode_tokens( + tokenize_strategy, [text_encoder1, text_encoder2], [input_ids1, input_ids2] ) - else: - encoder_hidden_states1 = batch["text_encoder_outputs1_list"].to(accelerator.device).to(weight_dtype) - encoder_hidden_states2 = batch["text_encoder_outputs2_list"].to(accelerator.device).to(weight_dtype) - pool2 = batch["text_encoder_pool2_list"].to(accelerator.device).to(weight_dtype) - - # # verify that the text encoder outputs are correct - # ehs1, ehs2, p2 = train_util.get_hidden_states_sdxl( - # args.max_token_length, - # batch["input_ids"].to(text_encoder1.device), - # batch["input_ids2"].to(text_encoder1.device), - # tokenizer1, - # tokenizer2, - # text_encoder1, - # text_encoder2, - # None if not args.full_fp16 else weight_dtype, - # ) - # b_size = encoder_hidden_states1.shape[0] - # assert ((encoder_hidden_states1.to("cpu") - ehs1.to(dtype=weight_dtype)).abs().max() > 1e-2).sum() <= b_size * 2 - # assert ((encoder_hidden_states2.to("cpu") - ehs2.to(dtype=weight_dtype)).abs().max() > 1e-2).sum() <= b_size * 2 - # assert ((pool2.to("cpu") - p2.to(dtype=weight_dtype)).abs().max() > 1e-2).sum() <= b_size * 2 - # logger.info("text encoder outputs verified") + if args.full_fp16: + encoder_hidden_states1 = encoder_hidden_states1.to(weight_dtype) + encoder_hidden_states2 = encoder_hidden_states2.to(weight_dtype) + pool2 = pool2.to(weight_dtype) # get size embeddings orig_size = batch["original_sizes_hw"] @@ -765,7 +763,7 @@ def optimizer_hook(parameter: torch.Tensor): global_step, accelerator.device, vae, - [tokenizer1, tokenizer2], + tokenizers, [text_encoder1, text_encoder2], unet, ) @@ -847,7 +845,7 @@ def optimizer_hook(parameter: torch.Tensor): global_step, accelerator.device, vae, - [tokenizer1, tokenizer2], + tokenizers, [text_encoder1, text_encoder2], unet, ) diff --git a/sdxl_train_control_net_lllite.py b/sdxl_train_control_net_lllite.py index 5ff060a9f..0eaec29b8 100644 --- a/sdxl_train_control_net_lllite.py +++ b/sdxl_train_control_net_lllite.py @@ -23,7 +23,16 @@ import accelerate from diffusers import DDPMScheduler, ControlNetModel from safetensors.torch import load_file -from library import deepspeed_utils, sai_model_spec, sdxl_model_util, sdxl_original_unet, sdxl_train_util +from library import ( + deepspeed_utils, + sai_model_spec, + sdxl_model_util, + sdxl_original_unet, + sdxl_train_util, + strategy_base, + strategy_sd, + strategy_sdxl, +) import library.model_util as model_util import library.train_util as train_util @@ -79,7 +88,14 @@ def train(args): args.seed = random.randint(0, 2**32) set_seed(args.seed) - tokenizer1, tokenizer2 = sdxl_train_util.load_tokenizers(args) + tokenize_strategy = strategy_sdxl.SdxlTokenizeStrategy(args.max_token_length, args.tokenizer_cache_dir) + strategy_base.TokenizeStrategy.set_strategy(tokenize_strategy) + + # prepare caching strategy: this must be set before preparing dataset. because dataset may use this strategy for initialization. + latents_caching_strategy = strategy_sd.SdSdxlLatentsCachingStrategy( + False, args.cache_latents_to_disk, args.vae_batch_size, False + ) + strategy_base.LatentsCachingStrategy.set_strategy(latents_caching_strategy) # データセットを準備する blueprint_generator = BlueprintGenerator(ConfigSanitizer(False, False, True, True)) @@ -106,7 +122,7 @@ def train(args): ] } - blueprint = blueprint_generator.generate(user_config, args, tokenizer=[tokenizer1, tokenizer2]) + blueprint = blueprint_generator.generate(user_config, args) train_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) current_epoch = Value("i", 0) @@ -164,30 +180,30 @@ def train(args): vae.to(accelerator.device, dtype=vae_dtype) vae.requires_grad_(False) vae.eval() - with torch.no_grad(): - train_dataset_group.cache_latents( - vae, - args.vae_batch_size, - args.cache_latents_to_disk, - accelerator.is_main_process, - ) + + train_dataset_group.new_cache_latents(vae, accelerator.is_main_process) + vae.to("cpu") clean_memory_on_device(accelerator.device) accelerator.wait_for_everyone() + text_encoding_strategy = strategy_sdxl.SdxlTextEncodingStrategy() + strategy_base.TextEncodingStrategy.set_strategy(text_encoding_strategy) + # TextEncoderの出力をキャッシュする if args.cache_text_encoder_outputs: # Text Encodes are eval and no grad - with torch.no_grad(): - train_dataset_group.cache_text_encoder_outputs( - (tokenizer1, tokenizer2), - (text_encoder1, text_encoder2), - accelerator.device, - None, - args.cache_text_encoder_outputs_to_disk, - accelerator.is_main_process, - ) + text_encoder_output_caching_strategy = strategy_sdxl.SdxlTextEncoderOutputsCachingStrategy( + args.cache_text_encoder_outputs_to_disk, None, False + ) + strategy_base.TextEncoderOutputsCachingStrategy.set_strategy(text_encoder_output_caching_strategy) + + text_encoder1.to(accelerator.device) + text_encoder2.to(accelerator.device) + with accelerator.autocast(): + train_dataset_group.new_cache_text_encoder_outputs([text_encoder1, text_encoder2], accelerator.is_main_process) + accelerator.wait_for_everyone() # prepare ControlNet-LLLite @@ -242,7 +258,11 @@ def train(args): _, _, optimizer = train_util.get_optimizer(args, trainable_params) - # dataloaderを準備する + # prepare dataloader + # strategies are set here because they cannot be referenced in another process. Copy them with the dataset + # some strategies can be None + train_dataset_group.set_current_strategies() + # DataLoaderのプロセス数:0 は persistent_workers が使えないので注意 n_workers = min(args.max_data_loader_n_workers, os.cpu_count()) # cpu_count or max_data_loader_n_workers @@ -290,7 +310,7 @@ def train(args): unet, optimizer, train_dataloader, lr_scheduler = accelerator.prepare(unet, optimizer, train_dataloader, lr_scheduler) if isinstance(unet, DDP): - unet._set_static_graph() # avoid error for multiple use of the parameter + unet._set_static_graph() # avoid error for multiple use of the parameter if args.gradient_checkpointing: unet.train() # according to TI example in Diffusers, train is required -> これオリジナルのU-Netしたので本当は外せる @@ -357,7 +377,9 @@ def train(args): if args.log_tracker_config is not None: init_kwargs = toml.load(args.log_tracker_config) accelerator.init_trackers( - "lllite_control_net_train" if args.log_tracker_name is None else args.log_tracker_name, config=train_util.get_sanitized_config_or_none(args), init_kwargs=init_kwargs + "lllite_control_net_train" if args.log_tracker_name is None else args.log_tracker_name, + config=train_util.get_sanitized_config_or_none(args), + init_kwargs=init_kwargs, ) loss_recorder = train_util.LossRecorder() @@ -409,27 +431,26 @@ def remove_model(old_ckpt_name): latents = torch.nan_to_num(latents, 0, out=latents) latents = latents * sdxl_model_util.VAE_SCALE_FACTOR - if "text_encoder_outputs1_list" not in batch or batch["text_encoder_outputs1_list"] is None: - input_ids1 = batch["input_ids"] - input_ids2 = batch["input_ids2"] + + text_encoder_outputs_list = batch.get("text_encoder_outputs_list", None) + if text_encoder_outputs_list is not None: + # Text Encoder outputs are cached + encoder_hidden_states1, encoder_hidden_states2, pool2 = text_encoder_outputs_list + encoder_hidden_states1 = encoder_hidden_states1.to(accelerator.device, dtype=weight_dtype) + encoder_hidden_states2 = encoder_hidden_states2.to(accelerator.device, dtype=weight_dtype) + pool2 = pool2.to(accelerator.device, dtype=weight_dtype) + else: + input_ids1, input_ids2 = batch["input_ids_list"] with torch.no_grad(): - # Get the text embedding for conditioning input_ids1 = input_ids1.to(accelerator.device) input_ids2 = input_ids2.to(accelerator.device) - encoder_hidden_states1, encoder_hidden_states2, pool2 = train_util.get_hidden_states_sdxl( - args.max_token_length, - input_ids1, - input_ids2, - tokenizer1, - tokenizer2, - text_encoder1, - text_encoder2, - None if not args.full_fp16 else weight_dtype, + encoder_hidden_states1, encoder_hidden_states2, pool2 = text_encoding_strategy.encode_tokens( + tokenize_strategy, [text_encoder1, text_encoder2], [input_ids1, input_ids2] ) - else: - encoder_hidden_states1 = batch["text_encoder_outputs1_list"].to(accelerator.device).to(weight_dtype) - encoder_hidden_states2 = batch["text_encoder_outputs2_list"].to(accelerator.device).to(weight_dtype) - pool2 = batch["text_encoder_pool2_list"].to(accelerator.device).to(weight_dtype) + if args.full_fp16: + encoder_hidden_states1 = encoder_hidden_states1.to(weight_dtype) + encoder_hidden_states2 = encoder_hidden_states2.to(weight_dtype) + pool2 = pool2.to(weight_dtype) # get size embeddings orig_size = batch["original_sizes_hw"] diff --git a/sdxl_train_network.py b/sdxl_train_network.py index 83969bb1d..67ccae62c 100644 --- a/sdxl_train_network.py +++ b/sdxl_train_network.py @@ -1,16 +1,21 @@ import argparse import torch +from accelerate import Accelerator from library.device_utils import init_ipex, clean_memory_on_device + init_ipex() -from library import sdxl_model_util, sdxl_train_util, train_util +from library import sdxl_model_util, sdxl_train_util, strategy_base, strategy_sd, strategy_sdxl, train_util import train_network from library.utils import setup_logging + setup_logging() import logging + logger = logging.getLogger(__name__) + class SdxlNetworkTrainer(train_network.NetworkTrainer): def __init__(self): super().__init__() @@ -49,15 +54,32 @@ def load_target_model(self, args, weight_dtype, accelerator): return sdxl_model_util.MODEL_VERSION_SDXL_BASE_V1_0, [text_encoder1, text_encoder2], vae, unet - def load_tokenizer(self, args): - tokenizer = sdxl_train_util.load_tokenizers(args) - return tokenizer + def get_tokenize_strategy(self, args): + return strategy_sdxl.SdxlTokenizeStrategy(args.max_token_length, args.tokenizer_cache_dir) + + def get_tokenizers(self, tokenize_strategy: strategy_sdxl.SdxlTokenizeStrategy): + return [tokenize_strategy.tokenizer1, tokenize_strategy.tokenizer2] + + def get_latents_caching_strategy(self, args): + latents_caching_strategy = strategy_sd.SdSdxlLatentsCachingStrategy( + False, args.cache_latents_to_disk, args.vae_batch_size, False + ) + return latents_caching_strategy - def is_text_encoder_outputs_cached(self, args): - return args.cache_text_encoder_outputs + def get_text_encoding_strategy(self, args): + return strategy_sdxl.SdxlTextEncodingStrategy() + + def get_models_for_text_encoding(self, args, accelerator, text_encoders): + return text_encoders + [accelerator.unwrap_model(text_encoders[-1])] + + def get_text_encoder_outputs_caching_strategy(self, args): + if args.cache_text_encoder_outputs: + return strategy_sdxl.SdxlTextEncoderOutputsCachingStrategy(args.cache_text_encoder_outputs_to_disk, None, False) + else: + return None def cache_text_encoder_outputs_if_needed( - self, args, accelerator, unet, vae, tokenizers, text_encoders, dataset: train_util.DatasetGroup, weight_dtype + self, args, accelerator: Accelerator, unet, vae, text_encoders, dataset: train_util.DatasetGroup, weight_dtype ): if args.cache_text_encoder_outputs: if not args.lowram: @@ -70,15 +92,13 @@ def cache_text_encoder_outputs_if_needed( clean_memory_on_device(accelerator.device) # When TE is not be trained, it will not be prepared so we need to use explicit autocast + text_encoders[0].to(accelerator.device, dtype=weight_dtype) + text_encoders[1].to(accelerator.device, dtype=weight_dtype) with accelerator.autocast(): - dataset.cache_text_encoder_outputs( - tokenizers, - text_encoders, - accelerator.device, - weight_dtype, - args.cache_text_encoder_outputs_to_disk, - accelerator.is_main_process, + dataset.new_cache_text_encoder_outputs( + text_encoders + [accelerator.unwrap_model(text_encoders[-1])], accelerator.is_main_process ) + accelerator.wait_for_everyone() text_encoders[0].to("cpu", dtype=torch.float32) # Text Encoder doesn't work with fp16 on CPU text_encoders[1].to("cpu", dtype=torch.float32) diff --git a/sdxl_train_textual_inversion.py b/sdxl_train_textual_inversion.py index 5df739e28..cbfcef554 100644 --- a/sdxl_train_textual_inversion.py +++ b/sdxl_train_textual_inversion.py @@ -5,10 +5,10 @@ import torch from library.device_utils import init_ipex -init_ipex() -from library import sdxl_model_util, sdxl_train_util, train_util +init_ipex() +from library import sdxl_model_util, sdxl_train_util, strategy_sd, strategy_sdxl, train_util import train_textual_inversion @@ -41,28 +41,20 @@ def load_target_model(self, args, weight_dtype, accelerator): return sdxl_model_util.MODEL_VERSION_SDXL_BASE_V1_0, [text_encoder1, text_encoder2], vae, unet - def load_tokenizer(self, args): - tokenizer = sdxl_train_util.load_tokenizers(args) - return tokenizer - - def get_text_cond(self, args, accelerator, batch, tokenizers, text_encoders, weight_dtype): - input_ids1 = batch["input_ids"] - input_ids2 = batch["input_ids2"] - with torch.enable_grad(): - input_ids1 = input_ids1.to(accelerator.device) - input_ids2 = input_ids2.to(accelerator.device) - encoder_hidden_states1, encoder_hidden_states2, pool2 = train_util.get_hidden_states_sdxl( - args.max_token_length, - input_ids1, - input_ids2, - tokenizers[0], - tokenizers[1], - text_encoders[0], - text_encoders[1], - None if not args.full_fp16 else weight_dtype, - accelerator=accelerator, - ) - return encoder_hidden_states1, encoder_hidden_states2, pool2 + def get_tokenize_strategy(self, args): + return strategy_sdxl.SdxlTokenizeStrategy(args.max_token_length, args.tokenizer_cache_dir) + + def get_tokenizers(self, tokenize_strategy: strategy_sdxl.SdxlTokenizeStrategy): + return [tokenize_strategy.tokenizer1, tokenize_strategy.tokenizer2] + + def get_latents_caching_strategy(self, args): + latents_caching_strategy = strategy_sd.SdSdxlLatentsCachingStrategy( + False, args.cache_latents_to_disk, args.vae_batch_size, False + ) + return latents_caching_strategy + + def get_text_encoding_strategy(self, args): + return strategy_sdxl.SdxlTextEncodingStrategy() def call_unet(self, args, accelerator, unet, noisy_latents, timesteps, text_conds, batch, weight_dtype): noisy_latents = noisy_latents.to(weight_dtype) # TODO check why noisy_latents is not weight_dtype @@ -81,9 +73,11 @@ def call_unet(self, args, accelerator, unet, noisy_latents, timesteps, text_cond noise_pred = unet(noisy_latents, timesteps, text_embedding, vector_embedding) return noise_pred - def sample_images(self, accelerator, args, epoch, global_step, device, vae, tokenizer, text_encoder, unet, prompt_replacement): + def sample_images( + self, accelerator, args, epoch, global_step, device, vae, tokenizers, text_encoders, unet, prompt_replacement + ): sdxl_train_util.sample_images( - accelerator, args, epoch, global_step, device, vae, tokenizer, text_encoder, unet, prompt_replacement + accelerator, args, epoch, global_step, device, vae, tokenizers, text_encoders, unet, prompt_replacement ) def save_weights(self, file, updated_embs, save_dtype, metadata): @@ -122,8 +116,7 @@ def load_weights(self, file): def setup_parser() -> argparse.ArgumentParser: parser = train_textual_inversion.setup_parser() - # don't add sdxl_train_util.add_sdxl_training_arguments(parser): because it only adds text encoder caching - # sdxl_train_util.add_sdxl_training_arguments(parser) + sdxl_train_util.add_sdxl_training_arguments(parser, support_text_encoder_caching=False) return parser diff --git a/train_db.py b/train_db.py index 39d8ea6ed..7caee6647 100644 --- a/train_db.py +++ b/train_db.py @@ -11,7 +11,7 @@ from tqdm import tqdm import torch -from library import deepspeed_utils +from library import deepspeed_utils, strategy_base from library.device_utils import init_ipex, clean_memory_on_device @@ -38,6 +38,7 @@ apply_masked_loss, ) from library.utils import setup_logging, add_logging_arguments +import library.strategy_sd as strategy_sd setup_logging() import logging @@ -58,7 +59,14 @@ def train(args): if args.seed is not None: set_seed(args.seed) # 乱数系列を初期化する - tokenizer = train_util.load_tokenizer(args) + tokenize_strategy = strategy_sd.SdTokenizeStrategy(args.v2, args.max_token_length, args.tokenizer_cache_dir) + strategy_base.TokenizeStrategy.set_strategy(tokenize_strategy) + + # prepare caching strategy: this must be set before preparing dataset. because dataset may use this strategy for initialization. + latents_caching_strategy = strategy_sd.SdSdxlLatentsCachingStrategy( + False, args.cache_latents_to_disk, args.vae_batch_size, False + ) + strategy_base.LatentsCachingStrategy.set_strategy(latents_caching_strategy) # データセットを準備する if args.dataset_class is None: @@ -80,10 +88,10 @@ def train(args): ] } - blueprint = blueprint_generator.generate(user_config, args, tokenizer=tokenizer) + blueprint = blueprint_generator.generate(user_config, args) train_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) else: - train_dataset_group = train_util.load_arbitrary_dataset(args, tokenizer) + train_dataset_group = train_util.load_arbitrary_dataset(args) current_epoch = Value("i", 0) current_step = Value("i", 0) @@ -145,13 +153,17 @@ def train(args): vae.to(accelerator.device, dtype=vae_dtype) vae.requires_grad_(False) vae.eval() - with torch.no_grad(): - train_dataset_group.cache_latents(vae, args.vae_batch_size, args.cache_latents_to_disk, accelerator.is_main_process) + + train_dataset_group.new_cache_latents(vae, accelerator.is_main_process) + vae.to("cpu") clean_memory_on_device(accelerator.device) accelerator.wait_for_everyone() + text_encoding_strategy = strategy_sd.SdTextEncodingStrategy(args.clip_skip) + strategy_base.TextEncodingStrategy.set_strategy(text_encoding_strategy) + # 学習を準備する:モデルを適切な状態にする train_text_encoder = args.stop_text_encoder_training is None or args.stop_text_encoder_training >= 0 unet.requires_grad_(True) # 念のため追加 @@ -184,8 +196,11 @@ def train(args): _, _, optimizer = train_util.get_optimizer(args, trainable_params) - # dataloaderを準備する - # DataLoaderのプロセス数:0 は persistent_workers が使えないので注意 + # prepare dataloader + # strategies are set here because they cannot be referenced in another process. Copy them with the dataset + # some strategies can be None + train_dataset_group.set_current_strategies() + n_workers = min(args.max_data_loader_n_workers, os.cpu_count()) # cpu_count or max_data_loader_n_workers train_dataloader = torch.utils.data.DataLoader( train_dataset_group, @@ -290,10 +305,16 @@ def train(args): init_kwargs["wandb"] = {"name": args.wandb_run_name} if args.log_tracker_config is not None: init_kwargs = toml.load(args.log_tracker_config) - accelerator.init_trackers("dreambooth" if args.log_tracker_name is None else args.log_tracker_name, config=train_util.get_sanitized_config_or_none(args), init_kwargs=init_kwargs) + accelerator.init_trackers( + "dreambooth" if args.log_tracker_name is None else args.log_tracker_name, + config=train_util.get_sanitized_config_or_none(args), + init_kwargs=init_kwargs, + ) # For --sample_at_first - train_util.sample_images(accelerator, args, 0, global_step, accelerator.device, vae, tokenizer, text_encoder, unet) + train_util.sample_images( + accelerator, args, 0, global_step, accelerator.device, vae, tokenize_strategy.tokenizer, text_encoder, unet + ) loss_recorder = train_util.LossRecorder() for epoch in range(num_train_epochs): @@ -331,7 +352,7 @@ def train(args): with torch.set_grad_enabled(global_step < args.stop_text_encoder_training): if args.weighted_captions: encoder_hidden_states = get_weighted_text_embeddings( - tokenizer, + tokenize_strategy.tokenizer, text_encoder, batch["captions"], accelerator.device, @@ -339,14 +360,18 @@ def train(args): clip_skip=args.clip_skip, ) else: - input_ids = batch["input_ids"].to(accelerator.device) - encoder_hidden_states = train_util.get_hidden_states( - args, input_ids, tokenizer, text_encoder, None if not args.full_fp16 else weight_dtype - ) + input_ids = batch["input_ids_list"][0].to(accelerator.device) + encoder_hidden_states = text_encoding_strategy.encode_tokens( + tokenize_strategy, [text_encoder], [input_ids] + )[0] + if args.full_fp16: + encoder_hidden_states = encoder_hidden_states.to(weight_dtype) # Sample noise, sample a random timestep for each image, and add noise to the latents, # with noise offset and/or multires noise if specified - noise, noisy_latents, timesteps, huber_c = train_util.get_noise_noisy_latents_and_timesteps(args, noise_scheduler, latents) + noise, noisy_latents, timesteps, huber_c = train_util.get_noise_noisy_latents_and_timesteps( + args, noise_scheduler, latents + ) # Predict the noise residual with accelerator.autocast(): @@ -358,7 +383,9 @@ def train(args): else: target = noise - loss = train_util.conditional_loss(noise_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=huber_c) + loss = train_util.conditional_loss( + noise_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=huber_c + ) if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): loss = apply_masked_loss(loss, batch) loss = loss.mean([1, 2, 3]) @@ -393,7 +420,7 @@ def train(args): global_step += 1 train_util.sample_images( - accelerator, args, None, global_step, accelerator.device, vae, tokenizer, text_encoder, unet + accelerator, args, None, global_step, accelerator.device, vae, tokenize_strategy.tokenizer, text_encoder, unet ) # 指定ステップごとにモデルを保存 @@ -457,7 +484,9 @@ def train(args): vae, ) - train_util.sample_images(accelerator, args, epoch + 1, global_step, accelerator.device, vae, tokenizer, text_encoder, unet) + train_util.sample_images( + accelerator, args, epoch + 1, global_step, accelerator.device, vae, tokenize_strategy.tokenizer, text_encoder, unet + ) is_main_process = accelerator.is_main_process if is_main_process: diff --git a/train_network.py b/train_network.py index 7ba073855..3828fed19 100644 --- a/train_network.py +++ b/train_network.py @@ -7,6 +7,7 @@ import time import json from multiprocessing import Value +from typing import Any, List import toml from tqdm import tqdm @@ -18,7 +19,7 @@ from accelerate.utils import set_seed from diffusers import DDPMScheduler -from library import deepspeed_utils, model_util +from library import deepspeed_utils, model_util, strategy_base, strategy_sd import library.train_util as train_util from library.train_util import DreamBoothDataset @@ -101,19 +102,31 @@ def load_target_model(self, args, weight_dtype, accelerator): text_encoder, vae, unet, _ = train_util.load_target_model(args, weight_dtype, accelerator) return model_util.get_model_version_str_for_sd1_sd2(args.v2, args.v_parameterization), text_encoder, vae, unet - def load_tokenizer(self, args): - tokenizer = train_util.load_tokenizer(args) - return tokenizer + def get_tokenize_strategy(self, args): + return strategy_sd.SdTokenizeStrategy(args.v2, args.max_token_length, args.tokenizer_cache_dir) - def is_text_encoder_outputs_cached(self, args): - return False + def get_tokenizers(self, tokenize_strategy: strategy_sd.SdTokenizeStrategy) -> List[Any]: + return [tokenize_strategy.tokenizer] + + def get_latents_caching_strategy(self, args): + latents_caching_strategy = strategy_sd.SdSdxlLatentsCachingStrategy( + True, args.cache_latents_to_disk, args.vae_batch_size, False + ) + return latents_caching_strategy + + def get_text_encoding_strategy(self, args): + return strategy_sd.SdTextEncodingStrategy(args.clip_skip) + + def get_text_encoder_outputs_caching_strategy(self, args): + return None + + def get_models_for_text_encoding(self, args, accelerator, text_encoders): + return text_encoders def is_train_text_encoder(self, args): - return not args.network_train_unet_only and not self.is_text_encoder_outputs_cached(args) + return not args.network_train_unet_only - def cache_text_encoder_outputs_if_needed( - self, args, accelerator, unet, vae, tokenizers, text_encoders, data_loader, weight_dtype - ): + def cache_text_encoder_outputs_if_needed(self, args, accelerator, unet, vae, text_encoders, dataset, weight_dtype): for t_enc in text_encoders: t_enc.to(accelerator.device, dtype=weight_dtype) @@ -123,7 +136,7 @@ def get_text_cond(self, args, accelerator, batch, tokenizers, text_encoders, wei return encoder_hidden_states def call_unet(self, args, accelerator, unet, noisy_latents, timesteps, text_conds, batch, weight_dtype): - noise_pred = unet(noisy_latents, timesteps, text_conds).sample + noise_pred = unet(noisy_latents, timesteps, text_conds[0]).sample return noise_pred def all_reduce_network(self, accelerator, network): @@ -131,8 +144,8 @@ def all_reduce_network(self, accelerator, network): if param.grad is not None: param.grad = accelerator.reduce(param.grad, reduction="mean") - def sample_images(self, accelerator, args, epoch, global_step, device, vae, tokenizer, text_encoder, unet): - train_util.sample_images(accelerator, args, epoch, global_step, device, vae, tokenizer, text_encoder, unet) + def sample_images(self, accelerator, args, epoch, global_step, device, vae, tokenizers, text_encoder, unet): + train_util.sample_images(accelerator, args, epoch, global_step, device, vae, tokenizers[0], text_encoder, unet) def train(self, args): session_id = random.randint(0, 2**32) @@ -150,9 +163,13 @@ def train(self, args): args.seed = random.randint(0, 2**32) set_seed(args.seed) - # tokenizerは単体またはリスト、tokenizersは必ずリスト:既存のコードとの互換性のため - tokenizer = self.load_tokenizer(args) - tokenizers = tokenizer if isinstance(tokenizer, list) else [tokenizer] + tokenize_strategy = self.get_tokenize_strategy(args) + strategy_base.TokenizeStrategy.set_strategy(tokenize_strategy) + tokenizers = self.get_tokenizers(tokenize_strategy) # will be removed after sample_image is refactored + + # prepare caching strategy: this must be set before preparing dataset. because dataset may use this strategy for initialization. + latents_caching_strategy = self.get_latents_caching_strategy(args) + strategy_base.LatentsCachingStrategy.set_strategy(latents_caching_strategy) # データセットを準備する if args.dataset_class is None: @@ -194,11 +211,11 @@ def train(self, args): ] } - blueprint = blueprint_generator.generate(user_config, args, tokenizer=tokenizer) + blueprint = blueprint_generator.generate(user_config, args) train_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) else: # use arbitrary dataset class - train_dataset_group = train_util.load_arbitrary_dataset(args, tokenizer) + train_dataset_group = train_util.load_arbitrary_dataset(args) current_epoch = Value("i", 0) current_step = Value("i", 0) @@ -268,8 +285,9 @@ def train(self, args): vae.to(accelerator.device, dtype=vae_dtype) vae.requires_grad_(False) vae.eval() - with torch.no_grad(): - train_dataset_group.cache_latents(vae, args.vae_batch_size, args.cache_latents_to_disk, accelerator.is_main_process) + + train_dataset_group.new_cache_latents(vae, accelerator.is_main_process) + vae.to("cpu") clean_memory_on_device(accelerator.device) @@ -277,9 +295,13 @@ def train(self, args): # 必要ならテキストエンコーダーの出力をキャッシュする: Text Encoderはcpuまたはgpuへ移される # cache text encoder outputs if needed: Text Encoder is moved to cpu or gpu - self.cache_text_encoder_outputs_if_needed( - args, accelerator, unet, vae, tokenizers, text_encoders, train_dataset_group, weight_dtype - ) + text_encoding_strategy = self.get_text_encoding_strategy(args) + strategy_base.TextEncodingStrategy.set_strategy(text_encoding_strategy) + + text_encoder_outputs_caching_strategy = self.get_text_encoder_outputs_caching_strategy(args) + if text_encoder_outputs_caching_strategy is not None: + strategy_base.TextEncoderOutputsCachingStrategy.set_strategy(text_encoder_outputs_caching_strategy) + self.cache_text_encoder_outputs_if_needed(args, accelerator, unet, vae, text_encoders, train_dataset_group, weight_dtype) # prepare network net_kwargs = {} @@ -366,7 +388,11 @@ def train(self, args): optimizer_name, optimizer_args, optimizer = train_util.get_optimizer(args, trainable_params) - # dataloaderを準備する + # prepare dataloader + # strategies are set here because they cannot be referenced in another process. Copy them with the dataset + # some strategies can be None + train_dataset_group.set_current_strategies() + # DataLoaderのプロセス数:0 は persistent_workers が使えないので注意 n_workers = min(args.max_data_loader_n_workers, os.cpu_count()) # cpu_count or max_data_loader_n_workers @@ -878,7 +904,7 @@ def remove_model(old_ckpt_name): os.remove(old_ckpt_file) # For --sample_at_first - self.sample_images(accelerator, args, 0, global_step, accelerator.device, vae, tokenizer, text_encoder, unet) + self.sample_images(accelerator, args, 0, global_step, accelerator.device, vae, tokenizers, text_encoder, unet) # training loop if initial_step > 0: # only if skip_until_initial_step is specified @@ -933,21 +959,31 @@ def remove_model(old_ckpt_name): # print(f"set multiplier: {multipliers}") accelerator.unwrap_model(network).set_multiplier(multipliers) - with torch.set_grad_enabled(train_text_encoder), accelerator.autocast(): - # Get the text embedding for conditioning - if args.weighted_captions: - text_encoder_conds = get_weighted_text_embeddings( - tokenizer, - text_encoder, - batch["captions"], - accelerator.device, - args.max_token_length // 75 if args.max_token_length else 1, - clip_skip=args.clip_skip, - ) - else: - text_encoder_conds = self.get_text_cond( - args, accelerator, batch, tokenizers, text_encoders, weight_dtype - ) + text_encoder_outputs_list = batch.get("text_encoder_outputs_list", None) + if text_encoder_outputs_list is not None: + text_encoder_conds = text_encoder_outputs_list # List of text encoder outputs + else: + with torch.set_grad_enabled(train_text_encoder), accelerator.autocast(): + # Get the text embedding for conditioning + if args.weighted_captions: + # SD only + text_encoder_conds = get_weighted_text_embeddings( + tokenizers[0], + text_encoder, + batch["captions"], + accelerator.device, + args.max_token_length // 75 if args.max_token_length else 1, + clip_skip=args.clip_skip, + ) + else: + input_ids = [ids.to(accelerator.device) for ids in batch["input_ids_list"]] + text_encoder_conds = text_encoding_strategy.encode_tokens( + tokenize_strategy, + self.get_models_for_text_encoding(args, accelerator, text_encoders), + input_ids, + ) + if args.full_fp16: + text_encoder_conds = [c.to(weight_dtype) for c in text_encoder_conds] # Sample noise, sample a random timestep for each image, and add noise to the latents, # with noise offset and/or multires noise if specified @@ -1026,7 +1062,9 @@ def remove_model(old_ckpt_name): progress_bar.update(1) global_step += 1 - self.sample_images(accelerator, args, None, global_step, accelerator.device, vae, tokenizer, text_encoder, unet) + self.sample_images( + accelerator, args, None, global_step, accelerator.device, vae, tokenizers, text_encoder, unet + ) # 指定ステップごとにモデルを保存 if args.save_every_n_steps is not None and global_step % args.save_every_n_steps == 0: @@ -1082,7 +1120,7 @@ def remove_model(old_ckpt_name): if args.save_state: train_util.save_and_remove_state_on_epoch_end(args, accelerator, epoch + 1) - self.sample_images(accelerator, args, epoch + 1, global_step, accelerator.device, vae, tokenizer, text_encoder, unet) + self.sample_images(accelerator, args, epoch + 1, global_step, accelerator.device, vae, tokenizers, text_encoder, unet) # end of epoch diff --git a/train_textual_inversion.py b/train_textual_inversion.py index ade077c36..9044f50df 100644 --- a/train_textual_inversion.py +++ b/train_textual_inversion.py @@ -2,6 +2,7 @@ import math import os from multiprocessing import Value +from typing import Any, List import toml from tqdm import tqdm @@ -15,7 +16,7 @@ from accelerate.utils import set_seed from diffusers import DDPMScheduler from transformers import CLIPTokenizer -from library import deepspeed_utils, model_util +from library import deepspeed_utils, model_util, strategy_base, strategy_sd import library.train_util as train_util import library.huggingface_util as huggingface_util @@ -103,28 +104,38 @@ def assert_extra_args(self, args, train_dataset_group): def load_target_model(self, args, weight_dtype, accelerator): text_encoder, vae, unet, _ = train_util.load_target_model(args, weight_dtype, accelerator) - return model_util.get_model_version_str_for_sd1_sd2(args.v2, args.v_parameterization), text_encoder, vae, unet + return model_util.get_model_version_str_for_sd1_sd2(args.v2, args.v_parameterization), [text_encoder], vae, unet - def load_tokenizer(self, args): - tokenizer = train_util.load_tokenizer(args) - return tokenizer + def get_tokenize_strategy(self, args): + return strategy_sd.SdTokenizeStrategy(args.v2, args.max_token_length, args.tokenizer_cache_dir) + + def get_tokenizers(self, tokenize_strategy: strategy_sd.SdTokenizeStrategy) -> List[Any]: + return [tokenize_strategy.tokenizer] + + def get_latents_caching_strategy(self, args): + latents_caching_strategy = strategy_sd.SdSdxlLatentsCachingStrategy( + True, args.cache_latents_to_disk, args.vae_batch_size, False + ) + return latents_caching_strategy def assert_token_string(self, token_string, tokenizers: CLIPTokenizer): pass - def get_text_cond(self, args, accelerator, batch, tokenizers, text_encoders, weight_dtype): - with torch.enable_grad(): - input_ids = batch["input_ids"].to(accelerator.device) - encoder_hidden_states = train_util.get_hidden_states(args, input_ids, tokenizers[0], text_encoders[0], None) - return encoder_hidden_states + def get_text_encoding_strategy(self, args): + return strategy_sd.SdTextEncodingStrategy(args.clip_skip) + + def get_models_for_text_encoding(self, args, accelerator, text_encoders) -> List[Any]: + return text_encoders def call_unet(self, args, accelerator, unet, noisy_latents, timesteps, text_conds, batch, weight_dtype): - noise_pred = unet(noisy_latents, timesteps, text_conds).sample + noise_pred = unet(noisy_latents, timesteps, text_conds[0]).sample return noise_pred - def sample_images(self, accelerator, args, epoch, global_step, device, vae, tokenizer, text_encoder, unet, prompt_replacement): + def sample_images( + self, accelerator, args, epoch, global_step, device, vae, tokenizers, text_encoders, unet, prompt_replacement + ): train_util.sample_images( - accelerator, args, epoch, global_step, device, vae, tokenizer, text_encoder, unet, prompt_replacement + accelerator, args, epoch, global_step, device, vae, tokenizers[0], text_encoders[0], unet, prompt_replacement ) def save_weights(self, file, updated_embs, save_dtype, metadata): @@ -182,8 +193,13 @@ def train(self, args): if args.seed is not None: set_seed(args.seed) - tokenizer_or_list = self.load_tokenizer(args) # list of tokenizer or tokenizer - tokenizers = tokenizer_or_list if isinstance(tokenizer_or_list, list) else [tokenizer_or_list] + tokenize_strategy = self.get_tokenize_strategy(args) + strategy_base.TokenizeStrategy.set_strategy(tokenize_strategy) + tokenizers = self.get_tokenizers(tokenize_strategy) # will be removed after sample_image is refactored + + # prepare caching strategy: this must be set before preparing dataset. because dataset may use this strategy for initialization. + latents_caching_strategy = self.get_latents_caching_strategy(args) + strategy_base.LatentsCachingStrategy.set_strategy(latents_caching_strategy) # acceleratorを準備する logger.info("prepare accelerator") @@ -194,14 +210,7 @@ def train(self, args): vae_dtype = torch.float32 if args.no_half_vae else weight_dtype # モデルを読み込む - model_version, text_encoder_or_list, vae, unet = self.load_target_model(args, weight_dtype, accelerator) - text_encoders = [text_encoder_or_list] if not isinstance(text_encoder_or_list, list) else text_encoder_or_list - - if len(text_encoders) > 1 and args.gradient_accumulation_steps > 1: - accelerator.print( - "accelerate doesn't seem to support gradient_accumulation_steps for multiple models (text encoders) / " - + "accelerateでは複数のモデル(テキストエンコーダー)のgradient_accumulation_stepsはサポートされていないようです" - ) + model_version, text_encoders, vae, unet = self.load_target_model(args, weight_dtype, accelerator) # Convert the init_word to token_id init_token_ids_list = [] @@ -310,10 +319,10 @@ def train(self, args): ] } - blueprint = blueprint_generator.generate(user_config, args, tokenizer=tokenizer_or_list) + blueprint = blueprint_generator.generate(user_config, args) train_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) else: - train_dataset_group = train_util.load_arbitrary_dataset(args, tokenizer_or_list) + train_dataset_group = train_util.load_arbitrary_dataset(args) self.assert_extra_args(args, train_dataset_group) @@ -368,11 +377,10 @@ def train(self, args): vae.to(accelerator.device, dtype=vae_dtype) vae.requires_grad_(False) vae.eval() - with torch.no_grad(): - train_dataset_group.cache_latents(vae, args.vae_batch_size, args.cache_latents_to_disk, accelerator.is_main_process) - vae.to("cpu") - clean_memory_on_device(accelerator.device) + train_dataset_group.new_cache_latents(vae, accelerator.is_main_process) + + clean_memory_on_device(accelerator.device) accelerator.wait_for_everyone() if args.gradient_checkpointing: @@ -387,7 +395,11 @@ def train(self, args): trainable_params += text_encoder.get_input_embeddings().parameters() _, _, optimizer = train_util.get_optimizer(args, trainable_params) - # dataloaderを準備する + # prepare dataloader + # strategies are set here because they cannot be referenced in another process. Copy them with the dataset + # some strategies can be None + train_dataset_group.set_current_strategies() + # DataLoaderのプロセス数:0 は persistent_workers が使えないので注意 n_workers = min(args.max_data_loader_n_workers, os.cpu_count()) # cpu_count or max_data_loader_n_workers train_dataloader = torch.utils.data.DataLoader( @@ -415,20 +427,8 @@ def train(self, args): lr_scheduler = train_util.get_scheduler_fix(args, optimizer, accelerator.num_processes) # acceleratorがなんかよろしくやってくれるらしい - if len(text_encoders) == 1: - text_encoder_or_list, optimizer, train_dataloader, lr_scheduler = accelerator.prepare( - text_encoder_or_list, optimizer, train_dataloader, lr_scheduler - ) - - elif len(text_encoders) == 2: - text_encoder1, text_encoder2, optimizer, train_dataloader, lr_scheduler = accelerator.prepare( - text_encoders[0], text_encoders[1], optimizer, train_dataloader, lr_scheduler - ) - - text_encoder_or_list = text_encoders = [text_encoder1, text_encoder2] - - else: - raise NotImplementedError() + optimizer, train_dataloader, lr_scheduler = accelerator.prepare(optimizer, train_dataloader, lr_scheduler) + text_encoders = [accelerator.prepare(text_encoder) for text_encoder in text_encoders] index_no_updates_list = [] orig_embeds_params_list = [] @@ -456,6 +456,9 @@ def train(self, args): else: unet.eval() + text_encoding_strategy = self.get_text_encoding_strategy(args) + strategy_base.TextEncodingStrategy.set_strategy(text_encoding_strategy) + if not cache_latents: # キャッシュしない場合はVAEを使うのでVAEを準備する vae.requires_grad_(False) vae.eval() @@ -510,7 +513,9 @@ def train(self, args): if args.log_tracker_config is not None: init_kwargs = toml.load(args.log_tracker_config) accelerator.init_trackers( - "textual_inversion" if args.log_tracker_name is None else args.log_tracker_name, config=train_util.get_sanitized_config_or_none(args), init_kwargs=init_kwargs + "textual_inversion" if args.log_tracker_name is None else args.log_tracker_name, + config=train_util.get_sanitized_config_or_none(args), + init_kwargs=init_kwargs, ) # function for saving/removing @@ -540,8 +545,8 @@ def remove_model(old_ckpt_name): global_step, accelerator.device, vae, - tokenizer_or_list, - text_encoder_or_list, + tokenizers, + text_encoders, unet, prompt_replacement, ) @@ -568,7 +573,12 @@ def remove_model(old_ckpt_name): latents = latents * self.vae_scale_factor # Get the text embedding for conditioning - text_encoder_conds = self.get_text_cond(args, accelerator, batch, tokenizers, text_encoders, weight_dtype) + input_ids = [ids.to(accelerator.device) for ids in batch["input_ids_list"]] + text_encoder_conds = text_encoding_strategy.encode_tokens( + tokenize_strategy, self.get_models_for_text_encoding(args, accelerator, text_encoders), input_ids + ) + if args.full_fp16: + text_encoder_conds = [c.to(weight_dtype) for c in text_encoder_conds] # Sample noise, sample a random timestep for each image, and add noise to the latents, # with noise offset and/or multires noise if specified @@ -588,7 +598,9 @@ def remove_model(old_ckpt_name): else: target = noise - loss = train_util.conditional_loss(noise_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=huber_c) + loss = train_util.conditional_loss( + noise_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=huber_c + ) if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): loss = apply_masked_loss(loss, batch) loss = loss.mean([1, 2, 3]) @@ -639,8 +651,8 @@ def remove_model(old_ckpt_name): global_step, accelerator.device, vae, - tokenizer_or_list, - text_encoder_or_list, + tokenizers, + text_encoders, unet, prompt_replacement, ) @@ -722,8 +734,8 @@ def remove_model(old_ckpt_name): global_step, accelerator.device, vae, - tokenizer_or_list, - text_encoder_or_list, + tokenizers, + text_encoders, unet, prompt_replacement, ) From 1a977e847a10975c042c0fdacd871a33c9e93900 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sat, 27 Jul 2024 13:51:50 +0900 Subject: [PATCH 116/748] fix typos --- library/strategy_base.py | 2 +- library/strategy_sd.py | 2 +- library/strategy_sd3.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/library/strategy_base.py b/library/strategy_base.py index 594cca5eb..a99a08290 100644 --- a/library/strategy_base.py +++ b/library/strategy_base.py @@ -218,7 +218,7 @@ def is_disk_cached_latents_expected( def cache_batch_latents(self, model: Any, batch: List, flip_aug: bool, alpha_mask: bool, random_crop: bool): raise NotImplementedError - def _defualt_is_disk_cached_latents_expected( + def _default_is_disk_cached_latents_expected( self, latents_stride: int, bucket_reso: Tuple[int, int], npz_path: str, flip_aug: bool, alpha_mask: bool ): if not self.cache_to_disk: diff --git a/library/strategy_sd.py b/library/strategy_sd.py index 105816145..83ffaa31b 100644 --- a/library/strategy_sd.py +++ b/library/strategy_sd.py @@ -125,7 +125,7 @@ def get_latents_npz_path(self, absolute_path: str, image_size: Tuple[int, int]) return os.path.splitext(absolute_path)[0] + f"_{image_size[0]:04d}x{image_size[1]:04d}" + self.suffix def is_disk_cached_latents_expected(self, bucket_reso: Tuple[int, int], npz_path: str, flip_aug: bool, alpha_mask: bool): - return self._defualt_is_disk_cached_latents_expected(8, bucket_reso, npz_path, flip_aug, alpha_mask) + return self._default_is_disk_cached_latents_expected(8, bucket_reso, npz_path, flip_aug, alpha_mask) # TODO remove circular dependency for ImageInfo def cache_batch_latents(self, vae, image_infos: List, flip_aug: bool, alpha_mask: bool, random_crop: bool): diff --git a/library/strategy_sd3.py b/library/strategy_sd3.py index 42630ab22..7491e814f 100644 --- a/library/strategy_sd3.py +++ b/library/strategy_sd3.py @@ -177,7 +177,7 @@ def get_latents_npz_path(self, absolute_path: str, image_size: Tuple[int, int]) ) def is_disk_cached_latents_expected(self, bucket_reso: Tuple[int, int], npz_path: str, flip_aug: bool, alpha_mask: bool): - return self._defualt_is_disk_cached_latents_expected(8, bucket_reso, npz_path, flip_aug, alpha_mask) + return self._default_is_disk_cached_latents_expected(8, bucket_reso, npz_path, flip_aug, alpha_mask) # TODO remove circular dependency for ImageInfo def cache_batch_latents(self, vae, image_infos: List, flip_aug: bool, alpha_mask: bool, random_crop: bool): From 002d75179ae5a3b165a65c5cf49c00bf8f98e2df Mon Sep 17 00:00:00 2001 From: Kohya S Date: Mon, 29 Jul 2024 23:18:34 +0900 Subject: [PATCH 117/748] sample images for training --- library/sd3_train_utils.py | 348 ++++++++++++++++++++++++++++++++++++- sd3_train.py | 51 +++--- 2 files changed, 367 insertions(+), 32 deletions(-) diff --git a/library/sd3_train_utils.py b/library/sd3_train_utils.py index 8f99d9474..da0729506 100644 --- a/library/sd3_train_utils.py +++ b/library/sd3_train_utils.py @@ -1,14 +1,18 @@ import argparse -import glob import math import os -from typing import List, Optional, Tuple, Union +import toml +import json +import time +from typing import Dict, List, Optional, Tuple, Union import torch from safetensors.torch import save_file -from accelerate import Accelerator +from accelerate import Accelerator, PartialState +from tqdm import tqdm +from PIL import Image -from library import sd3_models, sd3_utils, train_util +from library import sd3_models, sd3_utils, strategy_base, train_util from library.device_utils import init_ipex, clean_memory_on_device init_ipex() @@ -276,10 +280,342 @@ def verify_sdxl_training_args(args: argparse.Namespace, supportTextEncoderCachin ) -def sample_images(*args, **kwargs): - return train_util.sample_images_common(SdxlStableDiffusionLongPromptWeightingPipeline, *args, **kwargs) +# temporary copied from sd3_minimal_inferece.py +def get_sigmas(sampling: sd3_utils.ModelSamplingDiscreteFlow, steps): + start = sampling.timestep(sampling.sigma_max) + end = sampling.timestep(sampling.sigma_min) + timesteps = torch.linspace(start, end, steps) + sigs = [] + for x in range(len(timesteps)): + ts = timesteps[x] + sigs.append(sampling.sigma(ts)) + sigs += [0.0] + return torch.FloatTensor(sigs) + + +def max_denoise(model_sampling, sigmas): + max_sigma = float(model_sampling.sigma_max) + sigma = float(sigmas[0]) + return math.isclose(max_sigma, sigma, rel_tol=1e-05) or sigma > max_sigma + + +def do_sample( + height: int, + width: int, + seed: int, + cond: Tuple[torch.Tensor, torch.Tensor], + neg_cond: Tuple[torch.Tensor, torch.Tensor], + mmdit: sd3_models.MMDiT, + steps: int, + guidance_scale: float, + dtype: torch.dtype, + device: str, +): + latent = torch.zeros(1, 16, height // 8, width // 8, device=device) + latent = latent.to(dtype).to(device) + + # noise = get_noise(seed, latent).to(device) + if seed is not None: + generator = torch.manual_seed(seed) + noise = ( + torch.randn(latent.size(), dtype=torch.float32, layout=latent.layout, generator=generator, device="cpu") + .to(latent.dtype) + .to(device) + ) + + model_sampling = sd3_utils.ModelSamplingDiscreteFlow(shift=3.0) # 3.0 is for SD3 + + sigmas = get_sigmas(model_sampling, steps).to(device) + + noise_scaled = model_sampling.noise_scaling(sigmas[0], noise, latent, max_denoise(model_sampling, sigmas)) + + c_crossattn = torch.cat([cond[0], neg_cond[0]]).to(device).to(dtype) + y = torch.cat([cond[1], neg_cond[1]]).to(device).to(dtype) + + x = noise_scaled.to(device).to(dtype) + # print(x.shape) + + with torch.no_grad(): + for i in tqdm(range(len(sigmas) - 1)): + sigma_hat = sigmas[i] + + timestep = model_sampling.timestep(sigma_hat).float() + timestep = torch.FloatTensor([timestep, timestep]).to(device) + + x_c_nc = torch.cat([x, x], dim=0) + # print(x_c_nc.shape, timestep.shape, c_crossattn.shape, y.shape) + + model_output = mmdit(x_c_nc, timestep, context=c_crossattn, y=y) + model_output = model_output.float() + batched = model_sampling.calculate_denoised(sigma_hat, model_output, x) + + pos_out, neg_out = batched.chunk(2) + denoised = neg_out + (pos_out - neg_out) * guidance_scale + # print(denoised.shape) + + # d = to_d(x, sigma_hat, denoised) + dims_to_append = x.ndim - sigma_hat.ndim + sigma_hat_dims = sigma_hat[(...,) + (None,) * dims_to_append] + # print(dims_to_append, x.shape, sigma_hat.shape, denoised.shape, sigma_hat_dims.shape) + """Converts a denoiser output to a Karras ODE derivative.""" + d = (x - denoised) / sigma_hat_dims + + dt = sigmas[i + 1] - sigma_hat + + # Euler method + x = x + d * dt + x = x.to(dtype) + + return x + + +def load_prompts(prompt_file: str) -> List[Dict]: + # read prompts + if prompt_file.endswith(".txt"): + with open(prompt_file, "r", encoding="utf-8") as f: + lines = f.readlines() + prompts = [line.strip() for line in lines if len(line.strip()) > 0 and line[0] != "#"] + elif prompt_file.endswith(".toml"): + with open(prompt_file, "r", encoding="utf-8") as f: + data = toml.load(f) + prompts = [dict(**data["prompt"], **subset) for subset in data["prompt"]["subset"]] + elif prompt_file.endswith(".json"): + with open(prompt_file, "r", encoding="utf-8") as f: + prompts = json.load(f) + + # preprocess prompts + for i in range(len(prompts)): + prompt_dict = prompts[i] + if isinstance(prompt_dict, str): + from library.train_util import line_to_prompt_dict + + prompt_dict = line_to_prompt_dict(prompt_dict) + prompts[i] = prompt_dict + assert isinstance(prompt_dict, dict) + + # Adds an enumerator to the dict based on prompt position. Used later to name image files. Also cleanup of extra data in original prompt dict. + prompt_dict["enum"] = i + prompt_dict.pop("subset", None) + + return prompts + + +def sample_images( + accelerator: Accelerator, + args: argparse.Namespace, + epoch, + steps, + mmdit, + vae, + text_encoders, + sample_prompts_te_outputs, + prompt_replacement=None, +): + if steps == 0: + if not args.sample_at_first: + return + else: + if args.sample_every_n_steps is None and args.sample_every_n_epochs is None: + return + if args.sample_every_n_epochs is not None: + # sample_every_n_steps は無視する + if epoch is None or epoch % args.sample_every_n_epochs != 0: + return + else: + if steps % args.sample_every_n_steps != 0 or epoch is not None: # steps is not divisible or end of epoch + return + + logger.info("") + logger.info(f"generating sample images at step / サンプル画像生成 ステップ: {steps}") + if not os.path.isfile(args.sample_prompts): + logger.error(f"No prompt file / プロンプトファイルがありません: {args.sample_prompts}") + return + + distributed_state = PartialState() # for multi gpu distributed inference. this is a singleton, so it's safe to use it here + + # unwrap unet and text_encoder(s) + mmdit = accelerator.unwrap_model(mmdit) + text_encoders = [accelerator.unwrap_model(te) for te in text_encoders] + # print([(te.parameters().__next__().device if te is not None else None) for te in text_encoders]) + + prompts = load_prompts(args.sample_prompts) + + save_dir = args.output_dir + "/sample" + os.makedirs(save_dir, exist_ok=True) + + # save random state to restore later + rng_state = torch.get_rng_state() + cuda_rng_state = None + try: + cuda_rng_state = torch.cuda.get_rng_state() if torch.cuda.is_available() else None + except Exception: + pass + + org_vae_device = vae.device # will be on cpu + vae.to(distributed_state.device) # distributed_state.device is same as accelerator.device + + if distributed_state.num_processes <= 1: + # If only one device is available, just use the original prompt list. We don't need to care about the distribution of prompts. + with torch.no_grad(): + for prompt_dict in prompts: + sample_image_inference( + accelerator, + args, + mmdit, + text_encoders, + vae, + save_dir, + prompt_dict, + epoch, + steps, + sample_prompts_te_outputs, + prompt_replacement, + ) + else: + # Creating list with N elements, where each element is a list of prompt_dicts, and N is the number of processes available (number of devices available) + # prompt_dicts are assigned to lists based on order of processes, to attempt to time the image creation time to match enum order. Probably only works when steps and sampler are identical. + per_process_prompts = [] # list of lists + for i in range(distributed_state.num_processes): + per_process_prompts.append(prompts[i :: distributed_state.num_processes]) + + with torch.no_grad(): + with distributed_state.split_between_processes(per_process_prompts) as prompt_dict_lists: + for prompt_dict in prompt_dict_lists[0]: + sample_image_inference( + accelerator, + args, + mmdit, + text_encoders, + vae, + save_dir, + prompt_dict, + epoch, + steps, + sample_prompts_te_outputs, + prompt_replacement, + ) + + torch.set_rng_state(rng_state) + if cuda_rng_state is not None: + torch.cuda.set_rng_state(cuda_rng_state) + + vae.to(org_vae_device) + + clean_memory_on_device(accelerator.device) + + +def sample_image_inference( + accelerator: Accelerator, + args: argparse.Namespace, + mmdit: sd3_models.MMDiT, + text_encoders: List[Union[sd3_models.SDClipModel, sd3_models.SDXLClipG, sd3_models.T5XXLModel]], + vae: sd3_models.SDVAE, + save_dir, + prompt_dict, + epoch, + steps, + sample_prompts_te_outputs, + prompt_replacement, +): + assert isinstance(prompt_dict, dict) + negative_prompt = prompt_dict.get("negative_prompt") + sample_steps = prompt_dict.get("sample_steps", 30) + width = prompt_dict.get("width", 512) + height = prompt_dict.get("height", 512) + scale = prompt_dict.get("scale", 7.5) + seed = prompt_dict.get("seed") + # controlnet_image = prompt_dict.get("controlnet_image") + prompt: str = prompt_dict.get("prompt", "") + # sampler_name: str = prompt_dict.get("sample_sampler", args.sample_sampler) + + if prompt_replacement is not None: + prompt = prompt.replace(prompt_replacement[0], prompt_replacement[1]) + if negative_prompt is not None: + negative_prompt = negative_prompt.replace(prompt_replacement[0], prompt_replacement[1]) + + if seed is not None: + torch.manual_seed(seed) + torch.cuda.manual_seed(seed) + else: + # True random sample image generation + torch.seed() + torch.cuda.seed() + + if negative_prompt is None: + negative_prompt = "" + + height = max(64, height - height % 8) # round to divisible by 8 + width = max(64, width - width % 8) # round to divisible by 8 + logger.info(f"prompt: {prompt}") + logger.info(f"negative_prompt: {negative_prompt}") + logger.info(f"height: {height}") + logger.info(f"width: {width}") + logger.info(f"sample_steps: {sample_steps}") + logger.info(f"scale: {scale}") + # logger.info(f"sample_sampler: {sampler_name}") + if seed is not None: + logger.info(f"seed: {seed}") + + # encode prompts + tokenize_strategy = strategy_base.TokenizeStrategy.get_strategy() + encoding_strategy = strategy_base.TextEncodingStrategy.get_strategy() + + if sample_prompts_te_outputs and prompt in sample_prompts_te_outputs: + te_outputs = sample_prompts_te_outputs[prompt] + else: + l_tokens, g_tokens, t5_tokens = tokenize_strategy.tokenize(prompt) + te_outputs = encoding_strategy.encode_tokens(tokenize_strategy, text_encoders, [l_tokens, g_tokens, t5_tokens]) + + lg_out, t5_out, pooled = te_outputs + cond = encoding_strategy.concat_encodings(lg_out, t5_out, pooled) + + # encode negative prompts + if sample_prompts_te_outputs and negative_prompt in sample_prompts_te_outputs: + neg_te_outputs = sample_prompts_te_outputs[negative_prompt] + else: + l_tokens, g_tokens, t5_tokens = tokenize_strategy.tokenize(negative_prompt) + neg_te_outputs = encoding_strategy.encode_tokens(tokenize_strategy, text_encoders, [l_tokens, g_tokens, t5_tokens]) + + lg_out, t5_out, pooled = neg_te_outputs + neg_cond = encoding_strategy.concat_encodings(lg_out, t5_out, pooled) + + # sample image + latents = do_sample(height, width, seed, cond, neg_cond, mmdit, sample_steps, scale, mmdit.dtype, accelerator.device) + latents = vae.process_out(latents.to(vae.device, dtype=vae.dtype)) + + # latent to image + with torch.no_grad(): + image = vae.decode(latents) + image = image.float() + image = torch.clamp((image + 1.0) / 2.0, min=0.0, max=1.0)[0] + decoded_np = 255.0 * np.moveaxis(image.cpu().numpy(), 0, 2) + decoded_np = decoded_np.astype(np.uint8) + + image = Image.fromarray(decoded_np) + # adding accelerator.wait_for_everyone() here should sync up and ensure that sample images are saved in the same order as the original prompt list + # but adding 'enum' to the filename should be enough + + ts_str = time.strftime("%Y%m%d%H%M%S", time.localtime()) + num_suffix = f"e{epoch:06d}" if epoch is not None else f"{steps:06d}" + seed_suffix = "" if seed is None else f"_{seed}" + i: int = prompt_dict["enum"] + img_filename = f"{'' if args.output_name is None else args.output_name + '_'}{num_suffix}_{i:02d}_{ts_str}{seed_suffix}.png" + image.save(os.path.join(save_dir, img_filename)) + + # wandb有効時のみログを送信 + try: + wandb_tracker = accelerator.get_tracker("wandb") + try: + import wandb + except ImportError: # 事前に一度確認するのでここはエラー出ないはず + raise ImportError("No wandb / wandb がインストールされていないようです") + + wandb_tracker.log({f"sample_{i}": wandb.Image(image)}) + except: # wandb 無効時 + pass + # region Diffusers diff --git a/sd3_train.py b/sd3_train.py index 617e30271..2f4ea8cb2 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -299,6 +299,7 @@ def train(args): t5xxl.eval() # cache text encoder outputs + sample_prompts_te_outputs = None if args.cache_text_encoder_outputs: # Text Encodes are eval and no grad here clip_l.to(accelerator.device) @@ -321,6 +322,22 @@ def train(args): with accelerator.autocast(): train_dataset_group.new_cache_text_encoder_outputs([clip_l, clip_g, t5xxl], accelerator.is_main_process) + + # cache sample prompt's embeddings to free text encoder's memory + if args.sample_prompts is not None: + logger.info(f"cache Text Encoder outputs for sample prompt: {args.sample_prompts}") + prompts = sd3_train_utils.load_prompts(args.sample_prompts) + sample_prompts_te_outputs = {} # key: prompt, value: text encoder outputs + with accelerator.autocast(), torch.no_grad(): + for prompt_dict in prompts: + for p in [prompt_dict.get("prompt", ""), prompt_dict.get("negative_prompt", "")]: + if p not in sample_prompts_te_outputs: + logger.info(f"cache Text Encoder outputs for prompt: {p}") + tokens_list = sd3_tokenize_strategy.tokenize(p) + sample_prompts_te_outputs[p] = text_encoding_strategy.encode_tokens( + sd3_tokenize_strategy, [clip_l, clip_g, t5xxl], tokens_list + ) + accelerator.wait_for_everyone() # load MMDIT @@ -635,10 +652,8 @@ def optimizer_hook(parameter: torch.Tensor): init_kwargs=init_kwargs, ) - # # For --sample_at_first - # sd3_train_utils.sample_images( - # accelerator, args, 0, global_step, accelerator.device, vae, [tokenizer1, tokenizer2], [clip_l, clip_g], mmdit - # ) + # For --sample_at_first + sd3_train_utils.sample_images(accelerator, args, 0, global_step, mmdit, vae, [clip_l, clip_g, t5xxl], sample_prompts_te_outputs) # following function will be moved to sd3_train_utils @@ -831,17 +846,9 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): progress_bar.update(1) global_step += 1 - # sdxl_train_util.sample_images( - # accelerator, - # args, - # None, - # global_step, - # accelerator.device, - # vae, - # [tokenizer1, tokenizer2], - # [clip_l, clip_g], - # mmdit, - # ) + sd3_train_utils.sample_images( + accelerator, args, None, global_step, mmdit, vae, [clip_l, clip_g, t5xxl], sample_prompts_te_outputs + ) # 指定ステップごとにモデルを保存 if args.save_every_n_steps is not None and global_step % args.save_every_n_steps == 0: @@ -900,17 +907,9 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): vae, ) - # sdxl_train_util.sample_images( - # accelerator, - # args, - # epoch + 1, - # global_step, - # accelerator.device, - # vae, - # [tokenizer1, tokenizer2], - # [clip_l, clip_g], - # mmdit, - # ) + sd3_train_utils.sample_images( + accelerator, args, epoch + 1, global_step, mmdit, vae, [clip_l, clip_g, t5xxl], sample_prompts_te_outputs + ) is_main_process = accelerator.is_main_process # if is_main_process: From 31507b9901d1d9ab65ba79ebd747b7f35c7e0fc1 Mon Sep 17 00:00:00 2001 From: gesen2egee <79357052+gesen2egee@users.noreply.github.com> Date: Fri, 2 Aug 2024 13:15:21 +0800 Subject: [PATCH 118/748] Remove unnecessary is_train changes and use apply_debiased_estimation to calculate validation loss. Balances the influence of different time steps on training performance (without affecting actual training results) --- train_network.py | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/train_network.py b/train_network.py index 2a3a44824..4a5940cd5 100644 --- a/train_network.py +++ b/train_network.py @@ -135,7 +135,7 @@ def all_reduce_network(self, accelerator, network): def sample_images(self, accelerator, args, epoch, global_step, device, vae, tokenizer, text_encoder, unet): train_util.sample_images(accelerator, args, epoch, global_step, device, vae, tokenizer, text_encoder, unet) - def process_val_batch(self, batch, is_train, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args, train_text_encoder=True): + def process_val_batch(self, batch, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args, train_text_encoder=True): total_loss = 0.0 timesteps_list = [10, 350, 500, 650, 990] @@ -153,7 +153,7 @@ def process_val_batch(self, batch, is_train, tokenizers, text_encoders, unet, va latents = latents * self.vae_scale_factor b_size = latents.shape[0] - with torch.set_grad_enabled(is_train and train_text_encoder), accelerator.autocast(): + with torch.set_grad_enabled(False), accelerator.autocast(): # Get the text embedding for conditioning if args.weighted_captions: text_encoder_conds = get_weighted_text_embeddings( @@ -173,7 +173,7 @@ def process_val_batch(self, batch, is_train, tokenizers, text_encoders, unet, va # with noise offset and/or multires noise if specified for fixed_timesteps in timesteps_list: - with torch.set_grad_enabled(is_train), accelerator.autocast(): + with torch.set_grad_enabled(False), accelerator.autocast(): noise = torch.randn_like(latents, device=latents.device) b_size = latents.shape[0] timesteps = torch.full((b_size,), fixed_timesteps, dtype=torch.long, device=latents.device) @@ -189,6 +189,7 @@ def process_val_batch(self, batch, is_train, tokenizers, text_encoders, unet, va loss = torch.nn.functional.mse_loss(noise_pred.float(), target.float(), reduction="none") loss = loss.mean([1, 2, 3]) + loss = apply_debiased_estimation(loss, timesteps, noise_scheduler) loss = loss.mean() # 平均なのでbatch_sizeで割る必要なし total_loss += loss @@ -885,8 +886,7 @@ def remove_model(old_ckpt_name): for step, batch in enumerate(train_dataloader): current_step.value = global_step with accelerator.accumulate(training_model): - on_step_start(text_encoder, unet) - is_train = True + on_step_start(text_encoder, unet) if "latents" in batch and batch["latents"] is not None: latents = batch["latents"].to(accelerator.device).to(dtype=weight_dtype) else: @@ -911,7 +911,7 @@ def remove_model(old_ckpt_name): # print(f"set multiplier: {multipliers}") accelerator.unwrap_model(network).set_multiplier(multipliers) - with torch.set_grad_enabled(is_train and train_text_encoder), accelerator.autocast(): + with torch.set_grad_enabled(train_text_encoder), accelerator.autocast(): # Get the text embedding for conditioning if args.weighted_captions: text_encoder_conds = get_weighted_text_embeddings( @@ -941,7 +941,7 @@ def remove_model(old_ckpt_name): t.requires_grad_(True) # Predict the noise residual - with torch.set_grad_enabled(is_train), accelerator.autocast(): + with accelerator.autocast(): noise_pred = self.call_unet( args, accelerator, @@ -1040,10 +1040,9 @@ def remove_model(old_ckpt_name): total_loss = 0.0 with torch.no_grad(): validation_steps = min(args.max_validation_steps, len(val_dataloader)) if args.max_validation_steps is not None else len(val_dataloader) - for val_step in tqdm(range(validation_steps), desc='Validation Steps'): - is_train = False + for val_step in tqdm(range(validation_steps), desc='Validation Steps'): batch = next(cyclic_val_dataloader) - loss = self.process_val_batch(batch, is_train, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args) + loss = self.process_val_batch(batch, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args) total_loss += loss.detach().item() current_loss = total_loss / validation_steps val_loss_recorder.add(epoch=0, step=global_step, loss=current_loss) From 1db495127f25c1b17694780f635a4760b4e345d0 Mon Sep 17 00:00:00 2001 From: gesen2egee <79357052+gesen2egee@users.noreply.github.com> Date: Sun, 4 Aug 2024 14:53:46 +0800 Subject: [PATCH 119/748] Update train_db.py --- train_db.py | 132 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 126 insertions(+), 6 deletions(-) diff --git a/train_db.py b/train_db.py index 1de504ed8..9f8ec777c 100644 --- a/train_db.py +++ b/train_db.py @@ -2,7 +2,6 @@ # XXX dropped option: fine_tune import argparse -import itertools import math import os from multiprocessing import Value @@ -41,11 +40,73 @@ setup_logging() import logging +import itertools logger = logging.getLogger(__name__) # perlin_noise, - +def process_val_batch(*training_models, batch, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args): + total_loss = 0.0 + timesteps_list = [10, 350, 500, 650, 990] + + with accelerator.accumulate(*training_models): + with torch.no_grad(): + # latentに変換 + if cache_latents: + latents = batch["latents"].to(accelerator.device).to(dtype=weight_dtype) + else: + latents = vae.encode(batch["images"].to(dtype=weight_dtype)).latent_dist.sample() + latents = latents * 0.18215 + b_size = latents.shape[0] + + with torch.set_grad_enabled(False), accelerator.autocast(): + if args.weighted_captions: + encoder_hidden_states = get_weighted_text_embeddings( + tokenizer, + text_encoder, + batch["captions"], + accelerator.device, + args.max_token_length // 75 if args.max_token_length else 1, + clip_skip=args.clip_skip, + ) + else: + input_ids = batch["input_ids"].to(accelerator.device) + encoder_hidden_states = train_util.get_hidden_states( + args, input_ids, tokenizer, text_encoder, None if not args.full_fp16 else weight_dtype + ) + + # Sample noise, sample a random timestep for each image, and add noise to the latents, + # with noise offset and/or multires noise if specified + + for fixed_timesteps in timesteps_list: + with torch.set_grad_enabled(False), accelerator.autocast(): + # Sample noise, sample a random timestep for each image, and add noise to the latents, + # with noise offset and/or multires noise if specified + noise = torch.randn_like(latents, device=latents.device) + b_size = latents.shape[0] + timesteps = torch.full((b_size,), fixed_timesteps, dtype=torch.long, device=latents.device) + noisy_latents = noise_scheduler.add_noise(latents, noise, timesteps) + + # Predict the noise residual + with accelerator.autocast(): + noise_pred = unet(noisy_latents, timesteps, encoder_hidden_states).sample + + if args.v_parameterization: + # v-parameterization training + target = noise_scheduler.get_velocity(latents, noise, timesteps) + else: + target = noise + + loss = torch.nn.functional.mse_loss(noise_pred.float(), target.float(), reduction="none") + if args.masked_loss: + loss = apply_masked_loss(loss, batch) + loss = loss.mean([1, 2, 3]) + loss = apply_debiased_estimation(loss, timesteps, noise_scheduler) + loss = loss.mean() # 平均なのでbatch_sizeで割る必要なし + total_loss += loss + + average_loss = total_loss / len(timesteps_list) + return average_loss def train(args): train_util.verify_training_args(args) @@ -81,9 +142,10 @@ def train(args): } blueprint = blueprint_generator.generate(user_config, args, tokenizer=tokenizer) - train_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) + train_dataset_group, val_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) else: train_dataset_group = train_util.load_arbitrary_dataset(args, tokenizer) + val_dataset_group = None current_epoch = Value("i", 0) current_step = Value("i", 0) @@ -148,6 +210,9 @@ def train(args): with torch.no_grad(): train_dataset_group.cache_latents(vae, args.vae_batch_size, args.cache_latents_to_disk, accelerator.is_main_process) vae.to("cpu") + if val_dataset_group is not None: + print("Cache validation latents...") + val_dataset_group.cache_latents(vae, args.vae_batch_size, args.cache_latents_to_disk, accelerator.is_main_process) clean_memory_on_device(accelerator.device) accelerator.wait_for_everyone() @@ -195,6 +260,15 @@ def train(args): num_workers=n_workers, persistent_workers=args.persistent_data_loader_workers, ) + val_dataloader = torch.utils.data.DataLoader( + val_dataset_group if val_dataset_group is not None else [], + shuffle=False, + batch_size=1, + collate_fn=collator, + num_workers=n_workers, + persistent_workers=args.persistent_data_loader_workers, + ) + cyclic_val_dataloader = itertools.cycle(val_dataloader) # 学習ステップ数を計算する if args.max_train_epochs is not None: @@ -296,6 +370,8 @@ def train(args): train_util.sample_images(accelerator, args, 0, global_step, accelerator.device, vae, tokenizer, text_encoder, unet) loss_recorder = train_util.LossRecorder() + val_loss_recorder = train_util.LossRecorder() + for epoch in range(num_train_epochs): accelerator.print(f"\nepoch {epoch+1}/{num_train_epochs}") current_epoch.value = epoch + 1 @@ -427,12 +503,33 @@ def train(args): avr_loss: float = loss_recorder.moving_average logs = {"avr_loss": avr_loss} # , "lr": lr_scheduler.get_last_lr()[0]} progress_bar.set_postfix(**logs) - + + if len(val_dataloader) > 0: + if (args.validation_every_n_step is not None and global_step % args.validation_every_n_step == 0) or (args.validation_every_n_step is None and step == len(train_dataloader) - 1) or global_step >= args.max_train_steps: + accelerator.print("Validating バリデーション処理...") + total_loss = 0.0 + with torch.no_grad(): + validation_steps = min(args.max_validation_steps, len(val_dataloader)) if args.max_validation_steps is not None else len(val_dataloader) + for val_step in tqdm(range(validation_steps), desc='Validation Steps'): + batch = next(cyclic_val_dataloader) + loss = self.process_val_batch(batch, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args) + total_loss += loss.detach().item() + current_loss = total_loss / validation_steps + val_loss_recorder.add(epoch=0, step=global_step, loss=current_loss) + + if args.logging_dir is not None: + logs = {"loss/current_val_loss": current_loss} + accelerator.log(logs, step=global_step) + avr_loss: float = val_loss_recorder.moving_average + logs = {"loss/average_val_loss": avr_loss} + accelerator.log(logs, step=global_step) + + if global_step >= args.max_train_steps: break if args.logging_dir is not None: - logs = {"loss/epoch": loss_recorder.moving_average} + logs = {"loss/epoch_average": loss_recorder.moving_average} accelerator.log(logs, step=epoch + 1) accelerator.wait_for_everyone() @@ -515,7 +612,30 @@ def setup_parser() -> argparse.ArgumentParser: action="store_true", help="do not use fp16/bf16 VAE in mixed precision (use float VAE) / mixed precisionでも fp16/bf16 VAEを使わずfloat VAEを使う", ) - + parser.add_argument( + "--validation_seed", + type=int, + default=None, + help="Validation seed" + ) + parser.add_argument( + "--validation_split", + type=float, + default=0.0, + help="Split for validation images out of the training dataset" + ) + parser.add_argument( + "--validation_every_n_step", + type=int, + default=None, + help="Number of train steps for counting validation loss. By default, validation per train epoch is performed" + ) + parser.add_argument( + "--max_validation_steps", + type=int, + default=None, + help="Number of max validation steps for counting validation loss. By default, validation will run entire validation dataset" + ) return parser From 68162172ebf9afa21ad526fc833fcc04f74aeb5f Mon Sep 17 00:00:00 2001 From: gesen2egee <79357052+gesen2egee@users.noreply.github.com> Date: Sun, 4 Aug 2024 15:03:56 +0800 Subject: [PATCH 120/748] Update train_db.py --- train_db.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/train_db.py b/train_db.py index 9f8ec777c..e98434dba 100644 --- a/train_db.py +++ b/train_db.py @@ -209,10 +209,10 @@ def train(args): vae.eval() with torch.no_grad(): train_dataset_group.cache_latents(vae, args.vae_batch_size, args.cache_latents_to_disk, accelerator.is_main_process) - vae.to("cpu") if val_dataset_group is not None: print("Cache validation latents...") - val_dataset_group.cache_latents(vae, args.vae_batch_size, args.cache_latents_to_disk, accelerator.is_main_process) + val_dataset_group.cache_latents(vae, args.vae_batch_size, args.cache_latents_to_disk, accelerator.is_main_process) + vae.to("cpu") clean_memory_on_device(accelerator.device) accelerator.wait_for_everyone() From 96eb74f0cba3253ba29c8e87d7479c355916cca5 Mon Sep 17 00:00:00 2001 From: gesen2egee <79357052+gesen2egee@users.noreply.github.com> Date: Sun, 4 Aug 2024 15:06:05 +0800 Subject: [PATCH 121/748] Update train_db.py --- train_db.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/train_db.py b/train_db.py index e98434dba..80fdff3e7 100644 --- a/train_db.py +++ b/train_db.py @@ -210,8 +210,8 @@ def train(args): with torch.no_grad(): train_dataset_group.cache_latents(vae, args.vae_batch_size, args.cache_latents_to_disk, accelerator.is_main_process) if val_dataset_group is not None: - print("Cache validation latents...") - val_dataset_group.cache_latents(vae, args.vae_batch_size, args.cache_latents_to_disk, accelerator.is_main_process) + print("Cache validation latents...") + val_dataset_group.cache_latents(vae, args.vae_batch_size, args.cache_latents_to_disk, accelerator.is_main_process) vae.to("cpu") clean_memory_on_device(accelerator.device) From b9bdd101296b8dc3c60b25e31d04d39b57eaee71 Mon Sep 17 00:00:00 2001 From: gesen2egee <79357052+gesen2egee@users.noreply.github.com> Date: Sun, 4 Aug 2024 15:11:26 +0800 Subject: [PATCH 122/748] Update train_network.py --- train_network.py | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/train_network.py b/train_network.py index 4a5940cd5..d7b24dae9 100644 --- a/train_network.py +++ b/train_network.py @@ -1034,25 +1034,25 @@ def remove_model(old_ckpt_name): logs = self.generate_step_logs(args, current_loss, avr_loss, lr_scheduler, keys_scaled, mean_norm, maximum_norm) accelerator.log(logs, step=global_step) - if len(val_dataloader) > 0: - if (args.validation_every_n_step is not None and global_step % args.validation_every_n_step == 0) or (args.validation_every_n_step is None and step == len(train_dataloader) - 1) or global_step >= args.max_train_steps: - accelerator.print("Validating バリデーション処理...") - total_loss = 0.0 - with torch.no_grad(): - validation_steps = min(args.max_validation_steps, len(val_dataloader)) if args.max_validation_steps is not None else len(val_dataloader) - for val_step in tqdm(range(validation_steps), desc='Validation Steps'): - batch = next(cyclic_val_dataloader) - loss = self.process_val_batch(batch, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args) - total_loss += loss.detach().item() - current_loss = total_loss / validation_steps - val_loss_recorder.add(epoch=0, step=global_step, loss=current_loss) - - if args.logging_dir is not None: - logs = {"loss/current_val_loss": current_loss} - accelerator.log(logs, step=global_step) - avr_loss: float = val_loss_recorder.moving_average - logs = {"loss/average_val_loss": avr_loss} - accelerator.log(logs, step=global_step) + if len(val_dataloader) > 0: + if (args.validation_every_n_step is not None and global_step % args.validation_every_n_step == 0) or (args.validation_every_n_step is None and step == len(train_dataloader) - 1) or global_step >= args.max_train_steps: + accelerator.print("Validating バリデーション処理...") + total_loss = 0.0 + with torch.no_grad(): + validation_steps = min(args.max_validation_steps, len(val_dataloader)) if args.max_validation_steps is not None else len(val_dataloader) + for val_step in tqdm(range(validation_steps), desc='Validation Steps'): + batch = next(cyclic_val_dataloader) + loss = self.process_val_batch(batch, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args) + total_loss += loss.detach().item() + current_loss = total_loss / validation_steps + val_loss_recorder.add(epoch=0, step=global_step, loss=current_loss) + + if args.logging_dir is not None: + logs = {"loss/current_val_loss": current_loss} + accelerator.log(logs, step=global_step) + avr_loss: float = val_loss_recorder.moving_average + logs = {"loss/average_val_loss": avr_loss} + accelerator.log(logs, step=global_step) if global_step >= args.max_train_steps: break From 3d68754defde57b10f96d9c934dd78bf25c39235 Mon Sep 17 00:00:00 2001 From: gesen2egee <79357052+gesen2egee@users.noreply.github.com> Date: Sun, 4 Aug 2024 15:15:42 +0800 Subject: [PATCH 123/748] Update train_db.py --- train_db.py | 38 ++++++++++++++++++-------------------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/train_db.py b/train_db.py index 80fdff3e7..800a157bf 100644 --- a/train_db.py +++ b/train_db.py @@ -503,28 +503,26 @@ def train(args): avr_loss: float = loss_recorder.moving_average logs = {"avr_loss": avr_loss} # , "lr": lr_scheduler.get_last_lr()[0]} progress_bar.set_postfix(**logs) - if len(val_dataloader) > 0: if (args.validation_every_n_step is not None and global_step % args.validation_every_n_step == 0) or (args.validation_every_n_step is None and step == len(train_dataloader) - 1) or global_step >= args.max_train_steps: - accelerator.print("Validating バリデーション処理...") - total_loss = 0.0 - with torch.no_grad(): - validation_steps = min(args.max_validation_steps, len(val_dataloader)) if args.max_validation_steps is not None else len(val_dataloader) - for val_step in tqdm(range(validation_steps), desc='Validation Steps'): - batch = next(cyclic_val_dataloader) - loss = self.process_val_batch(batch, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args) - total_loss += loss.detach().item() - current_loss = total_loss / validation_steps - val_loss_recorder.add(epoch=0, step=global_step, loss=current_loss) - - if args.logging_dir is not None: - logs = {"loss/current_val_loss": current_loss} - accelerator.log(logs, step=global_step) - avr_loss: float = val_loss_recorder.moving_average - logs = {"loss/average_val_loss": avr_loss} - accelerator.log(logs, step=global_step) - - + accelerator.print("Validating バリデーション処理...") + total_loss = 0.0 + with torch.no_grad(): + validation_steps = min(args.max_validation_steps, len(val_dataloader)) if args.max_validation_steps is not None else len(val_dataloader) + for val_step in tqdm(range(validation_steps), desc='Validation Steps'): + batch = next(cyclic_val_dataloader) + loss = self.process_val_batch(batch, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args) + total_loss += loss.detach().item() + current_loss = total_loss / validation_steps + val_loss_recorder.add(epoch=0, step=global_step, loss=current_loss) + + if args.logging_dir is not None: + logs = {"loss/current_val_loss": current_loss} + accelerator.log(logs, step=global_step) + avr_loss: float = val_loss_recorder.moving_average + logs = {"loss/average_val_loss": avr_loss} + accelerator.log(logs, step=global_step) + if global_step >= args.max_train_steps: break From a593e837f36b6299101dc85a367c0986501ecc0a Mon Sep 17 00:00:00 2001 From: gesen2egee <79357052+gesen2egee@users.noreply.github.com> Date: Sun, 4 Aug 2024 15:17:30 +0800 Subject: [PATCH 124/748] Update train_network.py --- train_network.py | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/train_network.py b/train_network.py index d7b24dae9..7d9134638 100644 --- a/train_network.py +++ b/train_network.py @@ -1034,26 +1034,26 @@ def remove_model(old_ckpt_name): logs = self.generate_step_logs(args, current_loss, avr_loss, lr_scheduler, keys_scaled, mean_norm, maximum_norm) accelerator.log(logs, step=global_step) - if len(val_dataloader) > 0: - if (args.validation_every_n_step is not None and global_step % args.validation_every_n_step == 0) or (args.validation_every_n_step is None and step == len(train_dataloader) - 1) or global_step >= args.max_train_steps: - accelerator.print("Validating バリデーション処理...") - total_loss = 0.0 - with torch.no_grad(): - validation_steps = min(args.max_validation_steps, len(val_dataloader)) if args.max_validation_steps is not None else len(val_dataloader) - for val_step in tqdm(range(validation_steps), desc='Validation Steps'): - batch = next(cyclic_val_dataloader) - loss = self.process_val_batch(batch, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args) - total_loss += loss.detach().item() - current_loss = total_loss / validation_steps - val_loss_recorder.add(epoch=0, step=global_step, loss=current_loss) - - if args.logging_dir is not None: - logs = {"loss/current_val_loss": current_loss} - accelerator.log(logs, step=global_step) - avr_loss: float = val_loss_recorder.moving_average - logs = {"loss/average_val_loss": avr_loss} - accelerator.log(logs, step=global_step) - + if len(val_dataloader) > 0: + if (args.validation_every_n_step is not None and global_step % args.validation_every_n_step == 0) or (args.validation_every_n_step is None and step == len(train_dataloader) - 1) or global_step >= args.max_train_steps: + accelerator.print("Validating バリデーション処理...") + total_loss = 0.0 + with torch.no_grad(): + validation_steps = min(args.max_validation_steps, len(val_dataloader)) if args.max_validation_steps is not None else len(val_dataloader) + for val_step in tqdm(range(validation_steps), desc='Validation Steps'): + batch = next(cyclic_val_dataloader) + loss = self.process_val_batch(batch, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args) + total_loss += loss.detach().item() + current_loss = total_loss / validation_steps + val_loss_recorder.add(epoch=0, step=global_step, loss=current_loss) + + if args.logging_dir is not None: + logs = {"loss/current_val_loss": current_loss} + accelerator.log(logs, step=global_step) + avr_loss: float = val_loss_recorder.moving_average + logs = {"loss/average_val_loss": avr_loss} + accelerator.log(logs, step=global_step) + if global_step >= args.max_train_steps: break From f6dbf7c419bbcf2e51c82a6bffa8d30cad2e3512 Mon Sep 17 00:00:00 2001 From: gesen2egee <79357052+gesen2egee@users.noreply.github.com> Date: Sun, 4 Aug 2024 15:18:53 +0800 Subject: [PATCH 125/748] Update train_network.py --- train_network.py | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/train_network.py b/train_network.py index 7d9134638..fa6407eef 100644 --- a/train_network.py +++ b/train_network.py @@ -1034,26 +1034,26 @@ def remove_model(old_ckpt_name): logs = self.generate_step_logs(args, current_loss, avr_loss, lr_scheduler, keys_scaled, mean_norm, maximum_norm) accelerator.log(logs, step=global_step) - if len(val_dataloader) > 0: - if (args.validation_every_n_step is not None and global_step % args.validation_every_n_step == 0) or (args.validation_every_n_step is None and step == len(train_dataloader) - 1) or global_step >= args.max_train_steps: - accelerator.print("Validating バリデーション処理...") - total_loss = 0.0 - with torch.no_grad(): - validation_steps = min(args.max_validation_steps, len(val_dataloader)) if args.max_validation_steps is not None else len(val_dataloader) - for val_step in tqdm(range(validation_steps), desc='Validation Steps'): - batch = next(cyclic_val_dataloader) - loss = self.process_val_batch(batch, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args) - total_loss += loss.detach().item() - current_loss = total_loss / validation_steps - val_loss_recorder.add(epoch=0, step=global_step, loss=current_loss) + if len(val_dataloader) > 0: + if (args.validation_every_n_step is not None and global_step % args.validation_every_n_step == 0) or (args.validation_every_n_step is None and step == len(train_dataloader) - 1) or global_step >= args.max_train_steps: + accelerator.print("Validating バリデーション処理...") + total_loss = 0.0 + with torch.no_grad(): + validation_steps = min(args.max_validation_steps, len(val_dataloader)) if args.max_validation_steps is not None else len(val_dataloader) + for val_step in tqdm(range(validation_steps), desc='Validation Steps'): + batch = next(cyclic_val_dataloader) + loss = self.process_val_batch(batch, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args) + total_loss += loss.detach().item() + current_loss = total_loss / validation_steps + val_loss_recorder.add(epoch=0, step=global_step, loss=current_loss) - if args.logging_dir is not None: - logs = {"loss/current_val_loss": current_loss} - accelerator.log(logs, step=global_step) - avr_loss: float = val_loss_recorder.moving_average - logs = {"loss/average_val_loss": avr_loss} - accelerator.log(logs, step=global_step) - + if args.logging_dir is not None: + logs = {"loss/current_val_loss": current_loss} + accelerator.log(logs, step=global_step) + avr_loss: float = val_loss_recorder.moving_average + logs = {"loss/average_val_loss": avr_loss} + accelerator.log(logs, step=global_step) + if global_step >= args.max_train_steps: break From aa850aa531b0e396b6f2fbd68cd1e6f1319d1d0b Mon Sep 17 00:00:00 2001 From: gesen2egee <79357052+gesen2egee@users.noreply.github.com> Date: Sun, 4 Aug 2024 17:34:20 +0800 Subject: [PATCH 126/748] Update train_network.py --- train_network.py | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/train_network.py b/train_network.py index fa6407eef..938e41938 100644 --- a/train_network.py +++ b/train_network.py @@ -1034,25 +1034,25 @@ def remove_model(old_ckpt_name): logs = self.generate_step_logs(args, current_loss, avr_loss, lr_scheduler, keys_scaled, mean_norm, maximum_norm) accelerator.log(logs, step=global_step) - if len(val_dataloader) > 0: - if (args.validation_every_n_step is not None and global_step % args.validation_every_n_step == 0) or (args.validation_every_n_step is None and step == len(train_dataloader) - 1) or global_step >= args.max_train_steps: - accelerator.print("Validating バリデーション処理...") - total_loss = 0.0 - with torch.no_grad(): - validation_steps = min(args.max_validation_steps, len(val_dataloader)) if args.max_validation_steps is not None else len(val_dataloader) - for val_step in tqdm(range(validation_steps), desc='Validation Steps'): - batch = next(cyclic_val_dataloader) - loss = self.process_val_batch(batch, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args) - total_loss += loss.detach().item() - current_loss = total_loss / validation_steps - val_loss_recorder.add(epoch=0, step=global_step, loss=current_loss) - - if args.logging_dir is not None: - logs = {"loss/current_val_loss": current_loss} - accelerator.log(logs, step=global_step) - avr_loss: float = val_loss_recorder.moving_average - logs = {"loss/average_val_loss": avr_loss} - accelerator.log(logs, step=global_step) + if len(val_dataloader) > 0: + if (args.validation_every_n_step is not None and global_step % args.validation_every_n_step == 0) or (args.validation_every_n_step is None and step == len(train_dataloader) - 1) or global_step >= args.max_train_steps: + accelerator.print("Validating バリデーション処理...") + total_loss = 0.0 + with torch.no_grad(): + validation_steps = min(args.max_validation_steps, len(val_dataloader)) if args.max_validation_steps is not None else len(val_dataloader) + for val_step in tqdm(range(validation_steps), desc='Validation Steps'): + batch = next(cyclic_val_dataloader) + loss = self.process_val_batch(batch, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args) + total_loss += loss.detach().item() + current_loss = total_loss / validation_steps + val_loss_recorder.add(epoch=0, step=global_step, loss=current_loss) + + if args.logging_dir is not None: + logs = {"loss/current_val_loss": current_loss} + accelerator.log(logs, step=global_step) + avr_loss: float = val_loss_recorder.moving_average + logs = {"loss/average_val_loss": avr_loss} + accelerator.log(logs, step=global_step) if global_step >= args.max_train_steps: break From cdb2d9c516fbffe0faa9788b8174e5d418fb766b Mon Sep 17 00:00:00 2001 From: gesen2egee <79357052+gesen2egee@users.noreply.github.com> Date: Sun, 4 Aug 2024 17:36:34 +0800 Subject: [PATCH 127/748] Update train_network.py --- train_network.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/train_network.py b/train_network.py index 938e41938..e10c17c0c 100644 --- a/train_network.py +++ b/train_network.py @@ -192,7 +192,7 @@ def process_val_batch(self, batch, tokenizers, text_encoders, unet, vae, noise_s loss = apply_debiased_estimation(loss, timesteps, noise_scheduler) loss = loss.mean() # 平均なのでbatch_sizeで割る必要なし total_loss += loss - + average_loss = total_loss / len(timesteps_list) return average_loss From 231df197ddf4372b3d90751146927f33e1965d1a Mon Sep 17 00:00:00 2001 From: Kohya S Date: Mon, 5 Aug 2024 20:26:30 +0900 Subject: [PATCH 128/748] Fix npz path for verification --- library/strategy_sdxl.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/library/strategy_sdxl.py b/library/strategy_sdxl.py index a4513336d..3eb0ab6f6 100644 --- a/library/strategy_sdxl.py +++ b/library/strategy_sdxl.py @@ -184,20 +184,20 @@ def __init__( def get_outputs_npz_path(self, image_abs_path: str) -> str: return os.path.splitext(image_abs_path)[0] + SdxlTextEncoderOutputsCachingStrategy.SDXL_TEXT_ENCODER_OUTPUTS_NPZ_SUFFIX - def is_disk_cached_outputs_expected(self, abs_path: str): + def is_disk_cached_outputs_expected(self, npz_path: str): if not self.cache_to_disk: return False - if not os.path.exists(self.get_outputs_npz_path(abs_path)): + if not os.path.exists(npz_path): return False if self.skip_disk_cache_validity_check: return True try: - npz = np.load(self.get_outputs_npz_path(abs_path)) + npz = np.load(npz_path) if "hidden_state1" not in npz or "hidden_state2" not in npz or "pool2" not in npz: return False except Exception as e: - logger.error(f"Error loading file: {self.get_outputs_npz_path(abs_path)}") + logger.error(f"Error loading file: {npz_path}") raise e return True From da4d0fe0165b3e0143c237de8cf307d53a9de45a Mon Sep 17 00:00:00 2001 From: Kohya S Date: Mon, 5 Aug 2024 20:51:34 +0900 Subject: [PATCH 129/748] support attn mask for l+g/t5 --- library/strategy_sd3.py | 88 +++++++++++++++++++++++++++++++++------- library/train_util.py | 3 +- sd3_minimal_inference.py | 10 +++-- sd3_train.py | 30 +++++++++++--- 4 files changed, 107 insertions(+), 24 deletions(-) diff --git a/library/strategy_sd3.py b/library/strategy_sd3.py index 7491e814f..a22818903 100644 --- a/library/strategy_sd3.py +++ b/library/strategy_sd3.py @@ -37,11 +37,14 @@ def tokenize(self, text: Union[str, List[str]]) -> List[torch.Tensor]: g_tokens = self.clip_g(text, max_length=77, padding="max_length", truncation=True, return_tensors="pt") t5_tokens = self.t5xxl(text, max_length=self.t5xxl_max_length, padding="max_length", truncation=True, return_tensors="pt") + l_attn_mask = l_tokens["attention_mask"] + g_attn_mask = g_tokens["attention_mask"] + t5_attn_mask = t5_tokens["attention_mask"] l_tokens = l_tokens["input_ids"] g_tokens = g_tokens["input_ids"] t5_tokens = t5_tokens["input_ids"] - return [l_tokens, g_tokens, t5_tokens] + return [l_tokens, g_tokens, t5_tokens, l_attn_mask, g_attn_mask, t5_attn_mask] class Sd3TextEncodingStrategy(TextEncodingStrategy): @@ -49,11 +52,20 @@ def __init__(self) -> None: pass def encode_tokens( - self, tokenize_strategy: TokenizeStrategy, models: List[Any], tokens: List[torch.Tensor] + self, + tokenize_strategy: TokenizeStrategy, + models: List[Any], + tokens: List[torch.Tensor], + apply_lg_attn_mask: bool = False, + apply_t5_attn_mask: bool = False, ) -> List[torch.Tensor]: + """ + returned embeddings are not masked + """ clip_l, clip_g, t5xxl = models - l_tokens, g_tokens, t5_tokens = tokens + l_tokens, g_tokens, t5_tokens = tokens[:3] + l_attn_mask, g_attn_mask, t5_attn_mask = tokens[3:] if len(tokens) > 3 else [None, None, None] if l_tokens is None: assert g_tokens is None, "g_tokens must be None if l_tokens is None" lg_out = None @@ -61,10 +73,15 @@ def encode_tokens( assert g_tokens is not None, "g_tokens must not be None if l_tokens is not None" l_out, l_pooled = clip_l(l_tokens) g_out, g_pooled = clip_g(g_tokens) + if apply_lg_attn_mask: + l_out = l_out * l_attn_mask.to(l_out.device).unsqueeze(-1) + g_out = g_out * g_attn_mask.to(g_out.device).unsqueeze(-1) lg_out = torch.cat([l_out, g_out], dim=-1) if t5xxl is not None and t5_tokens is not None: t5_out, _ = t5xxl(t5_tokens) # t5_out is [1, max length, 4096] + if apply_t5_attn_mask: + t5_out = t5_out * t5_attn_mask.to(t5_out.device).unsqueeze(-1) else: t5_out = None @@ -84,50 +101,81 @@ class Sd3TextEncoderOutputsCachingStrategy(TextEncoderOutputsCachingStrategy): SD3_TEXT_ENCODER_OUTPUTS_NPZ_SUFFIX = "_sd3_te.npz" def __init__( - self, cache_to_disk: bool, batch_size: int, skip_disk_cache_validity_check: bool, is_partial: bool = False + self, + cache_to_disk: bool, + batch_size: int, + skip_disk_cache_validity_check: bool, + is_partial: bool = False, + apply_lg_attn_mask: bool = False, + apply_t5_attn_mask: bool = False, ) -> None: super().__init__(cache_to_disk, batch_size, skip_disk_cache_validity_check, is_partial) + self.apply_lg_attn_mask = apply_lg_attn_mask + self.apply_t5_attn_mask = apply_t5_attn_mask def get_outputs_npz_path(self, image_abs_path: str) -> str: return os.path.splitext(image_abs_path)[0] + Sd3TextEncoderOutputsCachingStrategy.SD3_TEXT_ENCODER_OUTPUTS_NPZ_SUFFIX - def is_disk_cached_outputs_expected(self, abs_path: str): + def is_disk_cached_outputs_expected(self, npz_path: str): if not self.cache_to_disk: return False - if not os.path.exists(self.get_outputs_npz_path(abs_path)): + if not os.path.exists(npz_path): return False if self.skip_disk_cache_validity_check: return True try: - npz = np.load(self.get_outputs_npz_path(abs_path)) - if "clip_l" not in npz or "clip_g" not in npz: + npz = np.load(npz_path) + if "lg_out" not in npz: return False - if "clip_l_pool" not in npz or "clip_g_pool" not in npz: + if "lg_pooled" not in npz: + return False + if "clip_l_attn_mask" not in npz or "clip_g_attn_mask" not in npz: # necessary even if not used return False # t5xxl is optional except Exception as e: - logger.error(f"Error loading file: {self.get_outputs_npz_path(abs_path)}") + logger.error(f"Error loading file: {npz_path}") raise e return True + def mask_lg_attn(self, lg_out: np.ndarray, l_attn_mask: np.ndarray, g_attn_mask: np.ndarray) -> np.ndarray: + l_out = lg_out[..., :768] + g_out = lg_out[..., 768:] # 1280 + l_out = l_out * np.expand_dims(l_attn_mask, -1) # l_out = l_out * l_attn_mask. + g_out = g_out * np.expand_dims(g_attn_mask, -1) # g_out = g_out * g_attn_mask. + return np.concatenate([l_out, g_out], axis=-1) + + def mask_t5_attn(self, t5_out: np.ndarray, t5_attn_mask: np.ndarray) -> np.ndarray: + return t5_out * np.expand_dims(t5_attn_mask, -1) + def load_outputs_npz(self, npz_path: str) -> List[np.ndarray]: data = np.load(npz_path) lg_out = data["lg_out"] lg_pooled = data["lg_pooled"] t5_out = data["t5_out"] if "t5_out" in data else None + + if self.apply_lg_attn_mask: + l_attn_mask = data["clip_l_attn_mask"] + g_attn_mask = data["clip_g_attn_mask"] + lg_out = self.mask_lg_attn(lg_out, l_attn_mask, g_attn_mask) + + if self.apply_t5_attn_mask and t5_out is not None: + t5_attn_mask = data["t5_attn_mask"] + t5_out = self.mask_t5_attn(t5_out, t5_attn_mask) + return [lg_out, t5_out, lg_pooled] def cache_batch_outputs( self, tokenize_strategy: TokenizeStrategy, models: List[Any], text_encoding_strategy: TextEncodingStrategy, infos: List ): + sd3_text_encoding_strategy: Sd3TextEncodingStrategy = text_encoding_strategy captions = [info.caption for info in infos] - clip_l_tokens, clip_g_tokens, t5xxl_tokens = tokenize_strategy.tokenize(captions) + tokens_and_masks = tokenize_strategy.tokenize(captions) with torch.no_grad(): - lg_out, t5_out, lg_pooled = text_encoding_strategy.encode_tokens( - tokenize_strategy, models, [clip_l_tokens, clip_g_tokens, t5xxl_tokens] + lg_out, t5_out, lg_pooled = sd3_text_encoding_strategy.encode_tokens( + tokenize_strategy, models, tokens_and_masks, self.apply_lg_attn_mask, self.apply_t5_attn_mask ) if lg_out.dtype == torch.bfloat16: @@ -148,10 +196,22 @@ def cache_batch_outputs( lg_pooled_i = lg_pooled[i] if self.cache_to_disk: + clip_l_attn_mask, clip_g_attn_mask, t5_attn_mask = tokens_and_masks[3:6] + clip_l_attn_mask_i = clip_l_attn_mask[i].cpu().numpy() + clip_g_attn_mask_i = clip_g_attn_mask[i].cpu().numpy() + t5_attn_mask_i = t5_attn_mask[i].cpu().numpy() if t5_attn_mask is not None else None # shouldn't be None kwargs = {} if t5_out is not None: kwargs["t5_out"] = t5_out_i - np.savez(info.text_encoder_outputs_npz, lg_out=lg_out_i, lg_pooled=lg_pooled_i, **kwargs) + np.savez( + info.text_encoder_outputs_npz, + lg_out=lg_out_i, + lg_pooled=lg_pooled_i, + clip_l_attn_mask=clip_l_attn_mask_i, + clip_g_attn_mask=clip_g_attn_mask_i, + t5_attn_mask=t5_attn_mask_i, + **kwargs, + ) else: info.text_encoder_outputs = (lg_out_i, t5_out_i, lg_pooled_i) diff --git a/library/train_util.py b/library/train_util.py index a747e0478..fc458a884 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -646,7 +646,7 @@ def __init__( # caching self.caching_mode = None # None, 'latents', 'text' - + self.tokenize_strategy = None self.text_encoder_output_caching_strategy = None self.latents_caching_strategy = None @@ -1486,6 +1486,7 @@ def __getitem__(self, index): text_encoder_outputs = self.text_encoder_output_caching_strategy.load_outputs_npz( image_info.text_encoder_outputs_npz ) + text_encoder_outputs = [torch.FloatTensor(x) for x in text_encoder_outputs] else: tokenization_required = True text_encoder_outputs_list.append(text_encoder_outputs) diff --git a/sd3_minimal_inference.py b/sd3_minimal_inference.py index e9e61af1b..630da7e08 100644 --- a/sd3_minimal_inference.py +++ b/sd3_minimal_inference.py @@ -146,6 +146,8 @@ def do_sample( parser.add_argument("--clip_l", type=str, required=False) parser.add_argument("--t5xxl", type=str, required=False) parser.add_argument("--t5xxl_token_length", type=int, default=77, help="t5xxl token length, default: 77") + parser.add_argument("--apply_lg_attn_mask", action="store_true") + parser.add_argument("--apply_t5_attn_mask", action="store_true") parser.add_argument("--prompt", type=str, default="A photo of a cat") # parser.add_argument("--prompt2", type=str, default=None) # do not support different prompts for text encoders parser.add_argument("--negative_prompt", type=str, default="") @@ -323,15 +325,15 @@ def do_sample( logger.info("Encoding prompts...") encoding_strategy = strategy_sd3.Sd3TextEncodingStrategy() - l_tokens, g_tokens, t5_tokens = tokenize_strategy.tokenize(args.prompt) + tokens_and_masks = tokenize_strategy.tokenize(args.prompt) lg_out, t5_out, pooled = encoding_strategy.encode_tokens( - tokenize_strategy, [clip_l, clip_g, t5xxl], [l_tokens, g_tokens, t5_tokens] + tokenize_strategy, [clip_l, clip_g, t5xxl], tokens_and_masks, args.apply_lg_attn_mask, args.apply_t5_attn_mask ) cond = encoding_strategy.concat_encodings(lg_out, t5_out, pooled) - l_tokens, g_tokens, t5_tokens = tokenize_strategy.tokenize(args.negative_prompt) + tokens_and_masks = tokenize_strategy.tokenize(args.negative_prompt) lg_out, t5_out, pooled = encoding_strategy.encode_tokens( - tokenize_strategy, [clip_l, clip_g, t5xxl], [l_tokens, g_tokens, t5_tokens] + tokenize_strategy, [clip_l, clip_g, t5xxl], tokens_and_masks, args.apply_lg_attn_mask, args.apply_t5_attn_mask ) neg_cond = encoding_strategy.concat_encodings(lg_out, t5_out, pooled) diff --git a/sd3_train.py b/sd3_train.py index 2f4ea8cb2..9c37cbce6 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -172,6 +172,8 @@ def train(args): args.text_encoder_batch_size, False, False, + False, + False, ) ) train_dataset_group.set_current_strategies() @@ -312,6 +314,8 @@ def train(args): args.text_encoder_batch_size, False, train_clip_g or train_clip_l or args.use_t5xxl_cache_only, + args.apply_lg_attn_mask, + args.apply_t5_attn_mask, ) strategy_base.TextEncoderOutputsCachingStrategy.set_strategy(text_encoder_caching_strategy) @@ -335,7 +339,11 @@ def train(args): logger.info(f"cache Text Encoder outputs for prompt: {p}") tokens_list = sd3_tokenize_strategy.tokenize(p) sample_prompts_te_outputs[p] = text_encoding_strategy.encode_tokens( - sd3_tokenize_strategy, [clip_l, clip_g, t5xxl], tokens_list + sd3_tokenize_strategy, + [clip_l, clip_g, t5xxl], + tokens_list, + args.apply_lg_attn_mask, + args.apply_t5_attn_mask, ) accelerator.wait_for_everyone() @@ -748,21 +756,23 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): if lg_out is None or (train_clip_l or train_clip_g): # not cached or training, so get from text encoders - input_ids_clip_l, input_ids_clip_g, _ = batch["input_ids_list"] + input_ids_clip_l, input_ids_clip_g, _, l_attn_mask, g_attn_mask, _ = batch["input_ids_list"] with torch.set_grad_enabled(args.train_text_encoder): # TODO support weighted captions input_ids_clip_l = input_ids_clip_l.to(accelerator.device) input_ids_clip_g = input_ids_clip_g.to(accelerator.device) lg_out, _, lg_pooled = text_encoding_strategy.encode_tokens( - sd3_tokenize_strategy, [clip_l, clip_g, None], [input_ids_clip_l, input_ids_clip_g, None] + sd3_tokenize_strategy, + [clip_l, clip_g, None], + [input_ids_clip_l, input_ids_clip_g, None, l_attn_mask, g_attn_mask, None], ) if t5_out is None: - _, _, input_ids_t5xxl = batch["input_ids_list"] + _, _, input_ids_t5xxl, _, _, t5_attn_mask = batch["input_ids_list"] with torch.no_grad(): input_ids_t5xxl = input_ids_t5xxl.to(accelerator.device) if t5_out is None else None _, t5_out, _ = text_encoding_strategy.encode_tokens( - sd3_tokenize_strategy, [None, None, t5xxl], [None, None, input_ids_t5xxl] + sd3_tokenize_strategy, [None, None, t5xxl], [None, None, input_ids_t5xxl, None, None, t5_attn_mask] ) context, lg_pooled = text_encoding_strategy.concat_encodings(lg_out, t5_out, lg_pooled) @@ -969,6 +979,16 @@ def setup_parser() -> argparse.ArgumentParser: default=None, help="maximum token length for T5-XXL. 256 if omitted / T5-XXLの最大トークン数。省略時は256", ) + parser.add_argument( + "--apply_lg_attn_mask", + action="store_true", + help="apply attention mask (zero embs) to CLIP-L and G / CLIP-LとGにアテンションマスク(ゼロ埋め)を適用する", + ) + parser.add_argument( + "--apply_t5_attn_mask", + action="store_true", + help="apply attention mask (zero embs) to T5-XXL / T5-XXLにアテンションマスク(ゼロ埋め)を適用する", + ) # TE training is disabled temporarily # parser.add_argument( From 36b2e6fc288c57f496a061e4d638f5641c32c9ea Mon Sep 17 00:00:00 2001 From: Kohya S Date: Fri, 9 Aug 2024 22:56:48 +0900 Subject: [PATCH 130/748] add FLUX.1 LoRA training --- README.md | 20 + flux_minimal_inference.py | 390 ++++++++++++++++ flux_train_network.py | 332 ++++++++++++++ library/flux_models.py | 920 ++++++++++++++++++++++++++++++++++++++ library/flux_utils.py | 215 +++++++++ library/sd3_models.py | 22 +- library/strategy_flux.py | 244 ++++++++++ networks/lora_flux.py | 730 ++++++++++++++++++++++++++++++ sdxl_train_network.py | 5 + train_network.py | 169 ++++--- 10 files changed, 2992 insertions(+), 55 deletions(-) create mode 100644 flux_minimal_inference.py create mode 100644 flux_train_network.py create mode 100644 library/flux_models.py create mode 100644 library/flux_utils.py create mode 100644 library/strategy_flux.py create mode 100644 networks/lora_flux.py diff --git a/README.md b/README.md index d406fecde..a0b02f108 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,25 @@ This repository contains training, generation and utility scripts for Stable Diffusion. +## FLUX.1 LoRA training (WIP) + +__Aug 9, 2024__: + +Please update PyTorch to 2.4.0. We have tested with PyTorch 2.4.0 with CUDA 12.4. We also updated `accelerate` to 0.33.0 just to be safe. + +We have added a new training script for LoRA training. The script is `flux_train_network.py`. See `--help` for options. + +``` +accelerate launch --mixed_precision bf16 --num_cpu_threads_per_process 1 flux_train_network.py --pretrained_model_name_or_path flux1-dev.sft --clip_l sd3/clip_l.safetensors --t5xxl sd3/t5xxl_fp16.safetensors --ae ae.sft --cache_latents_to_disk --save_model_as safetensors --sdpa --persistent_data_loader_workers --max_data_loader_n_workers 2 --seed 42 --gradient_checkpointing --mixed_precision bf16 --save_precision bf16 --network_module networks.lora_flux --network_dim 4 --optimizer_type adamw8bit --learning_rate 1e-4 --network_train_unet_only --cache_text_encoder_outputs --cache_text_encoder_outputs_to_disk --fp8_base --highvram --max_train_epochs 4 --save_every_n_epochs 1 --dataset_config dataset_1024_bs2.toml --output_dir path/to/output/dir --output_name flux-lora-name +``` + +The inference script is also available. The script is `flux_minimal_inference.py`. See `--help` for options. + +``` +python flux_minimal_inference.py --ckpt flux1-dev.sft --clip_l sd3/clip_l.safetensors --t5xxl sd3/t5xxl_fp16.safetensors --ae ae.sft --dtype bf16 --prompt "a cat holding a sign that says hello world" --out path/to/output/dir --seed 1 --flux_dtype fp8 --offload --lora lora-flux-name.safetensors +``` + +Unfortnately the training result is not good. Please let us know if you have any idea to improve the training. + ## SD3 training SD3 training is done with `sd3_train.py`. diff --git a/flux_minimal_inference.py b/flux_minimal_inference.py new file mode 100644 index 000000000..f3affca80 --- /dev/null +++ b/flux_minimal_inference.py @@ -0,0 +1,390 @@ +# Minimum Inference Code for FLUX + +import argparse +import datetime +import math +import os +import random +from typing import Callable, Optional, Tuple +import einops +import numpy as np + +import torch +from safetensors.torch import safe_open, load_file +from tqdm import tqdm +from PIL import Image +import accelerate + +from library import device_utils +from library.device_utils import init_ipex, get_preferred_device + +init_ipex() + + +from library.utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + +import networks.lora_flux as lora_flux +from library import flux_models, flux_utils, sd3_utils, strategy_flux + + +def time_shift(mu: float, sigma: float, t: torch.Tensor): + return math.exp(mu) / (math.exp(mu) + (1 / t - 1) ** sigma) + + +def get_lin_function(x1: float = 256, y1: float = 0.5, x2: float = 4096, y2: float = 1.15) -> Callable[[float], float]: + m = (y2 - y1) / (x2 - x1) + b = y1 - m * x1 + return lambda x: m * x + b + + +def get_schedule( + num_steps: int, + image_seq_len: int, + base_shift: float = 0.5, + max_shift: float = 1.15, + shift: bool = True, +) -> list[float]: + # extra step for zero + timesteps = torch.linspace(1, 0, num_steps + 1) + + # shifting the schedule to favor high timesteps for higher signal images + if shift: + # eastimate mu based on linear estimation between two points + mu = get_lin_function(y1=base_shift, y2=max_shift)(image_seq_len) + timesteps = time_shift(mu, 1.0, timesteps) + + return timesteps.tolist() + + +def denoise( + model: flux_models.Flux, + img: torch.Tensor, + img_ids: torch.Tensor, + txt: torch.Tensor, + txt_ids: torch.Tensor, + vec: torch.Tensor, + timesteps: list[float], + guidance: float = 4.0, +): + # this is ignored for schnell + guidance_vec = torch.full((img.shape[0],), guidance, device=img.device, dtype=img.dtype) + for t_curr, t_prev in zip(tqdm(timesteps[:-1]), timesteps[1:]): + t_vec = torch.full((img.shape[0],), t_curr, dtype=img.dtype, device=img.device) + pred = model(img=img, img_ids=img_ids, txt=txt, txt_ids=txt_ids, y=vec, timesteps=t_vec, guidance=guidance_vec) + + img = img + (t_prev - t_curr) * pred + + return img + + +def do_sample( + accelerator: Optional[accelerate.Accelerator], + model: flux_models.Flux, + img: torch.Tensor, + img_ids: torch.Tensor, + l_pooled: torch.Tensor, + t5_out: torch.Tensor, + txt_ids: torch.Tensor, + num_steps: int, + guidance: float, + is_schnell: bool, + device: torch.device, + flux_dtype: torch.dtype, +): + timesteps = get_schedule(num_steps, img.shape[1], shift=not is_schnell) + + # denoise initial noise + if accelerator: + with accelerator.autocast(), torch.no_grad(): + x = denoise(model, img, img_ids, t5_out, txt_ids, l_pooled, timesteps=timesteps, guidance=guidance) + else: + with torch.autocast(device_type=device.type, dtype=flux_dtype), torch.no_grad(): + x = denoise(model, img, img_ids, t5_out, txt_ids, l_pooled, timesteps=timesteps, guidance=guidance) + + return x + + +def generate_image( + model, + clip_l, + t5xxl, + ae, + prompt: str, + seed: Optional[int], + image_width: int, + image_height: int, + steps: Optional[int], + guidance: float, +): + # make first noise with packed shape + # original: b,16,2*h//16,2*w//16, packed: b,h//16*w//16,16*2*2 + packed_latent_height, packed_latent_width = math.ceil(image_height / 16), math.ceil(image_width / 16) + noise = torch.randn( + 1, + packed_latent_height * packed_latent_width, + 16 * 2 * 2, + device=device, + dtype=dtype, + generator=torch.Generator(device=device).manual_seed(seed), + ) + + # prepare img and img ids + + # this is needed only for img2img + # img = rearrange(img, "b c (h ph) (w pw) -> b (h w) (c ph pw)", ph=2, pw=2) + # if img.shape[0] == 1 and bs > 1: + # img = repeat(img, "1 ... -> bs ...", bs=bs) + + # txt2img only needs img_ids + img_ids = flux_utils.prepare_img_ids(1, packed_latent_height, packed_latent_width) + + # prepare embeddings + logger.info("Encoding prompts...") + tokens_and_masks = tokenize_strategy.tokenize(prompt) + clip_l = clip_l.to(device) + t5xxl = t5xxl.to(device) + with torch.no_grad(): + if is_fp8(clip_l_dtype) or is_fp8(t5xxl_dtype): + clip_l.to(clip_l_dtype) + t5xxl.to(t5xxl_dtype) + with accelerator.autocast(): + _, t5_out, txt_ids = encoding_strategy.encode_tokens( + tokenize_strategy, [clip_l, t5xxl], tokens_and_masks, args.apply_t5_attn_mask + ) + else: + with torch.autocast(device_type=device.type, dtype=clip_l_dtype): + l_pooled, _, _ = encoding_strategy.encode_tokens(tokenize_strategy, [clip_l, None], tokens_and_masks) + with torch.autocast(device_type=device.type, dtype=t5xxl_dtype): + _, t5_out, txt_ids = encoding_strategy.encode_tokens( + tokenize_strategy, [None, t5xxl], tokens_and_masks, args.apply_t5_attn_mask + ) + + # NaN check + if torch.isnan(l_pooled).any(): + raise ValueError("NaN in l_pooled") + if torch.isnan(t5_out).any(): + raise ValueError("NaN in t5_out") + + if args.offload: + clip_l = clip_l.cpu() + t5xxl = t5xxl.cpu() + # del clip_l, t5xxl + device_utils.clean_memory() + + # generate image + logger.info("Generating image...") + model = model.to(device) + if steps is None: + steps = 4 if is_schnell else 50 + + img_ids = img_ids.to(device) + x = do_sample( + accelerator, model, noise, img_ids, l_pooled, t5_out, txt_ids, steps, guidance_scale, is_schnell, device, flux_dtype + ) + if args.offload: + model = model.cpu() + # del model + device_utils.clean_memory() + + # unpack + x = x.float() + x = einops.rearrange(x, "b (h w) (c ph pw) -> b c (h ph) (w pw)", h=packed_latent_height, w=packed_latent_width, ph=2, pw=2) + + # decode + logger.info("Decoding image...") + ae = ae.to(device) + with torch.no_grad(): + if is_fp8(ae_dtype): + with accelerator.autocast(): + x = ae.decode(x) + else: + with torch.autocast(device_type=device.type, dtype=ae_dtype): + x = ae.decode(x) + if args.offload: + ae = ae.cpu() + + x = x.clamp(-1, 1) + x = x.permute(0, 2, 3, 1) + img = Image.fromarray((127.5 * (x + 1.0)).float().cpu().numpy().astype(np.uint8)[0]) + + # save image + output_dir = args.output_dir + os.makedirs(output_dir, exist_ok=True) + output_path = os.path.join(output_dir, f"{datetime.datetime.now().strftime('%Y%m%d_%H%M%S')}.png") + img.save(output_path) + + logger.info(f"Saved image to {output_path}") + + +if __name__ == "__main__": + target_height = 768 # 1024 + target_width = 1360 # 1024 + + # steps = 50 # 28 # 50 + # guidance_scale = 5 + # seed = 1 # None # 1 + + device = get_preferred_device() + + parser = argparse.ArgumentParser() + parser.add_argument("--ckpt_path", type=str, required=True) + parser.add_argument("--clip_l", type=str, required=False) + parser.add_argument("--t5xxl", type=str, required=False) + parser.add_argument("--ae", type=str, required=False) + parser.add_argument("--apply_t5_attn_mask", action="store_true") + parser.add_argument("--prompt", type=str, default="A photo of a cat") + parser.add_argument("--output_dir", type=str, default=".") + parser.add_argument("--dtype", type=str, default="bfloat16", help="base dtype") + parser.add_argument("--clip_l_dtype", type=str, default=None, help="dtype for clip_l") + parser.add_argument("--ae_dtype", type=str, default=None, help="dtype for ae") + parser.add_argument("--t5xxl_dtype", type=str, default=None, help="dtype for t5xxl") + parser.add_argument("--flux_dtype", type=str, default=None, help="dtype for flux") + parser.add_argument("--seed", type=int, default=None) + parser.add_argument("--steps", type=int, default=None, help="Number of steps. Default is 4 for schnell, 50 for dev") + parser.add_argument("--guidance", type=float, default=3.5) + parser.add_argument("--offload", action="store_true", help="Offload to CPU") + parser.add_argument( + "--lora_weights", + type=str, + nargs="*", + default=[], + help="LoRA weights, only supports networks.lora_flux, each argument is a `path;multiplier` (semi-colon separated)", + ) + parser.add_argument("--width", type=int, default=target_width) + parser.add_argument("--height", type=int, default=target_height) + parser.add_argument("--interactive", action="store_true") + args = parser.parse_args() + + seed = args.seed + steps = args.steps + guidance_scale = args.guidance + + name = "schnell" if "schnell" in args.ckpt_path else "dev" # TODO change this to a more robust way + is_schnell = name == "schnell" + + def str_to_dtype(s: Optional[str], default_dtype: Optional[torch.dtype] = None) -> torch.dtype: + if s is None: + return default_dtype + if s in ["bf16", "bfloat16"]: + return torch.bfloat16 + elif s in ["fp16", "float16"]: + return torch.float16 + elif s in ["fp32", "float32"]: + return torch.float32 + elif s in ["fp8_e4m3fn", "e4m3fn", "float8_e4m3fn"]: + return torch.float8_e4m3fn + elif s in ["fp8_e4m3fnuz", "e4m3fnuz", "float8_e4m3fnuz"]: + return torch.float8_e4m3fnuz + elif s in ["fp8_e5m2", "e5m2", "float8_e5m2"]: + return torch.float8_e5m2 + elif s in ["fp8_e5m2fnuz", "e5m2fnuz", "float8_e5m2fnuz"]: + return torch.float8_e5m2fnuz + elif s in ["fp8", "float8"]: + return torch.float8_e4m3fn # default fp8 + else: + raise ValueError(f"Unsupported dtype: {s}") + + def is_fp8(dt): + return dt in [torch.float8_e4m3fn, torch.float8_e4m3fnuz, torch.float8_e5m2, torch.float8_e5m2fnuz] + + dtype = str_to_dtype(args.dtype) + clip_l_dtype = str_to_dtype(args.clip_l_dtype, dtype) + t5xxl_dtype = str_to_dtype(args.t5xxl_dtype, dtype) + ae_dtype = str_to_dtype(args.ae_dtype, dtype) + flux_dtype = str_to_dtype(args.flux_dtype, dtype) + + logger.info(f"Dtypes for clip_l, t5xxl, ae, flux: {clip_l_dtype}, {t5xxl_dtype}, {ae_dtype}, {flux_dtype}") + + loading_device = "cpu" if args.offload else device + + use_fp8 = [is_fp8(d) for d in [dtype, clip_l_dtype, t5xxl_dtype, ae_dtype, flux_dtype]] + if any(use_fp8): + accelerator = accelerate.Accelerator(mixed_precision="bf16") + else: + accelerator = None + + # load clip_l + logger.info(f"Loading clip_l from {args.clip_l}...") + clip_l = flux_utils.load_clip_l(args.clip_l, clip_l_dtype, loading_device) + clip_l.eval() + + logger.info(f"Loading t5xxl from {args.t5xxl}...") + t5xxl = flux_utils.load_t5xxl(args.t5xxl, t5xxl_dtype, loading_device) + t5xxl.eval() + + if is_fp8(clip_l_dtype): + clip_l = accelerator.prepare(clip_l) + if is_fp8(t5xxl_dtype): + t5xxl = accelerator.prepare(t5xxl) + + t5xxl_max_length = 256 if is_schnell else 512 + tokenize_strategy = strategy_flux.FluxTokenizeStrategy(t5xxl_max_length) + encoding_strategy = strategy_flux.FluxTextEncodingStrategy() + + # DiT + model = flux_utils.load_flow_model(name, args.ckpt_path, flux_dtype, loading_device) + model.eval() + logger.info(f"Casting model to {flux_dtype}") + model.to(flux_dtype) # make sure model is dtype + if is_fp8(flux_dtype): + model = accelerator.prepare(model) + + # AE + ae = flux_utils.load_ae(name, args.ae, ae_dtype, loading_device) + ae.eval() + if is_fp8(ae_dtype): + ae = accelerator.prepare(ae) + + # LoRA + for weights_file in args.lora_weights: + if ";" in weights_file: + weights_file, multiplier = weights_file.split(";") + multiplier = float(multiplier) + else: + multiplier = 1.0 + + lora_model, weights_sd = lora_flux.create_network_from_weights( + multiplier, weights_file, ae, [clip_l, t5xxl], model, None, True + ) + lora_model.merge_to([clip_l, t5xxl], model, weights_sd) + + if not args.interactive: + generate_image(model, clip_l, t5xxl, ae, args.prompt, args.seed, args.width, args.height, args.steps, args.guidance) + else: + # loop for interactive + width = target_width + height = target_height + steps = None + guidance = args.guidance + + while True: + print("Enter prompt (empty to exit). Options: --w --h --s --d --g ") + prompt = input() + if prompt == "": + break + + # parse options + options = prompt.split("--") + prompt = options[0].strip() + seed = None + for opt in options[1:]: + opt = opt.strip() + if opt.startswith("w"): + width = int(opt[1:].strip()) + elif opt.startswith("h"): + height = int(opt[1:].strip()) + elif opt.startswith("s"): + steps = int(opt[1:].strip()) + elif opt.startswith("d"): + seed = int(opt[1:].strip()) + elif opt.startswith("g"): + guidance = float(opt[1:].strip()) + + generate_image(model, clip_l, t5xxl, ae, prompt, seed, width, height, steps, guidance) + + logger.info("Done!") diff --git a/flux_train_network.py b/flux_train_network.py new file mode 100644 index 000000000..7c762c86d --- /dev/null +++ b/flux_train_network.py @@ -0,0 +1,332 @@ +import argparse +import copy +import math +import random +from typing import Any + +import torch +from accelerate import Accelerator +from library.device_utils import init_ipex, clean_memory_on_device + +init_ipex() + +from library import flux_models, flux_utils, sd3_train_utils, sd3_utils, sdxl_model_util, sdxl_train_util, strategy_flux, train_util +import train_network +from library.utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + + +class FluxNetworkTrainer(train_network.NetworkTrainer): + def __init__(self): + super().__init__() + + def assert_extra_args(self, args, train_dataset_group): + super().assert_extra_args(args, train_dataset_group) + # sdxl_train_util.verify_sdxl_training_args(args) + + if args.cache_text_encoder_outputs: + assert ( + train_dataset_group.is_text_encoder_output_cacheable() + ), "when caching Text Encoder output, either caption_dropout_rate, shuffle_caption, token_warmup_step or caption_tag_dropout_rate cannot be used / Text Encoderの出力をキャッシュするときはcaption_dropout_rate, shuffle_caption, token_warmup_step, caption_tag_dropout_rateは使えません" + + assert ( + args.network_train_unet_only or not args.cache_text_encoder_outputs + ), "network for Text Encoder cannot be trained with caching Text Encoder outputs / Text Encoderの出力をキャッシュしながらText Encoderのネットワークを学習することはできません" + + train_dataset_group.verify_bucket_reso_steps(32) + + def load_target_model(self, args, weight_dtype, accelerator): + # currently offload to cpu for some models + + clip_l = flux_utils.load_clip_l(args.clip_l, weight_dtype, "cpu") + clip_l.eval() + + # loading t5xxl to cpu takes a long time, so we should load to gpu in future + t5xxl = flux_utils.load_t5xxl(args.t5xxl, weight_dtype, "cpu") + t5xxl.eval() + + name = "schnell" if "schnell" in args.pretrained_model_name_or_path else "dev" # TODO change this to a more robust way + # if we load to cpu, flux.to(fp8) takes a long time + model = flux_utils.load_flow_model(name, args.pretrained_model_name_or_path, weight_dtype, "cpu") + ae = flux_utils.load_ae(name, args.ae, weight_dtype, "cpu") + + return flux_utils.MODEL_VERSION_FLUX_V1, [clip_l, t5xxl], ae, model + + def get_tokenize_strategy(self, args): + return strategy_flux.FluxTokenizeStrategy(args.max_token_length, args.tokenizer_cache_dir) + + def get_tokenizers(self, tokenize_strategy: strategy_flux.FluxTokenizeStrategy): + return [tokenize_strategy.clip_l, tokenize_strategy.t5xxl] + + def get_latents_caching_strategy(self, args): + latents_caching_strategy = strategy_flux.FluxLatentsCachingStrategy(args.cache_latents_to_disk, args.vae_batch_size, False) + return latents_caching_strategy + + def get_text_encoding_strategy(self, args): + return strategy_flux.FluxTextEncodingStrategy() + + def get_models_for_text_encoding(self, args, accelerator, text_encoders): + return text_encoders # + [accelerator.unwrap_model(text_encoders[-1])] + + def get_text_encoder_outputs_caching_strategy(self, args): + if args.cache_text_encoder_outputs: + return strategy_flux.FluxTextEncoderOutputsCachingStrategy(args.cache_text_encoder_outputs_to_disk, None, False) + else: + return None + + def cache_text_encoder_outputs_if_needed( + self, args, accelerator: Accelerator, unet, vae, text_encoders, dataset: train_util.DatasetGroup, weight_dtype + ): + if args.cache_text_encoder_outputs: + if not args.lowram: + # メモリ消費を減らす + logger.info("move vae and unet to cpu to save memory") + org_vae_device = vae.device + org_unet_device = unet.device + vae.to("cpu") + unet.to("cpu") + clean_memory_on_device(accelerator.device) + + # When TE is not be trained, it will not be prepared so we need to use explicit autocast + logger.info("move text encoders to gpu") + text_encoders[0].to(accelerator.device, dtype=weight_dtype) + text_encoders[1].to(accelerator.device, dtype=weight_dtype) + with accelerator.autocast(): + dataset.new_cache_text_encoder_outputs(text_encoders, accelerator.is_main_process) + accelerator.wait_for_everyone() + + logger.info("move text encoders back to cpu") + text_encoders[0].to("cpu") # , dtype=torch.float32) # Text Encoder doesn't work with fp16 on CPU + text_encoders[1].to("cpu") # , dtype=torch.float32) + clean_memory_on_device(accelerator.device) + + if not args.lowram: + logger.info("move vae and unet back to original device") + vae.to(org_vae_device) + unet.to(org_unet_device) + else: + # Text Encoderから毎回出力を取得するので、GPUに乗せておく + text_encoders[0].to(accelerator.device, dtype=weight_dtype) + text_encoders[1].to(accelerator.device, dtype=weight_dtype) + + # def call_unet(self, args, accelerator, unet, noisy_latents, timesteps, text_conds, batch, weight_dtype): + # noisy_latents = noisy_latents.to(weight_dtype) # TODO check why noisy_latents is not weight_dtype + + # # get size embeddings + # orig_size = batch["original_sizes_hw"] + # crop_size = batch["crop_top_lefts"] + # target_size = batch["target_sizes_hw"] + # embs = sdxl_train_util.get_size_embeddings(orig_size, crop_size, target_size, accelerator.device).to(weight_dtype) + + # # concat embeddings + # encoder_hidden_states1, encoder_hidden_states2, pool2 = text_conds + # vector_embedding = torch.cat([pool2, embs], dim=1).to(weight_dtype) + # text_embedding = torch.cat([encoder_hidden_states1, encoder_hidden_states2], dim=2).to(weight_dtype) + + # noise_pred = unet(noisy_latents, timesteps, text_embedding, vector_embedding) + # return noise_pred + + def sample_images(self, accelerator, args, epoch, global_step, device, vae, tokenizer, text_encoder, unet): + # logger.warning("Sampling images is not supported for Flux model") + pass + + def get_noise_scheduler(self, args: argparse.Namespace, device: torch.device) -> Any: + noise_scheduler = sd3_train_utils.FlowMatchEulerDiscreteScheduler(num_train_timesteps=1000, shift=3.0) + self.noise_scheduler_copy = copy.deepcopy(noise_scheduler) + return noise_scheduler + + def encode_images_to_latents(self, args, accelerator, vae, images): + return vae.encode(images).latent_dist.sample() + + def shift_scale_latents(self, args, latents): + return latents + + def get_noise_pred_and_target( + self, + args, + accelerator, + noise_scheduler, + latents, + batch, + text_encoder_conds, + unet: flux_models.Flux, + network, + weight_dtype, + train_unet, + ): + # copy from sd3_train.py and modified + + def get_sigmas(timesteps, n_dim=4, dtype=torch.float32): + sigmas = self.noise_scheduler_copy.sigmas.to(device=accelerator.device, dtype=dtype) + schedule_timesteps = self.noise_scheduler_copy.timesteps.to(accelerator.device) + timesteps = timesteps.to(accelerator.device) + step_indices = [(schedule_timesteps == t).nonzero().item() for t in timesteps] + + sigma = sigmas[step_indices].flatten() + while len(sigma.shape) < n_dim: + sigma = sigma.unsqueeze(-1) + return sigma + + def compute_density_for_timestep_sampling( + weighting_scheme: str, batch_size: int, logit_mean: float = None, logit_std: float = None, mode_scale: float = None + ): + """Compute the density for sampling the timesteps when doing SD3 training. + + Courtesy: This was contributed by Rafie Walker in https://github.com/huggingface/diffusers/pull/8528. + + SD3 paper reference: https://arxiv.org/abs/2403.03206v1. + """ + if weighting_scheme == "logit_normal": + # See 3.1 in the SD3 paper ($rf/lognorm(0.00,1.00)$). + u = torch.normal(mean=logit_mean, std=logit_std, size=(batch_size,), device="cpu") + u = torch.nn.functional.sigmoid(u) + elif weighting_scheme == "mode": + u = torch.rand(size=(batch_size,), device="cpu") + u = 1 - u - mode_scale * (torch.cos(math.pi * u / 2) ** 2 - 1 + u) + else: + u = torch.rand(size=(batch_size,), device="cpu") + return u + + def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): + """Computes loss weighting scheme for SD3 training. + + Courtesy: This was contributed by Rafie Walker in https://github.com/huggingface/diffusers/pull/8528. + + SD3 paper reference: https://arxiv.org/abs/2403.03206v1. + """ + if weighting_scheme == "sigma_sqrt": + weighting = (sigmas**-2.0).float() + elif weighting_scheme == "cosmap": + bot = 1 - 2 * sigmas + 2 * sigmas**2 + weighting = 2 / (math.pi * bot) + else: + weighting = torch.ones_like(sigmas) + return weighting + + # Sample noise that we'll add to the latents + noise = torch.randn_like(latents) + bsz = latents.shape[0] + + # Sample a random timestep for each image + # for weighting schemes where we sample timesteps non-uniformly + u = compute_density_for_timestep_sampling( + weighting_scheme=args.weighting_scheme, + batch_size=bsz, + logit_mean=args.logit_mean, + logit_std=args.logit_std, + mode_scale=args.mode_scale, + ) + indices = (u * self.noise_scheduler_copy.config.num_train_timesteps).long() + timesteps = self.noise_scheduler_copy.timesteps[indices].to(device=accelerator.device) + + # Add noise according to flow matching. + sigmas = get_sigmas(timesteps, n_dim=latents.ndim, dtype=weight_dtype) + noisy_model_input = sigmas * noise + (1.0 - sigmas) * latents + + # pack latents and get img_ids + packed_noisy_model_input = flux_utils.pack_latents(noisy_model_input) # b, c, h*2, w*2 -> b, h*w, c*4 + packed_latent_height, packed_latent_width = noisy_model_input.shape[2] // 2, noisy_model_input.shape[3] // 2 + img_ids = flux_utils.prepare_img_ids(bsz, packed_latent_height, packed_latent_width).to(device=accelerator.device) + + # get guidance + guidance_vec = torch.full((bsz,), args.guidance_scale, device=accelerator.device) + + # ensure the hidden state will require grad + if args.gradient_checkpointing: + noisy_model_input.requires_grad_(True) + for t in text_encoder_conds: + t.requires_grad_(True) + img_ids.requires_grad_(True) + guidance_vec.requires_grad_(True) + + # Predict the noise residual + l_pooled, t5_out, txt_ids = text_encoder_conds + # print( + # f"model_input: {noisy_model_input.shape}, img_ids: {img_ids.shape}, t5_out: {t5_out.shape}, txt_ids: {txt_ids.shape}, l_pooled: {l_pooled.shape}, timesteps: {timesteps.shape}, guidance_vec: {guidance_vec.shape}" + # ) + + with accelerator.autocast(): + # YiYi notes: divide it by 1000 for now because we scale it by 1000 in the transforme rmodel (we should not keep it but I want to keep the inputs same for the model for testing) + model_pred = unet( + img=packed_noisy_model_input, + img_ids=img_ids, + txt=t5_out, + txt_ids=txt_ids, + y=l_pooled, + timesteps=timesteps / 1000, + guidance=guidance_vec, + ) + + # unpack latents + model_pred = flux_utils.unpack_latents(model_pred, packed_latent_height, packed_latent_width) + + model_pred = model_pred * (-sigmas) + noisy_model_input + + # these weighting schemes use a uniform timestep sampling + # and instead post-weight the loss + weighting = compute_loss_weighting_for_sd3(weighting_scheme=args.weighting_scheme, sigmas=sigmas) + + # flow matching loss: this is different from SD3 + target = noise - latents + + return model_pred, target, timesteps, None, weighting + + def post_process_loss(self, loss, args, timesteps, noise_scheduler): + return loss + + +def setup_parser() -> argparse.ArgumentParser: + parser = train_network.setup_parser() + # sdxl_train_util.add_sdxl_training_arguments(parser) + parser.add_argument("--clip_l", type=str, help="path to clip_l") + parser.add_argument("--t5xxl", type=str, help="path to t5xxl") + parser.add_argument("--ae", type=str, help="path to ae") + parser.add_argument("--apply_t5_attn_mask", action="store_true") + parser.add_argument( + "--cache_text_encoder_outputs", action="store_true", help="cache text encoder outputs / text encoderの出力をキャッシュする" + ) + parser.add_argument( + "--cache_text_encoder_outputs_to_disk", + action="store_true", + help="cache text encoder outputs to disk / text encoderの出力をディスクにキャッシュする", + ) + + # copy from Diffusers + parser.add_argument( + "--weighting_scheme", + type=str, + default="none", + choices=["sigma_sqrt", "logit_normal", "mode", "cosmap", "none"], + ) + parser.add_argument( + "--logit_mean", type=float, default=0.0, help="mean to use when using the `'logit_normal'` weighting scheme." + ) + parser.add_argument("--logit_std", type=float, default=1.0, help="std to use when using the `'logit_normal'` weighting scheme.") + parser.add_argument( + "--mode_scale", + type=float, + default=1.29, + help="Scale of mode weighting scheme. Only effective when using the `'mode'` as the `weighting_scheme`.", + ) + parser.add_argument( + "--guidance_scale", + type=float, + default=3.5, + help="the FLUX.1 dev variant is a guidance distilled model", + ) + return parser + + +if __name__ == "__main__": + parser = setup_parser() + + args = parser.parse_args() + train_util.verify_command_line_training_args(args) + args = train_util.read_config_from_file(args, parser) + + trainer = FluxNetworkTrainer() + trainer.train(args) diff --git a/library/flux_models.py b/library/flux_models.py new file mode 100644 index 000000000..d0955e375 --- /dev/null +++ b/library/flux_models.py @@ -0,0 +1,920 @@ +# copy from FLUX repo: https://github.com/black-forest-labs/flux +# license: Apache-2.0 License + + +from dataclasses import dataclass +import math + +import torch +from einops import rearrange +from torch import Tensor, nn +from torch.utils.checkpoint import checkpoint + +# USE_REENTRANT = True + + +@dataclass +class FluxParams: + in_channels: int + vec_in_dim: int + context_in_dim: int + hidden_size: int + mlp_ratio: float + num_heads: int + depth: int + depth_single_blocks: int + axes_dim: list[int] + theta: int + qkv_bias: bool + guidance_embed: bool + + +# region autoencoder + + +@dataclass +class AutoEncoderParams: + resolution: int + in_channels: int + ch: int + out_ch: int + ch_mult: list[int] + num_res_blocks: int + z_channels: int + scale_factor: float + shift_factor: float + + +def swish(x: Tensor) -> Tensor: + return x * torch.sigmoid(x) + + +class AttnBlock(nn.Module): + def __init__(self, in_channels: int): + super().__init__() + self.in_channels = in_channels + + self.norm = nn.GroupNorm(num_groups=32, num_channels=in_channels, eps=1e-6, affine=True) + + self.q = nn.Conv2d(in_channels, in_channels, kernel_size=1) + self.k = nn.Conv2d(in_channels, in_channels, kernel_size=1) + self.v = nn.Conv2d(in_channels, in_channels, kernel_size=1) + self.proj_out = nn.Conv2d(in_channels, in_channels, kernel_size=1) + + def attention(self, h_: Tensor) -> Tensor: + h_ = self.norm(h_) + q = self.q(h_) + k = self.k(h_) + v = self.v(h_) + + b, c, h, w = q.shape + q = rearrange(q, "b c h w -> b 1 (h w) c").contiguous() + k = rearrange(k, "b c h w -> b 1 (h w) c").contiguous() + v = rearrange(v, "b c h w -> b 1 (h w) c").contiguous() + h_ = nn.functional.scaled_dot_product_attention(q, k, v) + + return rearrange(h_, "b 1 (h w) c -> b c h w", h=h, w=w, c=c, b=b) + + def forward(self, x: Tensor) -> Tensor: + return x + self.proj_out(self.attention(x)) + + +class ResnetBlock(nn.Module): + def __init__(self, in_channels: int, out_channels: int): + super().__init__() + self.in_channels = in_channels + out_channels = in_channels if out_channels is None else out_channels + self.out_channels = out_channels + + self.norm1 = nn.GroupNorm(num_groups=32, num_channels=in_channels, eps=1e-6, affine=True) + self.conv1 = nn.Conv2d(in_channels, out_channels, kernel_size=3, stride=1, padding=1) + self.norm2 = nn.GroupNorm(num_groups=32, num_channels=out_channels, eps=1e-6, affine=True) + self.conv2 = nn.Conv2d(out_channels, out_channels, kernel_size=3, stride=1, padding=1) + if self.in_channels != self.out_channels: + self.nin_shortcut = nn.Conv2d(in_channels, out_channels, kernel_size=1, stride=1, padding=0) + + def forward(self, x): + h = x + h = self.norm1(h) + h = swish(h) + h = self.conv1(h) + + h = self.norm2(h) + h = swish(h) + h = self.conv2(h) + + if self.in_channels != self.out_channels: + x = self.nin_shortcut(x) + + return x + h + + +class Downsample(nn.Module): + def __init__(self, in_channels: int): + super().__init__() + # no asymmetric padding in torch conv, must do it ourselves + self.conv = nn.Conv2d(in_channels, in_channels, kernel_size=3, stride=2, padding=0) + + def forward(self, x: Tensor): + pad = (0, 1, 0, 1) + x = nn.functional.pad(x, pad, mode="constant", value=0) + x = self.conv(x) + return x + + +class Upsample(nn.Module): + def __init__(self, in_channels: int): + super().__init__() + self.conv = nn.Conv2d(in_channels, in_channels, kernel_size=3, stride=1, padding=1) + + def forward(self, x: Tensor): + x = nn.functional.interpolate(x, scale_factor=2.0, mode="nearest") + x = self.conv(x) + return x + + +class Encoder(nn.Module): + def __init__( + self, + resolution: int, + in_channels: int, + ch: int, + ch_mult: list[int], + num_res_blocks: int, + z_channels: int, + ): + super().__init__() + self.ch = ch + self.num_resolutions = len(ch_mult) + self.num_res_blocks = num_res_blocks + self.resolution = resolution + self.in_channels = in_channels + # downsampling + self.conv_in = nn.Conv2d(in_channels, self.ch, kernel_size=3, stride=1, padding=1) + + curr_res = resolution + in_ch_mult = (1,) + tuple(ch_mult) + self.in_ch_mult = in_ch_mult + self.down = nn.ModuleList() + block_in = self.ch + for i_level in range(self.num_resolutions): + block = nn.ModuleList() + attn = nn.ModuleList() + block_in = ch * in_ch_mult[i_level] + block_out = ch * ch_mult[i_level] + for _ in range(self.num_res_blocks): + block.append(ResnetBlock(in_channels=block_in, out_channels=block_out)) + block_in = block_out + down = nn.Module() + down.block = block + down.attn = attn + if i_level != self.num_resolutions - 1: + down.downsample = Downsample(block_in) + curr_res = curr_res // 2 + self.down.append(down) + + # middle + self.mid = nn.Module() + self.mid.block_1 = ResnetBlock(in_channels=block_in, out_channels=block_in) + self.mid.attn_1 = AttnBlock(block_in) + self.mid.block_2 = ResnetBlock(in_channels=block_in, out_channels=block_in) + + # end + self.norm_out = nn.GroupNorm(num_groups=32, num_channels=block_in, eps=1e-6, affine=True) + self.conv_out = nn.Conv2d(block_in, 2 * z_channels, kernel_size=3, stride=1, padding=1) + + def forward(self, x: Tensor) -> Tensor: + # downsampling + hs = [self.conv_in(x)] + for i_level in range(self.num_resolutions): + for i_block in range(self.num_res_blocks): + h = self.down[i_level].block[i_block](hs[-1]) + if len(self.down[i_level].attn) > 0: + h = self.down[i_level].attn[i_block](h) + hs.append(h) + if i_level != self.num_resolutions - 1: + hs.append(self.down[i_level].downsample(hs[-1])) + + # middle + h = hs[-1] + h = self.mid.block_1(h) + h = self.mid.attn_1(h) + h = self.mid.block_2(h) + # end + h = self.norm_out(h) + h = swish(h) + h = self.conv_out(h) + return h + + +class Decoder(nn.Module): + def __init__( + self, + ch: int, + out_ch: int, + ch_mult: list[int], + num_res_blocks: int, + in_channels: int, + resolution: int, + z_channels: int, + ): + super().__init__() + self.ch = ch + self.num_resolutions = len(ch_mult) + self.num_res_blocks = num_res_blocks + self.resolution = resolution + self.in_channels = in_channels + self.ffactor = 2 ** (self.num_resolutions - 1) + + # compute in_ch_mult, block_in and curr_res at lowest res + block_in = ch * ch_mult[self.num_resolutions - 1] + curr_res = resolution // 2 ** (self.num_resolutions - 1) + self.z_shape = (1, z_channels, curr_res, curr_res) + + # z to block_in + self.conv_in = nn.Conv2d(z_channels, block_in, kernel_size=3, stride=1, padding=1) + + # middle + self.mid = nn.Module() + self.mid.block_1 = ResnetBlock(in_channels=block_in, out_channels=block_in) + self.mid.attn_1 = AttnBlock(block_in) + self.mid.block_2 = ResnetBlock(in_channels=block_in, out_channels=block_in) + + # upsampling + self.up = nn.ModuleList() + for i_level in reversed(range(self.num_resolutions)): + block = nn.ModuleList() + attn = nn.ModuleList() + block_out = ch * ch_mult[i_level] + for _ in range(self.num_res_blocks + 1): + block.append(ResnetBlock(in_channels=block_in, out_channels=block_out)) + block_in = block_out + up = nn.Module() + up.block = block + up.attn = attn + if i_level != 0: + up.upsample = Upsample(block_in) + curr_res = curr_res * 2 + self.up.insert(0, up) # prepend to get consistent order + + # end + self.norm_out = nn.GroupNorm(num_groups=32, num_channels=block_in, eps=1e-6, affine=True) + self.conv_out = nn.Conv2d(block_in, out_ch, kernel_size=3, stride=1, padding=1) + + def forward(self, z: Tensor) -> Tensor: + # z to block_in + h = self.conv_in(z) + + # middle + h = self.mid.block_1(h) + h = self.mid.attn_1(h) + h = self.mid.block_2(h) + + # upsampling + for i_level in reversed(range(self.num_resolutions)): + for i_block in range(self.num_res_blocks + 1): + h = self.up[i_level].block[i_block](h) + if len(self.up[i_level].attn) > 0: + h = self.up[i_level].attn[i_block](h) + if i_level != 0: + h = self.up[i_level].upsample(h) + + # end + h = self.norm_out(h) + h = swish(h) + h = self.conv_out(h) + return h + + +class DiagonalGaussian(nn.Module): + def __init__(self, sample: bool = True, chunk_dim: int = 1): + super().__init__() + self.sample = sample + self.chunk_dim = chunk_dim + + def forward(self, z: Tensor) -> Tensor: + mean, logvar = torch.chunk(z, 2, dim=self.chunk_dim) + if self.sample: + std = torch.exp(0.5 * logvar) + return mean + std * torch.randn_like(mean) + else: + return mean + + +class AutoEncoder(nn.Module): + def __init__(self, params: AutoEncoderParams): + super().__init__() + self.encoder = Encoder( + resolution=params.resolution, + in_channels=params.in_channels, + ch=params.ch, + ch_mult=params.ch_mult, + num_res_blocks=params.num_res_blocks, + z_channels=params.z_channels, + ) + self.decoder = Decoder( + resolution=params.resolution, + in_channels=params.in_channels, + ch=params.ch, + out_ch=params.out_ch, + ch_mult=params.ch_mult, + num_res_blocks=params.num_res_blocks, + z_channels=params.z_channels, + ) + self.reg = DiagonalGaussian() + + self.scale_factor = params.scale_factor + self.shift_factor = params.shift_factor + + @property + def device(self) -> torch.device: + return next(self.parameters()).device + + @property + def dtype(self) -> torch.dtype: + return next(self.parameters()).dtype + + def encode(self, x: Tensor) -> Tensor: + z = self.reg(self.encoder(x)) + z = self.scale_factor * (z - self.shift_factor) + return z + + def decode(self, z: Tensor) -> Tensor: + z = z / self.scale_factor + self.shift_factor + return self.decoder(z) + + def forward(self, x: Tensor) -> Tensor: + return self.decode(self.encode(x)) + + +# endregion +# region config + + +@dataclass +class ModelSpec: + params: FluxParams + ae_params: AutoEncoderParams + ckpt_path: str | None + ae_path: str | None + # repo_id: str | None + # repo_flow: str | None + # repo_ae: str | None + + +configs = { + "dev": ModelSpec( + # repo_id="black-forest-labs/FLUX.1-dev", + # repo_flow="flux1-dev.sft", + # repo_ae="ae.sft", + ckpt_path=None, # os.getenv("FLUX_DEV"), + params=FluxParams( + in_channels=64, + vec_in_dim=768, + context_in_dim=4096, + hidden_size=3072, + mlp_ratio=4.0, + num_heads=24, + depth=19, + depth_single_blocks=38, + axes_dim=[16, 56, 56], + theta=10_000, + qkv_bias=True, + guidance_embed=True, + ), + ae_path=None, # os.getenv("AE"), + ae_params=AutoEncoderParams( + resolution=256, + in_channels=3, + ch=128, + out_ch=3, + ch_mult=[1, 2, 4, 4], + num_res_blocks=2, + z_channels=16, + scale_factor=0.3611, + shift_factor=0.1159, + ), + ), + "schnell": ModelSpec( + # repo_id="black-forest-labs/FLUX.1-schnell", + # repo_flow="flux1-schnell.sft", + # repo_ae="ae.sft", + ckpt_path=None, # os.getenv("FLUX_SCHNELL"), + params=FluxParams( + in_channels=64, + vec_in_dim=768, + context_in_dim=4096, + hidden_size=3072, + mlp_ratio=4.0, + num_heads=24, + depth=19, + depth_single_blocks=38, + axes_dim=[16, 56, 56], + theta=10_000, + qkv_bias=True, + guidance_embed=False, + ), + ae_path=None, # os.getenv("AE"), + ae_params=AutoEncoderParams( + resolution=256, + in_channels=3, + ch=128, + out_ch=3, + ch_mult=[1, 2, 4, 4], + num_res_blocks=2, + z_channels=16, + scale_factor=0.3611, + shift_factor=0.1159, + ), + ), +} + + +# endregion + +# region math + + +def attention(q: Tensor, k: Tensor, v: Tensor, pe: Tensor) -> Tensor: + q, k = apply_rope(q, k, pe) + + x = torch.nn.functional.scaled_dot_product_attention(q, k, v) + x = rearrange(x, "B H L D -> B L (H D)") + + return x + + +def rope(pos: Tensor, dim: int, theta: int) -> Tensor: + assert dim % 2 == 0 + scale = torch.arange(0, dim, 2, dtype=torch.float64, device=pos.device) / dim + omega = 1.0 / (theta**scale) + out = torch.einsum("...n,d->...nd", pos, omega) + out = torch.stack([torch.cos(out), -torch.sin(out), torch.sin(out), torch.cos(out)], dim=-1) + out = rearrange(out, "b n d (i j) -> b n d i j", i=2, j=2) + return out.float() + + +def apply_rope(xq: Tensor, xk: Tensor, freqs_cis: Tensor) -> tuple[Tensor, Tensor]: + xq_ = xq.float().reshape(*xq.shape[:-1], -1, 1, 2) + xk_ = xk.float().reshape(*xk.shape[:-1], -1, 1, 2) + xq_out = freqs_cis[..., 0] * xq_[..., 0] + freqs_cis[..., 1] * xq_[..., 1] + xk_out = freqs_cis[..., 0] * xk_[..., 0] + freqs_cis[..., 1] * xk_[..., 1] + return xq_out.reshape(*xq.shape).type_as(xq), xk_out.reshape(*xk.shape).type_as(xk) + + +# endregion + + +# region layers +class EmbedND(nn.Module): + def __init__(self, dim: int, theta: int, axes_dim: list[int]): + super().__init__() + self.dim = dim + self.theta = theta + self.axes_dim = axes_dim + + def forward(self, ids: Tensor) -> Tensor: + n_axes = ids.shape[-1] + emb = torch.cat( + [rope(ids[..., i], self.axes_dim[i], self.theta) for i in range(n_axes)], + dim=-3, + ) + + return emb.unsqueeze(1) + + +def timestep_embedding(t: Tensor, dim, max_period=10000, time_factor: float = 1000.0): + """ + Create sinusoidal timestep embeddings. + :param t: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an (N, D) Tensor of positional embeddings. + """ + t = time_factor * t + half = dim // 2 + freqs = torch.exp(-math.log(max_period) * torch.arange(start=0, end=half, dtype=torch.float32) / half).to(t.device) + + args = t[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat([embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + if torch.is_floating_point(t): + embedding = embedding.to(t) + return embedding + + +class MLPEmbedder(nn.Module): + def __init__(self, in_dim: int, hidden_dim: int): + super().__init__() + self.in_layer = nn.Linear(in_dim, hidden_dim, bias=True) + self.silu = nn.SiLU() + self.out_layer = nn.Linear(hidden_dim, hidden_dim, bias=True) + + self.gradient_checkpointing = False + + def enable_gradient_checkpointing(self): + self.gradient_checkpointing = True + + def disable_gradient_checkpointing(self): + self.gradient_checkpointing = False + + def _forward(self, x: Tensor) -> Tensor: + return self.out_layer(self.silu(self.in_layer(x))) + + def forward(self, *args, **kwargs): + if self.training and self.gradient_checkpointing: + return checkpoint(self._forward, *args, use_reentrant=False, **kwargs) + else: + return self._forward(*args, **kwargs) + + # def forward(self, x): + # if self.training and self.gradient_checkpointing: + # def create_custom_forward(func): + # def custom_forward(*inputs): + # return func(*inputs) + # return custom_forward + # return torch.utils.checkpoint.checkpoint(create_custom_forward(self._forward), x, use_reentrant=USE_REENTRANT) + # else: + # return self._forward(x) + + +class RMSNorm(torch.nn.Module): + def __init__(self, dim: int): + super().__init__() + self.scale = nn.Parameter(torch.ones(dim)) + + def forward(self, x: Tensor): + x_dtype = x.dtype + x = x.float() + rrms = torch.rsqrt(torch.mean(x**2, dim=-1, keepdim=True) + 1e-6) + # return (x * rrms).to(dtype=x_dtype) * self.scale + return ((x * rrms) * self.scale.float()).to(dtype=x_dtype) + + +class QKNorm(torch.nn.Module): + def __init__(self, dim: int): + super().__init__() + self.query_norm = RMSNorm(dim) + self.key_norm = RMSNorm(dim) + + def forward(self, q: Tensor, k: Tensor, v: Tensor) -> tuple[Tensor, Tensor]: + q = self.query_norm(q) + k = self.key_norm(k) + return q.to(v), k.to(v) + + +class SelfAttention(nn.Module): + def __init__(self, dim: int, num_heads: int = 8, qkv_bias: bool = False): + super().__init__() + self.num_heads = num_heads + head_dim = dim // num_heads + + self.qkv = nn.Linear(dim, dim * 3, bias=qkv_bias) + self.norm = QKNorm(head_dim) + self.proj = nn.Linear(dim, dim) + + # self.gradient_checkpointing = False + + # def enable_gradient_checkpointing(self): + # self.gradient_checkpointing = True + + def forward(self, x: Tensor, pe: Tensor) -> Tensor: + qkv = self.qkv(x) + q, k, v = rearrange(qkv, "B L (K H D) -> K B H L D", K=3, H=self.num_heads) + q, k = self.norm(q, k, v) + x = attention(q, k, v, pe=pe) + x = self.proj(x) + return x + + # def forward(self, *args, **kwargs): + # if self.training and self.gradient_checkpointing: + # return checkpoint(self._forward, *args, use_reentrant=False, **kwargs) + # else: + # return self._forward(*args, **kwargs) + + +@dataclass +class ModulationOut: + shift: Tensor + scale: Tensor + gate: Tensor + + +class Modulation(nn.Module): + def __init__(self, dim: int, double: bool): + super().__init__() + self.is_double = double + self.multiplier = 6 if double else 3 + self.lin = nn.Linear(dim, self.multiplier * dim, bias=True) + + def forward(self, vec: Tensor) -> tuple[ModulationOut, ModulationOut | None]: + out = self.lin(nn.functional.silu(vec))[:, None, :].chunk(self.multiplier, dim=-1) + + return ( + ModulationOut(*out[:3]), + ModulationOut(*out[3:]) if self.is_double else None, + ) + + +class DoubleStreamBlock(nn.Module): + def __init__(self, hidden_size: int, num_heads: int, mlp_ratio: float, qkv_bias: bool = False): + super().__init__() + + mlp_hidden_dim = int(hidden_size * mlp_ratio) + self.num_heads = num_heads + self.hidden_size = hidden_size + self.img_mod = Modulation(hidden_size, double=True) + self.img_norm1 = nn.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6) + self.img_attn = SelfAttention(dim=hidden_size, num_heads=num_heads, qkv_bias=qkv_bias) + + self.img_norm2 = nn.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6) + self.img_mlp = nn.Sequential( + nn.Linear(hidden_size, mlp_hidden_dim, bias=True), + nn.GELU(approximate="tanh"), + nn.Linear(mlp_hidden_dim, hidden_size, bias=True), + ) + + self.txt_mod = Modulation(hidden_size, double=True) + self.txt_norm1 = nn.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6) + self.txt_attn = SelfAttention(dim=hidden_size, num_heads=num_heads, qkv_bias=qkv_bias) + + self.txt_norm2 = nn.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6) + self.txt_mlp = nn.Sequential( + nn.Linear(hidden_size, mlp_hidden_dim, bias=True), + nn.GELU(approximate="tanh"), + nn.Linear(mlp_hidden_dim, hidden_size, bias=True), + ) + + self.gradient_checkpointing = False + + def enable_gradient_checkpointing(self): + self.gradient_checkpointing = True + # self.img_attn.enable_gradient_checkpointing() + # self.txt_attn.enable_gradient_checkpointing() + + def disable_gradient_checkpointing(self): + self.gradient_checkpointing = False + # self.img_attn.disable_gradient_checkpointing() + # self.txt_attn.disable_gradient_checkpointing() + + def _forward(self, img: Tensor, txt: Tensor, vec: Tensor, pe: Tensor) -> tuple[Tensor, Tensor]: + img_mod1, img_mod2 = self.img_mod(vec) + txt_mod1, txt_mod2 = self.txt_mod(vec) + + # prepare image for attention + img_modulated = self.img_norm1(img) + img_modulated = (1 + img_mod1.scale) * img_modulated + img_mod1.shift + img_qkv = self.img_attn.qkv(img_modulated) + img_q, img_k, img_v = rearrange(img_qkv, "B L (K H D) -> K B H L D", K=3, H=self.num_heads) + img_q, img_k = self.img_attn.norm(img_q, img_k, img_v) + + # prepare txt for attention + txt_modulated = self.txt_norm1(txt) + txt_modulated = (1 + txt_mod1.scale) * txt_modulated + txt_mod1.shift + txt_qkv = self.txt_attn.qkv(txt_modulated) + txt_q, txt_k, txt_v = rearrange(txt_qkv, "B L (K H D) -> K B H L D", K=3, H=self.num_heads) + txt_q, txt_k = self.txt_attn.norm(txt_q, txt_k, txt_v) + + # run actual attention + q = torch.cat((txt_q, img_q), dim=2) + k = torch.cat((txt_k, img_k), dim=2) + v = torch.cat((txt_v, img_v), dim=2) + + attn = attention(q, k, v, pe=pe) + txt_attn, img_attn = attn[:, : txt.shape[1]], attn[:, txt.shape[1] :] + + # calculate the img bloks + img = img + img_mod1.gate * self.img_attn.proj(img_attn) + img = img + img_mod2.gate * self.img_mlp((1 + img_mod2.scale) * self.img_norm2(img) + img_mod2.shift) + + # calculate the txt bloks + txt = txt + txt_mod1.gate * self.txt_attn.proj(txt_attn) + txt = txt + txt_mod2.gate * self.txt_mlp((1 + txt_mod2.scale) * self.txt_norm2(txt) + txt_mod2.shift) + return img, txt + + def forward(self, *args, **kwargs): + if self.training and self.gradient_checkpointing: + return checkpoint(self._forward, *args, use_reentrant=False, **kwargs) + else: + return self._forward(*args, **kwargs) + + # def forward(self, img: Tensor, txt: Tensor, vec: Tensor, pe: Tensor): + # if self.training and self.gradient_checkpointing: + # def create_custom_forward(func): + # def custom_forward(*inputs): + # return func(*inputs) + # return custom_forward + # return torch.utils.checkpoint.checkpoint( + # create_custom_forward(self._forward), img, txt, vec, pe, use_reentrant=USE_REENTRANT + # ) + # else: + # return self._forward(img, txt, vec, pe) + + +class SingleStreamBlock(nn.Module): + """ + A DiT block with parallel linear layers as described in + https://arxiv.org/abs/2302.05442 and adapted modulation interface. + """ + + def __init__( + self, + hidden_size: int, + num_heads: int, + mlp_ratio: float = 4.0, + qk_scale: float | None = None, + ): + super().__init__() + self.hidden_dim = hidden_size + self.num_heads = num_heads + head_dim = hidden_size // num_heads + self.scale = qk_scale or head_dim**-0.5 + + self.mlp_hidden_dim = int(hidden_size * mlp_ratio) + # qkv and mlp_in + self.linear1 = nn.Linear(hidden_size, hidden_size * 3 + self.mlp_hidden_dim) + # proj and mlp_out + self.linear2 = nn.Linear(hidden_size + self.mlp_hidden_dim, hidden_size) + + self.norm = QKNorm(head_dim) + + self.hidden_size = hidden_size + self.pre_norm = nn.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6) + + self.mlp_act = nn.GELU(approximate="tanh") + self.modulation = Modulation(hidden_size, double=False) + + self.gradient_checkpointing = False + + def enable_gradient_checkpointing(self): + self.gradient_checkpointing = True + + def disable_gradient_checkpointing(self): + self.gradient_checkpointing = False + + def _forward(self, x: Tensor, vec: Tensor, pe: Tensor) -> Tensor: + mod, _ = self.modulation(vec) + x_mod = (1 + mod.scale) * self.pre_norm(x) + mod.shift + qkv, mlp = torch.split(self.linear1(x_mod), [3 * self.hidden_size, self.mlp_hidden_dim], dim=-1) + + q, k, v = rearrange(qkv, "B L (K H D) -> K B H L D", K=3, H=self.num_heads) + q, k = self.norm(q, k, v) + + # compute attention + attn = attention(q, k, v, pe=pe) + # compute activation in mlp stream, cat again and run second linear layer + output = self.linear2(torch.cat((attn, self.mlp_act(mlp)), 2)) + return x + mod.gate * output + + def forward(self, *args, **kwargs): + if self.training and self.gradient_checkpointing: + return checkpoint(self._forward, *args, use_reentrant=False, **kwargs) + else: + return self._forward(*args, **kwargs) + + # def forward(self, x: Tensor, vec: Tensor, pe: Tensor): + # if self.training and self.gradient_checkpointing: + # def create_custom_forward(func): + # def custom_forward(*inputs): + # return func(*inputs) + # return custom_forward + # return torch.utils.checkpoint.checkpoint(create_custom_forward(self._forward), x, vec, pe, use_reentrant=USE_REENTRANT) + # else: + # return self._forward(x, vec, pe) + + +class LastLayer(nn.Module): + def __init__(self, hidden_size: int, patch_size: int, out_channels: int): + super().__init__() + self.norm_final = nn.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6) + self.linear = nn.Linear(hidden_size, patch_size * patch_size * out_channels, bias=True) + self.adaLN_modulation = nn.Sequential(nn.SiLU(), nn.Linear(hidden_size, 2 * hidden_size, bias=True)) + + def forward(self, x: Tensor, vec: Tensor) -> Tensor: + shift, scale = self.adaLN_modulation(vec).chunk(2, dim=1) + x = (1 + scale[:, None, :]) * self.norm_final(x) + shift[:, None, :] + x = self.linear(x) + return x + + +# endregion + + +class Flux(nn.Module): + """ + Transformer model for flow matching on sequences. + """ + + def __init__(self, params: FluxParams): + super().__init__() + + self.params = params + self.in_channels = params.in_channels + self.out_channels = self.in_channels + if params.hidden_size % params.num_heads != 0: + raise ValueError(f"Hidden size {params.hidden_size} must be divisible by num_heads {params.num_heads}") + pe_dim = params.hidden_size // params.num_heads + if sum(params.axes_dim) != pe_dim: + raise ValueError(f"Got {params.axes_dim} but expected positional dim {pe_dim}") + self.hidden_size = params.hidden_size + self.num_heads = params.num_heads + self.pe_embedder = EmbedND(dim=pe_dim, theta=params.theta, axes_dim=params.axes_dim) + self.img_in = nn.Linear(self.in_channels, self.hidden_size, bias=True) + self.time_in = MLPEmbedder(in_dim=256, hidden_dim=self.hidden_size) + self.vector_in = MLPEmbedder(params.vec_in_dim, self.hidden_size) + self.guidance_in = MLPEmbedder(in_dim=256, hidden_dim=self.hidden_size) if params.guidance_embed else nn.Identity() + self.txt_in = nn.Linear(params.context_in_dim, self.hidden_size) + + self.double_blocks = nn.ModuleList( + [ + DoubleStreamBlock( + self.hidden_size, + self.num_heads, + mlp_ratio=params.mlp_ratio, + qkv_bias=params.qkv_bias, + ) + for _ in range(params.depth) + ] + ) + + self.single_blocks = nn.ModuleList( + [ + SingleStreamBlock(self.hidden_size, self.num_heads, mlp_ratio=params.mlp_ratio) + for _ in range(params.depth_single_blocks) + ] + ) + + self.final_layer = LastLayer(self.hidden_size, 1, self.out_channels) + + self.gradient_checkpointing = False + + @property + def device(self): + return next(self.parameters()).device + + @property + def dtype(self): + return next(self.parameters()).dtype + + def enable_gradient_checkpointing(self): + self.gradient_checkpointing = True + + self.time_in.enable_gradient_checkpointing() + self.vector_in.enable_gradient_checkpointing() + self.guidance_in.enable_gradient_checkpointing() + + for block in self.double_blocks + self.single_blocks: + block.enable_gradient_checkpointing() + + print("FLUX: Gradient checkpointing enabled.") + + def disable_gradient_checkpointing(self): + self.gradient_checkpointing = False + + self.time_in.disable_gradient_checkpointing() + self.vector_in.disable_gradient_checkpointing() + self.guidance_in.disable_gradient_checkpointing() + + for block in self.double_blocks + self.single_blocks: + block.disable_gradient_checkpointing() + + print("FLUX: Gradient checkpointing disabled.") + + def forward( + self, + img: Tensor, + img_ids: Tensor, + txt: Tensor, + txt_ids: Tensor, + timesteps: Tensor, + y: Tensor, + guidance: Tensor | None = None, + ) -> Tensor: + if img.ndim != 3 or txt.ndim != 3: + raise ValueError("Input img and txt tensors must have 3 dimensions.") + + # running on sequences img + img = self.img_in(img) + vec = self.time_in(timestep_embedding(timesteps, 256)) + if self.params.guidance_embed: + if guidance is None: + raise ValueError("Didn't get guidance strength for guidance distilled model.") + vec = vec + self.guidance_in(timestep_embedding(guidance, 256)) + vec = vec + self.vector_in(y) + txt = self.txt_in(txt) + + ids = torch.cat((txt_ids, img_ids), dim=1) + pe = self.pe_embedder(ids) + + for block in self.double_blocks: + img, txt = block(img=img, txt=txt, vec=vec, pe=pe) + + img = torch.cat((txt, img), 1) + for block in self.single_blocks: + img = block(img, vec=vec, pe=pe) + img = img[:, txt.shape[1] :, ...] + + img = self.final_layer(img, vec) # (N, T, patch_size ** 2 * out_channels) + return img diff --git a/library/flux_utils.py b/library/flux_utils.py new file mode 100644 index 000000000..ba828d508 --- /dev/null +++ b/library/flux_utils.py @@ -0,0 +1,215 @@ +import json +from typing import Union +import einops +import torch + +from safetensors.torch import load_file +from accelerate import init_empty_weights +from transformers import CLIPTextModel, CLIPConfig, T5EncoderModel, T5Config + +from library import flux_models + +from library.utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + +MODEL_VERSION_FLUX_V1 = "flux1" + + +def load_flow_model(name: str, ckpt_path: str, dtype: torch.dtype, device: Union[str, torch.device]) -> flux_models.Flux: + logger.info(f"Bulding Flux model {name}") + with torch.device("meta"): + model = flux_models.Flux(flux_models.configs[name].params).to(dtype) + + # load_sft doesn't support torch.device + logger.info(f"Loading state dict from {ckpt_path}") + sd = load_file(ckpt_path, device=str(device)) + info = model.load_state_dict(sd, strict=False, assign=True) + logger.info(f"Loaded Flux: {info}") + return model + + +def load_ae(name: str, ckpt_path: str, dtype: torch.dtype, device: Union[str, torch.device]) -> flux_models.AutoEncoder: + logger.info("Building AutoEncoder") + with torch.device("meta"): + ae = flux_models.AutoEncoder(flux_models.configs[name].ae_params).to(dtype) + + logger.info(f"Loading state dict from {ckpt_path}") + sd = load_file(ckpt_path, device=str(device)) + info = ae.load_state_dict(sd, strict=False, assign=True) + logger.info(f"Loaded AE: {info}") + return ae + + +def load_clip_l(ckpt_path: str, dtype: torch.dtype, device: Union[str, torch.device]) -> CLIPTextModel: + logger.info("Building CLIP") + CLIPL_CONFIG = { + "_name_or_path": "clip-vit-large-patch14/", + "architectures": ["CLIPModel"], + "initializer_factor": 1.0, + "logit_scale_init_value": 2.6592, + "model_type": "clip", + "projection_dim": 768, + # "text_config": { + "_name_or_path": "", + "add_cross_attention": False, + "architectures": None, + "attention_dropout": 0.0, + "bad_words_ids": None, + "bos_token_id": 0, + "chunk_size_feed_forward": 0, + "cross_attention_hidden_size": None, + "decoder_start_token_id": None, + "diversity_penalty": 0.0, + "do_sample": False, + "dropout": 0.0, + "early_stopping": False, + "encoder_no_repeat_ngram_size": 0, + "eos_token_id": 2, + "finetuning_task": None, + "forced_bos_token_id": None, + "forced_eos_token_id": None, + "hidden_act": "quick_gelu", + "hidden_size": 768, + "id2label": {"0": "LABEL_0", "1": "LABEL_1"}, + "initializer_factor": 1.0, + "initializer_range": 0.02, + "intermediate_size": 3072, + "is_decoder": False, + "is_encoder_decoder": False, + "label2id": {"LABEL_0": 0, "LABEL_1": 1}, + "layer_norm_eps": 1e-05, + "length_penalty": 1.0, + "max_length": 20, + "max_position_embeddings": 77, + "min_length": 0, + "model_type": "clip_text_model", + "no_repeat_ngram_size": 0, + "num_attention_heads": 12, + "num_beam_groups": 1, + "num_beams": 1, + "num_hidden_layers": 12, + "num_return_sequences": 1, + "output_attentions": False, + "output_hidden_states": False, + "output_scores": False, + "pad_token_id": 1, + "prefix": None, + "problem_type": None, + "projection_dim": 768, + "pruned_heads": {}, + "remove_invalid_values": False, + "repetition_penalty": 1.0, + "return_dict": True, + "return_dict_in_generate": False, + "sep_token_id": None, + "task_specific_params": None, + "temperature": 1.0, + "tie_encoder_decoder": False, + "tie_word_embeddings": True, + "tokenizer_class": None, + "top_k": 50, + "top_p": 1.0, + "torch_dtype": None, + "torchscript": False, + "transformers_version": "4.16.0.dev0", + "use_bfloat16": False, + "vocab_size": 49408, + "hidden_act": "gelu", + "hidden_size": 1280, + "intermediate_size": 5120, + "num_attention_heads": 20, + "num_hidden_layers": 32, + # }, + # "text_config_dict": { + "hidden_size": 768, + "intermediate_size": 3072, + "num_attention_heads": 12, + "num_hidden_layers": 12, + "projection_dim": 768, + # }, + # "torch_dtype": "float32", + # "transformers_version": None, + } + config = CLIPConfig(**CLIPL_CONFIG) + with init_empty_weights(): + clip = CLIPTextModel._from_config(config) + + logger.info(f"Loading state dict from {ckpt_path}") + sd = load_file(ckpt_path, device=str(device)) + info = clip.load_state_dict(sd, strict=False, assign=True) + logger.info(f"Loaded CLIP: {info}") + return clip + + +def load_t5xxl(ckpt_path: str, dtype: torch.dtype, device: Union[str, torch.device]) -> T5EncoderModel: + T5_CONFIG_JSON = """ +{ + "architectures": [ + "T5EncoderModel" + ], + "classifier_dropout": 0.0, + "d_ff": 10240, + "d_kv": 64, + "d_model": 4096, + "decoder_start_token_id": 0, + "dense_act_fn": "gelu_new", + "dropout_rate": 0.1, + "eos_token_id": 1, + "feed_forward_proj": "gated-gelu", + "initializer_factor": 1.0, + "is_encoder_decoder": true, + "is_gated_act": true, + "layer_norm_epsilon": 1e-06, + "model_type": "t5", + "num_decoder_layers": 24, + "num_heads": 64, + "num_layers": 24, + "output_past": true, + "pad_token_id": 0, + "relative_attention_max_distance": 128, + "relative_attention_num_buckets": 32, + "tie_word_embeddings": false, + "torch_dtype": "float16", + "transformers_version": "4.41.2", + "use_cache": true, + "vocab_size": 32128 +} +""" + config = json.loads(T5_CONFIG_JSON) + config = T5Config(**config) + with init_empty_weights(): + t5xxl = T5EncoderModel._from_config(config) + + logger.info(f"Loading state dict from {ckpt_path}") + sd = load_file(ckpt_path, device=str(device)) + info = t5xxl.load_state_dict(sd, strict=False, assign=True) + logger.info(f"Loaded T5xxl: {info}") + return t5xxl + + +def prepare_img_ids(batch_size: int, packed_latent_height: int, packed_latent_width: int): + img_ids = torch.zeros(packed_latent_height, packed_latent_width, 3) + img_ids[..., 1] = img_ids[..., 1] + torch.arange(packed_latent_height)[:, None] + img_ids[..., 2] = img_ids[..., 2] + torch.arange(packed_latent_width)[None, :] + img_ids = einops.repeat(img_ids, "h w c -> b (h w) c", b=batch_size) + return img_ids + + +def unpack_latents(x: torch.Tensor, packed_latent_height: int, packed_latent_width: int) -> torch.Tensor: + """ + x: [b (h w) (c ph pw)] -> [b c (h ph) (w pw)], ph=2, pw=2 + """ + x = einops.rearrange(x, "b (h w) (c ph pw) -> b c (h ph) (w pw)", h=packed_latent_height, w=packed_latent_width, ph=2, pw=2) + return x + + +def pack_latents(x: torch.Tensor) -> torch.Tensor: + """ + x: [b c (h ph) (w pw)] -> [b (h w) (c ph pw)], ph=2, pw=2 + """ + x = einops.rearrange(x, "b c (h ph) (w pw) -> b (h w) (c ph pw)", ph=2, pw=2) + return x diff --git a/library/sd3_models.py b/library/sd3_models.py index 28378c73b..ec704dcba 100644 --- a/library/sd3_models.py +++ b/library/sd3_models.py @@ -15,6 +15,12 @@ import torch.nn.functional as F from torch.utils.checkpoint import checkpoint from transformers import CLIPTokenizer, T5TokenizerFast +from .utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) memory_efficient_attention = None @@ -95,7 +101,9 @@ def tokenize_with_weights(self, text: str, truncate_to_max_length=True, truncate batch.extend([(pad_token, 1.0)] * (self.min_length - len(batch))) # truncate to max_length - print(f"batch: {batch}, max_length: {self.max_length}, truncate: {truncate_to_max_length}, truncate_length: {truncate_length}") + print( + f"batch: {batch}, max_length: {self.max_length}, truncate: {truncate_to_max_length}, truncate_length: {truncate_length}" + ) if truncate_to_max_length and len(batch) > self.max_length: batch = batch[: self.max_length] if truncate_length is not None and len(batch) > truncate_length: @@ -1554,6 +1562,17 @@ def __init__( self.set_clip_options({"layer": layer_idx}) self.options_default = (self.layer, self.layer_idx, self.return_projected_pooled) + @property + def device(self): + return next(self.parameters()).device + + @property + def dtype(self): + return next(self.parameters()).dtype + + def gradient_checkpointing_enable(self): + logger.warning("Gradient checkpointing is not supported for this model") + def set_attn_mode(self, mode): raise NotImplementedError("This model does not support setting the attention mode") @@ -1925,6 +1944,7 @@ def create_clip_l(device="cpu", dtype=torch.float32, state_dict: Optional[Dict[s return_projected_pooled=False, textmodel_json_config=CLIPL_CONFIG, ) + clip_l.gradient_checkpointing_enable() if state_dict is not None: # update state_dict if provided to include logit_scale and text_projection.weight avoid errors if "logit_scale" not in state_dict: diff --git a/library/strategy_flux.py b/library/strategy_flux.py new file mode 100644 index 000000000..f194ccf6e --- /dev/null +++ b/library/strategy_flux.py @@ -0,0 +1,244 @@ +import os +import glob +from typing import Any, List, Optional, Tuple, Union +import torch +import numpy as np +from transformers import CLIPTokenizer, T5TokenizerFast + +from library import sd3_utils, train_util +from library import sd3_models +from library.strategy_base import LatentsCachingStrategy, TextEncodingStrategy, TokenizeStrategy, TextEncoderOutputsCachingStrategy + +from library.utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + + +CLIP_L_TOKENIZER_ID = "openai/clip-vit-large-patch14" +T5_XXL_TOKENIZER_ID = "google/t5-v1_1-xxl" + + +class FluxTokenizeStrategy(TokenizeStrategy): + def __init__(self, t5xxl_max_length: int = 256, tokenizer_cache_dir: Optional[str] = None) -> None: + self.t5xxl_max_length = t5xxl_max_length + self.clip_l = self._load_tokenizer(CLIPTokenizer, CLIP_L_TOKENIZER_ID, tokenizer_cache_dir=tokenizer_cache_dir) + self.t5xxl = self._load_tokenizer(T5TokenizerFast, T5_XXL_TOKENIZER_ID, tokenizer_cache_dir=tokenizer_cache_dir) + + def tokenize(self, text: Union[str, List[str]]) -> List[torch.Tensor]: + text = [text] if isinstance(text, str) else text + + l_tokens = self.clip_l(text, max_length=77, padding="max_length", truncation=True, return_tensors="pt") + t5_tokens = self.t5xxl(text, max_length=self.t5xxl_max_length, padding="max_length", truncation=True, return_tensors="pt") + + t5_attn_mask = t5_tokens["attention_mask"] + l_tokens = l_tokens["input_ids"] + t5_tokens = t5_tokens["input_ids"] + + return [l_tokens, t5_tokens, t5_attn_mask] + + +class FluxTextEncodingStrategy(TextEncodingStrategy): + def __init__(self) -> None: + pass + + def encode_tokens( + self, + tokenize_strategy: TokenizeStrategy, + models: List[Any], + tokens: List[torch.Tensor], + apply_t5_attn_mask: bool = False, + ) -> List[torch.Tensor]: + # supports single model inference only + + clip_l, t5xxl = models + l_tokens, t5_tokens = tokens[:2] + t5_attn_mask = tokens[2] if len(tokens) > 2 else None + + if clip_l is not None and l_tokens is not None: + l_pooled = clip_l(l_tokens.to(clip_l.device))["pooler_output"] + else: + l_pooled = None + + if t5xxl is not None and t5_tokens is not None: + # t5_out is [1, max length, 4096] + t5_out, _ = t5xxl(t5_tokens.to(t5xxl.device), return_dict=False, output_hidden_states=True) + if apply_t5_attn_mask: + t5_out = t5_out * t5_attn_mask.to(t5_out.device).unsqueeze(-1) + txt_ids = torch.zeros(1, t5_out.shape[1], 3, device=t5_out.device) + else: + t5_out = None + txt_ids = None + + return [l_pooled, t5_out, txt_ids] + + +class FluxTextEncoderOutputsCachingStrategy(TextEncoderOutputsCachingStrategy): + FLUX_TEXT_ENCODER_OUTPUTS_NPZ_SUFFIX = "_flux_te.npz" + + def __init__( + self, + cache_to_disk: bool, + batch_size: int, + skip_disk_cache_validity_check: bool, + is_partial: bool = False, + apply_t5_attn_mask: bool = False, + ) -> None: + super().__init__(cache_to_disk, batch_size, skip_disk_cache_validity_check, is_partial) + self.apply_t5_attn_mask = apply_t5_attn_mask + + def get_outputs_npz_path(self, image_abs_path: str) -> str: + return os.path.splitext(image_abs_path)[0] + FluxTextEncoderOutputsCachingStrategy.FLUX_TEXT_ENCODER_OUTPUTS_NPZ_SUFFIX + + def is_disk_cached_outputs_expected(self, npz_path: str): + if not self.cache_to_disk: + return False + if not os.path.exists(npz_path): + return False + if self.skip_disk_cache_validity_check: + return True + + try: + npz = np.load(npz_path) + if "l_pooled" not in npz: + return False + if "t5_out" not in npz: + return False + if "txt_ids" not in npz: + return False + except Exception as e: + logger.error(f"Error loading file: {npz_path}") + raise e + + return True + + def mask_t5_attn(self, t5_out: np.ndarray, t5_attn_mask: np.ndarray) -> np.ndarray: + return t5_out * np.expand_dims(t5_attn_mask, -1) + + def load_outputs_npz(self, npz_path: str) -> List[np.ndarray]: + data = np.load(npz_path) + l_pooled = data["l_pooled"] + t5_out = data["t5_out"] + txt_ids = data["txt_ids"] + + if self.apply_t5_attn_mask: + t5_attn_mask = data["t5_attn_mask"] + t5_out = self.mask_t5_attn(t5_out, t5_attn_mask) + + return [l_pooled, t5_out, txt_ids] + + def cache_batch_outputs( + self, tokenize_strategy: TokenizeStrategy, models: List[Any], text_encoding_strategy: TextEncodingStrategy, infos: List + ): + flux_text_encoding_strategy: FluxTextEncodingStrategy = text_encoding_strategy + captions = [info.caption for info in infos] + + tokens_and_masks = tokenize_strategy.tokenize(captions) + with torch.no_grad(): + l_pooled, t5_out, txt_ids = flux_text_encoding_strategy.encode_tokens( + tokenize_strategy, models, tokens_and_masks, self.apply_t5_attn_mask + ) + + if l_pooled.dtype == torch.bfloat16: + l_pooled = l_pooled.float() + if t5_out.dtype == torch.bfloat16: + t5_out = t5_out.float() + if txt_ids.dtype == torch.bfloat16: + txt_ids = txt_ids.float() + + l_pooled = l_pooled.cpu().numpy() + t5_out = t5_out.cpu().numpy() + txt_ids = txt_ids.cpu().numpy() + + for i, info in enumerate(infos): + l_pooled_i = l_pooled[i] + t5_out_i = t5_out[i] + txt_ids_i = txt_ids[i] + + if self.cache_to_disk: + t5_attn_mask = tokens_and_masks[2] + t5_attn_mask_i = t5_attn_mask[i].cpu().numpy() + np.savez( + info.text_encoder_outputs_npz, + l_pooled=l_pooled_i, + t5_out=t5_out_i, + txt_ids=txt_ids_i, + t5_attn_mask=t5_attn_mask_i, + ) + else: + info.text_encoder_outputs = (l_pooled_i, t5_out_i, txt_ids_i) + + +class FluxLatentsCachingStrategy(LatentsCachingStrategy): + FLUX_LATENTS_NPZ_SUFFIX = "_flux.npz" + + def __init__(self, cache_to_disk: bool, batch_size: int, skip_disk_cache_validity_check: bool) -> None: + super().__init__(cache_to_disk, batch_size, skip_disk_cache_validity_check) + + def get_image_size_from_disk_cache_path(self, absolute_path: str) -> Tuple[Optional[int], Optional[int]]: + npz_file = glob.glob(os.path.splitext(absolute_path)[0] + "_*" + FluxLatentsCachingStrategy.FLUX_LATENTS_NPZ_SUFFIX) + if len(npz_file) == 0: + return None, None + w, h = os.path.splitext(npz_file[0])[0].split("_")[-2].split("x") + return int(w), int(h) + + def get_latents_npz_path(self, absolute_path: str, image_size: Tuple[int, int]) -> str: + return ( + os.path.splitext(absolute_path)[0] + + f"_{image_size[0]:04d}x{image_size[1]:04d}" + + FluxLatentsCachingStrategy.FLUX_LATENTS_NPZ_SUFFIX + ) + + def is_disk_cached_latents_expected(self, bucket_reso: Tuple[int, int], npz_path: str, flip_aug: bool, alpha_mask: bool): + return self._default_is_disk_cached_latents_expected(8, bucket_reso, npz_path, flip_aug, alpha_mask) + + # TODO remove circular dependency for ImageInfo + def cache_batch_latents(self, vae, image_infos: List, flip_aug: bool, alpha_mask: bool, random_crop: bool): + encode_by_vae = lambda img_tensor: vae.encode(img_tensor).to("cpu") + vae_device = vae.device + vae_dtype = vae.dtype + + self._default_cache_batch_latents(encode_by_vae, vae_device, vae_dtype, image_infos, flip_aug, alpha_mask, random_crop) + + if not train_util.HIGH_VRAM: + train_util.clean_memory_on_device(vae.device) + + +if __name__ == "__main__": + # test code for FluxTokenizeStrategy + # tokenizer = sd3_models.SD3Tokenizer() + strategy = FluxTokenizeStrategy(256) + text = "hello world" + + l_tokens, g_tokens, t5_tokens = strategy.tokenize(text) + # print(l_tokens.shape) + print(l_tokens) + print(g_tokens) + print(t5_tokens) + + texts = ["hello world", "the quick brown fox jumps over the lazy dog"] + l_tokens_2 = strategy.clip_l(texts, max_length=77, padding="max_length", truncation=True, return_tensors="pt") + g_tokens_2 = strategy.clip_g(texts, max_length=77, padding="max_length", truncation=True, return_tensors="pt") + t5_tokens_2 = strategy.t5xxl( + texts, max_length=strategy.t5xxl_max_length, padding="max_length", truncation=True, return_tensors="pt" + ) + print(l_tokens_2) + print(g_tokens_2) + print(t5_tokens_2) + + # compare + print(torch.allclose(l_tokens, l_tokens_2["input_ids"][0])) + print(torch.allclose(g_tokens, g_tokens_2["input_ids"][0])) + print(torch.allclose(t5_tokens, t5_tokens_2["input_ids"][0])) + + text = ",".join(["hello world! this is long text"] * 50) + l_tokens, g_tokens, t5_tokens = strategy.tokenize(text) + print(l_tokens) + print(g_tokens) + print(t5_tokens) + + print(f"model max length l: {strategy.clip_l.model_max_length}") + print(f"model max length g: {strategy.clip_g.model_max_length}") + print(f"model max length t5: {strategy.t5xxl.model_max_length}") diff --git a/networks/lora_flux.py b/networks/lora_flux.py new file mode 100644 index 000000000..141137b46 --- /dev/null +++ b/networks/lora_flux.py @@ -0,0 +1,730 @@ +# temporary minimum implementation of LoRA +# FLUX doesn't have Conv2d, so we ignore it +# TODO commonize with the original implementation + +# LoRA network module +# reference: +# https://github.com/microsoft/LoRA/blob/main/loralib/layers.py +# https://github.com/cloneofsimo/lora/blob/master/lora_diffusion/lora.py + +import math +import os +from typing import Dict, List, Optional, Tuple, Type, Union +from diffusers import AutoencoderKL +from transformers import CLIPTextModel +import numpy as np +import torch +import re +from library.utils import setup_logging +from library.sdxl_original_unet import SdxlUNet2DConditionModel + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + + +class LoRAModule(torch.nn.Module): + """ + replaces forward method of the original Linear, instead of replacing the original Linear module. + """ + + def __init__( + self, + lora_name, + org_module: torch.nn.Module, + multiplier=1.0, + lora_dim=4, + alpha=1, + dropout=None, + rank_dropout=None, + module_dropout=None, + ): + """if alpha == 0 or None, alpha is rank (no scaling).""" + super().__init__() + self.lora_name = lora_name + + if org_module.__class__.__name__ == "Conv2d": + in_dim = org_module.in_channels + out_dim = org_module.out_channels + else: + in_dim = org_module.in_features + out_dim = org_module.out_features + + self.lora_dim = lora_dim + + if org_module.__class__.__name__ == "Conv2d": + kernel_size = org_module.kernel_size + stride = org_module.stride + padding = org_module.padding + self.lora_down = torch.nn.Conv2d(in_dim, self.lora_dim, kernel_size, stride, padding, bias=False) + self.lora_up = torch.nn.Conv2d(self.lora_dim, out_dim, (1, 1), (1, 1), bias=False) + else: + self.lora_down = torch.nn.Linear(in_dim, self.lora_dim, bias=False) + self.lora_up = torch.nn.Linear(self.lora_dim, out_dim, bias=False) + + if type(alpha) == torch.Tensor: + alpha = alpha.detach().float().numpy() # without casting, bf16 causes error + alpha = self.lora_dim if alpha is None or alpha == 0 else alpha + self.scale = alpha / self.lora_dim + self.register_buffer("alpha", torch.tensor(alpha)) # 定数として扱える + + # same as microsoft's + torch.nn.init.kaiming_uniform_(self.lora_down.weight, a=math.sqrt(5)) + torch.nn.init.zeros_(self.lora_up.weight) + + self.multiplier = multiplier + self.org_module = org_module # remove in applying + self.dropout = dropout + self.rank_dropout = rank_dropout + self.module_dropout = module_dropout + + def apply_to(self): + self.org_forward = self.org_module.forward + self.org_module.forward = self.forward + del self.org_module + + def forward(self, x): + org_forwarded = self.org_forward(x) + + # module dropout + if self.module_dropout is not None and self.training: + if torch.rand(1) < self.module_dropout: + return org_forwarded + + lx = self.lora_down(x) + + # normal dropout + if self.dropout is not None and self.training: + lx = torch.nn.functional.dropout(lx, p=self.dropout) + + # rank dropout + if self.rank_dropout is not None and self.training: + mask = torch.rand((lx.size(0), self.lora_dim), device=lx.device) > self.rank_dropout + if len(lx.size()) == 3: + mask = mask.unsqueeze(1) # for Text Encoder + elif len(lx.size()) == 4: + mask = mask.unsqueeze(-1).unsqueeze(-1) # for Conv2d + lx = lx * mask + + # scaling for rank dropout: treat as if the rank is changed + # maskから計算することも考えられるが、augmentation的な効果を期待してrank_dropoutを用いる + scale = self.scale * (1.0 / (1.0 - self.rank_dropout)) # redundant for readability + else: + scale = self.scale + + lx = self.lora_up(lx) + + return org_forwarded + lx * self.multiplier * scale + + +class LoRAInfModule(LoRAModule): + def __init__( + self, + lora_name, + org_module: torch.nn.Module, + multiplier=1.0, + lora_dim=4, + alpha=1, + **kwargs, + ): + # no dropout for inference + super().__init__(lora_name, org_module, multiplier, lora_dim, alpha) + + self.org_module_ref = [org_module] # 後から参照できるように + self.enabled = True + self.network: LoRANetwork = None + + def set_network(self, network): + self.network = network + + # freezeしてマージする + def merge_to(self, sd, dtype, device): + # extract weight from org_module + org_sd = self.org_module.state_dict() + weight = org_sd["weight"] + org_dtype = weight.dtype + org_device = weight.device + weight = weight.to(torch.float) # calc in float + + if dtype is None: + dtype = org_dtype + if device is None: + device = org_device + + # get up/down weight + up_weight = sd["lora_up.weight"].to(torch.float).to(device) + down_weight = sd["lora_down.weight"].to(torch.float).to(device) + + # merge weight + if len(weight.size()) == 2: + # linear + weight = weight + self.multiplier * (up_weight @ down_weight) * self.scale + elif down_weight.size()[2:4] == (1, 1): + # conv2d 1x1 + weight = ( + weight + + self.multiplier + * (up_weight.squeeze(3).squeeze(2) @ down_weight.squeeze(3).squeeze(2)).unsqueeze(2).unsqueeze(3) + * self.scale + ) + else: + # conv2d 3x3 + conved = torch.nn.functional.conv2d(down_weight.permute(1, 0, 2, 3), up_weight).permute(1, 0, 2, 3) + # logger.info(conved.size(), weight.size(), module.stride, module.padding) + weight = weight + self.multiplier * conved * self.scale + + # set weight to org_module + org_sd["weight"] = weight.to(dtype) + self.org_module.load_state_dict(org_sd) + + # 復元できるマージのため、このモジュールのweightを返す + def get_weight(self, multiplier=None): + if multiplier is None: + multiplier = self.multiplier + + # get up/down weight from module + up_weight = self.lora_up.weight.to(torch.float) + down_weight = self.lora_down.weight.to(torch.float) + + # pre-calculated weight + if len(down_weight.size()) == 2: + # linear + weight = self.multiplier * (up_weight @ down_weight) * self.scale + elif down_weight.size()[2:4] == (1, 1): + # conv2d 1x1 + weight = ( + self.multiplier + * (up_weight.squeeze(3).squeeze(2) @ down_weight.squeeze(3).squeeze(2)).unsqueeze(2).unsqueeze(3) + * self.scale + ) + else: + # conv2d 3x3 + conved = torch.nn.functional.conv2d(down_weight.permute(1, 0, 2, 3), up_weight).permute(1, 0, 2, 3) + weight = self.multiplier * conved * self.scale + + return weight + + def set_region(self, region): + self.region = region + self.region_mask = None + + def default_forward(self, x): + # logger.info(f"default_forward {self.lora_name} {x.size()}") + return self.org_forward(x) + self.lora_up(self.lora_down(x)) * self.multiplier * self.scale + + def forward(self, x): + if not self.enabled: + return self.org_forward(x) + return self.default_forward(x) + + +def create_network( + multiplier: float, + network_dim: Optional[int], + network_alpha: Optional[float], + ae: AutoencoderKL, + text_encoders: List[CLIPTextModel], + flux, + neuron_dropout: Optional[float] = None, + **kwargs, +): + if network_dim is None: + network_dim = 4 # default + if network_alpha is None: + network_alpha = 1.0 + + # extract dim/alpha for conv2d, and block dim + conv_dim = kwargs.get("conv_dim", None) + conv_alpha = kwargs.get("conv_alpha", None) + if conv_dim is not None: + conv_dim = int(conv_dim) + if conv_alpha is None: + conv_alpha = 1.0 + else: + conv_alpha = float(conv_alpha) + + # rank/module dropout + rank_dropout = kwargs.get("rank_dropout", None) + if rank_dropout is not None: + rank_dropout = float(rank_dropout) + module_dropout = kwargs.get("module_dropout", None) + if module_dropout is not None: + module_dropout = float(module_dropout) + + # すごく引数が多いな ( ^ω^)・・・ + network = LoRANetwork( + text_encoders, + flux, + multiplier=multiplier, + lora_dim=network_dim, + alpha=network_alpha, + dropout=neuron_dropout, + rank_dropout=rank_dropout, + module_dropout=module_dropout, + conv_lora_dim=conv_dim, + conv_alpha=conv_alpha, + varbose=True, + ) + + loraplus_lr_ratio = kwargs.get("loraplus_lr_ratio", None) + loraplus_unet_lr_ratio = kwargs.get("loraplus_unet_lr_ratio", None) + loraplus_text_encoder_lr_ratio = kwargs.get("loraplus_text_encoder_lr_ratio", None) + loraplus_lr_ratio = float(loraplus_lr_ratio) if loraplus_lr_ratio is not None else None + loraplus_unet_lr_ratio = float(loraplus_unet_lr_ratio) if loraplus_unet_lr_ratio is not None else None + loraplus_text_encoder_lr_ratio = float(loraplus_text_encoder_lr_ratio) if loraplus_text_encoder_lr_ratio is not None else None + if loraplus_lr_ratio is not None or loraplus_unet_lr_ratio is not None or loraplus_text_encoder_lr_ratio is not None: + network.set_loraplus_lr_ratio(loraplus_lr_ratio, loraplus_unet_lr_ratio, loraplus_text_encoder_lr_ratio) + + return network + + +# Create network from weights for inference, weights are not loaded here (because can be merged) +def create_network_from_weights(multiplier, file, ae, text_encoders, flux, weights_sd=None, for_inference=False, **kwargs): + # if unet is an instance of SdxlUNet2DConditionModel or subclass, set is_sdxl to True + if weights_sd is None: + if os.path.splitext(file)[1] == ".safetensors": + from safetensors.torch import load_file, safe_open + + weights_sd = load_file(file) + else: + weights_sd = torch.load(file, map_location="cpu") + + # get dim/alpha mapping + modules_dim = {} + modules_alpha = {} + for key, value in weights_sd.items(): + if "." not in key: + continue + + lora_name = key.split(".")[0] + if "alpha" in key: + modules_alpha[lora_name] = value + elif "lora_down" in key: + dim = value.size()[0] + modules_dim[lora_name] = dim + # logger.info(lora_name, value.size(), dim) + + module_class = LoRAInfModule if for_inference else LoRAModule + + network = LoRANetwork(text_encoders, flux, multiplier=multiplier, module_class=module_class) + return network, weights_sd + + +class LoRANetwork(torch.nn.Module): + FLUX_TARGET_REPLACE_MODULE = ["DoubleStreamBlock", "SingleStreamBlock"] + TEXT_ENCODER_TARGET_REPLACE_MODULE = ["CLIPAttention", "CLIPMLP"] + LORA_PREFIX_FLUX = "lora_flux" + LORA_PREFIX_TEXT_ENCODER_CLIP = "lora_te1" + LORA_PREFIX_TEXT_ENCODER_T5 = "lora_te2" + + def __init__( + self, + text_encoders: Union[List[CLIPTextModel], CLIPTextModel], + unet, + multiplier: float = 1.0, + lora_dim: int = 4, + alpha: float = 1, + dropout: Optional[float] = None, + rank_dropout: Optional[float] = None, + module_dropout: Optional[float] = None, + conv_lora_dim: Optional[int] = None, + conv_alpha: Optional[float] = None, + module_class: Type[object] = LoRAModule, + varbose: Optional[bool] = False, + ) -> None: + super().__init__() + self.multiplier = multiplier + + self.lora_dim = lora_dim + self.alpha = alpha + self.conv_lora_dim = conv_lora_dim + self.conv_alpha = conv_alpha + self.dropout = dropout + self.rank_dropout = rank_dropout + self.module_dropout = module_dropout + + self.loraplus_lr_ratio = None + self.loraplus_unet_lr_ratio = None + self.loraplus_text_encoder_lr_ratio = None + + logger.info(f"create LoRA network. base dim (rank): {lora_dim}, alpha: {alpha}") + logger.info( + f"neuron dropout: p={self.dropout}, rank dropout: p={self.rank_dropout}, module dropout: p={self.module_dropout}" + ) + if self.conv_lora_dim is not None: + logger.info(f"apply LoRA to Conv2d with kernel size (3,3). dim (rank): {self.conv_lora_dim}, alpha: {self.conv_alpha}") + + # create module instances + def create_modules( + is_flux: bool, text_encoder_idx: Optional[int], root_module: torch.nn.Module, target_replace_modules: List[str] + ) -> List[LoRAModule]: + prefix = ( + self.LORA_PREFIX_FLUX + if is_flux + else (self.LORA_PREFIX_TEXT_ENCODER_CLIP if text_encoder_idx == 0 else self.LORA_PREFIX_TEXT_ENCODER_T5) + ) + + loras = [] + skipped = [] + for name, module in root_module.named_modules(): + if module.__class__.__name__ in target_replace_modules: + for child_name, child_module in module.named_modules(): + is_linear = child_module.__class__.__name__ == "Linear" + is_conv2d = child_module.__class__.__name__ == "Conv2d" + is_conv2d_1x1 = is_conv2d and child_module.kernel_size == (1, 1) + + if is_linear or is_conv2d: + lora_name = prefix + "." + name + "." + child_name + lora_name = lora_name.replace(".", "_") + + dim = None + alpha = None + + # 通常、すべて対象とする + if is_linear or is_conv2d_1x1: + dim = self.lora_dim + alpha = self.alpha + elif self.conv_lora_dim is not None: + dim = self.conv_lora_dim + alpha = self.conv_alpha + + if dim is None or dim == 0: + # skipした情報を出力 + if is_linear or is_conv2d_1x1 or (self.conv_lora_dim is not None): + skipped.append(lora_name) + continue + + lora = module_class( + lora_name, + child_module, + self.multiplier, + dim, + alpha, + dropout=dropout, + rank_dropout=rank_dropout, + module_dropout=module_dropout, + ) + loras.append(lora) + return loras, skipped + + # create LoRA for text encoder + # 毎回すべてのモジュールを作るのは無駄なので要検討 + self.text_encoder_loras: List[Union[LoRAModule, LoRAInfModule]] = [] + skipped_te = [] + for i, text_encoder in enumerate(text_encoders): + index = i + logger.info(f"create LoRA for Text Encoder {index+1}:") + + text_encoder_loras, skipped = create_modules(False, index, text_encoder, LoRANetwork.TEXT_ENCODER_TARGET_REPLACE_MODULE) + self.text_encoder_loras.extend(text_encoder_loras) + skipped_te += skipped + logger.info(f"create LoRA for Text Encoder: {len(self.text_encoder_loras)} modules.") + + self.unet_loras: List[Union[LoRAModule, LoRAInfModule]] + self.unet_loras, skipped_un = create_modules(True, None, unet, LoRANetwork.FLUX_TARGET_REPLACE_MODULE) + logger.info(f"create LoRA for U-Net: {len(self.unet_loras)} modules.") + + skipped = skipped_te + skipped_un + if varbose and len(skipped) > 0: + logger.warning( + f"because dim (rank) is 0, {len(skipped)} LoRA modules are skipped / dim (rank)が0の為、次の{len(skipped)}個のLoRAモジュールはスキップされます:" + ) + for name in skipped: + logger.info(f"\t{name}") + + # assertion + names = set() + for lora in self.text_encoder_loras + self.unet_loras: + assert lora.lora_name not in names, f"duplicated lora name: {lora.lora_name}" + names.add(lora.lora_name) + + def set_multiplier(self, multiplier): + self.multiplier = multiplier + for lora in self.text_encoder_loras + self.unet_loras: + lora.multiplier = self.multiplier + + def set_enabled(self, is_enabled): + for lora in self.text_encoder_loras + self.unet_loras: + lora.enabled = is_enabled + + def load_weights(self, file): + if os.path.splitext(file)[1] == ".safetensors": + from safetensors.torch import load_file + + weights_sd = load_file(file) + else: + weights_sd = torch.load(file, map_location="cpu") + + info = self.load_state_dict(weights_sd, False) + return info + + def apply_to(self, text_encoders, flux, apply_text_encoder=True, apply_unet=True): + if apply_text_encoder: + logger.info(f"enable LoRA for text encoder: {len(self.text_encoder_loras)} modules") + else: + self.text_encoder_loras = [] + + if apply_unet: + logger.info(f"enable LoRA for U-Net: {len(self.unet_loras)} modules") + else: + self.unet_loras = [] + + for lora in self.text_encoder_loras + self.unet_loras: + lora.apply_to() + self.add_module(lora.lora_name, lora) + + # マージできるかどうかを返す + def is_mergeable(self): + return True + + # TODO refactor to common function with apply_to + def merge_to(self, text_encoders, flux, weights_sd, dtype=None, device=None): + apply_text_encoder = apply_unet = False + for key in weights_sd.keys(): + if key.startswith(LoRANetwork.LORA_PREFIX_TEXT_ENCODER_CLIP) or key.startswith(LoRANetwork.LORA_PREFIX_TEXT_ENCODER_T5): + apply_text_encoder = True + elif key.startswith(LoRANetwork.LORA_PREFIX_FLUX): + apply_unet = True + + if apply_text_encoder: + logger.info("enable LoRA for text encoder") + else: + self.text_encoder_loras = [] + + if apply_unet: + logger.info("enable LoRA for U-Net") + else: + self.unet_loras = [] + + for lora in self.text_encoder_loras + self.unet_loras: + sd_for_lora = {} + for key in weights_sd.keys(): + if key.startswith(lora.lora_name): + sd_for_lora[key[len(lora.lora_name) + 1 :]] = weights_sd[key] + lora.merge_to(sd_for_lora, dtype, device) + + logger.info(f"weights are merged") + + def set_loraplus_lr_ratio(self, loraplus_lr_ratio, loraplus_unet_lr_ratio, loraplus_text_encoder_lr_ratio): + self.loraplus_lr_ratio = loraplus_lr_ratio + self.loraplus_unet_lr_ratio = loraplus_unet_lr_ratio + self.loraplus_text_encoder_lr_ratio = loraplus_text_encoder_lr_ratio + + logger.info(f"LoRA+ UNet LR Ratio: {self.loraplus_unet_lr_ratio or self.loraplus_lr_ratio}") + logger.info(f"LoRA+ Text Encoder LR Ratio: {self.loraplus_text_encoder_lr_ratio or self.loraplus_lr_ratio}") + + # 二つのText Encoderに別々の学習率を設定できるようにするといいかも + def prepare_optimizer_params(self, text_encoder_lr, unet_lr, default_lr): + # TODO warn if optimizer is not compatible with LoRA+ (but it will cause error so we don't need to check it here?) + # if ( + # self.loraplus_lr_ratio is not None + # or self.loraplus_text_encoder_lr_ratio is not None + # or self.loraplus_unet_lr_ratio is not None + # ): + # assert ( + # optimizer_type.lower() != "prodigy" and "dadapt" not in optimizer_type.lower() + # ), "LoRA+ and Prodigy/DAdaptation is not supported / LoRA+とProdigy/DAdaptationの組み合わせはサポートされていません" + + self.requires_grad_(True) + + all_params = [] + lr_descriptions = [] + + def assemble_params(loras, lr, ratio): + param_groups = {"lora": {}, "plus": {}} + for lora in loras: + for name, param in lora.named_parameters(): + if ratio is not None and "lora_up" in name: + param_groups["plus"][f"{lora.lora_name}.{name}"] = param + else: + param_groups["lora"][f"{lora.lora_name}.{name}"] = param + + params = [] + descriptions = [] + for key in param_groups.keys(): + param_data = {"params": param_groups[key].values()} + + if len(param_data["params"]) == 0: + continue + + if lr is not None: + if key == "plus": + param_data["lr"] = lr * ratio + else: + param_data["lr"] = lr + + if param_data.get("lr", None) == 0 or param_data.get("lr", None) is None: + logger.info("NO LR skipping!") + continue + + params.append(param_data) + descriptions.append("plus" if key == "plus" else "") + + return params, descriptions + + if self.text_encoder_loras: + params, descriptions = assemble_params( + self.text_encoder_loras, + text_encoder_lr if text_encoder_lr is not None else default_lr, + self.loraplus_text_encoder_lr_ratio or self.loraplus_lr_ratio, + ) + all_params.extend(params) + lr_descriptions.extend(["textencoder" + (" " + d if d else "") for d in descriptions]) + + if self.unet_loras: + # if self.block_lr: + # is_sdxl = False + # for lora in self.unet_loras: + # if "input_blocks" in lora.lora_name or "output_blocks" in lora.lora_name: + # is_sdxl = True + # break + + # # 学習率のグラフをblockごとにしたいので、blockごとにloraを分類 + # block_idx_to_lora = {} + # for lora in self.unet_loras: + # idx = get_block_index(lora.lora_name, is_sdxl) + # if idx not in block_idx_to_lora: + # block_idx_to_lora[idx] = [] + # block_idx_to_lora[idx].append(lora) + + # # blockごとにパラメータを設定する + # for idx, block_loras in block_idx_to_lora.items(): + # params, descriptions = assemble_params( + # block_loras, + # (unet_lr if unet_lr is not None else default_lr) * self.get_lr_weight(idx), + # self.loraplus_unet_lr_ratio or self.loraplus_lr_ratio, + # ) + # all_params.extend(params) + # lr_descriptions.extend([f"unet_block{idx}" + (" " + d if d else "") for d in descriptions]) + + # else: + params, descriptions = assemble_params( + self.unet_loras, + unet_lr if unet_lr is not None else default_lr, + self.loraplus_unet_lr_ratio or self.loraplus_lr_ratio, + ) + all_params.extend(params) + lr_descriptions.extend(["unet" + (" " + d if d else "") for d in descriptions]) + + return all_params, lr_descriptions + + def enable_gradient_checkpointing(self): + # not supported + pass + + def prepare_grad_etc(self, text_encoder, unet): + self.requires_grad_(True) + + def on_epoch_start(self, text_encoder, unet): + self.train() + + def get_trainable_params(self): + return self.parameters() + + def save_weights(self, file, dtype, metadata): + if metadata is not None and len(metadata) == 0: + metadata = None + + state_dict = self.state_dict() + + if dtype is not None: + for key in list(state_dict.keys()): + v = state_dict[key] + v = v.detach().clone().to("cpu").to(dtype) + state_dict[key] = v + + if os.path.splitext(file)[1] == ".safetensors": + from safetensors.torch import save_file + from library import train_util + + # Precalculate model hashes to save time on indexing + if metadata is None: + metadata = {} + model_hash, legacy_hash = train_util.precalculate_safetensors_hashes(state_dict, metadata) + metadata["sshs_model_hash"] = model_hash + metadata["sshs_legacy_hash"] = legacy_hash + + save_file(state_dict, file, metadata) + else: + torch.save(state_dict, file) + + def backup_weights(self): + # 重みのバックアップを行う + loras: List[LoRAInfModule] = self.text_encoder_loras + self.unet_loras + for lora in loras: + org_module = lora.org_module_ref[0] + if not hasattr(org_module, "_lora_org_weight"): + sd = org_module.state_dict() + org_module._lora_org_weight = sd["weight"].detach().clone() + org_module._lora_restored = True + + def restore_weights(self): + # 重みのリストアを行う + loras: List[LoRAInfModule] = self.text_encoder_loras + self.unet_loras + for lora in loras: + org_module = lora.org_module_ref[0] + if not org_module._lora_restored: + sd = org_module.state_dict() + sd["weight"] = org_module._lora_org_weight + org_module.load_state_dict(sd) + org_module._lora_restored = True + + def pre_calculation(self): + # 事前計算を行う + loras: List[LoRAInfModule] = self.text_encoder_loras + self.unet_loras + for lora in loras: + org_module = lora.org_module_ref[0] + sd = org_module.state_dict() + + org_weight = sd["weight"] + lora_weight = lora.get_weight().to(org_weight.device, dtype=org_weight.dtype) + sd["weight"] = org_weight + lora_weight + assert sd["weight"].shape == org_weight.shape + org_module.load_state_dict(sd) + + org_module._lora_restored = False + lora.enabled = False + + def apply_max_norm_regularization(self, max_norm_value, device): + downkeys = [] + upkeys = [] + alphakeys = [] + norms = [] + keys_scaled = 0 + + state_dict = self.state_dict() + for key in state_dict.keys(): + if "lora_down" in key and "weight" in key: + downkeys.append(key) + upkeys.append(key.replace("lora_down", "lora_up")) + alphakeys.append(key.replace("lora_down.weight", "alpha")) + + for i in range(len(downkeys)): + down = state_dict[downkeys[i]].to(device) + up = state_dict[upkeys[i]].to(device) + alpha = state_dict[alphakeys[i]].to(device) + dim = down.shape[0] + scale = alpha / dim + + if up.shape[2:] == (1, 1) and down.shape[2:] == (1, 1): + updown = (up.squeeze(2).squeeze(2) @ down.squeeze(2).squeeze(2)).unsqueeze(2).unsqueeze(3) + elif up.shape[2:] == (3, 3) or down.shape[2:] == (3, 3): + updown = torch.nn.functional.conv2d(down.permute(1, 0, 2, 3), up).permute(1, 0, 2, 3) + else: + updown = up @ down + + updown *= scale + + norm = updown.norm().clamp(min=max_norm_value / 2) + desired = torch.clamp(norm, max=max_norm_value) + ratio = desired.cpu() / norm.cpu() + sqrt_ratio = ratio**0.5 + if ratio != 1: + keys_scaled += 1 + state_dict[upkeys[i]] *= sqrt_ratio + state_dict[downkeys[i]] *= sqrt_ratio + scalednorm = updown.norm() * ratio + norms.append(scalednorm.item()) + + return keys_scaled, sum(norms) / len(norms), max(norms) diff --git a/sdxl_train_network.py b/sdxl_train_network.py index 67ccae62c..4d6e3f184 100644 --- a/sdxl_train_network.py +++ b/sdxl_train_network.py @@ -52,6 +52,11 @@ def load_target_model(self, args, weight_dtype, accelerator): self.logit_scale = logit_scale self.ckpt_info = ckpt_info + # モデルに xformers とか memory efficient attention を組み込む + train_util.replace_unet_modules(unet, args.mem_eff_attn, args.xformers, args.sdpa) + if torch.__version__ >= "2.0.0": # PyTorch 2.0.0 以上対応のxformersなら以下が使える + vae.set_use_memory_efficient_attention_xformers(args.xformers) + return sdxl_model_util.MODEL_VERSION_SDXL_BASE_V1_0, [text_encoder1, text_encoder2], vae, unet def get_tokenize_strategy(self, args): diff --git a/train_network.py b/train_network.py index 3828fed19..48d988624 100644 --- a/train_network.py +++ b/train_network.py @@ -100,6 +100,12 @@ def assert_extra_args(self, args, train_dataset_group): def load_target_model(self, args, weight_dtype, accelerator): text_encoder, vae, unet, _ = train_util.load_target_model(args, weight_dtype, accelerator) + + # モデルに xformers とか memory efficient attention を組み込む + train_util.replace_unet_modules(unet, args.mem_eff_attn, args.xformers, args.sdpa) + if torch.__version__ >= "2.0.0": # PyTorch 2.0.0 以上対応のxformersなら以下が使える + vae.set_use_memory_efficient_attention_xformers(args.xformers) + return model_util.get_model_version_str_for_sd1_sd2(args.v2, args.v_parameterization), text_encoder, vae, unet def get_tokenize_strategy(self, args): @@ -147,6 +153,81 @@ def all_reduce_network(self, accelerator, network): def sample_images(self, accelerator, args, epoch, global_step, device, vae, tokenizers, text_encoder, unet): train_util.sample_images(accelerator, args, epoch, global_step, device, vae, tokenizers[0], text_encoder, unet) + # region SD/SDXL + + def get_noise_scheduler(self, args: argparse.Namespace, device: torch.device) -> Any: + noise_scheduler = DDPMScheduler( + beta_start=0.00085, beta_end=0.012, beta_schedule="scaled_linear", num_train_timesteps=1000, clip_sample=False + ) + prepare_scheduler_for_custom_training(noise_scheduler, device) + if args.zero_terminal_snr: + custom_train_functions.fix_noise_scheduler_betas_for_zero_terminal_snr(noise_scheduler) + return noise_scheduler + + def encode_images_to_latents(self, args, accelerator, vae, images): + return vae.encode(images).latent_dist.sample() + + def shift_scale_latents(self, args, latents): + return latents * self.vae_scale_factor + + def get_noise_pred_and_target( + self, + args, + accelerator, + noise_scheduler, + latents, + batch, + text_encoder_conds, + unet, + network, + weight_dtype, + train_unet, + ): + # Sample noise, sample a random timestep for each image, and add noise to the latents, + # with noise offset and/or multires noise if specified + noise, noisy_latents, timesteps, huber_c = train_util.get_noise_noisy_latents_and_timesteps(args, noise_scheduler, latents) + + # ensure the hidden state will require grad + if args.gradient_checkpointing: + for x in noisy_latents: + x.requires_grad_(True) + for t in text_encoder_conds: + t.requires_grad_(True) + + # Predict the noise residual + with accelerator.autocast(): + noise_pred = self.call_unet( + args, + accelerator, + unet, + noisy_latents.requires_grad_(train_unet), + timesteps, + text_encoder_conds, + batch, + weight_dtype, + ) + + if args.v_parameterization: + # v-parameterization training + target = noise_scheduler.get_velocity(latents, noise, timesteps) + else: + target = noise + + return noise_pred, target, timesteps, huber_c, None + + def post_process_loss(self, loss, args, timesteps, noise_scheduler): + if args.min_snr_gamma: + loss = apply_snr_weight(loss, timesteps, noise_scheduler, args.min_snr_gamma, args.v_parameterization) + if args.scale_v_pred_loss_like_noise_pred: + loss = scale_v_prediction_loss_like_noise_prediction(loss, timesteps, noise_scheduler) + if args.v_pred_like_loss: + loss = add_v_prediction_like_loss(loss, timesteps, noise_scheduler, args.v_pred_like_loss) + if args.debiased_estimation_loss: + loss = apply_debiased_estimation(loss, timesteps, noise_scheduler) + return loss + + # endregion + def train(self, args): session_id = random.randint(0, 2**32) training_started_at = time.time() @@ -253,11 +334,6 @@ def train(self, args): # text_encoder is List[CLIPTextModel] or CLIPTextModel text_encoders = text_encoder if isinstance(text_encoder, list) else [text_encoder] - # モデルに xformers とか memory efficient attention を組み込む - train_util.replace_unet_modules(unet, args.mem_eff_attn, args.xformers, args.sdpa) - if torch.__version__ >= "2.0.0": # PyTorch 2.0.0 以上対応のxformersなら以下が使える - vae.set_use_memory_efficient_attention_xformers(args.xformers) - # 差分追加学習のためにモデルを読み込む sys.path.append(os.path.dirname(__file__)) accelerator.print("import network module:", args.network_module) @@ -445,16 +521,19 @@ def train(self, args): unet_weight_dtype = torch.float8_e4m3fn te_weight_dtype = torch.float8_e4m3fn + unet.to(accelerator.device) # this makes faster `to(dtype)` below + unet.requires_grad_(False) - unet.to(dtype=unet_weight_dtype) + unet.to(dtype=unet_weight_dtype) # this takes long time and large memory for t_enc in text_encoders: t_enc.requires_grad_(False) # in case of cpu, dtype is already set to fp32 because cpu does not support fp8/fp16/bf16 if t_enc.device.type != "cpu": t_enc.to(dtype=te_weight_dtype) - # nn.Embedding not support FP8 - t_enc.text_model.embeddings.to(dtype=(weight_dtype if te_weight_dtype != weight_dtype else te_weight_dtype)) + if hasattr(t_enc.text_model, "embeddings"): + # nn.Embedding not support FP8 + t_enc.text_model.embeddings.to(dtype=(weight_dtype if te_weight_dtype != weight_dtype else te_weight_dtype)) # acceleratorがなんかよろしくやってくれるらしい / accelerator will do something good if args.deepspeed: @@ -851,12 +930,7 @@ def load_model_hook(models, input_dir): global_step = 0 - noise_scheduler = DDPMScheduler( - beta_start=0.00085, beta_end=0.012, beta_schedule="scaled_linear", num_train_timesteps=1000, clip_sample=False - ) - prepare_scheduler_for_custom_training(noise_scheduler, accelerator.device) - if args.zero_terminal_snr: - custom_train_functions.fix_noise_scheduler_betas_for_zero_terminal_snr(noise_scheduler) + noise_scheduler = self.get_noise_scheduler(args, accelerator.device) if accelerator.is_main_process: init_kwargs = {} @@ -913,6 +987,13 @@ def remove_model(old_ckpt_name): initial_step -= len(train_dataloader) global_step = initial_step + # log device and dtype for each model + logger.info(f"unet dtype: {unet_weight_dtype}, device: {unet.device}") + for t_enc in text_encoders: + logger.info(f"text_encoder dtype: {te_weight_dtype}, device: {t_enc.device}") + + clean_memory_on_device(accelerator.device) + for epoch in range(epoch_to_start, num_train_epochs): accelerator.print(f"\nepoch {epoch+1}/{num_train_epochs}") current_epoch.value = epoch + 1 @@ -940,13 +1021,15 @@ def remove_model(old_ckpt_name): else: with torch.no_grad(): # latentに変換 - latents = vae.encode(batch["images"].to(dtype=vae_dtype)).latent_dist.sample().to(dtype=weight_dtype) + latents = self.encode_images_to_latents(args, accelerator, vae, batch["images"].to(vae_dtype)) + latents = latents.to(dtype=weight_dtype) # NaNが含まれていれば警告を表示し0に置き換える if torch.any(torch.isnan(latents)): accelerator.print("NaN found in latents, replacing with zeros") latents = torch.nan_to_num(latents, 0, out=latents) - latents = latents * self.vae_scale_factor + + latents = self.shift_scale_latents(args, latents) # get multiplier for each sample if network_has_multiplier: @@ -985,41 +1068,25 @@ def remove_model(old_ckpt_name): if args.full_fp16: text_encoder_conds = [c.to(weight_dtype) for c in text_encoder_conds] - # Sample noise, sample a random timestep for each image, and add noise to the latents, - # with noise offset and/or multires noise if specified - noise, noisy_latents, timesteps, huber_c = train_util.get_noise_noisy_latents_and_timesteps( - args, noise_scheduler, latents + # sample noise, call unet, get target + noise_pred, target, timesteps, huber_c, weighting = self.get_noise_pred_and_target( + args, + accelerator, + noise_scheduler, + latents, + batch, + text_encoder_conds, + unet, + network, + weight_dtype, + train_unet, ) - # ensure the hidden state will require grad - if args.gradient_checkpointing: - for x in noisy_latents: - x.requires_grad_(True) - for t in text_encoder_conds: - t.requires_grad_(True) - - # Predict the noise residual - with accelerator.autocast(): - noise_pred = self.call_unet( - args, - accelerator, - unet, - noisy_latents.requires_grad_(train_unet), - timesteps, - text_encoder_conds, - batch, - weight_dtype, - ) - - if args.v_parameterization: - # v-parameterization training - target = noise_scheduler.get_velocity(latents, noise, timesteps) - else: - target = noise - loss = train_util.conditional_loss( noise_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=huber_c ) + if weighting is not None: + loss = loss * weighting if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): loss = apply_masked_loss(loss, batch) loss = loss.mean([1, 2, 3]) @@ -1027,14 +1094,8 @@ def remove_model(old_ckpt_name): loss_weights = batch["loss_weights"] # 各sampleごとのweight loss = loss * loss_weights - if args.min_snr_gamma: - loss = apply_snr_weight(loss, timesteps, noise_scheduler, args.min_snr_gamma, args.v_parameterization) - if args.scale_v_pred_loss_like_noise_pred: - loss = scale_v_prediction_loss_like_noise_prediction(loss, timesteps, noise_scheduler) - if args.v_pred_like_loss: - loss = add_v_prediction_like_loss(loss, timesteps, noise_scheduler, args.v_pred_like_loss) - if args.debiased_estimation_loss: - loss = apply_debiased_estimation(loss, timesteps, noise_scheduler) + # min snr gamma, scale v pred loss like noise pred, v pred like loss, debiased estimation etc. + loss = self.post_process_loss(loss, args, timesteps, noise_scheduler) loss = loss.mean() # 平均なのでbatch_sizeで割る必要なし From 808d2d1f48e2f4e544d47464edb2727c03da2f53 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Fri, 9 Aug 2024 23:02:51 +0900 Subject: [PATCH 131/748] fix typos --- flux_train_network.py | 2 +- library/flux_models.py | 4 ++-- library/flux_utils.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/flux_train_network.py b/flux_train_network.py index 7c762c86d..e4be97ad8 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -250,7 +250,7 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): # ) with accelerator.autocast(): - # YiYi notes: divide it by 1000 for now because we scale it by 1000 in the transforme rmodel (we should not keep it but I want to keep the inputs same for the model for testing) + # YiYi notes: divide it by 1000 for now because we scale it by 1000 in the transformer model (we should not keep it but I want to keep the inputs same for the model for testing) model_pred = unet( img=packed_noisy_model_input, img_ids=img_ids, diff --git a/library/flux_models.py b/library/flux_models.py index d0955e375..92c79bcca 100644 --- a/library/flux_models.py +++ b/library/flux_models.py @@ -685,11 +685,11 @@ def _forward(self, img: Tensor, txt: Tensor, vec: Tensor, pe: Tensor) -> tuple[T attn = attention(q, k, v, pe=pe) txt_attn, img_attn = attn[:, : txt.shape[1]], attn[:, txt.shape[1] :] - # calculate the img bloks + # calculate the img blocks img = img + img_mod1.gate * self.img_attn.proj(img_attn) img = img + img_mod2.gate * self.img_mlp((1 + img_mod2.scale) * self.img_norm2(img) + img_mod2.shift) - # calculate the txt bloks + # calculate the txt blocks txt = txt + txt_mod1.gate * self.txt_attn.proj(txt_attn) txt = txt + txt_mod2.gate * self.txt_mlp((1 + txt_mod2.scale) * self.txt_norm2(txt) + txt_mod2.shift) return img, txt diff --git a/library/flux_utils.py b/library/flux_utils.py index ba828d508..166cd833b 100644 --- a/library/flux_utils.py +++ b/library/flux_utils.py @@ -20,7 +20,7 @@ def load_flow_model(name: str, ckpt_path: str, dtype: torch.dtype, device: Union[str, torch.device]) -> flux_models.Flux: - logger.info(f"Bulding Flux model {name}") + logger.info(f"Building Flux model {name}") with torch.device("meta"): model = flux_models.Flux(flux_models.configs[name].params).to(dtype) From 358f13f2c92a04fb524006f124fc029a9edb0eaf Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sat, 10 Aug 2024 14:03:59 +0900 Subject: [PATCH 132/748] fix alpha is ignored --- networks/lora_flux.py | 41 +++++++++++++++++++++++++++-------------- 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/networks/lora_flux.py b/networks/lora_flux.py index 141137b46..332a73d97 100644 --- a/networks/lora_flux.py +++ b/networks/lora_flux.py @@ -307,7 +307,9 @@ def create_network_from_weights(multiplier, file, ae, text_encoders, flux, weigh module_class = LoRAInfModule if for_inference else LoRAModule - network = LoRANetwork(text_encoders, flux, multiplier=multiplier, module_class=module_class) + network = LoRANetwork( + text_encoders, flux, multiplier=multiplier, modules_dim=modules_dim, modules_alpha=modules_alpha, module_class=module_class + ) return network, weights_sd @@ -331,6 +333,8 @@ def __init__( conv_lora_dim: Optional[int] = None, conv_alpha: Optional[float] = None, module_class: Type[object] = LoRAModule, + modules_dim: Optional[Dict[str, int]] = None, + modules_alpha: Optional[Dict[str, int]] = None, varbose: Optional[bool] = False, ) -> None: super().__init__() @@ -348,12 +352,15 @@ def __init__( self.loraplus_unet_lr_ratio = None self.loraplus_text_encoder_lr_ratio = None - logger.info(f"create LoRA network. base dim (rank): {lora_dim}, alpha: {alpha}") - logger.info( - f"neuron dropout: p={self.dropout}, rank dropout: p={self.rank_dropout}, module dropout: p={self.module_dropout}" - ) - if self.conv_lora_dim is not None: - logger.info(f"apply LoRA to Conv2d with kernel size (3,3). dim (rank): {self.conv_lora_dim}, alpha: {self.conv_alpha}") + if modules_dim is not None: + logger.info(f"create LoRA network from weights") + else: + logger.info(f"create LoRA network. base dim (rank): {lora_dim}, alpha: {alpha}") + logger.info( + f"neuron dropout: p={self.dropout}, rank dropout: p={self.rank_dropout}, module dropout: p={self.module_dropout}" + ) + if self.conv_lora_dim is not None: + logger.info(f"apply LoRA to Conv2d with kernel size (3,3). dim (rank): {self.conv_lora_dim}, alpha: {self.conv_alpha}") # create module instances def create_modules( @@ -381,13 +388,19 @@ def create_modules( dim = None alpha = None - # 通常、すべて対象とする - if is_linear or is_conv2d_1x1: - dim = self.lora_dim - alpha = self.alpha - elif self.conv_lora_dim is not None: - dim = self.conv_lora_dim - alpha = self.conv_alpha + if modules_dim is not None: + # モジュール指定あり + if lora_name in modules_dim: + dim = modules_dim[lora_name] + alpha = modules_alpha[lora_name] + else: + # 通常、すべて対象とする + if is_linear or is_conv2d_1x1: + dim = self.lora_dim + alpha = self.alpha + elif self.conv_lora_dim is not None: + dim = self.conv_lora_dim + alpha = self.conv_alpha if dim is None or dim == 0: # skipした情報を出力 From 8a0f12dde812994ec3facdcdb7c08b362dbceb0f Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sat, 10 Aug 2024 23:42:05 +0900 Subject: [PATCH 133/748] update FLUX LoRA training --- README.md | 29 ++++++++--- flux_train_network.py | 105 ++++++++++++++++++++++++++++++-------- library/sai_model_spec.py | 24 +++++++-- library/strategy_flux.py | 4 +- library/train_util.py | 9 ++-- networks/lora_flux.py | 2 +- train_network.py | 18 +++++-- 7 files changed, 150 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index a0b02f108..1089dd001 100644 --- a/README.md +++ b/README.md @@ -2,24 +2,41 @@ This repository contains training, generation and utility scripts for Stable Dif ## FLUX.1 LoRA training (WIP) -__Aug 9, 2024__: +This feature is experimental. The options and the training script may change in the future. Please let us know if you have any idea to improve the training. + +Aug 10, 2024: LoRA key prefix is changed to `lora_unet` from `lora_flex` to make it compatible with ComfyUI. Please update PyTorch to 2.4.0. We have tested with PyTorch 2.4.0 with CUDA 12.4. We also updated `accelerate` to 0.33.0 just to be safe. -We have added a new training script for LoRA training. The script is `flux_train_network.py`. See `--help` for options. +We have added a new training script for LoRA training. The script is `flux_train_network.py`. See `--help` for options. Sample command is below. It will work with 24GB VRAM GPUs. ``` -accelerate launch --mixed_precision bf16 --num_cpu_threads_per_process 1 flux_train_network.py --pretrained_model_name_or_path flux1-dev.sft --clip_l sd3/clip_l.safetensors --t5xxl sd3/t5xxl_fp16.safetensors --ae ae.sft --cache_latents_to_disk --save_model_as safetensors --sdpa --persistent_data_loader_workers --max_data_loader_n_workers 2 --seed 42 --gradient_checkpointing --mixed_precision bf16 --save_precision bf16 --network_module networks.lora_flux --network_dim 4 --optimizer_type adamw8bit --learning_rate 1e-4 --network_train_unet_only --cache_text_encoder_outputs --cache_text_encoder_outputs_to_disk --fp8_base --highvram --max_train_epochs 4 --save_every_n_epochs 1 --dataset_config dataset_1024_bs2.toml --output_dir path/to/output/dir --output_name flux-lora-name +accelerate launch --mixed_precision bf16 --num_cpu_threads_per_process 1 flux_train_network.py --pretrained_model_name_or_path flux1-dev.sft --clip_l sd3/clip_l.safetensors --t5xxl sd3/t5xxl_fp16.safetensors --ae ae.sft --cache_latents_to_disk --save_model_as safetensors --sdpa --persistent_data_loader_workers --max_data_loader_n_workers 2 --seed 42 --gradient_checkpointing --mixed_precision bf16 --save_precision bf16 --network_module networks.lora_flux --network_dim 4 --optimizer_type adamw8bit --learning_rate 1e-4 --network_train_unet_only --cache_text_encoder_outputs --cache_text_encoder_outputs_to_disk --fp8_base --highvram --max_train_epochs 4 --save_every_n_epochs 1 --dataset_config dataset_1024_bs2.toml --output_dir path/to/output/dir --output_name flux-lora-name --timestep_sampling sigma --model_prediction_type raw --discrete_flow_shift 1.0 --loss_type l2 ``` +LoRAs for Text Encoders are not tested yet. + +We have added some new options (Aug 10, 2024): `--time_sampling`, `--sigmoid_scale`, `--model_prediction_type` and `--discrete_flow_shift`. The options are as follows: + +- `--timestep_sampling` is the method to sample timesteps (0-1): `sigma` (sigma-based, same as SD3), `uniform` (uniform random), or `sigmoid` (sigmoid of random normal, same as x-flux). +- `--sigmoid_scale` is the scale factor for sigmoid timestep sampling (only used when timestep-sampling is "sigmoid"). The default is 1.0. Larger values will make the sampling more uniform. +- `--model_prediction_type` is how to interpret and process the model prediction: `raw` (use as is, same as x-flux), `additive` (add to noisy input), `sigma_scaled` (apply sigma scaling, same as SD3). +- `--discrete_flow_shift` is the discrete flow shift for the Euler Discrete Scheduler, default is 3.0 (same as SD3). + +`--loss_type` may be useful for FLUX.1 training. The default is `l2`. + +In our experiments, `--timestep_sampling sigma --model_prediction_type raw --discrete_flow_shift 1.0` with `--loss_type l2` seems to work better than the default (SD3) settings. The multiplier of LoRA should be adjusted. Other settings may work better, so please try different settings. + +We also not sure how many epochs are needed for convergence, and how the learning rate should be adjusted. + +The trained LoRA model can be used with ComfyUI. + The inference script is also available. The script is `flux_minimal_inference.py`. See `--help` for options. ``` -python flux_minimal_inference.py --ckpt flux1-dev.sft --clip_l sd3/clip_l.safetensors --t5xxl sd3/t5xxl_fp16.safetensors --ae ae.sft --dtype bf16 --prompt "a cat holding a sign that says hello world" --out path/to/output/dir --seed 1 --flux_dtype fp8 --offload --lora lora-flux-name.safetensors +python flux_minimal_inference.py --ckpt flux1-dev.sft --clip_l sd3/clip_l.safetensors --t5xxl sd3/t5xxl_fp16.safetensors --ae ae.sft --dtype bf16 --prompt "a cat holding a sign that says hello world" --out path/to/output/dir --seed 1 --flux_dtype fp8 --offload --lora lora-flux-name.safetensors;1.0 ``` -Unfortnately the training result is not good. Please let us know if you have any idea to improve the training. - ## SD3 training SD3 training is done with `sd3_train.py`. diff --git a/flux_train_network.py b/flux_train_network.py index e4be97ad8..69b6e8eaf 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -135,7 +135,7 @@ def sample_images(self, accelerator, args, epoch, global_step, device, vae, toke pass def get_noise_scheduler(self, args: argparse.Namespace, device: torch.device) -> Any: - noise_scheduler = sd3_train_utils.FlowMatchEulerDiscreteScheduler(num_train_timesteps=1000, shift=3.0) + noise_scheduler = sd3_train_utils.FlowMatchEulerDiscreteScheduler(num_train_timesteps=1000, shift=args.discrete_flow_shift) self.noise_scheduler_copy = copy.deepcopy(noise_scheduler) return noise_scheduler @@ -211,21 +211,32 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): noise = torch.randn_like(latents) bsz = latents.shape[0] - # Sample a random timestep for each image - # for weighting schemes where we sample timesteps non-uniformly - u = compute_density_for_timestep_sampling( - weighting_scheme=args.weighting_scheme, - batch_size=bsz, - logit_mean=args.logit_mean, - logit_std=args.logit_std, - mode_scale=args.mode_scale, - ) - indices = (u * self.noise_scheduler_copy.config.num_train_timesteps).long() - timesteps = self.noise_scheduler_copy.timesteps[indices].to(device=accelerator.device) - - # Add noise according to flow matching. - sigmas = get_sigmas(timesteps, n_dim=latents.ndim, dtype=weight_dtype) - noisy_model_input = sigmas * noise + (1.0 - sigmas) * latents + if args.timestep_sampling == "uniform" or args.timestep_sampling == "sigmoid": + # Simple random t-based noise sampling + if args.timestep_sampling == "sigmoid": + # https://github.com/XLabs-AI/x-flux/tree/main + t = torch.sigmoid(args.sigmoid_scale * torch.randn((bsz,), device=accelerator.device)) + else: + t = torch.rand((bsz,), device=accelerator.device) + timesteps = t * 1000.0 + t = t.view(-1, 1, 1, 1) + noisy_model_input = (1 - t) * latents + t * noise + else: + # Sample a random timestep for each image + # for weighting schemes where we sample timesteps non-uniformly + u = compute_density_for_timestep_sampling( + weighting_scheme=args.weighting_scheme, + batch_size=bsz, + logit_mean=args.logit_mean, + logit_std=args.logit_std, + mode_scale=args.mode_scale, + ) + indices = (u * self.noise_scheduler_copy.config.num_train_timesteps).long() + timesteps = self.noise_scheduler_copy.timesteps[indices].to(device=accelerator.device) + + # Add noise according to flow matching. + sigmas = get_sigmas(timesteps, n_dim=latents.ndim, dtype=weight_dtype) + noisy_model_input = sigmas * noise + (1.0 - sigmas) * latents # pack latents and get img_ids packed_noisy_model_input = flux_utils.pack_latents(noisy_model_input) # b, c, h*2, w*2 -> b, h*w, c*4 @@ -264,11 +275,20 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): # unpack latents model_pred = flux_utils.unpack_latents(model_pred, packed_latent_height, packed_latent_width) - model_pred = model_pred * (-sigmas) + noisy_model_input - - # these weighting schemes use a uniform timestep sampling - # and instead post-weight the loss - weighting = compute_loss_weighting_for_sd3(weighting_scheme=args.weighting_scheme, sigmas=sigmas) + if args.model_prediction_type == "raw": + # use model_pred as is + weighting = None + elif args.model_prediction_type == "additive": + # add the model_pred to the noisy_model_input + model_pred = model_pred + noisy_model_input + weighting = None + elif args.model_prediction_type == "sigma_scaled": + # apply sigma scaling + model_pred = model_pred * (-sigmas) + noisy_model_input + + # these weighting schemes use a uniform timestep sampling + # and instead post-weight the loss + weighting = compute_loss_weighting_for_sd3(weighting_scheme=args.weighting_scheme, sigmas=sigmas) # flow matching loss: this is different from SD3 target = noise - latents @@ -278,6 +298,21 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): def post_process_loss(self, loss, args, timesteps, noise_scheduler): return loss + def get_sai_model_spec(self, args): + return train_util.get_sai_model_spec(None, args, False, True, False, flux="dev") + + def update_metadata(self, metadata, args): + metadata["ss_apply_t5_attn_mask"] = args.apply_t5_attn_mask + metadata["ss_weighting_scheme"] = args.weighting_scheme + metadata["ss_logit_mean"] = args.logit_mean + metadata["ss_logit_std"] = args.logit_std + metadata["ss_mode_scale"] = args.mode_scale + metadata["ss_guidance_scale"] = args.guidance_scale + metadata["ss_timestep_sampling"] = args.timestep_sampling + metadata["ss_sigmoid_scale"] = args.sigmoid_scale + metadata["ss_model_prediction_type"] = args.model_prediction_type + metadata["ss_discrete_flow_shift"] = args.discrete_flow_shift + def setup_parser() -> argparse.ArgumentParser: parser = train_network.setup_parser() @@ -318,6 +353,34 @@ def setup_parser() -> argparse.ArgumentParser: default=3.5, help="the FLUX.1 dev variant is a guidance distilled model", ) + + parser.add_argument( + "--timestep_sampling", + choices=["sigma", "uniform", "sigmoid"], + default="sigma", + help="Method to sample timesteps: sigma-based, uniform random, or sigmoid of random normal. / タイムステップをサンプリングする方法:sigma、random uniform、またはrandom normalのsigmoid。", + ) + parser.add_argument( + "--sigmoid_scale", + type=float, + default=1.0, + help='Scale factor for sigmoid timestep sampling (only used when timestep-sampling is "sigmoid"). / sigmoidタイムステップサンプリングの倍率(timestep-samplingが"sigmoid"の場合のみ有効)。', + ) + parser.add_argument( + "--model_prediction_type", + choices=["raw", "additive", "sigma_scaled"], + default="sigma_scaled", + help="How to interpret and process the model prediction: " + "raw (use as is), additive (add to noisy input), sigma_scaled (apply sigma scaling)." + " / モデル予測の解釈と処理方法:" + "raw(そのまま使用)、additive(ノイズ入力に加算)、sigma_scaled(シグマスケーリングを適用)。", + ) + parser.add_argument( + "--discrete_flow_shift", + type=float, + default=3.0, + help="Discrete flow shift for the Euler Discrete Scheduler, default is 3.0. / Euler Discrete Schedulerの離散フローシフト、デフォルトは3.0。", + ) return parser diff --git a/library/sai_model_spec.py b/library/sai_model_spec.py index af073677e..ad72ec00d 100644 --- a/library/sai_model_spec.py +++ b/library/sai_model_spec.py @@ -59,6 +59,8 @@ ARCH_SD_XL_V1_BASE = "stable-diffusion-xl-v1-base" ARCH_SD3_M = "stable-diffusion-3-medium" ARCH_SD3_UNKNOWN = "stable-diffusion-3" +ARCH_FLUX_1_DEV = "flux-1-dev" +ARCH_FLUX_1_UNKNOWN = "flux-1" ADAPTER_LORA = "lora" ADAPTER_TEXTUAL_INVERSION = "textual-inversion" @@ -66,6 +68,7 @@ IMPL_STABILITY_AI = "https://github.com/Stability-AI/generative-models" IMPL_COMFY_UI = "https://github.com/comfyanonymous/ComfyUI" IMPL_DIFFUSERS = "diffusers" +IMPL_FLUX = "https://github.com/black-forest-labs/flux" PRED_TYPE_EPSILON = "epsilon" PRED_TYPE_V = "v" @@ -118,10 +121,11 @@ def build_metadata( merged_from: Optional[str] = None, timesteps: Optional[Tuple[int, int]] = None, clip_skip: Optional[int] = None, - sd3: str = None, + sd3: Optional[str] = None, + flux: Optional[str] = None, ): """ - sd3: only supports "m" + sd3: only supports "m", flux: only supports "dev" """ # if state_dict is None, hash is not calculated @@ -140,6 +144,11 @@ def build_metadata( arch = ARCH_SD3_M else: arch = ARCH_SD3_UNKNOWN + elif flux is not None: + if flux == "dev": + arch = ARCH_FLUX_1_DEV + else: + arch = ARCH_FLUX_1_UNKNOWN elif v2: if v_parameterization: arch = ARCH_SD_V2_768_V @@ -158,7 +167,10 @@ def build_metadata( if not lora and not textual_inversion and is_stable_diffusion_ckpt is None: is_stable_diffusion_ckpt = True # default is stable diffusion ckpt if not lora and not textual_inversion - if (lora and sdxl) or textual_inversion or is_stable_diffusion_ckpt: + if flux is not None: + # Flux + impl = IMPL_FLUX + elif (lora and sdxl) or textual_inversion or is_stable_diffusion_ckpt: # Stable Diffusion ckpt, TI, SDXL LoRA impl = IMPL_STABILITY_AI else: @@ -216,7 +228,7 @@ def build_metadata( reso = (reso[0], reso[0]) else: # resolution is defined in dataset, so use default - if sdxl or sd3 is not None: + if sdxl or sd3 is not None or flux is not None: reso = 1024 elif v2 and v_parameterization: reso = 768 @@ -227,7 +239,9 @@ def build_metadata( metadata["modelspec.resolution"] = f"{reso[0]}x{reso[1]}" - if v_parameterization: + if flux is not None: + del metadata["modelspec.prediction_type"] + elif v_parameterization: metadata["modelspec.prediction_type"] = PRED_TYPE_V else: metadata["modelspec.prediction_type"] = PRED_TYPE_EPSILON diff --git a/library/strategy_flux.py b/library/strategy_flux.py index f194ccf6e..13459d32f 100644 --- a/library/strategy_flux.py +++ b/library/strategy_flux.py @@ -63,11 +63,11 @@ def encode_tokens( l_pooled = None if t5xxl is not None and t5_tokens is not None: - # t5_out is [1, max length, 4096] + # t5_out is [b, max length, 4096] t5_out, _ = t5xxl(t5_tokens.to(t5xxl.device), return_dict=False, output_hidden_states=True) if apply_t5_attn_mask: t5_out = t5_out * t5_attn_mask.to(t5_out.device).unsqueeze(-1) - txt_ids = torch.zeros(1, t5_out.shape[1], 3, device=t5_out.device) + txt_ids = torch.zeros(t5_out.shape[0], t5_out.shape[1], 3, device=t5_out.device) else: t5_out = None txt_ids = None diff --git a/library/train_util.py b/library/train_util.py index fc458a884..6b74bb3fa 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -3186,6 +3186,7 @@ def get_sai_model_spec( textual_inversion: bool, is_stable_diffusion_ckpt: Optional[bool] = None, # None for TI and LoRA sd3: str = None, + flux: str = None, ): timestamp = time.time() @@ -3220,6 +3221,7 @@ def get_sai_model_spec( timesteps=timesteps, clip_skip=args.clip_skip, # None or int sd3=sd3, + flux=flux, ) return metadata @@ -3642,8 +3644,8 @@ def add_training_arguments(parser: argparse.ArgumentParser, support_dreambooth: "--loss_type", type=str, default="l2", - choices=["l2", "huber", "smooth_l1"], - help="The type of loss function to use (L2, Huber, or smooth L1), default is L2 / 使用する損失関数の種類(L2、Huber、またはsmooth L1)、デフォルトはL2", + choices=["l1", "l2", "huber", "smooth_l1"], + help="The type of loss function to use (L1, L2, Huber, or smooth L1), default is L2 / 使用する損失関数の種類(L1、L2、Huber、またはsmooth L1)、デフォルトはL2", ) parser.add_argument( "--huber_schedule", @@ -5359,9 +5361,10 @@ def get_noise_noisy_latents_and_timesteps(args, noise_scheduler, latents): def conditional_loss( model_pred: torch.Tensor, target: torch.Tensor, reduction: str = "mean", loss_type: str = "l2", huber_c: float = 0.1 ): - if loss_type == "l2": loss = torch.nn.functional.mse_loss(model_pred, target, reduction=reduction) + elif loss_type == "l1": + loss = torch.nn.functional.l1_loss(model_pred, target, reduction=reduction) elif loss_type == "huber": loss = 2 * huber_c * (torch.sqrt((model_pred - target) ** 2 + huber_c**2) - huber_c) if reduction == "mean": diff --git a/networks/lora_flux.py b/networks/lora_flux.py index 332a73d97..a4dab287a 100644 --- a/networks/lora_flux.py +++ b/networks/lora_flux.py @@ -316,7 +316,7 @@ def create_network_from_weights(multiplier, file, ae, text_encoders, flux, weigh class LoRANetwork(torch.nn.Module): FLUX_TARGET_REPLACE_MODULE = ["DoubleStreamBlock", "SingleStreamBlock"] TEXT_ENCODER_TARGET_REPLACE_MODULE = ["CLIPAttention", "CLIPMLP"] - LORA_PREFIX_FLUX = "lora_flux" + LORA_PREFIX_FLUX = "lora_unet" # make ComfyUI compatible LORA_PREFIX_TEXT_ENCODER_CLIP = "lora_te1" LORA_PREFIX_TEXT_ENCODER_T5 = "lora_te2" diff --git a/train_network.py b/train_network.py index 48d988624..367203f54 100644 --- a/train_network.py +++ b/train_network.py @@ -226,6 +226,12 @@ def post_process_loss(self, loss, args, timesteps, noise_scheduler): loss = apply_debiased_estimation(loss, timesteps, noise_scheduler) return loss + def get_sai_model_spec(self, args): + return train_util.get_sai_model_spec(None, args, self.is_sdxl, True, False) + + def update_metadata(self, metadata, args): + pass + # endregion def train(self, args): @@ -521,10 +527,13 @@ def train(self, args): unet_weight_dtype = torch.float8_e4m3fn te_weight_dtype = torch.float8_e4m3fn - unet.to(accelerator.device) # this makes faster `to(dtype)` below + # unet.to(accelerator.device) # this makes faster `to(dtype)` below, but consumes 23 GB VRAM + # unet.to(dtype=unet_weight_dtype) # without moving to gpu, this takes a lot of time and main memory + + unet.to(accelerator.device, dtype=unet_weight_dtype) # this seems to be safer than above unet.requires_grad_(False) - unet.to(dtype=unet_weight_dtype) # this takes long time and large memory + unet.to(dtype=unet_weight_dtype) for t_enc in text_encoders: t_enc.requires_grad_(False) @@ -718,8 +727,11 @@ def load_model_hook(models, input_dir): "ss_loss_type": args.loss_type, "ss_huber_schedule": args.huber_schedule, "ss_huber_c": args.huber_c, + "ss_fp8_base": args.fp8_base, } + self.update_metadata(metadata, args) # architecture specific metadata + if use_user_config: # save metadata of multiple datasets # NOTE: pack "ss_datasets" value as json one time @@ -964,7 +976,7 @@ def save_model(ckpt_name, unwrapped_nw, steps, epoch_no, force_sync_upload=False metadata["ss_epoch"] = str(epoch_no) metadata_to_save = minimum_metadata if args.no_metadata else metadata - sai_metadata = train_util.get_sai_model_spec(None, args, self.is_sdxl, True, False) + sai_metadata = self.get_sai_model_spec(args) metadata_to_save.update(sai_metadata) unwrapped_nw.save_weights(ckpt_file, save_dtype, metadata_to_save) From 82314ac2e7926ed15eac6306bebe4ffb78280346 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 11 Aug 2024 11:14:08 +0900 Subject: [PATCH 134/748] update readme for ai toolkit settings --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1089dd001..d016bcec4 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,11 @@ We have added some new options (Aug 10, 2024): `--time_sampling`, `--sigmoid_sca `--loss_type` may be useful for FLUX.1 training. The default is `l2`. -In our experiments, `--timestep_sampling sigma --model_prediction_type raw --discrete_flow_shift 1.0` with `--loss_type l2` seems to work better than the default (SD3) settings. The multiplier of LoRA should be adjusted. Other settings may work better, so please try different settings. +In our experiments, `--timestep_sampling sigma --model_prediction_type raw --discrete_flow_shift 1.0` with `--loss_type l2` seems to work better than the default (SD3) settings. The multiplier of LoRA should be adjusted. + +additional note (Aug 11): A quick check shows that the settings in [AI Toolkit by Ostris](https://github.com/ostris/ai-toolkit) seems to be equivalent to `--timestep_sampling sigmoid --model_prediction_type raw --guidance_scale 1.0` (with the default `l2` loss_type). + +Other settings may work better, so please try different settings. We also not sure how many epochs are needed for convergence, and how the learning rate should be adjusted. From d25ae361d06bb6f49c104ca2e6b4a9188a88c95f Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 11 Aug 2024 19:07:07 +0900 Subject: [PATCH 135/748] fix apply_t5_attn_mask to work --- README.md | 2 ++ flux_train_network.py | 6 ++++-- library/strategy_flux.py | 18 +++++++++++++----- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index d016bcec4..d47776ca6 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,8 @@ This repository contains training, generation and utility scripts for Stable Dif This feature is experimental. The options and the training script may change in the future. Please let us know if you have any idea to improve the training. +Aug 11, 2024: Fix `--apply_t5_attn_mask` option to work. Please remove and re-generate the latents cache file if you have used the option before. + Aug 10, 2024: LoRA key prefix is changed to `lora_unet` from `lora_flex` to make it compatible with ComfyUI. Please update PyTorch to 2.4.0. We have tested with PyTorch 2.4.0 with CUDA 12.4. We also updated `accelerate` to 0.33.0 just to be safe. diff --git a/flux_train_network.py b/flux_train_network.py index 69b6e8eaf..59a666aae 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -67,14 +67,16 @@ def get_latents_caching_strategy(self, args): return latents_caching_strategy def get_text_encoding_strategy(self, args): - return strategy_flux.FluxTextEncodingStrategy() + return strategy_flux.FluxTextEncodingStrategy(apply_t5_attn_mask=args.apply_t5_attn_mask) def get_models_for_text_encoding(self, args, accelerator, text_encoders): return text_encoders # + [accelerator.unwrap_model(text_encoders[-1])] def get_text_encoder_outputs_caching_strategy(self, args): if args.cache_text_encoder_outputs: - return strategy_flux.FluxTextEncoderOutputsCachingStrategy(args.cache_text_encoder_outputs_to_disk, None, False) + return strategy_flux.FluxTextEncoderOutputsCachingStrategy( + args.cache_text_encoder_outputs_to_disk, None, False, apply_t5_attn_mask=args.apply_t5_attn_mask + ) else: return None diff --git a/library/strategy_flux.py b/library/strategy_flux.py index 13459d32f..3880a1e1b 100644 --- a/library/strategy_flux.py +++ b/library/strategy_flux.py @@ -41,17 +41,24 @@ def tokenize(self, text: Union[str, List[str]]) -> List[torch.Tensor]: class FluxTextEncodingStrategy(TextEncodingStrategy): - def __init__(self) -> None: - pass + def __init__(self, apply_t5_attn_mask: Optional[bool] = None) -> None: + """ + Args: + apply_t5_attn_mask: Default value for apply_t5_attn_mask. + """ + self.apply_t5_attn_mask = apply_t5_attn_mask def encode_tokens( self, tokenize_strategy: TokenizeStrategy, models: List[Any], tokens: List[torch.Tensor], - apply_t5_attn_mask: bool = False, + apply_t5_attn_mask: Optional[bool] = None, ) -> List[torch.Tensor]: - # supports single model inference only + # supports single model inference + + if apply_t5_attn_mask is None: + apply_t5_attn_mask = self.apply_t5_attn_mask clip_l, t5xxl = models l_tokens, t5_tokens = tokens[:2] @@ -137,8 +144,9 @@ def cache_batch_outputs( tokens_and_masks = tokenize_strategy.tokenize(captions) with torch.no_grad(): + # attn_mask is not applied when caching to disk: it is applied when loading from disk l_pooled, t5_out, txt_ids = flux_text_encoding_strategy.encode_tokens( - tokenize_strategy, models, tokens_and_masks, self.apply_t5_attn_mask + tokenize_strategy, models, tokens_and_masks, not self.cache_to_disk ) if l_pooled.dtype == torch.bfloat16: From 74f91c2ff71035db105b218128567e6b8fa6c80d Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 11 Aug 2024 21:54:10 +0900 Subject: [PATCH 136/748] correct option name closes #1446 --- docs/train_README-ja.md | 2 +- docs/train_README-zh.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/train_README-ja.md b/docs/train_README-ja.md index d186bf243..cfa5a7d1c 100644 --- a/docs/train_README-ja.md +++ b/docs/train_README-ja.md @@ -648,7 +648,7 @@ masterpiece, best quality, 1boy, in business suit, standing at street, looking b 詳細については各自お調べください。 - 任意のスケジューラを使う場合、任意のオプティマイザと同様に、`--scheduler_args`でオプション引数を指定してください。 + 任意のスケジューラを使う場合、任意のオプティマイザと同様に、`--lr_scheduler_args`でオプション引数を指定してください。 ### オプティマイザの指定について diff --git a/docs/train_README-zh.md b/docs/train_README-zh.md index 7e00278c5..1bc47e0f5 100644 --- a/docs/train_README-zh.md +++ b/docs/train_README-zh.md @@ -582,7 +582,7 @@ masterpiece, best quality, 1boy, in business suit, standing at street, looking b 有关详细信息,请自行研究。 - 要使用任何调度程序,请像使用任何优化器一样使用“--scheduler_args”指定可选参数。 + 要使用任何调度程序,请像使用任何优化器一样使用“--lr_scheduler_args”指定可选参数。 ### 关于指定优化器 使用 --optimizer_args 选项指定优化器选项参数。可以以key=value的格式指定多个值。此外,您可以指定多个值,以逗号分隔。例如,要指定 AdamW 优化器的参数,``--optimizer_args weight_decay=0.01 betas=.9,.999``。 From 9e09a69df1ea8aa76ec98df3b2eed961c66432e4 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Mon, 12 Aug 2024 08:19:45 +0900 Subject: [PATCH 137/748] update README --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d47776ca6..ccc83e6e8 100644 --- a/README.md +++ b/README.md @@ -10,10 +10,10 @@ Aug 10, 2024: LoRA key prefix is changed to `lora_unet` from `lora_flex` to mak Please update PyTorch to 2.4.0. We have tested with PyTorch 2.4.0 with CUDA 12.4. We also updated `accelerate` to 0.33.0 just to be safe. -We have added a new training script for LoRA training. The script is `flux_train_network.py`. See `--help` for options. Sample command is below. It will work with 24GB VRAM GPUs. +We have added a new training script for LoRA training. The script is `flux_train_network.py`. See `--help` for options. Sample command is below, settings are based on [AI Toolkit by Ostris](https://github.com/ostris/ai-toolkit). It will work with 24GB VRAM GPUs. ``` -accelerate launch --mixed_precision bf16 --num_cpu_threads_per_process 1 flux_train_network.py --pretrained_model_name_or_path flux1-dev.sft --clip_l sd3/clip_l.safetensors --t5xxl sd3/t5xxl_fp16.safetensors --ae ae.sft --cache_latents_to_disk --save_model_as safetensors --sdpa --persistent_data_loader_workers --max_data_loader_n_workers 2 --seed 42 --gradient_checkpointing --mixed_precision bf16 --save_precision bf16 --network_module networks.lora_flux --network_dim 4 --optimizer_type adamw8bit --learning_rate 1e-4 --network_train_unet_only --cache_text_encoder_outputs --cache_text_encoder_outputs_to_disk --fp8_base --highvram --max_train_epochs 4 --save_every_n_epochs 1 --dataset_config dataset_1024_bs2.toml --output_dir path/to/output/dir --output_name flux-lora-name --timestep_sampling sigma --model_prediction_type raw --discrete_flow_shift 1.0 --loss_type l2 +accelerate launch --mixed_precision bf16 --num_cpu_threads_per_process 1 flux_train_network.py --pretrained_model_name_or_path flux1-dev.sft --clip_l sd3/clip_l.safetensors --t5xxl sd3/t5xxl_fp16.safetensors --ae ae.sft --cache_latents_to_disk --save_model_as safetensors --sdpa --persistent_data_loader_workers --max_data_loader_n_workers 2 --seed 42 --gradient_checkpointing --mixed_precision bf16 --save_precision bf16 --network_module networks.lora_flux --network_dim 4 --optimizer_type adamw8bit --learning_rate 1e-4 --network_train_unet_only --cache_text_encoder_outputs --cache_text_encoder_outputs_to_disk --fp8_base --highvram --max_train_epochs 4 --save_every_n_epochs 1 --dataset_config dataset_1024_bs2.toml --output_dir path/to/output/dir --output_name flux-lora-name --timestep_sampling sigmoid --model_prediction_type raw --guidance_scale 1.0 --loss_type l2 ``` LoRAs for Text Encoders are not tested yet. @@ -29,7 +29,7 @@ We have added some new options (Aug 10, 2024): `--time_sampling`, `--sigmoid_sca In our experiments, `--timestep_sampling sigma --model_prediction_type raw --discrete_flow_shift 1.0` with `--loss_type l2` seems to work better than the default (SD3) settings. The multiplier of LoRA should be adjusted. -additional note (Aug 11): A quick check shows that the settings in [AI Toolkit by Ostris](https://github.com/ostris/ai-toolkit) seems to be equivalent to `--timestep_sampling sigmoid --model_prediction_type raw --guidance_scale 1.0` (with the default `l2` loss_type). +additional note (Aug 11): A quick check shows that the settings in [AI Toolkit by Ostris](https://github.com/ostris/ai-toolkit) seems to be equivalent to `--timestep_sampling sigmoid --model_prediction_type raw --guidance_scale 1.0` (with the default `l2` loss_type). This seems to be a good starting point. Thanks to Ostris for the great work! Other settings may work better, so please try different settings. From 4af36f96320d553025cfdf067cae1e346af44a67 Mon Sep 17 00:00:00 2001 From: kohya-ss Date: Mon, 12 Aug 2024 13:24:10 +0900 Subject: [PATCH 138/748] update to work interactive mode --- README.md | 2 ++ flux_minimal_inference.py | 33 +++++++++++++++++++++++++++------ 2 files changed, 29 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index ccc83e6e8..c0d50a5a2 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,8 @@ The trained LoRA model can be used with ComfyUI. The inference script is also available. The script is `flux_minimal_inference.py`. See `--help` for options. +Aug 12: `--interactive` option is now working. + ``` python flux_minimal_inference.py --ckpt flux1-dev.sft --clip_l sd3/clip_l.safetensors --t5xxl sd3/t5xxl_fp16.safetensors --ae ae.sft --dtype bf16 --prompt "a cat holding a sign that says hello world" --out path/to/output/dir --seed 1 --flux_dtype fp8 --offload --lora lora-flux-name.safetensors;1.0 ``` diff --git a/flux_minimal_inference.py b/flux_minimal_inference.py index f3affca80..b09f63808 100644 --- a/flux_minimal_inference.py +++ b/flux_minimal_inference.py @@ -5,7 +5,7 @@ import math import os import random -from typing import Callable, Optional, Tuple +from typing import Callable, List, Optional, Tuple import einops import numpy as np @@ -121,6 +121,9 @@ def generate_image( steps: Optional[int], guidance: float, ): + seed = seed if seed is not None else random.randint(0, 2**32 - 1) + logger.info(f"Seed: {seed}") + # make first noise with packed shape # original: b,16,2*h//16,2*w//16, packed: b,h//16*w//16,16*2*2 packed_latent_height, packed_latent_width = math.ceil(image_height / 16), math.ceil(image_width / 16) @@ -183,9 +186,7 @@ def generate_image( steps = 4 if is_schnell else 50 img_ids = img_ids.to(device) - x = do_sample( - accelerator, model, noise, img_ids, l_pooled, t5_out, txt_ids, steps, guidance_scale, is_schnell, device, flux_dtype - ) + x = do_sample(accelerator, model, noise, img_ids, l_pooled, t5_out, txt_ids, steps, guidance, is_schnell, device, flux_dtype) if args.offload: model = model.cpu() # del model @@ -255,6 +256,7 @@ def generate_image( default=[], help="LoRA weights, only supports networks.lora_flux, each argument is a `path;multiplier` (semi-colon separated)", ) + parser.add_argument("--merge_lora_weights", action="store_true", help="Merge LoRA weights to model") parser.add_argument("--width", type=int, default=target_width) parser.add_argument("--height", type=int, default=target_height) parser.add_argument("--interactive", action="store_true") @@ -341,6 +343,7 @@ def is_fp8(dt): ae = accelerator.prepare(ae) # LoRA + lora_models: List[lora_flux.LoRANetwork] = [] for weights_file in args.lora_weights: if ";" in weights_file: weights_file, multiplier = weights_file.split(";") @@ -351,7 +354,16 @@ def is_fp8(dt): lora_model, weights_sd = lora_flux.create_network_from_weights( multiplier, weights_file, ae, [clip_l, t5xxl], model, None, True ) - lora_model.merge_to([clip_l, t5xxl], model, weights_sd) + if args.merge_lora_weights: + lora_model.merge_to([clip_l, t5xxl], model, weights_sd) + else: + lora_model.apply_to([clip_l, t5xxl], model) + info = lora_model.load_state_dict(weights_sd, strict=True) + logger.info(f"Loaded LoRA weights from {weights_file}: {info}") + lora_model.eval() + lora_model.to(device) + + lora_models.append(lora_model) if not args.interactive: generate_image(model, clip_l, t5xxl, ae, args.prompt, args.seed, args.width, args.height, args.steps, args.guidance) @@ -363,7 +375,9 @@ def is_fp8(dt): guidance = args.guidance while True: - print("Enter prompt (empty to exit). Options: --w --h --s --d --g ") + print( + "Enter prompt (empty to exit). Options: --w --h --s --d --g --m " + ) prompt = input() if prompt == "": break @@ -384,6 +398,13 @@ def is_fp8(dt): seed = int(opt[1:].strip()) elif opt.startswith("g"): guidance = float(opt[1:].strip()) + elif opt.startswith("m"): + mutipliers = opt[1:].strip().split(",") + if len(mutipliers) != len(lora_models): + logger.error(f"Invalid number of multipliers, expected {len(lora_models)}") + continue + for i, lora_model in enumerate(lora_models): + lora_model.set_multiplier(float(mutipliers[i])) generate_image(model, clip_l, t5xxl, ae, prompt, seed, width, height, steps, guidance) From a7d5dabde3facb57d069eba0aa91e961e04303ad Mon Sep 17 00:00:00 2001 From: Kohya S Date: Mon, 12 Aug 2024 17:09:19 +0900 Subject: [PATCH 139/748] Update readme --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index c0d50a5a2..19aed2212 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,12 @@ We have added a new training script for LoRA training. The script is `flux_train accelerate launch --mixed_precision bf16 --num_cpu_threads_per_process 1 flux_train_network.py --pretrained_model_name_or_path flux1-dev.sft --clip_l sd3/clip_l.safetensors --t5xxl sd3/t5xxl_fp16.safetensors --ae ae.sft --cache_latents_to_disk --save_model_as safetensors --sdpa --persistent_data_loader_workers --max_data_loader_n_workers 2 --seed 42 --gradient_checkpointing --mixed_precision bf16 --save_precision bf16 --network_module networks.lora_flux --network_dim 4 --optimizer_type adamw8bit --learning_rate 1e-4 --network_train_unet_only --cache_text_encoder_outputs --cache_text_encoder_outputs_to_disk --fp8_base --highvram --max_train_epochs 4 --save_every_n_epochs 1 --dataset_config dataset_1024_bs2.toml --output_dir path/to/output/dir --output_name flux-lora-name --timestep_sampling sigmoid --model_prediction_type raw --guidance_scale 1.0 --loss_type l2 ``` +The training can be done with 16GB VRAM GPUs with Adafactor optimizer. Please use settings like below: + +``` +--optimizer_type adafactor --optimizer_args "relative_step=False" "scale_parameter=False" "warmup_init=False"` +``` + LoRAs for Text Encoders are not tested yet. We have added some new options (Aug 10, 2024): `--time_sampling`, `--sigmoid_scale`, `--model_prediction_type` and `--discrete_flow_shift`. The options are as follows: From 0415d200f5f3db89e33b33c9b36cb3c3e15d0266 Mon Sep 17 00:00:00 2001 From: kohya-ss Date: Tue, 13 Aug 2024 21:00:16 +0900 Subject: [PATCH 140/748] update dependencies closes #1450 --- requirements.txt | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/requirements.txt b/requirements.txt index e99775b8a..4ee19b3ee 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,12 +1,12 @@ -accelerate==0.25.0 -transformers==4.36.2 +accelerate==0.33.0 +transformers==4.44.0 diffusers[torch]==0.25.0 ftfy==6.1.1 # albumentations==1.3.0 opencv-python==4.7.0.68 einops==0.7.0 pytorch-lightning==1.9.0 -bitsandbytes==0.43.0 +bitsandbytes==0.43.3 prodigyopt==1.0 lion-pytorch==0.0.6 tensorboard @@ -16,7 +16,7 @@ altair==4.2.2 easygui==0.98.3 toml==0.10.2 voluptuous==0.13.1 -huggingface-hub==0.20.1 +huggingface-hub==0.24.5 # for Image utils imagesize==1.4.1 # for BLIP captioning @@ -38,5 +38,7 @@ imagesize==1.4.1 # open-clip-torch==2.20.0 # For logging rich==13.7.0 +# for T5XXL tokenizer (SD3/FLUX) +sentencepiece==0.2.0 # for kohya_ss library -e . From 9711c96f96038df5fa1a15d073244198b93ef0a2 Mon Sep 17 00:00:00 2001 From: kohya-ss Date: Tue, 13 Aug 2024 21:03:17 +0900 Subject: [PATCH 141/748] update README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 19aed2212..3eb034ed4 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Aug 11, 2024: Fix `--apply_t5_attn_mask` option to work. Please remove and re-ge Aug 10, 2024: LoRA key prefix is changed to `lora_unet` from `lora_flex` to make it compatible with ComfyUI. -Please update PyTorch to 2.4.0. We have tested with PyTorch 2.4.0 with CUDA 12.4. We also updated `accelerate` to 0.33.0 just to be safe. +__Please update PyTorch to 2.4.0. We have tested with PyTorch 2.4.0 with CUDA 12.4. We also updated `accelerate` to 0.33.0 just to be safe. `requirements.txt` is also updated, so please update the requirements.__ We have added a new training script for LoRA training. The script is `flux_train_network.py`. See `--help` for options. Sample command is below, settings are based on [AI Toolkit by Ostris](https://github.com/ostris/ai-toolkit). It will work with 24GB VRAM GPUs. From 56d7651f0895c805c403a8db01083a522503eb7d Mon Sep 17 00:00:00 2001 From: Kohya S Date: Tue, 13 Aug 2024 22:28:39 +0900 Subject: [PATCH 142/748] add experimental split mode for FLUX --- README.md | 22 +++++- flux_train_network.py | 110 +++++++++++++++++++++++---- library/flux_models.py | 165 +++++++++++++++++++++++++++++++++++++++++ networks/lora_flux.py | 30 ++++++-- 4 files changed, 304 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index 3eb034ed4..64b018804 100644 --- a/README.md +++ b/README.md @@ -4,12 +4,22 @@ This repository contains training, generation and utility scripts for Stable Dif This feature is experimental. The options and the training script may change in the future. Please let us know if you have any idea to improve the training. +__Please update PyTorch to 2.4.0. We have tested with PyTorch 2.4.0 with CUDA 12.4. We also updated `accelerate` to 0.33.0 just to be safe. `requirements.txt` is also updated, so please update the requirements.__ + +Aug 13, 2024: + +__Experimental__ A network argument `train_blocks` is added to `lora_flux`. This is to select the target blocks of LoRA from FLUX double blocks and single blocks. Specify like `--network_args "train_blocks=single"`. `all` trains both double blocks and single blocks, `double` trains only double blocks, and `single` trains only single blocks. The default (omission) is `all`. + +This argument is available even if `--split_mode` is not specified. + +__Experimental__ `--split_mode` option is added to `flux_train_network.py`. This splits FLUX into double blocks and single blocks for training. By enabling gradients only for the single blocks part, memory usage is reduced. When this option is specified, you need to specify `"train_blocks=single"` in the network arguments. + +This option enables training with 12GB VRAM GPUs, but the training speed is 2-3 times slower than the default. + Aug 11, 2024: Fix `--apply_t5_attn_mask` option to work. Please remove and re-generate the latents cache file if you have used the option before. Aug 10, 2024: LoRA key prefix is changed to `lora_unet` from `lora_flex` to make it compatible with ComfyUI. -__Please update PyTorch to 2.4.0. We have tested with PyTorch 2.4.0 with CUDA 12.4. We also updated `accelerate` to 0.33.0 just to be safe. `requirements.txt` is also updated, so please update the requirements.__ - We have added a new training script for LoRA training. The script is `flux_train_network.py`. See `--help` for options. Sample command is below, settings are based on [AI Toolkit by Ostris](https://github.com/ostris/ai-toolkit). It will work with 24GB VRAM GPUs. ``` @@ -19,7 +29,13 @@ accelerate launch --mixed_precision bf16 --num_cpu_threads_per_process 1 flux_t The training can be done with 16GB VRAM GPUs with Adafactor optimizer. Please use settings like below: ``` ---optimizer_type adafactor --optimizer_args "relative_step=False" "scale_parameter=False" "warmup_init=False"` +--optimizer_type adafactor --optimizer_args "relative_step=False" "scale_parameter=False" "warmup_init=False" +``` + +The training can be done with 12GB VRAM GPUs with Adafactor optimizer, `--split_mode` and `train_blocks=single` options. Please use settings like below: + +``` +--optimizer_type adafactor --optimizer_args "relative_step=False" "scale_parameter=False" "warmup_init=False" --split_mode --network_args "train_blocks=single" ``` LoRAs for Text Encoders are not tested yet. diff --git a/flux_train_network.py b/flux_train_network.py index 59a666aae..1d1f00d84 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -37,10 +37,16 @@ def assert_extra_args(self, args, train_dataset_group): args.network_train_unet_only or not args.cache_text_encoder_outputs ), "network for Text Encoder cannot be trained with caching Text Encoder outputs / Text Encoderの出力をキャッシュしながらText Encoderのネットワークを学習することはできません" - train_dataset_group.verify_bucket_reso_steps(32) + train_dataset_group.verify_bucket_reso_steps(32) # TODO check this def load_target_model(self, args, weight_dtype, accelerator): # currently offload to cpu for some models + name = "schnell" if "schnell" in args.pretrained_model_name_or_path else "dev" # TODO change this to a more robust way + # if we load to cpu, flux.to(fp8) takes a long time + model = flux_utils.load_flow_model(name, args.pretrained_model_name_or_path, weight_dtype, "cpu") + + if args.split_mode: + model = self.prepare_split_model(model, weight_dtype, accelerator) clip_l = flux_utils.load_clip_l(args.clip_l, weight_dtype, "cpu") clip_l.eval() @@ -49,13 +55,47 @@ def load_target_model(self, args, weight_dtype, accelerator): t5xxl = flux_utils.load_t5xxl(args.t5xxl, weight_dtype, "cpu") t5xxl.eval() - name = "schnell" if "schnell" in args.pretrained_model_name_or_path else "dev" # TODO change this to a more robust way - # if we load to cpu, flux.to(fp8) takes a long time - model = flux_utils.load_flow_model(name, args.pretrained_model_name_or_path, weight_dtype, "cpu") ae = flux_utils.load_ae(name, args.ae, weight_dtype, "cpu") return flux_utils.MODEL_VERSION_FLUX_V1, [clip_l, t5xxl], ae, model + def prepare_split_model(self, model, weight_dtype, accelerator): + from accelerate import init_empty_weights + + logger.info("prepare split model") + with init_empty_weights(): + flux_upper = flux_models.FluxUpper(model.params) + flux_lower = flux_models.FluxLower(model.params) + sd = model.state_dict() + + # lower (trainable) + logger.info("load state dict for lower") + flux_lower.load_state_dict(sd, strict=False, assign=True) + flux_lower.to(dtype=weight_dtype) + + # upper (frozen) + logger.info("load state dict for upper") + flux_upper.load_state_dict(sd, strict=False, assign=True) + + logger.info("prepare upper model") + target_dtype = torch.float8_e4m3fn if args.fp8_base else weight_dtype + flux_upper.to(accelerator.device, dtype=target_dtype) + flux_upper.eval() + + if args.fp8_base: + # this is required to run on fp8 + flux_upper = accelerator.prepare(flux_upper) + + flux_upper.to("cpu") + + self.flux_upper = flux_upper + del model # we don't need model anymore + clean_memory_on_device(accelerator.device) + + logger.info("split model prepared") + + return flux_lower + def get_tokenize_strategy(self, args): return strategy_flux.FluxTokenizeStrategy(args.max_token_length, args.tokenizer_cache_dir) @@ -262,17 +302,51 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): # f"model_input: {noisy_model_input.shape}, img_ids: {img_ids.shape}, t5_out: {t5_out.shape}, txt_ids: {txt_ids.shape}, l_pooled: {l_pooled.shape}, timesteps: {timesteps.shape}, guidance_vec: {guidance_vec.shape}" # ) - with accelerator.autocast(): - # YiYi notes: divide it by 1000 for now because we scale it by 1000 in the transformer model (we should not keep it but I want to keep the inputs same for the model for testing) - model_pred = unet( - img=packed_noisy_model_input, - img_ids=img_ids, - txt=t5_out, - txt_ids=txt_ids, - y=l_pooled, - timesteps=timesteps / 1000, - guidance=guidance_vec, - ) + if not args.split_mode: + # normal forward + with accelerator.autocast(): + # YiYi notes: divide it by 1000 for now because we scale it by 1000 in the transformer model (we should not keep it but I want to keep the inputs same for the model for testing) + model_pred = unet( + img=packed_noisy_model_input, + img_ids=img_ids, + txt=t5_out, + txt_ids=txt_ids, + y=l_pooled, + timesteps=timesteps / 1000, + guidance=guidance_vec, + ) + else: + # split forward to reduce memory usage + assert network.train_blocks == "single", "train_blocks must be single for split mode" + with accelerator.autocast(): + # move flux lower to cpu, and then move flux upper to gpu + unet.to("cpu") + clean_memory_on_device(accelerator.device) + self.flux_upper.to(accelerator.device) + + # upper model does not require grad + with torch.no_grad(): + intermediate_img, intermediate_txt, vec, pe = self.flux_upper( + img=packed_noisy_model_input, + img_ids=img_ids, + txt=t5_out, + txt_ids=txt_ids, + y=l_pooled, + timesteps=timesteps / 1000, + guidance=guidance_vec, + ) + + # move flux upper back to cpu, and then move flux lower to gpu + self.flux_upper.to("cpu") + clean_memory_on_device(accelerator.device) + unet.to(accelerator.device) + + # lower model requires grad + intermediate_img.requires_grad_(True) + intermediate_txt.requires_grad_(True) + vec.requires_grad_(True) + pe.requires_grad_(True) + model_pred = unet(img=intermediate_img, txt=intermediate_txt, vec=vec, pe=pe) # unpack latents model_pred = flux_utils.unpack_latents(model_pred, packed_latent_height, packed_latent_width) @@ -331,6 +405,12 @@ def setup_parser() -> argparse.ArgumentParser: action="store_true", help="cache text encoder outputs to disk / text encoderの出力をディスクにキャッシュする", ) + parser.add_argument( + "--split_mode", + action="store_true", + help="[EXPERIMENTAL] use split mode for Flux model, network arg `train_blocks=single` is required" + + "/[実験的] Fluxモデルの分割モードを使用する。ネットワーク引数`train_blocks=single`が必要", + ) # copy from Diffusers parser.add_argument( diff --git a/library/flux_models.py b/library/flux_models.py index 92c79bcca..3c7766b85 100644 --- a/library/flux_models.py +++ b/library/flux_models.py @@ -918,3 +918,168 @@ def forward( img = self.final_layer(img, vec) # (N, T, patch_size ** 2 * out_channels) return img + + +class FluxUpper(nn.Module): + """ + Transformer model for flow matching on sequences. + """ + + def __init__(self, params: FluxParams): + super().__init__() + + self.params = params + self.in_channels = params.in_channels + self.out_channels = self.in_channels + if params.hidden_size % params.num_heads != 0: + raise ValueError(f"Hidden size {params.hidden_size} must be divisible by num_heads {params.num_heads}") + pe_dim = params.hidden_size // params.num_heads + if sum(params.axes_dim) != pe_dim: + raise ValueError(f"Got {params.axes_dim} but expected positional dim {pe_dim}") + self.hidden_size = params.hidden_size + self.num_heads = params.num_heads + self.pe_embedder = EmbedND(dim=pe_dim, theta=params.theta, axes_dim=params.axes_dim) + self.img_in = nn.Linear(self.in_channels, self.hidden_size, bias=True) + self.time_in = MLPEmbedder(in_dim=256, hidden_dim=self.hidden_size) + self.vector_in = MLPEmbedder(params.vec_in_dim, self.hidden_size) + self.guidance_in = MLPEmbedder(in_dim=256, hidden_dim=self.hidden_size) if params.guidance_embed else nn.Identity() + self.txt_in = nn.Linear(params.context_in_dim, self.hidden_size) + + self.double_blocks = nn.ModuleList( + [ + DoubleStreamBlock( + self.hidden_size, + self.num_heads, + mlp_ratio=params.mlp_ratio, + qkv_bias=params.qkv_bias, + ) + for _ in range(params.depth) + ] + ) + + self.gradient_checkpointing = False + + @property + def device(self): + return next(self.parameters()).device + + @property + def dtype(self): + return next(self.parameters()).dtype + + def enable_gradient_checkpointing(self): + self.gradient_checkpointing = True + + self.time_in.enable_gradient_checkpointing() + self.vector_in.enable_gradient_checkpointing() + self.guidance_in.enable_gradient_checkpointing() + + for block in self.double_blocks: + block.enable_gradient_checkpointing() + + print("FLUX: Gradient checkpointing enabled.") + + def disable_gradient_checkpointing(self): + self.gradient_checkpointing = False + + self.time_in.disable_gradient_checkpointing() + self.vector_in.disable_gradient_checkpointing() + self.guidance_in.disable_gradient_checkpointing() + + for block in self.double_blocks: + block.disable_gradient_checkpointing() + + print("FLUX: Gradient checkpointing disabled.") + + def forward( + self, + img: Tensor, + img_ids: Tensor, + txt: Tensor, + txt_ids: Tensor, + timesteps: Tensor, + y: Tensor, + guidance: Tensor | None = None, + ) -> Tensor: + if img.ndim != 3 or txt.ndim != 3: + raise ValueError("Input img and txt tensors must have 3 dimensions.") + + # running on sequences img + img = self.img_in(img) + vec = self.time_in(timestep_embedding(timesteps, 256)) + if self.params.guidance_embed: + if guidance is None: + raise ValueError("Didn't get guidance strength for guidance distilled model.") + vec = vec + self.guidance_in(timestep_embedding(guidance, 256)) + vec = vec + self.vector_in(y) + txt = self.txt_in(txt) + + ids = torch.cat((txt_ids, img_ids), dim=1) + pe = self.pe_embedder(ids) + + for block in self.double_blocks: + img, txt = block(img=img, txt=txt, vec=vec, pe=pe) + + return img, txt, vec, pe + + +class FluxLower(nn.Module): + """ + Transformer model for flow matching on sequences. + """ + + def __init__(self, params: FluxParams): + super().__init__() + self.hidden_size = params.hidden_size + self.num_heads = params.num_heads + self.out_channels = params.in_channels + + self.single_blocks = nn.ModuleList( + [ + SingleStreamBlock(self.hidden_size, self.num_heads, mlp_ratio=params.mlp_ratio) + for _ in range(params.depth_single_blocks) + ] + ) + + self.final_layer = LastLayer(self.hidden_size, 1, self.out_channels) + + self.gradient_checkpointing = False + + @property + def device(self): + return next(self.parameters()).device + + @property + def dtype(self): + return next(self.parameters()).dtype + + def enable_gradient_checkpointing(self): + self.gradient_checkpointing = True + + for block in self.single_blocks: + block.enable_gradient_checkpointing() + + print("FLUX: Gradient checkpointing enabled.") + + def disable_gradient_checkpointing(self): + self.gradient_checkpointing = False + + for block in self.single_blocks: + block.disable_gradient_checkpointing() + + print("FLUX: Gradient checkpointing disabled.") + + def forward( + self, + img: Tensor, + txt: Tensor, + vec: Tensor | None = None, + pe: Tensor | None = None, + ) -> Tensor: + img = torch.cat((txt, img), 1) + for block in self.single_blocks: + img = block(img, vec=vec, pe=pe) + img = img[:, txt.shape[1] :, ...] + + img = self.final_layer(img, vec) # (N, T, patch_size ** 2 * out_channels) + return img diff --git a/networks/lora_flux.py b/networks/lora_flux.py index a4dab287a..4da33542f 100644 --- a/networks/lora_flux.py +++ b/networks/lora_flux.py @@ -252,6 +252,11 @@ def create_network( if module_dropout is not None: module_dropout = float(module_dropout) + # single or double blocks + train_blocks = kwargs.get("train_blocks", None) # None (default), "all" (same as None), "single", "double" + if train_blocks is not None: + assert train_blocks in ["all", "single", "double"], f"invalid train_blocks: {train_blocks}" + # すごく引数が多いな ( ^ω^)・・・ network = LoRANetwork( text_encoders, @@ -264,6 +269,7 @@ def create_network( module_dropout=module_dropout, conv_lora_dim=conv_dim, conv_alpha=conv_alpha, + train_blocks=train_blocks, varbose=True, ) @@ -314,9 +320,11 @@ def create_network_from_weights(multiplier, file, ae, text_encoders, flux, weigh class LoRANetwork(torch.nn.Module): - FLUX_TARGET_REPLACE_MODULE = ["DoubleStreamBlock", "SingleStreamBlock"] + # FLUX_TARGET_REPLACE_MODULE = ["DoubleStreamBlock", "SingleStreamBlock"] + FLUX_TARGET_REPLACE_MODULE_DOUBLE = ["DoubleStreamBlock"] + FLUX_TARGET_REPLACE_MODULE_SINGLE = ["SingleStreamBlock"] TEXT_ENCODER_TARGET_REPLACE_MODULE = ["CLIPAttention", "CLIPMLP"] - LORA_PREFIX_FLUX = "lora_unet" # make ComfyUI compatible + LORA_PREFIX_FLUX = "lora_unet" # make ComfyUI compatible LORA_PREFIX_TEXT_ENCODER_CLIP = "lora_te1" LORA_PREFIX_TEXT_ENCODER_T5 = "lora_te2" @@ -335,6 +343,7 @@ def __init__( module_class: Type[object] = LoRAModule, modules_dim: Optional[Dict[str, int]] = None, modules_alpha: Optional[Dict[str, int]] = None, + train_blocks: Optional[str] = None, varbose: Optional[bool] = False, ) -> None: super().__init__() @@ -347,6 +356,7 @@ def __init__( self.dropout = dropout self.rank_dropout = rank_dropout self.module_dropout = module_dropout + self.train_blocks = train_blocks if train_blocks is not None else "all" self.loraplus_lr_ratio = None self.loraplus_unet_lr_ratio = None @@ -360,7 +370,9 @@ def __init__( f"neuron dropout: p={self.dropout}, rank dropout: p={self.rank_dropout}, module dropout: p={self.module_dropout}" ) if self.conv_lora_dim is not None: - logger.info(f"apply LoRA to Conv2d with kernel size (3,3). dim (rank): {self.conv_lora_dim}, alpha: {self.conv_alpha}") + logger.info( + f"apply LoRA to Conv2d with kernel size (3,3). dim (rank): {self.conv_lora_dim}, alpha: {self.conv_alpha}" + ) # create module instances def create_modules( @@ -434,9 +446,17 @@ def create_modules( skipped_te += skipped logger.info(f"create LoRA for Text Encoder: {len(self.text_encoder_loras)} modules.") + # create LoRA for U-Net + if self.train_blocks == "all": + target_replace_modules = LoRANetwork.FLUX_TARGET_REPLACE_MODULE_DOUBLE + LoRANetwork.FLUX_TARGET_REPLACE_MODULE_SINGLE + elif self.train_blocks == "single": + target_replace_modules = LoRANetwork.FLUX_TARGET_REPLACE_MODULE_SINGLE + elif self.train_blocks == "double": + target_replace_modules = LoRANetwork.FLUX_TARGET_REPLACE_MODULE_DOUBLE + self.unet_loras: List[Union[LoRAModule, LoRAInfModule]] - self.unet_loras, skipped_un = create_modules(True, None, unet, LoRANetwork.FLUX_TARGET_REPLACE_MODULE) - logger.info(f"create LoRA for U-Net: {len(self.unet_loras)} modules.") + self.unet_loras, skipped_un = create_modules(True, None, unet, target_replace_modules) + logger.info(f"create LoRA for FLUX {self.train_blocks} blocks: {len(self.unet_loras)} modules.") skipped = skipped_te + skipped_un if varbose and len(skipped) > 0: From 9760d097b0bd7efbeb065d4320b2216a94e76efd Mon Sep 17 00:00:00 2001 From: DukeG Date: Wed, 14 Aug 2024 19:58:54 +0800 Subject: [PATCH 143/748] Fix AttributeError: 'T5EncoderModel' object has no attribute 'text_model' While loading T5 model in GPU. --- train_network.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/train_network.py b/train_network.py index 367203f54..405aa747c 100644 --- a/train_network.py +++ b/train_network.py @@ -540,9 +540,13 @@ def train(self, args): # in case of cpu, dtype is already set to fp32 because cpu does not support fp8/fp16/bf16 if t_enc.device.type != "cpu": t_enc.to(dtype=te_weight_dtype) - if hasattr(t_enc.text_model, "embeddings"): + if hasattr(t_enc, "text_model") and hasattr(t_enc.text_model, "embeddings"): # nn.Embedding not support FP8 - t_enc.text_model.embeddings.to(dtype=(weight_dtype if te_weight_dtype != weight_dtype else te_weight_dtype)) + t_enc.text_model.embeddings.to( + dtype=(weight_dtype if te_weight_dtype != weight_dtype else te_weight_dtype)) + elif hasattr(t_enc, "encoder") and hasattr(t_enc.encoder, "embeddings"): + t_enc.encoder.embeddings.to( + dtype=(weight_dtype if te_weight_dtype != weight_dtype else te_weight_dtype)) # acceleratorがなんかよろしくやってくれるらしい / accelerator will do something good if args.deepspeed: From 7db422211907df3c50703b419655202276a53301 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Wed, 14 Aug 2024 22:15:26 +0900 Subject: [PATCH 144/748] add sample image generation during training --- README.md | 2 + flux_train_network.py | 67 +++++++- library/flux_train_utils.py | 297 ++++++++++++++++++++++++++++++++++++ train_network.py | 13 +- 4 files changed, 374 insertions(+), 5 deletions(-) create mode 100644 library/flux_train_utils.py diff --git a/README.md b/README.md index 64b018804..7dc954fbc 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,8 @@ This feature is experimental. The options and the training script may change in __Please update PyTorch to 2.4.0. We have tested with PyTorch 2.4.0 with CUDA 12.4. We also updated `accelerate` to 0.33.0 just to be safe. `requirements.txt` is also updated, so please update the requirements.__ +Aug 14, 2024: Sample image generation during training is now supported. Specify options such as `--sample_prompts` and `--sample_every_n_epochs`. It will be very slow when `--split_mode` is specified. + Aug 13, 2024: __Experimental__ A network argument `train_blocks` is added to `lora_flux`. This is to select the target blocks of LoRA from FLUX double blocks and single blocks. Specify like `--network_args "train_blocks=single"`. `all` trains both double blocks and single blocks, `double` trains only double blocks, and `single` trains only single blocks. The default (omission) is `all`. diff --git a/flux_train_network.py b/flux_train_network.py index 1d1f00d84..b8ea56223 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -10,7 +10,7 @@ init_ipex() -from library import flux_models, flux_utils, sd3_train_utils, sd3_utils, sdxl_model_util, sdxl_train_util, strategy_flux, train_util +from library import flux_models, flux_train_utils, flux_utils, sd3_train_utils, strategy_base, strategy_flux, train_util import train_network from library.utils import setup_logging @@ -28,6 +28,12 @@ def assert_extra_args(self, args, train_dataset_group): super().assert_extra_args(args, train_dataset_group) # sdxl_train_util.verify_sdxl_training_args(args) + if args.cache_text_encoder_outputs_to_disk and not args.cache_text_encoder_outputs: + logger.warning( + "cache_text_encoder_outputs_to_disk is enabled, so cache_text_encoder_outputs is also enabled / cache_text_encoder_outputs_to_diskが有効になっているため、cache_text_encoder_outputsも有効になります" + ) + args.cache_text_encoder_outputs = True + if args.cache_text_encoder_outputs: assert ( train_dataset_group.is_text_encoder_output_cacheable() @@ -139,8 +145,31 @@ def cache_text_encoder_outputs_if_needed( text_encoders[1].to(accelerator.device, dtype=weight_dtype) with accelerator.autocast(): dataset.new_cache_text_encoder_outputs(text_encoders, accelerator.is_main_process) + + # cache sample prompts + self.sample_prompts_te_outputs = None + if args.sample_prompts is not None: + logger.info(f"cache Text Encoder outputs for sample prompt: {args.sample_prompts}") + + tokenize_strategy: strategy_flux.FluxTokenizeStrategy = strategy_base.TokenizeStrategy.get_strategy() + text_encoding_strategy: strategy_flux.FluxTextEncodingStrategy = strategy_base.TextEncodingStrategy.get_strategy() + + prompts = sd3_train_utils.load_prompts(args.sample_prompts) + sample_prompts_te_outputs = {} # key: prompt, value: text encoder outputs + with accelerator.autocast(), torch.no_grad(): + for prompt_dict in prompts: + for p in [prompt_dict.get("prompt", ""), prompt_dict.get("negative_prompt", "")]: + if p not in sample_prompts_te_outputs: + logger.info(f"cache Text Encoder outputs for prompt: {p}") + tokens_and_masks = tokenize_strategy.tokenize(p) + sample_prompts_te_outputs[p] = text_encoding_strategy.encode_tokens( + tokenize_strategy, text_encoders, tokens_and_masks, args.apply_t5_attn_mask + ) + self.sample_prompts_te_outputs = sample_prompts_te_outputs + accelerator.wait_for_everyone() + # move back to cpu logger.info("move text encoders back to cpu") text_encoders[0].to("cpu") # , dtype=torch.float32) # Text Encoder doesn't work with fp16 on CPU text_encoders[1].to("cpu") # , dtype=torch.float32) @@ -172,9 +201,36 @@ def cache_text_encoder_outputs_if_needed( # noise_pred = unet(noisy_latents, timesteps, text_embedding, vector_embedding) # return noise_pred - def sample_images(self, accelerator, args, epoch, global_step, device, vae, tokenizer, text_encoder, unet): - # logger.warning("Sampling images is not supported for Flux model") - pass + def sample_images(self, accelerator, args, epoch, global_step, device, ae, tokenizer, text_encoder, flux): + if not args.split_mode: + flux_train_utils.sample_images( + accelerator, args, epoch, global_step, flux, ae, text_encoder, self.sample_prompts_te_outputs + ) + return + + class FluxUpperLowerWrapper(torch.nn.Module): + def __init__(self, flux_upper: flux_models.FluxUpper, flux_lower: flux_models.FluxLower, device: torch.device): + super().__init__() + self.flux_upper = flux_upper + self.flux_lower = flux_lower + self.target_device = device + + def forward(self, img, img_ids, txt, txt_ids, timesteps, y, guidance=None): + self.flux_lower.to("cpu") + clean_memory_on_device(self.target_device) + self.flux_upper.to(self.target_device) + img, txt, vec, pe = self.flux_upper(img, img_ids, txt, txt_ids, timesteps, y, guidance) + self.flux_upper.to("cpu") + clean_memory_on_device(self.target_device) + self.flux_lower.to(self.target_device) + return self.flux_lower(img, txt, vec, pe) + + wrapper = FluxUpperLowerWrapper(self.flux_upper, flux, accelerator.device) + clean_memory_on_device(accelerator.device) + flux_train_utils.sample_images( + accelerator, args, epoch, global_step, wrapper, ae, text_encoder, self.sample_prompts_te_outputs + ) + clean_memory_on_device(accelerator.device) def get_noise_scheduler(self, args: argparse.Namespace, device: torch.device) -> Any: noise_scheduler = sd3_train_utils.FlowMatchEulerDiscreteScheduler(num_train_timesteps=1000, shift=args.discrete_flow_shift) @@ -389,6 +445,9 @@ def update_metadata(self, metadata, args): metadata["ss_model_prediction_type"] = args.model_prediction_type metadata["ss_discrete_flow_shift"] = args.discrete_flow_shift + def is_text_encoder_not_needed_for_training(self, args): + return args.cache_text_encoder_outputs + def setup_parser() -> argparse.ArgumentParser: parser = train_network.setup_parser() diff --git a/library/flux_train_utils.py b/library/flux_train_utils.py new file mode 100644 index 000000000..91f522389 --- /dev/null +++ b/library/flux_train_utils.py @@ -0,0 +1,297 @@ +import argparse +import math +import os +import numpy as np +import toml +import json +import time +from typing import Callable, Dict, List, Optional, Tuple, Union + +import torch +from accelerate import Accelerator, PartialState +from transformers import CLIPTextModel +from tqdm import tqdm +from PIL import Image + +from library import flux_models, flux_utils, strategy_base +from library.sd3_train_utils import load_prompts +from library.device_utils import init_ipex, clean_memory_on_device + +init_ipex() + +from .utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + + +def sample_images( + accelerator: Accelerator, + args: argparse.Namespace, + epoch, + steps, + flux, + ae, + text_encoders, + sample_prompts_te_outputs, + prompt_replacement=None, +): + if steps == 0: + if not args.sample_at_first: + return + else: + if args.sample_every_n_steps is None and args.sample_every_n_epochs is None: + return + if args.sample_every_n_epochs is not None: + # sample_every_n_steps は無視する + if epoch is None or epoch % args.sample_every_n_epochs != 0: + return + else: + if steps % args.sample_every_n_steps != 0 or epoch is not None: # steps is not divisible or end of epoch + return + + logger.info("") + logger.info(f"generating sample images at step / サンプル画像生成 ステップ: {steps}") + if not os.path.isfile(args.sample_prompts): + logger.error(f"No prompt file / プロンプトファイルがありません: {args.sample_prompts}") + return + + distributed_state = PartialState() # for multi gpu distributed inference. this is a singleton, so it's safe to use it here + + # unwrap unet and text_encoder(s) + flux = accelerator.unwrap_model(flux) + text_encoders = [accelerator.unwrap_model(te) for te in text_encoders] + # print([(te.parameters().__next__().device if te is not None else None) for te in text_encoders]) + + prompts = load_prompts(args.sample_prompts) + + save_dir = args.output_dir + "/sample" + os.makedirs(save_dir, exist_ok=True) + + # save random state to restore later + rng_state = torch.get_rng_state() + cuda_rng_state = None + try: + cuda_rng_state = torch.cuda.get_rng_state() if torch.cuda.is_available() else None + except Exception: + pass + + if distributed_state.num_processes <= 1: + # If only one device is available, just use the original prompt list. We don't need to care about the distribution of prompts. + with torch.no_grad(): + for prompt_dict in prompts: + sample_image_inference( + accelerator, + args, + flux, + text_encoders, + ae, + save_dir, + prompt_dict, + epoch, + steps, + sample_prompts_te_outputs, + prompt_replacement, + ) + else: + # Creating list with N elements, where each element is a list of prompt_dicts, and N is the number of processes available (number of devices available) + # prompt_dicts are assigned to lists based on order of processes, to attempt to time the image creation time to match enum order. Probably only works when steps and sampler are identical. + per_process_prompts = [] # list of lists + for i in range(distributed_state.num_processes): + per_process_prompts.append(prompts[i :: distributed_state.num_processes]) + + with torch.no_grad(): + with distributed_state.split_between_processes(per_process_prompts) as prompt_dict_lists: + for prompt_dict in prompt_dict_lists[0]: + sample_image_inference( + accelerator, + args, + flux, + text_encoders, + ae, + save_dir, + prompt_dict, + epoch, + steps, + sample_prompts_te_outputs, + prompt_replacement, + ) + + torch.set_rng_state(rng_state) + if cuda_rng_state is not None: + torch.cuda.set_rng_state(cuda_rng_state) + + clean_memory_on_device(accelerator.device) + + +def sample_image_inference( + accelerator: Accelerator, + args: argparse.Namespace, + flux: flux_models.Flux, + text_encoders: List[CLIPTextModel], + ae: flux_models.AutoEncoder, + save_dir, + prompt_dict, + epoch, + steps, + sample_prompts_te_outputs, + prompt_replacement, +): + assert isinstance(prompt_dict, dict) + # negative_prompt = prompt_dict.get("negative_prompt") + sample_steps = prompt_dict.get("sample_steps", 20) + width = prompt_dict.get("width", 512) + height = prompt_dict.get("height", 512) + scale = prompt_dict.get("scale", 3.5) + seed = prompt_dict.get("seed") + # controlnet_image = prompt_dict.get("controlnet_image") + prompt: str = prompt_dict.get("prompt", "") + # sampler_name: str = prompt_dict.get("sample_sampler", args.sample_sampler) + + if prompt_replacement is not None: + prompt = prompt.replace(prompt_replacement[0], prompt_replacement[1]) + # if negative_prompt is not None: + # negative_prompt = negative_prompt.replace(prompt_replacement[0], prompt_replacement[1]) + + if seed is not None: + torch.manual_seed(seed) + torch.cuda.manual_seed(seed) + else: + # True random sample image generation + torch.seed() + torch.cuda.seed() + + # if negative_prompt is None: + # negative_prompt = "" + + height = max(64, height - height % 16) # round to divisible by 16 + width = max(64, width - width % 16) # round to divisible by 16 + logger.info(f"prompt: {prompt}") + # logger.info(f"negative_prompt: {negative_prompt}") + logger.info(f"height: {height}") + logger.info(f"width: {width}") + logger.info(f"sample_steps: {sample_steps}") + logger.info(f"scale: {scale}") + # logger.info(f"sample_sampler: {sampler_name}") + if seed is not None: + logger.info(f"seed: {seed}") + + # encode prompts + tokenize_strategy = strategy_base.TokenizeStrategy.get_strategy() + encoding_strategy = strategy_base.TextEncodingStrategy.get_strategy() + + if sample_prompts_te_outputs and prompt in sample_prompts_te_outputs: + te_outputs = sample_prompts_te_outputs[prompt] + else: + tokens_and_masks = tokenize_strategy.tokenize(prompt) + te_outputs = encoding_strategy.encode_tokens(tokenize_strategy, text_encoders, tokens_and_masks) + + l_pooled, t5_out, txt_ids = te_outputs + + # sample image + weight_dtype = ae.dtype # TOFO give dtype as argument + packed_latent_height = height // 16 + packed_latent_width = width // 16 + noise = torch.randn( + 1, + packed_latent_height * packed_latent_width, + 16 * 2 * 2, + device=accelerator.device, + dtype=weight_dtype, + generator=torch.Generator(device=accelerator.device).manual_seed(seed) if seed is not None else None, + ) + timesteps = get_schedule(sample_steps, noise.shape[1], shift=True) # FLUX.1 dev -> shift=True + img_ids = flux_utils.prepare_img_ids(1, packed_latent_height, packed_latent_width).to(accelerator.device, weight_dtype) + + with accelerator.autocast(), torch.no_grad(): + x = denoise(flux, noise, img_ids, t5_out, txt_ids, l_pooled, timesteps=timesteps, guidance=scale) + + x = x.float() + x = flux_utils.unpack_latents(x, packed_latent_height, packed_latent_width) + + # latent to image + clean_memory_on_device(accelerator.device) + org_vae_device = ae.device # will be on cpu + ae.to(accelerator.device) # distributed_state.device is same as accelerator.device + with accelerator.autocast(), torch.no_grad(): + x = ae.decode(x) + ae.to(org_vae_device) + clean_memory_on_device(accelerator.device) + + x = x.clamp(-1, 1) + x = x.permute(0, 2, 3, 1) + image = Image.fromarray((127.5 * (x + 1.0)).float().cpu().numpy().astype(np.uint8)[0]) + + # adding accelerator.wait_for_everyone() here should sync up and ensure that sample images are saved in the same order as the original prompt list + # but adding 'enum' to the filename should be enough + + ts_str = time.strftime("%Y%m%d%H%M%S", time.localtime()) + num_suffix = f"e{epoch:06d}" if epoch is not None else f"{steps:06d}" + seed_suffix = "" if seed is None else f"_{seed}" + i: int = prompt_dict["enum"] + img_filename = f"{'' if args.output_name is None else args.output_name + '_'}{num_suffix}_{i:02d}_{ts_str}{seed_suffix}.png" + image.save(os.path.join(save_dir, img_filename)) + + # wandb有効時のみログを送信 + try: + wandb_tracker = accelerator.get_tracker("wandb") + try: + import wandb + except ImportError: # 事前に一度確認するのでここはエラー出ないはず + raise ImportError("No wandb / wandb がインストールされていないようです") + + wandb_tracker.log({f"sample_{i}": wandb.Image(image)}) + except: # wandb 無効時 + pass + + +def time_shift(mu: float, sigma: float, t: torch.Tensor): + return math.exp(mu) / (math.exp(mu) + (1 / t - 1) ** sigma) + + +def get_lin_function(x1: float = 256, y1: float = 0.5, x2: float = 4096, y2: float = 1.15) -> Callable[[float], float]: + m = (y2 - y1) / (x2 - x1) + b = y1 - m * x1 + return lambda x: m * x + b + + +def get_schedule( + num_steps: int, + image_seq_len: int, + base_shift: float = 0.5, + max_shift: float = 1.15, + shift: bool = True, +) -> list[float]: + # extra step for zero + timesteps = torch.linspace(1, 0, num_steps + 1) + + # shifting the schedule to favor high timesteps for higher signal images + if shift: + # eastimate mu based on linear estimation between two points + mu = get_lin_function(y1=base_shift, y2=max_shift)(image_seq_len) + timesteps = time_shift(mu, 1.0, timesteps) + + return timesteps.tolist() + + +def denoise( + model: flux_models.Flux, + img: torch.Tensor, + img_ids: torch.Tensor, + txt: torch.Tensor, + txt_ids: torch.Tensor, + vec: torch.Tensor, + timesteps: list[float], + guidance: float = 4.0, +): + # this is ignored for schnell + guidance_vec = torch.full((img.shape[0],), guidance, device=img.device, dtype=img.dtype) + for t_curr, t_prev in zip(tqdm(timesteps[:-1]), timesteps[1:]): + t_vec = torch.full((img.shape[0],), t_curr, dtype=img.dtype, device=img.device) + pred = model(img=img, img_ids=img_ids, txt=txt, txt_ids=txt_ids, y=vec, timesteps=t_vec, guidance=guidance_vec) + + img = img + (t_prev - t_curr) * pred + + return img diff --git a/train_network.py b/train_network.py index 367203f54..53d71b57d 100644 --- a/train_network.py +++ b/train_network.py @@ -232,6 +232,9 @@ def get_sai_model_spec(self, args): def update_metadata(self, metadata, args): pass + def is_text_encoder_not_needed_for_training(self, args): + return False # use for sample images + # endregion def train(self, args): @@ -529,7 +532,7 @@ def train(self, args): # unet.to(accelerator.device) # this makes faster `to(dtype)` below, but consumes 23 GB VRAM # unet.to(dtype=unet_weight_dtype) # without moving to gpu, this takes a lot of time and main memory - + unet.to(accelerator.device, dtype=unet_weight_dtype) # this seems to be safer than above unet.requires_grad_(False) @@ -989,6 +992,14 @@ def remove_model(old_ckpt_name): accelerator.print(f"removing old checkpoint: {old_ckpt_file}") os.remove(old_ckpt_file) + # if text_encoder is not needed for training, delete it to save memory. + # TODO this can be automated after SDXL sample prompt cache is implemented + if self.is_text_encoder_not_needed_for_training(args): + logger.info("text_encoder is not needed for training. deleting to save memory.") + for t_enc in text_encoders: + del t_enc + text_encoders = [] + # For --sample_at_first self.sample_images(accelerator, args, 0, global_step, accelerator.device, vae, tokenizers, text_encoder, unet) From 8aaa1967bd3d3a9b4b44e97e5432d23f2101cf51 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 15 Aug 2024 22:07:23 +0900 Subject: [PATCH 145/748] fix encoding latents closes #1456 --- flux_train_network.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/flux_train_network.py b/flux_train_network.py index b8ea56223..daa65c857 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -238,8 +238,8 @@ def get_noise_scheduler(self, args: argparse.Namespace, device: torch.device) -> return noise_scheduler def encode_images_to_latents(self, args, accelerator, vae, images): - return vae.encode(images).latent_dist.sample() - + return vae.encode(images) + def shift_scale_latents(self, args, latents): return latents From 35b6cb0cd1b319d5f34b44a8c24c81c42895fa2e Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 15 Aug 2024 22:07:35 +0900 Subject: [PATCH 146/748] update for torchvision --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7dc954fbc..bdb6bf2ed 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,10 @@ This repository contains training, generation and utility scripts for Stable Dif This feature is experimental. The options and the training script may change in the future. Please let us know if you have any idea to improve the training. -__Please update PyTorch to 2.4.0. We have tested with PyTorch 2.4.0 with CUDA 12.4. We also updated `accelerate` to 0.33.0 just to be safe. `requirements.txt` is also updated, so please update the requirements.__ +__Please update PyTorch to 2.4.0. We have tested with `torch==2.4.0` and `torchvision==0.19.0` with CUDA 12.4. We also updated `accelerate` to 0.33.0 just to be safe. `requirements.txt` is also updated, so please update the requirements.__ + +The command to install PyTorch is as follows: +`pip3 install torch==2.4.0 torchvision==0.19.0 --index-url https://download.pytorch.org/whl/cu124` Aug 14, 2024: Sample image generation during training is now supported. Specify options such as `--sample_prompts` and `--sample_every_n_epochs`. It will be very slow when `--split_mode` is specified. From 08ef886bfeb058aa6d6f7e0a19589c0fd80b3757 Mon Sep 17 00:00:00 2001 From: DukeG Date: Fri, 16 Aug 2024 11:00:08 +0800 Subject: [PATCH 147/748] Fix AttributeError: 'FluxNetworkTrainer' object has no attribute 'sample_prompts_te_outputs' Move "self.sample_prompts_te_outputs = None" from Line 150 to Line 26. --- flux_train_network.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flux_train_network.py b/flux_train_network.py index daa65c857..59b9d84b5 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -23,6 +23,7 @@ class FluxNetworkTrainer(train_network.NetworkTrainer): def __init__(self): super().__init__() + self.sample_prompts_te_outputs = None def assert_extra_args(self, args, train_dataset_group): super().assert_extra_args(args, train_dataset_group) @@ -147,7 +148,6 @@ def cache_text_encoder_outputs_if_needed( dataset.new_cache_text_encoder_outputs(text_encoders, accelerator.is_main_process) # cache sample prompts - self.sample_prompts_te_outputs = None if args.sample_prompts is not None: logger.info(f"cache Text Encoder outputs for sample prompt: {args.sample_prompts}") From 3921a4efda1cd1d7d873177ea7f51b77c3f15d3d Mon Sep 17 00:00:00 2001 From: Kohya S Date: Fri, 16 Aug 2024 17:06:05 +0900 Subject: [PATCH 148/748] add t5xxl max token length, support schnell --- README.md | 8 ++++++++ flux_train_network.py | 32 ++++++++++++++++++++++++++++---- library/flux_models.py | 12 ++++++++---- 3 files changed, 44 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index bdb6bf2ed..6fb050dff 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,14 @@ __Please update PyTorch to 2.4.0. We have tested with `torch==2.4.0` and `torchv The command to install PyTorch is as follows: `pip3 install torch==2.4.0 torchvision==0.19.0 --index-url https://download.pytorch.org/whl/cu124` +Aug 16, 2024: + +FLUX.1 schnell model based training is now supported (but not tested). If the name of the model file contains `schnell`, the model is treated as a schnell model. + +Added `--t5xxl_max_token_length` option to specify the maximum token length of T5XXL. The default is 512 in dev and 256 in schnell. + +Previously, when `--max_token_length` was specified, that value was used, and 512 was used when omitted (default). Therefore, there is no impact if `--max_token_length` was not specified. If `--max_token_length` was specified, please specify `--t5xxl_max_token_length` instead. `--max_token_length` is ignored during FLUX.1 training. + Aug 14, 2024: Sample image generation during training is now supported. Specify options such as `--sample_prompts` and `--sample_every_n_epochs`. It will be very slow when `--split_mode` is specified. Aug 13, 2024: diff --git a/flux_train_network.py b/flux_train_network.py index 59b9d84b5..b9a29c160 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -44,11 +44,18 @@ def assert_extra_args(self, args, train_dataset_group): args.network_train_unet_only or not args.cache_text_encoder_outputs ), "network for Text Encoder cannot be trained with caching Text Encoder outputs / Text Encoderの出力をキャッシュしながらText Encoderのネットワークを学習することはできません" + if args.max_token_length is not None: + logger.warning("max_token_length is not used in Flux training / max_token_lengthはFluxのトレーニングでは使用されません") + train_dataset_group.verify_bucket_reso_steps(32) # TODO check this + def get_flux_model_name(self, args): + return "schnell" if "schnell" in args.pretrained_model_name_or_path else "dev" + def load_target_model(self, args, weight_dtype, accelerator): # currently offload to cpu for some models - name = "schnell" if "schnell" in args.pretrained_model_name_or_path else "dev" # TODO change this to a more robust way + name = self.get_flux_model_name(args) + # if we load to cpu, flux.to(fp8) takes a long time model = flux_utils.load_flow_model(name, args.pretrained_model_name_or_path, weight_dtype, "cpu") @@ -104,7 +111,18 @@ def prepare_split_model(self, model, weight_dtype, accelerator): return flux_lower def get_tokenize_strategy(self, args): - return strategy_flux.FluxTokenizeStrategy(args.max_token_length, args.tokenizer_cache_dir) + name = self.get_flux_model_name(args) + + if args.t5xxl_max_token_length is None: + if name == "schnell": + t5xxl_max_token_length = 256 + else: + t5xxl_max_token_length = 512 + else: + t5xxl_max_token_length = args.t5xxl_max_token_length + + logger.info(f"t5xxl_max_token_length: {t5xxl_max_token_length}") + return strategy_flux.FluxTokenizeStrategy(t5xxl_max_token_length, args.tokenizer_cache_dir) def get_tokenizers(self, tokenize_strategy: strategy_flux.FluxTokenizeStrategy): return [tokenize_strategy.clip_l, tokenize_strategy.t5xxl] @@ -239,7 +257,7 @@ def get_noise_scheduler(self, args: argparse.Namespace, device: torch.device) -> def encode_images_to_latents(self, args, accelerator, vae, images): return vae.encode(images) - + def shift_scale_latents(self, args, latents): return latents @@ -470,7 +488,13 @@ def setup_parser() -> argparse.ArgumentParser: help="[EXPERIMENTAL] use split mode for Flux model, network arg `train_blocks=single` is required" + "/[実験的] Fluxモデルの分割モードを使用する。ネットワーク引数`train_blocks=single`が必要", ) - + parser.add_argument( + "--t5xxl_max_token_length", + type=int, + default=None, + help="maximum token length for T5-XXL. if omitted, 256 for schnell and 512 for dev" + " / T5-XXLの最大トークン長。省略された場合、schnellの場合は256、devの場合は512", + ) # copy from Diffusers parser.add_argument( "--weighting_scheme", diff --git a/library/flux_models.py b/library/flux_models.py index 3c7766b85..ed0bc8c7d 100644 --- a/library/flux_models.py +++ b/library/flux_models.py @@ -863,7 +863,8 @@ def enable_gradient_checkpointing(self): self.time_in.enable_gradient_checkpointing() self.vector_in.enable_gradient_checkpointing() - self.guidance_in.enable_gradient_checkpointing() + if self.guidance_in.__class__ != nn.Identity: + self.guidance_in.enable_gradient_checkpointing() for block in self.double_blocks + self.single_blocks: block.enable_gradient_checkpointing() @@ -875,7 +876,8 @@ def disable_gradient_checkpointing(self): self.time_in.disable_gradient_checkpointing() self.vector_in.disable_gradient_checkpointing() - self.guidance_in.disable_gradient_checkpointing() + if self.guidance_in.__class__ != nn.Identity: + self.guidance_in.disable_gradient_checkpointing() for block in self.double_blocks + self.single_blocks: block.disable_gradient_checkpointing() @@ -972,7 +974,8 @@ def enable_gradient_checkpointing(self): self.time_in.enable_gradient_checkpointing() self.vector_in.enable_gradient_checkpointing() - self.guidance_in.enable_gradient_checkpointing() + if self.guidance_in.__class__ != nn.Identity: + self.guidance_in.enable_gradient_checkpointing() for block in self.double_blocks: block.enable_gradient_checkpointing() @@ -984,7 +987,8 @@ def disable_gradient_checkpointing(self): self.time_in.disable_gradient_checkpointing() self.vector_in.disable_gradient_checkpointing() - self.guidance_in.disable_gradient_checkpointing() + if self.guidance_in.__class__ != nn.Identity: + self.guidance_in.disable_gradient_checkpointing() for block in self.double_blocks: block.disable_gradient_checkpointing() From e45d3f8634c6dd4e358a8c7972f7c851f18f94d3 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Fri, 16 Aug 2024 22:19:21 +0900 Subject: [PATCH 149/748] add merge LoRA script --- README.md | 24 +++ library/train_util.py | 2 +- networks/flux_merge_lora.py | 361 ++++++++++++++++++++++++++++++++++++ 3 files changed, 386 insertions(+), 1 deletion(-) create mode 100644 networks/flux_merge_lora.py diff --git a/README.md b/README.md index 6fb050dff..e231cc24e 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,8 @@ The command to install PyTorch is as follows: Aug 16, 2024: +Added a script `networks/flux_merge_lora.py` to merge LoRA into FLUX.1 checkpoint. See [Merge LoRA to FLUX.1 checkpoint](#merge-lora-to-flux1-checkpoint) for details. + FLUX.1 schnell model based training is now supported (but not tested). If the name of the model file contains `schnell`, the model is treated as a schnell model. Added `--t5xxl_max_token_length` option to specify the maximum token length of T5XXL. The default is 512 in dev and 256 in schnell. @@ -80,6 +82,28 @@ Aug 12: `--interactive` option is now working. python flux_minimal_inference.py --ckpt flux1-dev.sft --clip_l sd3/clip_l.safetensors --t5xxl sd3/t5xxl_fp16.safetensors --ae ae.sft --dtype bf16 --prompt "a cat holding a sign that says hello world" --out path/to/output/dir --seed 1 --flux_dtype fp8 --offload --lora lora-flux-name.safetensors;1.0 ``` +### Merge LoRA to FLUX.1 checkpoint + +`networks/flux_merge_lora.py` merges LoRA to FLUX.1 checkpoint. __The script is experimental.__ + +``` +python networks/flux_merge_lora.py --flux_model flux1-dev.sft --save_to output.safetensors --models lora1.safetensors --ratios 2.0 --save_precision fp16 --loading_device cuda --working_device cpu +``` + +You can also merge multiple LoRA models into a FLUX.1 model. Specify multiple LoRA models in `--models`. Specify the same number of ratios in `--ratios`. + +`--loading_device` is the device to load the LoRA models. `--working_device` is the device to merge (calculate) the models. Default is `cpu` for both. Loading / working device examples are below (in the case of `--save_precision fp16` or `--save_precision bf16`): + +- 'cpu' / 'cpu': Uses >50GB of RAM, but works on any machine. +- 'cuda' / 'cpu': Uses 24GB of VRAM, but requires 30GB of RAM. +- 'cuda' / 'cuda': Uses 30GB of VRAM, but requires 30GB of RAM, faster than 'cuda' / 'cpu'. + +In the case of LoRA models are trained with `bf16`, we are not sure which is better, `fp16` or `bf16` for `--save_precision`. + +The script can merge multiple LoRA models. If you want to merge multiple LoRA models, specify `--concat` option to work the merged LoRA model properly. + +``` + ## SD3 training SD3 training is done with `sd3_train.py`. diff --git a/library/train_util.py b/library/train_util.py index 59ec3e56d..fa0eb9e51 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -3160,7 +3160,7 @@ def load_metadata_from_safetensors(safetensors_file: str) -> dict: def build_minimum_network_metadata( - v2: Optional[bool], + v2: Optional[str], base_model: Optional[str], network_module: str, network_dim: str, diff --git a/networks/flux_merge_lora.py b/networks/flux_merge_lora.py new file mode 100644 index 000000000..c3986ef1f --- /dev/null +++ b/networks/flux_merge_lora.py @@ -0,0 +1,361 @@ +import math +import argparse +import os +import time +import torch +from safetensors import safe_open +from safetensors.torch import load_file, save_file +from tqdm import tqdm +from library import sai_model_spec, train_util +import networks.lora_flux as lora_flux +from library.utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + + +def load_state_dict(file_name, dtype): + if os.path.splitext(file_name)[1] == ".safetensors": + sd = load_file(file_name) + metadata = train_util.load_metadata_from_safetensors(file_name) + else: + sd = torch.load(file_name, map_location="cpu") + metadata = {} + + for key in list(sd.keys()): + if type(sd[key]) == torch.Tensor: + sd[key] = sd[key].to(dtype) + + return sd, metadata + + +def save_to_file(file_name, state_dict, dtype, metadata): + if dtype is not None: + logger.info(f"converting to {dtype}...") + for key in list(state_dict.keys()): + if type(state_dict[key]) == torch.Tensor: + state_dict[key] = state_dict[key].to(dtype) + + logger.info(f"saving to: {file_name}") + save_file(state_dict, file_name, metadata=metadata) + + +def merge_to_flux_model(loading_device, working_device, flux_model, models, ratios, merge_dtype, save_dtype): + # create module map without loading state_dict + logger.info(f"loading keys from FLUX.1 model: {flux_model}") + lora_name_to_module_key = {} + with safe_open(flux_model, framework="pt", device=loading_device) as flux_file: + keys = list(flux_file.keys()) + for key in keys: + if key.endswith(".weight"): + module_name = ".".join(key.split(".")[:-1]) + lora_name = lora_flux.LoRANetwork.LORA_PREFIX_FLUX + "_" + module_name.replace(".", "_") + lora_name_to_module_key[lora_name] = key + + flux_state_dict = load_file(flux_model, device=loading_device) + for model, ratio in zip(models, ratios): + logger.info(f"loading: {model}") + lora_sd, _ = load_state_dict(model, merge_dtype) # loading on CPU + + logger.info(f"merging...") + for key in tqdm(lora_sd.keys()): + if "lora_down" in key: + lora_name = key[: key.rfind(".lora_down")] + up_key = key.replace("lora_down", "lora_up") + alpha_key = key[: key.index("lora_down")] + "alpha" + + if lora_name not in lora_name_to_module_key: + logger.warning(f"no module found for LoRA weight: {key}. LoRA for Text Encoder is not supported yet.") + continue + + down_weight = lora_sd[key] + up_weight = lora_sd[up_key] + + dim = down_weight.size()[0] + alpha = lora_sd.get(alpha_key, dim) + scale = alpha / dim + + # W <- W + U * D + module_weight_key = lora_name_to_module_key[lora_name] + if module_weight_key not in flux_state_dict: + weight = flux_file.get_tensor(module_weight_key) + else: + weight = flux_state_dict[module_weight_key] + + weight = weight.to(working_device, merge_dtype) + up_weight = up_weight.to(working_device, merge_dtype) + down_weight = down_weight.to(working_device, merge_dtype) + + # logger.info(module_name, down_weight.size(), up_weight.size()) + if len(weight.size()) == 2: + # linear + weight = weight + ratio * (up_weight @ down_weight) * scale + elif down_weight.size()[2:4] == (1, 1): + # conv2d 1x1 + weight = ( + weight + + ratio + * (up_weight.squeeze(3).squeeze(2) @ down_weight.squeeze(3).squeeze(2)).unsqueeze(2).unsqueeze(3) + * scale + ) + else: + # conv2d 3x3 + conved = torch.nn.functional.conv2d(down_weight.permute(1, 0, 2, 3), up_weight).permute(1, 0, 2, 3) + # logger.info(conved.size(), weight.size(), module.stride, module.padding) + weight = weight + ratio * conved * scale + + flux_state_dict[module_weight_key] = weight.to(loading_device, save_dtype) + del up_weight + del down_weight + del weight + + return flux_state_dict + + +def merge_lora_models(models, ratios, merge_dtype, concat=False, shuffle=False): + base_alphas = {} # alpha for merged model + base_dims = {} + + merged_sd = {} + base_model = None + for model, ratio in zip(models, ratios): + logger.info(f"loading: {model}") + lora_sd, lora_metadata = load_state_dict(model, merge_dtype) + + if lora_metadata is not None: + if base_model is None: + base_model = lora_metadata.get(train_util.SS_METADATA_KEY_BASE_MODEL_VERSION, None) + + # get alpha and dim + alphas = {} # alpha for current model + dims = {} # dims for current model + for key in lora_sd.keys(): + if "alpha" in key: + lora_module_name = key[: key.rfind(".alpha")] + alpha = float(lora_sd[key].detach().numpy()) + alphas[lora_module_name] = alpha + if lora_module_name not in base_alphas: + base_alphas[lora_module_name] = alpha + elif "lora_down" in key: + lora_module_name = key[: key.rfind(".lora_down")] + dim = lora_sd[key].size()[0] + dims[lora_module_name] = dim + if lora_module_name not in base_dims: + base_dims[lora_module_name] = dim + + for lora_module_name in dims.keys(): + if lora_module_name not in alphas: + alpha = dims[lora_module_name] + alphas[lora_module_name] = alpha + if lora_module_name not in base_alphas: + base_alphas[lora_module_name] = alpha + + logger.info(f"dim: {list(set(dims.values()))}, alpha: {list(set(alphas.values()))}") + + # merge + logger.info(f"merging...") + for key in tqdm(lora_sd.keys()): + if "alpha" in key: + continue + + if "lora_up" in key and concat: + concat_dim = 1 + elif "lora_down" in key and concat: + concat_dim = 0 + else: + concat_dim = None + + lora_module_name = key[: key.rfind(".lora_")] + + base_alpha = base_alphas[lora_module_name] + alpha = alphas[lora_module_name] + + scale = math.sqrt(alpha / base_alpha) * ratio + scale = abs(scale) if "lora_up" in key else scale # マイナスの重みに対応する。 + + if key in merged_sd: + assert ( + merged_sd[key].size() == lora_sd[key].size() or concat_dim is not None + ), f"weights shape mismatch, different dims? / 重みのサイズが合いません。dimが異なる可能性があります。" + if concat_dim is not None: + merged_sd[key] = torch.cat([merged_sd[key], lora_sd[key] * scale], dim=concat_dim) + else: + merged_sd[key] = merged_sd[key] + lora_sd[key] * scale + else: + merged_sd[key] = lora_sd[key] * scale + + # set alpha to sd + for lora_module_name, alpha in base_alphas.items(): + key = lora_module_name + ".alpha" + merged_sd[key] = torch.tensor(alpha) + if shuffle: + key_down = lora_module_name + ".lora_down.weight" + key_up = lora_module_name + ".lora_up.weight" + dim = merged_sd[key_down].shape[0] + perm = torch.randperm(dim) + merged_sd[key_down] = merged_sd[key_down][perm] + merged_sd[key_up] = merged_sd[key_up][:, perm] + + logger.info("merged model") + logger.info(f"dim: {list(set(base_dims.values()))}, alpha: {list(set(base_alphas.values()))}") + + # check all dims are same + dims_list = list(set(base_dims.values())) + alphas_list = list(set(base_alphas.values())) + all_same_dims = True + all_same_alphas = True + for dims in dims_list: + if dims != dims_list[0]: + all_same_dims = False + break + for alphas in alphas_list: + if alphas != alphas_list[0]: + all_same_alphas = False + break + + # build minimum metadata + dims = f"{dims_list[0]}" if all_same_dims else "Dynamic" + alphas = f"{alphas_list[0]}" if all_same_alphas else "Dynamic" + metadata = train_util.build_minimum_network_metadata(str(False), base_model, "networks.lora", dims, alphas, None) + + return merged_sd, metadata + + +def merge(args): + assert len(args.models) == len( + args.ratios + ), f"number of models must be equal to number of ratios / モデルの数と重みの数は合わせてください" + + def str_to_dtype(p): + if p == "float": + return torch.float + if p == "fp16": + return torch.float16 + if p == "bf16": + return torch.bfloat16 + return None + + merge_dtype = str_to_dtype(args.precision) + save_dtype = str_to_dtype(args.save_precision) + if save_dtype is None: + save_dtype = merge_dtype + + dest_dir = os.path.dirname(args.save_to) + if not os.path.exists(dest_dir): + logger.info(f"creating directory: {dest_dir}") + os.makedirs(dest_dir) + + if args.flux_model is not None: + state_dict = merge_to_flux_model( + args.loading_device, args.working_device, args.flux_model, args.models, args.ratios, merge_dtype, save_dtype + ) + + if args.no_metadata: + sai_metadata = None + else: + merged_from = sai_model_spec.build_merged_from([args.flux_model] + args.models) + title = os.path.splitext(os.path.basename(args.save_to))[0] + sai_metadata = sai_model_spec.build_metadata( + None, False, False, False, False, False, time.time(), title=title, merged_from=merged_from, flux="dev" + ) + + logger.info(f"saving FLUX model to: {args.save_to}") + save_to_file(args.save_to, state_dict, save_dtype, sai_metadata) + + else: + state_dict, metadata = merge_lora_models(args.models, args.ratios, merge_dtype, args.concat, args.shuffle) + + logger.info(f"calculating hashes and creating metadata...") + + model_hash, legacy_hash = train_util.precalculate_safetensors_hashes(state_dict, metadata) + metadata["sshs_model_hash"] = model_hash + metadata["sshs_legacy_hash"] = legacy_hash + + if not args.no_metadata: + merged_from = sai_model_spec.build_merged_from(args.models) + title = os.path.splitext(os.path.basename(args.save_to))[0] + sai_metadata = sai_model_spec.build_metadata( + state_dict, False, False, False, True, False, time.time(), title=title, merged_from=merged_from, flux="dev" + ) + metadata.update(sai_metadata) + + logger.info(f"saving model to: {args.save_to}") + save_to_file(args.save_to, state_dict, save_dtype, metadata) + + +def setup_parser() -> argparse.ArgumentParser: + parser = argparse.ArgumentParser() + parser.add_argument( + "--save_precision", + type=str, + default=None, + choices=[None, "float", "fp16", "bf16"], + help="precision in saving, same to merging if omitted / 保存時に精度を変更して保存する、省略時はマージ時の精度と同じ", + ) + parser.add_argument( + "--precision", + type=str, + default="float", + choices=["float", "fp16", "bf16"], + help="precision in merging (float is recommended) / マージの計算時の精度(floatを推奨)", + ) + parser.add_argument( + "--flux_model", + type=str, + default=None, + help="FLUX.1 model to load, merge LoRA models if omitted / 読み込むモデル、指定しない場合はLoRAモデルをマージする", + ) + parser.add_argument( + "--loading_device", + type=str, + default="cpu", + help="device to load FLUX.1 model. LoRA models are loaded on CPU / FLUX.1モデルを読み込むデバイス。LoRAモデルはCPUで読み込まれます", + ) + parser.add_argument( + "--working_device", + type=str, + default="cpu", + help="device to work (merge). Merging LoRA models are done on CPU." + + " / 作業(マージ)するデバイス。LoRAモデルのマージはCPUで行われます。", + ) + parser.add_argument( + "--save_to", + type=str, + default=None, + help="destination file name: safetensors file / 保存先のファイル名、safetensorsファイル", + ) + parser.add_argument( + "--models", + type=str, + nargs="*", + help="LoRA models to merge: safetensors file / マージするLoRAモデル、safetensorsファイル", + ) + parser.add_argument("--ratios", type=float, nargs="*", help="ratios for each model / それぞれのLoRAモデルの比率") + parser.add_argument( + "--no_metadata", + action="store_true", + help="do not save sai modelspec metadata (minimum ss_metadata for LoRA is saved) / " + + "sai modelspecのメタデータを保存しない(LoRAの最低限のss_metadataは保存される)", + ) + parser.add_argument( + "--concat", + action="store_true", + help="concat lora instead of merge (The dim(rank) of the output LoRA is the sum of the input dims) / " + + "マージの代わりに結合する(LoRAのdim(rank)は入力dimの合計になる)", + ) + parser.add_argument( + "--shuffle", + action="store_true", + help="shuffle lora weight./ " + "LoRAの重みをシャッフルする", + ) + + return parser + + +if __name__ == "__main__": + parser = setup_parser() + + args = parser.parse_args() + merge(args) From 7367584e6749448cb9b012df0d3bcbe4f0531ea5 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sat, 17 Aug 2024 14:38:34 +0900 Subject: [PATCH 150/748] fix sd3 training to work without cachine TE outputs #1465 --- sd3_train.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sd3_train.py b/sd3_train.py index 9c37cbce6..3b6c8a118 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -759,8 +759,9 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): input_ids_clip_l, input_ids_clip_g, _, l_attn_mask, g_attn_mask, _ = batch["input_ids_list"] with torch.set_grad_enabled(args.train_text_encoder): # TODO support weighted captions - input_ids_clip_l = input_ids_clip_l.to(accelerator.device) - input_ids_clip_g = input_ids_clip_g.to(accelerator.device) + # text models in sd3_models require "cpu" for input_ids + input_ids_clip_l = input_ids_clip_l.to("cpu") + input_ids_clip_g = input_ids_clip_g.to("cpu") lg_out, _, lg_pooled = text_encoding_strategy.encode_tokens( sd3_tokenize_strategy, [clip_l, clip_g, None], @@ -770,7 +771,7 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): if t5_out is None: _, _, input_ids_t5xxl, _, _, t5_attn_mask = batch["input_ids_list"] with torch.no_grad(): - input_ids_t5xxl = input_ids_t5xxl.to(accelerator.device) if t5_out is None else None + input_ids_t5xxl = input_ids_t5xxl.to("cpu") if t5_out is None else None _, t5_out, _ = text_encoding_strategy.encode_tokens( sd3_tokenize_strategy, [None, None, t5xxl], [None, None, input_ids_t5xxl, None, None, t5_attn_mask] ) From 400955d3ea4088e8da7a3917dec9b0664424e24a Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sat, 17 Aug 2024 15:36:18 +0900 Subject: [PATCH 151/748] add fine tuning FLUX.1 (WIP) --- flux_train.py | 729 ++++++++++++++++++++++++++++++++++++ flux_train_network.py | 168 +-------- library/flux_train_utils.py | 270 ++++++++++++- library/train_util.py | 2 +- 4 files changed, 1007 insertions(+), 162 deletions(-) create mode 100644 flux_train.py diff --git a/flux_train.py b/flux_train.py new file mode 100644 index 000000000..2ca20ded2 --- /dev/null +++ b/flux_train.py @@ -0,0 +1,729 @@ +# training with captions + +import argparse +import copy +import math +import os +from multiprocessing import Value +from typing import List +import toml + +from tqdm import tqdm + +import torch +from library.device_utils import init_ipex, clean_memory_on_device + +init_ipex() + +from accelerate.utils import set_seed +from library import deepspeed_utils, flux_train_utils, flux_utils, strategy_base, strategy_flux +from library.sd3_train_utils import load_prompts, FlowMatchEulerDiscreteScheduler + +import library.train_util as train_util + +from library.utils import setup_logging, add_logging_arguments + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + +import library.config_util as config_util + +# import library.sdxl_train_util as sdxl_train_util +from library.config_util import ( + ConfigSanitizer, + BlueprintGenerator, +) +from library.custom_train_functions import apply_masked_loss, add_custom_train_arguments + + +def train(args): + train_util.verify_training_args(args) + train_util.prepare_dataset_args(args, True) + # sdxl_train_util.verify_sdxl_training_args(args) + deepspeed_utils.prepare_deepspeed_args(args) + setup_logging(args, reset=True) + + # assert ( + # not args.weighted_captions + # ), "weighted_captions is not supported currently / weighted_captionsは現在サポートされていません" + if args.cache_text_encoder_outputs_to_disk and not args.cache_text_encoder_outputs: + logger.warning( + "cache_text_encoder_outputs_to_disk is enabled, so cache_text_encoder_outputs is also enabled / cache_text_encoder_outputs_to_diskが有効になっているため、cache_text_encoder_outputsも有効になります" + ) + args.cache_text_encoder_outputs = True + + cache_latents = args.cache_latents + use_dreambooth_method = args.in_json is None + + if args.seed is not None: + set_seed(args.seed) # 乱数系列を初期化する + + # prepare caching strategy: this must be set before preparing dataset. because dataset may use this strategy for initialization. + if args.cache_latents: + latents_caching_strategy = strategy_flux.FluxLatentsCachingStrategy( + args.cache_latents_to_disk, args.vae_batch_size, args.skip_latents_validity_check + ) + strategy_base.LatentsCachingStrategy.set_strategy(latents_caching_strategy) + + # データセットを準備する + if args.dataset_class is None: + blueprint_generator = BlueprintGenerator(ConfigSanitizer(True, True, args.masked_loss, True)) + if args.dataset_config is not None: + logger.info(f"Load dataset config from {args.dataset_config}") + user_config = config_util.load_user_config(args.dataset_config) + ignored = ["train_data_dir", "in_json"] + if any(getattr(args, attr) is not None for attr in ignored): + logger.warning( + "ignore following options because config file is found: {0} / 設定ファイルが利用されるため以下のオプションは無視されます: {0}".format( + ", ".join(ignored) + ) + ) + else: + if use_dreambooth_method: + logger.info("Using DreamBooth method.") + user_config = { + "datasets": [ + { + "subsets": config_util.generate_dreambooth_subsets_config_by_subdirs( + args.train_data_dir, args.reg_data_dir + ) + } + ] + } + else: + logger.info("Training with captions.") + user_config = { + "datasets": [ + { + "subsets": [ + { + "image_dir": args.train_data_dir, + "metadata_file": args.in_json, + } + ] + } + ] + } + + blueprint = blueprint_generator.generate(user_config, args) + train_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) + else: + train_dataset_group = train_util.load_arbitrary_dataset(args) + + current_epoch = Value("i", 0) + current_step = Value("i", 0) + ds_for_collator = train_dataset_group if args.max_data_loader_n_workers == 0 else None + collator = train_util.collator_class(current_epoch, current_step, ds_for_collator) + + train_dataset_group.verify_bucket_reso_steps(16) # TODO これでいいか確認 + + if args.debug_dataset: + if args.cache_text_encoder_outputs: + strategy_base.TextEncoderOutputsCachingStrategy.set_strategy( + strategy_flux.FluxTextEncoderOutputsCachingStrategy( + args.cache_text_encoder_outputs_to_disk, args.text_encoder_batch_size, False, False + ) + ) + train_dataset_group.set_current_strategies() + train_util.debug_dataset(train_dataset_group, True) + return + if len(train_dataset_group) == 0: + logger.error( + "No data found. Please verify the metadata file and train_data_dir option. / 画像がありません。メタデータおよびtrain_data_dirオプションを確認してください。" + ) + return + + if cache_latents: + assert ( + train_dataset_group.is_latent_cacheable() + ), "when caching latents, either color_aug or random_crop cannot be used / latentをキャッシュするときはcolor_augとrandom_cropは使えません" + + if args.cache_text_encoder_outputs: + assert ( + train_dataset_group.is_text_encoder_output_cacheable() + ), "when caching text encoder output, either caption_dropout_rate, shuffle_caption, token_warmup_step or caption_tag_dropout_rate cannot be used / text encoderの出力をキャッシュするときはcaption_dropout_rate, shuffle_caption, token_warmup_step, caption_tag_dropout_rateは使えません" + + # acceleratorを準備する + logger.info("prepare accelerator") + accelerator = train_util.prepare_accelerator(args) + + # mixed precisionに対応した型を用意しておき適宜castする + weight_dtype, save_dtype = train_util.prepare_dtype(args) + + # モデルを読み込む + name = "schnell" if "schnell" in args.pretrained_model_name_or_path else "dev" + + # load VAE for caching latents + ae = None + if cache_latents: + ae = flux_utils.load_ae(name, args.ae, weight_dtype, "cpu") + ae.to(accelerator.device, dtype=weight_dtype) + ae.requires_grad_(False) + ae.eval() + + train_dataset_group.new_cache_latents(ae, accelerator.is_main_process) + + ae.to("cpu") # if no sampling, vae can be deleted + clean_memory_on_device(accelerator.device) + + accelerator.wait_for_everyone() + + # prepare tokenize strategy + if args.t5xxl_max_token_length is None: + if name == "schnell": + t5xxl_max_token_length = 256 + else: + t5xxl_max_token_length = 512 + else: + t5xxl_max_token_length = args.t5xxl_max_token_length + + flux_tokenize_strategy = strategy_flux.FluxTokenizeStrategy(t5xxl_max_token_length) + strategy_base.TokenizeStrategy.set_strategy(flux_tokenize_strategy) + + # load clip_l, t5xxl for caching text encoder outputs + clip_l = flux_utils.load_clip_l(args.clip_l, weight_dtype, "cpu") + t5xxl = flux_utils.load_t5xxl(args.t5xxl, weight_dtype, "cpu") + clip_l.eval() + t5xxl.eval() + clip_l.requires_grad_(False) + t5xxl.requires_grad_(False) + + text_encoding_strategy = strategy_flux.FluxTextEncodingStrategy(args.apply_t5_attn_mask) + strategy_base.TextEncodingStrategy.set_strategy(text_encoding_strategy) + + # cache text encoder outputs + sample_prompts_te_outputs = None + if args.cache_text_encoder_outputs: + # Text Encodes are eval and no grad here + clip_l.to(accelerator.device) + t5xxl.to(accelerator.device) + + text_encoder_caching_strategy = strategy_flux.FluxTextEncoderOutputsCachingStrategy( + args.cache_text_encoder_outputs_to_disk, args.text_encoder_batch_size, False, False, args.apply_t5_attn_mask + ) + strategy_base.TextEncoderOutputsCachingStrategy.set_strategy(text_encoder_caching_strategy) + + with accelerator.autocast(): + train_dataset_group.new_cache_text_encoder_outputs([clip_l, t5xxl], accelerator.is_main_process) + + # cache sample prompt's embeddings to free text encoder's memory + if args.sample_prompts is not None: + logger.info(f"cache Text Encoder outputs for sample prompt: {args.sample_prompts}") + + tokenize_strategy: strategy_flux.FluxTokenizeStrategy = strategy_base.TokenizeStrategy.get_strategy() + text_encoding_strategy: strategy_flux.FluxTextEncodingStrategy = strategy_base.TextEncodingStrategy.get_strategy() + + prompts = load_prompts(args.sample_prompts) + sample_prompts_te_outputs = {} # key: prompt, value: text encoder outputs + with accelerator.autocast(), torch.no_grad(): + for prompt_dict in prompts: + for p in [prompt_dict.get("prompt", ""), prompt_dict.get("negative_prompt", "")]: + if p not in sample_prompts_te_outputs: + logger.info(f"cache Text Encoder outputs for prompt: {p}") + tokens_and_masks = tokenize_strategy.tokenize(p) + sample_prompts_te_outputs[p] = text_encoding_strategy.encode_tokens( + tokenize_strategy, [clip_l, t5xxl], tokens_and_masks, args.apply_t5_attn_mask + ) + + accelerator.wait_for_everyone() + + # now we can delete Text Encoders to free memory + clip_l = None + t5xxl = None + + # load FLUX + # if we load to cpu, flux.to(fp8) takes a long time + flux = flux_utils.load_flow_model(name, args.pretrained_model_name_or_path, weight_dtype, "cpu") + + if args.gradient_checkpointing: + flux.enable_gradient_checkpointing() + + flux.requires_grad_(True) + + if not cache_latents: + # load VAE here if not cached + ae = flux_utils.load_ae(name, args.ae, weight_dtype, "cpu") + ae.requires_grad_(False) + ae.eval() + ae.to(accelerator.device, dtype=weight_dtype) + + training_models = [] + params_to_optimize = [] + training_models.append(flux) + params_to_optimize.append({"params": list(flux.parameters()), "lr": args.learning_rate}) + + # calculate number of trainable parameters + n_params = 0 + for group in params_to_optimize: + for p in group["params"]: + n_params += p.numel() + + accelerator.print(f"number of trainable parameters: {n_params}") + + # 学習に必要なクラスを準備する + accelerator.print("prepare optimizer, data loader etc.") + + if args.fused_optimizer_groups: + # fused backward pass: https://pytorch.org/tutorials/intermediate/optimizer_step_in_backward_tutorial.html + # Instead of creating an optimizer for all parameters as in the tutorial, we create an optimizer for each group of parameters. + # This balances memory usage and management complexity. + + # calculate total number of parameters + n_total_params = sum(len(params["params"]) for params in params_to_optimize) + params_per_group = math.ceil(n_total_params / args.fused_optimizer_groups) + + # split params into groups, keeping the learning rate the same for all params in a group + # this will increase the number of groups if the learning rate is different for different params (e.g. U-Net and text encoders) + grouped_params = [] + param_group = [] + param_group_lr = -1 + for group in params_to_optimize: + lr = group["lr"] + for p in group["params"]: + # if the learning rate is different for different params, start a new group + if lr != param_group_lr: + if param_group: + grouped_params.append({"params": param_group, "lr": param_group_lr}) + param_group = [] + param_group_lr = lr + + param_group.append(p) + + # if the group has enough parameters, start a new group + if len(param_group) == params_per_group: + grouped_params.append({"params": param_group, "lr": param_group_lr}) + param_group = [] + param_group_lr = -1 + + if param_group: + grouped_params.append({"params": param_group, "lr": param_group_lr}) + + # prepare optimizers for each group + optimizers = [] + for group in grouped_params: + _, _, optimizer = train_util.get_optimizer(args, trainable_params=[group]) + optimizers.append(optimizer) + optimizer = optimizers[0] # avoid error in the following code + + logger.info(f"using {len(optimizers)} optimizers for fused optimizer groups") + + else: + _, _, optimizer = train_util.get_optimizer(args, trainable_params=params_to_optimize) + + # prepare dataloader + # strategies are set here because they cannot be referenced in another process. Copy them with the dataset + # some strategies can be None + train_dataset_group.set_current_strategies() + + # DataLoaderのプロセス数:0 は persistent_workers が使えないので注意 + n_workers = min(args.max_data_loader_n_workers, os.cpu_count()) # cpu_count or max_data_loader_n_workers + train_dataloader = torch.utils.data.DataLoader( + train_dataset_group, + batch_size=1, + shuffle=True, + collate_fn=collator, + num_workers=n_workers, + persistent_workers=args.persistent_data_loader_workers, + ) + + # 学習ステップ数を計算する + if args.max_train_epochs is not None: + args.max_train_steps = args.max_train_epochs * math.ceil( + len(train_dataloader) / accelerator.num_processes / args.gradient_accumulation_steps + ) + accelerator.print( + f"override steps. steps for {args.max_train_epochs} epochs is / 指定エポックまでのステップ数: {args.max_train_steps}" + ) + + # データセット側にも学習ステップを送信 + train_dataset_group.set_max_train_steps(args.max_train_steps) + + # lr schedulerを用意する + if args.fused_optimizer_groups: + # prepare lr schedulers for each optimizer + lr_schedulers = [train_util.get_scheduler_fix(args, optimizer, accelerator.num_processes) for optimizer in optimizers] + lr_scheduler = lr_schedulers[0] # avoid error in the following code + else: + lr_scheduler = train_util.get_scheduler_fix(args, optimizer, accelerator.num_processes) + + # 実験的機能:勾配も含めたfp16/bf16学習を行う モデル全体をfp16/bf16にする + if args.full_fp16: + assert ( + args.mixed_precision == "fp16" + ), "full_fp16 requires mixed precision='fp16' / full_fp16を使う場合はmixed_precision='fp16'を指定してください。" + accelerator.print("enable full fp16 training.") + flux.to(weight_dtype) + if clip_l is not None: + clip_l.to(weight_dtype) + t5xxl.to(weight_dtype) # TODO check works with fp16 or not + elif args.full_bf16: + assert ( + args.mixed_precision == "bf16" + ), "full_bf16 requires mixed precision='bf16' / full_bf16を使う場合はmixed_precision='bf16'を指定してください。" + accelerator.print("enable full bf16 training.") + flux.to(weight_dtype) + if clip_l is not None: + clip_l.to(weight_dtype) + t5xxl.to(weight_dtype) + + # if we don't cache text encoder outputs, move them to device + if not args.cache_text_encoder_outputs: + clip_l.to(accelerator.device) + t5xxl.to(accelerator.device) + + clean_memory_on_device(accelerator.device) + + if args.deepspeed: + ds_model = deepspeed_utils.prepare_deepspeed_model(args, mmdit=flux) + # most of ZeRO stage uses optimizer partitioning, so we have to prepare optimizer and ds_model at the same time. # pull/1139#issuecomment-1986790007 + ds_model, optimizer, train_dataloader, lr_scheduler = accelerator.prepare( + ds_model, optimizer, train_dataloader, lr_scheduler + ) + training_models = [ds_model] + + else: + # acceleratorがなんかよろしくやってくれるらしい + flux = accelerator.prepare(flux) + optimizer, train_dataloader, lr_scheduler = accelerator.prepare(optimizer, train_dataloader, lr_scheduler) + + # 実験的機能:勾配も含めたfp16学習を行う PyTorchにパッチを当ててfp16でのgrad scaleを有効にする + if args.full_fp16: + # During deepseed training, accelerate not handles fp16/bf16|mixed precision directly via scaler. Let deepspeed engine do. + # -> But we think it's ok to patch accelerator even if deepspeed is enabled. + train_util.patch_accelerator_for_fp16_training(accelerator) + + # resumeする + train_util.resume_from_local_or_hf_if_specified(accelerator, args) + + if args.fused_backward_pass: + # use fused optimizer for backward pass: other optimizers will be supported in the future + import library.adafactor_fused + + library.adafactor_fused.patch_adafactor_fused(optimizer) + for param_group in optimizer.param_groups: + for parameter in param_group["params"]: + if parameter.requires_grad: + + def __grad_hook(tensor: torch.Tensor, param_group=param_group): + if accelerator.sync_gradients and args.max_grad_norm != 0.0: + accelerator.clip_grad_norm_(tensor, args.max_grad_norm) + optimizer.step_param(tensor, param_group) + tensor.grad = None + + parameter.register_post_accumulate_grad_hook(__grad_hook) + + elif args.fused_optimizer_groups: + # prepare for additional optimizers and lr schedulers + for i in range(1, len(optimizers)): + optimizers[i] = accelerator.prepare(optimizers[i]) + lr_schedulers[i] = accelerator.prepare(lr_schedulers[i]) + + # counters are used to determine when to step the optimizer + global optimizer_hooked_count + global num_parameters_per_group + global parameter_optimizer_map + + optimizer_hooked_count = {} + num_parameters_per_group = [0] * len(optimizers) + parameter_optimizer_map = {} + + for opt_idx, optimizer in enumerate(optimizers): + for param_group in optimizer.param_groups: + for parameter in param_group["params"]: + if parameter.requires_grad: + + def optimizer_hook(parameter: torch.Tensor): + if accelerator.sync_gradients and args.max_grad_norm != 0.0: + accelerator.clip_grad_norm_(parameter, args.max_grad_norm) + + i = parameter_optimizer_map[parameter] + optimizer_hooked_count[i] += 1 + if optimizer_hooked_count[i] == num_parameters_per_group[i]: + optimizers[i].step() + optimizers[i].zero_grad(set_to_none=True) + + parameter.register_post_accumulate_grad_hook(optimizer_hook) + parameter_optimizer_map[parameter] = opt_idx + num_parameters_per_group[opt_idx] += 1 + + # epoch数を計算する + num_update_steps_per_epoch = math.ceil(len(train_dataloader) / args.gradient_accumulation_steps) + num_train_epochs = math.ceil(args.max_train_steps / num_update_steps_per_epoch) + if (args.save_n_epoch_ratio is not None) and (args.save_n_epoch_ratio > 0): + args.save_every_n_epochs = math.floor(num_train_epochs / args.save_n_epoch_ratio) or 1 + + # 学習する + # total_batch_size = args.train_batch_size * accelerator.num_processes * args.gradient_accumulation_steps + accelerator.print("running training / 学習開始") + accelerator.print(f" num examples / サンプル数: {train_dataset_group.num_train_images}") + accelerator.print(f" num batches per epoch / 1epochのバッチ数: {len(train_dataloader)}") + accelerator.print(f" num epochs / epoch数: {num_train_epochs}") + accelerator.print( + f" batch size per device / バッチサイズ: {', '.join([str(d.batch_size) for d in train_dataset_group.datasets])}" + ) + # accelerator.print( + # f" total train batch size (with parallel & distributed & accumulation) / 総バッチサイズ(並列学習、勾配合計含む): {total_batch_size}" + # ) + accelerator.print(f" gradient accumulation steps / 勾配を合計するステップ数 = {args.gradient_accumulation_steps}") + accelerator.print(f" total optimization steps / 学習ステップ数: {args.max_train_steps}") + + progress_bar = tqdm(range(args.max_train_steps), smoothing=0, disable=not accelerator.is_local_main_process, desc="steps") + global_step = 0 + + noise_scheduler = FlowMatchEulerDiscreteScheduler(num_train_timesteps=1000, shift=args.discrete_flow_shift) + noise_scheduler_copy = copy.deepcopy(noise_scheduler) + + if accelerator.is_main_process: + init_kwargs = {} + if args.wandb_run_name: + init_kwargs["wandb"] = {"name": args.wandb_run_name} + if args.log_tracker_config is not None: + init_kwargs = toml.load(args.log_tracker_config) + accelerator.init_trackers( + "finetuning" if args.log_tracker_name is None else args.log_tracker_name, + config=train_util.get_sanitized_config_or_none(args), + init_kwargs=init_kwargs, + ) + + # For --sample_at_first + flux_train_utils.sample_images(accelerator, args, 0, global_step, flux, ae, [clip_l, t5xxl], sample_prompts_te_outputs) + + loss_recorder = train_util.LossRecorder() + epoch = 0 # avoid error when max_train_steps is 0 + for epoch in range(num_train_epochs): + accelerator.print(f"\nepoch {epoch+1}/{num_train_epochs}") + current_epoch.value = epoch + 1 + + for m in training_models: + m.train() + + for step, batch in enumerate(train_dataloader): + current_step.value = global_step + + if args.fused_optimizer_groups: + optimizer_hooked_count = {i: 0 for i in range(len(optimizers))} # reset counter for each step + + with accelerator.accumulate(*training_models): + if "latents" in batch and batch["latents"] is not None: + latents = batch["latents"].to(accelerator.device, dtype=weight_dtype) + else: + with torch.no_grad(): + # encode images to latents. images are [-1, 1] + latents = ae.encode(batch["images"]) + + # NaNが含まれていれば警告を表示し0に置き換える + if torch.any(torch.isnan(latents)): + accelerator.print("NaN found in latents, replacing with zeros") + latents = torch.nan_to_num(latents, 0, out=latents) + + text_encoder_outputs_list = batch.get("text_encoder_outputs_list", None) + if text_encoder_outputs_list is not None: + text_encoder_conds = text_encoder_outputs_list + else: + # not cached or training, so get from text encoders + tokens_and_masks = batch["input_ids_list"] + with torch.no_grad(): + input_ids = [ids.to(accelerator.device) for ids in batch["input_ids_list"]] + text_encoder_conds = text_encoding_strategy.encode_tokens( + tokenize_strategy, [clip_l, t5xxl], input_ids, args.apply_t5_attn_mask + ) + if args.full_fp16: + text_encoder_conds = [c.to(weight_dtype) for c in text_encoder_conds] + + # TODO support some features for noise implemented in get_noise_noisy_latents_and_timesteps + + # Sample noise that we'll add to the latents + noise = torch.randn_like(latents) + bsz = latents.shape[0] + + # get noisy model input and timesteps + noisy_model_input, timesteps, sigmas = flux_train_utils.get_noisy_model_input_and_timesteps( + args, noise_scheduler, latents, noise, accelerator.device, weight_dtype + ) + + # pack latents and get img_ids + packed_noisy_model_input = flux_utils.pack_latents(noisy_model_input) # b, c, h*2, w*2 -> b, h*w, c*4 + packed_latent_height, packed_latent_width = noisy_model_input.shape[2] // 2, noisy_model_input.shape[3] // 2 + img_ids = flux_utils.prepare_img_ids(bsz, packed_latent_height, packed_latent_width).to(device=accelerator.device) + + # get guidance + guidance_vec = torch.full((bsz,), args.guidance_scale, device=accelerator.device) + + # call model + l_pooled, t5_out, txt_ids = text_encoder_conds + with accelerator.autocast(): + # YiYi notes: divide it by 1000 for now because we scale it by 1000 in the transformer model (we should not keep it but I want to keep the inputs same for the model for testing) + model_pred = flux( + img=packed_noisy_model_input, + img_ids=img_ids, + txt=t5_out, + txt_ids=txt_ids, + y=l_pooled, + timesteps=timesteps / 1000, + guidance=guidance_vec, + ) + + # unpack latents + model_pred = flux_utils.unpack_latents(model_pred, packed_latent_height, packed_latent_width) + + # apply model prediction type + model_pred, weighting = flux_train_utils.apply_model_prediction_type(args, model_pred, noisy_model_input, sigmas) + + # flow matching loss: this is different from SD3 + target = noise - latents + + # calculate loss + loss = train_util.conditional_loss( + model_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=None + ) + if weighting is not None: + loss = loss * weighting + if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): + loss = apply_masked_loss(loss, batch) + loss = loss.mean([1, 2, 3]) + + loss_weights = batch["loss_weights"] # 各sampleごとのweight + loss = loss * loss_weights + loss = loss.mean() + + # backward + accelerator.backward(loss) + + if not (args.fused_backward_pass or args.fused_optimizer_groups): + if accelerator.sync_gradients and args.max_grad_norm != 0.0: + params_to_clip = [] + for m in training_models: + params_to_clip.extend(m.parameters()) + accelerator.clip_grad_norm_(params_to_clip, args.max_grad_norm) + + optimizer.step() + lr_scheduler.step() + optimizer.zero_grad(set_to_none=True) + else: + # optimizer.step() and optimizer.zero_grad() are called in the optimizer hook + lr_scheduler.step() + if args.fused_optimizer_groups: + for i in range(1, len(optimizers)): + lr_schedulers[i].step() + + # Checks if the accelerator has performed an optimization step behind the scenes + if accelerator.sync_gradients: + progress_bar.update(1) + global_step += 1 + + flux_train_utils.sample_images( + accelerator, args, epoch, global_step, flux, ae, [clip_l, t5xxl], sample_prompts_te_outputs + ) + + # 指定ステップごとにモデルを保存 + if args.save_every_n_steps is not None and global_step % args.save_every_n_steps == 0: + accelerator.wait_for_everyone() + if accelerator.is_main_process: + flux_train_utils.save_flux_model_on_epoch_end_or_stepwise( + args, + False, + accelerator, + save_dtype, + epoch, + num_train_epochs, + global_step, + accelerator.unwrap_model(flux), + ) + + current_loss = loss.detach().item() # 平均なのでbatch sizeは関係ないはず + if args.logging_dir is not None: + logs = {"loss": current_loss} + train_util.append_lr_to_logs(logs, lr_scheduler, args.optimizer_type, including_unet=True) + + accelerator.log(logs, step=global_step) + + loss_recorder.add(epoch=epoch, step=step, loss=current_loss) + avr_loss: float = loss_recorder.moving_average + logs = {"avr_loss": avr_loss} # , "lr": lr_scheduler.get_last_lr()[0]} + progress_bar.set_postfix(**logs) + + if global_step >= args.max_train_steps: + break + + if args.logging_dir is not None: + logs = {"loss/epoch": loss_recorder.moving_average} + accelerator.log(logs, step=epoch + 1) + + accelerator.wait_for_everyone() + + if args.save_every_n_epochs is not None: + if accelerator.is_main_process: + flux_train_utils.save_flux_model_on_epoch_end_or_stepwise( + args, + True, + accelerator, + save_dtype, + epoch, + num_train_epochs, + global_step, + accelerator.unwrap_model(flux), + ) + + flux_train_utils.sample_images( + accelerator, args, epoch + 1, global_step, flux, ae, [clip_l, t5xxl], sample_prompts_te_outputs + ) + + is_main_process = accelerator.is_main_process + # if is_main_process: + flux = accelerator.unwrap_model(flux) + clip_l = accelerator.unwrap_model(clip_l) + clip_g = accelerator.unwrap_model(clip_g) + if t5xxl is not None: + t5xxl = accelerator.unwrap_model(t5xxl) + + accelerator.end_training() + + if args.save_state or args.save_state_on_train_end: + train_util.save_state_on_train_end(args, accelerator) + + del accelerator # この後メモリを使うのでこれは消す + + if is_main_process: + flux_train_utils.save_flux_model_on_train_end(args, save_dtype, epoch, global_step, flux, ae) + logger.info("model saved.") + + +def setup_parser() -> argparse.ArgumentParser: + parser = argparse.ArgumentParser() + + add_logging_arguments(parser) + train_util.add_sd_models_arguments(parser) # TODO split this + train_util.add_dataset_arguments(parser, True, True, True) + train_util.add_training_arguments(parser, False) + train_util.add_masked_loss_arguments(parser) + deepspeed_utils.add_deepspeed_arguments(parser) + train_util.add_sd_saving_arguments(parser) + train_util.add_optimizer_arguments(parser) + config_util.add_config_arguments(parser) + add_custom_train_arguments(parser) # TODO remove this from here + flux_train_utils.add_flux_train_arguments(parser) + + parser.add_argument( + "--fused_optimizer_groups", + type=int, + default=None, + help="number of optimizers for fused backward pass and optimizer step / fused backward passとoptimizer stepのためのoptimizer数", + ) + parser.add_argument( + "--skip_latents_validity_check", + action="store_true", + help="skip latents validity check / latentsの正当性チェックをスキップする", + ) + return parser + + +if __name__ == "__main__": + parser = setup_parser() + + args = parser.parse_args() + train_util.verify_command_line_training_args(args) + args = train_util.read_config_from_file(args, parser) + + train(args) diff --git a/flux_train_network.py b/flux_train_network.py index b9a29c160..002252c87 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -274,85 +274,14 @@ def get_noise_pred_and_target( weight_dtype, train_unet, ): - # copy from sd3_train.py and modified - - def get_sigmas(timesteps, n_dim=4, dtype=torch.float32): - sigmas = self.noise_scheduler_copy.sigmas.to(device=accelerator.device, dtype=dtype) - schedule_timesteps = self.noise_scheduler_copy.timesteps.to(accelerator.device) - timesteps = timesteps.to(accelerator.device) - step_indices = [(schedule_timesteps == t).nonzero().item() for t in timesteps] - - sigma = sigmas[step_indices].flatten() - while len(sigma.shape) < n_dim: - sigma = sigma.unsqueeze(-1) - return sigma - - def compute_density_for_timestep_sampling( - weighting_scheme: str, batch_size: int, logit_mean: float = None, logit_std: float = None, mode_scale: float = None - ): - """Compute the density for sampling the timesteps when doing SD3 training. - - Courtesy: This was contributed by Rafie Walker in https://github.com/huggingface/diffusers/pull/8528. - - SD3 paper reference: https://arxiv.org/abs/2403.03206v1. - """ - if weighting_scheme == "logit_normal": - # See 3.1 in the SD3 paper ($rf/lognorm(0.00,1.00)$). - u = torch.normal(mean=logit_mean, std=logit_std, size=(batch_size,), device="cpu") - u = torch.nn.functional.sigmoid(u) - elif weighting_scheme == "mode": - u = torch.rand(size=(batch_size,), device="cpu") - u = 1 - u - mode_scale * (torch.cos(math.pi * u / 2) ** 2 - 1 + u) - else: - u = torch.rand(size=(batch_size,), device="cpu") - return u - - def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): - """Computes loss weighting scheme for SD3 training. - - Courtesy: This was contributed by Rafie Walker in https://github.com/huggingface/diffusers/pull/8528. - - SD3 paper reference: https://arxiv.org/abs/2403.03206v1. - """ - if weighting_scheme == "sigma_sqrt": - weighting = (sigmas**-2.0).float() - elif weighting_scheme == "cosmap": - bot = 1 - 2 * sigmas + 2 * sigmas**2 - weighting = 2 / (math.pi * bot) - else: - weighting = torch.ones_like(sigmas) - return weighting - # Sample noise that we'll add to the latents noise = torch.randn_like(latents) bsz = latents.shape[0] - if args.timestep_sampling == "uniform" or args.timestep_sampling == "sigmoid": - # Simple random t-based noise sampling - if args.timestep_sampling == "sigmoid": - # https://github.com/XLabs-AI/x-flux/tree/main - t = torch.sigmoid(args.sigmoid_scale * torch.randn((bsz,), device=accelerator.device)) - else: - t = torch.rand((bsz,), device=accelerator.device) - timesteps = t * 1000.0 - t = t.view(-1, 1, 1, 1) - noisy_model_input = (1 - t) * latents + t * noise - else: - # Sample a random timestep for each image - # for weighting schemes where we sample timesteps non-uniformly - u = compute_density_for_timestep_sampling( - weighting_scheme=args.weighting_scheme, - batch_size=bsz, - logit_mean=args.logit_mean, - logit_std=args.logit_std, - mode_scale=args.mode_scale, - ) - indices = (u * self.noise_scheduler_copy.config.num_train_timesteps).long() - timesteps = self.noise_scheduler_copy.timesteps[indices].to(device=accelerator.device) - - # Add noise according to flow matching. - sigmas = get_sigmas(timesteps, n_dim=latents.ndim, dtype=weight_dtype) - noisy_model_input = sigmas * noise + (1.0 - sigmas) * latents + # get noisy model input and timesteps + noisy_model_input, timesteps, sigmas = flux_train_utils.get_noisy_model_input_and_timesteps( + args, noise_scheduler, latents, noise, accelerator.device, weight_dtype + ) # pack latents and get img_ids packed_noisy_model_input = flux_utils.pack_latents(noisy_model_input) # b, c, h*2, w*2 -> b, h*w, c*4 @@ -425,20 +354,8 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): # unpack latents model_pred = flux_utils.unpack_latents(model_pred, packed_latent_height, packed_latent_width) - if args.model_prediction_type == "raw": - # use model_pred as is - weighting = None - elif args.model_prediction_type == "additive": - # add the model_pred to the noisy_model_input - model_pred = model_pred + noisy_model_input - weighting = None - elif args.model_prediction_type == "sigma_scaled": - # apply sigma scaling - model_pred = model_pred * (-sigmas) + noisy_model_input - - # these weighting schemes use a uniform timestep sampling - # and instead post-weight the loss - weighting = compute_loss_weighting_for_sd3(weighting_scheme=args.weighting_scheme, sigmas=sigmas) + # apply model prediction type + model_pred, weighting = flux_train_utils.apply_model_prediction_type(args, model_pred, noisy_model_input, sigmas) # flow matching loss: this is different from SD3 target = noise - latents @@ -469,83 +386,14 @@ def is_text_encoder_not_needed_for_training(self, args): def setup_parser() -> argparse.ArgumentParser: parser = train_network.setup_parser() - # sdxl_train_util.add_sdxl_training_arguments(parser) - parser.add_argument("--clip_l", type=str, help="path to clip_l") - parser.add_argument("--t5xxl", type=str, help="path to t5xxl") - parser.add_argument("--ae", type=str, help="path to ae") - parser.add_argument("--apply_t5_attn_mask", action="store_true") - parser.add_argument( - "--cache_text_encoder_outputs", action="store_true", help="cache text encoder outputs / text encoderの出力をキャッシュする" - ) - parser.add_argument( - "--cache_text_encoder_outputs_to_disk", - action="store_true", - help="cache text encoder outputs to disk / text encoderの出力をディスクにキャッシュする", - ) + flux_train_utils.add_flux_train_arguments(parser) + parser.add_argument( "--split_mode", action="store_true", help="[EXPERIMENTAL] use split mode for Flux model, network arg `train_blocks=single` is required" + "/[実験的] Fluxモデルの分割モードを使用する。ネットワーク引数`train_blocks=single`が必要", ) - parser.add_argument( - "--t5xxl_max_token_length", - type=int, - default=None, - help="maximum token length for T5-XXL. if omitted, 256 for schnell and 512 for dev" - " / T5-XXLの最大トークン長。省略された場合、schnellの場合は256、devの場合は512", - ) - # copy from Diffusers - parser.add_argument( - "--weighting_scheme", - type=str, - default="none", - choices=["sigma_sqrt", "logit_normal", "mode", "cosmap", "none"], - ) - parser.add_argument( - "--logit_mean", type=float, default=0.0, help="mean to use when using the `'logit_normal'` weighting scheme." - ) - parser.add_argument("--logit_std", type=float, default=1.0, help="std to use when using the `'logit_normal'` weighting scheme.") - parser.add_argument( - "--mode_scale", - type=float, - default=1.29, - help="Scale of mode weighting scheme. Only effective when using the `'mode'` as the `weighting_scheme`.", - ) - parser.add_argument( - "--guidance_scale", - type=float, - default=3.5, - help="the FLUX.1 dev variant is a guidance distilled model", - ) - - parser.add_argument( - "--timestep_sampling", - choices=["sigma", "uniform", "sigmoid"], - default="sigma", - help="Method to sample timesteps: sigma-based, uniform random, or sigmoid of random normal. / タイムステップをサンプリングする方法:sigma、random uniform、またはrandom normalのsigmoid。", - ) - parser.add_argument( - "--sigmoid_scale", - type=float, - default=1.0, - help='Scale factor for sigmoid timestep sampling (only used when timestep-sampling is "sigmoid"). / sigmoidタイムステップサンプリングの倍率(timestep-samplingが"sigmoid"の場合のみ有効)。', - ) - parser.add_argument( - "--model_prediction_type", - choices=["raw", "additive", "sigma_scaled"], - default="sigma_scaled", - help="How to interpret and process the model prediction: " - "raw (use as is), additive (add to noisy input), sigma_scaled (apply sigma scaling)." - " / モデル予測の解釈と処理方法:" - "raw(そのまま使用)、additive(ノイズ入力に加算)、sigma_scaled(シグマスケーリングを適用)。", - ) - parser.add_argument( - "--discrete_flow_shift", - type=float, - default=3.0, - help="Discrete flow shift for the Euler Discrete Scheduler, default is 3.0. / Euler Discrete Schedulerの離散フローシフト、デフォルトは3.0。", - ) return parser diff --git a/library/flux_train_utils.py b/library/flux_train_utils.py index 91f522389..167d61c7e 100644 --- a/library/flux_train_utils.py +++ b/library/flux_train_utils.py @@ -12,8 +12,9 @@ from transformers import CLIPTextModel from tqdm import tqdm from PIL import Image +from safetensors.torch import save_file -from library import flux_models, flux_utils, strategy_base +from library import flux_models, flux_utils, strategy_base, train_util from library.sd3_train_utils import load_prompts from library.device_utils import init_ipex, clean_memory_on_device @@ -27,6 +28,9 @@ logger = logging.getLogger(__name__) +# region sample images + + def sample_images( accelerator: Accelerator, args: argparse.Namespace, @@ -295,3 +299,267 @@ def denoise( img = img + (t_prev - t_curr) * pred return img + + +# endregion + + +# region train +def get_sigmas(noise_scheduler, timesteps, device, n_dim=4, dtype=torch.float32): + sigmas = noise_scheduler.sigmas.to(device=device, dtype=dtype) + schedule_timesteps = noise_scheduler.timesteps.to(device) + timesteps = timesteps.to(device) + step_indices = [(schedule_timesteps == t).nonzero().item() for t in timesteps] + + sigma = sigmas[step_indices].flatten() + while len(sigma.shape) < n_dim: + sigma = sigma.unsqueeze(-1) + return sigma + + +def compute_density_for_timestep_sampling( + weighting_scheme: str, batch_size: int, logit_mean: float = None, logit_std: float = None, mode_scale: float = None +): + """Compute the density for sampling the timesteps when doing SD3 training. + + Courtesy: This was contributed by Rafie Walker in https://github.com/huggingface/diffusers/pull/8528. + + SD3 paper reference: https://arxiv.org/abs/2403.03206v1. + """ + if weighting_scheme == "logit_normal": + # See 3.1 in the SD3 paper ($rf/lognorm(0.00,1.00)$). + u = torch.normal(mean=logit_mean, std=logit_std, size=(batch_size,), device="cpu") + u = torch.nn.functional.sigmoid(u) + elif weighting_scheme == "mode": + u = torch.rand(size=(batch_size,), device="cpu") + u = 1 - u - mode_scale * (torch.cos(math.pi * u / 2) ** 2 - 1 + u) + else: + u = torch.rand(size=(batch_size,), device="cpu") + return u + + +def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): + """Computes loss weighting scheme for SD3 training. + + Courtesy: This was contributed by Rafie Walker in https://github.com/huggingface/diffusers/pull/8528. + + SD3 paper reference: https://arxiv.org/abs/2403.03206v1. + """ + if weighting_scheme == "sigma_sqrt": + weighting = (sigmas**-2.0).float() + elif weighting_scheme == "cosmap": + bot = 1 - 2 * sigmas + 2 * sigmas**2 + weighting = 2 / (math.pi * bot) + else: + weighting = torch.ones_like(sigmas) + return weighting + + +def get_noisy_model_input_and_timesteps( + args, noise_scheduler, latents, noise, device, dtype +) -> Tuple[torch.Tensor, torch.Tensor, torch.Tensor]: + bsz = latents.shape[0] + sigmas = None + + if args.timestep_sampling == "uniform" or args.timestep_sampling == "sigmoid": + # Simple random t-based noise sampling + if args.timestep_sampling == "sigmoid": + # https://github.com/XLabs-AI/x-flux/tree/main + t = torch.sigmoid(args.sigmoid_scale * torch.randn((bsz,), device=device)) + else: + t = torch.rand((bsz,), device=device) + timesteps = t * 1000.0 + t = t.view(-1, 1, 1, 1) + noisy_model_input = (1 - t) * latents + t * noise + else: + # Sample a random timestep for each image + # for weighting schemes where we sample timesteps non-uniformly + u = compute_density_for_timestep_sampling( + weighting_scheme=args.weighting_scheme, + batch_size=bsz, + logit_mean=args.logit_mean, + logit_std=args.logit_std, + mode_scale=args.mode_scale, + ) + indices = (u * noise_scheduler.config.num_train_timesteps).long() + timesteps = noise_scheduler.timesteps[indices].to(device=device) + + # Add noise according to flow matching. + sigmas = get_sigmas(noise_scheduler, timesteps, device, n_dim=latents.ndim, dtype=dtype) + noisy_model_input = sigmas * noise + (1.0 - sigmas) * latents + + return noisy_model_input, timesteps, sigmas + + +def apply_model_prediction_type(args, model_pred, noisy_model_input, sigmas): + weighting = None + if args.model_prediction_type == "raw": + pass + elif args.model_prediction_type == "additive": + # add the model_pred to the noisy_model_input + model_pred = model_pred + noisy_model_input + elif args.model_prediction_type == "sigma_scaled": + # apply sigma scaling + model_pred = model_pred * (-sigmas) + noisy_model_input + + # these weighting schemes use a uniform timestep sampling + # and instead post-weight the loss + weighting = compute_loss_weighting_for_sd3(weighting_scheme=args.weighting_scheme, sigmas=sigmas) + + return model_pred, weighting + + +def save_models(ckpt_path: str, flux: flux_models.Flux, sai_metadata: Optional[dict], save_dtype: Optional[torch.dtype] = None): + state_dict = {} + + def update_sd(prefix, sd): + for k, v in sd.items(): + key = prefix + k + if save_dtype is not None: + v = v.detach().clone().to("cpu").to(save_dtype) + state_dict[key] = v + + update_sd("", flux.state_dict()) + + save_file(state_dict, ckpt_path, metadata=sai_metadata) + + +def save_flux_model_on_train_end( + args: argparse.Namespace, save_dtype: torch.dtype, epoch: int, global_step: int, flux: flux_models.Flux +): + def sd_saver(ckpt_file, epoch_no, global_step): + sai_metadata = train_util.get_sai_model_spec(None, args, False, False, False, is_stable_diffusion_ckpt=True, flux="dev") + save_models(ckpt_file, flux, sai_metadata, save_dtype) + + train_util.save_sd_model_on_train_end_common(args, True, True, epoch, global_step, sd_saver, None) + + +# epochとstepの保存、メタデータにepoch/stepが含まれ引数が同じになるため、統合している +# on_epoch_end: Trueならepoch終了時、Falseならstep経過時 +def save_flux_model_on_epoch_end_or_stepwise( + args: argparse.Namespace, + on_epoch_end: bool, + accelerator, + save_dtype: torch.dtype, + epoch: int, + num_train_epochs: int, + global_step: int, + flux: flux_models.Flux, +): + def sd_saver(ckpt_file, epoch_no, global_step): + sai_metadata = train_util.get_sai_model_spec(None, args, False, False, False, is_stable_diffusion_ckpt=True, flux="dev") + save_models(ckpt_file, flux, sai_metadata, save_dtype) + + train_util.save_sd_model_on_epoch_end_or_stepwise_common( + args, + on_epoch_end, + accelerator, + True, + True, + epoch, + num_train_epochs, + global_step, + sd_saver, + None, + ) + + +# endregion + + +def add_flux_train_arguments(parser: argparse.ArgumentParser): + parser.add_argument( + "--clip_l", + type=str, + help="path to clip_l (*.sft or *.safetensors), should be float16 / clip_lのパス(*.sftまたは*.safetensors)、float16が前提", + ) + parser.add_argument( + "--t5xxl", + type=str, + help="path to t5xxl (*.sft or *.safetensors), should be float16 / t5xxlのパス(*.sftまたは*.safetensors)、float16が前提", + ) + parser.add_argument("--ae", type=str, help="path to ae (*.sft or *.safetensors) / aeのパス(*.sftまたは*.safetensors)") + parser.add_argument( + "--t5xxl_max_token_length", + type=int, + default=None, + help="maximum token length for T5-XXL. if omitted, 256 for schnell and 512 for dev" + " / T5-XXLの最大トークン長。省略された場合、schnellの場合は256、devの場合は512", + ) + parser.add_argument( + "--apply_t5_attn_mask", + action="store_true", + help="apply attention mask (zero embs) to T5-XXL / T5-XXLにアテンションマスク(ゼロ埋め)を適用する", + ) + parser.add_argument( + "--cache_text_encoder_outputs", action="store_true", help="cache text encoder outputs / text encoderの出力をキャッシュする" + ) + parser.add_argument( + "--cache_text_encoder_outputs_to_disk", + action="store_true", + help="cache text encoder outputs to disk / text encoderの出力をディスクにキャッシュする", + ) + parser.add_argument( + "--text_encoder_batch_size", + type=int, + default=None, + help="text encoder batch size (default: None, use dataset's batch size)" + + " / text encoderのバッチサイズ(デフォルト: None, データセットのバッチサイズを使用)", + ) + parser.add_argument( + "--disable_mmap_load_safetensors", + action="store_true", + help="disable mmap load for safetensors. Speed up model loading in WSL environment / safetensorsのmmapロードを無効にする。WSL環境等でモデル読み込みを高速化できる", + ) + + # copy from Diffusers + parser.add_argument( + "--weighting_scheme", + type=str, + default="none", + choices=["sigma_sqrt", "logit_normal", "mode", "cosmap", "none"], + ) + parser.add_argument( + "--logit_mean", type=float, default=0.0, help="mean to use when using the `'logit_normal'` weighting scheme." + ) + parser.add_argument("--logit_std", type=float, default=1.0, help="std to use when using the `'logit_normal'` weighting scheme.") + parser.add_argument( + "--mode_scale", + type=float, + default=1.29, + help="Scale of mode weighting scheme. Only effective when using the `'mode'` as the `weighting_scheme`.", + ) + parser.add_argument( + "--guidance_scale", + type=float, + default=3.5, + help="the FLUX.1 dev variant is a guidance distilled model", + ) + + parser.add_argument( + "--timestep_sampling", + choices=["sigma", "uniform", "sigmoid"], + default="sigma", + help="Method to sample timesteps: sigma-based, uniform random, or sigmoid of random normal. / タイムステップをサンプリングする方法:sigma、random uniform、またはrandom normalのsigmoid。", + ) + parser.add_argument( + "--sigmoid_scale", + type=float, + default=1.0, + help='Scale factor for sigmoid timestep sampling (only used when timestep-sampling is "sigmoid"). / sigmoidタイムステップサンプリングの倍率(timestep-samplingが"sigmoid"の場合のみ有効)。', + ) + parser.add_argument( + "--model_prediction_type", + choices=["raw", "additive", "sigma_scaled"], + default="sigma_scaled", + help="How to interpret and process the model prediction: " + "raw (use as is), additive (add to noisy input), sigma_scaled (apply sigma scaling)." + " / モデル予測の解釈と処理方法:" + "raw(そのまま使用)、additive(ノイズ入力に加算)、sigma_scaled(シグマスケーリングを適用)。", + ) + parser.add_argument( + "--discrete_flow_shift", + type=float, + default=3.0, + help="Discrete flow shift for the Euler Discrete Scheduler, default is 3.0. / Euler Discrete Schedulerの離散フローシフト、デフォルトは3.0。", + ) diff --git a/library/train_util.py b/library/train_util.py index fa0eb9e51..f4ac8740a 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -2629,7 +2629,7 @@ def __getitem__(self, idx): raise NotImplementedError -def load_arbitrary_dataset(args, tokenizer) -> MinimalDataset: +def load_arbitrary_dataset(args, tokenizer=None) -> MinimalDataset: module = ".".join(args.dataset_class.split(".")[:-1]) dataset_class = args.dataset_class.split(".")[-1] module = importlib.import_module(module) From 25f77f6ef04ee760506338e7e7f9835c28657c59 Mon Sep 17 00:00:00 2001 From: kohya-ss Date: Sat, 17 Aug 2024 15:54:32 +0900 Subject: [PATCH 152/748] fix flux fine tuning to work --- README.md | 4 ++++ flux_train.py | 6 ++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index e231cc24e..2b7b110f3 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,10 @@ __Please update PyTorch to 2.4.0. We have tested with `torch==2.4.0` and `torchv The command to install PyTorch is as follows: `pip3 install torch==2.4.0 torchvision==0.19.0 --index-url https://download.pytorch.org/whl/cu124` + +Aug 17. 2024: +Added a script `flux_train.py` to train FLUX.1. The script is experimental and not an optimized version. It needs >28GB VRAM for training. + Aug 16, 2024: Added a script `networks/flux_merge_lora.py` to merge LoRA into FLUX.1 checkpoint. See [Merge LoRA to FLUX.1 checkpoint](#merge-lora-to-flux1-checkpoint) for details. diff --git a/flux_train.py b/flux_train.py index 2ca20ded2..d2a9b3f32 100644 --- a/flux_train.py +++ b/flux_train.py @@ -674,9 +674,7 @@ def optimizer_hook(parameter: torch.Tensor): # if is_main_process: flux = accelerator.unwrap_model(flux) clip_l = accelerator.unwrap_model(clip_l) - clip_g = accelerator.unwrap_model(clip_g) - if t5xxl is not None: - t5xxl = accelerator.unwrap_model(t5xxl) + t5xxl = accelerator.unwrap_model(t5xxl) accelerator.end_training() @@ -686,7 +684,7 @@ def optimizer_hook(parameter: torch.Tensor): del accelerator # この後メモリを使うのでこれは消す if is_main_process: - flux_train_utils.save_flux_model_on_train_end(args, save_dtype, epoch, global_step, flux, ae) + flux_train_utils.save_flux_model_on_train_end(args, save_dtype, epoch, global_step, flux) logger.info("model saved.") From 7e688913aef4c852f54a703c9f91d135b17dff87 Mon Sep 17 00:00:00 2001 From: exveria1015 Date: Sun, 18 Aug 2024 12:38:05 +0900 Subject: [PATCH 153/748] =?UTF-8?q?fix:=20Flux=20=E3=81=AE=20LoRA=20?= =?UTF-8?q?=E3=83=9E=E3=83=BC=E3=82=B8=E6=A9=9F=E8=83=BD=E3=82=92=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- networks/flux_merge_lora.py | 364 +++++++++++++++++++++++++++++------- 1 file changed, 297 insertions(+), 67 deletions(-) diff --git a/networks/flux_merge_lora.py b/networks/flux_merge_lora.py index c3986ef1f..df0ba606a 100644 --- a/networks/flux_merge_lora.py +++ b/networks/flux_merge_lora.py @@ -1,13 +1,14 @@ -import math import argparse +import math import os import time + import torch -from safetensors import safe_open from safetensors.torch import load_file, save_file from tqdm import tqdm + +import lora_flux as lora_flux from library import sai_model_spec, train_util -import networks.lora_flux as lora_flux from library.utils import setup_logging setup_logging() @@ -42,34 +43,181 @@ def save_to_file(file_name, state_dict, dtype, metadata): save_file(state_dict, file_name, metadata=metadata) -def merge_to_flux_model(loading_device, working_device, flux_model, models, ratios, merge_dtype, save_dtype): - # create module map without loading state_dict +def merge_to_flux_model( + loading_device, working_device, flux_model, models, ratios, merge_dtype, save_dtype +): logger.info(f"loading keys from FLUX.1 model: {flux_model}") - lora_name_to_module_key = {} - with safe_open(flux_model, framework="pt", device=loading_device) as flux_file: - keys = list(flux_file.keys()) - for key in keys: - if key.endswith(".weight"): - module_name = ".".join(key.split(".")[:-1]) - lora_name = lora_flux.LoRANetwork.LORA_PREFIX_FLUX + "_" + module_name.replace(".", "_") - lora_name_to_module_key[lora_name] = key - flux_state_dict = load_file(flux_model, device=loading_device) + + def create_key_map(n_double_layers, n_single_layers, hidden_size): + key_map = {} + for index in range(n_double_layers): + prefix_from = f"transformer_blocks.{index}" + prefix_to = f"double_blocks.{index}" + + for end in ("weight", "bias"): + k = f"{prefix_from}.attn." + qkv_img = f"{prefix_to}.img_attn.qkv.{end}" + qkv_txt = f"{prefix_to}.txt_attn.qkv.{end}" + + key_map[f"{k}to_q.{end}"] = (qkv_img, (0, 0, hidden_size)) + key_map[f"{k}to_k.{end}"] = (qkv_img, (0, hidden_size, hidden_size)) + key_map[f"{k}to_v.{end}"] = (qkv_img, (0, hidden_size * 2, hidden_size)) + key_map[f"{k}add_q_proj.{end}"] = (qkv_txt, (0, 0, hidden_size)) + key_map[f"{k}add_k_proj.{end}"] = ( + qkv_txt, + (0, hidden_size, hidden_size), + ) + key_map[f"{k}add_v_proj.{end}"] = ( + qkv_txt, + (0, hidden_size * 2, hidden_size), + ) + + block_map = { + "attn.to_out.0.weight": "img_attn.proj.weight", + "attn.to_out.0.bias": "img_attn.proj.bias", + "norm1.linear.weight": "img_mod.lin.weight", + "norm1.linear.bias": "img_mod.lin.bias", + "norm1_context.linear.weight": "txt_mod.lin.weight", + "norm1_context.linear.bias": "txt_mod.lin.bias", + "attn.to_add_out.weight": "txt_attn.proj.weight", + "attn.to_add_out.bias": "txt_attn.proj.bias", + "ff.net.0.proj.weight": "img_mlp.0.weight", + "ff.net.0.proj.bias": "img_mlp.0.bias", + "ff.net.2.weight": "img_mlp.2.weight", + "ff.net.2.bias": "img_mlp.2.bias", + "ff_context.net.0.proj.weight": "txt_mlp.0.weight", + "ff_context.net.0.proj.bias": "txt_mlp.0.bias", + "ff_context.net.2.weight": "txt_mlp.2.weight", + "ff_context.net.2.bias": "txt_mlp.2.bias", + "attn.norm_q.weight": "img_attn.norm.query_norm.scale", + "attn.norm_k.weight": "img_attn.norm.key_norm.scale", + "attn.norm_added_q.weight": "txt_attn.norm.query_norm.scale", + "attn.norm_added_k.weight": "txt_attn.norm.key_norm.scale", + } + + for k, v in block_map.items(): + key_map[f"{prefix_from}.{k}"] = f"{prefix_to}.{v}" + + for index in range(n_single_layers): + prefix_from = f"single_transformer_blocks.{index}" + prefix_to = f"single_blocks.{index}" + + for end in ("weight", "bias"): + k = f"{prefix_from}.attn." + qkv = f"{prefix_to}.linear1.{end}" + key_map[f"{k}to_q.{end}"] = (qkv, (0, 0, hidden_size)) + key_map[f"{k}to_k.{end}"] = (qkv, (0, hidden_size, hidden_size)) + key_map[f"{k}to_v.{end}"] = (qkv, (0, hidden_size * 2, hidden_size)) + key_map[f"{prefix_from}.proj_mlp.{end}"] = ( + qkv, + (0, hidden_size * 3, hidden_size * 4), + ) + + block_map = { + "norm.linear.weight": "modulation.lin.weight", + "norm.linear.bias": "modulation.lin.bias", + "proj_out.weight": "linear2.weight", + "proj_out.bias": "linear2.bias", + "attn.norm_q.weight": "norm.query_norm.scale", + "attn.norm_k.weight": "norm.key_norm.scale", + } + + for k, v in block_map.items(): + key_map[f"{prefix_from}.{k}"] = f"{prefix_to}.{v}" + + return key_map + + key_map = create_key_map( + 18, 1, 2048 + ) # Assuming 18 double layers, 1 single layer, and hidden size of 2048 + + def find_matching_key(flux_dict, lora_key): + lora_key = lora_key.replace("diffusion_model.", "") + lora_key = lora_key.replace("transformer.", "") + lora_key = lora_key.replace("lora_A", "lora_down").replace("lora_B", "lora_up") + lora_key = lora_key.replace("single_transformer_blocks", "single_blocks") + lora_key = lora_key.replace("transformer_blocks", "double_blocks") + + double_block_map = { + "attn.to_out.0": "img_attn.proj", + "norm1.linear": "img_mod.lin", + "norm1_context.linear": "txt_mod.lin", + "attn.to_add_out": "txt_attn.proj", + "ff.net.0.proj": "img_mlp.0", + "ff.net.2": "img_mlp.2", + "ff_context.net.0.proj": "txt_mlp.0", + "ff_context.net.2": "txt_mlp.2", + "attn.norm_q": "img_attn.norm.query_norm", + "attn.norm_k": "img_attn.norm.key_norm", + "attn.norm_added_q": "txt_attn.norm.query_norm", + "attn.norm_added_k": "txt_attn.norm.key_norm", + "attn.to_q": "img_attn.qkv", + "attn.to_k": "img_attn.qkv", + "attn.to_v": "img_attn.qkv", + "attn.add_q_proj": "txt_attn.qkv", + "attn.add_k_proj": "txt_attn.qkv", + "attn.add_v_proj": "txt_attn.qkv", + } + + single_block_map = { + "norm.linear": "modulation.lin", + "proj_out": "linear2", + "attn.norm_q": "norm.query_norm", + "attn.norm_k": "norm.key_norm", + "attn.to_q": "linear1", + "attn.to_k": "linear1", + "attn.to_v": "linear1", + } + + for old, new in double_block_map.items(): + lora_key = lora_key.replace(old, new) + + for old, new in single_block_map.items(): + lora_key = lora_key.replace(old, new) + + if lora_key in key_map: + flux_key = key_map[lora_key] + if isinstance(flux_key, tuple): + flux_key = flux_key[0] + logger.info(f"Found matching key: {flux_key}") + return flux_key + + # If not found in key_map, try partial matching + potential_key = lora_key + ".weight" + logger.info(f"Searching for key: {potential_key}") + matches = [k for k in flux_dict.keys() if potential_key in k] + if matches: + logger.info(f"Found matching key: {matches[0]}") + return matches[0] + return None + + merged_keys = set() for model, ratio in zip(models, ratios): logger.info(f"loading: {model}") - lora_sd, _ = load_state_dict(model, merge_dtype) # loading on CPU + lora_sd, _ = load_state_dict(model, merge_dtype) - logger.info(f"merging...") + logger.info("merging...") for key in tqdm(lora_sd.keys()): - if "lora_down" in key: - lora_name = key[: key.rfind(".lora_down")] - up_key = key.replace("lora_down", "lora_up") - alpha_key = key[: key.index("lora_down")] + "alpha" - - if lora_name not in lora_name_to_module_key: - logger.warning(f"no module found for LoRA weight: {key}. LoRA for Text Encoder is not supported yet.") + if "lora_down" in key or "lora_A" in key: + lora_name = key[ + : key.rfind(".lora_down" if "lora_down" in key else ".lora_A") + ] + up_key = key.replace("lora_down", "lora_up").replace("lora_A", "lora_B") + alpha_key = ( + key[: key.index("lora_down" if "lora_down" in key else "lora_A")] + + "alpha" + ) + + logger.info(f"Processing LoRA key: {lora_name}") + flux_key = find_matching_key(flux_state_dict, lora_name) + + if flux_key is None: + logger.warning(f"no module found for LoRA weight: {key}") continue + logger.info(f"Merging LoRA key {lora_name} into Flux key {flux_key}") + down_weight = lora_sd[key] up_weight = lora_sd[up_key] @@ -77,40 +225,74 @@ def merge_to_flux_model(loading_device, working_device, flux_model, models, rati alpha = lora_sd.get(alpha_key, dim) scale = alpha / dim - # W <- W + U * D - module_weight_key = lora_name_to_module_key[lora_name] - if module_weight_key not in flux_state_dict: - weight = flux_file.get_tensor(module_weight_key) - else: - weight = flux_state_dict[module_weight_key] + weight = flux_state_dict[flux_key] weight = weight.to(working_device, merge_dtype) up_weight = up_weight.to(working_device, merge_dtype) down_weight = down_weight.to(working_device, merge_dtype) - # logger.info(module_name, down_weight.size(), up_weight.size()) - if len(weight.size()) == 2: - # linear - weight = weight + ratio * (up_weight @ down_weight) * scale - elif down_weight.size()[2:4] == (1, 1): - # conv2d 1x1 - weight = ( - weight - + ratio - * (up_weight.squeeze(3).squeeze(2) @ down_weight.squeeze(3).squeeze(2)).unsqueeze(2).unsqueeze(3) - * scale - ) + if lora_name.startswith("transformer."): + if "qkv" in flux_key: + hidden_size = weight.size(-1) // 3 + update = ratio * (up_weight @ down_weight) * scale + + if "img_attn" in flux_key or "txt_attn" in flux_key: + q, k, v = torch.chunk(weight, 3, dim=-1) + if "to_q" in lora_name or "add_q_proj" in lora_name: + q += update.reshape(q.shape) + elif "to_k" in lora_name or "add_k_proj" in lora_name: + k += update.reshape(k.shape) + elif "to_v" in lora_name or "add_v_proj" in lora_name: + v += update.reshape(v.shape) + weight = torch.cat([q, k, v], dim=-1) + else: + if len(weight.size()) == 2: + weight = weight + ratio * (up_weight @ down_weight) * scale + elif down_weight.size()[2:4] == (1, 1): + weight = ( + weight + + ratio + * ( + up_weight.squeeze(3).squeeze(2) + @ down_weight.squeeze(3).squeeze(2) + ) + .unsqueeze(2) + .unsqueeze(3) + * scale + ) + else: + conved = torch.nn.functional.conv2d( + down_weight.permute(1, 0, 2, 3), up_weight + ).permute(1, 0, 2, 3) + weight = weight + ratio * conved * scale else: - # conv2d 3x3 - conved = torch.nn.functional.conv2d(down_weight.permute(1, 0, 2, 3), up_weight).permute(1, 0, 2, 3) - # logger.info(conved.size(), weight.size(), module.stride, module.padding) - weight = weight + ratio * conved * scale - - flux_state_dict[module_weight_key] = weight.to(loading_device, save_dtype) + if len(weight.size()) == 2: + weight = weight + ratio * (up_weight @ down_weight) * scale + elif down_weight.size()[2:4] == (1, 1): + weight = ( + weight + + ratio + * ( + up_weight.squeeze(3).squeeze(2) + @ down_weight.squeeze(3).squeeze(2) + ) + .unsqueeze(2) + .unsqueeze(3) + * scale + ) + else: + conved = torch.nn.functional.conv2d( + down_weight.permute(1, 0, 2, 3), up_weight + ).permute(1, 0, 2, 3) + weight = weight + ratio * conved * scale + + flux_state_dict[flux_key] = weight.to(loading_device, save_dtype) + merged_keys.add(flux_key) del up_weight del down_weight del weight + logger.info(f"Merged keys: {sorted(list(merged_keys))}") return flux_state_dict @@ -126,7 +308,9 @@ def merge_lora_models(models, ratios, merge_dtype, concat=False, shuffle=False): if lora_metadata is not None: if base_model is None: - base_model = lora_metadata.get(train_util.SS_METADATA_KEY_BASE_MODEL_VERSION, None) + base_model = lora_metadata.get( + train_util.SS_METADATA_KEY_BASE_MODEL_VERSION, None + ) # get alpha and dim alphas = {} # alpha for current model @@ -152,10 +336,12 @@ def merge_lora_models(models, ratios, merge_dtype, concat=False, shuffle=False): if lora_module_name not in base_alphas: base_alphas[lora_module_name] = alpha - logger.info(f"dim: {list(set(dims.values()))}, alpha: {list(set(alphas.values()))}") + logger.info( + f"dim: {list(set(dims.values()))}, alpha: {list(set(alphas.values()))}" + ) # merge - logger.info(f"merging...") + logger.info("merging...") for key in tqdm(lora_sd.keys()): if "alpha" in key: continue @@ -173,14 +359,19 @@ def merge_lora_models(models, ratios, merge_dtype, concat=False, shuffle=False): alpha = alphas[lora_module_name] scale = math.sqrt(alpha / base_alpha) * ratio - scale = abs(scale) if "lora_up" in key else scale # マイナスの重みに対応する。 + scale = ( + abs(scale) if "lora_up" in key else scale + ) # マイナスの重みに対応する。 if key in merged_sd: assert ( - merged_sd[key].size() == lora_sd[key].size() or concat_dim is not None - ), f"weights shape mismatch, different dims? / 重みのサイズが合いません。dimが異なる可能性があります。" + merged_sd[key].size() == lora_sd[key].size() + or concat_dim is not None + ), "weights shape mismatch, different dims? / 重みのサイズが合いません。dimが異なる可能性があります。" if concat_dim is not None: - merged_sd[key] = torch.cat([merged_sd[key], lora_sd[key] * scale], dim=concat_dim) + merged_sd[key] = torch.cat( + [merged_sd[key], lora_sd[key] * scale], dim=concat_dim + ) else: merged_sd[key] = merged_sd[key] + lora_sd[key] * scale else: @@ -199,7 +390,9 @@ def merge_lora_models(models, ratios, merge_dtype, concat=False, shuffle=False): merged_sd[key_up] = merged_sd[key_up][:, perm] logger.info("merged model") - logger.info(f"dim: {list(set(base_dims.values()))}, alpha: {list(set(base_alphas.values()))}") + logger.info( + f"dim: {list(set(base_dims.values()))}, alpha: {list(set(base_alphas.values()))}" + ) # check all dims are same dims_list = list(set(base_dims.values())) @@ -218,15 +411,17 @@ def merge_lora_models(models, ratios, merge_dtype, concat=False, shuffle=False): # build minimum metadata dims = f"{dims_list[0]}" if all_same_dims else "Dynamic" alphas = f"{alphas_list[0]}" if all_same_alphas else "Dynamic" - metadata = train_util.build_minimum_network_metadata(str(False), base_model, "networks.lora", dims, alphas, None) + metadata = train_util.build_minimum_network_metadata( + str(False), base_model, "networks.lora", dims, alphas, None + ) return merged_sd, metadata def merge(args): - assert len(args.models) == len( - args.ratios - ), f"number of models must be equal to number of ratios / モデルの数と重みの数は合わせてください" + assert ( + len(args.models) == len(args.ratios) + ), "number of models must be equal to number of ratios / モデルの数と重みの数は合わせてください" def str_to_dtype(p): if p == "float": @@ -249,27 +444,48 @@ def str_to_dtype(p): if args.flux_model is not None: state_dict = merge_to_flux_model( - args.loading_device, args.working_device, args.flux_model, args.models, args.ratios, merge_dtype, save_dtype + args.loading_device, + args.working_device, + args.flux_model, + args.models, + args.ratios, + merge_dtype, + save_dtype, ) if args.no_metadata: sai_metadata = None else: - merged_from = sai_model_spec.build_merged_from([args.flux_model] + args.models) + merged_from = sai_model_spec.build_merged_from( + [args.flux_model] + args.models + ) title = os.path.splitext(os.path.basename(args.save_to))[0] sai_metadata = sai_model_spec.build_metadata( - None, False, False, False, False, False, time.time(), title=title, merged_from=merged_from, flux="dev" + None, + False, + False, + False, + False, + False, + time.time(), + title=title, + merged_from=merged_from, + flux="dev", ) logger.info(f"saving FLUX model to: {args.save_to}") save_to_file(args.save_to, state_dict, save_dtype, sai_metadata) else: - state_dict, metadata = merge_lora_models(args.models, args.ratios, merge_dtype, args.concat, args.shuffle) + state_dict, metadata = merge_lora_models( + args.models, args.ratios, merge_dtype, args.concat, args.shuffle + ) - logger.info(f"calculating hashes and creating metadata...") + logger.info("calculating hashes and creating metadata...") - model_hash, legacy_hash = train_util.precalculate_safetensors_hashes(state_dict, metadata) + model_hash, legacy_hash = train_util.precalculate_safetensors_hashes( + state_dict, metadata + ) metadata["sshs_model_hash"] = model_hash metadata["sshs_legacy_hash"] = legacy_hash @@ -277,7 +493,16 @@ def str_to_dtype(p): merged_from = sai_model_spec.build_merged_from(args.models) title = os.path.splitext(os.path.basename(args.save_to))[0] sai_metadata = sai_model_spec.build_metadata( - state_dict, False, False, False, True, False, time.time(), title=title, merged_from=merged_from, flux="dev" + state_dict, + False, + False, + False, + True, + False, + time.time(), + title=title, + merged_from=merged_from, + flux="dev", ) metadata.update(sai_metadata) @@ -332,7 +557,12 @@ def setup_parser() -> argparse.ArgumentParser: nargs="*", help="LoRA models to merge: safetensors file / マージするLoRAモデル、safetensorsファイル", ) - parser.add_argument("--ratios", type=float, nargs="*", help="ratios for each model / それぞれのLoRAモデルの比率") + parser.add_argument( + "--ratios", + type=float, + nargs="*", + help="ratios for each model / それぞれのLoRAモデルの比率", + ) parser.add_argument( "--no_metadata", action="store_true", From ef535ec6bb99918027afc1e31efa72cd3761d453 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 18 Aug 2024 16:54:18 +0900 Subject: [PATCH 154/748] add memory efficient training for FLUX.1 --- README.md | 64 ++++++++++++-- flux_train.py | 187 +++++++++++++++++++++++++++++------------ library/flux_models.py | 182 ++++++++++++++++++++++++++++++++++----- 3 files changed, 354 insertions(+), 79 deletions(-) diff --git a/README.md b/README.md index 2b7b110f3..521e82e86 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,11 @@ The command to install PyTorch is as follows: `pip3 install torch==2.4.0 torchvision==0.19.0 --index-url https://download.pytorch.org/whl/cu124` -Aug 17. 2024: +Aug 18, 2024: +Memory-efficient training based on 2kpr's implementation is implemented in `flux_train.py`. Thanks to 2kpr. See [FLUX.1 fine-tuning](#flux1-fine-tuning) for details. + + +Aug 17, 2024: Added a script `flux_train.py` to train FLUX.1. The script is experimental and not an optimized version. It needs >28GB VRAM for training. Aug 16, 2024: @@ -39,11 +43,23 @@ Aug 11, 2024: Fix `--apply_t5_attn_mask` option to work. Please remove and re-ge Aug 10, 2024: LoRA key prefix is changed to `lora_unet` from `lora_flex` to make it compatible with ComfyUI. -We have added a new training script for LoRA training. The script is `flux_train_network.py`. See `--help` for options. Sample command is below, settings are based on [AI Toolkit by Ostris](https://github.com/ostris/ai-toolkit). It will work with 24GB VRAM GPUs. + +### FLUX.1 LoRA training + +We have added a new training script for LoRA training. The script is `flux_train_network.py`. See `--help` for options. Sample command is below, settings are based on [AI Toolkit by Ostris](https://github.com/ostris/ai-toolkit). It will work with 24GB VRAM GPUs. ``` -accelerate launch --mixed_precision bf16 --num_cpu_threads_per_process 1 flux_train_network.py --pretrained_model_name_or_path flux1-dev.sft --clip_l sd3/clip_l.safetensors --t5xxl sd3/t5xxl_fp16.safetensors --ae ae.sft --cache_latents_to_disk --save_model_as safetensors --sdpa --persistent_data_loader_workers --max_data_loader_n_workers 2 --seed 42 --gradient_checkpointing --mixed_precision bf16 --save_precision bf16 --network_module networks.lora_flux --network_dim 4 --optimizer_type adamw8bit --learning_rate 1e-4 --network_train_unet_only --cache_text_encoder_outputs --cache_text_encoder_outputs_to_disk --fp8_base --highvram --max_train_epochs 4 --save_every_n_epochs 1 --dataset_config dataset_1024_bs2.toml --output_dir path/to/output/dir --output_name flux-lora-name --timestep_sampling sigmoid --model_prediction_type raw --guidance_scale 1.0 --loss_type l2 +accelerate launch --mixed_precision bf16 --num_cpu_threads_per_process 1 flux_train_network.py +--pretrained_model_name_or_path flux1-dev.sft --clip_l sd3/clip_l.safetensors --t5xxl sd3/t5xxl_fp16.safetensors +--ae ae.sft --cache_latents_to_disk --save_model_as safetensors --sdpa --persistent_data_loader_workers +--max_data_loader_n_workers 2 --seed 42 --gradient_checkpointing --mixed_precision bf16 --save_precision bf16 +--network_module networks.lora_flux --network_dim 4 --optimizer_type adamw8bit --learning_rate 1e-4 +--network_train_unet_only --cache_text_encoder_outputs --cache_text_encoder_outputs_to_disk --fp8_base +--highvram --max_train_epochs 4 --save_every_n_epochs 1 --dataset_config dataset_1024_bs2.toml +--output_dir path/to/output/dir --output_name flux-lora-name --timestep_sampling sigmoid +--model_prediction_type raw --guidance_scale 1.0 --loss_type l2 ``` +(The command is multi-line for readability. Please combine it into one line.) The training can be done with 16GB VRAM GPUs with Adafactor optimizer. Please use settings like below: @@ -80,12 +96,44 @@ The trained LoRA model can be used with ComfyUI. The inference script is also available. The script is `flux_minimal_inference.py`. See `--help` for options. -Aug 12: `--interactive` option is now working. - ``` python flux_minimal_inference.py --ckpt flux1-dev.sft --clip_l sd3/clip_l.safetensors --t5xxl sd3/t5xxl_fp16.safetensors --ae ae.sft --dtype bf16 --prompt "a cat holding a sign that says hello world" --out path/to/output/dir --seed 1 --flux_dtype fp8 --offload --lora lora-flux-name.safetensors;1.0 ``` +### FLUX.1 fine-tuning + +Sample command for FLUX.1 fine-tuning is below. This will work with 24GB VRAM GPUs, and 64GB main memory is recommended. + +``` +accelerate launch --mixed_precision bf16 --num_cpu_threads_per_process 1 flux_train.py +--pretrained_model_name_or_path flux1-dev.sft --clip_l clip_l.safetensors --t5xxl t5xxl_fp16.safetensors --ae ae_dev.sft +--mixed_precision bf16 --save_model_as safetensors --sdpa --persistent_data_loader_workers --max_data_loader_n_workers 2 +--seed 42 --gradient_checkpointing --mixed_precision bf16 --save_precision bf16 +--dataset_config dataset_1024_bs1.toml --output_dir path/to/output/dir --output_name test-bf16 +--learning_rate 5e-5 --max_train_epochs 4 --sdpa --highvram --cache_text_encoder_outputs_to_disk --cache_latents_to_disk --save_every_n_epochs 1 +--optimizer_type adafactor --optimizer_args "relative_step=False" "scale_parameter=False" "warmup_init=False" +--timestep_sampling sigmoid --model_prediction_type raw --guidance_scale 1.0 +--blockwise_fused_optimizer --double_blocks_to_swap 6 --cpu_offload_checkpointing +``` + +(Combine the command into one line.) + +Options are almost the same as LoRA training. The difference is `--blockwise_fused_optimizer`, `--double_blocks_to_swap` and `--cpu_offload_checkpointing`. `--single_blocks_to_swap` is also available. + +`--blockwise_fused_optimizer` enables the fusing of the optimizer for each block. This is similar to `--fused_backward_pass`. Any optimizer can be used, but Adafactor is recommended for memory efficiency. `--fused_optimizer_groups` is deprecated due to the addition of this option for FLUX.1 training. + +`--double_blocks_to_swap` and `--single_blocks_to_swap` are the number of double blocks and single blocks to swap. The default is None (no swap). These options must be combined with `--blockwise_fused_optimizer`. + +`--cpu_offload_checkpointing` is to offload the gradient checkpointing to CPU. This reduces about 2GB of VRAM usage. + +All these options are experimental and may change in the future. + +The increasing the number of blocks to swap may reduce the memory usage, but the training speed will be slower. `--cpu_offload_checkpointing` also slows down the training. + +Swap 6 double blocks and use cpu offload checkpointing may be a good starting point. Please try different settings according to VRAM usage and training speed. + +The learning rate and the number of epochs are not optimized yet. Please adjust them according to the training results. + ### Merge LoRA to FLUX.1 checkpoint `networks/flux_merge_lora.py` merges LoRA to FLUX.1 checkpoint. __The script is experimental.__ @@ -298,7 +346,7 @@ The majority of scripts is licensed under ASL 2.0 (including codes from Diffuser - Fused optimizer is available for SDXL training. PR [#1259](https://github.com/kohya-ss/sd-scripts/pull/1259) Thanks to 2kpr! - The memory usage during training is significantly reduced by integrating the optimizer's backward pass with step. The training results are the same as before, but if you have plenty of memory, the speed will be slower. - - Specify the `--fused_backward_pass` option in `sdxl_train.py`. At this time, only AdaFactor is supported. Gradient accumulation is not available. + - Specify the `--fused_backward_pass` option in `sdxl_train.py`. At this time, only Adafactor is supported. Gradient accumulation is not available. - Setting mixed precision to `no` seems to use less memory than `fp16` or `bf16`. - Training is possible with a memory usage of about 17GB with a batch size of 1 and fp32. If you specify the `--full_bf16` option, you can further reduce the memory usage (but the accuracy will be lower). With the same memory usage as before, you can increase the batch size. - PyTorch 2.1 or later is required because it uses the new API `Tensor.register_post_accumulate_grad_hook(hook)`. @@ -308,7 +356,7 @@ The majority of scripts is licensed under ASL 2.0 (including codes from Diffuser - Memory usage is reduced by the same principle as Fused optimizer. The training results and speed are the same as Fused optimizer. - Specify the number of groups like `--fused_optimizer_groups 10` in `sdxl_train.py`. Increasing the number of groups reduces memory usage but slows down training. Since the effect is limited to a certain number, it is recommended to specify 4-10. - Any optimizer can be used, but optimizers that automatically calculate the learning rate (such as D-Adaptation and Prodigy) cannot be used. Gradient accumulation is not available. - - `--fused_optimizer_groups` cannot be used with `--fused_backward_pass`. When using AdaFactor, the memory usage is slightly larger than with Fused optimizer. PyTorch 2.1 or later is required. + - `--fused_optimizer_groups` cannot be used with `--fused_backward_pass`. When using Adafactor, the memory usage is slightly larger than with Fused optimizer. PyTorch 2.1 or later is required. - Mechanism: While Fused optimizer performs backward/step for individual parameters within the optimizer, optimizer groups reduce memory usage by grouping parameters and creating multiple optimizers to perform backward/step for each group. Fused optimizer requires implementation on the optimizer side, while optimizer groups are implemented only on the training script side. - LoRA+ is supported. PR [#1233](https://github.com/kohya-ss/sd-scripts/pull/1233) Thanks to rockerBOO! @@ -361,7 +409,7 @@ https://github.com/kohya-ss/sd-scripts/pull/1290) Thanks to frodo821! - SDXL の学習時に Fused optimizer が使えるようになりました。PR [#1259](https://github.com/kohya-ss/sd-scripts/pull/1259) 2kpr 氏に感謝します。 - optimizer の backward pass に step を統合することで学習時のメモリ使用量を大きく削減します。学習結果は未適用時と同一ですが、メモリが潤沢にある場合は速度は遅くなります。 - - `sdxl_train.py` に `--fused_backward_pass` オプションを指定してください。現時点では optimizer は AdaFactor のみ対応しています。また gradient accumulation は使えません。 + - `sdxl_train.py` に `--fused_backward_pass` オプションを指定してください。現時点では optimizer は Adafactor のみ対応しています。また gradient accumulation は使えません。 - mixed precision は `no` のほうが `fp16` や `bf16` よりも使用メモリ量が少ないようです。 - バッチサイズ 1、fp32 で 17GB 程度で学習可能なようです。`--full_bf16` オプションを指定するとさらに削減できます(精度は劣ります)。以前と同じメモリ使用量ではバッチサイズを増やせます。 - PyTorch 2.1 以降の新 API `Tensor.register_post_accumulate_grad_hook(hook)` を使用しているため、PyTorch 2.1 以降が必要です。 diff --git a/flux_train.py b/flux_train.py index d2a9b3f32..ecb3c7dda 100644 --- a/flux_train.py +++ b/flux_train.py @@ -1,5 +1,15 @@ # training with captions +# Swap blocks between CPU and GPU: +# This implementation is inspired by and based on the work of 2kpr. +# Many thanks to 2kpr for the original concept and implementation of memory-efficient offloading. +# The original idea has been adapted and extended to fit the current project's needs. + +# Key features: +# - CPU offloading during forward and backward passes +# - Use of fused optimizer and grad_hook for efficient gradient processing +# - Per-block fused optimizer instances + import argparse import copy import math @@ -54,6 +64,12 @@ def train(args): ) args.cache_text_encoder_outputs = True + if args.cpu_offload_checkpointing and not args.gradient_checkpointing: + logger.warning( + "cpu_offload_checkpointing is enabled, so gradient_checkpointing is also enabled / cpu_offload_checkpointingが有効になっているため、gradient_checkpointingも有効になります" + ) + args.gradient_checkpointing = True + cache_latents = args.cache_latents use_dreambooth_method = args.in_json is None @@ -232,16 +248,25 @@ def train(args): # now we can delete Text Encoders to free memory clip_l = None t5xxl = None + clean_memory_on_device(accelerator.device) # load FLUX # if we load to cpu, flux.to(fp8) takes a long time flux = flux_utils.load_flow_model(name, args.pretrained_model_name_or_path, weight_dtype, "cpu") if args.gradient_checkpointing: - flux.enable_gradient_checkpointing() + flux.enable_gradient_checkpointing(args.cpu_offload_checkpointing) flux.requires_grad_(True) + if args.double_blocks_to_swap is not None or args.single_blocks_to_swap is not None: + # Swap blocks between CPU and GPU to reduce memory usage, in forward and backward passes. + # This idea is based on 2kpr's great work. Thank you! + logger.info( + f"enable block swap: double_blocks_to_swap={args.double_blocks_to_swap}, single_blocks_to_swap={args.single_blocks_to_swap}" + ) + flux.enable_block_swap(args.double_blocks_to_swap, args.single_blocks_to_swap) + if not cache_latents: # load VAE here if not cached ae = flux_utils.load_ae(name, args.ae, weight_dtype, "cpu") @@ -265,40 +290,43 @@ def train(args): # 学習に必要なクラスを準備する accelerator.print("prepare optimizer, data loader etc.") - if args.fused_optimizer_groups: + if args.blockwise_fused_optimizers: # fused backward pass: https://pytorch.org/tutorials/intermediate/optimizer_step_in_backward_tutorial.html - # Instead of creating an optimizer for all parameters as in the tutorial, we create an optimizer for each group of parameters. + # Instead of creating an optimizer for all parameters as in the tutorial, we create an optimizer for each block of parameters. # This balances memory usage and management complexity. - # calculate total number of parameters - n_total_params = sum(len(params["params"]) for params in params_to_optimize) - params_per_group = math.ceil(n_total_params / args.fused_optimizer_groups) - - # split params into groups, keeping the learning rate the same for all params in a group - # this will increase the number of groups if the learning rate is different for different params (e.g. U-Net and text encoders) + # split params into groups. currently different learning rates are not supported grouped_params = [] - param_group = [] - param_group_lr = -1 + param_group = {} for group in params_to_optimize: - lr = group["lr"] - for p in group["params"]: - # if the learning rate is different for different params, start a new group - if lr != param_group_lr: - if param_group: - grouped_params.append({"params": param_group, "lr": param_group_lr}) - param_group = [] - param_group_lr = lr - - param_group.append(p) - - # if the group has enough parameters, start a new group - if len(param_group) == params_per_group: - grouped_params.append({"params": param_group, "lr": param_group_lr}) - param_group = [] - param_group_lr = -1 - - if param_group: - grouped_params.append({"params": param_group, "lr": param_group_lr}) + named_parameters = list(flux.named_parameters()) + assert len(named_parameters) == len(group["params"]), "number of parameters does not match" + for p, np in zip(group["params"], named_parameters): + # determine target layer and block index for each parameter + block_type = "other" # double, single or other + if np[0].startswith("double_blocks"): + block_idx = int(np[0].split(".")[1]) + block_type = "double" + elif np[0].startswith("single_blocks"): + block_idx = int(np[0].split(".")[1]) + block_type = "single" + else: + block_idx = -1 + + param_group_key = (block_type, block_idx) + if param_group_key not in param_group: + param_group[param_group_key] = [] + param_group[param_group_key].append(p) + + block_types_and_indices = [] + for param_group_key, param_group in param_group.items(): + block_types_and_indices.append(param_group_key) + grouped_params.append({"params": param_group, "lr": args.learning_rate}) + + num_params = 0 + for p in param_group: + num_params += p.numel() + accelerator.print(f"block {param_group_key}: {num_params} parameters") # prepare optimizers for each group optimizers = [] @@ -307,7 +335,7 @@ def train(args): optimizers.append(optimizer) optimizer = optimizers[0] # avoid error in the following code - logger.info(f"using {len(optimizers)} optimizers for fused optimizer groups") + logger.info(f"using {len(optimizers)} optimizers for blockwise fused optimizers") else: _, _, optimizer = train_util.get_optimizer(args, trainable_params=params_to_optimize) @@ -341,7 +369,7 @@ def train(args): train_dataset_group.set_max_train_steps(args.max_train_steps) # lr schedulerを用意する - if args.fused_optimizer_groups: + if args.blockwise_fused_optimizers: # prepare lr schedulers for each optimizer lr_schedulers = [train_util.get_scheduler_fix(args, optimizer, accelerator.num_processes) for optimizer in optimizers] lr_scheduler = lr_schedulers[0] # avoid error in the following code @@ -414,7 +442,7 @@ def __grad_hook(tensor: torch.Tensor, param_group=param_group): parameter.register_post_accumulate_grad_hook(__grad_hook) - elif args.fused_optimizer_groups: + elif args.blockwise_fused_optimizers: # prepare for additional optimizers and lr schedulers for i in range(1, len(optimizers)): optimizers[i] = accelerator.prepare(optimizers[i]) @@ -429,22 +457,46 @@ def __grad_hook(tensor: torch.Tensor, param_group=param_group): num_parameters_per_group = [0] * len(optimizers) parameter_optimizer_map = {} + double_blocks_to_swap = args.double_blocks_to_swap + single_blocks_to_swap = args.single_blocks_to_swap + num_double_blocks = len(flux.double_blocks) + num_single_blocks = len(flux.single_blocks) + for opt_idx, optimizer in enumerate(optimizers): for param_group in optimizer.param_groups: for parameter in param_group["params"]: if parameter.requires_grad: - - def optimizer_hook(parameter: torch.Tensor): - if accelerator.sync_gradients and args.max_grad_norm != 0.0: - accelerator.clip_grad_norm_(parameter, args.max_grad_norm) - - i = parameter_optimizer_map[parameter] - optimizer_hooked_count[i] += 1 - if optimizer_hooked_count[i] == num_parameters_per_group[i]: - optimizers[i].step() - optimizers[i].zero_grad(set_to_none=True) - - parameter.register_post_accumulate_grad_hook(optimizer_hook) + block_type, block_idx = block_types_and_indices[opt_idx] + + def create_optimizer_hook(btype, bidx): + def optimizer_hook(parameter: torch.Tensor): + # print(f"optimizer_hook: {btype}, {bidx}") + if accelerator.sync_gradients and args.max_grad_norm != 0.0: + accelerator.clip_grad_norm_(parameter, args.max_grad_norm) + + i = parameter_optimizer_map[parameter] + optimizer_hooked_count[i] += 1 + if optimizer_hooked_count[i] == num_parameters_per_group[i]: + optimizers[i].step() + optimizers[i].zero_grad(set_to_none=True) + + # swap blocks if necessary + if btype == "double" and double_blocks_to_swap: + if bidx >= num_double_blocks - double_blocks_to_swap: + bidx_cuda = double_blocks_to_swap - (num_double_blocks - bidx) + flux.double_blocks[bidx].to("cpu") + flux.double_blocks[bidx_cuda].to(accelerator.device) + # print(f"Move double block {bidx} to cpu and {bidx_cuda} to device") + elif btype == "single" and single_blocks_to_swap: + if bidx >= num_single_blocks - single_blocks_to_swap: + bidx_cuda = single_blocks_to_swap - (num_single_blocks - bidx) + flux.single_blocks[bidx].to("cpu") + flux.single_blocks[bidx_cuda].to(accelerator.device) + # print(f"Move single block {bidx} to cpu and {bidx_cuda} to device") + + return optimizer_hook + + parameter.register_post_accumulate_grad_hook(create_optimizer_hook(block_type, block_idx)) parameter_optimizer_map[parameter] = opt_idx num_parameters_per_group[opt_idx] += 1 @@ -487,6 +539,9 @@ def optimizer_hook(parameter: torch.Tensor): init_kwargs=init_kwargs, ) + if args.double_blocks_to_swap is not None or args.single_blocks_to_swap is not None: + flux.prepare_block_swap_before_forward() + # For --sample_at_first flux_train_utils.sample_images(accelerator, args, 0, global_step, flux, ae, [clip_l, t5xxl], sample_prompts_te_outputs) @@ -502,7 +557,7 @@ def optimizer_hook(parameter: torch.Tensor): for step, batch in enumerate(train_dataloader): current_step.value = global_step - if args.fused_optimizer_groups: + if args.blockwise_fused_optimizers: optimizer_hooked_count = {i: 0 for i in range(len(optimizers))} # reset counter for each step with accelerator.accumulate(*training_models): @@ -591,7 +646,7 @@ def optimizer_hook(parameter: torch.Tensor): # backward accelerator.backward(loss) - if not (args.fused_backward_pass or args.fused_optimizer_groups): + if not (args.fused_backward_pass or args.blockwise_fused_optimizers): if accelerator.sync_gradients and args.max_grad_norm != 0.0: params_to_clip = [] for m in training_models: @@ -604,7 +659,7 @@ def optimizer_hook(parameter: torch.Tensor): else: # optimizer.step() and optimizer.zero_grad() are called in the optimizer hook lr_scheduler.step() - if args.fused_optimizer_groups: + if args.blockwise_fused_optimizers: for i in range(1, len(optimizers)): lr_schedulers[i].step() @@ -614,7 +669,7 @@ def optimizer_hook(parameter: torch.Tensor): global_step += 1 flux_train_utils.sample_images( - accelerator, args, epoch, global_step, flux, ae, [clip_l, t5xxl], sample_prompts_te_outputs + accelerator, args, None, global_step, flux, ae, [clip_l, t5xxl], sample_prompts_te_outputs ) # 指定ステップごとにモデルを保存 @@ -673,8 +728,6 @@ def optimizer_hook(parameter: torch.Tensor): is_main_process = accelerator.is_main_process # if is_main_process: flux = accelerator.unwrap_model(flux) - clip_l = accelerator.unwrap_model(clip_l) - t5xxl = accelerator.unwrap_model(t5xxl) accelerator.end_training() @@ -707,13 +760,43 @@ def setup_parser() -> argparse.ArgumentParser: "--fused_optimizer_groups", type=int, default=None, - help="number of optimizers for fused backward pass and optimizer step / fused backward passとoptimizer stepのためのoptimizer数", + help="**this option is not working** will be removed in the future / このオプションは動作しません。将来削除されます", + ) + parser.add_argument( + "--blockwise_fused_optimizers", + action="store_true", + help="enable blockwise optimizers for fused backward pass and optimizer step / fused backward passとoptimizer step のためブロック単位のoptimizerを有効にする", ) parser.add_argument( "--skip_latents_validity_check", action="store_true", help="skip latents validity check / latentsの正当性チェックをスキップする", ) + parser.add_argument( + "--double_blocks_to_swap", + type=int, + default=None, + help="[EXPERIMENTAL] " + "Sets the number of 'double_blocks' (~640MB) to swap during the forward and backward passes." + "Increasing this number lowers the overall VRAM used during training at the expense of training speed (s/it)." + " / 順伝播および逆伝播中にスワップする'変換ブロック'(約640MB)の数を設定します。" + "この数を増やすと、トレーニング中のVRAM使用量が減りますが、トレーニング速度(s/it)も低下します。", + ) + parser.add_argument( + "--single_blocks_to_swap", + type=int, + default=None, + help="[EXPERIMENTAL] " + "Sets the number of 'single_blocks' (~320MB) to swap during the forward and backward passes." + "Increasing this number lowers the overall VRAM used during training at the expense of training speed (s/it)." + " / 順伝播および逆伝播中にスワップする'変換ブロック'(約320MB)の数を設定します。" + "この数を増やすと、トレーニング中のVRAM使用量が減りますが、トレーニング速度(s/it)も低下します。", + ) + parser.add_argument( + "--cpu_offload_checkpointing", + action="store_true", + help="[EXPERIMENTAL] enable offloading of tensors to CPU during checkpointing / チェックポイント時にテンソルをCPUにオフロードする", + ) return parser diff --git a/library/flux_models.py b/library/flux_models.py index ed0bc8c7d..3f44068f9 100644 --- a/library/flux_models.py +++ b/library/flux_models.py @@ -4,6 +4,11 @@ from dataclasses import dataclass import math +from typing import Optional + +from library.device_utils import init_ipex, clean_memory_on_device + +init_ipex() import torch from einops import rearrange @@ -466,6 +471,33 @@ def apply_rope(xq: Tensor, xk: Tensor, freqs_cis: Tensor) -> tuple[Tensor, Tenso # region layers + + +# for cpu_offload_checkpointing + + +def to_cuda(x): + if isinstance(x, torch.Tensor): + return x.cuda() + elif isinstance(x, (list, tuple)): + return [to_cuda(elem) for elem in x] + elif isinstance(x, dict): + return {k: to_cuda(v) for k, v in x.items()} + else: + return x + + +def to_cpu(x): + if isinstance(x, torch.Tensor): + return x.cpu() + elif isinstance(x, (list, tuple)): + return [to_cpu(elem) for elem in x] + elif isinstance(x, dict): + return {k: to_cpu(v) for k, v in x.items()} + else: + return x + + class EmbedND(nn.Module): def __init__(self, dim: int, theta: int, axes_dim: list[int]): super().__init__() @@ -648,16 +680,15 @@ def __init__(self, hidden_size: int, num_heads: int, mlp_ratio: float, qkv_bias: ) self.gradient_checkpointing = False + self.cpu_offload_checkpointing = False - def enable_gradient_checkpointing(self): + def enable_gradient_checkpointing(self, cpu_offload: bool = False): self.gradient_checkpointing = True - # self.img_attn.enable_gradient_checkpointing() - # self.txt_attn.enable_gradient_checkpointing() + self.cpu_offload_checkpointing = cpu_offload def disable_gradient_checkpointing(self): self.gradient_checkpointing = False - # self.img_attn.disable_gradient_checkpointing() - # self.txt_attn.disable_gradient_checkpointing() + self.cpu_offload_checkpointing = False def _forward(self, img: Tensor, txt: Tensor, vec: Tensor, pe: Tensor) -> tuple[Tensor, Tensor]: img_mod1, img_mod2 = self.img_mod(vec) @@ -694,11 +725,24 @@ def _forward(self, img: Tensor, txt: Tensor, vec: Tensor, pe: Tensor) -> tuple[T txt = txt + txt_mod2.gate * self.txt_mlp((1 + txt_mod2.scale) * self.txt_norm2(txt) + txt_mod2.shift) return img, txt - def forward(self, *args, **kwargs): + def forward(self, img: Tensor, txt: Tensor, vec: Tensor, pe: Tensor) -> tuple[Tensor, Tensor]: if self.training and self.gradient_checkpointing: - return checkpoint(self._forward, *args, use_reentrant=False, **kwargs) + if not self.cpu_offload_checkpointing: + return checkpoint(self._forward, img, txt, vec, pe, use_reentrant=False) + # cpu offload checkpointing + + def create_custom_forward(func): + def custom_forward(*inputs): + cuda_inputs = to_cuda(inputs) + outputs = func(*cuda_inputs) + return to_cpu(outputs) + + return custom_forward + + return torch.utils.checkpoint.checkpoint(create_custom_forward(self._forward), img, txt, vec, pe) + else: - return self._forward(*args, **kwargs) + return self._forward(img, txt, vec, pe) # def forward(self, img: Tensor, txt: Tensor, vec: Tensor, pe: Tensor): # if self.training and self.gradient_checkpointing: @@ -747,12 +791,15 @@ def __init__( self.modulation = Modulation(hidden_size, double=False) self.gradient_checkpointing = False + self.cpu_offload_checkpointing = False - def enable_gradient_checkpointing(self): + def enable_gradient_checkpointing(self, cpu_offload: bool = False): self.gradient_checkpointing = True + self.cpu_offload_checkpointing = cpu_offload def disable_gradient_checkpointing(self): self.gradient_checkpointing = False + self.cpu_offload_checkpointing = False def _forward(self, x: Tensor, vec: Tensor, pe: Tensor) -> Tensor: mod, _ = self.modulation(vec) @@ -768,11 +815,24 @@ def _forward(self, x: Tensor, vec: Tensor, pe: Tensor) -> Tensor: output = self.linear2(torch.cat((attn, self.mlp_act(mlp)), 2)) return x + mod.gate * output - def forward(self, *args, **kwargs): + def forward(self, x: Tensor, vec: Tensor, pe: Tensor) -> Tensor: if self.training and self.gradient_checkpointing: - return checkpoint(self._forward, *args, use_reentrant=False, **kwargs) + if not self.cpu_offload_checkpointing: + return checkpoint(self._forward, x, vec, pe, use_reentrant=False) + + # cpu offload checkpointing + + def create_custom_forward(func): + def custom_forward(*inputs): + cuda_inputs = to_cuda(inputs) + outputs = func(*cuda_inputs) + return to_cpu(outputs) + + return custom_forward + + return torch.utils.checkpoint.checkpoint(create_custom_forward(self._forward), x, vec, pe) else: - return self._forward(*args, **kwargs) + return self._forward(x, vec, pe) # def forward(self, x: Tensor, vec: Tensor, pe: Tensor): # if self.training and self.gradient_checkpointing: @@ -849,6 +909,9 @@ def __init__(self, params: FluxParams): self.final_layer = LastLayer(self.hidden_size, 1, self.out_channels) self.gradient_checkpointing = False + self.cpu_offload_checkpointing = False + self.double_blocks_to_swap = None + self.single_blocks_to_swap = None @property def device(self): @@ -858,8 +921,9 @@ def device(self): def dtype(self): return next(self.parameters()).dtype - def enable_gradient_checkpointing(self): + def enable_gradient_checkpointing(self, cpu_offload: bool = False): self.gradient_checkpointing = True + self.cpu_offload_checkpointing = cpu_offload self.time_in.enable_gradient_checkpointing() self.vector_in.enable_gradient_checkpointing() @@ -867,12 +931,13 @@ def enable_gradient_checkpointing(self): self.guidance_in.enable_gradient_checkpointing() for block in self.double_blocks + self.single_blocks: - block.enable_gradient_checkpointing() + block.enable_gradient_checkpointing(cpu_offload=cpu_offload) - print("FLUX: Gradient checkpointing enabled.") + print(f"FLUX: Gradient checkpointing enabled. CPU offload: {cpu_offload}") def disable_gradient_checkpointing(self): self.gradient_checkpointing = False + self.cpu_offload_checkpointing = False self.time_in.disable_gradient_checkpointing() self.vector_in.disable_gradient_checkpointing() @@ -884,6 +949,24 @@ def disable_gradient_checkpointing(self): print("FLUX: Gradient checkpointing disabled.") + def enable_block_swap(self, double_blocks: Optional[int], single_blocks: Optional[int]): + self.double_blocks_to_swap = double_blocks + self.single_blocks_to_swap = single_blocks + + def prepare_block_swap_before_forward(self): + # move last n blocks to cpu: they are on cuda + if self.double_blocks_to_swap: + for i in range(len(self.double_blocks) - self.double_blocks_to_swap): + self.double_blocks[i].to(self.device) + for i in range(len(self.double_blocks) - self.double_blocks_to_swap, len(self.double_blocks)): + self.double_blocks[i].to("cpu") # , non_blocking=True) + if self.single_blocks_to_swap: + for i in range(len(self.single_blocks) - self.single_blocks_to_swap): + self.single_blocks[i].to(self.device) + for i in range(len(self.single_blocks) - self.single_blocks_to_swap, len(self.single_blocks)): + self.single_blocks[i].to("cpu") # , non_blocking=True) + clean_memory_on_device(self.device) + def forward( self, img: Tensor, @@ -910,14 +993,75 @@ def forward( ids = torch.cat((txt_ids, img_ids), dim=1) pe = self.pe_embedder(ids) - for block in self.double_blocks: - img, txt = block(img=img, txt=txt, vec=vec, pe=pe) + if not self.double_blocks_to_swap: + for block in self.double_blocks: + img, txt = block(img=img, txt=txt, vec=vec, pe=pe) + else: + # make sure first n blocks are on cuda, and last n blocks are on cpu at beginning + for block_idx in range(self.double_blocks_to_swap): + block = self.double_blocks[len(self.double_blocks) - self.double_blocks_to_swap + block_idx] + if block.parameters().__next__().device.type != "cpu": + block.to("cpu") # , non_blocking=True) + # print(f"Moved double block {len(self.double_blocks) - self.double_blocks_to_swap + block_idx} to cpu.") + + block = self.double_blocks[block_idx] + if block.parameters().__next__().device.type == "cpu": + block.to(self.device) + # print(f"Moved double block {block_idx} to cuda.") + + to_cpu_block_index = 0 + for block_idx, block in enumerate(self.double_blocks): + # move last n blocks to cuda: they are on cpu, and move first n blocks to cpu: they are on cuda + moving = block_idx >= len(self.double_blocks) - self.double_blocks_to_swap + if moving: + block.to(self.device) # move to cuda + # print(f"Moved double block {block_idx} to cuda.") + + img, txt = block(img=img, txt=txt, vec=vec, pe=pe) + + if moving: + self.double_blocks[to_cpu_block_index].to("cpu") # , non_blocking=True) + # print(f"Moved double block {to_cpu_block_index} to cpu.") + to_cpu_block_index += 1 img = torch.cat((txt, img), 1) - for block in self.single_blocks: - img = block(img, vec=vec, pe=pe) + + if not self.single_blocks_to_swap: + for block in self.single_blocks: + img = block(img, vec=vec, pe=pe) + else: + # make sure first n blocks are on cuda, and last n blocks are on cpu at beginning + for block_idx in range(self.single_blocks_to_swap): + block = self.single_blocks[len(self.single_blocks) - self.single_blocks_to_swap + block_idx] + if block.parameters().__next__().device.type != "cpu": + block.to("cpu") # , non_blocking=True) + # print(f"Moved single block {len(self.single_blocks) - self.single_blocks_to_swap + block_idx} to cpu.") + + block = self.single_blocks[block_idx] + if block.parameters().__next__().device.type == "cpu": + block.to(self.device) + # print(f"Moved single block {block_idx} to cuda.") + + to_cpu_block_index = 0 + for block_idx, block in enumerate(self.single_blocks): + # move last n blocks to cuda: they are on cpu, and move first n blocks to cpu: they are on cuda + moving = block_idx >= len(self.single_blocks) - self.single_blocks_to_swap + if moving: + block.to(self.device) # move to cuda + # print(f"Moved single block {block_idx} to cuda.") + + img = block(img, vec=vec, pe=pe) + + if moving: + self.single_blocks[to_cpu_block_index].to("cpu") # , non_blocking=True) + # print(f"Moved single block {to_cpu_block_index} to cpu.") + img = img[:, txt.shape[1] :, ...] + if self.training and self.cpu_offload_checkpointing: + img = img.to(self.device) + vec = vec.to(self.device) + img = self.final_layer(img, vec) # (N, T, patch_size ** 2 * out_channels) return img From a45048892802dce43e86a7e377ba84e89b51fdf5 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 18 Aug 2024 16:56:50 +0900 Subject: [PATCH 155/748] update readme --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 521e82e86..df2a612d7 100644 --- a/README.md +++ b/README.md @@ -9,10 +9,8 @@ __Please update PyTorch to 2.4.0. We have tested with `torch==2.4.0` and `torchv The command to install PyTorch is as follows: `pip3 install torch==2.4.0 torchvision==0.19.0 --index-url https://download.pytorch.org/whl/cu124` - Aug 18, 2024: -Memory-efficient training based on 2kpr's implementation is implemented in `flux_train.py`. Thanks to 2kpr. See [FLUX.1 fine-tuning](#flux1-fine-tuning) for details. - +Memory-efficient training based on 2kpr's implementation is implemented in `flux_train.py`. Thanks to 2kpr! See [FLUX.1 fine-tuning](#flux1-fine-tuning) for details. Aug 17, 2024: Added a script `flux_train.py` to train FLUX.1. The script is experimental and not an optimized version. It needs >28GB VRAM for training. @@ -118,6 +116,8 @@ accelerate launch --mixed_precision bf16 --num_cpu_threads_per_process 1 flux_t (Combine the command into one line.) +Sample image generation during training is not tested yet. + Options are almost the same as LoRA training. The difference is `--blockwise_fused_optimizer`, `--double_blocks_to_swap` and `--cpu_offload_checkpointing`. `--single_blocks_to_swap` is also available. `--blockwise_fused_optimizer` enables the fusing of the optimizer for each block. This is similar to `--fused_backward_pass`. Any optimizer can be used, but Adafactor is recommended for memory efficiency. `--fused_optimizer_groups` is deprecated due to the addition of this option for FLUX.1 training. From d034032a5dff4a5ee1a108e4f1cec41d8efadab0 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Mon, 19 Aug 2024 13:08:49 +0900 Subject: [PATCH 156/748] update README fix option name --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index df2a612d7..9a603b281 100644 --- a/README.md +++ b/README.md @@ -105,24 +105,24 @@ Sample command for FLUX.1 fine-tuning is below. This will work with 24GB VRAM GP ``` accelerate launch --mixed_precision bf16 --num_cpu_threads_per_process 1 flux_train.py --pretrained_model_name_or_path flux1-dev.sft --clip_l clip_l.safetensors --t5xxl t5xxl_fp16.safetensors --ae ae_dev.sft ---mixed_precision bf16 --save_model_as safetensors --sdpa --persistent_data_loader_workers --max_data_loader_n_workers 2 +--save_model_as safetensors --sdpa --persistent_data_loader_workers --max_data_loader_n_workers 2 --seed 42 --gradient_checkpointing --mixed_precision bf16 --save_precision bf16 ---dataset_config dataset_1024_bs1.toml --output_dir path/to/output/dir --output_name test-bf16 +--dataset_config dataset_1024_bs1.toml --output_dir path/to/output/dir --output_name output-name --learning_rate 5e-5 --max_train_epochs 4 --sdpa --highvram --cache_text_encoder_outputs_to_disk --cache_latents_to_disk --save_every_n_epochs 1 --optimizer_type adafactor --optimizer_args "relative_step=False" "scale_parameter=False" "warmup_init=False" --timestep_sampling sigmoid --model_prediction_type raw --guidance_scale 1.0 ---blockwise_fused_optimizer --double_blocks_to_swap 6 --cpu_offload_checkpointing +--blockwise_fused_optimizers --double_blocks_to_swap 6 --cpu_offload_checkpointing ``` (Combine the command into one line.) Sample image generation during training is not tested yet. -Options are almost the same as LoRA training. The difference is `--blockwise_fused_optimizer`, `--double_blocks_to_swap` and `--cpu_offload_checkpointing`. `--single_blocks_to_swap` is also available. +Options are almost the same as LoRA training. The difference is `--blockwise_fused_optimizers`, `--double_blocks_to_swap` and `--cpu_offload_checkpointing`. `--single_blocks_to_swap` is also available. -`--blockwise_fused_optimizer` enables the fusing of the optimizer for each block. This is similar to `--fused_backward_pass`. Any optimizer can be used, but Adafactor is recommended for memory efficiency. `--fused_optimizer_groups` is deprecated due to the addition of this option for FLUX.1 training. +`--blockwise_fused_optimizers` enables the fusing of the optimizer for each block. This is similar to `--fused_backward_pass`. Any optimizer can be used, but Adafactor is recommended for memory efficiency. `--fused_optimizer_groups` is deprecated due to the addition of this option for FLUX.1 training. -`--double_blocks_to_swap` and `--single_blocks_to_swap` are the number of double blocks and single blocks to swap. The default is None (no swap). These options must be combined with `--blockwise_fused_optimizer`. +`--double_blocks_to_swap` and `--single_blocks_to_swap` are the number of double blocks and single blocks to swap. The default is None (no swap). These options must be combined with `--blockwise_fused_optimizers`. `--cpu_offload_checkpointing` is to offload the gradient checkpointing to CPU. This reduces about 2GB of VRAM usage. From 6e72a799c8f55f148a248693d2c0c3fb1912b04e Mon Sep 17 00:00:00 2001 From: Kohya S Date: Mon, 19 Aug 2024 21:55:28 +0900 Subject: [PATCH 157/748] reduce peak VRAM usage by excluding some blocks to cuda --- flux_train.py | 15 +++++++++------ library/flux_models.py | 16 ++++++++++++++++ 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/flux_train.py b/flux_train.py index ecb3c7dda..b294ce42a 100644 --- a/flux_train.py +++ b/flux_train.py @@ -251,7 +251,6 @@ def train(args): clean_memory_on_device(accelerator.device) # load FLUX - # if we load to cpu, flux.to(fp8) takes a long time flux = flux_utils.load_flow_model(name, args.pretrained_model_name_or_path, weight_dtype, "cpu") if args.gradient_checkpointing: @@ -259,7 +258,8 @@ def train(args): flux.requires_grad_(True) - if args.double_blocks_to_swap is not None or args.single_blocks_to_swap is not None: + is_swapping_blocks = args.double_blocks_to_swap is not None or args.single_blocks_to_swap is not None + if is_swapping_blocks: # Swap blocks between CPU and GPU to reduce memory usage, in forward and backward passes. # This idea is based on 2kpr's great work. Thank you! logger.info( @@ -412,8 +412,11 @@ def train(args): training_models = [ds_model] else: - # acceleratorがなんかよろしくやってくれるらしい - flux = accelerator.prepare(flux) + # accelerator does some magic + # if we doesn't swap blocks, we can move the model to device + flux = accelerator.prepare(flux, device_placement=[not is_swapping_blocks]) + if is_swapping_blocks: + flux.move_to_device_except_swap_blocks(accelerator.device) # reduce peak memory usage optimizer, train_dataloader, lr_scheduler = accelerator.prepare(optimizer, train_dataloader, lr_scheduler) # 実験的機能:勾配も含めたfp16学習を行う PyTorchにパッチを当ててfp16でのgrad scaleを有効にする @@ -539,7 +542,7 @@ def optimizer_hook(parameter: torch.Tensor): init_kwargs=init_kwargs, ) - if args.double_blocks_to_swap is not None or args.single_blocks_to_swap is not None: + if is_swapping_blocks: flux.prepare_block_swap_before_forward() # For --sample_at_first @@ -595,7 +598,7 @@ def optimizer_hook(parameter: torch.Tensor): # get noisy model input and timesteps noisy_model_input, timesteps, sigmas = flux_train_utils.get_noisy_model_input_and_timesteps( - args, noise_scheduler, latents, noise, accelerator.device, weight_dtype + args, noise_scheduler_copy, latents, noise, accelerator.device, weight_dtype ) # pack latents and get img_ids diff --git a/library/flux_models.py b/library/flux_models.py index 3f44068f9..11ef647ad 100644 --- a/library/flux_models.py +++ b/library/flux_models.py @@ -953,6 +953,22 @@ def enable_block_swap(self, double_blocks: Optional[int], single_blocks: Optiona self.double_blocks_to_swap = double_blocks self.single_blocks_to_swap = single_blocks + def move_to_device_except_swap_blocks(self, device: torch.device): + # assume model is on cpu + if self.double_blocks_to_swap: + save_double_blocks = self.double_blocks + self.double_blocks = None + if self.single_blocks_to_swap: + save_single_blocks = self.single_blocks + self.single_blocks = None + + self.to(device) + + if self.double_blocks_to_swap: + self.double_blocks = save_double_blocks + if self.single_blocks_to_swap: + self.single_blocks = save_single_blocks + def prepare_block_swap_before_forward(self): # move last n blocks to cpu: they are on cuda if self.double_blocks_to_swap: From 486fe8f70a53166f21f08b1c896bd9ba1e31d7e7 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Mon, 19 Aug 2024 22:30:24 +0900 Subject: [PATCH 158/748] feat: reduce memory usage and add memory efficient option for model saving --- README.md | 5 +++ flux_train.py | 6 +++ library/flux_train_utils.py | 21 ++++++++--- library/utils.py | 75 ++++++++++++++++++++++++++++++++++++- 4 files changed, 100 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 9a603b281..51e4635bb 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,11 @@ __Please update PyTorch to 2.4.0. We have tested with `torch==2.4.0` and `torchv The command to install PyTorch is as follows: `pip3 install torch==2.4.0 torchvision==0.19.0 --index-url https://download.pytorch.org/whl/cu124` +Aug 19, 2024: +In `flux_train.py`, the memory consumption during model saving is reduced when `--save_precision` is set to the same value as `--mixed_precision` (about 22GB). Please set the same value unless there is a reason. + +An experimental option `--mem_eff_save` is also added. When specified, it can further reduce memory consumption (about 22GB), but since it is a custom implementation, unexpected problems may occur. We do not recommend using it unless you are familiar with the code. + Aug 18, 2024: Memory-efficient training based on 2kpr's implementation is implemented in `flux_train.py`. Thanks to 2kpr! See [FLUX.1 fine-tuning](#flux1-fine-tuning) for details. diff --git a/flux_train.py b/flux_train.py index b294ce42a..669963856 100644 --- a/flux_train.py +++ b/flux_train.py @@ -759,6 +759,12 @@ def setup_parser() -> argparse.ArgumentParser: add_custom_train_arguments(parser) # TODO remove this from here flux_train_utils.add_flux_train_arguments(parser) + parser.add_argument( + "--mem_eff_save", + action="store_true", + help="[EXPERIMENTAL] use memory efficient custom model saving method / メモリ効率の良い独自のモデル保存方法を使う", + ) + parser.add_argument( "--fused_optimizer_groups", type=int, diff --git a/library/flux_train_utils.py b/library/flux_train_utils.py index 167d61c7e..3f9e8660f 100644 --- a/library/flux_train_utils.py +++ b/library/flux_train_utils.py @@ -20,7 +20,7 @@ init_ipex() -from .utils import setup_logging +from .utils import setup_logging, mem_eff_save_file setup_logging() import logging @@ -409,19 +409,28 @@ def apply_model_prediction_type(args, model_pred, noisy_model_input, sigmas): return model_pred, weighting -def save_models(ckpt_path: str, flux: flux_models.Flux, sai_metadata: Optional[dict], save_dtype: Optional[torch.dtype] = None): +def save_models( + ckpt_path: str, + flux: flux_models.Flux, + sai_metadata: Optional[dict], + save_dtype: Optional[torch.dtype] = None, + use_mem_eff_save: bool = False, +): state_dict = {} def update_sd(prefix, sd): for k, v in sd.items(): key = prefix + k - if save_dtype is not None: + if save_dtype is not None and v.dtype != save_dtype: v = v.detach().clone().to("cpu").to(save_dtype) state_dict[key] = v update_sd("", flux.state_dict()) - save_file(state_dict, ckpt_path, metadata=sai_metadata) + if not use_mem_eff_save: + save_file(state_dict, ckpt_path, metadata=sai_metadata) + else: + mem_eff_save_file(state_dict, ckpt_path, metadata=sai_metadata) def save_flux_model_on_train_end( @@ -429,7 +438,7 @@ def save_flux_model_on_train_end( ): def sd_saver(ckpt_file, epoch_no, global_step): sai_metadata = train_util.get_sai_model_spec(None, args, False, False, False, is_stable_diffusion_ckpt=True, flux="dev") - save_models(ckpt_file, flux, sai_metadata, save_dtype) + save_models(ckpt_file, flux, sai_metadata, save_dtype, args.mem_eff_save) train_util.save_sd_model_on_train_end_common(args, True, True, epoch, global_step, sd_saver, None) @@ -448,7 +457,7 @@ def save_flux_model_on_epoch_end_or_stepwise( ): def sd_saver(ckpt_file, epoch_no, global_step): sai_metadata = train_util.get_sai_model_spec(None, args, False, False, False, is_stable_diffusion_ckpt=True, flux="dev") - save_models(ckpt_file, flux, sai_metadata, save_dtype) + save_models(ckpt_file, flux, sai_metadata, save_dtype, args.mem_eff_save) train_util.save_sd_model_on_epoch_end_or_stepwise_common( args, diff --git a/library/utils.py b/library/utils.py index 3037c055d..7de22d5a9 100644 --- a/library/utils.py +++ b/library/utils.py @@ -1,9 +1,12 @@ import logging import sys import threading +from typing import * +import json +import struct + import torch from torchvision import transforms -from typing import * from diffusers import EulerAncestralDiscreteScheduler import diffusers.schedulers.scheduling_euler_ancestral_discrete from diffusers.schedulers.scheduling_euler_ancestral_discrete import EulerAncestralDiscreteSchedulerOutput @@ -79,6 +82,76 @@ def setup_logging(args=None, log_level=None, reset=False): logger.info(msg_init) +def mem_eff_save_file(tensors: Dict[str, torch.Tensor], filename: str, metadata: Dict[str, Any] = None): + """ + memory efficient save file + """ + + _TYPES = { + torch.float64: "F64", + torch.float32: "F32", + torch.float16: "F16", + torch.bfloat16: "BF16", + torch.int64: "I64", + torch.int32: "I32", + torch.int16: "I16", + torch.int8: "I8", + torch.uint8: "U8", + torch.bool: "BOOL", + getattr(torch, "float8_e5m2", None): "F8_E5M2", + getattr(torch, "float8_e4m3fn", None): "F8_E4M3", + } + _ALIGN = 256 + + def validate_metadata(metadata: Dict[str, Any]) -> Dict[str, str]: + validated = {} + for key, value in metadata.items(): + if not isinstance(key, str): + raise ValueError(f"Metadata key must be a string, got {type(key)}") + if not isinstance(value, str): + print(f"Warning: Metadata value for key '{key}' is not a string. Converting to string.") + validated[key] = str(value) + else: + validated[key] = value + return validated + + print(f"Using memory efficient save file: {filename}") + + header = {} + offset = 0 + if metadata: + header["__metadata__"] = validate_metadata(metadata) + for k, v in tensors.items(): + if v.numel() == 0: # empty tensor + header[k] = {"dtype": _TYPES[v.dtype], "shape": list(v.shape), "data_offsets": [offset, offset]} + else: + size = v.numel() * v.element_size() + header[k] = {"dtype": _TYPES[v.dtype], "shape": list(v.shape), "data_offsets": [offset, offset + size]} + offset += size + + hjson = json.dumps(header).encode("utf-8") + hjson += b" " * (-(len(hjson) + 8) % _ALIGN) + + with open(filename, "wb") as f: + f.write(struct.pack(" Date: Tue, 20 Aug 2024 08:19:00 +0900 Subject: [PATCH 159/748] Fix debug_dataset to work --- train_network.py | 1 + 1 file changed, 1 insertion(+) diff --git a/train_network.py b/train_network.py index 086b314a5..cab0ec52e 100644 --- a/train_network.py +++ b/train_network.py @@ -313,6 +313,7 @@ def train(self, args): collator = train_util.collator_class(current_epoch, current_step, ds_for_collator) if args.debug_dataset: + train_dataset_group.set_current_strategies() # dasaset needs to know the strategies explicitly train_util.debug_dataset(train_dataset_group) return if len(train_dataset_group) == 0: From c62c95e8626bdb727cedc8f037c82ab3a8e66059 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Tue, 20 Aug 2024 08:21:01 +0900 Subject: [PATCH 160/748] update about multi-resolution training in FLUX.1 --- README.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/README.md b/README.md index 51e4635bb..165eed341 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,13 @@ __Please update PyTorch to 2.4.0. We have tested with `torch==2.4.0` and `torchv The command to install PyTorch is as follows: `pip3 install torch==2.4.0 torchvision==0.19.0 --index-url https://download.pytorch.org/whl/cu124` +Aug 20, 2024: +FLUX.1 supports multi-resolution inference, so training at multiple resolutions may be possible and the results may be improved (like 1024x1024, 768x768 and 512x512 ... you can use any resolution). + +The script seems to support multi-resolution even in the current version, __if `--cache_latents_to_disk` is not specified__. Please try if you are interested. See [FLUX.1 Multi-resolution training](#flux1-multi-resolution-training) for details. + +We will support multi-resolution caching to disk in the near future. + Aug 19, 2024: In `flux_train.py`, the memory consumption during model saving is reduced when `--save_precision` is set to the same value as `--mixed_precision` (about 22GB). Please set the same value unless there is a reason. @@ -159,6 +166,51 @@ In the case of LoRA models are trained with `bf16`, we are not sure which is bet The script can merge multiple LoRA models. If you want to merge multiple LoRA models, specify `--concat` option to work the merged LoRA model properly. +### FLUX.1 Multi-resolution training + +You can define multiple resolutions in the dataset configuration file. __Caching latents to disk is not supported yet.__ + +The dataset configuration file is like below. You can define multiple resolutions with different batch sizes. The resolutions are defined in the `[[datasets]]` section. The `[[datasets.subsets]]` section is for the dataset directory. Please specify the same directory for each resolution. + +``` +[general] +# define common settings here +flip_aug = true +color_aug = false +keep_tokens_separator= "|||" +shuffle_caption = false +caption_tag_dropout_rate = 0 +caption_extension = ".txt" + +[[datasets]] +# define the first resolution here +batch_size = 2 +enable_bucket = true +resolution = [1024, 1024] + + [[datasets.subsets]] + image_dir = "path/to/image/dir" + num_repeats = 1 + +[[datasets]] +# define the second resolution here +batch_size = 3 +enable_bucket = true +resolution = [768, 768] + + [[datasets.subsets]] + image_dir = "path/to/image/dir" + num_repeats = 1 + +[[datasets]] +# define the third resolution here +batch_size = 4 +enable_bucket = true +resolution = [512, 512] + + [[datasets.subsets]] + image_dir = "path/to/image/dir" + num_repeats = 1 ``` ## SD3 training From 6f6faf9b5a99b7f741f657a06a42f63754e450c0 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Tue, 20 Aug 2024 19:16:25 +0900 Subject: [PATCH 161/748] fix to work with ai-toolkit LoRA --- networks/flux_merge_lora.py | 163 +++++++++++++++--------------------- 1 file changed, 68 insertions(+), 95 deletions(-) diff --git a/networks/flux_merge_lora.py b/networks/flux_merge_lora.py index df0ba606a..1ba1f314d 100644 --- a/networks/flux_merge_lora.py +++ b/networks/flux_merge_lora.py @@ -7,8 +7,6 @@ from safetensors.torch import load_file, save_file from tqdm import tqdm -import lora_flux as lora_flux -from library import sai_model_spec, train_util from library.utils import setup_logging setup_logging() @@ -16,6 +14,9 @@ logger = logging.getLogger(__name__) +import lora_flux as lora_flux +from library import sai_model_spec, train_util + def load_state_dict(file_name, dtype): if os.path.splitext(file_name)[1] == ".safetensors": @@ -43,13 +44,11 @@ def save_to_file(file_name, state_dict, dtype, metadata): save_file(state_dict, file_name, metadata=metadata) -def merge_to_flux_model( - loading_device, working_device, flux_model, models, ratios, merge_dtype, save_dtype -): +def merge_to_flux_model(loading_device, working_device, flux_model, models, ratios, merge_dtype, save_dtype): logger.info(f"loading keys from FLUX.1 model: {flux_model}") flux_state_dict = load_file(flux_model, device=loading_device) - def create_key_map(n_double_layers, n_single_layers, hidden_size): + def create_key_map(n_double_layers, n_single_layers): key_map = {} for index in range(n_double_layers): prefix_from = f"transformer_blocks.{index}" @@ -60,18 +59,12 @@ def create_key_map(n_double_layers, n_single_layers, hidden_size): qkv_img = f"{prefix_to}.img_attn.qkv.{end}" qkv_txt = f"{prefix_to}.txt_attn.qkv.{end}" - key_map[f"{k}to_q.{end}"] = (qkv_img, (0, 0, hidden_size)) - key_map[f"{k}to_k.{end}"] = (qkv_img, (0, hidden_size, hidden_size)) - key_map[f"{k}to_v.{end}"] = (qkv_img, (0, hidden_size * 2, hidden_size)) - key_map[f"{k}add_q_proj.{end}"] = (qkv_txt, (0, 0, hidden_size)) - key_map[f"{k}add_k_proj.{end}"] = ( - qkv_txt, - (0, hidden_size, hidden_size), - ) - key_map[f"{k}add_v_proj.{end}"] = ( - qkv_txt, - (0, hidden_size * 2, hidden_size), - ) + key_map[f"{k}to_q.{end}"] = qkv_img + key_map[f"{k}to_k.{end}"] = qkv_img + key_map[f"{k}to_v.{end}"] = qkv_img + key_map[f"{k}add_q_proj.{end}"] = qkv_txt + key_map[f"{k}add_k_proj.{end}"] = qkv_txt + key_map[f"{k}add_v_proj.{end}"] = qkv_txt block_map = { "attn.to_out.0.weight": "img_attn.proj.weight", @@ -106,13 +99,10 @@ def create_key_map(n_double_layers, n_single_layers, hidden_size): for end in ("weight", "bias"): k = f"{prefix_from}.attn." qkv = f"{prefix_to}.linear1.{end}" - key_map[f"{k}to_q.{end}"] = (qkv, (0, 0, hidden_size)) - key_map[f"{k}to_k.{end}"] = (qkv, (0, hidden_size, hidden_size)) - key_map[f"{k}to_v.{end}"] = (qkv, (0, hidden_size * 2, hidden_size)) - key_map[f"{prefix_from}.proj_mlp.{end}"] = ( - qkv, - (0, hidden_size * 3, hidden_size * 4), - ) + key_map[f"{k}to_q.{end}"] = qkv + key_map[f"{k}to_k.{end}"] = qkv + key_map[f"{k}to_v.{end}"] = qkv + key_map[f"{prefix_from}.proj_mlp.{end}"] = qkv block_map = { "norm.linear.weight": "modulation.lin.weight", @@ -126,11 +116,14 @@ def create_key_map(n_double_layers, n_single_layers, hidden_size): for k, v in block_map.items(): key_map[f"{prefix_from}.{k}"] = f"{prefix_to}.{v}" + # add as-is keys + values = list([(v if isinstance(v, str) else v[0]) for v in set(key_map.values())]) + values.sort() + key_map.update({v: v for v in values}) + return key_map - key_map = create_key_map( - 18, 1, 2048 - ) # Assuming 18 double layers, 1 single layer, and hidden size of 2048 + key_map = create_key_map(18, 38) # 18 double layers, 38 single layers def find_matching_key(flux_dict, lora_key): lora_key = lora_key.replace("diffusion_model.", "") @@ -159,7 +152,6 @@ def find_matching_key(flux_dict, lora_key): "attn.add_k_proj": "txt_attn.qkv", "attn.add_v_proj": "txt_attn.qkv", } - single_block_map = { "norm.linear": "modulation.lin", "proj_out": "linear2", @@ -168,18 +160,22 @@ def find_matching_key(flux_dict, lora_key): "attn.to_q": "linear1", "attn.to_k": "linear1", "attn.to_v": "linear1", + "proj_mlp": "linear1", } + # same key exists in both single_block_map and double_block_map, so we must care about single/double + # print("lora_key before double_block_map", lora_key) for old, new in double_block_map.items(): - lora_key = lora_key.replace(old, new) - + if "double" in lora_key: + lora_key = lora_key.replace(old, new) + # print("lora_key before single_block_map", lora_key) for old, new in single_block_map.items(): - lora_key = lora_key.replace(old, new) + if "single" in lora_key: + lora_key = lora_key.replace(old, new) + # print("lora_key after mapping", lora_key) if lora_key in key_map: flux_key = key_map[lora_key] - if isinstance(flux_key, tuple): - flux_key = flux_key[0] logger.info(f"Found matching key: {flux_key}") return flux_key @@ -198,16 +194,11 @@ def find_matching_key(flux_dict, lora_key): lora_sd, _ = load_state_dict(model, merge_dtype) logger.info("merging...") - for key in tqdm(lora_sd.keys()): + for key in lora_sd.keys(): if "lora_down" in key or "lora_A" in key: - lora_name = key[ - : key.rfind(".lora_down" if "lora_down" in key else ".lora_A") - ] + lora_name = key[: key.rfind(".lora_down" if "lora_down" in key else ".lora_A")] up_key = key.replace("lora_down", "lora_up").replace("lora_A", "lora_B") - alpha_key = ( - key[: key.index("lora_down" if "lora_down" in key else "lora_A")] - + "alpha" - ) + alpha_key = key[: key.index("lora_down" if "lora_down" in key else "lora_A")] + "alpha" logger.info(f"Processing LoRA key: {lora_name}") flux_key = find_matching_key(flux_state_dict, lora_name) @@ -231,20 +222,35 @@ def find_matching_key(flux_dict, lora_key): up_weight = up_weight.to(working_device, merge_dtype) down_weight = down_weight.to(working_device, merge_dtype) + # print(up_weight.size(), down_weight.size(), weight.size()) + if lora_name.startswith("transformer."): - if "qkv" in flux_key: - hidden_size = weight.size(-1) // 3 + if "qkv" in flux_key or "linear1" in flux_key: # combined qkv or qkv+mlp update = ratio * (up_weight @ down_weight) * scale + # print(update.shape) if "img_attn" in flux_key or "txt_attn" in flux_key: - q, k, v = torch.chunk(weight, 3, dim=-1) + q, k, v = torch.chunk(weight, 3, dim=0) if "to_q" in lora_name or "add_q_proj" in lora_name: q += update.reshape(q.shape) elif "to_k" in lora_name or "add_k_proj" in lora_name: k += update.reshape(k.shape) elif "to_v" in lora_name or "add_v_proj" in lora_name: v += update.reshape(v.shape) - weight = torch.cat([q, k, v], dim=-1) + weight = torch.cat([q, k, v], dim=0) + elif "linear1" in flux_key: + q, k, v = torch.chunk(weight[: int(update.shape[-1] * 3)], 3, dim=0) + mlp = weight[int(update.shape[-1] * 3) :] + # print(q.shape, k.shape, v.shape, mlp.shape) + if "to_q" in lora_name: + q += update.reshape(q.shape) + elif "to_k" in lora_name: + k += update.reshape(k.shape) + elif "to_v" in lora_name: + v += update.reshape(v.shape) + elif "proj_mlp" in lora_name: + mlp += update.reshape(mlp.shape) + weight = torch.cat([q, k, v, mlp], dim=0) else: if len(weight.size()) == 2: weight = weight + ratio * (up_weight @ down_weight) * scale @@ -252,18 +258,11 @@ def find_matching_key(flux_dict, lora_key): weight = ( weight + ratio - * ( - up_weight.squeeze(3).squeeze(2) - @ down_weight.squeeze(3).squeeze(2) - ) - .unsqueeze(2) - .unsqueeze(3) + * (up_weight.squeeze(3).squeeze(2) @ down_weight.squeeze(3).squeeze(2)).unsqueeze(2).unsqueeze(3) * scale ) else: - conved = torch.nn.functional.conv2d( - down_weight.permute(1, 0, 2, 3), up_weight - ).permute(1, 0, 2, 3) + conved = torch.nn.functional.conv2d(down_weight.permute(1, 0, 2, 3), up_weight).permute(1, 0, 2, 3) weight = weight + ratio * conved * scale else: if len(weight.size()) == 2: @@ -272,18 +271,11 @@ def find_matching_key(flux_dict, lora_key): weight = ( weight + ratio - * ( - up_weight.squeeze(3).squeeze(2) - @ down_weight.squeeze(3).squeeze(2) - ) - .unsqueeze(2) - .unsqueeze(3) + * (up_weight.squeeze(3).squeeze(2) @ down_weight.squeeze(3).squeeze(2)).unsqueeze(2).unsqueeze(3) * scale ) else: - conved = torch.nn.functional.conv2d( - down_weight.permute(1, 0, 2, 3), up_weight - ).permute(1, 0, 2, 3) + conved = torch.nn.functional.conv2d(down_weight.permute(1, 0, 2, 3), up_weight).permute(1, 0, 2, 3) weight = weight + ratio * conved * scale flux_state_dict[flux_key] = weight.to(loading_device, save_dtype) @@ -308,9 +300,7 @@ def merge_lora_models(models, ratios, merge_dtype, concat=False, shuffle=False): if lora_metadata is not None: if base_model is None: - base_model = lora_metadata.get( - train_util.SS_METADATA_KEY_BASE_MODEL_VERSION, None - ) + base_model = lora_metadata.get(train_util.SS_METADATA_KEY_BASE_MODEL_VERSION, None) # get alpha and dim alphas = {} # alpha for current model @@ -336,9 +326,7 @@ def merge_lora_models(models, ratios, merge_dtype, concat=False, shuffle=False): if lora_module_name not in base_alphas: base_alphas[lora_module_name] = alpha - logger.info( - f"dim: {list(set(dims.values()))}, alpha: {list(set(alphas.values()))}" - ) + logger.info(f"dim: {list(set(dims.values()))}, alpha: {list(set(alphas.values()))}") # merge logger.info("merging...") @@ -359,19 +347,14 @@ def merge_lora_models(models, ratios, merge_dtype, concat=False, shuffle=False): alpha = alphas[lora_module_name] scale = math.sqrt(alpha / base_alpha) * ratio - scale = ( - abs(scale) if "lora_up" in key else scale - ) # マイナスの重みに対応する。 + scale = abs(scale) if "lora_up" in key else scale # マイナスの重みに対応する。 if key in merged_sd: assert ( - merged_sd[key].size() == lora_sd[key].size() - or concat_dim is not None + merged_sd[key].size() == lora_sd[key].size() or concat_dim is not None ), "weights shape mismatch, different dims? / 重みのサイズが合いません。dimが異なる可能性があります。" if concat_dim is not None: - merged_sd[key] = torch.cat( - [merged_sd[key], lora_sd[key] * scale], dim=concat_dim - ) + merged_sd[key] = torch.cat([merged_sd[key], lora_sd[key] * scale], dim=concat_dim) else: merged_sd[key] = merged_sd[key] + lora_sd[key] * scale else: @@ -390,9 +373,7 @@ def merge_lora_models(models, ratios, merge_dtype, concat=False, shuffle=False): merged_sd[key_up] = merged_sd[key_up][:, perm] logger.info("merged model") - logger.info( - f"dim: {list(set(base_dims.values()))}, alpha: {list(set(base_alphas.values()))}" - ) + logger.info(f"dim: {list(set(base_dims.values()))}, alpha: {list(set(base_alphas.values()))}") # check all dims are same dims_list = list(set(base_dims.values())) @@ -411,16 +392,14 @@ def merge_lora_models(models, ratios, merge_dtype, concat=False, shuffle=False): # build minimum metadata dims = f"{dims_list[0]}" if all_same_dims else "Dynamic" alphas = f"{alphas_list[0]}" if all_same_alphas else "Dynamic" - metadata = train_util.build_minimum_network_metadata( - str(False), base_model, "networks.lora", dims, alphas, None - ) + metadata = train_util.build_minimum_network_metadata(str(False), base_model, "networks.lora", dims, alphas, None) return merged_sd, metadata def merge(args): - assert ( - len(args.models) == len(args.ratios) + assert len(args.models) == len( + args.ratios ), "number of models must be equal to number of ratios / モデルの数と重みの数は合わせてください" def str_to_dtype(p): @@ -456,9 +435,7 @@ def str_to_dtype(p): if args.no_metadata: sai_metadata = None else: - merged_from = sai_model_spec.build_merged_from( - [args.flux_model] + args.models - ) + merged_from = sai_model_spec.build_merged_from([args.flux_model] + args.models) title = os.path.splitext(os.path.basename(args.save_to))[0] sai_metadata = sai_model_spec.build_metadata( None, @@ -477,15 +454,11 @@ def str_to_dtype(p): save_to_file(args.save_to, state_dict, save_dtype, sai_metadata) else: - state_dict, metadata = merge_lora_models( - args.models, args.ratios, merge_dtype, args.concat, args.shuffle - ) + state_dict, metadata = merge_lora_models(args.models, args.ratios, merge_dtype, args.concat, args.shuffle) logger.info("calculating hashes and creating metadata...") - model_hash, legacy_hash = train_util.precalculate_safetensors_hashes( - state_dict, metadata - ) + model_hash, legacy_hash = train_util.precalculate_safetensors_hashes(state_dict, metadata) metadata["sshs_model_hash"] = model_hash metadata["sshs_legacy_hash"] = legacy_hash From 9381332020b7089a41eb8d041938f8ba417528d1 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Tue, 20 Aug 2024 19:32:26 +0900 Subject: [PATCH 162/748] revert merge function add add option to use new func --- README.md | 3 + networks/flux_merge_lora.py | 120 +++++++++++++++++++++++++++--------- 2 files changed, 94 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index 165eed341..3f5c4daa5 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,9 @@ __Please update PyTorch to 2.4.0. We have tested with `torch==2.4.0` and `torchv The command to install PyTorch is as follows: `pip3 install torch==2.4.0 torchvision==0.19.0 --index-url https://download.pytorch.org/whl/cu124` +Aug 20, 2024 (update 2): +`flux_merge_lora.py` now supports LoRA from AI-toolkit (Diffusers based keys). Specify `--diffusers` option to merge LoRA with Diffusers based keys. Thanks to exveria1015! + Aug 20, 2024: FLUX.1 supports multi-resolution inference, so training at multiple resolutions may be possible and the results may be improved (like 1024x1024, 768x768 and 512x512 ... you can use any resolution). diff --git a/networks/flux_merge_lora.py b/networks/flux_merge_lora.py index 1ba1f314d..fd9cc4e3a 100644 --- a/networks/flux_merge_lora.py +++ b/networks/flux_merge_lora.py @@ -4,6 +4,7 @@ import time import torch +from safetensors import safe_open from safetensors.torch import load_file, save_file from tqdm import tqdm @@ -45,6 +46,81 @@ def save_to_file(file_name, state_dict, dtype, metadata): def merge_to_flux_model(loading_device, working_device, flux_model, models, ratios, merge_dtype, save_dtype): + # create module map without loading state_dict + logger.info(f"loading keys from FLUX.1 model: {flux_model}") + lora_name_to_module_key = {} + with safe_open(flux_model, framework="pt", device=loading_device) as flux_file: + keys = list(flux_file.keys()) + for key in keys: + if key.endswith(".weight"): + module_name = ".".join(key.split(".")[:-1]) + lora_name = lora_flux.LoRANetwork.LORA_PREFIX_FLUX + "_" + module_name.replace(".", "_") + lora_name_to_module_key[lora_name] = key + + flux_state_dict = load_file(flux_model, device=loading_device) + for model, ratio in zip(models, ratios): + logger.info(f"loading: {model}") + lora_sd, _ = load_state_dict(model, merge_dtype) # loading on CPU + + logger.info(f"merging...") + for key in tqdm(list(lora_sd.keys())): + if "lora_down" in key: + lora_name = key[: key.rfind(".lora_down")] + up_key = key.replace("lora_down", "lora_up") + alpha_key = key[: key.index("lora_down")] + "alpha" + + if lora_name not in lora_name_to_module_key: + logger.warning(f"no module found for LoRA weight: {key}. LoRA for Text Encoder is not supported yet.") + continue + + down_weight = lora_sd.pop(key) + up_weight = lora_sd.pop(up_key) + + dim = down_weight.size()[0] + alpha = lora_sd.pop(alpha_key, dim) + scale = alpha / dim + + # W <- W + U * D + module_weight_key = lora_name_to_module_key[lora_name] + if module_weight_key not in flux_state_dict: + weight = flux_file.get_tensor(module_weight_key) + else: + weight = flux_state_dict[module_weight_key] + + weight = weight.to(working_device, merge_dtype) + up_weight = up_weight.to(working_device, merge_dtype) + down_weight = down_weight.to(working_device, merge_dtype) + + # logger.info(module_name, down_weight.size(), up_weight.size()) + if len(weight.size()) == 2: + # linear + weight = weight + ratio * (up_weight @ down_weight) * scale + elif down_weight.size()[2:4] == (1, 1): + # conv2d 1x1 + weight = ( + weight + + ratio + * (up_weight.squeeze(3).squeeze(2) @ down_weight.squeeze(3).squeeze(2)).unsqueeze(2).unsqueeze(3) + * scale + ) + else: + # conv2d 3x3 + conved = torch.nn.functional.conv2d(down_weight.permute(1, 0, 2, 3), up_weight).permute(1, 0, 2, 3) + # logger.info(conved.size(), weight.size(), module.stride, module.padding) + weight = weight + ratio * conved * scale + + flux_state_dict[module_weight_key] = weight.to(loading_device, save_dtype) + del up_weight + del down_weight + del weight + + if len(lora_sd) > 0: + logger.warning(f"Unused keys in LoRA model: {list(lora_sd.keys())}") + + return flux_state_dict + + +def merge_to_flux_model_diffusers(loading_device, working_device, flux_model, models, ratios, merge_dtype, save_dtype): logger.info(f"loading keys from FLUX.1 model: {flux_model}") flux_state_dict = load_file(flux_model, device=loading_device) @@ -422,15 +498,14 @@ def str_to_dtype(p): os.makedirs(dest_dir) if args.flux_model is not None: - state_dict = merge_to_flux_model( - args.loading_device, - args.working_device, - args.flux_model, - args.models, - args.ratios, - merge_dtype, - save_dtype, - ) + if not args.diffusers: + state_dict = merge_to_flux_model( + args.loading_device, args.working_device, args.flux_model, args.models, args.ratios, merge_dtype, save_dtype + ) + else: + state_dict = merge_to_flux_model_diffusers( + args.loading_device, args.working_device, args.flux_model, args.models, args.ratios, merge_dtype, save_dtype + ) if args.no_metadata: sai_metadata = None @@ -438,16 +513,7 @@ def str_to_dtype(p): merged_from = sai_model_spec.build_merged_from([args.flux_model] + args.models) title = os.path.splitext(os.path.basename(args.save_to))[0] sai_metadata = sai_model_spec.build_metadata( - None, - False, - False, - False, - False, - False, - time.time(), - title=title, - merged_from=merged_from, - flux="dev", + None, False, False, False, False, False, time.time(), title=title, merged_from=merged_from, flux="dev" ) logger.info(f"saving FLUX model to: {args.save_to}") @@ -466,16 +532,7 @@ def str_to_dtype(p): merged_from = sai_model_spec.build_merged_from(args.models) title = os.path.splitext(os.path.basename(args.save_to))[0] sai_metadata = sai_model_spec.build_metadata( - state_dict, - False, - False, - False, - True, - False, - time.time(), - title=title, - merged_from=merged_from, - flux="dev", + state_dict, False, False, False, True, False, time.time(), title=title, merged_from=merged_from, flux="dev" ) metadata.update(sai_metadata) @@ -553,6 +610,11 @@ def setup_parser() -> argparse.ArgumentParser: action="store_true", help="shuffle lora weight./ " + "LoRAの重みをシャッフルする", ) + parser.add_argument( + "--diffusers", + action="store_true", + help="merge Diffusers (?) LoRA models / Diffusers (?) LoRAモデルをマージする", + ) return parser From dbed5126bd1133da832dae31ce73ba6c41afc9d3 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Tue, 20 Aug 2024 19:33:47 +0900 Subject: [PATCH 163/748] chore: formatting --- networks/flux_merge_lora.py | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/networks/flux_merge_lora.py b/networks/flux_merge_lora.py index fd9cc4e3a..d5e82920d 100644 --- a/networks/flux_merge_lora.py +++ b/networks/flux_merge_lora.py @@ -113,7 +113,7 @@ def merge_to_flux_model(loading_device, working_device, flux_model, models, rati del up_weight del down_weight del weight - + if len(lora_sd) > 0: logger.warning(f"Unused keys in LoRA model: {list(lora_sd.keys())}") @@ -587,12 +587,7 @@ def setup_parser() -> argparse.ArgumentParser: nargs="*", help="LoRA models to merge: safetensors file / マージするLoRAモデル、safetensorsファイル", ) - parser.add_argument( - "--ratios", - type=float, - nargs="*", - help="ratios for each model / それぞれのLoRAモデルの比率", - ) + parser.add_argument("--ratios", type=float, nargs="*", help="ratios for each model / それぞれのLoRAモデルの比率") parser.add_argument( "--no_metadata", action="store_true", From 6ab48b09d8e46973d5e5fa47baeae3a464d06d04 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Tue, 20 Aug 2024 21:39:43 +0900 Subject: [PATCH 164/748] feat: Support multi-resolution training with caching latents to disk --- README.md | 11 +++- library/strategy_base.py | 112 ++++++++++++++++++++++++++------------- library/strategy_flux.py | 11 +++- library/train_util.py | 2 +- 4 files changed, 93 insertions(+), 43 deletions(-) diff --git a/README.md b/README.md index 3f5c4daa5..1d44c9e58 100644 --- a/README.md +++ b/README.md @@ -9,13 +9,20 @@ __Please update PyTorch to 2.4.0. We have tested with `torch==2.4.0` and `torchv The command to install PyTorch is as follows: `pip3 install torch==2.4.0 torchvision==0.19.0 --index-url https://download.pytorch.org/whl/cu124` +Aug 20, 2024 (update 3): +__Experimental__ The multi-resolution training is now supported with caching latents to disk. + +The cache files now hold latents for multiple resolutions. Since the latents are appended to the current cache file, it is recommended to delete the cache file in advance (if not, the old latents is kept in .npz file). + +See [FLUX.1 Multi-resolution training](#flux1-multi-resolution-training) for details. + Aug 20, 2024 (update 2): `flux_merge_lora.py` now supports LoRA from AI-toolkit (Diffusers based keys). Specify `--diffusers` option to merge LoRA with Diffusers based keys. Thanks to exveria1015! Aug 20, 2024: FLUX.1 supports multi-resolution inference, so training at multiple resolutions may be possible and the results may be improved (like 1024x1024, 768x768 and 512x512 ... you can use any resolution). -The script seems to support multi-resolution even in the current version, __if `--cache_latents_to_disk` is not specified__. Please try if you are interested. See [FLUX.1 Multi-resolution training](#flux1-multi-resolution-training) for details. +The script seems to support multi-resolution even in the current version, ~~if `--cache_latents_to_disk` is not specified~~ -> `--cache_latents_to_disk` is now supported for multi-resolution training. Please try if you are interested. See [FLUX.1 Multi-resolution training](#flux1-multi-resolution-training) for details. We will support multi-resolution caching to disk in the near future. @@ -171,7 +178,7 @@ The script can merge multiple LoRA models. If you want to merge multiple LoRA mo ### FLUX.1 Multi-resolution training -You can define multiple resolutions in the dataset configuration file. __Caching latents to disk is not supported yet.__ +You can define multiple resolutions in the dataset configuration file. The dataset configuration file is like below. You can define multiple resolutions with different batch sizes. The resolutions are defined in the `[[datasets]]` section. The `[[datasets.subsets]]` section is for the dataset directory. Please specify the same directory for each resolution. diff --git a/library/strategy_base.py b/library/strategy_base.py index a99a08290..e7d3a97ef 100644 --- a/library/strategy_base.py +++ b/library/strategy_base.py @@ -219,7 +219,13 @@ def cache_batch_latents(self, model: Any, batch: List, flip_aug: bool, alpha_mas raise NotImplementedError def _default_is_disk_cached_latents_expected( - self, latents_stride: int, bucket_reso: Tuple[int, int], npz_path: str, flip_aug: bool, alpha_mask: bool + self, + latents_stride: int, + bucket_reso: Tuple[int, int], + npz_path: str, + flip_aug: bool, + alpha_mask: bool, + multi_resolution: bool = False, ): if not self.cache_to_disk: return False @@ -230,25 +236,17 @@ def _default_is_disk_cached_latents_expected( expected_latents_size = (bucket_reso[1] // latents_stride, bucket_reso[0] // latents_stride) # bucket_reso is (W, H) + # e.g. "_32x64", HxW + key_reso_suffix = f"_{expected_latents_size[0]}x{expected_latents_size[1]}" if multi_resolution else "" + try: npz = np.load(npz_path) - if npz["latents"].shape[1:3] != expected_latents_size: + if "latents" + key_reso_suffix not in npz: + return False + if flip_aug and "latents_flipped" + key_reso_suffix not in npz: + return False + if alpha_mask and "alpha_mask" + key_reso_suffix not in npz: return False - - if flip_aug: - if "latents_flipped" not in npz: - return False - if npz["latents_flipped"].shape[1:3] != expected_latents_size: - return False - - if alpha_mask: - if "alpha_mask" not in npz: - return False - if npz["alpha_mask"].shape[0:2] != (bucket_reso[1], bucket_reso[0]): - return False - else: - if "alpha_mask" in npz: - return False except Exception as e: logger.error(f"Error loading file: {npz_path}") raise e @@ -257,7 +255,15 @@ def _default_is_disk_cached_latents_expected( # TODO remove circular dependency for ImageInfo def _default_cache_batch_latents( - self, encode_by_vae, vae_device, vae_dtype, image_infos: List, flip_aug: bool, alpha_mask: bool, random_crop: bool + self, + encode_by_vae, + vae_device, + vae_dtype, + image_infos: List, + flip_aug: bool, + alpha_mask: bool, + random_crop: bool, + multi_resolution: bool = False, ): """ Default implementation for cache_batch_latents. Image loading, VAE, flipping, alpha mask handling are common. @@ -287,8 +293,13 @@ def _default_cache_batch_latents( original_size = original_sizes[i] crop_ltrb = crop_ltrbs[i] + latents_size = latents.shape[1:3] # H, W + key_reso_suffix = f"_{latents_size[0]}x{latents_size[1]}" if multi_resolution else "" # e.g. "_32x64", HxW + if self.cache_to_disk: - self.save_latents_to_disk(info.latents_npz, latents, original_size, crop_ltrb, flipped_latent, alpha_mask) + self.save_latents_to_disk( + info.latents_npz, latents, original_size, crop_ltrb, flipped_latent, alpha_mask, key_reso_suffix + ) else: info.latents_original_size = original_size info.latents_crop_ltrb = crop_ltrb @@ -298,31 +309,56 @@ def _default_cache_batch_latents( info.alpha_mask = alpha_mask def load_latents_from_disk( - self, npz_path: str + self, npz_path: str, bucket_reso: Tuple[int, int] + ) -> Tuple[Optional[np.ndarray], Optional[List[int]], Optional[List[int]], Optional[np.ndarray], Optional[np.ndarray]]: + """ + for SD/SDXL/SD3.0 + """ + return self._default_load_latents_from_disk(None, npz_path, bucket_reso) + + def _default_load_latents_from_disk( + self, latents_stride: Optional[int], npz_path: str, bucket_reso: Tuple[int, int] ) -> Tuple[Optional[np.ndarray], Optional[List[int]], Optional[List[int]], Optional[np.ndarray], Optional[np.ndarray]]: + if latents_stride is None: + key_reso_suffix = "" + else: + latents_size = (bucket_reso[1] // latents_stride, bucket_reso[0] // latents_stride) # bucket_reso is (W, H) + key_reso_suffix = f"_{latents_size[0]}x{latents_size[1]}" # e.g. "_32x64", HxW + npz = np.load(npz_path) - if "latents" not in npz: - raise ValueError(f"error: npz is old format. please re-generate {npz_path}") - - latents = npz["latents"] - original_size = npz["original_size"].tolist() - crop_ltrb = npz["crop_ltrb"].tolist() - flipped_latents = npz["latents_flipped"] if "latents_flipped" in npz else None - alpha_mask = npz["alpha_mask"] if "alpha_mask" in npz else None + if "latents" + key_reso_suffix not in npz: + raise ValueError(f"latents{key_reso_suffix} not found in {npz_path}") + + latents = npz["latents" + key_reso_suffix] + original_size = npz["original_size" + key_reso_suffix].tolist() + crop_ltrb = npz["crop_ltrb" + key_reso_suffix].tolist() + flipped_latents = npz["latents_flipped" + key_reso_suffix] if "latents_flipped" + key_reso_suffix in npz else None + alpha_mask = npz["alpha_mask" + key_reso_suffix] if "alpha_mask" + key_reso_suffix in npz else None return latents, original_size, crop_ltrb, flipped_latents, alpha_mask def save_latents_to_disk( - self, npz_path, latents_tensor, original_size, crop_ltrb, flipped_latents_tensor=None, alpha_mask=None + self, + npz_path, + latents_tensor, + original_size, + crop_ltrb, + flipped_latents_tensor=None, + alpha_mask=None, + key_reso_suffix="", ): kwargs = {} + + if os.path.exists(npz_path): + # load existing npz and update it + npz = np.load(npz_path) + for key in npz.files: + kwargs[key] = npz[key] + + kwargs["latents" + key_reso_suffix] = latents_tensor.float().cpu().numpy() + kwargs["original_size" + key_reso_suffix] = np.array(original_size) + kwargs["crop_ltrb" + key_reso_suffix] = np.array(crop_ltrb) if flipped_latents_tensor is not None: - kwargs["latents_flipped"] = flipped_latents_tensor.float().cpu().numpy() + kwargs["latents_flipped" + key_reso_suffix] = flipped_latents_tensor.float().cpu().numpy() if alpha_mask is not None: - kwargs["alpha_mask"] = alpha_mask.float().cpu().numpy() - np.savez( - npz_path, - latents=latents_tensor.float().cpu().numpy(), - original_size=np.array(original_size), - crop_ltrb=np.array(crop_ltrb), - **kwargs, - ) + kwargs["alpha_mask" + key_reso_suffix] = alpha_mask.float().cpu().numpy() + np.savez(npz_path, **kwargs) diff --git a/library/strategy_flux.py b/library/strategy_flux.py index 3880a1e1b..5c620f3d6 100644 --- a/library/strategy_flux.py +++ b/library/strategy_flux.py @@ -200,7 +200,12 @@ def get_latents_npz_path(self, absolute_path: str, image_size: Tuple[int, int]) ) def is_disk_cached_latents_expected(self, bucket_reso: Tuple[int, int], npz_path: str, flip_aug: bool, alpha_mask: bool): - return self._default_is_disk_cached_latents_expected(8, bucket_reso, npz_path, flip_aug, alpha_mask) + return self._default_is_disk_cached_latents_expected(8, bucket_reso, npz_path, flip_aug, alpha_mask, True) + + def load_latents_from_disk( + self, npz_path: str, bucket_reso: Tuple[int, int] + ) -> Tuple[Optional[np.ndarray], Optional[List[int]], Optional[List[int]], Optional[np.ndarray], Optional[np.ndarray]]: + return self._default_load_latents_from_disk(8, npz_path, bucket_reso) # support multi-resolution # TODO remove circular dependency for ImageInfo def cache_batch_latents(self, vae, image_infos: List, flip_aug: bool, alpha_mask: bool, random_crop: bool): @@ -208,7 +213,9 @@ def cache_batch_latents(self, vae, image_infos: List, flip_aug: bool, alpha_mask vae_device = vae.device vae_dtype = vae.dtype - self._default_cache_batch_latents(encode_by_vae, vae_device, vae_dtype, image_infos, flip_aug, alpha_mask, random_crop) + self._default_cache_batch_latents( + encode_by_vae, vae_device, vae_dtype, image_infos, flip_aug, alpha_mask, random_crop, True + ) if not train_util.HIGH_VRAM: train_util.clean_memory_on_device(vae.device) diff --git a/library/train_util.py b/library/train_util.py index f4ac8740a..8929c192f 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -1381,7 +1381,7 @@ def __getitem__(self, index): image = None elif image_info.latents_npz is not None: # FineTuningDatasetまたはcache_latents_to_disk=Trueの場合 latents, original_size, crop_ltrb, flipped_latents, alpha_mask = ( - self.latents_caching_strategy.load_latents_from_disk(image_info.latents_npz) + self.latents_caching_strategy.load_latents_from_disk(image_info.latents_npz, image_info.bucket_reso) ) if flipped: latents = flipped_latents From 7e459c00b2e142e40a9452341934c2eb9f70a172 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Wed, 21 Aug 2024 08:02:33 +0900 Subject: [PATCH 165/748] Update T5 attention mask handling in FLUX --- README.md | 3 +++ flux_minimal_inference.py | 33 +++++++++++++++++++----- flux_train.py | 6 ++++- flux_train_network.py | 13 +++++----- library/flux_models.py | 51 +++++++++++++++++++++---------------- library/flux_train_utils.py | 20 ++++++++++++--- library/strategy_flux.py | 25 ++++++++++-------- 7 files changed, 101 insertions(+), 50 deletions(-) diff --git a/README.md b/README.md index 1d44c9e58..43edbbed6 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,9 @@ __Please update PyTorch to 2.4.0. We have tested with `torch==2.4.0` and `torchv The command to install PyTorch is as follows: `pip3 install torch==2.4.0 torchvision==0.19.0 --index-url https://download.pytorch.org/whl/cu124` +Aug 21, 2024: +The specification of `--apply_t5_attn_mask` has been changed. Previously, the T5 output was zero-padded, but now, two steps are taken: "1. Apply mask when encoding T5" and "2. Apply mask in the attention of Double Block". Fine tuning, LoRA training, and inference in `flux_mini_inference.py` have been changed. + Aug 20, 2024 (update 3): __Experimental__ The multi-resolution training is now supported with caching latents to disk. diff --git a/flux_minimal_inference.py b/flux_minimal_inference.py index b09f63808..5b8aa2506 100644 --- a/flux_minimal_inference.py +++ b/flux_minimal_inference.py @@ -70,12 +70,22 @@ def denoise( vec: torch.Tensor, timesteps: list[float], guidance: float = 4.0, + t5_attn_mask: Optional[torch.Tensor] = None, ): # this is ignored for schnell guidance_vec = torch.full((img.shape[0],), guidance, device=img.device, dtype=img.dtype) for t_curr, t_prev in zip(tqdm(timesteps[:-1]), timesteps[1:]): t_vec = torch.full((img.shape[0],), t_curr, dtype=img.dtype, device=img.device) - pred = model(img=img, img_ids=img_ids, txt=txt, txt_ids=txt_ids, y=vec, timesteps=t_vec, guidance=guidance_vec) + pred = model( + img=img, + img_ids=img_ids, + txt=txt, + txt_ids=txt_ids, + y=vec, + timesteps=t_vec, + guidance=guidance_vec, + txt_attention_mask=t5_attn_mask, + ) img = img + (t_prev - t_curr) * pred @@ -92,6 +102,7 @@ def do_sample( txt_ids: torch.Tensor, num_steps: int, guidance: float, + t5_attn_mask: Optional[torch.Tensor], is_schnell: bool, device: torch.device, flux_dtype: torch.dtype, @@ -101,10 +112,14 @@ def do_sample( # denoise initial noise if accelerator: with accelerator.autocast(), torch.no_grad(): - x = denoise(model, img, img_ids, t5_out, txt_ids, l_pooled, timesteps=timesteps, guidance=guidance) + x = denoise( + model, img, img_ids, t5_out, txt_ids, l_pooled, timesteps=timesteps, guidance=guidance, t5_attn_mask=t5_attn_mask + ) else: with torch.autocast(device_type=device.type, dtype=flux_dtype), torch.no_grad(): - x = denoise(model, img, img_ids, t5_out, txt_ids, l_pooled, timesteps=timesteps, guidance=guidance) + x = denoise( + model, img, img_ids, t5_out, txt_ids, l_pooled, timesteps=timesteps, guidance=guidance, t5_attn_mask=t5_attn_mask + ) return x @@ -156,14 +171,14 @@ def generate_image( clip_l.to(clip_l_dtype) t5xxl.to(t5xxl_dtype) with accelerator.autocast(): - _, t5_out, txt_ids = encoding_strategy.encode_tokens( + _, t5_out, txt_ids, t5_attn_mask = encoding_strategy.encode_tokens( tokenize_strategy, [clip_l, t5xxl], tokens_and_masks, args.apply_t5_attn_mask ) else: with torch.autocast(device_type=device.type, dtype=clip_l_dtype): - l_pooled, _, _ = encoding_strategy.encode_tokens(tokenize_strategy, [clip_l, None], tokens_and_masks) + l_pooled, _, _, _ = encoding_strategy.encode_tokens(tokenize_strategy, [clip_l, None], tokens_and_masks) with torch.autocast(device_type=device.type, dtype=t5xxl_dtype): - _, t5_out, txt_ids = encoding_strategy.encode_tokens( + _, t5_out, txt_ids, t5_attn_mask = encoding_strategy.encode_tokens( tokenize_strategy, [None, t5xxl], tokens_and_masks, args.apply_t5_attn_mask ) @@ -186,7 +201,11 @@ def generate_image( steps = 4 if is_schnell else 50 img_ids = img_ids.to(device) - x = do_sample(accelerator, model, noise, img_ids, l_pooled, t5_out, txt_ids, steps, guidance, is_schnell, device, flux_dtype) + t5_attn_mask = t5_attn_mask.to(device) if args.apply_t5_attn_mask else None + + x = do_sample( + accelerator, model, noise, img_ids, l_pooled, t5_out, txt_ids, steps, guidance, t5_attn_mask, is_schnell, device, flux_dtype + ) if args.offload: model = model.cpu() # del model diff --git a/flux_train.py b/flux_train.py index 669963856..ecb8a1086 100644 --- a/flux_train.py +++ b/flux_train.py @@ -610,7 +610,10 @@ def optimizer_hook(parameter: torch.Tensor): guidance_vec = torch.full((bsz,), args.guidance_scale, device=accelerator.device) # call model - l_pooled, t5_out, txt_ids = text_encoder_conds + l_pooled, t5_out, txt_ids, t5_attn_mask = text_encoder_conds + if not args.apply_t5_attn_mask: + t5_attn_mask = None + with accelerator.autocast(): # YiYi notes: divide it by 1000 for now because we scale it by 1000 in the transformer model (we should not keep it but I want to keep the inputs same for the model for testing) model_pred = flux( @@ -621,6 +624,7 @@ def optimizer_hook(parameter: torch.Tensor): y=l_pooled, timesteps=timesteps / 1000, guidance=guidance_vec, + txt_attention_mask=t5_attn_mask, ) # unpack latents diff --git a/flux_train_network.py b/flux_train_network.py index 002252c87..49bd270c7 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -233,11 +233,11 @@ def __init__(self, flux_upper: flux_models.FluxUpper, flux_lower: flux_models.Fl self.flux_lower = flux_lower self.target_device = device - def forward(self, img, img_ids, txt, txt_ids, timesteps, y, guidance=None): + def forward(self, img, img_ids, txt, txt_ids, timesteps, y, guidance=None, txt_attention_mask=None): self.flux_lower.to("cpu") clean_memory_on_device(self.target_device) self.flux_upper.to(self.target_device) - img, txt, vec, pe = self.flux_upper(img, img_ids, txt, txt_ids, timesteps, y, guidance) + img, txt, vec, pe = self.flux_upper(img, img_ids, txt, txt_ids, timesteps, y, guidance, txt_attention_mask) self.flux_upper.to("cpu") clean_memory_on_device(self.target_device) self.flux_lower.to(self.target_device) @@ -300,10 +300,9 @@ def get_noise_pred_and_target( guidance_vec.requires_grad_(True) # Predict the noise residual - l_pooled, t5_out, txt_ids = text_encoder_conds - # print( - # f"model_input: {noisy_model_input.shape}, img_ids: {img_ids.shape}, t5_out: {t5_out.shape}, txt_ids: {txt_ids.shape}, l_pooled: {l_pooled.shape}, timesteps: {timesteps.shape}, guidance_vec: {guidance_vec.shape}" - # ) + l_pooled, t5_out, txt_ids, t5_attn_mask = text_encoder_conds + if not args.apply_t5_attn_mask: + t5_attn_mask = None if not args.split_mode: # normal forward @@ -317,6 +316,7 @@ def get_noise_pred_and_target( y=l_pooled, timesteps=timesteps / 1000, guidance=guidance_vec, + txt_attention_mask=t5_attn_mask, ) else: # split forward to reduce memory usage @@ -337,6 +337,7 @@ def get_noise_pred_and_target( y=l_pooled, timesteps=timesteps / 1000, guidance=guidance_vec, + txt_attention_mask=t5_attn_mask, ) # move flux upper back to cpu, and then move flux lower to gpu diff --git a/library/flux_models.py b/library/flux_models.py index 11ef647ad..6f28da603 100644 --- a/library/flux_models.py +++ b/library/flux_models.py @@ -440,10 +440,10 @@ class ModelSpec: # region math -def attention(q: Tensor, k: Tensor, v: Tensor, pe: Tensor) -> Tensor: +def attention(q: Tensor, k: Tensor, v: Tensor, pe: Tensor, attn_mask: Optional[Tensor] = None) -> Tensor: q, k = apply_rope(q, k, pe) - x = torch.nn.functional.scaled_dot_product_attention(q, k, v) + x = torch.nn.functional.scaled_dot_product_attention(q, k, v, attn_mask=attn_mask) x = rearrange(x, "B H L D -> B L (H D)") return x @@ -607,11 +607,7 @@ def __init__(self, dim: int, num_heads: int = 8, qkv_bias: bool = False): self.norm = QKNorm(head_dim) self.proj = nn.Linear(dim, dim) - # self.gradient_checkpointing = False - - # def enable_gradient_checkpointing(self): - # self.gradient_checkpointing = True - + # this is not called from DoubleStreamBlock/SingleStreamBlock because they uses attention function directly def forward(self, x: Tensor, pe: Tensor) -> Tensor: qkv = self.qkv(x) q, k, v = rearrange(qkv, "B L (K H D) -> K B H L D", K=3, H=self.num_heads) @@ -620,12 +616,6 @@ def forward(self, x: Tensor, pe: Tensor) -> Tensor: x = self.proj(x) return x - # def forward(self, *args, **kwargs): - # if self.training and self.gradient_checkpointing: - # return checkpoint(self._forward, *args, use_reentrant=False, **kwargs) - # else: - # return self._forward(*args, **kwargs) - @dataclass class ModulationOut: @@ -690,7 +680,9 @@ def disable_gradient_checkpointing(self): self.gradient_checkpointing = False self.cpu_offload_checkpointing = False - def _forward(self, img: Tensor, txt: Tensor, vec: Tensor, pe: Tensor) -> tuple[Tensor, Tensor]: + def _forward( + self, img: Tensor, txt: Tensor, vec: Tensor, pe: Tensor, txt_attention_mask: Optional[Tensor] = None + ) -> tuple[Tensor, Tensor]: img_mod1, img_mod2 = self.img_mod(vec) txt_mod1, txt_mod2 = self.txt_mod(vec) @@ -713,7 +705,18 @@ def _forward(self, img: Tensor, txt: Tensor, vec: Tensor, pe: Tensor) -> tuple[T k = torch.cat((txt_k, img_k), dim=2) v = torch.cat((txt_v, img_v), dim=2) - attn = attention(q, k, v, pe=pe) + # make attention mask if not None + attn_mask = None + if txt_attention_mask is not None: + attn_mask = txt_attention_mask # b, seq_len + attn_mask = torch.cat( + (attn_mask, torch.ones(attn_mask.shape[0], img.shape[1]).to(attn_mask.device)), dim=1 + ) # b, seq_len + img_len + + # broadcast attn_mask to all heads + attn_mask = attn_mask[:, None, None, :].expand(-1, q.shape[1], q.shape[2], -1) + + attn = attention(q, k, v, pe=pe, attn_mask=attn_mask) txt_attn, img_attn = attn[:, : txt.shape[1]], attn[:, txt.shape[1] :] # calculate the img blocks @@ -725,10 +728,12 @@ def _forward(self, img: Tensor, txt: Tensor, vec: Tensor, pe: Tensor) -> tuple[T txt = txt + txt_mod2.gate * self.txt_mlp((1 + txt_mod2.scale) * self.txt_norm2(txt) + txt_mod2.shift) return img, txt - def forward(self, img: Tensor, txt: Tensor, vec: Tensor, pe: Tensor) -> tuple[Tensor, Tensor]: + def forward( + self, img: Tensor, txt: Tensor, vec: Tensor, pe: Tensor, txt_attention_mask: Optional[Tensor] = None + ) -> tuple[Tensor, Tensor]: if self.training and self.gradient_checkpointing: if not self.cpu_offload_checkpointing: - return checkpoint(self._forward, img, txt, vec, pe, use_reentrant=False) + return checkpoint(self._forward, img, txt, vec, pe, txt_attention_mask, use_reentrant=False) # cpu offload checkpointing def create_custom_forward(func): @@ -739,10 +744,10 @@ def custom_forward(*inputs): return custom_forward - return torch.utils.checkpoint.checkpoint(create_custom_forward(self._forward), img, txt, vec, pe) + return torch.utils.checkpoint.checkpoint(create_custom_forward(self._forward), img, txt, vec, pe, txt_attention_mask) else: - return self._forward(img, txt, vec, pe) + return self._forward(img, txt, vec, pe, txt_attention_mask) # def forward(self, img: Tensor, txt: Tensor, vec: Tensor, pe: Tensor): # if self.training and self.gradient_checkpointing: @@ -992,6 +997,7 @@ def forward( timesteps: Tensor, y: Tensor, guidance: Tensor | None = None, + txt_attention_mask: Tensor | None = None, ) -> Tensor: if img.ndim != 3 or txt.ndim != 3: raise ValueError("Input img and txt tensors must have 3 dimensions.") @@ -1011,7 +1017,7 @@ def forward( if not self.double_blocks_to_swap: for block in self.double_blocks: - img, txt = block(img=img, txt=txt, vec=vec, pe=pe) + img, txt = block(img=img, txt=txt, vec=vec, pe=pe, txt_attention_mask=txt_attention_mask) else: # make sure first n blocks are on cuda, and last n blocks are on cpu at beginning for block_idx in range(self.double_blocks_to_swap): @@ -1033,7 +1039,7 @@ def forward( block.to(self.device) # move to cuda # print(f"Moved double block {block_idx} to cuda.") - img, txt = block(img=img, txt=txt, vec=vec, pe=pe) + img, txt = block(img=img, txt=txt, vec=vec, pe=pe, txt_attention_mask=txt_attention_mask) if moving: self.double_blocks[to_cpu_block_index].to("cpu") # , non_blocking=True) @@ -1164,6 +1170,7 @@ def forward( timesteps: Tensor, y: Tensor, guidance: Tensor | None = None, + txt_attention_mask: Tensor | None = None, ) -> Tensor: if img.ndim != 3 or txt.ndim != 3: raise ValueError("Input img and txt tensors must have 3 dimensions.") @@ -1182,7 +1189,7 @@ def forward( pe = self.pe_embedder(ids) for block in self.double_blocks: - img, txt = block(img=img, txt=txt, vec=vec, pe=pe) + img, txt = block(img=img, txt=txt, vec=vec, pe=pe, txt_attention_mask=txt_attention_mask) return img, txt, vec, pe diff --git a/library/flux_train_utils.py b/library/flux_train_utils.py index 3f9e8660f..1d3f80d72 100644 --- a/library/flux_train_utils.py +++ b/library/flux_train_utils.py @@ -190,9 +190,10 @@ def sample_image_inference( te_outputs = sample_prompts_te_outputs[prompt] else: tokens_and_masks = tokenize_strategy.tokenize(prompt) + # strategy has apply_t5_attn_mask option te_outputs = encoding_strategy.encode_tokens(tokenize_strategy, text_encoders, tokens_and_masks) - l_pooled, t5_out, txt_ids = te_outputs + l_pooled, t5_out, txt_ids, t5_attn_mask = te_outputs # sample image weight_dtype = ae.dtype # TOFO give dtype as argument @@ -208,9 +209,10 @@ def sample_image_inference( ) timesteps = get_schedule(sample_steps, noise.shape[1], shift=True) # FLUX.1 dev -> shift=True img_ids = flux_utils.prepare_img_ids(1, packed_latent_height, packed_latent_width).to(accelerator.device, weight_dtype) + t5_attn_mask = t5_attn_mask.to(accelerator.device) if args.apply_t5_attn_mask else None with accelerator.autocast(), torch.no_grad(): - x = denoise(flux, noise, img_ids, t5_out, txt_ids, l_pooled, timesteps=timesteps, guidance=scale) + x = denoise(flux, noise, img_ids, t5_out, txt_ids, l_pooled, timesteps=timesteps, guidance=scale, t5_attn_mask=t5_attn_mask) x = x.float() x = flux_utils.unpack_latents(x, packed_latent_height, packed_latent_width) @@ -289,12 +291,22 @@ def denoise( vec: torch.Tensor, timesteps: list[float], guidance: float = 4.0, + t5_attn_mask: Optional[torch.Tensor] = None, ): # this is ignored for schnell guidance_vec = torch.full((img.shape[0],), guidance, device=img.device, dtype=img.dtype) for t_curr, t_prev in zip(tqdm(timesteps[:-1]), timesteps[1:]): t_vec = torch.full((img.shape[0],), t_curr, dtype=img.dtype, device=img.device) - pred = model(img=img, img_ids=img_ids, txt=txt, txt_ids=txt_ids, y=vec, timesteps=t_vec, guidance=guidance_vec) + pred = model( + img=img, + img_ids=img_ids, + txt=txt, + txt_ids=txt_ids, + y=vec, + timesteps=t_vec, + guidance=guidance_vec, + txt_attention_mask=t5_attn_mask, + ) img = img + (t_prev - t_curr) * pred @@ -498,7 +510,7 @@ def add_flux_train_arguments(parser: argparse.ArgumentParser): parser.add_argument( "--apply_t5_attn_mask", action="store_true", - help="apply attention mask (zero embs) to T5-XXL / T5-XXLにアテンションマスク(ゼロ埋め)を適用する", + help="apply attention mask to T5-XXL encode and FLUX double blocks / T5-XXLエンコードとFLUXダブルブロックにアテンションマスクを適用する", ) parser.add_argument( "--cache_text_encoder_outputs", action="store_true", help="cache text encoder outputs / text encoderの出力をキャッシュする" diff --git a/library/strategy_flux.py b/library/strategy_flux.py index 5c620f3d6..737af390a 100644 --- a/library/strategy_flux.py +++ b/library/strategy_flux.py @@ -64,22 +64,25 @@ def encode_tokens( l_tokens, t5_tokens = tokens[:2] t5_attn_mask = tokens[2] if len(tokens) > 2 else None + # clip_l is None when using T5 only if clip_l is not None and l_tokens is not None: l_pooled = clip_l(l_tokens.to(clip_l.device))["pooler_output"] else: l_pooled = None + # t5xxl is None when using CLIP only if t5xxl is not None and t5_tokens is not None: # t5_out is [b, max length, 4096] - t5_out, _ = t5xxl(t5_tokens.to(t5xxl.device), return_dict=False, output_hidden_states=True) - if apply_t5_attn_mask: - t5_out = t5_out * t5_attn_mask.to(t5_out.device).unsqueeze(-1) + attention_mask = None if not apply_t5_attn_mask else t5_attn_mask.to(t5xxl.device) + t5_out, _ = t5xxl(t5_tokens.to(t5xxl.device), attention_mask, return_dict=False, output_hidden_states=True) + # if zero_pad_t5_output: + # t5_out = t5_out * t5_attn_mask.to(t5_out.device).unsqueeze(-1) txt_ids = torch.zeros(t5_out.shape[0], t5_out.shape[1], 3, device=t5_out.device) else: t5_out = None txt_ids = None - return [l_pooled, t5_out, txt_ids] + return [l_pooled, t5_out, txt_ids, t5_attn_mask] # returns t5_attn_mask for attention mask in transformer class FluxTextEncoderOutputsCachingStrategy(TextEncoderOutputsCachingStrategy): @@ -115,6 +118,8 @@ def is_disk_cached_outputs_expected(self, npz_path: str): return False if "txt_ids" not in npz: return False + if "t5_attn_mask" not in npz: + return False except Exception as e: logger.error(f"Error loading file: {npz_path}") raise e @@ -129,12 +134,12 @@ def load_outputs_npz(self, npz_path: str) -> List[np.ndarray]: l_pooled = data["l_pooled"] t5_out = data["t5_out"] txt_ids = data["txt_ids"] + t5_attn_mask = data["t5_attn_mask"] if self.apply_t5_attn_mask: - t5_attn_mask = data["t5_attn_mask"] t5_out = self.mask_t5_attn(t5_out, t5_attn_mask) - return [l_pooled, t5_out, txt_ids] + return [l_pooled, t5_out, txt_ids, t5_attn_mask] def cache_batch_outputs( self, tokenize_strategy: TokenizeStrategy, models: List[Any], text_encoding_strategy: TextEncodingStrategy, infos: List @@ -145,7 +150,7 @@ def cache_batch_outputs( tokens_and_masks = tokenize_strategy.tokenize(captions) with torch.no_grad(): # attn_mask is not applied when caching to disk: it is applied when loading from disk - l_pooled, t5_out, txt_ids = flux_text_encoding_strategy.encode_tokens( + l_pooled, t5_out, txt_ids, _ = flux_text_encoding_strategy.encode_tokens( tokenize_strategy, models, tokens_and_masks, not self.cache_to_disk ) @@ -159,15 +164,15 @@ def cache_batch_outputs( l_pooled = l_pooled.cpu().numpy() t5_out = t5_out.cpu().numpy() txt_ids = txt_ids.cpu().numpy() + t5_attn_mask = tokens_and_masks[2].cpu().numpy() for i, info in enumerate(infos): l_pooled_i = l_pooled[i] t5_out_i = t5_out[i] txt_ids_i = txt_ids[i] + t5_attn_mask_i = t5_attn_mask[i] if self.cache_to_disk: - t5_attn_mask = tokens_and_masks[2] - t5_attn_mask_i = t5_attn_mask[i].cpu().numpy() np.savez( info.text_encoder_outputs_npz, l_pooled=l_pooled_i, @@ -176,7 +181,7 @@ def cache_batch_outputs( t5_attn_mask=t5_attn_mask_i, ) else: - info.text_encoder_outputs = (l_pooled_i, t5_out_i, txt_ids_i) + info.text_encoder_outputs = (l_pooled_i, t5_out_i, txt_ids_i, t5_attn_mask_i) class FluxLatentsCachingStrategy(LatentsCachingStrategy): From e17c42cb0de8a1303a607ecc75af092dc12dc272 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Wed, 21 Aug 2024 12:28:45 +0900 Subject: [PATCH 166/748] Add BFL/Diffusers LoRA converter #1467 #1458 #1483 --- networks/convert_flux_lora.py | 403 ++++++++++++++++++++++++++++++++++ 1 file changed, 403 insertions(+) create mode 100644 networks/convert_flux_lora.py diff --git a/networks/convert_flux_lora.py b/networks/convert_flux_lora.py new file mode 100644 index 000000000..dd962ebfe --- /dev/null +++ b/networks/convert_flux_lora.py @@ -0,0 +1,403 @@ +# convert key mapping and data format from some LoRA format to another +""" +Original LoRA format: Based on Black Forest Labs, QKV and MLP are unified into one module +alpha is scalar for each LoRA module + +0 to 18 +lora_unet_double_blocks_0_img_attn_proj.alpha torch.Size([]) +lora_unet_double_blocks_0_img_attn_proj.lora_down.weight torch.Size([4, 3072]) +lora_unet_double_blocks_0_img_attn_proj.lora_up.weight torch.Size([3072, 4]) +lora_unet_double_blocks_0_img_attn_qkv.alpha torch.Size([]) +lora_unet_double_blocks_0_img_attn_qkv.lora_down.weight torch.Size([4, 3072]) +lora_unet_double_blocks_0_img_attn_qkv.lora_up.weight torch.Size([9216, 4]) +lora_unet_double_blocks_0_img_mlp_0.alpha torch.Size([]) +lora_unet_double_blocks_0_img_mlp_0.lora_down.weight torch.Size([4, 3072]) +lora_unet_double_blocks_0_img_mlp_0.lora_up.weight torch.Size([12288, 4]) +lora_unet_double_blocks_0_img_mlp_2.alpha torch.Size([]) +lora_unet_double_blocks_0_img_mlp_2.lora_down.weight torch.Size([4, 12288]) +lora_unet_double_blocks_0_img_mlp_2.lora_up.weight torch.Size([3072, 4]) +lora_unet_double_blocks_0_img_mod_lin.alpha torch.Size([]) +lora_unet_double_blocks_0_img_mod_lin.lora_down.weight torch.Size([4, 3072]) +lora_unet_double_blocks_0_img_mod_lin.lora_up.weight torch.Size([18432, 4]) +lora_unet_double_blocks_0_txt_attn_proj.alpha torch.Size([]) +lora_unet_double_blocks_0_txt_attn_proj.lora_down.weight torch.Size([4, 3072]) +lora_unet_double_blocks_0_txt_attn_proj.lora_up.weight torch.Size([3072, 4]) +lora_unet_double_blocks_0_txt_attn_qkv.alpha torch.Size([]) +lora_unet_double_blocks_0_txt_attn_qkv.lora_down.weight torch.Size([4, 3072]) +lora_unet_double_blocks_0_txt_attn_qkv.lora_up.weight torch.Size([9216, 4]) +lora_unet_double_blocks_0_txt_mlp_0.alpha torch.Size([]) +lora_unet_double_blocks_0_txt_mlp_0.lora_down.weight torch.Size([4, 3072]) +lora_unet_double_blocks_0_txt_mlp_0.lora_up.weight torch.Size([12288, 4]) +lora_unet_double_blocks_0_txt_mlp_2.alpha torch.Size([]) +lora_unet_double_blocks_0_txt_mlp_2.lora_down.weight torch.Size([4, 12288]) +lora_unet_double_blocks_0_txt_mlp_2.lora_up.weight torch.Size([3072, 4]) +lora_unet_double_blocks_0_txt_mod_lin.alpha torch.Size([]) +lora_unet_double_blocks_0_txt_mod_lin.lora_down.weight torch.Size([4, 3072]) +lora_unet_double_blocks_0_txt_mod_lin.lora_up.weight torch.Size([18432, 4]) + +0 to 37 +lora_unet_single_blocks_0_linear1.alpha torch.Size([]) +lora_unet_single_blocks_0_linear1.lora_down.weight torch.Size([4, 3072]) +lora_unet_single_blocks_0_linear1.lora_up.weight torch.Size([21504, 4]) +lora_unet_single_blocks_0_linear2.alpha torch.Size([]) +lora_unet_single_blocks_0_linear2.lora_down.weight torch.Size([4, 15360]) +lora_unet_single_blocks_0_linear2.lora_up.weight torch.Size([3072, 4]) +lora_unet_single_blocks_0_modulation_lin.alpha torch.Size([]) +lora_unet_single_blocks_0_modulation_lin.lora_down.weight torch.Size([4, 3072]) +lora_unet_single_blocks_0_modulation_lin.lora_up.weight torch.Size([9216, 4]) +""" +""" +ai-toolkit: Based on Diffusers, QKV and MLP are separated into 3 modules. +A is down, B is up. No alpha for each LoRA module. + +0 to 18 +transformer.transformer_blocks.0.attn.add_k_proj.lora_A.weight torch.Size([16, 3072]) +transformer.transformer_blocks.0.attn.add_k_proj.lora_B.weight torch.Size([3072, 16]) +transformer.transformer_blocks.0.attn.add_q_proj.lora_A.weight torch.Size([16, 3072]) +transformer.transformer_blocks.0.attn.add_q_proj.lora_B.weight torch.Size([3072, 16]) +transformer.transformer_blocks.0.attn.add_v_proj.lora_A.weight torch.Size([16, 3072]) +transformer.transformer_blocks.0.attn.add_v_proj.lora_B.weight torch.Size([3072, 16]) +transformer.transformer_blocks.0.attn.to_add_out.lora_A.weight torch.Size([16, 3072]) +transformer.transformer_blocks.0.attn.to_add_out.lora_B.weight torch.Size([3072, 16]) +transformer.transformer_blocks.0.attn.to_k.lora_A.weight torch.Size([16, 3072]) +transformer.transformer_blocks.0.attn.to_k.lora_B.weight torch.Size([3072, 16]) +transformer.transformer_blocks.0.attn.to_out.0.lora_A.weight torch.Size([16, 3072]) +transformer.transformer_blocks.0.attn.to_out.0.lora_B.weight torch.Size([3072, 16]) +transformer.transformer_blocks.0.attn.to_q.lora_A.weight torch.Size([16, 3072]) +transformer.transformer_blocks.0.attn.to_q.lora_B.weight torch.Size([3072, 16]) +transformer.transformer_blocks.0.attn.to_v.lora_A.weight torch.Size([16, 3072]) +transformer.transformer_blocks.0.attn.to_v.lora_B.weight torch.Size([3072, 16]) +transformer.transformer_blocks.0.ff.net.0.proj.lora_A.weight torch.Size([16, 3072]) +transformer.transformer_blocks.0.ff.net.0.proj.lora_B.weight torch.Size([12288, 16]) +transformer.transformer_blocks.0.ff.net.2.lora_A.weight torch.Size([16, 12288]) +transformer.transformer_blocks.0.ff.net.2.lora_B.weight torch.Size([3072, 16]) +transformer.transformer_blocks.0.ff_context.net.0.proj.lora_A.weight torch.Size([16, 3072]) +transformer.transformer_blocks.0.ff_context.net.0.proj.lora_B.weight torch.Size([12288, 16]) +transformer.transformer_blocks.0.ff_context.net.2.lora_A.weight torch.Size([16, 12288]) +transformer.transformer_blocks.0.ff_context.net.2.lora_B.weight torch.Size([3072, 16]) +transformer.transformer_blocks.0.norm1.linear.lora_A.weight torch.Size([16, 3072]) +transformer.transformer_blocks.0.norm1.linear.lora_B.weight torch.Size([18432, 16]) +transformer.transformer_blocks.0.norm1_context.linear.lora_A.weight torch.Size([16, 3072]) +transformer.transformer_blocks.0.norm1_context.linear.lora_B.weight torch.Size([18432, 16]) + +0 to 37 +transformer.single_transformer_blocks.0.attn.to_k.lora_A.weight torch.Size([16, 3072]) +transformer.single_transformer_blocks.0.attn.to_k.lora_B.weight torch.Size([3072, 16]) +transformer.single_transformer_blocks.0.attn.to_q.lora_A.weight torch.Size([16, 3072]) +transformer.single_transformer_blocks.0.attn.to_q.lora_B.weight torch.Size([3072, 16]) +transformer.single_transformer_blocks.0.attn.to_v.lora_A.weight torch.Size([16, 3072]) +transformer.single_transformer_blocks.0.attn.to_v.lora_B.weight torch.Size([3072, 16]) +transformer.single_transformer_blocks.0.norm.linear.lora_A.weight torch.Size([16, 3072]) +transformer.single_transformer_blocks.0.norm.linear.lora_B.weight torch.Size([9216, 16]) +transformer.single_transformer_blocks.0.proj_mlp.lora_A.weight torch.Size([16, 3072]) +transformer.single_transformer_blocks.0.proj_mlp.lora_B.weight torch.Size([12288, 16]) +transformer.single_transformer_blocks.0.proj_out.lora_A.weight torch.Size([16, 15360]) +transformer.single_transformer_blocks.0.proj_out.lora_B.weight torch.Size([3072, 16]) +""" +""" +xlabs: Unknown format. +0 to 18 +double_blocks.0.processor.proj_lora1.down.weight torch.Size([16, 3072]) +double_blocks.0.processor.proj_lora1.up.weight torch.Size([3072, 16]) +double_blocks.0.processor.proj_lora2.down.weight torch.Size([16, 3072]) +double_blocks.0.processor.proj_lora2.up.weight torch.Size([3072, 16]) +double_blocks.0.processor.qkv_lora1.down.weight torch.Size([16, 3072]) +double_blocks.0.processor.qkv_lora1.up.weight torch.Size([9216, 16]) +double_blocks.0.processor.qkv_lora2.down.weight torch.Size([16, 3072]) +double_blocks.0.processor.qkv_lora2.up.weight torch.Size([9216, 16]) +""" + + +import argparse +from safetensors.torch import save_file +from safetensors import safe_open +import torch + + +from library.utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + + +def convert_to_sd_scripts(sds_sd, ait_sd, sds_key, ait_key): + ait_down_key = ait_key + ".lora_A.weight" + if ait_down_key not in ait_sd: + return + ait_up_key = ait_key + ".lora_B.weight" + + down_weight = ait_sd.pop(ait_down_key) + sds_sd[sds_key + ".lora_down.weight"] = down_weight + sds_sd[sds_key + ".lora_up.weight"] = ait_sd.pop(ait_up_key) + rank = down_weight.shape[0] + sds_sd[sds_key + ".alpha"] = torch.scalar_tensor(rank, dtype=down_weight.dtype, device=down_weight.device) + + +def convert_to_sd_scripts_cat(sds_sd, ait_sd, sds_key, ait_keys): + ait_down_keys = [k + ".lora_A.weight" for k in ait_keys] + if ait_down_keys[0] not in ait_sd: + return + ait_up_keys = [k + ".lora_B.weight" for k in ait_keys] + + down_weights = [ait_sd.pop(k) for k in ait_down_keys] + up_weights = [ait_sd.pop(k) for k in ait_up_keys] + + # lora_down is concatenated along dim=0, so rank is multiplied by the number of splits + rank = down_weights[0].shape[0] + num_splits = len(ait_keys) + sds_sd[sds_key + ".lora_down.weight"] = torch.cat(down_weights, dim=0) + + merged_up_weights = torch.zeros( + (sum(w.shape[0] for w in up_weights), rank * num_splits), + dtype=up_weights[0].dtype, + device=up_weights[0].device, + ) + + i = 0 + for j, up_weight in enumerate(up_weights): + merged_up_weights[i : i + up_weight.shape[0], j * rank : (j + 1) * rank] = up_weight + i += up_weight.shape[0] + + sds_sd[sds_key + ".lora_up.weight"] = merged_up_weights + + # set alpha to new_rank + new_rank = rank * num_splits + sds_sd[sds_key + ".alpha"] = torch.scalar_tensor(new_rank, dtype=down_weights[0].dtype, device=down_weights[0].device) + + +def convert_ai_toolkit_to_sd_scripts(ait_sd): + sds_sd = {} + for i in range(19): + convert_to_sd_scripts( + sds_sd, ait_sd, f"lora_unet_double_blocks_{i}_img_attn_proj", f"transformer.transformer_blocks.{i}.attn.to_out.0" + ) + convert_to_sd_scripts_cat( + sds_sd, + ait_sd, + f"lora_unet_double_blocks_{i}_img_attn_qkv", + [ + f"transformer.transformer_blocks.{i}.attn.to_q", + f"transformer.transformer_blocks.{i}.attn.to_k", + f"transformer.transformer_blocks.{i}.attn.to_v", + ], + ) + convert_to_sd_scripts( + sds_sd, ait_sd, f"lora_unet_double_blocks_{i}_img_mlp_0", f"transformer.transformer_blocks.{i}.ff.net.0.proj" + ) + convert_to_sd_scripts( + sds_sd, ait_sd, f"lora_unet_double_blocks_{i}_img_mlp_2", f"transformer.transformer_blocks.{i}.ff.net.2" + ) + convert_to_sd_scripts( + sds_sd, ait_sd, f"lora_unet_double_blocks_{i}_img_mod_lin", f"transformer.transformer_blocks.{i}.norm1.linear" + ) + convert_to_sd_scripts( + sds_sd, ait_sd, f"lora_unet_double_blocks_{i}_txt_attn_proj", f"transformer.transformer_blocks.{i}.attn.to_add_out" + ) + convert_to_sd_scripts_cat( + sds_sd, + ait_sd, + f"lora_unet_double_blocks_{i}_txt_attn_qkv", + [ + f"transformer.transformer_blocks.{i}.attn.add_q_proj", + f"transformer.transformer_blocks.{i}.attn.add_k_proj", + f"transformer.transformer_blocks.{i}.attn.add_v_proj", + ], + ) + convert_to_sd_scripts( + sds_sd, ait_sd, f"lora_unet_double_blocks_{i}_txt_mlp_0", f"transformer.transformer_blocks.{i}.ff_context.net.0.proj" + ) + convert_to_sd_scripts( + sds_sd, ait_sd, f"lora_unet_double_blocks_{i}_txt_mlp_2", f"transformer.transformer_blocks.{i}.ff_context.net.2" + ) + convert_to_sd_scripts( + sds_sd, ait_sd, f"lora_unet_double_blocks_{i}_txt_mod_lin", f"transformer.transformer_blocks.{i}.norm1_context.linear" + ) + + for i in range(38): + convert_to_sd_scripts_cat( + sds_sd, + ait_sd, + f"lora_unet_single_blocks_{i}_linear1", + [ + f"transformer.single_transformer_blocks.{i}.attn.to_q", + f"transformer.single_transformer_blocks.{i}.attn.to_k", + f"transformer.single_transformer_blocks.{i}.attn.to_v", + f"transformer.single_transformer_blocks.{i}.proj_mlp", + ], + ) + convert_to_sd_scripts( + sds_sd, ait_sd, f"lora_unet_single_blocks_{i}_linear2", f"transformer.single_transformer_blocks.{i}.proj_out" + ) + convert_to_sd_scripts( + sds_sd, ait_sd, f"lora_unet_single_blocks_{i}_modulation_lin", f"transformer.single_transformer_blocks.{i}.norm.linear" + ) + + if len(ait_sd) > 0: + logger.warning(f"Unsuppored keys for sd-scripts: {ait_sd.keys()}") + return sds_sd + + +def convert_to_ai_toolkit(sds_sd, ait_sd, sds_key, ait_key): + if sds_key + ".lora_down.weight" not in sds_sd: + return + down_weight = sds_sd.pop(sds_key + ".lora_down.weight") + + # scale weight by alpha and dim + rank = down_weight.shape[0] + alpha = sds_sd.pop(sds_key + ".alpha").item() # alpha is scalar + scale = alpha / rank # LoRA is scaled by 'alpha / rank' in forward pass, so we need to scale it back here + print(f"rank: {rank}, alpha: {alpha}, scale: {scale}") + + # calculate scale_down and scale_up to keep the same value. if scale is 4, scale_down is 2 and scale_up is 2 + scale_down = scale + scale_up = 1.0 + while scale_down * 2 < scale_up: + scale_down *= 2 + scale_up /= 2 + # print(f"scale: {scale}, scale_down: {scale_down}, scale_up: {scale_up}") + + ait_sd[ait_key + ".lora_A.weight"] = down_weight * scale_down + ait_sd[ait_key + ".lora_B.weight"] = sds_sd.pop(sds_key + ".lora_up.weight") * scale_up + + +def convert_to_ai_toolkit_cat(sds_sd, ait_sd, sds_key, ait_keys, dims=None): + if sds_key + ".lora_down.weight" not in sds_sd: + return + down_weight = sds_sd.pop(sds_key + ".lora_down.weight") + + # scale weight by alpha and dim + rank = down_weight.shape[0] + alpha = sds_sd.pop(sds_key + ".alpha") + scale = alpha / rank + + # calculate scale_down and scale_up + scale_down = scale + scale_up = 1.0 + while scale_down * 2 < scale_up: + scale_down *= 2 + scale_up /= 2 + + ait_down_keys = [k + ".lora_A.weight" for k in ait_keys] + ait_up_keys = [k + ".lora_B.weight" for k in ait_keys] + + num_splits = len(ait_keys) + up_weight = sds_sd.pop(sds_key + ".lora_up.weight") + + # down_weight is copied to each split + ait_sd.update({k: down_weight * scale_down for k in ait_down_keys}) + + # calculate dims if not provided + if dims is None: + dims = [up_weight.shape[0] // num_splits] * num_splits + else: + assert sum(dims) == up_weight.shape[0] + + # up_weight is split to each split + ait_sd.update({k: v * scale_up for k, v in zip(ait_up_keys, torch.split(up_weight, dims, dim=0))}) + + +def convert_sd_scripts_to_ai_toolkit(sds_sd): + ait_sd = {} + for i in range(19): + convert_to_ai_toolkit( + sds_sd, ait_sd, f"lora_unet_double_blocks_{i}_img_attn_proj", f"transformer.transformer_blocks.{i}.attn.to_out.0" + ) + convert_to_ai_toolkit_cat( + sds_sd, + ait_sd, + f"lora_unet_double_blocks_{i}_img_attn_qkv", + [ + f"transformer.transformer_blocks.{i}.attn.to_q", + f"transformer.transformer_blocks.{i}.attn.to_k", + f"transformer.transformer_blocks.{i}.attn.to_v", + ], + ) + convert_to_ai_toolkit( + sds_sd, ait_sd, f"lora_unet_double_blocks_{i}_img_mlp_0", f"transformer.transformer_blocks.{i}.ff.net.0.proj" + ) + convert_to_ai_toolkit( + sds_sd, ait_sd, f"lora_unet_double_blocks_{i}_img_mlp_2", f"transformer.transformer_blocks.{i}.ff.net.2" + ) + convert_to_ai_toolkit( + sds_sd, ait_sd, f"lora_unet_double_blocks_{i}_img_mod_lin", f"transformer.transformer_blocks.{i}.norm1.linear" + ) + convert_to_ai_toolkit( + sds_sd, ait_sd, f"lora_unet_double_blocks_{i}_txt_attn_proj", f"transformer.transformer_blocks.{i}.attn.to_add_out" + ) + convert_to_ai_toolkit_cat( + sds_sd, + ait_sd, + f"lora_unet_double_blocks_{i}_txt_attn_qkv", + [ + f"transformer.transformer_blocks.{i}.attn.add_q_proj", + f"transformer.transformer_blocks.{i}.attn.add_k_proj", + f"transformer.transformer_blocks.{i}.attn.add_v_proj", + ], + ) + convert_to_ai_toolkit( + sds_sd, ait_sd, f"lora_unet_double_blocks_{i}_txt_mlp_0", f"transformer.transformer_blocks.{i}.ff_context.net.0.proj" + ) + convert_to_ai_toolkit( + sds_sd, ait_sd, f"lora_unet_double_blocks_{i}_txt_mlp_2", f"transformer.transformer_blocks.{i}.ff_context.net.2" + ) + convert_to_ai_toolkit( + sds_sd, ait_sd, f"lora_unet_double_blocks_{i}_txt_mod_lin", f"transformer.transformer_blocks.{i}.norm1_context.linear" + ) + + for i in range(38): + convert_to_ai_toolkit_cat( + sds_sd, + ait_sd, + f"lora_unet_single_blocks_{i}_linear1", + [ + f"transformer.single_transformer_blocks.{i}.attn.to_q", + f"transformer.single_transformer_blocks.{i}.attn.to_k", + f"transformer.single_transformer_blocks.{i}.attn.to_v", + f"transformer.single_transformer_blocks.{i}.proj_mlp", + ], + dims=[3072, 3072, 3072, 12288], + ) + convert_to_ai_toolkit( + sds_sd, ait_sd, f"lora_unet_single_blocks_{i}_linear2", f"transformer.single_transformer_blocks.{i}.proj_out" + ) + convert_to_ai_toolkit( + sds_sd, ait_sd, f"lora_unet_single_blocks_{i}_modulation_lin", f"transformer.single_transformer_blocks.{i}.norm.linear" + ) + + if len(sds_sd) > 0: + logger.warning(f"Unsuppored keys for ai-toolkit: {sds_sd.keys()}") + return ait_sd + + +def main(args): + # load source safetensors + logger.info(f"Loading source file {args.src_path}") + state_dict = {} + with safe_open(args.src_path, framework="pt") as f: + metadata = f.metadata() + for k in f.keys(): + state_dict[k] = f.get_tensor(k) + + logger.info(f"Converting {args.src} to {args.dst} format") + if args.src == "ai-toolkit" and args.dst == "sd-scripts": + state_dict = convert_ai_toolkit_to_sd_scripts(state_dict) + elif args.src == "sd-scripts" and args.dst == "ai-toolkit": + state_dict = convert_sd_scripts_to_ai_toolkit(state_dict) + else: + raise NotImplementedError(f"Conversion from {args.src} to {args.dst} is not supported") + + # save destination safetensors + logger.info(f"Saving destination file {args.dst_path}") + save_file(state_dict, args.dst_path, metadata=metadata) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="Convert LoRA format") + parser.add_argument("--src", type=str, default="ai-toolkit", help="source format, ai-toolkit or sd-scripts") + parser.add_argument("--dst", type=str, default="sd-scripts", help="destination format, ai-toolkit or sd-scripts") + parser.add_argument("--src_path", type=str, default=None, help="source path") + parser.add_argument("--dst_path", type=str, default=None, help="destination path") + args = parser.parse_args() + main(args) From 2b07a92c8d970a8538a47dd1bcad3122da4e195a Mon Sep 17 00:00:00 2001 From: Kohya S Date: Wed, 21 Aug 2024 12:30:23 +0900 Subject: [PATCH 167/748] Fix error in applying mask in Attention and add LoRA converter script --- README.md | 6 ++++++ library/flux_models.py | 5 +++-- networks/convert_flux_lora.py | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 43edbbed6..f4056851f 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,12 @@ __Please update PyTorch to 2.4.0. We have tested with `torch==2.4.0` and `torchv The command to install PyTorch is as follows: `pip3 install torch==2.4.0 torchvision==0.19.0 --index-url https://download.pytorch.org/whl/cu124` +Aug 21, 2024 (update 2): +Fixed an error in applying mask in Attention. The attention mask was float, but it should be bool. + +Added a script `convert_flux_lora.py` to convert LoRA between sd-scripts format (BFL-based) and AI-toolkit format (Diffusers-based). See `--help` for details. BFL-based LoRA has a large module, so converting it to Diffusers format may reduce temporary memory usage in the inference environment. Note that re-conversion will increase the size of LoRA. + + Aug 21, 2024: The specification of `--apply_t5_attn_mask` has been changed. Previously, the T5 output was zero-padded, but now, two steps are taken: "1. Apply mask when encoding T5" and "2. Apply mask in the attention of Double Block". Fine tuning, LoRA training, and inference in `flux_mini_inference.py` have been changed. diff --git a/library/flux_models.py b/library/flux_models.py index 6f28da603..e38119cd7 100644 --- a/library/flux_models.py +++ b/library/flux_models.py @@ -708,9 +708,10 @@ def _forward( # make attention mask if not None attn_mask = None if txt_attention_mask is not None: - attn_mask = txt_attention_mask # b, seq_len + # F.scaled_dot_product_attention expects attn_mask to be bool for binary mask + attn_mask = txt_attention_mask.to(torch.bool) # b, seq_len attn_mask = torch.cat( - (attn_mask, torch.ones(attn_mask.shape[0], img.shape[1]).to(attn_mask.device)), dim=1 + (attn_mask, torch.ones(attn_mask.shape[0], img.shape[1], device=attn_mask.device, dtype=torch.bool)), dim=1 ) # b, seq_len + img_len # broadcast attn_mask to all heads diff --git a/networks/convert_flux_lora.py b/networks/convert_flux_lora.py index dd962ebfe..e9743534d 100644 --- a/networks/convert_flux_lora.py +++ b/networks/convert_flux_lora.py @@ -248,7 +248,7 @@ def convert_to_ai_toolkit(sds_sd, ait_sd, sds_key, ait_key): rank = down_weight.shape[0] alpha = sds_sd.pop(sds_key + ".alpha").item() # alpha is scalar scale = alpha / rank # LoRA is scaled by 'alpha / rank' in forward pass, so we need to scale it back here - print(f"rank: {rank}, alpha: {alpha}, scale: {scale}") + # print(f"rank: {rank}, alpha: {alpha}, scale: {scale}") # calculate scale_down and scale_up to keep the same value. if scale is 4, scale_down is 2 and scale_up is 2 scale_down = scale From e1cd19c0c0ef55709e8eb1e5babe25045f65031f Mon Sep 17 00:00:00 2001 From: Kohya S Date: Wed, 21 Aug 2024 21:04:10 +0900 Subject: [PATCH 168/748] add stochastic rounding, fix single block --- README.md | 19 ++++++-- flux_train.py | 95 ++++++++++++++++++++++++++++++++++---- library/adafactor_fused.py | 36 ++++++++++++++- library/flux_models.py | 1 + 4 files changed, 136 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index f4056851f..45349ba38 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,15 @@ __Please update PyTorch to 2.4.0. We have tested with `torch==2.4.0` and `torchv The command to install PyTorch is as follows: `pip3 install torch==2.4.0 torchvision==0.19.0 --index-url https://download.pytorch.org/whl/cu124` +Aug 21, 2024 (update 3): +- There is a bug that `--full_bf16` option is enabled even if it is not specified in `flux_train.py`. The bug will be fixed sooner. __Please specify the `--full_bf16` option explicitly, especially when training with 24GB VRAM.__ +- Stochastic rounding is now implemented when `--fused_backward_pass` is specified. The implementation is +based on the code provided by 2kpr. Thank you so much! + - With this change, `--fused_backward_pass` is recommended over `--blockwise_fused_optimizers` when `--full_bf16` is specified. + - Please note that `--fused_backward_pass` is only supported with Adafactor. +- The sample command in [FLUX.1 fine-tuning](#flux1-fine-tuning) is updated to reflect these changes. +- Fixed `--single_blocks_to_swap` is not working in `flux_train.py`. + Aug 21, 2024 (update 2): Fixed an error in applying mask in Attention. The attention mask was float, but it should be bool. @@ -142,7 +151,7 @@ accelerate launch --mixed_precision bf16 --num_cpu_threads_per_process 1 flux_t --learning_rate 5e-5 --max_train_epochs 4 --sdpa --highvram --cache_text_encoder_outputs_to_disk --cache_latents_to_disk --save_every_n_epochs 1 --optimizer_type adafactor --optimizer_args "relative_step=False" "scale_parameter=False" "warmup_init=False" --timestep_sampling sigmoid --model_prediction_type raw --guidance_scale 1.0 ---blockwise_fused_optimizers --double_blocks_to_swap 6 --cpu_offload_checkpointing +--fused_backward_pass --double_blocks_to_swap 6 --cpu_offload_checkpointing --full_bf16 ``` (Combine the command into one line.) @@ -151,9 +160,13 @@ Sample image generation during training is not tested yet. Options are almost the same as LoRA training. The difference is `--blockwise_fused_optimizers`, `--double_blocks_to_swap` and `--cpu_offload_checkpointing`. `--single_blocks_to_swap` is also available. -`--blockwise_fused_optimizers` enables the fusing of the optimizer for each block. This is similar to `--fused_backward_pass`. Any optimizer can be used, but Adafactor is recommended for memory efficiency. `--fused_optimizer_groups` is deprecated due to the addition of this option for FLUX.1 training. +`--full_bf16` enables the training with bf16 (weights and gradients). + +`--fused_backward_pass` enables the fusing of the optimizer step into the backward pass for each parameter. This reduces the memory usage during training. Only Adafactor optimizer is supported for now. Stochastic rounding is also enabled when `--fused_backward_pass` and `--full_bf16` are specified. + +`--blockwise_fused_optimizers` enables the fusing of the optimizer step into the backward pass for each block. This is similar to `--fused_backward_pass`. Any optimizer can be used, but Adafactor is recommended for memory efficiency. `--blockwise_fused_optimizers` cannot be used with `--fused_backward_pass`. Stochastic rounding is not supported for now. -`--double_blocks_to_swap` and `--single_blocks_to_swap` are the number of double blocks and single blocks to swap. The default is None (no swap). These options must be combined with `--blockwise_fused_optimizers`. +`--double_blocks_to_swap` and `--single_blocks_to_swap` are the number of double blocks and single blocks to swap. The default is None (no swap). These options must be combined with `--fused_backward_pass` or `--blockwise_fused_optimizers`. `--double_blocks_to_swap` can be specified with `--single_blocks_to_swap`. The recommended maximum number of blocks to swap is 9 for double blocks and 18 for single blocks. `--cpu_offload_checkpointing` is to offload the gradient checkpointing to CPU. This reduces about 2GB of VRAM usage. diff --git a/flux_train.py b/flux_train.py index ecb8a1086..bcf4b9564 100644 --- a/flux_train.py +++ b/flux_train.py @@ -277,7 +277,10 @@ def train(args): training_models = [] params_to_optimize = [] training_models.append(flux) - params_to_optimize.append({"params": list(flux.parameters()), "lr": args.learning_rate}) + name_and_params = list(flux.named_parameters()) + # single param group for now + params_to_optimize.append({"params": [p for _, p in name_and_params], "lr": args.learning_rate}) + param_names = [[n for n, _ in name_and_params]] # calculate number of trainable parameters n_params = 0 @@ -433,17 +436,89 @@ def train(args): import library.adafactor_fused library.adafactor_fused.patch_adafactor_fused(optimizer) - for param_group in optimizer.param_groups: - for parameter in param_group["params"]: - if parameter.requires_grad: - def __grad_hook(tensor: torch.Tensor, param_group=param_group): - if accelerator.sync_gradients and args.max_grad_norm != 0.0: - accelerator.clip_grad_norm_(tensor, args.max_grad_norm) - optimizer.step_param(tensor, param_group) - tensor.grad = None + double_blocks_to_swap = args.double_blocks_to_swap + single_blocks_to_swap = args.single_blocks_to_swap + num_double_blocks = len(flux.double_blocks) + num_single_blocks = len(flux.single_blocks) + handled_double_block_indices = set() + handled_single_block_indices = set() - parameter.register_post_accumulate_grad_hook(__grad_hook) + for param_group, param_name_group in zip(optimizer.param_groups, param_names): + for parameter, param_name in zip(param_group["params"], param_name_group): + if parameter.requires_grad: + grad_hook = None + + if double_blocks_to_swap: + if param_name.startswith("double_blocks"): + block_idx = int(param_name.split(".")[1]) + if ( + block_idx not in handled_double_block_indices + and block_idx >= (num_double_blocks - double_blocks_to_swap) - 1 + and block_idx < num_double_blocks - 1 + ): + # swap next (already backpropagated) block + handled_double_block_indices.add(block_idx) + block_idx_cpu = block_idx + 1 + block_idx_cuda = double_blocks_to_swap - (num_double_blocks - block_idx_cpu) + + # create swap hook + def create_double_swap_grad_hook(bidx, bidx_cuda): + def __grad_hook(tensor: torch.Tensor): + if accelerator.sync_gradients and args.max_grad_norm != 0.0: + accelerator.clip_grad_norm_(tensor, args.max_grad_norm) + optimizer.step_param(tensor, param_group) + tensor.grad = None + + # swap blocks if necessary + flux.double_blocks[bidx].to("cpu") + flux.double_blocks[bidx_cuda].to(accelerator.device) + # print(f"Move double block {bidx} to cpu and {bidx_cuda} to device") + + return __grad_hook + + grad_hook = create_double_swap_grad_hook(block_idx_cpu, block_idx_cuda) + if single_blocks_to_swap: + if param_name.startswith("single_blocks"): + block_idx = int(param_name.split(".")[1]) + if ( + block_idx not in handled_single_block_indices + and block_idx >= (num_single_blocks - single_blocks_to_swap) - 1 + and block_idx < num_single_blocks - 1 + ): + handled_single_block_indices.add(block_idx) + block_idx_cpu = block_idx + 1 + block_idx_cuda = single_blocks_to_swap - (num_single_blocks - block_idx_cpu) + # print(param_name, block_idx_cpu, block_idx_cuda) + + # create swap hook + def create_single_swap_grad_hook(bidx, bidx_cuda): + def __grad_hook(tensor: torch.Tensor): + if accelerator.sync_gradients and args.max_grad_norm != 0.0: + accelerator.clip_grad_norm_(tensor, args.max_grad_norm) + optimizer.step_param(tensor, param_group) + tensor.grad = None + + # swap blocks if necessary + flux.single_blocks[bidx].to("cpu") + flux.single_blocks[bidx_cuda].to(accelerator.device) + # print(f"Move single block {bidx} to cpu and {bidx_cuda} to device") + + return __grad_hook + + grad_hook = create_single_swap_grad_hook(block_idx_cpu, block_idx_cuda) + + if grad_hook is None: + + def __grad_hook(tensor: torch.Tensor, param_group=param_group): + if accelerator.sync_gradients and args.max_grad_norm != 0.0: + accelerator.clip_grad_norm_(tensor, args.max_grad_norm) + optimizer.step_param(tensor, param_group) + tensor.grad = None + + grad_hook = __grad_hook + + parameter.register_post_accumulate_grad_hook(grad_hook) elif args.blockwise_fused_optimizers: # prepare for additional optimizers and lr schedulers diff --git a/library/adafactor_fused.py b/library/adafactor_fused.py index bdfc32ced..b5afa236b 100644 --- a/library/adafactor_fused.py +++ b/library/adafactor_fused.py @@ -2,6 +2,32 @@ import torch from transformers import Adafactor +# stochastic rounding for bfloat16 +# The implementation was provided by 2kpr. Thank you very much! + +def copy_stochastic_(target: torch.Tensor, source: torch.Tensor): + """ + copies source into target using stochastic rounding + + Args: + target: the target tensor with dtype=bfloat16 + source: the target tensor with dtype=float32 + """ + # create a random 16 bit integer + result = torch.randint_like(source, dtype=torch.int32, low=0, high=(1 << 16)) + + # add the random number to the lower 16 bit of the mantissa + result.add_(source.view(dtype=torch.int32)) + + # mask off the lower 16 bit of the mantissa + result.bitwise_and_(-65536) # -65536 = FFFF0000 as a signed int32 + + # copy the higher 16 bit into the target tensor + target.copy_(result.view(dtype=torch.float32)) + + del result + + @torch.no_grad() def adafactor_step_param(self, p, group): if p.grad is None: @@ -48,7 +74,7 @@ def adafactor_step_param(self, p, group): lr = Adafactor._get_lr(group, state) beta2t = 1.0 - math.pow(state["step"], group["decay_rate"]) - update = (grad ** 2) + group["eps"][0] + update = (grad**2) + group["eps"][0] if factored: exp_avg_sq_row = state["exp_avg_sq_row"] exp_avg_sq_col = state["exp_avg_sq_col"] @@ -78,7 +104,12 @@ def adafactor_step_param(self, p, group): p_data_fp32.add_(-update) - if p.dtype in {torch.float16, torch.bfloat16}: + # if p.dtype in {torch.float16, torch.bfloat16}: + # p.copy_(p_data_fp32) + + if p.dtype == torch.bfloat16: + copy_stochastic_(p, p_data_fp32) + elif p.dtype == torch.float16: p.copy_(p_data_fp32) @@ -101,6 +132,7 @@ def adafactor_step(self, closure=None): return loss + def patch_adafactor_fused(optimizer: Adafactor): optimizer.step_param = adafactor_step_param.__get__(optimizer) optimizer.step = adafactor_step.__get__(optimizer) diff --git a/library/flux_models.py b/library/flux_models.py index e38119cd7..c98d52ec0 100644 --- a/library/flux_models.py +++ b/library/flux_models.py @@ -1078,6 +1078,7 @@ def forward( if moving: self.single_blocks[to_cpu_block_index].to("cpu") # , non_blocking=True) # print(f"Moved single block {to_cpu_block_index} to cpu.") + to_cpu_block_index += 1 img = img[:, txt.shape[1] :, ...] From 98c91a762513bbce9ebce137da720a448a3da6c9 Mon Sep 17 00:00:00 2001 From: kohya-ss Date: Thu, 22 Aug 2024 12:37:41 +0900 Subject: [PATCH 169/748] Fix bug in FLUX multi GPU training --- README.md | 6 +++ flux_train.py | 29 ++++++------- flux_train_network.py | 10 +++-- library/flux_models.py | 6 ++- library/flux_utils.py | 40 ++++++++++++++---- library/strategy_flux.py | 4 +- library/train_util.py | 10 ++--- library/utils.py | 89 ++++++++++++++++++++++++++++++++++++++++ 8 files changed, 156 insertions(+), 38 deletions(-) diff --git a/README.md b/README.md index 45349ba38..5125c6631 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,12 @@ __Please update PyTorch to 2.4.0. We have tested with `torch==2.4.0` and `torchv The command to install PyTorch is as follows: `pip3 install torch==2.4.0 torchvision==0.19.0 --index-url https://download.pytorch.org/whl/cu124` +Aug 22, 2024: +Fixed a bug in multi-GPU training. It should work with fine-tuning and LoRA training. `--double_blocks_to_swap` and `--single_blocks_to_swap` cannot be used in multi-GPU training. + +`--disable_mmap_load_safetensors` option now works in `flux_train.py`. It speeds up model loading during training in WSL2. It is also effective in reducing memory usage when loading models during multi-GPU training. Please always check if the model is loaded correctly, as it uses a custom implementation of safetensors loading. + + Aug 21, 2024 (update 3): - There is a bug that `--full_bf16` option is enabled even if it is not specified in `flux_train.py`. The bug will be fixed sooner. __Please specify the `--full_bf16` option explicitly, especially when training with 24GB VRAM.__ - Stochastic rounding is now implemented when `--fused_backward_pass` is specified. The implementation is diff --git a/flux_train.py b/flux_train.py index bcf4b9564..e7d45e04d 100644 --- a/flux_train.py +++ b/flux_train.py @@ -174,7 +174,7 @@ def train(args): # load VAE for caching latents ae = None if cache_latents: - ae = flux_utils.load_ae(name, args.ae, weight_dtype, "cpu") + ae = flux_utils.load_ae(name, args.ae, weight_dtype, "cpu", args.disable_mmap_load_safetensors) ae.to(accelerator.device, dtype=weight_dtype) ae.requires_grad_(False) ae.eval() @@ -199,8 +199,8 @@ def train(args): strategy_base.TokenizeStrategy.set_strategy(flux_tokenize_strategy) # load clip_l, t5xxl for caching text encoder outputs - clip_l = flux_utils.load_clip_l(args.clip_l, weight_dtype, "cpu") - t5xxl = flux_utils.load_t5xxl(args.t5xxl, weight_dtype, "cpu") + clip_l = flux_utils.load_clip_l(args.clip_l, weight_dtype, "cpu", args.disable_mmap_load_safetensors) + t5xxl = flux_utils.load_t5xxl(args.t5xxl, weight_dtype, "cpu", args.disable_mmap_load_safetensors) clip_l.eval() t5xxl.eval() clip_l.requires_grad_(False) @@ -228,7 +228,6 @@ def train(args): if args.sample_prompts is not None: logger.info(f"cache Text Encoder outputs for sample prompt: {args.sample_prompts}") - tokenize_strategy: strategy_flux.FluxTokenizeStrategy = strategy_base.TokenizeStrategy.get_strategy() text_encoding_strategy: strategy_flux.FluxTextEncodingStrategy = strategy_base.TextEncodingStrategy.get_strategy() prompts = load_prompts(args.sample_prompts) @@ -238,9 +237,9 @@ def train(args): for p in [prompt_dict.get("prompt", ""), prompt_dict.get("negative_prompt", "")]: if p not in sample_prompts_te_outputs: logger.info(f"cache Text Encoder outputs for prompt: {p}") - tokens_and_masks = tokenize_strategy.tokenize(p) + tokens_and_masks = flux_tokenize_strategy.tokenize(p) sample_prompts_te_outputs[p] = text_encoding_strategy.encode_tokens( - tokenize_strategy, [clip_l, t5xxl], tokens_and_masks, args.apply_t5_attn_mask + flux_tokenize_strategy, [clip_l, t5xxl], tokens_and_masks, args.apply_t5_attn_mask ) accelerator.wait_for_everyone() @@ -251,7 +250,9 @@ def train(args): clean_memory_on_device(accelerator.device) # load FLUX - flux = flux_utils.load_flow_model(name, args.pretrained_model_name_or_path, weight_dtype, "cpu") + flux = flux_utils.load_flow_model( + name, args.pretrained_model_name_or_path, weight_dtype, "cpu", args.disable_mmap_load_safetensors + ) if args.gradient_checkpointing: flux.enable_gradient_checkpointing(args.cpu_offload_checkpointing) @@ -419,7 +420,7 @@ def train(args): # if we doesn't swap blocks, we can move the model to device flux = accelerator.prepare(flux, device_placement=[not is_swapping_blocks]) if is_swapping_blocks: - flux.move_to_device_except_swap_blocks(accelerator.device) # reduce peak memory usage + accelerator.unwrap_model(flux).move_to_device_except_swap_blocks(accelerator.device) # reduce peak memory usage optimizer, train_dataloader, lr_scheduler = accelerator.prepare(optimizer, train_dataloader, lr_scheduler) # 実験的機能:勾配も含めたfp16学習を行う PyTorchにパッチを当ててfp16でのgrad scaleを有効にする @@ -439,8 +440,8 @@ def train(args): double_blocks_to_swap = args.double_blocks_to_swap single_blocks_to_swap = args.single_blocks_to_swap - num_double_blocks = len(flux.double_blocks) - num_single_blocks = len(flux.single_blocks) + num_double_blocks = 19 # len(flux.double_blocks) + num_single_blocks = 38 # len(flux.single_blocks) handled_double_block_indices = set() handled_single_block_indices = set() @@ -537,8 +538,8 @@ def __grad_hook(tensor: torch.Tensor, param_group=param_group): double_blocks_to_swap = args.double_blocks_to_swap single_blocks_to_swap = args.single_blocks_to_swap - num_double_blocks = len(flux.double_blocks) - num_single_blocks = len(flux.single_blocks) + num_double_blocks = 19 # len(flux.double_blocks) + num_single_blocks = 38 # len(flux.single_blocks) for opt_idx, optimizer in enumerate(optimizers): for param_group in optimizer.param_groups: @@ -618,7 +619,7 @@ def optimizer_hook(parameter: torch.Tensor): ) if is_swapping_blocks: - flux.prepare_block_swap_before_forward() + accelerator.unwrap_model(flux).prepare_block_swap_before_forward() # For --sample_at_first flux_train_utils.sample_images(accelerator, args, 0, global_step, flux, ae, [clip_l, t5xxl], sample_prompts_te_outputs) @@ -660,7 +661,7 @@ def optimizer_hook(parameter: torch.Tensor): with torch.no_grad(): input_ids = [ids.to(accelerator.device) for ids in batch["input_ids_list"]] text_encoder_conds = text_encoding_strategy.encode_tokens( - tokenize_strategy, [clip_l, t5xxl], input_ids, args.apply_t5_attn_mask + flux_tokenize_strategy, [clip_l, t5xxl], input_ids, args.apply_t5_attn_mask ) if args.full_fp16: text_encoder_conds = [c.to(weight_dtype) for c in text_encoder_conds] diff --git a/flux_train_network.py b/flux_train_network.py index 49bd270c7..3e2057e91 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -57,19 +57,21 @@ def load_target_model(self, args, weight_dtype, accelerator): name = self.get_flux_model_name(args) # if we load to cpu, flux.to(fp8) takes a long time - model = flux_utils.load_flow_model(name, args.pretrained_model_name_or_path, weight_dtype, "cpu") + model = flux_utils.load_flow_model( + name, args.pretrained_model_name_or_path, weight_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors + ) if args.split_mode: model = self.prepare_split_model(model, weight_dtype, accelerator) - clip_l = flux_utils.load_clip_l(args.clip_l, weight_dtype, "cpu") + clip_l = flux_utils.load_clip_l(args.clip_l, weight_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors) clip_l.eval() # loading t5xxl to cpu takes a long time, so we should load to gpu in future - t5xxl = flux_utils.load_t5xxl(args.t5xxl, weight_dtype, "cpu") + t5xxl = flux_utils.load_t5xxl(args.t5xxl, weight_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors) t5xxl.eval() - ae = flux_utils.load_ae(name, args.ae, weight_dtype, "cpu") + ae = flux_utils.load_ae(name, args.ae, weight_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors) return flux_utils.MODEL_VERSION_FLUX_V1, [clip_l, t5xxl], ae, model diff --git a/library/flux_models.py b/library/flux_models.py index c98d52ec0..c045aef6b 100644 --- a/library/flux_models.py +++ b/library/flux_models.py @@ -745,7 +745,9 @@ def custom_forward(*inputs): return custom_forward - return torch.utils.checkpoint.checkpoint(create_custom_forward(self._forward), img, txt, vec, pe, txt_attention_mask) + return torch.utils.checkpoint.checkpoint( + create_custom_forward(self._forward), img, txt, vec, pe, txt_attention_mask, use_reentrant=False + ) else: return self._forward(img, txt, vec, pe, txt_attention_mask) @@ -836,7 +838,7 @@ def custom_forward(*inputs): return custom_forward - return torch.utils.checkpoint.checkpoint(create_custom_forward(self._forward), x, vec, pe) + return torch.utils.checkpoint.checkpoint(create_custom_forward(self._forward), x, vec, pe, use_reentrant=False) else: return self._forward(x, vec, pe) diff --git a/library/flux_utils.py b/library/flux_utils.py index 166cd833b..37166933a 100644 --- a/library/flux_utils.py +++ b/library/flux_utils.py @@ -9,7 +9,7 @@ from library import flux_models -from library.utils import setup_logging +from library.utils import setup_logging, MemoryEfficientSafeOpen setup_logging() import logging @@ -19,32 +19,54 @@ MODEL_VERSION_FLUX_V1 = "flux1" -def load_flow_model(name: str, ckpt_path: str, dtype: torch.dtype, device: Union[str, torch.device]) -> flux_models.Flux: +# temporary copy from sd3_utils TODO refactor +def load_safetensors(path: str, device: Union[str, torch.device], disable_mmap: bool = False, dtype: torch.dtype = torch.float32): + if disable_mmap: + # return safetensors.torch.load(open(path, "rb").read()) + # use experimental loader + logger.info(f"Loading without mmap (experimental)") + state_dict = {} + with MemoryEfficientSafeOpen(path) as f: + for key in f.keys(): + state_dict[key] = f.get_tensor(key).to(device, dtype=dtype) + return state_dict + else: + try: + return load_file(path, device=device) + except: + return load_file(path) # prevent device invalid Error + + +def load_flow_model( + name: str, ckpt_path: str, dtype: torch.dtype, device: Union[str, torch.device], disable_mmap: bool = False +) -> flux_models.Flux: logger.info(f"Building Flux model {name}") with torch.device("meta"): model = flux_models.Flux(flux_models.configs[name].params).to(dtype) # load_sft doesn't support torch.device logger.info(f"Loading state dict from {ckpt_path}") - sd = load_file(ckpt_path, device=str(device)) + sd = load_safetensors(ckpt_path, device=str(device), disable_mmap=disable_mmap, dtype=dtype) info = model.load_state_dict(sd, strict=False, assign=True) logger.info(f"Loaded Flux: {info}") return model -def load_ae(name: str, ckpt_path: str, dtype: torch.dtype, device: Union[str, torch.device]) -> flux_models.AutoEncoder: +def load_ae( + name: str, ckpt_path: str, dtype: torch.dtype, device: Union[str, torch.device], disable_mmap: bool = False +) -> flux_models.AutoEncoder: logger.info("Building AutoEncoder") with torch.device("meta"): ae = flux_models.AutoEncoder(flux_models.configs[name].ae_params).to(dtype) logger.info(f"Loading state dict from {ckpt_path}") - sd = load_file(ckpt_path, device=str(device)) + sd = load_safetensors(ckpt_path, device=str(device), disable_mmap=disable_mmap, dtype=dtype) info = ae.load_state_dict(sd, strict=False, assign=True) logger.info(f"Loaded AE: {info}") return ae -def load_clip_l(ckpt_path: str, dtype: torch.dtype, device: Union[str, torch.device]) -> CLIPTextModel: +def load_clip_l(ckpt_path: str, dtype: torch.dtype, device: Union[str, torch.device], disable_mmap: bool = False) -> CLIPTextModel: logger.info("Building CLIP") CLIPL_CONFIG = { "_name_or_path": "clip-vit-large-patch14/", @@ -139,13 +161,13 @@ def load_clip_l(ckpt_path: str, dtype: torch.dtype, device: Union[str, torch.dev clip = CLIPTextModel._from_config(config) logger.info(f"Loading state dict from {ckpt_path}") - sd = load_file(ckpt_path, device=str(device)) + sd = load_safetensors(ckpt_path, device=str(device), disable_mmap=disable_mmap, dtype=dtype) info = clip.load_state_dict(sd, strict=False, assign=True) logger.info(f"Loaded CLIP: {info}") return clip -def load_t5xxl(ckpt_path: str, dtype: torch.dtype, device: Union[str, torch.device]) -> T5EncoderModel: +def load_t5xxl(ckpt_path: str, dtype: torch.dtype, device: Union[str, torch.device], disable_mmap: bool = False) -> T5EncoderModel: T5_CONFIG_JSON = """ { "architectures": [ @@ -185,7 +207,7 @@ def load_t5xxl(ckpt_path: str, dtype: torch.dtype, device: Union[str, torch.devi t5xxl = T5EncoderModel._from_config(config) logger.info(f"Loading state dict from {ckpt_path}") - sd = load_file(ckpt_path, device=str(device)) + sd = load_safetensors(ckpt_path, device=str(device), disable_mmap=disable_mmap, dtype=dtype) info = t5xxl.load_state_dict(sd, strict=False, assign=True) logger.info(f"Loaded T5xxl: {info}") return t5xxl diff --git a/library/strategy_flux.py b/library/strategy_flux.py index 737af390a..b3643cbfc 100644 --- a/library/strategy_flux.py +++ b/library/strategy_flux.py @@ -137,7 +137,7 @@ def load_outputs_npz(self, npz_path: str) -> List[np.ndarray]: t5_attn_mask = data["t5_attn_mask"] if self.apply_t5_attn_mask: - t5_out = self.mask_t5_attn(t5_out, t5_attn_mask) + t5_out = self.mask_t5_attn(t5_out, t5_attn_mask) # FIXME do not mask here!!! return [l_pooled, t5_out, txt_ids, t5_attn_mask] @@ -149,7 +149,7 @@ def cache_batch_outputs( tokens_and_masks = tokenize_strategy.tokenize(captions) with torch.no_grad(): - # attn_mask is not applied when caching to disk: it is applied when loading from disk + # attn_mask is not applied when caching to disk: it is applied when loading from disk FIXME apply mask when loading l_pooled, t5_out, txt_ids, _ = flux_text_encoding_strategy.encode_tokens( tokenize_strategy, models, tokens_and_masks, not self.cache_to_disk ) diff --git a/library/train_util.py b/library/train_util.py index 8929c192f..989758ad5 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -1104,10 +1104,6 @@ def new_cache_text_encoder_outputs(self, models: List[Any], is_main_process: boo caching_strategy = TextEncoderOutputsCachingStrategy.get_strategy() batch_size = caching_strategy.batch_size or self.batch_size - # if cache to disk, don't cache TE outputs in non-main process - if caching_strategy.cache_to_disk and not is_main_process: - return - logger.info("caching Text Encoder outputs with caching strategy.") image_infos = list(self.image_data.values()) @@ -1120,9 +1116,9 @@ def new_cache_text_encoder_outputs(self, models: List[Any], is_main_process: boo # check disk cache exists and size of latents if caching_strategy.cache_to_disk: - info.text_encoder_outputs_npz = te_out_npz + info.text_encoder_outputs_npz = te_out_npz # set npz filename regardless of cache availability/main process cache_available = caching_strategy.is_disk_cached_outputs_expected(te_out_npz) - if cache_available: # do not add to batch + if cache_available or not is_main_process: # do not add to batch continue batch.append(info) @@ -2638,7 +2634,7 @@ def load_arbitrary_dataset(args, tokenizer=None) -> MinimalDataset: return train_dataset_group -def load_image(image_path, alpha=False): +def load_image(image_path, alpha=False): try: with Image.open(image_path) as image: if alpha: diff --git a/library/utils.py b/library/utils.py index 7de22d5a9..a16209979 100644 --- a/library/utils.py +++ b/library/utils.py @@ -153,6 +153,95 @@ def validate_metadata(metadata: Dict[str, Any]) -> Dict[str, str]: v.contiguous().view(torch.uint8).numpy().tofile(f) +class MemoryEfficientSafeOpen: + # does not support metadata loading + def __init__(self, filename): + self.filename = filename + self.header, self.header_size = self._read_header() + self.file = open(filename, "rb") + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_val, exc_tb): + self.file.close() + + def keys(self): + return [k for k in self.header.keys() if k != "__metadata__"] + + def get_tensor(self, key): + if key not in self.header: + raise KeyError(f"Tensor '{key}' not found in the file") + + metadata = self.header[key] + offset_start, offset_end = metadata["data_offsets"] + + if offset_start == offset_end: + tensor_bytes = None + else: + # adjust offset by header size + self.file.seek(self.header_size + 8 + offset_start) + tensor_bytes = self.file.read(offset_end - offset_start) + + return self._deserialize_tensor(tensor_bytes, metadata) + + def _read_header(self): + with open(self.filename, "rb") as f: + header_size = struct.unpack(" Date: Thu, 22 Aug 2024 19:55:31 +0900 Subject: [PATCH 170/748] Fix --debug_dataset to work. --- flux_train.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/flux_train.py b/flux_train.py index e7d45e04d..410728d44 100644 --- a/flux_train.py +++ b/flux_train.py @@ -142,6 +142,12 @@ def train(args): args.cache_text_encoder_outputs_to_disk, args.text_encoder_batch_size, False, False ) ) + name = "schnell" if "schnell" in args.pretrained_model_name_or_path else "dev" + t5xxl_max_token_length = ( + args.t5xxl_max_token_length if args.t5xxl_max_token_length is not None else (256 if name == "schnell" else 512) + ) + strategy_base.TokenizeStrategy.set_strategy(strategy_flux.FluxTokenizeStrategy(t5xxl_max_token_length)) + train_dataset_group.set_current_strategies() train_util.debug_dataset(train_dataset_group, True) return From 2d8fa3387a4adfdc2e36f2582e4ffc21864569f0 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 22 Aug 2024 19:56:27 +0900 Subject: [PATCH 171/748] Fix to remove zero pad for t5xxl output --- README.md | 5 +++++ library/strategy_flux.py | 23 +++++++++++------------ 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 5125c6631..33b3a9a99 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,11 @@ __Please update PyTorch to 2.4.0. We have tested with `torch==2.4.0` and `torchv The command to install PyTorch is as follows: `pip3 install torch==2.4.0 torchvision==0.19.0 --index-url https://download.pytorch.org/whl/cu124` +Aug 22, 2024 (update 2): +Fixed a bug that the embedding was zero-padded when `--apply_t5_attn_mask` option was applied. Also, the cache file for text encoder outputs now records whether the mask is applied or not. Please note that the cache file will be recreated when switching the `--apply_t5_attn_mask` option. + +Added a script to extract LoRA from the difference between the two models of FLUX.1. Use `networks/flux_extract_lora.py`. See `--help` for details. Normally, more than 50GB of memory is required, but specifying the `--mem_eff_safe_open` option significantly reduces memory usage. However, this option is a custom implementation, so unexpected problems may occur. Please always check if the model is loaded correctly. + Aug 22, 2024: Fixed a bug in multi-GPU training. It should work with fine-tuning and LoRA training. `--double_blocks_to_swap` and `--single_blocks_to_swap` cannot be used in multi-GPU training. diff --git a/library/strategy_flux.py b/library/strategy_flux.py index b3643cbfc..d52b3b8dd 100644 --- a/library/strategy_flux.py +++ b/library/strategy_flux.py @@ -22,7 +22,7 @@ class FluxTokenizeStrategy(TokenizeStrategy): - def __init__(self, t5xxl_max_length: int = 256, tokenizer_cache_dir: Optional[str] = None) -> None: + def __init__(self, t5xxl_max_length: int = 512, tokenizer_cache_dir: Optional[str] = None) -> None: self.t5xxl_max_length = t5xxl_max_length self.clip_l = self._load_tokenizer(CLIPTokenizer, CLIP_L_TOKENIZER_ID, tokenizer_cache_dir=tokenizer_cache_dir) self.t5xxl = self._load_tokenizer(T5TokenizerFast, T5_XXL_TOKENIZER_ID, tokenizer_cache_dir=tokenizer_cache_dir) @@ -120,25 +120,24 @@ def is_disk_cached_outputs_expected(self, npz_path: str): return False if "t5_attn_mask" not in npz: return False + if "apply_t5_attn_mask" not in npz: + return False + npz_apply_t5_attn_mask = npz["apply_t5_attn_mask"] + if npz_apply_t5_attn_mask != self.apply_t5_attn_mask: + return False except Exception as e: logger.error(f"Error loading file: {npz_path}") raise e return True - def mask_t5_attn(self, t5_out: np.ndarray, t5_attn_mask: np.ndarray) -> np.ndarray: - return t5_out * np.expand_dims(t5_attn_mask, -1) - def load_outputs_npz(self, npz_path: str) -> List[np.ndarray]: data = np.load(npz_path) l_pooled = data["l_pooled"] t5_out = data["t5_out"] txt_ids = data["txt_ids"] t5_attn_mask = data["t5_attn_mask"] - - if self.apply_t5_attn_mask: - t5_out = self.mask_t5_attn(t5_out, t5_attn_mask) # FIXME do not mask here!!! - + # apply_t5_attn_mask should be same as self.apply_t5_attn_mask return [l_pooled, t5_out, txt_ids, t5_attn_mask] def cache_batch_outputs( @@ -149,10 +148,8 @@ def cache_batch_outputs( tokens_and_masks = tokenize_strategy.tokenize(captions) with torch.no_grad(): - # attn_mask is not applied when caching to disk: it is applied when loading from disk FIXME apply mask when loading - l_pooled, t5_out, txt_ids, _ = flux_text_encoding_strategy.encode_tokens( - tokenize_strategy, models, tokens_and_masks, not self.cache_to_disk - ) + # attn_mask is applied in text_encoding_strategy.encode_tokens if apply_t5_attn_mask is True + l_pooled, t5_out, txt_ids, _ = flux_text_encoding_strategy.encode_tokens(tokenize_strategy, models, tokens_and_masks) if l_pooled.dtype == torch.bfloat16: l_pooled = l_pooled.float() @@ -171,6 +168,7 @@ def cache_batch_outputs( t5_out_i = t5_out[i] txt_ids_i = txt_ids[i] t5_attn_mask_i = t5_attn_mask[i] + apply_t5_attn_mask_i = self.apply_t5_attn_mask if self.cache_to_disk: np.savez( @@ -179,6 +177,7 @@ def cache_batch_outputs( t5_out=t5_out_i, txt_ids=txt_ids_i, t5_attn_mask=t5_attn_mask_i, + apply_t5_attn_mask=apply_t5_attn_mask_i, ) else: info.text_encoder_outputs = (l_pooled_i, t5_out_i, txt_ids_i, t5_attn_mask_i) From b0a980844a2e02b1b1ae4cf615ae489dbf8ece67 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 22 Aug 2024 19:57:29 +0900 Subject: [PATCH 172/748] added a script to extract LoRA --- networks/flux_extract_lora.py | 219 ++++++++++++++++++++++++++++++++++ 1 file changed, 219 insertions(+) create mode 100644 networks/flux_extract_lora.py diff --git a/networks/flux_extract_lora.py b/networks/flux_extract_lora.py new file mode 100644 index 000000000..3ee6e816d --- /dev/null +++ b/networks/flux_extract_lora.py @@ -0,0 +1,219 @@ +# extract approximating LoRA by svd from two FLUX models +# The code is based on https://github.com/cloneofsimo/lora/blob/develop/lora_diffusion/cli_svd.py +# Thanks to cloneofsimo! + +import argparse +import json +import os +import time +import torch +from safetensors.torch import load_file, save_file +from safetensors import safe_open +from tqdm import tqdm +from library import flux_utils, sai_model_spec, model_util, sdxl_model_util +import lora +from library.utils import MemoryEfficientSafeOpen +from library.utils import setup_logging +from networks import lora_flux + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + +# CLAMP_QUANTILE = 0.99 +# MIN_DIFF = 1e-1 + + +def save_to_file(file_name, state_dict, metadata, dtype): + if dtype is not None: + for key in list(state_dict.keys()): + if type(state_dict[key]) == torch.Tensor: + state_dict[key] = state_dict[key].to(dtype) + + save_file(state_dict, file_name, metadata=metadata) + + +def svd( + model_org=None, + model_tuned=None, + save_to=None, + dim=4, + device=None, + save_precision=None, + clamp_quantile=0.99, + min_diff=0.01, + no_metadata=False, + mem_eff_safe_open=False, +): + def str_to_dtype(p): + if p == "float": + return torch.float + if p == "fp16": + return torch.float16 + if p == "bf16": + return torch.bfloat16 + return None + + calc_dtype = torch.float + save_dtype = str_to_dtype(save_precision) + store_device = "cpu" + + # open models + lora_weights = {} + if not mem_eff_safe_open: + # use original safetensors.safe_open + open_fn = lambda fn: safe_open(fn, framework="pt") + else: + logger.info("Using memory efficient safe_open") + open_fn = lambda fn: MemoryEfficientSafeOpen(fn) + + with open_fn(model_org) as fo: + # filter keys + keys = [] + for key in fo.keys(): + if not ("single_block" in key or "double_block" in key): + continue + if ".bias" in key: + continue + if "norm" in key: + continue + keys.append(key) + + with open_fn(model_tuned) as ft: + for key in tqdm(keys): + # get tensors and calculate difference + value_o = fo.get_tensor(key) + value_t = ft.get_tensor(key) + mat = value_t.to(calc_dtype) - value_o.to(calc_dtype) + del value_o, value_t + + # extract LoRA weights + if device: + mat = mat.to(device) + out_dim, in_dim = mat.size()[0:2] + rank = min(dim, in_dim, out_dim) # LoRA rank cannot exceed the original dim + + mat = mat.squeeze() + + U, S, Vh = torch.linalg.svd(mat) + + U = U[:, :rank] + S = S[:rank] + U = U @ torch.diag(S) + + Vh = Vh[:rank, :] + + dist = torch.cat([U.flatten(), Vh.flatten()]) + hi_val = torch.quantile(dist, clamp_quantile) + low_val = -hi_val + + U = U.clamp(low_val, hi_val) + Vh = Vh.clamp(low_val, hi_val) + + U = U.to(store_device, dtype=save_dtype).contiguous() + Vh = Vh.to(store_device, dtype=save_dtype).contiguous() + + print(f"key: {key}, U: {U.size()}, Vh: {Vh.size()}") + lora_weights[key] = (U, Vh) + del mat, U, S, Vh + + # make state dict for LoRA + lora_sd = {} + for key, (up_weight, down_weight) in lora_weights.items(): + lora_name = key.replace(".weight", "").replace(".", "_") + lora_name = lora_flux.LoRANetwork.LORA_PREFIX_FLUX + "_" + lora_name + lora_sd[lora_name + ".lora_up.weight"] = up_weight + lora_sd[lora_name + ".lora_down.weight"] = down_weight + lora_sd[lora_name + ".alpha"] = torch.tensor(down_weight.size()[0]) # same as rank + + # minimum metadata + net_kwargs = {} + metadata = { + "ss_v2": str(False), + "ss_base_model_version": flux_utils.MODEL_VERSION_FLUX_V1, + "ss_network_module": "networks.lora_flux", + "ss_network_dim": str(dim), + "ss_network_alpha": str(float(dim)), + "ss_network_args": json.dumps(net_kwargs), + } + + if not no_metadata: + title = os.path.splitext(os.path.basename(save_to))[0] + sai_metadata = sai_model_spec.build_metadata(lora_sd, False, False, False, True, False, time.time(), title, flux="dev") + metadata.update(sai_metadata) + + save_to_file(save_to, lora_sd, metadata, save_dtype) + + logger.info(f"LoRA weights saved to {save_to}") + + +def setup_parser() -> argparse.ArgumentParser: + parser = argparse.ArgumentParser() + parser.add_argument( + "--save_precision", + type=str, + default=None, + choices=[None, "float", "fp16", "bf16"], + help="precision in saving, same to merging if omitted / 保存時に精度を変更して保存する、省略時はfloat", + ) + parser.add_argument( + "--model_org", + type=str, + default=None, + required=True, + help="Original model: safetensors file / 元モデル、safetensors", + ) + parser.add_argument( + "--model_tuned", + type=str, + default=None, + required=True, + help="Tuned model, LoRA is difference of `original to tuned`: safetensors file / 派生モデル(生成されるLoRAは元→派生の差分になります)、ckptまたはsafetensors", + ) + parser.add_argument( + "--mem_eff_safe_open", + action="store_true", + help="use memory efficient safe_open. This is an experimental feature, use only when memory is not enough." + " / メモリ効率の良いsafe_openを使用する。実装は実験的なものなので、メモリが足りない場合のみ使用してください。", + ) + parser.add_argument( + "--save_to", + type=str, + default=None, + required=True, + help="destination file name: safetensors file / 保存先のファイル名、safetensors", + ) + parser.add_argument( + "--dim", type=int, default=4, help="dimension (rank) of LoRA (default 4) / LoRAの次元数(rank)(デフォルト4)" + ) + parser.add_argument( + "--device", type=str, default=None, help="device to use, cuda for GPU / 計算を行うデバイス、cuda でGPUを使う" + ) + parser.add_argument( + "--clamp_quantile", + type=float, + default=0.99, + help="Quantile clamping value, float, (0-1). Default = 0.99 / 値をクランプするための分位点、float、(0-1)。デフォルトは0.99", + ) + # parser.add_argument( + # "--min_diff", + # type=float, + # default=0.01, + # help="Minimum difference between finetuned model and base to consider them different enough to extract, float, (0-1). Default = 0.01 /" + # + "LoRAを抽出するために元モデルと派生モデルの差分の最小値、float、(0-1)。デフォルトは0.01", + # ) + parser.add_argument( + "--no_metadata", + action="store_true", + help="do not save sai modelspec metadata (minimum ss_metadata for LoRA is saved) / " + + "sai modelspecのメタデータを保存しない(LoRAの最低限のss_metadataは保存される)", + ) + return parser + + +if __name__ == "__main__": + parser = setup_parser() + + args = parser.parse_args() + svd(**vars(args)) From bf9f798985dd75fc2dd1fbc8c8dc775c92176854 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 22 Aug 2024 19:59:38 +0900 Subject: [PATCH 173/748] chore: fix typos, remove debug print --- networks/flux_extract_lora.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/networks/flux_extract_lora.py b/networks/flux_extract_lora.py index 3ee6e816d..63ab2960c 100644 --- a/networks/flux_extract_lora.py +++ b/networks/flux_extract_lora.py @@ -68,10 +68,10 @@ def str_to_dtype(p): logger.info("Using memory efficient safe_open") open_fn = lambda fn: MemoryEfficientSafeOpen(fn) - with open_fn(model_org) as fo: + with open_fn(model_org) as f_org: # filter keys keys = [] - for key in fo.keys(): + for key in f_org.keys(): if not ("single_block" in key or "double_block" in key): continue if ".bias" in key: @@ -80,11 +80,11 @@ def str_to_dtype(p): continue keys.append(key) - with open_fn(model_tuned) as ft: + with open_fn(model_tuned) as f_tuned: for key in tqdm(keys): # get tensors and calculate difference - value_o = fo.get_tensor(key) - value_t = ft.get_tensor(key) + value_o = f_org.get_tensor(key) + value_t = f_tuned.get_tensor(key) mat = value_t.to(calc_dtype) - value_o.to(calc_dtype) del value_o, value_t @@ -114,7 +114,7 @@ def str_to_dtype(p): U = U.to(store_device, dtype=save_dtype).contiguous() Vh = Vh.to(store_device, dtype=save_dtype).contiguous() - print(f"key: {key}, U: {U.size()}, Vh: {Vh.size()}") + # print(f"key: {key}, U: {U.size()}, Vh: {Vh.size()}") lora_weights[key] = (U, Vh) del mat, U, S, Vh From afb971f9c36823040eaba3c9e02fdfa0928cd4ee Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 22 Aug 2024 21:33:15 +0900 Subject: [PATCH 174/748] fix SD1.5 LoRA extraction #1490 --- networks/lora.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/networks/lora.py b/networks/lora.py index 82b8b5b47..6f33f1a1e 100644 --- a/networks/lora.py +++ b/networks/lora.py @@ -815,7 +815,8 @@ def create_network_from_weights(multiplier, file, vae, text_encoder, unet, weigh weights_sd = torch.load(file, map_location="cpu") # if keys are Diffusers based, convert to SAI based - convert_diffusers_to_sai_if_needed(weights_sd) + if is_sdxl: + convert_diffusers_to_sai_if_needed(weights_sd) # get dim/alpha mapping modules_dim = {} @@ -840,7 +841,13 @@ def create_network_from_weights(multiplier, file, vae, text_encoder, unet, weigh module_class = LoRAInfModule if for_inference else LoRAModule network = LoRANetwork( - text_encoder, unet, multiplier=multiplier, modules_dim=modules_dim, modules_alpha=modules_alpha, module_class=module_class + text_encoder, + unet, + multiplier=multiplier, + modules_dim=modules_dim, + modules_alpha=modules_alpha, + module_class=module_class, + is_sdxl=is_sdxl, ) # block lr From 81411a398eb4ce28d84cc2da8238ff013d40d62f Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 22 Aug 2024 22:02:29 +0900 Subject: [PATCH 175/748] speed up getting image sizes --- library/strategy_base.py | 7 ++++++- library/strategy_flux.py | 9 +++------ library/strategy_sd.py | 12 ++++-------- library/strategy_sd3.py | 9 +++------ library/train_util.py | 23 ++++++++++++++++++++++- 5 files changed, 38 insertions(+), 22 deletions(-) diff --git a/library/strategy_base.py b/library/strategy_base.py index e7d3a97ef..6a01c30a5 100644 --- a/library/strategy_base.py +++ b/library/strategy_base.py @@ -204,9 +204,14 @@ def cache_to_disk(self): def batch_size(self): return self._batch_size - def get_image_size_from_disk_cache_path(self, absolute_path: str) -> Tuple[Optional[int], Optional[int]]: + @property + def cache_suffix(self): raise NotImplementedError + def get_image_size_from_disk_cache_path(self, absolute_path: str, npz_path: str) -> Tuple[Optional[int], Optional[int]]: + w, h = os.path.splitext(npz_path)[0].split("_")[-2].split("x") + return int(w), int(h) + def get_latents_npz_path(self, absolute_path: str, image_size: Tuple[int, int]) -> str: raise NotImplementedError diff --git a/library/strategy_flux.py b/library/strategy_flux.py index d52b3b8dd..887113ca1 100644 --- a/library/strategy_flux.py +++ b/library/strategy_flux.py @@ -189,12 +189,9 @@ class FluxLatentsCachingStrategy(LatentsCachingStrategy): def __init__(self, cache_to_disk: bool, batch_size: int, skip_disk_cache_validity_check: bool) -> None: super().__init__(cache_to_disk, batch_size, skip_disk_cache_validity_check) - def get_image_size_from_disk_cache_path(self, absolute_path: str) -> Tuple[Optional[int], Optional[int]]: - npz_file = glob.glob(os.path.splitext(absolute_path)[0] + "_*" + FluxLatentsCachingStrategy.FLUX_LATENTS_NPZ_SUFFIX) - if len(npz_file) == 0: - return None, None - w, h = os.path.splitext(npz_file[0])[0].split("_")[-2].split("x") - return int(w), int(h) + @property + def cache_suffix(self) -> str: + return FluxLatentsCachingStrategy.FLUX_LATENTS_NPZ_SUFFIX def get_latents_npz_path(self, absolute_path: str, image_size: Tuple[int, int]) -> str: return ( diff --git a/library/strategy_sd.py b/library/strategy_sd.py index 83ffaa31b..af472e491 100644 --- a/library/strategy_sd.py +++ b/library/strategy_sd.py @@ -108,14 +108,10 @@ def __init__(self, sd: bool, cache_to_disk: bool, batch_size: int, skip_disk_cac self.suffix = ( SdSdxlLatentsCachingStrategy.SD_LATENTS_NPZ_SUFFIX if sd else SdSdxlLatentsCachingStrategy.SDXL_LATENTS_NPZ_SUFFIX ) - - def get_image_size_from_disk_cache_path(self, absolute_path: str) -> Tuple[Optional[int], Optional[int]]: - # does not include old npz - npz_file = glob.glob(os.path.splitext(absolute_path)[0] + "_*" + self.suffix) - if len(npz_file) == 0: - return None, None - w, h = os.path.splitext(npz_file[0])[0].split("_")[-2].split("x") - return int(w), int(h) + + @property + def cache_suffix(self) -> str: + return self.suffix def get_latents_npz_path(self, absolute_path: str, image_size: Tuple[int, int]) -> str: # support old .npz diff --git a/library/strategy_sd3.py b/library/strategy_sd3.py index a22818903..9fde02084 100644 --- a/library/strategy_sd3.py +++ b/library/strategy_sd3.py @@ -222,12 +222,9 @@ class Sd3LatentsCachingStrategy(LatentsCachingStrategy): def __init__(self, cache_to_disk: bool, batch_size: int, skip_disk_cache_validity_check: bool) -> None: super().__init__(cache_to_disk, batch_size, skip_disk_cache_validity_check) - def get_image_size_from_disk_cache_path(self, absolute_path: str) -> Tuple[Optional[int], Optional[int]]: - npz_file = glob.glob(os.path.splitext(absolute_path)[0] + "_*" + Sd3LatentsCachingStrategy.SD3_LATENTS_NPZ_SUFFIX) - if len(npz_file) == 0: - return None, None - w, h = os.path.splitext(npz_file[0])[0].split("_")[-2].split("x") - return int(w), int(h) + @property + def cache_suffix(self) -> str: + return Sd3LatentsCachingStrategy.SD3_LATENTS_NPZ_SUFFIX def get_latents_npz_path(self, absolute_path: str, image_size: Tuple[int, int]) -> str: return ( diff --git a/library/train_util.py b/library/train_util.py index 989758ad5..dcc01f6f7 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -1739,9 +1739,30 @@ def load_dreambooth_dir(subset: DreamBoothSubset): strategy = LatentsCachingStrategy.get_strategy() if strategy is not None: logger.info("get image size from name of cache files") + + # make image path to npz path mapping + npz_paths = glob.glob(os.path.join(subset.image_dir, "*" + strategy.cache_suffix)) + npz_paths.sort() + npz_path_index = 0 + size_set_count = 0 for i, img_path in enumerate(tqdm(img_paths)): - w, h = strategy.get_image_size_from_disk_cache_path(img_path) + l = len(os.path.splitext(img_path)[0]) # remove extension + found = False + while npz_path_index < len(npz_paths): # until found or end of npz_paths + # npz_paths are sorted, so if npz_path > img_path, img_path is not found + if npz_paths[npz_path_index][:l] > img_path[:l]: + break + if npz_paths[npz_path_index][:l] == img_path[:l]: # found + found = True + break + npz_path_index += 1 # next npz_path + + if found: + w, h = strategy.get_image_size_from_disk_cache_path(img_path, npz_paths[npz_path_index]) + else: + w, h = None, None + if w is not None and h is not None: sizes[i] = [w, h] size_set_count += 1 From 1e8108fec9962333e4cf2a8db1dcedf657049900 Mon Sep 17 00:00:00 2001 From: liesen Date: Sat, 24 Aug 2024 01:38:17 +0300 Subject: [PATCH 176/748] Handle args.v_parameterization properly for MinSNR and changed prediction target --- sdxl_train.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sdxl_train.py b/sdxl_train.py index 46d7860be..14b259657 100644 --- a/sdxl_train.py +++ b/sdxl_train.py @@ -590,7 +590,11 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): with accelerator.autocast(): noise_pred = unet(noisy_latents, timesteps, text_embedding, vector_embedding) - target = noise + if args.v_parameterization: + # v-parameterization training + target = noise_scheduler.get_velocity(latents, noise, timesteps) + else: + target = noise if ( args.min_snr_gamma @@ -606,7 +610,7 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): loss = loss.mean([1, 2, 3]) if args.min_snr_gamma: - loss = apply_snr_weight(loss, timesteps, noise_scheduler, args.min_snr_gamma) + loss = apply_snr_weight(loss, timesteps, noise_scheduler, args.min_snr_gamma, args.v_parameterization) if args.scale_v_pred_loss_like_noise_pred: loss = scale_v_prediction_loss_like_noise_prediction(loss, timesteps, noise_scheduler) if args.v_pred_like_loss: From 2e89cd2cc634c27add7a04c21fcb6d0e16716a2b Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sat, 24 Aug 2024 12:39:54 +0900 Subject: [PATCH 177/748] Fix issue with attention mask not being applied in single blocks --- README.md | 3 ++ flux_train_network.py | 4 +-- library/flux_models.py | 62 +++++++++++++++++++++--------------------- 3 files changed, 36 insertions(+), 33 deletions(-) diff --git a/README.md b/README.md index 33b3a9a99..4151bf44e 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,9 @@ __Please update PyTorch to 2.4.0. We have tested with `torch==2.4.0` and `torchv The command to install PyTorch is as follows: `pip3 install torch==2.4.0 torchvision==0.19.0 --index-url https://download.pytorch.org/whl/cu124` +Aug 24, 2024: +Fixed an issue where the attention mask was not applied in single blocks when `--apply_t5_attn_mask` was specified. + Aug 22, 2024 (update 2): Fixed a bug that the embedding was zero-padded when `--apply_t5_attn_mask` option was applied. Also, the cache file for text encoder outputs now records whether the mask is applied or not. Please note that the cache file will be recreated when switching the `--apply_t5_attn_mask` option. diff --git a/flux_train_network.py b/flux_train_network.py index 3e2057e91..82f77a77e 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -243,7 +243,7 @@ def forward(self, img, img_ids, txt, txt_ids, timesteps, y, guidance=None, txt_a self.flux_upper.to("cpu") clean_memory_on_device(self.target_device) self.flux_lower.to(self.target_device) - return self.flux_lower(img, txt, vec, pe) + return self.flux_lower(img, txt, vec, pe, txt_attention_mask) wrapper = FluxUpperLowerWrapper(self.flux_upper, flux, accelerator.device) clean_memory_on_device(accelerator.device) @@ -352,7 +352,7 @@ def get_noise_pred_and_target( intermediate_txt.requires_grad_(True) vec.requires_grad_(True) pe.requires_grad_(True) - model_pred = unet(img=intermediate_img, txt=intermediate_txt, vec=vec, pe=pe) + model_pred = unet(img=intermediate_img, txt=intermediate_txt, vec=vec, pe=pe, txt_attention_mask=t5_attn_mask) # unpack latents model_pred = flux_utils.unpack_latents(model_pred, packed_latent_height, packed_latent_width) diff --git a/library/flux_models.py b/library/flux_models.py index c045aef6b..b5726c298 100644 --- a/library/flux_models.py +++ b/library/flux_models.py @@ -752,18 +752,6 @@ def custom_forward(*inputs): else: return self._forward(img, txt, vec, pe, txt_attention_mask) - # def forward(self, img: Tensor, txt: Tensor, vec: Tensor, pe: Tensor): - # if self.training and self.gradient_checkpointing: - # def create_custom_forward(func): - # def custom_forward(*inputs): - # return func(*inputs) - # return custom_forward - # return torch.utils.checkpoint.checkpoint( - # create_custom_forward(self._forward), img, txt, vec, pe, use_reentrant=USE_REENTRANT - # ) - # else: - # return self._forward(img, txt, vec, pe) - class SingleStreamBlock(nn.Module): """ @@ -809,7 +797,7 @@ def disable_gradient_checkpointing(self): self.gradient_checkpointing = False self.cpu_offload_checkpointing = False - def _forward(self, x: Tensor, vec: Tensor, pe: Tensor) -> Tensor: + def _forward(self, x: Tensor, vec: Tensor, pe: Tensor, txt_attention_mask: Optional[Tensor] = None) -> Tensor: mod, _ = self.modulation(vec) x_mod = (1 + mod.scale) * self.pre_norm(x) + mod.shift qkv, mlp = torch.split(self.linear1(x_mod), [3 * self.hidden_size, self.mlp_hidden_dim], dim=-1) @@ -817,16 +805,35 @@ def _forward(self, x: Tensor, vec: Tensor, pe: Tensor) -> Tensor: q, k, v = rearrange(qkv, "B L (K H D) -> K B H L D", K=3, H=self.num_heads) q, k = self.norm(q, k, v) + # make attention mask if not None + attn_mask = None + if txt_attention_mask is not None: + # F.scaled_dot_product_attention expects attn_mask to be bool for binary mask + attn_mask = txt_attention_mask.to(torch.bool) # b, seq_len + attn_mask = torch.cat( + ( + attn_mask, + torch.ones( + attn_mask.shape[0], x.shape[1] - txt_attention_mask.shape[1], device=attn_mask.device, dtype=torch.bool + ), + ), + dim=1, + ) # b, seq_len + img_len = x_len + + # broadcast attn_mask to all heads + attn_mask = attn_mask[:, None, None, :].expand(-1, q.shape[1], q.shape[2], -1) + # compute attention - attn = attention(q, k, v, pe=pe) + attn = attention(q, k, v, pe=pe, attn_mask=attn_mask) + # compute activation in mlp stream, cat again and run second linear layer output = self.linear2(torch.cat((attn, self.mlp_act(mlp)), 2)) return x + mod.gate * output - def forward(self, x: Tensor, vec: Tensor, pe: Tensor) -> Tensor: + def forward(self, x: Tensor, vec: Tensor, pe: Tensor, txt_attention_mask: Optional[Tensor] = None) -> Tensor: if self.training and self.gradient_checkpointing: if not self.cpu_offload_checkpointing: - return checkpoint(self._forward, x, vec, pe, use_reentrant=False) + return checkpoint(self._forward, x, vec, pe, txt_attention_mask, use_reentrant=False) # cpu offload checkpointing @@ -838,19 +845,11 @@ def custom_forward(*inputs): return custom_forward - return torch.utils.checkpoint.checkpoint(create_custom_forward(self._forward), x, vec, pe, use_reentrant=False) + return torch.utils.checkpoint.checkpoint( + create_custom_forward(self._forward), x, vec, pe, txt_attention_mask, use_reentrant=False + ) else: - return self._forward(x, vec, pe) - - # def forward(self, x: Tensor, vec: Tensor, pe: Tensor): - # if self.training and self.gradient_checkpointing: - # def create_custom_forward(func): - # def custom_forward(*inputs): - # return func(*inputs) - # return custom_forward - # return torch.utils.checkpoint.checkpoint(create_custom_forward(self._forward), x, vec, pe, use_reentrant=USE_REENTRANT) - # else: - # return self._forward(x, vec, pe) + return self._forward(x, vec, pe, txt_attention_mask) class LastLayer(nn.Module): @@ -1053,7 +1052,7 @@ def forward( if not self.single_blocks_to_swap: for block in self.single_blocks: - img = block(img, vec=vec, pe=pe) + img = block(img, vec=vec, pe=pe, txt_attention_mask=txt_attention_mask) else: # make sure first n blocks are on cuda, and last n blocks are on cpu at beginning for block_idx in range(self.single_blocks_to_swap): @@ -1075,7 +1074,7 @@ def forward( block.to(self.device) # move to cuda # print(f"Moved single block {block_idx} to cuda.") - img = block(img, vec=vec, pe=pe) + img = block(img, vec=vec, pe=pe, txt_attention_mask=txt_attention_mask) if moving: self.single_blocks[to_cpu_block_index].to("cpu") # , non_blocking=True) @@ -1250,10 +1249,11 @@ def forward( txt: Tensor, vec: Tensor | None = None, pe: Tensor | None = None, + txt_attention_mask: Tensor | None = None, ) -> Tensor: img = torch.cat((txt, img), 1) for block in self.single_blocks: - img = block(img, vec=vec, pe=pe) + img = block(img, vec=vec, pe=pe, txt_attention_mask=txt_attention_mask) img = img[:, txt.shape[1] :, ...] img = self.final_layer(img, vec) # (N, T, patch_size ** 2 * out_channels) From cf689e7aa697877a0eee58622035ab702ce59d3e Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sat, 24 Aug 2024 16:35:43 +0900 Subject: [PATCH 178/748] feat: Add option to split projection layers and apply LoRA --- README.md | 14 ++ networks/check_lora_weights.py | 2 +- networks/convert_flux_lora.py | 51 ++++-- networks/lora_flux.py | 326 +++++++++++++++++++++++++++------ 4 files changed, 325 insertions(+), 68 deletions(-) diff --git a/README.md b/README.md index 4151bf44e..7d326a867 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,20 @@ __Please update PyTorch to 2.4.0. We have tested with `torch==2.4.0` and `torchv The command to install PyTorch is as follows: `pip3 install torch==2.4.0 torchvision==0.19.0 --index-url https://download.pytorch.org/whl/cu124` +Aug 24, 2024 (update 2): + +__Experimental__ Added an option to split the projection layers of q/k/v/txt in the attention and apply LoRA to each of them in FLUX.1 LoRA training. Specify `"split_qkv=True"` in network_args like `--network_args "split_qkv=True"` (`train_blocks` is also available). + +The number of parameters may increase slightly, so the expressiveness may increase, but the training time may be longer. No detailed verification has been done. + +This implementation is experimental, so it may be deprecated or changed in the future. + +The .safetensors file of the trained model is compatible with the normal LoRA model of sd-scripts, so it should be usable in inference environments such as ComfyUI as it is. Also, converting it to AI-toolkit (Diffusers) format with `convert_flux_lora.py` will reduce the size. It should be no problem to convert it if you use it in the inference environment. + +Technical details: In the implementation of Black Forest Labs' model, the projection layers of q/k/v (and txt in single blocks) are concatenated into one. If LoRA is added there as it is, the LoRA module is only one, and the dimension is large. In contrast, in the implementation of Diffusers, the projection layers of q/k/v/txt are separated. Therefore, the LoRA module is applied to q/k/v/txt separately, and the dimension is smaller. This option is for training LoRA similar to the latter. + +The compatibility of the saved model (state dict) is ensured by concatenating the weights of multiple LoRAs. However, since there are zero weights in some parts, the model size will be large. + Aug 24, 2024: Fixed an issue where the attention mask was not applied in single blocks when `--apply_t5_attn_mask` was specified. diff --git a/networks/check_lora_weights.py b/networks/check_lora_weights.py index 794659c94..b5b5e61ae 100644 --- a/networks/check_lora_weights.py +++ b/networks/check_lora_weights.py @@ -18,7 +18,7 @@ def main(file): keys = list(sd.keys()) for key in keys: - if "lora_up" in key or "lora_down" in key: + if "lora_up" in key or "lora_down" in key or "lora_A" in key or "lora_B" in key: values.append((key, sd[key])) print(f"number of LoRA modules: {len(values)}") diff --git a/networks/convert_flux_lora.py b/networks/convert_flux_lora.py index e9743534d..bd4c1cf78 100644 --- a/networks/convert_flux_lora.py +++ b/networks/convert_flux_lora.py @@ -266,11 +266,12 @@ def convert_to_ai_toolkit_cat(sds_sd, ait_sd, sds_key, ait_keys, dims=None): if sds_key + ".lora_down.weight" not in sds_sd: return down_weight = sds_sd.pop(sds_key + ".lora_down.weight") + up_weight = sds_sd.pop(sds_key + ".lora_up.weight") + sd_lora_rank = down_weight.shape[0] # scale weight by alpha and dim - rank = down_weight.shape[0] alpha = sds_sd.pop(sds_key + ".alpha") - scale = alpha / rank + scale = alpha / sd_lora_rank # calculate scale_down and scale_up scale_down = scale @@ -279,23 +280,49 @@ def convert_to_ai_toolkit_cat(sds_sd, ait_sd, sds_key, ait_keys, dims=None): scale_down *= 2 scale_up /= 2 - ait_down_keys = [k + ".lora_A.weight" for k in ait_keys] - ait_up_keys = [k + ".lora_B.weight" for k in ait_keys] - - num_splits = len(ait_keys) - up_weight = sds_sd.pop(sds_key + ".lora_up.weight") - - # down_weight is copied to each split - ait_sd.update({k: down_weight * scale_down for k in ait_down_keys}) + down_weight = down_weight * scale_down + up_weight = up_weight * scale_up # calculate dims if not provided + num_splits = len(ait_keys) if dims is None: dims = [up_weight.shape[0] // num_splits] * num_splits else: assert sum(dims) == up_weight.shape[0] - # up_weight is split to each split - ait_sd.update({k: v * scale_up for k, v in zip(ait_up_keys, torch.split(up_weight, dims, dim=0))}) + # check upweight is sparse or not + is_sparse = False + if sd_lora_rank % num_splits == 0: + ait_rank = sd_lora_rank // num_splits + is_sparse = True + i = 0 + for j in range(len(dims)): + for k in range(len(dims)): + if j == k: + continue + is_sparse = is_sparse and torch.all(up_weight[i : i + dims[j], k * ait_rank : (k + 1) * ait_rank] == 0) + i += dims[j] + if is_sparse: + logger.info(f"weight is sparse: {sds_key}") + + # make ai-toolkit weight + ait_down_keys = [k + ".lora_A.weight" for k in ait_keys] + ait_up_keys = [k + ".lora_B.weight" for k in ait_keys] + if not is_sparse: + # down_weight is copied to each split + ait_sd.update({k: down_weight for k in ait_down_keys}) + + # up_weight is split to each split + ait_sd.update({k: v for k, v in zip(ait_up_keys, torch.split(up_weight, dims, dim=0))}) + else: + # down_weight is chunked to each split + ait_sd.update({k: v for k, v in zip(ait_down_keys, torch.chunk(down_weight, num_splits, dim=0))}) + + # up_weight is sparse: only non-zero values are copied to each split + i = 0 + for j in range(len(dims)): + ait_sd[ait_up_keys[j]] = up_weight[i : i + dims[j], j * ait_rank : (j + 1) * ait_rank].contiguous() + i += dims[j] def convert_sd_scripts_to_ai_toolkit(sds_sd): diff --git a/networks/lora_flux.py b/networks/lora_flux.py index 4da33542f..efc7847ed 100644 --- a/networks/lora_flux.py +++ b/networks/lora_flux.py @@ -39,6 +39,7 @@ def __init__( dropout=None, rank_dropout=None, module_dropout=None, + split_dims: Optional[List[int]] = None, ): """if alpha == 0 or None, alpha is rank (no scaling).""" super().__init__() @@ -52,16 +53,34 @@ def __init__( out_dim = org_module.out_features self.lora_dim = lora_dim + self.split_dims = split_dims + + if split_dims is None: + if org_module.__class__.__name__ == "Conv2d": + kernel_size = org_module.kernel_size + stride = org_module.stride + padding = org_module.padding + self.lora_down = torch.nn.Conv2d(in_dim, self.lora_dim, kernel_size, stride, padding, bias=False) + self.lora_up = torch.nn.Conv2d(self.lora_dim, out_dim, (1, 1), (1, 1), bias=False) + else: + self.lora_down = torch.nn.Linear(in_dim, self.lora_dim, bias=False) + self.lora_up = torch.nn.Linear(self.lora_dim, out_dim, bias=False) - if org_module.__class__.__name__ == "Conv2d": - kernel_size = org_module.kernel_size - stride = org_module.stride - padding = org_module.padding - self.lora_down = torch.nn.Conv2d(in_dim, self.lora_dim, kernel_size, stride, padding, bias=False) - self.lora_up = torch.nn.Conv2d(self.lora_dim, out_dim, (1, 1), (1, 1), bias=False) + torch.nn.init.kaiming_uniform_(self.lora_down.weight, a=math.sqrt(5)) + torch.nn.init.zeros_(self.lora_up.weight) else: - self.lora_down = torch.nn.Linear(in_dim, self.lora_dim, bias=False) - self.lora_up = torch.nn.Linear(self.lora_dim, out_dim, bias=False) + # conv2d not supported + assert sum(split_dims) == out_dim, "sum of split_dims must be equal to out_dim" + assert org_module.__class__.__name__ == "Linear", "split_dims is only supported for Linear" + # print(f"split_dims: {split_dims}") + self.lora_down = torch.nn.ModuleList( + [torch.nn.Linear(in_dim, self.lora_dim, bias=False) for _ in range(len(split_dims))] + ) + self.lora_up = torch.nn.ModuleList([torch.nn.Linear(self.lora_dim, split_dim, bias=False) for split_dim in split_dims]) + for lora_down in self.lora_down: + torch.nn.init.kaiming_uniform_(lora_down.weight, a=math.sqrt(5)) + for lora_up in self.lora_up: + torch.nn.init.zeros_(lora_up.weight) if type(alpha) == torch.Tensor: alpha = alpha.detach().float().numpy() # without casting, bf16 causes error @@ -70,9 +89,6 @@ def __init__( self.register_buffer("alpha", torch.tensor(alpha)) # 定数として扱える # same as microsoft's - torch.nn.init.kaiming_uniform_(self.lora_down.weight, a=math.sqrt(5)) - torch.nn.init.zeros_(self.lora_up.weight) - self.multiplier = multiplier self.org_module = org_module # remove in applying self.dropout = dropout @@ -92,30 +108,56 @@ def forward(self, x): if torch.rand(1) < self.module_dropout: return org_forwarded - lx = self.lora_down(x) - - # normal dropout - if self.dropout is not None and self.training: - lx = torch.nn.functional.dropout(lx, p=self.dropout) + if self.split_dims is None: + lx = self.lora_down(x) + + # normal dropout + if self.dropout is not None and self.training: + lx = torch.nn.functional.dropout(lx, p=self.dropout) + + # rank dropout + if self.rank_dropout is not None and self.training: + mask = torch.rand((lx.size(0), self.lora_dim), device=lx.device) > self.rank_dropout + if len(lx.size()) == 3: + mask = mask.unsqueeze(1) # for Text Encoder + elif len(lx.size()) == 4: + mask = mask.unsqueeze(-1).unsqueeze(-1) # for Conv2d + lx = lx * mask + + # scaling for rank dropout: treat as if the rank is changed + # maskから計算することも考えられるが、augmentation的な効果を期待してrank_dropoutを用いる + scale = self.scale * (1.0 / (1.0 - self.rank_dropout)) # redundant for readability + else: + scale = self.scale - # rank dropout - if self.rank_dropout is not None and self.training: - mask = torch.rand((lx.size(0), self.lora_dim), device=lx.device) > self.rank_dropout - if len(lx.size()) == 3: - mask = mask.unsqueeze(1) # for Text Encoder - elif len(lx.size()) == 4: - mask = mask.unsqueeze(-1).unsqueeze(-1) # for Conv2d - lx = lx * mask + lx = self.lora_up(lx) - # scaling for rank dropout: treat as if the rank is changed - # maskから計算することも考えられるが、augmentation的な効果を期待してrank_dropoutを用いる - scale = self.scale * (1.0 / (1.0 - self.rank_dropout)) # redundant for readability + return org_forwarded + lx * self.multiplier * scale else: - scale = self.scale + lxs = [lora_down(x) for lora_down in self.lora_down] + + # normal dropout + if self.dropout is not None and self.training: + lxs = [torch.nn.functional.dropout(lx, p=self.dropout) for lx in lxs] + + # rank dropout + if self.rank_dropout is not None and self.training: + masks = [torch.rand((lx.size(0), self.lora_dim), device=lx.device) > self.rank_dropout for lx in lxs] + for i in range(len(lxs)): + if len(lx.size()) == 3: + masks[i] = masks[i].unsqueeze(1) + elif len(lx.size()) == 4: + masks[i] = masks[i].unsqueeze(-1).unsqueeze(-1) + lxs[i] = lxs[i] * masks[i] + + # scaling for rank dropout: treat as if the rank is changed + scale = self.scale * (1.0 / (1.0 - self.rank_dropout)) # redundant for readability + else: + scale = self.scale - lx = self.lora_up(lx) + lxs = [lora_up(lx) for lora_up, lx in zip(self.lora_up, lxs)] - return org_forwarded + lx * self.multiplier * scale + return org_forwarded + torch.cat(lxs, dim=-1) * self.multiplier * scale class LoRAInfModule(LoRAModule): @@ -152,31 +194,50 @@ def merge_to(self, sd, dtype, device): if device is None: device = org_device - # get up/down weight - up_weight = sd["lora_up.weight"].to(torch.float).to(device) - down_weight = sd["lora_down.weight"].to(torch.float).to(device) - - # merge weight - if len(weight.size()) == 2: - # linear - weight = weight + self.multiplier * (up_weight @ down_weight) * self.scale - elif down_weight.size()[2:4] == (1, 1): - # conv2d 1x1 - weight = ( - weight - + self.multiplier - * (up_weight.squeeze(3).squeeze(2) @ down_weight.squeeze(3).squeeze(2)).unsqueeze(2).unsqueeze(3) - * self.scale - ) + if self.split_dims is None: + # get up/down weight + down_weight = sd["lora_down.weight"].to(torch.float).to(device) + up_weight = sd["lora_up.weight"].to(torch.float).to(device) + + # merge weight + if len(weight.size()) == 2: + # linear + weight = weight + self.multiplier * (up_weight @ down_weight) * self.scale + elif down_weight.size()[2:4] == (1, 1): + # conv2d 1x1 + weight = ( + weight + + self.multiplier + * (up_weight.squeeze(3).squeeze(2) @ down_weight.squeeze(3).squeeze(2)).unsqueeze(2).unsqueeze(3) + * self.scale + ) + else: + # conv2d 3x3 + conved = torch.nn.functional.conv2d(down_weight.permute(1, 0, 2, 3), up_weight).permute(1, 0, 2, 3) + # logger.info(conved.size(), weight.size(), module.stride, module.padding) + weight = weight + self.multiplier * conved * self.scale + + # set weight to org_module + org_sd["weight"] = weight.to(dtype) + self.org_module.load_state_dict(org_sd) else: - # conv2d 3x3 - conved = torch.nn.functional.conv2d(down_weight.permute(1, 0, 2, 3), up_weight).permute(1, 0, 2, 3) - # logger.info(conved.size(), weight.size(), module.stride, module.padding) - weight = weight + self.multiplier * conved * self.scale + # split_dims + total_dims = sum(self.split_dims) + for i in range(len(self.split_dims)): + # get up/down weight + down_weight = sd[f"lora_down.{i}.weight"].to(torch.float).to(device) # (rank, in_dim) + up_weight = sd[f"lora_up.{i}.weight"].to(torch.float).to(device) # (split dim, rank) + + # pad up_weight -> (total_dims, rank) + padded_up_weight = torch.zeros((total_dims, up_weight.size(0)), device=device, dtype=torch.float) + padded_up_weight[sum(self.split_dims[:i]) : sum(self.split_dims[: i + 1])] = up_weight + + # merge weight + weight = weight + self.multiplier * (up_weight @ down_weight) * self.scale - # set weight to org_module - org_sd["weight"] = weight.to(dtype) - self.org_module.load_state_dict(org_sd) + # set weight to org_module + org_sd["weight"] = weight.to(dtype) + self.org_module.load_state_dict(org_sd) # 復元できるマージのため、このモジュールのweightを返す def get_weight(self, multiplier=None): @@ -211,7 +272,14 @@ def set_region(self, region): def default_forward(self, x): # logger.info(f"default_forward {self.lora_name} {x.size()}") - return self.org_forward(x) + self.lora_up(self.lora_down(x)) * self.multiplier * self.scale + if self.split_dims is None: + lx = self.lora_down(x) + lx = self.lora_up(lx) + return self.org_forward(x) + lx * self.multiplier * self.scale + else: + lxs = [lora_down(x) for lora_down in self.lora_down] + lxs = [lora_up(lx) for lora_up, lx in zip(self.lora_up, lxs)] + return self.org_forward(x) + torch.cat(lxs, dim=-1) * self.multiplier * self.scale def forward(self, x): if not self.enabled: @@ -257,6 +325,11 @@ def create_network( if train_blocks is not None: assert train_blocks in ["all", "single", "double"], f"invalid train_blocks: {train_blocks}" + # split qkv + split_qkv = kwargs.get("split_qkv", False) + if split_qkv is not None: + split_qkv = True if split_qkv == "True" else False + # すごく引数が多いな ( ^ω^)・・・ network = LoRANetwork( text_encoders, @@ -270,6 +343,7 @@ def create_network( conv_lora_dim=conv_dim, conv_alpha=conv_alpha, train_blocks=train_blocks, + split_qkv=split_qkv, varbose=True, ) @@ -311,10 +385,34 @@ def create_network_from_weights(multiplier, file, ae, text_encoders, flux, weigh modules_dim[lora_name] = dim # logger.info(lora_name, value.size(), dim) + # # split qkv + # double_qkv_rank = None + # single_qkv_rank = None + # rank = None + # for lora_name, dim in modules_dim.items(): + # if "double" in lora_name and "qkv" in lora_name: + # double_qkv_rank = dim + # elif "single" in lora_name and "linear1" in lora_name: + # single_qkv_rank = dim + # elif rank is None: + # rank = dim + # if double_qkv_rank is not None and single_qkv_rank is not None and rank is not None: + # break + # split_qkv = (double_qkv_rank is not None and double_qkv_rank != rank) or ( + # single_qkv_rank is not None and single_qkv_rank != rank + # ) + split_qkv = False # split_qkv is not needed to care, because state_dict is qkv combined + module_class = LoRAInfModule if for_inference else LoRAModule network = LoRANetwork( - text_encoders, flux, multiplier=multiplier, modules_dim=modules_dim, modules_alpha=modules_alpha, module_class=module_class + text_encoders, + flux, + multiplier=multiplier, + modules_dim=modules_dim, + modules_alpha=modules_alpha, + module_class=module_class, + split_qkv=split_qkv, ) return network, weights_sd @@ -344,6 +442,7 @@ def __init__( modules_dim: Optional[Dict[str, int]] = None, modules_alpha: Optional[Dict[str, int]] = None, train_blocks: Optional[str] = None, + split_qkv: bool = False, varbose: Optional[bool] = False, ) -> None: super().__init__() @@ -357,6 +456,7 @@ def __init__( self.rank_dropout = rank_dropout self.module_dropout = module_dropout self.train_blocks = train_blocks if train_blocks is not None else "all" + self.split_qkv = split_qkv self.loraplus_lr_ratio = None self.loraplus_unet_lr_ratio = None @@ -373,6 +473,8 @@ def __init__( logger.info( f"apply LoRA to Conv2d with kernel size (3,3). dim (rank): {self.conv_lora_dim}, alpha: {self.conv_alpha}" ) + if self.split_qkv: + logger.info(f"split qkv for LoRA") # create module instances def create_modules( @@ -420,6 +522,14 @@ def create_modules( skipped.append(lora_name) continue + # qkv split + split_dims = None + if is_flux and split_qkv: + if "double" in lora_name and "qkv" in lora_name: + split_dims = [3072] * 3 + elif "single" in lora_name and "linear1" in lora_name: + split_dims = [3072] * 3 + [12288] + lora = module_class( lora_name, child_module, @@ -429,6 +539,7 @@ def create_modules( dropout=dropout, rank_dropout=rank_dropout, module_dropout=module_dropout, + split_dims=split_dims, ) loras.append(lora) return loras, skipped @@ -492,6 +603,111 @@ def load_weights(self, file): info = self.load_state_dict(weights_sd, False) return info + def load_state_dict(self, state_dict, strict=True): + # override to convert original weight to splitted qkv weight + if not self.split_qkv: + return super().load_state_dict(state_dict, strict) + + # split qkv + for key in list(state_dict.keys()): + if "double" in key and "qkv" in key: + split_dims = [3072] * 3 + elif "single" in key and "linear1" in key: + split_dims = [3072] * 3 + [12288] + else: + continue + + weight = state_dict[key] + lora_name = key.split(".")[0] + if "lora_down" in key and "weight" in key: + # dense weight (rank*3, in_dim) + split_weight = torch.chunk(weight, len(split_dims), dim=0) + for i, split_w in enumerate(split_weight): + state_dict[f"{lora_name}.lora_down.{i}.weight"] = split_w + + del state_dict[key] + # print(f"split {key}: {weight.shape} to {[w.shape for w in split_weight]}") + elif "lora_up" in key and "weight" in key: + # sparse weight (out_dim=sum(split_dims), rank*3) + rank = weight.size(1) // len(split_dims) + i = 0 + for j in range(len(split_dims)): + state_dict[f"{lora_name}.lora_up.{j}.weight"] = weight[i : i + split_dims[j], j * rank : (j + 1) * rank] + i += split_dims[j] + del state_dict[key] + + # # check is sparse + # i = 0 + # is_zero = True + # for j in range(len(split_dims)): + # for k in range(len(split_dims)): + # if j == k: + # continue + # is_zero = is_zero and torch.all(weight[i : i + split_dims[j], k * rank : (k + 1) * rank] == 0) + # i += split_dims[j] + # if not is_zero: + # logger.warning(f"weight is not sparse: {key}") + # else: + # logger.info(f"weight is sparse: {key}") + + # print( + # f"split {key}: {weight.shape} to {[state_dict[k].shape for k in [f'{lora_name}.lora_up.{j}.weight' for j in range(len(split_dims))]]}" + # ) + + # alpha is unchanged + + return super().load_state_dict(state_dict, strict) + + def state_dict(self, destination=None, prefix="", keep_vars=False): + if not self.split_qkv: + return super().state_dict(destination, prefix, keep_vars) + + # merge qkv + state_dict = super().state_dict(destination, prefix, keep_vars) + new_state_dict = {} + for key in list(state_dict.keys()): + if "double" in key and "qkv" in key: + split_dims = [3072] * 3 + elif "single" in key and "linear1" in key: + split_dims = [3072] * 3 + [12288] + else: + new_state_dict[key] = state_dict[key] + continue + + if key not in state_dict: + continue # already merged + + lora_name = key.split(".")[0] + + # (rank, in_dim) * 3 + down_weights = [state_dict.pop(f"{lora_name}.lora_down.{i}.weight") for i in range(len(split_dims))] + # (split dim, rank) * 3 + up_weights = [state_dict.pop(f"{lora_name}.lora_up.{i}.weight") for i in range(len(split_dims))] + + alpha = state_dict.pop(f"{lora_name}.alpha") + + # merge down weight + down_weight = torch.cat(down_weights, dim=0) # (rank, split_dim) * 3 -> (rank*3, sum of split_dim) + + # merge up weight (sum of split_dim, rank*3) + rank = up_weights[0].size(1) + up_weight = torch.zeros((sum(split_dims), down_weight.size(0)), device=down_weight.device, dtype=down_weight.dtype) + i = 0 + for j in range(len(split_dims)): + up_weight[i : i + split_dims[j], j * rank : (j + 1) * rank] = up_weights[j] + i += split_dims[j] + + new_state_dict[f"{lora_name}.lora_down.weight"] = down_weight + new_state_dict[f"{lora_name}.lora_up.weight"] = up_weight + new_state_dict[f"{lora_name}.alpha"] = alpha + + # print( + # f"merged {lora_name}: {lora_name}, {[w.shape for w in down_weights]}, {[w.shape for w in up_weights]} to {down_weight.shape}, {up_weight.shape}" + # ) + print(f"new key: {lora_name}.lora_down.weight, {lora_name}.lora_up.weight, {lora_name}.alpha") + + return new_state_dict + def apply_to(self, text_encoders, flux, apply_text_encoder=True, apply_unet=True): if apply_text_encoder: logger.info(f"enable LoRA for text encoder: {len(self.text_encoder_loras)} modules") From 5639c2adc0085e2e995bb3eee5a278aace397e7a Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sat, 24 Aug 2024 16:37:49 +0900 Subject: [PATCH 179/748] fix typo --- networks/lora_flux.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/networks/lora_flux.py b/networks/lora_flux.py index efc7847ed..07a80f0bf 100644 --- a/networks/lora_flux.py +++ b/networks/lora_flux.py @@ -604,7 +604,7 @@ def load_weights(self, file): return info def load_state_dict(self, state_dict, strict=True): - # override to convert original weight to splitted qkv weight + # override to convert original weight to split qkv if not self.split_qkv: return super().load_state_dict(state_dict, strict) From d5c076cf9007f86f6dd1b9ecdfc5531336774b2f Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sat, 24 Aug 2024 21:21:39 +0900 Subject: [PATCH 180/748] update readme --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 946df58f3..81a549378 100644 --- a/README.md +++ b/README.md @@ -139,6 +139,7 @@ The majority of scripts is licensed under ASL 2.0 (including codes from Diffuser ### Working in progress +- `--v_parameterization` is available in `sdxl_train.py`. The results are unpredictable, so use with caution. PR [#1505](https://github.com/kohya-ss/sd-scripts/pull/1505) Thanks to liesened! - Fused optimizer is available for SDXL training. PR [#1259](https://github.com/kohya-ss/sd-scripts/pull/1259) Thanks to 2kpr! - The memory usage during training is significantly reduced by integrating the optimizer's backward pass with step. The training results are the same as before, but if you have plenty of memory, the speed will be slower. - Specify the `--fused_backward_pass` option in `sdxl_train.py`. At this time, only AdaFactor is supported. Gradient accumulation is not available. From 72287d39c76176c0e1c16e8da4f5ddc6f94ea7d6 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 25 Aug 2024 16:01:24 +0900 Subject: [PATCH 181/748] feat: Add `shift` option to `--timestep_sampling` in FLUX.1 fine-tuning and LoRA training --- README.md | 4 ++++ library/flux_train_utils.py | 15 +++++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 282f3b3bd..562dcdb2a 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,10 @@ __Please update PyTorch to 2.4.0. We have tested with `torch==2.4.0` and `torchv The command to install PyTorch is as follows: `pip3 install torch==2.4.0 torchvision==0.19.0 --index-url https://download.pytorch.org/whl/cu124` +Aug 25, 2024: +Added `shift` option to `--timestep_sampling` in FLUX.1 fine-tuning and LoRA training. Shifts timesteps according to the value of `--discrete_flow_shift` (shifts the value of sigmoid of normal distribution random number). It may be good to start with a value of 3.1582 (=e^1.15) for `--discrete_flow_shift`. +Sample command: `--timestep_sampling shift --discrete_flow_shift 3.1582 --model_prediction_type raw --guidance_scale 1.0` + Aug 24, 2024 (update 2): __Experimental__ Added an option to split the projection layers of q/k/v/txt in the attention and apply LoRA to each of them in FLUX.1 LoRA training. Specify `"split_qkv=True"` in network_args like `--network_args "split_qkv=True"` (`train_blocks` is also available). diff --git a/library/flux_train_utils.py b/library/flux_train_utils.py index 1d3f80d72..75f70a54f 100644 --- a/library/flux_train_utils.py +++ b/library/flux_train_utils.py @@ -380,9 +380,19 @@ def get_noisy_model_input_and_timesteps( t = torch.sigmoid(args.sigmoid_scale * torch.randn((bsz,), device=device)) else: t = torch.rand((bsz,), device=device) + timesteps = t * 1000.0 t = t.view(-1, 1, 1, 1) noisy_model_input = (1 - t) * latents + t * noise + elif args.timestep_sampling == "shift": + shift = args.discrete_flow_shift + logits_norm = torch.randn(bsz, device=device) + timesteps = logits_norm.sigmoid() + timesteps = (timesteps * shift) / (1 + (shift - 1) * timesteps) + + t = timesteps.view(-1, 1, 1, 1) + timesteps = timesteps * 1000.0 + noisy_model_input = (1 - t) * latents + t * noise else: # Sample a random timestep for each image # for weighting schemes where we sample timesteps non-uniformly @@ -559,9 +569,10 @@ def add_flux_train_arguments(parser: argparse.ArgumentParser): parser.add_argument( "--timestep_sampling", - choices=["sigma", "uniform", "sigmoid"], + choices=["sigma", "uniform", "sigmoid", "shift"], default="sigma", - help="Method to sample timesteps: sigma-based, uniform random, or sigmoid of random normal. / タイムステップをサンプリングする方法:sigma、random uniform、またはrandom normalのsigmoid。", + help="Method to sample timesteps: sigma-based, uniform random, sigmoid of random normal and shift of sigmoid." + " / タイムステップをサンプリングする方法:sigma、random uniform、random normalのsigmoid、sigmoidのシフト。", ) parser.add_argument( "--sigmoid_scale", From 0087a46e14c8e568982cbe3a5d9b9c561b175abf Mon Sep 17 00:00:00 2001 From: Kohya S Date: Tue, 27 Aug 2024 19:59:40 +0900 Subject: [PATCH 182/748] FLUX.1 LoRA supports CLIP-L --- README.md | 8 ++++ flux_train_network.py | 40 +++++++++++++----- library/flux_train_utils.py | 8 ++-- library/strategy_flux.py | 3 +- networks/lora_flux.py | 4 +- train_network.py | 81 ++++++++++++++++++++++++------------- 6 files changed, 101 insertions(+), 43 deletions(-) diff --git a/README.md b/README.md index 562dcdb2a..1203b5ebc 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,14 @@ __Please update PyTorch to 2.4.0. We have tested with `torch==2.4.0` and `torchv The command to install PyTorch is as follows: `pip3 install torch==2.4.0 torchvision==0.19.0 --index-url https://download.pytorch.org/whl/cu124` +Aug 27, 2024: + +- FLUX.1 LoRA training now supports CLIP-L LoRA. Please remove `--network_train_unet_only`. T5XXL is not trained. The output of T5XXL is still cached, so `--cache_text_encoder_outputs` or `--cache_text_encoder_outputs_to_disk` is still required. The trained LoRA can be used with ComfyUI. + - `flux_extract_lora.py` and `convert_flux_lora.py` do not support CLIP-L LoRA. +- `--sigmoid_scale` is now effective even when `--timestep_sampling shift` is specified. Normally, leave it at 1.0. Larger values make the value before shift closer to a uniform distribution. + +- __Experimental__ `--fp8_base_unet` option is added to `flux_train_network.py`. Flux can be trained with fp8, and CLIP-L can be trained with bf16/fp16. When specifying this option, the `--fp8_base` option is not required (Flux is fp8, and CLIP-L is bf16/fp16, regardless of the `--fp8_base` option). + Aug 25, 2024: Added `shift` option to `--timestep_sampling` in FLUX.1 fine-tuning and LoRA training. Shifts timesteps according to the value of `--discrete_flow_shift` (shifts the value of sigmoid of normal distribution random number). It may be good to start with a value of 3.1582 (=e^1.15) for `--discrete_flow_shift`. Sample command: `--timestep_sampling shift --discrete_flow_shift 3.1582 --model_prediction_type raw --guidance_scale 1.0` diff --git a/flux_train_network.py b/flux_train_network.py index 82f77a77e..1a40de61a 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -40,9 +40,13 @@ def assert_extra_args(self, args, train_dataset_group): train_dataset_group.is_text_encoder_output_cacheable() ), "when caching Text Encoder output, either caption_dropout_rate, shuffle_caption, token_warmup_step or caption_tag_dropout_rate cannot be used / Text Encoderの出力をキャッシュするときはcaption_dropout_rate, shuffle_caption, token_warmup_step, caption_tag_dropout_rateは使えません" - assert ( - args.network_train_unet_only or not args.cache_text_encoder_outputs - ), "network for Text Encoder cannot be trained with caching Text Encoder outputs / Text Encoderの出力をキャッシュしながらText Encoderのネットワークを学習することはできません" + # assert ( + # args.network_train_unet_only or not args.cache_text_encoder_outputs + # ), "network for Text Encoder cannot be trained with caching Text Encoder outputs / Text Encoderの出力をキャッシュしながらText Encoderのネットワークを学習することはできません" + if not args.network_train_unet_only: + logger.info( + "network for CLIP-L only will be trained. T5XXL will not be trained / CLIP-Lのネットワークのみが学習されます。T5XXLは学習されません" + ) if args.max_token_length is not None: logger.warning("max_token_length is not used in Flux training / max_token_lengthはFluxのトレーニングでは使用されません") @@ -137,12 +141,25 @@ def get_text_encoding_strategy(self, args): return strategy_flux.FluxTextEncodingStrategy(apply_t5_attn_mask=args.apply_t5_attn_mask) def get_models_for_text_encoding(self, args, accelerator, text_encoders): - return text_encoders # + [accelerator.unwrap_model(text_encoders[-1])] + if args.cache_text_encoder_outputs: + if self.is_train_text_encoder(args): + return text_encoders[0:1] # only CLIP-L is needed for encoding because T5XXL is cached + else: + return text_encoders # ignored + else: + return text_encoders # both CLIP-L and T5XXL are needed for encoding + + def get_text_encoders_train_flags(self, args, text_encoders): + return [True, False] if self.is_train_text_encoder(args) else [False, False] def get_text_encoder_outputs_caching_strategy(self, args): if args.cache_text_encoder_outputs: return strategy_flux.FluxTextEncoderOutputsCachingStrategy( - args.cache_text_encoder_outputs_to_disk, None, False, apply_t5_attn_mask=args.apply_t5_attn_mask + args.cache_text_encoder_outputs_to_disk, + None, + False, + is_partial=self.is_train_text_encoder(args), + apply_t5_attn_mask=args.apply_t5_attn_mask, ) else: return None @@ -190,9 +207,11 @@ def cache_text_encoder_outputs_if_needed( accelerator.wait_for_everyone() # move back to cpu - logger.info("move text encoders back to cpu") - text_encoders[0].to("cpu") # , dtype=torch.float32) # Text Encoder doesn't work with fp16 on CPU - text_encoders[1].to("cpu") # , dtype=torch.float32) + if not self.is_train_text_encoder(args): + logger.info("move CLIP-L back to cpu") + text_encoders[0].to("cpu") + logger.info("move t5XXL back to cpu") + text_encoders[1].to("cpu") clean_memory_on_device(accelerator.device) if not args.lowram: @@ -297,7 +316,8 @@ def get_noise_pred_and_target( if args.gradient_checkpointing: noisy_model_input.requires_grad_(True) for t in text_encoder_conds: - t.requires_grad_(True) + if t.dtype.is_floating_point: + t.requires_grad_(True) img_ids.requires_grad_(True) guidance_vec.requires_grad_(True) @@ -384,7 +404,7 @@ def update_metadata(self, metadata, args): metadata["ss_discrete_flow_shift"] = args.discrete_flow_shift def is_text_encoder_not_needed_for_training(self, args): - return args.cache_text_encoder_outputs + return args.cache_text_encoder_outputs and not self.is_train_text_encoder(args) def setup_parser() -> argparse.ArgumentParser: diff --git a/library/flux_train_utils.py b/library/flux_train_utils.py index 75f70a54f..a8e94ac00 100644 --- a/library/flux_train_utils.py +++ b/library/flux_train_utils.py @@ -58,7 +58,7 @@ def sample_images( logger.info("") logger.info(f"generating sample images at step / サンプル画像生成 ステップ: {steps}") - if not os.path.isfile(args.sample_prompts): + if not os.path.isfile(args.sample_prompts) and sample_prompts_te_outputs is None: logger.error(f"No prompt file / プロンプトファイルがありません: {args.sample_prompts}") return @@ -66,7 +66,8 @@ def sample_images( # unwrap unet and text_encoder(s) flux = accelerator.unwrap_model(flux) - text_encoders = [accelerator.unwrap_model(te) for te in text_encoders] + if text_encoders is not None: + text_encoders = [accelerator.unwrap_model(te) for te in text_encoders] # print([(te.parameters().__next__().device if te is not None else None) for te in text_encoders]) prompts = load_prompts(args.sample_prompts) @@ -134,7 +135,7 @@ def sample_image_inference( accelerator: Accelerator, args: argparse.Namespace, flux: flux_models.Flux, - text_encoders: List[CLIPTextModel], + text_encoders: Optional[List[CLIPTextModel]], ae: flux_models.AutoEncoder, save_dir, prompt_dict, @@ -387,6 +388,7 @@ def get_noisy_model_input_and_timesteps( elif args.timestep_sampling == "shift": shift = args.discrete_flow_shift logits_norm = torch.randn(bsz, device=device) + logits_norm = logits_norm * args.sigmoid_scale # larger scale for more uniform sampling timesteps = logits_norm.sigmoid() timesteps = (timesteps * shift) / (1 + (shift - 1) * timesteps) diff --git a/library/strategy_flux.py b/library/strategy_flux.py index d52b3b8dd..5d0839132 100644 --- a/library/strategy_flux.py +++ b/library/strategy_flux.py @@ -60,7 +60,7 @@ def encode_tokens( if apply_t5_attn_mask is None: apply_t5_attn_mask = self.apply_t5_attn_mask - clip_l, t5xxl = models + clip_l, t5xxl = models if len(models) == 2 else (models[0], None) l_tokens, t5_tokens = tokens[:2] t5_attn_mask = tokens[2] if len(tokens) > 2 else None @@ -81,6 +81,7 @@ def encode_tokens( else: t5_out = None txt_ids = None + t5_attn_mask = None # caption may be dropped/shuffled, so t5_attn_mask should not be used to make sure the mask is same as the cached one return [l_pooled, t5_out, txt_ids, t5_attn_mask] # returns t5_attn_mask for attention mask in transformer diff --git a/networks/lora_flux.py b/networks/lora_flux.py index 07a80f0bf..fcb56a467 100644 --- a/networks/lora_flux.py +++ b/networks/lora_flux.py @@ -401,7 +401,7 @@ def create_network_from_weights(multiplier, file, ae, text_encoders, flux, weigh # split_qkv = (double_qkv_rank is not None and double_qkv_rank != rank) or ( # single_qkv_rank is not None and single_qkv_rank != rank # ) - split_qkv = False # split_qkv is not needed to care, because state_dict is qkv combined + split_qkv = False # split_qkv is not needed to care, because state_dict is qkv combined module_class = LoRAInfModule if for_inference else LoRAModule @@ -421,7 +421,7 @@ class LoRANetwork(torch.nn.Module): # FLUX_TARGET_REPLACE_MODULE = ["DoubleStreamBlock", "SingleStreamBlock"] FLUX_TARGET_REPLACE_MODULE_DOUBLE = ["DoubleStreamBlock"] FLUX_TARGET_REPLACE_MODULE_SINGLE = ["SingleStreamBlock"] - TEXT_ENCODER_TARGET_REPLACE_MODULE = ["CLIPAttention", "CLIPMLP"] + TEXT_ENCODER_TARGET_REPLACE_MODULE = ["CLIPAttention", "CLIPSdpaAttention", "CLIPMLP"] LORA_PREFIX_FLUX = "lora_unet" # make ComfyUI compatible LORA_PREFIX_TEXT_ENCODER_CLIP = "lora_te1" LORA_PREFIX_TEXT_ENCODER_T5 = "lora_te2" diff --git a/train_network.py b/train_network.py index cab0ec52e..048c7e7bd 100644 --- a/train_network.py +++ b/train_network.py @@ -127,8 +127,15 @@ def get_text_encoder_outputs_caching_strategy(self, args): return None def get_models_for_text_encoding(self, args, accelerator, text_encoders): + """ + Returns a list of models that will be used for text encoding. SDXL uses wrapped and unwrapped models. + """ return text_encoders + # returns a list of bool values indicating whether each text encoder should be trained + def get_text_encoders_train_flags(self, args, text_encoders): + return [True] * len(text_encoders) if self.is_train_text_encoder(args) else [False] * len(text_encoders) + def is_train_text_encoder(self, args): return not args.network_train_unet_only @@ -136,11 +143,6 @@ def cache_text_encoder_outputs_if_needed(self, args, accelerator, unet, vae, tex for t_enc in text_encoders: t_enc.to(accelerator.device, dtype=weight_dtype) - def get_text_cond(self, args, accelerator, batch, tokenizers, text_encoders, weight_dtype): - input_ids = batch["input_ids"].to(accelerator.device) - encoder_hidden_states = train_util.get_hidden_states(args, input_ids, tokenizers[0], text_encoders[0], weight_dtype) - return encoder_hidden_states - def call_unet(self, args, accelerator, unet, noisy_latents, timesteps, text_conds, batch, weight_dtype): noise_pred = unet(noisy_latents, timesteps, text_conds[0]).sample return noise_pred @@ -313,7 +315,7 @@ def train(self, args): collator = train_util.collator_class(current_epoch, current_step, ds_for_collator) if args.debug_dataset: - train_dataset_group.set_current_strategies() # dasaset needs to know the strategies explicitly + train_dataset_group.set_current_strategies() # dasaset needs to know the strategies explicitly train_util.debug_dataset(train_dataset_group) return if len(train_dataset_group) == 0: @@ -437,8 +439,10 @@ def train(self, args): if args.gradient_checkpointing: unet.enable_gradient_checkpointing() - for t_enc in text_encoders: - t_enc.gradient_checkpointing_enable() + for t_enc, flag in zip(text_encoders, self.get_text_encoders_train_flags(args, text_encoders)): + if flag: + if t_enc.supports_gradient_checkpointing: + t_enc.gradient_checkpointing_enable() del t_enc network.enable_gradient_checkpointing() # may have no effect @@ -522,14 +526,17 @@ def train(self, args): unet_weight_dtype = te_weight_dtype = weight_dtype # Experimental Feature: Put base model into fp8 to save vram - if args.fp8_base: + if args.fp8_base or args.fp8_base_unet: assert torch.__version__ >= "2.1.0", "fp8_base requires torch>=2.1.0 / fp8を使う場合はtorch>=2.1.0が必要です。" assert ( args.mixed_precision != "no" ), "fp8_base requires mixed precision='fp16' or 'bf16' / fp8を使う場合はmixed_precision='fp16'または'bf16'が必要です。" - accelerator.print("enable fp8 training.") + accelerator.print("enable fp8 training for U-Net.") unet_weight_dtype = torch.float8_e4m3fn - te_weight_dtype = torch.float8_e4m3fn + + if not args.fp8_base_unet: + accelerator.print("enable fp8 training for Text Encoder.") + te_weight_dtype = weight_dtype if args.fp8_base_unet else torch.float8_e4m3fn # unet.to(accelerator.device) # this makes faster `to(dtype)` below, but consumes 23 GB VRAM # unet.to(dtype=unet_weight_dtype) # without moving to gpu, this takes a lot of time and main memory @@ -546,19 +553,18 @@ def train(self, args): t_enc.to(dtype=te_weight_dtype) if hasattr(t_enc, "text_model") and hasattr(t_enc.text_model, "embeddings"): # nn.Embedding not support FP8 - t_enc.text_model.embeddings.to( - dtype=(weight_dtype if te_weight_dtype != weight_dtype else te_weight_dtype)) + t_enc.text_model.embeddings.to(dtype=(weight_dtype if te_weight_dtype != weight_dtype else te_weight_dtype)) elif hasattr(t_enc, "encoder") and hasattr(t_enc.encoder, "embeddings"): - t_enc.encoder.embeddings.to( - dtype=(weight_dtype if te_weight_dtype != weight_dtype else te_weight_dtype)) + t_enc.encoder.embeddings.to(dtype=(weight_dtype if te_weight_dtype != weight_dtype else te_weight_dtype)) # acceleratorがなんかよろしくやってくれるらしい / accelerator will do something good if args.deepspeed: + flags = self.get_text_encoders_train_flags(args, text_encoders) ds_model = deepspeed_utils.prepare_deepspeed_model( args, unet=unet if train_unet else None, - text_encoder1=text_encoders[0] if train_text_encoder else None, - text_encoder2=text_encoders[1] if train_text_encoder and len(text_encoders) > 1 else None, + text_encoder1=text_encoders[0] if flags[0] else None, + text_encoder2=(text_encoders[1] if flags[1] else None) if len(text_encoders) > 1 else None, network=network, ) ds_model, optimizer, train_dataloader, lr_scheduler = accelerator.prepare( @@ -571,11 +577,14 @@ def train(self, args): else: unet.to(accelerator.device, dtype=unet_weight_dtype) # move to device because unet is not prepared by accelerator if train_text_encoder: + text_encoders = [ + (accelerator.prepare(t_enc) if flag else t_enc) + for t_enc, flag in zip(text_encoders, self.get_text_encoders_train_flags(args, text_encoders)) + ] if len(text_encoders) > 1: - text_encoder = text_encoders = [accelerator.prepare(t_enc) for t_enc in text_encoders] + text_encoder = text_encoders else: - text_encoder = accelerator.prepare(text_encoder) - text_encoders = [text_encoder] + text_encoder = text_encoders[0] else: pass # if text_encoder is not trained, no need to prepare. and device and dtype are already set @@ -587,11 +596,11 @@ def train(self, args): if args.gradient_checkpointing: # according to TI example in Diffusers, train is required unet.train() - for t_enc in text_encoders: + for t_enc, frag in zip(text_encoders, self.get_text_encoders_train_flags(args, text_encoders)): t_enc.train() # set top parameter requires_grad = True for gradient checkpointing works - if train_text_encoder: + if frag: t_enc.text_model.embeddings.requires_grad_(True) else: @@ -736,6 +745,7 @@ def load_model_hook(models, input_dir): "ss_huber_schedule": args.huber_schedule, "ss_huber_c": args.huber_c, "ss_fp8_base": args.fp8_base, + "ss_fp8_base_unet": args.fp8_base_unet, } self.update_metadata(metadata, args) # architecture specific metadata @@ -1004,6 +1014,7 @@ def remove_model(old_ckpt_name): for t_enc in text_encoders: del t_enc text_encoders = [] + text_encoder = None # For --sample_at_first self.sample_images(accelerator, args, 0, global_step, accelerator.device, vae, tokenizers, text_encoder, unet) @@ -1018,7 +1029,7 @@ def remove_model(old_ckpt_name): # log device and dtype for each model logger.info(f"unet dtype: {unet_weight_dtype}, device: {unet.device}") for t_enc in text_encoders: - logger.info(f"text_encoder dtype: {te_weight_dtype}, device: {t_enc.device}") + logger.info(f"text_encoder dtype: {t_enc.dtype}, device: {t_enc.device}") clean_memory_on_device(accelerator.device) @@ -1073,12 +1084,17 @@ def remove_model(old_ckpt_name): text_encoder_outputs_list = batch.get("text_encoder_outputs_list", None) if text_encoder_outputs_list is not None: text_encoder_conds = text_encoder_outputs_list # List of text encoder outputs - else: + if ( + text_encoder_conds is None + or len(text_encoder_conds) == 0 + or text_encoder_conds[0] is None + or train_text_encoder + ): with torch.set_grad_enabled(train_text_encoder), accelerator.autocast(): # Get the text embedding for conditioning if args.weighted_captions: # SD only - text_encoder_conds = get_weighted_text_embeddings( + encoded_text_encoder_conds = get_weighted_text_embeddings( tokenizers[0], text_encoder, batch["captions"], @@ -1088,13 +1104,18 @@ def remove_model(old_ckpt_name): ) else: input_ids = [ids.to(accelerator.device) for ids in batch["input_ids_list"]] - text_encoder_conds = text_encoding_strategy.encode_tokens( + encoded_text_encoder_conds = text_encoding_strategy.encode_tokens( tokenize_strategy, self.get_models_for_text_encoding(args, accelerator, text_encoders), input_ids, ) if args.full_fp16: - text_encoder_conds = [c.to(weight_dtype) for c in text_encoder_conds] + encoded_text_encoder_conds = [c.to(weight_dtype) for c in encoded_text_encoder_conds] + + # if encoded_text_encoder_conds is not None, update cached text_encoder_conds + for i in range(len(encoded_text_encoder_conds)): + if encoded_text_encoder_conds[i] is not None: + text_encoder_conds[i] = encoded_text_encoder_conds[i] # sample noise, call unet, get target noise_pred, target, timesteps, huber_c, weighting = self.get_noise_pred_and_target( @@ -1257,6 +1278,12 @@ def setup_parser() -> argparse.ArgumentParser: parser.add_argument("--unet_lr", type=float, default=None, help="learning rate for U-Net / U-Netの学習率") parser.add_argument("--text_encoder_lr", type=float, default=None, help="learning rate for Text Encoder / Text Encoderの学習率") + parser.add_argument( + "--fp8_base_unet", + action="store_true", + help="use fp8 for U-Net (or DiT), Text Encoder is fp16 or bf16" + " / U-Net(またはDiT)にfp8を使用する。Text Encoderはfp16またはbf16", + ) parser.add_argument( "--network_weights", type=str, default=None, help="pretrained weights for network / 学習するネットワークの初期重み" From 3be712e3e011b0378fad389641cec0c1869555ab Mon Sep 17 00:00:00 2001 From: Kohya S Date: Tue, 27 Aug 2024 21:40:02 +0900 Subject: [PATCH 183/748] feat: Update direct loading fp8 ckpt for LoRA training --- README.md | 7 +++- flux_minimal_inference.py | 27 +----------- flux_train_network.py | 16 +++++++- library/flux_utils.py | 12 ++++-- library/utils.py | 62 +++++++++++++++++++++++++++- networks/flux_merge_lora.py | 82 ++++++++++++++++++++++++++----------- 6 files changed, 151 insertions(+), 55 deletions(-) diff --git a/README.md b/README.md index 1203b5ebc..0108ada59 100644 --- a/README.md +++ b/README.md @@ -9,13 +9,18 @@ __Please update PyTorch to 2.4.0. We have tested with `torch==2.4.0` and `torchv The command to install PyTorch is as follows: `pip3 install torch==2.4.0 torchvision==0.19.0 --index-url https://download.pytorch.org/whl/cu124` +Aug 27, 2024 (update 2): +In FLUX.1 LoRA training, when `--fp8_base` is specified, the FLUX.1 model file with fp8 (`float8_e4m3fn` type) can be loaded directly. Also, in `flux_minimal_inference.py`, it is possible to load it by specifying `fp8 (float8_e4m3fn)` in `--flux_dtype`. + +In `flux_merge_lora.py`, you can now specify the precision at save time with `fp8` (see `--help` for details). Also, if you do not specify the merge model, only the model type conversion will be performed. + Aug 27, 2024: - FLUX.1 LoRA training now supports CLIP-L LoRA. Please remove `--network_train_unet_only`. T5XXL is not trained. The output of T5XXL is still cached, so `--cache_text_encoder_outputs` or `--cache_text_encoder_outputs_to_disk` is still required. The trained LoRA can be used with ComfyUI. - `flux_extract_lora.py` and `convert_flux_lora.py` do not support CLIP-L LoRA. - `--sigmoid_scale` is now effective even when `--timestep_sampling shift` is specified. Normally, leave it at 1.0. Larger values make the value before shift closer to a uniform distribution. -- __Experimental__ `--fp8_base_unet` option is added to `flux_train_network.py`. Flux can be trained with fp8, and CLIP-L can be trained with bf16/fp16. When specifying this option, the `--fp8_base` option is not required (Flux is fp8, and CLIP-L is bf16/fp16, regardless of the `--fp8_base` option). +- __Experimental__ `--fp8_base_unet` option is added to `flux_train_network.py`. Flux can be trained with fp8, and CLIP-L can be trained with bf16/fp16. When specifying this option, the `--fp8_base` option is automatically enabled. Aug 25, 2024: Added `shift` option to `--timestep_sampling` in FLUX.1 fine-tuning and LoRA training. Shifts timesteps according to the value of `--discrete_flow_shift` (shifts the value of sigmoid of normal distribution random number). It may be good to start with a value of 3.1582 (=e^1.15) for `--discrete_flow_shift`. diff --git a/flux_minimal_inference.py b/flux_minimal_inference.py index 5b8aa2506..56c1b1982 100644 --- a/flux_minimal_inference.py +++ b/flux_minimal_inference.py @@ -10,7 +10,6 @@ import numpy as np import torch -from safetensors.torch import safe_open, load_file from tqdm import tqdm from PIL import Image import accelerate @@ -21,7 +20,7 @@ init_ipex() -from library.utils import setup_logging +from library.utils import setup_logging, str_to_dtype setup_logging() import logging @@ -288,28 +287,6 @@ def generate_image( name = "schnell" if "schnell" in args.ckpt_path else "dev" # TODO change this to a more robust way is_schnell = name == "schnell" - def str_to_dtype(s: Optional[str], default_dtype: Optional[torch.dtype] = None) -> torch.dtype: - if s is None: - return default_dtype - if s in ["bf16", "bfloat16"]: - return torch.bfloat16 - elif s in ["fp16", "float16"]: - return torch.float16 - elif s in ["fp32", "float32"]: - return torch.float32 - elif s in ["fp8_e4m3fn", "e4m3fn", "float8_e4m3fn"]: - return torch.float8_e4m3fn - elif s in ["fp8_e4m3fnuz", "e4m3fnuz", "float8_e4m3fnuz"]: - return torch.float8_e4m3fnuz - elif s in ["fp8_e5m2", "e5m2", "float8_e5m2"]: - return torch.float8_e5m2 - elif s in ["fp8_e5m2fnuz", "e5m2fnuz", "float8_e5m2fnuz"]: - return torch.float8_e5m2fnuz - elif s in ["fp8", "float8"]: - return torch.float8_e4m3fn # default fp8 - else: - raise ValueError(f"Unsupported dtype: {s}") - def is_fp8(dt): return dt in [torch.float8_e4m3fn, torch.float8_e4m3fnuz, torch.float8_e5m2, torch.float8_e5m2fnuz] @@ -348,7 +325,7 @@ def is_fp8(dt): encoding_strategy = strategy_flux.FluxTextEncodingStrategy() # DiT - model = flux_utils.load_flow_model(name, args.ckpt_path, flux_dtype, loading_device) + model = flux_utils.load_flow_model(name, args.ckpt_path, None, loading_device) model.eval() logger.info(f"Casting model to {flux_dtype}") model.to(flux_dtype) # make sure model is dtype diff --git a/flux_train_network.py b/flux_train_network.py index 1a40de61a..4a63c2de4 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -29,6 +29,9 @@ def assert_extra_args(self, args, train_dataset_group): super().assert_extra_args(args, train_dataset_group) # sdxl_train_util.verify_sdxl_training_args(args) + if args.fp8_base_unet: + args.fp8_base = True # if fp8_base_unet is enabled, fp8_base is also enabled for FLUX.1 + if args.cache_text_encoder_outputs_to_disk and not args.cache_text_encoder_outputs: logger.warning( "cache_text_encoder_outputs_to_disk is enabled, so cache_text_encoder_outputs is also enabled / cache_text_encoder_outputs_to_diskが有効になっているため、cache_text_encoder_outputsも有効になります" @@ -61,9 +64,20 @@ def load_target_model(self, args, weight_dtype, accelerator): name = self.get_flux_model_name(args) # if we load to cpu, flux.to(fp8) takes a long time + if args.fp8_base: + loading_dtype = None # as is + else: + loading_dtype = weight_dtype + model = flux_utils.load_flow_model( - name, args.pretrained_model_name_or_path, weight_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors + name, args.pretrained_model_name_or_path, loading_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors ) + if args.fp8_base: + # check dtype of model + if model.dtype == torch.float8_e4m3fnuz or model.dtype == torch.float8_e5m2 or model.dtype == torch.float8_e5m2fnuz: + raise ValueError(f"Unsupported fp8 model dtype: {model.dtype}") + elif model.dtype == torch.float8_e4m3fn: + logger.info("Loaded fp8 FLUX model") if args.split_mode: model = self.prepare_split_model(model, weight_dtype, accelerator) diff --git a/library/flux_utils.py b/library/flux_utils.py index 37166933a..680836168 100644 --- a/library/flux_utils.py +++ b/library/flux_utils.py @@ -1,5 +1,5 @@ import json -from typing import Union +from typing import Optional, Union import einops import torch @@ -20,7 +20,9 @@ # temporary copy from sd3_utils TODO refactor -def load_safetensors(path: str, device: Union[str, torch.device], disable_mmap: bool = False, dtype: torch.dtype = torch.float32): +def load_safetensors( + path: str, device: Union[str, torch.device], disable_mmap: bool = False, dtype: Optional[torch.dtype] = torch.float32 +): if disable_mmap: # return safetensors.torch.load(open(path, "rb").read()) # use experimental loader @@ -38,11 +40,13 @@ def load_safetensors(path: str, device: Union[str, torch.device], disable_mmap: def load_flow_model( - name: str, ckpt_path: str, dtype: torch.dtype, device: Union[str, torch.device], disable_mmap: bool = False + name: str, ckpt_path: str, dtype: Optional[torch.dtype], device: Union[str, torch.device], disable_mmap: bool = False ) -> flux_models.Flux: logger.info(f"Building Flux model {name}") with torch.device("meta"): - model = flux_models.Flux(flux_models.configs[name].params).to(dtype) + model = flux_models.Flux(flux_models.configs[name].params) + if dtype is not None: + model = model.to(dtype) # load_sft doesn't support torch.device logger.info(f"Loading state dict from {ckpt_path}") diff --git a/library/utils.py b/library/utils.py index a16209979..d355cb109 100644 --- a/library/utils.py +++ b/library/utils.py @@ -82,6 +82,66 @@ def setup_logging(args=None, log_level=None, reset=False): logger.info(msg_init) +def str_to_dtype(s: Optional[str], default_dtype: Optional[torch.dtype] = None) -> torch.dtype: + """ + Convert a string to a torch.dtype + + Args: + s: string representation of the dtype + default_dtype: default dtype to return if s is None + + Returns: + torch.dtype: the corresponding torch.dtype + + Raises: + ValueError: if the dtype is not supported + + Examples: + >>> str_to_dtype("float32") + torch.float32 + >>> str_to_dtype("fp32") + torch.float32 + >>> str_to_dtype("float16") + torch.float16 + >>> str_to_dtype("fp16") + torch.float16 + >>> str_to_dtype("bfloat16") + torch.bfloat16 + >>> str_to_dtype("bf16") + torch.bfloat16 + >>> str_to_dtype("fp8") + torch.float8_e4m3fn + >>> str_to_dtype("fp8_e4m3fn") + torch.float8_e4m3fn + >>> str_to_dtype("fp8_e4m3fnuz") + torch.float8_e4m3fnuz + >>> str_to_dtype("fp8_e5m2") + torch.float8_e5m2 + >>> str_to_dtype("fp8_e5m2fnuz") + torch.float8_e5m2fnuz + """ + if s is None: + return default_dtype + if s in ["bf16", "bfloat16"]: + return torch.bfloat16 + elif s in ["fp16", "float16"]: + return torch.float16 + elif s in ["fp32", "float32", "float"]: + return torch.float32 + elif s in ["fp8_e4m3fn", "e4m3fn", "float8_e4m3fn"]: + return torch.float8_e4m3fn + elif s in ["fp8_e4m3fnuz", "e4m3fnuz", "float8_e4m3fnuz"]: + return torch.float8_e4m3fnuz + elif s in ["fp8_e5m2", "e5m2", "float8_e5m2"]: + return torch.float8_e5m2 + elif s in ["fp8_e5m2fnuz", "e5m2fnuz", "float8_e5m2fnuz"]: + return torch.float8_e5m2fnuz + elif s in ["fp8", "float8"]: + return torch.float8_e4m3fn # default fp8 + else: + raise ValueError(f"Unsupported dtype: {s}") + + def mem_eff_save_file(tensors: Dict[str, torch.Tensor], filename: str, metadata: Dict[str, Any] = None): """ memory efficient save file @@ -198,7 +258,7 @@ def _deserialize_tensor(self, tensor_bytes, metadata): if tensor_bytes is None: byte_tensor = torch.empty(0, dtype=torch.uint8) else: - tensor_bytes = bytearray(tensor_bytes) # make it writable + tensor_bytes = bytearray(tensor_bytes) # make it writable byte_tensor = torch.frombuffer(tensor_bytes, dtype=torch.uint8) # process float8 types diff --git a/networks/flux_merge_lora.py b/networks/flux_merge_lora.py index d5e82920d..2e0d4c297 100644 --- a/networks/flux_merge_lora.py +++ b/networks/flux_merge_lora.py @@ -8,7 +8,7 @@ from safetensors.torch import load_file, save_file from tqdm import tqdm -from library.utils import setup_logging +from library.utils import setup_logging, str_to_dtype, MemoryEfficientSafeOpen, mem_eff_save_file setup_logging() import logging @@ -34,18 +34,23 @@ def load_state_dict(file_name, dtype): return sd, metadata -def save_to_file(file_name, state_dict, dtype, metadata): +def save_to_file(file_name, state_dict, dtype, metadata, mem_eff_save=False): if dtype is not None: logger.info(f"converting to {dtype}...") - for key in list(state_dict.keys()): + for key in tqdm(list(state_dict.keys())): if type(state_dict[key]) == torch.Tensor: state_dict[key] = state_dict[key].to(dtype) logger.info(f"saving to: {file_name}") - save_file(state_dict, file_name, metadata=metadata) + if mem_eff_save: + mem_eff_save_file(state_dict, file_name, metadata=metadata) + else: + save_file(state_dict, file_name, metadata=metadata) -def merge_to_flux_model(loading_device, working_device, flux_model, models, ratios, merge_dtype, save_dtype): +def merge_to_flux_model( + loading_device, working_device, flux_model, models, ratios, merge_dtype, save_dtype, mem_eff_load_save=False +): # create module map without loading state_dict logger.info(f"loading keys from FLUX.1 model: {flux_model}") lora_name_to_module_key = {} @@ -57,7 +62,14 @@ def merge_to_flux_model(loading_device, working_device, flux_model, models, rati lora_name = lora_flux.LoRANetwork.LORA_PREFIX_FLUX + "_" + module_name.replace(".", "_") lora_name_to_module_key[lora_name] = key - flux_state_dict = load_file(flux_model, device=loading_device) + if mem_eff_load_save: + flux_state_dict = {} + with MemoryEfficientSafeOpen(flux_model) as flux_file: + for key in tqdm(flux_file.keys()): + flux_state_dict[key] = flux_file.get_tensor(key).to(loading_device) # dtype is not changed + else: + flux_state_dict = load_file(flux_model, device=loading_device) + for model, ratio in zip(models, ratios): logger.info(f"loading: {model}") lora_sd, _ = load_state_dict(model, merge_dtype) # loading on CPU @@ -120,9 +132,17 @@ def merge_to_flux_model(loading_device, working_device, flux_model, models, rati return flux_state_dict -def merge_to_flux_model_diffusers(loading_device, working_device, flux_model, models, ratios, merge_dtype, save_dtype): +def merge_to_flux_model_diffusers( + loading_device, working_device, flux_model, models, ratios, merge_dtype, save_dtype, mem_eff_load_save=False +): logger.info(f"loading keys from FLUX.1 model: {flux_model}") - flux_state_dict = load_file(flux_model, device=loading_device) + if mem_eff_load_save: + flux_state_dict = {} + with MemoryEfficientSafeOpen(flux_model) as flux_file: + for key in tqdm(flux_file.keys()): + flux_state_dict[key] = flux_file.get_tensor(key).to(loading_device) # dtype is not changed + else: + flux_state_dict = load_file(flux_model, device=loading_device) def create_key_map(n_double_layers, n_single_layers): key_map = {} @@ -474,19 +494,15 @@ def merge_lora_models(models, ratios, merge_dtype, concat=False, shuffle=False): def merge(args): + if args.models is None: + args.models = [] + if args.ratios is None: + args.ratios = [] + assert len(args.models) == len( args.ratios ), "number of models must be equal to number of ratios / モデルの数と重みの数は合わせてください" - def str_to_dtype(p): - if p == "float": - return torch.float - if p == "fp16": - return torch.float16 - if p == "bf16": - return torch.bfloat16 - return None - merge_dtype = str_to_dtype(args.precision) save_dtype = str_to_dtype(args.save_precision) if save_dtype is None: @@ -500,11 +516,25 @@ def str_to_dtype(p): if args.flux_model is not None: if not args.diffusers: state_dict = merge_to_flux_model( - args.loading_device, args.working_device, args.flux_model, args.models, args.ratios, merge_dtype, save_dtype + args.loading_device, + args.working_device, + args.flux_model, + args.models, + args.ratios, + merge_dtype, + save_dtype, + args.mem_eff_load_save, ) else: state_dict = merge_to_flux_model_diffusers( - args.loading_device, args.working_device, args.flux_model, args.models, args.ratios, merge_dtype, save_dtype + args.loading_device, + args.working_device, + args.flux_model, + args.models, + args.ratios, + merge_dtype, + save_dtype, + args.mem_eff_load_save, ) if args.no_metadata: @@ -517,7 +547,7 @@ def str_to_dtype(p): ) logger.info(f"saving FLUX model to: {args.save_to}") - save_to_file(args.save_to, state_dict, save_dtype, sai_metadata) + save_to_file(args.save_to, state_dict, save_dtype, sai_metadata, args.mem_eff_load_save) else: state_dict, metadata = merge_lora_models(args.models, args.ratios, merge_dtype, args.concat, args.shuffle) @@ -546,14 +576,14 @@ def setup_parser() -> argparse.ArgumentParser: "--save_precision", type=str, default=None, - choices=[None, "float", "fp16", "bf16"], - help="precision in saving, same to merging if omitted / 保存時に精度を変更して保存する、省略時はマージ時の精度と同じ", + help="precision in saving, same to merging if omitted. supported types: " + "float32, fp16, bf16, fp8 (same as fp8_e4m3fn), fp8_e4m3fn, fp8_e4m3fnuz, fp8_e5m2, fp8_e5m2fnuz" + " / 保存時に精度を変更して保存する、省略時はマージ時の精度と同じ", ) parser.add_argument( "--precision", type=str, default="float", - choices=["float", "fp16", "bf16"], help="precision in merging (float is recommended) / マージの計算時の精度(floatを推奨)", ) parser.add_argument( @@ -562,6 +592,12 @@ def setup_parser() -> argparse.ArgumentParser: default=None, help="FLUX.1 model to load, merge LoRA models if omitted / 読み込むモデル、指定しない場合はLoRAモデルをマージする", ) + parser.add_argument( + "--mem_eff_load_save", + action="store_true", + help="use custom memory efficient load and save functions for FLUX.1 model" + " / カスタムのメモリ効率の良い読み込みと保存関数をFLUX.1モデルに使用する", + ) parser.add_argument( "--loading_device", type=str, From a61cf73a5cb5209c3f4d1a3688dd276a4dfd1ecb Mon Sep 17 00:00:00 2001 From: Kohya S Date: Tue, 27 Aug 2024 21:44:10 +0900 Subject: [PATCH 184/748] update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0108ada59..7b1d9cc6c 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ The command to install PyTorch is as follows: Aug 27, 2024 (update 2): In FLUX.1 LoRA training, when `--fp8_base` is specified, the FLUX.1 model file with fp8 (`float8_e4m3fn` type) can be loaded directly. Also, in `flux_minimal_inference.py`, it is possible to load it by specifying `fp8 (float8_e4m3fn)` in `--flux_dtype`. -In `flux_merge_lora.py`, you can now specify the precision at save time with `fp8` (see `--help` for details). Also, if you do not specify the merge model, only the model type conversion will be performed. +In `flux_merge_lora.py`, you can now specify `fp8` for the save precision (see `--help` for details). Also, if you do not specify the merge model, only the dtype conversion will be performed. Aug 27, 2024: From 6c0e8a5a1740dbd50a0a45ec1f08983877605cd7 Mon Sep 17 00:00:00 2001 From: Akegarasu Date: Thu, 29 Aug 2024 14:50:29 +0800 Subject: [PATCH 185/748] make guidance_scale keep float in args --- flux_train_network.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/flux_train_network.py b/flux_train_network.py index 4a63c2de4..354a8c6f3 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -324,7 +324,8 @@ def get_noise_pred_and_target( img_ids = flux_utils.prepare_img_ids(bsz, packed_latent_height, packed_latent_width).to(device=accelerator.device) # get guidance - guidance_vec = torch.full((bsz,), args.guidance_scale, device=accelerator.device) + # ensure guidance_scale in args is float + guidance_vec = torch.full((bsz,), float(args.guidance_scale), device=accelerator.device) # ensure the hidden state will require grad if args.gradient_checkpointing: From a0cfb0894c4be4ea27412e4c12ed13f68b57094b Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 29 Aug 2024 21:20:33 +0900 Subject: [PATCH 186/748] Cleaned up README --- README.md | 281 +++++++++++++++++++++++++++--------------------------- 1 file changed, 143 insertions(+), 138 deletions(-) diff --git a/README.md b/README.md index 7b1d9cc6c..a73eead0b 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ This repository contains training, generation and utility scripts for Stable Diffusion. -## FLUX.1 LoRA training (WIP) +## FLUX.1 training (WIP) This feature is experimental. The options and the training script may change in the future. Please let us know if you have any idea to improve the training. @@ -9,127 +9,24 @@ __Please update PyTorch to 2.4.0. We have tested with `torch==2.4.0` and `torchv The command to install PyTorch is as follows: `pip3 install torch==2.4.0 torchvision==0.19.0 --index-url https://download.pytorch.org/whl/cu124` -Aug 27, 2024 (update 2): -In FLUX.1 LoRA training, when `--fp8_base` is specified, the FLUX.1 model file with fp8 (`float8_e4m3fn` type) can be loaded directly. Also, in `flux_minimal_inference.py`, it is possible to load it by specifying `fp8 (float8_e4m3fn)` in `--flux_dtype`. +- [FLUX.1 LoRA training](#flux1-lora-training) + - [Key Options for FLUX.1 LoRA training](#key-options-for-flux1-lora-training) + - [Inference for FLUX.1 LoRA model](#inference-for-flux1-lora-model) + - [Key Features for FLUX.1 LoRA training](#key-features-for-flux1-lora-training) +- [FLUX.1 fine-tuning](#flux1-fine-tuning) + - [Key Features for FLUX.1 fine-tuning](#key-features-for-flux1-fine-tuning) +- [Extract LoRA from FLUX.1 Models](#extract-lora-from-flux1-models) +- [Convert FLUX LoRA](#convert-flux-lora) +- [Merge LoRA to FLUX.1 checkpoint](#merge-lora-to-flux1-checkpoint) +- [FLUX.1 Multi-resolution training](#flux1-multi-resolution-training) -In `flux_merge_lora.py`, you can now specify `fp8` for the save precision (see `--help` for details). Also, if you do not specify the merge model, only the dtype conversion will be performed. - -Aug 27, 2024: - -- FLUX.1 LoRA training now supports CLIP-L LoRA. Please remove `--network_train_unet_only`. T5XXL is not trained. The output of T5XXL is still cached, so `--cache_text_encoder_outputs` or `--cache_text_encoder_outputs_to_disk` is still required. The trained LoRA can be used with ComfyUI. - - `flux_extract_lora.py` and `convert_flux_lora.py` do not support CLIP-L LoRA. -- `--sigmoid_scale` is now effective even when `--timestep_sampling shift` is specified. Normally, leave it at 1.0. Larger values make the value before shift closer to a uniform distribution. - -- __Experimental__ `--fp8_base_unet` option is added to `flux_train_network.py`. Flux can be trained with fp8, and CLIP-L can be trained with bf16/fp16. When specifying this option, the `--fp8_base` option is automatically enabled. - -Aug 25, 2024: -Added `shift` option to `--timestep_sampling` in FLUX.1 fine-tuning and LoRA training. Shifts timesteps according to the value of `--discrete_flow_shift` (shifts the value of sigmoid of normal distribution random number). It may be good to start with a value of 3.1582 (=e^1.15) for `--discrete_flow_shift`. -Sample command: `--timestep_sampling shift --discrete_flow_shift 3.1582 --model_prediction_type raw --guidance_scale 1.0` - -Aug 24, 2024 (update 2): - -__Experimental__ Added an option to split the projection layers of q/k/v/txt in the attention and apply LoRA to each of them in FLUX.1 LoRA training. Specify `"split_qkv=True"` in network_args like `--network_args "split_qkv=True"` (`train_blocks` is also available). - -The number of parameters may increase slightly, so the expressiveness may increase, but the training time may be longer. No detailed verification has been done. - -This implementation is experimental, so it may be deprecated or changed in the future. - -The .safetensors file of the trained model is compatible with the normal LoRA model of sd-scripts, so it should be usable in inference environments such as ComfyUI as it is. Also, converting it to AI-toolkit (Diffusers) format with `convert_flux_lora.py` will reduce the size. It should be no problem to convert it if you use it in the inference environment. - -Technical details: In the implementation of Black Forest Labs' model, the projection layers of q/k/v (and txt in single blocks) are concatenated into one. If LoRA is added there as it is, the LoRA module is only one, and the dimension is large. In contrast, in the implementation of Diffusers, the projection layers of q/k/v/txt are separated. Therefore, the LoRA module is applied to q/k/v/txt separately, and the dimension is smaller. This option is for training LoRA similar to the latter. - -The compatibility of the saved model (state dict) is ensured by concatenating the weights of multiple LoRAs. However, since there are zero weights in some parts, the model size will be large. - -Aug 24, 2024: -Fixed an issue where the attention mask was not applied in single blocks when `--apply_t5_attn_mask` was specified. - -Aug 22, 2024 (update 2): -Fixed a bug that the embedding was zero-padded when `--apply_t5_attn_mask` option was applied. Also, the cache file for text encoder outputs now records whether the mask is applied or not. Please note that the cache file will be recreated when switching the `--apply_t5_attn_mask` option. - -Added a script to extract LoRA from the difference between the two models of FLUX.1. Use `networks/flux_extract_lora.py`. See `--help` for details. Normally, more than 50GB of memory is required, but specifying the `--mem_eff_safe_open` option significantly reduces memory usage. However, this option is a custom implementation, so unexpected problems may occur. Please always check if the model is loaded correctly. - -Aug 22, 2024: -Fixed a bug in multi-GPU training. It should work with fine-tuning and LoRA training. `--double_blocks_to_swap` and `--single_blocks_to_swap` cannot be used in multi-GPU training. - -`--disable_mmap_load_safetensors` option now works in `flux_train.py`. It speeds up model loading during training in WSL2. It is also effective in reducing memory usage when loading models during multi-GPU training. Please always check if the model is loaded correctly, as it uses a custom implementation of safetensors loading. - - -Aug 21, 2024 (update 3): -- There is a bug that `--full_bf16` option is enabled even if it is not specified in `flux_train.py`. The bug will be fixed sooner. __Please specify the `--full_bf16` option explicitly, especially when training with 24GB VRAM.__ -- Stochastic rounding is now implemented when `--fused_backward_pass` is specified. The implementation is -based on the code provided by 2kpr. Thank you so much! - - With this change, `--fused_backward_pass` is recommended over `--blockwise_fused_optimizers` when `--full_bf16` is specified. - - Please note that `--fused_backward_pass` is only supported with Adafactor. -- The sample command in [FLUX.1 fine-tuning](#flux1-fine-tuning) is updated to reflect these changes. -- Fixed `--single_blocks_to_swap` is not working in `flux_train.py`. - -Aug 21, 2024 (update 2): -Fixed an error in applying mask in Attention. The attention mask was float, but it should be bool. - -Added a script `convert_flux_lora.py` to convert LoRA between sd-scripts format (BFL-based) and AI-toolkit format (Diffusers-based). See `--help` for details. BFL-based LoRA has a large module, so converting it to Diffusers format may reduce temporary memory usage in the inference environment. Note that re-conversion will increase the size of LoRA. - - -Aug 21, 2024: -The specification of `--apply_t5_attn_mask` has been changed. Previously, the T5 output was zero-padded, but now, two steps are taken: "1. Apply mask when encoding T5" and "2. Apply mask in the attention of Double Block". Fine tuning, LoRA training, and inference in `flux_mini_inference.py` have been changed. - -Aug 20, 2024 (update 3): -__Experimental__ The multi-resolution training is now supported with caching latents to disk. - -The cache files now hold latents for multiple resolutions. Since the latents are appended to the current cache file, it is recommended to delete the cache file in advance (if not, the old latents is kept in .npz file). - -See [FLUX.1 Multi-resolution training](#flux1-multi-resolution-training) for details. - -Aug 20, 2024 (update 2): -`flux_merge_lora.py` now supports LoRA from AI-toolkit (Diffusers based keys). Specify `--diffusers` option to merge LoRA with Diffusers based keys. Thanks to exveria1015! - -Aug 20, 2024: -FLUX.1 supports multi-resolution inference, so training at multiple resolutions may be possible and the results may be improved (like 1024x1024, 768x768 and 512x512 ... you can use any resolution). - -The script seems to support multi-resolution even in the current version, ~~if `--cache_latents_to_disk` is not specified~~ -> `--cache_latents_to_disk` is now supported for multi-resolution training. Please try if you are interested. See [FLUX.1 Multi-resolution training](#flux1-multi-resolution-training) for details. - -We will support multi-resolution caching to disk in the near future. - -Aug 19, 2024: -In `flux_train.py`, the memory consumption during model saving is reduced when `--save_precision` is set to the same value as `--mixed_precision` (about 22GB). Please set the same value unless there is a reason. - -An experimental option `--mem_eff_save` is also added. When specified, it can further reduce memory consumption (about 22GB), but since it is a custom implementation, unexpected problems may occur. We do not recommend using it unless you are familiar with the code. - -Aug 18, 2024: -Memory-efficient training based on 2kpr's implementation is implemented in `flux_train.py`. Thanks to 2kpr! See [FLUX.1 fine-tuning](#flux1-fine-tuning) for details. - -Aug 17, 2024: -Added a script `flux_train.py` to train FLUX.1. The script is experimental and not an optimized version. It needs >28GB VRAM for training. - -Aug 16, 2024: - -Added a script `networks/flux_merge_lora.py` to merge LoRA into FLUX.1 checkpoint. See [Merge LoRA to FLUX.1 checkpoint](#merge-lora-to-flux1-checkpoint) for details. - -FLUX.1 schnell model based training is now supported (but not tested). If the name of the model file contains `schnell`, the model is treated as a schnell model. - -Added `--t5xxl_max_token_length` option to specify the maximum token length of T5XXL. The default is 512 in dev and 256 in schnell. - -Previously, when `--max_token_length` was specified, that value was used, and 512 was used when omitted (default). Therefore, there is no impact if `--max_token_length` was not specified. If `--max_token_length` was specified, please specify `--t5xxl_max_token_length` instead. `--max_token_length` is ignored during FLUX.1 training. - -Aug 14, 2024: Sample image generation during training is now supported. Specify options such as `--sample_prompts` and `--sample_every_n_epochs`. It will be very slow when `--split_mode` is specified. - -Aug 13, 2024: - -__Experimental__ A network argument `train_blocks` is added to `lora_flux`. This is to select the target blocks of LoRA from FLUX double blocks and single blocks. Specify like `--network_args "train_blocks=single"`. `all` trains both double blocks and single blocks, `double` trains only double blocks, and `single` trains only single blocks. The default (omission) is `all`. - -This argument is available even if `--split_mode` is not specified. - -__Experimental__ `--split_mode` option is added to `flux_train_network.py`. This splits FLUX into double blocks and single blocks for training. By enabling gradients only for the single blocks part, memory usage is reduced. When this option is specified, you need to specify `"train_blocks=single"` in the network arguments. - -This option enables training with 12GB VRAM GPUs, but the training speed is 2-3 times slower than the default. - -Aug 11, 2024: Fix `--apply_t5_attn_mask` option to work. Please remove and re-generate the latents cache file if you have used the option before. - -Aug 10, 2024: LoRA key prefix is changed to `lora_unet` from `lora_flex` to make it compatible with ComfyUI. +### FLUX.1 LoRA training +We have added a new training script for LoRA training. The script is `flux_train_network.py`. See `--help` for options. -### FLUX.1 LoRA training +FLUX.1 model, CLIP-L, and T5XXL models are recommended to be in bf16/fp16 format. If you specify `--fp8_base`, you can use fp8 models for FLUX.1. The fp8 model is only compatible with `float8_e4m3fn` format. -We have added a new training script for LoRA training. The script is `flux_train_network.py`. See `--help` for options. Sample command is below, settings are based on [AI Toolkit by Ostris](https://github.com/ostris/ai-toolkit). It will work with 24GB VRAM GPUs. +Sample command is below. It will work with 24GB VRAM GPUs. ``` accelerate launch --mixed_precision bf16 --num_cpu_threads_per_process 1 flux_train_network.py @@ -137,45 +34,106 @@ accelerate launch --mixed_precision bf16 --num_cpu_threads_per_process 1 flux_t --ae ae.sft --cache_latents_to_disk --save_model_as safetensors --sdpa --persistent_data_loader_workers --max_data_loader_n_workers 2 --seed 42 --gradient_checkpointing --mixed_precision bf16 --save_precision bf16 --network_module networks.lora_flux --network_dim 4 --optimizer_type adamw8bit --learning_rate 1e-4 ---network_train_unet_only --cache_text_encoder_outputs --cache_text_encoder_outputs_to_disk --fp8_base +--cache_text_encoder_outputs --cache_text_encoder_outputs_to_disk --fp8_base --highvram --max_train_epochs 4 --save_every_n_epochs 1 --dataset_config dataset_1024_bs2.toml ---output_dir path/to/output/dir --output_name flux-lora-name --timestep_sampling sigmoid ---model_prediction_type raw --guidance_scale 1.0 --loss_type l2 +--output_dir path/to/output/dir --output_name flux-lora-name +--timestep_sampling shift --discrete_flow_shift 3.1582 --model_prediction_type raw --guidance_scale 1.0 ``` (The command is multi-line for readability. Please combine it into one line.) The training can be done with 16GB VRAM GPUs with Adafactor optimizer. Please use settings like below: ``` ---optimizer_type adafactor --optimizer_args "relative_step=False" "scale_parameter=False" "warmup_init=False" +--optimizer_type adafactor --optimizer_args "relative_step=False" "scale_parameter=False" "warmup_init=False" --lr_scheduler constant_with_warmup --max_grad_norm 0.0 ``` The training can be done with 12GB VRAM GPUs with Adafactor optimizer, `--split_mode` and `train_blocks=single` options. Please use settings like below: ``` ---optimizer_type adafactor --optimizer_args "relative_step=False" "scale_parameter=False" "warmup_init=False" --split_mode --network_args "train_blocks=single" +--optimizer_type adafactor --optimizer_args "relative_step=False" "scale_parameter=False" "warmup_init=False" --split_mode --network_args "train_blocks=single" --lr_scheduler constant_with_warmup --max_grad_norm 0.0 ``` -LoRAs for Text Encoders are not tested yet. +We also not sure how many epochs are needed for convergence, and how the learning rate should be adjusted. + +The trained LoRA model can be used with ComfyUI. + +#### Key Options for FLUX.1 LoRA training -We have added some new options (Aug 10, 2024): `--time_sampling`, `--sigmoid_scale`, `--model_prediction_type` and `--discrete_flow_shift`. The options are as follows: +There are many unknown points in FLUX.1 training, so some settings can be specified by arguments. Here are the arguments. The arguments and sample settings are still experimental and may change in the future. Feedback on the settings is welcome. -- `--timestep_sampling` is the method to sample timesteps (0-1): `sigma` (sigma-based, same as SD3), `uniform` (uniform random), or `sigmoid` (sigmoid of random normal, same as x-flux). +- `--timestep_sampling` is the method to sample timesteps (0-1): + - `sigma`: sigma-based, same as SD3 + - `uniform`: uniform random + - `sigmoid`: sigmoid of random normal, same as x-flux, AI-toolkit etc. + - `shift`: shifts the value of sigmoid of normal distribution random number - `--sigmoid_scale` is the scale factor for sigmoid timestep sampling (only used when timestep-sampling is "sigmoid"). The default is 1.0. Larger values will make the sampling more uniform. -- `--model_prediction_type` is how to interpret and process the model prediction: `raw` (use as is, same as x-flux), `additive` (add to noisy input), `sigma_scaled` (apply sigma scaling, same as SD3). + - This option is effective even when`--timestep_sampling shift` is specified. + - Normally, leave it at 1.0. Larger values make the value before shift closer to a uniform distribution. +- `--model_prediction_type` is how to interpret and process the model prediction: + - `raw`: use as is, same as x-flux + - `additive`: add to noisy input + - `sigma_scaled`: apply sigma scaling, same as SD3 - `--discrete_flow_shift` is the discrete flow shift for the Euler Discrete Scheduler, default is 3.0 (same as SD3). -`--loss_type` may be useful for FLUX.1 training. The default is `l2`. +The existing `--loss_type` option may be useful for FLUX.1 training. The default is `l2`. -In our experiments, `--timestep_sampling sigma --model_prediction_type raw --discrete_flow_shift 1.0` with `--loss_type l2` seems to work better than the default (SD3) settings. The multiplier of LoRA should be adjusted. +~~In our experiments, `--timestep_sampling sigma --model_prediction_type raw --discrete_flow_shift 1.0` with `--loss_type l2` seems to work better than the default (SD3) settings. The multiplier of LoRA should be adjusted. ~~ -additional note (Aug 11): A quick check shows that the settings in [AI Toolkit by Ostris](https://github.com/ostris/ai-toolkit) seems to be equivalent to `--timestep_sampling sigmoid --model_prediction_type raw --guidance_scale 1.0` (with the default `l2` loss_type). This seems to be a good starting point. Thanks to Ostris for the great work! +In our experiments, `--timestep_sampling shift --discrete_flow_shift 3.1582 --model_prediction_type raw --guidance_scale 1.0` with `--loss_type l2` seems to work better than other settings. + +The settings in [AI Toolkit by Ostris](https://github.com/ostris/ai-toolkit) seems to be equivalent to `--timestep_sampling sigmoid --model_prediction_type raw --guidance_scale 1.0` (with the default `l2` loss_type). Other settings may work better, so please try different settings. -We also not sure how many epochs are needed for convergence, and how the learning rate should be adjusted. +Other options are described below. -The trained LoRA model can be used with ComfyUI. +#### Distribution of timesteps + +`--timestep_sampling` and `--sigmoid_scale`, `--discrete_flow_shift` adjust the distribution of timesteps. The distribution is shown in the figures below. + +The effect of `--discrete_flow_shift` with `--timestep_sampling shift` (when `--sigmoid_scale` is not specified, the default is 1.0): + +The difference between `--timestep_sampling uniform` and `--timestep_sampling sigma`: + +The effect of `--timestep_sampling sigmoid` and `--sigmoid_scale` (when `--timestep_sampling sigmoid` is specified, `--discrete_flow_shift` is ignored): + +#### Key Features for FLUX.1 LoRA training + +1. CLIP-L LoRA Support: + - FLUX.1 LoRA training now supports CLIP-L LoRA. + - Remove `--network_train_unet_only` from your command. + - T5XXL is not trained. Its output is still cached, so `--cache_text_encoder_outputs` or `--cache_text_encoder_outputs_to_disk` is still required. + - The trained LoRA can be used with ComfyUI. + - Note: `flux_extract_lora.py` and `convert_flux_lora.py` do not support CLIP-L LoRA. + +2. Experimental FP8/FP16 mixed training: + - `--fp8_base_unet` enables training with fp8 for FLUX and bf16/fp16 for CLIP-L. + - FLUX can be trained with fp8, and CLIP-L can be trained with bf16/fp16. + - When specifying this option, the `--fp8_base` option is automatically enabled. + +3. Split Q/K/V Projection Layers (Experimental): + - Added an option to split the projection layers of q/k/v/txt in the attention and apply LoRA to each of them. + - Specify `"split_qkv=True"` in network_args like `--network_args "split_qkv=True"` (`train_blocks` is also available). + - May increase expressiveness but also training time. + - The trained model is compatible with normal LoRA models in sd-scripts and can be used in environments like ComfyUI. + - Converting to AI-toolkit (Diffusers) format with `convert_flux_lora.py` will reduce the size. + +4. T5 Attention Mask Application: + - T5 attention mask is applied when `--apply_t5_attn_mask` is specified. + - Now applies mask when encoding T5 and in the attention of Double and Single Blocks + - Affects fine-tuning, LoRA training, and inference in `flux_minimal_inference.py`. + +5. Multi-resolution Training Support: + - FLUX.1 now supports multi-resolution training, even with caching latents to disk. + + +Technical details of Q/K/V split: + +In the implementation of Black Forest Labs' model, the projection layers of q/k/v (and txt in single blocks) are concatenated into one. If LoRA is added there as it is, the LoRA module is only one, and the dimension is large. In contrast, in the implementation of Diffusers, the projection layers of q/k/v/txt are separated. Therefore, the LoRA module is applied to q/k/v/txt separately, and the dimension is smaller. This option is for training LoRA similar to the latter. + +The compatibility of the saved model (state dict) is ensured by concatenating the weights of multiple LoRAs. However, since there are zero weights in some parts, the model size will be large. + +### Inference for FLUX.1 with LoRA model The inference script is also available. The script is `flux_minimal_inference.py`. See `--help` for options. @@ -185,6 +143,8 @@ python flux_minimal_inference.py --ckpt flux1-dev.sft --clip_l sd3/clip_l.safete ### FLUX.1 fine-tuning +The memory-efficient training with block swap is based on 2kpr's implementation. Thanks to 2kpr! + Sample command for FLUX.1 fine-tuning is below. This will work with 24GB VRAM GPUs, and 64GB main memory is recommended. ``` @@ -195,15 +155,13 @@ accelerate launch --mixed_precision bf16 --num_cpu_threads_per_process 1 flux_t --dataset_config dataset_1024_bs1.toml --output_dir path/to/output/dir --output_name output-name --learning_rate 5e-5 --max_train_epochs 4 --sdpa --highvram --cache_text_encoder_outputs_to_disk --cache_latents_to_disk --save_every_n_epochs 1 --optimizer_type adafactor --optimizer_args "relative_step=False" "scale_parameter=False" "warmup_init=False" ---timestep_sampling sigmoid --model_prediction_type raw --guidance_scale 1.0 +--lr_scheduler constant_with_warmup --max_grad_norm 0.0 +--timestep_sampling shift --discrete_flow_shift 3.1582 --model_prediction_type raw --guidance_scale 1.0 --fused_backward_pass --double_blocks_to_swap 6 --cpu_offload_checkpointing --full_bf16 ``` +(The command is multi-line for readability. Please combine it into one line.) -(Combine the command into one line.) - -Sample image generation during training is not tested yet. - -Options are almost the same as LoRA training. The difference is `--blockwise_fused_optimizers`, `--double_blocks_to_swap` and `--cpu_offload_checkpointing`. `--single_blocks_to_swap` is also available. +Options are almost the same as LoRA training. The difference is `--full_bf16`, `--blockwise_fused_optimizers`, `--double_blocks_to_swap` and `--cpu_offload_checkpointing`. `--single_blocks_to_swap` is also available. `--full_bf16` enables the training with bf16 (weights and gradients). @@ -223,6 +181,53 @@ Swap 6 double blocks and use cpu offload checkpointing may be a good starting po The learning rate and the number of epochs are not optimized yet. Please adjust them according to the training results. +#### Key Features for FLUX.1 fine-tuning + +1. Sample Image Generation: + - Sample image generation during training is now supported. + - The prompts are cached and used for generation if `--cache_latents` is specified. So changing the prompts during training will not affect the generated images. + - Specify options such as `--sample_prompts` and `--sample_every_n_epochs`. + - Note: It will be very slow when `--split_mode` is specified. + +2. Experimental Memory-Efficient Saving: + - `--mem_eff_save` option can further reduce memory consumption during model saving (about 22GB). + - This is a custom implementation and may cause unexpected issues. Use with caution. + +3. T5XXL Token Length Control: + - Added `--t5xxl_max_token_length` option to specify the maximum token length of T5XXL. + - Default is 512 in dev and 256 in schnell models. + +4. Multi-GPU Training Support: + - Note: `--double_blocks_to_swap` and `--single_blocks_to_swap` cannot be used in multi-GPU training. + +5. Disable mmap Load for Safetensors: + - `--disable_mmap_load_safetensors` option now works in `flux_train.py`. + - Speeds up model loading during training in WSL2. + - Effective in reducing memory usage when loading models during multi-GPU training. + + +### Extract LoRA from FLUX.1 Models + +Script: `networks/flux_extract_lora.py` + +Extracts LoRA from the difference between two FLUX.1 models. + +Offers memory-efficient option with `--mem_eff_safe_open`. + +CLIP-L LoRA is not supported. + +### Convert FLUX LoRA + +Script: `convert_flux_lora.py` + +Converts LoRA between sd-scripts format (BFL-based) and AI-toolkit format (Diffusers-based). + +If you use LoRA in the inference environment, converting it to AI-toolkit format may reduce temporary memory usage. + +Note that re-conversion will increase the size of LoRA. + +CLIP-L LoRA is not supported. + ### Merge LoRA to FLUX.1 checkpoint `networks/flux_merge_lora.py` merges LoRA to FLUX.1 checkpoint. __The script is experimental.__ From daa6ad516581872aa6acaa15c0d24aad4f998838 Mon Sep 17 00:00:00 2001 From: "Kohya S." <52813779+kohya-ss@users.noreply.github.com> Date: Thu, 29 Aug 2024 21:25:30 +0900 Subject: [PATCH 187/748] Update README.md --- README.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index a73eead0b..6e2ae3376 100644 --- a/README.md +++ b/README.md @@ -77,9 +77,9 @@ There are many unknown points in FLUX.1 training, so some settings can be specif The existing `--loss_type` option may be useful for FLUX.1 training. The default is `l2`. -~~In our experiments, `--timestep_sampling sigma --model_prediction_type raw --discrete_flow_shift 1.0` with `--loss_type l2` seems to work better than the default (SD3) settings. The multiplier of LoRA should be adjusted. ~~ +~~In our experiments, `--timestep_sampling sigma --model_prediction_type raw --discrete_flow_shift 1.0` with `--loss_type l2` seems to work better than the default (SD3) settings. The multiplier of LoRA should be adjusted.~~ -In our experiments, `--timestep_sampling shift --discrete_flow_shift 3.1582 --model_prediction_type raw --guidance_scale 1.0` with `--loss_type l2` seems to work better than other settings. +In our experiments, `--timestep_sampling shift --discrete_flow_shift 3.1582 --model_prediction_type raw --guidance_scale 1.0` (with the default `l2` loss_type) seems to work better. The settings in [AI Toolkit by Ostris](https://github.com/ostris/ai-toolkit) seems to be equivalent to `--timestep_sampling sigmoid --model_prediction_type raw --guidance_scale 1.0` (with the default `l2` loss_type). @@ -92,10 +92,13 @@ Other options are described below. `--timestep_sampling` and `--sigmoid_scale`, `--discrete_flow_shift` adjust the distribution of timesteps. The distribution is shown in the figures below. The effect of `--discrete_flow_shift` with `--timestep_sampling shift` (when `--sigmoid_scale` is not specified, the default is 1.0): +![Figure_2](https://github.com/user-attachments/assets/d9de42f9-f17d-40da-b88d-d964402569c6) -The difference between `--timestep_sampling uniform` and `--timestep_sampling sigma`: +The difference between `--timestep_sampling sigmoid` and `--timestep_sampling uniform` (when `--timestep_sampling sigmoid` or `uniform` is specified, `--discrete_flow_shift` is ignored): +![Figure_3](https://github.com/user-attachments/assets/27029009-1f5d-4dc0-bb24-13d02ac4fdad) The effect of `--timestep_sampling sigmoid` and `--sigmoid_scale` (when `--timestep_sampling sigmoid` is specified, `--discrete_flow_shift` is ignored): +![Figure_4](https://github.com/user-attachments/assets/08a2267c-e47e-48b7-826e-f9a080787cdc) #### Key Features for FLUX.1 LoRA training From 8ecf0fc4bfd1b03cfc6fd4055af0b3363f5d1f38 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 29 Aug 2024 22:10:57 +0900 Subject: [PATCH 188/748] Refactor code to ensure args.guidance_scale is always a float #1525 --- flux_train.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/flux_train.py b/flux_train.py index 410728d44..32a36f036 100644 --- a/flux_train.py +++ b/flux_train.py @@ -688,8 +688,8 @@ def optimizer_hook(parameter: torch.Tensor): packed_latent_height, packed_latent_width = noisy_model_input.shape[2] // 2, noisy_model_input.shape[3] // 2 img_ids = flux_utils.prepare_img_ids(bsz, packed_latent_height, packed_latent_width).to(device=accelerator.device) - # get guidance - guidance_vec = torch.full((bsz,), args.guidance_scale, device=accelerator.device) + # get guidance: ensure args.guidance_scale is float + guidance_vec = torch.full((bsz,), float(args.guidance_scale), device=accelerator.device) # call model l_pooled, t5_out, txt_ids, t5_attn_mask = text_encoder_conds From 8fdfd8c857a88aaa78ac9c2488432ef8115982f2 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 29 Aug 2024 22:26:29 +0900 Subject: [PATCH 189/748] Update safetensors to version 0.4.4 in requirements.txt #1524 --- README.md | 7 +++++++ requirements.txt | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 6e2ae3376..30264e738 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,13 @@ __Please update PyTorch to 2.4.0. We have tested with `torch==2.4.0` and `torchv The command to install PyTorch is as follows: `pip3 install torch==2.4.0 torchvision==0.19.0 --index-url https://download.pytorch.org/whl/cu124` +### Recent Updates + +Aug 29, 2024: +Please update `safetensors` to `0.4.4` to fix the error when using `--resume`. `requirements.txt` is updated. + +### Contents + - [FLUX.1 LoRA training](#flux1-lora-training) - [Key Options for FLUX.1 LoRA training](#key-options-for-flux1-lora-training) - [Inference for FLUX.1 LoRA model](#inference-for-flux1-lora-model) diff --git a/requirements.txt b/requirements.txt index 4ee19b3ee..4c1bc3922 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,7 +10,7 @@ bitsandbytes==0.43.3 prodigyopt==1.0 lion-pytorch==0.0.6 tensorboard -safetensors==0.4.2 +safetensors==0.4.4 # gradio==3.16.2 altair==4.2.2 easygui==0.98.3 From 34f2315047f8d5b89b7a8a6093bb56679bff13c3 Mon Sep 17 00:00:00 2001 From: Akegarasu Date: Thu, 29 Aug 2024 22:33:37 +0800 Subject: [PATCH 190/748] fix: text_encoder_conds referenced before assignment --- train_network.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/train_network.py b/train_network.py index 048c7e7bd..628c421cb 100644 --- a/train_network.py +++ b/train_network.py @@ -1081,12 +1081,12 @@ def remove_model(old_ckpt_name): # print(f"set multiplier: {multipliers}") accelerator.unwrap_model(network).set_multiplier(multipliers) + text_encoder_conds = [] text_encoder_outputs_list = batch.get("text_encoder_outputs_list", None) if text_encoder_outputs_list is not None: text_encoder_conds = text_encoder_outputs_list # List of text encoder outputs if ( - text_encoder_conds is None - or len(text_encoder_conds) == 0 + len(text_encoder_conds) == 0 or text_encoder_conds[0] is None or train_text_encoder ): From 35882f8d5bbd076a97622cf6193c988621481803 Mon Sep 17 00:00:00 2001 From: Akegarasu Date: Thu, 29 Aug 2024 23:03:43 +0800 Subject: [PATCH 191/748] fix --- train_network.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/train_network.py b/train_network.py index 628c421cb..4204bce34 100644 --- a/train_network.py +++ b/train_network.py @@ -1112,10 +1112,14 @@ def remove_model(old_ckpt_name): if args.full_fp16: encoded_text_encoder_conds = [c.to(weight_dtype) for c in encoded_text_encoder_conds] - # if encoded_text_encoder_conds is not None, update cached text_encoder_conds - for i in range(len(encoded_text_encoder_conds)): - if encoded_text_encoder_conds[i] is not None: - text_encoder_conds[i] = encoded_text_encoder_conds[i] + # if text_encoder_conds is not cached, use encoded_text_encoder_conds + if len(text_encoder_conds) == 0: + text_encoder_conds = encoded_text_encoder_conds + else: + # if encoded_text_encoder_conds is not None, update cached text_encoder_conds + for i in range(len(encoded_text_encoder_conds)): + if encoded_text_encoder_conds[i] is not None: + text_encoder_conds[i] = encoded_text_encoder_conds[i] # sample noise, call unet, get target noise_pred, target, timesteps, huber_c, weighting = self.get_noise_pred_and_target( From 25c9040f4fbbcbddc0297895369337846152fea4 Mon Sep 17 00:00:00 2001 From: sdbds <865105819@qq.com> Date: Sat, 31 Aug 2024 03:05:19 +0800 Subject: [PATCH 192/748] Update flux_train_utils.py --- library/flux_train_utils.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/library/flux_train_utils.py b/library/flux_train_utils.py index a8e94ac00..735bcced7 100644 --- a/library/flux_train_utils.py +++ b/library/flux_train_utils.py @@ -371,7 +371,7 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): def get_noisy_model_input_and_timesteps( args, noise_scheduler, latents, noise, device, dtype ) -> Tuple[torch.Tensor, torch.Tensor, torch.Tensor]: - bsz = latents.shape[0] + bsz, _, H, W = latents.shape sigmas = None if args.timestep_sampling == "uniform" or args.timestep_sampling == "sigmoid": @@ -392,6 +392,16 @@ def get_noisy_model_input_and_timesteps( timesteps = logits_norm.sigmoid() timesteps = (timesteps * shift) / (1 + (shift - 1) * timesteps) + t = timesteps.view(-1, 1, 1, 1) + timesteps = timesteps * 1000.0 + noisy_model_input = (1 - t) * latents + t * noise + elif args.timestep_sampling == "flux_shift": + logits_norm = torch.randn(bsz, device=device) + logits_norm = logits_norm * args.sigmoid_scale # larger scale for more uniform sampling + timesteps = logits_norm.sigmoid() + mu=get_lin_function(y1=0.5, y2=1.15)((H//2) * (W//2)) + timesteps = time_shift(mu, 1.0, timesteps) + t = timesteps.view(-1, 1, 1, 1) timesteps = timesteps * 1000.0 noisy_model_input = (1 - t) * latents + t * noise @@ -571,7 +581,7 @@ def add_flux_train_arguments(parser: argparse.ArgumentParser): parser.add_argument( "--timestep_sampling", - choices=["sigma", "uniform", "sigmoid", "shift"], + choices=["sigma", "uniform", "sigmoid", "shift", "flux_shift"], default="sigma", help="Method to sample timesteps: sigma-based, uniform random, sigmoid of random normal and shift of sigmoid." " / タイムステップをサンプリングする方法:sigma、random uniform、random normalのsigmoid、sigmoidのシフト。", From ef510b3cb94427d72df681389e1214251813b1a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9D=92=E9=BE=8D=E8=81=96=E8=80=85=40bdsqlsz?= <865105819@qq.com> Date: Sun, 1 Sep 2024 17:41:01 +0800 Subject: [PATCH 193/748] Sd3 freeze x_block (#1417) * Update sd3_train.py * add freeze block lr * Update train_util.py * update --- library/train_util.py | 21 +++++++++++++++++++++ sd3_train.py | 9 ++++++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/library/train_util.py b/library/train_util.py index 989758ad5..74aae0a79 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -3246,6 +3246,12 @@ def add_sd_models_arguments(parser: argparse.ArgumentParser): default=None, help="directory for caching Tokenizer (for offline training) / Tokenizerをキャッシュするディレクトリ(ネット接続なしでの学習のため)", ) + parser.add_argument( + "--num_last_block_to_freeze", + type=int, + default=None, + help="num_last_block_to_freeze", + ) def add_optimizer_arguments(parser: argparse.ArgumentParser): @@ -5758,6 +5764,21 @@ def sample_image_inference( pass +def freeze_blocks(model, num_last_block_to_freeze, block_name="x_block"): + + filtered_blocks = [(name, param) for name, param in model.named_parameters() if block_name in name] + print(f"filtered_blocks: {len(filtered_blocks)}") + + num_blocks_to_freeze = min(len(filtered_blocks), num_last_block_to_freeze) + + print(f"freeze_blocks: {num_blocks_to_freeze}") + + start_freezing_from = max(0, len(filtered_blocks) - num_blocks_to_freeze) + + for i in range(start_freezing_from, len(filtered_blocks)): + _, param = filtered_blocks[i] + param.requires_grad = False + # endregion diff --git a/sd3_train.py b/sd3_train.py index 3b6c8a118..ce9500b0b 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -368,12 +368,19 @@ def train(args): vae.eval() vae.to(accelerator.device, dtype=vae_dtype) + mmdit.requires_grad_(train_mmdit) + if not train_mmdit: + mmdit.to(accelerator.device, dtype=weight_dtype) # because of unet is not prepared + + if args.num_last_block_to_freeze: + train_util.freeze_blocks(mmdit,num_last_block_to_freeze=args.num_last_block_to_freeze) + training_models = [] params_to_optimize = [] # if train_unet: training_models.append(mmdit) # if block_lrs is None: - params_to_optimize.append({"params": list(mmdit.parameters()), "lr": args.learning_rate}) + params_to_optimize.append({"params": list(filter(lambda p: p.requires_grad, mmdit.parameters())), "lr": args.learning_rate}) # else: # params_to_optimize.extend(get_block_params_to_optimize(mmdit, block_lrs)) From 92e7600cc2fea604321004f260e7db76c764f388 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 1 Sep 2024 18:57:07 +0900 Subject: [PATCH 194/748] Move freeze_blocks to sd3_train because it's only for sd3 --- README.md | 3 +++ library/train_util.py | 21 --------------------- sd3_train.py | 22 ++++++++++++++++++++-- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index 30264e738..d96367194 100644 --- a/README.md +++ b/README.md @@ -309,6 +309,9 @@ resolution = [512, 512] SD3 training is done with `sd3_train.py`. +__Sep 1, 2024__: +- `--num_last_block_to_freeze` is added to `sd3_train.py`. This option is to freeze the last n blocks of the MMDiT. See [#1417](https://github.com/kohya-ss/sd-scripts/pull/1417) for details. Thanks to sdbds! + __Jul 27, 2024__: - Latents and text encoder outputs caching mechanism is refactored significantly. - Existing cache files for SD3 need to be recreated. Please delete the previous cache files. diff --git a/library/train_util.py b/library/train_util.py index 74aae0a79..989758ad5 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -3246,12 +3246,6 @@ def add_sd_models_arguments(parser: argparse.ArgumentParser): default=None, help="directory for caching Tokenizer (for offline training) / Tokenizerをキャッシュするディレクトリ(ネット接続なしでの学習のため)", ) - parser.add_argument( - "--num_last_block_to_freeze", - type=int, - default=None, - help="num_last_block_to_freeze", - ) def add_optimizer_arguments(parser: argparse.ArgumentParser): @@ -5764,21 +5758,6 @@ def sample_image_inference( pass -def freeze_blocks(model, num_last_block_to_freeze, block_name="x_block"): - - filtered_blocks = [(name, param) for name, param in model.named_parameters() if block_name in name] - print(f"filtered_blocks: {len(filtered_blocks)}") - - num_blocks_to_freeze = min(len(filtered_blocks), num_last_block_to_freeze) - - print(f"freeze_blocks: {num_blocks_to_freeze}") - - start_freezing_from = max(0, len(filtered_blocks) - num_blocks_to_freeze) - - for i in range(start_freezing_from, len(filtered_blocks)): - _, param = filtered_blocks[i] - param.requires_grad = False - # endregion diff --git a/sd3_train.py b/sd3_train.py index ce9500b0b..87011b215 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -373,7 +373,20 @@ def train(args): mmdit.to(accelerator.device, dtype=weight_dtype) # because of unet is not prepared if args.num_last_block_to_freeze: - train_util.freeze_blocks(mmdit,num_last_block_to_freeze=args.num_last_block_to_freeze) + # freeze last n blocks of MM-DIT + block_name = "x_block" + filtered_blocks = [(name, param) for name, param in mmdit.named_parameters() if block_name in name] + accelerator.print(f"filtered_blocks: {len(filtered_blocks)}") + + num_blocks_to_freeze = min(len(filtered_blocks), args.num_last_block_to_freeze) + + accelerator.print(f"freeze_blocks: {num_blocks_to_freeze}") + + start_freezing_from = max(0, len(filtered_blocks) - num_blocks_to_freeze) + + for i in range(start_freezing_from, len(filtered_blocks)): + _, param = filtered_blocks[i] + param.requires_grad = False training_models = [] params_to_optimize = [] @@ -1033,12 +1046,17 @@ def setup_parser() -> argparse.ArgumentParser: default=None, help="number of optimizers for fused backward pass and optimizer step / fused backward passとoptimizer stepのためのoptimizer数", ) - parser.add_argument( "--skip_latents_validity_check", action="store_true", help="skip latents validity check / latentsの正当性チェックをスキップする", ) + parser.add_argument( + "--num_last_block_to_freeze", + type=int, + default=None, + help="freeze last n blocks of MM-DIT / MM-DITの最後のnブロックを凍結する", + ) return parser From 4f6d915d15262447b1049a78a55678b2825784a3 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 1 Sep 2024 19:12:29 +0900 Subject: [PATCH 195/748] update help and README --- README.md | 5 +++++ library/flux_train_utils.py | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index d96367194..331951ef4 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,10 @@ The command to install PyTorch is as follows: ### Recent Updates +Sep 1, 2024: +- `--timestamp_sampling` has `flux_shift` option. Thanks to sdbds! + - This is the same shift as FLUX.1 dev inference, adjusting the timestep sampling depending on the resolution. `--discrete_flow_shift` is ignored when `flux_shift` is specified. It is not verified which is better, `shift` or `flux_shift`. + Aug 29, 2024: Please update `safetensors` to `0.4.4` to fix the error when using `--resume`. `requirements.txt` is updated. @@ -73,6 +77,7 @@ There are many unknown points in FLUX.1 training, so some settings can be specif - `uniform`: uniform random - `sigmoid`: sigmoid of random normal, same as x-flux, AI-toolkit etc. - `shift`: shifts the value of sigmoid of normal distribution random number + - `flux_shift`: shifts the value of sigmoid of normal distribution random number, depending on the resolution (same as FLUX.1 dev inference). `--discrete_flow_shift` is ignored when `flux_shift` is specified. - `--sigmoid_scale` is the scale factor for sigmoid timestep sampling (only used when timestep-sampling is "sigmoid"). The default is 1.0. Larger values will make the sampling more uniform. - This option is effective even when`--timestep_sampling shift` is specified. - Normally, leave it at 1.0. Larger values make the value before shift closer to a uniform distribution. diff --git a/library/flux_train_utils.py b/library/flux_train_utils.py index 735bcced7..9dad4baa2 100644 --- a/library/flux_train_utils.py +++ b/library/flux_train_utils.py @@ -371,7 +371,7 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): def get_noisy_model_input_and_timesteps( args, noise_scheduler, latents, noise, device, dtype ) -> Tuple[torch.Tensor, torch.Tensor, torch.Tensor]: - bsz, _, H, W = latents.shape + bsz, _, h, w = latents.shape sigmas = None if args.timestep_sampling == "uniform" or args.timestep_sampling == "sigmoid": @@ -399,7 +399,7 @@ def get_noisy_model_input_and_timesteps( logits_norm = torch.randn(bsz, device=device) logits_norm = logits_norm * args.sigmoid_scale # larger scale for more uniform sampling timesteps = logits_norm.sigmoid() - mu=get_lin_function(y1=0.5, y2=1.15)((H//2) * (W//2)) + mu = get_lin_function(y1=0.5, y2=1.15)((h // 2) * (w // 2)) timesteps = time_shift(mu, 1.0, timesteps) t = timesteps.view(-1, 1, 1, 1) @@ -583,8 +583,8 @@ def add_flux_train_arguments(parser: argparse.ArgumentParser): "--timestep_sampling", choices=["sigma", "uniform", "sigmoid", "shift", "flux_shift"], default="sigma", - help="Method to sample timesteps: sigma-based, uniform random, sigmoid of random normal and shift of sigmoid." - " / タイムステップをサンプリングする方法:sigma、random uniform、random normalのsigmoid、sigmoidのシフト。", + help="Method to sample timesteps: sigma-based, uniform random, sigmoid of random normal, shift of sigmoid and FLUX.1 shifting." + " / タイムステップをサンプリングする方法:sigma、random uniform、random normalのsigmoid、sigmoidのシフト、FLUX.1のシフト。", ) parser.add_argument( "--sigmoid_scale", From 6abacf04da756808ffca567f6660445ecdf478bd Mon Sep 17 00:00:00 2001 From: Kohya S Date: Mon, 2 Sep 2024 13:05:26 +0900 Subject: [PATCH 196/748] update README --- README.md | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 331951ef4..5dd916aa0 100644 --- a/README.md +++ b/README.md @@ -184,7 +184,7 @@ Options are almost the same as LoRA training. The difference is `--full_bf16`, ` `--blockwise_fused_optimizers` enables the fusing of the optimizer step into the backward pass for each block. This is similar to `--fused_backward_pass`. Any optimizer can be used, but Adafactor is recommended for memory efficiency. `--blockwise_fused_optimizers` cannot be used with `--fused_backward_pass`. Stochastic rounding is not supported for now. -`--double_blocks_to_swap` and `--single_blocks_to_swap` are the number of double blocks and single blocks to swap. The default is None (no swap). These options must be combined with `--fused_backward_pass` or `--blockwise_fused_optimizers`. `--double_blocks_to_swap` can be specified with `--single_blocks_to_swap`. The recommended maximum number of blocks to swap is 9 for double blocks and 18 for single blocks. +`--double_blocks_to_swap` and `--single_blocks_to_swap` are the number of double blocks and single blocks to swap. The default is None (no swap). These options must be combined with `--fused_backward_pass` or `--blockwise_fused_optimizers`. `--double_blocks_to_swap` can be specified with `--single_blocks_to_swap`. The recommended maximum number of blocks to swap is 9 for double blocks and 18 for single blocks. Please see the next chapter for details. `--cpu_offload_checkpointing` is to offload the gradient checkpointing to CPU. This reduces about 2GB of VRAM usage. @@ -198,24 +198,32 @@ The learning rate and the number of epochs are not optimized yet. Please adjust #### Key Features for FLUX.1 fine-tuning -1. Sample Image Generation: +1. Technical details of double/single block swap: + - Reduce memory usage by transferring double and single blocks of FLUX.1 from GPU to CPU when they are not needed. + - During forward pass, the weights of the blocks that have finished calculation are transferred to CPU, and the weights of the blocks to be calculated are transferred to GPU. + - The same is true for the backward pass, but the order is reversed. The gradients remain on the GPU. + - Since the transfer between CPU and GPU takes time, the training will be slower. + - `--double_blocks_to_swap` and `--single_blocks_to_swap` specify the number of blocks to swap. For example, `--double_blocks_to_swap 6` swaps 6 blocks at each step of training, but the remaining 13 blocks are always on the GPU. + - About 640MB of memory can be saved per double block, and about 320MB of memory can be saved per single block. + +2. Sample Image Generation: - Sample image generation during training is now supported. - The prompts are cached and used for generation if `--cache_latents` is specified. So changing the prompts during training will not affect the generated images. - Specify options such as `--sample_prompts` and `--sample_every_n_epochs`. - Note: It will be very slow when `--split_mode` is specified. -2. Experimental Memory-Efficient Saving: +3. Experimental Memory-Efficient Saving: - `--mem_eff_save` option can further reduce memory consumption during model saving (about 22GB). - This is a custom implementation and may cause unexpected issues. Use with caution. -3. T5XXL Token Length Control: +4. T5XXL Token Length Control: - Added `--t5xxl_max_token_length` option to specify the maximum token length of T5XXL. - Default is 512 in dev and 256 in schnell models. -4. Multi-GPU Training Support: +5. Multi-GPU Training Support: - Note: `--double_blocks_to_swap` and `--single_blocks_to_swap` cannot be used in multi-GPU training. -5. Disable mmap Load for Safetensors: +6. Disable mmap Load for Safetensors: - `--disable_mmap_load_safetensors` option now works in `flux_train.py`. - Speeds up model loading during training in WSL2. - Effective in reducing memory usage when loading models during multi-GPU training. From b65ae9b439e4324359014d6d720aa01def3a19fc Mon Sep 17 00:00:00 2001 From: Kohya S Date: Wed, 4 Sep 2024 21:33:17 +0900 Subject: [PATCH 197/748] T5XXL LoRA training, fp8 T5XXL support --- README.md | 45 +++++++++++---- flux_train_network.py | 112 +++++++++++++++++++++++++++++------- library/flux_train_utils.py | 23 ++++++-- library/flux_utils.py | 9 ++- library/strategy_flux.py | 13 ++++- networks/lora_flux.py | 39 ++++++++++--- train_network.py | 48 ++++++++++------ 7 files changed, 222 insertions(+), 67 deletions(-) diff --git a/README.md b/README.md index 5dd916aa0..840655705 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,11 @@ The command to install PyTorch is as follows: ### Recent Updates +Sep 4, 2024: +- T5XXL LoRA is supported in LoRA training. Remove `--network_train_unet_only` and add `train_t5xxl=True` to `--network_args`. CLIP-L is also trained at the same time (T5XXL only cannot be trained). The trained model can be used with ComfyUI. +- In LoRA training, when `--fp8_base` is specified, you can specify `t5xxl_fp8_e4m3fn.safetensors` as the T5XXL weights. However, it is recommended to use fp16 weights for caching. +- Fixed an issue where the training CLIP-L LoRA was not used in sample image generation during LoRA training. + Sep 1, 2024: - `--timestamp_sampling` has `flux_shift` option. Thanks to sdbds! - This is the same shift as FLUX.1 dev inference, adjusting the timestep sampling depending on the resolution. `--discrete_flow_shift` is ignored when `flux_shift` is specified. It is not verified which is better, `shift` or `flux_shift`. @@ -41,8 +46,8 @@ Sample command is below. It will work with 24GB VRAM GPUs. ``` accelerate launch --mixed_precision bf16 --num_cpu_threads_per_process 1 flux_train_network.py ---pretrained_model_name_or_path flux1-dev.sft --clip_l sd3/clip_l.safetensors --t5xxl sd3/t5xxl_fp16.safetensors ---ae ae.sft --cache_latents_to_disk --save_model_as safetensors --sdpa --persistent_data_loader_workers +--pretrained_model_name_or_path flux1-dev.safetensors --clip_l sd3/clip_l.safetensors --t5xxl sd3/t5xxl_fp16.safetensors +--ae ae.safetensors --cache_latents_to_disk --save_model_as safetensors --sdpa --persistent_data_loader_workers --max_data_loader_n_workers 2 --seed 42 --gradient_checkpointing --mixed_precision bf16 --save_precision bf16 --network_module networks.lora_flux --network_dim 4 --optimizer_type adamw8bit --learning_rate 1e-4 --cache_text_encoder_outputs --cache_text_encoder_outputs_to_disk --fp8_base @@ -72,6 +77,11 @@ The trained LoRA model can be used with ComfyUI. There are many unknown points in FLUX.1 training, so some settings can be specified by arguments. Here are the arguments. The arguments and sample settings are still experimental and may change in the future. Feedback on the settings is welcome. +- `--pretrained_model_name_or_path` is the path to the pretrained model (FLUX.1). bf16 (original BFL model) is recommended (`flux1-dev.safetensors` or `flux1-dev.sft`). If you specify `--fp8_base`, you can use fp8 models for FLUX.1. The fp8 model is only compatible with `float8_e4m3fn` format. +- `--clip_l` is the path to the CLIP-L model. +- `--t5xxl` is the path to the T5XXL model. If you specify `--fp8_base`, you can use fp8 (float8_e4m3fn) models for T5XXL. However, it is recommended to use fp16 models for caching. +- `--ae` is the path to the autoencoder model (`ae.safetensors` or `ae.sft`). + - `--timestep_sampling` is the method to sample timesteps (0-1): - `sigma`: sigma-based, same as SD3 - `uniform`: uniform random @@ -114,16 +124,29 @@ The effect of `--timestep_sampling sigmoid` and `--sigmoid_scale` (when `--times #### Key Features for FLUX.1 LoRA training -1. CLIP-L LoRA Support: - - FLUX.1 LoRA training now supports CLIP-L LoRA. +1. CLIP-L and T5XXL LoRA Support: + - FLUX.1 LoRA training now supports CLIP-L and T5XXL LoRA training. - Remove `--network_train_unet_only` from your command. - - T5XXL is not trained. Its output is still cached, so `--cache_text_encoder_outputs` or `--cache_text_encoder_outputs_to_disk` is still required. + - Add `train_t5xxl=True` to `--network_args` to train T5XXL LoRA. CLIP-L is also trained at the same time. + - T5XXL output can be cached for CLIP-L LoRA training. So, `--cache_text_encoder_outputs` or `--cache_text_encoder_outputs_to_disk` is also available. - The trained LoRA can be used with ComfyUI. - - Note: `flux_extract_lora.py` and `convert_flux_lora.py` do not support CLIP-L LoRA. + - Note: `flux_extract_lora.py`, `convert_flux_lora.py`and `merge_flux_lora.py` do not support CLIP-L and T5XXL LoRA yet. + + | trained LoRA|option|network_args|cache_text_encoder_outputs (*1)| + |---|---|---|---| + |FLUX.1|`--network_train_unet_only`|-|o| + |FLUX.1 + CLIP-L|-|-|o (*2)| + |FLUX.1 + CLIP-L + T5XXL|-|`train_t5xxl=True`|-| + |CLIP-L (*3)|`--network_train_text_encoder_only`|-|o (*2)| + |CLIP-L + T5XXL (*3)|`--network_train_text_encoder_only`|`train_t5xxl=True`|-| + + - *1: `--cache_text_encoder_outputs` or `--cache_text_encoder_outputs_to_disk` is also available. + - *2: T5XXL output can be cached for CLIP-L LoRA training. + - *3: Not tested yet. 2. Experimental FP8/FP16 mixed training: - - `--fp8_base_unet` enables training with fp8 for FLUX and bf16/fp16 for CLIP-L. - - FLUX can be trained with fp8, and CLIP-L can be trained with bf16/fp16. + - `--fp8_base_unet` enables training with fp8 for FLUX and bf16/fp16 for CLIP-L/T5XXL. + - FLUX can be trained with fp8, and CLIP-L/T5XXL can be trained with bf16/fp16. - When specifying this option, the `--fp8_base` option is automatically enabled. 3. Split Q/K/V Projection Layers (Experimental): @@ -153,7 +176,7 @@ The compatibility of the saved model (state dict) is ensured by concatenating th The inference script is also available. The script is `flux_minimal_inference.py`. See `--help` for options. ``` -python flux_minimal_inference.py --ckpt flux1-dev.sft --clip_l sd3/clip_l.safetensors --t5xxl sd3/t5xxl_fp16.safetensors --ae ae.sft --dtype bf16 --prompt "a cat holding a sign that says hello world" --out path/to/output/dir --seed 1 --flux_dtype fp8 --offload --lora lora-flux-name.safetensors;1.0 +python flux_minimal_inference.py --ckpt flux1-dev.safetensors --clip_l sd3/clip_l.safetensors --t5xxl sd3/t5xxl_fp16.safetensors --ae ae.safetensors --dtype bf16 --prompt "a cat holding a sign that says hello world" --out path/to/output/dir --seed 1 --flux_dtype fp8 --offload --lora lora-flux-name.safetensors;1.0 ``` ### FLUX.1 fine-tuning @@ -164,7 +187,7 @@ Sample command for FLUX.1 fine-tuning is below. This will work with 24GB VRAM GP ``` accelerate launch --mixed_precision bf16 --num_cpu_threads_per_process 1 flux_train.py ---pretrained_model_name_or_path flux1-dev.sft --clip_l clip_l.safetensors --t5xxl t5xxl_fp16.safetensors --ae ae_dev.sft +--pretrained_model_name_or_path flux1-dev.safetensors --clip_l clip_l.safetensors --t5xxl t5xxl_fp16.safetensors --ae ae_dev.safetensors --save_model_as safetensors --sdpa --persistent_data_loader_workers --max_data_loader_n_workers 2 --seed 42 --gradient_checkpointing --mixed_precision bf16 --save_precision bf16 --dataset_config dataset_1024_bs1.toml --output_dir path/to/output/dir --output_name output-name @@ -256,7 +279,7 @@ CLIP-L LoRA is not supported. `networks/flux_merge_lora.py` merges LoRA to FLUX.1 checkpoint. __The script is experimental.__ ``` -python networks/flux_merge_lora.py --flux_model flux1-dev.sft --save_to output.safetensors --models lora1.safetensors --ratios 2.0 --save_precision fp16 --loading_device cuda --working_device cpu +python networks/flux_merge_lora.py --flux_model flux1-dev.safetensors --save_to output.safetensors --models lora1.safetensors --ratios 2.0 --save_precision fp16 --loading_device cuda --working_device cpu ``` You can also merge multiple LoRA models into a FLUX.1 model. Specify multiple LoRA models in `--models`. Specify the same number of ratios in `--ratios`. diff --git a/flux_train_network.py b/flux_train_network.py index 354a8c6f3..2fc0f3234 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -43,13 +43,9 @@ def assert_extra_args(self, args, train_dataset_group): train_dataset_group.is_text_encoder_output_cacheable() ), "when caching Text Encoder output, either caption_dropout_rate, shuffle_caption, token_warmup_step or caption_tag_dropout_rate cannot be used / Text Encoderの出力をキャッシュするときはcaption_dropout_rate, shuffle_caption, token_warmup_step, caption_tag_dropout_rateは使えません" - # assert ( - # args.network_train_unet_only or not args.cache_text_encoder_outputs - # ), "network for Text Encoder cannot be trained with caching Text Encoder outputs / Text Encoderの出力をキャッシュしながらText Encoderのネットワークを学習することはできません" - if not args.network_train_unet_only: - logger.info( - "network for CLIP-L only will be trained. T5XXL will not be trained / CLIP-Lのネットワークのみが学習されます。T5XXLは学習されません" - ) + # prepare CLIP-L/T5XXL training flags + self.train_clip_l = not args.network_train_unet_only + self.train_t5xxl = False # default is False even if args.network_train_unet_only is False if args.max_token_length is not None: logger.warning("max_token_length is not used in Flux training / max_token_lengthはFluxのトレーニングでは使用されません") @@ -63,12 +59,10 @@ def load_target_model(self, args, weight_dtype, accelerator): # currently offload to cpu for some models name = self.get_flux_model_name(args) - # if we load to cpu, flux.to(fp8) takes a long time - if args.fp8_base: - loading_dtype = None # as is - else: - loading_dtype = weight_dtype + # if the file is fp8 and we are using fp8_base, we can load it as is (fp8) + loading_dtype = None if args.fp8_base else weight_dtype + # if we load to cpu, flux.to(fp8) takes a long time, so we should load to gpu in future model = flux_utils.load_flow_model( name, args.pretrained_model_name_or_path, loading_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors ) @@ -85,9 +79,21 @@ def load_target_model(self, args, weight_dtype, accelerator): clip_l = flux_utils.load_clip_l(args.clip_l, weight_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors) clip_l.eval() + # if the file is fp8 and we are using fp8_base (not unet), we can load it as is (fp8) + if args.fp8_base and not args.fp8_base_unet: + loading_dtype = None # as is + else: + loading_dtype = weight_dtype + # loading t5xxl to cpu takes a long time, so we should load to gpu in future - t5xxl = flux_utils.load_t5xxl(args.t5xxl, weight_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors) + t5xxl = flux_utils.load_t5xxl(args.t5xxl, loading_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors) t5xxl.eval() + if args.fp8_base and not args.fp8_base_unet: + # check dtype of model + if t5xxl.dtype == torch.float8_e4m3fnuz or t5xxl.dtype == torch.float8_e5m2 or t5xxl.dtype == torch.float8_e5m2fnuz: + raise ValueError(f"Unsupported fp8 model dtype: {t5xxl.dtype}") + elif t5xxl.dtype == torch.float8_e4m3fn: + logger.info("Loaded fp8 T5XXL model") ae = flux_utils.load_ae(name, args.ae, weight_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors) @@ -154,25 +160,35 @@ def get_latents_caching_strategy(self, args): def get_text_encoding_strategy(self, args): return strategy_flux.FluxTextEncodingStrategy(apply_t5_attn_mask=args.apply_t5_attn_mask) + def post_process_network(self, args, accelerator, network, text_encoders, unet): + # check t5xxl is trained or not + self.train_t5xxl = network.train_t5xxl + + if self.train_t5xxl and args.cache_text_encoder_outputs: + raise ValueError( + "T5XXL is trained, so cache_text_encoder_outputs cannot be used / T5XXL学習時はcache_text_encoder_outputsは使用できません" + ) + def get_models_for_text_encoding(self, args, accelerator, text_encoders): if args.cache_text_encoder_outputs: - if self.is_train_text_encoder(args): + if self.train_clip_l and not self.train_t5xxl: return text_encoders[0:1] # only CLIP-L is needed for encoding because T5XXL is cached else: - return text_encoders # ignored + return None # no text encoders are needed for encoding because both are cached else: return text_encoders # both CLIP-L and T5XXL are needed for encoding def get_text_encoders_train_flags(self, args, text_encoders): - return [True, False] if self.is_train_text_encoder(args) else [False, False] + return [self.train_clip_l, self.train_t5xxl] def get_text_encoder_outputs_caching_strategy(self, args): if args.cache_text_encoder_outputs: + # if the text encoders is trained, we need tokenization, so is_partial is True return strategy_flux.FluxTextEncoderOutputsCachingStrategy( args.cache_text_encoder_outputs_to_disk, None, False, - is_partial=self.is_train_text_encoder(args), + is_partial=self.train_clip_l or self.train_t5xxl, apply_t5_attn_mask=args.apply_t5_attn_mask, ) else: @@ -193,8 +209,16 @@ def cache_text_encoder_outputs_if_needed( # When TE is not be trained, it will not be prepared so we need to use explicit autocast logger.info("move text encoders to gpu") - text_encoders[0].to(accelerator.device, dtype=weight_dtype) - text_encoders[1].to(accelerator.device, dtype=weight_dtype) + text_encoders[0].to(accelerator.device, dtype=weight_dtype) # always not fp8 + text_encoders[1].to(accelerator.device) + + if text_encoders[1].dtype == torch.float8_e4m3fn: + # if we load fp8 weights, the model is already fp8, so we use it as is + self.prepare_text_encoder_fp8(1, text_encoders[1], text_encoders[1].dtype, weight_dtype) + else: + # otherwise, we need to convert it to target dtype + text_encoders[1].to(weight_dtype) + with accelerator.autocast(): dataset.new_cache_text_encoder_outputs(text_encoders, accelerator.is_main_process) @@ -235,7 +259,7 @@ def cache_text_encoder_outputs_if_needed( else: # Text Encoderから毎回出力を取得するので、GPUに乗せておく text_encoders[0].to(accelerator.device, dtype=weight_dtype) - text_encoders[1].to(accelerator.device, dtype=weight_dtype) + text_encoders[1].to(accelerator.device) # def call_unet(self, args, accelerator, unet, noisy_latents, timesteps, text_conds, batch, weight_dtype): # noisy_latents = noisy_latents.to(weight_dtype) # TODO check why noisy_latents is not weight_dtype @@ -255,9 +279,12 @@ def cache_text_encoder_outputs_if_needed( # return noise_pred def sample_images(self, accelerator, args, epoch, global_step, device, ae, tokenizer, text_encoder, flux): + text_encoders = text_encoder # for compatibility + text_encoders = self.get_models_for_text_encoding(args, accelerator, text_encoders) + if not args.split_mode: flux_train_utils.sample_images( - accelerator, args, epoch, global_step, flux, ae, text_encoder, self.sample_prompts_te_outputs + accelerator, args, epoch, global_step, flux, ae, text_encoders, self.sample_prompts_te_outputs ) return @@ -281,7 +308,7 @@ def forward(self, img, img_ids, txt, txt_ids, timesteps, y, guidance=None, txt_a wrapper = FluxUpperLowerWrapper(self.flux_upper, flux, accelerator.device) clean_memory_on_device(accelerator.device) flux_train_utils.sample_images( - accelerator, args, epoch, global_step, wrapper, ae, text_encoder, self.sample_prompts_te_outputs + accelerator, args, epoch, global_step, wrapper, ae, text_encoders, self.sample_prompts_te_outputs ) clean_memory_on_device(accelerator.device) @@ -421,6 +448,47 @@ def update_metadata(self, metadata, args): def is_text_encoder_not_needed_for_training(self, args): return args.cache_text_encoder_outputs and not self.is_train_text_encoder(args) + def prepare_text_encoder_grad_ckpt_workaround(self, index, text_encoder): + if index == 0: # CLIP-L + return super().prepare_text_encoder_grad_ckpt_workaround(index, text_encoder) + else: # T5XXL + text_encoder.encoder.embed_tokens.requires_grad_(True) + + def prepare_text_encoder_fp8(self, index, text_encoder, te_weight_dtype, weight_dtype): + if index == 0: # CLIP-L + logger.info(f"prepare CLIP-L for fp8: set to {te_weight_dtype}, set embeddings to {weight_dtype}") + text_encoder.to(te_weight_dtype) # fp8 + text_encoder.text_model.embeddings.to(dtype=weight_dtype) + else: # T5XXL + + def prepare_fp8(text_encoder, target_dtype): + def forward_hook(module): + def forward(hidden_states): + hidden_gelu = module.act(module.wi_0(hidden_states)) + hidden_linear = module.wi_1(hidden_states) + hidden_states = hidden_gelu * hidden_linear + hidden_states = module.dropout(hidden_states) + + hidden_states = module.wo(hidden_states) + return hidden_states + + return forward + + for module in text_encoder.modules(): + if module.__class__.__name__ in ["T5LayerNorm", "Embedding"]: + # print("set", module.__class__.__name__, "to", target_dtype) + module.to(target_dtype) + if module.__class__.__name__ in ["T5DenseGatedActDense"]: + # print("set", module.__class__.__name__, "hooks") + module.forward = forward_hook(module) + + if flux_utils.get_t5xxl_actual_dtype(text_encoder) == torch.float8_e4m3fn and text_encoder.dtype == weight_dtype: + logger.info(f"T5XXL already prepared for fp8") + else: + logger.info(f"prepare T5XXL for fp8: set to {te_weight_dtype}, set embeddings to {weight_dtype}, add hooks") + text_encoder.to(te_weight_dtype) # fp8 + prepare_fp8(text_encoder, weight_dtype) + def setup_parser() -> argparse.ArgumentParser: parser = train_network.setup_parser() diff --git a/library/flux_train_utils.py b/library/flux_train_utils.py index 9dad4baa2..0b5d4d90e 100644 --- a/library/flux_train_utils.py +++ b/library/flux_train_utils.py @@ -85,7 +85,7 @@ def sample_images( if distributed_state.num_processes <= 1: # If only one device is available, just use the original prompt list. We don't need to care about the distribution of prompts. - with torch.no_grad(): + with torch.no_grad(), accelerator.autocast(): for prompt_dict in prompts: sample_image_inference( accelerator, @@ -187,14 +187,27 @@ def sample_image_inference( tokenize_strategy = strategy_base.TokenizeStrategy.get_strategy() encoding_strategy = strategy_base.TextEncodingStrategy.get_strategy() + text_encoder_conds = [] if sample_prompts_te_outputs and prompt in sample_prompts_te_outputs: - te_outputs = sample_prompts_te_outputs[prompt] - else: + text_encoder_conds = sample_prompts_te_outputs[prompt] + print(f"Using cached text encoder outputs for prompt: {prompt}") + if text_encoders is not None: + print(f"Encoding prompt: {prompt}") tokens_and_masks = tokenize_strategy.tokenize(prompt) # strategy has apply_t5_attn_mask option - te_outputs = encoding_strategy.encode_tokens(tokenize_strategy, text_encoders, tokens_and_masks) + encoded_text_encoder_conds = encoding_strategy.encode_tokens(tokenize_strategy, text_encoders, tokens_and_masks) + print([x.shape if x is not None else None for x in encoded_text_encoder_conds]) + + # if text_encoder_conds is not cached, use encoded_text_encoder_conds + if len(text_encoder_conds) == 0: + text_encoder_conds = encoded_text_encoder_conds + else: + # if encoded_text_encoder_conds is not None, update cached text_encoder_conds + for i in range(len(encoded_text_encoder_conds)): + if encoded_text_encoder_conds[i] is not None: + text_encoder_conds[i] = encoded_text_encoder_conds[i] - l_pooled, t5_out, txt_ids, t5_attn_mask = te_outputs + l_pooled, t5_out, txt_ids, t5_attn_mask = text_encoder_conds # sample image weight_dtype = ae.dtype # TOFO give dtype as argument diff --git a/library/flux_utils.py b/library/flux_utils.py index 680836168..7b0a41a8a 100644 --- a/library/flux_utils.py +++ b/library/flux_utils.py @@ -171,7 +171,9 @@ def load_clip_l(ckpt_path: str, dtype: torch.dtype, device: Union[str, torch.dev return clip -def load_t5xxl(ckpt_path: str, dtype: torch.dtype, device: Union[str, torch.device], disable_mmap: bool = False) -> T5EncoderModel: +def load_t5xxl( + ckpt_path: str, dtype: Optional[torch.dtype], device: Union[str, torch.device], disable_mmap: bool = False +) -> T5EncoderModel: T5_CONFIG_JSON = """ { "architectures": [ @@ -217,6 +219,11 @@ def load_t5xxl(ckpt_path: str, dtype: torch.dtype, device: Union[str, torch.devi return t5xxl +def get_t5xxl_actual_dtype(t5xxl: T5EncoderModel) -> torch.dtype: + # nn.Embedding is the first layer, but it could be casted to bfloat16 or float32 + return t5xxl.encoder.block[0].layer[0].SelfAttention.q.weight.dtype + + def prepare_img_ids(batch_size: int, packed_latent_height: int, packed_latent_width: int): img_ids = torch.zeros(packed_latent_height, packed_latent_width, 3) img_ids[..., 1] = img_ids[..., 1] + torch.arange(packed_latent_height)[:, None] diff --git a/library/strategy_flux.py b/library/strategy_flux.py index 5d0839132..6c9ef5e4a 100644 --- a/library/strategy_flux.py +++ b/library/strategy_flux.py @@ -5,8 +5,7 @@ import numpy as np from transformers import CLIPTokenizer, T5TokenizerFast -from library import sd3_utils, train_util -from library import sd3_models +from library import flux_utils, train_util from library.strategy_base import LatentsCachingStrategy, TextEncodingStrategy, TokenizeStrategy, TextEncoderOutputsCachingStrategy from library.utils import setup_logging @@ -100,6 +99,8 @@ def __init__( super().__init__(cache_to_disk, batch_size, skip_disk_cache_validity_check, is_partial) self.apply_t5_attn_mask = apply_t5_attn_mask + self.warn_fp8_weights = False + def get_outputs_npz_path(self, image_abs_path: str) -> str: return os.path.splitext(image_abs_path)[0] + FluxTextEncoderOutputsCachingStrategy.FLUX_TEXT_ENCODER_OUTPUTS_NPZ_SUFFIX @@ -144,6 +145,14 @@ def load_outputs_npz(self, npz_path: str) -> List[np.ndarray]: def cache_batch_outputs( self, tokenize_strategy: TokenizeStrategy, models: List[Any], text_encoding_strategy: TextEncodingStrategy, infos: List ): + if not self.warn_fp8_weights: + if flux_utils.get_t5xxl_actual_dtype(models[1]) == torch.float8_e4m3fn: + logger.warning( + "T5 model is using fp8 weights for caching. This may affect the quality of the cached outputs." + " / T5モデルはfp8の重みを使用しています。これはキャッシュの品質に影響を与える可能性があります。" + ) + self.warn_fp8_weights = True + flux_text_encoding_strategy: FluxTextEncodingStrategy = text_encoding_strategy captions = [info.caption for info in infos] diff --git a/networks/lora_flux.py b/networks/lora_flux.py index fcb56a467..295267beb 100644 --- a/networks/lora_flux.py +++ b/networks/lora_flux.py @@ -330,6 +330,11 @@ def create_network( if split_qkv is not None: split_qkv = True if split_qkv == "True" else False + # train T5XXL + train_t5xxl = kwargs.get("train_t5xxl", False) + if train_t5xxl is not None: + train_t5xxl = True if train_t5xxl == "True" else False + # すごく引数が多いな ( ^ω^)・・・ network = LoRANetwork( text_encoders, @@ -344,6 +349,7 @@ def create_network( conv_alpha=conv_alpha, train_blocks=train_blocks, split_qkv=split_qkv, + train_t5xxl=train_t5xxl, varbose=True, ) @@ -370,9 +376,10 @@ def create_network_from_weights(multiplier, file, ae, text_encoders, flux, weigh else: weights_sd = torch.load(file, map_location="cpu") - # get dim/alpha mapping + # get dim/alpha mapping, and train t5xxl modules_dim = {} modules_alpha = {} + train_t5xxl = None for key, value in weights_sd.items(): if "." not in key: continue @@ -385,6 +392,12 @@ def create_network_from_weights(multiplier, file, ae, text_encoders, flux, weigh modules_dim[lora_name] = dim # logger.info(lora_name, value.size(), dim) + if train_t5xxl is None: + train_t5xxl = "lora_te3" in lora_name + + if train_t5xxl is None: + train_t5xxl = False + # # split qkv # double_qkv_rank = None # single_qkv_rank = None @@ -413,6 +426,7 @@ def create_network_from_weights(multiplier, file, ae, text_encoders, flux, weigh modules_alpha=modules_alpha, module_class=module_class, split_qkv=split_qkv, + train_t5xxl=train_t5xxl, ) return network, weights_sd @@ -421,10 +435,10 @@ class LoRANetwork(torch.nn.Module): # FLUX_TARGET_REPLACE_MODULE = ["DoubleStreamBlock", "SingleStreamBlock"] FLUX_TARGET_REPLACE_MODULE_DOUBLE = ["DoubleStreamBlock"] FLUX_TARGET_REPLACE_MODULE_SINGLE = ["SingleStreamBlock"] - TEXT_ENCODER_TARGET_REPLACE_MODULE = ["CLIPAttention", "CLIPSdpaAttention", "CLIPMLP"] + TEXT_ENCODER_TARGET_REPLACE_MODULE = ["CLIPAttention", "CLIPSdpaAttention", "CLIPMLP", "T5Attention", "T5DenseGatedActDense"] LORA_PREFIX_FLUX = "lora_unet" # make ComfyUI compatible LORA_PREFIX_TEXT_ENCODER_CLIP = "lora_te1" - LORA_PREFIX_TEXT_ENCODER_T5 = "lora_te2" + LORA_PREFIX_TEXT_ENCODER_T5 = "lora_te3" # make ComfyUI compatible def __init__( self, @@ -443,6 +457,7 @@ def __init__( modules_alpha: Optional[Dict[str, int]] = None, train_blocks: Optional[str] = None, split_qkv: bool = False, + train_t5xxl: bool = False, varbose: Optional[bool] = False, ) -> None: super().__init__() @@ -457,6 +472,7 @@ def __init__( self.module_dropout = module_dropout self.train_blocks = train_blocks if train_blocks is not None else "all" self.split_qkv = split_qkv + self.train_t5xxl = train_t5xxl self.loraplus_lr_ratio = None self.loraplus_unet_lr_ratio = None @@ -469,12 +485,16 @@ def __init__( logger.info( f"neuron dropout: p={self.dropout}, rank dropout: p={self.rank_dropout}, module dropout: p={self.module_dropout}" ) - if self.conv_lora_dim is not None: - logger.info( - f"apply LoRA to Conv2d with kernel size (3,3). dim (rank): {self.conv_lora_dim}, alpha: {self.conv_alpha}" - ) + # if self.conv_lora_dim is not None: + # logger.info( + # f"apply LoRA to Conv2d with kernel size (3,3). dim (rank): {self.conv_lora_dim}, alpha: {self.conv_alpha}" + # ) if self.split_qkv: logger.info(f"split qkv for LoRA") + if self.train_blocks is not None: + logger.info(f"train {self.train_blocks} blocks only") + if train_t5xxl: + logger.info(f"train T5XXL as well") # create module instances def create_modules( @@ -550,12 +570,15 @@ def create_modules( skipped_te = [] for i, text_encoder in enumerate(text_encoders): index = i + if not train_t5xxl and index > 0: # 0: CLIP, 1: T5XXL, so we skip T5XXL if train_t5xxl is False + break + logger.info(f"create LoRA for Text Encoder {index+1}:") text_encoder_loras, skipped = create_modules(False, index, text_encoder, LoRANetwork.TEXT_ENCODER_TARGET_REPLACE_MODULE) + logger.info(f"create LoRA for Text Encoder {index+1}: {len(text_encoder_loras)} modules.") self.text_encoder_loras.extend(text_encoder_loras) skipped_te += skipped - logger.info(f"create LoRA for Text Encoder: {len(self.text_encoder_loras)} modules.") # create LoRA for U-Net if self.train_blocks == "all": diff --git a/train_network.py b/train_network.py index 4204bce34..a68ccfcc4 100644 --- a/train_network.py +++ b/train_network.py @@ -157,6 +157,9 @@ def sample_images(self, accelerator, args, epoch, global_step, device, vae, toke # region SD/SDXL + def post_process_network(self, args, accelerator, network, text_encoders, unet): + pass + def get_noise_scheduler(self, args: argparse.Namespace, device: torch.device) -> Any: noise_scheduler = DDPMScheduler( beta_start=0.00085, beta_end=0.012, beta_schedule="scaled_linear", num_train_timesteps=1000, clip_sample=False @@ -237,6 +240,13 @@ def update_metadata(self, metadata, args): def is_text_encoder_not_needed_for_training(self, args): return False # use for sample images + def prepare_text_encoder_grad_ckpt_workaround(self, index, text_encoder): + # set top parameter requires_grad = True for gradient checkpointing works + text_encoder.text_model.embeddings.requires_grad_(True) + + def prepare_text_encoder_fp8(self, index, text_encoder, te_weight_dtype, weight_dtype): + text_encoder.text_model.embeddings.to(dtype=weight_dtype) + # endregion def train(self, args): @@ -329,7 +339,7 @@ def train(self, args): train_dataset_group.is_latent_cacheable() ), "when caching latents, either color_aug or random_crop cannot be used / latentをキャッシュするときはcolor_augとrandom_cropは使えません" - self.assert_extra_args(args, train_dataset_group) + self.assert_extra_args(args, train_dataset_group) # may change some args # acceleratorを準備する logger.info("preparing accelerator") @@ -428,12 +438,15 @@ def train(self, args): ) args.scale_weight_norms = False + self.post_process_network(args, accelerator, network, text_encoders, unet) + + # apply network to unet and text_encoder train_unet = not args.network_train_text_encoder_only train_text_encoder = self.is_train_text_encoder(args) network.apply_to(text_encoder, unet, train_text_encoder, train_unet) if args.network_weights is not None: - # FIXME consider alpha of weights + # FIXME consider alpha of weights: this assumes that the alpha is not changed info = network.load_weights(args.network_weights) accelerator.print(f"load network weights from {args.network_weights}: {info}") @@ -533,7 +546,7 @@ def train(self, args): ), "fp8_base requires mixed precision='fp16' or 'bf16' / fp8を使う場合はmixed_precision='fp16'または'bf16'が必要です。" accelerator.print("enable fp8 training for U-Net.") unet_weight_dtype = torch.float8_e4m3fn - + if not args.fp8_base_unet: accelerator.print("enable fp8 training for Text Encoder.") te_weight_dtype = weight_dtype if args.fp8_base_unet else torch.float8_e4m3fn @@ -545,17 +558,16 @@ def train(self, args): unet.requires_grad_(False) unet.to(dtype=unet_weight_dtype) - for t_enc in text_encoders: + for i, t_enc in enumerate(text_encoders): t_enc.requires_grad_(False) # in case of cpu, dtype is already set to fp32 because cpu does not support fp8/fp16/bf16 if t_enc.device.type != "cpu": t_enc.to(dtype=te_weight_dtype) - if hasattr(t_enc, "text_model") and hasattr(t_enc.text_model, "embeddings"): - # nn.Embedding not support FP8 - t_enc.text_model.embeddings.to(dtype=(weight_dtype if te_weight_dtype != weight_dtype else te_weight_dtype)) - elif hasattr(t_enc, "encoder") and hasattr(t_enc.encoder, "embeddings"): - t_enc.encoder.embeddings.to(dtype=(weight_dtype if te_weight_dtype != weight_dtype else te_weight_dtype)) + + # nn.Embedding not support FP8 + if te_weight_dtype != weight_dtype: + self.prepare_text_encoder_fp8(i, t_enc, te_weight_dtype, weight_dtype) # acceleratorがなんかよろしくやってくれるらしい / accelerator will do something good if args.deepspeed: @@ -596,12 +608,12 @@ def train(self, args): if args.gradient_checkpointing: # according to TI example in Diffusers, train is required unet.train() - for t_enc, frag in zip(text_encoders, self.get_text_encoders_train_flags(args, text_encoders)): + for i, (t_enc, frag) in enumerate(zip(text_encoders, self.get_text_encoders_train_flags(args, text_encoders))): t_enc.train() # set top parameter requires_grad = True for gradient checkpointing works if frag: - t_enc.text_model.embeddings.requires_grad_(True) + self.prepare_text_encoder_grad_ckpt_workaround(i, t_enc) else: unet.eval() @@ -1028,8 +1040,12 @@ def remove_model(old_ckpt_name): # log device and dtype for each model logger.info(f"unet dtype: {unet_weight_dtype}, device: {unet.device}") - for t_enc in text_encoders: - logger.info(f"text_encoder dtype: {t_enc.dtype}, device: {t_enc.device}") + for i, t_enc in enumerate(text_encoders): + params_itr = t_enc.parameters() + params_itr.__next__() # skip the first parameter + params_itr.__next__() # skip the second parameter. because CLIP first two parameters are embeddings + param_3rd = params_itr.__next__() + logger.info(f"text_encoder [{i}] dtype: {param_3rd.dtype}, device: {t_enc.device}") clean_memory_on_device(accelerator.device) @@ -1085,11 +1101,7 @@ def remove_model(old_ckpt_name): text_encoder_outputs_list = batch.get("text_encoder_outputs_list", None) if text_encoder_outputs_list is not None: text_encoder_conds = text_encoder_outputs_list # List of text encoder outputs - if ( - len(text_encoder_conds) == 0 - or text_encoder_conds[0] is None - or train_text_encoder - ): + if len(text_encoder_conds) == 0 or text_encoder_conds[0] is None or train_text_encoder: with torch.set_grad_enabled(train_text_encoder), accelerator.autocast(): # Get the text embedding for conditioning if args.weighted_captions: From b7cff0a7548e5e33f735f06293ba24119fdaa585 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Wed, 4 Sep 2024 21:35:47 +0900 Subject: [PATCH 198/748] update README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 840655705..c0acfa1d2 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ The command to install PyTorch is as follows: ### Recent Updates Sep 4, 2024: -- T5XXL LoRA is supported in LoRA training. Remove `--network_train_unet_only` and add `train_t5xxl=True` to `--network_args`. CLIP-L is also trained at the same time (T5XXL only cannot be trained). The trained model can be used with ComfyUI. +- T5XXL LoRA is supported in LoRA training. Remove `--network_train_unet_only` and add `train_t5xxl=True` to `--network_args`. CLIP-L is also trained at the same time (T5XXL only cannot be trained). The trained model can be used with ComfyUI. See [Key Features for FLUX.1 LoRA training](#key-features-for-flux1-lora-training) for details. - In LoRA training, when `--fp8_base` is specified, you can specify `t5xxl_fp8_e4m3fn.safetensors` as the T5XXL weights. However, it is recommended to use fp16 weights for caching. - Fixed an issue where the training CLIP-L LoRA was not used in sample image generation during LoRA training. From 56cb2fc885d818e9c4493fb2843870d7a141db1c Mon Sep 17 00:00:00 2001 From: Kohya S Date: Wed, 4 Sep 2024 23:15:27 +0900 Subject: [PATCH 199/748] support T5XXL LoRA, reduce peak memory usage #1560 --- flux_minimal_inference.py | 73 +++++++++++++++++++++++++++++++-------- networks/lora_flux.py | 2 +- 2 files changed, 59 insertions(+), 16 deletions(-) diff --git a/flux_minimal_inference.py b/flux_minimal_inference.py index 56c1b1982..1c194e7c1 100644 --- a/flux_minimal_inference.py +++ b/flux_minimal_inference.py @@ -5,7 +5,7 @@ import math import os import random -from typing import Callable, List, Optional, Tuple +from typing import Callable, List, Optional import einops import numpy as np @@ -13,6 +13,7 @@ from tqdm import tqdm from PIL import Image import accelerate +from transformers import CLIPTextModel from library import device_utils from library.device_utils import init_ipex, get_preferred_device @@ -125,7 +126,7 @@ def do_sample( def generate_image( model, - clip_l, + clip_l: CLIPTextModel, t5xxl, ae, prompt: str, @@ -141,12 +142,13 @@ def generate_image( # make first noise with packed shape # original: b,16,2*h//16,2*w//16, packed: b,h//16*w//16,16*2*2 packed_latent_height, packed_latent_width = math.ceil(image_height / 16), math.ceil(image_width / 16) + noise_dtype = torch.float32 if is_fp8(dtype) else dtype noise = torch.randn( 1, packed_latent_height * packed_latent_width, 16 * 2 * 2, device=device, - dtype=dtype, + dtype=noise_dtype, generator=torch.Generator(device=device).manual_seed(seed), ) @@ -166,9 +168,48 @@ def generate_image( clip_l = clip_l.to(device) t5xxl = t5xxl.to(device) with torch.no_grad(): - if is_fp8(clip_l_dtype) or is_fp8(t5xxl_dtype): - clip_l.to(clip_l_dtype) - t5xxl.to(t5xxl_dtype) + if is_fp8(clip_l_dtype): + param_itr = clip_l.parameters() + param_itr.__next__() # skip first + param_2nd = param_itr.__next__() + if param_2nd.dtype != clip_l_dtype: + logger.info(f"prepare CLIP-L for fp8: set to {clip_l_dtype}, set embeddings to {torch.bfloat16}") + clip_l.to(clip_l_dtype) # fp8 + clip_l.text_model.embeddings.to(dtype=torch.bfloat16) + + with accelerator.autocast(): + l_pooled, _, _, _ = encoding_strategy.encode_tokens(tokenize_strategy, [clip_l, None], tokens_and_masks) + + if is_fp8(t5xxl_dtype): + if flux_utils.get_t5xxl_actual_dtype(t5xxl) != t5xxl_dtype or not hasattr(t5xxl, "fp8_prepared"): + logger.info(f"prepare T5xxl for fp8: set to {t5xxl_dtype}") + + def prepare_fp8(text_encoder, target_dtype): + def forward_hook(module): + def forward(hidden_states): + hidden_gelu = module.act(module.wi_0(hidden_states)) + hidden_linear = module.wi_1(hidden_states) + hidden_states = hidden_gelu * hidden_linear + hidden_states = module.dropout(hidden_states) + + hidden_states = module.wo(hidden_states) + return hidden_states + + return forward + + for module in text_encoder.modules(): + if module.__class__.__name__ in ["T5LayerNorm", "Embedding"]: + # print("set", module.__class__.__name__, "to", target_dtype) + module.to(target_dtype) + if module.__class__.__name__ in ["T5DenseGatedActDense"]: + # print("set", module.__class__.__name__, "hooks") + module.forward = forward_hook(module) + + text_encoder.fp8_prepared = True + + t5xxl.to(t5xxl_dtype) + prepare_fp8(t5xxl.encoder, torch.bfloat16) + with accelerator.autocast(): _, t5_out, txt_ids, t5_attn_mask = encoding_strategy.encode_tokens( tokenize_strategy, [clip_l, t5xxl], tokens_and_masks, args.apply_t5_attn_mask @@ -315,10 +356,10 @@ def is_fp8(dt): t5xxl = flux_utils.load_t5xxl(args.t5xxl, t5xxl_dtype, loading_device) t5xxl.eval() - if is_fp8(clip_l_dtype): - clip_l = accelerator.prepare(clip_l) - if is_fp8(t5xxl_dtype): - t5xxl = accelerator.prepare(t5xxl) + # if is_fp8(clip_l_dtype): + # clip_l = accelerator.prepare(clip_l) + # if is_fp8(t5xxl_dtype): + # t5xxl = accelerator.prepare(t5xxl) t5xxl_max_length = 256 if is_schnell else 512 tokenize_strategy = strategy_flux.FluxTokenizeStrategy(t5xxl_max_length) @@ -329,14 +370,16 @@ def is_fp8(dt): model.eval() logger.info(f"Casting model to {flux_dtype}") model.to(flux_dtype) # make sure model is dtype - if is_fp8(flux_dtype): - model = accelerator.prepare(model) + # if is_fp8(flux_dtype): + # model = accelerator.prepare(model) + # if args.offload: + # model = model.to("cpu") # AE ae = flux_utils.load_ae(name, args.ae, ae_dtype, loading_device) ae.eval() - if is_fp8(ae_dtype): - ae = accelerator.prepare(ae) + # if is_fp8(ae_dtype): + # ae = accelerator.prepare(ae) # LoRA lora_models: List[lora_flux.LoRANetwork] = [] @@ -360,7 +403,7 @@ def is_fp8(dt): lora_model.to(device) lora_models.append(lora_model) - + if not args.interactive: generate_image(model, clip_l, t5xxl, ae, args.prompt, args.seed, args.width, args.height, args.steps, args.guidance) else: diff --git a/networks/lora_flux.py b/networks/lora_flux.py index 295267beb..ab9ccc4d8 100644 --- a/networks/lora_flux.py +++ b/networks/lora_flux.py @@ -392,7 +392,7 @@ def create_network_from_weights(multiplier, file, ae, text_encoders, flux, weigh modules_dim[lora_name] = dim # logger.info(lora_name, value.size(), dim) - if train_t5xxl is None: + if train_t5xxl is None or train_t5xxl is False: train_t5xxl = "lora_te3" in lora_name if train_t5xxl is None: From 90ed2dfb526168b2e77b8d367e928d8cc44b4278 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 5 Sep 2024 08:39:29 +0900 Subject: [PATCH 200/748] feat: Add support for merging CLIP-L and T5XXL LoRA models --- README.md | 22 ++++- networks/flux_merge_lora.py | 182 ++++++++++++++++++++++++++++-------- 2 files changed, 163 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index c0acfa1d2..fa81f6c0f 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,9 @@ The command to install PyTorch is as follows: ### Recent Updates +Sep 5, 2024: +The LoRA merge script now supports CLIP-L and T5XXL LoRA. Please specify `--clip_l` and `--t5xxl`. `--clip_l_save_to` and `--t5xxl_save_to` specify the save destination for CLIP-L and T5XXL. See [Merge LoRA to FLUX.1 checkpoint](#merge-lora-to-flux1-checkpoint) for details. + Sep 4, 2024: - T5XXL LoRA is supported in LoRA training. Remove `--network_train_unet_only` and add `train_t5xxl=True` to `--network_args`. CLIP-L is also trained at the same time (T5XXL only cannot be trained). The trained model can be used with ComfyUI. See [Key Features for FLUX.1 LoRA training](#key-features-for-flux1-lora-training) for details. - In LoRA training, when `--fp8_base` is specified, you can specify `t5xxl_fp8_e4m3fn.safetensors` as the T5XXL weights. However, it is recommended to use fp16 weights for caching. @@ -276,7 +279,7 @@ CLIP-L LoRA is not supported. ### Merge LoRA to FLUX.1 checkpoint -`networks/flux_merge_lora.py` merges LoRA to FLUX.1 checkpoint. __The script is experimental.__ +`networks/flux_merge_lora.py` merges LoRA to FLUX.1 checkpoint, CLIP-L or T5XXL models. __The script is experimental.__ ``` python networks/flux_merge_lora.py --flux_model flux1-dev.safetensors --save_to output.safetensors --models lora1.safetensors --ratios 2.0 --save_precision fp16 --loading_device cuda --working_device cpu @@ -284,13 +287,24 @@ python networks/flux_merge_lora.py --flux_model flux1-dev.safetensors --save_to You can also merge multiple LoRA models into a FLUX.1 model. Specify multiple LoRA models in `--models`. Specify the same number of ratios in `--ratios`. -`--loading_device` is the device to load the LoRA models. `--working_device` is the device to merge (calculate) the models. Default is `cpu` for both. Loading / working device examples are below (in the case of `--save_precision fp16` or `--save_precision bf16`): +CLIP-L and T5XXL LoRA are supported. `--clip_l` and `--clip_l_save_to` are for CLIP-L, `--t5xxl` and `--t5xxl_save_to` are for T5XXL. Sample command is below. + +``` +--clip_l clip_l.safetensors --clip_l_save_to merged_clip_l.safetensors --t5xxl t5xxl_fp16.safetensors --t5xxl_save_to merged_t5xxl.safetensors +``` + +FLUX.1, CLIP-L, and T5XXL can be merged together or separately for memory efficiency. + +An experimental option `--mem_eff_load_save` is available. This option is for memory-efficient loading and saving. It may also speed up loading and saving. + +`--loading_device` is the device to load the LoRA models. `--working_device` is the device to merge (calculate) the models. Default is `cpu` for both. Loading / working device examples are below (in the case of `--save_precision fp16` or `--save_precision bf16`, `float32` will consume more memory): - 'cpu' / 'cpu': Uses >50GB of RAM, but works on any machine. - 'cuda' / 'cpu': Uses 24GB of VRAM, but requires 30GB of RAM. -- 'cuda' / 'cuda': Uses 30GB of VRAM, but requires 30GB of RAM, faster than 'cuda' / 'cpu'. +- 'cpu' / 'cuda': Uses 4GB of VRAM, but requires 50GB of RAM, faster than 'cpu' / 'cpu' or 'cuda' / 'cpu'. +- 'cuda' / 'cuda': Uses 30GB of VRAM, but requires 30GB of RAM, faster than 'cpu' / 'cpu' or 'cuda' / 'cpu'. -In the case of LoRA models are trained with `bf16`, we are not sure which is better, `fp16` or `bf16` for `--save_precision`. +`--save_precision` is the precision to save the merged model. In the case of LoRA models are trained with `bf16`, we are not sure which is better, `fp16` or `bf16` for `--save_precision`. The script can merge multiple LoRA models. If you want to merge multiple LoRA models, specify `--concat` option to work the merged LoRA model properly. diff --git a/networks/flux_merge_lora.py b/networks/flux_merge_lora.py index 2e0d4c297..5e100a3ba 100644 --- a/networks/flux_merge_lora.py +++ b/networks/flux_merge_lora.py @@ -2,6 +2,7 @@ import math import os import time +from typing import Any, Dict, Union import torch from safetensors import safe_open @@ -34,11 +35,11 @@ def load_state_dict(file_name, dtype): return sd, metadata -def save_to_file(file_name, state_dict, dtype, metadata, mem_eff_save=False): +def save_to_file(file_name, state_dict: Dict[str, Union[Any, torch.Tensor]], dtype, metadata, mem_eff_save=False): if dtype is not None: logger.info(f"converting to {dtype}...") for key in tqdm(list(state_dict.keys())): - if type(state_dict[key]) == torch.Tensor: + if type(state_dict[key]) == torch.Tensor and state_dict[key].dtype.is_floating_point: state_dict[key] = state_dict[key].to(dtype) logger.info(f"saving to: {file_name}") @@ -49,26 +50,76 @@ def save_to_file(file_name, state_dict, dtype, metadata, mem_eff_save=False): def merge_to_flux_model( - loading_device, working_device, flux_model, models, ratios, merge_dtype, save_dtype, mem_eff_load_save=False + loading_device, + working_device, + flux_path: str, + clip_l_path: str, + t5xxl_path: str, + models, + ratios, + merge_dtype, + save_dtype, + mem_eff_load_save=False, ): # create module map without loading state_dict - logger.info(f"loading keys from FLUX.1 model: {flux_model}") lora_name_to_module_key = {} - with safe_open(flux_model, framework="pt", device=loading_device) as flux_file: - keys = list(flux_file.keys()) - for key in keys: - if key.endswith(".weight"): - module_name = ".".join(key.split(".")[:-1]) - lora_name = lora_flux.LoRANetwork.LORA_PREFIX_FLUX + "_" + module_name.replace(".", "_") - lora_name_to_module_key[lora_name] = key - + if flux_path is not None: + logger.info(f"loading keys from FLUX.1 model: {flux_path}") + with safe_open(flux_path, framework="pt", device=loading_device) as flux_file: + keys = list(flux_file.keys()) + for key in keys: + if key.endswith(".weight"): + module_name = ".".join(key.split(".")[:-1]) + lora_name = lora_flux.LoRANetwork.LORA_PREFIX_FLUX + "_" + module_name.replace(".", "_") + lora_name_to_module_key[lora_name] = key + + lora_name_to_clip_l_key = {} + if clip_l_path is not None: + logger.info(f"loading keys from clip_l model: {clip_l_path}") + with safe_open(clip_l_path, framework="pt", device=loading_device) as clip_l_file: + keys = list(clip_l_file.keys()) + for key in keys: + if key.endswith(".weight"): + module_name = ".".join(key.split(".")[:-1]) + lora_name = lora_flux.LoRANetwork.LORA_PREFIX_TEXT_ENCODER_CLIP + "_" + module_name.replace(".", "_") + lora_name_to_clip_l_key[lora_name] = key + + lora_name_to_t5xxl_key = {} + if t5xxl_path is not None: + logger.info(f"loading keys from t5xxl model: {t5xxl_path}") + with safe_open(t5xxl_path, framework="pt", device=loading_device) as t5xxl_file: + keys = list(t5xxl_file.keys()) + for key in keys: + if key.endswith(".weight"): + module_name = ".".join(key.split(".")[:-1]) + lora_name = lora_flux.LoRANetwork.LORA_PREFIX_TEXT_ENCODER_T5 + "_" + module_name.replace(".", "_") + lora_name_to_t5xxl_key[lora_name] = key + + flux_state_dict = {} + clip_l_state_dict = {} + t5xxl_state_dict = {} if mem_eff_load_save: - flux_state_dict = {} - with MemoryEfficientSafeOpen(flux_model) as flux_file: - for key in tqdm(flux_file.keys()): - flux_state_dict[key] = flux_file.get_tensor(key).to(loading_device) # dtype is not changed + if flux_path is not None: + with MemoryEfficientSafeOpen(flux_path) as flux_file: + for key in tqdm(flux_file.keys()): + flux_state_dict[key] = flux_file.get_tensor(key).to(loading_device) # dtype is not changed + + if clip_l_path is not None: + with MemoryEfficientSafeOpen(clip_l_path) as clip_l_file: + for key in tqdm(clip_l_file.keys()): + clip_l_state_dict[key] = clip_l_file.get_tensor(key).to(loading_device) + + if t5xxl_path is not None: + with MemoryEfficientSafeOpen(t5xxl_path) as t5xxl_file: + for key in tqdm(t5xxl_file.keys()): + t5xxl_state_dict[key] = t5xxl_file.get_tensor(key).to(loading_device) else: - flux_state_dict = load_file(flux_model, device=loading_device) + if flux_path is not None: + flux_state_dict = load_file(flux_path, device=loading_device) + if clip_l_path is not None: + clip_l_state_dict = load_file(clip_l_path, device=loading_device) + if t5xxl_path is not None: + t5xxl_state_dict = load_file(t5xxl_path, device=loading_device) for model, ratio in zip(models, ratios): logger.info(f"loading: {model}") @@ -81,8 +132,20 @@ def merge_to_flux_model( up_key = key.replace("lora_down", "lora_up") alpha_key = key[: key.index("lora_down")] + "alpha" - if lora_name not in lora_name_to_module_key: - logger.warning(f"no module found for LoRA weight: {key}. LoRA for Text Encoder is not supported yet.") + if lora_name in lora_name_to_module_key: + module_weight_key = lora_name_to_module_key[lora_name] + state_dict = flux_state_dict + elif lora_name in lora_name_to_clip_l_key: + module_weight_key = lora_name_to_clip_l_key[lora_name] + state_dict = clip_l_state_dict + elif lora_name in lora_name_to_t5xxl_key: + module_weight_key = lora_name_to_t5xxl_key[lora_name] + state_dict = t5xxl_state_dict + else: + logger.warning( + f"no module found for LoRA weight: {key}. Skipping..." + f"LoRAの重みに対応するモジュールが見つかりませんでした。スキップします。" + ) continue down_weight = lora_sd.pop(key) @@ -93,11 +156,7 @@ def merge_to_flux_model( scale = alpha / dim # W <- W + U * D - module_weight_key = lora_name_to_module_key[lora_name] - if module_weight_key not in flux_state_dict: - weight = flux_file.get_tensor(module_weight_key) - else: - weight = flux_state_dict[module_weight_key] + weight = state_dict[module_weight_key] weight = weight.to(working_device, merge_dtype) up_weight = up_weight.to(working_device, merge_dtype) @@ -121,7 +180,7 @@ def merge_to_flux_model( # logger.info(conved.size(), weight.size(), module.stride, module.padding) weight = weight + ratio * conved * scale - flux_state_dict[module_weight_key] = weight.to(loading_device, save_dtype) + state_dict[module_weight_key] = weight.to(loading_device, save_dtype) del up_weight del down_weight del weight @@ -129,7 +188,7 @@ def merge_to_flux_model( if len(lora_sd) > 0: logger.warning(f"Unused keys in LoRA model: {list(lora_sd.keys())}") - return flux_state_dict + return flux_state_dict, clip_l_state_dict, t5xxl_state_dict def merge_to_flux_model_diffusers( @@ -508,17 +567,28 @@ def merge(args): if save_dtype is None: save_dtype = merge_dtype - dest_dir = os.path.dirname(args.save_to) + assert ( + args.save_to or args.clip_l_save_to or args.t5xxl_save_to + ), "save_to or clip_l_save_to or t5xxl_save_to must be specified / save_toまたはclip_l_save_toまたはt5xxl_save_toを指定してください" + dest_dir = os.path.dirname(args.save_to or args.clip_l_save_to or args.t5xxl_save_to) if not os.path.exists(dest_dir): logger.info(f"creating directory: {dest_dir}") os.makedirs(dest_dir) - if args.flux_model is not None: + if args.flux_model is not None or args.clip_l is not None or args.t5xxl is not None: if not args.diffusers: - state_dict = merge_to_flux_model( + assert (args.clip_l is None and args.clip_l_save_to is None) or ( + args.clip_l is not None and args.clip_l_save_to is not None + ), "clip_l_save_to must be specified if clip_l is specified / clip_lが指定されている場合はclip_l_save_toも指定してください" + assert (args.t5xxl is None and args.t5xxl_save_to is None) or ( + args.t5xxl is not None and args.t5xxl_save_to is not None + ), "t5xxl_save_to must be specified if t5xxl is specified / t5xxlが指定されている場合はt5xxl_save_toも指定してください" + flux_state_dict, clip_l_state_dict, t5xxl_state_dict = merge_to_flux_model( args.loading_device, args.working_device, args.flux_model, + args.clip_l, + args.t5xxl, args.models, args.ratios, merge_dtype, @@ -526,7 +596,10 @@ def merge(args): args.mem_eff_load_save, ) else: - state_dict = merge_to_flux_model_diffusers( + assert ( + args.clip_l is None and args.t5xxl is None + ), "clip_l and t5xxl are not supported with --diffusers / clip_l、t5xxlはDiffusersではサポートされていません" + flux_state_dict = merge_to_flux_model_diffusers( args.loading_device, args.working_device, args.flux_model, @@ -536,8 +609,10 @@ def merge(args): save_dtype, args.mem_eff_load_save, ) + clip_l_state_dict = None + t5xxl_state_dict = None - if args.no_metadata: + if args.no_metadata or (flux_state_dict is None or len(flux_state_dict) == 0): sai_metadata = None else: merged_from = sai_model_spec.build_merged_from([args.flux_model] + args.models) @@ -546,15 +621,24 @@ def merge(args): None, False, False, False, False, False, time.time(), title=title, merged_from=merged_from, flux="dev" ) - logger.info(f"saving FLUX model to: {args.save_to}") - save_to_file(args.save_to, state_dict, save_dtype, sai_metadata, args.mem_eff_load_save) + if flux_state_dict is not None and len(flux_state_dict) > 0: + logger.info(f"saving FLUX model to: {args.save_to}") + save_to_file(args.save_to, flux_state_dict, save_dtype, sai_metadata, args.mem_eff_load_save) + + if clip_l_state_dict is not None and len(clip_l_state_dict) > 0: + logger.info(f"saving clip_l model to: {args.clip_l_save_to}") + save_to_file(args.clip_l_save_to, clip_l_state_dict, save_dtype, None, args.mem_eff_load_save) + + if t5xxl_state_dict is not None and len(t5xxl_state_dict) > 0: + logger.info(f"saving t5xxl model to: {args.t5xxl_save_to}") + save_to_file(args.t5xxl_save_to, t5xxl_state_dict, save_dtype, None, args.mem_eff_load_save) else: - state_dict, metadata = merge_lora_models(args.models, args.ratios, merge_dtype, args.concat, args.shuffle) + flux_state_dict, metadata = merge_lora_models(args.models, args.ratios, merge_dtype, args.concat, args.shuffle) logger.info("calculating hashes and creating metadata...") - model_hash, legacy_hash = train_util.precalculate_safetensors_hashes(state_dict, metadata) + model_hash, legacy_hash = train_util.precalculate_safetensors_hashes(flux_state_dict, metadata) metadata["sshs_model_hash"] = model_hash metadata["sshs_legacy_hash"] = legacy_hash @@ -562,12 +646,12 @@ def merge(args): merged_from = sai_model_spec.build_merged_from(args.models) title = os.path.splitext(os.path.basename(args.save_to))[0] sai_metadata = sai_model_spec.build_metadata( - state_dict, False, False, False, True, False, time.time(), title=title, merged_from=merged_from, flux="dev" + flux_state_dict, False, False, False, True, False, time.time(), title=title, merged_from=merged_from, flux="dev" ) metadata.update(sai_metadata) logger.info(f"saving model to: {args.save_to}") - save_to_file(args.save_to, state_dict, save_dtype, metadata) + save_to_file(args.save_to, flux_state_dict, save_dtype, metadata) def setup_parser() -> argparse.ArgumentParser: @@ -592,6 +676,18 @@ def setup_parser() -> argparse.ArgumentParser: default=None, help="FLUX.1 model to load, merge LoRA models if omitted / 読み込むモデル、指定しない場合はLoRAモデルをマージする", ) + parser.add_argument( + "--clip_l", + type=str, + default=None, + help="path to clip_l (*.sft or *.safetensors), should be float16 / clip_lのパス(*.sftまたは*.safetensors)", + ) + parser.add_argument( + "--t5xxl", + type=str, + default=None, + help="path to t5xxl (*.sft or *.safetensors), should be float16 / t5xxlのパス(*.sftまたは*.safetensors)", + ) parser.add_argument( "--mem_eff_load_save", action="store_true", @@ -617,6 +713,18 @@ def setup_parser() -> argparse.ArgumentParser: default=None, help="destination file name: safetensors file / 保存先のファイル名、safetensorsファイル", ) + parser.add_argument( + "--clip_l_save_to", + type=str, + default=None, + help="destination file name for clip_l: safetensors file / clip_lの保存先のファイル名、safetensorsファイル", + ) + parser.add_argument( + "--t5xxl_save_to", + type=str, + default=None, + help="destination file name for t5xxl: safetensors file / t5xxlの保存先のファイル名、safetensorsファイル", + ) parser.add_argument( "--models", type=str, From d9129522a6effea7077f18cdea0ee733a5ac7cb0 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 5 Sep 2024 12:20:07 +0900 Subject: [PATCH 201/748] set dtype before calling ae closes #1562 --- flux_train.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flux_train.py b/flux_train.py index 32a36f036..0293b7be3 100644 --- a/flux_train.py +++ b/flux_train.py @@ -651,7 +651,7 @@ def optimizer_hook(parameter: torch.Tensor): else: with torch.no_grad(): # encode images to latents. images are [-1, 1] - latents = ae.encode(batch["images"]) + latents = ae.encode(batch["images"].to(ae.dtype)).to(accelerator.device, dtype=weight_dtype) # NaNが含まれていれば警告を表示し0に置き換える if torch.any(torch.isnan(latents)): From 2889108d858880589d362e06e98eeadf4682476a Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 5 Sep 2024 20:58:33 +0900 Subject: [PATCH 202/748] feat: Add --cpu_offload_checkpointing option to LoRA training --- README.md | 7 +++++++ flux_train.py | 2 +- flux_train_network.py | 5 +++++ train_network.py | 12 +++++++++++- 4 files changed, 24 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index fa81f6c0f..e8a12089f 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,12 @@ The command to install PyTorch is as follows: ### Recent Updates +Sep 5, 2024 (update 1): + +Added `--cpu_offload_checkpointing` option to LoRA training script. Offloads gradient checkpointing to CPU. This reduces up to 1GB of VRAM usage but slows down the training by about 15%. Cannot be used with `--split_mode`. + Sep 5, 2024: + The LoRA merge script now supports CLIP-L and T5XXL LoRA. Please specify `--clip_l` and `--t5xxl`. `--clip_l_save_to` and `--t5xxl_save_to` specify the save destination for CLIP-L and T5XXL. See [Merge LoRA to FLUX.1 checkpoint](#merge-lora-to-flux1-checkpoint) for details. Sep 4, 2024: @@ -72,6 +77,8 @@ The training can be done with 12GB VRAM GPUs with Adafactor optimizer, `--split_ --optimizer_type adafactor --optimizer_args "relative_step=False" "scale_parameter=False" "warmup_init=False" --split_mode --network_args "train_blocks=single" --lr_scheduler constant_with_warmup --max_grad_norm 0.0 ``` +`--cpu_offload_checkpointing` offloads gradient checkpointing to CPU. This reduces up to 1GB of VRAM usage but slows down the training by about 15%. Cannot be used with `--split_mode`. + We also not sure how many epochs are needed for convergence, and how the learning rate should be adjusted. The trained LoRA model can be used with ComfyUI. diff --git a/flux_train.py b/flux_train.py index 0293b7be3..0edc83a9f 100644 --- a/flux_train.py +++ b/flux_train.py @@ -261,7 +261,7 @@ def train(args): ) if args.gradient_checkpointing: - flux.enable_gradient_checkpointing(args.cpu_offload_checkpointing) + flux.enable_gradient_checkpointing(cpu_offload=args.cpu_offload_checkpointing) flux.requires_grad_(True) diff --git a/flux_train_network.py b/flux_train_network.py index 2fc0f3234..a6e57eede 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -50,6 +50,11 @@ def assert_extra_args(self, args, train_dataset_group): if args.max_token_length is not None: logger.warning("max_token_length is not used in Flux training / max_token_lengthはFluxのトレーニングでは使用されません") + assert not args.split_mode or not args.cpu_offload_checkpointing, ( + "split_mode and cpu_offload_checkpointing cannot be used together" + " / split_modeとcpu_offload_checkpointingは同時に使用できません" + ) + train_dataset_group.verify_bucket_reso_steps(32) # TODO check this def get_flux_model_name(self, args): diff --git a/train_network.py b/train_network.py index a68ccfcc4..ad97491df 100644 --- a/train_network.py +++ b/train_network.py @@ -451,7 +451,11 @@ def train(self, args): accelerator.print(f"load network weights from {args.network_weights}: {info}") if args.gradient_checkpointing: - unet.enable_gradient_checkpointing() + if args.cpu_offload_checkpointing: + unet.enable_gradient_checkpointing(cpu_offload=True) + else: + unet.enable_gradient_checkpointing() + for t_enc, flag in zip(text_encoders, self.get_text_encoders_train_flags(args, text_encoders)): if flag: if t_enc.supports_gradient_checkpointing: @@ -1281,6 +1285,12 @@ def setup_parser() -> argparse.ArgumentParser: config_util.add_config_arguments(parser) custom_train_functions.add_custom_train_arguments(parser) + parser.add_argument( + "--cpu_offload_checkpointing", + action="store_true", + help="[EXPERIMENTAL] enable offloading of tensors to CPU during checkpointing for U-Net or DiT, if supported" + " / 勾配チェックポイント時にテンソルをCPUにオフロードする(U-NetまたはDiTのみ、サポートされている場合)", + ) parser.add_argument( "--no_metadata", action="store_true", help="do not save metadata in output model / メタデータを出力先モデルに保存しない" ) From 0005867ba509d2e1a5674b267e8286b561c0ed71 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sat, 7 Sep 2024 10:45:18 +0900 Subject: [PATCH 203/748] update README, format code --- README.md | 5 +++++ library/train_util.py | 4 ++-- library/utils.py | 4 +++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 81a549378..16ab80e7a 100644 --- a/README.md +++ b/README.md @@ -139,7 +139,12 @@ The majority of scripts is licensed under ASL 2.0 (including codes from Diffuser ### Working in progress +- When enlarging images in the script (when the size of the training image is small and bucket_no_upscale is not specified), it has been changed to use Pillow's resize and LANCZOS interpolation instead of OpenCV2's resize and Lanczos4 interpolation. The quality of the image enlargement may be slightly improved. PR [#1426](https://github.com/kohya-ss/sd-scripts/pull/1426) Thanks to sdbds! + +- Sample image generation during training now works on non-CUDA devices. PR [#1433](https://github.com/kohya-ss/sd-scripts/pull/1433) Thanks to millie-v! + - `--v_parameterization` is available in `sdxl_train.py`. The results are unpredictable, so use with caution. PR [#1505](https://github.com/kohya-ss/sd-scripts/pull/1505) Thanks to liesened! + - Fused optimizer is available for SDXL training. PR [#1259](https://github.com/kohya-ss/sd-scripts/pull/1259) Thanks to 2kpr! - The memory usage during training is significantly reduced by integrating the optimizer's backward pass with step. The training results are the same as before, but if you have plenty of memory, the speed will be slower. - Specify the `--fused_backward_pass` option in `sdxl_train.py`. At this time, only AdaFactor is supported. Gradient accumulation is not available. diff --git a/library/train_util.py b/library/train_util.py index 102d39ed7..1441e74f6 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -2094,7 +2094,7 @@ def __getitem__(self, index): # ), f"image size is small / 画像サイズが小さいようです: {image_info.absolute_path}" # resize to target if cond_img.shape[0] != target_size_hw[0] or cond_img.shape[1] != target_size_hw[1]: - cond_img=pil_resize(cond_img,(int(target_size_hw[1]), int(target_size_hw[0]))) + cond_img = pil_resize(cond_img, (int(target_size_hw[1]), int(target_size_hw[0]))) if flipped: cond_img = cond_img[:, ::-1, :].copy() # copy to avoid negative stride @@ -2432,7 +2432,7 @@ def load_arbitrary_dataset(args, tokenizer) -> MinimalDataset: return train_dataset_group -def load_image(image_path, alpha=False): +def load_image(image_path, alpha=False): try: with Image.open(image_path) as image: if alpha: diff --git a/library/utils.py b/library/utils.py index a219f6cb7..5b7e657b2 100644 --- a/library/utils.py +++ b/library/utils.py @@ -11,6 +11,7 @@ from PIL import Image import numpy as np + def fire_in_thread(f, *args, **kwargs): threading.Thread(target=f, args=args, kwargs=kwargs).start() @@ -80,8 +81,8 @@ def setup_logging(args=None, log_level=None, reset=False): logger = logging.getLogger(__name__) logger.info(msg_init) -def pil_resize(image, size, interpolation=Image.LANCZOS): +def pil_resize(image, size, interpolation=Image.LANCZOS): pil_image = Image.fromarray(cv2.cvtColor(image, cv2.COLOR_BGR2RGB)) # use Pillow resize @@ -92,6 +93,7 @@ def pil_resize(image, size, interpolation=Image.LANCZOS): return resized_cv2 + # TODO make inf_utils.py From d29af146b8d4c4d028f8752657bd1349c8cd3509 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Mon, 9 Sep 2024 23:01:15 +0900 Subject: [PATCH 204/748] add negative prompt for flux inference script --- README.md | 3 + flux_minimal_inference.py | 289 ++++++++++++++++++++++++++------------ 2 files changed, 206 insertions(+), 86 deletions(-) diff --git a/README.md b/README.md index 2f010f499..126516f95 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,9 @@ The command to install PyTorch is as follows: ### Recent Updates +Sep 9, 2024: +Added `--negative_prompt` and `--cfg_scale` to `flux_minimal_inference.py`. Negative prompts can be used. + Sep 5, 2024 (update 1): Added `--cpu_offload_checkpointing` option to LoRA training script. Offloads gradient checkpointing to CPU. This reduces up to 1GB of VRAM usage but slows down the training by about 15%. Cannot be used with `--split_mode`. diff --git a/flux_minimal_inference.py b/flux_minimal_inference.py index 1c194e7c1..de607c52a 100644 --- a/flux_minimal_inference.py +++ b/flux_minimal_inference.py @@ -71,22 +71,57 @@ def denoise( timesteps: list[float], guidance: float = 4.0, t5_attn_mask: Optional[torch.Tensor] = None, + neg_txt: Optional[torch.Tensor] = None, + neg_vec: Optional[torch.Tensor] = None, + neg_t5_attn_mask: Optional[torch.Tensor] = None, + cfg_scale: Optional[float] = None, ): # this is ignored for schnell + logger.info(f"guidance: {guidance}, cfg_scale: {cfg_scale}") guidance_vec = torch.full((img.shape[0],), guidance, device=img.device, dtype=img.dtype) + + # prepare classifier free guidance + if neg_txt is not None and neg_vec is not None: + b_img_ids = torch.cat([img_ids, img_ids], dim=0) + b_txt_ids = torch.cat([txt_ids, txt_ids], dim=0) + b_txt = torch.cat([neg_txt, txt], dim=0) + b_vec = torch.cat([neg_vec, vec], dim=0) + if t5_attn_mask is not None and neg_t5_attn_mask is not None: + b_t5_attn_mask = torch.cat([neg_t5_attn_mask, t5_attn_mask], dim=0) + else: + b_t5_attn_mask = None + else: + b_img_ids = img_ids + b_txt_ids = txt_ids + b_txt = txt + b_vec = vec + b_t5_attn_mask = t5_attn_mask + for t_curr, t_prev in zip(tqdm(timesteps[:-1]), timesteps[1:]): - t_vec = torch.full((img.shape[0],), t_curr, dtype=img.dtype, device=img.device) + t_vec = torch.full((b_img_ids.shape[0],), t_curr, dtype=img.dtype, device=img.device) + + # classifier free guidance + if neg_txt is not None and neg_vec is not None: + b_img = torch.cat([img, img], dim=0) + else: + b_img = img + pred = model( - img=img, - img_ids=img_ids, - txt=txt, - txt_ids=txt_ids, - y=vec, + img=b_img, + img_ids=b_img_ids, + txt=b_txt, + txt_ids=b_txt_ids, + y=b_vec, timesteps=t_vec, guidance=guidance_vec, - txt_attention_mask=t5_attn_mask, + txt_attention_mask=b_t5_attn_mask, ) + # classifier free guidance + if neg_txt is not None and neg_vec is not None: + pred_uncond, pred = torch.chunk(pred, 2, dim=0) + pred = pred_uncond + cfg_scale * (pred - pred_uncond) + img = img + (t_prev - t_curr) * pred return img @@ -106,19 +141,48 @@ def do_sample( is_schnell: bool, device: torch.device, flux_dtype: torch.dtype, + neg_l_pooled: Optional[torch.Tensor] = None, + neg_t5_out: Optional[torch.Tensor] = None, + neg_t5_attn_mask: Optional[torch.Tensor] = None, + cfg_scale: Optional[float] = None, ): + logger.info(f"num_steps: {num_steps}") timesteps = get_schedule(num_steps, img.shape[1], shift=not is_schnell) # denoise initial noise if accelerator: with accelerator.autocast(), torch.no_grad(): x = denoise( - model, img, img_ids, t5_out, txt_ids, l_pooled, timesteps=timesteps, guidance=guidance, t5_attn_mask=t5_attn_mask + model, + img, + img_ids, + t5_out, + txt_ids, + l_pooled, + timesteps, + guidance, + t5_attn_mask, + neg_t5_out, + neg_l_pooled, + neg_t5_attn_mask, + cfg_scale, ) else: with torch.autocast(device_type=device.type, dtype=flux_dtype), torch.no_grad(): x = denoise( - model, img, img_ids, t5_out, txt_ids, l_pooled, timesteps=timesteps, guidance=guidance, t5_attn_mask=t5_attn_mask + model, + img, + img_ids, + t5_out, + txt_ids, + l_pooled, + timesteps, + guidance, + t5_attn_mask, + neg_t5_out, + neg_l_pooled, + neg_t5_attn_mask, + cfg_scale, ) return x @@ -135,6 +199,8 @@ def generate_image( image_height: int, steps: Optional[int], guidance: float, + negative_prompt: Optional[str], + cfg_scale: float, ): seed = seed if seed is not None else random.randint(0, 2**32 - 1) logger.info(f"Seed: {seed}") @@ -162,65 +228,73 @@ def generate_image( # txt2img only needs img_ids img_ids = flux_utils.prepare_img_ids(1, packed_latent_height, packed_latent_width) + # prepare fp8 models + if is_fp8(clip_l_dtype) and (not hasattr(clip_l, "fp8_prepared") or not clip_l.fp8_prepared): + logger.info(f"prepare CLIP-L for fp8: set to {clip_l_dtype}, set embeddings to {torch.bfloat16}") + clip_l.to(clip_l_dtype) # fp8 + clip_l.text_model.embeddings.to(dtype=torch.bfloat16) + clip_l.fp8_prepared = True + + if is_fp8(t5xxl_dtype) and (not hasattr(t5xxl, "fp8_prepared") or not t5xxl.fp8_prepared): + logger.info(f"prepare T5xxl for fp8: set to {t5xxl_dtype}") + + def prepare_fp8(text_encoder, target_dtype): + def forward_hook(module): + def forward(hidden_states): + hidden_gelu = module.act(module.wi_0(hidden_states)) + hidden_linear = module.wi_1(hidden_states) + hidden_states = hidden_gelu * hidden_linear + hidden_states = module.dropout(hidden_states) + + hidden_states = module.wo(hidden_states) + return hidden_states + + return forward + + for module in text_encoder.modules(): + if module.__class__.__name__ in ["T5LayerNorm", "Embedding"]: + # print("set", module.__class__.__name__, "to", target_dtype) + module.to(target_dtype) + if module.__class__.__name__ in ["T5DenseGatedActDense"]: + # print("set", module.__class__.__name__, "hooks") + module.forward = forward_hook(module) + + t5xxl.to(t5xxl_dtype) + prepare_fp8(t5xxl.encoder, torch.bfloat16) + t5xxl.fp8_prepared = True + # prepare embeddings logger.info("Encoding prompts...") - tokens_and_masks = tokenize_strategy.tokenize(prompt) clip_l = clip_l.to(device) t5xxl = t5xxl.to(device) - with torch.no_grad(): - if is_fp8(clip_l_dtype): - param_itr = clip_l.parameters() - param_itr.__next__() # skip first - param_2nd = param_itr.__next__() - if param_2nd.dtype != clip_l_dtype: - logger.info(f"prepare CLIP-L for fp8: set to {clip_l_dtype}, set embeddings to {torch.bfloat16}") - clip_l.to(clip_l_dtype) # fp8 - clip_l.text_model.embeddings.to(dtype=torch.bfloat16) - - with accelerator.autocast(): - l_pooled, _, _, _ = encoding_strategy.encode_tokens(tokenize_strategy, [clip_l, None], tokens_and_masks) - if is_fp8(t5xxl_dtype): - if flux_utils.get_t5xxl_actual_dtype(t5xxl) != t5xxl_dtype or not hasattr(t5xxl, "fp8_prepared"): - logger.info(f"prepare T5xxl for fp8: set to {t5xxl_dtype}") - - def prepare_fp8(text_encoder, target_dtype): - def forward_hook(module): - def forward(hidden_states): - hidden_gelu = module.act(module.wi_0(hidden_states)) - hidden_linear = module.wi_1(hidden_states) - hidden_states = hidden_gelu * hidden_linear - hidden_states = module.dropout(hidden_states) - - hidden_states = module.wo(hidden_states) - return hidden_states - - return forward - - for module in text_encoder.modules(): - if module.__class__.__name__ in ["T5LayerNorm", "Embedding"]: - # print("set", module.__class__.__name__, "to", target_dtype) - module.to(target_dtype) - if module.__class__.__name__ in ["T5DenseGatedActDense"]: - # print("set", module.__class__.__name__, "hooks") - module.forward = forward_hook(module) - - text_encoder.fp8_prepared = True - - t5xxl.to(t5xxl_dtype) - prepare_fp8(t5xxl.encoder, torch.bfloat16) - - with accelerator.autocast(): - _, t5_out, txt_ids, t5_attn_mask = encoding_strategy.encode_tokens( - tokenize_strategy, [clip_l, t5xxl], tokens_and_masks, args.apply_t5_attn_mask - ) - else: - with torch.autocast(device_type=device.type, dtype=clip_l_dtype): - l_pooled, _, _, _ = encoding_strategy.encode_tokens(tokenize_strategy, [clip_l, None], tokens_and_masks) - with torch.autocast(device_type=device.type, dtype=t5xxl_dtype): - _, t5_out, txt_ids, t5_attn_mask = encoding_strategy.encode_tokens( - tokenize_strategy, [None, t5xxl], tokens_and_masks, args.apply_t5_attn_mask - ) + def encode(prpt: str): + tokens_and_masks = tokenize_strategy.tokenize(prpt) + with torch.no_grad(): + if is_fp8(clip_l_dtype): + with accelerator.autocast(): + l_pooled, _, _, _ = encoding_strategy.encode_tokens(tokenize_strategy, [clip_l, None], tokens_and_masks) + else: + with torch.autocast(device_type=device.type, dtype=clip_l_dtype): + l_pooled, _, _, _ = encoding_strategy.encode_tokens(tokenize_strategy, [clip_l, None], tokens_and_masks) + + if is_fp8(t5xxl_dtype): + with accelerator.autocast(): + _, t5_out, txt_ids, t5_attn_mask = encoding_strategy.encode_tokens( + tokenize_strategy, [clip_l, t5xxl], tokens_and_masks, args.apply_t5_attn_mask + ) + else: + with torch.autocast(device_type=device.type, dtype=t5xxl_dtype): + _, t5_out, txt_ids, t5_attn_mask = encoding_strategy.encode_tokens( + tokenize_strategy, [None, t5xxl], tokens_and_masks, args.apply_t5_attn_mask + ) + return l_pooled, t5_out, txt_ids, t5_attn_mask + + l_pooled, t5_out, txt_ids, t5_attn_mask = encode(prompt) + if negative_prompt: + neg_l_pooled, neg_t5_out, _, neg_t5_attn_mask = encode(negative_prompt) + else: + neg_l_pooled, neg_t5_out, neg_t5_attn_mask = None, None, None # NaN check if torch.isnan(l_pooled).any(): @@ -244,7 +318,23 @@ def forward(hidden_states): t5_attn_mask = t5_attn_mask.to(device) if args.apply_t5_attn_mask else None x = do_sample( - accelerator, model, noise, img_ids, l_pooled, t5_out, txt_ids, steps, guidance, t5_attn_mask, is_schnell, device, flux_dtype + accelerator, + model, + noise, + img_ids, + l_pooled, + t5_out, + txt_ids, + steps, + guidance, + t5_attn_mask, + is_schnell, + device, + flux_dtype, + neg_l_pooled, + neg_t5_out, + neg_t5_attn_mask, + cfg_scale, ) if args.offload: model = model.cpu() @@ -307,6 +397,8 @@ def forward(hidden_states): parser.add_argument("--seed", type=int, default=None) parser.add_argument("--steps", type=int, default=None, help="Number of steps. Default is 4 for schnell, 50 for dev") parser.add_argument("--guidance", type=float, default=3.5) + parser.add_argument("--negative_prompt", type=str, default=None) + parser.add_argument("--cfg_scale", type=float, default=1.0) parser.add_argument("--offload", action="store_true", help="Offload to CPU") parser.add_argument( "--lora_weights", @@ -403,19 +495,34 @@ def is_fp8(dt): lora_model.to(device) lora_models.append(lora_model) - + if not args.interactive: - generate_image(model, clip_l, t5xxl, ae, args.prompt, args.seed, args.width, args.height, args.steps, args.guidance) + generate_image( + model, + clip_l, + t5xxl, + ae, + args.prompt, + args.seed, + args.width, + args.height, + args.steps, + args.guidance, + args.negative_prompt, + args.cfg_scale, + ) else: # loop for interactive width = target_width height = target_height steps = None guidance = args.guidance + cfg_scale = args.cfg_scale while True: print( "Enter prompt (empty to exit). Options: --w --h --s --d --g --m " + " --n , `-` for empty negative prompt --c " ) prompt = input() if prompt == "": @@ -425,26 +532,36 @@ def is_fp8(dt): options = prompt.split("--") prompt = options[0].strip() seed = None + negative_prompt = None for opt in options[1:]: - opt = opt.strip() - if opt.startswith("w"): - width = int(opt[1:].strip()) - elif opt.startswith("h"): - height = int(opt[1:].strip()) - elif opt.startswith("s"): - steps = int(opt[1:].strip()) - elif opt.startswith("d"): - seed = int(opt[1:].strip()) - elif opt.startswith("g"): - guidance = float(opt[1:].strip()) - elif opt.startswith("m"): - mutipliers = opt[1:].strip().split(",") - if len(mutipliers) != len(lora_models): - logger.error(f"Invalid number of multipliers, expected {len(lora_models)}") - continue - for i, lora_model in enumerate(lora_models): - lora_model.set_multiplier(float(mutipliers[i])) - - generate_image(model, clip_l, t5xxl, ae, prompt, seed, width, height, steps, guidance) + try: + opt = opt.strip() + if opt.startswith("w"): + width = int(opt[1:].strip()) + elif opt.startswith("h"): + height = int(opt[1:].strip()) + elif opt.startswith("s"): + steps = int(opt[1:].strip()) + elif opt.startswith("d"): + seed = int(opt[1:].strip()) + elif opt.startswith("g"): + guidance = float(opt[1:].strip()) + elif opt.startswith("m"): + mutipliers = opt[1:].strip().split(",") + if len(mutipliers) != len(lora_models): + logger.error(f"Invalid number of multipliers, expected {len(lora_models)}") + continue + for i, lora_model in enumerate(lora_models): + lora_model.set_multiplier(float(mutipliers[i])) + elif opt.startswith("n"): + negative_prompt = opt[1:].strip() + if negative_prompt == "-": + negative_prompt = "" + elif opt.startswith("c"): + cfg_scale = float(opt[1:].strip()) + except ValueError as e: + logger.error(f"Invalid option: {opt}, {e}") + + generate_image(model, clip_l, t5xxl, ae, prompt, seed, width, height, steps, guidance, negative_prompt, cfg_scale) logger.info("Done!") From d10ff62a78b15d0bb55f443cc2849c460300131b Mon Sep 17 00:00:00 2001 From: Kohya S Date: Tue, 10 Sep 2024 20:32:09 +0900 Subject: [PATCH 205/748] support individual LR for CLIP-L/T5XXL --- README.md | 4 +++ networks/lora_flux.py | 71 +++++++++++++++---------------------------- train_network.py | 32 ++++++++++++------- 3 files changed, 49 insertions(+), 58 deletions(-) diff --git a/README.md b/README.md index 126516f95..b5799dd6f 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,9 @@ The command to install PyTorch is as follows: ### Recent Updates +Sep 10, 2024: +In FLUX.1 LoRA training, individual learning rates can be specified for CLIP-L and T5XXL. By specifying multiple numbers in `--text_encoder_lr`, you can set the learning rates for CLIP-L and T5XXL separately. Specify like `--text_encoder_lr 1e-4 1e-5`. If you specify only one, the learning rates for CLIP-L and T5XXL will be the same. + Sep 9, 2024: Added `--negative_prompt` and `--cfg_scale` to `flux_minimal_inference.py`. Negative prompts can be used. @@ -142,6 +145,7 @@ The effect of `--timestep_sampling sigmoid` and `--sigmoid_scale` (when `--times - Remove `--network_train_unet_only` from your command. - Add `train_t5xxl=True` to `--network_args` to train T5XXL LoRA. CLIP-L is also trained at the same time. - T5XXL output can be cached for CLIP-L LoRA training. So, `--cache_text_encoder_outputs` or `--cache_text_encoder_outputs_to_disk` is also available. + - The learning rates for CLIP-L and T5XXL can be specified separately. Multiple numbers can be specified in `--text_encoder_lr`. For example, `--text_encoder_lr 1e-4 1e-5`. If you specify only one, the learning rates for CLIP-L and T5XXL will be the same. If `--text_encoder_lr` is not specified, the default learning rate `--learning_rate` is used for both CLIP-L and T5XXL. - The trained LoRA can be used with ComfyUI. - Note: `flux_extract_lora.py`, `convert_flux_lora.py`and `merge_flux_lora.py` do not support CLIP-L and T5XXL LoRA yet. diff --git a/networks/lora_flux.py b/networks/lora_flux.py index ab9ccc4d8..d540c2215 100644 --- a/networks/lora_flux.py +++ b/networks/lora_flux.py @@ -786,28 +786,23 @@ def set_loraplus_lr_ratio(self, loraplus_lr_ratio, loraplus_unet_lr_ratio, lorap logger.info(f"LoRA+ UNet LR Ratio: {self.loraplus_unet_lr_ratio or self.loraplus_lr_ratio}") logger.info(f"LoRA+ Text Encoder LR Ratio: {self.loraplus_text_encoder_lr_ratio or self.loraplus_lr_ratio}") - # 二つのText Encoderに別々の学習率を設定できるようにするといいかも - def prepare_optimizer_params(self, text_encoder_lr, unet_lr, default_lr): - # TODO warn if optimizer is not compatible with LoRA+ (but it will cause error so we don't need to check it here?) - # if ( - # self.loraplus_lr_ratio is not None - # or self.loraplus_text_encoder_lr_ratio is not None - # or self.loraplus_unet_lr_ratio is not None - # ): - # assert ( - # optimizer_type.lower() != "prodigy" and "dadapt" not in optimizer_type.lower() - # ), "LoRA+ and Prodigy/DAdaptation is not supported / LoRA+とProdigy/DAdaptationの組み合わせはサポートされていません" + def prepare_optimizer_params_with_multiple_te_lrs(self, text_encoder_lr, unet_lr, default_lr): + # make sure text_encoder_lr as list of two elements + if text_encoder_lr is None or len(text_encoder_lr) == 0: + text_encoder_lr = [default_lr, default_lr] + elif len(text_encoder_lr) == 1: + text_encoder_lr = [text_encoder_lr[0], text_encoder_lr[0]] self.requires_grad_(True) all_params = [] lr_descriptions = [] - def assemble_params(loras, lr, ratio): + def assemble_params(loras, lr, loraplus_ratio): param_groups = {"lora": {}, "plus": {}} for lora in loras: for name, param in lora.named_parameters(): - if ratio is not None and "lora_up" in name: + if loraplus_ratio is not None and "lora_up" in name: param_groups["plus"][f"{lora.lora_name}.{name}"] = param else: param_groups["lora"][f"{lora.lora_name}.{name}"] = param @@ -822,7 +817,7 @@ def assemble_params(loras, lr, ratio): if lr is not None: if key == "plus": - param_data["lr"] = lr * ratio + param_data["lr"] = lr * loraplus_ratio else: param_data["lr"] = lr @@ -836,41 +831,23 @@ def assemble_params(loras, lr, ratio): return params, descriptions if self.text_encoder_loras: - params, descriptions = assemble_params( - self.text_encoder_loras, - text_encoder_lr if text_encoder_lr is not None else default_lr, - self.loraplus_text_encoder_lr_ratio or self.loraplus_lr_ratio, - ) - all_params.extend(params) - lr_descriptions.extend(["textencoder" + (" " + d if d else "") for d in descriptions]) + loraplus_lr_ratio = self.loraplus_text_encoder_lr_ratio or self.loraplus_lr_ratio + + # split text encoder loras for te1 and te3 + te1_loras = [lora for lora in self.text_encoder_loras if lora.lora_name.startswith(self.LORA_PREFIX_TEXT_ENCODER_CLIP)] + te3_loras = [lora for lora in self.text_encoder_loras if lora.lora_name.startswith(self.LORA_PREFIX_TEXT_ENCODER_T5)] + if len(te1_loras) > 0: + logger.info(f"Text Encoder 1 (CLIP-L): {len(te1_loras)} modules, LR {text_encoder_lr[0]}") + params, descriptions = assemble_params(te1_loras, text_encoder_lr[0], loraplus_lr_ratio) + all_params.extend(params) + lr_descriptions.extend(["textencoder 1 " + (" " + d if d else "") for d in descriptions]) + if len(te3_loras) > 0: + logger.info(f"Text Encoder 2 (T5XXL): {len(te3_loras)} modules, LR {text_encoder_lr[1]}") + params, descriptions = assemble_params(te3_loras, text_encoder_lr[1], loraplus_lr_ratio) + all_params.extend(params) + lr_descriptions.extend(["textencoder 2 " + (" " + d if d else "") for d in descriptions]) if self.unet_loras: - # if self.block_lr: - # is_sdxl = False - # for lora in self.unet_loras: - # if "input_blocks" in lora.lora_name or "output_blocks" in lora.lora_name: - # is_sdxl = True - # break - - # # 学習率のグラフをblockごとにしたいので、blockごとにloraを分類 - # block_idx_to_lora = {} - # for lora in self.unet_loras: - # idx = get_block_index(lora.lora_name, is_sdxl) - # if idx not in block_idx_to_lora: - # block_idx_to_lora[idx] = [] - # block_idx_to_lora[idx].append(lora) - - # # blockごとにパラメータを設定する - # for idx, block_loras in block_idx_to_lora.items(): - # params, descriptions = assemble_params( - # block_loras, - # (unet_lr if unet_lr is not None else default_lr) * self.get_lr_weight(idx), - # self.loraplus_unet_lr_ratio or self.loraplus_lr_ratio, - # ) - # all_params.extend(params) - # lr_descriptions.extend([f"unet_block{idx}" + (" " + d if d else "") for d in descriptions]) - - # else: params, descriptions = assemble_params( self.unet_loras, unet_lr if unet_lr is not None else default_lr, diff --git a/train_network.py b/train_network.py index ad97491df..e45db0525 100644 --- a/train_network.py +++ b/train_network.py @@ -466,9 +466,17 @@ def train(self, args): # 学習に必要なクラスを準備する accelerator.print("prepare optimizer, data loader etc.") - # 後方互換性を確保するよ + # make backward compatibility for text_encoder_lr + support_multiple_lrs = hasattr(network, "prepare_optimizer_params_with_multiple_te_lrs") + if support_multiple_lrs: + text_encoder_lr = args.text_encoder_lr + else: + text_encoder_lr = None if args.text_encoder_lr is None or len(args.text_encoder_lr) == 0 else args.text_encoder_lr[0] try: - results = network.prepare_optimizer_params(args.text_encoder_lr, args.unet_lr, args.learning_rate) + if support_multiple_lrs: + results = network.prepare_optimizer_params_with_multiple_te_lrs(text_encoder_lr, args.unet_lr, args.learning_rate) + else: + results = network.prepare_optimizer_params(text_encoder_lr, args.unet_lr, args.learning_rate) if type(results) is tuple: trainable_params = results[0] lr_descriptions = results[1] @@ -476,11 +484,7 @@ def train(self, args): trainable_params = results lr_descriptions = None except TypeError as e: - # logger.warning(f"{e}") - # accelerator.print( - # "Deprecated: use prepare_optimizer_params(text_encoder_lr, unet_lr, learning_rate) instead of prepare_optimizer_params(text_encoder_lr, unet_lr)" - # ) - trainable_params = network.prepare_optimizer_params(args.text_encoder_lr, args.unet_lr) + trainable_params = network.prepare_optimizer_params(text_encoder_lr, args.unet_lr) lr_descriptions = None # if len(trainable_params) == 0: @@ -713,7 +717,7 @@ def load_model_hook(models, input_dir): "ss_training_started_at": training_started_at, # unix timestamp "ss_output_name": args.output_name, "ss_learning_rate": args.learning_rate, - "ss_text_encoder_lr": args.text_encoder_lr, + "ss_text_encoder_lr": text_encoder_lr, "ss_unet_lr": args.unet_lr, "ss_num_train_images": train_dataset_group.num_train_images, "ss_num_reg_images": train_dataset_group.num_reg_images, @@ -760,8 +764,8 @@ def load_model_hook(models, input_dir): "ss_loss_type": args.loss_type, "ss_huber_schedule": args.huber_schedule, "ss_huber_c": args.huber_c, - "ss_fp8_base": args.fp8_base, - "ss_fp8_base_unet": args.fp8_base_unet, + "ss_fp8_base": bool(args.fp8_base), + "ss_fp8_base_unet": bool(args.fp8_base_unet), } self.update_metadata(metadata, args) # architecture specific metadata @@ -1303,7 +1307,13 @@ def setup_parser() -> argparse.ArgumentParser: ) parser.add_argument("--unet_lr", type=float, default=None, help="learning rate for U-Net / U-Netの学習率") - parser.add_argument("--text_encoder_lr", type=float, default=None, help="learning rate for Text Encoder / Text Encoderの学習率") + parser.add_argument( + "--text_encoder_lr", + type=float, + default=None, + nargs="*", + help="learning rate for Text Encoder, can be multiple / Text Encoderの学習率、複数指定可能", + ) parser.add_argument( "--fp8_base_unet", action="store_true", From 65b8a064f6bb9a403374d4b08f4003037df42f8d Mon Sep 17 00:00:00 2001 From: Kohya S Date: Tue, 10 Sep 2024 21:20:38 +0900 Subject: [PATCH 206/748] update README --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b5799dd6f..caea59b7e 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ The command to install PyTorch is as follows: ### Recent Updates Sep 10, 2024: -In FLUX.1 LoRA training, individual learning rates can be specified for CLIP-L and T5XXL. By specifying multiple numbers in `--text_encoder_lr`, you can set the learning rates for CLIP-L and T5XXL separately. Specify like `--text_encoder_lr 1e-4 1e-5`. If you specify only one, the learning rates for CLIP-L and T5XXL will be the same. +In FLUX.1 LoRA training, individual learning rates can be specified for CLIP-L and T5XXL. By specifying multiple numbers in `--text_encoder_lr`, you can set the learning rates for CLIP-L and T5XXL separately. Specify like `--text_encoder_lr 1e-4 1e-5`. The first value is the learning rate for CLIP-L, and the second value is for T5XXL. If you specify only one, the learning rates for CLIP-L and T5XXL will be the same. Sep 9, 2024: Added `--negative_prompt` and `--cfg_scale` to `flux_minimal_inference.py`. Negative prompts can be used. @@ -145,7 +145,7 @@ The effect of `--timestep_sampling sigmoid` and `--sigmoid_scale` (when `--times - Remove `--network_train_unet_only` from your command. - Add `train_t5xxl=True` to `--network_args` to train T5XXL LoRA. CLIP-L is also trained at the same time. - T5XXL output can be cached for CLIP-L LoRA training. So, `--cache_text_encoder_outputs` or `--cache_text_encoder_outputs_to_disk` is also available. - - The learning rates for CLIP-L and T5XXL can be specified separately. Multiple numbers can be specified in `--text_encoder_lr`. For example, `--text_encoder_lr 1e-4 1e-5`. If you specify only one, the learning rates for CLIP-L and T5XXL will be the same. If `--text_encoder_lr` is not specified, the default learning rate `--learning_rate` is used for both CLIP-L and T5XXL. + - The learning rates for CLIP-L and T5XXL can be specified separately. Multiple numbers can be specified in `--text_encoder_lr`. For example, `--text_encoder_lr 1e-4 1e-5`. The first value is the learning rate for CLIP-L, and the second value is for T5XXL. If you specify only one, the learning rates for CLIP-L and T5XXL will be the same. If `--text_encoder_lr` is not specified, the default learning rate `--learning_rate` is used for both CLIP-L and T5XXL. - The trained LoRA can be used with ComfyUI. - Note: `flux_extract_lora.py`, `convert_flux_lora.py`and `merge_flux_lora.py` do not support CLIP-L and T5XXL LoRA yet. From fd68703f3795b3e9c75409ac5452807d056b928f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9D=92=E9=BE=8D=E8=81=96=E8=80=85=40bdsqlsz?= <865105819@qq.com> Date: Wed, 11 Sep 2024 20:25:45 +0800 Subject: [PATCH 207/748] Add New lr scheduler (#1393) * add new lr scheduler * fix bugs and use num_cycles / 2 * Update requirements.txt * add num_cycles for min lr * keep PIECEWISE_CONSTANT * allow use float with warmup or decay ratio. * Update train_util.py --- library/train_util.py | 80 ++++++++++++++++++++++++++++++++++++++----- requirements.txt | 6 ++-- 2 files changed, 75 insertions(+), 11 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index c7b73ee37..340f6d640 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -42,7 +42,8 @@ from torchvision import transforms from transformers import CLIPTokenizer, CLIPTextModel, CLIPTextModelWithProjection import transformers -from diffusers.optimization import SchedulerType, TYPE_TO_SCHEDULER_FUNCTION +from diffusers.optimization import SchedulerType as DiffusersSchedulerType, TYPE_TO_SCHEDULER_FUNCTION as DIFFUSERS_TYPE_TO_SCHEDULER_FUNCTION +from transformers.optimization import SchedulerType, TYPE_TO_SCHEDULER_FUNCTION from diffusers import ( StableDiffusionPipeline, DDPMScheduler, @@ -2972,6 +2973,20 @@ def add_sd_models_arguments(parser: argparse.ArgumentParser): def add_optimizer_arguments(parser: argparse.ArgumentParser): + def int_or_float(value): + if value.endswith('%'): + try: + return float(value[:-1]) / 100.0 + except ValueError: + raise argparse.ArgumentTypeError(f"Value '{value}' is not a valid percentage") + try: + float_value = float(value) + if float_value >= 1: + return int(value) + return float(value) + except ValueError: + raise argparse.ArgumentTypeError(f"'{value}' is not an int or float") + parser.add_argument( "--optimizer_type", type=str, @@ -3024,9 +3039,15 @@ def add_optimizer_arguments(parser: argparse.ArgumentParser): ) parser.add_argument( "--lr_warmup_steps", - type=int, + type=int_or_float, + default=0, + help="Int number of steps for the warmup in the lr scheduler (default is 0) or float with ratio of train steps / 学習率のスケジューラをウォームアップするステップ数(デフォルト0)", + ) + parser.add_argument( + "--lr_decay_steps", + type=int_or_float, default=0, - help="Number of steps for the warmup in the lr scheduler (default is 0) / 学習率のスケジューラをウォームアップするステップ数(デフォルト0)", + help="Int number of steps for the decay in the lr scheduler (default is 0) or float with ratio of train steps", ) parser.add_argument( "--lr_scheduler_num_cycles", @@ -3046,6 +3067,18 @@ def add_optimizer_arguments(parser: argparse.ArgumentParser): help="Combines backward pass and optimizer step to reduce VRAM usage. Only available in SDXL" + " / バックワードパスとオプティマイザステップを組み合わせてVRAMの使用量を削減します。SDXLでのみ有効", ) + parser.add_argument( + "--lr_scheduler_timescale", + type=int, + default=None, + help="Inverse sqrt timescale for inverse sqrt scheduler,defaults to `num_warmup_steps`", + ) + parser.add_argument( + "--lr_scheduler_min_lr_ratio", + type=float, + default=None, + help="The minimum learning rate as a ratio of the initial learning rate for cosine with min lr scheduler and warmup decay scheduler", + ) def add_training_arguments(parser: argparse.ArgumentParser, support_dreambooth: bool): @@ -4293,10 +4326,14 @@ def get_scheduler_fix(args, optimizer: Optimizer, num_processes: int): Unified API to get any scheduler from its name. """ name = args.lr_scheduler - num_warmup_steps: Optional[int] = args.lr_warmup_steps num_training_steps = args.max_train_steps * num_processes # * args.gradient_accumulation_steps + num_warmup_steps: Optional[int] = int(args.lr_warmup_steps * num_training_steps) if isinstance(args.lr_warmup_steps, float) else args.lr_warmup_steps + num_decay_steps: Optional[int] = int(args.lr_decay_steps * num_training_steps) if isinstance(args.lr_decay_steps, float) else args.lr_decay_steps + num_stable_steps = num_training_steps - num_warmup_steps - num_decay_steps num_cycles = args.lr_scheduler_num_cycles power = args.lr_scheduler_power + timescale = args.lr_scheduler_timescale + min_lr_ratio = args.lr_scheduler_min_lr_ratio lr_scheduler_kwargs = {} # get custom lr_scheduler kwargs if args.lr_scheduler_args is not None and len(args.lr_scheduler_args) > 0: @@ -4332,13 +4369,13 @@ def wrap_check_needless_num_warmup_steps(return_vals): # logger.info(f"adafactor scheduler init lr {initial_lr}") return wrap_check_needless_num_warmup_steps(transformers.optimization.AdafactorSchedule(optimizer, initial_lr)) - name = SchedulerType(name) - schedule_func = TYPE_TO_SCHEDULER_FUNCTION[name] + name = SchedulerType(name) or DiffusersSchedulerType(name) + schedule_func = TYPE_TO_SCHEDULER_FUNCTION[name] or DIFFUSERS_TYPE_TO_SCHEDULER_FUNCTION[name] if name == SchedulerType.CONSTANT: return wrap_check_needless_num_warmup_steps(schedule_func(optimizer, **lr_scheduler_kwargs)) - if name == SchedulerType.PIECEWISE_CONSTANT: + if name == DiffusersSchedulerType.PIECEWISE_CONSTANT: return schedule_func(optimizer, **lr_scheduler_kwargs) # step_rules and last_epoch are given as kwargs # All other schedulers require `num_warmup_steps` @@ -4348,6 +4385,9 @@ def wrap_check_needless_num_warmup_steps(return_vals): if name == SchedulerType.CONSTANT_WITH_WARMUP: return schedule_func(optimizer, num_warmup_steps=num_warmup_steps, **lr_scheduler_kwargs) + if name == SchedulerType.INVERSE_SQRT: + return schedule_func(optimizer, num_warmup_steps=num_warmup_steps, timescale=timescale, **lr_scheduler_kwargs) + # All other schedulers require `num_training_steps` if num_training_steps is None: raise ValueError(f"{name} requires `num_training_steps`, please provide that argument.") @@ -4366,7 +4406,31 @@ def wrap_check_needless_num_warmup_steps(return_vals): optimizer, num_warmup_steps=num_warmup_steps, num_training_steps=num_training_steps, power=power, **lr_scheduler_kwargs ) - return schedule_func(optimizer, num_warmup_steps=num_warmup_steps, num_training_steps=num_training_steps, **lr_scheduler_kwargs) + if name == SchedulerType.COSINE_WITH_MIN_LR: + return schedule_func( + optimizer, + num_warmup_steps=num_warmup_steps, + num_training_steps=num_training_steps, + num_cycles=num_cycles / 2, + min_lr_rate=min_lr_ratio, + **lr_scheduler_kwargs, + ) + + # All other schedulers require `num_decay_steps` + if num_decay_steps is None: + raise ValueError(f"{name} requires `num_decay_steps`, please provide that argument.") + if name == SchedulerType.WARMUP_STABLE_DECAY: + return schedule_func( + optimizer, + num_warmup_steps=num_warmup_steps, + num_stable_steps=num_stable_steps, + num_decay_steps=num_decay_steps, + num_cycles=num_cycles / 2, + min_lr_ratio=min_lr_ratio if min_lr_ratio is not None else 0.0, + **lr_scheduler_kwargs, + ) + + return schedule_func(optimizer, num_warmup_steps=num_warmup_steps, num_training_steps=num_training_steps, num_decay_steps=num_decay_steps, **lr_scheduler_kwargs) def prepare_dataset_args(args: argparse.Namespace, support_metadata: bool): diff --git a/requirements.txt b/requirements.txt index 977c5cd91..d2a2fbb8a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ -accelerate==0.25.0 -transformers==4.36.2 +accelerate==0.30.0 +transformers==4.41.2 diffusers[torch]==0.25.0 ftfy==6.1.1 # albumentations==1.3.0 @@ -16,7 +16,7 @@ altair==4.2.2 easygui==0.98.3 toml==0.10.2 voluptuous==0.13.1 -huggingface-hub==0.20.1 +huggingface-hub==0.23.3 # for Image utils imagesize==1.4.1 # for BLIP captioning From 6dbfd47a59cdb91be2077e1d0dec0f94698348dd Mon Sep 17 00:00:00 2001 From: Kohya S Date: Wed, 11 Sep 2024 21:44:36 +0900 Subject: [PATCH 208/748] Fix to work PIECEWISE_CONSTANT, update requirement.txt and README #1393 --- README.md | 9 ++++++ library/train_util.py | 66 ++++++++++++++++++++++++++++--------------- requirements.txt | 4 +-- 3 files changed, 54 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index 16ab80e7a..011141bf1 100644 --- a/README.md +++ b/README.md @@ -139,6 +139,15 @@ The majority of scripts is licensed under ASL 2.0 (including codes from Diffuser ### Working in progress +- __important__ The dependent libraries are updated. Please see [Upgrade](#upgrade) and update the libraries. + - transformers, accelerate and huggingface_hub are updated. + - If you encounter any issues, please report them. + +- en: The INVERSE_SQRT, COSINE_WITH_MIN_LR, and WARMUP_STABLE_DECAY learning rate schedules are now available in the transformers library. See PR [#1393](https://github.com/kohya-ss/sd-scripts/pull/1393) for details. Thanks to sdbds! + - See the [transformers documentation](https://huggingface.co/docs/transformers/v4.44.2/en/main_classes/optimizer_schedules#schedules) for details on each scheduler. + - `--lr_warmup_steps` and `--lr_decay_steps` can now be specified as a ratio of the number of training steps, not just the step value. Example: `--lr_warmup_steps=0.1` or `--lr_warmup_steps=10%`, etc. + +https://github.com/kohya-ss/sd-scripts/pull/1393 - When enlarging images in the script (when the size of the training image is small and bucket_no_upscale is not specified), it has been changed to use Pillow's resize and LANCZOS interpolation instead of OpenCV2's resize and Lanczos4 interpolation. The quality of the image enlargement may be slightly improved. PR [#1426](https://github.com/kohya-ss/sd-scripts/pull/1426) Thanks to sdbds! - Sample image generation during training now works on non-CUDA devices. PR [#1433](https://github.com/kohya-ss/sd-scripts/pull/1433) Thanks to millie-v! diff --git a/library/train_util.py b/library/train_util.py index 340f6d640..e65760bae 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -42,7 +42,10 @@ from torchvision import transforms from transformers import CLIPTokenizer, CLIPTextModel, CLIPTextModelWithProjection import transformers -from diffusers.optimization import SchedulerType as DiffusersSchedulerType, TYPE_TO_SCHEDULER_FUNCTION as DIFFUSERS_TYPE_TO_SCHEDULER_FUNCTION +from diffusers.optimization import ( + SchedulerType as DiffusersSchedulerType, + TYPE_TO_SCHEDULER_FUNCTION as DIFFUSERS_TYPE_TO_SCHEDULER_FUNCTION, +) from transformers.optimization import SchedulerType, TYPE_TO_SCHEDULER_FUNCTION from diffusers import ( StableDiffusionPipeline, @@ -2974,7 +2977,7 @@ def add_sd_models_arguments(parser: argparse.ArgumentParser): def add_optimizer_arguments(parser: argparse.ArgumentParser): def int_or_float(value): - if value.endswith('%'): + if value.endswith("%"): try: return float(value[:-1]) / 100.0 except ValueError: @@ -3041,13 +3044,15 @@ def int_or_float(value): "--lr_warmup_steps", type=int_or_float, default=0, - help="Int number of steps for the warmup in the lr scheduler (default is 0) or float with ratio of train steps / 学習率のスケジューラをウォームアップするステップ数(デフォルト0)", + help="Int number of steps for the warmup in the lr scheduler (default is 0) or float with ratio of train steps" + " / 学習率のスケジューラをウォームアップするステップ数(デフォルト0)、または学習ステップの比率(1未満のfloat値の場合)", ) parser.add_argument( "--lr_decay_steps", type=int_or_float, default=0, - help="Int number of steps for the decay in the lr scheduler (default is 0) or float with ratio of train steps", + help="Int number of steps for the decay in the lr scheduler (default is 0) or float (<1) with ratio of train steps" + " / 学習率のスケジューラを減衰させるステップ数(デフォルト0)、または学習ステップの比率(1未満のfloat値の場合)", ) parser.add_argument( "--lr_scheduler_num_cycles", @@ -3071,13 +3076,16 @@ def int_or_float(value): "--lr_scheduler_timescale", type=int, default=None, - help="Inverse sqrt timescale for inverse sqrt scheduler,defaults to `num_warmup_steps`", + help="Inverse sqrt timescale for inverse sqrt scheduler,defaults to `num_warmup_steps`" + " / 逆平方根スケジューラのタイムスケール、デフォルトは`num_warmup_steps`", + , ) parser.add_argument( "--lr_scheduler_min_lr_ratio", type=float, default=None, - help="The minimum learning rate as a ratio of the initial learning rate for cosine with min lr scheduler and warmup decay scheduler", + help="The minimum learning rate as a ratio of the initial learning rate for cosine with min lr scheduler and warmup decay scheduler" + " / 初期学習率の比率としての最小学習率を指定する、cosine with min lr と warmup decay スケジューラ で有効", ) @@ -4327,8 +4335,12 @@ def get_scheduler_fix(args, optimizer: Optimizer, num_processes: int): """ name = args.lr_scheduler num_training_steps = args.max_train_steps * num_processes # * args.gradient_accumulation_steps - num_warmup_steps: Optional[int] = int(args.lr_warmup_steps * num_training_steps) if isinstance(args.lr_warmup_steps, float) else args.lr_warmup_steps - num_decay_steps: Optional[int] = int(args.lr_decay_steps * num_training_steps) if isinstance(args.lr_decay_steps, float) else args.lr_decay_steps + num_warmup_steps: Optional[int] = ( + int(args.lr_warmup_steps * num_training_steps) if isinstance(args.lr_warmup_steps, float) else args.lr_warmup_steps + ) + num_decay_steps: Optional[int] = ( + int(args.lr_decay_steps * num_training_steps) if isinstance(args.lr_decay_steps, float) else args.lr_decay_steps + ) num_stable_steps = num_training_steps - num_warmup_steps - num_decay_steps num_cycles = args.lr_scheduler_num_cycles power = args.lr_scheduler_power @@ -4369,15 +4381,17 @@ def wrap_check_needless_num_warmup_steps(return_vals): # logger.info(f"adafactor scheduler init lr {initial_lr}") return wrap_check_needless_num_warmup_steps(transformers.optimization.AdafactorSchedule(optimizer, initial_lr)) - name = SchedulerType(name) or DiffusersSchedulerType(name) - schedule_func = TYPE_TO_SCHEDULER_FUNCTION[name] or DIFFUSERS_TYPE_TO_SCHEDULER_FUNCTION[name] + if name == DiffusersSchedulerType.PIECEWISE_CONSTANT.value: + name = DiffusersSchedulerType(name) + schedule_func = DIFFUSERS_TYPE_TO_SCHEDULER_FUNCTION[name] + return schedule_func(optimizer, **lr_scheduler_kwargs) # step_rules and last_epoch are given as kwargs + + name = SchedulerType(name) + schedule_func = TYPE_TO_SCHEDULER_FUNCTION[name] if name == SchedulerType.CONSTANT: return wrap_check_needless_num_warmup_steps(schedule_func(optimizer, **lr_scheduler_kwargs)) - if name == DiffusersSchedulerType.PIECEWISE_CONSTANT: - return schedule_func(optimizer, **lr_scheduler_kwargs) # step_rules and last_epoch are given as kwargs - # All other schedulers require `num_warmup_steps` if num_warmup_steps is None: raise ValueError(f"{name} requires `num_warmup_steps`, please provide that argument.") @@ -4408,11 +4422,11 @@ def wrap_check_needless_num_warmup_steps(return_vals): if name == SchedulerType.COSINE_WITH_MIN_LR: return schedule_func( - optimizer, - num_warmup_steps=num_warmup_steps, - num_training_steps=num_training_steps, + optimizer, + num_warmup_steps=num_warmup_steps, + num_training_steps=num_training_steps, num_cycles=num_cycles / 2, - min_lr_rate=min_lr_ratio, + min_lr_rate=min_lr_ratio, **lr_scheduler_kwargs, ) @@ -4421,16 +4435,22 @@ def wrap_check_needless_num_warmup_steps(return_vals): raise ValueError(f"{name} requires `num_decay_steps`, please provide that argument.") if name == SchedulerType.WARMUP_STABLE_DECAY: return schedule_func( - optimizer, - num_warmup_steps=num_warmup_steps, - num_stable_steps=num_stable_steps, - num_decay_steps=num_decay_steps, - num_cycles=num_cycles / 2, + optimizer, + num_warmup_steps=num_warmup_steps, + num_stable_steps=num_stable_steps, + num_decay_steps=num_decay_steps, + num_cycles=num_cycles / 2, min_lr_ratio=min_lr_ratio if min_lr_ratio is not None else 0.0, **lr_scheduler_kwargs, ) - return schedule_func(optimizer, num_warmup_steps=num_warmup_steps, num_training_steps=num_training_steps, num_decay_steps=num_decay_steps, **lr_scheduler_kwargs) + return schedule_func( + optimizer, + num_warmup_steps=num_warmup_steps, + num_training_steps=num_training_steps, + num_decay_steps=num_decay_steps, + **lr_scheduler_kwargs, + ) def prepare_dataset_args(args: argparse.Namespace, support_metadata: bool): diff --git a/requirements.txt b/requirements.txt index d2a2fbb8a..15e6e58f1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ accelerate==0.30.0 -transformers==4.41.2 +transformers==4.44.0 diffusers[torch]==0.25.0 ftfy==6.1.1 # albumentations==1.3.0 @@ -16,7 +16,7 @@ altair==4.2.2 easygui==0.98.3 toml==0.10.2 voluptuous==0.13.1 -huggingface-hub==0.23.3 +huggingface-hub==0.24.5 # for Image utils imagesize==1.4.1 # for BLIP captioning From 8311e88225fef377591e5be19eb1f50fe7a2941f Mon Sep 17 00:00:00 2001 From: cocktailpeanut Date: Wed, 11 Sep 2024 09:02:29 -0400 Subject: [PATCH 209/748] typo fix --- library/train_util.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index c38864fe6..f682dcbfb 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -3355,15 +3355,14 @@ def int_or_float(value): type=int, default=None, help="Inverse sqrt timescale for inverse sqrt scheduler,defaults to `num_warmup_steps`" - " / 逆平方根スケジューラのタイムスケール、デフォルトは`num_warmup_steps`", - , + + " / 逆平方根スケジューラのタイムスケール、デフォルトは`num_warmup_steps`", ) parser.add_argument( "--lr_scheduler_min_lr_ratio", type=float, default=None, help="The minimum learning rate as a ratio of the initial learning rate for cosine with min lr scheduler and warmup decay scheduler" - " / 初期学習率の比率としての最小学習率を指定する、cosine with min lr と warmup decay スケジューラ で有効", + + " / 初期学習率の比率としての最小学習率を指定する、cosine with min lr と warmup decay スケジューラ で有効", ) From c7c666b1829a7c1f3435558efa425b08b50fab41 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Wed, 11 Sep 2024 22:12:31 +0900 Subject: [PATCH 210/748] fix typo --- library/train_util.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index e65760bae..a46d94877 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -3077,15 +3077,14 @@ def int_or_float(value): type=int, default=None, help="Inverse sqrt timescale for inverse sqrt scheduler,defaults to `num_warmup_steps`" - " / 逆平方根スケジューラのタイムスケール、デフォルトは`num_warmup_steps`", - , + + " / 逆平方根スケジューラのタイムスケール、デフォルトは`num_warmup_steps`", ) parser.add_argument( "--lr_scheduler_min_lr_ratio", type=float, default=None, help="The minimum learning rate as a ratio of the initial learning rate for cosine with min lr scheduler and warmup decay scheduler" - " / 初期学習率の比率としての最小学習率を指定する、cosine with min lr と warmup decay スケジューラ で有効", + + " / 初期学習率の比率としての最小学習率を指定する、cosine with min lr と warmup decay スケジューラ で有効", ) From a823fd9fb8d219b5b4c57df12eed41ae34fdf843 Mon Sep 17 00:00:00 2001 From: Plat <60182057+p1atdev@users.noreply.github.com> Date: Wed, 11 Sep 2024 22:21:16 +0900 Subject: [PATCH 211/748] Improve wandb logging (#1576) * fix: wrong training steps were recorded to wandb, and no log was sent when logging_dir was not specified * fix: checking of whether wandb is enabled * feat: log images to wandb with their positive prompt as captions * feat: logging sample images' caption for sd3 and flux * fix: import wandb before use --- fine_tune.py | 7 +++++-- flux_train.py | 7 +++++-- library/flux_train_utils.py | 20 +++++++++++--------- library/sd3_train_utils.py | 20 +++++++++++--------- library/train_util.py | 20 +++++++++++--------- sd3_train.py | 7 +++++-- sdxl_train.py | 7 +++++-- sdxl_train_control_net_lllite.py | 4 ++-- sdxl_train_control_net_lllite_old.py | 4 ++-- train_controlnet.py | 7 +++++-- train_db.py | 7 +++++-- train_network.py | 7 +++++-- train_textual_inversion.py | 8 ++++++-- train_textual_inversion_XTI.py | 4 ++-- 14 files changed, 80 insertions(+), 49 deletions(-) diff --git a/fine_tune.py b/fine_tune.py index c9102f6c0..fb6b3ed69 100644 --- a/fine_tune.py +++ b/fine_tune.py @@ -337,6 +337,9 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): train_util.sample_images( accelerator, args, 0, global_step, accelerator.device, vae, tokenize_strategy.tokenizer, text_encoder, unet ) + if len(accelerator.trackers) > 0: + # log empty object to commit the sample images to wandb + accelerator.log({}, step=0) loss_recorder = train_util.LossRecorder() for epoch in range(num_train_epochs): @@ -456,7 +459,7 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): ) current_loss = loss.detach().item() # 平均なのでbatch sizeは関係ないはず - if args.logging_dir is not None: + if len(accelerator.trackers) > 0: logs = {"loss": current_loss} train_util.append_lr_to_logs(logs, lr_scheduler, args.optimizer_type, including_unet=True) accelerator.log(logs, step=global_step) @@ -469,7 +472,7 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): if global_step >= args.max_train_steps: break - if args.logging_dir is not None: + if len(accelerator.trackers) > 0: logs = {"loss/epoch": loss_recorder.moving_average} accelerator.log(logs, step=epoch + 1) diff --git a/flux_train.py b/flux_train.py index 0edc83a9f..33481df8f 100644 --- a/flux_train.py +++ b/flux_train.py @@ -629,6 +629,9 @@ def optimizer_hook(parameter: torch.Tensor): # For --sample_at_first flux_train_utils.sample_images(accelerator, args, 0, global_step, flux, ae, [clip_l, t5xxl], sample_prompts_te_outputs) + if len(accelerator.trackers) > 0: + # log empty object to commit the sample images to wandb + accelerator.log({}, step=0) loss_recorder = train_util.LossRecorder() epoch = 0 # avoid error when max_train_steps is 0 @@ -777,7 +780,7 @@ def optimizer_hook(parameter: torch.Tensor): ) current_loss = loss.detach().item() # 平均なのでbatch sizeは関係ないはず - if args.logging_dir is not None: + if len(accelerator.trackers) > 0: logs = {"loss": current_loss} train_util.append_lr_to_logs(logs, lr_scheduler, args.optimizer_type, including_unet=True) @@ -791,7 +794,7 @@ def optimizer_hook(parameter: torch.Tensor): if global_step >= args.max_train_steps: break - if args.logging_dir is not None: + if len(accelerator.trackers) > 0: logs = {"loss/epoch": loss_recorder.moving_average} accelerator.log(logs, step=epoch + 1) diff --git a/library/flux_train_utils.py b/library/flux_train_utils.py index 0b5d4d90e..f77d4b585 100644 --- a/library/flux_train_utils.py +++ b/library/flux_train_utils.py @@ -254,17 +254,19 @@ def sample_image_inference( img_filename = f"{'' if args.output_name is None else args.output_name + '_'}{num_suffix}_{i:02d}_{ts_str}{seed_suffix}.png" image.save(os.path.join(save_dir, img_filename)) - # wandb有効時のみログを送信 - try: + # send images to wandb if enabled + if "wandb" in [tracker.name for tracker in accelerator.trackers]: wandb_tracker = accelerator.get_tracker("wandb") - try: - import wandb - except ImportError: # 事前に一度確認するのでここはエラー出ないはず - raise ImportError("No wandb / wandb がインストールされていないようです") - wandb_tracker.log({f"sample_{i}": wandb.Image(image)}) - except: # wandb 無効時 - pass + import wandb + # not to commit images to avoid inconsistency between training and logging steps + wandb_tracker.log( + {f"sample_{i}": wandb.Image( + image, + caption=prompt # positive prompt as a caption + )}, + commit=False + ) def time_shift(mu: float, sigma: float, t: torch.Tensor): diff --git a/library/sd3_train_utils.py b/library/sd3_train_utils.py index da0729506..e819d440c 100644 --- a/library/sd3_train_utils.py +++ b/library/sd3_train_utils.py @@ -604,17 +604,19 @@ def sample_image_inference( img_filename = f"{'' if args.output_name is None else args.output_name + '_'}{num_suffix}_{i:02d}_{ts_str}{seed_suffix}.png" image.save(os.path.join(save_dir, img_filename)) - # wandb有効時のみログを送信 - try: + # send images to wandb if enabled + if "wandb" in [tracker.name for tracker in accelerator.trackers]: wandb_tracker = accelerator.get_tracker("wandb") - try: - import wandb - except ImportError: # 事前に一度確認するのでここはエラー出ないはず - raise ImportError("No wandb / wandb がインストールされていないようです") - wandb_tracker.log({f"sample_{i}": wandb.Image(image)}) - except: # wandb 無効時 - pass + import wandb + # not to commit images to avoid inconsistency between training and logging steps + wandb_tracker.log( + {f"sample_{i}": wandb.Image( + image, + caption=prompt # positive prompt as a caption + )}, + commit=False + ) # region Diffusers diff --git a/library/train_util.py b/library/train_util.py index f682dcbfb..742d057e0 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -5832,17 +5832,19 @@ def sample_image_inference( img_filename = f"{'' if args.output_name is None else args.output_name + '_'}{num_suffix}_{i:02d}_{ts_str}{seed_suffix}.png" image.save(os.path.join(save_dir, img_filename)) - # wandb有効時のみログを送信 - try: + # send images to wandb if enabled + if "wandb" in [tracker.name for tracker in accelerator.trackers]: wandb_tracker = accelerator.get_tracker("wandb") - try: - import wandb - except ImportError: # 事前に一度確認するのでここはエラー出ないはず - raise ImportError("No wandb / wandb がインストールされていないようです") - wandb_tracker.log({f"sample_{i}": wandb.Image(image)}) - except: # wandb 無効時 - pass + import wandb + # not to commit images to avoid inconsistency between training and logging steps + wandb_tracker.log( + {f"sample_{i}": wandb.Image( + image, + caption=prompt # positive prompt as a caption + )}, + commit=False + ) # endregion diff --git a/sd3_train.py b/sd3_train.py index 87011b215..5120105f2 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -682,6 +682,9 @@ def optimizer_hook(parameter: torch.Tensor): # For --sample_at_first sd3_train_utils.sample_images(accelerator, args, 0, global_step, mmdit, vae, [clip_l, clip_g, t5xxl], sample_prompts_te_outputs) + if len(accelerator.trackers) > 0: + # log empty object to commit the sample images to wandb + accelerator.log({}, step=0) # following function will be moved to sd3_train_utils @@ -901,7 +904,7 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): ) current_loss = loss.detach().item() # 平均なのでbatch sizeは関係ないはず - if args.logging_dir is not None: + if len(accelerator.trackers) > 0: logs = {"loss": current_loss} train_util.append_lr_to_logs(logs, lr_scheduler, args.optimizer_type, including_unet=train_mmdit) @@ -915,7 +918,7 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): if global_step >= args.max_train_steps: break - if args.logging_dir is not None: + if len(accelerator.trackers) > 0: logs = {"loss/epoch": loss_recorder.moving_average} accelerator.log(logs, step=epoch + 1) diff --git a/sdxl_train.py b/sdxl_train.py index b2c62dd11..7291ddd2f 100644 --- a/sdxl_train.py +++ b/sdxl_train.py @@ -617,6 +617,9 @@ def optimizer_hook(parameter: torch.Tensor): sdxl_train_util.sample_images( accelerator, args, 0, global_step, accelerator.device, vae, tokenizers, [text_encoder1, text_encoder2], unet ) + if len(accelerator.trackers) > 0: + # log empty object to commit the sample images to wandb + accelerator.log({}, step=0) loss_recorder = train_util.LossRecorder() for epoch in range(num_train_epochs): @@ -797,7 +800,7 @@ def optimizer_hook(parameter: torch.Tensor): ) current_loss = loss.detach().item() # 平均なのでbatch sizeは関係ないはず - if args.logging_dir is not None: + if len(accelerator.trackers) > 0: logs = {"loss": current_loss} if block_lrs is None: train_util.append_lr_to_logs(logs, lr_scheduler, args.optimizer_type, including_unet=train_unet) @@ -814,7 +817,7 @@ def optimizer_hook(parameter: torch.Tensor): if global_step >= args.max_train_steps: break - if args.logging_dir is not None: + if len(accelerator.trackers) > 0: logs = {"loss/epoch": loss_recorder.moving_average} accelerator.log(logs, step=epoch + 1) diff --git a/sdxl_train_control_net_lllite.py b/sdxl_train_control_net_lllite.py index 0eaec29b8..9d1cfc63e 100644 --- a/sdxl_train_control_net_lllite.py +++ b/sdxl_train_control_net_lllite.py @@ -541,14 +541,14 @@ def remove_model(old_ckpt_name): logs = {"avr_loss": avr_loss} # , "lr": lr_scheduler.get_last_lr()[0]} progress_bar.set_postfix(**logs) - if args.logging_dir is not None: + if len(accelerator.trackers) > 0: logs = generate_step_logs(args, current_loss, avr_loss, lr_scheduler) accelerator.log(logs, step=global_step) if global_step >= args.max_train_steps: break - if args.logging_dir is not None: + if len(accelerator.trackers) > 0: logs = {"loss/epoch": loss_recorder.moving_average} accelerator.log(logs, step=epoch + 1) diff --git a/sdxl_train_control_net_lllite_old.py b/sdxl_train_control_net_lllite_old.py index 292a0463a..6fa1d6096 100644 --- a/sdxl_train_control_net_lllite_old.py +++ b/sdxl_train_control_net_lllite_old.py @@ -480,14 +480,14 @@ def remove_model(old_ckpt_name): logs = {"avr_loss": avr_loss} # , "lr": lr_scheduler.get_last_lr()[0]} progress_bar.set_postfix(**logs) - if args.logging_dir is not None: + if len(accelerator.trackers) > 0: logs = generate_step_logs(args, current_loss, avr_loss, lr_scheduler) accelerator.log(logs, step=global_step) if global_step >= args.max_train_steps: break - if args.logging_dir is not None: + if len(accelerator.trackers) > 0: logs = {"loss/epoch": loss_recorder.moving_average} accelerator.log(logs, step=epoch + 1) diff --git a/train_controlnet.py b/train_controlnet.py index c9ac6c5a8..57f0d263f 100644 --- a/train_controlnet.py +++ b/train_controlnet.py @@ -409,6 +409,9 @@ def remove_model(old_ckpt_name): train_util.sample_images( accelerator, args, 0, global_step, accelerator.device, vae, tokenizer, text_encoder, unet, controlnet=controlnet ) + if len(accelerator.trackers) > 0: + # log empty object to commit the sample images to wandb + accelerator.log({}, step=0) # training loop for epoch in range(num_train_epochs): @@ -542,14 +545,14 @@ def remove_model(old_ckpt_name): logs = {"avr_loss": avr_loss} # , "lr": lr_scheduler.get_last_lr()[0]} progress_bar.set_postfix(**logs) - if args.logging_dir is not None: + if len(accelerator.trackers) > 0: logs = generate_step_logs(args, current_loss, avr_loss, lr_scheduler) accelerator.log(logs, step=global_step) if global_step >= args.max_train_steps: break - if args.logging_dir is not None: + if len(accelerator.trackers) > 0: logs = {"loss/epoch": loss_recorder.moving_average} accelerator.log(logs, step=epoch + 1) diff --git a/train_db.py b/train_db.py index 7caee6647..d42afd89a 100644 --- a/train_db.py +++ b/train_db.py @@ -315,6 +315,9 @@ def train(args): train_util.sample_images( accelerator, args, 0, global_step, accelerator.device, vae, tokenize_strategy.tokenizer, text_encoder, unet ) + if len(accelerator.trackers) > 0: + # log empty object to commit the sample images to wandb + accelerator.log({}, step=0) loss_recorder = train_util.LossRecorder() for epoch in range(num_train_epochs): @@ -445,7 +448,7 @@ def train(args): ) current_loss = loss.detach().item() - if args.logging_dir is not None: + if len(accelerator.trackers) > 0: logs = {"loss": current_loss} train_util.append_lr_to_logs(logs, lr_scheduler, args.optimizer_type, including_unet=True) accelerator.log(logs, step=global_step) @@ -458,7 +461,7 @@ def train(args): if global_step >= args.max_train_steps: break - if args.logging_dir is not None: + if len(accelerator.trackers) > 0: logs = {"loss/epoch": loss_recorder.moving_average} accelerator.log(logs, step=epoch + 1) diff --git a/train_network.py b/train_network.py index e45db0525..34385ae08 100644 --- a/train_network.py +++ b/train_network.py @@ -1038,6 +1038,9 @@ def remove_model(old_ckpt_name): # For --sample_at_first self.sample_images(accelerator, args, 0, global_step, accelerator.device, vae, tokenizers, text_encoder, unet) + if len(accelerator.trackers) > 0: + # log empty object to commit the sample images to wandb + accelerator.log({}, step=0) # training loop if initial_step > 0: # only if skip_until_initial_step is specified @@ -1224,7 +1227,7 @@ def remove_model(old_ckpt_name): if args.scale_weight_norms: progress_bar.set_postfix(**{**max_mean_logs, **logs}) - if args.logging_dir is not None: + if len(accelerator.trackers) > 0: logs = self.generate_step_logs( args, current_loss, avr_loss, lr_scheduler, lr_descriptions, keys_scaled, mean_norm, maximum_norm ) @@ -1233,7 +1236,7 @@ def remove_model(old_ckpt_name): if global_step >= args.max_train_steps: break - if args.logging_dir is not None: + if len(accelerator.trackers) > 0: logs = {"loss/epoch": loss_recorder.moving_average} accelerator.log(logs, step=epoch + 1) diff --git a/train_textual_inversion.py b/train_textual_inversion.py index 9044f50df..956c78603 100644 --- a/train_textual_inversion.py +++ b/train_textual_inversion.py @@ -550,6 +550,9 @@ def remove_model(old_ckpt_name): unet, prompt_replacement, ) + if len(accelerator.trackers) > 0: + # log empty object to commit the sample images to wandb + accelerator.log({}, step=0) # training loop for epoch in range(num_train_epochs): @@ -684,7 +687,7 @@ def remove_model(old_ckpt_name): remove_model(remove_ckpt_name) current_loss = loss.detach().item() - if args.logging_dir is not None: + if len(accelerator.trackers) > 0: logs = {"loss": current_loss, "lr": float(lr_scheduler.get_last_lr()[0])} if ( args.optimizer_type.lower().startswith("DAdapt".lower()) or args.optimizer_type.lower() == "Prodigy".lower() @@ -702,7 +705,7 @@ def remove_model(old_ckpt_name): if global_step >= args.max_train_steps: break - if args.logging_dir is not None: + if len(accelerator.trackers) > 0: logs = {"loss/epoch": loss_total / len(train_dataloader)} accelerator.log(logs, step=epoch + 1) @@ -739,6 +742,7 @@ def remove_model(old_ckpt_name): unet, prompt_replacement, ) + accelerator.log({}) # end of epoch diff --git a/train_textual_inversion_XTI.py b/train_textual_inversion_XTI.py index efb59137b..ca0b603fb 100644 --- a/train_textual_inversion_XTI.py +++ b/train_textual_inversion_XTI.py @@ -538,7 +538,7 @@ def remove_model(old_ckpt_name): remove_model(remove_ckpt_name) current_loss = loss.detach().item() - if args.logging_dir is not None: + if len(accelerator.trackers) > 0: logs = {"loss": current_loss, "lr": float(lr_scheduler.get_last_lr()[0])} if ( args.optimizer_type.lower().startswith("DAdapt".lower()) or args.optimizer_type.lower() == "Prodigy".lower() @@ -556,7 +556,7 @@ def remove_model(old_ckpt_name): if global_step >= args.max_train_steps: break - if args.logging_dir is not None: + if len(accelerator.trackers) > 0: logs = {"loss/epoch": loss_total / len(train_dataloader)} accelerator.log(logs, step=epoch + 1) From 237317fffd060bcfb078b770ccd2df18bc4dd3a6 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Wed, 11 Sep 2024 22:23:43 +0900 Subject: [PATCH 212/748] update README --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 2b3d0d5a8..d3481b6ae 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,9 @@ The command to install PyTorch is as follows: ### Recent Updates +Sep 11, 2024: +Logging to wandb is improved. See PR [#1576](https://github.com/kohya-ss/sd-scripts/pull/1576) for details. Thanks to p1atdev! + Sep 10, 2024: In FLUX.1 LoRA training, individual learning rates can be specified for CLIP-L and T5XXL. By specifying multiple numbers in `--text_encoder_lr`, you can set the learning rates for CLIP-L and T5XXL separately. Specify like `--text_encoder_lr 1e-4 1e-5`. The first value is the learning rate for CLIP-L, and the second value is for T5XXL. If you specify only one, the learning rates for CLIP-L and T5XXL will be the same. From cefe52629e1901dd8192b0487afd5e9f089e3519 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 12 Sep 2024 12:36:07 +0900 Subject: [PATCH 213/748] fix to work old notation for TE LR in .toml --- networks/lora_flux.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/networks/lora_flux.py b/networks/lora_flux.py index d540c2215..dd267de0f 100644 --- a/networks/lora_flux.py +++ b/networks/lora_flux.py @@ -788,8 +788,11 @@ def set_loraplus_lr_ratio(self, loraplus_lr_ratio, loraplus_unet_lr_ratio, lorap def prepare_optimizer_params_with_multiple_te_lrs(self, text_encoder_lr, unet_lr, default_lr): # make sure text_encoder_lr as list of two elements - if text_encoder_lr is None or len(text_encoder_lr) == 0: + # if float, use the same value for both text encoders + if text_encoder_lr is None or (isinstance(text_encoder_lr, list) and len(text_encoder_lr) == 0): text_encoder_lr = [default_lr, default_lr] + elif isinstance(text_encoder_lr, float): + text_encoder_lr = [text_encoder_lr, text_encoder_lr] elif len(text_encoder_lr) == 1: text_encoder_lr = [text_encoder_lr[0], text_encoder_lr[0]] From 1d7118a62268f12ebfd81c10db53bd85ef9d7631 Mon Sep 17 00:00:00 2001 From: Maru-mee <151493593+Maru-mee@users.noreply.github.com> Date: Fri, 13 Sep 2024 19:01:36 +0900 Subject: [PATCH 214/748] Support : OFT merge to base model (#1580) * Support : OFT merge to base model * Fix typo * Fix typo_2 * Delete unused parameter 'eye' --- networks/sdxl_merge_lora.py | 192 +++++++++++++++++++++++++++--------- 1 file changed, 144 insertions(+), 48 deletions(-) diff --git a/networks/sdxl_merge_lora.py b/networks/sdxl_merge_lora.py index 3383a80de..2c998c8cb 100644 --- a/networks/sdxl_merge_lora.py +++ b/networks/sdxl_merge_lora.py @@ -8,10 +8,12 @@ from library import sai_model_spec, sdxl_model_util, train_util import library.model_util as model_util import lora +import oft from library.utils import setup_logging setup_logging() import logging logger = logging.getLogger(__name__) +import concurrent.futures def load_state_dict(file_name, dtype): if os.path.splitext(file_name)[1] == ".safetensors": @@ -39,82 +41,176 @@ def save_to_file(file_name, model, state_dict, dtype, metadata): else: torch.save(model, file_name) +def detect_method_from_training_model(models, dtype): + for model in models: + lora_sd, _ = load_state_dict(model, dtype) + for key in tqdm(lora_sd.keys()): + if 'lora_up' in key or 'lora_down' in key: + return 'LoRA' + elif "oft_blocks" in key: + return 'OFT' def merge_to_sd_model(text_encoder1, text_encoder2, unet, models, ratios, merge_dtype): text_encoder1.to(merge_dtype) text_encoder1.to(merge_dtype) unet.to(merge_dtype) + + # detect the method: OFT or LoRA_module + method = detect_method_from_training_model(models, merge_dtype) + logger.info(f"method:{method}") # create module map name_to_module = {} for i, root_module in enumerate([text_encoder1, text_encoder2, unet]): - if i <= 1: - if i == 0: - prefix = lora.LoRANetwork.LORA_PREFIX_TEXT_ENCODER1 + if method == 'LoRA': + if i <= 1: + if i == 0: + prefix = lora.LoRANetwork.LORA_PREFIX_TEXT_ENCODER1 + else: + prefix = lora.LoRANetwork.LORA_PREFIX_TEXT_ENCODER2 + target_replace_modules = lora.LoRANetwork.TEXT_ENCODER_TARGET_REPLACE_MODULE else: - prefix = lora.LoRANetwork.LORA_PREFIX_TEXT_ENCODER2 - target_replace_modules = lora.LoRANetwork.TEXT_ENCODER_TARGET_REPLACE_MODULE - else: - prefix = lora.LoRANetwork.LORA_PREFIX_UNET - target_replace_modules = ( + prefix = lora.LoRANetwork.LORA_PREFIX_UNET + target_replace_modules = ( lora.LoRANetwork.UNET_TARGET_REPLACE_MODULE + lora.LoRANetwork.UNET_TARGET_REPLACE_MODULE_CONV2D_3X3 + ) + elif method == 'OFT': + prefix = oft.OFTNetwork.OFT_PREFIX_UNET + target_replace_modules = ( + oft.OFTNetwork.UNET_TARGET_REPLACE_MODULE_ALL_LINEAR + oft.OFTNetwork.UNET_TARGET_REPLACE_MODULE_CONV2D_3X3 ) for name, module in root_module.named_modules(): if module.__class__.__name__ in target_replace_modules: for child_name, child_module in module.named_modules(): - if child_module.__class__.__name__ == "Linear" or child_module.__class__.__name__ == "Conv2d": - lora_name = prefix + "." + name + "." + child_name - lora_name = lora_name.replace(".", "_") - name_to_module[lora_name] = child_module - + if method == 'LoRA': + if child_module.__class__.__name__ == "Linear" or child_module.__class__.__name__ == "Conv2d": + lora_name = prefix + "." + name + "." + child_name + lora_name = lora_name.replace(".", "_") + name_to_module[lora_name] = child_module + elif method == 'OFT': + if child_module.__class__.__name__ == "Linear" or child_module.__class__.__name__ == "Conv2d": + oft_name = prefix + "." + name + "." + child_name + oft_name = oft_name.replace(".", "_") + name_to_module[oft_name] = child_module + + for model, ratio in zip(models, ratios): logger.info(f"loading: {model}") lora_sd, _ = load_state_dict(model, merge_dtype) logger.info(f"merging...") - for key in tqdm(lora_sd.keys()): - if "lora_down" in key: - up_key = key.replace("lora_down", "lora_up") - alpha_key = key[: key.index("lora_down")] + "alpha" - # find original module for this lora - module_name = ".".join(key.split(".")[:-2]) # remove trailing ".lora_down.weight" + if method == 'LoRA': + for key in tqdm(lora_sd.keys()): + if "lora_down" in key: + up_key = key.replace("lora_down", "lora_up") + alpha_key = key[: key.index("lora_down")] + "alpha" + + # find original module for this lora + module_name = ".".join(key.split(".")[:-2]) # remove trailing ".lora_down.weight" + if module_name not in name_to_module: + logger.info(f"no module found for LoRA weight: {key}") + continue + module = name_to_module[module_name] + # logger.info(f"apply {key} to {module}") + + down_weight = lora_sd[key] + up_weight = lora_sd[up_key] + + dim = down_weight.size()[0] + alpha = lora_sd.get(alpha_key, dim) + scale = alpha / dim + + # W <- W + U * D + weight = module.weight + # logger.info(module_name, down_weight.size(), up_weight.size()) + if len(weight.size()) == 2: + # linear + weight = weight + ratio * (up_weight @ down_weight) * scale + elif down_weight.size()[2:4] == (1, 1): + # conv2d 1x1 + weight = ( + weight + + ratio + * (up_weight.squeeze(3).squeeze(2) @ down_weight.squeeze(3).squeeze(2)).unsqueeze(2).unsqueeze(3) + * scale + ) + else: + # conv2d 3x3 + conved = torch.nn.functional.conv2d(down_weight.permute(1, 0, 2, 3), up_weight).permute(1, 0, 2, 3) + # logger.info(conved.size(), weight.size(), module.stride, module.padding) + weight = weight + ratio * conved * scale + + module.weight = torch.nn.Parameter(weight) + + + elif method == 'OFT': + + multiplier=1.0 + device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') + + for key in tqdm(lora_sd.keys()): + if "oft_blocks" in key: + oft_blocks = lora_sd[key] + dim = oft_blocks.shape[0] + break + for key in tqdm(lora_sd.keys()): + if "alpha" in key: + oft_blocks = lora_sd[key] + alpha = oft_blocks.item() + break + + def merge_to(key): + if "alpha" in key: + return + + # find original module for this OFT + module_name = ".".join(key.split(".")[:-1]) if module_name not in name_to_module: - logger.info(f"no module found for LoRA weight: {key}") - continue + return module = name_to_module[module_name] - # logger.info(f"apply {key} to {module}") - down_weight = lora_sd[key] - up_weight = lora_sd[up_key] - - dim = down_weight.size()[0] - alpha = lora_sd.get(alpha_key, dim) - scale = alpha / dim - - # W <- W + U * D - weight = module.weight - # logger.info(module_name, down_weight.size(), up_weight.size()) - if len(weight.size()) == 2: - # linear - weight = weight + ratio * (up_weight @ down_weight) * scale - elif down_weight.size()[2:4] == (1, 1): - # conv2d 1x1 - weight = ( - weight - + ratio - * (up_weight.squeeze(3).squeeze(2) @ down_weight.squeeze(3).squeeze(2)).unsqueeze(2).unsqueeze(3) - * scale - ) + # logger.info(f"apply {key} to {module}") + + oft_blocks = lora_sd[key] + + if isinstance(module, torch.nn.Linear): + out_dim = module.out_features + elif isinstance(module, torch.nn.Conv2d): + out_dim = module.out_channels + + num_blocks = dim + block_size = out_dim // dim + constraint = (0 if alpha is None else alpha) * out_dim + + block_Q = oft_blocks - oft_blocks.transpose(1, 2) + norm_Q = torch.norm(block_Q.flatten()) + new_norm_Q = torch.clamp(norm_Q, max=constraint) + block_Q = block_Q * ((new_norm_Q + 1e-8) / (norm_Q + 1e-8)) + I = torch.eye(block_size, device=oft_blocks.device).unsqueeze(0).repeat(num_blocks, 1, 1) + block_R = torch.matmul(I + block_Q, (I - block_Q).inverse()) + block_R_weighted = multiplier * block_R + (1 - multiplier) * I + R = torch.block_diag(*block_R_weighted) + + # get org weight + org_sd = module.state_dict() + org_weight = org_sd["weight"].to(device) + + R = R.to(org_weight.device, dtype=org_weight.dtype) + + if org_weight.dim() == 4: + weight = torch.einsum("oihw, op -> pihw", org_weight, R) else: - # conv2d 3x3 - conved = torch.nn.functional.conv2d(down_weight.permute(1, 0, 2, 3), up_weight).permute(1, 0, 2, 3) - # logger.info(conved.size(), weight.size(), module.stride, module.padding) - weight = weight + ratio * conved * scale - + weight = torch.einsum("oi, op -> pi", org_weight, R) + + weight = weight.contiguous() # Make Tensor contiguous; required due to ThreadPoolExecutor + module.weight = torch.nn.Parameter(weight) + with concurrent.futures.ThreadPoolExecutor() as executor: + list(tqdm(executor.map(merge_to, lora_sd.keys()), total=len(lora_sd.keys()))) + def merge_lora_models(models, ratios, merge_dtype, concat=False, shuffle=False): base_alphas = {} # alpha for merged model From 57ae44eb6138fe4a3864fffa62090f9d0113417d Mon Sep 17 00:00:00 2001 From: Kohya S Date: Fri, 13 Sep 2024 19:45:00 +0900 Subject: [PATCH 215/748] refactor to make safer --- networks/sdxl_merge_lora.py | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/networks/sdxl_merge_lora.py b/networks/sdxl_merge_lora.py index 2c998c8cb..d5a54e02a 100644 --- a/networks/sdxl_merge_lora.py +++ b/networks/sdxl_merge_lora.py @@ -44,11 +44,11 @@ def save_to_file(file_name, model, state_dict, dtype, metadata): def detect_method_from_training_model(models, dtype): for model in models: lora_sd, _ = load_state_dict(model, dtype) - for key in tqdm(lora_sd.keys()): - if 'lora_up' in key or 'lora_down' in key: - return 'LoRA' - elif "oft_blocks" in key: - return 'OFT' + for key in tqdm(lora_sd.keys()): + if 'lora_up' in key or 'lora_down' in key: + return 'LoRA' + elif "oft_blocks" in key: + return 'OFT' def merge_to_sd_model(text_encoder1, text_encoder2, unet, models, ratios, merge_dtype): text_encoder1.to(merge_dtype) @@ -76,6 +76,7 @@ def merge_to_sd_model(text_encoder1, text_encoder2, unet, models, ratios, merge_ ) elif method == 'OFT': prefix = oft.OFTNetwork.OFT_PREFIX_UNET + # ALL_LINEAR includes ATTN_ONLY, so we don't need to specify ATTN_ONLY target_replace_modules = ( oft.OFTNetwork.UNET_TARGET_REPLACE_MODULE_ALL_LINEAR + oft.OFTNetwork.UNET_TARGET_REPLACE_MODULE_CONV2D_3X3 ) @@ -83,17 +84,11 @@ def merge_to_sd_model(text_encoder1, text_encoder2, unet, models, ratios, merge_ for name, module in root_module.named_modules(): if module.__class__.__name__ in target_replace_modules: for child_name, child_module in module.named_modules(): - if method == 'LoRA': - if child_module.__class__.__name__ == "Linear" or child_module.__class__.__name__ == "Conv2d": - lora_name = prefix + "." + name + "." + child_name - lora_name = lora_name.replace(".", "_") - name_to_module[lora_name] = child_module - elif method == 'OFT': - if child_module.__class__.__name__ == "Linear" or child_module.__class__.__name__ == "Conv2d": - oft_name = prefix + "." + name + "." + child_name - oft_name = oft_name.replace(".", "_") - name_to_module[oft_name] = child_module - + if child_module.__class__.__name__ == "Linear" or child_module.__class__.__name__ == "Conv2d": + lora_name = prefix + "." + name + "." + child_name + lora_name = lora_name.replace(".", "_") + name_to_module[lora_name] = child_module + for model, ratio in zip(models, ratios): logger.info(f"loading: {model}") @@ -168,6 +163,7 @@ def merge_to(key): # find original module for this OFT module_name = ".".join(key.split(".")[:-1]) if module_name not in name_to_module: + logger.info(f"no module found for OFT weight: {key}") return module = name_to_module[module_name] @@ -208,7 +204,9 @@ def merge_to(key): module.weight = torch.nn.Parameter(weight) - with concurrent.futures.ThreadPoolExecutor() as executor: + # TODO multi-threading may cause OOM on CPU if cpu_count is too high and RAM is not enough + max_workers = 1 if device.type != "cpu" else None # avoid OOM on GPU + with concurrent.futures.ThreadPoolExecutor(max_workers=max_workers) as executor: list(tqdm(executor.map(merge_to, lora_sd.keys()), total=len(lora_sd.keys()))) From 3387dc7306087b84646666e49323980c89d14945 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Fri, 13 Sep 2024 19:45:42 +0900 Subject: [PATCH 216/748] formatting, update README --- README.md | 6 +++ networks/sdxl_merge_lora.py | 86 +++++++++++++++++++++---------------- 2 files changed, 54 insertions(+), 38 deletions(-) diff --git a/README.md b/README.md index fd81a781f..d5d2a7f73 100644 --- a/README.md +++ b/README.md @@ -137,6 +137,12 @@ The majority of scripts is licensed under ASL 2.0 (including codes from Diffuser ## Change History +### Sep 13, 2024 / 2024-09-13: + +- `sdxl_merge_lora.py` now supports OFT. Thanks to Maru-mee for the PR [#1580](https://github.com/kohya-ss/sd-scripts/pull/1580). Will be included in the next release. + +- `sdxl_merge_lora.py` が OFT をサポートしました。PR [#1580](https://github.com/kohya-ss/sd-scripts/pull/1580) Maru-mee 氏に感謝します。次のリリースに含まれます。 + ### Jun 23, 2024 / 2024-06-23: - Fixed `cache_latents.py` and `cache_text_encoder_outputs.py` not working. (Will be included in the next release.) diff --git a/networks/sdxl_merge_lora.py b/networks/sdxl_merge_lora.py index d5a54e02a..d5b6f7f34 100644 --- a/networks/sdxl_merge_lora.py +++ b/networks/sdxl_merge_lora.py @@ -10,11 +10,14 @@ import lora import oft from library.utils import setup_logging + setup_logging() import logging + logger = logging.getLogger(__name__) import concurrent.futures + def load_state_dict(file_name, dtype): if os.path.splitext(file_name)[1] == ".safetensors": sd = load_file(file_name) @@ -41,20 +44,22 @@ def save_to_file(file_name, model, state_dict, dtype, metadata): else: torch.save(model, file_name) + def detect_method_from_training_model(models, dtype): for model in models: lora_sd, _ = load_state_dict(model, dtype) for key in tqdm(lora_sd.keys()): - if 'lora_up' in key or 'lora_down' in key: - return 'LoRA' + if "lora_up" in key or "lora_down" in key: + return "LoRA" elif "oft_blocks" in key: - return 'OFT' + return "OFT" + def merge_to_sd_model(text_encoder1, text_encoder2, unet, models, ratios, merge_dtype): text_encoder1.to(merge_dtype) text_encoder1.to(merge_dtype) unet.to(merge_dtype) - + # detect the method: OFT or LoRA_module method = detect_method_from_training_model(models, merge_dtype) logger.info(f"method:{method}") @@ -62,7 +67,7 @@ def merge_to_sd_model(text_encoder1, text_encoder2, unet, models, ratios, merge_ # create module map name_to_module = {} for i, root_module in enumerate([text_encoder1, text_encoder2, unet]): - if method == 'LoRA': + if method == "LoRA": if i <= 1: if i == 0: prefix = lora.LoRANetwork.LORA_PREFIX_TEXT_ENCODER1 @@ -72,9 +77,9 @@ def merge_to_sd_model(text_encoder1, text_encoder2, unet, models, ratios, merge_ else: prefix = lora.LoRANetwork.LORA_PREFIX_UNET target_replace_modules = ( - lora.LoRANetwork.UNET_TARGET_REPLACE_MODULE + lora.LoRANetwork.UNET_TARGET_REPLACE_MODULE_CONV2D_3X3 + lora.LoRANetwork.UNET_TARGET_REPLACE_MODULE + lora.LoRANetwork.UNET_TARGET_REPLACE_MODULE_CONV2D_3X3 ) - elif method == 'OFT': + elif method == "OFT": prefix = oft.OFTNetwork.OFT_PREFIX_UNET # ALL_LINEAR includes ATTN_ONLY, so we don't need to specify ATTN_ONLY target_replace_modules = ( @@ -88,15 +93,14 @@ def merge_to_sd_model(text_encoder1, text_encoder2, unet, models, ratios, merge_ lora_name = prefix + "." + name + "." + child_name lora_name = lora_name.replace(".", "_") name_to_module[lora_name] = child_module - - + for model, ratio in zip(models, ratios): logger.info(f"loading: {model}") lora_sd, _ = load_state_dict(model, merge_dtype) logger.info(f"merging...") - if method == 'LoRA': + if method == "LoRA": for key in tqdm(lora_sd.keys()): if "lora_down" in key: up_key = key.replace("lora_down", "lora_up") @@ -139,12 +143,11 @@ def merge_to_sd_model(text_encoder1, text_encoder2, unet, models, ratios, merge_ module.weight = torch.nn.Parameter(weight) - - elif method == 'OFT': - - multiplier=1.0 - device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') - + elif method == "OFT": + + multiplier = 1.0 + device = torch.device("cuda" if torch.cuda.is_available() else "cpu") + for key in tqdm(lora_sd.keys()): if "oft_blocks" in key: oft_blocks = lora_sd[key] @@ -154,12 +157,12 @@ def merge_to_sd_model(text_encoder1, text_encoder2, unet, models, ratios, merge_ if "alpha" in key: oft_blocks = lora_sd[key] alpha = oft_blocks.item() - break - + break + def merge_to(key): if "alpha" in key: return - + # find original module for this OFT module_name = ".".join(key.split(".")[:-1]) if module_name not in name_to_module: @@ -168,18 +171,18 @@ def merge_to(key): module = name_to_module[module_name] # logger.info(f"apply {key} to {module}") - + oft_blocks = lora_sd[key] - + if isinstance(module, torch.nn.Linear): out_dim = module.out_features elif isinstance(module, torch.nn.Conv2d): out_dim = module.out_channels - + num_blocks = dim block_size = out_dim // dim constraint = (0 if alpha is None else alpha) * out_dim - + block_Q = oft_blocks - oft_blocks.transpose(1, 2) norm_Q = torch.norm(block_Q.flatten()) new_norm_Q = torch.clamp(norm_Q, max=constraint) @@ -188,24 +191,24 @@ def merge_to(key): block_R = torch.matmul(I + block_Q, (I - block_Q).inverse()) block_R_weighted = multiplier * block_R + (1 - multiplier) * I R = torch.block_diag(*block_R_weighted) - + # get org weight org_sd = module.state_dict() org_weight = org_sd["weight"].to(device) R = R.to(org_weight.device, dtype=org_weight.dtype) - + if org_weight.dim() == 4: weight = torch.einsum("oihw, op -> pihw", org_weight, R) else: weight = torch.einsum("oi, op -> pi", org_weight, R) - - weight = weight.contiguous() # Make Tensor contiguous; required due to ThreadPoolExecutor - + + weight = weight.contiguous() # Make Tensor contiguous; required due to ThreadPoolExecutor + module.weight = torch.nn.Parameter(weight) # TODO multi-threading may cause OOM on CPU if cpu_count is too high and RAM is not enough - max_workers = 1 if device.type != "cpu" else None # avoid OOM on GPU + max_workers = 1 if device.type != "cpu" else None # avoid OOM on GPU with concurrent.futures.ThreadPoolExecutor(max_workers=max_workers) as executor: list(tqdm(executor.map(merge_to, lora_sd.keys()), total=len(lora_sd.keys()))) @@ -258,7 +261,7 @@ def merge_lora_models(models, ratios, merge_dtype, concat=False, shuffle=False): for key in tqdm(lora_sd.keys()): if "alpha" in key: continue - + if "lora_up" in key and concat: concat_dim = 1 elif "lora_down" in key and concat: @@ -272,8 +275,8 @@ def merge_lora_models(models, ratios, merge_dtype, concat=False, shuffle=False): alpha = alphas[lora_module_name] scale = math.sqrt(alpha / base_alpha) * ratio - scale = abs(scale) if "lora_up" in key else scale # マイナスの重みに対応する。 - + scale = abs(scale) if "lora_up" in key else scale # マイナスの重みに対応する。 + if key in merged_sd: assert ( merged_sd[key].size() == lora_sd[key].size() or concat_dim is not None @@ -295,7 +298,7 @@ def merge_lora_models(models, ratios, merge_dtype, concat=False, shuffle=False): dim = merged_sd[key_down].shape[0] perm = torch.randperm(dim) merged_sd[key_down] = merged_sd[key_down][perm] - merged_sd[key_up] = merged_sd[key_up][:,perm] + merged_sd[key_up] = merged_sd[key_up][:, perm] logger.info("merged model") logger.info(f"dim: {list(set(base_dims.values()))}, alpha: {list(set(base_alphas.values()))}") @@ -323,7 +326,9 @@ def merge_lora_models(models, ratios, merge_dtype, concat=False, shuffle=False): def merge(args): - assert len(args.models) == len(args.ratios), f"number of models must be equal to number of ratios / モデルの数と重みの数は合わせてください" + assert len(args.models) == len( + args.ratios + ), f"number of models must be equal to number of ratios / モデルの数と重みの数は合わせてください" def str_to_dtype(p): if p == "float": @@ -410,10 +415,16 @@ def setup_parser() -> argparse.ArgumentParser: help="Stable Diffusion model to load: ckpt or safetensors file, merge LoRA models if omitted / 読み込むモデル、ckptまたはsafetensors。省略時はLoRAモデル同士をマージする", ) parser.add_argument( - "--save_to", type=str, default=None, help="destination file name: ckpt or safetensors file / 保存先のファイル名、ckptまたはsafetensors" + "--save_to", + type=str, + default=None, + help="destination file name: ckpt or safetensors file / 保存先のファイル名、ckptまたはsafetensors", ) parser.add_argument( - "--models", type=str, nargs="*", help="LoRA models to merge: ckpt or safetensors file / マージするLoRAモデル、ckptまたはsafetensors" + "--models", + type=str, + nargs="*", + help="LoRA models to merge: ckpt or safetensors file / マージするLoRAモデル、ckptまたはsafetensors", ) parser.add_argument("--ratios", type=float, nargs="*", help="ratios for each model / それぞれのLoRAモデルの比率") parser.add_argument( @@ -431,8 +442,7 @@ def setup_parser() -> argparse.ArgumentParser: parser.add_argument( "--shuffle", action="store_true", - help="shuffle lora weight./ " - + "LoRAの重みをシャッフルする", + help="shuffle lora weight./ " + "LoRAの重みをシャッフルする", ) return parser From 734d2e5b2b7a1551f3750a15e71060f3beed98e9 Mon Sep 17 00:00:00 2001 From: terracottahaniwa <57107346+terracottahaniwa@users.noreply.github.com> Date: Fri, 13 Sep 2024 20:45:35 +0900 Subject: [PATCH 217/748] Support Lora Block Weight (LBW) to svd_merge_lora.py (#1575) * support lora block weight * solve license incompatibility * Fix issue: lbw index calculation --- networks/svd_merge_lora.py | 150 ++++++++++++++++++++++++++++++++++++- 1 file changed, 146 insertions(+), 4 deletions(-) diff --git a/networks/svd_merge_lora.py b/networks/svd_merge_lora.py index cb00a6000..6e163aecf 100644 --- a/networks/svd_merge_lora.py +++ b/networks/svd_merge_lora.py @@ -1,5 +1,8 @@ import argparse +import itertools +import json import os +import re import time import torch from safetensors.torch import load_file, save_file @@ -14,6 +17,106 @@ CLAMP_QUANTILE = 0.99 +ACCEPTABLE = [12, 17, 20, 26] +SDXL_LAYER_NUM = [12, 20] + +LAYER12 = { + "BASE": True, + "IN00": False, "IN01": False, "IN02": False, "IN03": False, "IN04": True, "IN05": True, + "IN06": False, "IN07": True, "IN08": True, "IN09": False, "IN10": False, "IN11": False, + "MID": True, + "OUT00": True, "OUT01": True, "OUT02": True, "OUT03": True, "OUT04": True, "OUT05": True, + "OUT06": False, "OUT07": False, "OUT08": False, "OUT09": False, "OUT10": False, "OUT11": False +} + +LAYER17 = { + "BASE": True, + "IN00": False, "IN01": True, "IN02": True, "IN03": False, "IN04": True, "IN05": True, + "IN06": False, "IN07": True, "IN08": True, "IN09": False, "IN10": False, "IN11": False, + "MID": True, + "OUT00": False, "OUT01": False, "OUT02": False, "OUT03": True, "OUT04": True, "OUT05": True, + "OUT06": True, "OUT07": True, "OUT08": True, "OUT09": True, "OUT10": True, "OUT11": True, +} + +LAYER20 = { + "BASE": True, + "IN00": True, "IN01": True, "IN02": True, "IN03": True, "IN04": True, "IN05": True, + "IN06": True, "IN07": True, "IN08": True, "IN09": False, "IN10": False, "IN11": False, + "MID": True, + "OUT00": True, "OUT01": True, "OUT02": True, "OUT03": True, "OUT04": True, "OUT05": True, + "OUT06": True, "OUT07": True, "OUT08": True, "OUT09": False, "OUT10": False, "OUT11": False, +} + +LAYER26 = { + "BASE": True, + "IN00": True, "IN01": True, "IN02": True, "IN03": True, "IN04": True, "IN05": True, + "IN06": True, "IN07": True, "IN08": True, "IN09": True, "IN10": True, "IN11": True, + "MID": True, + "OUT00": True, "OUT01": True, "OUT02": True, "OUT03": True, "OUT04": True, "OUT05": True, + "OUT06": True, "OUT07": True, "OUT08": True, "OUT09": True, "OUT10": True, "OUT11": True, +} + +assert len([v for v in LAYER12.values() if v]) == 12 +assert len([v for v in LAYER17.values() if v]) == 17 +assert len([v for v in LAYER20.values() if v]) == 20 +assert len([v for v in LAYER26.values() if v]) == 26 + +RE_UPDOWN = re.compile(r"(up|down)_blocks_(\d+)_(resnets|upsamplers|downsamplers|attentions)_(\d+)_") + + +def get_lbw_block_index(lora_name: str, is_sdxl: bool = False) -> int: + # lbw block index is 0-based, but 0 for text encoder, so we return 0 for text encoder + if "text_model_encoder_" in lora_name: # LoRA for text encoder + return 0 + + # lbw block index is 1-based for U-Net, and no "input_blocks.0" in CompVis SD, so "input_blocks.1" have index 2 + block_idx = -1 # invalid lora name + if not is_sdxl: + NUM_OF_BLOCKS = 12 # up/down blocks + m = RE_UPDOWN.search(lora_name) + if m: + g = m.groups() + up_down = g[0] + i = int(g[1]) + j = int(g[3]) + if up_down == "down": + if g[2] == "resnets" or g[2] == "attentions": + idx = 3 * i + j + 1 + elif g[2] == "downsamplers": + idx = 3 * (i + 1) + else: + return block_idx # invalid lora name + elif up_down == "up": + if g[2] == "resnets" or g[2] == "attentions": + idx = 3 * i + j + elif g[2] == "upsamplers": + idx = 3 * i + 2 + else: + return block_idx # invalid lora name + + if g[0] == "down": + block_idx = 1 + idx # 1-based index, down block index + elif g[0] == "up": + block_idx = 1 + NUM_OF_BLOCKS + 1 + idx # 1-based index, num blocks, mid block, up block index + + elif "mid_block_" in lora_name: + block_idx = 1 + NUM_OF_BLOCKS # 1-based index, num blocks, mid block + else: + if lora_name.startswith("lora_unet_"): + name = lora_name[len("lora_unet_") :] + if name.startswith("time_embed_") or name.startswith("label_emb_"): # 1, No LoRA in sd-scripts + block_idx = 1 + elif name.startswith("input_blocks_"): # 1-8 to 2-9 + block_idx = 1 + int(name.split("_")[2]) + elif name.startswith("middle_block_"): # 10 + block_idx = 10 + elif name.startswith("output_blocks_"): # 0-8 to 11-19 + block_idx = 11 + int(name.split("_")[2]) + elif name.startswith("out_"): # 20, No LoRA in sd-scripts + block_idx = 20 + + return block_idx + def load_state_dict(file_name, dtype): if os.path.splitext(file_name)[1] == ".safetensors": @@ -42,12 +145,34 @@ def save_to_file(file_name, state_dict, dtype, metadata): torch.save(state_dict, file_name) -def merge_lora_models(models, ratios, new_rank, new_conv_rank, device, merge_dtype): +def merge_lora_models(models, ratios, lbws, new_rank, new_conv_rank, device, merge_dtype): logger.info(f"new rank: {new_rank}, new conv rank: {new_conv_rank}") merged_sd = {} - v2 = None + v2 = None # This is meaning LoRA Metadata v2, Not meaning SD2 base_model = None - for model, ratio in zip(models, ratios): + + if lbws: + try: + # lbwは"[1,1,1,1,1,1,1,1,1,1,1,1]"のような文字列で与えられることを期待している + lbws = [json.loads(lbw) for lbw in lbws] + except Exception: + raise ValueError(f"format of lbws are must be json / 層別適用率はJSON形式で書いてください") + assert all(isinstance(lbw, list) for lbw in lbws), f"lbws are must be list / 層別適用率はリストにしてください" + assert len(set(len(lbw) for lbw in lbws)) == 1, "all lbws should have the same length / 層別適用率は同じ長さにしてください" + assert all(len(lbw) in ACCEPTABLE for lbw in lbws), f"length of lbw are must be in {ACCEPTABLE} / 層別適用率の長さは{ACCEPTABLE}のいずれかにしてください" + assert all(all(isinstance(weight, (int, float)) for weight in lbw) for lbw in lbws), f"values of lbs are must be numbers / 層別適用率の値はすべて数値にしてください" + + layer_num = len(lbws[0]) + is_sdxl = True if layer_num in SDXL_LAYER_NUM else False + FLAGS = { + "12": LAYER12.values(), + "17": LAYER17.values(), + "20": LAYER20.values(), + "26": LAYER26.values(), + }[str(layer_num)] + LBW_TARGET_IDX = [i for i, flag in enumerate(FLAGS) if flag] + + for model, ratio, lbw in itertools.zip_longest(models, ratios, lbws): logger.info(f"loading: {model}") lora_sd, lora_metadata = load_state_dict(model, merge_dtype) @@ -57,6 +182,12 @@ def merge_lora_models(models, ratios, new_rank, new_conv_rank, device, merge_dty if base_model is None: base_model = lora_metadata.get(train_util.SS_METADATA_KEY_BASE_MODEL_VERSION, None) + if lbw: + lbw_weights = [1] * 26 + for index, value in zip(LBW_TARGET_IDX, lbw): + lbw_weights[index] = value + print(dict(zip(LAYER26.keys(), lbw_weights))) + # merge logger.info(f"merging...") for key in tqdm(list(lora_sd.keys())): @@ -93,6 +224,12 @@ def merge_lora_models(models, ratios, new_rank, new_conv_rank, device, merge_dty # W <- W + U * D scale = alpha / network_dim + if lbw: + index = get_lbw_block_index(key, is_sdxl) + is_lbw_target = index in LBW_TARGET_IDX + if is_lbw_target: + scale *= lbw_weights[index] # keyがlbwの対象であれば、lbwの重みを掛ける + if device: # and isinstance(scale, torch.Tensor): scale = scale.to(device) @@ -170,6 +307,10 @@ def merge_lora_models(models, ratios, new_rank, new_conv_rank, device, merge_dty def merge(args): assert len(args.models) == len(args.ratios), f"number of models must be equal to number of ratios / モデルの数と重みの数は合わせてください" + if args.lbws: + assert len(args.models) == len(args.lbws), f"number of models must be equal to number of ratios / モデルの数と層別適用率の数は合わせてください" + else: + args.lbws = [] # zip_longestで扱えるようにlbws未使用時には空のリストにしておく def str_to_dtype(p): if p == "float": @@ -187,7 +328,7 @@ def str_to_dtype(p): new_conv_rank = args.new_conv_rank if args.new_conv_rank is not None else args.new_rank state_dict, metadata, v2, base_model = merge_lora_models( - args.models, args.ratios, args.new_rank, new_conv_rank, args.device, merge_dtype + args.models, args.ratios, args.lbws, args.new_rank, new_conv_rank, args.device, merge_dtype ) logger.info(f"calculating hashes and creating metadata...") @@ -237,6 +378,7 @@ def setup_parser() -> argparse.ArgumentParser: "--models", type=str, nargs="*", help="LoRA models to merge: ckpt or safetensors file / マージするLoRAモデル、ckptまたはsafetensors" ) parser.add_argument("--ratios", type=float, nargs="*", help="ratios for each model / それぞれのLoRAモデルの比率") + parser.add_argument("--lbws", type=str, nargs="*", help="lbw for each model / それぞれのLoRAモデルの層別適用率") parser.add_argument("--new_rank", type=int, default=4, help="Specify rank of output LoRA / 出力するLoRAのrank (dim)") parser.add_argument( "--new_conv_rank", From f4a0bea6dce152e2210f611f94acfdfaa72068fe Mon Sep 17 00:00:00 2001 From: Kohya S Date: Fri, 13 Sep 2024 21:26:06 +0900 Subject: [PATCH 218/748] format by black --- networks/svd_merge_lora.py | 188 +++++++++++++++++++++++++++++-------- 1 file changed, 147 insertions(+), 41 deletions(-) diff --git a/networks/svd_merge_lora.py b/networks/svd_merge_lora.py index 6e163aecf..0decd9048 100644 --- a/networks/svd_merge_lora.py +++ b/networks/svd_merge_lora.py @@ -11,8 +11,10 @@ import library.model_util as model_util import lora from library.utils import setup_logging + setup_logging() import logging + logger = logging.getLogger(__name__) CLAMP_QUANTILE = 0.99 @@ -22,38 +24,118 @@ LAYER12 = { "BASE": True, - "IN00": False, "IN01": False, "IN02": False, "IN03": False, "IN04": True, "IN05": True, - "IN06": False, "IN07": True, "IN08": True, "IN09": False, "IN10": False, "IN11": False, + "IN00": False, + "IN01": False, + "IN02": False, + "IN03": False, + "IN04": True, + "IN05": True, + "IN06": False, + "IN07": True, + "IN08": True, + "IN09": False, + "IN10": False, + "IN11": False, "MID": True, - "OUT00": True, "OUT01": True, "OUT02": True, "OUT03": True, "OUT04": True, "OUT05": True, - "OUT06": False, "OUT07": False, "OUT08": False, "OUT09": False, "OUT10": False, "OUT11": False + "OUT00": True, + "OUT01": True, + "OUT02": True, + "OUT03": True, + "OUT04": True, + "OUT05": True, + "OUT06": False, + "OUT07": False, + "OUT08": False, + "OUT09": False, + "OUT10": False, + "OUT11": False, } LAYER17 = { "BASE": True, - "IN00": False, "IN01": True, "IN02": True, "IN03": False, "IN04": True, "IN05": True, - "IN06": False, "IN07": True, "IN08": True, "IN09": False, "IN10": False, "IN11": False, + "IN00": False, + "IN01": True, + "IN02": True, + "IN03": False, + "IN04": True, + "IN05": True, + "IN06": False, + "IN07": True, + "IN08": True, + "IN09": False, + "IN10": False, + "IN11": False, "MID": True, - "OUT00": False, "OUT01": False, "OUT02": False, "OUT03": True, "OUT04": True, "OUT05": True, - "OUT06": True, "OUT07": True, "OUT08": True, "OUT09": True, "OUT10": True, "OUT11": True, + "OUT00": False, + "OUT01": False, + "OUT02": False, + "OUT03": True, + "OUT04": True, + "OUT05": True, + "OUT06": True, + "OUT07": True, + "OUT08": True, + "OUT09": True, + "OUT10": True, + "OUT11": True, } LAYER20 = { "BASE": True, - "IN00": True, "IN01": True, "IN02": True, "IN03": True, "IN04": True, "IN05": True, - "IN06": True, "IN07": True, "IN08": True, "IN09": False, "IN10": False, "IN11": False, + "IN00": True, + "IN01": True, + "IN02": True, + "IN03": True, + "IN04": True, + "IN05": True, + "IN06": True, + "IN07": True, + "IN08": True, + "IN09": False, + "IN10": False, + "IN11": False, "MID": True, - "OUT00": True, "OUT01": True, "OUT02": True, "OUT03": True, "OUT04": True, "OUT05": True, - "OUT06": True, "OUT07": True, "OUT08": True, "OUT09": False, "OUT10": False, "OUT11": False, + "OUT00": True, + "OUT01": True, + "OUT02": True, + "OUT03": True, + "OUT04": True, + "OUT05": True, + "OUT06": True, + "OUT07": True, + "OUT08": True, + "OUT09": False, + "OUT10": False, + "OUT11": False, } LAYER26 = { "BASE": True, - "IN00": True, "IN01": True, "IN02": True, "IN03": True, "IN04": True, "IN05": True, - "IN06": True, "IN07": True, "IN08": True, "IN09": True, "IN10": True, "IN11": True, + "IN00": True, + "IN01": True, + "IN02": True, + "IN03": True, + "IN04": True, + "IN05": True, + "IN06": True, + "IN07": True, + "IN08": True, + "IN09": True, + "IN10": True, + "IN11": True, "MID": True, - "OUT00": True, "OUT01": True, "OUT02": True, "OUT03": True, "OUT04": True, "OUT05": True, - "OUT06": True, "OUT07": True, "OUT08": True, "OUT09": True, "OUT10": True, "OUT11": True, + "OUT00": True, + "OUT01": True, + "OUT02": True, + "OUT03": True, + "OUT04": True, + "OUT05": True, + "OUT06": True, + "OUT07": True, + "OUT08": True, + "OUT09": True, + "OUT10": True, + "OUT11": True, } assert len([v for v in LAYER12.values() if v]) == 12 @@ -145,6 +227,33 @@ def save_to_file(file_name, state_dict, dtype, metadata): torch.save(state_dict, file_name) +def format_lbws(lbws): + try: + # lbwは"[1,1,1,1,1,1,1,1,1,1,1,1]"のような文字列で与えられることを期待している + lbws = [json.loads(lbw) for lbw in lbws] + except Exception: + raise ValueError(f"format of lbws are must be json / 層別適用率はJSON形式で書いてください") + assert all(isinstance(lbw, list) for lbw in lbws), f"lbws are must be list / 層別適用率はリストにしてください" + assert len(set(len(lbw) for lbw in lbws)) == 1, "all lbws should have the same length / 層別適用率は同じ長さにしてください" + assert all( + len(lbw) in ACCEPTABLE for lbw in lbws + ), f"length of lbw are must be in {ACCEPTABLE} / 層別適用率の長さは{ACCEPTABLE}のいずれかにしてください" + assert all( + all(isinstance(weight, (int, float)) for weight in lbw) for lbw in lbws + ), f"values of lbs are must be numbers / 層別適用率の値はすべて数値にしてください" + + layer_num = len(lbws[0]) + is_sdxl = True if layer_num in SDXL_LAYER_NUM else False + FLAGS = { + "12": LAYER12.values(), + "17": LAYER17.values(), + "20": LAYER20.values(), + "26": LAYER26.values(), + }[str(layer_num)] + LBW_TARGET_IDX = [i for i, flag in enumerate(FLAGS) if flag] + return lbws, is_sdxl, LBW_TARGET_IDX + + def merge_lora_models(models, ratios, lbws, new_rank, new_conv_rank, device, merge_dtype): logger.info(f"new rank: {new_rank}, new conv rank: {new_conv_rank}") merged_sd = {} @@ -152,25 +261,10 @@ def merge_lora_models(models, ratios, lbws, new_rank, new_conv_rank, device, mer base_model = None if lbws: - try: - # lbwは"[1,1,1,1,1,1,1,1,1,1,1,1]"のような文字列で与えられることを期待している - lbws = [json.loads(lbw) for lbw in lbws] - except Exception: - raise ValueError(f"format of lbws are must be json / 層別適用率はJSON形式で書いてください") - assert all(isinstance(lbw, list) for lbw in lbws), f"lbws are must be list / 層別適用率はリストにしてください" - assert len(set(len(lbw) for lbw in lbws)) == 1, "all lbws should have the same length / 層別適用率は同じ長さにしてください" - assert all(len(lbw) in ACCEPTABLE for lbw in lbws), f"length of lbw are must be in {ACCEPTABLE} / 層別適用率の長さは{ACCEPTABLE}のいずれかにしてください" - assert all(all(isinstance(weight, (int, float)) for weight in lbw) for lbw in lbws), f"values of lbs are must be numbers / 層別適用率の値はすべて数値にしてください" - - layer_num = len(lbws[0]) - is_sdxl = True if layer_num in SDXL_LAYER_NUM else False - FLAGS = { - "12": LAYER12.values(), - "17": LAYER17.values(), - "20": LAYER20.values(), - "26": LAYER26.values(), - }[str(layer_num)] - LBW_TARGET_IDX = [i for i, flag in enumerate(FLAGS) if flag] + lbws, is_sdxl, LBW_TARGET_IDX = format_lbws(lbws) + else: + is_sdxl = False + LBW_TARGET_IDX = [] for model, ratio, lbw in itertools.zip_longest(models, ratios, lbws): logger.info(f"loading: {model}") @@ -186,7 +280,7 @@ def merge_lora_models(models, ratios, lbws, new_rank, new_conv_rank, device, mer lbw_weights = [1] * 26 for index, value in zip(LBW_TARGET_IDX, lbw): lbw_weights[index] = value - print(dict(zip(LAYER26.keys(), lbw_weights))) + logger.info(f"lbw: {dict(zip(LAYER26.keys(), lbw_weights))}") # merge logger.info(f"merging...") @@ -306,9 +400,13 @@ def merge_lora_models(models, ratios, lbws, new_rank, new_conv_rank, device, mer def merge(args): - assert len(args.models) == len(args.ratios), f"number of models must be equal to number of ratios / モデルの数と重みの数は合わせてください" + assert len(args.models) == len( + args.ratios + ), f"number of models must be equal to number of ratios / モデルの数と重みの数は合わせてください" if args.lbws: - assert len(args.models) == len(args.lbws), f"number of models must be equal to number of ratios / モデルの数と層別適用率の数は合わせてください" + assert len(args.models) == len( + args.lbws + ), f"number of models must be equal to number of ratios / モデルの数と層別適用率の数は合わせてください" else: args.lbws = [] # zip_longestで扱えるようにlbws未使用時には空のリストにしておく @@ -372,10 +470,16 @@ def setup_parser() -> argparse.ArgumentParser: help="precision in merging (float is recommended) / マージの計算時の精度(floatを推奨)", ) parser.add_argument( - "--save_to", type=str, default=None, help="destination file name: ckpt or safetensors file / 保存先のファイル名、ckptまたはsafetensors" + "--save_to", + type=str, + default=None, + help="destination file name: ckpt or safetensors file / 保存先のファイル名、ckptまたはsafetensors", ) parser.add_argument( - "--models", type=str, nargs="*", help="LoRA models to merge: ckpt or safetensors file / マージするLoRAモデル、ckptまたはsafetensors" + "--models", + type=str, + nargs="*", + help="LoRA models to merge: ckpt or safetensors file / マージするLoRAモデル、ckptまたはsafetensors", ) parser.add_argument("--ratios", type=float, nargs="*", help="ratios for each model / それぞれのLoRAモデルの比率") parser.add_argument("--lbws", type=str, nargs="*", help="lbw for each model / それぞれのLoRAモデルの層別適用率") @@ -386,7 +490,9 @@ def setup_parser() -> argparse.ArgumentParser: default=None, help="Specify rank of output LoRA for Conv2d 3x3, None for same as new_rank / 出力するConv2D 3x3 LoRAのrank (dim)、Noneでnew_rankと同じ", ) - parser.add_argument("--device", type=str, default=None, help="device to use, cuda for GPU / 計算を行うデバイス、cuda でGPUを使う") + parser.add_argument( + "--device", type=str, default=None, help="device to use, cuda for GPU / 計算を行うデバイス、cuda でGPUを使う" + ) parser.add_argument( "--no_metadata", action="store_true", From b755ebd0a4dd2967171b6b5909624325359a2aa0 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Fri, 13 Sep 2024 21:29:31 +0900 Subject: [PATCH 219/748] add LBW support for SDXL merge LoRA --- README.md | 14 +++++-- networks/sdxl_merge_lora.py | 75 ++++++++++++++++++++++++++++++++----- 2 files changed, 77 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index d5d2a7f73..0be2f9a70 100644 --- a/README.md +++ b/README.md @@ -139,9 +139,17 @@ The majority of scripts is licensed under ASL 2.0 (including codes from Diffuser ### Sep 13, 2024 / 2024-09-13: -- `sdxl_merge_lora.py` now supports OFT. Thanks to Maru-mee for the PR [#1580](https://github.com/kohya-ss/sd-scripts/pull/1580). Will be included in the next release. - -- `sdxl_merge_lora.py` が OFT をサポートしました。PR [#1580](https://github.com/kohya-ss/sd-scripts/pull/1580) Maru-mee 氏に感謝します。次のリリースに含まれます。 +- `sdxl_merge_lora.py` now supports OFT. Thanks to Maru-mee for the PR [#1580](https://github.com/kohya-ss/sd-scripts/pull/1580). +- `svd_merge_lora.py` now supports LBW. Thanks to terracottahaniwa. See PR [#1575](https://github.com/kohya-ss/sd-scripts/pull/1575) for details. +- `sdxl_merge_lora.py` also supports LBW. +- See [LoRA Block Weight](https://github.com/hako-mikan/sd-webui-lora-block-weight) by hako-mikan for details on LBW. +- These will be included in the next release. + +- `sdxl_merge_lora.py` が OFT をサポートされました。PR [#1580](https://github.com/kohya-ss/sd-scripts/pull/1580) Maru-mee 氏に感謝します。 +- `svd_merge_lora.py` で LBW がサポートされました。PR [#1575](https://github.com/kohya-ss/sd-scripts/pull/1575) terracottahaniwa 氏に感謝します。 +- `sdxl_merge_lora.py` でも LBW がサポートされました。 +- LBW の詳細は hako-mikan 氏の [LoRA Block Weight](https://github.com/hako-mikan/sd-webui-lora-block-weight) をご覧ください。 +- 以上は次回リリースに含まれます。 ### Jun 23, 2024 / 2024-06-23: diff --git a/networks/sdxl_merge_lora.py b/networks/sdxl_merge_lora.py index d5b6f7f34..62f5a87d4 100644 --- a/networks/sdxl_merge_lora.py +++ b/networks/sdxl_merge_lora.py @@ -1,7 +1,9 @@ +import itertools import math import argparse import os import time +import concurrent.futures import torch from safetensors.torch import load_file, save_file from tqdm import tqdm @@ -9,13 +11,13 @@ import library.model_util as model_util import lora import oft +from svd_merge_lora import format_lbws, get_lbw_block_index, LAYER26 from library.utils import setup_logging setup_logging() import logging logger = logging.getLogger(__name__) -import concurrent.futures def load_state_dict(file_name, dtype): @@ -47,6 +49,7 @@ def save_to_file(file_name, model, state_dict, dtype, metadata): def detect_method_from_training_model(models, dtype): for model in models: + # TODO It is better to use key names to detect the method lora_sd, _ = load_state_dict(model, dtype) for key in tqdm(lora_sd.keys()): if "lora_up" in key or "lora_down" in key: @@ -55,15 +58,20 @@ def detect_method_from_training_model(models, dtype): return "OFT" -def merge_to_sd_model(text_encoder1, text_encoder2, unet, models, ratios, merge_dtype): - text_encoder1.to(merge_dtype) +def merge_to_sd_model(text_encoder1, text_encoder2, unet, models, ratios, lbws, merge_dtype): text_encoder1.to(merge_dtype) + text_encoder2.to(merge_dtype) unet.to(merge_dtype) # detect the method: OFT or LoRA_module method = detect_method_from_training_model(models, merge_dtype) logger.info(f"method:{method}") + if lbws: + lbws, _, LBW_TARGET_IDX = format_lbws(lbws) + else: + LBW_TARGET_IDX = [] + # create module map name_to_module = {} for i, root_module in enumerate([text_encoder1, text_encoder2, unet]): @@ -94,12 +102,18 @@ def merge_to_sd_model(text_encoder1, text_encoder2, unet, models, ratios, merge_ lora_name = lora_name.replace(".", "_") name_to_module[lora_name] = child_module - for model, ratio in zip(models, ratios): + for model, ratio, lbw in itertools.zip_longest(models, ratios, lbws): logger.info(f"loading: {model}") lora_sd, _ = load_state_dict(model, merge_dtype) logger.info(f"merging...") + if lbw: + lbw_weights = [1] * 26 + for index, value in zip(LBW_TARGET_IDX, lbw): + lbw_weights[index] = value + logger.info(f"lbw: {dict(zip(LAYER26.keys(), lbw_weights))}") + if method == "LoRA": for key in tqdm(lora_sd.keys()): if "lora_down" in key: @@ -121,6 +135,12 @@ def merge_to_sd_model(text_encoder1, text_encoder2, unet, models, ratios, merge_ alpha = lora_sd.get(alpha_key, dim) scale = alpha / dim + if lbw: + index = get_lbw_block_index(key, True) + is_lbw_target = index in LBW_TARGET_IDX + if is_lbw_target: + scale *= lbw_weights[index] # keyがlbwの対象であれば、lbwの重みを掛ける + # W <- W + U * D weight = module.weight # logger.info(module_name, down_weight.size(), up_weight.size()) @@ -145,7 +165,6 @@ def merge_to_sd_model(text_encoder1, text_encoder2, unet, models, ratios, merge_ elif method == "OFT": - multiplier = 1.0 device = torch.device("cuda" if torch.cuda.is_available() else "cpu") for key in tqdm(lora_sd.keys()): @@ -183,6 +202,13 @@ def merge_to(key): block_size = out_dim // dim constraint = (0 if alpha is None else alpha) * out_dim + multiplier = 1 + if lbw: + index = get_lbw_block_index(key, False) + is_lbw_target = index in LBW_TARGET_IDX + if is_lbw_target: + multiplier *= lbw_weights[index] + block_Q = oft_blocks - oft_blocks.transpose(1, 2) norm_Q = torch.norm(block_Q.flatten()) new_norm_Q = torch.clamp(norm_Q, max=constraint) @@ -213,17 +239,35 @@ def merge_to(key): list(tqdm(executor.map(merge_to, lora_sd.keys()), total=len(lora_sd.keys()))) -def merge_lora_models(models, ratios, merge_dtype, concat=False, shuffle=False): +def merge_lora_models(models, ratios, lbws, merge_dtype, concat=False, shuffle=False): base_alphas = {} # alpha for merged model base_dims = {} + # detect the method: OFT or LoRA_module + method = detect_method_from_training_model(models, merge_dtype) + if method == "OFT": + raise ValueError( + "OFT model is not supported for merging OFT models. / OFTモデルはOFTモデル同士のマージには対応していません" + ) + + if lbws: + lbws, _, LBW_TARGET_IDX = format_lbws(lbws) + else: + LBW_TARGET_IDX = [] + merged_sd = {} v2 = None base_model = None - for model, ratio in zip(models, ratios): + for model, ratio, lbw in itertools.zip_longest(models, ratios, lbws): logger.info(f"loading: {model}") lora_sd, lora_metadata = load_state_dict(model, merge_dtype) + if lbw: + lbw_weights = [1] * 26 + for index, value in zip(LBW_TARGET_IDX, lbw): + lbw_weights[index] = value + logger.info(f"lbw: {dict(zip(LAYER26.keys(), lbw_weights))}") + if lora_metadata is not None: if v2 is None: v2 = lora_metadata.get(train_util.SS_METADATA_KEY_V2, None) # returns string, SDXLはv2がないのでFalseのはず @@ -277,6 +321,12 @@ def merge_lora_models(models, ratios, merge_dtype, concat=False, shuffle=False): scale = math.sqrt(alpha / base_alpha) * ratio scale = abs(scale) if "lora_up" in key else scale # マイナスの重みに対応する。 + if lbw: + index = get_lbw_block_index(key, True) + is_lbw_target = index in LBW_TARGET_IDX + if is_lbw_target: + scale *= lbw_weights[index] # keyがlbwの対象であれば、lbwの重みを掛ける + if key in merged_sd: assert ( merged_sd[key].size() == lora_sd[key].size() or concat_dim is not None @@ -329,6 +379,12 @@ def merge(args): assert len(args.models) == len( args.ratios ), f"number of models must be equal to number of ratios / モデルの数と重みの数は合わせてください" + if args.lbws: + assert len(args.models) == len( + args.lbws + ), f"number of models must be equal to number of ratios / モデルの数と層別適用率の数は合わせてください" + else: + args.lbws = [] # zip_longestで扱えるようにlbws未使用時には空のリストにしておく def str_to_dtype(p): if p == "float": @@ -356,7 +412,7 @@ def str_to_dtype(p): ckpt_info, ) = sdxl_model_util.load_models_from_sdxl_checkpoint(sdxl_model_util.MODEL_VERSION_SDXL_BASE_V1_0, args.sd_model, "cpu") - merge_to_sd_model(text_model1, text_model2, unet, args.models, args.ratios, merge_dtype) + merge_to_sd_model(text_model1, text_model2, unet, args.models, args.ratios, args.lbws, merge_dtype) if args.no_metadata: sai_metadata = None @@ -372,7 +428,7 @@ def str_to_dtype(p): args.save_to, text_model1, text_model2, unet, 0, 0, ckpt_info, vae, logit_scale, sai_metadata, save_dtype ) else: - state_dict, metadata = merge_lora_models(args.models, args.ratios, merge_dtype, args.concat, args.shuffle) + state_dict, metadata = merge_lora_models(args.models, args.ratios, args.lbws, merge_dtype, args.concat, args.shuffle) logger.info(f"calculating hashes and creating metadata...") @@ -427,6 +483,7 @@ def setup_parser() -> argparse.ArgumentParser: help="LoRA models to merge: ckpt or safetensors file / マージするLoRAモデル、ckptまたはsafetensors", ) parser.add_argument("--ratios", type=float, nargs="*", help="ratios for each model / それぞれのLoRAモデルの比率") + parser.add_argument("--lbws", type=str, nargs="*", help="lbw for each model / それぞれのLoRAモデルの層別適用率") parser.add_argument( "--no_metadata", action="store_true", From 93d9fbf60761fc1158e37f45f0d0c142913d70f5 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Fri, 13 Sep 2024 22:37:11 +0900 Subject: [PATCH 220/748] improve OFT implementation closes #944 --- README.md | 26 ++++++++- gen_img.py | 3 +- networks/check_lora_weights.py | 2 +- networks/oft.py | 96 +++++++++++++++++++++------------- 4 files changed, 89 insertions(+), 38 deletions(-) diff --git a/README.md b/README.md index 0130ccffc..def528a22 100644 --- a/README.md +++ b/README.md @@ -143,7 +143,31 @@ The majority of scripts is licensed under ASL 2.0 (including codes from Diffuser - transformers, accelerate and huggingface_hub are updated. - If you encounter any issues, please report them. -- en: The INVERSE_SQRT, COSINE_WITH_MIN_LR, and WARMUP_STABLE_DECAY learning rate schedules are now available in the transformers library. See PR [#1393](https://github.com/kohya-ss/sd-scripts/pull/1393) for details. Thanks to sdbds! +- Improvements in OFT (Orthogonal Finetuning) Implementation + 1. Optimization of Calculation Order: + - Changed the calculation order in the forward method from (Wx)R to W(xR). + - This has improved computational efficiency and processing speed. + 2. Correction of Bias Application: + - In the previous implementation, R was incorrectly applied to the bias. + - The new implementation now correctly handles bias by using F.conv2d and F.linear. + 3. Efficiency Enhancement in Matrix Operations: + - Introduced einsum in both the forward and merge_to methods. + - This has optimized matrix operations, resulting in further speed improvements. + 4. Proper Handling of Data Types: + - Improved to use torch.float32 during calculations and convert results back to the original data type. + - This maintains precision while ensuring compatibility with the original model. + 5. Unified Processing for Conv2d and Linear Layers: + - Implemented a consistent method for applying OFT to both layer types. + - These changes have made the OFT implementation more efficient and accurate, potentially leading to improved model performance and training stability. + + - Additional Information + * Recommended α value for OFT constraint: We recommend using α values between 1e-4 and 1e-2. This differs slightly from the original implementation of "(α\*out_dim\*out_dim)". Our implementation uses "(α\*out_dim)", hence we recommend higher values than the 1e-5 suggested in the original implementation. + + * Performance Improvement: Training speed has been improved by approximately 30%. + + * Inference Environment: This implementation is compatible with and operates within Stable Diffusion web UI (SD1/2 and SDXL). + +- The INVERSE_SQRT, COSINE_WITH_MIN_LR, and WARMUP_STABLE_DECAY learning rate schedules are now available in the transformers library. See PR [#1393](https://github.com/kohya-ss/sd-scripts/pull/1393) for details. Thanks to sdbds! - See the [transformers documentation](https://huggingface.co/docs/transformers/v4.44.2/en/main_classes/optimizer_schedules#schedules) for details on each scheduler. - `--lr_warmup_steps` and `--lr_decay_steps` can now be specified as a ratio of the number of training steps, not just the step value. Example: `--lr_warmup_steps=0.1` or `--lr_warmup_steps=10%`, etc. diff --git a/gen_img.py b/gen_img.py index d0a8f8141..59bcd5b09 100644 --- a/gen_img.py +++ b/gen_img.py @@ -86,7 +86,8 @@ """ -def replace_unet_modules(unet: diffusers.models.unet_2d_condition.UNet2DConditionModel, mem_eff_attn, xformers, sdpa): +# def replace_unet_modules(unet: diffusers.models.unets.unet_2d_condition.UNet2DConditionModel, mem_eff_attn, xformers, sdpa): +def replace_unet_modules(unet, mem_eff_attn, xformers, sdpa): if mem_eff_attn: logger.info("Enable memory efficient attention for U-Net") diff --git a/networks/check_lora_weights.py b/networks/check_lora_weights.py index 794659c94..f8eab53ba 100644 --- a/networks/check_lora_weights.py +++ b/networks/check_lora_weights.py @@ -18,7 +18,7 @@ def main(file): keys = list(sd.keys()) for key in keys: - if "lora_up" in key or "lora_down" in key: + if "lora_up" in key or "lora_down" in key or "lora_A" in key or "lora_B" in key or "oft_" in key: values.append((key, sd[key])) print(f"number of LoRA modules: {len(values)}") diff --git a/networks/oft.py b/networks/oft.py index 461a98698..6321def3b 100644 --- a/networks/oft.py +++ b/networks/oft.py @@ -4,13 +4,17 @@ import os from typing import Dict, List, Optional, Tuple, Type, Union from diffusers import AutoencoderKL +import einops from transformers import CLIPTextModel import numpy as np import torch +import torch.nn.functional as F import re from library.utils import setup_logging + setup_logging() import logging + logger = logging.getLogger(__name__) RE_UPDOWN = re.compile(r"(up|down)_blocks_(\d+)_(resnets|upsamplers|downsamplers|attentions)_(\d+)_") @@ -45,11 +49,16 @@ def __init__( if type(alpha) == torch.Tensor: alpha = alpha.detach().numpy() - self.constraint = alpha * out_dim + + # constraint in original paper is alpha * out_dim * out_dim, but we use alpha * out_dim for backward compatibility + # original alpha is 1e-6, so we use 1e-3 or 1e-4 for alpha + self.constraint = alpha * out_dim + self.register_buffer("alpha", torch.tensor(alpha)) self.block_size = out_dim // self.num_blocks self.oft_blocks = torch.nn.Parameter(torch.zeros(self.num_blocks, self.block_size, self.block_size)) + self.I = torch.eye(self.block_size).unsqueeze(0).repeat(self.num_blocks, 1, 1) # cpu self.out_dim = out_dim self.shape = org_module.weight.shape @@ -69,27 +78,36 @@ def get_weight(self, multiplier=None): norm_Q = torch.norm(block_Q.flatten()) new_norm_Q = torch.clamp(norm_Q, max=self.constraint) block_Q = block_Q * ((new_norm_Q + 1e-8) / (norm_Q + 1e-8)) - I = torch.eye(self.block_size, device=self.oft_blocks.device).unsqueeze(0).repeat(self.num_blocks, 1, 1) - block_R = torch.matmul(I + block_Q, (I - block_Q).inverse()) - block_R_weighted = self.multiplier * block_R + (1 - self.multiplier) * I - R = torch.block_diag(*block_R_weighted) - - return R + if self.I.device != block_Q.device: + self.I = self.I.to(block_Q.device) + I = self.I + block_R = torch.matmul(I + block_Q, (I - block_Q).float().inverse()) + block_R_weighted = self.multiplier * (block_R - I) + I + return block_R_weighted def forward(self, x, scale=None): - x = self.org_forward(x) if self.multiplier == 0.0: - return x - - R = self.get_weight().to(x.device, dtype=x.dtype) - if x.dim() == 4: - x = x.permute(0, 2, 3, 1) - x = torch.matmul(x, R) - x = x.permute(0, 3, 1, 2) - else: - x = torch.matmul(x, R) - return x + return self.org_forward(x) + org_module = self.org_module[0] + org_dtype = x.dtype + + R = self.get_weight().to(torch.float32) + W = org_module.weight.to(torch.float32) + + if len(W.shape) == 4: # Conv2d + W_reshaped = einops.rearrange(W, "(k n) ... -> k n ...", k=self.num_blocks, n=self.block_size) + RW = torch.einsum("k n m, k n ... -> k m ...", R, W_reshaped) + RW = einops.rearrange(RW, "k m ... -> (k m) ...") + result = F.conv2d( + x, RW.to(org_dtype), org_module.bias, org_module.stride, org_module.padding, org_module.dilation, org_module.groups + ) + else: # Linear + W_reshaped = einops.rearrange(W, "(k n) m -> k n m", k=self.num_blocks, n=self.block_size) + RW = torch.einsum("k n m, k n p -> k m p", R, W_reshaped) + RW = einops.rearrange(RW, "k m p -> (k m) p") + result = F.linear(x, RW.to(org_dtype), org_module.bias) + return result class OFTInfModule(OFTModule): @@ -115,18 +133,19 @@ def forward(self, x, scale=None): return self.org_forward(x) return super().forward(x, scale) - def merge_to(self, multiplier=None, sign=1): - R = self.get_weight(multiplier) * sign - + def merge_to(self, multiplier=None): # get org weight org_sd = self.org_module[0].state_dict() - org_weight = org_sd["weight"] - R = R.to(org_weight.device, dtype=org_weight.dtype) + org_weight = org_sd["weight"].to(torch.float32) - if org_weight.dim() == 4: - weight = torch.einsum("oihw, op -> pihw", org_weight, R) - else: - weight = torch.einsum("oi, op -> pi", org_weight, R) + R = self.get_weight(multiplier).to(torch.float32) + + weight = org_weight.reshape(self.num_blocks, self.block_size, -1) + weight = torch.einsum("k n m, k n ... -> k m ...", R, weight) + weight = weight.reshape(org_weight.shape) + + # convert back to original dtype + weight = weight.to(org_sd["weight"].dtype) # set weight to org_module org_sd["weight"] = weight @@ -145,8 +164,16 @@ def create_network( ): if network_dim is None: network_dim = 4 # default - if network_alpha is None: - network_alpha = 1.0 + if network_alpha is None: # should be set + logger.info( + "network_alpha is not set, use default value 1e-3 / network_alphaが設定されていないのでデフォルト値 1e-3 を使用します" + ) + network_alpha = 1e-3 + elif network_alpha >= 1: + logger.warning( + "network_alpha is too large (>=1, maybe default value is too large), please consider to set smaller value like 1e-3" + " / network_alphaが大きすぎるようです(>=1, デフォルト値が大きすぎる可能性があります)。1e-3のような小さな値を推奨" + ) enable_all_linear = kwargs.get("enable_all_linear", None) enable_conv = kwargs.get("enable_conv", None) @@ -190,12 +217,11 @@ def create_network_from_weights(multiplier, file, vae, text_encoder, unet, weigh else: if dim is None: dim = param.size()[0] - if has_conv2d is None and param.dim() == 4: + if has_conv2d is None and "in_layers_2" in name: has_conv2d = True - if all_linear is None: - if param.dim() == 3 and "attn" not in name: - all_linear = True - if dim is not None and alpha is not None and has_conv2d is not None: + if all_linear is None and "_ff_" in name: + all_linear = True + if dim is not None and alpha is not None and has_conv2d is not None and all_linear is not None: break if has_conv2d is None: has_conv2d = False @@ -241,7 +267,7 @@ def __init__( self.alpha = alpha logger.info( - f"create OFT network. num blocks: {self.dim}, constraint: {self.alpha}, multiplier: {self.multiplier}, enable_conv: {enable_conv}" + f"create OFT network. num blocks: {self.dim}, constraint: {self.alpha}, multiplier: {self.multiplier}, enable_conv: {enable_conv}, enable_all_linear: {enable_all_linear}" ) # create module instances From 2d8ee3c28007393386528cfeec0a9b714dafd85b Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sat, 14 Sep 2024 15:48:16 +0900 Subject: [PATCH 221/748] OFT for FLUX.1 --- flux_minimal_inference.py | 20 +- networks/lora_flux.py | 6 +- networks/oft.py | 2 +- networks/oft_flux.py | 482 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 504 insertions(+), 6 deletions(-) create mode 100644 networks/oft_flux.py diff --git a/flux_minimal_inference.py b/flux_minimal_inference.py index de607c52a..2f1b9a377 100644 --- a/flux_minimal_inference.py +++ b/flux_minimal_inference.py @@ -14,9 +14,11 @@ from PIL import Image import accelerate from transformers import CLIPTextModel +from safetensors.torch import load_file from library import device_utils from library.device_utils import init_ipex, get_preferred_device +from networks import oft_flux init_ipex() @@ -405,7 +407,7 @@ def encode(prpt: str): type=str, nargs="*", default=[], - help="LoRA weights, only supports networks.lora_flux, each argument is a `path;multiplier` (semi-colon separated)", + help="LoRA weights, only supports networks.lora_flux and lora_oft, each argument is a `path;multiplier` (semi-colon separated)", ) parser.add_argument("--merge_lora_weights", action="store_true", help="Merge LoRA weights to model") parser.add_argument("--width", type=int, default=target_width) @@ -482,9 +484,19 @@ def is_fp8(dt): else: multiplier = 1.0 - lora_model, weights_sd = lora_flux.create_network_from_weights( - multiplier, weights_file, ae, [clip_l, t5xxl], model, None, True - ) + weights_sd = load_file(weights_file) + is_lora = is_oft = False + for key in weights_sd.keys(): + if key.startswith("lora"): + is_lora = True + if key.startswith("oft"): + is_oft = True + if is_lora or is_oft: + break + + module = lora_flux if is_lora else oft_flux + lora_model, _ = module.create_network_from_weights(multiplier, None, ae, [clip_l, t5xxl], model, weights_sd, True) + if args.merge_lora_weights: lora_model.merge_to([clip_l, t5xxl], model, weights_sd) else: diff --git a/networks/lora_flux.py b/networks/lora_flux.py index dd267de0f..ea7df8b4d 100644 --- a/networks/lora_flux.py +++ b/networks/lora_flux.py @@ -41,7 +41,11 @@ def __init__( module_dropout=None, split_dims: Optional[List[int]] = None, ): - """if alpha == 0 or None, alpha is rank (no scaling).""" + """ + if alpha == 0 or None, alpha is rank (no scaling). + + split_dims is used to mimic the split qkv of FLUX as same as Diffusers + """ super().__init__() self.lora_name = lora_name diff --git a/networks/oft.py b/networks/oft.py index 6321def3b..0c3a5393f 100644 --- a/networks/oft.py +++ b/networks/oft.py @@ -51,7 +51,7 @@ def __init__( alpha = alpha.detach().numpy() # constraint in original paper is alpha * out_dim * out_dim, but we use alpha * out_dim for backward compatibility - # original alpha is 1e-6, so we use 1e-3 or 1e-4 for alpha + # original alpha is 1e-5, so we use 1e-2 or 1e-4 for alpha self.constraint = alpha * out_dim self.register_buffer("alpha", torch.tensor(alpha)) diff --git a/networks/oft_flux.py b/networks/oft_flux.py new file mode 100644 index 000000000..27b8b637a --- /dev/null +++ b/networks/oft_flux.py @@ -0,0 +1,482 @@ +# OFT network module + +import math +import os +from typing import Dict, List, Optional, Tuple, Type, Union +from diffusers import AutoencoderKL +import einops +from transformers import CLIPTextModel +import numpy as np +import torch +import torch.nn.functional as F +import re +from library.utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + + +class OFTModule(torch.nn.Module): + """ + replaces forward method of the original Linear, instead of replacing the original Linear module. + """ + + def __init__( + self, + oft_name, + org_module: torch.nn.Module, + multiplier=1.0, + dim=4, + alpha=1, + split_dims: Optional[List[int]] = None, + ): + """ + dim -> num blocks + alpha -> constraint + + split_dims is used to mimic the split qkv of FLUX as same as Diffusers + """ + super().__init__() + self.oft_name = oft_name + self.num_blocks = dim + + if type(alpha) == torch.Tensor: + alpha = alpha.detach().numpy() + self.register_buffer("alpha", torch.tensor(alpha)) + + # No conv2d in FLUX + # if "Linear" in org_module.__class__.__name__: + self.out_dim = org_module.out_features + # elif "Conv" in org_module.__class__.__name__: + # out_dim = org_module.out_channels + + if split_dims is None: + split_dims = [self.out_dim] + else: + assert sum(split_dims) == self.out_dim, "sum of split_dims must be equal to out_dim" + self.split_dims = split_dims + + # assert all dim is divisible by num_blocks + for split_dim in self.split_dims: + assert split_dim % self.num_blocks == 0, "split_dim must be divisible by num_blocks" + + self.constraint = [alpha * split_dim for split_dim in self.split_dims] + self.block_size = [split_dim // self.num_blocks for split_dim in self.split_dims] + self.oft_blocks = torch.nn.ParameterList( + [torch.nn.Parameter(torch.zeros(self.num_blocks, block_size, block_size)) for block_size in self.block_size] + ) + self.I = [torch.eye(block_size).unsqueeze(0).repeat(self.num_blocks, 1, 1) for block_size in self.block_size] + + self.shape = org_module.weight.shape + self.multiplier = multiplier + self.org_module = [org_module] # moduleにならないようにlistに入れる + + def apply_to(self): + self.org_forward = self.org_module[0].forward + self.org_module[0].forward = self.forward + + def get_weight(self, multiplier=None): + if multiplier is None: + multiplier = self.multiplier + + if self.I[0].device != self.oft_blocks[0].device: + self.I = [I.to(self.oft_blocks[0].device) for I in self.I] + + block_R_weighted_list = [] + for i in range(len(self.oft_blocks)): + block_Q = self.oft_blocks[i] - self.oft_blocks[i].transpose(1, 2) + norm_Q = torch.norm(block_Q.flatten()) + new_norm_Q = torch.clamp(norm_Q, max=self.constraint[i]) + block_Q = block_Q * ((new_norm_Q + 1e-8) / (norm_Q + 1e-8)) + + I = self.I[i] + block_R = torch.matmul(I + block_Q, (I - block_Q).float().inverse()) + block_R_weighted = self.multiplier * (block_R - I) + I + + block_R_weighted_list.append(block_R_weighted) + + return block_R_weighted_list + + def forward(self, x, scale=None): + if self.multiplier == 0.0: + return self.org_forward(x) + + org_module = self.org_module[0] + org_dtype = x.dtype + + R = self.get_weight() + W = org_module.weight.to(torch.float32) + B = org_module.bias.to(torch.float32) + + # split W to match R + results = [] + d2 = 0 + for i in range(len(R)): + d1 = d2 + d2 += self.split_dims[i] + + W1 = W[d1:d2] + W_reshaped = einops.rearrange(W1, "(k n) m -> k n m", k=self.num_blocks, n=self.block_size[i]) + RW_1 = torch.einsum("k n m, k n p -> k m p", R[i], W_reshaped) + RW_1 = einops.rearrange(RW_1, "k m p -> (k m) p") + + B1 = B[d1:d2] + result = F.linear(x, RW_1.to(org_dtype), B1.to(org_dtype)) + results.append(result) + + result = torch.cat(results, dim=-1) + return result + + +class OFTInfModule(OFTModule): + def __init__( + self, + oft_name, + org_module: torch.nn.Module, + multiplier=1.0, + dim=4, + alpha=1, + split_dims: Optional[List[int]] = None, + **kwargs, + ): + # no dropout for inference + super().__init__(oft_name, org_module, multiplier, dim, alpha, split_dims) + self.enabled = True + self.network: OFTNetwork = None + + def set_network(self, network): + self.network = network + + def forward(self, x, scale=None): + if not self.enabled: + return self.org_forward(x) + return super().forward(x, scale) + + def merge_to(self, multiplier=None): + # get org weight + org_sd = self.org_module[0].state_dict() + W = org_sd["weight"].to(torch.float32) + R = self.get_weight(multiplier).to(torch.float32) + + d2 = 0 + W_list = [] + for i in range(len(self.oft_blocks)): + d1 = d2 + d2 += self.split_dims[i] + + W1 = W[d1:d2] + W_reshaped = einops.rearrange(W1, "(k n) m -> k n m", k=self.num_blocks, n=self.block_size[i]) + W1 = torch.einsum("k n m, k n p -> k m p", R[i], W_reshaped) + W1 = einops.rearrange(W1, "k m p -> (k m) p") + + W_list.append(W1) + + W = torch.cat(W_list, dim=-1) + + # convert back to original dtype + W = W.to(org_sd["weight"].dtype) + + # set weight to org_module + org_sd["weight"] = W + self.org_module[0].load_state_dict(org_sd) + + +def create_network( + multiplier: float, + network_dim: Optional[int], + network_alpha: Optional[float], + vae: AutoencoderKL, + text_encoder: Union[CLIPTextModel, List[CLIPTextModel]], + unet, + neuron_dropout: Optional[float] = None, + **kwargs, +): + if network_dim is None: + network_dim = 4 # default + if network_alpha is None: # should be set + logger.info( + "network_alpha is not set, use default value 1e-3 / network_alphaが設定されていないのでデフォルト値 1e-3 を使用します" + ) + network_alpha = 1e-3 + elif network_alpha >= 1: + logger.warning( + "network_alpha is too large (>=1, maybe default value is too large), please consider to set smaller value like 1e-3" + " / network_alphaが大きすぎるようです(>=1, デフォルト値が大きすぎる可能性があります)。1e-3のような小さな値を推奨" + ) + + # attn only or all linear (FFN) layers + enable_all_linear = kwargs.get("enable_all_linear", None) + # enable_conv = kwargs.get("enable_conv", None) + if enable_all_linear is not None: + enable_all_linear = bool(enable_all_linear) + # if enable_conv is not None: + # enable_conv = bool(enable_conv) + + network = OFTNetwork( + text_encoder, + unet, + multiplier=multiplier, + dim=network_dim, + alpha=network_alpha, + enable_all_linear=enable_all_linear, + varbose=True, + ) + return network + + +# Create network from weights for inference, weights are not loaded here (because can be merged) +def create_network_from_weights(multiplier, file, vae, text_encoder, unet, weights_sd=None, for_inference=False, **kwargs): + if weights_sd is None: + if os.path.splitext(file)[1] == ".safetensors": + from safetensors.torch import load_file, safe_open + + weights_sd = load_file(file) + else: + weights_sd = torch.load(file, map_location="cpu") + + # check dim, alpha and if weights have for conv2d + dim = None + alpha = None + all_linear = None + for name, param in weights_sd.items(): + if name.endswith(".alpha"): + if alpha is None: + alpha = param.item() + elif "qkv" in name: + continue # ignore qkv + else: + if dim is None: + dim = param.size()[0] + if all_linear is None and "_mlp" in name: + all_linear = True + if dim is not None and alpha is not None and all_linear is not None: + break + if all_linear is None: + all_linear = False + + module_class = OFTInfModule if for_inference else OFTModule + network = OFTNetwork( + text_encoder, + unet, + multiplier=multiplier, + dim=dim, + alpha=alpha, + enable_all_linear=all_linear, + module_class=module_class, + ) + return network, weights_sd + + +class OFTNetwork(torch.nn.Module): + FLUX_TARGET_REPLACE_MODULE_ALL_LINEAR = ["DoubleStreamBlock", "SingleStreamBlock"] + FLUX_TARGET_REPLACE_MODULE_ATTN_ONLY = ["SelfAttention"] + OFT_PREFIX_UNET = "oft_unet" + + def __init__( + self, + text_encoder: Union[List[CLIPTextModel], CLIPTextModel], + unet, + multiplier: float = 1.0, + dim: int = 4, + alpha: float = 1, + enable_all_linear: Optional[bool] = False, + module_class: Union[Type[OFTModule], Type[OFTInfModule]] = OFTModule, + varbose: Optional[bool] = False, + ) -> None: + super().__init__() + self.train_t5xxl = False # make compatible with LoRA + self.multiplier = multiplier + + self.dim = dim + self.alpha = alpha + + logger.info( + f"create OFT network. num blocks: {self.dim}, constraint: {self.alpha}, multiplier: {self.multiplier}, enable_all_linear: {enable_all_linear}" + ) + + # create module instances + def create_modules( + root_module: torch.nn.Module, + target_replace_modules: List[torch.nn.Module], + ) -> List[OFTModule]: + prefix = self.OFT_PREFIX_UNET + ofts = [] + for name, module in root_module.named_modules(): + if module.__class__.__name__ in target_replace_modules: + for child_name, child_module in module.named_modules(): + is_linear = "Linear" in child_module.__class__.__name__ + + if is_linear: + oft_name = prefix + "." + name + "." + child_name + oft_name = oft_name.replace(".", "_") + # logger.info(oft_name) + + if "double" in oft_name and "qkv" in oft_name: + split_dims = [3072] * 3 + elif "single" in oft_name and "linear1" in oft_name: + split_dims = [3072] * 3 + [12288] + else: + split_dims = None + + oft = module_class(oft_name, child_module, self.multiplier, dim, alpha, split_dims) + ofts.append(oft) + return ofts + + # extend U-Net target modules if conv2d 3x3 is enabled, or load from weights + if enable_all_linear: + target_modules = OFTNetwork.FLUX_TARGET_REPLACE_MODULE_ALL_LINEAR + else: + target_modules = OFTNetwork.FLUX_TARGET_REPLACE_MODULE_ATTN_ONLY + + self.unet_ofts: List[OFTModule] = create_modules(unet, target_modules) + logger.info(f"create OFT for Flux: {len(self.unet_ofts)} modules.") + + # assertion + names = set() + for oft in self.unet_ofts: + assert oft.oft_name not in names, f"duplicated oft name: {oft.oft_name}" + names.add(oft.oft_name) + + def set_multiplier(self, multiplier): + self.multiplier = multiplier + for oft in self.unet_ofts: + oft.multiplier = self.multiplier + + def load_weights(self, file): + if os.path.splitext(file)[1] == ".safetensors": + from safetensors.torch import load_file + + weights_sd = load_file(file) + else: + weights_sd = torch.load(file, map_location="cpu") + + info = self.load_state_dict(weights_sd, False) + return info + + def apply_to(self, text_encoder, unet, apply_text_encoder=True, apply_unet=True): + assert apply_unet, "apply_unet must be True" + + for oft in self.unet_ofts: + oft.apply_to() + self.add_module(oft.oft_name, oft) + + # マージできるかどうかを返す + def is_mergeable(self): + return True + + # TODO refactor to common function with apply_to + def merge_to(self, text_encoder, unet, weights_sd, dtype, device): + logger.info("enable OFT for U-Net") + + for oft in self.unet_ofts: + sd_for_lora = {} + for key in weights_sd.keys(): + if key.startswith(oft.oft_name): + sd_for_lora[key[len(oft.oft_name) + 1 :]] = weights_sd[key] + oft.load_state_dict(sd_for_lora, False) + oft.merge_to() + + logger.info(f"weights are merged") + + # 二つのText Encoderに別々の学習率を設定できるようにするといいかも + def prepare_optimizer_params(self, text_encoder_lr, unet_lr, default_lr): + self.requires_grad_(True) + all_params = [] + + def enumerate_params(ofts): + params = [] + for oft in ofts: + params.extend(oft.parameters()) + + # logger.info num of params + num_params = 0 + for p in params: + num_params += p.numel() + logger.info(f"OFT params: {num_params}") + return params + + param_data = {"params": enumerate_params(self.unet_ofts)} + if unet_lr is not None: + param_data["lr"] = unet_lr + all_params.append(param_data) + + return all_params + + def enable_gradient_checkpointing(self): + # not supported + pass + + def prepare_grad_etc(self, text_encoder, unet): + self.requires_grad_(True) + + def on_epoch_start(self, text_encoder, unet): + self.train() + + def get_trainable_params(self): + return self.parameters() + + def save_weights(self, file, dtype, metadata): + if metadata is not None and len(metadata) == 0: + metadata = None + + state_dict = self.state_dict() + + if dtype is not None: + for key in list(state_dict.keys()): + v = state_dict[key] + v = v.detach().clone().to("cpu").to(dtype) + state_dict[key] = v + + if os.path.splitext(file)[1] == ".safetensors": + from safetensors.torch import save_file + from library import train_util + + # Precalculate model hashes to save time on indexing + if metadata is None: + metadata = {} + model_hash, legacy_hash = train_util.precalculate_safetensors_hashes(state_dict, metadata) + metadata["sshs_model_hash"] = model_hash + metadata["sshs_legacy_hash"] = legacy_hash + + save_file(state_dict, file, metadata) + else: + torch.save(state_dict, file) + + def backup_weights(self): + # 重みのバックアップを行う + ofts: List[OFTInfModule] = self.unet_ofts + for oft in ofts: + org_module = oft.org_module[0] + if not hasattr(org_module, "_lora_org_weight"): + sd = org_module.state_dict() + org_module._lora_org_weight = sd["weight"].detach().clone() + org_module._lora_restored = True + + def restore_weights(self): + # 重みのリストアを行う + ofts: List[OFTInfModule] = self.unet_ofts + for oft in ofts: + org_module = oft.org_module[0] + if not org_module._lora_restored: + sd = org_module.state_dict() + sd["weight"] = org_module._lora_org_weight + org_module.load_state_dict(sd) + org_module._lora_restored = True + + def pre_calculation(self): + # 事前計算を行う + ofts: List[OFTInfModule] = self.unet_ofts + for oft in ofts: + org_module = oft.org_module[0] + oft.merge_to() + # sd = org_module.state_dict() + # org_weight = sd["weight"] + # lora_weight = oft.get_weight().to(org_weight.device, dtype=org_weight.dtype) + # sd["weight"] = org_weight + lora_weight + # assert sd["weight"].shape == org_weight.shape + # org_module.load_state_dict(sd) + + org_module._lora_restored = False + oft.enabled = False From c9ff4de90597e933b441502d45c175fe46b99714 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sat, 14 Sep 2024 22:17:52 +0900 Subject: [PATCH 222/748] Add support for specifying rank for each layer in FLUX.1 --- README.md | 61 ++++++++++++++++++++++++ networks/lora_flux.py | 107 +++++++++++++++++++++++++++++++++++++++--- 2 files changed, 161 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 6e32fa31d..9a9794796 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,10 @@ The command to install PyTorch is as follows: ### Recent Updates +Sep 14, 2024: +- You can now specify the rank for each layer in FLUX.1. See [Specify rank for each layer in FLUX.1](#specify-rank-for-each-layer-in-flux1) for details. +- OFT is now supported with FLUX.1. See [FLUX.1 OFT training](#flux1-oft-training) for details. + Sep 11, 2024: Logging to wandb is improved. See PR [#1576](https://github.com/kohya-ss/sd-scripts/pull/1576) for details. Thanks to p1atdev! @@ -46,6 +50,7 @@ Please update `safetensors` to `0.4.4` to fix the error when using `--resume`. ` - [Key Options for FLUX.1 LoRA training](#key-options-for-flux1-lora-training) - [Inference for FLUX.1 LoRA model](#inference-for-flux1-lora-model) - [Key Features for FLUX.1 LoRA training](#key-features-for-flux1-lora-training) +- [FLUX.1 OFT training](#flux1-oft-training) - [FLUX.1 fine-tuning](#flux1-fine-tuning) - [Key Features for FLUX.1 fine-tuning](#key-features-for-flux1-fine-tuning) - [Extract LoRA from FLUX.1 Models](#extract-lora-from-flux1-models) @@ -191,6 +196,62 @@ In the implementation of Black Forest Labs' model, the projection layers of q/k/ The compatibility of the saved model (state dict) is ensured by concatenating the weights of multiple LoRAs. However, since there are zero weights in some parts, the model size will be large. +#### Specify rank for each layer in FLUX.1 + +You can specify the rank for each layer in FLUX.1 by specifying the following network_args. If you specify `0`, LoRA will not be applied to that layer. + +When network_args is not specified, the default value (`network_dim`) is applied, same as before. + +|network_args|target layer| +|---|---| +|img_attn_dim|img_attn in DoubleStreamBlock| +|txt_attn_dim|txt_attn in DoubleStreamBlock| +|img_mlp_dim|img_mlp in DoubleStreamBlock| +|txt_mlp_dim|txt_mlp in DoubleStreamBlock| +|img_mod_dim|img_mod in DoubleStreamBlock| +|txt_mod_dim|txt_mod in DoubleStreamBlock| +|single_dim|linear1 and linear2 in SingleStreamBlock| +|single_mod_dim|modulation in SingleStreamBlock| + +example: +``` +--network_args "img_attn_dim=4" "img_mlp_dim=8" "txt_attn_dim=2" "txt_mlp_dim=2" +"img_mod_dim=2" "txt_mod_dim=2" "single_dim=4" "single_mod_dim=2" +``` + +You can apply LoRA to the conditioning layers of Flux by specifying `in_dims` in network_args. When specifying, be sure to specify 5 numbers in `[]` as a comma-separated list. + +example: +``` +--network_args "in_dims=[4,2,2,2,4]" +``` + +Each number corresponds to `img_in`, `time_in`, `vector_in`, `guidance_in`, `txt_in`. The above example applies LoRA to all conditioning layers, with rank 4 for `img_in`, 2 for `time_in`, `vector_in`, `guidance_in`, and 4 for `txt_in`. + +If you specify `0`, LoRA will not be applied to that layer. For example, `[4,0,0,0,4]` applies LoRA only to `img_in` and `txt_in`. + +### FLUX.1 OFT training + +You can train OFT with almost the same options as LoRA, such as `--timestamp_sampling`. The following points are different. + +- Change `--network_module` from `networks.lora_flux` to `networks.oft_flux`. +- `--network_dim` is the number of OFT blocks. Unlike LoRA rank, the smaller the dim, the larger the model. We recommend about 64 or 128. Please make the output dimension of the target layer of OFT divisible by the value of `--network_dim` (an error will occur if it is not divisible). Valid values are 64, 128, 256, 512, 1024, etc. +- `--network_alpha` is treated as a constraint for OFT. We recommend about 1e-2 to 1e-4. The default value when omitted is 1, which is too large, so be sure to specify it. +- CLIP/T5XXL is not supported. Specify `--network_train_unet_only`. +- `--network_args` specifies the hyperparameters of OFT. The following are valid: + - Specify `enable_all_linear=True` to target all linear connections in the MLP layer. The default is False, which targets only attention. + +Currently, there is no environment to infer FLUX.1 OFT. Inference is only possible with `flux_minimal_inference.py` (specify OFT model with `--lora`). + +Sample command is below. It will work with 24GB VRAM GPUs with the batch size of 1. + +``` +--network_module networks.oft_flux --network_dim 128 --network_alpha 1e-3 +--network_args "enable_all_linear=True" --learning_rate 1e-5 +``` + +The training can be done with 16GB VRAM GPUs without `--enable_all_linear` option and with Adafactor optimizer. + ### Inference for FLUX.1 with LoRA model The inference script is also available. The script is `flux_minimal_inference.py`. See `--help` for options. diff --git a/networks/lora_flux.py b/networks/lora_flux.py index ea7df8b4d..a34cde1a8 100644 --- a/networks/lora_flux.py +++ b/networks/lora_flux.py @@ -316,6 +316,44 @@ def create_network( else: conv_alpha = float(conv_alpha) + # attn dim, mlp dim: only for DoubleStreamBlock. SingleStreamBlock is not supported because of combined qkv + img_attn_dim = kwargs.get("img_attn_dim", None) + txt_attn_dim = kwargs.get("txt_attn_dim", None) + img_mlp_dim = kwargs.get("img_mlp_dim", None) + txt_mlp_dim = kwargs.get("txt_mlp_dim", None) + img_mod_dim = kwargs.get("img_mod_dim", None) + txt_mod_dim = kwargs.get("txt_mod_dim", None) + single_dim = kwargs.get("single_dim", None) # SingleStreamBlock + single_mod_dim = kwargs.get("single_mod_dim", None) # SingleStreamBlock + if img_attn_dim is not None: + img_attn_dim = int(img_attn_dim) + if txt_attn_dim is not None: + txt_attn_dim = int(txt_attn_dim) + if img_mlp_dim is not None: + img_mlp_dim = int(img_mlp_dim) + if txt_mlp_dim is not None: + txt_mlp_dim = int(txt_mlp_dim) + if img_mod_dim is not None: + img_mod_dim = int(img_mod_dim) + if txt_mod_dim is not None: + txt_mod_dim = int(txt_mod_dim) + if single_dim is not None: + single_dim = int(single_dim) + if single_mod_dim is not None: + single_mod_dim = int(single_mod_dim) + type_dims = [img_attn_dim, txt_attn_dim, img_mlp_dim, txt_mlp_dim, img_mod_dim, txt_mod_dim, single_dim, single_mod_dim] + if all([d is None for d in type_dims]): + type_dims = None + + # in_dims [img, time, vector, guidance, txt] + in_dims = kwargs.get("in_dims", None) + if in_dims is not None: + in_dims = in_dims.strip() + if in_dims.startswith("[") and in_dims.endswith("]"): + in_dims = in_dims[1:-1] + in_dims = [int(d) for d in in_dims.split(",")] # is it better to use ast.literal_eval? + assert len(in_dims) == 5, f"invalid in_dims: {in_dims}, must be 5 dimensions (img, time, vector, guidance, txt)" + # rank/module dropout rank_dropout = kwargs.get("rank_dropout", None) if rank_dropout is not None: @@ -339,6 +377,11 @@ def create_network( if train_t5xxl is not None: train_t5xxl = True if train_t5xxl == "True" else False + # verbose + verbose = kwargs.get("verbose", False) + if verbose is not None: + verbose = True if verbose == "True" else False + # すごく引数が多いな ( ^ω^)・・・ network = LoRANetwork( text_encoders, @@ -354,7 +397,9 @@ def create_network( train_blocks=train_blocks, split_qkv=split_qkv, train_t5xxl=train_t5xxl, - varbose=True, + type_dims=type_dims, + in_dims=in_dims, + verbose=verbose, ) loraplus_lr_ratio = kwargs.get("loraplus_lr_ratio", None) @@ -462,7 +507,9 @@ def __init__( train_blocks: Optional[str] = None, split_qkv: bool = False, train_t5xxl: bool = False, - varbose: Optional[bool] = False, + type_dims: Optional[List[int]] = None, + in_dims: Optional[List[int]] = None, + verbose: Optional[bool] = False, ) -> None: super().__init__() self.multiplier = multiplier @@ -478,12 +525,17 @@ def __init__( self.split_qkv = split_qkv self.train_t5xxl = train_t5xxl + self.type_dims = type_dims + self.in_dims = in_dims + self.loraplus_lr_ratio = None self.loraplus_unet_lr_ratio = None self.loraplus_text_encoder_lr_ratio = None if modules_dim is not None: logger.info(f"create LoRA network from weights") + self.in_dims = [0] * 5 # create in_dims + # verbose = True else: logger.info(f"create LoRA network. base dim (rank): {lora_dim}, alpha: {alpha}") logger.info( @@ -502,7 +554,12 @@ def __init__( # create module instances def create_modules( - is_flux: bool, text_encoder_idx: Optional[int], root_module: torch.nn.Module, target_replace_modules: List[str] + is_flux: bool, + text_encoder_idx: Optional[int], + root_module: torch.nn.Module, + target_replace_modules: List[str], + filter: Optional[str] = None, + default_dim: Optional[int] = None, ) -> List[LoRAModule]: prefix = ( self.LORA_PREFIX_FLUX @@ -513,16 +570,22 @@ def create_modules( loras = [] skipped = [] for name, module in root_module.named_modules(): - if module.__class__.__name__ in target_replace_modules: + if target_replace_modules is None or module.__class__.__name__ in target_replace_modules: + if target_replace_modules is None: # dirty hack for all modules + module = root_module # search all modules + for child_name, child_module in module.named_modules(): is_linear = child_module.__class__.__name__ == "Linear" is_conv2d = child_module.__class__.__name__ == "Conv2d" is_conv2d_1x1 = is_conv2d and child_module.kernel_size == (1, 1) if is_linear or is_conv2d: - lora_name = prefix + "." + name + "." + child_name + lora_name = prefix + "." + (name + "." if name else "") + child_name lora_name = lora_name.replace(".", "_") + if filter is not None and not filter in lora_name: + continue + dim = None alpha = None @@ -534,8 +597,25 @@ def create_modules( else: # 通常、すべて対象とする if is_linear or is_conv2d_1x1: - dim = self.lora_dim + dim = default_dim if default_dim is not None else self.lora_dim alpha = self.alpha + + if type_dims is not None: + identifier = [ + ("img_attn",), + ("txt_attn",), + ("img_mlp",), + ("txt_mlp",), + ("img_mod",), + ("txt_mod",), + ("single_blocks", "linear"), + ("modulation",), + ] + for i, d in enumerate(type_dims): + if d is not None and all([id in lora_name for id in identifier[i]]): + dim = d + break + elif self.conv_lora_dim is not None: dim = self.conv_lora_dim alpha = self.conv_alpha @@ -566,6 +646,9 @@ def create_modules( split_dims=split_dims, ) loras.append(lora) + + if target_replace_modules is None: + break # all modules are searched return loras, skipped # create LoRA for text encoder @@ -594,10 +677,20 @@ def create_modules( self.unet_loras: List[Union[LoRAModule, LoRAInfModule]] self.unet_loras, skipped_un = create_modules(True, None, unet, target_replace_modules) + + # img, time, vector, guidance, txt + if self.in_dims: + for filter, in_dim in zip(["_img_in", "_time_in", "_vector_in", "_guidance_in", "_txt_in"], self.in_dims): + loras, _ = create_modules(True, None, unet, None, filter=filter, default_dim=in_dim) + self.unet_loras.extend(loras) + logger.info(f"create LoRA for FLUX {self.train_blocks} blocks: {len(self.unet_loras)} modules.") + if verbose: + for lora in self.unet_loras: + logger.info(f"\t{lora.lora_name:50} {lora.lora_dim}, {lora.alpha}") skipped = skipped_te + skipped_un - if varbose and len(skipped) > 0: + if verbose and len(skipped) > 0: logger.warning( f"because dim (rank) is 0, {len(skipped)} LoRA modules are skipped / dim (rank)が0の為、次の{len(skipped)}個のLoRAモジュールはスキップされます:" ) From 6445bb2bc974cec51256ae38c1be0900e90e6f87 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sat, 14 Sep 2024 22:37:26 +0900 Subject: [PATCH 223/748] update README --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9a9794796..c94ea3598 100644 --- a/README.md +++ b/README.md @@ -213,10 +213,12 @@ When network_args is not specified, the default value (`network_dim`) is applied |single_dim|linear1 and linear2 in SingleStreamBlock| |single_mod_dim|modulation in SingleStreamBlock| +`"verbose=True"` is also available for debugging. It shows the rank of each layer. + example: ``` --network_args "img_attn_dim=4" "img_mlp_dim=8" "txt_attn_dim=2" "txt_mlp_dim=2" -"img_mod_dim=2" "txt_mod_dim=2" "single_dim=4" "single_mod_dim=2" +"img_mod_dim=2" "txt_mod_dim=2" "single_dim=4" "single_mod_dim=2" "verbose=True" ``` You can apply LoRA to the conditioning layers of Flux by specifying `in_dims` in network_args. When specifying, be sure to specify 5 numbers in `[]` as a comma-separated list. From 9f44ef133083c530874c6cf022a4de8fda3edae2 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 15 Sep 2024 13:52:23 +0900 Subject: [PATCH 224/748] add diffusers to FLUX.1 conversion script --- README.md | 19 ++- tools/convert_diffusers_to_flux.py | 223 +++++++++++++++++++++++++++++ 2 files changed, 241 insertions(+), 1 deletion(-) create mode 100644 tools/convert_diffusers_to_flux.py diff --git a/README.md b/README.md index c94ea3598..7d6c336e6 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,12 @@ The command to install PyTorch is as follows: ### Recent Updates +Sep 15, 2024: + +Added a script `convert_diffusers_to_flux.py` to convert Diffusers format FLUX.1 models (checkpoints) to BFL format. See `--help` for usage. Only Flux models are supported. AE/CLIP/T5XXL are not supported. + +The implementation is based on 2kpr's code. Thanks to 2kpr! + Sep 14, 2024: - You can now specify the rank for each layer in FLUX.1. See [Specify rank for each layer in FLUX.1](#specify-rank-for-each-layer-in-flux1) for details. - OFT is now supported with FLUX.1. See [FLUX.1 OFT training](#flux1-oft-training) for details. @@ -57,6 +63,7 @@ Please update `safetensors` to `0.4.4` to fix the error when using `--resume`. ` - [Convert FLUX LoRA](#convert-flux-lora) - [Merge LoRA to FLUX.1 checkpoint](#merge-lora-to-flux1-checkpoint) - [FLUX.1 Multi-resolution training](#flux1-multi-resolution-training) +- [Convert Diffusers to FLUX.1](#convert-diffusers-to-flux1) ### FLUX.1 LoRA training @@ -355,7 +362,7 @@ If you use LoRA in the inference environment, converting it to AI-toolkit format Note that re-conversion will increase the size of LoRA. -CLIP-L LoRA is not supported. +CLIP-L/T5XXL LoRA is not supported. ### Merge LoRA to FLUX.1 checkpoint @@ -435,6 +442,16 @@ resolution = [512, 512] num_repeats = 1 ``` +### Convert Diffusers to FLUX.1 + +Script: `convert_diffusers_to_flux1.py` + +Converts Diffusers models to FLUX.1 models. The script is experimental. See `--help` for options. schnell and dev models are supported. AE/CLIP/T5XXL are not supported. The diffusers folder is a parent folder of `transfomer` folder. + +``` +python tools/convert_diffusers_to_flux.py --diffusers_path path/to/diffusers_folder_or_00001_safetensors --save_to path/to/flux1.safetensors --mem_eff_load_save --save_precision bf16 +``` + ## SD3 training SD3 training is done with `sd3_train.py`. diff --git a/tools/convert_diffusers_to_flux.py b/tools/convert_diffusers_to_flux.py new file mode 100644 index 000000000..9d8f7c74b --- /dev/null +++ b/tools/convert_diffusers_to_flux.py @@ -0,0 +1,223 @@ +# This script converts the diffusers of a Flux model to a safetensors file of a Flux.1 model. +# It is based on the implementation by 2kpr. Thanks to 2kpr! +# Major changes: +# - Iterates over three safetensors files to reduce memory usage, not loading all tensors at once. +# - Makes reverse map from diffusers map to avoid loading all tensors. +# - Removes dependency on .json file for weights mapping. +# - Adds support for custom memory efficient load and save functions. +# - Supports saving with different precision. +# - Supports .safetensors file as input. + +# Copyright 2024 2kpr. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and + +import argparse +import os +from pathlib import Path +import safetensors +from safetensors.torch import safe_open +import torch +from tqdm import tqdm + +from library.utils import setup_logging, str_to_dtype, MemoryEfficientSafeOpen, mem_eff_save_file + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + +NUM_DOUBLE_BLOCKS = 19 +NUM_SINGLE_BLOCKS = 38 + +BFL_TO_DIFFUSERS_MAP = { + "time_in.in_layer.weight": ["time_text_embed.timestep_embedder.linear_1.weight"], + "time_in.in_layer.bias": ["time_text_embed.timestep_embedder.linear_1.bias"], + "time_in.out_layer.weight": ["time_text_embed.timestep_embedder.linear_2.weight"], + "time_in.out_layer.bias": ["time_text_embed.timestep_embedder.linear_2.bias"], + "vector_in.in_layer.weight": ["time_text_embed.text_embedder.linear_1.weight"], + "vector_in.in_layer.bias": ["time_text_embed.text_embedder.linear_1.bias"], + "vector_in.out_layer.weight": ["time_text_embed.text_embedder.linear_2.weight"], + "vector_in.out_layer.bias": ["time_text_embed.text_embedder.linear_2.bias"], + "guidance_in.in_layer.weight": ["time_text_embed.guidance_embedder.linear_1.weight"], + "guidance_in.in_layer.bias": ["time_text_embed.guidance_embedder.linear_1.bias"], + "guidance_in.out_layer.weight": ["time_text_embed.guidance_embedder.linear_2.weight"], + "guidance_in.out_layer.bias": ["time_text_embed.guidance_embedder.linear_2.bias"], + "txt_in.weight": ["context_embedder.weight"], + "txt_in.bias": ["context_embedder.bias"], + "img_in.weight": ["x_embedder.weight"], + "img_in.bias": ["x_embedder.bias"], + "double_blocks.().img_mod.lin.weight": ["norm1.linear.weight"], + "double_blocks.().img_mod.lin.bias": ["norm1.linear.bias"], + "double_blocks.().txt_mod.lin.weight": ["norm1_context.linear.weight"], + "double_blocks.().txt_mod.lin.bias": ["norm1_context.linear.bias"], + "double_blocks.().img_attn.qkv.weight": ["attn.to_q.weight", "attn.to_k.weight", "attn.to_v.weight"], + "double_blocks.().img_attn.qkv.bias": ["attn.to_q.bias", "attn.to_k.bias", "attn.to_v.bias"], + "double_blocks.().txt_attn.qkv.weight": ["attn.add_q_proj.weight", "attn.add_k_proj.weight", "attn.add_v_proj.weight"], + "double_blocks.().txt_attn.qkv.bias": ["attn.add_q_proj.bias", "attn.add_k_proj.bias", "attn.add_v_proj.bias"], + "double_blocks.().img_attn.norm.query_norm.scale": ["attn.norm_q.weight"], + "double_blocks.().img_attn.norm.key_norm.scale": ["attn.norm_k.weight"], + "double_blocks.().txt_attn.norm.query_norm.scale": ["attn.norm_added_q.weight"], + "double_blocks.().txt_attn.norm.key_norm.scale": ["attn.norm_added_k.weight"], + "double_blocks.().img_mlp.0.weight": ["ff.net.0.proj.weight"], + "double_blocks.().img_mlp.0.bias": ["ff.net.0.proj.bias"], + "double_blocks.().img_mlp.2.weight": ["ff.net.2.weight"], + "double_blocks.().img_mlp.2.bias": ["ff.net.2.bias"], + "double_blocks.().txt_mlp.0.weight": ["ff_context.net.0.proj.weight"], + "double_blocks.().txt_mlp.0.bias": ["ff_context.net.0.proj.bias"], + "double_blocks.().txt_mlp.2.weight": ["ff_context.net.2.weight"], + "double_blocks.().txt_mlp.2.bias": ["ff_context.net.2.bias"], + "double_blocks.().img_attn.proj.weight": ["attn.to_out.0.weight"], + "double_blocks.().img_attn.proj.bias": ["attn.to_out.0.bias"], + "double_blocks.().txt_attn.proj.weight": ["attn.to_add_out.weight"], + "double_blocks.().txt_attn.proj.bias": ["attn.to_add_out.bias"], + "single_blocks.().modulation.lin.weight": ["norm.linear.weight"], + "single_blocks.().modulation.lin.bias": ["norm.linear.bias"], + "single_blocks.().linear1.weight": ["attn.to_q.weight", "attn.to_k.weight", "attn.to_v.weight", "proj_mlp.weight"], + "single_blocks.().linear1.bias": ["attn.to_q.bias", "attn.to_k.bias", "attn.to_v.bias", "proj_mlp.bias"], + "single_blocks.().linear2.weight": ["proj_out.weight"], + "single_blocks.().norm.query_norm.scale": ["attn.norm_q.weight"], + "single_blocks.().norm.key_norm.scale": ["attn.norm_k.weight"], + "single_blocks.().linear2.weight": ["proj_out.weight"], + "single_blocks.().linear2.bias": ["proj_out.bias"], + "final_layer.linear.weight": ["proj_out.weight"], + "final_layer.linear.bias": ["proj_out.bias"], + "final_layer.adaLN_modulation.1.weight": ["norm_out.linear.weight"], + "final_layer.adaLN_modulation.1.bias": ["norm_out.linear.bias"], +} + + +def convert(args): + # if diffusers_path is folder, get safetensors file + diffusers_path = Path(args.diffusers_path) + if diffusers_path.is_dir(): + diffusers_path = Path.joinpath(diffusers_path, "transformer", "diffusion_pytorch_model-00001-of-00003.safetensors") + + flux_path = Path(args.save_to) + if not os.path.exists(flux_path.parent): + os.makedirs(flux_path.parent) + + if not diffusers_path.exists(): + logger.error(f"Error: Missing transformer safetensors file: {diffusers_path}") + return + + mem_eff_flag = args.mem_eff_load_save + save_dtype = str_to_dtype(args.save_precision) if args.save_precision is not None else None + + # make reverse map from diffusers map + diffusers_to_bfl_map = {} # key: diffusers_key, value: (index, bfl_key) + for b in range(NUM_DOUBLE_BLOCKS): + for key, weights in BFL_TO_DIFFUSERS_MAP.items(): + if key.startswith("double_blocks."): + block_prefix = f"transformer_blocks.{b}." + for i, weight in enumerate(weights): + diffusers_to_bfl_map[f"{block_prefix}{weight}"] = (i, key.replace("()", f"{b}")) + for b in range(NUM_SINGLE_BLOCKS): + for key, weights in BFL_TO_DIFFUSERS_MAP.items(): + if key.startswith("single_blocks."): + block_prefix = f"single_transformer_blocks.{b}." + for i, weight in enumerate(weights): + diffusers_to_bfl_map[f"{block_prefix}{weight}"] = (i, key.replace("()", f"{b}")) + for key, weights in BFL_TO_DIFFUSERS_MAP.items(): + if not (key.startswith("double_blocks.") or key.startswith("single_blocks.")): + for i, weight in enumerate(weights): + diffusers_to_bfl_map[weight] = (i, key) + + # iterate over three safetensors files to reduce memory usage + flux_sd = {} + for i in range(3): + # replace 00001 with 0000i + current_diffusers_path = Path(str(diffusers_path).replace("00001", f"0000{i+1}")) + logger.info(f"Loading diffusers file: {current_diffusers_path}") + + open_func = MemoryEfficientSafeOpen if mem_eff_flag else (lambda x: safe_open(x, framework="pt")) + with open_func(current_diffusers_path) as f: + for diffusers_key in tqdm(f.keys()): + if diffusers_key in diffusers_to_bfl_map: + tensor = f.get_tensor(diffusers_key).to("cpu") + if save_dtype is not None: + tensor = tensor.to(save_dtype) + + index, bfl_key = diffusers_to_bfl_map[diffusers_key] + if bfl_key not in flux_sd: + flux_sd[bfl_key] = [] + flux_sd[bfl_key].append((index, tensor)) + else: + logger.error(f"Error: Key not found in diffusers_to_bfl_map: {diffusers_key}") + return + + # concat tensors if multiple tensors are mapped to a single key, sort by index + for key, values in flux_sd.items(): + if len(values) == 1: + flux_sd[key] = values[0][1] + else: + flux_sd[key] = torch.cat([value[1] for value in sorted(values, key=lambda x: x[0])]) + + # special case for final_layer.adaLN_modulation.1.weight and final_layer.adaLN_modulation.1.bias + def swap_scale_shift(weight): + shift, scale = weight.chunk(2, dim=0) + new_weight = torch.cat([scale, shift], dim=0) + return new_weight + + if "final_layer.adaLN_modulation.1.weight" in flux_sd: + flux_sd["final_layer.adaLN_modulation.1.weight"] = swap_scale_shift(flux_sd["final_layer.adaLN_modulation.1.weight"]) + if "final_layer.adaLN_modulation.1.bias" in flux_sd: + flux_sd["final_layer.adaLN_modulation.1.bias"] = swap_scale_shift(flux_sd["final_layer.adaLN_modulation.1.bias"]) + + # save flux_sd to safetensors file + logger.info(f"Saving Flux safetensors file: {flux_path}") + if mem_eff_flag: + mem_eff_save_file(flux_sd, flux_path) + else: + safetensors.torch.save_file(flux_sd, flux_path) + + logger.info("Conversion completed.") + + +def setup_parser(): + parser = argparse.ArgumentParser() + parser.add_argument( + "--diffusers_path", + default=None, + type=str, + required=True, + help="Path to the original Flux diffusers folder or *-00001-of-00003.safetensors file." + " / 元のFlux diffusersフォルダーまたは*-00001-of-00003.safetensorsファイルへのパス", + ) + parser.add_argument( + "--save_to", + default=None, + type=str, + required=True, + help="Output path for the Flux safetensors file. / Flux safetensorsファイルの出力先", + ) + parser.add_argument( + "--mem_eff_load_save", + action="store_true", + help="use custom memory efficient load and save functions for FLUX.1 model" + " / カスタムのメモリ効率の良い読み込みと保存関数をFLUX.1モデルに使用する", + ) + parser.add_argument( + "--save_precision", + type=str, + default=None, + help="precision in saving, default is same as loading precision" + "float32, fp16, bf16, fp8 (same as fp8_e4m3fn), fp8_e4m3fn, fp8_e4m3fnuz, fp8_e5m2, fp8_e5m2fnuz" + " / 保存時に精度を変更して保存する、デフォルトは読み込み時と同じ精度", + ) + return parser + + +if __name__ == "__main__": + parser = setup_parser() + args = parser.parse_args() + convert(args) From be078bdaca41084a20edb952b98a82f3e05d2dad Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 15 Sep 2024 13:59:17 +0900 Subject: [PATCH 225/748] fix typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7d6c336e6..f79fe21af 100644 --- a/README.md +++ b/README.md @@ -446,7 +446,7 @@ resolution = [512, 512] Script: `convert_diffusers_to_flux1.py` -Converts Diffusers models to FLUX.1 models. The script is experimental. See `--help` for options. schnell and dev models are supported. AE/CLIP/T5XXL are not supported. The diffusers folder is a parent folder of `transfomer` folder. +Converts Diffusers models to FLUX.1 models. The script is experimental. See `--help` for options. schnell and dev models are supported. AE/CLIP/T5XXL are not supported. The diffusers folder is a parent folder of `rmer` folder. ``` python tools/convert_diffusers_to_flux.py --diffusers_path path/to/diffusers_folder_or_00001_safetensors --save_to path/to/flux1.safetensors --mem_eff_load_save --save_precision bf16 From 96c677b4594ed6f28f3ef896f6deca7c3aced25d Mon Sep 17 00:00:00 2001 From: Kohya S Date: Mon, 16 Sep 2024 10:42:09 +0900 Subject: [PATCH 226/748] fix to work lienar/cosine lr scheduler closes #1602 ref #1393 --- library/train_util.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index 742d057e0..60afd4219 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -4707,6 +4707,15 @@ def wrap_check_needless_num_warmup_steps(return_vals): **lr_scheduler_kwargs, ) + # these schedulers do not require `num_decay_steps` + if name == SchedulerType.LINEAR or name == SchedulerType.COSINE: + return schedule_func( + optimizer, + num_warmup_steps=num_warmup_steps, + num_training_steps=num_training_steps, + **lr_scheduler_kwargs, + ) + # All other schedulers require `num_decay_steps` if num_decay_steps is None: raise ValueError(f"{name} requires `num_decay_steps`, please provide that argument.") @@ -5837,14 +5846,9 @@ def sample_image_inference( wandb_tracker = accelerator.get_tracker("wandb") import wandb + # not to commit images to avoid inconsistency between training and logging steps - wandb_tracker.log( - {f"sample_{i}": wandb.Image( - image, - caption=prompt # positive prompt as a caption - )}, - commit=False - ) + wandb_tracker.log({f"sample_{i}": wandb.Image(image, caption=prompt)}, commit=False) # positive prompt as a caption # endregion From d8d15f1a7e09ca217930288b41bd239881126b93 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Mon, 16 Sep 2024 23:14:09 +0900 Subject: [PATCH 227/748] add support for specifying blocks in FLUX.1 LoRA training --- README.md | 24 ++++++++++++- networks/lora_flux.py | 82 +++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 103 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index f79fe21af..24217d8b7 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,10 @@ The command to install PyTorch is as follows: ### Recent Updates +Sep 16, 2024: + + Added `train_double_block_indices` and `train_double_block_indices` to the LoRA training script to specify the indices of the blocks to train. See [Specify blocks to train in FLUX.1 LoRA training](#specify-blocks-to-train-in-flux1-lora-training) for details. + Sep 15, 2024: Added a script `convert_diffusers_to_flux.py` to convert Diffusers format FLUX.1 models (checkpoints) to BFL format. See `--help` for usage. Only Flux models are supported. AE/CLIP/T5XXL are not supported. @@ -54,9 +58,12 @@ Please update `safetensors` to `0.4.4` to fix the error when using `--resume`. ` - [FLUX.1 LoRA training](#flux1-lora-training) - [Key Options for FLUX.1 LoRA training](#key-options-for-flux1-lora-training) - - [Inference for FLUX.1 LoRA model](#inference-for-flux1-lora-model) + - [Distribution of timesteps](#distribution-of-timesteps) - [Key Features for FLUX.1 LoRA training](#key-features-for-flux1-lora-training) + - [Specify rank for each layer in FLUX.1](#specify-rank-for-each-layer-in-flux1) + - [Specify blocks to train in FLUX.1 LoRA training](#specify-blocks-to-train-in-flux1-lora-training) - [FLUX.1 OFT training](#flux1-oft-training) +- [Inference for FLUX.1 with LoRA model](#inference-for-flux1-with-lora-model) - [FLUX.1 fine-tuning](#flux1-fine-tuning) - [Key Features for FLUX.1 fine-tuning](#key-features-for-flux1-fine-tuning) - [Extract LoRA from FLUX.1 Models](#extract-lora-from-flux1-models) @@ -239,6 +246,21 @@ Each number corresponds to `img_in`, `time_in`, `vector_in`, `guidance_in`, `txt If you specify `0`, LoRA will not be applied to that layer. For example, `[4,0,0,0,4]` applies LoRA only to `img_in` and `txt_in`. +#### Specify blocks to train in FLUX.1 LoRA training + +You can specify the blocks to train in FLUX.1 LoRA training by specifying `train_double_block_indices` and `train_single_block_indices` in network_args. The indices are 0-based. The default (when omitted) is to train all blocks. The indices are specified as a list of integers or a range of integers, like `0,1,5,8` or `0,1,4-5,7`. The number of double blocks is 19, and the number of single blocks is 38, so the valid range is 0-18 and 0-37, respectively. `all` is also available to train all blocks, `none` is also available to train no blocks. + +example: +``` +--network_args "train_double_block_indices=0,1,8-12,18" "train_single_block_indices=3,10,20-25,37" +``` + +``` +--network_args "train_double_block_indices=none" "train_single_block_indices=10-15" +``` + +If you specify one of `train_double_block_indices` or `train_single_block_indices`, the other will be trained as usual. + ### FLUX.1 OFT training You can train OFT with almost the same options as LoRA, such as `--timestamp_sampling`. The following points are different. diff --git a/networks/lora_flux.py b/networks/lora_flux.py index a34cde1a8..f549ac18f 100644 --- a/networks/lora_flux.py +++ b/networks/lora_flux.py @@ -24,6 +24,10 @@ logger = logging.getLogger(__name__) +NUM_DOUBLE_BLOCKS = 19 +NUM_SINGLE_BLOCKS = 38 + + class LoRAModule(torch.nn.Module): """ replaces forward method of the original Linear, instead of replacing the original Linear module. @@ -354,6 +358,50 @@ def create_network( in_dims = [int(d) for d in in_dims.split(",")] # is it better to use ast.literal_eval? assert len(in_dims) == 5, f"invalid in_dims: {in_dims}, must be 5 dimensions (img, time, vector, guidance, txt)" + # double/single train blocks + def parse_block_selection(selection: str, total_blocks: int) -> List[bool]: + """ + Parse a block selection string and return a list of booleans. + + Args: + selection (str): A string specifying which blocks to select. + total_blocks (int): The total number of blocks available. + + Returns: + List[bool]: A list of booleans indicating which blocks are selected. + """ + if selection == "all": + return [True] * total_blocks + if selection == "none" or selection == "": + return [False] * total_blocks + + selected = [False] * total_blocks + ranges = selection.split(",") + + for r in ranges: + if "-" in r: + start, end = map(str.strip, r.split("-")) + start = int(start) + end = int(end) + assert 0 <= start < total_blocks, f"invalid start index: {start}" + assert 0 <= end < total_blocks, f"invalid end index: {end}" + assert start <= end, f"invalid range: {start}-{end}" + for i in range(start, end + 1): + selected[i] = True + else: + index = int(r) + assert 0 <= index < total_blocks, f"invalid index: {index}" + selected[index] = True + + return selected + + train_double_block_indices = kwargs.get("train_double_block_indices", None) + train_single_block_indices = kwargs.get("train_single_block_indices", None) + if train_double_block_indices is not None: + train_double_block_indices = parse_block_selection(train_double_block_indices, NUM_DOUBLE_BLOCKS) + if train_single_block_indices is not None: + train_single_block_indices = parse_block_selection(train_single_block_indices, NUM_SINGLE_BLOCKS) + # rank/module dropout rank_dropout = kwargs.get("rank_dropout", None) if rank_dropout is not None: @@ -399,6 +447,8 @@ def create_network( train_t5xxl=train_t5xxl, type_dims=type_dims, in_dims=in_dims, + train_double_block_indices=train_double_block_indices, + train_single_block_indices=train_single_block_indices, verbose=verbose, ) @@ -509,6 +559,8 @@ def __init__( train_t5xxl: bool = False, type_dims: Optional[List[int]] = None, in_dims: Optional[List[int]] = None, + train_double_block_indices: Optional[List[bool]] = None, + train_single_block_indices: Optional[List[bool]] = None, verbose: Optional[bool] = False, ) -> None: super().__init__() @@ -527,6 +579,8 @@ def __init__( self.type_dims = type_dims self.in_dims = in_dims + self.train_double_block_indices = train_double_block_indices + self.train_single_block_indices = train_single_block_indices self.loraplus_lr_ratio = None self.loraplus_unet_lr_ratio = None @@ -600,7 +654,7 @@ def create_modules( dim = default_dim if default_dim is not None else self.lora_dim alpha = self.alpha - if type_dims is not None: + if is_flux and type_dims is not None: identifier = [ ("img_attn",), ("txt_attn",), @@ -613,9 +667,33 @@ def create_modules( ] for i, d in enumerate(type_dims): if d is not None and all([id in lora_name for id in identifier[i]]): - dim = d + dim = d # may be 0 for skip break + if ( + is_flux + and dim + and ( + self.train_double_block_indices is not None + or self.train_single_block_indices is not None + ) + and ("double" in lora_name or "single" in lora_name) + ): + # "lora_unet_double_blocks_0_..." or "lora_unet_single_blocks_0_..." + block_index = int(lora_name.split("_")[4]) # bit dirty + if ( + "double" in lora_name + and self.train_double_block_indices is not None + and not self.train_double_block_indices[block_index] + ): + dim = 0 + elif ( + "single" in lora_name + and self.train_single_block_indices is not None + and not self.train_single_block_indices[block_index] + ): + dim = 0 + elif self.conv_lora_dim is not None: dim = self.conv_lora_dim alpha = self.conv_alpha From 0cbe95bcc7e88f518802f29fe2b99da806963267 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Tue, 17 Sep 2024 21:21:28 +0900 Subject: [PATCH 228/748] fix text_encoder_lr to work with int closes #1608 --- networks/lora_flux.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/networks/lora_flux.py b/networks/lora_flux.py index f549ac18f..91e9cd77f 100644 --- a/networks/lora_flux.py +++ b/networks/lora_flux.py @@ -966,8 +966,8 @@ def prepare_optimizer_params_with_multiple_te_lrs(self, text_encoder_lr, unet_lr # if float, use the same value for both text encoders if text_encoder_lr is None or (isinstance(text_encoder_lr, list) and len(text_encoder_lr) == 0): text_encoder_lr = [default_lr, default_lr] - elif isinstance(text_encoder_lr, float): - text_encoder_lr = [text_encoder_lr, text_encoder_lr] + elif isinstance(text_encoder_lr, float) or isinstance(text_encoder_lr, int): + text_encoder_lr = [float(text_encoder_lr), float(text_encoder_lr)] elif len(text_encoder_lr) == 1: text_encoder_lr = [text_encoder_lr[0], text_encoder_lr[0]] From a2ad7e5644f08141fe053a2b63446d70d777bdcf Mon Sep 17 00:00:00 2001 From: Kohya S Date: Tue, 17 Sep 2024 21:42:14 +0900 Subject: [PATCH 229/748] blocks_to_swap=0 means no swap --- flux_train.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flux_train.py b/flux_train.py index 33481df8f..5d8326b1d 100644 --- a/flux_train.py +++ b/flux_train.py @@ -265,7 +265,7 @@ def train(args): flux.requires_grad_(True) - is_swapping_blocks = args.double_blocks_to_swap is not None or args.single_blocks_to_swap is not None + is_swapping_blocks = args.double_blocks_to_swap or args.single_blocks_to_swap if is_swapping_blocks: # Swap blocks between CPU and GPU to reduce memory usage, in forward and backward passes. # This idea is based on 2kpr's great work. Thank you! From bbd160b4ca9293881c222f9b9e1d832af69699db Mon Sep 17 00:00:00 2001 From: "Kohya S." <52813779+kohya-ss@users.noreply.github.com> Date: Wed, 18 Sep 2024 07:55:04 +0900 Subject: [PATCH 230/748] sd3 schedule free opt (#1605) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * New ScheduleFree support for Flux (#1600) * init * use no schedule * fix typo * update for eval() * fix typo * update * Update train_util.py * Update requirements.txt * update sfwrapper WIP * no need to check schedulefree optimizer * remove debug print * comment out schedulefree wrapper * update readme --------- Co-authored-by: 青龍聖者@bdsqlsz <865105819@qq.com> --- README.md | 8 +++ library/train_util.py | 152 ++++++++++++++++++++++++++++++++++++++++-- requirements.txt | 1 + 3 files changed, 154 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 24217d8b7..dc9862927 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,14 @@ The command to install PyTorch is as follows: ### Recent Updates +Sep 18, 2024: + +- Schedule-free optimizer is added. Thanks to sdbds! See PR [#1600](https://github.com/kohya-ss/sd-scripts/pull/1600) for details. + - `schedulefree` is added to the dependencies. Please update the library if necessary. + - AdamWScheduleFree or SGDScheduleFree can be used. Specify `adamwschedulefree` or `sgdschedulefree` in `--optimizer_type`. + - Wrapper classes are not available for now. + - These can be used not only for FLUX.1 training but also for other training scripts after merging to the dev/main branch. + Sep 16, 2024: Added `train_double_block_indices` and `train_double_block_indices` to the LoRA training script to specify the indices of the blocks to train. See [Specify blocks to train in FLUX.1 LoRA training](#specify-blocks-to-train-in-flux1-lora-training) for details. diff --git a/library/train_util.py b/library/train_util.py index 60afd4219..a54f23ff6 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -3303,6 +3303,20 @@ def int_or_float(value): help='additional arguments for optimizer (like "weight_decay=0.01 betas=0.9,0.999 ...") / オプティマイザの追加引数(例: "weight_decay=0.01 betas=0.9,0.999 ...")', ) + # parser.add_argument( + # "--optimizer_schedulefree_wrapper", + # action="store_true", + # help="use schedulefree_wrapper any optimizer / 任意のオプティマイザにschedulefree_wrapperを使用", + # ) + + # parser.add_argument( + # "--schedulefree_wrapper_args", + # type=str, + # default=None, + # nargs="*", + # help='additional arguments for schedulefree_wrapper (like "momentum=0.9 weight_decay_at_y=0.1 ...") / オプティマイザの追加引数(例: "momentum=0.9 weight_decay_at_y=0.1 ...")', + # ) + parser.add_argument("--lr_scheduler_type", type=str, default="", help="custom scheduler module / 使用するスケジューラ") parser.add_argument( "--lr_scheduler_args", @@ -4582,26 +4596,146 @@ def get_optimizer(args, trainable_params): optimizer_class = torch.optim.AdamW optimizer = optimizer_class(trainable_params, lr=lr, **optimizer_kwargs) + elif optimizer_type.endswith("schedulefree".lower()): + try: + import schedulefree as sf + except ImportError: + raise ImportError("No schedulefree / schedulefreeがインストールされていないようです") + if optimizer_type == "AdamWScheduleFree".lower(): + optimizer_class = sf.AdamWScheduleFree + logger.info(f"use AdamWScheduleFree optimizer | {optimizer_kwargs}") + elif optimizer_type == "SGDScheduleFree".lower(): + optimizer_class = sf.SGDScheduleFree + logger.info(f"use SGDScheduleFree optimizer | {optimizer_kwargs}") + else: + raise ValueError(f"Unknown optimizer type: {optimizer_type}") + optimizer = optimizer_class(trainable_params, lr=lr, **optimizer_kwargs) + # make optimizer as train mode: we don't need to call train again, because eval will not be called in training loop + optimizer.train() + if optimizer is None: # 任意のoptimizerを使う - optimizer_type = args.optimizer_type # lowerでないやつ(微妙) - logger.info(f"use {optimizer_type} | {optimizer_kwargs}") - if "." not in optimizer_type: + case_sensitive_optimizer_type = args.optimizer_type # not lower + logger.info(f"use {case_sensitive_optimizer_type} | {optimizer_kwargs}") + + if "." not in case_sensitive_optimizer_type: # from torch.optim optimizer_module = torch.optim - else: - values = optimizer_type.split(".") + else: # from other library + values = case_sensitive_optimizer_type.split(".") optimizer_module = importlib.import_module(".".join(values[:-1])) - optimizer_type = values[-1] + case_sensitive_optimizer_type = values[-1] - optimizer_class = getattr(optimizer_module, optimizer_type) + optimizer_class = getattr(optimizer_module, case_sensitive_optimizer_type) optimizer = optimizer_class(trainable_params, lr=lr, **optimizer_kwargs) + """ + # wrap any of above optimizer with schedulefree, if optimizer is not schedulefree + if args.optimizer_schedulefree_wrapper and not optimizer_type.endswith("schedulefree".lower()): + try: + import schedulefree as sf + except ImportError: + raise ImportError("No schedulefree / schedulefreeがインストールされていないようです") + + schedulefree_wrapper_kwargs = {} + if args.schedulefree_wrapper_args is not None and len(args.schedulefree_wrapper_args) > 0: + for arg in args.schedulefree_wrapper_args: + key, value = arg.split("=") + value = ast.literal_eval(value) + schedulefree_wrapper_kwargs[key] = value + + sf_wrapper = sf.ScheduleFreeWrapper(optimizer, **schedulefree_wrapper_kwargs) + sf_wrapper.train() # make optimizer as train mode + + # we need to make optimizer as a subclass of torch.optim.Optimizer, we make another Proxy class over SFWrapper + class OptimizerProxy(torch.optim.Optimizer): + def __init__(self, sf_wrapper): + self._sf_wrapper = sf_wrapper + + def __getattr__(self, name): + return getattr(self._sf_wrapper, name) + + # override properties + @property + def state(self): + return self._sf_wrapper.state + + @state.setter + def state(self, state): + self._sf_wrapper.state = state + + @property + def param_groups(self): + return self._sf_wrapper.param_groups + + @param_groups.setter + def param_groups(self, param_groups): + self._sf_wrapper.param_groups = param_groups + + @property + def defaults(self): + return self._sf_wrapper.defaults + + @defaults.setter + def defaults(self, defaults): + self._sf_wrapper.defaults = defaults + + def add_param_group(self, param_group): + self._sf_wrapper.add_param_group(param_group) + + def load_state_dict(self, state_dict): + self._sf_wrapper.load_state_dict(state_dict) + + def state_dict(self): + return self._sf_wrapper.state_dict() + + def zero_grad(self): + self._sf_wrapper.zero_grad() + + def step(self, closure=None): + self._sf_wrapper.step(closure) + + def train(self): + self._sf_wrapper.train() + + def eval(self): + self._sf_wrapper.eval() + + # isinstance チェックをパスするためのメソッド + def __instancecheck__(self, instance): + return isinstance(instance, (type(self), Optimizer)) + + optimizer = OptimizerProxy(sf_wrapper) + + logger.info(f"wrap optimizer with ScheduleFreeWrapper | {schedulefree_wrapper_kwargs}") + """ + optimizer_name = optimizer_class.__module__ + "." + optimizer_class.__name__ optimizer_args = ",".join([f"{k}={v}" for k, v in optimizer_kwargs.items()]) return optimizer_name, optimizer_args, optimizer +def is_schedulefree_optimizer(optimizer: Optimizer, args: argparse.Namespace) -> bool: + return args.optimizer_type.lower().endswith("schedulefree".lower()) # or args.optimizer_schedulefree_wrapper + + +def get_dummy_scheduler(optimizer: Optimizer) -> Any: + # dummy scheduler for schedulefree optimizer. supports only empty step(), get_last_lr() and optimizers. + # this scheduler is used for logging only. + # this isn't be wrapped by accelerator because of this class is not a subclass of torch.optim.lr_scheduler._LRScheduler + class DummyScheduler: + def __init__(self, optimizer: Optimizer): + self.optimizer = optimizer + + def step(self): + pass + + def get_last_lr(self): + return [group["lr"] for group in self.optimizer.param_groups] + + return DummyScheduler(optimizer) + + # Modified version of get_scheduler() function from diffusers.optimizer.get_scheduler # Add some checking and features to the original function. @@ -4610,6 +4744,10 @@ def get_scheduler_fix(args, optimizer: Optimizer, num_processes: int): """ Unified API to get any scheduler from its name. """ + # if schedulefree optimizer, return dummy scheduler + if is_schedulefree_optimizer(optimizer, args): + return get_dummy_scheduler(optimizer) + name = args.lr_scheduler num_training_steps = args.max_train_steps * num_processes # * args.gradient_accumulation_steps num_warmup_steps: Optional[int] = ( diff --git a/requirements.txt b/requirements.txt index 9a4fa0c15..bab53f20f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,6 +9,7 @@ pytorch-lightning==1.9.0 bitsandbytes==0.43.3 prodigyopt==1.0 lion-pytorch==0.0.6 +schedulefree==1.2.7 tensorboard safetensors==0.4.4 # gradio==3.16.2 From e74502117bcf161ef5698fb0adba4f9fa0171b8d Mon Sep 17 00:00:00 2001 From: Kohya S Date: Wed, 18 Sep 2024 08:04:32 +0900 Subject: [PATCH 231/748] update README --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dc9862927..034a260ff 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,7 @@ The command to install PyTorch is as follows: Sep 18, 2024: - Schedule-free optimizer is added. Thanks to sdbds! See PR [#1600](https://github.com/kohya-ss/sd-scripts/pull/1600) for details. + - Details of the schedule-free optimizer can be found in [facebookresearch/schedule_free](https://github.com/facebookresearch/schedule_free). - `schedulefree` is added to the dependencies. Please update the library if necessary. - AdamWScheduleFree or SGDScheduleFree can be used. Specify `adamwschedulefree` or `sgdschedulefree` in `--optimizer_type`. - Wrapper classes are not available for now. From 1286e00bb0fc34c296f24b7057777f1c37cf8e11 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Wed, 18 Sep 2024 21:31:54 +0900 Subject: [PATCH 232/748] fix to call train/eval in schedulefree #1605 --- README.md | 3 +++ flux_train.py | 10 ++++++++++ library/train_util.py | 15 ++++++++++++++- train_network.py | 6 ++++++ 4 files changed, 33 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 034a260ff..843ae181b 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,9 @@ The command to install PyTorch is as follows: ### Recent Updates +Sep 18, 2024 (update 1): +Fixed an issue where train()/eval() was not called properly with the schedule-free optimizer. The schedule-free optimizer can be used in FLUX.1 LoRA training and fine-tuning for now. + Sep 18, 2024: - Schedule-free optimizer is added. Thanks to sdbds! See PR [#1600](https://github.com/kohya-ss/sd-scripts/pull/1600) for details. diff --git a/flux_train.py b/flux_train.py index 5d8326b1d..bc4e62793 100644 --- a/flux_train.py +++ b/flux_train.py @@ -347,8 +347,13 @@ def train(args): logger.info(f"using {len(optimizers)} optimizers for blockwise fused optimizers") + if train_util.is_schedulefree_optimizer(optimizers[0], args): + raise ValueError("Schedule-free optimizer is not supported with blockwise fused optimizers") + optimizer_train_fn = lambda: None # dummy function + optimizer_eval_fn = lambda: None # dummy function else: _, _, optimizer = train_util.get_optimizer(args, trainable_params=params_to_optimize) + optimizer_train_fn, optimizer_eval_fn = train_util.get_optimizer_train_eval_fn(optimizer, args) # prepare dataloader # strategies are set here because they cannot be referenced in another process. Copy them with the dataset @@ -760,6 +765,7 @@ def optimizer_hook(parameter: torch.Tensor): progress_bar.update(1) global_step += 1 + optimizer_eval_fn() flux_train_utils.sample_images( accelerator, args, None, global_step, flux, ae, [clip_l, t5xxl], sample_prompts_te_outputs ) @@ -778,6 +784,7 @@ def optimizer_hook(parameter: torch.Tensor): global_step, accelerator.unwrap_model(flux), ) + optimizer_train_fn() current_loss = loss.detach().item() # 平均なのでbatch sizeは関係ないはず if len(accelerator.trackers) > 0: @@ -800,6 +807,7 @@ def optimizer_hook(parameter: torch.Tensor): accelerator.wait_for_everyone() + optimizer_eval_fn() if args.save_every_n_epochs is not None: if accelerator.is_main_process: flux_train_utils.save_flux_model_on_epoch_end_or_stepwise( @@ -816,12 +824,14 @@ def optimizer_hook(parameter: torch.Tensor): flux_train_utils.sample_images( accelerator, args, epoch + 1, global_step, flux, ae, [clip_l, t5xxl], sample_prompts_te_outputs ) + optimizer_train_fn() is_main_process = accelerator.is_main_process # if is_main_process: flux = accelerator.unwrap_model(flux) accelerator.end_training() + optimizer_eval_fn() if args.save_state or args.save_state_on_train_end: train_util.save_state_on_train_end(args, accelerator) diff --git a/library/train_util.py b/library/train_util.py index a54f23ff6..fe9deb940 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -13,6 +13,7 @@ import time from typing import ( Any, + Callable, Dict, List, NamedTuple, @@ -4715,8 +4716,20 @@ def __instancecheck__(self, instance): return optimizer_name, optimizer_args, optimizer +def get_optimizer_train_eval_fn(optimizer: Optimizer, args: argparse.Namespace) -> Tuple[Callable, Callable]: + if not is_schedulefree_optimizer(optimizer, args): + # return dummy func + return lambda: None, lambda: None + + # get train and eval functions from optimizer + train_fn = optimizer.train + eval_fn = optimizer.eval + + return train_fn, eval_fn + + def is_schedulefree_optimizer(optimizer: Optimizer, args: argparse.Namespace) -> bool: - return args.optimizer_type.lower().endswith("schedulefree".lower()) # or args.optimizer_schedulefree_wrapper + return args.optimizer_type.lower().endswith("schedulefree".lower()) # or args.optimizer_schedulefree_wrapper def get_dummy_scheduler(optimizer: Optimizer) -> Any: diff --git a/train_network.py b/train_network.py index 34385ae08..55faa143e 100644 --- a/train_network.py +++ b/train_network.py @@ -498,6 +498,7 @@ def train(self, args): # accelerator.print(f"trainable_params: {k} = {v}") optimizer_name, optimizer_args, optimizer = train_util.get_optimizer(args, trainable_params) + optimizer_train_fn, optimizer_eval_fn = train_util.get_optimizer_train_eval_fn(optimizer, args) # prepare dataloader # strategies are set here because they cannot be referenced in another process. Copy them with the dataset @@ -1199,6 +1200,7 @@ def remove_model(old_ckpt_name): progress_bar.update(1) global_step += 1 + optimizer_eval_fn() self.sample_images( accelerator, args, None, global_step, accelerator.device, vae, tokenizers, text_encoder, unet ) @@ -1217,6 +1219,7 @@ def remove_model(old_ckpt_name): if remove_step_no is not None: remove_ckpt_name = train_util.get_step_ckpt_name(args, "." + args.save_model_as, remove_step_no) remove_model(remove_ckpt_name) + optimizer_train_fn() current_loss = loss.detach().item() loss_recorder.add(epoch=epoch, step=step, loss=current_loss) @@ -1243,6 +1246,7 @@ def remove_model(old_ckpt_name): accelerator.wait_for_everyone() # 指定エポックごとにモデルを保存 + optimizer_eval_fn() if args.save_every_n_epochs is not None: saving = (epoch + 1) % args.save_every_n_epochs == 0 and (epoch + 1) < num_train_epochs if is_main_process and saving: @@ -1258,6 +1262,7 @@ def remove_model(old_ckpt_name): train_util.save_and_remove_state_on_epoch_end(args, accelerator, epoch + 1) self.sample_images(accelerator, args, epoch + 1, global_step, accelerator.device, vae, tokenizers, text_encoder, unet) + optimizer_train_fn() # end of epoch @@ -1268,6 +1273,7 @@ def remove_model(old_ckpt_name): network = accelerator.unwrap_model(network) accelerator.end_training() + optimizer_eval_fn() if is_main_process and (args.save_state or args.save_state_on_train_end): train_util.save_state_on_train_end(args, accelerator) From e7040669bc9a31706fe9fedec14978b05223f968 Mon Sep 17 00:00:00 2001 From: Maru-mee <151493593+Maru-mee@users.noreply.github.com> Date: Thu, 19 Sep 2024 15:47:06 +0900 Subject: [PATCH 233/748] Bug fix: alpha_mask load --- library/train_util.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/train_util.py b/library/train_util.py index a46d94877..5a8da90e1 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -2207,7 +2207,7 @@ def is_disk_cached_latents_is_expected(reso, npz_path: str, flip_aug: bool, alph if alpha_mask: if "alpha_mask" not in npz: return False - if npz["alpha_mask"].shape[0:2] != reso: # HxW + if (npz["alpha_mask"].shape[1], npz["alpha_mask"].shape[0]) != reso: # HxW => WxH != reso return False else: if "alpha_mask" in npz: From 9c757c2fba43d4e91d773cf6e9b7e2e8e3e8b376 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 19 Sep 2024 21:14:57 +0900 Subject: [PATCH 234/748] fix SDXL block index to match LBW --- networks/svd_merge_lora.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/networks/svd_merge_lora.py b/networks/svd_merge_lora.py index 0decd9048..b4b9e3bfd 100644 --- a/networks/svd_merge_lora.py +++ b/networks/svd_merge_lora.py @@ -184,18 +184,19 @@ def get_lbw_block_index(lora_name: str, is_sdxl: bool = False) -> int: elif "mid_block_" in lora_name: block_idx = 1 + NUM_OF_BLOCKS # 1-based index, num blocks, mid block else: + # SDXL: some numbers are skipped if lora_name.startswith("lora_unet_"): name = lora_name[len("lora_unet_") :] if name.startswith("time_embed_") or name.startswith("label_emb_"): # 1, No LoRA in sd-scripts block_idx = 1 elif name.startswith("input_blocks_"): # 1-8 to 2-9 block_idx = 1 + int(name.split("_")[2]) - elif name.startswith("middle_block_"): # 10 - block_idx = 10 - elif name.startswith("output_blocks_"): # 0-8 to 11-19 - block_idx = 11 + int(name.split("_")[2]) - elif name.startswith("out_"): # 20, No LoRA in sd-scripts - block_idx = 20 + elif name.startswith("middle_block_"): # 13 + block_idx = 13 + elif name.startswith("output_blocks_"): # 0-8 to 14-22 + block_idx = 14 + int(name.split("_")[2]) + elif name.startswith("out_"): # 23, No LoRA in sd-scripts + block_idx = 23 return block_idx From 3957372ded6fda20553acaf169993a422b829bdc Mon Sep 17 00:00:00 2001 From: Ed McManus Date: Thu, 19 Sep 2024 14:30:03 -0700 Subject: [PATCH 235/748] Retain alpha in `pil_resize` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently the alpha channel is dropped by `pil_resize()` when `--alpha_mask` is supplied and the image width does not exceed the bucket. This codepath is entered on the last line, here: ``` def trim_and_resize_if_required( random_crop: bool, image: np.ndarray, reso, resized_size: Tuple[int, int] ) -> Tuple[np.ndarray, Tuple[int, int], Tuple[int, int, int, int]]: image_height, image_width = image.shape[0:2] original_size = (image_width, image_height) # size before resize if image_width != resized_size[0] or image_height != resized_size[1]: # リサイズする if image_width > resized_size[0] and image_height > resized_size[1]: image = cv2.resize(image, resized_size, interpolation=cv2.INTER_AREA) # INTER_AREAでやりたいのでcv2でリサイズ else: image = pil_resize(image, resized_size) ``` --- library/utils.py | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/library/utils.py b/library/utils.py index a0bb19650..2171c7190 100644 --- a/library/utils.py +++ b/library/utils.py @@ -305,13 +305,26 @@ def _convert_float8(byte_tensor, dtype_str, shape): raise ValueError(f"Unsupported float8 type: {dtype_str} (upgrade PyTorch to support float8 types)") def pil_resize(image, size, interpolation=Image.LANCZOS): - pil_image = Image.fromarray(cv2.cvtColor(image, cv2.COLOR_BGR2RGB)) + # Check if the image has an alpha channel + has_alpha = image.shape[2] == 4 if len(image.shape) == 3 else False - # use Pillow resize + if has_alpha: + # Convert BGRA to RGBA + pil_image = Image.fromarray(cv2.cvtColor(image, cv2.COLOR_BGRA2RGBA)) + else: + # Convert BGR to RGB + pil_image = Image.fromarray(cv2.cvtColor(image, cv2.COLOR_BGR2RGB)) + + # Resize the image resized_pil = pil_image.resize(size, interpolation) - # return cv2 image - resized_cv2 = cv2.cvtColor(np.array(resized_pil), cv2.COLOR_RGB2BGR) + # Convert back to cv2 format + if has_alpha: + # Convert RGBA to BGRA + resized_cv2 = cv2.cvtColor(np.array(resized_pil), cv2.COLOR_RGBA2BGRA) + else: + # Convert RGB to BGR + resized_cv2 = cv2.cvtColor(np.array(resized_pil), cv2.COLOR_RGB2BGR) return resized_cv2 From de4bb657b089cc28f4127e891b927895892e20b5 Mon Sep 17 00:00:00 2001 From: Ed McManus Date: Thu, 19 Sep 2024 14:38:32 -0700 Subject: [PATCH 236/748] Update utils.py Cleanup --- library/utils.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/library/utils.py b/library/utils.py index 2171c7190..8a0c782c0 100644 --- a/library/utils.py +++ b/library/utils.py @@ -305,25 +305,19 @@ def _convert_float8(byte_tensor, dtype_str, shape): raise ValueError(f"Unsupported float8 type: {dtype_str} (upgrade PyTorch to support float8 types)") def pil_resize(image, size, interpolation=Image.LANCZOS): - # Check if the image has an alpha channel has_alpha = image.shape[2] == 4 if len(image.shape) == 3 else False if has_alpha: - # Convert BGRA to RGBA pil_image = Image.fromarray(cv2.cvtColor(image, cv2.COLOR_BGRA2RGBA)) else: - # Convert BGR to RGB pil_image = Image.fromarray(cv2.cvtColor(image, cv2.COLOR_BGR2RGB)) - # Resize the image resized_pil = pil_image.resize(size, interpolation) # Convert back to cv2 format if has_alpha: - # Convert RGBA to BGRA resized_cv2 = cv2.cvtColor(np.array(resized_pil), cv2.COLOR_RGBA2BGRA) else: - # Convert RGB to BGR resized_cv2 = cv2.cvtColor(np.array(resized_pil), cv2.COLOR_RGB2BGR) return resized_cv2 From 0535cd29b926530255d5400374813432ec52c3df Mon Sep 17 00:00:00 2001 From: Akegarasu Date: Fri, 20 Sep 2024 10:05:22 +0800 Subject: [PATCH 237/748] fix: backward compatibility for text_encoder_lr --- train_network.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/train_network.py b/train_network.py index 55faa143e..dfa51a9c8 100644 --- a/train_network.py +++ b/train_network.py @@ -471,7 +471,11 @@ def train(self, args): if support_multiple_lrs: text_encoder_lr = args.text_encoder_lr else: - text_encoder_lr = None if args.text_encoder_lr is None or len(args.text_encoder_lr) == 0 else args.text_encoder_lr[0] + # toml backward compatibility + if args.text_encoder_lr is None or isinstance(args.text_encoder_lr, float): + text_encoder_lr = args.text_encoder_lr + else: + text_encoder_lr = None if len(args.text_encoder_lr) == 0 else args.text_encoder_lr[0] try: if support_multiple_lrs: results = network.prepare_optimizer_params_with_multiple_te_lrs(text_encoder_lr, args.unet_lr, args.learning_rate) From 583d4a436c1cef57fce405d0167fb7ce575fc768 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Fri, 20 Sep 2024 22:22:24 +0900 Subject: [PATCH 238/748] add compatibility for int LR (D-Adaptation etc.) #1620 --- train_network.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/train_network.py b/train_network.py index dfa51a9c8..b24f89b1e 100644 --- a/train_network.py +++ b/train_network.py @@ -472,7 +472,7 @@ def train(self, args): text_encoder_lr = args.text_encoder_lr else: # toml backward compatibility - if args.text_encoder_lr is None or isinstance(args.text_encoder_lr, float): + if args.text_encoder_lr is None or isinstance(args.text_encoder_lr, float) or isinstance(args.text_encoder_lr, int): text_encoder_lr = args.text_encoder_lr else: text_encoder_lr = None if len(args.text_encoder_lr) == 0 else args.text_encoder_lr[0] From e1f23af1bc733a1a89c35cf1be1301006c744b4a Mon Sep 17 00:00:00 2001 From: recris Date: Sat, 21 Sep 2024 12:58:32 +0100 Subject: [PATCH 239/748] make timestep sampling behave in the standard way when huber loss is used --- library/train_util.py | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index 5a8da90e1..72d2d8112 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -5124,34 +5124,27 @@ def save_sd_model_on_train_end_common( def get_timesteps_and_huber_c(args, min_timestep, max_timestep, noise_scheduler, b_size, device): - - # TODO: if a huber loss is selected, it will use constant timesteps for each batch - # as. In the future there may be a smarter way + timesteps = torch.randint(min_timestep, max_timestep, (b_size,), device='cpu') if args.loss_type == "huber" or args.loss_type == "smooth_l1": - timesteps = torch.randint(min_timestep, max_timestep, (1,), device="cpu") - timestep = timesteps.item() - if args.huber_schedule == "exponential": alpha = -math.log(args.huber_c) / noise_scheduler.config.num_train_timesteps - huber_c = math.exp(-alpha * timestep) + huber_c = torch.exp(-alpha * timesteps) elif args.huber_schedule == "snr": - alphas_cumprod = noise_scheduler.alphas_cumprod[timestep] + alphas_cumprod = torch.index_select(noise_scheduler.alphas_cumprod, 0, timesteps) sigmas = ((1.0 - alphas_cumprod) / alphas_cumprod) ** 0.5 huber_c = (1 - args.huber_c) / (1 + sigmas) ** 2 + args.huber_c elif args.huber_schedule == "constant": - huber_c = args.huber_c + huber_c = torch.full((b_size,), args.huber_c) else: raise NotImplementedError(f"Unknown Huber loss schedule {args.huber_schedule}!") - - timesteps = timesteps.repeat(b_size).to(device) + huber_c = huber_c.to(device) elif args.loss_type == "l2": - timesteps = torch.randint(min_timestep, max_timestep, (b_size,), device=device) - huber_c = 1 # may be anything, as it's not used + huber_c = None # may be anything, as it's not used else: raise NotImplementedError(f"Unknown loss type {args.loss_type}") - timesteps = timesteps.long() + timesteps = timesteps.long().to(device) return timesteps, huber_c @@ -5190,20 +5183,21 @@ def get_noise_noisy_latents_and_timesteps(args, noise_scheduler, latents): return noise, noisy_latents, timesteps, huber_c -# NOTE: if you're using the scheduled version, huber_c has to depend on the timesteps already def conditional_loss( - model_pred: torch.Tensor, target: torch.Tensor, reduction: str = "mean", loss_type: str = "l2", huber_c: float = 0.1 + model_pred: torch.Tensor, target: torch.Tensor, reduction: str, loss_type: str, huber_c: Optional[torch.Tensor] ): if loss_type == "l2": loss = torch.nn.functional.mse_loss(model_pred, target, reduction=reduction) elif loss_type == "huber": + huber_c = huber_c.view(-1, 1, 1, 1) loss = 2 * huber_c * (torch.sqrt((model_pred - target) ** 2 + huber_c**2) - huber_c) if reduction == "mean": loss = torch.mean(loss) elif reduction == "sum": loss = torch.sum(loss) elif loss_type == "smooth_l1": + huber_c = huber_c.view(-1, 1, 1, 1) loss = 2 * (torch.sqrt((model_pred - target) ** 2 + huber_c**2) - huber_c) if reduction == "mean": loss = torch.mean(loss) From 29177d2f0389bd13e3f12c95d463fb0e1c58f9a1 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Mon, 23 Sep 2024 21:14:03 +0900 Subject: [PATCH 240/748] retain alpha in pil_resize backport #1619 --- library/utils.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/library/utils.py b/library/utils.py index 5b7e657b2..49d46a546 100644 --- a/library/utils.py +++ b/library/utils.py @@ -83,13 +83,20 @@ def setup_logging(args=None, log_level=None, reset=False): def pil_resize(image, size, interpolation=Image.LANCZOS): - pil_image = Image.fromarray(cv2.cvtColor(image, cv2.COLOR_BGR2RGB)) + has_alpha = image.shape[2] == 4 if len(image.shape) == 3 else False + + if has_alpha: + pil_image = Image.fromarray(cv2.cvtColor(image, cv2.COLOR_BGRA2RGBA)) + else: + pil_image = Image.fromarray(cv2.cvtColor(image, cv2.COLOR_BGR2RGB)) - # use Pillow resize resized_pil = pil_image.resize(size, interpolation) - # return cv2 image - resized_cv2 = cv2.cvtColor(np.array(resized_pil), cv2.COLOR_RGB2BGR) + # Convert back to cv2 format + if has_alpha: + resized_cv2 = cv2.cvtColor(np.array(resized_pil), cv2.COLOR_RGBA2BGRA) + else: + resized_cv2 = cv2.cvtColor(np.array(resized_pil), cv2.COLOR_RGB2BGR) return resized_cv2 From ab7b23187062db86d34fc82db95f7266a68ab5c4 Mon Sep 17 00:00:00 2001 From: sdbds <865105819@qq.com> Date: Wed, 25 Sep 2024 19:38:52 +0800 Subject: [PATCH 241/748] init --- library/train_util.py | 21 ++++++++++++++++++--- requirements.txt | 2 +- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index 5a8da90e1..bdf7774e4 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -2994,7 +2994,7 @@ def int_or_float(value): "--optimizer_type", type=str, default="", - help="Optimizer to use / オプティマイザの種類: AdamW (default), AdamW8bit, PagedAdamW, PagedAdamW8bit, PagedAdamW32bit, Lion8bit, PagedLion8bit, Lion, SGDNesterov, SGDNesterov8bit, DAdaptation(DAdaptAdamPreprint), DAdaptAdaGrad, DAdaptAdam, DAdaptAdan, DAdaptAdanIP, DAdaptLion, DAdaptSGD, AdaFactor", + help="Optimizer to use / オプティマイザの種類: AdamW (default), AdamW8bit, PagedAdamW, PagedAdamW8bit, PagedAdamW32bit, Lion8bit, PagedLion8bit, Lion, AdEMAMix8bit, PagedAdEMAMix8bit, SGDNesterov, SGDNesterov8bit, DAdaptation(DAdaptAdamPreprint), DAdaptAdaGrad, DAdaptAdam, DAdaptAdan, DAdaptAdanIP, DAdaptLion, DAdaptSGD, AdaFactor", ) # backward compatibility @@ -4032,7 +4032,7 @@ def task(): def get_optimizer(args, trainable_params): - # "Optimizer to use: AdamW, AdamW8bit, Lion, SGDNesterov, SGDNesterov8bit, PagedAdamW, PagedAdamW8bit, PagedAdamW32bit, Lion8bit, PagedLion8bit, DAdaptation(DAdaptAdamPreprint), DAdaptAdaGrad, DAdaptAdam, DAdaptAdan, DAdaptAdanIP, DAdaptLion, DAdaptSGD, Adafactor" + # "Optimizer to use: AdamW, AdamW8bit, Lion, SGDNesterov, SGDNesterov8bit, PagedAdamW, PagedAdamW8bit, PagedAdamW32bit, Lion8bit, PagedLion8bit, AdEMAMix8bit, PagedAdEMAMix8bit, DAdaptation(DAdaptAdamPreprint), DAdaptAdaGrad, DAdaptAdam, DAdaptAdan, DAdaptAdanIP, DAdaptLion, DAdaptSGD, Adafactor" optimizer_type = args.optimizer_type if args.use_8bit_adam: @@ -4141,7 +4141,22 @@ def get_optimizer(args, trainable_params): raise AttributeError( "No PagedLion8bit. The version of bitsandbytes installed seems to be old. Please install 0.39.0 or later. / PagedLion8bitが定義されていません。インストールされているbitsandbytesのバージョンが古いようです。0.39.0以上をインストールしてください" ) - + elif optimizer_type == "Ademamix8bit".lower(): + logger.info(f"use 8-bit Ademamix optimizer | {optimizer_kwargs}") + try: + optimizer_class = bnb.optim.AdEMAMix8bit + except AttributeError: + raise AttributeError( + "No Ademamix8bit. The version of bitsandbytes installed seems to be old. Please install 0.44.0 or later. / Ademamix8bitが定義されていません。インストールされているbitsandbytesのバージョンが古いようです。0.39.0以上をインストールしてください" + ) + elif optimizer_type == "PagedAdemamix8bit".lower(): + logger.info(f"use 8-bit PagedAdemamix optimizer | {optimizer_kwargs}") + try: + optimizer_class = bnb.optim.PagedAdEMAMix8bit + except AttributeError: + raise AttributeError( + "No PagedAdemamix8bit. The version of bitsandbytes installed seems to be old. Please install 0.44.0 or later. / PagedAdemamix8bitが定義されていません。インストールされているbitsandbytesのバージョンが古いようです。0.39.0以上をインストールしてください" + ) optimizer = optimizer_class(trainable_params, lr=lr, **optimizer_kwargs) elif optimizer_type == "PagedAdamW".lower(): diff --git a/requirements.txt b/requirements.txt index 15e6e58f1..e6e1bf6fc 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,7 +6,7 @@ ftfy==6.1.1 opencv-python==4.8.1.78 einops==0.7.0 pytorch-lightning==1.9.0 -bitsandbytes==0.43.0 +bitsandbytes==0.44.0 prodigyopt==1.0 lion-pytorch==0.0.6 tensorboard From e74f58148c5994889463afa42bb6fc5d6447a75e Mon Sep 17 00:00:00 2001 From: Kohya S Date: Wed, 25 Sep 2024 20:55:50 +0900 Subject: [PATCH 242/748] update README --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index def528a22..9eabdaeef 100644 --- a/README.md +++ b/README.md @@ -143,6 +143,8 @@ The majority of scripts is licensed under ASL 2.0 (including codes from Diffuser - transformers, accelerate and huggingface_hub are updated. - If you encounter any issues, please report them. +- Fixed an issue where the timesteps in the batch were the same when using Huber loss. PR [#1628](https://github.com/kohya-ss/sd-scripts/pull/1628) Thanks to recris! + - Improvements in OFT (Orthogonal Finetuning) Implementation 1. Optimization of Calculation Order: - Changed the calculation order in the forward method from (Wx)R to W(xR). From 1beddd84e5c4db729a84356db227d981dc18cf8d Mon Sep 17 00:00:00 2001 From: sdbds <865105819@qq.com> Date: Wed, 25 Sep 2024 22:58:26 +0800 Subject: [PATCH 243/748] delete code for cleaning --- library/train_util.py | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index bdf7774e4..c4845c54b 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -4141,22 +4141,7 @@ def get_optimizer(args, trainable_params): raise AttributeError( "No PagedLion8bit. The version of bitsandbytes installed seems to be old. Please install 0.39.0 or later. / PagedLion8bitが定義されていません。インストールされているbitsandbytesのバージョンが古いようです。0.39.0以上をインストールしてください" ) - elif optimizer_type == "Ademamix8bit".lower(): - logger.info(f"use 8-bit Ademamix optimizer | {optimizer_kwargs}") - try: - optimizer_class = bnb.optim.AdEMAMix8bit - except AttributeError: - raise AttributeError( - "No Ademamix8bit. The version of bitsandbytes installed seems to be old. Please install 0.44.0 or later. / Ademamix8bitが定義されていません。インストールされているbitsandbytesのバージョンが古いようです。0.39.0以上をインストールしてください" - ) - elif optimizer_type == "PagedAdemamix8bit".lower(): - logger.info(f"use 8-bit PagedAdemamix optimizer | {optimizer_kwargs}") - try: - optimizer_class = bnb.optim.PagedAdEMAMix8bit - except AttributeError: - raise AttributeError( - "No PagedAdemamix8bit. The version of bitsandbytes installed seems to be old. Please install 0.44.0 or later. / PagedAdemamix8bitが定義されていません。インストールされているbitsandbytesのバージョンが古いようです。0.39.0以上をインストールしてください" - ) + optimizer = optimizer_class(trainable_params, lr=lr, **optimizer_kwargs) elif optimizer_type == "PagedAdamW".lower(): From 56a7bc171d48089fb50f8638537e42d07c579db3 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 26 Sep 2024 08:26:31 +0900 Subject: [PATCH 244/748] new block swap for FLUX.1 fine tuning --- README.md | 47 ++++++-- flux_train.py | 251 ++++++++++++++++++++++++++--------------- library/flux_models.py | 168 +++++++++++++++------------ 3 files changed, 297 insertions(+), 169 deletions(-) diff --git a/README.md b/README.md index ef691e918..7d623f900 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,10 @@ The command to install PyTorch is as follows: ### Recent Updates +Sep 26, 2024: +The implementation of block swap during FLUX.1 fine-tuning has been changed to improve speed about 10% (depends on the environment). A new `--blocks_to_swap` option has been added, and `--double_blocks_to_swap` and `--single_blocks_to_swap` are deprecated. `--double_blocks_to_swap` and `--single_blocks_to_swap` are working as before, but they will be removed in the future. See [FLUX.1 fine-tuning](#flux1-fine-tuning) for details. + + Sep 18, 2024 (update 1): Fixed an issue where train()/eval() was not called properly with the schedule-free optimizer. The schedule-free optimizer can be used in FLUX.1 LoRA training and fine-tuning for now. @@ -307,6 +311,8 @@ python flux_minimal_inference.py --ckpt flux1-dev.safetensors --clip_l sd3/clip_ The memory-efficient training with block swap is based on 2kpr's implementation. Thanks to 2kpr! +__`--double_blocks_to_swap` and `--single_blocks_to_swap` are deprecated. These options is still available, but they will be removed in the future. Please use `--blocks_to_swap` instead. These options are equivalent to specifying `double_blocks_to_swap + single_blocks_to_swap // 2` in `--blocks_to_swap`.__ + Sample command for FLUX.1 fine-tuning is below. This will work with 24GB VRAM GPUs, and 64GB main memory is recommended. ``` @@ -319,39 +325,62 @@ accelerate launch --mixed_precision bf16 --num_cpu_threads_per_process 1 flux_t --optimizer_type adafactor --optimizer_args "relative_step=False" "scale_parameter=False" "warmup_init=False" --lr_scheduler constant_with_warmup --max_grad_norm 0.0 --timestep_sampling shift --discrete_flow_shift 3.1582 --model_prediction_type raw --guidance_scale 1.0 ---fused_backward_pass --double_blocks_to_swap 6 --cpu_offload_checkpointing --full_bf16 +--fused_backward_pass --blocks_to_swap 8 --full_bf16 ``` (The command is multi-line for readability. Please combine it into one line.) -Options are almost the same as LoRA training. The difference is `--full_bf16`, `--blockwise_fused_optimizers`, `--double_blocks_to_swap` and `--cpu_offload_checkpointing`. `--single_blocks_to_swap` is also available. +Options are almost the same as LoRA training. The difference is `--full_bf16`, `--fused_backward_pass` and `--blocks_to_swap`. `--cpu_offload_checkpointing` is also available. `--full_bf16` enables the training with bf16 (weights and gradients). `--fused_backward_pass` enables the fusing of the optimizer step into the backward pass for each parameter. This reduces the memory usage during training. Only Adafactor optimizer is supported for now. Stochastic rounding is also enabled when `--fused_backward_pass` and `--full_bf16` are specified. -`--blockwise_fused_optimizers` enables the fusing of the optimizer step into the backward pass for each block. This is similar to `--fused_backward_pass`. Any optimizer can be used, but Adafactor is recommended for memory efficiency. `--blockwise_fused_optimizers` cannot be used with `--fused_backward_pass`. Stochastic rounding is not supported for now. +`--blockwise_fused_optimizers` enables the fusing of the optimizer step into the backward pass for each block. This is similar to `--fused_backward_pass`. Any optimizer can be used, but Adafactor is recommended for memory efficiency and stochastic rounding. `--blockwise_fused_optimizers` cannot be used with `--fused_backward_pass`. Stochastic rounding is not supported for now. -`--double_blocks_to_swap` and `--single_blocks_to_swap` are the number of double blocks and single blocks to swap. The default is None (no swap). These options must be combined with `--fused_backward_pass` or `--blockwise_fused_optimizers`. `--double_blocks_to_swap` can be specified with `--single_blocks_to_swap`. The recommended maximum number of blocks to swap is 9 for double blocks and 18 for single blocks. Please see the next chapter for details. +`--blocks_to_swap` is the number of blocks to swap. The default is None (no swap). These options must be combined with `--fused_backward_pass` or `--blockwise_fused_optimizers`. The recommended maximum value is 36. -`--cpu_offload_checkpointing` is to offload the gradient checkpointing to CPU. This reduces about 2GB of VRAM usage. +`--cpu_offload_checkpointing` is to offload the gradient checkpointing to CPU. This reduces about 2GB of VRAM usage. All these options are experimental and may change in the future. The increasing the number of blocks to swap may reduce the memory usage, but the training speed will be slower. `--cpu_offload_checkpointing` also slows down the training. -Swap 6 double blocks and use cpu offload checkpointing may be a good starting point. Please try different settings according to VRAM usage and training speed. +Swap 8 blocks without cpu offload checkpointing may be a good starting point for 24GB VRAM GPUs. Please try different settings according to VRAM usage and training speed. The learning rate and the number of epochs are not optimized yet. Please adjust them according to the training results. +#### How to use block swap + +There are two possible ways to use block swap. It is unknown which is better. + +1. Swap the minimum number of blocks that fit in VRAM with batch size 1 and shorten the training speed of one step. + + The above command example is for this usage. + +2. Swap many blocks to increase the batch size and shorten the training speed per data. + + For example, swapping 20 blocks seems to increase the batch size to about 6. In this case, the training speed per data will be relatively faster than 1. + +#### Training with <24GB VRAM GPUs + +Swap 28 blocks without cpu offload checkpointing may be working with 12GB VRAM GPUs. Please try different settings according to VRAM size of your GPU. + +T5XXL requires about 10GB of VRAM, so 10GB of VRAM will be minimum requirement for FLUX.1 fine-tuning. + #### Key Features for FLUX.1 fine-tuning -1. Technical details of double/single block swap: +1. Technical details of block swap: - Reduce memory usage by transferring double and single blocks of FLUX.1 from GPU to CPU when they are not needed. - During forward pass, the weights of the blocks that have finished calculation are transferred to CPU, and the weights of the blocks to be calculated are transferred to GPU. - The same is true for the backward pass, but the order is reversed. The gradients remain on the GPU. - Since the transfer between CPU and GPU takes time, the training will be slower. - - `--double_blocks_to_swap` and `--single_blocks_to_swap` specify the number of blocks to swap. For example, `--double_blocks_to_swap 6` swaps 6 blocks at each step of training, but the remaining 13 blocks are always on the GPU. - - About 640MB of memory can be saved per double block, and about 320MB of memory can be saved per single block. + - `--blocks_to_swap` specify the number of blocks to swap. + - About 640MB of memory can be saved per block. + - Since the memory usage of one double block and two single blocks is almost the same, the transfer of single blocks is done in units of two. For example, consider the case of `--blocks_to_swap 6`. + - Before the forward pass, all double blocks and 26 (=38-12) single blocks are on the GPU. The last 12 single blocks are on the CPU. + - In the forward pass, the 6 double blocks that have finished calculation (the first 6 blocks) are transferred to the CPU, and the 12 single blocks to be calculated (the last 12 blocks) are transferred to the GPU. + - The same is true for the backward pass, but in reverse order. The 12 single blocks that have finished calculation are transferred to the CPU, and the 6 double blocks to be calculated are transferred to the GPU. + - After the backward pass, the blocks are back to their original locations. 2. Sample Image Generation: - Sample image generation during training is now supported. diff --git a/flux_train.py b/flux_train.py index bc4e62793..bf34208f1 100644 --- a/flux_train.py +++ b/flux_train.py @@ -11,10 +11,12 @@ # - Per-block fused optimizer instances import argparse +from concurrent.futures import ThreadPoolExecutor import copy import math import os from multiprocessing import Value +import time from typing import List import toml @@ -265,14 +267,30 @@ def train(args): flux.requires_grad_(True) - is_swapping_blocks = args.double_blocks_to_swap or args.single_blocks_to_swap + # block swap + + # backward compatibility + if args.blocks_to_swap is None: + blocks_to_swap = args.double_blocks_to_swap or 0 + if args.single_blocks_to_swap is not None: + blocks_to_swap += args.single_blocks_to_swap // 2 + if blocks_to_swap > 0: + logger.warning( + "double_blocks_to_swap and single_blocks_to_swap are deprecated. Use blocks_to_swap instead." + " / double_blocks_to_swapとsingle_blocks_to_swapは非推奨です。blocks_to_swapを使ってください。" + ) + logger.info( + f"double_blocks_to_swap={args.double_blocks_to_swap} and single_blocks_to_swap={args.single_blocks_to_swap} are converted to blocks_to_swap={blocks_to_swap}." + ) + args.blocks_to_swap = blocks_to_swap + del blocks_to_swap + + is_swapping_blocks = args.blocks_to_swap is not None and args.blocks_to_swap > 0 if is_swapping_blocks: # Swap blocks between CPU and GPU to reduce memory usage, in forward and backward passes. # This idea is based on 2kpr's great work. Thank you! - logger.info( - f"enable block swap: double_blocks_to_swap={args.double_blocks_to_swap}, single_blocks_to_swap={args.single_blocks_to_swap}" - ) - flux.enable_block_swap(args.double_blocks_to_swap, args.single_blocks_to_swap) + logger.info(f"enable block swap: blocks_to_swap={args.blocks_to_swap}") + flux.enable_block_swap(args.blocks_to_swap) if not cache_latents: # load VAE here if not cached @@ -443,82 +461,120 @@ def train(args): # resumeする train_util.resume_from_local_or_hf_if_specified(accelerator, args) + # memory efficient block swapping + + def get_block_unit(dbl_blocks, sgl_blocks, index: int): + if index < len(dbl_blocks): + return (dbl_blocks[index],) + else: + index -= len(dbl_blocks) + index *= 2 + return (sgl_blocks[index], sgl_blocks[index + 1]) + + def submit_move_blocks(futures, thread_pool, block_idx_to_cpu, block_idx_to_cuda, dbl_blocks, sgl_blocks, device): + def move_blocks(bidx_to_cpu, blocks_to_cpu, bidx_to_cuda, blocks_to_cuda, dvc): + # print(f"Backward: Move block {bidx_to_cpu} to CPU") + for block in blocks_to_cpu: + block = block.to("cpu", non_blocking=True) + torch.cuda.empty_cache() + + # print(f"Backward: Move block {bidx_to_cuda} to CUDA") + for block in blocks_to_cuda: + block = block.to(dvc, non_blocking=True) + + torch.cuda.synchronize() + # print(f"Backward: Moved blocks {bidx_to_cpu} and {bidx_to_cuda}") + return bidx_to_cpu, bidx_to_cuda + + blocks_to_cpu = get_block_unit(dbl_blocks, sgl_blocks, block_idx_to_cpu) + blocks_to_cuda = get_block_unit(dbl_blocks, sgl_blocks, block_idx_to_cuda) + + futures[block_idx_to_cuda] = thread_pool.submit( + move_blocks, block_idx_to_cpu, blocks_to_cpu, block_idx_to_cuda, blocks_to_cuda, device + ) + + def wait_blocks_move(block_idx, futures): + if block_idx not in futures: + return + # print(f"Backward: Wait for block {block_idx}") + # start_time = time.perf_counter() + future = futures.pop(block_idx) + future.result() + # print(f"Backward: Waited for block {block_idx}: {time.perf_counter()-start_time:.2f}s") + # torch.cuda.synchronize() + # print(f"Backward: Synchronized: {time.perf_counter()-start_time:.2f}s") + if args.fused_backward_pass: # use fused optimizer for backward pass: other optimizers will be supported in the future import library.adafactor_fused library.adafactor_fused.patch_adafactor_fused(optimizer) - double_blocks_to_swap = args.double_blocks_to_swap - single_blocks_to_swap = args.single_blocks_to_swap + blocks_to_swap = args.blocks_to_swap num_double_blocks = 19 # len(flux.double_blocks) num_single_blocks = 38 # len(flux.single_blocks) - handled_double_block_indices = set() - handled_single_block_indices = set() + num_block_units = num_double_blocks + num_single_blocks // 2 + handled_unit_indices = set() + + n = 1 # only asyncronous purpose, no need to increase this number + # n = 2 + # n = max(1, os.cpu_count() // 2) + thread_pool = ThreadPoolExecutor(max_workers=n) + futures = {} for param_group, param_name_group in zip(optimizer.param_groups, param_names): for parameter, param_name in zip(param_group["params"], param_name_group): if parameter.requires_grad: grad_hook = None - if double_blocks_to_swap: - if param_name.startswith("double_blocks"): - block_idx = int(param_name.split(".")[1]) - if ( - block_idx not in handled_double_block_indices - and block_idx >= (num_double_blocks - double_blocks_to_swap) - 1 - and block_idx < num_double_blocks - 1 - ): - # swap next (already backpropagated) block - handled_double_block_indices.add(block_idx) - block_idx_cpu = block_idx + 1 - block_idx_cuda = double_blocks_to_swap - (num_double_blocks - block_idx_cpu) - - # create swap hook - def create_double_swap_grad_hook(bidx, bidx_cuda): - def __grad_hook(tensor: torch.Tensor): - if accelerator.sync_gradients and args.max_grad_norm != 0.0: - accelerator.clip_grad_norm_(tensor, args.max_grad_norm) - optimizer.step_param(tensor, param_group) - tensor.grad = None - - # swap blocks if necessary - flux.double_blocks[bidx].to("cpu") - flux.double_blocks[bidx_cuda].to(accelerator.device) - # print(f"Move double block {bidx} to cpu and {bidx_cuda} to device") - - return __grad_hook - - grad_hook = create_double_swap_grad_hook(block_idx_cpu, block_idx_cuda) - if single_blocks_to_swap: - if param_name.startswith("single_blocks"): + if blocks_to_swap: + is_double = param_name.startswith("double_blocks") + is_single = param_name.startswith("single_blocks") + if is_double or is_single: block_idx = int(param_name.split(".")[1]) - if ( - block_idx not in handled_single_block_indices - and block_idx >= (num_single_blocks - single_blocks_to_swap) - 1 - and block_idx < num_single_blocks - 1 - ): - handled_single_block_indices.add(block_idx) - block_idx_cpu = block_idx + 1 - block_idx_cuda = single_blocks_to_swap - (num_single_blocks - block_idx_cpu) - # print(param_name, block_idx_cpu, block_idx_cuda) - - # create swap hook - def create_single_swap_grad_hook(bidx, bidx_cuda): - def __grad_hook(tensor: torch.Tensor): - if accelerator.sync_gradients and args.max_grad_norm != 0.0: - accelerator.clip_grad_norm_(tensor, args.max_grad_norm) - optimizer.step_param(tensor, param_group) - tensor.grad = None - - # swap blocks if necessary - flux.single_blocks[bidx].to("cpu") - flux.single_blocks[bidx_cuda].to(accelerator.device) - # print(f"Move single block {bidx} to cpu and {bidx_cuda} to device") - - return __grad_hook - - grad_hook = create_single_swap_grad_hook(block_idx_cpu, block_idx_cuda) + unit_idx = block_idx if is_double else num_double_blocks + block_idx // 2 + if unit_idx not in handled_unit_indices: + # swap following (already backpropagated) block + handled_unit_indices.add(unit_idx) + + # if n blocks were already backpropagated + num_blocks_propagated = num_block_units - unit_idx - 1 + swapping = num_blocks_propagated > 0 and num_blocks_propagated <= blocks_to_swap + waiting = unit_idx > 0 and unit_idx <= blocks_to_swap + if swapping or waiting: + block_idx_to_cpu = num_block_units - num_blocks_propagated + block_idx_to_cuda = blocks_to_swap - num_blocks_propagated + block_idx_to_wait = unit_idx - 1 + + # create swap hook + def create_swap_grad_hook( + bidx_to_cpu, bidx_to_cuda, bidx_to_wait, uidx: int, swpng: bool, wtng: bool + ): + def __grad_hook(tensor: torch.Tensor): + if accelerator.sync_gradients and args.max_grad_norm != 0.0: + accelerator.clip_grad_norm_(tensor, args.max_grad_norm) + optimizer.step_param(tensor, param_group) + tensor.grad = None + + # print(f"Backward: {uidx}, {swpng}, {wtng}") + if swpng: + submit_move_blocks( + futures, + thread_pool, + bidx_to_cpu, + bidx_to_cuda, + flux.double_blocks, + flux.single_blocks, + accelerator.device, + ) + if wtng: + wait_blocks_move(bidx_to_wait, futures) + + return __grad_hook + + grad_hook = create_swap_grad_hook( + block_idx_to_cpu, block_idx_to_cuda, block_idx_to_wait, unit_idx, swapping, waiting + ) if grad_hook is None: @@ -547,10 +603,15 @@ def __grad_hook(tensor: torch.Tensor, param_group=param_group): num_parameters_per_group = [0] * len(optimizers) parameter_optimizer_map = {} - double_blocks_to_swap = args.double_blocks_to_swap - single_blocks_to_swap = args.single_blocks_to_swap + blocks_to_swap = args.blocks_to_swap num_double_blocks = 19 # len(flux.double_blocks) num_single_blocks = 38 # len(flux.single_blocks) + num_block_units = num_double_blocks + num_single_blocks // 2 + + n = 1 # only asyncronous purpose, no need to increase this number + # n = max(1, os.cpu_count() // 2) + thread_pool = ThreadPoolExecutor(max_workers=n) + futures = {} for opt_idx, optimizer in enumerate(optimizers): for param_group in optimizer.param_groups: @@ -571,18 +632,30 @@ def optimizer_hook(parameter: torch.Tensor): optimizers[i].zero_grad(set_to_none=True) # swap blocks if necessary - if btype == "double" and double_blocks_to_swap: - if bidx >= num_double_blocks - double_blocks_to_swap: - bidx_cuda = double_blocks_to_swap - (num_double_blocks - bidx) - flux.double_blocks[bidx].to("cpu") - flux.double_blocks[bidx_cuda].to(accelerator.device) - # print(f"Move double block {bidx} to cpu and {bidx_cuda} to device") - elif btype == "single" and single_blocks_to_swap: - if bidx >= num_single_blocks - single_blocks_to_swap: - bidx_cuda = single_blocks_to_swap - (num_single_blocks - bidx) - flux.single_blocks[bidx].to("cpu") - flux.single_blocks[bidx_cuda].to(accelerator.device) - # print(f"Move single block {bidx} to cpu and {bidx_cuda} to device") + if blocks_to_swap and (btype == "double" or (btype == "single" and bidx % 2 == 0)): + unit_idx = bidx if btype == "double" else num_double_blocks + bidx // 2 + num_blocks_propagated = num_block_units - unit_idx + + swapping = num_blocks_propagated > 0 and num_blocks_propagated <= blocks_to_swap + waiting = unit_idx > 0 and unit_idx <= blocks_to_swap + + if swapping: + block_idx_to_cpu = num_block_units - num_blocks_propagated + block_idx_to_cuda = blocks_to_swap - num_blocks_propagated + # print(f"Backward: Swap blocks {block_idx_to_cpu} and {block_idx_to_cuda}") + submit_move_blocks( + futures, + thread_pool, + block_idx_to_cpu, + block_idx_to_cuda, + flux.double_blocks, + flux.single_blocks, + accelerator.device, + ) + + if waiting: + block_idx_to_wait = unit_idx - 1 + wait_blocks_move(block_idx_to_wait, futures) return optimizer_hook @@ -881,24 +954,26 @@ def setup_parser() -> argparse.ArgumentParser: help="skip latents validity check / latentsの正当性チェックをスキップする", ) parser.add_argument( - "--double_blocks_to_swap", + "--blocks_to_swap", type=int, default=None, help="[EXPERIMENTAL] " - "Sets the number of 'double_blocks' (~640MB) to swap during the forward and backward passes." + "Sets the number of blocks (~640MB) to swap during the forward and backward passes." "Increasing this number lowers the overall VRAM used during training at the expense of training speed (s/it)." - " / 順伝播および逆伝播中にスワップする'変換ブロック'(約640MB)の数を設定します。" + " / 順伝播および逆伝播中にスワップするブロック(約640MB)の数を設定します。" "この数を増やすと、トレーニング中のVRAM使用量が減りますが、トレーニング速度(s/it)も低下します。", ) + parser.add_argument( + "--double_blocks_to_swap", + type=int, + default=None, + help="[Deprecated] use 'blocks_to_swap' instead / 代わりに 'blocks_to_swap' を使用してください", + ) parser.add_argument( "--single_blocks_to_swap", type=int, default=None, - help="[EXPERIMENTAL] " - "Sets the number of 'single_blocks' (~320MB) to swap during the forward and backward passes." - "Increasing this number lowers the overall VRAM used during training at the expense of training speed (s/it)." - " / 順伝播および逆伝播中にスワップする'変換ブロック'(約320MB)の数を設定します。" - "この数を増やすと、トレーニング中のVRAM使用量が減りますが、トレーニング速度(s/it)も低下します。", + help="[Deprecated] use 'blocks_to_swap' instead / 代わりに 'blocks_to_swap' を使用してください", ) parser.add_argument( "--cpu_offload_checkpointing", diff --git a/library/flux_models.py b/library/flux_models.py index b5726c298..a35dbc106 100644 --- a/library/flux_models.py +++ b/library/flux_models.py @@ -2,9 +2,12 @@ # license: Apache-2.0 License +from concurrent.futures import Future, ThreadPoolExecutor from dataclasses import dataclass import math -from typing import Optional +import os +import time +from typing import Dict, List, Optional from library.device_utils import init_ipex, clean_memory_on_device @@ -917,8 +920,10 @@ def __init__(self, params: FluxParams): self.gradient_checkpointing = False self.cpu_offload_checkpointing = False - self.double_blocks_to_swap = None - self.single_blocks_to_swap = None + self.blocks_to_swap = None + + self.thread_pool: Optional[ThreadPoolExecutor] = None + self.num_block_units = len(self.double_blocks) + len(self.single_blocks) // 2 @property def device(self): @@ -956,38 +961,52 @@ def disable_gradient_checkpointing(self): print("FLUX: Gradient checkpointing disabled.") - def enable_block_swap(self, double_blocks: Optional[int], single_blocks: Optional[int]): - self.double_blocks_to_swap = double_blocks - self.single_blocks_to_swap = single_blocks + def enable_block_swap(self, num_blocks: int): + self.blocks_to_swap = num_blocks + + n = 1 # async block swap. 1 is enough + # n = 2 + # n = max(1, os.cpu_count() // 2) + self.thread_pool = ThreadPoolExecutor(max_workers=n) def move_to_device_except_swap_blocks(self, device: torch.device): # assume model is on cpu - if self.double_blocks_to_swap: + if self.blocks_to_swap: save_double_blocks = self.double_blocks - self.double_blocks = None - if self.single_blocks_to_swap: save_single_blocks = self.single_blocks + self.double_blocks = None self.single_blocks = None self.to(device) - if self.double_blocks_to_swap: + if self.blocks_to_swap: self.double_blocks = save_double_blocks - if self.single_blocks_to_swap: self.single_blocks = save_single_blocks + def get_block_unit(self, index: int): + if index < len(self.double_blocks): + return (self.double_blocks[index],) + else: + index -= len(self.double_blocks) + index *= 2 + return self.single_blocks[index], self.single_blocks[index + 1] + + def get_unit_index(self, is_double: bool, index: int): + if is_double: + return index + else: + return len(self.double_blocks) + index // 2 + def prepare_block_swap_before_forward(self): - # move last n blocks to cpu: they are on cuda - if self.double_blocks_to_swap: - for i in range(len(self.double_blocks) - self.double_blocks_to_swap): - self.double_blocks[i].to(self.device) - for i in range(len(self.double_blocks) - self.double_blocks_to_swap, len(self.double_blocks)): - self.double_blocks[i].to("cpu") # , non_blocking=True) - if self.single_blocks_to_swap: - for i in range(len(self.single_blocks) - self.single_blocks_to_swap): - self.single_blocks[i].to(self.device) - for i in range(len(self.single_blocks) - self.single_blocks_to_swap, len(self.single_blocks)): - self.single_blocks[i].to("cpu") # , non_blocking=True) + # make: first n blocks are on cuda, and last n blocks are on cpu + if self.blocks_to_swap is None: + raise ValueError("Block swap is not enabled.") + for i in range(self.num_block_units - self.blocks_to_swap): + for b in self.get_block_unit(i): + b.to(self.device) + for i in range(self.num_block_units - self.blocks_to_swap, self.num_block_units): + for b in self.get_block_unit(i): + b.to("cpu") clean_memory_on_device(self.device) def forward( @@ -1017,69 +1036,73 @@ def forward( ids = torch.cat((txt_ids, img_ids), dim=1) pe = self.pe_embedder(ids) - if not self.double_blocks_to_swap: + if not self.blocks_to_swap: for block in self.double_blocks: img, txt = block(img=img, txt=txt, vec=vec, pe=pe, txt_attention_mask=txt_attention_mask) + img = torch.cat((txt, img), 1) + for block in self.single_blocks: + img = block(img, vec=vec, pe=pe, txt_attention_mask=txt_attention_mask) else: - # make sure first n blocks are on cuda, and last n blocks are on cpu at beginning - for block_idx in range(self.double_blocks_to_swap): - block = self.double_blocks[len(self.double_blocks) - self.double_blocks_to_swap + block_idx] - if block.parameters().__next__().device.type != "cpu": - block.to("cpu") # , non_blocking=True) - # print(f"Moved double block {len(self.double_blocks) - self.double_blocks_to_swap + block_idx} to cpu.") - - block = self.double_blocks[block_idx] - if block.parameters().__next__().device.type == "cpu": - block.to(self.device) - # print(f"Moved double block {block_idx} to cuda.") - - to_cpu_block_index = 0 + futures = {} + + def submit_move_blocks(block_idx_to_cpu, block_idx_to_cuda): + def move_blocks(bidx_to_cpu, blocks_to_cpu, bidx_to_cuda, blocks_to_cuda): + # print(f"Moving {bidx_to_cpu} to cpu.") + for block in blocks_to_cpu: + block.to("cpu", non_blocking=True) + torch.cuda.empty_cache() + + # print(f"Moving {bidx_to_cuda} to cuda.") + for block in blocks_to_cuda: + block.to(self.device, non_blocking=True) + + torch.cuda.synchronize() + # print(f"Block move done. {bidx_to_cpu} to cpu, {bidx_to_cuda} to cuda.") + return block_idx_to_cpu, block_idx_to_cuda + + blocks_to_cpu = self.get_block_unit(block_idx_to_cpu) + blocks_to_cuda = self.get_block_unit(block_idx_to_cuda) + # print(f"Submit move blocks. {block_idx_to_cpu} to cpu, {block_idx_to_cuda} to cuda.") + return self.thread_pool.submit(move_blocks, block_idx_to_cpu, blocks_to_cpu, block_idx_to_cuda, blocks_to_cuda) + + def wait_for_blocks_move(block_idx, ftrs): + if block_idx not in ftrs: + return + # print(f"Waiting for move blocks: {block_idx}") + # start_time = time.perf_counter() + ftr = ftrs.pop(block_idx) + ftr.result() + # torch.cuda.synchronize() + # print(f"Move blocks took {time.perf_counter() - start_time:.2f} seconds") + for block_idx, block in enumerate(self.double_blocks): - # move last n blocks to cuda: they are on cpu, and move first n blocks to cpu: they are on cuda - moving = block_idx >= len(self.double_blocks) - self.double_blocks_to_swap - if moving: - block.to(self.device) # move to cuda - # print(f"Moved double block {block_idx} to cuda.") + # print(f"Double block {block_idx}") + unit_idx = self.get_unit_index(is_double=True, index=block_idx) + wait_for_blocks_move(unit_idx, futures) img, txt = block(img=img, txt=txt, vec=vec, pe=pe, txt_attention_mask=txt_attention_mask) - if moving: - self.double_blocks[to_cpu_block_index].to("cpu") # , non_blocking=True) - # print(f"Moved double block {to_cpu_block_index} to cpu.") - to_cpu_block_index += 1 + if unit_idx < self.blocks_to_swap: + block_idx_to_cpu = unit_idx + block_idx_to_cuda = self.num_block_units - self.blocks_to_swap + unit_idx + future = submit_move_blocks(block_idx_to_cpu, block_idx_to_cuda) + futures[block_idx_to_cuda] = future - img = torch.cat((txt, img), 1) + img = torch.cat((txt, img), 1) - if not self.single_blocks_to_swap: - for block in self.single_blocks: - img = block(img, vec=vec, pe=pe, txt_attention_mask=txt_attention_mask) - else: - # make sure first n blocks are on cuda, and last n blocks are on cpu at beginning - for block_idx in range(self.single_blocks_to_swap): - block = self.single_blocks[len(self.single_blocks) - self.single_blocks_to_swap + block_idx] - if block.parameters().__next__().device.type != "cpu": - block.to("cpu") # , non_blocking=True) - # print(f"Moved single block {len(self.single_blocks) - self.single_blocks_to_swap + block_idx} to cpu.") - - block = self.single_blocks[block_idx] - if block.parameters().__next__().device.type == "cpu": - block.to(self.device) - # print(f"Moved single block {block_idx} to cuda.") - - to_cpu_block_index = 0 for block_idx, block in enumerate(self.single_blocks): - # move last n blocks to cuda: they are on cpu, and move first n blocks to cpu: they are on cuda - moving = block_idx >= len(self.single_blocks) - self.single_blocks_to_swap - if moving: - block.to(self.device) # move to cuda - # print(f"Moved single block {block_idx} to cuda.") + # print(f"Single block {block_idx}") + unit_idx = self.get_unit_index(is_double=False, index=block_idx) + if block_idx % 2 == 0: + wait_for_blocks_move(unit_idx, futures) img = block(img, vec=vec, pe=pe, txt_attention_mask=txt_attention_mask) - if moving: - self.single_blocks[to_cpu_block_index].to("cpu") # , non_blocking=True) - # print(f"Moved single block {to_cpu_block_index} to cpu.") - to_cpu_block_index += 1 + if block_idx % 2 == 1 and unit_idx < self.blocks_to_swap: + block_idx_to_cpu = unit_idx + block_idx_to_cuda = self.num_block_units - self.blocks_to_swap + unit_idx + future = submit_move_blocks(block_idx_to_cpu, block_idx_to_cuda) + futures[block_idx_to_cuda] = future img = img[:, txt.shape[1] :, ...] @@ -1088,6 +1111,7 @@ def forward( vec = vec.to(self.device) img = self.final_layer(img, vec) # (N, T, patch_size ** 2 * out_channels) + return img From da94fd934eb4951d1cb132abc9d2a355e44d7abf Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 26 Sep 2024 08:27:48 +0900 Subject: [PATCH 245/748] fix typos --- flux_train.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/flux_train.py b/flux_train.py index bf34208f1..022467ea7 100644 --- a/flux_train.py +++ b/flux_train.py @@ -516,7 +516,7 @@ def wait_blocks_move(block_idx, futures): num_block_units = num_double_blocks + num_single_blocks // 2 handled_unit_indices = set() - n = 1 # only asyncronous purpose, no need to increase this number + n = 1 # only asynchronous purpose, no need to increase this number # n = 2 # n = max(1, os.cpu_count() // 2) thread_pool = ThreadPoolExecutor(max_workers=n) @@ -608,7 +608,7 @@ def __grad_hook(tensor: torch.Tensor, param_group=param_group): num_single_blocks = 38 # len(flux.single_blocks) num_block_units = num_double_blocks + num_single_blocks // 2 - n = 1 # only asyncronous purpose, no need to increase this number + n = 1 # only asynchronous purpose, no need to increase this number # n = max(1, os.cpu_count() // 2) thread_pool = ThreadPoolExecutor(max_workers=n) futures = {} From bf91bea2e4363e5b3e0db11f0955ab93a19a0452 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 26 Sep 2024 20:51:40 +0900 Subject: [PATCH 246/748] fix flip_aug, alpha_mask, random_crop issue in caching --- README.md | 2 ++ library/train_util.py | 44 +++++++++++++++++++++++++++++++------------ 2 files changed, 34 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 9eabdaeef..b67a2c4e1 100644 --- a/README.md +++ b/README.md @@ -143,6 +143,8 @@ The majority of scripts is licensed under ASL 2.0 (including codes from Diffuser - transformers, accelerate and huggingface_hub are updated. - If you encounter any issues, please report them. +- Fixed a bug in the cache of latents. When `flip_aug`, `alpha_mask`, and `random_crop` are different in multiple subsets in the dataset configuration file (.toml), the last subset is used instead of reflecting them correctly. + - Fixed an issue where the timesteps in the batch were the same when using Huber loss. PR [#1628](https://github.com/kohya-ss/sd-scripts/pull/1628) Thanks to recris! - Improvements in OFT (Orthogonal Finetuning) Implementation diff --git a/library/train_util.py b/library/train_util.py index 72d2d8112..a31d00c69 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -998,9 +998,26 @@ def cache_latents(self, vae, vae_batch_size=1, cache_to_disk=False, is_main_proc # sort by resolution image_infos.sort(key=lambda info: info.bucket_reso[0] * info.bucket_reso[1]) - # split by resolution - batches = [] - batch = [] + # split by resolution and some conditions + class Condition: + def __init__(self, reso, flip_aug, alpha_mask, random_crop): + self.reso = reso + self.flip_aug = flip_aug + self.alpha_mask = alpha_mask + self.random_crop = random_crop + + def __eq__(self, other): + return ( + self.reso == other.reso + and self.flip_aug == other.flip_aug + and self.alpha_mask == other.alpha_mask + and self.random_crop == other.random_crop + ) + + batches: List[Tuple[Condition, List[ImageInfo]]] = [] + batch: List[ImageInfo] = [] + current_condition = None + logger.info("checking cache validity...") for info in tqdm(image_infos): subset = self.image_to_subset[info.image_key] @@ -1021,28 +1038,31 @@ def cache_latents(self, vae, vae_batch_size=1, cache_to_disk=False, is_main_proc if cache_available: # do not add to batch continue - # if last member of batch has different resolution, flush the batch - if len(batch) > 0 and batch[-1].bucket_reso != info.bucket_reso: - batches.append(batch) + # if batch is not empty and condition is changed, flush the batch. Note that current_condition is not None if batch is not empty + condition = Condition(info.bucket_reso, subset.flip_aug, subset.alpha_mask, subset.random_crop) + if len(batch) > 0 and current_condition != condition: + batches.append((current_condition, batch)) batch = [] batch.append(info) + current_condition = condition # if number of data in batch is enough, flush the batch if len(batch) >= vae_batch_size: - batches.append(batch) + batches.append((current_condition, batch)) batch = [] + current_condition = None if len(batch) > 0: - batches.append(batch) + batches.append((current_condition, batch)) if cache_to_disk and not is_main_process: # if cache to disk, don't cache latents in non-main process, set to info only return # iterate batches: batch doesn't have image, image will be loaded in cache_batch_latents and discarded logger.info("caching latents...") - for batch in tqdm(batches, smoothing=1, total=len(batches)): - cache_batch_latents(vae, cache_to_disk, batch, subset.flip_aug, subset.alpha_mask, subset.random_crop) + for condition, batch in tqdm(batches, smoothing=1, total=len(batches)): + cache_batch_latents(vae, cache_to_disk, batch, condition.flip_aug, condition.alpha_mask, condition.random_crop) # weight_dtypeを指定するとText Encoderそのもの、およひ出力がweight_dtypeになる # SDXLでのみ有効だが、datasetのメソッドとする必要があるので、sdxl_train_util.pyではなくこちらに実装する @@ -2315,7 +2335,7 @@ def debug_dataset(train_dataset, show_input_ids=False): if "alpha_masks" in example and example["alpha_masks"] is not None: alpha_mask = example["alpha_masks"][j] logger.info(f"alpha mask size: {alpha_mask.size()}") - alpha_mask = (alpha_mask[0].numpy() * 255.0).astype(np.uint8) + alpha_mask = (alpha_mask.numpy() * 255.0).astype(np.uint8) if os.name == "nt": cv2.imshow("alpha_mask", alpha_mask) @@ -5124,7 +5144,7 @@ def save_sd_model_on_train_end_common( def get_timesteps_and_huber_c(args, min_timestep, max_timestep, noise_scheduler, b_size, device): - timesteps = torch.randint(min_timestep, max_timestep, (b_size,), device='cpu') + timesteps = torch.randint(min_timestep, max_timestep, (b_size,), device="cpu") if args.loss_type == "huber" or args.loss_type == "smooth_l1": if args.huber_schedule == "exponential": From 392e8dedd84e469b125e2935e3ecf02e6270a5b2 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 26 Sep 2024 21:14:11 +0900 Subject: [PATCH 247/748] fix flip_aug, alpha_mask, random_crop issue in caching in caching strategy --- library/train_util.py | 41 ++++++++++++++++++++++++++++++----------- 1 file changed, 30 insertions(+), 11 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index 319337a47..17dd447eb 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -993,9 +993,26 @@ def new_cache_latents(self, model: Any, is_main_process: bool): # sort by resolution image_infos.sort(key=lambda info: info.bucket_reso[0] * info.bucket_reso[1]) - # split by resolution - batches = [] - batch = [] + # split by resolution and some conditions + class Condition: + def __init__(self, reso, flip_aug, alpha_mask, random_crop): + self.reso = reso + self.flip_aug = flip_aug + self.alpha_mask = alpha_mask + self.random_crop = random_crop + + def __eq__(self, other): + return ( + self.reso == other.reso + and self.flip_aug == other.flip_aug + and self.alpha_mask == other.alpha_mask + and self.random_crop == other.random_crop + ) + + batches: List[Tuple[Condition, List[ImageInfo]]] = [] + batch: List[ImageInfo] = [] + current_condition = None + logger.info("checking cache validity...") for info in tqdm(image_infos): subset = self.image_to_subset[info.image_key] @@ -1016,20 +1033,23 @@ def new_cache_latents(self, model: Any, is_main_process: bool): if cache_available: # do not add to batch continue - # if last member of batch has different resolution, flush the batch - if len(batch) > 0 and batch[-1].bucket_reso != info.bucket_reso: - batches.append(batch) + # if batch is not empty and condition is changed, flush the batch. Note that current_condition is not None if batch is not empty + condition = Condition(info.bucket_reso, subset.flip_aug, subset.alpha_mask, subset.random_crop) + if len(batch) > 0 and current_condition != condition: + batches.append((current_condition, batch)) batch = [] batch.append(info) + current_condition = condition # if number of data in batch is enough, flush the batch if len(batch) >= caching_strategy.batch_size: - batches.append(batch) + batches.append((current_condition, batch)) batch = [] + current_condition = None if len(batch) > 0: - batches.append(batch) + batches.append((current_condition, batch)) # if cache to disk, don't cache latents in non-main process, set to info only if caching_strategy.cache_to_disk and not is_main_process: @@ -1041,9 +1061,8 @@ def new_cache_latents(self, model: Any, is_main_process: bool): # iterate batches: batch doesn't have image here. image will be loaded in cache_batch_latents and discarded logger.info("caching latents...") - for batch in tqdm(batches, smoothing=1, total=len(batches)): - # cache_batch_latents(vae, cache_to_disk, batch, subset.flip_aug, subset.alpha_mask, subset.random_crop) - caching_strategy.cache_batch_latents(model, batch, subset.flip_aug, subset.alpha_mask, subset.random_crop) + for condition, batch in tqdm(batches, smoothing=1, total=len(batches)): + caching_strategy.cache_batch_latents(model, batch, condition.flip_aug, condition.alpha_mask, condition.random_crop) def cache_latents(self, vae, vae_batch_size=1, cache_to_disk=False, is_main_process=True, file_suffix=".npz"): # マルチGPUには対応していないので、そちらはtools/cache_latents.pyを使うこと From a94bc84dec8e85e8a71217b4d2570a52c6779b73 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 26 Sep 2024 21:37:31 +0900 Subject: [PATCH 248/748] fix to work bitsandbytes optimizers with full path #1640 --- library/train_util.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index b40945ab8..47c367683 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -3014,7 +3014,11 @@ def int_or_float(value): "--optimizer_type", type=str, default="", - help="Optimizer to use / オプティマイザの種類: AdamW (default), AdamW8bit, PagedAdamW, PagedAdamW8bit, PagedAdamW32bit, Lion8bit, PagedLion8bit, Lion, AdEMAMix8bit, PagedAdEMAMix8bit, SGDNesterov, SGDNesterov8bit, DAdaptation(DAdaptAdamPreprint), DAdaptAdaGrad, DAdaptAdam, DAdaptAdan, DAdaptAdanIP, DAdaptLion, DAdaptSGD, AdaFactor", + help="Optimizer to use / オプティマイザの種類: AdamW (default), AdamW8bit, PagedAdamW, PagedAdamW8bit, PagedAdamW32bit, " + "Lion8bit, PagedLion8bit, Lion, SGDNesterov, SGDNesterov8bit, " + "DAdaptation(DAdaptAdamPreprint), DAdaptAdaGrad, DAdaptAdam, DAdaptAdan, DAdaptAdanIP, DAdaptLion, DAdaptSGD, " + "AdaFactor. " + "Also, you can use any optimizer by specifying the full path to the class, like 'bitsandbytes.optim.AdEMAMix8bit' or 'bitsandbytes.optim.PagedAdEMAMix8bit'.", ) # backward compatibility @@ -4105,6 +4109,7 @@ def get_optimizer(args, trainable_params): lr = args.learning_rate optimizer = None + optimizer_class = None if optimizer_type == "Lion".lower(): try: @@ -4162,7 +4167,8 @@ def get_optimizer(args, trainable_params): "No PagedLion8bit. The version of bitsandbytes installed seems to be old. Please install 0.39.0 or later. / PagedLion8bitが定義されていません。インストールされているbitsandbytesのバージョンが古いようです。0.39.0以上をインストールしてください" ) - optimizer = optimizer_class(trainable_params, lr=lr, **optimizer_kwargs) + if optimizer_class is not None: + optimizer = optimizer_class(trainable_params, lr=lr, **optimizer_kwargs) elif optimizer_type == "PagedAdamW".lower(): logger.info(f"use PagedAdamW optimizer | {optimizer_kwargs}") @@ -4338,6 +4344,7 @@ def get_optimizer(args, trainable_params): optimizer_class = getattr(optimizer_module, optimizer_type) optimizer = optimizer_class(trainable_params, lr=lr, **optimizer_kwargs) + # for logging optimizer_name = optimizer_class.__module__ + "." + optimizer_class.__name__ optimizer_args = ",".join([f"{k}={v}" for k, v in optimizer_kwargs.items()]) From ce49ced699298aa885d9a64b969fe8c77f30893b Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 26 Sep 2024 21:37:40 +0900 Subject: [PATCH 249/748] update readme --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b67a2c4e1..9f024c1c9 100644 --- a/README.md +++ b/README.md @@ -140,9 +140,12 @@ The majority of scripts is licensed under ASL 2.0 (including codes from Diffuser ### Working in progress - __important__ The dependent libraries are updated. Please see [Upgrade](#upgrade) and update the libraries. - - transformers, accelerate and huggingface_hub are updated. + - bitsandbytes, transformers, accelerate and huggingface_hub are updated. - If you encounter any issues, please report them. +- `bitsandbytes` is updated to 0.44.0. Now you can use `AdEMAMix8bit` and `PagedAdEMAMix8bit` in the training script. PR [#1640](https://github.com/kohya-ss/sd-scripts/pull/1640) Thanks to sdbds! + - There is no abbreviation, so please specify the full path like `--optimizer_type bitsandbytes.optim.AdEMAMix8bit` (not bnb but bitsandbytes). + - Fixed a bug in the cache of latents. When `flip_aug`, `alpha_mask`, and `random_crop` are different in multiple subsets in the dataset configuration file (.toml), the last subset is used instead of reflecting them correctly. - Fixed an issue where the timesteps in the batch were the same when using Huber loss. PR [#1628](https://github.com/kohya-ss/sd-scripts/pull/1628) Thanks to recris! From 9249d00311002c84b189c2f6792cbe7aa344a1d5 Mon Sep 17 00:00:00 2001 From: kohya-ss Date: Thu, 26 Sep 2024 22:19:56 +0900 Subject: [PATCH 250/748] experimental support for multi-gpus latents caching --- library/train_util.py | 27 ++++++++++++++++----------- train_network.py | 2 +- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index 3768b6051..2ca662dcb 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -981,7 +981,7 @@ def is_text_encoder_output_cacheable(self): ] ) - def new_cache_latents(self, model: Any, is_main_process: bool): + def new_cache_latents(self, model: Any, accelerator: Accelerator): r""" a brand new method to cache latents. This method caches latents with caching strategy. normal cache_latents method is used by default, but this method is used when caching strategy is specified. @@ -1013,8 +1013,12 @@ def __eq__(self, other): batch: List[ImageInfo] = [] current_condition = None + # support multiple-gpus + num_processes = accelerator.num_processes + process_index = accelerator.process_index + logger.info("checking cache validity...") - for info in tqdm(image_infos): + for i, info in enumerate(tqdm(image_infos)): subset = self.image_to_subset[info.image_key] if info.latents_npz is not None: # fine tuning dataset @@ -1024,9 +1028,14 @@ def __eq__(self, other): if caching_strategy.cache_to_disk: # info.latents_npz = os.path.splitext(info.absolute_path)[0] + file_suffix info.latents_npz = caching_strategy.get_latents_npz_path(info.absolute_path, info.image_size) - if not is_main_process: # prepare for multi-gpu, only store to info + + # if the modulo of num_processes is not equal to process_index, skip caching + # this makes each process cache different latents + if i % num_processes != process_index: continue + print(f"{process_index}/{num_processes} {i}/{len(image_infos)} {info.latents_npz}") + cache_available = caching_strategy.is_disk_cached_latents_expected( info.bucket_reso, info.latents_npz, subset.flip_aug, subset.alpha_mask ) @@ -1051,10 +1060,6 @@ def __eq__(self, other): if len(batch) > 0: batches.append((current_condition, batch)) - # if cache to disk, don't cache latents in non-main process, set to info only - if caching_strategy.cache_to_disk and not is_main_process: - return - if len(batches) == 0: logger.info("no latents to cache") return @@ -2258,8 +2263,8 @@ def make_buckets(self): def cache_latents(self, vae, vae_batch_size=1, cache_to_disk=False, is_main_process=True): return self.dreambooth_dataset_delegate.cache_latents(vae, vae_batch_size, cache_to_disk, is_main_process) - def new_cache_latents(self, model: Any, is_main_process: bool): - return self.dreambooth_dataset_delegate.new_cache_latents(model, is_main_process) + def new_cache_latents(self, model: Any, accelerator: Accelerator): + return self.dreambooth_dataset_delegate.new_cache_latents(model, accelerator) def new_cache_text_encoder_outputs(self, models: List[Any], is_main_process: bool): return self.dreambooth_dataset_delegate.new_cache_text_encoder_outputs(models, is_main_process) @@ -2363,10 +2368,10 @@ def cache_latents(self, vae, vae_batch_size=1, cache_to_disk=False, is_main_proc logger.info(f"[Dataset {i}]") dataset.cache_latents(vae, vae_batch_size, cache_to_disk, is_main_process, file_suffix) - def new_cache_latents(self, model: Any, is_main_process: bool): + def new_cache_latents(self, model: Any, accelerator: Accelerator): for i, dataset in enumerate(self.datasets): logger.info(f"[Dataset {i}]") - dataset.new_cache_latents(model, is_main_process) + dataset.new_cache_latents(model, accelerator) def cache_text_encoder_outputs( self, tokenizers, text_encoders, device, weight_dtype, cache_to_disk=False, is_main_process=True diff --git a/train_network.py b/train_network.py index b24f89b1e..7eb7aa49c 100644 --- a/train_network.py +++ b/train_network.py @@ -384,7 +384,7 @@ def train(self, args): vae.requires_grad_(False) vae.eval() - train_dataset_group.new_cache_latents(vae, accelerator.is_main_process) + train_dataset_group.new_cache_latents(vae, accelerator) vae.to("cpu") clean_memory_on_device(accelerator.device) From 24b1fdb66485af70b3c79feaf8ff1a348b66668e Mon Sep 17 00:00:00 2001 From: kohya-ss Date: Thu, 26 Sep 2024 22:22:06 +0900 Subject: [PATCH 251/748] remove debug print --- library/train_util.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index 2ca662dcb..8d6164b1b 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -1031,10 +1031,10 @@ def __eq__(self, other): # if the modulo of num_processes is not equal to process_index, skip caching # this makes each process cache different latents - if i % num_processes != process_index: + if i % num_processes != process_index: continue - print(f"{process_index}/{num_processes} {i}/{len(image_infos)} {info.latents_npz}") + # print(f"{process_index}/{num_processes} {i}/{len(image_infos)} {info.latents_npz}") cache_available = caching_strategy.is_disk_cached_latents_expected( info.bucket_reso, info.latents_npz, subset.flip_aug, subset.alpha_mask From a9aa52658a0d9ba7910a1d1983b650bc9de7153e Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sat, 28 Sep 2024 17:12:56 +0900 Subject: [PATCH 252/748] fix sample generation is not working in FLUX1 fine tuning #1647 --- library/flux_models.py | 5 +++-- library/flux_train_utils.py | 4 +++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/library/flux_models.py b/library/flux_models.py index a35dbc106..0bc1c02b9 100644 --- a/library/flux_models.py +++ b/library/flux_models.py @@ -999,8 +999,9 @@ def get_unit_index(self, is_double: bool, index: int): def prepare_block_swap_before_forward(self): # make: first n blocks are on cuda, and last n blocks are on cpu - if self.blocks_to_swap is None: - raise ValueError("Block swap is not enabled.") + if self.blocks_to_swap is None or self.blocks_to_swap == 0: + # raise ValueError("Block swap is not enabled.") + return for i in range(self.num_block_units - self.blocks_to_swap): for b in self.get_block_unit(i): b.to(self.device) diff --git a/library/flux_train_utils.py b/library/flux_train_utils.py index f77d4b585..1d1eb9d24 100644 --- a/library/flux_train_utils.py +++ b/library/flux_train_utils.py @@ -313,6 +313,7 @@ def denoise( guidance_vec = torch.full((img.shape[0],), guidance, device=img.device, dtype=img.dtype) for t_curr, t_prev in zip(tqdm(timesteps[:-1]), timesteps[1:]): t_vec = torch.full((img.shape[0],), t_curr, dtype=img.dtype, device=img.device) + model.prepare_block_swap_before_forward() pred = model( img=img, img_ids=img_ids, @@ -325,7 +326,8 @@ def denoise( ) img = img + (t_prev - t_curr) * pred - + + model.prepare_block_swap_before_forward() return img From 822fe578591e44ac949830e03a8841e222483052 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sat, 28 Sep 2024 20:57:27 +0900 Subject: [PATCH 253/748] add workaround for 'Some tensors share memory' error #1614 --- networks/convert_flux_lora.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/networks/convert_flux_lora.py b/networks/convert_flux_lora.py index bd4c1cf78..fe6466ebc 100644 --- a/networks/convert_flux_lora.py +++ b/networks/convert_flux_lora.py @@ -412,6 +412,10 @@ def main(args): state_dict = convert_ai_toolkit_to_sd_scripts(state_dict) elif args.src == "sd-scripts" and args.dst == "ai-toolkit": state_dict = convert_sd_scripts_to_ai_toolkit(state_dict) + + # eliminate 'shared tensors' + for k in list(state_dict.keys()): + state_dict[k] = state_dict[k].detach().clone() else: raise NotImplementedError(f"Conversion from {args.src} to {args.dst} is not supported") From 1a0f5b0c389f4e9fab5edb06b36f203e8894d581 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 29 Sep 2024 00:35:29 +0900 Subject: [PATCH 254/748] re-fix sample generation is not working in FLUX1 split mode #1647 --- flux_train_network.py | 3 +++ library/flux_train_utils.py | 1 - 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/flux_train_network.py b/flux_train_network.py index a6e57eede..65b121e7c 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -300,6 +300,9 @@ def __init__(self, flux_upper: flux_models.FluxUpper, flux_lower: flux_models.Fl self.flux_lower = flux_lower self.target_device = device + def prepare_block_swap_before_forward(self): + pass + def forward(self, img, img_ids, txt, txt_ids, timesteps, y, guidance=None, txt_attention_mask=None): self.flux_lower.to("cpu") clean_memory_on_device(self.target_device) diff --git a/library/flux_train_utils.py b/library/flux_train_utils.py index 1d1eb9d24..b3c9184f2 100644 --- a/library/flux_train_utils.py +++ b/library/flux_train_utils.py @@ -196,7 +196,6 @@ def sample_image_inference( tokens_and_masks = tokenize_strategy.tokenize(prompt) # strategy has apply_t5_attn_mask option encoded_text_encoder_conds = encoding_strategy.encode_tokens(tokenize_strategy, text_encoders, tokens_and_masks) - print([x.shape if x is not None else None for x in encoded_text_encoder_conds]) # if text_encoder_conds is not cached, use encoded_text_encoder_conds if len(text_encoder_conds) == 0: From fe2aa32484a948f16955909e64c21da7fe1e4e0c Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 29 Sep 2024 09:49:25 +0900 Subject: [PATCH 255/748] adjust min/max bucket reso divisible by reso steps #1632 --- README.md | 2 ++ docs/config_README-en.md | 2 ++ docs/config_README-ja.md | 2 ++ fine_tune.py | 2 ++ library/train_util.py | 40 ++++++++++++++++++++++++++++++++------ train_controlnet.py | 2 ++ train_db.py | 2 ++ train_network.py | 2 +- train_textual_inversion.py | 2 +- 9 files changed, 48 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 9f024c1c9..de5cddb92 100644 --- a/README.md +++ b/README.md @@ -143,6 +143,8 @@ The majority of scripts is licensed under ASL 2.0 (including codes from Diffuser - bitsandbytes, transformers, accelerate and huggingface_hub are updated. - If you encounter any issues, please report them. +- There was a bug where the min_bucket_reso/max_bucket_reso in the dataset configuration did not create the correct resolution bucket if it was not divisible by bucket_reso_steps. These values are now warned and automatically rounded to a divisible value. Thanks to Maru-mee for raising the issue. Related PR [#1632](https://github.com/kohya-ss/sd-scripts/pull/1632) + - `bitsandbytes` is updated to 0.44.0. Now you can use `AdEMAMix8bit` and `PagedAdEMAMix8bit` in the training script. PR [#1640](https://github.com/kohya-ss/sd-scripts/pull/1640) Thanks to sdbds! - There is no abbreviation, so please specify the full path like `--optimizer_type bitsandbytes.optim.AdEMAMix8bit` (not bnb but bitsandbytes). diff --git a/docs/config_README-en.md b/docs/config_README-en.md index 83bea329b..66a50dc09 100644 --- a/docs/config_README-en.md +++ b/docs/config_README-en.md @@ -128,6 +128,8 @@ These are options related to the configuration of the data set. They cannot be d * `batch_size` * This corresponds to the command-line argument `--train_batch_size`. +* `max_bucket_reso`, `min_bucket_reso` + * Specify the maximum and minimum resolutions of the bucket. It must be divisible by `bucket_reso_steps`. These settings are fixed per dataset. That means that subsets belonging to the same dataset will share these settings. For example, if you want to prepare datasets with different resolutions, you can define them as separate datasets as shown in the example above, and set different resolutions for each. diff --git a/docs/config_README-ja.md b/docs/config_README-ja.md index cc74c341b..0ed95e0eb 100644 --- a/docs/config_README-ja.md +++ b/docs/config_README-ja.md @@ -118,6 +118,8 @@ DreamBooth の手法と fine tuning の手法の両方とも利用可能な学 * `batch_size` * コマンドライン引数の `--train_batch_size` と同等です。 +* `max_bucket_reso`, `min_bucket_reso` + * bucketの最大、最小解像度を指定します。`bucket_reso_steps` で割り切れる必要があります。 これらの設定はデータセットごとに固定です。 つまり、データセットに所属するサブセットはこれらの設定を共有することになります。 diff --git a/fine_tune.py b/fine_tune.py index d865cd2de..b556672d2 100644 --- a/fine_tune.py +++ b/fine_tune.py @@ -91,6 +91,8 @@ def train(args): ds_for_collator = train_dataset_group if args.max_data_loader_n_workers == 0 else None collator = train_util.collator_class(current_epoch, current_step, ds_for_collator) + train_dataset_group.verify_bucket_reso_steps(64) + if args.debug_dataset: train_util.debug_dataset(train_dataset_group) return diff --git a/library/train_util.py b/library/train_util.py index 47c367683..0cb6383a4 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -653,6 +653,34 @@ def __init__( # caching self.caching_mode = None # None, 'latents', 'text' + def adjust_min_max_bucket_reso_by_steps( + self, resolution: Tuple[int, int], min_bucket_reso: int, max_bucket_reso: int, bucket_reso_steps: int + ) -> Tuple[int, int]: + # make min/max bucket reso to be multiple of bucket_reso_steps + if min_bucket_reso % bucket_reso_steps != 0: + adjusted_min_bucket_reso = min_bucket_reso - min_bucket_reso % bucket_reso_steps + logger.warning( + f"min_bucket_reso is adjusted to be multiple of bucket_reso_steps" + f" / min_bucket_resoがbucket_reso_stepsの倍数になるように調整されました: {min_bucket_reso} -> {adjusted_min_bucket_reso}" + ) + min_bucket_reso = adjusted_min_bucket_reso + if max_bucket_reso % bucket_reso_steps != 0: + adjusted_max_bucket_reso = max_bucket_reso + bucket_reso_steps - max_bucket_reso % bucket_reso_steps + logger.warning( + f"max_bucket_reso is adjusted to be multiple of bucket_reso_steps" + f" / max_bucket_resoがbucket_reso_stepsの倍数になるように調整されました: {max_bucket_reso} -> {adjusted_max_bucket_reso}" + ) + max_bucket_reso = adjusted_max_bucket_reso + + assert ( + min(resolution) >= min_bucket_reso + ), f"min_bucket_reso must be equal or less than resolution / min_bucket_resoは最小解像度より大きくできません。解像度を大きくするかmin_bucket_resoを小さくしてください" + assert ( + max(resolution) <= max_bucket_reso + ), f"max_bucket_reso must be equal or greater than resolution / max_bucket_resoは最大解像度より小さくできません。解像度を小さくするかmin_bucket_resoを大きくしてください" + + return min_bucket_reso, max_bucket_reso + def set_seed(self, seed): self.seed = seed @@ -1533,12 +1561,9 @@ def __init__( self.enable_bucket = enable_bucket if self.enable_bucket: - assert ( - min(resolution) >= min_bucket_reso - ), f"min_bucket_reso must be equal or less than resolution / min_bucket_resoは最小解像度より大きくできません。解像度を大きくするかmin_bucket_resoを小さくしてください" - assert ( - max(resolution) <= max_bucket_reso - ), f"max_bucket_reso must be equal or greater than resolution / max_bucket_resoは最大解像度より小さくできません。解像度を小さくするかmin_bucket_resoを大きくしてください" + min_bucket_reso, max_bucket_reso = self.adjust_min_max_bucket_reso_by_steps( + resolution, min_bucket_reso, max_bucket_reso, bucket_reso_steps + ) self.min_bucket_reso = min_bucket_reso self.max_bucket_reso = max_bucket_reso self.bucket_reso_steps = bucket_reso_steps @@ -1901,6 +1926,9 @@ def __init__( self.enable_bucket = enable_bucket if self.enable_bucket: + min_bucket_reso, max_bucket_reso = self.adjust_min_max_bucket_reso_by_steps( + resolution, min_bucket_reso, max_bucket_reso, bucket_reso_steps + ) self.min_bucket_reso = min_bucket_reso self.max_bucket_reso = max_bucket_reso self.bucket_reso_steps = bucket_reso_steps diff --git a/train_controlnet.py b/train_controlnet.py index c9ac6c5a8..6938c4bcc 100644 --- a/train_controlnet.py +++ b/train_controlnet.py @@ -107,6 +107,8 @@ def train(args): ds_for_collator = train_dataset_group if args.max_data_loader_n_workers == 0 else None collator = train_util.collator_class(current_epoch, current_step, ds_for_collator) + train_dataset_group.verify_bucket_reso_steps(64) + if args.debug_dataset: train_util.debug_dataset(train_dataset_group) return diff --git a/train_db.py b/train_db.py index 39d8ea6ed..2c7f02582 100644 --- a/train_db.py +++ b/train_db.py @@ -93,6 +93,8 @@ def train(args): if args.no_token_padding: train_dataset_group.disable_token_padding() + train_dataset_group.verify_bucket_reso_steps(64) + if args.debug_dataset: train_util.debug_dataset(train_dataset_group) return diff --git a/train_network.py b/train_network.py index 7ba073855..044ec3aa8 100644 --- a/train_network.py +++ b/train_network.py @@ -95,7 +95,7 @@ def generate_step_logs( return logs def assert_extra_args(self, args, train_dataset_group): - pass + train_dataset_group.verify_bucket_reso_steps(64) def load_target_model(self, args, weight_dtype, accelerator): text_encoder, vae, unet, _ = train_util.load_target_model(args, weight_dtype, accelerator) diff --git a/train_textual_inversion.py b/train_textual_inversion.py index ade077c36..96e7bd509 100644 --- a/train_textual_inversion.py +++ b/train_textual_inversion.py @@ -99,7 +99,7 @@ def __init__(self): self.is_sdxl = False def assert_extra_args(self, args, train_dataset_group): - pass + train_dataset_group.verify_bucket_reso_steps(64) def load_target_model(self, args, weight_dtype, accelerator): text_encoder, vae, unet, _ = train_util.load_target_model(args, weight_dtype, accelerator) From 1567549220b5936af0c534ca23656ecd2f4882f0 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 29 Sep 2024 09:51:36 +0900 Subject: [PATCH 256/748] update help text #1632 --- library/train_util.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index 0cb6383a4..422dceca2 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -3865,8 +3865,20 @@ def add_dataset_arguments( action="store_true", help="enable buckets for multi aspect ratio training / 複数解像度学習のためのbucketを有効にする", ) - parser.add_argument("--min_bucket_reso", type=int, default=256, help="minimum resolution for buckets / bucketの最小解像度") - parser.add_argument("--max_bucket_reso", type=int, default=1024, help="maximum resolution for buckets / bucketの最大解像度") + parser.add_argument( + "--min_bucket_reso", + type=int, + default=256, + help="minimum resolution for buckets, must be divisible by bucket_reso_steps " + " / bucketの最小解像度、bucket_reso_stepsで割り切れる必要があります", + ) + parser.add_argument( + "--max_bucket_reso", + type=int, + default=1024, + help="maximum resolution for buckets, must be divisible by bucket_reso_steps " + " / bucketの最大解像度、bucket_reso_stepsで割り切れる必要があります", + ) parser.add_argument( "--bucket_reso_steps", type=int, From e0c3630203776dc568c32d67806a0a9d443f5721 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9D=92=E9=BE=8D=E8=81=96=E8=80=85=40bdsqlsz?= <865105819@qq.com> Date: Sun, 29 Sep 2024 09:11:15 +0800 Subject: [PATCH 257/748] Support Sdxl Controlnet (#1648) * Create sdxl_train_controlnet.py * add fuse_background_pass * Update sdxl_train_controlnet.py * add fuse and fix error * update * Update sdxl_train_controlnet.py * Update sdxl_train_controlnet.py * Update sdxl_train_controlnet.py * update * Update sdxl_train_controlnet.py --- library/train_util.py | 2 +- sdxl_train_controlnet.py | 752 +++++++++++++++++++++++++++++++++++++++ train_controlnet.py | 33 +- 3 files changed, 779 insertions(+), 8 deletions(-) create mode 100644 sdxl_train_controlnet.py diff --git a/library/train_util.py b/library/train_util.py index e023f63a2..293fc05ad 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -3581,7 +3581,7 @@ def add_training_arguments(parser: argparse.ArgumentParser, support_dreambooth: # available backends: # https://github.com/huggingface/accelerate/blob/d1abd59114ada8ba673e1214218cb2878c13b82d/src/accelerate/utils/dataclasses.py#L376-L388C5 # https://pytorch.org/docs/stable/torch.compiler.html - choices=["eager", "aot_eager", "inductor", "aot_ts_nvfuser", "nvprims_nvfuser", "cudagraphs", "ofi", "fx2trt", "onnxrt"], + choices=["eager", "aot_eager", "inductor", "aot_ts_nvfuser", "nvprims_nvfuser", "cudagraphs", "ofi", "fx2trt", "onnxrt", "tensort", "ipex", "tvm"], help="dynamo backend type (default is inductor) / dynamoのbackendの種類(デフォルトは inductor)", ) parser.add_argument("--xformers", action="store_true", help="use xformers for CrossAttention / CrossAttentionにxformersを使う") diff --git a/sdxl_train_controlnet.py b/sdxl_train_controlnet.py new file mode 100644 index 000000000..00026d2cc --- /dev/null +++ b/sdxl_train_controlnet.py @@ -0,0 +1,752 @@ +import argparse +import math +import os +import random +from multiprocessing import Value +import toml + +from tqdm import tqdm + +import torch +from library.device_utils import init_ipex, clean_memory_on_device + +init_ipex() + +from torch.nn.parallel import DistributedDataParallel as DDP +from accelerate.utils import set_seed +from diffusers import DDPMScheduler, ControlNetModel +from diffusers.utils.torch_utils import is_compiled_module +from safetensors.torch import load_file +from library import ( + deepspeed_utils, + sai_model_spec, + sdxl_model_util, + sdxl_original_unet, + sdxl_train_util, +) + +import library.model_util as model_util +import library.train_util as train_util +import library.config_util as config_util +from library.config_util import ( + ConfigSanitizer, + BlueprintGenerator, +) +import library.huggingface_util as huggingface_util +import library.custom_train_functions as custom_train_functions +from library.custom_train_functions import ( + add_v_prediction_like_loss, + apply_snr_weight, + prepare_scheduler_for_custom_training, + scale_v_prediction_loss_like_noise_prediction, + apply_debiased_estimation, +) +from library.utils import setup_logging, add_logging_arguments + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + + +# TODO 他のスクリプトと共通化する +def generate_step_logs(args: argparse.Namespace, current_loss, avr_loss, lr_scheduler): + logs = { + "loss/current": current_loss, + "loss/average": avr_loss, + "lr": lr_scheduler.get_last_lr()[0], + } + + if args.optimizer_type.lower().startswith("DAdapt".lower()): + logs["lr/d*lr"] = ( + lr_scheduler.optimizers[-1].param_groups[0]["d"] + * lr_scheduler.optimizers[-1].param_groups[0]["lr"] + ) + + return logs + + +def train(args): + train_util.verify_training_args(args) + train_util.prepare_dataset_args(args, True) + sdxl_train_util.verify_sdxl_training_args(args) + setup_logging(args, reset=True) + + cache_latents = args.cache_latents + use_user_config = args.dataset_config is not None + + if args.seed is None: + args.seed = random.randint(0, 2**32) + set_seed(args.seed) + + tokenizer1, tokenizer2 = sdxl_train_util.load_tokenizers(args) + + # データセットを準備する + blueprint_generator = BlueprintGenerator(ConfigSanitizer(False, False, True, True)) + if use_user_config: + logger.info(f"Load dataset config from {args.dataset_config}") + user_config = config_util.load_user_config(args.dataset_config) + ignored = ["train_data_dir", "conditioning_data_dir"] + if any(getattr(args, attr) is not None for attr in ignored): + logger.warning( + "ignore following options because config file is found: {0} / 設定ファイルが利用されるため以下のオプションは無視されます: {0}".format( + ", ".join(ignored) + ) + ) + else: + user_config = { + "datasets": [ + { + "subsets": config_util.generate_controlnet_subsets_config_by_subdirs( + args.train_data_dir, + args.conditioning_data_dir, + args.caption_extension, + ) + } + ] + } + + blueprint = blueprint_generator.generate(user_config, args, tokenizer=[tokenizer1, tokenizer2]) + train_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) + + current_epoch = Value("i", 0) + current_step = Value("i", 0) + ds_for_collator = (train_dataset_group if args.max_data_loader_n_workers == 0 else None) + collator = train_util.collator_class(current_epoch, current_step, ds_for_collator) + + train_dataset_group.verify_bucket_reso_steps(32) + + if args.debug_dataset: + train_util.debug_dataset(train_dataset_group) + return + if len(train_dataset_group) == 0: + logger.error( + "No data found. Please verify arguments (train_data_dir must be the parent of folders with images) / 画像がありません。引数指定を確認してください(train_data_dirには画像があるフォルダではなく、画像があるフォルダの親フォルダを指定する必要があります)" + ) + return + + if cache_latents: + assert ( + train_dataset_group.is_latent_cacheable() + ), "when caching latents, either color_aug or random_crop cannot be used / latentをキャッシュするときはcolor_augとrandom_cropは使えません" + else: + logger.warning( + "WARNING: random_crop is not supported yet for ControlNet training / ControlNetの学習ではrandom_cropはまだサポートされていません" + ) + + if args.cache_text_encoder_outputs: + assert ( + train_dataset_group.is_text_encoder_output_cacheable() + ), "when caching Text Encoder output, either caption_dropout_rate, shuffle_caption, token_warmup_step or caption_tag_dropout_rate cannot be used / Text Encoderの出力をキャッシュするときはcaption_dropout_rate, shuffle_caption, token_warmup_step, caption_tag_dropout_rateは使えません" + + # acceleratorを準備する + logger.info("prepare accelerator") + accelerator = train_util.prepare_accelerator(args) + is_main_process = accelerator.is_main_process + + def unwrap_model(model): + model = accelerator.unwrap_model(model) + model = model._orig_mod if is_compiled_module(model) else model + return model + + # mixed precisionに対応した型を用意しておき適宜castする + weight_dtype, save_dtype = train_util.prepare_dtype(args) + vae_dtype = torch.float32 if args.no_half_vae else weight_dtype + + # モデルを読み込む + ( + load_stable_diffusion_format, + text_encoder1, + text_encoder2, + vae, + unet, + logit_scale, + ckpt_info, + ) = sdxl_train_util.load_target_model( + args, accelerator, sdxl_model_util.MODEL_VERSION_SDXL_BASE_V1_0, weight_dtype + ) + + # convert U-Net + with torch.no_grad(): + du_unet_sd = sdxl_model_util.convert_sdxl_unet_state_dict_to_diffusers(unet.state_dict()) + unet.to("cpu") + clean_memory_on_device(accelerator.device) + del unet + unet = sdxl_model_util.UNet2DConditionModel(**sdxl_model_util.DIFFUSERS_SDXL_UNET_CONFIG) + unet.load_state_dict(du_unet_sd) + + controlnet = ControlNetModel.from_unet(unet) + + if args.controlnet_model_name_or_path: + filename = args.controlnet_model_name_or_path + if os.path.isfile(filename): + if os.path.splitext(filename)[1] == ".safetensors": + state_dict = load_file(filename) + else: + state_dict = torch.load(filename) + state_dict = model_util.convert_controlnet_state_dict_to_diffusers(state_dict) + controlnet.load_state_dict(state_dict) + elif os.path.isdir(filename): + controlnet = ControlNetModel.from_pretrained(filename) + + # 学習を準備する + if cache_latents: + vae.to(accelerator.device, dtype=vae_dtype) + vae.requires_grad_(False) + vae.eval() + with torch.no_grad(): + train_dataset_group.cache_latents( + vae, + args.vae_batch_size, + args.cache_latents_to_disk, + accelerator.is_main_process, + ) + vae.to("cpu") + clean_memory_on_device(accelerator.device) + + accelerator.wait_for_everyone() + + # TextEncoderの出力をキャッシュする + if args.cache_text_encoder_outputs: + # Text Encodes are eval and no grad + with torch.no_grad(): + train_dataset_group.cache_text_encoder_outputs( + (tokenizer1, tokenizer2), + (text_encoder1, text_encoder2), + accelerator.device, + None, + args.cache_text_encoder_outputs_to_disk, + accelerator.is_main_process, + ) + accelerator.wait_for_everyone() + + # モデルに xformers とか memory efficient attention を組み込む + # train_util.replace_unet_modules(unet, args.mem_eff_attn, args.xformers, args.sdpa) + if args.xformers: + unet.enable_xformers_memory_efficient_attention() + controlnet.enable_xformers_memory_efficient_attention() + + if args.gradient_checkpointing: + unet.enable_gradient_checkpointing() + controlnet.enable_gradient_checkpointing() + + # 学習に必要なクラスを準備する + accelerator.print("prepare optimizer, data loader etc.") + + trainable_params = list(filter(lambda p: p.requires_grad, controlnet.parameters())) + logger.info(f"trainable params count: {len(trainable_params)}") + logger.info( + f"number of trainable parameters: {sum(p.numel() for p in trainable_params if p.requires_grad)}" + ) + + _, _, optimizer = train_util.get_optimizer(args, trainable_params) + + # dataloaderを準備する + # DataLoaderのプロセス数:0 は persistent_workers が使えないので注意 + n_workers = min(args.max_data_loader_n_workers, os.cpu_count()) # cpu_count or max_data_loader_n_workers + + train_dataloader = torch.utils.data.DataLoader( + train_dataset_group, + batch_size=1, + shuffle=True, + collate_fn=collator, + num_workers=n_workers, + persistent_workers=args.persistent_data_loader_workers, + ) + + # 学習ステップ数を計算する + if args.max_train_epochs is not None: + args.max_train_steps = args.max_train_epochs * math.ceil( + len(train_dataloader)/ accelerator.num_processes/ args.gradient_accumulation_steps + ) + accelerator.print( + f"override steps. steps for {args.max_train_epochs} epochs is / 指定エポックまでのステップ数: {args.max_train_steps}" + ) + + # データセット側にも学習ステップを送信 + train_dataset_group.set_max_train_steps(args.max_train_steps) + + # lr schedulerを用意する + lr_scheduler = train_util.get_scheduler_fix( + args, optimizer, accelerator.num_processes + ) + + # 実験的機能:勾配も含めたfp16/bf16学習を行う モデル全体をfp16/bf16にする + if args.full_fp16: + assert ( + args.mixed_precision == "fp16" + ), "full_fp16 requires mixed precision='fp16' / full_fp16を使う場合はmixed_precision='fp16'を指定してください。" + accelerator.print("enable full fp16 training.") + controlnet.to(weight_dtype) + unet.to(weight_dtype) + elif args.full_bf16: + assert ( + args.mixed_precision == "bf16" + ), "full_bf16 requires mixed precision='bf16' / full_bf16を使う場合はmixed_precision='bf16'を指定してください。" + accelerator.print("enable full bf16 training.") + controlnet.to(weight_dtype) + unet.to(weight_dtype) + + # acceleratorがなんかよろしくやってくれるらしい + controlnet, optimizer, train_dataloader, lr_scheduler = accelerator.prepare( + controlnet, optimizer, train_dataloader, lr_scheduler + ) + + if args.fused_backward_pass: + # use fused optimizer for backward pass: other optimizers will be supported in the future + import library.adafactor_fused + + library.adafactor_fused.patch_adafactor_fused(optimizer) + for param_group in optimizer.param_groups: + for parameter in param_group["params"]: + if parameter.requires_grad: + + def __grad_hook(tensor: torch.Tensor, param_group=param_group): + if accelerator.sync_gradients and args.max_grad_norm != 0.0: + accelerator.clip_grad_norm_(tensor, args.max_grad_norm) + optimizer.step_param(tensor, param_group) + tensor.grad = None + + parameter.register_post_accumulate_grad_hook(__grad_hook) + + unet.requires_grad_(False) + text_encoder1.requires_grad_(False) + text_encoder2.requires_grad_(False) + unet.to(accelerator.device, dtype=weight_dtype) + + # transform DDP after prepare + controlnet = controlnet.module if isinstance(controlnet, DDP) else controlnet + + controlnet.train() + + # TextEncoderの出力をキャッシュするときにはCPUへ移動する + if args.cache_text_encoder_outputs: + # move Text Encoders for sampling images. Text Encoder doesn't work on CPU with fp16 + text_encoder1.to("cpu", dtype=torch.float32) + text_encoder2.to("cpu", dtype=torch.float32) + clean_memory_on_device(accelerator.device) + else: + # make sure Text Encoders are on GPU + text_encoder1.to(accelerator.device) + text_encoder2.to(accelerator.device) + + if not cache_latents: + vae.requires_grad_(False) + vae.eval() + vae.to(accelerator.device, dtype=vae_dtype) + + # 実験的機能:勾配も含めたfp16学習を行う PyTorchにパッチを当ててfp16でのgrad scaleを有効にする + if args.full_fp16: + train_util.patch_accelerator_for_fp16_training(accelerator) + + # resumeする + train_util.resume_from_local_or_hf_if_specified(accelerator, args) + + # epoch数を計算する + num_update_steps_per_epoch = math.ceil(len(train_dataloader) / args.gradient_accumulation_steps) + num_train_epochs = math.ceil(args.max_train_steps / num_update_steps_per_epoch) + if (args.save_n_epoch_ratio is not None) and (args.save_n_epoch_ratio > 0): + args.save_every_n_epochs = math.floor(num_train_epochs / args.save_n_epoch_ratio) or 1 + + # 学習する + # TODO: find a way to handle total batch size when there are multiple datasets + accelerator.print("running training / 学習開始") + accelerator.print(f" num train images * repeats / 学習画像の数×繰り返し回数: {train_dataset_group.num_train_images}") + accelerator.print(f" num reg images / 正則化画像の数: {train_dataset_group.num_reg_images}") + accelerator.print(f" num batches per epoch / 1epochのバッチ数: {len(train_dataloader)}") + accelerator.print(f" num epochs / epoch数: {num_train_epochs}") + accelerator.print( + f" batch size per device / バッチサイズ: {', '.join([str(d.batch_size) for d in train_dataset_group.datasets])}" + ) + # logger.info(f" total train batch size (with parallel & distributed & accumulation) / 総バッチサイズ(並列学習、勾配合計含む): {total_batch_size}") + accelerator.print(f" gradient accumulation steps / 勾配を合計するステップ数 = {args.gradient_accumulation_steps}") + accelerator.print(f" total optimization steps / 学習ステップ数: {args.max_train_steps}") + + progress_bar = tqdm( + range(args.max_train_steps), + smoothing=0, + disable=not accelerator.is_local_main_process, + desc="steps", + ) + global_step = 0 + + noise_scheduler = DDPMScheduler( + beta_start=0.00085, + beta_end=0.012, + beta_schedule="scaled_linear", + num_train_timesteps=1000, + clip_sample=False, + ) + prepare_scheduler_for_custom_training(noise_scheduler, accelerator.device) + if args.zero_terminal_snr: + custom_train_functions.fix_noise_scheduler_betas_for_zero_terminal_snr( + noise_scheduler + ) + + if accelerator.is_main_process: + init_kwargs = {} + if args.wandb_run_name: + init_kwargs["wandb"] = {"name": args.wandb_run_name} + if args.log_tracker_config is not None: + init_kwargs = toml.load(args.log_tracker_config) + accelerator.init_trackers( + ( + "controlnet_train" + if args.log_tracker_name is None + else args.log_tracker_name + ), + config=train_util.get_sanitized_config_or_none(args), + init_kwargs=init_kwargs, + ) + + loss_recorder = train_util.LossRecorder() + del train_dataset_group + + # function for saving/removing + def save_model(ckpt_name, model, force_sync_upload=False): + os.makedirs(args.output_dir, exist_ok=True) + ckpt_file = os.path.join(args.output_dir, ckpt_name) + + accelerator.print(f"\nsaving checkpoint: {ckpt_file}") + sai_metadata = train_util.get_sai_model_spec(None, args, True, True, False) + sai_metadata["modelspec.architecture"] = ( + sai_model_spec.ARCH_SD_XL_V1_BASE + "/controlnet" + ) + state_dict = model_util.convert_controlnet_state_dict_to_sd(model.state_dict()) + + if save_dtype is not None: + for key in list(state_dict.keys()): + v = state_dict[key] + v = v.detach().clone().to("cpu").to(save_dtype) + state_dict[key] = v + + if os.path.splitext(ckpt_file)[1] == ".safetensors": + from safetensors.torch import save_file + + save_file(state_dict, ckpt_file, sai_metadata) + else: + torch.save(state_dict, ckpt_file) + + if args.huggingface_repo_id is not None: + huggingface_util.upload(args, ckpt_file, "/" + ckpt_name, force_sync_upload=force_sync_upload) + + def remove_model(old_ckpt_name): + old_ckpt_file = os.path.join(args.output_dir, old_ckpt_name) + if os.path.exists(old_ckpt_file): + accelerator.print(f"removing old checkpoint: {old_ckpt_file}") + os.remove(old_ckpt_file) + + # For --sample_at_first + sdxl_train_util.sample_images( + accelerator, + args, + 0, + global_step, + accelerator.device, + vae, + [tokenizer1, tokenizer2], + [text_encoder1, text_encoder2], + unet, + controlnet=controlnet, + ) + + # training loop + for epoch in range(num_train_epochs): + accelerator.print(f"\nepoch {epoch+1}/{num_train_epochs}") + current_epoch.value = epoch + 1 + + for step, batch in enumerate(train_dataloader): + current_step.value = global_step + with accelerator.accumulate(controlnet): + with torch.no_grad(): + if "latents" in batch and batch["latents"] is not None: + latents = ( + batch["latents"] + .to(accelerator.device) + .to(dtype=weight_dtype) + ) + else: + # latentに変換 + latents = ( + vae.encode(batch["images"].to(dtype=vae_dtype)) + .latent_dist.sample() + .to(dtype=weight_dtype) + ) + + # NaNが含まれていれば警告を表示し0に置き換える + if torch.any(torch.isnan(latents)): + accelerator.print( + "NaN found in latents, replacing with zeros" + ) + latents = torch.nan_to_num(latents, 0, out=latents) + latents = latents * sdxl_model_util.VAE_SCALE_FACTOR + + if ( + "text_encoder_outputs1_list" not in batch + or batch["text_encoder_outputs1_list"] is None + ): + input_ids1 = batch["input_ids"] + input_ids2 = batch["input_ids2"] + with torch.no_grad(): + # Get the text embedding for conditioning + input_ids1 = input_ids1.to(accelerator.device) + input_ids2 = input_ids2.to(accelerator.device) + encoder_hidden_states1, encoder_hidden_states2, pool2 = ( + train_util.get_hidden_states_sdxl( + args.max_token_length, + input_ids1, + input_ids2, + tokenizer1, + tokenizer2, + text_encoder1, + text_encoder2, + None if not args.full_fp16 else weight_dtype, + ) + ) + else: + encoder_hidden_states1 = ( + batch["text_encoder_outputs1_list"] + .to(accelerator.device) + .to(weight_dtype) + ) + encoder_hidden_states2 = ( + batch["text_encoder_outputs2_list"] + .to(accelerator.device) + .to(weight_dtype) + ) + pool2 = ( + batch["text_encoder_pool2_list"] + .to(accelerator.device) + .to(weight_dtype) + ) + + # get size embeddings + orig_size = batch["original_sizes_hw"] + crop_size = batch["crop_top_lefts"] + target_size = batch["target_sizes_hw"] + # embs = sdxl_train_util.get_size_embeddings( + # orig_size, crop_size, target_size, accelerator.device + # ).to(weight_dtype) + + embs = torch.cat([orig_size, crop_size, target_size]).to(accelerator.device).to(weight_dtype) #B,6 + # concat embeddings + #vector_embedding = torch.cat([pool2, embs], dim=1).to(weight_dtype) + vector_embedding_dict = { + "text_embeds": pool2, + "time_ids": embs + } + text_embedding = torch.cat( + [encoder_hidden_states1, encoder_hidden_states2], dim=2 + ).to(weight_dtype) + + # Sample noise, sample a random timestep for each image, and add noise to the latents, + # with noise offset and/or multires noise if specified + noise, noisy_latents, timesteps, huber_c = ( + train_util.get_noise_noisy_latents_and_timesteps( + args, noise_scheduler, latents + ) + ) + + controlnet_image = batch["conditioning_images"].to(dtype=weight_dtype) + + + with accelerator.autocast(): + down_block_res_samples, mid_block_res_sample = controlnet( + noisy_latents, + timesteps, + encoder_hidden_states=text_embedding, + added_cond_kwargs=vector_embedding_dict, + controlnet_cond=controlnet_image, + return_dict=False, + ) + + # Predict the noise residual + noise_pred = unet( + noisy_latents, + timesteps, + encoder_hidden_states=text_embedding, + added_cond_kwargs=vector_embedding_dict, + down_block_additional_residuals=[ + sample.to(dtype=weight_dtype) for sample in down_block_res_samples + ], + mid_block_additional_residual=mid_block_res_sample.to(dtype=weight_dtype), + return_dict=False, + )[0] + + if args.v_parameterization: + # v-parameterization training + target = noise_scheduler.get_velocity(latents, noise, timesteps) + else: + target = noise + + loss = train_util.conditional_loss( + noise_pred.float(),target.float(),reduction="none",loss_type=args.loss_type,huber_c=huber_c, + ) + loss = loss.mean([1, 2, 3]) + + loss_weights = batch["loss_weights"] # 各sampleごとのweight + loss = loss * loss_weights + + if args.min_snr_gamma: + loss = apply_snr_weight(loss,timesteps,noise_scheduler,args.min_snr_gamma,args.v_parameterization) + if args.scale_v_pred_loss_like_noise_pred: + loss = scale_v_prediction_loss_like_noise_prediction(loss, timesteps, noise_scheduler) + if args.v_pred_like_loss: + loss = add_v_prediction_like_loss(loss, timesteps, noise_scheduler, args.v_pred_like_loss) + if args.debiased_estimation_loss: + loss = apply_debiased_estimation(loss, timesteps, noise_scheduler) + + loss = loss.mean() # 平均なのでbatch_sizeで割る必要なし + + accelerator.backward(loss) + if not args.fused_backward_pass: + if accelerator.sync_gradients and args.max_grad_norm != 0.0: + params_to_clip = controlnet.parameters() + accelerator.clip_grad_norm_(params_to_clip, args.max_grad_norm) + + optimizer.step() + lr_scheduler.step() + optimizer.zero_grad(set_to_none=True) + else: + # optimizer.step() and optimizer.zero_grad() are called in the optimizer hook + lr_scheduler.step() + + # Checks if the accelerator has performed an optimization step behind the scenes + if accelerator.sync_gradients: + progress_bar.update(1) + global_step += 1 + + sdxl_train_util.sample_images( + accelerator, + args, + None, + global_step, + accelerator.device, + vae, + [tokenizer1, tokenizer2], + [text_encoder1, text_encoder2], + unet, + controlnet=controlnet, + ) + + # 指定ステップごとにモデルを保存 + if args.save_every_n_steps is not None and global_step % args.save_every_n_steps == 0: + accelerator.wait_for_everyone() + if accelerator.is_main_process: + ckpt_name = train_util.get_step_ckpt_name(args, "." + args.save_model_as, global_step) + save_model(ckpt_name,unwrap_model(controlnet)) + + if args.save_state: + train_util.save_and_remove_state_stepwise(args, accelerator, global_step) + + remove_step_no = train_util.get_remove_step_no(args, global_step) + if remove_step_no is not None: + remove_ckpt_name = train_util.get_step_ckpt_name(args, "." + args.save_model_as, remove_step_no) + remove_model(remove_ckpt_name) + + current_loss = loss.detach().item() + loss_recorder.add(epoch=epoch, step=step, loss=current_loss) + avr_loss: float = loss_recorder.moving_average + logs = {"avr_loss": avr_loss} # , "lr": lr_scheduler.get_last_lr()[0]} + progress_bar.set_postfix(**logs) + + if args.logging_dir is not None: + logs = generate_step_logs(args, current_loss, avr_loss, lr_scheduler) + accelerator.log(logs, step=global_step) + + if global_step >= args.max_train_steps: + break + + if args.logging_dir is not None: + logs = {"loss/epoch": loss_recorder.moving_average} + accelerator.log(logs, step=epoch + 1) + + accelerator.wait_for_everyone() + + # 指定エポックごとにモデルを保存 + if args.save_every_n_epochs is not None: + saving = (epoch + 1) % args.save_every_n_epochs == 0 and (epoch + 1) < num_train_epochs + if is_main_process and saving: + ckpt_name = train_util.get_epoch_ckpt_name(args, "." + args.save_model_as, epoch + 1) + save_model(ckpt_name,unwrap_model(controlnet)) + + remove_epoch_no = train_util.get_remove_epoch_no(args, epoch + 1) + if remove_epoch_no is not None: + remove_ckpt_name = train_util.get_epoch_ckpt_name(args, "." + args.save_model_as, remove_epoch_no) + remove_model(remove_ckpt_name) + + if args.save_state: + train_util.save_and_remove_state_on_epoch_end(args, accelerator, epoch + 1) + + sdxl_train_util.sample_images( + accelerator, + args, + epoch + 1, + global_step, + accelerator.device, + vae, + [tokenizer1, tokenizer2], + [text_encoder1, text_encoder2], + unet, + controlnet=controlnet, + ) + + # end of epoch + + if is_main_process: + controlnet = unwrap_model(controlnet) + + accelerator.end_training() + + if is_main_process and (args.save_state or args.save_state_on_train_end): + train_util.save_state_on_train_end(args, accelerator) + + if is_main_process: + ckpt_name = train_util.get_last_ckpt_name(args, "." + args.save_model_as) + save_model( + ckpt_name, controlnet, force_sync_upload=True + ) + + logger.info("model saved.") + + +def setup_parser() -> argparse.ArgumentParser: + parser = argparse.ArgumentParser() + + add_logging_arguments(parser) + train_util.add_sd_models_arguments(parser) + train_util.add_dataset_arguments(parser, False, True, True) + train_util.add_training_arguments(parser, False) + train_util.add_masked_loss_arguments(parser) + deepspeed_utils.add_deepspeed_arguments(parser) + train_util.add_sd_saving_arguments(parser) + train_util.add_optimizer_arguments(parser) + config_util.add_config_arguments(parser) + custom_train_functions.add_custom_train_arguments(parser) + sdxl_train_util.add_sdxl_training_arguments(parser) + + parser.add_argument( + "--controlnet_model_name_or_path", + type=str, + default=None, + help="controlnet model name or path / controlnetのモデル名またはパス", + ) + parser.add_argument( + "--no_half_vae", + action="store_true", + help="do not use fp16/bf16 VAE in mixed precision (use float VAE) / mixed precisionでも fp16/bf16 VAEを使わずfloat VAEを使う", + ) + + return parser + + +if __name__ == "__main__": + # sdxl_original_unet.USE_REENTRANT = False + + parser = setup_parser() + + args = parser.parse_args() + train_util.verify_command_line_training_args(args) + args = train_util.read_config_from_file(args, parser) + + train(args) diff --git a/train_controlnet.py b/train_controlnet.py index c2945b083..8c7882c8f 100644 --- a/train_controlnet.py +++ b/train_controlnet.py @@ -254,6 +254,7 @@ def __contains__(self, name): accelerator.wait_for_everyone() if args.gradient_checkpointing: + unet.enable_gradient_checkpointing() controlnet.enable_gradient_checkpointing() # 学習に必要なクラスを準備する @@ -304,6 +305,20 @@ def __contains__(self, name): controlnet, optimizer, train_dataloader, lr_scheduler ) + if args.fused_backward_pass: + import library.adafactor_fused + library.adafactor_fused.patch_adafactor_fused(optimizer) + for param_group in optimizer.param_groups: + for parameter in param_group["params"]: + if parameter.requires_grad: + def __grad_hook(tensor: torch.Tensor, param_group=param_group): + if accelerator.sync_gradients and args.max_grad_norm != 0.0: + accelerator.clip_grad_norm_(tensor, args.max_grad_norm) + optimizer.step_param(tensor, param_group) + tensor.grad = None + + parameter.register_post_accumulate_grad_hook(__grad_hook) + unet.requires_grad_(False) text_encoder.requires_grad_(False) unet.to(accelerator.device) @@ -497,13 +512,17 @@ def remove_model(old_ckpt_name): loss = loss.mean() # 平均なのでbatch_sizeで割る必要なし accelerator.backward(loss) - if accelerator.sync_gradients and args.max_grad_norm != 0.0: - params_to_clip = controlnet.parameters() - accelerator.clip_grad_norm_(params_to_clip, args.max_grad_norm) - - optimizer.step() - lr_scheduler.step() - optimizer.zero_grad(set_to_none=True) + if not args.fused_backward_pass: + if accelerator.sync_gradients and args.max_grad_norm != 0.0: + params_to_clip = controlnet.parameters() + accelerator.clip_grad_norm_(params_to_clip, args.max_grad_norm) + + optimizer.step() + lr_scheduler.step() + optimizer.zero_grad(set_to_none=True) + else: + # optimizer.step() and optimizer.zero_grad() are called in the optimizer hook + lr_scheduler.step() # Checks if the accelerator has performed an optimization step behind the scenes if accelerator.sync_gradients: From 8919b31145d38a2a790fae6e8e1c34c205c6794e Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 29 Sep 2024 23:07:34 +0900 Subject: [PATCH 258/748] use original ControlNet instead of Diffusers --- gen_img.py | 89 +++- library/sdxl_model_util.py | 2 +- library/sdxl_original_control_net.py | 272 ++++++++++++ library/sdxl_original_unet.py | 14 +- ...controlnet.py => sdxl_train_control_net.py | 390 ++++++++---------- 5 files changed, 528 insertions(+), 239 deletions(-) create mode 100644 library/sdxl_original_control_net.py rename sdxl_train_controlnet.py => sdxl_train_control_net.py (69%) diff --git a/gen_img.py b/gen_img.py index 59bcd5b09..70b3c81ff 100644 --- a/gen_img.py +++ b/gen_img.py @@ -43,8 +43,8 @@ ) from einops import rearrange from tqdm import tqdm -from torchvision import transforms from transformers import CLIPTextModel, CLIPTokenizer, CLIPVisionModelWithProjection, CLIPImageProcessor +from accelerate import init_empty_weights import PIL from PIL import Image from PIL.PngImagePlugin import PngInfo @@ -58,6 +58,7 @@ from tools.original_control_net import ControlNetInfo from library.original_unet import UNet2DConditionModel, InferUNet2DConditionModel from library.sdxl_original_unet import InferSdxlUNet2DConditionModel +from library.sdxl_original_control_net import SdxlControlNet from library.original_unet import FlashAttentionFunction from networks.control_net_lllite import ControlNetLLLite from library.utils import GradualLatent, EulerAncestralDiscreteSchedulerGL @@ -352,8 +353,8 @@ def __init__( self.token_replacements_list.append({}) # ControlNet - self.control_nets: List[ControlNetInfo] = [] # only for SD 1.5 - self.control_net_lllites: List[ControlNetLLLite] = [] + self.control_nets: List[Union[ControlNetInfo, Tuple[SdxlControlNet, float]]] = [] + self.control_net_lllites: List[Tuple[ControlNetLLLite, float]] = [] self.control_net_enabled = True # control_netsが空ならTrueでもFalseでもControlNetは動作しない self.gradual_latent: GradualLatent = None @@ -542,7 +543,7 @@ def __call__( else: text_embeddings = torch.cat([uncond_embeddings, text_embeddings, real_uncond_embeddings]) - if self.control_net_lllites: + if self.control_net_lllites or (self.control_nets and self.is_sdxl): # ControlNetのhintにguide imageを流用する。ControlNetの場合はControlNet側で行う if isinstance(clip_guide_images, PIL.Image.Image): clip_guide_images = [clip_guide_images] @@ -731,7 +732,12 @@ def __call__( num_latent_input = (3 if negative_scale is not None else 2) if do_classifier_free_guidance else 1 if self.control_nets: - guided_hints = original_control_net.get_guided_hints(self.control_nets, num_latent_input, batch_size, clip_guide_images) + if not self.is_sdxl: + guided_hints = original_control_net.get_guided_hints( + self.control_nets, num_latent_input, batch_size, clip_guide_images + ) + else: + clip_guide_images = clip_guide_images * 0.5 + 0.5 # [-1, 1] => [0, 1] each_control_net_enabled = [self.control_net_enabled] * len(self.control_nets) if self.control_net_lllites: @@ -793,7 +799,7 @@ def __call__( latent_model_input = latents.repeat((num_latent_input, 1, 1, 1)) latent_model_input = self.scheduler.scale_model_input(latent_model_input, t) - # disable ControlNet-LLLite if ratio is set. ControlNet is disabled in ControlNetInfo + # disable ControlNet-LLLite or SDXL ControlNet if ratio is set. ControlNet is disabled in ControlNetInfo if self.control_net_lllites: for j, ((control_net, ratio), enabled) in enumerate(zip(self.control_net_lllites, each_control_net_enabled)): if not enabled or ratio >= 1.0: @@ -802,9 +808,16 @@ def __call__( logger.info(f"ControlNetLLLite {j} is disabled (ratio={ratio} at {i} / {len(timesteps)})") control_net.set_cond_image(None) each_control_net_enabled[j] = False + if self.control_nets and self.is_sdxl: + for j, ((control_net, ratio), enabled) in enumerate(zip(self.control_nets, each_control_net_enabled)): + if not enabled or ratio >= 1.0: + continue + if ratio < i / len(timesteps): + logger.info(f"ControlNet {j} is disabled (ratio={ratio} at {i} / {len(timesteps)})") + each_control_net_enabled[j] = False # predict the noise residual - if self.control_nets and self.control_net_enabled: + if self.control_nets and self.control_net_enabled and not self.is_sdxl: if regional_network: num_sub_and_neg_prompts = len(text_embeddings) // batch_size text_emb_last = text_embeddings[num_sub_and_neg_prompts - 2 :: num_sub_and_neg_prompts] # last subprompt @@ -823,6 +836,31 @@ def __call__( text_embeddings, text_emb_last, ).sample + elif self.control_nets: + input_resi_add_list = [] + mid_add_list = [] + for (control_net, _), enbld in zip(self.control_nets, each_control_net_enabled): + if not enbld: + continue + input_resi_add, mid_add = control_net( + latent_model_input, t, text_embeddings, vector_embeddings, clip_guide_images + ) + input_resi_add_list.append(input_resi_add) + mid_add_list.append(mid_add) + if len(input_resi_add_list) == 0: + noise_pred = self.unet(latent_model_input, t, text_embeddings, vector_embeddings) + else: + if len(input_resi_add_list) > 1: + # get mean of input_resi_add_list and mid_add_list + input_resi_add_mean = [] + for i in range(len(input_resi_add_list[0])): + input_resi_add_mean.append( + torch.mean(torch.stack([input_resi_add_list[j][i] for j in range(len(input_resi_add_list))], dim=0)) + ) + input_resi_add = input_resi_add_mean + mid_add = torch.mean(torch.stack(mid_add_list), dim=0) + + noise_pred = self.unet(latent_model_input, t, text_embeddings, vector_embeddings, input_resi_add, mid_add) elif self.is_sdxl: noise_pred = self.unet(latent_model_input, t, text_embeddings, vector_embeddings) else: @@ -1827,16 +1865,37 @@ def __getattr__(self, item): upscaler.to(dtype).to(device) # ControlNetの処理 - control_nets: List[ControlNetInfo] = [] + control_nets: List[Union[ControlNetInfo, Tuple[SdxlControlNet, float]]] = [] if args.control_net_models: - for i, model in enumerate(args.control_net_models): - prep_type = None if not args.control_net_preps or len(args.control_net_preps) <= i else args.control_net_preps[i] - weight = 1.0 if not args.control_net_weights or len(args.control_net_weights) <= i else args.control_net_weights[i] - ratio = 1.0 if not args.control_net_ratios or len(args.control_net_ratios) <= i else args.control_net_ratios[i] + if not is_sdxl: + for i, model in enumerate(args.control_net_models): + prep_type = None if not args.control_net_preps or len(args.control_net_preps) <= i else args.control_net_preps[i] + weight = 1.0 if not args.control_net_weights or len(args.control_net_weights) <= i else args.control_net_weights[i] + ratio = 1.0 if not args.control_net_ratios or len(args.control_net_ratios) <= i else args.control_net_ratios[i] + + ctrl_unet, ctrl_net = original_control_net.load_control_net(args.v2, unet, model) + prep = original_control_net.load_preprocess(prep_type) + control_nets.append(ControlNetInfo(ctrl_unet, ctrl_net, prep, weight, ratio)) + else: + for i, model_file in enumerate(args.control_net_models): + multiplier = ( + 1.0 + if not args.control_net_multipliers or len(args.control_net_multipliers) <= i + else args.control_net_multipliers[i] + ) + ratio = 1.0 if not args.control_net_ratios or len(args.control_net_ratios) <= i else args.control_net_ratios[i] + + logger.info(f"loading SDXL ControlNet: {model_file}") + from safetensors.torch import load_file + + state_dict = load_file(model_file) - ctrl_unet, ctrl_net = original_control_net.load_control_net(args.v2, unet, model) - prep = original_control_net.load_preprocess(prep_type) - control_nets.append(ControlNetInfo(ctrl_unet, ctrl_net, prep, weight, ratio)) + logger.info(f"Initalizing SDXL ControlNet with multiplier: {multiplier}") + with init_empty_weights(): + control_net = SdxlControlNet(multiplier=multiplier) + control_net.load_state_dict(state_dict) + control_net.to(dtype).to(device) + control_nets.append((control_net, ratio)) control_net_lllites: List[Tuple[ControlNetLLLite, float]] = [] if args.control_net_lllite_models: diff --git a/library/sdxl_model_util.py b/library/sdxl_model_util.py index 4fad78a1c..0466c1fa5 100644 --- a/library/sdxl_model_util.py +++ b/library/sdxl_model_util.py @@ -8,7 +8,7 @@ from diffusers import AutoencoderKL, EulerDiscreteScheduler, UNet2DConditionModel from library import model_util from library import sdxl_original_unet -from .utils import setup_logging +from library.utils import setup_logging setup_logging() import logging diff --git a/library/sdxl_original_control_net.py b/library/sdxl_original_control_net.py new file mode 100644 index 000000000..3af45f4db --- /dev/null +++ b/library/sdxl_original_control_net.py @@ -0,0 +1,272 @@ +# some parts are modified from Diffusers library (Apache License 2.0) + +import math +from types import SimpleNamespace +from typing import Any, Optional +import torch +import torch.utils.checkpoint +from torch import nn +from torch.nn import functional as F +from einops import rearrange +from library.utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + +from library import sdxl_original_unet +from library.sdxl_model_util import convert_sdxl_unet_state_dict_to_diffusers, convert_diffusers_unet_state_dict_to_sdxl + + +class ControlNetConditioningEmbedding(nn.Module): + def __init__(self): + super().__init__() + + dims = [16, 32, 96, 256] + + self.conv_in = nn.Conv2d(3, dims[0], kernel_size=3, padding=1) + self.blocks = nn.ModuleList([]) + + for i in range(len(dims) - 1): + channel_in = dims[i] + channel_out = dims[i + 1] + self.blocks.append(nn.Conv2d(channel_in, channel_in, kernel_size=3, padding=1)) + self.blocks.append(nn.Conv2d(channel_in, channel_out, kernel_size=3, padding=1, stride=2)) + + self.conv_out = nn.Conv2d(dims[-1], 320, kernel_size=3, padding=1) + nn.init.zeros_(self.conv_out.weight) # zero module weight + nn.init.zeros_(self.conv_out.bias) # zero module bias + + def forward(self, x): + x = self.conv_in(x) + x = F.silu(x) + for block in self.blocks: + x = block(x) + x = F.silu(x) + x = self.conv_out(x) + return x + + +class SdxlControlNet(sdxl_original_unet.SdxlUNet2DConditionModel): + def __init__(self, multiplier: Optional[float] = None, **kwargs): + super().__init__(**kwargs) + self.multiplier = multiplier + + # remove unet layers + self.output_blocks = nn.ModuleList([]) + del self.out + + self.controlnet_cond_embedding = ControlNetConditioningEmbedding() + + dims = [320, 320, 320, 320, 640, 640, 640, 1280, 1280] + self.controlnet_down_blocks = nn.ModuleList([]) + for dim in dims: + self.controlnet_down_blocks.append(nn.Conv2d(dim, dim, kernel_size=1)) + nn.init.zeros_(self.controlnet_down_blocks[-1].weight) # zero module weight + nn.init.zeros_(self.controlnet_down_blocks[-1].bias) # zero module bias + + self.controlnet_mid_block = nn.Conv2d(1280, 1280, kernel_size=1) + nn.init.zeros_(self.controlnet_mid_block.weight) # zero module weight + nn.init.zeros_(self.controlnet_mid_block.bias) # zero module bias + + def init_from_unet(self, unet: sdxl_original_unet.SdxlUNet2DConditionModel): + unet_sd = unet.state_dict() + unet_sd = {k: v for k, v in unet_sd.items() if not k.startswith("out")} + sd = super().state_dict() + sd.update(unet_sd) + info = super().load_state_dict(sd, strict=True, assign=True) + return info + + def load_state_dict(self, state_dict: dict, strict: bool = True, assign: bool = True) -> Any: + # convert state_dict to SAI format + unet_sd = {} + for k in list(state_dict.keys()): + if not k.startswith("controlnet_"): + unet_sd[k] = state_dict.pop(k) + unet_sd = convert_diffusers_unet_state_dict_to_sdxl(unet_sd) + state_dict.update(unet_sd) + super().load_state_dict(state_dict, strict=strict, assign=assign) + + def state_dict(self, destination=None, prefix="", keep_vars=False): + # convert state_dict to Diffusers format + state_dict = super().state_dict(destination, prefix, keep_vars) + control_net_sd = {} + for k in list(state_dict.keys()): + if k.startswith("controlnet_"): + control_net_sd[k] = state_dict.pop(k) + state_dict = convert_sdxl_unet_state_dict_to_diffusers(state_dict) + state_dict.update(control_net_sd) + return state_dict + + def forward( + self, + x: torch.Tensor, + timesteps: Optional[torch.Tensor] = None, + context: Optional[torch.Tensor] = None, + y: Optional[torch.Tensor] = None, + cond_image: Optional[torch.Tensor] = None, + **kwargs, + ) -> torch.Tensor: + # broadcast timesteps to batch dimension + timesteps = timesteps.expand(x.shape[0]) + + t_emb = sdxl_original_unet.get_timestep_embedding(timesteps, self.model_channels, downscale_freq_shift=0) + t_emb = t_emb.to(x.dtype) + emb = self.time_embed(t_emb) + + assert x.shape[0] == y.shape[0], f"batch size mismatch: {x.shape[0]} != {y.shape[0]}" + assert x.dtype == y.dtype, f"dtype mismatch: {x.dtype} != {y.dtype}" + emb = emb + self.label_emb(y) + + def call_module(module, h, emb, context): + x = h + for layer in module: + if isinstance(layer, sdxl_original_unet.ResnetBlock2D): + x = layer(x, emb) + elif isinstance(layer, sdxl_original_unet.Transformer2DModel): + x = layer(x, context) + else: + x = layer(x) + return x + + h = x + multiplier = self.multiplier if self.multiplier is not None else 1.0 + hs = [] + for i, module in enumerate(self.input_blocks): + h = call_module(module, h, emb, context) + if i == 0: + h = self.controlnet_cond_embedding(cond_image) + h + hs.append(self.controlnet_down_blocks[i](h) * multiplier) + + h = call_module(self.middle_block, h, emb, context) + h = self.controlnet_mid_block(h) * multiplier + + return hs, h + + +class SdxlControlledUNet(sdxl_original_unet.SdxlUNet2DConditionModel): + """ + This class is for training purpose only. + """ + + def __init__(self, **kwargs): + super().__init__(**kwargs) + + def forward(self, x, timesteps=None, context=None, y=None, input_resi_add=None, mid_add=None, **kwargs): + # broadcast timesteps to batch dimension + timesteps = timesteps.expand(x.shape[0]) + + hs = [] + t_emb = sdxl_original_unet.get_timestep_embedding(timesteps, self.model_channels, downscale_freq_shift=0) + t_emb = t_emb.to(x.dtype) + emb = self.time_embed(t_emb) + + assert x.shape[0] == y.shape[0], f"batch size mismatch: {x.shape[0]} != {y.shape[0]}" + assert x.dtype == y.dtype, f"dtype mismatch: {x.dtype} != {y.dtype}" + emb = emb + self.label_emb(y) + + def call_module(module, h, emb, context): + x = h + for layer in module: + if isinstance(layer, sdxl_original_unet.ResnetBlock2D): + x = layer(x, emb) + elif isinstance(layer, sdxl_original_unet.Transformer2DModel): + x = layer(x, context) + else: + x = layer(x) + return x + + h = x + for module in self.input_blocks: + h = call_module(module, h, emb, context) + hs.append(h) + + h = call_module(self.middle_block, h, emb, context) + h = h + mid_add + + for module in self.output_blocks: + resi = hs.pop() + input_resi_add.pop() + h = torch.cat([h, resi], dim=1) + h = call_module(module, h, emb, context) + + h = h.type(x.dtype) + h = call_module(self.out, h, emb, context) + + return h + + +if __name__ == "__main__": + import time + + logger.info("create unet") + unet = SdxlControlledUNet() + unet.to("cuda", torch.bfloat16) + unet.set_use_sdpa(True) + unet.set_gradient_checkpointing(True) + unet.train() + + logger.info("create control_net") + control_net = SdxlControlNet() + control_net.to("cuda") + control_net.set_use_sdpa(True) + control_net.set_gradient_checkpointing(True) + control_net.train() + + logger.info("Initialize control_net from unet") + control_net.init_from_unet(unet) + + unet.requires_grad_(False) + control_net.requires_grad_(True) + + # 使用メモリ量確認用の疑似学習ループ + logger.info("preparing optimizer") + + # optimizer = torch.optim.SGD(unet.parameters(), lr=1e-3, nesterov=True, momentum=0.9) # not working + + import bitsandbytes + + optimizer = bitsandbytes.adam.Adam8bit(control_net.parameters(), lr=1e-3) # not working + # optimizer = bitsandbytes.optim.RMSprop8bit(unet.parameters(), lr=1e-3) # working at 23.5 GB with torch2 + # optimizer=bitsandbytes.optim.Adagrad8bit(unet.parameters(), lr=1e-3) # working at 23.5 GB with torch2 + + # import transformers + # optimizer = transformers.optimization.Adafactor(unet.parameters(), relative_step=True) # working at 22.2GB with torch2 + + scaler = torch.cuda.amp.GradScaler(enabled=True) + + logger.info("start training") + steps = 10 + batch_size = 1 + + for step in range(steps): + logger.info(f"step {step}") + if step == 1: + time_start = time.perf_counter() + + x = torch.randn(batch_size, 4, 128, 128).cuda() # 1024x1024 + t = torch.randint(low=0, high=1000, size=(batch_size,), device="cuda") + txt = torch.randn(batch_size, 77, 2048).cuda() + vector = torch.randn(batch_size, sdxl_original_unet.ADM_IN_CHANNELS).cuda() + cond_img = torch.rand(batch_size, 3, 1024, 1024).cuda() + + with torch.cuda.amp.autocast(enabled=True, dtype=torch.bfloat16): + input_resi_add, mid_add = control_net(x, t, txt, vector, cond_img) + output = unet(x, t, txt, vector, input_resi_add, mid_add) + target = torch.randn_like(output) + loss = torch.nn.functional.mse_loss(output, target) + + scaler.scale(loss).backward() + scaler.step(optimizer) + scaler.update() + optimizer.zero_grad(set_to_none=True) + + time_end = time.perf_counter() + logger.info(f"elapsed time: {time_end - time_start} [sec] for last {steps - 1} steps") + + logger.info("finish training") + sd = control_net.state_dict() + + from safetensors.torch import save_file + + save_file(sd, r"E:\Work\SD\Tmp\sdxl\ctrl\control_net.safetensors") diff --git a/library/sdxl_original_unet.py b/library/sdxl_original_unet.py index 17c345a89..0aa07d0d6 100644 --- a/library/sdxl_original_unet.py +++ b/library/sdxl_original_unet.py @@ -30,7 +30,7 @@ from torch import nn from torch.nn import functional as F from einops import rearrange -from .utils import setup_logging +from library.utils import setup_logging setup_logging() import logging @@ -1156,9 +1156,9 @@ def set_deep_shrink(self, ds_depth_1, ds_timesteps_1=650, ds_depth_2=None, ds_ti self.ds_timesteps_2 = ds_timesteps_2 if ds_timesteps_2 is not None else 1000 self.ds_ratio = ds_ratio - def forward(self, x, timesteps=None, context=None, y=None, **kwargs): + def forward(self, x, timesteps=None, context=None, y=None, input_resi_add=None, mid_add=None, **kwargs): r""" - current implementation is a copy of `SdxlUNet2DConditionModel.forward()` with Deep Shrink. + current implementation is a copy of `SdxlUNet2DConditionModel.forward()` with Deep Shrink and ControlNet. """ _self = self.delegate @@ -1209,6 +1209,8 @@ def call_module(module, h, emb, context): hs.append(h) h = call_module(_self.middle_block, h, emb, context) + if mid_add is not None: + h = h + mid_add for module in _self.output_blocks: # Deep Shrink @@ -1217,7 +1219,11 @@ def call_module(module, h, emb, context): # print("upsample", h.shape, hs[-1].shape) h = resize_like(h, hs[-1]) - h = torch.cat([h, hs.pop()], dim=1) + resi = hs.pop() + if input_resi_add is not None: + resi = resi + input_resi_add.pop() + + h = torch.cat([h, resi], dim=1) h = call_module(module, h, emb, context) # Deep Shrink: in case of depth 0 diff --git a/sdxl_train_controlnet.py b/sdxl_train_control_net.py similarity index 69% rename from sdxl_train_controlnet.py rename to sdxl_train_control_net.py index 00026d2cc..74dcff2af 100644 --- a/sdxl_train_controlnet.py +++ b/sdxl_train_control_net.py @@ -14,6 +14,7 @@ from torch.nn.parallel import DistributedDataParallel as DDP from accelerate.utils import set_seed +from accelerate import init_empty_weights from diffusers import DDPMScheduler, ControlNetModel from diffusers.utils.torch_utils import is_compiled_module from safetensors.torch import load_file @@ -23,6 +24,9 @@ sdxl_model_util, sdxl_original_unet, sdxl_train_util, + strategy_base, + strategy_sd, + strategy_sdxl, ) import library.model_util as model_util @@ -41,6 +45,7 @@ scale_v_prediction_loss_like_noise_prediction, apply_debiased_estimation, ) +from library.sdxl_original_control_net import SdxlControlNet, SdxlControlledUNet from library.utils import setup_logging, add_logging_arguments setup_logging() @@ -58,10 +63,7 @@ def generate_step_logs(args: argparse.Namespace, current_loss, avr_loss, lr_sche } if args.optimizer_type.lower().startswith("DAdapt".lower()): - logs["lr/d*lr"] = ( - lr_scheduler.optimizers[-1].param_groups[0]["d"] - * lr_scheduler.optimizers[-1].param_groups[0]["lr"] - ) + logs["lr/d*lr"] = lr_scheduler.optimizers[-1].param_groups[0]["d"] * lr_scheduler.optimizers[-1].param_groups[0]["lr"] return logs @@ -79,7 +81,14 @@ def train(args): args.seed = random.randint(0, 2**32) set_seed(args.seed) - tokenizer1, tokenizer2 = sdxl_train_util.load_tokenizers(args) + tokenize_strategy = strategy_sdxl.SdxlTokenizeStrategy(args.max_token_length, args.tokenizer_cache_dir) + strategy_base.TokenizeStrategy.set_strategy(tokenize_strategy) + + # prepare caching strategy: this must be set before preparing dataset. because dataset may use this strategy for initialization. + latents_caching_strategy = strategy_sd.SdSdxlLatentsCachingStrategy( + False, args.cache_latents_to_disk, args.vae_batch_size, False + ) + strategy_base.LatentsCachingStrategy.set_strategy(latents_caching_strategy) # データセットを準備する blueprint_generator = BlueprintGenerator(ConfigSanitizer(False, False, True, True)) @@ -106,17 +115,18 @@ def train(args): ] } - blueprint = blueprint_generator.generate(user_config, args, tokenizer=[tokenizer1, tokenizer2]) + blueprint = blueprint_generator.generate(user_config, args) train_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) current_epoch = Value("i", 0) current_step = Value("i", 0) - ds_for_collator = (train_dataset_group if args.max_data_loader_n_workers == 0 else None) + ds_for_collator = train_dataset_group if args.max_data_loader_n_workers == 0 else None collator = train_util.collator_class(current_epoch, current_step, ds_for_collator) train_dataset_group.verify_bucket_reso_steps(32) if args.debug_dataset: + train_dataset_group.set_current_strategies() # dasaset needs to know the strategies explicitly train_util.debug_dataset(train_dataset_group) return if len(train_dataset_group) == 0: @@ -162,86 +172,99 @@ def unwrap_model(model): unet, logit_scale, ckpt_info, - ) = sdxl_train_util.load_target_model( - args, accelerator, sdxl_model_util.MODEL_VERSION_SDXL_BASE_V1_0, weight_dtype - ) + ) = sdxl_train_util.load_target_model(args, accelerator, sdxl_model_util.MODEL_VERSION_SDXL_BASE_V1_0, weight_dtype) + + unet.to(accelerator.device) # reduce main memory usage + + # convert U-Net to Controlled U-Net + logger.info("convert U-Net to Controlled U-Net") + unet_sd = unet.state_dict() + with init_empty_weights(): + unet = SdxlControlledUNet() + unet.load_state_dict(unet_sd, strict=True, assign=True) + del unet_sd + + # make control net + logger.info("make ControlNet") + if args.controlnet_model_path: + with init_empty_weights(): + control_net = SdxlControlNet() + + logger.info(f"load ControlNet from {args.controlnet_model_path}") + filename = args.controlnet_model_path + if os.path.splitext(filename)[1] == ".safetensors": + state_dict = load_file(filename) + else: + state_dict = torch.load(filename) + info = control_net.load_state_dict(state_dict, strict=True, assign=True) + logger.info(f"ControlNet loaded from {filename}: {info}") + else: + control_net = SdxlControlNet() - # convert U-Net - with torch.no_grad(): - du_unet_sd = sdxl_model_util.convert_sdxl_unet_state_dict_to_diffusers(unet.state_dict()) - unet.to("cpu") - clean_memory_on_device(accelerator.device) - del unet - unet = sdxl_model_util.UNet2DConditionModel(**sdxl_model_util.DIFFUSERS_SDXL_UNET_CONFIG) - unet.load_state_dict(du_unet_sd) - - controlnet = ControlNetModel.from_unet(unet) - - if args.controlnet_model_name_or_path: - filename = args.controlnet_model_name_or_path - if os.path.isfile(filename): - if os.path.splitext(filename)[1] == ".safetensors": - state_dict = load_file(filename) - else: - state_dict = torch.load(filename) - state_dict = model_util.convert_controlnet_state_dict_to_diffusers(state_dict) - controlnet.load_state_dict(state_dict) - elif os.path.isdir(filename): - controlnet = ControlNetModel.from_pretrained(filename) + logger.info("initialize ControlNet from U-Net") + info = control_net.init_from_unet(unet) + logger.info(f"ControlNet initialized from U-Net: {info}") # 学習を準備する if cache_latents: vae.to(accelerator.device, dtype=vae_dtype) vae.requires_grad_(False) vae.eval() - with torch.no_grad(): - train_dataset_group.cache_latents( - vae, - args.vae_batch_size, - args.cache_latents_to_disk, - accelerator.is_main_process, - ) + + train_dataset_group.new_cache_latents(vae, accelerator.is_main_process) + vae.to("cpu") clean_memory_on_device(accelerator.device) accelerator.wait_for_everyone() + text_encoding_strategy = strategy_sdxl.SdxlTextEncodingStrategy() + strategy_base.TextEncodingStrategy.set_strategy(text_encoding_strategy) + # TextEncoderの出力をキャッシュする if args.cache_text_encoder_outputs: # Text Encodes are eval and no grad - with torch.no_grad(): - train_dataset_group.cache_text_encoder_outputs( - (tokenizer1, tokenizer2), - (text_encoder1, text_encoder2), - accelerator.device, - None, - args.cache_text_encoder_outputs_to_disk, - accelerator.is_main_process, - ) + text_encoder_output_caching_strategy = strategy_sdxl.SdxlTextEncoderOutputsCachingStrategy( + args.cache_text_encoder_outputs_to_disk, None, False + ) + strategy_base.TextEncoderOutputsCachingStrategy.set_strategy(text_encoder_output_caching_strategy) + + text_encoder1.to(accelerator.device) + text_encoder2.to(accelerator.device) + with accelerator.autocast(): + train_dataset_group.new_cache_text_encoder_outputs([text_encoder1, text_encoder2], accelerator.is_main_process) + accelerator.wait_for_everyone() # モデルに xformers とか memory efficient attention を組み込む # train_util.replace_unet_modules(unet, args.mem_eff_attn, args.xformers, args.sdpa) if args.xformers: - unet.enable_xformers_memory_efficient_attention() - controlnet.enable_xformers_memory_efficient_attention() + unet.set_use_memory_efficient_attention(True, False) + control_net.set_use_memory_efficient_attention(True, False) + elif args.sdpa: + unet.set_use_sdpa(True) + control_net.set_use_sdpa(True) if args.gradient_checkpointing: unet.enable_gradient_checkpointing() - controlnet.enable_gradient_checkpointing() + control_net.enable_gradient_checkpointing() # 学習に必要なクラスを準備する accelerator.print("prepare optimizer, data loader etc.") - trainable_params = list(filter(lambda p: p.requires_grad, controlnet.parameters())) + trainable_params = list(control_net.parameters()) + # for p in trainable_params: + # p.requires_grad = True logger.info(f"trainable params count: {len(trainable_params)}") - logger.info( - f"number of trainable parameters: {sum(p.numel() for p in trainable_params if p.requires_grad)}" - ) + logger.info(f"number of trainable parameters: {sum(p.numel() for p in trainable_params if p.requires_grad)}") _, _, optimizer = train_util.get_optimizer(args, trainable_params) - # dataloaderを準備する + # prepare dataloader + # strategies are set here because they cannot be referenced in another process. Copy them with the dataset + # some strategies can be None + train_dataset_group.set_current_strategies() + # DataLoaderのプロセス数:0 は persistent_workers が使えないので注意 n_workers = min(args.max_data_loader_n_workers, os.cpu_count()) # cpu_count or max_data_loader_n_workers @@ -257,7 +280,7 @@ def unwrap_model(model): # 学習ステップ数を計算する if args.max_train_epochs is not None: args.max_train_steps = args.max_train_epochs * math.ceil( - len(train_dataloader)/ accelerator.num_processes/ args.gradient_accumulation_steps + len(train_dataloader) / accelerator.num_processes / args.gradient_accumulation_steps ) accelerator.print( f"override steps. steps for {args.max_train_epochs} epochs is / 指定エポックまでのステップ数: {args.max_train_steps}" @@ -267,9 +290,7 @@ def unwrap_model(model): train_dataset_group.set_max_train_steps(args.max_train_steps) # lr schedulerを用意する - lr_scheduler = train_util.get_scheduler_fix( - args, optimizer, accelerator.num_processes - ) + lr_scheduler = train_util.get_scheduler_fix(args, optimizer, accelerator.num_processes) # 実験的機能:勾配も含めたfp16/bf16学習を行う モデル全体をfp16/bf16にする if args.full_fp16: @@ -277,19 +298,17 @@ def unwrap_model(model): args.mixed_precision == "fp16" ), "full_fp16 requires mixed precision='fp16' / full_fp16を使う場合はmixed_precision='fp16'を指定してください。" accelerator.print("enable full fp16 training.") - controlnet.to(weight_dtype) - unet.to(weight_dtype) + control_net.to(weight_dtype) elif args.full_bf16: assert ( args.mixed_precision == "bf16" ), "full_bf16 requires mixed precision='bf16' / full_bf16を使う場合はmixed_precision='bf16'を指定してください。" accelerator.print("enable full bf16 training.") - controlnet.to(weight_dtype) - unet.to(weight_dtype) + control_net.to(weight_dtype) # acceleratorがなんかよろしくやってくれるらしい - controlnet, optimizer, train_dataloader, lr_scheduler = accelerator.prepare( - controlnet, optimizer, train_dataloader, lr_scheduler + control_net, optimizer, train_dataloader, lr_scheduler = accelerator.prepare( + control_net, optimizer, train_dataloader, lr_scheduler ) if args.fused_backward_pass: @@ -314,10 +333,8 @@ def __grad_hook(tensor: torch.Tensor, param_group=param_group): text_encoder2.requires_grad_(False) unet.to(accelerator.device, dtype=weight_dtype) - # transform DDP after prepare - controlnet = controlnet.module if isinstance(controlnet, DDP) else controlnet - - controlnet.train() + unet.eval() + control_net.train() # TextEncoderの出力をキャッシュするときにはCPUへ移動する if args.cache_text_encoder_outputs: @@ -362,26 +379,15 @@ def __grad_hook(tensor: torch.Tensor, param_group=param_group): accelerator.print(f" gradient accumulation steps / 勾配を合計するステップ数 = {args.gradient_accumulation_steps}") accelerator.print(f" total optimization steps / 学習ステップ数: {args.max_train_steps}") - progress_bar = tqdm( - range(args.max_train_steps), - smoothing=0, - disable=not accelerator.is_local_main_process, - desc="steps", - ) + progress_bar = tqdm(range(args.max_train_steps), smoothing=0, disable=not accelerator.is_local_main_process, desc="steps") global_step = 0 noise_scheduler = DDPMScheduler( - beta_start=0.00085, - beta_end=0.012, - beta_schedule="scaled_linear", - num_train_timesteps=1000, - clip_sample=False, + beta_start=0.00085, beta_end=0.012, beta_schedule="scaled_linear", num_train_timesteps=1000, clip_sample=False ) prepare_scheduler_for_custom_training(noise_scheduler, accelerator.device) if args.zero_terminal_snr: - custom_train_functions.fix_noise_scheduler_betas_for_zero_terminal_snr( - noise_scheduler - ) + custom_train_functions.fix_noise_scheduler_betas_for_zero_terminal_snr(noise_scheduler) if accelerator.is_main_process: init_kwargs = {} @@ -390,11 +396,7 @@ def __grad_hook(tensor: torch.Tensor, param_group=param_group): if args.log_tracker_config is not None: init_kwargs = toml.load(args.log_tracker_config) accelerator.init_trackers( - ( - "controlnet_train" - if args.log_tracker_name is None - else args.log_tracker_name - ), + ("sdxl_control_net_train" if args.log_tracker_name is None else args.log_tracker_name), config=train_util.get_sanitized_config_or_none(args), init_kwargs=init_kwargs, ) @@ -409,10 +411,8 @@ def save_model(ckpt_name, model, force_sync_upload=False): accelerator.print(f"\nsaving checkpoint: {ckpt_file}") sai_metadata = train_util.get_sai_model_spec(None, args, True, True, False) - sai_metadata["modelspec.architecture"] = ( - sai_model_spec.ARCH_SD_XL_V1_BASE + "/controlnet" - ) - state_dict = model_util.convert_controlnet_state_dict_to_sd(model.state_dict()) + sai_metadata["modelspec.architecture"] = sai_model_spec.ARCH_SD_XL_V1_BASE + "/controlnet" + state_dict = model.state_dict() if save_dtype is not None: for key in list(state_dict.keys()): @@ -436,19 +436,19 @@ def remove_model(old_ckpt_name): accelerator.print(f"removing old checkpoint: {old_ckpt_file}") os.remove(old_ckpt_file) - # For --sample_at_first - sdxl_train_util.sample_images( - accelerator, - args, - 0, - global_step, - accelerator.device, - vae, - [tokenizer1, tokenizer2], - [text_encoder1, text_encoder2], - unet, - controlnet=controlnet, - ) + # # For --sample_at_first + # sdxl_train_util.sample_images( + # accelerator, + # args, + # 0, + # global_step, + # accelerator.device, + # vae, + # [tokenizer1, tokenizer2], + # [text_encoder1, text_encoder2], + # unet, + # controlnet=control_net, + # ) # training loop for epoch in range(num_train_epochs): @@ -457,121 +457,63 @@ def remove_model(old_ckpt_name): for step, batch in enumerate(train_dataloader): current_step.value = global_step - with accelerator.accumulate(controlnet): + with accelerator.accumulate(control_net): with torch.no_grad(): if "latents" in batch and batch["latents"] is not None: - latents = ( - batch["latents"] - .to(accelerator.device) - .to(dtype=weight_dtype) - ) + latents = batch["latents"].to(accelerator.device).to(dtype=weight_dtype) else: # latentに変換 - latents = ( - vae.encode(batch["images"].to(dtype=vae_dtype)) - .latent_dist.sample() - .to(dtype=weight_dtype) - ) + latents = vae.encode(batch["images"].to(dtype=vae_dtype)).latent_dist.sample().to(dtype=weight_dtype) # NaNが含まれていれば警告を表示し0に置き換える if torch.any(torch.isnan(latents)): - accelerator.print( - "NaN found in latents, replacing with zeros" - ) + accelerator.print("NaN found in latents, replacing with zeros") latents = torch.nan_to_num(latents, 0, out=latents) latents = latents * sdxl_model_util.VAE_SCALE_FACTOR - if ( - "text_encoder_outputs1_list" not in batch - or batch["text_encoder_outputs1_list"] is None - ): - input_ids1 = batch["input_ids"] - input_ids2 = batch["input_ids2"] + text_encoder_outputs_list = batch.get("text_encoder_outputs_list", None) + if text_encoder_outputs_list is not None: + # Text Encoder outputs are cached + encoder_hidden_states1, encoder_hidden_states2, pool2 = text_encoder_outputs_list + encoder_hidden_states1 = encoder_hidden_states1.to(accelerator.device, dtype=weight_dtype) + encoder_hidden_states2 = encoder_hidden_states2.to(accelerator.device, dtype=weight_dtype) + pool2 = pool2.to(accelerator.device, dtype=weight_dtype) + else: + input_ids1, input_ids2 = batch["input_ids_list"] with torch.no_grad(): - # Get the text embedding for conditioning input_ids1 = input_ids1.to(accelerator.device) input_ids2 = input_ids2.to(accelerator.device) - encoder_hidden_states1, encoder_hidden_states2, pool2 = ( - train_util.get_hidden_states_sdxl( - args.max_token_length, - input_ids1, - input_ids2, - tokenizer1, - tokenizer2, - text_encoder1, - text_encoder2, - None if not args.full_fp16 else weight_dtype, - ) + encoder_hidden_states1, encoder_hidden_states2, pool2 = text_encoding_strategy.encode_tokens( + tokenize_strategy, [text_encoder1, text_encoder2], [input_ids1, input_ids2] ) - else: - encoder_hidden_states1 = ( - batch["text_encoder_outputs1_list"] - .to(accelerator.device) - .to(weight_dtype) - ) - encoder_hidden_states2 = ( - batch["text_encoder_outputs2_list"] - .to(accelerator.device) - .to(weight_dtype) - ) - pool2 = ( - batch["text_encoder_pool2_list"] - .to(accelerator.device) - .to(weight_dtype) - ) + if args.full_fp16: + encoder_hidden_states1 = encoder_hidden_states1.to(weight_dtype) + encoder_hidden_states2 = encoder_hidden_states2.to(weight_dtype) + pool2 = pool2.to(weight_dtype) # get size embeddings orig_size = batch["original_sizes_hw"] crop_size = batch["crop_top_lefts"] target_size = batch["target_sizes_hw"] - # embs = sdxl_train_util.get_size_embeddings( - # orig_size, crop_size, target_size, accelerator.device - # ).to(weight_dtype) + embs = sdxl_train_util.get_size_embeddings(orig_size, crop_size, target_size, accelerator.device).to(weight_dtype) - embs = torch.cat([orig_size, crop_size, target_size]).to(accelerator.device).to(weight_dtype) #B,6 # concat embeddings - #vector_embedding = torch.cat([pool2, embs], dim=1).to(weight_dtype) - vector_embedding_dict = { - "text_embeds": pool2, - "time_ids": embs - } - text_embedding = torch.cat( - [encoder_hidden_states1, encoder_hidden_states2], dim=2 - ).to(weight_dtype) + vector_embedding = torch.cat([pool2, embs], dim=1).to(weight_dtype) + text_embedding = torch.cat([encoder_hidden_states1, encoder_hidden_states2], dim=2).to(weight_dtype) # Sample noise, sample a random timestep for each image, and add noise to the latents, # with noise offset and/or multires noise if specified - noise, noisy_latents, timesteps, huber_c = ( - train_util.get_noise_noisy_latents_and_timesteps( - args, noise_scheduler, latents - ) + noise, noisy_latents, timesteps, huber_c = train_util.get_noise_noisy_latents_and_timesteps( + args, noise_scheduler, latents ) controlnet_image = batch["conditioning_images"].to(dtype=weight_dtype) - with accelerator.autocast(): - down_block_res_samples, mid_block_res_sample = controlnet( - noisy_latents, - timesteps, - encoder_hidden_states=text_embedding, - added_cond_kwargs=vector_embedding_dict, - controlnet_cond=controlnet_image, - return_dict=False, + input_resi_add, mid_add = control_net( + noisy_latents, timesteps, text_embedding, vector_embedding, controlnet_image ) - - # Predict the noise residual - noise_pred = unet( - noisy_latents, - timesteps, - encoder_hidden_states=text_embedding, - added_cond_kwargs=vector_embedding_dict, - down_block_additional_residuals=[ - sample.to(dtype=weight_dtype) for sample in down_block_res_samples - ], - mid_block_additional_residual=mid_block_res_sample.to(dtype=weight_dtype), - return_dict=False, - )[0] + noise_pred = unet(noisy_latents, timesteps, text_embedding, vector_embedding, input_resi_add, mid_add) if args.v_parameterization: # v-parameterization training @@ -580,7 +522,7 @@ def remove_model(old_ckpt_name): target = noise loss = train_util.conditional_loss( - noise_pred.float(),target.float(),reduction="none",loss_type=args.loss_type,huber_c=huber_c, + noise_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=huber_c ) loss = loss.mean([1, 2, 3]) @@ -588,7 +530,7 @@ def remove_model(old_ckpt_name): loss = loss * loss_weights if args.min_snr_gamma: - loss = apply_snr_weight(loss,timesteps,noise_scheduler,args.min_snr_gamma,args.v_parameterization) + loss = apply_snr_weight(loss, timesteps, noise_scheduler, args.min_snr_gamma, args.v_parameterization) if args.scale_v_pred_loss_like_noise_pred: loss = scale_v_prediction_loss_like_noise_prediction(loss, timesteps, noise_scheduler) if args.v_pred_like_loss: @@ -601,7 +543,7 @@ def remove_model(old_ckpt_name): accelerator.backward(loss) if not args.fused_backward_pass: if accelerator.sync_gradients and args.max_grad_norm != 0.0: - params_to_clip = controlnet.parameters() + params_to_clip = control_net.parameters() accelerator.clip_grad_norm_(params_to_clip, args.max_grad_norm) optimizer.step() @@ -616,25 +558,25 @@ def remove_model(old_ckpt_name): progress_bar.update(1) global_step += 1 - sdxl_train_util.sample_images( - accelerator, - args, - None, - global_step, - accelerator.device, - vae, - [tokenizer1, tokenizer2], - [text_encoder1, text_encoder2], - unet, - controlnet=controlnet, - ) + # sdxl_train_util.sample_images( + # accelerator, + # args, + # None, + # global_step, + # accelerator.device, + # vae, + # [tokenizer1, tokenizer2], + # [text_encoder1, text_encoder2], + # unet, + # controlnet=control_net, + # ) # 指定ステップごとにモデルを保存 if args.save_every_n_steps is not None and global_step % args.save_every_n_steps == 0: accelerator.wait_for_everyone() if accelerator.is_main_process: ckpt_name = train_util.get_step_ckpt_name(args, "." + args.save_model_as, global_step) - save_model(ckpt_name,unwrap_model(controlnet)) + save_model(ckpt_name, unwrap_model(control_net)) if args.save_state: train_util.save_and_remove_state_stepwise(args, accelerator, global_step) @@ -650,14 +592,14 @@ def remove_model(old_ckpt_name): logs = {"avr_loss": avr_loss} # , "lr": lr_scheduler.get_last_lr()[0]} progress_bar.set_postfix(**logs) - if args.logging_dir is not None: + if len(accelerator.trackers) > 0: logs = generate_step_logs(args, current_loss, avr_loss, lr_scheduler) accelerator.log(logs, step=global_step) if global_step >= args.max_train_steps: break - if args.logging_dir is not None: + if len(accelerator.trackers) > 0: logs = {"loss/epoch": loss_recorder.moving_average} accelerator.log(logs, step=epoch + 1) @@ -668,7 +610,7 @@ def remove_model(old_ckpt_name): saving = (epoch + 1) % args.save_every_n_epochs == 0 and (epoch + 1) < num_train_epochs if is_main_process and saving: ckpt_name = train_util.get_epoch_ckpt_name(args, "." + args.save_model_as, epoch + 1) - save_model(ckpt_name,unwrap_model(controlnet)) + save_model(ckpt_name, unwrap_model(control_net)) remove_epoch_no = train_util.get_remove_epoch_no(args, epoch + 1) if remove_epoch_no is not None: @@ -688,13 +630,13 @@ def remove_model(old_ckpt_name): [tokenizer1, tokenizer2], [text_encoder1, text_encoder2], unet, - controlnet=controlnet, + controlnet=control_net, ) # end of epoch if is_main_process: - controlnet = unwrap_model(controlnet) + control_net = unwrap_model(control_net) accelerator.end_training() @@ -703,9 +645,7 @@ def remove_model(old_ckpt_name): if is_main_process: ckpt_name = train_util.get_last_ckpt_name(args, "." + args.save_model_as) - save_model( - ckpt_name, controlnet, force_sync_upload=True - ) + save_model(ckpt_name, control_net, force_sync_upload=True) logger.info("model saved.") @@ -717,26 +657,38 @@ def setup_parser() -> argparse.ArgumentParser: train_util.add_sd_models_arguments(parser) train_util.add_dataset_arguments(parser, False, True, True) train_util.add_training_arguments(parser, False) - train_util.add_masked_loss_arguments(parser) + # train_util.add_masked_loss_arguments(parser) deepspeed_utils.add_deepspeed_arguments(parser) - train_util.add_sd_saving_arguments(parser) + # train_util.add_sd_saving_arguments(parser) train_util.add_optimizer_arguments(parser) config_util.add_config_arguments(parser) custom_train_functions.add_custom_train_arguments(parser) sdxl_train_util.add_sdxl_training_arguments(parser) parser.add_argument( - "--controlnet_model_name_or_path", + "--controlnet_model_path", type=str, default=None, help="controlnet model name or path / controlnetのモデル名またはパス", ) + parser.add_argument( + "--conditioning_data_dir", + type=str, + default=None, + help="conditioning data directory / 条件付けデータのディレクトリ", + ) + parser.add_argument( + "--save_model_as", + type=str, + default="safetensors", + choices=[None, "ckpt", "pt", "safetensors"], + help="format to save the model (default is .safetensors) / モデル保存時の形式(デフォルトはsafetensors)", + ) parser.add_argument( "--no_half_vae", action="store_true", help="do not use fp16/bf16 VAE in mixed precision (use float VAE) / mixed precisionでも fp16/bf16 VAEを使わずfloat VAEを使う", ) - return parser From 0243c65877a7700ffab1e782690f26080a0deadc Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 29 Sep 2024 23:09:56 +0900 Subject: [PATCH 259/748] fix typo --- gen_img.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gen_img.py b/gen_img.py index 70b3c81ff..421d5c0b9 100644 --- a/gen_img.py +++ b/gen_img.py @@ -1890,7 +1890,7 @@ def __getattr__(self, item): state_dict = load_file(model_file) - logger.info(f"Initalizing SDXL ControlNet with multiplier: {multiplier}") + logger.info(f"Initializing SDXL ControlNet with multiplier: {multiplier}") with init_empty_weights(): control_net = SdxlControlNet(multiplier=multiplier) control_net.load_state_dict(state_dict) From 012e7e63a5b1acdf69c72eee4cb330a5a6defc41 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 29 Sep 2024 23:18:16 +0900 Subject: [PATCH 260/748] fix to work linear/cosine scheduler closes #1651 ref #1393 --- library/train_util.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/library/train_util.py b/library/train_util.py index 422dceca2..27910dc90 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -4496,6 +4496,15 @@ def wrap_check_needless_num_warmup_steps(return_vals): **lr_scheduler_kwargs, ) + # these schedulers do not require `num_decay_steps` + if name == SchedulerType.LINEAR or name == SchedulerType.COSINE: + return schedule_func( + optimizer, + num_warmup_steps=num_warmup_steps, + num_training_steps=num_training_steps, + **lr_scheduler_kwargs, + ) + # All other schedulers require `num_decay_steps` if num_decay_steps is None: raise ValueError(f"{name} requires `num_decay_steps`, please provide that argument.") From 793999d116638548fc16579b712f44456ee3034e Mon Sep 17 00:00:00 2001 From: Kohya S Date: Mon, 30 Sep 2024 23:39:32 +0900 Subject: [PATCH 261/748] sample generation in SDXL ControlNet training --- library/sdxl_lpw_stable_diffusion.py | 168 +++++++---------------- library/strategy_base.py | 192 ++++++++++++++++++++++++++- library/strategy_sdxl.py | 39 +++++- library/train_util.py | 35 +++-- sdxl_train_control_net.py | 55 ++++---- 5 files changed, 323 insertions(+), 166 deletions(-) diff --git a/library/sdxl_lpw_stable_diffusion.py b/library/sdxl_lpw_stable_diffusion.py index 03b182566..9196eb0f2 100644 --- a/library/sdxl_lpw_stable_diffusion.py +++ b/library/sdxl_lpw_stable_diffusion.py @@ -13,12 +13,20 @@ from transformers import CLIPFeatureExtractor, CLIPTextModel, CLIPTokenizer from diffusers import SchedulerMixin, StableDiffusionPipeline -from diffusers.models import AutoencoderKL, UNet2DConditionModel -from diffusers.pipelines.stable_diffusion import StableDiffusionPipelineOutput, StableDiffusionSafetyChecker +from diffusers.models import AutoencoderKL +from diffusers.pipelines.stable_diffusion import StableDiffusionSafetyChecker from diffusers.utils import logging from PIL import Image -from library import sdxl_model_util, sdxl_train_util, train_util +from library import ( + sdxl_model_util, + sdxl_train_util, + strategy_base, + strategy_sdxl, + train_util, + sdxl_original_unet, + sdxl_original_control_net, +) try: @@ -537,7 +545,7 @@ def __init__( vae: AutoencoderKL, text_encoder: List[CLIPTextModel], tokenizer: List[CLIPTokenizer], - unet: UNet2DConditionModel, + unet: Union[sdxl_original_unet.SdxlUNet2DConditionModel, sdxl_original_control_net.SdxlControlledUNet], scheduler: SchedulerMixin, # clip_skip: int, safety_checker: StableDiffusionSafetyChecker, @@ -594,74 +602,6 @@ def _execution_device(self): return torch.device(module._hf_hook.execution_device) return self.device - def _encode_prompt( - self, - prompt, - device, - num_images_per_prompt, - do_classifier_free_guidance, - negative_prompt, - max_embeddings_multiples, - is_sdxl_text_encoder2, - ): - r""" - Encodes the prompt into text encoder hidden states. - - Args: - prompt (`str` or `list(int)`): - prompt to be encoded - device: (`torch.device`): - torch device - num_images_per_prompt (`int`): - number of images that should be generated per prompt - do_classifier_free_guidance (`bool`): - whether to use classifier free guidance or not - negative_prompt (`str` or `List[str]`): - The prompt or prompts not to guide the image generation. Ignored when not using guidance (i.e., ignored - if `guidance_scale` is less than `1`). - max_embeddings_multiples (`int`, *optional*, defaults to `3`): - The max multiple length of prompt embeddings compared to the max output length of text encoder. - """ - batch_size = len(prompt) if isinstance(prompt, list) else 1 - - if negative_prompt is None: - negative_prompt = [""] * batch_size - elif isinstance(negative_prompt, str): - negative_prompt = [negative_prompt] * batch_size - if batch_size != len(negative_prompt): - raise ValueError( - f"`negative_prompt`: {negative_prompt} has batch size {len(negative_prompt)}, but `prompt`:" - f" {prompt} has batch size {batch_size}. Please make sure that passed `negative_prompt` matches" - " the batch size of `prompt`." - ) - - text_embeddings, text_pool, uncond_embeddings, uncond_pool = get_weighted_text_embeddings( - pipe=self, - prompt=prompt, - uncond_prompt=negative_prompt if do_classifier_free_guidance else None, - max_embeddings_multiples=max_embeddings_multiples, - clip_skip=self.clip_skip, - is_sdxl_text_encoder2=is_sdxl_text_encoder2, - ) - bs_embed, seq_len, _ = text_embeddings.shape - text_embeddings = text_embeddings.repeat(1, num_images_per_prompt, 1) # ?? - text_embeddings = text_embeddings.view(bs_embed * num_images_per_prompt, seq_len, -1) - if text_pool is not None: - text_pool = text_pool.repeat(1, num_images_per_prompt) - text_pool = text_pool.view(bs_embed * num_images_per_prompt, -1) - - if do_classifier_free_guidance: - bs_embed, seq_len, _ = uncond_embeddings.shape - uncond_embeddings = uncond_embeddings.repeat(1, num_images_per_prompt, 1) - uncond_embeddings = uncond_embeddings.view(bs_embed * num_images_per_prompt, seq_len, -1) - if uncond_pool is not None: - uncond_pool = uncond_pool.repeat(1, num_images_per_prompt) - uncond_pool = uncond_pool.view(bs_embed * num_images_per_prompt, -1) - - return text_embeddings, text_pool, uncond_embeddings, uncond_pool - - return text_embeddings, text_pool, None, None - def check_inputs(self, prompt, height, width, strength, callback_steps): if not isinstance(prompt, str) and not isinstance(prompt, list): raise ValueError(f"`prompt` has to be of type `str` or `list` but is {type(prompt)}") @@ -792,7 +732,7 @@ def __call__( max_embeddings_multiples: Optional[int] = 3, output_type: Optional[str] = "pil", return_dict: bool = True, - controlnet=None, + controlnet: sdxl_original_control_net.SdxlControlNet = None, controlnet_image=None, callback: Optional[Callable[[int, int, torch.FloatTensor], None]] = None, is_cancelled_callback: Optional[Callable[[], bool]] = None, @@ -896,32 +836,24 @@ def __call__( do_classifier_free_guidance = guidance_scale > 1.0 # 3. Encode input prompt - # 実装を簡単にするためにtokenzer/text encoderを切り替えて二回呼び出す - # To simplify the implementation, switch the tokenzer/text encoder and call it twice - text_embeddings_list = [] - text_pool = None - uncond_embeddings_list = [] - uncond_pool = None - for i in range(len(self.tokenizers)): - self.tokenizer = self.tokenizers[i] - self.text_encoder = self.text_encoders[i] - - text_embeddings, tp1, uncond_embeddings, up1 = self._encode_prompt( - prompt, - device, - num_images_per_prompt, - do_classifier_free_guidance, - negative_prompt, - max_embeddings_multiples, - is_sdxl_text_encoder2=i == 1, - ) - text_embeddings_list.append(text_embeddings) - uncond_embeddings_list.append(uncond_embeddings) + tokenize_strategy: strategy_sdxl.SdxlTokenizeStrategy = strategy_base.TokenizeStrategy.get_strategy() + encoding_strategy: strategy_sdxl.SdxlTextEncodingStrategy = strategy_base.TextEncodingStrategy.get_strategy() - if tp1 is not None: - text_pool = tp1 - if up1 is not None: - uncond_pool = up1 + text_input_ids, text_weights = tokenize_strategy.tokenize_with_weights(prompt) + hidden_states_1, hidden_states_2, text_pool = encoding_strategy.encode_tokens_with_weights( + tokenize_strategy, self.text_encoders, text_input_ids, text_weights + ) + text_embeddings = torch.cat([hidden_states_1, hidden_states_2], dim=-1) + + if do_classifier_free_guidance: + input_ids, weights = tokenize_strategy.tokenize_with_weights(negative_prompt or "") + hidden_states_1, hidden_states_2, uncond_pool = encoding_strategy.encode_tokens_with_weights( + tokenize_strategy, self.text_encoders, input_ids, weights + ) + uncond_embeddings = torch.cat([hidden_states_1, hidden_states_2], dim=-1) + else: + uncond_embeddings = None + uncond_pool = None unet_dtype = self.unet.dtype dtype = unet_dtype @@ -970,23 +902,23 @@ def __call__( extra_step_kwargs = self.prepare_extra_step_kwargs(generator, eta) # create size embs and concat embeddings for SDXL - orig_size = torch.tensor([height, width]).repeat(batch_size * num_images_per_prompt, 1).to(dtype) + orig_size = torch.tensor([height, width]).repeat(batch_size * num_images_per_prompt, 1).to(device, dtype) crop_size = torch.zeros_like(orig_size) target_size = orig_size - embs = sdxl_train_util.get_size_embeddings(orig_size, crop_size, target_size, device).to(dtype) + embs = sdxl_train_util.get_size_embeddings(orig_size, crop_size, target_size, device).to(device, dtype) # make conditionings + text_pool = text_pool.to(device, dtype) if do_classifier_free_guidance: - text_embeddings = torch.cat(text_embeddings_list, dim=2) - uncond_embeddings = torch.cat(uncond_embeddings_list, dim=2) - text_embedding = torch.cat([uncond_embeddings, text_embeddings]).to(dtype) + text_embedding = torch.cat([uncond_embeddings, text_embeddings]).to(device, dtype) - cond_vector = torch.cat([text_pool, embs], dim=1) - uncond_vector = torch.cat([uncond_pool, embs], dim=1) - vector_embedding = torch.cat([uncond_vector, cond_vector]).to(dtype) + uncond_pool = uncond_pool.to(device, dtype) + cond_vector = torch.cat([text_pool, embs], dim=1).to(dtype) + uncond_vector = torch.cat([uncond_pool, embs], dim=1).to(dtype) + vector_embedding = torch.cat([uncond_vector, cond_vector]) else: - text_embedding = torch.cat(text_embeddings_list, dim=2).to(dtype) - vector_embedding = torch.cat([text_pool, embs], dim=1).to(dtype) + text_embedding = text_embeddings.to(device, dtype) + vector_embedding = torch.cat([text_pool, embs], dim=1) # 8. Denoising loop for i, t in enumerate(self.progress_bar(timesteps)): @@ -994,22 +926,14 @@ def __call__( latent_model_input = torch.cat([latents] * 2) if do_classifier_free_guidance else latents latent_model_input = self.scheduler.scale_model_input(latent_model_input, t) - unet_additional_args = {} - if controlnet is not None: - down_block_res_samples, mid_block_res_sample = controlnet( - latent_model_input, - t, - encoder_hidden_states=text_embeddings, - controlnet_cond=controlnet_image, - conditioning_scale=1.0, - guess_mode=False, - return_dict=False, - ) - unet_additional_args["down_block_additional_residuals"] = down_block_res_samples - unet_additional_args["mid_block_additional_residual"] = mid_block_res_sample + # FIXME SD1 ControlNet is not working # predict the noise residual - noise_pred = self.unet(latent_model_input, t, text_embedding, vector_embedding) + if controlnet is not None: + input_resi_add, mid_add = controlnet(latent_model_input, t, text_embedding, vector_embedding, controlnet_image) + noise_pred = self.unet(latent_model_input, t, text_embedding, vector_embedding, input_resi_add, mid_add) + else: + noise_pred = self.unet(latent_model_input, t, text_embedding, vector_embedding) noise_pred = noise_pred.to(dtype) # U-Net changes dtype in LoRA training # perform guidance diff --git a/library/strategy_base.py b/library/strategy_base.py index e7d3a97ef..10820afa1 100644 --- a/library/strategy_base.py +++ b/library/strategy_base.py @@ -1,6 +1,7 @@ # base class for platform strategies. this file defines the interface for strategies import os +import re from typing import Any, List, Optional, Tuple, Union import numpy as np @@ -22,6 +23,24 @@ class TokenizeStrategy: _strategy = None # strategy instance: actual strategy class + _re_attention = re.compile( + r"""\\\(| +\\\)| +\\\[| +\\]| +\\\\| +\\| +\(| +\[| +:([+-]?[.\d]+)\)| +\)| +]| +[^\\()\[\]:]+| +: +""", + re.X, + ) + @classmethod def set_strategy(cls, strategy): if cls._strategy is not None: @@ -54,7 +73,151 @@ def _load_tokenizer( def tokenize(self, text: Union[str, List[str]]) -> List[torch.Tensor]: raise NotImplementedError - def _get_input_ids(self, tokenizer: CLIPTokenizer, text: str, max_length: Optional[int] = None) -> torch.Tensor: + def tokenize_with_weights(self, text: Union[str, List[str]]) -> Tuple[List[torch.Tensor], List[torch.Tensor]]: + raise NotImplementedError + + def _get_weighted_input_ids( + self, tokenizer: CLIPTokenizer, text: str, max_length: Optional[int] = None + ) -> Tuple[torch.Tensor, torch.Tensor]: + """ + max_length includes starting and ending tokens. + """ + + def parse_prompt_attention(text): + """ + Parses a string with attention tokens and returns a list of pairs: text and its associated weight. + Accepted tokens are: + (abc) - increases attention to abc by a multiplier of 1.1 + (abc:3.12) - increases attention to abc by a multiplier of 3.12 + [abc] - decreases attention to abc by a multiplier of 1.1 + \( - literal character '(' + \[ - literal character '[' + \) - literal character ')' + \] - literal character ']' + \\ - literal character '\' + anything else - just text + >>> parse_prompt_attention('normal text') + [['normal text', 1.0]] + >>> parse_prompt_attention('an (important) word') + [['an ', 1.0], ['important', 1.1], [' word', 1.0]] + >>> parse_prompt_attention('(unbalanced') + [['unbalanced', 1.1]] + >>> parse_prompt_attention('\(literal\]') + [['(literal]', 1.0]] + >>> parse_prompt_attention('(unnecessary)(parens)') + [['unnecessaryparens', 1.1]] + >>> parse_prompt_attention('a (((house:1.3)) [on] a (hill:0.5), sun, (((sky))).') + [['a ', 1.0], + ['house', 1.5730000000000004], + [' ', 1.1], + ['on', 1.0], + [' a ', 1.1], + ['hill', 0.55], + [', sun, ', 1.1], + ['sky', 1.4641000000000006], + ['.', 1.1]] + """ + + res = [] + round_brackets = [] + square_brackets = [] + + round_bracket_multiplier = 1.1 + square_bracket_multiplier = 1 / 1.1 + + def multiply_range(start_position, multiplier): + for p in range(start_position, len(res)): + res[p][1] *= multiplier + + for m in TokenizeStrategy._re_attention.finditer(text): + text = m.group(0) + weight = m.group(1) + + if text.startswith("\\"): + res.append([text[1:], 1.0]) + elif text == "(": + round_brackets.append(len(res)) + elif text == "[": + square_brackets.append(len(res)) + elif weight is not None and len(round_brackets) > 0: + multiply_range(round_brackets.pop(), float(weight)) + elif text == ")" and len(round_brackets) > 0: + multiply_range(round_brackets.pop(), round_bracket_multiplier) + elif text == "]" and len(square_brackets) > 0: + multiply_range(square_brackets.pop(), square_bracket_multiplier) + else: + res.append([text, 1.0]) + + for pos in round_brackets: + multiply_range(pos, round_bracket_multiplier) + + for pos in square_brackets: + multiply_range(pos, square_bracket_multiplier) + + if len(res) == 0: + res = [["", 1.0]] + + # merge runs of identical weights + i = 0 + while i + 1 < len(res): + if res[i][1] == res[i + 1][1]: + res[i][0] += res[i + 1][0] + res.pop(i + 1) + else: + i += 1 + + return res + + def get_prompts_with_weights(text: str, max_length: int): + r""" + Tokenize a list of prompts and return its tokens with weights of each token. max_length does not include starting and ending token. + + No padding, starting or ending token is included. + """ + truncated = False + + texts_and_weights = parse_prompt_attention(text) + tokens = [] + weights = [] + for word, weight in texts_and_weights: + # tokenize and discard the starting and the ending token + token = tokenizer(word).input_ids[1:-1] + tokens += token + # copy the weight by length of token + weights += [weight] * len(token) + # stop if the text is too long (longer than truncation limit) + if len(tokens) > max_length: + truncated = True + break + # truncate + if len(tokens) > max_length: + truncated = True + tokens = tokens[:max_length] + weights = weights[:max_length] + if truncated: + logger.warning("Prompt was truncated. Try to shorten the prompt or increase max_embeddings_multiples") + return tokens, weights + + def pad_tokens_and_weights(tokens, weights, max_length, bos, eos, pad): + r""" + Pad the tokens (with starting and ending tokens) and weights (with 1.0) to max_length. + """ + tokens = [bos] + tokens + [eos] + [pad] * (max_length - 2 - len(tokens)) + weights = [1.0] + weights + [1.0] * (max_length - 1 - len(weights)) + return tokens, weights + + if max_length is None: + max_length = tokenizer.model_max_length + + tokens, weights = get_prompts_with_weights(text, max_length - 2) + tokens, weights = pad_tokens_and_weights( + tokens, weights, max_length, tokenizer.bos_token_id, tokenizer.eos_token_id, tokenizer.pad_token_id + ) + return torch.tensor(tokens).unsqueeze(0), torch.tensor(weights).unsqueeze(0) + + def _get_input_ids( + self, tokenizer: CLIPTokenizer, text: str, max_length: Optional[int] = None, weighted: bool = False + ) -> torch.Tensor: """ for SD1.5/2.0/SDXL TODO support batch input @@ -62,7 +225,10 @@ def _get_input_ids(self, tokenizer: CLIPTokenizer, text: str, max_length: Option if max_length is None: max_length = tokenizer.model_max_length - 2 - input_ids = tokenizer(text, padding="max_length", truncation=True, max_length=max_length, return_tensors="pt").input_ids + if weighted: + input_ids, weights = self._get_weighted_input_ids(tokenizer, text, max_length) + else: + input_ids = tokenizer(text, padding="max_length", truncation=True, max_length=max_length, return_tensors="pt").input_ids if max_length > tokenizer.model_max_length: input_ids = input_ids.squeeze(0) @@ -101,6 +267,17 @@ def _get_input_ids(self, tokenizer: CLIPTokenizer, text: str, max_length: Option iids_list.append(ids_chunk) input_ids = torch.stack(iids_list) # 3,77 + + if weighted: + weights = weights.squeeze(0) + new_weights = torch.ones(input_ids.shape) + for i in range(1, max_length - tokenizer.model_max_length + 2, tokenizer.model_max_length - 2): + b = i // (tokenizer.model_max_length - 2) + new_weights[b, 1 : 1 + tokenizer.model_max_length - 2] = weights[i : i + tokenizer.model_max_length - 2] + weights = new_weights + + if weighted: + return input_ids, weights return input_ids @@ -126,6 +303,17 @@ def encode_tokens( :return: list of output embeddings for each architecture """ raise NotImplementedError + + def encode_tokens_with_weights( + self, tokenize_strategy: TokenizeStrategy, models: List[Any], tokens: List[torch.Tensor], weights: List[torch.Tensor] + ) -> List[torch.Tensor]: + """ + Encode tokens into embeddings and outputs. + :param tokens: list of token tensors for each TextModel + :param weights: list of weight tensors for each TextModel + :return: list of output embeddings for each architecture + """ + raise NotImplementedError class TextEncoderOutputsCachingStrategy: diff --git a/library/strategy_sdxl.py b/library/strategy_sdxl.py index 3eb0ab6f6..b48e6d55a 100644 --- a/library/strategy_sdxl.py +++ b/library/strategy_sdxl.py @@ -37,6 +37,22 @@ def tokenize(self, text: Union[str, List[str]]) -> List[torch.Tensor]: torch.stack([self._get_input_ids(self.tokenizer2, t, self.max_length) for t in text], dim=0), ) + def tokenize_with_weights(self, text: str | List[str]) -> Tuple[List[torch.Tensor]]: + text = [text] if isinstance(text, str) else text + tokens1_list, tokens2_list = [], [] + weights1_list, weights2_list = [], [] + for t in text: + tokens1, weights1 = self._get_weighted_input_ids(self.tokenizer1, t, self.max_length) + tokens2, weights2 = self._get_weighted_input_ids(self.tokenizer2, t, self.max_length) + tokens1_list.append(tokens1) + tokens2_list.append(tokens2) + weights1_list.append(weights1) + weights2_list.append(weights2) + return (torch.stack(tokens1_list, dim=0), torch.stack(tokens2_list, dim=0)), ( + torch.stack(weights1_list, dim=0), + torch.stack(weights2_list, dim=0), + ) + class SdxlTextEncodingStrategy(TextEncodingStrategy): def __init__(self) -> None: @@ -98,7 +114,10 @@ def _get_hidden_states_sdxl( ): # input_ids: b,n,77 -> b*n, 77 b_size = input_ids1.size()[0] - max_token_length = input_ids1.size()[1] * input_ids1.size()[2] + if input_ids1.size()[1] == 1: + max_token_length = None + else: + max_token_length = input_ids1.size()[1] * input_ids1.size()[2] input_ids1 = input_ids1.reshape((-1, tokenizer1.model_max_length)) # batch_size*n, 77 input_ids2 = input_ids2.reshape((-1, tokenizer2.model_max_length)) # batch_size*n, 77 input_ids1 = input_ids1.to(text_encoder1.device) @@ -172,6 +191,24 @@ def encode_tokens( ) return [hidden_states1, hidden_states2, pool2] + def encode_tokens_with_weights( + self, tokenize_strategy: TokenizeStrategy, models: List[Any], tokens: List[torch.Tensor], weights: List[torch.Tensor] + ) -> List[torch.Tensor]: + hidden_states1, hidden_states2, pool2 = self.encode_tokens(tokenize_strategy, models, tokens) + + # apply weights + if weights[0].shape[1] == 1: # no max_token_length + # weights: ((b, 1, 77), (b, 1, 77)), hidden_states: (b, 77, 768), (b, 77, 768) + hidden_states1 = hidden_states1 * weights[0].squeeze(1).unsqueeze(2) + hidden_states2 = hidden_states2 * weights[1].squeeze(1).unsqueeze(2) + else: + # weights: ((b, n, 77), (b, n, 77)), hidden_states: (b, n*75+2, 768), (b, n*75+2, 768) + for weight, hidden_states in zip(weights, [hidden_states1, hidden_states2]): + for i in range(weight.shape[1]): + hidden_states[:, i * 75 + 1 : i * 75 + 76] = hidden_states[:, i * 75 + 1 : i * 75 + 76] * weight[:, i, 1:-1] + + return [hidden_states1, hidden_states2, pool2] + class SdxlTextEncoderOutputsCachingStrategy(TextEncoderOutputsCachingStrategy): SDXL_TEXT_ENCODER_OUTPUTS_NPZ_SUFFIX = "_te_outputs.npz" diff --git a/library/train_util.py b/library/train_util.py index 293fc05ad..b559616f2 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -74,6 +74,7 @@ import cv2 import safetensors.torch from library.lpw_stable_diffusion import StableDiffusionLongPromptWeightingPipeline +from library.sdxl_lpw_stable_diffusion import SdxlStableDiffusionLongPromptWeightingPipeline import library.model_util as model_util import library.huggingface_util as huggingface_util import library.sai_model_spec as sai_model_spec @@ -3581,7 +3582,20 @@ def add_training_arguments(parser: argparse.ArgumentParser, support_dreambooth: # available backends: # https://github.com/huggingface/accelerate/blob/d1abd59114ada8ba673e1214218cb2878c13b82d/src/accelerate/utils/dataclasses.py#L376-L388C5 # https://pytorch.org/docs/stable/torch.compiler.html - choices=["eager", "aot_eager", "inductor", "aot_ts_nvfuser", "nvprims_nvfuser", "cudagraphs", "ofi", "fx2trt", "onnxrt", "tensort", "ipex", "tvm"], + choices=[ + "eager", + "aot_eager", + "inductor", + "aot_ts_nvfuser", + "nvprims_nvfuser", + "cudagraphs", + "ofi", + "fx2trt", + "onnxrt", + "tensort", + "ipex", + "tvm", + ], help="dynamo backend type (default is inductor) / dynamoのbackendの種類(デフォルトは inductor)", ) parser.add_argument("--xformers", action="store_true", help="use xformers for CrossAttention / CrossAttentionにxformersを使う") @@ -5850,8 +5864,8 @@ def sample_images_common( pipe_class, accelerator: Accelerator, args: argparse.Namespace, - epoch, - steps, + epoch: int, + steps: int, device, vae, tokenizer, @@ -5910,11 +5924,7 @@ def sample_images_common( with open(args.sample_prompts, "r", encoding="utf-8") as f: prompts = json.load(f) - # schedulers: dict = {} cannot find where this is used - default_scheduler = get_my_scheduler( - sample_sampler=args.sample_sampler, - v_parameterization=args.v_parameterization, - ) + default_scheduler = get_my_scheduler(sample_sampler=args.sample_sampler, v_parameterization=args.v_parameterization) pipeline = pipe_class( text_encoder=text_encoder, @@ -5975,21 +5985,18 @@ def sample_images_common( # clear pipeline and cache to reduce vram usage del pipeline - # I'm not sure which of these is the correct way to clear the memory, but accelerator's device is used in the pipeline, so I'm using it here. - # with torch.cuda.device(torch.cuda.current_device()): - # torch.cuda.empty_cache() - clean_memory_on_device(accelerator.device) - torch.set_rng_state(rng_state) if torch.cuda.is_available() and cuda_rng_state is not None: torch.cuda.set_rng_state(cuda_rng_state) vae.to(org_vae_device) + clean_memory_on_device(accelerator.device) + def sample_image_inference( accelerator: Accelerator, args: argparse.Namespace, - pipeline, + pipeline: Union[StableDiffusionLongPromptWeightingPipeline, SdxlStableDiffusionLongPromptWeightingPipeline], save_dir, prompt_dict, epoch, diff --git a/sdxl_train_control_net.py b/sdxl_train_control_net.py index 74dcff2af..583a27dcc 100644 --- a/sdxl_train_control_net.py +++ b/sdxl_train_control_net.py @@ -83,6 +83,7 @@ def train(args): tokenize_strategy = strategy_sdxl.SdxlTokenizeStrategy(args.max_token_length, args.tokenizer_cache_dir) strategy_base.TokenizeStrategy.set_strategy(tokenize_strategy) + tokenizer1, tokenizer2 = tokenize_strategy.tokenizer1, tokenize_strategy.tokenizer2 # this is used for sampling images # prepare caching strategy: this must be set before preparing dataset. because dataset may use this strategy for initialization. latents_caching_strategy = strategy_sd.SdSdxlLatentsCachingStrategy( @@ -436,19 +437,19 @@ def remove_model(old_ckpt_name): accelerator.print(f"removing old checkpoint: {old_ckpt_file}") os.remove(old_ckpt_file) - # # For --sample_at_first - # sdxl_train_util.sample_images( - # accelerator, - # args, - # 0, - # global_step, - # accelerator.device, - # vae, - # [tokenizer1, tokenizer2], - # [text_encoder1, text_encoder2], - # unet, - # controlnet=control_net, - # ) + # For --sample_at_first + sdxl_train_util.sample_images( + accelerator, + args, + 0, + global_step, + accelerator.device, + vae, + [tokenizer1, tokenizer2], + [text_encoder1, text_encoder2, unwrap_model(text_encoder2)], + unet, + controlnet=control_net, + ) # training loop for epoch in range(num_train_epochs): @@ -484,7 +485,7 @@ def remove_model(old_ckpt_name): input_ids1 = input_ids1.to(accelerator.device) input_ids2 = input_ids2.to(accelerator.device) encoder_hidden_states1, encoder_hidden_states2, pool2 = text_encoding_strategy.encode_tokens( - tokenize_strategy, [text_encoder1, text_encoder2], [input_ids1, input_ids2] + tokenize_strategy, [text_encoder1, text_encoder2, unwrap_model(text_encoder2)], [input_ids1, input_ids2] ) if args.full_fp16: encoder_hidden_states1 = encoder_hidden_states1.to(weight_dtype) @@ -558,18 +559,18 @@ def remove_model(old_ckpt_name): progress_bar.update(1) global_step += 1 - # sdxl_train_util.sample_images( - # accelerator, - # args, - # None, - # global_step, - # accelerator.device, - # vae, - # [tokenizer1, tokenizer2], - # [text_encoder1, text_encoder2], - # unet, - # controlnet=control_net, - # ) + sdxl_train_util.sample_images( + accelerator, + args, + None, + global_step, + accelerator.device, + vae, + [tokenizer1, tokenizer2], + [text_encoder1, text_encoder2, unwrap_model(text_encoder2)], + unet, + controlnet=control_net, + ) # 指定ステップごとにモデルを保存 if args.save_every_n_steps is not None and global_step % args.save_every_n_steps == 0: @@ -628,7 +629,7 @@ def remove_model(old_ckpt_name): accelerator.device, vae, [tokenizer1, tokenizer2], - [text_encoder1, text_encoder2], + [text_encoder1, text_encoder2, unwrap_model(text_encoder2)], unet, controlnet=control_net, ) From c2440f9e53239e7e5dee426f611800d3e38a7f0e Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 3 Oct 2024 21:32:21 +0900 Subject: [PATCH 262/748] fix cond image normlization, add independent LR for control --- library/sdxl_train_util.py | 3 ++- library/train_util.py | 20 +++++++++++++++++++- sdxl_train_control_net.py | 30 +++++++++++++++++++++++++----- 3 files changed, 46 insertions(+), 7 deletions(-) diff --git a/library/sdxl_train_util.py b/library/sdxl_train_util.py index f009b5779..aaf77b8dd 100644 --- a/library/sdxl_train_util.py +++ b/library/sdxl_train_util.py @@ -12,7 +12,6 @@ from tqdm import tqdm from transformers import CLIPTokenizer from library import model_util, sdxl_model_util, train_util, sdxl_original_unet -from library.sdxl_lpw_stable_diffusion import SdxlStableDiffusionLongPromptWeightingPipeline from .utils import setup_logging setup_logging() @@ -378,4 +377,6 @@ def verify_sdxl_training_args(args: argparse.Namespace, supportTextEncoderCachin def sample_images(*args, **kwargs): + from library.sdxl_lpw_stable_diffusion import SdxlStableDiffusionLongPromptWeightingPipeline + return train_util.sample_images_common(SdxlStableDiffusionLongPromptWeightingPipeline, *args, **kwargs) diff --git a/library/train_util.py b/library/train_util.py index b559616f2..07c253a0e 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -31,6 +31,7 @@ import subprocess from io import BytesIO import toml +# from concurrent.futures import ThreadPoolExecutor, as_completed from tqdm import tqdm @@ -912,6 +913,23 @@ def make_buckets(self): if info.image_size is None: info.image_size = self.get_image_size(info.absolute_path) + # # run in parallel + # max_workers = min(os.cpu_count(), len(self.image_data)) # TODO consider multi-gpu (processes) + # with ThreadPoolExecutor(max_workers) as executor: + # futures = [] + # for info in tqdm(self.image_data.values(), desc="loading image sizes"): + # if info.image_size is None: + # def get_and_set_image_size(info): + # info.image_size = self.get_image_size(info.absolute_path) + # futures.append(executor.submit(get_and_set_image_size, info)) + # # consume futures to reduce memory usage and prevent Ctrl-C hang + # if len(futures) >= max_workers: + # for future in futures: + # future.result() + # futures = [] + # for future in futures: + # future.result() + if self.enable_bucket: logger.info("make buckets") else: @@ -1826,7 +1844,7 @@ def load_dreambooth_dir(subset: DreamBoothSubset): # 画像ファイルごとにプロンプトを読み込み、もしあればそちらを使う captions = [] missing_captions = [] - for img_path in img_paths: + for img_path in tqdm(img_paths, desc="read caption"): cap_for_img = read_caption(img_path, subset.caption_extension, subset.enable_wildcard) if cap_for_img is None and subset.class_tokens is None: logger.warning( diff --git a/sdxl_train_control_net.py b/sdxl_train_control_net.py index 583a27dcc..b902cda69 100644 --- a/sdxl_train_control_net.py +++ b/sdxl_train_control_net.py @@ -253,11 +253,20 @@ def unwrap_model(model): # 学習に必要なクラスを準備する accelerator.print("prepare optimizer, data loader etc.") - trainable_params = list(control_net.parameters()) - # for p in trainable_params: - # p.requires_grad = True - logger.info(f"trainable params count: {len(trainable_params)}") - logger.info(f"number of trainable parameters: {sum(p.numel() for p in trainable_params if p.requires_grad)}") + trainable_params = [] + ctrlnet_params = [] + unet_params = [] + for name, param in control_net.named_parameters(): + if name.startswith("controlnet_"): + ctrlnet_params.append(param) + else: + unet_params.append(param) + trainable_params.append({"params": ctrlnet_params, "lr": args.control_net_lr}) + trainable_params.append({"params": unet_params, "lr": args.learning_rate}) + all_params = ctrlnet_params + unet_params + + logger.info(f"trainable params count: {len(all_params)}") + logger.info(f"number of trainable parameters: {sum(p.numel() for p in all_params)}") _, _, optimizer = train_util.get_optimizer(args, trainable_params) @@ -456,6 +465,8 @@ def remove_model(old_ckpt_name): accelerator.print(f"\nepoch {epoch+1}/{num_train_epochs}") current_epoch.value = epoch + 1 + control_net.train() + for step, batch in enumerate(train_dataloader): current_step.value = global_step with accelerator.accumulate(control_net): @@ -510,6 +521,9 @@ def remove_model(old_ckpt_name): controlnet_image = batch["conditioning_images"].to(dtype=weight_dtype) + # '-1 to +1' to '0 to 1' + controlnet_image = (controlnet_image + 1) / 2 + with accelerator.autocast(): input_resi_add, mid_add = control_net( noisy_latents, timesteps, text_embedding, vector_embedding, controlnet_image @@ -690,6 +704,12 @@ def setup_parser() -> argparse.ArgumentParser: action="store_true", help="do not use fp16/bf16 VAE in mixed precision (use float VAE) / mixed precisionでも fp16/bf16 VAEを使わずfloat VAEを使う", ) + parser.add_argument( + "--control_net_lr", + type=float, + default=1e-4, + help="learning rate for controlnet / controlnetの学習率", + ) return parser From 3028027e074c891f33d45fff27068b490a408329 Mon Sep 17 00:00:00 2001 From: gesen2egee Date: Fri, 4 Oct 2024 16:41:41 +0800 Subject: [PATCH 263/748] Update train_network.py --- train_network.py | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/train_network.py b/train_network.py index e10c17c0c..c0239a6da 100644 --- a/train_network.py +++ b/train_network.py @@ -1034,26 +1034,26 @@ def remove_model(old_ckpt_name): logs = self.generate_step_logs(args, current_loss, avr_loss, lr_scheduler, keys_scaled, mean_norm, maximum_norm) accelerator.log(logs, step=global_step) - if len(val_dataloader) > 0: - if (args.validation_every_n_step is not None and global_step % args.validation_every_n_step == 0) or (args.validation_every_n_step is None and step == len(train_dataloader) - 1) or global_step >= args.max_train_steps: - accelerator.print("Validating バリデーション処理...") - total_loss = 0.0 - with torch.no_grad(): - validation_steps = min(args.max_validation_steps, len(val_dataloader)) if args.max_validation_steps is not None else len(val_dataloader) - for val_step in tqdm(range(validation_steps), desc='Validation Steps'): - batch = next(cyclic_val_dataloader) - loss = self.process_val_batch(batch, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args) - total_loss += loss.detach().item() - current_loss = total_loss / validation_steps - val_loss_recorder.add(epoch=0, step=global_step, loss=current_loss) - - if args.logging_dir is not None: - logs = {"loss/current_val_loss": current_loss} - accelerator.log(logs, step=global_step) - avr_loss: float = val_loss_recorder.moving_average - logs = {"loss/average_val_loss": avr_loss} - accelerator.log(logs, step=global_step) - + if len(val_dataloader) > 0: + if (args.validation_every_n_step is not None and global_step % args.validation_every_n_step == 0) or (args.validation_every_n_step is None and step == len(train_dataloader) - 1) or global_step >= args.max_train_steps: + accelerator.print("Validating バリデーション処理...") + total_loss = 0.0 + with torch.no_grad(): + validation_steps = min(args.max_validation_steps, len(val_dataloader)) if args.max_validation_steps is not None else len(val_dataloader) + for val_step in tqdm(range(validation_steps), desc='Validation Steps'): + batch = next(cyclic_val_dataloader) + loss = self.process_val_batch(batch, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args) + total_loss += loss.detach().item() + current_loss = total_loss / validation_steps + val_loss_recorder.add(epoch=0, step=global_step, loss=current_loss) + + if args.logging_dir is not None: + logs = {"loss/current_val_loss": current_loss} + accelerator.log(logs, step=global_step) + avr_loss: float = val_loss_recorder.moving_average + logs = {"loss/average_val_loss": avr_loss} + accelerator.log(logs, step=global_step) + if global_step >= args.max_train_steps: break From dece2c388f1c39e7baca201b4bf4e61d9f67a219 Mon Sep 17 00:00:00 2001 From: gesen2egee Date: Fri, 4 Oct 2024 16:43:07 +0800 Subject: [PATCH 264/748] Update train_db.py --- train_db.py | 164 ++++++++++++++++++++++++++-------------------------- 1 file changed, 82 insertions(+), 82 deletions(-) diff --git a/train_db.py b/train_db.py index 800a157bf..2c17e521f 100644 --- a/train_db.py +++ b/train_db.py @@ -46,67 +46,67 @@ # perlin_noise, def process_val_batch(*training_models, batch, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args): - total_loss = 0.0 - timesteps_list = [10, 350, 500, 650, 990] - - with accelerator.accumulate(*training_models): - with torch.no_grad(): - # latentに変換 - if cache_latents: - latents = batch["latents"].to(accelerator.device).to(dtype=weight_dtype) - else: - latents = vae.encode(batch["images"].to(dtype=weight_dtype)).latent_dist.sample() - latents = latents * 0.18215 - b_size = latents.shape[0] - - with torch.set_grad_enabled(False), accelerator.autocast(): - if args.weighted_captions: - encoder_hidden_states = get_weighted_text_embeddings( - tokenizer, - text_encoder, - batch["captions"], - accelerator.device, - args.max_token_length // 75 if args.max_token_length else 1, - clip_skip=args.clip_skip, - ) - else: - input_ids = batch["input_ids"].to(accelerator.device) - encoder_hidden_states = train_util.get_hidden_states( - args, input_ids, tokenizer, text_encoder, None if not args.full_fp16 else weight_dtype - ) - - # Sample noise, sample a random timestep for each image, and add noise to the latents, - # with noise offset and/or multires noise if specified - - for fixed_timesteps in timesteps_list: - with torch.set_grad_enabled(False), accelerator.autocast(): - # Sample noise, sample a random timestep for each image, and add noise to the latents, - # with noise offset and/or multires noise if specified - noise = torch.randn_like(latents, device=latents.device) - b_size = latents.shape[0] - timesteps = torch.full((b_size,), fixed_timesteps, dtype=torch.long, device=latents.device) - noisy_latents = noise_scheduler.add_noise(latents, noise, timesteps) - - # Predict the noise residual - with accelerator.autocast(): - noise_pred = unet(noisy_latents, timesteps, encoder_hidden_states).sample - - if args.v_parameterization: - # v-parameterization training - target = noise_scheduler.get_velocity(latents, noise, timesteps) - else: - target = noise - - loss = torch.nn.functional.mse_loss(noise_pred.float(), target.float(), reduction="none") - if args.masked_loss: - loss = apply_masked_loss(loss, batch) - loss = loss.mean([1, 2, 3]) - loss = apply_debiased_estimation(loss, timesteps, noise_scheduler) - loss = loss.mean() # 平均なのでbatch_sizeで割る必要なし - total_loss += loss - - average_loss = total_loss / len(timesteps_list) - return average_loss + total_loss = 0.0 + timesteps_list = [10, 350, 500, 650, 990] + + with accelerator.accumulate(*training_models): + with torch.no_grad(): + # latentに変換 + if cache_latents: + latents = batch["latents"].to(accelerator.device).to(dtype=weight_dtype) + else: + latents = vae.encode(batch["images"].to(dtype=weight_dtype)).latent_dist.sample() + latents = latents * 0.18215 + b_size = latents.shape[0] + + with torch.set_grad_enabled(False), accelerator.autocast(): + if args.weighted_captions: + encoder_hidden_states = get_weighted_text_embeddings( + tokenizer, + text_encoder, + batch["captions"], + accelerator.device, + args.max_token_length // 75 if args.max_token_length else 1, + clip_skip=args.clip_skip, + ) + else: + input_ids = batch["input_ids"].to(accelerator.device) + encoder_hidden_states = train_util.get_hidden_states( + args, input_ids, tokenizer, text_encoder, None if not args.full_fp16 else weight_dtype + ) + + # Sample noise, sample a random timestep for each image, and add noise to the latents, + # with noise offset and/or multires noise if specified + + for fixed_timesteps in timesteps_list: + with torch.set_grad_enabled(False), accelerator.autocast(): + # Sample noise, sample a random timestep for each image, and add noise to the latents, + # with noise offset and/or multires noise if specified + noise = torch.randn_like(latents, device=latents.device) + b_size = latents.shape[0] + timesteps = torch.full((b_size,), fixed_timesteps, dtype=torch.long, device=latents.device) + noisy_latents = noise_scheduler.add_noise(latents, noise, timesteps) + + # Predict the noise residual + with accelerator.autocast(): + noise_pred = unet(noisy_latents, timesteps, encoder_hidden_states).sample + + if args.v_parameterization: + # v-parameterization training + target = noise_scheduler.get_velocity(latents, noise, timesteps) + else: + target = noise + + loss = torch.nn.functional.mse_loss(noise_pred.float(), target.float(), reduction="none") + if args.masked_loss: + loss = apply_masked_loss(loss, batch) + loss = loss.mean([1, 2, 3]) + loss = apply_debiased_estimation(loss, timesteps, noise_scheduler) + loss = loss.mean() # 平均なのでbatch_sizeで割る必要なし + total_loss += loss + + average_loss = total_loss / len(timesteps_list) + return average_loss def train(args): train_util.verify_training_args(args) @@ -210,8 +210,8 @@ def train(args): with torch.no_grad(): train_dataset_group.cache_latents(vae, args.vae_batch_size, args.cache_latents_to_disk, accelerator.is_main_process) if val_dataset_group is not None: - print("Cache validation latents...") - val_dataset_group.cache_latents(vae, args.vae_batch_size, args.cache_latents_to_disk, accelerator.is_main_process) + print("Cache validation latents...") + val_dataset_group.cache_latents(vae, args.vae_batch_size, args.cache_latents_to_disk, accelerator.is_main_process) vae.to("cpu") clean_memory_on_device(accelerator.device) @@ -503,25 +503,25 @@ def train(args): avr_loss: float = loss_recorder.moving_average logs = {"avr_loss": avr_loss} # , "lr": lr_scheduler.get_last_lr()[0]} progress_bar.set_postfix(**logs) - if len(val_dataloader) > 0: - if (args.validation_every_n_step is not None and global_step % args.validation_every_n_step == 0) or (args.validation_every_n_step is None and step == len(train_dataloader) - 1) or global_step >= args.max_train_steps: - accelerator.print("Validating バリデーション処理...") - total_loss = 0.0 - with torch.no_grad(): - validation_steps = min(args.max_validation_steps, len(val_dataloader)) if args.max_validation_steps is not None else len(val_dataloader) - for val_step in tqdm(range(validation_steps), desc='Validation Steps'): - batch = next(cyclic_val_dataloader) - loss = self.process_val_batch(batch, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args) - total_loss += loss.detach().item() - current_loss = total_loss / validation_steps - val_loss_recorder.add(epoch=0, step=global_step, loss=current_loss) - - if args.logging_dir is not None: - logs = {"loss/current_val_loss": current_loss} - accelerator.log(logs, step=global_step) - avr_loss: float = val_loss_recorder.moving_average - logs = {"loss/average_val_loss": avr_loss} - accelerator.log(logs, step=global_step) + if len(val_dataloader) > 0: + if (args.validation_every_n_step is not None and global_step % args.validation_every_n_step == 0) or (args.validation_every_n_step is None and step == len(train_dataloader) - 1) or global_step >= args.max_train_steps: + accelerator.print("Validating バリデーション処理...") + total_loss = 0.0 + with torch.no_grad(): + validation_steps = min(args.max_validation_steps, len(val_dataloader)) if args.max_validation_steps is not None else len(val_dataloader) + for val_step in tqdm(range(validation_steps), desc='Validation Steps'): + batch = next(cyclic_val_dataloader) + loss = self.process_val_batch(batch, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args) + total_loss += loss.detach().item() + current_loss = total_loss / validation_steps + val_loss_recorder.add(epoch=0, step=global_step, loss=current_loss) + + if args.logging_dir is not None: + logs = {"loss/current_val_loss": current_loss} + accelerator.log(logs, step=global_step) + avr_loss: float = val_loss_recorder.moving_average + logs = {"loss/average_val_loss": avr_loss} + accelerator.log(logs, step=global_step) if global_step >= args.max_train_steps: break From ba08a898940c80a6551111fdd77b53c6d3a019ac Mon Sep 17 00:00:00 2001 From: Kohya S Date: Fri, 4 Oct 2024 20:35:16 +0900 Subject: [PATCH 265/748] call optimizer eval/train for sample_at_first, also set train after resuming closes #1667 --- flux_train.py | 2 ++ train_network.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/flux_train.py b/flux_train.py index 022467ea7..81c13e4cc 100644 --- a/flux_train.py +++ b/flux_train.py @@ -706,7 +706,9 @@ def optimizer_hook(parameter: torch.Tensor): accelerator.unwrap_model(flux).prepare_block_swap_before_forward() # For --sample_at_first + optimizer_eval_fn() flux_train_utils.sample_images(accelerator, args, 0, global_step, flux, ae, [clip_l, t5xxl], sample_prompts_te_outputs) + optimizer_train_fn() if len(accelerator.trackers) > 0: # log empty object to commit the sample images to wandb accelerator.log({}, step=0) diff --git a/train_network.py b/train_network.py index 7b2b76a1b..f0d397b9e 100644 --- a/train_network.py +++ b/train_network.py @@ -1042,7 +1042,9 @@ def remove_model(old_ckpt_name): text_encoder = None # For --sample_at_first + optimizer_eval_fn() self.sample_images(accelerator, args, 0, global_step, accelerator.device, vae, tokenizers, text_encoder, unet) + optimizer_train_fn() if len(accelerator.trackers) > 0: # log empty object to commit the sample images to wandb accelerator.log({}, step=0) From 83e3048cb089bf6726751609da26da751b8383ae Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 6 Oct 2024 21:32:21 +0900 Subject: [PATCH 266/748] load Diffusers format, check schnell/dev --- README.md | 4 + flux_minimal_inference.py | 15 +-- flux_train.py | 15 ++- flux_train_network.py | 17 ++- library/flux_utils.py | 178 +++++++++++++++++++++++++++-- tools/convert_diffusers_to_flux.py | 78 +------------ 6 files changed, 196 insertions(+), 111 deletions(-) diff --git a/README.md b/README.md index 789fe514a..c567758a5 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,10 @@ The command to install PyTorch is as follows: ### Recent Updates +Oct 6, 2024: +- In FLUX.1 LoRA training and fine-tuning, the specified weight file (*.safetensors) is automatically determined to be dev or schnell. This allows schnell models to be loaded correctly. Note that LoRA training with schnell models and fine-tuning with schnell models are unverified. +- FLUX.1 LoRA training and fine-tuning can now load weights in Diffusers format in addition to BFL format (a single *.safetensors file). Please specify the parent directory of `transformer` or `diffusion_pytorch_model-00001-of-00003.safetensors` with the full path. However, Diffusers format CLIP/T5XXL is not supported. Saving is supported only in BFL format. + Sep 26, 2024: The implementation of block swap during FLUX.1 fine-tuning has been changed to improve speed about 10% (depends on the environment). A new `--blocks_to_swap` option has been added, and `--double_blocks_to_swap` and `--single_blocks_to_swap` are deprecated. `--double_blocks_to_swap` and `--single_blocks_to_swap` are working as before, but they will be removed in the future. See [FLUX.1 fine-tuning](#flux1-fine-tuning) for details. diff --git a/flux_minimal_inference.py b/flux_minimal_inference.py index 2f1b9a377..7ab224f1b 100644 --- a/flux_minimal_inference.py +++ b/flux_minimal_inference.py @@ -419,9 +419,6 @@ def encode(prpt: str): steps = args.steps guidance_scale = args.guidance - name = "schnell" if "schnell" in args.ckpt_path else "dev" # TODO change this to a more robust way - is_schnell = name == "schnell" - def is_fp8(dt): return dt in [torch.float8_e4m3fn, torch.float8_e4m3fnuz, torch.float8_e5m2, torch.float8_e5m2fnuz] @@ -455,12 +452,8 @@ def is_fp8(dt): # if is_fp8(t5xxl_dtype): # t5xxl = accelerator.prepare(t5xxl) - t5xxl_max_length = 256 if is_schnell else 512 - tokenize_strategy = strategy_flux.FluxTokenizeStrategy(t5xxl_max_length) - encoding_strategy = strategy_flux.FluxTextEncodingStrategy() - # DiT - model = flux_utils.load_flow_model(name, args.ckpt_path, None, loading_device) + is_schnell, model = flux_utils.load_flow_model(args.ckpt_path, None, loading_device) model.eval() logger.info(f"Casting model to {flux_dtype}") model.to(flux_dtype) # make sure model is dtype @@ -469,8 +462,12 @@ def is_fp8(dt): # if args.offload: # model = model.to("cpu") + t5xxl_max_length = 256 if is_schnell else 512 + tokenize_strategy = strategy_flux.FluxTokenizeStrategy(t5xxl_max_length) + encoding_strategy = strategy_flux.FluxTextEncodingStrategy() + # AE - ae = flux_utils.load_ae(name, args.ae, ae_dtype, loading_device) + ae = flux_utils.load_ae(args.ae, ae_dtype, loading_device) ae.eval() # if is_fp8(ae_dtype): # ae = accelerator.prepare(ae) diff --git a/flux_train.py b/flux_train.py index 81c13e4cc..ecc87c0a8 100644 --- a/flux_train.py +++ b/flux_train.py @@ -137,6 +137,7 @@ def train(args): train_dataset_group.verify_bucket_reso_steps(16) # TODO これでいいか確認 + _, is_schnell, _ = flux_utils.check_flux_state_dict_diffusers_schnell(args.pretrained_model_name_or_path) if args.debug_dataset: if args.cache_text_encoder_outputs: strategy_base.TextEncoderOutputsCachingStrategy.set_strategy( @@ -144,9 +145,8 @@ def train(args): args.cache_text_encoder_outputs_to_disk, args.text_encoder_batch_size, False, False ) ) - name = "schnell" if "schnell" in args.pretrained_model_name_or_path else "dev" t5xxl_max_token_length = ( - args.t5xxl_max_token_length if args.t5xxl_max_token_length is not None else (256 if name == "schnell" else 512) + args.t5xxl_max_token_length if args.t5xxl_max_token_length is not None else (256 if is_schnell else 512) ) strategy_base.TokenizeStrategy.set_strategy(strategy_flux.FluxTokenizeStrategy(t5xxl_max_token_length)) @@ -177,12 +177,11 @@ def train(args): weight_dtype, save_dtype = train_util.prepare_dtype(args) # モデルを読み込む - name = "schnell" if "schnell" in args.pretrained_model_name_or_path else "dev" # load VAE for caching latents ae = None if cache_latents: - ae = flux_utils.load_ae(name, args.ae, weight_dtype, "cpu", args.disable_mmap_load_safetensors) + ae = flux_utils.load_ae( args.ae, weight_dtype, "cpu", args.disable_mmap_load_safetensors) ae.to(accelerator.device, dtype=weight_dtype) ae.requires_grad_(False) ae.eval() @@ -196,7 +195,7 @@ def train(args): # prepare tokenize strategy if args.t5xxl_max_token_length is None: - if name == "schnell": + if is_schnell: t5xxl_max_token_length = 256 else: t5xxl_max_token_length = 512 @@ -258,8 +257,8 @@ def train(args): clean_memory_on_device(accelerator.device) # load FLUX - flux = flux_utils.load_flow_model( - name, args.pretrained_model_name_or_path, weight_dtype, "cpu", args.disable_mmap_load_safetensors + _, flux = flux_utils.load_flow_model( + args.pretrained_model_name_or_path, weight_dtype, "cpu", args.disable_mmap_load_safetensors ) if args.gradient_checkpointing: @@ -294,7 +293,7 @@ def train(args): if not cache_latents: # load VAE here if not cached - ae = flux_utils.load_ae(name, args.ae, weight_dtype, "cpu") + ae = flux_utils.load_ae(args.ae, weight_dtype, "cpu") ae.requires_grad_(False) ae.eval() ae.to(accelerator.device, dtype=weight_dtype) diff --git a/flux_train_network.py b/flux_train_network.py index 65b121e7c..5d14bd28e 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -2,7 +2,7 @@ import copy import math import random -from typing import Any +from typing import Any, Optional import torch from accelerate import Accelerator @@ -24,6 +24,7 @@ class FluxNetworkTrainer(train_network.NetworkTrainer): def __init__(self): super().__init__() self.sample_prompts_te_outputs = None + self.is_schnell: Optional[bool] = None def assert_extra_args(self, args, train_dataset_group): super().assert_extra_args(args, train_dataset_group) @@ -57,19 +58,15 @@ def assert_extra_args(self, args, train_dataset_group): train_dataset_group.verify_bucket_reso_steps(32) # TODO check this - def get_flux_model_name(self, args): - return "schnell" if "schnell" in args.pretrained_model_name_or_path else "dev" - def load_target_model(self, args, weight_dtype, accelerator): # currently offload to cpu for some models - name = self.get_flux_model_name(args) # if the file is fp8 and we are using fp8_base, we can load it as is (fp8) loading_dtype = None if args.fp8_base else weight_dtype # if we load to cpu, flux.to(fp8) takes a long time, so we should load to gpu in future - model = flux_utils.load_flow_model( - name, args.pretrained_model_name_or_path, loading_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors + self.is_schnell, model = flux_utils.load_flow_model( + args.pretrained_model_name_or_path, loading_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors ) if args.fp8_base: # check dtype of model @@ -100,7 +97,7 @@ def load_target_model(self, args, weight_dtype, accelerator): elif t5xxl.dtype == torch.float8_e4m3fn: logger.info("Loaded fp8 T5XXL model") - ae = flux_utils.load_ae(name, args.ae, weight_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors) + ae = flux_utils.load_ae(args.ae, weight_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors) return flux_utils.MODEL_VERSION_FLUX_V1, [clip_l, t5xxl], ae, model @@ -142,10 +139,10 @@ def prepare_split_model(self, model, weight_dtype, accelerator): return flux_lower def get_tokenize_strategy(self, args): - name = self.get_flux_model_name(args) + _, is_schnell, _ = flux_utils.check_flux_state_dict_diffusers_schnell(args.pretrained_model_name_or_path) if args.t5xxl_max_token_length is None: - if name == "schnell": + if is_schnell: t5xxl_max_token_length = 256 else: t5xxl_max_token_length = 512 diff --git a/library/flux_utils.py b/library/flux_utils.py index 7b0a41a8a..713814e28 100644 --- a/library/flux_utils.py +++ b/library/flux_utils.py @@ -1,9 +1,11 @@ import json -from typing import Optional, Union +import os +from typing import List, Optional, Tuple, Union import einops import torch from safetensors.torch import load_file +from safetensors import safe_open from accelerate import init_empty_weights from transformers import CLIPTextModel, CLIPConfig, T5EncoderModel, T5Config @@ -17,6 +19,8 @@ logger = logging.getLogger(__name__) MODEL_VERSION_FLUX_V1 = "flux1" +MODEL_NAME_DEV = "dev" +MODEL_NAME_SCHNELL = "schnell" # temporary copy from sd3_utils TODO refactor @@ -39,10 +43,35 @@ def load_safetensors( return load_file(path) # prevent device invalid Error +def check_flux_state_dict_diffusers_schnell(ckpt_path: str) -> Tuple[bool, bool, List[str]]: + # check the state dict: Diffusers or BFL, dev or schnell + logger.info(f"Checking the state dict: Diffusers or BFL, dev or schnell") + + if os.path.isdir(ckpt_path): # if ckpt_path is a directory, it is Diffusers + ckpt_path = os.path.join(ckpt_path, "transformer", "diffusion_pytorch_model-00001-of-00003.safetensors") + if "00001-of-00003" in ckpt_path: + ckpt_paths = [ckpt_path.replace("00001-of-00003", f"0000{i}-of-00003") for i in range(1, 4)] + else: + ckpt_paths = [ckpt_path] + + keys = [] + for ckpt_path in ckpt_paths: + with safe_open(ckpt_path, framework="pt") as f: + keys.extend(f.keys()) + + is_diffusers = "transformer_blocks.0.attn.add_k_proj.bias" in keys + is_schnell = not ("guidance_in.in_layer.bias" in keys or "time_text_embed.guidance_embedder.linear_1.bias" in keys) + return is_diffusers, is_schnell, ckpt_paths + + def load_flow_model( - name: str, ckpt_path: str, dtype: Optional[torch.dtype], device: Union[str, torch.device], disable_mmap: bool = False -) -> flux_models.Flux: - logger.info(f"Building Flux model {name}") + ckpt_path: str, dtype: Optional[torch.dtype], device: Union[str, torch.device], disable_mmap: bool = False +) -> Tuple[bool, flux_models.Flux]: + is_diffusers, is_schnell, ckpt_paths = check_flux_state_dict_diffusers_schnell(ckpt_path) + name = MODEL_NAME_DEV if not is_schnell else MODEL_NAME_SCHNELL + + # build model + logger.info(f"Building Flux model {name} from {'Diffusers' if is_diffusers else 'BFL'} checkpoint") with torch.device("meta"): model = flux_models.Flux(flux_models.configs[name].params) if dtype is not None: @@ -50,18 +79,28 @@ def load_flow_model( # load_sft doesn't support torch.device logger.info(f"Loading state dict from {ckpt_path}") - sd = load_safetensors(ckpt_path, device=str(device), disable_mmap=disable_mmap, dtype=dtype) + sd = {} + for ckpt_path in ckpt_paths: + sd.update(load_safetensors(ckpt_path, device=str(device), disable_mmap=disable_mmap, dtype=dtype)) + + # convert Diffusers to BFL + if is_diffusers: + logger.info("Converting Diffusers to BFL") + sd = convert_diffusers_sd_to_bfl(sd) + logger.info("Converted Diffusers to BFL") + info = model.load_state_dict(sd, strict=False, assign=True) logger.info(f"Loaded Flux: {info}") - return model + return is_schnell, model def load_ae( - name: str, ckpt_path: str, dtype: torch.dtype, device: Union[str, torch.device], disable_mmap: bool = False + ckpt_path: str, dtype: torch.dtype, device: Union[str, torch.device], disable_mmap: bool = False ) -> flux_models.AutoEncoder: logger.info("Building AutoEncoder") with torch.device("meta"): - ae = flux_models.AutoEncoder(flux_models.configs[name].ae_params).to(dtype) + # dev and schnell have the same AE params + ae = flux_models.AutoEncoder(flux_models.configs[MODEL_NAME_DEV].ae_params).to(dtype) logger.info(f"Loading state dict from {ckpt_path}") sd = load_safetensors(ckpt_path, device=str(device), disable_mmap=disable_mmap, dtype=dtype) @@ -246,3 +285,126 @@ def pack_latents(x: torch.Tensor) -> torch.Tensor: """ x = einops.rearrange(x, "b c (h ph) (w pw) -> b (h w) (c ph pw)", ph=2, pw=2) return x + + +# region Diffusers + +NUM_DOUBLE_BLOCKS = 19 +NUM_SINGLE_BLOCKS = 38 + +BFL_TO_DIFFUSERS_MAP = { + "time_in.in_layer.weight": ["time_text_embed.timestep_embedder.linear_1.weight"], + "time_in.in_layer.bias": ["time_text_embed.timestep_embedder.linear_1.bias"], + "time_in.out_layer.weight": ["time_text_embed.timestep_embedder.linear_2.weight"], + "time_in.out_layer.bias": ["time_text_embed.timestep_embedder.linear_2.bias"], + "vector_in.in_layer.weight": ["time_text_embed.text_embedder.linear_1.weight"], + "vector_in.in_layer.bias": ["time_text_embed.text_embedder.linear_1.bias"], + "vector_in.out_layer.weight": ["time_text_embed.text_embedder.linear_2.weight"], + "vector_in.out_layer.bias": ["time_text_embed.text_embedder.linear_2.bias"], + "guidance_in.in_layer.weight": ["time_text_embed.guidance_embedder.linear_1.weight"], + "guidance_in.in_layer.bias": ["time_text_embed.guidance_embedder.linear_1.bias"], + "guidance_in.out_layer.weight": ["time_text_embed.guidance_embedder.linear_2.weight"], + "guidance_in.out_layer.bias": ["time_text_embed.guidance_embedder.linear_2.bias"], + "txt_in.weight": ["context_embedder.weight"], + "txt_in.bias": ["context_embedder.bias"], + "img_in.weight": ["x_embedder.weight"], + "img_in.bias": ["x_embedder.bias"], + "double_blocks.().img_mod.lin.weight": ["norm1.linear.weight"], + "double_blocks.().img_mod.lin.bias": ["norm1.linear.bias"], + "double_blocks.().txt_mod.lin.weight": ["norm1_context.linear.weight"], + "double_blocks.().txt_mod.lin.bias": ["norm1_context.linear.bias"], + "double_blocks.().img_attn.qkv.weight": ["attn.to_q.weight", "attn.to_k.weight", "attn.to_v.weight"], + "double_blocks.().img_attn.qkv.bias": ["attn.to_q.bias", "attn.to_k.bias", "attn.to_v.bias"], + "double_blocks.().txt_attn.qkv.weight": ["attn.add_q_proj.weight", "attn.add_k_proj.weight", "attn.add_v_proj.weight"], + "double_blocks.().txt_attn.qkv.bias": ["attn.add_q_proj.bias", "attn.add_k_proj.bias", "attn.add_v_proj.bias"], + "double_blocks.().img_attn.norm.query_norm.scale": ["attn.norm_q.weight"], + "double_blocks.().img_attn.norm.key_norm.scale": ["attn.norm_k.weight"], + "double_blocks.().txt_attn.norm.query_norm.scale": ["attn.norm_added_q.weight"], + "double_blocks.().txt_attn.norm.key_norm.scale": ["attn.norm_added_k.weight"], + "double_blocks.().img_mlp.0.weight": ["ff.net.0.proj.weight"], + "double_blocks.().img_mlp.0.bias": ["ff.net.0.proj.bias"], + "double_blocks.().img_mlp.2.weight": ["ff.net.2.weight"], + "double_blocks.().img_mlp.2.bias": ["ff.net.2.bias"], + "double_blocks.().txt_mlp.0.weight": ["ff_context.net.0.proj.weight"], + "double_blocks.().txt_mlp.0.bias": ["ff_context.net.0.proj.bias"], + "double_blocks.().txt_mlp.2.weight": ["ff_context.net.2.weight"], + "double_blocks.().txt_mlp.2.bias": ["ff_context.net.2.bias"], + "double_blocks.().img_attn.proj.weight": ["attn.to_out.0.weight"], + "double_blocks.().img_attn.proj.bias": ["attn.to_out.0.bias"], + "double_blocks.().txt_attn.proj.weight": ["attn.to_add_out.weight"], + "double_blocks.().txt_attn.proj.bias": ["attn.to_add_out.bias"], + "single_blocks.().modulation.lin.weight": ["norm.linear.weight"], + "single_blocks.().modulation.lin.bias": ["norm.linear.bias"], + "single_blocks.().linear1.weight": ["attn.to_q.weight", "attn.to_k.weight", "attn.to_v.weight", "proj_mlp.weight"], + "single_blocks.().linear1.bias": ["attn.to_q.bias", "attn.to_k.bias", "attn.to_v.bias", "proj_mlp.bias"], + "single_blocks.().linear2.weight": ["proj_out.weight"], + "single_blocks.().norm.query_norm.scale": ["attn.norm_q.weight"], + "single_blocks.().norm.key_norm.scale": ["attn.norm_k.weight"], + "single_blocks.().linear2.weight": ["proj_out.weight"], + "single_blocks.().linear2.bias": ["proj_out.bias"], + "final_layer.linear.weight": ["proj_out.weight"], + "final_layer.linear.bias": ["proj_out.bias"], + "final_layer.adaLN_modulation.1.weight": ["norm_out.linear.weight"], + "final_layer.adaLN_modulation.1.bias": ["norm_out.linear.bias"], +} + + +def make_diffusers_to_bfl_map() -> dict[str, tuple[int, str]]: + # make reverse map from diffusers map + diffusers_to_bfl_map = {} # key: diffusers_key, value: (index, bfl_key) + for b in range(NUM_DOUBLE_BLOCKS): + for key, weights in BFL_TO_DIFFUSERS_MAP.items(): + if key.startswith("double_blocks."): + block_prefix = f"transformer_blocks.{b}." + for i, weight in enumerate(weights): + diffusers_to_bfl_map[f"{block_prefix}{weight}"] = (i, key.replace("()", f"{b}")) + for b in range(NUM_SINGLE_BLOCKS): + for key, weights in BFL_TO_DIFFUSERS_MAP.items(): + if key.startswith("single_blocks."): + block_prefix = f"single_transformer_blocks.{b}." + for i, weight in enumerate(weights): + diffusers_to_bfl_map[f"{block_prefix}{weight}"] = (i, key.replace("()", f"{b}")) + for key, weights in BFL_TO_DIFFUSERS_MAP.items(): + if not (key.startswith("double_blocks.") or key.startswith("single_blocks.")): + for i, weight in enumerate(weights): + diffusers_to_bfl_map[weight] = (i, key) + return diffusers_to_bfl_map + + +def convert_diffusers_sd_to_bfl(diffusers_sd: dict[str, torch.Tensor]) -> dict[str, torch.Tensor]: + diffusers_to_bfl_map = make_diffusers_to_bfl_map() + + # iterate over three safetensors files to reduce memory usage + flux_sd = {} + for diffusers_key, tensor in diffusers_sd.items(): + if diffusers_key in diffusers_to_bfl_map: + index, bfl_key = diffusers_to_bfl_map[diffusers_key] + if bfl_key not in flux_sd: + flux_sd[bfl_key] = [] + flux_sd[bfl_key].append((index, tensor)) + else: + logger.error(f"Error: Key not found in diffusers_to_bfl_map: {diffusers_key}") + raise KeyError(f"Key not found in diffusers_to_bfl_map: {diffusers_key}") + + # concat tensors if multiple tensors are mapped to a single key, sort by index + for key, values in flux_sd.items(): + if len(values) == 1: + flux_sd[key] = values[0][1] + else: + flux_sd[key] = torch.cat([value[1] for value in sorted(values, key=lambda x: x[0])]) + + # special case for final_layer.adaLN_modulation.1.weight and final_layer.adaLN_modulation.1.bias + def swap_scale_shift(weight): + shift, scale = weight.chunk(2, dim=0) + new_weight = torch.cat([scale, shift], dim=0) + return new_weight + + if "final_layer.adaLN_modulation.1.weight" in flux_sd: + flux_sd["final_layer.adaLN_modulation.1.weight"] = swap_scale_shift(flux_sd["final_layer.adaLN_modulation.1.weight"]) + if "final_layer.adaLN_modulation.1.bias" in flux_sd: + flux_sd["final_layer.adaLN_modulation.1.bias"] = swap_scale_shift(flux_sd["final_layer.adaLN_modulation.1.bias"]) + + return flux_sd + + +# endregion diff --git a/tools/convert_diffusers_to_flux.py b/tools/convert_diffusers_to_flux.py index 9d8f7c74b..65ba7321a 100644 --- a/tools/convert_diffusers_to_flux.py +++ b/tools/convert_diffusers_to_flux.py @@ -29,6 +29,7 @@ import torch from tqdm import tqdm +from library import flux_utils from library.utils import setup_logging, str_to_dtype, MemoryEfficientSafeOpen, mem_eff_save_file setup_logging() @@ -36,65 +37,6 @@ logger = logging.getLogger(__name__) -NUM_DOUBLE_BLOCKS = 19 -NUM_SINGLE_BLOCKS = 38 - -BFL_TO_DIFFUSERS_MAP = { - "time_in.in_layer.weight": ["time_text_embed.timestep_embedder.linear_1.weight"], - "time_in.in_layer.bias": ["time_text_embed.timestep_embedder.linear_1.bias"], - "time_in.out_layer.weight": ["time_text_embed.timestep_embedder.linear_2.weight"], - "time_in.out_layer.bias": ["time_text_embed.timestep_embedder.linear_2.bias"], - "vector_in.in_layer.weight": ["time_text_embed.text_embedder.linear_1.weight"], - "vector_in.in_layer.bias": ["time_text_embed.text_embedder.linear_1.bias"], - "vector_in.out_layer.weight": ["time_text_embed.text_embedder.linear_2.weight"], - "vector_in.out_layer.bias": ["time_text_embed.text_embedder.linear_2.bias"], - "guidance_in.in_layer.weight": ["time_text_embed.guidance_embedder.linear_1.weight"], - "guidance_in.in_layer.bias": ["time_text_embed.guidance_embedder.linear_1.bias"], - "guidance_in.out_layer.weight": ["time_text_embed.guidance_embedder.linear_2.weight"], - "guidance_in.out_layer.bias": ["time_text_embed.guidance_embedder.linear_2.bias"], - "txt_in.weight": ["context_embedder.weight"], - "txt_in.bias": ["context_embedder.bias"], - "img_in.weight": ["x_embedder.weight"], - "img_in.bias": ["x_embedder.bias"], - "double_blocks.().img_mod.lin.weight": ["norm1.linear.weight"], - "double_blocks.().img_mod.lin.bias": ["norm1.linear.bias"], - "double_blocks.().txt_mod.lin.weight": ["norm1_context.linear.weight"], - "double_blocks.().txt_mod.lin.bias": ["norm1_context.linear.bias"], - "double_blocks.().img_attn.qkv.weight": ["attn.to_q.weight", "attn.to_k.weight", "attn.to_v.weight"], - "double_blocks.().img_attn.qkv.bias": ["attn.to_q.bias", "attn.to_k.bias", "attn.to_v.bias"], - "double_blocks.().txt_attn.qkv.weight": ["attn.add_q_proj.weight", "attn.add_k_proj.weight", "attn.add_v_proj.weight"], - "double_blocks.().txt_attn.qkv.bias": ["attn.add_q_proj.bias", "attn.add_k_proj.bias", "attn.add_v_proj.bias"], - "double_blocks.().img_attn.norm.query_norm.scale": ["attn.norm_q.weight"], - "double_blocks.().img_attn.norm.key_norm.scale": ["attn.norm_k.weight"], - "double_blocks.().txt_attn.norm.query_norm.scale": ["attn.norm_added_q.weight"], - "double_blocks.().txt_attn.norm.key_norm.scale": ["attn.norm_added_k.weight"], - "double_blocks.().img_mlp.0.weight": ["ff.net.0.proj.weight"], - "double_blocks.().img_mlp.0.bias": ["ff.net.0.proj.bias"], - "double_blocks.().img_mlp.2.weight": ["ff.net.2.weight"], - "double_blocks.().img_mlp.2.bias": ["ff.net.2.bias"], - "double_blocks.().txt_mlp.0.weight": ["ff_context.net.0.proj.weight"], - "double_blocks.().txt_mlp.0.bias": ["ff_context.net.0.proj.bias"], - "double_blocks.().txt_mlp.2.weight": ["ff_context.net.2.weight"], - "double_blocks.().txt_mlp.2.bias": ["ff_context.net.2.bias"], - "double_blocks.().img_attn.proj.weight": ["attn.to_out.0.weight"], - "double_blocks.().img_attn.proj.bias": ["attn.to_out.0.bias"], - "double_blocks.().txt_attn.proj.weight": ["attn.to_add_out.weight"], - "double_blocks.().txt_attn.proj.bias": ["attn.to_add_out.bias"], - "single_blocks.().modulation.lin.weight": ["norm.linear.weight"], - "single_blocks.().modulation.lin.bias": ["norm.linear.bias"], - "single_blocks.().linear1.weight": ["attn.to_q.weight", "attn.to_k.weight", "attn.to_v.weight", "proj_mlp.weight"], - "single_blocks.().linear1.bias": ["attn.to_q.bias", "attn.to_k.bias", "attn.to_v.bias", "proj_mlp.bias"], - "single_blocks.().linear2.weight": ["proj_out.weight"], - "single_blocks.().norm.query_norm.scale": ["attn.norm_q.weight"], - "single_blocks.().norm.key_norm.scale": ["attn.norm_k.weight"], - "single_blocks.().linear2.weight": ["proj_out.weight"], - "single_blocks.().linear2.bias": ["proj_out.bias"], - "final_layer.linear.weight": ["proj_out.weight"], - "final_layer.linear.bias": ["proj_out.bias"], - "final_layer.adaLN_modulation.1.weight": ["norm_out.linear.weight"], - "final_layer.adaLN_modulation.1.bias": ["norm_out.linear.bias"], -} - def convert(args): # if diffusers_path is folder, get safetensors file @@ -114,23 +56,7 @@ def convert(args): save_dtype = str_to_dtype(args.save_precision) if args.save_precision is not None else None # make reverse map from diffusers map - diffusers_to_bfl_map = {} # key: diffusers_key, value: (index, bfl_key) - for b in range(NUM_DOUBLE_BLOCKS): - for key, weights in BFL_TO_DIFFUSERS_MAP.items(): - if key.startswith("double_blocks."): - block_prefix = f"transformer_blocks.{b}." - for i, weight in enumerate(weights): - diffusers_to_bfl_map[f"{block_prefix}{weight}"] = (i, key.replace("()", f"{b}")) - for b in range(NUM_SINGLE_BLOCKS): - for key, weights in BFL_TO_DIFFUSERS_MAP.items(): - if key.startswith("single_blocks."): - block_prefix = f"single_transformer_blocks.{b}." - for i, weight in enumerate(weights): - diffusers_to_bfl_map[f"{block_prefix}{weight}"] = (i, key.replace("()", f"{b}")) - for key, weights in BFL_TO_DIFFUSERS_MAP.items(): - if not (key.startswith("double_blocks.") or key.startswith("single_blocks.")): - for i, weight in enumerate(weights): - diffusers_to_bfl_map[weight] = (i, key) + diffusers_to_bfl_map = flux_utils.make_diffusers_to_bfl_map() # iterate over three safetensors files to reduce memory usage flux_sd = {} From 886f75345c95cddec8752ffdd4e60a471ee75403 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 10 Oct 2024 08:27:15 +0900 Subject: [PATCH 267/748] support weighted captions for sdxl LoRA and fine tuning --- library/strategy_base.py | 5 ++++- library/strategy_sdxl.py | 3 ++- sdxl_train.py | 38 ++++++++++++++++++++------------------ sdxl_train_control_net.py | 7 ++----- train_network.py | 27 +++++++++++++++++---------- 5 files changed, 45 insertions(+), 35 deletions(-) diff --git a/library/strategy_base.py b/library/strategy_base.py index 10820afa1..7981bd0b9 100644 --- a/library/strategy_base.py +++ b/library/strategy_base.py @@ -74,6 +74,9 @@ def tokenize(self, text: Union[str, List[str]]) -> List[torch.Tensor]: raise NotImplementedError def tokenize_with_weights(self, text: Union[str, List[str]]) -> Tuple[List[torch.Tensor], List[torch.Tensor]]: + """ + returns: [tokens1, tokens2, ...], [weights1, weights2, ...] + """ raise NotImplementedError def _get_weighted_input_ids( @@ -303,7 +306,7 @@ def encode_tokens( :return: list of output embeddings for each architecture """ raise NotImplementedError - + def encode_tokens_with_weights( self, tokenize_strategy: TokenizeStrategy, models: List[Any], tokens: List[torch.Tensor], weights: List[torch.Tensor] ) -> List[torch.Tensor]: diff --git a/library/strategy_sdxl.py b/library/strategy_sdxl.py index b48e6d55a..6650e2b43 100644 --- a/library/strategy_sdxl.py +++ b/library/strategy_sdxl.py @@ -174,7 +174,8 @@ def encode_tokens( """ Args: tokenize_strategy: TokenizeStrategy - models: List of models, [text_encoder1, text_encoder2, unwrapped text_encoder2 (optional)] + models: List of models, [text_encoder1, text_encoder2, unwrapped text_encoder2 (optional)]. + If text_encoder2 is wrapped by accelerate, unwrapped_text_encoder2 is required tokens: List of tokens, for text_encoder1 and text_encoder2 """ if len(models) == 2: diff --git a/sdxl_train.py b/sdxl_train.py index 7291ddd2f..320169d77 100644 --- a/sdxl_train.py +++ b/sdxl_train.py @@ -104,8 +104,8 @@ def train(args): setup_logging(args, reset=True) assert ( - not args.weighted_captions - ), "weighted_captions is not supported currently / weighted_captionsは現在サポートされていません" + not args.weighted_captions or not args.cache_text_encoder_outputs + ), "weighted_captions is not supported when caching text encoder outputs / cache_text_encoder_outputsを使うときはweighted_captionsはサポートされていません" assert ( not args.train_text_encoder or not args.cache_text_encoder_outputs ), "cache_text_encoder_outputs is not supported when training text encoder / text encoderを学習するときはcache_text_encoder_outputsはサポートされていません" @@ -660,22 +660,24 @@ def optimizer_hook(parameter: torch.Tensor): input_ids1, input_ids2 = batch["input_ids_list"] with torch.set_grad_enabled(args.train_text_encoder): # Get the text embedding for conditioning - # TODO support weighted captions - # if args.weighted_captions: - # encoder_hidden_states = get_weighted_text_embeddings( - # tokenizer, - # text_encoder, - # batch["captions"], - # accelerator.device, - # args.max_token_length // 75 if args.max_token_length else 1, - # clip_skip=args.clip_skip, - # ) - # else: - input_ids1 = input_ids1.to(accelerator.device) - input_ids2 = input_ids2.to(accelerator.device) - encoder_hidden_states1, encoder_hidden_states2, pool2 = text_encoding_strategy.encode_tokens( - tokenize_strategy, [text_encoder1, text_encoder2], [input_ids1, input_ids2] - ) + if args.weighted_captions: + input_ids_list, weights_list = tokenize_strategy.tokenize_with_weights(batch["captions"]) + encoder_hidden_states1, encoder_hidden_states2, pool2 = ( + text_encoding_strategy.encode_tokens_with_weights( + tokenize_strategy, + [text_encoder1, text_encoder2, accelerator.unwrap_model(text_encoder2)], + input_ids_list, + weights_list, + ) + ) + else: + input_ids1 = input_ids1.to(accelerator.device) + input_ids2 = input_ids2.to(accelerator.device) + encoder_hidden_states1, encoder_hidden_states2, pool2 = text_encoding_strategy.encode_tokens( + tokenize_strategy, + [text_encoder1, text_encoder2, accelerator.unwrap_model(text_encoder2)], + [input_ids1, input_ids2], + ) if args.full_fp16: encoder_hidden_states1 = encoder_hidden_states1.to(weight_dtype) encoder_hidden_states2 = encoder_hidden_states2.to(weight_dtype) diff --git a/sdxl_train_control_net.py b/sdxl_train_control_net.py index b902cda69..f6cc5a4f9 100644 --- a/sdxl_train_control_net.py +++ b/sdxl_train_control_net.py @@ -12,24 +12,21 @@ init_ipex() -from torch.nn.parallel import DistributedDataParallel as DDP from accelerate.utils import set_seed from accelerate import init_empty_weights -from diffusers import DDPMScheduler, ControlNetModel +from diffusers import DDPMScheduler from diffusers.utils.torch_utils import is_compiled_module from safetensors.torch import load_file from library import ( deepspeed_utils, sai_model_spec, sdxl_model_util, - sdxl_original_unet, sdxl_train_util, strategy_base, strategy_sd, strategy_sdxl, ) -import library.model_util as model_util import library.train_util as train_util import library.config_util as config_util from library.config_util import ( @@ -264,7 +261,7 @@ def unwrap_model(model): trainable_params.append({"params": ctrlnet_params, "lr": args.control_net_lr}) trainable_params.append({"params": unet_params, "lr": args.learning_rate}) all_params = ctrlnet_params + unet_params - + logger.info(f"trainable params count: {len(all_params)}") logger.info(f"number of trainable parameters: {sum(p.numel() for p in all_params)}") diff --git a/train_network.py b/train_network.py index f0d397b9e..e48e6a070 100644 --- a/train_network.py +++ b/train_network.py @@ -1123,14 +1123,21 @@ def remove_model(old_ckpt_name): with torch.set_grad_enabled(train_text_encoder), accelerator.autocast(): # Get the text embedding for conditioning if args.weighted_captions: - # SD only - encoded_text_encoder_conds = get_weighted_text_embeddings( - tokenizers[0], - text_encoder, - batch["captions"], - accelerator.device, - args.max_token_length // 75 if args.max_token_length else 1, - clip_skip=args.clip_skip, + # # SD only + # encoded_text_encoder_conds = get_weighted_text_embeddings( + # tokenizers[0], + # text_encoder, + # batch["captions"], + # accelerator.device, + # args.max_token_length // 75 if args.max_token_length else 1, + # clip_skip=args.clip_skip, + # ) + input_ids_list, weights_list = tokenize_strategy.tokenize_with_weights(batch["captions"]) + encoded_text_encoder_conds = text_encoding_strategy.encode_tokens_with_weights( + tokenize_strategy, + self.get_models_for_text_encoding(args, accelerator, text_encoders), + input_ids_list, + weights_list, ) else: input_ids = [ids.to(accelerator.device) for ids in batch["input_ids_list"]] @@ -1139,8 +1146,8 @@ def remove_model(old_ckpt_name): self.get_models_for_text_encoding(args, accelerator, text_encoders), input_ids, ) - if args.full_fp16: - encoded_text_encoder_conds = [c.to(weight_dtype) for c in encoded_text_encoder_conds] + if args.full_fp16: + encoded_text_encoder_conds = [c.to(weight_dtype) for c in encoded_text_encoder_conds] # if text_encoder_conds is not cached, use encoded_text_encoder_conds if len(text_encoder_conds) == 0: From 3de42b6edb151b172f483aec99fe380b1406a84a Mon Sep 17 00:00:00 2001 From: Akegarasu Date: Thu, 10 Oct 2024 14:03:59 +0800 Subject: [PATCH 268/748] fix: distributed training in windows --- library/train_util.py | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index e023f63a2..3dabf9e26 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -5045,17 +5045,18 @@ def prepare_accelerator(args: argparse.Namespace): if args.torch_compile: dynamo_backend = args.dynamo_backend - kwargs_handlers = ( - InitProcessGroupKwargs(timeout=datetime.timedelta(minutes=args.ddp_timeout)) if args.ddp_timeout else None, - ( - DistributedDataParallelKwargs( - gradient_as_bucket_view=args.ddp_gradient_as_bucket_view, static_graph=args.ddp_static_graph - ) - if args.ddp_gradient_as_bucket_view or args.ddp_static_graph - else None - ), - ) - kwargs_handlers = list(filter(lambda x: x is not None, kwargs_handlers)) + kwargs_handlers = [ + InitProcessGroupKwargs( + backend = "gloo" if os.name == "nt" or not torch.cuda.is_available() else "nccl", + init_method="env://?use_libuv=False" if os.name == "nt" else None, + timeout=datetime.timedelta(minutes=args.ddp_timeout) if args.ddp_timeout else None + ) if torch.cuda.device_count() > 1 else None, + DistributedDataParallelKwargs( + gradient_as_bucket_view=args.ddp_gradient_as_bucket_view, + static_graph=args.ddp_static_graph + ) if args.ddp_gradient_as_bucket_view or args.ddp_static_graph else None + ] + kwargs_handlers = [i for i in kwargs_handlers if i is not None] deepspeed_plugin = deepspeed_utils.prepare_deepspeed_plugin(args) accelerator = Accelerator( From 9f4dac5731fe2299c75b7671c6132febd57a4117 Mon Sep 17 00:00:00 2001 From: Akegarasu Date: Thu, 10 Oct 2024 14:08:55 +0800 Subject: [PATCH 269/748] torch 2.4 --- library/train_util.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/library/train_util.py b/library/train_util.py index 3dabf9e26..2c20a9244 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -33,6 +33,7 @@ import toml from tqdm import tqdm +from packaging.version import Version import torch from library.device_utils import init_ipex, clean_memory_on_device @@ -5048,7 +5049,7 @@ def prepare_accelerator(args: argparse.Namespace): kwargs_handlers = [ InitProcessGroupKwargs( backend = "gloo" if os.name == "nt" or not torch.cuda.is_available() else "nccl", - init_method="env://?use_libuv=False" if os.name == "nt" else None, + init_method="env://?use_libuv=False" if os.name == "nt" and Version(torch.__version__) >= Version("2.4.0") else None, timeout=datetime.timedelta(minutes=args.ddp_timeout) if args.ddp_timeout else None ) if torch.cuda.device_count() > 1 else None, DistributedDataParallelKwargs( From f2bc8201330d1370c182c57047a5c23e9c6bee71 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Fri, 11 Oct 2024 08:48:55 +0900 Subject: [PATCH 270/748] support weighted captions for SD/SDXL --- fine_tune.py | 17 ++++-------- library/sdxl_train_util.py | 6 ++-- library/strategy_base.py | 12 +++++++- library/strategy_sd.py | 36 ++++++++++++++++++++++++ library/strategy_sdxl.py | 57 ++++++++++++++++++++++++++------------ sdxl_train.py | 2 +- sdxl_train_network.py | 4 ++- train_db.py | 16 ++++------- 8 files changed, 105 insertions(+), 45 deletions(-) diff --git a/fine_tune.py b/fine_tune.py index 62a545a13..fd63385b3 100644 --- a/fine_tune.py +++ b/fine_tune.py @@ -366,22 +366,17 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): with torch.set_grad_enabled(args.train_text_encoder): # Get the text embedding for conditioning if args.weighted_captions: - # TODO move to strategy_sd.py - encoder_hidden_states = get_weighted_text_embeddings( - tokenize_strategy.tokenizer, - text_encoder, - batch["captions"], - accelerator.device, - args.max_token_length // 75 if args.max_token_length else 1, - clip_skip=args.clip_skip, - ) + input_ids_list, weights_list = tokenize_strategy.tokenize_with_weights(batch["captions"]) + encoder_hidden_states = text_encoding_strategy.encode_tokens_with_weights( + tokenize_strategy, [text_encoder], input_ids_list, weights_list + )[0] else: input_ids = batch["input_ids_list"][0].to(accelerator.device) encoder_hidden_states = text_encoding_strategy.encode_tokens( tokenize_strategy, [text_encoder], [input_ids] )[0] - if args.full_fp16: - encoder_hidden_states = encoder_hidden_states.to(weight_dtype) + if args.full_fp16: + encoder_hidden_states = encoder_hidden_states.to(weight_dtype) # Sample noise, sample a random timestep for each image, and add noise to the latents, # with noise offset and/or multires noise if specified diff --git a/library/sdxl_train_util.py b/library/sdxl_train_util.py index aaf77b8dd..dc3887c34 100644 --- a/library/sdxl_train_util.py +++ b/library/sdxl_train_util.py @@ -363,9 +363,9 @@ def verify_sdxl_training_args(args: argparse.Namespace, supportTextEncoderCachin # ) # logger.info(f"noise_offset is set to {args.noise_offset} / noise_offsetが{args.noise_offset}に設定されました") - assert ( - not hasattr(args, "weighted_captions") or not args.weighted_captions - ), "weighted_captions cannot be enabled in SDXL training currently / SDXL学習では今のところweighted_captionsを有効にすることはできません" + # assert ( + # not hasattr(args, "weighted_captions") or not args.weighted_captions + # ), "weighted_captions cannot be enabled in SDXL training currently / SDXL学習では今のところweighted_captionsを有効にすることはできません" if supportTextEncoderCaching: if args.cache_text_encoder_outputs_to_disk and not args.cache_text_encoder_outputs: diff --git a/library/strategy_base.py b/library/strategy_base.py index 7981bd0b9..2bff4178a 100644 --- a/library/strategy_base.py +++ b/library/strategy_base.py @@ -323,12 +323,18 @@ class TextEncoderOutputsCachingStrategy: _strategy = None # strategy instance: actual strategy class def __init__( - self, cache_to_disk: bool, batch_size: int, skip_disk_cache_validity_check: bool, is_partial: bool = False + self, + cache_to_disk: bool, + batch_size: int, + skip_disk_cache_validity_check: bool, + is_partial: bool = False, + is_weighted: bool = False, ) -> None: self._cache_to_disk = cache_to_disk self._batch_size = batch_size self.skip_disk_cache_validity_check = skip_disk_cache_validity_check self._is_partial = is_partial + self._is_weighted = is_weighted @classmethod def set_strategy(cls, strategy): @@ -352,6 +358,10 @@ def batch_size(self): def is_partial(self): return self._is_partial + @property + def is_weighted(self): + return self._is_weighted + def get_outputs_npz_path(self, image_abs_path: str) -> str: raise NotImplementedError diff --git a/library/strategy_sd.py b/library/strategy_sd.py index 83ffaa31b..4e7931fdb 100644 --- a/library/strategy_sd.py +++ b/library/strategy_sd.py @@ -40,6 +40,16 @@ def tokenize(self, text: Union[str, List[str]]) -> List[torch.Tensor]: text = [text] if isinstance(text, str) else text return [torch.stack([self._get_input_ids(self.tokenizer, t, self.max_length) for t in text], dim=0)] + def tokenize_with_weights(self, text: str | List[str]) -> Tuple[List[torch.Tensor]]: + text = [text] if isinstance(text, str) else text + tokens_list = [] + weights_list = [] + for t in text: + tokens, weights = self._get_input_ids(self.tokenizer, t, self.max_length, weighted=True) + tokens_list.append(tokens) + weights_list.append(weights) + return [torch.stack(tokens_list, dim=0)], [torch.stack(weights_list, dim=0)] + class SdTextEncodingStrategy(TextEncodingStrategy): def __init__(self, clip_skip: Optional[int] = None) -> None: @@ -58,6 +68,8 @@ def encode_tokens( model_max_length = sd_tokenize_strategy.tokenizer.model_max_length tokens = tokens.reshape((-1, model_max_length)) # batch_size*3, 77 + tokens = tokens.to(text_encoder.device) + if self.clip_skip is None: encoder_hidden_states = text_encoder(tokens)[0] else: @@ -93,6 +105,30 @@ def encode_tokens( return [encoder_hidden_states] + def encode_tokens_with_weights( + self, + tokenize_strategy: TokenizeStrategy, + models: List[Any], + tokens_list: List[torch.Tensor], + weights_list: List[torch.Tensor], + ) -> List[torch.Tensor]: + encoder_hidden_states = self.encode_tokens(tokenize_strategy, models, tokens_list)[0] + + weights = weights_list[0].to(encoder_hidden_states.device) + + # apply weights + if weights.shape[1] == 1: # no max_token_length + # weights: ((b, 1, 77), (b, 1, 77)), hidden_states: (b, 77, 768), (b, 77, 768) + encoder_hidden_states = encoder_hidden_states * weights.squeeze(1).unsqueeze(2) + else: + # weights: ((b, n, 77), (b, n, 77)), hidden_states: (b, n*75+2, 768), (b, n*75+2, 768) + for i in range(weights.shape[1]): + encoder_hidden_states[:, i * 75 + 1 : i * 75 + 76] = encoder_hidden_states[:, i * 75 + 1 : i * 75 + 76] * weights[ + :, i, 1:-1 + ].unsqueeze(-1) + + return [encoder_hidden_states] + class SdSdxlLatentsCachingStrategy(LatentsCachingStrategy): # sd and sdxl share the same strategy. we can make them separate, but the difference is only the suffix. diff --git a/library/strategy_sdxl.py b/library/strategy_sdxl.py index 6650e2b43..6b3e2afa6 100644 --- a/library/strategy_sdxl.py +++ b/library/strategy_sdxl.py @@ -42,16 +42,16 @@ def tokenize_with_weights(self, text: str | List[str]) -> Tuple[List[torch.Tenso tokens1_list, tokens2_list = [], [] weights1_list, weights2_list = [], [] for t in text: - tokens1, weights1 = self._get_weighted_input_ids(self.tokenizer1, t, self.max_length) - tokens2, weights2 = self._get_weighted_input_ids(self.tokenizer2, t, self.max_length) + tokens1, weights1 = self._get_input_ids(self.tokenizer1, t, self.max_length, weighted=True) + tokens2, weights2 = self._get_input_ids(self.tokenizer2, t, self.max_length, weighted=True) tokens1_list.append(tokens1) tokens2_list.append(tokens2) weights1_list.append(weights1) weights2_list.append(weights2) - return (torch.stack(tokens1_list, dim=0), torch.stack(tokens2_list, dim=0)), ( + return [torch.stack(tokens1_list, dim=0), torch.stack(tokens2_list, dim=0)], [ torch.stack(weights1_list, dim=0), torch.stack(weights2_list, dim=0), - ) + ] class SdxlTextEncodingStrategy(TextEncodingStrategy): @@ -193,20 +193,28 @@ def encode_tokens( return [hidden_states1, hidden_states2, pool2] def encode_tokens_with_weights( - self, tokenize_strategy: TokenizeStrategy, models: List[Any], tokens: List[torch.Tensor], weights: List[torch.Tensor] + self, + tokenize_strategy: TokenizeStrategy, + models: List[Any], + tokens_list: List[torch.Tensor], + weights_list: List[torch.Tensor], ) -> List[torch.Tensor]: - hidden_states1, hidden_states2, pool2 = self.encode_tokens(tokenize_strategy, models, tokens) + hidden_states1, hidden_states2, pool2 = self.encode_tokens(tokenize_strategy, models, tokens_list) + + weights_list = [weights.to(hidden_states1.device) for weights in weights_list] # apply weights - if weights[0].shape[1] == 1: # no max_token_length + if weights_list[0].shape[1] == 1: # no max_token_length # weights: ((b, 1, 77), (b, 1, 77)), hidden_states: (b, 77, 768), (b, 77, 768) - hidden_states1 = hidden_states1 * weights[0].squeeze(1).unsqueeze(2) - hidden_states2 = hidden_states2 * weights[1].squeeze(1).unsqueeze(2) + hidden_states1 = hidden_states1 * weights_list[0].squeeze(1).unsqueeze(2) + hidden_states2 = hidden_states2 * weights_list[1].squeeze(1).unsqueeze(2) else: # weights: ((b, n, 77), (b, n, 77)), hidden_states: (b, n*75+2, 768), (b, n*75+2, 768) - for weight, hidden_states in zip(weights, [hidden_states1, hidden_states2]): + for weight, hidden_states in zip(weights_list, [hidden_states1, hidden_states2]): for i in range(weight.shape[1]): - hidden_states[:, i * 75 + 1 : i * 75 + 76] = hidden_states[:, i * 75 + 1 : i * 75 + 76] * weight[:, i, 1:-1] + hidden_states[:, i * 75 + 1 : i * 75 + 76] = hidden_states[:, i * 75 + 1 : i * 75 + 76] * weight[ + :, i, 1:-1 + ].unsqueeze(-1) return [hidden_states1, hidden_states2, pool2] @@ -215,9 +223,14 @@ class SdxlTextEncoderOutputsCachingStrategy(TextEncoderOutputsCachingStrategy): SDXL_TEXT_ENCODER_OUTPUTS_NPZ_SUFFIX = "_te_outputs.npz" def __init__( - self, cache_to_disk: bool, batch_size: int, skip_disk_cache_validity_check: bool, is_partial: bool = False + self, + cache_to_disk: bool, + batch_size: int, + skip_disk_cache_validity_check: bool, + is_partial: bool = False, + is_weighted: bool = False, ) -> None: - super().__init__(cache_to_disk, batch_size, skip_disk_cache_validity_check, is_partial) + super().__init__(cache_to_disk, batch_size, skip_disk_cache_validity_check, is_partial, is_weighted) def get_outputs_npz_path(self, image_abs_path: str) -> str: return os.path.splitext(image_abs_path)[0] + SdxlTextEncoderOutputsCachingStrategy.SDXL_TEXT_ENCODER_OUTPUTS_NPZ_SUFFIX @@ -253,11 +266,19 @@ def cache_batch_outputs( sdxl_text_encoding_strategy = text_encoding_strategy # type: SdxlTextEncodingStrategy captions = [info.caption for info in infos] - tokens1, tokens2 = tokenize_strategy.tokenize(captions) - with torch.no_grad(): - hidden_state1, hidden_state2, pool2 = sdxl_text_encoding_strategy.encode_tokens( - tokenize_strategy, models, [tokens1, tokens2] - ) + if self.is_weighted: + tokens_list, weights_list = tokenize_strategy.tokenize_with_weights(captions) + with torch.no_grad(): + hidden_state1, hidden_state2, pool2 = sdxl_text_encoding_strategy.encode_tokens_with_weights( + tokenize_strategy, models, tokens_list, weights_list + ) + else: + tokens1, tokens2 = tokenize_strategy.tokenize(captions) + with torch.no_grad(): + hidden_state1, hidden_state2, pool2 = sdxl_text_encoding_strategy.encode_tokens( + tokenize_strategy, models, [tokens1, tokens2] + ) + if hidden_state1.dtype == torch.bfloat16: hidden_state1 = hidden_state1.float() if hidden_state2.dtype == torch.bfloat16: diff --git a/sdxl_train.py b/sdxl_train.py index 320169d77..aeff9c469 100644 --- a/sdxl_train.py +++ b/sdxl_train.py @@ -321,7 +321,7 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): if args.cache_text_encoder_outputs: # Text Encodes are eval and no grad text_encoder_output_caching_strategy = strategy_sdxl.SdxlTextEncoderOutputsCachingStrategy( - args.cache_text_encoder_outputs_to_disk, None, False + args.cache_text_encoder_outputs_to_disk, None, False, is_weighted=args.weighted_captions ) strategy_base.TextEncoderOutputsCachingStrategy.set_strategy(text_encoder_output_caching_strategy) diff --git a/sdxl_train_network.py b/sdxl_train_network.py index 4d6e3f184..20e32155c 100644 --- a/sdxl_train_network.py +++ b/sdxl_train_network.py @@ -79,7 +79,9 @@ def get_models_for_text_encoding(self, args, accelerator, text_encoders): def get_text_encoder_outputs_caching_strategy(self, args): if args.cache_text_encoder_outputs: - return strategy_sdxl.SdxlTextEncoderOutputsCachingStrategy(args.cache_text_encoder_outputs_to_disk, None, False) + return strategy_sdxl.SdxlTextEncoderOutputsCachingStrategy( + args.cache_text_encoder_outputs_to_disk, None, False, is_weighted=args.weighted_captions + ) else: return None diff --git a/train_db.py b/train_db.py index a5d520b12..e49a7e70f 100644 --- a/train_db.py +++ b/train_db.py @@ -356,21 +356,17 @@ def train(args): # Get the text embedding for conditioning with torch.set_grad_enabled(global_step < args.stop_text_encoder_training): if args.weighted_captions: - encoder_hidden_states = get_weighted_text_embeddings( - tokenize_strategy.tokenizer, - text_encoder, - batch["captions"], - accelerator.device, - args.max_token_length // 75 if args.max_token_length else 1, - clip_skip=args.clip_skip, - ) + input_ids_list, weights_list = tokenize_strategy.tokenize_with_weights(batch["captions"]) + encoder_hidden_states = text_encoding_strategy.encode_tokens_with_weights( + tokenize_strategy, [text_encoder], input_ids_list, weights_list + )[0] else: input_ids = batch["input_ids_list"][0].to(accelerator.device) encoder_hidden_states = text_encoding_strategy.encode_tokens( tokenize_strategy, [text_encoder], [input_ids] )[0] - if args.full_fp16: - encoder_hidden_states = encoder_hidden_states.to(weight_dtype) + if args.full_fp16: + encoder_hidden_states = encoder_hidden_states.to(weight_dtype) # Sample noise, sample a random timestep for each image, and add noise to the latents, # with noise offset and/or multires noise if specified From 035c4a8552bf6214ad4d39657d3eb1204cdecdfd Mon Sep 17 00:00:00 2001 From: Kohya S Date: Fri, 11 Oct 2024 22:23:15 +0900 Subject: [PATCH 271/748] update docs and help text --- README.md | 10 ++++++++++ docs/train_lllite_README.md | 2 +- sdxl_train_control_net.py | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c567758a5..d3f49c994 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,16 @@ The command to install PyTorch is as follows: ### Recent Updates +Oct 11, 2024: +- ControlNet training for SDXL has been implemented in this branch. Please use `sdxl_train_control_net.py`. + - For details on defining the dataset, see [here](docs/train_lllite_README.md#creating-a-dataset-configuration-file). + - The learning rate for the copy part of the U-Net is specified by `--learning_rate`. The learning rate for the added modules in ControlNet is specified by `--control_net_lr`. The optimal value is still unknown, but try around U-Net `1e-5` and ControlNet `1e-4`. + - If you want to generate sample images, specify the control image as `--cn path/to/control/image`. + - The trained weights are automatically converted and saved in Diffusers format. It should be available in ComfyUI. +- Weighting of prompts (captions) during training in SDXL is now supported (e.g., `(some text)`, `[some text]`, `(some text:1.4)`, etc.). The function is enabled by specifying `--weighted_captions`. + - The default is `False`. It is same as before, and the parentheses are used as normal text. + - If `--weighted_captions` is specified, please use `\` to escape the parentheses in the prompt. For example, `\(some text:1.4\)`. + Oct 6, 2024: - In FLUX.1 LoRA training and fine-tuning, the specified weight file (*.safetensors) is automatically determined to be dev or schnell. This allows schnell models to be loaded correctly. Note that LoRA training with schnell models and fine-tuning with schnell models are unverified. - FLUX.1 LoRA training and fine-tuning can now load weights in Diffusers format in addition to BFL format (a single *.safetensors file). Please specify the parent directory of `transformer` or `diffusion_pytorch_model-00001-of-00003.safetensors` with the full path. However, Diffusers format CLIP/T5XXL is not supported. Saving is supported only in BFL format. diff --git a/docs/train_lllite_README.md b/docs/train_lllite_README.md index a05f87f5f..1bd8e4ae1 100644 --- a/docs/train_lllite_README.md +++ b/docs/train_lllite_README.md @@ -185,7 +185,7 @@ for img_file in img_files: ### Creating a dataset configuration file -You can use the command line arguments of `sdxl_train_control_net_lllite.py` to specify the conditioning image directory. However, if you want to use a `.toml` file, specify the conditioning image directory in `conditioning_data_dir`. +You can use the command line argument `--conditioning_data_dir` of `sdxl_train_control_net_lllite.py` to specify the conditioning image directory. However, if you want to use a `.toml` file, specify the conditioning image directory in `conditioning_data_dir`. ```toml [general] diff --git a/sdxl_train_control_net.py b/sdxl_train_control_net.py index f6cc5a4f9..67c8d52c8 100644 --- a/sdxl_train_control_net.py +++ b/sdxl_train_control_net.py @@ -705,7 +705,7 @@ def setup_parser() -> argparse.ArgumentParser: "--control_net_lr", type=float, default=1e-4, - help="learning rate for controlnet / controlnetの学習率", + help="learning rate for controlnet modules / controlnetモジュールの学習率", ) return parser From 0d3058b65ab7cd827e44f16f84c68a4bb73f701e Mon Sep 17 00:00:00 2001 From: kohya-ss Date: Sat, 12 Oct 2024 14:46:35 +0900 Subject: [PATCH 272/748] update README --- README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/README.md b/README.md index d3f49c994..37fc911f6 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,17 @@ The command to install PyTorch is as follows: ### Recent Updates +Oct 12, 2024: + +- Multi-GPU training now works on Windows. Thanks to Akegarasu for PR [#1686](https://github.com/kohya-ss/sd-scripts/pull/1686)! + - It should work with all training scripts, but it is unverified. + - Set up multi-GPU training with `accelerate config`. + - Specify `--rdzv_backend=c10d` when launching `accelerate launch`. You can also edit `config.yaml` directly. + ``` + accelerate launch --rdzv_backend=c10d sdxl_train_network.py ... + ``` + - In multi-GPU training, the memory of multiple GPUs is not integrated. In other words, even if you have two 12GB VRAM GPUs, you cannot train the model that requires 24GB VRAM. Training that can be done with 12GB VRAM is executed at (up to) twice the speed. + Oct 11, 2024: - ControlNet training for SDXL has been implemented in this branch. Please use `sdxl_train_control_net.py`. - For details on defining the dataset, see [here](docs/train_lllite_README.md#creating-a-dataset-configuration-file). From c80c304779775f4d00fd8f4856bfc8e6599e2de0 Mon Sep 17 00:00:00 2001 From: kohya-ss Date: Sat, 12 Oct 2024 20:18:41 +0900 Subject: [PATCH 273/748] Refactor caching in train scripts --- README.md | 10 +++++ fine_tune.py | 2 +- flux_train.py | 14 ++++--- flux_train_network.py | 6 +-- library/train_util.py | 64 +++++++++++++++++++++++--------- sd3_train.py | 17 +++++++-- sdxl_train.py | 4 +- sdxl_train_control_net.py | 4 +- sdxl_train_control_net_lllite.py | 5 +-- sdxl_train_network.py | 8 ++-- sdxl_train_textual_inversion.py | 2 +- train_db.py | 2 +- train_network.py | 2 +- train_textual_inversion.py | 2 +- 14 files changed, 95 insertions(+), 47 deletions(-) diff --git a/README.md b/README.md index 37fc911f6..2b2562831 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,16 @@ The command to install PyTorch is as follows: ### Recent Updates +Oct 12, 2024 (update 1): + +- During multi-GPU training, caching of latents and Text Encoder outputs is now done in multi-GPU. +- `--text_encoder_batch_size` option is enabled for FLUX.1 LoRA training and fine tuning. This option specifies the batch size for caching Text Encoder outputs (not for training). The default is same as the dataset batch size. If you have enough VRAM, you can increase the batch size to speed up the caching. +- `--skip_cache_check` option is added to each training script. + - When specified, the consistency check of the cache file `*.npz` contents (e.g., image size and flip for latents, mask for Text Encoder outputs) is skipped. + - Specify this option if you have a large number of cache files and the consistency check takes time. + - Even if this option is specified, the cache will be created if the file does not exist. + - `--skip_latents_validity_check` in SD3/FLUX.1 is deprecated. Please use `--skip_cache_check` instead. + Oct 12, 2024: - Multi-GPU training now works on Windows. Thanks to Akegarasu for PR [#1686](https://github.com/kohya-ss/sd-scripts/pull/1686)! diff --git a/fine_tune.py b/fine_tune.py index fd63385b3..cdc005d9a 100644 --- a/fine_tune.py +++ b/fine_tune.py @@ -59,7 +59,7 @@ def train(args): # prepare caching strategy: this must be set before preparing dataset. because dataset may use this strategy for initialization. if cache_latents: latents_caching_strategy = strategy_sd.SdSdxlLatentsCachingStrategy( - False, args.cache_latents_to_disk, args.vae_batch_size, False + False, args.cache_latents_to_disk, args.vae_batch_size, args.skip_cache_check ) strategy_base.LatentsCachingStrategy.set_strategy(latents_caching_strategy) diff --git a/flux_train.py b/flux_train.py index ecc87c0a8..e18a92443 100644 --- a/flux_train.py +++ b/flux_train.py @@ -57,6 +57,10 @@ def train(args): deepspeed_utils.prepare_deepspeed_args(args) setup_logging(args, reset=True) + # temporary: backward compatibility for deprecated options. remove in the future + if not args.skip_cache_check: + args.skip_cache_check = args.skip_latents_validity_check + # assert ( # not args.weighted_captions # ), "weighted_captions is not supported currently / weighted_captionsは現在サポートされていません" @@ -81,7 +85,7 @@ def train(args): # prepare caching strategy: this must be set before preparing dataset. because dataset may use this strategy for initialization. if args.cache_latents: latents_caching_strategy = strategy_flux.FluxLatentsCachingStrategy( - args.cache_latents_to_disk, args.vae_batch_size, args.skip_latents_validity_check + args.cache_latents_to_disk, args.vae_batch_size, args.skip_cache_check ) strategy_base.LatentsCachingStrategy.set_strategy(latents_caching_strategy) @@ -142,7 +146,7 @@ def train(args): if args.cache_text_encoder_outputs: strategy_base.TextEncoderOutputsCachingStrategy.set_strategy( strategy_flux.FluxTextEncoderOutputsCachingStrategy( - args.cache_text_encoder_outputs_to_disk, args.text_encoder_batch_size, False, False + args.cache_text_encoder_outputs_to_disk, args.text_encoder_batch_size, args.skip_cache_check, False ) ) t5xxl_max_token_length = ( @@ -181,7 +185,7 @@ def train(args): # load VAE for caching latents ae = None if cache_latents: - ae = flux_utils.load_ae( args.ae, weight_dtype, "cpu", args.disable_mmap_load_safetensors) + ae = flux_utils.load_ae(args.ae, weight_dtype, "cpu", args.disable_mmap_load_safetensors) ae.to(accelerator.device, dtype=weight_dtype) ae.requires_grad_(False) ae.eval() @@ -229,7 +233,7 @@ def train(args): strategy_base.TextEncoderOutputsCachingStrategy.set_strategy(text_encoder_caching_strategy) with accelerator.autocast(): - train_dataset_group.new_cache_text_encoder_outputs([clip_l, t5xxl], accelerator.is_main_process) + train_dataset_group.new_cache_text_encoder_outputs([clip_l, t5xxl], accelerator) # cache sample prompt's embeddings to free text encoder's memory if args.sample_prompts is not None: @@ -952,7 +956,7 @@ def setup_parser() -> argparse.ArgumentParser: parser.add_argument( "--skip_latents_validity_check", action="store_true", - help="skip latents validity check / latentsの正当性チェックをスキップする", + help="[Deprecated] use 'skip_cache_check' instead / 代わりに 'skip_cache_check' を使用してください", ) parser.add_argument( "--blocks_to_swap", diff --git a/flux_train_network.py b/flux_train_network.py index 5d14bd28e..3bd8316d4 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -188,8 +188,8 @@ def get_text_encoder_outputs_caching_strategy(self, args): # if the text encoders is trained, we need tokenization, so is_partial is True return strategy_flux.FluxTextEncoderOutputsCachingStrategy( args.cache_text_encoder_outputs_to_disk, - None, - False, + args.text_encoder_batch_size, + args.skip_cache_check, is_partial=self.train_clip_l or self.train_t5xxl, apply_t5_attn_mask=args.apply_t5_attn_mask, ) @@ -222,7 +222,7 @@ def cache_text_encoder_outputs_if_needed( text_encoders[1].to(weight_dtype) with accelerator.autocast(): - dataset.new_cache_text_encoder_outputs(text_encoders, accelerator.is_main_process) + dataset.new_cache_text_encoder_outputs(text_encoders, accelerator) # cache sample prompts if args.sample_prompts is not None: diff --git a/library/train_util.py b/library/train_util.py index 67eaae41b..4e6b3408d 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -31,6 +31,7 @@ import subprocess from io import BytesIO import toml + # from concurrent.futures import ThreadPoolExecutor, as_completed from tqdm import tqdm @@ -1192,7 +1193,7 @@ def __eq__(self, other): for condition, batch in tqdm(batches, smoothing=1, total=len(batches)): cache_batch_latents(vae, cache_to_disk, batch, condition.flip_aug, condition.alpha_mask, condition.random_crop) - def new_cache_text_encoder_outputs(self, models: List[Any], is_main_process: bool): + def new_cache_text_encoder_outputs(self, models: List[Any], accelerator: Accelerator): r""" a brand new method to cache text encoder outputs. This method caches text encoder outputs with caching strategy. """ @@ -1207,15 +1208,25 @@ def new_cache_text_encoder_outputs(self, models: List[Any], is_main_process: boo # split by resolution batches = [] batch = [] - logger.info("checking cache validity...") - for info in tqdm(image_infos): - te_out_npz = caching_strategy.get_outputs_npz_path(info.absolute_path) - # check disk cache exists and size of latents + # support multiple-gpus + num_processes = accelerator.num_processes + process_index = accelerator.process_index + + logger.info("checking cache validity...") + for i, info in enumerate(tqdm(image_infos)): + # check disk cache exists and size of text encoder outputs if caching_strategy.cache_to_disk: - info.text_encoder_outputs_npz = te_out_npz # set npz filename regardless of cache availability/main process + te_out_npz = caching_strategy.get_outputs_npz_path(info.absolute_path) + info.text_encoder_outputs_npz = te_out_npz # set npz filename regardless of cache availability + + # if the modulo of num_processes is not equal to process_index, skip caching + # this makes each process cache different text encoder outputs + if i % num_processes != process_index: + continue + cache_available = caching_strategy.is_disk_cached_outputs_expected(te_out_npz) - if cache_available or not is_main_process: # do not add to batch + if cache_available: # do not add to batch continue batch.append(info) @@ -2420,6 +2431,7 @@ def new_cache_latents(self, model: Any, accelerator: Accelerator): for i, dataset in enumerate(self.datasets): logger.info(f"[Dataset {i}]") dataset.new_cache_latents(model, accelerator) + accelerator.wait_for_everyone() def cache_text_encoder_outputs( self, tokenizers, text_encoders, device, weight_dtype, cache_to_disk=False, is_main_process=True @@ -2437,10 +2449,11 @@ def cache_text_encoder_outputs_sd3( tokenizer, text_encoders, device, output_dtype, te_dtypes, cache_to_disk, is_main_process, batch_size ) - def new_cache_text_encoder_outputs(self, models: List[Any], is_main_process: bool): + def new_cache_text_encoder_outputs(self, models: List[Any], accelerator: Accelerator): for i, dataset in enumerate(self.datasets): logger.info(f"[Dataset {i}]") - dataset.new_cache_text_encoder_outputs(models, is_main_process) + dataset.new_cache_text_encoder_outputs(models, accelerator) + accelerator.wait_for_everyone() def set_caching_mode(self, caching_mode): for dataset in self.datasets: @@ -4210,6 +4223,12 @@ def add_dataset_arguments( action="store_true", help="cache latents to disk to reduce VRAM usage (augmentations must be disabled) / VRAM削減のためにlatentをディスクにcacheする(augmentationは使用不可)", ) + parser.add_argument( + "--skip_cache_check", + action="store_true", + help="skip the content validation of cache (latent and text encoder output). Cache file existence check is always performed, and cache processing is performed if the file does not exist" + " / cacheの内容の検証をスキップする(latentとテキストエンコーダの出力)。キャッシュファイルの存在確認は常に行われ、ファイルがなければキャッシュ処理が行われる", + ) parser.add_argument( "--enable_bucket", action="store_true", @@ -5084,15 +5103,24 @@ def prepare_accelerator(args: argparse.Namespace): dynamo_backend = args.dynamo_backend kwargs_handlers = [ - InitProcessGroupKwargs( - backend = "gloo" if os.name == "nt" or not torch.cuda.is_available() else "nccl", - init_method="env://?use_libuv=False" if os.name == "nt" and Version(torch.__version__) >= Version("2.4.0") else None, - timeout=datetime.timedelta(minutes=args.ddp_timeout) if args.ddp_timeout else None - ) if torch.cuda.device_count() > 1 else None, - DistributedDataParallelKwargs( - gradient_as_bucket_view=args.ddp_gradient_as_bucket_view, - static_graph=args.ddp_static_graph - ) if args.ddp_gradient_as_bucket_view or args.ddp_static_graph else None + ( + InitProcessGroupKwargs( + backend="gloo" if os.name == "nt" or not torch.cuda.is_available() else "nccl", + init_method=( + "env://?use_libuv=False" if os.name == "nt" and Version(torch.__version__) >= Version("2.4.0") else None + ), + timeout=datetime.timedelta(minutes=args.ddp_timeout) if args.ddp_timeout else None, + ) + if torch.cuda.device_count() > 1 + else None + ), + ( + DistributedDataParallelKwargs( + gradient_as_bucket_view=args.ddp_gradient_as_bucket_view, static_graph=args.ddp_static_graph + ) + if args.ddp_gradient_as_bucket_view or args.ddp_static_graph + else None + ), ] kwargs_handlers = [i for i in kwargs_handlers if i is not None] deepspeed_plugin = deepspeed_utils.prepare_deepspeed_plugin(args) diff --git a/sd3_train.py b/sd3_train.py index 5120105f2..7290956ad 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -57,6 +57,10 @@ def train(args): deepspeed_utils.prepare_deepspeed_args(args) setup_logging(args, reset=True) + # temporary: backward compatibility for deprecated options. remove in the future + if not args.skip_cache_check: + args.skip_cache_check = args.skip_latents_validity_check + assert ( not args.weighted_captions ), "weighted_captions is not supported currently / weighted_captionsは現在サポートされていません" @@ -103,7 +107,7 @@ def train(args): # prepare caching strategy: this must be set before preparing dataset. because dataset may use this strategy for initialization. if args.cache_latents: latents_caching_strategy = strategy_sd3.Sd3LatentsCachingStrategy( - args.cache_latents_to_disk, args.vae_batch_size, args.skip_latents_validity_check + args.cache_latents_to_disk, args.vae_batch_size, args.skip_cache_check ) strategy_base.LatentsCachingStrategy.set_strategy(latents_caching_strategy) @@ -312,7 +316,7 @@ def train(args): text_encoder_caching_strategy = strategy_sd3.Sd3TextEncoderOutputsCachingStrategy( args.cache_text_encoder_outputs_to_disk, args.text_encoder_batch_size, - False, + args.skip_cache_check, train_clip_g or train_clip_l or args.use_t5xxl_cache_only, args.apply_lg_attn_mask, args.apply_t5_attn_mask, @@ -325,7 +329,7 @@ def train(args): t5xxl.to(t5xxl_device, dtype=t5xxl_dtype) with accelerator.autocast(): - train_dataset_group.new_cache_text_encoder_outputs([clip_l, clip_g, t5xxl], accelerator.is_main_process) + train_dataset_group.new_cache_text_encoder_outputs([clip_l, clip_g, t5xxl], accelerator) # cache sample prompt's embeddings to free text encoder's memory if args.sample_prompts is not None: @@ -1052,7 +1056,12 @@ def setup_parser() -> argparse.ArgumentParser: parser.add_argument( "--skip_latents_validity_check", action="store_true", - help="skip latents validity check / latentsの正当性チェックをスキップする", + help="[Deprecated] use 'skip_cache_check' instead / 代わりに 'skip_cache_check' を使用してください", + ) + parser.add_argument( + "--skip_cache_check", + action="store_true", + help="skip cache (latents and text encoder outputs) check / キャッシュ(latentsとtext encoder outputs)のチェックをスキップする", ) parser.add_argument( "--num_last_block_to_freeze", diff --git a/sdxl_train.py b/sdxl_train.py index aeff9c469..9b2d19165 100644 --- a/sdxl_train.py +++ b/sdxl_train.py @@ -131,7 +131,7 @@ def train(args): # prepare caching strategy: this must be set before preparing dataset. because dataset may use this strategy for initialization. if args.cache_latents: latents_caching_strategy = strategy_sd.SdSdxlLatentsCachingStrategy( - False, args.cache_latents_to_disk, args.vae_batch_size, False + False, args.cache_latents_to_disk, args.vae_batch_size, args.skip_cache_check ) strategy_base.LatentsCachingStrategy.set_strategy(latents_caching_strategy) @@ -328,7 +328,7 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): text_encoder1.to(accelerator.device) text_encoder2.to(accelerator.device) with accelerator.autocast(): - train_dataset_group.new_cache_text_encoder_outputs([text_encoder1, text_encoder2], accelerator.is_main_process) + train_dataset_group.new_cache_text_encoder_outputs([text_encoder1, text_encoder2], accelerator) accelerator.wait_for_everyone() diff --git a/sdxl_train_control_net.py b/sdxl_train_control_net.py index 67c8d52c8..74b3a64a4 100644 --- a/sdxl_train_control_net.py +++ b/sdxl_train_control_net.py @@ -84,7 +84,7 @@ def train(args): # prepare caching strategy: this must be set before preparing dataset. because dataset may use this strategy for initialization. latents_caching_strategy = strategy_sd.SdSdxlLatentsCachingStrategy( - False, args.cache_latents_to_disk, args.vae_batch_size, False + False, args.cache_latents_to_disk, args.vae_batch_size, args.skip_cache_check ) strategy_base.LatentsCachingStrategy.set_strategy(latents_caching_strategy) @@ -230,7 +230,7 @@ def unwrap_model(model): text_encoder1.to(accelerator.device) text_encoder2.to(accelerator.device) with accelerator.autocast(): - train_dataset_group.new_cache_text_encoder_outputs([text_encoder1, text_encoder2], accelerator.is_main_process) + train_dataset_group.new_cache_text_encoder_outputs([text_encoder1, text_encoder2], accelerator) accelerator.wait_for_everyone() diff --git a/sdxl_train_control_net_lllite.py b/sdxl_train_control_net_lllite.py index 9d1cfc63e..14ff7c240 100644 --- a/sdxl_train_control_net_lllite.py +++ b/sdxl_train_control_net_lllite.py @@ -93,7 +93,7 @@ def train(args): # prepare caching strategy: this must be set before preparing dataset. because dataset may use this strategy for initialization. latents_caching_strategy = strategy_sd.SdSdxlLatentsCachingStrategy( - False, args.cache_latents_to_disk, args.vae_batch_size, False + False, args.cache_latents_to_disk, args.vae_batch_size, args.skip_cache_check ) strategy_base.LatentsCachingStrategy.set_strategy(latents_caching_strategy) @@ -202,7 +202,7 @@ def train(args): text_encoder1.to(accelerator.device) text_encoder2.to(accelerator.device) with accelerator.autocast(): - train_dataset_group.new_cache_text_encoder_outputs([text_encoder1, text_encoder2], accelerator.is_main_process) + train_dataset_group.new_cache_text_encoder_outputs([text_encoder1, text_encoder2], accelerator) accelerator.wait_for_everyone() @@ -431,7 +431,6 @@ def remove_model(old_ckpt_name): latents = torch.nan_to_num(latents, 0, out=latents) latents = latents * sdxl_model_util.VAE_SCALE_FACTOR - text_encoder_outputs_list = batch.get("text_encoder_outputs_list", None) if text_encoder_outputs_list is not None: # Text Encoder outputs are cached diff --git a/sdxl_train_network.py b/sdxl_train_network.py index 20e32155c..4a16a4891 100644 --- a/sdxl_train_network.py +++ b/sdxl_train_network.py @@ -67,7 +67,7 @@ def get_tokenizers(self, tokenize_strategy: strategy_sdxl.SdxlTokenizeStrategy): def get_latents_caching_strategy(self, args): latents_caching_strategy = strategy_sd.SdSdxlLatentsCachingStrategy( - False, args.cache_latents_to_disk, args.vae_batch_size, False + False, args.cache_latents_to_disk, args.vae_batch_size, args.skip_cache_check ) return latents_caching_strategy @@ -80,7 +80,7 @@ def get_models_for_text_encoding(self, args, accelerator, text_encoders): def get_text_encoder_outputs_caching_strategy(self, args): if args.cache_text_encoder_outputs: return strategy_sdxl.SdxlTextEncoderOutputsCachingStrategy( - args.cache_text_encoder_outputs_to_disk, None, False, is_weighted=args.weighted_captions + args.cache_text_encoder_outputs_to_disk, None, args.skip_cache_check, is_weighted=args.weighted_captions ) else: return None @@ -102,9 +102,7 @@ def cache_text_encoder_outputs_if_needed( text_encoders[0].to(accelerator.device, dtype=weight_dtype) text_encoders[1].to(accelerator.device, dtype=weight_dtype) with accelerator.autocast(): - dataset.new_cache_text_encoder_outputs( - text_encoders + [accelerator.unwrap_model(text_encoders[-1])], accelerator.is_main_process - ) + dataset.new_cache_text_encoder_outputs(text_encoders + [accelerator.unwrap_model(text_encoders[-1])], accelerator) accelerator.wait_for_everyone() text_encoders[0].to("cpu", dtype=torch.float32) # Text Encoder doesn't work with fp16 on CPU diff --git a/sdxl_train_textual_inversion.py b/sdxl_train_textual_inversion.py index cbfcef554..821a69558 100644 --- a/sdxl_train_textual_inversion.py +++ b/sdxl_train_textual_inversion.py @@ -49,7 +49,7 @@ def get_tokenizers(self, tokenize_strategy: strategy_sdxl.SdxlTokenizeStrategy): def get_latents_caching_strategy(self, args): latents_caching_strategy = strategy_sd.SdSdxlLatentsCachingStrategy( - False, args.cache_latents_to_disk, args.vae_batch_size, False + False, args.cache_latents_to_disk, args.vae_batch_size, args.skip_cache_check ) return latents_caching_strategy diff --git a/train_db.py b/train_db.py index e49a7e70f..683b42332 100644 --- a/train_db.py +++ b/train_db.py @@ -64,7 +64,7 @@ def train(args): # prepare caching strategy: this must be set before preparing dataset. because dataset may use this strategy for initialization. latents_caching_strategy = strategy_sd.SdSdxlLatentsCachingStrategy( - False, args.cache_latents_to_disk, args.vae_batch_size, False + False, args.cache_latents_to_disk, args.vae_batch_size, args.skip_cache_check ) strategy_base.LatentsCachingStrategy.set_strategy(latents_caching_strategy) diff --git a/train_network.py b/train_network.py index 7437157b9..d5330aef4 100644 --- a/train_network.py +++ b/train_network.py @@ -116,7 +116,7 @@ def get_tokenizers(self, tokenize_strategy: strategy_sd.SdTokenizeStrategy) -> L def get_latents_caching_strategy(self, args): latents_caching_strategy = strategy_sd.SdSdxlLatentsCachingStrategy( - True, args.cache_latents_to_disk, args.vae_batch_size, False + True, args.cache_latents_to_disk, args.vae_batch_size, args.skip_cache_check ) return latents_caching_strategy diff --git a/train_textual_inversion.py b/train_textual_inversion.py index 3b3d3393f..4d8a3abbf 100644 --- a/train_textual_inversion.py +++ b/train_textual_inversion.py @@ -114,7 +114,7 @@ def get_tokenizers(self, tokenize_strategy: strategy_sd.SdTokenizeStrategy) -> L def get_latents_caching_strategy(self, args): latents_caching_strategy = strategy_sd.SdSdxlLatentsCachingStrategy( - True, args.cache_latents_to_disk, args.vae_batch_size, False + True, args.cache_latents_to_disk, args.vae_batch_size, args.skip_cache_check ) return latents_caching_strategy From ecaea909b10fa8b3eb94a1cf57b26d5daba1683e Mon Sep 17 00:00:00 2001 From: kohya-ss Date: Sat, 12 Oct 2024 20:26:57 +0900 Subject: [PATCH 274/748] update README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 37fc911f6..9128bf8da 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ The command to install PyTorch is as follows: Oct 12, 2024: - Multi-GPU training now works on Windows. Thanks to Akegarasu for PR [#1686](https://github.com/kohya-ss/sd-scripts/pull/1686)! - - It should work with all training scripts, but it is unverified. + - In simple tests, SDXL and FLUX.1 LoRA training worked. FLUX.1 fine-tuning did not work, probably due to a PyTorch-related error. Other scripts are unverified. - Set up multi-GPU training with `accelerate config`. - Specify `--rdzv_backend=c10d` when launching `accelerate launch`. You can also edit `config.yaml` directly. ``` From e277b5789e791539b5e51187530f11bd94e24871 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sat, 12 Oct 2024 21:49:07 +0900 Subject: [PATCH 275/748] Update FLUX.1 support for compact models --- README.md | 10 ++++++ flux_train.py | 12 +++---- flux_train_network.py | 2 +- library/flux_utils.py | 76 ++++++++++++++++++++++++++++++++++++------- 4 files changed, 82 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 9128bf8da..b64515a19 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,16 @@ The command to install PyTorch is as follows: ### Recent Updates +Oct 12, 2024 (update 1): + +- [Experimental] FLUX.1 fine-tuning and LoRA training now support "FLUX.1 __compact__" models. + - A compact model is a model that retains the FLUX.1 architecture but reduces the number of double/single blocks from the default 19/38. + - The model is automatically determined based on the keys in *.safetensors. + - Specifications for compact model safetensors: + - Please specify the block indices as consecutive numbers. An error will occur if there are missing numbers. For example, if you reduce the double blocks to 15, the maximum key will be `double_blocks.14.*`. The same applies to single blocks. + - LoRA training is unverified. + - The trained model can be used for inference with `flux_minimal_inference.py`. Other inference environments are unverified. + Oct 12, 2024: - Multi-GPU training now works on Windows. Thanks to Akegarasu for PR [#1686](https://github.com/kohya-ss/sd-scripts/pull/1686)! diff --git a/flux_train.py b/flux_train.py index ecc87c0a8..2fc13068e 100644 --- a/flux_train.py +++ b/flux_train.py @@ -137,7 +137,7 @@ def train(args): train_dataset_group.verify_bucket_reso_steps(16) # TODO これでいいか確認 - _, is_schnell, _ = flux_utils.check_flux_state_dict_diffusers_schnell(args.pretrained_model_name_or_path) + _, is_schnell, _, _ = flux_utils.analyze_checkpoint_state(args.pretrained_model_name_or_path) if args.debug_dataset: if args.cache_text_encoder_outputs: strategy_base.TextEncoderOutputsCachingStrategy.set_strategy( @@ -181,7 +181,7 @@ def train(args): # load VAE for caching latents ae = None if cache_latents: - ae = flux_utils.load_ae( args.ae, weight_dtype, "cpu", args.disable_mmap_load_safetensors) + ae = flux_utils.load_ae(args.ae, weight_dtype, "cpu", args.disable_mmap_load_safetensors) ae.to(accelerator.device, dtype=weight_dtype) ae.requires_grad_(False) ae.eval() @@ -510,8 +510,8 @@ def wait_blocks_move(block_idx, futures): library.adafactor_fused.patch_adafactor_fused(optimizer) blocks_to_swap = args.blocks_to_swap - num_double_blocks = 19 # len(flux.double_blocks) - num_single_blocks = 38 # len(flux.single_blocks) + num_double_blocks = len(accelerator.unwrap_model(flux).double_blocks) + num_single_blocks = len(accelerator.unwrap_model(flux).single_blocks) num_block_units = num_double_blocks + num_single_blocks // 2 handled_unit_indices = set() @@ -603,8 +603,8 @@ def __grad_hook(tensor: torch.Tensor, param_group=param_group): parameter_optimizer_map = {} blocks_to_swap = args.blocks_to_swap - num_double_blocks = 19 # len(flux.double_blocks) - num_single_blocks = 38 # len(flux.single_blocks) + num_double_blocks = len(accelerator.unwrap_model(flux).double_blocks) + num_single_blocks = len(accelerator.unwrap_model(flux).single_blocks) num_block_units = num_double_blocks + num_single_blocks // 2 n = 1 # only asynchronous purpose, no need to increase this number diff --git a/flux_train_network.py b/flux_train_network.py index 5d14bd28e..a24c1905b 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -139,7 +139,7 @@ def prepare_split_model(self, model, weight_dtype, accelerator): return flux_lower def get_tokenize_strategy(self, args): - _, is_schnell, _ = flux_utils.check_flux_state_dict_diffusers_schnell(args.pretrained_model_name_or_path) + _, is_schnell, _, _ = flux_utils.analyze_checkpoint_state(args.pretrained_model_name_or_path) if args.t5xxl_max_token_length is None: if is_schnell: diff --git a/library/flux_utils.py b/library/flux_utils.py index 713814e28..7a1ec37b8 100644 --- a/library/flux_utils.py +++ b/library/flux_utils.py @@ -1,3 +1,4 @@ +from dataclasses import replace import json import os from typing import List, Optional, Tuple, Union @@ -43,8 +44,21 @@ def load_safetensors( return load_file(path) # prevent device invalid Error -def check_flux_state_dict_diffusers_schnell(ckpt_path: str) -> Tuple[bool, bool, List[str]]: - # check the state dict: Diffusers or BFL, dev or schnell +def analyze_checkpoint_state(ckpt_path: str) -> Tuple[bool, bool, Tuple[int, int], List[str]]: + """ + チェックポイントの状態を分析し、DiffusersかBFLか、devかschnellか、ブロック数を計算して返す。 + + Args: + ckpt_path (str): チェックポイントファイルまたはディレクトリのパス。 + + Returns: + Tuple[bool, bool, Tuple[int, int], List[str]]: + - bool: Diffusersかどうかを示すフラグ。 + - bool: Schnellかどうかを示すフラグ。 + - Tuple[int, int]: ダブルブロックとシングルブロックの数。 + - List[str]: チェックポイントに含まれるキーのリスト。 + """ + # check the state dict: Diffusers or BFL, dev or schnell, number of blocks logger.info(f"Checking the state dict: Diffusers or BFL, dev or schnell") if os.path.isdir(ckpt_path): # if ckpt_path is a directory, it is Diffusers @@ -61,19 +75,57 @@ def check_flux_state_dict_diffusers_schnell(ckpt_path: str) -> Tuple[bool, bool, is_diffusers = "transformer_blocks.0.attn.add_k_proj.bias" in keys is_schnell = not ("guidance_in.in_layer.bias" in keys or "time_text_embed.guidance_embedder.linear_1.bias" in keys) - return is_diffusers, is_schnell, ckpt_paths + + # check number of double and single blocks + if not is_diffusers: + max_double_block_index = max( + [int(key.split(".")[1]) for key in keys if key.startswith("double_blocks.") and key.endswith(".img_attn.proj.bias")] + ) + max_single_block_index = max( + [int(key.split(".")[1]) for key in keys if key.startswith("single_blocks.") and key.endswith(".modulation.lin.bias")] + ) + else: + max_double_block_index = max( + [ + int(key.split(".")[1]) + for key in keys + if key.startswith("transformer_blocks.") and key.endswith(".attn.add_k_proj.bias") + ] + ) + max_single_block_index = max( + [ + int(key.split(".")[1]) + for key in keys + if key.startswith("single_transformer_blocks.") and key.endswith(".attn.to_k.bias") + ] + ) + + num_double_blocks = max_double_block_index + 1 + num_single_blocks = max_single_block_index + 1 + + return is_diffusers, is_schnell, (num_double_blocks, num_single_blocks), ckpt_paths def load_flow_model( ckpt_path: str, dtype: Optional[torch.dtype], device: Union[str, torch.device], disable_mmap: bool = False ) -> Tuple[bool, flux_models.Flux]: - is_diffusers, is_schnell, ckpt_paths = check_flux_state_dict_diffusers_schnell(ckpt_path) + is_diffusers, is_schnell, (num_double_blocks, num_single_blocks), ckpt_paths = analyze_checkpoint_state(ckpt_path) name = MODEL_NAME_DEV if not is_schnell else MODEL_NAME_SCHNELL # build model logger.info(f"Building Flux model {name} from {'Diffusers' if is_diffusers else 'BFL'} checkpoint") with torch.device("meta"): - model = flux_models.Flux(flux_models.configs[name].params) + params = flux_models.configs[name].params + + # set the number of blocks + if params.depth != num_double_blocks: + logger.info(f"Setting the number of double blocks from {params.depth} to {num_double_blocks}") + params = replace(params, depth=num_double_blocks) + if params.depth_single_blocks != num_single_blocks: + logger.info(f"Setting the number of single blocks from {params.depth_single_blocks} to {num_single_blocks}") + params = replace(params, depth_single_blocks=num_single_blocks) + + model = flux_models.Flux(params) if dtype is not None: model = model.to(dtype) @@ -86,7 +138,7 @@ def load_flow_model( # convert Diffusers to BFL if is_diffusers: logger.info("Converting Diffusers to BFL") - sd = convert_diffusers_sd_to_bfl(sd) + sd = convert_diffusers_sd_to_bfl(sd, num_double_blocks, num_single_blocks) logger.info("Converted Diffusers to BFL") info = model.load_state_dict(sd, strict=False, assign=True) @@ -349,16 +401,16 @@ def pack_latents(x: torch.Tensor) -> torch.Tensor: } -def make_diffusers_to_bfl_map() -> dict[str, tuple[int, str]]: +def make_diffusers_to_bfl_map(num_double_blocks: int, num_single_blocks: int) -> dict[str, tuple[int, str]]: # make reverse map from diffusers map diffusers_to_bfl_map = {} # key: diffusers_key, value: (index, bfl_key) - for b in range(NUM_DOUBLE_BLOCKS): + for b in range(num_double_blocks): for key, weights in BFL_TO_DIFFUSERS_MAP.items(): if key.startswith("double_blocks."): block_prefix = f"transformer_blocks.{b}." for i, weight in enumerate(weights): diffusers_to_bfl_map[f"{block_prefix}{weight}"] = (i, key.replace("()", f"{b}")) - for b in range(NUM_SINGLE_BLOCKS): + for b in range(num_single_blocks): for key, weights in BFL_TO_DIFFUSERS_MAP.items(): if key.startswith("single_blocks."): block_prefix = f"single_transformer_blocks.{b}." @@ -371,8 +423,10 @@ def make_diffusers_to_bfl_map() -> dict[str, tuple[int, str]]: return diffusers_to_bfl_map -def convert_diffusers_sd_to_bfl(diffusers_sd: dict[str, torch.Tensor]) -> dict[str, torch.Tensor]: - diffusers_to_bfl_map = make_diffusers_to_bfl_map() +def convert_diffusers_sd_to_bfl( + diffusers_sd: dict[str, torch.Tensor], num_double_blocks: int = NUM_DOUBLE_BLOCKS, num_single_blocks: int = NUM_SINGLE_BLOCKS +) -> dict[str, torch.Tensor]: + diffusers_to_bfl_map = make_diffusers_to_bfl_map(num_double_blocks, num_single_blocks) # iterate over three safetensors files to reduce memory usage flux_sd = {} From 74228c9953b4ba0f8b0d68e8f6c8a8a6a469c2f5 Mon Sep 17 00:00:00 2001 From: kohya-ss Date: Sun, 13 Oct 2024 16:27:22 +0900 Subject: [PATCH 276/748] update cache_latents/text_encoder_outputs --- library/strategy_base.py | 2 +- tools/cache_latents.py | 147 +++++++++++------------ tools/cache_text_encoder_outputs.py | 178 ++++++++++++++++------------ 3 files changed, 166 insertions(+), 161 deletions(-) diff --git a/library/strategy_base.py b/library/strategy_base.py index 2bff4178a..363996cec 100644 --- a/library/strategy_base.py +++ b/library/strategy_base.py @@ -325,7 +325,7 @@ class TextEncoderOutputsCachingStrategy: def __init__( self, cache_to_disk: bool, - batch_size: int, + batch_size: Optional[int], skip_disk_cache_validity_check: bool, is_partial: bool = False, is_weighted: bool = False, diff --git a/tools/cache_latents.py b/tools/cache_latents.py index 2f0098b42..d8154ec31 100644 --- a/tools/cache_latents.py +++ b/tools/cache_latents.py @@ -9,7 +9,7 @@ import torch from tqdm import tqdm -from library import config_util +from library import config_util, flux_utils, strategy_base, strategy_flux, strategy_sd, strategy_sdxl from library import train_util from library import sdxl_train_util from library.config_util import ( @@ -17,42 +17,73 @@ BlueprintGenerator, ) from library.utils import setup_logging, add_logging_arguments + setup_logging() import logging logger = logging.getLogger(__name__) +def set_tokenize_strategy(is_sd: bool, is_sdxl: bool, is_flux: bool, args: argparse.Namespace) -> None: + if is_flux: + _, is_schnell, _ = flux_utils.check_flux_state_dict_diffusers_schnell(args.pretrained_model_name_or_path) + else: + is_schnell = False + + if is_sd or is_sdxl: + tokenize_strategy = strategy_sd.SdTokenizeStrategy(args.v2, args.max_token_length, args.tokenizer_cache_dir) + elif is_sdxl: + tokenize_strategy = strategy_sdxl.SdxlTokenizeStrategy(args.max_token_length, args.tokenizer_cache_dir) + else: + if args.t5xxl_max_token_length is None: + if is_schnell: + t5xxl_max_token_length = 256 + else: + t5xxl_max_token_length = 512 + else: + t5xxl_max_token_length = args.t5xxl_max_token_length + + logger.info(f"t5xxl_max_token_length: {t5xxl_max_token_length}") + tokenize_strategy = strategy_flux.FluxTokenizeStrategy(t5xxl_max_token_length, args.tokenizer_cache_dir) + strategy_base.TokenizeStrategy.set_strategy(tokenize_strategy) + + def cache_to_disk(args: argparse.Namespace) -> None: setup_logging(args, reset=True) train_util.prepare_dataset_args(args, True) - # check cache latents arg - assert args.cache_latents_to_disk, "cache_latents_to_disk must be True / cache_latents_to_diskはTrueである必要があります" + # assert args.cache_latents_to_disk, "cache_latents_to_disk must be True / cache_latents_to_diskはTrueである必要があります" + args.cache_latents = True + args.cache_latents_to_disk = True use_dreambooth_method = args.in_json is None if args.seed is not None: set_seed(args.seed) # 乱数系列を初期化する - # tokenizerを準備する:datasetを動かすために必要 - if args.sdxl: - tokenizer1, tokenizer2 = sdxl_train_util.load_tokenizers(args) - tokenizers = [tokenizer1, tokenizer2] + is_sd = not args.sdxl and not args.flux + is_sdxl = args.sdxl + is_flux = args.flux + + set_tokenize_strategy(is_sd, is_sdxl, is_flux, args) + + if is_sd or is_sdxl: + latents_caching_strategy = strategy_sd.SdSdxlLatentsCachingStrategy(is_sd, True, args.vae_batch_size, args.skip_cache_check) else: - tokenizer = train_util.load_tokenizer(args) - tokenizers = [tokenizer] + latents_caching_strategy = strategy_flux.FluxLatentsCachingStrategy(True, args.vae_batch_size, args.skip_cache_check) + strategy_base.LatentsCachingStrategy.set_strategy(latents_caching_strategy) # データセットを準備する + use_user_config = args.dataset_config is not None if args.dataset_class is None: - blueprint_generator = BlueprintGenerator(ConfigSanitizer(True, True, False, True)) - if args.dataset_config is not None: - logger.info(f"Load dataset config from {args.dataset_config}") + blueprint_generator = BlueprintGenerator(ConfigSanitizer(True, True, args.masked_loss, True)) + if use_user_config: + logger.info(f"Loading dataset config from {args.dataset_config}") user_config = config_util.load_user_config(args.dataset_config) - ignored = ["train_data_dir", "in_json"] + ignored = ["train_data_dir", "reg_data_dir", "in_json"] if any(getattr(args, attr) is not None for attr in ignored): logger.warning( - "ignore following options because config file is found: {0} / 設定ファイルが利用されるため以下のオプションは無視されます: {0}".format( + "ignoring the following options because config file is found: {0} / 設定ファイルが利用されるため以下のオプションは無視されます: {0}".format( ", ".join(ignored) ) ) @@ -83,17 +114,11 @@ def cache_to_disk(args: argparse.Namespace) -> None: ] } - blueprint = blueprint_generator.generate(user_config, args, tokenizer=tokenizers) + blueprint = blueprint_generator.generate(user_config, args) train_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) else: - train_dataset_group = train_util.load_arbitrary_dataset(args, tokenizers) - - # datasetのcache_latentsを呼ばなければ、生の画像が返る - - current_epoch = Value("i", 0) - current_step = Value("i", 0) - ds_for_collator = train_dataset_group if args.max_data_loader_n_workers == 0 else None - collator = train_util.collator_class(current_epoch, current_step, ds_for_collator) + # use arbitrary dataset class + train_dataset_group = train_util.load_arbitrary_dataset(args) # acceleratorを準備する logger.info("prepare accelerator") @@ -106,72 +131,27 @@ def cache_to_disk(args: argparse.Namespace) -> None: # モデルを読み込む logger.info("load model") - if args.sdxl: + if is_sd: + _, vae, _, _ = train_util.load_target_model(args, weight_dtype, accelerator) + elif is_sdxl: (_, _, _, vae, _, _, _) = sdxl_train_util.load_target_model(args, accelerator, "sdxl", weight_dtype) else: - _, vae, _, _ = train_util.load_target_model(args, weight_dtype, accelerator) + vae = flux_utils.load_ae(args.ae, weight_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors) + + if is_sd or is_sdxl: + if torch.__version__ >= "2.0.0": # PyTorch 2.0.0 以上対応のxformersなら以下が使える + vae.set_use_memory_efficient_attention_xformers(args.xformers) - if torch.__version__ >= "2.0.0": # PyTorch 2.0.0 以上対応のxformersなら以下が使える - vae.set_use_memory_efficient_attention_xformers(args.xformers) vae.to(accelerator.device, dtype=vae_dtype) vae.requires_grad_(False) vae.eval() - # dataloaderを準備する - train_dataset_group.set_caching_mode("latents") - - # DataLoaderのプロセス数:0 は persistent_workers が使えないので注意 - n_workers = min(args.max_data_loader_n_workers, os.cpu_count()) # cpu_count or max_data_loader_n_workers - - train_dataloader = torch.utils.data.DataLoader( - train_dataset_group, - batch_size=1, - shuffle=True, - collate_fn=collator, - num_workers=n_workers, - persistent_workers=args.persistent_data_loader_workers, - ) - - # acceleratorを使ってモデルを準備する:マルチGPUで使えるようになるはず - train_dataloader = accelerator.prepare(train_dataloader) - - # データ取得のためのループ - for batch in tqdm(train_dataloader): - b_size = len(batch["images"]) - vae_batch_size = b_size if args.vae_batch_size is None else args.vae_batch_size - flip_aug = batch["flip_aug"] - alpha_mask = batch["alpha_mask"] - random_crop = batch["random_crop"] - bucket_reso = batch["bucket_reso"] - - # バッチを分割して処理する - for i in range(0, b_size, vae_batch_size): - images = batch["images"][i : i + vae_batch_size] - absolute_paths = batch["absolute_paths"][i : i + vae_batch_size] - resized_sizes = batch["resized_sizes"][i : i + vae_batch_size] - - image_infos = [] - for i, (image, absolute_path, resized_size) in enumerate(zip(images, absolute_paths, resized_sizes)): - image_info = train_util.ImageInfo(absolute_path, 1, "dummy", False, absolute_path) - image_info.image = image - image_info.bucket_reso = bucket_reso - image_info.resized_size = resized_size - image_info.latents_npz = os.path.splitext(absolute_path)[0] + ".npz" - - if args.skip_existing: - if train_util.is_disk_cached_latents_is_expected( - image_info.bucket_reso, image_info.latents_npz, flip_aug, alpha_mask - ): - logger.warning(f"Skipping {image_info.latents_npz} because it already exists.") - continue - - image_infos.append(image_info) - - if len(image_infos) > 0: - train_util.cache_batch_latents(vae, True, image_infos, flip_aug, alpha_mask, random_crop) + # cache latents with dataset + # TODO use DataLoader to speed up + train_dataset_group.new_cache_latents(vae, accelerator) accelerator.wait_for_everyone() - accelerator.print(f"Finished caching latents for {len(train_dataset_group)} batches.") + accelerator.print(f"Finished caching latents to disk.") def setup_parser() -> argparse.ArgumentParser: @@ -182,7 +162,11 @@ def setup_parser() -> argparse.ArgumentParser: train_util.add_training_arguments(parser, True) train_util.add_dataset_arguments(parser, True, True, True) config_util.add_config_arguments(parser) + parser.add_argument( + "--ae", type=str, default=None, help="Autoencoder model of FLUX to use / 使用するFLUXのオートエンコーダモデル" + ) parser.add_argument("--sdxl", action="store_true", help="Use SDXL model / SDXLモデルを使用する") + parser.add_argument("--flux", action="store_true", help="Use FLUX model / FLUXモデルを使用する") parser.add_argument( "--no_half_vae", action="store_true", @@ -191,7 +175,8 @@ def setup_parser() -> argparse.ArgumentParser: parser.add_argument( "--skip_existing", action="store_true", - help="skip images if npz already exists (both normal and flipped exists if flip_aug is enabled) / npzが既に存在する画像をスキップする(flip_aug有効時は通常、反転の両方が存在する画像をスキップ)", + help="[Deprecated] This option does not work. Existing .npz files are always checked. Use `--skip_cache_check` to skip the check." + " / [非推奨] このオプションは機能しません。既存の .npz は常に検証されます。`--skip_cache_check` で検証をスキップできます。", ) return parser diff --git a/tools/cache_text_encoder_outputs.py b/tools/cache_text_encoder_outputs.py index a75d9da74..d294d46c4 100644 --- a/tools/cache_text_encoder_outputs.py +++ b/tools/cache_text_encoder_outputs.py @@ -9,55 +9,68 @@ import torch from tqdm import tqdm -from library import config_util +from library import ( + config_util, + flux_train_utils, + flux_utils, + sdxl_model_util, + strategy_base, + strategy_flux, + strategy_sd, + strategy_sdxl, +) from library import train_util from library import sdxl_train_util +from library import utils from library.config_util import ( ConfigSanitizer, BlueprintGenerator, ) from library.utils import setup_logging, add_logging_arguments +from tools import cache_latents + setup_logging() import logging + logger = logging.getLogger(__name__) + def cache_to_disk(args: argparse.Namespace) -> None: setup_logging(args, reset=True) train_util.prepare_dataset_args(args, True) - # check cache arg - assert ( - args.cache_text_encoder_outputs_to_disk - ), "cache_text_encoder_outputs_to_disk must be True / cache_text_encoder_outputs_to_diskはTrueである必要があります" - - # できるだけ準備はしておくが今のところSDXLのみしか動かない - assert ( - args.sdxl - ), "cache_text_encoder_outputs_to_disk is only available for SDXL / cache_text_encoder_outputs_to_diskはSDXLのみ利用可能です" + args.cache_text_encoder_outputs = True + args.cache_text_encoder_outputs_to_disk = True use_dreambooth_method = args.in_json is None if args.seed is not None: set_seed(args.seed) # 乱数系列を初期化する - # tokenizerを準備する:datasetを動かすために必要 - if args.sdxl: - tokenizer1, tokenizer2 = sdxl_train_util.load_tokenizers(args) - tokenizers = [tokenizer1, tokenizer2] - else: - tokenizer = train_util.load_tokenizer(args) - tokenizers = [tokenizer] + is_sd = not args.sdxl and not args.flux + is_sdxl = args.sdxl + is_flux = args.flux + + assert ( + is_sdxl or is_flux + ), "Cache text encoder outputs to disk is only supported for SDXL and FLUX models / テキストエンコーダ出力のディスクキャッシュはSDXLまたはFLUXでのみ有効です" + assert ( + is_sdxl or args.weighted_captions is None + ), "Weighted captions are only supported for SDXL models / 重み付きキャプションはSDXLモデルでのみ有効です" + + cache_latents.set_tokenize_strategy(is_sd, is_sdxl, is_flux, args) # データセットを準備する + use_user_config = args.dataset_config is not None if args.dataset_class is None: - blueprint_generator = BlueprintGenerator(ConfigSanitizer(True, True, False, True)) - if args.dataset_config is not None: - logger.info(f"Load dataset config from {args.dataset_config}") + blueprint_generator = BlueprintGenerator(ConfigSanitizer(True, True, args.masked_loss, True)) + if use_user_config: + logger.info(f"Loading dataset config from {args.dataset_config}") user_config = config_util.load_user_config(args.dataset_config) - ignored = ["train_data_dir", "in_json"] + ignored = ["train_data_dir", "reg_data_dir", "in_json"] if any(getattr(args, attr) is not None for attr in ignored): logger.warning( - "ignore following options because config file is found: {0} / 設定ファイルが利用されるため以下のオプションは無視されます: {0}".format( + "ignoring the following options because config file is found: {0} / 設定ファイルが利用されるため以下のオプションは無視されます: {0}".format( ", ".join(ignored) ) ) @@ -88,15 +101,11 @@ def cache_to_disk(args: argparse.Namespace) -> None: ] } - blueprint = blueprint_generator.generate(user_config, args, tokenizer=tokenizers) + blueprint = blueprint_generator.generate(user_config, args) train_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) else: - train_dataset_group = train_util.load_arbitrary_dataset(args, tokenizers) - - current_epoch = Value("i", 0) - current_step = Value("i", 0) - ds_for_collator = train_dataset_group if args.max_data_loader_n_workers == 0 else None - collator = train_util.collator_class(current_epoch, current_step, ds_for_collator) + # use arbitrary dataset class + train_dataset_group = train_util.load_arbitrary_dataset(args) # acceleratorを準備する logger.info("prepare accelerator") @@ -105,66 +114,68 @@ def cache_to_disk(args: argparse.Namespace) -> None: # mixed precisionに対応した型を用意しておき適宜castする weight_dtype, _ = train_util.prepare_dtype(args) + t5xxl_dtype = utils.str_to_dtype(args.t5xxl_dtype, weight_dtype) # モデルを読み込む logger.info("load model") - if args.sdxl: - (_, text_encoder1, text_encoder2, _, _, _, _) = sdxl_train_util.load_target_model(args, accelerator, "sdxl", weight_dtype) + if is_sdxl: + _, text_encoder1, text_encoder2, _, _, _, _ = sdxl_train_util.load_target_model( + args, accelerator, sdxl_model_util.MODEL_VERSION_SDXL_BASE_V1_0, weight_dtype + ) + text_encoder1.to(accelerator.device, weight_dtype) + text_encoder2.to(accelerator.device, weight_dtype) text_encoders = [text_encoder1, text_encoder2] else: - text_encoder1, _, _, _ = train_util.load_target_model(args, weight_dtype, accelerator) - text_encoders = [text_encoder1] + clip_l = flux_utils.load_clip_l( + args.clip_l, weight_dtype, accelerator.device, disable_mmap=args.disable_mmap_load_safetensors + ) + + t5xxl = flux_utils.load_t5xxl(args.t5xxl, None, accelerator.device, disable_mmap=args.disable_mmap_load_safetensors) + + if t5xxl.dtype == torch.float8_e4m3fnuz or t5xxl.dtype == torch.float8_e5m2 or t5xxl.dtype == torch.float8_e5m2fnuz: + raise ValueError(f"Unsupported fp8 model dtype: {t5xxl.dtype}") + elif t5xxl.dtype == torch.float8_e4m3fn: + logger.info("Loaded fp8 T5XXL model") + + if t5xxl_dtype != t5xxl_dtype: + if t5xxl.dtype == torch.float8_e4m3fn and t5xxl_dtype.itemsize() >= 2: + logger.warning( + "The loaded model is fp8, but the specified T5XXL dtype is larger than fp8. This may cause a performance drop." + " / ロードされたモデルはfp8ですが、指定されたT5XXLのdtypeがfp8より高精度です。精度低下が発生する可能性があります。" + ) + logger.info(f"Casting T5XXL model to {t5xxl_dtype}") + t5xxl.to(t5xxl_dtype) + + text_encoders = [clip_l, t5xxl] for text_encoder in text_encoders: - text_encoder.to(accelerator.device, dtype=weight_dtype) text_encoder.requires_grad_(False) text_encoder.eval() - # dataloaderを準備する - train_dataset_group.set_caching_mode("text") - - # DataLoaderのプロセス数:0 は persistent_workers が使えないので注意 - n_workers = min(args.max_data_loader_n_workers, os.cpu_count()) # cpu_count or max_data_loader_n_workers - - train_dataloader = torch.utils.data.DataLoader( - train_dataset_group, - batch_size=1, - shuffle=True, - collate_fn=collator, - num_workers=n_workers, - persistent_workers=args.persistent_data_loader_workers, - ) + # build text encoder outputs caching strategy + if is_sdxl: + text_encoder_outputs_caching_strategy = strategy_sdxl.SdxlTextEncoderOutputsCachingStrategy( + args.cache_text_encoder_outputs_to_disk, None, args.skip_cache_check, is_weighted=args.weighted_captions + ) + else: + text_encoder_outputs_caching_strategy = strategy_flux.FluxTextEncoderOutputsCachingStrategy( + args.cache_text_encoder_outputs_to_disk, + args.text_encoder_batch_size, + args.skip_cache_check, + is_partial=False, + apply_t5_attn_mask=args.apply_t5_attn_mask, + ) + strategy_base.TextEncoderOutputsCachingStrategy.set_strategy(text_encoder_outputs_caching_strategy) + + # build text encoding strategy + if is_sdxl: + text_encoding_strategy = strategy_sdxl.SdxlTextEncodingStrategy() + else: + text_encoding_strategy = strategy_flux.FluxTextEncodingStrategy(args.apply_t5_attn_mask) + strategy_base.TextEncodingStrategy.set_strategy(text_encoding_strategy) - # acceleratorを使ってモデルを準備する:マルチGPUで使えるようになるはず - train_dataloader = accelerator.prepare(train_dataloader) - - # データ取得のためのループ - for batch in tqdm(train_dataloader): - absolute_paths = batch["absolute_paths"] - input_ids1_list = batch["input_ids1_list"] - input_ids2_list = batch["input_ids2_list"] - - image_infos = [] - for absolute_path, input_ids1, input_ids2 in zip(absolute_paths, input_ids1_list, input_ids2_list): - image_info = train_util.ImageInfo(absolute_path, 1, "dummy", False, absolute_path) - image_info.text_encoder_outputs_npz = os.path.splitext(absolute_path)[0] + train_util.TEXT_ENCODER_OUTPUTS_CACHE_SUFFIX - image_info - - if args.skip_existing: - if os.path.exists(image_info.text_encoder_outputs_npz): - logger.warning(f"Skipping {image_info.text_encoder_outputs_npz} because it already exists.") - continue - - image_info.input_ids1 = input_ids1 - image_info.input_ids2 = input_ids2 - image_infos.append(image_info) - - if len(image_infos) > 0: - b_input_ids1 = torch.stack([image_info.input_ids1 for image_info in image_infos]) - b_input_ids2 = torch.stack([image_info.input_ids2 for image_info in image_infos]) - train_util.cache_batch_text_encoder_outputs( - image_infos, tokenizers, text_encoders, args.max_token_length, True, b_input_ids1, b_input_ids2, weight_dtype - ) + # cache text encoder outputs + train_dataset_group.new_cache_text_encoder_outputs(text_encoders, accelerator) accelerator.wait_for_everyone() accelerator.print(f"Finished caching latents for {len(train_dataset_group)} batches.") @@ -179,11 +190,20 @@ def setup_parser() -> argparse.ArgumentParser: train_util.add_dataset_arguments(parser, True, True, True) config_util.add_config_arguments(parser) sdxl_train_util.add_sdxl_training_arguments(parser) + flux_train_utils.add_flux_train_arguments(parser) parser.add_argument("--sdxl", action="store_true", help="Use SDXL model / SDXLモデルを使用する") + parser.add_argument("--flux", action="store_true", help="Use FLUX model / FLUXモデルを使用する") + parser.add_argument( + "--t5xxl_dtype", + type=str, + default=None, + help="T5XXL model dtype, default: None (use mixed precision dtype) / T5XXLモデルのdtype, デフォルト: None (mixed precisionのdtypeを使用)", + ) parser.add_argument( "--skip_existing", action="store_true", - help="skip images if npz already exists (both normal and flipped exists if flip_aug is enabled) / npzが既に存在する画像をスキップする(flip_aug有効時は通常、反転の両方が存在する画像をスキップ)", + help="[Deprecated] This option does not work. Existing .npz files are always checked. Use `--skip_cache_check` to skip the check." + " / [非推奨] このオプションは機能しません。既存の .npz は常に検証されます。`--skip_cache_check` で検証をスキップできます。", ) return parser From 2244cf5b835cc35179f29b1babb4a2d19f54bfae Mon Sep 17 00:00:00 2001 From: kohya-ss Date: Sun, 13 Oct 2024 18:22:19 +0900 Subject: [PATCH 277/748] load images in parallel when caching latents --- library/train_util.py | 93 ++++++++++++++++++++++++------------------- 1 file changed, 53 insertions(+), 40 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index 4e6b3408d..1db470d63 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -3,6 +3,7 @@ import argparse import ast import asyncio +from concurrent.futures import Future, ThreadPoolExecutor import datetime import importlib import json @@ -1058,7 +1059,6 @@ def __eq__(self, other): and self.random_crop == other.random_crop ) - batches: List[Tuple[Condition, List[ImageInfo]]] = [] batch: List[ImageInfo] = [] current_condition = None @@ -1066,57 +1066,70 @@ def __eq__(self, other): num_processes = accelerator.num_processes process_index = accelerator.process_index - logger.info("checking cache validity...") - for i, info in enumerate(tqdm(image_infos)): - subset = self.image_to_subset[info.image_key] + # define a function to submit a batch to cache + def submit_batch(batch, cond): + for info in batch: + if info.image is not None and isinstance(info.image, Future): + info.image = info.image.result() # future to image + caching_strategy.cache_batch_latents(model, batch, cond.flip_aug, cond.alpha_mask, cond.random_crop) - if info.latents_npz is not None: # fine tuning dataset - continue + # define ThreadPoolExecutor to load images in parallel + max_workers = min(os.cpu_count(), len(image_infos)) + max_workers = max(1, max_workers // num_processes) # consider multi-gpu + max_workers = min(max_workers, caching_strategy.batch_size) # max_workers should be less than batch_size + executor = ThreadPoolExecutor(max_workers) - # check disk cache exists and size of latents - if caching_strategy.cache_to_disk: - # info.latents_npz = os.path.splitext(info.absolute_path)[0] + file_suffix - info.latents_npz = caching_strategy.get_latents_npz_path(info.absolute_path, info.image_size) + try: + # iterate images + logger.info("caching latents...") + for i, info in enumerate(tqdm(image_infos)): + subset = self.image_to_subset[info.image_key] - # if the modulo of num_processes is not equal to process_index, skip caching - # this makes each process cache different latents - if i % num_processes != process_index: + if info.latents_npz is not None: # fine tuning dataset continue - # print(f"{process_index}/{num_processes} {i}/{len(image_infos)} {info.latents_npz}") + # check disk cache exists and size of latents + if caching_strategy.cache_to_disk: + # info.latents_npz = os.path.splitext(info.absolute_path)[0] + file_suffix + info.latents_npz = caching_strategy.get_latents_npz_path(info.absolute_path, info.image_size) - cache_available = caching_strategy.is_disk_cached_latents_expected( - info.bucket_reso, info.latents_npz, subset.flip_aug, subset.alpha_mask - ) - if cache_available: # do not add to batch - continue + # if the modulo of num_processes is not equal to process_index, skip caching + # this makes each process cache different latents + if i % num_processes != process_index: + continue - # if batch is not empty and condition is changed, flush the batch. Note that current_condition is not None if batch is not empty - condition = Condition(info.bucket_reso, subset.flip_aug, subset.alpha_mask, subset.random_crop) - if len(batch) > 0 and current_condition != condition: - batches.append((current_condition, batch)) - batch = [] + # print(f"{process_index}/{num_processes} {i}/{len(image_infos)} {info.latents_npz}") - batch.append(info) - current_condition = condition + cache_available = caching_strategy.is_disk_cached_latents_expected( + info.bucket_reso, info.latents_npz, subset.flip_aug, subset.alpha_mask + ) + if cache_available: # do not add to batch + continue - # if number of data in batch is enough, flush the batch - if len(batch) >= caching_strategy.batch_size: - batches.append((current_condition, batch)) - batch = [] - current_condition = None + # if batch is not empty and condition is changed, flush the batch. Note that current_condition is not None if batch is not empty + condition = Condition(info.bucket_reso, subset.flip_aug, subset.alpha_mask, subset.random_crop) + if len(batch) > 0 and current_condition != condition: + submit_batch(batch, current_condition) + batch = [] - if len(batch) > 0: - batches.append((current_condition, batch)) + if info.image is None: + # load image in parallel + info.image = executor.submit(load_image, info.absolute_path, condition.alpha_mask) - if len(batches) == 0: - logger.info("no latents to cache") - return + batch.append(info) + current_condition = condition - # iterate batches: batch doesn't have image here. image will be loaded in cache_batch_latents and discarded - logger.info("caching latents...") - for condition, batch in tqdm(batches, smoothing=1, total=len(batches)): - caching_strategy.cache_batch_latents(model, batch, condition.flip_aug, condition.alpha_mask, condition.random_crop) + # if number of data in batch is enough, flush the batch + if len(batch) >= caching_strategy.batch_size: + submit_batch(batch, current_condition) + batch = [] + current_condition = None + + if len(batch) > 0: + submit_batch(batch, current_condition) + + finally: + executor.shutdown() def cache_latents(self, vae, vae_batch_size=1, cache_to_disk=False, is_main_process=True, file_suffix=".npz"): # マルチGPUには対応していないので、そちらはtools/cache_latents.pyを使うこと From bfc3a65acda7f90abef9c16db279d2952f73fb77 Mon Sep 17 00:00:00 2001 From: kohya-ss Date: Sun, 13 Oct 2024 19:08:16 +0900 Subject: [PATCH 278/748] fix to work cache latents/text encoder outputs --- library/train_util.py | 11 +++++++---- tools/cache_latents.py | 11 ++++++----- tools/cache_text_encoder_outputs.py | 18 +++++++++++++----- 3 files changed, 26 insertions(+), 14 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index 1db470d63..926609267 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -4064,15 +4064,18 @@ def verify_command_line_training_args(args: argparse.Namespace): ) +def enable_high_vram(args: argparse.Namespace): + if args.highvram: + logger.info("highvram is enabled / highvramが有効です") + global HIGH_VRAM + HIGH_VRAM = True + def verify_training_args(args: argparse.Namespace): r""" Verify training arguments. Also reflect highvram option to global variable 学習用引数を検証する。あわせて highvram オプションの指定をグローバル変数に反映する """ - if args.highvram: - print("highvram is enabled / highvramが有効です") - global HIGH_VRAM - HIGH_VRAM = True + enable_high_vram(args) if args.v_parameterization and not args.v2: logger.warning( diff --git a/tools/cache_latents.py b/tools/cache_latents.py index d8154ec31..e2faa58a7 100644 --- a/tools/cache_latents.py +++ b/tools/cache_latents.py @@ -9,7 +9,7 @@ import torch from tqdm import tqdm -from library import config_util, flux_utils, strategy_base, strategy_flux, strategy_sd, strategy_sdxl +from library import config_util, flux_train_utils, flux_utils, strategy_base, strategy_flux, strategy_sd, strategy_sdxl from library import train_util from library import sdxl_train_util from library.config_util import ( @@ -30,7 +30,7 @@ def set_tokenize_strategy(is_sd: bool, is_sdxl: bool, is_flux: bool, args: argpa else: is_schnell = False - if is_sd or is_sdxl: + if is_sd: tokenize_strategy = strategy_sd.SdTokenizeStrategy(args.v2, args.max_token_length, args.tokenizer_cache_dir) elif is_sdxl: tokenize_strategy = strategy_sdxl.SdxlTokenizeStrategy(args.max_token_length, args.tokenizer_cache_dir) @@ -51,6 +51,7 @@ def set_tokenize_strategy(is_sd: bool, is_sdxl: bool, is_flux: bool, args: argpa def cache_to_disk(args: argparse.Namespace) -> None: setup_logging(args, reset=True) train_util.prepare_dataset_args(args, True) + train_util.enable_high_vram(args) # assert args.cache_latents_to_disk, "cache_latents_to_disk must be True / cache_latents_to_diskはTrueである必要があります" args.cache_latents = True @@ -161,10 +162,10 @@ def setup_parser() -> argparse.ArgumentParser: train_util.add_sd_models_arguments(parser) train_util.add_training_arguments(parser, True) train_util.add_dataset_arguments(parser, True, True, True) + train_util.add_masked_loss_arguments(parser) config_util.add_config_arguments(parser) - parser.add_argument( - "--ae", type=str, default=None, help="Autoencoder model of FLUX to use / 使用するFLUXのオートエンコーダモデル" - ) + flux_train_utils.add_flux_train_arguments(parser) + parser.add_argument("--sdxl", action="store_true", help="Use SDXL model / SDXLモデルを使用する") parser.add_argument("--flux", action="store_true", help="Use FLUX model / FLUXモデルを使用する") parser.add_argument( diff --git a/tools/cache_text_encoder_outputs.py b/tools/cache_text_encoder_outputs.py index d294d46c4..7be9ad781 100644 --- a/tools/cache_text_encoder_outputs.py +++ b/tools/cache_text_encoder_outputs.py @@ -27,7 +27,7 @@ BlueprintGenerator, ) from library.utils import setup_logging, add_logging_arguments -from tools import cache_latents +from cache_latents import set_tokenize_strategy setup_logging() import logging @@ -38,6 +38,7 @@ def cache_to_disk(args: argparse.Namespace) -> None: setup_logging(args, reset=True) train_util.prepare_dataset_args(args, True) + train_util.enable_high_vram(args) args.cache_text_encoder_outputs = True args.cache_text_encoder_outputs_to_disk = True @@ -57,8 +58,8 @@ def cache_to_disk(args: argparse.Namespace) -> None: assert ( is_sdxl or args.weighted_captions is None ), "Weighted captions are only supported for SDXL models / 重み付きキャプションはSDXLモデルでのみ有効です" - - cache_latents.set_tokenize_strategy(is_sd, is_sdxl, is_flux, args) + + set_tokenize_strategy(is_sd, is_sdxl, is_flux, args) # データセットを準備する use_user_config = args.dataset_config is not None @@ -178,7 +179,7 @@ def cache_to_disk(args: argparse.Namespace) -> None: train_dataset_group.new_cache_text_encoder_outputs(text_encoders, accelerator) accelerator.wait_for_everyone() - accelerator.print(f"Finished caching latents for {len(train_dataset_group)} batches.") + accelerator.print(f"Finished caching text encoder outputs to disk.") def setup_parser() -> argparse.ArgumentParser: @@ -188,9 +189,10 @@ def setup_parser() -> argparse.ArgumentParser: train_util.add_sd_models_arguments(parser) train_util.add_training_arguments(parser, True) train_util.add_dataset_arguments(parser, True, True, True) + train_util.add_masked_loss_arguments(parser) config_util.add_config_arguments(parser) - sdxl_train_util.add_sdxl_training_arguments(parser) flux_train_utils.add_flux_train_arguments(parser) + parser.add_argument("--sdxl", action="store_true", help="Use SDXL model / SDXLモデルを使用する") parser.add_argument("--flux", action="store_true", help="Use FLUX model / FLUXモデルを使用する") parser.add_argument( @@ -205,6 +207,12 @@ def setup_parser() -> argparse.ArgumentParser: help="[Deprecated] This option does not work. Existing .npz files are always checked. Use `--skip_cache_check` to skip the check." " / [非推奨] このオプションは機能しません。既存の .npz は常に検証されます。`--skip_cache_check` で検証をスキップできます。", ) + parser.add_argument( + "--weighted_captions", + action="store_true", + default=False, + help="Enable weighted captions in the standard style (token:1.3). No commas inside parens, or shuffle/dropout may break the decoder. / 「[token]」、「(token)」「(token:1.3)」のような重み付きキャプションを有効にする。カンマを括弧内に入れるとシャッフルやdropoutで重みづけがおかしくなるので注意", + ) return parser From 2d5f7fa709c31d07a1bb44b5be391c29b77d3cfc Mon Sep 17 00:00:00 2001 From: kohya-ss Date: Sun, 13 Oct 2024 19:23:21 +0900 Subject: [PATCH 279/748] update README --- README.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 544c665de..7fae50d1a 100644 --- a/README.md +++ b/README.md @@ -11,10 +11,15 @@ The command to install PyTorch is as follows: ### Recent Updates -Oct 12, 2024 (update 1): +Oct 13, 2024: + +- Fixed an issue where it took a long time to load the image size when initializing the dataset, especially when the number of images in the dataset was large. - During multi-GPU training, caching of latents and Text Encoder outputs is now done in multi-GPU. -- `--text_encoder_batch_size` option is enabled for FLUX.1 LoRA training and fine tuning. This option specifies the batch size for caching Text Encoder outputs (not for training). The default is same as the dataset batch size. If you have enough VRAM, you can increase the batch size to speed up the caching. + - Please make sure that `--highvram` and `--vae_batch_size` are specified correctly. If you have enough VRAM, you can increase the batch size to speed up the caching. + - `--text_encoder_batch_size` option is enabled for FLUX.1 LoRA training and fine tuning. This option specifies the batch size for caching Text Encoder outputs (not for training). The default is same as the dataset batch size. If you have enough VRAM, you can increase the batch size to speed up the caching. + - Multi-threading is also implemented for caching of latents. This may speed up the caching process about 5% (depends on the environment). + - `tools/cache_latents.py` and `tools/cache_text_encoder_outputs.py` also have been updated to support multi-GPU caching. - `--skip_cache_check` option is added to each training script. - When specified, the consistency check of the cache file `*.npz` contents (e.g., image size and flip for latents, mask for Text Encoder outputs) is skipped. - Specify this option if you have a large number of cache files and the consistency check takes time. From 2500f5a79806fdbe74c43db24a95ee19329a8fcc Mon Sep 17 00:00:00 2001 From: Kohya S Date: Tue, 15 Oct 2024 07:16:34 +0900 Subject: [PATCH 280/748] fix latents caching not working closes #1696 --- fine_tune.py | 2 +- flux_train.py | 2 +- sd3_train.py | 2 +- sdxl_train.py | 2 +- sdxl_train_control_net.py | 2 +- train_db.py | 2 +- train_textual_inversion.py | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/fine_tune.py b/fine_tune.py index cdc005d9a..0b7cc5100 100644 --- a/fine_tune.py +++ b/fine_tune.py @@ -177,7 +177,7 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): vae.requires_grad_(False) vae.eval() - train_dataset_group.new_cache_latents(vae, accelerator.is_main_process) + train_dataset_group.new_cache_latents(vae, accelerator) vae.to("cpu") clean_memory_on_device(accelerator.device) diff --git a/flux_train.py b/flux_train.py index 46a8babdb..91ae3af57 100644 --- a/flux_train.py +++ b/flux_train.py @@ -190,7 +190,7 @@ def train(args): ae.requires_grad_(False) ae.eval() - train_dataset_group.new_cache_latents(ae, accelerator.is_main_process) + train_dataset_group.new_cache_latents(ae, accelerator) ae.to("cpu") # if no sampling, vae can be deleted clean_memory_on_device(accelerator.device) diff --git a/sd3_train.py b/sd3_train.py index 7290956ad..ef18c32c4 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -243,7 +243,7 @@ def train(args): vae.requires_grad_(False) vae.eval() - train_dataset_group.new_cache_latents(vae, accelerator.is_main_process) + train_dataset_group.new_cache_latents(vae, accelerator) vae.to("cpu") # if no sampling, vae can be deleted clean_memory_on_device(accelerator.device) diff --git a/sdxl_train.py b/sdxl_train.py index 9b2d19165..79a2fbb6e 100644 --- a/sdxl_train.py +++ b/sdxl_train.py @@ -272,7 +272,7 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): vae.requires_grad_(False) vae.eval() - train_dataset_group.new_cache_latents(vae, accelerator.is_main_process) + train_dataset_group.new_cache_latents(vae, accelerator) vae.to("cpu") clean_memory_on_device(accelerator.device) diff --git a/sdxl_train_control_net.py b/sdxl_train_control_net.py index 74b3a64a4..24080afbd 100644 --- a/sdxl_train_control_net.py +++ b/sdxl_train_control_net.py @@ -209,7 +209,7 @@ def unwrap_model(model): vae.requires_grad_(False) vae.eval() - train_dataset_group.new_cache_latents(vae, accelerator.is_main_process) + train_dataset_group.new_cache_latents(vae, accelerator) vae.to("cpu") clean_memory_on_device(accelerator.device) diff --git a/train_db.py b/train_db.py index 683b42332..4a58e27b0 100644 --- a/train_db.py +++ b/train_db.py @@ -156,7 +156,7 @@ def train(args): vae.requires_grad_(False) vae.eval() - train_dataset_group.new_cache_latents(vae, accelerator.is_main_process) + train_dataset_group.new_cache_latents(vae, accelerator) vae.to("cpu") clean_memory_on_device(accelerator.device) diff --git a/train_textual_inversion.py b/train_textual_inversion.py index 4d8a3abbf..77b5d717a 100644 --- a/train_textual_inversion.py +++ b/train_textual_inversion.py @@ -378,7 +378,7 @@ def train(self, args): vae.requires_grad_(False) vae.eval() - train_dataset_group.new_cache_latents(vae, accelerator.is_main_process) + train_dataset_group.new_cache_latents(vae, accelerator) clean_memory_on_device(accelerator.device) accelerator.wait_for_everyone() From 3cc5b8db99c66b9e205c4fd4a5f969090c51ef58 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Fri, 18 Oct 2024 20:57:13 +0900 Subject: [PATCH 281/748] Diff Output Preserv loss for SDXL --- library/config_util.py | 17 +++++++---------- library/train_util.py | 17 ++++++++++++++++- sdxl_train_network.py | 20 +++++++++++++++++++- train_network.py | 35 +++++++++++++++++++++++++---------- 4 files changed, 67 insertions(+), 22 deletions(-) diff --git a/library/config_util.py b/library/config_util.py index f8cdfe60a..fc1fbf46d 100644 --- a/library/config_util.py +++ b/library/config_util.py @@ -10,13 +10,7 @@ from pathlib import Path # from toolz import curry -from typing import ( - List, - Optional, - Sequence, - Tuple, - Union, -) +from typing import Dict, List, Optional, Sequence, Tuple, Union import toml import voluptuous @@ -78,6 +72,7 @@ class BaseSubsetParams: caption_tag_dropout_rate: float = 0.0 token_warmup_min: int = 1 token_warmup_step: float = 0 + custom_attributes: Optional[Dict[str, Any]] = None @dataclass @@ -197,6 +192,7 @@ def __validate_and_convert_scalar_or_twodim(klass, value: Union[float, Sequence] "token_warmup_step": Any(float, int), "caption_prefix": str, "caption_suffix": str, + "custom_attributes": dict, } # DO means DropOut DO_SUBSET_ASCENDABLE_SCHEMA = { @@ -538,9 +534,10 @@ def generate_dataset_group_by_blueprint(dataset_group_blueprint: DatasetGroupBlu flip_aug: {subset.flip_aug} face_crop_aug_range: {subset.face_crop_aug_range} random_crop: {subset.random_crop} - token_warmup_min: {subset.token_warmup_min}, - token_warmup_step: {subset.token_warmup_step}, - alpha_mask: {subset.alpha_mask}, + token_warmup_min: {subset.token_warmup_min} + token_warmup_step: {subset.token_warmup_step} + alpha_mask: {subset.alpha_mask} + custom_attributes: {subset.custom_attributes} """ ), " ", diff --git a/library/train_util.py b/library/train_util.py index 4a446e81c..7d3fce5b2 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -396,6 +396,7 @@ def __init__( caption_suffix: Optional[str], token_warmup_min: int, token_warmup_step: Union[float, int], + custom_attributes: Optional[Dict[str, Any]] = None, ) -> None: self.image_dir = image_dir self.alpha_mask = alpha_mask if alpha_mask is not None else False @@ -419,6 +420,8 @@ def __init__( self.token_warmup_min = token_warmup_min # step=0におけるタグの数 self.token_warmup_step = token_warmup_step # N(N<1ならN*max_train_steps)ステップ目でタグの数が最大になる + self.custom_attributes = custom_attributes if custom_attributes is not None else {} + self.img_count = 0 @@ -449,6 +452,7 @@ def __init__( caption_suffix, token_warmup_min, token_warmup_step, + custom_attributes: Optional[Dict[str, Any]] = None, ) -> None: assert image_dir is not None, "image_dir must be specified / image_dirは指定が必須です" @@ -473,6 +477,7 @@ def __init__( caption_suffix, token_warmup_min, token_warmup_step, + custom_attributes=custom_attributes, ) self.is_reg = is_reg @@ -512,6 +517,7 @@ def __init__( caption_suffix, token_warmup_min, token_warmup_step, + custom_attributes: Optional[Dict[str, Any]] = None, ) -> None: assert metadata_file is not None, "metadata_file must be specified / metadata_fileは指定が必須です" @@ -536,6 +542,7 @@ def __init__( caption_suffix, token_warmup_min, token_warmup_step, + custom_attributes=custom_attributes, ) self.metadata_file = metadata_file @@ -1474,11 +1481,14 @@ def __getitem__(self, index): target_sizes_hw = [] flippeds = [] # 変数名が微妙 text_encoder_outputs_list = [] + custom_attributes = [] for image_key in bucket[image_index : image_index + bucket_batch_size]: image_info = self.image_data[image_key] subset = self.image_to_subset[image_key] + custom_attributes.append(subset.custom_attributes) + # in case of fine tuning, is_reg is always False loss_weights.append(self.prior_loss_weight if image_info.is_reg else 1.0) @@ -1646,7 +1656,9 @@ def none_or_stack_elements(tensors_list, converter): return None return [torch.stack([converter(x[i]) for x in tensors_list]) for i in range(len(tensors_list[0]))] + # set example example = {} + example["custom_attributes"] = custom_attributes # may be list of empty dict example["loss_weights"] = torch.FloatTensor(loss_weights) example["text_encoder_outputs_list"] = none_or_stack_elements(text_encoder_outputs_list, torch.FloatTensor) example["input_ids_list"] = none_or_stack_elements(input_ids_list, lambda x: x) @@ -2630,7 +2642,9 @@ def debug_dataset(train_dataset, show_input_ids=False): f'{ik}, size: {train_dataset.image_data[ik].image_size}, loss weight: {lw}, caption: "{cap}", original size: {orgsz}, crop top left: {crptl}, target size: {trgsz}, flipped: {flpdz}' ) if "network_multipliers" in example: - print(f"network multiplier: {example['network_multipliers'][j]}") + logger.info(f"network multiplier: {example['network_multipliers'][j]}") + if "custom_attributes" in example: + logger.info(f"custom attributes: {example['custom_attributes'][j]}") # if show_input_ids: # logger.info(f"input ids: {iid}") @@ -4091,6 +4105,7 @@ def enable_high_vram(args: argparse.Namespace): global HIGH_VRAM HIGH_VRAM = True + def verify_training_args(args: argparse.Namespace): r""" Verify training arguments. Also reflect highvram option to global variable diff --git a/sdxl_train_network.py b/sdxl_train_network.py index 4a16a4891..d45df6e05 100644 --- a/sdxl_train_network.py +++ b/sdxl_train_network.py @@ -1,4 +1,5 @@ import argparse +from typing import List, Optional import torch from accelerate import Accelerator @@ -172,7 +173,18 @@ def get_text_cond(self, args, accelerator, batch, tokenizers, text_encoders, wei return encoder_hidden_states1, encoder_hidden_states2, pool2 - def call_unet(self, args, accelerator, unet, noisy_latents, timesteps, text_conds, batch, weight_dtype): + def call_unet( + self, + args, + accelerator, + unet, + noisy_latents, + timesteps, + text_conds, + batch, + weight_dtype, + indices: Optional[List[int]] = None, + ): noisy_latents = noisy_latents.to(weight_dtype) # TODO check why noisy_latents is not weight_dtype # get size embeddings @@ -186,6 +198,12 @@ def call_unet(self, args, accelerator, unet, noisy_latents, timesteps, text_cond vector_embedding = torch.cat([pool2, embs], dim=1).to(weight_dtype) text_embedding = torch.cat([encoder_hidden_states1, encoder_hidden_states2], dim=2).to(weight_dtype) + if indices is not None and len(indices) > 0: + noisy_latents = noisy_latents[indices] + timesteps = timesteps[indices] + text_embedding = text_embedding[indices] + vector_embedding = vector_embedding[indices] + noise_pred = unet(noisy_latents, timesteps, text_embedding, vector_embedding) return noise_pred diff --git a/train_network.py b/train_network.py index d5330aef4..ef766737d 100644 --- a/train_network.py +++ b/train_network.py @@ -143,7 +143,7 @@ def cache_text_encoder_outputs_if_needed(self, args, accelerator, unet, vae, tex for t_enc in text_encoders: t_enc.to(accelerator.device, dtype=weight_dtype) - def call_unet(self, args, accelerator, unet, noisy_latents, timesteps, text_conds, batch, weight_dtype): + def call_unet(self, args, accelerator, unet, noisy_latents, timesteps, text_conds, batch, weight_dtype, **kwargs): noise_pred = unet(noisy_latents, timesteps, text_conds[0]).sample return noise_pred @@ -218,6 +218,30 @@ def get_noise_pred_and_target( else: target = noise + # differential output preservation + if "custom_attributes" in batch: + diff_output_pr_indices = [] + for i, custom_attributes in enumerate(batch["custom_attributes"]): + if "diff_output_preservation" in custom_attributes and custom_attributes["diff_output_preservation"]: + diff_output_pr_indices.append(i) + + if len(diff_output_pr_indices) > 0: + network.set_multiplier(0.0) + with torch.no_grad(), accelerator.autocast(): + noise_pred_prior = self.call_unet( + args, + accelerator, + unet, + noisy_latents, + timesteps, + text_encoder_conds, + batch, + weight_dtype, + indices=diff_output_pr_indices, + ) + network.set_multiplier(1.0) # may be overwritten by "network_multipliers" in the next step + target[diff_output_pr_indices] = noise_pred_prior.to(target.dtype) + return noise_pred, target, timesteps, huber_c, None def post_process_loss(self, loss, args, timesteps, noise_scheduler): @@ -1123,15 +1147,6 @@ def remove_model(old_ckpt_name): with torch.set_grad_enabled(train_text_encoder), accelerator.autocast(): # Get the text embedding for conditioning if args.weighted_captions: - # # SD only - # encoded_text_encoder_conds = get_weighted_text_embeddings( - # tokenizers[0], - # text_encoder, - # batch["captions"], - # accelerator.device, - # args.max_token_length // 75 if args.max_token_length else 1, - # clip_skip=args.clip_skip, - # ) input_ids_list, weights_list = tokenize_strategy.tokenize_with_weights(batch["captions"]) encoded_text_encoder_conds = text_encoding_strategy.encode_tokens_with_weights( tokenize_strategy, From d8d7142665a8f6b2d43827c9b3a6a2de009c09cb Mon Sep 17 00:00:00 2001 From: Kohya S Date: Fri, 18 Oct 2024 23:16:30 +0900 Subject: [PATCH 282/748] fix to work caching latents #1696 --- sdxl_train_control_net_lllite.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdxl_train_control_net_lllite.py b/sdxl_train_control_net_lllite.py index 14ff7c240..913b1d435 100644 --- a/sdxl_train_control_net_lllite.py +++ b/sdxl_train_control_net_lllite.py @@ -181,7 +181,7 @@ def train(args): vae.requires_grad_(False) vae.eval() - train_dataset_group.new_cache_latents(vae, accelerator.is_main_process) + train_dataset_group.new_cache_latents(vae, accelerator) vae.to("cpu") clean_memory_on_device(accelerator.device) From ef70aa7b42b5c923cc1a8594b2f30487a2b4f700 Mon Sep 17 00:00:00 2001 From: kohya-ss Date: Fri, 18 Oct 2024 23:39:48 +0900 Subject: [PATCH 283/748] add FLUX.1 support --- README.md | 19 +++++++ flux_train_network.py | 123 ++++++++++++++++++++++++++++-------------- 2 files changed, 103 insertions(+), 39 deletions(-) diff --git a/README.md b/README.md index 7fae50d1a..59f70ebcd 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,25 @@ The command to install PyTorch is as follows: ### Recent Updates +Oct 19, 2024: + +- Added an implementation of Differential Output Preservation (temporary name) for SDXL/FLUX.1 LoRA training. + - A method to make the output of LoRA closer to the output when LoRA is not applied, with captions that do not contain trigger words. + - Define a Dataset subset for the regularization image (`is_reg = true`) with `.toml`. Add `custom_attributes.diff_output_preservation = true`. + - See [dataset configuration](docs/config_README-en.md) for the regularization dataset. + - Specify "number of training images x number of epochs >= number of regularization images x number of epochs". + - Specify a large value for `--prior_loss_weight` option (not dataset config). We recommend 10-1000. + - Set the loss in the training without using the regularization image to be close to the loss in the training using DOP. +``` +[[datasets.subsets]] +image_dir = "path/to/image/dir" +num_repeats = 1 +is_reg = true +custom_attributes.diff_output_preservation = true # Add this +``` + + + Oct 13, 2024: - Fixed an issue where it took a long time to load the image size when initializing the dataset, especially when the number of images in the dataset was large. diff --git a/flux_train_network.py b/flux_train_network.py index aa92fe3ae..8431a6dc9 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -373,33 +373,13 @@ def get_noise_pred_and_target( if not args.apply_t5_attn_mask: t5_attn_mask = None - if not args.split_mode: - # normal forward - with accelerator.autocast(): - # YiYi notes: divide it by 1000 for now because we scale it by 1000 in the transformer model (we should not keep it but I want to keep the inputs same for the model for testing) - model_pred = unet( - img=packed_noisy_model_input, - img_ids=img_ids, - txt=t5_out, - txt_ids=txt_ids, - y=l_pooled, - timesteps=timesteps / 1000, - guidance=guidance_vec, - txt_attention_mask=t5_attn_mask, - ) - else: - # split forward to reduce memory usage - assert network.train_blocks == "single", "train_blocks must be single for split mode" - with accelerator.autocast(): - # move flux lower to cpu, and then move flux upper to gpu - unet.to("cpu") - clean_memory_on_device(accelerator.device) - self.flux_upper.to(accelerator.device) - - # upper model does not require grad - with torch.no_grad(): - intermediate_img, intermediate_txt, vec, pe = self.flux_upper( - img=packed_noisy_model_input, + def call_dit(img, img_ids, t5_out, txt_ids, l_pooled, timesteps, guidance_vec, t5_attn_mask): + if not args.split_mode: + # normal forward + with accelerator.autocast(): + # YiYi notes: divide it by 1000 for now because we scale it by 1000 in the transformer model (we should not keep it but I want to keep the inputs same for the model for testing) + model_pred = unet( + img=img, img_ids=img_ids, txt=t5_out, txt_ids=txt_ids, @@ -408,18 +388,52 @@ def get_noise_pred_and_target( guidance=guidance_vec, txt_attention_mask=t5_attn_mask, ) - - # move flux upper back to cpu, and then move flux lower to gpu - self.flux_upper.to("cpu") - clean_memory_on_device(accelerator.device) - unet.to(accelerator.device) - - # lower model requires grad - intermediate_img.requires_grad_(True) - intermediate_txt.requires_grad_(True) - vec.requires_grad_(True) - pe.requires_grad_(True) - model_pred = unet(img=intermediate_img, txt=intermediate_txt, vec=vec, pe=pe, txt_attention_mask=t5_attn_mask) + else: + # split forward to reduce memory usage + assert network.train_blocks == "single", "train_blocks must be single for split mode" + with accelerator.autocast(): + # move flux lower to cpu, and then move flux upper to gpu + unet.to("cpu") + clean_memory_on_device(accelerator.device) + self.flux_upper.to(accelerator.device) + + # upper model does not require grad + with torch.no_grad(): + intermediate_img, intermediate_txt, vec, pe = self.flux_upper( + img=packed_noisy_model_input, + img_ids=img_ids, + txt=t5_out, + txt_ids=txt_ids, + y=l_pooled, + timesteps=timesteps / 1000, + guidance=guidance_vec, + txt_attention_mask=t5_attn_mask, + ) + + # move flux upper back to cpu, and then move flux lower to gpu + self.flux_upper.to("cpu") + clean_memory_on_device(accelerator.device) + unet.to(accelerator.device) + + # lower model requires grad + intermediate_img.requires_grad_(True) + intermediate_txt.requires_grad_(True) + vec.requires_grad_(True) + pe.requires_grad_(True) + model_pred = unet(img=intermediate_img, txt=intermediate_txt, vec=vec, pe=pe, txt_attention_mask=t5_attn_mask) + + return model_pred + + model_pred = call_dit( + img=packed_noisy_model_input, + img_ids=img_ids, + t5_out=t5_out, + txt_ids=txt_ids, + l_pooled=l_pooled, + timesteps=timesteps, + guidance_vec=guidance_vec, + t5_attn_mask=t5_attn_mask, + ) # unpack latents model_pred = flux_utils.unpack_latents(model_pred, packed_latent_height, packed_latent_width) @@ -430,6 +444,37 @@ def get_noise_pred_and_target( # flow matching loss: this is different from SD3 target = noise - latents + # differential output preservation + if "custom_attributes" in batch: + diff_output_pr_indices = [] + for i, custom_attributes in enumerate(batch["custom_attributes"]): + if "diff_output_preservation" in custom_attributes and custom_attributes["diff_output_preservation"]: + diff_output_pr_indices.append(i) + + if len(diff_output_pr_indices) > 0: + network.set_multiplier(0.0) + with torch.no_grad(), accelerator.autocast(): + model_pred_prior = call_dit( + img=packed_noisy_model_input[diff_output_pr_indices], + img_ids=img_ids[diff_output_pr_indices], + t5_out=t5_out[diff_output_pr_indices], + txt_ids=txt_ids[diff_output_pr_indices], + l_pooled=l_pooled[diff_output_pr_indices], + timesteps=timesteps[diff_output_pr_indices], + guidance_vec=guidance_vec[diff_output_pr_indices] if guidance_vec is not None else None, + t5_attn_mask=t5_attn_mask[diff_output_pr_indices] if t5_attn_mask is not None else None, + ) + network.set_multiplier(1.0) # may be overwritten by "network_multipliers" in the next step + + model_pred_prior = flux_utils.unpack_latents(model_pred_prior, packed_latent_height, packed_latent_width) + model_pred_prior, _ = flux_train_utils.apply_model_prediction_type( + args, + model_pred_prior, + noisy_model_input[diff_output_pr_indices], + sigmas[diff_output_pr_indices] if sigmas is not None else None, + ) + target[diff_output_pr_indices] = model_pred_prior.to(target.dtype) + return model_pred, target, timesteps, None, weighting def post_process_loss(self, loss, args, timesteps, noise_scheduler): From 2c45d979e696fd4412ae1336feaee3bc9b967af4 Mon Sep 17 00:00:00 2001 From: kohya-ss Date: Sat, 19 Oct 2024 19:21:12 +0900 Subject: [PATCH 284/748] update README, remove unnecessary autocast --- README.md | 10 ++++------ flux_train_network.py | 2 +- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 59f70ebcd..32ee38573 100644 --- a/README.md +++ b/README.md @@ -13,13 +13,13 @@ The command to install PyTorch is as follows: Oct 19, 2024: -- Added an implementation of Differential Output Preservation (temporary name) for SDXL/FLUX.1 LoRA training. +- Added an implementation of Differential Output Preservation (temporary name) for SDXL/FLUX.1 LoRA training. SD1/2 is not tested yet. This is an experimental feature. - A method to make the output of LoRA closer to the output when LoRA is not applied, with captions that do not contain trigger words. - Define a Dataset subset for the regularization image (`is_reg = true`) with `.toml`. Add `custom_attributes.diff_output_preservation = true`. - See [dataset configuration](docs/config_README-en.md) for the regularization dataset. - - Specify "number of training images x number of epochs >= number of regularization images x number of epochs". - - Specify a large value for `--prior_loss_weight` option (not dataset config). We recommend 10-1000. - - Set the loss in the training without using the regularization image to be close to the loss in the training using DOP. + - Specify "number of training images x number of repeats >= number of regularization images x number of repeats". + - Specify a large value for `--prior_loss_weight` option (not dataset config). The appropriate value is unknown, but try around 10-100. Note that the default is 1.0. + - You may want to start with 2/3 to 3/4 of the loss value when DOP is not applied. If it is 1/2, DOP may not be working. ``` [[datasets.subsets]] image_dir = "path/to/image/dir" @@ -28,8 +28,6 @@ is_reg = true custom_attributes.diff_output_preservation = true # Add this ``` - - Oct 13, 2024: - Fixed an issue where it took a long time to load the image size when initializing the dataset, especially when the number of images in the dataset was large. diff --git a/flux_train_network.py b/flux_train_network.py index 8431a6dc9..9cc8811b5 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -453,7 +453,7 @@ def call_dit(img, img_ids, t5_out, txt_ids, l_pooled, timesteps, guidance_vec, t if len(diff_output_pr_indices) > 0: network.set_multiplier(0.0) - with torch.no_grad(), accelerator.autocast(): + with torch.no_grad(): model_pred_prior = call_dit( img=packed_noisy_model_input[diff_output_pr_indices], img_ids=img_ids[diff_output_pr_indices], From 7fe8e162cb54ccf259eead1cca0ebdcc4e2b77fe Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 20 Oct 2024 08:45:27 +0900 Subject: [PATCH 285/748] fix to work ControlNetSubset with custom_attributes --- library/train_util.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/library/train_util.py b/library/train_util.py index 7d3fce5b2..462c7a9a2 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -578,6 +578,7 @@ def __init__( caption_suffix, token_warmup_min, token_warmup_step, + custom_attributes: Optional[Dict[str, Any]] = None, ) -> None: assert image_dir is not None, "image_dir must be specified / image_dirは指定が必須です" @@ -602,6 +603,7 @@ def __init__( caption_suffix, token_warmup_min, token_warmup_step, + custom_attributes=custom_attributes, ) self.conditioning_data_dir = conditioning_data_dir From 138dac4aea57716e2f23580305f6e40836a87228 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 20 Oct 2024 09:22:38 +0900 Subject: [PATCH 286/748] update README --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 32ee38573..532c3368f 100644 --- a/README.md +++ b/README.md @@ -18,8 +18,9 @@ Oct 19, 2024: - Define a Dataset subset for the regularization image (`is_reg = true`) with `.toml`. Add `custom_attributes.diff_output_preservation = true`. - See [dataset configuration](docs/config_README-en.md) for the regularization dataset. - Specify "number of training images x number of repeats >= number of regularization images x number of repeats". - - Specify a large value for `--prior_loss_weight` option (not dataset config). The appropriate value is unknown, but try around 10-100. Note that the default is 1.0. - - You may want to start with 2/3 to 3/4 of the loss value when DOP is not applied. If it is 1/2, DOP may not be working. + - The weights of DOP is specified by `--prior_loss_weight` option (not dataset config). + - The appropriate value is still unknown. For FLUX, according to the comments in the [PR](https://github.com/kohya-ss/sd-scripts/pull/1710), the value may be 1 (thanks to dxqbYD!). For SDXL, a larger value may be needed (10-100 may be good starting points). + - It may be good to adjust the value so that the loss is about half to three-quarters of the loss when DOP is not applied. ``` [[datasets.subsets]] image_dir = "path/to/image/dir" @@ -28,6 +29,7 @@ is_reg = true custom_attributes.diff_output_preservation = true # Add this ``` + Oct 13, 2024: - Fixed an issue where it took a long time to load the image size when initializing the dataset, especially when the number of images in the dataset was large. From 8fc30f820595f80ec3f09738cc4cf01f441c41b7 Mon Sep 17 00:00:00 2001 From: catboxanon <122327233+catboxanon@users.noreply.github.com> Date: Mon, 21 Oct 2024 07:34:33 -0400 Subject: [PATCH 287/748] Fix training for V-pred and ztSNR 1) Updates debiased estimation loss function for V-pred. 2) Prevents now-deprecated scaling of loss if ztSNR is enabled. --- fine_tune.py | 4 ++-- library/custom_train_functions.py | 7 +++++-- library/train_util.py | 5 +++++ sdxl_train.py | 4 ++-- sdxl_train_control_net_lllite.py | 4 ++-- sdxl_train_control_net_lllite_old.py | 4 ++-- train_db.py | 4 ++-- train_network.py | 4 ++-- train_textual_inversion.py | 4 ++-- train_textual_inversion_XTI.py | 4 ++-- 10 files changed, 26 insertions(+), 18 deletions(-) diff --git a/fine_tune.py b/fine_tune.py index b556672d2..19a35229f 100644 --- a/fine_tune.py +++ b/fine_tune.py @@ -383,10 +383,10 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): if args.min_snr_gamma: loss = apply_snr_weight(loss, timesteps, noise_scheduler, args.min_snr_gamma, args.v_parameterization) - if args.scale_v_pred_loss_like_noise_pred: + if args.scale_v_pred_loss_like_noise_pred and not args.zero_terminal_snr: loss = scale_v_prediction_loss_like_noise_prediction(loss, timesteps, noise_scheduler) if args.debiased_estimation_loss: - loss = apply_debiased_estimation(loss, timesteps, noise_scheduler) + loss = apply_debiased_estimation(loss, timesteps, noise_scheduler, args.v_parameterization) loss = loss.mean() # mean over batch dimension else: diff --git a/library/custom_train_functions.py b/library/custom_train_functions.py index 2a513dc5b..faf443048 100644 --- a/library/custom_train_functions.py +++ b/library/custom_train_functions.py @@ -96,10 +96,13 @@ def add_v_prediction_like_loss(loss, timesteps, noise_scheduler, v_pred_like_los return loss -def apply_debiased_estimation(loss, timesteps, noise_scheduler): +def apply_debiased_estimation(loss, timesteps, noise_scheduler, v_prediction=False): snr_t = torch.stack([noise_scheduler.all_snr[t] for t in timesteps]) # batch_size snr_t = torch.minimum(snr_t, torch.ones_like(snr_t) * 1000) # if timestep is 0, snr_t is inf, so limit it to 1000 - weight = 1 / torch.sqrt(snr_t) + if v_prediction: + weight = 1 / (snr_t + 1) + else: + weight = 1 / torch.sqrt(snr_t) loss = weight * loss return loss diff --git a/library/train_util.py b/library/train_util.py index 27910dc90..adb983d2f 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -3731,6 +3731,11 @@ def verify_training_args(args: argparse.Namespace): raise ValueError( "scale_v_pred_loss_like_noise_pred can be enabled only with v_parameterization / scale_v_pred_loss_like_noise_predはv_parameterizationが有効なときのみ有効にできます" ) + + if args.scale_v_pred_loss_like_noise_pred and args.zero_terminal_snr: + raise ValueError( + "zero_terminal_snr enabled. scale_v_pred_loss_like_noise_pred will not be used / zero_terminal_snrが有効です。scale_v_pred_loss_like_noise_predは使用されません" + ) if args.v_pred_like_loss and args.v_parameterization: raise ValueError( diff --git a/sdxl_train.py b/sdxl_train.py index e0a8f2b2e..44ee9233f 100644 --- a/sdxl_train.py +++ b/sdxl_train.py @@ -725,12 +725,12 @@ def optimizer_hook(parameter: torch.Tensor): if args.min_snr_gamma: loss = apply_snr_weight(loss, timesteps, noise_scheduler, args.min_snr_gamma, args.v_parameterization) - if args.scale_v_pred_loss_like_noise_pred: + if args.scale_v_pred_loss_like_noise_pred and not args.zero_terminal_snr: loss = scale_v_prediction_loss_like_noise_prediction(loss, timesteps, noise_scheduler) if args.v_pred_like_loss: loss = add_v_prediction_like_loss(loss, timesteps, noise_scheduler, args.v_pred_like_loss) if args.debiased_estimation_loss: - loss = apply_debiased_estimation(loss, timesteps, noise_scheduler) + loss = apply_debiased_estimation(loss, timesteps, noise_scheduler, args.v_parameterization) loss = loss.mean() # mean over batch dimension else: diff --git a/sdxl_train_control_net_lllite.py b/sdxl_train_control_net_lllite.py index 5ff060a9f..436f0e194 100644 --- a/sdxl_train_control_net_lllite.py +++ b/sdxl_train_control_net_lllite.py @@ -474,12 +474,12 @@ def remove_model(old_ckpt_name): if args.min_snr_gamma: loss = apply_snr_weight(loss, timesteps, noise_scheduler, args.min_snr_gamma, args.v_parameterization) - if args.scale_v_pred_loss_like_noise_pred: + if args.scale_v_pred_loss_like_noise_pred and not args.zero_terminal_snr: loss = scale_v_prediction_loss_like_noise_prediction(loss, timesteps, noise_scheduler) if args.v_pred_like_loss: loss = add_v_prediction_like_loss(loss, timesteps, noise_scheduler, args.v_pred_like_loss) if args.debiased_estimation_loss: - loss = apply_debiased_estimation(loss, timesteps, noise_scheduler) + loss = apply_debiased_estimation(loss, timesteps, noise_scheduler, args.v_parameterization) loss = loss.mean() # 平均なのでbatch_sizeで割る必要なし diff --git a/sdxl_train_control_net_lllite_old.py b/sdxl_train_control_net_lllite_old.py index 292a0463a..8fba9eba6 100644 --- a/sdxl_train_control_net_lllite_old.py +++ b/sdxl_train_control_net_lllite_old.py @@ -434,12 +434,12 @@ def remove_model(old_ckpt_name): if args.min_snr_gamma: loss = apply_snr_weight(loss, timesteps, noise_scheduler, args.min_snr_gamma, args.v_parameterization) - if args.scale_v_pred_loss_like_noise_pred: + if args.scale_v_pred_loss_like_noise_pred and not args.zero_terminal_snr: loss = scale_v_prediction_loss_like_noise_prediction(loss, timesteps, noise_scheduler) if args.v_pred_like_loss: loss = add_v_prediction_like_loss(loss, timesteps, noise_scheduler, args.v_pred_like_loss) if args.debiased_estimation_loss: - loss = apply_debiased_estimation(loss, timesteps, noise_scheduler) + loss = apply_debiased_estimation(loss, timesteps, noise_scheduler, args.v_parameterization) loss = loss.mean() # 平均なのでbatch_sizeで割る必要なし diff --git a/train_db.py b/train_db.py index 2c7f02582..d5a94a565 100644 --- a/train_db.py +++ b/train_db.py @@ -370,10 +370,10 @@ def train(args): if args.min_snr_gamma: loss = apply_snr_weight(loss, timesteps, noise_scheduler, args.min_snr_gamma, args.v_parameterization) - if args.scale_v_pred_loss_like_noise_pred: + if args.scale_v_pred_loss_like_noise_pred and not args.zero_terminal_snr: loss = scale_v_prediction_loss_like_noise_prediction(loss, timesteps, noise_scheduler) if args.debiased_estimation_loss: - loss = apply_debiased_estimation(loss, timesteps, noise_scheduler) + loss = apply_debiased_estimation(loss, timesteps, noise_scheduler, args.v_parameterization) loss = loss.mean() # 平均なのでbatch_sizeで割る必要なし diff --git a/train_network.py b/train_network.py index 044ec3aa8..790fbfc9d 100644 --- a/train_network.py +++ b/train_network.py @@ -993,12 +993,12 @@ def remove_model(old_ckpt_name): if args.min_snr_gamma: loss = apply_snr_weight(loss, timesteps, noise_scheduler, args.min_snr_gamma, args.v_parameterization) - if args.scale_v_pred_loss_like_noise_pred: + if args.scale_v_pred_loss_like_noise_pred and not args.zero_terminal_snr: loss = scale_v_prediction_loss_like_noise_prediction(loss, timesteps, noise_scheduler) if args.v_pred_like_loss: loss = add_v_prediction_like_loss(loss, timesteps, noise_scheduler, args.v_pred_like_loss) if args.debiased_estimation_loss: - loss = apply_debiased_estimation(loss, timesteps, noise_scheduler) + loss = apply_debiased_estimation(loss, timesteps, noise_scheduler, args.v_parameterization) loss = loss.mean() # 平均なのでbatch_sizeで割る必要なし diff --git a/train_textual_inversion.py b/train_textual_inversion.py index 96e7bd509..10b34db5e 100644 --- a/train_textual_inversion.py +++ b/train_textual_inversion.py @@ -598,12 +598,12 @@ def remove_model(old_ckpt_name): if args.min_snr_gamma: loss = apply_snr_weight(loss, timesteps, noise_scheduler, args.min_snr_gamma, args.v_parameterization) - if args.scale_v_pred_loss_like_noise_pred: + if args.scale_v_pred_loss_like_noise_pred and not args.zero_terminal_snr: loss = scale_v_prediction_loss_like_noise_prediction(loss, timesteps, noise_scheduler) if args.v_pred_like_loss: loss = add_v_prediction_like_loss(loss, timesteps, noise_scheduler, args.v_pred_like_loss) if args.debiased_estimation_loss: - loss = apply_debiased_estimation(loss, timesteps, noise_scheduler) + loss = apply_debiased_estimation(loss, timesteps, noise_scheduler, args.v_parameterization) loss = loss.mean() # 平均なのでbatch_sizeで割る必要なし diff --git a/train_textual_inversion_XTI.py b/train_textual_inversion_XTI.py index efb59137b..084b90c60 100644 --- a/train_textual_inversion_XTI.py +++ b/train_textual_inversion_XTI.py @@ -483,10 +483,10 @@ def remove_model(old_ckpt_name): loss = loss * loss_weights if args.min_snr_gamma: loss = apply_snr_weight(loss, timesteps, noise_scheduler, args.min_snr_gamma, args.v_parameterization) - if args.scale_v_pred_loss_like_noise_pred: + if args.scale_v_pred_loss_like_noise_pred and not args.zero_terminal_snr: loss = scale_v_prediction_loss_like_noise_prediction(loss, timesteps, noise_scheduler) if args.debiased_estimation_loss: - loss = apply_debiased_estimation(loss, timesteps, noise_scheduler) + loss = apply_debiased_estimation(loss, timesteps, noise_scheduler, args.v_parameterization) loss = loss.mean() # 平均なのでbatch_sizeで割る必要なし From e1b63c2249345e4f14c10cbb252da68157ac13b7 Mon Sep 17 00:00:00 2001 From: catboxanon <122327233+catboxanon@users.noreply.github.com> Date: Mon, 21 Oct 2024 08:12:53 -0400 Subject: [PATCH 288/748] Only add warning for deprecated scaling vpred loss function --- fine_tune.py | 2 +- library/train_util.py | 11 ++++++----- sdxl_train.py | 2 +- sdxl_train_control_net_lllite.py | 2 +- sdxl_train_control_net_lllite_old.py | 2 +- train_db.py | 2 +- train_network.py | 2 +- train_textual_inversion.py | 2 +- train_textual_inversion_XTI.py | 2 +- 9 files changed, 14 insertions(+), 13 deletions(-) diff --git a/fine_tune.py b/fine_tune.py index 19a35229f..c79f97d25 100644 --- a/fine_tune.py +++ b/fine_tune.py @@ -383,7 +383,7 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): if args.min_snr_gamma: loss = apply_snr_weight(loss, timesteps, noise_scheduler, args.min_snr_gamma, args.v_parameterization) - if args.scale_v_pred_loss_like_noise_pred and not args.zero_terminal_snr: + if args.scale_v_pred_loss_like_noise_pred: loss = scale_v_prediction_loss_like_noise_prediction(loss, timesteps, noise_scheduler) if args.debiased_estimation_loss: loss = apply_debiased_estimation(loss, timesteps, noise_scheduler, args.v_parameterization) diff --git a/library/train_util.py b/library/train_util.py index adb983d2f..f479dcc64 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -3727,15 +3727,16 @@ def verify_training_args(args: argparse.Namespace): if args.adaptive_noise_scale is not None and args.noise_offset is None: raise ValueError("adaptive_noise_scale requires noise_offset / adaptive_noise_scaleを使用するにはnoise_offsetが必要です") + if args.scale_v_pred_loss_like_noise_pred: + logger.warning( + f"scale_v_pred_loss_like_noise_pred is deprecated. it is suggested to use min_snr_gamma or debiased_estimation_loss" + + " / scale_v_pred_loss_like_noise_pred は非推奨です。min_snr_gammaまたはdebiased_estimation_lossを使用することをお勧めします" + ) + if args.scale_v_pred_loss_like_noise_pred and not args.v_parameterization: raise ValueError( "scale_v_pred_loss_like_noise_pred can be enabled only with v_parameterization / scale_v_pred_loss_like_noise_predはv_parameterizationが有効なときのみ有効にできます" ) - - if args.scale_v_pred_loss_like_noise_pred and args.zero_terminal_snr: - raise ValueError( - "zero_terminal_snr enabled. scale_v_pred_loss_like_noise_pred will not be used / zero_terminal_snrが有効です。scale_v_pred_loss_like_noise_predは使用されません" - ) if args.v_pred_like_loss and args.v_parameterization: raise ValueError( diff --git a/sdxl_train.py b/sdxl_train.py index 44ee9233f..b533b2749 100644 --- a/sdxl_train.py +++ b/sdxl_train.py @@ -725,7 +725,7 @@ def optimizer_hook(parameter: torch.Tensor): if args.min_snr_gamma: loss = apply_snr_weight(loss, timesteps, noise_scheduler, args.min_snr_gamma, args.v_parameterization) - if args.scale_v_pred_loss_like_noise_pred and not args.zero_terminal_snr: + if args.scale_v_pred_loss_like_noise_pred: loss = scale_v_prediction_loss_like_noise_prediction(loss, timesteps, noise_scheduler) if args.v_pred_like_loss: loss = add_v_prediction_like_loss(loss, timesteps, noise_scheduler, args.v_pred_like_loss) diff --git a/sdxl_train_control_net_lllite.py b/sdxl_train_control_net_lllite.py index 436f0e194..0e67cde5c 100644 --- a/sdxl_train_control_net_lllite.py +++ b/sdxl_train_control_net_lllite.py @@ -474,7 +474,7 @@ def remove_model(old_ckpt_name): if args.min_snr_gamma: loss = apply_snr_weight(loss, timesteps, noise_scheduler, args.min_snr_gamma, args.v_parameterization) - if args.scale_v_pred_loss_like_noise_pred and not args.zero_terminal_snr: + if args.scale_v_pred_loss_like_noise_pred: loss = scale_v_prediction_loss_like_noise_prediction(loss, timesteps, noise_scheduler) if args.v_pred_like_loss: loss = add_v_prediction_like_loss(loss, timesteps, noise_scheduler, args.v_pred_like_loss) diff --git a/sdxl_train_control_net_lllite_old.py b/sdxl_train_control_net_lllite_old.py index 8fba9eba6..4a01f9e2c 100644 --- a/sdxl_train_control_net_lllite_old.py +++ b/sdxl_train_control_net_lllite_old.py @@ -434,7 +434,7 @@ def remove_model(old_ckpt_name): if args.min_snr_gamma: loss = apply_snr_weight(loss, timesteps, noise_scheduler, args.min_snr_gamma, args.v_parameterization) - if args.scale_v_pred_loss_like_noise_pred and not args.zero_terminal_snr: + if args.scale_v_pred_loss_like_noise_pred: loss = scale_v_prediction_loss_like_noise_prediction(loss, timesteps, noise_scheduler) if args.v_pred_like_loss: loss = add_v_prediction_like_loss(loss, timesteps, noise_scheduler, args.v_pred_like_loss) diff --git a/train_db.py b/train_db.py index d5a94a565..e7cf3cde3 100644 --- a/train_db.py +++ b/train_db.py @@ -370,7 +370,7 @@ def train(args): if args.min_snr_gamma: loss = apply_snr_weight(loss, timesteps, noise_scheduler, args.min_snr_gamma, args.v_parameterization) - if args.scale_v_pred_loss_like_noise_pred and not args.zero_terminal_snr: + if args.scale_v_pred_loss_like_noise_pred: loss = scale_v_prediction_loss_like_noise_prediction(loss, timesteps, noise_scheduler) if args.debiased_estimation_loss: loss = apply_debiased_estimation(loss, timesteps, noise_scheduler, args.v_parameterization) diff --git a/train_network.py b/train_network.py index 790fbfc9d..7bf125dca 100644 --- a/train_network.py +++ b/train_network.py @@ -993,7 +993,7 @@ def remove_model(old_ckpt_name): if args.min_snr_gamma: loss = apply_snr_weight(loss, timesteps, noise_scheduler, args.min_snr_gamma, args.v_parameterization) - if args.scale_v_pred_loss_like_noise_pred and not args.zero_terminal_snr: + if args.scale_v_pred_loss_like_noise_pred: loss = scale_v_prediction_loss_like_noise_prediction(loss, timesteps, noise_scheduler) if args.v_pred_like_loss: loss = add_v_prediction_like_loss(loss, timesteps, noise_scheduler, args.v_pred_like_loss) diff --git a/train_textual_inversion.py b/train_textual_inversion.py index 10b34db5e..37349da7d 100644 --- a/train_textual_inversion.py +++ b/train_textual_inversion.py @@ -598,7 +598,7 @@ def remove_model(old_ckpt_name): if args.min_snr_gamma: loss = apply_snr_weight(loss, timesteps, noise_scheduler, args.min_snr_gamma, args.v_parameterization) - if args.scale_v_pred_loss_like_noise_pred and not args.zero_terminal_snr: + if args.scale_v_pred_loss_like_noise_pred: loss = scale_v_prediction_loss_like_noise_prediction(loss, timesteps, noise_scheduler) if args.v_pred_like_loss: loss = add_v_prediction_like_loss(loss, timesteps, noise_scheduler, args.v_pred_like_loss) diff --git a/train_textual_inversion_XTI.py b/train_textual_inversion_XTI.py index 084b90c60..fac0787b9 100644 --- a/train_textual_inversion_XTI.py +++ b/train_textual_inversion_XTI.py @@ -483,7 +483,7 @@ def remove_model(old_ckpt_name): loss = loss * loss_weights if args.min_snr_gamma: loss = apply_snr_weight(loss, timesteps, noise_scheduler, args.min_snr_gamma, args.v_parameterization) - if args.scale_v_pred_loss_like_noise_pred and not args.zero_terminal_snr: + if args.scale_v_pred_loss_like_noise_pred: loss = scale_v_prediction_loss_like_noise_prediction(loss, timesteps, noise_scheduler) if args.debiased_estimation_loss: loss = apply_debiased_estimation(loss, timesteps, noise_scheduler, args.v_parameterization) From 0e7c5929336173e30d7932c0706eaf61a7d396f4 Mon Sep 17 00:00:00 2001 From: catboxanon <122327233+catboxanon@users.noreply.github.com> Date: Tue, 22 Oct 2024 11:19:34 -0400 Subject: [PATCH 289/748] Remove scale_v_pred_loss_like_noise_pred deprecation https://github.com/kohya-ss/sd-scripts/pull/1715#issuecomment-2427876376 --- library/train_util.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index f479dcc64..27910dc90 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -3727,12 +3727,6 @@ def verify_training_args(args: argparse.Namespace): if args.adaptive_noise_scale is not None and args.noise_offset is None: raise ValueError("adaptive_noise_scale requires noise_offset / adaptive_noise_scaleを使用するにはnoise_offsetが必要です") - if args.scale_v_pred_loss_like_noise_pred: - logger.warning( - f"scale_v_pred_loss_like_noise_pred is deprecated. it is suggested to use min_snr_gamma or debiased_estimation_loss" - + " / scale_v_pred_loss_like_noise_pred は非推奨です。min_snr_gammaまたはdebiased_estimation_lossを使用することをお勧めします" - ) - if args.scale_v_pred_loss_like_noise_pred and not args.v_parameterization: raise ValueError( "scale_v_pred_loss_like_noise_pred can be enabled only with v_parameterization / scale_v_pred_loss_like_noise_predはv_parameterizationが有効なときのみ有効にできます" From be14c062674973d0e4fee1eb4527e04707bb72b8 Mon Sep 17 00:00:00 2001 From: catboxanon <122327233+catboxanon@users.noreply.github.com> Date: Tue, 22 Oct 2024 12:13:51 -0400 Subject: [PATCH 290/748] Remove v-pred warnings Different model architectures, such as SDXL, can take advantage of v-pred. It doesn't make sense to include these warnings anymore. --- gen_img.py | 2 -- gen_img_diffusers.py | 2 -- library/train_util.py | 4 ---- 3 files changed, 8 deletions(-) diff --git a/gen_img.py b/gen_img.py index 59bcd5b09..9427a8940 100644 --- a/gen_img.py +++ b/gen_img.py @@ -1495,8 +1495,6 @@ def main(args): highres_fix = args.highres_fix_scale is not None # assert not highres_fix or args.image_path is None, f"highres_fix doesn't work with img2img / highres_fixはimg2imgと同時に使えません" - if args.v_parameterization and not args.v2: - logger.warning("v_parameterization should be with v2 / v1でv_parameterizationを使用することは想定されていません") if args.v2 and args.clip_skip is not None: logger.warning("v2 with clip_skip will be unexpected / v2でclip_skipを使用することは想定されていません") diff --git a/gen_img_diffusers.py b/gen_img_diffusers.py index 2c40f1a06..04db4e9b4 100644 --- a/gen_img_diffusers.py +++ b/gen_img_diffusers.py @@ -2216,8 +2216,6 @@ def main(args): highres_fix = args.highres_fix_scale is not None # assert not highres_fix or args.image_path is None, f"highres_fix doesn't work with img2img / highres_fixはimg2imgと同時に使えません" - if args.v_parameterization and not args.v2: - logger.warning("v_parameterization should be with v2 / v1でv_parameterizationを使用することは想定されていません") if args.v2 and args.clip_skip is not None: logger.warning("v2 with clip_skip will be unexpected / v2でclip_skipを使用することは想定されていません") diff --git a/library/train_util.py b/library/train_util.py index 27910dc90..100ef475d 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -3698,10 +3698,6 @@ def verify_training_args(args: argparse.Namespace): global HIGH_VRAM HIGH_VRAM = True - if args.v_parameterization and not args.v2: - logger.warning( - "v_parameterization should be with v2 not v1 or sdxl / v1やsdxlでv_parameterizationを使用することは想定されていません" - ) if args.v2 and args.clip_skip is not None: logger.warning("v2 with clip_skip will be unexpected / v2でclip_skipを使用することは想定されていません") From 623017f71695bcee18f36f5a1f57514974d9350d Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 24 Oct 2024 19:49:28 +0900 Subject: [PATCH 291/748] refactor SD3 CLIP to transformers etc. --- flux_train.py | 4 +- flux_train_network.py | 2 +- library/flux_train_utils.py | 3 +- library/flux_utils.py | 59 +-- library/sai_model_spec.py | 9 +- library/sd3_models.py | 1000 ++--------------------------------- library/sd3_train_utils.py | 244 +++++---- library/sd3_utils.py | 503 +++++------------- library/strategy_sd3.py | 184 ++++--- library/train_util.py | 31 ++ library/utils.py | 42 +- sd3_minimal_inference.py | 390 +++++++------- sd3_train.py | 738 ++++++++++++++------------ 13 files changed, 1130 insertions(+), 2079 deletions(-) diff --git a/flux_train.py b/flux_train.py index 91ae3af57..79c44d7b4 100644 --- a/flux_train.py +++ b/flux_train.py @@ -29,7 +29,7 @@ from accelerate.utils import set_seed from library import deepspeed_utils, flux_train_utils, flux_utils, strategy_base, strategy_flux -from library.sd3_train_utils import load_prompts, FlowMatchEulerDiscreteScheduler +from library.sd3_train_utils import FlowMatchEulerDiscreteScheduler import library.train_util as train_util @@ -241,7 +241,7 @@ def train(args): text_encoding_strategy: strategy_flux.FluxTextEncodingStrategy = strategy_base.TextEncodingStrategy.get_strategy() - prompts = load_prompts(args.sample_prompts) + prompts = train_util.load_prompts(args.sample_prompts) sample_prompts_te_outputs = {} # key: prompt, value: text encoder outputs with accelerator.autocast(), torch.no_grad(): for prompt_dict in prompts: diff --git a/flux_train_network.py b/flux_train_network.py index 9cc8811b5..cffeb3b19 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -231,7 +231,7 @@ def cache_text_encoder_outputs_if_needed( tokenize_strategy: strategy_flux.FluxTokenizeStrategy = strategy_base.TokenizeStrategy.get_strategy() text_encoding_strategy: strategy_flux.FluxTextEncodingStrategy = strategy_base.TextEncodingStrategy.get_strategy() - prompts = sd3_train_utils.load_prompts(args.sample_prompts) + prompts = train_util.load_prompts(args.sample_prompts) sample_prompts_te_outputs = {} # key: prompt, value: text encoder outputs with accelerator.autocast(), torch.no_grad(): for prompt_dict in prompts: diff --git a/library/flux_train_utils.py b/library/flux_train_utils.py index b3c9184f2..fa673a2f0 100644 --- a/library/flux_train_utils.py +++ b/library/flux_train_utils.py @@ -15,7 +15,6 @@ from safetensors.torch import save_file from library import flux_models, flux_utils, strategy_base, train_util -from library.sd3_train_utils import load_prompts from library.device_utils import init_ipex, clean_memory_on_device init_ipex() @@ -70,7 +69,7 @@ def sample_images( text_encoders = [accelerator.unwrap_model(te) for te in text_encoders] # print([(te.parameters().__next__().device if te is not None else None) for te in text_encoders]) - prompts = load_prompts(args.sample_prompts) + prompts = train_util.load_prompts(args.sample_prompts) save_dir = args.output_dir + "/sample" os.makedirs(save_dir, exist_ok=True) diff --git a/library/flux_utils.py b/library/flux_utils.py index 7a1ec37b8..86a2ec600 100644 --- a/library/flux_utils.py +++ b/library/flux_utils.py @@ -10,40 +10,21 @@ from accelerate import init_empty_weights from transformers import CLIPTextModel, CLIPConfig, T5EncoderModel, T5Config -from library import flux_models - -from library.utils import setup_logging, MemoryEfficientSafeOpen +from library.utils import setup_logging setup_logging() import logging logger = logging.getLogger(__name__) +from library import flux_models +from library.utils import load_safetensors + MODEL_VERSION_FLUX_V1 = "flux1" MODEL_NAME_DEV = "dev" MODEL_NAME_SCHNELL = "schnell" -# temporary copy from sd3_utils TODO refactor -def load_safetensors( - path: str, device: Union[str, torch.device], disable_mmap: bool = False, dtype: Optional[torch.dtype] = torch.float32 -): - if disable_mmap: - # return safetensors.torch.load(open(path, "rb").read()) - # use experimental loader - logger.info(f"Loading without mmap (experimental)") - state_dict = {} - with MemoryEfficientSafeOpen(path) as f: - for key in f.keys(): - state_dict[key] = f.get_tensor(key).to(device, dtype=dtype) - return state_dict - else: - try: - return load_file(path, device=device) - except: - return load_file(path) # prevent device invalid Error - - def analyze_checkpoint_state(ckpt_path: str) -> Tuple[bool, bool, Tuple[int, int], List[str]]: """ チェックポイントの状態を分析し、DiffusersかBFLか、devかschnellか、ブロック数を計算して返す。 @@ -161,8 +142,14 @@ def load_ae( return ae -def load_clip_l(ckpt_path: str, dtype: torch.dtype, device: Union[str, torch.device], disable_mmap: bool = False) -> CLIPTextModel: - logger.info("Building CLIP") +def load_clip_l( + ckpt_path: Optional[str], + dtype: torch.dtype, + device: Union[str, torch.device], + disable_mmap: bool = False, + state_dict: Optional[dict] = None, +) -> CLIPTextModel: + logger.info("Building CLIP-L") CLIPL_CONFIG = { "_name_or_path": "clip-vit-large-patch14/", "architectures": ["CLIPModel"], @@ -255,15 +242,22 @@ def load_clip_l(ckpt_path: str, dtype: torch.dtype, device: Union[str, torch.dev with init_empty_weights(): clip = CLIPTextModel._from_config(config) - logger.info(f"Loading state dict from {ckpt_path}") - sd = load_safetensors(ckpt_path, device=str(device), disable_mmap=disable_mmap, dtype=dtype) + if state_dict is not None: + sd = state_dict + else: + logger.info(f"Loading state dict from {ckpt_path}") + sd = load_safetensors(ckpt_path, device=str(device), disable_mmap=disable_mmap, dtype=dtype) info = clip.load_state_dict(sd, strict=False, assign=True) - logger.info(f"Loaded CLIP: {info}") + logger.info(f"Loaded CLIP-L: {info}") return clip def load_t5xxl( - ckpt_path: str, dtype: Optional[torch.dtype], device: Union[str, torch.device], disable_mmap: bool = False + ckpt_path: str, + dtype: Optional[torch.dtype], + device: Union[str, torch.device], + disable_mmap: bool = False, + state_dict: Optional[dict] = None, ) -> T5EncoderModel: T5_CONFIG_JSON = """ { @@ -303,8 +297,11 @@ def load_t5xxl( with init_empty_weights(): t5xxl = T5EncoderModel._from_config(config) - logger.info(f"Loading state dict from {ckpt_path}") - sd = load_safetensors(ckpt_path, device=str(device), disable_mmap=disable_mmap, dtype=dtype) + if state_dict is not None: + sd = state_dict + else: + logger.info(f"Loading state dict from {ckpt_path}") + sd = load_safetensors(ckpt_path, device=str(device), disable_mmap=disable_mmap, dtype=dtype) info = t5xxl.load_state_dict(sd, strict=False, assign=True) logger.info(f"Loaded T5xxl: {info}") return t5xxl diff --git a/library/sai_model_spec.py b/library/sai_model_spec.py index ad72ec00d..8896c047e 100644 --- a/library/sai_model_spec.py +++ b/library/sai_model_spec.py @@ -57,8 +57,8 @@ ARCH_SD_V2_512 = "stable-diffusion-v2-512" ARCH_SD_V2_768_V = "stable-diffusion-v2-768-v" ARCH_SD_XL_V1_BASE = "stable-diffusion-xl-v1-base" -ARCH_SD3_M = "stable-diffusion-3-medium" -ARCH_SD3_UNKNOWN = "stable-diffusion-3" +ARCH_SD3_M = "stable-diffusion-3" # may be followed by "-m" or "-5-large" etc. +# ARCH_SD3_UNKNOWN = "stable-diffusion-3" ARCH_FLUX_1_DEV = "flux-1-dev" ARCH_FLUX_1_UNKNOWN = "flux-1" @@ -140,10 +140,7 @@ def build_metadata( if sdxl: arch = ARCH_SD_XL_V1_BASE elif sd3 is not None: - if sd3 == "m": - arch = ARCH_SD3_M - else: - arch = ARCH_SD3_UNKNOWN + arch = ARCH_SD3_M + "-" + sd3 elif flux is not None: if flux == "dev": arch = ARCH_FLUX_1_DEV diff --git a/library/sd3_models.py b/library/sd3_models.py index ec704dcba..c81aa4794 100644 --- a/library/sd3_models.py +++ b/library/sd3_models.py @@ -4,6 +4,7 @@ # and some module/classes are contributed from KohakuBlueleaf. Thanks for the contribution! from ast import Tuple +from dataclasses import dataclass from functools import partial import math from types import SimpleNamespace @@ -15,6 +16,7 @@ import torch.nn.functional as F from torch.utils.checkpoint import checkpoint from transformers import CLIPTokenizer, T5TokenizerFast + from .utils import setup_logging setup_logging() @@ -35,139 +37,21 @@ memory_efficient_attention = None -# region tokenizer -class SDTokenizer: - def __init__( - self, max_length=77, pad_with_end=True, tokenizer=None, has_start_token=True, pad_to_max_length=True, min_length=None - ): - """ - サブクラスで各種の設定を行ってる。このクラスはその設定に基づき重み付きのトークン化を行うようだ。 - Some settings are done in subclasses. This class seems to perform tokenization with weights based on those settings. - """ - self.tokenizer: CLIPTokenizer = tokenizer - self.max_length = max_length - self.min_length = min_length - empty = self.tokenizer("")["input_ids"] - if has_start_token: - self.tokens_start = 1 - self.start_token = empty[0] - self.end_token = empty[1] - else: - self.tokens_start = 0 - self.start_token = None - self.end_token = empty[0] - self.pad_with_end = pad_with_end - self.pad_to_max_length = pad_to_max_length - vocab = self.tokenizer.get_vocab() - self.inv_vocab = {v: k for k, v in vocab.items()} - self.max_word_length = 8 - - def tokenize(self, text: Union[str, List[str]]) -> List[torch.Tensor]: - """ - Tokenize the text without weights. - """ - if type(text) == str: - text = [text] - batch_tokens = self.tokenizer(text, padding="max_length", truncation=True, max_length=self.max_length, return_tensors="pt") - # return tokens["input_ids"] - - pad_token = self.end_token if self.pad_with_end else 0 - for tokens in batch_tokens["input_ids"]: - assert tokens[0] == self.start_token, f"tokens[0]: {tokens[0]}, start_token: {self.start_token}" - - def tokenize_with_weights(self, text: str, truncate_to_max_length=True, truncate_length=None): - """Tokenize the text, with weight values - presume 1.0 for all and ignore other features here. - The details aren't relevant for a reference impl, and weights themselves has weak effect on SD3.""" - """ - ja: テキストをトークン化し、重み値を持ちます - すべての値に1.0を仮定し、他の機能を無視します。 - 詳細は参考実装には関係なく、重み自体はSD3に対して弱い影響しかありません。へぇ~ - """ - if self.pad_with_end: - pad_token = self.end_token - else: - pad_token = 0 - batch = [] - if self.start_token is not None: - batch.append((self.start_token, 1.0)) - to_tokenize = text.replace("\n", " ").split(" ") - to_tokenize = [x for x in to_tokenize if x != ""] - for word in to_tokenize: - batch.extend([(t, 1) for t in self.tokenizer(word)["input_ids"][self.tokens_start : -1]]) - batch.append((self.end_token, 1.0)) - print(len(batch), self.max_length, self.min_length) - if self.pad_to_max_length: - batch.extend([(pad_token, 1.0)] * (self.max_length - len(batch))) - if self.min_length is not None and len(batch) < self.min_length: - batch.extend([(pad_token, 1.0)] * (self.min_length - len(batch))) - - # truncate to max_length - print( - f"batch: {batch}, max_length: {self.max_length}, truncate: {truncate_to_max_length}, truncate_length: {truncate_length}" - ) - if truncate_to_max_length and len(batch) > self.max_length: - batch = batch[: self.max_length] - if truncate_length is not None and len(batch) > truncate_length: - batch = batch[:truncate_length] - - return [batch] - - -class T5XXLTokenizer(SDTokenizer): - """Wraps the T5 Tokenizer from HF into the SDTokenizer interface""" - - def __init__(self): - super().__init__( - pad_with_end=False, - tokenizer=T5TokenizerFast.from_pretrained("google/t5-v1_1-xxl"), - has_start_token=False, - pad_to_max_length=False, - max_length=99999999, - min_length=77, - ) - - -class SDXLClipGTokenizer(SDTokenizer): - def __init__(self, tokenizer): - super().__init__(pad_with_end=False, tokenizer=tokenizer) - - -class SD3Tokenizer: - def __init__(self, t5xxl=True, t5xxl_max_length: Optional[int] = 256): - if t5xxl_max_length is None: - t5xxl_max_length = 256 - - # TODO cache tokenizer settings locally or hold them in the repo like ComfyUI - clip_tokenizer = CLIPTokenizer.from_pretrained("openai/clip-vit-large-patch14") - self.clip_l = SDTokenizer(tokenizer=clip_tokenizer) - self.clip_g = SDXLClipGTokenizer(clip_tokenizer) - # self.clip_l = CLIPTokenizer.from_pretrained("openai/clip-vit-large-patch14") - # self.clip_g = CLIPTokenizer.from_pretrained("laion/CLIP-ViT-bigG-14-laion2B-39B-b160k") - self.t5xxl = T5XXLTokenizer() if t5xxl else None - # t5xxl has 99999999 max length, clip has 77 - self.t5xxl_max_length = t5xxl_max_length - - def tokenize_with_weights(self, text: str): - return ( - self.clip_l.tokenize_with_weights(text), - self.clip_g.tokenize_with_weights(text), - ( - self.t5xxl.tokenize_with_weights(text, truncate_to_max_length=False, truncate_length=self.t5xxl_max_length) - if self.t5xxl is not None - else None - ), - ) - - def tokenize(self, text: str): - return ( - self.clip_l.tokenize(text), - self.clip_g.tokenize(text), - (self.t5xxl.tokenize(text) if self.t5xxl is not None else None), - ) - +# region mmdit -# endregion -# region mmdit +@dataclass +class SD3Params: + patch_size: int + depth: int + num_patches: int + pos_embed_max_size: int + adm_in_channels: int + qk_norm: Optional[str] + x_block_self_attn_layers: List[int] + context_embedder_in_features: int + context_embedder_out_features: int + model_type: str def get_2d_sincos_pos_embed( @@ -286,10 +170,6 @@ def timestep_embedding(t, dim, max_period=10000): return embedding -def rmsnorm(x, eps=1e-6): - return x * torch.rsqrt(x.pow(2).mean(-1, keepdim=True) + eps) - - class PatchEmbed(nn.Module): def __init__( self, @@ -301,8 +181,9 @@ def __init__( flatten=True, bias=True, strict_img_size=True, - dynamic_img_pad=True, + dynamic_img_pad=False, ): + # dynamic_img_pad and norm is omitted in SD3.5 super().__init__() self.patch_size = patch_size self.flatten = flatten @@ -432,6 +313,10 @@ def forward(self, x): return self.mlp(x) +def rmsnorm(x, eps=1e-6): + return x * torch.rsqrt(x.pow(2).mean(-1, keepdim=True) + eps) + + class RMSNorm(torch.nn.Module): def __init__( self, @@ -604,53 +489,6 @@ def attention(q, k, v, head_dim, mask=None, scale=None, mode="xformers"): return scores -class SelfAttention(AttentionLinears): - def __init__(self, dim, num_heads=8, mode="xformers"): - super().__init__(dim, num_heads, qkv_bias=True, pre_only=False) - assert mode in MEMORY_LAYOUTS - self.head_dim = dim // num_heads - self.attn_mode = mode - - def set_attn_mode(self, mode): - self.attn_mode = mode - - def forward(self, x): - q, k, v = self.pre_attention(x) - attn_score = attention(q, k, v, self.head_dim, mode=self.attn_mode) - return self.post_attention(attn_score) - - -class TransformerBlock(nn.Module): - def __init__(self, context_size, mode="xformers"): - super().__init__() - self.context_size = context_size - self.norm1 = nn.LayerNorm(context_size, elementwise_affine=False, eps=1e-6) - self.attn = SelfAttention(context_size, mode=mode) - self.norm2 = nn.LayerNorm(context_size, elementwise_affine=False, eps=1e-6) - self.mlp = MLP( - in_features=context_size, - hidden_features=context_size * 4, - act_layer=lambda: nn.GELU(approximate="tanh"), - ) - - def forward(self, x): - x = x + self.attn(self.norm1(x)) - x = x + self.mlp(self.norm2(x)) - return x - - -class Transformer(nn.Module): - def __init__(self, context_size, num_layers, mode="xformers"): - super().__init__() - self.layers = nn.ModuleList([TransformerBlock(context_size, mode) for _ in range(num_layers)]) - self.norm = nn.LayerNorm(context_size, elementwise_affine=False, eps=1e-6) - - def forward(self, x): - for layer in self.layers: - x = layer(x) - return self.norm(x) - - # DismantledBlock in mmdit.py class SingleDiTBlock(nn.Module): """ @@ -823,7 +661,8 @@ def __init__( mlp_ratio: float = 4.0, learn_sigma: bool = False, adm_in_channels: Optional[int] = None, - context_embedder_config: Optional[Dict] = None, + context_embedder_in_features: Optional[int] = None, + context_embedder_out_features: Optional[int] = None, use_checkpoint: bool = False, register_length: int = 0, attn_mode: str = "torch", @@ -837,10 +676,10 @@ def __init__( num_patches=None, qk_norm: Optional[str] = None, qkv_bias: bool = True, - context_processor_layers=None, - context_size=4096, + model_type: str = "sd3m", ): super().__init__() + self._model_type = model_type self.learn_sigma = learn_sigma self.in_channels = in_channels default_out_channels = in_channels * 2 if learn_sigma else in_channels @@ -875,12 +714,11 @@ def __init__( assert isinstance(adm_in_channels, int) self.y_embedder = Embedder(adm_in_channels, self.hidden_size) - if context_processor_layers is not None: - self.context_processor = Transformer(context_size, context_processor_layers, attn_mode) + if context_embedder_in_features is not None: + self.context_embedder = nn.Linear(context_embedder_in_features, context_embedder_out_features) else: - self.context_processor = None + self.context_embedder = nn.Identity() - self.context_embedder = nn.Linear(context_size, self.hidden_size) self.register_length = register_length if self.register_length > 0: self.register = nn.Parameter(torch.randn(1, register_length, self.hidden_size)) @@ -922,7 +760,7 @@ def __init__( @property def model_type(self): - return "m" # only support medium + return self._model_type @property def device(self): @@ -1024,9 +862,6 @@ def forward( y: (N, D) tensor of class labels """ - if self.context_processor is not None: - context = self.context_processor(context) - B, C, H, W = x.shape x = self.x_embedder(x) + self.cropped_pos_embed(H, W, device=x.device).to(dtype=x.dtype) c = self.t_embedder(t, dtype=x.dtype) # (N, D) @@ -1052,22 +887,21 @@ def forward( return x[:, :, :H, :W] -def create_mmdit_sd3_medium_configs(attn_mode: str): - # {'patch_size': 2, 'depth': 24, 'num_patches': 36864, - # 'pos_embed_max_size': 192, 'adm_in_channels': 2048, 'context_embedder': - # {'target': 'torch.nn.Linear', 'params': {'in_features': 4096, 'out_features': 1536}}} +def create_sd3_mmdit(params: SD3Params, attn_mode: str = "torch") -> MMDiT: mmdit = MMDiT( input_size=None, - pos_embed_max_size=192, - patch_size=2, + pos_embed_max_size=params.pos_embed_max_size, + patch_size=params.patch_size, in_channels=16, - adm_in_channels=2048, - depth=24, + adm_in_channels=params.adm_in_channels, + context_embedder_in_features=params.context_embedder_in_features, + context_embedder_out_features=params.context_embedder_out_features, + depth=params.depth, mlp_ratio=4, - qk_norm=None, - num_patches=36864, - context_size=4096, + qk_norm=params.qk_norm, + num_patches=params.num_patches, attn_mode=attn_mode, + model_type=params.model_type, ) return mmdit @@ -1075,7 +909,6 @@ def create_mmdit_sd3_medium_configs(attn_mode: str): # endregion # region VAE -# TODO support xformers VAE_SCALE_FACTOR = 1.5305 VAE_SHIFT_FACTOR = 0.0609 @@ -1322,759 +1155,4 @@ def process_out(latent): return (latent / VAE_SCALE_FACTOR) + VAE_SHIFT_FACTOR -class VAEOutput: - def __init__(self, latent): - self.latent = latent - - @property - def latent_dist(self): - return self - - def sample(self): - return self.latent - - -class VAEWrapper: - def __init__(self, vae): - self.vae = vae - - @property - def device(self): - return self.vae.device - - @property - def dtype(self): - return self.vae.dtype - - # latents = vae.encode(img_tensors).latent_dist.sample().to("cpu") - def encode(self, image): - return VAEOutput(self.vae.encode(image)) - - -# endregion - - -# region Text Encoder -class CLIPAttention(torch.nn.Module): - def __init__(self, embed_dim, heads, dtype, device, mode="xformers"): - super().__init__() - self.heads = heads - self.q_proj = nn.Linear(embed_dim, embed_dim, bias=True, dtype=dtype, device=device) - self.k_proj = nn.Linear(embed_dim, embed_dim, bias=True, dtype=dtype, device=device) - self.v_proj = nn.Linear(embed_dim, embed_dim, bias=True, dtype=dtype, device=device) - self.out_proj = nn.Linear(embed_dim, embed_dim, bias=True, dtype=dtype, device=device) - self.attn_mode = mode - - def set_attn_mode(self, mode): - self.attn_mode = mode - - def forward(self, x, mask=None): - q = self.q_proj(x) - k = self.k_proj(x) - v = self.v_proj(x) - out = attention(q, k, v, self.heads, mask, mode=self.attn_mode) - return self.out_proj(out) - - -ACTIVATIONS = { - "quick_gelu": lambda: (lambda a: a * torch.sigmoid(1.702 * a)), - # "gelu": torch.nn.functional.gelu, - "gelu": lambda: nn.GELU(), -} - - -class CLIPLayer(torch.nn.Module): - def __init__(self, embed_dim, heads, intermediate_size, intermediate_activation, dtype, device): - super().__init__() - self.layer_norm1 = nn.LayerNorm(embed_dim, dtype=dtype, device=device) - self.self_attn = CLIPAttention(embed_dim, heads, dtype, device) - self.layer_norm2 = nn.LayerNorm(embed_dim, dtype=dtype, device=device) - # # self.mlp = CLIPMLP(embed_dim, intermediate_size, intermediate_activation, dtype, device) - # self.mlp = Mlp( - # embed_dim, intermediate_size, embed_dim, act_layer=ACTIVATIONS[intermediate_activation], dtype=dtype, device=device - # ) - self.mlp = MLP(embed_dim, intermediate_size, embed_dim, act_layer=ACTIVATIONS[intermediate_activation]) - self.mlp.to(device=device, dtype=dtype) - - def forward(self, x, mask=None): - x += self.self_attn(self.layer_norm1(x), mask) - x += self.mlp(self.layer_norm2(x)) - return x - - -class CLIPEncoder(torch.nn.Module): - def __init__(self, num_layers, embed_dim, heads, intermediate_size, intermediate_activation, dtype, device): - super().__init__() - self.layers = torch.nn.ModuleList( - [CLIPLayer(embed_dim, heads, intermediate_size, intermediate_activation, dtype, device) for i in range(num_layers)] - ) - - def forward(self, x, mask=None, intermediate_output=None): - if intermediate_output is not None: - if intermediate_output < 0: - intermediate_output = len(self.layers) + intermediate_output - intermediate = None - for i, l in enumerate(self.layers): - x = l(x, mask) - if i == intermediate_output: - intermediate = x.clone() - return x, intermediate - - -class CLIPEmbeddings(torch.nn.Module): - def __init__(self, embed_dim, vocab_size=49408, num_positions=77, dtype=None, device=None): - super().__init__() - self.token_embedding = torch.nn.Embedding(vocab_size, embed_dim, dtype=dtype, device=device) - self.position_embedding = torch.nn.Embedding(num_positions, embed_dim, dtype=dtype, device=device) - - def forward(self, input_tokens): - return self.token_embedding(input_tokens) + self.position_embedding.weight - - -class CLIPTextModel_(torch.nn.Module): - def __init__(self, config_dict, dtype, device): - num_layers = config_dict["num_hidden_layers"] - embed_dim = config_dict["hidden_size"] - heads = config_dict["num_attention_heads"] - intermediate_size = config_dict["intermediate_size"] - intermediate_activation = config_dict["hidden_act"] - super().__init__() - self.embeddings = CLIPEmbeddings(embed_dim, dtype=torch.float32, device=device) - self.encoder = CLIPEncoder(num_layers, embed_dim, heads, intermediate_size, intermediate_activation, dtype, device) - self.final_layer_norm = nn.LayerNorm(embed_dim, dtype=dtype, device=device) - - def forward(self, input_tokens, intermediate_output=None, final_layer_norm_intermediate=True): - x = self.embeddings(input_tokens) - - if x.dtype == torch.bfloat16: - causal_mask = torch.empty(x.shape[1], x.shape[1], dtype=torch.float32, device=x.device).fill_(float("-inf")).triu_(1) - causal_mask = causal_mask.to(dtype=x.dtype) - else: - causal_mask = torch.empty(x.shape[1], x.shape[1], dtype=x.dtype, device=x.device).fill_(float("-inf")).triu_(1) - - x, i = self.encoder(x, mask=causal_mask, intermediate_output=intermediate_output) - x = self.final_layer_norm(x) - if i is not None and final_layer_norm_intermediate: - i = self.final_layer_norm(i) - pooled_output = x[ - torch.arange(x.shape[0], device=x.device), - input_tokens.to(dtype=torch.int, device=x.device).argmax(dim=-1), - ] - return x, i, pooled_output - - -class CLIPTextModel(torch.nn.Module): - def __init__(self, config_dict, dtype, device): - super().__init__() - self.num_layers = config_dict["num_hidden_layers"] - self.text_model = CLIPTextModel_(config_dict, dtype, device) - embed_dim = config_dict["hidden_size"] - self.text_projection = nn.Linear(embed_dim, embed_dim, bias=False, dtype=dtype, device=device) - self.text_projection.weight.copy_(torch.eye(embed_dim)) - self.dtype = dtype - - def get_input_embeddings(self): - return self.text_model.embeddings.token_embedding - - def set_input_embeddings(self, embeddings): - self.text_model.embeddings.token_embedding = embeddings - - def forward(self, *args, **kwargs): - x = self.text_model(*args, **kwargs) - out = self.text_projection(x[2]) - return (x[0], x[1], out, x[2]) - - -class ClipTokenWeightEncoder: - # def encode_token_weights(self, token_weight_pairs): - # tokens = list(map(lambda a: a[0], token_weight_pairs[0])) - # out, pooled = self([tokens]) - # if pooled is not None: - # first_pooled = pooled[0:1] - # else: - # first_pooled = pooled - # output = [out[0:1]] - # return torch.cat(output, dim=-2), first_pooled - - # fix to support batched inputs - # : Union[List[Tuple[torch.Tensor, torch.Tensor]], List[List[Tuple[torch.Tensor, torch.Tensor]]]] - def encode_token_weights(self, list_of_token_weight_pairs): - has_batch = isinstance(list_of_token_weight_pairs[0][0], list) - - if has_batch: - list_of_tokens = [] - for pairs in list_of_token_weight_pairs: - tokens = [a[0] for a in pairs[0]] # I'm not sure why this is [0] - list_of_tokens.append(tokens) - else: - if isinstance(list_of_token_weight_pairs[0], torch.Tensor): - list_of_tokens = [list(list_of_token_weight_pairs[0])] - else: - list_of_tokens = [[a[0] for a in list_of_token_weight_pairs[0]]] - - out, pooled = self(list_of_tokens) - if has_batch: - return out, pooled - else: - if pooled is not None: - first_pooled = pooled[0:1] - else: - first_pooled = pooled - output = [out[0:1]] - return torch.cat(output, dim=-2), first_pooled - - -class SDClipModel(torch.nn.Module, ClipTokenWeightEncoder): - """Uses the CLIP transformer encoder for text (from huggingface)""" - - LAYERS = ["last", "pooled", "hidden"] - - def __init__( - self, - device="cpu", - max_length=77, - layer="last", - layer_idx=None, - textmodel_json_config=None, - dtype=None, - model_class=CLIPTextModel, - special_tokens={"start": 49406, "end": 49407, "pad": 49407}, - layer_norm_hidden_state=True, - return_projected_pooled=True, - ): - super().__init__() - assert layer in self.LAYERS - self.transformer = model_class(textmodel_json_config, dtype, device) - self.num_layers = self.transformer.num_layers - self.max_length = max_length - self.transformer = self.transformer.eval() - for param in self.parameters(): - param.requires_grad = False - self.layer = layer - self.layer_idx = None - self.special_tokens = special_tokens - self.logit_scale = torch.nn.Parameter(torch.tensor(4.6055)) - self.layer_norm_hidden_state = layer_norm_hidden_state - self.return_projected_pooled = return_projected_pooled - if layer == "hidden": - assert layer_idx is not None - assert abs(layer_idx) < self.num_layers - self.set_clip_options({"layer": layer_idx}) - self.options_default = (self.layer, self.layer_idx, self.return_projected_pooled) - - @property - def device(self): - return next(self.parameters()).device - - @property - def dtype(self): - return next(self.parameters()).dtype - - def gradient_checkpointing_enable(self): - logger.warning("Gradient checkpointing is not supported for this model") - - def set_attn_mode(self, mode): - raise NotImplementedError("This model does not support setting the attention mode") - - def set_clip_options(self, options): - layer_idx = options.get("layer", self.layer_idx) - self.return_projected_pooled = options.get("projected_pooled", self.return_projected_pooled) - if layer_idx is None or abs(layer_idx) > self.num_layers: - self.layer = "last" - else: - self.layer = "hidden" - self.layer_idx = layer_idx - - def forward(self, tokens): - backup_embeds = self.transformer.get_input_embeddings() - device = backup_embeds.weight.device - tokens = torch.LongTensor(tokens).to(device) - outputs = self.transformer( - tokens, intermediate_output=self.layer_idx, final_layer_norm_intermediate=self.layer_norm_hidden_state - ) - self.transformer.set_input_embeddings(backup_embeds) - if self.layer == "last": - z = outputs[0] - else: - z = outputs[1] - pooled_output = None - if len(outputs) >= 3: - if not self.return_projected_pooled and len(outputs) >= 4 and outputs[3] is not None: - pooled_output = outputs[3].float() - elif outputs[2] is not None: - pooled_output = outputs[2].float() - return z.float(), pooled_output - - def set_attn_mode(self, mode): - clip_text_model = self.transformer.text_model - for layer in clip_text_model.encoder.layers: - layer.self_attn.set_attn_mode(mode) - - -class SDXLClipG(SDClipModel): - """Wraps the CLIP-G model into the SD-CLIP-Model interface""" - - def __init__(self, config, device="cpu", layer="penultimate", layer_idx=None, dtype=None): - if layer == "penultimate": - layer = "hidden" - layer_idx = -2 - super().__init__( - device=device, - layer=layer, - layer_idx=layer_idx, - textmodel_json_config=config, - dtype=dtype, - special_tokens={"start": 49406, "end": 49407, "pad": 0}, - layer_norm_hidden_state=False, - ) - - def set_attn_mode(self, mode): - clip_text_model = self.transformer.text_model - for layer in clip_text_model.encoder.layers: - layer.self_attn.set_attn_mode(mode) - - -class T5XXLModel(SDClipModel): - """Wraps the T5-XXL model into the SD-CLIP-Model interface for convenience""" - - def __init__(self, config, device="cpu", layer="last", layer_idx=None, dtype=None): - super().__init__( - device=device, - layer=layer, - layer_idx=layer_idx, - textmodel_json_config=config, - dtype=dtype, - special_tokens={"end": 1, "pad": 0}, - model_class=T5, - ) - - def set_attn_mode(self, mode): - t5: T5 = self.transformer - for t5block in t5.encoder.block: - t5block: T5Block - t5layer: T5LayerSelfAttention = t5block.layer[0] - t5SaSa: T5Attention = t5layer.SelfAttention - t5SaSa.set_attn_mode(mode) - - -################################################################################################# -### T5 implementation, for the T5-XXL text encoder portion, largely pulled from upstream impl -################################################################################################# - -""" -class T5XXLTokenizer(SDTokenizer): - ""Wraps the T5 Tokenizer from HF into the SDTokenizer interface"" - - def __init__(self): - super().__init__( - pad_with_end=False, - tokenizer=T5TokenizerFast.from_pretrained("google/t5-v1_1-xxl"), - has_start_token=False, - pad_to_max_length=False, - max_length=99999999, - min_length=77, - ) -""" - - -class T5LayerNorm(torch.nn.Module): - def __init__(self, hidden_size, eps=1e-6, dtype=None, device=None): - super().__init__() - self.weight = torch.nn.Parameter(torch.ones(hidden_size, dtype=dtype, device=device)) - self.variance_epsilon = eps - - # def forward(self, x): - # variance = x.pow(2).mean(-1, keepdim=True) - # x = x * torch.rsqrt(variance + self.variance_epsilon) - # return self.weight.to(device=x.device, dtype=x.dtype) * x - - # copy from transformers' T5LayerNorm - def forward(self, hidden_states): - # T5 uses a layer_norm which only scales and doesn't shift, which is also known as Root Mean - # Square Layer Normalization https://arxiv.org/abs/1910.07467 thus variance is calculated - # w/o mean and there is no bias. Additionally we want to make sure that the accumulation for - # half-precision inputs is done in fp32 - 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 T5DenseGatedActDense(torch.nn.Module): - def __init__(self, model_dim, ff_dim, dtype, device): - super().__init__() - self.wi_0 = nn.Linear(model_dim, ff_dim, bias=False, dtype=dtype, device=device) - self.wi_1 = nn.Linear(model_dim, ff_dim, bias=False, dtype=dtype, device=device) - self.wo = nn.Linear(ff_dim, model_dim, bias=False, dtype=dtype, device=device) - - def forward(self, x): - hidden_gelu = torch.nn.functional.gelu(self.wi_0(x), approximate="tanh") - hidden_linear = self.wi_1(x) - x = hidden_gelu * hidden_linear - x = self.wo(x) - return x - - -class T5LayerFF(torch.nn.Module): - def __init__(self, model_dim, ff_dim, dtype, device): - super().__init__() - self.DenseReluDense = T5DenseGatedActDense(model_dim, ff_dim, dtype, device) - self.layer_norm = T5LayerNorm(model_dim, dtype=dtype, device=device) - - def forward(self, x): - forwarded_states = self.layer_norm(x) - forwarded_states = self.DenseReluDense(forwarded_states) - x += forwarded_states - return x - - -class T5Attention(torch.nn.Module): - def __init__(self, model_dim, inner_dim, num_heads, relative_attention_bias, dtype, device): - super().__init__() - # Mesh TensorFlow initialization to avoid scaling before softmax - self.q = nn.Linear(model_dim, inner_dim, bias=False, dtype=dtype, device=device) - self.k = nn.Linear(model_dim, inner_dim, bias=False, dtype=dtype, device=device) - self.v = nn.Linear(model_dim, inner_dim, bias=False, dtype=dtype, device=device) - self.o = nn.Linear(inner_dim, model_dim, bias=False, dtype=dtype, device=device) - self.num_heads = num_heads - self.relative_attention_bias = None - if relative_attention_bias: - self.relative_attention_num_buckets = 32 - self.relative_attention_max_distance = 128 - self.relative_attention_bias = torch.nn.Embedding(self.relative_attention_num_buckets, self.num_heads, device=device) - - self.attn_mode = "xformers" # TODO 何とかする - - def set_attn_mode(self, mode): - self.attn_mode = mode - - @staticmethod - def _relative_position_bucket(relative_position, bidirectional=True, num_buckets=32, max_distance=128): - """ - Adapted from Mesh Tensorflow: - https://github.com/tensorflow/mesh/blob/0cb87fe07da627bf0b7e60475d59f95ed6b5be3d/mesh_tensorflow/transformer/transformer_layers.py#L593 - - Translate relative position to a bucket number for relative attention. The relative position is defined as - memory_position - query_position, i.e. the distance in tokens from the attending position to the attended-to - position. If bidirectional=False, then positive relative positions are invalid. We use smaller buckets for - small absolute relative_position and larger buckets for larger absolute relative_positions. All relative - positions >=max_distance map to the same bucket. All relative positions <=-max_distance map to the same bucket. - This should allow for more graceful generalization to longer sequences than the model has been trained on - - Args: - relative_position: an int32 Tensor - bidirectional: a boolean - whether the attention is bidirectional - num_buckets: an integer - max_distance: an integer - - Returns: - a Tensor with the same shape as relative_position, containing int32 values in the range [0, num_buckets) - """ - relative_buckets = 0 - if bidirectional: - num_buckets //= 2 - relative_buckets += (relative_position > 0).to(torch.long) * num_buckets - relative_position = torch.abs(relative_position) - else: - relative_position = -torch.min(relative_position, torch.zeros_like(relative_position)) - # now relative_position is in the range [0, inf) - # half of the buckets are for exact increments in positions - max_exact = num_buckets // 2 - is_small = relative_position < max_exact - # The other half of the buckets are for logarithmically bigger bins in positions up to max_distance - relative_position_if_large = max_exact + ( - torch.log(relative_position.float() / max_exact) / math.log(max_distance / max_exact) * (num_buckets - max_exact) - ).to(torch.long) - relative_position_if_large = torch.min( - relative_position_if_large, torch.full_like(relative_position_if_large, num_buckets - 1) - ) - relative_buckets += torch.where(is_small, relative_position, relative_position_if_large) - return relative_buckets - - def compute_bias(self, query_length, key_length, device): - """Compute binned relative position bias""" - context_position = torch.arange(query_length, dtype=torch.long, device=device)[:, None] - memory_position = torch.arange(key_length, dtype=torch.long, device=device)[None, :] - relative_position = memory_position - context_position # shape (query_length, key_length) - relative_position_bucket = self._relative_position_bucket( - relative_position, # shape (query_length, key_length) - bidirectional=True, - num_buckets=self.relative_attention_num_buckets, - max_distance=self.relative_attention_max_distance, - ) - values = self.relative_attention_bias(relative_position_bucket) # shape (query_length, key_length, num_heads) - values = values.permute([2, 0, 1]).unsqueeze(0) # shape (1, num_heads, query_length, key_length) - return values - - def forward(self, x, past_bias=None): - q = self.q(x) - k = self.k(x) - v = self.v(x) - if self.relative_attention_bias is not None: - past_bias = self.compute_bias(x.shape[1], x.shape[1], x.device) - if past_bias is not None: - mask = past_bias - out = attention(q, k * ((k.shape[-1] / self.num_heads) ** 0.5), v, self.num_heads, mask, mode=self.attn_mode) - return self.o(out), past_bias - - -class T5LayerSelfAttention(torch.nn.Module): - def __init__(self, model_dim, inner_dim, ff_dim, num_heads, relative_attention_bias, dtype, device): - super().__init__() - self.SelfAttention = T5Attention(model_dim, inner_dim, num_heads, relative_attention_bias, dtype, device) - self.layer_norm = T5LayerNorm(model_dim, dtype=dtype, device=device) - - def forward(self, x, past_bias=None): - output, past_bias = self.SelfAttention(self.layer_norm(x), past_bias=past_bias) - x += output - return x, past_bias - - -class T5Block(torch.nn.Module): - def __init__(self, model_dim, inner_dim, ff_dim, num_heads, relative_attention_bias, dtype, device): - super().__init__() - self.layer = torch.nn.ModuleList() - self.layer.append(T5LayerSelfAttention(model_dim, inner_dim, ff_dim, num_heads, relative_attention_bias, dtype, device)) - self.layer.append(T5LayerFF(model_dim, ff_dim, dtype, device)) - - def forward(self, x, past_bias=None): - x, past_bias = self.layer[0](x, past_bias) - - # copy from transformers' T5Block - # clamp inf values to enable fp16 training - if x.dtype == torch.float16: - clamp_value = torch.where( - torch.isinf(x).any(), - torch.finfo(x.dtype).max - 1000, - torch.finfo(x.dtype).max, - ) - x = torch.clamp(x, min=-clamp_value, max=clamp_value) - - x = self.layer[-1](x) - # clamp inf values to enable fp16 training - if x.dtype == torch.float16: - clamp_value = torch.where( - torch.isinf(x).any(), - torch.finfo(x.dtype).max - 1000, - torch.finfo(x.dtype).max, - ) - x = torch.clamp(x, min=-clamp_value, max=clamp_value) - - return x, past_bias - - -class T5Stack(torch.nn.Module): - def __init__(self, num_layers, model_dim, inner_dim, ff_dim, num_heads, vocab_size, dtype, device): - super().__init__() - self.embed_tokens = torch.nn.Embedding(vocab_size, model_dim, device=device) - self.block = torch.nn.ModuleList( - [ - T5Block(model_dim, inner_dim, ff_dim, num_heads, relative_attention_bias=(i == 0), dtype=dtype, device=device) - for i in range(num_layers) - ] - ) - self.final_layer_norm = T5LayerNorm(model_dim, dtype=dtype, device=device) - - def forward(self, input_ids, intermediate_output=None, final_layer_norm_intermediate=True): - intermediate = None - x = self.embed_tokens(input_ids) - past_bias = None - for i, l in enumerate(self.block): - # uncomment to debug layerwise output: fp16 may cause issues - # print(i, x.mean(), x.std()) - x, past_bias = l(x, past_bias) - if i == intermediate_output: - intermediate = x.clone() - # print(x.mean(), x.std()) - x = self.final_layer_norm(x) - if intermediate is not None and final_layer_norm_intermediate: - intermediate = self.final_layer_norm(intermediate) - # print(x.mean(), x.std()) - return x, intermediate - - -class T5(torch.nn.Module): - def __init__(self, config_dict, dtype, device): - super().__init__() - self.num_layers = config_dict["num_layers"] - self.encoder = T5Stack( - self.num_layers, - config_dict["d_model"], - config_dict["d_model"], - config_dict["d_ff"], - config_dict["num_heads"], - config_dict["vocab_size"], - dtype, - device, - ) - self.dtype = dtype - - def get_input_embeddings(self): - return self.encoder.embed_tokens - - def set_input_embeddings(self, embeddings): - self.encoder.embed_tokens = embeddings - - def forward(self, *args, **kwargs): - return self.encoder(*args, **kwargs) - - -def create_clip_l(device="cpu", dtype=torch.float32, state_dict: Optional[Dict[str, torch.Tensor]] = None): - r""" - state_dict is not loaded, but updated with missing keys - """ - CLIPL_CONFIG = { - "hidden_act": "quick_gelu", - "hidden_size": 768, - "intermediate_size": 3072, - "num_attention_heads": 12, - "num_hidden_layers": 12, - } - with torch.no_grad(): - clip_l = SDClipModel( - layer="hidden", - layer_idx=-2, - device=device, - dtype=dtype, - layer_norm_hidden_state=False, - return_projected_pooled=False, - textmodel_json_config=CLIPL_CONFIG, - ) - clip_l.gradient_checkpointing_enable() - if state_dict is not None: - # update state_dict if provided to include logit_scale and text_projection.weight avoid errors - if "logit_scale" not in state_dict: - state_dict["logit_scale"] = clip_l.logit_scale - if "transformer.text_projection.weight" not in state_dict: - state_dict["transformer.text_projection.weight"] = clip_l.transformer.text_projection.weight - return clip_l - - -def create_clip_g(device="cpu", dtype=torch.float32, state_dict: Optional[Dict[str, torch.Tensor]] = None): - r""" - state_dict is not loaded, but updated with missing keys - """ - CLIPG_CONFIG = { - "hidden_act": "gelu", - "hidden_size": 1280, - "intermediate_size": 5120, - "num_attention_heads": 20, - "num_hidden_layers": 32, - } - with torch.no_grad(): - clip_g = SDXLClipG(CLIPG_CONFIG, device=device, dtype=dtype) - if state_dict is not None: - if "logit_scale" not in state_dict: - state_dict["logit_scale"] = clip_g.logit_scale - return clip_g - - -def create_t5xxl(device="cpu", dtype=torch.float32, state_dict: Optional[Dict[str, torch.Tensor]] = None) -> T5XXLModel: - T5_CONFIG = {"d_ff": 10240, "d_model": 4096, "num_heads": 64, "num_layers": 24, "vocab_size": 32128} - with torch.no_grad(): - t5 = T5XXLModel(T5_CONFIG, dtype=dtype, device=device) - if state_dict is not None: - if "logit_scale" not in state_dict: - state_dict["logit_scale"] = t5.logit_scale - if "transformer.shared.weight" in state_dict: - state_dict.pop("transformer.shared.weight") - return t5 - - -""" - # snippet for using the T5 model from transformers - - from transformers import T5EncoderModel, T5Config - import accelerate - import json - - T5_CONFIG_JSON = "" -{ - "architectures": [ - "T5EncoderModel" - ], - "classifier_dropout": 0.0, - "d_ff": 10240, - "d_kv": 64, - "d_model": 4096, - "decoder_start_token_id": 0, - "dense_act_fn": "gelu_new", - "dropout_rate": 0.1, - "eos_token_id": 1, - "feed_forward_proj": "gated-gelu", - "initializer_factor": 1.0, - "is_encoder_decoder": true, - "is_gated_act": true, - "layer_norm_epsilon": 1e-06, - "model_type": "t5", - "num_decoder_layers": 24, - "num_heads": 64, - "num_layers": 24, - "output_past": true, - "pad_token_id": 0, - "relative_attention_max_distance": 128, - "relative_attention_num_buckets": 32, - "tie_word_embeddings": false, - "torch_dtype": "float16", - "transformers_version": "4.41.2", - "use_cache": true, - "vocab_size": 32128 -} -"" - config = json.loads(T5_CONFIG_JSON) - config = T5Config(**config) - - # model = T5EncoderModel.from_pretrained("stabilityai/stable-diffusion-3-medium-diffusers", subfolder="text_encoder_3") - # print(model.config) - # # model(**load_model.config) - - # with accelerate.init_empty_weights(): - model = T5EncoderModel._from_config(config) # , torch_dtype=dtype) - for key in list(state_dict.keys()): - if key.startswith("transformer."): - new_key = key[len("transformer.") :] - state_dict[new_key] = state_dict.pop(key) - - info = model.load_state_dict(state_dict) - print(info) - model.set_attn_mode = lambda x: None - # model.to("cpu") - - _self = model - - def enc(list_of_token_weight_pairs): - has_batch = isinstance(list_of_token_weight_pairs[0][0], list) - - if has_batch: - list_of_tokens = [] - for pairs in list_of_token_weight_pairs: - tokens = [a[0] for a in pairs[0]] # I'm not sure why this is [0] - list_of_tokens.append(tokens) - else: - list_of_tokens = [[a[0] for a in list_of_token_weight_pairs[0]]] - - list_of_tokens = np.array(list_of_tokens) - list_of_tokens = torch.from_numpy(list_of_tokens).to("cuda", dtype=torch.long) - out = _self(list_of_tokens) - pooled = None - if has_batch: - return out, pooled - else: - if pooled is not None: - first_pooled = pooled[0:1] - else: - first_pooled = pooled - return out[0], first_pooled - # output = [out[0:1]] - # return torch.cat(output, dim=-2), first_pooled - - model.encode_token_weights = enc - - return model -""" - # endregion diff --git a/library/sd3_train_utils.py b/library/sd3_train_utils.py index e819d440c..9282482d9 100644 --- a/library/sd3_train_utils.py +++ b/library/sd3_train_utils.py @@ -11,8 +11,8 @@ from accelerate import Accelerator, PartialState from tqdm import tqdm from PIL import Image +from transformers import CLIPTextModelWithProjection, T5EncoderModel -from library import sd3_models, sd3_utils, strategy_base, train_util from library.device_utils import init_ipex, clean_memory_on_device init_ipex() @@ -28,60 +28,16 @@ logger = logging.getLogger(__name__) -from .sdxl_train_util import match_mixed_precision - - -def load_target_model( - model_type: str, - args: argparse.Namespace, - state_dict: dict, - accelerator: Accelerator, - attn_mode: str, - model_dtype: Optional[torch.dtype], - device: Optional[torch.device], -) -> Union[ - sd3_models.MMDiT, - Optional[sd3_models.SDClipModel], - Optional[sd3_models.SDXLClipG], - Optional[sd3_models.T5XXLModel], - sd3_models.SDVAE, -]: - loading_device = device if device is not None else (accelerator.device if args.lowram else "cpu") - - for pi in range(accelerator.state.num_processes): - if pi == accelerator.state.local_process_index: - logger.info(f"loading model for process {accelerator.state.local_process_index}/{accelerator.state.num_processes}") - - if model_type == "mmdit": - model = sd3_utils.load_mmdit(state_dict, attn_mode, model_dtype, loading_device) - elif model_type == "clip_l": - model = sd3_utils.load_clip_l(state_dict, args.clip_l, attn_mode, model_dtype, loading_device) - elif model_type == "clip_g": - model = sd3_utils.load_clip_g(state_dict, args.clip_g, attn_mode, model_dtype, loading_device) - elif model_type == "t5xxl": - model = sd3_utils.load_t5xxl(state_dict, args.t5xxl, attn_mode, model_dtype, loading_device) - elif model_type == "vae": - model = sd3_utils.load_vae(state_dict, args.vae, model_dtype, loading_device) - else: - raise ValueError(f"Unknown model type: {model_type}") - - # work on low-ram device: models are already loaded on accelerator.device, but we ensure they are on device - if args.lowram: - model = model.to(accelerator.device) - - clean_memory_on_device(accelerator.device) - accelerator.wait_for_everyone() - - return model +from library import sd3_models, sd3_utils, strategy_base, train_util def save_models( ckpt_path: str, - mmdit: sd3_models.MMDiT, - vae: sd3_models.SDVAE, - clip_l: sd3_models.SDClipModel, - clip_g: sd3_models.SDXLClipG, - t5xxl: Optional[sd3_models.T5XXLModel], + mmdit: Optional[sd3_models.MMDiT], + vae: Optional[sd3_models.SDVAE], + clip_l: Optional[CLIPTextModelWithProjection], + clip_g: Optional[CLIPTextModelWithProjection], + t5xxl: Optional[T5EncoderModel], sai_metadata: Optional[dict], save_dtype: Optional[torch.dtype] = None, ): @@ -101,14 +57,25 @@ def update_sd(prefix, sd): update_sd("model.diffusion_model.", mmdit.state_dict()) update_sd("first_stage_model.", vae.state_dict()) + # do not support unified checkpoint format for now + # if clip_l is not None: + # update_sd("text_encoders.clip_l.", clip_l.state_dict()) + # if clip_g is not None: + # update_sd("text_encoders.clip_g.", clip_g.state_dict()) + # if t5xxl is not None: + # update_sd("text_encoders.t5xxl.", t5xxl.state_dict()) + + save_file(state_dict, ckpt_path, metadata=sai_metadata) + if clip_l is not None: - update_sd("text_encoders.clip_l.", clip_l.state_dict()) + clip_l_path = ckpt_path.replace(".safetensors", "_clip_l.safetensors") + save_file(clip_l.state_dict(), clip_l_path) if clip_g is not None: - update_sd("text_encoders.clip_g.", clip_g.state_dict()) + clip_g_path = ckpt_path.replace(".safetensors", "_clip_g.safetensors") + save_file(clip_g.state_dict(), clip_g_path) if t5xxl is not None: - update_sd("text_encoders.t5xxl.", t5xxl.state_dict()) - - save_file(state_dict, ckpt_path, metadata=sai_metadata) + t5xxl_path = ckpt_path.replace(".safetensors", "_t5xxl.safetensors") + save_file(t5xxl.state_dict(), t5xxl_path) def save_sd3_model_on_train_end( @@ -116,9 +83,9 @@ def save_sd3_model_on_train_end( save_dtype: torch.dtype, epoch: int, global_step: int, - clip_l: sd3_models.SDClipModel, - clip_g: sd3_models.SDXLClipG, - t5xxl: Optional[sd3_models.T5XXLModel], + clip_l: Optional[CLIPTextModelWithProjection], + clip_g: Optional[CLIPTextModelWithProjection], + t5xxl: Optional[T5EncoderModel], mmdit: sd3_models.MMDiT, vae: sd3_models.SDVAE, ): @@ -141,9 +108,9 @@ def save_sd3_model_on_epoch_end_or_stepwise( epoch: int, num_train_epochs: int, global_step: int, - clip_l: sd3_models.SDClipModel, - clip_g: sd3_models.SDXLClipG, - t5xxl: Optional[sd3_models.T5XXLModel], + clip_l: Optional[CLIPTextModelWithProjection], + clip_g: Optional[CLIPTextModelWithProjection], + t5xxl: Optional[T5EncoderModel], mmdit: sd3_models.MMDiT, vae: sd3_models.SDVAE, ): @@ -208,23 +175,27 @@ def add_sd3_training_arguments(parser: argparse.ArgumentParser): help="T5-XXL model path. if not specified, use ckpt's state_dict / T5-XXLモデルのパス。指定しない場合はckptのstate_dictを使用", ) parser.add_argument( - "--save_clip", action="store_true", help="save CLIP models to checkpoint / CLIPモデルをチェックポイントに保存する" + "--save_clip", + action="store_true", + help="[DOES NOT WORK] unified checkpoint is not supported / 統合チェックポイントはまだサポートされていません", ) parser.add_argument( - "--save_t5xxl", action="store_true", help="save T5-XXL model to checkpoint / T5-XXLモデルをチェックポイントに保存する" + "--save_t5xxl", + action="store_true", + help="[DOES NOT WORK] unified checkpoint is not supported / 統合チェックポイントはまだサポートされていません", ) parser.add_argument( "--t5xxl_device", type=str, default=None, - help="T5-XXL device. if not specified, use accelerator's device / T5-XXLデバイス。指定しない場合はacceleratorのデバイスを使用", + help="[DOES NOT WORK] not supported yet. T5-XXL device. if not specified, use accelerator's device / T5-XXLデバイス。指定しない場合はacceleratorのデバイスを使用", ) parser.add_argument( "--t5xxl_dtype", type=str, default=None, - help="T5-XXL dtype. if not specified, use default dtype (from mixed precision) / T5-XXL dtype。指定しない場合はデフォルトのdtype(mixed precisionから)を使用", + help="[DOES NOT WORK] not supported yet. T5-XXL dtype. if not specified, use default dtype (from mixed precision) / T5-XXL dtype。指定しない場合はデフォルトのdtype(mixed precisionから)を使用", ) # copy from Diffusers @@ -233,16 +204,25 @@ def add_sd3_training_arguments(parser: argparse.ArgumentParser): type=str, default="logit_normal", choices=["sigma_sqrt", "logit_normal", "mode", "cosmap"], + help="weighting scheme for timestep distribution and loss / タイムステップ分布と損失のための重み付けスキーム", ) parser.add_argument( - "--logit_mean", type=float, default=0.0, help="mean to use when using the `'logit_normal'` weighting scheme." + "--logit_mean", + type=float, + default=0.0, + help="mean to use when using the `'logit_normal'` weighting scheme for timestep distribution. / タイムステップ分布のために`'logit_normal'`重み付けスキームを使用する場合の平均", + ) + parser.add_argument( + "--logit_std", + type=float, + default=1.0, + help="std to use when using the `'logit_normal'` weighting scheme for timestep distribution. / タイムステップ分布のために`'logit_normal'`重み付けスキームを使用する場合のstd", ) - parser.add_argument("--logit_std", type=float, default=1.0, help="std to use when using the `'logit_normal'` weighting scheme.") parser.add_argument( "--mode_scale", type=float, default=1.29, - help="Scale of mode weighting scheme. Only effective when using the `'mode'` as the `weighting_scheme`.", + help="Scale of mode weighting scheme. Only effective when using the `'mode'` as the `weighting_scheme`. / モード重み付けスキームのスケール。`'mode'`を`weighting_scheme`として使用する場合のみ有効", ) @@ -283,7 +263,7 @@ def verify_sdxl_training_args(args: argparse.Namespace, supportTextEncoderCachin # temporary copied from sd3_minimal_inferece.py -def get_sigmas(sampling: sd3_utils.ModelSamplingDiscreteFlow, steps): +def get_all_sigmas(sampling: sd3_utils.ModelSamplingDiscreteFlow, steps): start = sampling.timestep(sampling.sigma_max) end = sampling.timestep(sampling.sigma_min) timesteps = torch.linspace(start, end, steps) @@ -327,7 +307,7 @@ def do_sample( model_sampling = sd3_utils.ModelSamplingDiscreteFlow(shift=3.0) # 3.0 is for SD3 - sigmas = get_sigmas(model_sampling, steps).to(device) + sigmas = get_all_sigmas(model_sampling, steps).to(device) noise_scaled = model_sampling.noise_scaling(sigmas[0], noise, latent, max_denoise(model_sampling, sigmas)) @@ -371,37 +351,6 @@ def do_sample( return x -def load_prompts(prompt_file: str) -> List[Dict]: - # read prompts - if prompt_file.endswith(".txt"): - with open(prompt_file, "r", encoding="utf-8") as f: - lines = f.readlines() - prompts = [line.strip() for line in lines if len(line.strip()) > 0 and line[0] != "#"] - elif prompt_file.endswith(".toml"): - with open(prompt_file, "r", encoding="utf-8") as f: - data = toml.load(f) - prompts = [dict(**data["prompt"], **subset) for subset in data["prompt"]["subset"]] - elif prompt_file.endswith(".json"): - with open(prompt_file, "r", encoding="utf-8") as f: - prompts = json.load(f) - - # preprocess prompts - for i in range(len(prompts)): - prompt_dict = prompts[i] - if isinstance(prompt_dict, str): - from library.train_util import line_to_prompt_dict - - prompt_dict = line_to_prompt_dict(prompt_dict) - prompts[i] = prompt_dict - assert isinstance(prompt_dict, dict) - - # Adds an enumerator to the dict based on prompt position. Used later to name image files. Also cleanup of extra data in original prompt dict. - prompt_dict["enum"] = i - prompt_dict.pop("subset", None) - - return prompts - - def sample_images( accelerator: Accelerator, args: argparse.Namespace, @@ -440,7 +389,7 @@ def sample_images( text_encoders = [accelerator.unwrap_model(te) for te in text_encoders] # print([(te.parameters().__next__().device if te is not None else None) for te in text_encoders]) - prompts = load_prompts(args.sample_prompts) + prompts = train_util.load_prompts(args.sample_prompts) save_dir = args.output_dir + "/sample" os.makedirs(save_dir, exist_ok=True) @@ -510,7 +459,7 @@ def sample_image_inference( accelerator: Accelerator, args: argparse.Namespace, mmdit: sd3_models.MMDiT, - text_encoders: List[Union[sd3_models.SDClipModel, sd3_models.SDXLClipG, sd3_models.T5XXLModel]], + text_encoders: List[Union[CLIPTextModelWithProjection, T5EncoderModel]], vae: sd3_models.SDVAE, save_dir, prompt_dict, @@ -568,7 +517,7 @@ def sample_image_inference( l_tokens, g_tokens, t5_tokens = tokenize_strategy.tokenize(prompt) te_outputs = encoding_strategy.encode_tokens(tokenize_strategy, text_encoders, [l_tokens, g_tokens, t5_tokens]) - lg_out, t5_out, pooled = te_outputs + lg_out, t5_out, pooled, l_attn_mask, g_attn_mask, t5_attn_mask = te_outputs cond = encoding_strategy.concat_encodings(lg_out, t5_out, pooled) # encode negative prompts @@ -578,7 +527,7 @@ def sample_image_inference( l_tokens, g_tokens, t5_tokens = tokenize_strategy.tokenize(negative_prompt) neg_te_outputs = encoding_strategy.encode_tokens(tokenize_strategy, text_encoders, [l_tokens, g_tokens, t5_tokens]) - lg_out, t5_out, pooled = neg_te_outputs + lg_out, t5_out, pooled, l_attn_mask, g_attn_mask, t5_attn_mask = neg_te_outputs neg_cond = encoding_strategy.concat_encodings(lg_out, t5_out, pooled) # sample image @@ -609,14 +558,9 @@ def sample_image_inference( wandb_tracker = accelerator.get_tracker("wandb") import wandb + # not to commit images to avoid inconsistency between training and logging steps - wandb_tracker.log( - {f"sample_{i}": wandb.Image( - image, - caption=prompt # positive prompt as a caption - )}, - commit=False - ) + wandb_tracker.log({f"sample_{i}": wandb.Image(image, caption=prompt)}, commit=False) # positive prompt as a caption # region Diffusers @@ -886,4 +830,78 @@ def __len__(self): return self.config.num_train_timesteps +def get_sigmas(noise_scheduler, timesteps, device, n_dim=4, dtype=torch.float32): + sigmas = noise_scheduler.sigmas.to(device=device, dtype=dtype) + schedule_timesteps = noise_scheduler.timesteps.to(device) + timesteps = timesteps.to(device) + step_indices = [(schedule_timesteps == t).nonzero().item() for t in timesteps] + + sigma = sigmas[step_indices].flatten() + while len(sigma.shape) < n_dim: + sigma = sigma.unsqueeze(-1) + return sigma + + +def compute_density_for_timestep_sampling( + weighting_scheme: str, batch_size: int, logit_mean: float = None, logit_std: float = None, mode_scale: float = None +): + """Compute the density for sampling the timesteps when doing SD3 training. + + Courtesy: This was contributed by Rafie Walker in https://github.com/huggingface/diffusers/pull/8528. + + SD3 paper reference: https://arxiv.org/abs/2403.03206v1. + """ + if weighting_scheme == "logit_normal": + # See 3.1 in the SD3 paper ($rf/lognorm(0.00,1.00)$). + u = torch.normal(mean=logit_mean, std=logit_std, size=(batch_size,), device="cpu") + u = torch.nn.functional.sigmoid(u) + elif weighting_scheme == "mode": + u = torch.rand(size=(batch_size,), device="cpu") + u = 1 - u - mode_scale * (torch.cos(math.pi * u / 2) ** 2 - 1 + u) + else: + u = torch.rand(size=(batch_size,), device="cpu") + return u + + +def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): + """Computes loss weighting scheme for SD3 training. + + Courtesy: This was contributed by Rafie Walker in https://github.com/huggingface/diffusers/pull/8528. + + SD3 paper reference: https://arxiv.org/abs/2403.03206v1. + """ + if weighting_scheme == "sigma_sqrt": + weighting = (sigmas**-2.0).float() + elif weighting_scheme == "cosmap": + bot = 1 - 2 * sigmas + 2 * sigmas**2 + weighting = 2 / (math.pi * bot) + else: + weighting = torch.ones_like(sigmas) + return weighting + + +def get_noisy_model_input_and_timesteps( + args, noise_scheduler, latents, noise, device, dtype +) -> Tuple[torch.Tensor, torch.Tensor, torch.Tensor]: + bsz = latents.shape[0] + + # Sample a random timestep for each image + # for weighting schemes where we sample timesteps non-uniformly + u = compute_density_for_timestep_sampling( + weighting_scheme=args.weighting_scheme, + batch_size=bsz, + logit_mean=args.logit_mean, + logit_std=args.logit_std, + mode_scale=args.mode_scale, + ) + indices = (u * noise_scheduler.config.num_train_timesteps).long() + timesteps = noise_scheduler.timesteps[indices].to(device=device) + + # Add noise according to flow matching. + sigmas = get_sigmas(noise_scheduler, timesteps, device, n_dim=latents.ndim, dtype=dtype) + noisy_model_input = sigmas * noise + (1.0 - sigmas) * latents + + return noisy_model_input, timesteps, sigmas + + # endregion diff --git a/library/sd3_utils.py b/library/sd3_utils.py index 5849518fb..9ad995d81 100644 --- a/library/sd3_utils.py +++ b/library/sd3_utils.py @@ -1,9 +1,12 @@ +from dataclasses import dataclass import math -from typing import Dict, Optional, Union +import re +from typing import Dict, List, Optional, Union import torch import safetensors from safetensors.torch import load_file from accelerate import init_empty_weights +from transformers import CLIPTextModel, CLIPTextModelWithProjection, CLIPConfig, CLIPTextConfig from .utils import setup_logging @@ -19,18 +22,61 @@ # region models +# TODO remove dependency on flux_utils +from library.utils import load_safetensors +from library.flux_utils import load_t5xxl as flux_utils_load_t5xxl -def load_safetensors(path: str, dvc: Union[str, torch.device], disable_mmap: bool = False): - if disable_mmap: - return safetensors.torch.load(open(path, "rb").read()) + +def analyze_state_dict_state(state_dict: Dict, prefix: str = ""): + logger.info(f"Analyzing state dict state...") + + # analyze configs + patch_size = state_dict[f"{prefix}x_embedder.proj.weight"].shape[2] + depth = state_dict[f"{prefix}x_embedder.proj.weight"].shape[0] // 64 + num_patches = state_dict[f"{prefix}pos_embed"].shape[1] + pos_embed_max_size = round(math.sqrt(num_patches)) + adm_in_channels = state_dict[f"{prefix}y_embedder.mlp.0.weight"].shape[1] + context_shape = state_dict[f"{prefix}context_embedder.weight"].shape + qk_norm = "rms" if f"{prefix}joint_blocks.0.context_block.attn.ln_k.weight" in state_dict.keys() else None + + # x_block_self_attn_layers.append(int(key.split(".x_block.attn2.ln_k.weight")[0].split(".")[-1])) + x_block_self_attn_layers = [] + re_attn = re.compile(r".(\d+).x_block.attn2.ln_k.weight") + for key in list(state_dict.keys()): + m = re_attn.match(key) + if m: + x_block_self_attn_layers.append(int(m.group(1))) + + assert len(x_block_self_attn_layers) == 0, "x_block_self_attn_layers is not supported" + + context_embedder_in_features = context_shape[1] + context_embedder_out_features = context_shape[0] + + # only supports 3-5-large and 3-medium + if qk_norm is not None: + model_type = "3-5-large" else: - try: - return load_file(path, device=dvc) - except: - return load_file(path) # prevent device invalid Error + model_type = "3-medium" + + params = sd3_models.SD3Params( + patch_size=patch_size, + depth=depth, + num_patches=num_patches, + pos_embed_max_size=pos_embed_max_size, + adm_in_channels=adm_in_channels, + qk_norm=qk_norm, + x_block_self_attn_layers=x_block_self_attn_layers, + context_embedder_in_features=context_embedder_in_features, + context_embedder_out_features=context_embedder_out_features, + model_type=model_type, + ) + logger.info(f"Analyzed state dict state: {params}") + return params -def load_mmdit(state_dict: Dict, attn_mode: str, dtype: Optional[Union[str, torch.dtype]], device: Union[str, torch.device]): +def load_mmdit( + state_dict: Dict, dtype: Optional[Union[str, torch.dtype]], device: Union[str, torch.device], attn_mode: str = "torch" +) -> sd3_models.MMDiT: mmdit_sd = {} mmdit_prefix = "model.diffusion_model." @@ -40,8 +86,9 @@ def load_mmdit(state_dict: Dict, attn_mode: str, dtype: Optional[Union[str, torc # load MMDiT logger.info("Building MMDit") + params = analyze_state_dict_state(mmdit_sd) with init_empty_weights(): - mmdit = sd3_models.create_mmdit_sd3_medium_configs(attn_mode) + mmdit = sd3_models.create_sd3_mmdit(params, attn_mode) logger.info("Loading state dict...") info = sdxl_model_util._load_state_dict_on_device(mmdit, mmdit_sd, device, dtype) @@ -50,20 +97,14 @@ def load_mmdit(state_dict: Dict, attn_mode: str, dtype: Optional[Union[str, torc def load_clip_l( - state_dict: Dict, clip_l_path: Optional[str], - attn_mode: str, - clip_dtype: Optional[Union[str, torch.dtype]], + dtype: Optional[Union[str, torch.dtype]], device: Union[str, torch.device], disable_mmap: bool = False, + state_dict: Optional[Dict] = None, ): clip_l_sd = None - if clip_l_path: - logger.info(f"Loading clip_l from {clip_l_path}...") - clip_l_sd = load_safetensors(clip_l_path, device, disable_mmap) - for key in list(clip_l_sd.keys()): - clip_l_sd["transformer." + key] = clip_l_sd.pop(key) - else: + if clip_l_path is None: if "text_encoders.clip_l.transformer.text_model.embeddings.position_embedding.weight" in state_dict: # found clip_l: remove prefix "text_encoders.clip_l." logger.info("clip_l is included in the checkpoint") @@ -72,34 +113,58 @@ def load_clip_l( for k in list(state_dict.keys()): if k.startswith(prefix): clip_l_sd[k[len(prefix) :]] = state_dict.pop(k) + elif clip_l_path is None: + logger.info("clip_l is not included in the checkpoint and clip_l_path is not provided") + return None + + # load clip_l + logger.info("Building CLIP-L") + config = CLIPTextConfig( + vocab_size=49408, + hidden_size=768, + intermediate_size=3072, + num_hidden_layers=12, + num_attention_heads=12, + max_position_embeddings=77, + hidden_act="quick_gelu", + layer_norm_eps=1e-05, + dropout=0.0, + attention_dropout=0.0, + initializer_range=0.02, + initializer_factor=1.0, + pad_token_id=1, + bos_token_id=0, + eos_token_id=2, + model_type="clip_text_model", + projection_dim=768, + # torch_dtype="float32", + # transformers_version="4.25.0.dev0", + ) + with init_empty_weights(): + clip = CLIPTextModelWithProjection(config) if clip_l_sd is None: - clip_l = None - else: - logger.info("Building ClipL") - clip_l = sd3_models.create_clip_l(device, clip_dtype, clip_l_sd) - logger.info("Loading state dict...") - info = clip_l.load_state_dict(clip_l_sd) - logger.info(f"Loaded ClipL: {info}") - clip_l.set_attn_mode(attn_mode) - return clip_l + logger.info(f"Loading state dict from {clip_l_path}") + clip_l_sd = load_safetensors(clip_l_path, device=str(device), disable_mmap=disable_mmap, dtype=dtype) + + if "text_projection.weight" not in clip_l_sd: + logger.info("Adding text_projection.weight to clip_l_sd") + clip_l_sd["text_projection.weight"] = torch.eye(768, dtype=dtype, device=device) + + info = clip.load_state_dict(clip_l_sd, strict=False, assign=True) + logger.info(f"Loaded CLIP-L: {info}") + return clip def load_clip_g( - state_dict: Dict, clip_g_path: Optional[str], - attn_mode: str, - clip_dtype: Optional[Union[str, torch.dtype]], + dtype: Optional[Union[str, torch.dtype]], device: Union[str, torch.device], disable_mmap: bool = False, + state_dict: Optional[Dict] = None, ): clip_g_sd = None - if clip_g_path: - logger.info(f"Loading clip_g from {clip_g_path}...") - clip_g_sd = load_safetensors(clip_g_path, device, disable_mmap) - for key in list(clip_g_sd.keys()): - clip_g_sd["transformer." + key] = clip_g_sd.pop(key) - else: + if state_dict is not None: if "text_encoders.clip_g.transformer.text_model.embeddings.position_embedding.weight" in state_dict: # found clip_g: remove prefix "text_encoders.clip_g." logger.info("clip_g is included in the checkpoint") @@ -108,34 +173,53 @@ def load_clip_g( for k in list(state_dict.keys()): if k.startswith(prefix): clip_g_sd[k[len(prefix) :]] = state_dict.pop(k) + elif clip_g_path is None: + logger.info("clip_g is not included in the checkpoint and clip_g_path is not provided") + return None + + # load clip_g + logger.info("Building CLIP-G") + config = CLIPTextConfig( + vocab_size=49408, + hidden_size=1280, + intermediate_size=5120, + num_hidden_layers=32, + num_attention_heads=20, + max_position_embeddings=77, + hidden_act="gelu", + layer_norm_eps=1e-05, + dropout=0.0, + attention_dropout=0.0, + initializer_range=0.02, + initializer_factor=1.0, + pad_token_id=1, + bos_token_id=0, + eos_token_id=2, + model_type="clip_text_model", + projection_dim=1280, + # torch_dtype="float32", + # transformers_version="4.25.0.dev0", + ) + with init_empty_weights(): + clip = CLIPTextModelWithProjection(config) if clip_g_sd is None: - clip_g = None - else: - logger.info("Building ClipG") - clip_g = sd3_models.create_clip_g(device, clip_dtype, clip_g_sd) - logger.info("Loading state dict...") - info = clip_g.load_state_dict(clip_g_sd) - logger.info(f"Loaded ClipG: {info}") - clip_g.set_attn_mode(attn_mode) - return clip_g + logger.info(f"Loading state dict from {clip_g_path}") + clip_g_sd = load_safetensors(clip_g_path, device=str(device), disable_mmap=disable_mmap, dtype=dtype) + info = clip.load_state_dict(clip_g_sd, strict=False, assign=True) + logger.info(f"Loaded CLIP-G: {info}") + return clip def load_t5xxl( - state_dict: Dict, t5xxl_path: Optional[str], - attn_mode: str, dtype: Optional[Union[str, torch.dtype]], device: Union[str, torch.device], disable_mmap: bool = False, + state_dict: Optional[Dict] = None, ): t5xxl_sd = None - if t5xxl_path: - logger.info(f"Loading t5xxl from {t5xxl_path}...") - t5xxl_sd = load_safetensors(t5xxl_path, device, disable_mmap) - for key in list(t5xxl_sd.keys()): - t5xxl_sd["transformer." + key] = t5xxl_sd.pop(key) - else: + if state_dict is not None: if "text_encoders.t5xxl.transformer.encoder.block.0.layer.0.SelfAttention.k.weight" in state_dict: # found t5xxl: remove prefix "text_encoders.t5xxl." logger.info("t5xxl is included in the checkpoint") @@ -144,29 +228,19 @@ def load_t5xxl( for k in list(state_dict.keys()): if k.startswith(prefix): t5xxl_sd[k[len(prefix) :]] = state_dict.pop(k) + elif t5xxl_path is None: + logger.info("t5xxl is not included in the checkpoint and t5xxl_path is not provided") + return None - if t5xxl_sd is None: - t5xxl = None - else: - logger.info("Building T5XXL") - - # workaround for T5XXL model creation: create with fp16 takes too long TODO support virtual device - t5xxl = sd3_models.create_t5xxl(device, torch.float32, t5xxl_sd) - t5xxl.to(dtype=dtype) - - logger.info("Loading state dict...") - info = t5xxl.load_state_dict(t5xxl_sd) - logger.info(f"Loaded T5XXL: {info}") - t5xxl.set_attn_mode(attn_mode) - return t5xxl + return flux_utils_load_t5xxl(t5xxl_path, dtype, device, disable_mmap, state_dict=t5xxl_sd) def load_vae( - state_dict: Dict, vae_path: Optional[str], vae_dtype: Optional[Union[str, torch.dtype]], device: Optional[Union[str, torch.device]], disable_mmap: bool = False, + state_dict: Optional[Dict] = None, ): vae_sd = {} if vae_path: @@ -181,299 +255,15 @@ def load_vae( vae_sd[k[len(vae_prefix) :]] = state_dict.pop(k) logger.info("Building VAE") - vae = sd3_models.SDVAE() + vae = sd3_models.SDVAE(vae_dtype, device) logger.info("Loading state dict...") info = vae.load_state_dict(vae_sd) logger.info(f"Loaded VAE: {info}") - vae.to(device=device, dtype=vae_dtype) + vae.to(device=device, dtype=vae_dtype) # make sure it's in the right device and dtype return vae -def load_models( - ckpt_path: str, - clip_l_path: str, - clip_g_path: str, - t5xxl_path: str, - vae_path: str, - attn_mode: str, - device: Union[str, torch.device], - weight_dtype: Optional[Union[str, torch.dtype]] = None, - disable_mmap: bool = False, - clip_dtype: Optional[Union[str, torch.dtype]] = None, - t5xxl_device: Optional[Union[str, torch.device]] = None, - t5xxl_dtype: Optional[Union[str, torch.dtype]] = None, - vae_dtype: Optional[Union[str, torch.dtype]] = None, -): - """ - Load SD3 models from checkpoint files. - - Args: - ckpt_path: Path to the SD3 checkpoint file. - clip_l_path: Path to the clip_l checkpoint file. - clip_g_path: Path to the clip_g checkpoint file. - t5xxl_path: Path to the t5xxl checkpoint file. - vae_path: Path to the VAE checkpoint file. - attn_mode: Attention mode for MMDiT model. - device: Device for MMDiT model. - weight_dtype: Default dtype of weights for all models. This is weight dtype, so the model dtype may be different. - disable_mmap: Disable memory mapping when loading state dict. - clip_dtype: Dtype for Clip models, or None to use default dtype. - t5xxl_device: Device for T5XXL model to load T5XXL in another device (eg. gpu). Default is None to use device. - t5xxl_dtype: Dtype for T5XXL model, or None to use default dtype. - vae_dtype: Dtype for VAE model, or None to use default dtype. - - Returns: - Tuple of MMDiT, ClipL, ClipG, T5XXL, and VAE models. - """ - - # In SD1/2 and SDXL, the model is created with empty weights and then loaded with state dict. - # However, in SD3, Clip and T5XXL models are created with dtype, so we need to set dtype before loading state dict. - # Therefore, we need clip_dtype and t5xxl_dtype. - - def load_state_dict(path: str, dvc: Union[str, torch.device] = device): - if disable_mmap: - return safetensors.torch.load(open(path, "rb").read()) - else: - try: - return load_file(path, device=dvc) - except: - return load_file(path) # prevent device invalid Error - - t5xxl_device = t5xxl_device or device - clip_dtype = clip_dtype or weight_dtype or torch.float32 - t5xxl_dtype = t5xxl_dtype or weight_dtype or torch.float32 - vae_dtype = vae_dtype or weight_dtype or torch.float32 - - logger.info(f"Loading SD3 models from {ckpt_path}...") - state_dict = load_state_dict(ckpt_path) - - # load clip_l - clip_l_sd = None - if clip_l_path: - logger.info(f"Loading clip_l from {clip_l_path}...") - clip_l_sd = load_state_dict(clip_l_path) - for key in list(clip_l_sd.keys()): - clip_l_sd["transformer." + key] = clip_l_sd.pop(key) - else: - if "text_encoders.clip_l.transformer.text_model.embeddings.position_embedding.weight" in state_dict: - # found clip_l: remove prefix "text_encoders.clip_l." - logger.info("clip_l is included in the checkpoint") - clip_l_sd = {} - prefix = "text_encoders.clip_l." - for k in list(state_dict.keys()): - if k.startswith(prefix): - clip_l_sd[k[len(prefix) :]] = state_dict.pop(k) - - # load clip_g - clip_g_sd = None - if clip_g_path: - logger.info(f"Loading clip_g from {clip_g_path}...") - clip_g_sd = load_state_dict(clip_g_path) - for key in list(clip_g_sd.keys()): - clip_g_sd["transformer." + key] = clip_g_sd.pop(key) - else: - if "text_encoders.clip_g.transformer.text_model.embeddings.position_embedding.weight" in state_dict: - # found clip_g: remove prefix "text_encoders.clip_g." - logger.info("clip_g is included in the checkpoint") - clip_g_sd = {} - prefix = "text_encoders.clip_g." - for k in list(state_dict.keys()): - if k.startswith(prefix): - clip_g_sd[k[len(prefix) :]] = state_dict.pop(k) - - # load t5xxl - t5xxl_sd = None - if t5xxl_path: - logger.info(f"Loading t5xxl from {t5xxl_path}...") - t5xxl_sd = load_state_dict(t5xxl_path, t5xxl_device) - for key in list(t5xxl_sd.keys()): - t5xxl_sd["transformer." + key] = t5xxl_sd.pop(key) - else: - if "text_encoders.t5xxl.transformer.encoder.block.0.layer.0.SelfAttention.k.weight" in state_dict: - # found t5xxl: remove prefix "text_encoders.t5xxl." - logger.info("t5xxl is included in the checkpoint") - t5xxl_sd = {} - prefix = "text_encoders.t5xxl." - for k in list(state_dict.keys()): - if k.startswith(prefix): - t5xxl_sd[k[len(prefix) :]] = state_dict.pop(k) - - # MMDiT and VAE - vae_sd = {} - if vae_path: - logger.info(f"Loading VAE from {vae_path}...") - vae_sd = load_state_dict(vae_path) - else: - # remove prefix "first_stage_model." - vae_sd = {} - vae_prefix = "first_stage_model." - for k in list(state_dict.keys()): - if k.startswith(vae_prefix): - vae_sd[k[len(vae_prefix) :]] = state_dict.pop(k) - - mmdit_prefix = "model.diffusion_model." - for k in list(state_dict.keys()): - if k.startswith(mmdit_prefix): - state_dict[k[len(mmdit_prefix) :]] = state_dict.pop(k) - else: - state_dict.pop(k) # remove other keys - - # load MMDiT - logger.info("Building MMDit") - with init_empty_weights(): - mmdit = sd3_models.create_mmdit_sd3_medium_configs(attn_mode) - - logger.info("Loading state dict...") - info = sdxl_model_util._load_state_dict_on_device(mmdit, state_dict, device, weight_dtype) - logger.info(f"Loaded MMDiT: {info}") - - # load ClipG and ClipL - if clip_l_sd is None: - clip_l = None - else: - logger.info("Building ClipL") - clip_l = sd3_models.create_clip_l(device, clip_dtype, clip_l_sd) - logger.info("Loading state dict...") - info = clip_l.load_state_dict(clip_l_sd) - logger.info(f"Loaded ClipL: {info}") - clip_l.set_attn_mode(attn_mode) - - if clip_g_sd is None: - clip_g = None - else: - logger.info("Building ClipG") - clip_g = sd3_models.create_clip_g(device, clip_dtype, clip_g_sd) - logger.info("Loading state dict...") - info = clip_g.load_state_dict(clip_g_sd) - logger.info(f"Loaded ClipG: {info}") - clip_g.set_attn_mode(attn_mode) - - # load T5XXL - if t5xxl_sd is None: - t5xxl = None - else: - logger.info("Building T5XXL") - t5xxl = sd3_models.create_t5xxl(t5xxl_device, t5xxl_dtype, t5xxl_sd) - logger.info("Loading state dict...") - info = t5xxl.load_state_dict(t5xxl_sd) - logger.info(f"Loaded T5XXL: {info}") - t5xxl.set_attn_mode(attn_mode) - - # load VAE - logger.info("Building VAE") - vae = sd3_models.SDVAE() - logger.info("Loading state dict...") - info = vae.load_state_dict(vae_sd) - logger.info(f"Loaded VAE: {info}") - vae.to(device=device, dtype=vae_dtype) - - return mmdit, clip_l, clip_g, t5xxl, vae - - # endregion -# region utils - - -def get_cond( - prompt: str, - tokenizer: sd3_models.SD3Tokenizer, - clip_l: sd3_models.SDClipModel, - clip_g: sd3_models.SDXLClipG, - t5xxl: Optional[sd3_models.T5XXLModel] = None, - device: Optional[torch.device] = None, - dtype: Optional[torch.dtype] = None, -): - l_tokens, g_tokens, t5_tokens = tokenizer.tokenize_with_weights(prompt) - print(t5_tokens) - return get_cond_from_tokens(l_tokens, g_tokens, t5_tokens, clip_l, clip_g, t5xxl, device=device, dtype=dtype) - - -def get_cond_from_tokens( - l_tokens, - g_tokens, - t5_tokens, - clip_l: sd3_models.SDClipModel, - clip_g: sd3_models.SDXLClipG, - t5xxl: Optional[sd3_models.T5XXLModel] = None, - device: Optional[torch.device] = None, - dtype: Optional[torch.dtype] = None, -): - l_out, l_pooled = clip_l.encode_token_weights(l_tokens) - g_out, g_pooled = clip_g.encode_token_weights(g_tokens) - lg_out = torch.cat([l_out, g_out], dim=-1) - lg_out = torch.nn.functional.pad(lg_out, (0, 4096 - lg_out.shape[-1])) - if device is not None: - lg_out = lg_out.to(device=device) - l_pooled = l_pooled.to(device=device) - g_pooled = g_pooled.to(device=device) - if dtype is not None: - lg_out = lg_out.to(dtype=dtype) - l_pooled = l_pooled.to(dtype=dtype) - g_pooled = g_pooled.to(dtype=dtype) - - # t5xxl may be in another device (eg. cpu) - if t5_tokens is None: - t5_out = torch.zeros((lg_out.shape[0], 77, 4096), device=lg_out.device, dtype=lg_out.dtype) - else: - t5_out, _ = t5xxl.encode_token_weights(t5_tokens) # t5_out is [1, 77, 4096], t5_pooled is None - if device is not None: - t5_out = t5_out.to(device=device) - if dtype is not None: - t5_out = t5_out.to(dtype=dtype) - - # return torch.cat([lg_out, t5_out], dim=-2), torch.cat((l_pooled, g_pooled), dim=-1) - return lg_out, t5_out, torch.cat((l_pooled, g_pooled), dim=-1) - - -# used if other sd3 models is available -r""" -def get_sd3_configs(state_dict: Dict): - # Important configuration values can be quickly determined by checking shapes in the source file - # Some of these will vary between models (eg 2B vs 8B primarily differ in their depth, but also other details change) - # prefix = "model.diffusion_model." - prefix = "" - - patch_size = state_dict[prefix + "x_embedder.proj.weight"].shape[2] - depth = state_dict[prefix + "x_embedder.proj.weight"].shape[0] // 64 - num_patches = state_dict[prefix + "pos_embed"].shape[1] - pos_embed_max_size = round(math.sqrt(num_patches)) - adm_in_channels = state_dict[prefix + "y_embedder.mlp.0.weight"].shape[1] - context_shape = state_dict[prefix + "context_embedder.weight"].shape - context_embedder_config = { - "target": "torch.nn.Linear", - "params": {"in_features": context_shape[1], "out_features": context_shape[0]}, - } - return { - "patch_size": patch_size, - "depth": depth, - "num_patches": num_patches, - "pos_embed_max_size": pos_embed_max_size, - "adm_in_channels": adm_in_channels, - "context_embedder": context_embedder_config, - } - - -def create_mmdit_from_sd3_checkpoint(state_dict: Dict, attn_mode: str = "xformers"): - "" - Doesn't load state dict. - "" - sd3_configs = get_sd3_configs(state_dict) - - mmdit = sd3_models.MMDiT( - input_size=None, - pos_embed_max_size=sd3_configs["pos_embed_max_size"], - patch_size=sd3_configs["patch_size"], - in_channels=16, - adm_in_channels=sd3_configs["adm_in_channels"], - depth=sd3_configs["depth"], - mlp_ratio=4, - qk_norm=None, - num_patches=sd3_configs["num_patches"], - context_size=4096, - attn_mode=attn_mode, - ) - return mmdit -""" class ModelSamplingDiscreteFlow: @@ -509,6 +299,3 @@ def noise_scaling(self, sigma, noise, latent_image, max_denoise=False): # assert max_denoise is False, "max_denoise not implemented" # max_denoise is always True, I'm not sure why it's there return sigma * noise + (1.0 - sigma) * latent_image - - -# endregion diff --git a/library/strategy_sd3.py b/library/strategy_sd3.py index 9fde02084..dd08cf004 100644 --- a/library/strategy_sd3.py +++ b/library/strategy_sd3.py @@ -3,7 +3,7 @@ from typing import Any, List, Optional, Tuple, Union import torch import numpy as np -from transformers import CLIPTokenizer, T5TokenizerFast +from transformers import CLIPTokenizer, T5TokenizerFast, CLIPTextModel, CLIPTextModelWithProjection, T5EncoderModel from library import sd3_utils, train_util from library import sd3_models @@ -48,45 +48,79 @@ def tokenize(self, text: Union[str, List[str]]) -> List[torch.Tensor]: class Sd3TextEncodingStrategy(TextEncodingStrategy): - def __init__(self) -> None: - pass + def __init__(self, apply_lg_attn_mask: Optional[bool] = None, apply_t5_attn_mask: Optional[bool] = None) -> None: + """ + Args: + apply_t5_attn_mask: Default value for apply_t5_attn_mask. + """ + self.apply_lg_attn_mask = apply_lg_attn_mask + self.apply_t5_attn_mask = apply_t5_attn_mask def encode_tokens( self, tokenize_strategy: TokenizeStrategy, models: List[Any], tokens: List[torch.Tensor], - apply_lg_attn_mask: bool = False, - apply_t5_attn_mask: bool = False, + apply_lg_attn_mask: Optional[bool] = False, + apply_t5_attn_mask: Optional[bool] = False, ) -> List[torch.Tensor]: """ returned embeddings are not masked """ clip_l, clip_g, t5xxl = models + clip_l: CLIPTextModel + clip_g: CLIPTextModelWithProjection + t5xxl: T5EncoderModel + + if apply_lg_attn_mask is None: + apply_lg_attn_mask = self.apply_lg_attn_mask + if apply_t5_attn_mask is None: + apply_t5_attn_mask = self.apply_t5_attn_mask l_tokens, g_tokens, t5_tokens = tokens[:3] - l_attn_mask, g_attn_mask, t5_attn_mask = tokens[3:] if len(tokens) > 3 else [None, None, None] + + if len(tokens) > 3: + l_attn_mask, g_attn_mask, t5_attn_mask = tokens[3:] + if not apply_lg_attn_mask: + l_attn_mask = None + g_attn_mask = None + else: + l_attn_mask = l_attn_mask.to(clip_l.device) + g_attn_mask = g_attn_mask.to(clip_g.device) + if not apply_t5_attn_mask: + t5_attn_mask = None + else: + t5_attn_mask = t5_attn_mask.to(t5xxl.device) + else: + l_attn_mask = None + g_attn_mask = None + t5_attn_mask = None + if l_tokens is None: assert g_tokens is None, "g_tokens must be None if l_tokens is None" lg_out = None + lg_pooled = None else: - assert g_tokens is not None, "g_tokens must not be None if l_tokens is not None" - l_out, l_pooled = clip_l(l_tokens) - g_out, g_pooled = clip_g(g_tokens) - if apply_lg_attn_mask: - l_out = l_out * l_attn_mask.to(l_out.device).unsqueeze(-1) - g_out = g_out * g_attn_mask.to(g_out.device).unsqueeze(-1) - lg_out = torch.cat([l_out, g_out], dim=-1) + with torch.no_grad(): + assert g_tokens is not None, "g_tokens must not be None if l_tokens is not None" + prompt_embeds = clip_l(l_tokens.to(clip_l.device), l_attn_mask, output_hidden_states=True) + l_pooled = prompt_embeds[0] + l_out = prompt_embeds.hidden_states[-2] + + prompt_embeds = clip_g(g_tokens.to(clip_g.device), g_attn_mask, output_hidden_states=True) + g_pooled = prompt_embeds[0] + g_out = prompt_embeds.hidden_states[-2] + + lg_pooled = torch.cat((l_pooled, g_pooled), dim=-1) if l_tokens is not None else None + lg_out = torch.cat([l_out, g_out], dim=-1) if t5xxl is not None and t5_tokens is not None: - t5_out, _ = t5xxl(t5_tokens) # t5_out is [1, max length, 4096] - if apply_t5_attn_mask: - t5_out = t5_out * t5_attn_mask.to(t5_out.device).unsqueeze(-1) + with torch.no_grad(): + t5_out, _ = t5xxl(t5_tokens.to(t5xxl.device), t5_attn_mask, return_dict=False, output_hidden_states=True) else: t5_out = None - lg_pooled = torch.cat((l_pooled, g_pooled), dim=-1) if l_tokens is not None else None - return [lg_out, t5_out, lg_pooled] + return [lg_out, t5_out, lg_pooled, l_attn_mask, g_attn_mask, t5_attn_mask] # masks are used for attention masking in transformer def concat_encodings( self, lg_out: torch.Tensor, t5_out: Optional[torch.Tensor], lg_pooled: torch.Tensor @@ -132,39 +166,38 @@ def is_disk_cached_outputs_expected(self, npz_path: str): return False if "clip_l_attn_mask" not in npz or "clip_g_attn_mask" not in npz: # necessary even if not used return False - # t5xxl is optional + if "apply_lg_attn_mask" not in npz: + return False + if "t5_out" not in npz: + return False + if "t5_attn_mask" not in npz: + return False + npz_apply_lg_attn_mask = npz["apply_lg_attn_mask"] + if npz_apply_lg_attn_mask != self.apply_lg_attn_mask: + return False + if "apply_t5_attn_mask" not in npz: + return False + npz_apply_t5_attn_mask = npz["apply_t5_attn_mask"] + if npz_apply_t5_attn_mask != self.apply_t5_attn_mask: + return False except Exception as e: logger.error(f"Error loading file: {npz_path}") raise e return True - def mask_lg_attn(self, lg_out: np.ndarray, l_attn_mask: np.ndarray, g_attn_mask: np.ndarray) -> np.ndarray: - l_out = lg_out[..., :768] - g_out = lg_out[..., 768:] # 1280 - l_out = l_out * np.expand_dims(l_attn_mask, -1) # l_out = l_out * l_attn_mask. - g_out = g_out * np.expand_dims(g_attn_mask, -1) # g_out = g_out * g_attn_mask. - return np.concatenate([l_out, g_out], axis=-1) - - def mask_t5_attn(self, t5_out: np.ndarray, t5_attn_mask: np.ndarray) -> np.ndarray: - return t5_out * np.expand_dims(t5_attn_mask, -1) - def load_outputs_npz(self, npz_path: str) -> List[np.ndarray]: data = np.load(npz_path) lg_out = data["lg_out"] lg_pooled = data["lg_pooled"] - t5_out = data["t5_out"] if "t5_out" in data else None - - if self.apply_lg_attn_mask: - l_attn_mask = data["clip_l_attn_mask"] - g_attn_mask = data["clip_g_attn_mask"] - lg_out = self.mask_lg_attn(lg_out, l_attn_mask, g_attn_mask) + t5_out = data["t5_out"] - if self.apply_t5_attn_mask and t5_out is not None: - t5_attn_mask = data["t5_attn_mask"] - t5_out = self.mask_t5_attn(t5_out, t5_attn_mask) + l_attn_mask = data["clip_l_attn_mask"] + g_attn_mask = data["clip_g_attn_mask"] + t5_attn_mask = data["t5_attn_mask"] - return [lg_out, t5_out, lg_pooled] + # apply_t5_attn_mask and apply_lg_attn_mask are same as self.apply_t5_attn_mask and self.apply_lg_attn_mask + return [lg_out, t5_out, lg_pooled, l_attn_mask, g_attn_mask, t5_attn_mask] def cache_batch_outputs( self, tokenize_strategy: TokenizeStrategy, models: List[Any], text_encoding_strategy: TextEncodingStrategy, infos: List @@ -174,7 +207,7 @@ def cache_batch_outputs( tokens_and_masks = tokenize_strategy.tokenize(captions) with torch.no_grad(): - lg_out, t5_out, lg_pooled = sd3_text_encoding_strategy.encode_tokens( + lg_out, t5_out, lg_pooled, l_attn_mask, g_attn_mask, t5_attn_mask = sd3_text_encoding_strategy.encode_tokens( tokenize_strategy, models, tokens_and_masks, self.apply_lg_attn_mask, self.apply_t5_attn_mask ) @@ -182,38 +215,41 @@ def cache_batch_outputs( lg_out = lg_out.float() if lg_pooled.dtype == torch.bfloat16: lg_pooled = lg_pooled.float() - if t5_out is not None and t5_out.dtype == torch.bfloat16: + if t5_out.dtype == torch.bfloat16: t5_out = t5_out.float() lg_out = lg_out.cpu().numpy() lg_pooled = lg_pooled.cpu().numpy() - if t5_out is not None: - t5_out = t5_out.cpu().numpy() + t5_out = t5_out.cpu().numpy() + + l_attn_mask = tokens_and_masks[3].cpu().numpy() + g_attn_mask = tokens_and_masks[4].cpu().numpy() + t5_attn_mask = tokens_and_masks[5].cpu().numpy() for i, info in enumerate(infos): lg_out_i = lg_out[i] - t5_out_i = t5_out[i] if t5_out is not None else None + t5_out_i = t5_out[i] lg_pooled_i = lg_pooled[i] + l_attn_mask_i = l_attn_mask[i] + g_attn_mask_i = g_attn_mask[i] + t5_attn_mask_i = t5_attn_mask[i] + apply_lg_attn_mask = self.apply_lg_attn_mask + apply_t5_attn_mask = self.apply_t5_attn_mask if self.cache_to_disk: - clip_l_attn_mask, clip_g_attn_mask, t5_attn_mask = tokens_and_masks[3:6] - clip_l_attn_mask_i = clip_l_attn_mask[i].cpu().numpy() - clip_g_attn_mask_i = clip_g_attn_mask[i].cpu().numpy() - t5_attn_mask_i = t5_attn_mask[i].cpu().numpy() if t5_attn_mask is not None else None # shouldn't be None - kwargs = {} - if t5_out is not None: - kwargs["t5_out"] = t5_out_i np.savez( info.text_encoder_outputs_npz, lg_out=lg_out_i, lg_pooled=lg_pooled_i, - clip_l_attn_mask=clip_l_attn_mask_i, - clip_g_attn_mask=clip_g_attn_mask_i, + t5_out=t5_out_i, + clip_l_attn_mask=l_attn_mask_i, + clip_g_attn_mask=g_attn_mask_i, t5_attn_mask=t5_attn_mask_i, - **kwargs, + apply_lg_attn_mask=apply_lg_attn_mask, + apply_t5_attn_mask=apply_t5_attn_mask, ) else: - info.text_encoder_outputs = (lg_out_i, t5_out_i, lg_pooled_i) + info.text_encoder_outputs = (lg_out_i, t5_out_i, lg_pooled_i, l_attn_mask_i, g_attn_mask_i, t5_attn_mask_i) class Sd3LatentsCachingStrategy(LatentsCachingStrategy): @@ -246,41 +282,3 @@ def cache_batch_latents(self, vae, image_infos: List, flip_aug: bool, alpha_mask if not train_util.HIGH_VRAM: train_util.clean_memory_on_device(vae.device) - - -if __name__ == "__main__": - # test code for Sd3TokenizeStrategy - # tokenizer = sd3_models.SD3Tokenizer() - strategy = Sd3TokenizeStrategy(256) - text = "hello world" - - l_tokens, g_tokens, t5_tokens = strategy.tokenize(text) - # print(l_tokens.shape) - print(l_tokens) - print(g_tokens) - print(t5_tokens) - - texts = ["hello world", "the quick brown fox jumps over the lazy dog"] - l_tokens_2 = strategy.clip_l(texts, max_length=77, padding="max_length", truncation=True, return_tensors="pt") - g_tokens_2 = strategy.clip_g(texts, max_length=77, padding="max_length", truncation=True, return_tensors="pt") - t5_tokens_2 = strategy.t5xxl( - texts, max_length=strategy.t5xxl_max_length, padding="max_length", truncation=True, return_tensors="pt" - ) - print(l_tokens_2) - print(g_tokens_2) - print(t5_tokens_2) - - # compare - print(torch.allclose(l_tokens, l_tokens_2["input_ids"][0])) - print(torch.allclose(g_tokens, g_tokens_2["input_ids"][0])) - print(torch.allclose(t5_tokens, t5_tokens_2["input_ids"][0])) - - text = ",".join(["hello world! this is long text"] * 50) - l_tokens, g_tokens, t5_tokens = strategy.tokenize(text) - print(l_tokens) - print(g_tokens) - print(t5_tokens) - - print(f"model max length l: {strategy.clip_l.model_max_length}") - print(f"model max length g: {strategy.clip_g.model_max_length}") - print(f"model max length t5: {strategy.t5xxl.model_max_length}") diff --git a/library/train_util.py b/library/train_util.py index 462c7a9a2..9ea1eec0e 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -5967,6 +5967,37 @@ def line_to_prompt_dict(line: str) -> dict: return prompt_dict +def load_prompts(prompt_file: str) -> List[Dict]: + # read prompts + if prompt_file.endswith(".txt"): + with open(prompt_file, "r", encoding="utf-8") as f: + lines = f.readlines() + prompts = [line.strip() for line in lines if len(line.strip()) > 0 and line[0] != "#"] + elif prompt_file.endswith(".toml"): + with open(prompt_file, "r", encoding="utf-8") as f: + data = toml.load(f) + prompts = [dict(**data["prompt"], **subset) for subset in data["prompt"]["subset"]] + elif prompt_file.endswith(".json"): + with open(prompt_file, "r", encoding="utf-8") as f: + prompts = json.load(f) + + # preprocess prompts + for i in range(len(prompts)): + prompt_dict = prompts[i] + if isinstance(prompt_dict, str): + from library.train_util import line_to_prompt_dict + + prompt_dict = line_to_prompt_dict(prompt_dict) + prompts[i] = prompt_dict + assert isinstance(prompt_dict, dict) + + # Adds an enumerator to the dict based on prompt position. Used later to name image files. Also cleanup of extra data in original prompt dict. + prompt_dict["enum"] = i + prompt_dict.pop("subset", None) + + return prompts + + def sample_images_common( pipe_class, accelerator: Accelerator, diff --git a/library/utils.py b/library/utils.py index 8a0c782c0..ca0f904d2 100644 --- a/library/utils.py +++ b/library/utils.py @@ -13,12 +13,16 @@ import cv2 from PIL import Image import numpy as np +from safetensors.torch import load_file def fire_in_thread(f, *args, **kwargs): threading.Thread(target=f, args=args, kwargs=kwargs).start() +# region Logging + + def add_logging_arguments(parser): parser.add_argument( "--console_log_level", @@ -85,6 +89,11 @@ def setup_logging(args=None, log_level=None, reset=False): logger.info(msg_init) +# endregion + +# region PyTorch utils + + def str_to_dtype(s: Optional[str], default_dtype: Optional[torch.dtype] = None) -> torch.dtype: """ Convert a string to a torch.dtype @@ -304,6 +313,35 @@ def _convert_float8(byte_tensor, dtype_str, shape): # return byte_tensor.view(torch.uint8).to(torch.float16).reshape(shape) raise ValueError(f"Unsupported float8 type: {dtype_str} (upgrade PyTorch to support float8 types)") +def load_safetensors( + path: str, device: Union[str, torch.device], disable_mmap: bool = False, dtype: Optional[torch.dtype] = torch.float32 +) -> dict[str, torch.Tensor]: + if disable_mmap: + # return safetensors.torch.load(open(path, "rb").read()) + # use experimental loader + # logger.info(f"Loading without mmap (experimental)") + state_dict = {} + with MemoryEfficientSafeOpen(path) as f: + for key in f.keys(): + state_dict[key] = f.get_tensor(key).to(device, dtype=dtype) + return state_dict + else: + try: + state_dict = load_file(path, device=device) + except: + state_dict = load_file(path) # prevent device invalid Error + if dtype is not None: + for key in state_dict.keys(): + state_dict[key] = state_dict[key].to(dtype=dtype) + return state_dict + + + +# endregion + +# region Image utils + + def pil_resize(image, size, interpolation=Image.LANCZOS): has_alpha = image.shape[2] == 4 if len(image.shape) == 3 else False @@ -323,9 +361,9 @@ def pil_resize(image, size, interpolation=Image.LANCZOS): return resized_cv2 -# TODO make inf_utils.py - +# endregion +# TODO make inf_utils.py # region Gradual Latent hires fix diff --git a/sd3_minimal_inference.py b/sd3_minimal_inference.py index 630da7e08..d099fe18d 100644 --- a/sd3_minimal_inference.py +++ b/sd3_minimal_inference.py @@ -12,6 +12,7 @@ from safetensors.torch import safe_open, load_file from tqdm import tqdm from PIL import Image +from transformers import CLIPTextModelWithProjection, T5EncoderModel from library.device_utils import init_ipex, get_preferred_device @@ -25,11 +26,14 @@ logger = logging.getLogger(__name__) from library import sd3_models, sd3_utils, strategy_sd3 +from library.utils import load_safetensors -def get_noise(seed, latent): - generator = torch.manual_seed(seed) - return torch.randn(latent.size(), dtype=torch.float32, layout=latent.layout, generator=generator, device="cpu").to(latent.dtype) +def get_noise(seed, latent, device="cpu"): + # generator = torch.manual_seed(seed) + generator = torch.Generator(device) + generator.manual_seed(seed) + return torch.randn(latent.size(), dtype=latent.dtype, layout=latent.layout, generator=generator, device=device) def get_sigmas(sampling: sd3_utils.ModelSamplingDiscreteFlow, steps): @@ -59,7 +63,7 @@ def do_sample( neg_cond: Tuple[torch.Tensor, torch.Tensor], mmdit: sd3_models.MMDiT, steps: int, - guidance_scale: float, + cfg_scale: float, dtype: torch.dtype, device: str, ): @@ -71,7 +75,7 @@ def do_sample( latent = latent.to(dtype).to(device) - noise = get_noise(seed, latent).to(device) + noise = get_noise(seed, latent, device) model_sampling = sd3_utils.ModelSamplingDiscreteFlow(shift=3.0) # 3.0 is for SD3 @@ -105,7 +109,7 @@ def do_sample( batched = model_sampling.calculate_denoised(sigma_hat, model_output, x) pos_out, neg_out = batched.chunk(2) - denoised = neg_out + (pos_out - neg_out) * guidance_scale + denoised = neg_out + (pos_out - neg_out) * cfg_scale # print(denoised.shape) # d = to_d(x, sigma_hat, denoised) @@ -122,20 +126,89 @@ def do_sample( x = x.to(dtype) latent = x - scale_factor = 1.5305 - shift_factor = 0.0609 - # def process_out(self, latent): - # return (latent / self.scale_factor) + self.shift_factor - latent = (latent / scale_factor) + shift_factor + latent = vae.process_out(latent) return latent +def generate_image( + mmdit: sd3_models.MMDiT, + vae: sd3_models.SDVAE, + clip_l: CLIPTextModelWithProjection, + clip_g: CLIPTextModelWithProjection, + t5xxl: T5EncoderModel, + steps: int, + prompt: str, + seed: int, + target_width: int, + target_height: int, + device: str, + negative_prompt: str, + cfg_scale: float, +): + # prepare embeddings + logger.info("Encoding prompts...") + + # TODO support one-by-one offloading + clip_l.to(device) + clip_g.to(device) + t5xxl.to(device) + + with torch.no_grad(): + tokens_and_masks = tokenize_strategy.tokenize(prompt) + lg_out, t5_out, pooled, l_attn_mask, g_attn_mask, t5_attn_mask = encoding_strategy.encode_tokens( + tokenize_strategy, [clip_l, clip_g, t5xxl], tokens_and_masks, args.apply_lg_attn_mask, args.apply_t5_attn_mask + ) + cond = encoding_strategy.concat_encodings(lg_out, t5_out, pooled) + + tokens_and_masks = tokenize_strategy.tokenize(negative_prompt) + lg_out, t5_out, pooled, neg_l_attn_mask, neg_g_attn_mask, neg_t5_attn_mask = encoding_strategy.encode_tokens( + tokenize_strategy, [clip_l, clip_g, t5xxl], tokens_and_masks, args.apply_lg_attn_mask, args.apply_t5_attn_mask + ) + neg_cond = encoding_strategy.concat_encodings(lg_out, t5_out, pooled) + + # attn masks are not used currently + + if args.offload: + clip_l.to("cpu") + clip_g.to("cpu") + t5xxl.to("cpu") + + # generate image + logger.info("Generating image...") + mmdit.to(device) + latent_sampled = do_sample(target_height, target_width, None, seed, cond, neg_cond, mmdit, steps, cfg_scale, sd3_dtype, device) + if args.offload: + mmdit.to("cpu") + + # latent to image + vae.to(device) + with torch.no_grad(): + image = vae.decode(latent_sampled) + + if args.offload: + vae.to("cpu") + + image = image.float() + image = torch.clamp((image + 1.0) / 2.0, min=0.0, max=1.0)[0] + decoded_np = 255.0 * np.moveaxis(image.cpu().numpy(), 0, 2) + decoded_np = decoded_np.astype(np.uint8) + out_image = Image.fromarray(decoded_np) + + # save image + output_dir = args.output_dir + os.makedirs(output_dir, exist_ok=True) + output_path = os.path.join(output_dir, f"{datetime.datetime.now().strftime('%Y%m%d_%H%M%S')}.png") + out_image.save(output_path) + + logger.info(f"Saved image to {output_path}") + + if __name__ == "__main__": target_height = 1024 target_width = 1024 # steps = 50 # 28 # 50 - guidance_scale = 5 + # cfg_scale = 5 # seed = 1 # None # 1 device = get_preferred_device() @@ -145,15 +218,17 @@ def do_sample( parser.add_argument("--clip_g", type=str, required=False) parser.add_argument("--clip_l", type=str, required=False) parser.add_argument("--t5xxl", type=str, required=False) - parser.add_argument("--t5xxl_token_length", type=int, default=77, help="t5xxl token length, default: 77") + parser.add_argument("--t5xxl_token_length", type=int, default=256, help="t5xxl token length, default: 256") parser.add_argument("--apply_lg_attn_mask", action="store_true") parser.add_argument("--apply_t5_attn_mask", action="store_true") parser.add_argument("--prompt", type=str, default="A photo of a cat") # parser.add_argument("--prompt2", type=str, default=None) # do not support different prompts for text encoders parser.add_argument("--negative_prompt", type=str, default="") + parser.add_argument("--cfg_scale", type=float, default=5.0) + parser.add_argument("--offload", action="store_true", help="Offload to CPU") parser.add_argument("--output_dir", type=str, default=".") - parser.add_argument("--do_not_use_t5xxl", action="store_true") - parser.add_argument("--attn_mode", type=str, default="torch", help="torch (SDPA) or xformers. default: torch") + # parser.add_argument("--do_not_use_t5xxl", action="store_true") + # parser.add_argument("--attn_mode", type=str, default="torch", help="torch (SDPA) or xformers. default: torch") parser.add_argument("--fp16", action="store_true") parser.add_argument("--bf16", action="store_true") parser.add_argument("--seed", type=int, default=1) @@ -165,7 +240,9 @@ def do_sample( # default=[], # help="LoRA weights, only supports networks.lora, each argument is a `path;multiplier` (semi-colon separated)", # ) - # parser.add_argument("--interactive", action="store_true") + parser.add_argument("--width", type=int, default=target_width) + parser.add_argument("--height", type=int, default=target_height) + parser.add_argument("--interactive", action="store_true") args = parser.parse_args() seed = args.seed @@ -177,185 +254,126 @@ def do_sample( elif args.bf16: sd3_dtype = torch.bfloat16 - # TODO test with separated safetenors files for each model + loading_device = "cpu" if args.offload else device # load state dict logger.info(f"Loading SD3 models from {args.ckpt_path}...") - state_dict = load_file(args.ckpt_path) - - if "text_encoders.clip_g.transformer.text_model.embeddings.position_embedding.weight" in state_dict: - # found clip_g: remove prefix "text_encoders.clip_g." - logger.info("clip_g is included in the checkpoint") - clip_g_sd = {} - prefix = "text_encoders.clip_g." - for k, v in list(state_dict.items()): - if k.startswith(prefix): - clip_g_sd[k[len(prefix) :]] = state_dict.pop(k) - else: - logger.info(f"Lodaing clip_g from {args.clip_g}...") - clip_g_sd = load_file(args.clip_g) - for key in list(clip_g_sd.keys()): - clip_g_sd["transformer." + key] = clip_g_sd.pop(key) - - if "text_encoders.clip_l.transformer.text_model.embeddings.position_embedding.weight" in state_dict: - # found clip_l: remove prefix "text_encoders.clip_l." - logger.info("clip_l is included in the checkpoint") - clip_l_sd = {} - prefix = "text_encoders.clip_l." - for k, v in list(state_dict.items()): - if k.startswith(prefix): - clip_l_sd[k[len(prefix) :]] = state_dict.pop(k) - else: - logger.info(f"Lodaing clip_l from {args.clip_l}...") - clip_l_sd = load_file(args.clip_l) - for key in list(clip_l_sd.keys()): - clip_l_sd["transformer." + key] = clip_l_sd.pop(key) - - if "text_encoders.t5xxl.transformer.encoder.block.0.layer.0.SelfAttention.k.weight" in state_dict: - # found t5xxl: remove prefix "text_encoders.t5xxl." - logger.info("t5xxl is included in the checkpoint") - if not args.do_not_use_t5xxl: - t5xxl_sd = {} - prefix = "text_encoders.t5xxl." - for k, v in list(state_dict.items()): - if k.startswith(prefix): - t5xxl_sd[k[len(prefix) :]] = state_dict.pop(k) - else: - logger.info("but not used") - for key in list(state_dict.keys()): - if key.startswith("text_encoders.t5xxl."): - state_dict.pop(key) - t5xxl_sd = None - elif args.t5xxl: - assert not args.do_not_use_t5xxl, "t5xxl is not used but specified" - logger.info(f"Lodaing t5xxl from {args.t5xxl}...") - t5xxl_sd = load_file(args.t5xxl) - for key in list(t5xxl_sd.keys()): - t5xxl_sd["transformer." + key] = t5xxl_sd.pop(key) - else: - logger.info("t5xxl is not used") - t5xxl_sd = None - - use_t5xxl = t5xxl_sd is not None - - # MMDiT and VAE - vae_sd = {} - vae_prefix = "first_stage_model." - mmdit_prefix = "model.diffusion_model." - for k, v in list(state_dict.items()): - if k.startswith(vae_prefix): - vae_sd[k[len(vae_prefix) :]] = state_dict.pop(k) - elif k.startswith(mmdit_prefix): - state_dict[k[len(mmdit_prefix) :]] = state_dict.pop(k) - - # load tokenizers - logger.info("Loading tokenizers...") - tokenize_strategy = strategy_sd3.Sd3TokenizeStrategy(args.t5xxl_token_length) - - # load models - # logger.info("Create MMDiT from SD3 checkpoint...") - # mmdit = sd3_utils.create_mmdit_from_sd3_checkpoint(state_dict) - logger.info("Create MMDiT") - mmdit = sd3_models.create_mmdit_sd3_medium_configs(args.attn_mode) - - logger.info("Loading state dict...") - info = mmdit.load_state_dict(state_dict) - logger.info(f"Loaded MMDiT: {info}") - - logger.info(f"Move MMDiT to {device} and {sd3_dtype}...") - mmdit.to(device, dtype=sd3_dtype) - mmdit.eval() - - # load VAE - logger.info("Create VAE") - vae = sd3_models.SDVAE() - logger.info("Loading state dict...") - info = vae.load_state_dict(vae_sd) - logger.info(f"Loaded VAE: {info}") - - logger.info(f"Move VAE to {device} and {sd3_dtype}...") - vae.to(device, dtype=sd3_dtype) - vae.eval() + # state_dict = load_file(args.ckpt_path) + state_dict = load_safetensors(args.ckpt_path, loading_device, disable_mmap=True, dtype=sd3_dtype) # load text encoders - logger.info("Create clip_l") - clip_l = sd3_models.create_clip_l(device, sd3_dtype, clip_l_sd) + clip_l = sd3_utils.load_clip_l(args.clip_l, sd3_dtype, loading_device, state_dict=state_dict) + clip_g = sd3_utils.load_clip_g(args.clip_g, sd3_dtype, loading_device, state_dict=state_dict) + t5xxl = sd3_utils.load_t5xxl(args.t5xxl, sd3_dtype, loading_device, state_dict=state_dict) - logger.info("Loading state dict...") - info = clip_l.load_state_dict(clip_l_sd) - logger.info(f"Loaded clip_l: {info}") + # MMDiT and VAE + vae = sd3_utils.load_vae(None, sd3_dtype, loading_device, state_dict=state_dict) + mmdit = sd3_utils.load_mmdit(state_dict, sd3_dtype, loading_device) + + clip_l.to(sd3_dtype) + clip_g.to(sd3_dtype) + t5xxl.to(sd3_dtype) + vae.to(sd3_dtype) + mmdit.to(sd3_dtype) + if not args.offload: + # make sure to move to the device: some tensors are created in the constructor on the CPU + clip_l.to(device) + clip_g.to(device) + t5xxl.to(device) + vae.to(device) + mmdit.to(device) - logger.info(f"Move clip_l to {device} and {sd3_dtype}...") - clip_l.to(device, dtype=sd3_dtype) clip_l.eval() - logger.info(f"Set attn_mode to {args.attn_mode}...") - clip_l.set_attn_mode(args.attn_mode) - - logger.info("Create clip_g") - clip_g = sd3_models.create_clip_g(device, sd3_dtype, clip_g_sd) - - logger.info("Loading state dict...") - info = clip_g.load_state_dict(clip_g_sd) - logger.info(f"Loaded clip_g: {info}") - - logger.info(f"Move clip_g to {device} and {sd3_dtype}...") - clip_g.to(device, dtype=sd3_dtype) clip_g.eval() - logger.info(f"Set attn_mode to {args.attn_mode}...") - clip_g.set_attn_mode(args.attn_mode) - - if use_t5xxl: - logger.info("Create t5xxl") - t5xxl = sd3_models.create_t5xxl(device, sd3_dtype, t5xxl_sd) - - logger.info("Loading state dict...") - info = t5xxl.load_state_dict(t5xxl_sd) - logger.info(f"Loaded t5xxl: {info}") - - logger.info(f"Move t5xxl to {device} and {sd3_dtype}...") - t5xxl.to(device, dtype=sd3_dtype) - # t5xxl.to("cpu", dtype=torch.float32) # run on CPU - t5xxl.eval() - logger.info(f"Set attn_mode to {args.attn_mode}...") - t5xxl.set_attn_mode(args.attn_mode) - else: - t5xxl = None + t5xxl.eval() + mmdit.eval() + vae.eval() - # prepare embeddings - logger.info("Encoding prompts...") + # load tokenizers + logger.info("Loading tokenizers...") + tokenize_strategy = strategy_sd3.Sd3TokenizeStrategy(args.t5xxl_token_length) encoding_strategy = strategy_sd3.Sd3TextEncodingStrategy() - tokens_and_masks = tokenize_strategy.tokenize(args.prompt) - lg_out, t5_out, pooled = encoding_strategy.encode_tokens( - tokenize_strategy, [clip_l, clip_g, t5xxl], tokens_and_masks, args.apply_lg_attn_mask, args.apply_t5_attn_mask - ) - cond = encoding_strategy.concat_encodings(lg_out, t5_out, pooled) - - tokens_and_masks = tokenize_strategy.tokenize(args.negative_prompt) - lg_out, t5_out, pooled = encoding_strategy.encode_tokens( - tokenize_strategy, [clip_l, clip_g, t5xxl], tokens_and_masks, args.apply_lg_attn_mask, args.apply_t5_attn_mask - ) - neg_cond = encoding_strategy.concat_encodings(lg_out, t5_out, pooled) - - # generate image - logger.info("Generating image...") - latent_sampled = do_sample( - target_height, target_width, None, seed, cond, neg_cond, mmdit, steps, guidance_scale, sd3_dtype, device - ) - - # latent to image - with torch.no_grad(): - image = vae.decode(latent_sampled) - image = image.float() - image = torch.clamp((image + 1.0) / 2.0, min=0.0, max=1.0)[0] - decoded_np = 255.0 * np.moveaxis(image.cpu().numpy(), 0, 2) - decoded_np = decoded_np.astype(np.uint8) - out_image = Image.fromarray(decoded_np) - - # save image - output_dir = args.output_dir - os.makedirs(output_dir, exist_ok=True) - output_path = os.path.join(output_dir, f"{datetime.datetime.now().strftime('%Y%m%d_%H%M%S')}.png") - out_image.save(output_path) - - logger.info(f"Saved image to {output_path}") + if not args.interactive: + generate_image( + mmdit, + vae, + clip_l, + clip_g, + t5xxl, + args.steps, + args.prompt, + args.seed, + args.width, + args.height, + device, + args.negative_prompt, + args.cfg_scale, + ) + else: + # loop for interactive + width = args.width + height = args.height + steps = None + cfg_scale = args.cfg_scale + + while True: + print( + "Enter prompt (empty to exit). Options: --w --h --s --d " + " --n , `--n -` for empty negative prompt" + "Options are kept for the next prompt. Current options:" + f" width={width}, height={height}, steps={steps}, seed={seed}, cfg_scale={cfg_scale}" + ) + prompt = input() + if prompt == "": + break + + # parse options + options = prompt.split("--") + prompt = options[0].strip() + seed = None + negative_prompt = None + for opt in options[1:]: + try: + opt = opt.strip() + if opt.startswith("w"): + width = int(opt[1:].strip()) + elif opt.startswith("h"): + height = int(opt[1:].strip()) + elif opt.startswith("s"): + steps = int(opt[1:].strip()) + elif opt.startswith("d"): + seed = int(opt[1:].strip()) + # elif opt.startswith("m"): + # mutipliers = opt[1:].strip().split(",") + # if len(mutipliers) != len(lora_models): + # logger.error(f"Invalid number of multipliers, expected {len(lora_models)}") + # continue + # for i, lora_model in enumerate(lora_models): + # lora_model.set_multiplier(float(mutipliers[i])) + elif opt.startswith("n"): + negative_prompt = opt[1:].strip() + if negative_prompt == "-": + negative_prompt = "" + elif opt.startswith("c"): + cfg_scale = float(opt[1:].strip()) + except ValueError as e: + logger.error(f"Invalid option: {opt}, {e}") + + generate_image( + mmdit, + vae, + clip_l, + clip_g, + t5xxl, + steps if steps is not None else args.steps, + prompt, + seed if seed is not None else args.seed, + width, + height, + device, + negative_prompt if negative_prompt is not None else args.negative_prompt, + cfg_scale, + ) + + logger.info("Done!") diff --git a/sd3_train.py b/sd3_train.py index ef18c32c4..6336b4cf9 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -1,6 +1,7 @@ # training with captions import argparse +from concurrent.futures import ThreadPoolExecutor import copy import math import os @@ -11,6 +12,7 @@ from tqdm import tqdm import torch +from library import utils from library.device_utils import init_ipex, clean_memory_on_device init_ipex() @@ -38,7 +40,7 @@ ConfigSanitizer, BlueprintGenerator, ) -import library.custom_train_functions as custom_train_functions +from library.custom_train_functions import apply_masked_loss, add_custom_train_arguments # from library.custom_train_functions import ( # apply_snr_weight, @@ -61,23 +63,13 @@ def train(args): if not args.skip_cache_check: args.skip_cache_check = args.skip_latents_validity_check - assert ( - not args.weighted_captions - ), "weighted_captions is not supported currently / weighted_captionsは現在サポートされていません" + # assert ( + # not args.weighted_captions + # ), "weighted_captions is not supported currently / weighted_captionsは現在サポートされていません" # assert ( # not args.train_text_encoder or not args.cache_text_encoder_outputs # ), "cache_text_encoder_outputs is not supported when training text encoder / text encoderを学習するときはcache_text_encoder_outputsはサポートされていません" - # # training text encoder is not supported - # assert ( - # not args.train_text_encoder - # ), "training text encoder is not supported currently / text encoderの学習は現在サポートされていません" - - # # training without text encoder cache is not supported: because T5XXL must be cached - # assert ( - # args.cache_text_encoder_outputs - # ), "training without text encoder cache is not supported currently / text encoderのキャッシュなしの学習は現在サポートされていません" - assert not args.train_text_encoder or (args.use_t5xxl_cache_only or not args.cache_text_encoder_outputs), ( "when training text encoder, text encoder outputs must not be cached (except for T5XXL)" + " / text encoderの学習時はtext encoderの出力はキャッシュできません(t5xxlのみキャッシュすることは可能です)" @@ -90,13 +82,13 @@ def train(args): ) args.cache_text_encoder_outputs = True - # if args.block_lr: - # block_lrs = [float(lr) for lr in args.block_lr.split(",")] - # assert ( - # len(block_lrs) == UNET_NUM_BLOCKS_FOR_BLOCK_LR - # ), f"block_lr must have {UNET_NUM_BLOCKS_FOR_BLOCK_LR} values / block_lrは{UNET_NUM_BLOCKS_FOR_BLOCK_LR}個の値を指定してください" - # else: - # block_lrs = None + if args.train_t5xxl: + assert ( + args.train_text_encoder + ), "when training T5XXL, text encoder (CLIP-L/G) must be trained / T5XXLを学習するときはtext encoder (CLIP-L/G)も学習する必要があります" + assert ( + not args.cache_text_encoder_outputs + ), "when training T5XXL, t5xxl output must not be cached / T5XXLを学習するときはt5xxlの出力をキャッシュできません" cache_latents = args.cache_latents use_dreambooth_method = args.in_json is None @@ -111,11 +103,6 @@ def train(args): ) strategy_base.LatentsCachingStrategy.set_strategy(latents_caching_strategy) - # load tokenizer and prepare tokenize strategy - sd3_tokenizer = sd3_models.SD3Tokenizer(t5xxl_max_length=args.t5xxl_max_token_length) - sd3_tokenize_strategy = strategy_sd3.Sd3TokenizeStrategy(args.t5xxl_max_token_length) - strategy_base.TokenizeStrategy.set_strategy(sd3_tokenize_strategy) - # データセットを準備する if args.dataset_class is None: blueprint_generator = BlueprintGenerator(ConfigSanitizer(True, True, args.masked_loss, True)) @@ -156,10 +143,10 @@ def train(args): ] } - blueprint = blueprint_generator.generate(user_config, args, tokenizer=[sd3_tokenizer]) + blueprint = blueprint_generator.generate(user_config, args) train_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) else: - train_dataset_group = train_util.load_arbitrary_dataset(args, [sd3_tokenizer]) + train_dataset_group = train_util.load_arbitrary_dataset(args) current_epoch = Value("i", 0) current_step = Value("i", 0) @@ -205,72 +192,56 @@ def train(args): # mixed precisionに対応した型を用意しておき適宜castする weight_dtype, save_dtype = train_util.prepare_dtype(args) - vae_dtype = weight_dtype # torch.float32 if args.no_half_vae else weight_dtype # SD3 VAE works with fp16 - - t5xxl_dtype = weight_dtype - if args.t5xxl_dtype is not None: - if args.t5xxl_dtype == "fp16": - t5xxl_dtype = torch.float16 - elif args.t5xxl_dtype == "bf16": - t5xxl_dtype = torch.bfloat16 - elif args.t5xxl_dtype == "fp32" or args.t5xxl_dtype == "float": - t5xxl_dtype = torch.float32 - else: - raise ValueError(f"unexpected t5xxl_dtype: {args.t5xxl_dtype}") - t5xxl_device = accelerator.device if args.t5xxl_device is None else args.t5xxl_device - - clip_dtype = weight_dtype # if not args.train_text_encoder else None # モデルを読み込む - attn_mode = "xformers" if args.xformers else "torch" - - assert ( - attn_mode == "torch" - ), f"attn_mode {attn_mode} is not supported yet. Please use `--sdpa` instead of `--xformers`. / attn_mode {attn_mode} はサポートされていません。`--xformers`の代わりに`--sdpa`を使ってください。" - - # SD3 state dict may contain multiple models, so we need to load it and extract one by one. annoying. - logger.info(f"Loading SD3 models from {args.pretrained_model_name_or_path}") - device_to_load = accelerator.device if args.lowram else "cpu" - sd3_state_dict = sd3_utils.load_safetensors( - args.pretrained_model_name_or_path, device_to_load, args.disable_mmap_load_safetensors - ) - # load VAE for caching latents - vae: sd3_models.SDVAE = None - if cache_latents: - vae = sd3_train_utils.load_target_model("vae", args, sd3_state_dict, accelerator, attn_mode, vae_dtype, device_to_load) - vae.to(accelerator.device, dtype=vae_dtype) - vae.requires_grad_(False) - vae.eval() - - train_dataset_group.new_cache_latents(vae, accelerator) + # t5xxl_dtype = weight_dtype + # if args.t5xxl_dtype is not None: + # if args.t5xxl_dtype == "fp16": + # t5xxl_dtype = torch.float16 + # elif args.t5xxl_dtype == "bf16": + # t5xxl_dtype = torch.bfloat16 + # elif args.t5xxl_dtype == "fp32" or args.t5xxl_dtype == "float": + # t5xxl_dtype = torch.float32 + # else: + # raise ValueError(f"unexpected t5xxl_dtype: {args.t5xxl_dtype}") + # t5xxl_device = accelerator.device if args.t5xxl_device is None else args.t5xxl_device + # clip_dtype = weight_dtype # if not args.train_text_encoder else None + + # if clip_l is not specified, the checkpoint must contain clip_l, so we load state dict here + # if full_fp16/bf16, model_dtype is casted to fp16/bf16. If not, model_dtype is None (float32). + # by loading with model_dtype, we can reduce memory usage. + model_dtype = match_mixed_precision(args, weight_dtype) # None (default) or fp16/bf16 (full_xxxx) + if args.clip_l is None: + sd3_state_dict = utils.load_safetensors( + args.pretrained_model_name_or_path, "cpu", args.disable_mmap_load_safetensors, model_dtype + ) + else: + sd3_state_dict = None - vae.to("cpu") # if no sampling, vae can be deleted - clean_memory_on_device(accelerator.device) + # load tokenizer and prepare tokenize strategy + if args.t5xxl_max_token_length is None: + t5xxl_max_token_length = 256 # default value for T5XXL + else: + t5xxl_max_token_length = args.t5xxl_max_token_length - accelerator.wait_for_everyone() + sd3_tokenize_strategy = strategy_sd3.Sd3TokenizeStrategy(t5xxl_max_token_length) + strategy_base.TokenizeStrategy.set_strategy(sd3_tokenize_strategy) # load clip_l, clip_g, t5xxl for caching text encoder outputs - # # models are usually loaded on CPU and moved to GPU later. This is to avoid OOM on GPU0. - # mmdit, clip_l, clip_g, t5xxl, vae = sd3_train_utils.load_target_model( - # args, accelerator, attn_mode, weight_dtype, clip_dtype, t5xxl_device, t5xxl_dtype, vae_dtype - # ) - clip_l = sd3_train_utils.load_target_model("clip_l", args, sd3_state_dict, accelerator, attn_mode, clip_dtype, device_to_load) - clip_g = sd3_train_utils.load_target_model("clip_g", args, sd3_state_dict, accelerator, attn_mode, clip_dtype, device_to_load) - assert clip_l is not None, "clip_l is required / clip_lは必須です" - assert clip_g is not None, "clip_g is required / clip_gは必須です" - - t5xxl = sd3_train_utils.load_target_model("t5xxl", args, sd3_state_dict, accelerator, attn_mode, t5xxl_dtype, device_to_load) - # logit_scale = logit_scale.to(accelerator.device, dtype=weight_dtype) - - # should be deleted after caching text encoder outputs when not training text encoder - # this strategy should not be used other than this process - text_encoding_strategy = strategy_sd3.Sd3TextEncodingStrategy() + # clip_l = sd3_train_utils.load_target_model("clip_l", args, sd3_state_dict, accelerator, attn_mode, clip_dtype, device_to_load) + # clip_g = sd3_train_utils.load_target_model("clip_g", args, sd3_state_dict, accelerator, attn_mode, clip_dtype, device_to_load) + clip_l = sd3_utils.load_clip_l(args.clip_l, weight_dtype, "cpu", args.disable_mmap_load_safetensors, state_dict=sd3_state_dict) + clip_g = sd3_utils.load_clip_g(args.clip_g, weight_dtype, "cpu", args.disable_mmap_load_safetensors, state_dict=sd3_state_dict) + t5xxl = sd3_utils.load_t5xxl(args.t5xxl, weight_dtype, "cpu", args.disable_mmap_load_safetensors, state_dict=sd3_state_dict) + assert clip_l is not None and clip_g is not None and t5xxl is not None, "clip_l, clip_g, t5xxl must be specified" + + # prepare text encoding strategy + text_encoding_strategy = strategy_sd3.Sd3TextEncodingStrategy(args.apply_lg_attn_mask, args.apply_t5_attn_mask) strategy_base.TextEncodingStrategy.set_strategy(text_encoding_strategy) # 学習を準備する:モデルを適切な状態にする - train_clip_l = False - train_clip_g = False + train_clip = False train_t5xxl = False if args.train_text_encoder: @@ -278,99 +249,135 @@ def train(args): if args.gradient_checkpointing: clip_l.gradient_checkpointing_enable() clip_g.gradient_checkpointing_enable() + if args.train_t5xxl: + t5xxl.gradient_checkpointing_enable() + lr_te1 = args.learning_rate_te1 if args.learning_rate_te1 is not None else args.learning_rate # 0 means not train lr_te2 = args.learning_rate_te2 if args.learning_rate_te2 is not None else args.learning_rate # 0 means not train - train_clip_l = lr_te1 != 0 - train_clip_g = lr_te2 != 0 + lr_t5xxl = args.learning_rate_te3 if args.learning_rate_te3 is not None else args.learning_rate # 0 means not train + train_clip = lr_te1 != 0 or lr_te2 != 0 + train_t5xxl = lr_t5xxl != 0 and args.train_t5xxl - if not train_clip_l: - clip_l.to(weight_dtype) - if not train_clip_g: - clip_g.to(weight_dtype) - clip_l.requires_grad_(train_clip_l) - clip_g.requires_grad_(train_clip_g) - clip_l.train(train_clip_l) - clip_g.train(train_clip_g) + clip_l.to(weight_dtype) + clip_g.to(weight_dtype) + t5xxl.to(weight_dtype) + clip_l.requires_grad_(train_clip) + clip_g.requires_grad_(train_clip) + t5xxl.requires_grad_(train_t5xxl) else: + print("disable text encoder training") clip_l.to(weight_dtype) clip_g.to(weight_dtype) + t5xxl.to(weight_dtype) clip_l.requires_grad_(False) clip_g.requires_grad_(False) - clip_l.eval() - clip_g.eval() - - if t5xxl is not None: - t5xxl.to(t5xxl_dtype) t5xxl.requires_grad_(False) - t5xxl.eval() + lr_te1 = 0 + lr_te2 = 0 + lr_t5xxl = 0 # cache text encoder outputs sample_prompts_te_outputs = None if args.cache_text_encoder_outputs: - # Text Encodes are eval and no grad here clip_l.to(accelerator.device) clip_g.to(accelerator.device) - if t5xxl is not None: - t5xxl.to(t5xxl_device) + t5xxl.to(accelerator.device) + clip_l.eval() + clip_g.eval() + t5xxl.eval() text_encoder_caching_strategy = strategy_sd3.Sd3TextEncoderOutputsCachingStrategy( args.cache_text_encoder_outputs_to_disk, args.text_encoder_batch_size, args.skip_cache_check, - train_clip_g or train_clip_l or args.use_t5xxl_cache_only, + train_clip or args.use_t5xxl_cache_only, # if clip is trained or t5xxl is cached, caching is partial args.apply_lg_attn_mask, args.apply_t5_attn_mask, ) strategy_base.TextEncoderOutputsCachingStrategy.set_strategy(text_encoder_caching_strategy) - clip_l.to(accelerator.device, dtype=weight_dtype) - clip_g.to(accelerator.device, dtype=weight_dtype) - if t5xxl is not None: - t5xxl.to(t5xxl_device, dtype=t5xxl_dtype) - with accelerator.autocast(): train_dataset_group.new_cache_text_encoder_outputs([clip_l, clip_g, t5xxl], accelerator) # cache sample prompt's embeddings to free text encoder's memory if args.sample_prompts is not None: logger.info(f"cache Text Encoder outputs for sample prompt: {args.sample_prompts}") - prompts = sd3_train_utils.load_prompts(args.sample_prompts) + prompts = train_util.load_prompts(args.sample_prompts) sample_prompts_te_outputs = {} # key: prompt, value: text encoder outputs with accelerator.autocast(), torch.no_grad(): for prompt_dict in prompts: for p in [prompt_dict.get("prompt", ""), prompt_dict.get("negative_prompt", "")]: if p not in sample_prompts_te_outputs: logger.info(f"cache Text Encoder outputs for prompt: {p}") - tokens_list = sd3_tokenize_strategy.tokenize(p) + tokens_and_masks = sd3_tokenize_strategy.tokenize(p) sample_prompts_te_outputs[p] = text_encoding_strategy.encode_tokens( sd3_tokenize_strategy, [clip_l, clip_g, t5xxl], - tokens_list, + tokens_and_masks, args.apply_lg_attn_mask, args.apply_t5_attn_mask, ) accelerator.wait_for_everyone() + # now we can delete Text Encoders to free memory + if args.use_t5xxl_cache_only: + clip_l = None + clip_g = None + t5xxl = None + + clean_memory_on_device(accelerator.device) + + # load VAE for caching latents + if sd3_state_dict is None: + sd3_state_dict = utils.load_safetensors( + args.pretrained_model_name_or_path, "cpu", args.disable_mmap_load_safetensors, model_dtype + ) + + vae = sd3_utils.load_vae(args.vae, weight_dtype, "cpu", args.disable_mmap_load_safetensors, state_dict=sd3_state_dict) + if cache_latents: + # vae = sd3_train_utils.load_target_model("vae", args, sd3_state_dict, accelerator, attn_mode, vae_dtype, device_to_load) + vae.to(accelerator.device, dtype=weight_dtype) + vae.requires_grad_(False) + vae.eval() + + train_dataset_group.new_cache_latents(vae, accelerator) + + vae.to("cpu") # if no sampling, vae can be deleted + clean_memory_on_device(accelerator.device) + + accelerator.wait_for_everyone() + # load MMDIT - # if full_fp16/bf16, model_dtype is casted to fp16/bf16. If not, model_dtype is None (float32). - # by loading with model_dtype, we can reduce memory usage. - model_dtype = match_mixed_precision(args, weight_dtype) # None (default) or fp16/bf16 (full_xxxx) - mmdit = sd3_train_utils.load_target_model("mmdit", args, sd3_state_dict, accelerator, attn_mode, model_dtype, device_to_load) + mmdit = sd3_utils.load_mmdit( + sd3_state_dict, + model_dtype, + "cpu", + ) + + # attn_mode = "xformers" if args.xformers else "torch" + # assert ( + # attn_mode == "torch" + # ), f"attn_mode {attn_mode} is not supported yet. Please use `--sdpa` instead of `--xformers`. / attn_mode {attn_mode} はサポートされていません。`--xformers`の代わりに`--sdpa`を使ってください。" + + # SD3 state dict may contain multiple models, so we need to load it and extract one by one. annoying. + logger.info(f"Loading SD3 models from {args.pretrained_model_name_or_path}") + device_to_load = accelerator.device if args.lowram else "cpu" + sd3_state_dict = utils.load_safetensors(args.pretrained_model_name_or_path, device_to_load, args.disable_mmap_load_safetensors) + if args.gradient_checkpointing: mmdit.enable_gradient_checkpointing() train_mmdit = args.learning_rate != 0 mmdit.requires_grad_(train_mmdit) if not train_mmdit: - mmdit.to(accelerator.device, dtype=weight_dtype) # because of mmdie will not be prepared + mmdit.to(accelerator.device, dtype=weight_dtype) # because of mmdit will not be prepared if not cache_latents: - # load VAE here if not cached - vae = sd3_train_utils.load_target_model("vae", args, sd3_state_dict, accelerator, attn_mode, vae_dtype, device_to_load) + # move to accelerator device vae.requires_grad_(False) vae.eval() - vae.to(accelerator.device, dtype=vae_dtype) + vae.to(accelerator.device, dtype=weight_dtype) mmdit.requires_grad_(train_mmdit) if not train_mmdit: @@ -394,19 +401,24 @@ def train(args): training_models = [] params_to_optimize = [] - # if train_unet: + param_names = [] training_models.append(mmdit) - # if block_lrs is None: params_to_optimize.append({"params": list(filter(lambda p: p.requires_grad, mmdit.parameters())), "lr": args.learning_rate}) - # else: - # params_to_optimize.extend(get_block_params_to_optimize(mmdit, block_lrs)) - - # if train_clip_l: - # training_models.append(clip_l) - # params_to_optimize.append({"params": list(clip_l.parameters()), "lr": args.learning_rate_te1 or args.learning_rate}) - # if train_clip_g: - # training_models.append(clip_g) - # params_to_optimize.append({"params": list(clip_g.parameters()), "lr": args.learning_rate_te2 or args.learning_rate}) + param_names.append([n for n, _ in mmdit.named_parameters()]) + + if train_clip: + if lr_te1 > 0: + training_models.append(clip_l) + params_to_optimize.append({"params": list(clip_l.parameters()), "lr": args.learning_rate_te1 or args.learning_rate}) + param_names.append([n for n, _ in clip_l.named_parameters()]) + if lr_te2 > 0: + training_models.append(clip_g) + params_to_optimize.append({"params": list(clip_g.parameters()), "lr": args.learning_rate_te2 or args.learning_rate}) + param_names.append([n for n, _ in clip_g.named_parameters()]) + if train_t5xxl: + training_models.append(t5xxl) + params_to_optimize.append({"params": list(t5xxl.parameters()), "lr": args.learning_rate_te3 or args.learning_rate}) + param_names.append([n for n, _ in t5xxl.named_parameters()]) # calculate number of trainable parameters n_params = 0 @@ -414,47 +426,49 @@ def train(args): for p in group["params"]: n_params += p.numel() - accelerator.print(f"train mmdit: {train_mmdit}") # , clip_l: {train_clip_l}, clip_g: {train_clip_g}") + accelerator.print(f"train mmdit: {train_mmdit} , clip:{train_clip}, t5xxl:{train_t5xxl}") accelerator.print(f"number of models: {len(training_models)}") accelerator.print(f"number of trainable parameters: {n_params}") # 学習に必要なクラスを準備する accelerator.print("prepare optimizer, data loader etc.") - if args.fused_optimizer_groups: + if args.blockwise_fused_optimizers: # fused backward pass: https://pytorch.org/tutorials/intermediate/optimizer_step_in_backward_tutorial.html - # Instead of creating an optimizer for all parameters as in the tutorial, we create an optimizer for each group of parameters. + # Instead of creating an optimizer for all parameters as in the tutorial, we create an optimizer for each block of parameters. # This balances memory usage and management complexity. - # calculate total number of parameters - n_total_params = sum(len(params["params"]) for params in params_to_optimize) - params_per_group = math.ceil(n_total_params / args.fused_optimizer_groups) - - # split params into groups, keeping the learning rate the same for all params in a group - # this will increase the number of groups if the learning rate is different for different params (e.g. U-Net and text encoders) + # split params into groups for mmdit. clip_l, clip_g, t5xxl are in each group grouped_params = [] - param_group = [] - param_group_lr = -1 - for group in params_to_optimize: - lr = group["lr"] - for p in group["params"]: - # if the learning rate is different for different params, start a new group - if lr != param_group_lr: - if param_group: - grouped_params.append({"params": param_group, "lr": param_group_lr}) - param_group = [] - param_group_lr = lr - - param_group.append(p) - - # if the group has enough parameters, start a new group - if len(param_group) == params_per_group: - grouped_params.append({"params": param_group, "lr": param_group_lr}) - param_group = [] - param_group_lr = -1 - - if param_group: - grouped_params.append({"params": param_group, "lr": param_group_lr}) + param_group = {} + group = params_to_optimize[0] + named_parameters = list(mmdit.named_parameters()) + assert len(named_parameters) == len(group["params"]), "number of parameters does not match" + for p, np in zip(group["params"], named_parameters): + # determine target layer and block index for each parameter + block_type = "other" # joint or other + if np[0].startswith("joint_blocks"): + block_idx = int(np[0].split(".")[1]) + block_type = "joint" + else: + block_idx = -1 + + param_group_key = (block_type, block_idx) + if param_group_key not in param_group: + param_group[param_group_key] = [] + param_group[param_group_key].append(p) + + block_types_and_indices = [] + for param_group_key, param_group in param_group.items(): + block_types_and_indices.append(param_group_key) + grouped_params.append({"params": param_group, "lr": args.learning_rate}) + + num_params = 0 + for p in param_group: + num_params += p.numel() + accelerator.print(f"block {param_group_key}: {num_params} parameters") + + grouped_params.extend(params_to_optimize[1:]) # add clip_l, clip_g, t5xxl if they are trained # prepare optimizers for each group optimizers = [] @@ -463,10 +477,15 @@ def train(args): optimizers.append(optimizer) optimizer = optimizers[0] # avoid error in the following code - logger.info(f"using {len(optimizers)} optimizers for fused optimizer groups") + logger.info(f"using {len(optimizers)} optimizers for blockwise fused optimizers") + if train_util.is_schedulefree_optimizer(optimizers[0], args): + raise ValueError("Schedule-free optimizer is not supported with blockwise fused optimizers") + optimizer_train_fn = lambda: None # dummy function + optimizer_eval_fn = lambda: None # dummy function else: _, _, optimizer = train_util.get_optimizer(args, trainable_params=params_to_optimize) + optimizer_train_fn, optimizer_eval_fn = train_util.get_optimizer_train_eval_fn(optimizer, args) # prepare dataloader # strategies are set here because they cannot be referenced in another process. Copy them with the dataset @@ -497,7 +516,7 @@ def train(args): train_dataset_group.set_max_train_steps(args.max_train_steps) # lr schedulerを用意する - if args.fused_optimizer_groups: + if args.blockwise_fused_optimizers: # prepare lr schedulers for each optimizer lr_schedulers = [train_util.get_scheduler_fix(args, optimizer, accelerator.num_processes) for optimizer in optimizers] lr_scheduler = lr_schedulers[0] # avoid error in the following code @@ -511,18 +530,22 @@ def train(args): ), "full_fp16 requires mixed precision='fp16' / full_fp16を使う場合はmixed_precision='fp16'を指定してください。" accelerator.print("enable full fp16 training.") mmdit.to(weight_dtype) - clip_l.to(weight_dtype) - clip_g.to(weight_dtype) + if clip_l is not None: + clip_l.to(weight_dtype) + if clip_g is not None: + clip_g.to(weight_dtype) if t5xxl is not None: - t5xxl.to(weight_dtype) # TODO check works with fp16 or not + t5xxl.to(weight_dtype) elif args.full_bf16: assert ( args.mixed_precision == "bf16" ), "full_bf16 requires mixed precision='bf16' / full_bf16を使う場合はmixed_precision='bf16'を指定してください。" accelerator.print("enable full bf16 training.") mmdit.to(weight_dtype) - clip_l.to(weight_dtype) - clip_g.to(weight_dtype) + if clip_l is not None: + clip_l.to(weight_dtype) + if clip_g is not None: + clip_g.to(weight_dtype) if t5xxl is not None: t5xxl.to(weight_dtype) @@ -533,14 +556,7 @@ def train(args): # clip_l.text_model.final_layer_norm.requires_grad_(False) # TextEncoderの出力をキャッシュするときには、すでに出力を取得済みなのでCPUへ移動する - if args.cache_text_encoder_outputs: - # move Text Encoders for sampling images. Text Encoder doesn't work on CPU with fp16 - clip_l.to("cpu", dtype=torch.float32) - clip_g.to("cpu", dtype=torch.float32) - if t5xxl is not None: - t5xxl.to("cpu", dtype=torch.float32) - clean_memory_on_device(accelerator.device) - else: + if not args.cache_text_encoder_outputs: # make sure Text Encoders are on GPU # TODO support CPU for text encoders clip_l.to(accelerator.device) @@ -548,18 +564,11 @@ def train(args): if t5xxl is not None: t5xxl.to(accelerator.device) - # TODO cache sample prompt's embeddings to free text encoder's memory - if args.cache_text_encoder_outputs: - if not args.save_t5xxl: - t5xxl = None # free memory clean_memory_on_device(accelerator.device) if args.deepspeed: ds_model = deepspeed_utils.prepare_deepspeed_model( - args, - mmdit=mmdit, - clip_l=clip_l if train_clip_l else None, - clip_g=clip_g if train_clip_g else None, + args, mmdit=mmdit, clip_l=clip_l if train_clip else None, clip_g=clip_g if train_clip else None ) # most of ZeRO stage uses optimizer partitioning, so we have to prepare optimizer and ds_model at the same time. # pull/1139#issuecomment-1986790007 ds_model, optimizer, train_dataloader, lr_scheduler = accelerator.prepare( @@ -571,10 +580,11 @@ def train(args): # acceleratorがなんかよろしくやってくれるらしい if train_mmdit: mmdit = accelerator.prepare(mmdit) - if train_clip_l: + if train_clip: clip_l = accelerator.prepare(clip_l) - if train_clip_g: clip_g = accelerator.prepare(clip_g) + if train_t5xxl: + t5xxl = accelerator.prepare(t5xxl) optimizer, train_dataloader, lr_scheduler = accelerator.prepare(optimizer, train_dataloader, lr_scheduler) # 実験的機能:勾配も含めたfp16学習を行う PyTorchにパッチを当ててfp16でのgrad scaleを有効にする @@ -586,24 +596,110 @@ def train(args): # resumeする train_util.resume_from_local_or_hf_if_specified(accelerator, args) + # memory efficient block swapping + + def submit_move_blocks(futures, thread_pool, block_idx_to_cpu, block_idx_to_cuda, blocks, device): + def move_blocks(bidx_to_cpu, block_to_cpu, bidx_to_cuda, block_to_cuda, dvc): + # print(f"Backward: Move block {bidx_to_cpu} to CPU") + block_to_cpu = block_to_cpu.to("cpu", non_blocking=True) + torch.cuda.empty_cache() + + block_to_cuda = block_to_cuda.to(dvc, non_blocking=True) + torch.cuda.synchronize() + return bidx_to_cpu, bidx_to_cuda + + block_to_cpu = blocks[block_idx_to_cpu] + block_to_cuda = blocks[block_idx_to_cuda] + + futures[block_idx_to_cuda] = thread_pool.submit( + move_blocks, block_idx_to_cpu, block_to_cpu, block_idx_to_cuda, block_to_cuda, device + ) + + def wait_blocks_move(block_idx, futures): + if block_idx not in futures: + return + future = futures.pop(block_idx) + future.result() + if args.fused_backward_pass: # use fused optimizer for backward pass: other optimizers will be supported in the future import library.adafactor_fused library.adafactor_fused.patch_adafactor_fused(optimizer) - for param_group in optimizer.param_groups: - for parameter in param_group["params"]: + + blocks_to_swap = args.blocks_to_swap + num_blocks = len(accelerator.unwrap_model(mmdit).joint_blocks) + handled_block_indices = set() + + n = 1 # only asynchronous purpose, no need to increase this number + # n = 2 + # n = max(1, os.cpu_count() // 2) + thread_pool = ThreadPoolExecutor(max_workers=n) + futures = {} + + for param_group, param_name_group in zip(optimizer.param_groups, param_names): + for parameter, param_name in zip(param_group["params"], param_name_group): if parameter.requires_grad: + grad_hook = None + + if blocks_to_swap: + is_block = param_name.startswith("double_blocks") + if is_block: + block_idx = int(param_name.split(".")[1]) + if block_idx not in handled_block_indices: + # swap following (already backpropagated) block + handled_block_indices.add(block_idx) + + # if n blocks were already backpropagated + num_blocks_propagated = num_blocks - block_idx - 1 + swapping = num_blocks_propagated > 0 and num_blocks_propagated <= blocks_to_swap + waiting = block_idx > 0 and block_idx <= blocks_to_swap + if swapping or waiting: + block_idx_to_cpu = num_blocks - num_blocks_propagated + block_idx_to_cuda = blocks_to_swap - num_blocks_propagated + block_idx_to_wait = block_idx - 1 + + # create swap hook + def create_swap_grad_hook( + bidx_to_cpu, bidx_to_cuda, bidx_to_wait, bidx: int, swpng: bool, wtng: bool + ): + def __grad_hook(tensor: torch.Tensor): + if accelerator.sync_gradients and args.max_grad_norm != 0.0: + accelerator.clip_grad_norm_(tensor, args.max_grad_norm) + optimizer.step_param(tensor, param_group) + tensor.grad = None + + if swpng: + submit_move_blocks( + futures, + thread_pool, + bidx_to_cpu, + bidx_to_cuda, + mmdit.joint_blocks, + accelerator.device, + ) + if wtng: + wait_blocks_move(bidx_to_wait, futures) + + return __grad_hook + + grad_hook = create_swap_grad_hook( + block_idx_to_cpu, block_idx_to_cuda, block_idx_to_wait, block_idx, swapping, waiting + ) + + if grad_hook is None: + + def __grad_hook(tensor: torch.Tensor, param_group=param_group): + if accelerator.sync_gradients and args.max_grad_norm != 0.0: + accelerator.clip_grad_norm_(tensor, args.max_grad_norm) + optimizer.step_param(tensor, param_group) + tensor.grad = None - def __grad_hook(tensor: torch.Tensor, param_group=param_group): - if accelerator.sync_gradients and args.max_grad_norm != 0.0: - accelerator.clip_grad_norm_(tensor, args.max_grad_norm) - optimizer.step_param(tensor, param_group) - tensor.grad = None + grad_hook = __grad_hook - parameter.register_post_accumulate_grad_hook(__grad_hook) + parameter.register_post_accumulate_grad_hook(grad_hook) - elif args.fused_optimizer_groups: + elif args.blockwise_fused_optimizers: # prepare for additional optimizers and lr schedulers for i in range(1, len(optimizers)): optimizers[i] = accelerator.prepare(optimizers[i]) @@ -618,22 +714,59 @@ def __grad_hook(tensor: torch.Tensor, param_group=param_group): num_parameters_per_group = [0] * len(optimizers) parameter_optimizer_map = {} + blocks_to_swap = args.blocks_to_swap + num_blocks = len(accelerator.unwrap_model(mmdit).joint_blocks) + + n = 1 # only asynchronous purpose, no need to increase this number + # n = max(1, os.cpu_count() // 2) + thread_pool = ThreadPoolExecutor(max_workers=n) + futures = {} + for opt_idx, optimizer in enumerate(optimizers): for param_group in optimizer.param_groups: for parameter in param_group["params"]: if parameter.requires_grad: - - def optimizer_hook(parameter: torch.Tensor): - if accelerator.sync_gradients and args.max_grad_norm != 0.0: - accelerator.clip_grad_norm_(parameter, args.max_grad_norm) - - i = parameter_optimizer_map[parameter] - optimizer_hooked_count[i] += 1 - if optimizer_hooked_count[i] == num_parameters_per_group[i]: - optimizers[i].step() - optimizers[i].zero_grad(set_to_none=True) - - parameter.register_post_accumulate_grad_hook(optimizer_hook) + block_type, block_idx = block_types_and_indices[opt_idx] + + def create_optimizer_hook(btype, bidx): + def optimizer_hook(parameter: torch.Tensor): + # print(f"optimizer_hook: {btype}, {bidx}") + if accelerator.sync_gradients and args.max_grad_norm != 0.0: + accelerator.clip_grad_norm_(parameter, args.max_grad_norm) + + i = parameter_optimizer_map[parameter] + optimizer_hooked_count[i] += 1 + if optimizer_hooked_count[i] == num_parameters_per_group[i]: + optimizers[i].step() + optimizers[i].zero_grad(set_to_none=True) + + # swap blocks if necessary + if blocks_to_swap and btype == "joint": + num_blocks_propagated = num_blocks - bidx + + swapping = num_blocks_propagated > 0 and num_blocks_propagated <= blocks_to_swap + waiting = bidx > 0 and bidx <= blocks_to_swap + + if swapping: + block_idx_to_cpu = num_blocks - num_blocks_propagated + block_idx_to_cuda = blocks_to_swap - num_blocks_propagated + # print(f"Backward: Swap blocks {block_idx_to_cpu} and {block_idx_to_cuda}") + submit_move_blocks( + futures, + thread_pool, + block_idx_to_cpu, + block_idx_to_cuda, + mmdit.joint_blocks, + accelerator.device, + ) + + if waiting: + block_idx_to_wait = bidx - 1 + wait_blocks_move(block_idx_to_wait, futures) + + return optimizer_hook + + parameter.register_post_accumulate_grad_hook(create_optimizer_hook(block_type, block_idx)) parameter_optimizer_map[parameter] = opt_idx num_parameters_per_group[opt_idx] += 1 @@ -661,17 +794,9 @@ def optimizer_hook(parameter: torch.Tensor): progress_bar = tqdm(range(args.max_train_steps), smoothing=0, disable=not accelerator.is_local_main_process, desc="steps") global_step = 0 - # noise_scheduler = DDPMScheduler( - # beta_start=0.00085, beta_end=0.012, beta_schedule="scaled_linear", num_train_timesteps=1000, clip_sample=False - # ) - noise_scheduler = sd3_train_utils.FlowMatchEulerDiscreteScheduler(num_train_timesteps=1000, shift=3.0) noise_scheduler_copy = copy.deepcopy(noise_scheduler) - # prepare_scheduler_for_custom_training(noise_scheduler, accelerator.device) - # if args.zero_terminal_snr: - # custom_train_functions.fix_noise_scheduler_betas_for_zero_terminal_snr(noise_scheduler) - if accelerator.is_main_process: init_kwargs = {} if args.wandb_run_name: @@ -685,60 +810,13 @@ def optimizer_hook(parameter: torch.Tensor): ) # For --sample_at_first + optimizer_eval_fn() sd3_train_utils.sample_images(accelerator, args, 0, global_step, mmdit, vae, [clip_l, clip_g, t5xxl], sample_prompts_te_outputs) + optimizer_train_fn() if len(accelerator.trackers) > 0: # log empty object to commit the sample images to wandb accelerator.log({}, step=0) - # following function will be moved to sd3_train_utils - - def get_sigmas(timesteps, n_dim=4, dtype=torch.float32): - sigmas = noise_scheduler_copy.sigmas.to(device=accelerator.device, dtype=dtype) - schedule_timesteps = noise_scheduler_copy.timesteps.to(accelerator.device) - timesteps = timesteps.to(accelerator.device) - step_indices = [(schedule_timesteps == t).nonzero().item() for t in timesteps] - - sigma = sigmas[step_indices].flatten() - while len(sigma.shape) < n_dim: - sigma = sigma.unsqueeze(-1) - return sigma - - def compute_density_for_timestep_sampling( - weighting_scheme: str, batch_size: int, logit_mean: float = None, logit_std: float = None, mode_scale: float = None - ): - """Compute the density for sampling the timesteps when doing SD3 training. - - Courtesy: This was contributed by Rafie Walker in https://github.com/huggingface/diffusers/pull/8528. - - SD3 paper reference: https://arxiv.org/abs/2403.03206v1. - """ - if weighting_scheme == "logit_normal": - # See 3.1 in the SD3 paper ($rf/lognorm(0.00,1.00)$). - u = torch.normal(mean=logit_mean, std=logit_std, size=(batch_size,), device="cpu") - u = torch.nn.functional.sigmoid(u) - elif weighting_scheme == "mode": - u = torch.rand(size=(batch_size,), device="cpu") - u = 1 - u - mode_scale * (torch.cos(math.pi * u / 2) ** 2 - 1 + u) - else: - u = torch.rand(size=(batch_size,), device="cpu") - return u - - def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): - """Computes loss weighting scheme for SD3 training. - - Courtesy: This was contributed by Rafie Walker in https://github.com/huggingface/diffusers/pull/8528. - - SD3 paper reference: https://arxiv.org/abs/2403.03206v1. - """ - if weighting_scheme == "sigma_sqrt": - weighting = (sigmas**-2.0).float() - elif weighting_scheme == "cosmap": - bot = 1 - 2 * sigmas + 2 * sigmas**2 - weighting = 2 / (math.pi * bot) - else: - weighting = torch.ones_like(sigmas) - return weighting - loss_recorder = train_util.LossRecorder() epoch = 0 # avoid error when max_train_steps is 0 for epoch in range(num_train_epochs): @@ -751,16 +829,16 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): for step, batch in enumerate(train_dataloader): current_step.value = global_step - if args.fused_optimizer_groups: + if args.blockwise_fused_optimizers: optimizer_hooked_count = {i: 0 for i in range(len(optimizers))} # reset counter for each step with accelerator.accumulate(*training_models): if "latents" in batch and batch["latents"] is not None: - latents = batch["latents"].to(accelerator.device).to(dtype=weight_dtype) + latents = batch["latents"].to(accelerator.device, dtype=weight_dtype) else: with torch.no_grad(): # encode images to latents. images are [-1, 1] - latents = vae.encode(batch["images"].to(vae_dtype)).to(weight_dtype) + latents = vae.encode(batch["images"]) # NaNが含まれていれば警告を表示し0に置き換える if torch.any(torch.isnan(latents)): @@ -772,7 +850,7 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): text_encoder_outputs_list = batch.get("text_encoder_outputs_list", None) if text_encoder_outputs_list is not None: - lg_out, t5_out, lg_pooled = text_encoder_outputs_list + lg_out, t5_out, lg_pooled, l_attn_mask, g_attn_mask, t5_attn_mask = text_encoder_outputs_list if args.use_t5xxl_cache_only: lg_out = None lg_pooled = None @@ -781,7 +859,7 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): t5_out = None lg_pooled = None - if lg_out is None or (train_clip_l or train_clip_g): + if lg_out is None: # not cached or training, so get from text encoders input_ids_clip_l, input_ids_clip_g, _, l_attn_mask, g_attn_mask, _ = batch["input_ids_list"] with torch.set_grad_enabled(args.train_text_encoder): @@ -811,21 +889,10 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): noise = torch.randn_like(latents) bsz = latents.shape[0] - # Sample a random timestep for each image - # for weighting schemes where we sample timesteps non-uniformly - u = compute_density_for_timestep_sampling( - weighting_scheme=args.weighting_scheme, - batch_size=bsz, - logit_mean=args.logit_mean, - logit_std=args.logit_std, - mode_scale=args.mode_scale, + # get noisy model input and timesteps + noisy_model_input, timesteps, sigmas = sd3_train_utils.get_noisy_model_input_and_timesteps( + args, noise_scheduler_copy, latents, noise, accelerator.device, weight_dtype ) - indices = (u * noise_scheduler_copy.config.num_train_timesteps).long() - timesteps = noise_scheduler_copy.timesteps[indices].to(device=accelerator.device) - - # Add noise according to flow matching. - sigmas = get_sigmas(timesteps, n_dim=latents.ndim, dtype=weight_dtype) - noisy_model_input = sigmas * noise + (1.0 - sigmas) * latents # debug: NaN check for all inputs if torch.any(torch.isnan(noisy_model_input)): @@ -840,6 +907,7 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): # call model with accelerator.autocast(): + # TODO support attention mask model_pred = mmdit(noisy_model_input, timesteps, context=context, y=lg_pooled) # Follow: Section 5 of https://arxiv.org/abs/2206.00364. @@ -848,21 +916,34 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): # these weighting schemes use a uniform timestep sampling # and instead post-weight the loss - weighting = compute_loss_weighting_for_sd3(weighting_scheme=args.weighting_scheme, sigmas=sigmas) + weighting = sd3_train_utils.compute_loss_weighting_for_sd3(weighting_scheme=args.weighting_scheme, sigmas=sigmas) # flow matching loss target = latents - # Compute regular loss. TODO simplify this - loss = torch.mean( - (weighting.float() * (model_pred.float() - target.float()) ** 2).reshape(target.shape[0], -1), - 1, + # # Compute regular loss. TODO simplify this + # loss = torch.mean( + # (weighting.float() * (model_pred.float() - target.float()) ** 2).reshape(target.shape[0], -1), + # 1, + # ) + # calculate loss + loss = train_util.conditional_loss( + model_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=None ) + if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): + loss = apply_masked_loss(loss, batch) + loss = loss.mean([1, 2, 3]) + + if weighting is not None: + loss = loss * weighting + + loss_weights = batch["loss_weights"] # 各sampleごとのweight + loss = loss * loss_weights loss = loss.mean() accelerator.backward(loss) - if not (args.fused_backward_pass or args.fused_optimizer_groups): + if not (args.fused_backward_pass or args.blockwise_fused_optimizers): if accelerator.sync_gradients and args.max_grad_norm != 0.0: params_to_clip = [] for m in training_models: @@ -875,7 +956,7 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): else: # optimizer.step() and optimizer.zero_grad() are called in the optimizer hook lr_scheduler.step() - if args.fused_optimizer_groups: + if args.blockwise_fused_optimizers: for i in range(1, len(optimizers)): lr_schedulers[i].step() @@ -884,6 +965,7 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): progress_bar.update(1) global_step += 1 + optimizer_eval_fn() sd3_train_utils.sample_images( accelerator, args, None, global_step, mmdit, vae, [clip_l, clip_g, t5xxl], sample_prompts_te_outputs ) @@ -900,12 +982,13 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): epoch, num_train_epochs, global_step, - accelerator.unwrap_model(clip_l) if args.save_clip else None, - accelerator.unwrap_model(clip_g) if args.save_clip else None, - accelerator.unwrap_model(t5xxl) if args.save_t5xxl else None, - accelerator.unwrap_model(mmdit), + accelerator.unwrap_model(clip_l) if train_clip else None, + accelerator.unwrap_model(clip_g) if train_clip else None, + accelerator.unwrap_model(t5xxl) if train_t5xxl else None, + accelerator.unwrap_model(mmdit) if train_mmdit else None, vae, ) + optimizer_train_fn() current_loss = loss.detach().item() # 平均なのでbatch sizeは関係ないはず if len(accelerator.trackers) > 0: @@ -928,6 +1011,7 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): accelerator.wait_for_everyone() + optimizer_eval_fn() if args.save_every_n_epochs is not None: if accelerator.is_main_process: sd3_train_utils.save_sd3_model_on_epoch_end_or_stepwise( @@ -938,10 +1022,10 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): epoch, num_train_epochs, global_step, - accelerator.unwrap_model(clip_l) if args.save_clip else None, - accelerator.unwrap_model(clip_g) if args.save_clip else None, - accelerator.unwrap_model(t5xxl) if args.save_t5xxl else None, - accelerator.unwrap_model(mmdit), + accelerator.unwrap_model(clip_l) if train_clip else None, + accelerator.unwrap_model(clip_g) if train_clip else None, + accelerator.unwrap_model(t5xxl) if train_t5xxl else None, + accelerator.unwrap_model(mmdit) if train_mmdit else None, vae, ) @@ -958,6 +1042,7 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): t5xxl = accelerator.unwrap_model(t5xxl) accelerator.end_training() + optimizer_eval_fn() if args.save_state or args.save_state_on_train_end: train_util.save_state_on_train_end(args, accelerator) @@ -970,10 +1055,10 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): save_dtype, epoch, global_step, - clip_l if args.save_clip else None, - clip_g if args.save_clip else None, - t5xxl if args.save_t5xxl else None, - mmdit, + accelerator.unwrap_model(clip_l) if train_clip else None, + accelerator.unwrap_model(clip_g) if train_clip else None, + accelerator.unwrap_model(t5xxl) if train_t5xxl else None, + accelerator.unwrap_model(mmdit) if train_mmdit else None, vae, ) logger.info("model saved.") @@ -991,13 +1076,13 @@ def setup_parser() -> argparse.ArgumentParser: train_util.add_sd_saving_arguments(parser) train_util.add_optimizer_arguments(parser) config_util.add_config_arguments(parser) - custom_train_functions.add_custom_train_arguments(parser) + add_custom_train_arguments(parser) sd3_train_utils.add_sd3_training_arguments(parser) parser.add_argument( "--train_text_encoder", action="store_true", help="train text encoder (CLIP-L and G) / text encoderも学習する" ) - # parser.add_argument("--train_t5xxl", action="store_true", help="train T5-XXL / T5-XXLも学習する") + parser.add_argument("--train_t5xxl", action="store_true", help="train T5-XXL / T5-XXLも学習する") parser.add_argument( "--use_t5xxl_cache_only", action="store_true", help="cache T5-XXL outputs only / T5-XXLの出力のみキャッシュする" ) @@ -1018,19 +1103,24 @@ def setup_parser() -> argparse.ArgumentParser: help="apply attention mask (zero embs) to T5-XXL / T5-XXLにアテンションマスク(ゼロ埋め)を適用する", ) - # TE training is disabled temporarily - # parser.add_argument( - # "--learning_rate_te1", - # type=float, - # default=None, - # help="learning rate for text encoder 1 (ViT-L) / text encoder 1 (ViT-L)の学習率", - # ) - # parser.add_argument( - # "--learning_rate_te2", - # type=float, - # default=None, - # help="learning rate for text encoder 2 (BiG-G) / text encoder 2 (BiG-G)の学習率", - # ) + parser.add_argument( + "--learning_rate_te1", + type=float, + default=None, + help="learning rate for text encoder 1 (ViT-L) / text encoder 1 (ViT-L)の学習率", + ) + parser.add_argument( + "--learning_rate_te2", + type=float, + default=None, + help="learning rate for text encoder 2 (BiG-G) / text encoder 2 (BiG-G)の学習率", + ) + parser.add_argument( + "--learning_rate_te3", + type=float, + default=None, + help="learning rate for text encoder 3 (T5-XXL) / text encoder 3 (T5-XXL)の学習率", + ) # parser.add_argument( # "--diffusers_xformers", action="store_true", help="use xformers by diffusers / Diffusersでxformersを使用する" @@ -1047,22 +1137,22 @@ def setup_parser() -> argparse.ArgumentParser: # help=f"learning rates for each block of U-Net, comma-separated, {UNET_NUM_BLOCKS_FOR_BLOCK_LR} values / " # + f"U-Netの各ブロックの学習率、カンマ区切り、{UNET_NUM_BLOCKS_FOR_BLOCK_LR}個の値", # ) + parser.add_argument( + "--blockwise_fused_optimizers", + action="store_true", + help="enable blockwise optimizers for fused backward pass and optimizer step / fused backward passとoptimizer step のためブロック単位のoptimizerを有効にする", + ) parser.add_argument( "--fused_optimizer_groups", type=int, default=None, - help="number of optimizers for fused backward pass and optimizer step / fused backward passとoptimizer stepのためのoptimizer数", + help="[DOES NOT WORK] number of optimizer groups for fused backward pass and optimizer step / fused backward passとoptimizer stepのためのoptimizerグループ数", ) parser.add_argument( "--skip_latents_validity_check", action="store_true", help="[Deprecated] use 'skip_cache_check' instead / 代わりに 'skip_cache_check' を使用してください", ) - parser.add_argument( - "--skip_cache_check", - action="store_true", - help="skip cache (latents and text encoder outputs) check / キャッシュ(latentsとtext encoder outputs)のチェックをスキップする", - ) parser.add_argument( "--num_last_block_to_freeze", type=int, From e3c43bda49ec8c5a5cb784e29f8610f1ebff0a66 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 24 Oct 2024 20:35:47 +0900 Subject: [PATCH 292/748] reduce memory usage in sample image generation --- library/sd3_train_utils.py | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/library/sd3_train_utils.py b/library/sd3_train_utils.py index 9282482d9..af8ecf2c9 100644 --- a/library/sd3_train_utils.py +++ b/library/sd3_train_utils.py @@ -402,9 +402,6 @@ def sample_images( except Exception: pass - org_vae_device = vae.device # will be on cpu - vae.to(distributed_state.device) # distributed_state.device is same as accelerator.device - if distributed_state.num_processes <= 1: # If only one device is available, just use the original prompt list. We don't need to care about the distribution of prompts. with torch.no_grad(): @@ -450,8 +447,6 @@ def sample_images( if cuda_rng_state is not None: torch.cuda.set_rng_state(cuda_rng_state) - vae.to(org_vae_device) - clean_memory_on_device(accelerator.device) @@ -531,12 +526,19 @@ def sample_image_inference( neg_cond = encoding_strategy.concat_encodings(lg_out, t5_out, pooled) # sample image - latents = do_sample(height, width, seed, cond, neg_cond, mmdit, sample_steps, scale, mmdit.dtype, accelerator.device) - latents = vae.process_out(latents.to(vae.device, dtype=vae.dtype)) + clean_memory_on_device(accelerator.device) + with accelerator.autocast(): + latents = do_sample(height, width, seed, cond, neg_cond, mmdit, sample_steps, scale, mmdit.dtype, accelerator.device) # latent to image - with torch.no_grad(): - image = vae.decode(latents) + clean_memory_on_device(accelerator.device) + org_vae_device = vae.device # will be on cpu + vae.to(accelerator.device) + latents = vae.process_out(latents.to(vae.device, dtype=vae.dtype)) + image = vae.decode(latents) + vae.to(org_vae_device) + clean_memory_on_device(accelerator.device) + image = image.float() image = torch.clamp((image + 1.0) / 2.0, min=0.0, max=1.0)[0] decoded_np = 255.0 * np.moveaxis(image.cpu().numpy(), 0, 2) From 0286114bd208717510b537d9acd940db48a158f3 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 24 Oct 2024 21:28:42 +0900 Subject: [PATCH 293/748] support SD3.5L, fix final saving --- sd3_train.py | 35 ++++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/sd3_train.py b/sd3_train.py index 6336b4cf9..d4ab13a34 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -321,7 +321,7 @@ def train(args): accelerator.wait_for_everyone() # now we can delete Text Encoders to free memory - if args.use_t5xxl_cache_only: + if not args.use_t5xxl_cache_only: clip_l = None clip_g = None t5xxl = None @@ -330,6 +330,7 @@ def train(args): # load VAE for caching latents if sd3_state_dict is None: + logger.info(f"load state dict for MMDiT and VAE from {args.pretrained_model_name_or_path}") sd3_state_dict = utils.load_safetensors( args.pretrained_model_name_or_path, "cpu", args.disable_mmap_load_safetensors, model_dtype ) @@ -360,11 +361,6 @@ def train(args): # attn_mode == "torch" # ), f"attn_mode {attn_mode} is not supported yet. Please use `--sdpa` instead of `--xformers`. / attn_mode {attn_mode} はサポートされていません。`--xformers`の代わりに`--sdpa`を使ってください。" - # SD3 state dict may contain multiple models, so we need to load it and extract one by one. annoying. - logger.info(f"Loading SD3 models from {args.pretrained_model_name_or_path}") - device_to_load = accelerator.device if args.lowram else "cpu" - sd3_state_dict = utils.load_safetensors(args.pretrained_model_name_or_path, device_to_load, args.disable_mmap_load_safetensors) - if args.gradient_checkpointing: mmdit.enable_gradient_checkpointing() @@ -555,7 +551,7 @@ def train(args): # clip_l.text_model.encoder.layers[-1].requires_grad_(False) # clip_l.text_model.final_layer_norm.requires_grad_(False) - # TextEncoderの出力をキャッシュするときには、すでに出力を取得済みなのでCPUへ移動する + # move Text Encoders to GPU if not caching outputs if not args.cache_text_encoder_outputs: # make sure Text Encoders are on GPU # TODO support CPU for text encoders @@ -817,6 +813,13 @@ def optimizer_hook(parameter: torch.Tensor): # log empty object to commit the sample images to wandb accelerator.log({}, step=0) + # show model device and dtype + logger.info(f"mmdit device: {mmdit.device}, dtype: {mmdit.dtype}" if mmdit else "mmdit is None") + logger.info(f"clip_l device: {clip_l.device}, dtype: {clip_l.dtype}" if clip_l else "clip_l is None") + logger.info(f"clip_g device: {clip_g.device}, dtype: {clip_g.dtype}" if clip_g else "clip_g is None") + logger.info(f"t5xxl device: {t5xxl.device}, dtype: {t5xxl.dtype}" if t5xxl else "t5xxl is None") + logger.info(f"vae device: {vae.device}, dtype: {vae.dtype}" if vae is not None else "vae is None") + loss_recorder = train_util.LossRecorder() epoch = 0 # avoid error when max_train_steps is 0 for epoch in range(num_train_epochs): @@ -1055,10 +1058,10 @@ def optimizer_hook(parameter: torch.Tensor): save_dtype, epoch, global_step, - accelerator.unwrap_model(clip_l) if train_clip else None, - accelerator.unwrap_model(clip_g) if train_clip else None, - accelerator.unwrap_model(t5xxl) if train_t5xxl else None, - accelerator.unwrap_model(mmdit) if train_mmdit else None, + clip_l if train_clip else None, + clip_g if train_clip else None, + t5xxl if train_t5xxl else None, + mmdit if train_mmdit else None, vae, ) logger.info("model saved.") @@ -1153,6 +1156,16 @@ def setup_parser() -> argparse.ArgumentParser: action="store_true", help="[Deprecated] use 'skip_cache_check' instead / 代わりに 'skip_cache_check' を使用してください", ) + parser.add_argument( + "--blocks_to_swap", + type=int, + default=None, + help="[EXPERIMENTAL] " + "Sets the number of blocks (~640MB) to swap during the forward and backward passes." + "Increasing this number lowers the overall VRAM used during training at the expense of training speed (s/it)." + " / 順伝播および逆伝播中にスワップするブロック(約640MB)の数を設定します。" + "この数を増やすと、トレーニング中のVRAM使用量が減りますが、トレーニング速度(s/it)も低下します。", + ) parser.add_argument( "--num_last_block_to_freeze", type=int, From f8c5146d71b1c40b69d80b7ea18c21bbb66b84f3 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 24 Oct 2024 22:02:05 +0900 Subject: [PATCH 294/748] support block swap with fused_optimizer_pass --- library/sd3_models.py | 79 +++++++++++++++++++++++++++++++++++++++++-- sd3_train.py | 19 +++++++++-- 2 files changed, 94 insertions(+), 4 deletions(-) diff --git a/library/sd3_models.py b/library/sd3_models.py index c81aa4794..e5c5887a9 100644 --- a/library/sd3_models.py +++ b/library/sd3_models.py @@ -4,6 +4,7 @@ # and some module/classes are contributed from KohakuBlueleaf. Thanks for the contribution! from ast import Tuple +from concurrent.futures import ThreadPoolExecutor from dataclasses import dataclass from functools import partial import math @@ -17,6 +18,8 @@ from torch.utils.checkpoint import checkpoint from transformers import CLIPTokenizer, T5TokenizerFast +from library.device_utils import clean_memory_on_device + from .utils import setup_logging setup_logging() @@ -848,6 +851,35 @@ def cropped_pos_embed(self, h, w, device=None): spatial_pos_embed = spatial_pos_embed.reshape(1, -1, spatial_pos_embed.shape[-1]) return spatial_pos_embed + def enable_block_swap(self, num_blocks: int): + self.blocks_to_swap = num_blocks + + n = 1 # async block swap. 1 is enough + self.thread_pool = ThreadPoolExecutor(max_workers=n) + + def move_to_device_except_swap_blocks(self, device: torch.device): + # assume model is on cpu + if self.blocks_to_swap: + save_blocks = self.joint_blocks + self.joint_blocks = None + + self.to(device) + + if self.blocks_to_swap: + self.joint_blocks = save_blocks + + def prepare_block_swap_before_forward(self): + # make: first n blocks are on cuda, and last n blocks are on cpu + if self.blocks_to_swap is None or self.blocks_to_swap == 0: + # raise ValueError("Block swap is not enabled.") + return + num_blocks = len(self.joint_blocks) + for i in range(num_blocks - self.blocks_to_swap): + self.joint_blocks[i].to(self.device) + for i in range(num_blocks - self.blocks_to_swap, num_blocks): + self.joint_blocks[i].to("cpu") + clean_memory_on_device(self.device) + def forward( self, x: torch.Tensor, @@ -881,8 +913,51 @@ def forward( 1, ) - for block in self.joint_blocks: - context, x = block(context, x, c) + if not self.blocks_to_swap: + for block in self.joint_blocks: + context, x = block(context, x, c) + else: + futures = {} + + def submit_move_blocks(block_idx_to_cpu, block_idx_to_cuda): + def move_blocks(bidx_to_cpu, block_to_cpu, bidx_to_cuda, block_to_cuda): + # print(f"Moving {bidx_to_cpu} to cpu.") + block_to_cpu.to("cpu", non_blocking=True) + torch.cuda.empty_cache() + + # print(f"Moving {bidx_to_cuda} to cuda.") + block_to_cuda.to(self.device, non_blocking=True) + + torch.cuda.synchronize() + # print(f"Block move done. {bidx_to_cpu} to cpu, {bidx_to_cuda} to cuda.") + return block_idx_to_cpu, block_idx_to_cuda + + block_to_cpu = self.joint_blocks[block_idx_to_cpu] + block_to_cuda = self.joint_blocks[block_idx_to_cuda] + # print(f"Submit move blocks. {block_idx_to_cpu} to cpu, {block_idx_to_cuda} to cuda.") + return self.thread_pool.submit(move_blocks, block_idx_to_cpu, block_to_cpu, block_idx_to_cuda, block_to_cuda) + + def wait_for_blocks_move(block_idx, ftrs): + if block_idx not in ftrs: + return + # print(f"Waiting for move blocks: {block_idx}") + # start_time = time.perf_counter() + ftr = ftrs.pop(block_idx) + ftr.result() + # torch.cuda.synchronize() + # print(f"Move blocks took {time.perf_counter() - start_time:.2f} seconds") + + for block_idx, block in enumerate(self.joint_blocks): + wait_for_blocks_move(block_idx, futures) + + context, x = block(context, x, c) + + if block_idx < self.blocks_to_swap: + block_idx_to_cpu = block_idx + block_idx_to_cuda = len(self.joint_blocks) - self.blocks_to_swap + block_idx + future = submit_move_blocks(block_idx_to_cpu, block_idx_to_cuda) + futures[block_idx_to_cuda] = future + x = self.final_layer(x, c, H, W) # Our final layer combined UnPatchify return x[:, :, :H, :W] diff --git a/sd3_train.py b/sd3_train.py index d4ab13a34..5e2efa6f8 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -369,6 +369,14 @@ def train(args): if not train_mmdit: mmdit.to(accelerator.device, dtype=weight_dtype) # because of mmdit will not be prepared + # block swap + is_swapping_blocks = args.blocks_to_swap is not None and args.blocks_to_swap > 0 + if is_swapping_blocks: + # Swap blocks between CPU and GPU to reduce memory usage, in forward and backward passes. + # This idea is based on 2kpr's great work. Thank you! + logger.info(f"enable block swap: blocks_to_swap={args.blocks_to_swap}") + mmdit.enable_block_swap(args.blocks_to_swap) + if not cache_latents: # move to accelerator device vae.requires_grad_(False) @@ -575,7 +583,9 @@ def train(args): else: # acceleratorがなんかよろしくやってくれるらしい if train_mmdit: - mmdit = accelerator.prepare(mmdit) + mmdit = accelerator.prepare(mmdit, device_placement=[not is_swapping_blocks]) + if is_swapping_blocks: + accelerator.unwrap_model(mmdit).move_to_device_except_swap_blocks(accelerator.device) # reduce peak memory usage if train_clip: clip_l = accelerator.prepare(clip_l) clip_g = accelerator.prepare(clip_g) @@ -600,8 +610,10 @@ def move_blocks(bidx_to_cpu, block_to_cpu, bidx_to_cuda, block_to_cuda, dvc): block_to_cpu = block_to_cpu.to("cpu", non_blocking=True) torch.cuda.empty_cache() + # print(f"Backward: Move block {bidx_to_cuda} to CUDA") block_to_cuda = block_to_cuda.to(dvc, non_blocking=True) torch.cuda.synchronize() + # print(f"Backward: Done moving blocks {bidx_to_cpu} and {bidx_to_cuda}") return bidx_to_cpu, bidx_to_cuda block_to_cpu = blocks[block_idx_to_cpu] @@ -639,7 +651,7 @@ def wait_blocks_move(block_idx, futures): grad_hook = None if blocks_to_swap: - is_block = param_name.startswith("double_blocks") + is_block = param_name.startswith("joint_blocks") if is_block: block_idx = int(param_name.split(".")[1]) if block_idx not in handled_block_indices: @@ -805,6 +817,9 @@ def optimizer_hook(parameter: torch.Tensor): init_kwargs=init_kwargs, ) + if is_swapping_blocks: + accelerator.unwrap_model(mmdit).prepare_block_swap_before_forward() + # For --sample_at_first optimizer_eval_fn() sd3_train_utils.sample_images(accelerator, args, 0, global_step, mmdit, vae, [clip_l, clip_g, t5xxl], sample_prompts_te_outputs) From b1e6504007aca20d15155d5c9fe880fb5e0002b8 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Fri, 25 Oct 2024 18:56:25 +0900 Subject: [PATCH 295/748] update README --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index de5cddb92..ce28d0049 100644 --- a/README.md +++ b/README.md @@ -143,6 +143,9 @@ The majority of scripts is licensed under ASL 2.0 (including codes from Diffuser - bitsandbytes, transformers, accelerate and huggingface_hub are updated. - If you encounter any issues, please report them. +- Fixed a bug where the loss weight was incorrect when `--debiased_estimation_loss` was specified with `--v_parameterization`. PR [#1715](https://github.com/kohya-ss/sd-scripts/pull/1715) Thanks to catboxanon! See [the PR](https://github.com/kohya-ss/sd-scripts/pull/1715) for details. + - Removed the warning when `--v_parameterization` is specified in SDXL and SD1.5. PR [#1717](https://github.com/kohya-ss/sd-scripts/pull/1717) + - There was a bug where the min_bucket_reso/max_bucket_reso in the dataset configuration did not create the correct resolution bucket if it was not divisible by bucket_reso_steps. These values are now warned and automatically rounded to a divisible value. Thanks to Maru-mee for raising the issue. Related PR [#1632](https://github.com/kohya-ss/sd-scripts/pull/1632) - `bitsandbytes` is updated to 0.44.0. Now you can use `AdEMAMix8bit` and `PagedAdEMAMix8bit` in the training script. PR [#1640](https://github.com/kohya-ss/sd-scripts/pull/1640) Thanks to sdbds! From d2c549d7b2a9bb3e70b5af8539fd744b474a9607 Mon Sep 17 00:00:00 2001 From: kohya-ss Date: Fri, 25 Oct 2024 21:58:31 +0900 Subject: [PATCH 296/748] support SD3 LoRA --- library/sd3_models.py | 3 + library/sd3_train_utils.py | 113 +++-- library/sd3_utils.py | 2 +- networks/lora_sd3.py | 826 +++++++++++++++++++++++++++++++++++++ sd3_train.py | 30 +- sd3_train_network.py | 427 +++++++++++++++++++ train_network.py | 2 + 7 files changed, 1335 insertions(+), 68 deletions(-) create mode 100644 networks/lora_sd3.py create mode 100644 sd3_train_network.py diff --git a/library/sd3_models.py b/library/sd3_models.py index e5c5887a9..5d09f74e8 100644 --- a/library/sd3_models.py +++ b/library/sd3_models.py @@ -761,6 +761,9 @@ def __init__( self.final_layer = UnPatch(self.hidden_size, patch_size, self.out_channels) # self.initialize_weights() + self.blocks_to_swap = None + self.thread_pool: Optional[ThreadPoolExecutor] = None + @property def model_type(self): return self._model_type diff --git a/library/sd3_train_utils.py b/library/sd3_train_utils.py index af8ecf2c9..e3c649f73 100644 --- a/library/sd3_train_utils.py +++ b/library/sd3_train_utils.py @@ -198,6 +198,23 @@ def add_sd3_training_arguments(parser: argparse.ArgumentParser): help="[DOES NOT WORK] not supported yet. T5-XXL dtype. if not specified, use default dtype (from mixed precision) / T5-XXL dtype。指定しない場合はデフォルトのdtype(mixed precisionから)を使用", ) + parser.add_argument( + "--t5xxl_max_token_length", + type=int, + default=256, + help="maximum token length for T5-XXL. 256 is the default value / T5-XXLの最大トークン長。デフォルトは256", + ) + parser.add_argument( + "--apply_lg_attn_mask", + action="store_true", + help="apply attention mask (zero embs) to CLIP-L and G / CLIP-LとGにアテンションマスク(ゼロ埋め)を適用する", + ) + parser.add_argument( + "--apply_t5_attn_mask", + action="store_true", + help="apply attention mask (zero embs) to T5-XXL / T5-XXLにアテンションマスク(ゼロ埋め)を適用する", + ) + # copy from Diffusers parser.add_argument( "--weighting_scheme", @@ -317,36 +334,36 @@ def do_sample( x = noise_scaled.to(device).to(dtype) # print(x.shape) - with torch.no_grad(): - for i in tqdm(range(len(sigmas) - 1)): - sigma_hat = sigmas[i] + # with torch.no_grad(): + for i in tqdm(range(len(sigmas) - 1)): + sigma_hat = sigmas[i] - timestep = model_sampling.timestep(sigma_hat).float() - timestep = torch.FloatTensor([timestep, timestep]).to(device) + timestep = model_sampling.timestep(sigma_hat).float() + timestep = torch.FloatTensor([timestep, timestep]).to(device) - x_c_nc = torch.cat([x, x], dim=0) - # print(x_c_nc.shape, timestep.shape, c_crossattn.shape, y.shape) + x_c_nc = torch.cat([x, x], dim=0) + # print(x_c_nc.shape, timestep.shape, c_crossattn.shape, y.shape) - model_output = mmdit(x_c_nc, timestep, context=c_crossattn, y=y) - model_output = model_output.float() - batched = model_sampling.calculate_denoised(sigma_hat, model_output, x) + model_output = mmdit(x_c_nc, timestep, context=c_crossattn, y=y) + model_output = model_output.float() + batched = model_sampling.calculate_denoised(sigma_hat, model_output, x) - pos_out, neg_out = batched.chunk(2) - denoised = neg_out + (pos_out - neg_out) * guidance_scale - # print(denoised.shape) + pos_out, neg_out = batched.chunk(2) + denoised = neg_out + (pos_out - neg_out) * guidance_scale + # print(denoised.shape) - # d = to_d(x, sigma_hat, denoised) - dims_to_append = x.ndim - sigma_hat.ndim - sigma_hat_dims = sigma_hat[(...,) + (None,) * dims_to_append] - # print(dims_to_append, x.shape, sigma_hat.shape, denoised.shape, sigma_hat_dims.shape) - """Converts a denoiser output to a Karras ODE derivative.""" - d = (x - denoised) / sigma_hat_dims + # d = to_d(x, sigma_hat, denoised) + dims_to_append = x.ndim - sigma_hat.ndim + sigma_hat_dims = sigma_hat[(...,) + (None,) * dims_to_append] + # print(dims_to_append, x.shape, sigma_hat.shape, denoised.shape, sigma_hat_dims.shape) + """Converts a denoiser output to a Karras ODE derivative.""" + d = (x - denoised) / sigma_hat_dims - dt = sigmas[i + 1] - sigma_hat + dt = sigmas[i + 1] - sigma_hat - # Euler method - x = x + d * dt - x = x.to(dtype) + # Euler method + x = x + d * dt + x = x.to(dtype) return x @@ -378,7 +395,7 @@ def sample_images( logger.info("") logger.info(f"generating sample images at step / サンプル画像生成 ステップ: {steps}") - if not os.path.isfile(args.sample_prompts): + if not os.path.isfile(args.sample_prompts) and sample_prompts_te_outputs is None: logger.error(f"No prompt file / プロンプトファイルがありません: {args.sample_prompts}") return @@ -386,7 +403,7 @@ def sample_images( # unwrap unet and text_encoder(s) mmdit = accelerator.unwrap_model(mmdit) - text_encoders = [accelerator.unwrap_model(te) for te in text_encoders] + text_encoders = None if text_encoders is None else [accelerator.unwrap_model(te) for te in text_encoders] # print([(te.parameters().__next__().device if te is not None else None) for te in text_encoders]) prompts = train_util.load_prompts(args.sample_prompts) @@ -404,7 +421,7 @@ def sample_images( if distributed_state.num_processes <= 1: # If only one device is available, just use the original prompt list. We don't need to care about the distribution of prompts. - with torch.no_grad(): + with torch.no_grad(), accelerator.autocast(): for prompt_dict in prompts: sample_image_inference( accelerator, @@ -506,29 +523,39 @@ def sample_image_inference( tokenize_strategy = strategy_base.TokenizeStrategy.get_strategy() encoding_strategy = strategy_base.TextEncodingStrategy.get_strategy() - if sample_prompts_te_outputs and prompt in sample_prompts_te_outputs: - te_outputs = sample_prompts_te_outputs[prompt] - else: - l_tokens, g_tokens, t5_tokens = tokenize_strategy.tokenize(prompt) - te_outputs = encoding_strategy.encode_tokens(tokenize_strategy, text_encoders, [l_tokens, g_tokens, t5_tokens]) - - lg_out, t5_out, pooled, l_attn_mask, g_attn_mask, t5_attn_mask = te_outputs + def encode_prompt(prpt): + text_encoder_conds = [] + if sample_prompts_te_outputs and prpt in sample_prompts_te_outputs: + text_encoder_conds = sample_prompts_te_outputs[prpt] + print(f"Using cached text encoder outputs for prompt: {prpt}") + if text_encoders is not None: + print(f"Encoding prompt: {prpt}") + tokens_and_masks = tokenize_strategy.tokenize(prpt) + # strategy has apply_t5_attn_mask option + encoded_text_encoder_conds = encoding_strategy.encode_tokens(tokenize_strategy, text_encoders, tokens_and_masks) + + # if text_encoder_conds is not cached, use encoded_text_encoder_conds + if len(text_encoder_conds) == 0: + text_encoder_conds = encoded_text_encoder_conds + else: + # if encoded_text_encoder_conds is not None, update cached text_encoder_conds + for i in range(len(encoded_text_encoder_conds)): + if encoded_text_encoder_conds[i] is not None: + text_encoder_conds[i] = encoded_text_encoder_conds[i] + return text_encoder_conds + + lg_out, t5_out, pooled, l_attn_mask, g_attn_mask, t5_attn_mask = encode_prompt(prompt) cond = encoding_strategy.concat_encodings(lg_out, t5_out, pooled) # encode negative prompts - if sample_prompts_te_outputs and negative_prompt in sample_prompts_te_outputs: - neg_te_outputs = sample_prompts_te_outputs[negative_prompt] - else: - l_tokens, g_tokens, t5_tokens = tokenize_strategy.tokenize(negative_prompt) - neg_te_outputs = encoding_strategy.encode_tokens(tokenize_strategy, text_encoders, [l_tokens, g_tokens, t5_tokens]) - - lg_out, t5_out, pooled, l_attn_mask, g_attn_mask, t5_attn_mask = neg_te_outputs + lg_out, t5_out, pooled, l_attn_mask, g_attn_mask, t5_attn_mask = encode_prompt(negative_prompt) neg_cond = encoding_strategy.concat_encodings(lg_out, t5_out, pooled) # sample image clean_memory_on_device(accelerator.device) - with accelerator.autocast(): - latents = do_sample(height, width, seed, cond, neg_cond, mmdit, sample_steps, scale, mmdit.dtype, accelerator.device) + with accelerator.autocast(), torch.no_grad(): + # mmdit may be fp8, so we need weight_dtype here. vae is always in that dtype. + latents = do_sample(height, width, seed, cond, neg_cond, mmdit, sample_steps, scale, vae.dtype, accelerator.device) # latent to image clean_memory_on_device(accelerator.device) @@ -538,7 +565,7 @@ def sample_image_inference( image = vae.decode(latents) vae.to(org_vae_device) clean_memory_on_device(accelerator.device) - + image = image.float() image = torch.clamp((image + 1.0) / 2.0, min=0.0, max=1.0)[0] decoded_np = 255.0 * np.moveaxis(image.cpu().numpy(), 0, 2) diff --git a/library/sd3_utils.py b/library/sd3_utils.py index 9ad995d81..71e50de36 100644 --- a/library/sd3_utils.py +++ b/library/sd3_utils.py @@ -91,7 +91,7 @@ def load_mmdit( mmdit = sd3_models.create_sd3_mmdit(params, attn_mode) logger.info("Loading state dict...") - info = sdxl_model_util._load_state_dict_on_device(mmdit, mmdit_sd, device, dtype) + info = mmdit.load_state_dict(mmdit_sd, strict=False, assign=True) logger.info(f"Loaded MMDiT: {info}") return mmdit diff --git a/networks/lora_sd3.py b/networks/lora_sd3.py new file mode 100644 index 000000000..cbabf8da0 --- /dev/null +++ b/networks/lora_sd3.py @@ -0,0 +1,826 @@ +# temporary minimum implementation of LoRA +# SD3 doesn't have Conv2d, so we ignore it +# TODO commonize with the original/SD3/FLUX implementation + +# LoRA network module +# reference: +# https://github.com/microsoft/LoRA/blob/main/loralib/layers.py +# https://github.com/cloneofsimo/lora/blob/master/lora_diffusion/lora.py + +import math +import os +from typing import Dict, List, Optional, Tuple, Type, Union +from transformers import CLIPTextModelWithProjection, T5EncoderModel +import numpy as np +import torch +from library.utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + +from networks.lora_flux import LoRAModule, LoRAInfModule +from library import sd3_models + + +def create_network( + multiplier: float, + network_dim: Optional[int], + network_alpha: Optional[float], + vae: sd3_models.SDVAE, + text_encoders: List[Union[CLIPTextModelWithProjection, T5EncoderModel]], + mmdit, + neuron_dropout: Optional[float] = None, + **kwargs, +): + if network_dim is None: + network_dim = 4 # default + if network_alpha is None: + network_alpha = 1.0 + + # extract dim/alpha for conv2d, and block dim + conv_dim = kwargs.get("conv_dim", None) + conv_alpha = kwargs.get("conv_alpha", None) + if conv_dim is not None: + conv_dim = int(conv_dim) + if conv_alpha is None: + conv_alpha = 1.0 + else: + conv_alpha = float(conv_alpha) + + # attn dim, mlp dim: only for DoubleStreamBlock. SingleStreamBlock is not supported because of combined qkv + context_attn_dim = kwargs.get("context_attn_dim", None) + context_mlp_dim = kwargs.get("context_mlp_dim", None) + context_mod_dim = kwargs.get("context_mod_dim", None) + x_attn_dim = kwargs.get("x_attn_dim", None) + x_mlp_dim = kwargs.get("x_mlp_dim", None) + x_mod_dim = kwargs.get("x_mod_dim", None) + if context_attn_dim is not None: + context_attn_dim = int(context_attn_dim) + if context_mlp_dim is not None: + context_mlp_dim = int(context_mlp_dim) + if context_mod_dim is not None: + context_mod_dim = int(context_mod_dim) + if x_attn_dim is not None: + x_attn_dim = int(x_attn_dim) + if x_mlp_dim is not None: + x_mlp_dim = int(x_mlp_dim) + if x_mod_dim is not None: + x_mod_dim = int(x_mod_dim) + type_dims = [context_attn_dim, context_mlp_dim, context_mod_dim, x_attn_dim, x_mlp_dim, x_mod_dim] + if all([d is None for d in type_dims]): + type_dims = None + + # emb_dims [context_embedder, t_embedder, x_embedder, y_embedder, final_mod, final_linear] + emb_dims = kwargs.get("emb_dims", None) + if emb_dims is not None: + emb_dims = emb_dims.strip() + if emb_dims.startswith("[") and emb_dims.endswith("]"): + emb_dims = emb_dims[1:-1] + emb_dims = [int(d) for d in emb_dims.split(",")] # is it better to use ast.literal_eval? + assert len(emb_dims) == 6, f"invalid emb_dims: {emb_dims}, must be 6 dimensions (context, t, x, y, final_mod, final_linear)" + + # double/single train blocks + def parse_block_selection(selection: str, total_blocks: int) -> List[bool]: + """ + Parse a block selection string and return a list of booleans. + + Args: + selection (str): A string specifying which blocks to select. + total_blocks (int): The total number of blocks available. + + Returns: + List[bool]: A list of booleans indicating which blocks are selected. + """ + if selection == "all": + return [True] * total_blocks + if selection == "none" or selection == "": + return [False] * total_blocks + + selected = [False] * total_blocks + ranges = selection.split(",") + + for r in ranges: + if "-" in r: + start, end = map(str.strip, r.split("-")) + start = int(start) + end = int(end) + assert 0 <= start < total_blocks, f"invalid start index: {start}" + assert 0 <= end < total_blocks, f"invalid end index: {end}" + assert start <= end, f"invalid range: {start}-{end}" + for i in range(start, end + 1): + selected[i] = True + else: + index = int(r) + assert 0 <= index < total_blocks, f"invalid index: {index}" + selected[index] = True + + return selected + + train_block_indices = kwargs.get("train_block_indices", None) + if train_block_indices is not None: + train_block_indices = parse_block_selection(train_block_indices, 999) # 999 is a dummy number + + # rank/module dropout + rank_dropout = kwargs.get("rank_dropout", None) + if rank_dropout is not None: + rank_dropout = float(rank_dropout) + module_dropout = kwargs.get("module_dropout", None) + if module_dropout is not None: + module_dropout = float(module_dropout) + + # split qkv + split_qkv = kwargs.get("split_qkv", False) + if split_qkv is not None: + split_qkv = True if split_qkv == "True" else False + + # train T5XXL + train_t5xxl = kwargs.get("train_t5xxl", False) + if train_t5xxl is not None: + train_t5xxl = True if train_t5xxl == "True" else False + + # verbose + verbose = kwargs.get("verbose", False) + if verbose is not None: + verbose = True if verbose == "True" else False + + # すごく引数が多いな ( ^ω^)・・・ + network = LoRANetwork( + text_encoders, + mmdit, + multiplier=multiplier, + lora_dim=network_dim, + alpha=network_alpha, + dropout=neuron_dropout, + rank_dropout=rank_dropout, + module_dropout=module_dropout, + conv_lora_dim=conv_dim, + conv_alpha=conv_alpha, + split_qkv=split_qkv, + train_t5xxl=train_t5xxl, + type_dims=type_dims, + emb_dims=emb_dims, + train_block_indices=train_block_indices, + verbose=verbose, + ) + + loraplus_lr_ratio = kwargs.get("loraplus_lr_ratio", None) + loraplus_unet_lr_ratio = kwargs.get("loraplus_unet_lr_ratio", None) + loraplus_text_encoder_lr_ratio = kwargs.get("loraplus_text_encoder_lr_ratio", None) + loraplus_lr_ratio = float(loraplus_lr_ratio) if loraplus_lr_ratio is not None else None + loraplus_unet_lr_ratio = float(loraplus_unet_lr_ratio) if loraplus_unet_lr_ratio is not None else None + loraplus_text_encoder_lr_ratio = float(loraplus_text_encoder_lr_ratio) if loraplus_text_encoder_lr_ratio is not None else None + if loraplus_lr_ratio is not None or loraplus_unet_lr_ratio is not None or loraplus_text_encoder_lr_ratio is not None: + network.set_loraplus_lr_ratio(loraplus_lr_ratio, loraplus_unet_lr_ratio, loraplus_text_encoder_lr_ratio) + + return network + + +# Create network from weights for inference, weights are not loaded here (because can be merged) +def create_network_from_weights(multiplier, file, ae, text_encoders, mmdit, weights_sd=None, for_inference=False, **kwargs): + # if unet is an instance of SdxlUNet2DConditionModel or subclass, set is_sdxl to True + if weights_sd is None: + if os.path.splitext(file)[1] == ".safetensors": + from safetensors.torch import load_file, safe_open + + weights_sd = load_file(file) + else: + weights_sd = torch.load(file, map_location="cpu") + + # get dim/alpha mapping, and train t5xxl + modules_dim = {} + modules_alpha = {} + train_t5xxl = None + for key, value in weights_sd.items(): + if "." not in key: + continue + + lora_name = key.split(".")[0] + if "alpha" in key: + modules_alpha[lora_name] = value + elif "lora_down" in key: + dim = value.size()[0] + modules_dim[lora_name] = dim + # logger.info(lora_name, value.size(), dim) + + if train_t5xxl is None or train_t5xxl is False: + train_t5xxl = "lora_te3" in lora_name + + if train_t5xxl is None: + train_t5xxl = False + + split_qkv = False # split_qkv is not needed to care, because state_dict is qkv combined + + module_class = LoRAInfModule if for_inference else LoRAModule + + network = LoRANetwork( + text_encoders, + mmdit, + multiplier=multiplier, + modules_dim=modules_dim, + modules_alpha=modules_alpha, + module_class=module_class, + split_qkv=split_qkv, + train_t5xxl=train_t5xxl, + ) + return network, weights_sd + + +class LoRANetwork(torch.nn.Module): + SD3_TARGET_REPLACE_MODULE = ["SingleDiTBlock"] + TEXT_ENCODER_TARGET_REPLACE_MODULE = ["CLIPAttention", "CLIPSdpaAttention", "CLIPMLP", "T5Attention", "T5DenseGatedActDense"] + LORA_PREFIX_SD3 = "lora_unet" # make ComfyUI compatible + LORA_PREFIX_TEXT_ENCODER_CLIP_L = "lora_te1" + LORA_PREFIX_TEXT_ENCODER_CLIP_G = "lora_te2" + LORA_PREFIX_TEXT_ENCODER_T5 = "lora_te3" # make ComfyUI compatible + + def __init__( + self, + text_encoders: List[Union[CLIPTextModelWithProjection, T5EncoderModel]], + unet: sd3_models.MMDiT, + multiplier: float = 1.0, + lora_dim: int = 4, + alpha: float = 1, + dropout: Optional[float] = None, + rank_dropout: Optional[float] = None, + module_dropout: Optional[float] = None, + conv_lora_dim: Optional[int] = None, + conv_alpha: Optional[float] = None, + module_class: Type[object] = LoRAModule, + modules_dim: Optional[Dict[str, int]] = None, + modules_alpha: Optional[Dict[str, int]] = None, + split_qkv: bool = False, + train_t5xxl: bool = False, + type_dims: Optional[List[int]] = None, + emb_dims: Optional[List[int]] = None, + train_block_indices: Optional[List[bool]] = None, + verbose: Optional[bool] = False, + ) -> None: + super().__init__() + self.multiplier = multiplier + + self.lora_dim = lora_dim + self.alpha = alpha + self.conv_lora_dim = conv_lora_dim + self.conv_alpha = conv_alpha + self.dropout = dropout + self.rank_dropout = rank_dropout + self.module_dropout = module_dropout + self.split_qkv = split_qkv + self.train_t5xxl = train_t5xxl + + self.type_dims = type_dims + self.emb_dims = emb_dims + self.train_block_indices = train_block_indices + + self.loraplus_lr_ratio = None + self.loraplus_unet_lr_ratio = None + self.loraplus_text_encoder_lr_ratio = None + + if modules_dim is not None: + logger.info(f"create LoRA network from weights") + self.emb_dims = [0] * 6 # create emb_dims + # verbose = True + else: + logger.info(f"create LoRA network. base dim (rank): {lora_dim}, alpha: {alpha}") + logger.info( + f"neuron dropout: p={self.dropout}, rank dropout: p={self.rank_dropout}, module dropout: p={self.module_dropout}" + ) + # if self.conv_lora_dim is not None: + # logger.info( + # f"apply LoRA to Conv2d with kernel size (3,3). dim (rank): {self.conv_lora_dim}, alpha: {self.conv_alpha}" + # ) + + qkv_dim = 0 + if self.split_qkv: + logger.info(f"split qkv for LoRA") + qkv_dim = unet.joint_blocks[0].context_block.attn.qkv.weight.size(0) + if train_t5xxl: + logger.info(f"train T5XXL as well") + + # create module instances + def create_modules( + is_mmdit: bool, + text_encoder_idx: Optional[int], + root_module: torch.nn.Module, + target_replace_modules: List[str], + filter: Optional[str] = None, + default_dim: Optional[int] = None, + ) -> List[LoRAModule]: + prefix = ( + self.LORA_PREFIX_SD3 + if is_mmdit + else [self.LORA_PREFIX_TEXT_ENCODER_CLIP_L, self.LORA_PREFIX_TEXT_ENCODER_CLIP_G, self.LORA_PREFIX_TEXT_ENCODER_T5][ + text_encoder_idx + ] + ) + + loras = [] + skipped = [] + for name, module in root_module.named_modules(): + if target_replace_modules is None or module.__class__.__name__ in target_replace_modules: + if target_replace_modules is None: # dirty hack for all modules + module = root_module # search all modules + + for child_name, child_module in module.named_modules(): + is_linear = child_module.__class__.__name__ == "Linear" + is_conv2d = child_module.__class__.__name__ == "Conv2d" + is_conv2d_1x1 = is_conv2d and child_module.kernel_size == (1, 1) + + if is_linear or is_conv2d: + lora_name = prefix + "." + (name + "." if name else "") + child_name + lora_name = lora_name.replace(".", "_") + + if filter is not None and not filter in lora_name: + continue + + dim = None + alpha = None + + if modules_dim is not None: + # モジュール指定あり + if lora_name in modules_dim: + dim = modules_dim[lora_name] + alpha = modules_alpha[lora_name] + else: + # 通常、すべて対象とする + if is_linear or is_conv2d_1x1: + dim = default_dim if default_dim is not None else self.lora_dim + alpha = self.alpha + + if is_mmdit and type_dims is not None: + # type_dims = [context_attn_dim, context_mlp_dim, context_mod_dim, x_attn_dim, x_mlp_dim, x_mod_dim] + identifier = [ + ("context_block", "attn"), + ("context_block", "mlp"), + ("context_block", "adaLN_modulation"), + ("x_block", "attn"), + ("x_block", "mlp"), + ("x_block", "adaLN_modulation"), + ] + for i, d in enumerate(type_dims): + if d is not None and all([id in lora_name for id in identifier[i]]): + dim = d # may be 0 for skip + break + + if is_mmdit and dim and self.train_block_indices is not None and "joint_blocks" in lora_name: + # "lora_unet_joint_blocks_0_x_block_attn_proj..." + block_index = int(lora_name.split("_")[4]) # bit dirty + if self.train_block_indices is not None and not self.train_block_indices[block_index]: + dim = 0 + + elif self.conv_lora_dim is not None: + dim = self.conv_lora_dim + alpha = self.conv_alpha + + if dim is None or dim == 0: + # skipした情報を出力 + if is_linear or is_conv2d_1x1 or (self.conv_lora_dim is not None): + skipped.append(lora_name) + continue + + # qkv split + split_dims = None + if is_mmdit and split_qkv: + if "joint_blocks" in lora_name and "qkv" in lora_name: + split_dims = [qkv_dim // 3] * 3 + + lora = module_class( + lora_name, + child_module, + self.multiplier, + dim, + alpha, + dropout=dropout, + rank_dropout=rank_dropout, + module_dropout=module_dropout, + split_dims=split_dims, + ) + loras.append(lora) + + if target_replace_modules is None: + break # all modules are searched + return loras, skipped + + # create LoRA for text encoder + # 毎回すべてのモジュールを作るのは無駄なので要検討 + self.text_encoder_loras: List[Union[LoRAModule, LoRAInfModule]] = [] + skipped_te = [] + for i, text_encoder in enumerate(text_encoders): + index = i + if not train_t5xxl and index >= 2: # 0: CLIP-L, 1: CLIP-G, 2: T5XXL, so we skip T5XXL if train_t5xxl is False + break + + logger.info(f"create LoRA for Text Encoder {index+1}:") + + text_encoder_loras, skipped = create_modules(False, index, text_encoder, LoRANetwork.TEXT_ENCODER_TARGET_REPLACE_MODULE) + logger.info(f"create LoRA for Text Encoder {index+1}: {len(text_encoder_loras)} modules.") + self.text_encoder_loras.extend(text_encoder_loras) + skipped_te += skipped + + # create LoRA for U-Net + self.unet_loras: List[Union[LoRAModule, LoRAInfModule]] + self.unet_loras, skipped_un = create_modules(True, None, unet, LoRANetwork.SD3_TARGET_REPLACE_MODULE) + + # emb_dims [context_embedder, t_embedder, x_embedder, y_embedder, final_mod, final_linear] + if self.emb_dims: + for filter, in_dim in zip( + [ + "context_embedder", + "t_embedder", + "x_embedder", + "y_embedder", + "final_layer_adaLN_modulation", + "final_layer_linear", + ], + self.emb_dims, + ): + loras, _ = create_modules(True, None, unet, None, filter=filter, default_dim=in_dim) + self.unet_loras.extend(loras) + + logger.info(f"create LoRA for SD3 MMDiT: {len(self.unet_loras)} modules.") + if verbose: + for lora in self.unet_loras: + logger.info(f"\t{lora.lora_name:50} {lora.lora_dim}, {lora.alpha}") + + skipped = skipped_te + skipped_un + if verbose and len(skipped) > 0: + logger.warning( + f"because dim (rank) is 0, {len(skipped)} LoRA modules are skipped / dim (rank)が0の為、次の{len(skipped)}個のLoRAモジュールはスキップされます:" + ) + for name in skipped: + logger.info(f"\t{name}") + + # assertion + names = set() + for lora in self.text_encoder_loras + self.unet_loras: + assert lora.lora_name not in names, f"duplicated lora name: {lora.lora_name}" + names.add(lora.lora_name) + + def set_multiplier(self, multiplier): + self.multiplier = multiplier + for lora in self.text_encoder_loras + self.unet_loras: + lora.multiplier = self.multiplier + + def set_enabled(self, is_enabled): + for lora in self.text_encoder_loras + self.unet_loras: + lora.enabled = is_enabled + + def load_weights(self, file): + if os.path.splitext(file)[1] == ".safetensors": + from safetensors.torch import load_file + + weights_sd = load_file(file) + else: + weights_sd = torch.load(file, map_location="cpu") + + info = self.load_state_dict(weights_sd, False) + return info + + def load_state_dict(self, state_dict, strict=True): + # override to convert original weight to split qkv + if not self.split_qkv: + return super().load_state_dict(state_dict, strict) + + # split qkv + for key in list(state_dict.keys()): + if not ("joint_blocks" in key and "qkv" in key): + continue + + weight = state_dict[key] + lora_name = key.split(".")[0] + if "lora_down" in key and "weight" in key: + # dense weight (rank*3, in_dim) + split_weight = torch.chunk(weight, 3, dim=0) + for i, split_w in enumerate(split_weight): + state_dict[f"{lora_name}.lora_down.{i}.weight"] = split_w + + del state_dict[key] + # print(f"split {key}: {weight.shape} to {[w.shape for w in split_weight]}") + elif "lora_up" in key and "weight" in key: + # sparse weight (out_dim=sum(split_dims), rank*3) + rank = weight.size(1) // 3 + i = 0 + split_dim = weight.shape[0] // 3 + for j in range(3): + state_dict[f"{lora_name}.lora_up.{j}.weight"] = weight[i : i + split_dim, j * rank : (j + 1) * rank] + i += split_dim + del state_dict[key] + + # alpha is unchanged + + return super().load_state_dict(state_dict, strict) + + def state_dict(self, destination=None, prefix="", keep_vars=False): + if not self.split_qkv: + return super().state_dict(destination, prefix, keep_vars) + + # merge qkv + state_dict = super().state_dict(destination, prefix, keep_vars) + new_state_dict = {} + for key in list(state_dict.keys()): + if not ("joint_blocks" in key and "qkv" in key): + new_state_dict[key] = state_dict[key] + continue + + if key not in state_dict: + continue # already merged + + lora_name = key.split(".")[0] + + # (rank, in_dim) * 3 + down_weights = [state_dict.pop(f"{lora_name}.lora_down.{i}.weight") for i in range(3)] + # (split dim, rank) * 3 + up_weights = [state_dict.pop(f"{lora_name}.lora_up.{i}.weight") for i in range(3)] + + alpha = state_dict.pop(f"{lora_name}.alpha") + + # merge down weight + down_weight = torch.cat(down_weights, dim=0) # (rank, split_dim) * 3 -> (rank*3, sum of split_dim) + + # merge up weight (sum of split_dim, rank*3) + qkv_dim, rank = up_weights[0].size() + split_dim = qkv_dim // 3 + up_weight = torch.zeros((qkv_dim, down_weight.size(0)), device=down_weight.device, dtype=down_weight.dtype) + i = 0 + for j in range(3): + up_weight[i : i + split_dim, j * rank : (j + 1) * rank] = up_weights[j] + i += split_dim + + new_state_dict[f"{lora_name}.lora_down.weight"] = down_weight + new_state_dict[f"{lora_name}.lora_up.weight"] = up_weight + new_state_dict[f"{lora_name}.alpha"] = alpha + + # print( + # f"merged {lora_name}: {lora_name}, {[w.shape for w in down_weights]}, {[w.shape for w in up_weights]} to {down_weight.shape}, {up_weight.shape}" + # ) + print(f"new key: {lora_name}.lora_down.weight, {lora_name}.lora_up.weight, {lora_name}.alpha") + + return new_state_dict + + def apply_to(self, text_encoders, mmdit, apply_text_encoder=True, apply_unet=True): + if apply_text_encoder: + logger.info(f"enable LoRA for text encoder: {len(self.text_encoder_loras)} modules") + else: + self.text_encoder_loras = [] + + if apply_unet: + logger.info(f"enable LoRA for U-Net: {len(self.unet_loras)} modules") + else: + self.unet_loras = [] + + for lora in self.text_encoder_loras + self.unet_loras: + lora.apply_to() + self.add_module(lora.lora_name, lora) + + # マージできるかどうかを返す + def is_mergeable(self): + return True + + # TODO refactor to common function with apply_to + def merge_to(self, text_encoders, mmdit, weights_sd, dtype=None, device=None): + apply_text_encoder = apply_unet = False + for key in weights_sd.keys(): + if ( + key.startswith(LoRANetwork.LORA_PREFIX_TEXT_ENCODER_CLIP_L) + or key.startswith(LoRANetwork.LORA_PREFIX_TEXT_ENCODER_CLIP_G) + or key.startswith(LoRANetwork.LORA_PREFIX_TEXT_ENCODER_T5) + ): + apply_text_encoder = True + elif key.startswith(LoRANetwork.LORA_PREFIX_MMDIT): + apply_unet = True + + if apply_text_encoder: + logger.info("enable LoRA for text encoder") + else: + self.text_encoder_loras = [] + + if apply_unet: + logger.info("enable LoRA for U-Net") + else: + self.unet_loras = [] + + for lora in self.text_encoder_loras + self.unet_loras: + sd_for_lora = {} + for key in weights_sd.keys(): + if key.startswith(lora.lora_name): + sd_for_lora[key[len(lora.lora_name) + 1 :]] = weights_sd[key] + lora.merge_to(sd_for_lora, dtype, device) + + logger.info(f"weights are merged") + + def set_loraplus_lr_ratio(self, loraplus_lr_ratio, loraplus_unet_lr_ratio, loraplus_text_encoder_lr_ratio): + self.loraplus_lr_ratio = loraplus_lr_ratio + self.loraplus_unet_lr_ratio = loraplus_unet_lr_ratio + self.loraplus_text_encoder_lr_ratio = loraplus_text_encoder_lr_ratio + + logger.info(f"LoRA+ UNet LR Ratio: {self.loraplus_unet_lr_ratio or self.loraplus_lr_ratio}") + logger.info(f"LoRA+ Text Encoder LR Ratio: {self.loraplus_text_encoder_lr_ratio or self.loraplus_lr_ratio}") + + def prepare_optimizer_params_with_multiple_te_lrs(self, text_encoder_lr, unet_lr, default_lr): + # make sure text_encoder_lr as list of three elements + # if float, use the same value for all three + if text_encoder_lr is None or (isinstance(text_encoder_lr, list) and len(text_encoder_lr) == 0): + text_encoder_lr = [default_lr, default_lr, default_lr] + elif isinstance(text_encoder_lr, float) or isinstance(text_encoder_lr, int): + text_encoder_lr = [float(text_encoder_lr), float(text_encoder_lr), float(text_encoder_lr)] + elif len(text_encoder_lr) == 1: + text_encoder_lr = [text_encoder_lr[0], text_encoder_lr[0], text_encoder_lr[0]] + elif len(text_encoder_lr) == 2: + text_encoder_lr = [text_encoder_lr[0], text_encoder_lr[1], text_encoder_lr[1]] + + self.requires_grad_(True) + + all_params = [] + lr_descriptions = [] + + def assemble_params(loras, lr, loraplus_ratio): + param_groups = {"lora": {}, "plus": {}} + for lora in loras: + for name, param in lora.named_parameters(): + if loraplus_ratio is not None and "lora_up" in name: + param_groups["plus"][f"{lora.lora_name}.{name}"] = param + else: + param_groups["lora"][f"{lora.lora_name}.{name}"] = param + + params = [] + descriptions = [] + for key in param_groups.keys(): + param_data = {"params": param_groups[key].values()} + + if len(param_data["params"]) == 0: + continue + + if lr is not None: + if key == "plus": + param_data["lr"] = lr * loraplus_ratio + else: + param_data["lr"] = lr + + if param_data.get("lr", None) == 0 or param_data.get("lr", None) is None: + logger.info("NO LR skipping!") + continue + + params.append(param_data) + descriptions.append("plus" if key == "plus" else "") + + return params, descriptions + + if self.text_encoder_loras: + loraplus_lr_ratio = self.loraplus_text_encoder_lr_ratio or self.loraplus_lr_ratio + + # split text encoder loras for te1 and te3 + te1_loras = [ + lora for lora in self.text_encoder_loras if lora.lora_name.startswith(self.LORA_PREFIX_TEXT_ENCODER_CLIP_L) + ] + te2_loras = [ + lora for lora in self.text_encoder_loras if lora.lora_name.startswith(self.LORA_PREFIX_TEXT_ENCODER_CLIP_G) + ] + te3_loras = [lora for lora in self.text_encoder_loras if lora.lora_name.startswith(self.LORA_PREFIX_TEXT_ENCODER_T5)] + if len(te1_loras) > 0: + logger.info(f"Text Encoder 1 (CLIP-L): {len(te1_loras)} modules, LR {text_encoder_lr[0]}") + params, descriptions = assemble_params(te1_loras, text_encoder_lr[0], loraplus_lr_ratio) + all_params.extend(params) + lr_descriptions.extend(["textencoder 1 " + (" " + d if d else "") for d in descriptions]) + if len(te2_loras) > 0: + logger.info(f"Text Encoder 2 (CLIP-G): {len(te2_loras)} modules, LR {text_encoder_lr[1]}") + params, descriptions = assemble_params(te2_loras, text_encoder_lr[1], loraplus_lr_ratio) + all_params.extend(params) + lr_descriptions.extend(["textencoder 1 " + (" " + d if d else "") for d in descriptions]) + if len(te3_loras) > 0: + logger.info(f"Text Encoder 3 (T5XXL): {len(te3_loras)} modules, LR {text_encoder_lr[2]}") + params, descriptions = assemble_params(te3_loras, text_encoder_lr[2], loraplus_lr_ratio) + all_params.extend(params) + lr_descriptions.extend(["textencoder 3 " + (" " + d if d else "") for d in descriptions]) + + if self.unet_loras: + params, descriptions = assemble_params( + self.unet_loras, + unet_lr if unet_lr is not None else default_lr, + self.loraplus_unet_lr_ratio or self.loraplus_lr_ratio, + ) + all_params.extend(params) + lr_descriptions.extend(["unet" + (" " + d if d else "") for d in descriptions]) + + return all_params, lr_descriptions + + def enable_gradient_checkpointing(self): + # not supported + pass + + def prepare_grad_etc(self, text_encoder, unet): + self.requires_grad_(True) + + def on_epoch_start(self, text_encoder, unet): + self.train() + + def get_trainable_params(self): + return self.parameters() + + def save_weights(self, file, dtype, metadata): + if metadata is not None and len(metadata) == 0: + metadata = None + + state_dict = self.state_dict() + + if dtype is not None: + for key in list(state_dict.keys()): + v = state_dict[key] + v = v.detach().clone().to("cpu").to(dtype) + state_dict[key] = v + + if os.path.splitext(file)[1] == ".safetensors": + from safetensors.torch import save_file + from library import train_util + + # Precalculate model hashes to save time on indexing + if metadata is None: + metadata = {} + model_hash, legacy_hash = train_util.precalculate_safetensors_hashes(state_dict, metadata) + metadata["sshs_model_hash"] = model_hash + metadata["sshs_legacy_hash"] = legacy_hash + + save_file(state_dict, file, metadata) + else: + torch.save(state_dict, file) + + def backup_weights(self): + # 重みのバックアップを行う + loras: List[LoRAInfModule] = self.text_encoder_loras + self.unet_loras + for lora in loras: + org_module = lora.org_module_ref[0] + if not hasattr(org_module, "_lora_org_weight"): + sd = org_module.state_dict() + org_module._lora_org_weight = sd["weight"].detach().clone() + org_module._lora_restored = True + + def restore_weights(self): + # 重みのリストアを行う + loras: List[LoRAInfModule] = self.text_encoder_loras + self.unet_loras + for lora in loras: + org_module = lora.org_module_ref[0] + if not org_module._lora_restored: + sd = org_module.state_dict() + sd["weight"] = org_module._lora_org_weight + org_module.load_state_dict(sd) + org_module._lora_restored = True + + def pre_calculation(self): + # 事前計算を行う + loras: List[LoRAInfModule] = self.text_encoder_loras + self.unet_loras + for lora in loras: + org_module = lora.org_module_ref[0] + sd = org_module.state_dict() + + org_weight = sd["weight"] + lora_weight = lora.get_weight().to(org_weight.device, dtype=org_weight.dtype) + sd["weight"] = org_weight + lora_weight + assert sd["weight"].shape == org_weight.shape + org_module.load_state_dict(sd) + + org_module._lora_restored = False + lora.enabled = False + + def apply_max_norm_regularization(self, max_norm_value, device): + downkeys = [] + upkeys = [] + alphakeys = [] + norms = [] + keys_scaled = 0 + + state_dict = self.state_dict() + for key in state_dict.keys(): + if "lora_down" in key and "weight" in key: + downkeys.append(key) + upkeys.append(key.replace("lora_down", "lora_up")) + alphakeys.append(key.replace("lora_down.weight", "alpha")) + + for i in range(len(downkeys)): + down = state_dict[downkeys[i]].to(device) + up = state_dict[upkeys[i]].to(device) + alpha = state_dict[alphakeys[i]].to(device) + dim = down.shape[0] + scale = alpha / dim + + if up.shape[2:] == (1, 1) and down.shape[2:] == (1, 1): + updown = (up.squeeze(2).squeeze(2) @ down.squeeze(2).squeeze(2)).unsqueeze(2).unsqueeze(3) + elif up.shape[2:] == (3, 3) or down.shape[2:] == (3, 3): + updown = torch.nn.functional.conv2d(down.permute(1, 0, 2, 3), up).permute(1, 0, 2, 3) + else: + updown = up @ down + + updown *= scale + + norm = updown.norm().clamp(min=max_norm_value / 2) + desired = torch.clamp(norm, max=max_norm_value) + ratio = desired.cpu() / norm.cpu() + sqrt_ratio = ratio**0.5 + if ratio != 1: + keys_scaled += 1 + state_dict[upkeys[i]] *= sqrt_ratio + state_dict[downkeys[i]] *= sqrt_ratio + scalednorm = updown.norm() * ratio + norms.append(scalednorm.item()) + + return keys_scaled, sum(norms) / len(norms), max(norms) diff --git a/sd3_train.py b/sd3_train.py index 5e2efa6f8..d12f7f56b 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -220,12 +220,7 @@ def train(args): sd3_state_dict = None # load tokenizer and prepare tokenize strategy - if args.t5xxl_max_token_length is None: - t5xxl_max_token_length = 256 # default value for T5XXL - else: - t5xxl_max_token_length = args.t5xxl_max_token_length - - sd3_tokenize_strategy = strategy_sd3.Sd3TokenizeStrategy(t5xxl_max_token_length) + sd3_tokenize_strategy = strategy_sd3.Sd3TokenizeStrategy(args.t5xxl_max_token_length) strategy_base.TokenizeStrategy.set_strategy(sd3_tokenize_strategy) # load clip_l, clip_g, t5xxl for caching text encoder outputs @@ -876,6 +871,9 @@ def optimizer_hook(parameter: torch.Tensor): lg_out = None t5_out = None lg_pooled = None + l_attn_mask = None + g_attn_mask = None + t5_attn_mask = None if lg_out is None: # not cached or training, so get from text encoders @@ -885,7 +883,7 @@ def optimizer_hook(parameter: torch.Tensor): # text models in sd3_models require "cpu" for input_ids input_ids_clip_l = input_ids_clip_l.to("cpu") input_ids_clip_g = input_ids_clip_g.to("cpu") - lg_out, _, lg_pooled = text_encoding_strategy.encode_tokens( + lg_out, _, lg_pooled, l_attn_mask, g_attn_mask, _ = text_encoding_strategy.encode_tokens( sd3_tokenize_strategy, [clip_l, clip_g, None], [input_ids_clip_l, input_ids_clip_g, None, l_attn_mask, g_attn_mask, None], @@ -895,7 +893,7 @@ def optimizer_hook(parameter: torch.Tensor): _, _, input_ids_t5xxl, _, _, t5_attn_mask = batch["input_ids_list"] with torch.no_grad(): input_ids_t5xxl = input_ids_t5xxl.to("cpu") if t5_out is None else None - _, t5_out, _ = text_encoding_strategy.encode_tokens( + _, t5_out, _, _, _, t5_attn_mask = text_encoding_strategy.encode_tokens( sd3_tokenize_strategy, [None, None, t5xxl], [None, None, input_ids_t5xxl, None, None, t5_attn_mask] ) @@ -1104,22 +1102,6 @@ def setup_parser() -> argparse.ArgumentParser: parser.add_argument( "--use_t5xxl_cache_only", action="store_true", help="cache T5-XXL outputs only / T5-XXLの出力のみキャッシュする" ) - parser.add_argument( - "--t5xxl_max_token_length", - type=int, - default=None, - help="maximum token length for T5-XXL. 256 if omitted / T5-XXLの最大トークン数。省略時は256", - ) - parser.add_argument( - "--apply_lg_attn_mask", - action="store_true", - help="apply attention mask (zero embs) to CLIP-L and G / CLIP-LとGにアテンションマスク(ゼロ埋め)を適用する", - ) - parser.add_argument( - "--apply_t5_attn_mask", - action="store_true", - help="apply attention mask (zero embs) to T5-XXL / T5-XXLにアテンションマスク(ゼロ埋め)を適用する", - ) parser.add_argument( "--learning_rate_te1", diff --git a/sd3_train_network.py b/sd3_train_network.py new file mode 100644 index 000000000..0f4ca93ef --- /dev/null +++ b/sd3_train_network.py @@ -0,0 +1,427 @@ +import argparse +import copy +import math +import random +from typing import Any, Optional + +import torch +from accelerate import Accelerator +from library import strategy_sd3, utils +from library.device_utils import init_ipex, clean_memory_on_device + +init_ipex() + +from library import flux_models, flux_train_utils, flux_utils, sd3_train_utils, sd3_utils, strategy_base, strategy_sd3, train_util +import train_network +from library.utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + + +class Sd3NetworkTrainer(train_network.NetworkTrainer): + def __init__(self): + super().__init__() + self.sample_prompts_te_outputs = None + self.is_schnell: Optional[bool] = None + + def assert_extra_args(self, args, train_dataset_group): + super().assert_extra_args(args, train_dataset_group) + # sdxl_train_util.verify_sdxl_training_args(args) + + if args.fp8_base_unet: + args.fp8_base = True # if fp8_base_unet is enabled, fp8_base is also enabled for SD3 + + if args.cache_text_encoder_outputs_to_disk and not args.cache_text_encoder_outputs: + logger.warning( + "cache_text_encoder_outputs_to_disk is enabled, so cache_text_encoder_outputs is also enabled / cache_text_encoder_outputs_to_diskが有効になっているため、cache_text_encoder_outputsも有効になります" + ) + args.cache_text_encoder_outputs = True + + if args.cache_text_encoder_outputs: + assert ( + train_dataset_group.is_text_encoder_output_cacheable() + ), "when caching Text Encoder output, either caption_dropout_rate, shuffle_caption, token_warmup_step or caption_tag_dropout_rate cannot be used / Text Encoderの出力をキャッシュするときはcaption_dropout_rate, shuffle_caption, token_warmup_step, caption_tag_dropout_rateは使えません" + + # prepare CLIP-L/CLIP-G/T5XXL training flags + self.train_clip = not args.network_train_unet_only + self.train_t5xxl = False # default is False even if args.network_train_unet_only is False + + if args.max_token_length is not None: + logger.warning("max_token_length is not used in Flux training / max_token_lengthはFluxのトレーニングでは使用されません") + + train_dataset_group.verify_bucket_reso_steps(32) # TODO check this + + def load_target_model(self, args, weight_dtype, accelerator): + # currently offload to cpu for some models + + # if the file is fp8 and we are using fp8_base, we can load it as is (fp8) + loading_dtype = None if args.fp8_base else weight_dtype + + # if we load to cpu, flux.to(fp8) takes a long time, so we should load to gpu in future + state_dict = utils.load_safetensors( + args.pretrained_model_name_or_path, "cpu", disable_mmap=args.disable_mmap_load_safetensors, dtype=loading_dtype + ) + mmdit = sd3_utils.load_mmdit(state_dict, loading_dtype, "cpu") + self.model_type = mmdit.model_type + + if args.fp8_base: + # check dtype of model + if mmdit.dtype == torch.float8_e4m3fnuz or mmdit.dtype == torch.float8_e5m2 or mmdit.dtype == torch.float8_e5m2fnuz: + raise ValueError(f"Unsupported fp8 model dtype: {mmdit.dtype}") + elif mmdit.dtype == torch.float8_e4m3fn: + logger.info("Loaded fp8 SD3 model") + + clip_l = sd3_utils.load_clip_l( + args.clip_l, weight_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors, state_dict=state_dict + ) + clip_l.eval() + clip_g = sd3_utils.load_clip_g( + args.clip_g, weight_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors, state_dict=state_dict + ) + clip_g.eval() + + # if the file is fp8 and we are using fp8_base (not unet), we can load it as is (fp8) + if args.fp8_base and not args.fp8_base_unet: + loading_dtype = None # as is + else: + loading_dtype = weight_dtype + + # loading t5xxl to cpu takes a long time, so we should load to gpu in future + t5xxl = sd3_utils.load_t5xxl( + args.t5xxl, loading_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors, state_dict=state_dict + ) + t5xxl.eval() + if args.fp8_base and not args.fp8_base_unet: + # check dtype of model + if t5xxl.dtype == torch.float8_e4m3fnuz or t5xxl.dtype == torch.float8_e5m2 or t5xxl.dtype == torch.float8_e5m2fnuz: + raise ValueError(f"Unsupported fp8 model dtype: {t5xxl.dtype}") + elif t5xxl.dtype == torch.float8_e4m3fn: + logger.info("Loaded fp8 T5XXL model") + + vae = sd3_utils.load_vae( + args.vae, weight_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors, state_dict=state_dict + ) + + return mmdit.model_type, [clip_l, clip_g, t5xxl], vae, mmdit + + def get_tokenize_strategy(self, args): + logger.info(f"t5xxl_max_token_length: {args.t5xxl_max_token_length}") + return strategy_sd3.Sd3TokenizeStrategy(args.t5xxl_max_token_length, args.tokenizer_cache_dir) + + def get_tokenizers(self, tokenize_strategy: strategy_sd3.Sd3TokenizeStrategy): + return [tokenize_strategy.clip_l, tokenize_strategy.clip_g, tokenize_strategy.t5xxl] + + def get_latents_caching_strategy(self, args): + latents_caching_strategy = strategy_sd3.Sd3LatentsCachingStrategy( + args.cache_latents_to_disk, args.vae_batch_size, args.skip_cache_check + ) + return latents_caching_strategy + + def get_text_encoding_strategy(self, args): + return strategy_sd3.Sd3TextEncodingStrategy(args.apply_lg_attn_mask, args.apply_t5_attn_mask) + + def post_process_network(self, args, accelerator, network, text_encoders, unet): + # check t5xxl is trained or not + self.train_t5xxl = network.train_t5xxl + + if self.train_t5xxl and args.cache_text_encoder_outputs: + raise ValueError( + "T5XXL is trained, so cache_text_encoder_outputs cannot be used / T5XXL学習時はcache_text_encoder_outputsは使用できません" + ) + + def get_models_for_text_encoding(self, args, accelerator, text_encoders): + if args.cache_text_encoder_outputs: + if self.train_clip and not self.train_t5xxl: + return text_encoders[0:2] # only CLIP-L/CLIP-G is needed for encoding because T5XXL is cached + else: + return None # no text encoders are needed for encoding because both are cached + else: + return text_encoders # CLIP-L, CLIP-G and T5XXL are needed for encoding + + def get_text_encoders_train_flags(self, args, text_encoders): + return [self.train_clip, self.train_clip, self.train_t5xxl] + + def get_text_encoder_outputs_caching_strategy(self, args): + if args.cache_text_encoder_outputs: + # if the text encoders is trained, we need tokenization, so is_partial is True + return strategy_sd3.Sd3TextEncoderOutputsCachingStrategy( + args.cache_text_encoder_outputs_to_disk, + args.text_encoder_batch_size, + args.skip_cache_check, + is_partial=self.train_clip or self.train_t5xxl, + apply_lg_attn_mask=args.apply_lg_attn_mask, + apply_t5_attn_mask=args.apply_t5_attn_mask, + ) + else: + return None + + def cache_text_encoder_outputs_if_needed( + self, args, accelerator: Accelerator, unet, vae, text_encoders, dataset: train_util.DatasetGroup, weight_dtype + ): + if args.cache_text_encoder_outputs: + if not args.lowram: + # メモリ消費を減らす + logger.info("move vae and unet to cpu to save memory") + org_vae_device = vae.device + org_unet_device = unet.device + vae.to("cpu") + unet.to("cpu") + clean_memory_on_device(accelerator.device) + + # When TE is not be trained, it will not be prepared so we need to use explicit autocast + logger.info("move text encoders to gpu") + text_encoders[0].to(accelerator.device, dtype=weight_dtype) # always not fp8 + text_encoders[1].to(accelerator.device, dtype=weight_dtype) # always not fp8 + text_encoders[2].to(accelerator.device) # may be fp8 + + if text_encoders[2].dtype == torch.float8_e4m3fn: + # if we load fp8 weights, the model is already fp8, so we use it as is + self.prepare_text_encoder_fp8(2, text_encoders[2], text_encoders[2].dtype, weight_dtype) + else: + # otherwise, we need to convert it to target dtype + text_encoders[2].to(weight_dtype) + + with accelerator.autocast(): + dataset.new_cache_text_encoder_outputs(text_encoders, accelerator) + + # cache sample prompts + if args.sample_prompts is not None: + logger.info(f"cache Text Encoder outputs for sample prompt: {args.sample_prompts}") + + tokenize_strategy: strategy_sd3.Sd3TokenizeStrategy = strategy_base.TokenizeStrategy.get_strategy() + text_encoding_strategy: strategy_sd3.Sd3TextEncodingStrategy = strategy_base.TextEncodingStrategy.get_strategy() + + prompts = train_util.load_prompts(args.sample_prompts) + sample_prompts_te_outputs = {} # key: prompt, value: text encoder outputs + with accelerator.autocast(), torch.no_grad(): + for prompt_dict in prompts: + for p in [prompt_dict.get("prompt", ""), prompt_dict.get("negative_prompt", "")]: + if p not in sample_prompts_te_outputs: + logger.info(f"cache Text Encoder outputs for prompt: {p}") + tokens_and_masks = tokenize_strategy.tokenize(p) + sample_prompts_te_outputs[p] = text_encoding_strategy.encode_tokens( + tokenize_strategy, + text_encoders, + tokens_and_masks, + args.apply_lg_attn_mask, + args.apply_t5_attn_mask, + ) + self.sample_prompts_te_outputs = sample_prompts_te_outputs + + accelerator.wait_for_everyone() + + # move back to cpu + if not self.is_train_text_encoder(args): + logger.info("move CLIP-L back to cpu") + text_encoders[0].to("cpu") + logger.info("move CLIP-G back to cpu") + text_encoders[1].to("cpu") + logger.info("move t5XXL back to cpu") + text_encoders[2].to("cpu") + clean_memory_on_device(accelerator.device) + + if not args.lowram: + logger.info("move vae and unet back to original device") + vae.to(org_vae_device) + unet.to(org_unet_device) + else: + # Text Encoderから毎回出力を取得するので、GPUに乗せておく + text_encoders[0].to(accelerator.device, dtype=weight_dtype) + text_encoders[1].to(accelerator.device, dtype=weight_dtype) + text_encoders[2].to(accelerator.device) + + # def call_unet(self, args, accelerator, unet, noisy_latents, timesteps, text_conds, batch, weight_dtype): + # noisy_latents = noisy_latents.to(weight_dtype) # TODO check why noisy_latents is not weight_dtype + + # # get size embeddings + # orig_size = batch["original_sizes_hw"] + # crop_size = batch["crop_top_lefts"] + # target_size = batch["target_sizes_hw"] + # embs = sdxl_train_util.get_size_embeddings(orig_size, crop_size, target_size, accelerator.device).to(weight_dtype) + + # # concat embeddings + # encoder_hidden_states1, encoder_hidden_states2, pool2 = text_conds + # vector_embedding = torch.cat([pool2, embs], dim=1).to(weight_dtype) + # text_embedding = torch.cat([encoder_hidden_states1, encoder_hidden_states2], dim=2).to(weight_dtype) + + # noise_pred = unet(noisy_latents, timesteps, text_embedding, vector_embedding) + # return noise_pred + + def sample_images(self, accelerator, args, epoch, global_step, device, vae, tokenizer, text_encoder, mmdit): + text_encoders = text_encoder # for compatibility + text_encoders = self.get_models_for_text_encoding(args, accelerator, text_encoders) + + sd3_train_utils.sample_images( + accelerator, args, epoch, global_step, mmdit, vae, text_encoders, self.sample_prompts_te_outputs + ) + + def get_noise_scheduler(self, args: argparse.Namespace, device: torch.device) -> Any: + # shift 3.0 is the default value + noise_scheduler = sd3_train_utils.FlowMatchEulerDiscreteScheduler(num_train_timesteps=1000, shift=3.0) + self.noise_scheduler_copy = copy.deepcopy(noise_scheduler) + return noise_scheduler + + def encode_images_to_latents(self, args, accelerator, vae, images): + return vae.encode(images) + + def shift_scale_latents(self, args, latents): + return latents + + def get_noise_pred_and_target( + self, + args, + accelerator, + noise_scheduler, + latents, + batch, + text_encoder_conds, + unet: flux_models.Flux, + network, + weight_dtype, + train_unet, + ): + # Sample noise that we'll add to the latents + noise = torch.randn_like(latents) + + # get noisy model input and timesteps + noisy_model_input, timesteps, sigmas = sd3_train_utils.get_noisy_model_input_and_timesteps( + args, self.noise_scheduler_copy, latents, noise, accelerator.device, weight_dtype + ) + + # ensure the hidden state will require grad + if args.gradient_checkpointing: + noisy_model_input.requires_grad_(True) + for t in text_encoder_conds: + if t.dtype.is_floating_point: + t.requires_grad_(True) + + # Predict the noise residual + lg_out, t5_out, lg_pooled, l_attn_mask, g_attn_mask, t5_attn_mask = text_encoder_conds + text_encoding_strategy = strategy_base.TextEncodingStrategy.get_strategy() + context, lg_pooled = text_encoding_strategy.concat_encodings(lg_out, t5_out, lg_pooled) + if not args.apply_lg_attn_mask: + l_attn_mask = None + g_attn_mask = None + if not args.apply_t5_attn_mask: + t5_attn_mask = None + + # call model + with accelerator.autocast(): + # TODO support attention mask + model_pred = unet(noisy_model_input, timesteps, context=context, y=lg_pooled) + + # Follow: Section 5 of https://arxiv.org/abs/2206.00364. + # Preconditioning of the model outputs. + model_pred = model_pred * (-sigmas) + noisy_model_input + + # these weighting schemes use a uniform timestep sampling + # and instead post-weight the loss + weighting = sd3_train_utils.compute_loss_weighting_for_sd3(weighting_scheme=args.weighting_scheme, sigmas=sigmas) + + # flow matching loss + target = latents + + # differential output preservation + if "custom_attributes" in batch: + diff_output_pr_indices = [] + for i, custom_attributes in enumerate(batch["custom_attributes"]): + if "diff_output_preservation" in custom_attributes and custom_attributes["diff_output_preservation"]: + diff_output_pr_indices.append(i) + + if len(diff_output_pr_indices) > 0: + network.set_multiplier(0.0) + with torch.no_grad(), accelerator.autocast(): + model_pred_prior = unet( + noisy_model_input[diff_output_pr_indices], + timesteps[diff_output_pr_indices], + context=context[diff_output_pr_indices], + y=lg_pooled[diff_output_pr_indices], + ) + network.set_multiplier(1.0) # may be overwritten by "network_multipliers" in the next step + + model_pred_prior = model_pred_prior * (-sigmas[diff_output_pr_indices]) + noisy_model_input[diff_output_pr_indices] + + # weighting for differential output preservation is not needed because it is already applied + + target[diff_output_pr_indices] = model_pred_prior.to(target.dtype) + + return model_pred, target, timesteps, None, weighting + + def post_process_loss(self, loss, args, timesteps, noise_scheduler): + return loss + + def get_sai_model_spec(self, args): + return train_util.get_sai_model_spec(None, args, False, True, False, sd3=self.model_type) + + def update_metadata(self, metadata, args): + metadata["ss_apply_lg_attn_mask"] = args.apply_lg_attn_mask + metadata["ss_apply_t5_attn_mask"] = args.apply_t5_attn_mask + metadata["ss_weighting_scheme"] = args.weighting_scheme + metadata["ss_logit_mean"] = args.logit_mean + metadata["ss_logit_std"] = args.logit_std + metadata["ss_mode_scale"] = args.mode_scale + + def is_text_encoder_not_needed_for_training(self, args): + return args.cache_text_encoder_outputs and not self.is_train_text_encoder(args) + + def prepare_text_encoder_grad_ckpt_workaround(self, index, text_encoder): + if index == 0 or index == 1: # CLIP-L/CLIP-G + return super().prepare_text_encoder_grad_ckpt_workaround(index, text_encoder) + else: # T5XXL + text_encoder.encoder.embed_tokens.requires_grad_(True) + + def prepare_text_encoder_fp8(self, index, text_encoder, te_weight_dtype, weight_dtype): + if index == 0 or index == 1: # CLIP-L/CLIP-G + clip_type = "CLIP-L" if index == 0 else "CLIP-G" + logger.info(f"prepare CLIP-{clip_type} for fp8: set to {te_weight_dtype}, set embeddings to {weight_dtype}") + text_encoder.to(te_weight_dtype) # fp8 + text_encoder.text_model.embeddings.to(dtype=weight_dtype) + else: # T5XXL + + def prepare_fp8(text_encoder, target_dtype): + def forward_hook(module): + def forward(hidden_states): + hidden_gelu = module.act(module.wi_0(hidden_states)) + hidden_linear = module.wi_1(hidden_states) + hidden_states = hidden_gelu * hidden_linear + hidden_states = module.dropout(hidden_states) + + hidden_states = module.wo(hidden_states) + return hidden_states + + return forward + + for module in text_encoder.modules(): + if module.__class__.__name__ in ["T5LayerNorm", "Embedding"]: + # print("set", module.__class__.__name__, "to", target_dtype) + module.to(target_dtype) + if module.__class__.__name__ in ["T5DenseGatedActDense"]: + # print("set", module.__class__.__name__, "hooks") + module.forward = forward_hook(module) + + if flux_utils.get_t5xxl_actual_dtype(text_encoder) == torch.float8_e4m3fn and text_encoder.dtype == weight_dtype: + logger.info(f"T5XXL already prepared for fp8") + else: + logger.info(f"prepare T5XXL for fp8: set to {te_weight_dtype}, set embeddings to {weight_dtype}, add hooks") + text_encoder.to(te_weight_dtype) # fp8 + prepare_fp8(text_encoder, weight_dtype) + + +def setup_parser() -> argparse.ArgumentParser: + parser = train_network.setup_parser() + sd3_train_utils.add_sd3_training_arguments(parser) + return parser + + +if __name__ == "__main__": + parser = setup_parser() + + args = parser.parse_args() + train_util.verify_command_line_training_args(args) + args = train_util.read_config_from_file(args, parser) + + trainer = Sd3NetworkTrainer() + trainer.train(args) diff --git a/train_network.py b/train_network.py index 9943b60bd..aab1d84be 100644 --- a/train_network.py +++ b/train_network.py @@ -129,6 +129,7 @@ def get_text_encoder_outputs_caching_strategy(self, args): def get_models_for_text_encoding(self, args, accelerator, text_encoders): """ Returns a list of models that will be used for text encoding. SDXL uses wrapped and unwrapped models. + FLUX.1 and SD3 may cache some outputs of the text encoder, so return the models that will be used for encoding (not cached). """ return text_encoders @@ -591,6 +592,7 @@ def train(self, args): # unet.to(accelerator.device) # this makes faster `to(dtype)` below, but consumes 23 GB VRAM # unet.to(dtype=unet_weight_dtype) # without moving to gpu, this takes a lot of time and main memory + logger.info(f"set U-Net weight dtype to {unet_weight_dtype}, device to {accelerator.device}") unet.to(accelerator.device, dtype=unet_weight_dtype) # this seems to be safer than above unet.requires_grad_(False) From 0031d916f0fa035d5d48a25fcabadc149bfbb639 Mon Sep 17 00:00:00 2001 From: kohya-ss Date: Fri, 25 Oct 2024 23:20:38 +0900 Subject: [PATCH 297/748] add latent scaling/shifting --- sd3_train_network.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sd3_train_network.py b/sd3_train_network.py index 0f4ca93ef..ecacf16cc 100644 --- a/sd3_train_network.py +++ b/sd3_train_network.py @@ -6,7 +6,7 @@ import torch from accelerate import Accelerator -from library import strategy_sd3, utils +from library import sd3_models, strategy_sd3, utils from library.device_utils import init_ipex, clean_memory_on_device init_ipex() @@ -25,7 +25,6 @@ class Sd3NetworkTrainer(train_network.NetworkTrainer): def __init__(self): super().__init__() self.sample_prompts_te_outputs = None - self.is_schnell: Optional[bool] = None def assert_extra_args(self, args, train_dataset_group): super().assert_extra_args(args, train_dataset_group) @@ -268,7 +267,7 @@ def encode_images_to_latents(self, args, accelerator, vae, images): return vae.encode(images) def shift_scale_latents(self, args, latents): - return latents + return sd3_models.SDVAE.process_in(latents) def get_noise_pred_and_target( self, From 56bf7611644402996072bd8f909cf828ec7b27cc Mon Sep 17 00:00:00 2001 From: kohya-ss Date: Sat, 26 Oct 2024 17:29:24 +0900 Subject: [PATCH 298/748] fix errors in SD3 LoRA training with Text Encoders close #1724 --- library/strategy_sd3.py | 26 +++++++++++++------------- sd3_train_network.py | 2 +- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/library/strategy_sd3.py b/library/strategy_sd3.py index dd08cf004..a27e99e63 100644 --- a/library/strategy_sd3.py +++ b/library/strategy_sd3.py @@ -68,9 +68,9 @@ def encode_tokens( returned embeddings are not masked """ clip_l, clip_g, t5xxl = models - clip_l: CLIPTextModel - clip_g: CLIPTextModelWithProjection - t5xxl: T5EncoderModel + clip_l: Optional[CLIPTextModel] + clip_g: Optional[CLIPTextModelWithProjection] + t5xxl: Optional[T5EncoderModel] if apply_lg_attn_mask is None: apply_lg_attn_mask = self.apply_lg_attn_mask @@ -84,25 +84,23 @@ def encode_tokens( if not apply_lg_attn_mask: l_attn_mask = None g_attn_mask = None - else: - l_attn_mask = l_attn_mask.to(clip_l.device) - g_attn_mask = g_attn_mask.to(clip_g.device) if not apply_t5_attn_mask: t5_attn_mask = None - else: - t5_attn_mask = t5_attn_mask.to(t5xxl.device) else: l_attn_mask = None g_attn_mask = None t5_attn_mask = None - if l_tokens is None: + if l_tokens is None or clip_l is None: assert g_tokens is None, "g_tokens must be None if l_tokens is None" lg_out = None lg_pooled = None else: with torch.no_grad(): assert g_tokens is not None, "g_tokens must not be None if l_tokens is not None" + l_attn_mask = l_attn_mask.to(clip_l.device) if l_attn_mask is not None else None + g_attn_mask = g_attn_mask.to(clip_g.device) if g_attn_mask is not None else None + prompt_embeds = clip_l(l_tokens.to(clip_l.device), l_attn_mask, output_hidden_states=True) l_pooled = prompt_embeds[0] l_out = prompt_embeds.hidden_states[-2] @@ -114,13 +112,15 @@ def encode_tokens( lg_pooled = torch.cat((l_pooled, g_pooled), dim=-1) if l_tokens is not None else None lg_out = torch.cat([l_out, g_out], dim=-1) - if t5xxl is not None and t5_tokens is not None: + if t5xxl is None or t5_tokens is None: + t5_out = None + else: + t5_attn_mask = t5_attn_mask.to(t5xxl.device) if t5_attn_mask is not None else None with torch.no_grad(): t5_out, _ = t5xxl(t5_tokens.to(t5xxl.device), t5_attn_mask, return_dict=False, output_hidden_states=True) - else: - t5_out = None - return [lg_out, t5_out, lg_pooled, l_attn_mask, g_attn_mask, t5_attn_mask] # masks are used for attention masking in transformer + # masks are used for attention masking in transformer + return [lg_out, t5_out, lg_pooled, l_attn_mask, g_attn_mask, t5_attn_mask] def concat_encodings( self, lg_out: torch.Tensor, t5_out: Optional[torch.Tensor], lg_pooled: torch.Tensor diff --git a/sd3_train_network.py b/sd3_train_network.py index ecacf16cc..129afed54 100644 --- a/sd3_train_network.py +++ b/sd3_train_network.py @@ -134,7 +134,7 @@ def post_process_network(self, args, accelerator, network, text_encoders, unet): def get_models_for_text_encoding(self, args, accelerator, text_encoders): if args.cache_text_encoder_outputs: if self.train_clip and not self.train_t5xxl: - return text_encoders[0:2] # only CLIP-L/CLIP-G is needed for encoding because T5XXL is cached + return text_encoders[0:2] + [None] # only CLIP-L/CLIP-G is needed for encoding because T5XXL is cached else: return None # no text encoders are needed for encoding because both are cached else: From 014064fd8186420abf5dfc7c99ad0b39fee33f8a Mon Sep 17 00:00:00 2001 From: kohya-ss Date: Sat, 26 Oct 2024 18:59:45 +0900 Subject: [PATCH 299/748] fix sample image generation without seed failed close #1726 --- library/sd3_train_utils.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/library/sd3_train_utils.py b/library/sd3_train_utils.py index e3c649f73..b04b86fb3 100644 --- a/library/sd3_train_utils.py +++ b/library/sd3_train_utils.py @@ -316,6 +316,8 @@ def do_sample( # noise = get_noise(seed, latent).to(device) if seed is not None: generator = torch.manual_seed(seed) + else: + generator = None noise = ( torch.randn(latent.size(), dtype=torch.float32, layout=latent.layout, generator=generator, device="cpu") .to(latent.dtype) From 56b4ea963ee745b73be1ad53c602854e3ff7ed16 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sat, 26 Oct 2024 22:01:10 +0900 Subject: [PATCH 300/748] Fix LoRA metadata hash calculation bug in svd_merge_lora.py, sdxl_merge_lora.py, and resize_lora.py closes #1722 --- README.md | 8 ++++++++ networks/resize_lora.py | 15 ++++++++------- networks/sdxl_merge_lora.py | 15 ++++++++------- networks/svd_merge_lora.py | 15 ++++++++------- 4 files changed, 32 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 0be2f9a70..7f8508dc0 100644 --- a/README.md +++ b/README.md @@ -137,6 +137,14 @@ The majority of scripts is licensed under ASL 2.0 (including codes from Diffuser ## Change History +### Oct 26, 2024 / 2024-10-26: + +- Fixed a bug in `svd_merge_lora.py`, `sdxl_merge_lora.py`, and `resize_lora.py` where the hash value of LoRA metadata was not correctly calculated when the `save_precision` was different from the `precision` used in the calculation. See issue [#1722](https://github.com/kohya-ss/sd-scripts/pull/1722) for details. Thanks to JujoHotaru for raising the issue. +- It will be included in the next release. + +- `svd_merge_lora.py`、`sdxl_merge_lora.py`、`resize_lora.py`で、保存時の精度が計算時の精度と異なる場合、LoRAメタデータのハッシュ値が正しく計算されない不具合を修正しました。詳細は issue [#1722](https://github.com/kohya-ss/sd-scripts/pull/1722) をご覧ください。問題提起していただいた JujoHotaru 氏に感謝します。 +- 以上は次回リリースに含まれます。 + ### Sep 13, 2024 / 2024-09-13: - `sdxl_merge_lora.py` now supports OFT. Thanks to Maru-mee for the PR [#1580](https://github.com/kohya-ss/sd-scripts/pull/1580). diff --git a/networks/resize_lora.py b/networks/resize_lora.py index d697baa4c..7df7ef0cc 100644 --- a/networks/resize_lora.py +++ b/networks/resize_lora.py @@ -39,12 +39,7 @@ def load_state_dict(file_name, dtype): return sd, metadata -def save_to_file(file_name, state_dict, dtype, metadata): - if dtype is not None: - for key in list(state_dict.keys()): - if type(state_dict[key]) == torch.Tensor: - state_dict[key] = state_dict[key].to(dtype) - +def save_to_file(file_name, state_dict, metadata): if model_util.is_safetensors(file_name): save_file(state_dict, file_name, metadata) else: @@ -349,12 +344,18 @@ def str_to_dtype(p): metadata["ss_network_dim"] = "Dynamic" metadata["ss_network_alpha"] = "Dynamic" + # cast to save_dtype before calculating hashes + for key in list(state_dict.keys()): + value = state_dict[key] + if type(value) == torch.Tensor and value.dtype.is_floating_point and value.dtype != save_dtype: + state_dict[key] = value.to(save_dtype) + model_hash, legacy_hash = train_util.precalculate_safetensors_hashes(state_dict, metadata) metadata["sshs_model_hash"] = model_hash metadata["sshs_legacy_hash"] = legacy_hash logger.info(f"saving model to: {args.save_to}") - save_to_file(args.save_to, state_dict, save_dtype, metadata) + save_to_file(args.save_to, state_dict, metadata) def setup_parser() -> argparse.ArgumentParser: diff --git a/networks/sdxl_merge_lora.py b/networks/sdxl_merge_lora.py index 62f5a87d4..b147eb446 100644 --- a/networks/sdxl_merge_lora.py +++ b/networks/sdxl_merge_lora.py @@ -35,12 +35,7 @@ def load_state_dict(file_name, dtype): return sd, metadata -def save_to_file(file_name, model, state_dict, dtype, metadata): - if dtype is not None: - for key in list(state_dict.keys()): - if type(state_dict[key]) == torch.Tensor: - state_dict[key] = state_dict[key].to(dtype) - +def save_to_file(file_name, model, metadata): if os.path.splitext(file_name)[1] == ".safetensors": save_file(model, file_name, metadata=metadata) else: @@ -430,6 +425,12 @@ def str_to_dtype(p): else: state_dict, metadata = merge_lora_models(args.models, args.ratios, args.lbws, merge_dtype, args.concat, args.shuffle) + # cast to save_dtype before calculating hashes + for key in list(state_dict.keys()): + value = state_dict[key] + if type(value) == torch.Tensor and value.dtype.is_floating_point and value.dtype != save_dtype: + state_dict[key] = value.to(save_dtype) + logger.info(f"calculating hashes and creating metadata...") model_hash, legacy_hash = train_util.precalculate_safetensors_hashes(state_dict, metadata) @@ -445,7 +446,7 @@ def str_to_dtype(p): metadata.update(sai_metadata) logger.info(f"saving model to: {args.save_to}") - save_to_file(args.save_to, state_dict, state_dict, save_dtype, metadata) + save_to_file(args.save_to, state_dict, metadata) def setup_parser() -> argparse.ArgumentParser: diff --git a/networks/svd_merge_lora.py b/networks/svd_merge_lora.py index b4b9e3bfd..c520e7f89 100644 --- a/networks/svd_merge_lora.py +++ b/networks/svd_merge_lora.py @@ -216,12 +216,7 @@ def load_state_dict(file_name, dtype): return sd, metadata -def save_to_file(file_name, state_dict, dtype, metadata): - if dtype is not None: - for key in list(state_dict.keys()): - if type(state_dict[key]) == torch.Tensor: - state_dict[key] = state_dict[key].to(dtype) - +def save_to_file(file_name, state_dict, metadata): if os.path.splitext(file_name)[1] == ".safetensors": save_file(state_dict, file_name, metadata=metadata) else: @@ -430,6 +425,12 @@ def str_to_dtype(p): args.models, args.ratios, args.lbws, args.new_rank, new_conv_rank, args.device, merge_dtype ) + # cast to save_dtype before calculating hashes + for key in list(state_dict.keys()): + value = state_dict[key] + if type(value) == torch.Tensor and value.dtype.is_floating_point and value.dtype != save_dtype: + state_dict[key] = value.to(save_dtype) + logger.info(f"calculating hashes and creating metadata...") model_hash, legacy_hash = train_util.precalculate_safetensors_hashes(state_dict, metadata) @@ -451,7 +452,7 @@ def str_to_dtype(p): metadata.update(sai_metadata) logger.info(f"saving model to: {args.save_to}") - save_to_file(args.save_to, state_dict, save_dtype, metadata) + save_to_file(args.save_to, state_dict, metadata) def setup_parser() -> argparse.ArgumentParser: From ca44e3e447fc1185ce188229b4e1a0f7f3bbbf66 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 27 Oct 2024 10:19:05 +0900 Subject: [PATCH 301/748] reduce VRAM usage, instead of increasing main RAM usage --- README.md | 7 +++++++ networks/svd_merge_lora.py | 11 +++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 7f8508dc0..1e7d49afe 100644 --- a/README.md +++ b/README.md @@ -137,6 +137,13 @@ The majority of scripts is licensed under ASL 2.0 (including codes from Diffuser ## Change History +### Oct 27, 2024 / 2024-10-27: + +- `svd_merge_lora.py` VRAM usage has been reduced. However, main memory usage will increase (32GB is sufficient). +- This will be included in the next release. +- `svd_merge_lora.py` のVRAM使用量を削減しました。ただし、メインメモリの使用量は増加します(32GBあれば十分です)。 +- これは次回リリースに含まれます。 + ### Oct 26, 2024 / 2024-10-26: - Fixed a bug in `svd_merge_lora.py`, `sdxl_merge_lora.py`, and `resize_lora.py` where the hash value of LoRA metadata was not correctly calculated when the `save_precision` was different from the `precision` used in the calculation. See issue [#1722](https://github.com/kohya-ss/sd-scripts/pull/1722) for details. Thanks to JujoHotaru for raising the issue. diff --git a/networks/svd_merge_lora.py b/networks/svd_merge_lora.py index c520e7f89..c79b45acf 100644 --- a/networks/svd_merge_lora.py +++ b/networks/svd_merge_lora.py @@ -301,10 +301,10 @@ def merge_lora_models(models, ratios, lbws, new_rank, new_conv_rank, device, mer # make original weight if not exist if lora_module_name not in merged_sd: weight = torch.zeros((out_dim, in_dim, *kernel_size) if conv2d else (out_dim, in_dim), dtype=merge_dtype) - if device: - weight = weight.to(device) else: weight = merged_sd[lora_module_name] + if device: + weight = weight.to(device) # merge to weight if device: @@ -336,13 +336,16 @@ def merge_lora_models(models, ratios, lbws, new_rank, new_conv_rank, device, mer conved = torch.nn.functional.conv2d(down_weight.permute(1, 0, 2, 3), up_weight).permute(1, 0, 2, 3) weight = weight + ratio * conved * scale - merged_sd[lora_module_name] = weight + merged_sd[lora_module_name] = weight.to("cpu") # extract from merged weights logger.info("extract new lora...") merged_lora_sd = {} with torch.no_grad(): for lora_module_name, mat in tqdm(list(merged_sd.items())): + if device: + mat = mat.to(device) + conv2d = len(mat.size()) == 4 kernel_size = None if not conv2d else mat.size()[2:4] conv2d_3x3 = conv2d and kernel_size != (1, 1) @@ -381,7 +384,7 @@ def merge_lora_models(models, ratios, lbws, new_rank, new_conv_rank, device, mer merged_lora_sd[lora_module_name + ".lora_up.weight"] = up_weight.to("cpu").contiguous() merged_lora_sd[lora_module_name + ".lora_down.weight"] = down_weight.to("cpu").contiguous() - merged_lora_sd[lora_module_name + ".alpha"] = torch.tensor(module_new_rank) + merged_lora_sd[lora_module_name + ".alpha"] = torch.tensor(module_new_rank, device="cpu") # build minimum metadata dims = f"{new_rank}" From db2b4d41b9637cffd40a694c8e25847446a57aad Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 27 Oct 2024 16:42:58 +0900 Subject: [PATCH 302/748] Add dropout rate arguments for CLIP-L, CLIP-G, and T5, fix Text Encoders LoRA not trained --- library/sd3_train_utils.py | 18 ++++++++ library/strategy_sd3.py | 93 ++++++++++++++++++++++++++++++++++---- sd3_train.py | 15 ++++-- sd3_train_network.py | 16 ++++++- train_network.py | 13 ++++-- 5 files changed, 138 insertions(+), 17 deletions(-) diff --git a/library/sd3_train_utils.py b/library/sd3_train_utils.py index b04b86fb3..a0202ad40 100644 --- a/library/sd3_train_utils.py +++ b/library/sd3_train_utils.py @@ -214,6 +214,24 @@ def add_sd3_training_arguments(parser: argparse.ArgumentParser): action="store_true", help="apply attention mask (zero embs) to T5-XXL / T5-XXLにアテンションマスク(ゼロ埋め)を適用する", ) + parser.add_argument( + "--clip_l_dropout_rate", + type=float, + default=0.0, + help="Dropout rate for CLIP-L encoder, default is 0.0 / CLIP-Lエンコーダのドロップアウト率、デフォルトは0.0", + ) + parser.add_argument( + "--clip_g_dropout_rate", + type=float, + default=0.0, + help="Dropout rate for CLIP-G encoder, default is 0.0 / CLIP-Gエンコーダのドロップアウト率、デフォルトは0.0", + ) + parser.add_argument( + "--t5_dropout_rate", + type=float, + default=0.0, + help="Dropout rate for T5 encoder, default is 0.0 / T5エンコーダのドロップアウト率、デフォルトは0.0", + ) # copy from Diffusers parser.add_argument( diff --git a/library/strategy_sd3.py b/library/strategy_sd3.py index a27e99e63..d87ad7d15 100644 --- a/library/strategy_sd3.py +++ b/library/strategy_sd3.py @@ -1,5 +1,6 @@ import os import glob +import random from typing import Any, List, Optional, Tuple, Union import torch import numpy as np @@ -48,13 +49,23 @@ def tokenize(self, text: Union[str, List[str]]) -> List[torch.Tensor]: class Sd3TextEncodingStrategy(TextEncodingStrategy): - def __init__(self, apply_lg_attn_mask: Optional[bool] = None, apply_t5_attn_mask: Optional[bool] = None) -> None: + def __init__( + self, + apply_lg_attn_mask: Optional[bool] = None, + apply_t5_attn_mask: Optional[bool] = None, + l_dropout_rate: float = 0.0, + g_dropout_rate: float = 0.0, + t5_dropout_rate: float = 0.0, + ) -> None: """ Args: apply_t5_attn_mask: Default value for apply_t5_attn_mask. """ self.apply_lg_attn_mask = apply_lg_attn_mask self.apply_t5_attn_mask = apply_t5_attn_mask + self.l_dropout_rate = l_dropout_rate + self.g_dropout_rate = g_dropout_rate + self.t5_dropout_rate = t5_dropout_rate def encode_tokens( self, @@ -63,6 +74,7 @@ def encode_tokens( tokens: List[torch.Tensor], apply_lg_attn_mask: Optional[bool] = False, apply_t5_attn_mask: Optional[bool] = False, + enable_dropout: bool = True, ) -> List[torch.Tensor]: """ returned embeddings are not masked @@ -91,37 +103,92 @@ def encode_tokens( g_attn_mask = None t5_attn_mask = None + # dropout: if enable_dropout is False, dropout is not applied. dropout means zeroing out embeddings + if l_tokens is None or clip_l is None: assert g_tokens is None, "g_tokens must be None if l_tokens is None" lg_out = None lg_pooled = None else: - with torch.no_grad(): - assert g_tokens is not None, "g_tokens must not be None if l_tokens is not None" + assert g_tokens is not None, "g_tokens must not be None if l_tokens is not None" + + drop_l = enable_dropout and (self.l_dropout_rate > 0.0 and random.random() < self.l_dropout_rate) + if drop_l: + l_pooled = torch.zeros((l_tokens.shape[0], 768), device=l_tokens.device, dtype=l_tokens.dtype) + l_out = torch.zeros((l_tokens.shape[0], l_tokens.shape[1], 768), device=l_tokens.device, dtype=l_tokens.dtype) + if l_attn_mask is not None: + l_attn_mask = torch.zeros_like(l_attn_mask) + else: l_attn_mask = l_attn_mask.to(clip_l.device) if l_attn_mask is not None else None - g_attn_mask = g_attn_mask.to(clip_g.device) if g_attn_mask is not None else None - prompt_embeds = clip_l(l_tokens.to(clip_l.device), l_attn_mask, output_hidden_states=True) l_pooled = prompt_embeds[0] l_out = prompt_embeds.hidden_states[-2] + drop_g = enable_dropout and (self.g_dropout_rate > 0.0 and random.random() < self.g_dropout_rate) + if drop_g: + g_pooled = torch.zeros((g_tokens.shape[0], 1280), device=g_tokens.device, dtype=g_tokens.dtype) + g_out = torch.zeros((g_tokens.shape[0], g_tokens.shape[1], 1280), device=g_tokens.device, dtype=g_tokens.dtype) + if g_attn_mask is not None: + g_attn_mask = torch.zeros_like(g_attn_mask) + else: + g_attn_mask = g_attn_mask.to(clip_g.device) if g_attn_mask is not None else None prompt_embeds = clip_g(g_tokens.to(clip_g.device), g_attn_mask, output_hidden_states=True) g_pooled = prompt_embeds[0] g_out = prompt_embeds.hidden_states[-2] - lg_pooled = torch.cat((l_pooled, g_pooled), dim=-1) if l_tokens is not None else None - lg_out = torch.cat([l_out, g_out], dim=-1) + lg_pooled = torch.cat((l_pooled, g_pooled), dim=-1) if l_tokens is not None else None + lg_out = torch.cat([l_out, g_out], dim=-1) if t5xxl is None or t5_tokens is None: t5_out = None else: - t5_attn_mask = t5_attn_mask.to(t5xxl.device) if t5_attn_mask is not None else None - with torch.no_grad(): + drop_t5 = enable_dropout and (self.t5_dropout_rate > 0.0 and random.random() < self.t5_dropout_rate) + if drop_t5: + t5_out = torch.zeros((t5_tokens.shape[0], t5_tokens.shape[1], 4096), device=t5_tokens.device, dtype=t5_tokens.dtype) + if t5_attn_mask is not None: + t5_attn_mask = torch.zeros_like(t5_attn_mask) + else: + t5_attn_mask = t5_attn_mask.to(t5xxl.device) if t5_attn_mask is not None else None t5_out, _ = t5xxl(t5_tokens.to(t5xxl.device), t5_attn_mask, return_dict=False, output_hidden_states=True) # masks are used for attention masking in transformer return [lg_out, t5_out, lg_pooled, l_attn_mask, g_attn_mask, t5_attn_mask] + def drop_cached_text_encoder_outputs( + self, + lg_out: torch.Tensor, + t5_out: torch.Tensor, + lg_pooled: torch.Tensor, + l_attn_mask: torch.Tensor, + g_attn_mask: torch.Tensor, + t5_attn_mask: torch.Tensor, + ) -> Tuple[torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor]: + # dropout: if enable_dropout is True, dropout is not applied. dropout means zeroing out embeddings + if lg_out is not None: + for i in range(lg_out.shape[0]): + drop_l = self.l_dropout_rate > 0.0 and random.random() < self.l_dropout_rate + if drop_l: + lg_out[i, :, :768] = torch.zeros_like(lg_out[i, :, :768]) + lg_pooled[i, :768] = torch.zeros_like(lg_pooled[i, :768]) + if l_attn_mask is not None: + l_attn_mask[i] = torch.zeros_like(l_attn_mask[i]) + drop_g = self.g_dropout_rate > 0.0 and random.random() < self.g_dropout_rate + if drop_g: + lg_out[i, :, 768:] = torch.zeros_like(lg_out[i, :, 768:]) + lg_pooled[i, 768:] = torch.zeros_like(lg_pooled[i, 768:]) + if g_attn_mask is not None: + g_attn_mask[i] = torch.zeros_like(g_attn_mask[i]) + + if t5_out is not None: + for i in range(t5_out.shape[0]): + drop_t5 = self.t5_dropout_rate > 0.0 and random.random() < self.t5_dropout_rate + if drop_t5: + t5_out[i] = torch.zeros_like(t5_out[i]) + if t5_attn_mask is not None: + t5_attn_mask[i] = torch.zeros_like(t5_attn_mask[i]) + + return lg_out, t5_out, lg_pooled, l_attn_mask, g_attn_mask, t5_attn_mask + def concat_encodings( self, lg_out: torch.Tensor, t5_out: Optional[torch.Tensor], lg_pooled: torch.Tensor ) -> Tuple[torch.Tensor, torch.Tensor]: @@ -207,8 +274,14 @@ def cache_batch_outputs( tokens_and_masks = tokenize_strategy.tokenize(captions) with torch.no_grad(): + # always disable dropout during caching lg_out, t5_out, lg_pooled, l_attn_mask, g_attn_mask, t5_attn_mask = sd3_text_encoding_strategy.encode_tokens( - tokenize_strategy, models, tokens_and_masks, self.apply_lg_attn_mask, self.apply_t5_attn_mask + tokenize_strategy, + models, + tokens_and_masks, + apply_lg_attn_mask=self.apply_lg_attn_mask, + apply_t5_attn_mask=self.apply_t5_attn_mask, + enable_dropout=False, ) if lg_out.dtype == torch.bfloat16: diff --git a/sd3_train.py b/sd3_train.py index d12f7f56b..cdac945e6 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -69,6 +69,11 @@ def train(args): # assert ( # not args.train_text_encoder or not args.cache_text_encoder_outputs # ), "cache_text_encoder_outputs is not supported when training text encoder / text encoderを学習するときはcache_text_encoder_outputsはサポートされていません" + if args.cache_text_encoder_outputs_to_disk and not args.cache_text_encoder_outputs: + logger.warning( + "cache_text_encoder_outputs_to_disk is enabled, so cache_text_encoder_outputs is also enabled / cache_text_encoder_outputs_to_diskが有効になっているため、cache_text_encoder_outputsも有効になります" + ) + args.cache_text_encoder_outputs = True assert not args.train_text_encoder or (args.use_t5xxl_cache_only or not args.cache_text_encoder_outputs), ( "when training text encoder, text encoder outputs must not be cached (except for T5XXL)" @@ -232,7 +237,9 @@ def train(args): assert clip_l is not None and clip_g is not None and t5xxl is not None, "clip_l, clip_g, t5xxl must be specified" # prepare text encoding strategy - text_encoding_strategy = strategy_sd3.Sd3TextEncodingStrategy(args.apply_lg_attn_mask, args.apply_t5_attn_mask) + text_encoding_strategy = strategy_sd3.Sd3TextEncodingStrategy( + args.apply_lg_attn_mask, args.apply_t5_attn_mask, args.clip_l_dropout_rate, args.clip_g_dropout_rate, args.t5_dropout_rate + ) strategy_base.TextEncodingStrategy.set_strategy(text_encoding_strategy) # 学習を準備する:モデルを適切な状態にする @@ -311,6 +318,7 @@ def train(args): tokens_and_masks, args.apply_lg_attn_mask, args.apply_t5_attn_mask, + enable_dropout=False, ) accelerator.wait_for_everyone() @@ -863,6 +871,7 @@ def optimizer_hook(parameter: torch.Tensor): text_encoder_outputs_list = batch.get("text_encoder_outputs_list", None) if text_encoder_outputs_list is not None: + text_encoder_outputs_list = text_encoding_strategy.drop_cached_text_encoder_outputs(*text_encoder_outputs_list) lg_out, t5_out, lg_pooled, l_attn_mask, g_attn_mask, t5_attn_mask = text_encoder_outputs_list if args.use_t5xxl_cache_only: lg_out = None @@ -878,7 +887,7 @@ def optimizer_hook(parameter: torch.Tensor): if lg_out is None: # not cached or training, so get from text encoders input_ids_clip_l, input_ids_clip_g, _, l_attn_mask, g_attn_mask, _ = batch["input_ids_list"] - with torch.set_grad_enabled(args.train_text_encoder): + with torch.set_grad_enabled(train_clip): # TODO support weighted captions # text models in sd3_models require "cpu" for input_ids input_ids_clip_l = input_ids_clip_l.to("cpu") @@ -891,7 +900,7 @@ def optimizer_hook(parameter: torch.Tensor): if t5_out is None: _, _, input_ids_t5xxl, _, _, t5_attn_mask = batch["input_ids_list"] - with torch.no_grad(): + with torch.set_grad_enabled(train_t5xxl): input_ids_t5xxl = input_ids_t5xxl.to("cpu") if t5_out is None else None _, t5_out, _, _, _, t5_attn_mask = text_encoding_strategy.encode_tokens( sd3_tokenize_strategy, [None, None, t5xxl], [None, None, input_ids_t5xxl, None, None, t5_attn_mask] diff --git a/sd3_train_network.py b/sd3_train_network.py index 129afed54..7b5471274 100644 --- a/sd3_train_network.py +++ b/sd3_train_network.py @@ -120,7 +120,13 @@ def get_latents_caching_strategy(self, args): return latents_caching_strategy def get_text_encoding_strategy(self, args): - return strategy_sd3.Sd3TextEncodingStrategy(args.apply_lg_attn_mask, args.apply_t5_attn_mask) + return strategy_sd3.Sd3TextEncodingStrategy( + args.apply_lg_attn_mask, + args.apply_t5_attn_mask, + args.clip_l_dropout_rate, + args.clip_g_dropout_rate, + args.t5xxl_dropout_rate, + ) def post_process_network(self, args, accelerator, network, text_encoders, unet): # check t5xxl is trained or not @@ -408,6 +414,14 @@ def forward(hidden_states): text_encoder.to(te_weight_dtype) # fp8 prepare_fp8(text_encoder, weight_dtype) + def on_step_start(self, args, accelerator, network, text_encoders, unet, batch, weight_dtype): + # drop cached text encoder outputs + text_encoder_outputs_list = batch.get("text_encoder_outputs_list", None) + if text_encoder_outputs_list is not None: + text_encodoing_strategy: strategy_sd3.Sd3TextEncodingStrategy = strategy_base.TextEncodingStrategy.get_strategy() + text_encoder_outputs_list = text_encodoing_strategy.drop_cached_text_encoder_outputs(text_encoder_outputs_list) + batch["text_encoder_outputs_list"] = text_encoder_outputs_list + def setup_parser() -> argparse.ArgumentParser: parser = train_network.setup_parser() diff --git a/train_network.py b/train_network.py index aab1d84be..9d78a4ef2 100644 --- a/train_network.py +++ b/train_network.py @@ -272,6 +272,9 @@ def prepare_text_encoder_grad_ckpt_workaround(self, index, text_encoder): def prepare_text_encoder_fp8(self, index, text_encoder, te_weight_dtype, weight_dtype): text_encoder.text_model.embeddings.to(dtype=weight_dtype) + def on_step_start(self, args, accelerator, network, text_encoders, unet, batch, weight_dtype): + pass + # endregion def train(self, args): @@ -1030,9 +1033,9 @@ def load_model_hook(models, input_dir): # callback for step start if hasattr(accelerator.unwrap_model(network), "on_step_start"): - on_step_start = accelerator.unwrap_model(network).on_step_start + on_step_start_for_network = accelerator.unwrap_model(network).on_step_start else: - on_step_start = lambda *args, **kwargs: None + on_step_start_for_network = lambda *args, **kwargs: None # function for saving/removing def save_model(ckpt_name, unwrapped_nw, steps, epoch_no, force_sync_upload=False): @@ -1113,7 +1116,10 @@ def remove_model(old_ckpt_name): continue with accelerator.accumulate(training_model): - on_step_start(text_encoder, unet) + on_step_start_for_network(text_encoder, unet) + + # temporary, for batch processing + self.on_step_start(args, accelerator, network, text_encoders, unet, batch, weight_dtype) if "latents" in batch and batch["latents"] is not None: latents = batch["latents"].to(accelerator.device).to(dtype=weight_dtype) @@ -1146,6 +1152,7 @@ def remove_model(old_ckpt_name): if text_encoder_outputs_list is not None: text_encoder_conds = text_encoder_outputs_list # List of text encoder outputs if len(text_encoder_conds) == 0 or text_encoder_conds[0] is None or train_text_encoder: + # TODO this does not work if 'some text_encoders are trained' and 'some are not and not cached' with torch.set_grad_enabled(train_text_encoder), accelerator.autocast(): # Get the text embedding for conditioning if args.weighted_captions: From a1255d637f545b0d6defebf080ca31f2370bf311 Mon Sep 17 00:00:00 2001 From: kohya-ss Date: Sun, 27 Oct 2024 17:03:36 +0900 Subject: [PATCH 303/748] Fix SD3 LoRA training to work (WIP) --- library/strategy_sd3.py | 20 ++++++++++---------- sd3_train_network.py | 15 ++++++++------- train_network.py | 20 ++++++++++++++++++++ 3 files changed, 38 insertions(+), 17 deletions(-) diff --git a/library/strategy_sd3.py b/library/strategy_sd3.py index d87ad7d15..e57bb337e 100644 --- a/library/strategy_sd3.py +++ b/library/strategy_sd3.py @@ -111,13 +111,13 @@ def encode_tokens( lg_pooled = None else: assert g_tokens is not None, "g_tokens must not be None if l_tokens is not None" - + drop_l = enable_dropout and (self.l_dropout_rate > 0.0 and random.random() < self.l_dropout_rate) if drop_l: - l_pooled = torch.zeros((l_tokens.shape[0], 768), device=l_tokens.device, dtype=l_tokens.dtype) - l_out = torch.zeros((l_tokens.shape[0], l_tokens.shape[1], 768), device=l_tokens.device, dtype=l_tokens.dtype) + l_pooled = torch.zeros((l_tokens.shape[0], 768), device=clip_l.device, dtype=clip_l.dtype) + l_out = torch.zeros((l_tokens.shape[0], l_tokens.shape[1], 768), device=clip_l.device, dtype=clip_l.dtype) if l_attn_mask is not None: - l_attn_mask = torch.zeros_like(l_attn_mask) + l_attn_mask = torch.zeros_like(l_attn_mask, device=clip_l.device) else: l_attn_mask = l_attn_mask.to(clip_l.device) if l_attn_mask is not None else None prompt_embeds = clip_l(l_tokens.to(clip_l.device), l_attn_mask, output_hidden_states=True) @@ -126,10 +126,10 @@ def encode_tokens( drop_g = enable_dropout and (self.g_dropout_rate > 0.0 and random.random() < self.g_dropout_rate) if drop_g: - g_pooled = torch.zeros((g_tokens.shape[0], 1280), device=g_tokens.device, dtype=g_tokens.dtype) - g_out = torch.zeros((g_tokens.shape[0], g_tokens.shape[1], 1280), device=g_tokens.device, dtype=g_tokens.dtype) + g_pooled = torch.zeros((g_tokens.shape[0], 1280), device=clip_g.device, dtype=clip_g.dtype) + g_out = torch.zeros((g_tokens.shape[0], g_tokens.shape[1], 1280), device=clip_g.device, dtype=clip_g.dtype) if g_attn_mask is not None: - g_attn_mask = torch.zeros_like(g_attn_mask) + g_attn_mask = torch.zeros_like(g_attn_mask, device=clip_g.device) else: g_attn_mask = g_attn_mask.to(clip_g.device) if g_attn_mask is not None else None prompt_embeds = clip_g(g_tokens.to(clip_g.device), g_attn_mask, output_hidden_states=True) @@ -144,9 +144,9 @@ def encode_tokens( else: drop_t5 = enable_dropout and (self.t5_dropout_rate > 0.0 and random.random() < self.t5_dropout_rate) if drop_t5: - t5_out = torch.zeros((t5_tokens.shape[0], t5_tokens.shape[1], 4096), device=t5_tokens.device, dtype=t5_tokens.dtype) + t5_out = torch.zeros((t5_tokens.shape[0], t5_tokens.shape[1], 4096), device=t5xxl.device, dtype=t5xxl.dtype) if t5_attn_mask is not None: - t5_attn_mask = torch.zeros_like(t5_attn_mask) + t5_attn_mask = torch.zeros_like(t5_attn_mask, device=t5xxl.device) else: t5_attn_mask = t5_attn_mask.to(t5xxl.device) if t5_attn_mask is not None else None t5_out, _ = t5xxl(t5_tokens.to(t5xxl.device), t5_attn_mask, return_dict=False, output_hidden_states=True) @@ -187,7 +187,7 @@ def drop_cached_text_encoder_outputs( if t5_attn_mask is not None: t5_attn_mask[i] = torch.zeros_like(t5_attn_mask[i]) - return lg_out, t5_out, lg_pooled, l_attn_mask, g_attn_mask, t5_attn_mask + return [lg_out, t5_out, lg_pooled, l_attn_mask, g_attn_mask, t5_attn_mask] def concat_encodings( self, lg_out: torch.Tensor, t5_out: Optional[torch.Tensor], lg_pooled: torch.Tensor diff --git a/sd3_train_network.py b/sd3_train_network.py index 7b5471274..620a336fd 100644 --- a/sd3_train_network.py +++ b/sd3_train_network.py @@ -125,7 +125,7 @@ def get_text_encoding_strategy(self, args): args.apply_t5_attn_mask, args.clip_l_dropout_rate, args.clip_g_dropout_rate, - args.t5xxl_dropout_rate, + args.t5_dropout_rate, ) def post_process_network(self, args, accelerator, network, text_encoders, unet): @@ -415,12 +415,13 @@ def forward(hidden_states): prepare_fp8(text_encoder, weight_dtype) def on_step_start(self, args, accelerator, network, text_encoders, unet, batch, weight_dtype): - # drop cached text encoder outputs - text_encoder_outputs_list = batch.get("text_encoder_outputs_list", None) - if text_encoder_outputs_list is not None: - text_encodoing_strategy: strategy_sd3.Sd3TextEncodingStrategy = strategy_base.TextEncodingStrategy.get_strategy() - text_encoder_outputs_list = text_encodoing_strategy.drop_cached_text_encoder_outputs(text_encoder_outputs_list) - batch["text_encoder_outputs_list"] = text_encoder_outputs_list + # # drop cached text encoder outputs + # text_encoder_outputs_list = batch.get("text_encoder_outputs_list", None) + # if text_encoder_outputs_list is not None: + # text_encodoing_strategy: strategy_sd3.Sd3TextEncodingStrategy = strategy_base.TextEncodingStrategy.get_strategy() + # text_encoder_outputs_list = text_encodoing_strategy.drop_cached_text_encoder_outputs(*text_encoder_outputs_list) + # batch["text_encoder_outputs_list"] = text_encoder_outputs_list + pass def setup_parser() -> argparse.ArgumentParser: diff --git a/train_network.py b/train_network.py index 9d78a4ef2..76936b2ed 100644 --- a/train_network.py +++ b/train_network.py @@ -1151,6 +1151,17 @@ def remove_model(old_ckpt_name): text_encoder_outputs_list = batch.get("text_encoder_outputs_list", None) if text_encoder_outputs_list is not None: text_encoder_conds = text_encoder_outputs_list # List of text encoder outputs + + # if text_encoder_outputs_list is not None: + # lg_out, t5_out, lg_pooled, l_attn_mask, g_attn_mask, t5_attn_mask = text_encoder_outputs_list + # for i in range(len(lg_out)): + # print( + # f"[{i}] cached L: {lg_out[i,:,:768].max()}, {lg_pooled[i][:768].max()}, cached G: {lg_out[i,:,768:].max()}, {lg_pooled[i][768:].max()}, " + # f"cached T5: {t5_out[i].max()}, " + # f"attn mask: {l_attn_mask[i].max() if l_attn_mask is not None else 0}," + # f" {g_attn_mask[i].max() if g_attn_mask is not None else 0}, {t5_attn_mask[i].max() if t5_attn_mask is not None else 0}" + # ) + if len(text_encoder_conds) == 0 or text_encoder_conds[0] is None or train_text_encoder: # TODO this does not work if 'some text_encoders are trained' and 'some are not and not cached' with torch.set_grad_enabled(train_text_encoder), accelerator.autocast(): @@ -1182,6 +1193,15 @@ def remove_model(old_ckpt_name): if encoded_text_encoder_conds[i] is not None: text_encoder_conds[i] = encoded_text_encoder_conds[i] + # lg_out, t5_out, lg_pooled, l_attn_mask, g_attn_mask, t5_attn_mask = text_encoder_conds + # for i in range(len(lg_out)): + # print( + # f"[{i}] train L: {lg_out[i,:,:768].max()}, {lg_pooled[i][:768].max()}, train G: {lg_out[i,:,768:].max()}, {lg_pooled[i][768:].max()}, " + # f"train T5: {t5_out[i].max()}, " + # f"attn mask: {l_attn_mask[i].max() if l_attn_mask is not None else 0}," + # f" {g_attn_mask[i].max() if g_attn_mask is not None else 0}, {t5_attn_mask[i].max() if t5_attn_mask is not None else 0}" + # ) + # sample noise, call unet, get target noise_pred, target, timesteps, huber_c, weighting = self.get_noise_pred_and_target( args, From d4f7849592c78455ddd268423528830ec5e55f47 Mon Sep 17 00:00:00 2001 From: kohya-ss Date: Sun, 27 Oct 2024 19:35:56 +0900 Subject: [PATCH 304/748] prevent unintended cast for disk cached TE outputs --- library/train_util.py | 1 - 1 file changed, 1 deletion(-) diff --git a/library/train_util.py b/library/train_util.py index d3c59ef98..d568523ca 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -1615,7 +1615,6 @@ def __getitem__(self, index): text_encoder_outputs = self.text_encoder_output_caching_strategy.load_outputs_npz( image_info.text_encoder_outputs_npz ) - text_encoder_outputs = [torch.FloatTensor(x) for x in text_encoder_outputs] else: tokenization_required = True text_encoder_outputs_list.append(text_encoder_outputs) From 1065dd1b56b4b18e211d3827fe22b459c81dd12c Mon Sep 17 00:00:00 2001 From: kohya-ss Date: Sun, 27 Oct 2024 19:36:36 +0900 Subject: [PATCH 305/748] Fix to work dropout_rate for TEs --- flux_train_network.py | 2 +- library/strategy_flux.py | 1 + library/strategy_sd3.py | 142 +++++++++++++++++++++++++++------------ sd3_train_network.py | 15 ++--- train_network.py | 19 ------ 5 files changed, 108 insertions(+), 71 deletions(-) diff --git a/flux_train_network.py b/flux_train_network.py index cffeb3b19..2b71a8979 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -363,7 +363,7 @@ def get_noise_pred_and_target( if args.gradient_checkpointing: noisy_model_input.requires_grad_(True) for t in text_encoder_conds: - if t.dtype.is_floating_point: + if t is not None and t.dtype.is_floating_point: t.requires_grad_(True) img_ids.requires_grad_(True) guidance_vec.requires_grad_(True) diff --git a/library/strategy_flux.py b/library/strategy_flux.py index 0b0c34af7..f662b62e9 100644 --- a/library/strategy_flux.py +++ b/library/strategy_flux.py @@ -190,6 +190,7 @@ def cache_batch_outputs( apply_t5_attn_mask=apply_t5_attn_mask_i, ) else: + # it's fine that attn mask is not None. it's overwritten before calling the model if necessary info.text_encoder_outputs = (l_pooled_i, t5_out_i, txt_ids_i, t5_attn_mask_i) diff --git a/library/strategy_sd3.py b/library/strategy_sd3.py index e57bb337e..413169ecc 100644 --- a/library/strategy_sd3.py +++ b/library/strategy_sd3.py @@ -89,19 +89,7 @@ def encode_tokens( if apply_t5_attn_mask is None: apply_t5_attn_mask = self.apply_t5_attn_mask - l_tokens, g_tokens, t5_tokens = tokens[:3] - - if len(tokens) > 3: - l_attn_mask, g_attn_mask, t5_attn_mask = tokens[3:] - if not apply_lg_attn_mask: - l_attn_mask = None - g_attn_mask = None - if not apply_t5_attn_mask: - t5_attn_mask = None - else: - l_attn_mask = None - g_attn_mask = None - t5_attn_mask = None + l_tokens, g_tokens, t5_tokens, l_attn_mask, g_attn_mask, t5_attn_mask = tokens # dropout: if enable_dropout is False, dropout is not applied. dropout means zeroing out embeddings @@ -109,47 +97,114 @@ def encode_tokens( assert g_tokens is None, "g_tokens must be None if l_tokens is None" lg_out = None lg_pooled = None + l_attn_mask = None + g_attn_mask = None else: assert g_tokens is not None, "g_tokens must not be None if l_tokens is not None" - drop_l = enable_dropout and (self.l_dropout_rate > 0.0 and random.random() < self.l_dropout_rate) - if drop_l: - l_pooled = torch.zeros((l_tokens.shape[0], 768), device=clip_l.device, dtype=clip_l.dtype) - l_out = torch.zeros((l_tokens.shape[0], l_tokens.shape[1], 768), device=clip_l.device, dtype=clip_l.dtype) - if l_attn_mask is not None: - l_attn_mask = torch.zeros_like(l_attn_mask, device=clip_l.device) + # drop some members of the batch: we do not call clip_l and clip_g for dropped members + batch_size, l_seq_len = l_tokens.shape + g_seq_len = g_tokens.shape[1] + + non_drop_l_indices = [] + non_drop_g_indices = [] + for i in range(l_tokens.shape[0]): + drop_l = enable_dropout and (self.l_dropout_rate > 0.0 and random.random() < self.l_dropout_rate) + drop_g = enable_dropout and (self.g_dropout_rate > 0.0 and random.random() < self.g_dropout_rate) + if not drop_l: + non_drop_l_indices.append(i) + if not drop_g: + non_drop_g_indices.append(i) + + # filter out dropped members + if len(non_drop_l_indices) > 0 and len(non_drop_l_indices) < batch_size: + l_tokens = l_tokens[non_drop_l_indices] + l_attn_mask = l_attn_mask[non_drop_l_indices] + if len(non_drop_g_indices) > 0 and len(non_drop_g_indices) < batch_size: + g_tokens = g_tokens[non_drop_g_indices] + g_attn_mask = g_attn_mask[non_drop_g_indices] + + # call clip_l for non-dropped members + if len(non_drop_l_indices) > 0: + nd_l_attn_mask = l_attn_mask.to(clip_l.device) + prompt_embeds = clip_l( + l_tokens.to(clip_l.device), nd_l_attn_mask if apply_lg_attn_mask else None, output_hidden_states=True + ) + nd_l_pooled = prompt_embeds[0] + nd_l_out = prompt_embeds.hidden_states[-2] + if len(non_drop_g_indices) > 0: + nd_g_attn_mask = g_attn_mask.to(clip_g.device) + prompt_embeds = clip_g( + g_tokens.to(clip_g.device), nd_g_attn_mask if apply_lg_attn_mask else None, output_hidden_states=True + ) + nd_g_pooled = prompt_embeds[0] + nd_g_out = prompt_embeds.hidden_states[-2] + + # fill in the dropped members + if len(non_drop_l_indices) == batch_size: + l_pooled = nd_l_pooled + l_out = nd_l_out else: - l_attn_mask = l_attn_mask.to(clip_l.device) if l_attn_mask is not None else None - prompt_embeds = clip_l(l_tokens.to(clip_l.device), l_attn_mask, output_hidden_states=True) - l_pooled = prompt_embeds[0] - l_out = prompt_embeds.hidden_states[-2] - - drop_g = enable_dropout and (self.g_dropout_rate > 0.0 and random.random() < self.g_dropout_rate) - if drop_g: - g_pooled = torch.zeros((g_tokens.shape[0], 1280), device=clip_g.device, dtype=clip_g.dtype) - g_out = torch.zeros((g_tokens.shape[0], g_tokens.shape[1], 1280), device=clip_g.device, dtype=clip_g.dtype) - if g_attn_mask is not None: - g_attn_mask = torch.zeros_like(g_attn_mask, device=clip_g.device) + # model output is always float32 because of the models are wrapped with Accelerator + l_pooled = torch.zeros((batch_size, 768), device=clip_l.device, dtype=torch.float32) + l_out = torch.zeros((batch_size, l_seq_len, 768), device=clip_l.device, dtype=torch.float32) + l_attn_mask = torch.zeros((batch_size, l_seq_len), device=clip_l.device, dtype=l_attn_mask.dtype) + if len(non_drop_l_indices) > 0: + l_pooled[non_drop_l_indices] = nd_l_pooled + l_out[non_drop_l_indices] = nd_l_out + l_attn_mask[non_drop_l_indices] = nd_l_attn_mask + + if len(non_drop_g_indices) == batch_size: + g_pooled = nd_g_pooled + g_out = nd_g_out else: - g_attn_mask = g_attn_mask.to(clip_g.device) if g_attn_mask is not None else None - prompt_embeds = clip_g(g_tokens.to(clip_g.device), g_attn_mask, output_hidden_states=True) - g_pooled = prompt_embeds[0] - g_out = prompt_embeds.hidden_states[-2] - - lg_pooled = torch.cat((l_pooled, g_pooled), dim=-1) if l_tokens is not None else None + g_pooled = torch.zeros((batch_size, 1280), device=clip_g.device, dtype=torch.float32) + g_out = torch.zeros((batch_size, g_seq_len, 1280), device=clip_g.device, dtype=torch.float32) + g_attn_mask = torch.zeros((batch_size, g_seq_len), device=clip_g.device, dtype=g_attn_mask.dtype) + if len(non_drop_g_indices) > 0: + g_pooled[non_drop_g_indices] = nd_g_pooled + g_out[non_drop_g_indices] = nd_g_out + g_attn_mask[non_drop_g_indices] = nd_g_attn_mask + + lg_pooled = torch.cat((l_pooled, g_pooled), dim=-1) lg_out = torch.cat([l_out, g_out], dim=-1) if t5xxl is None or t5_tokens is None: t5_out = None + t5_attn_mask = None else: - drop_t5 = enable_dropout and (self.t5_dropout_rate > 0.0 and random.random() < self.t5_dropout_rate) - if drop_t5: - t5_out = torch.zeros((t5_tokens.shape[0], t5_tokens.shape[1], 4096), device=t5xxl.device, dtype=t5xxl.dtype) - if t5_attn_mask is not None: - t5_attn_mask = torch.zeros_like(t5_attn_mask, device=t5xxl.device) + # drop some members of the batch: we do not call t5xxl for dropped members + batch_size, t5_seq_len = t5_tokens.shape + non_drop_t5_indices = [] + for i in range(t5_tokens.shape[0]): + drop_t5 = enable_dropout and (self.t5_dropout_rate > 0.0 and random.random() < self.t5_dropout_rate) + if not drop_t5: + non_drop_t5_indices.append(i) + + # filter out dropped members + if len(non_drop_t5_indices) > 0 and len(non_drop_t5_indices) < batch_size: + t5_tokens = t5_tokens[non_drop_t5_indices] + t5_attn_mask = t5_attn_mask[non_drop_t5_indices] + + # call t5xxl for non-dropped members + if len(non_drop_t5_indices) > 0: + nd_t5_attn_mask = t5_attn_mask.to(t5xxl.device) + nd_t5_out, _ = t5xxl( + t5_tokens.to(t5xxl.device), + nd_t5_attn_mask if apply_t5_attn_mask else None, + return_dict=False, + output_hidden_states=True, + ) + + # fill in the dropped members + if len(non_drop_t5_indices) == batch_size: + t5_out = nd_t5_out else: - t5_attn_mask = t5_attn_mask.to(t5xxl.device) if t5_attn_mask is not None else None - t5_out, _ = t5xxl(t5_tokens.to(t5xxl.device), t5_attn_mask, return_dict=False, output_hidden_states=True) + t5_out = torch.zeros((batch_size, t5_seq_len, 4096), device=t5xxl.device, dtype=torch.float32) + t5_attn_mask = torch.zeros((batch_size, t5_seq_len), device=t5xxl.device, dtype=t5_attn_mask.dtype) + if len(non_drop_t5_indices) > 0: + t5_out[non_drop_t5_indices] = nd_t5_out + t5_attn_mask[non_drop_t5_indices] = nd_t5_attn_mask # masks are used for attention masking in transformer return [lg_out, t5_out, lg_pooled, l_attn_mask, g_attn_mask, t5_attn_mask] @@ -322,6 +377,7 @@ def cache_batch_outputs( apply_t5_attn_mask=apply_t5_attn_mask, ) else: + # it's fine that attn mask is not None. it's overwritten before calling the model if necessary info.text_encoder_outputs = (lg_out_i, t5_out_i, lg_pooled_i, l_attn_mask_i, g_attn_mask_i, t5_attn_mask_i) diff --git a/sd3_train_network.py b/sd3_train_network.py index 620a336fd..3506404ae 100644 --- a/sd3_train_network.py +++ b/sd3_train_network.py @@ -300,7 +300,7 @@ def get_noise_pred_and_target( if args.gradient_checkpointing: noisy_model_input.requires_grad_(True) for t in text_encoder_conds: - if t.dtype.is_floating_point: + if t is not None and t.dtype.is_floating_point: t.requires_grad_(True) # Predict the noise residual @@ -415,13 +415,12 @@ def forward(hidden_states): prepare_fp8(text_encoder, weight_dtype) def on_step_start(self, args, accelerator, network, text_encoders, unet, batch, weight_dtype): - # # drop cached text encoder outputs - # text_encoder_outputs_list = batch.get("text_encoder_outputs_list", None) - # if text_encoder_outputs_list is not None: - # text_encodoing_strategy: strategy_sd3.Sd3TextEncodingStrategy = strategy_base.TextEncodingStrategy.get_strategy() - # text_encoder_outputs_list = text_encodoing_strategy.drop_cached_text_encoder_outputs(*text_encoder_outputs_list) - # batch["text_encoder_outputs_list"] = text_encoder_outputs_list - pass + # drop cached text encoder outputs + text_encoder_outputs_list = batch.get("text_encoder_outputs_list", None) + if text_encoder_outputs_list is not None: + text_encodoing_strategy: strategy_sd3.Sd3TextEncodingStrategy = strategy_base.TextEncodingStrategy.get_strategy() + text_encoder_outputs_list = text_encodoing_strategy.drop_cached_text_encoder_outputs(*text_encoder_outputs_list) + batch["text_encoder_outputs_list"] = text_encoder_outputs_list def setup_parser() -> argparse.ArgumentParser: diff --git a/train_network.py b/train_network.py index 76936b2ed..b90aa420e 100644 --- a/train_network.py +++ b/train_network.py @@ -1151,16 +1151,6 @@ def remove_model(old_ckpt_name): text_encoder_outputs_list = batch.get("text_encoder_outputs_list", None) if text_encoder_outputs_list is not None: text_encoder_conds = text_encoder_outputs_list # List of text encoder outputs - - # if text_encoder_outputs_list is not None: - # lg_out, t5_out, lg_pooled, l_attn_mask, g_attn_mask, t5_attn_mask = text_encoder_outputs_list - # for i in range(len(lg_out)): - # print( - # f"[{i}] cached L: {lg_out[i,:,:768].max()}, {lg_pooled[i][:768].max()}, cached G: {lg_out[i,:,768:].max()}, {lg_pooled[i][768:].max()}, " - # f"cached T5: {t5_out[i].max()}, " - # f"attn mask: {l_attn_mask[i].max() if l_attn_mask is not None else 0}," - # f" {g_attn_mask[i].max() if g_attn_mask is not None else 0}, {t5_attn_mask[i].max() if t5_attn_mask is not None else 0}" - # ) if len(text_encoder_conds) == 0 or text_encoder_conds[0] is None or train_text_encoder: # TODO this does not work if 'some text_encoders are trained' and 'some are not and not cached' @@ -1193,15 +1183,6 @@ def remove_model(old_ckpt_name): if encoded_text_encoder_conds[i] is not None: text_encoder_conds[i] = encoded_text_encoder_conds[i] - # lg_out, t5_out, lg_pooled, l_attn_mask, g_attn_mask, t5_attn_mask = text_encoder_conds - # for i in range(len(lg_out)): - # print( - # f"[{i}] train L: {lg_out[i,:,:768].max()}, {lg_pooled[i][:768].max()}, train G: {lg_out[i,:,768:].max()}, {lg_pooled[i][768:].max()}, " - # f"train T5: {t5_out[i].max()}, " - # f"attn mask: {l_attn_mask[i].max() if l_attn_mask is not None else 0}," - # f" {g_attn_mask[i].max() if g_attn_mask is not None else 0}, {t5_attn_mask[i].max() if t5_attn_mask is not None else 0}" - # ) - # sample noise, call unet, get target noise_pred, target, timesteps, huber_c, weighting = self.get_noise_pred_and_target( args, From af8e216035128767234163a24debf2f4df5aa36d Mon Sep 17 00:00:00 2001 From: Kohya S Date: Mon, 28 Oct 2024 22:08:57 +0900 Subject: [PATCH 306/748] Fix sample image gen to work with block swap --- library/sd3_train_utils.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/library/sd3_train_utils.py b/library/sd3_train_utils.py index a0202ad40..054d1b4a1 100644 --- a/library/sd3_train_utils.py +++ b/library/sd3_train_utils.py @@ -364,6 +364,7 @@ def do_sample( x_c_nc = torch.cat([x, x], dim=0) # print(x_c_nc.shape, timestep.shape, c_crossattn.shape, y.shape) + mmdit.prepare_block_swap_before_forward() model_output = mmdit(x_c_nc, timestep, context=c_crossattn, y=y) model_output = model_output.float() batched = model_sampling.calculate_denoised(sigma_hat, model_output, x) @@ -385,6 +386,7 @@ def do_sample( x = x + d * dt x = x.to(dtype) + mmdit.prepare_block_swap_before_forward() return x From 75554867ce390ec0957cc52a70c0695e19c71fe2 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Tue, 29 Oct 2024 08:34:31 +0900 Subject: [PATCH 307/748] Fix error on saving T5XXL --- library/sd3_train_utils.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/library/sd3_train_utils.py b/library/sd3_train_utils.py index 054d1b4a1..1702e81c2 100644 --- a/library/sd3_train_utils.py +++ b/library/sd3_train_utils.py @@ -75,7 +75,14 @@ def update_sd(prefix, sd): save_file(clip_g.state_dict(), clip_g_path) if t5xxl is not None: t5xxl_path = ckpt_path.replace(".safetensors", "_t5xxl.safetensors") - save_file(t5xxl.state_dict(), t5xxl_path) + t5xxl_state_dict = t5xxl.state_dict() + + # replace "shared.weight" with copy of it to avoid annoying shared tensor error on safetensors.save_file + shared_weight = t5xxl_state_dict["shared.weight"] + shared_weight_copy = shared_weight.detach().clone() + t5xxl_state_dict["shared.weight"] = shared_weight_copy + + save_file(t5xxl_state_dict, t5xxl_path) def save_sd3_model_on_train_end( From 0af4edd8a63d7fcdf02bdcbd11b8770fd1cae162 Mon Sep 17 00:00:00 2001 From: kohya-ss Date: Tue, 29 Oct 2024 21:51:56 +0900 Subject: [PATCH 308/748] Fix split_qkv --- networks/lora_sd3.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/networks/lora_sd3.py b/networks/lora_sd3.py index cbabf8da0..249298b39 100644 --- a/networks/lora_sd3.py +++ b/networks/lora_sd3.py @@ -540,8 +540,8 @@ def state_dict(self, destination=None, prefix="", keep_vars=False): down_weight = torch.cat(down_weights, dim=0) # (rank, split_dim) * 3 -> (rank*3, sum of split_dim) # merge up weight (sum of split_dim, rank*3) - qkv_dim, rank = up_weights[0].size() - split_dim = qkv_dim // 3 + split_dim, rank = up_weights[0].size() + qkv_dim = split_dim * 3 up_weight = torch.zeros((qkv_dim, down_weight.size(0)), device=down_weight.device, dtype=down_weight.dtype) i = 0 for j in range(3): From d4e19fbd5e34e90347f189a8ba1f77e8878fe0ca Mon Sep 17 00:00:00 2001 From: kohya-ss Date: Tue, 29 Oct 2024 21:52:04 +0900 Subject: [PATCH 309/748] Support Lora --- sd3_minimal_inference.py | 60 +++++++++++++++++++++++++++++----------- 1 file changed, 44 insertions(+), 16 deletions(-) diff --git a/sd3_minimal_inference.py b/sd3_minimal_inference.py index d099fe18d..86dba246d 100644 --- a/sd3_minimal_inference.py +++ b/sd3_minimal_inference.py @@ -10,11 +10,13 @@ import torch from safetensors.torch import safe_open, load_file +import torch.amp from tqdm import tqdm from PIL import Image from transformers import CLIPTextModelWithProjection, T5EncoderModel from library.device_utils import init_ipex, get_preferred_device +from networks import lora_sd3 init_ipex() @@ -104,7 +106,8 @@ def do_sample( x_c_nc = torch.cat([x, x], dim=0) # print(x_c_nc.shape, timestep.shape, c_crossattn.shape, y.shape) - model_output = mmdit(x_c_nc, timestep, context=c_crossattn, y=y) + with torch.autocast(device_type=device.type, dtype=dtype): + model_output = mmdit(x_c_nc, timestep, context=c_crossattn, y=y) model_output = model_output.float() batched = model_sampling.calculate_denoised(sigma_hat, model_output, x) @@ -153,7 +156,7 @@ def generate_image( clip_g.to(device) t5xxl.to(device) - with torch.no_grad(): + with torch.autocast(device_type=device.type, dtype=mmdit.dtype), torch.no_grad(): tokens_and_masks = tokenize_strategy.tokenize(prompt) lg_out, t5_out, pooled, l_attn_mask, g_attn_mask, t5_attn_mask = encoding_strategy.encode_tokens( tokenize_strategy, [clip_l, clip_g, t5xxl], tokens_and_masks, args.apply_lg_attn_mask, args.apply_t5_attn_mask @@ -233,13 +236,14 @@ def generate_image( parser.add_argument("--bf16", action="store_true") parser.add_argument("--seed", type=int, default=1) parser.add_argument("--steps", type=int, default=50) - # parser.add_argument( - # "--lora_weights", - # type=str, - # nargs="*", - # default=[], - # help="LoRA weights, only supports networks.lora, each argument is a `path;multiplier` (semi-colon separated)", - # ) + parser.add_argument( + "--lora_weights", + type=str, + nargs="*", + default=[], + help="LoRA weights, only supports networks.lora_sd3, each argument is a `path;multiplier` (semi-colon separated)", + ) + parser.add_argument("--merge_lora_weights", action="store_true", help="Merge LoRA weights to model") parser.add_argument("--width", type=int, default=target_width) parser.add_argument("--height", type=int, default=target_height) parser.add_argument("--interactive", action="store_true") @@ -294,6 +298,30 @@ def generate_image( tokenize_strategy = strategy_sd3.Sd3TokenizeStrategy(args.t5xxl_token_length) encoding_strategy = strategy_sd3.Sd3TextEncodingStrategy() + # LoRA + lora_models: list[lora_sd3.LoRANetwork] = [] + for weights_file in args.lora_weights: + if ";" in weights_file: + weights_file, multiplier = weights_file.split(";") + multiplier = float(multiplier) + else: + multiplier = 1.0 + + weights_sd = load_file(weights_file) + module = lora_sd3 + lora_model, _ = module.create_network_from_weights(multiplier, None, vae, [clip_l, clip_g, t5xxl], mmdit, weights_sd, True) + + if args.merge_lora_weights: + lora_model.merge_to([clip_l, clip_g, t5xxl], mmdit, weights_sd) + else: + lora_model.apply_to([clip_l, clip_g, t5xxl], mmdit) + info = lora_model.load_state_dict(weights_sd, strict=True) + logger.info(f"Loaded LoRA weights from {weights_file}: {info}") + lora_model.eval() + lora_model.to(device) + + lora_models.append(lora_model) + if not args.interactive: generate_image( mmdit, @@ -344,13 +372,13 @@ def generate_image( steps = int(opt[1:].strip()) elif opt.startswith("d"): seed = int(opt[1:].strip()) - # elif opt.startswith("m"): - # mutipliers = opt[1:].strip().split(",") - # if len(mutipliers) != len(lora_models): - # logger.error(f"Invalid number of multipliers, expected {len(lora_models)}") - # continue - # for i, lora_model in enumerate(lora_models): - # lora_model.set_multiplier(float(mutipliers[i])) + elif opt.startswith("m"): + mutipliers = opt[1:].strip().split(",") + if len(mutipliers) != len(lora_models): + logger.error(f"Invalid number of multipliers, expected {len(lora_models)}") + continue + for i, lora_model in enumerate(lora_models): + lora_model.set_multiplier(float(mutipliers[i])) elif opt.startswith("n"): negative_prompt = opt[1:].strip() if negative_prompt == "-": From 1e2f7b0e44ee656cd8d0ca8268aa1371618031ac Mon Sep 17 00:00:00 2001 From: Kohya S Date: Tue, 29 Oct 2024 22:11:04 +0900 Subject: [PATCH 310/748] Support for checkpoint files with a mysterious prefix "model.diffusion_model." --- library/flux_utils.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/library/flux_utils.py b/library/flux_utils.py index 7a1ec37b8..4403835f1 100644 --- a/library/flux_utils.py +++ b/library/flux_utils.py @@ -73,6 +73,10 @@ def analyze_checkpoint_state(ckpt_path: str) -> Tuple[bool, bool, Tuple[int, int with safe_open(ckpt_path, framework="pt") as f: keys.extend(f.keys()) + # if the key has annoying prefix, remove it + if keys[0].startswith("model.diffusion_model."): + keys = [key.replace("model.diffusion_model.", "") for key in keys] + is_diffusers = "transformer_blocks.0.attn.add_k_proj.bias" in keys is_schnell = not ("guidance_in.in_layer.bias" in keys or "time_text_embed.guidance_embedder.linear_1.bias" in keys) @@ -141,6 +145,13 @@ def load_flow_model( sd = convert_diffusers_sd_to_bfl(sd, num_double_blocks, num_single_blocks) logger.info("Converted Diffusers to BFL") + # if the key has annoying prefix, remove it + for key in list(sd.keys()): + new_key = key.replace("model.diffusion_model.", "") + if new_key == key: + break # the model doesn't have annoying prefix + sd[new_key] = sd.pop(key) + info = model.load_state_dict(sd, strict=False, assign=True) logger.info(f"Loaded Flux: {info}") return is_schnell, model From ce5b5325829538c03ff9ce80a79fe2c84ca5283c Mon Sep 17 00:00:00 2001 From: kohya-ss Date: Tue, 29 Oct 2024 22:29:24 +0900 Subject: [PATCH 311/748] Fix additional LoRA to work --- networks/lora_sd3.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/networks/lora_sd3.py b/networks/lora_sd3.py index 249298b39..c1eb68b8a 100644 --- a/networks/lora_sd3.py +++ b/networks/lora_sd3.py @@ -428,7 +428,7 @@ def create_modules( for filter, in_dim in zip( [ "context_embedder", - "t_embedder", + "_t_embedder", # don't use "t_embedder" because it's used in "context_embedder" "x_embedder", "y_embedder", "final_layer_adaLN_modulation", From b502f584886fbf52f9a180981efe276ea8509de7 Mon Sep 17 00:00:00 2001 From: kohya-ss Date: Tue, 29 Oct 2024 23:29:50 +0900 Subject: [PATCH 312/748] Fix emb_dim to work. --- networks/lora_sd3.py | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/networks/lora_sd3.py b/networks/lora_sd3.py index c1eb68b8a..efe202451 100644 --- a/networks/lora_sd3.py +++ b/networks/lora_sd3.py @@ -307,6 +307,7 @@ def create_modules( target_replace_modules: List[str], filter: Optional[str] = None, default_dim: Optional[int] = None, + include_conv2d_if_filter: bool = False, ) -> List[LoRAModule]: prefix = ( self.LORA_PREFIX_SD3 @@ -332,8 +333,11 @@ def create_modules( lora_name = prefix + "." + (name + "." if name else "") + child_name lora_name = lora_name.replace(".", "_") - if filter is not None and not filter in lora_name: - continue + force_incl_conv2d = False + if filter is not None: + if not filter in lora_name: + continue + force_incl_conv2d = include_conv2d_if_filter dim = None alpha = None @@ -373,6 +377,10 @@ def create_modules( elif self.conv_lora_dim is not None: dim = self.conv_lora_dim alpha = self.conv_alpha + elif force_incl_conv2d: + # x_embedder + dim = default_dim if default_dim is not None else self.lora_dim + alpha = self.alpha if dim is None or dim == 0: # skipした情報を出力 @@ -428,7 +436,7 @@ def create_modules( for filter, in_dim in zip( [ "context_embedder", - "_t_embedder", # don't use "t_embedder" because it's used in "context_embedder" + "_t_embedder", # don't use "t_embedder" because it's used in "context_embedder" "x_embedder", "y_embedder", "final_layer_adaLN_modulation", @@ -436,7 +444,12 @@ def create_modules( ], self.emb_dims, ): - loras, _ = create_modules(True, None, unet, None, filter=filter, default_dim=in_dim) + # x_embedder is conv2d, so we need to include it + loras, _ = create_modules( + True, None, unet, None, filter=filter, default_dim=in_dim, include_conv2d_if_filter=filter == "x_embedder" + ) + # if len(loras) > 0: + # logger.info(f"create LoRA for {filter}: {len(loras)} modules.") self.unet_loras.extend(loras) logger.info(f"create LoRA for SD3 MMDiT: {len(self.unet_loras)} modules.") From bdddc20d68a7441cccfcf0009528fdd59403b94a Mon Sep 17 00:00:00 2001 From: Kohya S Date: Wed, 30 Oct 2024 12:51:49 +0900 Subject: [PATCH 313/748] support SD3.5M --- library/sd3_models.py | 128 +++++++++++++++++++++++-------------- library/sd3_train_utils.py | 7 ++ library/sd3_utils.py | 13 ++-- sd3_train.py | 8 +-- sd3_train_network.py | 1 + 5 files changed, 99 insertions(+), 58 deletions(-) diff --git a/library/sd3_models.py b/library/sd3_models.py index 5d09f74e8..840f91869 100644 --- a/library/sd3_models.py +++ b/library/sd3_models.py @@ -51,7 +51,7 @@ class SD3Params: pos_embed_max_size: int adm_in_channels: int qk_norm: Optional[str] - x_block_self_attn_layers: List[int] + x_block_self_attn_layers: list[int] context_embedder_in_features: int context_embedder_out_features: int model_type: str @@ -510,6 +510,7 @@ def __init__( scale_mod_only: bool = False, swiglu: bool = False, qk_norm: Optional[str] = None, + x_block_self_attn: bool = False, **block_kwargs, ): super().__init__() @@ -519,13 +520,14 @@ def __init__( self.norm1 = nn.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6) else: self.norm1 = RMSNorm(hidden_size, elementwise_affine=False, eps=1e-6) - self.attn = AttentionLinears( - dim=hidden_size, - num_heads=num_heads, - qkv_bias=qkv_bias, - pre_only=pre_only, - qk_norm=qk_norm, - ) + self.attn = AttentionLinears(dim=hidden_size, num_heads=num_heads, qkv_bias=qkv_bias, pre_only=pre_only, qk_norm=qk_norm) + + self.x_block_self_attn = x_block_self_attn + if self.x_block_self_attn: + assert not pre_only + assert not scale_mod_only + self.attn2 = AttentionLinears(dim=hidden_size, num_heads=num_heads, qkv_bias=qkv_bias, pre_only=False, qk_norm=qk_norm) + if not pre_only: if not rmsnorm: self.norm2 = nn.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6) @@ -546,7 +548,9 @@ def __init__( multiple_of=256, ) self.scale_mod_only = scale_mod_only - if not scale_mod_only: + if self.x_block_self_attn: + n_mods = 9 + elif not scale_mod_only: n_mods = 6 if not pre_only else 2 else: n_mods = 4 if not pre_only else 1 @@ -556,63 +560,64 @@ def __init__( def pre_attention(self, x: torch.Tensor, c: torch.Tensor) -> torch.Tensor: if not self.pre_only: if not self.scale_mod_only: - ( - shift_msa, - scale_msa, - gate_msa, - shift_mlp, - scale_mlp, - gate_mlp, - ) = self.adaLN_modulation( - c - ).chunk(6, dim=-1) + (shift_msa, scale_msa, gate_msa, shift_mlp, scale_mlp, gate_mlp) = self.adaLN_modulation(c).chunk(6, dim=-1) else: shift_msa = None shift_mlp = None - ( - scale_msa, - gate_msa, - scale_mlp, - gate_mlp, - ) = self.adaLN_modulation( - c - ).chunk(4, dim=-1) + (scale_msa, gate_msa, scale_mlp, gate_mlp) = self.adaLN_modulation(c).chunk(4, dim=-1) qkv = self.attn.pre_attention(modulate(self.norm1(x), shift_msa, scale_msa)) - return qkv, ( - x, - gate_msa, - shift_mlp, - scale_mlp, - gate_mlp, - ) + return qkv, (x, gate_msa, shift_mlp, scale_mlp, gate_mlp) else: if not self.scale_mod_only: - ( - shift_msa, - scale_msa, - ) = self.adaLN_modulation( - c - ).chunk(2, dim=-1) + (shift_msa, scale_msa) = self.adaLN_modulation(c).chunk(2, dim=-1) else: shift_msa = None scale_msa = self.adaLN_modulation(c) qkv = self.attn.pre_attention(modulate(self.norm1(x), shift_msa, scale_msa)) return qkv, None + def pre_attention_x(self, x: torch.Tensor, c: torch.Tensor) -> torch.Tensor: + assert self.x_block_self_attn + (shift_msa, scale_msa, gate_msa, shift_mlp, scale_mlp, gate_mlp, shift_msa2, scale_msa2, gate_msa2) = self.adaLN_modulation( + c + ).chunk(9, dim=1) + x_norm = self.norm1(x) + qkv = self.attn.pre_attention(modulate(x_norm, shift_msa, scale_msa)) + qkv2 = self.attn2.pre_attention(modulate(x_norm, shift_msa2, scale_msa2)) + return qkv, qkv2, (x, gate_msa, shift_mlp, scale_mlp, gate_mlp, gate_msa2) + def post_attention(self, attn, x, gate_msa, shift_mlp, scale_mlp, gate_mlp): assert not self.pre_only x = x + gate_msa.unsqueeze(1) * self.attn.post_attention(attn) x = x + gate_mlp.unsqueeze(1) * self.mlp(modulate(self.norm2(x), shift_mlp, scale_mlp)) return x + def post_attention_x(self, attn, attn2, x, gate_msa, shift_mlp, scale_mlp, gate_mlp, gate_msa2, attn1_dropout: float = 0.0): + assert not self.pre_only + if attn1_dropout > 0.0: + # Use torch.bernoulli to implement dropout, only dropout the batch dimension + attn1_dropout = torch.bernoulli(torch.full((attn.size(0), 1, 1), 1 - attn1_dropout, device=attn.device)) + attn_ = gate_msa.unsqueeze(1) * self.attn.post_attention(attn) * attn1_dropout + else: + attn_ = gate_msa.unsqueeze(1) * self.attn.post_attention(attn) + x = x + attn_ + attn2_ = gate_msa2.unsqueeze(1) * self.attn2.post_attention(attn2) + x = x + attn2_ + mlp_ = gate_mlp.unsqueeze(1) * self.mlp(modulate(self.norm2(x), shift_mlp, scale_mlp)) + x = x + mlp_ + return x + # JointBlock + block_mixing in mmdit.py class MMDiTBlock(nn.Module): def __init__(self, *args, **kwargs): super().__init__() pre_only = kwargs.pop("pre_only") + x_block_self_attn = kwargs.pop("x_block_self_attn") + self.context_block = SingleDiTBlock(*args, pre_only=pre_only, **kwargs) - self.x_block = SingleDiTBlock(*args, pre_only=False, **kwargs) + self.x_block = SingleDiTBlock(*args, pre_only=False, x_block_self_attn=x_block_self_attn, **kwargs) + self.head_dim = self.x_block.attn.head_dim self.mode = self.x_block.attn_mode self.gradient_checkpointing = False @@ -622,7 +627,11 @@ def enable_gradient_checkpointing(self): def _forward(self, context, x, c): ctx_qkv, ctx_intermediate = self.context_block.pre_attention(context, c) - x_qkv, x_intermediate = self.x_block.pre_attention(x, c) + + if self.x_block.x_block_self_attn: + x_qkv, x_qkv2, x_intermediates = self.x_block.pre_attention_x(x, c) + else: + x_qkv, x_intermediates = self.x_block.pre_attention(x, c) ctx_len = ctx_qkv[0].size(1) @@ -634,11 +643,18 @@ def _forward(self, context, x, c): ctx_attn_out = attn[:, :ctx_len] x_attn_out = attn[:, ctx_len:] - x = self.x_block.post_attention(x_attn_out, *x_intermediate) + if self.x_block.x_block_self_attn: + x_q2, x_k2, x_v2 = x_qkv2 + attn2 = attention(x_q2, x_k2, x_v2, self.x_block.attn2.num_heads) + x = self.x_block.post_attention_x(x_attn_out, attn2, *x_intermediates) + else: + x = self.x_block.post_attention(x_attn_out, *x_intermediates) + if not self.context_block.pre_only: context = self.context_block.post_attention(ctx_attn_out, *ctx_intermediate) else: context = None + return context, x def forward(self, *args, **kwargs): @@ -678,7 +694,9 @@ def __init__( pos_embed_max_size: Optional[int] = None, num_patches=None, qk_norm: Optional[str] = None, + x_block_self_attn_layers: Optional[list[int]] = [], qkv_bias: bool = True, + pos_emb_random_crop_rate: float = 0.0, model_type: str = "sd3m", ): super().__init__() @@ -691,6 +709,8 @@ def __init__( self.pos_embed_scaling_factor = pos_embed_scaling_factor self.pos_embed_offset = pos_embed_offset self.pos_embed_max_size = pos_embed_max_size + self.x_block_self_attn_layers = x_block_self_attn_layers + self.pos_emb_random_crop_rate = pos_emb_random_crop_rate self.gradient_checkpointing = use_checkpoint # hidden_size = default(hidden_size, 64 * depth) @@ -751,6 +771,7 @@ def __init__( scale_mod_only=scale_mod_only, swiglu=swiglu, qk_norm=qk_norm, + x_block_self_attn=(i in self.x_block_self_attn_layers), ) for i in range(depth) ] @@ -832,7 +853,10 @@ def _basic_init(module): nn.init.constant_(self.final_layer.linear.weight, 0) nn.init.constant_(self.final_layer.linear.bias, 0) - def cropped_pos_embed(self, h, w, device=None): + def set_pos_emb_random_crop_rate(self, rate: float): + self.pos_emb_random_crop_rate = rate + + def cropped_pos_embed(self, h, w, device=None, random_crop: bool = False): p = self.x_embedder.patch_size # patched size h = (h + 1) // p @@ -842,8 +866,14 @@ def cropped_pos_embed(self, h, w, device=None): assert self.pos_embed_max_size is not None assert h <= self.pos_embed_max_size, (h, self.pos_embed_max_size) assert w <= self.pos_embed_max_size, (w, self.pos_embed_max_size) - top = (self.pos_embed_max_size - h) // 2 - left = (self.pos_embed_max_size - w) // 2 + + if not random_crop: + top = (self.pos_embed_max_size - h) // 2 + left = (self.pos_embed_max_size - w) // 2 + else: + top = torch.randint(0, self.pos_embed_max_size - h + 1, (1,)).item() + left = torch.randint(0, self.pos_embed_max_size - w + 1, (1,)).item() + spatial_pos_embed = self.pos_embed.reshape( 1, self.pos_embed_max_size, @@ -896,9 +926,12 @@ def forward( t: (N,) tensor of diffusion timesteps y: (N, D) tensor of class labels """ + pos_emb_random_crop = ( + False if self.pos_emb_random_crop_rate == 0.0 else torch.rand(1).item() < self.pos_emb_random_crop_rate + ) B, C, H, W = x.shape - x = self.x_embedder(x) + self.cropped_pos_embed(H, W, device=x.device).to(dtype=x.dtype) + x = self.x_embedder(x) + self.cropped_pos_embed(H, W, device=x.device, random_crop=pos_emb_random_crop).to(dtype=x.dtype) c = self.t_embedder(t, dtype=x.dtype) # (N, D) if y is not None and self.y_embedder is not None: y = self.y_embedder(y) # (N, D) @@ -977,6 +1010,7 @@ def create_sd3_mmdit(params: SD3Params, attn_mode: str = "torch") -> MMDiT: depth=params.depth, mlp_ratio=4, qk_norm=params.qk_norm, + x_block_self_attn_layers=params.x_block_self_attn_layers, num_patches=params.num_patches, attn_mode=attn_mode, model_type=params.model_type, diff --git a/library/sd3_train_utils.py b/library/sd3_train_utils.py index 1702e81c2..86f0c9c04 100644 --- a/library/sd3_train_utils.py +++ b/library/sd3_train_utils.py @@ -239,6 +239,13 @@ def add_sd3_training_arguments(parser: argparse.ArgumentParser): default=0.0, help="Dropout rate for T5 encoder, default is 0.0 / T5エンコーダのドロップアウト率、デフォルトは0.0", ) + parser.add_argument( + "--pos_emb_random_crop_rate", + type=float, + default=0.0, + help="Random crop rate for positional embeddings, default is 0.0. Only for SD3.5M" + " / 位置埋め込みのランダムクロップ率、デフォルトは0.0。SD3.5M以外では予期しない動作になります", + ) # copy from Diffusers parser.add_argument( diff --git a/library/sd3_utils.py b/library/sd3_utils.py index 71e50de36..1861dfbc2 100644 --- a/library/sd3_utils.py +++ b/library/sd3_utils.py @@ -41,20 +41,21 @@ def analyze_state_dict_state(state_dict: Dict, prefix: str = ""): # x_block_self_attn_layers.append(int(key.split(".x_block.attn2.ln_k.weight")[0].split(".")[-1])) x_block_self_attn_layers = [] - re_attn = re.compile(r".(\d+).x_block.attn2.ln_k.weight") + re_attn = re.compile(r"\.(\d+)\.x_block\.attn2\.ln_k\.weight") for key in list(state_dict.keys()): - m = re_attn.match(key) + m = re_attn.search(key) if m: x_block_self_attn_layers.append(int(m.group(1))) - assert len(x_block_self_attn_layers) == 0, "x_block_self_attn_layers is not supported" - context_embedder_in_features = context_shape[1] context_embedder_out_features = context_shape[0] - # only supports 3-5-large and 3-medium + # only supports 3-5-large, medium or 3-medium if qk_norm is not None: - model_type = "3-5-large" + if len(x_block_self_attn_layers) == 0: + model_type = "3-5-large" + else: + model_type = "3-5-medium" else: model_type = "3-medium" diff --git a/sd3_train.py b/sd3_train.py index cdac945e6..df2736901 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -353,17 +353,15 @@ def train(args): accelerator.wait_for_everyone() # load MMDIT - mmdit = sd3_utils.load_mmdit( - sd3_state_dict, - model_dtype, - "cpu", - ) + mmdit = sd3_utils.load_mmdit(sd3_state_dict, model_dtype, "cpu") # attn_mode = "xformers" if args.xformers else "torch" # assert ( # attn_mode == "torch" # ), f"attn_mode {attn_mode} is not supported yet. Please use `--sdpa` instead of `--xformers`. / attn_mode {attn_mode} はサポートされていません。`--xformers`の代わりに`--sdpa`を使ってください。" + mmdit.set_pos_emb_random_crop_rate(args.pos_emb_random_crop_rate) + if args.gradient_checkpointing: mmdit.enable_gradient_checkpointing() diff --git a/sd3_train_network.py b/sd3_train_network.py index 3506404ae..3d2a75710 100644 --- a/sd3_train_network.py +++ b/sd3_train_network.py @@ -65,6 +65,7 @@ def load_target_model(self, args, weight_dtype, accelerator): ) mmdit = sd3_utils.load_mmdit(state_dict, loading_dtype, "cpu") self.model_type = mmdit.model_type + mmdit.set_pos_emb_random_crop_rate(args.pos_emb_random_crop_rate) if args.fp8_base: # check dtype of model From 70a179e446219b66f208e4fbb37b74c5d77d6086 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Wed, 30 Oct 2024 14:34:19 +0900 Subject: [PATCH 314/748] Fix to use SDPA instead of xformers --- library/sd3_models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/sd3_models.py b/library/sd3_models.py index 840f91869..60356e82c 100644 --- a/library/sd3_models.py +++ b/library/sd3_models.py @@ -645,7 +645,7 @@ def _forward(self, context, x, c): if self.x_block.x_block_self_attn: x_q2, x_k2, x_v2 = x_qkv2 - attn2 = attention(x_q2, x_k2, x_v2, self.x_block.attn2.num_heads) + attn2 = attention(x_q2, x_k2, x_v2, self.x_block.attn2.num_heads, mode=self.mode) x = self.x_block.post_attention_x(x_attn_out, attn2, *x_intermediates) else: x = self.x_block.post_attention(x_attn_out, *x_intermediates) From 1434d8506f3ccc4ae6cc005a19531dba3cbb9fb9 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 31 Oct 2024 19:58:22 +0900 Subject: [PATCH 315/748] Support SD3.5M multi resolutional training --- library/sd3_models.py | 177 ++++++++++++++++++++++++++++++++++++- library/sd3_train_utils.py | 6 ++ library/strategy_base.py | 2 +- library/strategy_flux.py | 4 +- library/strategy_sd3.py | 11 ++- library/train_util.py | 3 + sd3_train.py | 9 +- sd3_train_network.py | 13 ++- 8 files changed, 215 insertions(+), 10 deletions(-) diff --git a/library/sd3_models.py b/library/sd3_models.py index 60356e82c..0eca94e2f 100644 --- a/library/sd3_models.py +++ b/library/sd3_models.py @@ -88,6 +88,78 @@ def get_2d_sincos_pos_embed_from_grid(embed_dim, grid): return emb +def get_scaled_2d_sincos_pos_embed(embed_dim, grid_size, cls_token=False, extra_tokens=0, sample_size=64, base_size=16): + """ + This function is contributed by KohakuBlueleaf. Thanks for the contribution! + + Creates scaled 2D sinusoidal positional embeddings that maintain consistent relative positions + when the resolution differs from the training resolution. + + Args: + embed_dim (int): Dimension of the positional embedding. + grid_size (int or tuple): Size of the position grid (H, W). If int, assumes square grid. + cls_token (bool): Whether to include class token. Defaults to False. + extra_tokens (int): Number of extra tokens (e.g., cls_token). Defaults to 0. + sample_size (int): Reference resolution (typically training resolution). Defaults to 64. + base_size (int): Base grid size used during training. Defaults to 16. + + Returns: + numpy.ndarray: Positional embeddings of shape (H*W, embed_dim) or + (H*W + extra_tokens, embed_dim) if cls_token is True. + """ + # Convert grid_size to tuple if it's an integer + if isinstance(grid_size, int): + grid_size = (grid_size, grid_size) + + # Create normalized grid coordinates (0 to 1) + grid_h = np.arange(grid_size[0], dtype=np.float32) / grid_size[0] + grid_w = np.arange(grid_size[1], dtype=np.float32) / grid_size[1] + + # Calculate scaling factors for height and width + # This ensures that the central region matches the original resolution's embeddings + scale_h = base_size * grid_size[0] / (sample_size) + scale_w = base_size * grid_size[1] / (sample_size) + + # Calculate shift values to center the original resolution's embedding region + # This ensures that the central sample_size x sample_size region has similar + # positional embeddings to the original resolution + shift_h = 1 * scale_h * (grid_size[0] - sample_size) / (2 * grid_size[0]) + shift_w = 1 * scale_w * (grid_size[1] - sample_size) / (2 * grid_size[1]) + + # Apply scaling and shifting to create the final grid coordinates + grid_h = grid_h * scale_h - shift_h + grid_w = grid_w * scale_w - shift_w + + # Create 2D grid using meshgrid (note: w goes first) + grid = np.meshgrid(grid_w, grid_h) + grid = np.stack(grid, axis=0) + + # # Calculate the starting indices for the central region + # # This is used for debugging/visualization of the central region + # st_h = (grid_size[0] - sample_size) // 2 + # st_w = (grid_size[1] - sample_size) // 2 + # print(grid[:, st_h : st_h + sample_size, st_w : st_w + sample_size]) + + # Reshape grid for positional embedding calculation + grid = grid.reshape([2, 1, grid_size[1], grid_size[0]]) + + # Generate the sinusoidal positional embeddings + pos_embed = get_2d_sincos_pos_embed_from_grid(embed_dim, grid) + + # Add zeros for extra tokens (e.g., [CLS] token) if required + if cls_token and extra_tokens > 0: + pos_embed = np.concatenate([np.zeros([extra_tokens, embed_dim]), pos_embed], axis=0) + + return pos_embed + + +# if __name__ == "__main__": +# # This is what you get when you load SD3.5 state dict +# pos_emb = torch.from_numpy(get_scaled_2d_sincos_pos_embed( +# 1536, [384, 384], sample_size=64, base_size=16 +# )).float().unsqueeze(0) + + def get_1d_sincos_pos_embed_from_grid(embed_dim, pos): """ embed_dim: output dimension for each position @@ -617,7 +689,7 @@ def __init__(self, *args, **kwargs): self.context_block = SingleDiTBlock(*args, pre_only=pre_only, **kwargs) self.x_block = SingleDiTBlock(*args, pre_only=False, x_block_self_attn=x_block_self_attn, **kwargs) - + self.head_dim = self.x_block.attn.head_dim self.mode = self.x_block.attn_mode self.gradient_checkpointing = False @@ -669,6 +741,9 @@ class MMDiT(nn.Module): Diffusion model with a Transformer backbone. """ + # prepare pos_embed for latent size * 2 + POS_EMBED_MAX_RATIO = 1.5 + def __init__( self, input_size: int = 32, @@ -697,6 +772,8 @@ def __init__( x_block_self_attn_layers: Optional[list[int]] = [], qkv_bias: bool = True, pos_emb_random_crop_rate: float = 0.0, + use_scaled_pos_embed: bool = False, + pos_embed_latent_sizes: Optional[list[int]] = None, model_type: str = "sd3m", ): super().__init__() @@ -722,6 +799,8 @@ def __init__( self.num_heads = num_heads + self.enable_scaled_pos_embed(use_scaled_pos_embed, pos_embed_latent_sizes) + self.x_embedder = PatchEmbed( input_size, patch_size, @@ -785,6 +864,43 @@ def __init__( self.blocks_to_swap = None self.thread_pool: Optional[ThreadPoolExecutor] = None + def enable_scaled_pos_embed(self, use_scaled_pos_embed: bool, latent_sizes: Optional[list[int]]): + self.use_scaled_pos_embed = use_scaled_pos_embed + + if self.use_scaled_pos_embed: + # # remove pos_embed to free up memory up to 0.4 GB + self.pos_embed = None + + # sort latent sizes in ascending order + latent_sizes = sorted(latent_sizes) + + patched_sizes = [latent_size // self.patch_size for latent_size in latent_sizes] + + # calculate value range for each latent area: this is used to determine the pos_emb size from the latent shape + max_areas = [] + for i in range(1, len(patched_sizes)): + prev_area = patched_sizes[i - 1] ** 2 + area = patched_sizes[i] ** 2 + max_areas.append((prev_area + area) // 2) + + # area of the last latent size, if the latent size exceeds this, error will be raised + max_areas.append(int((patched_sizes[-1] * MMDiT.POS_EMBED_MAX_RATIO) ** 2)) + # print("max_areas", max_areas) + + self.resolution_area_to_latent_size = [(area, latent_size) for area, latent_size in zip(max_areas, patched_sizes)] + + self.resolution_pos_embeds = {} + for patched_size in patched_sizes: + grid_size = int(patched_size * MMDiT.POS_EMBED_MAX_RATIO) + pos_embed = get_scaled_2d_sincos_pos_embed(self.hidden_size, grid_size, sample_size=patched_size) + pos_embed = torch.from_numpy(pos_embed).float().unsqueeze(0) + self.resolution_pos_embeds[patched_size] = pos_embed + # print(f"pos_embed for {patched_size}x{patched_size} latent size: {pos_embed.shape}") + + else: + self.resolution_area_to_latent_size = None + self.resolution_pos_embeds = None + @property def model_type(self): return self._model_type @@ -884,6 +1000,54 @@ def cropped_pos_embed(self, h, w, device=None, random_crop: bool = False): spatial_pos_embed = spatial_pos_embed.reshape(1, -1, spatial_pos_embed.shape[-1]) return spatial_pos_embed + def cropped_scaled_pos_embed(self, h, w, device=None, dtype=None, random_crop: bool = False): + p = self.x_embedder.patch_size + # patched size + h = (h + 1) // p + w = (w + 1) // p + + # select pos_embed size based on area + area = h * w + patched_size = None + for area_, patched_size_ in self.resolution_area_to_latent_size: + if area <= area_: + patched_size = patched_size_ + break + if patched_size is None: + raise ValueError(f"Area {area} is too large for the given latent sizes {self.resolution_area_to_latent_size}.") + + pos_embed_size = int(patched_size * MMDiT.POS_EMBED_MAX_RATIO) + if h > pos_embed_size or w > pos_embed_size: + # fallback to normal pos_embed + logger.warning( + f"Using normal pos_embed for size {h}x{w} as it exceeds the scaled pos_embed size {pos_embed_size}. Image is too tall or wide." + ) + return self.cropped_pos_embed(h, w, device=device, random_crop=random_crop) + + if not random_crop: + top = (pos_embed_size - h) // 2 + left = (pos_embed_size - w) // 2 + else: + top = torch.randint(0, pos_embed_size - h + 1, (1,)).item() + left = torch.randint(0, pos_embed_size - w + 1, (1,)).item() + + pos_embed = self.resolution_pos_embeds[patched_size] + if pos_embed.device != device: + pos_embed = pos_embed.to(device) + # which is better to update device, or transfer every time to device? -> 64x64 emb is 96*96*1536*4=56MB. It's okay to update device. + self.resolution_pos_embeds[patched_size] = pos_embed # update device + if pos_embed.dtype != dtype: + pos_embed = pos_embed.to(dtype) + self.resolution_pos_embeds[patched_size] = pos_embed # update dtype + + spatial_pos_embed = pos_embed.reshape(1, pos_embed_size, pos_embed_size, pos_embed.shape[-1]) + spatial_pos_embed = spatial_pos_embed[:, top : top + h, left : left + w, :] + spatial_pos_embed = spatial_pos_embed.reshape(1, -1, spatial_pos_embed.shape[-1]) + # print( + # f"patched size: {h}x{w}, pos_embed size: {pos_embed_size}, pos_embed shape: {pos_embed.shape}, top: {top}, left: {left}" + # ) + return spatial_pos_embed + def enable_block_swap(self, num_blocks: int): self.blocks_to_swap = num_blocks @@ -931,7 +1095,16 @@ def forward( ) B, C, H, W = x.shape - x = self.x_embedder(x) + self.cropped_pos_embed(H, W, device=x.device, random_crop=pos_emb_random_crop).to(dtype=x.dtype) + + # x = self.x_embedder(x) + self.cropped_pos_embed(H, W, device=x.device, random_crop=pos_emb_random_crop).to(dtype=x.dtype) + if not self.use_scaled_pos_embed: + pos_embed = self.cropped_pos_embed(H, W, device=x.device, random_crop=pos_emb_random_crop).to(dtype=x.dtype) + else: + # print(f"Using scaled pos_embed for size {H}x{W}") + pos_embed = self.cropped_scaled_pos_embed(H, W, device=x.device, dtype=x.dtype, random_crop=pos_emb_random_crop) + x = self.x_embedder(x) + pos_embed + del pos_embed + c = self.t_embedder(t, dtype=x.dtype) # (N, D) if y is not None and self.y_embedder is not None: y = self.y_embedder(y) # (N, D) diff --git a/library/sd3_train_utils.py b/library/sd3_train_utils.py index 86f0c9c04..69878750e 100644 --- a/library/sd3_train_utils.py +++ b/library/sd3_train_utils.py @@ -246,6 +246,12 @@ def add_sd3_training_arguments(parser: argparse.ArgumentParser): help="Random crop rate for positional embeddings, default is 0.0. Only for SD3.5M" " / 位置埋め込みのランダムクロップ率、デフォルトは0.0。SD3.5M以外では予期しない動作になります", ) + parser.add_argument( + "--enable_scaled_pos_embed", + action="store_true", + help="Scale position embeddings for each resolution during multi-resolution training. Only for SD3.5M" + " / 複数解像度学習時に解像度ごとに位置埋め込みをスケーリングする。SD3.5M以外では予期しない動作になります", + ) # copy from Diffusers parser.add_argument( diff --git a/library/strategy_base.py b/library/strategy_base.py index e390c5f35..358e42f1d 100644 --- a/library/strategy_base.py +++ b/library/strategy_base.py @@ -518,7 +518,7 @@ def load_latents_from_disk( self, npz_path: str, bucket_reso: Tuple[int, int] ) -> Tuple[Optional[np.ndarray], Optional[List[int]], Optional[List[int]], Optional[np.ndarray], Optional[np.ndarray]]: """ - for SD/SDXL/SD3.0 + for SD/SDXL """ return self._default_load_latents_from_disk(None, npz_path, bucket_reso) diff --git a/library/strategy_flux.py b/library/strategy_flux.py index f662b62e9..5e65927f8 100644 --- a/library/strategy_flux.py +++ b/library/strategy_flux.py @@ -212,7 +212,7 @@ def get_latents_npz_path(self, absolute_path: str, image_size: Tuple[int, int]) ) def is_disk_cached_latents_expected(self, bucket_reso: Tuple[int, int], npz_path: str, flip_aug: bool, alpha_mask: bool): - return self._default_is_disk_cached_latents_expected(8, bucket_reso, npz_path, flip_aug, alpha_mask, True) + return self._default_is_disk_cached_latents_expected(8, bucket_reso, npz_path, flip_aug, alpha_mask, multi_resolution=True) def load_latents_from_disk( self, npz_path: str, bucket_reso: Tuple[int, int] @@ -226,7 +226,7 @@ def cache_batch_latents(self, vae, image_infos: List, flip_aug: bool, alpha_mask vae_dtype = vae.dtype self._default_cache_batch_latents( - encode_by_vae, vae_device, vae_dtype, image_infos, flip_aug, alpha_mask, random_crop, True + encode_by_vae, vae_device, vae_dtype, image_infos, flip_aug, alpha_mask, random_crop, multi_resolution=True ) if not train_util.HIGH_VRAM: diff --git a/library/strategy_sd3.py b/library/strategy_sd3.py index 413169ecc..1d55fe21d 100644 --- a/library/strategy_sd3.py +++ b/library/strategy_sd3.py @@ -399,7 +399,12 @@ def get_latents_npz_path(self, absolute_path: str, image_size: Tuple[int, int]) ) def is_disk_cached_latents_expected(self, bucket_reso: Tuple[int, int], npz_path: str, flip_aug: bool, alpha_mask: bool): - return self._default_is_disk_cached_latents_expected(8, bucket_reso, npz_path, flip_aug, alpha_mask) + return self._default_is_disk_cached_latents_expected(8, bucket_reso, npz_path, flip_aug, alpha_mask, multi_resolution=True) + + def load_latents_from_disk( + self, npz_path: str, bucket_reso: Tuple[int, int] + ) -> Tuple[Optional[np.ndarray], Optional[List[int]], Optional[List[int]], Optional[np.ndarray], Optional[np.ndarray]]: + return self._default_load_latents_from_disk(8, npz_path, bucket_reso) # support multi-resolution # TODO remove circular dependency for ImageInfo def cache_batch_latents(self, vae, image_infos: List, flip_aug: bool, alpha_mask: bool, random_crop: bool): @@ -407,7 +412,9 @@ def cache_batch_latents(self, vae, image_infos: List, flip_aug: bool, alpha_mask vae_device = vae.device vae_dtype = vae.dtype - self._default_cache_batch_latents(encode_by_vae, vae_device, vae_dtype, image_infos, flip_aug, alpha_mask, random_crop) + self._default_cache_batch_latents( + encode_by_vae, vae_device, vae_dtype, image_infos, flip_aug, alpha_mask, random_crop, multi_resolution=True + ) if not train_util.HIGH_VRAM: train_util.clean_memory_on_device(vae.device) diff --git a/library/train_util.py b/library/train_util.py index d568523ca..bd2ff6ef4 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -2510,6 +2510,9 @@ def verify_bucket_reso_steps(self, min_steps: int): for dataset in self.datasets: dataset.verify_bucket_reso_steps(min_steps) + def get_resolutions(self) -> List[Tuple[int, int]]: + return [(dataset.width, dataset.height) for dataset in self.datasets] + def is_latent_cacheable(self) -> bool: return all([dataset.is_latent_cacheable() for dataset in self.datasets]) diff --git a/sd3_train.py b/sd3_train.py index df2736901..40f8c7e1f 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -361,7 +361,14 @@ def train(args): # ), f"attn_mode {attn_mode} is not supported yet. Please use `--sdpa` instead of `--xformers`. / attn_mode {attn_mode} はサポートされていません。`--xformers`の代わりに`--sdpa`を使ってください。" mmdit.set_pos_emb_random_crop_rate(args.pos_emb_random_crop_rate) - + + # set resolutions for positional embeddings + if args.enable_scaled_pos_embed: + resolutions = train_dataset_group.get_resolutions() + latent_sizes = [round(math.sqrt(res[0] * res[1])) // 8 for res in resolutions] # 8 is stride for latent + logger.info(f"Prepare scaled positional embeddings for resolutions: {resolutions}, sizes: {latent_sizes}") + mmdit.enable_scaled_pos_embed(True, latent_sizes) + if args.gradient_checkpointing: mmdit.enable_gradient_checkpointing() diff --git a/sd3_train_network.py b/sd3_train_network.py index 3d2a75710..9eeac05ca 100644 --- a/sd3_train_network.py +++ b/sd3_train_network.py @@ -26,8 +26,8 @@ def __init__(self): super().__init__() self.sample_prompts_te_outputs = None - def assert_extra_args(self, args, train_dataset_group): - super().assert_extra_args(args, train_dataset_group) + def assert_extra_args(self, args, train_dataset_group: train_util.DatasetGroup): + # super().assert_extra_args(args, train_dataset_group) # sdxl_train_util.verify_sdxl_training_args(args) if args.fp8_base_unet: @@ -53,6 +53,9 @@ def assert_extra_args(self, args, train_dataset_group): train_dataset_group.verify_bucket_reso_steps(32) # TODO check this + # enumerate resolutions from dataset for positional embeddings + self.resolutions = train_dataset_group.get_resolutions() + def load_target_model(self, args, weight_dtype, accelerator): # currently offload to cpu for some models @@ -67,6 +70,12 @@ def load_target_model(self, args, weight_dtype, accelerator): self.model_type = mmdit.model_type mmdit.set_pos_emb_random_crop_rate(args.pos_emb_random_crop_rate) + # set resolutions for positional embeddings + if args.enable_scaled_pos_embed: + latent_sizes = [round(math.sqrt(res[0] * res[1])) // 8 for res in self.resolutions] # 8 is stride for latent + logger.info(f"Prepare scaled positional embeddings for resolutions: {self.resolutions}, sizes: {latent_sizes}") + mmdit.enable_scaled_pos_embed(True, latent_sizes) + if args.fp8_base: # check dtype of model if mmdit.dtype == torch.float8_e4m3fnuz or mmdit.dtype == torch.float8_e5m2 or mmdit.dtype == torch.float8_e5m2fnuz: From 9e23368e3d6288e85c6fe34f4d5774bd4d948517 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 31 Oct 2024 19:58:41 +0900 Subject: [PATCH 316/748] Update SD3 training --- README.md | 195 +++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 163 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index ad2791e7f..aff78b2c6 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ This repository contains training, generation and utility scripts for Stable Diffusion. -## FLUX.1 training (WIP) +## FLUX.1 and SD3 training (WIP) This feature is experimental. The options and the training script may change in the future. Please let us know if you have any idea to improve the training. @@ -9,8 +9,15 @@ __Please update PyTorch to 2.4.0. We have tested with `torch==2.4.0` and `torchv The command to install PyTorch is as follows: `pip3 install torch==2.4.0 torchvision==0.19.0 --index-url https://download.pytorch.org/whl/cu124` +- [FLUX.1 training](#flux1-training) +- [SD3 training](#sd3-training) + ### Recent Updates +Oct 31, 2024: + +- Added support for SD3.5L/M training. See [SD3 training](#sd3-training) for details. + Oct 19, 2024: - Added an implementation of Differential Output Preservation (temporary name) for SDXL/FLUX.1 LoRA training. SD1/2 is not tested yet. This is an experimental feature. @@ -139,7 +146,7 @@ Sep 1, 2024: Aug 29, 2024: Please update `safetensors` to `0.4.4` to fix the error when using `--resume`. `requirements.txt` is updated. -### Contents +## FLUX.1 training - [FLUX.1 LoRA training](#flux1-lora-training) - [Key Options for FLUX.1 LoRA training](#key-options-for-flux1-lora-training) @@ -586,53 +593,177 @@ python tools/convert_diffusers_to_flux.py --diffusers_path path/to/diffusers_fol ## SD3 training -SD3 training is done with `sd3_train.py`. +SD3.5L/M training is now available. + +### SD3 LoRA training + +The script is `sd3_train_network.py`. See `--help` for options. + +SD3 model, CLIP-L, CLIP-G, and T5XXL models are recommended to be in float/fp16 format. If you specify `--fp8_base`, you can use fp8 models for SD3. The fp8 model is only compatible with `float8_e4m3fn` format. + +Sample command is below. It will work with 16GB VRAM GPUs (SD3.5L). + +``` +accelerate launch --mixed_precision bf16 --num_cpu_threads_per_process 1 sd3_train_network.py +--pretrained_model_name_or_path path/to/sd3.5_large.safetensors --clip_l sd3/clip_l.safetensors --clip_g sd3/clip_g.safetensors --t5xxl sd3/t5xxl_fp16.safetensors +--cache_latents_to_disk --save_model_as safetensors --sdpa --persistent_data_loader_workers +--max_data_loader_n_workers 2 --seed 42 --gradient_checkpointing --mixed_precision bf16 --save_precision bf16 +--network_module networks.lora_sd3 --network_dim 4 --optimizer_type adamw8bit --learning_rate 1e-4 +--cache_text_encoder_outputs --cache_text_encoder_outputs_to_disk --fp8_base +--highvram --max_train_epochs 4 --save_every_n_epochs 1 --dataset_config dataset_1024_bs2.toml +--output_dir path/to/output/dir --output_name sd3-lora-name +``` +(The command is multi-line for readability. Please combine it into one line.) + +The training can be done with 12GB VRAM GPUs with Adafactor optimizer. Please use settings like below: + +``` +--optimizer_type adafactor --optimizer_args "relative_step=False" "scale_parameter=False" "warmup_init=False" --lr_scheduler constant_with_warmup --max_grad_norm 0.0 +``` + +`--cpu_offload_checkpointing` and `--split_mode` are not available for SD3 LoRA training. -__Sep 1, 2024__: -- `--num_last_block_to_freeze` is added to `sd3_train.py`. This option is to freeze the last n blocks of the MMDiT. See [#1417](https://github.com/kohya-ss/sd-scripts/pull/1417) for details. Thanks to sdbds! +We also not sure how many epochs are needed for convergence, and how the learning rate should be adjusted. -__Jul 27, 2024__: -- Latents and text encoder outputs caching mechanism is refactored significantly. - - Existing cache files for SD3 need to be recreated. Please delete the previous cache files. - - With this change, dataset initialization is significantly faster, especially for large datasets. +The trained LoRA model can be used with ComfyUI. -- Architecture-dependent parts are extracted from the dataset (`train_util.py`). This is expected to make it easier to add future architectures. +#### Key Options for SD3 LoRA training -- Architecture-dependent parts including the cache mechanism for SD1/2/SDXL are also extracted. The basic operation of SD1/2/SDXL training on the sd3 branch has been confirmed, but there may be bugs. Please use the main or dev branch for SD1/2/SDXL training. +Here are the arguments. The arguments and sample settings are still experimental and may change in the future. Feedback on the settings is welcome. ---- +- `--network_module` is the module for LoRA training. Specify `networks.lora_sd3` for SD3 LoRA training. +- `--pretrained_model_name_or_path` is the path to the pretrained model (SD3/3.5). If you specify `--fp8_base`, you can use fp8 models for SD3/3.5. The fp8 model is only compatible with `float8_e4m3fn` format. +- `--clip_l` is the path to the CLIP-L model. +- `--clip_g` is the path to the CLIP-G model. +- `--t5xxl` is the path to the T5XXL model. If you specify `--fp8_base`, you can use fp8 (float8_e4m3fn) models for T5XXL. However, it is recommended to use fp16 models for caching. +- `--vae` is the path to the autoencoder model. __This option is not necessary for SD3.__ VAE is included in the standard SD3 model. +- `--disable_mmap_load_safetensors` is to disable memory mapping when loading safetensors. __This option significantly reduces the memory usage when loading models for Windows users.__ +- `--clip_l_dropout_rate`, `--clip_g_dropout_rate` and `--t5_dropout_rate` are the dropout rates for the embeddings of CLIP-L, CLIP-G, and T5XXL, described in [SAI research papre](http://arxiv.org/pdf/2403.03206). The default is 0.0. For LoRA training, it is seems to be better to set 0.0. +- `--pos_emb_random_crop_rate` is the rate of random cropping of positional embeddings, described in [SD3.5M model card](https://huggingface.co/stabilityai/stable-diffusion-3.5-medium). The default is 0. It is seems to be better to set 0.0 for LoRA training. +- `--enable_scaled_pos_embed` is to enable the scaled positional embeddings. The default is False. This option is an experimental feature for SD3.5M. Details are described below. -`fp16` and `bf16` are available for mixed precision training. We are not sure which is better. +Other options are described below. -`optimizer_type = "adafactor"` is recommended for 24GB VRAM GPUs. `cache_text_encoder_outputs_to_disk` and `cache_latents_to_disk` are necessary currently. +#### Key Features for SD3 LoRA training -`clip_l`, `clip_g` and `t5xxl` can be specified if the checkpoint does not include them. +1. CLIP-L, G and T5XXL LoRA Support: + - SD3 LoRA training now supports CLIP-L, CLIP-G and T5XXL LoRA training. + - Remove `--network_train_unet_only` from your command. + - Add `train_t5xxl=True` to `--network_args` to train T5XXL LoRA. CLIP-L and G is also trained at the same time. + - T5XXL output can be cached for CLIP-L and G LoRA training. So, `--cache_text_encoder_outputs` or `--cache_text_encoder_outputs_to_disk` is also available. + - The learning rates for CLIP-L, CLIP-G and T5XXL can be specified separately. Multiple numbers can be specified in `--text_encoder_lr`. For example, `--text_encoder_lr 1e-4 1e-5 5e-6`. The first value is the learning rate for CLIP-L, the second value is for CLIP-G, and the third value is for T5XXL. If you specify only one, the learning rates for CLIP-L, CLIP-G and T5XXL will be the same. If the third value is not specified, the second value is used for T5XXL. If `--text_encoder_lr` is not specified, the default learning rate `--learning_rate` is used for both CLIP-L and T5XXL. + - The trained LoRA can be used with ComfyUI. -t5xxl works with `fp16` now. + | trained LoRA|option|network_args|cache_text_encoder_outputs (*1)| + |---|---|---|---| + |MMDiT|`--network_train_unet_only`|-|o| + |MMDiT + CLIP-L + CLIP-G|-|-|o (*2)| + |MMDiT + CLIP-L + CLIP-G + T5XXL|-|`train_t5xxl=True`|-| + |CLIP-L + CLIP-G (*3)|`--network_train_text_encoder_only`|-|o (*2)| + |CLIP-L + CLIP-G + T5XXL (*3)|`--network_train_text_encoder_only`|`train_t5xxl=True`|-| -There are `t5xxl_device` and `t5xxl_dtype` options for `t5xxl` device and dtype. + - *1: `--cache_text_encoder_outputs` or `--cache_text_encoder_outputs_to_disk` is also available. + - *2: T5XXL output can be cached for CLIP-L and G LoRA training. + - *3: Not tested yet. + +2. Experimental FP8/FP16 mixed training: + - `--fp8_base_unet` enables training with fp8 for MMDiT and bf16/fp16 for CLIP-L/G/T5XXL. + - When specifying this option, the `--fp8_base` option is automatically enabled. -`text_encoder_batch_size` is added experimentally for caching faster. +3. Split Q/K/V Projection Layers (Experimental): + - Same as FLUX.1. + +4. CLIP-L/G and T5 Attention Mask Application: + - This function is planned to be implemented in the future. + +5. Multi-resolution Training Support: + - Only for SD3.5M. + - Same as FLUX.1 for data preparation. + - If you train with multiple resolutions, specify `--enable_scaled_pos_embed` to enable the scaled positional embeddings. The default is False. This option is an experimental feature for SD3.5M. -```toml -learning_rate = 1e-6 # seems to depend on the batch size -optimizer_type = "adafactor" -optimizer_args = [ "scale_parameter=False", "relative_step=False", "warmup_init=False" ] -cache_text_encoder_outputs = true -cache_text_encoder_outputs_to_disk = true -vae_batch_size = 1 -text_encoder_batch_size = 4 -cache_latents = true -cache_latents_to_disk = true + +Technical details of multi-resolution training for SD3.5M: + +The values of the positional embeddings must be the same for each resolution. That is, the same value must be in the same position for 512x512, 768x768, and 1024x1024. To achieve this, the positional embeddings for each resolution are calculated in advance and switched according to the resolution of the training data. This feature is enabled by `--enable_scaled_pos_embed`. + +This idea and the code for calculating scaled positional embeddings are contributed by KohakuBlueleaf. Thanks to KohakuBlueleaf! + + +#### Specify rank for each layer in SD3 LoRA + +You can specify the rank for each layer in SD3 by specifying the following network_args. If you specify `0`, LoRA will not be applied to that layer. + +When network_args is not specified, the default value (`network_dim`) is applied, same as before. + +|network_args|target layer| +|---|---| +|context_attn_dim|attn in context_block| +|context_mlp_dim|mlp in context_block| +|context_mod_dim|adaLN_modulation in context_block| +|x_attn_dim|attn in x_block| +|x_mlp_dim|mlp in x_block| +|x_mod_dim|adaLN_modulation in x_block| + +`"verbose=True"` is also available for debugging. It shows the rank of each layer. + +example: ``` +--network_args "context_attn_dim=2" "context_mlp_dim=3" "context_mod_dim=4" "x_attn_dim=5" "x_mlp_dim=6" "x_mod_dim=7" "verbose=True" +``` + +You can apply LoRA to the conditioning layers of SD3 by specifying `emb_dims` in network_args. When specifying, be sure to specify 6 numbers in `[]` as a comma-separated list. + +example: +``` +--network_args "emb_dims=[2,3,4,5,6,7]" +``` + +Each number corresponds to `context_embedder`, `t_embedder`, `x_embedder`, `y_embedder`, `final_layer_adaLN_modulation`, `final_layer_linear`. The above example applies LoRA to all conditioning layers, with rank 2 for `context_embedder`, 3 for `t_embedder`, 4 for `context_embedder`, 5 for `y_embedder`, 6 for `final_layer_adaLN_modulation`, and 7 for `final_layer_linear`. + +If you specify `0`, LoRA will not be applied to that layer. For example, `[4,0,0,4,0,0]` applies LoRA only to `context_embedder` and `y_embedder`. + +#### Specify blocks to train in SD3 LoRA training + +You can specify the blocks to train in SD3 LoRA training by specifying `train_block_indices` in network_args. The indices are 0-based. The default (when omitted) is to train all blocks. The indices are specified as a list of integers or a range of integers, like `0,1,5,8` or `0,1,4-5,7`. + +The number of blocks depends on the model. The valid range is 0-(the number of blocks - 1). `all` is also available to train all blocks, `none` is also available to train no blocks. + +example: +``` +--network_args "train_block_indices=1,2,6-8" +``` + +### Inference for SD3 with LoRA model + +The inference script is also available. The script is `sd3_minimal_inference.py`. See `--help` for options. + +### SD3 fine-tuning + +Documentation is not available yet. Please refer to the FLUX.1 fine-tuning guide for now. The major difference are following: + +- `--clip_g` is also available for SD3 fine-tuning. +- `--timestep_sampling` `--discrete_flow_shift``--model_prediction_type` --guidance_scale` are not necessary for SD3 fine-tuning. +- Use `--vae` instead of `--ae` if necessary. __This option is not necessary for SD3.__ VAE is included in the standard SD3 model. +- `--disable_mmap_load_safetensors` is available. __This option significantly reduces the memory usage when loading models for Windows users.__ +- `--cpu_offload_checkpointing` is not available for SD3 fine-tuning. +- `--clip_l_dropout_rate`, `--clip_g_dropout_rate` and `--t5_dropout_rate` are available same as LoRA training. +- `--pos_emb_random_crop_rate` and `--enable_scaled_pos_embed` are available for SD3.5M fine-tuning. +- Training text encoders is available with `--train_text_encoder` option, similar to SDXL training. + - CLIP-L and G can be trained with `--train_text_encoder` option. Training T5XXL needs `--train_t5xxl` option. + - If you use the cached text encoder outputs for T5XXL with training CLIP-L and G, specify `--use_t5xxl_cache_only`. This option enables to use the cached text encoder outputs for T5XXL only. + - The learning rates for CLIP-L, CLIP-G and T5XXL can be specified separately. `--text_encoder_lr1`, `--text_encoder_lr2` and `--text_encoder_lr3` are available. + +### Extract LoRA from SD3 Models + +Not available yet. -__2024/7/27:__ +### Convert SD3 LoRA -Latents およびテキストエンコーダ出力のキャッシュの仕組みを大きくリファクタリングしました。SD3 用の既存のキャッシュファイルの再作成が必要になりますが、ご了承ください(以前のキャッシュファイルは削除してください)。これにより、特にデータセットの規模が大きい場合のデータセット初期化が大幅に高速化されます。 +Not available yet. -データセット (`train_util.py`) からアーキテクチャ依存の部分を切り出しました。これにより将来的なアーキテクチャ追加が容易になると期待しています。 +### Merge LoRA to SD3 checkpoint -SD1/2/SDXL のキャッシュ機構を含むアーキテクチャ依存の部分も切り出しました。sd3 ブランチの SD1/2/SDXL 学習について、基本的な動作は確認していますが、不具合があるかもしれません。SD1/2/SDXL の学習には main または dev ブランチをお使いください。 +Not available yet. --- From 830df4abcc85ffdfe08b8f97f2c8351c86149af3 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 31 Oct 2024 21:39:07 +0900 Subject: [PATCH 317/748] Fix crashing if image is too tall or wide. --- library/sd3_models.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/library/sd3_models.py b/library/sd3_models.py index 0eca94e2f..15a5b1db4 100644 --- a/library/sd3_models.py +++ b/library/sd3_models.py @@ -868,7 +868,7 @@ def enable_scaled_pos_embed(self, use_scaled_pos_embed: bool, latent_sizes: Opti self.use_scaled_pos_embed = use_scaled_pos_embed if self.use_scaled_pos_embed: - # # remove pos_embed to free up memory up to 0.4 GB + # remove pos_embed to free up memory up to 0.4 GB self.pos_embed = None # sort latent sizes in ascending order @@ -977,7 +977,7 @@ def cropped_pos_embed(self, h, w, device=None, random_crop: bool = False): # patched size h = (h + 1) // p w = (w + 1) // p - if self.pos_embed is None: + if self.pos_embed is None: # should not happen return get_2d_sincos_pos_embed_torch(self.hidden_size, w, h, device=device) assert self.pos_embed_max_size is not None assert h <= self.pos_embed_max_size, (h, self.pos_embed_max_size) @@ -1016,13 +1016,20 @@ def cropped_scaled_pos_embed(self, h, w, device=None, dtype=None, random_crop: b if patched_size is None: raise ValueError(f"Area {area} is too large for the given latent sizes {self.resolution_area_to_latent_size}.") - pos_embed_size = int(patched_size * MMDiT.POS_EMBED_MAX_RATIO) + pos_embed = self.resolution_pos_embeds[patched_size] + pos_embed_size = round(math.sqrt(pos_embed.shape[1])) if h > pos_embed_size or w > pos_embed_size: - # fallback to normal pos_embed + # # fallback to normal pos_embed + # return self.cropped_pos_embed(h * p, w * p, device=device, random_crop=random_crop) + # extend pos_embed size logger.warning( f"Using normal pos_embed for size {h}x{w} as it exceeds the scaled pos_embed size {pos_embed_size}. Image is too tall or wide." ) - return self.cropped_pos_embed(h, w, device=device, random_crop=random_crop) + pos_embed_size = max(h, w) + pos_embed = get_scaled_2d_sincos_pos_embed(self.hidden_size, pos_embed_size, sample_size=patched_size) + pos_embed = torch.from_numpy(pos_embed).float().unsqueeze(0) + self.resolution_pos_embeds[patched_size] = pos_embed + logger.info(f"Updated pos_embed for size {pos_embed_size}x{pos_embed_size}") if not random_crop: top = (pos_embed_size - h) // 2 @@ -1031,7 +1038,6 @@ def cropped_scaled_pos_embed(self, h, w, device=None, dtype=None, random_crop: b top = torch.randint(0, pos_embed_size - h + 1, (1,)).item() left = torch.randint(0, pos_embed_size - w + 1, (1,)).item() - pos_embed = self.resolution_pos_embeds[patched_size] if pos_embed.device != device: pos_embed = pos_embed.to(device) # which is better to update device, or transfer every time to device? -> 64x64 emb is 96*96*1536*4=56MB. It's okay to update device. From 9aa6f52ac3c1866d00675daf73c7560b8b76093f Mon Sep 17 00:00:00 2001 From: Kohya S Date: Fri, 1 Nov 2024 21:43:21 +0900 Subject: [PATCH 318/748] Fix memory leak in latent caching. bmp failed to cache --- library/train_util.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/library/train_util.py b/library/train_util.py index bd2ff6ef4..18d3cf6c2 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -1082,6 +1082,10 @@ def submit_batch(batch, cond): info.image = info.image.result() # future to image caching_strategy.cache_batch_latents(model, batch, cond.flip_aug, cond.alpha_mask, cond.random_crop) + # remove image from memory + for info in batch: + info.image = None + # define ThreadPoolExecutor to load images in parallel max_workers = min(os.cpu_count(), len(image_infos)) max_workers = max(1, max_workers // num_processes) # consider multi-gpu @@ -1397,7 +1401,17 @@ def cache_text_encoder_outputs_common( ) def get_image_size(self, image_path): - return imagesize.get(image_path) + # return imagesize.get(image_path) + image_size = imagesize.get(image_path) + if image_size[0] <= 0: + # imagesize doesn't work for some images, so use cv2 + img = cv2.imread(image_path) + if img is not None: + image_size = (img.shape[1], img.shape[0]) + else: + logger.warning(f"failed to get image size: {image_path}") + image_size = (0, 0) + return image_size def load_image_with_face_info(self, subset: BaseSubset, image_path: str, alpha_mask=False): img = load_image(image_path, alpha_mask) From 82daa98fe865c30a34638acc145d6f4ea8c193db Mon Sep 17 00:00:00 2001 From: Kohya S Date: Fri, 1 Nov 2024 21:43:47 +0900 Subject: [PATCH 319/748] remove duplicate resolution for scaled pos embed --- library/sd3_models.py | 3 ++- sd3_train.py | 1 + sd3_train_network.py | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/library/sd3_models.py b/library/sd3_models.py index 15a5b1db4..b09a57dbd 100644 --- a/library/sd3_models.py +++ b/library/sd3_models.py @@ -871,7 +871,8 @@ def enable_scaled_pos_embed(self, use_scaled_pos_embed: bool, latent_sizes: Opti # remove pos_embed to free up memory up to 0.4 GB self.pos_embed = None - # sort latent sizes in ascending order + # remove duplcates and sort latent sizes in ascending order + latent_sizes = list(set(latent_sizes)) latent_sizes = sorted(latent_sizes) patched_sizes = [latent_size // self.patch_size for latent_size in latent_sizes] diff --git a/sd3_train.py b/sd3_train.py index 40f8c7e1f..f64e2da2c 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -366,6 +366,7 @@ def train(args): if args.enable_scaled_pos_embed: resolutions = train_dataset_group.get_resolutions() latent_sizes = [round(math.sqrt(res[0] * res[1])) // 8 for res in resolutions] # 8 is stride for latent + latent_sizes = list(set(latent_sizes)) # remove duplicates logger.info(f"Prepare scaled positional embeddings for resolutions: {resolutions}, sizes: {latent_sizes}") mmdit.enable_scaled_pos_embed(True, latent_sizes) diff --git a/sd3_train_network.py b/sd3_train_network.py index 9eeac05ca..0739e094d 100644 --- a/sd3_train_network.py +++ b/sd3_train_network.py @@ -73,6 +73,7 @@ def load_target_model(self, args, weight_dtype, accelerator): # set resolutions for positional embeddings if args.enable_scaled_pos_embed: latent_sizes = [round(math.sqrt(res[0] * res[1])) // 8 for res in self.resolutions] # 8 is stride for latent + latent_sizes = list(set(latent_sizes)) # remove duplicates logger.info(f"Prepare scaled positional embeddings for resolutions: {self.resolutions}, sizes: {latent_sizes}") mmdit.enable_scaled_pos_embed(True, latent_sizes) From e0db59695fb56e6b7f42132b70e4f828820143ac Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sat, 2 Nov 2024 11:13:04 +0900 Subject: [PATCH 320/748] update multi-res training in SD3.5M --- README.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index aff78b2c6..fb087c234 100644 --- a/README.md +++ b/README.md @@ -679,12 +679,16 @@ Other options are described below. 5. Multi-resolution Training Support: - Only for SD3.5M. - Same as FLUX.1 for data preparation. - - If you train with multiple resolutions, specify `--enable_scaled_pos_embed` to enable the scaled positional embeddings. The default is False. This option is an experimental feature for SD3.5M. + - If you train with multiple resolutions, you can enable the scaled positional embeddings with `--enable_scaled_pos_embed`. The default is False. __This option is an experimental feature.__ + + Technical details of multi-resolution training for SD3.5M: -The values of the positional embeddings must be the same for each resolution. That is, the same value must be in the same position for 512x512, 768x768, and 1024x1024. To achieve this, the positional embeddings for each resolution are calculated in advance and switched according to the resolution of the training data. This feature is enabled by `--enable_scaled_pos_embed`. +SD3.5M does not use scaled positional embeddings for multi-resolution training, and is trained with a single positional embedding. Therefore, this feature is very experimental. + +Generally, in multi-resolution training, the values of the positional embeddings must be the same for each resolution. That is, the same value must be in the same position for 512x512, 768x768, and 1024x1024. To achieve this, the positional embeddings for each resolution are calculated in advance and switched according to the resolution of the training data. This feature is enabled by `--enable_scaled_pos_embed`. This idea and the code for calculating scaled positional embeddings are contributed by KohakuBlueleaf. Thanks to KohakuBlueleaf! From 5e32ee26a13394fdee77149c4e96b78c58eabc5e Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sat, 2 Nov 2024 15:32:16 +0900 Subject: [PATCH 321/748] fix crashing in DDP training closes #1751 --- sd3_train.py | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/sd3_train.py b/sd3_train.py index f64e2da2c..e03d1708b 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -838,11 +838,31 @@ def optimizer_hook(parameter: torch.Tensor): accelerator.log({}, step=0) # show model device and dtype - logger.info(f"mmdit device: {mmdit.device}, dtype: {mmdit.dtype}" if mmdit else "mmdit is None") - logger.info(f"clip_l device: {clip_l.device}, dtype: {clip_l.dtype}" if clip_l else "clip_l is None") - logger.info(f"clip_g device: {clip_g.device}, dtype: {clip_g.dtype}" if clip_g else "clip_g is None") - logger.info(f"t5xxl device: {t5xxl.device}, dtype: {t5xxl.dtype}" if t5xxl else "t5xxl is None") - logger.info(f"vae device: {vae.device}, dtype: {vae.dtype}" if vae is not None else "vae is None") + logger.info( + f"mmdit device: {accelerator.unwrap_model(mmdit).device}, dtype: {accelerator.unwrap_model(mmdit).dtype}" + if mmdit + else "mmdit is None" + ) + logger.info( + f"clip_l device: {accelerator.unwrap_model(clip_l).device}, dtype: {accelerator.unwrap_model(clip_l).dtype}" + if clip_l + else "clip_l is None" + ) + logger.info( + f"clip_g device: {accelerator.unwrap_model(clip_g).device}, dtype: {accelerator.unwrap_model(clip_g).dtype}" + if clip_g + else "clip_g is None" + ) + logger.info( + f"t5xxl device: {accelerator.unwrap_model(t5xxl).device}, dtype: {accelerator.unwrap_model(t5xxl).dtype}" + if t5xxl + else "t5xxl is None" + ) + logger.info( + f"vae device: {accelerator.unwrap_model(vae).device}, dtype: {accelerator.unwrap_model(vae).dtype}" + if vae is not None + else "vae is None" + ) loss_recorder = train_util.LossRecorder() epoch = 0 # avoid error when max_train_steps is 0 From 81c0c965a24ce4f0f86dfa980f803d7616ca46d8 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Tue, 5 Nov 2024 21:22:42 +0900 Subject: [PATCH 322/748] faster block swap --- flux_train.py | 107 ++++++++++---------- library/flux_models.py | 138 ++++++++++++++----------- library/utils.py | 222 ++++++++++++++++++++++++++++++++++++++++- 3 files changed, 352 insertions(+), 115 deletions(-) diff --git a/flux_train.py b/flux_train.py index 79c44d7b4..afddc897f 100644 --- a/flux_train.py +++ b/flux_train.py @@ -17,12 +17,14 @@ import os from multiprocessing import Value import time -from typing import List +from typing import List, Optional, Tuple, Union import toml from tqdm import tqdm import torch +import torch.nn as nn +from library import utils from library.device_utils import init_ipex, clean_memory_on_device init_ipex() @@ -466,45 +468,28 @@ def train(args): # memory efficient block swapping - def get_block_unit(dbl_blocks, sgl_blocks, index: int): - if index < len(dbl_blocks): - return (dbl_blocks[index],) - else: - index -= len(dbl_blocks) - index *= 2 - return (sgl_blocks[index], sgl_blocks[index + 1]) - - def submit_move_blocks(futures, thread_pool, block_idx_to_cpu, block_idx_to_cuda, dbl_blocks, sgl_blocks, device): - def move_blocks(bidx_to_cpu, blocks_to_cpu, bidx_to_cuda, blocks_to_cuda, dvc): - # print(f"Backward: Move block {bidx_to_cpu} to CPU") - for block in blocks_to_cpu: - block = block.to("cpu", non_blocking=True) - torch.cuda.empty_cache() - - # print(f"Backward: Move block {bidx_to_cuda} to CUDA") - for block in blocks_to_cuda: - block = block.to(dvc, non_blocking=True) - - torch.cuda.synchronize() - # print(f"Backward: Moved blocks {bidx_to_cpu} and {bidx_to_cuda}") - return bidx_to_cpu, bidx_to_cuda - - blocks_to_cpu = get_block_unit(dbl_blocks, sgl_blocks, block_idx_to_cpu) - blocks_to_cuda = get_block_unit(dbl_blocks, sgl_blocks, block_idx_to_cuda) - - futures[block_idx_to_cuda] = thread_pool.submit( - move_blocks, block_idx_to_cpu, blocks_to_cpu, block_idx_to_cuda, blocks_to_cuda, device - ) + def submit_move_blocks(futures, thread_pool, block_idx_to_cpu, block_idx_to_cuda, blocks, block_id): + def move_blocks(bidx_to_cpu, block_to_cpu, bidx_to_cuda, block_to_cuda): + # start_time = time.perf_counter() + # print(f"Backward: Move block {bidx_to_cpu} to CPU and block {bidx_to_cuda} to CUDA") + utils.swap_weight_devices(block_to_cpu, block_to_cuda) + # print(f"Backward: Moved blocks {bidx_to_cpu} and {bidx_to_cuda} in {time.perf_counter()-start_time:.2f}s") + return bidx_to_cpu, bidx_to_cuda # , event + + block_to_cpu = blocks[block_idx_to_cpu] + block_to_cuda = blocks[block_idx_to_cuda] + + futures[block_id] = thread_pool.submit(move_blocks, block_idx_to_cpu, block_to_cpu, block_idx_to_cuda, block_to_cuda) - def wait_blocks_move(block_idx, futures): - if block_idx not in futures: + def wait_blocks_move(block_id, futures): + if block_id not in futures: return - # print(f"Backward: Wait for block {block_idx}") + # print(f"Backward: Wait for block {block_id}") # start_time = time.perf_counter() - future = futures.pop(block_idx) - future.result() - # print(f"Backward: Waited for block {block_idx}: {time.perf_counter()-start_time:.2f}s") - # torch.cuda.synchronize() + future = futures.pop(block_id) + _, bidx_to_cuda = future.result() + assert block_id[1] == bidx_to_cuda, f"Block index mismatch: {block_id[1]} != {bidx_to_cuda}" + # print(f"Backward: Waited for block {block_id}: {time.perf_counter()-start_time:.2f}s") # print(f"Backward: Synchronized: {time.perf_counter()-start_time:.2f}s") if args.fused_backward_pass: @@ -513,11 +498,11 @@ def wait_blocks_move(block_idx, futures): library.adafactor_fused.patch_adafactor_fused(optimizer) - blocks_to_swap = args.blocks_to_swap + double_blocks_to_swap = args.blocks_to_swap // 2 + single_blocks_to_swap = (args.blocks_to_swap - double_blocks_to_swap) * 2 num_double_blocks = len(accelerator.unwrap_model(flux).double_blocks) num_single_blocks = len(accelerator.unwrap_model(flux).single_blocks) - num_block_units = num_double_blocks + num_single_blocks // 2 - handled_unit_indices = set() + handled_block_ids = set() n = 1 # only asynchronous purpose, no need to increase this number # n = 2 @@ -530,28 +515,37 @@ def wait_blocks_move(block_idx, futures): if parameter.requires_grad: grad_hook = None - if blocks_to_swap: + if double_blocks_to_swap > 0 or single_blocks_to_swap > 0: is_double = param_name.startswith("double_blocks") is_single = param_name.startswith("single_blocks") - if is_double or is_single: + if is_double and double_blocks_to_swap > 0 or is_single and single_blocks_to_swap > 0: block_idx = int(param_name.split(".")[1]) - unit_idx = block_idx if is_double else num_double_blocks + block_idx // 2 - if unit_idx not in handled_unit_indices: + block_id = (is_double, block_idx) # double or single, block index + if block_id not in handled_block_ids: # swap following (already backpropagated) block - handled_unit_indices.add(unit_idx) + handled_block_ids.add(block_id) # if n blocks were already backpropagated - num_blocks_propagated = num_block_units - unit_idx - 1 + if is_double: + num_blocks = num_double_blocks + blocks_to_swap = double_blocks_to_swap + else: + num_blocks = num_single_blocks + blocks_to_swap = single_blocks_to_swap + + # -1 for 0-based index, -1 for current block is not fully backpropagated yet + num_blocks_propagated = num_blocks - block_idx - 2 swapping = num_blocks_propagated > 0 and num_blocks_propagated <= blocks_to_swap - waiting = unit_idx > 0 and unit_idx <= blocks_to_swap + waiting = block_idx > 0 and block_idx <= blocks_to_swap + if swapping or waiting: - block_idx_to_cpu = num_block_units - num_blocks_propagated + block_idx_to_cpu = num_blocks - num_blocks_propagated block_idx_to_cuda = blocks_to_swap - num_blocks_propagated - block_idx_to_wait = unit_idx - 1 + block_idx_to_wait = block_idx - 1 # create swap hook def create_swap_grad_hook( - bidx_to_cpu, bidx_to_cuda, bidx_to_wait, uidx: int, swpng: bool, wtng: bool + is_dbl, bidx_to_cpu, bidx_to_cuda, bidx_to_wait, swpng: bool, wtng: bool ): def __grad_hook(tensor: torch.Tensor): if accelerator.sync_gradients and args.max_grad_norm != 0.0: @@ -559,24 +553,25 @@ def __grad_hook(tensor: torch.Tensor): optimizer.step_param(tensor, param_group) tensor.grad = None - # print(f"Backward: {uidx}, {swpng}, {wtng}") + # print( + # f"Backward: Block {is_dbl}, {bidx_to_cpu}, {bidx_to_cuda}, {bidx_to_wait}, {swpng}, {wtng}" + # ) if swpng: submit_move_blocks( futures, thread_pool, bidx_to_cpu, bidx_to_cuda, - flux.double_blocks, - flux.single_blocks, - accelerator.device, + flux.double_blocks if is_dbl else flux.single_blocks, + (is_dbl, bidx_to_cuda), # wait for this block ) if wtng: - wait_blocks_move(bidx_to_wait, futures) + wait_blocks_move((is_dbl, bidx_to_wait), futures) return __grad_hook grad_hook = create_swap_grad_hook( - block_idx_to_cpu, block_idx_to_cuda, block_idx_to_wait, unit_idx, swapping, waiting + is_double, block_idx_to_cpu, block_idx_to_cuda, block_idx_to_wait, swapping, waiting ) if grad_hook is None: diff --git a/library/flux_models.py b/library/flux_models.py index 0bc1c02b9..48dea4fc9 100644 --- a/library/flux_models.py +++ b/library/flux_models.py @@ -7,8 +7,9 @@ import math import os import time -from typing import Dict, List, Optional +from typing import Dict, List, Optional, Union +from library import utils from library.device_utils import init_ipex, clean_memory_on_device init_ipex() @@ -923,7 +924,8 @@ def __init__(self, params: FluxParams): self.blocks_to_swap = None self.thread_pool: Optional[ThreadPoolExecutor] = None - self.num_block_units = len(self.double_blocks) + len(self.single_blocks) // 2 + self.num_double_blocks = len(self.double_blocks) + self.num_single_blocks = len(self.single_blocks) @property def device(self): @@ -963,14 +965,17 @@ def disable_gradient_checkpointing(self): def enable_block_swap(self, num_blocks: int): self.blocks_to_swap = num_blocks + self.double_blocks_to_swap = num_blocks // 2 + self.single_blocks_to_swap = (num_blocks - self.double_blocks_to_swap) * 2 + print( + f"FLUX: Block swap enabled. Swapping {num_blocks} blocks, double blocks: {self.double_blocks_to_swap}, single blocks: {self.single_blocks_to_swap}." + ) n = 1 # async block swap. 1 is enough - # n = 2 - # n = max(1, os.cpu_count() // 2) self.thread_pool = ThreadPoolExecutor(max_workers=n) def move_to_device_except_swap_blocks(self, device: torch.device): - # assume model is on cpu + # assume model is on cpu. do not move blocks to device to reduce temporary memory usage if self.blocks_to_swap: save_double_blocks = self.double_blocks save_single_blocks = self.single_blocks @@ -983,31 +988,55 @@ def move_to_device_except_swap_blocks(self, device: torch.device): self.double_blocks = save_double_blocks self.single_blocks = save_single_blocks - def get_block_unit(self, index: int): - if index < len(self.double_blocks): - return (self.double_blocks[index],) - else: - index -= len(self.double_blocks) - index *= 2 - return self.single_blocks[index], self.single_blocks[index + 1] + # def get_block_unit(self, index: int): + # if index < len(self.double_blocks): + # return (self.double_blocks[index],) + # else: + # index -= len(self.double_blocks) + # index *= 2 + # return self.single_blocks[index], self.single_blocks[index + 1] - def get_unit_index(self, is_double: bool, index: int): - if is_double: - return index - else: - return len(self.double_blocks) + index // 2 + # def get_unit_index(self, is_double: bool, index: int): + # if is_double: + # return index + # else: + # return len(self.double_blocks) + index // 2 def prepare_block_swap_before_forward(self): - # make: first n blocks are on cuda, and last n blocks are on cpu + # # make: first n blocks are on cuda, and last n blocks are on cpu + # if self.blocks_to_swap is None or self.blocks_to_swap == 0: + # # raise ValueError("Block swap is not enabled.") + # return + # for i in range(self.num_block_units - self.blocks_to_swap): + # for b in self.get_block_unit(i): + # b.to(self.device) + # for i in range(self.num_block_units - self.blocks_to_swap, self.num_block_units): + # for b in self.get_block_unit(i): + # b.to("cpu") + # clean_memory_on_device(self.device) + + # all blocks are on device, but some weights are on cpu + # make first n blocks weights on device, and last n blocks weights on cpu if self.blocks_to_swap is None or self.blocks_to_swap == 0: # raise ValueError("Block swap is not enabled.") return - for i in range(self.num_block_units - self.blocks_to_swap): - for b in self.get_block_unit(i): - b.to(self.device) - for i in range(self.num_block_units - self.blocks_to_swap, self.num_block_units): - for b in self.get_block_unit(i): - b.to("cpu") + + for b in self.double_blocks[0 : self.num_double_blocks - self.double_blocks_to_swap]: + b.to(self.device) + utils.weighs_to_device(b, self.device) # make sure weights are on device + for b in self.double_blocks[self.num_double_blocks - self.double_blocks_to_swap :]: + b.to(self.device) # move block to device first + utils.weighs_to_device(b, "cpu") # make sure weights are on cpu + torch.cuda.synchronize() + clean_memory_on_device(self.device) + + for b in self.single_blocks[0 : self.num_single_blocks - self.single_blocks_to_swap]: + b.to(self.device) + utils.weighs_to_device(b, self.device) # make sure weights are on device + for b in self.single_blocks[self.num_single_blocks - self.single_blocks_to_swap :]: + b.to(self.device) # move block to device first + utils.weighs_to_device(b, "cpu") # make sure weights are on cpu + torch.cuda.synchronize() clean_memory_on_device(self.device) def forward( @@ -1044,27 +1073,22 @@ def forward( for block in self.single_blocks: img = block(img, vec=vec, pe=pe, txt_attention_mask=txt_attention_mask) else: - futures = {} - - def submit_move_blocks(block_idx_to_cpu, block_idx_to_cuda): - def move_blocks(bidx_to_cpu, blocks_to_cpu, bidx_to_cuda, blocks_to_cuda): - # print(f"Moving {bidx_to_cpu} to cpu.") - for block in blocks_to_cpu: - block.to("cpu", non_blocking=True) - torch.cuda.empty_cache() + # device = self.device - # print(f"Moving {bidx_to_cuda} to cuda.") - for block in blocks_to_cuda: - block.to(self.device, non_blocking=True) - - torch.cuda.synchronize() + def submit_move_blocks(blocks, block_idx_to_cpu, block_idx_to_cuda): + def move_blocks(bidx_to_cpu, block_to_cpu, bidx_to_cuda, block_to_cuda): + start_time = time.perf_counter() + # print(f"Moving {bidx_to_cpu} to cpu and {bidx_to_cuda} to cuda.") + utils.swap_weight_devices(block_to_cpu, block_to_cuda) # print(f"Block move done. {bidx_to_cpu} to cpu, {bidx_to_cuda} to cuda.") - return block_idx_to_cpu, block_idx_to_cuda - blocks_to_cpu = self.get_block_unit(block_idx_to_cpu) - blocks_to_cuda = self.get_block_unit(block_idx_to_cuda) + # print(f"Move blocks took {time.perf_counter() - start_time:.2f} seconds") + return block_idx_to_cpu, block_idx_to_cuda # , event + + block_to_cpu = blocks[block_idx_to_cpu] + block_to_cuda = blocks[block_idx_to_cuda] # print(f"Submit move blocks. {block_idx_to_cpu} to cpu, {block_idx_to_cuda} to cuda.") - return self.thread_pool.submit(move_blocks, block_idx_to_cpu, blocks_to_cpu, block_idx_to_cuda, blocks_to_cuda) + return self.thread_pool.submit(move_blocks, block_idx_to_cpu, block_to_cpu, block_idx_to_cuda, block_to_cuda) def wait_for_blocks_move(block_idx, ftrs): if block_idx not in ftrs: @@ -1073,37 +1097,35 @@ def wait_for_blocks_move(block_idx, ftrs): # start_time = time.perf_counter() ftr = ftrs.pop(block_idx) ftr.result() - # torch.cuda.synchronize() - # print(f"Move blocks took {time.perf_counter() - start_time:.2f} seconds") + # print(f"{block_idx} move blocks took {time.perf_counter() - start_time:.2f} seconds") + double_futures = {} for block_idx, block in enumerate(self.double_blocks): # print(f"Double block {block_idx}") - unit_idx = self.get_unit_index(is_double=True, index=block_idx) - wait_for_blocks_move(unit_idx, futures) + wait_for_blocks_move(block_idx, double_futures) img, txt = block(img=img, txt=txt, vec=vec, pe=pe, txt_attention_mask=txt_attention_mask) - if unit_idx < self.blocks_to_swap: - block_idx_to_cpu = unit_idx - block_idx_to_cuda = self.num_block_units - self.blocks_to_swap + unit_idx - future = submit_move_blocks(block_idx_to_cpu, block_idx_to_cuda) - futures[block_idx_to_cuda] = future + if block_idx < self.double_blocks_to_swap: + block_idx_to_cpu = block_idx + block_idx_to_cuda = self.num_double_blocks - self.double_blocks_to_swap + block_idx + future = submit_move_blocks(self.double_blocks, block_idx_to_cpu, block_idx_to_cuda) + double_futures[block_idx_to_cuda] = future img = torch.cat((txt, img), 1) + single_futures = {} for block_idx, block in enumerate(self.single_blocks): # print(f"Single block {block_idx}") - unit_idx = self.get_unit_index(is_double=False, index=block_idx) - if block_idx % 2 == 0: - wait_for_blocks_move(unit_idx, futures) + wait_for_blocks_move(block_idx, single_futures) img = block(img, vec=vec, pe=pe, txt_attention_mask=txt_attention_mask) - if block_idx % 2 == 1 and unit_idx < self.blocks_to_swap: - block_idx_to_cpu = unit_idx - block_idx_to_cuda = self.num_block_units - self.blocks_to_swap + unit_idx - future = submit_move_blocks(block_idx_to_cpu, block_idx_to_cuda) - futures[block_idx_to_cuda] = future + if block_idx < self.single_blocks_to_swap: + block_idx_to_cpu = block_idx + block_idx_to_cuda = self.num_single_blocks - self.blocks_to_swap + block_idx + future = submit_move_blocks(self.single_blocks, block_idx_to_cpu, block_idx_to_cuda) + single_futures[block_idx_to_cuda] = future img = img[:, txt.shape[1] :, ...] diff --git a/library/utils.py b/library/utils.py index ca0f904d2..aed510074 100644 --- a/library/utils.py +++ b/library/utils.py @@ -6,6 +6,7 @@ import struct import torch +import torch.nn as nn from torchvision import transforms from diffusers import EulerAncestralDiscreteScheduler import diffusers.schedulers.scheduling_euler_ancestral_discrete @@ -93,6 +94,225 @@ def setup_logging(args=None, log_level=None, reset=False): # region PyTorch utils +# def swap_weights(layer_to_cpu: nn.Module, layer_to_cuda: nn.Module): +# assert layer_to_cpu.__class__ == layer_to_cuda.__class__ +# for module_to_cpu, module_to_cuda in zip(layer_to_cpu.modules(), layer_to_cuda.modules()): +# if hasattr(module_to_cpu, "weight") and module_to_cpu.weight is not None: +# # print(f"Swapping {layer_to_cpu.__class__.__name__}-{module_to_cpu.__class__.__name__}.") +# # cpu_tensor = module_to_cuda.weight.data +# # cuda_tensor = module_to_cpu.weight.data +# # assert cuda_tensor.device.type == "cuda" +# # temp_cpu_tensor = cuda_tensor.to("cpu", non_blocking=True) +# # torch.cuda.current_stream().synchronize() +# # cuda_tensor.copy_(cpu_tensor, non_blocking=True) +# # torch.cuda.current_stream().synchronize() +# # cpu_tensor.copy_(temp_cpu_tensor, non_blocking=True) +# # module_to_cpu.weight.data, module_to_cuda.weight.data = cpu_tensor, cuda_tensor +# cuda_tensor_view = module_to_cpu.weight.data +# cpu_tensor_view = module_to_cuda.weight.data +# module_to_cpu.weight.data = module_to_cpu.weight.to("cpu", non_blocking=True).detach().clone() +# module_to_cuda.weight.data = cuda_tensor_view +# module_to_cuda.weight.data.copy_(cpu_tensor_view) + + +def swap_weight_devices(layer_to_cpu: nn.Module, layer_to_cuda: nn.Module): + assert layer_to_cpu.__class__ == layer_to_cuda.__class__ + + weight_swap_jobs = [] + for module_to_cpu, module_to_cuda in zip(layer_to_cpu.modules(), layer_to_cuda.modules()): + if hasattr(module_to_cpu, "weight") and module_to_cpu.weight is not None: + weight_swap_jobs.append((module_to_cpu, module_to_cuda, module_to_cpu.weight.data, module_to_cuda.weight.data)) + + torch.cuda.current_stream().synchronize() # this prevents the illegal loss value + + stream = torch.cuda.Stream() + with torch.cuda.stream(stream): + # cuda to cpu + for module_to_cpu, module_to_cuda, cuda_data_view, cpu_data_view in weight_swap_jobs: + cuda_data_view.record_stream(stream) + module_to_cpu.weight.data = cuda_data_view.data.to("cpu", non_blocking=True) + + stream.synchronize() + + # cpu to cuda + for module_to_cpu, module_to_cuda, cuda_data_view, cpu_data_view in weight_swap_jobs: + cuda_data_view.copy_(module_to_cuda.weight.data, non_blocking=True) + module_to_cuda.weight.data = cuda_data_view + + stream.synchronize() + torch.cuda.current_stream().synchronize() # this prevents the illegal loss value + + +def swap_weight_devices_2st(layer_to_cpu: nn.Module, layer_to_cuda: nn.Module): + assert layer_to_cpu.__class__ == layer_to_cuda.__class__ + + weight_swap_jobs = [] + for module_to_cpu, module_to_cuda in zip(layer_to_cpu.modules(), layer_to_cuda.modules()): + if hasattr(module_to_cpu, "weight") and module_to_cpu.weight is not None: + weight_swap_jobs.append((module_to_cpu, module_to_cuda, module_to_cpu.weight.data, module_to_cuda.weight.data)) + + stream_to_cpu = torch.cuda.Stream() + stream_to_cuda = torch.cuda.Stream() + + events = [] + with torch.cuda.stream(stream_to_cpu): + # cuda to offload + offloaded_weights = [] + for module_to_cpu, module_to_cuda, cuda_data_view, cpu_data_view in weight_swap_jobs: + offloaded_weights.append(cuda_data_view.to("cpu", non_blocking=True)) + event = torch.cuda.Event() + event.record(stream=stream_to_cpu) + events.append(event) + + with torch.cuda.stream(stream_to_cuda): + # cpu to cuda + for (module_to_cpu, module_to_cuda, cuda_data_view, cpu_data_view), event in zip(weight_swap_jobs, events): + event.synchronize() + cuda_data_view.copy_(module_to_cuda.weight.data, non_blocking=True) + module_to_cuda.weight.data = cuda_data_view + + # offload to cpu + for (module_to_cpu, module_to_cuda, cuda_data_view, cpu_data_view), offloaded_weight in zip( + weight_swap_jobs, offloaded_weights + ): + module_to_cpu.weight.data = offloaded_weight + + stream_to_cuda.synchronize() + + torch.cuda.current_stream().synchronize() # this prevents the illegal loss value + + +def swap_weight_devices_failed(layer_to_cpu: nn.Module, layer_to_cuda: nn.Module): + assert layer_to_cpu.__class__ == layer_to_cuda.__class__ + + weight_swap_jobs = [] + for module_to_cpu, module_to_cuda in zip(layer_to_cpu.modules(), layer_to_cuda.modules()): + if hasattr(module_to_cpu, "weight") and module_to_cpu.weight is not None: + weight_swap_jobs.append((module_to_cpu, module_to_cuda, module_to_cpu.weight.data, module_to_cuda.weight.data)) + + stream_to_cpu = torch.cuda.Stream() + stream_to_cuda = torch.cuda.Stream() + + # cuda to offload + events = [] + with torch.cuda.stream(stream_to_cpu): + offloaded_weights = [] + for module_to_cpu, module_to_cuda, cuda_data_view, cpu_data_view in weight_swap_jobs: + cuda_data_view.record_stream(stream_to_cpu) + offloaded_weights.append(cuda_data_view.to("cpu", non_blocking=True)) + + event = torch.cuda.Event() + event.record(stream=stream_to_cpu) + events.append(event) + + # cpu to cuda + with torch.cuda.stream(stream_to_cuda): + for (module_to_cpu, module_to_cuda, cuda_data_view, cpu_data_view), event, offloaded_weight in zip( + weight_swap_jobs, events, offloaded_weights + ): + event.synchronize() + cuda_data_view.record_stream(stream_to_cuda) + cuda_data_view.copy_(module_to_cuda.weight.data, non_blocking=True) + module_to_cuda.weight.data = cuda_data_view + + module_to_cpu.weight.data = offloaded_weight + + stream_to_cuda.synchronize() + + torch.cuda.current_stream().synchronize() # this prevents the illegal loss value + # torch.cuda.current_stream().wait_stream(stream_to_cuda) + # for job in weight_swap_jobs: + # job[2].record_stream(torch.cuda.current_stream()) # record the ownership of the tensor + + +def swap_weight_devices_works_2(layer_to_cpu: nn.Module, layer_to_cuda: nn.Module): + assert layer_to_cpu.__class__ == layer_to_cuda.__class__ + + weight_swap_jobs = [] + for module_to_cpu, module_to_cuda in zip(layer_to_cpu.modules(), layer_to_cuda.modules()): + if hasattr(module_to_cpu, "weight") and module_to_cpu.weight is not None: + if not (hasattr(module_to_cpu, "offloaded_weight") or hasattr(module_to_cuda, "offloaded_weight")): + # one of the modules must have the tensor to offload + module_to_cpu.offloaded_weight = torch.zeros_like(module_to_cpu.weight.data, device="cpu") + module_to_cpu.offloaded_weight.pin_memory() + offloaded_weight = ( + module_to_cpu.offloaded_weight if hasattr(module_to_cpu, "offloaded_weight") else module_to_cuda.offloaded_weight + ) + assert module_to_cpu.weight.device.type == "cuda" and module_to_cuda.weight.device.type == "cpu" + weight_swap_jobs.append( + (module_to_cpu, module_to_cuda, module_to_cpu.weight.data, module_to_cuda.weight.data, offloaded_weight) + ) + + stream = torch.cuda.Stream() + with torch.cuda.stream(stream): + # cuda to offload + for module_to_cpu, module_to_cuda, cuda_data_view, cpu_data_view, offloaded_weight in weight_swap_jobs: + cuda_data_view.record_stream(stream) + offloaded_weight.copy_(module_to_cpu.weight.data, non_blocking=True) + + stream.synchronize() + + # cpu to cuda + for module_to_cpu, module_to_cuda, cuda_data_view, cpu_data_view, offloaded_weight in weight_swap_jobs: + cuda_data_view.copy_(module_to_cuda.weight.data, non_blocking=True) + module_to_cuda.weight.data = cuda_data_view + + # offload to cpu + for module_to_cpu, module_to_cuda, cuda_data_view, cpu_data_view, offloaded_weight in weight_swap_jobs: + module_to_cpu.weight.data = offloaded_weight + offloaded_weight = cpu_data_view + module_to_cpu.offloaded_weight = offloaded_weight + module_to_cuda.offloaded_weight = offloaded_weight + + stream.synchronize() + + torch.cuda.current_stream().synchronize() # this prevents the illegal loss value + + +def swap_weight_devices_safe_works(layer_to_cpu: nn.Module, layer_to_cuda: nn.Module): + assert layer_to_cpu.__class__ == layer_to_cuda.__class__ + + weight_swap_jobs = [] + for module_to_cpu, module_to_cuda in zip(layer_to_cpu.modules(), layer_to_cuda.modules()): + if hasattr(module_to_cpu, "weight") and module_to_cpu.weight is not None: + if not (hasattr(module_to_cpu, "__cached_cpu_weight") or hasattr(module_to_cuda, "__cached_cuda_weight")): + # one of the modules must have the tensor to cache + module_to_cpu.__cached_cpu_weight = torch.zeros_like(module_to_cpu.weight.data, device="cpu") + module_to_cpu.__cached_cpu_weight.pin_memory() + + weight_swap_jobs.append((module_to_cpu, module_to_cuda, module_to_cpu.weight.data, module_to_cuda.weight.data)) + + for module_to_cpu, module_to_cuda, cuda_tensor_view, cpu_tensor_view in weight_swap_jobs: + module_to_cpu.weight.data = cuda_tensor_view.to("cpu", non_blocking=True) + module_to_cuda.weight.data = cpu_tensor_view.to("cuda", non_blocking=True) + + torch.cuda.current_stream().synchronize() # wait for the copy from cache to cpu to finish + torch.cuda.empty_cache() + + +# def swap_weight_devices(layer_to_cpu: nn.Module, layer_to_cuda: nn.Module): +# assert layer_to_cpu.__class__ == layer_to_cuda.__class__ +# for module_to_cpu, module_to_cuda in zip(layer_to_cpu.modules(), layer_to_cuda.modules()): +# if hasattr(module_to_cpu, "weight") and module_to_cpu.weight is not None: +# assert module_to_cuda.weight.device.type == "cpu" and module_to_cpu.weight.device.type == "cuda" +# weight_on_cuda = module_to_cpu.weight +# weight_on_cpu = module_to_cuda.weight +# cuda_to_cpu_data = weight_on_cuda.data.to("cpu", non_blocking=True) +# event = torch.cuda.current_stream().record_event() +# event.synchronize() +# weight_on_cuda.data.copy_(weight_on_cpu.data, non_blocking=True) +# weight_on_cpu.data = cuda_to_cpu_data +# weight_on_cpu.grad, weight_on_cuda.grad = weight_on_cuda.grad, weight_on_cpu.grad + +# module_to_cpu.weight = weight_on_cpu +# module_to_cuda.weight = weight_on_cuda + + +def weighs_to_device(layer: nn.Module, device: torch.device): + for module in layer.modules(): + if hasattr(module, "weight") and module.weight is not None: + module.weight.data = module.weight.data.to(device, non_blocking=True) + def str_to_dtype(s: Optional[str], default_dtype: Optional[torch.dtype] = None) -> torch.dtype: """ @@ -313,6 +533,7 @@ def _convert_float8(byte_tensor, dtype_str, shape): # return byte_tensor.view(torch.uint8).to(torch.float16).reshape(shape) raise ValueError(f"Unsupported float8 type: {dtype_str} (upgrade PyTorch to support float8 types)") + def load_safetensors( path: str, device: Union[str, torch.device], disable_mmap: bool = False, dtype: Optional[torch.dtype] = torch.float32 ) -> dict[str, torch.Tensor]: @@ -336,7 +557,6 @@ def load_safetensors( return state_dict - # endregion # region Image utils From aab943cea3eb8a91041c857771f1642581133608 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Tue, 5 Nov 2024 23:27:41 +0900 Subject: [PATCH 323/748] remove unused weight swapping functions from utils.py --- library/utils.py | 185 ----------------------------------------------- 1 file changed, 185 deletions(-) diff --git a/library/utils.py b/library/utils.py index aed510074..07079c6d9 100644 --- a/library/utils.py +++ b/library/utils.py @@ -94,26 +94,6 @@ def setup_logging(args=None, log_level=None, reset=False): # region PyTorch utils -# def swap_weights(layer_to_cpu: nn.Module, layer_to_cuda: nn.Module): -# assert layer_to_cpu.__class__ == layer_to_cuda.__class__ -# for module_to_cpu, module_to_cuda in zip(layer_to_cpu.modules(), layer_to_cuda.modules()): -# if hasattr(module_to_cpu, "weight") and module_to_cpu.weight is not None: -# # print(f"Swapping {layer_to_cpu.__class__.__name__}-{module_to_cpu.__class__.__name__}.") -# # cpu_tensor = module_to_cuda.weight.data -# # cuda_tensor = module_to_cpu.weight.data -# # assert cuda_tensor.device.type == "cuda" -# # temp_cpu_tensor = cuda_tensor.to("cpu", non_blocking=True) -# # torch.cuda.current_stream().synchronize() -# # cuda_tensor.copy_(cpu_tensor, non_blocking=True) -# # torch.cuda.current_stream().synchronize() -# # cpu_tensor.copy_(temp_cpu_tensor, non_blocking=True) -# # module_to_cpu.weight.data, module_to_cuda.weight.data = cpu_tensor, cuda_tensor -# cuda_tensor_view = module_to_cpu.weight.data -# cpu_tensor_view = module_to_cuda.weight.data -# module_to_cpu.weight.data = module_to_cpu.weight.to("cpu", non_blocking=True).detach().clone() -# module_to_cuda.weight.data = cuda_tensor_view -# module_to_cuda.weight.data.copy_(cpu_tensor_view) - def swap_weight_devices(layer_to_cpu: nn.Module, layer_to_cuda: nn.Module): assert layer_to_cpu.__class__ == layer_to_cuda.__class__ @@ -143,171 +123,6 @@ def swap_weight_devices(layer_to_cpu: nn.Module, layer_to_cuda: nn.Module): torch.cuda.current_stream().synchronize() # this prevents the illegal loss value -def swap_weight_devices_2st(layer_to_cpu: nn.Module, layer_to_cuda: nn.Module): - assert layer_to_cpu.__class__ == layer_to_cuda.__class__ - - weight_swap_jobs = [] - for module_to_cpu, module_to_cuda in zip(layer_to_cpu.modules(), layer_to_cuda.modules()): - if hasattr(module_to_cpu, "weight") and module_to_cpu.weight is not None: - weight_swap_jobs.append((module_to_cpu, module_to_cuda, module_to_cpu.weight.data, module_to_cuda.weight.data)) - - stream_to_cpu = torch.cuda.Stream() - stream_to_cuda = torch.cuda.Stream() - - events = [] - with torch.cuda.stream(stream_to_cpu): - # cuda to offload - offloaded_weights = [] - for module_to_cpu, module_to_cuda, cuda_data_view, cpu_data_view in weight_swap_jobs: - offloaded_weights.append(cuda_data_view.to("cpu", non_blocking=True)) - event = torch.cuda.Event() - event.record(stream=stream_to_cpu) - events.append(event) - - with torch.cuda.stream(stream_to_cuda): - # cpu to cuda - for (module_to_cpu, module_to_cuda, cuda_data_view, cpu_data_view), event in zip(weight_swap_jobs, events): - event.synchronize() - cuda_data_view.copy_(module_to_cuda.weight.data, non_blocking=True) - module_to_cuda.weight.data = cuda_data_view - - # offload to cpu - for (module_to_cpu, module_to_cuda, cuda_data_view, cpu_data_view), offloaded_weight in zip( - weight_swap_jobs, offloaded_weights - ): - module_to_cpu.weight.data = offloaded_weight - - stream_to_cuda.synchronize() - - torch.cuda.current_stream().synchronize() # this prevents the illegal loss value - - -def swap_weight_devices_failed(layer_to_cpu: nn.Module, layer_to_cuda: nn.Module): - assert layer_to_cpu.__class__ == layer_to_cuda.__class__ - - weight_swap_jobs = [] - for module_to_cpu, module_to_cuda in zip(layer_to_cpu.modules(), layer_to_cuda.modules()): - if hasattr(module_to_cpu, "weight") and module_to_cpu.weight is not None: - weight_swap_jobs.append((module_to_cpu, module_to_cuda, module_to_cpu.weight.data, module_to_cuda.weight.data)) - - stream_to_cpu = torch.cuda.Stream() - stream_to_cuda = torch.cuda.Stream() - - # cuda to offload - events = [] - with torch.cuda.stream(stream_to_cpu): - offloaded_weights = [] - for module_to_cpu, module_to_cuda, cuda_data_view, cpu_data_view in weight_swap_jobs: - cuda_data_view.record_stream(stream_to_cpu) - offloaded_weights.append(cuda_data_view.to("cpu", non_blocking=True)) - - event = torch.cuda.Event() - event.record(stream=stream_to_cpu) - events.append(event) - - # cpu to cuda - with torch.cuda.stream(stream_to_cuda): - for (module_to_cpu, module_to_cuda, cuda_data_view, cpu_data_view), event, offloaded_weight in zip( - weight_swap_jobs, events, offloaded_weights - ): - event.synchronize() - cuda_data_view.record_stream(stream_to_cuda) - cuda_data_view.copy_(module_to_cuda.weight.data, non_blocking=True) - module_to_cuda.weight.data = cuda_data_view - - module_to_cpu.weight.data = offloaded_weight - - stream_to_cuda.synchronize() - - torch.cuda.current_stream().synchronize() # this prevents the illegal loss value - # torch.cuda.current_stream().wait_stream(stream_to_cuda) - # for job in weight_swap_jobs: - # job[2].record_stream(torch.cuda.current_stream()) # record the ownership of the tensor - - -def swap_weight_devices_works_2(layer_to_cpu: nn.Module, layer_to_cuda: nn.Module): - assert layer_to_cpu.__class__ == layer_to_cuda.__class__ - - weight_swap_jobs = [] - for module_to_cpu, module_to_cuda in zip(layer_to_cpu.modules(), layer_to_cuda.modules()): - if hasattr(module_to_cpu, "weight") and module_to_cpu.weight is not None: - if not (hasattr(module_to_cpu, "offloaded_weight") or hasattr(module_to_cuda, "offloaded_weight")): - # one of the modules must have the tensor to offload - module_to_cpu.offloaded_weight = torch.zeros_like(module_to_cpu.weight.data, device="cpu") - module_to_cpu.offloaded_weight.pin_memory() - offloaded_weight = ( - module_to_cpu.offloaded_weight if hasattr(module_to_cpu, "offloaded_weight") else module_to_cuda.offloaded_weight - ) - assert module_to_cpu.weight.device.type == "cuda" and module_to_cuda.weight.device.type == "cpu" - weight_swap_jobs.append( - (module_to_cpu, module_to_cuda, module_to_cpu.weight.data, module_to_cuda.weight.data, offloaded_weight) - ) - - stream = torch.cuda.Stream() - with torch.cuda.stream(stream): - # cuda to offload - for module_to_cpu, module_to_cuda, cuda_data_view, cpu_data_view, offloaded_weight in weight_swap_jobs: - cuda_data_view.record_stream(stream) - offloaded_weight.copy_(module_to_cpu.weight.data, non_blocking=True) - - stream.synchronize() - - # cpu to cuda - for module_to_cpu, module_to_cuda, cuda_data_view, cpu_data_view, offloaded_weight in weight_swap_jobs: - cuda_data_view.copy_(module_to_cuda.weight.data, non_blocking=True) - module_to_cuda.weight.data = cuda_data_view - - # offload to cpu - for module_to_cpu, module_to_cuda, cuda_data_view, cpu_data_view, offloaded_weight in weight_swap_jobs: - module_to_cpu.weight.data = offloaded_weight - offloaded_weight = cpu_data_view - module_to_cpu.offloaded_weight = offloaded_weight - module_to_cuda.offloaded_weight = offloaded_weight - - stream.synchronize() - - torch.cuda.current_stream().synchronize() # this prevents the illegal loss value - - -def swap_weight_devices_safe_works(layer_to_cpu: nn.Module, layer_to_cuda: nn.Module): - assert layer_to_cpu.__class__ == layer_to_cuda.__class__ - - weight_swap_jobs = [] - for module_to_cpu, module_to_cuda in zip(layer_to_cpu.modules(), layer_to_cuda.modules()): - if hasattr(module_to_cpu, "weight") and module_to_cpu.weight is not None: - if not (hasattr(module_to_cpu, "__cached_cpu_weight") or hasattr(module_to_cuda, "__cached_cuda_weight")): - # one of the modules must have the tensor to cache - module_to_cpu.__cached_cpu_weight = torch.zeros_like(module_to_cpu.weight.data, device="cpu") - module_to_cpu.__cached_cpu_weight.pin_memory() - - weight_swap_jobs.append((module_to_cpu, module_to_cuda, module_to_cpu.weight.data, module_to_cuda.weight.data)) - - for module_to_cpu, module_to_cuda, cuda_tensor_view, cpu_tensor_view in weight_swap_jobs: - module_to_cpu.weight.data = cuda_tensor_view.to("cpu", non_blocking=True) - module_to_cuda.weight.data = cpu_tensor_view.to("cuda", non_blocking=True) - - torch.cuda.current_stream().synchronize() # wait for the copy from cache to cpu to finish - torch.cuda.empty_cache() - - -# def swap_weight_devices(layer_to_cpu: nn.Module, layer_to_cuda: nn.Module): -# assert layer_to_cpu.__class__ == layer_to_cuda.__class__ -# for module_to_cpu, module_to_cuda in zip(layer_to_cpu.modules(), layer_to_cuda.modules()): -# if hasattr(module_to_cpu, "weight") and module_to_cpu.weight is not None: -# assert module_to_cuda.weight.device.type == "cpu" and module_to_cpu.weight.device.type == "cuda" -# weight_on_cuda = module_to_cpu.weight -# weight_on_cpu = module_to_cuda.weight -# cuda_to_cpu_data = weight_on_cuda.data.to("cpu", non_blocking=True) -# event = torch.cuda.current_stream().record_event() -# event.synchronize() -# weight_on_cuda.data.copy_(weight_on_cpu.data, non_blocking=True) -# weight_on_cpu.data = cuda_to_cpu_data -# weight_on_cpu.grad, weight_on_cuda.grad = weight_on_cuda.grad, weight_on_cpu.grad - -# module_to_cpu.weight = weight_on_cpu -# module_to_cuda.weight = weight_on_cuda - - def weighs_to_device(layer: nn.Module, device: torch.device): for module in layer.modules(): if hasattr(module, "weight") and module.weight is not None: From 43849030cf35a7c854311e0bee9cb8a92b77dd83 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Wed, 6 Nov 2024 21:33:28 +0900 Subject: [PATCH 324/748] Fix to work without latent cache #1758 --- sd3_train.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sd3_train.py b/sd3_train.py index e03d1708b..b8a0d04fa 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -885,7 +885,9 @@ def optimizer_hook(parameter: torch.Tensor): else: with torch.no_grad(): # encode images to latents. images are [-1, 1] - latents = vae.encode(batch["images"]) + latents = vae.encode(batch["images"].to(vae.device, dtype=vae.dtype)).to( + accelerator.device, dtype=weight_dtype + ) # NaNが含まれていれば警告を表示し0に置き換える if torch.any(torch.isnan(latents)): @@ -927,7 +929,7 @@ def optimizer_hook(parameter: torch.Tensor): if t5_out is None: _, _, input_ids_t5xxl, _, _, t5_attn_mask = batch["input_ids_list"] with torch.set_grad_enabled(train_t5xxl): - input_ids_t5xxl = input_ids_t5xxl.to("cpu") if t5_out is None else None + input_ids_t5xxl = input_ids_t5xxl.to("cpu") _, t5_out, _, _, _, t5_attn_mask = text_encoding_strategy.encode_tokens( sd3_tokenize_strategy, [None, None, t5xxl], [None, None, input_ids_t5xxl, None, None, t5_attn_mask] ) From 40ed54bfc0ca666c45a4a5d4b7a3064612371005 Mon Sep 17 00:00:00 2001 From: Dango233 Date: Thu, 7 Nov 2024 09:53:54 +0000 Subject: [PATCH 325/748] Simplify Timestep weighting * Remove diffusers dependency in ts & sigma calc * support Shift setting * Add uniform distribution * Default to Uniform distribution and shift 1 --- library/sd3_train_utils.py | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/library/sd3_train_utils.py b/library/sd3_train_utils.py index 69878750e..bfe752d5e 100644 --- a/library/sd3_train_utils.py +++ b/library/sd3_train_utils.py @@ -253,12 +253,12 @@ def add_sd3_training_arguments(parser: argparse.ArgumentParser): " / 複数解像度学習時に解像度ごとに位置埋め込みをスケーリングする。SD3.5M以外では予期しない動作になります", ) - # copy from Diffusers + # Dependencies of Diffusers noise sampler has been removed for clearity. parser.add_argument( "--weighting_scheme", type=str, - default="logit_normal", - choices=["sigma_sqrt", "logit_normal", "mode", "cosmap"], + default="uniform", + choices=["sigma_sqrt", "logit_normal", "mode", "cosmap", "uniform"], help="weighting scheme for timestep distribution and loss / タイムステップ分布と損失のための重み付けスキーム", ) parser.add_argument( @@ -279,8 +279,13 @@ def add_sd3_training_arguments(parser: argparse.ArgumentParser): default=1.29, help="Scale of mode weighting scheme. Only effective when using the `'mode'` as the `weighting_scheme`. / モード重み付けスキームのスケール。`'mode'`を`weighting_scheme`として使用する場合のみ有効", ) - - + parser.add_argument( + "--training_shift", + type=float, + default=1.0, + help="Discrete flow shift for training timestep distribution adjustment, applied in addition to the weighting scheme, default is 1.0. /タイムステップ分布のための離散フローシフト、重み付けスキームの上に適用される、デフォルトは1.0。", + ) + def verify_sdxl_training_args(args: argparse.Namespace, supportTextEncoderCaching: bool = True): assert not args.v2, "v2 cannot be enabled in SDXL training / SDXL学習ではv2を有効にすることはできません" if args.v_parameterization: @@ -965,14 +970,20 @@ def get_noisy_model_input_and_timesteps( logit_std=args.logit_std, mode_scale=args.mode_scale, ) - indices = (u * noise_scheduler.config.num_train_timesteps).long() - timesteps = noise_scheduler.timesteps[indices].to(device=device) + t_min = args.min_timestep if args.min_timestep is not None else 0 + t_max = args.max_timestep if args.max_timestep is not None else 1000 + shift = args.training_shift + + # weighting shift, value >1 will shift distribution to noisy side (focus more on overall structure), value <1 will shift towards less-noisy side (focus more on details) + u = (u * shift) / (1 + (shift - 1) * u) - # Add noise according to flow matching. - sigmas = get_sigmas(noise_scheduler, timesteps, device, n_dim=latents.ndim, dtype=dtype) + indices = (u * (t_max-t_min) + t_min).long() + timesteps = indices.to(device=device, dtype=dtype) + + # sigmas according to dlowmatching + sigmas = timesteps / 1000 + sigmas = sigmas.view(-1,1,1,1) noisy_model_input = sigmas * noise + (1.0 - sigmas) * latents return noisy_model_input, timesteps, sigmas - -# endregion From e54462a4a9cb3d01c5635f8c191d28cbccfba6e0 Mon Sep 17 00:00:00 2001 From: Dango233 Date: Thu, 7 Nov 2024 09:54:12 +0000 Subject: [PATCH 326/748] Fix SD3 trained lora loading and merging --- networks/lora_sd3.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/networks/lora_sd3.py b/networks/lora_sd3.py index efe202451..ce6d1a16f 100644 --- a/networks/lora_sd3.py +++ b/networks/lora_sd3.py @@ -601,7 +601,7 @@ def merge_to(self, text_encoders, mmdit, weights_sd, dtype=None, device=None): or key.startswith(LoRANetwork.LORA_PREFIX_TEXT_ENCODER_T5) ): apply_text_encoder = True - elif key.startswith(LoRANetwork.LORA_PREFIX_MMDIT): + elif key.startswith(LoRANetwork.LORA_PREFIX_SD3): apply_unet = True if apply_text_encoder: From bafd10d558bf318ccd7059c2b4dce2775b5758da Mon Sep 17 00:00:00 2001 From: Dango233 Date: Thu, 7 Nov 2024 18:21:04 +0800 Subject: [PATCH 327/748] Fix typo --- library/sd3_train_utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/sd3_train_utils.py b/library/sd3_train_utils.py index bfe752d5e..afbe34cf5 100644 --- a/library/sd3_train_utils.py +++ b/library/sd3_train_utils.py @@ -980,7 +980,7 @@ def get_noisy_model_input_and_timesteps( indices = (u * (t_max-t_min) + t_min).long() timesteps = indices.to(device=device, dtype=dtype) - # sigmas according to dlowmatching + # sigmas according to flowmatching sigmas = timesteps / 1000 sigmas = sigmas.view(-1,1,1,1) noisy_model_input = sigmas * noise + (1.0 - sigmas) * latents From 5e86323f12178605c0b99bc914b4bd970900ce75 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 7 Nov 2024 21:27:12 +0900 Subject: [PATCH 328/748] Update README and clean-up the code for SD3 timesteps --- README.md | 13 ++++++++++++- library/config_util.py | 2 +- library/sd3_models.py | 2 +- library/sd3_train_utils.py | 17 +++++++++-------- sd3_train.py | 8 ++++---- sd3_train_network.py | 7 +++---- 6 files changed, 30 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index fb087c234..dba76a3c5 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,13 @@ The command to install PyTorch is as follows: ### Recent Updates +Nov 7, 2024: + +- The distribution of timesteps during SD3/3.5 training has been adjusted. This applies to both fine-tuning and LoRA training. PR [#1768](https://github.com/kohya-ss/sd-scripts/pull/1768) Thanks to Dango233! + - Previously, the side closer to noise was more sampled, but now it is uniform by default. This may improve the problem of difficulty in learning details. + - Specifically, the problem of double shifting has been fixed. The default for `--weighting_scheme` has been changed to `uniform` (the previous default was `logit_normal`). + - A new option `--training_shift` has been added. The default is 1.0, and all timesteps are sampled uniformly. If less than 1.0, the side closer to the image is more sampled, and if more than 1.0, the side closer to noise is more sampled. + Oct 31, 2024: - Added support for SD3.5L/M training. See [SD3 training](#sd3-training) for details. @@ -641,6 +648,7 @@ Here are the arguments. The arguments and sample settings are still experimental - `--clip_l_dropout_rate`, `--clip_g_dropout_rate` and `--t5_dropout_rate` are the dropout rates for the embeddings of CLIP-L, CLIP-G, and T5XXL, described in [SAI research papre](http://arxiv.org/pdf/2403.03206). The default is 0.0. For LoRA training, it is seems to be better to set 0.0. - `--pos_emb_random_crop_rate` is the rate of random cropping of positional embeddings, described in [SD3.5M model card](https://huggingface.co/stabilityai/stable-diffusion-3.5-medium). The default is 0. It is seems to be better to set 0.0 for LoRA training. - `--enable_scaled_pos_embed` is to enable the scaled positional embeddings. The default is False. This option is an experimental feature for SD3.5M. Details are described below. +- `--training_shift` is the shift value for the training distribution of timesteps. The default is 1.0 (uniform distribution, no shift). If less than 1.0, the side closer to the image is more sampled, and if more than 1.0, the side closer to noise is more sampled. Other options are described below. @@ -681,7 +689,10 @@ Other options are described below. - Same as FLUX.1 for data preparation. - If you train with multiple resolutions, you can enable the scaled positional embeddings with `--enable_scaled_pos_embed`. The default is False. __This option is an experimental feature.__ - +6. Weighting scheme and training shift: + - The weighting scheme is described in the section 3.1 of the [SD3 paper](https://arxiv.org/abs/2403.03206v1). + - The uniform distribution is the default. If you want to change the distribution, see `--help` for options. + - `--training_shift` is the shift value for the training distribution of timesteps. Technical details of multi-resolution training for SD3.5M: diff --git a/library/config_util.py b/library/config_util.py index fc1fbf46d..12d0be173 100644 --- a/library/config_util.py +++ b/library/config_util.py @@ -526,7 +526,7 @@ def generate_dataset_group_by_blueprint(dataset_group_blueprint: DatasetGroupBlu secondary_separator: {subset.secondary_separator} enable_wildcard: {subset.enable_wildcard} caption_dropout_rate: {subset.caption_dropout_rate} - caption_dropout_every_n_epoches: {subset.caption_dropout_every_n_epochs} + caption_dropout_every_n_epochs: {subset.caption_dropout_every_n_epochs} caption_tag_dropout_rate: {subset.caption_tag_dropout_rate} caption_prefix: {subset.caption_prefix} caption_suffix: {subset.caption_suffix} diff --git a/library/sd3_models.py b/library/sd3_models.py index b09a57dbd..89225fe4d 100644 --- a/library/sd3_models.py +++ b/library/sd3_models.py @@ -871,7 +871,7 @@ def enable_scaled_pos_embed(self, use_scaled_pos_embed: bool, latent_sizes: Opti # remove pos_embed to free up memory up to 0.4 GB self.pos_embed = None - # remove duplcates and sort latent sizes in ascending order + # remove duplicates and sort latent sizes in ascending order latent_sizes = list(set(latent_sizes)) latent_sizes = sorted(latent_sizes) diff --git a/library/sd3_train_utils.py b/library/sd3_train_utils.py index afbe34cf5..38f3c25f4 100644 --- a/library/sd3_train_utils.py +++ b/library/sd3_train_utils.py @@ -253,7 +253,7 @@ def add_sd3_training_arguments(parser: argparse.ArgumentParser): " / 複数解像度学習時に解像度ごとに位置埋め込みをスケーリングする。SD3.5M以外では予期しない動作になります", ) - # Dependencies of Diffusers noise sampler has been removed for clearity. + # Dependencies of Diffusers noise sampler has been removed for clarity. parser.add_argument( "--weighting_scheme", type=str, @@ -285,7 +285,8 @@ def add_sd3_training_arguments(parser: argparse.ArgumentParser): default=1.0, help="Discrete flow shift for training timestep distribution adjustment, applied in addition to the weighting scheme, default is 1.0. /タイムステップ分布のための離散フローシフト、重み付けスキームの上に適用される、デフォルトは1.0。", ) - + + def verify_sdxl_training_args(args: argparse.Namespace, supportTextEncoderCaching: bool = True): assert not args.v2, "v2 cannot be enabled in SDXL training / SDXL学習ではv2を有効にすることはできません" if args.v_parameterization: @@ -956,9 +957,10 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): return weighting -def get_noisy_model_input_and_timesteps( - args, noise_scheduler, latents, noise, device, dtype -) -> Tuple[torch.Tensor, torch.Tensor, torch.Tensor]: +# endregion + + +def get_noisy_model_input_and_timesteps(args, latents, noise, device, dtype) -> Tuple[torch.Tensor, torch.Tensor, torch.Tensor]: bsz = latents.shape[0] # Sample a random timestep for each image @@ -977,13 +979,12 @@ def get_noisy_model_input_and_timesteps( # weighting shift, value >1 will shift distribution to noisy side (focus more on overall structure), value <1 will shift towards less-noisy side (focus more on details) u = (u * shift) / (1 + (shift - 1) * u) - indices = (u * (t_max-t_min) + t_min).long() + indices = (u * (t_max - t_min) + t_min).long() timesteps = indices.to(device=device, dtype=dtype) # sigmas according to flowmatching sigmas = timesteps / 1000 - sigmas = sigmas.view(-1,1,1,1) + sigmas = sigmas.view(-1, 1, 1, 1) noisy_model_input = sigmas * noise + (1.0 - sigmas) * latents return noisy_model_input, timesteps, sigmas - diff --git a/sd3_train.py b/sd3_train.py index b8a0d04fa..24ecbfb7d 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -811,8 +811,8 @@ def optimizer_hook(parameter: torch.Tensor): progress_bar = tqdm(range(args.max_train_steps), smoothing=0, disable=not accelerator.is_local_main_process, desc="steps") global_step = 0 - noise_scheduler = sd3_train_utils.FlowMatchEulerDiscreteScheduler(num_train_timesteps=1000, shift=3.0) - noise_scheduler_copy = copy.deepcopy(noise_scheduler) + # noise_scheduler = sd3_train_utils.FlowMatchEulerDiscreteScheduler(num_train_timesteps=1000, shift=3.0) + # noise_scheduler_copy = copy.deepcopy(noise_scheduler) if accelerator.is_main_process: init_kwargs = {} @@ -940,11 +940,11 @@ def optimizer_hook(parameter: torch.Tensor): # Sample noise that we'll add to the latents noise = torch.randn_like(latents) - bsz = latents.shape[0] + # bsz = latents.shape[0] # get noisy model input and timesteps noisy_model_input, timesteps, sigmas = sd3_train_utils.get_noisy_model_input_and_timesteps( - args, noise_scheduler_copy, latents, noise, accelerator.device, weight_dtype + args, latents, noise, accelerator.device, weight_dtype ) # debug: NaN check for all inputs diff --git a/sd3_train_network.py b/sd3_train_network.py index 0739e094d..bb02c7ac7 100644 --- a/sd3_train_network.py +++ b/sd3_train_network.py @@ -275,9 +275,8 @@ def sample_images(self, accelerator, args, epoch, global_step, device, vae, toke ) def get_noise_scheduler(self, args: argparse.Namespace, device: torch.device) -> Any: - # shift 3.0 is the default value - noise_scheduler = sd3_train_utils.FlowMatchEulerDiscreteScheduler(num_train_timesteps=1000, shift=3.0) - self.noise_scheduler_copy = copy.deepcopy(noise_scheduler) + # this scheduler is not used in training, but used to get num_train_timesteps etc. + noise_scheduler = sd3_train_utils.FlowMatchEulerDiscreteScheduler(num_train_timesteps=1000, shift=args.training_shift) return noise_scheduler def encode_images_to_latents(self, args, accelerator, vae, images): @@ -304,7 +303,7 @@ def get_noise_pred_and_target( # get noisy model input and timesteps noisy_model_input, timesteps, sigmas = sd3_train_utils.get_noisy_model_input_and_timesteps( - args, self.noise_scheduler_copy, latents, noise, accelerator.device, weight_dtype + args, latents, noise, accelerator.device, weight_dtype ) # ensure the hidden state will require grad From f264f4091f734b4e4011257b8571ef97315a1343 Mon Sep 17 00:00:00 2001 From: "Kohya S." <52813779+kohya-ss@users.noreply.github.com> Date: Thu, 7 Nov 2024 21:30:31 +0900 Subject: [PATCH 329/748] Update README.md --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index dba76a3c5..9273fc8fb 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,8 @@ Nov 7, 2024: - Previously, the side closer to noise was more sampled, but now it is uniform by default. This may improve the problem of difficulty in learning details. - Specifically, the problem of double shifting has been fixed. The default for `--weighting_scheme` has been changed to `uniform` (the previous default was `logit_normal`). - A new option `--training_shift` has been added. The default is 1.0, and all timesteps are sampled uniformly. If less than 1.0, the side closer to the image is more sampled, and if more than 1.0, the side closer to noise is more sampled. + - The effect of a shift in uniform distribution is shown in the figure below. + - ![Figure_1](https://github.com/user-attachments/assets/99a72c67-adfb-4440-81d4-a718985ff350) Oct 31, 2024: @@ -693,7 +695,8 @@ Other options are described below. - The weighting scheme is described in the section 3.1 of the [SD3 paper](https://arxiv.org/abs/2403.03206v1). - The uniform distribution is the default. If you want to change the distribution, see `--help` for options. - `--training_shift` is the shift value for the training distribution of timesteps. - + - The effect of a shift in uniform distribution is shown in the figure below. + - ![Figure_1](https://github.com/user-attachments/assets/99a72c67-adfb-4440-81d4-a718985ff350) Technical details of multi-resolution training for SD3.5M: From 5eb6d209d5b28d43bf611e0934297703eb041d07 Mon Sep 17 00:00:00 2001 From: Dango233 Date: Thu, 7 Nov 2024 20:33:31 +0800 Subject: [PATCH 330/748] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9273fc8fb..fe7c506cb 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ Nov 7, 2024: - The distribution of timesteps during SD3/3.5 training has been adjusted. This applies to both fine-tuning and LoRA training. PR [#1768](https://github.com/kohya-ss/sd-scripts/pull/1768) Thanks to Dango233! - Previously, the side closer to noise was more sampled, but now it is uniform by default. This may improve the problem of difficulty in learning details. - Specifically, the problem of double shifting has been fixed. The default for `--weighting_scheme` has been changed to `uniform` (the previous default was `logit_normal`). - - A new option `--training_shift` has been added. The default is 1.0, and all timesteps are sampled uniformly. If less than 1.0, the side closer to the image is more sampled, and if more than 1.0, the side closer to noise is more sampled. + - A new option `--training_shift` has been added. The default is 1.0, and all timesteps are sampled uniformly. If less than 1.0, the side closer to the image is more sampled (training more on image details), and if more than 1.0, the side closer to noise is more sampled (training more on overall structure). - The effect of a shift in uniform distribution is shown in the figure below. - ![Figure_1](https://github.com/user-attachments/assets/99a72c67-adfb-4440-81d4-a718985ff350) From e5ac09574928ec02fba5fe78267764d26bb7faa6 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 7 Nov 2024 21:39:47 +0900 Subject: [PATCH 331/748] add about dev and sd3 branch to README --- README-ja.md | 4 ++++ README.md | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/README-ja.md b/README-ja.md index 4ae6b2334..27cc56c34 100644 --- a/README-ja.md +++ b/README-ja.md @@ -3,6 +3,10 @@ Stable Diffusionの学習、画像生成、その他のスクリプトを入れ [README in English](./README.md) ←更新情報はこちらにあります +開発中のバージョンはdevブランチにあります。最新の変更点はdevブランチをご確認ください。 + +FLUX.1およびSD3/SD3.5対応はsd3ブランチで行っています。それらの学習を行う場合はsd3ブランチをご利用ください。 + GUIやPowerShellスクリプトなど、より使いやすくする機能が[bmaltais氏のリポジトリ](https://github.com/bmaltais/kohya_ss)で提供されています(英語です)のであわせてご覧ください。bmaltais氏に感謝します。 以下のスクリプトがあります。 diff --git a/README.md b/README.md index 1e7d49afe..51ac07a1f 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,11 @@ This repository contains training, generation and utility scripts for Stable Dif [日本語版READMEはこちら](./README-ja.md) +The development version is in the `dev` branch. Please check the dev branch for the latest changes. + +FLUX.1 and SD3/SD3.5 support is done in the `sd3` branch. If you want to train them, please use the sd3 branch. + + For easier use (GUI and PowerShell scripts etc...), please visit [the repository maintained by bmaltais](https://github.com/bmaltais/kohya_ss). Thanks to @bmaltais! This repository contains the scripts for: From 186aa5b97d43700706bd8e986e2d5ac3f5d4c9b7 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 7 Nov 2024 22:16:05 +0900 Subject: [PATCH 332/748] fix illeagal block is swapped #1764 --- library/flux_models.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/library/flux_models.py b/library/flux_models.py index 48dea4fc9..4721fa02e 100644 --- a/library/flux_models.py +++ b/library/flux_models.py @@ -1077,7 +1077,7 @@ def forward( def submit_move_blocks(blocks, block_idx_to_cpu, block_idx_to_cuda): def move_blocks(bidx_to_cpu, block_to_cpu, bidx_to_cuda, block_to_cuda): - start_time = time.perf_counter() + # start_time = time.perf_counter() # print(f"Moving {bidx_to_cpu} to cpu and {bidx_to_cuda} to cuda.") utils.swap_weight_devices(block_to_cpu, block_to_cuda) # print(f"Block move done. {bidx_to_cpu} to cpu, {bidx_to_cuda} to cuda.") @@ -1123,7 +1123,7 @@ def wait_for_blocks_move(block_idx, ftrs): if block_idx < self.single_blocks_to_swap: block_idx_to_cpu = block_idx - block_idx_to_cuda = self.num_single_blocks - self.blocks_to_swap + block_idx + block_idx_to_cuda = self.num_single_blocks - self.single_blocks_to_swap + block_idx future = submit_move_blocks(self.single_blocks, block_idx_to_cpu, block_idx_to_cuda) single_futures[block_idx_to_cuda] = future From b3248a8eefe066e6502b535a19501363ec352974 Mon Sep 17 00:00:00 2001 From: feffy380 <114889020+feffy380@users.noreply.github.com> Date: Thu, 7 Nov 2024 14:31:05 +0100 Subject: [PATCH 333/748] fix: sort order when getting image size from cache file --- library/train_util.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/train_util.py b/library/train_util.py index 18d3cf6c2..8b5cf214e 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -1887,7 +1887,7 @@ def load_dreambooth_dir(subset: DreamBoothSubset): # make image path to npz path mapping npz_paths = glob.glob(os.path.join(subset.image_dir, "*" + strategy.cache_suffix)) - npz_paths.sort() + npz_paths.sort(key=lambda item: item.rsplit("_", maxsplit=2)[0]) # sort by name excluding resolution and cache_suffix npz_path_index = 0 size_set_count = 0 From 8fac3c3b088699f607392694beee76bc0036c8d9 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sat, 9 Nov 2024 19:56:02 +0900 Subject: [PATCH 334/748] update README --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 87c810012..14328607e 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,10 @@ The command to install PyTorch is as follows: ### Recent Updates +Nov 9, 2024: + +- Fixed an issue where the image size could not be obtained when caching latents was enabled and a specific file name existed, causing the latent size to be incorrect. See PR [#1770](https://github.com/kohya-ss/sd-scripts/pull/1770) for details. Thanks to feffy380! + Nov 7, 2024: - The distribution of timesteps during SD3/3.5 training has been adjusted. This applies to both fine-tuning and LoRA training. PR [#1768](https://github.com/kohya-ss/sd-scripts/pull/1768) Thanks to Dango233! From 26bd4540a6cc7e62100f4901507d8fa0c5a7f78b Mon Sep 17 00:00:00 2001 From: sdbds <865105819@qq.com> Date: Mon, 11 Nov 2024 09:25:28 +0800 Subject: [PATCH 335/748] init --- library/train_util.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index 8b5cf214e..7f396d36e 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -1405,11 +1405,11 @@ def get_image_size(self, image_path): image_size = imagesize.get(image_path) if image_size[0] <= 0: # imagesize doesn't work for some images, so use cv2 - img = cv2.imread(image_path) - if img is not None: - image_size = (img.shape[1], img.shape[0]) - else: - logger.warning(f"failed to get image size: {image_path}") + try: + with Image.open(image_path) as img: + image_size = img.size + except Exception as e: + logger.warning(f"failed to get image size: {image_path}, error: {e}") image_size = (0, 0) return image_size From 02bd76e6c719ad85c108a177405846c5c958bd78 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Mon, 11 Nov 2024 21:15:36 +0900 Subject: [PATCH 336/748] Refactor block swapping to utilize custom offloading utilities --- flux_train.py | 228 ++++++++--------------------- library/custom_offloading_utils.py | 216 +++++++++++++++++++++++++++ library/flux_models.py | 113 ++------------ 3 files changed, 295 insertions(+), 262 deletions(-) create mode 100644 library/custom_offloading_utils.py diff --git a/flux_train.py b/flux_train.py index afddc897f..02dede45e 100644 --- a/flux_train.py +++ b/flux_train.py @@ -295,7 +295,7 @@ def train(args): # Swap blocks between CPU and GPU to reduce memory usage, in forward and backward passes. # This idea is based on 2kpr's great work. Thank you! logger.info(f"enable block swap: blocks_to_swap={args.blocks_to_swap}") - flux.enable_block_swap(args.blocks_to_swap) + flux.enable_block_swap(args.blocks_to_swap, accelerator.device) if not cache_latents: # load VAE here if not cached @@ -338,15 +338,15 @@ def train(args): # determine target layer and block index for each parameter block_type = "other" # double, single or other if np[0].startswith("double_blocks"): - block_idx = int(np[0].split(".")[1]) + block_index = int(np[0].split(".")[1]) block_type = "double" elif np[0].startswith("single_blocks"): - block_idx = int(np[0].split(".")[1]) + block_index = int(np[0].split(".")[1]) block_type = "single" else: - block_idx = -1 + block_index = -1 - param_group_key = (block_type, block_idx) + param_group_key = (block_type, block_index) if param_group_key not in param_group: param_group[param_group_key] = [] param_group[param_group_key].append(p) @@ -466,123 +466,21 @@ def train(args): # resumeする train_util.resume_from_local_or_hf_if_specified(accelerator, args) - # memory efficient block swapping - - def submit_move_blocks(futures, thread_pool, block_idx_to_cpu, block_idx_to_cuda, blocks, block_id): - def move_blocks(bidx_to_cpu, block_to_cpu, bidx_to_cuda, block_to_cuda): - # start_time = time.perf_counter() - # print(f"Backward: Move block {bidx_to_cpu} to CPU and block {bidx_to_cuda} to CUDA") - utils.swap_weight_devices(block_to_cpu, block_to_cuda) - # print(f"Backward: Moved blocks {bidx_to_cpu} and {bidx_to_cuda} in {time.perf_counter()-start_time:.2f}s") - return bidx_to_cpu, bidx_to_cuda # , event - - block_to_cpu = blocks[block_idx_to_cpu] - block_to_cuda = blocks[block_idx_to_cuda] - - futures[block_id] = thread_pool.submit(move_blocks, block_idx_to_cpu, block_to_cpu, block_idx_to_cuda, block_to_cuda) - - def wait_blocks_move(block_id, futures): - if block_id not in futures: - return - # print(f"Backward: Wait for block {block_id}") - # start_time = time.perf_counter() - future = futures.pop(block_id) - _, bidx_to_cuda = future.result() - assert block_id[1] == bidx_to_cuda, f"Block index mismatch: {block_id[1]} != {bidx_to_cuda}" - # print(f"Backward: Waited for block {block_id}: {time.perf_counter()-start_time:.2f}s") - # print(f"Backward: Synchronized: {time.perf_counter()-start_time:.2f}s") - if args.fused_backward_pass: # use fused optimizer for backward pass: other optimizers will be supported in the future import library.adafactor_fused library.adafactor_fused.patch_adafactor_fused(optimizer) - double_blocks_to_swap = args.blocks_to_swap // 2 - single_blocks_to_swap = (args.blocks_to_swap - double_blocks_to_swap) * 2 - num_double_blocks = len(accelerator.unwrap_model(flux).double_blocks) - num_single_blocks = len(accelerator.unwrap_model(flux).single_blocks) - handled_block_ids = set() - - n = 1 # only asynchronous purpose, no need to increase this number - # n = 2 - # n = max(1, os.cpu_count() // 2) - thread_pool = ThreadPoolExecutor(max_workers=n) - futures = {} - for param_group, param_name_group in zip(optimizer.param_groups, param_names): for parameter, param_name in zip(param_group["params"], param_name_group): if parameter.requires_grad: - grad_hook = None - - if double_blocks_to_swap > 0 or single_blocks_to_swap > 0: - is_double = param_name.startswith("double_blocks") - is_single = param_name.startswith("single_blocks") - if is_double and double_blocks_to_swap > 0 or is_single and single_blocks_to_swap > 0: - block_idx = int(param_name.split(".")[1]) - block_id = (is_double, block_idx) # double or single, block index - if block_id not in handled_block_ids: - # swap following (already backpropagated) block - handled_block_ids.add(block_id) - - # if n blocks were already backpropagated - if is_double: - num_blocks = num_double_blocks - blocks_to_swap = double_blocks_to_swap - else: - num_blocks = num_single_blocks - blocks_to_swap = single_blocks_to_swap - - # -1 for 0-based index, -1 for current block is not fully backpropagated yet - num_blocks_propagated = num_blocks - block_idx - 2 - swapping = num_blocks_propagated > 0 and num_blocks_propagated <= blocks_to_swap - waiting = block_idx > 0 and block_idx <= blocks_to_swap - - if swapping or waiting: - block_idx_to_cpu = num_blocks - num_blocks_propagated - block_idx_to_cuda = blocks_to_swap - num_blocks_propagated - block_idx_to_wait = block_idx - 1 - - # create swap hook - def create_swap_grad_hook( - is_dbl, bidx_to_cpu, bidx_to_cuda, bidx_to_wait, swpng: bool, wtng: bool - ): - def __grad_hook(tensor: torch.Tensor): - if accelerator.sync_gradients and args.max_grad_norm != 0.0: - accelerator.clip_grad_norm_(tensor, args.max_grad_norm) - optimizer.step_param(tensor, param_group) - tensor.grad = None - - # print( - # f"Backward: Block {is_dbl}, {bidx_to_cpu}, {bidx_to_cuda}, {bidx_to_wait}, {swpng}, {wtng}" - # ) - if swpng: - submit_move_blocks( - futures, - thread_pool, - bidx_to_cpu, - bidx_to_cuda, - flux.double_blocks if is_dbl else flux.single_blocks, - (is_dbl, bidx_to_cuda), # wait for this block - ) - if wtng: - wait_blocks_move((is_dbl, bidx_to_wait), futures) - - return __grad_hook - - grad_hook = create_swap_grad_hook( - is_double, block_idx_to_cpu, block_idx_to_cuda, block_idx_to_wait, swapping, waiting - ) - - if grad_hook is None: - - def __grad_hook(tensor: torch.Tensor, param_group=param_group): - if accelerator.sync_gradients and args.max_grad_norm != 0.0: - accelerator.clip_grad_norm_(tensor, args.max_grad_norm) - optimizer.step_param(tensor, param_group) - tensor.grad = None - grad_hook = __grad_hook + def grad_hook(tensor: torch.Tensor, param_group=param_group): + if accelerator.sync_gradients and args.max_grad_norm != 0.0: + accelerator.clip_grad_norm_(tensor, args.max_grad_norm) + optimizer.step_param(tensor, param_group) + tensor.grad = None parameter.register_post_accumulate_grad_hook(grad_hook) @@ -601,66 +499,66 @@ def __grad_hook(tensor: torch.Tensor, param_group=param_group): num_parameters_per_group = [0] * len(optimizers) parameter_optimizer_map = {} - blocks_to_swap = args.blocks_to_swap - num_double_blocks = len(accelerator.unwrap_model(flux).double_blocks) - num_single_blocks = len(accelerator.unwrap_model(flux).single_blocks) - num_block_units = num_double_blocks + num_single_blocks // 2 - - n = 1 # only asynchronous purpose, no need to increase this number - # n = max(1, os.cpu_count() // 2) - thread_pool = ThreadPoolExecutor(max_workers=n) - futures = {} - for opt_idx, optimizer in enumerate(optimizers): for param_group in optimizer.param_groups: for parameter in param_group["params"]: if parameter.requires_grad: - block_type, block_idx = block_types_and_indices[opt_idx] - - def create_optimizer_hook(btype, bidx): - def optimizer_hook(parameter: torch.Tensor): - # print(f"optimizer_hook: {btype}, {bidx}") - if accelerator.sync_gradients and args.max_grad_norm != 0.0: - accelerator.clip_grad_norm_(parameter, args.max_grad_norm) - - i = parameter_optimizer_map[parameter] - optimizer_hooked_count[i] += 1 - if optimizer_hooked_count[i] == num_parameters_per_group[i]: - optimizers[i].step() - optimizers[i].zero_grad(set_to_none=True) - - # swap blocks if necessary - if blocks_to_swap and (btype == "double" or (btype == "single" and bidx % 2 == 0)): - unit_idx = bidx if btype == "double" else num_double_blocks + bidx // 2 - num_blocks_propagated = num_block_units - unit_idx - - swapping = num_blocks_propagated > 0 and num_blocks_propagated <= blocks_to_swap - waiting = unit_idx > 0 and unit_idx <= blocks_to_swap - - if swapping: - block_idx_to_cpu = num_block_units - num_blocks_propagated - block_idx_to_cuda = blocks_to_swap - num_blocks_propagated - # print(f"Backward: Swap blocks {block_idx_to_cpu} and {block_idx_to_cuda}") - submit_move_blocks( - futures, - thread_pool, - block_idx_to_cpu, - block_idx_to_cuda, - flux.double_blocks, - flux.single_blocks, - accelerator.device, - ) - - if waiting: - block_idx_to_wait = unit_idx - 1 - wait_blocks_move(block_idx_to_wait, futures) - - return optimizer_hook - - parameter.register_post_accumulate_grad_hook(create_optimizer_hook(block_type, block_idx)) + + def grad_hook(parameter: torch.Tensor): + if accelerator.sync_gradients and args.max_grad_norm != 0.0: + accelerator.clip_grad_norm_(parameter, args.max_grad_norm) + + i = parameter_optimizer_map[parameter] + optimizer_hooked_count[i] += 1 + if optimizer_hooked_count[i] == num_parameters_per_group[i]: + optimizers[i].step() + optimizers[i].zero_grad(set_to_none=True) + + parameter.register_post_accumulate_grad_hook(grad_hook) parameter_optimizer_map[parameter] = opt_idx num_parameters_per_group[opt_idx] += 1 + # add hooks for block swapping: this hook is called after fused_backward_pass hook or blockwise_fused_optimizers hook + if is_swapping_blocks: + import library.custom_offloading_utils as custom_offloading_utils + + num_double_blocks = len(accelerator.unwrap_model(flux).double_blocks) + num_single_blocks = len(accelerator.unwrap_model(flux).single_blocks) + double_blocks_to_swap = args.blocks_to_swap // 2 + single_blocks_to_swap = (args.blocks_to_swap - double_blocks_to_swap) * 2 + + offloader_double = custom_offloading_utils.TrainOffloader(num_double_blocks, double_blocks_to_swap, accelerator.device) + offloader_single = custom_offloading_utils.TrainOffloader(num_single_blocks, single_blocks_to_swap, accelerator.device) + + param_name_pairs = [] + if not args.blockwise_fused_optimizers: + for param_group, param_name_group in zip(optimizer.param_groups, param_names): + param_name_pairs.extend(zip(param_group["params"], param_name_group)) + else: + # named_parameters is a list of (name, parameter) pairs + param_name_pairs.extend([(p, n) for n, p in flux.named_parameters()]) + + for parameter, param_name in param_name_pairs: + if not parameter.requires_grad: + continue + + is_double = param_name.startswith("double_blocks") + is_single = param_name.startswith("single_blocks") + if not is_double and not is_single: + continue + + block_index = int(param_name.split(".")[1]) + if is_double: + blocks = flux.double_blocks + offloader = offloader_double + else: + blocks = flux.single_blocks + offloader = offloader_single + + grad_hook = offloader.create_grad_hook(blocks, block_index) + if grad_hook is not None: + parameter.register_post_accumulate_grad_hook(grad_hook) + # epoch数を計算する num_update_steps_per_epoch = math.ceil(len(train_dataloader) / args.gradient_accumulation_steps) num_train_epochs = math.ceil(args.max_train_steps / num_update_steps_per_epoch) diff --git a/library/custom_offloading_utils.py b/library/custom_offloading_utils.py new file mode 100644 index 000000000..33a413004 --- /dev/null +++ b/library/custom_offloading_utils.py @@ -0,0 +1,216 @@ +from concurrent.futures import ThreadPoolExecutor +import time +from typing import Optional +import torch +import torch.nn as nn + +from library.device_utils import clean_memory_on_device + + +def synchronize_device(device: torch.device): + if device.type == "cuda": + torch.cuda.synchronize() + elif device.type == "xpu": + torch.xpu.synchronize() + elif device.type == "mps": + torch.mps.synchronize() + + +def swap_weight_devices(layer_to_cpu: nn.Module, layer_to_cuda: nn.Module): + assert layer_to_cpu.__class__ == layer_to_cuda.__class__ + + weight_swap_jobs = [] + for module_to_cpu, module_to_cuda in zip(layer_to_cpu.modules(), layer_to_cuda.modules()): + if hasattr(module_to_cpu, "weight") and module_to_cpu.weight is not None: + weight_swap_jobs.append((module_to_cpu, module_to_cuda, module_to_cpu.weight.data, module_to_cuda.weight.data)) + + torch.cuda.current_stream().synchronize() # this prevents the illegal loss value + + stream = torch.cuda.Stream() + with torch.cuda.stream(stream): + # cuda to cpu + for module_to_cpu, module_to_cuda, cuda_data_view, cpu_data_view in weight_swap_jobs: + cuda_data_view.record_stream(stream) + module_to_cpu.weight.data = cuda_data_view.data.to("cpu", non_blocking=True) + + stream.synchronize() + + # cpu to cuda + for module_to_cpu, module_to_cuda, cuda_data_view, cpu_data_view in weight_swap_jobs: + cuda_data_view.copy_(module_to_cuda.weight.data, non_blocking=True) + module_to_cuda.weight.data = cuda_data_view + + stream.synchronize() + torch.cuda.current_stream().synchronize() # this prevents the illegal loss value + + +def swap_weight_devices_no_cuda(device: torch.device, layer_to_cpu: nn.Module, layer_to_cuda: nn.Module): + """ + not tested + """ + assert layer_to_cpu.__class__ == layer_to_cuda.__class__ + + weight_swap_jobs = [] + for module_to_cpu, module_to_cuda in zip(layer_to_cpu.modules(), layer_to_cuda.modules()): + if hasattr(module_to_cpu, "weight") and module_to_cpu.weight is not None: + weight_swap_jobs.append((module_to_cpu, module_to_cuda, module_to_cpu.weight.data, module_to_cuda.weight.data)) + + # device to cpu + for module_to_cpu, module_to_cuda, cuda_data_view, cpu_data_view in weight_swap_jobs: + module_to_cpu.weight.data = cuda_data_view.data.to("cpu", non_blocking=True) + + synchronize_device() + + # cpu to device + for module_to_cpu, module_to_cuda, cuda_data_view, cpu_data_view in weight_swap_jobs: + cuda_data_view.copy_(module_to_cuda.weight.data, non_blocking=True) + module_to_cuda.weight.data = cuda_data_view + + synchronize_device() + + +def weighs_to_device(layer: nn.Module, device: torch.device): + for module in layer.modules(): + if hasattr(module, "weight") and module.weight is not None: + module.weight.data = module.weight.data.to(device, non_blocking=True) + + +class Offloader: + """ + common offloading class + """ + + def __init__(self, num_blocks: int, blocks_to_swap: int, device: torch.device, debug: bool = False): + self.num_blocks = num_blocks + self.blocks_to_swap = blocks_to_swap + self.device = device + self.debug = debug + + self.thread_pool = ThreadPoolExecutor(max_workers=1) + self.futures = {} + self.cuda_available = device.type == "cuda" + + def swap_weight_devices(self, block_to_cpu: nn.Module, block_to_cuda: nn.Module): + if self.cuda_available: + swap_weight_devices(block_to_cpu, block_to_cuda) + else: + swap_weight_devices_no_cuda(self.device, block_to_cpu, block_to_cuda) + + def _submit_move_blocks(self, blocks, block_idx_to_cpu, block_idx_to_cuda): + def move_blocks(bidx_to_cpu, block_to_cpu, bidx_to_cuda, block_to_cuda): + if self.debug: + start_time = time.perf_counter() + print(f"Move block {bidx_to_cpu} to CPU and block {bidx_to_cuda} to {'CUDA' if self.cuda_available else 'device'}") + + self.swap_weight_devices(block_to_cpu, block_to_cuda) + + if self.debug: + print(f"Moved blocks {bidx_to_cpu} and {bidx_to_cuda} in {time.perf_counter()-start_time:.2f}s") + return bidx_to_cpu, bidx_to_cuda # , event + + block_to_cpu = blocks[block_idx_to_cpu] + block_to_cuda = blocks[block_idx_to_cuda] + + self.futures[block_idx_to_cuda] = self.thread_pool.submit( + move_blocks, block_idx_to_cpu, block_to_cpu, block_idx_to_cuda, block_to_cuda + ) + + def _wait_blocks_move(self, block_idx): + if block_idx not in self.futures: + return + + if self.debug: + print(f"Wait for block {block_idx}") + start_time = time.perf_counter() + + future = self.futures.pop(block_idx) + _, bidx_to_cuda = future.result() + + assert block_idx == bidx_to_cuda, f"Block index mismatch: {block_idx} != {bidx_to_cuda}" + + if self.debug: + print(f"Waited for block {block_idx}: {time.perf_counter()-start_time:.2f}s") + + +class TrainOffloader(Offloader): + """ + supports backward offloading + """ + + def __init__(self, num_blocks: int, blocks_to_swap: int, device: torch.device, debug: bool = False): + super().__init__(num_blocks, blocks_to_swap, device, debug) + self.hook_added = set() + + def create_grad_hook(self, blocks: list[nn.Module], block_index: int) -> Optional[callable]: + if block_index in self.hook_added: + return None + self.hook_added.add(block_index) + + # -1 for 0-based index, -1 for current block is not fully backpropagated yet + num_blocks_propagated = self.num_blocks - block_index - 2 + swapping = num_blocks_propagated > 0 and num_blocks_propagated <= self.blocks_to_swap + waiting = block_index > 0 and block_index <= self.blocks_to_swap + + if not swapping and not waiting: + return None + + # create hook + block_idx_to_cpu = self.num_blocks - num_blocks_propagated + block_idx_to_cuda = self.blocks_to_swap - num_blocks_propagated + block_idx_to_wait = block_index - 1 + + if self.debug: + print( + f"Backward: Created grad hook for block {block_index} with {block_idx_to_cpu}, {block_idx_to_cuda}, {block_idx_to_wait}" + ) + if swapping: + + def grad_hook(tensor: torch.Tensor): + self._submit_move_blocks(blocks, block_idx_to_cpu, block_idx_to_cuda) + + return grad_hook + + else: + + def grad_hook(tensor: torch.Tensor): + self._wait_blocks_move(block_idx_to_wait) + + return grad_hook + + +class ModelOffloader(Offloader): + """ + supports forward offloading + """ + + def __init__(self, num_blocks: int, blocks_to_swap: int, device: torch.device, debug: bool = False): + super().__init__(num_blocks, blocks_to_swap, device, debug) + + def prepare_block_devices_before_forward(self, blocks: list[nn.Module]): + if self.blocks_to_swap is None or self.blocks_to_swap == 0: + return + + for b in blocks[0 : self.num_blocks - self.blocks_to_swap]: + b.to(self.device) + weighs_to_device(b, self.device) # make sure weights are on device + + for b in blocks[self.num_blocks - self.blocks_to_swap :]: + b.to(self.device) # move block to device first + weighs_to_device(b, "cpu") # make sure weights are on cpu + + synchronize_device(self.device) + clean_memory_on_device(self.device) + + def wait_for_block(self, block_idx: int): + if self.blocks_to_swap is None or self.blocks_to_swap == 0: + return + self._wait_blocks_move(block_idx) + + def submit_move_blocks(self, blocks: list[nn.Module], block_idx: int): + if self.blocks_to_swap is None or self.blocks_to_swap == 0: + return + if block_idx >= self.blocks_to_swap: + return + block_idx_to_cpu = block_idx + block_idx_to_cuda = self.num_blocks - self.blocks_to_swap + block_idx + self._submit_move_blocks(blocks, block_idx_to_cpu, block_idx_to_cuda) diff --git a/library/flux_models.py b/library/flux_models.py index 4721fa02e..e0bee160f 100644 --- a/library/flux_models.py +++ b/library/flux_models.py @@ -18,6 +18,7 @@ from einops import rearrange from torch import Tensor, nn from torch.utils.checkpoint import checkpoint +from library import custom_offloading_utils # USE_REENTRANT = True @@ -923,7 +924,8 @@ def __init__(self, params: FluxParams): self.cpu_offload_checkpointing = False self.blocks_to_swap = None - self.thread_pool: Optional[ThreadPoolExecutor] = None + self.offloader_double = None + self.offloader_single = None self.num_double_blocks = len(self.double_blocks) self.num_single_blocks = len(self.single_blocks) @@ -963,17 +965,17 @@ def disable_gradient_checkpointing(self): print("FLUX: Gradient checkpointing disabled.") - def enable_block_swap(self, num_blocks: int): + def enable_block_swap(self, num_blocks: int, device: torch.device): self.blocks_to_swap = num_blocks - self.double_blocks_to_swap = num_blocks // 2 - self.single_blocks_to_swap = (num_blocks - self.double_blocks_to_swap) * 2 + double_blocks_to_swap = num_blocks // 2 + single_blocks_to_swap = (num_blocks - double_blocks_to_swap) * 2 + + self.offloader_double = custom_offloading_utils.ModelOffloader(self.num_double_blocks, double_blocks_to_swap, device) + self.offloader_single = custom_offloading_utils.ModelOffloader(self.num_single_blocks, single_blocks_to_swap, device) print( - f"FLUX: Block swap enabled. Swapping {num_blocks} blocks, double blocks: {self.double_blocks_to_swap}, single blocks: {self.single_blocks_to_swap}." + f"FLUX: Block swap enabled. Swapping {num_blocks} blocks, double blocks: {double_blocks_to_swap}, single blocks: {single_blocks_to_swap}." ) - n = 1 # async block swap. 1 is enough - self.thread_pool = ThreadPoolExecutor(max_workers=n) - def move_to_device_except_swap_blocks(self, device: torch.device): # assume model is on cpu. do not move blocks to device to reduce temporary memory usage if self.blocks_to_swap: @@ -988,56 +990,11 @@ def move_to_device_except_swap_blocks(self, device: torch.device): self.double_blocks = save_double_blocks self.single_blocks = save_single_blocks - # def get_block_unit(self, index: int): - # if index < len(self.double_blocks): - # return (self.double_blocks[index],) - # else: - # index -= len(self.double_blocks) - # index *= 2 - # return self.single_blocks[index], self.single_blocks[index + 1] - - # def get_unit_index(self, is_double: bool, index: int): - # if is_double: - # return index - # else: - # return len(self.double_blocks) + index // 2 - def prepare_block_swap_before_forward(self): - # # make: first n blocks are on cuda, and last n blocks are on cpu - # if self.blocks_to_swap is None or self.blocks_to_swap == 0: - # # raise ValueError("Block swap is not enabled.") - # return - # for i in range(self.num_block_units - self.blocks_to_swap): - # for b in self.get_block_unit(i): - # b.to(self.device) - # for i in range(self.num_block_units - self.blocks_to_swap, self.num_block_units): - # for b in self.get_block_unit(i): - # b.to("cpu") - # clean_memory_on_device(self.device) - - # all blocks are on device, but some weights are on cpu - # make first n blocks weights on device, and last n blocks weights on cpu if self.blocks_to_swap is None or self.blocks_to_swap == 0: - # raise ValueError("Block swap is not enabled.") return - - for b in self.double_blocks[0 : self.num_double_blocks - self.double_blocks_to_swap]: - b.to(self.device) - utils.weighs_to_device(b, self.device) # make sure weights are on device - for b in self.double_blocks[self.num_double_blocks - self.double_blocks_to_swap :]: - b.to(self.device) # move block to device first - utils.weighs_to_device(b, "cpu") # make sure weights are on cpu - torch.cuda.synchronize() - clean_memory_on_device(self.device) - - for b in self.single_blocks[0 : self.num_single_blocks - self.single_blocks_to_swap]: - b.to(self.device) - utils.weighs_to_device(b, self.device) # make sure weights are on device - for b in self.single_blocks[self.num_single_blocks - self.single_blocks_to_swap :]: - b.to(self.device) # move block to device first - utils.weighs_to_device(b, "cpu") # make sure weights are on cpu - torch.cuda.synchronize() - clean_memory_on_device(self.device) + self.offloader_double.prepare_block_devices_before_forward(self.double_blocks) + self.offloader_single.prepare_block_devices_before_forward(self.single_blocks) def forward( self, @@ -1073,59 +1030,21 @@ def forward( for block in self.single_blocks: img = block(img, vec=vec, pe=pe, txt_attention_mask=txt_attention_mask) else: - # device = self.device - - def submit_move_blocks(blocks, block_idx_to_cpu, block_idx_to_cuda): - def move_blocks(bidx_to_cpu, block_to_cpu, bidx_to_cuda, block_to_cuda): - # start_time = time.perf_counter() - # print(f"Moving {bidx_to_cpu} to cpu and {bidx_to_cuda} to cuda.") - utils.swap_weight_devices(block_to_cpu, block_to_cuda) - # print(f"Block move done. {bidx_to_cpu} to cpu, {bidx_to_cuda} to cuda.") - - # print(f"Move blocks took {time.perf_counter() - start_time:.2f} seconds") - return block_idx_to_cpu, block_idx_to_cuda # , event - - block_to_cpu = blocks[block_idx_to_cpu] - block_to_cuda = blocks[block_idx_to_cuda] - # print(f"Submit move blocks. {block_idx_to_cpu} to cpu, {block_idx_to_cuda} to cuda.") - return self.thread_pool.submit(move_blocks, block_idx_to_cpu, block_to_cpu, block_idx_to_cuda, block_to_cuda) - - def wait_for_blocks_move(block_idx, ftrs): - if block_idx not in ftrs: - return - # print(f"Waiting for move blocks: {block_idx}") - # start_time = time.perf_counter() - ftr = ftrs.pop(block_idx) - ftr.result() - # print(f"{block_idx} move blocks took {time.perf_counter() - start_time:.2f} seconds") - - double_futures = {} for block_idx, block in enumerate(self.double_blocks): - # print(f"Double block {block_idx}") - wait_for_blocks_move(block_idx, double_futures) + self.offloader_double.wait_for_block(block_idx) img, txt = block(img=img, txt=txt, vec=vec, pe=pe, txt_attention_mask=txt_attention_mask) - if block_idx < self.double_blocks_to_swap: - block_idx_to_cpu = block_idx - block_idx_to_cuda = self.num_double_blocks - self.double_blocks_to_swap + block_idx - future = submit_move_blocks(self.double_blocks, block_idx_to_cpu, block_idx_to_cuda) - double_futures[block_idx_to_cuda] = future + self.offloader_double.submit_move_blocks(self.double_blocks, block_idx) img = torch.cat((txt, img), 1) - single_futures = {} for block_idx, block in enumerate(self.single_blocks): - # print(f"Single block {block_idx}") - wait_for_blocks_move(block_idx, single_futures) + self.offloader_single.wait_for_block(block_idx) img = block(img, vec=vec, pe=pe, txt_attention_mask=txt_attention_mask) - if block_idx < self.single_blocks_to_swap: - block_idx_to_cpu = block_idx - block_idx_to_cuda = self.num_single_blocks - self.single_blocks_to_swap + block_idx - future = submit_move_blocks(self.single_blocks, block_idx_to_cpu, block_idx_to_cuda) - single_futures[block_idx_to_cuda] = future + self.offloader_single.submit_move_blocks(self.single_blocks, block_idx) img = img[:, txt.shape[1] :, ...] From 3fe94b058a039b69b6b178bc086e200e40bfa887 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Tue, 12 Nov 2024 08:09:07 +0900 Subject: [PATCH 337/748] update comment --- library/train_util.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/train_util.py b/library/train_util.py index 7f396d36e..a5d6fdd21 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -1404,7 +1404,7 @@ def get_image_size(self, image_path): # return imagesize.get(image_path) image_size = imagesize.get(image_path) if image_size[0] <= 0: - # imagesize doesn't work for some images, so use cv2 + # imagesize doesn't work for some images, so use PIL as a fallback try: with Image.open(image_path) as img: image_size = img.size From cde90b8903870b6b28dae274d07ed27978055e3c Mon Sep 17 00:00:00 2001 From: Kohya S Date: Tue, 12 Nov 2024 08:49:05 +0900 Subject: [PATCH 338/748] feat: implement block swapping for FLUX.1 LoRA (WIP) --- flux_train.py | 2 +- flux_train_network.py | 33 ++++++++++++++++++++++++ library/custom_offloading_utils.py | 40 +++++++++++++++++++++++++++++- library/flux_models.py | 8 ++++-- train_network.py | 9 ++++++- 5 files changed, 87 insertions(+), 5 deletions(-) diff --git a/flux_train.py b/flux_train.py index 02dede45e..346fe8fbd 100644 --- a/flux_train.py +++ b/flux_train.py @@ -519,7 +519,7 @@ def grad_hook(parameter: torch.Tensor): num_parameters_per_group[opt_idx] += 1 # add hooks for block swapping: this hook is called after fused_backward_pass hook or blockwise_fused_optimizers hook - if is_swapping_blocks: + if False: # is_swapping_blocks: import library.custom_offloading_utils as custom_offloading_utils num_double_blocks = len(accelerator.unwrap_model(flux).double_blocks) diff --git a/flux_train_network.py b/flux_train_network.py index 2b71a8979..376cc1597 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -25,6 +25,7 @@ def __init__(self): super().__init__() self.sample_prompts_te_outputs = None self.is_schnell: Optional[bool] = None + self.is_swapping_blocks: bool = False def assert_extra_args(self, args, train_dataset_group): super().assert_extra_args(args, train_dataset_group) @@ -78,6 +79,12 @@ def load_target_model(self, args, weight_dtype, accelerator): if args.split_mode: model = self.prepare_split_model(model, weight_dtype, accelerator) + self.is_swapping_blocks = args.blocks_to_swap is not None and args.blocks_to_swap > 0 + if self.is_swapping_blocks: + # Swap blocks between CPU and GPU to reduce memory usage, in forward and backward passes. + logger.info(f"enable block swap: blocks_to_swap={args.blocks_to_swap}") + model.enable_block_swap(args.blocks_to_swap, accelerator.device) + clip_l = flux_utils.load_clip_l(args.clip_l, weight_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors) clip_l.eval() @@ -285,6 +292,8 @@ def sample_images(self, accelerator, args, epoch, global_step, device, ae, token text_encoders = self.get_models_for_text_encoding(args, accelerator, text_encoders) if not args.split_mode: + if self.is_swapping_blocks: + accelerator.unwrap_model(flux).prepare_block_swap_before_forward() flux_train_utils.sample_images( accelerator, args, epoch, global_step, flux, ae, text_encoders, self.sample_prompts_te_outputs ) @@ -539,6 +548,19 @@ def forward(hidden_states): text_encoder.to(te_weight_dtype) # fp8 prepare_fp8(text_encoder, weight_dtype) + def prepare_unet_with_accelerator( + self, args: argparse.Namespace, accelerator: Accelerator, unet: torch.nn.Module + ) -> torch.nn.Module: + if not self.is_swapping_blocks: + return super().prepare_unet_with_accelerator(args, accelerator, unet) + + # if we doesn't swap blocks, we can move the model to device + flux: flux_models.Flux = unet + flux = accelerator.prepare(flux, device_placement=[not self.is_swapping_blocks]) + accelerator.unwrap_model(flux).move_to_device_except_swap_blocks(accelerator.device) # reduce peak memory usage + + return flux + def setup_parser() -> argparse.ArgumentParser: parser = train_network.setup_parser() @@ -550,6 +572,17 @@ def setup_parser() -> argparse.ArgumentParser: help="[EXPERIMENTAL] use split mode for Flux model, network arg `train_blocks=single` is required" + "/[実験的] Fluxモデルの分割モードを使用する。ネットワーク引数`train_blocks=single`が必要", ) + + parser.add_argument( + "--blocks_to_swap", + type=int, + default=None, + help="[EXPERIMENTAL] " + "Sets the number of blocks to swap during the forward and backward passes." + "Increasing this number lowers the overall VRAM used during training at the expense of training speed (s/it)." + " / 順伝播および逆伝播中にスワップするブロックの数を設定します。" + "この数を増やすと、トレーニング中のVRAM使用量が減りますが、トレーニング速度(s/it)も低下します。", + ) return parser diff --git a/library/custom_offloading_utils.py b/library/custom_offloading_utils.py index 33a413004..70da93902 100644 --- a/library/custom_offloading_utils.py +++ b/library/custom_offloading_utils.py @@ -183,9 +183,47 @@ class ModelOffloader(Offloader): supports forward offloading """ - def __init__(self, num_blocks: int, blocks_to_swap: int, device: torch.device, debug: bool = False): + def __init__(self, blocks: list[nn.Module], num_blocks: int, blocks_to_swap: int, device: torch.device, debug: bool = False): super().__init__(num_blocks, blocks_to_swap, device, debug) + # register backward hooks + self.remove_handles = [] + for i, block in enumerate(blocks): + hook = self.create_backward_hook(blocks, i) + if hook is not None: + handle = block.register_full_backward_hook(hook) + self.remove_handles.append(handle) + + def __del__(self): + for handle in self.remove_handles: + handle.remove() + + def create_backward_hook(self, blocks: list[nn.Module], block_index: int) -> Optional[callable]: + # -1 for 0-based index + num_blocks_propagated = self.num_blocks - block_index - 1 + swapping = num_blocks_propagated > 0 and num_blocks_propagated <= self.blocks_to_swap + waiting = block_index > 0 and block_index <= self.blocks_to_swap + + if not swapping and not waiting: + return None + + # create hook + block_idx_to_cpu = self.num_blocks - num_blocks_propagated + block_idx_to_cuda = self.blocks_to_swap - num_blocks_propagated + block_idx_to_wait = block_index - 1 + + def backward_hook(module, grad_input, grad_output): + if self.debug: + print(f"Backward hook for block {block_index}") + + if swapping: + self._submit_move_blocks(blocks, block_idx_to_cpu, block_idx_to_cuda) + if waiting: + self._wait_blocks_move(block_idx_to_wait) + return None + + return backward_hook + def prepare_block_devices_before_forward(self, blocks: list[nn.Module]): if self.blocks_to_swap is None or self.blocks_to_swap == 0: return diff --git a/library/flux_models.py b/library/flux_models.py index e0bee160f..4fa272522 100644 --- a/library/flux_models.py +++ b/library/flux_models.py @@ -970,8 +970,12 @@ def enable_block_swap(self, num_blocks: int, device: torch.device): double_blocks_to_swap = num_blocks // 2 single_blocks_to_swap = (num_blocks - double_blocks_to_swap) * 2 - self.offloader_double = custom_offloading_utils.ModelOffloader(self.num_double_blocks, double_blocks_to_swap, device) - self.offloader_single = custom_offloading_utils.ModelOffloader(self.num_single_blocks, single_blocks_to_swap, device) + self.offloader_double = custom_offloading_utils.ModelOffloader( + self.double_blocks, self.num_double_blocks, double_blocks_to_swap, device #, debug=True + ) + self.offloader_single = custom_offloading_utils.ModelOffloader( + self.single_blocks, self.num_single_blocks, single_blocks_to_swap, device #, debug=True + ) print( f"FLUX: Block swap enabled. Swapping {num_blocks} blocks, double blocks: {double_blocks_to_swap}, single blocks: {single_blocks_to_swap}." ) diff --git a/train_network.py b/train_network.py index b90aa420e..d70f14ad3 100644 --- a/train_network.py +++ b/train_network.py @@ -18,6 +18,7 @@ init_ipex() from accelerate.utils import set_seed +from accelerate import Accelerator from diffusers import DDPMScheduler from library import deepspeed_utils, model_util, strategy_base, strategy_sd @@ -272,6 +273,11 @@ def prepare_text_encoder_grad_ckpt_workaround(self, index, text_encoder): def prepare_text_encoder_fp8(self, index, text_encoder, te_weight_dtype, weight_dtype): text_encoder.text_model.embeddings.to(dtype=weight_dtype) + def prepare_unet_with_accelerator( + self, args: argparse.Namespace, accelerator: Accelerator, unet: torch.nn.Module + ) -> torch.nn.Module: + return accelerator.prepare(unet) + def on_step_start(self, args, accelerator, network, text_encoders, unet, batch, weight_dtype): pass @@ -627,7 +633,8 @@ def train(self, args): training_model = ds_model else: if train_unet: - unet = accelerator.prepare(unet) + # default implementation is: unet = accelerator.prepare(unet) + unet = self.prepare_unet_with_accelerator(args, accelerator, unet) # accelerator does some magic here else: unet.to(accelerator.device, dtype=unet_weight_dtype) # move to device because unet is not prepared by accelerator if train_text_encoder: From 2cb7a6db02ae001355f4830581b9fc2ffffe01c6 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Tue, 12 Nov 2024 21:39:13 +0900 Subject: [PATCH 339/748] feat: add block swap for FLUX.1/SD3 LoRA training --- README.md | 212 ++++++---------------------- flux_train.py | 56 +------- flux_train_network.py | 95 +++++++------ library/custom_offloading_utils.py | 75 ++++------ library/flux_models.py | 19 ++- library/flux_train_utils.py | 48 +------ library/sd3_models.py | 71 +++------- library/sd3_train_utils.py | 49 +------ library/train_util.py | 74 +++++++++- sd3_train.py | 186 +++--------------------- sd3_train_network.py | 30 ++++ tools/cache_latents.py | 1 + tools/cache_text_encoder_outputs.py | 1 + train_network.py | 6 +- 14 files changed, 291 insertions(+), 632 deletions(-) diff --git a/README.md b/README.md index 14328607e..1e63b5830 100644 --- a/README.md +++ b/README.md @@ -14,150 +14,11 @@ The command to install PyTorch is as follows: ### Recent Updates -Nov 9, 2024: +Nov 12, 2024: -- Fixed an issue where the image size could not be obtained when caching latents was enabled and a specific file name existed, causing the latent size to be incorrect. See PR [#1770](https://github.com/kohya-ss/sd-scripts/pull/1770) for details. Thanks to feffy380! - -Nov 7, 2024: - -- The distribution of timesteps during SD3/3.5 training has been adjusted. This applies to both fine-tuning and LoRA training. PR [#1768](https://github.com/kohya-ss/sd-scripts/pull/1768) Thanks to Dango233! - - Previously, the side closer to noise was more sampled, but now it is uniform by default. This may improve the problem of difficulty in learning details. - - Specifically, the problem of double shifting has been fixed. The default for `--weighting_scheme` has been changed to `uniform` (the previous default was `logit_normal`). - - A new option `--training_shift` has been added. The default is 1.0, and all timesteps are sampled uniformly. If less than 1.0, the side closer to the image is more sampled (training more on image details), and if more than 1.0, the side closer to noise is more sampled (training more on overall structure). - - The effect of a shift in uniform distribution is shown in the figure below. - - ![Figure_1](https://github.com/user-attachments/assets/99a72c67-adfb-4440-81d4-a718985ff350) - -Oct 31, 2024: - -- Added support for SD3.5L/M training. See [SD3 training](#sd3-training) for details. - -Oct 19, 2024: - -- Added an implementation of Differential Output Preservation (temporary name) for SDXL/FLUX.1 LoRA training. SD1/2 is not tested yet. This is an experimental feature. - - A method to make the output of LoRA closer to the output when LoRA is not applied, with captions that do not contain trigger words. - - Define a Dataset subset for the regularization image (`is_reg = true`) with `.toml`. Add `custom_attributes.diff_output_preservation = true`. - - See [dataset configuration](docs/config_README-en.md) for the regularization dataset. - - Specify "number of training images x number of repeats >= number of regularization images x number of repeats". - - The weights of DOP is specified by `--prior_loss_weight` option (not dataset config). - - The appropriate value is still unknown. For FLUX, according to the comments in the [PR](https://github.com/kohya-ss/sd-scripts/pull/1710), the value may be 1 (thanks to dxqbYD!). For SDXL, a larger value may be needed (10-100 may be good starting points). - - It may be good to adjust the value so that the loss is about half to three-quarters of the loss when DOP is not applied. -``` -[[datasets.subsets]] -image_dir = "path/to/image/dir" -num_repeats = 1 -is_reg = true -custom_attributes.diff_output_preservation = true # Add this -``` - - -Oct 13, 2024: - -- Fixed an issue where it took a long time to load the image size when initializing the dataset, especially when the number of images in the dataset was large. - -- During multi-GPU training, caching of latents and Text Encoder outputs is now done in multi-GPU. - - Please make sure that `--highvram` and `--vae_batch_size` are specified correctly. If you have enough VRAM, you can increase the batch size to speed up the caching. - - `--text_encoder_batch_size` option is enabled for FLUX.1 LoRA training and fine tuning. This option specifies the batch size for caching Text Encoder outputs (not for training). The default is same as the dataset batch size. If you have enough VRAM, you can increase the batch size to speed up the caching. - - Multi-threading is also implemented for caching of latents. This may speed up the caching process about 5% (depends on the environment). - - `tools/cache_latents.py` and `tools/cache_text_encoder_outputs.py` also have been updated to support multi-GPU caching. -- `--skip_cache_check` option is added to each training script. - - When specified, the consistency check of the cache file `*.npz` contents (e.g., image size and flip for latents, mask for Text Encoder outputs) is skipped. - - Specify this option if you have a large number of cache files and the consistency check takes time. - - Even if this option is specified, the cache will be created if the file does not exist. - - `--skip_latents_validity_check` in SD3/FLUX.1 is deprecated. Please use `--skip_cache_check` instead. - -Oct 12, 2024 (update 1): - -- [Experimental] FLUX.1 fine-tuning and LoRA training now support "FLUX.1 __compact__" models. - - A compact model is a model that retains the FLUX.1 architecture but reduces the number of double/single blocks from the default 19/38. - - The model is automatically determined based on the keys in *.safetensors. - - Specifications for compact model safetensors: - - Please specify the block indices as consecutive numbers. An error will occur if there are missing numbers. For example, if you reduce the double blocks to 15, the maximum key will be `double_blocks.14.*`. The same applies to single blocks. - - LoRA training is unverified. - - The trained model can be used for inference with `flux_minimal_inference.py`. Other inference environments are unverified. - -Oct 12, 2024: - -- Multi-GPU training now works on Windows. Thanks to Akegarasu for PR [#1686](https://github.com/kohya-ss/sd-scripts/pull/1686)! - - In simple tests, SDXL and FLUX.1 LoRA training worked. FLUX.1 fine-tuning did not work, probably due to a PyTorch-related error. Other scripts are unverified. - - Set up multi-GPU training with `accelerate config`. - - Specify `--rdzv_backend=c10d` when launching `accelerate launch`. You can also edit `config.yaml` directly. - ``` - accelerate launch --rdzv_backend=c10d sdxl_train_network.py ... - ``` - - In multi-GPU training, the memory of multiple GPUs is not integrated. In other words, even if you have two 12GB VRAM GPUs, you cannot train the model that requires 24GB VRAM. Training that can be done with 12GB VRAM is executed at (up to) twice the speed. - -Oct 11, 2024: -- ControlNet training for SDXL has been implemented in this branch. Please use `sdxl_train_control_net.py`. - - For details on defining the dataset, see [here](docs/train_lllite_README.md#creating-a-dataset-configuration-file). - - The learning rate for the copy part of the U-Net is specified by `--learning_rate`. The learning rate for the added modules in ControlNet is specified by `--control_net_lr`. The optimal value is still unknown, but try around U-Net `1e-5` and ControlNet `1e-4`. - - If you want to generate sample images, specify the control image as `--cn path/to/control/image`. - - The trained weights are automatically converted and saved in Diffusers format. It should be available in ComfyUI. -- Weighting of prompts (captions) during training in SDXL is now supported (e.g., `(some text)`, `[some text]`, `(some text:1.4)`, etc.). The function is enabled by specifying `--weighted_captions`. - - The default is `False`. It is same as before, and the parentheses are used as normal text. - - If `--weighted_captions` is specified, please use `\` to escape the parentheses in the prompt. For example, `\(some text:1.4\)`. - -Oct 6, 2024: -- In FLUX.1 LoRA training and fine-tuning, the specified weight file (*.safetensors) is automatically determined to be dev or schnell. This allows schnell models to be loaded correctly. Note that LoRA training with schnell models and fine-tuning with schnell models are unverified. -- FLUX.1 LoRA training and fine-tuning can now load weights in Diffusers format in addition to BFL format (a single *.safetensors file). Please specify the parent directory of `transformer` or `diffusion_pytorch_model-00001-of-00003.safetensors` with the full path. However, Diffusers format CLIP/T5XXL is not supported. Saving is supported only in BFL format. - -Sep 26, 2024: -The implementation of block swap during FLUX.1 fine-tuning has been changed to improve speed about 10% (depends on the environment). A new `--blocks_to_swap` option has been added, and `--double_blocks_to_swap` and `--single_blocks_to_swap` are deprecated. `--double_blocks_to_swap` and `--single_blocks_to_swap` are working as before, but they will be removed in the future. See [FLUX.1 fine-tuning](#flux1-fine-tuning) for details. - - -Sep 18, 2024 (update 1): -Fixed an issue where train()/eval() was not called properly with the schedule-free optimizer. The schedule-free optimizer can be used in FLUX.1 LoRA training and fine-tuning for now. - -Sep 18, 2024: - -- Schedule-free optimizer is added. Thanks to sdbds! See PR [#1600](https://github.com/kohya-ss/sd-scripts/pull/1600) for details. - - Details of the schedule-free optimizer can be found in [facebookresearch/schedule_free](https://github.com/facebookresearch/schedule_free). - - `schedulefree` is added to the dependencies. Please update the library if necessary. - - AdamWScheduleFree or SGDScheduleFree can be used. Specify `adamwschedulefree` or `sgdschedulefree` in `--optimizer_type`. - - Wrapper classes are not available for now. - - These can be used not only for FLUX.1 training but also for other training scripts after merging to the dev/main branch. - -Sep 16, 2024: - - Added `train_double_block_indices` and `train_double_block_indices` to the LoRA training script to specify the indices of the blocks to train. See [Specify blocks to train in FLUX.1 LoRA training](#specify-blocks-to-train-in-flux1-lora-training) for details. - -Sep 15, 2024: - -Added a script `convert_diffusers_to_flux.py` to convert Diffusers format FLUX.1 models (checkpoints) to BFL format. See `--help` for usage. Only Flux models are supported. AE/CLIP/T5XXL are not supported. - -The implementation is based on 2kpr's code. Thanks to 2kpr! - -Sep 14, 2024: -- You can now specify the rank for each layer in FLUX.1. See [Specify rank for each layer in FLUX.1](#specify-rank-for-each-layer-in-flux1) for details. -- OFT is now supported with FLUX.1. See [FLUX.1 OFT training](#flux1-oft-training) for details. - -Sep 11, 2024: -Logging to wandb is improved. See PR [#1576](https://github.com/kohya-ss/sd-scripts/pull/1576) for details. Thanks to p1atdev! - -Sep 10, 2024: -In FLUX.1 LoRA training, individual learning rates can be specified for CLIP-L and T5XXL. By specifying multiple numbers in `--text_encoder_lr`, you can set the learning rates for CLIP-L and T5XXL separately. Specify like `--text_encoder_lr 1e-4 1e-5`. The first value is the learning rate for CLIP-L, and the second value is for T5XXL. If you specify only one, the learning rates for CLIP-L and T5XXL will be the same. - -Sep 9, 2024: -Added `--negative_prompt` and `--cfg_scale` to `flux_minimal_inference.py`. Negative prompts can be used. - -Sep 5, 2024 (update 1): - -Added `--cpu_offload_checkpointing` option to LoRA training script. Offloads gradient checkpointing to CPU. This reduces up to 1GB of VRAM usage but slows down the training by about 15%. Cannot be used with `--split_mode`. - -Sep 5, 2024: - -The LoRA merge script now supports CLIP-L and T5XXL LoRA. Please specify `--clip_l` and `--t5xxl`. `--clip_l_save_to` and `--t5xxl_save_to` specify the save destination for CLIP-L and T5XXL. See [Merge LoRA to FLUX.1 checkpoint](#merge-lora-to-flux1-checkpoint) for details. - -Sep 4, 2024: -- T5XXL LoRA is supported in LoRA training. Remove `--network_train_unet_only` and add `train_t5xxl=True` to `--network_args`. CLIP-L is also trained at the same time (T5XXL only cannot be trained). The trained model can be used with ComfyUI. See [Key Features for FLUX.1 LoRA training](#key-features-for-flux1-lora-training) for details. -- In LoRA training, when `--fp8_base` is specified, you can specify `t5xxl_fp8_e4m3fn.safetensors` as the T5XXL weights. However, it is recommended to use fp16 weights for caching. -- Fixed an issue where the training CLIP-L LoRA was not used in sample image generation during LoRA training. - -Sep 1, 2024: -- `--timestamp_sampling` has `flux_shift` option. Thanks to sdbds! - - This is the same shift as FLUX.1 dev inference, adjusting the timestep sampling depending on the resolution. `--discrete_flow_shift` is ignored when `flux_shift` is specified. It is not verified which is better, `shift` or `flux_shift`. - -Aug 29, 2024: -Please update `safetensors` to `0.4.4` to fix the error when using `--resume`. `requirements.txt` is updated. +- Improved the implementation of block swap and made it available for both FLUX.1 and SD3 LoRA training. See [FLUX.1 LoRA training](#flux1-lora-training) etc. for how to use the new options. Training is possible with about 8-10GB of VRAM. +- During fine-tuning, the memory usage when specifying the same number of blocks has increased slightly, but the training speed when specifying block swap has been significantly improved. +- There may be bugs due to the significant changes. Feedback is welcome. ## FLUX.1 training @@ -190,7 +51,8 @@ accelerate launch --mixed_precision bf16 --num_cpu_threads_per_process 1 flux_t --pretrained_model_name_or_path flux1-dev.safetensors --clip_l sd3/clip_l.safetensors --t5xxl sd3/t5xxl_fp16.safetensors --ae ae.safetensors --cache_latents_to_disk --save_model_as safetensors --sdpa --persistent_data_loader_workers --max_data_loader_n_workers 2 --seed 42 --gradient_checkpointing --mixed_precision bf16 --save_precision bf16 ---network_module networks.lora_flux --network_dim 4 --optimizer_type adamw8bit --learning_rate 1e-4 +--network_module networks.lora_flux --network_dim 4 --network_train_unet_only +--optimizer_type adamw8bit --learning_rate 1e-4 --cache_text_encoder_outputs --cache_text_encoder_outputs_to_disk --fp8_base --highvram --max_train_epochs 4 --save_every_n_epochs 1 --dataset_config dataset_1024_bs2.toml --output_dir path/to/output/dir --output_name flux-lora-name @@ -198,23 +60,39 @@ accelerate launch --mixed_precision bf16 --num_cpu_threads_per_process 1 flux_t ``` (The command is multi-line for readability. Please combine it into one line.) -The training can be done with 16GB VRAM GPUs with Adafactor optimizer. Please use settings like below: +We also not sure how many epochs are needed for convergence, and how the learning rate should be adjusted. + +The trained LoRA model can be used with ComfyUI. + +When training LoRA for Text Encoder (without `--network_train_unet_only`), more VRAM is required. Please refer to the settings below to reduce VRAM usage. + +__Options for GPUs with less VRAM:__ + +By specifying `--block_to_swap`, you can save VRAM by swapping some blocks between CPU and GPU. See [FLUX.1 fine-tuning](#flux1-fine-tuning) for details. + +Specify a number like `--block_to_swap 10`. A larger number will swap more blocks, saving more VRAM, but training will be slower. In FLUX.1, you can swap up to 35 blocks. + +`--cpu_offload_checkpointing` offloads gradient checkpointing to CPU. This reduces up to 1GB of VRAM usage but slows down the training by about 15%. Cannot be used with `--block_to_swap`. + +Adafactor optimizer may reduce the VRAM usage than 8bit AdamW. Please use settings like below: ``` --optimizer_type adafactor --optimizer_args "relative_step=False" "scale_parameter=False" "warmup_init=False" --lr_scheduler constant_with_warmup --max_grad_norm 0.0 ``` -The training can be done with 12GB VRAM GPUs with Adafactor optimizer, `--split_mode` and `train_blocks=single` options. Please use settings like below: +The training can be done with 16GB VRAM GPUs with the batch size of 1. Please change your dataset configuration. + +The training can be done with 12GB VRAM GPUs with `--block_to_swap 16` with 8bit AdamW. Please use settings like below: ``` ---optimizer_type adafactor --optimizer_args "relative_step=False" "scale_parameter=False" "warmup_init=False" --split_mode --network_args "train_blocks=single" --lr_scheduler constant_with_warmup --max_grad_norm 0.0 +--blocks_to_swap 16 ``` -`--cpu_offload_checkpointing` offloads gradient checkpointing to CPU. This reduces up to 1GB of VRAM usage but slows down the training by about 15%. Cannot be used with `--split_mode`. +For GPUs with less than 10GB of VRAM, it is recommended to use an fp8 checkpoint for T5XXL. You can download `t5xxl_fp8_e4m3fn.safetensors` from [comfyanonymous/flux_text_encoders](https://huggingface.co/comfyanonymous/flux_text_encoders) (please use without `scaled`). -We also not sure how many epochs are needed for convergence, and how the learning rate should be adjusted. +10GB VRAM GPUs will work with 22 blocks swapped, and 8GB VRAM GPUs will work with 28 blocks swapped. -The trained LoRA model can be used with ComfyUI. +__`--split_mode` is deprecated. This option is still available, but they will be removed in the future. Please use `--blocks_to_swap` instead. If this option is specified and `--blocks_to_swap` is not specified, `--blocks_to_swap 18` is automatically enabled.__ #### Key Options for FLUX.1 LoRA training @@ -239,6 +117,7 @@ There are many unknown points in FLUX.1 training, so some settings can be specif - `additive`: add to noisy input - `sigma_scaled`: apply sigma scaling, same as SD3 - `--discrete_flow_shift` is the discrete flow shift for the Euler Discrete Scheduler, default is 3.0 (same as SD3). +- `--blocks_to_swap`. See [FLUX.1 fine-tuning](#flux1-fine-tuning) for details. The existing `--loss_type` option may be useful for FLUX.1 training. The default is `l2`. @@ -426,9 +305,9 @@ Options are almost the same as LoRA training. The difference is `--full_bf16`, ` `--blockwise_fused_optimizers` enables the fusing of the optimizer step into the backward pass for each block. This is similar to `--fused_backward_pass`. Any optimizer can be used, but Adafactor is recommended for memory efficiency and stochastic rounding. `--blockwise_fused_optimizers` cannot be used with `--fused_backward_pass`. Stochastic rounding is not supported for now. -`--blocks_to_swap` is the number of blocks to swap. The default is None (no swap). These options must be combined with `--fused_backward_pass` or `--blockwise_fused_optimizers`. The recommended maximum value is 36. +`--blocks_to_swap` is the number of blocks to swap. The default is None (no swap). The maximum value is 35. -`--cpu_offload_checkpointing` is to offload the gradient checkpointing to CPU. This reduces about 2GB of VRAM usage. +`--cpu_offload_checkpointing` is to offload the gradient checkpointing to CPU. This reduces about 2GB of VRAM usage. This option cannot be used with `--blocks_to_swap`. All these options are experimental and may change in the future. @@ -448,13 +327,13 @@ There are two possible ways to use block swap. It is unknown which is better. 2. Swap many blocks to increase the batch size and shorten the training speed per data. - For example, swapping 20 blocks seems to increase the batch size to about 6. In this case, the training speed per data will be relatively faster than 1. + For example, swapping 35 blocks seems to increase the batch size to about 5. In this case, the training speed per data will be relatively faster than 1. #### Training with <24GB VRAM GPUs Swap 28 blocks without cpu offload checkpointing may be working with 12GB VRAM GPUs. Please try different settings according to VRAM size of your GPU. -T5XXL requires about 10GB of VRAM, so 10GB of VRAM will be minimum requirement for FLUX.1 fine-tuning. +T5XXL requires about 10GB of VRAM, so 10GB of VRAM will be minimum requirement for FLUX.1 fine-tuning. #### Key Features for FLUX.1 fine-tuning @@ -465,17 +344,19 @@ T5XXL requires about 10GB of VRAM, so 10GB of VRAM will be minimum requirement f - Since the transfer between CPU and GPU takes time, the training will be slower. - `--blocks_to_swap` specify the number of blocks to swap. - About 640MB of memory can be saved per block. - - Since the memory usage of one double block and two single blocks is almost the same, the transfer of single blocks is done in units of two. For example, consider the case of `--blocks_to_swap 6`. - - Before the forward pass, all double blocks and 26 (=38-12) single blocks are on the GPU. The last 12 single blocks are on the CPU. - - In the forward pass, the 6 double blocks that have finished calculation (the first 6 blocks) are transferred to the CPU, and the 12 single blocks to be calculated (the last 12 blocks) are transferred to the GPU. - - The same is true for the backward pass, but in reverse order. The 12 single blocks that have finished calculation are transferred to the CPU, and the 6 double blocks to be calculated are transferred to the GPU. - - After the backward pass, the blocks are back to their original locations. + - (Update 1: Nov 12, 2024) + - The maximum number of blocks that can be swapped is 35. + - We are exchanging only the data of the weights (weight.data) in reference to the implementation of OneTrainer (thanks to OneTrainer). However, the mechanism of the exchange is a custom implementation. + - Since it takes time to free CUDA memory (torch.cuda.empty_cache()), we reuse the CUDA memory allocated to weight.data as it is and exchange the weights between modules. + - This shortens the time it takes to exchange weights between modules. + - Since the weights must be almost identical to be exchanged, FLUX.1 exchanges the weights between double blocks and single blocks. + - In SD3, all blocks are similar, but some weights are different, so there are weights that always remain on the GPU. 2. Sample Image Generation: - Sample image generation during training is now supported. - The prompts are cached and used for generation if `--cache_latents` is specified. So changing the prompts during training will not affect the generated images. - Specify options such as `--sample_prompts` and `--sample_every_n_epochs`. - - Note: It will be very slow when `--split_mode` is specified. + - Note: It will be very slow when `--blocks_to_swap` is specified. 3. Experimental Memory-Efficient Saving: - `--mem_eff_save` option can further reduce memory consumption during model saving (about 22GB). @@ -621,20 +502,19 @@ accelerate launch --mixed_precision bf16 --num_cpu_threads_per_process 1 sd3_tr --pretrained_model_name_or_path path/to/sd3.5_large.safetensors --clip_l sd3/clip_l.safetensors --clip_g sd3/clip_g.safetensors --t5xxl sd3/t5xxl_fp16.safetensors --cache_latents_to_disk --save_model_as safetensors --sdpa --persistent_data_loader_workers --max_data_loader_n_workers 2 --seed 42 --gradient_checkpointing --mixed_precision bf16 --save_precision bf16 ---network_module networks.lora_sd3 --network_dim 4 --optimizer_type adamw8bit --learning_rate 1e-4 +--network_module networks.lora_sd3 --network_dim 4 --network_train_unet_only +--optimizer_type adamw8bit --learning_rate 1e-4 --cache_text_encoder_outputs --cache_text_encoder_outputs_to_disk --fp8_base --highvram --max_train_epochs 4 --save_every_n_epochs 1 --dataset_config dataset_1024_bs2.toml --output_dir path/to/output/dir --output_name sd3-lora-name ``` (The command is multi-line for readability. Please combine it into one line.) -The training can be done with 12GB VRAM GPUs with Adafactor optimizer. Please use settings like below: +Like FLUX.1 training, the `--blocks_to_swap` option for memory reduction is available. The maximum number of blocks that can be swapped is 36 for SD3.5L and 22 for SD3.5M. -``` ---optimizer_type adafactor --optimizer_args "relative_step=False" "scale_parameter=False" "warmup_init=False" --lr_scheduler constant_with_warmup --max_grad_norm 0.0 -``` +Adafactor optimizer is also available. -`--cpu_offload_checkpointing` and `--split_mode` are not available for SD3 LoRA training. +`--cpu_offload_checkpointing` option is not available. We also not sure how many epochs are needed for convergence, and how the learning rate should be adjusted. diff --git a/flux_train.py b/flux_train.py index 346fe8fbd..ad2c7722b 100644 --- a/flux_train.py +++ b/flux_train.py @@ -78,6 +78,10 @@ def train(args): ) args.gradient_checkpointing = True + assert ( + args.blocks_to_swap is None or args.blocks_to_swap == 0 + ) or not args.cpu_offload_checkpointing, "blocks_to_swap is not supported with cpu_offload_checkpointing / blocks_to_swapはcpu_offload_checkpointingと併用できません" + cache_latents = args.cache_latents use_dreambooth_method = args.in_json is None @@ -518,47 +522,6 @@ def grad_hook(parameter: torch.Tensor): parameter_optimizer_map[parameter] = opt_idx num_parameters_per_group[opt_idx] += 1 - # add hooks for block swapping: this hook is called after fused_backward_pass hook or blockwise_fused_optimizers hook - if False: # is_swapping_blocks: - import library.custom_offloading_utils as custom_offloading_utils - - num_double_blocks = len(accelerator.unwrap_model(flux).double_blocks) - num_single_blocks = len(accelerator.unwrap_model(flux).single_blocks) - double_blocks_to_swap = args.blocks_to_swap // 2 - single_blocks_to_swap = (args.blocks_to_swap - double_blocks_to_swap) * 2 - - offloader_double = custom_offloading_utils.TrainOffloader(num_double_blocks, double_blocks_to_swap, accelerator.device) - offloader_single = custom_offloading_utils.TrainOffloader(num_single_blocks, single_blocks_to_swap, accelerator.device) - - param_name_pairs = [] - if not args.blockwise_fused_optimizers: - for param_group, param_name_group in zip(optimizer.param_groups, param_names): - param_name_pairs.extend(zip(param_group["params"], param_name_group)) - else: - # named_parameters is a list of (name, parameter) pairs - param_name_pairs.extend([(p, n) for n, p in flux.named_parameters()]) - - for parameter, param_name in param_name_pairs: - if not parameter.requires_grad: - continue - - is_double = param_name.startswith("double_blocks") - is_single = param_name.startswith("single_blocks") - if not is_double and not is_single: - continue - - block_index = int(param_name.split(".")[1]) - if is_double: - blocks = flux.double_blocks - offloader = offloader_double - else: - blocks = flux.single_blocks - offloader = offloader_single - - grad_hook = offloader.create_grad_hook(blocks, block_index) - if grad_hook is not None: - parameter.register_post_accumulate_grad_hook(grad_hook) - # epoch数を計算する num_update_steps_per_epoch = math.ceil(len(train_dataloader) / args.gradient_accumulation_steps) num_train_epochs = math.ceil(args.max_train_steps / num_update_steps_per_epoch) @@ -827,6 +790,7 @@ def setup_parser() -> argparse.ArgumentParser: train_util.add_optimizer_arguments(parser) config_util.add_config_arguments(parser) add_custom_train_arguments(parser) # TODO remove this from here + train_util.add_dit_training_arguments(parser) flux_train_utils.add_flux_train_arguments(parser) parser.add_argument( @@ -851,16 +815,6 @@ def setup_parser() -> argparse.ArgumentParser: action="store_true", help="[Deprecated] use 'skip_cache_check' instead / 代わりに 'skip_cache_check' を使用してください", ) - parser.add_argument( - "--blocks_to_swap", - type=int, - default=None, - help="[EXPERIMENTAL] " - "Sets the number of blocks (~640MB) to swap during the forward and backward passes." - "Increasing this number lowers the overall VRAM used during training at the expense of training speed (s/it)." - " / 順伝播および逆伝播中にスワップするブロック(約640MB)の数を設定します。" - "この数を増やすと、トレーニング中のVRAM使用量が減りますが、トレーニング速度(s/it)も低下します。", - ) parser.add_argument( "--double_blocks_to_swap", type=int, diff --git a/flux_train_network.py b/flux_train_network.py index 376cc1597..9bcd59282 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -52,10 +52,23 @@ def assert_extra_args(self, args, train_dataset_group): if args.max_token_length is not None: logger.warning("max_token_length is not used in Flux training / max_token_lengthはFluxのトレーニングでは使用されません") - assert not args.split_mode or not args.cpu_offload_checkpointing, ( - "split_mode and cpu_offload_checkpointing cannot be used together" - " / split_modeとcpu_offload_checkpointingは同時に使用できません" - ) + assert ( + args.blocks_to_swap is None or args.blocks_to_swap == 0 + ) or not args.cpu_offload_checkpointing, "blocks_to_swap is not supported with cpu_offload_checkpointing / blocks_to_swapはcpu_offload_checkpointingと併用できません" + + # deprecated split_mode option + if args.split_mode: + if args.blocks_to_swap is not None: + logger.warning( + "split_mode is deprecated. Because `--blocks_to_swap` is set, `--split_mode` is ignored." + " / split_modeは非推奨です。`--blocks_to_swap`が設定されているため、`--split_mode`は無視されます。" + ) + else: + logger.warning( + "split_mode is deprecated. Please use `--blocks_to_swap` instead. `--blocks_to_swap 18` is automatically set." + " / split_modeは非推奨です。代わりに`--blocks_to_swap`を使用してください。`--blocks_to_swap 18`が自動的に設定されました。" + ) + args.blocks_to_swap = 18 # 18 is safe for most cases train_dataset_group.verify_bucket_reso_steps(32) # TODO check this @@ -75,9 +88,15 @@ def load_target_model(self, args, weight_dtype, accelerator): raise ValueError(f"Unsupported fp8 model dtype: {model.dtype}") elif model.dtype == torch.float8_e4m3fn: logger.info("Loaded fp8 FLUX model") + else: + logger.info( + "Cast FLUX model to fp8. This may take a while. You can reduce the time by using fp8 checkpoint." + " / FLUXモデルをfp8に変換しています。これには時間がかかる場合があります。fp8チェックポイントを使用することで時間を短縮できます。" + ) + model.to(torch.float8_e4m3fn) - if args.split_mode: - model = self.prepare_split_model(model, weight_dtype, accelerator) + # if args.split_mode: + # model = self.prepare_split_model(model, weight_dtype, accelerator) self.is_swapping_blocks = args.blocks_to_swap is not None and args.blocks_to_swap > 0 if self.is_swapping_blocks: @@ -108,6 +127,7 @@ def load_target_model(self, args, weight_dtype, accelerator): return flux_utils.MODEL_VERSION_FLUX_V1, [clip_l, t5xxl], ae, model + """ def prepare_split_model(self, model, weight_dtype, accelerator): from accelerate import init_empty_weights @@ -144,6 +164,7 @@ def prepare_split_model(self, model, weight_dtype, accelerator): logger.info("split model prepared") return flux_lower + """ def get_tokenize_strategy(self, args): _, is_schnell, _, _ = flux_utils.analyze_checkpoint_state(args.pretrained_model_name_or_path) @@ -291,14 +312,12 @@ def sample_images(self, accelerator, args, epoch, global_step, device, ae, token text_encoders = text_encoder # for compatibility text_encoders = self.get_models_for_text_encoding(args, accelerator, text_encoders) - if not args.split_mode: - if self.is_swapping_blocks: - accelerator.unwrap_model(flux).prepare_block_swap_before_forward() - flux_train_utils.sample_images( - accelerator, args, epoch, global_step, flux, ae, text_encoders, self.sample_prompts_te_outputs - ) - return + flux_train_utils.sample_images( + accelerator, args, epoch, global_step, flux, ae, text_encoders, self.sample_prompts_te_outputs + ) + # return + """ class FluxUpperLowerWrapper(torch.nn.Module): def __init__(self, flux_upper: flux_models.FluxUpper, flux_lower: flux_models.FluxLower, device: torch.device): super().__init__() @@ -325,6 +344,7 @@ def forward(self, img, img_ids, txt, txt_ids, timesteps, y, guidance=None, txt_a accelerator, args, epoch, global_step, wrapper, ae, text_encoders, self.sample_prompts_te_outputs ) clean_memory_on_device(accelerator.device) + """ def get_noise_scheduler(self, args: argparse.Namespace, device: torch.device) -> Any: noise_scheduler = sd3_train_utils.FlowMatchEulerDiscreteScheduler(num_train_timesteps=1000, shift=args.discrete_flow_shift) @@ -383,20 +403,21 @@ def get_noise_pred_and_target( t5_attn_mask = None def call_dit(img, img_ids, t5_out, txt_ids, l_pooled, timesteps, guidance_vec, t5_attn_mask): - if not args.split_mode: - # normal forward - with accelerator.autocast(): - # YiYi notes: divide it by 1000 for now because we scale it by 1000 in the transformer model (we should not keep it but I want to keep the inputs same for the model for testing) - model_pred = unet( - img=img, - img_ids=img_ids, - txt=t5_out, - txt_ids=txt_ids, - y=l_pooled, - timesteps=timesteps / 1000, - guidance=guidance_vec, - txt_attention_mask=t5_attn_mask, - ) + # if not args.split_mode: + # normal forward + with accelerator.autocast(): + # YiYi notes: divide it by 1000 for now because we scale it by 1000 in the transformer model (we should not keep it but I want to keep the inputs same for the model for testing) + model_pred = unet( + img=img, + img_ids=img_ids, + txt=t5_out, + txt_ids=txt_ids, + y=l_pooled, + timesteps=timesteps / 1000, + guidance=guidance_vec, + txt_attention_mask=t5_attn_mask, + ) + """ else: # split forward to reduce memory usage assert network.train_blocks == "single", "train_blocks must be single for split mode" @@ -430,6 +451,7 @@ def call_dit(img, img_ids, t5_out, txt_ids, l_pooled, timesteps, guidance_vec, t vec.requires_grad_(True) pe.requires_grad_(True) model_pred = unet(img=intermediate_img, txt=intermediate_txt, vec=vec, pe=pe, txt_attention_mask=t5_attn_mask) + """ return model_pred @@ -558,30 +580,23 @@ def prepare_unet_with_accelerator( flux: flux_models.Flux = unet flux = accelerator.prepare(flux, device_placement=[not self.is_swapping_blocks]) accelerator.unwrap_model(flux).move_to_device_except_swap_blocks(accelerator.device) # reduce peak memory usage + accelerator.unwrap_model(flux).prepare_block_swap_before_forward() return flux def setup_parser() -> argparse.ArgumentParser: parser = train_network.setup_parser() + train_util.add_dit_training_arguments(parser) flux_train_utils.add_flux_train_arguments(parser) parser.add_argument( "--split_mode", action="store_true", - help="[EXPERIMENTAL] use split mode for Flux model, network arg `train_blocks=single` is required" - + "/[実験的] Fluxモデルの分割モードを使用する。ネットワーク引数`train_blocks=single`が必要", - ) - - parser.add_argument( - "--blocks_to_swap", - type=int, - default=None, - help="[EXPERIMENTAL] " - "Sets the number of blocks to swap during the forward and backward passes." - "Increasing this number lowers the overall VRAM used during training at the expense of training speed (s/it)." - " / 順伝播および逆伝播中にスワップするブロックの数を設定します。" - "この数を増やすと、トレーニング中のVRAM使用量が減りますが、トレーニング速度(s/it)も低下します。", + # help="[EXPERIMENTAL] use split mode for Flux model, network arg `train_blocks=single` is required" + # + "/[実験的] Fluxモデルの分割モードを使用する。ネットワーク引数`train_blocks=single`が必要", + help="[Deprecated] This option is deprecated. Please use `--blocks_to_swap` instead." + " / このオプションは非推奨です。代わりに`--blocks_to_swap`を使用してください。", ) return parser diff --git a/library/custom_offloading_utils.py b/library/custom_offloading_utils.py index 70da93902..84c2b743e 100644 --- a/library/custom_offloading_utils.py +++ b/library/custom_offloading_utils.py @@ -16,13 +16,29 @@ def synchronize_device(device: torch.device): torch.mps.synchronize() -def swap_weight_devices(layer_to_cpu: nn.Module, layer_to_cuda: nn.Module): +def swap_weight_devices_cuda(device: torch.device, layer_to_cpu: nn.Module, layer_to_cuda: nn.Module): assert layer_to_cpu.__class__ == layer_to_cuda.__class__ weight_swap_jobs = [] - for module_to_cpu, module_to_cuda in zip(layer_to_cpu.modules(), layer_to_cuda.modules()): - if hasattr(module_to_cpu, "weight") and module_to_cpu.weight is not None: - weight_swap_jobs.append((module_to_cpu, module_to_cuda, module_to_cpu.weight.data, module_to_cuda.weight.data)) + + # This is not working for all cases (e.g. SD3), so we need to find the corresponding modules + # for module_to_cpu, module_to_cuda in zip(layer_to_cpu.modules(), layer_to_cuda.modules()): + # print(module_to_cpu.__class__, module_to_cuda.__class__) + # if hasattr(module_to_cpu, "weight") and module_to_cpu.weight is not None: + # weight_swap_jobs.append((module_to_cpu, module_to_cuda, module_to_cpu.weight.data, module_to_cuda.weight.data)) + + modules_to_cpu = {k: v for k, v in layer_to_cpu.named_modules()} + for module_to_cuda_name, module_to_cuda in layer_to_cuda.named_modules(): + if hasattr(module_to_cuda, "weight") and module_to_cuda.weight is not None: + module_to_cpu = modules_to_cpu.get(module_to_cuda_name, None) + if module_to_cpu is not None and module_to_cpu.weight.shape == module_to_cuda.weight.shape: + weight_swap_jobs.append((module_to_cpu, module_to_cuda, module_to_cpu.weight.data, module_to_cuda.weight.data)) + else: + if module_to_cuda.weight.data.device.type != device.type: + # print( + # f"Module {module_to_cuda_name} not found in CPU model or shape mismatch, so not swapping and moving to device" + # ) + module_to_cuda.weight.data = module_to_cuda.weight.data.to(device) torch.cuda.current_stream().synchronize() # this prevents the illegal loss value @@ -92,7 +108,7 @@ def __init__(self, num_blocks: int, blocks_to_swap: int, device: torch.device, d def swap_weight_devices(self, block_to_cpu: nn.Module, block_to_cuda: nn.Module): if self.cuda_available: - swap_weight_devices(block_to_cpu, block_to_cuda) + swap_weight_devices_cuda(self.device, block_to_cpu, block_to_cuda) else: swap_weight_devices_no_cuda(self.device, block_to_cpu, block_to_cuda) @@ -132,52 +148,6 @@ def _wait_blocks_move(self, block_idx): print(f"Waited for block {block_idx}: {time.perf_counter()-start_time:.2f}s") -class TrainOffloader(Offloader): - """ - supports backward offloading - """ - - def __init__(self, num_blocks: int, blocks_to_swap: int, device: torch.device, debug: bool = False): - super().__init__(num_blocks, blocks_to_swap, device, debug) - self.hook_added = set() - - def create_grad_hook(self, blocks: list[nn.Module], block_index: int) -> Optional[callable]: - if block_index in self.hook_added: - return None - self.hook_added.add(block_index) - - # -1 for 0-based index, -1 for current block is not fully backpropagated yet - num_blocks_propagated = self.num_blocks - block_index - 2 - swapping = num_blocks_propagated > 0 and num_blocks_propagated <= self.blocks_to_swap - waiting = block_index > 0 and block_index <= self.blocks_to_swap - - if not swapping and not waiting: - return None - - # create hook - block_idx_to_cpu = self.num_blocks - num_blocks_propagated - block_idx_to_cuda = self.blocks_to_swap - num_blocks_propagated - block_idx_to_wait = block_index - 1 - - if self.debug: - print( - f"Backward: Created grad hook for block {block_index} with {block_idx_to_cpu}, {block_idx_to_cuda}, {block_idx_to_wait}" - ) - if swapping: - - def grad_hook(tensor: torch.Tensor): - self._submit_move_blocks(blocks, block_idx_to_cpu, block_idx_to_cuda) - - return grad_hook - - else: - - def grad_hook(tensor: torch.Tensor): - self._wait_blocks_move(block_idx_to_wait) - - return grad_hook - - class ModelOffloader(Offloader): """ supports forward offloading @@ -228,6 +198,9 @@ def prepare_block_devices_before_forward(self, blocks: list[nn.Module]): if self.blocks_to_swap is None or self.blocks_to_swap == 0: return + if self.debug: + print("Prepare block devices before forward") + for b in blocks[0 : self.num_blocks - self.blocks_to_swap]: b.to(self.device) weighs_to_device(b, self.device) # make sure weights are on device diff --git a/library/flux_models.py b/library/flux_models.py index 4fa272522..fa3c7ad2b 100644 --- a/library/flux_models.py +++ b/library/flux_models.py @@ -970,11 +970,16 @@ def enable_block_swap(self, num_blocks: int, device: torch.device): double_blocks_to_swap = num_blocks // 2 single_blocks_to_swap = (num_blocks - double_blocks_to_swap) * 2 + assert double_blocks_to_swap <= self.num_double_blocks - 2 and single_blocks_to_swap <= self.num_single_blocks - 2, ( + f"Cannot swap more than {self.num_double_blocks - 2} double blocks and {self.num_single_blocks - 2} single blocks. " + f"Requested {double_blocks_to_swap} double blocks and {single_blocks_to_swap} single blocks." + ) + self.offloader_double = custom_offloading_utils.ModelOffloader( - self.double_blocks, self.num_double_blocks, double_blocks_to_swap, device #, debug=True + self.double_blocks, self.num_double_blocks, double_blocks_to_swap, device # , debug=True ) self.offloader_single = custom_offloading_utils.ModelOffloader( - self.single_blocks, self.num_single_blocks, single_blocks_to_swap, device #, debug=True + self.single_blocks, self.num_single_blocks, single_blocks_to_swap, device # , debug=True ) print( f"FLUX: Block swap enabled. Swapping {num_blocks} blocks, double blocks: {double_blocks_to_swap}, single blocks: {single_blocks_to_swap}." @@ -1061,10 +1066,11 @@ def forward( return img +""" class FluxUpper(nn.Module): - """ + "" Transformer model for flow matching on sequences. - """ + "" def __init__(self, params: FluxParams): super().__init__() @@ -1168,9 +1174,9 @@ def forward( class FluxLower(nn.Module): - """ + "" Transformer model for flow matching on sequences. - """ + "" def __init__(self, params: FluxParams): super().__init__() @@ -1228,3 +1234,4 @@ def forward( img = self.final_layer(img, vec) # (N, T, patch_size ** 2 * out_channels) return img +""" diff --git a/library/flux_train_utils.py b/library/flux_train_utils.py index fa673a2f0..d90644a25 100644 --- a/library/flux_train_utils.py +++ b/library/flux_train_utils.py @@ -257,14 +257,9 @@ def sample_image_inference( wandb_tracker = accelerator.get_tracker("wandb") import wandb + # not to commit images to avoid inconsistency between training and logging steps - wandb_tracker.log( - {f"sample_{i}": wandb.Image( - image, - caption=prompt # positive prompt as a caption - )}, - commit=False - ) + wandb_tracker.log({f"sample_{i}": wandb.Image(image, caption=prompt)}, commit=False) # positive prompt as a caption def time_shift(mu: float, sigma: float, t: torch.Tensor): @@ -324,7 +319,7 @@ def denoise( ) img = img + (t_prev - t_curr) * pred - + model.prepare_block_swap_before_forward() return img @@ -549,44 +544,7 @@ def add_flux_train_arguments(parser: argparse.ArgumentParser): action="store_true", help="apply attention mask to T5-XXL encode and FLUX double blocks / T5-XXLエンコードとFLUXダブルブロックにアテンションマスクを適用する", ) - parser.add_argument( - "--cache_text_encoder_outputs", action="store_true", help="cache text encoder outputs / text encoderの出力をキャッシュする" - ) - parser.add_argument( - "--cache_text_encoder_outputs_to_disk", - action="store_true", - help="cache text encoder outputs to disk / text encoderの出力をディスクにキャッシュする", - ) - parser.add_argument( - "--text_encoder_batch_size", - type=int, - default=None, - help="text encoder batch size (default: None, use dataset's batch size)" - + " / text encoderのバッチサイズ(デフォルト: None, データセットのバッチサイズを使用)", - ) - parser.add_argument( - "--disable_mmap_load_safetensors", - action="store_true", - help="disable mmap load for safetensors. Speed up model loading in WSL environment / safetensorsのmmapロードを無効にする。WSL環境等でモデル読み込みを高速化できる", - ) - # copy from Diffusers - parser.add_argument( - "--weighting_scheme", - type=str, - default="none", - choices=["sigma_sqrt", "logit_normal", "mode", "cosmap", "none"], - ) - parser.add_argument( - "--logit_mean", type=float, default=0.0, help="mean to use when using the `'logit_normal'` weighting scheme." - ) - parser.add_argument("--logit_std", type=float, default=1.0, help="std to use when using the `'logit_normal'` weighting scheme.") - parser.add_argument( - "--mode_scale", - type=float, - default=1.29, - help="Scale of mode weighting scheme. Only effective when using the `'mode'` as the `weighting_scheme`.", - ) parser.add_argument( "--guidance_scale", type=float, diff --git a/library/sd3_models.py b/library/sd3_models.py index 89225fe4d..8b90205db 100644 --- a/library/sd3_models.py +++ b/library/sd3_models.py @@ -18,6 +18,7 @@ from torch.utils.checkpoint import checkpoint from transformers import CLIPTokenizer, T5TokenizerFast +from library import custom_offloading_utils from library.device_utils import clean_memory_on_device from .utils import setup_logging @@ -862,7 +863,8 @@ def __init__( # self.initialize_weights() self.blocks_to_swap = None - self.thread_pool: Optional[ThreadPoolExecutor] = None + self.offloader = None + self.num_blocks = len(self.joint_blocks) def enable_scaled_pos_embed(self, use_scaled_pos_embed: bool, latent_sizes: Optional[list[int]]): self.use_scaled_pos_embed = use_scaled_pos_embed @@ -1055,14 +1057,20 @@ def cropped_scaled_pos_embed(self, h, w, device=None, dtype=None, random_crop: b # ) return spatial_pos_embed - def enable_block_swap(self, num_blocks: int): + def enable_block_swap(self, num_blocks: int, device: torch.device): self.blocks_to_swap = num_blocks - n = 1 # async block swap. 1 is enough - self.thread_pool = ThreadPoolExecutor(max_workers=n) + assert ( + self.blocks_to_swap <= self.num_blocks - 2 + ), f"Cannot swap more than {self.num_blocks - 2} blocks. Requested: {self.blocks_to_swap} blocks." + + self.offloader = custom_offloading_utils.ModelOffloader( + self.joint_blocks, self.num_blocks, self.blocks_to_swap, device # , debug=True + ) + print(f"SD3: Block swap enabled. Swapping {num_blocks} blocks, total blocks: {self.num_blocks}, device: {device}.") def move_to_device_except_swap_blocks(self, device: torch.device): - # assume model is on cpu + # assume model is on cpu. do not move blocks to device to reduce temporary memory usage if self.blocks_to_swap: save_blocks = self.joint_blocks self.joint_blocks = None @@ -1073,16 +1081,9 @@ def move_to_device_except_swap_blocks(self, device: torch.device): self.joint_blocks = save_blocks def prepare_block_swap_before_forward(self): - # make: first n blocks are on cuda, and last n blocks are on cpu if self.blocks_to_swap is None or self.blocks_to_swap == 0: - # raise ValueError("Block swap is not enabled.") return - num_blocks = len(self.joint_blocks) - for i in range(num_blocks - self.blocks_to_swap): - self.joint_blocks[i].to(self.device) - for i in range(num_blocks - self.blocks_to_swap, num_blocks): - self.joint_blocks[i].to("cpu") - clean_memory_on_device(self.device) + self.offloader.prepare_block_devices_before_forward(self.joint_blocks) def forward( self, @@ -1122,57 +1123,19 @@ def forward( if self.register_length > 0: context = torch.cat( - ( - einops.repeat(self.register, "1 ... -> b ...", b=x.shape[0]), - default(context, torch.Tensor([]).type_as(x)), - ), - 1, + (einops.repeat(self.register, "1 ... -> b ...", b=x.shape[0]), default(context, torch.Tensor([]).type_as(x))), 1 ) if not self.blocks_to_swap: for block in self.joint_blocks: context, x = block(context, x, c) else: - futures = {} - - def submit_move_blocks(block_idx_to_cpu, block_idx_to_cuda): - def move_blocks(bidx_to_cpu, block_to_cpu, bidx_to_cuda, block_to_cuda): - # print(f"Moving {bidx_to_cpu} to cpu.") - block_to_cpu.to("cpu", non_blocking=True) - torch.cuda.empty_cache() - - # print(f"Moving {bidx_to_cuda} to cuda.") - block_to_cuda.to(self.device, non_blocking=True) - - torch.cuda.synchronize() - # print(f"Block move done. {bidx_to_cpu} to cpu, {bidx_to_cuda} to cuda.") - return block_idx_to_cpu, block_idx_to_cuda - - block_to_cpu = self.joint_blocks[block_idx_to_cpu] - block_to_cuda = self.joint_blocks[block_idx_to_cuda] - # print(f"Submit move blocks. {block_idx_to_cpu} to cpu, {block_idx_to_cuda} to cuda.") - return self.thread_pool.submit(move_blocks, block_idx_to_cpu, block_to_cpu, block_idx_to_cuda, block_to_cuda) - - def wait_for_blocks_move(block_idx, ftrs): - if block_idx not in ftrs: - return - # print(f"Waiting for move blocks: {block_idx}") - # start_time = time.perf_counter() - ftr = ftrs.pop(block_idx) - ftr.result() - # torch.cuda.synchronize() - # print(f"Move blocks took {time.perf_counter() - start_time:.2f} seconds") - for block_idx, block in enumerate(self.joint_blocks): - wait_for_blocks_move(block_idx, futures) + self.offloader.wait_for_block(block_idx) context, x = block(context, x, c) - if block_idx < self.blocks_to_swap: - block_idx_to_cpu = block_idx - block_idx_to_cuda = len(self.joint_blocks) - self.blocks_to_swap + block_idx - future = submit_move_blocks(block_idx_to_cpu, block_idx_to_cuda) - futures[block_idx_to_cuda] = future + self.offloader.submit_move_blocks(self.joint_blocks, block_idx) x = self.final_layer(x, c, H, W) # Our final layer combined UnPatchify return x[:, :, :H, :W] diff --git a/library/sd3_train_utils.py b/library/sd3_train_utils.py index 38f3c25f4..c40798846 100644 --- a/library/sd3_train_utils.py +++ b/library/sd3_train_utils.py @@ -142,27 +142,6 @@ def sd_saver(ckpt_file, epoch_no, global_step): def add_sd3_training_arguments(parser: argparse.ArgumentParser): - parser.add_argument( - "--cache_text_encoder_outputs", action="store_true", help="cache text encoder outputs / text encoderの出力をキャッシュする" - ) - parser.add_argument( - "--cache_text_encoder_outputs_to_disk", - action="store_true", - help="cache text encoder outputs to disk / text encoderの出力をディスクにキャッシュする", - ) - parser.add_argument( - "--text_encoder_batch_size", - type=int, - default=None, - help="text encoder batch size (default: None, use dataset's batch size)" - + " / text encoderのバッチサイズ(デフォルト: None, データセットのバッチサイズを使用)", - ) - parser.add_argument( - "--disable_mmap_load_safetensors", - action="store_true", - help="disable mmap load for safetensors. Speed up model loading in WSL environment / safetensorsのmmapロードを無効にする。WSL環境等でモデル読み込みを高速化できる", - ) - parser.add_argument( "--clip_l", type=str, @@ -253,32 +232,8 @@ def add_sd3_training_arguments(parser: argparse.ArgumentParser): " / 複数解像度学習時に解像度ごとに位置埋め込みをスケーリングする。SD3.5M以外では予期しない動作になります", ) - # Dependencies of Diffusers noise sampler has been removed for clarity. - parser.add_argument( - "--weighting_scheme", - type=str, - default="uniform", - choices=["sigma_sqrt", "logit_normal", "mode", "cosmap", "uniform"], - help="weighting scheme for timestep distribution and loss / タイムステップ分布と損失のための重み付けスキーム", - ) - parser.add_argument( - "--logit_mean", - type=float, - default=0.0, - help="mean to use when using the `'logit_normal'` weighting scheme for timestep distribution. / タイムステップ分布のために`'logit_normal'`重み付けスキームを使用する場合の平均", - ) - parser.add_argument( - "--logit_std", - type=float, - default=1.0, - help="std to use when using the `'logit_normal'` weighting scheme for timestep distribution. / タイムステップ分布のために`'logit_normal'`重み付けスキームを使用する場合のstd", - ) - parser.add_argument( - "--mode_scale", - type=float, - default=1.29, - help="Scale of mode weighting scheme. Only effective when using the `'mode'` as the `weighting_scheme`. / モード重み付けスキームのスケール。`'mode'`を`weighting_scheme`として使用する場合のみ有効", - ) + # Dependencies of Diffusers noise sampler has been removed for clarity in training + parser.add_argument( "--training_shift", type=float, diff --git a/library/train_util.py b/library/train_util.py index a5d6fdd21..e1dfeecdb 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -1887,7 +1887,9 @@ def load_dreambooth_dir(subset: DreamBoothSubset): # make image path to npz path mapping npz_paths = glob.glob(os.path.join(subset.image_dir, "*" + strategy.cache_suffix)) - npz_paths.sort(key=lambda item: item.rsplit("_", maxsplit=2)[0]) # sort by name excluding resolution and cache_suffix + npz_paths.sort( + key=lambda item: item.rsplit("_", maxsplit=2)[0] + ) # sort by name excluding resolution and cache_suffix npz_path_index = 0 size_set_count = 0 @@ -3537,8 +3539,8 @@ def int_or_float(value): parser.add_argument( "--fused_backward_pass", action="store_true", - help="Combines backward pass and optimizer step to reduce VRAM usage. Only available in SDXL" - + " / バックワードパスとオプティマイザステップを組み合わせてVRAMの使用量を削減します。SDXLでのみ有効", + help="Combines backward pass and optimizer step to reduce VRAM usage. Only available in SDXL, SD3 and FLUX" + " / バックワードパスとオプティマイザステップを組み合わせてVRAMの使用量を削減します。SDXL、SD3、FLUXでのみ利用可能", ) parser.add_argument( "--lr_scheduler_timescale", @@ -4027,6 +4029,72 @@ def add_masked_loss_arguments(parser: argparse.ArgumentParser): ) +def add_dit_training_arguments(parser: argparse.ArgumentParser): + # Text encoder related arguments + parser.add_argument( + "--cache_text_encoder_outputs", action="store_true", help="cache text encoder outputs / text encoderの出力をキャッシュする" + ) + parser.add_argument( + "--cache_text_encoder_outputs_to_disk", + action="store_true", + help="cache text encoder outputs to disk / text encoderの出力をディスクにキャッシュする", + ) + parser.add_argument( + "--text_encoder_batch_size", + type=int, + default=None, + help="text encoder batch size (default: None, use dataset's batch size)" + + " / text encoderのバッチサイズ(デフォルト: None, データセットのバッチサイズを使用)", + ) + + # Model loading optimization + parser.add_argument( + "--disable_mmap_load_safetensors", + action="store_true", + help="disable mmap load for safetensors. Speed up model loading in WSL environment / safetensorsのmmapロードを無効にする。WSL環境等でモデル読み込みを高速化できる", + ) + + # Training arguments. partial copy from Diffusers + parser.add_argument( + "--weighting_scheme", + type=str, + default="uniform", + choices=["sigma_sqrt", "logit_normal", "mode", "cosmap", "none", "uniform"], + help="weighting scheme for timestep distribution. Default is uniform, uniform and none are the same behavior" + " / タイムステップ分布の重み付けスキーム、デフォルトはuniform、uniform と none は同じ挙動", + ) + parser.add_argument( + "--logit_mean", + type=float, + default=0.0, + help="mean to use when using the `'logit_normal'` weighting scheme / `'logit_normal'`重み付けスキームを使用する場合の平均", + ) + parser.add_argument( + "--logit_std", + type=float, + default=1.0, + help="std to use when using the `'logit_normal'` weighting scheme / `'logit_normal'`重み付けスキームを使用する場合のstd", + ) + parser.add_argument( + "--mode_scale", + type=float, + default=1.29, + help="Scale of mode weighting scheme. Only effective when using the `'mode'` as the `weighting_scheme` / モード重み付けスキームのスケール", + ) + + # offloading + parser.add_argument( + "--blocks_to_swap", + type=int, + default=None, + help="[EXPERIMENTAL] " + "Sets the number of blocks to swap during the forward and backward passes." + "Increasing this number lowers the overall VRAM used during training at the expense of training speed (s/it)." + " / 順伝播および逆伝播中にスワップするブロックの数を設定します。" + "この数を増やすと、トレーニング中のVRAM使用量が減りますが、トレーニング速度(s/it)も低下します。", + ) + + def get_sanitized_config_or_none(args: argparse.Namespace): # if `--log_config` is enabled, return args for logging. if not, return None. # when `--log_config is enabled, filter out sensitive values from args diff --git a/sd3_train.py b/sd3_train.py index 24ecbfb7d..a4fc2eec8 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -201,21 +201,6 @@ def train(args): # モデルを読み込む # t5xxl_dtype = weight_dtype - # if args.t5xxl_dtype is not None: - # if args.t5xxl_dtype == "fp16": - # t5xxl_dtype = torch.float16 - # elif args.t5xxl_dtype == "bf16": - # t5xxl_dtype = torch.bfloat16 - # elif args.t5xxl_dtype == "fp32" or args.t5xxl_dtype == "float": - # t5xxl_dtype = torch.float32 - # else: - # raise ValueError(f"unexpected t5xxl_dtype: {args.t5xxl_dtype}") - # t5xxl_device = accelerator.device if args.t5xxl_device is None else args.t5xxl_device - # clip_dtype = weight_dtype # if not args.train_text_encoder else None - - # if clip_l is not specified, the checkpoint must contain clip_l, so we load state dict here - # if full_fp16/bf16, model_dtype is casted to fp16/bf16. If not, model_dtype is None (float32). - # by loading with model_dtype, we can reduce memory usage. model_dtype = match_mixed_precision(args, weight_dtype) # None (default) or fp16/bf16 (full_xxxx) if args.clip_l is None: sd3_state_dict = utils.load_safetensors( @@ -384,7 +369,7 @@ def train(args): # Swap blocks between CPU and GPU to reduce memory usage, in forward and backward passes. # This idea is based on 2kpr's great work. Thank you! logger.info(f"enable block swap: blocks_to_swap={args.blocks_to_swap}") - mmdit.enable_block_swap(args.blocks_to_swap) + mmdit.enable_block_swap(args.blocks_to_swap, accelerator.device) if not cache_latents: # move to accelerator device @@ -611,108 +596,21 @@ def train(args): # resumeする train_util.resume_from_local_or_hf_if_specified(accelerator, args) - # memory efficient block swapping - - def submit_move_blocks(futures, thread_pool, block_idx_to_cpu, block_idx_to_cuda, blocks, device): - def move_blocks(bidx_to_cpu, block_to_cpu, bidx_to_cuda, block_to_cuda, dvc): - # print(f"Backward: Move block {bidx_to_cpu} to CPU") - block_to_cpu = block_to_cpu.to("cpu", non_blocking=True) - torch.cuda.empty_cache() - - # print(f"Backward: Move block {bidx_to_cuda} to CUDA") - block_to_cuda = block_to_cuda.to(dvc, non_blocking=True) - torch.cuda.synchronize() - # print(f"Backward: Done moving blocks {bidx_to_cpu} and {bidx_to_cuda}") - return bidx_to_cpu, bidx_to_cuda - - block_to_cpu = blocks[block_idx_to_cpu] - block_to_cuda = blocks[block_idx_to_cuda] - - futures[block_idx_to_cuda] = thread_pool.submit( - move_blocks, block_idx_to_cpu, block_to_cpu, block_idx_to_cuda, block_to_cuda, device - ) - - def wait_blocks_move(block_idx, futures): - if block_idx not in futures: - return - future = futures.pop(block_idx) - future.result() - if args.fused_backward_pass: # use fused optimizer for backward pass: other optimizers will be supported in the future import library.adafactor_fused library.adafactor_fused.patch_adafactor_fused(optimizer) - blocks_to_swap = args.blocks_to_swap - num_blocks = len(accelerator.unwrap_model(mmdit).joint_blocks) - handled_block_indices = set() - - n = 1 # only asynchronous purpose, no need to increase this number - # n = 2 - # n = max(1, os.cpu_count() // 2) - thread_pool = ThreadPoolExecutor(max_workers=n) - futures = {} - for param_group, param_name_group in zip(optimizer.param_groups, param_names): for parameter, param_name in zip(param_group["params"], param_name_group): if parameter.requires_grad: - grad_hook = None - - if blocks_to_swap: - is_block = param_name.startswith("joint_blocks") - if is_block: - block_idx = int(param_name.split(".")[1]) - if block_idx not in handled_block_indices: - # swap following (already backpropagated) block - handled_block_indices.add(block_idx) - - # if n blocks were already backpropagated - num_blocks_propagated = num_blocks - block_idx - 1 - swapping = num_blocks_propagated > 0 and num_blocks_propagated <= blocks_to_swap - waiting = block_idx > 0 and block_idx <= blocks_to_swap - if swapping or waiting: - block_idx_to_cpu = num_blocks - num_blocks_propagated - block_idx_to_cuda = blocks_to_swap - num_blocks_propagated - block_idx_to_wait = block_idx - 1 - - # create swap hook - def create_swap_grad_hook( - bidx_to_cpu, bidx_to_cuda, bidx_to_wait, bidx: int, swpng: bool, wtng: bool - ): - def __grad_hook(tensor: torch.Tensor): - if accelerator.sync_gradients and args.max_grad_norm != 0.0: - accelerator.clip_grad_norm_(tensor, args.max_grad_norm) - optimizer.step_param(tensor, param_group) - tensor.grad = None - - if swpng: - submit_move_blocks( - futures, - thread_pool, - bidx_to_cpu, - bidx_to_cuda, - mmdit.joint_blocks, - accelerator.device, - ) - if wtng: - wait_blocks_move(bidx_to_wait, futures) - - return __grad_hook - - grad_hook = create_swap_grad_hook( - block_idx_to_cpu, block_idx_to_cuda, block_idx_to_wait, block_idx, swapping, waiting - ) - - if grad_hook is None: - - def __grad_hook(tensor: torch.Tensor, param_group=param_group): - if accelerator.sync_gradients and args.max_grad_norm != 0.0: - accelerator.clip_grad_norm_(tensor, args.max_grad_norm) - optimizer.step_param(tensor, param_group) - tensor.grad = None - grad_hook = __grad_hook + def grad_hook(tensor: torch.Tensor, param_group=param_group): + if accelerator.sync_gradients and args.max_grad_norm != 0.0: + accelerator.clip_grad_norm_(tensor, args.max_grad_norm) + optimizer.step_param(tensor, param_group) + tensor.grad = None parameter.register_post_accumulate_grad_hook(grad_hook) @@ -731,59 +629,22 @@ def __grad_hook(tensor: torch.Tensor, param_group=param_group): num_parameters_per_group = [0] * len(optimizers) parameter_optimizer_map = {} - blocks_to_swap = args.blocks_to_swap - num_blocks = len(accelerator.unwrap_model(mmdit).joint_blocks) - - n = 1 # only asynchronous purpose, no need to increase this number - # n = max(1, os.cpu_count() // 2) - thread_pool = ThreadPoolExecutor(max_workers=n) - futures = {} - for opt_idx, optimizer in enumerate(optimizers): for param_group in optimizer.param_groups: for parameter in param_group["params"]: if parameter.requires_grad: - block_type, block_idx = block_types_and_indices[opt_idx] - - def create_optimizer_hook(btype, bidx): - def optimizer_hook(parameter: torch.Tensor): - # print(f"optimizer_hook: {btype}, {bidx}") - if accelerator.sync_gradients and args.max_grad_norm != 0.0: - accelerator.clip_grad_norm_(parameter, args.max_grad_norm) - - i = parameter_optimizer_map[parameter] - optimizer_hooked_count[i] += 1 - if optimizer_hooked_count[i] == num_parameters_per_group[i]: - optimizers[i].step() - optimizers[i].zero_grad(set_to_none=True) - - # swap blocks if necessary - if blocks_to_swap and btype == "joint": - num_blocks_propagated = num_blocks - bidx - - swapping = num_blocks_propagated > 0 and num_blocks_propagated <= blocks_to_swap - waiting = bidx > 0 and bidx <= blocks_to_swap - - if swapping: - block_idx_to_cpu = num_blocks - num_blocks_propagated - block_idx_to_cuda = blocks_to_swap - num_blocks_propagated - # print(f"Backward: Swap blocks {block_idx_to_cpu} and {block_idx_to_cuda}") - submit_move_blocks( - futures, - thread_pool, - block_idx_to_cpu, - block_idx_to_cuda, - mmdit.joint_blocks, - accelerator.device, - ) - - if waiting: - block_idx_to_wait = bidx - 1 - wait_blocks_move(block_idx_to_wait, futures) - - return optimizer_hook - - parameter.register_post_accumulate_grad_hook(create_optimizer_hook(block_type, block_idx)) + + def grad_hook(parameter: torch.Tensor): + if accelerator.sync_gradients and args.max_grad_norm != 0.0: + accelerator.clip_grad_norm_(parameter, args.max_grad_norm) + + i = parameter_optimizer_map[parameter] + optimizer_hooked_count[i] += 1 + if optimizer_hooked_count[i] == num_parameters_per_group[i]: + optimizers[i].step() + optimizers[i].zero_grad(set_to_none=True) + + parameter.register_post_accumulate_grad_hook(grad_hook) parameter_optimizer_map[parameter] = opt_idx num_parameters_per_group[opt_idx] += 1 @@ -1130,6 +991,7 @@ def setup_parser() -> argparse.ArgumentParser: train_util.add_optimizer_arguments(parser) config_util.add_config_arguments(parser) add_custom_train_arguments(parser) + train_util.add_dit_training_arguments(parser) sd3_train_utils.add_sd3_training_arguments(parser) parser.add_argument( @@ -1190,16 +1052,6 @@ def setup_parser() -> argparse.ArgumentParser: action="store_true", help="[Deprecated] use 'skip_cache_check' instead / 代わりに 'skip_cache_check' を使用してください", ) - parser.add_argument( - "--blocks_to_swap", - type=int, - default=None, - help="[EXPERIMENTAL] " - "Sets the number of blocks (~640MB) to swap during the forward and backward passes." - "Increasing this number lowers the overall VRAM used during training at the expense of training speed (s/it)." - " / 順伝播および逆伝播中にスワップするブロック(約640MB)の数を設定します。" - "この数を増やすと、トレーニング中のVRAM使用量が減りますが、トレーニング速度(s/it)も低下します。", - ) parser.add_argument( "--num_last_block_to_freeze", type=int, diff --git a/sd3_train_network.py b/sd3_train_network.py index bb02c7ac7..1726e325f 100644 --- a/sd3_train_network.py +++ b/sd3_train_network.py @@ -51,6 +51,10 @@ def assert_extra_args(self, args, train_dataset_group: train_util.DatasetGroup): if args.max_token_length is not None: logger.warning("max_token_length is not used in Flux training / max_token_lengthはFluxのトレーニングでは使用されません") + assert ( + args.blocks_to_swap is None or args.blocks_to_swap == 0 + ) or not args.cpu_offload_checkpointing, "blocks_to_swap is not supported with cpu_offload_checkpointing / blocks_to_swapはcpu_offload_checkpointingと併用できません" + train_dataset_group.verify_bucket_reso_steps(32) # TODO check this # enumerate resolutions from dataset for positional embeddings @@ -83,6 +87,17 @@ def load_target_model(self, args, weight_dtype, accelerator): raise ValueError(f"Unsupported fp8 model dtype: {mmdit.dtype}") elif mmdit.dtype == torch.float8_e4m3fn: logger.info("Loaded fp8 SD3 model") + else: + logger.info( + "Cast SD3 model to fp8. This may take a while. You can reduce the time by using fp8 checkpoint." + " / SD3モデルをfp8に変換しています。これには時間がかかる場合があります。fp8チェックポイントを使用することで時間を短縮できます。" + ) + mmdit.to(torch.float8_e4m3fn) + self.is_swapping_blocks = args.blocks_to_swap is not None and args.blocks_to_swap > 0 + if self.is_swapping_blocks: + # Swap blocks between CPU and GPU to reduce memory usage, in forward and backward passes. + logger.info(f"enable block swap: blocks_to_swap={args.blocks_to_swap}") + mmdit.enable_block_swap(args.blocks_to_swap, accelerator.device) clip_l = sd3_utils.load_clip_l( args.clip_l, weight_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors, state_dict=state_dict @@ -432,9 +447,24 @@ def on_step_start(self, args, accelerator, network, text_encoders, unet, batch, text_encoder_outputs_list = text_encodoing_strategy.drop_cached_text_encoder_outputs(*text_encoder_outputs_list) batch["text_encoder_outputs_list"] = text_encoder_outputs_list + def prepare_unet_with_accelerator( + self, args: argparse.Namespace, accelerator: Accelerator, unet: torch.nn.Module + ) -> torch.nn.Module: + if not self.is_swapping_blocks: + return super().prepare_unet_with_accelerator(args, accelerator, unet) + + # if we doesn't swap blocks, we can move the model to device + mmdit: sd3_models.MMDiT = unet + mmdit = accelerator.prepare(mmdit, device_placement=[not self.is_swapping_blocks]) + accelerator.unwrap_model(mmdit).move_to_device_except_swap_blocks(accelerator.device) # reduce peak memory usage + accelerator.unwrap_model(mmdit).prepare_block_swap_before_forward() + + return mmdit + def setup_parser() -> argparse.ArgumentParser: parser = train_network.setup_parser() + train_util.add_dit_training_arguments(parser) sd3_train_utils.add_sd3_training_arguments(parser) return parser diff --git a/tools/cache_latents.py b/tools/cache_latents.py index e2faa58a7..c034f949a 100644 --- a/tools/cache_latents.py +++ b/tools/cache_latents.py @@ -164,6 +164,7 @@ def setup_parser() -> argparse.ArgumentParser: train_util.add_dataset_arguments(parser, True, True, True) train_util.add_masked_loss_arguments(parser) config_util.add_config_arguments(parser) + train_util.add_dit_training_arguments(parser) flux_train_utils.add_flux_train_arguments(parser) parser.add_argument("--sdxl", action="store_true", help="Use SDXL model / SDXLモデルを使用する") diff --git a/tools/cache_text_encoder_outputs.py b/tools/cache_text_encoder_outputs.py index 7be9ad781..5888b8e3d 100644 --- a/tools/cache_text_encoder_outputs.py +++ b/tools/cache_text_encoder_outputs.py @@ -191,6 +191,7 @@ def setup_parser() -> argparse.ArgumentParser: train_util.add_dataset_arguments(parser, True, True, True) train_util.add_masked_loss_arguments(parser) config_util.add_config_arguments(parser) + train_util.add_dit_training_arguments(parser) flux_train_utils.add_flux_train_arguments(parser) parser.add_argument("--sdxl", action="store_true", help="Use SDXL model / SDXLモデルを使用する") diff --git a/train_network.py b/train_network.py index d70f14ad3..bbf381f99 100644 --- a/train_network.py +++ b/train_network.py @@ -601,8 +601,10 @@ def train(self, args): # unet.to(accelerator.device) # this makes faster `to(dtype)` below, but consumes 23 GB VRAM # unet.to(dtype=unet_weight_dtype) # without moving to gpu, this takes a lot of time and main memory - logger.info(f"set U-Net weight dtype to {unet_weight_dtype}, device to {accelerator.device}") - unet.to(accelerator.device, dtype=unet_weight_dtype) # this seems to be safer than above + # logger.info(f"set U-Net weight dtype to {unet_weight_dtype}, device to {accelerator.device}") + # unet.to(accelerator.device, dtype=unet_weight_dtype) # this seems to be safer than above + logger.info(f"set U-Net weight dtype to {unet_weight_dtype}") + unet.to(dtype=unet_weight_dtype) # do not move to device because unet is not prepared by accelerator unet.requires_grad_(False) unet.to(dtype=unet_weight_dtype) From 2bb0f547d72cd0256cafebd46d0f61fbe54012ac Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 14 Nov 2024 19:33:12 +0900 Subject: [PATCH 340/748] update grad hook creation to fix TE lr in sd3 fine tuning --- flux_train.py | 19 ++++++++++++------- library/train_util.py | 1 + sd3_train.py | 15 +++++++++------ 3 files changed, 22 insertions(+), 13 deletions(-) diff --git a/flux_train.py b/flux_train.py index ad2c7722b..a89e2f139 100644 --- a/flux_train.py +++ b/flux_train.py @@ -80,7 +80,9 @@ def train(args): assert ( args.blocks_to_swap is None or args.blocks_to_swap == 0 - ) or not args.cpu_offload_checkpointing, "blocks_to_swap is not supported with cpu_offload_checkpointing / blocks_to_swapはcpu_offload_checkpointingと併用できません" + ) or not args.cpu_offload_checkpointing, ( + "blocks_to_swap is not supported with cpu_offload_checkpointing / blocks_to_swapはcpu_offload_checkpointingと併用できません" + ) cache_latents = args.cache_latents use_dreambooth_method = args.in_json is None @@ -480,13 +482,16 @@ def train(args): for parameter, param_name in zip(param_group["params"], param_name_group): if parameter.requires_grad: - def grad_hook(tensor: torch.Tensor, param_group=param_group): - if accelerator.sync_gradients and args.max_grad_norm != 0.0: - accelerator.clip_grad_norm_(tensor, args.max_grad_norm) - optimizer.step_param(tensor, param_group) - tensor.grad = None + def create_grad_hook(p_name, p_group): + def grad_hook(tensor: torch.Tensor): + if accelerator.sync_gradients and args.max_grad_norm != 0.0: + accelerator.clip_grad_norm_(tensor, args.max_grad_norm) + optimizer.step_param(tensor, p_group) + tensor.grad = None + + return grad_hook - parameter.register_post_accumulate_grad_hook(grad_hook) + parameter.register_post_accumulate_grad_hook(create_grad_hook(param_name, param_group)) elif args.blockwise_fused_optimizers: # prepare for additional optimizers and lr schedulers diff --git a/library/train_util.py b/library/train_util.py index e1dfeecdb..25cf7640d 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -5913,6 +5913,7 @@ def append_lr_to_logs(logs, lr_scheduler, optimizer_type, including_unet=True): names.append("unet") names.append("text_encoder1") names.append("text_encoder2") + names.append("text_encoder3") # SD3 append_lr_to_logs_with_names(logs, lr_scheduler, optimizer_type, names) diff --git a/sd3_train.py b/sd3_train.py index a4fc2eec8..96ec951b9 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -606,13 +606,16 @@ def train(args): for parameter, param_name in zip(param_group["params"], param_name_group): if parameter.requires_grad: - def grad_hook(tensor: torch.Tensor, param_group=param_group): - if accelerator.sync_gradients and args.max_grad_norm != 0.0: - accelerator.clip_grad_norm_(tensor, args.max_grad_norm) - optimizer.step_param(tensor, param_group) - tensor.grad = None + def create_grad_hook(p_name, p_group): + def grad_hook(tensor: torch.Tensor): + if accelerator.sync_gradients and args.max_grad_norm != 0.0: + accelerator.clip_grad_norm_(tensor, args.max_grad_norm) + optimizer.step_param(tensor, p_group) + tensor.grad = None + + return grad_hook - parameter.register_post_accumulate_grad_hook(grad_hook) + parameter.register_post_accumulate_grad_hook(create_grad_hook(param_name, param_group)) elif args.blockwise_fused_optimizers: # prepare for additional optimizers and lr schedulers From 5c5b544b91ac434c12a372cbf1dc123a367ec878 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 14 Nov 2024 19:35:43 +0900 Subject: [PATCH 341/748] refactor: remove unused prepare_split_model method from FluxNetworkTrainer --- flux_train_network.py | 39 --------------------------------------- 1 file changed, 39 deletions(-) diff --git a/flux_train_network.py b/flux_train_network.py index 9bcd59282..704c4d32e 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -127,45 +127,6 @@ def load_target_model(self, args, weight_dtype, accelerator): return flux_utils.MODEL_VERSION_FLUX_V1, [clip_l, t5xxl], ae, model - """ - def prepare_split_model(self, model, weight_dtype, accelerator): - from accelerate import init_empty_weights - - logger.info("prepare split model") - with init_empty_weights(): - flux_upper = flux_models.FluxUpper(model.params) - flux_lower = flux_models.FluxLower(model.params) - sd = model.state_dict() - - # lower (trainable) - logger.info("load state dict for lower") - flux_lower.load_state_dict(sd, strict=False, assign=True) - flux_lower.to(dtype=weight_dtype) - - # upper (frozen) - logger.info("load state dict for upper") - flux_upper.load_state_dict(sd, strict=False, assign=True) - - logger.info("prepare upper model") - target_dtype = torch.float8_e4m3fn if args.fp8_base else weight_dtype - flux_upper.to(accelerator.device, dtype=target_dtype) - flux_upper.eval() - - if args.fp8_base: - # this is required to run on fp8 - flux_upper = accelerator.prepare(flux_upper) - - flux_upper.to("cpu") - - self.flux_upper = flux_upper - del model # we don't need model anymore - clean_memory_on_device(accelerator.device) - - logger.info("split model prepared") - - return flux_lower - """ - def get_tokenize_strategy(self, args): _, is_schnell, _, _ = flux_utils.analyze_checkpoint_state(args.pretrained_model_name_or_path) From fd2d879ac883b8bdf1e03b6ca545c33200dbdff2 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 14 Nov 2024 19:43:08 +0900 Subject: [PATCH 342/748] docs: update README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1e63b5830..81a3199bc 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ The command to install PyTorch is as follows: ### Recent Updates -Nov 12, 2024: +Nov 14, 2024: - Improved the implementation of block swap and made it available for both FLUX.1 and SD3 LoRA training. See [FLUX.1 LoRA training](#flux1-lora-training) etc. for how to use the new options. Training is possible with about 8-10GB of VRAM. - During fine-tuning, the memory usage when specifying the same number of blocks has increased slightly, but the training speed when specifying block swap has been significantly improved. From ccfaa001e74f80798e528b4b3ea6ef811017c07b Mon Sep 17 00:00:00 2001 From: minux302 Date: Fri, 15 Nov 2024 20:21:28 +0900 Subject: [PATCH 343/748] add flux controlnet base module --- flux_train_control_net.py | 573 ++++++++++++++++++++++++++++++++++++++ flux_train_network.py | 5 +- library/flux_models.py | 257 ++++++++++++++++- library/flux_utils.py | 8 + 4 files changed, 841 insertions(+), 2 deletions(-) create mode 100644 flux_train_control_net.py diff --git a/flux_train_control_net.py b/flux_train_control_net.py new file mode 100644 index 000000000..704c4d32e --- /dev/null +++ b/flux_train_control_net.py @@ -0,0 +1,573 @@ +import argparse +import copy +import math +import random +from typing import Any, Optional + +import torch +from accelerate import Accelerator +from library.device_utils import init_ipex, clean_memory_on_device + +init_ipex() + +from library import flux_models, flux_train_utils, flux_utils, sd3_train_utils, strategy_base, strategy_flux, train_util +import train_network +from library.utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + + +class FluxNetworkTrainer(train_network.NetworkTrainer): + def __init__(self): + super().__init__() + self.sample_prompts_te_outputs = None + self.is_schnell: Optional[bool] = None + self.is_swapping_blocks: bool = False + + def assert_extra_args(self, args, train_dataset_group): + super().assert_extra_args(args, train_dataset_group) + # sdxl_train_util.verify_sdxl_training_args(args) + + if args.fp8_base_unet: + args.fp8_base = True # if fp8_base_unet is enabled, fp8_base is also enabled for FLUX.1 + + if args.cache_text_encoder_outputs_to_disk and not args.cache_text_encoder_outputs: + logger.warning( + "cache_text_encoder_outputs_to_disk is enabled, so cache_text_encoder_outputs is also enabled / cache_text_encoder_outputs_to_diskが有効になっているため、cache_text_encoder_outputsも有効になります" + ) + args.cache_text_encoder_outputs = True + + if args.cache_text_encoder_outputs: + assert ( + train_dataset_group.is_text_encoder_output_cacheable() + ), "when caching Text Encoder output, either caption_dropout_rate, shuffle_caption, token_warmup_step or caption_tag_dropout_rate cannot be used / Text Encoderの出力をキャッシュするときはcaption_dropout_rate, shuffle_caption, token_warmup_step, caption_tag_dropout_rateは使えません" + + # prepare CLIP-L/T5XXL training flags + self.train_clip_l = not args.network_train_unet_only + self.train_t5xxl = False # default is False even if args.network_train_unet_only is False + + if args.max_token_length is not None: + logger.warning("max_token_length is not used in Flux training / max_token_lengthはFluxのトレーニングでは使用されません") + + assert ( + args.blocks_to_swap is None or args.blocks_to_swap == 0 + ) or not args.cpu_offload_checkpointing, "blocks_to_swap is not supported with cpu_offload_checkpointing / blocks_to_swapはcpu_offload_checkpointingと併用できません" + + # deprecated split_mode option + if args.split_mode: + if args.blocks_to_swap is not None: + logger.warning( + "split_mode is deprecated. Because `--blocks_to_swap` is set, `--split_mode` is ignored." + " / split_modeは非推奨です。`--blocks_to_swap`が設定されているため、`--split_mode`は無視されます。" + ) + else: + logger.warning( + "split_mode is deprecated. Please use `--blocks_to_swap` instead. `--blocks_to_swap 18` is automatically set." + " / split_modeは非推奨です。代わりに`--blocks_to_swap`を使用してください。`--blocks_to_swap 18`が自動的に設定されました。" + ) + args.blocks_to_swap = 18 # 18 is safe for most cases + + train_dataset_group.verify_bucket_reso_steps(32) # TODO check this + + def load_target_model(self, args, weight_dtype, accelerator): + # currently offload to cpu for some models + + # if the file is fp8 and we are using fp8_base, we can load it as is (fp8) + loading_dtype = None if args.fp8_base else weight_dtype + + # if we load to cpu, flux.to(fp8) takes a long time, so we should load to gpu in future + self.is_schnell, model = flux_utils.load_flow_model( + args.pretrained_model_name_or_path, loading_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors + ) + if args.fp8_base: + # check dtype of model + if model.dtype == torch.float8_e4m3fnuz or model.dtype == torch.float8_e5m2 or model.dtype == torch.float8_e5m2fnuz: + raise ValueError(f"Unsupported fp8 model dtype: {model.dtype}") + elif model.dtype == torch.float8_e4m3fn: + logger.info("Loaded fp8 FLUX model") + else: + logger.info( + "Cast FLUX model to fp8. This may take a while. You can reduce the time by using fp8 checkpoint." + " / FLUXモデルをfp8に変換しています。これには時間がかかる場合があります。fp8チェックポイントを使用することで時間を短縮できます。" + ) + model.to(torch.float8_e4m3fn) + + # if args.split_mode: + # model = self.prepare_split_model(model, weight_dtype, accelerator) + + self.is_swapping_blocks = args.blocks_to_swap is not None and args.blocks_to_swap > 0 + if self.is_swapping_blocks: + # Swap blocks between CPU and GPU to reduce memory usage, in forward and backward passes. + logger.info(f"enable block swap: blocks_to_swap={args.blocks_to_swap}") + model.enable_block_swap(args.blocks_to_swap, accelerator.device) + + clip_l = flux_utils.load_clip_l(args.clip_l, weight_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors) + clip_l.eval() + + # if the file is fp8 and we are using fp8_base (not unet), we can load it as is (fp8) + if args.fp8_base and not args.fp8_base_unet: + loading_dtype = None # as is + else: + loading_dtype = weight_dtype + + # loading t5xxl to cpu takes a long time, so we should load to gpu in future + t5xxl = flux_utils.load_t5xxl(args.t5xxl, loading_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors) + t5xxl.eval() + if args.fp8_base and not args.fp8_base_unet: + # check dtype of model + if t5xxl.dtype == torch.float8_e4m3fnuz or t5xxl.dtype == torch.float8_e5m2 or t5xxl.dtype == torch.float8_e5m2fnuz: + raise ValueError(f"Unsupported fp8 model dtype: {t5xxl.dtype}") + elif t5xxl.dtype == torch.float8_e4m3fn: + logger.info("Loaded fp8 T5XXL model") + + ae = flux_utils.load_ae(args.ae, weight_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors) + + return flux_utils.MODEL_VERSION_FLUX_V1, [clip_l, t5xxl], ae, model + + def get_tokenize_strategy(self, args): + _, is_schnell, _, _ = flux_utils.analyze_checkpoint_state(args.pretrained_model_name_or_path) + + if args.t5xxl_max_token_length is None: + if is_schnell: + t5xxl_max_token_length = 256 + else: + t5xxl_max_token_length = 512 + else: + t5xxl_max_token_length = args.t5xxl_max_token_length + + logger.info(f"t5xxl_max_token_length: {t5xxl_max_token_length}") + return strategy_flux.FluxTokenizeStrategy(t5xxl_max_token_length, args.tokenizer_cache_dir) + + def get_tokenizers(self, tokenize_strategy: strategy_flux.FluxTokenizeStrategy): + return [tokenize_strategy.clip_l, tokenize_strategy.t5xxl] + + def get_latents_caching_strategy(self, args): + latents_caching_strategy = strategy_flux.FluxLatentsCachingStrategy(args.cache_latents_to_disk, args.vae_batch_size, False) + return latents_caching_strategy + + def get_text_encoding_strategy(self, args): + return strategy_flux.FluxTextEncodingStrategy(apply_t5_attn_mask=args.apply_t5_attn_mask) + + def post_process_network(self, args, accelerator, network, text_encoders, unet): + # check t5xxl is trained or not + self.train_t5xxl = network.train_t5xxl + + if self.train_t5xxl and args.cache_text_encoder_outputs: + raise ValueError( + "T5XXL is trained, so cache_text_encoder_outputs cannot be used / T5XXL学習時はcache_text_encoder_outputsは使用できません" + ) + + def get_models_for_text_encoding(self, args, accelerator, text_encoders): + if args.cache_text_encoder_outputs: + if self.train_clip_l and not self.train_t5xxl: + return text_encoders[0:1] # only CLIP-L is needed for encoding because T5XXL is cached + else: + return None # no text encoders are needed for encoding because both are cached + else: + return text_encoders # both CLIP-L and T5XXL are needed for encoding + + def get_text_encoders_train_flags(self, args, text_encoders): + return [self.train_clip_l, self.train_t5xxl] + + def get_text_encoder_outputs_caching_strategy(self, args): + if args.cache_text_encoder_outputs: + # if the text encoders is trained, we need tokenization, so is_partial is True + return strategy_flux.FluxTextEncoderOutputsCachingStrategy( + args.cache_text_encoder_outputs_to_disk, + args.text_encoder_batch_size, + args.skip_cache_check, + is_partial=self.train_clip_l or self.train_t5xxl, + apply_t5_attn_mask=args.apply_t5_attn_mask, + ) + else: + return None + + def cache_text_encoder_outputs_if_needed( + self, args, accelerator: Accelerator, unet, vae, text_encoders, dataset: train_util.DatasetGroup, weight_dtype + ): + if args.cache_text_encoder_outputs: + if not args.lowram: + # メモリ消費を減らす + logger.info("move vae and unet to cpu to save memory") + org_vae_device = vae.device + org_unet_device = unet.device + vae.to("cpu") + unet.to("cpu") + clean_memory_on_device(accelerator.device) + + # When TE is not be trained, it will not be prepared so we need to use explicit autocast + logger.info("move text encoders to gpu") + text_encoders[0].to(accelerator.device, dtype=weight_dtype) # always not fp8 + text_encoders[1].to(accelerator.device) + + if text_encoders[1].dtype == torch.float8_e4m3fn: + # if we load fp8 weights, the model is already fp8, so we use it as is + self.prepare_text_encoder_fp8(1, text_encoders[1], text_encoders[1].dtype, weight_dtype) + else: + # otherwise, we need to convert it to target dtype + text_encoders[1].to(weight_dtype) + + with accelerator.autocast(): + dataset.new_cache_text_encoder_outputs(text_encoders, accelerator) + + # cache sample prompts + if args.sample_prompts is not None: + logger.info(f"cache Text Encoder outputs for sample prompt: {args.sample_prompts}") + + tokenize_strategy: strategy_flux.FluxTokenizeStrategy = strategy_base.TokenizeStrategy.get_strategy() + text_encoding_strategy: strategy_flux.FluxTextEncodingStrategy = strategy_base.TextEncodingStrategy.get_strategy() + + prompts = train_util.load_prompts(args.sample_prompts) + sample_prompts_te_outputs = {} # key: prompt, value: text encoder outputs + with accelerator.autocast(), torch.no_grad(): + for prompt_dict in prompts: + for p in [prompt_dict.get("prompt", ""), prompt_dict.get("negative_prompt", "")]: + if p not in sample_prompts_te_outputs: + logger.info(f"cache Text Encoder outputs for prompt: {p}") + tokens_and_masks = tokenize_strategy.tokenize(p) + sample_prompts_te_outputs[p] = text_encoding_strategy.encode_tokens( + tokenize_strategy, text_encoders, tokens_and_masks, args.apply_t5_attn_mask + ) + self.sample_prompts_te_outputs = sample_prompts_te_outputs + + accelerator.wait_for_everyone() + + # move back to cpu + if not self.is_train_text_encoder(args): + logger.info("move CLIP-L back to cpu") + text_encoders[0].to("cpu") + logger.info("move t5XXL back to cpu") + text_encoders[1].to("cpu") + clean_memory_on_device(accelerator.device) + + if not args.lowram: + logger.info("move vae and unet back to original device") + vae.to(org_vae_device) + unet.to(org_unet_device) + else: + # Text Encoderから毎回出力を取得するので、GPUに乗せておく + text_encoders[0].to(accelerator.device, dtype=weight_dtype) + text_encoders[1].to(accelerator.device) + + # def call_unet(self, args, accelerator, unet, noisy_latents, timesteps, text_conds, batch, weight_dtype): + # noisy_latents = noisy_latents.to(weight_dtype) # TODO check why noisy_latents is not weight_dtype + + # # get size embeddings + # orig_size = batch["original_sizes_hw"] + # crop_size = batch["crop_top_lefts"] + # target_size = batch["target_sizes_hw"] + # embs = sdxl_train_util.get_size_embeddings(orig_size, crop_size, target_size, accelerator.device).to(weight_dtype) + + # # concat embeddings + # encoder_hidden_states1, encoder_hidden_states2, pool2 = text_conds + # vector_embedding = torch.cat([pool2, embs], dim=1).to(weight_dtype) + # text_embedding = torch.cat([encoder_hidden_states1, encoder_hidden_states2], dim=2).to(weight_dtype) + + # noise_pred = unet(noisy_latents, timesteps, text_embedding, vector_embedding) + # return noise_pred + + def sample_images(self, accelerator, args, epoch, global_step, device, ae, tokenizer, text_encoder, flux): + text_encoders = text_encoder # for compatibility + text_encoders = self.get_models_for_text_encoding(args, accelerator, text_encoders) + + flux_train_utils.sample_images( + accelerator, args, epoch, global_step, flux, ae, text_encoders, self.sample_prompts_te_outputs + ) + # return + + """ + class FluxUpperLowerWrapper(torch.nn.Module): + def __init__(self, flux_upper: flux_models.FluxUpper, flux_lower: flux_models.FluxLower, device: torch.device): + super().__init__() + self.flux_upper = flux_upper + self.flux_lower = flux_lower + self.target_device = device + + def prepare_block_swap_before_forward(self): + pass + + def forward(self, img, img_ids, txt, txt_ids, timesteps, y, guidance=None, txt_attention_mask=None): + self.flux_lower.to("cpu") + clean_memory_on_device(self.target_device) + self.flux_upper.to(self.target_device) + img, txt, vec, pe = self.flux_upper(img, img_ids, txt, txt_ids, timesteps, y, guidance, txt_attention_mask) + self.flux_upper.to("cpu") + clean_memory_on_device(self.target_device) + self.flux_lower.to(self.target_device) + return self.flux_lower(img, txt, vec, pe, txt_attention_mask) + + wrapper = FluxUpperLowerWrapper(self.flux_upper, flux, accelerator.device) + clean_memory_on_device(accelerator.device) + flux_train_utils.sample_images( + accelerator, args, epoch, global_step, wrapper, ae, text_encoders, self.sample_prompts_te_outputs + ) + clean_memory_on_device(accelerator.device) + """ + + def get_noise_scheduler(self, args: argparse.Namespace, device: torch.device) -> Any: + noise_scheduler = sd3_train_utils.FlowMatchEulerDiscreteScheduler(num_train_timesteps=1000, shift=args.discrete_flow_shift) + self.noise_scheduler_copy = copy.deepcopy(noise_scheduler) + return noise_scheduler + + def encode_images_to_latents(self, args, accelerator, vae, images): + return vae.encode(images) + + def shift_scale_latents(self, args, latents): + return latents + + def get_noise_pred_and_target( + self, + args, + accelerator, + noise_scheduler, + latents, + batch, + text_encoder_conds, + unet: flux_models.Flux, + network, + weight_dtype, + train_unet, + ): + # Sample noise that we'll add to the latents + noise = torch.randn_like(latents) + bsz = latents.shape[0] + + # get noisy model input and timesteps + noisy_model_input, timesteps, sigmas = flux_train_utils.get_noisy_model_input_and_timesteps( + args, noise_scheduler, latents, noise, accelerator.device, weight_dtype + ) + + # pack latents and get img_ids + packed_noisy_model_input = flux_utils.pack_latents(noisy_model_input) # b, c, h*2, w*2 -> b, h*w, c*4 + packed_latent_height, packed_latent_width = noisy_model_input.shape[2] // 2, noisy_model_input.shape[3] // 2 + img_ids = flux_utils.prepare_img_ids(bsz, packed_latent_height, packed_latent_width).to(device=accelerator.device) + + # get guidance + # ensure guidance_scale in args is float + guidance_vec = torch.full((bsz,), float(args.guidance_scale), device=accelerator.device) + + # ensure the hidden state will require grad + if args.gradient_checkpointing: + noisy_model_input.requires_grad_(True) + for t in text_encoder_conds: + if t is not None and t.dtype.is_floating_point: + t.requires_grad_(True) + img_ids.requires_grad_(True) + guidance_vec.requires_grad_(True) + + # Predict the noise residual + l_pooled, t5_out, txt_ids, t5_attn_mask = text_encoder_conds + if not args.apply_t5_attn_mask: + t5_attn_mask = None + + def call_dit(img, img_ids, t5_out, txt_ids, l_pooled, timesteps, guidance_vec, t5_attn_mask): + # if not args.split_mode: + # normal forward + with accelerator.autocast(): + # YiYi notes: divide it by 1000 for now because we scale it by 1000 in the transformer model (we should not keep it but I want to keep the inputs same for the model for testing) + model_pred = unet( + img=img, + img_ids=img_ids, + txt=t5_out, + txt_ids=txt_ids, + y=l_pooled, + timesteps=timesteps / 1000, + guidance=guidance_vec, + txt_attention_mask=t5_attn_mask, + ) + """ + else: + # split forward to reduce memory usage + assert network.train_blocks == "single", "train_blocks must be single for split mode" + with accelerator.autocast(): + # move flux lower to cpu, and then move flux upper to gpu + unet.to("cpu") + clean_memory_on_device(accelerator.device) + self.flux_upper.to(accelerator.device) + + # upper model does not require grad + with torch.no_grad(): + intermediate_img, intermediate_txt, vec, pe = self.flux_upper( + img=packed_noisy_model_input, + img_ids=img_ids, + txt=t5_out, + txt_ids=txt_ids, + y=l_pooled, + timesteps=timesteps / 1000, + guidance=guidance_vec, + txt_attention_mask=t5_attn_mask, + ) + + # move flux upper back to cpu, and then move flux lower to gpu + self.flux_upper.to("cpu") + clean_memory_on_device(accelerator.device) + unet.to(accelerator.device) + + # lower model requires grad + intermediate_img.requires_grad_(True) + intermediate_txt.requires_grad_(True) + vec.requires_grad_(True) + pe.requires_grad_(True) + model_pred = unet(img=intermediate_img, txt=intermediate_txt, vec=vec, pe=pe, txt_attention_mask=t5_attn_mask) + """ + + return model_pred + + model_pred = call_dit( + img=packed_noisy_model_input, + img_ids=img_ids, + t5_out=t5_out, + txt_ids=txt_ids, + l_pooled=l_pooled, + timesteps=timesteps, + guidance_vec=guidance_vec, + t5_attn_mask=t5_attn_mask, + ) + + # unpack latents + model_pred = flux_utils.unpack_latents(model_pred, packed_latent_height, packed_latent_width) + + # apply model prediction type + model_pred, weighting = flux_train_utils.apply_model_prediction_type(args, model_pred, noisy_model_input, sigmas) + + # flow matching loss: this is different from SD3 + target = noise - latents + + # differential output preservation + if "custom_attributes" in batch: + diff_output_pr_indices = [] + for i, custom_attributes in enumerate(batch["custom_attributes"]): + if "diff_output_preservation" in custom_attributes and custom_attributes["diff_output_preservation"]: + diff_output_pr_indices.append(i) + + if len(diff_output_pr_indices) > 0: + network.set_multiplier(0.0) + with torch.no_grad(): + model_pred_prior = call_dit( + img=packed_noisy_model_input[diff_output_pr_indices], + img_ids=img_ids[diff_output_pr_indices], + t5_out=t5_out[diff_output_pr_indices], + txt_ids=txt_ids[diff_output_pr_indices], + l_pooled=l_pooled[diff_output_pr_indices], + timesteps=timesteps[diff_output_pr_indices], + guidance_vec=guidance_vec[diff_output_pr_indices] if guidance_vec is not None else None, + t5_attn_mask=t5_attn_mask[diff_output_pr_indices] if t5_attn_mask is not None else None, + ) + network.set_multiplier(1.0) # may be overwritten by "network_multipliers" in the next step + + model_pred_prior = flux_utils.unpack_latents(model_pred_prior, packed_latent_height, packed_latent_width) + model_pred_prior, _ = flux_train_utils.apply_model_prediction_type( + args, + model_pred_prior, + noisy_model_input[diff_output_pr_indices], + sigmas[diff_output_pr_indices] if sigmas is not None else None, + ) + target[diff_output_pr_indices] = model_pred_prior.to(target.dtype) + + return model_pred, target, timesteps, None, weighting + + def post_process_loss(self, loss, args, timesteps, noise_scheduler): + return loss + + def get_sai_model_spec(self, args): + return train_util.get_sai_model_spec(None, args, False, True, False, flux="dev") + + def update_metadata(self, metadata, args): + metadata["ss_apply_t5_attn_mask"] = args.apply_t5_attn_mask + metadata["ss_weighting_scheme"] = args.weighting_scheme + metadata["ss_logit_mean"] = args.logit_mean + metadata["ss_logit_std"] = args.logit_std + metadata["ss_mode_scale"] = args.mode_scale + metadata["ss_guidance_scale"] = args.guidance_scale + metadata["ss_timestep_sampling"] = args.timestep_sampling + metadata["ss_sigmoid_scale"] = args.sigmoid_scale + metadata["ss_model_prediction_type"] = args.model_prediction_type + metadata["ss_discrete_flow_shift"] = args.discrete_flow_shift + + def is_text_encoder_not_needed_for_training(self, args): + return args.cache_text_encoder_outputs and not self.is_train_text_encoder(args) + + def prepare_text_encoder_grad_ckpt_workaround(self, index, text_encoder): + if index == 0: # CLIP-L + return super().prepare_text_encoder_grad_ckpt_workaround(index, text_encoder) + else: # T5XXL + text_encoder.encoder.embed_tokens.requires_grad_(True) + + def prepare_text_encoder_fp8(self, index, text_encoder, te_weight_dtype, weight_dtype): + if index == 0: # CLIP-L + logger.info(f"prepare CLIP-L for fp8: set to {te_weight_dtype}, set embeddings to {weight_dtype}") + text_encoder.to(te_weight_dtype) # fp8 + text_encoder.text_model.embeddings.to(dtype=weight_dtype) + else: # T5XXL + + def prepare_fp8(text_encoder, target_dtype): + def forward_hook(module): + def forward(hidden_states): + hidden_gelu = module.act(module.wi_0(hidden_states)) + hidden_linear = module.wi_1(hidden_states) + hidden_states = hidden_gelu * hidden_linear + hidden_states = module.dropout(hidden_states) + + hidden_states = module.wo(hidden_states) + return hidden_states + + return forward + + for module in text_encoder.modules(): + if module.__class__.__name__ in ["T5LayerNorm", "Embedding"]: + # print("set", module.__class__.__name__, "to", target_dtype) + module.to(target_dtype) + if module.__class__.__name__ in ["T5DenseGatedActDense"]: + # print("set", module.__class__.__name__, "hooks") + module.forward = forward_hook(module) + + if flux_utils.get_t5xxl_actual_dtype(text_encoder) == torch.float8_e4m3fn and text_encoder.dtype == weight_dtype: + logger.info(f"T5XXL already prepared for fp8") + else: + logger.info(f"prepare T5XXL for fp8: set to {te_weight_dtype}, set embeddings to {weight_dtype}, add hooks") + text_encoder.to(te_weight_dtype) # fp8 + prepare_fp8(text_encoder, weight_dtype) + + def prepare_unet_with_accelerator( + self, args: argparse.Namespace, accelerator: Accelerator, unet: torch.nn.Module + ) -> torch.nn.Module: + if not self.is_swapping_blocks: + return super().prepare_unet_with_accelerator(args, accelerator, unet) + + # if we doesn't swap blocks, we can move the model to device + flux: flux_models.Flux = unet + flux = accelerator.prepare(flux, device_placement=[not self.is_swapping_blocks]) + accelerator.unwrap_model(flux).move_to_device_except_swap_blocks(accelerator.device) # reduce peak memory usage + accelerator.unwrap_model(flux).prepare_block_swap_before_forward() + + return flux + + +def setup_parser() -> argparse.ArgumentParser: + parser = train_network.setup_parser() + train_util.add_dit_training_arguments(parser) + flux_train_utils.add_flux_train_arguments(parser) + + parser.add_argument( + "--split_mode", + action="store_true", + # help="[EXPERIMENTAL] use split mode for Flux model, network arg `train_blocks=single` is required" + # + "/[実験的] Fluxモデルの分割モードを使用する。ネットワーク引数`train_blocks=single`が必要", + help="[Deprecated] This option is deprecated. Please use `--blocks_to_swap` instead." + " / このオプションは非推奨です。代わりに`--blocks_to_swap`を使用してください。", + ) + return parser + + +if __name__ == "__main__": + parser = setup_parser() + + args = parser.parse_args() + train_util.verify_command_line_training_args(args) + args = train_util.read_config_from_file(args, parser) + + trainer = FluxNetworkTrainer() + trainer.train(args) diff --git a/flux_train_network.py b/flux_train_network.py index 704c4d32e..0feb9b011 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -125,7 +125,10 @@ def load_target_model(self, args, weight_dtype, accelerator): ae = flux_utils.load_ae(args.ae, weight_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors) - return flux_utils.MODEL_VERSION_FLUX_V1, [clip_l, t5xxl], ae, model + controlnet = flux_utils.load_controlnet() + controlnet.train() + + return flux_utils.MODEL_VERSION_FLUX_V1, [clip_l, t5xxl], ae, model, controlnet def get_tokenize_strategy(self, args): _, is_schnell, _, _ = flux_utils.analyze_checkpoint_state(args.pretrained_model_name_or_path) diff --git a/library/flux_models.py b/library/flux_models.py index fa3c7ad2b..a3bd19743 100644 --- a/library/flux_models.py +++ b/library/flux_models.py @@ -1013,6 +1013,8 @@ def forward( txt_ids: Tensor, timesteps: Tensor, y: Tensor, + block_controlnet_hidden_states=None, + block_controlnet_single_hidden_states=None, guidance: Tensor | None = None, txt_attention_mask: Tensor | None = None, ) -> Tensor: @@ -1031,18 +1033,29 @@ def forward( ids = torch.cat((txt_ids, img_ids), dim=1) pe = self.pe_embedder(ids) + if block_controlnet_hidden_states is not None: + controlnet_depth = len(block_controlnet_hidden_states) + if block_controlnet_single_hidden_states is not None: + controlnet_single_depth = len(block_controlnet_single_hidden_states) if not self.blocks_to_swap: - for block in self.double_blocks: + for block_idx, block in enumerate(self.double_blocks): img, txt = block(img=img, txt=txt, vec=vec, pe=pe, txt_attention_mask=txt_attention_mask) + if block_controlnet_hidden_states is not None: + img = img + block_controlnet_hidden_states[block_idx % controlnet_depth] + img = torch.cat((txt, img), 1) for block in self.single_blocks: img = block(img, vec=vec, pe=pe, txt_attention_mask=txt_attention_mask) + if block_controlnet_single_hidden_states is not None: + img = img + block_controlnet_single_hidden_states[block_idx % controlnet_single_depth] else: for block_idx, block in enumerate(self.double_blocks): self.offloader_double.wait_for_block(block_idx) img, txt = block(img=img, txt=txt, vec=vec, pe=pe, txt_attention_mask=txt_attention_mask) + if block_controlnet_hidden_states is not None: + img = img + block_controlnet_hidden_states[block_idx % controlnet_depth] self.offloader_double.submit_move_blocks(self.double_blocks, block_idx) @@ -1052,6 +1065,8 @@ def forward( self.offloader_single.wait_for_block(block_idx) img = block(img, vec=vec, pe=pe, txt_attention_mask=txt_attention_mask) + if block_controlnet_single_hidden_states is not None: + img = img + block_controlnet_single_hidden_states[block_idx % controlnet_single_depth] self.offloader_single.submit_move_blocks(self.single_blocks, block_idx) @@ -1066,6 +1081,246 @@ def forward( return img +def zero_module(module): + for p in module.parameters(): + nn.init.zeros_(p) + return module + + +class ControlNetFlux(nn.Module): + """ + Transformer model for flow matching on sequences. + """ + + def __init__(self, params: FluxParams, controlnet_depth=2): + super().__init__() + + self.params = params + self.in_channels = params.in_channels + self.out_channels = self.in_channels + if params.hidden_size % params.num_heads != 0: + raise ValueError(f"Hidden size {params.hidden_size} must be divisible by num_heads {params.num_heads}") + pe_dim = params.hidden_size // params.num_heads + if sum(params.axes_dim) != pe_dim: + raise ValueError(f"Got {params.axes_dim} but expected positional dim {pe_dim}") + self.hidden_size = params.hidden_size + self.num_heads = params.num_heads + self.pe_embedder = EmbedND(dim=pe_dim, theta=params.theta, axes_dim=params.axes_dim) + self.img_in = nn.Linear(self.in_channels, self.hidden_size, bias=True) + self.time_in = MLPEmbedder(in_dim=256, hidden_dim=self.hidden_size) + self.vector_in = MLPEmbedder(params.vec_in_dim, self.hidden_size) + self.guidance_in = MLPEmbedder(in_dim=256, hidden_dim=self.hidden_size) if params.guidance_embed else nn.Identity() + self.txt_in = nn.Linear(params.context_in_dim, self.hidden_size) + + self.double_blocks = nn.ModuleList( + [ + DoubleStreamBlock( + self.hidden_size, + self.num_heads, + mlp_ratio=params.mlp_ratio, + qkv_bias=params.qkv_bias, + ) + for _ in range(params.depth) + ] + ) + + self.single_blocks = nn.ModuleList( + [ + SingleStreamBlock(self.hidden_size, self.num_heads, mlp_ratio=params.mlp_ratio) + for _ in range(0) # TMP + ] + ) + + self.gradient_checkpointing = False + self.cpu_offload_checkpointing = False + self.blocks_to_swap = None + + self.offloader_double = None + self.offloader_single = None + self.num_double_blocks = len(self.double_blocks) + self.num_single_blocks = len(self.single_blocks) + + # add ControlNet blocks + self.controlnet_blocks_for_double = nn.ModuleList([]) + for _ in range(controlnet_depth): + controlnet_block = nn.Linear(self.hidden_size, self.hidden_size) + controlnet_block = zero_module(controlnet_block) + self.controlnet_blocks_for_double.append(controlnet_block) + self.controlnet_blocks_for_single = nn.ModuleList([]) + for _ in range(controlnet_depth): + controlnet_block = nn.Linear(self.hidden_size, self.hidden_size) + controlnet_block = zero_module(controlnet_block) + self.controlnet_blocks_for_single.append(controlnet_block) + self.pos_embed_input = nn.Linear(self.in_channels, self.hidden_size, bias=True) + self.gradient_checkpointing = False + self.input_hint_block = nn.Sequential( + nn.Conv2d(3, 16, 3, padding=1), + nn.SiLU(), + nn.Conv2d(16, 16, 3, padding=1), + nn.SiLU(), + nn.Conv2d(16, 16, 3, padding=1, stride=2), + nn.SiLU(), + nn.Conv2d(16, 16, 3, padding=1), + nn.SiLU(), + nn.Conv2d(16, 16, 3, padding=1, stride=2), + nn.SiLU(), + nn.Conv2d(16, 16, 3, padding=1), + nn.SiLU(), + nn.Conv2d(16, 16, 3, padding=1, stride=2), + nn.SiLU(), + zero_module(nn.Conv2d(16, 16, 3, padding=1)) + ) + + @property + def device(self): + return next(self.parameters()).device + + @property + def dtype(self): + return next(self.parameters()).dtype + + def enable_gradient_checkpointing(self, cpu_offload: bool = False): + self.gradient_checkpointing = True + self.cpu_offload_checkpointing = cpu_offload + + self.time_in.enable_gradient_checkpointing() + self.vector_in.enable_gradient_checkpointing() + if self.guidance_in.__class__ != nn.Identity: + self.guidance_in.enable_gradient_checkpointing() + + for block in self.double_blocks + self.single_blocks: + block.enable_gradient_checkpointing(cpu_offload=cpu_offload) + + print(f"FLUX: Gradient checkpointing enabled. CPU offload: {cpu_offload}") + + def disable_gradient_checkpointing(self): + self.gradient_checkpointing = False + self.cpu_offload_checkpointing = False + + self.time_in.disable_gradient_checkpointing() + self.vector_in.disable_gradient_checkpointing() + if self.guidance_in.__class__ != nn.Identity: + self.guidance_in.disable_gradient_checkpointing() + + for block in self.double_blocks + self.single_blocks: + block.disable_gradient_checkpointing() + + print("FLUX: Gradient checkpointing disabled.") + + def enable_block_swap(self, num_blocks: int, device: torch.device): + self.blocks_to_swap = num_blocks + double_blocks_to_swap = num_blocks // 2 + single_blocks_to_swap = (num_blocks - double_blocks_to_swap) * 2 + + assert double_blocks_to_swap <= self.num_double_blocks - 2 and single_blocks_to_swap <= self.num_single_blocks - 2, ( + f"Cannot swap more than {self.num_double_blocks - 2} double blocks and {self.num_single_blocks - 2} single blocks. " + f"Requested {double_blocks_to_swap} double blocks and {single_blocks_to_swap} single blocks." + ) + + self.offloader_double = custom_offloading_utils.ModelOffloader( + self.double_blocks, self.num_double_blocks, double_blocks_to_swap, device # , debug=True + ) + self.offloader_single = custom_offloading_utils.ModelOffloader( + self.single_blocks, self.num_single_blocks, single_blocks_to_swap, device # , debug=True + ) + print( + f"FLUX: Block swap enabled. Swapping {num_blocks} blocks, double blocks: {double_blocks_to_swap}, single blocks: {single_blocks_to_swap}." + ) + + def move_to_device_except_swap_blocks(self, device: torch.device): + # assume model is on cpu. do not move blocks to device to reduce temporary memory usage + if self.blocks_to_swap: + save_double_blocks = self.double_blocks + save_single_blocks = self.single_blocks + self.double_blocks = None + self.single_blocks = None + + self.to(device) + + if self.blocks_to_swap: + self.double_blocks = save_double_blocks + self.single_blocks = save_single_blocks + + def prepare_block_swap_before_forward(self): + if self.blocks_to_swap is None or self.blocks_to_swap == 0: + return + self.offloader_double.prepare_block_devices_before_forward(self.double_blocks) + self.offloader_single.prepare_block_devices_before_forward(self.single_blocks) + + def forward( + self, + img: Tensor, + img_ids: Tensor, + controlnet_cond: Tensor, + txt: Tensor, + txt_ids: Tensor, + timesteps: Tensor, + y: Tensor, + guidance: Tensor | None = None, + txt_attention_mask: Tensor | None = None, + ) -> tuple[tuple[Tensor]]: + if img.ndim != 3 or txt.ndim != 3: + raise ValueError("Input img and txt tensors must have 3 dimensions.") + + # running on sequences img + img = self.img_in(img) + controlnet_cond = self.input_hint_block(controlnet_cond) + controlnet_cond = rearrange(controlnet_cond, "b c (h ph) (w pw) -> b (h w) (c ph pw)", ph=2, pw=2) + controlnet_cond = self.pos_embed_input(controlnet_cond) + img = img + controlnet_cond + vec = self.time_in(timestep_embedding(timesteps, 256)) + if self.params.guidance_embed: + if guidance is None: + raise ValueError("Didn't get guidance strength for guidance distilled model.") + vec = vec + self.guidance_in(timestep_embedding(guidance, 256)) + vec = vec + self.vector_in(y) + txt = self.txt_in(txt) + + ids = torch.cat((txt_ids, img_ids), dim=1) + pe = self.pe_embedder(ids) + + block_samples = () + block_single_samples = () + if not self.blocks_to_swap: + for block_idx, block in enumerate(self.double_blocks): + img, txt = block(img=img, txt=txt, vec=vec, pe=pe, txt_attention_mask=txt_attention_mask) + block_samples = block_samples + (img,) + + img = torch.cat((txt, img), 1) + for block in self.single_blocks: + img = block(img, vec=vec, pe=pe, txt_attention_mask=txt_attention_mask) + block_single_samples = block_single_samples + (img,) + else: + for block_idx, block in enumerate(self.double_blocks): + self.offloader_double.wait_for_block(block_idx) + + img, txt = block(img=img, txt=txt, vec=vec, pe=pe, txt_attention_mask=txt_attention_mask) + block_samples = block_samples + (img,) + + self.offloader_double.submit_move_blocks(self.double_blocks, block_idx) + + img = torch.cat((txt, img), 1) + + for block_idx, block in enumerate(self.single_blocks): + self.offloader_single.wait_for_block(block_idx) + + img = block(img, vec=vec, pe=pe, txt_attention_mask=txt_attention_mask) + block_single_samples = block_single_samples + (img,) + + self.offloader_single.submit_move_blocks(self.single_blocks, block_idx) + + controlnet_block_samples = () + controlnet_single_block_samples = () + for block_sample, controlnet_block in zip(block_samples, self.controlnet_blocks_for_double): + block_sample = controlnet_block(block_sample) + controlnet_block_samples = controlnet_block_samples + (block_sample,) + for block_sample, controlnet_block in zip(block_samples, self.controlnet_single_blocks_for_single): + block_sample = controlnet_block(block_sample) + controlnet_single_block_samples = controlnet_single_block_samples + (block_sample,) + + return controlnet_block_samples, controlnet_single_block_samples + + """ class FluxUpper(nn.Module): "" diff --git a/library/flux_utils.py b/library/flux_utils.py index f3093615d..678efbc8a 100644 --- a/library/flux_utils.py +++ b/library/flux_utils.py @@ -153,6 +153,14 @@ def load_ae( return ae +def load_controlnet(name, device, transformer=None): + with torch.device(device): + controlnet = flux_models.ControlNetFlux(flux_models.configs[name].params) + if transformer is not None: + controlnet.load_state_dict(transformer.state_dict(), strict=False) + return controlnet + + def load_clip_l( ckpt_path: Optional[str], dtype: torch.dtype, From 42f6edf3a886287b99770bc7a8c0bafd3fa03f39 Mon Sep 17 00:00:00 2001 From: minux302 Date: Fri, 15 Nov 2024 23:48:51 +0900 Subject: [PATCH 344/748] fix for adding controlnet --- flux_train_control_net.py | 1270 +++++++++++++++++++++-------------- flux_train_network.py | 3 - library/flux_train_utils.py | 32 +- library/flux_utils.py | 11 +- 4 files changed, 820 insertions(+), 496 deletions(-) diff --git a/flux_train_control_net.py b/flux_train_control_net.py index 704c4d32e..8a7be75f2 100644 --- a/flux_train_control_net.py +++ b/flux_train_control_net.py @@ -1,563 +1,860 @@ +# training with captions + +# Swap blocks between CPU and GPU: +# This implementation is inspired by and based on the work of 2kpr. +# Many thanks to 2kpr for the original concept and implementation of memory-efficient offloading. +# The original idea has been adapted and extended to fit the current project's needs. + +# Key features: +# - CPU offloading during forward and backward passes +# - Use of fused optimizer and grad_hook for efficient gradient processing +# - Per-block fused optimizer instances + import argparse +from concurrent.futures import ThreadPoolExecutor import copy import math -import random -from typing import Any, Optional +import os +from multiprocessing import Value +import time +from typing import List, Optional, Tuple, Union +import toml + +from tqdm import tqdm import torch -from accelerate import Accelerator +import torch.nn as nn +from library import utils from library.device_utils import init_ipex, clean_memory_on_device init_ipex() -from library import flux_models, flux_train_utils, flux_utils, sd3_train_utils, strategy_base, strategy_flux, train_util -import train_network -from library.utils import setup_logging +from accelerate.utils import set_seed +from library import deepspeed_utils, flux_train_utils, flux_utils, strategy_base, strategy_flux +from library.sd3_train_utils import FlowMatchEulerDiscreteScheduler + +import library.train_util as train_util + +from library.utils import setup_logging, add_logging_arguments setup_logging() import logging logger = logging.getLogger(__name__) +import library.config_util as config_util + +# import library.sdxl_train_util as sdxl_train_util +from library.config_util import ( + ConfigSanitizer, + BlueprintGenerator, +) +from library.custom_train_functions import apply_masked_loss, add_custom_train_arguments + + +def train(args): + train_util.verify_training_args(args) + train_util.prepare_dataset_args(args, True) + # sdxl_train_util.verify_sdxl_training_args(args) + deepspeed_utils.prepare_deepspeed_args(args) + setup_logging(args, reset=True) + + # temporary: backward compatibility for deprecated options. remove in the future + if not args.skip_cache_check: + args.skip_cache_check = args.skip_latents_validity_check + + # assert ( + # not args.weighted_captions + # ), "weighted_captions is not supported currently / weighted_captionsは現在サポートされていません" + if args.cache_text_encoder_outputs_to_disk and not args.cache_text_encoder_outputs: + logger.warning( + "cache_text_encoder_outputs_to_disk is enabled, so cache_text_encoder_outputs is also enabled / cache_text_encoder_outputs_to_diskが有効になっているため、cache_text_encoder_outputsも有効になります" + ) + args.cache_text_encoder_outputs = True -class FluxNetworkTrainer(train_network.NetworkTrainer): - def __init__(self): - super().__init__() - self.sample_prompts_te_outputs = None - self.is_schnell: Optional[bool] = None - self.is_swapping_blocks: bool = False + if args.cpu_offload_checkpointing and not args.gradient_checkpointing: + logger.warning( + "cpu_offload_checkpointing is enabled, so gradient_checkpointing is also enabled / cpu_offload_checkpointingが有効になっているため、gradient_checkpointingも有効になります" + ) + args.gradient_checkpointing = True - def assert_extra_args(self, args, train_dataset_group): - super().assert_extra_args(args, train_dataset_group) - # sdxl_train_util.verify_sdxl_training_args(args) + assert ( + args.blocks_to_swap is None or args.blocks_to_swap == 0 + ) or not args.cpu_offload_checkpointing, ( + "blocks_to_swap is not supported with cpu_offload_checkpointing / blocks_to_swapはcpu_offload_checkpointingと併用できません" + ) - if args.fp8_base_unet: - args.fp8_base = True # if fp8_base_unet is enabled, fp8_base is also enabled for FLUX.1 + cache_latents = args.cache_latents + use_dreambooth_method = args.in_json is None - if args.cache_text_encoder_outputs_to_disk and not args.cache_text_encoder_outputs: - logger.warning( - "cache_text_encoder_outputs_to_disk is enabled, so cache_text_encoder_outputs is also enabled / cache_text_encoder_outputs_to_diskが有効になっているため、cache_text_encoder_outputsも有効になります" - ) - args.cache_text_encoder_outputs = True + if args.seed is not None: + set_seed(args.seed) # 乱数系列を初期化する + # prepare caching strategy: this must be set before preparing dataset. because dataset may use this strategy for initialization. + if args.cache_latents: + latents_caching_strategy = strategy_flux.FluxLatentsCachingStrategy( + args.cache_latents_to_disk, args.vae_batch_size, args.skip_cache_check + ) + strategy_base.LatentsCachingStrategy.set_strategy(latents_caching_strategy) + + # データセットを準備する + if args.dataset_class is None: + blueprint_generator = BlueprintGenerator(ConfigSanitizer(True, True, args.masked_loss, True)) + if args.dataset_config is not None: + logger.info(f"Load dataset config from {args.dataset_config}") + user_config = config_util.load_user_config(args.dataset_config) + ignored = ["train_data_dir", "in_json"] + if any(getattr(args, attr) is not None for attr in ignored): + logger.warning( + "ignore following options because config file is found: {0} / 設定ファイルが利用されるため以下のオプションは無視されます: {0}".format( + ", ".join(ignored) + ) + ) + else: + if use_dreambooth_method: + logger.info("Using DreamBooth method.") + user_config = { + "datasets": [ + { + "subsets": config_util.generate_dreambooth_subsets_config_by_subdirs( + args.train_data_dir, args.reg_data_dir + ) + } + ] + } + else: + logger.info("Training with captions.") + user_config = { + "datasets": [ + { + "subsets": [ + { + "image_dir": args.train_data_dir, + "metadata_file": args.in_json, + } + ] + } + ] + } + + blueprint = blueprint_generator.generate(user_config, args) + train_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) + else: + train_dataset_group = train_util.load_arbitrary_dataset(args) + + current_epoch = Value("i", 0) + current_step = Value("i", 0) + ds_for_collator = train_dataset_group if args.max_data_loader_n_workers == 0 else None + collator = train_util.collator_class(current_epoch, current_step, ds_for_collator) + + train_dataset_group.verify_bucket_reso_steps(16) # TODO これでいいか確認 + + _, is_schnell, _, _ = flux_utils.analyze_checkpoint_state(args.pretrained_model_name_or_path) + if args.debug_dataset: if args.cache_text_encoder_outputs: - assert ( - train_dataset_group.is_text_encoder_output_cacheable() - ), "when caching Text Encoder output, either caption_dropout_rate, shuffle_caption, token_warmup_step or caption_tag_dropout_rate cannot be used / Text Encoderの出力をキャッシュするときはcaption_dropout_rate, shuffle_caption, token_warmup_step, caption_tag_dropout_rateは使えません" - - # prepare CLIP-L/T5XXL training flags - self.train_clip_l = not args.network_train_unet_only - self.train_t5xxl = False # default is False even if args.network_train_unet_only is False + strategy_base.TextEncoderOutputsCachingStrategy.set_strategy( + strategy_flux.FluxTextEncoderOutputsCachingStrategy( + args.cache_text_encoder_outputs_to_disk, args.text_encoder_batch_size, args.skip_cache_check, False + ) + ) + t5xxl_max_token_length = ( + args.t5xxl_max_token_length if args.t5xxl_max_token_length is not None else (256 if is_schnell else 512) + ) + strategy_base.TokenizeStrategy.set_strategy(strategy_flux.FluxTokenizeStrategy(t5xxl_max_token_length)) + + train_dataset_group.set_current_strategies() + train_util.debug_dataset(train_dataset_group, True) + return + if len(train_dataset_group) == 0: + logger.error( + "No data found. Please verify the metadata file and train_data_dir option. / 画像がありません。メタデータおよびtrain_data_dirオプションを確認してください。" + ) + return - if args.max_token_length is not None: - logger.warning("max_token_length is not used in Flux training / max_token_lengthはFluxのトレーニングでは使用されません") + if cache_latents: + assert ( + train_dataset_group.is_latent_cacheable() + ), "when caching latents, either color_aug or random_crop cannot be used / latentをキャッシュするときはcolor_augとrandom_cropは使えません" + if args.cache_text_encoder_outputs: assert ( - args.blocks_to_swap is None or args.blocks_to_swap == 0 - ) or not args.cpu_offload_checkpointing, "blocks_to_swap is not supported with cpu_offload_checkpointing / blocks_to_swapはcpu_offload_checkpointingと併用できません" + train_dataset_group.is_text_encoder_output_cacheable() + ), "when caching text encoder output, either caption_dropout_rate, shuffle_caption, token_warmup_step or caption_tag_dropout_rate cannot be used / text encoderの出力をキャッシュするときはcaption_dropout_rate, shuffle_caption, token_warmup_step, caption_tag_dropout_rateは使えません" - # deprecated split_mode option - if args.split_mode: - if args.blocks_to_swap is not None: - logger.warning( - "split_mode is deprecated. Because `--blocks_to_swap` is set, `--split_mode` is ignored." - " / split_modeは非推奨です。`--blocks_to_swap`が設定されているため、`--split_mode`は無視されます。" - ) - else: - logger.warning( - "split_mode is deprecated. Please use `--blocks_to_swap` instead. `--blocks_to_swap 18` is automatically set." - " / split_modeは非推奨です。代わりに`--blocks_to_swap`を使用してください。`--blocks_to_swap 18`が自動的に設定されました。" - ) - args.blocks_to_swap = 18 # 18 is safe for most cases + # acceleratorを準備する + logger.info("prepare accelerator") + accelerator = train_util.prepare_accelerator(args) - train_dataset_group.verify_bucket_reso_steps(32) # TODO check this + # mixed precisionに対応した型を用意しておき適宜castする + weight_dtype, save_dtype = train_util.prepare_dtype(args) - def load_target_model(self, args, weight_dtype, accelerator): - # currently offload to cpu for some models + # モデルを読み込む - # if the file is fp8 and we are using fp8_base, we can load it as is (fp8) - loading_dtype = None if args.fp8_base else weight_dtype + # load VAE for caching latents + ae = None + if cache_latents: + ae = flux_utils.load_ae(args.ae, weight_dtype, "cpu", args.disable_mmap_load_safetensors) + ae.to(accelerator.device, dtype=weight_dtype) + ae.requires_grad_(False) + ae.eval() - # if we load to cpu, flux.to(fp8) takes a long time, so we should load to gpu in future - self.is_schnell, model = flux_utils.load_flow_model( - args.pretrained_model_name_or_path, loading_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors + train_dataset_group.new_cache_latents(ae, accelerator) + + ae.to("cpu") # if no sampling, vae can be deleted + clean_memory_on_device(accelerator.device) + + accelerator.wait_for_everyone() + + # prepare tokenize strategy + if args.t5xxl_max_token_length is None: + if is_schnell: + t5xxl_max_token_length = 256 + else: + t5xxl_max_token_length = 512 + else: + t5xxl_max_token_length = args.t5xxl_max_token_length + + flux_tokenize_strategy = strategy_flux.FluxTokenizeStrategy(t5xxl_max_token_length) + strategy_base.TokenizeStrategy.set_strategy(flux_tokenize_strategy) + + # load clip_l, t5xxl for caching text encoder outputs + clip_l = flux_utils.load_clip_l(args.clip_l, weight_dtype, "cpu", args.disable_mmap_load_safetensors) + t5xxl = flux_utils.load_t5xxl(args.t5xxl, weight_dtype, "cpu", args.disable_mmap_load_safetensors) + clip_l.eval() + t5xxl.eval() + clip_l.requires_grad_(False) + t5xxl.requires_grad_(False) + + text_encoding_strategy = strategy_flux.FluxTextEncodingStrategy(args.apply_t5_attn_mask) + strategy_base.TextEncodingStrategy.set_strategy(text_encoding_strategy) + + # cache text encoder outputs + sample_prompts_te_outputs = None + if args.cache_text_encoder_outputs: + # Text Encodes are eval and no grad here + clip_l.to(accelerator.device) + t5xxl.to(accelerator.device) + + text_encoder_caching_strategy = strategy_flux.FluxTextEncoderOutputsCachingStrategy( + args.cache_text_encoder_outputs_to_disk, args.text_encoder_batch_size, False, False, args.apply_t5_attn_mask ) - if args.fp8_base: - # check dtype of model - if model.dtype == torch.float8_e4m3fnuz or model.dtype == torch.float8_e5m2 or model.dtype == torch.float8_e5m2fnuz: - raise ValueError(f"Unsupported fp8 model dtype: {model.dtype}") - elif model.dtype == torch.float8_e4m3fn: - logger.info("Loaded fp8 FLUX model") - else: - logger.info( - "Cast FLUX model to fp8. This may take a while. You can reduce the time by using fp8 checkpoint." - " / FLUXモデルをfp8に変換しています。これには時間がかかる場合があります。fp8チェックポイントを使用することで時間を短縮できます。" - ) - model.to(torch.float8_e4m3fn) + strategy_base.TextEncoderOutputsCachingStrategy.set_strategy(text_encoder_caching_strategy) + + with accelerator.autocast(): + train_dataset_group.new_cache_text_encoder_outputs([clip_l, t5xxl], accelerator) + + # cache sample prompt's embeddings to free text encoder's memory + if args.sample_prompts is not None: + logger.info(f"cache Text Encoder outputs for sample prompt: {args.sample_prompts}") + + text_encoding_strategy: strategy_flux.FluxTextEncodingStrategy = strategy_base.TextEncodingStrategy.get_strategy() + + prompts = train_util.load_prompts(args.sample_prompts) + sample_prompts_te_outputs = {} # key: prompt, value: text encoder outputs + with accelerator.autocast(), torch.no_grad(): + for prompt_dict in prompts: + for p in [prompt_dict.get("prompt", ""), prompt_dict.get("negative_prompt", "")]: + if p not in sample_prompts_te_outputs: + logger.info(f"cache Text Encoder outputs for prompt: {p}") + tokens_and_masks = flux_tokenize_strategy.tokenize(p) + sample_prompts_te_outputs[p] = text_encoding_strategy.encode_tokens( + flux_tokenize_strategy, [clip_l, t5xxl], tokens_and_masks, args.apply_t5_attn_mask + ) + + accelerator.wait_for_everyone() + + # now we can delete Text Encoders to free memory + clip_l = None + t5xxl = None + clean_memory_on_device(accelerator.device) - # if args.split_mode: - # model = self.prepare_split_model(model, weight_dtype, accelerator) + # load FLUX + _, flux = flux_utils.load_flow_model( + args.pretrained_model_name_or_path, weight_dtype, "cpu", args.disable_mmap_load_safetensors + ) + flux.requires_grad_(False) - self.is_swapping_blocks = args.blocks_to_swap is not None and args.blocks_to_swap > 0 - if self.is_swapping_blocks: - # Swap blocks between CPU and GPU to reduce memory usage, in forward and backward passes. - logger.info(f"enable block swap: blocks_to_swap={args.blocks_to_swap}") - model.enable_block_swap(args.blocks_to_swap, accelerator.device) + # load controlnet + controlnet = flux_utils.load_controlnet() + controlnet.requires_grad_(True) - clip_l = flux_utils.load_clip_l(args.clip_l, weight_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors) - clip_l.eval() + if args.gradient_checkpointing: + controlnet.enable_gradient_checkpointing(cpu_offload=args.cpu_offload_checkpointing) - # if the file is fp8 and we are using fp8_base (not unet), we can load it as is (fp8) - if args.fp8_base and not args.fp8_base_unet: - loading_dtype = None # as is - else: - loading_dtype = weight_dtype + # block swap - # loading t5xxl to cpu takes a long time, so we should load to gpu in future - t5xxl = flux_utils.load_t5xxl(args.t5xxl, loading_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors) - t5xxl.eval() - if args.fp8_base and not args.fp8_base_unet: - # check dtype of model - if t5xxl.dtype == torch.float8_e4m3fnuz or t5xxl.dtype == torch.float8_e5m2 or t5xxl.dtype == torch.float8_e5m2fnuz: - raise ValueError(f"Unsupported fp8 model dtype: {t5xxl.dtype}") - elif t5xxl.dtype == torch.float8_e4m3fn: - logger.info("Loaded fp8 T5XXL model") + # backward compatibility + if args.blocks_to_swap is None: + blocks_to_swap = args.double_blocks_to_swap or 0 + if args.single_blocks_to_swap is not None: + blocks_to_swap += args.single_blocks_to_swap // 2 + if blocks_to_swap > 0: + logger.warning( + "double_blocks_to_swap and single_blocks_to_swap are deprecated. Use blocks_to_swap instead." + " / double_blocks_to_swapとsingle_blocks_to_swapは非推奨です。blocks_to_swapを使ってください。" + ) + logger.info( + f"double_blocks_to_swap={args.double_blocks_to_swap} and single_blocks_to_swap={args.single_blocks_to_swap} are converted to blocks_to_swap={blocks_to_swap}." + ) + args.blocks_to_swap = blocks_to_swap + del blocks_to_swap + + is_swapping_blocks = args.blocks_to_swap is not None and args.blocks_to_swap > 0 + if is_swapping_blocks: + # Swap blocks between CPU and GPU to reduce memory usage, in forward and backward passes. + # This idea is based on 2kpr's great work. Thank you! + logger.info(f"enable block swap: blocks_to_swap={args.blocks_to_swap}") + flux.enable_block_swap(args.blocks_to_swap, accelerator.device) + controlnet.enable_block_swap(args.blocks_to_swap, accelerator.device) + + if not cache_latents: + # load VAE here if not cached + ae = flux_utils.load_ae(args.ae, weight_dtype, "cpu") + ae.requires_grad_(False) + ae.eval() + ae.to(accelerator.device, dtype=weight_dtype) + + training_models = [] + params_to_optimize = [] + training_models.append(controlnet) + name_and_params = list(controlnet.named_parameters()) + # single param group for now + params_to_optimize.append({"params": [p for _, p in name_and_params], "lr": args.learning_rate}) + param_names = [[n for n, _ in name_and_params]] + + # calculate number of trainable parameters + n_params = 0 + for group in params_to_optimize: + for p in group["params"]: + n_params += p.numel() + + accelerator.print(f"number of trainable parameters: {n_params}") + + # 学習に必要なクラスを準備する + accelerator.print("prepare optimizer, data loader etc.") + + if args.blockwise_fused_optimizers: + # fused backward pass: https://pytorch.org/tutorials/intermediate/optimizer_step_in_backward_tutorial.html + # Instead of creating an optimizer for all parameters as in the tutorial, we create an optimizer for each block of parameters. + # This balances memory usage and management complexity. + + # split params into groups. currently different learning rates are not supported + grouped_params = [] + param_group = {} + for group in params_to_optimize: + named_parameters = list(controlnet.named_parameters()) + assert len(named_parameters) == len(group["params"]), "number of parameters does not match" + for p, np in zip(group["params"], named_parameters): + # determine target layer and block index for each parameter + block_type = "other" # double, single or other + if np[0].startswith("double_blocks"): + block_index = int(np[0].split(".")[1]) + block_type = "double" + elif np[0].startswith("single_blocks"): + block_index = int(np[0].split(".")[1]) + block_type = "single" + else: + block_index = -1 + + param_group_key = (block_type, block_index) + if param_group_key not in param_group: + param_group[param_group_key] = [] + param_group[param_group_key].append(p) + + block_types_and_indices = [] + for param_group_key, param_group in param_group.items(): + block_types_and_indices.append(param_group_key) + grouped_params.append({"params": param_group, "lr": args.learning_rate}) + + num_params = 0 + for p in param_group: + num_params += p.numel() + accelerator.print(f"block {param_group_key}: {num_params} parameters") + + # prepare optimizers for each group + optimizers = [] + for group in grouped_params: + _, _, optimizer = train_util.get_optimizer(args, trainable_params=[group]) + optimizers.append(optimizer) + optimizer = optimizers[0] # avoid error in the following code + + logger.info(f"using {len(optimizers)} optimizers for blockwise fused optimizers") + + if train_util.is_schedulefree_optimizer(optimizers[0], args): + raise ValueError("Schedule-free optimizer is not supported with blockwise fused optimizers") + optimizer_train_fn = lambda: None # dummy function + optimizer_eval_fn = lambda: None # dummy function + else: + _, _, optimizer = train_util.get_optimizer(args, trainable_params=params_to_optimize) + optimizer_train_fn, optimizer_eval_fn = train_util.get_optimizer_train_eval_fn(optimizer, args) + + # prepare dataloader + # strategies are set here because they cannot be referenced in another process. Copy them with the dataset + # some strategies can be None + train_dataset_group.set_current_strategies() + + # DataLoaderのプロセス数:0 は persistent_workers が使えないので注意 + n_workers = min(args.max_data_loader_n_workers, os.cpu_count()) # cpu_count or max_data_loader_n_workers + train_dataloader = torch.utils.data.DataLoader( + train_dataset_group, + batch_size=1, + shuffle=True, + collate_fn=collator, + num_workers=n_workers, + persistent_workers=args.persistent_data_loader_workers, + ) - ae = flux_utils.load_ae(args.ae, weight_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors) + # 学習ステップ数を計算する + if args.max_train_epochs is not None: + args.max_train_steps = args.max_train_epochs * math.ceil( + len(train_dataloader) / accelerator.num_processes / args.gradient_accumulation_steps + ) + accelerator.print( + f"override steps. steps for {args.max_train_epochs} epochs is / 指定エポックまでのステップ数: {args.max_train_steps}" + ) - return flux_utils.MODEL_VERSION_FLUX_V1, [clip_l, t5xxl], ae, model + # データセット側にも学習ステップを送信 + train_dataset_group.set_max_train_steps(args.max_train_steps) - def get_tokenize_strategy(self, args): - _, is_schnell, _, _ = flux_utils.analyze_checkpoint_state(args.pretrained_model_name_or_path) + # lr schedulerを用意する + if args.blockwise_fused_optimizers: + # prepare lr schedulers for each optimizer + lr_schedulers = [train_util.get_scheduler_fix(args, optimizer, accelerator.num_processes) for optimizer in optimizers] + lr_scheduler = lr_schedulers[0] # avoid error in the following code + else: + lr_scheduler = train_util.get_scheduler_fix(args, optimizer, accelerator.num_processes) - if args.t5xxl_max_token_length is None: - if is_schnell: - t5xxl_max_token_length = 256 - else: - t5xxl_max_token_length = 512 - else: - t5xxl_max_token_length = args.t5xxl_max_token_length + # 実験的機能:勾配も含めたfp16/bf16学習を行う モデル全体をfp16/bf16にする + if args.full_fp16: + assert ( + args.mixed_precision == "fp16" + ), "full_fp16 requires mixed precision='fp16' / full_fp16を使う場合はmixed_precision='fp16'を指定してください。" + accelerator.print("enable full fp16 training.") + flux.to(weight_dtype) + controlnet.to(weight_dtype) + if clip_l is not None: + clip_l.to(weight_dtype) + t5xxl.to(weight_dtype) # TODO check works with fp16 or not + elif args.full_bf16: + assert ( + args.mixed_precision == "bf16" + ), "full_bf16 requires mixed precision='bf16' / full_bf16を使う場合はmixed_precision='bf16'を指定してください。" + accelerator.print("enable full bf16 training.") + flux.to(weight_dtype) + controlnet.to(weight_dtype) + if clip_l is not None: + clip_l.to(weight_dtype) + t5xxl.to(weight_dtype) + + # if we don't cache text encoder outputs, move them to device + if not args.cache_text_encoder_outputs: + clip_l.to(accelerator.device) + t5xxl.to(accelerator.device) + + clean_memory_on_device(accelerator.device) + + if args.deepspeed: + ds_model = deepspeed_utils.prepare_deepspeed_model(args, mmdit=controlnet) + # most of ZeRO stage uses optimizer partitioning, so we have to prepare optimizer and ds_model at the same time. # pull/1139#issuecomment-1986790007 + ds_model, optimizer, train_dataloader, lr_scheduler = accelerator.prepare( + ds_model, optimizer, train_dataloader, lr_scheduler + ) + training_models = [ds_model] - logger.info(f"t5xxl_max_token_length: {t5xxl_max_token_length}") - return strategy_flux.FluxTokenizeStrategy(t5xxl_max_token_length, args.tokenizer_cache_dir) + else: + # accelerator does some magic + # if we doesn't swap blocks, we can move the model to device + controlnet = accelerator.prepare(controlnet, device_placement=[not is_swapping_blocks]) + if is_swapping_blocks: + accelerator.unwrap_model(controlnet).move_to_device_except_swap_blocks(accelerator.device) # reduce peak memory usage + optimizer, train_dataloader, lr_scheduler = accelerator.prepare(optimizer, train_dataloader, lr_scheduler) + + # 実験的機能:勾配も含めたfp16学習を行う PyTorchにパッチを当ててfp16でのgrad scaleを有効にする + if args.full_fp16: + # During deepseed training, accelerate not handles fp16/bf16|mixed precision directly via scaler. Let deepspeed engine do. + # -> But we think it's ok to patch accelerator even if deepspeed is enabled. + train_util.patch_accelerator_for_fp16_training(accelerator) + + # resumeする + train_util.resume_from_local_or_hf_if_specified(accelerator, args) + + if args.fused_backward_pass: + # use fused optimizer for backward pass: other optimizers will be supported in the future + import library.adafactor_fused + + library.adafactor_fused.patch_adafactor_fused(optimizer) + + for param_group, param_name_group in zip(optimizer.param_groups, param_names): + for parameter, param_name in zip(param_group["params"], param_name_group): + if parameter.requires_grad: + + def create_grad_hook(p_name, p_group): + def grad_hook(tensor: torch.Tensor): + if accelerator.sync_gradients and args.max_grad_norm != 0.0: + accelerator.clip_grad_norm_(tensor, args.max_grad_norm) + optimizer.step_param(tensor, p_group) + tensor.grad = None + + return grad_hook + + parameter.register_post_accumulate_grad_hook(create_grad_hook(param_name, param_group)) + + elif args.blockwise_fused_optimizers: + # prepare for additional optimizers and lr schedulers + for i in range(1, len(optimizers)): + optimizers[i] = accelerator.prepare(optimizers[i]) + lr_schedulers[i] = accelerator.prepare(lr_schedulers[i]) + + # counters are used to determine when to step the optimizer + global optimizer_hooked_count + global num_parameters_per_group + global parameter_optimizer_map + + optimizer_hooked_count = {} + num_parameters_per_group = [0] * len(optimizers) + parameter_optimizer_map = {} + + for opt_idx, optimizer in enumerate(optimizers): + for param_group in optimizer.param_groups: + for parameter in param_group["params"]: + if parameter.requires_grad: + + def grad_hook(parameter: torch.Tensor): + if accelerator.sync_gradients and args.max_grad_norm != 0.0: + accelerator.clip_grad_norm_(parameter, args.max_grad_norm) + + i = parameter_optimizer_map[parameter] + optimizer_hooked_count[i] += 1 + if optimizer_hooked_count[i] == num_parameters_per_group[i]: + optimizers[i].step() + optimizers[i].zero_grad(set_to_none=True) + + parameter.register_post_accumulate_grad_hook(grad_hook) + parameter_optimizer_map[parameter] = opt_idx + num_parameters_per_group[opt_idx] += 1 + + # epoch数を計算する + num_update_steps_per_epoch = math.ceil(len(train_dataloader) / args.gradient_accumulation_steps) + num_train_epochs = math.ceil(args.max_train_steps / num_update_steps_per_epoch) + if (args.save_n_epoch_ratio is not None) and (args.save_n_epoch_ratio > 0): + args.save_every_n_epochs = math.floor(num_train_epochs / args.save_n_epoch_ratio) or 1 + + # 学習する + # total_batch_size = args.train_batch_size * accelerator.num_processes * args.gradient_accumulation_steps + accelerator.print("running training / 学習開始") + accelerator.print(f" num examples / サンプル数: {train_dataset_group.num_train_images}") + accelerator.print(f" num batches per epoch / 1epochのバッチ数: {len(train_dataloader)}") + accelerator.print(f" num epochs / epoch数: {num_train_epochs}") + accelerator.print( + f" batch size per device / バッチサイズ: {', '.join([str(d.batch_size) for d in train_dataset_group.datasets])}" + ) + # accelerator.print( + # f" total train batch size (with parallel & distributed & accumulation) / 総バッチサイズ(並列学習、勾配合計含む): {total_batch_size}" + # ) + accelerator.print(f" gradient accumulation steps / 勾配を合計するステップ数 = {args.gradient_accumulation_steps}") + accelerator.print(f" total optimization steps / 学習ステップ数: {args.max_train_steps}") + + progress_bar = tqdm(range(args.max_train_steps), smoothing=0, disable=not accelerator.is_local_main_process, desc="steps") + global_step = 0 + + noise_scheduler = FlowMatchEulerDiscreteScheduler(num_train_timesteps=1000, shift=args.discrete_flow_shift) + noise_scheduler_copy = copy.deepcopy(noise_scheduler) + + if accelerator.is_main_process: + init_kwargs = {} + if args.wandb_run_name: + init_kwargs["wandb"] = {"name": args.wandb_run_name} + if args.log_tracker_config is not None: + init_kwargs = toml.load(args.log_tracker_config) + accelerator.init_trackers( + "finetuning" if args.log_tracker_name is None else args.log_tracker_name, + config=train_util.get_sanitized_config_or_none(args), + init_kwargs=init_kwargs, + ) - def get_tokenizers(self, tokenize_strategy: strategy_flux.FluxTokenizeStrategy): - return [tokenize_strategy.clip_l, tokenize_strategy.t5xxl] + if is_swapping_blocks: + accelerator.unwrap_model(controlnet).prepare_block_swap_before_forward() - def get_latents_caching_strategy(self, args): - latents_caching_strategy = strategy_flux.FluxLatentsCachingStrategy(args.cache_latents_to_disk, args.vae_batch_size, False) - return latents_caching_strategy + # For --sample_at_first + optimizer_eval_fn() + flux_train_utils.sample_images(accelerator, args, 0, global_step, flux, ae, [clip_l, t5xxl], sample_prompts_te_outputs) + optimizer_train_fn() + if len(accelerator.trackers) > 0: + # log empty object to commit the sample images to wandb + accelerator.log({}, step=0) - def get_text_encoding_strategy(self, args): - return strategy_flux.FluxTextEncodingStrategy(apply_t5_attn_mask=args.apply_t5_attn_mask) + loss_recorder = train_util.LossRecorder() + epoch = 0 # avoid error when max_train_steps is 0 + for epoch in range(num_train_epochs): + accelerator.print(f"\nepoch {epoch+1}/{num_train_epochs}") + current_epoch.value = epoch + 1 - def post_process_network(self, args, accelerator, network, text_encoders, unet): - # check t5xxl is trained or not - self.train_t5xxl = network.train_t5xxl + for m in training_models: + m.train() - if self.train_t5xxl and args.cache_text_encoder_outputs: - raise ValueError( - "T5XXL is trained, so cache_text_encoder_outputs cannot be used / T5XXL学習時はcache_text_encoder_outputsは使用できません" - ) + for step, batch in enumerate(train_dataloader): + current_step.value = global_step - def get_models_for_text_encoding(self, args, accelerator, text_encoders): - if args.cache_text_encoder_outputs: - if self.train_clip_l and not self.train_t5xxl: - return text_encoders[0:1] # only CLIP-L is needed for encoding because T5XXL is cached - else: - return None # no text encoders are needed for encoding because both are cached - else: - return text_encoders # both CLIP-L and T5XXL are needed for encoding + if args.blockwise_fused_optimizers: + optimizer_hooked_count = {i: 0 for i in range(len(optimizers))} # reset counter for each step - def get_text_encoders_train_flags(self, args, text_encoders): - return [self.train_clip_l, self.train_t5xxl] + with accelerator.accumulate(*training_models): + if "latents" in batch and batch["latents"] is not None: + latents = batch["latents"].to(accelerator.device, dtype=weight_dtype) + else: + with torch.no_grad(): + # encode images to latents. images are [-1, 1] + latents = ae.encode(batch["images"].to(ae.dtype)).to(accelerator.device, dtype=weight_dtype) + + # NaNが含まれていれば警告を表示し0に置き換える + if torch.any(torch.isnan(latents)): + accelerator.print("NaN found in latents, replacing with zeros") + latents = torch.nan_to_num(latents, 0, out=latents) + + text_encoder_outputs_list = batch.get("text_encoder_outputs_list", None) + if text_encoder_outputs_list is not None: + text_encoder_conds = text_encoder_outputs_list + else: + # not cached or training, so get from text encoders + tokens_and_masks = batch["input_ids_list"] + with torch.no_grad(): + input_ids = [ids.to(accelerator.device) for ids in batch["input_ids_list"]] + text_encoder_conds = text_encoding_strategy.encode_tokens( + flux_tokenize_strategy, [clip_l, t5xxl], input_ids, args.apply_t5_attn_mask + ) + if args.full_fp16: + text_encoder_conds = [c.to(weight_dtype) for c in text_encoder_conds] - def get_text_encoder_outputs_caching_strategy(self, args): - if args.cache_text_encoder_outputs: - # if the text encoders is trained, we need tokenization, so is_partial is True - return strategy_flux.FluxTextEncoderOutputsCachingStrategy( - args.cache_text_encoder_outputs_to_disk, - args.text_encoder_batch_size, - args.skip_cache_check, - is_partial=self.train_clip_l or self.train_t5xxl, - apply_t5_attn_mask=args.apply_t5_attn_mask, - ) - else: - return None + # TODO support some features for noise implemented in get_noise_noisy_latents_and_timesteps - def cache_text_encoder_outputs_if_needed( - self, args, accelerator: Accelerator, unet, vae, text_encoders, dataset: train_util.DatasetGroup, weight_dtype - ): - if args.cache_text_encoder_outputs: - if not args.lowram: - # メモリ消費を減らす - logger.info("move vae and unet to cpu to save memory") - org_vae_device = vae.device - org_unet_device = unet.device - vae.to("cpu") - unet.to("cpu") - clean_memory_on_device(accelerator.device) - - # When TE is not be trained, it will not be prepared so we need to use explicit autocast - logger.info("move text encoders to gpu") - text_encoders[0].to(accelerator.device, dtype=weight_dtype) # always not fp8 - text_encoders[1].to(accelerator.device) - - if text_encoders[1].dtype == torch.float8_e4m3fn: - # if we load fp8 weights, the model is already fp8, so we use it as is - self.prepare_text_encoder_fp8(1, text_encoders[1], text_encoders[1].dtype, weight_dtype) - else: - # otherwise, we need to convert it to target dtype - text_encoders[1].to(weight_dtype) - - with accelerator.autocast(): - dataset.new_cache_text_encoder_outputs(text_encoders, accelerator) - - # cache sample prompts - if args.sample_prompts is not None: - logger.info(f"cache Text Encoder outputs for sample prompt: {args.sample_prompts}") - - tokenize_strategy: strategy_flux.FluxTokenizeStrategy = strategy_base.TokenizeStrategy.get_strategy() - text_encoding_strategy: strategy_flux.FluxTextEncodingStrategy = strategy_base.TextEncodingStrategy.get_strategy() - - prompts = train_util.load_prompts(args.sample_prompts) - sample_prompts_te_outputs = {} # key: prompt, value: text encoder outputs - with accelerator.autocast(), torch.no_grad(): - for prompt_dict in prompts: - for p in [prompt_dict.get("prompt", ""), prompt_dict.get("negative_prompt", "")]: - if p not in sample_prompts_te_outputs: - logger.info(f"cache Text Encoder outputs for prompt: {p}") - tokens_and_masks = tokenize_strategy.tokenize(p) - sample_prompts_te_outputs[p] = text_encoding_strategy.encode_tokens( - tokenize_strategy, text_encoders, tokens_and_masks, args.apply_t5_attn_mask - ) - self.sample_prompts_te_outputs = sample_prompts_te_outputs - - accelerator.wait_for_everyone() - - # move back to cpu - if not self.is_train_text_encoder(args): - logger.info("move CLIP-L back to cpu") - text_encoders[0].to("cpu") - logger.info("move t5XXL back to cpu") - text_encoders[1].to("cpu") - clean_memory_on_device(accelerator.device) - - if not args.lowram: - logger.info("move vae and unet back to original device") - vae.to(org_vae_device) - unet.to(org_unet_device) - else: - # Text Encoderから毎回出力を取得するので、GPUに乗せておく - text_encoders[0].to(accelerator.device, dtype=weight_dtype) - text_encoders[1].to(accelerator.device) + # Sample noise that we'll add to the latents + noise = torch.randn_like(latents) + bsz = latents.shape[0] - # def call_unet(self, args, accelerator, unet, noisy_latents, timesteps, text_conds, batch, weight_dtype): - # noisy_latents = noisy_latents.to(weight_dtype) # TODO check why noisy_latents is not weight_dtype + # get noisy model input and timesteps + noisy_model_input, timesteps, sigmas = flux_train_utils.get_noisy_model_input_and_timesteps( + args, noise_scheduler_copy, latents, noise, accelerator.device, weight_dtype + ) - # # get size embeddings - # orig_size = batch["original_sizes_hw"] - # crop_size = batch["crop_top_lefts"] - # target_size = batch["target_sizes_hw"] - # embs = sdxl_train_util.get_size_embeddings(orig_size, crop_size, target_size, accelerator.device).to(weight_dtype) + # pack latents and get img_ids + packed_noisy_model_input = flux_utils.pack_latents(noisy_model_input) # b, c, h*2, w*2 -> b, h*w, c*4 + packed_latent_height, packed_latent_width = noisy_model_input.shape[2] // 2, noisy_model_input.shape[3] // 2 + img_ids = flux_utils.prepare_img_ids(bsz, packed_latent_height, packed_latent_width).to(device=accelerator.device) - # # concat embeddings - # encoder_hidden_states1, encoder_hidden_states2, pool2 = text_conds - # vector_embedding = torch.cat([pool2, embs], dim=1).to(weight_dtype) - # text_embedding = torch.cat([encoder_hidden_states1, encoder_hidden_states2], dim=2).to(weight_dtype) + # get guidance: ensure args.guidance_scale is float + guidance_vec = torch.full((bsz,), float(args.guidance_scale), device=accelerator.device) - # noise_pred = unet(noisy_latents, timesteps, text_embedding, vector_embedding) - # return noise_pred + # call model + l_pooled, t5_out, txt_ids, t5_attn_mask = text_encoder_conds + if not args.apply_t5_attn_mask: + t5_attn_mask = None - def sample_images(self, accelerator, args, epoch, global_step, device, ae, tokenizer, text_encoder, flux): - text_encoders = text_encoder # for compatibility - text_encoders = self.get_models_for_text_encoding(args, accelerator, text_encoders) + with accelerator.autocast(): + block_samples, block_single_samples = controlnet( + img=packed_noisy_model_input, + img_ids=img_ids, + controlnet_cond=batch["control_image"].to(accelerator.device), + txt=t5_out, + txt_ids=txt_ids, + y=l_pooled, + timesteps=timesteps / 1000, + guidance=guidance_vec, + txt_attention_mask=t5_attn_mask, + ) + # YiYi notes: divide it by 1000 for now because we scale it by 1000 in the transformer model (we should not keep it but I want to keep the inputs same for the model for testing) + model_pred = flux( + img=packed_noisy_model_input, + img_ids=img_ids, + txt=t5_out, + txt_ids=txt_ids, + y=l_pooled, + block_controlnet_hidden_states=block_samples, + block_controlnet_single_hidden_states=block_single_samples, + timesteps=timesteps / 1000, + guidance=guidance_vec, + txt_attention_mask=t5_attn_mask, + ) - flux_train_utils.sample_images( - accelerator, args, epoch, global_step, flux, ae, text_encoders, self.sample_prompts_te_outputs - ) - # return - - """ - class FluxUpperLowerWrapper(torch.nn.Module): - def __init__(self, flux_upper: flux_models.FluxUpper, flux_lower: flux_models.FluxLower, device: torch.device): - super().__init__() - self.flux_upper = flux_upper - self.flux_lower = flux_lower - self.target_device = device - - def prepare_block_swap_before_forward(self): - pass - - def forward(self, img, img_ids, txt, txt_ids, timesteps, y, guidance=None, txt_attention_mask=None): - self.flux_lower.to("cpu") - clean_memory_on_device(self.target_device) - self.flux_upper.to(self.target_device) - img, txt, vec, pe = self.flux_upper(img, img_ids, txt, txt_ids, timesteps, y, guidance, txt_attention_mask) - self.flux_upper.to("cpu") - clean_memory_on_device(self.target_device) - self.flux_lower.to(self.target_device) - return self.flux_lower(img, txt, vec, pe, txt_attention_mask) - - wrapper = FluxUpperLowerWrapper(self.flux_upper, flux, accelerator.device) - clean_memory_on_device(accelerator.device) - flux_train_utils.sample_images( - accelerator, args, epoch, global_step, wrapper, ae, text_encoders, self.sample_prompts_te_outputs - ) - clean_memory_on_device(accelerator.device) - """ - - def get_noise_scheduler(self, args: argparse.Namespace, device: torch.device) -> Any: - noise_scheduler = sd3_train_utils.FlowMatchEulerDiscreteScheduler(num_train_timesteps=1000, shift=args.discrete_flow_shift) - self.noise_scheduler_copy = copy.deepcopy(noise_scheduler) - return noise_scheduler - - def encode_images_to_latents(self, args, accelerator, vae, images): - return vae.encode(images) - - def shift_scale_latents(self, args, latents): - return latents - - def get_noise_pred_and_target( - self, - args, - accelerator, - noise_scheduler, - latents, - batch, - text_encoder_conds, - unet: flux_models.Flux, - network, - weight_dtype, - train_unet, - ): - # Sample noise that we'll add to the latents - noise = torch.randn_like(latents) - bsz = latents.shape[0] - - # get noisy model input and timesteps - noisy_model_input, timesteps, sigmas = flux_train_utils.get_noisy_model_input_and_timesteps( - args, noise_scheduler, latents, noise, accelerator.device, weight_dtype - ) + # unpack latents + model_pred = flux_utils.unpack_latents(model_pred, packed_latent_height, packed_latent_width) + + # apply model prediction type + model_pred, weighting = flux_train_utils.apply_model_prediction_type(args, model_pred, noisy_model_input, sigmas) - # pack latents and get img_ids - packed_noisy_model_input = flux_utils.pack_latents(noisy_model_input) # b, c, h*2, w*2 -> b, h*w, c*4 - packed_latent_height, packed_latent_width = noisy_model_input.shape[2] // 2, noisy_model_input.shape[3] // 2 - img_ids = flux_utils.prepare_img_ids(bsz, packed_latent_height, packed_latent_width).to(device=accelerator.device) - - # get guidance - # ensure guidance_scale in args is float - guidance_vec = torch.full((bsz,), float(args.guidance_scale), device=accelerator.device) - - # ensure the hidden state will require grad - if args.gradient_checkpointing: - noisy_model_input.requires_grad_(True) - for t in text_encoder_conds: - if t is not None and t.dtype.is_floating_point: - t.requires_grad_(True) - img_ids.requires_grad_(True) - guidance_vec.requires_grad_(True) - - # Predict the noise residual - l_pooled, t5_out, txt_ids, t5_attn_mask = text_encoder_conds - if not args.apply_t5_attn_mask: - t5_attn_mask = None - - def call_dit(img, img_ids, t5_out, txt_ids, l_pooled, timesteps, guidance_vec, t5_attn_mask): - # if not args.split_mode: - # normal forward - with accelerator.autocast(): - # YiYi notes: divide it by 1000 for now because we scale it by 1000 in the transformer model (we should not keep it but I want to keep the inputs same for the model for testing) - model_pred = unet( - img=img, - img_ids=img_ids, - txt=t5_out, - txt_ids=txt_ids, - y=l_pooled, - timesteps=timesteps / 1000, - guidance=guidance_vec, - txt_attention_mask=t5_attn_mask, + # flow matching loss: this is different from SD3 + target = noise - latents + + # calculate loss + loss = train_util.conditional_loss( + model_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=None + ) + if weighting is not None: + loss = loss * weighting + if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): + loss = apply_masked_loss(loss, batch) + loss = loss.mean([1, 2, 3]) + + loss_weights = batch["loss_weights"] # 各sampleごとのweight + loss = loss * loss_weights + loss = loss.mean() + + # backward + accelerator.backward(loss) + + if not (args.fused_backward_pass or args.blockwise_fused_optimizers): + if accelerator.sync_gradients and args.max_grad_norm != 0.0: + params_to_clip = [] + for m in training_models: + params_to_clip.extend(m.parameters()) + accelerator.clip_grad_norm_(params_to_clip, args.max_grad_norm) + + optimizer.step() + lr_scheduler.step() + optimizer.zero_grad(set_to_none=True) + else: + # optimizer.step() and optimizer.zero_grad() are called in the optimizer hook + lr_scheduler.step() + if args.blockwise_fused_optimizers: + for i in range(1, len(optimizers)): + lr_schedulers[i].step() + + # Checks if the accelerator has performed an optimization step behind the scenes + if accelerator.sync_gradients: + progress_bar.update(1) + global_step += 1 + + optimizer_eval_fn() + flux_train_utils.sample_images( + accelerator, args, None, global_step, flux, ae, [clip_l, t5xxl], sample_prompts_te_outputs ) - """ - else: - # split forward to reduce memory usage - assert network.train_blocks == "single", "train_blocks must be single for split mode" - with accelerator.autocast(): - # move flux lower to cpu, and then move flux upper to gpu - unet.to("cpu") - clean_memory_on_device(accelerator.device) - self.flux_upper.to(accelerator.device) - # upper model does not require grad - with torch.no_grad(): - intermediate_img, intermediate_txt, vec, pe = self.flux_upper( - img=packed_noisy_model_input, - img_ids=img_ids, - txt=t5_out, - txt_ids=txt_ids, - y=l_pooled, - timesteps=timesteps / 1000, - guidance=guidance_vec, - txt_attention_mask=t5_attn_mask, + # 指定ステップごとにモデルを保存 + if args.save_every_n_steps is not None and global_step % args.save_every_n_steps == 0: + accelerator.wait_for_everyone() + if accelerator.is_main_process: + flux_train_utils.save_flux_model_on_epoch_end_or_stepwise( + args, + False, + accelerator, + save_dtype, + epoch, + num_train_epochs, + global_step, + accelerator.unwrap_model(flux), ) + optimizer_train_fn() - # move flux upper back to cpu, and then move flux lower to gpu - self.flux_upper.to("cpu") - clean_memory_on_device(accelerator.device) - unet.to(accelerator.device) - - # lower model requires grad - intermediate_img.requires_grad_(True) - intermediate_txt.requires_grad_(True) - vec.requires_grad_(True) - pe.requires_grad_(True) - model_pred = unet(img=intermediate_img, txt=intermediate_txt, vec=vec, pe=pe, txt_attention_mask=t5_attn_mask) - """ - - return model_pred - - model_pred = call_dit( - img=packed_noisy_model_input, - img_ids=img_ids, - t5_out=t5_out, - txt_ids=txt_ids, - l_pooled=l_pooled, - timesteps=timesteps, - guidance_vec=guidance_vec, - t5_attn_mask=t5_attn_mask, - ) + current_loss = loss.detach().item() # 平均なのでbatch sizeは関係ないはず + if len(accelerator.trackers) > 0: + logs = {"loss": current_loss} + train_util.append_lr_to_logs(logs, lr_scheduler, args.optimizer_type, including_unet=True) - # unpack latents - model_pred = flux_utils.unpack_latents(model_pred, packed_latent_height, packed_latent_width) - - # apply model prediction type - model_pred, weighting = flux_train_utils.apply_model_prediction_type(args, model_pred, noisy_model_input, sigmas) - - # flow matching loss: this is different from SD3 - target = noise - latents - - # differential output preservation - if "custom_attributes" in batch: - diff_output_pr_indices = [] - for i, custom_attributes in enumerate(batch["custom_attributes"]): - if "diff_output_preservation" in custom_attributes and custom_attributes["diff_output_preservation"]: - diff_output_pr_indices.append(i) - - if len(diff_output_pr_indices) > 0: - network.set_multiplier(0.0) - with torch.no_grad(): - model_pred_prior = call_dit( - img=packed_noisy_model_input[diff_output_pr_indices], - img_ids=img_ids[diff_output_pr_indices], - t5_out=t5_out[diff_output_pr_indices], - txt_ids=txt_ids[diff_output_pr_indices], - l_pooled=l_pooled[diff_output_pr_indices], - timesteps=timesteps[diff_output_pr_indices], - guidance_vec=guidance_vec[diff_output_pr_indices] if guidance_vec is not None else None, - t5_attn_mask=t5_attn_mask[diff_output_pr_indices] if t5_attn_mask is not None else None, - ) - network.set_multiplier(1.0) # may be overwritten by "network_multipliers" in the next step + accelerator.log(logs, step=global_step) - model_pred_prior = flux_utils.unpack_latents(model_pred_prior, packed_latent_height, packed_latent_width) - model_pred_prior, _ = flux_train_utils.apply_model_prediction_type( + loss_recorder.add(epoch=epoch, step=step, loss=current_loss) + avr_loss: float = loss_recorder.moving_average + logs = {"avr_loss": avr_loss} # , "lr": lr_scheduler.get_last_lr()[0]} + progress_bar.set_postfix(**logs) + + if global_step >= args.max_train_steps: + break + + if len(accelerator.trackers) > 0: + logs = {"loss/epoch": loss_recorder.moving_average} + accelerator.log(logs, step=epoch + 1) + + accelerator.wait_for_everyone() + + optimizer_eval_fn() + if args.save_every_n_epochs is not None: + if accelerator.is_main_process: + flux_train_utils.save_flux_model_on_epoch_end_or_stepwise( args, - model_pred_prior, - noisy_model_input[diff_output_pr_indices], - sigmas[diff_output_pr_indices] if sigmas is not None else None, + True, + accelerator, + save_dtype, + epoch, + num_train_epochs, + global_step, + accelerator.unwrap_model(flux), ) - target[diff_output_pr_indices] = model_pred_prior.to(target.dtype) - - return model_pred, target, timesteps, None, weighting - - def post_process_loss(self, loss, args, timesteps, noise_scheduler): - return loss - - def get_sai_model_spec(self, args): - return train_util.get_sai_model_spec(None, args, False, True, False, flux="dev") - - def update_metadata(self, metadata, args): - metadata["ss_apply_t5_attn_mask"] = args.apply_t5_attn_mask - metadata["ss_weighting_scheme"] = args.weighting_scheme - metadata["ss_logit_mean"] = args.logit_mean - metadata["ss_logit_std"] = args.logit_std - metadata["ss_mode_scale"] = args.mode_scale - metadata["ss_guidance_scale"] = args.guidance_scale - metadata["ss_timestep_sampling"] = args.timestep_sampling - metadata["ss_sigmoid_scale"] = args.sigmoid_scale - metadata["ss_model_prediction_type"] = args.model_prediction_type - metadata["ss_discrete_flow_shift"] = args.discrete_flow_shift - - def is_text_encoder_not_needed_for_training(self, args): - return args.cache_text_encoder_outputs and not self.is_train_text_encoder(args) - - def prepare_text_encoder_grad_ckpt_workaround(self, index, text_encoder): - if index == 0: # CLIP-L - return super().prepare_text_encoder_grad_ckpt_workaround(index, text_encoder) - else: # T5XXL - text_encoder.encoder.embed_tokens.requires_grad_(True) - - def prepare_text_encoder_fp8(self, index, text_encoder, te_weight_dtype, weight_dtype): - if index == 0: # CLIP-L - logger.info(f"prepare CLIP-L for fp8: set to {te_weight_dtype}, set embeddings to {weight_dtype}") - text_encoder.to(te_weight_dtype) # fp8 - text_encoder.text_model.embeddings.to(dtype=weight_dtype) - else: # T5XXL - - def prepare_fp8(text_encoder, target_dtype): - def forward_hook(module): - def forward(hidden_states): - hidden_gelu = module.act(module.wi_0(hidden_states)) - hidden_linear = module.wi_1(hidden_states) - hidden_states = hidden_gelu * hidden_linear - hidden_states = module.dropout(hidden_states) - - hidden_states = module.wo(hidden_states) - return hidden_states - - return forward - - for module in text_encoder.modules(): - if module.__class__.__name__ in ["T5LayerNorm", "Embedding"]: - # print("set", module.__class__.__name__, "to", target_dtype) - module.to(target_dtype) - if module.__class__.__name__ in ["T5DenseGatedActDense"]: - # print("set", module.__class__.__name__, "hooks") - module.forward = forward_hook(module) - - if flux_utils.get_t5xxl_actual_dtype(text_encoder) == torch.float8_e4m3fn and text_encoder.dtype == weight_dtype: - logger.info(f"T5XXL already prepared for fp8") - else: - logger.info(f"prepare T5XXL for fp8: set to {te_weight_dtype}, set embeddings to {weight_dtype}, add hooks") - text_encoder.to(te_weight_dtype) # fp8 - prepare_fp8(text_encoder, weight_dtype) - def prepare_unet_with_accelerator( - self, args: argparse.Namespace, accelerator: Accelerator, unet: torch.nn.Module - ) -> torch.nn.Module: - if not self.is_swapping_blocks: - return super().prepare_unet_with_accelerator(args, accelerator, unet) + flux_train_utils.sample_images( + accelerator, args, epoch + 1, global_step, flux, ae, [clip_l, t5xxl], sample_prompts_te_outputs + ) + optimizer_train_fn() + + is_main_process = accelerator.is_main_process + # if is_main_process: + controlnet = accelerator.unwrap_model(controlnet) - # if we doesn't swap blocks, we can move the model to device - flux: flux_models.Flux = unet - flux = accelerator.prepare(flux, device_placement=[not self.is_swapping_blocks]) - accelerator.unwrap_model(flux).move_to_device_except_swap_blocks(accelerator.device) # reduce peak memory usage - accelerator.unwrap_model(flux).prepare_block_swap_before_forward() + accelerator.end_training() + optimizer_eval_fn() + + if args.save_state or args.save_state_on_train_end: + train_util.save_state_on_train_end(args, accelerator) + + del accelerator # この後メモリを使うのでこれは消す - return flux + if is_main_process: + flux_train_utils.save_flux_model_on_train_end(args, save_dtype, epoch, global_step, flux) + logger.info("model saved.") def setup_parser() -> argparse.ArgumentParser: - parser = train_network.setup_parser() + parser = argparse.ArgumentParser() + + add_logging_arguments(parser) + train_util.add_sd_models_arguments(parser) # TODO split this + train_util.add_dataset_arguments(parser, True, True, True) + train_util.add_training_arguments(parser, False) + train_util.add_masked_loss_arguments(parser) + deepspeed_utils.add_deepspeed_arguments(parser) + train_util.add_sd_saving_arguments(parser) + train_util.add_optimizer_arguments(parser) + config_util.add_config_arguments(parser) + add_custom_train_arguments(parser) # TODO remove this from here train_util.add_dit_training_arguments(parser) flux_train_utils.add_flux_train_arguments(parser) parser.add_argument( - "--split_mode", + "--mem_eff_save", + action="store_true", + help="[EXPERIMENTAL] use memory efficient custom model saving method / メモリ効率の良い独自のモデル保存方法を使う", + ) + + parser.add_argument( + "--fused_optimizer_groups", + type=int, + default=None, + help="**this option is not working** will be removed in the future / このオプションは動作しません。将来削除されます", + ) + parser.add_argument( + "--blockwise_fused_optimizers", + action="store_true", + help="enable blockwise optimizers for fused backward pass and optimizer step / fused backward passとoptimizer step のためブロック単位のoptimizerを有効にする", + ) + parser.add_argument( + "--skip_latents_validity_check", + action="store_true", + help="[Deprecated] use 'skip_cache_check' instead / 代わりに 'skip_cache_check' を使用してください", + ) + parser.add_argument( + "--double_blocks_to_swap", + type=int, + default=None, + help="[Deprecated] use 'blocks_to_swap' instead / 代わりに 'blocks_to_swap' を使用してください", + ) + parser.add_argument( + "--single_blocks_to_swap", + type=int, + default=None, + help="[Deprecated] use 'blocks_to_swap' instead / 代わりに 'blocks_to_swap' を使用してください", + ) + parser.add_argument( + "--cpu_offload_checkpointing", action="store_true", - # help="[EXPERIMENTAL] use split mode for Flux model, network arg `train_blocks=single` is required" - # + "/[実験的] Fluxモデルの分割モードを使用する。ネットワーク引数`train_blocks=single`が必要", - help="[Deprecated] This option is deprecated. Please use `--blocks_to_swap` instead." - " / このオプションは非推奨です。代わりに`--blocks_to_swap`を使用してください。", + help="[EXPERIMENTAL] enable offloading of tensors to CPU during checkpointing / チェックポイント時にテンソルをCPUにオフロードする", ) return parser @@ -569,5 +866,4 @@ def setup_parser() -> argparse.ArgumentParser: train_util.verify_command_line_training_args(args) args = train_util.read_config_from_file(args, parser) - trainer = FluxNetworkTrainer() - trainer.train(args) + train(args) diff --git a/flux_train_network.py b/flux_train_network.py index 0feb9b011..6668012e4 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -125,9 +125,6 @@ def load_target_model(self, args, weight_dtype, accelerator): ae = flux_utils.load_ae(args.ae, weight_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors) - controlnet = flux_utils.load_controlnet() - controlnet.train() - return flux_utils.MODEL_VERSION_FLUX_V1, [clip_l, t5xxl], ae, model, controlnet def get_tokenize_strategy(self, args): diff --git a/library/flux_train_utils.py b/library/flux_train_utils.py index d90644a25..cc3bcb0ec 100644 --- a/library/flux_train_utils.py +++ b/library/flux_train_utils.py @@ -40,6 +40,7 @@ def sample_images( text_encoders, sample_prompts_te_outputs, prompt_replacement=None, + controlnet=None ): if steps == 0: if not args.sample_at_first: @@ -67,6 +68,8 @@ def sample_images( flux = accelerator.unwrap_model(flux) if text_encoders is not None: text_encoders = [accelerator.unwrap_model(te) for te in text_encoders] + if controlnet is not None: + controlnet = accelerator.unwrap_model(controlnet) # print([(te.parameters().__next__().device if te is not None else None) for te in text_encoders]) prompts = train_util.load_prompts(args.sample_prompts) @@ -98,6 +101,7 @@ def sample_images( steps, sample_prompts_te_outputs, prompt_replacement, + controlnet ) else: # Creating list with N elements, where each element is a list of prompt_dicts, and N is the number of processes available (number of devices available) @@ -121,6 +125,7 @@ def sample_images( steps, sample_prompts_te_outputs, prompt_replacement, + controlnet ) torch.set_rng_state(rng_state) @@ -142,6 +147,7 @@ def sample_image_inference( steps, sample_prompts_te_outputs, prompt_replacement, + controlnet ): assert isinstance(prompt_dict, dict) # negative_prompt = prompt_dict.get("negative_prompt") @@ -150,7 +156,7 @@ def sample_image_inference( height = prompt_dict.get("height", 512) scale = prompt_dict.get("scale", 3.5) seed = prompt_dict.get("seed") - # controlnet_image = prompt_dict.get("controlnet_image") + controlnet_image = prompt_dict.get("controlnet_image") prompt: str = prompt_dict.get("prompt", "") # sampler_name: str = prompt_dict.get("sample_sampler", args.sample_sampler) @@ -169,6 +175,9 @@ def sample_image_inference( # if negative_prompt is None: # negative_prompt = "" + if controlnet_image is not None: + controlnet_image = Image.open(controlnet_image).convert("RGB") + controlnet_image = controlnet_image.resize((width, height), Image.LANCZOS) height = max(64, height - height % 16) # round to divisible by 16 width = max(64, width - width % 16) # round to divisible by 16 @@ -224,7 +233,7 @@ def sample_image_inference( t5_attn_mask = t5_attn_mask.to(accelerator.device) if args.apply_t5_attn_mask else None with accelerator.autocast(), torch.no_grad(): - x = denoise(flux, noise, img_ids, t5_out, txt_ids, l_pooled, timesteps=timesteps, guidance=scale, t5_attn_mask=t5_attn_mask) + x = denoise(flux, noise, img_ids, t5_out, txt_ids, l_pooled, timesteps=timesteps, guidance=scale, t5_attn_mask=t5_attn_mask, controlnet=controlnet, controlnet_img=controlnet_image) x = x.float() x = flux_utils.unpack_latents(x, packed_latent_height, packed_latent_width) @@ -301,18 +310,37 @@ def denoise( timesteps: list[float], guidance: float = 4.0, t5_attn_mask: Optional[torch.Tensor] = None, + controlnet: Optional[flux_models.ControlNetFlux] = None, + controlnet_img: Optional[torch.Tensor] = None, ): # this is ignored for schnell guidance_vec = torch.full((img.shape[0],), guidance, device=img.device, dtype=img.dtype) for t_curr, t_prev in zip(tqdm(timesteps[:-1]), timesteps[1:]): t_vec = torch.full((img.shape[0],), t_curr, dtype=img.dtype, device=img.device) model.prepare_block_swap_before_forward() + if controlnet is not None: + block_samples, block_single_samples = controlnet( + img=img, + img_ids=img_ids, + controlnet_cond=controlnet_img, + txt=txt, + txt_ids=txt_ids, + y=vec, + timesteps=t_vec, + guidance=guidance_vec, + txt_attention_mask=t5_attn_mask, + ) + else: + block_samples = None + block_single_samples = None pred = model( img=img, img_ids=img_ids, txt=txt, txt_ids=txt_ids, y=vec, + block_controlnet_hidden_states=block_samples, + block_controlnet_single_hidden_states=block_single_samples, timesteps=t_vec, guidance=guidance_vec, txt_attention_mask=t5_attn_mask, diff --git a/library/flux_utils.py b/library/flux_utils.py index 678efbc8a..7b538d133 100644 --- a/library/flux_utils.py +++ b/library/flux_utils.py @@ -153,11 +153,14 @@ def load_ae( return ae -def load_controlnet(name, device, transformer=None): - with torch.device(device): +def load_controlnet(): + # TODO + is_schnell = False + name = MODEL_NAME_DEV if not is_schnell else MODEL_NAME_SCHNELL + with torch.device("meta"): controlnet = flux_models.ControlNetFlux(flux_models.configs[name].params) - if transformer is not None: - controlnet.load_state_dict(transformer.state_dict(), strict=False) + # if transformer is not None: + # controlnet.load_state_dict(transformer.state_dict(), strict=False) return controlnet From e358b118afbc93f63dbb5ab6d2412ec553ea9cd7 Mon Sep 17 00:00:00 2001 From: minux302 Date: Sat, 16 Nov 2024 14:49:29 +0900 Subject: [PATCH 345/748] fix dataloader --- flux_train_control_net.py | 84 ++++++++++++++++++++------------------- library/flux_models.py | 17 ++++---- 2 files changed, 52 insertions(+), 49 deletions(-) diff --git a/flux_train_control_net.py b/flux_train_control_net.py index 8a7be75f2..ee4d0ebf3 100644 --- a/flux_train_control_net.py +++ b/flux_train_control_net.py @@ -11,31 +11,36 @@ # - Per-block fused optimizer instances import argparse -from concurrent.futures import ThreadPoolExecutor import copy import math import os -from multiprocessing import Value import time +from concurrent.futures import ThreadPoolExecutor +from multiprocessing import Value from typing import List, Optional, Tuple, Union -import toml - -from tqdm import tqdm +import toml import torch import torch.nn as nn +from tqdm import tqdm + from library import utils -from library.device_utils import init_ipex, clean_memory_on_device +from library.device_utils import clean_memory_on_device, init_ipex init_ipex() from accelerate.utils import set_seed -from library import deepspeed_utils, flux_train_utils, flux_utils, strategy_base, strategy_flux -from library.sd3_train_utils import FlowMatchEulerDiscreteScheduler import library.train_util as train_util - -from library.utils import setup_logging, add_logging_arguments +from library import ( + deepspeed_utils, + flux_train_utils, + flux_utils, + strategy_base, + strategy_flux, +) +from library.sd3_train_utils import FlowMatchEulerDiscreteScheduler +from library.utils import add_logging_arguments, setup_logging setup_logging() import logging @@ -46,10 +51,10 @@ # import library.sdxl_train_util as sdxl_train_util from library.config_util import ( - ConfigSanitizer, BlueprintGenerator, + ConfigSanitizer, ) -from library.custom_train_functions import apply_masked_loss, add_custom_train_arguments +from library.custom_train_functions import add_custom_train_arguments, apply_masked_loss def train(args): @@ -85,7 +90,6 @@ def train(args): ) cache_latents = args.cache_latents - use_dreambooth_method = args.in_json is None if args.seed is not None: set_seed(args.seed) # 乱数系列を初期化する @@ -103,7 +107,7 @@ def train(args): if args.dataset_config is not None: logger.info(f"Load dataset config from {args.dataset_config}") user_config = config_util.load_user_config(args.dataset_config) - ignored = ["train_data_dir", "in_json"] + ignored = ["train_data_dir", "conditioing_data_dir"] if any(getattr(args, attr) is not None for attr in ignored): logger.warning( "ignore following options because config file is found: {0} / 設定ファイルが利用されるため以下のオプションは無視されます: {0}".format( @@ -111,31 +115,17 @@ def train(args): ) ) else: - if use_dreambooth_method: - logger.info("Using DreamBooth method.") - user_config = { - "datasets": [ - { - "subsets": config_util.generate_dreambooth_subsets_config_by_subdirs( - args.train_data_dir, args.reg_data_dir - ) - } - ] - } - else: - logger.info("Training with captions.") - user_config = { - "datasets": [ - { - "subsets": [ - { - "image_dir": args.train_data_dir, - "metadata_file": args.in_json, - } - ] - } - ] - } + user_config = { + "datasets": [ + { + "subsets": config_util.generate_controlnet_subsets_config_by_subdirs( + args.train_data_dir, + args.conditioning_data_dir, + args.caption_extension + ) + } + ] + } blueprint = blueprint_generator.generate(user_config, args) train_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) @@ -648,12 +638,12 @@ def grad_hook(parameter: torch.Tensor): l_pooled, t5_out, txt_ids, t5_attn_mask = text_encoder_conds if not args.apply_t5_attn_mask: t5_attn_mask = None - + with accelerator.autocast(): block_samples, block_single_samples = controlnet( img=packed_noisy_model_input, img_ids=img_ids, - controlnet_cond=batch["control_image"].to(accelerator.device), + controlnet_img=batch["conditioing_image"].to(accelerator.device), txt=t5_out, txt_ids=txt_ids, y=l_pooled, @@ -856,6 +846,18 @@ def setup_parser() -> argparse.ArgumentParser: action="store_true", help="[EXPERIMENTAL] enable offloading of tensors to CPU during checkpointing / チェックポイント時にテンソルをCPUにオフロードする", ) + parser.add_argument( + "--controlnet_model_name_or_path", + type=str, + default=None, + help="controlnet model name or path / controlnetのモデル名またはパス", + ) + parser.add_argument( + "--conditioning_data_dir", + type=str, + default=None, + help="conditioning data directory / 条件付けデータのディレクトリ", + ) return parser diff --git a/library/flux_models.py b/library/flux_models.py index a3bd19743..b52ea6f0b 100644 --- a/library/flux_models.py +++ b/library/flux_models.py @@ -2,15 +2,15 @@ # license: Apache-2.0 License -from concurrent.futures import Future, ThreadPoolExecutor -from dataclasses import dataclass import math import os import time +from concurrent.futures import Future, ThreadPoolExecutor +from dataclasses import dataclass from typing import Dict, List, Optional, Union from library import utils -from library.device_utils import init_ipex, clean_memory_on_device +from library.device_utils import clean_memory_on_device, init_ipex init_ipex() @@ -18,6 +18,7 @@ from einops import rearrange from torch import Tensor, nn from torch.utils.checkpoint import checkpoint + from library import custom_offloading_utils # USE_REENTRANT = True @@ -1251,7 +1252,7 @@ def forward( self, img: Tensor, img_ids: Tensor, - controlnet_cond: Tensor, + controlnet_img: Tensor, txt: Tensor, txt_ids: Tensor, timesteps: Tensor, @@ -1264,10 +1265,10 @@ def forward( # running on sequences img img = self.img_in(img) - controlnet_cond = self.input_hint_block(controlnet_cond) - controlnet_cond = rearrange(controlnet_cond, "b c (h ph) (w pw) -> b (h w) (c ph pw)", ph=2, pw=2) - controlnet_cond = self.pos_embed_input(controlnet_cond) - img = img + controlnet_cond + controlnet_img = self.input_hint_block(controlnet_img) + controlnet_img = rearrange(controlnet_img, "b c (h ph) (w pw) -> b (h w) (c ph pw)", ph=2, pw=2) + controlnet_img = self.pos_embed_input(controlnet_img) + img = img + controlnet_img vec = self.time_in(timestep_embedding(timesteps, 256)) if self.params.guidance_embed: if guidance is None: From 2a188f07e682ed5dd958821a223d48c17a9aeb83 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 17 Nov 2024 16:12:10 +0900 Subject: [PATCH 346/748] Fix to work DOP with bock swap --- flux_train_network.py | 1 + 1 file changed, 1 insertion(+) diff --git a/flux_train_network.py b/flux_train_network.py index 704c4d32e..679db62b6 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -445,6 +445,7 @@ def call_dit(img, img_ids, t5_out, txt_ids, l_pooled, timesteps, guidance_vec, t if len(diff_output_pr_indices) > 0: network.set_multiplier(0.0) + unet.prepare_block_swap_before_forward() with torch.no_grad(): model_pred_prior = call_dit( img=packed_noisy_model_input[diff_output_pr_indices], From b2660bbe7410d7ffa40906a7a09f84a17139cb46 Mon Sep 17 00:00:00 2001 From: minux302 Date: Sun, 17 Nov 2024 10:24:57 +0000 Subject: [PATCH 347/748] train run --- flux_train_control_net.py | 39 ++++++++++++++++++++++--------------- library/flux_models.py | 30 ++++++++++++++-------------- library/flux_train_utils.py | 2 +- library/flux_utils.py | 2 +- 4 files changed, 40 insertions(+), 33 deletions(-) diff --git a/flux_train_control_net.py b/flux_train_control_net.py index ee4d0ebf3..205ff6b6a 100644 --- a/flux_train_control_net.py +++ b/flux_train_control_net.py @@ -103,11 +103,11 @@ def train(args): # データセットを準備する if args.dataset_class is None: - blueprint_generator = BlueprintGenerator(ConfigSanitizer(True, True, args.masked_loss, True)) + blueprint_generator = BlueprintGenerator(ConfigSanitizer(False, False, True, True)) if args.dataset_config is not None: logger.info(f"Load dataset config from {args.dataset_config}") user_config = config_util.load_user_config(args.dataset_config) - ignored = ["train_data_dir", "conditioing_data_dir"] + ignored = ["train_data_dir", "conditioning_data_dir"] if any(getattr(args, attr) is not None for attr in ignored): logger.warning( "ignore following options because config file is found: {0} / 設定ファイルが利用されるため以下のオプションは無視されます: {0}".format( @@ -263,10 +263,11 @@ def train(args): args.pretrained_model_name_or_path, weight_dtype, "cpu", args.disable_mmap_load_safetensors ) flux.requires_grad_(False) + flux.to(accelerator.device) # load controlnet controlnet = flux_utils.load_controlnet() - controlnet.requires_grad_(True) + controlnet.train() if args.gradient_checkpointing: controlnet.enable_gradient_checkpointing(cpu_offload=args.cpu_offload_checkpointing) @@ -443,7 +444,8 @@ def train(args): clean_memory_on_device(accelerator.device) - if args.deepspeed: + # if args.deepspeed: + if True: ds_model = deepspeed_utils.prepare_deepspeed_model(args, mmdit=controlnet) # most of ZeRO stage uses optimizer partitioning, so we have to prepare optimizer and ds_model at the same time. # pull/1139#issuecomment-1986790007 ds_model, optimizer, train_dataloader, lr_scheduler = accelerator.prepare( @@ -612,8 +614,10 @@ def grad_hook(parameter: torch.Tensor): text_encoder_conds = text_encoding_strategy.encode_tokens( flux_tokenize_strategy, [clip_l, t5xxl], input_ids, args.apply_t5_attn_mask ) - if args.full_fp16: - text_encoder_conds = [c.to(weight_dtype) for c in text_encoder_conds] + # if args.full_fp16: + # text_encoder_conds = [c.to(weight_dtype) for c in text_encoder_conds] + # TODO: check + text_encoder_conds = [c.to(weight_dtype) for c in text_encoder_conds] # TODO support some features for noise implemented in get_noise_noisy_latents_and_timesteps @@ -629,10 +633,10 @@ def grad_hook(parameter: torch.Tensor): # pack latents and get img_ids packed_noisy_model_input = flux_utils.pack_latents(noisy_model_input) # b, c, h*2, w*2 -> b, h*w, c*4 packed_latent_height, packed_latent_width = noisy_model_input.shape[2] // 2, noisy_model_input.shape[3] // 2 - img_ids = flux_utils.prepare_img_ids(bsz, packed_latent_height, packed_latent_width).to(device=accelerator.device) + img_ids = flux_utils.prepare_img_ids(bsz, packed_latent_height, packed_latent_width).to(device=accelerator.device).to(weight_dtype) # get guidance: ensure args.guidance_scale is float - guidance_vec = torch.full((bsz,), float(args.guidance_scale), device=accelerator.device) + guidance_vec = torch.full((bsz,), float(args.guidance_scale), device=accelerator.device, dtype=weight_dtype) # call model l_pooled, t5_out, txt_ids, t5_attn_mask = text_encoder_conds @@ -640,10 +644,11 @@ def grad_hook(parameter: torch.Tensor): t5_attn_mask = None with accelerator.autocast(): + print("control start") block_samples, block_single_samples = controlnet( img=packed_noisy_model_input, img_ids=img_ids, - controlnet_img=batch["conditioing_image"].to(accelerator.device), + controlnet_cond=batch["conditioning_images"].to(accelerator.device).to(weight_dtype), txt=t5_out, txt_ids=txt_ids, y=l_pooled, @@ -651,6 +656,8 @@ def grad_hook(parameter: torch.Tensor): guidance=guidance_vec, txt_attention_mask=t5_attn_mask, ) + print("control end") + print("dit start") # YiYi notes: divide it by 1000 for now because we scale it by 1000 in the transformer model (we should not keep it but I want to keep the inputs same for the model for testing) model_pred = flux( img=packed_noisy_model_input, @@ -796,7 +803,7 @@ def setup_parser() -> argparse.ArgumentParser: add_logging_arguments(parser) train_util.add_sd_models_arguments(parser) # TODO split this - train_util.add_dataset_arguments(parser, True, True, True) + train_util.add_dataset_arguments(parser, False, True, True) train_util.add_training_arguments(parser, False) train_util.add_masked_loss_arguments(parser) deepspeed_utils.add_deepspeed_arguments(parser) @@ -852,12 +859,12 @@ def setup_parser() -> argparse.ArgumentParser: default=None, help="controlnet model name or path / controlnetのモデル名またはパス", ) - parser.add_argument( - "--conditioning_data_dir", - type=str, - default=None, - help="conditioning data directory / 条件付けデータのディレクトリ", - ) + # parser.add_argument( + # "--conditioning_data_dir", + # type=str, + # default=None, + # help="conditioning data directory / 条件付けデータのディレクトリ", + # ) return parser diff --git a/library/flux_models.py b/library/flux_models.py index b52ea6f0b..2fc21db9d 100644 --- a/library/flux_models.py +++ b/library/flux_models.py @@ -1042,20 +1042,20 @@ def forward( if not self.blocks_to_swap: for block_idx, block in enumerate(self.double_blocks): img, txt = block(img=img, txt=txt, vec=vec, pe=pe, txt_attention_mask=txt_attention_mask) - if block_controlnet_hidden_states is not None: + if block_controlnet_hidden_states is not None and controlnet_depth > 0: img = img + block_controlnet_hidden_states[block_idx % controlnet_depth] img = torch.cat((txt, img), 1) - for block in self.single_blocks: + for block_idx, block in enumerate(self.single_blocks): img = block(img, vec=vec, pe=pe, txt_attention_mask=txt_attention_mask) - if block_controlnet_single_hidden_states is not None: + if block_controlnet_single_hidden_states is not None and controlnet_single_depth > 0: img = img + block_controlnet_single_hidden_states[block_idx % controlnet_single_depth] else: for block_idx, block in enumerate(self.double_blocks): self.offloader_double.wait_for_block(block_idx) img, txt = block(img=img, txt=txt, vec=vec, pe=pe, txt_attention_mask=txt_attention_mask) - if block_controlnet_hidden_states is not None: + if block_controlnet_hidden_states is not None and controlnet_depth > 0: img = img + block_controlnet_hidden_states[block_idx % controlnet_depth] self.offloader_double.submit_move_blocks(self.double_blocks, block_idx) @@ -1066,7 +1066,7 @@ def forward( self.offloader_single.wait_for_block(block_idx) img = block(img, vec=vec, pe=pe, txt_attention_mask=txt_attention_mask) - if block_controlnet_single_hidden_states is not None: + if block_controlnet_single_hidden_states is not None and controlnet_single_depth > 0: img = img + block_controlnet_single_hidden_states[block_idx % controlnet_single_depth] self.offloader_single.submit_move_blocks(self.single_blocks, block_idx) @@ -1121,14 +1121,14 @@ def __init__(self, params: FluxParams, controlnet_depth=2): mlp_ratio=params.mlp_ratio, qkv_bias=params.qkv_bias, ) - for _ in range(params.depth) + for _ in range(controlnet_depth) ] ) self.single_blocks = nn.ModuleList( [ SingleStreamBlock(self.hidden_size, self.num_heads, mlp_ratio=params.mlp_ratio) - for _ in range(0) # TMP + for _ in range(0) # TODO ] ) @@ -1148,7 +1148,7 @@ def __init__(self, params: FluxParams, controlnet_depth=2): controlnet_block = zero_module(controlnet_block) self.controlnet_blocks_for_double.append(controlnet_block) self.controlnet_blocks_for_single = nn.ModuleList([]) - for _ in range(controlnet_depth): + for _ in range(0): # TODO controlnet_block = nn.Linear(self.hidden_size, self.hidden_size) controlnet_block = zero_module(controlnet_block) self.controlnet_blocks_for_single.append(controlnet_block) @@ -1252,7 +1252,7 @@ def forward( self, img: Tensor, img_ids: Tensor, - controlnet_img: Tensor, + controlnet_cond: Tensor, txt: Tensor, txt_ids: Tensor, timesteps: Tensor, @@ -1265,10 +1265,10 @@ def forward( # running on sequences img img = self.img_in(img) - controlnet_img = self.input_hint_block(controlnet_img) - controlnet_img = rearrange(controlnet_img, "b c (h ph) (w pw) -> b (h w) (c ph pw)", ph=2, pw=2) - controlnet_img = self.pos_embed_input(controlnet_img) - img = img + controlnet_img + controlnet_cond = self.input_hint_block(controlnet_cond) + controlnet_cond = rearrange(controlnet_cond, "b c (h ph) (w pw) -> b (h w) (c ph pw)", ph=2, pw=2) + controlnet_cond = self.pos_embed_input(controlnet_cond) + img = img + controlnet_cond vec = self.time_in(timestep_embedding(timesteps, 256)) if self.params.guidance_embed: if guidance is None: @@ -1283,7 +1283,7 @@ def forward( block_samples = () block_single_samples = () if not self.blocks_to_swap: - for block_idx, block in enumerate(self.double_blocks): + for block in self.double_blocks: img, txt = block(img=img, txt=txt, vec=vec, pe=pe, txt_attention_mask=txt_attention_mask) block_samples = block_samples + (img,) @@ -1315,7 +1315,7 @@ def forward( for block_sample, controlnet_block in zip(block_samples, self.controlnet_blocks_for_double): block_sample = controlnet_block(block_sample) controlnet_block_samples = controlnet_block_samples + (block_sample,) - for block_sample, controlnet_block in zip(block_samples, self.controlnet_single_blocks_for_single): + for block_sample, controlnet_block in zip(block_samples, self.controlnet_blocks_for_single): block_sample = controlnet_block(block_sample) controlnet_single_block_samples = controlnet_single_block_samples + (block_sample,) diff --git a/library/flux_train_utils.py b/library/flux_train_utils.py index cc3bcb0ec..d82bde91c 100644 --- a/library/flux_train_utils.py +++ b/library/flux_train_utils.py @@ -460,7 +460,7 @@ def get_noisy_model_input_and_timesteps( sigmas = get_sigmas(noise_scheduler, timesteps, device, n_dim=latents.ndim, dtype=dtype) noisy_model_input = sigmas * noise + (1.0 - sigmas) * latents - return noisy_model_input, timesteps, sigmas + return noisy_model_input.to(dtype), timesteps.to(dtype), sigmas def apply_model_prediction_type(args, model_pred, noisy_model_input, sigmas): diff --git a/library/flux_utils.py b/library/flux_utils.py index 7b538d133..4a3817fdb 100644 --- a/library/flux_utils.py +++ b/library/flux_utils.py @@ -157,7 +157,7 @@ def load_controlnet(): # TODO is_schnell = False name = MODEL_NAME_DEV if not is_schnell else MODEL_NAME_SCHNELL - with torch.device("meta"): + with torch.device("cuda:0"): controlnet = flux_models.ControlNetFlux(flux_models.configs[name].params) # if transformer is not None: # controlnet.load_state_dict(transformer.state_dict(), strict=False) From 35778f021897796410372aed8540547ba317c2a3 Mon Sep 17 00:00:00 2001 From: minux302 Date: Sun, 17 Nov 2024 11:09:05 +0000 Subject: [PATCH 348/748] fix sample_images type --- flux_train_control_net.py | 31 ++++++++++++++----------------- library/flux_train_utils.py | 2 +- 2 files changed, 15 insertions(+), 18 deletions(-) diff --git a/flux_train_control_net.py b/flux_train_control_net.py index 205ff6b6a..791900d17 100644 --- a/flux_train_control_net.py +++ b/flux_train_control_net.py @@ -444,8 +444,7 @@ def train(args): clean_memory_on_device(accelerator.device) - # if args.deepspeed: - if True: + if args.deepspeed: ds_model = deepspeed_utils.prepare_deepspeed_model(args, mmdit=controlnet) # most of ZeRO stage uses optimizer partitioning, so we have to prepare optimizer and ds_model at the same time. # pull/1139#issuecomment-1986790007 ds_model, optimizer, train_dataloader, lr_scheduler = accelerator.prepare( @@ -644,7 +643,6 @@ def grad_hook(parameter: torch.Tensor): t5_attn_mask = None with accelerator.autocast(): - print("control start") block_samples, block_single_samples = controlnet( img=packed_noisy_model_input, img_ids=img_ids, @@ -656,8 +654,6 @@ def grad_hook(parameter: torch.Tensor): guidance=guidance_vec, txt_attention_mask=t5_attn_mask, ) - print("control end") - print("dit start") # YiYi notes: divide it by 1000 for now because we scale it by 1000 in the transformer model (we should not keep it but I want to keep the inputs same for the model for testing) model_pred = flux( img=packed_noisy_model_input, @@ -763,18 +759,19 @@ def grad_hook(parameter: torch.Tensor): accelerator.wait_for_everyone() optimizer_eval_fn() - if args.save_every_n_epochs is not None: - if accelerator.is_main_process: - flux_train_utils.save_flux_model_on_epoch_end_or_stepwise( - args, - True, - accelerator, - save_dtype, - epoch, - num_train_epochs, - global_step, - accelerator.unwrap_model(flux), - ) + # TODO: save cn models + # if args.save_every_n_epochs is not None: + # if accelerator.is_main_process: + # flux_train_utils.save_flux_model_on_epoch_end_or_stepwise( + # args, + # True, + # accelerator, + # save_dtype, + # epoch, + # num_train_epochs, + # global_step, + # accelerator.unwrap_model(flux), + # ) flux_train_utils.sample_images( accelerator, args, epoch + 1, global_step, flux, ae, [clip_l, t5xxl], sample_prompts_te_outputs diff --git a/library/flux_train_utils.py b/library/flux_train_utils.py index d82bde91c..de2ee030a 100644 --- a/library/flux_train_utils.py +++ b/library/flux_train_utils.py @@ -235,7 +235,7 @@ def sample_image_inference( with accelerator.autocast(), torch.no_grad(): x = denoise(flux, noise, img_ids, t5_out, txt_ids, l_pooled, timesteps=timesteps, guidance=scale, t5_attn_mask=t5_attn_mask, controlnet=controlnet, controlnet_img=controlnet_image) - x = x.float() + # x = x.float() # TODO: check x = flux_utils.unpack_latents(x, packed_latent_height, packed_latent_width) # latent to image From 4dd4cd6ec8c55fa94b53217181ed9c95e59eed56 Mon Sep 17 00:00:00 2001 From: minux302 Date: Mon, 18 Nov 2024 12:47:01 +0000 Subject: [PATCH 349/748] work cn load and validation --- flux_train_control_net.py | 20 ++++---------------- library/flux_models.py | 6 +++--- library/flux_train_utils.py | 18 ++++++++++++++---- library/flux_utils.py | 25 ++++++++++++++++--------- 4 files changed, 37 insertions(+), 32 deletions(-) diff --git a/flux_train_control_net.py b/flux_train_control_net.py index 791900d17..cbfac418f 100644 --- a/flux_train_control_net.py +++ b/flux_train_control_net.py @@ -266,7 +266,7 @@ def train(args): flux.to(accelerator.device) # load controlnet - controlnet = flux_utils.load_controlnet() + controlnet = flux_utils.load_controlnet(args.controlnet, weight_dtype, "cpu", args.disable_mmap_load_safetensors) controlnet.train() if args.gradient_checkpointing: @@ -568,7 +568,7 @@ def grad_hook(parameter: torch.Tensor): # For --sample_at_first optimizer_eval_fn() - flux_train_utils.sample_images(accelerator, args, 0, global_step, flux, ae, [clip_l, t5xxl], sample_prompts_te_outputs) + flux_train_utils.sample_images(accelerator, args, 0, global_step, flux, ae, [clip_l, t5xxl], sample_prompts_te_outputs, controlnet=controlnet) optimizer_train_fn() if len(accelerator.trackers) > 0: # log empty object to commit the sample images to wandb @@ -718,7 +718,7 @@ def grad_hook(parameter: torch.Tensor): optimizer_eval_fn() flux_train_utils.sample_images( - accelerator, args, None, global_step, flux, ae, [clip_l, t5xxl], sample_prompts_te_outputs + accelerator, args, None, global_step, flux, ae, [clip_l, t5xxl], sample_prompts_te_outputs, controlnet=controlnet ) # 指定ステップごとにモデルを保存 @@ -774,7 +774,7 @@ def grad_hook(parameter: torch.Tensor): # ) flux_train_utils.sample_images( - accelerator, args, epoch + 1, global_step, flux, ae, [clip_l, t5xxl], sample_prompts_te_outputs + accelerator, args, epoch + 1, global_step, flux, ae, [clip_l, t5xxl], sample_prompts_te_outputs, controlnet=controlnet ) optimizer_train_fn() @@ -850,18 +850,6 @@ def setup_parser() -> argparse.ArgumentParser: action="store_true", help="[EXPERIMENTAL] enable offloading of tensors to CPU during checkpointing / チェックポイント時にテンソルをCPUにオフロードする", ) - parser.add_argument( - "--controlnet_model_name_or_path", - type=str, - default=None, - help="controlnet model name or path / controlnetのモデル名またはパス", - ) - # parser.add_argument( - # "--conditioning_data_dir", - # type=str, - # default=None, - # help="conditioning data directory / 条件付けデータのディレクトリ", - # ) return parser diff --git a/library/flux_models.py b/library/flux_models.py index 2fc21db9d..4123b40e5 100644 --- a/library/flux_models.py +++ b/library/flux_models.py @@ -1142,11 +1142,11 @@ def __init__(self, params: FluxParams, controlnet_depth=2): self.num_single_blocks = len(self.single_blocks) # add ControlNet blocks - self.controlnet_blocks_for_double = nn.ModuleList([]) + self.controlnet_blocks = nn.ModuleList([]) for _ in range(controlnet_depth): controlnet_block = nn.Linear(self.hidden_size, self.hidden_size) controlnet_block = zero_module(controlnet_block) - self.controlnet_blocks_for_double.append(controlnet_block) + self.controlnet_blocks.append(controlnet_block) self.controlnet_blocks_for_single = nn.ModuleList([]) for _ in range(0): # TODO controlnet_block = nn.Linear(self.hidden_size, self.hidden_size) @@ -1312,7 +1312,7 @@ def forward( controlnet_block_samples = () controlnet_single_block_samples = () - for block_sample, controlnet_block in zip(block_samples, self.controlnet_blocks_for_double): + for block_sample, controlnet_block in zip(block_samples, self.controlnet_blocks): block_sample = controlnet_block(block_sample) controlnet_block_samples = controlnet_block_samples + (block_sample,) for block_sample, controlnet_block in zip(block_samples, self.controlnet_blocks_for_single): diff --git a/library/flux_train_utils.py b/library/flux_train_utils.py index de2ee030a..dbbaba734 100644 --- a/library/flux_train_utils.py +++ b/library/flux_train_utils.py @@ -175,10 +175,6 @@ def sample_image_inference( # if negative_prompt is None: # negative_prompt = "" - if controlnet_image is not None: - controlnet_image = Image.open(controlnet_image).convert("RGB") - controlnet_image = controlnet_image.resize((width, height), Image.LANCZOS) - height = max(64, height - height % 16) # round to divisible by 16 width = max(64, width - width % 16) # round to divisible by 16 logger.info(f"prompt: {prompt}") @@ -232,6 +228,12 @@ def sample_image_inference( img_ids = flux_utils.prepare_img_ids(1, packed_latent_height, packed_latent_width).to(accelerator.device, weight_dtype) t5_attn_mask = t5_attn_mask.to(accelerator.device) if args.apply_t5_attn_mask else None + if controlnet_image is not None: + controlnet_image = Image.open(controlnet_image).convert("RGB") + controlnet_image = controlnet_image.resize((width, height), Image.LANCZOS) + controlnet_image = torch.from_numpy((np.array(controlnet_image) / 127.5) - 1) + controlnet_image = controlnet_image.permute(2, 0, 1).unsqueeze(0).to(weight_dtype).to(accelerator.device) + with accelerator.autocast(), torch.no_grad(): x = denoise(flux, noise, img_ids, t5_out, txt_ids, l_pooled, timesteps=timesteps, guidance=scale, t5_attn_mask=t5_attn_mask, controlnet=controlnet, controlnet_img=controlnet_image) @@ -315,6 +317,8 @@ def denoise( ): # this is ignored for schnell guidance_vec = torch.full((img.shape[0],), guidance, device=img.device, dtype=img.dtype) + + for t_curr, t_prev in zip(tqdm(timesteps[:-1]), timesteps[1:]): t_vec = torch.full((img.shape[0],), t_curr, dtype=img.dtype, device=img.device) model.prepare_block_swap_before_forward() @@ -560,6 +564,12 @@ def add_flux_train_arguments(parser: argparse.ArgumentParser): help="path to t5xxl (*.sft or *.safetensors), should be float16 / t5xxlのパス(*.sftまたは*.safetensors)、float16が前提", ) parser.add_argument("--ae", type=str, help="path to ae (*.sft or *.safetensors) / aeのパス(*.sftまたは*.safetensors)") + parser.add_argument( + "--controlnet", + type=str, + default=None, + help="path to controlnet (*.sft or *.safetensors) / aeのパス(*.sftまたは*.safetensors)" + ) parser.add_argument( "--t5xxl_max_token_length", type=int, diff --git a/library/flux_utils.py b/library/flux_utils.py index 4a3817fdb..fb7a30749 100644 --- a/library/flux_utils.py +++ b/library/flux_utils.py @@ -153,15 +153,22 @@ def load_ae( return ae -def load_controlnet(): - # TODO - is_schnell = False - name = MODEL_NAME_DEV if not is_schnell else MODEL_NAME_SCHNELL - with torch.device("cuda:0"): - controlnet = flux_models.ControlNetFlux(flux_models.configs[name].params) - # if transformer is not None: - # controlnet.load_state_dict(transformer.state_dict(), strict=False) - return controlnet +def load_controlnet( + ckpt_path: Optional[str], dtype: torch.dtype, device: Union[str, torch.device], disable_mmap: bool = False +): + logger.info("Building ControlNet") + # is_diffusers, is_schnell, (num_double_blocks, num_single_blocks), ckpt_paths = analyze_checkpoint_state(ckpt_path) + is_schnell = False + name = MODEL_NAME_DEV if not is_schnell else MODEL_NAME_SCHNELL + with torch.device("meta"): + controlnet = flux_models.ControlNetFlux(flux_models.configs[name].params).to(dtype) + + if ckpt_path is not None: + logger.info(f"Loading state dict from {ckpt_path}") + sd = load_safetensors(ckpt_path, device=str(device), disable_mmap=disable_mmap, dtype=dtype) + info = controlnet.load_state_dict(sd, strict=False, assign=True) + logger.info(f"Loaded ControlNet: {info}") + return controlnet def load_clip_l( From 31ca899b6b5425466c814d0d9e2e4e8bfbf93001 Mon Sep 17 00:00:00 2001 From: minux302 Date: Mon, 18 Nov 2024 13:03:28 +0000 Subject: [PATCH 350/748] fix depth value --- library/flux_models.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/library/flux_models.py b/library/flux_models.py index 4123b40e5..328ad481d 100644 --- a/library/flux_models.py +++ b/library/flux_models.py @@ -1093,7 +1093,7 @@ class ControlNetFlux(nn.Module): Transformer model for flow matching on sequences. """ - def __init__(self, params: FluxParams, controlnet_depth=2): + def __init__(self, params: FluxParams, controlnet_depth=2, controlnet_single_depth=0): super().__init__() self.params = params @@ -1128,7 +1128,7 @@ def __init__(self, params: FluxParams, controlnet_depth=2): self.single_blocks = nn.ModuleList( [ SingleStreamBlock(self.hidden_size, self.num_heads, mlp_ratio=params.mlp_ratio) - for _ in range(0) # TODO + for _ in range(controlnet_single_depth) ] ) @@ -1148,7 +1148,7 @@ def __init__(self, params: FluxParams, controlnet_depth=2): controlnet_block = zero_module(controlnet_block) self.controlnet_blocks.append(controlnet_block) self.controlnet_blocks_for_single = nn.ModuleList([]) - for _ in range(0): # TODO + for _ in range(controlnet_single_depth): controlnet_block = nn.Linear(self.hidden_size, self.hidden_size) controlnet_block = zero_module(controlnet_block) self.controlnet_blocks_for_single.append(controlnet_block) From 2a61fc07846dc919ea64b568f7e18c010e5c8e06 Mon Sep 17 00:00:00 2001 From: kohya-ss Date: Wed, 20 Nov 2024 21:20:35 +0900 Subject: [PATCH 351/748] docs: fix typo from block_to_swap to blocks_to_swap in README --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 81a3199bc..f9c85e3ac 100644 --- a/README.md +++ b/README.md @@ -68,11 +68,11 @@ When training LoRA for Text Encoder (without `--network_train_unet_only`), more __Options for GPUs with less VRAM:__ -By specifying `--block_to_swap`, you can save VRAM by swapping some blocks between CPU and GPU. See [FLUX.1 fine-tuning](#flux1-fine-tuning) for details. +By specifying `--blocks_to_swap`, you can save VRAM by swapping some blocks between CPU and GPU. See [FLUX.1 fine-tuning](#flux1-fine-tuning) for details. -Specify a number like `--block_to_swap 10`. A larger number will swap more blocks, saving more VRAM, but training will be slower. In FLUX.1, you can swap up to 35 blocks. +Specify a number like `--blocks_to_swap 10`. A larger number will swap more blocks, saving more VRAM, but training will be slower. In FLUX.1, you can swap up to 35 blocks. -`--cpu_offload_checkpointing` offloads gradient checkpointing to CPU. This reduces up to 1GB of VRAM usage but slows down the training by about 15%. Cannot be used with `--block_to_swap`. +`--cpu_offload_checkpointing` offloads gradient checkpointing to CPU. This reduces up to 1GB of VRAM usage but slows down the training by about 15%. Cannot be used with `--blocks_to_swap`. Adafactor optimizer may reduce the VRAM usage than 8bit AdamW. Please use settings like below: @@ -82,7 +82,7 @@ Adafactor optimizer may reduce the VRAM usage than 8bit AdamW. Please use settin The training can be done with 16GB VRAM GPUs with the batch size of 1. Please change your dataset configuration. -The training can be done with 12GB VRAM GPUs with `--block_to_swap 16` with 8bit AdamW. Please use settings like below: +The training can be done with 12GB VRAM GPUs with `--blocks_to_swap 16` with 8bit AdamW. Please use settings like below: ``` --blocks_to_swap 16 From 0b5229a9550cb921b83d22472c4785a15c42ba90 Mon Sep 17 00:00:00 2001 From: minux302 Date: Thu, 21 Nov 2024 15:55:27 +0000 Subject: [PATCH 352/748] save cn --- flux_train_control_net.py | 34 +++++++++++++++------------------- library/flux_train_utils.py | 1 - 2 files changed, 15 insertions(+), 20 deletions(-) diff --git a/flux_train_control_net.py b/flux_train_control_net.py index cbfac418f..0f38b7094 100644 --- a/flux_train_control_net.py +++ b/flux_train_control_net.py @@ -266,7 +266,7 @@ def train(args): flux.to(accelerator.device) # load controlnet - controlnet = flux_utils.load_controlnet(args.controlnet, weight_dtype, "cpu", args.disable_mmap_load_safetensors) + controlnet = flux_utils.load_controlnet(args.controlnet, torch.float32, "cpu", args.disable_mmap_load_safetensors) controlnet.train() if args.gradient_checkpointing: @@ -613,9 +613,6 @@ def grad_hook(parameter: torch.Tensor): text_encoder_conds = text_encoding_strategy.encode_tokens( flux_tokenize_strategy, [clip_l, t5xxl], input_ids, args.apply_t5_attn_mask ) - # if args.full_fp16: - # text_encoder_conds = [c.to(weight_dtype) for c in text_encoder_conds] - # TODO: check text_encoder_conds = [c.to(weight_dtype) for c in text_encoder_conds] # TODO support some features for noise implemented in get_noise_noisy_latents_and_timesteps @@ -733,7 +730,7 @@ def grad_hook(parameter: torch.Tensor): epoch, num_train_epochs, global_step, - accelerator.unwrap_model(flux), + accelerator.unwrap_model(controlnet), ) optimizer_train_fn() @@ -759,19 +756,18 @@ def grad_hook(parameter: torch.Tensor): accelerator.wait_for_everyone() optimizer_eval_fn() - # TODO: save cn models - # if args.save_every_n_epochs is not None: - # if accelerator.is_main_process: - # flux_train_utils.save_flux_model_on_epoch_end_or_stepwise( - # args, - # True, - # accelerator, - # save_dtype, - # epoch, - # num_train_epochs, - # global_step, - # accelerator.unwrap_model(flux), - # ) + if args.save_every_n_epochs is not None: + if accelerator.is_main_process: + flux_train_utils.save_flux_model_on_epoch_end_or_stepwise( + args, + True, + accelerator, + save_dtype, + epoch, + num_train_epochs, + global_step, + accelerator.unwrap_model(controlnet), + ) flux_train_utils.sample_images( accelerator, args, epoch + 1, global_step, flux, ae, [clip_l, t5xxl], sample_prompts_te_outputs, controlnet=controlnet @@ -791,7 +787,7 @@ def grad_hook(parameter: torch.Tensor): del accelerator # この後メモリを使うのでこれは消す if is_main_process: - flux_train_utils.save_flux_model_on_train_end(args, save_dtype, epoch, global_step, flux) + flux_train_utils.save_flux_model_on_train_end(args, save_dtype, epoch, global_step, controlnet) logger.info("model saved.") diff --git a/library/flux_train_utils.py b/library/flux_train_utils.py index dbbaba734..5e25c7feb 100644 --- a/library/flux_train_utils.py +++ b/library/flux_train_utils.py @@ -237,7 +237,6 @@ def sample_image_inference( with accelerator.autocast(), torch.no_grad(): x = denoise(flux, noise, img_ids, t5_out, txt_ids, l_pooled, timesteps=timesteps, guidance=scale, t5_attn_mask=t5_attn_mask, controlnet=controlnet, controlnet_img=controlnet_image) - # x = x.float() # TODO: check x = flux_utils.unpack_latents(x, packed_latent_height, packed_latent_width) # latent to image From 420a180d938c7b5a6e3006b1719dbfeaae72a2cc Mon Sep 17 00:00:00 2001 From: recris Date: Wed, 27 Nov 2024 18:11:51 +0000 Subject: [PATCH 353/748] Implement pseudo Huber loss for Flux and SD3 --- fine_tune.py | 6 +-- flux_train.py | 2 +- flux_train_network.py | 2 +- library/train_util.py | 74 ++++++++++++++++------------ sd3_train.py | 2 +- sd3_train_network.py | 2 +- sdxl_train.py | 6 +-- sdxl_train_control_net.py | 4 +- sdxl_train_control_net_lllite.py | 4 +- sdxl_train_control_net_lllite_old.py | 6 ++- train_controlnet.py | 6 +-- train_db.py | 4 +- train_network.py | 9 ++-- train_textual_inversion.py | 4 +- train_textual_inversion_XTI.py | 6 ++- 15 files changed, 76 insertions(+), 61 deletions(-) diff --git a/fine_tune.py b/fine_tune.py index 0090bd190..70959a751 100644 --- a/fine_tune.py +++ b/fine_tune.py @@ -380,7 +380,7 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): # Sample noise, sample a random timestep for each image, and add noise to the latents, # with noise offset and/or multires noise if specified - noise, noisy_latents, timesteps, huber_c = train_util.get_noise_noisy_latents_and_timesteps( + noise, noisy_latents, timesteps = train_util.get_noise_noisy_latents_and_timesteps( args, noise_scheduler, latents ) @@ -397,7 +397,7 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): if args.min_snr_gamma or args.scale_v_pred_loss_like_noise_pred or args.debiased_estimation_loss: # do not mean over batch dimension for snr weight or scale v-pred loss loss = train_util.conditional_loss( - noise_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=huber_c + args, noise_pred.float(), target.float(), timesteps, "none", noise_scheduler ) loss = loss.mean([1, 2, 3]) @@ -411,7 +411,7 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): loss = loss.mean() # mean over batch dimension else: loss = train_util.conditional_loss( - noise_pred.float(), target.float(), reduction="mean", loss_type=args.loss_type, huber_c=huber_c + args, noise_pred.float(), target.float(), timesteps, "none", noise_scheduler ) accelerator.backward(loss) diff --git a/flux_train.py b/flux_train.py index a89e2f139..f6e43b27a 100644 --- a/flux_train.py +++ b/flux_train.py @@ -667,7 +667,7 @@ def grad_hook(parameter: torch.Tensor): # calculate loss loss = train_util.conditional_loss( - model_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=None + args, noise_pred.float(), target.float(), timesteps, "none", noise_scheduler ) if weighting is not None: loss = loss * weighting diff --git a/flux_train_network.py b/flux_train_network.py index 679db62b6..04287f399 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -468,7 +468,7 @@ def call_dit(img, img_ids, t5_out, txt_ids, l_pooled, timesteps, guidance_vec, t ) target[diff_output_pr_indices] = model_pred_prior.to(target.dtype) - return model_pred, target, timesteps, None, weighting + return model_pred, target, timesteps, weighting def post_process_loss(self, loss, args, timesteps, noise_scheduler): return loss diff --git a/library/train_util.py b/library/train_util.py index 25cf7640d..c204ebd38 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -3905,7 +3905,14 @@ def add_training_arguments(parser: argparse.ArgumentParser, support_dreambooth: "--huber_c", type=float, default=0.1, - help="The huber loss parameter. Only used if one of the huber loss modes (huber or smooth l1) is selected with loss_type. default is 0.1 / Huber損失のパラメータ。loss_typeがhuberまたはsmooth l1の場合に有効。デフォルトは0.1", + help="The Huber loss decay parameter. Only used if one of the huber loss modes (huber or smooth l1) is selected with loss_type. default is 0.1 / Huber損失のパラメータ。loss_typeがhuberまたはsmooth l1の場合に有効。デフォルトは0.1", + ) + + parser.add_argument( + "--huber_scale", + type=float, + default=1.0, + help="The Huber loss scale parameter. Only used if one of the huber loss modes (huber or smooth l1) is selected with loss_type. default is 1.0 / Huber損失のパラメータ。loss_typeがhuberまたはsmooth l1の場合に有効。デフォルトは0.1", ) parser.add_argument( @@ -5821,29 +5828,10 @@ def save_sd_model_on_train_end_common( huggingface_util.upload(args, out_dir, "/" + model_name, force_sync_upload=True) -def get_timesteps_and_huber_c(args, min_timestep, max_timestep, noise_scheduler, b_size, device): - timesteps = torch.randint(min_timestep, max_timestep, (b_size,), device="cpu") - - if args.loss_type == "huber" or args.loss_type == "smooth_l1": - if args.huber_schedule == "exponential": - alpha = -math.log(args.huber_c) / noise_scheduler.config.num_train_timesteps - huber_c = torch.exp(-alpha * timesteps) - elif args.huber_schedule == "snr": - alphas_cumprod = torch.index_select(noise_scheduler.alphas_cumprod, 0, timesteps) - sigmas = ((1.0 - alphas_cumprod) / alphas_cumprod) ** 0.5 - huber_c = (1 - args.huber_c) / (1 + sigmas) ** 2 + args.huber_c - elif args.huber_schedule == "constant": - huber_c = torch.full((b_size,), args.huber_c) - else: - raise NotImplementedError(f"Unknown Huber loss schedule {args.huber_schedule}!") - huber_c = huber_c.to(device) - elif args.loss_type == "l2": - huber_c = None # may be anything, as it's not used - else: - raise NotImplementedError(f"Unknown loss type {args.loss_type}") - - timesteps = timesteps.long().to(device) - return timesteps, huber_c +def get_timesteps(min_timestep, max_timestep, b_size, device): + timesteps = torch.randint(min_timestep, max_timestep, (b_size,), device=device) + timesteps = timesteps.long() + return timesteps def get_noise_noisy_latents_and_timesteps(args, noise_scheduler, latents): @@ -5865,7 +5853,7 @@ def get_noise_noisy_latents_and_timesteps(args, noise_scheduler, latents): min_timestep = 0 if args.min_timestep is None else args.min_timestep max_timestep = noise_scheduler.config.num_train_timesteps if args.max_timestep is None else args.max_timestep - timesteps, huber_c = get_timesteps_and_huber_c(args, min_timestep, max_timestep, noise_scheduler, b_size, latents.device) + timesteps = get_timesteps(min_timestep, max_timestep, b_size, latents.device) # Add noise to the latents according to the noise magnitude at each timestep # (this is the forward diffusion process) @@ -5878,24 +5866,46 @@ def get_noise_noisy_latents_and_timesteps(args, noise_scheduler, latents): else: noisy_latents = noise_scheduler.add_noise(latents, noise, timesteps) - return noise, noisy_latents, timesteps, huber_c + return noise, noisy_latents, timesteps + + +def get_huber_threshold(args, timesteps: torch.Tensor, noise_scheduler) -> torch.Tensor: + b_size = timesteps.shape[0] + if args.huber_schedule == "exponential": + alpha = -math.log(args.huber_c) / noise_scheduler.config.num_train_timesteps + result = torch.exp(-alpha * timesteps) * args.huber_scale + elif args.huber_schedule == "snr": + if not hasattr(noise_scheduler, 'alphas_cumprod'): + raise NotImplementedError(f"Huber schedule 'snr' is not supported with the current model.") + alphas_cumprod = torch.index_select(noise_scheduler.alphas_cumprod, 0, timesteps.cpu()) + sigmas = ((1.0 - alphas_cumprod) / alphas_cumprod) ** 0.5 + result = (1 - args.huber_c) / (1 + sigmas) ** 2 + args.huber_c + result = result.to(timesteps.device) + elif args.huber_schedule == "constant": + result = torch.full((b_size,), args.huber_c * args.huber_scale, device=timesteps.device) + else: + raise NotImplementedError(f"Unknown Huber loss schedule {args.huber_schedule}!") + + return result def conditional_loss( - model_pred: torch.Tensor, target: torch.Tensor, reduction: str, loss_type: str, huber_c: Optional[torch.Tensor] + args, model_pred: torch.Tensor, target: torch.Tensor, timesteps: torch.Tensor, reduction: str, noise_scheduler ): - if loss_type == "l2": + if args.loss_type == "l2": loss = torch.nn.functional.mse_loss(model_pred, target, reduction=reduction) - elif loss_type == "l1": + elif args.loss_type == "l1": loss = torch.nn.functional.l1_loss(model_pred, target, reduction=reduction) - elif loss_type == "huber": + elif args.loss_type == "huber": + huber_c = get_huber_threshold(args, timesteps, noise_scheduler) huber_c = huber_c.view(-1, 1, 1, 1) loss = 2 * huber_c * (torch.sqrt((model_pred - target) ** 2 + huber_c**2) - huber_c) if reduction == "mean": loss = torch.mean(loss) elif reduction == "sum": loss = torch.sum(loss) - elif loss_type == "smooth_l1": + elif args.loss_type == "smooth_l1": + huber_c = get_huber_threshold(args, timesteps, noise_scheduler) huber_c = huber_c.view(-1, 1, 1, 1) loss = 2 * (torch.sqrt((model_pred - target) ** 2 + huber_c**2) - huber_c) if reduction == "mean": @@ -5903,7 +5913,7 @@ def conditional_loss( elif reduction == "sum": loss = torch.sum(loss) else: - raise NotImplementedError(f"Unsupported Loss Type {loss_type}") + raise NotImplementedError(f"Unsupported Loss Type: {args.loss_type}") return loss diff --git a/sd3_train.py b/sd3_train.py index 96ec951b9..cf2bdf938 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -845,7 +845,7 @@ def grad_hook(parameter: torch.Tensor): # ) # calculate loss loss = train_util.conditional_loss( - model_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=None + args, model_pred.float(), target.float(), timesteps, "none", noise_scheduler ) if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): loss = apply_masked_loss(loss, batch) diff --git a/sd3_train_network.py b/sd3_train_network.py index 1726e325f..fb7711bda 100644 --- a/sd3_train_network.py +++ b/sd3_train_network.py @@ -378,7 +378,7 @@ def get_noise_pred_and_target( target[diff_output_pr_indices] = model_pred_prior.to(target.dtype) - return model_pred, target, timesteps, None, weighting + return model_pred, target, timesteps, weighting def post_process_loss(self, loss, args, timesteps, noise_scheduler): return loss diff --git a/sdxl_train.py b/sdxl_train.py index e26f4aa19..1bc27ec6c 100644 --- a/sdxl_train.py +++ b/sdxl_train.py @@ -695,7 +695,7 @@ def optimizer_hook(parameter: torch.Tensor): # Sample noise, sample a random timestep for each image, and add noise to the latents, # with noise offset and/or multires noise if specified - noise, noisy_latents, timesteps, huber_c = train_util.get_noise_noisy_latents_and_timesteps( + noise, noisy_latents, timesteps = train_util.get_noise_noisy_latents_and_timesteps( args, noise_scheduler, latents ) @@ -720,7 +720,7 @@ def optimizer_hook(parameter: torch.Tensor): ): # do not mean over batch dimension for snr weight or scale v-pred loss loss = train_util.conditional_loss( - noise_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=huber_c + args, noise_pred.float(), target.float(), timesteps, "none", noise_scheduler ) if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): loss = apply_masked_loss(loss, batch) @@ -738,7 +738,7 @@ def optimizer_hook(parameter: torch.Tensor): loss = loss.mean() # mean over batch dimension else: loss = train_util.conditional_loss( - noise_pred.float(), target.float(), reduction="mean", loss_type=args.loss_type, huber_c=huber_c + args, noise_pred.float(), target.float(), timesteps, "none", noise_scheduler ) accelerator.backward(loss) diff --git a/sdxl_train_control_net.py b/sdxl_train_control_net.py index 24080afbd..d0051d18f 100644 --- a/sdxl_train_control_net.py +++ b/sdxl_train_control_net.py @@ -512,7 +512,7 @@ def remove_model(old_ckpt_name): # Sample noise, sample a random timestep for each image, and add noise to the latents, # with noise offset and/or multires noise if specified - noise, noisy_latents, timesteps, huber_c = train_util.get_noise_noisy_latents_and_timesteps( + noise, noisy_latents, timesteps = train_util.get_noise_noisy_latents_and_timesteps( args, noise_scheduler, latents ) @@ -534,7 +534,7 @@ def remove_model(old_ckpt_name): target = noise loss = train_util.conditional_loss( - noise_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=huber_c + args, noise_pred.float(), target.float(), timesteps, "none", noise_scheduler ) loss = loss.mean([1, 2, 3]) diff --git a/sdxl_train_control_net_lllite.py b/sdxl_train_control_net_lllite.py index 2946c97d4..66214f5df 100644 --- a/sdxl_train_control_net_lllite.py +++ b/sdxl_train_control_net_lllite.py @@ -463,7 +463,7 @@ def remove_model(old_ckpt_name): # Sample noise, sample a random timestep for each image, and add noise to the latents, # with noise offset and/or multires noise if specified - noise, noisy_latents, timesteps, huber_c = train_util.get_noise_noisy_latents_and_timesteps( + noise, noisy_latents, timesteps = train_util.get_noise_noisy_latents_and_timesteps( args, noise_scheduler, latents ) @@ -485,7 +485,7 @@ def remove_model(old_ckpt_name): target = noise loss = train_util.conditional_loss( - noise_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=huber_c + args, noise_pred.float(), target.float(), timesteps, "none", noise_scheduler ) loss = loss.mean([1, 2, 3]) diff --git a/sdxl_train_control_net_lllite_old.py b/sdxl_train_control_net_lllite_old.py index 2d4465234..5e10654b9 100644 --- a/sdxl_train_control_net_lllite_old.py +++ b/sdxl_train_control_net_lllite_old.py @@ -406,7 +406,7 @@ def remove_model(old_ckpt_name): # Sample noise, sample a random timestep for each image, and add noise to the latents, # with noise offset and/or multires noise if specified - noise, noisy_latents, timesteps, huber_c = train_util.get_noise_noisy_latents_and_timesteps(args, noise_scheduler, latents) + noise, noisy_latents, timesteps = train_util.get_noise_noisy_latents_and_timesteps(args, noise_scheduler, latents) noisy_latents = noisy_latents.to(weight_dtype) # TODO check why noisy_latents is not weight_dtype @@ -426,7 +426,9 @@ def remove_model(old_ckpt_name): else: target = noise - loss = train_util.conditional_loss(noise_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=huber_c) + loss = train_util.conditional_loss( + args, noise_pred.float(), target.float(), timesteps, "none", noise_scheduler + ) loss = loss.mean([1, 2, 3]) loss_weights = batch["loss_weights"] # 各sampleごとのweight diff --git a/train_controlnet.py b/train_controlnet.py index 8c7882c8f..da7a08d69 100644 --- a/train_controlnet.py +++ b/train_controlnet.py @@ -464,8 +464,8 @@ def remove_model(old_ckpt_name): ) # Sample a random timestep for each image - timesteps, huber_c = train_util.get_timesteps_and_huber_c( - args, 0, noise_scheduler.config.num_train_timesteps, noise_scheduler, b_size, latents.device + timesteps = train_util.get_timesteps( + 0, noise_scheduler.config.num_train_timesteps, b_size, latents.device ) # Add noise to the latents according to the noise magnitude at each timestep @@ -499,7 +499,7 @@ def remove_model(old_ckpt_name): target = noise loss = train_util.conditional_loss( - noise_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=huber_c + args, noise_pred.float(), target.float(), timesteps, "none", noise_scheduler ) loss = loss.mean([1, 2, 3]) diff --git a/train_db.py b/train_db.py index 51e209f34..a185b31b3 100644 --- a/train_db.py +++ b/train_db.py @@ -370,7 +370,7 @@ def train(args): # Sample noise, sample a random timestep for each image, and add noise to the latents, # with noise offset and/or multires noise if specified - noise, noisy_latents, timesteps, huber_c = train_util.get_noise_noisy_latents_and_timesteps( + noise, noisy_latents, timesteps = train_util.get_noise_noisy_latents_and_timesteps( args, noise_scheduler, latents ) @@ -385,7 +385,7 @@ def train(args): target = noise loss = train_util.conditional_loss( - noise_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=huber_c + args, noise_pred.float(), target.float(), timesteps, "none", noise_scheduler ) if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): loss = apply_masked_loss(loss, batch) diff --git a/train_network.py b/train_network.py index bbf381f99..c7d4f5dc5 100644 --- a/train_network.py +++ b/train_network.py @@ -192,7 +192,7 @@ def get_noise_pred_and_target( ): # Sample noise, sample a random timestep for each image, and add noise to the latents, # with noise offset and/or multires noise if specified - noise, noisy_latents, timesteps, huber_c = train_util.get_noise_noisy_latents_and_timesteps(args, noise_scheduler, latents) + noise, noisy_latents, timesteps = train_util.get_noise_noisy_latents_and_timesteps(args, noise_scheduler, latents) # ensure the hidden state will require grad if args.gradient_checkpointing: @@ -244,7 +244,7 @@ def get_noise_pred_and_target( network.set_multiplier(1.0) # may be overwritten by "network_multipliers" in the next step target[diff_output_pr_indices] = noise_pred_prior.to(target.dtype) - return noise_pred, target, timesteps, huber_c, None + return noise_pred, target, timesteps, None def post_process_loss(self, loss, args, timesteps, noise_scheduler): if args.min_snr_gamma: @@ -806,6 +806,7 @@ def load_model_hook(models, input_dir): "ss_ip_noise_gamma_random_strength": args.ip_noise_gamma_random_strength, "ss_loss_type": args.loss_type, "ss_huber_schedule": args.huber_schedule, + "ss_huber_scale": args.huber_scale, "ss_huber_c": args.huber_c, "ss_fp8_base": bool(args.fp8_base), "ss_fp8_base_unet": bool(args.fp8_base_unet), @@ -1193,7 +1194,7 @@ def remove_model(old_ckpt_name): text_encoder_conds[i] = encoded_text_encoder_conds[i] # sample noise, call unet, get target - noise_pred, target, timesteps, huber_c, weighting = self.get_noise_pred_and_target( + noise_pred, target, timesteps, weighting = self.get_noise_pred_and_target( args, accelerator, noise_scheduler, @@ -1207,7 +1208,7 @@ def remove_model(old_ckpt_name): ) loss = train_util.conditional_loss( - noise_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=huber_c + args, noise_pred.float(), target.float(), timesteps, "none", noise_scheduler ) if weighting is not None: loss = loss * weighting diff --git a/train_textual_inversion.py b/train_textual_inversion.py index 5f4657eb9..9e1e57c48 100644 --- a/train_textual_inversion.py +++ b/train_textual_inversion.py @@ -585,7 +585,7 @@ def remove_model(old_ckpt_name): # Sample noise, sample a random timestep for each image, and add noise to the latents, # with noise offset and/or multires noise if specified - noise, noisy_latents, timesteps, huber_c = train_util.get_noise_noisy_latents_and_timesteps( + noise, noisy_latents, timesteps = train_util.get_noise_noisy_latents_and_timesteps( args, noise_scheduler, latents ) @@ -602,7 +602,7 @@ def remove_model(old_ckpt_name): target = noise loss = train_util.conditional_loss( - noise_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=huber_c + args, noise_pred.float(), target.float(), timesteps, "none", noise_scheduler ) if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): loss = apply_masked_loss(loss, batch) diff --git a/train_textual_inversion_XTI.py b/train_textual_inversion_XTI.py index 52d525fc5..944733602 100644 --- a/train_textual_inversion_XTI.py +++ b/train_textual_inversion_XTI.py @@ -461,7 +461,7 @@ def remove_model(old_ckpt_name): # Sample noise, sample a random timestep for each image, and add noise to the latents, # with noise offset and/or multires noise if specified - noise, noisy_latents, timesteps, huber_c = train_util.get_noise_noisy_latents_and_timesteps(args, noise_scheduler, latents) + noise, noisy_latents, timesteps = train_util.get_noise_noisy_latents_and_timesteps(args, noise_scheduler, latents) # Predict the noise residual with accelerator.autocast(): @@ -473,7 +473,9 @@ def remove_model(old_ckpt_name): else: target = noise - loss = train_util.conditional_loss(noise_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=huber_c) + loss = train_util.conditional_loss( + args, noise_pred.float(), target.float(), timesteps, "none", noise_scheduler + ) if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): loss = apply_masked_loss(loss, batch) loss = loss.mean([1, 2, 3]) From 740ec1d5265fa321659589ae6a75a4a9898ef8be Mon Sep 17 00:00:00 2001 From: recris Date: Thu, 28 Nov 2024 20:38:32 +0000 Subject: [PATCH 354/748] Fix issues found in review --- fine_tune.py | 2 +- library/train_util.py | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/fine_tune.py b/fine_tune.py index 70959a751..401a40f08 100644 --- a/fine_tune.py +++ b/fine_tune.py @@ -411,7 +411,7 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): loss = loss.mean() # mean over batch dimension else: loss = train_util.conditional_loss( - args, noise_pred.float(), target.float(), timesteps, "none", noise_scheduler + args, noise_pred.float(), target.float(), timesteps, "mean", noise_scheduler ) accelerator.backward(loss) diff --git a/library/train_util.py b/library/train_util.py index c204ebd38..eaf6ec004 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -5829,8 +5829,8 @@ def save_sd_model_on_train_end_common( def get_timesteps(min_timestep, max_timestep, b_size, device): - timesteps = torch.randint(min_timestep, max_timestep, (b_size,), device=device) - timesteps = timesteps.long() + timesteps = torch.randint(min_timestep, max_timestep, (b_size,), device="cpu") + timesteps = timesteps.long().to(device) return timesteps @@ -5875,8 +5875,8 @@ def get_huber_threshold(args, timesteps: torch.Tensor, noise_scheduler) -> torch alpha = -math.log(args.huber_c) / noise_scheduler.config.num_train_timesteps result = torch.exp(-alpha * timesteps) * args.huber_scale elif args.huber_schedule == "snr": - if not hasattr(noise_scheduler, 'alphas_cumprod'): - raise NotImplementedError(f"Huber schedule 'snr' is not supported with the current model.") + if not hasattr(noise_scheduler, "alphas_cumprod"): + raise NotImplementedError("Huber schedule 'snr' is not supported with the current model.") alphas_cumprod = torch.index_select(noise_scheduler.alphas_cumprod, 0, timesteps.cpu()) sigmas = ((1.0 - alphas_cumprod) / alphas_cumprod) ** 0.5 result = (1 - args.huber_c) / (1 + sigmas) ** 2 + args.huber_c From 575f583fd9cbaf7f7b644a31437ed9094810b99a Mon Sep 17 00:00:00 2001 From: minux302 Date: Fri, 29 Nov 2024 23:55:52 +0900 Subject: [PATCH 355/748] add README --- README.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/README.md b/README.md index f9c85e3ac..2b1ca3f8c 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,7 @@ Nov 14, 2024: - [Key Features for FLUX.1 LoRA training](#key-features-for-flux1-lora-training) - [Specify rank for each layer in FLUX.1](#specify-rank-for-each-layer-in-flux1) - [Specify blocks to train in FLUX.1 LoRA training](#specify-blocks-to-train-in-flux1-lora-training) +- [FLUX.1 ControlNet training](#flux1-controlnet-training) - [FLUX.1 OFT training](#flux1-oft-training) - [Inference for FLUX.1 with LoRA model](#inference-for-flux1-with-lora-model) - [FLUX.1 fine-tuning](#flux1-fine-tuning) @@ -245,6 +246,22 @@ example: If you specify one of `train_double_block_indices` or `train_single_block_indices`, the other will be trained as usual. +### FLUX.1 ControlNet training +We have added a new training script for ControlNet training. The script is flux_train_control_net.py. See --help for options. + +Sample command is below. It will work with 80GB VRAM GPUs. +``` +accelerate launch --mixed_precision bf16 --num_cpu_threads_per_process 1 flux_train_control_net.py +--pretrained_model_name_or_path flux1-dev.safetensors --clip_l clip_l.safetensors --t5xxl t5xxl_fp16.safetensors +--ae ae.safetensors --save_model_as safetensors --sdpa --persistent_data_loader_workers +--max_data_loader_n_workers 1 --seed 42 --gradient_checkpointing --mixed_precision bf16 +--optimizer_type adamw8bit --learning_rate 2e-5 +--highvram --max_train_epochs 1 --save_every_n_steps 1000 --dataset_config dataset.toml +--output_dir /path/to/output/dir --output_name flux-cn +--timestep_sampling shift --discrete_flow_shift 3.1582 --model_prediction_type raw --guidance_scale 1.0 --deepspeed +``` + + ### FLUX.1 OFT training You can train OFT with almost the same options as LoRA, such as `--timestamp_sampling`. The following points are different. From be5860f8e266c5562f123fe9e0cb3febef615290 Mon Sep 17 00:00:00 2001 From: minux302 Date: Sat, 30 Nov 2024 00:08:21 +0900 Subject: [PATCH 356/748] add schnell option to load_cn --- flux_train_control_net.py | 4 ++-- library/flux_utils.py | 14 ++++++-------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/flux_train_control_net.py b/flux_train_control_net.py index a17c811e3..bb27c35ed 100644 --- a/flux_train_control_net.py +++ b/flux_train_control_net.py @@ -259,14 +259,14 @@ def train(args): clean_memory_on_device(accelerator.device) # load FLUX - _, flux = flux_utils.load_flow_model( + is_schnell, flux = flux_utils.load_flow_model( args.pretrained_model_name_or_path, weight_dtype, "cpu", args.disable_mmap_load_safetensors ) flux.requires_grad_(False) flux.to(accelerator.device) # load controlnet - controlnet = flux_utils.load_controlnet(args.controlnet, torch.float32, accelerator.device, args.disable_mmap_load_safetensors) + controlnet = flux_utils.load_controlnet(args.controlnet, is_schnell, torch.float32, accelerator.device, args.disable_mmap_load_safetensors) controlnet.train() if args.gradient_checkpointing: diff --git a/library/flux_utils.py b/library/flux_utils.py index f2759c375..8be1d63ee 100644 --- a/library/flux_utils.py +++ b/library/flux_utils.py @@ -1,14 +1,14 @@ -from dataclasses import replace import json import os +from dataclasses import replace from typing import List, Optional, Tuple, Union + import einops import torch - -from safetensors.torch import load_file -from safetensors import safe_open from accelerate import init_empty_weights -from transformers import CLIPTextModel, CLIPConfig, T5EncoderModel, T5Config +from safetensors import safe_open +from safetensors.torch import load_file +from transformers import CLIPConfig, CLIPTextModel, T5Config, T5EncoderModel from library.utils import setup_logging @@ -154,11 +154,9 @@ def load_ae( def load_controlnet( - ckpt_path: Optional[str], dtype: torch.dtype, device: Union[str, torch.device], disable_mmap: bool = False + ckpt_path: Optional[str], is_schnell: bool, dtype: torch.dtype, device: Union[str, torch.device], disable_mmap: bool = False ): logger.info("Building ControlNet") - # is_diffusers, is_schnell, (num_double_blocks, num_single_blocks), ckpt_paths = analyze_checkpoint_state(ckpt_path) - is_schnell = False name = MODEL_NAME_DEV if not is_schnell else MODEL_NAME_SCHNELL with torch.device(device): controlnet = flux_models.ControlNetFlux(flux_models.configs[name].params).to(dtype) From f40632bac6704886a7640c327d64820f8f017df8 Mon Sep 17 00:00:00 2001 From: minux302 Date: Sat, 30 Nov 2024 00:15:47 +0900 Subject: [PATCH 357/748] rm abundant arg --- flux_train_network.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/flux_train_network.py b/flux_train_network.py index 314335366..fa3810e34 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -6,12 +6,21 @@ import torch from accelerate import Accelerator -from library.device_utils import init_ipex, clean_memory_on_device + +from library.device_utils import clean_memory_on_device, init_ipex init_ipex() -from library import flux_models, flux_train_utils, flux_utils, sd3_train_utils, strategy_base, strategy_flux, train_util import train_network +from library import ( + flux_models, + flux_train_utils, + flux_utils, + sd3_train_utils, + strategy_base, + strategy_flux, + train_util, +) from library.utils import setup_logging setup_logging() @@ -125,7 +134,7 @@ def load_target_model(self, args, weight_dtype, accelerator): ae = flux_utils.load_ae(args.ae, weight_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors) - return flux_utils.MODEL_VERSION_FLUX_V1, [clip_l, t5xxl], ae, model, controlnet + return flux_utils.MODEL_VERSION_FLUX_V1, [clip_l, t5xxl], ae, model def get_tokenize_strategy(self, args): _, is_schnell, _, _ = flux_utils.analyze_checkpoint_state(args.pretrained_model_name_or_path) From 928b9393daac252d0b6c4c9dd277d549b3dad8e9 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Wed, 20 Nov 2024 11:15:30 -0500 Subject: [PATCH 358/748] Allow unknown schedule-free optimizers to continue to module loader --- library/train_util.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index 25cf7640d..74050880a 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -4600,7 +4600,7 @@ def task(): def get_optimizer(args, trainable_params): # "Optimizer to use: AdamW, AdamW8bit, Lion, SGDNesterov, SGDNesterov8bit, PagedAdamW, PagedAdamW8bit, PagedAdamW32bit, Lion8bit, PagedLion8bit, AdEMAMix8bit, PagedAdEMAMix8bit, DAdaptation(DAdaptAdamPreprint), DAdaptAdaGrad, DAdaptAdam, DAdaptAdan, DAdaptAdanIP, DAdaptLion, DAdaptSGD, Adafactor" - + optimizer_type = args.optimizer_type if args.use_8bit_adam: assert ( @@ -4874,6 +4874,7 @@ def get_optimizer(args, trainable_params): optimizer = optimizer_class(trainable_params, lr=lr, **optimizer_kwargs) elif optimizer_type.endswith("schedulefree".lower()): + should_train_optimizer = True try: import schedulefree as sf except ImportError: @@ -4885,10 +4886,10 @@ def get_optimizer(args, trainable_params): optimizer_class = sf.SGDScheduleFree logger.info(f"use SGDScheduleFree optimizer | {optimizer_kwargs}") else: - raise ValueError(f"Unknown optimizer type: {optimizer_type}") - optimizer = optimizer_class(trainable_params, lr=lr, **optimizer_kwargs) - # make optimizer as train mode: we don't need to call train again, because eval will not be called in training loop - optimizer.train() + optimizer_class = None + + if optimizer_class is not None: + optimizer = optimizer_class(trainable_params, lr=lr, **optimizer_kwargs) if optimizer is None: # 任意のoptimizerを使う @@ -4990,6 +4991,10 @@ def __instancecheck__(self, instance): optimizer_name = optimizer_class.__module__ + "." + optimizer_class.__name__ optimizer_args = ",".join([f"{k}={v}" for k, v in optimizer_kwargs.items()]) + if hasattr(optimizer, 'train') and callable(optimizer.train): + # make optimizer as train mode: we don't need to call train again, because eval will not be called in training loop + optimizer.train() + return optimizer_name, optimizer_args, optimizer From 87f5224e2d19254748158939cbca75802fc024f2 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Wed, 20 Nov 2024 11:57:15 -0500 Subject: [PATCH 359/748] Support d*lr for ProdigyPlus optimizer --- train_network.py | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/train_network.py b/train_network.py index bbf381f99..65962bd74 100644 --- a/train_network.py +++ b/train_network.py @@ -61,6 +61,7 @@ def generate_step_logs( avr_loss, lr_scheduler, lr_descriptions, + optimizer=None, keys_scaled=None, mean_norm=None, maximum_norm=None, @@ -93,6 +94,30 @@ def generate_step_logs( logs[f"lr/d*lr/{lr_desc}"] = ( lr_scheduler.optimizers[-1].param_groups[i]["d"] * lr_scheduler.optimizers[-1].param_groups[i]["lr"] ) + if ( + args.optimizer_type.lower().endswith("ProdigyPlusScheduleFree".lower()) and optimizer is not None + ): # tracking d*lr value of unet. + logs["lr/d*lr"] = ( + optimizer.param_groups[0]["d"] * optimizer.param_groups[0]["lr"] + ) + else: + idx = 0 + if not args.network_train_unet_only: + logs["lr/textencoder"] = float(lrs[0]) + idx = 1 + + for i in range(idx, len(lrs)): + logs[f"lr/group{i}"] = float(lrs[i]) + if args.optimizer_type.lower().startswith("DAdapt".lower()) or args.optimizer_type.lower() == "Prodigy".lower(): + logs[f"lr/d*lr/group{i}"] = ( + lr_scheduler.optimizers[-1].param_groups[i]["d"] * lr_scheduler.optimizers[-1].param_groups[i]["lr"] + ) + if ( + args.optimizer_type.lower().endswith("ProdigyPlusScheduleFree".lower()) and optimizer is not None + ): + logs[f"lr/d*lr/group{i}"] = ( + optimizer.param_groups[0]["d"] * optimizer.param_groups[0]["lr"] + ) return logs @@ -1279,7 +1304,7 @@ def remove_model(old_ckpt_name): if len(accelerator.trackers) > 0: logs = self.generate_step_logs( - args, current_loss, avr_loss, lr_scheduler, lr_descriptions, keys_scaled, mean_norm, maximum_norm + args, current_loss, avr_loss, lr_scheduler, lr_descriptions, optimizer, keys_scaled, mean_norm, maximum_norm ) accelerator.log(logs, step=global_step) From 6593cfbec14c0be70407b5d6d85d569ecf8160f1 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Thu, 21 Nov 2024 14:41:37 -0500 Subject: [PATCH 360/748] Fix d * lr step log --- train_network.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/train_network.py b/train_network.py index 65962bd74..c236a2c95 100644 --- a/train_network.py +++ b/train_network.py @@ -116,7 +116,7 @@ def generate_step_logs( args.optimizer_type.lower().endswith("ProdigyPlusScheduleFree".lower()) and optimizer is not None ): logs[f"lr/d*lr/group{i}"] = ( - optimizer.param_groups[0]["d"] * optimizer.param_groups[0]["lr"] + optimizer.param_groups[i]["d"] * optimizer.param_groups[i]["lr"] ) return logs From c7cadbc8c73b48eaacbfb44b18121d20df373e19 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Fri, 29 Nov 2024 15:52:03 -0500 Subject: [PATCH 361/748] Add pytest testing --- .github/workflows/tests.yml | 54 +++++++++++++ library/train_util.py | 4 +- pytest.ini | 7 ++ tests/test_optimizer.py | 153 ++++++++++++++++++++++++++++++++++++ 4 files changed, 216 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/tests.yml create mode 100644 pytest.ini create mode 100644 tests/test_optimizer.py diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 000000000..50b08243a --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,54 @@ + +name: Python package + +on: [push] + +jobs: + build: + + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest] + python-version: ["3.10", "3.11"] + + steps: + - uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.x' + - name: Install dependencies + run: python -m pip install --upgrade pip setuptools wheel + + - uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.x' + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + + - uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.x' + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + - name: Test with pytest + run: | + pip install pytest pytest-cov + pytest --junitxml=junit/test-results.xml --cov=com --cov-report=xml --cov-report=html + + - name: Upload pytest test results + uses: actions/upload-artifact@v4 + with: + name: pytest-results-${{ matrix.python-version }} + path: junit/test-results-${{ matrix.python-version }}.xml + # Use always() to always run this step to publish test results when there are test failures + if: ${{ always() }} diff --git a/library/train_util.py b/library/train_util.py index 25cf7640d..823cd3663 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -21,7 +21,7 @@ Optional, Sequence, Tuple, - Union, + Union ) from accelerate import Accelerator, InitProcessGroupKwargs, DistributedDataParallelKwargs, PartialState import glob @@ -4598,7 +4598,7 @@ def task(): accelerator.load_state(dirname) -def get_optimizer(args, trainable_params): +def get_optimizer(args, trainable_params) -> tuple[str, str, object]: # "Optimizer to use: AdamW, AdamW8bit, Lion, SGDNesterov, SGDNesterov8bit, PagedAdamW, PagedAdamW8bit, PagedAdamW32bit, Lion8bit, PagedLion8bit, AdEMAMix8bit, PagedAdEMAMix8bit, DAdaptation(DAdaptAdamPreprint), DAdaptAdaGrad, DAdaptAdam, DAdaptAdan, DAdaptAdanIP, DAdaptLion, DAdaptSGD, Adafactor" optimizer_type = args.optimizer_type diff --git a/pytest.ini b/pytest.ini new file mode 100644 index 000000000..63e03efc5 --- /dev/null +++ b/pytest.ini @@ -0,0 +1,7 @@ +[pytest] +minversion = 6.0 +testpaths = + tests +filterwarnings = + ignore::DeprecationWarning + ignore::UserWarning diff --git a/tests/test_optimizer.py b/tests/test_optimizer.py new file mode 100644 index 000000000..f6ade91a6 --- /dev/null +++ b/tests/test_optimizer.py @@ -0,0 +1,153 @@ +from unittest.mock import patch +from library.train_util import get_optimizer +from train_network import setup_parser +import torch +from torch.nn import Parameter + +# Optimizer libraries +import bitsandbytes as bnb +from lion_pytorch import lion_pytorch +import schedulefree + +import dadaptation +import dadaptation.experimental as dadapt_experimental + +import prodigyopt +import schedulefree as sf +import transformers + + +def test_default_get_optimizer(): + with patch("sys.argv", [""]): + parser = setup_parser() + args = parser.parse_args() + params_t = torch.tensor([1.5, 1.5]) + + param = Parameter(params_t) + optimizer_name, optimizer_args, optimizer = get_optimizer(args, [param]) + assert optimizer_name == "torch.optim.adamw.AdamW" + assert optimizer_args == "" + assert isinstance(optimizer, torch.optim.AdamW) + + +def test_get_schedulefree_optimizer(): + with patch("sys.argv", ["", "--optimizer_type", "AdamWScheduleFree"]): + parser = setup_parser() + args = parser.parse_args() + params_t = torch.tensor([1.5, 1.5]) + + param = Parameter(params_t) + optimizer_name, optimizer_args, optimizer = get_optimizer(args, [param]) + assert optimizer_name == "schedulefree.adamw_schedulefree.AdamWScheduleFree" + assert optimizer_args == "" + assert isinstance(optimizer, schedulefree.adamw_schedulefree.AdamWScheduleFree) + + +def test_all_supported_optimizers(): + optimizers = [ + { + "name": "bitsandbytes.optim.adamw.AdamW8bit", + "alias": "AdamW8bit", + "instance": bnb.optim.AdamW8bit, + }, + { + "name": "lion_pytorch.lion_pytorch.Lion", + "alias": "Lion", + "instance": lion_pytorch.Lion, + }, + { + "name": "torch.optim.adamw.AdamW", + "alias": "AdamW", + "instance": torch.optim.AdamW, + }, + { + "name": "bitsandbytes.optim.lion.Lion8bit", + "alias": "Lion8bit", + "instance": bnb.optim.Lion8bit, + }, + { + "name": "bitsandbytes.optim.adamw.PagedAdamW8bit", + "alias": "PagedAdamW8bit", + "instance": bnb.optim.PagedAdamW8bit, + }, + { + "name": "bitsandbytes.optim.lion.PagedLion8bit", + "alias": "PagedLion8bit", + "instance": bnb.optim.PagedLion8bit, + }, + { + "name": "bitsandbytes.optim.adamw.PagedAdamW", + "alias": "PagedAdamW", + "instance": bnb.optim.PagedAdamW, + }, + { + "name": "bitsandbytes.optim.adamw.PagedAdamW32bit", + "alias": "PagedAdamW32bit", + "instance": bnb.optim.PagedAdamW32bit, + }, + {"name": "torch.optim.sgd.SGD", "alias": "SGD", "instance": torch.optim.SGD}, + { + "name": "dadaptation.experimental.dadapt_adam_preprint.DAdaptAdamPreprint", + "alias": "DAdaptAdamPreprint", + "instance": dadapt_experimental.DAdaptAdamPreprint, + }, + { + "name": "dadaptation.dadapt_adagrad.DAdaptAdaGrad", + "alias": "DAdaptAdaGrad", + "instance": dadaptation.DAdaptAdaGrad, + }, + { + "name": "dadaptation.dadapt_adan.DAdaptAdan", + "alias": "DAdaptAdan", + "instance": dadaptation.DAdaptAdan, + }, + { + "name": "dadaptation.experimental.dadapt_adan_ip.DAdaptAdanIP", + "alias": "DAdaptAdanIP", + "instance": dadapt_experimental.DAdaptAdanIP, + }, + { + "name": "dadaptation.dadapt_lion.DAdaptLion", + "alias": "DAdaptLion", + "instance": dadaptation.DAdaptLion, + }, + { + "name": "dadaptation.dadapt_sgd.DAdaptSGD", + "alias": "DAdaptSGD", + "instance": dadaptation.DAdaptSGD, + }, + { + "name": "prodigyopt.prodigy.Prodigy", + "alias": "Prodigy", + "instance": prodigyopt.Prodigy, + }, + { + "name": "transformers.optimization.Adafactor", + "alias": "Adafactor", + "instance": transformers.optimization.Adafactor, + }, + { + "name": "schedulefree.adamw_schedulefree.AdamWScheduleFree", + "alias": "AdamWScheduleFree", + "instance": sf.AdamWScheduleFree, + }, + { + "name": "schedulefree.sgd_schedulefree.SGDScheduleFree", + "alias": "SGDScheduleFree", + "instance": sf.SGDScheduleFree, + }, + ] + + for opt in optimizers: + with patch("sys.argv", ["", "--optimizer_type", opt.get("alias")]): + parser = setup_parser() + args = parser.parse_args() + params_t = torch.tensor([1.5, 1.5]) + + param = Parameter(params_t) + optimizer_name, _, optimizer = get_optimizer(args, [param]) + assert optimizer_name == opt.get("name") + + instance = opt.get("instance") + assert instance is not None + assert isinstance(optimizer, instance) From 2dd063a679effae2538c474fece1e7aacad0c9c5 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Fri, 29 Nov 2024 15:57:31 -0500 Subject: [PATCH 362/748] add torch torchvision accelerate versions --- .github/workflows/tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 50b08243a..96ab612d8 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -40,6 +40,7 @@ jobs: run: | python -m pip install --upgrade pip pip install -r requirements.txt + pip install torch==2.4.0 torchvision==0.19.0 accelerate==0.33.0 - name: Test with pytest run: | pip install pytest pytest-cov From e59e276fb948a1dc8a64672d8fd6d3a7eb166c80 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Fri, 29 Nov 2024 16:03:29 -0500 Subject: [PATCH 363/748] Add dadaptation --- .github/workflows/tests.yml | 26 +++++--------------------- 1 file changed, 5 insertions(+), 21 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 96ab612d8..433c326bf 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -10,7 +10,7 @@ jobs: strategy: matrix: os: [ubuntu-latest] - python-version: ["3.10", "3.11"] + python-version: ["3.10"] steps: - uses: actions/checkout@v4 @@ -26,30 +26,14 @@ jobs: uses: actions/setup-python@v5 with: python-version: '3.x' + cache: 'pip' # caching pip dependencies - name: Install dependencies run: | python -m pip install --upgrade pip pip install -r requirements.txt - - - uses: actions/checkout@v4 - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: '3.x' - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install -r requirements.txt - pip install torch==2.4.0 torchvision==0.19.0 accelerate==0.33.0 + pip install dadaptation==3.2 torch==2.4.0 torchvision==0.19.0 accelerate==0.33.0 - name: Test with pytest run: | - pip install pytest pytest-cov - pytest --junitxml=junit/test-results.xml --cov=com --cov-report=xml --cov-report=html + pip install pytest + pytest - - name: Upload pytest test results - uses: actions/upload-artifact@v4 - with: - name: pytest-results-${{ matrix.python-version }} - path: junit/test-results-${{ matrix.python-version }}.xml - # Use always() to always run this step to publish test results when there are test failures - if: ${{ always() }} From dd3b846b54814b605bd33ae08ed480ea5075483b Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Fri, 29 Nov 2024 16:18:05 -0500 Subject: [PATCH 364/748] Install pytorch first to pin version --- .github/workflows/tests.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 433c326bf..9ae67b0e9 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -18,6 +18,7 @@ jobs: uses: actions/setup-python@v5 with: python-version: '3.x' + - name: Install dependencies run: python -m pip install --upgrade pip setuptools wheel @@ -27,11 +28,13 @@ jobs: with: python-version: '3.x' cache: 'pip' # caching pip dependencies + - name: Install dependencies run: | python -m pip install --upgrade pip - pip install -r requirements.txt pip install dadaptation==3.2 torch==2.4.0 torchvision==0.19.0 accelerate==0.33.0 + pip install -r requirements.txt + - name: Test with pytest run: | pip install pytest From 89825d6898ba6629b18cc8c1f9fbd93a730ff36e Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Fri, 29 Nov 2024 16:27:13 -0500 Subject: [PATCH 365/748] Run typos workflows once where appropriate --- .github/workflows/typos.yml | 6 ++++-- pytest.ini | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/typos.yml b/.github/workflows/typos.yml index 0149dcdd3..667146a7a 100644 --- a/.github/workflows/typos.yml +++ b/.github/workflows/typos.yml @@ -1,9 +1,11 @@ --- -# yamllint disable rule:line-length name: Typos -on: # yamllint disable-line rule:truthy +on: push: + branches: + - main + - dev pull_request: types: - opened diff --git a/pytest.ini b/pytest.ini index 63e03efc5..484d3aef6 100644 --- a/pytest.ini +++ b/pytest.ini @@ -5,3 +5,4 @@ testpaths = filterwarnings = ignore::DeprecationWarning ignore::UserWarning + ignore::FutureWarning From 4f7f248071c93f539c12c8a35380b6d983bfff4c Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Fri, 29 Nov 2024 16:28:51 -0500 Subject: [PATCH 366/748] Bump typos action --- .github/workflows/typos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/typos.yml b/.github/workflows/typos.yml index 667146a7a..87ebdf894 100644 --- a/.github/workflows/typos.yml +++ b/.github/workflows/typos.yml @@ -20,4 +20,4 @@ jobs: - uses: actions/checkout@v4 - name: typos-action - uses: crate-ci/typos@v1.24.3 + uses: crate-ci/typos@v1.28.1 From 9c885e549dbb5535b37f2a3220b5a8f53ad4d211 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sat, 30 Nov 2024 18:25:50 +0900 Subject: [PATCH 367/748] fix: improve pos_embed handling for oversized images and update resolution_area_to_latent_size, when sample image size > train image size --- library/sd3_models.py | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/library/sd3_models.py b/library/sd3_models.py index 8b90205db..2f3c82eed 100644 --- a/library/sd3_models.py +++ b/library/sd3_models.py @@ -1017,22 +1017,35 @@ def cropped_scaled_pos_embed(self, h, w, device=None, dtype=None, random_crop: b patched_size = patched_size_ break if patched_size is None: - raise ValueError(f"Area {area} is too large for the given latent sizes {self.resolution_area_to_latent_size}.") + # raise ValueError(f"Area {area} is too large for the given latent sizes {self.resolution_area_to_latent_size}.") + # use largest latent size + patched_size = self.resolution_area_to_latent_size[-1][1] pos_embed = self.resolution_pos_embeds[patched_size] - pos_embed_size = round(math.sqrt(pos_embed.shape[1])) + pos_embed_size = round(math.sqrt(pos_embed.shape[1])) # max size, patched_size * POS_EMBED_MAX_RATIO if h > pos_embed_size or w > pos_embed_size: # # fallback to normal pos_embed # return self.cropped_pos_embed(h * p, w * p, device=device, random_crop=random_crop) # extend pos_embed size logger.warning( - f"Using normal pos_embed for size {h}x{w} as it exceeds the scaled pos_embed size {pos_embed_size}. Image is too tall or wide." + f"Add new pos_embed for size {h}x{w} as it exceeds the scaled pos_embed size {pos_embed_size}. Image is too tall or wide." ) - pos_embed_size = max(h, w) - pos_embed = get_scaled_2d_sincos_pos_embed(self.hidden_size, pos_embed_size, sample_size=patched_size) + patched_size = max(h, w) + grid_size = int(patched_size * MMDiT.POS_EMBED_MAX_RATIO) + pos_embed_size = grid_size + pos_embed = get_scaled_2d_sincos_pos_embed(self.hidden_size, grid_size, sample_size=patched_size) pos_embed = torch.from_numpy(pos_embed).float().unsqueeze(0) self.resolution_pos_embeds[patched_size] = pos_embed - logger.info(f"Updated pos_embed for size {pos_embed_size}x{pos_embed_size}") + logger.info(f"Added pos_embed for size {patched_size}x{patched_size}") + + # print(torch.allclose(pos_embed.to(torch.float32).cpu(), self.pos_embed.to(torch.float32).cpu(), atol=5e-2)) + # diff = pos_embed.to(torch.float32).cpu() - self.pos_embed.to(torch.float32).cpu() + # print(diff.abs().max(), diff.abs().mean()) + + # insert to resolution_area_to_latent_size, by adding and sorting + area = pos_embed_size**2 + self.resolution_area_to_latent_size.append((area, patched_size)) + self.resolution_area_to_latent_size = sorted(self.resolution_area_to_latent_size) if not random_crop: top = (pos_embed_size - h) // 2 From 7b61e9eb58e0a004b451e8f06c9f90b861f81b45 Mon Sep 17 00:00:00 2001 From: recris Date: Sat, 30 Nov 2024 11:36:40 +0000 Subject: [PATCH 368/748] Fix issues found in review (pt 2) --- library/train_util.py | 2 +- sd3_train.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index eaf6ec004..d5e72323a 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -5875,7 +5875,7 @@ def get_huber_threshold(args, timesteps: torch.Tensor, noise_scheduler) -> torch alpha = -math.log(args.huber_c) / noise_scheduler.config.num_train_timesteps result = torch.exp(-alpha * timesteps) * args.huber_scale elif args.huber_schedule == "snr": - if not hasattr(noise_scheduler, "alphas_cumprod"): + if noise_scheduler is None or not hasattr(noise_scheduler, "alphas_cumprod"): raise NotImplementedError("Huber schedule 'snr' is not supported with the current model.") alphas_cumprod = torch.index_select(noise_scheduler.alphas_cumprod, 0, timesteps.cpu()) sigmas = ((1.0 - alphas_cumprod) / alphas_cumprod) ** 0.5 diff --git a/sd3_train.py b/sd3_train.py index cf2bdf938..909c5ead6 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -845,7 +845,7 @@ def grad_hook(parameter: torch.Tensor): # ) # calculate loss loss = train_util.conditional_loss( - args, model_pred.float(), target.float(), timesteps, "none", noise_scheduler + args, model_pred.float(), target.float(), timesteps, "none", None ) if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): loss = apply_masked_loss(loss, batch) From 14f642f88be888ce1a4157b550186347c159ca42 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 1 Dec 2024 13:30:35 +0900 Subject: [PATCH 369/748] fix: huber_schedule exponential not working on sd3_train.py --- library/train_util.py | 2 +- sd3_train.py | 8 +++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index d5e72323a..eaf6ec004 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -5875,7 +5875,7 @@ def get_huber_threshold(args, timesteps: torch.Tensor, noise_scheduler) -> torch alpha = -math.log(args.huber_c) / noise_scheduler.config.num_train_timesteps result = torch.exp(-alpha * timesteps) * args.huber_scale elif args.huber_schedule == "snr": - if noise_scheduler is None or not hasattr(noise_scheduler, "alphas_cumprod"): + if not hasattr(noise_scheduler, "alphas_cumprod"): raise NotImplementedError("Huber schedule 'snr' is not supported with the current model.") alphas_cumprod = torch.index_select(noise_scheduler.alphas_cumprod, 0, timesteps.cpu()) sigmas = ((1.0 - alphas_cumprod) / alphas_cumprod) ** 0.5 diff --git a/sd3_train.py b/sd3_train.py index 909c5ead6..73a68aa6a 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -675,8 +675,8 @@ def grad_hook(parameter: torch.Tensor): progress_bar = tqdm(range(args.max_train_steps), smoothing=0, disable=not accelerator.is_local_main_process, desc="steps") global_step = 0 - # noise_scheduler = sd3_train_utils.FlowMatchEulerDiscreteScheduler(num_train_timesteps=1000, shift=3.0) - # noise_scheduler_copy = copy.deepcopy(noise_scheduler) + # only used to get timesteps, etc. TODO manage timesteps etc. separately + dummy_scheduler = sd3_train_utils.FlowMatchEulerDiscreteScheduler(num_train_timesteps=1000, shift=3.0) if accelerator.is_main_process: init_kwargs = {} @@ -844,9 +844,7 @@ def grad_hook(parameter: torch.Tensor): # 1, # ) # calculate loss - loss = train_util.conditional_loss( - args, model_pred.float(), target.float(), timesteps, "none", None - ) + loss = train_util.conditional_loss(args, model_pred.float(), target.float(), timesteps, "none", dummy_scheduler) if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): loss = apply_masked_loss(loss, batch) loss = loss.mean([1, 2, 3]) From 0fe6320f09a61859c3faa134affb810cb42b62cd Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 1 Dec 2024 14:13:37 +0900 Subject: [PATCH 370/748] fix flux_train.py is not working --- flux_train.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flux_train.py b/flux_train.py index f6e43b27a..cfe14885e 100644 --- a/flux_train.py +++ b/flux_train.py @@ -667,7 +667,7 @@ def grad_hook(parameter: torch.Tensor): # calculate loss loss = train_util.conditional_loss( - args, noise_pred.float(), target.float(), timesteps, "none", noise_scheduler + args, model_pred.float(), target.float(), timesteps, "none", noise_scheduler ) if weighting is not None: loss = loss * weighting From cc11989755d0dd61f10eeec85983c751fd7ebb47 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 1 Dec 2024 21:20:28 +0900 Subject: [PATCH 371/748] fix: refactor huber-loss calculation in multiple training scripts --- fine_tune.py | 13 ++++--------- flux_train.py | 5 ++--- library/train_util.py | 21 +++++++++++---------- sd3_train.py | 3 ++- sdxl_train.py | 13 ++++--------- sdxl_train_control_net.py | 9 +++------ sdxl_train_control_net_lllite.py | 9 +++------ sdxl_train_control_net_lllite_old.py | 10 ++++++---- train_controlnet.py | 11 +++++------ train_db.py | 9 +++------ train_network.py | 5 ++--- train_textual_inversion.py | 5 ++--- train_textual_inversion_XTI.py | 9 +++++---- 13 files changed, 52 insertions(+), 70 deletions(-) diff --git a/fine_tune.py b/fine_tune.py index 401a40f08..176087065 100644 --- a/fine_tune.py +++ b/fine_tune.py @@ -380,9 +380,7 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): # Sample noise, sample a random timestep for each image, and add noise to the latents, # with noise offset and/or multires noise if specified - noise, noisy_latents, timesteps = train_util.get_noise_noisy_latents_and_timesteps( - args, noise_scheduler, latents - ) + noise, noisy_latents, timesteps = train_util.get_noise_noisy_latents_and_timesteps(args, noise_scheduler, latents) # Predict the noise residual with accelerator.autocast(): @@ -394,11 +392,10 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): else: target = noise + huber_c = train_util.get_huber_threshold_if_needed(args, timesteps, noise_scheduler) if args.min_snr_gamma or args.scale_v_pred_loss_like_noise_pred or args.debiased_estimation_loss: # do not mean over batch dimension for snr weight or scale v-pred loss - loss = train_util.conditional_loss( - args, noise_pred.float(), target.float(), timesteps, "none", noise_scheduler - ) + loss = train_util.conditional_loss(noise_pred.float(), target.float(), args.loss_type, "none", huber_c) loss = loss.mean([1, 2, 3]) if args.min_snr_gamma: @@ -410,9 +407,7 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module): loss = loss.mean() # mean over batch dimension else: - loss = train_util.conditional_loss( - args, noise_pred.float(), target.float(), timesteps, "mean", noise_scheduler - ) + loss = train_util.conditional_loss(noise_pred.float(), target.float(), args.loss_type, "mean", huber_c) accelerator.backward(loss) if accelerator.sync_gradients and args.max_grad_norm != 0.0: diff --git a/flux_train.py b/flux_train.py index cfe14885e..fced3bef9 100644 --- a/flux_train.py +++ b/flux_train.py @@ -666,9 +666,8 @@ def grad_hook(parameter: torch.Tensor): target = noise - latents # calculate loss - loss = train_util.conditional_loss( - args, model_pred.float(), target.float(), timesteps, "none", noise_scheduler - ) + huber_c = train_util.get_huber_threshold_if_needed(args, timesteps, noise_scheduler) + loss = train_util.conditional_loss(model_pred.float(), target.float(), args.loss_type, "none", huber_c) if weighting is not None: loss = loss * weighting if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): diff --git a/library/train_util.py b/library/train_util.py index eaf6ec004..fe74ddc7e 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -5869,7 +5869,10 @@ def get_noise_noisy_latents_and_timesteps(args, noise_scheduler, latents): return noise, noisy_latents, timesteps -def get_huber_threshold(args, timesteps: torch.Tensor, noise_scheduler) -> torch.Tensor: +def get_huber_threshold_if_needed(args, timesteps: torch.Tensor, noise_scheduler) -> Optional[torch.Tensor]: + if not (args.loss_type == "huber" or args.loss_type == "smooth_l1"): + return None + b_size = timesteps.shape[0] if args.huber_schedule == "exponential": alpha = -math.log(args.huber_c) / noise_scheduler.config.num_train_timesteps @@ -5890,22 +5893,20 @@ def get_huber_threshold(args, timesteps: torch.Tensor, noise_scheduler) -> torch def conditional_loss( - args, model_pred: torch.Tensor, target: torch.Tensor, timesteps: torch.Tensor, reduction: str, noise_scheduler + model_pred: torch.Tensor, target: torch.Tensor, loss_type: str, reduction: str, huber_c: Optional[torch.Tensor] = None ): - if args.loss_type == "l2": + if loss_type == "l2": loss = torch.nn.functional.mse_loss(model_pred, target, reduction=reduction) - elif args.loss_type == "l1": + elif loss_type == "l1": loss = torch.nn.functional.l1_loss(model_pred, target, reduction=reduction) - elif args.loss_type == "huber": - huber_c = get_huber_threshold(args, timesteps, noise_scheduler) + elif loss_type == "huber": huber_c = huber_c.view(-1, 1, 1, 1) loss = 2 * huber_c * (torch.sqrt((model_pred - target) ** 2 + huber_c**2) - huber_c) if reduction == "mean": loss = torch.mean(loss) elif reduction == "sum": loss = torch.sum(loss) - elif args.loss_type == "smooth_l1": - huber_c = get_huber_threshold(args, timesteps, noise_scheduler) + elif loss_type == "smooth_l1": huber_c = huber_c.view(-1, 1, 1, 1) loss = 2 * (torch.sqrt((model_pred - target) ** 2 + huber_c**2) - huber_c) if reduction == "mean": @@ -5913,7 +5914,7 @@ def conditional_loss( elif reduction == "sum": loss = torch.sum(loss) else: - raise NotImplementedError(f"Unsupported Loss Type: {args.loss_type}") + raise NotImplementedError(f"Unsupported Loss Type: {loss_type}") return loss @@ -5923,7 +5924,7 @@ def append_lr_to_logs(logs, lr_scheduler, optimizer_type, including_unet=True): names.append("unet") names.append("text_encoder1") names.append("text_encoder2") - names.append("text_encoder3") # SD3 + names.append("text_encoder3") # SD3 append_lr_to_logs_with_names(logs, lr_scheduler, optimizer_type, names) diff --git a/sd3_train.py b/sd3_train.py index 73a68aa6a..120455e7b 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -844,7 +844,8 @@ def grad_hook(parameter: torch.Tensor): # 1, # ) # calculate loss - loss = train_util.conditional_loss(args, model_pred.float(), target.float(), timesteps, "none", dummy_scheduler) + huber_c = train_util.get_huber_threshold_if_needed(args, timesteps, dummy_scheduler) + loss = train_util.conditional_loss(model_pred.float(), target.float(), args.loss_type, "none", huber_c) if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): loss = apply_masked_loss(loss, batch) loss = loss.mean([1, 2, 3]) diff --git a/sdxl_train.py b/sdxl_train.py index 1bc27ec6c..b9d529243 100644 --- a/sdxl_train.py +++ b/sdxl_train.py @@ -695,9 +695,7 @@ def optimizer_hook(parameter: torch.Tensor): # Sample noise, sample a random timestep for each image, and add noise to the latents, # with noise offset and/or multires noise if specified - noise, noisy_latents, timesteps = train_util.get_noise_noisy_latents_and_timesteps( - args, noise_scheduler, latents - ) + noise, noisy_latents, timesteps = train_util.get_noise_noisy_latents_and_timesteps(args, noise_scheduler, latents) noisy_latents = noisy_latents.to(weight_dtype) # TODO check why noisy_latents is not weight_dtype @@ -711,6 +709,7 @@ def optimizer_hook(parameter: torch.Tensor): else: target = noise + huber_c = train_util.get_huber_threshold_if_needed(args, timesteps, noise_scheduler) if ( args.min_snr_gamma or args.scale_v_pred_loss_like_noise_pred @@ -719,9 +718,7 @@ def optimizer_hook(parameter: torch.Tensor): or args.masked_loss ): # do not mean over batch dimension for snr weight or scale v-pred loss - loss = train_util.conditional_loss( - args, noise_pred.float(), target.float(), timesteps, "none", noise_scheduler - ) + loss = train_util.conditional_loss(noise_pred.float(), target.float(), args.loss_type, "none", huber_c) if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): loss = apply_masked_loss(loss, batch) loss = loss.mean([1, 2, 3]) @@ -737,9 +734,7 @@ def optimizer_hook(parameter: torch.Tensor): loss = loss.mean() # mean over batch dimension else: - loss = train_util.conditional_loss( - args, noise_pred.float(), target.float(), timesteps, "none", noise_scheduler - ) + loss = train_util.conditional_loss(noise_pred.float(), target.float(), args.loss_type, "mean", huber_c) accelerator.backward(loss) diff --git a/sdxl_train_control_net.py b/sdxl_train_control_net.py index d0051d18f..01387409a 100644 --- a/sdxl_train_control_net.py +++ b/sdxl_train_control_net.py @@ -512,9 +512,7 @@ def remove_model(old_ckpt_name): # Sample noise, sample a random timestep for each image, and add noise to the latents, # with noise offset and/or multires noise if specified - noise, noisy_latents, timesteps = train_util.get_noise_noisy_latents_and_timesteps( - args, noise_scheduler, latents - ) + noise, noisy_latents, timesteps = train_util.get_noise_noisy_latents_and_timesteps(args, noise_scheduler, latents) controlnet_image = batch["conditioning_images"].to(dtype=weight_dtype) @@ -533,9 +531,8 @@ def remove_model(old_ckpt_name): else: target = noise - loss = train_util.conditional_loss( - args, noise_pred.float(), target.float(), timesteps, "none", noise_scheduler - ) + huber_c = train_util.get_huber_threshold_if_needed(args, timesteps, noise_scheduler) + loss = train_util.conditional_loss(noise_pred.float(), target.float(), args.loss_type, "none", huber_c) loss = loss.mean([1, 2, 3]) loss_weights = batch["loss_weights"] # 各sampleごとのweight diff --git a/sdxl_train_control_net_lllite.py b/sdxl_train_control_net_lllite.py index 66214f5df..365059b75 100644 --- a/sdxl_train_control_net_lllite.py +++ b/sdxl_train_control_net_lllite.py @@ -463,9 +463,7 @@ def remove_model(old_ckpt_name): # Sample noise, sample a random timestep for each image, and add noise to the latents, # with noise offset and/or multires noise if specified - noise, noisy_latents, timesteps = train_util.get_noise_noisy_latents_and_timesteps( - args, noise_scheduler, latents - ) + noise, noisy_latents, timesteps = train_util.get_noise_noisy_latents_and_timesteps(args, noise_scheduler, latents) noisy_latents = noisy_latents.to(weight_dtype) # TODO check why noisy_latents is not weight_dtype @@ -484,9 +482,8 @@ def remove_model(old_ckpt_name): else: target = noise - loss = train_util.conditional_loss( - args, noise_pred.float(), target.float(), timesteps, "none", noise_scheduler - ) + huber_c = train_util.get_huber_threshold_if_needed(args, timesteps, noise_scheduler) + loss = train_util.conditional_loss(noise_pred.float(), target.float(), args.loss_type, "none", huber_c) loss = loss.mean([1, 2, 3]) loss_weights = batch["loss_weights"] # 各sampleごとのweight diff --git a/sdxl_train_control_net_lllite_old.py b/sdxl_train_control_net_lllite_old.py index 5e10654b9..5b372befc 100644 --- a/sdxl_train_control_net_lllite_old.py +++ b/sdxl_train_control_net_lllite_old.py @@ -12,6 +12,7 @@ import torch from library.device_utils import init_ipex, clean_memory_on_device + init_ipex() from torch.nn.parallel import DistributedDataParallel as DDP @@ -324,7 +325,9 @@ def train(args): if args.log_tracker_config is not None: init_kwargs = toml.load(args.log_tracker_config) accelerator.init_trackers( - "lllite_control_net_train" if args.log_tracker_name is None else args.log_tracker_name, config=train_util.get_sanitized_config_or_none(args), init_kwargs=init_kwargs + "lllite_control_net_train" if args.log_tracker_name is None else args.log_tracker_name, + config=train_util.get_sanitized_config_or_none(args), + init_kwargs=init_kwargs, ) loss_recorder = train_util.LossRecorder() @@ -426,9 +429,8 @@ def remove_model(old_ckpt_name): else: target = noise - loss = train_util.conditional_loss( - args, noise_pred.float(), target.float(), timesteps, "none", noise_scheduler - ) + huber_c = train_util.get_huber_threshold_if_needed(args, timesteps, noise_scheduler) + loss = train_util.conditional_loss(noise_pred.float(), target.float(), args.loss_type, "none", huber_c) loss = loss.mean([1, 2, 3]) loss_weights = batch["loss_weights"] # 各sampleごとのweight diff --git a/train_controlnet.py b/train_controlnet.py index da7a08d69..177d2b11f 100644 --- a/train_controlnet.py +++ b/train_controlnet.py @@ -307,10 +307,12 @@ def __contains__(self, name): if args.fused_backward_pass: import library.adafactor_fused + library.adafactor_fused.patch_adafactor_fused(optimizer) for param_group in optimizer.param_groups: for parameter in param_group["params"]: if parameter.requires_grad: + def __grad_hook(tensor: torch.Tensor, param_group=param_group): if accelerator.sync_gradients and args.max_grad_norm != 0.0: accelerator.clip_grad_norm_(tensor, args.max_grad_norm) @@ -464,9 +466,7 @@ def remove_model(old_ckpt_name): ) # Sample a random timestep for each image - timesteps = train_util.get_timesteps( - 0, noise_scheduler.config.num_train_timesteps, b_size, latents.device - ) + timesteps = train_util.get_timesteps(0, noise_scheduler.config.num_train_timesteps, b_size, latents.device) # Add noise to the latents according to the noise magnitude at each timestep # (this is the forward diffusion process) @@ -498,9 +498,8 @@ def remove_model(old_ckpt_name): else: target = noise - loss = train_util.conditional_loss( - args, noise_pred.float(), target.float(), timesteps, "none", noise_scheduler - ) + huber_c = train_util.get_huber_threshold_if_needed(args, timesteps, noise_scheduler) + loss = train_util.conditional_loss(noise_pred.float(), target.float(), args.loss_type, "none", huber_c) loss = loss.mean([1, 2, 3]) loss_weights = batch["loss_weights"] # 各sampleごとのweight diff --git a/train_db.py b/train_db.py index a185b31b3..ad21f8d1b 100644 --- a/train_db.py +++ b/train_db.py @@ -370,9 +370,7 @@ def train(args): # Sample noise, sample a random timestep for each image, and add noise to the latents, # with noise offset and/or multires noise if specified - noise, noisy_latents, timesteps = train_util.get_noise_noisy_latents_and_timesteps( - args, noise_scheduler, latents - ) + noise, noisy_latents, timesteps = train_util.get_noise_noisy_latents_and_timesteps(args, noise_scheduler, latents) # Predict the noise residual with accelerator.autocast(): @@ -384,9 +382,8 @@ def train(args): else: target = noise - loss = train_util.conditional_loss( - args, noise_pred.float(), target.float(), timesteps, "none", noise_scheduler - ) + huber_c = train_util.get_huber_threshold_if_needed(args, timesteps, noise_scheduler) + loss = train_util.conditional_loss(noise_pred.float(), target.float(), args.loss_type, "none", huber_c) if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): loss = apply_masked_loss(loss, batch) loss = loss.mean([1, 2, 3]) diff --git a/train_network.py b/train_network.py index c7d4f5dc5..0b4208187 100644 --- a/train_network.py +++ b/train_network.py @@ -1207,9 +1207,8 @@ def remove_model(old_ckpt_name): train_unet, ) - loss = train_util.conditional_loss( - args, noise_pred.float(), target.float(), timesteps, "none", noise_scheduler - ) + huber_c = train_util.get_huber_threshold_if_needed(args, timesteps, noise_scheduler) + loss = train_util.conditional_loss(noise_pred.float(), target.float(), args.loss_type, "none", huber_c) if weighting is not None: loss = loss * weighting if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): diff --git a/train_textual_inversion.py b/train_textual_inversion.py index 9e1e57c48..65da4859b 100644 --- a/train_textual_inversion.py +++ b/train_textual_inversion.py @@ -601,9 +601,8 @@ def remove_model(old_ckpt_name): else: target = noise - loss = train_util.conditional_loss( - args, noise_pred.float(), target.float(), timesteps, "none", noise_scheduler - ) + huber_c = train_util.get_huber_threshold_if_needed(args, timesteps, noise_scheduler) + loss = train_util.conditional_loss(noise_pred.float(), target.float(), args.loss_type, "none", huber_c) if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): loss = apply_masked_loss(loss, batch) loss = loss.mean([1, 2, 3]) diff --git a/train_textual_inversion_XTI.py b/train_textual_inversion_XTI.py index 944733602..2a2b42310 100644 --- a/train_textual_inversion_XTI.py +++ b/train_textual_inversion_XTI.py @@ -407,7 +407,9 @@ def train(args): if args.log_tracker_config is not None: init_kwargs = toml.load(args.log_tracker_config) accelerator.init_trackers( - "textual_inversion" if args.log_tracker_name is None else args.log_tracker_name, config=train_util.get_sanitized_config_or_none(args), init_kwargs=init_kwargs + "textual_inversion" if args.log_tracker_name is None else args.log_tracker_name, + config=train_util.get_sanitized_config_or_none(args), + init_kwargs=init_kwargs, ) # function for saving/removing @@ -473,9 +475,8 @@ def remove_model(old_ckpt_name): else: target = noise - loss = train_util.conditional_loss( - args, noise_pred.float(), target.float(), timesteps, "none", noise_scheduler - ) + huber_c = train_util.get_huber_threshold_if_needed(args, timesteps, noise_scheduler) + loss = train_util.conditional_loss(noise_pred.float(), target.float(), args.loss_type, "none", huber_c) if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): loss = apply_masked_loss(loss, batch) loss = loss.mean([1, 2, 3]) From 14760407871c7eaa26210c7db71ce2740a817c4c Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 1 Dec 2024 21:26:39 +0900 Subject: [PATCH 372/748] fix: update help text for huber loss parameters in train_util.py --- library/train_util.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index fe74ddc7e..a40983a68 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -3905,14 +3905,16 @@ def add_training_arguments(parser: argparse.ArgumentParser, support_dreambooth: "--huber_c", type=float, default=0.1, - help="The Huber loss decay parameter. Only used if one of the huber loss modes (huber or smooth l1) is selected with loss_type. default is 0.1 / Huber損失のパラメータ。loss_typeがhuberまたはsmooth l1の場合に有効。デフォルトは0.1", + help="The Huber loss decay parameter. Only used if one of the huber loss modes (huber or smooth l1) is selected with loss_type. default is 0.1" + " / Huber損失の減衰パラメータ。loss_typeがhuberまたはsmooth l1の場合に有効。デフォルトは0.1", ) parser.add_argument( "--huber_scale", type=float, default=1.0, - help="The Huber loss scale parameter. Only used if one of the huber loss modes (huber or smooth l1) is selected with loss_type. default is 1.0 / Huber損失のパラメータ。loss_typeがhuberまたはsmooth l1の場合に有効。デフォルトは0.1", + help="The Huber loss scale parameter. Only used if one of the huber loss modes (huber or smooth l1) is selected with loss_type. default is 1.0" + " / Huber損失のスケールパラメータ。loss_typeがhuberまたはsmooth l1の場合に有効。デフォルトは1.0", ) parser.add_argument( From 34e7f509c41491f9a08c16c8ead2adf5cb210ec1 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 1 Dec 2024 21:36:24 +0900 Subject: [PATCH 373/748] docs: update README for huber loss --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index f9c85e3ac..89a96827c 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,11 @@ The command to install PyTorch is as follows: ### Recent Updates +1 Dec, 2024: + +- Pseudo Huber loss is now available for FLUX.1 and SD3.5 training. See [#1808](https://github.com/kohya-ss/sd-scripts/pull/1808) for details. Thanks to recris! + - Specify `--loss_type huber` or `--loss_type smooth_l1` to use it. `--huber_c` and `--huber_scale` are also available. + Nov 14, 2024: - Improved the implementation of block swap and made it available for both FLUX.1 and SD3 LoRA training. See [FLUX.1 LoRA training](#flux1-lora-training) etc. for how to use the new options. Training is possible with about 8-10GB of VRAM. From 1dc873d9b463d50e27ae8572c28a473ce9a1254f Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 1 Dec 2024 22:00:44 +0900 Subject: [PATCH 374/748] update README and clean up code for schedulefree optimizer --- README.md | 4 +++- library/train_util.py | 7 +++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 89a96827c..8db5c4d42 100644 --- a/README.md +++ b/README.md @@ -16,9 +16,11 @@ The command to install PyTorch is as follows: 1 Dec, 2024: -- Pseudo Huber loss is now available for FLUX.1 and SD3.5 training. See [#1808](https://github.com/kohya-ss/sd-scripts/pull/1808) for details. Thanks to recris! +- Pseudo Huber loss is now available for FLUX.1 and SD3.5 training. See PR [#1808](https://github.com/kohya-ss/sd-scripts/pull/1808) for details. Thanks to recris! - Specify `--loss_type huber` or `--loss_type smooth_l1` to use it. `--huber_c` and `--huber_scale` are also available. +- [Prodigy + ScheduleFree](https://github.com/LoganBooker/prodigy-plus-schedule-free) is supported. See PR [#1811](https://github.com/kohya-ss/sd-scripts/pull/1811) for details. Thanks to rockerBOO! + Nov 14, 2024: - Improved the implementation of block swap and made it available for both FLUX.1 and SD3 LoRA training. See [FLUX.1 LoRA training](#flux1-lora-training) etc. for how to use the new options. Training is possible with about 8-10GB of VRAM. diff --git a/library/train_util.py b/library/train_util.py index 289ab8235..6cfd14d5e 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -4609,7 +4609,7 @@ def task(): def get_optimizer(args, trainable_params): # "Optimizer to use: AdamW, AdamW8bit, Lion, SGDNesterov, SGDNesterov8bit, PagedAdamW, PagedAdamW8bit, PagedAdamW32bit, Lion8bit, PagedLion8bit, AdEMAMix8bit, PagedAdEMAMix8bit, DAdaptation(DAdaptAdamPreprint), DAdaptAdaGrad, DAdaptAdam, DAdaptAdan, DAdaptAdanIP, DAdaptLion, DAdaptSGD, Adafactor" - + optimizer_type = args.optimizer_type if args.use_8bit_adam: assert ( @@ -4883,7 +4883,6 @@ def get_optimizer(args, trainable_params): optimizer = optimizer_class(trainable_params, lr=lr, **optimizer_kwargs) elif optimizer_type.endswith("schedulefree".lower()): - should_train_optimizer = True try: import schedulefree as sf except ImportError: @@ -5000,8 +4999,8 @@ def __instancecheck__(self, instance): optimizer_name = optimizer_class.__module__ + "." + optimizer_class.__name__ optimizer_args = ",".join([f"{k}={v}" for k, v in optimizer_kwargs.items()]) - if hasattr(optimizer, 'train') and callable(optimizer.train): - # make optimizer as train mode: we don't need to call train again, because eval will not be called in training loop + if hasattr(optimizer, "train") and callable(optimizer.train): + # make optimizer as train mode before training for schedulefree optimizer. the optimizer will be in eval mode in sampling and saving. optimizer.train() return optimizer_name, optimizer_args, optimizer From e369b9a252b90d1f57ea20dd6f5d05ec0c287ae1 Mon Sep 17 00:00:00 2001 From: kohya-ss Date: Mon, 2 Dec 2024 23:38:54 +0900 Subject: [PATCH 375/748] docs: update README with FLUX.1 ControlNet training details and improve argument help text --- README.md | 10 +++++++++- library/flux_train_utils.py | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 45e3cb7ab..6a5cdd342 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,15 @@ The command to install PyTorch is as follows: ### Recent Updates -1 Dec, 2024: +Dec 2, 2024: + +- FLUX.1 ControlNet training is supported. PR [#1813](https://github.com/kohya-ss/sd-scripts/pull/1813). Thanks to minux302! See PR and [here](#flux1-controlnet-training) for details. + - Not fully tested. Feedback is welcome. + - 80GB VRAM is required for 1024x1024 resolution, and 48GB VRAM is required for 512x512 resolution. + - Currently, it only works in Linux environment (or Windows WSL2) because DeepSpeed is required. + - Multi-GPU training is not tested. + +Dec 1, 2024: - Pseudo Huber loss is now available for FLUX.1 and SD3.5 training. See PR [#1808](https://github.com/kohya-ss/sd-scripts/pull/1808) for details. Thanks to recris! - Specify `--loss_type huber` or `--loss_type smooth_l1` to use it. `--huber_c` and `--huber_scale` are also available. diff --git a/library/flux_train_utils.py b/library/flux_train_utils.py index 5e25c7feb..de2e2b48d 100644 --- a/library/flux_train_utils.py +++ b/library/flux_train_utils.py @@ -567,7 +567,7 @@ def add_flux_train_arguments(parser: argparse.ArgumentParser): "--controlnet", type=str, default=None, - help="path to controlnet (*.sft or *.safetensors) / aeのパス(*.sftまたは*.safetensors)" + help="path to controlnet (*.sft or *.safetensors) / controlnetのパス(*.sftまたは*.safetensors)" ) parser.add_argument( "--t5xxl_max_token_length", From 5ab00f9b49b5a3958bb0267fdb9236a96d503dbd Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Mon, 2 Dec 2024 13:39:51 -0500 Subject: [PATCH 376/748] Update workflow tests with cleanup and documentation --- .github/workflows/tests.yml | 48 +++++++++++++++++++------------------ 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 9ae67b0e9..5a790d570 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -1,42 +1,44 @@ - -name: Python package - -on: [push] +name: Test with pytet + +on: + push: + branches: + - main + - dev + - sd3 + pull_request: + branches: + - main + - dev + - sd3 jobs: build: - runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest] - python-version: ["3.10"] + python-version: ["3.10"] # Python versions to test + pytorch-version: ["2.4.0"] # PyTorch versions to test steps: - uses: actions/checkout@v4 - - name: Set up Python - uses: actions/setup-python@v5 + - uses: actions/setup-python@v5 with: - python-version: '3.x' - - - name: Install dependencies - run: python -m pip install --upgrade pip setuptools wheel + python-version: ${{ matrix.python-version }} + cache: 'pip' - - uses: actions/checkout@v4 - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: '3.x' - cache: 'pip' # caching pip dependencies + - name: Install and update pip, setuptools, wheel + run: | + # Setuptools, wheel for compiling some packages + python -m pip install --upgrade pip setuptools wheel - name: Install dependencies run: | - python -m pip install --upgrade pip - pip install dadaptation==3.2 torch==2.4.0 torchvision==0.19.0 accelerate==0.33.0 + # Pre-install torch to pin version (requirements.txt has dependencies like transformers which requires pytorch) + pip install dadaptation==3.2 torch==${{ matrix.pytorch-version }} torchvision==0.19.0 pytest==8.3.4 pip install -r requirements.txt - name: Test with pytest - run: | - pip install pytest - pytest + run: pytest # See pytest.ini for configuration From 63738ecb0758a02555392d2c283a83bba1c6f98e Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Mon, 2 Dec 2024 13:48:30 -0500 Subject: [PATCH 377/748] Add tests documentation --- tests/README.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 tests/README.md diff --git a/tests/README.md b/tests/README.md new file mode 100644 index 000000000..19eeab0e2 --- /dev/null +++ b/tests/README.md @@ -0,0 +1,32 @@ +# Tests + +## Install + +``` +pip install pytest +``` + +## Usage + +``` +pytest +``` + +## Contribution + +Pytest is configured to run tests in this directory. It might be a good idea to add tests closer in the code, as well as doctests. + +Tests are functions starting with `test_` and files with the pattern `test_*.py`. + +``` +def test_x(): + assert 1 == 2, "Invalid test response" +``` + +## Resources + +- https://circleci.com/blog/testing-pytorch-model-with-pytest/ +- https://pytorch.org/docs/stable/testing.html +- https://github.com/pytorch/pytorch/wiki/Running-and-writing-tests +- https://github.com/huggingface/pytorch-image-models/tree/main/tests +- https://github.com/pytorch/pytorch/tree/main/test From 2610e96e9e3d0605d5a16615efa26ae8935ed3aa Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Mon, 2 Dec 2024 13:49:58 -0500 Subject: [PATCH 378/748] Pytest --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 5a790d570..672a657bf 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -1,4 +1,4 @@ -name: Test with pytet +name: Test with pytest on: push: From 3e5d89c76c287872e20c4a967d36b51384285be8 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Mon, 2 Dec 2024 13:51:57 -0500 Subject: [PATCH 379/748] Add more resources --- tests/README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tests/README.md b/tests/README.md index 19eeab0e2..9836da8b4 100644 --- a/tests/README.md +++ b/tests/README.md @@ -25,8 +25,17 @@ def test_x(): ## Resources +### pytest + +- https://docs.pytest.org/en/stable/index.html +- https://docs.pytest.org/en/stable/how-to/assert.html +- https://docs.pytest.org/en/stable/how-to/doctest.html + +### PyTorch testing + - https://circleci.com/blog/testing-pytorch-model-with-pytest/ - https://pytorch.org/docs/stable/testing.html - https://github.com/pytorch/pytorch/wiki/Running-and-writing-tests - https://github.com/huggingface/pytorch-image-models/tree/main/tests - https://github.com/pytorch/pytorch/tree/main/test + From 8b36d907d8635dca64224574b5cb15013e00809d Mon Sep 17 00:00:00 2001 From: Kohya S Date: Tue, 3 Dec 2024 08:43:26 +0900 Subject: [PATCH 380/748] feat: support block_to_swap for FLUX.1 ControlNet training --- README.md | 13 +++++++++++ flux_train_control_net.py | 46 +++++++++++++++++++++++++++------------ 2 files changed, 45 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 6a5cdd342..f02725191 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,11 @@ The command to install PyTorch is as follows: ### Recent Updates + +Dec 3, 2024: + +-`--blocks_to_swap` now works in FLUX.1 ControlNet training. Sample commands for 24GB VRAM and 16GB VRAM are added [here](#flux1-controlnet-training). + Dec 2, 2024: - FLUX.1 ControlNet training is supported. PR [#1813](https://github.com/kohya-ss/sd-scripts/pull/1813). Thanks to minux302! See PR and [here](#flux1-controlnet-training) for details. @@ -276,6 +281,14 @@ accelerate launch --mixed_precision bf16 --num_cpu_threads_per_process 1 flux_tr --timestep_sampling shift --discrete_flow_shift 3.1582 --model_prediction_type raw --guidance_scale 1.0 --deepspeed ``` +For 24GB VRAM GPUs, you can train with 16 blocks swapped and caching latents and text encoder outputs with the batch size of 1. Remove `--deepspeed` . Sample command is below. Not fully tested. +``` + --blocks_to_swap 16 --cache_latents_to_disk --cache_text_encoder_outputs_to_disk +``` + +The training can be done with 16GB VRAM GPUs with around 30 blocks swapped. + +`--gradient_accumulation_steps` is also available. The default value is 1 (no accumulation), but according to the original PR, 8 is used. ### FLUX.1 OFT training diff --git a/flux_train_control_net.py b/flux_train_control_net.py index bb27c35ed..5548fd991 100644 --- a/flux_train_control_net.py +++ b/flux_train_control_net.py @@ -119,9 +119,7 @@ def train(args): "datasets": [ { "subsets": config_util.generate_controlnet_subsets_config_by_subdirs( - args.train_data_dir, - args.conditioning_data_dir, - args.caption_extension + args.train_data_dir, args.conditioning_data_dir, args.caption_extension ) } ] @@ -263,13 +261,17 @@ def train(args): args.pretrained_model_name_or_path, weight_dtype, "cpu", args.disable_mmap_load_safetensors ) flux.requires_grad_(False) - flux.to(accelerator.device) # load controlnet - controlnet = flux_utils.load_controlnet(args.controlnet, is_schnell, torch.float32, accelerator.device, args.disable_mmap_load_safetensors) + controlnet_dtype = torch.float32 if args.deepspeed else weight_dtype + controlnet = flux_utils.load_controlnet( + args.controlnet, is_schnell, controlnet_dtype, accelerator.device, args.disable_mmap_load_safetensors + ) controlnet.train() if args.gradient_checkpointing: + if not args.deepspeed: + flux.enable_gradient_checkpointing(cpu_offload=args.cpu_offload_checkpointing) controlnet.enable_gradient_checkpointing(cpu_offload=args.cpu_offload_checkpointing) # block swap @@ -296,7 +298,11 @@ def train(args): # This idea is based on 2kpr's great work. Thank you! logger.info(f"enable block swap: blocks_to_swap={args.blocks_to_swap}") flux.enable_block_swap(args.blocks_to_swap, accelerator.device) - controlnet.enable_block_swap(args.blocks_to_swap, accelerator.device) + flux.move_to_device_except_swap_blocks(accelerator.device) # reduce peak memory usage + # ControlNet only has two blocks, so we can keep it on GPU + # controlnet.enable_block_swap(args.blocks_to_swap, accelerator.device) + else: + flux.to(accelerator.device) if not cache_latents: # load VAE here if not cached @@ -455,9 +461,7 @@ def train(args): else: # accelerator does some magic # if we doesn't swap blocks, we can move the model to device - controlnet = accelerator.prepare(controlnet, device_placement=[not is_swapping_blocks]) - if is_swapping_blocks: - accelerator.unwrap_model(controlnet).move_to_device_except_swap_blocks(accelerator.device) # reduce peak memory usage + controlnet = accelerator.prepare(controlnet) # , device_placement=[not is_swapping_blocks]) optimizer, train_dataloader, lr_scheduler = accelerator.prepare(optimizer, train_dataloader, lr_scheduler) # 実験的機能:勾配も含めたfp16学習を行う PyTorchにパッチを当ててfp16でのgrad scaleを有効にする @@ -564,11 +568,13 @@ def grad_hook(parameter: torch.Tensor): ) if is_swapping_blocks: - accelerator.unwrap_model(controlnet).prepare_block_swap_before_forward() + flux.prepare_block_swap_before_forward() # For --sample_at_first optimizer_eval_fn() - flux_train_utils.sample_images(accelerator, args, 0, global_step, flux, ae, [clip_l, t5xxl], sample_prompts_te_outputs, controlnet=controlnet) + flux_train_utils.sample_images( + accelerator, args, 0, global_step, flux, ae, [clip_l, t5xxl], sample_prompts_te_outputs, controlnet=controlnet + ) optimizer_train_fn() if len(accelerator.trackers) > 0: # log empty object to commit the sample images to wandb @@ -629,7 +635,11 @@ def grad_hook(parameter: torch.Tensor): # pack latents and get img_ids packed_noisy_model_input = flux_utils.pack_latents(noisy_model_input) # b, c, h*2, w*2 -> b, h*w, c*4 packed_latent_height, packed_latent_width = noisy_model_input.shape[2] // 2, noisy_model_input.shape[3] // 2 - img_ids = flux_utils.prepare_img_ids(bsz, packed_latent_height, packed_latent_width).to(device=accelerator.device).to(weight_dtype) + img_ids = ( + flux_utils.prepare_img_ids(bsz, packed_latent_height, packed_latent_width) + .to(device=accelerator.device) + .to(weight_dtype) + ) # get guidance: ensure args.guidance_scale is float guidance_vec = torch.full((bsz,), float(args.guidance_scale), device=accelerator.device, dtype=weight_dtype) @@ -638,7 +648,7 @@ def grad_hook(parameter: torch.Tensor): l_pooled, t5_out, txt_ids, t5_attn_mask = text_encoder_conds if not args.apply_t5_attn_mask: t5_attn_mask = None - + with accelerator.autocast(): block_samples, block_single_samples = controlnet( img=packed_noisy_model_input, @@ -715,7 +725,15 @@ def grad_hook(parameter: torch.Tensor): optimizer_eval_fn() flux_train_utils.sample_images( - accelerator, args, None, global_step, flux, ae, [clip_l, t5xxl], sample_prompts_te_outputs, controlnet=controlnet + accelerator, + args, + None, + global_step, + flux, + ae, + [clip_l, t5xxl], + sample_prompts_te_outputs, + controlnet=controlnet, ) # 指定ステップごとにモデルを保存 From 6bee18db4fbf62ebd2a1da88a5851c48f2e06c54 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sat, 7 Dec 2024 15:12:27 +0900 Subject: [PATCH 381/748] fix: resolve model corruption issue with pos_embed when using --enable_scaled_pos_embed --- README.md | 2 ++ library/sd3_models.py | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f02725191..6162359d1 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,8 @@ The command to install PyTorch is as follows: ### Recent Updates +Dec 7, 2024: +- Fixed an issue where the saved model would be corrupted (pos_embed would not be saved) when `--enable_scaled_pos_embed` was specified in `sd3_train.py`. Dec 3, 2024: diff --git a/library/sd3_models.py b/library/sd3_models.py index 2f3c82eed..e4a931861 100644 --- a/library/sd3_models.py +++ b/library/sd3_models.py @@ -870,8 +870,10 @@ def enable_scaled_pos_embed(self, use_scaled_pos_embed: bool, latent_sizes: Opti self.use_scaled_pos_embed = use_scaled_pos_embed if self.use_scaled_pos_embed: - # remove pos_embed to free up memory up to 0.4 GB - self.pos_embed = None + # # remove pos_embed to free up memory up to 0.4 GB -> this causes error because pos_embed is not saved + # self.pos_embed = None + # move pos_embed to CPU to free up memory up to 0.4 GB + self.pos_embed = self.pos_embed.cpu() # remove duplicates and sort latent sizes in ascending order latent_sizes = list(set(latent_sizes)) From abff4b0ec7bb37b338924e38392593f2bea2b8d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9D=92=E9=BE=8D=E8=81=96=E8=80=85=40bdsqlsz?= Date: Sat, 7 Dec 2024 16:12:46 +0800 Subject: [PATCH 382/748] Unify controlnet parameters name and change scripts name. (#1821) * Update sd3_train.py * add freeze block lr * Update train_util.py * update * Revert "add freeze block lr" This reverts commit 8b1653548f8f219e5be2cde96f65a8813cf9ea1f. # Conflicts: # library/train_util.py # sd3_train.py * use same control net model path * use controlnet_model_name_or_path --- flux_train_control_net.py | 2 +- library/flux_train_utils.py | 2 +- sdxl_train_control_net.py | 8 ++++---- train_controlnet.py => train_control_net.py | 0 4 files changed, 6 insertions(+), 6 deletions(-) rename train_controlnet.py => train_control_net.py (100%) diff --git a/flux_train_control_net.py b/flux_train_control_net.py index 5548fd991..9d36a41d3 100644 --- a/flux_train_control_net.py +++ b/flux_train_control_net.py @@ -265,7 +265,7 @@ def train(args): # load controlnet controlnet_dtype = torch.float32 if args.deepspeed else weight_dtype controlnet = flux_utils.load_controlnet( - args.controlnet, is_schnell, controlnet_dtype, accelerator.device, args.disable_mmap_load_safetensors + args.controlnet_model_name_or_path, is_schnell, controlnet_dtype, accelerator.device, args.disable_mmap_load_safetensors ) controlnet.train() diff --git a/library/flux_train_utils.py b/library/flux_train_utils.py index de2e2b48d..f7f06c5cf 100644 --- a/library/flux_train_utils.py +++ b/library/flux_train_utils.py @@ -564,7 +564,7 @@ def add_flux_train_arguments(parser: argparse.ArgumentParser): ) parser.add_argument("--ae", type=str, help="path to ae (*.sft or *.safetensors) / aeのパス(*.sftまたは*.safetensors)") parser.add_argument( - "--controlnet", + "--controlnet_model_name_or_path", type=str, default=None, help="path to controlnet (*.sft or *.safetensors) / controlnetのパス(*.sftまたは*.safetensors)" diff --git a/sdxl_train_control_net.py b/sdxl_train_control_net.py index 01387409a..ffbf03cab 100644 --- a/sdxl_train_control_net.py +++ b/sdxl_train_control_net.py @@ -184,12 +184,12 @@ def unwrap_model(model): # make control net logger.info("make ControlNet") - if args.controlnet_model_path: + if args.controlnet_model_name_or_path: with init_empty_weights(): control_net = SdxlControlNet() - logger.info(f"load ControlNet from {args.controlnet_model_path}") - filename = args.controlnet_model_path + logger.info(f"load ControlNet from {args.controlnet_model_name_or_path}") + filename = args.controlnet_model_name_or_path if os.path.splitext(filename)[1] == ".safetensors": state_dict = load_file(filename) else: @@ -675,7 +675,7 @@ def setup_parser() -> argparse.ArgumentParser: sdxl_train_util.add_sdxl_training_arguments(parser) parser.add_argument( - "--controlnet_model_path", + "--controlnet_model_name_or_path", type=str, default=None, help="controlnet model name or path / controlnetのモデル名またはパス", diff --git a/train_controlnet.py b/train_control_net.py similarity index 100% rename from train_controlnet.py rename to train_control_net.py From e425996a5953f0479384e70b6490e751c2d00b1f Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sat, 7 Dec 2024 17:28:19 +0900 Subject: [PATCH 383/748] feat: unify ControlNet model name option and deprecate old training script --- README.md | 7 +++++++ train_controlnet.py | 23 +++++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 train_controlnet.py diff --git a/README.md b/README.md index 6162359d1..67836ddf0 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,13 @@ The command to install PyTorch is as follows: ### Recent Updates Dec 7, 2024: + +- The option to specify the model name during ControlNet training was different in each script. It has been unified. Please specify `--controlnet_model_name_or_path`. PR [#1821](https://github.com/kohya-ss/sd-scripts/pull/1821) Thanks to sdbds! + + - Fixed an issue where the saved model would be corrupted (pos_embed would not be saved) when `--enable_scaled_pos_embed` was specified in `sd3_train.py`. Dec 3, 2024: diff --git a/train_controlnet.py b/train_controlnet.py new file mode 100644 index 000000000..365e35c8c --- /dev/null +++ b/train_controlnet.py @@ -0,0 +1,23 @@ +from library.utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + + +from library import train_util +from train_control_net import setup_parser, train + +if __name__ == "__main__": + logger.warning( + "The module 'train_controlnet.py' is deprecated. Please use 'train_control_net.py' instead" + " / 'train_controlnet.py'は非推奨です。代わりに'train_control_net.py'を使用してください。" + ) + parser = setup_parser() + + args = parser.parse_args() + train_util.verify_command_line_training_args(args) + args = train_util.read_config_from_file(args, parser) + + train(args) From 3cb8cb2d4fd697a49135193ac0873204e0139e62 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Mon, 9 Dec 2024 15:20:04 -0500 Subject: [PATCH 384/748] Prevent git credentials from leaking into other actions --- .github/workflows/tests.yml | 4 ++++ .github/workflows/typos.yml | 3 +++ 2 files changed, 7 insertions(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 672a657bf..2eddedc7b 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -23,6 +23,10 @@ jobs: steps: - uses: actions/checkout@v4 + with: + # https://woodruffw.github.io/zizmor/audits/#artipacked + persist-credentials: false + - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/typos.yml b/.github/workflows/typos.yml index 87ebdf894..f53cda218 100644 --- a/.github/workflows/typos.yml +++ b/.github/workflows/typos.yml @@ -18,6 +18,9 @@ jobs: steps: - uses: actions/checkout@v4 + with: + # https://woodruffw.github.io/zizmor/audits/#artipacked + persist-credentials: false - name: typos-action uses: crate-ci/typos@v1.28.1 From 8e378cf03df645cef897a342559dc5fa7f66a35d Mon Sep 17 00:00:00 2001 From: nhamanasu Date: Wed, 11 Dec 2024 19:43:44 +0900 Subject: [PATCH 385/748] add RAdamScheduleFree support --- library/train_util.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/library/train_util.py b/library/train_util.py index a35388fee..72b5b24db 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -4887,7 +4887,11 @@ def get_optimizer(args, trainable_params) -> tuple[str, str, object]: import schedulefree as sf except ImportError: raise ImportError("No schedulefree / schedulefreeがインストールされていないようです") - if optimizer_type == "AdamWScheduleFree".lower(): + + if optimizer_type == "RAdamScheduleFree".lower(): + optimizer_class = sf.RAdamScheduleFree + logger.info(f"use RAdamScheduleFree optimizer | {optimizer_kwargs}") + elif optimizer_type == "AdamWScheduleFree".lower(): optimizer_class = sf.AdamWScheduleFree logger.info(f"use AdamWScheduleFree optimizer | {optimizer_kwargs}") elif optimizer_type == "SGDScheduleFree".lower(): From e89653975ddf429cdf0c0fd268da0a5a3e8dba1f Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 15 Dec 2024 19:39:47 +0900 Subject: [PATCH 386/748] update requirements.txt and README to include RAdamScheduleFree optimizer support --- README.md | 6 ++++++ requirements.txt | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 67836ddf0..bfb22bcf1 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,12 @@ The command to install PyTorch is as follows: ### Recent Updates +Dec 15, 2024: + +- RAdamScheduleFree optimizer is supported. PR [#1830](https://github.com/kohya-ss/sd-scripts/pull/1830) Thanks to nhamanasu! + - Update to `schedulefree==1.4` is required. Please update individually or with `pip install --use-pep517 --upgrade -r requirements.txt`. + - Available with `--optimizer_type=RAdamScheduleFree`. No need to specify warm up steps as well as learning rate scheduler. + Dec 7, 2024: - The option to specify the model name during ControlNet training was different in each script. It has been unified. Please specify `--controlnet_model_name_or_path`. PR [#1821](https://github.com/kohya-ss/sd-scripts/pull/1821) Thanks to sdbds! diff --git a/requirements.txt b/requirements.txt index 0dd1c69cc..e0091749a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,7 +9,7 @@ pytorch-lightning==1.9.0 bitsandbytes==0.44.0 prodigyopt==1.0 lion-pytorch==0.0.6 -schedulefree==1.2.7 +schedulefree==1.4 tensorboard safetensors==0.4.4 # gradio==3.16.2 From 05bb9183fae18c62a1730fe5060f80c0b99a21f3 Mon Sep 17 00:00:00 2001 From: Hina Chen Date: Fri, 27 Dec 2024 16:47:59 +0800 Subject: [PATCH 387/748] Add Validation loss for LoRA training --- library/config_util.py | 78 +++++++++++++++++++++++- library/train_util.py | 54 ++++++++++++++++- train_network.py | 131 ++++++++++++++++++++++++++++++++++++++++- 3 files changed, 257 insertions(+), 6 deletions(-) diff --git a/library/config_util.py b/library/config_util.py index 12d0be173..a57cd36f0 100644 --- a/library/config_util.py +++ b/library/config_util.py @@ -73,6 +73,8 @@ class BaseSubsetParams: token_warmup_min: int = 1 token_warmup_step: float = 0 custom_attributes: Optional[Dict[str, Any]] = None + validation_seed: int = 0 + validation_split: float = 0.0 @dataclass @@ -102,6 +104,8 @@ class BaseDatasetParams: resolution: Optional[Tuple[int, int]] = None network_multiplier: float = 1.0 debug_dataset: bool = False + validation_seed: Optional[int] = None + validation_split: float = 0.0 @dataclass @@ -478,9 +482,27 @@ def generate_dataset_group_by_blueprint(dataset_group_blueprint: DatasetGroupBlu dataset_klass = FineTuningDataset subsets = [subset_klass(**asdict(subset_blueprint.params)) for subset_blueprint in dataset_blueprint.subsets] - dataset = dataset_klass(subsets=subsets, **asdict(dataset_blueprint.params)) + dataset = dataset_klass(subsets=subsets, is_train=True, **asdict(dataset_blueprint.params)) datasets.append(dataset) + val_datasets:List[Union[DreamBoothDataset, FineTuningDataset, ControlNetDataset]] = [] + for dataset_blueprint in dataset_group_blueprint.datasets: + if dataset_blueprint.params.validation_split <= 0.0: + continue + if dataset_blueprint.is_controlnet: + subset_klass = ControlNetSubset + dataset_klass = ControlNetDataset + elif dataset_blueprint.is_dreambooth: + subset_klass = DreamBoothSubset + dataset_klass = DreamBoothDataset + else: + subset_klass = FineTuningSubset + dataset_klass = FineTuningDataset + + subsets = [subset_klass(**asdict(subset_blueprint.params)) for subset_blueprint in dataset_blueprint.subsets] + dataset = dataset_klass(subsets=subsets, is_train=False, **asdict(dataset_blueprint.params)) + val_datasets.append(dataset) + # print info info = "" for i, dataset in enumerate(datasets): @@ -566,6 +588,50 @@ def generate_dataset_group_by_blueprint(dataset_group_blueprint: DatasetGroupBlu logger.info(f"{info}") + if len(val_datasets) > 0: + info = "" + + for i, dataset in enumerate(val_datasets): + info += dedent( + f"""\ + [Validation Dataset {i}] + batch_size: {dataset.batch_size} + resolution: {(dataset.width, dataset.height)} + enable_bucket: {dataset.enable_bucket} + network_multiplier: {dataset.network_multiplier} + """ + ) + + if dataset.enable_bucket: + info += indent( + dedent( + f"""\ + min_bucket_reso: {dataset.min_bucket_reso} + max_bucket_reso: {dataset.max_bucket_reso} + bucket_reso_steps: {dataset.bucket_reso_steps} + bucket_no_upscale: {dataset.bucket_no_upscale} + \n""" + ), + " ", + ) + else: + info += "\n" + + for j, subset in enumerate(dataset.subsets): + info += indent( + dedent( + f"""\ + [Subset {j} of Validation Dataset {i}] + image_dir: "{subset.image_dir}" + image_count: {subset.img_count} + num_repeats: {subset.num_repeats} + """ + ), + " ", + ) + + logger.info(f"{info}") + # make buckets first because it determines the length of dataset # and set the same seed for all datasets seed = random.randint(0, 2**31) # actual seed is seed + epoch_no @@ -574,7 +640,15 @@ def generate_dataset_group_by_blueprint(dataset_group_blueprint: DatasetGroupBlu dataset.make_buckets() dataset.set_seed(seed) - return DatasetGroup(datasets) + for i, dataset in enumerate(val_datasets): + logger.info(f"[Validation Dataset {i}]") + dataset.make_buckets() + dataset.set_seed(seed) + + return ( + DatasetGroup(datasets), + DatasetGroup(val_datasets) if val_datasets else None + ) def generate_dreambooth_subsets_config_by_subdirs(train_data_dir: Optional[str] = None, reg_data_dir: Optional[str] = None): diff --git a/library/train_util.py b/library/train_util.py index 72b5b24db..a3fa98e99 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -145,6 +145,17 @@ TEXT_ENCODER_OUTPUTS_CACHE_SUFFIX = "_te_outputs.npz" TEXT_ENCODER_OUTPUTS_CACHE_SUFFIX_SD3 = "_sd3_te.npz" +def split_train_val(paths: List[str], validation_split: float, validation_seed: int) -> List[str]: + if validation_seed is not None: + print(f"Using validation seed: {validation_seed}") + prevstate = random.getstate() + random.seed(validation_seed) + random.shuffle(paths) + random.setstate(prevstate) + else: + random.shuffle(paths) + + return paths[len(paths) - round(len(paths) * validation_split):] class ImageInfo: def __init__(self, image_key: str, num_repeats: int, caption: str, is_reg: bool, absolute_path: str) -> None: @@ -397,6 +408,8 @@ def __init__( token_warmup_min: int, token_warmup_step: Union[float, int], custom_attributes: Optional[Dict[str, Any]] = None, + validation_seed: Optional[int] = None, + validation_split: Optional[float] = 0.0, ) -> None: self.image_dir = image_dir self.alpha_mask = alpha_mask if alpha_mask is not None else False @@ -424,6 +437,9 @@ def __init__( self.img_count = 0 + self.validation_seed = validation_seed + self.validation_split = validation_split + class DreamBoothSubset(BaseSubset): def __init__( @@ -453,6 +469,8 @@ def __init__( token_warmup_min, token_warmup_step, custom_attributes: Optional[Dict[str, Any]] = None, + validation_seed: Optional[int] = None, + validation_split: Optional[float] = 0.0, ) -> None: assert image_dir is not None, "image_dir must be specified / image_dirは指定が必須です" @@ -478,6 +496,8 @@ def __init__( token_warmup_min, token_warmup_step, custom_attributes=custom_attributes, + validation_seed=validation_seed, + validation_split=validation_split, ) self.is_reg = is_reg @@ -518,6 +538,8 @@ def __init__( token_warmup_min, token_warmup_step, custom_attributes: Optional[Dict[str, Any]] = None, + validation_seed: Optional[int] = None, + validation_split: Optional[float] = 0.0, ) -> None: assert metadata_file is not None, "metadata_file must be specified / metadata_fileは指定が必須です" @@ -543,6 +565,8 @@ def __init__( token_warmup_min, token_warmup_step, custom_attributes=custom_attributes, + validation_seed=validation_seed, + validation_split=validation_split, ) self.metadata_file = metadata_file @@ -579,6 +603,8 @@ def __init__( token_warmup_min, token_warmup_step, custom_attributes: Optional[Dict[str, Any]] = None, + validation_seed: Optional[int] = None, + validation_split: Optional[float] = 0.0, ) -> None: assert image_dir is not None, "image_dir must be specified / image_dirは指定が必須です" @@ -604,6 +630,8 @@ def __init__( token_warmup_min, token_warmup_step, custom_attributes=custom_attributes, + validation_seed=validation_seed, + validation_split=validation_split, ) self.conditioning_data_dir = conditioning_data_dir @@ -1799,6 +1827,9 @@ def __init__( bucket_no_upscale: bool, prior_loss_weight: float, debug_dataset: bool, + is_train: bool, + validation_seed: int, + validation_split: float, ) -> None: super().__init__(resolution, network_multiplier, debug_dataset) @@ -1808,6 +1839,9 @@ def __init__( self.size = min(self.width, self.height) # 短いほう self.prior_loss_weight = prior_loss_weight self.latents_cache = None + self.is_train = is_train + self.validation_seed = validation_seed + self.validation_split = validation_split self.enable_bucket = enable_bucket if self.enable_bucket: @@ -1992,6 +2026,9 @@ def load_dreambooth_dir(subset: DreamBoothSubset): ) continue + if self.is_train == False: + img_paths = split_train_val(img_paths, self.validation_split, self.validation_seed) + if subset.is_reg: num_reg_images += subset.num_repeats * len(img_paths) else: @@ -2009,7 +2046,11 @@ def load_dreambooth_dir(subset: DreamBoothSubset): subset.img_count = len(img_paths) self.subsets.append(subset) - logger.info(f"{num_train_images} train images with repeating.") + if self.is_train: + logger.info(f"{num_train_images} train images with repeating.") + else: + logger.info(f"{num_train_images} validation images with repeating.") + self.num_train_images = num_train_images logger.info(f"{num_reg_images} reg images.") @@ -2050,6 +2091,9 @@ def __init__( bucket_reso_steps: int, bucket_no_upscale: bool, debug_dataset: bool, + is_train: bool, + validation_seed: int, + validation_split: float, ) -> None: super().__init__(resolution, network_multiplier, debug_dataset) @@ -2276,6 +2320,9 @@ def __init__( bucket_reso_steps: int, bucket_no_upscale: bool, debug_dataset: float, + is_train: bool, + validation_seed: int, + validation_split: float, ) -> None: super().__init__(resolution, network_multiplier, debug_dataset) @@ -2324,6 +2371,9 @@ def __init__( bucket_no_upscale, 1.0, debug_dataset, + is_train, + validation_seed, + validation_split, ) # config_util等から参照される値をいれておく(若干微妙なのでなんとかしたい) @@ -4887,7 +4937,7 @@ def get_optimizer(args, trainable_params) -> tuple[str, str, object]: import schedulefree as sf except ImportError: raise ImportError("No schedulefree / schedulefreeがインストールされていないようです") - + if optimizer_type == "RAdamScheduleFree".lower(): optimizer_class = sf.RAdamScheduleFree logger.info(f"use RAdamScheduleFree optimizer | {optimizer_kwargs}") diff --git a/train_network.py b/train_network.py index 5e82b307c..776feaf76 100644 --- a/train_network.py +++ b/train_network.py @@ -9,6 +9,7 @@ from multiprocessing import Value from typing import Any, List import toml +import itertools from tqdm import tqdm @@ -114,7 +115,7 @@ def generate_step_logs( ) if ( args.optimizer_type.lower().endswith("ProdigyPlusScheduleFree".lower()) and optimizer is not None - ): + ): logs[f"lr/d*lr/group{i}"] = ( optimizer.param_groups[i]["d"] * optimizer.param_groups[i]["lr"] ) @@ -373,10 +374,11 @@ def train(self, args): } blueprint = blueprint_generator.generate(user_config, args) - train_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) + train_dataset_group, val_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) else: # use arbitrary dataset class train_dataset_group = train_util.load_arbitrary_dataset(args) + val_dataset_group = None current_epoch = Value("i", 0) current_step = Value("i", 0) @@ -398,6 +400,11 @@ def train(self, args): train_dataset_group.is_latent_cacheable() ), "when caching latents, either color_aug or random_crop cannot be used / latentをキャッシュするときはcolor_augとrandom_cropは使えません" + if val_dataset_group is not None: + assert ( + val_dataset_group.is_latent_cacheable() + ), "when caching latents, either color_aug or random_crop cannot be used / latentをキャッシュするときはcolor_augとrandom_cropは使えません" + self.assert_extra_args(args, train_dataset_group) # may change some args # acceleratorを準備する @@ -444,6 +451,8 @@ def train(self, args): vae.eval() train_dataset_group.new_cache_latents(vae, accelerator) + if val_dataset_group is not None: + val_dataset_group.new_cache_latents(vae, accelerator) vae.to("cpu") clean_memory_on_device(accelerator.device) @@ -459,6 +468,8 @@ def train(self, args): if text_encoder_outputs_caching_strategy is not None: strategy_base.TextEncoderOutputsCachingStrategy.set_strategy(text_encoder_outputs_caching_strategy) self.cache_text_encoder_outputs_if_needed(args, accelerator, unet, vae, text_encoders, train_dataset_group, weight_dtype) + if val_dataset_group is not None: + self.cache_text_encoder_outputs_if_needed(args, accelerator, unet, vae, text_encoders, val_dataset_group, weight_dtype) # prepare network net_kwargs = {} @@ -567,6 +578,8 @@ def train(self, args): # strategies are set here because they cannot be referenced in another process. Copy them with the dataset # some strategies can be None train_dataset_group.set_current_strategies() + if val_dataset_group is not None: + val_dataset_group.set_current_strategies() # DataLoaderのプロセス数:0 は persistent_workers が使えないので注意 n_workers = min(args.max_data_loader_n_workers, os.cpu_count()) # cpu_count or max_data_loader_n_workers @@ -580,6 +593,17 @@ def train(self, args): persistent_workers=args.persistent_data_loader_workers, ) + val_dataloader = torch.utils.data.DataLoader( + val_dataset_group if val_dataset_group is not None else [], + batch_size=1, + shuffle=False, + collate_fn=collator, + num_workers=n_workers, + persistent_workers=args.persistent_data_loader_workers, + ) + + cyclic_val_dataloader = itertools.cycle(val_dataloader) + # 学習ステップ数を計算する if args.max_train_epochs is not None: args.max_train_steps = args.max_train_epochs * math.ceil( @@ -592,6 +616,10 @@ def train(self, args): # データセット側にも学習ステップを送信 train_dataset_group.set_max_train_steps(args.max_train_steps) + # Not for sure here. + # if val_dataset_group is not None: + # val_dataset_group.set_max_train_steps(args.max_train_steps) + # lr schedulerを用意する lr_scheduler = train_util.get_scheduler_fix(args, optimizer, accelerator.num_processes) @@ -1064,7 +1092,11 @@ def load_model_hook(models, input_dir): ) loss_recorder = train_util.LossRecorder() + # val_loss_recorder = train_util.LossRecorder() + del train_dataset_group + if val_dataset_group is not None: + del val_dataset_group # callback for step start if hasattr(accelerator.unwrap_model(network), "on_step_start"): @@ -1308,6 +1340,77 @@ def remove_model(old_ckpt_name): ) accelerator.log(logs, step=global_step) + if len(val_dataloader) > 0: + if ((args.validation_every_n_step is not None and global_step % args.validation_every_n_step == 0) or (args.validation_every_n_step is None and step == len(train_dataloader) - 1) or global_step >= args.max_train_steps): + accelerator.print("\nValidating バリデーション処理...") + + total_loss = 0.0 + + with torch.no_grad(): + validation_steps = min(args.max_validation_steps, len(val_dataloader)) if args.max_validation_steps is not None else len(val_dataloader) + for val_step in tqdm(range(validation_steps), desc="Validation Steps バリデーションテップ"): + batch = next(cyclic_val_dataloader) + + timesteps_list = [10, 350, 500, 650, 990] + + val_loss = 0.0 + + for fixed_timesteps in timesteps_list: + with torch.set_grad_enabled(False), accelerator.autocast(): + noise = torch.randn_like(latents, device=latents.device) + b_size = latents.shape[0] + + timesteps = torch.full((b_size,), fixed_timesteps, dtype=torch.long, device="cpu") + timesteps = timesteps.long().to(latents.device) + + noisy_latents = noise_scheduler.add_noise(latents, noise, timesteps) + + with accelerator.autocast(): + noise_pred = self.call_unet( + args, + accelerator, + unet, + noisy_latents.requires_grad_(False), + timesteps, + text_encoder_conds, + batch, + weight_dtype, + ) + + if args.v_parameterization: + # v-parameterization training + target = noise_scheduler.get_velocity(latents, noise, timesteps) + else: + target = noise + + huber_c = train_util.get_huber_threshold_if_needed(args, timesteps, noise_scheduler) + loss = train_util.conditional_loss(noise_pred.float(), target.float(), args.loss_type, "none", huber_c) + if weighting is not None: + loss = loss * weighting + if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): + loss = apply_masked_loss(loss, batch) + loss = loss.mean([1, 2, 3]) + + # min snr gamma, scale v pred loss like noise pred, v pred like loss, debiased estimation etc. + loss = self.post_process_loss(loss, args, timesteps, noise_scheduler) + + loss = loss.mean() # 平均なのでbatch_sizeで割る必要なし + + val_loss += loss / len(timesteps_list) + + total_loss += val_loss.detach().item() + + current_val_loss = total_loss / validation_steps + # val_loss_recorder.add(epoch=epoch, step=global_step, loss=current_val_loss) + + if len(accelerator.trackers) > 0: + logs = {"loss/current_val_loss": current_val_loss} + accelerator.log(logs, step=global_step) + + # avr_loss: float = val_loss_recorder.moving_average + # logs = {"loss/average_val_loss": avr_loss} + # accelerator.log(logs, step=global_step) + if global_step >= args.max_train_steps: break @@ -1496,6 +1599,30 @@ def setup_parser() -> argparse.ArgumentParser: help="initial step number including all epochs, 0 means first step (same as not specifying). overwrites initial_epoch." + " / 初期ステップ数、全エポックを含むステップ数、0で最初のステップ(未指定時と同じ)。initial_epochを上書きする", ) + parser.add_argument( + "--validation_seed", + type=int, + default=None, + help="Validation seed / 検証シード" + ) + parser.add_argument( + "--validation_split", + type=float, + default=0.0, + help="Split for validation images out of the training dataset / 学習画像から検証画像に分割する割合" + ) + parser.add_argument( + "--validation_every_n_step", + type=int, + default=None, + help="Number of train steps for counting validation loss. By default, validation per train epoch is performed / 学習エポックごとに検証を行う場合はNoneを指定する" + ) + parser.add_argument( + "--max_validation_steps", + type=int, + default=None, + help="Number of max validation steps for counting validation loss. By default, validation will run entire validation dataset / 検証データセット全体を検証する場合はNoneを指定する" + ) # parser.add_argument("--loraplus_lr_ratio", default=None, type=float, help="LoRA+ learning rate ratio") # parser.add_argument("--loraplus_unet_lr_ratio", default=None, type=float, help="LoRA+ UNet learning rate ratio") # parser.add_argument("--loraplus_text_encoder_lr_ratio", default=None, type=float, help="LoRA+ text encoder learning rate ratio") From 62164e57925125ed6268983ffa441f1ffecc0e6d Mon Sep 17 00:00:00 2001 From: Hina Chen Date: Fri, 27 Dec 2024 17:28:05 +0800 Subject: [PATCH 388/748] Change val loss calculate method --- train_network.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/train_network.py b/train_network.py index 776feaf76..5fd1b212f 100644 --- a/train_network.py +++ b/train_network.py @@ -1383,16 +1383,20 @@ def remove_model(old_ckpt_name): else: target = noise - huber_c = train_util.get_huber_threshold_if_needed(args, timesteps, noise_scheduler) - loss = train_util.conditional_loss(noise_pred.float(), target.float(), args.loss_type, "none", huber_c) - if weighting is not None: - loss = loss * weighting - if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): - loss = apply_masked_loss(loss, batch) - loss = loss.mean([1, 2, 3]) + # huber_c = train_util.get_huber_threshold_if_needed(args, timesteps, noise_scheduler) + # loss = train_util.conditional_loss(noise_pred.float(), target.float(), args.loss_type, "none", huber_c) + # if weighting is not None: + # loss = loss * weighting + # if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): + # loss = apply_masked_loss(loss, batch) + # loss = loss.mean([1, 2, 3]) # min snr gamma, scale v pred loss like noise pred, v pred like loss, debiased estimation etc. - loss = self.post_process_loss(loss, args, timesteps, noise_scheduler) + # loss = self.post_process_loss(loss, args, timesteps, noise_scheduler) + + loss = torch.nn.functional.mse_loss(noise_pred.float(), target.float(), reduction="none") + loss = loss.mean([1, 2, 3]) + loss = apply_debiased_estimation(loss, timesteps, noise_scheduler, args.v_parameterization) loss = loss.mean() # 平均なのでbatch_sizeで割る必要なし From 64bd5317dc9cb39d69ab7728f36b03157c9b341f Mon Sep 17 00:00:00 2001 From: Hina Chen Date: Sat, 28 Dec 2024 11:42:15 +0800 Subject: [PATCH 389/748] Split val latents/batch and pick up val latents shape size which equal to training batch. --- train_network.py | 45 +++++++++++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 18 deletions(-) diff --git a/train_network.py b/train_network.py index 5fd1b212f..6bce9e964 100644 --- a/train_network.py +++ b/train_network.py @@ -1349,7 +1349,27 @@ def remove_model(old_ckpt_name): with torch.no_grad(): validation_steps = min(args.max_validation_steps, len(val_dataloader)) if args.max_validation_steps is not None else len(val_dataloader) for val_step in tqdm(range(validation_steps), desc="Validation Steps バリデーションテップ"): - batch = next(cyclic_val_dataloader) + + while True: + val_batch = next(cyclic_val_dataloader) + + if "latents" in val_batch and val_batch["latents"] is not None: + val_latents = val_batch["latents"].to(accelerator.device).to(dtype=weight_dtype) + else: + with torch.no_grad(): + # latentに変換 + val_latents = self.encode_images_to_latents(args, accelerator, vae, val_batch["images"].to(vae_dtype)) + val_latents = val_latents.to(dtype=weight_dtype) + + # NaNが含まれていれば警告を表示し0に置き換える + if torch.any(torch.isnan(val_latents)): + accelerator.print("NaN found in validation latents, replacing with zeros") + val_latents = torch.nan_to_num(val_latents, 0, out=val_latents) + + val_latents = self.shift_scale_latents(args, val_latents) + + if val_latents.shape == latents.shape: + break timesteps_list = [10, 350, 500, 650, 990] @@ -1357,13 +1377,13 @@ def remove_model(old_ckpt_name): for fixed_timesteps in timesteps_list: with torch.set_grad_enabled(False), accelerator.autocast(): - noise = torch.randn_like(latents, device=latents.device) - b_size = latents.shape[0] + noise = torch.randn_like(val_latents, device=val_latents.device) + b_size = val_latents.shape[0] timesteps = torch.full((b_size,), fixed_timesteps, dtype=torch.long, device="cpu") - timesteps = timesteps.long().to(latents.device) + timesteps = timesteps.long().to(val_latents.device) - noisy_latents = noise_scheduler.add_noise(latents, noise, timesteps) + noisy_latents = noise_scheduler.add_noise(val_latents, noise, timesteps) with accelerator.autocast(): noise_pred = self.call_unet( @@ -1373,27 +1393,16 @@ def remove_model(old_ckpt_name): noisy_latents.requires_grad_(False), timesteps, text_encoder_conds, - batch, + val_batch, weight_dtype, ) if args.v_parameterization: # v-parameterization training - target = noise_scheduler.get_velocity(latents, noise, timesteps) + target = noise_scheduler.get_velocity(val_latents, noise, timesteps) else: target = noise - # huber_c = train_util.get_huber_threshold_if_needed(args, timesteps, noise_scheduler) - # loss = train_util.conditional_loss(noise_pred.float(), target.float(), args.loss_type, "none", huber_c) - # if weighting is not None: - # loss = loss * weighting - # if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): - # loss = apply_masked_loss(loss, batch) - # loss = loss.mean([1, 2, 3]) - - # min snr gamma, scale v pred loss like noise pred, v pred like loss, debiased estimation etc. - # loss = self.post_process_loss(loss, args, timesteps, noise_scheduler) - loss = torch.nn.functional.mse_loss(noise_pred.float(), target.float(), reduction="none") loss = loss.mean([1, 2, 3]) loss = apply_debiased_estimation(loss, timesteps, noise_scheduler, args.v_parameterization) From cb89e0284e1a25b41401861107159e6b943ee387 Mon Sep 17 00:00:00 2001 From: Hina Chen Date: Sat, 28 Dec 2024 11:57:04 +0800 Subject: [PATCH 390/748] Change val latent loss compare --- train_network.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/train_network.py b/train_network.py index 6bce9e964..7276d5dc0 100644 --- a/train_network.py +++ b/train_network.py @@ -1350,6 +1350,8 @@ def remove_model(old_ckpt_name): validation_steps = min(args.max_validation_steps, len(val_dataloader)) if args.max_validation_steps is not None else len(val_dataloader) for val_step in tqdm(range(validation_steps), desc="Validation Steps バリデーションテップ"): + val_latents = None + while True: val_batch = next(cyclic_val_dataloader) @@ -1371,19 +1373,22 @@ def remove_model(old_ckpt_name): if val_latents.shape == latents.shape: break + if val_latents is not None: + del val_latents + timesteps_list = [10, 350, 500, 650, 990] val_loss = 0.0 for fixed_timesteps in timesteps_list: with torch.set_grad_enabled(False), accelerator.autocast(): - noise = torch.randn_like(val_latents, device=val_latents.device) - b_size = val_latents.shape[0] + noise = torch.randn_like(latents, device=latents.device) + b_size = latents.shape[0] timesteps = torch.full((b_size,), fixed_timesteps, dtype=torch.long, device="cpu") - timesteps = timesteps.long().to(val_latents.device) + timesteps = timesteps.long().to(latents.device) - noisy_latents = noise_scheduler.add_noise(val_latents, noise, timesteps) + noisy_latents = noise_scheduler.add_noise(latents, noise, timesteps) with accelerator.autocast(): noise_pred = self.call_unet( @@ -1399,7 +1404,7 @@ def remove_model(old_ckpt_name): if args.v_parameterization: # v-parameterization training - target = noise_scheduler.get_velocity(val_latents, noise, timesteps) + target = noise_scheduler.get_velocity(latents, noise, timesteps) else: target = noise From 874353296304c753b452511a412472f8a3e4ba09 Mon Sep 17 00:00:00 2001 From: gesen2egee <79357052+gesen2egee@users.noreply.github.com> Date: Sun, 10 Mar 2024 04:37:16 +0800 Subject: [PATCH 391/748] val --- library/config_util.py | 32 +++++++------ library/train_util.py | 20 ++++++-- train_network.py | 104 +++++++++++++++++++++++++++-------------- 3 files changed, 103 insertions(+), 53 deletions(-) diff --git a/library/config_util.py b/library/config_util.py index 1bf7ed955..cb2c5b68f 100644 --- a/library/config_util.py +++ b/library/config_util.py @@ -81,23 +81,24 @@ class ControlNetSubsetParams(BaseSubsetParams): @dataclass class BaseDatasetParams: - tokenizer: Union[CLIPTokenizer, List[CLIPTokenizer]] = None - max_token_length: int = None - resolution: Optional[Tuple[int, int]] = None - debug_dataset: bool = False - validation_seed: Optional[int] = None - validation_split: float = 0.0 + tokenizer: Union[CLIPTokenizer, List[CLIPTokenizer]] = None + max_token_length: int = None + resolution: Optional[Tuple[int, int]] = None + network_multiplier: float = 1.0 + debug_dataset: bool = False + validation_seed: Optional[int] = None + validation_split: float = 0.0 @dataclass class DreamBoothDatasetParams(BaseDatasetParams): - batch_size: int = 1 - enable_bucket: bool = False - min_bucket_reso: int = 256 - max_bucket_reso: int = 1024 - bucket_reso_steps: int = 64 - bucket_no_upscale: bool = False - prior_loss_weight: float = 1.0 - + batch_size: int = 1 + enable_bucket: bool = False + min_bucket_reso: int = 256 + max_bucket_reso: int = 1024 + bucket_reso_steps: int = 64 + bucket_no_upscale: bool = False + prior_loss_weight: float = 1.0 + @dataclass class FineTuningDatasetParams(BaseDatasetParams): batch_size: int = 1 @@ -203,8 +204,9 @@ def __validate_and_convert_scalar_or_twodim(klass, value: Union[float, Sequence] "max_bucket_reso": int, "min_bucket_reso": int, "validation_seed": int, - "validation_split": float, + "validation_split": float, "resolution": functools.partial(__validate_and_convert_scalar_or_twodim.__func__, int), + "network_multiplier": float, } # options handled by argparse but not handled by user config diff --git a/library/train_util.py b/library/train_util.py index 1979207b0..2364d62b3 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -122,6 +122,20 @@ TEXT_ENCODER_OUTPUTS_CACHE_SUFFIX = "_te_outputs.npz" +def split_train_val(paths, is_train, validation_split, validation_seed): + if validation_seed is not None: + print(f"Using validation seed: {validation_seed}") + prevstate = random.getstate() + random.seed(validation_seed) + random.shuffle(paths) + random.setstate(prevstate) + else: + random.shuffle(paths) + + if is_train: + return paths[0:math.ceil(len(paths) * (1 - validation_split))] + else: + return paths[len(paths) - round(len(paths) * validation_split):] def split_train_val(paths, is_train, validation_split, validation_seed): if validation_seed is not None: @@ -1352,7 +1366,6 @@ def __init__( self.is_train = is_train self.validation_split = validation_split self.validation_seed = validation_seed - self.batch_size = batch_size self.size = min(self.width, self.height) # 短いほう self.prior_loss_weight = prior_loss_weight @@ -1405,10 +1418,9 @@ def load_dreambooth_dir(subset: DreamBoothSubset): return [], [] img_paths = glob_images(subset.image_dir, "*") - if self.validation_split > 0.0: - img_paths = split_train_val(img_paths, self.is_train, self.validation_split, self.validation_seed) - print(f"found directory {subset.image_dir} contains {len(img_paths)} image files") + img_paths = split_train_val(img_paths, self.is_train, self.validation_split, self.validation_seed) + logger.info(f"found directory {subset.image_dir} contains {len(img_paths)} image files") # 画像ファイルごとにプロンプトを読み込み、もしあればそちらを使う captions = [] diff --git a/train_network.py b/train_network.py index edd3ff944..48885503f 100644 --- a/train_network.py +++ b/train_network.py @@ -130,7 +130,9 @@ def call_unet(self, args, accelerator, unet, noisy_latents, timesteps, text_cond def sample_images(self, accelerator, args, epoch, global_step, device, vae, tokenizer, text_encoder, unet): train_util.sample_images(accelerator, args, epoch, global_step, device, vae, tokenizer, text_encoder, unet) - def process_batch(self, batch, is_train, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args, train_text_encoder=True): + def process_batch(self, batch, is_train, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args, train_text_encoder=True, timesteps_list=None): + total_loss = 0.0 + with torch.no_grad(): if "latents" in batch and batch["latents"] is not None: latents = batch["latents"].to(accelerator.device) @@ -167,37 +169,40 @@ def process_batch(self, batch, is_train, tokenizers, text_encoders, unet, vae, n args, noise_scheduler, latents ) - # Predict the noise residual - with torch.set_grad_enabled(is_train), accelerator.autocast(): - noise_pred = self.call_unet( - args, accelerator, unet, noisy_latents, timesteps, text_encoder_conds, batch, weight_dtype - ) - - if args.v_parameterization: - # v-parameterization training - target = noise_scheduler.get_velocity(latents, noise, timesteps) - else: - target = noise + # Use input timesteps_list or use described timesteps above + timesteps_list = timesteps_list or [timesteps] + for timesteps in timesteps_list: + # Predict the noise residual + with torch.set_grad_enabled(is_train), accelerator.autocast(): + noise_pred = self.call_unet( + args, accelerator, unet, noisy_latents, timesteps, text_encoder_conds, batch, weight_dtype + ) - loss = torch.nn.functional.mse_loss(noise_pred.float(), target.float(), reduction="none") - loss = loss.mean([1, 2, 3]) + if args.v_parameterization: + # v-parameterization training + target = noise_scheduler.get_velocity(latents, noise, timesteps) + else: + target = noise - loss_weights = batch["loss_weights"].to(accelerator.device) # 各sampleごとのweight - loss = loss * loss_weights + loss = torch.nn.functional.mse_loss(noise_pred.float(), target.float(), reduction="none") + loss = loss.mean([1, 2, 3]) - if args.min_snr_gamma: - loss = apply_snr_weight(loss, timesteps, noise_scheduler, args.min_snr_gamma) - if args.scale_v_pred_loss_like_noise_pred: - loss = scale_v_prediction_loss_like_noise_prediction(loss, timesteps, noise_scheduler) - if args.v_pred_like_loss: - loss = add_v_prediction_like_loss(loss, timesteps, noise_scheduler, args.v_pred_like_loss) - if args.debiased_estimation_loss: - loss = apply_debiased_estimation(loss, timesteps, noise_scheduler) + loss_weights = batch["loss_weights"].to(accelerator.device) # 各sampleごとのweight + loss = loss * loss_weights - loss = loss.mean() # 平均なのでbatch_sizeで割る必要なし + if args.min_snr_gamma: + loss = apply_snr_weight(loss, timesteps, noise_scheduler, args.min_snr_gamma) + if args.scale_v_pred_loss_like_noise_pred: + loss = scale_v_prediction_loss_like_noise_prediction(loss, timesteps, noise_scheduler) + if args.v_pred_like_loss: + loss = add_v_prediction_like_loss(loss, timesteps, noise_scheduler, args.v_pred_like_loss) + if args.debiased_estimation_loss: + loss = apply_debiased_estimation(loss, timesteps, noise_scheduler) - return loss + total_loss += loss.mean() # 平均なのでbatch_sizeで割る必要なし + average_loss = total_loss / len(timesteps_list) + return average_loss def train(self, args): session_id = random.randint(0, 2**32) @@ -283,10 +288,10 @@ def train(self, args): train_dataset_group.is_latent_cacheable() ), "when caching latents, either color_aug or random_crop cannot be used / latentをキャッシュするときはcolor_augとrandom_cropは使えません" if val_dataset_group is not None: - assert ( - val_dataset_group.is_latent_cacheable() - ), "when caching validation latents, either color_aug or random_crop cannot be used / latentをキャッシュするときはcolor_augとrandom_cropは使えません" - + assert ( + val_dataset_group.is_latent_cacheable() + ), "when caching validation latents, either color_aug or random_crop cannot be used / latentをキャッシュするときはcolor_augとrandom_cropは使えません" + self.assert_extra_args(args, train_dataset_group) # acceleratorを準備する @@ -430,6 +435,15 @@ def train(self, args): num_workers=n_workers, persistent_workers=args.persistent_data_loader_workers, ) + + val_dataloader = torch.utils.data.DataLoader( + val_dataset_group if val_dataset_group is not None else [], + shuffle=False, + batch_size=1, + collate_fn=collator, + num_workers=n_workers, + persistent_workers=args.persistent_data_loader_workers, + ) val_dataloader = torch.utils.data.DataLoader( val_dataset_group if val_dataset_group is not None else [], @@ -798,7 +812,6 @@ def train(self, args): loss_recorder = train_util.LossRecorder() val_loss_recorder = train_util.LossRecorder() - del train_dataset_group # callback for step start @@ -848,7 +861,6 @@ def remove_model(old_ckpt_name): on_step_start(text_encoder, unet) is_train = True loss = self.process_batch(batch, is_train, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args, train_text_encoder=train_text_encoder) - accelerator.backward(loss) if accelerator.sync_gradients and args.max_grad_norm != 0.0: params_to_clip = network.get_trainable_params() @@ -900,7 +912,25 @@ def remove_model(old_ckpt_name): if args.logging_dir is not None: logs = self.generate_step_logs(args, current_loss, avr_loss, lr_scheduler, keys_scaled, mean_norm, maximum_norm) accelerator.log(logs, step=global_step) - + + if global_step % 25 == 0: + if len(val_dataloader) > 0: + print("Validating バリデーション処理...") + + with torch.no_grad(): + val_dataloader_iter = iter(val_dataloader) + batch = next(val_dataloader_iter) + is_train = False + loss = self.process_batch(batch, is_train, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args, timesteps_list=[10, 350, 500, 650, 990]) + + current_loss = loss.detach().item() + val_loss_recorder.add(epoch=epoch, step=global_step, loss=current_loss) + + if args.logging_dir is not None: + avr_loss: float = val_loss_recorder.moving_average + logs = {"loss/validation_current": current_loss} + accelerator.log(logs, step=global_step) + if global_step >= args.max_train_steps: break @@ -912,7 +942,7 @@ def remove_model(old_ckpt_name): with torch.no_grad(): for val_step, batch in enumerate(val_dataloader): is_train = False - loss = self.process_batch(batch, is_train, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args) + loss = self.process_batch(batch, is_train, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args, timesteps_list=[10, 350, 500, 650, 990]) current_loss = loss.detach().item() val_loss_recorder.add(epoch=epoch, step=val_step, loss=current_loss) @@ -933,6 +963,12 @@ def remove_model(old_ckpt_name): logs = {"loss/epoch_average": loss_recorder.moving_average} accelerator.log(logs, step=epoch + 1) + if len(val_dataloader) > 0: + if args.logging_dir is not None: + avr_loss: float = val_loss_recorder.moving_average + logs = {"loss/validation_epoch_average": avr_loss} + accelerator.log(logs, step=epoch + 1) + accelerator.wait_for_everyone() # 指定エポックごとにモデルを保存 From 449c1c5c502375713e609ad9e00e747b4013063a Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Thu, 2 Jan 2025 15:59:20 -0500 Subject: [PATCH 392/748] Adding modified train_util and config_util --- library/config_util.py | 1 - library/train_util.py | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/library/config_util.py b/library/config_util.py index cb2c5b68f..727e1a409 100644 --- a/library/config_util.py +++ b/library/config_util.py @@ -84,7 +84,6 @@ class BaseDatasetParams: tokenizer: Union[CLIPTokenizer, List[CLIPTokenizer]] = None max_token_length: int = None resolution: Optional[Tuple[int, int]] = None - network_multiplier: float = 1.0 debug_dataset: bool = False validation_seed: Optional[int] = None validation_split: float = 0.0 diff --git a/library/train_util.py b/library/train_util.py index 2364d62b3..394337397 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -1420,7 +1420,7 @@ def load_dreambooth_dir(subset: DreamBoothSubset): img_paths = glob_images(subset.image_dir, "*") if self.validation_split > 0.0: img_paths = split_train_val(img_paths, self.is_train, self.validation_split, self.validation_seed) - logger.info(f"found directory {subset.image_dir} contains {len(img_paths)} image files") + print(f"found directory {subset.image_dir} contains {len(img_paths)} image files") # 画像ファイルごとにプロンプトを読み込み、もしあればそちらを使う captions = [] From 7470173044ca5b700bc4723709bd9c012e2216f3 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Fri, 3 Jan 2025 01:13:57 -0500 Subject: [PATCH 393/748] Remove defunct code for train_controlnet.py --- train_controlnet.py | 569 -------------------------------------------- 1 file changed, 569 deletions(-) diff --git a/train_controlnet.py b/train_controlnet.py index 09a911a00..365e35c8c 100644 --- a/train_controlnet.py +++ b/train_controlnet.py @@ -6,577 +6,8 @@ logger = logging.getLogger(__name__) -<<<<<<< HEAD -# TODO 他のスクリプトと共通化する -def generate_step_logs(args: argparse.Namespace, current_loss, avr_loss, lr_scheduler): - logs = { - "loss/current": current_loss, - "loss/average": avr_loss, - "lr": lr_scheduler.get_last_lr()[0], - } - - if args.optimizer_type.lower().startswith("DAdapt".lower()): - logs["lr/d*lr"] = lr_scheduler.optimizers[-1].param_groups[0]["d"] * lr_scheduler.optimizers[-1].param_groups[0]["lr"] - - return logs - - -def train(args): - # session_id = random.randint(0, 2**32) - # training_started_at = time.time() - train_util.verify_training_args(args) - train_util.prepare_dataset_args(args, True) - setup_logging(args, reset=True) - - cache_latents = args.cache_latents - use_user_config = args.dataset_config is not None - - if args.seed is None: - args.seed = random.randint(0, 2**32) - set_seed(args.seed) - - tokenizer = train_util.load_tokenizer(args) - - # データセットを準備する - blueprint_generator = BlueprintGenerator(ConfigSanitizer(False, False, True, True)) - if use_user_config: - logger.info(f"Load dataset config from {args.dataset_config}") - user_config = config_util.load_user_config(args.dataset_config) - ignored = ["train_data_dir", "conditioning_data_dir"] - if any(getattr(args, attr) is not None for attr in ignored): - logger.warning( - "ignore following options because config file is found: {0} / 設定ファイルが利用されるため以下のオプションは無視されます: {0}".format( - ", ".join(ignored) - ) - ) - else: - user_config = { - "datasets": [ - { - "subsets": config_util.generate_controlnet_subsets_config_by_subdirs( - args.train_data_dir, - args.conditioning_data_dir, - args.caption_extension, - ) - } - ] - } - - blueprint = blueprint_generator.generate(user_config, args, tokenizer=tokenizer) - train_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) - - current_epoch = Value("i", 0) - current_step = Value("i", 0) - ds_for_collator = train_dataset_group if args.max_data_loader_n_workers == 0 else None - collator = train_util.collator_class(current_epoch, current_step, ds_for_collator) - - if args.debug_dataset: - train_util.debug_dataset(train_dataset_group) - return - if len(train_dataset_group) == 0: - logger.error( - "No data found. Please verify arguments (train_data_dir must be the parent of folders with images) / 画像がありません。引数指定を確認してください(train_data_dirには画像があるフォルダではなく、画像があるフォルダの親フォルダを指定する必要があります)" - ) - return - - if cache_latents: - assert ( - train_dataset_group.is_latent_cacheable() - ), "when caching latents, either color_aug or random_crop cannot be used / latentをキャッシュするときはcolor_augとrandom_cropは使えません" - - # acceleratorを準備する - logger.info("prepare accelerator") - accelerator = train_util.prepare_accelerator(args) - is_main_process = accelerator.is_main_process - - # mixed precisionに対応した型を用意しておき適宜castする - weight_dtype, save_dtype = train_util.prepare_dtype(args) - - # モデルを読み込む - text_encoder, vae, unet, _ = train_util.load_target_model( - args, weight_dtype, accelerator, unet_use_linear_projection_in_v2=True - ) - - # DiffusersのControlNetが使用するデータを準備する - if args.v2: - unet.config = { - "act_fn": "silu", - "attention_head_dim": [5, 10, 20, 20], - "block_out_channels": [320, 640, 1280, 1280], - "center_input_sample": False, - "cross_attention_dim": 1024, - "down_block_types": ["CrossAttnDownBlock2D", "CrossAttnDownBlock2D", "CrossAttnDownBlock2D", "DownBlock2D"], - "downsample_padding": 1, - "dual_cross_attention": False, - "flip_sin_to_cos": True, - "freq_shift": 0, - "in_channels": 4, - "layers_per_block": 2, - "mid_block_scale_factor": 1, - "norm_eps": 1e-05, - "norm_num_groups": 32, - "num_class_embeds": None, - "only_cross_attention": False, - "out_channels": 4, - "sample_size": 96, - "up_block_types": ["UpBlock2D", "CrossAttnUpBlock2D", "CrossAttnUpBlock2D", "CrossAttnUpBlock2D"], - "use_linear_projection": True, - "upcast_attention": True, - "only_cross_attention": False, - "downsample_padding": 1, - "use_linear_projection": True, - "class_embed_type": None, - "num_class_embeds": None, - "resnet_time_scale_shift": "default", - "projection_class_embeddings_input_dim": None, - } - else: - unet.config = { - "act_fn": "silu", - "attention_head_dim": 8, - "block_out_channels": [320, 640, 1280, 1280], - "center_input_sample": False, - "cross_attention_dim": 768, - "down_block_types": ["CrossAttnDownBlock2D", "CrossAttnDownBlock2D", "CrossAttnDownBlock2D", "DownBlock2D"], - "downsample_padding": 1, - "flip_sin_to_cos": True, - "freq_shift": 0, - "in_channels": 4, - "layers_per_block": 2, - "mid_block_scale_factor": 1, - "norm_eps": 1e-05, - "norm_num_groups": 32, - "out_channels": 4, - "sample_size": 64, - "up_block_types": ["UpBlock2D", "CrossAttnUpBlock2D", "CrossAttnUpBlock2D", "CrossAttnUpBlock2D"], - "only_cross_attention": False, - "downsample_padding": 1, - "use_linear_projection": False, - "class_embed_type": None, - "num_class_embeds": None, - "upcast_attention": False, - "resnet_time_scale_shift": "default", - "projection_class_embeddings_input_dim": None, - } - unet.config = SimpleNamespace(**unet.config) - - controlnet = ControlNetModel.from_unet(unet) - - if args.controlnet_model_name_or_path: - filename = args.controlnet_model_name_or_path - if os.path.isfile(filename): - if os.path.splitext(filename)[1] == ".safetensors": - state_dict = load_file(filename) - else: - state_dict = torch.load(filename) - state_dict = model_util.convert_controlnet_state_dict_to_diffusers(state_dict) - controlnet.load_state_dict(state_dict) - elif os.path.isdir(filename): - controlnet = ControlNetModel.from_pretrained(filename) - - # モデルに xformers とか memory efficient attention を組み込む - train_util.replace_unet_modules(unet, args.mem_eff_attn, args.xformers, args.sdpa) - - # 学習を準備する - if cache_latents: - vae.to(accelerator.device, dtype=weight_dtype) - vae.requires_grad_(False) - vae.eval() - with torch.no_grad(): - train_dataset_group.cache_latents( - vae, - args.vae_batch_size, - args.cache_latents_to_disk, - accelerator.is_main_process, - ) - vae.to("cpu") - clean_memory_on_device(accelerator.device) - - accelerator.wait_for_everyone() - - if args.gradient_checkpointing: - controlnet.enable_gradient_checkpointing() - - # 学習に必要なクラスを準備する - accelerator.print("prepare optimizer, data loader etc.") - - trainable_params = controlnet.parameters() - - _, _, optimizer = train_util.get_optimizer(args, trainable_params) - - # dataloaderを準備する - # DataLoaderのプロセス数:0 は persistent_workers が使えないので注意 - n_workers = min(args.max_data_loader_n_workers, os.cpu_count()) # cpu_count or max_data_loader_n_workers - - train_dataloader = torch.utils.data.DataLoader( - train_dataset_group, - batch_size=1, - shuffle=True, - collate_fn=collator, - num_workers=n_workers, - persistent_workers=args.persistent_data_loader_workers, - ) - - # 学習ステップ数を計算する - if args.max_train_epochs is not None: - args.max_train_steps = args.max_train_epochs * math.ceil( - len(train_dataloader) / accelerator.num_processes / args.gradient_accumulation_steps - ) - accelerator.print( - f"override steps. steps for {args.max_train_epochs} epochs is / 指定エポックまでのステップ数: {args.max_train_steps}" - ) - - # データセット側にも学習ステップを送信 - train_dataset_group.set_max_train_steps(args.max_train_steps) - - # lr schedulerを用意する - lr_scheduler = train_util.get_scheduler_fix(args, optimizer, accelerator.num_processes) - - # 実験的機能:勾配も含めたfp16学習を行う モデル全体をfp16にする - if args.full_fp16: - assert ( - args.mixed_precision == "fp16" - ), "full_fp16 requires mixed precision='fp16' / full_fp16を使う場合はmixed_precision='fp16'を指定してください。" - accelerator.print("enable full fp16 training.") - controlnet.to(weight_dtype) - - # acceleratorがなんかよろしくやってくれるらしい - controlnet, optimizer, train_dataloader, lr_scheduler = accelerator.prepare( - controlnet, optimizer, train_dataloader, lr_scheduler - ) - - unet.requires_grad_(False) - text_encoder.requires_grad_(False) - unet.to(accelerator.device) - text_encoder.to(accelerator.device) - - # transform DDP after prepare - controlnet = controlnet.module if isinstance(controlnet, DDP) else controlnet - - controlnet.train() - - if not cache_latents: - vae.requires_grad_(False) - vae.eval() - vae.to(accelerator.device, dtype=weight_dtype) - - # 実験的機能:勾配も含めたfp16学習を行う PyTorchにパッチを当ててfp16でのgrad scaleを有効にする - if args.full_fp16: - train_util.patch_accelerator_for_fp16_training(accelerator) - - # resumeする - train_util.resume_from_local_or_hf_if_specified(accelerator, args) - - # epoch数を計算する - num_update_steps_per_epoch = math.ceil(len(train_dataloader) / args.gradient_accumulation_steps) - num_train_epochs = math.ceil(args.max_train_steps / num_update_steps_per_epoch) - if (args.save_n_epoch_ratio is not None) and (args.save_n_epoch_ratio > 0): - args.save_every_n_epochs = math.floor(num_train_epochs / args.save_n_epoch_ratio) or 1 - - # 学習する - # TODO: find a way to handle total batch size when there are multiple datasets - accelerator.print("running training / 学習開始") - accelerator.print(f" num train images * repeats / 学習画像の数×繰り返し回数: {train_dataset_group.num_train_images}") - accelerator.print(f" num reg images / 正則化画像の数: {train_dataset_group.num_reg_images}") - accelerator.print(f" num batches per epoch / 1epochのバッチ数: {len(train_dataloader)}") - accelerator.print(f" num epochs / epoch数: {num_train_epochs}") - accelerator.print( - f" batch size per device / バッチサイズ: {', '.join([str(d.batch_size) for d in train_dataset_group.datasets])}" - ) - # logger.info(f" total train batch size (with parallel & distributed & accumulation) / 総バッチサイズ(並列学習、勾配合計含む): {total_batch_size}") - accelerator.print(f" gradient accumulation steps / 勾配を合計するステップ数 = {args.gradient_accumulation_steps}") - accelerator.print(f" total optimization steps / 学習ステップ数: {args.max_train_steps}") - - progress_bar = tqdm( - range(args.max_train_steps), - smoothing=0, - disable=not accelerator.is_local_main_process, - desc="steps", - ) - global_step = 0 - - noise_scheduler = DDPMScheduler( - beta_start=0.00085, - beta_end=0.012, - beta_schedule="scaled_linear", - num_train_timesteps=1000, - clip_sample=False, - ) - if accelerator.is_main_process: - init_kwargs = {} - if args.wandb_run_name: - init_kwargs["wandb"] = {"name": args.wandb_run_name} - if args.log_tracker_config is not None: - init_kwargs = toml.load(args.log_tracker_config) - accelerator.init_trackers( - "controlnet_train" if args.log_tracker_name is None else args.log_tracker_name, init_kwargs=init_kwargs - ) - - loss_recorder = train_util.LossRecorder() - del train_dataset_group - - # function for saving/removing - def save_model(ckpt_name, model, force_sync_upload=False): - os.makedirs(args.output_dir, exist_ok=True) - ckpt_file = os.path.join(args.output_dir, ckpt_name) - - accelerator.print(f"\nsaving checkpoint: {ckpt_file}") - - state_dict = model_util.convert_controlnet_state_dict_to_sd(model.state_dict()) - - if save_dtype is not None: - for key in list(state_dict.keys()): - v = state_dict[key] - v = v.detach().clone().to("cpu").to(save_dtype) - state_dict[key] = v - - if os.path.splitext(ckpt_file)[1] == ".safetensors": - from safetensors.torch import save_file - - save_file(state_dict, ckpt_file) - else: - torch.save(state_dict, ckpt_file) - - if args.huggingface_repo_id is not None: - huggingface_util.upload(args, ckpt_file, "/" + ckpt_name, force_sync_upload=force_sync_upload) - - def remove_model(old_ckpt_name): - old_ckpt_file = os.path.join(args.output_dir, old_ckpt_name) - if os.path.exists(old_ckpt_file): - accelerator.print(f"removing old checkpoint: {old_ckpt_file}") - os.remove(old_ckpt_file) - - # For --sample_at_first - train_util.sample_images( - accelerator, args, 0, global_step, accelerator.device, vae, tokenizer, text_encoder, unet, controlnet=controlnet - ) - - # training loop - for epoch in range(num_train_epochs): - if is_main_process: - accelerator.print(f"\nepoch {epoch+1}/{num_train_epochs}") - current_epoch.value = epoch + 1 - - for step, batch in enumerate(train_dataloader): - current_step.value = global_step - with accelerator.accumulate(controlnet): - with torch.no_grad(): - if "latents" in batch and batch["latents"] is not None: - latents = batch["latents"].to(accelerator.device).to(dtype=weight_dtype) - else: - # latentに変換 - latents = vae.encode(batch["images"].to(dtype=weight_dtype)).latent_dist.sample() - latents = latents * 0.18215 - b_size = latents.shape[0] - - input_ids = batch["input_ids"].to(accelerator.device) - encoder_hidden_states = train_util.get_hidden_states(args, input_ids, tokenizer, text_encoder, weight_dtype) - - # Sample noise that we'll add to the latents - noise = torch.randn_like(latents, device=latents.device) - if args.noise_offset: - noise = apply_noise_offset(latents, noise, args.noise_offset, args.adaptive_noise_scale) - elif args.multires_noise_iterations: - noise = pyramid_noise_like( - noise, - latents.device, - args.multires_noise_iterations, - args.multires_noise_discount, - ) - - # Sample a random timestep for each image - timesteps = train_util.get_timesteps(args, 0, noise_scheduler.config.num_train_timesteps, b_size) - huber_c = train_util.get_huber_c(args, noise_scheduler, timesteps.item(), latents.device) - - # Add noise to the latents according to the noise magnitude at each timestep - # (this is the forward diffusion process) - noisy_latents = noise_scheduler.add_noise(latents, noise, timesteps) - - controlnet_image = batch["conditioning_images"].to(dtype=weight_dtype) - - with accelerator.autocast(): - down_block_res_samples, mid_block_res_sample = controlnet( - noisy_latents, - timesteps, - encoder_hidden_states=encoder_hidden_states, - controlnet_cond=controlnet_image, - return_dict=False, - ) - - # Predict the noise residual - noise_pred = unet( - noisy_latents, - timesteps, - encoder_hidden_states, - down_block_additional_residuals=[sample.to(dtype=weight_dtype) for sample in down_block_res_samples], - mid_block_additional_residual=mid_block_res_sample.to(dtype=weight_dtype), - ).sample - - if args.v_parameterization: - # v-parameterization training - target = noise_scheduler.get_velocity(latents, noise, timesteps) - else: - target = noise - - loss = train_util.conditional_loss(noise_pred.float(), target.float(), reduction="none", loss_type=args.loss_type, huber_c=huber_c) - loss = loss.mean([1, 2, 3]) - - loss_weights = batch["loss_weights"] # 各sampleごとのweight - loss = loss * loss_weights - - if args.min_snr_gamma: - loss = apply_snr_weight(loss, timesteps, noise_scheduler, args.min_snr_gamma, args.v_parameterization) - - loss = loss.mean() # 平均なのでbatch_sizeで割る必要なし - - accelerator.backward(loss) - if accelerator.sync_gradients and args.max_grad_norm != 0.0: - params_to_clip = controlnet.parameters() - accelerator.clip_grad_norm_(params_to_clip, args.max_grad_norm) - - optimizer.step() - lr_scheduler.step() - optimizer.zero_grad(set_to_none=True) - - # Checks if the accelerator has performed an optimization step behind the scenes - if accelerator.sync_gradients: - progress_bar.update(1) - global_step += 1 - - train_util.sample_images( - accelerator, - args, - None, - global_step, - accelerator.device, - vae, - tokenizer, - text_encoder, - unet, - controlnet=controlnet, - ) - - # 指定ステップごとにモデルを保存 - if args.save_every_n_steps is not None and global_step % args.save_every_n_steps == 0: - accelerator.wait_for_everyone() - if accelerator.is_main_process: - ckpt_name = train_util.get_step_ckpt_name(args, "." + args.save_model_as, global_step) - save_model( - ckpt_name, - accelerator.unwrap_model(controlnet), - ) - - if args.save_state: - train_util.save_and_remove_state_stepwise(args, accelerator, global_step) - - remove_step_no = train_util.get_remove_step_no(args, global_step) - if remove_step_no is not None: - remove_ckpt_name = train_util.get_step_ckpt_name(args, "." + args.save_model_as, remove_step_no) - remove_model(remove_ckpt_name) - - current_loss = loss.detach().item() - loss_recorder.add(epoch=epoch, step=step, loss=current_loss) - avr_loss: float = loss_recorder.moving_average - logs = {"avr_loss": avr_loss} # , "lr": lr_scheduler.get_last_lr()[0]} - progress_bar.set_postfix(**logs) - - if args.logging_dir is not None: - logs = generate_step_logs(args, current_loss, avr_loss, lr_scheduler) - accelerator.log(logs, step=global_step) - - if global_step >= args.max_train_steps: - break - - if args.logging_dir is not None: - logs = {"loss/epoch": loss_recorder.moving_average} - accelerator.log(logs, step=epoch + 1) - - accelerator.wait_for_everyone() - - # 指定エポックごとにモデルを保存 - if args.save_every_n_epochs is not None: - saving = (epoch + 1) % args.save_every_n_epochs == 0 and (epoch + 1) < num_train_epochs - if is_main_process and saving: - ckpt_name = train_util.get_epoch_ckpt_name(args, "." + args.save_model_as, epoch + 1) - save_model(ckpt_name, accelerator.unwrap_model(controlnet)) - - remove_epoch_no = train_util.get_remove_epoch_no(args, epoch + 1) - if remove_epoch_no is not None: - remove_ckpt_name = train_util.get_epoch_ckpt_name(args, "." + args.save_model_as, remove_epoch_no) - remove_model(remove_ckpt_name) - - if args.save_state: - train_util.save_and_remove_state_on_epoch_end(args, accelerator, epoch + 1) - - train_util.sample_images( - accelerator, - args, - epoch + 1, - global_step, - accelerator.device, - vae, - tokenizer, - text_encoder, - unet, - controlnet=controlnet, - ) - - # end of epoch - if is_main_process: - controlnet = accelerator.unwrap_model(controlnet) - - accelerator.end_training() - - if is_main_process and (args.save_state or args.save_state_on_train_end): - train_util.save_state_on_train_end(args, accelerator) - - # del accelerator # この後メモリを使うのでこれは消す→printで使うので消さずにおく - - if is_main_process: - ckpt_name = train_util.get_last_ckpt_name(args, "." + args.save_model_as) - save_model(ckpt_name, controlnet, force_sync_upload=True) - - logger.info("model saved.") - - -def setup_parser() -> argparse.ArgumentParser: - parser = argparse.ArgumentParser() - - add_logging_arguments(parser) - train_util.add_sd_models_arguments(parser) - train_util.add_dataset_arguments(parser, False, True, True) - train_util.add_training_arguments(parser, False) - deepspeed_utils.add_deepspeed_arguments(parser) - train_util.add_optimizer_arguments(parser) - config_util.add_config_arguments(parser) - custom_train_functions.add_custom_train_arguments(parser) - - parser.add_argument( - "--save_model_as", - type=str, - default="safetensors", - choices=[None, "ckpt", "pt", "safetensors"], - help="format to save the model (default is .safetensors) / モデル保存時の形式(デフォルトはsafetensors)", - ) - parser.add_argument( - "--controlnet_model_name_or_path", - type=str, - default=None, - help="controlnet model name or path / controlnetのモデル名またはパス", - ) - parser.add_argument( - "--conditioning_data_dir", - type=str, - default=None, - help="conditioning data directory / 条件付けデータのディレクトリ", - ) - - return parser - -======= from library import train_util from train_control_net import setup_parser, train ->>>>>>> hina/feature/val-loss if __name__ == "__main__": logger.warning( From 534059dea517d44de387e7d467d64209f9dcfba2 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Fri, 3 Jan 2025 01:18:15 -0500 Subject: [PATCH 394/748] Typos and lingering is_train --- library/config_util.py | 2 +- library/train_util.py | 4 ---- train_network.py | 6 +++--- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/library/config_util.py b/library/config_util.py index a09d2c7ca..418c179dc 100644 --- a/library/config_util.py +++ b/library/config_util.py @@ -535,7 +535,7 @@ def print_info(_datasets): shuffle_caption: {subset.shuffle_caption} keep_tokens: {subset.keep_tokens} caption_dropout_rate: {subset.caption_dropout_rate} - caption_dropout_every_n_epoches: {subset.caption_dropout_every_n_epochs} + caption_dropout_every_n_epochs: {subset.caption_dropout_every_n_epochs} caption_tag_dropout_rate: {subset.caption_tag_dropout_rate} caption_prefix: {subset.caption_prefix} caption_suffix: {subset.caption_suffix} diff --git a/library/train_util.py b/library/train_util.py index bf1b6731c..220d4702b 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -2092,7 +2092,6 @@ def __init__( bucket_reso_steps: int, bucket_no_upscale: bool, debug_dataset: bool, - is_train: bool, validation_seed: int, validation_split: float, ) -> None: @@ -2312,7 +2311,6 @@ class ControlNetDataset(BaseDataset): def __init__( self, subsets: Sequence[ControlNetSubset], - is_train: bool, batch_size: int, resolution, network_multiplier: float, @@ -2362,7 +2360,6 @@ def __init__( self.dreambooth_dataset_delegate = DreamBoothDataset( db_subsets, - is_train, batch_size, resolution, network_multiplier, @@ -2382,7 +2379,6 @@ def __init__( self.batch_size = batch_size self.num_train_images = self.dreambooth_dataset_delegate.num_train_images self.num_reg_images = self.dreambooth_dataset_delegate.num_reg_images - self.is_train = is_train self.validation_split = validation_split self.validation_seed = validation_seed diff --git a/train_network.py b/train_network.py index 99b9717a5..4bcfc0ac7 100644 --- a/train_network.py +++ b/train_network.py @@ -380,11 +380,11 @@ def pick_timesteps_list() -> torch.IntTensor: else: return typing.cast(torch.IntTensor, torch.tensor(timesteps_list).unsqueeze(1).repeat(1, batch_size).to(latents.device)) - choosen_timesteps_list = pick_timesteps_list() + chosen_timesteps_list = pick_timesteps_list() total_loss = torch.zeros((batch_size, 1)).to(latents.device) # Use input timesteps_list or use described timesteps above - for fixed_timestep in choosen_timesteps_list: + for fixed_timestep in chosen_timesteps_list: fixed_timestep = typing.cast(torch.IntTensor, fixed_timestep) # Predict the noise residual @@ -447,7 +447,7 @@ def pick_timesteps_list() -> torch.IntTensor: total_loss += loss - return total_loss / len(choosen_timesteps_list) + return total_loss / len(chosen_timesteps_list) def train(self, args): session_id = random.randint(0, 2**32) From c8c3569df292109fe3be4d209c9f6131afe2ba5f Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Fri, 3 Jan 2025 01:26:45 -0500 Subject: [PATCH 395/748] Cleanup order, types, print to logger --- library/config_util.py | 7 +++---- library/train_util.py | 6 +++--- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/library/config_util.py b/library/config_util.py index 418c179dc..5a4d3aa2d 100644 --- a/library/config_util.py +++ b/library/config_util.py @@ -485,7 +485,7 @@ def generate_dataset_group_by_blueprint(dataset_group_blueprint: DatasetGroupBlu dataset = dataset_klass(subsets=subsets, **asdict(dataset_blueprint.params)) datasets.append(dataset) - val_datasets:List[Union[DreamBoothDataset, FineTuningDataset, ControlNetDataset]] = [] + val_datasets: List[Union[DreamBoothDataset, FineTuningDataset, ControlNetDataset]] = [] for dataset_blueprint in dataset_group_blueprint.datasets: if dataset_blueprint.params.validation_split <= 0.0: continue @@ -503,7 +503,6 @@ def generate_dataset_group_by_blueprint(dataset_group_blueprint: DatasetGroupBlu dataset = dataset_klass(subsets=subsets, **asdict(dataset_blueprint.params)) val_datasets.append(dataset) - # print info def print_info(_datasets): info = "" for i, dataset in enumerate(_datasets): @@ -565,7 +564,7 @@ def print_info(_datasets): print_info(datasets) if len(val_datasets) > 0: - print("Validation dataset") + logger.info("Validation dataset") print_info(val_datasets) if len(val_datasets) > 0: @@ -610,7 +609,7 @@ def print_info(_datasets): " ", ) - logger.info(f"{info}") + logger.info(info) # make buckets first because it determines the length of dataset # and set the same seed for all datasets diff --git a/library/train_util.py b/library/train_util.py index 220d4702b..782f57e8f 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -1833,9 +1833,9 @@ def __init__( bucket_reso_steps: int, bucket_no_upscale: bool, prior_loss_weight: float, + debug_dataset: bool, validation_split: float, validation_seed: Optional[int], - debug_dataset, ) -> None: super().__init__(resolution, network_multiplier, debug_dataset) @@ -2319,9 +2319,9 @@ def __init__( max_bucket_reso: int, bucket_reso_steps: int, bucket_no_upscale: bool, + debug_dataset: bool, validation_split: float, validation_seed: Optional[int], - debug_dataset: float, ) -> None: super().__init__(resolution, network_multiplier, debug_dataset) @@ -2369,9 +2369,9 @@ def __init__( bucket_reso_steps, bucket_no_upscale, 1.0, + debug_dataset, validation_split, validation_seed, - debug_dataset ) # config_util等から参照される値をいれておく(若干微妙なのでなんとかしたい) From fbfc2753eb7fa57724eb525ee65d851b5e80b8ea Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Fri, 3 Jan 2025 01:53:12 -0500 Subject: [PATCH 396/748] Update text for train/reg with repeats --- library/train_util.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index 782f57e8f..77a6a9f9a 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -2050,11 +2050,11 @@ def load_dreambooth_dir(subset: DreamBoothSubset): subset.img_count = len(img_paths) self.subsets.append(subset) - logger.info(f"{num_train_images} images with repeating.") + logger.info(f"{num_train_images} train images with repeats.") self.num_train_images = num_train_images - logger.info(f"{num_reg_images} reg images.") + logger.info(f"{num_reg_images} reg images with repeats.") if num_train_images < num_reg_images: logger.warning("some of reg images are not used / 正則化画像の数が多いので、一部使用されない正則化画像があります") From 58bfa36d0275d864d5a2d64c51632e808f789ddd Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Fri, 3 Jan 2025 02:00:28 -0500 Subject: [PATCH 397/748] Add seed help clarifying info --- train_network.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/train_network.py b/train_network.py index 4bcfc0ac7..7d064d210 100644 --- a/train_network.py +++ b/train_network.py @@ -1639,7 +1639,7 @@ def setup_parser() -> argparse.ArgumentParser: "--validation_seed", type=int, default=None, - help="Validation seed / 検証シード" + help="Validation seed for shuffling validation dataset, training `--seed` used otherwise / 検証シード" ) parser.add_argument( "--validation_split", From 6604b36044a83f3531faed508096f3e6bfe48fc9 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Fri, 3 Jan 2025 02:04:59 -0500 Subject: [PATCH 398/748] Remove duplicate assignment --- library/train_util.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index 77a6a9f9a..3710c865d 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -86,8 +86,6 @@ import library.deepspeed_utils as deepspeed_utils from library.utils import setup_logging, pil_resize - - setup_logging() import logging @@ -1841,8 +1839,6 @@ def __init__( assert resolution is not None, f"resolution is required / resolution(解像度)指定は必須です" - self.validation_split = validation_split - self.validation_seed = validation_seed self.batch_size = batch_size self.size = min(self.width, self.height) # 短いほう self.prior_loss_weight = prior_loss_weight From 0522070d197d92745dbdb408d74c9c3f869bff76 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Fri, 3 Jan 2025 15:20:25 -0500 Subject: [PATCH 399/748] Fix training, validation split, revert to using upstream implemenation --- library/config_util.py | 67 +++----------- library/custom_train_functions.py | 6 +- library/strategy_sd.py | 2 +- library/train_util.py | 143 +++++++++++++++++------------- train_network.py | 94 ++++++++++++-------- 5 files changed, 152 insertions(+), 160 deletions(-) diff --git a/library/config_util.py b/library/config_util.py index 5a4d3aa2d..63d28c969 100644 --- a/library/config_util.py +++ b/library/config_util.py @@ -482,7 +482,7 @@ def generate_dataset_group_by_blueprint(dataset_group_blueprint: DatasetGroupBlu dataset_klass = FineTuningDataset subsets = [subset_klass(**asdict(subset_blueprint.params)) for subset_blueprint in dataset_blueprint.subsets] - dataset = dataset_klass(subsets=subsets, **asdict(dataset_blueprint.params)) + dataset = dataset_klass(subsets=subsets, is_training_dataset=True, **asdict(dataset_blueprint.params)) datasets.append(dataset) val_datasets: List[Union[DreamBoothDataset, FineTuningDataset, ControlNetDataset]] = [] @@ -500,16 +500,16 @@ def generate_dataset_group_by_blueprint(dataset_group_blueprint: DatasetGroupBlu dataset_klass = FineTuningDataset subsets = [subset_klass(**asdict(subset_blueprint.params)) for subset_blueprint in dataset_blueprint.subsets] - dataset = dataset_klass(subsets=subsets, **asdict(dataset_blueprint.params)) + dataset = dataset_klass(subsets=subsets, is_training_dataset=False, **asdict(dataset_blueprint.params)) val_datasets.append(dataset) - def print_info(_datasets): + def print_info(_datasets, dataset_type: str): info = "" for i, dataset in enumerate(_datasets): is_dreambooth = isinstance(dataset, DreamBoothDataset) is_controlnet = isinstance(dataset, ControlNetDataset) info += dedent(f"""\ - [Dataset {i}] + [{dataset_type} {i}] batch_size: {dataset.batch_size} resolution: {(dataset.width, dataset.height)} enable_bucket: {dataset.enable_bucket} @@ -527,7 +527,7 @@ def print_info(_datasets): for j, subset in enumerate(dataset.subsets): info += indent(dedent(f"""\ - [Subset {j} of Dataset {i}] + [Subset {j} of {dataset_type} {i}] image_dir: "{subset.image_dir}" image_count: {subset.img_count} num_repeats: {subset.num_repeats} @@ -544,8 +544,8 @@ def print_info(_datasets): random_crop: {subset.random_crop} token_warmup_min: {subset.token_warmup_min}, token_warmup_step: {subset.token_warmup_step}, - alpha_mask: {subset.alpha_mask} - custom_attributes: {subset.custom_attributes} + alpha_mask: {subset.alpha_mask} + custom_attributes: {subset.custom_attributes} """), " ") if is_dreambooth: @@ -561,67 +561,22 @@ def print_info(_datasets): logger.info(info) - print_info(datasets) + print_info(datasets, "Dataset") if len(val_datasets) > 0: - logger.info("Validation dataset") - print_info(val_datasets) - - if len(val_datasets) > 0: - info = "" - - for i, dataset in enumerate(val_datasets): - info += dedent( - f"""\ - [Validation Dataset {i}] - batch_size: {dataset.batch_size} - resolution: {(dataset.width, dataset.height)} - enable_bucket: {dataset.enable_bucket} - network_multiplier: {dataset.network_multiplier} - """ - ) - - if dataset.enable_bucket: - info += indent( - dedent( - f"""\ - min_bucket_reso: {dataset.min_bucket_reso} - max_bucket_reso: {dataset.max_bucket_reso} - bucket_reso_steps: {dataset.bucket_reso_steps} - bucket_no_upscale: {dataset.bucket_no_upscale} - \n""" - ), - " ", - ) - else: - info += "\n" - - for j, subset in enumerate(dataset.subsets): - info += indent( - dedent( - f"""\ - [Subset {j} of Validation Dataset {i}] - image_dir: "{subset.image_dir}" - image_count: {subset.img_count} - num_repeats: {subset.num_repeats} - """ - ), - " ", - ) - - logger.info(info) + print_info(val_datasets, "Validation Dataset") # make buckets first because it determines the length of dataset # and set the same seed for all datasets seed = random.randint(0, 2**31) # actual seed is seed + epoch_no for i, dataset in enumerate(datasets): - logger.info(f"[Dataset {i}]") + logger.info(f"[Prepare dataset {i}]") dataset.make_buckets() dataset.set_seed(seed) for i, dataset in enumerate(val_datasets): - logger.info(f"[Validation Dataset {i}]") + logger.info(f"[Prepare validation dataset {i}]") dataset.make_buckets() dataset.set_seed(seed) diff --git a/library/custom_train_functions.py b/library/custom_train_functions.py index 9a7c21a3e..ad3e69ffb 100644 --- a/library/custom_train_functions.py +++ b/library/custom_train_functions.py @@ -455,7 +455,7 @@ def get_weighted_text_embeddings( # https://wandb.ai/johnowhitaker/multires_noise/reports/Multi-Resolution-Noise-for-Diffusion-Model-Training--VmlldzozNjYyOTU2 -def pyramid_noise_like(noise, device, iterations=6, discount=0.4): +def pyramid_noise_like(noise, device, iterations=6, discount=0.4) -> torch.FloatTensor: b, c, w, h = noise.shape # EDIT: w and h get over-written, rename for a different variant! u = torch.nn.Upsample(size=(w, h), mode="bilinear").to(device) for i in range(iterations): @@ -468,7 +468,7 @@ def pyramid_noise_like(noise, device, iterations=6, discount=0.4): # https://www.crosslabs.org//blog/diffusion-with-offset-noise -def apply_noise_offset(latents, noise, noise_offset, adaptive_noise_scale): +def apply_noise_offset(latents, noise, noise_offset, adaptive_noise_scale) -> torch.FloatTensor: if noise_offset is None: return noise if adaptive_noise_scale is not None: @@ -484,7 +484,7 @@ def apply_noise_offset(latents, noise, noise_offset, adaptive_noise_scale): return noise -def apply_masked_loss(loss, batch): +def apply_masked_loss(loss, batch) -> torch.FloatTensor: if "conditioning_images" in batch: # conditioning image is -1 to 1. we need to convert it to 0 to 1 mask_image = batch["conditioning_images"].to(dtype=loss.dtype)[:, 0].unsqueeze(1) # use R channel diff --git a/library/strategy_sd.py b/library/strategy_sd.py index d0a3a68bf..a44fc4092 100644 --- a/library/strategy_sd.py +++ b/library/strategy_sd.py @@ -40,7 +40,7 @@ def tokenize(self, text: Union[str, List[str]]) -> List[torch.Tensor]: text = [text] if isinstance(text, str) else text return [torch.stack([self._get_input_ids(self.tokenizer, t, self.max_length) for t in text], dim=0)] - def tokenize_with_weights(self, text: str | List[str]) -> Tuple[List[torch.Tensor]]: + def tokenize_with_weights(self, text: str | List[str]) -> Tuple[List[torch.Tensor], List[torch.Tensor]]: text = [text] if isinstance(text, str) else text tokens_list = [] weights_list = [] diff --git a/library/train_util.py b/library/train_util.py index 3710c865d..0f16a4f31 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -146,7 +146,15 @@ TEXT_ENCODER_OUTPUTS_CACHE_SUFFIX = "_te_outputs.npz" TEXT_ENCODER_OUTPUTS_CACHE_SUFFIX_SD3 = "_sd3_te.npz" -def split_train_val(paths: List[str], is_train: bool, validation_split: float, validation_seed: int) -> List[str]: +def split_train_val(paths: List[str], is_training_dataset: bool, validation_split: float, validation_seed: int) -> List[str]: + """ + Split the dataset into train and validation + + Shuffle the dataset based on the validation_seed or the current random seed. + For example if the split of 0.2 of 100 images. + [0:79] = 80 training images + [80:] = 20 validation images + """ if validation_seed is not None: print(f"Using validation seed: {validation_seed}") prevstate = random.getstate() @@ -156,9 +164,12 @@ def split_train_val(paths: List[str], is_train: bool, validation_split: float, v else: random.shuffle(paths) - if is_train: + # Split the dataset between training and validation + if is_training_dataset: + # Training dataset we split to the first part return paths[0:math.ceil(len(paths) * (1 - validation_split))] else: + # Validation dataset we split to the second part return paths[len(paths) - round(len(paths) * validation_split):] @@ -1822,6 +1833,7 @@ class DreamBoothDataset(BaseDataset): def __init__( self, subsets: Sequence[DreamBoothSubset], + is_training_dataset: bool, batch_size: int, resolution, network_multiplier: float, @@ -1843,6 +1855,7 @@ def __init__( self.size = min(self.width, self.height) # 短いほう self.prior_loss_weight = prior_loss_weight self.latents_cache = None + self.is_training_dataset = is_training_dataset self.validation_seed = validation_seed self.validation_split = validation_split @@ -1952,6 +1965,9 @@ def load_dreambooth_dir(subset: DreamBoothSubset): size_set_count += 1 logger.info(f"set image size from cache files: {size_set_count}/{len(img_paths)}") + if self.validation_split > 0.0: + img_paths = split_train_val(img_paths, self.is_training_dataset, self.validation_split, self.validation_seed) + logger.info(f"found directory {subset.image_dir} contains {len(img_paths)} image files") if use_cached_info_for_subset: @@ -2046,7 +2062,8 @@ def load_dreambooth_dir(subset: DreamBoothSubset): subset.img_count = len(img_paths) self.subsets.append(subset) - logger.info(f"{num_train_images} train images with repeats.") + images_split_name = "train" if self.is_training_dataset else "validation" + logger.info(f"{num_train_images} {images_split_name} images with repeats.") self.num_train_images = num_train_images @@ -2411,8 +2428,12 @@ def __init__( conditioning_img_paths = [os.path.abspath(p) for p in conditioning_img_paths] # normalize path extra_imgs.extend([p for p in conditioning_img_paths if os.path.splitext(p)[0] not in cond_imgs_with_pair]) - assert len(missing_imgs) == 0, f"missing conditioning data for {len(missing_imgs)} images: {missing_imgs}" - assert len(extra_imgs) == 0, f"extra conditioning data for {len(extra_imgs)} images: {extra_imgs}" + assert ( + len(missing_imgs) == 0 + ), f"missing conditioning data for {len(missing_imgs)} images / 制御用画像が見つかりませんでした: {missing_imgs}" + assert ( + len(extra_imgs) == 0 + ), f"extra conditioning data for {len(extra_imgs)} images / 余分な制御用画像があります: {extra_imgs}" self.conditioning_image_transforms = IMAGE_TRANSFORMS @@ -4586,7 +4607,6 @@ def read_config_from_file(args: argparse.Namespace, parser: argparse.ArgumentPar config_args = argparse.Namespace(**ignore_nesting_dict) args = parser.parse_args(namespace=config_args) args.config_file = os.path.splitext(args.config_file)[0] - logger.info(args.config_file) return args @@ -5880,55 +5900,35 @@ def save_sd_model_on_train_end_common( huggingface_util.upload(args, out_dir, "/" + model_name, force_sync_upload=True) -def get_random_timesteps(args, min_timestep: int, max_timestep: int, batch_size: int, device: torch.device) -> torch.IntTensor: - """ - Get a random timestep between the min and max timesteps - Can error (NotImplementedError) if the loss type is not supported - """ - # TODO: if a huber loss is selected, it will use constant timesteps for each batch - # as. In the future there may be a smarter way - if args.loss_type == "huber" or args.loss_type == "smooth_l1": - timesteps = torch.randint(min_timestep, max_timestep, (1,), device="cpu") - timesteps = timesteps.repeat(batch_size).to(device) - elif args.loss_type == "l2": - timesteps = torch.randint(min_timestep, max_timestep, (batch_size,), device=device) - else: - raise NotImplementedError(f"Unknown loss type {args.loss_type}") - - return typing.cast(torch.IntTensor, timesteps) - +def get_timesteps(min_timestep: int, max_timestep: int, b_size: int, device: torch.device = torch.device("cpu")) -> torch.IntTensor: + timesteps = torch.randint(min_timestep, max_timestep, (b_size,), device=device) + return timesteps -def get_huber_c(args, noise_scheduler: DDPMScheduler, timesteps: torch.IntTensor) -> Optional[float]: - """ - Calculate the Huber convolution (huber_c) value - Huber loss is a loss function used in robust regression, that is less sensitive - to outliers in data than the squared error loss. - https://en.wikipedia.org/wiki/Huber_loss - """ - if args.loss_type == "huber" or args.loss_type == "smooth_l1": - if args.huber_schedule == "exponential": - alpha = -math.log(args.huber_c) / noise_scheduler.config.get('num_train_timesteps', 1000) - huber_c = math.exp(-alpha * timesteps.item()) - elif args.huber_schedule == "snr": - if not hasattr(noise_scheduler, "alphas_cumprod"): - raise NotImplementedError("Huber schedule 'snr' is not supported with the current model.") - alphas_cumprod = noise_scheduler.alphas_cumprod.index_select(0, timesteps) - sigmas = ((1.0 - alphas_cumprod) / alphas_cumprod) ** 0.5 - huber_c = (1 - args.huber_c) / (1 + sigmas) ** 2 + args.huber_c - elif args.huber_schedule == "constant": - huber_c = args.huber_c - else: - raise NotImplementedError(f"Unknown Huber loss schedule {args.huber_schedule}!") - elif args.loss_type == "l2": +def get_huber_threshold_if_needed(args, timesteps: torch.Tensor, noise_scheduler) -> Optional[torch.Tensor]: + if not (args.loss_type == "huber" or args.loss_type == "smooth_l1"): return None + + b_size = timesteps.shape[0] + if args.huber_schedule == "exponential": + alpha = -math.log(args.huber_c) / noise_scheduler.config.num_train_timesteps + result = torch.exp(-alpha * timesteps) * args.huber_scale + elif args.huber_schedule == "snr": + if not hasattr(noise_scheduler, "alphas_cumprod"): + raise NotImplementedError("Huber schedule 'snr' is not supported with the current model.") + alphas_cumprod = torch.index_select(noise_scheduler.alphas_cumprod, 0, timesteps.cpu()) + sigmas = ((1.0 - alphas_cumprod) / alphas_cumprod) ** 0.5 + result = (1 - args.huber_c) / (1 + sigmas) ** 2 + args.huber_c + result = result.to(timesteps.device) + elif args.huber_schedule == "constant": + result = torch.full((b_size,), args.huber_c * args.huber_scale, device=timesteps.device) else: - raise NotImplementedError(f"Unknown loss type {args.loss_type}") + raise NotImplementedError(f"Unknown Huber loss schedule {args.huber_schedule}!") - return huber_c + return result -def modify_noise(args, noise: torch.Tensor, latents: torch.Tensor): +def modify_noise(args, noise: torch.Tensor, latents: torch.Tensor) -> torch.FloatTensor: """ Apply noise modifications like noise offset and multires noise """ @@ -5964,27 +5964,44 @@ def make_random_timesteps(args, noise_scheduler: DDPMScheduler, batch_size: int, max_timestep = noise_scheduler.config.get('num_train_timesteps', 1000) if args.max_timestep is None else args.max_timestep # Sample a random timestep for each image - timesteps = get_random_timesteps(args, min_timestep, max_timestep, batch_size, device) + timesteps = get_timesteps(min_timestep, max_timestep, batch_size, device) return timesteps -def get_noise_noisy_latents_and_timesteps(args, noise_scheduler: DDPMScheduler, latents: torch.FloatTensor) -> Tuple[torch.FloatTensor, torch.FloatTensor, torch.IntTensor, Optional[float]]: - """ - Unified noise, noisy_latents, timesteps and huber loss convolution calculations - """ - batch_size = latents.shape[0] +def get_noise_noisy_latents_and_timesteps(args, noise_scheduler, latents: torch.FloatTensor) -> Tuple[torch.FloatTensor, torch.FloatTensor, torch.IntTensor]: + # Sample noise that we'll add to the latents + noise = torch.randn_like(latents, device=latents.device) + if args.noise_offset: + if args.noise_offset_random_strength: + noise_offset = torch.rand(1, device=latents.device) * args.noise_offset + else: + noise_offset = args.noise_offset + noise = custom_train_functions.apply_noise_offset(latents, noise, noise_offset, args.adaptive_noise_scale) + if args.multires_noise_iterations: + noise = custom_train_functions.pyramid_noise_like( + noise, latents.device, args.multires_noise_iterations, args.multires_noise_discount + ) + + # Sample a random timestep for each image + b_size = latents.shape[0] min_timestep = 0 if args.min_timestep is None else args.min_timestep - max_timestep = noise_scheduler.config.get("num_train_timesteps", 1000) if args.max_timestep is None else args.max_timestep + max_timestep = noise_scheduler.config.num_train_timesteps if args.max_timestep is None else args.max_timestep - # A random timestep for each image in the batch - timesteps = get_random_timesteps(args, min_timestep, max_timestep, batch_size, latents.device) - huber_c = get_huber_c(args, noise_scheduler, timesteps) + timesteps = get_timesteps(min_timestep, max_timestep, b_size, latents.device) - noise = make_noise(args, latents) - noisy_latents = get_noisy_latents(args, noise, noise_scheduler, latents, timesteps) + # Add noise to the latents according to the noise magnitude at each timestep + # (this is the forward diffusion process) + if args.ip_noise_gamma: + if args.ip_noise_gamma_random_strength: + strength = torch.rand(1, device=latents.device) * args.ip_noise_gamma + else: + strength = args.ip_noise_gamma + noisy_latents = noise_scheduler.add_noise(latents, noise + strength * torch.randn_like(latents), timesteps) + else: + noisy_latents = noise_scheduler.add_noise(latents, noise, timesteps) - return noise, noisy_latents, timesteps, huber_c + return noise, noisy_latents, timesteps def get_noisy_latents(args, noise: torch.FloatTensor, noise_scheduler: DDPMScheduler, latents: torch.FloatTensor, timesteps: torch.IntTensor) -> torch.FloatTensor: @@ -6015,6 +6032,8 @@ def conditional_loss( elif loss_type == "l1": loss = torch.nn.functional.l1_loss(model_pred, target, reduction=reduction) elif loss_type == "huber": + if huber_c is None: + raise NotImplementedError("huber_c not implemented correctly") huber_c = huber_c.view(-1, 1, 1, 1) loss = 2 * huber_c * (torch.sqrt((model_pred - target) ** 2 + huber_c**2) - huber_c) if reduction == "mean": @@ -6022,6 +6041,8 @@ def conditional_loss( elif reduction == "sum": loss = torch.sum(loss) elif loss_type == "smooth_l1": + if huber_c is None: + raise NotImplementedError("huber_c not implemented correctly") huber_c = huber_c.view(-1, 1, 1, 1) loss = 2 * (torch.sqrt((model_pred - target) ** 2 + huber_c**2) - huber_c) if reduction == "mean": diff --git a/train_network.py b/train_network.py index 7d064d210..f870734fd 100644 --- a/train_network.py +++ b/train_network.py @@ -205,10 +205,10 @@ def get_noise_scheduler(self, args: argparse.Namespace, device: torch.device) -> custom_train_functions.fix_noise_scheduler_betas_for_zero_terminal_snr(noise_scheduler) return noise_scheduler - def encode_images_to_latents(self, args, accelerator, vae, images): + def encode_images_to_latents(self, args, vae: AutoencoderKL, images: torch.FloatTensor) -> torch.FloatTensor: return vae.encode(images).latent_dist.sample() - def shift_scale_latents(self, args, latents): + def shift_scale_latents(self, args, latents: torch.FloatTensor) -> torch.FloatTensor: return latents * self.vae_scale_factor def get_noise_pred_and_target( @@ -280,7 +280,7 @@ def get_noise_pred_and_target( return noise_pred, target, timesteps, None - def post_process_loss(self, loss, args, timesteps, noise_scheduler): + def post_process_loss(self, loss, args, timesteps: torch.IntTensor, noise_scheduler) -> torch.FloatTensor: if args.min_snr_gamma: loss = apply_snr_weight(loss, timesteps, noise_scheduler, args.min_snr_gamma, args.v_parameterization) if args.scale_v_pred_loss_like_noise_pred: @@ -317,20 +317,21 @@ def on_step_start(self, args, accelerator, network, text_encoders, unet, batch, # endregion - def process_batch(self, batch, tokenizers, text_encoders, unet, vae: AutoencoderKL, noise_scheduler, vae_dtype, weight_dtype, accelerator, args, text_encoding_strategy: strategy_sd.SdTextEncodingStrategy, tokenize_strategy: strategy_sd.SdTokenizeStrategy, is_train=True, train_text_encoder=True, train_unet=True, timesteps_list: Optional[List[Number]]=None) -> torch.Tensor: + def process_batch(self, batch, tokenizers, text_encoders, unet, network, vae: AutoencoderKL, noise_scheduler, vae_dtype, weight_dtype, accelerator, args, text_encoding_strategy: strategy_sd.SdTextEncodingStrategy, tokenize_strategy: strategy_sd.SdTokenizeStrategy, is_train=True, train_text_encoder=True, train_unet=True, timesteps_list: Optional[List[Number]]=None) -> torch.Tensor: with torch.no_grad(): if "latents" in batch and batch["latents"] is not None: - latents: torch.Tensor = typing.cast(torch.FloatTensor, batch["latents"].to(accelerator.device)) + latents = typing.cast(torch.FloatTensor, batch["latents"].to(accelerator.device)) else: # latentに変換 - latents: torch.Tensor = typing.cast(torch.FloatTensor, typing.cast(AutoencoderKLOutput, vae.encode(batch["images"].to(accelerator.device, dtype=vae_dtype))).latent_dist.sample()) + latents = self.encode_images_to_latents(args, vae, batch["images"].to(accelerator.device, dtype=vae_dtype)) # NaNが含まれていれば警告を表示し0に置き換える if torch.any(torch.isnan(latents)): accelerator.print("NaN found in latents, replacing with zeros") - latents = typing.cast(torch.FloatTensor, torch.where(torch.isnan(latents), torch.zeros_like(latents), latents)) - latents = typing.cast(torch.FloatTensor, latents * self.vae_scale_factor) + latents = typing.cast(torch.FloatTensor, torch.nan_to_num(latents, 0, out=latents)) + + latents = self.shift_scale_latents(args, latents) text_encoder_conds = [] @@ -384,22 +385,36 @@ def pick_timesteps_list() -> torch.IntTensor: total_loss = torch.zeros((batch_size, 1)).to(latents.device) # Use input timesteps_list or use described timesteps above - for fixed_timestep in chosen_timesteps_list: - fixed_timestep = typing.cast(torch.IntTensor, fixed_timestep) + for fixed_timesteps in chosen_timesteps_list: + fixed_timesteps = typing.cast(torch.IntTensor, fixed_timesteps) # Predict the noise residual # and add noise to the latents # with noise offset and/or multires noise if specified - noisy_latents = train_util.get_noisy_latents(args, noise, noise_scheduler, latents, fixed_timestep) + noisy_latents = train_util.get_noisy_latents(args, noise, noise_scheduler, latents, fixed_timesteps) + + # ensure the hidden state will require grad + if args.gradient_checkpointing: + for x in noisy_latents: + x.requires_grad_(True) + for t in text_encoder_conds: + t.requires_grad_(True) with torch.set_grad_enabled(is_train and train_unet), accelerator.autocast(): noise_pred = self.call_unet( - args, accelerator, unet, noisy_latents.requires_grad_(train_unet), fixed_timestep, text_encoder_conds, batch, weight_dtype + args, + accelerator, + unet, + noisy_latents.requires_grad_(train_unet), + fixed_timesteps, + text_encoder_conds, + batch, + weight_dtype, ) if args.v_parameterization: # v-parameterization training - target = noise_scheduler.get_velocity(latents, noise, fixed_timestep) + target = noise_scheduler.get_velocity(latents, noise, fixed_timesteps) else: target = noise @@ -418,7 +433,7 @@ def pick_timesteps_list() -> torch.IntTensor: accelerator, unet, noisy_latents, - timesteps, + fixed_timesteps, text_encoder_conds, batch, weight_dtype, @@ -427,7 +442,8 @@ def pick_timesteps_list() -> torch.IntTensor: network.set_multiplier(1.0) # may be overwritten by "network_multipliers" in the next step target[diff_output_pr_indices] = noise_pred_prior.to(target.dtype) - loss = torch.nn.functional.mse_loss(noise_pred.float(), target.float(), reduction="none") + huber_c = train_util.get_huber_threshold_if_needed(args, fixed_timesteps, noise_scheduler) + loss = train_util.conditional_loss(noise_pred.float(), target.float(), args.loss_type, "none", huber_c) loss = loss.mean([1, 2, 3]) # 平均なのでbatch_sizeで割る必要なし if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): @@ -436,14 +452,7 @@ def pick_timesteps_list() -> torch.IntTensor: loss_weights = batch["loss_weights"].to(accelerator.device) # 各sampleごとのweight loss = loss * loss_weights - if args.min_snr_gamma: - loss = apply_snr_weight(loss, fixed_timestep, noise_scheduler, args.min_snr_gamma) - if args.scale_v_pred_loss_like_noise_pred: - loss = scale_v_prediction_loss_like_noise_prediction(loss, fixed_timestep, noise_scheduler) - if args.v_pred_like_loss: - loss = add_v_prediction_like_loss(loss, fixed_timestep, noise_scheduler, args.v_pred_like_loss) - if args.debiased_estimation_loss: - loss = apply_debiased_estimation(loss, fixed_timestep, noise_scheduler) + loss = self.post_process_loss(loss, args, fixed_timesteps, noise_scheduler) total_loss += loss @@ -526,8 +535,12 @@ def train(self, args): collator = train_util.collator_class(current_epoch, current_step, ds_for_collator) if args.debug_dataset: - train_dataset_group.set_current_strategies() # dasaset needs to know the strategies explicitly + train_dataset_group.set_current_strategies() # dataset needs to know the strategies explicitly train_util.debug_dataset(train_dataset_group) + + if val_dataset_group is not None: + val_dataset_group.set_current_strategies() # dataset needs to know the strategies explicitly + train_util.debug_dataset(val_dataset_group) return if len(train_dataset_group) == 0: logger.error( @@ -753,10 +766,6 @@ def train(self, args): # データセット側にも学習ステップを送信 train_dataset_group.set_max_train_steps(args.max_train_steps) - # Not for sure here. - # if val_dataset_group is not None: - # val_dataset_group.set_max_train_steps(args.max_train_steps) - # lr schedulerを用意する lr_scheduler = train_util.get_scheduler_fix(args, optimizer, accelerator.num_processes) @@ -1304,7 +1313,7 @@ def remove_model(old_ckpt_name): clean_memory_on_device(accelerator.device) for epoch in range(epoch_to_start, num_train_epochs): - accelerator.print(f"\nepoch {epoch+1}/{num_train_epochs}") + accelerator.print(f"\nepoch {epoch+1}/{num_train_epochs}\n") current_epoch.value = epoch + 1 metadata["ss_epoch"] = str(epoch + 1) @@ -1324,7 +1333,7 @@ def remove_model(old_ckpt_name): continue with accelerator.accumulate(training_model): - loss = self.process_batch(batch, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args, text_encoding_strategy, tokenize_strategy, is_train=True, train_text_encoder=train_text_encoder, train_unet=train_unet) + loss = self.process_batch(batch, tokenizers, text_encoders, unet, network, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args, text_encoding_strategy, tokenize_strategy, is_train=True, train_text_encoder=train_text_encoder, train_unet=train_unet) accelerator.backward(loss) if accelerator.sync_gradients: self.all_reduce_network(accelerator, network) # sync DDP grad manually @@ -1384,7 +1393,8 @@ def remove_model(old_ckpt_name): logs = self.generate_step_logs( args, current_loss, avr_loss, lr_scheduler, lr_descriptions, optimizer, keys_scaled, mean_norm, maximum_norm ) - accelerator.log(logs, step=global_step) + # accelerator.log(logs, step=global_step) + accelerator.log(logs) # VALIDATION PER STEP should_validate = (args.validation_every_n_step is not None @@ -1401,7 +1411,7 @@ def remove_model(old_ckpt_name): if val_step >= validation_steps: break - loss = self.process_batch(batch, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args, text_encoding_strategy, tokenize_strategy, is_train=False, timesteps_list=[10, 350, 500, 650, 990]) + loss = self.process_batch(batch, tokenizers, text_encoders, unet, network, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args, text_encoding_strategy, tokenize_strategy, is_train=False, timesteps_list=[10, 350, 500, 650, 990]) val_loss_recorder.add(epoch=epoch, step=val_step, loss=loss.detach().item()) val_progress_bar.update(1) @@ -1409,10 +1419,12 @@ def remove_model(old_ckpt_name): if is_tracking: logs = {"loss/current_val_loss": loss.detach().item()} - accelerator.log(logs, step=(len(val_dataloader) * epoch) + 1 + val_step) + # accelerator.log(logs, step=(len(val_dataloader) * epoch) + 1 + val_step) + accelerator.log(logs) logs = {"loss/average_val_loss": val_loss_recorder.moving_average} - accelerator.log(logs, step=global_step) + # accelerator.log(logs, step=global_step) + accelerator.log(logs) if global_step >= args.max_train_steps: break @@ -1427,7 +1439,7 @@ def remove_model(old_ckpt_name): ) for val_step, batch in enumerate(val_dataloader): - loss = self.process_batch(batch, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args, text_encoding_strategy, tokenize_strategy, is_train=False, timesteps_list=[10, 350, 500, 650, 990]) + loss = self.process_batch(batch, tokenizers, text_encoders, unet, network, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args, text_encoding_strategy, tokenize_strategy, is_train=False, timesteps_list=[10, 350, 500, 650, 990]) current_loss = loss.detach().item() val_loss_recorder.add(epoch=epoch, step=val_step, loss=current_loss) @@ -1437,22 +1449,26 @@ def remove_model(old_ckpt_name): if is_tracking: avr_loss: float = val_loss_recorder.moving_average logs = {"loss/validation_current": current_loss} - accelerator.log(logs, step=(len(val_dataloader) * epoch) + 1 + val_step) + # accelerator.log(logs, step=(len(val_dataloader) * epoch) + 1 + val_step) + accelerator.log(logs) if is_tracking: avr_loss: float = val_loss_recorder.moving_average logs = {"loss/validation_average": avr_loss} - accelerator.log(logs, step=epoch + 1) + # accelerator.log(logs, step=epoch + 1) + accelerator.log(logs) # END OF EPOCH if is_tracking: logs = {"loss/epoch_average": loss_recorder.moving_average} - accelerator.log(logs, step=epoch + 1) + # accelerator.log(logs, step=epoch + 1) + accelerator.log(logs) if len(val_dataloader) > 0 and is_tracking: avr_loss: float = val_loss_recorder.moving_average logs = {"loss/validation_epoch_average": avr_loss} - accelerator.log(logs, step=epoch + 1) + # accelerator.log(logs, step=epoch + 1) + accelerator.log(logs) accelerator.wait_for_everyone() From 695f38962ce279adfee3fabb3479b84b1076b4e8 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Fri, 3 Jan 2025 15:25:12 -0500 Subject: [PATCH 400/748] Move get_huber_threshold_if_needed --- library/train_util.py | 44 ++++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index 0f16a4f31..0907a8c03 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -5905,27 +5905,6 @@ def get_timesteps(min_timestep: int, max_timestep: int, b_size: int, device: tor return timesteps -def get_huber_threshold_if_needed(args, timesteps: torch.Tensor, noise_scheduler) -> Optional[torch.Tensor]: - if not (args.loss_type == "huber" or args.loss_type == "smooth_l1"): - return None - - b_size = timesteps.shape[0] - if args.huber_schedule == "exponential": - alpha = -math.log(args.huber_c) / noise_scheduler.config.num_train_timesteps - result = torch.exp(-alpha * timesteps) * args.huber_scale - elif args.huber_schedule == "snr": - if not hasattr(noise_scheduler, "alphas_cumprod"): - raise NotImplementedError("Huber schedule 'snr' is not supported with the current model.") - alphas_cumprod = torch.index_select(noise_scheduler.alphas_cumprod, 0, timesteps.cpu()) - sigmas = ((1.0 - alphas_cumprod) / alphas_cumprod) ** 0.5 - result = (1 - args.huber_c) / (1 + sigmas) ** 2 + args.huber_c - result = result.to(timesteps.device) - elif args.huber_schedule == "constant": - result = torch.full((b_size,), args.huber_c * args.huber_scale, device=timesteps.device) - else: - raise NotImplementedError(f"Unknown Huber loss schedule {args.huber_schedule}!") - - return result def modify_noise(args, noise: torch.Tensor, latents: torch.Tensor) -> torch.FloatTensor: @@ -6004,6 +5983,29 @@ def get_noise_noisy_latents_and_timesteps(args, noise_scheduler, latents: torch. return noise, noisy_latents, timesteps +def get_huber_threshold_if_needed(args, timesteps: torch.Tensor, noise_scheduler) -> Optional[torch.Tensor]: + if not (args.loss_type == "huber" or args.loss_type == "smooth_l1"): + return None + + b_size = timesteps.shape[0] + if args.huber_schedule == "exponential": + alpha = -math.log(args.huber_c) / noise_scheduler.config.num_train_timesteps + result = torch.exp(-alpha * timesteps) * args.huber_scale + elif args.huber_schedule == "snr": + if not hasattr(noise_scheduler, "alphas_cumprod"): + raise NotImplementedError("Huber schedule 'snr' is not supported with the current model.") + alphas_cumprod = torch.index_select(noise_scheduler.alphas_cumprod, 0, timesteps.cpu()) + sigmas = ((1.0 - alphas_cumprod) / alphas_cumprod) ** 0.5 + result = (1 - args.huber_c) / (1 + sigmas) ** 2 + args.huber_c + result = result.to(timesteps.device) + elif args.huber_schedule == "constant": + result = torch.full((b_size,), args.huber_c * args.huber_scale, device=timesteps.device) + else: + raise NotImplementedError(f"Unknown Huber loss schedule {args.huber_schedule}!") + + return result + + def get_noisy_latents(args, noise: torch.FloatTensor, noise_scheduler: DDPMScheduler, latents: torch.FloatTensor, timesteps: torch.IntTensor) -> torch.FloatTensor: """ Add noise to the latents according to the noise magnitude at each timestep From 1f9ba40b8b70fd08e6b87a70727d5e789666a925 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Fri, 3 Jan 2025 15:32:07 -0500 Subject: [PATCH 401/748] Add step break for validation epoch. Remove unused variable --- train_network.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/train_network.py b/train_network.py index f870734fd..ce34f26d3 100644 --- a/train_network.py +++ b/train_network.py @@ -1439,6 +1439,9 @@ def remove_model(old_ckpt_name): ) for val_step, batch in enumerate(val_dataloader): + if val_step >= validation_steps: + break + loss = self.process_batch(batch, tokenizers, text_encoders, unet, network, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args, text_encoding_strategy, tokenize_strategy, is_train=False, timesteps_list=[10, 350, 500, 650, 990]) current_loss = loss.detach().item() @@ -1447,7 +1450,6 @@ def remove_model(old_ckpt_name): val_progress_bar.set_postfix({ "val_avg_loss": val_loss_recorder.moving_average }) if is_tracking: - avr_loss: float = val_loss_recorder.moving_average logs = {"loss/validation_current": current_loss} # accelerator.log(logs, step=(len(val_dataloader) * epoch) + 1 + val_step) accelerator.log(logs) From 1c0ae306e551ede5bd162819debb4d80a7fe620b Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Fri, 3 Jan 2025 15:43:02 -0500 Subject: [PATCH 402/748] Add missing functions for training batch --- train_network.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/train_network.py b/train_network.py index ce34f26d3..377ddf48e 100644 --- a/train_network.py +++ b/train_network.py @@ -318,7 +318,7 @@ def on_step_start(self, args, accelerator, network, text_encoders, unet, batch, # endregion def process_batch(self, batch, tokenizers, text_encoders, unet, network, vae: AutoencoderKL, noise_scheduler, vae_dtype, weight_dtype, accelerator, args, text_encoding_strategy: strategy_sd.SdTextEncodingStrategy, tokenize_strategy: strategy_sd.SdTokenizeStrategy, is_train=True, train_text_encoder=True, train_unet=True, timesteps_list: Optional[List[Number]]=None) -> torch.Tensor: - + with torch.no_grad(): if "latents" in batch and batch["latents"] is not None: latents = typing.cast(torch.FloatTensor, batch["latents"].to(accelerator.device)) @@ -1333,6 +1333,11 @@ def remove_model(old_ckpt_name): continue with accelerator.accumulate(training_model): + on_step_start_for_network(text_encoder, unet) + + # temporary, for batch processing + self.on_step_start(args, accelerator, network, text_encoders, unet, batch, weight_dtype) + loss = self.process_batch(batch, tokenizers, text_encoders, unet, network, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args, text_encoding_strategy, tokenize_strategy, is_train=True, train_text_encoder=train_text_encoder, train_unet=train_unet) accelerator.backward(loss) if accelerator.sync_gradients: From a9c5aa1f9336cedf1e294fd3c8c22bb649d51015 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 5 Jan 2025 22:28:51 +0900 Subject: [PATCH 403/748] add CFG to FLUX.1 sample image --- library/flux_train_utils.py | 156 ++++++++++++++++++++++++------------ 1 file changed, 106 insertions(+), 50 deletions(-) diff --git a/library/flux_train_utils.py b/library/flux_train_utils.py index f7f06c5cf..9f954f58c 100644 --- a/library/flux_train_utils.py +++ b/library/flux_train_utils.py @@ -40,7 +40,7 @@ def sample_images( text_encoders, sample_prompts_te_outputs, prompt_replacement=None, - controlnet=None + controlnet=None, ): if steps == 0: if not args.sample_at_first: @@ -101,7 +101,7 @@ def sample_images( steps, sample_prompts_te_outputs, prompt_replacement, - controlnet + controlnet, ) else: # Creating list with N elements, where each element is a list of prompt_dicts, and N is the number of processes available (number of devices available) @@ -125,7 +125,7 @@ def sample_images( steps, sample_prompts_te_outputs, prompt_replacement, - controlnet + controlnet, ) torch.set_rng_state(rng_state) @@ -147,14 +147,14 @@ def sample_image_inference( steps, sample_prompts_te_outputs, prompt_replacement, - controlnet + controlnet, ): assert isinstance(prompt_dict, dict) - # negative_prompt = prompt_dict.get("negative_prompt") + negative_prompt = prompt_dict.get("negative_prompt") sample_steps = prompt_dict.get("sample_steps", 20) width = prompt_dict.get("width", 512) height = prompt_dict.get("height", 512) - scale = prompt_dict.get("scale", 3.5) + scale = prompt_dict.get("scale", 1.0) # 1.0 means no guidance seed = prompt_dict.get("seed") controlnet_image = prompt_dict.get("controlnet_image") prompt: str = prompt_dict.get("prompt", "") @@ -162,8 +162,8 @@ def sample_image_inference( if prompt_replacement is not None: prompt = prompt.replace(prompt_replacement[0], prompt_replacement[1]) - # if negative_prompt is not None: - # negative_prompt = negative_prompt.replace(prompt_replacement[0], prompt_replacement[1]) + if negative_prompt is not None: + negative_prompt = negative_prompt.replace(prompt_replacement[0], prompt_replacement[1]) if seed is not None: torch.manual_seed(seed) @@ -173,16 +173,18 @@ def sample_image_inference( torch.seed() torch.cuda.seed() - # if negative_prompt is None: - # negative_prompt = "" + if negative_prompt is None: + negative_prompt = "" height = max(64, height - height % 16) # round to divisible by 16 width = max(64, width - width % 16) # round to divisible by 16 logger.info(f"prompt: {prompt}") - # logger.info(f"negative_prompt: {negative_prompt}") + if scale != 1.0: + logger.info(f"negative_prompt: {negative_prompt}") logger.info(f"height: {height}") logger.info(f"width: {width}") logger.info(f"sample_steps: {sample_steps}") - logger.info(f"scale: {scale}") + if scale != 1.0: + logger.info(f"scale: {scale}") # logger.info(f"sample_sampler: {sampler_name}") if seed is not None: logger.info(f"seed: {seed}") @@ -191,26 +193,37 @@ def sample_image_inference( tokenize_strategy = strategy_base.TokenizeStrategy.get_strategy() encoding_strategy = strategy_base.TextEncodingStrategy.get_strategy() - text_encoder_conds = [] - if sample_prompts_te_outputs and prompt in sample_prompts_te_outputs: - text_encoder_conds = sample_prompts_te_outputs[prompt] - print(f"Using cached text encoder outputs for prompt: {prompt}") - if text_encoders is not None: - print(f"Encoding prompt: {prompt}") - tokens_and_masks = tokenize_strategy.tokenize(prompt) - # strategy has apply_t5_attn_mask option - encoded_text_encoder_conds = encoding_strategy.encode_tokens(tokenize_strategy, text_encoders, tokens_and_masks) - - # if text_encoder_conds is not cached, use encoded_text_encoder_conds - if len(text_encoder_conds) == 0: - text_encoder_conds = encoded_text_encoder_conds - else: - # if encoded_text_encoder_conds is not None, update cached text_encoder_conds - for i in range(len(encoded_text_encoder_conds)): - if encoded_text_encoder_conds[i] is not None: - text_encoder_conds[i] = encoded_text_encoder_conds[i] - - l_pooled, t5_out, txt_ids, t5_attn_mask = text_encoder_conds + def encode_prompt(prpt): + text_encoder_conds = [] + if sample_prompts_te_outputs and prpt in sample_prompts_te_outputs: + text_encoder_conds = sample_prompts_te_outputs[prpt] + print(f"Using cached text encoder outputs for prompt: {prpt}") + if text_encoders is not None: + print(f"Encoding prompt: {prpt}") + tokens_and_masks = tokenize_strategy.tokenize(prpt) + # strategy has apply_t5_attn_mask option + encoded_text_encoder_conds = encoding_strategy.encode_tokens(tokenize_strategy, text_encoders, tokens_and_masks) + + # if text_encoder_conds is not cached, use encoded_text_encoder_conds + if len(text_encoder_conds) == 0: + text_encoder_conds = encoded_text_encoder_conds + else: + # if encoded_text_encoder_conds is not None, update cached text_encoder_conds + for i in range(len(encoded_text_encoder_conds)): + if encoded_text_encoder_conds[i] is not None: + text_encoder_conds[i] = encoded_text_encoder_conds[i] + return text_encoder_conds + + l_pooled, t5_out, txt_ids, t5_attn_mask = encode_prompt(prompt) + # encode negative prompts + if scale != 1.0: + neg_l_pooled, neg_t5_out, _, neg_t5_attn_mask = encode_prompt(negative_prompt) + neg_t5_attn_mask = ( + neg_t5_attn_mask.to(accelerator.device) if args.apply_t5_attn_mask and neg_t5_attn_mask is not None else None + ) + neg_cond = (scale, neg_l_pooled, neg_t5_out, neg_t5_attn_mask) + else: + neg_cond = None # sample image weight_dtype = ae.dtype # TOFO give dtype as argument @@ -235,7 +248,20 @@ def sample_image_inference( controlnet_image = controlnet_image.permute(2, 0, 1).unsqueeze(0).to(weight_dtype).to(accelerator.device) with accelerator.autocast(), torch.no_grad(): - x = denoise(flux, noise, img_ids, t5_out, txt_ids, l_pooled, timesteps=timesteps, guidance=scale, t5_attn_mask=t5_attn_mask, controlnet=controlnet, controlnet_img=controlnet_image) + x = denoise( + flux, + noise, + img_ids, + t5_out, + txt_ids, + l_pooled, + timesteps=timesteps, + guidance=scale, + t5_attn_mask=t5_attn_mask, + controlnet=controlnet, + controlnet_img=controlnet_image, + neg_cond=neg_cond, + ) x = flux_utils.unpack_latents(x, packed_latent_height, packed_latent_width) @@ -305,22 +331,24 @@ def denoise( model: flux_models.Flux, img: torch.Tensor, img_ids: torch.Tensor, - txt: torch.Tensor, + txt: torch.Tensor, # t5_out txt_ids: torch.Tensor, - vec: torch.Tensor, + vec: torch.Tensor, # l_pooled timesteps: list[float], guidance: float = 4.0, t5_attn_mask: Optional[torch.Tensor] = None, controlnet: Optional[flux_models.ControlNetFlux] = None, controlnet_img: Optional[torch.Tensor] = None, + neg_cond: Optional[Tuple[float, torch.Tensor, torch.Tensor, torch.Tensor]] = None, ): # this is ignored for schnell guidance_vec = torch.full((img.shape[0],), guidance, device=img.device, dtype=img.dtype) - + do_cfg = neg_cond is not None for t_curr, t_prev in zip(tqdm(timesteps[:-1]), timesteps[1:]): t_vec = torch.full((img.shape[0],), t_curr, dtype=img.dtype, device=img.device) model.prepare_block_swap_before_forward() + if controlnet is not None: block_samples, block_single_samples = controlnet( img=img, @@ -336,20 +364,48 @@ def denoise( else: block_samples = None block_single_samples = None - pred = model( - img=img, - img_ids=img_ids, - txt=txt, - txt_ids=txt_ids, - y=vec, - block_controlnet_hidden_states=block_samples, - block_controlnet_single_hidden_states=block_single_samples, - timesteps=t_vec, - guidance=guidance_vec, - txt_attention_mask=t5_attn_mask, - ) - img = img + (t_prev - t_curr) * pred + if not do_cfg: + pred = model( + img=img, + img_ids=img_ids, + txt=txt, + txt_ids=txt_ids, + y=vec, + block_controlnet_hidden_states=block_samples, + block_controlnet_single_hidden_states=block_single_samples, + timesteps=t_vec, + guidance=guidance_vec, + txt_attention_mask=t5_attn_mask, + ) + + img = img + (t_prev - t_curr) * pred + else: + cfg_scale, neg_l_pooled, neg_t5_out, neg_t5_attn_mask = neg_cond + nc_c_t5_attn_mask = None if t5_attn_mask is None else torch.cat([neg_t5_attn_mask, t5_attn_mask], dim=0) + + # TODO is it ok to use the same block samples for both cond and uncond? + block_samples = None if block_samples is None else torch.cat([block_samples, block_samples], dim=0) + block_single_samples = ( + None if block_single_samples is None else torch.cat([block_single_samples, block_single_samples], dim=0) + ) + + nc_c_pred = model( + img=torch.cat([img, img], dim=0), + img_ids=torch.cat([img_ids, img_ids], dim=0), + txt=torch.cat([neg_t5_out, txt], dim=0), + txt_ids=torch.cat([txt_ids, txt_ids], dim=0), + y=torch.cat([neg_l_pooled, vec], dim=0), + block_controlnet_hidden_states=block_samples, + block_controlnet_single_hidden_states=block_single_samples, + timesteps=t_vec, + guidance=guidance_vec, + txt_attention_mask=nc_c_t5_attn_mask, + ) + neg_pred, pred = torch.chunk(nc_c_pred, 2, dim=0) + pred = neg_pred + (pred - neg_pred) * cfg_scale + + img = img + (t_prev - t_curr) * pred model.prepare_block_swap_before_forward() return img @@ -567,7 +623,7 @@ def add_flux_train_arguments(parser: argparse.ArgumentParser): "--controlnet_model_name_or_path", type=str, default=None, - help="path to controlnet (*.sft or *.safetensors) / controlnetのパス(*.sftまたは*.safetensors)" + help="path to controlnet (*.sft or *.safetensors) / controlnetのパス(*.sftまたは*.safetensors)", ) parser.add_argument( "--t5xxl_max_token_length", From bbf6bbd5ea27231066cec98b8bf2a65f162cb18f Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Mon, 6 Jan 2025 10:48:38 -0500 Subject: [PATCH 404/748] Use self.get_noise_pred_and_target and drop fixed timesteps --- flux_train_network.py | 7 ++- sd3_train_network.py | 3 +- train_network.py | 116 ++++++++++++------------------------------ 3 files changed, 40 insertions(+), 86 deletions(-) diff --git a/flux_train_network.py b/flux_train_network.py index 75e975bae..b3aebecc7 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -339,6 +339,7 @@ def get_noise_pred_and_target( network, weight_dtype, train_unet, + is_train=True ): # Sample noise that we'll add to the latents noise = torch.randn_like(latents) @@ -375,7 +376,7 @@ def get_noise_pred_and_target( def call_dit(img, img_ids, t5_out, txt_ids, l_pooled, timesteps, guidance_vec, t5_attn_mask): # if not args.split_mode: # normal forward - with accelerator.autocast(): + with torch.set_grad_enabled(is_train and train_unet), accelerator.autocast(): # YiYi notes: divide it by 1000 for now because we scale it by 1000 in the transformer model (we should not keep it but I want to keep the inputs same for the model for testing) model_pred = unet( img=img, @@ -420,7 +421,9 @@ def call_dit(img, img_ids, t5_out, txt_ids, l_pooled, timesteps, guidance_vec, t intermediate_txt.requires_grad_(True) vec.requires_grad_(True) pe.requires_grad_(True) - model_pred = unet(img=intermediate_img, txt=intermediate_txt, vec=vec, pe=pe, txt_attention_mask=t5_attn_mask) + + with torch.set_grad_enabled(is_train and train_unet): + model_pred = unet(img=intermediate_img, txt=intermediate_txt, vec=vec, pe=pe, txt_attention_mask=t5_attn_mask) """ return model_pred diff --git a/sd3_train_network.py b/sd3_train_network.py index fb7711bda..c7417802d 100644 --- a/sd3_train_network.py +++ b/sd3_train_network.py @@ -312,6 +312,7 @@ def get_noise_pred_and_target( network, weight_dtype, train_unet, + is_train=True ): # Sample noise that we'll add to the latents noise = torch.randn_like(latents) @@ -339,7 +340,7 @@ def get_noise_pred_and_target( t5_attn_mask = None # call model - with accelerator.autocast(): + with torch.set_grad_enabled(is_train and train_unet), accelerator.autocast(): # TODO support attention mask model_pred = unet(noisy_model_input, timesteps, context=context, y=lg_pooled) diff --git a/train_network.py b/train_network.py index 377ddf48e..61e6369ae 100644 --- a/train_network.py +++ b/train_network.py @@ -223,6 +223,7 @@ def get_noise_pred_and_target( network, weight_dtype, train_unet, + is_train=True ): # Sample noise, sample a random timestep for each image, and add noise to the latents, # with noise offset and/or multires noise if specified @@ -236,7 +237,7 @@ def get_noise_pred_and_target( t.requires_grad_(True) # Predict the noise residual - with accelerator.autocast(): + with torch.set_grad_enabled(is_train and train_unet), accelerator.autocast(): noise_pred = self.call_unet( args, accelerator, @@ -317,7 +318,7 @@ def on_step_start(self, args, accelerator, network, text_encoders, unet, batch, # endregion - def process_batch(self, batch, tokenizers, text_encoders, unet, network, vae: AutoencoderKL, noise_scheduler, vae_dtype, weight_dtype, accelerator, args, text_encoding_strategy: strategy_sd.SdTextEncodingStrategy, tokenize_strategy: strategy_sd.SdTokenizeStrategy, is_train=True, train_text_encoder=True, train_unet=True, timesteps_list: Optional[List[Number]]=None) -> torch.Tensor: + def process_batch(self, batch, tokenizers, text_encoders, unet, network, vae: AutoencoderKL, noise_scheduler, vae_dtype, weight_dtype, accelerator, args, text_encoding_strategy: strategy_sd.SdTextEncodingStrategy, tokenize_strategy: strategy_sd.SdTokenizeStrategy, is_train=True, train_text_encoder=True, train_unet=True) -> torch.Tensor: with torch.no_grad(): if "latents" in batch and batch["latents"] is not None: @@ -372,91 +373,40 @@ def process_batch(self, batch, tokenizers, text_encoders, unet, network, vae: Au batch_size = latents.shape[0] - # Sample noise, - noise = train_util.make_noise(args, latents) - def pick_timesteps_list() -> torch.IntTensor: - if timesteps_list is None or timesteps_list == []: - return typing.cast(torch.IntTensor, train_util.make_random_timesteps(args, noise_scheduler, batch_size, latents.device).unsqueeze(1)) - else: - return typing.cast(torch.IntTensor, torch.tensor(timesteps_list).unsqueeze(1).repeat(1, batch_size).to(latents.device)) - - chosen_timesteps_list = pick_timesteps_list() - total_loss = torch.zeros((batch_size, 1)).to(latents.device) - - # Use input timesteps_list or use described timesteps above - for fixed_timesteps in chosen_timesteps_list: - fixed_timesteps = typing.cast(torch.IntTensor, fixed_timesteps) - - # Predict the noise residual - # and add noise to the latents - # with noise offset and/or multires noise if specified - noisy_latents = train_util.get_noisy_latents(args, noise, noise_scheduler, latents, fixed_timesteps) - - # ensure the hidden state will require grad - if args.gradient_checkpointing: - for x in noisy_latents: - x.requires_grad_(True) - for t in text_encoder_conds: - t.requires_grad_(True) - - with torch.set_grad_enabled(is_train and train_unet), accelerator.autocast(): - noise_pred = self.call_unet( - args, - accelerator, - unet, - noisy_latents.requires_grad_(train_unet), - fixed_timesteps, - text_encoder_conds, - batch, - weight_dtype, - ) - - if args.v_parameterization: - # v-parameterization training - target = noise_scheduler.get_velocity(latents, noise, fixed_timesteps) - else: - target = noise - - # differential output preservation - if "custom_attributes" in batch: - diff_output_pr_indices = [] - for i, custom_attributes in enumerate(batch["custom_attributes"]): - if "diff_output_preservation" in custom_attributes and custom_attributes["diff_output_preservation"]: - diff_output_pr_indices.append(i) - - if len(diff_output_pr_indices) > 0: - network.set_multiplier(0.0) - with torch.no_grad(), accelerator.autocast(): - noise_pred_prior = self.call_unet( - args, - accelerator, - unet, - noisy_latents, - fixed_timesteps, - text_encoder_conds, - batch, - weight_dtype, - indices=diff_output_pr_indices, - ) - network.set_multiplier(1.0) # may be overwritten by "network_multipliers" in the next step - target[diff_output_pr_indices] = noise_pred_prior.to(target.dtype) - - huber_c = train_util.get_huber_threshold_if_needed(args, fixed_timesteps, noise_scheduler) - loss = train_util.conditional_loss(noise_pred.float(), target.float(), args.loss_type, "none", huber_c) - loss = loss.mean([1, 2, 3]) # 平均なのでbatch_sizeで割る必要なし + # Predict the noise residual + # and add noise to the latents + # with noise offset and/or multires noise if specified - if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): - loss = apply_masked_loss(loss, batch) + # sample noise, call unet, get target + noise_pred, target, timesteps, weighting = self.get_noise_pred_and_target( + args, + accelerator, + noise_scheduler, + latents, + batch, + text_encoder_conds, + unet, + network, + weight_dtype, + train_unet, + is_train=is_train + ) - loss_weights = batch["loss_weights"].to(accelerator.device) # 各sampleごとのweight - loss = loss * loss_weights + huber_c = train_util.get_huber_threshold_if_needed(args, timesteps, noise_scheduler) + loss = train_util.conditional_loss(noise_pred.float(), target.float(), args.loss_type, "none", huber_c) + if weighting is not None: + loss = loss * weighting + if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): + loss = apply_masked_loss(loss, batch) + loss = loss.mean([1, 2, 3]) - loss = self.post_process_loss(loss, args, fixed_timesteps, noise_scheduler) + loss_weights = batch["loss_weights"] # 各sampleごとのweight + loss = loss * loss_weights - total_loss += loss + loss = self.post_process_loss(loss, args, timesteps, noise_scheduler) - return total_loss / len(chosen_timesteps_list) + return loss.mean() def train(self, args): session_id = random.randint(0, 2**32) @@ -1416,7 +1366,7 @@ def remove_model(old_ckpt_name): if val_step >= validation_steps: break - loss = self.process_batch(batch, tokenizers, text_encoders, unet, network, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args, text_encoding_strategy, tokenize_strategy, is_train=False, timesteps_list=[10, 350, 500, 650, 990]) + loss = self.process_batch(batch, tokenizers, text_encoders, unet, network, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args, text_encoding_strategy, tokenize_strategy, is_train=False) val_loss_recorder.add(epoch=epoch, step=val_step, loss=loss.detach().item()) val_progress_bar.update(1) @@ -1447,7 +1397,7 @@ def remove_model(old_ckpt_name): if val_step >= validation_steps: break - loss = self.process_batch(batch, tokenizers, text_encoders, unet, network, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args, text_encoding_strategy, tokenize_strategy, is_train=False, timesteps_list=[10, 350, 500, 650, 990]) + loss = self.process_batch(batch, tokenizers, text_encoders, unet, network, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args, text_encoding_strategy, tokenize_strategy, is_train=False) current_loss = loss.detach().item() val_loss_recorder.add(epoch=epoch, step=val_step, loss=current_loss) From f4840ef29ef67878d7c7ccec92bdce89c3b61c6d Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Mon, 6 Jan 2025 10:52:07 -0500 Subject: [PATCH 405/748] Revert train_db.py --- train_db.py | 121 ++-------------------------------------------------- 1 file changed, 3 insertions(+), 118 deletions(-) diff --git a/train_db.py b/train_db.py index 398489ffe..ad21f8d1b 100644 --- a/train_db.py +++ b/train_db.py @@ -2,6 +2,7 @@ # XXX dropped option: fine_tune import argparse +import itertools import math import os from multiprocessing import Value @@ -41,73 +42,11 @@ setup_logging() import logging -import itertools logger = logging.getLogger(__name__) # perlin_noise, -def process_val_batch(*training_models, batch, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args): - total_loss = 0.0 - timesteps_list = [10, 350, 500, 650, 990] - - with accelerator.accumulate(*training_models): - with torch.no_grad(): - # latentに変換 - if cache_latents: - latents = batch["latents"].to(accelerator.device).to(dtype=weight_dtype) - else: - latents = vae.encode(batch["images"].to(dtype=weight_dtype)).latent_dist.sample() - latents = latents * 0.18215 - b_size = latents.shape[0] - - with torch.set_grad_enabled(False), accelerator.autocast(): - if args.weighted_captions: - encoder_hidden_states = get_weighted_text_embeddings( - tokenizer, - text_encoder, - batch["captions"], - accelerator.device, - args.max_token_length // 75 if args.max_token_length else 1, - clip_skip=args.clip_skip, - ) - else: - input_ids = batch["input_ids"].to(accelerator.device) - encoder_hidden_states = train_util.get_hidden_states( - args, input_ids, tokenizer, text_encoder, None if not args.full_fp16 else weight_dtype - ) - # Sample noise, sample a random timestep for each image, and add noise to the latents, - # with noise offset and/or multires noise if specified - - for fixed_timesteps in timesteps_list: - with torch.set_grad_enabled(False), accelerator.autocast(): - # Sample noise, sample a random timestep for each image, and add noise to the latents, - # with noise offset and/or multires noise if specified - noise = torch.randn_like(latents, device=latents.device) - b_size = latents.shape[0] - timesteps = torch.full((b_size,), fixed_timesteps, dtype=torch.long, device=latents.device) - noisy_latents = noise_scheduler.add_noise(latents, noise, timesteps) - - # Predict the noise residual - with accelerator.autocast(): - noise_pred = unet(noisy_latents, timesteps, encoder_hidden_states).sample - - if args.v_parameterization: - # v-parameterization training - target = noise_scheduler.get_velocity(latents, noise, timesteps) - else: - target = noise - - loss = torch.nn.functional.mse_loss(noise_pred.float(), target.float(), reduction="none") - if args.masked_loss: - loss = apply_masked_loss(loss, batch) - loss = loss.mean([1, 2, 3]) - loss = apply_debiased_estimation(loss, timesteps, noise_scheduler) - loss = loss.mean() # 平均なのでbatch_sizeで割る必要なし - total_loss += loss - - average_loss = total_loss / len(timesteps_list) - return average_loss def train(args): train_util.verify_training_args(args) @@ -150,10 +89,9 @@ def train(args): } blueprint = blueprint_generator.generate(user_config, args) - train_dataset_group, val_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) + train_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) else: train_dataset_group = train_util.load_arbitrary_dataset(args) - val_dataset_group = None current_epoch = Value("i", 0) current_step = Value("i", 0) @@ -274,15 +212,6 @@ def train(args): num_workers=n_workers, persistent_workers=args.persistent_data_loader_workers, ) - val_dataloader = torch.utils.data.DataLoader( - val_dataset_group if val_dataset_group is not None else [], - shuffle=False, - batch_size=1, - collate_fn=collator, - num_workers=n_workers, - persistent_workers=args.persistent_data_loader_workers, - ) - cyclic_val_dataloader = itertools.cycle(val_dataloader) # 学習ステップ数を計算する if args.max_train_epochs is not None: @@ -393,8 +322,6 @@ def train(args): accelerator.log({}, step=0) loss_recorder = train_util.LossRecorder() - val_loss_recorder = train_util.LossRecorder() - for epoch in range(num_train_epochs): accelerator.print(f"\nepoch {epoch+1}/{num_train_epochs}") current_epoch.value = epoch + 1 @@ -525,25 +452,6 @@ def train(args): avr_loss: float = loss_recorder.moving_average logs = {"avr_loss": avr_loss} # , "lr": lr_scheduler.get_last_lr()[0]} progress_bar.set_postfix(**logs) - if len(val_dataloader) > 0: - if (args.validation_every_n_step is not None and global_step % args.validation_every_n_step == 0) or (args.validation_every_n_step is None and step == len(train_dataloader) - 1) or global_step >= args.max_train_steps: - accelerator.print("Validating バリデーション処理...") - total_loss = 0.0 - with torch.no_grad(): - validation_steps = min(args.max_validation_steps, len(val_dataloader)) if args.max_validation_steps is not None else len(val_dataloader) - for val_step in tqdm(range(validation_steps), desc='Validation Steps'): - batch = next(cyclic_val_dataloader) - loss = self.process_val_batch(batch, tokenizers, text_encoders, unet, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args) - total_loss += loss.detach().item() - current_loss = total_loss / validation_steps - val_loss_recorder.add(epoch=0, step=global_step, loss=current_loss) - - if args.logging_dir is not None: - logs = {"loss/current_val_loss": current_loss} - accelerator.log(logs, step=global_step) - avr_loss: float = val_loss_recorder.moving_average - logs = {"loss/average_val_loss": avr_loss} - accelerator.log(logs, step=global_step) if global_step >= args.max_train_steps: break @@ -634,30 +542,7 @@ def setup_parser() -> argparse.ArgumentParser: action="store_true", help="do not use fp16/bf16 VAE in mixed precision (use float VAE) / mixed precisionでも fp16/bf16 VAEを使わずfloat VAEを使う", ) - parser.add_argument( - "--validation_seed", - type=int, - default=None, - help="Validation seed" - ) - parser.add_argument( - "--validation_split", - type=float, - default=0.0, - help="Split for validation images out of the training dataset" - ) - parser.add_argument( - "--validation_every_n_step", - type=int, - default=None, - help="Number of train steps for counting validation loss. By default, validation per train epoch is performed" - ) - parser.add_argument( - "--max_validation_steps", - type=int, - default=None, - help="Number of max validation steps for counting validation loss. By default, validation will run entire validation dataset" - ) + return parser From 1c63e7cc4979b528417b5bfe181e0a9ac119209c Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Mon, 6 Jan 2025 11:07:47 -0500 Subject: [PATCH 406/748] Cleanup unused code and formatting --- train_network.py | 85 +++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 70 insertions(+), 15 deletions(-) diff --git a/train_network.py b/train_network.py index 61e6369ae..5a80d825d 100644 --- a/train_network.py +++ b/train_network.py @@ -318,8 +318,27 @@ def on_step_start(self, args, accelerator, network, text_encoders, unet, batch, # endregion - def process_batch(self, batch, tokenizers, text_encoders, unet, network, vae: AutoencoderKL, noise_scheduler, vae_dtype, weight_dtype, accelerator, args, text_encoding_strategy: strategy_sd.SdTextEncodingStrategy, tokenize_strategy: strategy_sd.SdTokenizeStrategy, is_train=True, train_text_encoder=True, train_unet=True) -> torch.Tensor: - + def process_batch( + self, + batch, + text_encoders, + unet, + network, + vae, + noise_scheduler, + vae_dtype, + weight_dtype, + accelerator, + args, + text_encoding_strategy: strategy_sd.SdTextEncodingStrategy, + tokenize_strategy: strategy_sd.SdTokenizeStrategy, + is_train=True, + train_text_encoder=True, + train_unet=True + ) -> torch.Tensor: + """ + Process a batch for the network + """ with torch.no_grad(): if "latents" in batch and batch["latents"] is not None: latents = typing.cast(torch.FloatTensor, batch["latents"].to(accelerator.device)) @@ -334,7 +353,6 @@ def process_batch(self, batch, tokenizers, text_encoders, unet, network, vae: Au latents = self.shift_scale_latents(args, latents) - text_encoder_conds = [] text_encoder_outputs_list = batch.get("text_encoder_outputs_list", None) if text_encoder_outputs_list is not None: @@ -371,13 +389,6 @@ def process_batch(self, batch, tokenizers, text_encoders, unet, network, vae: Au if encoded_text_encoder_conds[i] is not None: text_encoder_conds[i] = encoded_text_encoder_conds[i] - batch_size = latents.shape[0] - - - # Predict the noise residual - # and add noise to the latents - # with noise offset and/or multires noise if specified - # sample noise, call unet, get target noise_pred, target, timesteps, weighting = self.get_noise_pred_and_target( args, @@ -1288,7 +1299,23 @@ def remove_model(old_ckpt_name): # temporary, for batch processing self.on_step_start(args, accelerator, network, text_encoders, unet, batch, weight_dtype) - loss = self.process_batch(batch, tokenizers, text_encoders, unet, network, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args, text_encoding_strategy, tokenize_strategy, is_train=True, train_text_encoder=train_text_encoder, train_unet=train_unet) + loss = self.process_batch(batch, + text_encoders, + unet, + network, + vae, + noise_scheduler, + vae_dtype, + weight_dtype, + accelerator, + args, + text_encoding_strategy, + tokenize_strategy, + is_train=True, + train_text_encoder=train_text_encoder, + train_unet=train_unet + ) + accelerator.backward(loss) if accelerator.sync_gradients: self.all_reduce_network(accelerator, network) # sync DDP grad manually @@ -1366,12 +1393,26 @@ def remove_model(old_ckpt_name): if val_step >= validation_steps: break - loss = self.process_batch(batch, tokenizers, text_encoders, unet, network, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args, text_encoding_strategy, tokenize_strategy, is_train=False) - + loss = self.process_batch( + batch, + text_encoders, + unet, + network, + vae, + noise_scheduler, + vae_dtype, + weight_dtype, + accelerator, + args, + text_encoding_strategy, + tokenize_strategy, + is_train=False + ) + val_loss_recorder.add(epoch=epoch, step=val_step, loss=loss.detach().item()) val_progress_bar.update(1) val_progress_bar.set_postfix({ "val_avg_loss": val_loss_recorder.moving_average }) - + if is_tracking: logs = {"loss/current_val_loss": loss.detach().item()} # accelerator.log(logs, step=(len(val_dataloader) * epoch) + 1 + val_step) @@ -1397,7 +1438,21 @@ def remove_model(old_ckpt_name): if val_step >= validation_steps: break - loss = self.process_batch(batch, tokenizers, text_encoders, unet, network, vae, noise_scheduler, vae_dtype, weight_dtype, accelerator, args, text_encoding_strategy, tokenize_strategy, is_train=False) + loss = self.process_batch( + batch, + text_encoders, + unet, + network, + vae, + noise_scheduler, + vae_dtype, + weight_dtype, + accelerator, + args, + text_encoding_strategy, + tokenize_strategy, + is_train=False + ) current_loss = loss.detach().item() val_loss_recorder.add(epoch=epoch, step=val_step, loss=current_loss) From c64d1a22fc4ff25625873e50d63d480b297301c6 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Mon, 6 Jan 2025 11:30:21 -0500 Subject: [PATCH 407/748] Add validate_every_n_epochs, change name validate_every_n_steps --- train_network.py | 69 ++++++++++++++++++++++++++++++------------------ 1 file changed, 44 insertions(+), 25 deletions(-) diff --git a/train_network.py b/train_network.py index 5a80d825d..f3c8d8c96 100644 --- a/train_network.py +++ b/train_network.py @@ -1199,7 +1199,8 @@ def load_model_hook(models, input_dir): ) loss_recorder = train_util.LossRecorder() - val_loss_recorder = train_util.LossRecorder() + val_step_loss_recorder = train_util.LossRecorder() + val_epoch_loss_recorder = train_util.LossRecorder() del train_dataset_group if val_dataset_group is not None: @@ -1299,7 +1300,8 @@ def remove_model(old_ckpt_name): # temporary, for batch processing self.on_step_start(args, accelerator, network, text_encoders, unet, batch, weight_dtype) - loss = self.process_batch(batch, + loss = self.process_batch( + batch, text_encoders, unet, network, @@ -1373,15 +1375,25 @@ def remove_model(old_ckpt_name): if is_tracking: logs = self.generate_step_logs( - args, current_loss, avr_loss, lr_scheduler, lr_descriptions, optimizer, keys_scaled, mean_norm, maximum_norm + args, + current_loss, + avr_loss, + lr_scheduler, + lr_descriptions, + optimizer, + keys_scaled, + mean_norm, + maximum_norm ) # accelerator.log(logs, step=global_step) accelerator.log(logs) # VALIDATION PER STEP - should_validate = (args.validation_every_n_step is not None - and global_step % args.validation_every_n_step == 0) - if validation_steps > 0 and should_validate: + should_validate_epoch = ( + args.validate_every_n_steps is not None + and global_step % args.validate_every_n_steps == 0 + ) + if validation_steps > 0 and should_validate_epoch: accelerator.print("Validating バリデーション処理...") val_progress_bar = tqdm( @@ -1409,16 +1421,17 @@ def remove_model(old_ckpt_name): is_train=False ) - val_loss_recorder.add(epoch=epoch, step=val_step, loss=loss.detach().item()) + current_loss = loss.detach().item() + val_step_loss_recorder.add(epoch=epoch, step=val_step, loss=current_loss) val_progress_bar.update(1) - val_progress_bar.set_postfix({ "val_avg_loss": val_loss_recorder.moving_average }) + val_progress_bar.set_postfix({ "val_avg_loss": val_step_loss_recorder.moving_average }) if is_tracking: - logs = {"loss/current_val_loss": loss.detach().item()} + logs = {"loss/step_validation_current": current_loss} # accelerator.log(logs, step=(len(val_dataloader) * epoch) + 1 + val_step) accelerator.log(logs) - logs = {"loss/average_val_loss": val_loss_recorder.moving_average} + logs = {"loss/step_validation_average": val_step_loss_recorder.moving_average} # accelerator.log(logs, step=global_step) accelerator.log(logs) @@ -1426,12 +1439,18 @@ def remove_model(old_ckpt_name): break # VALIDATION EPOCH - if len(val_dataloader) > 0: + should_validate_epoch = ( + (epoch + 1) % args.validate_every_n_epochs == 0 + if args.validate_every_n_epochs is not None + else False + ) + + if should_validate_epoch and len(val_dataloader) > 0: accelerator.print("Validating バリデーション処理...") val_progress_bar = tqdm( range(validation_steps), smoothing=0, disable=not accelerator.is_local_main_process, - desc="validation steps" + desc="epoch validation steps" ) for val_step, batch in enumerate(val_dataloader): @@ -1455,18 +1474,18 @@ def remove_model(old_ckpt_name): ) current_loss = loss.detach().item() - val_loss_recorder.add(epoch=epoch, step=val_step, loss=current_loss) + val_epoch_loss_recorder.add(epoch=epoch, step=val_step, loss=current_loss) val_progress_bar.update(1) - val_progress_bar.set_postfix({ "val_avg_loss": val_loss_recorder.moving_average }) + val_progress_bar.set_postfix({ "val_epoch_avg_loss": val_epoch_loss_recorder.moving_average }) if is_tracking: - logs = {"loss/validation_current": current_loss} + logs = {"loss/epoch_validation_current": current_loss} # accelerator.log(logs, step=(len(val_dataloader) * epoch) + 1 + val_step) accelerator.log(logs) if is_tracking: - avr_loss: float = val_loss_recorder.moving_average - logs = {"loss/validation_average": avr_loss} + avr_loss: float = val_epoch_loss_recorder.moving_average + logs = {"loss/epoch_validation_average": avr_loss} # accelerator.log(logs, step=epoch + 1) accelerator.log(logs) @@ -1475,12 +1494,6 @@ def remove_model(old_ckpt_name): logs = {"loss/epoch_average": loss_recorder.moving_average} # accelerator.log(logs, step=epoch + 1) accelerator.log(logs) - - if len(val_dataloader) > 0 and is_tracking: - avr_loss: float = val_loss_recorder.moving_average - logs = {"loss/validation_epoch_average": avr_loss} - # accelerator.log(logs, step=epoch + 1) - accelerator.log(logs) accelerator.wait_for_everyone() @@ -1676,10 +1689,16 @@ def setup_parser() -> argparse.ArgumentParser: help="Split for validation images out of the training dataset / 学習画像から検証画像に分割する割合" ) parser.add_argument( - "--validation_every_n_step", + "--validate_every_n_steps", + type=int, + default=None, + help="Run validation dataset every N steps" + ) + parser.add_argument( + "--validate_every_n_epochs", type=int, default=None, - help="Number of train steps for counting validation loss. By default, validation per train epoch is performed / 学習エポックごとに検証を行う場合はNoneを指定する" + help="Run validation dataset every N epochs. By default, validation will run every epoch if a validation dataset is available" ) parser.add_argument( "--max_validation_steps", From f8850296c83ef2091bf1cb0f6e9ba462adfd9045 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Mon, 6 Jan 2025 11:34:10 -0500 Subject: [PATCH 408/748] Fix validate epoch, cleanup imports --- train_network.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/train_network.py b/train_network.py index f3c8d8c96..11bba71e8 100644 --- a/train_network.py +++ b/train_network.py @@ -3,15 +3,13 @@ import math import os import typing -from typing import List, Optional, Union +from typing import Any, List import sys import random import time import json from multiprocessing import Value -from typing import Any, List import toml -import itertools from tqdm import tqdm @@ -23,8 +21,8 @@ from accelerate.utils import set_seed from accelerate import Accelerator -from diffusers import DDPMScheduler, AutoencoderKL -from diffusers.models.modeling_outputs import AutoencoderKLOutput +from diffusers import DDPMScheduler +from diffusers.models.autoencoders.autoencoder_kl import AutoencoderKL from library import deepspeed_utils, model_util, strategy_base, strategy_sd import library.train_util as train_util @@ -49,7 +47,6 @@ setup_logging() import logging -import itertools logger = logging.getLogger(__name__) @@ -1442,7 +1439,7 @@ def remove_model(old_ckpt_name): should_validate_epoch = ( (epoch + 1) % args.validate_every_n_epochs == 0 if args.validate_every_n_epochs is not None - else False + else True ) if should_validate_epoch and len(val_dataloader) > 0: From fcb2ff010cf2e42c50b3745a17317f2d4b4319d9 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Mon, 6 Jan 2025 11:39:32 -0500 Subject: [PATCH 409/748] Clean up some validation help documentation --- train_network.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/train_network.py b/train_network.py index 11bba71e8..af180c455 100644 --- a/train_network.py +++ b/train_network.py @@ -1677,7 +1677,7 @@ def setup_parser() -> argparse.ArgumentParser: "--validation_seed", type=int, default=None, - help="Validation seed for shuffling validation dataset, training `--seed` used otherwise / 検証シード" + help="Validation seed for shuffling validation dataset, training `--seed` used otherwise / 検証データセットをシャッフルするための検証シード、それ以外の場合はトレーニング `--seed` を使用する" ) parser.add_argument( "--validation_split", @@ -1689,19 +1689,19 @@ def setup_parser() -> argparse.ArgumentParser: "--validate_every_n_steps", type=int, default=None, - help="Run validation dataset every N steps" + help="Run validation on validation dataset every N steps if a validation dataset is available / 検証データセットが利用可能な場合は、Nステップごとに検証データセットの検証を実行します" ) parser.add_argument( "--validate_every_n_epochs", type=int, default=None, - help="Run validation dataset every N epochs. By default, validation will run every epoch if a validation dataset is available" + help="Run validation dataset every N epochs. By default, validation will run every epoch if a validation dataset is available / 検証データセットをNエポックごとに実行します。デフォルトでは、検証データセットが利用可能な場合、検証はエポックごとに実行されます" ) parser.add_argument( "--max_validation_steps", type=int, default=None, - help="Number of max validation steps for counting validation loss. By default, validation will run entire validation dataset / 検証データセット全体を検証する場合はNoneを指定する" + help="Max number of validation dataset items processed. By default, validation will run the entire validation dataset / 処理される検証データセット項目の最大数。デフォルトでは、検証は検証データセット全体を実行します" ) return parser From 742bee9738e9d190a39f5a36adf4515fa415e9b7 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Mon, 6 Jan 2025 17:34:23 -0500 Subject: [PATCH 410/748] Set validation steps in multiple lines for readability --- train_network.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/train_network.py b/train_network.py index af180c455..d0596fcae 100644 --- a/train_network.py +++ b/train_network.py @@ -1251,7 +1251,11 @@ def remove_model(old_ckpt_name): # log empty object to commit the sample images to wandb accelerator.log({}, step=0) - validation_steps = min(args.max_validation_steps, len(val_dataloader)) if args.max_validation_steps is not None else len(val_dataloader) + validation_steps = ( + min(args.max_validation_steps, len(val_dataloader)) + if args.max_validation_steps is not None + else len(val_dataloader) + ) # training loop if initial_step > 0: # only if skip_until_initial_step is specified @@ -1689,7 +1693,7 @@ def setup_parser() -> argparse.ArgumentParser: "--validate_every_n_steps", type=int, default=None, - help="Run validation on validation dataset every N steps if a validation dataset is available / 検証データセットが利用可能な場合は、Nステップごとに検証データセットの検証を実行します" + help="Run validation on validation dataset every N steps. By default, validation will only occur every epoch if a validation dataset is available / 検証データセットの検証をNステップごとに実行します。デフォルトでは、検証データセットが利用可能な場合にのみ、検証はエポックごとに実行されます" ) parser.add_argument( "--validate_every_n_epochs", From 1231f5114ccd6a0a26a53da82b89083299ccc333 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Tue, 7 Jan 2025 22:31:41 -0500 Subject: [PATCH 411/748] Remove unused train_util code, fix accelerate.log for wandb, add init_trackers library code --- library/train_util.py | 70 ++++++++++++++++--------------------------- train_network.py | 66 ++++++++++++++++++++-------------------- 2 files changed, 59 insertions(+), 77 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index 0907a8c03..b8894752e 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -5900,51 +5900,9 @@ def save_sd_model_on_train_end_common( huggingface_util.upload(args, out_dir, "/" + model_name, force_sync_upload=True) -def get_timesteps(min_timestep: int, max_timestep: int, b_size: int, device: torch.device = torch.device("cpu")) -> torch.IntTensor: +def get_timesteps(min_timestep: int, max_timestep: int, b_size: int, device: torch.device = torch.device("cpu")) -> torch.Tensor: timesteps = torch.randint(min_timestep, max_timestep, (b_size,), device=device) - return timesteps - - - - -def modify_noise(args, noise: torch.Tensor, latents: torch.Tensor) -> torch.FloatTensor: - """ - Apply noise modifications like noise offset and multires noise - """ - if args.noise_offset: - if args.noise_offset_random_strength: - noise_offset = torch.rand(1, device=latents.device) * args.noise_offset - else: - noise_offset = args.noise_offset - noise = custom_train_functions.apply_noise_offset(latents, noise, noise_offset, args.adaptive_noise_scale) - if args.multires_noise_iterations: - noise = custom_train_functions.pyramid_noise_like( - noise, latents.device, args.multires_noise_iterations, args.multires_noise_discount - ) - return noise - - -def make_noise(args, latents: torch.Tensor) -> torch.FloatTensor: - """ - Make a noise tensor to denoise and apply noise modifications (noise offset, multires noise). See `modify_noise` - """ - # Sample noise that we'll add to the latents - noise = torch.randn_like(latents, device=latents.device) - noise = modify_noise(args, noise, latents) - - return typing.cast(torch.FloatTensor, noise) - - -def make_random_timesteps(args, noise_scheduler: DDPMScheduler, batch_size: int, device: torch.device) -> torch.IntTensor: - """ - From args, produce random timesteps for each image in the batch - """ - min_timestep = 0 if args.min_timestep is None else args.min_timestep - max_timestep = noise_scheduler.config.get('num_train_timesteps', 1000) if args.max_timestep is None else args.max_timestep - - # Sample a random timestep for each image - timesteps = get_timesteps(min_timestep, max_timestep, batch_size, device) - + timesteps = timesteps.long().to(device) return timesteps @@ -6457,6 +6415,30 @@ def sample_image_inference( wandb_tracker.log({f"sample_{i}": wandb.Image(image, caption=prompt)}, commit=False) # positive prompt as a caption +def init_trackers(accelerator: Accelerator, args: argparse.Namespace, default_tracker_name: str): + """ + Initialize experiment trackers with tracker specific behaviors + """ + if accelerator.is_main_process: + init_kwargs = {} + if args.wandb_run_name: + init_kwargs["wandb"] = {"name": args.wandb_run_name} + if args.log_tracker_config is not None: + init_kwargs = toml.load(args.log_tracker_config) + accelerator.init_trackers( + default_tracker_name if args.log_tracker_name is None else args.log_tracker_name, + config=get_sanitized_config_or_none(args), + init_kwargs=init_kwargs, + ) + + if "wandb" in [tracker.name for tracker in accelerator.trackers]: + import wandb + wandb_tracker = accelerator.get_tracker("wandb", unwrap=True) + + # Define specific metrics to handle validation and epochs "steps" + wandb_tracker.define_metric("epoch", hidden=True) + wandb_tracker.define_metric("val_step", hidden=True) + # endregion diff --git a/train_network.py b/train_network.py index d0596fcae..199f589b0 100644 --- a/train_network.py +++ b/train_network.py @@ -327,8 +327,8 @@ def process_batch( weight_dtype, accelerator, args, - text_encoding_strategy: strategy_sd.SdTextEncodingStrategy, - tokenize_strategy: strategy_sd.SdTokenizeStrategy, + text_encoding_strategy: strategy_base.TextEncodingStrategy, + tokenize_strategy: strategy_base.TokenizeStrategy, is_train=True, train_text_encoder=True, train_unet=True @@ -1183,17 +1183,7 @@ def load_model_hook(models, input_dir): noise_scheduler = self.get_noise_scheduler(args, accelerator.device) - if accelerator.is_main_process: - init_kwargs = {} - if args.wandb_run_name: - init_kwargs["wandb"] = {"name": args.wandb_run_name} - if args.log_tracker_config is not None: - init_kwargs = toml.load(args.log_tracker_config) - accelerator.init_trackers( - "network_train" if args.log_tracker_name is None else args.log_tracker_name, - config=train_util.get_sanitized_config_or_none(args), - init_kwargs=init_kwargs, - ) + train_util.init_trackers(accelerator, args, "network_train") loss_recorder = train_util.LossRecorder() val_step_loss_recorder = train_util.LossRecorder() @@ -1386,15 +1376,14 @@ def remove_model(old_ckpt_name): mean_norm, maximum_norm ) - # accelerator.log(logs, step=global_step) - accelerator.log(logs) + accelerator.log(logs, step=global_step) # VALIDATION PER STEP - should_validate_epoch = ( + should_validate_step = ( args.validate_every_n_steps is not None and global_step % args.validate_every_n_steps == 0 ) - if validation_steps > 0 and should_validate_epoch: + if validation_steps > 0 and should_validate_step: accelerator.print("Validating バリデーション処理...") val_progress_bar = tqdm( @@ -1406,6 +1395,9 @@ def remove_model(old_ckpt_name): if val_step >= validation_steps: break + # temporary, for batch processing + self.on_step_start(args, accelerator, network, text_encoders, unet, batch, weight_dtype) + loss = self.process_batch( batch, text_encoders, @@ -1428,18 +1420,22 @@ def remove_model(old_ckpt_name): val_progress_bar.set_postfix({ "val_avg_loss": val_step_loss_recorder.moving_average }) if is_tracking: - logs = {"loss/step_validation_current": current_loss} - # accelerator.log(logs, step=(len(val_dataloader) * epoch) + 1 + val_step) - accelerator.log(logs) + logs = { + "loss/validation/step/current": current_loss, + "val_step": (epoch * validation_steps) + val_step, + } + accelerator.log(logs, step=global_step) - logs = {"loss/step_validation_average": val_step_loss_recorder.moving_average} - # accelerator.log(logs, step=global_step) - accelerator.log(logs) + if is_tracking: + logs = { + "loss/validation/step/average": val_step_loss_recorder.moving_average, + } + accelerator.log(logs, step=global_step) if global_step >= args.max_train_steps: break - # VALIDATION EPOCH + # EPOCH VALIDATION should_validate_epoch = ( (epoch + 1) % args.validate_every_n_epochs == 0 if args.validate_every_n_epochs is not None @@ -1458,6 +1454,9 @@ def remove_model(old_ckpt_name): if val_step >= validation_steps: break + # temporary, for batch processing + self.on_step_start(args, accelerator, network, text_encoders, unet, batch, weight_dtype) + loss = self.process_batch( batch, text_encoders, @@ -1480,21 +1479,22 @@ def remove_model(old_ckpt_name): val_progress_bar.set_postfix({ "val_epoch_avg_loss": val_epoch_loss_recorder.moving_average }) if is_tracking: - logs = {"loss/epoch_validation_current": current_loss} - # accelerator.log(logs, step=(len(val_dataloader) * epoch) + 1 + val_step) - accelerator.log(logs) + logs = { + "loss/validation/epoch_current": current_loss, + "epoch": epoch + 1, + "val_step": (epoch * validation_steps) + val_step + } + accelerator.log(logs, step=global_step) if is_tracking: avr_loss: float = val_epoch_loss_recorder.moving_average - logs = {"loss/epoch_validation_average": avr_loss} - # accelerator.log(logs, step=epoch + 1) - accelerator.log(logs) + logs = {"loss/validation/epoch_average": avr_loss, "epoch": epoch + 1} + accelerator.log(logs, step=global_step) # END OF EPOCH if is_tracking: - logs = {"loss/epoch_average": loss_recorder.moving_average} - # accelerator.log(logs, step=epoch + 1) - accelerator.log(logs) + logs = {"loss/epoch_average": loss_recorder.moving_average, "epoch": epoch + 1} + accelerator.log(logs, step=global_step) accelerator.wait_for_everyone() From 556f3f1696eadcc16ee77425243b732a84c7a2aa Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Wed, 8 Jan 2025 13:41:15 -0500 Subject: [PATCH 412/748] Fix documentation, remove unused function, fix bucket reso for sd1.5, fix multiple datasets --- library/config_util.py | 6 +++--- library/train_util.py | 25 ++++--------------------- train_network.py | 5 +---- 3 files changed, 8 insertions(+), 28 deletions(-) diff --git a/library/config_util.py b/library/config_util.py index 63d28c969..de1e154a1 100644 --- a/library/config_util.py +++ b/library/config_util.py @@ -481,9 +481,9 @@ def generate_dataset_group_by_blueprint(dataset_group_blueprint: DatasetGroupBlu subset_klass = FineTuningSubset dataset_klass = FineTuningDataset - subsets = [subset_klass(**asdict(subset_blueprint.params)) for subset_blueprint in dataset_blueprint.subsets] - dataset = dataset_klass(subsets=subsets, is_training_dataset=True, **asdict(dataset_blueprint.params)) - datasets.append(dataset) + subsets = [subset_klass(**asdict(subset_blueprint.params)) for subset_blueprint in dataset_blueprint.subsets] + dataset = dataset_klass(subsets=subsets, is_training_dataset=True, **asdict(dataset_blueprint.params)) + datasets.append(dataset) val_datasets: List[Union[DreamBoothDataset, FineTuningDataset, ControlNetDataset]] = [] for dataset_blueprint in dataset_group_blueprint.datasets: diff --git a/library/train_util.py b/library/train_util.py index b8894752e..62aae37ef 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -152,11 +152,11 @@ def split_train_val(paths: List[str], is_training_dataset: bool, validation_spli Shuffle the dataset based on the validation_seed or the current random seed. For example if the split of 0.2 of 100 images. - [0:79] = 80 training images + [0:80] = 80 training images [80:] = 20 validation images """ if validation_seed is not None: - print(f"Using validation seed: {validation_seed}") + logging.info(f"Using validation seed: {validation_seed}") prevstate = random.getstate() random.seed(validation_seed) random.shuffle(paths) @@ -5900,8 +5900,8 @@ def save_sd_model_on_train_end_common( huggingface_util.upload(args, out_dir, "/" + model_name, force_sync_upload=True) -def get_timesteps(min_timestep: int, max_timestep: int, b_size: int, device: torch.device = torch.device("cpu")) -> torch.Tensor: - timesteps = torch.randint(min_timestep, max_timestep, (b_size,), device=device) +def get_timesteps(min_timestep: int, max_timestep: int, b_size: int, device: torch.device) -> torch.Tensor: + timesteps = torch.randint(min_timestep, max_timestep, (b_size,), device="cpu") timesteps = timesteps.long().to(device) return timesteps @@ -5964,23 +5964,6 @@ def get_huber_threshold_if_needed(args, timesteps: torch.Tensor, noise_scheduler return result -def get_noisy_latents(args, noise: torch.FloatTensor, noise_scheduler: DDPMScheduler, latents: torch.FloatTensor, timesteps: torch.IntTensor) -> torch.FloatTensor: - """ - Add noise to the latents according to the noise magnitude at each timestep - (this is the forward diffusion process) - """ - if args.ip_noise_gamma: - if args.ip_noise_gamma_random_strength: - strength = torch.rand(1, device=latents.device) * args.ip_noise_gamma - else: - strength = args.ip_noise_gamma - noisy_latents = noise_scheduler.add_noise(latents, noise + strength * torch.randn_like(latents), timesteps) - else: - noisy_latents = noise_scheduler.add_noise(latents, noise, timesteps) - - return noisy_latents - - def conditional_loss( model_pred: torch.Tensor, target: torch.Tensor, loss_type: str, reduction: str, huber_c: Optional[torch.Tensor] = None ): diff --git a/train_network.py b/train_network.py index 199f589b0..7dbd12e88 100644 --- a/train_network.py +++ b/train_network.py @@ -125,10 +125,7 @@ def generate_step_logs( return logs def assert_extra_args(self, args, train_dataset_group): - # train_dataset_group.verify_bucket_reso_steps(64) - # TODO: Number of bucket reso steps may differ for each model, so a static number won't work - # and prevents models like SD1.5 with 64 - pass + train_dataset_group.verify_bucket_reso_steps(32) def load_target_model(self, args, weight_dtype, accelerator): text_encoder, vae, unet, _ = train_util.load_target_model(args, weight_dtype, accelerator) From 9fde0d797282c0cb9fcea01682e2e6e2eece47bc Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Wed, 8 Jan 2025 18:38:20 -0500 Subject: [PATCH 413/748] Handle tuple return from generate_dataset_group_by_blueprint --- fine_tune.py | 4 ++-- flux_train.py | 3 ++- flux_train_control_net.py | 4 ++-- library/config_util.py | 2 +- sd3_train.py | 3 ++- sdxl_train.py | 3 ++- sdxl_train_control_net.py | 2 +- sdxl_train_control_net_lllite.py | 2 +- sdxl_train_control_net_lllite_old.py | 2 +- tools/cache_latents.py | 3 ++- tools/cache_text_encoder_outputs.py | 3 ++- train_control_net.py | 2 +- train_db.py | 3 ++- train_textual_inversion.py | 3 ++- train_textual_inversion_XTI.py | 2 +- 15 files changed, 24 insertions(+), 17 deletions(-) diff --git a/fine_tune.py b/fine_tune.py index 176087065..6be2f98ca 100644 --- a/fine_tune.py +++ b/fine_tune.py @@ -91,9 +91,9 @@ def train(args): } blueprint = blueprint_generator.generate(user_config, args) - train_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) + train_dataset_group, val_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) else: - train_dataset_group = train_util.load_arbitrary_dataset(args) + train_dataset_group, val_dataset_group = train_util.load_arbitrary_dataset(args) current_epoch = Value("i", 0) current_step = Value("i", 0) diff --git a/flux_train.py b/flux_train.py index fced3bef9..6f98adea8 100644 --- a/flux_train.py +++ b/flux_train.py @@ -138,9 +138,10 @@ def train(args): } blueprint = blueprint_generator.generate(user_config, args) - train_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) + train_dataset_group, val_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) else: train_dataset_group = train_util.load_arbitrary_dataset(args) + val_dataset_group = None current_epoch = Value("i", 0) current_step = Value("i", 0) diff --git a/flux_train_control_net.py b/flux_train_control_net.py index 9d36a41d3..54dec2a77 100644 --- a/flux_train_control_net.py +++ b/flux_train_control_net.py @@ -126,9 +126,9 @@ def train(args): } blueprint = blueprint_generator.generate(user_config, args) - train_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) + train_dataset_group, val_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) else: - train_dataset_group = train_util.load_arbitrary_dataset(args) + train_dataset_group, val_dataset_group = train_util.load_arbitrary_dataset(args) current_epoch = Value("i", 0) current_step = Value("i", 0) diff --git a/library/config_util.py b/library/config_util.py index de1e154a1..834d6bfaf 100644 --- a/library/config_util.py +++ b/library/config_util.py @@ -467,7 +467,7 @@ def search_value(key: str, fallbacks: Sequence[dict], default_value=None): return default_value -def generate_dataset_group_by_blueprint(dataset_group_blueprint: DatasetGroupBlueprint): +def generate_dataset_group_by_blueprint(dataset_group_blueprint: DatasetGroupBlueprint) -> Tuple[DatasetGroup, Optional[DatasetGroup]]: datasets: List[Union[DreamBoothDataset, FineTuningDataset, ControlNetDataset]] = [] for dataset_blueprint in dataset_group_blueprint.datasets: diff --git a/sd3_train.py b/sd3_train.py index 120455e7b..3bff6a50f 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -149,9 +149,10 @@ def train(args): } blueprint = blueprint_generator.generate(user_config, args) - train_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) + train_dataset_group, val_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) else: train_dataset_group = train_util.load_arbitrary_dataset(args) + val_dataset_group = None current_epoch = Value("i", 0) current_step = Value("i", 0) diff --git a/sdxl_train.py b/sdxl_train.py index b9d529243..a60f6df63 100644 --- a/sdxl_train.py +++ b/sdxl_train.py @@ -176,9 +176,10 @@ def train(args): } blueprint = blueprint_generator.generate(user_config, args) - train_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) + train_dataset_group, val_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) else: train_dataset_group = train_util.load_arbitrary_dataset(args) + val_dataset_group = None current_epoch = Value("i", 0) current_step = Value("i", 0) diff --git a/sdxl_train_control_net.py b/sdxl_train_control_net.py index ffbf03cab..c6e8136f7 100644 --- a/sdxl_train_control_net.py +++ b/sdxl_train_control_net.py @@ -114,7 +114,7 @@ def train(args): } blueprint = blueprint_generator.generate(user_config, args) - train_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) + train_dataset_group, val_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) current_epoch = Value("i", 0) current_step = Value("i", 0) diff --git a/sdxl_train_control_net_lllite.py b/sdxl_train_control_net_lllite.py index 365059b75..00e51a673 100644 --- a/sdxl_train_control_net_lllite.py +++ b/sdxl_train_control_net_lllite.py @@ -123,7 +123,7 @@ def train(args): } blueprint = blueprint_generator.generate(user_config, args) - train_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) + train_dataset_group, val_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) current_epoch = Value("i", 0) current_step = Value("i", 0) diff --git a/sdxl_train_control_net_lllite_old.py b/sdxl_train_control_net_lllite_old.py index 5b372befc..63457cc61 100644 --- a/sdxl_train_control_net_lllite_old.py +++ b/sdxl_train_control_net_lllite_old.py @@ -103,7 +103,7 @@ def train(args): } blueprint = blueprint_generator.generate(user_config, args, tokenizer=[tokenizer1, tokenizer2]) - train_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) + train_dataset_group, val_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) current_epoch = Value("i", 0) current_step = Value("i", 0) diff --git a/tools/cache_latents.py b/tools/cache_latents.py index c034f949a..515ece98d 100644 --- a/tools/cache_latents.py +++ b/tools/cache_latents.py @@ -116,10 +116,11 @@ def cache_to_disk(args: argparse.Namespace) -> None: } blueprint = blueprint_generator.generate(user_config, args) - train_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) + train_dataset_group, val_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) else: # use arbitrary dataset class train_dataset_group = train_util.load_arbitrary_dataset(args) + val_dataset_group = None # acceleratorを準備する logger.info("prepare accelerator") diff --git a/tools/cache_text_encoder_outputs.py b/tools/cache_text_encoder_outputs.py index 5888b8e3d..00459658e 100644 --- a/tools/cache_text_encoder_outputs.py +++ b/tools/cache_text_encoder_outputs.py @@ -103,10 +103,11 @@ def cache_to_disk(args: argparse.Namespace) -> None: } blueprint = blueprint_generator.generate(user_config, args) - train_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) + train_dataset_group, val_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) else: # use arbitrary dataset class train_dataset_group = train_util.load_arbitrary_dataset(args) + val_dataset_group = None # acceleratorを準備する logger.info("prepare accelerator") diff --git a/train_control_net.py b/train_control_net.py index 177d2b11f..ba016ac5d 100644 --- a/train_control_net.py +++ b/train_control_net.py @@ -100,7 +100,7 @@ def train(args): } blueprint = blueprint_generator.generate(user_config, args, tokenizer=tokenizer) - train_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) + train_dataset_group, val_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) current_epoch = Value("i", 0) current_step = Value("i", 0) diff --git a/train_db.py b/train_db.py index ad21f8d1b..edd674034 100644 --- a/train_db.py +++ b/train_db.py @@ -89,9 +89,10 @@ def train(args): } blueprint = blueprint_generator.generate(user_config, args) - train_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) + train_dataset_group, val_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) else: train_dataset_group = train_util.load_arbitrary_dataset(args) + val_dataset_group = None current_epoch = Value("i", 0) current_step = Value("i", 0) diff --git a/train_textual_inversion.py b/train_textual_inversion.py index 65da4859b..113f35997 100644 --- a/train_textual_inversion.py +++ b/train_textual_inversion.py @@ -320,9 +320,10 @@ def train(self, args): } blueprint = blueprint_generator.generate(user_config, args) - train_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) + train_dataset_group, val_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) else: train_dataset_group = train_util.load_arbitrary_dataset(args) + val_dataset_group = None self.assert_extra_args(args, train_dataset_group) diff --git a/train_textual_inversion_XTI.py b/train_textual_inversion_XTI.py index 2a2b42310..6ff97d03f 100644 --- a/train_textual_inversion_XTI.py +++ b/train_textual_inversion_XTI.py @@ -239,7 +239,7 @@ def train(args): } blueprint = blueprint_generator.generate(user_config, args, tokenizer=tokenizer) - train_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) + train_dataset_group, val_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) train_dataset_group.enable_XTI(XTI_layers, token_strings=token_strings) current_epoch = Value("i", 0) current_step = Value("i", 0) From 1e61392cf2f601e1c66aaede6846ef70f599c34f Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Wed, 8 Jan 2025 18:43:26 -0500 Subject: [PATCH 414/748] Revert bucket_reso_steps to correct 64 --- train_network.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/train_network.py b/train_network.py index 7dbd12e88..7e9f12659 100644 --- a/train_network.py +++ b/train_network.py @@ -125,7 +125,7 @@ def generate_step_logs( return logs def assert_extra_args(self, args, train_dataset_group): - train_dataset_group.verify_bucket_reso_steps(32) + train_dataset_group.verify_bucket_reso_steps(64) def load_target_model(self, args, weight_dtype, accelerator): text_encoder, vae, unet, _ = train_util.load_target_model(args, weight_dtype, accelerator) From d6f158ddf6a3631df7db10ac97453b12de8eadbe Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Wed, 8 Jan 2025 18:48:05 -0500 Subject: [PATCH 415/748] Fix incorrect destructoring for load_abritrary_dataset --- fine_tune.py | 3 ++- flux_train_control_net.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/fine_tune.py b/fine_tune.py index 6be2f98ca..e1ed47496 100644 --- a/fine_tune.py +++ b/fine_tune.py @@ -93,7 +93,8 @@ def train(args): blueprint = blueprint_generator.generate(user_config, args) train_dataset_group, val_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) else: - train_dataset_group, val_dataset_group = train_util.load_arbitrary_dataset(args) + train_dataset_group = train_util.load_arbitrary_dataset(args) + val_dataset_group = None current_epoch = Value("i", 0) current_step = Value("i", 0) diff --git a/flux_train_control_net.py b/flux_train_control_net.py index 54dec2a77..cecd00019 100644 --- a/flux_train_control_net.py +++ b/flux_train_control_net.py @@ -128,7 +128,8 @@ def train(args): blueprint = blueprint_generator.generate(user_config, args) train_dataset_group, val_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) else: - train_dataset_group, val_dataset_group = train_util.load_arbitrary_dataset(args) + train_dataset_group = train_util.load_arbitrary_dataset(args) + val_dataset_group = None current_epoch = Value("i", 0) current_step = Value("i", 0) From 264167fa1636c79f106c63c3cdb67b6bee80aceb Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Thu, 9 Jan 2025 12:43:58 -0500 Subject: [PATCH 416/748] Apply is_training_dataset only to DreamBoothDataset. Add validation_split check and warning --- library/config_util.py | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/library/config_util.py b/library/config_util.py index 834d6bfaf..a2e07dc6c 100644 --- a/library/config_util.py +++ b/library/config_util.py @@ -471,36 +471,49 @@ def generate_dataset_group_by_blueprint(dataset_group_blueprint: DatasetGroupBlu datasets: List[Union[DreamBoothDataset, FineTuningDataset, ControlNetDataset]] = [] for dataset_blueprint in dataset_group_blueprint.datasets: + extra_dataset_params = {} + if dataset_blueprint.is_controlnet: subset_klass = ControlNetSubset dataset_klass = ControlNetDataset elif dataset_blueprint.is_dreambooth: subset_klass = DreamBoothSubset dataset_klass = DreamBoothDataset + # DreamBooth datasets support splitting training and validation datasets + extra_dataset_params = {"is_training_dataset": True} else: subset_klass = FineTuningSubset dataset_klass = FineTuningDataset subsets = [subset_klass(**asdict(subset_blueprint.params)) for subset_blueprint in dataset_blueprint.subsets] - dataset = dataset_klass(subsets=subsets, is_training_dataset=True, **asdict(dataset_blueprint.params)) + dataset = dataset_klass(subsets=subsets, **asdict(dataset_blueprint.params), **extra_dataset_params) datasets.append(dataset) val_datasets: List[Union[DreamBoothDataset, FineTuningDataset, ControlNetDataset]] = [] for dataset_blueprint in dataset_group_blueprint.datasets: - if dataset_blueprint.params.validation_split <= 0.0: + if dataset_blueprint.params.validation_split < 0.0 or dataset_blueprint.params.validation_split > 1.0: + logging.warning(f"Dataset param `validation_split` ({dataset_blueprint.params.validation_split}) is not a valid number between 0.0 and 1.0, skipping validation split...") + continue + + # if the dataset isn't setting a validation split, there is no current validation dataset + if dataset_blueprint.params.validation_split == 0.0: continue + + extra_dataset_params = {} if dataset_blueprint.is_controlnet: subset_klass = ControlNetSubset dataset_klass = ControlNetDataset elif dataset_blueprint.is_dreambooth: subset_klass = DreamBoothSubset dataset_klass = DreamBoothDataset + # DreamBooth datasets support splitting training and validation datasets + extra_dataset_params = {"is_training_dataset": False} else: subset_klass = FineTuningSubset dataset_klass = FineTuningDataset subsets = [subset_klass(**asdict(subset_blueprint.params)) for subset_blueprint in dataset_blueprint.subsets] - dataset = dataset_klass(subsets=subsets, is_training_dataset=False, **asdict(dataset_blueprint.params)) + dataset = dataset_klass(subsets=subsets, **asdict(dataset_blueprint.params), **extra_dataset_params) val_datasets.append(dataset) def print_info(_datasets, dataset_type: str): From 4c61adc9965df6861ae3705c96143f4299074744 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Sun, 12 Jan 2025 13:18:26 -0500 Subject: [PATCH 417/748] Add divergence to logs Divergence is the difference between training and validation to allow a clear value to indicate the difference between the two in the logs. --- train_network.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/train_network.py b/train_network.py index 7e9f12659..5ed92b7e2 100644 --- a/train_network.py +++ b/train_network.py @@ -1418,14 +1418,16 @@ def remove_model(old_ckpt_name): if is_tracking: logs = { - "loss/validation/step/current": current_loss, + "loss/validation/step_current": current_loss, "val_step": (epoch * validation_steps) + val_step, } accelerator.log(logs, step=global_step) if is_tracking: + loss_validation_divergence = val_step_loss_recorder.moving_average - loss_recorder.moving_average logs = { - "loss/validation/step/average": val_step_loss_recorder.moving_average, + "loss/validation/step_average": val_step_loss_recorder.moving_average, + "loss/validation/step_divergence": loss_validation_divergence, } accelerator.log(logs, step=global_step) @@ -1485,7 +1487,12 @@ def remove_model(old_ckpt_name): if is_tracking: avr_loss: float = val_epoch_loss_recorder.moving_average - logs = {"loss/validation/epoch_average": avr_loss, "epoch": epoch + 1} + loss_validation_divergence = val_step_loss_recorder.moving_average - avr_loss + logs = { + "loss/validation/epoch_average": avr_loss, + "loss/validation/epoch_divergence": loss_validation_divergence, + "epoch": epoch + 1 + } accelerator.log(logs, step=global_step) # END OF EPOCH From 2bbb40ce51d5be3ce8c3e1990d30455201f9e852 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Sun, 12 Jan 2025 14:29:50 -0500 Subject: [PATCH 418/748] Fix regularization images with validation Adding metadata recording for validation arguments Add comments about the validation split for clarity of intention --- library/train_util.py | 33 +++++++++++++++++++++++++++++++-- train_network.py | 7 +++++++ 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index 62aae37ef..6d3a772bb 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -146,7 +146,12 @@ TEXT_ENCODER_OUTPUTS_CACHE_SUFFIX = "_te_outputs.npz" TEXT_ENCODER_OUTPUTS_CACHE_SUFFIX_SD3 = "_sd3_te.npz" -def split_train_val(paths: List[str], is_training_dataset: bool, validation_split: float, validation_seed: int) -> List[str]: +def split_train_val( + paths: List[str], + is_training_dataset: bool, + validation_split: float, + validation_seed: int | None +) -> List[str]: """ Split the dataset into train and validation @@ -1830,6 +1835,9 @@ def get_item_for_caching(self, bucket, bucket_batch_size, image_index): class DreamBoothDataset(BaseDataset): IMAGE_INFO_CACHE_FILE = "metadata_cache.json" + # The is_training_dataset defines the type of dataset, training or validation + # if is_training_dataset is True -> training dataset + # if is_training_dataset is False -> validation dataset def __init__( self, subsets: Sequence[DreamBoothSubset], @@ -1965,8 +1973,29 @@ def load_dreambooth_dir(subset: DreamBoothSubset): size_set_count += 1 logger.info(f"set image size from cache files: {size_set_count}/{len(img_paths)}") + # We want to create a training and validation split. This should be improved in the future + # to allow a clearer distinction between training and validation. This can be seen as a + # short-term solution to limit what is necessary to implement validation datasets + # + # We split the dataset for the subset based on if we are doing a validation split + # The self.is_training_dataset defines the type of dataset, training or validation + # if self.is_training_dataset is True -> training dataset + # if self.is_training_dataset is False -> validation dataset if self.validation_split > 0.0: - img_paths = split_train_val(img_paths, self.is_training_dataset, self.validation_split, self.validation_seed) + # For regularization images we do not want to split this dataset. + if subset.is_reg is True: + # Skip any validation dataset for regularization images + if self.is_training_dataset is False: + img_paths = [] + # Otherwise the img_paths remain as original img_paths and no split + # required for training images dataset of regularization images + else: + img_paths = split_train_val( + img_paths, + self.is_training_dataset, + self.validation_split, + self.validation_seed + ) logger.info(f"found directory {subset.image_dir} contains {len(img_paths)} image files") diff --git a/train_network.py b/train_network.py index 5ed92b7e2..605dbc60c 100644 --- a/train_network.py +++ b/train_network.py @@ -898,6 +898,7 @@ def load_model_hook(models, input_dir): accelerator.print("running training / 学習開始") accelerator.print(f" num train images * repeats / 学習画像の数×繰り返し回数: {train_dataset_group.num_train_images}") + accelerator.print(f" num validation images * repeats / 学習画像の数×繰り返し回数: {val_dataset_group.num_train_images if val_dataset_group is not None else 0}") accelerator.print(f" num reg images / 正則化画像の数: {train_dataset_group.num_reg_images}") accelerator.print(f" num batches per epoch / 1epochのバッチ数: {len(train_dataloader)}") accelerator.print(f" num epochs / epoch数: {num_train_epochs}") @@ -917,6 +918,7 @@ def load_model_hook(models, input_dir): "ss_text_encoder_lr": text_encoder_lr, "ss_unet_lr": args.unet_lr, "ss_num_train_images": train_dataset_group.num_train_images, + "ss_num_validation_images": val_dataset_group.num_train_images if val_dataset_group is not None else 0, "ss_num_reg_images": train_dataset_group.num_reg_images, "ss_num_batches_per_epoch": len(train_dataloader), "ss_num_epochs": num_train_epochs, @@ -964,6 +966,11 @@ def load_model_hook(models, input_dir): "ss_huber_c": args.huber_c, "ss_fp8_base": bool(args.fp8_base), "ss_fp8_base_unet": bool(args.fp8_base_unet), + "ss_validation_seed": args.validation_seed, + "ss_validation_split": args.validation_split, + "ss_max_validation_steps": args.max_validation_steps, + "ss_validate_every_n_epochs": args.validate_every_n_epochs, + "ss_validate_every_n_steps": args.validate_every_n_steps, } self.update_metadata(metadata, args) # architecture specific metadata From 0456858992909ca0b821ec1b2ca40fa633113224 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Sun, 12 Jan 2025 14:47:49 -0500 Subject: [PATCH 419/748] Fix validate_every_n_steps always running first step --- train_network.py | 1 + 1 file changed, 1 insertion(+) diff --git a/train_network.py b/train_network.py index 605dbc60c..75e36dca9 100644 --- a/train_network.py +++ b/train_network.py @@ -1385,6 +1385,7 @@ def remove_model(old_ckpt_name): # VALIDATION PER STEP should_validate_step = ( args.validate_every_n_steps is not None + and global_step != 0 # Skip first step and global_step % args.validate_every_n_steps == 0 ) if validation_steps > 0 and should_validate_step: From ee9265cf2678df5c9dfa6c1148d20fb738a9e6ce Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Sun, 12 Jan 2025 14:56:35 -0500 Subject: [PATCH 420/748] Fix validate_every_n_steps for gradient accumulation --- train_network.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/train_network.py b/train_network.py index 75e36dca9..2f3203c94 100644 --- a/train_network.py +++ b/train_network.py @@ -1388,7 +1388,7 @@ def remove_model(old_ckpt_name): and global_step != 0 # Skip first step and global_step % args.validate_every_n_steps == 0 ) - if validation_steps > 0 and should_validate_step: + if accelerator.sync_gradients and validation_steps > 0 and should_validate_step: accelerator.print("Validating バリデーション処理...") val_progress_bar = tqdm( From 25929dd0d733144859008479c374968102e5d3a3 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Sun, 12 Jan 2025 15:38:57 -0500 Subject: [PATCH 421/748] Remove Validating... print to fix output layout --- train_network.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/train_network.py b/train_network.py index 2f3203c94..e7d93a108 100644 --- a/train_network.py +++ b/train_network.py @@ -1389,8 +1389,6 @@ def remove_model(old_ckpt_name): and global_step % args.validate_every_n_steps == 0 ) if accelerator.sync_gradients and validation_steps > 0 and should_validate_step: - accelerator.print("Validating バリデーション処理...") - val_progress_bar = tqdm( range(validation_steps), smoothing=0, disable=not accelerator.is_local_main_process, @@ -1450,7 +1448,6 @@ def remove_model(old_ckpt_name): ) if should_validate_epoch and len(val_dataloader) > 0: - accelerator.print("Validating バリデーション処理...") val_progress_bar = tqdm( range(validation_steps), smoothing=0, disable=not accelerator.is_local_main_process, From b489082495ba6779385f282797227799413715f5 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Sun, 12 Jan 2025 16:42:04 -0500 Subject: [PATCH 422/748] Disable repeats for validation datasets --- library/train_util.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index 6d3a772bb..4d143c373 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -2055,9 +2055,10 @@ def load_dreambooth_dir(subset: DreamBoothSubset): num_reg_images = 0 reg_infos: List[Tuple[ImageInfo, DreamBoothSubset]] = [] for subset in subsets: - if subset.num_repeats < 1: + num_repeats = subset.num_repeats if self.is_training_dataset else 1 + if num_repeats < 1: logger.warning( - f"ignore subset with image_dir='{subset.image_dir}': num_repeats is less than 1 / num_repeatsが1を下回っているためサブセットを無視します: {subset.num_repeats}" + f"ignore subset with image_dir='{subset.image_dir}': num_repeats is less than 1 / num_repeatsが1を下回っているためサブセットを無視します: {num_repeats}" ) continue @@ -2075,12 +2076,12 @@ def load_dreambooth_dir(subset: DreamBoothSubset): continue if subset.is_reg: - num_reg_images += subset.num_repeats * len(img_paths) + num_reg_images += num_repeats * len(img_paths) else: - num_train_images += subset.num_repeats * len(img_paths) + num_train_images += num_repeats * len(img_paths) for img_path, caption, size in zip(img_paths, captions, sizes): - info = ImageInfo(img_path, subset.num_repeats, caption, subset.is_reg, img_path) + info = ImageInfo(img_path, num_repeats, caption, subset.is_reg, img_path) if size is not None: info.image_size = size if subset.is_reg: From 345daaa986cdbcaedb6840997390f3d86846d677 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Fri, 17 Jan 2025 23:22:38 +0900 Subject: [PATCH 423/748] update README for merging --- README-ja.md | 8 ++++++-- README.md | 23 +++++++++++++++++++---- 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/README-ja.md b/README-ja.md index 27cc56c34..60249f61e 100644 --- a/README-ja.md +++ b/README-ja.md @@ -36,6 +36,8 @@ Python 3.10.6およびGitが必要です。 - Python 3.10.6: https://www.python.org/ftp/python/3.10.6/python-3.10.6-amd64.exe - git: https://git-scm.com/download/win +Python 3.10.x、3.11.x、3.12.xでも恐らく動作しますが、3.10.6でテストしています。 + PowerShellを使う場合、venvを使えるようにするためには以下の手順でセキュリティ設定を変更してください。 (venvに限らずスクリプトの実行が可能になりますので注意してください。) @@ -45,7 +47,7 @@ PowerShellを使う場合、venvを使えるようにするためには以下の ## Windows環境でのインストール -スクリプトはPyTorch 2.1.2でテストしています。PyTorch 2.0.1、1.12.1でも動作すると思われます。 +スクリプトはPyTorch 2.1.2でテストしています。PyTorch 2.2以降でも恐らく動作します。 (なお、python -m venv~の行で「python」とだけ表示された場合、py -m venv~のようにpythonをpyに変更してください。) @@ -67,10 +69,12 @@ accelerate config コマンドプロンプトでも同一です。 -注:`bitsandbytes==0.43.0`、`prodigyopt==1.0`、`lion-pytorch==0.0.6` は `requirements.txt` に含まれるようになりました。他のバージョンを使う場合は適宜インストールしてください。 +注:`bitsandbytes==0.44.0`、`prodigyopt==1.0`、`lion-pytorch==0.0.6` は `requirements.txt` に含まれるようになりました。他のバージョンを使う場合は適宜インストールしてください。 この例では PyTorch および xfomers は2.1.2/CUDA 11.8版をインストールします。CUDA 12.1版やPyTorch 1.12.1を使う場合は適宜書き換えください。たとえば CUDA 12.1版の場合は `pip install torch==2.1.2 torchvision==0.16.2 --index-url https://download.pytorch.org/whl/cu121` および `pip install xformers==0.0.23.post1 --index-url https://download.pytorch.org/whl/cu121` としてください。 +PyTorch 2.2以降を用いる場合は、`torch==2.1.2` と `torchvision==0.16.2` 、および `xformers==0.0.23.post1` を適宜変更してください。 + accelerate configの質問には以下のように答えてください。(bf16で学習する場合、最後の質問にはbf16と答えてください。) ```txt diff --git a/README.md b/README.md index 73564cb29..6beee5e3a 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ This repository contains the scripts for: The file does not contain requirements for PyTorch. Because the version of PyTorch depends on the environment, it is not included in the file. Please install PyTorch first according to the environment. See installation instructions below. -The scripts are tested with Pytorch 2.1.2. 2.0.1 and 1.12.1 is not tested but should work. +The scripts are tested with Pytorch 2.1.2. PyTorch 2.2 or later will work. Please install the appropriate version of PyTorch and xformers. ## Links to usage documentation @@ -52,6 +52,8 @@ Python 3.10.6 and Git: - Python 3.10.6: https://www.python.org/ftp/python/3.10.6/python-3.10.6-amd64.exe - git: https://git-scm.com/download/win +Python 3.10.x, 3.11.x, and 3.12.x will work but not tested. + Give unrestricted script access to powershell so venv can work: - Open an administrator powershell window @@ -78,10 +80,12 @@ accelerate config If `python -m venv` shows only `python`, change `python` to `py`. -__Note:__ Now `bitsandbytes==0.43.0`, `prodigyopt==1.0` and `lion-pytorch==0.0.6` are included in the requirements.txt. If you'd like to use the another version, please install it manually. +Note: Now `bitsandbytes==0.44.0`, `prodigyopt==1.0` and `lion-pytorch==0.0.6` are included in the requirements.txt. If you'd like to use the another version, please install it manually. This installation is for CUDA 11.8. If you use a different version of CUDA, please install the appropriate version of PyTorch and xformers. For example, if you use CUDA 12, please install `pip install torch==2.1.2 torchvision==0.16.2 --index-url https://download.pytorch.org/whl/cu121` and `pip install xformers==0.0.23.post1 --index-url https://download.pytorch.org/whl/cu121`. +If you use PyTorch 2.2 or later, please change `torch==2.1.2` and `torchvision==0.16.2` and `xformers==0.0.23.post1` to the appropriate version. + +This is an inference (image generation) script that supports SD 1.x and 2.x models, LoRA trained with this repository, ControlNet (only v1.0 has been confirmed to work), etc. It is used from the command line. + +# Overview + +* Inference (image generation) script. +* Supports SD 1.x and 2.x (base/v-parameterization) models. +* Supports txt2img, img2img, and inpainting. +* Supports interactive mode, prompt reading from files, and continuous generation. +* The number of images generated per prompt line can be specified. +* The total number of repetitions can be specified. +* Supports not only `fp16` but also `bf16`. +* Supports xformers for high-speed generation. + * Although xformers are used for memory-saving generation, it is not as optimized as Automatic 1111's Web UI, so it uses about 6GB of VRAM for 512*512 image generation. +* Extension of prompts to 225 tokens. Supports negative prompts and weighting. +* Supports various samplers from Diffusers (fewer samplers than Web UI). +* Supports clip skip (uses the output of the nth layer from the end) of Text Encoder. +* Separate loading of VAE. +* Supports CLIP Guided Stable Diffusion, VGG16 Guided Stable Diffusion, Highres. fix, and upscale. + * Highres. fix is an original implementation that has not confirmed the Web UI implementation at all, so the output results may differ. +* LoRA support. Supports application rate specification, simultaneous use of multiple LoRAs, and weight merging. + * It is not possible to specify different application rates for Text Encoder and U-Net. +* Supports Attention Couple. +* Supports ControlNet v1.0. +* Supports Deep Shrink for optimizing generation at different depths. +* Supports Gradual Latent for progressive upscaling during generation. +* Supports CLIP Vision Conditioning for img2img. +* It is not possible to switch models midway, but it can be handled by creating a batch file. +* Various personally desired features have been added. + +Since not all tests are performed when adding features, it is possible that previous features may be affected and some features may not work. Please let us know if you have any problems. + +# Basic Usage + +## Image Generation in Interactive Mode + +Enter as follows: + +```batchfile +python gen_img.py --ckpt --outdir --xformers --fp16 --interactive +``` + +Specify the model (Stable Diffusion checkpoint file or Diffusers model folder) in the `--ckpt` option and the image output destination folder in the `--outdir` option. + +Specify the use of xformers with the `--xformers` option (remove it if you do not use xformers). The `--fp16` option performs inference in fp16 (single precision). For RTX 30 series GPUs, you can also perform inference in bf16 (bfloat16) with the `--bf16` option. + +The `--interactive` option specifies interactive mode. + +If you are using Stable Diffusion 2.0 (or a model with additional training from it), add the `--v2` option. If you are using a model that uses v-parameterization (`768-v-ema.ckpt` and models with additional training from it), add `--v_parameterization` as well. + +If the `--v2` specification is incorrect, an error will occur when loading the model. If the `--v_parameterization` specification is incorrect, a brown image will be displayed. + +When `Type prompt:` is displayed, enter the prompt. + +![image](https://user-images.githubusercontent.com/52813779/235343115-f3b8ac82-456d-4aab-9724-0cc73c4534aa.png) + +*If the image is not displayed and an error occurs, headless (no screen display function) OpenCV may be installed. Install normal OpenCV with `pip install opencv-python`. Alternatively, stop image display with the `--no_preview` option. + +Select the image window and press any key to close the window and enter the next prompt. Press Ctrl+Z and then Enter in the prompt to close the script. + +## Batch Generation of Images with a Single Prompt + +Enter as follows (actually entered on one line): + +```batchfile +python gen_img.py --ckpt --outdir \ + --xformers --fp16 --images_per_prompt --prompt "" +``` + +Specify the number of images to generate per prompt with the `--images_per_prompt` option. Specify the prompt with the `--prompt` option. If it contains spaces, enclose it in double quotes. + +You can specify the batch size with the `--batch_size` option (described later). + +## Batch Generation by Reading Prompts from a File + +Enter as follows: + +```batchfile +python gen_img.py --ckpt --outdir \ + --xformers --fp16 --from_file +``` + +Specify the file containing the prompts with the `--from_file` option. Write one prompt per line. You can specify the number of images to generate per line with the `--images_per_prompt` option. + +## Using Negative Prompts and Weighting + +If you write `--n` in the prompt options (specified like `--x` in the prompt, described later), the following will be a negative prompt. + +Also, weighting with `()` and `[]`, `(xxx:1.3)`, etc., similar to AUTOMATIC1111's Web UI, is possible (the implementation is copied from Diffusers' [Long Prompt Weighting Stable Diffusion](https://github.com/huggingface/diffusers/blob/main/examples/community/README.md#long-prompt-weighting-stable-diffusion)). + +It can be specified similarly for prompt specification from the command line and prompt reading from files. + +![image](https://user-images.githubusercontent.com/52813779/235343128-e79cd768-ec59-46f5-8395-fce9bdc46208.png) + +# Main Options + +Specify from the command line. + +## Model Specification + +- `--ckpt `: Specifies the model name. The `--ckpt` option is mandatory. You can specify a Stable Diffusion checkpoint file, a Diffusers model folder, or a Hugging Face model ID. + +- `--v2`: Specify when using Stable Diffusion 2.x series models. Not required for 1.x series. + +- `--v_parameterization`: Specify when using models that use v-parameterization (`768-v-ema.ckpt` and models with additional training from it, Waifu Diffusion v1.5, etc.). + + If the `--v2` specification is incorrect, an error will occur when loading the model. If the `--v_parameterization` specification is incorrect, a brown image will be displayed. + +- `--vae`: Specifies the VAE to use. If not specified, the VAE in the model will be used. + +## Image Generation and Output + +- `--interactive`: Operates in interactive mode. Images are generated when prompts are entered. + +- `--prompt `: Specifies the prompt. If it contains spaces, enclose it in double quotes. + +- `--from_file `: Specifies the file containing the prompts. Write one prompt per line. Image size and guidance scale can be specified with prompt options (described later). + +- `--from_module `: Loads prompts from a Python module. The module should implement a `get_prompter(args, pipe, networks)` function. + +- `--W `: Specifies the width of the image. The default is `512`. + +- `--H `: Specifies the height of the image. The default is `512`. + +- `--steps `: Specifies the number of sampling steps. The default is `50`. + +- `--scale `: Specifies the unconditional guidance scale. The default is `7.5`. + +- `--sampler `: Specifies the sampler. The default is `ddim`. ddim, pndm, dpmsolver, dpmsolver+++, lms, euler, euler_a provided by Diffusers can be specified (the last three can also be specified as k_lms, k_euler, k_euler_a). + +- `--outdir `: Specifies the output destination for images. + +- `--images_per_prompt `: Specifies the number of images to generate per prompt. The default is `1`. + +- `--clip_skip `: Specifies which layer from the end of CLIP to use. If omitted, the last layer is used. + +- `--max_embeddings_multiples `: Specifies how many times the CLIP input/output length should be multiplied by the default (75). If not specified, it remains 75. For example, specifying 3 makes the input/output length 225. + +- `--negative_scale`: Specifies the guidance scale for unconditioning individually. Implemented with reference to [this article by gcem156](https://note.com/gcem156/n/ne9a53e4a6f43). + +- `--emb_normalize_mode`: Specifies the embedding normalization mode. Options are "original" (default), "abs", and "none". This affects how prompt weights are normalized. + +## Adjusting Memory Usage and Generation Speed + +- `--batch_size `: Specifies the batch size. The default is `1`. A larger batch size consumes more memory but speeds up generation. + +- `--vae_batch_size `: Specifies the VAE batch size. The default is the same as the batch size. + Since VAE consumes more memory, memory shortages may occur after denoising (after the step reaches 100%). In such cases, reduce the VAE batch size. + +- `--vae_slices `: Splits the image into slices for VAE processing to reduce VRAM usage. None (default) for no splitting. Values like 16 or 32 are recommended. Enabling this is slower but uses less VRAM. + +- `--no_half_vae`: Prevents using fp16/bf16 precision for VAE processing. Uses fp32 instead. + +- `--xformers`: Specify when using xformers. + +- `--sdpa`: Use scaled dot-product attention in PyTorch 2 for optimization. + +- `--fp16`: Performs inference in fp16 (single precision). If neither `fp16` nor `bf16` is specified, inference is performed in fp32 (single precision). + +- `--bf16`: Performs inference in bf16 (bfloat16). Can only be specified for RTX 30 series GPUs. The `--bf16` option will cause an error on GPUs other than the RTX 30 series. It seems that `bf16` is less likely to result in NaN (black image) inference results than `fp16`. + +## Using Additional Networks (LoRA, etc.) + +- `--network_module`: Specifies the additional network to use. For LoRA, specify `--network_module networks.lora`. To use multiple LoRAs, specify like `--network_module networks.lora networks.lora networks.lora`. + +- `--network_weights`: Specifies the weight file of the additional network to use. Specify like `--network_weights model.safetensors`. To use multiple LoRAs, specify like `--network_weights model1.safetensors model2.safetensors model3.safetensors`. The number of arguments should be the same as the number specified in `--network_module`. + +- `--network_mul`: Specifies how many times to multiply the weight of the additional network to use. The default is `1`. Specify like `--network_mul 0.8`. To use multiple LoRAs, specify like `--network_mul 0.4 0.5 0.7`. The number of arguments should be the same as the number specified in `--network_module`. + +- `--network_merge`: Merges the weights of the additional networks to be used in advance with the weights specified in `--network_mul`. Cannot be used simultaneously with `--network_pre_calc`. The prompt option `--am` and Regional LoRA can no longer be used, but generation will be accelerated to the same extent as when LoRA is not used. + +- `--network_pre_calc`: Calculates the weights of the additional network to be used in advance for each generation. The prompt option `--am` can be used. Generation is accelerated to the same extent as when LoRA is not used, but time is required to calculate the weights before generation, and memory usage also increases slightly. It is disabled when Regional LoRA is used. + +- `--network_regional_mask_max_color_codes`: Specifies the maximum number of color codes to use for regional masks. If not specified, masks are applied by channel. Used with Regional LoRA to control the number of regions that can be defined by colors in the mask. + +# Examples of Main Option Specifications + +The following is an example of batch generating 64 images with the same prompt and a batch size of 4. + +```batchfile +python gen_img.py --ckpt model.ckpt --outdir outputs \ + --xformers --fp16 --W 512 --H 704 --scale 12.5 --sampler k_euler_a \ + --steps 32 --batch_size 4 --images_per_prompt 64 \ + --prompt "beautiful flowers --n monochrome" +``` + +The following is an example of batch generating 10 images each for prompts written in a file, with a batch size of 4. + +```batchfile +python gen_img.py --ckpt model.ckpt --outdir outputs \ + --xformers --fp16 --W 512 --H 704 --scale 12.5 --sampler k_euler_a \ + --steps 32 --batch_size 4 --images_per_prompt 10 \ + --from_file prompts.txt +``` + +Example of using Textual Inversion (described later) and LoRA. + +```batchfile +python gen_img.py --ckpt model.safetensors \ + --scale 8 --steps 48 --outdir txt2img --xformers \ + --W 512 --H 768 --fp16 --sampler k_euler_a \ + --textual_inversion_embeddings goodembed.safetensors negprompt.pt \ + --network_module networks.lora networks.lora \ + --network_weights model1.safetensors model2.safetensors \ + --network_mul 0.4 0.8 \ + --clip_skip 2 --max_embeddings_multiples 1 \ + --batch_size 8 --images_per_prompt 1 --interactive +``` + +# Prompt Options + +In the prompt, you can specify various options from the prompt with "two hyphens + n alphabetic characters" like `--n`. It is valid whether specifying the prompt from interactive mode, command line, or file. + +Please put spaces before and after the prompt option specification `--n`. + +- `--n`: Specifies a negative prompt. + +- `--w`: Specifies the image width. Overrides the command line specification. + +- `--h`: Specifies the image height. Overrides the command line specification. + +- `--s`: Specifies the number of steps. Overrides the command line specification. + +- `--d`: Specifies the random seed for this image. If `--images_per_prompt` is specified, specify multiple seeds separated by commas, like "--d 1,2,3,4". + *For various reasons, the generated image may differ from the Web UI even with the same random seed. + +- `--l`: Specifies the guidance scale. Overrides the command line specification. + +- `--t`: Specifies the strength of img2img (described later). Overrides the command line specification. + +- `--nl`: Specifies the guidance scale for negative prompts (described later). Overrides the command line specification. + +- `--am`: Specifies the weight of the additional network. Overrides the command line specification. If using multiple additional networks, specify them separated by __commas__, like `--am 0.8,0.5,0.3`. + +- `--glt`: Specifies the timestep to start increasing the size of the latent for Gradual Latent. Overrides the command line specification. + +- `--glr`: Specifies the initial size of the latent for Gradual Latent as a ratio. Overrides the command line specification. + +- `--gls`: Specifies the ratio to increase the size of the latent for Gradual Latent. Overrides the command line specification. + +- `--gle`: Specifies the interval to increase the size of the latent for Gradual Latent. Overrides the command line specification. + +*Specifying these options may cause the batch to be executed with a size smaller than the batch size (because they cannot be generated collectively if these values are different). (You don't have to worry too much, but when reading prompts from a file and generating, arranging prompts with the same values for these options will improve efficiency.) + +Example: +``` +(masterpiece, best quality), 1girl, in shirt and plated skirt, standing at street under cherry blossoms, upper body, [from below], kind smile, looking at another, [goodembed] --n realistic, real life, (negprompt), (lowres:1.1), (worst quality:1.2), (low quality:1.1), bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, normal quality, jpeg artifacts, signature, watermark, username, blurry --w 960 --h 640 --s 28 --d 1 +``` + +![image](https://user-images.githubusercontent.com/52813779/235343446-25654172-fff4-4aaf-977a-20d262b51676.png) + +# img2img + +## Options + +- `--image_path`: Specifies the image to use for img2img. Specify like `--image_path template.png`. If a folder is specified, images in that folder will be used sequentially. + +- `--strength`: Specifies the strength of img2img. Specify like `--strength 0.8`. The default is `0.8`. + +- `--sequential_file_name`: Specifies whether to make file names sequential. If specified, the generated file names will be sequential starting from `im_000001.png`. + +- `--use_original_file_name`: If specified, the generated file name will be the same as the original file name. + +- `--clip_vision_strength`: Enables CLIP Vision Conditioning for img2img with the specified strength. Uses the CLIP Vision model to enhance conditioning from the input image. + +## Command Line Execution Example + +```batchfile +python gen_img.py --ckpt trinart_characters_it4_v1_vae_merged.ckpt \ + --outdir outputs --xformers --fp16 --scale 12.5 --sampler k_euler --steps 32 \ + --image_path template.png --strength 0.8 \ + --prompt "1girl, cowboy shot, brown hair, pony tail, brown eyes, \ + sailor school uniform, outdoors \ + --n lowres, bad anatomy, bad hands, error, missing fingers, cropped, \ + worst quality, low quality, normal quality, jpeg artifacts, (blurry), \ + hair ornament, glasses" \ + --batch_size 8 --images_per_prompt 32 +``` + +If a folder is specified in the `--image_path` option, images in that folder will be read sequentially. The number of images generated will be the number of prompts, not the number of images, so please match the number of images to img2img and the number of prompts by specifying the `--images_per_prompt` option. + +Files are read sorted by file name. Note that the sort order is string order (not `1.jpg -> 2.jpg -> 10.jpg` but `1.jpg -> 10.jpg -> 2.jpg`), so please pad the beginning with zeros (e.g., `01.jpg -> 02.jpg -> 10.jpg`). + +## Upscale using img2img + +If you specify the generated image size with the `--W` and `--H` command line options during img2img, the original image will be resized to that size before img2img. + +Also, if the original image for img2img was generated by this script, omitting the prompt will retrieve the prompt from the original image's metadata and use it as is. This allows you to perform only the 2nd stage operation of Highres. fix. + +## Inpainting during img2img + +You can specify an image and a mask image for inpainting (inpainting models are not supported, it simply performs img2img on the mask area). + +The options are as follows: + +- `--mask_image`: Specifies the mask image. Similar to `--img_path`, if a folder is specified, images in that folder will be used sequentially. + +The mask image is a grayscale image, and the white parts will be inpainted. It is recommended to gradient the boundaries to make it somewhat smooth. + +![image](https://user-images.githubusercontent.com/52813779/235343795-9eaa6d98-02ff-4f32-b089-80d1fc482453.png) + +# Other Features + +## Textual Inversion + +Specify the embeddings to use with the `--textual_inversion_embeddings` option (multiple specifications possible). By using the file name without the extension in the prompt, that embedding will be used (same usage as Web UI). It can also be used in negative prompts. + +As models, you can use Textual Inversion models trained with this repository and Textual Inversion models trained with Web UI (image embedding is not supported). + +## Extended Textual Inversion + +Specify the `--XTI_embeddings` option instead of `--textual_inversion_embeddings`. Usage is the same as `--textual_inversion_embeddings`. + +## Highres. fix + +This is a similar feature to the one in AUTOMATIC1111's Web UI (it may differ in various ways as it is an original implementation). It first generates a smaller image and then uses that image as a base for img2img to generate a large resolution image while preventing the entire image from collapsing. + +The number of steps for the 2nd stage is calculated from the values of the `--steps` and `--strength` options (`steps*strength`). + +Cannot be used with img2img. + +The following options are available: + +- `--highres_fix_scale`: Enables Highres. fix and specifies the size of the image generated in the 1st stage as a magnification. If the final output is 1024x1024 and you want to generate a 512x512 image first, specify like `--highres_fix_scale 0.5`. Please note that this is the reciprocal of the specification in Web UI. + +- `--highres_fix_steps`: Specifies the number of steps for the 1st stage image. The default is `28`. + +- `--highres_fix_save_1st`: Specifies whether to save the 1st stage image. + +- `--highres_fix_latents_upscaling`: If specified, the 1st stage image will be upscaled on a latent basis during 2nd stage image generation (only bilinear is supported). If not specified, the image will be upscaled with LANCZOS4. + +- `--highres_fix_upscaler`: Uses an arbitrary upscaler for the 2nd stage. Currently, only `--highres_fix_upscaler tools.latent_upscaler` is supported. + +- `--highres_fix_upscaler_args`: Specifies the arguments to pass to the upscaler specified with `--highres_fix_upscaler`. + For `tools.latent_upscaler`, specify the weight file like `--highres_fix_upscaler_args "weights=D:\\Work\\SD\\Models\\others\\etc\\upscaler-v1-e100-220.safetensors"`. + +- `--highres_fix_disable_control_net`: Disables ControlNet for the 2nd stage of Highres fix. By default, ControlNet is used in both stages. + +Command line example: + +```batchfile +python gen_img.py --ckpt trinart_characters_it4_v1_vae_merged.ckpt\ + --n_iter 1 --scale 7.5 --W 1024 --H 1024 --batch_size 1 --outdir ../txt2img \ + --steps 48 --sampler ddim --fp16 \ + --xformers \ + --images_per_prompt 1 --interactive \ + --highres_fix_scale 0.5 --highres_fix_steps 28 --strength 0.5 +``` + +## Deep Shrink + +Deep Shrink is a technique that optimizes the generation process by using different depths of the UNet at different timesteps. It can improve generation quality and efficiency. + +The following options are available: + +- `--ds_depth_1`: Enables Deep Shrink with this depth for the first phase. Valid values are 0 to 8. + +- `--ds_timesteps_1`: Applies Deep Shrink depth 1 until this timestep. Default is 650. + +- `--ds_depth_2`: Specifies the depth for the second phase of Deep Shrink. + +- `--ds_timesteps_2`: Applies Deep Shrink depth 2 until this timestep. Default is 650. + +- `--ds_ratio`: Specifies the ratio for downsampling in Deep Shrink. Default is 0.5. + +These parameters can also be specified through prompt options: + +- `--dsd1`: Specifies Deep Shrink depth 1 from the prompt. + +- `--dst1`: Specifies Deep Shrink timestep 1 from the prompt. + +- `--dsd2`: Specifies Deep Shrink depth 2 from the prompt. + +- `--dst2`: Specifies Deep Shrink timestep 2 from the prompt. + +- `--dsr`: Specifies Deep Shrink ratio from the prompt. + +## ControlNet + +Currently, only ControlNet 1.0 has been confirmed to work. Only Canny is supported for preprocessing. + +The following options are available: + +- `--control_net_models`: Specifies the ControlNet model file. + If multiple are specified, they will be switched and used for each step (differs from the implementation of the ControlNet extension in Web UI). Supports both diff and normal. + +- `--guide_image_path`: Specifies the hint image to use for ControlNet. Similar to `--img_path`, if a folder is specified, images in that folder will be used sequentially. For models other than Canny, please perform preprocessing beforehand. + +- `--control_net_preps`: Specifies the preprocessing for ControlNet. Multiple specifications are possible, similar to `--control_net_models`. Currently, only canny is supported. If preprocessing is not used for the target model, specify `none`. + For canny, you can specify thresholds 1 and 2 separated by `_`, like `--control_net_preps canny_63_191`. + +- `--control_net_weights`: Specifies the weight when applying ControlNet (`1.0` for normal, `0.5` for half influence). Multiple specifications are possible, similar to `--control_net_models`. + +- `--control_net_ratios`: Specifies the range of steps to apply ControlNet. If `0.5`, ControlNet is applied up to half the number of steps. Multiple specifications are possible, similar to `--control_net_models`. + +Command line example: + +```batchfile +python gen_img.py --ckpt model_ckpt --scale 8 --steps 48 --outdir txt2img --xformers \ + --W 512 --H 768 --bf16 --sampler k_euler_a \ + --control_net_models diff_control_sd15_canny.safetensors --control_net_weights 1.0 \ + --guide_image_path guide.png --control_net_ratios 1.0 --interactive +``` + +## ControlNet-LLLite + +ControlNet-LLLite is a lightweight alternative to ControlNet that can be used for similar guidance purposes. + +The following options are available: + +- `--control_net_lllite_models`: Specifies the ControlNet-LLLite model files. + +- `--control_net_multipliers`: Specifies the multiplier for ControlNet-LLLite (similar to weights). + +- `--control_net_ratios`: Specifies the ratio of steps to apply ControlNet-LLLite. + +Note that ControlNet and ControlNet-LLLite cannot be used at the same time. + +## Attention Couple + Regional LoRA + +This is a feature that allows you to divide the prompt into several parts and specify which region in the image each prompt should be applied to. There are no individual options, but it is specified with `mask_path` and the prompt. + +First, define multiple parts using ` AND ` in the prompt. Region specification can be done for the first three parts, and subsequent parts are applied to the entire image. Negative prompts are applied to the entire image. + +In the following, three parts are defined with AND. + +``` +shs 2girls, looking at viewer, smile AND bsb 2girls, looking back AND 2girls --n bad quality, worst quality +``` + +Next, prepare a mask image. The mask image is a color image, and each RGB channel corresponds to the part separated by AND in the prompt. Also, if the value of a certain channel is all 0, it is applied to the entire image. + +In the example above, the R channel corresponds to `shs 2girls, looking at viewer, smile`, the G channel to `bsb 2girls, looking back`, and the B channel to `2girls`. If you use a mask image like the following, since there is no specification for the B channel, `2girls` will be applied to the entire image. + +![image](https://user-images.githubusercontent.com/52813779/235343061-b4dc9392-3dae-4831-8347-1e9ae5054251.png) + +The mask image is specified with `--mask_path`. Currently, only one image is supported. It is automatically resized and applied to the specified image size. + +It can also be combined with ControlNet (combination with ControlNet is recommended for detailed position specification). + +If LoRA is specified, multiple LoRAs specified with `--network_weights` will correspond to each part of AND. As a current constraint, the number of LoRAs must be the same as the number of AND parts. + +## CLIP Guided Stable Diffusion + +The source code is copied and modified from [this custom pipeline](https://github.com/huggingface/diffusers/blob/main/examples/community/README.md#clip-guided-stable-diffusion) in Diffusers' Community Examples. + +In addition to the normal prompt-based generation specification, it additionally acquires the text features of the prompt with a larger CLIP and controls the generated image so that the features of the image being generated approach those text features (this is my rough understanding). Since a larger CLIP is used, VRAM usage increases considerably (it may be difficult even for 512*512 with 8GB of VRAM), and generation time also increases. + +Note that the selectable samplers are DDIM, PNDM, and LMS only. + +Specify how much to reflect the CLIP features numerically with the `--clip_guidance_scale` option. In the previous sample, it is 100, so it seems good to start around there and increase or decrease it. + +By default, the first 75 tokens of the prompt (excluding special weighting characters) are passed to CLIP. With the `--c` option in the prompt, you can specify the text to be passed to CLIP separately from the normal prompt (for example, it is thought that CLIP cannot recognize DreamBooth identifiers or model-specific words like "1girl", so text excluding them is considered good). + +Command line example: + +```batchfile +python gen_img.py --ckpt v1-5-pruned-emaonly.ckpt --n_iter 1 \ + --scale 2.5 --W 512 --H 512 --batch_size 1 --outdir ../txt2img --steps 36 \ + --sampler ddim --fp16 --opt_channels_last --xformers --images_per_prompt 1 \ + --interactive --clip_guidance_scale 100 +``` + +## CLIP Image Guided Stable Diffusion + +This is a feature that passes another image to CLIP instead of text and controls generation to approach its features. Specify the numerical value of the application amount with the `--clip_image_guidance_scale` option and the image (file or folder) to use for guidance with the `--guide_image_path` option. + +Command line example: + +```batchfile +python gen_img.py --ckpt trinart_characters_it4_v1_vae_merged.ckpt\ + --n_iter 1 --scale 7.5 --W 512 --H 512 --batch_size 1 --outdir ../txt2img \ + --steps 80 --sampler ddim --fp16 --opt_channels_last --xformers \ + --images_per_prompt 1 --interactive --clip_image_guidance_scale 100 \ + --guide_image_path YUKA160113420I9A4104_TP_V.jpg +``` + +### VGG16 Guided Stable Diffusion + +This is a feature that generates images to approach a specified image. In addition to the normal prompt-based generation specification, it additionally acquires the features of VGG16 and controls the generated image so that the image being generated approaches the specified guide image. It is recommended to use it with img2img (images tend to be blurred in normal generation). This is an original feature that reuses the mechanism of CLIP Guided Stable Diffusion. The idea is also borrowed from style transfer using VGG. + +Note that the selectable samplers are DDIM, PNDM, and LMS only. + +Specify how much to reflect the VGG16 features numerically with the `--vgg16_guidance_scale` option. From what I've tried, it seems good to start around 100 and increase or decrease it. Specify the image (file or folder) to use for guidance with the `--guide_image_path` option. + +When batch converting multiple images with img2img and using the original images as guide images, it is OK to specify the same value for `--guide_image_path` and `--image_path`. + +Command line example: + +```batchfile +python gen_img.py --ckpt wd-v1-3-full-pruned-half.ckpt \ + --n_iter 1 --scale 5.5 --steps 60 --outdir ../txt2img \ + --xformers --sampler ddim --fp16 --W 512 --H 704 \ + --batch_size 1 --images_per_prompt 1 \ + --prompt "picturesque, 1girl, solo, anime face, skirt, beautiful face \ + --n lowres, bad anatomy, bad hands, error, missing fingers, \ + cropped, worst quality, low quality, normal quality, \ + jpeg artifacts, blurry, 3d, bad face, monochrome --d 1" \ + --strength 0.8 --image_path ..\\src_image\ + --vgg16_guidance_scale 100 --guide_image_path ..\\src_image \ +``` + +You can specify the VGG16 layer number used for feature acquisition with `--vgg16_guidance_layerP` (default is 20, which is ReLU of conv4-2). It is said that upper layers express style and lower layers express content. + +![image](https://user-images.githubusercontent.com/52813779/235343813-3c1f0d7a-4fb3-4274-98e4-b92d76b551df.png) + +# Other Options + +- `--no_preview`: Does not display preview images in interactive mode. Specify this if OpenCV is not installed or if you want to check the output files directly. + +- `--n_iter`: Specifies the number of times to repeat generation. The default is 1. Specify this when you want to perform generation multiple times when reading prompts from a file. + +- `--tokenizer_cache_dir`: Specifies the cache directory for the tokenizer. (Work in progress) + +- `--seed`: Specifies the random seed. When generating one image, it is the seed for that image. When generating multiple images, it is the seed for the random numbers used to generate the seeds for each image (when generating multiple images with `--from_file`, specifying the `--seed` option will make each image have the same seed when executed multiple times). + +- `--iter_same_seed`: When there is no random seed specification in the prompt, the same seed is used for all repetitions of `--n_iter`. Used to unify and compare seeds between multiple prompts specified with `--from_file`. + +- `--shuffle_prompts`: Shuffles the order of prompts in iteration. Useful when using `--from_file` with multiple prompts. + +- `--diffusers_xformers`: Uses Diffuser's xformers. + +- `--opt_channels_last`: Arranges tensor channels last during inference. May speed up in some cases. + +- `--network_show_meta`: Displays the metadata of the additional network. + + +--- + +# About Gradual Latent + +Gradual Latent is a Hires fix that gradually increases the size of the latent. `gen_img.py`, `sdxl_gen_img.py`, and `gen_img.py` have the following options. + +- `--gradual_latent_timesteps`: Specifies the timestep to start increasing the size of the latent. The default is None, which means Gradual Latent is not used. Please try around 750 at first. +- `--gradual_latent_ratio`: Specifies the initial size of the latent. The default is 0.5, which means it starts with half the default latent size. +- `--gradual_latent_ratio_step`: Specifies the ratio to increase the size of the latent. The default is 0.125, which means the latent size is gradually increased to 0.625, 0.75, 0.875, 1.0. +- `--gradual_latent_ratio_every_n_steps`: Specifies the interval to increase the size of the latent. The default is 3, which means the latent size is increased every 3 steps. +- `--gradual_latent_s_noise`: Specifies the s_noise parameter for Gradual Latent. Default is 1.0. +- `--gradual_latent_unsharp_params`: Specifies unsharp mask parameters for Gradual Latent: ksize, sigma, strength, target-x (1 means True). Values like `3,0.5,0.5,1` or `3,1.0,1.0,0` are recommended. + +Each option can also be specified with prompt options, `--glt`, `--glr`, `--gls`, `--gle`. + +__Please specify `euler_a` for the sampler.__ Because the source code of the sampler is modified. It will not work with other samplers. + +It is more effective with SD 1.5. It is quite subtle with SDXL. + +# Gradual Latent について (Japanese section - kept for reference) + +latentのサイズを徐々に大きくしていくHires fixです。`gen_img.py` 、``sdxl_gen_img.py` 、`gen_img.py` に以下のオプションが追加されています。 + +- `--gradual_latent_timesteps` : latentのサイズを大きくし始めるタイムステップを指定します。デフォルトは None で、Gradual Latentを使用しません。750 くらいから始めてみてください。 +- `--gradual_latent_ratio` : latentの初期サイズを指定します。デフォルトは 0.5 で、デフォルトの latent サイズの半分のサイズから始めます。 +- `--gradual_latent_ratio_step`: latentのサイズを大きくする割合を指定します。デフォルトは 0.125 で、latentのサイズを 0.625, 0.75, 0.875, 1.0 と徐々に大きくします。 +- `--gradual_latent_ratio_every_n_steps`: latentのサイズを大きくする間隔を指定します。デフォルトは 3 で、3ステップごとに latent のサイズを大きくします。 + +それぞれのオプションは、プロンプトオプション、`--glt`、`--glr`、`--gls`、`--gle` でも指定できます。 + +サンプラーに手を加えているため、__サンプラーに `euler_a` を指定してください。__ 他のサンプラーでは動作しません。 + +SD 1.5 のほうが効果があります。SDXL ではかなり微妙です。 From e4d6923409e6406436a4e9f98ae3f74a07a8dd8d Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Tue, 3 Jun 2025 16:12:02 -0400 Subject: [PATCH 584/748] Add tests for syntax checking training scripts --- tests/test_fine_tune.py | 6 ++++++ tests/test_flux_train.py | 6 ++++++ tests/test_flux_train_network.py | 5 +++++ tests/test_sd3_train.py | 6 ++++++ tests/test_sd3_train_network.py | 5 +++++ tests/test_sdxl_train.py | 6 ++++++ tests/test_sdxl_train_network.py | 6 ++++++ tests/test_train.py | 6 ++++++ tests/test_train_network.py | 5 +++++ tests/test_train_textual_inversion.py | 5 +++++ 10 files changed, 56 insertions(+) create mode 100644 tests/test_fine_tune.py create mode 100644 tests/test_flux_train.py create mode 100644 tests/test_flux_train_network.py create mode 100644 tests/test_sd3_train.py create mode 100644 tests/test_sd3_train_network.py create mode 100644 tests/test_sdxl_train.py create mode 100644 tests/test_sdxl_train_network.py create mode 100644 tests/test_train.py create mode 100644 tests/test_train_network.py create mode 100644 tests/test_train_textual_inversion.py diff --git a/tests/test_fine_tune.py b/tests/test_fine_tune.py new file mode 100644 index 000000000..fd39ce612 --- /dev/null +++ b/tests/test_fine_tune.py @@ -0,0 +1,6 @@ +import fine_tune + + +def test_syntax(): + # Very simply testing that the train_network imports without syntax errors + assert True diff --git a/tests/test_flux_train.py b/tests/test_flux_train.py new file mode 100644 index 000000000..2b8739cfc --- /dev/null +++ b/tests/test_flux_train.py @@ -0,0 +1,6 @@ +import flux_train + + +def test_syntax(): + # Very simply testing that the train_network imports without syntax errors + assert True diff --git a/tests/test_flux_train_network.py b/tests/test_flux_train_network.py new file mode 100644 index 000000000..aaff89624 --- /dev/null +++ b/tests/test_flux_train_network.py @@ -0,0 +1,5 @@ +import flux_train_network + +def test_syntax(): + # Very simply testing that the flux_train_network imports without syntax errors + assert True diff --git a/tests/test_sd3_train.py b/tests/test_sd3_train.py new file mode 100644 index 000000000..a7c5d27a2 --- /dev/null +++ b/tests/test_sd3_train.py @@ -0,0 +1,6 @@ +import sd3_train + + +def test_syntax(): + # Very simply testing that the train_network imports without syntax errors + assert True diff --git a/tests/test_sd3_train_network.py b/tests/test_sd3_train_network.py new file mode 100644 index 000000000..10c0795cb --- /dev/null +++ b/tests/test_sd3_train_network.py @@ -0,0 +1,5 @@ +import sd3_train_network + +def test_syntax(): + # Very simply testing that the flux_train_network imports without syntax errors + assert True diff --git a/tests/test_sdxl_train.py b/tests/test_sdxl_train.py new file mode 100644 index 000000000..1c0e85799 --- /dev/null +++ b/tests/test_sdxl_train.py @@ -0,0 +1,6 @@ +import sdxl_train + + +def test_syntax(): + # Very simply testing that the train_network imports without syntax errors + assert True diff --git a/tests/test_sdxl_train_network.py b/tests/test_sdxl_train_network.py new file mode 100644 index 000000000..58300ae7d --- /dev/null +++ b/tests/test_sdxl_train_network.py @@ -0,0 +1,6 @@ +import sdxl_train_network + + +def test_syntax(): + # Very simply testing that the train_network imports without syntax errors + assert True diff --git a/tests/test_train.py b/tests/test_train.py new file mode 100644 index 000000000..51c794924 --- /dev/null +++ b/tests/test_train.py @@ -0,0 +1,6 @@ +import train_db + + +def test_syntax(): + # Very simply testing that the train_network imports without syntax errors + assert True diff --git a/tests/test_train_network.py b/tests/test_train_network.py new file mode 100644 index 000000000..fe17263c6 --- /dev/null +++ b/tests/test_train_network.py @@ -0,0 +1,5 @@ +import train_network + +def test_syntax(): + # Very simply testing that the train_network imports without syntax errors + assert True diff --git a/tests/test_train_textual_inversion.py b/tests/test_train_textual_inversion.py new file mode 100644 index 000000000..ab6a93425 --- /dev/null +++ b/tests/test_train_textual_inversion.py @@ -0,0 +1,5 @@ +import train_textual_inversion + +def test_syntax(): + # Very simply testing that the train_network imports without syntax errors + assert True From bb47f1ea893bc1f12ceaa3856cc03c0b14ec559b Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 8 Jun 2025 18:00:24 +0900 Subject: [PATCH 585/748] Fix unwrap_model handling for None text_encoders in sample_images function --- library/flux_train_utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/flux_train_utils.py b/library/flux_train_utils.py index 5f6867a81..8392e5592 100644 --- a/library/flux_train_utils.py +++ b/library/flux_train_utils.py @@ -67,7 +67,7 @@ def sample_images( # unwrap unet and text_encoder(s) flux = accelerator.unwrap_model(flux) if text_encoders is not None: - text_encoders = [accelerator.unwrap_model(te) for te in text_encoders] + text_encoders = [(accelerator.unwrap_model(te) if te is not None else None) for te in text_encoders] if controlnet is not None: controlnet = accelerator.unwrap_model(controlnet) # print([(te.parameters().__next__().device if te is not None else None) for te in text_encoders]) From d94bed645a4d899cffd0bce5804fcf32c4500ad3 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Mon, 9 Jun 2025 21:14:51 -0400 Subject: [PATCH 586/748] Add lumina tests and fix image masks --- library/lumina_models.py | 6 + library/lumina_util.py | 85 ++++--- library/sd3_train_utils.py | 259 +++------------------ tests/library/test_lumina_models.py | 295 ++++++++++++++++++++++++ tests/library/test_lumina_train_util.py | 241 +++++++++++++++++++ tests/library/test_lumina_util.py | 112 +++++++++ tests/library/test_strategy_lumina.py | 227 ++++++++++++++++++ tests/test_lumina_train_network.py | 173 ++++++++++++++ 8 files changed, 1130 insertions(+), 268 deletions(-) create mode 100644 tests/library/test_lumina_models.py create mode 100644 tests/library/test_lumina_train_util.py create mode 100644 tests/library/test_lumina_util.py create mode 100644 tests/library/test_strategy_lumina.py create mode 100644 tests/test_lumina_train_network.py diff --git a/library/lumina_models.py b/library/lumina_models.py index 2508cc7df..7e9253525 100644 --- a/library/lumina_models.py +++ b/library/lumina_models.py @@ -868,6 +868,8 @@ def __init__( cap_feat_dim (int): Dimension of the caption features. axes_dims (List[int]): List of dimensions for the axes. axes_lens (List[int]): List of lengths for the axes. + use_flash_attn (bool): Whether to use Flash Attention. + use_sage_attn (bool): Whether to use Sage Attention. Sage Attention only supports inference. Returns: None @@ -1110,7 +1112,11 @@ def patchify_and_embed( cap_feats = layer(cap_feats, cap_mask, cap_freqs_cis) x = x.view(bsz, channels, height // pH, pH, width // pW, pW).permute(0, 2, 4, 3, 5, 1).flatten(3).flatten(1, 2) + x_mask = torch.zeros(bsz, image_seq_len, dtype=torch.bool, device=device) + for i in range(bsz): + x[i, :image_seq_len] = x[i] + x_mask[i, :image_seq_len] = True x = self.x_embedder(x) diff --git a/library/lumina_util.py b/library/lumina_util.py index 06f089d4a..452b242fd 100644 --- a/library/lumina_util.py +++ b/library/lumina_util.py @@ -173,62 +173,61 @@ def pack_latents(x: torch.Tensor) -> torch.Tensor: return x -DIFFUSERS_TO_ALPHA_VLLM_MAP = { + +DIFFUSERS_TO_ALPHA_VLLM_MAP: dict[str, str] = { # Embedding layers - "cap_embedder.0.weight": ["time_caption_embed.caption_embedder.0.weight"], - "cap_embedder.1.weight": "time_caption_embed.caption_embedder.1.weight", - "cap_embedder.1.bias": "text_embedder.1.bias", - "x_embedder.weight": "patch_embedder.proj.weight", - "x_embedder.bias": "patch_embedder.proj.bias", + "time_caption_embed.caption_embedder.0.weight": "cap_embedder.0.weight", + "time_caption_embed.caption_embedder.1.weight": "cap_embedder.1.weight", + "text_embedder.1.bias": "cap_embedder.1.bias", + "patch_embedder.proj.weight": "x_embedder.weight", + "patch_embedder.proj.bias": "x_embedder.bias", # Attention modulation - "layers.().adaLN_modulation.1.weight": "transformer_blocks.().adaln_modulation.1.weight", - "layers.().adaLN_modulation.1.bias": "transformer_blocks.().adaln_modulation.1.bias", + "transformer_blocks.().adaln_modulation.1.weight": "layers.().adaLN_modulation.1.weight", + "transformer_blocks.().adaln_modulation.1.bias": "layers.().adaLN_modulation.1.bias", # Final layers - "final_layer.adaLN_modulation.1.weight": "final_adaln_modulation.1.weight", - "final_layer.adaLN_modulation.1.bias": "final_adaln_modulation.1.bias", - "final_layer.linear.weight": "final_linear.weight", - "final_layer.linear.bias": "final_linear.bias", + "final_adaln_modulation.1.weight": "final_layer.adaLN_modulation.1.weight", + "final_adaln_modulation.1.bias": "final_layer.adaLN_modulation.1.bias", + "final_linear.weight": "final_layer.linear.weight", + "final_linear.bias": "final_layer.linear.bias", # Noise refiner - "noise_refiner.().adaLN_modulation.1.weight": "single_transformer_blocks.().adaln_modulation.1.weight", - "noise_refiner.().adaLN_modulation.1.bias": "single_transformer_blocks.().adaln_modulation.1.bias", - "noise_refiner.().attention.qkv.weight": "single_transformer_blocks.().attn.to_qkv.weight", - "noise_refiner.().attention.out.weight": "single_transformer_blocks.().attn.to_out.0.weight", - # Time embedding - "t_embedder.mlp.0.weight": "time_embedder.0.weight", - "t_embedder.mlp.0.bias": "time_embedder.0.bias", - "t_embedder.mlp.2.weight": "time_embedder.2.weight", - "t_embedder.mlp.2.bias": "time_embedder.2.bias", - # Context attention - "context_refiner.().attention.qkv.weight": "transformer_blocks.().attn2.to_qkv.weight", - "context_refiner.().attention.out.weight": "transformer_blocks.().attn2.to_out.0.weight", + "single_transformer_blocks.().adaln_modulation.1.weight": "noise_refiner.().adaLN_modulation.1.weight", + "single_transformer_blocks.().adaln_modulation.1.bias": "noise_refiner.().adaLN_modulation.1.bias", + "single_transformer_blocks.().attn.to_qkv.weight": "noise_refiner.().attention.qkv.weight", + "single_transformer_blocks.().attn.to_out.0.weight": "noise_refiner.().attention.out.weight", # Normalization - "layers.().attention_norm1.weight": "transformer_blocks.().norm1.weight", - "layers.().attention_norm2.weight": "transformer_blocks.().norm2.weight", + "transformer_blocks.().norm1.weight": "layers.().attention_norm1.weight", + "transformer_blocks.().norm2.weight": "layers.().attention_norm2.weight", # FFN - "layers.().feed_forward.w1.weight": "transformer_blocks.().ff.net.0.proj.weight", - "layers.().feed_forward.w2.weight": "transformer_blocks.().ff.net.2.weight", - "layers.().feed_forward.w3.weight": "transformer_blocks.().ff.net.4.weight", + "transformer_blocks.().ff.net.0.proj.weight": "layers.().feed_forward.w1.weight", + "transformer_blocks.().ff.net.2.weight": "layers.().feed_forward.w2.weight", + "transformer_blocks.().ff.net.4.weight": "layers.().feed_forward.w3.weight", } def convert_diffusers_sd_to_alpha_vllm(sd: dict, num_double_blocks: int) -> dict: """Convert Diffusers checkpoint to Alpha-VLLM format""" logger.info("Converting Diffusers checkpoint to Alpha-VLLM format") - new_sd = {} - - for key, value in sd.items(): - new_key = key - for pattern, replacement in DIFFUSERS_TO_ALPHA_VLLM_MAP.items(): - if "()." in pattern: - for block_idx in range(num_double_blocks): - if str(block_idx) in key: - converted = pattern.replace("()", str(block_idx)) - new_key = key.replace(converted, replacement.replace("()", str(block_idx))) - break + new_sd = sd.copy() # Preserve original keys + + for diff_key, alpha_key in DIFFUSERS_TO_ALPHA_VLLM_MAP.items(): + # Handle block-specific patterns + if '().' in diff_key: + for block_idx in range(num_double_blocks): + block_alpha_key = alpha_key.replace('().', f'{block_idx}.') + block_diff_key = diff_key.replace('().', f'{block_idx}.') + + # Search for and convert block-specific keys + for input_key, value in list(sd.items()): + if input_key == block_diff_key: + new_sd[block_alpha_key] = value + else: + # Handle static keys + if diff_key in sd: + print(f"Replacing {diff_key} with {alpha_key}") + new_sd[alpha_key] = sd[diff_key] + else: + print(f"Not found: {diff_key}") - if new_key == key: - logger.debug(f"Unmatched key in conversion: {key}") - new_sd[new_key] = value logger.info(f"Converted {len(new_sd)} keys to Alpha-VLLM format") return new_sd diff --git a/library/sd3_train_utils.py b/library/sd3_train_utils.py index 6a4b39b3a..c40798846 100644 --- a/library/sd3_train_utils.py +++ b/library/sd3_train_utils.py @@ -610,21 +610,6 @@ def encode_prompt(prpt): from diffusers.utils import BaseOutput -# Copyright 2024 Stability AI, Katherine Crowson and The HuggingFace Team. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - @dataclass class FlowMatchEulerDiscreteSchedulerOutput(BaseOutput): """ @@ -664,49 +649,22 @@ def __init__( self, num_train_timesteps: int = 1000, shift: float = 1.0, - use_dynamic_shifting=False, - base_shift: Optional[float] = 0.5, - max_shift: Optional[float] = 1.15, - base_image_seq_len: Optional[int] = 256, - max_image_seq_len: Optional[int] = 4096, - invert_sigmas: bool = False, - shift_terminal: Optional[float] = None, - use_karras_sigmas: Optional[bool] = False, - use_exponential_sigmas: Optional[bool] = False, - use_beta_sigmas: Optional[bool] = False, ): - if self.config.use_beta_sigmas and not is_scipy_available(): - raise ImportError("Make sure to install scipy if you want to use beta sigmas.") - if sum([self.config.use_beta_sigmas, self.config.use_exponential_sigmas, self.config.use_karras_sigmas]) > 1: - raise ValueError( - "Only one of `config.use_beta_sigmas`, `config.use_exponential_sigmas`, `config.use_karras_sigmas` can be used." - ) timesteps = np.linspace(1, num_train_timesteps, num_train_timesteps, dtype=np.float32)[::-1].copy() timesteps = torch.from_numpy(timesteps).to(dtype=torch.float32) sigmas = timesteps / num_train_timesteps - if not use_dynamic_shifting: - # when use_dynamic_shifting is True, we apply the timestep shifting on the fly based on the image resolution - sigmas = shift * sigmas / (1 + (shift - 1) * sigmas) + sigmas = shift * sigmas / (1 + (shift - 1) * sigmas) self.timesteps = sigmas * num_train_timesteps self._step_index = None self._begin_index = None - self._shift = shift - self.sigmas = sigmas.to("cpu") # to avoid too much CPU/GPU communication self.sigma_min = self.sigmas[-1].item() self.sigma_max = self.sigmas[0].item() - @property - def shift(self): - """ - The value used for shifting. - """ - return self._shift - @property def step_index(self): """ @@ -732,9 +690,6 @@ def set_begin_index(self, begin_index: int = 0): """ self._begin_index = begin_index - def set_shift(self, shift: float): - self._shift = shift - def scale_noise( self, sample: torch.FloatTensor, @@ -754,31 +709,10 @@ def scale_noise( `torch.FloatTensor`: A scaled input sample. """ - # Make sure sigmas and timesteps have the same device and dtype as original_samples - sigmas = self.sigmas.to(device=sample.device, dtype=sample.dtype) - - if sample.device.type == "mps" and torch.is_floating_point(timestep): - # mps does not support float64 - schedule_timesteps = self.timesteps.to(sample.device, dtype=torch.float32) - timestep = timestep.to(sample.device, dtype=torch.float32) - else: - schedule_timesteps = self.timesteps.to(sample.device) - timestep = timestep.to(sample.device) - - # self.begin_index is None when scheduler is used for training, or pipeline does not implement set_begin_index - if self.begin_index is None: - step_indices = [self.index_for_timestep(t, schedule_timesteps) for t in timestep] - elif self.step_index is not None: - # add_noise is called after first denoising step (for inpainting) - step_indices = [self.step_index] * timestep.shape[0] - else: - # add noise is called before first denoising step to create initial latent(img2img) - step_indices = [self.begin_index] * timestep.shape[0] - - sigma = sigmas[step_indices].flatten() - while len(sigma.shape) < len(sample.shape): - sigma = sigma.unsqueeze(-1) + if self.step_index is None: + self._init_step_index(timestep) + sigma = self.sigmas[self.step_index] sample = sigma * noise + (1.0 - sigma) * sample return sample @@ -786,37 +720,7 @@ def scale_noise( def _sigma_to_t(self, sigma): return sigma * self.config.num_train_timesteps - def time_shift(self, mu: float, sigma: float, t: torch.Tensor): - return math.exp(mu) / (math.exp(mu) + (1 / t - 1) ** sigma) - - def stretch_shift_to_terminal(self, t: torch.Tensor) -> torch.Tensor: - r""" - Stretches and shifts the timestep schedule to ensure it terminates at the configured `shift_terminal` config - value. - - Reference: - https://github.com/Lightricks/LTX-Video/blob/a01a171f8fe3d99dce2728d60a73fecf4d4238ae/ltx_video/schedulers/rf.py#L51 - - Args: - t (`torch.Tensor`): - A tensor of timesteps to be stretched and shifted. - - Returns: - `torch.Tensor`: - A tensor of adjusted timesteps such that the final value equals `self.config.shift_terminal`. - """ - one_minus_z = 1 - t - scale_factor = one_minus_z[-1] / (1 - self.config.shift_terminal) - stretched_t = 1 - (one_minus_z / scale_factor) - return stretched_t - - def set_timesteps( - self, - num_inference_steps: int = None, - device: Union[str, torch.device] = None, - sigmas: Optional[List[float]] = None, - mu: Optional[float] = None, - ): + def set_timesteps(self, num_inference_steps: int, device: Union[str, torch.device] = None): """ Sets the discrete timesteps used for the diffusion chain (to be run before inference). @@ -826,49 +730,18 @@ def set_timesteps( device (`str` or `torch.device`, *optional*): The device to which the timesteps should be moved to. If `None`, the timesteps are not moved. """ - if self.config.use_dynamic_shifting and mu is None: - raise ValueError(" you have a pass a value for `mu` when `use_dynamic_shifting` is set to be `True`") - - if sigmas is None: - timesteps = np.linspace( - self._sigma_to_t(self.sigma_max), self._sigma_to_t(self.sigma_min), num_inference_steps - ) - - sigmas = timesteps / self.config.num_train_timesteps - else: - sigmas = np.array(sigmas).astype(np.float32) - num_inference_steps = len(sigmas) self.num_inference_steps = num_inference_steps - if self.config.use_dynamic_shifting: - sigmas = self.time_shift(mu, 1.0, sigmas) - else: - sigmas = self.shift * sigmas / (1 + (self.shift - 1) * sigmas) - - if self.config.shift_terminal: - sigmas = self.stretch_shift_to_terminal(sigmas) - - if self.config.use_karras_sigmas: - sigmas = self._convert_to_karras(in_sigmas=sigmas, num_inference_steps=num_inference_steps) - - elif self.config.use_exponential_sigmas: - sigmas = self._convert_to_exponential(in_sigmas=sigmas, num_inference_steps=num_inference_steps) - - elif self.config.use_beta_sigmas: - sigmas = self._convert_to_beta(in_sigmas=sigmas, num_inference_steps=num_inference_steps) + timesteps = np.linspace(self._sigma_to_t(self.sigma_max), self._sigma_to_t(self.sigma_min), num_inference_steps) + sigmas = timesteps / self.config.num_train_timesteps + sigmas = self.config.shift * sigmas / (1 + (self.config.shift - 1) * sigmas) sigmas = torch.from_numpy(sigmas).to(dtype=torch.float32, device=device) - timesteps = sigmas * self.config.num_train_timesteps - - if self.config.invert_sigmas: - sigmas = 1.0 - sigmas - timesteps = sigmas * self.config.num_train_timesteps - sigmas = torch.cat([sigmas, torch.ones(1, device=sigmas.device)]) - else: - sigmas = torch.cat([sigmas, torch.zeros(1, device=sigmas.device)]) + timesteps = sigmas * self.config.num_train_timesteps self.timesteps = timesteps.to(device=device) - self.sigmas = sigmas + self.sigmas = torch.cat([sigmas, torch.zeros(1, device=sigmas.device)]) + self._step_index = None self._begin_index = None @@ -934,11 +807,7 @@ def step( returned, otherwise a tuple is returned where the first element is the sample tensor. """ - if ( - isinstance(timestep, int) - or isinstance(timestep, torch.IntTensor) - or isinstance(timestep, torch.LongTensor) - ): + if isinstance(timestep, int) or isinstance(timestep, torch.IntTensor) or isinstance(timestep, torch.LongTensor): raise ValueError( ( "Passing integer indices (e.g. from `enumerate(timesteps)`) as timesteps to" @@ -954,100 +823,40 @@ def step( sample = sample.to(torch.float32) sigma = self.sigmas[self.step_index] - sigma_next = self.sigmas[self.step_index + 1] - prev_sample = sample + (sigma_next - sigma) * model_output + gamma = min(s_churn / (len(self.sigmas) - 1), 2**0.5 - 1) if s_tmin <= sigma <= s_tmax else 0.0 - # Cast sample back to model compatible dtype - prev_sample = prev_sample.to(model_output.dtype) + noise = randn_tensor(model_output.shape, dtype=model_output.dtype, device=model_output.device, generator=generator) - # upon completion increase step index by one - self._step_index += 1 + eps = noise * s_noise + sigma_hat = sigma * (gamma + 1) - if not return_dict: - return (prev_sample,) + if gamma > 0: + sample = sample + eps * (sigma_hat**2 - sigma**2) ** 0.5 - return FlowMatchEulerDiscreteSchedulerOutput(prev_sample=prev_sample) + # 1. compute predicted original sample (x_0) from sigma-scaled predicted noise + # NOTE: "original_sample" should not be an expected prediction_type but is left in for + # backwards compatibility - # Copied from diffusers.schedulers.scheduling_euler_discrete.EulerDiscreteScheduler._convert_to_karras - def _convert_to_karras(self, in_sigmas: torch.Tensor, num_inference_steps) -> torch.Tensor: - """Constructs the noise schedule of Karras et al. (2022).""" + # if self.config.prediction_type == "vector_field": - # Hack to make sure that other schedulers which copy this function don't break - # TODO: Add this logic to the other schedulers - if hasattr(self.config, "sigma_min"): - sigma_min = self.config.sigma_min - else: - sigma_min = None - - if hasattr(self.config, "sigma_max"): - sigma_max = self.config.sigma_max - else: - sigma_max = None - - sigma_min = sigma_min if sigma_min is not None else in_sigmas[-1].item() - sigma_max = sigma_max if sigma_max is not None else in_sigmas[0].item() - - rho = 7.0 # 7.0 is the value used in the paper - ramp = np.linspace(0, 1, num_inference_steps) - min_inv_rho = sigma_min ** (1 / rho) - max_inv_rho = sigma_max ** (1 / rho) - sigmas = (max_inv_rho + ramp * (min_inv_rho - max_inv_rho)) ** rho - return sigmas - - # Copied from diffusers.schedulers.scheduling_euler_discrete.EulerDiscreteScheduler._convert_to_exponential - def _convert_to_exponential(self, in_sigmas: torch.Tensor, num_inference_steps: int) -> torch.Tensor: - """Constructs an exponential noise schedule.""" - - # Hack to make sure that other schedulers which copy this function don't break - # TODO: Add this logic to the other schedulers - if hasattr(self.config, "sigma_min"): - sigma_min = self.config.sigma_min - else: - sigma_min = None + denoised = sample - model_output * sigma + # 2. Convert to an ODE derivative + derivative = (sample - denoised) / sigma_hat - if hasattr(self.config, "sigma_max"): - sigma_max = self.config.sigma_max - else: - sigma_max = None - - sigma_min = sigma_min if sigma_min is not None else in_sigmas[-1].item() - sigma_max = sigma_max if sigma_max is not None else in_sigmas[0].item() + dt = self.sigmas[self.step_index + 1] - sigma_hat - sigmas = np.exp(np.linspace(math.log(sigma_max), math.log(sigma_min), num_inference_steps)) - return sigmas + prev_sample = sample + derivative * dt + # Cast sample back to model compatible dtype + prev_sample = prev_sample.to(model_output.dtype) - # Copied from diffusers.schedulers.scheduling_euler_discrete.EulerDiscreteScheduler._convert_to_beta - def _convert_to_beta( - self, in_sigmas: torch.Tensor, num_inference_steps: int, alpha: float = 0.6, beta: float = 0.6 - ) -> torch.Tensor: - """From "Beta Sampling is All You Need" [arXiv:2407.12173] (Lee et. al, 2024)""" + # upon completion increase step index by one + self._step_index += 1 - # Hack to make sure that other schedulers which copy this function don't break - # TODO: Add this logic to the other schedulers - if hasattr(self.config, "sigma_min"): - sigma_min = self.config.sigma_min - else: - sigma_min = None + if not return_dict: + return (prev_sample,) - if hasattr(self.config, "sigma_max"): - sigma_max = self.config.sigma_max - else: - sigma_max = None - - sigma_min = sigma_min if sigma_min is not None else in_sigmas[-1].item() - sigma_max = sigma_max if sigma_max is not None else in_sigmas[0].item() - - sigmas = np.array( - [ - sigma_min + (ppf * (sigma_max - sigma_min)) - for ppf in [ - scipy.stats.beta.ppf(timestep, alpha, beta) - for timestep in 1 - np.linspace(0, 1, num_inference_steps) - ] - ] - ) - return sigmas + return FlowMatchEulerDiscreteSchedulerOutput(prev_sample=prev_sample) def __len__(self): return self.config.num_train_timesteps diff --git a/tests/library/test_lumina_models.py b/tests/library/test_lumina_models.py new file mode 100644 index 000000000..ba063688c --- /dev/null +++ b/tests/library/test_lumina_models.py @@ -0,0 +1,295 @@ +import pytest +import torch + +from library.lumina_models import ( + LuminaParams, + to_cuda, + to_cpu, + RopeEmbedder, + TimestepEmbedder, + modulate, + NextDiT, +) + +cuda_required = pytest.mark.skipif(not torch.cuda.is_available(), reason="CUDA not available") + + +def test_lumina_params(): + # Test default configuration + default_params = LuminaParams() + assert default_params.patch_size == 2 + assert default_params.in_channels == 4 + assert default_params.axes_dims == [36, 36, 36] + assert default_params.axes_lens == [300, 512, 512] + + # Test 2B config + config_2b = LuminaParams.get_2b_config() + assert config_2b.dim == 2304 + assert config_2b.in_channels == 16 + assert config_2b.n_layers == 26 + assert config_2b.n_heads == 24 + assert config_2b.cap_feat_dim == 2304 + + # Test 7B config + config_7b = LuminaParams.get_7b_config() + assert config_7b.dim == 4096 + assert config_7b.n_layers == 32 + assert config_7b.n_heads == 32 + assert config_7b.axes_dims == [64, 64, 64] + + +@cuda_required +def test_to_cuda_to_cpu(): + # Test tensor conversion + x = torch.tensor([1, 2, 3]) + x_cuda = to_cuda(x) + x_cpu = to_cpu(x_cuda) + assert x.cpu().tolist() == x_cpu.tolist() + + # Test list conversion + list_data = [torch.tensor([1]), torch.tensor([2])] + list_cuda = to_cuda(list_data) + assert all(tensor.device.type == "cuda" for tensor in list_cuda) + + list_cpu = to_cpu(list_cuda) + assert all(not tensor.device.type == "cuda" for tensor in list_cpu) + + # Test dict conversion + dict_data = {"a": torch.tensor([1]), "b": torch.tensor([2])} + dict_cuda = to_cuda(dict_data) + assert all(tensor.device.type == "cuda" for tensor in dict_cuda.values()) + + dict_cpu = to_cpu(dict_cuda) + assert all(not tensor.device.type == "cuda" for tensor in dict_cpu.values()) + + +def test_timestep_embedder(): + # Test initialization + hidden_size = 256 + freq_emb_size = 128 + embedder = TimestepEmbedder(hidden_size, freq_emb_size) + assert embedder.frequency_embedding_size == freq_emb_size + + # Test timestep embedding + t = torch.tensor([0.5, 1.0, 2.0]) + emb_dim = freq_emb_size + embeddings = TimestepEmbedder.timestep_embedding(t, emb_dim) + + assert embeddings.shape == (3, emb_dim) + assert embeddings.dtype == torch.float32 + + # Ensure embeddings are unique for different input times + assert not torch.allclose(embeddings[0], embeddings[1]) + + # Test forward pass + t_emb = embedder(t) + assert t_emb.shape == (3, hidden_size) + + +def test_rope_embedder_simple(): + rope_embedder = RopeEmbedder() + batch_size, seq_len = 2, 10 + + # Create position_ids with valid ranges for each axis + position_ids = torch.stack( + [ + torch.zeros(batch_size, seq_len, dtype=torch.int64), # First axis: only 0 is valid + torch.randint(0, 512, (batch_size, seq_len), dtype=torch.int64), # Second axis: 0-511 + torch.randint(0, 512, (batch_size, seq_len), dtype=torch.int64), # Third axis: 0-511 + ], + dim=-1, + ) + + freqs_cis = rope_embedder(position_ids) + # RoPE embeddings work in pairs, so output dimension is half of total axes_dims + expected_dim = sum(rope_embedder.axes_dims) // 2 # 128 // 2 = 64 + assert freqs_cis.shape == (batch_size, seq_len, expected_dim) + + +def test_modulate(): + # Test modulation with different scales + x = torch.tensor([[1.0, 2.0], [3.0, 4.0]]) + scale = torch.tensor([1.5, 2.0]) + + modulated_x = modulate(x, scale) + + # Check that modulation scales correctly + # The function does x * (1 + scale), so: + # For scale [1.5, 2.0], (1 + scale) = [2.5, 3.0] + expected_x = torch.tensor([[2.5 * 1.0, 2.5 * 2.0], [3.0 * 3.0, 3.0 * 4.0]]) + # Which equals: [[2.5, 5.0], [9.0, 12.0]] + + assert torch.allclose(modulated_x, expected_x) + + +def test_nextdit_parameter_count_optimized(): + # The constraint is: (dim // n_heads) == sum(axes_dims) + # So for dim=120, n_heads=4: 120//4 = 30, so sum(axes_dims) must = 30 + model_small = NextDiT( + patch_size=2, + in_channels=4, # Smaller + dim=120, # 120 // 4 = 30 + n_layers=2, # Much fewer layers + n_heads=4, # Fewer heads + n_kv_heads=2, + axes_dims=[10, 10, 10], # sum = 30 + axes_lens=[10, 32, 32], # Smaller + ) + param_count_small = model_small.parameter_count() + assert param_count_small > 0 + + # For dim=192, n_heads=6: 192//6 = 32, so sum(axes_dims) must = 32 + model_medium = NextDiT( + patch_size=2, + in_channels=4, + dim=192, # 192 // 6 = 32 + n_layers=4, # More layers + n_heads=6, + n_kv_heads=3, + axes_dims=[10, 11, 11], # sum = 32 + axes_lens=[10, 32, 32], + ) + param_count_medium = model_medium.parameter_count() + assert param_count_medium > param_count_small + print(f"Small model: {param_count_small:,} parameters") + print(f"Medium model: {param_count_medium:,} parameters") + + +@torch.no_grad() +def test_precompute_freqs_cis(): + # Test precompute_freqs_cis + dim = [16, 56, 56] + end = [1, 512, 512] + theta = 10000.0 + + freqs_cis = NextDiT.precompute_freqs_cis(dim, end, theta) + + # Check number of frequency tensors + assert len(freqs_cis) == len(dim) + + # Check each frequency tensor + for i, (d, e) in enumerate(zip(dim, end)): + assert freqs_cis[i].shape == (e, d // 2) + assert freqs_cis[i].dtype == torch.complex128 + + +@torch.no_grad() +def test_nextdit_patchify_and_embed(): + """Test the patchify_and_embed method which is crucial for training""" + # Create a small NextDiT model for testing + # The constraint is: (dim // n_heads) == sum(axes_dims) + # For dim=120, n_heads=4: 120//4 = 30, so sum(axes_dims) must = 30 + model = NextDiT( + patch_size=2, + in_channels=4, + dim=120, # 120 // 4 = 30 + n_layers=1, # Minimal layers for faster testing + n_refiner_layers=1, # Minimal refiner layers + n_heads=4, + n_kv_heads=2, + axes_dims=[10, 10, 10], # sum = 30 + axes_lens=[10, 32, 32], + cap_feat_dim=120, # Match dim for consistency + ) + + # Prepare test inputs + batch_size = 2 + height, width = 64, 64 # Must be divisible by patch_size (2) + caption_seq_len = 8 + + # Create mock inputs + x = torch.randn(batch_size, 4, height, width) # Image latents + cap_feats = torch.randn(batch_size, caption_seq_len, 120) # Caption features + cap_mask = torch.ones(batch_size, caption_seq_len, dtype=torch.bool) # All valid tokens + # Make second batch have shorter caption + cap_mask[1, 6:] = False # Only first 6 tokens are valid for second batch + t = torch.randn(batch_size, 120) # Timestep embeddings + + # Call patchify_and_embed + joint_hidden_states, attention_mask, freqs_cis, l_effective_cap_len, seq_lengths = model.patchify_and_embed( + x, cap_feats, cap_mask, t + ) + + # Validate outputs + image_seq_len = (height // 2) * (width // 2) # patch_size = 2 + expected_seq_lengths = [caption_seq_len + image_seq_len, 6 + image_seq_len] # Second batch has shorter caption + max_seq_len = max(expected_seq_lengths) + + # Check joint hidden states shape + assert joint_hidden_states.shape == (batch_size, max_seq_len, 120) + assert joint_hidden_states.dtype == torch.float32 + + # Check attention mask shape and values + assert attention_mask.shape == (batch_size, max_seq_len) + assert attention_mask.dtype == torch.bool + # First batch should have all positions valid up to its sequence length + assert torch.all(attention_mask[0, : expected_seq_lengths[0]]) + assert torch.all(~attention_mask[0, expected_seq_lengths[0] :]) + # Second batch should have all positions valid up to its sequence length + assert torch.all(attention_mask[1, : expected_seq_lengths[1]]) + assert torch.all(~attention_mask[1, expected_seq_lengths[1] :]) + + # Check freqs_cis shape + assert freqs_cis.shape == (batch_size, max_seq_len, sum(model.axes_dims) // 2) + + # Check effective caption lengths + assert l_effective_cap_len == [caption_seq_len, 6] + + # Check sequence lengths + assert seq_lengths == expected_seq_lengths + + # Validate that the joint hidden states contain non-zero values where attention mask is True + for i in range(batch_size): + valid_positions = attention_mask[i] + # Check that valid positions have meaningful data (not all zeros) + valid_data = joint_hidden_states[i][valid_positions] + assert not torch.allclose(valid_data, torch.zeros_like(valid_data)) + + # Check that invalid positions are zeros + if valid_positions.sum() < max_seq_len: + invalid_data = joint_hidden_states[i][~valid_positions] + assert torch.allclose(invalid_data, torch.zeros_like(invalid_data)) + + +@torch.no_grad() +def test_nextdit_patchify_and_embed_edge_cases(): + """Test edge cases for patchify_and_embed""" + # Create minimal model + model = NextDiT( + patch_size=2, + in_channels=4, + dim=60, # 60 // 3 = 20 + n_layers=1, + n_refiner_layers=1, + n_heads=3, + n_kv_heads=1, + axes_dims=[8, 6, 6], # sum = 20 + axes_lens=[10, 16, 16], + cap_feat_dim=60, + ) + + # Test with empty captions (all masked) + batch_size = 1 + height, width = 32, 32 + caption_seq_len = 4 + + x = torch.randn(batch_size, 4, height, width) + cap_feats = torch.randn(batch_size, caption_seq_len, 60) + cap_mask = torch.zeros(batch_size, caption_seq_len, dtype=torch.bool) # All tokens masked + t = torch.randn(batch_size, 60) + + joint_hidden_states, attention_mask, freqs_cis, l_effective_cap_len, seq_lengths = model.patchify_and_embed( + x, cap_feats, cap_mask, t + ) + + # With all captions masked, effective length should be 0 + assert l_effective_cap_len == [0] + + # Sequence length should just be the image sequence length + image_seq_len = (height // 2) * (width // 2) + assert seq_lengths == [image_seq_len] + + # Joint hidden states should only contain image data + assert joint_hidden_states.shape == (batch_size, image_seq_len, 60) + assert attention_mask.shape == (batch_size, image_seq_len) + assert torch.all(attention_mask[0]) # All image positions should be valid diff --git a/tests/library/test_lumina_train_util.py b/tests/library/test_lumina_train_util.py new file mode 100644 index 000000000..bcf448c89 --- /dev/null +++ b/tests/library/test_lumina_train_util.py @@ -0,0 +1,241 @@ +import pytest +import torch +import math + +from library.lumina_train_util import ( + batchify, + time_shift, + get_lin_function, + get_schedule, + compute_density_for_timestep_sampling, + get_sigmas, + compute_loss_weighting_for_sd3, + get_noisy_model_input_and_timesteps, + apply_model_prediction_type, + retrieve_timesteps, +) +from library.sd3_train_utils import FlowMatchEulerDiscreteScheduler + + +def test_batchify(): + # Test case with no batch size specified + prompts = [ + {"prompt": "test1"}, + {"prompt": "test2"}, + {"prompt": "test3"} + ] + batchified = list(batchify(prompts)) + assert len(batchified) == 1 + assert len(batchified[0]) == 3 + + # Test case with batch size specified + batchified_sized = list(batchify(prompts, batch_size=2)) + assert len(batchified_sized) == 2 + assert len(batchified_sized[0]) == 2 + assert len(batchified_sized[1]) == 1 + + # Test batching with prompts having same parameters + prompts_with_params = [ + {"prompt": "test1", "width": 512, "height": 512}, + {"prompt": "test2", "width": 512, "height": 512}, + {"prompt": "test3", "width": 1024, "height": 1024} + ] + batchified_params = list(batchify(prompts_with_params)) + assert len(batchified_params) == 2 + + # Test invalid batch size + with pytest.raises(ValueError): + list(batchify(prompts, batch_size=0)) + with pytest.raises(ValueError): + list(batchify(prompts, batch_size=-1)) + + +def test_time_shift(): + # Test standard parameters + t = torch.tensor([0.5]) + mu = 1.0 + sigma = 1.0 + result = time_shift(mu, sigma, t) + assert 0 <= result <= 1 + + # Test with edge cases + t_edges = torch.tensor([0.0, 1.0]) + result_edges = time_shift(1.0, 1.0, t_edges) + + # Check that results are bounded within [0, 1] + assert torch.all(result_edges >= 0) + assert torch.all(result_edges <= 1) + + +def test_get_lin_function(): + # Default parameters + func = get_lin_function() + assert func(256) == 0.5 + assert func(4096) == 1.15 + + # Custom parameters + custom_func = get_lin_function(x1=100, x2=1000, y1=0.1, y2=0.9) + assert custom_func(100) == 0.1 + assert custom_func(1000) == 0.9 + + +def test_get_schedule(): + # Basic schedule + schedule = get_schedule(num_steps=10, image_seq_len=256) + assert len(schedule) == 10 + assert all(0 <= x <= 1 for x in schedule) + + # Test different sequence lengths + short_schedule = get_schedule(num_steps=5, image_seq_len=128) + long_schedule = get_schedule(num_steps=15, image_seq_len=1024) + assert len(short_schedule) == 5 + assert len(long_schedule) == 15 + + # Test with shift disabled + unshifted_schedule = get_schedule(num_steps=10, image_seq_len=256, shift=False) + assert torch.allclose( + torch.tensor(unshifted_schedule), + torch.linspace(1, 1/10, 10) + ) + + +def test_compute_density_for_timestep_sampling(): + # Test uniform sampling + uniform_samples = compute_density_for_timestep_sampling("uniform", batch_size=100) + assert len(uniform_samples) == 100 + assert torch.all((uniform_samples >= 0) & (uniform_samples <= 1)) + + # Test logit normal sampling + logit_normal_samples = compute_density_for_timestep_sampling( + "logit_normal", batch_size=100, logit_mean=0.0, logit_std=1.0 + ) + assert len(logit_normal_samples) == 100 + assert torch.all((logit_normal_samples >= 0) & (logit_normal_samples <= 1)) + + # Test mode sampling + mode_samples = compute_density_for_timestep_sampling( + "mode", batch_size=100, mode_scale=0.5 + ) + assert len(mode_samples) == 100 + assert torch.all((mode_samples >= 0) & (mode_samples <= 1)) + + +def test_get_sigmas(): + # Create a mock noise scheduler + scheduler = FlowMatchEulerDiscreteScheduler(num_train_timesteps=1000) + device = torch.device('cpu') + + # Test with default parameters + timesteps = torch.tensor([100, 500, 900]) + sigmas = get_sigmas(scheduler, timesteps, device) + + # Check shape and basic properties + assert sigmas.shape[0] == 3 + assert torch.all(sigmas >= 0) + + # Test with different n_dim + sigmas_4d = get_sigmas(scheduler, timesteps, device, n_dim=4) + assert sigmas_4d.ndim == 4 + + # Test with different dtype + sigmas_float16 = get_sigmas(scheduler, timesteps, device, dtype=torch.float16) + assert sigmas_float16.dtype == torch.float16 + + +def test_compute_loss_weighting_for_sd3(): + # Prepare some mock sigmas + sigmas = torch.tensor([0.1, 0.5, 1.0]) + + # Test sigma_sqrt weighting + sqrt_weighting = compute_loss_weighting_for_sd3("sigma_sqrt", sigmas) + assert torch.allclose(sqrt_weighting, 1 / (sigmas**2), rtol=1e-5) + + # Test cosmap weighting + cosmap_weighting = compute_loss_weighting_for_sd3("cosmap", sigmas) + bot = 1 - 2 * sigmas + 2 * sigmas**2 + expected_cosmap = 2 / (math.pi * bot) + assert torch.allclose(cosmap_weighting, expected_cosmap, rtol=1e-5) + + # Test default weighting + default_weighting = compute_loss_weighting_for_sd3("unknown", sigmas) + assert torch.all(default_weighting == 1) + + +def test_apply_model_prediction_type(): + # Create mock args and tensors + class MockArgs: + model_prediction_type = "raw" + weighting_scheme = "sigma_sqrt" + + args = MockArgs() + model_pred = torch.tensor([1.0, 2.0, 3.0]) + noisy_model_input = torch.tensor([0.5, 1.0, 1.5]) + sigmas = torch.tensor([0.1, 0.5, 1.0]) + + # Test raw prediction type + raw_pred, raw_weighting = apply_model_prediction_type(args, model_pred, noisy_model_input, sigmas) + assert torch.all(raw_pred == model_pred) + assert raw_weighting is None + + # Test additive prediction type + args.model_prediction_type = "additive" + additive_pred, _ = apply_model_prediction_type(args, model_pred, noisy_model_input, sigmas) + assert torch.all(additive_pred == model_pred + noisy_model_input) + + # Test sigma scaled prediction type + args.model_prediction_type = "sigma_scaled" + sigma_scaled_pred, sigma_weighting = apply_model_prediction_type(args, model_pred, noisy_model_input, sigmas) + assert torch.all(sigma_scaled_pred == model_pred * (-sigmas) + noisy_model_input) + assert sigma_weighting is not None + + +def test_retrieve_timesteps(): + # Create a mock scheduler + scheduler = FlowMatchEulerDiscreteScheduler(num_train_timesteps=1000) + + # Test with num_inference_steps + timesteps, n_steps = retrieve_timesteps(scheduler, num_inference_steps=50) + assert len(timesteps) == 50 + assert n_steps == 50 + + # Test error handling with simultaneous timesteps and sigmas + with pytest.raises(ValueError): + retrieve_timesteps(scheduler, timesteps=[1, 2, 3], sigmas=[0.1, 0.2, 0.3]) + + +def test_get_noisy_model_input_and_timesteps(): + # Create a mock args and setup + class MockArgs: + timestep_sampling = "uniform" + weighting_scheme = "sigma_sqrt" + sigmoid_scale = 1.0 + discrete_flow_shift = 6.0 + + args = MockArgs() + scheduler = FlowMatchEulerDiscreteScheduler(num_train_timesteps=1000) + device = torch.device('cpu') + + # Prepare mock latents and noise + latents = torch.randn(4, 16, 64, 64) + noise = torch.randn_like(latents) + + # Test uniform sampling + noisy_input, timesteps, sigmas = get_noisy_model_input_and_timesteps( + args, scheduler, latents, noise, device, torch.float32 + ) + + # Validate output shapes and types + assert noisy_input.shape == latents.shape + assert timesteps.shape[0] == latents.shape[0] + assert noisy_input.dtype == torch.float32 + assert timesteps.dtype == torch.float32 + + # Test different sampling methods + sampling_methods = ["sigmoid", "shift", "nextdit_shift"] + for method in sampling_methods: + args.timestep_sampling = method + noisy_input, timesteps, _ = get_noisy_model_input_and_timesteps( + args, scheduler, latents, noise, device, torch.float32 + ) + assert noisy_input.shape == latents.shape + assert timesteps.shape[0] == latents.shape[0] diff --git a/tests/library/test_lumina_util.py b/tests/library/test_lumina_util.py new file mode 100644 index 000000000..397bab5a9 --- /dev/null +++ b/tests/library/test_lumina_util.py @@ -0,0 +1,112 @@ +import torch +from torch.nn.modules import conv + +from library import lumina_util + + +def test_unpack_latents(): + # Create a test tensor + # Shape: [batch, height*width, channels*patch_height*patch_width] + x = torch.randn(2, 4, 16) # 2 batches, 4 tokens, 16 channels + packed_latent_height = 2 + packed_latent_width = 2 + + # Unpack the latents + unpacked = lumina_util.unpack_latents(x, packed_latent_height, packed_latent_width) + + # Check output shape + # Expected shape: [batch, channels, height*patch_height, width*patch_width] + assert unpacked.shape == (2, 4, 4, 4) + + +def test_pack_latents(): + # Create a test tensor + # Shape: [batch, channels, height*patch_height, width*patch_width] + x = torch.randn(2, 4, 4, 4) + + # Pack the latents + packed = lumina_util.pack_latents(x) + + # Check output shape + # Expected shape: [batch, height*width, channels*patch_height*patch_width] + assert packed.shape == (2, 4, 16) + + +def test_convert_diffusers_sd_to_alpha_vllm(): + num_double_blocks = 2 + # Predefined test cases based on the actual conversion map + test_cases = [ + # Static key conversions with possible list mappings + { + "original_keys": ["time_caption_embed.caption_embedder.0.weight"], + "original_pattern": ["time_caption_embed.caption_embedder.0.weight"], + "expected_converted_keys": ["cap_embedder.0.weight"], + }, + { + "original_keys": ["patch_embedder.proj.weight"], + "original_pattern": ["patch_embedder.proj.weight"], + "expected_converted_keys": ["x_embedder.weight"], + }, + { + "original_keys": ["transformer_blocks.0.norm1.weight"], + "original_pattern": ["transformer_blocks.().norm1.weight"], + "expected_converted_keys": ["layers.0.attention_norm1.weight"], + }, + ] + + + for test_case in test_cases: + for original_key, original_pattern, expected_converted_key in zip( + test_case["original_keys"], test_case["original_pattern"], test_case["expected_converted_keys"] + ): + # Create test state dict + test_sd = {original_key: torch.randn(10, 10)} + + # Convert the state dict + converted_sd = lumina_util.convert_diffusers_sd_to_alpha_vllm(test_sd, num_double_blocks) + + # Verify conversion (handle both string and list keys) + # Find the correct converted key + match_found = False + if expected_converted_key in converted_sd: + # Verify tensor preservation + assert torch.allclose(converted_sd[expected_converted_key], test_sd[original_key], atol=1e-6), ( + f"Tensor mismatch for {original_key}" + ) + match_found = True + break + + assert match_found, f"Failed to convert {original_key}" + + # Ensure original key is also present + assert original_key in converted_sd + + # Test with block-specific keys + block_specific_cases = [ + { + "original_pattern": "transformer_blocks.().norm1.weight", + "converted_pattern": "layers.().attention_norm1.weight", + } + ] + + for case in block_specific_cases: + for block_idx in range(2): # Test multiple block indices + # Prepare block-specific keys + block_original_key = case["original_pattern"].replace("()", str(block_idx)) + block_converted_key = case["converted_pattern"].replace("()", str(block_idx)) + print(block_original_key, block_converted_key) + + # Create test state dict + test_sd = {block_original_key: torch.randn(10, 10)} + + # Convert the state dict + converted_sd = lumina_util.convert_diffusers_sd_to_alpha_vllm(test_sd, num_double_blocks) + + # Verify conversion + # assert block_converted_key in converted_sd, f"Failed to convert block key {block_original_key}" + assert torch.allclose(converted_sd[block_converted_key], test_sd[block_original_key], atol=1e-6), ( + f"Tensor mismatch for block key {block_original_key}" + ) + + # Ensure original key is also present + assert block_original_key in converted_sd diff --git a/tests/library/test_strategy_lumina.py b/tests/library/test_strategy_lumina.py new file mode 100644 index 000000000..18e196bf9 --- /dev/null +++ b/tests/library/test_strategy_lumina.py @@ -0,0 +1,227 @@ +import os +import tempfile +import torch +import numpy as np +from unittest.mock import patch +from transformers import Gemma2Model + +from library.strategy_lumina import ( + LuminaTokenizeStrategy, + LuminaTextEncodingStrategy, + LuminaTextEncoderOutputsCachingStrategy, + LuminaLatentsCachingStrategy, +) + + +class SimpleMockGemma2Model: + """Lightweight mock that avoids initializing the actual Gemma2Model""" + + def __init__(self, hidden_size=2304): + self.device = torch.device("cpu") + self._hidden_size = hidden_size + self._orig_mod = self # For dynamic compilation compatibility + + def __call__(self, input_ids, attention_mask, output_hidden_states=False, return_dict=False): + # Create a mock output object with hidden states + batch_size, seq_len = input_ids.shape + hidden_size = self._hidden_size + + class MockOutput: + def __init__(self, hidden_states): + self.hidden_states = hidden_states + + mock_hidden_states = [ + torch.randn(batch_size, seq_len, hidden_size, device=input_ids.device) + for _ in range(3) # Mimic multiple layers of hidden states + ] + + return MockOutput(mock_hidden_states) + + +def test_lumina_tokenize_strategy(): + # Test default initialization + tokenize_strategy = LuminaTokenizeStrategy(max_length=None) + assert tokenize_strategy.max_length == 256 + assert tokenize_strategy.tokenizer.padding_side == "right" + + # Test tokenization of a single string + text = "Hello" + tokens, attention_mask = tokenize_strategy.tokenize(text) + + assert tokens.ndim == 2 + assert attention_mask.ndim == 2 + assert tokens.shape == attention_mask.shape + assert tokens.shape[1] == 256 # max_length + + # Test tokenize_with_weights + tokens, attention_mask, weights = tokenize_strategy.tokenize_with_weights(text) + assert len(weights) == 1 + assert torch.all(weights[0] == 1) + + +def test_lumina_text_encoding_strategy(): + # Create strategies + tokenize_strategy = LuminaTokenizeStrategy(max_length=None) + encoding_strategy = LuminaTextEncodingStrategy() + + # Create a mock model + mock_model = SimpleMockGemma2Model() + + # Patch the isinstance check to accept our simple mock + original_isinstance = isinstance + with patch("library.strategy_lumina.isinstance") as mock_isinstance: + + def custom_isinstance(obj, class_or_tuple): + if obj is mock_model and class_or_tuple is Gemma2Model: + return True + if hasattr(obj, "_orig_mod") and obj._orig_mod is mock_model and class_or_tuple is Gemma2Model: + return True + return original_isinstance(obj, class_or_tuple) + + mock_isinstance.side_effect = custom_isinstance + + # Prepare sample text + text = "Test encoding strategy" + tokens, attention_mask = tokenize_strategy.tokenize(text) + + # Perform encoding + hidden_states, input_ids, attention_masks = encoding_strategy.encode_tokens( + tokenize_strategy, [mock_model], (tokens, attention_mask) + ) + + # Validate outputs + assert original_isinstance(hidden_states, torch.Tensor) + assert original_isinstance(input_ids, torch.Tensor) + assert original_isinstance(attention_masks, torch.Tensor) + + # Check the shape of the second-to-last hidden state + assert hidden_states.ndim == 3 + + # Test weighted encoding (which falls back to standard encoding for Lumina) + weights = [torch.ones_like(tokens)] + hidden_states_w, input_ids_w, attention_masks_w = encoding_strategy.encode_tokens_with_weights( + tokenize_strategy, [mock_model], (tokens, attention_mask), weights + ) + + # For the mock, we can't guarantee identical outputs since each call returns random tensors + # Instead, check that the outputs have the same shape and are tensors + assert hidden_states_w.shape == hidden_states.shape + assert original_isinstance(hidden_states_w, torch.Tensor) + assert torch.allclose(input_ids, input_ids_w) # Input IDs should be the same + assert torch.allclose(attention_masks, attention_masks_w) # Attention masks should be the same + + +def test_lumina_text_encoder_outputs_caching_strategy(): + # Create a temporary directory for caching + with tempfile.TemporaryDirectory() as tmpdir: + # Create a cache file path + cache_file = os.path.join(tmpdir, "test_outputs.npz") + + # Create the caching strategy + caching_strategy = LuminaTextEncoderOutputsCachingStrategy( + cache_to_disk=True, + batch_size=1, + skip_disk_cache_validity_check=False, + ) + + # Create a mock class for ImageInfo + class MockImageInfo: + def __init__(self, caption, system_prompt, cache_path): + self.caption = caption + self.system_prompt = system_prompt + self.text_encoder_outputs_npz = cache_path + + # Create a sample input info + image_info = MockImageInfo("Test caption", "", cache_file) + + # Simulate a batch + batch = [image_info] + + # Create mock strategies and model + tokenize_strategy = LuminaTokenizeStrategy(max_length=None) + encoding_strategy = LuminaTextEncodingStrategy() + mock_model = SimpleMockGemma2Model() + + # Patch the isinstance check to accept our simple mock + original_isinstance = isinstance + with patch("library.strategy_lumina.isinstance") as mock_isinstance: + + def custom_isinstance(obj, class_or_tuple): + if obj is mock_model and class_or_tuple is Gemma2Model: + return True + if hasattr(obj, "_orig_mod") and obj._orig_mod is mock_model and class_or_tuple is Gemma2Model: + return True + return original_isinstance(obj, class_or_tuple) + + mock_isinstance.side_effect = custom_isinstance + + # Call cache_batch_outputs + caching_strategy.cache_batch_outputs(tokenize_strategy, [mock_model], encoding_strategy, batch) + + # Verify the npz file was created + assert os.path.exists(cache_file), f"Cache file not created at {cache_file}" + + # Verify the is_disk_cached_outputs_expected method + assert caching_strategy.is_disk_cached_outputs_expected(cache_file) + + # Test loading from npz + loaded_data = caching_strategy.load_outputs_npz(cache_file) + assert len(loaded_data) == 3 # hidden_state, input_ids, attention_mask + + +def test_lumina_latents_caching_strategy(): + # Create a temporary directory for caching + with tempfile.TemporaryDirectory() as tmpdir: + # Prepare a mock absolute path + abs_path = os.path.join(tmpdir, "test_image.png") + + # Use smaller image size for faster testing + image_size = (64, 64) + + # Create a smaller dummy image for testing + test_image = np.random.randint(0, 255, (64, 64, 3), dtype=np.uint8) + + # Create the caching strategy + caching_strategy = LuminaLatentsCachingStrategy(cache_to_disk=True, batch_size=1, skip_disk_cache_validity_check=False) + + # Create a simple mock VAE + class MockVAE: + def __init__(self): + self.device = torch.device("cpu") + self.dtype = torch.float32 + + def encode(self, x): + # Return smaller encoded tensor for faster processing + encoded = torch.randn(1, 4, 8, 8, device=x.device) + return type("EncodedLatents", (), {"to": lambda *args, **kwargs: encoded}) + + # Prepare a mock batch + class MockImageInfo: + def __init__(self, path, image): + self.absolute_path = path + self.image = image + self.image_path = path + self.bucket_reso = image_size + self.resized_size = image_size + self.resize_interpolation = "lanczos" + # Specify full path to the latents npz file + self.latents_npz = os.path.join(tmpdir, f"{os.path.splitext(os.path.basename(path))[0]}_0064x0064_lumina.npz") + + batch = [MockImageInfo(abs_path, test_image)] + + # Call cache_batch_latents + mock_vae = MockVAE() + caching_strategy.cache_batch_latents(mock_vae, batch, flip_aug=False, alpha_mask=False, random_crop=False) + + # Generate the expected npz path + npz_path = caching_strategy.get_latents_npz_path(abs_path, image_size) + + # Verify the file was created + assert os.path.exists(npz_path), f"NPZ file not created at {npz_path}" + + # Verify is_disk_cached_latents_expected + assert caching_strategy.is_disk_cached_latents_expected(image_size, npz_path, False, False) + + # Test loading from disk + loaded_data = caching_strategy.load_latents_from_disk(npz_path, image_size) + assert len(loaded_data) == 5 # Check for 5 expected elements diff --git a/tests/test_lumina_train_network.py b/tests/test_lumina_train_network.py new file mode 100644 index 000000000..353a742f4 --- /dev/null +++ b/tests/test_lumina_train_network.py @@ -0,0 +1,173 @@ +import pytest +import torch +from unittest.mock import MagicMock, patch +import argparse + +from library import lumina_models, lumina_util +from lumina_train_network import LuminaNetworkTrainer + + +@pytest.fixture +def lumina_trainer(): + return LuminaNetworkTrainer() + + +@pytest.fixture +def mock_args(): + args = MagicMock() + args.pretrained_model_name_or_path = "test_path" + args.disable_mmap_load_safetensors = False + args.use_flash_attn = False + args.use_sage_attn = False + args.fp8_base = False + args.blocks_to_swap = None + args.gemma2 = "test_gemma2_path" + args.ae = "test_ae_path" + args.cache_text_encoder_outputs = True + args.cache_text_encoder_outputs_to_disk = False + args.network_train_unet_only = False + return args + + +@pytest.fixture +def mock_accelerator(): + accelerator = MagicMock() + accelerator.device = torch.device("cpu") + accelerator.prepare.side_effect = lambda x, **kwargs: x + accelerator.unwrap_model.side_effect = lambda x: x + return accelerator + + +def test_assert_extra_args(lumina_trainer, mock_args): + train_dataset_group = MagicMock() + train_dataset_group.verify_bucket_reso_steps = MagicMock() + val_dataset_group = MagicMock() + val_dataset_group.verify_bucket_reso_steps = MagicMock() + + # Test with default settings + lumina_trainer.assert_extra_args(mock_args, train_dataset_group, val_dataset_group) + + # Verify verify_bucket_reso_steps was called for both groups + assert train_dataset_group.verify_bucket_reso_steps.call_count > 0 + assert val_dataset_group.verify_bucket_reso_steps.call_count > 0 + + # Check text encoder output caching + assert lumina_trainer.train_gemma2 is (not mock_args.network_train_unet_only) + assert mock_args.cache_text_encoder_outputs is True + + +def test_load_target_model(lumina_trainer, mock_args, mock_accelerator): + # Patch lumina_util methods + with ( + patch("library.lumina_util.load_lumina_model") as mock_load_lumina_model, + patch("library.lumina_util.load_gemma2") as mock_load_gemma2, + patch("library.lumina_util.load_ae") as mock_load_ae + ): + # Create mock models + mock_model = MagicMock(spec=lumina_models.NextDiT) + mock_model.dtype = torch.float32 + mock_gemma2 = MagicMock() + mock_ae = MagicMock() + + mock_load_lumina_model.return_value = mock_model + mock_load_gemma2.return_value = mock_gemma2 + mock_load_ae.return_value = mock_ae + + # Test load_target_model + version, gemma2_list, ae, model = lumina_trainer.load_target_model(mock_args, torch.float32, mock_accelerator) + + # Verify calls and return values + assert version == lumina_util.MODEL_VERSION_LUMINA_V2 + assert gemma2_list == [mock_gemma2] + assert ae == mock_ae + assert model == mock_model + + # Verify load calls + mock_load_lumina_model.assert_called_once() + mock_load_gemma2.assert_called_once() + mock_load_ae.assert_called_once() + + +def test_get_strategies(lumina_trainer, mock_args): + # Test tokenize strategy + tokenize_strategy = lumina_trainer.get_tokenize_strategy(mock_args) + assert tokenize_strategy.__class__.__name__ == "LuminaTokenizeStrategy" + + # Test latents caching strategy + latents_strategy = lumina_trainer.get_latents_caching_strategy(mock_args) + assert latents_strategy.__class__.__name__ == "LuminaLatentsCachingStrategy" + + # Test text encoding strategy + text_encoding_strategy = lumina_trainer.get_text_encoding_strategy(mock_args) + assert text_encoding_strategy.__class__.__name__ == "LuminaTextEncodingStrategy" + + +def test_text_encoder_output_caching_strategy(lumina_trainer, mock_args): + # Call assert_extra_args to set train_gemma2 + train_dataset_group = MagicMock() + train_dataset_group.verify_bucket_reso_steps = MagicMock() + val_dataset_group = MagicMock() + val_dataset_group.verify_bucket_reso_steps = MagicMock() + lumina_trainer.assert_extra_args(mock_args, train_dataset_group, val_dataset_group) + + # With text encoder caching enabled + mock_args.skip_cache_check = False + mock_args.text_encoder_batch_size = 16 + strategy = lumina_trainer.get_text_encoder_outputs_caching_strategy(mock_args) + + assert strategy.__class__.__name__ == "LuminaTextEncoderOutputsCachingStrategy" + assert strategy.cache_to_disk is False # based on mock_args + + # With text encoder caching disabled + mock_args.cache_text_encoder_outputs = False + strategy = lumina_trainer.get_text_encoder_outputs_caching_strategy(mock_args) + assert strategy is None + + +def test_noise_scheduler(lumina_trainer, mock_args): + device = torch.device("cpu") + noise_scheduler = lumina_trainer.get_noise_scheduler(mock_args, device) + + assert noise_scheduler.__class__.__name__ == "FlowMatchEulerDiscreteScheduler" + assert noise_scheduler.num_train_timesteps == 1000 + assert hasattr(lumina_trainer, "noise_scheduler_copy") + + +def test_sai_model_spec(lumina_trainer, mock_args): + with patch("library.train_util.get_sai_model_spec") as mock_get_spec: + mock_get_spec.return_value = "test_spec" + spec = lumina_trainer.get_sai_model_spec(mock_args) + assert spec == "test_spec" + mock_get_spec.assert_called_once_with(None, mock_args, False, True, False, lumina="lumina2") + + +def test_update_metadata(lumina_trainer, mock_args): + metadata = {} + lumina_trainer.update_metadata(metadata, mock_args) + + assert "ss_weighting_scheme" in metadata + assert "ss_logit_mean" in metadata + assert "ss_logit_std" in metadata + assert "ss_mode_scale" in metadata + assert "ss_timestep_sampling" in metadata + assert "ss_sigmoid_scale" in metadata + assert "ss_model_prediction_type" in metadata + assert "ss_discrete_flow_shift" in metadata + + +def test_is_text_encoder_not_needed_for_training(lumina_trainer, mock_args): + # Test with text encoder output caching, but not training text encoder + mock_args.cache_text_encoder_outputs = True + with patch.object(lumina_trainer, 'is_train_text_encoder', return_value=False): + result = lumina_trainer.is_text_encoder_not_needed_for_training(mock_args) + assert result is True + + # Test with text encoder output caching and training text encoder + with patch.object(lumina_trainer, 'is_train_text_encoder', return_value=True): + result = lumina_trainer.is_text_encoder_not_needed_for_training(mock_args) + assert result is False + + # Test with no text encoder output caching + mock_args.cache_text_encoder_outputs = False + result = lumina_trainer.is_text_encoder_not_needed_for_training(mock_args) + assert result is False \ No newline at end of file From bcd3a5a60aa87507669860fd1fca02fb60574338 Mon Sep 17 00:00:00 2001 From: Disty0 Date: Fri, 13 Jun 2025 16:25:16 +0300 Subject: [PATCH 587/748] Update IPEX libs --- finetune/tag_images_by_wd14_tagger.py | 2 +- library/ipex/__init__.py | 138 +++++++-------- library/ipex/attention.py | 12 +- library/ipex/diffusers.py | 81 ++++++++- library/ipex/gradscaler.py | 183 -------------------- library/ipex/hijacks.py | 235 ++++++++++++++++++-------- 6 files changed, 316 insertions(+), 335 deletions(-) delete mode 100644 library/ipex/gradscaler.py diff --git a/finetune/tag_images_by_wd14_tagger.py b/finetune/tag_images_by_wd14_tagger.py index f8f6ddd99..3bf71fed1 100644 --- a/finetune/tag_images_by_wd14_tagger.py +++ b/finetune/tag_images_by_wd14_tagger.py @@ -153,7 +153,7 @@ def main(args): ort_sess = ort.InferenceSession( onnx_path, providers=(["OpenVINOExecutionProvider"]), - provider_options=[{'device_type' : "GPU_FP32"}], + provider_options=[{'device_type' : "GPU", "precision": "FP32"}], ) else: ort_sess = ort.InferenceSession( diff --git a/library/ipex/__init__.py b/library/ipex/__init__.py index a36664bb3..a44531f35 100644 --- a/library/ipex/__init__.py +++ b/library/ipex/__init__.py @@ -1,14 +1,15 @@ import os import sys -import contextlib import torch try: import intel_extension_for_pytorch as ipex # pylint: disable=import-error, unused-import - legacy = True + has_ipex = True except Exception: - legacy = False + has_ipex = False from .hijacks import ipex_hijacks +torch_version = float(torch.__version__[:3]) + # pylint: disable=protected-access, missing-function-docstring, line-too-long def ipex_init(): # pylint: disable=too-many-statements @@ -16,7 +17,10 @@ def ipex_init(): # pylint: disable=too-many-statements if hasattr(torch, "cuda") and hasattr(torch.cuda, "is_xpu_hijacked") and torch.cuda.is_xpu_hijacked: return True, "Skipping IPEX hijack" else: - try: # force xpu device on torch compile and triton + try: + # force xpu device on torch compile and triton + # import inductor utils to get around lazy import + from torch._inductor import utils as torch_inductor_utils # pylint: disable=import-error, unused-import # noqa: F401 torch._inductor.utils.GPU_TYPES = ["xpu"] torch._inductor.utils.get_gpu_type = lambda *args, **kwargs: "xpu" from triton import backends as triton_backends # pylint: disable=import-error @@ -35,7 +39,6 @@ def ipex_init(): # pylint: disable=too-many-statements torch.cuda.is_available = torch.xpu.is_available torch.cuda.is_initialized = torch.xpu.is_initialized torch.cuda.is_current_stream_capturing = lambda: False - torch.cuda.set_device = torch.xpu.set_device torch.cuda.stream = torch.xpu.stream torch.cuda.Event = torch.xpu.Event torch.cuda.Stream = torch.xpu.Stream @@ -45,7 +48,6 @@ def ipex_init(): # pylint: disable=too-many-statements torch.cuda.Optional = torch.xpu.Optional torch.cuda.__cached__ = torch.xpu.__cached__ torch.cuda.__loader__ = torch.xpu.__loader__ - torch.cuda.Tuple = torch.xpu.Tuple torch.cuda.streams = torch.xpu.streams torch.cuda.Any = torch.xpu.Any torch.cuda.__doc__ = torch.xpu.__doc__ @@ -58,7 +60,6 @@ def ipex_init(): # pylint: disable=too-many-statements torch.cuda.__annotations__ = torch.xpu.__annotations__ torch.cuda.__package__ = torch.xpu.__package__ torch.cuda.__builtins__ = torch.xpu.__builtins__ - torch.cuda.List = torch.xpu.List torch.cuda._lazy_init = torch.xpu._lazy_init torch.cuda.StreamContext = torch.xpu.StreamContext torch.cuda._lazy_call = torch.xpu._lazy_call @@ -70,47 +71,40 @@ def ipex_init(): # pylint: disable=too-many-statements torch.cuda.__file__ = torch.xpu.__file__ # torch.cuda.is_current_stream_capturing = torch.xpu.is_current_stream_capturing - if legacy: - torch.cuda.os = torch.xpu.os - torch.cuda.Device = torch.xpu.Device - torch.cuda.warnings = torch.xpu.warnings - torch.cuda.classproperty = torch.xpu.classproperty - torch.UntypedStorage.cuda = torch.UntypedStorage.xpu - if float(ipex.__version__[:3]) < 2.3: - torch.cuda._initialization_lock = torch.xpu.lazy_init._initialization_lock - torch.cuda._initialized = torch.xpu.lazy_init._initialized - torch.cuda._is_in_bad_fork = torch.xpu.lazy_init._is_in_bad_fork - torch.cuda._lazy_seed_tracker = torch.xpu.lazy_init._lazy_seed_tracker - torch.cuda._queued_calls = torch.xpu.lazy_init._queued_calls - torch.cuda._tls = torch.xpu.lazy_init._tls - torch.cuda.threading = torch.xpu.lazy_init.threading - torch.cuda.traceback = torch.xpu.lazy_init.traceback - torch.cuda._lazy_new = torch.xpu._lazy_new - - torch.cuda.FloatTensor = torch.xpu.FloatTensor - torch.cuda.FloatStorage = torch.xpu.FloatStorage - torch.cuda.BFloat16Tensor = torch.xpu.BFloat16Tensor - torch.cuda.BFloat16Storage = torch.xpu.BFloat16Storage - torch.cuda.HalfTensor = torch.xpu.HalfTensor - torch.cuda.HalfStorage = torch.xpu.HalfStorage - torch.cuda.ByteTensor = torch.xpu.ByteTensor - torch.cuda.ByteStorage = torch.xpu.ByteStorage - torch.cuda.DoubleTensor = torch.xpu.DoubleTensor - torch.cuda.DoubleStorage = torch.xpu.DoubleStorage - torch.cuda.ShortTensor = torch.xpu.ShortTensor - torch.cuda.ShortStorage = torch.xpu.ShortStorage - torch.cuda.LongTensor = torch.xpu.LongTensor - torch.cuda.LongStorage = torch.xpu.LongStorage - torch.cuda.IntTensor = torch.xpu.IntTensor - torch.cuda.IntStorage = torch.xpu.IntStorage - torch.cuda.CharTensor = torch.xpu.CharTensor - torch.cuda.CharStorage = torch.xpu.CharStorage - torch.cuda.BoolTensor = torch.xpu.BoolTensor - torch.cuda.BoolStorage = torch.xpu.BoolStorage - torch.cuda.ComplexFloatStorage = torch.xpu.ComplexFloatStorage - torch.cuda.ComplexDoubleStorage = torch.xpu.ComplexDoubleStorage + if torch_version < 2.3: + torch.cuda._initialization_lock = torch.xpu.lazy_init._initialization_lock + torch.cuda._initialized = torch.xpu.lazy_init._initialized + torch.cuda._is_in_bad_fork = torch.xpu.lazy_init._is_in_bad_fork + torch.cuda._lazy_seed_tracker = torch.xpu.lazy_init._lazy_seed_tracker + torch.cuda._queued_calls = torch.xpu.lazy_init._queued_calls + torch.cuda._tls = torch.xpu.lazy_init._tls + torch.cuda.threading = torch.xpu.lazy_init.threading + torch.cuda.traceback = torch.xpu.lazy_init.traceback + torch.cuda._lazy_new = torch.xpu._lazy_new - if not legacy or float(ipex.__version__[:3]) >= 2.3: + torch.cuda.FloatTensor = torch.xpu.FloatTensor + torch.cuda.FloatStorage = torch.xpu.FloatStorage + torch.cuda.BFloat16Tensor = torch.xpu.BFloat16Tensor + torch.cuda.BFloat16Storage = torch.xpu.BFloat16Storage + torch.cuda.HalfTensor = torch.xpu.HalfTensor + torch.cuda.HalfStorage = torch.xpu.HalfStorage + torch.cuda.ByteTensor = torch.xpu.ByteTensor + torch.cuda.ByteStorage = torch.xpu.ByteStorage + torch.cuda.DoubleTensor = torch.xpu.DoubleTensor + torch.cuda.DoubleStorage = torch.xpu.DoubleStorage + torch.cuda.ShortTensor = torch.xpu.ShortTensor + torch.cuda.ShortStorage = torch.xpu.ShortStorage + torch.cuda.LongTensor = torch.xpu.LongTensor + torch.cuda.LongStorage = torch.xpu.LongStorage + torch.cuda.IntTensor = torch.xpu.IntTensor + torch.cuda.IntStorage = torch.xpu.IntStorage + torch.cuda.CharTensor = torch.xpu.CharTensor + torch.cuda.CharStorage = torch.xpu.CharStorage + torch.cuda.BoolTensor = torch.xpu.BoolTensor + torch.cuda.BoolStorage = torch.xpu.BoolStorage + torch.cuda.ComplexFloatStorage = torch.xpu.ComplexFloatStorage + torch.cuda.ComplexDoubleStorage = torch.xpu.ComplexDoubleStorage + else: torch.cuda._initialization_lock = torch.xpu._initialization_lock torch.cuda._initialized = torch.xpu._initialized torch.cuda._is_in_bad_fork = torch.xpu._is_in_bad_fork @@ -120,12 +114,24 @@ def ipex_init(): # pylint: disable=too-many-statements torch.cuda.threading = torch.xpu.threading torch.cuda.traceback = torch.xpu.traceback + if torch_version < 2.5: + torch.cuda.os = torch.xpu.os + torch.cuda.Device = torch.xpu.Device + torch.cuda.warnings = torch.xpu.warnings + torch.cuda.classproperty = torch.xpu.classproperty + torch.UntypedStorage.cuda = torch.UntypedStorage.xpu + + if torch_version < 2.7: + torch.cuda.Tuple = torch.xpu.Tuple + torch.cuda.List = torch.xpu.List + + # Memory: if 'linux' in sys.platform and "WSL2" in os.popen("uname -a").read(): torch.xpu.empty_cache = lambda: None torch.cuda.empty_cache = torch.xpu.empty_cache - if legacy: + if has_ipex: torch.cuda.memory_summary = torch.xpu.memory_summary torch.cuda.memory_snapshot = torch.xpu.memory_snapshot torch.cuda.memory = torch.xpu.memory @@ -153,40 +159,19 @@ def ipex_init(): # pylint: disable=too-many-statements torch.cuda.seed_all = torch.xpu.seed_all torch.cuda.initial_seed = torch.xpu.initial_seed - # AMP: - if legacy: - torch.xpu.amp.custom_fwd = torch.cuda.amp.custom_fwd - torch.xpu.amp.custom_bwd = torch.cuda.amp.custom_bwd - torch.cuda.amp = torch.xpu.amp - if float(ipex.__version__[:3]) < 2.3: - torch.is_autocast_enabled = torch.xpu.is_autocast_xpu_enabled - torch.get_autocast_gpu_dtype = torch.xpu.get_autocast_xpu_dtype - - if not hasattr(torch.cuda.amp, "common"): - torch.cuda.amp.common = contextlib.nullcontext() - torch.cuda.amp.common.amp_definitely_not_available = lambda: False - - try: - torch.cuda.amp.GradScaler = torch.xpu.amp.GradScaler - except Exception: # pylint: disable=broad-exception-caught - try: - from .gradscaler import gradscaler_init # pylint: disable=import-outside-toplevel, import-error - gradscaler_init() - torch.cuda.amp.GradScaler = torch.xpu.amp.GradScaler - except Exception: # pylint: disable=broad-exception-caught - torch.cuda.amp.GradScaler = ipex.cpu.autocast._grad_scaler.GradScaler - # C - if legacy and float(ipex.__version__[:3]) < 2.3: + if torch_version < 2.3: torch._C._cuda_getCurrentRawStream = ipex._C._getCurrentRawStream ipex._C._DeviceProperties.multi_processor_count = ipex._C._DeviceProperties.gpu_subslice_count ipex._C._DeviceProperties.major = 12 ipex._C._DeviceProperties.minor = 1 + ipex._C._DeviceProperties.L2_cache_size = 16*1024*1024 # A770 and A750 else: torch._C._cuda_getCurrentRawStream = torch._C._xpu_getCurrentRawStream torch._C._XpuDeviceProperties.multi_processor_count = torch._C._XpuDeviceProperties.gpu_subslice_count torch._C._XpuDeviceProperties.major = 12 torch._C._XpuDeviceProperties.minor = 1 + torch._C._XpuDeviceProperties.L2_cache_size = 16*1024*1024 # A770 and A750 # Fix functions with ipex: # torch.xpu.mem_get_info always returns the total memory as free memory @@ -195,21 +180,22 @@ def ipex_init(): # pylint: disable=too-many-statements torch._utils._get_available_device_type = lambda: "xpu" torch.has_cuda = True torch.cuda.has_half = True - torch.cuda.is_bf16_supported = lambda *args, **kwargs: True + torch.cuda.is_bf16_supported = getattr(torch.xpu, "is_bf16_supported", lambda *args, **kwargs: True) torch.cuda.is_fp16_supported = lambda *args, **kwargs: True torch.backends.cuda.is_built = lambda *args, **kwargs: True torch.version.cuda = "12.1" - torch.cuda.get_arch_list = lambda: ["ats-m150", "pvc"] + torch.cuda.get_arch_list = getattr(torch.xpu, "get_arch_list", lambda: ["pvc", "dg2", "ats-m150"]) torch.cuda.get_device_capability = lambda *args, **kwargs: (12,1) torch.cuda.get_device_properties.major = 12 torch.cuda.get_device_properties.minor = 1 + torch.cuda.get_device_properties.L2_cache_size = 16*1024*1024 # A770 and A750 torch.cuda.ipc_collect = lambda *args, **kwargs: None torch.cuda.utilization = lambda *args, **kwargs: 0 - device_supports_fp64, can_allocate_plus_4gb = ipex_hijacks(legacy=legacy) + device_supports_fp64 = ipex_hijacks() try: from .diffusers import ipex_diffusers - ipex_diffusers(device_supports_fp64=device_supports_fp64, can_allocate_plus_4gb=can_allocate_plus_4gb) + ipex_diffusers(device_supports_fp64=device_supports_fp64) except Exception: # pylint: disable=broad-exception-caught pass torch.cuda.is_xpu_hijacked = True diff --git a/library/ipex/attention.py b/library/ipex/attention.py index 400b59b66..177f5bc5e 100644 --- a/library/ipex/attention.py +++ b/library/ipex/attention.py @@ -61,13 +61,13 @@ def dynamic_scaled_dot_product_attention(query, key, value, attn_mask=None, drop if query.device.type != "xpu": return original_scaled_dot_product_attention(query, key, value, attn_mask=attn_mask, dropout_p=dropout_p, is_causal=is_causal, **kwargs) is_unsqueezed = False - if len(query.shape) == 3: + if query.dim() == 3: query = query.unsqueeze(0) is_unsqueezed = True - if len(key.shape) == 3: - key = key.unsqueeze(0) - if len(value.shape) == 3: - value = value.unsqueeze(0) + if key.dim() == 3: + key = key.unsqueeze(0) + if value.dim() == 3: + value = value.unsqueeze(0) do_batch_split, do_head_split, do_query_split, split_batch_size, split_head_size, split_query_size = find_sdpa_slice_sizes(query.shape, key.shape, query.element_size(), slice_rate=attention_slice_rate, trigger_rate=sdpa_slice_trigger_rate) # Slice SDPA @@ -115,5 +115,5 @@ def dynamic_scaled_dot_product_attention(query, key, value, attn_mask=None, drop else: hidden_states = original_scaled_dot_product_attention(query, key, value, attn_mask=attn_mask, dropout_p=dropout_p, is_causal=is_causal, **kwargs) if is_unsqueezed: - hidden_states.squeeze(0) + hidden_states = hidden_states.squeeze(0) return hidden_states diff --git a/library/ipex/diffusers.py b/library/ipex/diffusers.py index 75715d161..d3487fefd 100644 --- a/library/ipex/diffusers.py +++ b/library/ipex/diffusers.py @@ -1,11 +1,13 @@ from functools import wraps import torch import diffusers # pylint: disable=import-error +from diffusers.utils import torch_utils # pylint: disable=import-error, unused-import # noqa: F401 # pylint: disable=protected-access, missing-function-docstring, line-too-long # Diffusers FreeU +# Diffusers is imported before ipex hijacks so fourier_filter needs hijacking too original_fourier_filter = diffusers.utils.torch_utils.fourier_filter @wraps(diffusers.utils.torch_utils.fourier_filter) def fourier_filter(x_in, threshold, scale): @@ -41,7 +43,84 @@ def forward(self, ids: torch.Tensor) -> torch.Tensor: return freqs_cos, freqs_sin -def ipex_diffusers(device_supports_fp64=False, can_allocate_plus_4gb=False): +def hidream_rope(pos: torch.Tensor, dim: int, theta: int) -> torch.Tensor: + assert dim % 2 == 0, "The dimension must be even." + return_device = pos.device + pos = pos.to("cpu") + + scale = torch.arange(0, dim, 2, dtype=torch.float64, device=pos.device) / dim + omega = 1.0 / (theta**scale) + + batch_size, seq_length = pos.shape + out = torch.einsum("...n,d->...nd", pos, omega) + cos_out = torch.cos(out) + sin_out = torch.sin(out) + + stacked_out = torch.stack([cos_out, -sin_out, sin_out, cos_out], dim=-1) + out = stacked_out.view(batch_size, -1, dim // 2, 2, 2) + return out.to(return_device, dtype=torch.float32) + + +def get_1d_sincos_pos_embed_from_grid(embed_dim, pos, output_type="np"): + if output_type == "np": + return diffusers.models.embeddings.get_1d_sincos_pos_embed_from_grid_np(embed_dim=embed_dim, pos=pos) + if embed_dim % 2 != 0: + raise ValueError("embed_dim must be divisible by 2") + + omega = torch.arange(embed_dim // 2, device=pos.device, dtype=torch.float32) + omega /= embed_dim / 2.0 + omega = 1.0 / 10000**omega # (D/2,) + + pos = pos.reshape(-1) # (M,) + out = torch.outer(pos, omega) # (M, D/2), outer product + + emb_sin = torch.sin(out) # (M, D/2) + emb_cos = torch.cos(out) # (M, D/2) + + emb = torch.concat([emb_sin, emb_cos], dim=1) # (M, D) + return emb + + +def apply_rotary_emb(x, freqs_cis, use_real: bool = True, use_real_unbind_dim: int = -1): + if use_real: + cos, sin = freqs_cis # [S, D] + cos = cos[None, None] + sin = sin[None, None] + cos, sin = cos.to(x.device), sin.to(x.device) + + if use_real_unbind_dim == -1: + # Used for flux, cogvideox, hunyuan-dit + x_real, x_imag = x.reshape(*x.shape[:-1], -1, 2).unbind(-1) # [B, S, H, D//2] + x_rotated = torch.stack([-x_imag, x_real], dim=-1).flatten(3) + elif use_real_unbind_dim == -2: + # Used for Stable Audio, OmniGen, CogView4 and Cosmos + x_real, x_imag = x.reshape(*x.shape[:-1], 2, -1).unbind(-2) # [B, S, H, D//2] + x_rotated = torch.cat([-x_imag, x_real], dim=-1) + else: + raise ValueError(f"`use_real_unbind_dim={use_real_unbind_dim}` but should be -1 or -2.") + + out = (x.float() * cos + x_rotated.float() * sin).to(x.dtype) + return out + else: + # used for lumina + # force cpu with Alchemist + x_rotated = torch.view_as_complex(x.to("cpu").float().reshape(*x.shape[:-1], -1, 2)) + freqs_cis = freqs_cis.to("cpu").unsqueeze(2) + x_out = torch.view_as_real(x_rotated * freqs_cis).flatten(3) + return x_out.type_as(x).to(x.device) + + +def ipex_diffusers(device_supports_fp64=False): diffusers.utils.torch_utils.fourier_filter = fourier_filter if not device_supports_fp64: + # get around lazy imports + from diffusers.models import embeddings as diffusers_embeddings # pylint: disable=import-error, unused-import # noqa: F401 + from diffusers.models import transformers as diffusers_transformers # pylint: disable=import-error, unused-import # noqa: F401 + from diffusers.models import controlnets as diffusers_controlnets # pylint: disable=import-error, unused-import # noqa: F401 + diffusers.models.embeddings.get_1d_sincos_pos_embed_from_grid = get_1d_sincos_pos_embed_from_grid diffusers.models.embeddings.FluxPosEmbed = FluxPosEmbed + diffusers.models.embeddings.apply_rotary_emb = apply_rotary_emb + diffusers.models.transformers.transformer_flux.FluxPosEmbed = FluxPosEmbed + diffusers.models.transformers.transformer_lumina2.apply_rotary_emb = apply_rotary_emb + diffusers.models.controlnets.controlnet_flux.FluxPosEmbed = FluxPosEmbed + diffusers.models.transformers.transformer_hidream_image.rope = hidream_rope diff --git a/library/ipex/gradscaler.py b/library/ipex/gradscaler.py deleted file mode 100644 index 0a8610095..000000000 --- a/library/ipex/gradscaler.py +++ /dev/null @@ -1,183 +0,0 @@ -from collections import defaultdict -import torch -import intel_extension_for_pytorch as ipex # pylint: disable=import-error, unused-import -import intel_extension_for_pytorch._C as core # pylint: disable=import-error, unused-import - -# pylint: disable=protected-access, missing-function-docstring, line-too-long - -device_supports_fp64 = torch.xpu.has_fp64_dtype() if hasattr(torch.xpu, "has_fp64_dtype") else torch.xpu.get_device_properties("xpu").has_fp64 -OptState = ipex.cpu.autocast._grad_scaler.OptState -_MultiDeviceReplicator = ipex.cpu.autocast._grad_scaler._MultiDeviceReplicator -_refresh_per_optimizer_state = ipex.cpu.autocast._grad_scaler._refresh_per_optimizer_state - -def _unscale_grads_(self, optimizer, inv_scale, found_inf, allow_fp16): # pylint: disable=unused-argument - per_device_inv_scale = _MultiDeviceReplicator(inv_scale) - per_device_found_inf = _MultiDeviceReplicator(found_inf) - - # To set up _amp_foreach_non_finite_check_and_unscale_, split grads by device and dtype. - # There could be hundreds of grads, so we'd like to iterate through them just once. - # However, we don't know their devices or dtypes in advance. - - # https://stackoverflow.com/questions/5029934/defaultdict-of-defaultdict - # Google says mypy struggles with defaultdicts type annotations. - per_device_and_dtype_grads = defaultdict(lambda: defaultdict(list)) # type: ignore[var-annotated] - # sync grad to master weight - if hasattr(optimizer, "sync_grad"): - optimizer.sync_grad() - with torch.no_grad(): - for group in optimizer.param_groups: - for param in group["params"]: - if param.grad is None: - continue - if (not allow_fp16) and param.grad.dtype == torch.float16: - raise ValueError("Attempting to unscale FP16 gradients.") - if param.grad.is_sparse: - # is_coalesced() == False means the sparse grad has values with duplicate indices. - # coalesce() deduplicates indices and adds all values that have the same index. - # For scaled fp16 values, there's a good chance coalescing will cause overflow, - # so we should check the coalesced _values(). - if param.grad.dtype is torch.float16: - param.grad = param.grad.coalesce() - to_unscale = param.grad._values() - else: - to_unscale = param.grad - - # -: is there a way to split by device and dtype without appending in the inner loop? - to_unscale = to_unscale.to("cpu") - per_device_and_dtype_grads[to_unscale.device][ - to_unscale.dtype - ].append(to_unscale) - - for _, per_dtype_grads in per_device_and_dtype_grads.items(): - for grads in per_dtype_grads.values(): - core._amp_foreach_non_finite_check_and_unscale_( - grads, - per_device_found_inf.get("cpu"), - per_device_inv_scale.get("cpu"), - ) - - return per_device_found_inf._per_device_tensors - -def unscale_(self, optimizer): - """ - Divides ("unscales") the optimizer's gradient tensors by the scale factor. - :meth:`unscale_` is optional, serving cases where you need to - :ref:`modify or inspect gradients` - between the backward pass(es) and :meth:`step`. - If :meth:`unscale_` is not called explicitly, gradients will be unscaled automatically during :meth:`step`. - Simple example, using :meth:`unscale_` to enable clipping of unscaled gradients:: - ... - scaler.scale(loss).backward() - scaler.unscale_(optimizer) - torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm) - scaler.step(optimizer) - scaler.update() - Args: - optimizer (torch.optim.Optimizer): Optimizer that owns the gradients to be unscaled. - .. warning:: - :meth:`unscale_` should only be called once per optimizer per :meth:`step` call, - and only after all gradients for that optimizer's assigned parameters have been accumulated. - Calling :meth:`unscale_` twice for a given optimizer between each :meth:`step` triggers a RuntimeError. - .. warning:: - :meth:`unscale_` may unscale sparse gradients out of place, replacing the ``.grad`` attribute. - """ - if not self._enabled: - return - - self._check_scale_growth_tracker("unscale_") - - optimizer_state = self._per_optimizer_states[id(optimizer)] - - if optimizer_state["stage"] is OptState.UNSCALED: # pylint: disable=no-else-raise - raise RuntimeError( - "unscale_() has already been called on this optimizer since the last update()." - ) - elif optimizer_state["stage"] is OptState.STEPPED: - raise RuntimeError("unscale_() is being called after step().") - - # FP32 division can be imprecise for certain compile options, so we carry out the reciprocal in FP64. - assert self._scale is not None - if device_supports_fp64: - inv_scale = self._scale.double().reciprocal().float() - else: - inv_scale = self._scale.to("cpu").double().reciprocal().float().to(self._scale.device) - found_inf = torch.full( - (1,), 0.0, dtype=torch.float32, device=self._scale.device - ) - - optimizer_state["found_inf_per_device"] = self._unscale_grads_( - optimizer, inv_scale, found_inf, False - ) - optimizer_state["stage"] = OptState.UNSCALED - -def update(self, new_scale=None): - """ - Updates the scale factor. - If any optimizer steps were skipped the scale is multiplied by ``backoff_factor`` - to reduce it. If ``growth_interval`` unskipped iterations occurred consecutively, - the scale is multiplied by ``growth_factor`` to increase it. - Passing ``new_scale`` sets the new scale value manually. (``new_scale`` is not - used directly, it's used to fill GradScaler's internal scale tensor. So if - ``new_scale`` was a tensor, later in-place changes to that tensor will not further - affect the scale GradScaler uses internally.) - Args: - new_scale (float or :class:`torch.FloatTensor`, optional, default=None): New scale factor. - .. warning:: - :meth:`update` should only be called at the end of the iteration, after ``scaler.step(optimizer)`` has - been invoked for all optimizers used this iteration. - """ - if not self._enabled: - return - - _scale, _growth_tracker = self._check_scale_growth_tracker("update") - - if new_scale is not None: - # Accept a new user-defined scale. - if isinstance(new_scale, float): - self._scale.fill_(new_scale) # type: ignore[union-attr] - else: - reason = "new_scale should be a float or a 1-element torch.FloatTensor with requires_grad=False." - assert isinstance(new_scale, torch.FloatTensor), reason # type: ignore[attr-defined] - assert new_scale.numel() == 1, reason - assert new_scale.requires_grad is False, reason - self._scale.copy_(new_scale) # type: ignore[union-attr] - else: - # Consume shared inf/nan data collected from optimizers to update the scale. - # If all found_inf tensors are on the same device as self._scale, this operation is asynchronous. - found_infs = [ - found_inf.to(device="cpu", non_blocking=True) - for state in self._per_optimizer_states.values() - for found_inf in state["found_inf_per_device"].values() - ] - - assert len(found_infs) > 0, "No inf checks were recorded prior to update." - - found_inf_combined = found_infs[0] - if len(found_infs) > 1: - for i in range(1, len(found_infs)): - found_inf_combined += found_infs[i] - - to_device = _scale.device - _scale = _scale.to("cpu") - _growth_tracker = _growth_tracker.to("cpu") - - core._amp_update_scale_( - _scale, - _growth_tracker, - found_inf_combined, - self._growth_factor, - self._backoff_factor, - self._growth_interval, - ) - - _scale = _scale.to(to_device) - _growth_tracker = _growth_tracker.to(to_device) - # To prepare for next iteration, clear the data collected from optimizers this iteration. - self._per_optimizer_states = defaultdict(_refresh_per_optimizer_state) - -def gradscaler_init(): - torch.xpu.amp.GradScaler = ipex.cpu.autocast._grad_scaler.GradScaler - torch.xpu.amp.GradScaler._unscale_grads_ = _unscale_grads_ - torch.xpu.amp.GradScaler.unscale_ = unscale_ - torch.xpu.amp.GradScaler.update = update - return torch.xpu.amp.GradScaler diff --git a/library/ipex/hijacks.py b/library/ipex/hijacks.py index 91569746a..29df78e90 100644 --- a/library/ipex/hijacks.py +++ b/library/ipex/hijacks.py @@ -4,17 +4,23 @@ import torch import numpy as np -device_supports_fp64 = torch.xpu.has_fp64_dtype() if hasattr(torch.xpu, "has_fp64_dtype") else torch.xpu.get_device_properties("xpu").has_fp64 -if os.environ.get('IPEX_FORCE_ATTENTION_SLICE', '0') == '0' and (torch.xpu.get_device_properties("xpu").total_memory / 1024 / 1024 / 1024) > 4.1: - try: - x = torch.ones((33000,33000), dtype=torch.float32, device="xpu") - del x - torch.xpu.empty_cache() - can_allocate_plus_4gb = True - except Exception: - can_allocate_plus_4gb = False +torch_version = float(torch.__version__[:3]) +current_xpu_device = f"xpu:{torch.xpu.current_device()}" +device_supports_fp64 = torch.xpu.has_fp64_dtype() if hasattr(torch.xpu, "has_fp64_dtype") else torch.xpu.get_device_properties(current_xpu_device).has_fp64 + +if os.environ.get('IPEX_FORCE_ATTENTION_SLICE', '0') == '0': + if (torch.xpu.get_device_properties(current_xpu_device).total_memory / 1024 / 1024 / 1024) > 4.1: + try: + x = torch.ones((33000,33000), dtype=torch.float32, device=current_xpu_device) + del x + torch.xpu.empty_cache() + use_dynamic_attention = False + except Exception: + use_dynamic_attention = True + else: + use_dynamic_attention = True else: - can_allocate_plus_4gb = bool(os.environ.get('IPEX_FORCE_ATTENTION_SLICE', '0') == '-1') + use_dynamic_attention = bool(os.environ.get('IPEX_FORCE_ATTENTION_SLICE', '0') == '1') # pylint: disable=protected-access, missing-function-docstring, line-too-long, unnecessary-lambda, no-else-return @@ -22,32 +28,67 @@ class DummyDataParallel(torch.nn.Module): # pylint: disable=missing-class-docstr def __new__(cls, module, device_ids=None, output_device=None, dim=0): # pylint: disable=unused-argument if isinstance(device_ids, list) and len(device_ids) > 1: print("IPEX backend doesn't support DataParallel on multiple XPU devices") - return module.to("xpu") + return module.to(f"xpu:{torch.xpu.current_device()}") def return_null_context(*args, **kwargs): # pylint: disable=unused-argument return nullcontext() @property def is_cuda(self): - return self.device.type == 'xpu' or self.device.type == 'cuda' + return self.device.type == "xpu" or self.device.type == "cuda" -def check_device(device): - return bool((isinstance(device, torch.device) and device.type == "cuda") or (isinstance(device, str) and "cuda" in device) or isinstance(device, int)) +def check_device_type(device, device_type: str) -> bool: + if device is None or type(device) not in {str, int, torch.device}: + return False + else: + return bool(torch.device(device).type == device_type) -def return_xpu(device): - return f"xpu:{device.split(':')[-1]}" if isinstance(device, str) and ":" in device else f"xpu:{device}" if isinstance(device, int) else torch.device(f"xpu:{device.index}" if device.index is not None else "xpu") if isinstance(device, torch.device) else "xpu" +def check_cuda(device) -> bool: + return bool(isinstance(device, int) or check_device_type(device, "cuda")) + +def return_xpu(device): # keep the device instance type, aka return string if the input is string + return f"xpu:{torch.xpu.current_device()}" if device is None else f"xpu:{device.split(':')[-1]}" if isinstance(device, str) and ":" in device else f"xpu:{device}" if isinstance(device, int) else torch.device(f"xpu:{device.index}" if device.index is not None else "xpu") if isinstance(device, torch.device) else "xpu" # Autocast original_autocast_init = torch.amp.autocast_mode.autocast.__init__ @wraps(torch.amp.autocast_mode.autocast.__init__) -def autocast_init(self, device_type, dtype=None, enabled=True, cache_enabled=None): - if device_type == "cuda": +def autocast_init(self, device_type=None, dtype=None, enabled=True, cache_enabled=None): + if device_type is None or check_cuda(device_type): return original_autocast_init(self, device_type="xpu", dtype=dtype, enabled=enabled, cache_enabled=cache_enabled) else: return original_autocast_init(self, device_type=device_type, dtype=dtype, enabled=enabled, cache_enabled=cache_enabled) + +original_grad_scaler_init = torch.amp.grad_scaler.GradScaler.__init__ +@wraps(torch.amp.grad_scaler.GradScaler.__init__) +def GradScaler_init(self, device: str = None, init_scale: float = 2.0**16, growth_factor: float = 2.0, backoff_factor: float = 0.5, growth_interval: int = 2000, enabled: bool = True): + if device is None or check_cuda(device): + return original_grad_scaler_init(self, device=return_xpu(device), init_scale=init_scale, growth_factor=growth_factor, backoff_factor=backoff_factor, growth_interval=growth_interval, enabled=enabled) + else: + return original_grad_scaler_init(self, device=device, init_scale=init_scale, growth_factor=growth_factor, backoff_factor=backoff_factor, growth_interval=growth_interval, enabled=enabled) + + +original_is_autocast_enabled = torch.is_autocast_enabled +@wraps(torch.is_autocast_enabled) +def torch_is_autocast_enabled(device_type=None): + if device_type is None or check_cuda(device_type): + return original_is_autocast_enabled(return_xpu(device_type)) + else: + return original_is_autocast_enabled(device_type) + + +original_get_autocast_dtype = torch.get_autocast_dtype +@wraps(torch.get_autocast_dtype) +def torch_get_autocast_dtype(device_type=None): + if device_type is None or check_cuda(device_type) or check_device_type(device_type, "xpu"): + return torch.bfloat16 + else: + return original_get_autocast_dtype(device_type) + + # Latent Antialias CPU Offload: +# IPEX 2.5 and above has partial support but doesn't really work most of the time. original_interpolate = torch.nn.functional.interpolate @wraps(torch.nn.functional.interpolate) def interpolate(tensor, size=None, scale_factor=None, mode='nearest', align_corners=None, recompute_scale_factor=None, antialias=False): # pylint: disable=too-many-arguments @@ -66,23 +107,22 @@ def interpolate(tensor, size=None, scale_factor=None, mode='nearest', align_corn @wraps(torch.from_numpy) def from_numpy(ndarray): if ndarray.dtype == float: - return original_from_numpy(ndarray.astype('float32')) + return original_from_numpy(ndarray.astype("float32")) else: return original_from_numpy(ndarray) original_as_tensor = torch.as_tensor @wraps(torch.as_tensor) def as_tensor(data, dtype=None, device=None): - if check_device(device): + if check_cuda(device): device = return_xpu(device) - if isinstance(data, np.ndarray) and data.dtype == float and not ( - (isinstance(device, torch.device) and device.type == "cpu") or (isinstance(device, str) and "cpu" in device)): + if isinstance(data, np.ndarray) and data.dtype == float and not check_device_type(device, "cpu"): return original_as_tensor(data, dtype=torch.float32, device=device) else: return original_as_tensor(data, dtype=dtype, device=device) -if can_allocate_plus_4gb: +if not use_dynamic_attention: original_scaled_dot_product_attention = torch.nn.functional.scaled_dot_product_attention else: # 32 bit attention workarounds for Alchemist: @@ -106,7 +146,7 @@ def scaled_dot_product_attention(query, key, value, attn_mask=None, dropout_p=0. @wraps(torch.bmm) def torch_bmm(input, mat2, *, out=None): if input.dtype != mat2.dtype: - mat2 = mat2.to(input.dtype) + mat2 = mat2.to(dtype=input.dtype) return original_torch_bmm(input, mat2, out=out) # Diffusers FreeU @@ -195,38 +235,36 @@ def functional_pad(input, pad, mode='constant', value=None): @wraps(torch.tensor) def torch_tensor(data, *args, dtype=None, device=None, **kwargs): global device_supports_fp64 - if check_device(device): + if check_cuda(device): device = return_xpu(device) if not device_supports_fp64: - if (isinstance(device, torch.device) and device.type == "xpu") or (isinstance(device, str) and "xpu" in device): + if check_device_type(device, "xpu"): if dtype == torch.float64: dtype = torch.float32 elif dtype is None and (hasattr(data, "dtype") and (data.dtype == torch.float64 or data.dtype == float)): dtype = torch.float32 return original_torch_tensor(data, *args, dtype=dtype, device=device, **kwargs) -original_Tensor_to = torch.Tensor.to +torch.Tensor.original_Tensor_to = torch.Tensor.to @wraps(torch.Tensor.to) def Tensor_to(self, device=None, *args, **kwargs): - if check_device(device): - return original_Tensor_to(self, return_xpu(device), *args, **kwargs) + if check_cuda(device): + return self.original_Tensor_to(return_xpu(device), *args, **kwargs) else: - return original_Tensor_to(self, device, *args, **kwargs) + return self.original_Tensor_to(device, *args, **kwargs) original_Tensor_cuda = torch.Tensor.cuda @wraps(torch.Tensor.cuda) def Tensor_cuda(self, device=None, *args, **kwargs): - if check_device(device): - return original_Tensor_cuda(self, return_xpu(device), *args, **kwargs) + if device is None or check_cuda(device): + return self.to(return_xpu(device), *args, **kwargs) else: return original_Tensor_cuda(self, device, *args, **kwargs) original_Tensor_pin_memory = torch.Tensor.pin_memory @wraps(torch.Tensor.pin_memory) def Tensor_pin_memory(self, device=None, *args, **kwargs): - if device is None: - device = "xpu" - if check_device(device): + if device is None or check_cuda(device): return original_Tensor_pin_memory(self, return_xpu(device), *args, **kwargs) else: return original_Tensor_pin_memory(self, device, *args, **kwargs) @@ -234,23 +272,32 @@ def Tensor_pin_memory(self, device=None, *args, **kwargs): original_UntypedStorage_init = torch.UntypedStorage.__init__ @wraps(torch.UntypedStorage.__init__) def UntypedStorage_init(*args, device=None, **kwargs): - if check_device(device): + if check_cuda(device): return original_UntypedStorage_init(*args, device=return_xpu(device), **kwargs) else: return original_UntypedStorage_init(*args, device=device, **kwargs) -original_UntypedStorage_cuda = torch.UntypedStorage.cuda -@wraps(torch.UntypedStorage.cuda) -def UntypedStorage_cuda(self, device=None, *args, **kwargs): - if check_device(device): - return original_UntypedStorage_cuda(self, return_xpu(device), *args, **kwargs) - else: - return original_UntypedStorage_cuda(self, device, *args, **kwargs) +if torch_version >= 2.4: + original_UntypedStorage_to = torch.UntypedStorage.to + @wraps(torch.UntypedStorage.to) + def UntypedStorage_to(self, *args, device=None, **kwargs): + if check_cuda(device): + return original_UntypedStorage_to(self, *args, device=return_xpu(device), **kwargs) + else: + return original_UntypedStorage_to(self, *args, device=device, **kwargs) + + original_UntypedStorage_cuda = torch.UntypedStorage.cuda + @wraps(torch.UntypedStorage.cuda) + def UntypedStorage_cuda(self, device=None, non_blocking=False, **kwargs): + if device is None or check_cuda(device): + return self.to(device=return_xpu(device), non_blocking=non_blocking, **kwargs) + else: + return original_UntypedStorage_cuda(self, device=device, non_blocking=non_blocking, **kwargs) original_torch_empty = torch.empty @wraps(torch.empty) def torch_empty(*args, device=None, **kwargs): - if check_device(device): + if check_cuda(device): return original_torch_empty(*args, device=return_xpu(device), **kwargs) else: return original_torch_empty(*args, device=device, **kwargs) @@ -260,7 +307,7 @@ def torch_empty(*args, device=None, **kwargs): def torch_randn(*args, device=None, dtype=None, **kwargs): if dtype is bytes: dtype = None - if check_device(device): + if check_cuda(device): return original_torch_randn(*args, device=return_xpu(device), **kwargs) else: return original_torch_randn(*args, device=device, **kwargs) @@ -268,7 +315,7 @@ def torch_randn(*args, device=None, dtype=None, **kwargs): original_torch_ones = torch.ones @wraps(torch.ones) def torch_ones(*args, device=None, **kwargs): - if check_device(device): + if check_cuda(device): return original_torch_ones(*args, device=return_xpu(device), **kwargs) else: return original_torch_ones(*args, device=device, **kwargs) @@ -276,7 +323,7 @@ def torch_ones(*args, device=None, **kwargs): original_torch_zeros = torch.zeros @wraps(torch.zeros) def torch_zeros(*args, device=None, **kwargs): - if check_device(device): + if check_cuda(device): return original_torch_zeros(*args, device=return_xpu(device), **kwargs) else: return original_torch_zeros(*args, device=device, **kwargs) @@ -284,7 +331,7 @@ def torch_zeros(*args, device=None, **kwargs): original_torch_full = torch.full @wraps(torch.full) def torch_full(*args, device=None, **kwargs): - if check_device(device): + if check_cuda(device): return original_torch_full(*args, device=return_xpu(device), **kwargs) else: return original_torch_full(*args, device=device, **kwargs) @@ -292,63 +339,91 @@ def torch_full(*args, device=None, **kwargs): original_torch_linspace = torch.linspace @wraps(torch.linspace) def torch_linspace(*args, device=None, **kwargs): - if check_device(device): + if check_cuda(device): return original_torch_linspace(*args, device=return_xpu(device), **kwargs) else: return original_torch_linspace(*args, device=device, **kwargs) +original_torch_eye = torch.eye +@wraps(torch.eye) +def torch_eye(*args, device=None, **kwargs): + if check_cuda(device): + return original_torch_eye(*args, device=return_xpu(device), **kwargs) + else: + return original_torch_eye(*args, device=device, **kwargs) + original_torch_load = torch.load @wraps(torch.load) def torch_load(f, map_location=None, *args, **kwargs): - if map_location is None: - map_location = "xpu" - if check_device(map_location): + if map_location is None or check_cuda(map_location): return original_torch_load(f, *args, map_location=return_xpu(map_location), **kwargs) else: return original_torch_load(f, *args, map_location=map_location, **kwargs) -original_torch_Generator = torch.Generator -@wraps(torch.Generator) -def torch_Generator(device=None): - if check_device(device): - return original_torch_Generator(return_xpu(device)) - else: - return original_torch_Generator(device) - @wraps(torch.cuda.synchronize) def torch_cuda_synchronize(device=None): - if check_device(device): + if check_cuda(device): return torch.xpu.synchronize(return_xpu(device)) else: return torch.xpu.synchronize(device) +@wraps(torch.cuda.device) +def torch_cuda_device(device): + if check_cuda(device): + return torch.xpu.device(return_xpu(device)) + else: + return torch.xpu.device(device) + +@wraps(torch.cuda.set_device) +def torch_cuda_set_device(device): + if check_cuda(device): + torch.xpu.set_device(return_xpu(device)) + else: + torch.xpu.set_device(device) + +# torch.Generator has to be a class for isinstance checks +original_torch_Generator = torch.Generator +class torch_Generator(original_torch_Generator): + def __new__(self, device=None): + # can't hijack __init__ because of C override so use return super().__new__ + if check_cuda(device): + return super().__new__(self, return_xpu(device)) + else: + return super().__new__(self, device) + # Hijack Functions: -def ipex_hijacks(legacy=True): - global device_supports_fp64, can_allocate_plus_4gb - if legacy and float(torch.__version__[:3]) < 2.5: - torch.nn.functional.interpolate = interpolate +def ipex_hijacks(): + global device_supports_fp64 + if torch_version >= 2.4: + torch.UntypedStorage.cuda = UntypedStorage_cuda + torch.UntypedStorage.to = UntypedStorage_to torch.tensor = torch_tensor torch.Tensor.to = Tensor_to torch.Tensor.cuda = Tensor_cuda torch.Tensor.pin_memory = Tensor_pin_memory torch.UntypedStorage.__init__ = UntypedStorage_init - torch.UntypedStorage.cuda = UntypedStorage_cuda torch.empty = torch_empty torch.randn = torch_randn torch.ones = torch_ones torch.zeros = torch_zeros torch.full = torch_full torch.linspace = torch_linspace + torch.eye = torch_eye torch.load = torch_load - torch.Generator = torch_Generator torch.cuda.synchronize = torch_cuda_synchronize + torch.cuda.device = torch_cuda_device + torch.cuda.set_device = torch_cuda_set_device + + torch.Generator = torch_Generator + torch._C.Generator = torch_Generator torch.backends.cuda.sdp_kernel = return_null_context torch.nn.DataParallel = DummyDataParallel torch.UntypedStorage.is_cuda = is_cuda torch.amp.autocast_mode.autocast.__init__ = autocast_init + torch.nn.functional.interpolate = interpolate torch.nn.functional.scaled_dot_product_attention = scaled_dot_product_attention torch.nn.functional.group_norm = functional_group_norm torch.nn.functional.layer_norm = functional_layer_norm @@ -364,4 +439,28 @@ def ipex_hijacks(legacy=True): if not device_supports_fp64: torch.from_numpy = from_numpy torch.as_tensor = as_tensor - return device_supports_fp64, can_allocate_plus_4gb + + # AMP: + torch.amp.grad_scaler.GradScaler.__init__ = GradScaler_init + torch.is_autocast_enabled = torch_is_autocast_enabled + torch.get_autocast_gpu_dtype = torch_get_autocast_dtype + torch.get_autocast_dtype = torch_get_autocast_dtype + + if hasattr(torch.xpu, "amp"): + if not hasattr(torch.xpu.amp, "custom_fwd"): + torch.xpu.amp.custom_fwd = torch.cuda.amp.custom_fwd + torch.xpu.amp.custom_bwd = torch.cuda.amp.custom_bwd + if not hasattr(torch.xpu.amp, "GradScaler"): + torch.xpu.amp.GradScaler = torch.amp.grad_scaler.GradScaler + torch.cuda.amp = torch.xpu.amp + else: + if not hasattr(torch.amp, "custom_fwd"): + torch.amp.custom_fwd = torch.cuda.amp.custom_fwd + torch.amp.custom_bwd = torch.cuda.amp.custom_bwd + torch.cuda.amp = torch.amp + + if not hasattr(torch.cuda.amp, "common"): + torch.cuda.amp.common = nullcontext() + torch.cuda.amp.common.amp_definitely_not_available = lambda: False + + return device_supports_fp64 From 0e929f97b9dfc488a454d62a3e27696c167a3936 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Mon, 16 Jun 2025 16:50:18 -0400 Subject: [PATCH 588/748] Revert system_prompt for dataset config --- library/train_util.py | 74 +++++++++++++++---------------------------- 1 file changed, 26 insertions(+), 48 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index 68019e21b..1d80bcd85 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -192,7 +192,7 @@ def __init__(self, image_key: str, num_repeats: int, caption: str, is_reg: bool, self.latents_flipped: Optional[torch.Tensor] = None self.latents_npz: Optional[str] = None # set in cache_latents self.latents_original_size: Optional[Tuple[int, int]] = None # original image size, not latents size - self.latents_crop_ltrb: Optional[Tuple[int, int, int, int]] = ( + self.latents_crop_ltrb: Optional[Tuple[int, int]] = ( None # crop left top right bottom in original pixel size, not latents size ) self.cond_img_path: Optional[str] = None @@ -209,8 +209,6 @@ def __init__(self, image_key: str, num_repeats: int, caption: str, is_reg: bool, self.alpha_mask: Optional[torch.Tensor] = None # alpha mask can be flipped in runtime self.resize_interpolation: Optional[str] = None - self.system_prompt: Optional[str] = None - class BucketManager: def __init__(self, no_upscale, max_reso, min_size, max_size, reso_steps) -> None: @@ -434,7 +432,6 @@ def __init__( custom_attributes: Optional[Dict[str, Any]] = None, validation_seed: Optional[int] = None, validation_split: Optional[float] = 0.0, - system_prompt: Optional[str] = None, resize_interpolation: Optional[str] = None, ) -> None: self.image_dir = image_dir @@ -466,7 +463,6 @@ def __init__( self.validation_seed = validation_seed self.validation_split = validation_split - self.system_prompt = system_prompt self.resize_interpolation = resize_interpolation @@ -500,7 +496,6 @@ def __init__( custom_attributes: Optional[Dict[str, Any]] = None, validation_seed: Optional[int] = None, validation_split: Optional[float] = 0.0, - system_prompt: Optional[str] = None, resize_interpolation: Optional[str] = None, ) -> None: assert image_dir is not None, "image_dir must be specified / image_dirは指定が必須です" @@ -529,15 +524,14 @@ def __init__( custom_attributes=custom_attributes, validation_seed=validation_seed, validation_split=validation_split, - system_prompt=system_prompt, resize_interpolation=resize_interpolation, ) self.is_reg = is_reg self.class_tokens = class_tokens self.caption_extension = caption_extension - # if self.caption_extension and not self.caption_extension.startswith("."): - # self.caption_extension = "." + self.caption_extension + if self.caption_extension and not self.caption_extension.startswith("."): + self.caption_extension = "." + self.caption_extension self.cache_info = cache_info def __eq__(self, other) -> bool: @@ -573,7 +567,6 @@ def __init__( custom_attributes: Optional[Dict[str, Any]] = None, validation_seed: Optional[int] = None, validation_split: Optional[float] = 0.0, - system_prompt: Optional[str] = None, resize_interpolation: Optional[str] = None, ) -> None: assert metadata_file is not None, "metadata_file must be specified / metadata_fileは指定が必須です" @@ -602,7 +595,6 @@ def __init__( custom_attributes=custom_attributes, validation_seed=validation_seed, validation_split=validation_split, - system_prompt=system_prompt, resize_interpolation=resize_interpolation, ) @@ -642,7 +634,6 @@ def __init__( custom_attributes: Optional[Dict[str, Any]] = None, validation_seed: Optional[int] = None, validation_split: Optional[float] = 0.0, - system_prompt: Optional[str] = None, resize_interpolation: Optional[str] = None, ) -> None: assert image_dir is not None, "image_dir must be specified / image_dirは指定が必須です" @@ -671,7 +662,6 @@ def __init__( custom_attributes=custom_attributes, validation_seed=validation_seed, validation_split=validation_split, - system_prompt=system_prompt, resize_interpolation=resize_interpolation, ) @@ -1713,10 +1703,8 @@ def __getitem__(self, index): text_encoder_outputs_list.append(text_encoder_outputs) if tokenization_required: - system_prompt_special_token = "" - system_prompt = f"{subset.system_prompt} {system_prompt_special_token} " if subset.system_prompt else "" caption = self.process_caption(subset, image_info.caption) - input_ids = [ids[0] for ids in self.tokenize_strategy.tokenize(system_prompt + caption)] # remove batch dimension + input_ids = [ids[0] for ids in self.tokenize_strategy.tokenize(caption)] # remove batch dimension # if self.XTI_layers: # caption_layer = [] # for layer in self.XTI_layers: @@ -1886,8 +1874,7 @@ def __init__( debug_dataset: bool, validation_split: float, validation_seed: Optional[int], - system_prompt: Optional[str] = None, - resize_interpolation: Optional[str] = None, + resize_interpolation: Optional[str], ) -> None: super().__init__(resolution, network_multiplier, debug_dataset, resize_interpolation) @@ -1900,7 +1887,6 @@ def __init__( self.is_training_dataset = is_training_dataset self.validation_seed = validation_seed self.validation_split = validation_split - self.system_prompt = system_prompt self.enable_bucket = enable_bucket if self.enable_bucket: @@ -1917,33 +1903,30 @@ def __init__( self.bucket_reso_steps = None # この情報は使われない self.bucket_no_upscale = False - def read_caption(img_path: str, caption_extension: str, enable_wildcard: bool): + def read_caption(img_path, caption_extension, enable_wildcard): # captionの候補ファイル名を作る base_name = os.path.splitext(img_path)[0] base_name_face_det = base_name tokens = base_name.split("_") if len(tokens) >= 5: base_name_face_det = "_".join(tokens[:-4]) - cap_paths = [(base_name, caption_extension), (base_name_face_det, caption_extension)] + cap_paths = [base_name + caption_extension, base_name_face_det + caption_extension] caption = None - for base, cap_extension in cap_paths: - # check with and without . to allow for extension flexibility (img_var.txt, img.txt, img + txt) - for cap_path in [base + cap_extension, base + "." + cap_extension]: - if os.path.isfile(cap_path): - with open(cap_path, "rt", encoding="utf-8") as f: - try: - lines = f.readlines() - except UnicodeDecodeError as e: - logger.error(f"illegal char in file (not UTF-8) / ファイルにUTF-8以外の文字があります: {cap_path}") - raise e - assert len(lines) > 0, f"caption file is empty / キャプションファイルが空です: {cap_path}" - if enable_wildcard: - caption = "\n".join([line.strip() for line in lines if line.strip() != ""]) # 空行を除く、改行で連結 - else: - caption = lines[0].strip() - break - break + for cap_path in cap_paths: + if os.path.isfile(cap_path): + with open(cap_path, "rt", encoding="utf-8") as f: + try: + lines = f.readlines() + except UnicodeDecodeError as e: + logger.error(f"illegal char in file (not UTF-8) / ファイルにUTF-8以外の文字があります: {cap_path}") + raise e + assert len(lines) > 0, f"caption file is empty / キャプションファイルが空です: {cap_path}" + if enable_wildcard: + caption = "\n".join([line.strip() for line in lines if line.strip() != ""]) # 空行を除く、改行で連結 + else: + caption = lines[0].strip() + break return caption def load_dreambooth_dir(subset: DreamBoothSubset): @@ -2090,7 +2073,6 @@ def load_dreambooth_dir(subset: DreamBoothSubset): num_train_images = 0 num_reg_images = 0 reg_infos: List[Tuple[ImageInfo, DreamBoothSubset]] = [] - for subset in subsets: num_repeats = subset.num_repeats if self.is_training_dataset else 1 if num_repeats < 1: @@ -2117,10 +2099,8 @@ def load_dreambooth_dir(subset: DreamBoothSubset): else: num_train_images += num_repeats * len(img_paths) - system_prompt_special_token = "" - system_prompt = f"{self.system_prompt or subset.system_prompt} {system_prompt_special_token} " if self.system_prompt or subset.system_prompt else "" for img_path, caption, size in zip(img_paths, captions, sizes): - info = ImageInfo(img_path, num_repeats, system_prompt + caption, subset.is_reg, img_path) + info = ImageInfo(img_path, num_repeats, caption, subset.is_reg, img_path) info.resize_interpolation = subset.resize_interpolation if subset.resize_interpolation is not None else self.resize_interpolation if size is not None: info.image_size = size @@ -2177,8 +2157,7 @@ def __init__( debug_dataset: bool, validation_seed: int, validation_split: float, - system_prompt: Optional[str] = None, - resize_interpolation: Optional[str] = None, + resize_interpolation: Optional[str], ) -> None: super().__init__(resolution, network_multiplier, debug_dataset, resize_interpolation) @@ -2406,8 +2385,7 @@ def __init__( bucket_no_upscale: bool, debug_dataset: bool, validation_split: float, - validation_seed: Optional[int], - system_prompt: Optional[str] = None, + validation_seed: Optional[int], resize_interpolation: Optional[str] = None, ) -> None: super().__init__(resolution, network_multiplier, debug_dataset, resize_interpolation) @@ -2461,7 +2439,6 @@ def __init__( debug_dataset, validation_split, validation_seed, - system_prompt, resize_interpolation, ) @@ -3005,7 +2982,7 @@ def trim_and_resize_if_required( # for new_cache_latents def load_images_and_masks_for_caching( image_infos: List[ImageInfo], use_alpha_mask: bool, random_crop: bool -) -> Tuple[torch.Tensor, List[torch.Tensor], List[Tuple[int, int]], List[Tuple[int, int, int, int]]]: +) -> Tuple[torch.Tensor, List[np.ndarray], List[Tuple[int, int]], List[Tuple[int, int, int, int]]]: r""" requires image_infos to have: [absolute_path or image], bucket_reso, resized_size @@ -6241,6 +6218,7 @@ def line_to_prompt_dict(line: str) -> dict: prompt_dict["renorm_cfg"] = float(m.group(1)) continue + except ValueError as ex: logger.error(f"Exception in parsing / 解析エラー: {parg}") logger.error(ex) From 935e0037dc7d520f87e2d05dd0a306bfe26c60bc Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 29 Jun 2025 21:33:09 +0900 Subject: [PATCH 589/748] feat: update lumina system prompt handling --- .gitignore | 1 + library/config_util.py | 6 ------ library/strategy_lumina.py | 3 +-- lumina_train.py | 4 +++- lumina_train_network.py | 9 ++++----- tests/library/test_strategy_lumina.py | 5 ++--- 6 files changed, 11 insertions(+), 17 deletions(-) diff --git a/.gitignore b/.gitignore index e492b1add..4fcf07f6c 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ venv build .vscode wandb +MagicMock \ No newline at end of file diff --git a/library/config_util.py b/library/config_util.py index ac726e4fc..53727f252 100644 --- a/library/config_util.py +++ b/library/config_util.py @@ -75,7 +75,6 @@ class BaseSubsetParams: custom_attributes: Optional[Dict[str, Any]] = None validation_seed: int = 0 validation_split: float = 0.0 - system_prompt: Optional[str] = None resize_interpolation: Optional[str] = None @@ -108,7 +107,6 @@ class BaseDatasetParams: debug_dataset: bool = False validation_seed: Optional[int] = None validation_split: float = 0.0 - system_prompt: Optional[str] = None resize_interpolation: Optional[str] = None @dataclass @@ -199,7 +197,6 @@ def __validate_and_convert_scalar_or_twodim(klass, value: Union[float, Sequence] "caption_prefix": str, "caption_suffix": str, "custom_attributes": dict, - "system_prompt": str, "resize_interpolation": str, } # DO means DropOut @@ -246,7 +243,6 @@ def __validate_and_convert_scalar_or_twodim(klass, value: Union[float, Sequence] "validation_split": float, "resolution": functools.partial(__validate_and_convert_scalar_or_twodim.__func__, int), "network_multiplier": float, - "system_prompt": str, "resize_interpolation": str, } @@ -534,7 +530,6 @@ def print_info(_datasets, dataset_type: str): resolution: {(dataset.width, dataset.height)} resize_interpolation: {dataset.resize_interpolation} enable_bucket: {dataset.enable_bucket} - system_prompt: {dataset.system_prompt} """) if dataset.enable_bucket: @@ -569,7 +564,6 @@ def print_info(_datasets, dataset_type: str): alpha_mask: {subset.alpha_mask} resize_interpolation: {subset.resize_interpolation} custom_attributes: {subset.custom_attributes} - system_prompt: {subset.system_prompt} """), " ") if is_dreambooth: diff --git a/library/strategy_lumina.py b/library/strategy_lumina.py index d9e93f538..3d86dbef4 100644 --- a/library/strategy_lumina.py +++ b/library/strategy_lumina.py @@ -218,8 +218,7 @@ def cache_batch_outputs( assert isinstance(text_encoding_strategy, LuminaTextEncodingStrategy) assert isinstance(tokenize_strategy, LuminaTokenizeStrategy) - system_prompt_special_token = "" - captions = [f"{info.system_prompt} {system_prompt_special_token} " if info.system_prompt else "" + info.caption for info in batch] + captions = [info.caption for info in batch] if self.is_weighted: tokens, attention_masks, weights_list = ( diff --git a/lumina_train.py b/lumina_train.py index 330d0093b..4b733c9e8 100644 --- a/lumina_train.py +++ b/lumina_train.py @@ -266,12 +266,14 @@ def train(args): strategy_base.TextEncodingStrategy.get_strategy() ) + system_prompt_special_token = "" + system_prompt = f"{args.system_prompt} {system_prompt_special_token} " if args.system_prompt else "" prompts = train_util.load_prompts(args.sample_prompts) sample_prompts_te_outputs = {} # key: prompt, value: text encoder outputs with accelerator.autocast(), torch.no_grad(): for prompt_dict in prompts: for p in [ - prompt_dict.get("prompt", ""), + system_prompt + prompt_dict.get("prompt", ""), prompt_dict.get("negative_prompt", ""), ]: if p not in sample_prompts_te_outputs: diff --git a/lumina_train_network.py b/lumina_train_network.py index e1b45ac70..037ddac6b 100644 --- a/lumina_train_network.py +++ b/lumina_train_network.py @@ -58,7 +58,7 @@ def load_target_model(self, args, weight_dtype, accelerator): torch.device("cpu"), disable_mmap=args.disable_mmap_load_safetensors, use_flash_attn=args.use_flash_attn, - use_sage_attn=args.use_sage_attn + use_sage_attn=args.use_sage_attn, ) if args.fp8_base: @@ -75,7 +75,7 @@ def load_target_model(self, args, weight_dtype, accelerator): model.to(torch.float8_e4m3fn) if args.blocks_to_swap: - logger.info(f'Lumina 2: Enabling block swap: {args.blocks_to_swap}') + logger.info(f"Lumina 2: Enabling block swap: {args.blocks_to_swap}") model.enable_block_swap(args.blocks_to_swap, accelerator.device) self.is_swapping_blocks = True @@ -157,13 +157,13 @@ def cache_text_encoder_outputs_if_needed( assert isinstance(text_encoding_strategy, strategy_lumina.LuminaTextEncodingStrategy) system_prompt_special_token = "" - system_prompt = f"{args.system_prompt} {system_prompt_special_token} " if args.system_prompt else "" + system_prompt = f"{args.system_prompt} {system_prompt_special_token} " if args.system_prompt else "" sample_prompts = train_util.load_prompts(args.sample_prompts) sample_prompts_te_outputs = {} # key: prompt, value: text encoder outputs with accelerator.autocast(), torch.no_grad(): for prompt_dict in sample_prompts: prompts = [ - prompt_dict.get("prompt", ""), + system_prompt + prompt_dict.get("prompt", ""), prompt_dict.get("negative_prompt", ""), ] for i, prompt in enumerate(prompts): @@ -371,7 +371,6 @@ def on_validation_step_end(self, args, accelerator, network, text_encoders, unet accelerator.unwrap_model(unet).prepare_block_swap_before_forward() - def setup_parser() -> argparse.ArgumentParser: parser = train_network.setup_parser() train_util.add_dit_training_arguments(parser) diff --git a/tests/library/test_strategy_lumina.py b/tests/library/test_strategy_lumina.py index 18e196bf9..aca163478 100644 --- a/tests/library/test_strategy_lumina.py +++ b/tests/library/test_strategy_lumina.py @@ -126,13 +126,12 @@ def test_lumina_text_encoder_outputs_caching_strategy(): # Create a mock class for ImageInfo class MockImageInfo: - def __init__(self, caption, system_prompt, cache_path): + def __init__(self, caption, cache_path): self.caption = caption - self.system_prompt = system_prompt self.text_encoder_outputs_npz = cache_path # Create a sample input info - image_info = MockImageInfo("Test caption", "", cache_file) + image_info = MockImageInfo("Test caption", cache_file) # Simulate a batch batch = [image_info] From 884c1f37c4c16fa83ed14f46f6e209770fbed4d8 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 29 Jun 2025 21:58:43 +0900 Subject: [PATCH 590/748] fix: update to work with cache text encoder outputs (without disk) --- library/strategy_lumina.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/strategy_lumina.py b/library/strategy_lumina.py index 3d86dbef4..392d6594f 100644 --- a/library/strategy_lumina.py +++ b/library/strategy_lumina.py @@ -264,8 +264,8 @@ def cache_batch_outputs( else: info.text_encoder_outputs = [ hidden_state_i, - attention_mask_i, input_ids_i, + attention_mask_i, ] From 5034c6f813a39c1db9c2b0a5f8140f6364ca984d Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 29 Jun 2025 22:00:58 +0900 Subject: [PATCH 591/748] feat: add workaround for 'gated repo' error on github actions --- tests/library/test_strategy_lumina.py | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/tests/library/test_strategy_lumina.py b/tests/library/test_strategy_lumina.py index aca163478..9bb0edf76 100644 --- a/tests/library/test_strategy_lumina.py +++ b/tests/library/test_strategy_lumina.py @@ -40,7 +40,12 @@ def __init__(self, hidden_states): def test_lumina_tokenize_strategy(): # Test default initialization - tokenize_strategy = LuminaTokenizeStrategy(max_length=None) + try: + tokenize_strategy = LuminaTokenizeStrategy(max_length=None) + except OSError as e: + # If the tokenizer is not found (due to gated repo), we can skip the test + print(f"Skipping LuminaTokenizeStrategy test due to OSError: {e}") + return assert tokenize_strategy.max_length == 256 assert tokenize_strategy.tokenizer.padding_side == "right" @@ -61,7 +66,12 @@ def test_lumina_tokenize_strategy(): def test_lumina_text_encoding_strategy(): # Create strategies - tokenize_strategy = LuminaTokenizeStrategy(max_length=None) + try: + tokenize_strategy = LuminaTokenizeStrategy(max_length=None) + except OSError as e: + # If the tokenizer is not found (due to gated repo), we can skip the test + print(f"Skipping LuminaTokenizeStrategy test due to OSError: {e}") + return encoding_strategy = LuminaTextEncodingStrategy() # Create a mock model @@ -137,7 +147,12 @@ def __init__(self, caption, cache_path): batch = [image_info] # Create mock strategies and model - tokenize_strategy = LuminaTokenizeStrategy(max_length=None) + try: + tokenize_strategy = LuminaTokenizeStrategy(max_length=None) + except OSError as e: + # If the tokenizer is not found (due to gated repo), we can skip the test + print(f"Skipping LuminaTokenizeStrategy test due to OSError: {e}") + return encoding_strategy = LuminaTextEncodingStrategy() mock_model = SimpleMockGemma2Model() From 078ee28a949b65d16ade97824d8273bd8bbd6598 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 29 Jun 2025 22:06:19 +0900 Subject: [PATCH 592/748] feat: add more workaround for 'gated repo' error on github actions --- tests/test_lumina_train_network.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/tests/test_lumina_train_network.py b/tests/test_lumina_train_network.py index 353a742f4..2b8fe21d4 100644 --- a/tests/test_lumina_train_network.py +++ b/tests/test_lumina_train_network.py @@ -61,7 +61,7 @@ def test_load_target_model(lumina_trainer, mock_args, mock_accelerator): with ( patch("library.lumina_util.load_lumina_model") as mock_load_lumina_model, patch("library.lumina_util.load_gemma2") as mock_load_gemma2, - patch("library.lumina_util.load_ae") as mock_load_ae + patch("library.lumina_util.load_ae") as mock_load_ae, ): # Create mock models mock_model = MagicMock(spec=lumina_models.NextDiT) @@ -90,8 +90,12 @@ def test_load_target_model(lumina_trainer, mock_args, mock_accelerator): def test_get_strategies(lumina_trainer, mock_args): # Test tokenize strategy - tokenize_strategy = lumina_trainer.get_tokenize_strategy(mock_args) - assert tokenize_strategy.__class__.__name__ == "LuminaTokenizeStrategy" + try: + tokenize_strategy = lumina_trainer.get_tokenize_strategy(mock_args) + assert tokenize_strategy.__class__.__name__ == "LuminaTokenizeStrategy" + except OSError as e: + # If the tokenizer is not found (due to gated repo), we can skip the test + print(f"Skipping LuminaTokenizeStrategy test due to OSError: {e}") # Test latents caching strategy latents_strategy = lumina_trainer.get_latents_caching_strategy(mock_args) @@ -114,10 +118,10 @@ def test_text_encoder_output_caching_strategy(lumina_trainer, mock_args): mock_args.skip_cache_check = False mock_args.text_encoder_batch_size = 16 strategy = lumina_trainer.get_text_encoder_outputs_caching_strategy(mock_args) - + assert strategy.__class__.__name__ == "LuminaTextEncoderOutputsCachingStrategy" assert strategy.cache_to_disk is False # based on mock_args - + # With text encoder caching disabled mock_args.cache_text_encoder_outputs = False strategy = lumina_trainer.get_text_encoder_outputs_caching_strategy(mock_args) @@ -158,16 +162,16 @@ def test_update_metadata(lumina_trainer, mock_args): def test_is_text_encoder_not_needed_for_training(lumina_trainer, mock_args): # Test with text encoder output caching, but not training text encoder mock_args.cache_text_encoder_outputs = True - with patch.object(lumina_trainer, 'is_train_text_encoder', return_value=False): + with patch.object(lumina_trainer, "is_train_text_encoder", return_value=False): result = lumina_trainer.is_text_encoder_not_needed_for_training(mock_args) assert result is True # Test with text encoder output caching and training text encoder - with patch.object(lumina_trainer, 'is_train_text_encoder', return_value=True): + with patch.object(lumina_trainer, "is_train_text_encoder", return_value=True): result = lumina_trainer.is_text_encoder_not_needed_for_training(mock_args) assert result is False # Test with no text encoder output caching mock_args.cache_text_encoder_outputs = False result = lumina_trainer.is_text_encoder_not_needed_for_training(mock_args) - assert result is False \ No newline at end of file + assert result is False From 6731d8a57fb9a31c37dfaf926c5d70af0dc69b24 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 29 Jun 2025 22:21:48 +0900 Subject: [PATCH 593/748] fix: update system prompt handling --- library/strategy_lumina.py | 16 ++++++++++++++-- lumina_train.py | 14 ++++++-------- lumina_train_network.py | 11 +++-------- tests/library/test_strategy_lumina.py | 6 +++--- 4 files changed, 26 insertions(+), 21 deletions(-) diff --git a/library/strategy_lumina.py b/library/strategy_lumina.py index 392d6594f..964d9f7a4 100644 --- a/library/strategy_lumina.py +++ b/library/strategy_lumina.py @@ -25,20 +25,26 @@ class LuminaTokenizeStrategy(TokenizeStrategy): def __init__( - self, max_length: Optional[int], tokenizer_cache_dir: Optional[str] = None + self, system_prompt:str, max_length: Optional[int], tokenizer_cache_dir: Optional[str] = None ) -> None: self.tokenizer: GemmaTokenizerFast = AutoTokenizer.from_pretrained( GEMMA_ID, cache_dir=tokenizer_cache_dir ) self.tokenizer.padding_side = "right" + if system_prompt is None: + system_prompt = "" + system_prompt_special_token = "" + system_prompt = f"{system_prompt} {system_prompt_special_token} " if system_prompt else "" + self.system_prompt = system_prompt + if max_length is None: self.max_length = 256 else: self.max_length = max_length def tokenize( - self, text: Union[str, List[str]] + self, text: Union[str, List[str]], is_negative: bool = False ) -> Tuple[torch.Tensor, torch.Tensor]: """ Args: @@ -49,6 +55,12 @@ def tokenize( token input ids, attention_masks """ text = [text] if isinstance(text, str) else text + + # In training, we always add system prompt (is_negative=False) + if not is_negative: + # Add system prompt to the beginning of each text + text = [self.system_prompt + t for t in text] + encodings = self.tokenizer( text, max_length=self.max_length, diff --git a/lumina_train.py b/lumina_train.py index 4b733c9e8..0a91f4a0a 100644 --- a/lumina_train.py +++ b/lumina_train.py @@ -166,7 +166,7 @@ def train(args): ) ) strategy_base.TokenizeStrategy.set_strategy( - strategy_lumina.LuminaTokenizeStrategy() + strategy_lumina.LuminaTokenizeStrategy(args.system_prompt) ) train_dataset_group.set_current_strategies() @@ -221,7 +221,7 @@ def train(args): gemma2_max_token_length = args.gemma2_max_token_length lumina_tokenize_strategy = strategy_lumina.LuminaTokenizeStrategy( - gemma2_max_token_length + args.system_prompt, gemma2_max_token_length ) strategy_base.TokenizeStrategy.set_strategy(lumina_tokenize_strategy) @@ -266,19 +266,17 @@ def train(args): strategy_base.TextEncodingStrategy.get_strategy() ) - system_prompt_special_token = "" - system_prompt = f"{args.system_prompt} {system_prompt_special_token} " if args.system_prompt else "" prompts = train_util.load_prompts(args.sample_prompts) sample_prompts_te_outputs = {} # key: prompt, value: text encoder outputs with accelerator.autocast(), torch.no_grad(): for prompt_dict in prompts: - for p in [ - system_prompt + prompt_dict.get("prompt", ""), + for i, p in enumerate([ + prompt_dict.get("prompt", ""), prompt_dict.get("negative_prompt", ""), - ]: + ]): if p not in sample_prompts_te_outputs: logger.info(f"cache Text Encoder outputs for prompt: {p}") - tokens_and_masks = lumina_tokenize_strategy.tokenize(p) + tokens_and_masks = lumina_tokenize_strategy.tokenize(p, i == 1) # i == 1 means negative prompt sample_prompts_te_outputs[p] = ( text_encoding_strategy.encode_tokens( lumina_tokenize_strategy, diff --git a/lumina_train_network.py b/lumina_train_network.py index 037ddac6b..b08e31432 100644 --- a/lumina_train_network.py +++ b/lumina_train_network.py @@ -86,7 +86,7 @@ def load_target_model(self, args, weight_dtype, accelerator): return lumina_util.MODEL_VERSION_LUMINA_V2, [gemma2], ae, model def get_tokenize_strategy(self, args): - return strategy_lumina.LuminaTokenizeStrategy(args.gemma2_max_token_length, args.tokenizer_cache_dir) + return strategy_lumina.LuminaTokenizeStrategy(args.system_prompt, args.gemma2_max_token_length, args.tokenizer_cache_dir) def get_tokenizers(self, tokenize_strategy: strategy_lumina.LuminaTokenizeStrategy): return [tokenize_strategy.tokenizer] @@ -156,25 +156,20 @@ def cache_text_encoder_outputs_if_needed( assert isinstance(tokenize_strategy, strategy_lumina.LuminaTokenizeStrategy) assert isinstance(text_encoding_strategy, strategy_lumina.LuminaTextEncodingStrategy) - system_prompt_special_token = "" - system_prompt = f"{args.system_prompt} {system_prompt_special_token} " if args.system_prompt else "" sample_prompts = train_util.load_prompts(args.sample_prompts) sample_prompts_te_outputs = {} # key: prompt, value: text encoder outputs with accelerator.autocast(), torch.no_grad(): for prompt_dict in sample_prompts: prompts = [ - system_prompt + prompt_dict.get("prompt", ""), + prompt_dict.get("prompt", ""), prompt_dict.get("negative_prompt", ""), ] for i, prompt in enumerate(prompts): - # Add system prompt only to positive prompt - if i == 0: - prompt = system_prompt + prompt if prompt in sample_prompts_te_outputs: continue logger.info(f"cache Text Encoder outputs for prompt: {prompt}") - tokens_and_masks = tokenize_strategy.tokenize(prompt) + tokens_and_masks = tokenize_strategy.tokenize(prompt, i == 1) # i == 1 means negative prompt sample_prompts_te_outputs[prompt] = text_encoding_strategy.encode_tokens( tokenize_strategy, text_encoders, diff --git a/tests/library/test_strategy_lumina.py b/tests/library/test_strategy_lumina.py index 9bb0edf76..d77d27383 100644 --- a/tests/library/test_strategy_lumina.py +++ b/tests/library/test_strategy_lumina.py @@ -41,7 +41,7 @@ def __init__(self, hidden_states): def test_lumina_tokenize_strategy(): # Test default initialization try: - tokenize_strategy = LuminaTokenizeStrategy(max_length=None) + tokenize_strategy = LuminaTokenizeStrategy("dummy system prompt", max_length=None) except OSError as e: # If the tokenizer is not found (due to gated repo), we can skip the test print(f"Skipping LuminaTokenizeStrategy test due to OSError: {e}") @@ -67,7 +67,7 @@ def test_lumina_tokenize_strategy(): def test_lumina_text_encoding_strategy(): # Create strategies try: - tokenize_strategy = LuminaTokenizeStrategy(max_length=None) + tokenize_strategy = LuminaTokenizeStrategy("dummy system prompt", max_length=None) except OSError as e: # If the tokenizer is not found (due to gated repo), we can skip the test print(f"Skipping LuminaTokenizeStrategy test due to OSError: {e}") @@ -148,7 +148,7 @@ def __init__(self, caption, cache_path): # Create mock strategies and model try: - tokenize_strategy = LuminaTokenizeStrategy(max_length=None) + tokenize_strategy = LuminaTokenizeStrategy("dummy system prompt", max_length=None) except OSError as e: # If the tokenizer is not found (due to gated repo), we can skip the test print(f"Skipping LuminaTokenizeStrategy test due to OSError: {e}") From 05f392fa27371291b26c0ca5b751a3b829cd52d2 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Thu, 3 Jul 2025 21:47:15 +0900 Subject: [PATCH 594/748] feat: add minimum inference code for Lumina with image generation capabilities --- lumina_minimal_inference.py | 295 ++++++++++++++++++++++++++++++++++++ 1 file changed, 295 insertions(+) create mode 100644 lumina_minimal_inference.py diff --git a/lumina_minimal_inference.py b/lumina_minimal_inference.py new file mode 100644 index 000000000..ff7c21df7 --- /dev/null +++ b/lumina_minimal_inference.py @@ -0,0 +1,295 @@ +# Minimum Inference Code for Lumina +# Based on flux_minimal_inference.py + +import logging +import argparse +import math +import os +import random +import time +from typing import Optional + +import einops +import numpy as np +import torch +from accelerate import Accelerator +from PIL import Image +from safetensors.torch import load_file +from tqdm import tqdm +from transformers import Gemma2Model +from library.flux_models import AutoEncoder + +from library import ( + device_utils, + lumina_models, + lumina_train_util, + lumina_util, + sd3_train_utils, + strategy_lumina, +) +from library.device_utils import get_preferred_device, init_ipex +from library.utils import setup_logging, str_to_dtype + +init_ipex() +setup_logging() +logger = logging.getLogger(__name__) + + +def generate_image( + model: lumina_models.NextDiT, + gemma2: Gemma2Model, + ae: AutoEncoder, + prompt: str, + system_prompt: str, + seed: Optional[int], + image_width: int, + image_height: int, + steps: int, + guidance_scale: float, + negative_prompt: Optional[str], + args, + cfg_trunc_ratio: float = 0.25, + renorm_cfg: float = 1.0, +): + # + # 0. Prepare arguments + # + device = get_preferred_device() + if args.device: + device = torch.device(args.device) + + dtype = str_to_dtype(args.dtype) + ae_dtype = str_to_dtype(args.ae_dtype) + gemma2_dtype = str_to_dtype(args.gemma2_dtype) + + # + # 1. Prepare models + # + # model.to(device, dtype=dtype) + model.to(dtype) + model.eval() + + gemma2.to(device, dtype=gemma2_dtype) + gemma2.eval() + + ae.to(ae_dtype) + ae.eval() + + # + # 2. Encode prompts + # + logger.info("Encoding prompts...") + + tokenize_strategy = strategy_lumina.LuminaTokenizeStrategy(system_prompt, args.gemma2_max_token_length) + encoding_strategy = strategy_lumina.LuminaTextEncodingStrategy() + + tokens_and_masks = tokenize_strategy.tokenize(prompt) + with torch.no_grad(): + gemma2_conds = encoding_strategy.encode_tokens(tokenize_strategy, [gemma2], tokens_and_masks) + + tokens_and_masks = tokenize_strategy.tokenize(negative_prompt, is_negative=True) + with torch.no_grad(): + neg_gemma2_conds = encoding_strategy.encode_tokens(tokenize_strategy, [gemma2], tokens_and_masks) + + # Unpack Gemma2 outputs + prompt_hidden_states, _, prompt_attention_mask = gemma2_conds + uncond_hidden_states, _, uncond_attention_mask = neg_gemma2_conds + + if args.offload: + print("Offloading models to CPU to save VRAM...") + gemma2.to("cpu") + device_utils.clean_memory() + + model.to(device) + + # + # 3. Prepare latents + # + seed = seed if seed is not None else random.randint(0, 2**32 - 1) + logger.info(f"Seed: {seed}") + torch.manual_seed(seed) + + latent_height = image_height // 8 + latent_width = image_width // 8 + latent_channels = 16 + + latents = torch.randn( + (1, latent_channels, latent_height, latent_width), + device=device, + dtype=dtype, + generator=torch.Generator(device=device).manual_seed(seed), + ) + + # + # 4. Denoise + # + logger.info("Denoising...") + scheduler = sd3_train_utils.FlowMatchEulerDiscreteScheduler(num_train_timesteps=1000, shift=args.discrete_flow_shift) + scheduler.set_timesteps(steps, device=device) + timesteps = scheduler.timesteps + + # # compare with lumina_train_util.retrieve_timesteps + # lumina_timestep = lumina_train_util.retrieve_timesteps(scheduler, num_inference_steps=steps) + # print(f"Using timesteps: {timesteps}") + # print(f"vs Lumina timesteps: {lumina_timestep}") # should be the same + + with torch.autocast(device_type=device.type, dtype=dtype), torch.no_grad(): + latents = lumina_train_util.denoise( + scheduler, + model, + latents.to(device), + prompt_hidden_states.to(device), + prompt_attention_mask.to(device), + uncond_hidden_states.to(device), + uncond_attention_mask.to(device), + timesteps, + guidance_scale, + cfg_trunc_ratio, + renorm_cfg, + ) + + if args.offload: + model.to("cpu") + device_utils.clean_memory() + ae.to(device) + + # + # 5. Decode latents + # + logger.info("Decoding image...") + latents = latents / ae.scale_factor + ae.shift_factor + with torch.no_grad(): + image = ae.decode(latents.to(ae_dtype)) + image = (image / 2 + 0.5).clamp(0, 1) + image = image.cpu().permute(0, 2, 3, 1).float().numpy() + image = (image * 255).round().astype("uint8") + + # + # 6. Save image + # + pil_image = Image.fromarray(image[0]) + output_dir = args.output_dir + os.makedirs(output_dir, exist_ok=True) + ts_str = time.strftime("%Y%m%d%H%M%S", time.localtime()) + seed_suffix = f"_{seed}" + output_path = os.path.join(output_dir, f"image_{ts_str}{seed_suffix}.png") + pil_image.save(output_path) + logger.info(f"Image saved to {output_path}") + + +def setup_parser() -> argparse.ArgumentParser: + parser = argparse.ArgumentParser() + parser.add_argument( + "--pretrained_model_name_or_path", + type=str, + default=None, + required=True, + help="Lumina DiT model path / Lumina DiTモデルのパス", + ) + parser.add_argument( + "--gemma2_path", + type=str, + default=None, + required=True, + help="Gemma2 model path / Gemma2モデルのパス", + ) + parser.add_argument( + "--ae_path", + type=str, + default=None, + required=True, + help="Autoencoder model path / Autoencoderモデルのパス", + ) + parser.add_argument("--prompt", type=str, default="A beautiful sunset over the mountains", help="Prompt for image generation") + parser.add_argument("--negative_prompt", type=str, default="", help="Negative prompt for image generation, default is empty") + parser.add_argument("--output_dir", type=str, default="outputs", help="Output directory for generated images") + parser.add_argument("--seed", type=int, default=None, help="Random seed") + parser.add_argument("--steps", type=int, default=30, help="Number of inference steps") + parser.add_argument("--guidance_scale", type=float, default=4.0, help="Guidance scale for classifier-free guidance") + parser.add_argument("--image_width", type=int, default=1024, help="Image width") + parser.add_argument("--image_height", type=int, default=1024, help="Image height") + parser.add_argument("--dtype", type=str, default="bf16", help="Data type for model (bf16, fp16, float)") + parser.add_argument("--gemma2_dtype", type=str, default="bf16", help="Data type for Gemma2 (bf16, fp16, float)") + parser.add_argument("--ae_dtype", type=str, default="bf16", help="Data type for Autoencoder (bf16, fp16, float)") + parser.add_argument("--device", type=str, default=None, help="Device to use (e.g., 'cuda:0')") + parser.add_argument("--offload", action="store_true", help="Offload models to CPU to save VRAM") + parser.add_argument("--system_prompt", type=str, default="", help="System prompt for Gemma2 model") + parser.add_argument( + "--gemma2_max_token_length", + type=int, + default=256, + help="Max token length for Gemma2 tokenizer", + ) + parser.add_argument( + "--discrete_flow_shift", + type=float, + default=1.0, + help="Shift value for FlowMatchEulerDiscreteScheduler", + ) + parser.add_argument( + "--cfg_trunc_ratio", + type=float, + default=0.25, + help="TBD", + ) + parser.add_argument( + "--renorm_cfg", + type=float, + default=1.0, + help="TBD", + ) + parser.add_argument( + "--use_flash_attn", + action="store_true", + help="Use flash attention for Lumina model", + ) + parser.add_argument( + "--use_sage_attn", + action="store_true", + help="Use sage attention for Lumina model", + ) + return parser + + +if __name__ == "__main__": + parser = setup_parser() + args = parser.parse_args() + + logger.info("Loading models...") + device = get_preferred_device() + if args.device: + device = torch.device(args.device) + + # Load Lumina DiT model + model = lumina_util.load_lumina_model( + args.pretrained_model_name_or_path, + dtype=None, # Load in fp32 and then convert + device="cpu", + use_flash_attn=args.use_flash_attn, + use_sage_attn=args.use_sage_attn, + ) + + # Load Gemma2 + gemma2 = lumina_util.load_gemma2(args.gemma2_path, dtype=None, device="cpu") + + # Load Autoencoder + ae = lumina_util.load_ae(args.ae_path, dtype=None, device="cpu") + + generate_image( + model, + gemma2, + ae, + args.prompt, + args.system_prompt, + args.seed, + args.image_width, + args.image_height, + args.steps, + args.guidance_scale, + args.negative_prompt, + args, + args.cfg_trunc_ratio, + args.renorm_cfg, + ) + + logger.info("Done.") From a87e9997861c58df7148705be12dae17114615de Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Mon, 7 Jul 2025 17:12:07 -0400 Subject: [PATCH 595/748] Change to 3 --- networks/lora_lumina.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/networks/lora_lumina.py b/networks/lora_lumina.py index 15c35f441..e4149b4ab 100644 --- a/networks/lora_lumina.py +++ b/networks/lora_lumina.py @@ -344,7 +344,7 @@ def create_network( if embedder_dims.startswith("[") and embedder_dims.endswith("]"): embedder_dims = embedder_dims[1:-1] embedder_dims = [int(d) for d in embedder_dims.split(",")] - assert len(embedder_dims) == 3, f"invalid embedder_dims: {embedder_dims}, must be 4 dimensions (x_embedder, t_embedder, cap_embedder)" + assert len(embedder_dims) == 3, f"invalid embedder_dims: {embedder_dims}, must be 3 dimensions (x_embedder, t_embedder, cap_embedder)" # rank/module dropout rank_dropout = kwargs.get("rank_dropout", None) From b4d11522939ce65aef46d835c00969a25bb485c5 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Wed, 9 Jul 2025 21:55:36 +0900 Subject: [PATCH 596/748] fix: sample generation with system prompt, without TE output caching --- library/lumina_train_util.py | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/library/lumina_train_util.py b/library/lumina_train_util.py index 14a79bb2e..45f22bc47 100644 --- a/library/lumina_train_util.py +++ b/library/lumina_train_util.py @@ -249,7 +249,7 @@ def sample_image_inference( accelerator: Accelerator, args: argparse.Namespace, nextdit: lumina_models.NextDiT, - gemma2_model: Gemma2Model, + gemma2_model: list[Gemma2Model], vae: AutoEncoder, save_dir: str, prompt_dicts: list[Dict[str, str]], @@ -266,7 +266,7 @@ def sample_image_inference( accelerator (Accelerator): Accelerator object args (argparse.Namespace): Arguments object nextdit (lumina_models.NextDiT): NextDiT model - gemma2_model (Gemma2Model): Gemma2 model + gemma2_model (list[Gemma2Model]): Gemma2 model vae (AutoEncoder): VAE model save_dir (str): Directory to save images prompt_dict (Dict[str, str]): Prompt dictionary @@ -330,12 +330,8 @@ def sample_image_inference( logger.info(f"renorm: {renorm_cfg}") # logger.info(f"sample_sampler: {sampler_name}") - system_prompt_special_token = "" - system_prompt = f"{args.system_prompt} {system_prompt_special_token} " if args.system_prompt else "" - # Apply system prompt to prompts - prompt = system_prompt + prompt - negative_prompt = negative_prompt + # No need to add system prompt here, as it has been handled in the tokenize_strategy # Get sample prompts from cache if sample_prompts_gemma2_outputs and prompt in sample_prompts_gemma2_outputs: @@ -355,12 +351,12 @@ def sample_image_inference( if gemma2_model is not None: tokens_and_masks = tokenize_strategy.tokenize(prompt) gemma2_conds = encoding_strategy.encode_tokens( - tokenize_strategy, [gemma2_model], tokens_and_masks + tokenize_strategy, gemma2_model, tokens_and_masks ) - tokens_and_masks = tokenize_strategy.tokenize(negative_prompt) + tokens_and_masks = tokenize_strategy.tokenize(negative_prompt, is_negative=True) neg_gemma2_conds = encoding_strategy.encode_tokens( - tokenize_strategy, [gemma2_model], tokens_and_masks + tokenize_strategy, gemma2_model, tokens_and_masks ) # Unpack Gemma2 outputs From 7fb0d30feba5f1112ad28099ac79b6109e98ec57 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Wed, 9 Jul 2025 23:28:55 +0900 Subject: [PATCH 597/748] feat: add LoRA support for lumina minimal inference --- lumina_minimal_inference.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/lumina_minimal_inference.py b/lumina_minimal_inference.py index ff7c21df7..ba305f6ff 100644 --- a/lumina_minimal_inference.py +++ b/lumina_minimal_inference.py @@ -27,6 +27,7 @@ sd3_train_utils, strategy_lumina, ) +import networks.lora_lumina as lora_lumina from library.device_utils import get_preferred_device, init_ipex from library.utils import setup_logging, str_to_dtype @@ -248,6 +249,14 @@ def setup_parser() -> argparse.ArgumentParser: action="store_true", help="Use sage attention for Lumina model", ) + parser.add_argument( + "--lora_weights", + type=str, + nargs="*", + default=[], + help="LoRA weights, each argument is a `path;multiplier` (semi-colon separated)", + ) + parser.add_argument("--merge_lora_weights", action="store_true", help="Merge LoRA weights to model") return parser @@ -275,6 +284,30 @@ def setup_parser() -> argparse.ArgumentParser: # Load Autoencoder ae = lumina_util.load_ae(args.ae_path, dtype=None, device="cpu") + # LoRA + lora_models = [] + for weights_file in args.lora_weights: + if ";" in weights_file: + weights_file, multiplier = weights_file.split(";") + multiplier = float(multiplier) + else: + multiplier = 1.0 + + weights_sd = load_file(weights_file) + lora_model, _ = lora_lumina.create_network_from_weights( + multiplier, None, ae, [gemma2], model, weights_sd, True + ) + + if args.merge_lora_weights: + lora_model.merge_to([gemma2], model, weights_sd) + else: + lora_model.apply_to([gemma2], model) + info = lora_model.load_state_dict(weights_sd, strict=True) + logger.info(f"Loaded LoRA weights from {weights_file}: {info}") + lora_model.eval() + + lora_models.append(lora_model) + generate_image( model, gemma2, From 3f9eab49467ba2d224d48464aac11cb07b85dbb1 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Wed, 9 Jul 2025 23:33:50 +0900 Subject: [PATCH 598/748] fix: update default values in lumina minimal inference as same as sample generation --- lumina_minimal_inference.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lumina_minimal_inference.py b/lumina_minimal_inference.py index ba305f6ff..4f9151792 100644 --- a/lumina_minimal_inference.py +++ b/lumina_minimal_inference.py @@ -205,8 +205,8 @@ def setup_parser() -> argparse.ArgumentParser: parser.add_argument("--negative_prompt", type=str, default="", help="Negative prompt for image generation, default is empty") parser.add_argument("--output_dir", type=str, default="outputs", help="Output directory for generated images") parser.add_argument("--seed", type=int, default=None, help="Random seed") - parser.add_argument("--steps", type=int, default=30, help="Number of inference steps") - parser.add_argument("--guidance_scale", type=float, default=4.0, help="Guidance scale for classifier-free guidance") + parser.add_argument("--steps", type=int, default=36, help="Number of inference steps") + parser.add_argument("--guidance_scale", type=float, default=3.5, help="Guidance scale for classifier-free guidance") parser.add_argument("--image_width", type=int, default=1024, help="Image width") parser.add_argument("--image_height", type=int, default=1024, help="Image height") parser.add_argument("--dtype", type=str, default="bf16", help="Data type for model (bf16, fp16, float)") @@ -224,7 +224,7 @@ def setup_parser() -> argparse.ArgumentParser: parser.add_argument( "--discrete_flow_shift", type=float, - default=1.0, + default=6.0, help="Shift value for FlowMatchEulerDiscreteScheduler", ) parser.add_argument( From 7bd9a6b19ee3d44c298d9fa9e7b63176f16155ab Mon Sep 17 00:00:00 2001 From: kohya-ss Date: Thu, 10 Jul 2025 19:16:05 +0900 Subject: [PATCH 599/748] Add prompt guidance files for Claude and Gemini, and update README for AI coding agents --- .ai/claude.prompt.md | 9 ++++ .ai/context/01-overview.md | 101 +++++++++++++++++++++++++++++++++++++ .ai/gemini.prompt.md | 9 ++++ .gitignore | 2 + README.md | 49 +++++++----------- 5 files changed, 139 insertions(+), 31 deletions(-) create mode 100644 .ai/claude.prompt.md create mode 100644 .ai/context/01-overview.md create mode 100644 .ai/gemini.prompt.md diff --git a/.ai/claude.prompt.md b/.ai/claude.prompt.md new file mode 100644 index 000000000..7f38f5752 --- /dev/null +++ b/.ai/claude.prompt.md @@ -0,0 +1,9 @@ +## About This File + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## 1. Project Context +Here is the essential context for our project. Please read and understand it thoroughly. + +### Project Overview +@./context/01-overview.md diff --git a/.ai/context/01-overview.md b/.ai/context/01-overview.md new file mode 100644 index 000000000..41133e983 --- /dev/null +++ b/.ai/context/01-overview.md @@ -0,0 +1,101 @@ +This file provides the overview and guidance for developers working with the codebase, including setup instructions, architecture details, and common commands. + +## Project Architecture + +### Core Training Framework +The codebase is built around a **strategy pattern architecture** that supports multiple diffusion model families: + +- **`library/strategy_base.py`**: Base classes for tokenization, text encoding, latent caching, and training strategies +- **`library/strategy_*.py`**: Model-specific implementations for SD, SDXL, SD3, FLUX, etc. +- **`library/train_util.py`**: Core training utilities shared across all model types +- **`library/config_util.py`**: Configuration management with TOML support + +### Model Support Structure +Each supported model family has a consistent structure: +- **Training script**: `{model}_train.py` (full fine-tuning), `{model}_train_network.py` (LoRA/network training) +- **Model utilities**: `library/{model}_models.py`, `library/{model}_train_utils.py`, `library/{model}_utils.py` +- **Networks**: `networks/lora_{model}.py`, `networks/oft_{model}.py` for adapter training + +### Supported Models +- **Stable Diffusion 1.x**: `train*.py`, `library/train_util.py`, `train_db.py` (for DreamBooth) +- **SDXL**: `sdxl_train*.py`, `library/sdxl_*` +- **SD3**: `sd3_train*.py`, `library/sd3_*` +- **FLUX.1**: `flux_train*.py`, `library/flux_*` + +### Key Components + +#### Memory Management +- **Block swapping**: CPU-GPU memory optimization via `--blocks_to_swap` parameter, works with custom offloading. Only available for models with transformer architectures like SD3 and FLUX.1. +- **Custom offloading**: `library/custom_offloading_utils.py` for advanced memory management +- **Gradient checkpointing**: Memory reduction during training + +#### Training Features +- **LoRA training**: Low-rank adaptation networks in `networks/lora*.py` +- **ControlNet training**: Conditional generation control +- **Textual Inversion**: Custom embedding training +- **Multi-resolution training**: Bucket-based aspect ratio handling +- **Validation loss**: Real-time training monitoring, only for LoRA training + +#### Configuration System +Dataset configuration uses TOML files with structured validation: +```toml +[datasets.sample_dataset] + resolution = 1024 + batch_size = 2 + + [[datasets.sample_dataset.subsets]] + image_dir = "path/to/images" + caption_extension = ".txt" +``` + +## Common Development Commands + +### Training Commands Pattern +All training scripts follow this general pattern: +```bash +accelerate launch --mixed_precision bf16 {script_name}.py \ + --pretrained_model_name_or_path model.safetensors \ + --dataset_config config.toml \ + --output_dir output \ + --output_name model_name \ + [model-specific options] +``` + +### Memory Optimization +For low VRAM environments, use block swapping: +```bash +# Add to any training command for memory reduction +--blocks_to_swap 10 # Swap 10 blocks to CPU (adjust number as needed) +``` + +### Utility Scripts +Located in `tools/` directory: +- `tools/merge_lora.py`: Merge LoRA weights into base models +- `tools/cache_latents.py`: Pre-cache VAE latents for faster training +- `tools/cache_text_encoder_outputs.py`: Pre-cache text encoder outputs + +## Development Notes + +### Strategy Pattern Implementation +When adding support for new models, implement the four core strategies: +1. `TokenizeStrategy`: Text tokenization handling +2. `TextEncodingStrategy`: Text encoder forward pass +3. `LatentsCachingStrategy`: VAE encoding/caching +4. `TextEncoderOutputsCachingStrategy`: Text encoder output caching + +### Testing Approach +- Unit tests focus on utility functions and model loading +- Integration tests validate training script syntax and basic execution +- Most tests use mocks to avoid requiring actual model files +- Add tests for new model support in `tests/test_{model}_*.py` + +### Configuration System +- Use `config_util.py` dataclasses for type-safe configuration +- Support both command-line arguments and TOML file configuration +- Validate configuration early in training scripts to prevent runtime errors + +### Memory Management +- Always consider VRAM limitations when implementing features +- Use gradient checkpointing for large models +- Implement block swapping for models with transformer architectures +- Cache intermediate results (latents, text embeddings) when possible \ No newline at end of file diff --git a/.ai/gemini.prompt.md b/.ai/gemini.prompt.md new file mode 100644 index 000000000..6047390bc --- /dev/null +++ b/.ai/gemini.prompt.md @@ -0,0 +1,9 @@ +## About This File + +This file provides guidance to Gemini CLI (https://github.com/google-gemini/gemini-cli) when working with code in this repository. + +## 1. Project Context +Here is the essential context for our project. Please read and understand it thoroughly. + +### Project Overview +@./context/01-overview.md diff --git a/.gitignore b/.gitignore index e492b1add..b991f6db5 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,5 @@ venv build .vscode wandb +CLAUDE.md +GEMINI.md \ No newline at end of file diff --git a/README.md b/README.md index 497969ab4..149f453b9 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,9 @@ If you are using DeepSpeed, please install DeepSpeed with `pip install deepspeed ### Recent Updates +Jul 10, 2025: +- [AI Coding Agents](#for-developers-using-ai-coding-agents) section is added to the README. This section provides instructions for developers using AI coding agents like Claude and Gemini to understand the project context and coding standards. + May 1, 2025: - The error when training FLUX.1 with mixed precision in flux_train.py with DeepSpeed enabled has been resolved. Thanks to sharlynxy for PR [#2060](https://github.com/kohya-ss/sd-scripts/pull/2060). Please refer to the PR for details. - If you enable DeepSpeed, please install DeepSpeed with `pip install deepspeed==0.16.7`. @@ -54,46 +57,30 @@ Jan 25, 2025: - It will be added to other scripts as well. - As a current limitation, validation loss is not supported when `--block_to_swap` is specified, or when schedule-free optimizer is used. -Dec 15, 2024: - -- RAdamScheduleFree optimizer is supported. PR [#1830](https://github.com/kohya-ss/sd-scripts/pull/1830) Thanks to nhamanasu! - - Update to `schedulefree==1.4` is required. Please update individually or with `pip install --use-pep517 --upgrade -r requirements.txt`. - - Available with `--optimizer_type=RAdamScheduleFree`. No need to specify warm up steps as well as learning rate scheduler. - -Dec 7, 2024: - -- The option to specify the model name during ControlNet training was different in each script. It has been unified. Please specify `--controlnet_model_name_or_path`. PR [#1821](https://github.com/kohya-ss/sd-scripts/pull/1821) Thanks to sdbds! - - -- Fixed an issue where the saved model would be corrupted (pos_embed would not be saved) when `--enable_scaled_pos_embed` was specified in `sd3_train.py`. +## For Developers Using AI Coding Agents -Dec 3, 2024: +This repository provides recommended instructions to help AI agents like Claude and Gemini understand our project context and coding standards. --`--blocks_to_swap` now works in FLUX.1 ControlNet training. Sample commands for 24GB VRAM and 16GB VRAM are added [here](#flux1-controlnet-training). +To use them, you need to opt-in by creating your own configuration file in the project root. -Dec 2, 2024: +**Quick Setup:** -- FLUX.1 ControlNet training is supported. PR [#1813](https://github.com/kohya-ss/sd-scripts/pull/1813). Thanks to minux302! See PR and [here](#flux1-controlnet-training) for details. - - Not fully tested. Feedback is welcome. - - 80GB VRAM is required for 1024x1024 resolution, and 48GB VRAM is required for 512x512 resolution. - - Currently, it only works in Linux environment (or Windows WSL2) because DeepSpeed is required. - - Multi-GPU training is not tested. +1. Create a `CLAUDE.md` and/or `GEMINI.md` file in the project root. +2. Add the following line to your `CLAUDE.md` to import the repository's recommended prompt: -Dec 1, 2024: + ```markdown + @./.ai/claude.prompt.md + ``` -- Pseudo Huber loss is now available for FLUX.1 and SD3.5 training. See PR [#1808](https://github.com/kohya-ss/sd-scripts/pull/1808) for details. Thanks to recris! - - Specify `--loss_type huber` or `--loss_type smooth_l1` to use it. `--huber_c` and `--huber_scale` are also available. + or for Gemini: -- [Prodigy + ScheduleFree](https://github.com/LoganBooker/prodigy-plus-schedule-free) is supported. See PR [#1811](https://github.com/kohya-ss/sd-scripts/pull/1811) for details. Thanks to rockerBOO! + ```markdown + @./.ai/gemini.prompt.md + ``` -Nov 14, 2024: +3. You can now add your own personal instructions below the import line (e.g., `Always respond in Japanese.`). -- Improved the implementation of block swap and made it available for both FLUX.1 and SD3 LoRA training. See [FLUX.1 LoRA training](#flux1-lora-training) etc. for how to use the new options. Training is possible with about 8-10GB of VRAM. -- During fine-tuning, the memory usage when specifying the same number of blocks has increased slightly, but the training speed when specifying block swap has been significantly improved. -- There may be bugs due to the significant changes. Feedback is welcome. +This approach ensures that you have full control over the instructions given to your agent while benefiting from the shared project context. Your `CLAUDE.md` and `GEMINI.md` are already listed in `.gitignore`, so it won't be committed to the repository. ## FLUX.1 training From 0b90555916acc4a44950d9ce1b47d645215e5b71 Mon Sep 17 00:00:00 2001 From: kohya-ss Date: Thu, 10 Jul 2025 19:34:31 +0900 Subject: [PATCH 600/748] feat: add .claude and .gemini to .gitignore --- .gitignore | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index b991f6db5..eb19977ea 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,6 @@ build .vscode wandb CLAUDE.md -GEMINI.md \ No newline at end of file +GEMINI.md +.claude +.gemini \ No newline at end of file From d0b335d8cf543da68963103cbd7ae8d630d1eb3a Mon Sep 17 00:00:00 2001 From: kohya-ss Date: Thu, 10 Jul 2025 20:15:45 +0900 Subject: [PATCH 601/748] feat: add LoRA training guide for Lumina Image 2.0 (WIP) --- docs/lumina_train_network.md | 311 +++++++++++++++++++++++++++++++++++ 1 file changed, 311 insertions(+) create mode 100644 docs/lumina_train_network.md diff --git a/docs/lumina_train_network.md b/docs/lumina_train_network.md new file mode 100644 index 000000000..1c3794abc --- /dev/null +++ b/docs/lumina_train_network.md @@ -0,0 +1,311 @@ +Status: reviewed + +# LoRA Training Guide for Lumina Image 2.0 using `lumina_train_network.py` / `lumina_train_network.py` を用いたLumina Image 2.0モデルのLoRA学習ガイド + +This document explains how to train LoRA (Low-Rank Adaptation) models for Lumina Image 2.0 using `lumina_train_network.py` in the `sd-scripts` repository. + +## 1. Introduction / はじめに + +`lumina_train_network.py` trains additional networks such as LoRA for Lumina Image 2.0 models. Lumina Image 2.0 adopts a Next-DiT (Next-generation Diffusion Transformer) architecture, which differs from previous Stable Diffusion models. It uses a single text encoder (Gemma2) and a dedicated AutoEncoder (AE). + +This guide assumes you already understand the basics of LoRA training. For common usage and options, see the [train_network.py guide](train_network.md). Some parameters are similar to those in [`sd3_train_network.py`](sd3_train_network.md) and [`flux_train_network.py`](flux_train_network.md). + +**Prerequisites:** + +* The `sd-scripts` repository has been cloned and the Python environment is ready. +* A training dataset has been prepared. See the [Dataset Configuration Guide](link/to/dataset/config/doc). +* Lumina Image 2.0 model files for training are available. + +
+日本語 +ステータス:内容を一通り確認した + +`lumina_train_network.py`は、Lumina Image 2.0モデルに対してLoRAなどの追加ネットワークを学習させるためのスクリプトです。Lumina Image 2.0は、Next-DiT (Next-generation Diffusion Transformer) と呼ばれる新しいアーキテクチャを採用しており、従来のStable Diffusionモデルとは構造が異なります。テキストエンコーダーとしてGemma2を単体で使用し、専用のAutoEncoder (AE) を使用します。 + +このガイドは、基本的なLoRA学習の手順を理解しているユーザーを対象としています。基本的な使い方や共通のオプションについては、[`train_network.py`のガイド](train_network.md)を参照してください。また一部のパラメータは [`sd3_train_network.py`](sd3_train_network.md) や [`flux_train_network.py`](flux_train_network.md) と同様のものがあるため、そちらも参考にしてください。 + +**前提条件:** + +* `sd-scripts`リポジトリのクローンとPython環境のセットアップが完了していること。 +* 学習用データセットの準備が完了していること。(データセットの準備については[データセット設定ガイド](link/to/dataset/config/doc)を参照してください) +* 学習対象のLumina Image 2.0モデルファイルが準備できていること。 +
+ +## 2. Differences from `train_network.py` / `train_network.py` との違い + +`lumina_train_network.py` is based on `train_network.py` but modified for Lumina Image 2.0. Main differences are: + +* **Target models:** Lumina Image 2.0 models. +* **Model structure:** Uses Next-DiT (Transformer based) instead of U-Net and employs a single text encoder (Gemma2). The AutoEncoder (AE) is not compatible with SDXL/SD3/FLUX. +* **Arguments:** Options exist to specify the Lumina Image 2.0 model, Gemma2 text encoder and AE. With a single `.safetensors` file, these components are typically provided separately. +* **Incompatible arguments:** Stable Diffusion v1/v2 options such as `--v2`, `--v_parameterization` and `--clip_skip` are not used. +* **Lumina specific options:** Additional parameters for timestep sampling, model prediction type, discrete flow shift, and system prompt. + +
+日本語 +`lumina_train_network.py`は`train_network.py`をベースに、Lumina Image 2.0モデルに対応するための変更が加えられています。主な違いは以下の通りです。 + +* **対象モデル:** Lumina Image 2.0モデルを対象とします。 +* **モデル構造:** U-Netの代わりにNext-DiT (Transformerベース) を使用します。Text EncoderとしてGemma2を単体で使用し、専用のAutoEncoder (AE) を使用します。 +* **引数:** Lumina Image 2.0モデル、Gemma2 Text Encoder、AEを指定する引数があります。通常、これらのコンポーネントは個別に提供されます。 +* **一部引数の非互換性:** Stable Diffusion v1/v2向けの引数(例: `--v2`, `--v_parameterization`, `--clip_skip`)はLumina Image 2.0の学習では使用されません。 +* **Lumina特有の引数:** タイムステップのサンプリング、モデル予測タイプ、離散フローシフト、システムプロンプトに関する引数が追加されています。 +
+ +## 3. Preparation / 準備 + +The following files are required before starting training: + +1. **Training script:** `lumina_train_network.py` +2. **Lumina Image 2.0 model file:** `.safetensors` file for the base model. +3. **Gemma2 text encoder file:** `.safetensors` file for the text encoder. +4. **AutoEncoder (AE) file:** `.safetensors` file for the AE. +5. **Dataset definition file (.toml):** Dataset settings in TOML format. (See the [Dataset Configuration Guide](link/to/dataset/config/doc).) In this document we use `my_lumina_dataset_config.toml` as an example. + +
+日本語 +学習を開始する前に、以下のファイルが必要です。 + +1. **学習スクリプト:** `lumina_train_network.py` +2. **Lumina Image 2.0モデルファイル:** 学習のベースとなるLumina Image 2.0モデルの`.safetensors`ファイル。 +3. **Gemma2テキストエンコーダーファイル:** Gemma2テキストエンコーダーの`.safetensors`ファイル。 +4. **AutoEncoder (AE) ファイル:** AEの`.safetensors`ファイル。 +5. **データセット定義ファイル (.toml):** 学習データセットの設定を記述したTOML形式のファイル。(詳細は[データセット設定ガイド](link/to/dataset/config/doc)を参照してください)。 + * 例として`my_lumina_dataset_config.toml`を使用します。 +
+ +## 4. Running the Training / 学習の実行 + +Execute `lumina_train_network.py` from the terminal to start training. The overall command-line format is the same as `train_network.py`, but Lumina Image 2.0 specific options must be supplied. + +Example command: + +```bash +accelerate launch --num_cpu_threads_per_process 1 lumina_train_network.py \ + --pretrained_model_name_or_path="lumina-image-2.safetensors" \ + --gemma2="gemma-2-2b.safetensors" \ + --ae="ae.safetensors" \ + --dataset_config="my_lumina_dataset_config.toml" \ + --output_dir="./output" \ + --output_name="my_lumina_lora" \ + --save_model_as=safetensors \ + --network_module=networks.lora_lumina \ + --network_dim=8 \ + --network_alpha=8 \ + --learning_rate=1e-4 \ + --optimizer_type="AdamW" \ + --lr_scheduler="constant" \ + --timestep_sampling="nextdit_shift" \ + --discrete_flow_shift=6.0 \ + --model_prediction_type="raw" \ + --guidance_scale=4.0 \ + --system_prompt="You are an assistant designed to generate high-quality images based on user prompts." \ + --use_flash_attn \ + --max_train_epochs=10 \ + --save_every_n_epochs=1 \ + --mixed_precision="bf16" \ + --gradient_checkpointing \ + --cache_latents \ + --cache_text_encoder_outputs +``` + +*(Write the command on one line or use `\` or `^` for line breaks.)* + +
+日本語 +学習は、ターミナルから`lumina_train_network.py`を実行することで開始します。基本的なコマンドラインの構造は`train_network.py`と同様ですが、Lumina Image 2.0特有の引数を指定する必要があります。 + +以下に、基本的なコマンドライン実行例を示します。 + +```bash +accelerate launch --num_cpu_threads_per_process 1 lumina_train_network.py \ + --pretrained_model_name_or_path="lumina-image-2.safetensors" \ + --gemma2="gemma-2-2b.safetensors" \ + --ae="ae.safetensors" \ + --dataset_config="my_lumina_dataset_config.toml" \ + --output_dir="./output" \ + --output_name="my_lumina_lora" \ + --save_model_as=safetensors \ + --network_module=networks.lora_lumina \ + --network_dim=8 \ + --network_alpha=8 \ + --learning_rate=1e-4 \ + --optimizer_type="AdamW" \ + --lr_scheduler="constant" \ + --timestep_sampling="nextdit_shift" \ + --discrete_flow_shift=6.0 \ + --model_prediction_type="raw" \ + --guidance_scale=4.0 \ + --system_prompt="You are an assistant designed to generate high-quality images based on user prompts." \ + --use_flash_attn \ + --max_train_epochs=10 \ + --save_every_n_epochs=1 \ + --mixed_precision="bf16" \ + --gradient_checkpointing \ + --cache_latents \ + --cache_text_encoder_outputs +``` + +※実際には1行で書くか、適切な改行文字(`\` または `^`)を使用してください。 +
+ +### 4.1. Explanation of Key Options / 主要なコマンドライン引数の解説 + +Besides the arguments explained in the [train_network.py guide](train_network.md), specify the following Lumina Image 2.0 options. For shared options (`--output_dir`, `--output_name`, etc.), see that guide. + +#### Model Options / モデル関連 + +* `--pretrained_model_name_or_path=""` **required** – Path to the Lumina Image 2.0 model. +* `--gemma2=""` **required** – Path to the Gemma2 text encoder `.safetensors` file. +* `--ae=""` **required** – Path to the AutoEncoder `.safetensors` file. + +#### Lumina Image 2.0 Training Parameters / Lumina Image 2.0 学習パラメータ + +* `--gemma2_max_token_length=` – Max token length for Gemma2. Default varies by model. +* `--timestep_sampling=` – Timestep sampling method. Options: `sigma`, `uniform`, `sigmoid`, `shift`, `nextdit_shift`. Default `sigma`. **Recommended: `nextdit_shift`** +* `--discrete_flow_shift=` – Discrete flow shift for the Euler Discrete Scheduler. Default `6.0`. +* `--model_prediction_type=` – Model prediction processing method. Options: `raw`, `additive`, `sigma_scaled`. Default `sigma_scaled`. **Recommended: `raw`** +* `--guidance_scale=` – Guidance scale for training. **Recommended: `4.0`** +* `--system_prompt=` – System prompt to prepend to all prompts. Recommended: `"You are an assistant designed to generate high-quality images based on user prompts."` or `"You are an assistant designed to generate high-quality images with the highest degree of image-text alignment based on textual prompts."` +* `--use_flash_attn` – Use Flash Attention. Requires `pip install flash-attn`. +* `--use_sage_attn` – Use Sage Attention. +* `--sigmoid_scale=` – Scale factor for sigmoid timestep sampling. Default `1.0`. + +#### Memory and Speed / メモリ・速度関連 + +* `--blocks_to_swap=` **[experimental]** – Swap a number of Transformer blocks between CPU and GPU. More blocks reduce VRAM but slow training. Cannot be used with `--cpu_offload_checkpointing`. +* `--cache_text_encoder_outputs` – Cache Gemma2 outputs to reduce memory usage. +* `--cache_latents`, `--cache_latents_to_disk` – Cache AE outputs. +* `--fp8_base` – Use FP8 precision for the base model. + +#### Network Arguments / ネットワーク引数 + +For Lumina Image 2.0, you can specify different dimensions for various components: + +* `--network_args` can include: + * `"attn_dim=4"` – Attention dimension + * `"mlp_dim=4"` – MLP dimension + * `"mod_dim=4"` – Modulation dimension + * `"refiner_dim=4"` – Refiner blocks dimension + * `"embedder_dims=[4,4,4]"` – Embedder dimensions for x, t, and caption embedders + +#### Incompatible or Deprecated Options / 非互換・非推奨の引数 + +* `--v2`, `--v_parameterization`, `--clip_skip` – Options for Stable Diffusion v1/v2 that are not used for Lumina Image 2.0. + +
+日本語 +[`train_network.py`のガイド](train_network.md)で説明されている引数に加え、以下のLumina Image 2.0特有の引数を指定します。共通の引数については、上記ガイドを参照してください。 + +#### モデル関連 + +* `--pretrained_model_name_or_path=""` **[必須]** + * 学習のベースとなるLumina Image 2.0モデルの`.safetensors`ファイルのパスを指定します。 +* `--gemma2=""` **[必須]** + * Gemma2テキストエンコーダーの`.safetensors`ファイルのパスを指定します。 +* `--ae=""` **[必須]** + * AutoEncoderの`.safetensors`ファイルのパスを指定します。 + +#### Lumina Image 2.0 学習パラメータ + +* `--gemma2_max_token_length=` – Gemma2で使用するトークンの最大長を指定します。デフォルトはモデルによって異なります。 +* `--timestep_sampling=` – タイムステップのサンプリング方法を指定します。`sigma`, `uniform`, `sigmoid`, `shift`, `nextdit_shift`から選択します。デフォルトは`sigma`です。**推奨: `nextdit_shift`** +* `--discrete_flow_shift=` – Euler Discrete Schedulerの離散フローシフトを指定します。デフォルトは`6.0`です。 +* `--model_prediction_type=` – モデル予測の処理方法を指定します。`raw`, `additive`, `sigma_scaled`から選択します。デフォルトは`sigma_scaled`です。**推奨: `raw`** +* `--guidance_scale=` – 学習時のガイダンススケールを指定します。**推奨: `4.0`** +* `--system_prompt=` – 全てのプロンプトに前置するシステムプロンプトを指定します。推奨: `"You are an assistant designed to generate high-quality images based on user prompts."` または `"You are an assistant designed to generate high-quality images with the highest degree of image-text alignment based on textual prompts."` +* `--use_flash_attn` – Flash Attentionを使用します。`pip install flash-attn`が必要です。 +* `--use_sage_attn` – Sage Attentionを使用します。 +* `--sigmoid_scale=` – sigmoidタイムステップサンプリングのスケール係数を指定します。デフォルトは`1.0`です。 + +#### メモリ・速度関連 + +* `--blocks_to_swap=` **[実験的機能]** – TransformerブロックをCPUとGPUでスワップしてVRAMを節約します。`--cpu_offload_checkpointing`とは併用できません。 +* `--cache_text_encoder_outputs` – Gemma2の出力をキャッシュしてメモリ使用量を削減します。 +* `--cache_latents`, `--cache_latents_to_disk` – AEの出力をキャッシュします。 +* `--fp8_base` – ベースモデルにFP8精度を使用します。 + +#### ネットワーク引数 + +Lumina Image 2.0では、各コンポーネントに対して異なる次元を指定できます: + +* `--network_args` には以下を含めることができます: + * `"attn_dim=4"` – アテンション次元 + * `"mlp_dim=4"` – MLP次元 + * `"mod_dim=4"` – モジュレーション次元 + * `"refiner_dim=4"` – リファイナーブロック次元 + * `"embedder_dims=[4,4,4]"` – x、t、キャプションエンベッダーのエンベッダー次元 + +#### 非互換・非推奨の引数 + +* `--v2`, `--v_parameterization`, `--clip_skip` – Stable Diffusion v1/v2向けの引数のため、Lumina Image 2.0学習では使用されません。 +
+ +### 4.2. Starting Training / 学習の開始 + +After setting the required arguments, run the command to begin training. The overall flow and how to check logs are the same as in the [train_network.py guide](train_network.md#32-starting-the-training--学習の開始). + +## 5. Using the Trained Model / 学習済みモデルの利用 + +When training finishes, a LoRA model file (e.g. `my_lumina_lora.safetensors`) is saved in the directory specified by `output_dir`. Use this file with inference environments that support Lumina Image 2.0, such as ComfyUI with appropriate nodes. + +## 6. Others / その他 + +`lumina_train_network.py` shares many features with `train_network.py`, such as sample image generation (`--sample_prompts`, etc.) and detailed optimizer settings. For these, see the [train_network.py guide](train_network.md#5-other-features--その他の機能) or run `python lumina_train_network.py --help`. + +### 6.1. Recommended Settings / 推奨設定 + +Based on the contributor's recommendations, here are the suggested settings for optimal training: + +**Model Files:** +* Lumina Image 2.0: `lumina-image-2.safetensors` ([full precision link](https://huggingface.co/rockerBOO/lumina-image-2/blob/main/lumina-image-2.safetensors)) or `lumina_2_model_bf16.safetensors` ([bf16 link](https://huggingface.co/Comfy-Org/Lumina_Image_2.0_Repackaged/blob/main/split_files/diffusion_models/lumina_2_model_bf16.safetensors)) +* Gemma2 2B (fp16): `gemma-2-2b.safetensors` ([link](https://huggingface.co/Comfy-Org/Lumina_Image_2.0_Repackaged/blob/main/split_files/text_encoders/gemma_2_2b_fp16.safetensors)) +* AutoEncoder: `ae.safetensors` ([link](https://huggingface.co/Comfy-Org/Lumina_Image_2.0_Repackaged/blob/main/split_files/vae/ae.safetensors)) (same as FLUX) + +**Key Parameters:** +* `--timestep_sampling="nextdit_shift"` +* `--discrete_flow_shift=6.0` +* `--model_prediction_type="raw"` +* `--guidance_scale=4.0` +* `--mixed_precision="bf16"` + +**System Prompts:** +* General purpose: `"You are an assistant designed to generate high-quality images based on user prompts."` +* High image-text alignment: `"You are an assistant designed to generate high-quality images with the highest degree of image-text alignment based on textual prompts."` + +**Sample Prompts:** +Sample prompts can include CFG truncate (`-ct`) and Renorm CFG (`-rc`) parameters: +* `-ct 0.25 -rc 1.0` (default values) + +
+日本語 +必要な引数を設定し、コマンドを実行すると学習が開始されます。基本的な流れやログの確認方法は[`train_network.py`のガイド](train_network.md#32-starting-the-training--学習の開始)と同様です。 + +学習が完了すると、指定した`output_dir`にLoRAモデルファイル(例: `my_lumina_lora.safetensors`)が保存されます。このファイルは、Lumina Image 2.0モデルに対応した推論環境(例: ComfyUI + 適切なノード)で使用できます。 + +`lumina_train_network.py`には、サンプル画像の生成 (`--sample_prompts`など) や詳細なオプティマイザ設定など、`train_network.py`と共通の機能も多く存在します。これらについては、[`train_network.py`のガイド](train_network.md#5-other-features--その他の機能)やスクリプトのヘルプ (`python lumina_train_network.py --help`) を参照してください。 + +### 6.1. 推奨設定 + +コントリビューターの推奨に基づく、最適な学習のための推奨設定: + +**モデルファイル:** +* Lumina Image 2.0: `lumina-image-2.safetensors` ([full precisionリンク](https://huggingface.co/rockerBOO/lumina-image-2/blob/main/lumina-image-2.safetensors)) または `lumina_2_model_bf16.safetensors` ([bf16リンク](https://huggingface.co/Comfy-Org/Lumina_Image_2.0_Repackaged/blob/main/split_files/diffusion_models/lumina_2_model_bf16.safetensors)) +* Gemma2 2B (fp16): `gemma-2-2b.safetensors` ([リンク](https://huggingface.co/Comfy-Org/Lumina_Image_2.0_Repackaged/blob/main/split_files/text_encoders/gemma_2_2b_fp16.safetensors)) +* AutoEncoder: `ae.safetensors` ([リンク](https://huggingface.co/Comfy-Org/Lumina_Image_2.0_Repackaged/blob/main/split_files/vae/ae.safetensors)) (FLUXと同じ) + +**主要パラメータ:** +* `--timestep_sampling="nextdit_shift"` +* `--discrete_flow_shift=6.0` +* `--model_prediction_type="raw"` +* `--guidance_scale=4.0` +* `--mixed_precision="bf16"` + +**システムプロンプト:** +* 汎用目的: `"You are an assistant designed to generate high-quality images based on user prompts."` +* 高い画像-テキスト整合性: `"You are an assistant designed to generate high-quality images with the highest degree of image-text alignment based on textual prompts."` + +**サンプルプロンプト:** +サンプルプロンプトには CFG truncate (`-ct`) と Renorm CFG (`-rc`) パラメータを含めることができます: +* `-ct 0.25 -rc 1.0` (デフォルト値) +
\ No newline at end of file From 8a72f56c9f65d24646b3db8a902a74b077e07106 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Fri, 11 Jul 2025 22:14:16 +0900 Subject: [PATCH 602/748] fix: clarify Flash Attention usage in lumina training guide --- docs/lumina_train_network.md | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/docs/lumina_train_network.md b/docs/lumina_train_network.md index 1c3794abc..2872f513c 100644 --- a/docs/lumina_train_network.md +++ b/docs/lumina_train_network.md @@ -18,7 +18,6 @@ This guide assumes you already understand the basics of LoRA training. For commo
日本語 -ステータス:内容を一通り確認した `lumina_train_network.py`は、Lumina Image 2.0モデルに対してLoRAなどの追加ネットワークを学習させるためのスクリプトです。Lumina Image 2.0は、Next-DiT (Next-generation Diffusion Transformer) と呼ばれる新しいアーキテクチャを採用しており、従来のStable Diffusionモデルとは構造が異なります。テキストエンコーダーとしてGemma2を単体で使用し、専用のAutoEncoder (AE) を使用します。 @@ -100,7 +99,6 @@ accelerate launch --num_cpu_threads_per_process 1 lumina_train_network.py \ --model_prediction_type="raw" \ --guidance_scale=4.0 \ --system_prompt="You are an assistant designed to generate high-quality images based on user prompts." \ - --use_flash_attn \ --max_train_epochs=10 \ --save_every_n_epochs=1 \ --mixed_precision="bf16" \ @@ -137,7 +135,6 @@ accelerate launch --num_cpu_threads_per_process 1 lumina_train_network.py \ --model_prediction_type="raw" \ --guidance_scale=4.0 \ --system_prompt="You are an assistant designed to generate high-quality images based on user prompts." \ - --use_flash_attn \ --max_train_epochs=10 \ --save_every_n_epochs=1 \ --mixed_precision="bf16" \ @@ -167,8 +164,7 @@ Besides the arguments explained in the [train_network.py guide](train_network.md * `--model_prediction_type=` – Model prediction processing method. Options: `raw`, `additive`, `sigma_scaled`. Default `sigma_scaled`. **Recommended: `raw`** * `--guidance_scale=` – Guidance scale for training. **Recommended: `4.0`** * `--system_prompt=` – System prompt to prepend to all prompts. Recommended: `"You are an assistant designed to generate high-quality images based on user prompts."` or `"You are an assistant designed to generate high-quality images with the highest degree of image-text alignment based on textual prompts."` -* `--use_flash_attn` – Use Flash Attention. Requires `pip install flash-attn`. -* `--use_sage_attn` – Use Sage Attention. +* `--use_flash_attn` – Use Flash Attention. Requires `pip install flash-attn` (may not be supported in all environments). If installed correctly, it speeds up training. * `--sigmoid_scale=` – Scale factor for sigmoid timestep sampling. Default `1.0`. #### Memory and Speed / メモリ・速度関連 @@ -214,8 +210,7 @@ For Lumina Image 2.0, you can specify different dimensions for various component * `--model_prediction_type=` – モデル予測の処理方法を指定します。`raw`, `additive`, `sigma_scaled`から選択します。デフォルトは`sigma_scaled`です。**推奨: `raw`** * `--guidance_scale=` – 学習時のガイダンススケールを指定します。**推奨: `4.0`** * `--system_prompt=` – 全てのプロンプトに前置するシステムプロンプトを指定します。推奨: `"You are an assistant designed to generate high-quality images based on user prompts."` または `"You are an assistant designed to generate high-quality images with the highest degree of image-text alignment based on textual prompts."` -* `--use_flash_attn` – Flash Attentionを使用します。`pip install flash-attn`が必要です。 -* `--use_sage_attn` – Sage Attentionを使用します。 +* `--use_flash_attn` – Flash Attentionを使用します。`pip install flash-attn`でインストールが必要です(環境によってはサポートされていません)。正しくインストールされている場合は、指定すると学習が高速化されます。 * `--sigmoid_scale=` – sigmoidタイムステップサンプリングのスケール係数を指定します。デフォルトは`1.0`です。 #### メモリ・速度関連 From 1a9bf2ab56ef488e7cf1789cf7689977fdeece5d Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 13 Jul 2025 20:45:09 +0900 Subject: [PATCH 603/748] feat: add interactive mode for generating multiple images --- lumina_minimal_inference.py | 125 ++++++++++++++++++++++++++++++------ 1 file changed, 106 insertions(+), 19 deletions(-) diff --git a/lumina_minimal_inference.py b/lumina_minimal_inference.py index 4f9151792..31362c00d 100644 --- a/lumina_minimal_inference.py +++ b/lumina_minimal_inference.py @@ -257,6 +257,11 @@ def setup_parser() -> argparse.ArgumentParser: help="LoRA weights, each argument is a `path;multiplier` (semi-colon separated)", ) parser.add_argument("--merge_lora_weights", action="store_true", help="Merge LoRA weights to model") + parser.add_argument( + "--interactive", + action="store_true", + help="Enable interactive mode for generating multiple images / 対話モードで複数の画像を生成する", + ) return parser @@ -294,9 +299,7 @@ def setup_parser() -> argparse.ArgumentParser: multiplier = 1.0 weights_sd = load_file(weights_file) - lora_model, _ = lora_lumina.create_network_from_weights( - multiplier, None, ae, [gemma2], model, weights_sd, True - ) + lora_model, _ = lora_lumina.create_network_from_weights(multiplier, None, ae, [gemma2], model, weights_sd, True) if args.merge_lora_weights: lora_model.merge_to([gemma2], model, weights_sd) @@ -304,25 +307,109 @@ def setup_parser() -> argparse.ArgumentParser: lora_model.apply_to([gemma2], model) info = lora_model.load_state_dict(weights_sd, strict=True) logger.info(f"Loaded LoRA weights from {weights_file}: {info}") + lora_model.to(device) + lora_model.set_multiplier(multiplier) lora_model.eval() lora_models.append(lora_model) - generate_image( - model, - gemma2, - ae, - args.prompt, - args.system_prompt, - args.seed, - args.image_width, - args.image_height, - args.steps, - args.guidance_scale, - args.negative_prompt, - args, - args.cfg_trunc_ratio, - args.renorm_cfg, - ) + if not args.interactive: + generate_image( + model, + gemma2, + ae, + args.prompt, + args.system_prompt, + args.seed, + args.image_width, + args.image_height, + args.steps, + args.guidance_scale, + args.negative_prompt, + args, + args.cfg_trunc_ratio, + args.renorm_cfg, + ) + else: + # Interactive mode loop + image_width = args.image_width + image_height = args.image_height + steps = args.steps + guidance_scale = args.guidance_scale + cfg_trunc_ratio = args.cfg_trunc_ratio + renorm_cfg = args.renorm_cfg + + print("Entering interactive mode.") + while True: + print( + "\nEnter prompt (or 'exit'). Options: --w --h --s --d --g --n --ctr --rcfg --m " + ) + user_input = input() + if user_input.lower() == "exit": + break + if not user_input: + continue + + # Parse options + options = user_input.split("--") + prompt = options[0].strip() + + # Set defaults for each generation + seed = None # New random seed each time unless specified + negative_prompt = args.negative_prompt # Reset to default + + for opt in options[1:]: + try: + opt = opt.strip() + if not opt: + continue + + key, value = (opt.split(None, 1) + [""])[:2] + + if key == "w": + image_width = int(value) + elif key == "h": + image_height = int(value) + elif key == "s": + steps = int(value) + elif key == "d": + seed = int(value) + elif key == "g": + guidance_scale = float(value) + elif key == "n": + negative_prompt = value if value != "-" else "" + elif key == "ctr": + cfg_trunc_ratio = float(value) + elif key == "rcfg": + renorm_cfg = float(value) + elif key == "m": + multipliers = value.split(",") + if len(multipliers) != len(lora_models): + logger.error(f"Invalid number of multipliers, expected {len(lora_models)}") + continue + for i, lora_model in enumerate(lora_models): + lora_model.set_multiplier(float(multipliers[i].strip())) + else: + logger.warning(f"Unknown option: --{key}") + + except (ValueError, IndexError) as e: + logger.error(f"Invalid value for option --{key}: '{value}'. Error: {e}") + + generate_image( + model, + gemma2, + ae, + prompt, + args.system_prompt, + seed, + image_width, + image_height, + steps, + guidance_scale, + negative_prompt, + args, + cfg_trunc_ratio, + renorm_cfg, + ) logger.info("Done.") From 88dc3213a90fffce3586e2f87fa74cb106488f5a Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 13 Jul 2025 20:46:24 +0900 Subject: [PATCH 604/748] fix: support LoRA w/o TE for create_network_from_weights --- networks/lora_lumina.py | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/networks/lora_lumina.py b/networks/lora_lumina.py index e4149b4ab..0929e8390 100644 --- a/networks/lora_lumina.py +++ b/networks/lora_lumina.py @@ -562,23 +562,26 @@ def create_modules( # Set dim/alpha to modules dim/alpha if modules_dim is not None and modules_alpha is not None: - # モジュール指定あり + # network from weights if lora_name in modules_dim: dim = modules_dim[lora_name] alpha = modules_alpha[lora_name] - - # Set dims to type_dims - if is_lumina and type_dims is not None: - identifier = [ - ("attention",), # attention layers - ("mlp",), # MLP layers - ("modulation",), # modulation layers - ("refiner",), # refiner blocks - ] - for i, d in enumerate(type_dims): - if d is not None and all([id in lora_name for id in identifier[i]]): - dim = d # may be 0 for skip - break + else: + dim = 0 # skip if not found + + else: + # Set dims to type_dims + if is_lumina and type_dims is not None: + identifier = [ + ("attention",), # attention layers + ("mlp",), # MLP layers + ("modulation",), # modulation layers + ("refiner",), # refiner blocks + ] + for i, d in enumerate(type_dims): + if d is not None and all([id in lora_name for id in identifier[i]]): + dim = d # may be 0 for skip + break # Drop blocks if we are only training some blocks if ( From 88960e63094bcb96fae318c526867fe409fade18 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 13 Jul 2025 20:49:38 +0900 Subject: [PATCH 605/748] doc: update lumina LoRA training guide --- docs/lumina_train_network.md | 42 ++++++++++++++++-------------------- library/lumina_train_util.py | 4 ++-- 2 files changed, 20 insertions(+), 26 deletions(-) diff --git a/docs/lumina_train_network.md b/docs/lumina_train_network.md index 2872f513c..e811f68b2 100644 --- a/docs/lumina_train_network.md +++ b/docs/lumina_train_network.md @@ -8,12 +8,12 @@ This document explains how to train LoRA (Low-Rank Adaptation) models for Lumina `lumina_train_network.py` trains additional networks such as LoRA for Lumina Image 2.0 models. Lumina Image 2.0 adopts a Next-DiT (Next-generation Diffusion Transformer) architecture, which differs from previous Stable Diffusion models. It uses a single text encoder (Gemma2) and a dedicated AutoEncoder (AE). -This guide assumes you already understand the basics of LoRA training. For common usage and options, see the [train_network.py guide](train_network.md). Some parameters are similar to those in [`sd3_train_network.py`](sd3_train_network.md) and [`flux_train_network.py`](flux_train_network.md). +This guide assumes you already understand the basics of LoRA training. For common usage and options, see the train_network.py guide (to be documented). Some parameters are similar to those in [`sd3_train_network.py`](sd3_train_network.md) and [`flux_train_network.py`](flux_train_network.md). **Prerequisites:** * The `sd-scripts` repository has been cloned and the Python environment is ready. -* A training dataset has been prepared. See the [Dataset Configuration Guide](link/to/dataset/config/doc). +* A training dataset has been prepared. See the [Dataset Configuration Guide](./config_README-en.md). * Lumina Image 2.0 model files for training are available.
@@ -21,12 +21,12 @@ This guide assumes you already understand the basics of LoRA training. For commo `lumina_train_network.py`は、Lumina Image 2.0モデルに対してLoRAなどの追加ネットワークを学習させるためのスクリプトです。Lumina Image 2.0は、Next-DiT (Next-generation Diffusion Transformer) と呼ばれる新しいアーキテクチャを採用しており、従来のStable Diffusionモデルとは構造が異なります。テキストエンコーダーとしてGemma2を単体で使用し、専用のAutoEncoder (AE) を使用します。 -このガイドは、基本的なLoRA学習の手順を理解しているユーザーを対象としています。基本的な使い方や共通のオプションについては、[`train_network.py`のガイド](train_network.md)を参照してください。また一部のパラメータは [`sd3_train_network.py`](sd3_train_network.md) や [`flux_train_network.py`](flux_train_network.md) と同様のものがあるため、そちらも参考にしてください。 +このガイドは、基本的なLoRA学習の手順を理解しているユーザーを対象としています。基本的な使い方や共通のオプションについては、`train_network.py`のガイド(作成中)を参照してください。また一部のパラメータは [`sd3_train_network.py`](sd3_train_network.md) や [`flux_train_network.py`](flux_train_network.md) と同様のものがあるため、そちらも参考にしてください。 **前提条件:** * `sd-scripts`リポジトリのクローンとPython環境のセットアップが完了していること。 -* 学習用データセットの準備が完了していること。(データセットの準備については[データセット設定ガイド](link/to/dataset/config/doc)を参照してください) +* 学習用データセットの準備が完了していること。(データセットの準備については[データセット設定ガイド](./config_README-en.md)を参照してください) * 学習対象のLumina Image 2.0モデルファイルが準備できていること。
@@ -59,7 +59,14 @@ The following files are required before starting training: 2. **Lumina Image 2.0 model file:** `.safetensors` file for the base model. 3. **Gemma2 text encoder file:** `.safetensors` file for the text encoder. 4. **AutoEncoder (AE) file:** `.safetensors` file for the AE. -5. **Dataset definition file (.toml):** Dataset settings in TOML format. (See the [Dataset Configuration Guide](link/to/dataset/config/doc).) In this document we use `my_lumina_dataset_config.toml` as an example. +5. **Dataset definition file (.toml):** Dataset settings in TOML format. (See the [Dataset Configuration Guide](./config_README-en.md). In this document we use `my_lumina_dataset_config.toml` as an example. + + +**Model Files:** +* Lumina Image 2.0: `lumina-image-2.safetensors` ([full precision link](https://huggingface.co/rockerBOO/lumina-image-2/blob/main/lumina-image-2.safetensors)) or `lumina_2_model_bf16.safetensors` ([bf16 link](https://huggingface.co/Comfy-Org/Lumina_Image_2.0_Repackaged/blob/main/split_files/diffusion_models/lumina_2_model_bf16.safetensors)) +* Gemma2 2B (fp16): `gemma-2-2b.safetensors` ([link](https://huggingface.co/Comfy-Org/Lumina_Image_2.0_Repackaged/blob/main/split_files/text_encoders/gemma_2_2b_fp16.safetensors)) +* AutoEncoder: `ae.safetensors` ([link](https://huggingface.co/Comfy-Org/Lumina_Image_2.0_Repackaged/blob/main/split_files/vae/ae.safetensors)) (same as FLUX) +
日本語 @@ -69,8 +76,11 @@ The following files are required before starting training: 2. **Lumina Image 2.0モデルファイル:** 学習のベースとなるLumina Image 2.0モデルの`.safetensors`ファイル。 3. **Gemma2テキストエンコーダーファイル:** Gemma2テキストエンコーダーの`.safetensors`ファイル。 4. **AutoEncoder (AE) ファイル:** AEの`.safetensors`ファイル。 -5. **データセット定義ファイル (.toml):** 学習データセットの設定を記述したTOML形式のファイル。(詳細は[データセット設定ガイド](link/to/dataset/config/doc)を参照してください)。 +5. **データセット定義ファイル (.toml):** 学習データセットの設定を記述したTOML形式のファイル。(詳細は[データセット設定ガイド](./config_README-en.md)を参照してください)。 * 例として`my_lumina_dataset_config.toml`を使用します。 + +**モデルファイル** は英語ドキュメントの通りです。 +
## 4. Running the Training / 学習の実行 @@ -97,7 +107,6 @@ accelerate launch --num_cpu_threads_per_process 1 lumina_train_network.py \ --timestep_sampling="nextdit_shift" \ --discrete_flow_shift=6.0 \ --model_prediction_type="raw" \ - --guidance_scale=4.0 \ --system_prompt="You are an assistant designed to generate high-quality images based on user prompts." \ --max_train_epochs=10 \ --save_every_n_epochs=1 \ @@ -133,7 +142,6 @@ accelerate launch --num_cpu_threads_per_process 1 lumina_train_network.py \ --timestep_sampling="nextdit_shift" \ --discrete_flow_shift=6.0 \ --model_prediction_type="raw" \ - --guidance_scale=4.0 \ --system_prompt="You are an assistant designed to generate high-quality images based on user prompts." \ --max_train_epochs=10 \ --save_every_n_epochs=1 \ @@ -158,11 +166,10 @@ Besides the arguments explained in the [train_network.py guide](train_network.md #### Lumina Image 2.0 Training Parameters / Lumina Image 2.0 学習パラメータ -* `--gemma2_max_token_length=` – Max token length for Gemma2. Default varies by model. +* `--gemma2_max_token_length=` – Max token length for Gemma2. Default is 256. * `--timestep_sampling=` – Timestep sampling method. Options: `sigma`, `uniform`, `sigmoid`, `shift`, `nextdit_shift`. Default `sigma`. **Recommended: `nextdit_shift`** * `--discrete_flow_shift=` – Discrete flow shift for the Euler Discrete Scheduler. Default `6.0`. * `--model_prediction_type=` – Model prediction processing method. Options: `raw`, `additive`, `sigma_scaled`. Default `sigma_scaled`. **Recommended: `raw`** -* `--guidance_scale=` – Guidance scale for training. **Recommended: `4.0`** * `--system_prompt=` – System prompt to prepend to all prompts. Recommended: `"You are an assistant designed to generate high-quality images based on user prompts."` or `"You are an assistant designed to generate high-quality images with the highest degree of image-text alignment based on textual prompts."` * `--use_flash_attn` – Use Flash Attention. Requires `pip install flash-attn` (may not be supported in all environments). If installed correctly, it speeds up training. * `--sigmoid_scale=` – Scale factor for sigmoid timestep sampling. Default `1.0`. @@ -204,11 +211,10 @@ For Lumina Image 2.0, you can specify different dimensions for various component #### Lumina Image 2.0 学習パラメータ -* `--gemma2_max_token_length=` – Gemma2で使用するトークンの最大長を指定します。デフォルトはモデルによって異なります。 +* `--gemma2_max_token_length=` – Gemma2で使用するトークンの最大長を指定します。デフォルトは256です。 * `--timestep_sampling=` – タイムステップのサンプリング方法を指定します。`sigma`, `uniform`, `sigmoid`, `shift`, `nextdit_shift`から選択します。デフォルトは`sigma`です。**推奨: `nextdit_shift`** * `--discrete_flow_shift=` – Euler Discrete Schedulerの離散フローシフトを指定します。デフォルトは`6.0`です。 * `--model_prediction_type=` – モデル予測の処理方法を指定します。`raw`, `additive`, `sigma_scaled`から選択します。デフォルトは`sigma_scaled`です。**推奨: `raw`** -* `--guidance_scale=` – 学習時のガイダンススケールを指定します。**推奨: `4.0`** * `--system_prompt=` – 全てのプロンプトに前置するシステムプロンプトを指定します。推奨: `"You are an assistant designed to generate high-quality images based on user prompts."` または `"You are an assistant designed to generate high-quality images with the highest degree of image-text alignment based on textual prompts."` * `--use_flash_attn` – Flash Attentionを使用します。`pip install flash-attn`でインストールが必要です(環境によってはサポートされていません)。正しくインストールされている場合は、指定すると学習が高速化されます。 * `--sigmoid_scale=` – sigmoidタイムステップサンプリングのスケール係数を指定します。デフォルトは`1.0`です。 @@ -252,16 +258,10 @@ When training finishes, a LoRA model file (e.g. `my_lumina_lora.safetensors`) is Based on the contributor's recommendations, here are the suggested settings for optimal training: -**Model Files:** -* Lumina Image 2.0: `lumina-image-2.safetensors` ([full precision link](https://huggingface.co/rockerBOO/lumina-image-2/blob/main/lumina-image-2.safetensors)) or `lumina_2_model_bf16.safetensors` ([bf16 link](https://huggingface.co/Comfy-Org/Lumina_Image_2.0_Repackaged/blob/main/split_files/diffusion_models/lumina_2_model_bf16.safetensors)) -* Gemma2 2B (fp16): `gemma-2-2b.safetensors` ([link](https://huggingface.co/Comfy-Org/Lumina_Image_2.0_Repackaged/blob/main/split_files/text_encoders/gemma_2_2b_fp16.safetensors)) -* AutoEncoder: `ae.safetensors` ([link](https://huggingface.co/Comfy-Org/Lumina_Image_2.0_Repackaged/blob/main/split_files/vae/ae.safetensors)) (same as FLUX) - **Key Parameters:** * `--timestep_sampling="nextdit_shift"` * `--discrete_flow_shift=6.0` * `--model_prediction_type="raw"` -* `--guidance_scale=4.0` * `--mixed_precision="bf16"` **System Prompts:** @@ -284,16 +284,10 @@ Sample prompts can include CFG truncate (`-ct`) and Renorm CFG (`-rc`) parameter コントリビューターの推奨に基づく、最適な学習のための推奨設定: -**モデルファイル:** -* Lumina Image 2.0: `lumina-image-2.safetensors` ([full precisionリンク](https://huggingface.co/rockerBOO/lumina-image-2/blob/main/lumina-image-2.safetensors)) または `lumina_2_model_bf16.safetensors` ([bf16リンク](https://huggingface.co/Comfy-Org/Lumina_Image_2.0_Repackaged/blob/main/split_files/diffusion_models/lumina_2_model_bf16.safetensors)) -* Gemma2 2B (fp16): `gemma-2-2b.safetensors` ([リンク](https://huggingface.co/Comfy-Org/Lumina_Image_2.0_Repackaged/blob/main/split_files/text_encoders/gemma_2_2b_fp16.safetensors)) -* AutoEncoder: `ae.safetensors` ([リンク](https://huggingface.co/Comfy-Org/Lumina_Image_2.0_Repackaged/blob/main/split_files/vae/ae.safetensors)) (FLUXと同じ) - **主要パラメータ:** * `--timestep_sampling="nextdit_shift"` * `--discrete_flow_shift=6.0` * `--model_prediction_type="raw"` -* `--guidance_scale=4.0` * `--mixed_precision="bf16"` **システムプロンプト:** diff --git a/library/lumina_train_util.py b/library/lumina_train_util.py index 45f22bc47..1cf9278aa 100644 --- a/library/lumina_train_util.py +++ b/library/lumina_train_util.py @@ -1042,8 +1042,8 @@ def add_lumina_train_arguments(parser: argparse.ArgumentParser): "--gemma2_max_token_length", type=int, default=None, - help="maximum token length for Gemma2. if omitted, 256 for schnell and 512 for dev" - " / Gemma2の最大トークン長。省略された場合、schnellの場合は256、devの場合は512", + help="maximum token length for Gemma2. if omitted, 256" + " / Gemma2の最大トークン長。省略された場合、256になります", ) parser.add_argument( From 999df5ec15c900a7dde3ac57c46db048ad988417 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 13 Jul 2025 20:52:00 +0900 Subject: [PATCH 606/748] fix: update default values for timestep_sampling and model_prediction_type in training arguments --- docs/lumina_train_network.md | 8 ++++---- library/lumina_train_util.py | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/lumina_train_network.md b/docs/lumina_train_network.md index e811f68b2..45695e89e 100644 --- a/docs/lumina_train_network.md +++ b/docs/lumina_train_network.md @@ -167,9 +167,9 @@ Besides the arguments explained in the [train_network.py guide](train_network.md #### Lumina Image 2.0 Training Parameters / Lumina Image 2.0 学習パラメータ * `--gemma2_max_token_length=` – Max token length for Gemma2. Default is 256. -* `--timestep_sampling=` – Timestep sampling method. Options: `sigma`, `uniform`, `sigmoid`, `shift`, `nextdit_shift`. Default `sigma`. **Recommended: `nextdit_shift`** +* `--timestep_sampling=` – Timestep sampling method. Options: `sigma`, `uniform`, `sigmoid`, `shift`, `nextdit_shift`. Default `shift`. **Recommended: `nextdit_shift`** * `--discrete_flow_shift=` – Discrete flow shift for the Euler Discrete Scheduler. Default `6.0`. -* `--model_prediction_type=` – Model prediction processing method. Options: `raw`, `additive`, `sigma_scaled`. Default `sigma_scaled`. **Recommended: `raw`** +* `--model_prediction_type=` – Model prediction processing method. Options: `raw`, `additive`, `sigma_scaled`. Default `raw`. **Recommended: `raw`** * `--system_prompt=` – System prompt to prepend to all prompts. Recommended: `"You are an assistant designed to generate high-quality images based on user prompts."` or `"You are an assistant designed to generate high-quality images with the highest degree of image-text alignment based on textual prompts."` * `--use_flash_attn` – Use Flash Attention. Requires `pip install flash-attn` (may not be supported in all environments). If installed correctly, it speeds up training. * `--sigmoid_scale=` – Scale factor for sigmoid timestep sampling. Default `1.0`. @@ -212,9 +212,9 @@ For Lumina Image 2.0, you can specify different dimensions for various component #### Lumina Image 2.0 学習パラメータ * `--gemma2_max_token_length=` – Gemma2で使用するトークンの最大長を指定します。デフォルトは256です。 -* `--timestep_sampling=` – タイムステップのサンプリング方法を指定します。`sigma`, `uniform`, `sigmoid`, `shift`, `nextdit_shift`から選択します。デフォルトは`sigma`です。**推奨: `nextdit_shift`** +* `--timestep_sampling=` – タイムステップのサンプリング方法を指定します。`sigma`, `uniform`, `sigmoid`, `shift`, `nextdit_shift`から選択します。デフォルトは`shift`です。**推奨: `nextdit_shift`** * `--discrete_flow_shift=` – Euler Discrete Schedulerの離散フローシフトを指定します。デフォルトは`6.0`です。 -* `--model_prediction_type=` – モデル予測の処理方法を指定します。`raw`, `additive`, `sigma_scaled`から選択します。デフォルトは`sigma_scaled`です。**推奨: `raw`** +* `--model_prediction_type=` – モデル予測の処理方法を指定します。`raw`, `additive`, `sigma_scaled`から選択します。デフォルトは`raw`です。**推奨: `raw`** * `--system_prompt=` – 全てのプロンプトに前置するシステムプロンプトを指定します。推奨: `"You are an assistant designed to generate high-quality images based on user prompts."` または `"You are an assistant designed to generate high-quality images with the highest degree of image-text alignment based on textual prompts."` * `--use_flash_attn` – Flash Attentionを使用します。`pip install flash-attn`でインストールが必要です(環境によってはサポートされていません)。正しくインストールされている場合は、指定すると学習が高速化されます。 * `--sigmoid_scale=` – sigmoidタイムステップサンプリングのスケール係数を指定します。デフォルトは`1.0`です。 diff --git a/library/lumina_train_util.py b/library/lumina_train_util.py index 1cf9278aa..0645a8ae0 100644 --- a/library/lumina_train_util.py +++ b/library/lumina_train_util.py @@ -1049,9 +1049,9 @@ def add_lumina_train_arguments(parser: argparse.ArgumentParser): parser.add_argument( "--timestep_sampling", choices=["sigma", "uniform", "sigmoid", "shift", "nextdit_shift"], - default="sigma", - help="Method to sample timesteps: sigma-based, uniform random, sigmoid of random normal, shift of sigmoid and NextDIT.1 shifting." - " / タイムステップをサンプリングする方法:sigma、random uniform、random normalのsigmoid、sigmoidのシフト、NextDIT.1のシフト。", + default="shift", + help="Method to sample timesteps: sigma-based, uniform random, sigmoid of random normal, shift of sigmoid and NextDIT.1 shifting. Default is 'shift'." + " / タイムステップをサンプリングする方法:sigma、random uniform、random normalのsigmoid、sigmoidのシフト、NextDIT.1のシフト。デフォルトは'shift'です。", ) parser.add_argument( "--sigmoid_scale", @@ -1062,7 +1062,7 @@ def add_lumina_train_arguments(parser: argparse.ArgumentParser): parser.add_argument( "--model_prediction_type", choices=["raw", "additive", "sigma_scaled"], - default="sigma_scaled", + default="raw", help="How to interpret and process the model prediction: " "raw (use as is), additive (add to noisy input), sigma_scaled (apply sigma scaling)." " / モデル予測の解釈と処理方法:" From 30295c96686c90d4773e12fd5eb248e0a6bd406b Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 13 Jul 2025 21:00:27 +0900 Subject: [PATCH 607/748] fix: update parameter names for CFG truncate and Renorm CFG in documentation and code --- docs/lumina_train_network.md | 10 ++++++---- library/train_util.py | 4 ++-- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/docs/lumina_train_network.md b/docs/lumina_train_network.md index 45695e89e..cb3b600f6 100644 --- a/docs/lumina_train_network.md +++ b/docs/lumina_train_network.md @@ -269,11 +269,12 @@ Based on the contributor's recommendations, here are the suggested settings for * High image-text alignment: `"You are an assistant designed to generate high-quality images with the highest degree of image-text alignment based on textual prompts."` **Sample Prompts:** -Sample prompts can include CFG truncate (`-ct`) and Renorm CFG (`-rc`) parameters: -* `-ct 0.25 -rc 1.0` (default values) +Sample prompts can include CFG truncate (`--ctr`) and Renorm CFG (`-rcfg`) parameters: +* `--ctr 0.25 --rcfg 1.0` (default values)
日本語 + 必要な引数を設定し、コマンドを実行すると学習が開始されます。基本的な流れやログの確認方法は[`train_network.py`のガイド](train_network.md#32-starting-the-training--学習の開始)と同様です。 学習が完了すると、指定した`output_dir`にLoRAモデルファイル(例: `my_lumina_lora.safetensors`)が保存されます。このファイルは、Lumina Image 2.0モデルに対応した推論環境(例: ComfyUI + 適切なノード)で使用できます。 @@ -295,6 +296,7 @@ Sample prompts can include CFG truncate (`-ct`) and Renorm CFG (`-rc`) parameter * 高い画像-テキスト整合性: `"You are an assistant designed to generate high-quality images with the highest degree of image-text alignment based on textual prompts."` **サンプルプロンプト:** -サンプルプロンプトには CFG truncate (`-ct`) と Renorm CFG (`-rc`) パラメータを含めることができます: -* `-ct 0.25 -rc 1.0` (デフォルト値) +サンプルプロンプトには CFG truncate (`--ctr`) と Renorm CFG (`--rcfg`) パラメータを含めることができます: +* `--ctr 0.25 --rcfg 1.0` (デフォルト値) +
\ No newline at end of file diff --git a/library/train_util.py b/library/train_util.py index 1d80bcd85..2e8e9c296 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -6208,12 +6208,12 @@ def line_to_prompt_dict(line: str) -> dict: prompt_dict["controlnet_image"] = m.group(1) continue - m = re.match(r"ct (.+)", parg, re.IGNORECASE) + m = re.match(r"ctr (.+)", parg, re.IGNORECASE) if m: prompt_dict["cfg_trunc_ratio"] = float(m.group(1)) continue - m = re.match(r"rc (.+)", parg, re.IGNORECASE) + m = re.match(r"rcfg (.+)", parg, re.IGNORECASE) if m: prompt_dict["renorm_cfg"] = float(m.group(1)) continue From 13ccfc39f860b9653b2f22ec1619a01ab8ffab90 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 13 Jul 2025 21:26:06 +0900 Subject: [PATCH 608/748] fix: update flow matching loss and variable names --- lumina_train.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lumina_train.py b/lumina_train.py index 0a91f4a0a..a333427db 100644 --- a/lumina_train.py +++ b/lumina_train.py @@ -294,7 +294,7 @@ def train(args): # load lumina nextdit = lumina_util.load_lumina_model( args.pretrained_model_name_or_path, - loading_dtype, + weight_dtype, torch.device("cpu"), disable_mmap=args.disable_mmap_load_safetensors, use_flash_attn=args.use_flash_attn, @@ -494,6 +494,8 @@ def train(args): clean_memory_on_device(accelerator.device) + is_swapping_blocks = args.blocks_to_swap is not None and args.blocks_to_swap > 0 + if args.deepspeed: ds_model = deepspeed_utils.prepare_deepspeed_model(args, nextdit=nextdit) # most of ZeRO stage uses optimizer partitioning, so we have to prepare optimizer and ds_model at the same time. # pull/1139#issuecomment-1986790007 @@ -739,7 +741,7 @@ def grad_hook(parameter: torch.Tensor): with accelerator.autocast(): # YiYi notes: divide it by 1000 for now because we scale it by 1000 in the transformer model (we should not keep it but I want to keep the inputs same for the model for testing) model_pred = nextdit( - x=img, # image latents (B, C, H, W) + x=noisy_model_input, # image latents (B, C, H, W) t=timesteps / 1000, # timesteps需要除以1000来匹配模型预期 cap_feats=gemma2_hidden_states, # Gemma2的hidden states作为caption features cap_mask=gemma2_attn_mask.to( @@ -751,8 +753,8 @@ def grad_hook(parameter: torch.Tensor): args, model_pred, noisy_model_input, sigmas ) - # flow matching loss: this is different from SD3 - target = noise - latents + # flow matching loss + target = latents - noise # calculate loss huber_c = train_util.get_huber_threshold_if_needed( From a96d684ffab11d6f40a8f1dde3c8103ab1d2bd27 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Tue, 15 Jul 2025 20:44:43 +0900 Subject: [PATCH 609/748] feat: add Chroma model implementation --- library/chroma_models.py | 706 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 706 insertions(+) create mode 100644 library/chroma_models.py diff --git a/library/chroma_models.py b/library/chroma_models.py new file mode 100644 index 000000000..9f21afad6 --- /dev/null +++ b/library/chroma_models.py @@ -0,0 +1,706 @@ +# copy from the official repo: https://github.com/lodestone-rock/flow/blob/master/src/models/chroma/model.py +# and modified +# licensed under Apache License 2.0 + +import math +from dataclasses import dataclass + +import torch +from einops import rearrange +from torch import Tensor, nn +import torch.nn.functional as F +import torch.utils.checkpoint as ckpt + +from .flux_models import ( + attention, + rope, + apply_rope, + EmbedND, + timestep_embedding, + MLPEmbedder, + RMSNorm, + QKNorm, + SelfAttention +) +from . import custom_offloading_utils + + +def distribute_modulations(tensor: torch.Tensor, depth_single_blocks, depth_double_blocks): + """ + Distributes slices of the tensor into the block_dict as ModulationOut objects. + + Args: + tensor (torch.Tensor): Input tensor with shape [batch_size, vectors, dim]. + """ + batch_size, vectors, dim = tensor.shape + + block_dict = {} + + # HARD CODED VALUES! lookup table for the generated vectors + # TODO: move this into chroma config! + # Add 38 single mod blocks + for i in range(depth_single_blocks): + key = f"single_blocks.{i}.modulation.lin" + block_dict[key] = None + + # Add 19 image double blocks + for i in range(depth_double_blocks): + key = f"double_blocks.{i}.img_mod.lin" + block_dict[key] = None + + # Add 19 text double blocks + for i in range(depth_double_blocks): + key = f"double_blocks.{i}.txt_mod.lin" + block_dict[key] = None + + # Add the final layer + block_dict["final_layer.adaLN_modulation.1"] = None + # 6.2b version + # block_dict["lite_double_blocks.4.img_mod.lin"] = None + # block_dict["lite_double_blocks.4.txt_mod.lin"] = None + + idx = 0 # Index to keep track of the vector slices + + for key in block_dict.keys(): + if "single_blocks" in key: + # Single block: 1 ModulationOut + block_dict[key] = ModulationOut( + shift=tensor[:, idx : idx + 1, :], + scale=tensor[:, idx + 1 : idx + 2, :], + gate=tensor[:, idx + 2 : idx + 3, :], + ) + idx += 3 # Advance by 3 vectors + + elif "img_mod" in key: + # Double block: List of 2 ModulationOut + double_block = [] + for _ in range(2): # Create 2 ModulationOut objects + double_block.append( + ModulationOut( + shift=tensor[:, idx : idx + 1, :], + scale=tensor[:, idx + 1 : idx + 2, :], + gate=tensor[:, idx + 2 : idx + 3, :], + ) + ) + idx += 3 # Advance by 3 vectors per ModulationOut + block_dict[key] = double_block + + elif "txt_mod" in key: + # Double block: List of 2 ModulationOut + double_block = [] + for _ in range(2): # Create 2 ModulationOut objects + double_block.append( + ModulationOut( + shift=tensor[:, idx : idx + 1, :], + scale=tensor[:, idx + 1 : idx + 2, :], + gate=tensor[:, idx + 2 : idx + 3, :], + ) + ) + idx += 3 # Advance by 3 vectors per ModulationOut + block_dict[key] = double_block + + elif "final_layer" in key: + # Final layer: 1 ModulationOut + block_dict[key] = [ + tensor[:, idx : idx + 1, :], + tensor[:, idx + 1 : idx + 2, :], + ] + idx += 2 # Advance by 3 vectors + + return block_dict + + +class Approximator(nn.Module): + def __init__(self, in_dim: int, out_dim: int, hidden_dim: int, n_layers=4): + super().__init__() + self.in_proj = nn.Linear(in_dim, hidden_dim, bias=True) + self.layers = nn.ModuleList([MLPEmbedder(hidden_dim, hidden_dim) for x in range(n_layers)]) + self.norms = nn.ModuleList([RMSNorm(hidden_dim) for x in range(n_layers)]) + self.out_proj = nn.Linear(hidden_dim, out_dim) + + @property + def device(self): + # Get the device of the module (assumes all parameters are on the same device) + return next(self.parameters()).device + + def enable_gradient_checkpointing(self): + for layer in self.layers: + layer.enable_gradient_checkpointing() + + def disable_gradient_checkpointing(self): + for layer in self.layers: + layer.disable_gradient_checkpointing() + + def forward(self, x: Tensor) -> Tensor: + x = self.in_proj(x) + + for layer, norms in zip(self.layers, self.norms): + x = x + layer(norms(x)) + + x = self.out_proj(x) + + return x + + +@dataclass +class ModulationOut: + shift: Tensor + scale: Tensor + gate: Tensor + + +def _modulation_shift_scale_fn(x, scale, shift): + return (1 + scale) * x + shift + + +def _modulation_gate_fn(x, gate, gate_params): + return x + gate * gate_params + + +class DoubleStreamBlock(nn.Module): + def __init__( + self, + hidden_size: int, + num_heads: int, + mlp_ratio: float, + qkv_bias: bool = False, + ): + super().__init__() + + mlp_hidden_dim = int(hidden_size * mlp_ratio) + self.num_heads = num_heads + self.hidden_size = hidden_size + self.img_norm1 = nn.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6) + self.img_attn = SelfAttention( + dim=hidden_size, + num_heads=num_heads, + qkv_bias=qkv_bias, + ) + + self.img_norm2 = nn.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6) + self.img_mlp = nn.Sequential( + nn.Linear(hidden_size, mlp_hidden_dim, bias=True), + nn.GELU(approximate="tanh"), + nn.Linear(mlp_hidden_dim, hidden_size, bias=True), + ) + + self.txt_norm1 = nn.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6) + self.txt_attn = SelfAttention( + dim=hidden_size, + num_heads=num_heads, + qkv_bias=qkv_bias, + ) + + self.txt_norm2 = nn.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6) + self.txt_mlp = nn.Sequential( + nn.Linear(hidden_size, mlp_hidden_dim, bias=True), + nn.GELU(approximate="tanh"), + nn.Linear(mlp_hidden_dim, hidden_size, bias=True), + ) + + self.gradient_checkpointing = False + + @property + def device(self): + # Get the device of the module (assumes all parameters are on the same device) + return next(self.parameters()).device + + def modulation_shift_scale_fn(self, x, scale, shift): + return _modulation_shift_scale_fn(x, scale, shift) + + def modulation_gate_fn(self, x, gate, gate_params): + return _modulation_gate_fn(x, gate, gate_params) + + def enable_gradient_checkpointing(self): + self.gradient_checkpointing = True + + def disable_gradient_checkpointing(self): + self.gradient_checkpointing = False + + def _forward( + self, + img: Tensor, + txt: Tensor, + pe: Tensor, + distill_vec: list[ModulationOut], + mask: Tensor, + ) -> tuple[Tensor, Tensor]: + (img_mod1, img_mod2), (txt_mod1, txt_mod2) = distill_vec + + # prepare image for attention + img_modulated = self.img_norm1(img) + # replaced with compiled fn + # img_modulated = (1 + img_mod1.scale) * img_modulated + img_mod1.shift + img_modulated = self.modulation_shift_scale_fn(img_modulated, img_mod1.scale, img_mod1.shift) + img_qkv = self.img_attn.qkv(img_modulated) + img_q, img_k, img_v = rearrange(img_qkv, "B L (K H D) -> K B H L D", K=3, H=self.num_heads) + img_q, img_k = self.img_attn.norm(img_q, img_k, img_v) + + # prepare txt for attention + txt_modulated = self.txt_norm1(txt) + # replaced with compiled fn + # txt_modulated = (1 + txt_mod1.scale) * txt_modulated + txt_mod1.shift + txt_modulated = self.modulation_shift_scale_fn(txt_modulated, txt_mod1.scale, txt_mod1.shift) + txt_qkv = self.txt_attn.qkv(txt_modulated) + txt_q, txt_k, txt_v = rearrange(txt_qkv, "B L (K H D) -> K B H L D", K=3, H=self.num_heads) + txt_q, txt_k = self.txt_attn.norm(txt_q, txt_k, txt_v) + + # run actual attention + q = torch.cat((txt_q, img_q), dim=2) + k = torch.cat((txt_k, img_k), dim=2) + v = torch.cat((txt_v, img_v), dim=2) + + attn = attention(q, k, v, pe=pe, mask=mask) + txt_attn, img_attn = attn[:, : txt.shape[1]], attn[:, txt.shape[1] :] + + # calculate the img bloks + # replaced with compiled fn + # img = img + img_mod1.gate * self.img_attn.proj(img_attn) + # img = img + img_mod2.gate * self.img_mlp((1 + img_mod2.scale) * self.img_norm2(img) + img_mod2.shift) + img = self.modulation_gate_fn(img, img_mod1.gate, self.img_attn.proj(img_attn)) + img = self.modulation_gate_fn( + img, + img_mod2.gate, + self.img_mlp(self.modulation_shift_scale_fn(self.img_norm2(img), img_mod2.scale, img_mod2.shift)), + ) + + # calculate the txt bloks + # replaced with compiled fn + # txt = txt + txt_mod1.gate * self.txt_attn.proj(txt_attn) + # txt = txt + txt_mod2.gate * self.txt_mlp((1 + txt_mod2.scale) * self.txt_norm2(txt) + txt_mod2.shift) + txt = self.modulation_gate_fn(txt, txt_mod1.gate, self.txt_attn.proj(txt_attn)) + txt = self.modulation_gate_fn( + txt, + txt_mod2.gate, + self.txt_mlp(self.modulation_shift_scale_fn(self.txt_norm2(txt), txt_mod2.scale, txt_mod2.shift)), + ) + + return img, txt + + def forward( + self, + img: Tensor, + txt: Tensor, + pe: Tensor, + distill_vec: list[ModulationOut], + mask: Tensor, + ) -> tuple[Tensor, Tensor]: + if self.training and self.gradient_checkpointing: + return ckpt.checkpoint(self._forward, img, txt, pe, distill_vec, mask, use_reentrant=False) + else: + return self._forward(img, txt, pe, distill_vec, mask) + + +class SingleStreamBlock(nn.Module): + """ + A DiT block with parallel linear layers as described in + https://arxiv.org/abs/2302.05442 and adapted modulation interface. + """ + + def __init__( + self, + hidden_size: int, + num_heads: int, + mlp_ratio: float = 4.0, + qk_scale: float | None = None, + ): + super().__init__() + self.hidden_dim = hidden_size + self.num_heads = num_heads + head_dim = hidden_size // num_heads + self.scale = qk_scale or head_dim**-0.5 + + self.mlp_hidden_dim = int(hidden_size * mlp_ratio) + # qkv and mlp_in + self.linear1 = nn.Linear(hidden_size, hidden_size * 3 + self.mlp_hidden_dim) + # proj and mlp_out + self.linear2 = nn.Linear(hidden_size + self.mlp_hidden_dim, hidden_size) + + self.norm = QKNorm(head_dim) + + self.hidden_size = hidden_size + self.pre_norm = nn.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6) + + self.mlp_act = nn.GELU(approximate="tanh") + + self.gradient_checkpointing = False + + @property + def device(self): + # Get the device of the module (assumes all parameters are on the same device) + return next(self.parameters()).device + + def modulation_shift_scale_fn(self, x, scale, shift): + return _modulation_shift_scale_fn(x, scale, shift) + + def modulation_gate_fn(self, x, gate, gate_params): + return _modulation_gate_fn(x, gate, gate_params) + + def enable_gradient_checkpointing(self): + self.gradient_checkpointing = True + + def disable_gradient_checkpointing(self): + self.gradient_checkpointing = False + + def _forward(self, x: Tensor, pe: Tensor, distill_vec: list[ModulationOut], mask: Tensor) -> Tensor: + mod = distill_vec + # replaced with compiled fn + # x_mod = (1 + mod.scale) * self.pre_norm(x) + mod.shift + x_mod = self.modulation_shift_scale_fn(self.pre_norm(x), mod.scale, mod.shift) + qkv, mlp = torch.split(self.linear1(x_mod), [3 * self.hidden_size, self.mlp_hidden_dim], dim=-1) + + q, k, v = rearrange(qkv, "B L (K H D) -> K B H L D", K=3, H=self.num_heads) + q, k = self.norm(q, k, v) + + # compute attention + attn = attention(q, k, v, pe=pe, mask=mask) + # compute activation in mlp stream, cat again and run second linear layer + output = self.linear2(torch.cat((attn, self.mlp_act(mlp)), 2)) + # replaced with compiled fn + # return x + mod.gate * output + return self.modulation_gate_fn(x, mod.gate, output) + + def forward(self, x: Tensor, pe: Tensor, distill_vec: list[ModulationOut], mask: Tensor) -> Tensor: + if self.training and self.gradient_checkpointing: + return ckpt.checkpoint(self._forward, x, pe, distill_vec, mask, use_reentrant=False) + else: + return self._forward(x, pe, distill_vec, mask) + + +class LastLayer(nn.Module): + def __init__( + self, + hidden_size: int, + patch_size: int, + out_channels: int, + ): + super().__init__() + self.norm_final = nn.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6) + self.linear = nn.Linear(hidden_size, patch_size * patch_size * out_channels, bias=True) + + @property + def device(self): + # Get the device of the module (assumes all parameters are on the same device) + return next(self.parameters()).device + + def modulation_shift_scale_fn(self, x, scale, shift): + return _modulation_shift_scale_fn(x, scale, shift) + + def forward(self, x: Tensor, distill_vec: list[Tensor]) -> Tensor: + shift, scale = distill_vec + shift = shift.squeeze(1) + scale = scale.squeeze(1) + # replaced with compiled fn + # x = (1 + scale[:, None, :]) * self.norm_final(x) + shift[:, None, :] + x = self.modulation_shift_scale_fn(self.norm_final(x), scale[:, None, :], shift[:, None, :]) + x = self.linear(x) + return x + + +@dataclass +class ChromaParams: + in_channels: int + context_in_dim: int + hidden_size: int + mlp_ratio: float + num_heads: int + depth: int + depth_single_blocks: int + axes_dim: list[int] + theta: int + qkv_bias: bool + guidance_embed: bool + approximator_in_dim: int + approximator_depth: int + approximator_hidden_size: int + _use_compiled: bool + + +chroma_params = ChromaParams( + in_channels=64, + context_in_dim=4096, + hidden_size=3072, + mlp_ratio=4.0, + num_heads=24, + depth=19, + depth_single_blocks=38, + axes_dim=[16, 56, 56], + theta=10_000, + qkv_bias=True, + guidance_embed=True, + approximator_in_dim=64, + approximator_depth=5, + approximator_hidden_size=5120, + _use_compiled=False, +) + + +def modify_mask_to_attend_padding(mask, max_seq_length, num_extra_padding=8): + """ + Modifies attention mask to allow attention to a few extra padding tokens. + + Args: + mask: Original attention mask (1 for tokens to attend to, 0 for masked tokens) + max_seq_length: Maximum sequence length of the model + num_extra_padding: Number of padding tokens to unmask + + Returns: + Modified mask + """ + # Get the actual sequence length from the mask + seq_length = mask.sum(dim=-1) + batch_size = mask.shape[0] + + modified_mask = mask.clone() + + for i in range(batch_size): + current_seq_len = int(seq_length[i].item()) + + # Only add extra padding tokens if there's room + if current_seq_len < max_seq_length: + # Calculate how many padding tokens we can unmask + available_padding = max_seq_length - current_seq_len + tokens_to_unmask = min(num_extra_padding, available_padding) + + # Unmask the specified number of padding tokens right after the sequence + modified_mask[i, current_seq_len : current_seq_len + tokens_to_unmask] = 1 + + return modified_mask + + +class Chroma(nn.Module): + """ + Transformer model for flow matching on sequences. + """ + + def __init__(self, params: ChromaParams): + super().__init__() + self.params = params + self.in_channels = params.in_channels + self.out_channels = self.in_channels + if params.hidden_size % params.num_heads != 0: + raise ValueError(f"Hidden size {params.hidden_size} must be divisible by num_heads {params.num_heads}") + pe_dim = params.hidden_size // params.num_heads + if sum(params.axes_dim) != pe_dim: + raise ValueError(f"Got {params.axes_dim} but expected positional dim {pe_dim}") + self.hidden_size = params.hidden_size + self.num_heads = params.num_heads + self.pe_embedder = EmbedND(dim=pe_dim, theta=params.theta, axes_dim=params.axes_dim) + self.img_in = nn.Linear(self.in_channels, self.hidden_size, bias=True) + + # TODO: need proper mapping for this approximator output! + # currently the mapping is hardcoded in distribute_modulations function + self.distilled_guidance_layer = Approximator( + params.approximator_in_dim, + self.hidden_size, + params.approximator_hidden_size, + params.approximator_depth, + ) + self.txt_in = nn.Linear(params.context_in_dim, self.hidden_size) + + self.double_blocks = nn.ModuleList( + [ + DoubleStreamBlock( + self.hidden_size, + self.num_heads, + mlp_ratio=params.mlp_ratio, + qkv_bias=params.qkv_bias, + ) + for _ in range(params.depth) + ] + ) + + self.single_blocks = nn.ModuleList( + [ + SingleStreamBlock( + self.hidden_size, + self.num_heads, + mlp_ratio=params.mlp_ratio, + ) + for _ in range(params.depth_single_blocks) + ] + ) + + self.final_layer = LastLayer( + self.hidden_size, + 1, + self.out_channels, + ) + + # TODO: move this hardcoded value to config + # single layer has 3 modulation vectors + # double layer has 6 modulation vectors for each expert + # final layer has 2 modulation vectors + self.mod_index_length = 3 * params.depth_single_blocks + 2 * 6 * params.depth + 2 + self.depth_single_blocks = params.depth_single_blocks + self.depth_double_blocks = params.depth + # self.mod_index = torch.tensor(list(range(self.mod_index_length)), device=0) + self.register_buffer( + "mod_index", + torch.tensor(list(range(self.mod_index_length)), device="cpu"), + persistent=False, + ) + self.approximator_in_dim = params.approximator_in_dim + + self.blocks_to_swap = None + self.offloader_double = None + self.offloader_single = None + self.num_double_blocks = len(self.double_blocks) + self.num_single_blocks = len(self.single_blocks) + + @property + def device(self): + # Get the device of the module (assumes all parameters are on the same device) + return next(self.parameters()).device + + def enable_gradient_checkpointing(self): + self.distilled_guidance_layer.enable_gradient_checkpointing() + for block in self.double_blocks + self.single_blocks: + block.enable_gradient_checkpointing() + + def disable_gradient_checkpointing(self): + self.distilled_guidance_layer.disable_gradient_checkpointing() + for block in self.double_blocks + self.single_blocks: + block.disable_gradient_checkpointing() + + def enable_block_swap(self, num_blocks: int, device: torch.device): + self.blocks_to_swap = num_blocks + double_blocks_to_swap = num_blocks // 2 + single_blocks_to_swap = (num_blocks - double_blocks_to_swap) * 2 + + assert double_blocks_to_swap <= self.num_double_blocks - 2 and single_blocks_to_swap <= self.num_single_blocks - 2, ( + f"Cannot swap more than {self.num_double_blocks - 2} double blocks and {self.num_single_blocks - 2} single blocks. " + f"Requested {double_blocks_to_swap} double blocks and {single_blocks_to_swap} single blocks." + ) + + self.offloader_double = custom_offloading_utils.ModelOffloader( + self.double_blocks, double_blocks_to_swap, device + ) + self.offloader_single = custom_offloading_utils.ModelOffloader( + self.single_blocks, single_blocks_to_swap, device + ) + print( + f"Chroma: Block swap enabled. Swapping {num_blocks} blocks, double blocks: {double_blocks_to_swap}, single blocks: {single_blocks_to_swap}." + ) + + def move_to_device_except_swap_blocks(self, device: torch.device): + # assume model is on cpu. do not move blocks to device to reduce temporary memory usage + if self.blocks_to_swap: + save_double_blocks = self.double_blocks + save_single_blocks = self.single_blocks + self.double_blocks = None + self.single_blocks = None + + self.to(device) + + if self.blocks_to_swap: + self.double_blocks = save_double_blocks + self.single_blocks = save_single_blocks + + def prepare_block_swap_before_forward(self): + if self.blocks_to_swap is None or self.blocks_to_swap == 0: + return + self.offloader_double.prepare_block_devices_before_forward(self.double_blocks) + self.offloader_single.prepare_block_devices_before_forward(self.single_blocks) + + def forward( + self, + img: Tensor, + img_ids: Tensor, + txt: Tensor, + txt_ids: Tensor, + txt_mask: Tensor, + timesteps: Tensor, + guidance: Tensor, + attn_padding: int = 1, + ) -> Tensor: + if img.ndim != 3 or txt.ndim != 3: + raise ValueError("Input img and txt tensors must have 3 dimensions.") + + # running on sequences img + img = self.img_in(img) + txt = self.txt_in(txt) + + # TODO: + # need to fix grad accumulation issue here for now it's in no grad mode + # besides, i don't want to wash out the PFP that's trained on this model weights anyway + # the fan out operation here is deleting the backward graph + # alternatively doing forward pass for every block manually is doable but slow + # custom backward probably be better + with torch.no_grad(): + distill_timestep = timestep_embedding(timesteps, self.approximator_in_dim // 4) + # TODO: need to add toggle to omit this from schnell but that's not a priority + distil_guidance = timestep_embedding(guidance, self.approximator_in_dim // 4) + # get all modulation index + modulation_index = timestep_embedding(self.mod_index, self.approximator_in_dim // 2) + # we need to broadcast the modulation index here so each batch has all of the index + modulation_index = modulation_index.unsqueeze(0).repeat(img.shape[0], 1, 1) + # and we need to broadcast timestep and guidance along too + timestep_guidance = ( + torch.cat([distill_timestep, distil_guidance], dim=1).unsqueeze(1).repeat(1, self.mod_index_length, 1) + ) + # then and only then we could concatenate it together + input_vec = torch.cat([timestep_guidance, modulation_index], dim=-1) + mod_vectors = self.distilled_guidance_layer(input_vec.requires_grad_(True)) + mod_vectors_dict = distribute_modulations(mod_vectors, self.depth_single_blocks, self.depth_double_blocks) + + ids = torch.cat((txt_ids, img_ids), dim=1) + pe = self.pe_embedder(ids) + + # compute mask + # assume max seq length from the batched input + + max_len = txt.shape[1] + + # mask + with torch.no_grad(): + txt_mask_w_padding = modify_mask_to_attend_padding(txt_mask, max_len, attn_padding) + txt_img_mask = torch.cat( + [ + txt_mask_w_padding, + torch.ones([img.shape[0], img.shape[1]], device=txt_mask.device), + ], + dim=1, + ) + txt_img_mask = txt_img_mask.float().T @ txt_img_mask.float() + txt_img_mask = txt_img_mask[None, None, ...].repeat(txt.shape[0], self.num_heads, 1, 1).int().bool() + # txt_mask_w_padding[txt_mask_w_padding==False] = True + + if not self.blocks_to_swap: + for i, block in enumerate(self.double_blocks): + # the guidance replaced by FFN output + img_mod = mod_vectors_dict[f"double_blocks.{i}.img_mod.lin"] + txt_mod = mod_vectors_dict[f"double_blocks.{i}.txt_mod.lin"] + double_mod = [img_mod, txt_mod] + + img, txt = block(img=img, txt=txt, pe=pe, distill_vec=double_mod, mask=txt_img_mask) + else: + for i, block in enumerate(self.double_blocks): + self.offloader_double.wait_for_block(i) + + # the guidance replaced by FFN output + img_mod = mod_vectors_dict[f"double_blocks.{i}.img_mod.lin"] + txt_mod = mod_vectors_dict[f"double_blocks.{i}.txt_mod.lin"] + double_mod = [img_mod, txt_mod] + + img, txt = block(img=img, txt=txt, pe=pe, distill_vec=double_mod, mask=txt_img_mask) + + self.offloader_double.submit_move_blocks(self.double_blocks, i) + + img = torch.cat((txt, img), 1) + if not self.blocks_to_swap: + for i, block in enumerate(self.single_blocks): + single_mod = mod_vectors_dict[f"single_blocks.{i}.modulation.lin"] + img = block(img, pe=pe, distill_vec=single_mod, mask=txt_img_mask) + else: + for i, block in enumerate(self.single_blocks): + self.offloader_single.wait_for_block(i) + + single_mod = mod_vectors_dict[f"single_blocks.{i}.modulation.lin"] + img = block(img, pe=pe, distill_vec=single_mod, mask=txt_img_mask) + + self.offloader_single.submit_move_blocks(self.single_blocks, i) + img = img[:, txt.shape[1] :, ...] + final_mod = mod_vectors_dict["final_layer.adaLN_modulation.1"] + img = self.final_layer(img, distill_vec=final_mod) # (N, T, patch_size ** 2 * out_channels) + return img From e0fcb5152a8c6f36d27b0f9f0e20e4ce75860c12 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Tue, 15 Jul 2025 21:34:35 +0900 Subject: [PATCH 610/748] feat: support Neta Lumina all-in-one weights --- library/lumina_util.py | 40 ++++++++++++++++++++++++++++++------- lumina_minimal_inference.py | 4 ++-- 2 files changed, 35 insertions(+), 9 deletions(-) diff --git a/library/lumina_util.py b/library/lumina_util.py index 452b242fd..87853ef62 100644 --- a/library/lumina_util.py +++ b/library/lumina_util.py @@ -44,10 +44,21 @@ def load_lumina_model( """ logger.info("Building Lumina") with torch.device("meta"): - model = lumina_models.NextDiT_2B_GQA_patch2_Adaln_Refiner(use_flash_attn=use_flash_attn, use_sage_attn=use_sage_attn).to(dtype) + model = lumina_models.NextDiT_2B_GQA_patch2_Adaln_Refiner(use_flash_attn=use_flash_attn, use_sage_attn=use_sage_attn).to( + dtype + ) logger.info(f"Loading state dict from {ckpt_path}") state_dict = load_safetensors(ckpt_path, device=device, disable_mmap=disable_mmap, dtype=dtype) + + # Neta-Lumina support + if "model.diffusion_model.cap_embedder.0.weight" in state_dict: + # remove "model.diffusion_model." prefix + filtered_state_dict = { + k.replace("model.diffusion_model.", ""): v for k, v in state_dict.items() if k.startswith("model.diffusion_model.") + } + state_dict = filtered_state_dict + info = model.load_state_dict(state_dict, strict=False, assign=True) logger.info(f"Loaded Lumina: {info}") return model @@ -78,6 +89,13 @@ def load_ae( logger.info(f"Loading state dict from {ckpt_path}") sd = load_safetensors(ckpt_path, device=device, disable_mmap=disable_mmap, dtype=dtype) + + # Neta-Lumina support + if "vae.decoder.conv_in.bias" in sd: + # remove "vae." prefix + filtered_sd = {k.replace("vae.", ""): v for k, v in sd.items() if k.startswith("vae.")} + sd = filtered_sd + info = ae.load_state_dict(sd, strict=False, assign=True) logger.info(f"Loaded AE: {info}") return ae @@ -152,6 +170,16 @@ def load_gemma2( break # the model doesn't have annoying prefix sd[new_key] = sd.pop(key) + # Neta-Lumina support + if "text_encoders.gemma2_2b.logit_scale" in sd: + # remove "text_encoders.gemma2_2b.transformer.model." prefix + filtered_sd = { + k.replace("text_encoders.gemma2_2b.transformer.model.", ""): v + for k, v in sd.items() + if k.startswith("text_encoders.gemma2_2b.transformer.model.") + } + sd = filtered_sd + info = gemma2.load_state_dict(sd, strict=False, assign=True) logger.info(f"Loaded Gemma2: {info}") return gemma2 @@ -173,7 +201,6 @@ def pack_latents(x: torch.Tensor) -> torch.Tensor: return x - DIFFUSERS_TO_ALPHA_VLLM_MAP: dict[str, str] = { # Embedding layers "time_caption_embed.caption_embedder.0.weight": "cap_embedder.0.weight", @@ -211,11 +238,11 @@ def convert_diffusers_sd_to_alpha_vllm(sd: dict, num_double_blocks: int) -> dict for diff_key, alpha_key in DIFFUSERS_TO_ALPHA_VLLM_MAP.items(): # Handle block-specific patterns - if '().' in diff_key: + if "()." in diff_key: for block_idx in range(num_double_blocks): - block_alpha_key = alpha_key.replace('().', f'{block_idx}.') - block_diff_key = diff_key.replace('().', f'{block_idx}.') - + block_alpha_key = alpha_key.replace("().", f"{block_idx}.") + block_diff_key = diff_key.replace("().", f"{block_idx}.") + # Search for and convert block-specific keys for input_key, value in list(sd.items()): if input_key == block_diff_key: @@ -228,6 +255,5 @@ def convert_diffusers_sd_to_alpha_vllm(sd: dict, num_double_blocks: int) -> dict else: print(f"Not found: {diff_key}") - logger.info(f"Converted {len(new_sd)} keys to Alpha-VLLM format") return new_sd diff --git a/lumina_minimal_inference.py b/lumina_minimal_inference.py index 31362c00d..d829616b8 100644 --- a/lumina_minimal_inference.py +++ b/lumina_minimal_inference.py @@ -231,13 +231,13 @@ def setup_parser() -> argparse.ArgumentParser: "--cfg_trunc_ratio", type=float, default=0.25, - help="TBD", + help="The ratio of the timestep interval to apply normalization-based guidance scale. For example, 0.25 means the last 25% of timesteps will be guided.", ) parser.add_argument( "--renorm_cfg", type=float, default=1.0, - help="TBD", + help="The factor to limit the maximum norm after guidance. Default: 1.0, 0.0 means no renormalization.", ) parser.add_argument( "--use_flash_attn", From 25771a5180a134190c0e9b540ee5a074ff70e6cd Mon Sep 17 00:00:00 2001 From: Kohya S Date: Tue, 15 Jul 2025 21:53:13 +0900 Subject: [PATCH 611/748] fix: update help text for cfg_trunc_ratio argument --- lumina_minimal_inference.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lumina_minimal_inference.py b/lumina_minimal_inference.py index d829616b8..691ee4180 100644 --- a/lumina_minimal_inference.py +++ b/lumina_minimal_inference.py @@ -231,7 +231,7 @@ def setup_parser() -> argparse.ArgumentParser: "--cfg_trunc_ratio", type=float, default=0.25, - help="The ratio of the timestep interval to apply normalization-based guidance scale. For example, 0.25 means the last 25% of timesteps will be guided.", + help="The ratio of the timestep interval to apply normalization-based guidance scale. For example, 0.25 means the first 25% of timesteps will be guided.", ) parser.add_argument( "--renorm_cfg", From c0c36a4e2ffb9a8438f490ff3d0deca8a03bbd26 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Tue, 15 Jul 2025 21:58:03 +0900 Subject: [PATCH 612/748] fix: remove duplicated latent normalization in decoding --- lumina_minimal_inference.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lumina_minimal_inference.py b/lumina_minimal_inference.py index 691ee4180..87dc9a194 100644 --- a/lumina_minimal_inference.py +++ b/lumina_minimal_inference.py @@ -158,7 +158,7 @@ def generate_image( # 5. Decode latents # logger.info("Decoding image...") - latents = latents / ae.scale_factor + ae.shift_factor + # latents = latents / ae.scale_factor + ae.shift_factor with torch.no_grad(): image = ae.decode(latents.to(ae_dtype)) image = (image / 2 + 0.5).clamp(0, 1) From a7b33f320495afa39e353e0c583accf15ad9cb20 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Tue, 15 Jul 2025 22:36:46 -0400 Subject: [PATCH 613/748] Fix alphas cumprod after add_noise for DDIMScheduler --- library/train_util.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/library/train_util.py b/library/train_util.py index 36d419fd2..285870faf 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -6008,6 +6008,8 @@ def get_noise_noisy_latents_and_timesteps( else: noisy_latents = noise_scheduler.add_noise(latents, noise, timesteps) + noise_scheduler.alphas_cumprod = noise_scheduler.alphas_cumprod.cpu() + return noise, noisy_latents, timesteps From 3adbbb6e3347b9a0da852a65a85d58a5da777443 Mon Sep 17 00:00:00 2001 From: Dave Lage Date: Wed, 16 Jul 2025 16:09:20 -0400 Subject: [PATCH 614/748] Add note about why we are moving it --- library/train_util.py | 1 + 1 file changed, 1 insertion(+) diff --git a/library/train_util.py b/library/train_util.py index 285870faf..165d873bc 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -6008,6 +6008,7 @@ def get_noise_noisy_latents_and_timesteps( else: noisy_latents = noise_scheduler.add_noise(latents, noise, timesteps) + # This moves the alphas_cumprod back to the CPU after it is moved in noise_scheduler.add_noise noise_scheduler.alphas_cumprod = noise_scheduler.alphas_cumprod.cpu() return noise, noisy_latents, timesteps From 24d2ea86c70482ec062412e4214ae221a22cd0a0 Mon Sep 17 00:00:00 2001 From: kohya-ss Date: Sun, 20 Jul 2025 12:56:42 +0900 Subject: [PATCH 615/748] feat: support Chroma model in loading and inference processes --- flux_minimal_inference.py | 49 ++++++++++------ flux_train.py | 4 +- flux_train_control_net.py | 4 +- flux_train_network.py | 4 +- library/chroma_models.py | 85 +++++---------------------- library/flux_utils.py | 118 ++++++++++++++++++++++++-------------- 6 files changed, 127 insertions(+), 137 deletions(-) diff --git a/flux_minimal_inference.py b/flux_minimal_inference.py index 7ab224f1b..a7bff74db 100644 --- a/flux_minimal_inference.py +++ b/flux_minimal_inference.py @@ -108,12 +108,18 @@ def denoise( else: b_img = img + # For Chroma model, y might be None, so create dummy tensor + if b_vec is None: + y_input = torch.zeros_like(b_txt[:, :1, :]) # dummy tensor + else: + y_input = b_vec + pred = model( img=b_img, img_ids=b_img_ids, txt=b_txt, txt_ids=b_txt_ids, - y=b_vec, + y=y_input, timesteps=t_vec, guidance=guidance_vec, txt_attention_mask=b_t5_attn_mask, @@ -134,7 +140,7 @@ def do_sample( model: flux_models.Flux, img: torch.Tensor, img_ids: torch.Tensor, - l_pooled: torch.Tensor, + l_pooled: Optional[torch.Tensor], t5_out: torch.Tensor, txt_ids: torch.Tensor, num_steps: int, @@ -192,7 +198,7 @@ def do_sample( def generate_image( model, - clip_l: CLIPTextModel, + clip_l: Optional[CLIPTextModel], t5xxl, ae, prompt: str, @@ -231,7 +237,7 @@ def generate_image( img_ids = flux_utils.prepare_img_ids(1, packed_latent_height, packed_latent_width) # prepare fp8 models - if is_fp8(clip_l_dtype) and (not hasattr(clip_l, "fp8_prepared") or not clip_l.fp8_prepared): + if clip_l is not None and is_fp8(clip_l_dtype) and (not hasattr(clip_l, "fp8_prepared") or not clip_l.fp8_prepared): logger.info(f"prepare CLIP-L for fp8: set to {clip_l_dtype}, set embeddings to {torch.bfloat16}") clip_l.to(clip_l_dtype) # fp8 clip_l.text_model.embeddings.to(dtype=torch.bfloat16) @@ -267,18 +273,22 @@ def forward(hidden_states): # prepare embeddings logger.info("Encoding prompts...") - clip_l = clip_l.to(device) + if clip_l is not None: + clip_l = clip_l.to(device) t5xxl = t5xxl.to(device) def encode(prpt: str): tokens_and_masks = tokenize_strategy.tokenize(prpt) with torch.no_grad(): - if is_fp8(clip_l_dtype): - with accelerator.autocast(): - l_pooled, _, _, _ = encoding_strategy.encode_tokens(tokenize_strategy, [clip_l, None], tokens_and_masks) + if clip_l is not None: + if is_fp8(clip_l_dtype): + with accelerator.autocast(): + l_pooled, _, _, _ = encoding_strategy.encode_tokens(tokenize_strategy, [clip_l, None], tokens_and_masks) + else: + with torch.autocast(device_type=device.type, dtype=clip_l_dtype): + l_pooled, _, _, _ = encoding_strategy.encode_tokens(tokenize_strategy, [clip_l, None], tokens_and_masks) else: - with torch.autocast(device_type=device.type, dtype=clip_l_dtype): - l_pooled, _, _, _ = encoding_strategy.encode_tokens(tokenize_strategy, [clip_l, None], tokens_and_masks) + l_pooled = None if is_fp8(t5xxl_dtype): with accelerator.autocast(): @@ -288,7 +298,7 @@ def encode(prpt: str): else: with torch.autocast(device_type=device.type, dtype=t5xxl_dtype): _, t5_out, txt_ids, t5_attn_mask = encoding_strategy.encode_tokens( - tokenize_strategy, [None, t5xxl], tokens_and_masks, args.apply_t5_attn_mask + tokenize_strategy, [clip_l, t5xxl], tokens_and_masks, args.apply_t5_attn_mask ) return l_pooled, t5_out, txt_ids, t5_attn_mask @@ -305,7 +315,8 @@ def encode(prpt: str): raise ValueError("NaN in t5_out") if args.offload: - clip_l = clip_l.cpu() + if clip_l is not None: + clip_l = clip_l.cpu() t5xxl = t5xxl.cpu() # del clip_l, t5xxl device_utils.clean_memory() @@ -385,6 +396,7 @@ def encode(prpt: str): parser = argparse.ArgumentParser() parser.add_argument("--ckpt_path", type=str, required=True) + parser.add_argument("--model_type", type=str, choices=["flux", "chroma"], default="flux", help="Model type to use") parser.add_argument("--clip_l", type=str, required=False) parser.add_argument("--t5xxl", type=str, required=False) parser.add_argument("--ae", type=str, required=False) @@ -438,10 +450,13 @@ def is_fp8(dt): else: accelerator = None - # load clip_l - logger.info(f"Loading clip_l from {args.clip_l}...") - clip_l = flux_utils.load_clip_l(args.clip_l, clip_l_dtype, loading_device) - clip_l.eval() + # load clip_l (skip for chroma model) + if args.model_type == "flux": + logger.info(f"Loading clip_l from {args.clip_l}...") + clip_l = flux_utils.load_clip_l(args.clip_l, clip_l_dtype, loading_device) + clip_l.eval() + else: + clip_l = None logger.info(f"Loading t5xxl from {args.t5xxl}...") t5xxl = flux_utils.load_t5xxl(args.t5xxl, t5xxl_dtype, loading_device) @@ -453,7 +468,7 @@ def is_fp8(dt): # t5xxl = accelerator.prepare(t5xxl) # DiT - is_schnell, model = flux_utils.load_flow_model(args.ckpt_path, None, loading_device) + model_type, is_schnell, model = flux_utils.load_flow_model(args.ckpt_path, None, loading_device, model_type=args.model_type) model.eval() logger.info(f"Casting model to {flux_dtype}") model.to(flux_dtype) # make sure model is dtype diff --git a/flux_train.py b/flux_train.py index 6f98adea8..1d2cc68b7 100644 --- a/flux_train.py +++ b/flux_train.py @@ -270,8 +270,8 @@ def train(args): clean_memory_on_device(accelerator.device) # load FLUX - _, flux = flux_utils.load_flow_model( - args.pretrained_model_name_or_path, weight_dtype, "cpu", args.disable_mmap_load_safetensors + model_type, _, flux = flux_utils.load_flow_model( + args.pretrained_model_name_or_path, weight_dtype, "cpu", args.disable_mmap_load_safetensors, model_type="flux" ) if args.gradient_checkpointing: diff --git a/flux_train_control_net.py b/flux_train_control_net.py index cecd00019..3c038c32a 100644 --- a/flux_train_control_net.py +++ b/flux_train_control_net.py @@ -258,8 +258,8 @@ def train(args): clean_memory_on_device(accelerator.device) # load FLUX - is_schnell, flux = flux_utils.load_flow_model( - args.pretrained_model_name_or_path, weight_dtype, "cpu", args.disable_mmap_load_safetensors + model_type, is_schnell, flux = flux_utils.load_flow_model( + args.pretrained_model_name_or_path, weight_dtype, "cpu", args.disable_mmap_load_safetensors, model_type="flux" ) flux.requires_grad_(False) diff --git a/flux_train_network.py b/flux_train_network.py index def441559..b2bf8e7cf 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -95,8 +95,8 @@ def load_target_model(self, args, weight_dtype, accelerator): loading_dtype = None if args.fp8_base else weight_dtype # if we load to cpu, flux.to(fp8) takes a long time, so we should load to gpu in future - self.is_schnell, model = flux_utils.load_flow_model( - args.pretrained_model_name_or_path, loading_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors + self.model_type, self.is_schnell, model = flux_utils.load_flow_model( + args.pretrained_model_name_or_path, loading_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors, model_type="flux" ) if args.fp8_base: # check dtype of model diff --git a/library/chroma_models.py b/library/chroma_models.py index 9f21afad6..e1da751b0 100644 --- a/library/chroma_models.py +++ b/library/chroma_models.py @@ -11,17 +11,7 @@ import torch.nn.functional as F import torch.utils.checkpoint as ckpt -from .flux_models import ( - attention, - rope, - apply_rope, - EmbedND, - timestep_embedding, - MLPEmbedder, - RMSNorm, - QKNorm, - SelfAttention -) +from .flux_models import attention, rope, apply_rope, EmbedND, timestep_embedding, MLPEmbedder, RMSNorm, QKNorm, SelfAttention, Flux from . import custom_offloading_utils @@ -468,13 +458,13 @@ def modify_mask_to_attend_padding(mask, max_seq_length, num_extra_padding=8): return modified_mask -class Chroma(nn.Module): +class Chroma(Flux): """ Transformer model for flow matching on sequences. """ def __init__(self, params: ChromaParams): - super().__init__() + nn.Module.__init__(self) self.params = params self.in_channels = params.in_channels self.out_channels = self.in_channels @@ -548,60 +538,9 @@ def __init__(self, params: ChromaParams): self.num_double_blocks = len(self.double_blocks) self.num_single_blocks = len(self.single_blocks) - @property - def device(self): - # Get the device of the module (assumes all parameters are on the same device) - return next(self.parameters()).device - - def enable_gradient_checkpointing(self): - self.distilled_guidance_layer.enable_gradient_checkpointing() - for block in self.double_blocks + self.single_blocks: - block.enable_gradient_checkpointing() - - def disable_gradient_checkpointing(self): - self.distilled_guidance_layer.disable_gradient_checkpointing() - for block in self.double_blocks + self.single_blocks: - block.disable_gradient_checkpointing() - - def enable_block_swap(self, num_blocks: int, device: torch.device): - self.blocks_to_swap = num_blocks - double_blocks_to_swap = num_blocks // 2 - single_blocks_to_swap = (num_blocks - double_blocks_to_swap) * 2 - - assert double_blocks_to_swap <= self.num_double_blocks - 2 and single_blocks_to_swap <= self.num_single_blocks - 2, ( - f"Cannot swap more than {self.num_double_blocks - 2} double blocks and {self.num_single_blocks - 2} single blocks. " - f"Requested {double_blocks_to_swap} double blocks and {single_blocks_to_swap} single blocks." - ) - - self.offloader_double = custom_offloading_utils.ModelOffloader( - self.double_blocks, double_blocks_to_swap, device - ) - self.offloader_single = custom_offloading_utils.ModelOffloader( - self.single_blocks, single_blocks_to_swap, device - ) - print( - f"Chroma: Block swap enabled. Swapping {num_blocks} blocks, double blocks: {double_blocks_to_swap}, single blocks: {single_blocks_to_swap}." - ) - - def move_to_device_except_swap_blocks(self, device: torch.device): - # assume model is on cpu. do not move blocks to device to reduce temporary memory usage - if self.blocks_to_swap: - save_double_blocks = self.double_blocks - save_single_blocks = self.single_blocks - self.double_blocks = None - self.single_blocks = None - - self.to(device) - - if self.blocks_to_swap: - self.double_blocks = save_double_blocks - self.single_blocks = save_single_blocks - - def prepare_block_swap_before_forward(self): - if self.blocks_to_swap is None or self.blocks_to_swap == 0: - return - self.offloader_double.prepare_block_devices_before_forward(self.double_blocks) - self.offloader_single.prepare_block_devices_before_forward(self.single_blocks) + # Initialize properties required by Flux parent class + self.gradient_checkpointing = False + self.cpu_offload_checkpointing = False def forward( self, @@ -609,10 +548,12 @@ def forward( img_ids: Tensor, txt: Tensor, txt_ids: Tensor, - txt_mask: Tensor, timesteps: Tensor, - guidance: Tensor, - attn_padding: int = 1, + y: Tensor, + block_controlnet_hidden_states=None, + block_controlnet_single_hidden_states=None, + guidance: Tensor | None = None, + txt_attention_mask: Tensor | None = None, ) -> Tensor: if img.ndim != 3 or txt.ndim != 3: raise ValueError("Input img and txt tensors must have 3 dimensions.") @@ -654,11 +595,11 @@ def forward( # mask with torch.no_grad(): - txt_mask_w_padding = modify_mask_to_attend_padding(txt_mask, max_len, attn_padding) + txt_mask_w_padding = modify_mask_to_attend_padding(txt_attention_mask, max_len, 1) txt_img_mask = torch.cat( [ txt_mask_w_padding, - torch.ones([img.shape[0], img.shape[1]], device=txt_mask.device), + torch.ones([img.shape[0], img.shape[1]], device=txt_attention_mask.device), ], dim=1, ) diff --git a/library/flux_utils.py b/library/flux_utils.py index 8be1d63ee..a5cfcdfff 100644 --- a/library/flux_utils.py +++ b/library/flux_utils.py @@ -92,50 +92,84 @@ def analyze_checkpoint_state(ckpt_path: str) -> Tuple[bool, bool, Tuple[int, int def load_flow_model( - ckpt_path: str, dtype: Optional[torch.dtype], device: Union[str, torch.device], disable_mmap: bool = False -) -> Tuple[bool, flux_models.Flux]: - is_diffusers, is_schnell, (num_double_blocks, num_single_blocks), ckpt_paths = analyze_checkpoint_state(ckpt_path) - name = MODEL_NAME_DEV if not is_schnell else MODEL_NAME_SCHNELL - - # build model - logger.info(f"Building Flux model {name} from {'Diffusers' if is_diffusers else 'BFL'} checkpoint") - with torch.device("meta"): - params = flux_models.configs[name].params - - # set the number of blocks - if params.depth != num_double_blocks: - logger.info(f"Setting the number of double blocks from {params.depth} to {num_double_blocks}") - params = replace(params, depth=num_double_blocks) - if params.depth_single_blocks != num_single_blocks: - logger.info(f"Setting the number of single blocks from {params.depth_single_blocks} to {num_single_blocks}") - params = replace(params, depth_single_blocks=num_single_blocks) - - model = flux_models.Flux(params) - if dtype is not None: - model = model.to(dtype) - - # load_sft doesn't support torch.device - logger.info(f"Loading state dict from {ckpt_path}") - sd = {} - for ckpt_path in ckpt_paths: - sd.update(load_safetensors(ckpt_path, device=str(device), disable_mmap=disable_mmap, dtype=dtype)) + ckpt_path: str, + dtype: Optional[torch.dtype], + device: Union[str, torch.device], + disable_mmap: bool = False, + model_type: str = "flux", +) -> Tuple[str, bool, flux_models.Flux]: + if model_type == "flux": + is_diffusers, is_schnell, (num_double_blocks, num_single_blocks), ckpt_paths = analyze_checkpoint_state(ckpt_path) + name = MODEL_NAME_DEV if not is_schnell else MODEL_NAME_SCHNELL + + # build model + logger.info(f"Building Flux model {name} from {'Diffusers' if is_diffusers else 'BFL'} checkpoint") + with torch.device("meta"): + params = flux_models.configs[name].params + + # set the number of blocks + if params.depth != num_double_blocks: + logger.info(f"Setting the number of double blocks from {params.depth} to {num_double_blocks}") + params = replace(params, depth=num_double_blocks) + if params.depth_single_blocks != num_single_blocks: + logger.info(f"Setting the number of single blocks from {params.depth_single_blocks} to {num_single_blocks}") + params = replace(params, depth_single_blocks=num_single_blocks) + + model = flux_models.Flux(params) + if dtype is not None: + model = model.to(dtype) + + # load_sft doesn't support torch.device + logger.info(f"Loading state dict from {ckpt_path}") + sd = {} + for ckpt_path in ckpt_paths: + sd.update(load_safetensors(ckpt_path, device=str(device), disable_mmap=disable_mmap, dtype=dtype)) + + # convert Diffusers to BFL + if is_diffusers: + logger.info("Converting Diffusers to BFL") + sd = convert_diffusers_sd_to_bfl(sd, num_double_blocks, num_single_blocks) + logger.info("Converted Diffusers to BFL") + + # if the key has annoying prefix, remove it + for key in list(sd.keys()): + new_key = key.replace("model.diffusion_model.", "") + if new_key == key: + break # the model doesn't have annoying prefix + sd[new_key] = sd.pop(key) + + info = model.load_state_dict(sd, strict=False, assign=True) + logger.info(f"Loaded Flux: {info}") + return model_type, is_schnell, model + + elif model_type == "chroma": + from . import chroma_models + + # build model + logger.info("Building Chroma model from BFL checkpoint") + with torch.device("meta"): + model = chroma_models.Chroma(chroma_models.chroma_params) + if dtype is not None: + model = model.to(dtype) + + # load_sft doesn't support torch.device + logger.info(f"Loading state dict from {ckpt_path}") + sd = load_safetensors(ckpt_path, device=str(device), disable_mmap=disable_mmap, dtype=dtype) - # convert Diffusers to BFL - if is_diffusers: - logger.info("Converting Diffusers to BFL") - sd = convert_diffusers_sd_to_bfl(sd, num_double_blocks, num_single_blocks) - logger.info("Converted Diffusers to BFL") + # if the key has annoying prefix, remove it + for key in list(sd.keys()): + new_key = key.replace("model.diffusion_model.", "") + if new_key == key: + break # the model doesn't have annoying prefix + sd[new_key] = sd.pop(key) - # if the key has annoying prefix, remove it - for key in list(sd.keys()): - new_key = key.replace("model.diffusion_model.", "") - if new_key == key: - break # the model doesn't have annoying prefix - sd[new_key] = sd.pop(key) + info = model.load_state_dict(sd, strict=False, assign=True) + logger.info(f"Loaded Chroma: {info}") + is_schnell = False # Chroma is not schnell + return model_type, is_schnell, model - info = model.load_state_dict(sd, strict=False, assign=True) - logger.info(f"Loaded Flux: {info}") - return is_schnell, model + else: + raise ValueError(f"Unsupported model_type: {model_type}. Supported types are 'flux' and 'chroma'.") def load_ae( @@ -166,7 +200,7 @@ def load_controlnet( sd = load_safetensors(ckpt_path, device=str(device), disable_mmap=disable_mmap, dtype=dtype) info = controlnet.load_state_dict(sd, strict=False, assign=True) logger.info(f"Loaded ControlNet: {info}") - return controlnet + return controlnet def load_clip_l( From 404ddb060d04285d72ffff9342542eec71d9c352 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 20 Jul 2025 14:08:54 +0900 Subject: [PATCH 616/748] fix: inference for Chroma model --- flux_minimal_inference.py | 28 ++++++++++++++-------------- library/chroma_models.py | 9 +++++++-- library/flux_utils.py | 2 +- 3 files changed, 22 insertions(+), 17 deletions(-) diff --git a/flux_minimal_inference.py b/flux_minimal_inference.py index a7bff74db..550904d23 100644 --- a/flux_minimal_inference.py +++ b/flux_minimal_inference.py @@ -78,16 +78,19 @@ def denoise( neg_t5_attn_mask: Optional[torch.Tensor] = None, cfg_scale: Optional[float] = None, ): - # this is ignored for schnell + # prepare classifier free guidance logger.info(f"guidance: {guidance}, cfg_scale: {cfg_scale}") - guidance_vec = torch.full((img.shape[0],), guidance, device=img.device, dtype=img.dtype) + do_cfg = neg_txt is not None and (cfg_scale is not None and cfg_scale != 1.0) - # prepare classifier free guidance - if neg_txt is not None and neg_vec is not None: + # this is ignored for schnell + guidance_vec = torch.full((img.shape[0] * (2 if do_cfg else 1),), guidance, device=img.device, dtype=img.dtype) + + if do_cfg: + print("Using classifier free guidance") b_img_ids = torch.cat([img_ids, img_ids], dim=0) b_txt_ids = torch.cat([txt_ids, txt_ids], dim=0) b_txt = torch.cat([neg_txt, txt], dim=0) - b_vec = torch.cat([neg_vec, vec], dim=0) + b_vec = torch.cat([neg_vec, vec], dim=0) if neg_vec is not None else None if t5_attn_mask is not None and neg_t5_attn_mask is not None: b_t5_attn_mask = torch.cat([neg_t5_attn_mask, t5_attn_mask], dim=0) else: @@ -103,17 +106,13 @@ def denoise( t_vec = torch.full((b_img_ids.shape[0],), t_curr, dtype=img.dtype, device=img.device) # classifier free guidance - if neg_txt is not None and neg_vec is not None: + if do_cfg: b_img = torch.cat([img, img], dim=0) else: b_img = img - # For Chroma model, y might be None, so create dummy tensor - if b_vec is None: - y_input = torch.zeros_like(b_txt[:, :1, :]) # dummy tensor - else: - y_input = b_vec - + y_input = b_vec + pred = model( img=b_img, img_ids=b_img_ids, @@ -126,7 +125,7 @@ def denoise( ) # classifier free guidance - if neg_txt is not None and neg_vec is not None: + if do_cfg: pred_uncond, pred = torch.chunk(pred, 2, dim=0) pred = pred_uncond + cfg_scale * (pred - pred_uncond) @@ -309,7 +308,7 @@ def encode(prpt: str): neg_l_pooled, neg_t5_out, neg_t5_attn_mask = None, None, None # NaN check - if torch.isnan(l_pooled).any(): + if l_pooled is not None and torch.isnan(l_pooled).any(): raise ValueError("NaN in l_pooled") if torch.isnan(t5_out).any(): raise ValueError("NaN in t5_out") @@ -329,6 +328,7 @@ def encode(prpt: str): img_ids = img_ids.to(device) t5_attn_mask = t5_attn_mask.to(device) if args.apply_t5_attn_mask else None + neg_t5_attn_mask = neg_t5_attn_mask.to(device) if neg_t5_attn_mask is not None and args.apply_t5_attn_mask else None x = do_sample( accelerator, diff --git a/library/chroma_models.py b/library/chroma_models.py index e1da751b0..f725db872 100644 --- a/library/chroma_models.py +++ b/library/chroma_models.py @@ -240,7 +240,7 @@ def _forward( k = torch.cat((txt_k, img_k), dim=2) v = torch.cat((txt_v, img_v), dim=2) - attn = attention(q, k, v, pe=pe, mask=mask) + attn = attention(q, k, v, pe=pe, attn_mask=mask) txt_attn, img_attn = attn[:, : txt.shape[1]], attn[:, txt.shape[1] :] # calculate the img bloks @@ -343,7 +343,7 @@ def _forward(self, x: Tensor, pe: Tensor, distill_vec: list[ModulationOut], mask q, k = self.norm(q, k, v) # compute attention - attn = attention(q, k, v, pe=pe, mask=mask) + attn = attention(q, k, v, pe=pe, attn_mask=mask) # compute activation in mlp stream, cat again and run second linear layer output = self.linear2(torch.cat((attn, self.mlp_act(mlp)), 2)) # replaced with compiled fn @@ -555,6 +555,11 @@ def forward( guidance: Tensor | None = None, txt_attention_mask: Tensor | None = None, ) -> Tensor: + # print( + # f"Chroma forward: img shape {img.shape}, txt shape {txt.shape}, img_ids shape {img_ids.shape}, txt_ids shape {txt_ids.shape}" + # ) + # print(f"timesteps: {timesteps}, guidance: {guidance}") + if img.ndim != 3 or txt.ndim != 3: raise ValueError("Input img and txt tensors must have 3 dimensions.") diff --git a/library/flux_utils.py b/library/flux_utils.py index a5cfcdfff..dda7c789d 100644 --- a/library/flux_utils.py +++ b/library/flux_utils.py @@ -146,7 +146,7 @@ def load_flow_model( from . import chroma_models # build model - logger.info("Building Chroma model from BFL checkpoint") + logger.info("Building Chroma model") with torch.device("meta"): model = chroma_models.Chroma(chroma_models.chroma_params) if dtype is not None: From 8fd0b12d1f8bcae52cb11f0ccd193d8382b06166 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 20 Jul 2025 16:00:58 +0900 Subject: [PATCH 617/748] feat: update DoubleStreamBlock and SingleStreamBlock to handle text sequence lengths instead of mask --- library/chroma_models.py | 242 +++++++++++++++++++++++++-------------- 1 file changed, 159 insertions(+), 83 deletions(-) diff --git a/library/chroma_models.py b/library/chroma_models.py index f725db872..06822a37b 100644 --- a/library/chroma_models.py +++ b/library/chroma_models.py @@ -211,9 +211,9 @@ def _forward( self, img: Tensor, txt: Tensor, - pe: Tensor, + pe: list[Tensor], distill_vec: list[ModulationOut], - mask: Tensor, + txt_seq_len: Tensor, ) -> tuple[Tensor, Tensor]: (img_mod1, img_mod2), (txt_mod1, txt_mod2) = distill_vec @@ -235,13 +235,58 @@ def _forward( txt_q, txt_k, txt_v = rearrange(txt_qkv, "B L (K H D) -> K B H L D", K=3, H=self.num_heads) txt_q, txt_k = self.txt_attn.norm(txt_q, txt_k, txt_v) - # run actual attention - q = torch.cat((txt_q, img_q), dim=2) - k = torch.cat((txt_k, img_k), dim=2) - v = torch.cat((txt_v, img_v), dim=2) - - attn = attention(q, k, v, pe=pe, attn_mask=mask) - txt_attn, img_attn = attn[:, : txt.shape[1]], attn[:, txt.shape[1] :] + # run actual attention: we split the batch into each element + max_txt_len = txt_q.shape[-2] # max 512 + txt_q = list(torch.chunk(txt_q, txt_q.shape[0], dim=0)) # list of [B, H, L, D] tensors + txt_k = list(torch.chunk(txt_k, txt_k.shape[0], dim=0)) + txt_v = list(torch.chunk(txt_v, txt_v.shape[0], dim=0)) + img_q = list(torch.chunk(img_q, img_q.shape[0], dim=0)) + img_k = list(torch.chunk(img_k, img_k.shape[0], dim=0)) + img_v = list(torch.chunk(img_v, img_v.shape[0], dim=0)) + txt_attn = [] + img_attn = [] + for i in range(txt.shape[0]): + print(i) + print(f"len(txt_q) = {len(txt_q)}, len(img_q) = {len(img_q)}, txt_seq_len.shape = {txt_seq_len.shape}") + print(f"txt_seq_len[i] = {txt_seq_len[i]}, txt_q.shape = {txt_q[i].shape}, img_q.shape = {img_q[i].shape}") + txt_q_i = txt_q[i][:, :, : txt_seq_len[i]] + txt_q[i] = None + img_q_i = img_q[i] + img_q[i] = None + q = torch.cat((txt_q_i, img_q_i), dim=2) + del txt_q_i, img_q_i + + txt_k_i = txt_k[i][:, :, : txt_seq_len[i]] + txt_k[i] = None + img_k_i = img_k[i] + img_k[i] = None + k = torch.cat((txt_k_i, img_k_i), dim=2) + del txt_k_i, img_k_i + + txt_v_i = txt_v[i][:, :, : txt_seq_len[i]] + txt_v[i] = None + img_v_i = img_v[i] + img_v[i] = None + v = torch.cat((txt_v_i, img_v_i), dim=2) + del txt_v_i, img_v_i + + attn = attention(q, k, v, pe=pe[i], attn_mask=None) # (1, L, D) + print(f"attn.shape = {attn.shape}, txt_seq_len[i] = {txt_seq_len[i]}, max_txt_len = {max_txt_len}") + txt_attn_i = torch.zeros((1, max_txt_len, attn.shape[-1]), dtype=attn.dtype, device=self.device) + txt_attn_i[:, : txt_seq_len[i], :] = attn[:, : txt_seq_len[i], :] + img_attn_i = attn[:, txt_seq_len[i] :, :] + txt_attn.append(txt_attn_i) + img_attn.append(img_attn_i) + + txt_attn = torch.cat(txt_attn, dim=0) + img_attn = torch.cat(img_attn, dim=0) + + # q = torch.cat((txt_q, img_q), dim=2) + # k = torch.cat((txt_k, img_k), dim=2) + # v = torch.cat((txt_v, img_v), dim=2) + + # attn = attention(q, k, v, pe=pe, attn_mask=mask) + # txt_attn, img_attn = attn[:, : txt.shape[1]], attn[:, txt.shape[1] :] # calculate the img bloks # replaced with compiled fn @@ -273,12 +318,12 @@ def forward( txt: Tensor, pe: Tensor, distill_vec: list[ModulationOut], - mask: Tensor, + txt_seq_len: Tensor, ) -> tuple[Tensor, Tensor]: if self.training and self.gradient_checkpointing: - return ckpt.checkpoint(self._forward, img, txt, pe, distill_vec, mask, use_reentrant=False) + return ckpt.checkpoint(self._forward, img, txt, pe, distill_vec, txt_seq_len, use_reentrant=False) else: - return self._forward(img, txt, pe, distill_vec, mask) + return self._forward(img, txt, pe, distill_vec, txt_seq_len) class SingleStreamBlock(nn.Module): @@ -332,7 +377,9 @@ def enable_gradient_checkpointing(self): def disable_gradient_checkpointing(self): self.gradient_checkpointing = False - def _forward(self, x: Tensor, pe: Tensor, distill_vec: list[ModulationOut], mask: Tensor) -> Tensor: + def _forward( + self, x: Tensor, pe: list[Tensor], distill_vec: list[ModulationOut], txt_seq_len: Tensor, max_txt_len: int + ) -> Tensor: mod = distill_vec # replaced with compiled fn # x_mod = (1 + mod.scale) * self.pre_norm(x) + mod.shift @@ -342,19 +389,44 @@ def _forward(self, x: Tensor, pe: Tensor, distill_vec: list[ModulationOut], mask q, k, v = rearrange(qkv, "B L (K H D) -> K B H L D", K=3, H=self.num_heads) q, k = self.norm(q, k, v) - # compute attention - attn = attention(q, k, v, pe=pe, attn_mask=mask) + # # compute attention + # attn = attention(q, k, v, pe=pe, attn_mask=mask) + + # compute attention: we split the batch into each element + q = list(torch.chunk(q, q.shape[0], dim=0)) + k = list(torch.chunk(k, k.shape[0], dim=0)) + v = list(torch.chunk(v, v.shape[0], dim=0)) + attn = [] + for i in range(x.size(0)): + q_i = torch.cat((q[i][:, :, : txt_seq_len[i]], q[i][:, :, max_txt_len:]), dim=2) + q[i] = None + k_i = torch.cat((k[i][:, :, : txt_seq_len[i]], k[i][:, :, max_txt_len:]), dim=2) + k[i] = None + v_i = torch.cat((v[i][:, :, : txt_seq_len[i]], v[i][:, :, max_txt_len:]), dim=2) + v[i] = None + attn_trimmed = attention(q_i, k_i, v_i, pe=pe[i], attn_mask=None) + print( + f"attn_trimmed.shape = {attn_trimmed.shape}, txt_seq_len[i] = {txt_seq_len[i]}, max_txt_len = {max_txt_len}, x.shape = {x.shape}" + ) + + attn_i = torch.zeros((1, x.shape[1], attn_trimmed.shape[-1]), dtype=attn_trimmed.dtype, device=self.device) + attn_i[:, : txt_seq_len[i], :] = attn_trimmed[:, : txt_seq_len[i], :] + attn_i[:, max_txt_len:, :] = attn_trimmed[:, txt_seq_len[i] :, :] + attn.append(attn_i) + + attn = torch.cat(attn, dim=0) + # compute activation in mlp stream, cat again and run second linear layer output = self.linear2(torch.cat((attn, self.mlp_act(mlp)), 2)) # replaced with compiled fn # return x + mod.gate * output return self.modulation_gate_fn(x, mod.gate, output) - def forward(self, x: Tensor, pe: Tensor, distill_vec: list[ModulationOut], mask: Tensor) -> Tensor: + def forward(self, x: Tensor, pe: Tensor, distill_vec: list[ModulationOut], txt_seq_len: Tensor, max_txt_len: int) -> Tensor: if self.training and self.gradient_checkpointing: - return ckpt.checkpoint(self._forward, x, pe, distill_vec, mask, use_reentrant=False) + return ckpt.checkpoint(self._forward, x, pe, distill_vec, txt_seq_len, max_txt_len, use_reentrant=False) else: - return self._forward(x, pe, distill_vec, mask) + return self._forward(x, pe, distill_vec, txt_seq_len, max_txt_len) class LastLayer(nn.Module): @@ -542,6 +614,29 @@ def __init__(self, params: ChromaParams): self.gradient_checkpointing = False self.cpu_offload_checkpointing = False + def get_mod_vectors( + self, + timesteps: Tensor, + guidance: Tensor | None = None, + batch_size: int | None = None, + requires_grad: bool = False, + ) -> Tensor: + distill_timestep = timestep_embedding(timesteps, self.approximator_in_dim // 4) + # TODO: need to add toggle to omit this from schnell but that's not a priority + distil_guidance = timestep_embedding(guidance, self.approximator_in_dim // 4) + # get all modulation index + modulation_index = timestep_embedding(self.mod_index, self.approximator_in_dim // 2) + # we need to broadcast the modulation index here so each batch has all of the index + modulation_index = modulation_index.unsqueeze(0).repeat(batch_size, 1, 1) + # and we need to broadcast timestep and guidance along too + timestep_guidance = torch.cat([distill_timestep, distil_guidance], dim=1).unsqueeze(1).repeat(1, self.mod_index_length, 1) + # then and only then we could concatenate it together + input_vec = torch.cat([timestep_guidance, modulation_index], dim=-1) + if requires_grad: + input_vec = input_vec.requires_grad_(True) + mod_vectors = self.distilled_guidance_layer(input_vec) + return mod_vectors + def forward( self, img: Tensor, @@ -554,6 +649,8 @@ def forward( block_controlnet_single_hidden_states=None, guidance: Tensor | None = None, txt_attention_mask: Tensor | None = None, + attn_padding: int = 1, + mod_vectors: Tensor | None = None, ) -> Tensor: # print( # f"Chroma forward: img shape {img.shape}, txt shape {txt.shape}, img_ids shape {img_ids.shape}, txt_ids shape {txt_ids.shape}" @@ -567,85 +664,64 @@ def forward( img = self.img_in(img) txt = self.txt_in(txt) - # TODO: - # need to fix grad accumulation issue here for now it's in no grad mode - # besides, i don't want to wash out the PFP that's trained on this model weights anyway - # the fan out operation here is deleting the backward graph - # alternatively doing forward pass for every block manually is doable but slow - # custom backward probably be better - with torch.no_grad(): - distill_timestep = timestep_embedding(timesteps, self.approximator_in_dim // 4) - # TODO: need to add toggle to omit this from schnell but that's not a priority - distil_guidance = timestep_embedding(guidance, self.approximator_in_dim // 4) - # get all modulation index - modulation_index = timestep_embedding(self.mod_index, self.approximator_in_dim // 2) - # we need to broadcast the modulation index here so each batch has all of the index - modulation_index = modulation_index.unsqueeze(0).repeat(img.shape[0], 1, 1) - # and we need to broadcast timestep and guidance along too - timestep_guidance = ( - torch.cat([distill_timestep, distil_guidance], dim=1).unsqueeze(1).repeat(1, self.mod_index_length, 1) - ) - # then and only then we could concatenate it together - input_vec = torch.cat([timestep_guidance, modulation_index], dim=-1) - mod_vectors = self.distilled_guidance_layer(input_vec.requires_grad_(True)) + if mod_vectors is None: + # TODO: + # need to fix grad accumulation issue here for now it's in no grad mode + # besides, i don't want to wash out the PFP that's trained on this model weights anyway + # the fan out operation here is deleting the backward graph + # alternatively doing forward pass for every block manually is doable but slow + # custom backward probably be better + with torch.no_grad(): + # kohya-ss: I'm not sure why requires_grad is set to True here + mod_vectors = self.get_mod_vectors(timesteps, guidance, img.shape[0], requires_grad=True) + mod_vectors_dict = distribute_modulations(mod_vectors, self.depth_single_blocks, self.depth_double_blocks) ids = torch.cat((txt_ids, img_ids), dim=1) - pe = self.pe_embedder(ids) - - # compute mask - # assume max seq length from the batched input - - max_len = txt.shape[1] - - # mask - with torch.no_grad(): - txt_mask_w_padding = modify_mask_to_attend_padding(txt_attention_mask, max_len, 1) - txt_img_mask = torch.cat( - [ - txt_mask_w_padding, - torch.ones([img.shape[0], img.shape[1]], device=txt_attention_mask.device), - ], - dim=1, - ) - txt_img_mask = txt_img_mask.float().T @ txt_img_mask.float() - txt_img_mask = txt_img_mask[None, None, ...].repeat(txt.shape[0], self.num_heads, 1, 1).int().bool() - # txt_mask_w_padding[txt_mask_w_padding==False] = True - - if not self.blocks_to_swap: - for i, block in enumerate(self.double_blocks): - # the guidance replaced by FFN output - img_mod = mod_vectors_dict[f"double_blocks.{i}.img_mod.lin"] - txt_mod = mod_vectors_dict[f"double_blocks.{i}.txt_mod.lin"] - double_mod = [img_mod, txt_mod] - - img, txt = block(img=img, txt=txt, pe=pe, distill_vec=double_mod, mask=txt_img_mask) - else: - for i, block in enumerate(self.double_blocks): + pe = self.pe_embedder(ids) # B, 1, seq_length, 64, 2, 2 + + # calculate text length for each batch instead of masking + txt_emb_len = txt.shape[1] + txt_seq_len = txt_attention_mask[:, :txt_emb_len].sum(dim=-1) # (batch_size, ) + txt_seq_len = torch.clip(txt_seq_len + attn_padding, 0, txt_emb_len) + max_txt_len = torch.max(txt_seq_len).item() # max text length in the batch + + # trim txt embedding to the text length + txt = txt[:, :max_txt_len, :] + + # split positional encoding into each element of the batch, and trim masked tokens + print(f"pe shape = {pe.shape} dtype = {pe.dtype}, txt_seq_len = {txt_seq_len}") + pe = list(torch.chunk(pe, pe.shape[0], dim=0)) + for i in range(len(pe)): + # trim positional encoding to the text length + pe[i] = torch.cat([pe[i][:, :, : txt_seq_len[i]], pe[i][:, :, txt_emb_len:]], dim=2) + + for i, block in enumerate(self.double_blocks): + if self.blocks_to_swap: self.offloader_double.wait_for_block(i) - # the guidance replaced by FFN output - img_mod = mod_vectors_dict[f"double_blocks.{i}.img_mod.lin"] - txt_mod = mod_vectors_dict[f"double_blocks.{i}.txt_mod.lin"] - double_mod = [img_mod, txt_mod] + # the guidance replaced by FFN output + img_mod = mod_vectors_dict[f"double_blocks.{i}.img_mod.lin"] + txt_mod = mod_vectors_dict[f"double_blocks.{i}.txt_mod.lin"] + double_mod = [img_mod, txt_mod] - img, txt = block(img=img, txt=txt, pe=pe, distill_vec=double_mod, mask=txt_img_mask) + img, txt = block(img=img, txt=txt, pe=pe, distill_vec=double_mod, txt_seq_len=txt_seq_len) + if self.blocks_to_swap: self.offloader_double.submit_move_blocks(self.double_blocks, i) img = torch.cat((txt, img), 1) - if not self.blocks_to_swap: - for i, block in enumerate(self.single_blocks): - single_mod = mod_vectors_dict[f"single_blocks.{i}.modulation.lin"] - img = block(img, pe=pe, distill_vec=single_mod, mask=txt_img_mask) - else: - for i, block in enumerate(self.single_blocks): + + for i, block in enumerate(self.single_blocks): + if self.blocks_to_swap: self.offloader_single.wait_for_block(i) - single_mod = mod_vectors_dict[f"single_blocks.{i}.modulation.lin"] - img = block(img, pe=pe, distill_vec=single_mod, mask=txt_img_mask) + single_mod = mod_vectors_dict[f"single_blocks.{i}.modulation.lin"] + img = block(img, pe=pe, distill_vec=single_mod, txt_seq_len=txt_seq_len, max_txt_len=max_txt_len) + if self.blocks_to_swap: self.offloader_single.submit_move_blocks(self.single_blocks, i) + img = img[:, txt.shape[1] :, ...] final_mod = mod_vectors_dict["final_layer.adaLN_modulation.1"] img = self.final_layer(img, distill_vec=final_mod) # (N, T, patch_size ** 2 * out_channels) From c4958b5dca0102b3f18fa2d2a383f177d508f872 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 20 Jul 2025 16:30:43 +0900 Subject: [PATCH 618/748] feat: change img/txt order for attention and single blocks --- library/chroma_models.py | 75 +++++++++++++++------------------------- 1 file changed, 28 insertions(+), 47 deletions(-) diff --git a/library/chroma_models.py b/library/chroma_models.py index 06822a37b..1b62f20f6 100644 --- a/library/chroma_models.py +++ b/library/chroma_models.py @@ -236,7 +236,8 @@ def _forward( txt_q, txt_k = self.txt_attn.norm(txt_q, txt_k, txt_v) # run actual attention: we split the batch into each element - max_txt_len = txt_q.shape[-2] # max 512 + max_txt_len = torch.max(txt_seq_len).item() + img_len = img_q.shape[-2] # max 64 txt_q = list(torch.chunk(txt_q, txt_q.shape[0], dim=0)) # list of [B, H, L, D] tensors txt_k = list(torch.chunk(txt_k, txt_k.shape[0], dim=0)) txt_v = list(torch.chunk(txt_v, txt_v.shape[0], dim=0)) @@ -246,35 +247,25 @@ def _forward( txt_attn = [] img_attn = [] for i in range(txt.shape[0]): - print(i) - print(f"len(txt_q) = {len(txt_q)}, len(img_q) = {len(img_q)}, txt_seq_len.shape = {txt_seq_len.shape}") - print(f"txt_seq_len[i] = {txt_seq_len[i]}, txt_q.shape = {txt_q[i].shape}, img_q.shape = {img_q[i].shape}") - txt_q_i = txt_q[i][:, :, : txt_seq_len[i]] + txt_q[i] = txt_q[i][:, :, : txt_seq_len[i]] + q = torch.cat((img_q[i], txt_q[i]), dim=2) txt_q[i] = None - img_q_i = img_q[i] img_q[i] = None - q = torch.cat((txt_q_i, img_q_i), dim=2) - del txt_q_i, img_q_i - txt_k_i = txt_k[i][:, :, : txt_seq_len[i]] + txt_k[i] = txt_k[i][:, :, : txt_seq_len[i]] + k = torch.cat((img_k[i], txt_k[i]), dim=2) txt_k[i] = None - img_k_i = img_k[i] img_k[i] = None - k = torch.cat((txt_k_i, img_k_i), dim=2) - del txt_k_i, img_k_i - txt_v_i = txt_v[i][:, :, : txt_seq_len[i]] + txt_v[i] = txt_v[i][:, :, : txt_seq_len[i]] + v = torch.cat((img_v[i], txt_v[i]), dim=2) txt_v[i] = None - img_v_i = img_v[i] img_v[i] = None - v = torch.cat((txt_v_i, img_v_i), dim=2) - del txt_v_i, img_v_i - attn = attention(q, k, v, pe=pe[i], attn_mask=None) # (1, L, D) - print(f"attn.shape = {attn.shape}, txt_seq_len[i] = {txt_seq_len[i]}, max_txt_len = {max_txt_len}") + attn = attention(q, k, v, pe=pe[i : i + 1, :, : q.shape[2]], attn_mask=None) # attn = (1, L, D) + img_attn_i = attn[:, :img_len, :] txt_attn_i = torch.zeros((1, max_txt_len, attn.shape[-1]), dtype=attn.dtype, device=self.device) - txt_attn_i[:, : txt_seq_len[i], :] = attn[:, : txt_seq_len[i], :] - img_attn_i = attn[:, txt_seq_len[i] :, :] + txt_attn_i[:, : txt_seq_len[i], :] = attn[:, img_len:, :] txt_attn.append(txt_attn_i) img_attn.append(img_attn_i) @@ -377,9 +368,7 @@ def enable_gradient_checkpointing(self): def disable_gradient_checkpointing(self): self.gradient_checkpointing = False - def _forward( - self, x: Tensor, pe: list[Tensor], distill_vec: list[ModulationOut], txt_seq_len: Tensor, max_txt_len: int - ) -> Tensor: + def _forward(self, x: Tensor, pe: list[Tensor], distill_vec: list[ModulationOut], txt_seq_len: Tensor) -> Tensor: mod = distill_vec # replaced with compiled fn # x_mod = (1 + mod.scale) * self.pre_norm(x) + mod.shift @@ -393,25 +382,23 @@ def _forward( # attn = attention(q, k, v, pe=pe, attn_mask=mask) # compute attention: we split the batch into each element + max_txt_len = torch.max(txt_seq_len).item() + img_len = q.shape[-2] - max_txt_len q = list(torch.chunk(q, q.shape[0], dim=0)) k = list(torch.chunk(k, k.shape[0], dim=0)) v = list(torch.chunk(v, v.shape[0], dim=0)) attn = [] for i in range(x.size(0)): - q_i = torch.cat((q[i][:, :, : txt_seq_len[i]], q[i][:, :, max_txt_len:]), dim=2) + q[i] = q[i][:, :, : img_len + txt_seq_len[i]] + k[i] = k[i][:, :, : img_len + txt_seq_len[i]] + v[i] = v[i][:, :, : img_len + txt_seq_len[i]] + attn_trimmed = attention(q[i], k[i], v[i], pe=pe[i : i + 1, :, : img_len + txt_seq_len[i]], attn_mask=None) q[i] = None - k_i = torch.cat((k[i][:, :, : txt_seq_len[i]], k[i][:, :, max_txt_len:]), dim=2) k[i] = None - v_i = torch.cat((v[i][:, :, : txt_seq_len[i]], v[i][:, :, max_txt_len:]), dim=2) v[i] = None - attn_trimmed = attention(q_i, k_i, v_i, pe=pe[i], attn_mask=None) - print( - f"attn_trimmed.shape = {attn_trimmed.shape}, txt_seq_len[i] = {txt_seq_len[i]}, max_txt_len = {max_txt_len}, x.shape = {x.shape}" - ) attn_i = torch.zeros((1, x.shape[1], attn_trimmed.shape[-1]), dtype=attn_trimmed.dtype, device=self.device) - attn_i[:, : txt_seq_len[i], :] = attn_trimmed[:, : txt_seq_len[i], :] - attn_i[:, max_txt_len:, :] = attn_trimmed[:, txt_seq_len[i] :, :] + attn_i[:, : img_len + txt_seq_len[i], :] = attn_trimmed attn.append(attn_i) attn = torch.cat(attn, dim=0) @@ -422,11 +409,11 @@ def _forward( # return x + mod.gate * output return self.modulation_gate_fn(x, mod.gate, output) - def forward(self, x: Tensor, pe: Tensor, distill_vec: list[ModulationOut], txt_seq_len: Tensor, max_txt_len: int) -> Tensor: + def forward(self, x: Tensor, pe: Tensor, distill_vec: list[ModulationOut], txt_seq_len: Tensor) -> Tensor: if self.training and self.gradient_checkpointing: - return ckpt.checkpoint(self._forward, x, pe, distill_vec, txt_seq_len, max_txt_len, use_reentrant=False) + return ckpt.checkpoint(self._forward, x, pe, distill_vec, txt_seq_len, use_reentrant=False) else: - return self._forward(x, pe, distill_vec, txt_seq_len, max_txt_len) + return self._forward(x, pe, distill_vec, txt_seq_len) class LastLayer(nn.Module): @@ -677,9 +664,6 @@ def forward( mod_vectors_dict = distribute_modulations(mod_vectors, self.depth_single_blocks, self.depth_double_blocks) - ids = torch.cat((txt_ids, img_ids), dim=1) - pe = self.pe_embedder(ids) # B, 1, seq_length, 64, 2, 2 - # calculate text length for each batch instead of masking txt_emb_len = txt.shape[1] txt_seq_len = txt_attention_mask[:, :txt_emb_len].sum(dim=-1) # (batch_size, ) @@ -689,12 +673,9 @@ def forward( # trim txt embedding to the text length txt = txt[:, :max_txt_len, :] - # split positional encoding into each element of the batch, and trim masked tokens - print(f"pe shape = {pe.shape} dtype = {pe.dtype}, txt_seq_len = {txt_seq_len}") - pe = list(torch.chunk(pe, pe.shape[0], dim=0)) - for i in range(len(pe)): - # trim positional encoding to the text length - pe[i] = torch.cat([pe[i][:, :, : txt_seq_len[i]], pe[i][:, :, txt_emb_len:]], dim=2) + # create positional encoding for the text and image + ids = torch.cat((img_ids, txt_ids[:, :max_txt_len]), dim=1) # reverse order of ids for faster attention + pe = self.pe_embedder(ids) # B, 1, seq_length, 64, 2, 2 for i, block in enumerate(self.double_blocks): if self.blocks_to_swap: @@ -710,19 +691,19 @@ def forward( if self.blocks_to_swap: self.offloader_double.submit_move_blocks(self.double_blocks, i) - img = torch.cat((txt, img), 1) + img = torch.cat((img, txt), 1) for i, block in enumerate(self.single_blocks): if self.blocks_to_swap: self.offloader_single.wait_for_block(i) single_mod = mod_vectors_dict[f"single_blocks.{i}.modulation.lin"] - img = block(img, pe=pe, distill_vec=single_mod, txt_seq_len=txt_seq_len, max_txt_len=max_txt_len) + img = block(img, pe=pe, distill_vec=single_mod, txt_seq_len=txt_seq_len) if self.blocks_to_swap: self.offloader_single.submit_move_blocks(self.single_blocks, i) - img = img[:, txt.shape[1] :, ...] + img = img[:, :-max_txt_len, ...] final_mod = mod_vectors_dict["final_layer.adaLN_modulation.1"] img = self.final_layer(img, distill_vec=final_mod) # (N, T, patch_size ** 2 * out_channels) return img From b4e862626aaba996ffe8b7f942ce5ce21d762919 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 20 Jul 2025 19:00:09 +0900 Subject: [PATCH 619/748] feat: add LoRA training support for Chroma --- flux_minimal_inference.py | 2 +- flux_train.py | 2 +- flux_train_control_net.py | 7 +- flux_train_network.py | 102 +++++++++------------ library/chroma_models.py | 50 ++++++---- library/flux_models.py | 177 +----------------------------------- library/flux_train_utils.py | 19 ++-- library/flux_utils.py | 43 ++++++++- library/sai_model_spec.py | 14 ++- library/train_util.py | 2 +- 10 files changed, 158 insertions(+), 260 deletions(-) diff --git a/flux_minimal_inference.py b/flux_minimal_inference.py index 550904d23..86e8e1b1f 100644 --- a/flux_minimal_inference.py +++ b/flux_minimal_inference.py @@ -468,7 +468,7 @@ def is_fp8(dt): # t5xxl = accelerator.prepare(t5xxl) # DiT - model_type, is_schnell, model = flux_utils.load_flow_model(args.ckpt_path, None, loading_device, model_type=args.model_type) + is_schnell, model = flux_utils.load_flow_model(args.ckpt_path, None, loading_device, model_type=args.model_type) model.eval() logger.info(f"Casting model to {flux_dtype}") model.to(flux_dtype) # make sure model is dtype diff --git a/flux_train.py b/flux_train.py index 1d2cc68b7..84db34cfd 100644 --- a/flux_train.py +++ b/flux_train.py @@ -270,7 +270,7 @@ def train(args): clean_memory_on_device(accelerator.device) # load FLUX - model_type, _, flux = flux_utils.load_flow_model( + _, flux = flux_utils.load_flow_model( args.pretrained_model_name_or_path, weight_dtype, "cpu", args.disable_mmap_load_safetensors, model_type="flux" ) diff --git a/flux_train_control_net.py b/flux_train_control_net.py index 3c038c32a..93c20dabd 100644 --- a/flux_train_control_net.py +++ b/flux_train_control_net.py @@ -68,6 +68,11 @@ def train(args): if not args.skip_cache_check: args.skip_cache_check = args.skip_latents_validity_check + if args.model_type != "flux": + raise ValueError( + f"FLUX.1 ControlNet training requires model_type='flux'. / FLUX.1 ControlNetの学習にはmodel_type='flux'を指定してください。" + ) + # assert ( # not args.weighted_captions # ), "weighted_captions is not supported currently / weighted_captionsは現在サポートされていません" @@ -258,7 +263,7 @@ def train(args): clean_memory_on_device(accelerator.device) # load FLUX - model_type, is_schnell, flux = flux_utils.load_flow_model( + is_schnell, flux = flux_utils.load_flow_model( args.pretrained_model_name_or_path, weight_dtype, "cpu", args.disable_mmap_load_safetensors, model_type="flux" ) flux.requires_grad_(False) diff --git a/flux_train_network.py b/flux_train_network.py index b2bf8e7cf..1b61ac723 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -35,6 +35,7 @@ def __init__(self): self.sample_prompts_te_outputs = None self.is_schnell: Optional[bool] = None self.is_swapping_blocks: bool = False + self.model_type: Optional[str] = None def assert_extra_args( self, @@ -45,6 +46,12 @@ def assert_extra_args( super().assert_extra_args(args, train_dataset_group, val_dataset_group) # sdxl_train_util.verify_sdxl_training_args(args) + self.model_type = args.model_type # "flux" or "chroma" + if self.model_type != "chroma": + self.use_clip_l = True + else: + self.use_clip_l = False # Chroma does not use CLIP-L + if args.fp8_base_unet: args.fp8_base = True # if fp8_base_unet is enabled, fp8_base is also enabled for FLUX.1 @@ -60,7 +67,7 @@ def assert_extra_args( ), "when caching Text Encoder output, either caption_dropout_rate, shuffle_caption, token_warmup_step or caption_tag_dropout_rate cannot be used / Text Encoderの出力をキャッシュするときはcaption_dropout_rate, shuffle_caption, token_warmup_step, caption_tag_dropout_rateは使えません" # prepare CLIP-L/T5XXL training flags - self.train_clip_l = not args.network_train_unet_only + self.train_clip_l = not args.network_train_unet_only and self.use_clip_l self.train_t5xxl = False # default is False even if args.network_train_unet_only is False if args.max_token_length is not None: @@ -95,8 +102,12 @@ def load_target_model(self, args, weight_dtype, accelerator): loading_dtype = None if args.fp8_base else weight_dtype # if we load to cpu, flux.to(fp8) takes a long time, so we should load to gpu in future - self.model_type, self.is_schnell, model = flux_utils.load_flow_model( - args.pretrained_model_name_or_path, loading_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors, model_type="flux" + _, model = flux_utils.load_flow_model( + args.pretrained_model_name_or_path, + loading_dtype, + "cpu", + disable_mmap=args.disable_mmap_load_safetensors, + model_type=self.model_type, ) if args.fp8_base: # check dtype of model @@ -120,7 +131,10 @@ def load_target_model(self, args, weight_dtype, accelerator): logger.info(f"enable block swap: blocks_to_swap={args.blocks_to_swap}") model.enable_block_swap(args.blocks_to_swap, accelerator.device) - clip_l = flux_utils.load_clip_l(args.clip_l, weight_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors) + if self.use_clip_l: + clip_l = flux_utils.load_clip_l(args.clip_l, weight_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors) + else: + clip_l = flux_utils.dummy_clip_l() # dummy CLIP-L for Chroma, which does not use CLIP-L clip_l.eval() # if the file is fp8 and we are using fp8_base (not unet), we can load it as is (fp8) @@ -141,13 +155,20 @@ def load_target_model(self, args, weight_dtype, accelerator): ae = flux_utils.load_ae(args.ae, weight_dtype, "cpu", disable_mmap=args.disable_mmap_load_safetensors) - return flux_utils.MODEL_VERSION_FLUX_V1, [clip_l, t5xxl], ae, model + model_version = flux_utils.MODEL_VERSION_FLUX_V1 if self.model_type != "chroma" else flux_utils.MODEL_VERSION_CHROMA + return model_version, [clip_l, t5xxl], ae, model def get_tokenize_strategy(self, args): - _, is_schnell, _, _ = flux_utils.analyze_checkpoint_state(args.pretrained_model_name_or_path) + # This method is called before `assert_extra_args`, so we cannot use `self.is_schnell` here. + # Instead, we analyze the checkpoint state to determine if it is schnell. + if args.model_type != "chroma": + _, is_schnell, _, _ = flux_utils.analyze_checkpoint_state(args.pretrained_model_name_or_path) + else: + is_schnell = False + self.is_schnell = is_schnell if args.t5xxl_max_token_length is None: - if is_schnell: + if self.is_schnell: t5xxl_max_token_length = 256 else: t5xxl_max_token_length = 512 @@ -268,23 +289,6 @@ def cache_text_encoder_outputs_if_needed( text_encoders[0].to(accelerator.device, dtype=weight_dtype) text_encoders[1].to(accelerator.device) - # def call_unet(self, args, accelerator, unet, noisy_latents, timesteps, text_conds, batch, weight_dtype): - # noisy_latents = noisy_latents.to(weight_dtype) # TODO check why noisy_latents is not weight_dtype - - # # get size embeddings - # orig_size = batch["original_sizes_hw"] - # crop_size = batch["crop_top_lefts"] - # target_size = batch["target_sizes_hw"] - # embs = sdxl_train_util.get_size_embeddings(orig_size, crop_size, target_size, accelerator.device).to(weight_dtype) - - # # concat embeddings - # encoder_hidden_states1, encoder_hidden_states2, pool2 = text_conds - # vector_embedding = torch.cat([pool2, embs], dim=1).to(weight_dtype) - # text_embedding = torch.cat([encoder_hidden_states1, encoder_hidden_states2], dim=2).to(weight_dtype) - - # noise_pred = unet(noisy_latents, timesteps, text_embedding, vector_embedding) - # return noise_pred - def sample_images(self, accelerator, args, epoch, global_step, device, ae, tokenizer, text_encoder, flux): text_encoders = text_encoder # for compatibility text_encoders = self.get_models_for_text_encoding(args, accelerator, text_encoders) @@ -292,36 +296,6 @@ def sample_images(self, accelerator, args, epoch, global_step, device, ae, token flux_train_utils.sample_images( accelerator, args, epoch, global_step, flux, ae, text_encoders, self.sample_prompts_te_outputs ) - # return - - """ - class FluxUpperLowerWrapper(torch.nn.Module): - def __init__(self, flux_upper: flux_models.FluxUpper, flux_lower: flux_models.FluxLower, device: torch.device): - super().__init__() - self.flux_upper = flux_upper - self.flux_lower = flux_lower - self.target_device = device - - def prepare_block_swap_before_forward(self): - pass - - def forward(self, img, img_ids, txt, txt_ids, timesteps, y, guidance=None, txt_attention_mask=None): - self.flux_lower.to("cpu") - clean_memory_on_device(self.target_device) - self.flux_upper.to(self.target_device) - img, txt, vec, pe = self.flux_upper(img, img_ids, txt, txt_ids, timesteps, y, guidance, txt_attention_mask) - self.flux_upper.to("cpu") - clean_memory_on_device(self.target_device) - self.flux_lower.to(self.target_device) - return self.flux_lower(img, txt, vec, pe, txt_attention_mask) - - wrapper = FluxUpperLowerWrapper(self.flux_upper, flux, accelerator.device) - clean_memory_on_device(accelerator.device) - flux_train_utils.sample_images( - accelerator, args, epoch, global_step, wrapper, ae, text_encoders, self.sample_prompts_te_outputs - ) - clean_memory_on_device(accelerator.device) - """ def get_noise_scheduler(self, args: argparse.Namespace, device: torch.device) -> Any: noise_scheduler = sd3_train_utils.FlowMatchEulerDiscreteScheduler(num_train_timesteps=1000, shift=args.discrete_flow_shift) @@ -366,7 +340,11 @@ def get_noise_pred_and_target( # ensure guidance_scale in args is float guidance_vec = torch.full((bsz,), float(args.guidance_scale), device=accelerator.device) - # ensure the hidden state will require grad + # get modulation vectors for Chroma + input_vec = None + if self.model_type == "chroma": + input_vec = unet.get_input_vec(timesteps=timesteps, guidance=guidance_vec, batch_size=bsz) + if args.gradient_checkpointing: noisy_model_input.requires_grad_(True) for t in text_encoder_conds: @@ -374,13 +352,15 @@ def get_noise_pred_and_target( t.requires_grad_(True) img_ids.requires_grad_(True) guidance_vec.requires_grad_(True) + if input_vec is not None: + input_vec.requires_grad_(True) # Predict the noise residual l_pooled, t5_out, txt_ids, t5_attn_mask = text_encoder_conds if not args.apply_t5_attn_mask: t5_attn_mask = None - def call_dit(img, img_ids, t5_out, txt_ids, l_pooled, timesteps, guidance_vec, t5_attn_mask): + def call_dit(img, img_ids, t5_out, txt_ids, l_pooled, timesteps, guidance_vec, t5_attn_mask, input_vec): # grad is enabled even if unet is not in train mode, because Text Encoder is in train mode with torch.set_grad_enabled(is_train), accelerator.autocast(): # YiYi notes: divide it by 1000 for now because we scale it by 1000 in the transformer model (we should not keep it but I want to keep the inputs same for the model for testing) @@ -393,6 +373,7 @@ def call_dit(img, img_ids, t5_out, txt_ids, l_pooled, timesteps, guidance_vec, t timesteps=timesteps / 1000, guidance=guidance_vec, txt_attention_mask=t5_attn_mask, + input_vec=input_vec, ) return model_pred @@ -405,6 +386,7 @@ def call_dit(img, img_ids, t5_out, txt_ids, l_pooled, timesteps, guidance_vec, t timesteps=timesteps, guidance_vec=guidance_vec, t5_attn_mask=t5_attn_mask, + input_vec=input_vec, ) # unpack latents @@ -436,6 +418,7 @@ def call_dit(img, img_ids, t5_out, txt_ids, l_pooled, timesteps, guidance_vec, t timesteps=timesteps[diff_output_pr_indices], guidance_vec=guidance_vec[diff_output_pr_indices] if guidance_vec is not None else None, t5_attn_mask=t5_attn_mask[diff_output_pr_indices] if t5_attn_mask is not None else None, + input_vec=input_vec[diff_output_pr_indices] if input_vec is not None else None, ) network.set_multiplier(1.0) # may be overwritten by "network_multipliers" in the next step @@ -454,9 +437,14 @@ def post_process_loss(self, loss, args, timesteps, noise_scheduler): return loss def get_sai_model_spec(self, args): - return train_util.get_sai_model_spec(None, args, False, True, False, flux="dev") + if self.model_type != "chroma": + model_description = "schnell" if self.is_schnell else "dev" + else: + model_description = "chroma" + return train_util.get_sai_model_spec(None, args, False, True, False, flux=model_description) def update_metadata(self, metadata, args): + metadata["ss_model_type"] = args.model_type metadata["ss_apply_t5_attn_mask"] = args.apply_t5_attn_mask metadata["ss_weighting_scheme"] = args.weighting_scheme metadata["ss_logit_mean"] = args.logit_mean diff --git a/library/chroma_models.py b/library/chroma_models.py index 1b62f20f6..e5d3b547a 100644 --- a/library/chroma_models.py +++ b/library/chroma_models.py @@ -601,13 +601,30 @@ def __init__(self, params: ChromaParams): self.gradient_checkpointing = False self.cpu_offload_checkpointing = False - def get_mod_vectors( - self, - timesteps: Tensor, - guidance: Tensor | None = None, - batch_size: int | None = None, - requires_grad: bool = False, - ) -> Tensor: + def get_model_type(self) -> str: + return "chroma" + + def enable_gradient_checkpointing(self, cpu_offload: bool = False): + self.gradient_checkpointing = True + self.cpu_offload_checkpointing = cpu_offload + + self.distilled_guidance_layer.enable_gradient_checkpointing() + for block in self.double_blocks + self.single_blocks: + block.enable_gradient_checkpointing() + + print(f"Chroma: Gradient checkpointing enabled.") + + def disable_gradient_checkpointing(self): + self.gradient_checkpointing = False + self.cpu_offload_checkpointing = False + + self.distilled_guidance_layer.disable_gradient_checkpointing() + for block in self.double_blocks + self.single_blocks: + block.disable_gradient_checkpointing() + + print("Chroma: Gradient checkpointing disabled.") + + def get_input_vec(self, timesteps: Tensor, guidance: Tensor | None = None, batch_size: int | None = None) -> Tensor: distill_timestep = timestep_embedding(timesteps, self.approximator_in_dim // 4) # TODO: need to add toggle to omit this from schnell but that's not a priority distil_guidance = timestep_embedding(guidance, self.approximator_in_dim // 4) @@ -619,10 +636,7 @@ def get_mod_vectors( timestep_guidance = torch.cat([distill_timestep, distil_guidance], dim=1).unsqueeze(1).repeat(1, self.mod_index_length, 1) # then and only then we could concatenate it together input_vec = torch.cat([timestep_guidance, modulation_index], dim=-1) - if requires_grad: - input_vec = input_vec.requires_grad_(True) - mod_vectors = self.distilled_guidance_layer(input_vec) - return mod_vectors + return input_vec def forward( self, @@ -637,7 +651,7 @@ def forward( guidance: Tensor | None = None, txt_attention_mask: Tensor | None = None, attn_padding: int = 1, - mod_vectors: Tensor | None = None, + input_vec: Tensor | None = None, ) -> Tensor: # print( # f"Chroma forward: img shape {img.shape}, txt shape {txt.shape}, img_ids shape {img_ids.shape}, txt_ids shape {txt_ids.shape}" @@ -651,7 +665,7 @@ def forward( img = self.img_in(img) txt = self.txt_in(txt) - if mod_vectors is None: + if input_vec is None: # TODO: # need to fix grad accumulation issue here for now it's in no grad mode # besides, i don't want to wash out the PFP that's trained on this model weights anyway @@ -659,14 +673,18 @@ def forward( # alternatively doing forward pass for every block manually is doable but slow # custom backward probably be better with torch.no_grad(): - # kohya-ss: I'm not sure why requires_grad is set to True here - mod_vectors = self.get_mod_vectors(timesteps, guidance, img.shape[0], requires_grad=True) + input_vec = self.get_input_vec(timesteps, guidance, img.shape[0]) + # kohya-ss: I'm not sure why requires_grad is set to True here + input_vec.requires_grad = True + mod_vectors = self.distilled_guidance_layer(input_vec) + else: + mod_vectors = self.distilled_guidance_layer(input_vec) mod_vectors_dict = distribute_modulations(mod_vectors, self.depth_single_blocks, self.depth_double_blocks) # calculate text length for each batch instead of masking txt_emb_len = txt.shape[1] - txt_seq_len = txt_attention_mask[:, :txt_emb_len].sum(dim=-1) # (batch_size, ) + txt_seq_len = txt_attention_mask[:, :txt_emb_len].sum(dim=-1).to(torch.int64) # (batch_size, ) txt_seq_len = torch.clip(txt_seq_len + attn_padding, 0, txt_emb_len) max_txt_len = torch.max(txt_seq_len).item() # max text length in the batch diff --git a/library/flux_models.py b/library/flux_models.py index 328ad481d..6f889755a 100644 --- a/library/flux_models.py +++ b/library/flux_models.py @@ -930,6 +930,9 @@ def __init__(self, params: FluxParams): self.num_double_blocks = len(self.double_blocks) self.num_single_blocks = len(self.single_blocks) + def get_model_type(self) -> str: + return "flux" + @property def device(self): return next(self.parameters()).device @@ -1018,6 +1021,7 @@ def forward( block_controlnet_single_hidden_states=None, guidance: Tensor | None = None, txt_attention_mask: Tensor | None = None, + input_vec: Tensor | None = None, ) -> Tensor: if img.ndim != 3 or txt.ndim != 3: raise ValueError("Input img and txt tensors must have 3 dimensions.") @@ -1169,7 +1173,7 @@ def __init__(self, params: FluxParams, controlnet_depth=2, controlnet_single_dep nn.SiLU(), nn.Conv2d(16, 16, 3, padding=1, stride=2), nn.SiLU(), - zero_module(nn.Conv2d(16, 16, 3, padding=1)) + zero_module(nn.Conv2d(16, 16, 3, padding=1)), ) @property @@ -1320,174 +1324,3 @@ def forward( controlnet_single_block_samples = controlnet_single_block_samples + (block_sample,) return controlnet_block_samples, controlnet_single_block_samples - - -""" -class FluxUpper(nn.Module): - "" - Transformer model for flow matching on sequences. - "" - - def __init__(self, params: FluxParams): - super().__init__() - - self.params = params - self.in_channels = params.in_channels - self.out_channels = self.in_channels - if params.hidden_size % params.num_heads != 0: - raise ValueError(f"Hidden size {params.hidden_size} must be divisible by num_heads {params.num_heads}") - pe_dim = params.hidden_size // params.num_heads - if sum(params.axes_dim) != pe_dim: - raise ValueError(f"Got {params.axes_dim} but expected positional dim {pe_dim}") - self.hidden_size = params.hidden_size - self.num_heads = params.num_heads - self.pe_embedder = EmbedND(dim=pe_dim, theta=params.theta, axes_dim=params.axes_dim) - self.img_in = nn.Linear(self.in_channels, self.hidden_size, bias=True) - self.time_in = MLPEmbedder(in_dim=256, hidden_dim=self.hidden_size) - self.vector_in = MLPEmbedder(params.vec_in_dim, self.hidden_size) - self.guidance_in = MLPEmbedder(in_dim=256, hidden_dim=self.hidden_size) if params.guidance_embed else nn.Identity() - self.txt_in = nn.Linear(params.context_in_dim, self.hidden_size) - - self.double_blocks = nn.ModuleList( - [ - DoubleStreamBlock( - self.hidden_size, - self.num_heads, - mlp_ratio=params.mlp_ratio, - qkv_bias=params.qkv_bias, - ) - for _ in range(params.depth) - ] - ) - - self.gradient_checkpointing = False - - @property - def device(self): - return next(self.parameters()).device - - @property - def dtype(self): - return next(self.parameters()).dtype - - def enable_gradient_checkpointing(self): - self.gradient_checkpointing = True - - self.time_in.enable_gradient_checkpointing() - self.vector_in.enable_gradient_checkpointing() - if self.guidance_in.__class__ != nn.Identity: - self.guidance_in.enable_gradient_checkpointing() - - for block in self.double_blocks: - block.enable_gradient_checkpointing() - - print("FLUX: Gradient checkpointing enabled.") - - def disable_gradient_checkpointing(self): - self.gradient_checkpointing = False - - self.time_in.disable_gradient_checkpointing() - self.vector_in.disable_gradient_checkpointing() - if self.guidance_in.__class__ != nn.Identity: - self.guidance_in.disable_gradient_checkpointing() - - for block in self.double_blocks: - block.disable_gradient_checkpointing() - - print("FLUX: Gradient checkpointing disabled.") - - def forward( - self, - img: Tensor, - img_ids: Tensor, - txt: Tensor, - txt_ids: Tensor, - timesteps: Tensor, - y: Tensor, - guidance: Tensor | None = None, - txt_attention_mask: Tensor | None = None, - ) -> Tensor: - if img.ndim != 3 or txt.ndim != 3: - raise ValueError("Input img and txt tensors must have 3 dimensions.") - - # running on sequences img - img = self.img_in(img) - vec = self.time_in(timestep_embedding(timesteps, 256)) - if self.params.guidance_embed: - if guidance is None: - raise ValueError("Didn't get guidance strength for guidance distilled model.") - vec = vec + self.guidance_in(timestep_embedding(guidance, 256)) - vec = vec + self.vector_in(y) - txt = self.txt_in(txt) - - ids = torch.cat((txt_ids, img_ids), dim=1) - pe = self.pe_embedder(ids) - - for block in self.double_blocks: - img, txt = block(img=img, txt=txt, vec=vec, pe=pe, txt_attention_mask=txt_attention_mask) - - return img, txt, vec, pe - - -class FluxLower(nn.Module): - "" - Transformer model for flow matching on sequences. - "" - - def __init__(self, params: FluxParams): - super().__init__() - self.hidden_size = params.hidden_size - self.num_heads = params.num_heads - self.out_channels = params.in_channels - - self.single_blocks = nn.ModuleList( - [ - SingleStreamBlock(self.hidden_size, self.num_heads, mlp_ratio=params.mlp_ratio) - for _ in range(params.depth_single_blocks) - ] - ) - - self.final_layer = LastLayer(self.hidden_size, 1, self.out_channels) - - self.gradient_checkpointing = False - - @property - def device(self): - return next(self.parameters()).device - - @property - def dtype(self): - return next(self.parameters()).dtype - - def enable_gradient_checkpointing(self): - self.gradient_checkpointing = True - - for block in self.single_blocks: - block.enable_gradient_checkpointing() - - print("FLUX: Gradient checkpointing enabled.") - - def disable_gradient_checkpointing(self): - self.gradient_checkpointing = False - - for block in self.single_blocks: - block.disable_gradient_checkpointing() - - print("FLUX: Gradient checkpointing disabled.") - - def forward( - self, - img: Tensor, - txt: Tensor, - vec: Tensor | None = None, - pe: Tensor | None = None, - txt_attention_mask: Tensor | None = None, - ) -> Tensor: - img = torch.cat((txt, img), 1) - for block in self.single_blocks: - img = block(img, vec=vec, pe=pe, txt_attention_mask=txt_attention_mask) - img = img[:, txt.shape[1] :, ...] - - img = self.final_layer(img, vec) # (N, T, patch_size ** 2 * out_channels) - return img -""" diff --git a/library/flux_train_utils.py b/library/flux_train_utils.py index 8392e5592..f3eb81992 100644 --- a/library/flux_train_utils.py +++ b/library/flux_train_utils.py @@ -154,9 +154,8 @@ def sample_image_inference( sample_steps = prompt_dict.get("sample_steps", 20) width = prompt_dict.get("width", 512) height = prompt_dict.get("height", 512) - # TODO refactor variable names - cfg_scale = prompt_dict.get("guidance_scale", 1.0) - emb_guidance_scale = prompt_dict.get("scale", 3.5) + emb_guidance_scale = prompt_dict.get("guidance_scale", 3.5) + cfg_scale = prompt_dict.get("scale", 1.0) seed = prompt_dict.get("seed") controlnet_image = prompt_dict.get("controlnet_image") prompt: str = prompt_dict.get("prompt", "") @@ -242,7 +241,7 @@ def encode_prompt(prpt): dtype=weight_dtype, generator=torch.Generator(device=accelerator.device).manual_seed(seed) if seed is not None else None, ) - timesteps = get_schedule(sample_steps, noise.shape[1], shift=True) # FLUX.1 dev -> shift=True + timesteps = get_schedule(sample_steps, noise.shape[1], shift=True) # Chroma can use shift=True img_ids = flux_utils.prepare_img_ids(1, packed_latent_height, packed_latent_width).to(accelerator.device, weight_dtype) t5_attn_mask = t5_attn_mask.to(accelerator.device) if args.apply_t5_attn_mask else None @@ -403,8 +402,8 @@ def denoise( y=torch.cat([neg_l_pooled, vec], dim=0), block_controlnet_hidden_states=block_samples, block_controlnet_single_hidden_states=block_single_samples, - timesteps=t_vec, - guidance=guidance_vec, + timesteps=t_vec.repeat(2), + guidance=guidance_vec.repeat(2), txt_attention_mask=nc_c_t5_attn_mask, ) neg_pred, pred = torch.chunk(nc_c_pred, 2, dim=0) @@ -680,3 +679,11 @@ def add_flux_train_arguments(parser: argparse.ArgumentParser): default=3.0, help="Discrete flow shift for the Euler Discrete Scheduler, default is 3.0. / Euler Discrete Schedulerの離散フローシフト、デフォルトは3.0。", ) + + parser.add_argument( + "--model_type", + type=str, + choices=["flux", "chroma"], + default="flux", + help="Model type to use for training / トレーニングに使用するモデルタイプ:flux or chroma (default: flux)", + ) diff --git a/library/flux_utils.py b/library/flux_utils.py index dda7c789d..3f0a0d63e 100644 --- a/library/flux_utils.py +++ b/library/flux_utils.py @@ -23,6 +23,7 @@ MODEL_VERSION_FLUX_V1 = "flux1" MODEL_NAME_DEV = "dev" MODEL_NAME_SCHNELL = "schnell" +MODEL_VERSION_CHROMA = "chroma" def analyze_checkpoint_state(ckpt_path: str) -> Tuple[bool, bool, Tuple[int, int], List[str]]: @@ -97,7 +98,7 @@ def load_flow_model( device: Union[str, torch.device], disable_mmap: bool = False, model_type: str = "flux", -) -> Tuple[str, bool, flux_models.Flux]: +) -> Tuple[bool, flux_models.Flux]: if model_type == "flux": is_diffusers, is_schnell, (num_double_blocks, num_single_blocks), ckpt_paths = analyze_checkpoint_state(ckpt_path) name = MODEL_NAME_DEV if not is_schnell else MODEL_NAME_SCHNELL @@ -140,7 +141,7 @@ def load_flow_model( info = model.load_state_dict(sd, strict=False, assign=True) logger.info(f"Loaded Flux: {info}") - return model_type, is_schnell, model + return is_schnell, model elif model_type == "chroma": from . import chroma_models @@ -166,7 +167,7 @@ def load_flow_model( info = model.load_state_dict(sd, strict=False, assign=True) logger.info(f"Loaded Chroma: {info}") is_schnell = False # Chroma is not schnell - return model_type, is_schnell, model + return is_schnell, model else: raise ValueError(f"Unsupported model_type: {model_type}. Supported types are 'flux' and 'chroma'.") @@ -203,6 +204,42 @@ def load_controlnet( return controlnet +def dummy_clip_l() -> torch.nn.Module: + """ + Returns a dummy CLIP-L model with the output shape of (N, 77, 768). + """ + return DummyCLIPL() + + +class DummyTextModel(torch.nn.Module): + def __init__(self): + super().__init__() + self.embeddings = torch.nn.Parameter(torch.zeros(1)) + + +class DummyCLIPL(torch.nn.Module): + def __init__(self): + super().__init__() + self.output_shape = (77, 1) # Note: The original code had (77, 768), but we use (77, 1) for the dummy output + self.dummy_param = torch.nn.Parameter(torch.zeros(1)) # get dtype and device from this parameter + self.text_model = DummyTextModel() + + @property + def device(self): + return self.dummy_param.device + + @property + def dtype(self): + return self.dummy_param.dtype + + def forward(self, *args, **kwargs): + """ + Returns a dummy output with the shape of (N, 77, 768). + """ + batch_size = args[0].shape[0] if args else 1 + return {"pooler_output": torch.zeros(batch_size, *self.output_shape, device=self.device, dtype=self.dtype)} + + def load_clip_l( ckpt_path: Optional[str], dtype: torch.dtype, diff --git a/library/sai_model_spec.py b/library/sai_model_spec.py index 8896c047e..662a6b2ee 100644 --- a/library/sai_model_spec.py +++ b/library/sai_model_spec.py @@ -60,6 +60,8 @@ ARCH_SD3_M = "stable-diffusion-3" # may be followed by "-m" or "-5-large" etc. # ARCH_SD3_UNKNOWN = "stable-diffusion-3" ARCH_FLUX_1_DEV = "flux-1-dev" +ARCH_FLUX_1_SCHNELL = "flux-1-schnell" +ARCH_FLUX_1_CHROMA = "chroma" # for Flux Chroma ARCH_FLUX_1_UNKNOWN = "flux-1" ADAPTER_LORA = "lora" @@ -69,6 +71,7 @@ IMPL_COMFY_UI = "https://github.com/comfyanonymous/ComfyUI" IMPL_DIFFUSERS = "diffusers" IMPL_FLUX = "https://github.com/black-forest-labs/flux" +IMPL_CHROMA = "https://huggingface.co/lodestones/Chroma" PRED_TYPE_EPSILON = "epsilon" PRED_TYPE_V = "v" @@ -125,7 +128,7 @@ def build_metadata( flux: Optional[str] = None, ): """ - sd3: only supports "m", flux: only supports "dev" + sd3: only supports "m", flux: supports "dev", "schnell" or "chroma" """ # if state_dict is None, hash is not calculated @@ -144,6 +147,10 @@ def build_metadata( elif flux is not None: if flux == "dev": arch = ARCH_FLUX_1_DEV + elif flux == "schnell": + arch = ARCH_FLUX_1_SCHNELL + elif flux == "chroma": + arch = ARCH_FLUX_1_CHROMA else: arch = ARCH_FLUX_1_UNKNOWN elif v2: @@ -166,7 +173,10 @@ def build_metadata( if flux is not None: # Flux - impl = IMPL_FLUX + if flux == "chroma": + impl = IMPL_CHROMA + else: + impl = IMPL_FLUX elif (lora and sdxl) or textual_inversion or is_stable_diffusion_ckpt: # Stable Diffusion ckpt, TI, SDXL LoRA impl = IMPL_STABILITY_AI diff --git a/library/train_util.py b/library/train_util.py index 36d419fd2..b09963fb1 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -3482,7 +3482,7 @@ def get_sai_model_spec( textual_inversion: bool, is_stable_diffusion_ckpt: Optional[bool] = None, # None for TI and LoRA sd3: str = None, - flux: str = None, + flux: str = None, # "dev", "schnell" or "chroma" ): timestamp = time.time() From 0b763ef1f17fc9117b630c3478c6ae02437ac07e Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 20 Jul 2025 20:53:06 +0900 Subject: [PATCH 620/748] feat: fix timestep for input_vec for Chroma --- flux_train_network.py | 4 +--- library/chroma_models.py | 36 ++++++++++++++++++++++++++++++------ library/flux_models.py | 3 +++ 3 files changed, 34 insertions(+), 9 deletions(-) diff --git a/flux_train_network.py b/flux_train_network.py index 1b61ac723..13e9ae2a2 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -341,9 +341,7 @@ def get_noise_pred_and_target( guidance_vec = torch.full((bsz,), float(args.guidance_scale), device=accelerator.device) # get modulation vectors for Chroma - input_vec = None - if self.model_type == "chroma": - input_vec = unet.get_input_vec(timesteps=timesteps, guidance=guidance_vec, batch_size=bsz) + input_vec = unet.get_input_vec(timesteps=timesteps / 1000, guidance=guidance_vec, batch_size=bsz) if args.gradient_checkpointing: noisy_model_input.requires_grad_(True) diff --git a/library/chroma_models.py b/library/chroma_models.py index e5d3b547a..b9c54db41 100644 --- a/library/chroma_models.py +++ b/library/chroma_models.py @@ -223,7 +223,10 @@ def _forward( # img_modulated = (1 + img_mod1.scale) * img_modulated + img_mod1.shift img_modulated = self.modulation_shift_scale_fn(img_modulated, img_mod1.scale, img_mod1.shift) img_qkv = self.img_attn.qkv(img_modulated) + del img_modulated + img_q, img_k, img_v = rearrange(img_qkv, "B L (K H D) -> K B H L D", K=3, H=self.num_heads) + del img_qkv img_q, img_k = self.img_attn.norm(img_q, img_k, img_v) # prepare txt for attention @@ -232,7 +235,10 @@ def _forward( # txt_modulated = (1 + txt_mod1.scale) * txt_modulated + txt_mod1.shift txt_modulated = self.modulation_shift_scale_fn(txt_modulated, txt_mod1.scale, txt_mod1.shift) txt_qkv = self.txt_attn.qkv(txt_modulated) + del txt_modulated + txt_q, txt_k, txt_v = rearrange(txt_qkv, "B L (K H D) -> K B H L D", K=3, H=self.num_heads) + del txt_qkv txt_q, txt_k = self.txt_attn.norm(txt_q, txt_k, txt_v) # run actual attention: we split the batch into each element @@ -263,9 +269,11 @@ def _forward( img_v[i] = None attn = attention(q, k, v, pe=pe[i : i + 1, :, : q.shape[2]], attn_mask=None) # attn = (1, L, D) + del q, k, v img_attn_i = attn[:, :img_len, :] txt_attn_i = torch.zeros((1, max_txt_len, attn.shape[-1]), dtype=attn.dtype, device=self.device) txt_attn_i[:, : txt_seq_len[i], :] = attn[:, img_len:, :] + del attn txt_attn.append(txt_attn_i) img_attn.append(img_attn_i) @@ -279,27 +287,31 @@ def _forward( # attn = attention(q, k, v, pe=pe, attn_mask=mask) # txt_attn, img_attn = attn[:, : txt.shape[1]], attn[:, txt.shape[1] :] - # calculate the img bloks + # calculate the img blocks # replaced with compiled fn # img = img + img_mod1.gate * self.img_attn.proj(img_attn) # img = img + img_mod2.gate * self.img_mlp((1 + img_mod2.scale) * self.img_norm2(img) + img_mod2.shift) img = self.modulation_gate_fn(img, img_mod1.gate, self.img_attn.proj(img_attn)) + del img_attn, img_mod1 img = self.modulation_gate_fn( img, img_mod2.gate, self.img_mlp(self.modulation_shift_scale_fn(self.img_norm2(img), img_mod2.scale, img_mod2.shift)), ) + del img_mod2 - # calculate the txt bloks + # calculate the txt blocks # replaced with compiled fn # txt = txt + txt_mod1.gate * self.txt_attn.proj(txt_attn) # txt = txt + txt_mod2.gate * self.txt_mlp((1 + txt_mod2.scale) * self.txt_norm2(txt) + txt_mod2.shift) txt = self.modulation_gate_fn(txt, txt_mod1.gate, self.txt_attn.proj(txt_attn)) + del txt_attn, txt_mod1 txt = self.modulation_gate_fn( txt, txt_mod2.gate, self.txt_mlp(self.modulation_shift_scale_fn(self.txt_norm2(txt), txt_mod2.scale, txt_mod2.shift)), ) + del txt_mod2 return img, txt @@ -374,8 +386,10 @@ def _forward(self, x: Tensor, pe: list[Tensor], distill_vec: list[ModulationOut] # x_mod = (1 + mod.scale) * self.pre_norm(x) + mod.shift x_mod = self.modulation_shift_scale_fn(self.pre_norm(x), mod.scale, mod.shift) qkv, mlp = torch.split(self.linear1(x_mod), [3 * self.hidden_size, self.mlp_hidden_dim], dim=-1) + del x_mod q, k, v = rearrange(qkv, "B L (K H D) -> K B H L D", K=3, H=self.num_heads) + del qkv q, k = self.norm(q, k, v) # # compute attention @@ -399,12 +413,15 @@ def _forward(self, x: Tensor, pe: list[Tensor], distill_vec: list[ModulationOut] attn_i = torch.zeros((1, x.shape[1], attn_trimmed.shape[-1]), dtype=attn_trimmed.dtype, device=self.device) attn_i[:, : img_len + txt_seq_len[i], :] = attn_trimmed + del attn_trimmed attn.append(attn_i) attn = torch.cat(attn, dim=0) # compute activation in mlp stream, cat again and run second linear layer - output = self.linear2(torch.cat((attn, self.mlp_act(mlp)), 2)) + mlp = self.mlp_act(mlp) + output = self.linear2(torch.cat((attn, mlp), 2)) + del attn, mlp # replaced with compiled fn # return x + mod.gate * output return self.modulation_gate_fn(x, mod.gate, output) @@ -625,6 +642,7 @@ def disable_gradient_checkpointing(self): print("Chroma: Gradient checkpointing disabled.") def get_input_vec(self, timesteps: Tensor, guidance: Tensor | None = None, batch_size: int | None = None) -> Tensor: + # print(f"Chroma get_input_vec: timesteps {timesteps}, guidance: {guidance}, batch_size: {batch_size}") distill_timestep = timestep_embedding(timesteps, self.approximator_in_dim // 4) # TODO: need to add toggle to omit this from schnell but that's not a priority distil_guidance = timestep_embedding(guidance, self.approximator_in_dim // 4) @@ -656,6 +674,7 @@ def forward( # print( # f"Chroma forward: img shape {img.shape}, txt shape {txt.shape}, img_ids shape {img_ids.shape}, txt_ids shape {txt_ids.shape}" # ) + # print(f"input_vec shape: {input_vec.shape if input_vec is not None else 'None'}") # print(f"timesteps: {timesteps}, guidance: {guidance}") if img.ndim != 3 or txt.ndim != 3: @@ -687,6 +706,7 @@ def forward( txt_seq_len = txt_attention_mask[:, :txt_emb_len].sum(dim=-1).to(torch.int64) # (batch_size, ) txt_seq_len = torch.clip(txt_seq_len + attn_padding, 0, txt_emb_len) max_txt_len = torch.max(txt_seq_len).item() # max text length in the batch + # print(f"max_txt_len: {max_txt_len}, txt_seq_len: {txt_seq_len}") # trim txt embedding to the text length txt = txt[:, :max_txt_len, :] @@ -700,23 +720,27 @@ def forward( self.offloader_double.wait_for_block(i) # the guidance replaced by FFN output - img_mod = mod_vectors_dict[f"double_blocks.{i}.img_mod.lin"] - txt_mod = mod_vectors_dict[f"double_blocks.{i}.txt_mod.lin"] + img_mod = mod_vectors_dict.pop(f"double_blocks.{i}.img_mod.lin") + txt_mod = mod_vectors_dict.pop(f"double_blocks.{i}.txt_mod.lin") double_mod = [img_mod, txt_mod] + del img_mod, txt_mod img, txt = block(img=img, txt=txt, pe=pe, distill_vec=double_mod, txt_seq_len=txt_seq_len) + del double_mod if self.blocks_to_swap: self.offloader_double.submit_move_blocks(self.double_blocks, i) img = torch.cat((img, txt), 1) + del txt for i, block in enumerate(self.single_blocks): if self.blocks_to_swap: self.offloader_single.wait_for_block(i) - single_mod = mod_vectors_dict[f"single_blocks.{i}.modulation.lin"] + single_mod = mod_vectors_dict.pop(f"single_blocks.{i}.modulation.lin") img = block(img, pe=pe, distill_vec=single_mod, txt_seq_len=txt_seq_len) + del single_mod if self.blocks_to_swap: self.offloader_single.submit_move_blocks(self.single_blocks, i) diff --git a/library/flux_models.py b/library/flux_models.py index 6f889755a..2a2fe5f86 100644 --- a/library/flux_models.py +++ b/library/flux_models.py @@ -1009,6 +1009,9 @@ def prepare_block_swap_before_forward(self): self.offloader_double.prepare_block_devices_before_forward(self.double_blocks) self.offloader_single.prepare_block_devices_before_forward(self.single_blocks) + def get_input_vec(self, timesteps: Tensor, guidance: Tensor | None = None, batch_size: int | None = None) -> Tensor: + return None # FLUX.1 does not use input_vec, but Chroma does. + def forward( self, img: Tensor, From 77a160d8867422ffdf7be34d8879fe29e05a8040 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sun, 20 Jul 2025 21:25:43 +0900 Subject: [PATCH 621/748] fix: skip LoRA creation for None text encoders (CLIP-L for Chroma) --- networks/lora_flux.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/networks/lora_flux.py b/networks/lora_flux.py index 0b30f1b8a..ddc916089 100644 --- a/networks/lora_flux.py +++ b/networks/lora_flux.py @@ -892,6 +892,9 @@ def create_modules( skipped_te = [] for i, text_encoder in enumerate(text_encoders): index = i + if text_encoder is None: + logger.info(f"Text Encoder {index+1} is None, skipping LoRA creation for this encoder.") + continue if not train_t5xxl and index > 0: # 0: CLIP, 1: T5XXL, so we skip T5XXL if train_t5xxl is False break From aec7e160949d900f709fe3c10a8602362dc097f2 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Mon, 21 Jul 2025 13:14:59 +0900 Subject: [PATCH 622/748] feat: add an option to add system prompt for negative in lumina inference --- lumina_minimal_inference.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lumina_minimal_inference.py b/lumina_minimal_inference.py index 87dc9a194..47d6d30b9 100644 --- a/lumina_minimal_inference.py +++ b/lumina_minimal_inference.py @@ -48,7 +48,7 @@ def generate_image( steps: int, guidance_scale: float, negative_prompt: Optional[str], - args, + args: argparse.Namespace, cfg_trunc_ratio: float = 0.25, renorm_cfg: float = 1.0, ): @@ -88,7 +88,9 @@ def generate_image( with torch.no_grad(): gemma2_conds = encoding_strategy.encode_tokens(tokenize_strategy, [gemma2], tokens_and_masks) - tokens_and_masks = tokenize_strategy.tokenize(negative_prompt, is_negative=True) + tokens_and_masks = tokenize_strategy.tokenize( + negative_prompt, is_negative=True and not args.add_system_prompt_to_negative_prompt + ) with torch.no_grad(): neg_gemma2_conds = encoding_strategy.encode_tokens(tokenize_strategy, [gemma2], tokens_and_masks) @@ -215,6 +217,7 @@ def setup_parser() -> argparse.ArgumentParser: parser.add_argument("--device", type=str, default=None, help="Device to use (e.g., 'cuda:0')") parser.add_argument("--offload", action="store_true", help="Offload models to CPU to save VRAM") parser.add_argument("--system_prompt", type=str, default="", help="System prompt for Gemma2 model") + parser.add_argument("--add_system_prompt_to_negative_prompt", action="store_true", help="Add system prompt to negative prompt") parser.add_argument( "--gemma2_max_token_length", type=int, @@ -231,7 +234,7 @@ def setup_parser() -> argparse.ArgumentParser: "--cfg_trunc_ratio", type=float, default=0.25, - help="The ratio of the timestep interval to apply normalization-based guidance scale. For example, 0.25 means the first 25% of timesteps will be guided.", + help="The ratio of the timestep interval to apply normalization-based guidance scale. For example, 0.25 means the first 25%% of timesteps will be guided.", ) parser.add_argument( "--renorm_cfg", From d300f19045e8c87bd5dd2dcd9f3cf84571f80206 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Mon, 21 Jul 2025 13:15:09 +0900 Subject: [PATCH 623/748] docs: update Lumina training guide to include inference script and options --- docs/lumina_train_network.md | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/docs/lumina_train_network.md b/docs/lumina_train_network.md index cb3b600f6..5f2fda172 100644 --- a/docs/lumina_train_network.md +++ b/docs/lumina_train_network.md @@ -1,5 +1,3 @@ -Status: reviewed - # LoRA Training Guide for Lumina Image 2.0 using `lumina_train_network.py` / `lumina_train_network.py` を用いたLumina Image 2.0モデルのLoRA学習ガイド This document explains how to train LoRA (Low-Rank Adaptation) models for Lumina Image 2.0 using `lumina_train_network.py` in the `sd-scripts` repository. @@ -198,6 +196,7 @@ For Lumina Image 2.0, you can specify different dimensions for various component
日本語 + [`train_network.py`のガイド](train_network.md)で説明されている引数に加え、以下のLumina Image 2.0特有の引数を指定します。共通の引数については、上記ガイドを参照してください。 #### モデル関連 @@ -250,6 +249,18 @@ After setting the required arguments, run the command to begin training. The ove When training finishes, a LoRA model file (e.g. `my_lumina_lora.safetensors`) is saved in the directory specified by `output_dir`. Use this file with inference environments that support Lumina Image 2.0, such as ComfyUI with appropriate nodes. +### Inference with scripts in this repository / このリポジトリのスクリプトを使用した推論 + +The inference script is also available. The script is `lumina_minimal_inference.py`. See `--help` for options. + +``` +python lumina_minimal_inference.py --pretrained_model_name_or_path path/to/lumina.safetensors --gemma2_path path/to/gemma.safetensors" --ae_path path/to/flux_ae.safetensors --output_dir path/to/output_dir --offload --seed 1234 --prompt "Positive prompt" --system_prompt "You are an assistant designed to generate high-quality images based on user prompts." --negative_prompt "negative prompt" +``` + +`--add_system_prompt_to_negative_prompt` option can be used to add the system prompt to the negative prompt. + +`--lora_weights` option can be used to specify the LoRA weights file, and optional multiplier (like `path;1.0`). + ## 6. Others / その他 `lumina_train_network.py` shares many features with `train_network.py`, such as sample image generation (`--sample_prompts`, etc.) and detailed optimizer settings. For these, see the [train_network.py guide](train_network.md#5-other-features--その他の機能) or run `python lumina_train_network.py --help`. @@ -279,6 +290,8 @@ Sample prompts can include CFG truncate (`--ctr`) and Renorm CFG (`-rcfg`) param 学習が完了すると、指定した`output_dir`にLoRAモデルファイル(例: `my_lumina_lora.safetensors`)が保存されます。このファイルは、Lumina Image 2.0モデルに対応した推論環境(例: ComfyUI + 適切なノード)で使用できます。 +当リポジトリ内の推論スクリプトを用いて推論することも可能です。スクリプトは`lumina_minimal_inference.py`です。オプションは`--help`で確認できます。記述例は英語版のドキュメントをご確認ください。 + `lumina_train_network.py`には、サンプル画像の生成 (`--sample_prompts`など) や詳細なオプティマイザ設定など、`train_network.py`と共通の機能も多く存在します。これらについては、[`train_network.py`のガイド](train_network.md#5-other-features--その他の機能)やスクリプトのヘルプ (`python lumina_train_network.py --help`) を参照してください。 ### 6.1. 推奨設定 From 518545bffbd8b2629944b9d3c65e6e77f167e7ce Mon Sep 17 00:00:00 2001 From: Kohya S Date: Mon, 21 Jul 2025 13:16:42 +0900 Subject: [PATCH 624/748] docs: add support information for Lumina-Image 2.0 in recent updates --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 149f453b9..b6365644d 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,10 @@ If you are using DeepSpeed, please install DeepSpeed with `pip install deepspeed ### Recent Updates +Jul 21, 2025: +- Support for [Lumina-Image 2.0](https://github.com/Alpha-VLLM/Lumina-Image-2.0) has been added in PR [#1927](https://github.com/kohya-ss/sd-scripts/pull/1927) and [#2138](https://github.com/kohya-ss/sd-scripts/pull/2138). Special thanks to sdbds and RockerBOO for their contributions. + - Please refer to the [Lumina-Image 2.0 documentation](./docs/lumina_train_network.md) for more details. + Jul 10, 2025: - [AI Coding Agents](#for-developers-using-ai-coding-agents) section is added to the README. This section provides instructions for developers using AI coding agents like Claude and Gemini to understand the project context and coding standards. From c84a163b3231e97cea77292551fa8b3967d2594a Mon Sep 17 00:00:00 2001 From: Kohya S Date: Mon, 21 Jul 2025 13:40:03 +0900 Subject: [PATCH 625/748] docs: update README for documentation --- README.md | 11 ++++++++++- docs/lumina_train_network.md | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b6365644d..3ef165931 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,16 @@ If you are using DeepSpeed, please install DeepSpeed with `pip install deepspeed Jul 21, 2025: - Support for [Lumina-Image 2.0](https://github.com/Alpha-VLLM/Lumina-Image-2.0) has been added in PR [#1927](https://github.com/kohya-ss/sd-scripts/pull/1927) and [#2138](https://github.com/kohya-ss/sd-scripts/pull/2138). Special thanks to sdbds and RockerBOO for their contributions. - Please refer to the [Lumina-Image 2.0 documentation](./docs/lumina_train_network.md) for more details. - +- We have started adding comprehensive training-related documentation to [docs](./docs). These documents are being created with the help of generative AI and will be updated over time. While there are still many gaps at this stage, we plan to improve them gradually. + + Currently, the following documents are available: + - train_network.md + - sdxl_train_network.md + - sdxl_train_network_advanced.md + - flux_train_network.md + - sd3_train_network.md + - lumina_train_network.md + Jul 10, 2025: - [AI Coding Agents](#for-developers-using-ai-coding-agents) section is added to the README. This section provides instructions for developers using AI coding agents like Claude and Gemini to understand the project context and coding standards. diff --git a/docs/lumina_train_network.md b/docs/lumina_train_network.md index 5f2fda172..3f0548d9c 100644 --- a/docs/lumina_train_network.md +++ b/docs/lumina_train_network.md @@ -6,7 +6,7 @@ This document explains how to train LoRA (Low-Rank Adaptation) models for Lumina `lumina_train_network.py` trains additional networks such as LoRA for Lumina Image 2.0 models. Lumina Image 2.0 adopts a Next-DiT (Next-generation Diffusion Transformer) architecture, which differs from previous Stable Diffusion models. It uses a single text encoder (Gemma2) and a dedicated AutoEncoder (AE). -This guide assumes you already understand the basics of LoRA training. For common usage and options, see the train_network.py guide (to be documented). Some parameters are similar to those in [`sd3_train_network.py`](sd3_train_network.md) and [`flux_train_network.py`](flux_train_network.md). +This guide assumes you already understand the basics of LoRA training. For common usage and options, see [the train_network.py guide](./train_network.md). Some parameters are similar to those in [`sd3_train_network.py`](sd3_train_network.md) and [`flux_train_network.py`](flux_train_network.md). **Prerequisites:** From 32f06012a750737699bc4872173c9e960f000980 Mon Sep 17 00:00:00 2001 From: kohya-ss Date: Mon, 21 Jul 2025 21:48:06 +0900 Subject: [PATCH 626/748] doc: update flux train document and add about breaking changes in sample generation prompts --- README-ja.md | 13 +- README.md | 12 +- docs/flux_train_network.md | 654 +++++++++++++++++++++---------------- 3 files changed, 380 insertions(+), 299 deletions(-) diff --git a/README-ja.md b/README-ja.md index 60249f61e..c310dd8ad 100644 --- a/README-ja.md +++ b/README-ja.md @@ -155,11 +155,12 @@ masterpiece, best quality, 1boy, in business suit, standing at street, looking b `#` で始まる行はコメントになります。`--n` のように「ハイフン二個+英小文字」の形でオプションを指定できます。以下が使用可能できます。 - * `--n` Negative prompt up to the next option. - * `--w` Specifies the width of the generated image. - * `--h` Specifies the height of the generated image. - * `--d` Specifies the seed of the generated image. - * `--l` Specifies the CFG scale of the generated image. - * `--s` Specifies the number of steps in the generation. + * `--n` ネガティブプロンプト(次のオプションまで) + * `--w` 生成画像の幅を指定 + * `--h` 生成画像の高さを指定 + * `--d` 生成画像のシード値を指定 + * `--l` 生成画像のCFGスケールを指定。FLUX.1モデルでは、デフォルトは `1.0` でCFGなしを意味します。Chromaモデルでは、CFGを有効にするために `4.0` 程度に設定してください + * `--g` 埋め込みガイダンス付きモデル(FLUX.1)の埋め込みガイダンススケールを指定、デフォルトは `3.5`。Chromaモデルでは `0.0` に設定してください + * `--s` 生成時のステップ数を指定 `( )` や `[ ]` などの重みづけも動作します。 diff --git a/README.md b/README.md index 3ef165931..9ba1cbfc1 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,13 @@ If you are using DeepSpeed, please install DeepSpeed with `pip install deepspeed ### Recent Updates +Jul XX, 2025: +- **Breaking Change**: For FLUX.1 and Chroma training, the CFG scale option for sample image generation during training has been changed from `--g` to `--l`. The `--g` option is now used for the embedded guidance scale. Please update your prompts accordingly. See [Sample Image Generation During Training](#sample-image-generation-during-training) for details. + +- Support for [Chroma](https://huggingface.co/lodestones/Chroma) has been added in PR [#2157](https://github.com/kohya-ss/sd-scripts/pull/2157). Thank you to lodestones for the high-quality model. + - Chroma is a new model based on FLUX.1 schnell. In this repository, `flux_train_network.py` is used for training LoRAs for Chroma with `--model_type chroma`. + - Please refer to the [FLUX.1 LoRA training documentation](./docs/flux_train_network.md) for more details. + Jul 21, 2025: - Support for [Lumina-Image 2.0](https://github.com/Alpha-VLLM/Lumina-Image-2.0) has been added in PR [#1927](https://github.com/kohya-ss/sd-scripts/pull/1927) and [#2138](https://github.com/kohya-ss/sd-scripts/pull/2138). Special thanks to sdbds and RockerBOO for their contributions. - Please refer to the [Lumina-Image 2.0 documentation](./docs/lumina_train_network.md) for more details. @@ -1367,9 +1374,8 @@ masterpiece, best quality, 1boy, in business suit, standing at street, looking b * `--w` Specifies the width of the generated image. * `--h` Specifies the height of the generated image. * `--d` Specifies the seed of the generated image. - * `--l` Specifies the CFG scale of the generated image. - * In guidance distillation models like FLUX.1, this value is used as the embedded guidance scale for backward compatibility. - * `--g` Specifies the CFG scale for the models with embedded guidance scale. The default is `1.0`, `1.0` means no CFG. In general, should not be changed unless you train the un-distilled FLUX.1 models. + * `--l` Specifies the CFG scale of the generated image. For FLUX.1 models, the default is `1.0`, which means no CFG. For Chroma models, set to around `4.0` to enable CFG. + * `--g` Specifies the embedded guidance scale for the models with embedded guidance (FLUX.1), the default is `3.5`. Set to `0.0` for Chroma models. * `--s` Specifies the number of steps in the generation. The prompt weighting such as `( )` and `[ ]` are working. diff --git a/docs/flux_train_network.md b/docs/flux_train_network.md index 2b7ff7499..f324b9594 100644 --- a/docs/flux_train_network.md +++ b/docs/flux_train_network.md @@ -4,6 +4,13 @@ Status: reviewed This document explains how to train LoRA models for the FLUX.1 model using `flux_train_network.py` included in the `sd-scripts` repository. +
+日本語 + +このドキュメントでは、`sd-scripts`リポジトリに含まれる`flux_train_network.py`を使用して、FLUX.1モデルに対するLoRA (Low-Rank Adaptation) モデルを学習する基本的な手順について解説します。 + +
+ ## 1. Introduction / はじめに `flux_train_network.py` trains additional networks such as LoRA on the FLUX.1 model, which uses a transformer-based architecture different from Stable Diffusion. Two text encoders, CLIP-L and T5-XXL, and a dedicated AutoEncoder are used. @@ -15,21 +22,73 @@ This guide assumes you know the basics of LoRA training. For common options see * The repository is cloned and the Python environment is ready. * A training dataset is prepared. See the dataset configuration guide. +
+日本語 + +`flux_train_network.py`は、FLUX.1モデルに対してLoRAなどの追加ネットワークを学習させるためのスクリプトです。FLUX.1はStable Diffusionとは異なるアーキテクチャを持つ画像生成モデルであり、このスクリプトを使用することで、特定のキャラクターや画風を再現するLoRAモデルを作成できます。 + +このガイドは、基本的なLoRA学習の手順を理解しているユーザーを対象としています。基本的な使い方や共通のオプションについては、[`train_network.py`のガイド](train_network.md)を参照してください。また一部のパラメータは [`sdxl_train_network.py`](sdxl_train_network.md) と同様のものがあるため、そちらも参考にしてください。 + +**前提条件:** + +* `sd-scripts`リポジトリのクローンとPython環境のセットアップが完了していること。 +* 学習用データセットの準備が完了していること。(データセットの準備については[データセット設定ガイド](link/to/dataset/config/doc)を参照してください) + +
+ ## 2. Differences from `train_network.py` / `train_network.py` との違い -`flux_train_network.py` is based on `train_network.py` but adapted for FLUX.1. Main differences include required arguments for the FLUX.1 model, CLIP-L, T5-XXL and AE, different model structure, and some incompatible options from Stable Diffusion. +`flux_train_network.py` is based on `train_network.py` but adapted for FLUX.1. Main differences include: + +* **Target model:** FLUX.1 model (dev or schnell version). +* **Model structure:** Unlike Stable Diffusion, FLUX.1 uses a Transformer-based architecture with two text encoders (CLIP-L and T5-XXL) and a dedicated AutoEncoder (AE) instead of VAE. +* **Required arguments:** Additional arguments for FLUX.1 model, CLIP-L, T5-XXL, and AE model files. +* **Incompatible options:** Some Stable Diffusion-specific arguments (e.g., `--v2`, `--clip_skip`, `--max_token_length`) are not used in FLUX.1 training. +* **FLUX.1-specific arguments:** Additional arguments for FLUX.1-specific training parameters like timestep sampling and guidance scale. + +
+日本語 + +`flux_train_network.py`は`train_network.py`をベースに、FLUX.1モデルに対応するための変更が加えられています。主な違いは以下の通りです。 + +* **対象モデル:** FLUX.1モデル(dev版またはschnell版)を対象とします。 +* **モデル構造:** Stable Diffusionとは異なり、FLUX.1はTransformerベースのアーキテクチャを持ちます。Text EncoderとしてCLIP-LとT5-XXLの二つを使用し、VAEの代わりに専用のAutoEncoder (AE) を使用します。 +* **必須の引数:** FLUX.1モデル、CLIP-L、T5-XXL、AEの各モデルファイルを指定する引数が追加されています。 +* **一部引数の非互換性:** Stable Diffusion向けの引数の一部(例: `--v2`, `--clip_skip`, `--max_token_length`)はFLUX.1の学習では使用されません。 +* **FLUX.1特有の引数:** タイムステップのサンプリング方法やガイダンススケールなど、FLUX.1特有の学習パラメータを指定する引数が追加されています。 + +
## 3. Preparation / 準備 Before starting training you need: 1. **Training script:** `flux_train_network.py` -2. **FLUX.1 model file** and text encoder files (`clip_l`, `t5xxl`) and AE file. -3. **Dataset definition file (.toml)** such as `my_flux_dataset_config.toml`. +2. **FLUX.1 model file:** Base FLUX.1 model `.safetensors` file (e.g., `flux1-dev.safetensors`). +3. **Text Encoder model files:** + - CLIP-L model `.safetensors` file (e.g., `clip_l.safetensors`) + - T5-XXL model `.safetensors` file (e.g., `t5xxl.safetensors`) +4. **AutoEncoder model file:** FLUX.1-compatible AE model `.safetensors` file (e.g., `ae.safetensors`). +5. **Dataset definition file (.toml):** TOML format file describing training dataset configuration (e.g., `my_flux_dataset_config.toml`). + +
+日本語 + +学習を開始する前に、以下のファイルが必要です。 + +1. **学習スクリプト:** `flux_train_network.py` +2. **FLUX.1モデルファイル:** 学習のベースとなるFLUX.1モデルの`.safetensors`ファイル(例: `flux1-dev.safetensors`)。 +3. **Text Encoderモデルファイル:** + - CLIP-Lモデルの`.safetensors`ファイル。例として`clip_l.safetensors`を使用します。 + - T5-XXLモデルの`.safetensors`ファイル。例として`t5xxl.safetensors`を使用します。 +4. **AutoEncoderモデルファイル:** FLUX.1に対応するAEモデルの`.safetensors`ファイル。例として`ae.safetensors`を使用します。 +5. **データセット定義ファイル (.toml):** 学習データセットの設定を記述したTOML形式のファイル。(詳細は[データセット設定ガイド](link/to/dataset/config/doc)を参照してください)。例として`my_flux_dataset_config.toml`を使用します。 + +
## 4. Running the Training / 学習の実行 -Run `flux_train_network.py` from the terminal with FLUX.1 specific arguments. Example: +Run `flux_train_network.py` from the terminal with FLUX.1 specific arguments. Here's a basic command example: ```bash accelerate launch --num_cpu_threads_per_process 1 flux_train_network.py \ @@ -54,369 +113,318 @@ accelerate launch --num_cpu_threads_per_process 1 flux_train_network.py \ --gradient_checkpointing \ --guidance_scale=1.0 \ --timestep_sampling="flux_shift" \ + --model_prediction_type="raw" \ --blocks_to_swap=18 \ --cache_text_encoder_outputs \ --cache_latents ``` -### 4.1. Explanation of Key Options / 主要なコマンドライン引数の解説 - -The script adds FLUX.1 specific arguments such as guidance scale, timestep sampling, block swapping, and options for training CLIP-L and T5-XXL LoRA modules. Some Stable Diffusion options like `--v2` and `--clip_skip` are not used. +### Training Chroma Models -### 4.2. Starting Training / 学習の開始 - -Training begins once you run the command with the required options. Log checking is the same as in `train_network.py`. - -## 5. Using the Trained Model / 学習済みモデルの利用 - -After training, a LoRA model file is saved in `output_dir` and can be used in inference environments supporting FLUX.1 (e.g. ComfyUI + Flux nodes). +If you want to train a Chroma model, specify `--model_type=chroma`. Chroma does not use CLIP-L, so the `--clip_l` argument is not needed. T5XXL and AE are same as FLUX.1. The command would look like this: -## 6. Others / その他 +```bash +accelerate launch --num_cpu_threads_per_process 1 flux_train_network.py \ + --pretrained_model_name_or_path="" \ + --model_type=chroma \ + --t5xxl="" \ + --ae="" \ + --dataset_config="my_flux_dataset_config.toml" \ + --output_dir="" \ + --output_name="my_chroma_lora" \ + --guidance_scale=0.0 \ + --timestep_sampling="sigmoid" \ + --apply_t5_attn_mask \ + ... +``` -Additional notes on VRAM optimization, training options, multi-resolution datasets, block selection and text encoder LoRA are provided in the Japanese section. +Note that for Chroma models, `--guidance_scale=0.0` is required to disable guidance scale, and `--apply_t5_attn_mask` is needed to apply attention masks for T5XXL Text Encoder.
日本語 +学習は、ターミナルから`flux_train_network.py`を実行することで開始します。基本的なコマンドラインの構造は`train_network.py`と同様ですが、FLUX.1特有の引数を指定する必要があります。 +コマンドラインの例は英語のドキュメントを参照してください。 -# `flux_train_network.py` を用いたFLUX.1モデルのLoRA学習ガイド - -このドキュメントでは、`sd-scripts`リポジトリに含まれる`flux_train_network.py`を使用して、FLUX.1モデルに対するLoRA (Low-Rank Adaptation) モデルを学習する基本的な手順について解説します。 - -## 1. はじめに - -`flux_train_network.py`は、FLUX.1モデルに対してLoRAなどの追加ネットワークを学習させるためのスクリプトです。FLUX.1はStable Diffusionとは異なるアーキテクチャを持つ画像生成モデルであり、このスクリプトを使用することで、特定のキャラクターや画風を再現するLoRAモデルを作成できます。 - -このガイドは、基本的なLoRA学習の手順を理解しているユーザーを対象としています。基本的な使い方や共通のオプションについては、[`train_network.py`のガイド](train_network.md)を参照してください。また一部のパラメータは [`sdxl_train_network.py`](sdxl_train_network.md) と同様のものがあるため、そちらも参考にしてください。 - -**前提条件:** - -* `sd-scripts`リポジトリのクローンとPython環境のセットアップが完了していること。 -* 学習用データセットの準備が完了していること。(データセットの準備については[データセット設定ガイド](link/to/dataset/config/doc)を参照してください) - -## 2. `train_network.py` との違い - -`flux_train_network.py`は`train_network.py`をベースに、FLUX.1モデルに対応するための変更が加えられています。主な違いは以下の通りです。 - -* **対象モデル:** FLUX.1モデル(dev版またはschnell版)を対象とします。 -* **モデル構造:** Stable Diffusionとは異なり、FLUX.1はTransformerベースのアーキテクチャを持ちます。Text EncoderとしてCLIP-LとT5-XXLの二つを使用し、VAEの代わりに専用のAutoEncoder (AE) を使用します。 -* **必須の引数:** FLUX.1モデル、CLIP-L、T5-XXL、AEの各モデルファイルを指定する引数が追加されています。 -* **一部引数の非互換性:** Stable Diffusion向けの引数の一部(例: `--v2`, `--clip_skip`, `--max_token_length`)はFLUX.1の学習では使用されません。 -* **FLUX.1特有の引数:** タイムステップのサンプリング方法やガイダンススケールなど、FLUX.1特有の学習パラメータを指定する引数が追加されています。 - -## 3. 準備 - -学習を開始する前に、以下のファイルが必要です。 +#### Chromaモデルの学習 -1. **学習スクリプト:** `flux_train_network.py` -2. **FLUX.1モデルファイル:** 学習のベースとなるFLUX.1モデルの`.safetensors`ファイル(例: `flux1-dev.safetensors`)。 -3. **Text Encoderモデルファイル:** - * CLIP-Lモデルの`.safetensors`ファイル。例として`clip_l.safetensors`を使用します。 - * T5-XXLモデルの`.safetensors`ファイル。例として`t5xxl.safetensors`を使用します。 -4. **AutoEncoderモデルファイル:** FLUX.1に対応するAEモデルの`.safetensors`ファイル。例として`ae.safetensors`を使用します。 -5. **データセット定義ファイル (.toml):** 学習データセットの設定を記述したTOML形式のファイル。(詳細は[データセット設定ガイド](link/to/dataset/config/doc)を参照してください)。 +Chromaモデルを学習したい場合は、`--model_type=chroma`を指定します。ChromaはCLIP-Lを使用しないため、`--clip_l`引数は不要です。T5XXLとAEはFLUX.1と同様です。 - * 例として`my_flux_dataset_config.toml`を使用します。 +コマンドラインの例は英語のドキュメントを参照してください。 -## 4. 学習の実行 +
-学習は、ターミナルから`flux_train_network.py`を実行することで開始します。基本的なコマンドラインの構造は`train_network.py`と同様ですが、FLUX.1特有の引数を指定する必要があります。 +### 4.1. Explanation of Key Options / 主要なコマンドライン引数の解説 -以下に、基本的なコマンドライン実行例を示します。 +The script adds FLUX.1 specific arguments. For common arguments (like `--output_dir`, `--output_name`, `--network_module`, etc.), see the [`train_network.py` guide](train_network.md). + +#### Model-related [Required] + +* `--pretrained_model_name_or_path=""` **[Required]** + - Specifies the path to the base FLUX.1 or Chroma model `.safetensors` file. Diffusers format directories are not currently supported. +* `--model_type=` + - Specifies the type of base model for training. Choose from `flux` or `chroma`. Default is `flux`. +* `--clip_l=""` **[Required when flux is selected]** + - Specifies the path to the CLIP-L Text Encoder model `.safetensors` file. Not needed when `--model_type=chroma`. +* `--t5xxl=""` **[Required]** + - Specifies the path to the T5-XXL Text Encoder model `.safetensors` file. +* `--ae=""` **[Required]** + - Specifies the path to the FLUX.1-compatible AutoEncoder model `.safetensors` file. + +#### FLUX.1 Training Parameters + +* `--guidance_scale=` + - FLUX.1 dev version is distilled with specific guidance scale values, but for training, specify `1.0` to disable guidance scale. Default is `3.5`, so be sure to specify this. Usually ignored for schnell version. + - Chroma requires `--guidance_scale=0.0` to disable guidance scale. +* `--timestep_sampling=` + - Specifies the sampling method for timesteps (noise levels) during training. Choose from `sigma`, `uniform`, `sigmoid`, `shift`, `flux_shift`. Default is `sigma`. Recommended is `flux_shift`. For Chroma models, `sigmoid` is recommended. +* `--sigmoid_scale=` + - Scale factor when `timestep_sampling` is set to `sigmoid`, `shift`, or `flux_shift`. Default and recommended value is `1.0`. +* `--model_prediction_type=` + - Specifies what the model predicts. Choose from `raw` (use prediction as-is), `additive` (add to noise input), `sigma_scaled` (apply sigma scaling). Default is `sigma_scaled`. Recommended is `raw`. +* `--discrete_flow_shift=` + - Specifies the shift value for the scheduler used in Flow Matching. Default is `3.0`. This value is ignored when `timestep_sampling` is set to other than `shift`. + +#### Memory/Speed Related + +* `--fp8_base` + - Enables training in FP8 format for FLUX.1, CLIP-L, and T5-XXL. This can significantly reduce VRAM usage, but the training results may vary. +* `--blocks_to_swap=` **[Experimental Feature]** + - Setting to reduce VRAM usage by swapping parts of the model (Transformer blocks) between CPU and GPU. Specify the number of blocks to swap as an integer (e.g., `18`). Larger values reduce VRAM usage but decrease training speed. Adjust according to your GPU's VRAM capacity. Can be used with `gradient_checkpointing`. + - Cannot be used with `--cpu_offload_checkpointing`. +* `--cache_text_encoder_outputs` + - Caches the outputs of CLIP-L and T5-XXL. This reduces memory usage. +* `--cache_latents`, `--cache_latents_to_disk` + - Caches the outputs of AE. Similar functionality to [sdxl_train_network.py](sdxl_train_network.md). -```bash -accelerate launch --num_cpu_threads_per_process 1 flux_train_network.py - --pretrained_model_name_or_path="" - --clip_l="" - --t5xxl="" - --ae="" - --dataset_config="my_flux_dataset_config.toml" - --output_dir="" - --output_name="my_flux_lora" - --save_model_as=safetensors - --network_module=networks.lora_flux - --network_dim=16 - --network_alpha=1 - --learning_rate=1e-4 - --optimizer_type="AdamW8bit" - --lr_scheduler="constant" - --sdpa - --max_train_epochs=10 - --save_every_n_epochs=1 - --mixed_precision="fp16" - --gradient_checkpointing - --guidance_scale=1.0 - --timestep_sampling="flux_shift" - --blocks_to_swap=18 - --cache_text_encoder_outputs - --cache_latents -``` +#### Incompatible/Deprecated Arguments -※実際には1行で書くか、適切な改行文字(`\` または `^`)を使用してください。 +* `--v2`, `--v_parameterization`, `--clip_skip`: These are Stable Diffusion-specific arguments and are not used in FLUX.1 training. +* `--max_token_length`: This is an argument for Stable Diffusion v1/v2. For FLUX.1, use `--t5xxl_max_token_length`. +* `--split_mode`: Deprecated argument. Use `--blocks_to_swap` instead. -### 4.1. 主要なコマンドライン引数の解説(`train_network.py`からの追加・変更点) +
+日本語 [`train_network.py`のガイド](train_network.md)で説明されている引数に加え、以下のFLUX.1特有の引数を指定します。共通の引数(`--output_dir`, `--output_name`, `--network_module`, `--network_dim`, `--network_alpha`, `--learning_rate`など)については、上記ガイドを参照してください。 -#### モデル関連 [必須] - -* `--pretrained_model_name_or_path=""` **[必須]** - * 学習のベースとなるFLUX.1モデル(dev版またはschnell版)の`.safetensors`ファイルのパスを指定します。Diffusers形式のディレクトリは現在サポートされていません。 -* `--clip_l=""` **[必須]** - * CLIP-L Text Encoderモデルの`.safetensors`ファイルのパスを指定します。 -* `--t5xxl=""` **[必須]** - * T5-XXL Text Encoderモデルの`.safetensors`ファイルのパスを指定します。 -* `--ae=""` **[必須]** - * FLUX.1に対応するAutoEncoderモデルの`.safetensors`ファイルのパスを指定します。 - -#### FLUX.1 学習パラメータ - -* `--guidance_scale=` - * FLUX.1 dev版は特定のガイダンススケール値で蒸留されていますが、学習時には `1.0` を指定してガイダンススケールを無効化します。デフォルトは`3.5`ですので、必ず指定してください。schnell版では通常無視されます。 -* `--timestep_sampling=` - * 学習時に使用するタイムステップ(ノイズレベル)のサンプリング方法を指定します。`sigma`, `uniform`, `sigmoid`, `shift`, `flux_shift` から選択します。デフォルトは `sigma` です。推奨は `flux_shift` です。 -* `--sigmoid_scale=` - * `timestep_sampling` に `sigmoid` または `shift`, `flux_shift` を指定した場合のスケール係数です。デフォルトおよび推奨値は`1.0`です。 -* `--model_prediction_type=` - * モデルが何を予測するかを指定します。`raw` (予測値をそのまま使用), `additive` (ノイズ入力に加算), `sigma_scaled` (シグマスケーリングを適用) から選択します。デフォルトは `sigma_scaled` です。推奨は `raw` です。 -* `--discrete_flow_shift=` - * Flow Matchingで使用されるスケジューラのシフト値を指定します。デフォルトは`3.0`です。`timestep_sampling`に`flux_shift`を指定した場合は、この値は無視されます。 - -#### メモリ・速度関連 - -* `--blocks_to_swap=` **[実験的機能]** - * VRAM使用量を削減するために、モデルの一部(Transformerブロック)をCPUとGPU間でスワップする設定です。スワップするブロック数を整数で指定します(例: `18`)。値を大きくするとVRAM使用量は減りますが、学習速度は低下します。GPUのVRAM容量に応じて調整してください。`gradient_checkpointing`と併用可能です。 - * `--cpu_offload_checkpointing`とは併用できません。 -* `--cache_text_encoder_outputs` - * CLIP-LおよびT5-XXLの出力をキャッシュします。これにより、メモリ使用量が削減されます。 -* `--cache_latents`, `--cache_latents_to_disk` - * AEの出力をキャッシュします。[sdxl_train_network.py](sdxl_train_network.md)と同様の機能です。 +コマンドラインの例と詳細な引数の説明は英語のドキュメントを参照してください。 -#### 非互換・非推奨の引数 +
-* `--v2`, `--v_parameterization`, `--clip_skip`: Stable Diffusion特有の引数のため、FLUX.1学習では使用されません。 -* `--max_token_length`: Stable Diffusion v1/v2向けの引数です。FLUX.1では`--t5xxl_max_token_length`を使用してください。 -* `--split_mode`: 非推奨の引数です。代わりに`--blocks_to_swap`を使用してください。 +### 4.2. Starting Training / 学習の開始 -### 4.2. 学習の開始 +Training begins once you run the command with the required options. Log checking is the same as in [`train_network.py`](train_network.md#32-starting-the-training--学習の開始). + +
+日本語 必要な引数を設定し、コマンドを実行すると学習が開始されます。基本的な流れやログの確認方法は[`train_network.py`のガイド](train_network.md#32-starting-the-training--学習の開始)と同様です。 -## 5. 学習済みモデルの利用 +
-学習が完了すると、指定した`output_dir`にLoRAモデルファイル(例: `my_flux_lora.safetensors`)が保存されます。このファイルは、FLUX.1モデルに対応した推論環境(例: ComfyUI + ComfyUI-FluxNodes)で使用できます。 +## 5. Using the Trained Model / 学習済みモデルの利用 -## 6. その他 +After training, a LoRA model file is saved in `output_dir` and can be used in inference environments supporting FLUX.1 (e.g. ComfyUI + Flux nodes). -`flux_train_network.py`には、サンプル画像の生成 (`--sample_prompts`など) や詳細なオプティマイザ設定など、`train_network.py`と共通の機能も多く存在します。これらについては、[`train_network.py`のガイド](train_network.md#5-other-features--その他の機能)やスクリプトのヘルプ (`python flux_train_network.py --help`) を参照してください。 +
+日本語 -# FLUX.1 LoRA学習の補足説明 +学習が完了すると、指定した`output_dir`にLoRAモデルファイル(例: `my_flux_lora.safetensors`)が保存されます。このファイルは、FLUX.1モデルに対応した推論環境(例: ComfyUI + ComfyUI-FluxNodes)で使用できます。 -以下は、以上の基本的なFLUX.1 LoRAの学習手順を補足するものです。より詳細な設定オプションなどについて説明します。 +
-## 1. VRAM使用量の最適化 +## 6. Advanced Settings / 高度な設定 -FLUX.1モデルは比較的大きなモデルであるため、十分なVRAMを持たないGPUでは工夫が必要です。以下に、VRAM使用量を削減するための設定を紹介します。 +### 6.1. VRAM Usage Optimization / VRAM使用量の最適化 -### 1.1 メモリ使用量別の推奨設定 +FLUX.1 is a relatively large model, so GPUs without sufficient VRAM require optimization. Here are settings to reduce VRAM usage (with `--fp8_base`): -| GPUメモリ | 推奨設定 | -|----------|----------| -| 24GB VRAM | 基本設定で問題なく動作します(バッチサイズ2) | -| 16GB VRAM | バッチサイズ1に設定し、`--blocks_to_swap`を使用 | -| 12GB VRAM | `--blocks_to_swap 16`と8bit AdamWを使用 | -| 10GB VRAM | `--blocks_to_swap 22`を使用、T5XXLはfp8形式を推奨 | -| 8GB VRAM | `--blocks_to_swap 28`を使用、T5XXLはfp8形式を推奨 | +#### Recommended Settings by GPU Memory -### 1.2 主要なVRAM削減オプション +| GPU Memory | Recommended Settings | +|------------|---------------------| +| 24GB VRAM | Basic settings work fine (batch size 2) | +| 16GB VRAM | Set batch size to 1 and use `--blocks_to_swap` | +| 12GB VRAM | Use `--blocks_to_swap 16` and 8bit AdamW | +| 10GB VRAM | Use `--blocks_to_swap 22`, recommend fp8 format for T5XXL | +| 8GB VRAM | Use `--blocks_to_swap 28`, recommend fp8 format for T5XXL | -- **`--blocks_to_swap <数値>`**: - CPUとGPU間でブロックをスワップしてVRAM使用量を削減します。数値が大きいほど多くのブロックをスワップし、より多くのVRAMを節約できますが、学習速度は低下します。FLUX.1では最大35ブロックまでスワップ可能です。 +#### Key VRAM Reduction Options -- **`--cpu_offload_checkpointing`**: - 勾配チェックポイントをCPUにオフロードします。これにより最大1GBのVRAM使用量を削減できますが、学習速度は約15%低下します。`--blocks_to_swap`とは併用できません。 +- **`--fp8_base`**: Enables training in FP8 format. -- **`--cache_text_encoder_outputs` / `--cache_text_encoder_outputs_to_disk`**: - CLIP-LとT5-XXLの出力をキャッシュします。これによりメモリ使用量を削減できます。 +- **`--blocks_to_swap `**: Swaps blocks between CPU and GPU to reduce VRAM usage. Higher numbers save more VRAM but reduce training speed. FLUX.1 supports up to 35 blocks for swapping. -- **`--cache_latents` / `--cache_latents_to_disk`**: - AEの出力をキャッシュします。メモリ使用量を削減できます。 +- **`--cpu_offload_checkpointing`**: Offloads gradient checkpoints to CPU. Can reduce VRAM usage by up to 1GB but decreases training speed by about 15%. Cannot be used with `--blocks_to_swap`. Chroma models do not support this option. -- **Adafactor オプティマイザの使用**: - 8bit AdamWよりもVRAM使用量を削減できます。以下の設定を使用してください: +- **Using Adafactor optimizer**: Can reduce VRAM usage more than 8bit AdamW: ``` --optimizer_type adafactor --optimizer_args "relative_step=False" "scale_parameter=False" "warmup_init=False" --lr_scheduler constant_with_warmup --max_grad_norm 0.0 ``` -- **T5XXLのfp8形式の使用**: - 10GB未満のVRAMを持つGPUでは、T5XXLのfp8形式チェックポイントの使用を推奨します。[comfyanonymous/flux_text_encoders](https://huggingface.co/comfyanonymous/flux_text_encoders)から`t5xxl_fp8_e4m3fn.safetensors`をダウンロードできます(`scaled`なしで使用してください)。 - -- **FP8/FP16 混合学習 [実験的機能]**: - `--fp8_base_unet` オプションを指定すると、FLUX.1モデル本体をFP8形式で学習し、Text Encoder (CLIP-L/T5XXL) をBF16/FP16形式で学習できます。これにより、さらにVRAM使用量を削減できる可能性があります。このオプションを指定すると、`--fp8_base` オプションも自動的に有効になります。 - -- **`pytorch-optimizer` の利用**: - `pytorch-optimizer` ライブラリに含まれる様々なオプティマイザを使用できます。`requirements.txt` に追加されているため、別途インストールは不要です。 - 例えば、CAME オプティマイザを使用する場合は以下のように指定します。 - ```bash - --optimizer_type "pytorch_optimizer.CAME" --optimizer_args "weight_decay=0.01" - -## 2. FLUX.1 LoRA学習の重要な設定オプション - -FLUX.1の学習には多くの未知の点があり、いくつかの設定は引数で指定できます。以下に重要な引数とその説明を示します。 +- **Using T5XXL fp8 format**: For GPUs with less than 10GB VRAM, using fp8 format T5XXL checkpoints is recommended. Download `t5xxl_fp8_e4m3fn.safetensors` from [comfyanonymous/flux_text_encoders](https://huggingface.co/comfyanonymous/flux_text_encoders) (use without `scaled`). -### 2.1 タイムステップのサンプリング方法 +- **FP8/FP16 Mixed Training [Experimental]**: Specify `--fp8_base_unet` to train the FLUX.1 model in FP8 format while training Text Encoders (CLIP-L/T5XXL) in BF16/FP16 format. This can further reduce VRAM usage. -`--timestep_sampling`オプションで、タイムステップ(0-1)のサンプリング方法を指定できます: +
+日本語 -- `sigma`:SD3と同様のシグマベース -- `uniform`:一様ランダム -- `sigmoid`:正規分布乱数のシグモイド(x-flux、AI-toolkitなどと同様) -- `shift`:正規分布乱数のシグモイド値をシフト -- `flux_shift`:解像度に応じて正規分布乱数のシグモイド値をシフト(FLUX.1 dev推論と同様)。この設定では`--discrete_flow_shift`は無視されます。 +FLUX.1モデルは比較的大きなモデルであるため、十分なVRAMを持たないGPUでは工夫が必要です。VRAM使用量を削減するための設定の詳細は英語のドキュメントを参照してください。 +主要なVRAM削減オプション: +- `--fp8_base`: FP8形式での学習を有効化 +- `--blocks_to_swap`: CPUとGPU間でブロックをスワップ +- `--cpu_offload_checkpointing`: 勾配チェックポイントをCPUにオフロード +- Adafactorオプティマイザの使用 +- T5XXLのfp8形式の使用 +- FP8/FP16混合学習(実験的機能) -#### タイムステップ分布の可視化 +
-`--timestep_sampling`, `--sigmoid_scale`, `--discrete_flow_shift` の組み合わせによって、学習中にサンプリングされるタイムステップの分布が変化します。以下にいくつかの例を示します。 +### 6.2. Important FLUX.1 LoRA Training Settings / FLUX.1 LoRA学習の重要な設定 -* `--timestep_sampling shift` と `--discrete_flow_shift` の効果 (`--sigmoid_scale` はデフォルトの1.0): - ![Figure_2](https://github.com/user-attachments/assets/d9de42f9-f17d-40da-b88d-d964402569c6) +FLUX.1 training has many unknowns, and several settings can be specified with arguments: -* `--timestep_sampling sigmoid` と `--timestep_sampling uniform` の比較 (`--discrete_flow_shift` は無視される): - ![Figure_3](https://github.com/user-attachments/assets/27029009-1f5d-4dc0-bb24-13d02ac4fdad) +#### Timestep Sampling Methods -* `--timestep_sampling sigmoid` と `--sigmoid_scale` の効果 (`--discrete_flow_shift` は無視される): - ![Figure_4](https://github.com/user-attachments/assets/08a2267c-e47e-48b7-826e-f9a080787cdc) +The `--timestep_sampling` option specifies how timesteps (0-1) are sampled: -#### AI Toolkit 設定との比較 +- `sigma`: Sigma-based like SD3 +- `uniform`: Uniform random +- `sigmoid`: Sigmoid of normal distribution random (similar to x-flux, AI-toolkit) +- `shift`: Sigmoid value of normal distribution random with shift. The `--discrete_flow_shift` setting is used to shift the sigmoid value. +- `flux_shift`: Shift sigmoid value of normal distribution random according to resolution (similar to FLUX.1 dev inference). -[Ostris氏のAI Toolkit](https://github.com/ostris/ai-toolkit) で使用されている設定は、概ね以下のオプションに相当すると考えられます。 -``` ---timestep_sampling sigmoid --model_prediction_type raw --guidance_scale 1.0 -``` +`--discrete_flow_shift` only applies when `--timestep_sampling` is set to `shift`. -### 2.2 モデル予測の処理方法 +#### Model Prediction Processing -`--model_prediction_type`オプションで、モデルの予測をどのように解釈し処理するかを指定できます: +The `--model_prediction_type` option specifies how to interpret and process model predictions: -- `raw`:そのまま使用(x-fluxと同様)【推奨】 -- `additive`:ノイズ入力に加算 -- `sigma_scaled`:シグマスケーリングを適用(SD3と同様) +- `raw`: Use as-is (similar to x-flux) **[Recommended]** +- `additive`: Add to noise input +- `sigma_scaled`: Apply sigma scaling (similar to SD3) -### 2.3 推奨設定 +#### Recommended Settings -実験の結果、以下の設定が良好に動作することが確認されています: +Based on experiments, the following settings work well: ``` --timestep_sampling shift --discrete_flow_shift 3.1582 --model_prediction_type raw --guidance_scale 1.0 ``` -ガイダンススケールについて:FLUX.1 dev版は特定のガイダンススケール値で蒸留されていますが、学習時には`--guidance_scale 1.0`を指定してガイダンススケールを無効化することを推奨します。 - - -### 2.4 T5 Attention Mask の適用 - -`--apply_t5_attn_mask` オプションを指定すると、T5XXL Text Encoder の学習および推論時に Attention Mask が適用されます。 - -Attention Maskに対応した推論環境が限られるため、このオプションは推奨されません。 - -### 2.5 IP ノイズガンマ - -`--ip_noise_gamma` および `--ip_noise_gamma_random_strength` オプションを使用することで、学習時に Input Perturbation ノイズのガンマ値を調整できます。詳細は Stable Diffusion 3 の学習オプションを参照してください。 - -### 2.6 LoRA-GGPO サポート +**About Guidance Scale**: FLUX.1 dev version is distilled with specific guidance scale values, but for training, specify `--guidance_scale 1.0` to disable guidance scale. -LoRA-GGPO (Gradient Group Proportion Optimizer) を使用できます。これは LoRA の学習を安定化させるための手法です。以下の `network_args` を指定して有効化します。ハイパーパラメータ (`ggpo_sigma`, `ggpo_beta`) は調整が必要です。 +`--timestep_sampling sigmoid --model_prediction_type raw --guidance_scale 0.0` is recommended for Chroma models. -```bash ---network_args "ggpo_sigma=0.03" "ggpo_beta=0.01" -``` -TOMLファイルで指定する場合: -```toml -network_args = ["ggpo_sigma=0.03", "ggpo_beta=0.01"] -``` +
+日本語 -### 2.7 Q/K/V 射影層の分割 [実験的機能] +FLUX.1の学習には多くの未知の点があり、いくつかの設定は引数で指定できます。詳細な説明とコマンドラインの例は英語のドキュメントを参照してください。 -`--network_args "split_qkv=True"` を指定することで、Attention層内の Q/K/V (および SingleStreamBlock の Text) 射影層を個別に分割し、それぞれに LoRA を適用できます。 +主要な設定オプション: +- タイムステップのサンプリング方法(`--timestep_sampling`) +- モデル予測の処理方法(`--model_prediction_type`) +- 推奨設定の組み合わせ -**技術的詳細:** -FLUX.1 の元々の実装では、Q/K/V (および Text) の射影層は一つに結合されています。ここに LoRA を適用すると、一つの大きな LoRA モジュールが適用されます。一方、Diffusers の実装ではこれらの射影層は分離されており、それぞれに小さな LoRA モジュールが適用されます。このオプションは後者の挙動を模倣します。 -保存される LoRA モデルの互換性は維持されますが、内部的には分割された LoRA の重みを結合して保存するため、ゼロ要素が多くなりモデルサイズが大きくなる可能性があります。`convert_flux_lora.py` スクリプトを使用して Diffusers (AI-Toolkit) 形式に変換すると、サイズが削減されます。 +
-## 3. 各層に対するランク指定 +### 6.3. Layer-specific Rank Configuration / 各層に対するランク指定 -FLUX.1の各層に対して異なるランク(network_dim)を指定できます。これにより、特定の層に対してLoRAの効果を強調したり、無効化したりできます。 +You can specify different ranks (network_dim) for each layer of FLUX.1. This allows you to emphasize or disable LoRA effects for specific layers. -以下のnetwork_argsを指定することで、各層のランクを指定できます。0を指定するとその層にはLoRAが適用されません。 +Specify the following network_args to set ranks for each layer. Setting 0 disables LoRA for that layer: -| network_args | 対象レイヤー | +| network_args | Target Layer | |--------------|--------------| -| img_attn_dim | DoubleStreamBlockのimg_attn | -| txt_attn_dim | DoubleStreamBlockのtxt_attn | -| img_mlp_dim | DoubleStreamBlockのimg_mlp | -| txt_mlp_dim | DoubleStreamBlockのtxt_mlp | -| img_mod_dim | DoubleStreamBlockのimg_mod | -| txt_mod_dim | DoubleStreamBlockのtxt_mod | -| single_dim | SingleStreamBlockのlinear1とlinear2 | -| single_mod_dim | SingleStreamBlockのmodulation | - -使用例: +| img_attn_dim | DoubleStreamBlock img_attn | +| txt_attn_dim | DoubleStreamBlock txt_attn | +| img_mlp_dim | DoubleStreamBlock img_mlp | +| txt_mlp_dim | DoubleStreamBlock txt_mlp | +| img_mod_dim | DoubleStreamBlock img_mod | +| txt_mod_dim | DoubleStreamBlock txt_mod | +| single_dim | SingleStreamBlock linear1 and linear2 | +| single_mod_dim | SingleStreamBlock modulation | + +Example usage: ``` --network_args "img_attn_dim=4" "img_mlp_dim=8" "txt_attn_dim=2" "txt_mlp_dim=2" "img_mod_dim=2" "txt_mod_dim=2" "single_dim=4" "single_mod_dim=2" ``` -さらに、FLUXの条件付けレイヤーにLoRAを適用するには、network_argsに`in_dims`を指定します。5つの数値をカンマ区切りのリストとして指定する必要があります。 +To apply LoRA to FLUX conditioning layers, specify `in_dims` in network_args as a comma-separated list of 5 numbers: -例: ``` --network_args "in_dims=[4,2,2,2,4]" ``` -各数値は、`img_in`、`time_in`、`vector_in`、`guidance_in`、`txt_in`に対応します。上記の例では、すべての条件付けレイヤーにLoRAを適用し、`img_in`と`txt_in`のランクを4、その他のランクを2に設定しています。 +Each number corresponds to `img_in`, `time_in`, `vector_in`, `guidance_in`, `txt_in`. The example above applies LoRA to all conditioning layers with ranks of 4 for `img_in` and `txt_in`, and ranks of 2 for others. -0を指定するとそのレイヤーにはLoRAが適用されません。例えば、`[4,0,0,0,4]`は`img_in`と`txt_in`にのみLoRAを適用します。 +
+日本語 + +FLUX.1の各層に対して異なるランク(network_dim)を指定できます。これにより、特定の層に対してLoRAの効果を強調したり、無効化したりできます。 -## 4. 学習するブロックの指定 +詳細な設定方法とコマンドラインの例は英語のドキュメントを参照してください。 -FLUX.1 LoRA学習では、network_argsの`train_double_block_indices`と`train_single_block_indices`を指定することで、学習するブロックを指定できます。インデックスは0ベースです。省略した場合のデフォルトはすべてのブロックを学習することです。 +
-インデックスは、`0,1,5,8`のような整数のリストや、`0,1,4-5,7`のような整数の範囲として指定します。 -- double blocksの数は19なので、有効な範囲は0-18です -- single blocksの数は38なので、有効な範囲は0-37です -- `all`を指定するとすべてのブロックを学習します -- `none`を指定するとブロックを学習しません +### 6.4. Block Selection for Training / 学習するブロックの指定 -使用例: +You can specify which blocks to train using `train_double_block_indices` and `train_single_block_indices` in network_args. Indices are 0-based. Default is to train all blocks if omitted. + +Specify indices as integer lists like `0,1,5,8` or integer ranges like `0,1,4-5,7`: +- Double blocks: 19 blocks, valid range 0-18 +- Single blocks: 38 blocks, valid range 0-37 +- Specify `all` to train all blocks +- Specify `none` to skip training blocks + +Example usage: ``` --network_args "train_double_block_indices=0,1,8-12,18" "train_single_block_indices=3,10,20-25,37" ``` -または: +Or: ``` --network_args "train_double_block_indices=none" "train_single_block_indices=10-15" ``` -`train_double_block_indices`または`train_single_block_indices`のどちらか一方だけを指定した場合、もう一方は通常通り学習されます。 +
+日本語 + +FLUX.1 LoRA学習では、network_argsの`train_double_block_indices`と`train_single_block_indices`を指定することで、学習するブロックを指定できます。 + +詳細な設定方法とコマンドラインの例は英語のドキュメントを参照してください。 + +
+ +### 6.5. Text Encoder LoRA Support / Text Encoder LoRAのサポート + +FLUX.1 LoRA training supports training CLIP-L and T5XXL LoRA: + +- To train only FLUX.1: specify `--network_train_unet_only` +- To train FLUX.1 and CLIP-L: omit `--network_train_unet_only` +- To train FLUX.1, CLIP-L, and T5XXL: omit `--network_train_unet_only` and add `--network_args "train_t5xxl=True"` + +You can specify individual learning rates for CLIP-L and T5XXL with `--text_encoder_lr`. For example, `--text_encoder_lr 1e-4 1e-5` sets the first value for CLIP-L and the second for T5XXL. Specifying one value uses the same learning rate for both. If `--text_encoder_lr` is not specified, the default `--learning_rate` is used for both. -## 5. Text Encoder LoRAのサポート +
+日本語 FLUX.1 LoRA学習は、CLIP-LとT5XXL LoRAのトレーニングもサポートしています。 -- FLUX.1のみをトレーニングする場合は、`--network_train_unet_only`を指定します -- FLUX.1とCLIP-Lをトレーニングする場合は、`--network_train_unet_only`を省略します -- FLUX.1、CLIP-L、T5XXLすべてをトレーニングする場合は、`--network_train_unet_only`を省略し、`--network_args "train_t5xxl=True"`を追加します +詳細な設定方法とコマンドラインの例は英語のドキュメントを参照してください。 -CLIP-LとT5XXLの学習率は、`--text_encoder_lr`で個別に指定できます。例えば、`--text_encoder_lr 1e-4 1e-5`とすると、最初の値はCLIP-Lの学習率、2番目の値はT5XXLの学習率になります。1つだけ指定すると、CLIP-LとT5XXLの学習率は同じになります。`--text_encoder_lr`を指定しない場合、デフォルトの学習率`--learning_rate`が両方に使用されます。 +
-## 6. マルチ解像度トレーニング +### 6.6. Multi-Resolution Training / マルチ解像度トレーニング -データセット設定ファイルで複数の解像度を定義できます。各解像度に対して異なるバッチサイズを指定することができます。 +You can define multiple resolutions in the dataset configuration file, with different batch sizes for each resolution. -設定ファイルの例: +Configuration file example: ```toml [general] -# 共通設定をここで定義 +# Common settings flip_aug = true color_aug = false keep_tokens_separator= "|||" @@ -425,85 +433,151 @@ caption_tag_dropout_rate = 0 caption_extension = ".txt" [[datasets]] -# 最初の解像度の設定 +# First resolution settings batch_size = 2 enable_bucket = true resolution = [1024, 1024] [[datasets.subsets]] - image_dir = "画像ディレクトリへのパス" + image_dir = "path/to/image/directory" num_repeats = 1 [[datasets]] -# 2番目の解像度の設定 +# Second resolution settings batch_size = 3 enable_bucket = true resolution = [768, 768] [[datasets.subsets]] - image_dir = "画像ディレクトリへのパス" + image_dir = "path/to/image/directory" num_repeats = 1 +``` -[[datasets]] -# 3番目の解像度の設定 -batch_size = 4 -enable_bucket = true -resolution = [512, 512] +
+日本語 - [[datasets.subsets]] - image_dir = "画像ディレクトリへのパス" - num_repeats = 1 -``` +データセット設定ファイルで複数の解像度を定義できます。各解像度に対して異なるバッチサイズを指定することができます。 -各解像度セクションの`[[datasets.subsets]]`部分は、データセットディレクトリを定義します。各解像度に対して同じディレクトリを指定してください。
+設定ファイルの例は英語のドキュメントを参照してください。 -## 7. 検証 (Validation) +
-学習中に検証データセットを使用して損失 (Validation Loss) を計算し、モデルの汎化性能を評価できます。 +### 6.7. Validation / 検証 + +You can calculate validation loss during training using a validation dataset to evaluate model generalization performance. -検証を設定するには、データセット設定 TOML ファイルに `[validation]` セクションを追加します。設定方法は学習データセットと同様ですが、`num_repeats` は通常 1 に設定します。 +To set up validation, add a `[validation]` section to your dataset configuration TOML file. Configuration is similar to training datasets, but `num_repeats` is usually set to 1. ```toml -# ... (学習データセットの設定) ... +# ... (training dataset configuration) ... [validation] batch_size = 1 enable_bucket = true -resolution = [1024, 1024] # 検証に使用する解像度 +resolution = [1024, 1024] # Resolution for validation [[validation.subsets]] - image_dir = "検証用画像ディレクトリへのパス" + image_dir = "path/to/validation/images" num_repeats = 1 caption_extension = ".txt" - # ... 他の検証データセット固有の設定 ... + # ... other validation dataset settings ... ``` -**注意点:** +**Notes:** + +* Validation loss calculation uses fixed timestep sampling and random seeds to reduce loss variation due to randomness for more stable evaluation. +* Currently, validation loss is not supported when using `--blocks_to_swap` or Schedule-Free optimizers (`AdamWScheduleFree`, `RAdamScheduleFree`, `ProdigyScheduleFree`). + +
+日本語 + +学習中に検証データセットを使用して損失 (Validation Loss) を計算し、モデルの汎化性能を評価できます。 + +詳細な設定方法とコマンドラインの例は英語のドキュメントを参照してください。 + +
+ +## 7. Additional Options / 追加オプション + +### 7.1. Other FLUX.1-specific Options / その他のFLUX.1特有のオプション + +- **T5 Attention Mask Application**: Specify `--apply_t5_attn_mask` to apply attention masks during T5XXL Text Encoder training and inference. Not recommended due to limited inference environment support. **For Chroma models, this option is required.** + +- **IP Noise Gamma**: Use `--ip_noise_gamma` and `--ip_noise_gamma_random_strength` to adjust Input Perturbation noise gamma values during training. See Stable Diffusion 3 training options for details. + +- **LoRA-GGPO Support**: Use LoRA-GGPO (Gradient Group Proportion Optimizer) to stabilize LoRA training: + ```bash + --network_args "ggpo_sigma=0.03" "ggpo_beta=0.01" + ``` + +- **Q/K/V Projection Layer Splitting [Experimental]**: Specify `--network_args "split_qkv=True"` to individually split and apply LoRA to Q/K/V (and SingleStreamBlock Text) projection layers within Attention layers. + +
+日本語 + +その他のFLUX.1特有のオプション: +- T5 Attention Maskの適用(Chromaモデルでは必須) +- IPノイズガンマ +- LoRA-GGPOサポート +- Q/K/V射影層の分割(実験的機能) + +詳細な設定方法とコマンドラインの例は英語のドキュメントを参照してください。 -* 検証損失の計算は、固定されたタイムステップサンプリングと乱数シードで行われます。これにより、ランダム性による損失の変動を抑え、より安定した評価が可能になります。 -* 現在のところ、`--blocks_to_swap` オプションを使用している場合、または Schedule-Free オプティマイザ (`AdamWScheduleFree`, `RAdamScheduleFree`, `ProdigyScheduleFree`) を使用している場合は、検証損失はサポートされていません。 +
-## 8. データセット関連の追加オプション +### 7.2. Dataset-related Additional Options / データセット関連の追加オプション -### 8.1 リサイズ時の補間方法指定 +#### Interpolation Method for Resizing -データセットの画像を学習解像度にリサイズする際の補間方法を指定できます。データセット設定 TOML ファイルの `[[datasets]]` セクションまたは `[general]` セクションで `interpolation_type` を指定します。 +You can specify the interpolation method when resizing dataset images to training resolution. Specify `interpolation_type` in the `[[datasets]]` or `[general]` section of the dataset configuration TOML file. -利用可能な値: `bicubic` (デフォルト), `bilinear`, `lanczos`, `nearest`, `area` +Available values: `bicubic` (default), `bilinear`, `lanczos`, `nearest`, `area` ```toml [[datasets]] resolution = [1024, 1024] enable_bucket = true -interpolation_type = "lanczos" # 例: Lanczos補間を使用 +interpolation_type = "lanczos" # Example: Use Lanczos interpolation # ... ``` -## 9. 関連ツール +
+日本語 + +データセットの画像を学習解像度にリサイズする際の補間方法を指定できます。 + +設定方法とオプションの詳細は英語のドキュメントを参照してください。 + +
+ +## 8. Related Tools / 関連ツール + +Several related scripts are provided for models trained with `flux_train_network.py` and to assist with the training process: + +* **`networks/flux_extract_lora.py`**: Extracts LoRA models from the difference between trained and base models. +* **`convert_flux_lora.py`**: Converts trained LoRA models to other formats like Diffusers (AI-Toolkit) format. When trained with Q/K/V split option, converting with this script can reduce model size. +* **`networks/flux_merge_lora.py`**: Merges trained LoRA models into FLUX.1 base models. +* **`flux_minimal_inference.py`**: Simple inference script for generating images with trained LoRA models. You can specify `flux` or `chroma` with the `--model_type` argument. + +
+日本語 + +`flux_train_network.py` で学習したモデルや、学習プロセスに役立つ関連スクリプトが提供されています: + +* **`networks/flux_extract_lora.py`**: 学習済みモデルとベースモデルの差分から LoRA モデルを抽出 +* **`convert_flux_lora.py`**: 学習した LoRA モデルを Diffusers (AI-Toolkit) 形式など他の形式に変換 +* **`networks/flux_merge_lora.py`**: 学習した LoRA モデルを FLUX.1 ベースモデルにマージ +* **`flux_minimal_inference.py`**: 学習した LoRA モデルを適用して画像を生成するシンプルな推論スクリプト + +
+ +## 9. Others / その他 -`flux_train_network.py` で学習したモデルや、学習プロセスに役立つ関連スクリプトが提供されています。 +`flux_train_network.py` includes many features common with `train_network.py`, such as sample image generation (`--sample_prompts`, etc.) and detailed optimizer settings. For these features, refer to the [`train_network.py` guide](train_network.md#5-other-features--その他の機能) or the script help (`python flux_train_network.py --help`). + +
+日本語 + +`flux_train_network.py`には、サンプル画像の生成 (`--sample_prompts`など) や詳細なオプティマイザ設定など、`train_network.py`と共通の機能も多く存在します。これらについては、[`train_network.py`のガイド](train_network.md#5-other-features--その他の機能)やスクリプトのヘルプ (`python flux_train_network.py --help`) を参照してください。 -* **`networks/flux_extract_lora.py`**: 学習済みモデルとベースモデルの差分から LoRA モデルを抽出します。 -* **`convert_flux_lora.py`**: 学習した LoRA モデルを Diffusers (AI-Toolkit) 形式など、他の形式に変換します。Q/K/V分割オプションで学習した場合、このスクリプトで変換するとモデルサイズを削減できます。 -* **`networks/flux_merge_lora.py`**: 学習した LoRA モデルを FLUX.1 ベースモデルにマージします。 -* **`flux_minimal_inference.py`**: 学習した LoRA モデルを適用して画像を生成するためのシンプルな推論スクリプトです。 +
From c28e7a47c3bd3c4efc81404bf4dadba2b41d4fe4 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sat, 26 Jul 2025 19:35:42 +0900 Subject: [PATCH 627/748] feat: add regex-based rank and learning rate configuration for FLUX.1 LoRA --- docs/flux_train_network.md | 49 +++++++++- networks/lora_flux.py | 195 +++++++++++++++++++++++++++---------- train_network.py | 2 +- 3 files changed, 193 insertions(+), 53 deletions(-) diff --git a/docs/flux_train_network.md b/docs/flux_train_network.md index f324b9594..1b584180f 100644 --- a/docs/flux_train_network.md +++ b/docs/flux_train_network.md @@ -398,7 +398,50 @@ FLUX.1 LoRA学習では、network_argsの`train_double_block_indices`と`train_s
-### 6.5. Text Encoder LoRA Support / Text Encoder LoRAのサポート + + + +### 6.4. Regular Expression-based Rank/LR Configuration / 正規表現によるランク・学習率の指定 + +You can specify ranks (dims) and learning rates for LoRA modules using regular expressions. This allows for more flexible and fine-grained control than specifying by layer. + +These settings are specified via the `network_args` argument. + +* `network_reg_dims`: Specify ranks for modules matching a regular expression. The format is a comma-separated string of `pattern=rank`. + * Example: `--network_args "network_reg_dims=single.*_modulation.*=4,img_attn=8"` + * This sets the rank to 4 for modules whose names contain `single` and contain `_modulation`, and to 8 for modules containing `img_attn`. +* `network_reg_lrs`: Specify learning rates for modules matching a regular expression. The format is a comma-separated string of `pattern=lr`. + * Example: `--network_args "network_reg_lrs=single_blocks_(\d|10)_=1e-3,double_blocks=2e-3"` + * This sets the learning rate to `1e-3` for modules whose names contain `single_blocks` followed by a digit (`0` to `9`) or `10`, and to `2e-3` for modules whose names contain `double_blocks`. + +**Notes:** + +* Settings via `network_reg_dims` and `network_reg_lrs` take precedence over the global `--network_dim` and `--learning_rate` settings. +* If a module name matches multiple patterns, the setting from the last matching pattern in the string will be applied. +* These settings are applied after the block-specific training settings (`train_double_block_indices`, `train_single_block_indices`). + +
+日本語 + +正規表現を用いて、LoRAのモジュールごとにランク(dim)や学習率を指定することができます。これにより、層ごとの指定よりも柔軟できめ細やかな制御が可能になります。 + +これらの設定は `network_args` 引数で指定します。 + +* `network_reg_dims`: 正規表現にマッチするモジュールに対してランクを指定します。`pattern=rank` という形式の文字列をカンマで区切って指定します。 + * 例: `--network_args "network_reg_dims=single.*_modulation.*=4,img_attn=8"` + * この例では、名前に `single` で始まり `_modulation` を含むモジュールのランクを4に、`img_attn` を含むモジュールのランクを8に設定します。 +* `network_reg_lrs`: 正規表現にマッチするモジュールに対して学習率を指定します。`pattern=lr` という形式の文字列をカンマで区切って指定します。 + * 例: `--network_args "network_reg_lrs=single_blocks_(\d|10)_=1e-3,double_blocks=2e-3"` + * この例では、名前が `single_blocks` で始まり、後に数字(`0`から`9`)または`10`が続くモジュールの学習率を `1e-3` に、`double_blocks` を含むモジュールの学習率を `2e-3` に設定します。 +**注意点:** + +* `network_reg_dims` および `network_reg_lrs` での設定は、全体設定である `--network_dim` や `--learning_rate` よりも優先されます。 +* あるモジュール名が複数のパターンにマッチした場合、文字列の中で後方にあるパターンの設定が適用されます。 +* これらの設定は、ブロック指定(`train_double_block_indices`, `train_single_block_indices`)が適用された後に行われます。 + +
+ +### 6.6. Text Encoder LoRA Support / Text Encoder LoRAのサポート FLUX.1 LoRA training supports training CLIP-L and T5XXL LoRA: @@ -417,7 +460,7 @@ FLUX.1 LoRA学習は、CLIP-LとT5XXL LoRAのトレーニングもサポート -### 6.6. Multi-Resolution Training / マルチ解像度トレーニング +### 6.7. Multi-Resolution Training / マルチ解像度トレーニング You can define multiple resolutions in the dataset configuration file, with different batch sizes for each resolution. @@ -462,7 +505,7 @@ resolution = [768, 768] -### 6.7. Validation / 検証 +### 6.8. Validation / 検証 You can calculate validation loss during training using a validation dataset to evaluate model generalization performance. diff --git a/networks/lora_flux.py b/networks/lora_flux.py index ddc916089..320bc4632 100644 --- a/networks/lora_flux.py +++ b/networks/lora_flux.py @@ -156,11 +156,19 @@ def forward(self, x): lx = self.lora_up(lx) # LoRA Gradient-Guided Perturbation Optimization - if self.training and self.ggpo_sigma is not None and self.ggpo_beta is not None and self.combined_weight_norms is not None and self.grad_norms is not None: + if ( + self.training + and self.ggpo_sigma is not None + and self.ggpo_beta is not None + and self.combined_weight_norms is not None + and self.grad_norms is not None + ): with torch.no_grad(): - perturbation_scale = (self.ggpo_sigma * torch.sqrt(self.combined_weight_norms ** 2)) + (self.ggpo_beta * (self.grad_norms ** 2)) + perturbation_scale = (self.ggpo_sigma * torch.sqrt(self.combined_weight_norms**2)) + ( + self.ggpo_beta * (self.grad_norms**2) + ) perturbation_scale_factor = (perturbation_scale * self.perturbation_norm_factor).to(self.device) - perturbation = torch.randn(self.org_module_shape, dtype=self.dtype, device=self.device) + perturbation = torch.randn(self.org_module_shape, dtype=self.dtype, device=self.device) perturbation.mul_(perturbation_scale_factor) perturbation_output = x @ perturbation.T # Result: (batch × n) return org_forwarded + (self.multiplier * scale * lx) + perturbation_output @@ -197,24 +205,24 @@ def initialize_norm_cache(self, org_module_weight: Tensor): # Choose a reasonable sample size n_rows = org_module_weight.shape[0] sample_size = min(1000, n_rows) # Cap at 1000 samples or use all if smaller - + # Sample random indices across all rows indices = torch.randperm(n_rows)[:sample_size] - + # Convert to a supported data type first, then index # Use float32 for indexing operations weights_float32 = org_module_weight.to(dtype=torch.float32) sampled_weights = weights_float32[indices].to(device=self.device) - + # Calculate sampled norms sampled_norms = torch.norm(sampled_weights, dim=1, keepdim=True) - + # Store the mean norm as our estimate self.org_weight_norm_estimate = sampled_norms.mean() - + # Optional: store standard deviation for confidence intervals self.org_weight_norm_std = sampled_norms.std() - + # Free memory del sampled_weights, weights_float32 @@ -223,45 +231,44 @@ def validate_norm_approximation(self, org_module_weight: Tensor, verbose=True): # Calculate the true norm (this will be slow but it's just for validation) true_norms = [] chunk_size = 1024 # Process in chunks to avoid OOM - + for i in range(0, org_module_weight.shape[0], chunk_size): end_idx = min(i + chunk_size, org_module_weight.shape[0]) chunk = org_module_weight[i:end_idx].to(device=self.device, dtype=self.dtype) chunk_norms = torch.norm(chunk, dim=1, keepdim=True) true_norms.append(chunk_norms.cpu()) del chunk - + true_norms = torch.cat(true_norms, dim=0) true_mean_norm = true_norms.mean().item() - + # Compare with our estimate estimated_norm = self.org_weight_norm_estimate.item() - + # Calculate error metrics absolute_error = abs(true_mean_norm - estimated_norm) relative_error = absolute_error / true_mean_norm * 100 # as percentage - + if verbose: logger.info(f"True mean norm: {true_mean_norm:.6f}") logger.info(f"Estimated norm: {estimated_norm:.6f}") logger.info(f"Absolute error: {absolute_error:.6f}") logger.info(f"Relative error: {relative_error:.2f}%") - + return { - 'true_mean_norm': true_mean_norm, - 'estimated_norm': estimated_norm, - 'absolute_error': absolute_error, - 'relative_error': relative_error + "true_mean_norm": true_mean_norm, + "estimated_norm": estimated_norm, + "absolute_error": absolute_error, + "relative_error": relative_error, } - @torch.no_grad() def update_norms(self): # Not running GGPO so not currently running update norms if self.ggpo_beta is None or self.ggpo_sigma is None: return - # only update norms when we are training + # only update norms when we are training if self.training is False: return @@ -269,8 +276,9 @@ def update_norms(self): module_weights.mul(self.scale) self.weight_norms = torch.norm(module_weights, dim=1, keepdim=True) - self.combined_weight_norms = torch.sqrt((self.org_weight_norm_estimate**2) + - torch.sum(module_weights**2, dim=1, keepdim=True)) + self.combined_weight_norms = torch.sqrt( + (self.org_weight_norm_estimate**2) + torch.sum(module_weights**2, dim=1, keepdim=True) + ) @torch.no_grad() def update_grad_norms(self): @@ -293,7 +301,6 @@ def update_grad_norms(self): approx_grad = self.scale * ((self.lora_up.weight @ lora_down_grad) + (lora_up_grad @ self.lora_down.weight)) self.grad_norms = torch.norm(approx_grad, dim=1, keepdim=True) - @property def device(self): return next(self.parameters()).device @@ -564,7 +571,6 @@ def parse_block_selection(selection: str, total_blocks: int) -> List[bool]: if ggpo_sigma is not None: ggpo_sigma = float(ggpo_sigma) - # train T5XXL train_t5xxl = kwargs.get("train_t5xxl", False) if train_t5xxl is not None: @@ -575,6 +581,42 @@ def parse_block_selection(selection: str, total_blocks: int) -> List[bool]: if verbose is not None: verbose = True if verbose == "True" else False + # regex-specific learning rates + def parse_kv_pairs(kv_pair_str: str, is_int: bool) -> Dict[str, float]: + """ + Parse a string of key-value pairs separated by commas. + """ + pairs = {} + for pair in kv_pair_str.split(","): + pair = pair.strip() + if not pair: + continue + if "=" not in pair: + logger.warning(f"Invalid format: {pair}, expected 'key=value'") + continue + key, value = pair.split("=", 1) + key = key.strip() + value = value.strip() + try: + pairs[key] = int(value) if is_int else float(value) + except ValueError: + logger.warning(f"Invalid value for {key}: {value}") + return pairs + + # parse regular expression based learning rates + network_reg_lrs = kwargs.get("network_reg_lrs", None) + if network_reg_lrs is not None: + reg_lrs = parse_kv_pairs(network_reg_lrs, is_int=False) + else: + reg_lrs = None + + # regex-specific dimensions (ranks) + network_reg_dims = kwargs.get("network_reg_dims", None) + if network_reg_dims is not None: + reg_dims = parse_kv_pairs(network_reg_dims, is_int=True) + else: + reg_dims = None + # すごく引数が多いな ( ^ω^)・・・ network = LoRANetwork( text_encoders, @@ -594,8 +636,10 @@ def parse_block_selection(selection: str, total_blocks: int) -> List[bool]: in_dims=in_dims, train_double_block_indices=train_double_block_indices, train_single_block_indices=train_single_block_indices, + reg_dims=reg_dims, ggpo_beta=ggpo_beta, ggpo_sigma=ggpo_sigma, + reg_lrs=reg_lrs, verbose=verbose, ) @@ -613,7 +657,6 @@ def parse_block_selection(selection: str, total_blocks: int) -> List[bool]: # Create network from weights for inference, weights are not loaded here (because can be merged) def create_network_from_weights(multiplier, file, ae, text_encoders, flux, weights_sd=None, for_inference=False, **kwargs): - # if unet is an instance of SdxlUNet2DConditionModel or subclass, set is_sdxl to True if weights_sd is None: if os.path.splitext(file)[1] == ".safetensors": from safetensors.torch import load_file, safe_open @@ -644,22 +687,6 @@ def create_network_from_weights(multiplier, file, ae, text_encoders, flux, weigh if train_t5xxl is None: train_t5xxl = False - # # split qkv - # double_qkv_rank = None - # single_qkv_rank = None - # rank = None - # for lora_name, dim in modules_dim.items(): - # if "double" in lora_name and "qkv" in lora_name: - # double_qkv_rank = dim - # elif "single" in lora_name and "linear1" in lora_name: - # single_qkv_rank = dim - # elif rank is None: - # rank = dim - # if double_qkv_rank is not None and single_qkv_rank is not None and rank is not None: - # break - # split_qkv = (double_qkv_rank is not None and double_qkv_rank != rank) or ( - # single_qkv_rank is not None and single_qkv_rank != rank - # ) split_qkv = False # split_qkv is not needed to care, because state_dict is qkv combined module_class = LoRAInfModule if for_inference else LoRAModule @@ -708,8 +735,10 @@ def __init__( in_dims: Optional[List[int]] = None, train_double_block_indices: Optional[List[bool]] = None, train_single_block_indices: Optional[List[bool]] = None, + reg_dims: Optional[Dict[str, int]] = None, ggpo_beta: Optional[float] = None, ggpo_sigma: Optional[float] = None, + reg_lrs: Optional[Dict[str, float]] = None, verbose: Optional[bool] = False, ) -> None: super().__init__() @@ -730,6 +759,8 @@ def __init__( self.in_dims = in_dims self.train_double_block_indices = train_double_block_indices self.train_single_block_indices = train_single_block_indices + self.reg_dims = reg_dims + self.reg_lrs = reg_lrs self.loraplus_lr_ratio = None self.loraplus_unet_lr_ratio = None @@ -757,7 +788,6 @@ def __init__( if self.train_blocks is not None: logger.info(f"train {self.train_blocks} blocks only") - if train_t5xxl: logger.info(f"train T5XXL as well") @@ -803,8 +833,16 @@ def create_modules( if lora_name in modules_dim: dim = modules_dim[lora_name] alpha = modules_alpha[lora_name] - else: - # 通常、すべて対象とする + elif self.reg_dims is not None: + for reg, d in self.reg_dims.items(): + if re.search(reg, lora_name): + dim = d + alpha = self.alpha + logger.info(f"LoRA {lora_name} matched with regex {reg}, using dim: {dim}") + break + + # 通常、すべて対象とする + if dim is None: if is_linear or is_conv2d_1x1: dim = default_dim if default_dim is not None else self.lora_dim alpha = self.alpha @@ -979,7 +1017,6 @@ def combined_weight_norms(self) -> Tensor | None: combined_weight_norms.append(lora.combined_weight_norms.mean(dim=0)) return torch.stack(combined_weight_norms) if len(combined_weight_norms) > 0 else None - def load_weights(self, file): if os.path.splitext(file)[1] == ".safetensors": from safetensors.torch import load_file @@ -1166,17 +1203,77 @@ def prepare_optimizer_params_with_multiple_te_lrs(self, text_encoder_lr, unet_lr all_params = [] lr_descriptions = [] + reg_lrs_list = list(self.reg_lrs.items()) if self.reg_lrs is not None else [] + def assemble_params(loras, lr, loraplus_ratio): param_groups = {"lora": {}, "plus": {}} + # regular expression param groups: {"reg_lr_0": {"lora": {}, "plus": {}}, ...} + reg_groups = {} + for lora in loras: + # check if this lora matches any regex learning rate + matched_reg_lr = None + for i, (regex_str, reg_lr) in enumerate(reg_lrs_list): + try: + if re.search(regex_str, lora.lora_name): + matched_reg_lr = (i, reg_lr) + logger.info(f"Module {lora.lora_name} matched regex '{regex_str}' -> LR {reg_lr}") + break + except re.error: + # regex error should have been caught during parsing, but just in case + continue + for name, param in lora.named_parameters(): - if loraplus_ratio is not None and "lora_up" in name: - param_groups["plus"][f"{lora.lora_name}.{name}"] = param + param_key = f"{lora.lora_name}.{name}" + is_plus = loraplus_ratio is not None and "lora_up" in name + + if matched_reg_lr is not None: + # use regex-specific learning rate + reg_idx, reg_lr = matched_reg_lr + group_key = f"reg_lr_{reg_idx}" + if group_key not in reg_groups: + reg_groups[group_key] = {"lora": {}, "plus": {}, "lr": reg_lr} + + if is_plus: + reg_groups[group_key]["plus"][param_key] = param + else: + reg_groups[group_key]["lora"][param_key] = param else: - param_groups["lora"][f"{lora.lora_name}.{name}"] = param + # use default learning rate + if is_plus: + param_groups["plus"][param_key] = param + else: + param_groups["lora"][param_key] = param params = [] descriptions = [] + + # process regex-specific groups first (higher priority) + for group_key in sorted(reg_groups.keys()): + group = reg_groups[group_key] + reg_lr = group["lr"] + + for param_type in ["lora", "plus"]: + if len(group[param_type]) == 0: + continue + + param_data = {"params": group[param_type].values()} + + if param_type == "plus" and loraplus_ratio is not None: + param_data["lr"] = reg_lr * loraplus_ratio + else: + param_data["lr"] = reg_lr + + if param_data.get("lr", None) == 0 or param_data.get("lr", None) is None: + continue + + params.append(param_data) + desc = f"reg_lr_{group_key.split('_')[-1]}" + if param_type == "plus": + desc += " plus" + descriptions.append(desc) + + # process default groups for key in param_groups.keys(): param_data = {"params": param_groups[key].values()} diff --git a/train_network.py b/train_network.py index 6073c4c36..7861e7404 100644 --- a/train_network.py +++ b/train_network.py @@ -645,7 +645,7 @@ def train(self, args): net_kwargs = {} if args.network_args is not None: for net_arg in args.network_args: - key, value = net_arg.split("=") + key, value = net_arg.split("=", 1) net_kwargs[key] = value # if a new network is added in future, add if ~ then blocks for each network (;'∀') From af14eab6d7f81493d23a7b961e01084f52eb5adf Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sat, 26 Jul 2025 19:37:15 +0900 Subject: [PATCH 628/748] doc: update section number for regex-based rank and learning rate configuration in FLUX.1 LoRA guide --- docs/flux_train_network.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/flux_train_network.md b/docs/flux_train_network.md index 1b584180f..647e87c97 100644 --- a/docs/flux_train_network.md +++ b/docs/flux_train_network.md @@ -401,7 +401,7 @@ FLUX.1 LoRA学習では、network_argsの`train_double_block_indices`と`train_s -### 6.4. Regular Expression-based Rank/LR Configuration / 正規表現によるランク・学習率の指定 +### 6.5. Regular Expression-based Rank/LR Configuration / 正規表現によるランク・学習率の指定 You can specify ranks (dims) and learning rates for LoRA modules using regular expressions. This allows for more flexible and fine-grained control than specifying by layer. From 6c8973c2da72fe9112729bdac9fc1ca21e06945c Mon Sep 17 00:00:00 2001 From: Kohya S Date: Mon, 28 Jul 2025 22:08:02 +0900 Subject: [PATCH 629/748] doc: add reference link for input vector gradient requirement in Chroma class --- library/chroma_models.py | 1 + 1 file changed, 1 insertion(+) diff --git a/library/chroma_models.py b/library/chroma_models.py index b9c54db41..0c93f5269 100644 --- a/library/chroma_models.py +++ b/library/chroma_models.py @@ -695,6 +695,7 @@ def forward( input_vec = self.get_input_vec(timesteps, guidance, img.shape[0]) # kohya-ss: I'm not sure why requires_grad is set to True here + # original code: https://github.com/lodestone-rock/flow/blob/c76f63058980d0488826936025889e256a2e0458/src/models/chroma/model.py#L217 input_vec.requires_grad = True mod_vectors = self.distilled_guidance_layer(input_vec) else: From 10de781806623c8acc4cab4e0427aed64491c50c Mon Sep 17 00:00:00 2001 From: kozistr Date: Mon, 28 Jul 2025 23:40:38 +0900 Subject: [PATCH 630/748] build(deps): pytorch-optimizer to 3.7.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 767d9e8eb..448af323c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,7 +9,7 @@ pytorch-lightning==1.9.0 bitsandbytes==0.44.0 lion-pytorch==0.0.6 schedulefree==1.4 -pytorch-optimizer==3.5.0 +pytorch-optimizer==3.7.0 prodigy-plus-schedule-free==1.9.0 prodigyopt==1.1.2 tensorboard From 450630c6bda18026c6017df088a8d73f89f67a60 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Tue, 29 Jul 2025 20:32:24 +0900 Subject: [PATCH 631/748] fix: create network from weights not working --- networks/lora_flux.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/networks/lora_flux.py b/networks/lora_flux.py index 320bc4632..e9ad5f68d 100644 --- a/networks/lora_flux.py +++ b/networks/lora_flux.py @@ -841,8 +841,8 @@ def create_modules( logger.info(f"LoRA {lora_name} matched with regex {reg}, using dim: {dim}") break - # 通常、すべて対象とする - if dim is None: + # if modules_dim is None, we use default lora_dim. if modules_dim is not None, we use the specified dim (no default) + if dim is None and modules_dim is None: if is_linear or is_conv2d_1x1: dim = default_dim if default_dim is not None else self.lora_dim alpha = self.alpha From 96feb61c0a3d42f3526c09131090a33d2e5d8f23 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Wed, 30 Jul 2025 21:34:49 +0900 Subject: [PATCH 632/748] feat: implement modulation vector extraction for Chroma and update related methods --- flux_minimal_inference.py | 3 +++ flux_train_network.py | 15 ++++++++------- library/chroma_models.py | 28 ++++++++++------------------ library/flux_models.py | 6 +++--- 4 files changed, 24 insertions(+), 28 deletions(-) diff --git a/flux_minimal_inference.py b/flux_minimal_inference.py index 86e8e1b1f..d5f2d8d98 100644 --- a/flux_minimal_inference.py +++ b/flux_minimal_inference.py @@ -113,6 +113,8 @@ def denoise( y_input = b_vec + mod_vectors = model.get_mod_vectors(timesteps=t_vec, guidance=guidance_vec, batch_size=b_img.shape[0]) + pred = model( img=b_img, img_ids=b_img_ids, @@ -122,6 +124,7 @@ def denoise( timesteps=t_vec, guidance=guidance_vec, txt_attention_mask=b_t5_attn_mask, + mod_vectors=mod_vectors, ) # classifier free guidance diff --git a/flux_train_network.py b/flux_train_network.py index 13e9ae2a2..2d9ab2487 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -341,7 +341,8 @@ def get_noise_pred_and_target( guidance_vec = torch.full((bsz,), float(args.guidance_scale), device=accelerator.device) # get modulation vectors for Chroma - input_vec = unet.get_input_vec(timesteps=timesteps / 1000, guidance=guidance_vec, batch_size=bsz) + with accelerator.autocast(), torch.no_grad(): + mod_vectors = unet.get_mod_vectors(timesteps=timesteps / 1000, guidance=guidance_vec, batch_size=bsz) if args.gradient_checkpointing: noisy_model_input.requires_grad_(True) @@ -350,15 +351,15 @@ def get_noise_pred_and_target( t.requires_grad_(True) img_ids.requires_grad_(True) guidance_vec.requires_grad_(True) - if input_vec is not None: - input_vec.requires_grad_(True) + if mod_vectors is not None: + mod_vectors.requires_grad_(True) # Predict the noise residual l_pooled, t5_out, txt_ids, t5_attn_mask = text_encoder_conds if not args.apply_t5_attn_mask: t5_attn_mask = None - def call_dit(img, img_ids, t5_out, txt_ids, l_pooled, timesteps, guidance_vec, t5_attn_mask, input_vec): + def call_dit(img, img_ids, t5_out, txt_ids, l_pooled, timesteps, guidance_vec, t5_attn_mask, mod_vectors): # grad is enabled even if unet is not in train mode, because Text Encoder is in train mode with torch.set_grad_enabled(is_train), accelerator.autocast(): # YiYi notes: divide it by 1000 for now because we scale it by 1000 in the transformer model (we should not keep it but I want to keep the inputs same for the model for testing) @@ -371,7 +372,7 @@ def call_dit(img, img_ids, t5_out, txt_ids, l_pooled, timesteps, guidance_vec, t timesteps=timesteps / 1000, guidance=guidance_vec, txt_attention_mask=t5_attn_mask, - input_vec=input_vec, + mod_vectors=mod_vectors, ) return model_pred @@ -384,7 +385,7 @@ def call_dit(img, img_ids, t5_out, txt_ids, l_pooled, timesteps, guidance_vec, t timesteps=timesteps, guidance_vec=guidance_vec, t5_attn_mask=t5_attn_mask, - input_vec=input_vec, + mod_vectors=mod_vectors, ) # unpack latents @@ -416,7 +417,7 @@ def call_dit(img, img_ids, t5_out, txt_ids, l_pooled, timesteps, guidance_vec, t timesteps=timesteps[diff_output_pr_indices], guidance_vec=guidance_vec[diff_output_pr_indices] if guidance_vec is not None else None, t5_attn_mask=t5_attn_mask[diff_output_pr_indices] if t5_attn_mask is not None else None, - input_vec=input_vec[diff_output_pr_indices] if input_vec is not None else None, + mod_vectors=mod_vectors[diff_output_pr_indices] if mod_vectors is not None else None, ) network.set_multiplier(1.0) # may be overwritten by "network_multipliers" in the next step diff --git a/library/chroma_models.py b/library/chroma_models.py index 0c93f5269..d5ac1f39e 100644 --- a/library/chroma_models.py +++ b/library/chroma_models.py @@ -641,7 +641,10 @@ def disable_gradient_checkpointing(self): print("Chroma: Gradient checkpointing disabled.") - def get_input_vec(self, timesteps: Tensor, guidance: Tensor | None = None, batch_size: int | None = None) -> Tensor: + def get_mod_vectors(self, timesteps: Tensor, guidance: Tensor | None = None, batch_size: int | None = None) -> Tensor: + # We extract this logic from forward to clarify the propagation of the gradients + # original comment: https://github.com/lodestone-rock/flow/blob/c76f63058980d0488826936025889e256a2e0458/src/models/chroma/model.py#L195 + # print(f"Chroma get_input_vec: timesteps {timesteps}, guidance: {guidance}, batch_size: {batch_size}") distill_timestep = timestep_embedding(timesteps, self.approximator_in_dim // 4) # TODO: need to add toggle to omit this from schnell but that's not a priority @@ -654,7 +657,9 @@ def get_input_vec(self, timesteps: Tensor, guidance: Tensor | None = None, batch timestep_guidance = torch.cat([distill_timestep, distil_guidance], dim=1).unsqueeze(1).repeat(1, self.mod_index_length, 1) # then and only then we could concatenate it together input_vec = torch.cat([timestep_guidance, modulation_index], dim=-1) - return input_vec + + mod_vectors = self.distilled_guidance_layer(input_vec) + return mod_vectors def forward( self, @@ -669,7 +674,7 @@ def forward( guidance: Tensor | None = None, txt_attention_mask: Tensor | None = None, attn_padding: int = 1, - input_vec: Tensor | None = None, + mod_vectors: Tensor | None = None, ) -> Tensor: # print( # f"Chroma forward: img shape {img.shape}, txt shape {txt.shape}, img_ids shape {img_ids.shape}, txt_ids shape {txt_ids.shape}" @@ -684,22 +689,9 @@ def forward( img = self.img_in(img) txt = self.txt_in(txt) - if input_vec is None: - # TODO: - # need to fix grad accumulation issue here for now it's in no grad mode - # besides, i don't want to wash out the PFP that's trained on this model weights anyway - # the fan out operation here is deleting the backward graph - # alternatively doing forward pass for every block manually is doable but slow - # custom backward probably be better + if mod_vectors is None: # fallback to the original logic with torch.no_grad(): - input_vec = self.get_input_vec(timesteps, guidance, img.shape[0]) - - # kohya-ss: I'm not sure why requires_grad is set to True here - # original code: https://github.com/lodestone-rock/flow/blob/c76f63058980d0488826936025889e256a2e0458/src/models/chroma/model.py#L217 - input_vec.requires_grad = True - mod_vectors = self.distilled_guidance_layer(input_vec) - else: - mod_vectors = self.distilled_guidance_layer(input_vec) + mod_vectors = self.get_mod_vectors(timesteps, guidance, img.shape[0]) mod_vectors_dict = distribute_modulations(mod_vectors, self.depth_single_blocks, self.depth_double_blocks) # calculate text length for each batch instead of masking diff --git a/library/flux_models.py b/library/flux_models.py index 63d699d49..d2d7e06c7 100644 --- a/library/flux_models.py +++ b/library/flux_models.py @@ -1009,8 +1009,8 @@ def prepare_block_swap_before_forward(self): self.offloader_double.prepare_block_devices_before_forward(self.double_blocks) self.offloader_single.prepare_block_devices_before_forward(self.single_blocks) - def get_input_vec(self, timesteps: Tensor, guidance: Tensor | None = None, batch_size: int | None = None) -> Tensor: - return None # FLUX.1 does not use input_vec, but Chroma does. + def get_mod_vectors(self, timesteps: Tensor, guidance: Tensor | None = None, batch_size: int | None = None) -> Tensor: + return None # FLUX.1 does not use mod_vectors, but Chroma does. def forward( self, @@ -1024,7 +1024,7 @@ def forward( block_controlnet_single_hidden_states=None, guidance: Tensor | None = None, txt_attention_mask: Tensor | None = None, - input_vec: Tensor | None = None, + mod_vectors: Tensor | None = None, ) -> Tensor: if img.ndim != 3 or txt.ndim != 3: raise ValueError("Input img and txt tensors must have 3 dimensions.") From 250f0eb9b051784f6f18bb223ea88860119a0172 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Wed, 30 Jul 2025 22:08:51 +0900 Subject: [PATCH 633/748] doc: update README and training guide with breaking changes for CFG scale and model download instructions --- README.md | 4 +-- docs/flux_train_network.md | 57 ++++++++++++++++++++++++++++++++------ 2 files changed, 50 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 9ba1cbfc1..724bd3d84 100644 --- a/README.md +++ b/README.md @@ -16,8 +16,8 @@ If you are using DeepSpeed, please install DeepSpeed with `pip install deepspeed ### Recent Updates -Jul XX, 2025: -- **Breaking Change**: For FLUX.1 and Chroma training, the CFG scale option for sample image generation during training has been changed from `--g` to `--l`. The `--g` option is now used for the embedded guidance scale. Please update your prompts accordingly. See [Sample Image Generation During Training](#sample-image-generation-during-training) for details. +Jul 30, 2025: +- **Breaking Change**: For FLUX.1 and Chroma training, the CFG (Classifier-Free Guidance, using negative prompts) scale option for sample image generation during training has been changed from `--g` to `--l`. The `--g` option is now used for the embedded guidance scale. Please update your prompts accordingly. See [Sample Image Generation During Training](#sample-image-generation-during-training) for details. - Support for [Chroma](https://huggingface.co/lodestones/Chroma) has been added in PR [#2157](https://github.com/kohya-ss/sd-scripts/pull/2157). Thank you to lodestones for the high-quality model. - Chroma is a new model based on FLUX.1 schnell. In this repository, `flux_train_network.py` is used for training LoRAs for Chroma with `--model_type chroma`. diff --git a/docs/flux_train_network.md b/docs/flux_train_network.md index 647e87c97..2bf3bfb24 100644 --- a/docs/flux_train_network.md +++ b/docs/flux_train_network.md @@ -71,6 +71,21 @@ Before starting training you need: 4. **AutoEncoder model file:** FLUX.1-compatible AE model `.safetensors` file (e.g., `ae.safetensors`). 5. **Dataset definition file (.toml):** TOML format file describing training dataset configuration (e.g., `my_flux_dataset_config.toml`). +### Downloading Required Models + +To train FLUX.1 models, you need to download the following model files: + +- **DiT, AE**: Download from the [black-forest-labs/FLUX.1 dev](https://huggingface.co/black-forest-labs/FLUX.1-dev) repository. Use `flux1-dev.safetensors` and `ae.safetensors`. The weights in the subfolder are in Diffusers format and cannot be used. +- **Text Encoder 1 (T5-XXL), Text Encoder 2 (CLIP-L)**: Download from the [ComfyUI FLUX Text Encoders](https://huggingface.co/comfyanonymous/flux_text_encoders) repository. Please use `t5xxl_fp16.safetensors` for T5-XXL. Thanks to ComfyUI for providing these models. + +To train Chroma models, you need to download the Chroma model file from the following repository: + +- **Chroma Base**: Download from the [lodestones/Chroma1-Base](https://huggingface.co/lodestones/Chroma1-Base) repository. Use `Chroma.safetensors`. + +We have tested Chroma training with the weights from the [lodestones/Chroma](https://huggingface.co/lodestones/Chroma) repository. + +AE and T5-XXL models are same as FLUX.1, so you can use the same files. CLIP-L model is not used for Chroma training, so you can omit the `--clip_l` argument. +
日本語 @@ -84,6 +99,21 @@ Before starting training you need: 4. **AutoEncoderモデルファイル:** FLUX.1に対応するAEモデルの`.safetensors`ファイル。例として`ae.safetensors`を使用します。 5. **データセット定義ファイル (.toml):** 学習データセットの設定を記述したTOML形式のファイル。(詳細は[データセット設定ガイド](link/to/dataset/config/doc)を参照してください)。例として`my_flux_dataset_config.toml`を使用します。 +**必要なモデルのダウンロード** + +FLUX.1モデルを学習するためには、以下のモデルファイルをダウンロードする必要があります。 + +- **DiT, AE**: [black-forest-labs/FLUX.1 dev](https://huggingface.co/black-forest-labs/FLUX.1-dev) リポジトリからダウンロードします。`flux1-dev.safetensors`と`ae.safetensors`を使用してください。サブフォルダ内の重みはDiffusers形式であり、使用できません。 +- **Text Encoder 1 (T5-XXL), Text Encoder 2 (CLIP-L)**: [ComfyUI FLUX Text Encoders](https://huggingface.co/comfyanonymous/flux_text_encoders) リポジトリからダウンロードします。T5-XXLには`t5xxl_fp16.safetensors`を使用してください。これらのモデルを提供いただいたComfyUIに感謝します。 + +Chromaモデルを学習する場合は、以下のリポジトリからChromaモデルファイルをダウンロードする必要があります。 + +- **Chroma Base**: [lodestones/Chroma1-Base](https://huggingface.co/lodestones/Chroma1-Base) リポジトリからダウンロードします。`Chroma.safetensors`を使用してください。 + +Chromaの学習のテストは [lodestones/Chroma](https://huggingface.co/lodestones/Chroma) リポジトリの重みを使用して行いました。 + +AEとT5-XXLモデルはFLUX.1と同じものを使用できるため、同じファイルを使用します。CLIP-LモデルはChroma学習では使用されないため、`--clip_l`引数は省略できます。 +
## 4. Running the Training / 学習の実行 @@ -140,6 +170,12 @@ accelerate launch --num_cpu_threads_per_process 1 flux_train_network.py \ Note that for Chroma models, `--guidance_scale=0.0` is required to disable guidance scale, and `--apply_t5_attn_mask` is needed to apply attention masks for T5XXL Text Encoder. +The sample image generation during training requires specifying a negative prompt. Also, set `--g 0` to disable embedded guidance scale and `--l 4.0` to set the CFG scale. For example: + +``` +Japanese shrine in the summer forest. --n low quality, ugly, unfinished, out of focus, deformed, disfigure, blurry, smudged, restricted palette, flat colors --w 512 --h 512 --d 1 --l 4.0 --g 0.0 --s 20 +``` +
日本語 @@ -153,6 +189,8 @@ Chromaモデルを学習したい場合は、`--model_type=chroma`を指定し コマンドラインの例は英語のドキュメントを参照してください。 +学習中のサンプル画像生成には、ネガティブプロンプトを指定してください。また `--g 0` を指定して埋め込みガイダンススケールを無効化し、`--l 4.0` を指定してCFGスケールを設定します。 +
### 4.1. Explanation of Key Options / 主要なコマンドライン引数の解説 @@ -314,9 +352,12 @@ Based on experiments, the following settings work well: --timestep_sampling shift --discrete_flow_shift 3.1582 --model_prediction_type raw --guidance_scale 1.0 ``` -**About Guidance Scale**: FLUX.1 dev version is distilled with specific guidance scale values, but for training, specify `--guidance_scale 1.0` to disable guidance scale. +For Chroma models, the following settings are recommended: +``` +--timestep_sampling sigmoid --model_prediction_type raw --guidance_scale 0.0 +``` -`--timestep_sampling sigmoid --model_prediction_type raw --guidance_scale 0.0` is recommended for Chroma models. +**About Guidance Scale**: FLUX.1 dev version is distilled with specific guidance scale values, but for training, specify `--guidance_scale 1.0` to disable guidance scale. Chroma requires `--guidance_scale 0.0` to disable guidance scale because it is not distilled.
日本語 @@ -396,9 +437,6 @@ FLUX.1 LoRA学習では、network_argsの`train_double_block_indices`と`train_s 詳細な設定方法とコマンドラインの例は英語のドキュメントを参照してください。 -
- - ### 6.5. Regular Expression-based Rank/LR Configuration / 正規表現によるランク・学習率の指定 @@ -607,10 +645,11 @@ Several related scripts are provided for models trained with `flux_train_network `flux_train_network.py` で学習したモデルや、学習プロセスに役立つ関連スクリプトが提供されています: -* **`networks/flux_extract_lora.py`**: 学習済みモデルとベースモデルの差分から LoRA モデルを抽出 -* **`convert_flux_lora.py`**: 学習した LoRA モデルを Diffusers (AI-Toolkit) 形式など他の形式に変換 -* **`networks/flux_merge_lora.py`**: 学習した LoRA モデルを FLUX.1 ベースモデルにマージ -* **`flux_minimal_inference.py`**: 学習した LoRA モデルを適用して画像を生成するシンプルな推論スクリプト +* **`networks/flux_extract_lora.py`**: 学習済みモデルとベースモデルの差分から LoRA モデルを抽出。 +* **`convert_flux_lora.py`**: 学習した LoRA モデルを Diffusers (AI-Toolkit) 形式など他の形式に変換。 +* **`networks/flux_merge_lora.py`**: 学習した LoRA モデルを FLUX.1 ベースモデルにマージ。 +* **`flux_minimal_inference.py`**: 学習した LoRA モデルを適用して画像を生成するシンプルな推論スクリプト。 + `--model_type` 引数で `flux` または `chroma` を指定できます。 From bd6418a940cad7ae88df3d849617f33ad2f5bd9d Mon Sep 17 00:00:00 2001 From: Kohya S Date: Fri, 1 Aug 2025 21:47:38 +0900 Subject: [PATCH 634/748] fix: add assertion for apply_t5_attn_mask requirement in Chroma --- flux_train_network.py | 1 + 1 file changed, 1 insertion(+) diff --git a/flux_train_network.py b/flux_train_network.py index 2d9ab2487..cfc617088 100644 --- a/flux_train_network.py +++ b/flux_train_network.py @@ -51,6 +51,7 @@ def assert_extra_args( self.use_clip_l = True else: self.use_clip_l = False # Chroma does not use CLIP-L + assert args.apply_t5_attn_mask, "apply_t5_attn_mask must be True for Chroma / Chromaではapply_t5_attn_maskを指定する必要があります" if args.fp8_base_unet: args.fp8_base = True # if fp8_base_unet is enabled, fp8_base is also enabled for FLUX.1 From 5249732a0fbe8b72a3b9fe5758ac5ad5906b283a Mon Sep 17 00:00:00 2001 From: Kohya S Date: Fri, 1 Aug 2025 23:38:02 +0900 Subject: [PATCH 635/748] chore: update README to include `--apply_t5_attn_mask` requirement for Chroma training #2163 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 724bd3d84..be0ae4064 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ Jul 30, 2025: - **Breaking Change**: For FLUX.1 and Chroma training, the CFG (Classifier-Free Guidance, using negative prompts) scale option for sample image generation during training has been changed from `--g` to `--l`. The `--g` option is now used for the embedded guidance scale. Please update your prompts accordingly. See [Sample Image Generation During Training](#sample-image-generation-during-training) for details. - Support for [Chroma](https://huggingface.co/lodestones/Chroma) has been added in PR [#2157](https://github.com/kohya-ss/sd-scripts/pull/2157). Thank you to lodestones for the high-quality model. - - Chroma is a new model based on FLUX.1 schnell. In this repository, `flux_train_network.py` is used for training LoRAs for Chroma with `--model_type chroma`. + - Chroma is a new model based on FLUX.1 schnell. In this repository, `flux_train_network.py` is used for training LoRAs for Chroma with `--model_type chroma`. `--apply_t5_attn_mask` is also needed for Chroma training. - Please refer to the [FLUX.1 LoRA training documentation](./docs/flux_train_network.md) for more details. Jul 21, 2025: From b9c091eafcca028d4edfce4a407321442682d07e Mon Sep 17 00:00:00 2001 From: Dave Lage Date: Sat, 2 Aug 2025 17:19:26 -0400 Subject: [PATCH 636/748] Fix validation documentation --- docs/flux_train_network.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/flux_train_network.md b/docs/flux_train_network.md index 2bf3bfb24..690c9c899 100644 --- a/docs/flux_train_network.md +++ b/docs/flux_train_network.md @@ -547,21 +547,21 @@ resolution = [768, 768] You can calculate validation loss during training using a validation dataset to evaluate model generalization performance. -To set up validation, add a `[validation]` section to your dataset configuration TOML file. Configuration is similar to training datasets, but `num_repeats` is usually set to 1. +To set up validation, add a `validation_split` and optionally `validation_seed` to your dataset configuration TOML file. ```toml -# ... (training dataset configuration) ... - -[validation] -batch_size = 1 +[[datasets]] enable_bucket = true -resolution = [1024, 1024] # Resolution for validation +resolution = [1024, 1024] +validation_seed = 42 # [Optional] Validation seed, otherwise uses training seed for validation split . - [[validation.subsets]] - image_dir = "path/to/validation/images" - num_repeats = 1 - caption_extension = ".txt" - # ... other validation dataset settings ... + [[datasets.subsets]] + image_dir = "path/to/image/directory" + validation_split = 0.1 # Split between 0.0 and 1.0 where 1.0 will use the full subset as a valiation dataset + + [[datasets.subsets]] + image_dir = "path/to/image/full_validation" + validation_split = 1.0 # Split between 0.0 and 1.0 where 1.0 will use the full subset as a valiation dataset ``` **Notes:** From 24c605ee3bec841a375fbb47822e671f74684796 Mon Sep 17 00:00:00 2001 From: Dave Lage Date: Sat, 2 Aug 2025 17:21:25 -0400 Subject: [PATCH 637/748] Update flux_train_network.md --- docs/flux_train_network.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/flux_train_network.md b/docs/flux_train_network.md index 690c9c899..2b4afd401 100644 --- a/docs/flux_train_network.md +++ b/docs/flux_train_network.md @@ -557,11 +557,11 @@ validation_seed = 42 # [Optional] Validation seed, otherwise uses training seed [[datasets.subsets]] image_dir = "path/to/image/directory" - validation_split = 0.1 # Split between 0.0 and 1.0 where 1.0 will use the full subset as a valiation dataset + validation_split = 0.1 # Split between 0.0 and 1.0 where 1.0 will use the full subset as a validation dataset [[datasets.subsets]] image_dir = "path/to/image/full_validation" - validation_split = 1.0 # Split between 0.0 and 1.0 where 1.0 will use the full subset as a valiation dataset + validation_split = 1.0 # Split between 0.0 and 1.0 where 1.0 will use the full subset as a validation dataset ``` **Notes:** From 0ad2cb854de3ea4124cb6ab56aee432796919f8b Mon Sep 17 00:00:00 2001 From: Dave Lage Date: Sat, 2 Aug 2025 17:27:55 -0400 Subject: [PATCH 638/748] Update flux_train_network.md --- docs/flux_train_network.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/flux_train_network.md b/docs/flux_train_network.md index 2b4afd401..23828eb71 100644 --- a/docs/flux_train_network.md +++ b/docs/flux_train_network.md @@ -561,7 +561,7 @@ validation_seed = 42 # [Optional] Validation seed, otherwise uses training seed [[datasets.subsets]] image_dir = "path/to/image/full_validation" - validation_split = 1.0 # Split between 0.0 and 1.0 where 1.0 will use the full subset as a validation dataset + validation_split = 1.0 # Will use this full subset as a validation subset. ``` **Notes:** From d24d733892a6de393267111b32f4a56e896e1f64 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Sat, 2 Aug 2025 21:14:27 -0400 Subject: [PATCH 639/748] Update model spec to 1.0.1. Refactor model spec --- library/sai_model_spec.py | 663 ++++++++++++++++++++++++++++++-------- library/train_util.py | 130 +++++--- 2 files changed, 624 insertions(+), 169 deletions(-) diff --git a/library/sai_model_spec.py b/library/sai_model_spec.py index bb4bea401..8b1224842 100644 --- a/library/sai_model_spec.py +++ b/library/sai_model_spec.py @@ -1,14 +1,19 @@ # based on https://github.com/Stability-AI/ModelSpec import datetime import hashlib +import argparse +import base64 +import logging +import mimetypes +import subprocess +from dataclasses import dataclass, field from io import BytesIO import os -from typing import List, Optional, Tuple, Union +from typing import Dict, List, Optional, Tuple, Union import safetensors from library.utils import setup_logging setup_logging() -import logging logger = logging.getLogger(__name__) @@ -31,23 +36,44 @@ """ BASE_METADATA = { - # === Must === - "modelspec.sai_model_spec": "1.0.0", # Required version ID for the spec + # === Universal MUST fields === + "modelspec.sai_model_spec": "1.0.1", # Updated to latest spec version "modelspec.architecture": None, "modelspec.implementation": None, "modelspec.title": None, - "modelspec.resolution": None, - # === Should === + + # === Universal SHOULD fields === "modelspec.description": None, "modelspec.author": None, "modelspec.date": None, - # === Can === + "modelspec.hash_sha256": None, + + # === Universal CAN fields === + "modelspec.implementation_version": None, "modelspec.license": None, + "modelspec.usage_hint": None, + "modelspec.thumbnail": None, "modelspec.tags": None, "modelspec.merged_from": None, + + # === Image generation MUST fields === + "modelspec.resolution": None, + + # === Image generation CAN fields === + "modelspec.trigger_phrase": None, "modelspec.prediction_type": None, "modelspec.timestep_range": None, "modelspec.encoder_layer": None, + "modelspec.preprocessor": None, + "modelspec.is_negative_embedding": None, + "modelspec.unet_dtype": None, + "modelspec.vae_dtype": None, + + # === Text prediction fields === + "modelspec.data_format": None, + "modelspec.format_type": None, + "modelspec.language": None, + "modelspec.format_template": None, } # 別に使うやつだけ定義 @@ -80,6 +106,256 @@ PRED_TYPE_V = "v" +@dataclass +class ModelSpecMetadata: + """ + ModelSpec 1.0.1 compliant metadata for safetensors models. + All fields correspond to modelspec.* keys in the final metadata. + """ + + # === Universal MUST fields === + architecture: str + implementation: str + title: str + + # === Universal SHOULD fields === + description: Optional[str] = None + author: Optional[str] = None + date: Optional[str] = None + hash_sha256: Optional[str] = None + + # === Universal CAN fields === + sai_model_spec: str = "1.0.1" + implementation_version: Optional[str] = None + license: Optional[str] = None + usage_hint: Optional[str] = None + thumbnail: Optional[str] = None + tags: Optional[str] = None + merged_from: Optional[str] = None + + # === Image generation MUST fields === + resolution: Optional[str] = None + + # === Image generation CAN fields === + trigger_phrase: Optional[str] = None + prediction_type: Optional[str] = None + timestep_range: Optional[str] = None + encoder_layer: Optional[str] = None + preprocessor: Optional[str] = None + is_negative_embedding: Optional[str] = None + unet_dtype: Optional[str] = None + vae_dtype: Optional[str] = None + + # === Text prediction fields === + data_format: Optional[str] = None + format_type: Optional[str] = None + language: Optional[str] = None + format_template: Optional[str] = None + + # === Additional metadata === + additional_fields: Dict[str, str] = field(default_factory=dict) + + def to_metadata_dict(self) -> Dict[str, str]: + """Convert dataclass to metadata dictionary with modelspec. prefixes.""" + metadata = {} + + # Add all non-None fields with modelspec prefix + for field_name, value in self.__dict__.items(): + if field_name == "additional_fields": + # Handle additional fields separately + for key, val in value.items(): + if key.startswith("modelspec."): + metadata[key] = val + else: + metadata[f"modelspec.{key}"] = val + elif value is not None: + metadata[f"modelspec.{field_name}"] = value + + return metadata + + @classmethod + def from_args(cls, args, **kwargs) -> "ModelSpecMetadata": + """Create ModelSpecMetadata from argparse Namespace, extracting metadata_* fields.""" + metadata_fields = {} + + # Extract all metadata_* attributes from args + for attr_name in dir(args): + if attr_name.startswith("metadata_") and not attr_name.startswith("metadata___"): + value = getattr(args, attr_name, None) + if value is not None: + # Remove metadata_ prefix + field_name = attr_name[9:] # len("metadata_") = 9 + metadata_fields[field_name] = value + + # Handle known standard fields + standard_fields = { + "author": metadata_fields.pop("author", None), + "description": metadata_fields.pop("description", None), + "license": metadata_fields.pop("license", None), + "tags": metadata_fields.pop("tags", None), + } + + # Remove None values + standard_fields = {k: v for k, v in standard_fields.items() if v is not None} + + # Merge with kwargs and remaining metadata fields + all_fields = {**standard_fields, **kwargs} + if metadata_fields: + all_fields["additional_fields"] = metadata_fields + + return cls(**all_fields) + + +def determine_architecture( + v2: bool, + v_parameterization: bool, + sdxl: bool, + lora: bool, + textual_inversion: bool, + model_config: Optional[dict] = None +) -> str: + """Determine model architecture string from parameters.""" + + model_config = model_config or {} + + if sdxl: + arch = ARCH_SD_XL_V1_BASE + elif "sd3" in model_config: + arch = ARCH_SD3_M + "-" + model_config["sd3"] + elif "flux" in model_config: + flux_type = model_config["flux"] + if flux_type == "dev": + arch = ARCH_FLUX_1_DEV + elif flux_type == "schnell": + arch = ARCH_FLUX_1_SCHNELL + elif flux_type == "chroma": + arch = ARCH_FLUX_1_CHROMA + else: + arch = ARCH_FLUX_1_UNKNOWN + elif "lumina" in model_config: + lumina_type = model_config["lumina"] + if lumina_type == "lumina2": + arch = ARCH_LUMINA_2 + else: + arch = ARCH_LUMINA_UNKNOWN + elif v2: + arch = ARCH_SD_V2_768_V if v_parameterization else ARCH_SD_V2_512 + else: + arch = ARCH_SD_V1 + + # Add adapter suffix + if lora: + arch += f"/{ADAPTER_LORA}" + elif textual_inversion: + arch += f"/{ADAPTER_TEXTUAL_INVERSION}" + + return arch + + +def determine_implementation( + lora: bool, + textual_inversion: bool, + sdxl: bool, + model_config: Optional[dict] = None, + is_stable_diffusion_ckpt: Optional[bool] = None +) -> str: + """Determine implementation string from parameters.""" + + model_config = model_config or {} + + if "flux" in model_config: + if model_config["flux"] == "chroma": + return IMPL_CHROMA + else: + return IMPL_FLUX + elif "lumina" in model_config: + return IMPL_LUMINA + elif (lora and sdxl) or textual_inversion or is_stable_diffusion_ckpt: + return IMPL_STABILITY_AI + else: + return IMPL_DIFFUSERS + + +def get_implementation_version() -> str: + """Get the current implementation version as sd-scripts/{commit_hash}.""" + try: + # Get the git commit hash + result = subprocess.run( + ["git", "rev-parse", "HEAD"], + capture_output=True, + text=True, + cwd=os.path.dirname(os.path.dirname(__file__)), # Go up to sd-scripts root + timeout=5 + ) + + if result.returncode == 0: + commit_hash = result.stdout.strip() + return f"sd-scripts/{commit_hash}" + else: + logger.warning("Failed to get git commit hash, using fallback") + return "sd-scripts/unknown" + + except (subprocess.TimeoutExpired, subprocess.SubprocessError, FileNotFoundError) as e: + logger.warning(f"Could not determine git commit: {e}") + return "sd-scripts/unknown" + + +def file_to_data_url(file_path: str) -> str: + """Convert a file path to a data URL for embedding in metadata.""" + if not os.path.exists(file_path): + raise FileNotFoundError(f"File not found: {file_path}") + + # Get MIME type + mime_type, _ = mimetypes.guess_type(file_path) + if mime_type is None: + # Default to binary if we can't detect + mime_type = "application/octet-stream" + + # Read file and encode as base64 + with open(file_path, "rb") as f: + file_data = f.read() + + encoded_data = base64.b64encode(file_data).decode("ascii") + + return f"data:{mime_type};base64,{encoded_data}" + + +def determine_resolution( + reso: Optional[Union[int, Tuple[int, int]]] = None, + sdxl: bool = False, + model_config: Optional[dict] = None, + v2: bool = False, + v_parameterization: bool = False +) -> str: + """Determine resolution string from parameters.""" + + model_config = model_config or {} + + if reso is not None: + # Handle comma separated string + if isinstance(reso, str): + reso = tuple(map(int, reso.split(","))) + # Handle single int + if isinstance(reso, int): + reso = (reso, reso) + # Handle single-element tuple + if len(reso) == 1: + reso = (reso[0], reso[0]) + else: + # Determine default resolution based on model type + if (sdxl or + "sd3" in model_config or + "flux" in model_config or + "lumina" in model_config): + reso = (1024, 1024) + elif v2 and v_parameterization: + reso = (768, 768) + else: + reso = (512, 512) + + return f"{reso[0]}x{reso[1]}" + + def load_bytes_in_safetensors(tensors): bytes = safetensors.torch.save(tensors) b = BytesIO(bytes) @@ -109,7 +385,7 @@ def update_hash_sha256(metadata: dict, state_dict: dict): raise NotImplementedError -def build_metadata( +def build_metadata_dataclass( state_dict: Optional[dict], v2: bool, v_parameterization: bool, @@ -127,75 +403,28 @@ def build_metadata( merged_from: Optional[str] = None, timesteps: Optional[Tuple[int, int]] = None, clip_skip: Optional[int] = None, - sd3: Optional[str] = None, - flux: Optional[str] = None, - lumina: Optional[str] = None, -): + model_config: Optional[dict] = None, + optional_metadata: Optional[dict] = None, +) -> ModelSpecMetadata: """ - sd3: only supports "m", flux: supports "dev", "schnell" or "chroma" + Build ModelSpec 1.0.1 compliant metadata dataclass. + + Args: + model_config: Dict containing model type info, e.g. {"flux": "dev"}, {"sd3": "large"} + optional_metadata: Dict of additional metadata fields to include """ - # if state_dict is None, hash is not calculated - - metadata = {} - metadata.update(BASE_METADATA) - - # TODO メモリを消費せずかつ正しいハッシュ計算の方法がわかったら実装する - # if state_dict is not None: - # hash = precalculate_safetensors_hashes(state_dict) - # metadata["modelspec.hash_sha256"] = hash - - if sdxl: - arch = ARCH_SD_XL_V1_BASE - elif sd3 is not None: - arch = ARCH_SD3_M + "-" + sd3 - elif flux is not None: - if flux == "dev": - arch = ARCH_FLUX_1_DEV - elif flux == "schnell": - arch = ARCH_FLUX_1_SCHNELL - elif flux == "chroma": - arch = ARCH_FLUX_1_CHROMA - else: - arch = ARCH_FLUX_1_UNKNOWN - elif lumina is not None: - if lumina == "lumina2": - arch = ARCH_LUMINA_2 - else: - arch = ARCH_LUMINA_UNKNOWN - elif v2: - if v_parameterization: - arch = ARCH_SD_V2_768_V - else: - arch = ARCH_SD_V2_512 - else: - arch = ARCH_SD_V1 - - if lora: - arch += f"/{ADAPTER_LORA}" - elif textual_inversion: - arch += f"/{ADAPTER_TEXTUAL_INVERSION}" - - metadata["modelspec.architecture"] = arch + + # Use helper functions for complex logic + architecture = determine_architecture( + v2, v_parameterization, sdxl, lora, textual_inversion, model_config + ) if not lora and not textual_inversion and is_stable_diffusion_ckpt is None: is_stable_diffusion_ckpt = True # default is stable diffusion ckpt if not lora and not textual_inversion - if flux is not None: - # Flux - if flux == "chroma": - impl = IMPL_CHROMA - else: - impl = IMPL_FLUX - elif lumina is not None: - # Lumina - impl = IMPL_LUMINA - elif (lora and sdxl) or textual_inversion or is_stable_diffusion_ckpt: - # Stable Diffusion ckpt, TI, SDXL LoRA - impl = IMPL_STABILITY_AI - else: - # v1/v2 LoRA or Diffusers - impl = IMPL_DIFFUSERS - metadata["modelspec.implementation"] = impl + implementation = determine_implementation( + lora, textual_inversion, sdxl, model_config, is_stable_diffusion_ckpt + ) if title is None: if lora: @@ -205,88 +434,141 @@ def build_metadata( else: title = "Checkpoint" title += f"@{timestamp}" - metadata[MODELSPEC_TITLE] = title - - if author is not None: - metadata["modelspec.author"] = author - else: - del metadata["modelspec.author"] - - if description is not None: - metadata["modelspec.description"] = description - else: - del metadata["modelspec.description"] - - if merged_from is not None: - metadata["modelspec.merged_from"] = merged_from - else: - del metadata["modelspec.merged_from"] - - if license is not None: - metadata["modelspec.license"] = license - else: - del metadata["modelspec.license"] - - if tags is not None: - metadata["modelspec.tags"] = tags - else: - del metadata["modelspec.tags"] # remove microsecond from time int_ts = int(timestamp) - # time to iso-8601 compliant date date = datetime.datetime.fromtimestamp(int_ts).isoformat() - metadata["modelspec.date"] = date - if reso is not None: - # comma separated to tuple - if isinstance(reso, str): - reso = tuple(map(int, reso.split(","))) - if len(reso) == 1: - reso = (reso[0], reso[0]) - else: - # resolution is defined in dataset, so use default - if sdxl or sd3 is not None or flux is not None or lumina is not None: - reso = 1024 - elif v2 and v_parameterization: - reso = 768 - else: - reso = 512 - if isinstance(reso, int): - reso = (reso, reso) - - metadata["modelspec.resolution"] = f"{reso[0]}x{reso[1]}" + # Use helper function for resolution + resolution = determine_resolution( + reso, sdxl, model_config, v2, v_parameterization + ) - if flux is not None: - del metadata["modelspec.prediction_type"] - elif v_parameterization: - metadata["modelspec.prediction_type"] = PRED_TYPE_V - else: - metadata["modelspec.prediction_type"] = PRED_TYPE_EPSILON + # Handle prediction type - Flux models don't use prediction_type + model_config = model_config or {} + prediction_type = None + if "flux" not in model_config: + if v_parameterization: + prediction_type = PRED_TYPE_V + else: + prediction_type = PRED_TYPE_EPSILON + # Handle timesteps + timestep_range = None if timesteps is not None: if isinstance(timesteps, str) or isinstance(timesteps, int): timesteps = (timesteps, timesteps) if len(timesteps) == 1: timesteps = (timesteps[0], timesteps[0]) - metadata["modelspec.timestep_range"] = f"{timesteps[0]},{timesteps[1]}" - else: - del metadata["modelspec.timestep_range"] + timestep_range = f"{timesteps[0]},{timesteps[1]}" + # Handle encoder layer (clip skip) + encoder_layer = None if clip_skip is not None: - metadata["modelspec.encoder_layer"] = f"{clip_skip}" - else: - del metadata["modelspec.encoder_layer"] + encoder_layer = f"{clip_skip}" - # # assert all values are filled - # assert all([v is not None for v in metadata.values()]), metadata - if not all([v is not None for v in metadata.values()]): - logger.error(f"Internal error: some metadata values are None: {metadata}") + # TODO: Implement hash calculation when memory-efficient method is available + # hash_sha256 = None + # if state_dict is not None: + # hash_sha256 = precalculate_safetensors_hashes(state_dict) + + # Process thumbnail - convert file path to data URL if needed + processed_optional_metadata = optional_metadata.copy() if optional_metadata else {} + if "thumbnail" in processed_optional_metadata: + thumbnail_value = processed_optional_metadata["thumbnail"] + # Check if it's already a data URL or if it's a file path + if thumbnail_value and not thumbnail_value.startswith("data:"): + try: + processed_optional_metadata["thumbnail"] = file_to_data_url(thumbnail_value) + logger.info(f"Converted thumbnail file {thumbnail_value} to data URL") + except FileNotFoundError as e: + logger.warning(f"Thumbnail file not found, skipping: {e}") + del processed_optional_metadata["thumbnail"] + except Exception as e: + logger.warning(f"Failed to convert thumbnail to data URL: {e}") + del processed_optional_metadata["thumbnail"] + + # Automatically set implementation version if not provided + if "implementation_version" not in processed_optional_metadata: + processed_optional_metadata["implementation_version"] = get_implementation_version() + + # Create the dataclass + metadata = ModelSpecMetadata( + architecture=architecture, + implementation=implementation, + title=title, + description=description, + author=author, + date=date, + license=license, + tags=tags, + merged_from=merged_from, + resolution=resolution, + prediction_type=prediction_type, + timestep_range=timestep_range, + encoder_layer=encoder_layer, + additional_fields=processed_optional_metadata + ) return metadata +def build_metadata( + state_dict: Optional[dict], + v2: bool, + v_parameterization: bool, + sdxl: bool, + lora: bool, + textual_inversion: bool, + timestamp: float, + title: Optional[str] = None, + reso: Optional[Union[int, Tuple[int, int]]] = None, + is_stable_diffusion_ckpt: Optional[bool] = None, + author: Optional[str] = None, + description: Optional[str] = None, + license: Optional[str] = None, + tags: Optional[str] = None, + merged_from: Optional[str] = None, + timesteps: Optional[Tuple[int, int]] = None, + clip_skip: Optional[int] = None, + model_config: Optional[dict] = None, + optional_metadata: Optional[dict] = None, +) -> Dict[str, str]: + """ + Build ModelSpec 1.0.1 compliant metadata for safetensors models. + Legacy function that returns dict - prefer build_metadata_dataclass for new code. + + Args: + model_config: Dict containing model type info, e.g. {"flux": "dev"}, {"sd3": "large"} + optional_metadata: Dict of additional metadata fields to include + """ + # Use the dataclass function and convert to dict + metadata_obj = build_metadata_dataclass( + state_dict=state_dict, + v2=v2, + v_parameterization=v_parameterization, + sdxl=sdxl, + lora=lora, + textual_inversion=textual_inversion, + timestamp=timestamp, + title=title, + reso=reso, + is_stable_diffusion_ckpt=is_stable_diffusion_ckpt, + author=author, + description=description, + license=license, + tags=tags, + merged_from=merged_from, + timesteps=timesteps, + clip_skip=clip_skip, + model_config=model_config, + optional_metadata=optional_metadata, + ) + + return metadata_obj.to_metadata_dict() + + # region utils @@ -317,6 +599,121 @@ def get_title(model: str): return ", ".join(titles) +def add_model_spec_arguments(parser: argparse.ArgumentParser): + """Add all ModelSpec metadata arguments to the parser.""" + + # === Existing standard metadata fields === + parser.add_argument( + "--metadata_title", + type=str, + default=None, + help="title for model metadata (default is output_name) / メタデータに書き込まれるモデルタイトル、省略時はoutput_name", + ) + parser.add_argument( + "--metadata_author", + type=str, + default=None, + help="author name for model metadata / メタデータに書き込まれるモデル作者名", + ) + parser.add_argument( + "--metadata_description", + type=str, + default=None, + help="description for model metadata / メタデータに書き込まれるモデル説明", + ) + parser.add_argument( + "--metadata_license", + type=str, + default=None, + help="license for model metadata / メタデータに書き込まれるモデルライセンス", + ) + parser.add_argument( + "--metadata_tags", + type=str, + default=None, + help="tags for model metadata, separated by comma / メタデータに書き込まれるモデルタグ、カンマ区切り", + ) + + # === Universal CAN fields === + # Note: implementation_version is automatically set to sd-scripts/{commit_hash} + parser.add_argument( + "--metadata_usage_hint", + type=str, + default=None, + help="usage hint for model metadata / メタデータに書き込まれる使用方法のヒント", + ) + parser.add_argument( + "--metadata_thumbnail", + type=str, + default=None, + help="thumbnail image as data URL or file path (will be converted to data URL) for model metadata / メタデータに書き込まれるサムネイル画像(データURLまたはファイルパス、ファイルパスの場合はデータURLに変換されます)", + ) + parser.add_argument( + "--metadata_merged_from", + type=str, + default=None, + help="source models for merged model metadata / メタデータに書き込まれるマージ元モデル名", + ) + + # === Image generation CAN fields === + parser.add_argument( + "--metadata_trigger_phrase", + type=str, + default=None, + help="trigger phrase for model metadata / メタデータに書き込まれるトリガーフレーズ", + ) + parser.add_argument( + "--metadata_preprocessor", + type=str, + default=None, + help="preprocessor used for model metadata / メタデータに書き込まれる前処理手法", + ) + parser.add_argument( + "--metadata_is_negative_embedding", + type=str, + default=None, + help="whether this is a negative embedding for model metadata / メタデータに書き込まれるネガティブ埋め込みかどうか", + ) + parser.add_argument( + "--metadata_unet_dtype", + type=str, + default=None, + help="UNet data type for model metadata / メタデータに書き込まれるUNetのデータ型", + ) + parser.add_argument( + "--metadata_vae_dtype", + type=str, + default=None, + help="VAE data type for model metadata / メタデータに書き込まれるVAEのデータ型", + ) + + # === Text prediction fields === + parser.add_argument( + "--metadata_data_format", + type=str, + default=None, + help="data format for text prediction model metadata / メタデータに書き込まれるテキスト予測モデルのデータ形式", + ) + parser.add_argument( + "--metadata_format_type", + type=str, + default=None, + help="format type for text prediction model metadata / メタデータに書き込まれるテキスト予測モデルの形式タイプ", + ) + parser.add_argument( + "--metadata_language", + type=str, + default=None, + help="language for text prediction model metadata / メタデータに書き込まれるテキスト予測モデルの言語", + ) + parser.add_argument( + "--metadata_format_template", + type=str, + default=None, + help="format template for text prediction model metadata / メタデータに書き込まれるテキスト予測モデルの形式テンプレート", + ) + + # endregion diff --git a/library/train_util.py b/library/train_util.py index c866dec2a..395183957 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -3484,6 +3484,7 @@ def get_sai_model_spec( sd3: str = None, flux: str = None, # "dev", "schnell" or "chroma" lumina: str = None, + optional_metadata: dict[str, str] | None = None ): timestamp = time.time() @@ -3500,6 +3501,34 @@ def get_sai_model_spec( else: timesteps = None + # Convert individual model parameters to model_config dict + # TODO: Update calls to this function to pass in the model config + model_config = {} + if sd3 is not None: + model_config["sd3"] = sd3 + if flux is not None: + model_config["flux"] = flux + if lumina is not None: + model_config["lumina"] = lumina + + # Extract metadata_* fields from args and merge with optional_metadata + extracted_metadata = {} + + # Extract all metadata_* attributes from args + for attr_name in dir(args): + if attr_name.startswith("metadata_") and not attr_name.startswith("metadata___"): + value = getattr(args, attr_name, None) + if value is not None: + # Remove metadata_ prefix and exclude already handled fields + field_name = attr_name[9:] # len("metadata_") = 9 + if field_name not in ["title", "author", "description", "license", "tags"]: + extracted_metadata[field_name] = value + + # Merge extracted metadata with provided optional_metadata + all_optional_metadata = {**extracted_metadata} + if optional_metadata: + all_optional_metadata.update(optional_metadata) + metadata = sai_model_spec.build_metadata( state_dict, v2, @@ -3517,13 +3546,75 @@ def get_sai_model_spec( tags=args.metadata_tags, timesteps=timesteps, clip_skip=args.clip_skip, # None or int - sd3=sd3, - flux=flux, - lumina=lumina, + model_config=model_config, + optional_metadata=all_optional_metadata if all_optional_metadata else None, ) return metadata +def get_sai_model_spec_dataclass( + state_dict: dict, + args: argparse.Namespace, + sdxl: bool, + lora: bool, + textual_inversion: bool, + is_stable_diffusion_ckpt: Optional[bool] = None, + sd3: str = None, + flux: str = None, + lumina: str = None, + optional_metadata: dict[str, str] | None = None +) -> sai_model_spec.ModelSpecMetadata: + """ + Get ModelSpec metadata as a dataclass - preferred for new code. + Automatically extracts metadata_* fields from args. + """ + timestamp = time.time() + + v2 = args.v2 + v_parameterization = args.v_parameterization + reso = args.resolution + + title = args.metadata_title if args.metadata_title is not None else args.output_name + + if args.min_timestep is not None or args.max_timestep is not None: + min_time_step = args.min_timestep if args.min_timestep is not None else 0 + max_time_step = args.max_timestep if args.max_timestep is not None else 1000 + timesteps = (min_time_step, max_time_step) + else: + timesteps = None + + # Convert individual model parameters to model_config dict + model_config = {} + if sd3 is not None: + model_config["sd3"] = sd3 + if flux is not None: + model_config["flux"] = flux + if lumina is not None: + model_config["lumina"] = lumina + + # Use the dataclass function directly + return sai_model_spec.build_metadata_dataclass( + state_dict, + v2, + v_parameterization, + sdxl, + lora, + textual_inversion, + timestamp, + title=title, + reso=reso, + is_stable_diffusion_ckpt=is_stable_diffusion_ckpt, + author=args.metadata_author, + description=args.metadata_description, + license=args.metadata_license, + tags=args.metadata_tags, + timesteps=timesteps, + clip_skip=args.clip_skip, + model_config=model_config, + optional_metadata=optional_metadata, + ) + + def add_sd_models_arguments(parser: argparse.ArgumentParser): # for pretrained models parser.add_argument( @@ -4103,39 +4194,6 @@ def add_training_arguments(parser: argparse.ArgumentParser, support_dreambooth: parser.add_argument( "--output_config", action="store_true", help="output command line args to given .toml file / 引数を.tomlファイルに出力する" ) - - # SAI Model spec - parser.add_argument( - "--metadata_title", - type=str, - default=None, - help="title for model metadata (default is output_name) / メタデータに書き込まれるモデルタイトル、省略時はoutput_name", - ) - parser.add_argument( - "--metadata_author", - type=str, - default=None, - help="author name for model metadata / メタデータに書き込まれるモデル作者名", - ) - parser.add_argument( - "--metadata_description", - type=str, - default=None, - help="description for model metadata / メタデータに書き込まれるモデル説明", - ) - parser.add_argument( - "--metadata_license", - type=str, - default=None, - help="license for model metadata / メタデータに書き込まれるモデルライセンス", - ) - parser.add_argument( - "--metadata_tags", - type=str, - default=None, - help="tags for model metadata, separated by comma / メタデータに書き込まれるモデルタグ、カンマ区切り", - ) - if support_dreambooth: # DreamBooth training parser.add_argument( From 056472c2fcb0b46f35459caaa9f2a4ed3b234499 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Sat, 2 Aug 2025 21:16:56 -0400 Subject: [PATCH 640/748] Add tests --- tests/library/test_sai_model_spec.py | 349 +++++++++++++++++++++++++++ 1 file changed, 349 insertions(+) create mode 100644 tests/library/test_sai_model_spec.py diff --git a/tests/library/test_sai_model_spec.py b/tests/library/test_sai_model_spec.py new file mode 100644 index 000000000..92dcf4c64 --- /dev/null +++ b/tests/library/test_sai_model_spec.py @@ -0,0 +1,349 @@ +"""Tests for sai_model_spec module.""" +import pytest +import time + +from library import sai_model_spec + + +class MockArgs: + """Mock argparse.Namespace for testing.""" + + def __init__(self, **kwargs): + # Default values + self.v2 = False + self.v_parameterization = False + self.resolution = 512 + self.metadata_title = None + self.metadata_author = None + self.metadata_description = None + self.metadata_license = None + self.metadata_tags = None + self.min_timestep = None + self.max_timestep = None + self.clip_skip = None + self.output_name = "test_output" + + # Override with provided values + for key, value in kwargs.items(): + setattr(self, key, value) + + +class TestModelSpecMetadata: + """Test the ModelSpecMetadata dataclass.""" + + def test_creation_and_conversion(self): + """Test creating dataclass and converting to metadata dict.""" + metadata = sai_model_spec.ModelSpecMetadata( + architecture="stable-diffusion-v1", + implementation="diffusers", + title="Test Model", + author="Test Author", + description=None # Test None exclusion + ) + + assert metadata.architecture == "stable-diffusion-v1" + assert metadata.sai_model_spec == "1.0.1" + + metadata_dict = metadata.to_metadata_dict() + assert "modelspec.architecture" in metadata_dict + assert "modelspec.author" in metadata_dict + assert "modelspec.description" not in metadata_dict # None values excluded + assert metadata_dict["modelspec.sai_model_spec"] == "1.0.1" + + def test_additional_fields_handling(self): + """Test handling of additional metadata fields.""" + additional = {"custom_field": "custom_value", "modelspec.prefixed": "prefixed_value"} + + metadata = sai_model_spec.ModelSpecMetadata( + architecture="stable-diffusion-v1", + implementation="diffusers", + title="Test Model", + additional_fields=additional + ) + + metadata_dict = metadata.to_metadata_dict() + assert "modelspec.custom_field" in metadata_dict + assert "modelspec.prefixed" in metadata_dict + assert metadata_dict["modelspec.custom_field"] == "custom_value" + + def test_from_args_extraction(self): + """Test creating ModelSpecMetadata from args with metadata_* fields.""" + args = MockArgs( + metadata_author="Test Author", + metadata_trigger_phrase="anime style", + metadata_usage_hint="Use CFG 7.5" + ) + + metadata = sai_model_spec.ModelSpecMetadata.from_args( + args, + architecture="stable-diffusion-v1", + implementation="diffusers", + title="Test Model" + ) + + assert metadata.author == "Test Author" + assert metadata.additional_fields["trigger_phrase"] == "anime style" + assert metadata.additional_fields["usage_hint"] == "Use CFG 7.5" + + +class TestArchitectureDetection: + """Test architecture detection for different model types.""" + + @pytest.mark.parametrize("config,expected", [ + ({"v2": False, "v_parameterization": False, "sdxl": True}, "stable-diffusion-xl-v1-base"), + ({"v2": False, "v_parameterization": False, "sdxl": False, "model_config": {"flux": "dev"}}, "flux-1-dev"), + ({"v2": False, "v_parameterization": False, "sdxl": False, "model_config": {"flux": "chroma"}}, "chroma"), + ({"v2": False, "v_parameterization": False, "sdxl": False, "model_config": {"sd3": "large"}}, "stable-diffusion-3-large"), + ({"v2": True, "v_parameterization": True, "sdxl": False}, "stable-diffusion-v2-768-v"), + ({"v2": False, "v_parameterization": False, "sdxl": False}, "stable-diffusion-v1"), + ]) + def test_architecture_detection(self, config, expected): + """Test architecture detection for various model configurations.""" + model_config = config.pop("model_config", None) + arch = sai_model_spec.determine_architecture( + lora=False, textual_inversion=False, model_config=model_config, **config + ) + assert arch == expected + + def test_adapter_suffixes(self): + """Test LoRA and textual inversion suffixes.""" + lora_arch = sai_model_spec.determine_architecture( + v2=False, v_parameterization=False, sdxl=True, + lora=True, textual_inversion=False + ) + assert lora_arch == "stable-diffusion-xl-v1-base/lora" + + ti_arch = sai_model_spec.determine_architecture( + v2=False, v_parameterization=False, sdxl=False, + lora=False, textual_inversion=True + ) + assert ti_arch == "stable-diffusion-v1/textual-inversion" + + +class TestImplementationDetection: + """Test implementation detection for different model types.""" + + @pytest.mark.parametrize("config,expected", [ + ({"model_config": {"flux": "dev"}}, "https://github.com/black-forest-labs/flux"), + ({"model_config": {"flux": "chroma"}}, "https://huggingface.co/lodestones/Chroma"), + ({"model_config": {"lumina": "lumina2"}}, "https://github.com/Alpha-VLLM/Lumina-Image-2.0"), + ({"lora": True, "sdxl": True}, "https://github.com/Stability-AI/generative-models"), + ({"lora": True, "sdxl": False}, "diffusers"), + ]) + def test_implementation_detection(self, config, expected): + """Test implementation detection for various configurations.""" + model_config = config.pop("model_config", None) + impl = sai_model_spec.determine_implementation( + lora=config.get("lora", False), + textual_inversion=False, + sdxl=config.get("sdxl", False), + model_config=model_config + ) + assert impl == expected + + +class TestResolutionHandling: + """Test resolution parsing and defaults.""" + + @pytest.mark.parametrize("input_reso,expected", [ + ((768, 1024), "768x1024"), + (768, "768x768"), + ("768,1024", "768x1024"), + ]) + def test_explicit_resolution_formats(self, input_reso, expected): + """Test different resolution input formats.""" + res = sai_model_spec.determine_resolution(reso=input_reso) + assert res == expected + + @pytest.mark.parametrize("config,expected", [ + ({"sdxl": True}, "1024x1024"), + ({"model_config": {"flux": "dev"}}, "1024x1024"), + ({"v2": True, "v_parameterization": True}, "768x768"), + ({}, "512x512"), # Default SD v1 + ]) + def test_default_resolutions(self, config, expected): + """Test default resolution detection.""" + model_config = config.pop("model_config", None) + res = sai_model_spec.determine_resolution(model_config=model_config, **config) + assert res == expected + + +class TestThumbnailProcessing: + """Test thumbnail data URL processing.""" + + def test_file_to_data_url(self): + """Test converting file to data URL.""" + import tempfile + import os + + # Create a tiny test PNG (1x1 pixel) + test_png_data = b'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x01\x00\x00\x00\x01\x08\x02\x00\x00\x00\x90wS\xde\x00\x00\x00\x0cIDATx\x9cc\xff\xff\xff\x00\x00\x00\x04\x00\x01\x9d\xb3\xa7c\x00\x00\x00\x00IEND\xaeB`\x82' + + with tempfile.NamedTemporaryFile(suffix='.png', delete=False) as f: + f.write(test_png_data) + temp_path = f.name + + try: + data_url = sai_model_spec.file_to_data_url(temp_path) + + # Check format + assert data_url.startswith("data:image/png;base64,") + + # Check it's a reasonable length (base64 encoded) + assert len(data_url) > 50 + + # Verify we can decode it back + import base64 + encoded_part = data_url.split(",", 1)[1] + decoded_data = base64.b64decode(encoded_part) + assert decoded_data == test_png_data + + finally: + os.unlink(temp_path) + + def test_file_to_data_url_nonexistent_file(self): + """Test error handling for nonexistent files.""" + import pytest + + with pytest.raises(FileNotFoundError): + sai_model_spec.file_to_data_url("/nonexistent/file.png") + + def test_thumbnail_processing_in_metadata(self): + """Test thumbnail processing in build_metadata_dataclass.""" + import tempfile + import os + + # Create a test image file + test_png_data = b'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x01\x00\x00\x00\x01\x08\x02\x00\x00\x00\x90wS\xde\x00\x00\x00\x0cIDATx\x9cc\xff\xff\xff\x00\x00\x00\x04\x00\x01\x9d\xb3\xa7c\x00\x00\x00\x00IEND\xaeB`\x82' + + with tempfile.NamedTemporaryFile(suffix='.png', delete=False) as f: + f.write(test_png_data) + temp_path = f.name + + try: + timestamp = time.time() + + # Test with file path - should be converted to data URL + metadata = sai_model_spec.build_metadata_dataclass( + state_dict=None, + v2=False, + v_parameterization=False, + sdxl=False, + lora=False, + textual_inversion=False, + timestamp=timestamp, + title="Test Model", + optional_metadata={"thumbnail": temp_path} + ) + + # Should be converted to data URL + assert "thumbnail" in metadata.additional_fields + assert metadata.additional_fields["thumbnail"].startswith("data:image/png;base64,") + + finally: + os.unlink(temp_path) + + def test_thumbnail_data_url_passthrough(self): + """Test that existing data URLs are passed through unchanged.""" + timestamp = time.time() + + existing_data_url = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PchI7wAAAABJRU5ErkJggg==" + + metadata = sai_model_spec.build_metadata_dataclass( + state_dict=None, + v2=False, + v_parameterization=False, + sdxl=False, + lora=False, + textual_inversion=False, + timestamp=timestamp, + title="Test Model", + optional_metadata={"thumbnail": existing_data_url} + ) + + # Should be unchanged + assert metadata.additional_fields["thumbnail"] == existing_data_url + + def test_thumbnail_invalid_file_handling(self): + """Test graceful handling of invalid thumbnail files.""" + timestamp = time.time() + + metadata = sai_model_spec.build_metadata_dataclass( + state_dict=None, + v2=False, + v_parameterization=False, + sdxl=False, + lora=False, + textual_inversion=False, + timestamp=timestamp, + title="Test Model", + optional_metadata={"thumbnail": "/nonexistent/file.png"} + ) + + # Should be removed from additional_fields due to error + assert "thumbnail" not in metadata.additional_fields + + +class TestBuildMetadataIntegration: + """Test the complete metadata building workflow.""" + + def test_sdxl_model_workflow(self): + """Test complete workflow for SDXL model.""" + timestamp = time.time() + + metadata = sai_model_spec.build_metadata_dataclass( + state_dict=None, + v2=False, + v_parameterization=False, + sdxl=True, + lora=False, + textual_inversion=False, + timestamp=timestamp, + title="Test SDXL Model" + ) + + assert metadata.architecture == "stable-diffusion-xl-v1-base" + assert metadata.implementation == "https://github.com/Stability-AI/generative-models" + assert metadata.resolution == "1024x1024" + assert metadata.prediction_type == "epsilon" + + def test_flux_model_workflow(self): + """Test complete workflow for Flux model.""" + timestamp = time.time() + + metadata = sai_model_spec.build_metadata_dataclass( + state_dict=None, + v2=False, + v_parameterization=False, + sdxl=False, + lora=False, + textual_inversion=False, + timestamp=timestamp, + title="Test Flux Model", + model_config={"flux": "dev"}, + optional_metadata={"trigger_phrase": "anime style"} + ) + + assert metadata.architecture == "flux-1-dev" + assert metadata.implementation == "https://github.com/black-forest-labs/flux" + assert metadata.prediction_type is None # Flux doesn't use prediction_type + assert metadata.additional_fields["trigger_phrase"] == "anime style" + + def test_legacy_function_compatibility(self): + """Test that legacy build_metadata function works correctly.""" + timestamp = time.time() + + metadata_dict = sai_model_spec.build_metadata( + state_dict=None, + v2=False, + v_parameterization=False, + sdxl=True, + lora=False, + textual_inversion=False, + timestamp=timestamp, + title="Test Model" + ) + + assert isinstance(metadata_dict, dict) + assert metadata_dict["modelspec.sai_model_spec"] == "1.0.1" + assert metadata_dict["modelspec.architecture"] == "stable-diffusion-xl-v1-base" \ No newline at end of file From bf0f86e79726e7283359a15f7a03793595300102 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Sat, 2 Aug 2025 21:35:45 -0400 Subject: [PATCH 641/748] Add sai_model_spec to train_network.py --- train_network.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/train_network.py b/train_network.py index 7861e7404..aa42a3bf1 100644 --- a/train_network.py +++ b/train_network.py @@ -24,7 +24,7 @@ from accelerate import Accelerator from diffusers import DDPMScheduler from diffusers.models.autoencoders.autoencoder_kl import AutoencoderKL -from library import deepspeed_utils, model_util, strategy_base, strategy_sd +from library import deepspeed_utils, model_util, sai_model_spec, strategy_base, strategy_sd import library.train_util as train_util from library.train_util import DreamBoothDataset @@ -1718,6 +1718,7 @@ def setup_parser() -> argparse.ArgumentParser: train_util.add_optimizer_arguments(parser) config_util.add_config_arguments(parser) custom_train_functions.add_custom_train_arguments(parser) + sai_model_spec.add_model_spec_arguments(parser) parser.add_argument( "--cpu_offload_checkpointing", From 10bfcb9ac5b3467abde3a0aa5972478d1a0a6595 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Sun, 3 Aug 2025 00:40:10 -0400 Subject: [PATCH 642/748] Remove text model spec --- library/sai_model_spec.py | 192 +++++++++++++------------------------- 1 file changed, 64 insertions(+), 128 deletions(-) diff --git a/library/sai_model_spec.py b/library/sai_model_spec.py index 8b1224842..2ee3ff224 100644 --- a/library/sai_model_spec.py +++ b/library/sai_model_spec.py @@ -9,7 +9,7 @@ from dataclasses import dataclass, field from io import BytesIO import os -from typing import Dict, List, Optional, Tuple, Union +from typing import Union import safetensors from library.utils import setup_logging @@ -36,30 +36,26 @@ """ BASE_METADATA = { - # === Universal MUST fields === - "modelspec.sai_model_spec": "1.0.1", # Updated to latest spec version + # === MUST === + "modelspec.sai_model_spec": "1.0.1", "modelspec.architecture": None, "modelspec.implementation": None, "modelspec.title": None, + "modelspec.resolution": None, - # === Universal SHOULD fields === + # === SHOULD === "modelspec.description": None, "modelspec.author": None, "modelspec.date": None, "modelspec.hash_sha256": None, - # === Universal CAN fields === + # === CAN=== "modelspec.implementation_version": None, "modelspec.license": None, "modelspec.usage_hint": None, "modelspec.thumbnail": None, "modelspec.tags": None, "modelspec.merged_from": None, - - # === Image generation MUST fields === - "modelspec.resolution": None, - - # === Image generation CAN fields === "modelspec.trigger_phrase": None, "modelspec.prediction_type": None, "modelspec.timestep_range": None, @@ -68,12 +64,6 @@ "modelspec.is_negative_embedding": None, "modelspec.unet_dtype": None, "modelspec.vae_dtype": None, - - # === Text prediction fields === - "modelspec.data_format": None, - "modelspec.format_type": None, - "modelspec.language": None, - "modelspec.format_template": None, } # 別に使うやつだけ定義 @@ -113,49 +103,39 @@ class ModelSpecMetadata: All fields correspond to modelspec.* keys in the final metadata. """ - # === Universal MUST fields === + # === MUST === architecture: str implementation: str title: str + resolution: str | None = None - # === Universal SHOULD fields === - description: Optional[str] = None - author: Optional[str] = None - date: Optional[str] = None - hash_sha256: Optional[str] = None + # === SHOULD === + description: str | None = None + author: str | None = None + date: str | None = None + hash_sha256: str | None = None - # === Universal CAN fields === + # === CAN === sai_model_spec: str = "1.0.1" - implementation_version: Optional[str] = None - license: Optional[str] = None - usage_hint: Optional[str] = None - thumbnail: Optional[str] = None - tags: Optional[str] = None - merged_from: Optional[str] = None - - # === Image generation MUST fields === - resolution: Optional[str] = None - - # === Image generation CAN fields === - trigger_phrase: Optional[str] = None - prediction_type: Optional[str] = None - timestep_range: Optional[str] = None - encoder_layer: Optional[str] = None - preprocessor: Optional[str] = None - is_negative_embedding: Optional[str] = None - unet_dtype: Optional[str] = None - vae_dtype: Optional[str] = None - - # === Text prediction fields === - data_format: Optional[str] = None - format_type: Optional[str] = None - language: Optional[str] = None - format_template: Optional[str] = None + implementation_version: str | None = None + license: str | None = None + usage_hint: str | None = None + thumbnail: str | None = None + tags: str | None = None + merged_from: str | None = None + trigger_phrase: str | None = None + prediction_type: str | None = None + timestep_range: str | None = None + encoder_layer: str | None = None + preprocessor: str | None = None + is_negative_embedding: str | None = None + unet_dtype: str | None = None + vae_dtype: str | None = None # === Additional metadata === - additional_fields: Dict[str, str] = field(default_factory=dict) + additional_fields: dict[str, str] = field(default_factory=dict) - def to_metadata_dict(self) -> Dict[str, str]: + def to_metadata_dict(self) -> dict[str, str]: """Convert dataclass to metadata dictionary with modelspec. prefixes.""" metadata = {} @@ -212,7 +192,7 @@ def determine_architecture( sdxl: bool, lora: bool, textual_inversion: bool, - model_config: Optional[dict] = None + model_config: dict[str, str] | None = None ) -> str: """Determine model architecture string from parameters.""" @@ -256,8 +236,8 @@ def determine_implementation( lora: bool, textual_inversion: bool, sdxl: bool, - model_config: Optional[dict] = None, - is_stable_diffusion_ckpt: Optional[bool] = None + model_config: dict[str, str] | None = None, + is_stable_diffusion_ckpt: bool | None = None ) -> str: """Determine implementation string from parameters.""" @@ -321,9 +301,9 @@ def file_to_data_url(file_path: str) -> str: def determine_resolution( - reso: Optional[Union[int, Tuple[int, int]]] = None, + reso: Union[int, tuple[int, int]] | None = None, sdxl: bool = False, - model_config: Optional[dict] = None, + model_config: dict[str, str] | None = None, v2: bool = False, v_parameterization: bool = False ) -> str: @@ -386,25 +366,25 @@ def update_hash_sha256(metadata: dict, state_dict: dict): def build_metadata_dataclass( - state_dict: Optional[dict], + state_dict: dict | None, v2: bool, v_parameterization: bool, sdxl: bool, lora: bool, textual_inversion: bool, timestamp: float, - title: Optional[str] = None, - reso: Optional[Union[int, Tuple[int, int]]] = None, - is_stable_diffusion_ckpt: Optional[bool] = None, - author: Optional[str] = None, - description: Optional[str] = None, - license: Optional[str] = None, - tags: Optional[str] = None, - merged_from: Optional[str] = None, - timesteps: Optional[Tuple[int, int]] = None, - clip_skip: Optional[int] = None, - model_config: Optional[dict] = None, - optional_metadata: Optional[dict] = None, + title: str | None = None, + reso: int | tuple[int, int] | None = None, + is_stable_diffusion_ckpt: bool | None = None, + author: str | None = None, + description: str | None = None, + license: str | None = None, + tags: str | None = None, + merged_from: str | None = None, + timesteps: tuple[int, int] | None = None, + clip_skip: int | None = None, + model_config: dict | None = None, + optional_metadata: dict | None = None, ) -> ModelSpecMetadata: """ Build ModelSpec 1.0.1 compliant metadata dataclass. @@ -515,26 +495,26 @@ def build_metadata_dataclass( def build_metadata( - state_dict: Optional[dict], + state_dict: dict | None, v2: bool, v_parameterization: bool, sdxl: bool, lora: bool, textual_inversion: bool, timestamp: float, - title: Optional[str] = None, - reso: Optional[Union[int, Tuple[int, int]]] = None, - is_stable_diffusion_ckpt: Optional[bool] = None, - author: Optional[str] = None, - description: Optional[str] = None, - license: Optional[str] = None, - tags: Optional[str] = None, - merged_from: Optional[str] = None, - timesteps: Optional[Tuple[int, int]] = None, - clip_skip: Optional[int] = None, - model_config: Optional[dict] = None, - optional_metadata: Optional[dict] = None, -) -> Dict[str, str]: + title: str | None = None, + reso: int | tuple[int, int] | None = None, + is_stable_diffusion_ckpt: bool | None = None, + author: str | None = None, + description: str | None = None, + license: str | None = None, + tags: str | None = None, + merged_from: str | None = None, + timesteps: tuple[int, int] | None = None, + clip_skip: int | None = None, + model_config: dict | None = None, + optional_metadata: dict | None = None, +) -> dict[str, str]: """ Build ModelSpec 1.0.1 compliant metadata for safetensors models. Legacy function that returns dict - prefer build_metadata_dataclass for new code. @@ -572,7 +552,7 @@ def build_metadata( # region utils -def get_title(metadata: dict) -> Optional[str]: +def get_title(metadata: dict) -> str | None: return metadata.get(MODELSPEC_TITLE, None) @@ -587,7 +567,7 @@ def load_metadata_from_safetensors(model: str) -> dict: return metadata -def build_merged_from(models: List[str]) -> str: +def build_merged_from(models: list[str]) -> str: def get_title(model: str): metadata = load_metadata_from_safetensors(model) title = metadata.get(MODELSPEC_TITLE, None) @@ -602,7 +582,6 @@ def get_title(model: str): def add_model_spec_arguments(parser: argparse.ArgumentParser): """Add all ModelSpec metadata arguments to the parser.""" - # === Existing standard metadata fields === parser.add_argument( "--metadata_title", type=str, @@ -633,9 +612,6 @@ def add_model_spec_arguments(parser: argparse.ArgumentParser): default=None, help="tags for model metadata, separated by comma / メタデータに書き込まれるモデルタグ、カンマ区切り", ) - - # === Universal CAN fields === - # Note: implementation_version is automatically set to sd-scripts/{commit_hash} parser.add_argument( "--metadata_usage_hint", type=str, @@ -654,8 +630,6 @@ def add_model_spec_arguments(parser: argparse.ArgumentParser): default=None, help="source models for merged model metadata / メタデータに書き込まれるマージ元モデル名", ) - - # === Image generation CAN fields === parser.add_argument( "--metadata_trigger_phrase", type=str, @@ -674,44 +648,6 @@ def add_model_spec_arguments(parser: argparse.ArgumentParser): default=None, help="whether this is a negative embedding for model metadata / メタデータに書き込まれるネガティブ埋め込みかどうか", ) - parser.add_argument( - "--metadata_unet_dtype", - type=str, - default=None, - help="UNet data type for model metadata / メタデータに書き込まれるUNetのデータ型", - ) - parser.add_argument( - "--metadata_vae_dtype", - type=str, - default=None, - help="VAE data type for model metadata / メタデータに書き込まれるVAEのデータ型", - ) - - # === Text prediction fields === - parser.add_argument( - "--metadata_data_format", - type=str, - default=None, - help="data format for text prediction model metadata / メタデータに書き込まれるテキスト予測モデルのデータ形式", - ) - parser.add_argument( - "--metadata_format_type", - type=str, - default=None, - help="format type for text prediction model metadata / メタデータに書き込まれるテキスト予測モデルの形式タイプ", - ) - parser.add_argument( - "--metadata_language", - type=str, - default=None, - help="language for text prediction model metadata / メタデータに書き込まれるテキスト予測モデルの言語", - ) - parser.add_argument( - "--metadata_format_template", - type=str, - default=None, - help="format template for text prediction model metadata / メタデータに書き込まれるテキスト予測モデルの形式テンプレート", - ) # endregion From 9bb50c26c4e2ba1f4bdaa4ff3ed8b77aa19905d7 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Sun, 3 Aug 2025 00:43:09 -0400 Subject: [PATCH 643/748] Set sai_model_spec to must --- library/sai_model_spec.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/library/sai_model_spec.py b/library/sai_model_spec.py index 2ee3ff224..24b958dd0 100644 --- a/library/sai_model_spec.py +++ b/library/sai_model_spec.py @@ -107,7 +107,8 @@ class ModelSpecMetadata: architecture: str implementation: str title: str - resolution: str | None = None + resolution: str + sai_model_spec: str = "1.0.1" # === SHOULD === description: str | None = None @@ -116,7 +117,6 @@ class ModelSpecMetadata: hash_sha256: str | None = None # === CAN === - sai_model_spec: str = "1.0.1" implementation_version: str | None = None license: str | None = None usage_hint: str | None = None From c149cf283ba8ba45e006947a4474b93e420ade9d Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Sun, 3 Aug 2025 00:58:25 -0400 Subject: [PATCH 644/748] Add parser args for other trainers. --- fine_tune.py | 2 + flux_train.py | 3 +- flux_train_control_net.py | 2 + lumina_train.py | 2 + sd3_train.py | 3 + sdxl_train.py | 3 +- sdxl_train_control_net.py | 2 + sdxl_train_control_net_lllite.py | 2 + sdxl_train_control_net_lllite_old.py | 2 + tests/library/test_sai_model_spec.py | 225 ++++++++++++++------------- tools/cache_latents.py | 2 + tools/cache_text_encoder_outputs.py | 2 + train_control_net.py | 1 + train_db.py | 2 + train_network.py | 4 +- train_textual_inversion.py | 3 +- train_textual_inversion_XTI.py | 2 + 17 files changed, 150 insertions(+), 112 deletions(-) diff --git a/fine_tune.py b/fine_tune.py index e1ed47496..ffbbbb09f 100644 --- a/fine_tune.py +++ b/fine_tune.py @@ -27,6 +27,7 @@ import library.train_util as train_util import library.config_util as config_util +import library.sai_model_spec as sai_model_spec from library.config_util import ( ConfigSanitizer, BlueprintGenerator, @@ -519,6 +520,7 @@ def setup_parser() -> argparse.ArgumentParser: add_logging_arguments(parser) train_util.add_sd_models_arguments(parser) + sai_model_spec.add_model_spec_arguments(parser) train_util.add_dataset_arguments(parser, False, True, True) train_util.add_training_arguments(parser, False) deepspeed_utils.add_deepspeed_arguments(parser) diff --git a/flux_train.py b/flux_train.py index 84db34cfd..4aa67220f 100644 --- a/flux_train.py +++ b/flux_train.py @@ -30,7 +30,7 @@ init_ipex() from accelerate.utils import set_seed -from library import deepspeed_utils, flux_train_utils, flux_utils, strategy_base, strategy_flux +from library import deepspeed_utils, flux_train_utils, flux_utils, strategy_base, strategy_flux, sai_model_spec from library.sd3_train_utils import FlowMatchEulerDiscreteScheduler import library.train_util as train_util @@ -787,6 +787,7 @@ def setup_parser() -> argparse.ArgumentParser: add_logging_arguments(parser) train_util.add_sd_models_arguments(parser) # TODO split this + sai_model_spec.add_model_spec_arguments(parser) train_util.add_dataset_arguments(parser, True, True, True) train_util.add_training_arguments(parser, False) train_util.add_masked_loss_arguments(parser) diff --git a/flux_train_control_net.py b/flux_train_control_net.py index 93c20dabd..019914058 100644 --- a/flux_train_control_net.py +++ b/flux_train_control_net.py @@ -32,6 +32,7 @@ from accelerate.utils import set_seed import library.train_util as train_util +import library.sai_model_spec as sai_model_spec from library import ( deepspeed_utils, flux_train_utils, @@ -820,6 +821,7 @@ def setup_parser() -> argparse.ArgumentParser: add_logging_arguments(parser) train_util.add_sd_models_arguments(parser) # TODO split this + sai_model_spec.add_model_spec_arguments(parser) train_util.add_dataset_arguments(parser, False, True, True) train_util.add_training_arguments(parser, False) train_util.add_masked_loss_arguments(parser) diff --git a/lumina_train.py b/lumina_train.py index a333427db..ca60c6582 100644 --- a/lumina_train.py +++ b/lumina_train.py @@ -31,6 +31,7 @@ lumina_util, strategy_base, strategy_lumina, + sai_model_spec ) from library.sd3_train_utils import FlowMatchEulerDiscreteScheduler @@ -904,6 +905,7 @@ def setup_parser() -> argparse.ArgumentParser: add_logging_arguments(parser) train_util.add_sd_models_arguments(parser) # TODO split this + sai_model_spec.add_model_spec_arguments(parser) train_util.add_dataset_arguments(parser, True, True, True) train_util.add_training_arguments(parser, False) train_util.add_masked_loss_arguments(parser) diff --git a/sd3_train.py b/sd3_train.py index 3bff6a50f..355e13dd2 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -20,6 +20,8 @@ from accelerate.utils import set_seed from diffusers import DDPMScheduler from library import deepspeed_utils, sd3_models, sd3_train_utils, sd3_utils, strategy_base, strategy_sd3 + +import library.sai_model_spec as sai_model_spec from library.sdxl_train_util import match_mixed_precision # , sdxl_model_util @@ -986,6 +988,7 @@ def setup_parser() -> argparse.ArgumentParser: add_logging_arguments(parser) train_util.add_sd_models_arguments(parser) + sai_model_spec.add_model_spec_arguments(parser) train_util.add_dataset_arguments(parser, True, True, True) train_util.add_training_arguments(parser, False) train_util.add_masked_loss_arguments(parser) diff --git a/sdxl_train.py b/sdxl_train.py index a60f6df63..f454263a4 100644 --- a/sdxl_train.py +++ b/sdxl_train.py @@ -17,7 +17,7 @@ from accelerate.utils import set_seed from diffusers import DDPMScheduler -from library import deepspeed_utils, sdxl_model_util, strategy_base, strategy_sd, strategy_sdxl +from library import deepspeed_utils, sdxl_model_util, strategy_base, strategy_sd, strategy_sdxl, sai_model_spec import library.train_util as train_util @@ -893,6 +893,7 @@ def setup_parser() -> argparse.ArgumentParser: add_logging_arguments(parser) train_util.add_sd_models_arguments(parser) + sai_model_spec.add_model_spec_arguments(parser) train_util.add_dataset_arguments(parser, True, True, True) train_util.add_training_arguments(parser, False) train_util.add_masked_loss_arguments(parser) diff --git a/sdxl_train_control_net.py b/sdxl_train_control_net.py index c6e8136f7..3d107e57c 100644 --- a/sdxl_train_control_net.py +++ b/sdxl_train_control_net.py @@ -25,6 +25,7 @@ strategy_base, strategy_sd, strategy_sdxl, + sai_model_spec ) import library.train_util as train_util @@ -664,6 +665,7 @@ def setup_parser() -> argparse.ArgumentParser: add_logging_arguments(parser) train_util.add_sd_models_arguments(parser) + sai_model_spec.add_model_spec_arguments(parser) train_util.add_dataset_arguments(parser, False, True, True) train_util.add_training_arguments(parser, False) # train_util.add_masked_loss_arguments(parser) diff --git a/sdxl_train_control_net_lllite.py b/sdxl_train_control_net_lllite.py index 00e51a673..4dd4b8d94 100644 --- a/sdxl_train_control_net_lllite.py +++ b/sdxl_train_control_net_lllite.py @@ -32,6 +32,7 @@ strategy_base, strategy_sd, strategy_sdxl, + sai_model_spec, ) import library.model_util as model_util @@ -589,6 +590,7 @@ def setup_parser() -> argparse.ArgumentParser: add_logging_arguments(parser) train_util.add_sd_models_arguments(parser) + sai_model_spec.add_model_spec_arguments(parser) train_util.add_dataset_arguments(parser, False, True, True) train_util.add_training_arguments(parser, False) deepspeed_utils.add_deepspeed_arguments(parser) diff --git a/sdxl_train_control_net_lllite_old.py b/sdxl_train_control_net_lllite_old.py index 63457cc61..0a9f4a92f 100644 --- a/sdxl_train_control_net_lllite_old.py +++ b/sdxl_train_control_net_lllite_old.py @@ -24,6 +24,7 @@ import library.model_util as model_util import library.train_util as train_util import library.config_util as config_util +import library.sai_model_spec as sai_model_spec from library.config_util import ( ConfigSanitizer, BlueprintGenerator, @@ -536,6 +537,7 @@ def setup_parser() -> argparse.ArgumentParser: add_logging_arguments(parser) train_util.add_sd_models_arguments(parser) + sai_model_spec.add_model_spec_arguments(parser) train_util.add_dataset_arguments(parser, False, True, True) train_util.add_training_arguments(parser, False) deepspeed_utils.add_deepspeed_arguments(parser) diff --git a/tests/library/test_sai_model_spec.py b/tests/library/test_sai_model_spec.py index 92dcf4c64..0bbfa1167 100644 --- a/tests/library/test_sai_model_spec.py +++ b/tests/library/test_sai_model_spec.py @@ -1,4 +1,5 @@ """Tests for sai_model_spec module.""" + import pytest import time @@ -7,7 +8,7 @@ class MockArgs: """Mock argparse.Namespace for testing.""" - + def __init__(self, **kwargs): # Default values self.v2 = False @@ -22,7 +23,7 @@ def __init__(self, **kwargs): self.max_timestep = None self.clip_skip = None self.output_name = "test_output" - + # Override with provided values for key, value in kwargs.items(): setattr(self, key, value) @@ -30,57 +31,56 @@ def __init__(self, **kwargs): class TestModelSpecMetadata: """Test the ModelSpecMetadata dataclass.""" - + def test_creation_and_conversion(self): """Test creating dataclass and converting to metadata dict.""" metadata = sai_model_spec.ModelSpecMetadata( architecture="stable-diffusion-v1", implementation="diffusers", title="Test Model", + resolution="512x512", author="Test Author", - description=None # Test None exclusion + description=None, # Test None exclusion ) - + assert metadata.architecture == "stable-diffusion-v1" assert metadata.sai_model_spec == "1.0.1" - + metadata_dict = metadata.to_metadata_dict() assert "modelspec.architecture" in metadata_dict assert "modelspec.author" in metadata_dict assert "modelspec.description" not in metadata_dict # None values excluded assert metadata_dict["modelspec.sai_model_spec"] == "1.0.1" - + def test_additional_fields_handling(self): """Test handling of additional metadata fields.""" additional = {"custom_field": "custom_value", "modelspec.prefixed": "prefixed_value"} - + metadata = sai_model_spec.ModelSpecMetadata( architecture="stable-diffusion-v1", implementation="diffusers", title="Test Model", - additional_fields=additional + resolution="512x512", + additional_fields=additional, ) - + metadata_dict = metadata.to_metadata_dict() assert "modelspec.custom_field" in metadata_dict assert "modelspec.prefixed" in metadata_dict assert metadata_dict["modelspec.custom_field"] == "custom_value" - + def test_from_args_extraction(self): """Test creating ModelSpecMetadata from args with metadata_* fields.""" - args = MockArgs( - metadata_author="Test Author", - metadata_trigger_phrase="anime style", - metadata_usage_hint="Use CFG 7.5" - ) - + args = MockArgs(metadata_author="Test Author", metadata_trigger_phrase="anime style", metadata_usage_hint="Use CFG 7.5") + metadata = sai_model_spec.ModelSpecMetadata.from_args( args, architecture="stable-diffusion-v1", implementation="diffusers", - title="Test Model" + title="Test Model", + resolution="512x512", ) - + assert metadata.author == "Test Author" assert metadata.additional_fields["trigger_phrase"] == "anime style" assert metadata.additional_fields["usage_hint"] == "Use CFG 7.5" @@ -88,79 +88,87 @@ def test_from_args_extraction(self): class TestArchitectureDetection: """Test architecture detection for different model types.""" - - @pytest.mark.parametrize("config,expected", [ - ({"v2": False, "v_parameterization": False, "sdxl": True}, "stable-diffusion-xl-v1-base"), - ({"v2": False, "v_parameterization": False, "sdxl": False, "model_config": {"flux": "dev"}}, "flux-1-dev"), - ({"v2": False, "v_parameterization": False, "sdxl": False, "model_config": {"flux": "chroma"}}, "chroma"), - ({"v2": False, "v_parameterization": False, "sdxl": False, "model_config": {"sd3": "large"}}, "stable-diffusion-3-large"), - ({"v2": True, "v_parameterization": True, "sdxl": False}, "stable-diffusion-v2-768-v"), - ({"v2": False, "v_parameterization": False, "sdxl": False}, "stable-diffusion-v1"), - ]) + + @pytest.mark.parametrize( + "config,expected", + [ + ({"v2": False, "v_parameterization": False, "sdxl": True}, "stable-diffusion-xl-v1-base"), + ({"v2": False, "v_parameterization": False, "sdxl": False, "model_config": {"flux": "dev"}}, "flux-1-dev"), + ({"v2": False, "v_parameterization": False, "sdxl": False, "model_config": {"flux": "chroma"}}, "chroma"), + ( + {"v2": False, "v_parameterization": False, "sdxl": False, "model_config": {"sd3": "large"}}, + "stable-diffusion-3-large", + ), + ({"v2": True, "v_parameterization": True, "sdxl": False}, "stable-diffusion-v2-768-v"), + ({"v2": False, "v_parameterization": False, "sdxl": False}, "stable-diffusion-v1"), + ], + ) def test_architecture_detection(self, config, expected): """Test architecture detection for various model configurations.""" model_config = config.pop("model_config", None) - arch = sai_model_spec.determine_architecture( - lora=False, textual_inversion=False, model_config=model_config, **config - ) + arch = sai_model_spec.determine_architecture(lora=False, textual_inversion=False, model_config=model_config, **config) assert arch == expected - + def test_adapter_suffixes(self): """Test LoRA and textual inversion suffixes.""" lora_arch = sai_model_spec.determine_architecture( - v2=False, v_parameterization=False, sdxl=True, - lora=True, textual_inversion=False + v2=False, v_parameterization=False, sdxl=True, lora=True, textual_inversion=False ) assert lora_arch == "stable-diffusion-xl-v1-base/lora" - + ti_arch = sai_model_spec.determine_architecture( - v2=False, v_parameterization=False, sdxl=False, - lora=False, textual_inversion=True + v2=False, v_parameterization=False, sdxl=False, lora=False, textual_inversion=True ) assert ti_arch == "stable-diffusion-v1/textual-inversion" class TestImplementationDetection: """Test implementation detection for different model types.""" - - @pytest.mark.parametrize("config,expected", [ - ({"model_config": {"flux": "dev"}}, "https://github.com/black-forest-labs/flux"), - ({"model_config": {"flux": "chroma"}}, "https://huggingface.co/lodestones/Chroma"), - ({"model_config": {"lumina": "lumina2"}}, "https://github.com/Alpha-VLLM/Lumina-Image-2.0"), - ({"lora": True, "sdxl": True}, "https://github.com/Stability-AI/generative-models"), - ({"lora": True, "sdxl": False}, "diffusers"), - ]) + + @pytest.mark.parametrize( + "config,expected", + [ + ({"model_config": {"flux": "dev"}}, "https://github.com/black-forest-labs/flux"), + ({"model_config": {"flux": "chroma"}}, "https://huggingface.co/lodestones/Chroma"), + ({"model_config": {"lumina": "lumina2"}}, "https://github.com/Alpha-VLLM/Lumina-Image-2.0"), + ({"lora": True, "sdxl": True}, "https://github.com/Stability-AI/generative-models"), + ({"lora": True, "sdxl": False}, "diffusers"), + ], + ) def test_implementation_detection(self, config, expected): """Test implementation detection for various configurations.""" model_config = config.pop("model_config", None) impl = sai_model_spec.determine_implementation( - lora=config.get("lora", False), - textual_inversion=False, - sdxl=config.get("sdxl", False), - model_config=model_config + lora=config.get("lora", False), textual_inversion=False, sdxl=config.get("sdxl", False), model_config=model_config ) assert impl == expected class TestResolutionHandling: """Test resolution parsing and defaults.""" - - @pytest.mark.parametrize("input_reso,expected", [ - ((768, 1024), "768x1024"), - (768, "768x768"), - ("768,1024", "768x1024"), - ]) + + @pytest.mark.parametrize( + "input_reso,expected", + [ + ((768, 1024), "768x1024"), + (768, "768x768"), + ("768,1024", "768x1024"), + ], + ) def test_explicit_resolution_formats(self, input_reso, expected): """Test different resolution input formats.""" res = sai_model_spec.determine_resolution(reso=input_reso) assert res == expected - - @pytest.mark.parametrize("config,expected", [ - ({"sdxl": True}, "1024x1024"), - ({"model_config": {"flux": "dev"}}, "1024x1024"), - ({"v2": True, "v_parameterization": True}, "768x768"), - ({}, "512x512"), # Default SD v1 - ]) + + @pytest.mark.parametrize( + "config,expected", + [ + ({"sdxl": True}, "1024x1024"), + ({"model_config": {"flux": "dev"}}, "1024x1024"), + ({"v2": True, "v_parameterization": True}, "768x768"), + ({}, "512x512"), # Default SD v1 + ], + ) def test_default_resolutions(self, config, expected): """Test default resolution detection.""" model_config = config.pop("model_config", None) @@ -170,59 +178,60 @@ def test_default_resolutions(self, config, expected): class TestThumbnailProcessing: """Test thumbnail data URL processing.""" - + def test_file_to_data_url(self): """Test converting file to data URL.""" import tempfile import os - + # Create a tiny test PNG (1x1 pixel) - test_png_data = b'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x01\x00\x00\x00\x01\x08\x02\x00\x00\x00\x90wS\xde\x00\x00\x00\x0cIDATx\x9cc\xff\xff\xff\x00\x00\x00\x04\x00\x01\x9d\xb3\xa7c\x00\x00\x00\x00IEND\xaeB`\x82' - - with tempfile.NamedTemporaryFile(suffix='.png', delete=False) as f: + test_png_data = b"\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x01\x00\x00\x00\x01\x08\x02\x00\x00\x00\x90wS\xde\x00\x00\x00\x0cIDATx\x9cc\xff\xff\xff\x00\x00\x00\x04\x00\x01\x9d\xb3\xa7c\x00\x00\x00\x00IEND\xaeB`\x82" + + with tempfile.NamedTemporaryFile(suffix=".png", delete=False) as f: f.write(test_png_data) temp_path = f.name - + try: data_url = sai_model_spec.file_to_data_url(temp_path) - + # Check format assert data_url.startswith("data:image/png;base64,") - + # Check it's a reasonable length (base64 encoded) assert len(data_url) > 50 - + # Verify we can decode it back import base64 + encoded_part = data_url.split(",", 1)[1] decoded_data = base64.b64decode(encoded_part) assert decoded_data == test_png_data - + finally: os.unlink(temp_path) - + def test_file_to_data_url_nonexistent_file(self): """Test error handling for nonexistent files.""" import pytest - + with pytest.raises(FileNotFoundError): sai_model_spec.file_to_data_url("/nonexistent/file.png") - + def test_thumbnail_processing_in_metadata(self): """Test thumbnail processing in build_metadata_dataclass.""" import tempfile import os - + # Create a test image file - test_png_data = b'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x01\x00\x00\x00\x01\x08\x02\x00\x00\x00\x90wS\xde\x00\x00\x00\x0cIDATx\x9cc\xff\xff\xff\x00\x00\x00\x04\x00\x01\x9d\xb3\xa7c\x00\x00\x00\x00IEND\xaeB`\x82' - - with tempfile.NamedTemporaryFile(suffix='.png', delete=False) as f: + test_png_data = b"\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x01\x00\x00\x00\x01\x08\x02\x00\x00\x00\x90wS\xde\x00\x00\x00\x0cIDATx\x9cc\xff\xff\xff\x00\x00\x00\x04\x00\x01\x9d\xb3\xa7c\x00\x00\x00\x00IEND\xaeB`\x82" + + with tempfile.NamedTemporaryFile(suffix=".png", delete=False) as f: f.write(test_png_data) temp_path = f.name - + try: timestamp = time.time() - + # Test with file path - should be converted to data URL metadata = sai_model_spec.build_metadata_dataclass( state_dict=None, @@ -233,22 +242,24 @@ def test_thumbnail_processing_in_metadata(self): textual_inversion=False, timestamp=timestamp, title="Test Model", - optional_metadata={"thumbnail": temp_path} + optional_metadata={"thumbnail": temp_path}, ) - + # Should be converted to data URL assert "thumbnail" in metadata.additional_fields assert metadata.additional_fields["thumbnail"].startswith("data:image/png;base64,") - + finally: os.unlink(temp_path) - + def test_thumbnail_data_url_passthrough(self): """Test that existing data URLs are passed through unchanged.""" timestamp = time.time() - - existing_data_url = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PchI7wAAAABJRU5ErkJggg==" - + + existing_data_url = ( + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PchI7wAAAABJRU5ErkJggg==" + ) + metadata = sai_model_spec.build_metadata_dataclass( state_dict=None, v2=False, @@ -258,16 +269,16 @@ def test_thumbnail_data_url_passthrough(self): textual_inversion=False, timestamp=timestamp, title="Test Model", - optional_metadata={"thumbnail": existing_data_url} + optional_metadata={"thumbnail": existing_data_url}, ) - + # Should be unchanged assert metadata.additional_fields["thumbnail"] == existing_data_url - + def test_thumbnail_invalid_file_handling(self): """Test graceful handling of invalid thumbnail files.""" timestamp = time.time() - + metadata = sai_model_spec.build_metadata_dataclass( state_dict=None, v2=False, @@ -277,20 +288,20 @@ def test_thumbnail_invalid_file_handling(self): textual_inversion=False, timestamp=timestamp, title="Test Model", - optional_metadata={"thumbnail": "/nonexistent/file.png"} + optional_metadata={"thumbnail": "/nonexistent/file.png"}, ) - + # Should be removed from additional_fields due to error assert "thumbnail" not in metadata.additional_fields class TestBuildMetadataIntegration: """Test the complete metadata building workflow.""" - + def test_sdxl_model_workflow(self): """Test complete workflow for SDXL model.""" timestamp = time.time() - + metadata = sai_model_spec.build_metadata_dataclass( state_dict=None, v2=False, @@ -299,18 +310,18 @@ def test_sdxl_model_workflow(self): lora=False, textual_inversion=False, timestamp=timestamp, - title="Test SDXL Model" + title="Test SDXL Model", ) - + assert metadata.architecture == "stable-diffusion-xl-v1-base" assert metadata.implementation == "https://github.com/Stability-AI/generative-models" assert metadata.resolution == "1024x1024" assert metadata.prediction_type == "epsilon" - + def test_flux_model_workflow(self): """Test complete workflow for Flux model.""" timestamp = time.time() - + metadata = sai_model_spec.build_metadata_dataclass( state_dict=None, v2=False, @@ -321,18 +332,18 @@ def test_flux_model_workflow(self): timestamp=timestamp, title="Test Flux Model", model_config={"flux": "dev"}, - optional_metadata={"trigger_phrase": "anime style"} + optional_metadata={"trigger_phrase": "anime style"}, ) - + assert metadata.architecture == "flux-1-dev" assert metadata.implementation == "https://github.com/black-forest-labs/flux" assert metadata.prediction_type is None # Flux doesn't use prediction_type assert metadata.additional_fields["trigger_phrase"] == "anime style" - + def test_legacy_function_compatibility(self): """Test that legacy build_metadata function works correctly.""" timestamp = time.time() - + metadata_dict = sai_model_spec.build_metadata( state_dict=None, v2=False, @@ -341,9 +352,9 @@ def test_legacy_function_compatibility(self): lora=False, textual_inversion=False, timestamp=timestamp, - title="Test Model" + title="Test Model", ) - + assert isinstance(metadata_dict, dict) assert metadata_dict["modelspec.sai_model_spec"] == "1.0.1" - assert metadata_dict["modelspec.architecture"] == "stable-diffusion-xl-v1-base" \ No newline at end of file + assert metadata_dict["modelspec.architecture"] == "stable-diffusion-xl-v1-base" diff --git a/tools/cache_latents.py b/tools/cache_latents.py index 515ece98d..5baddb5bf 100644 --- a/tools/cache_latents.py +++ b/tools/cache_latents.py @@ -12,6 +12,7 @@ from library import config_util, flux_train_utils, flux_utils, strategy_base, strategy_flux, strategy_sd, strategy_sdxl from library import train_util from library import sdxl_train_util +import library.sai_model_spec as sai_model_spec from library.config_util import ( ConfigSanitizer, BlueprintGenerator, @@ -161,6 +162,7 @@ def setup_parser() -> argparse.ArgumentParser: add_logging_arguments(parser) train_util.add_sd_models_arguments(parser) + sai_model_spec.add_model_spec_arguments(parser) train_util.add_training_arguments(parser, True) train_util.add_dataset_arguments(parser, True, True, True) train_util.add_masked_loss_arguments(parser) diff --git a/tools/cache_text_encoder_outputs.py b/tools/cache_text_encoder_outputs.py index 00459658e..8e6042923 100644 --- a/tools/cache_text_encoder_outputs.py +++ b/tools/cache_text_encoder_outputs.py @@ -22,6 +22,7 @@ from library import train_util from library import sdxl_train_util from library import utils +import library.sai_model_spec as sai_model_spec from library.config_util import ( ConfigSanitizer, BlueprintGenerator, @@ -188,6 +189,7 @@ def setup_parser() -> argparse.ArgumentParser: add_logging_arguments(parser) train_util.add_sd_models_arguments(parser) + sai_model_spec.add_model_spec_arguments(parser) train_util.add_training_arguments(parser, True) train_util.add_dataset_arguments(parser, True, True, True) train_util.add_masked_loss_arguments(parser) diff --git a/train_control_net.py b/train_control_net.py index ba016ac5d..97cd1ebb0 100644 --- a/train_control_net.py +++ b/train_control_net.py @@ -25,6 +25,7 @@ import library.model_util as model_util import library.train_util as train_util import library.config_util as config_util +import library.sai_model_spec as sai_model_spec from library.config_util import ( ConfigSanitizer, BlueprintGenerator, diff --git a/train_db.py b/train_db.py index edd674034..4bf3b31ce 100644 --- a/train_db.py +++ b/train_db.py @@ -22,6 +22,7 @@ import library.train_util as train_util import library.config_util as config_util +import library.sai_model_spec as sai_model_spec from library.config_util import ( ConfigSanitizer, BlueprintGenerator, @@ -512,6 +513,7 @@ def setup_parser() -> argparse.ArgumentParser: add_logging_arguments(parser) train_util.add_sd_models_arguments(parser) + sai_model_spec.add_model_spec_arguments(parser) train_util.add_dataset_arguments(parser, True, False, True) train_util.add_training_arguments(parser, True) train_util.add_masked_loss_arguments(parser) diff --git a/train_network.py b/train_network.py index aa42a3bf1..e055f5d8e 100644 --- a/train_network.py +++ b/train_network.py @@ -24,7 +24,7 @@ from accelerate import Accelerator from diffusers import DDPMScheduler from diffusers.models.autoencoders.autoencoder_kl import AutoencoderKL -from library import deepspeed_utils, model_util, sai_model_spec, strategy_base, strategy_sd +from library import deepspeed_utils, model_util, sai_model_spec, strategy_base, strategy_sd, sai_model_spec import library.train_util as train_util from library.train_util import DreamBoothDataset @@ -1711,6 +1711,7 @@ def setup_parser() -> argparse.ArgumentParser: add_logging_arguments(parser) train_util.add_sd_models_arguments(parser) + sai_model_spec.add_model_spec_arguments(parser) train_util.add_dataset_arguments(parser, True, True, True) train_util.add_training_arguments(parser, True) train_util.add_masked_loss_arguments(parser) @@ -1718,7 +1719,6 @@ def setup_parser() -> argparse.ArgumentParser: train_util.add_optimizer_arguments(parser) config_util.add_config_arguments(parser) custom_train_functions.add_custom_train_arguments(parser) - sai_model_spec.add_model_spec_arguments(parser) parser.add_argument( "--cpu_offload_checkpointing", diff --git a/train_textual_inversion.py b/train_textual_inversion.py index 0c6568b08..8575698d6 100644 --- a/train_textual_inversion.py +++ b/train_textual_inversion.py @@ -16,7 +16,7 @@ from accelerate.utils import set_seed from diffusers import DDPMScheduler from transformers import CLIPTokenizer -from library import deepspeed_utils, model_util, strategy_base, strategy_sd +from library import deepspeed_utils, model_util, strategy_base, strategy_sd, sai_model_spec import library.train_util as train_util import library.huggingface_util as huggingface_util @@ -771,6 +771,7 @@ def setup_parser() -> argparse.ArgumentParser: add_logging_arguments(parser) train_util.add_sd_models_arguments(parser) + sai_model_spec.add_model_spec_arguments(parser) train_util.add_dataset_arguments(parser, True, True, False) train_util.add_training_arguments(parser, True) train_util.add_masked_loss_arguments(parser) diff --git a/train_textual_inversion_XTI.py b/train_textual_inversion_XTI.py index 6ff97d03f..778210950 100644 --- a/train_textual_inversion_XTI.py +++ b/train_textual_inversion_XTI.py @@ -21,6 +21,7 @@ import library.train_util as train_util import library.huggingface_util as huggingface_util import library.config_util as config_util +import library.sai_model_spec as sai_model_spec from library.config_util import ( ConfigSanitizer, BlueprintGenerator, @@ -668,6 +669,7 @@ def setup_parser() -> argparse.ArgumentParser: add_logging_arguments(parser) train_util.add_sd_models_arguments(parser) + sai_model_spec.add_model_spec_arguments(parser) train_util.add_dataset_arguments(parser, True, True, False) train_util.add_training_arguments(parser, True) train_util.add_masked_loss_arguments(parser) From 351bed965cfe27385557c52458ac4b35d4af5de7 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Wed, 13 Aug 2025 21:38:51 +0900 Subject: [PATCH 645/748] fix model type handling in analyze_state_dict_state function for SD3 --- library/sd3_utils.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/library/sd3_utils.py b/library/sd3_utils.py index 1861dfbc2..d2ea6fffe 100644 --- a/library/sd3_utils.py +++ b/library/sd3_utils.py @@ -50,14 +50,14 @@ def analyze_state_dict_state(state_dict: Dict, prefix: str = ""): context_embedder_in_features = context_shape[1] context_embedder_out_features = context_shape[0] - # only supports 3-5-large, medium or 3-medium + # only supports 3-5-large, medium or 3-medium. This is added after `stable-diffusion-3-`. if qk_norm is not None: if len(x_block_self_attn_layers) == 0: - model_type = "3-5-large" + model_type = "5-large" else: - model_type = "3-5-medium" + model_type = "5-medium" else: - model_type = "3-medium" + model_type = "medium" params = sd3_models.SD3Params( patch_size=patch_size, From 63ec59fc0b801649a241b24cce5c2e13a9d89f43 Mon Sep 17 00:00:00 2001 From: Symbiomatrix Date: Sun, 20 Apr 2025 15:08:21 +0300 Subject: [PATCH 646/748] Support for multiple format loras. --- networks/resize_lora.py | 36 +++++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/networks/resize_lora.py b/networks/resize_lora.py index 7df7ef0cc..531a7e7b0 100644 --- a/networks/resize_lora.py +++ b/networks/resize_lora.py @@ -20,6 +20,12 @@ MIN_SV = 1e-6 +# Tune layers to various trainer formats. +LORAFMT1 = ["lora_down", "lora_up"] +LORAFMT2 = ["lora.down", "lora.up"] +LORAFMT3 = ["lora_A", "lora_B"] +LORAFMT = LORAFMT1 + # Model save and load functions @@ -90,8 +96,8 @@ def extract_conv(weight, lora_rank, dynamic_method, dynamic_param, device, scale U = U @ torch.diag(S) Vh = Vh[:lora_rank, :] - param_dict["lora_down"] = Vh.reshape(lora_rank, in_size, kernel_size, kernel_size).cpu() - param_dict["lora_up"] = U.reshape(out_size, lora_rank, 1, 1).cpu() + param_dict[LORAFMT[0]] = Vh.reshape(lora_rank, in_size, kernel_size, kernel_size).cpu() + param_dict[LORAFMT[1]] = U.reshape(out_size, lora_rank, 1, 1).cpu() del U, S, Vh, weight return param_dict @@ -109,8 +115,8 @@ def extract_linear(weight, lora_rank, dynamic_method, dynamic_param, device, sca U = U @ torch.diag(S) Vh = Vh[:lora_rank, :] - param_dict["lora_down"] = Vh.reshape(lora_rank, in_size).cpu() - param_dict["lora_up"] = U.reshape(out_size, lora_rank).cpu() + param_dict[LORAFMT[0]] = Vh.reshape(lora_rank, in_size).cpu() + param_dict[LORAFMT[1]] = U.reshape(out_size, lora_rank).cpu() del U, S, Vh, weight return param_dict @@ -192,6 +198,7 @@ def rank_resize(S, rank, dynamic_method, dynamic_param, scale=1): def resize_lora_model(lora_sd, new_rank, new_conv_rank, save_dtype, device, dynamic_method, dynamic_param, verbose): + global LORAFMT network_alpha = None network_dim = None verbose_str = "\n" @@ -201,7 +208,14 @@ def resize_lora_model(lora_sd, new_rank, new_conv_rank, save_dtype, device, dyna for key, value in lora_sd.items(): if network_alpha is None and "alpha" in key: network_alpha = value - if network_dim is None and "lora_down" in key and len(value.size()) == 2: + if (network_dim is None and len(value.size()) == 2 + and (LORAFMT1[0] in key or LORAFMT2[0] in key or LORAFMT3[0] in key)): + if LORAFMT1[0] in key: + LORAFMT = LORAFMT1 + elif LORAFMT2[0] in key: + LORAFMT = LORAFMT2 + elif LORAFMT3[0] in key: + LORAFMT = LORAFMT3 network_dim = value.size()[0] if network_alpha is not None and network_dim is not None: break @@ -225,8 +239,8 @@ def resize_lora_model(lora_sd, new_rank, new_conv_rank, save_dtype, device, dyna with torch.no_grad(): for key, value in tqdm(lora_sd.items()): weight_name = None - if "lora_down" in key: - block_down_name = key.rsplit(".lora_down", 1)[0] + if LORAFMT[0] in key: + block_down_name = key.rsplit(f".LORAFMT[0]", 1)[0] weight_name = key.rsplit(".", 1)[-1] lora_down_weight = value else: @@ -234,7 +248,7 @@ def resize_lora_model(lora_sd, new_rank, new_conv_rank, save_dtype, device, dyna # find corresponding lora_up and alpha block_up_name = block_down_name - lora_up_weight = lora_sd.get(block_up_name + ".lora_up." + weight_name, None) + lora_up_weight = lora_sd.get(block_up_name + f".LORAFMT[1]." + weight_name, None) lora_alpha = lora_sd.get(block_down_name + ".alpha", None) weights_loaded = lora_down_weight is not None and lora_up_weight is not None @@ -272,9 +286,9 @@ def resize_lora_model(lora_sd, new_rank, new_conv_rank, save_dtype, device, dyna verbose_str += "\n" new_alpha = param_dict["new_alpha"] - o_lora_sd[block_down_name + "." + "lora_down.weight"] = param_dict["lora_down"].to(save_dtype).contiguous() - o_lora_sd[block_up_name + "." + "lora_up.weight"] = param_dict["lora_up"].to(save_dtype).contiguous() - o_lora_sd[block_up_name + "." "alpha"] = torch.tensor(param_dict["new_alpha"]).to(save_dtype) + o_lora_sd[block_down_name + f".LORAFMT[0].weight"] = param_dict[LORAFMT[0]].to(save_dtype).contiguous() + o_lora_sd[block_up_name + f".LORAFMT[1].weight"] = param_dict[LORAFMT[1]].to(save_dtype).contiguous() + o_lora_sd[block_up_name + ".alpha"] = torch.tensor(param_dict["new_alpha"]).to(save_dtype) block_down_name = None block_up_name = None From 3ce0c6e71f08e0030cb1f16543687f49999b7933 Mon Sep 17 00:00:00 2001 From: Symbiomatrix Date: Sun, 22 Jun 2025 01:00:59 +0300 Subject: [PATCH 647/748] Fix. --- networks/resize_lora.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/networks/resize_lora.py b/networks/resize_lora.py index 531a7e7b0..49b714818 100644 --- a/networks/resize_lora.py +++ b/networks/resize_lora.py @@ -240,7 +240,7 @@ def resize_lora_model(lora_sd, new_rank, new_conv_rank, save_dtype, device, dyna for key, value in tqdm(lora_sd.items()): weight_name = None if LORAFMT[0] in key: - block_down_name = key.rsplit(f".LORAFMT[0]", 1)[0] + block_down_name = key.rsplit(f".{LORAFMT[0]}", 1)[0] weight_name = key.rsplit(".", 1)[-1] lora_down_weight = value else: @@ -248,7 +248,7 @@ def resize_lora_model(lora_sd, new_rank, new_conv_rank, save_dtype, device, dyna # find corresponding lora_up and alpha block_up_name = block_down_name - lora_up_weight = lora_sd.get(block_up_name + f".LORAFMT[1]." + weight_name, None) + lora_up_weight = lora_sd.get(block_up_name + f".{LORAFMT[1]}." + weight_name, None) lora_alpha = lora_sd.get(block_down_name + ".alpha", None) weights_loaded = lora_down_weight is not None and lora_up_weight is not None @@ -286,8 +286,8 @@ def resize_lora_model(lora_sd, new_rank, new_conv_rank, save_dtype, device, dyna verbose_str += "\n" new_alpha = param_dict["new_alpha"] - o_lora_sd[block_down_name + f".LORAFMT[0].weight"] = param_dict[LORAFMT[0]].to(save_dtype).contiguous() - o_lora_sd[block_up_name + f".LORAFMT[1].weight"] = param_dict[LORAFMT[1]].to(save_dtype).contiguous() + o_lora_sd[block_down_name + f".{LORAFMT[0]}.weight"] = param_dict[LORAFMT[0]].to(save_dtype).contiguous() + o_lora_sd[block_up_name + f".{LORAFMT[1]}.weight"] = param_dict[LORAFMT[1]].to(save_dtype).contiguous() o_lora_sd[block_up_name + ".alpha"] = torch.tensor(param_dict["new_alpha"]).to(save_dtype) block_down_name = None From c6fab554f4522e9d2499c80ce9c7e2d9199f70fa Mon Sep 17 00:00:00 2001 From: woctordho Date: Fri, 15 Aug 2025 03:00:40 +0800 Subject: [PATCH 648/748] Support resizing ControlLoRA --- networks/resize_lora.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/networks/resize_lora.py b/networks/resize_lora.py index 49b714818..d8a37da24 100644 --- a/networks/resize_lora.py +++ b/networks/resize_lora.py @@ -24,6 +24,7 @@ LORAFMT1 = ["lora_down", "lora_up"] LORAFMT2 = ["lora.down", "lora.up"] LORAFMT3 = ["lora_A", "lora_B"] +LORAFMT4 = ["down", "up"] LORAFMT = LORAFMT1 # Model save and load functions @@ -209,13 +210,15 @@ def resize_lora_model(lora_sd, new_rank, new_conv_rank, save_dtype, device, dyna if network_alpha is None and "alpha" in key: network_alpha = value if (network_dim is None and len(value.size()) == 2 - and (LORAFMT1[0] in key or LORAFMT2[0] in key or LORAFMT3[0] in key)): + and (LORAFMT1[0] in key or LORAFMT2[0] in key or LORAFMT3[0] in key or LORAFMT4[0] in key)): if LORAFMT1[0] in key: LORAFMT = LORAFMT1 elif LORAFMT2[0] in key: LORAFMT = LORAFMT2 elif LORAFMT3[0] in key: LORAFMT = LORAFMT3 + elif LORAFMT4[0] in key: + LORAFMT = LORAFMT4 network_dim = value.size()[0] if network_alpha is not None and network_dim is not None: break @@ -241,14 +244,17 @@ def resize_lora_model(lora_sd, new_rank, new_conv_rank, save_dtype, device, dyna weight_name = None if LORAFMT[0] in key: block_down_name = key.rsplit(f".{LORAFMT[0]}", 1)[0] - weight_name = key.rsplit(".", 1)[-1] + if key.endswith(f".{LORAFMT[0]}"): + weight_name = "" + else: + weight_name = key.rsplit(f".{LORAFMT[0]}", 1)[-1] lora_down_weight = value else: continue # find corresponding lora_up and alpha block_up_name = block_down_name - lora_up_weight = lora_sd.get(block_up_name + f".{LORAFMT[1]}." + weight_name, None) + lora_up_weight = lora_sd.get(block_up_name + f".{LORAFMT[1]}" + weight_name, None) lora_alpha = lora_sd.get(block_down_name + ".alpha", None) weights_loaded = lora_down_weight is not None and lora_up_weight is not None @@ -286,8 +292,8 @@ def resize_lora_model(lora_sd, new_rank, new_conv_rank, save_dtype, device, dyna verbose_str += "\n" new_alpha = param_dict["new_alpha"] - o_lora_sd[block_down_name + f".{LORAFMT[0]}.weight"] = param_dict[LORAFMT[0]].to(save_dtype).contiguous() - o_lora_sd[block_up_name + f".{LORAFMT[1]}.weight"] = param_dict[LORAFMT[1]].to(save_dtype).contiguous() + o_lora_sd[block_down_name + f".{LORAFMT[0]}" + weight_name] = param_dict[LORAFMT[0]].to(save_dtype).contiguous() + o_lora_sd[block_up_name + f".{LORAFMT[1]}" + weight_name] = param_dict[LORAFMT[1]].to(save_dtype).contiguous() o_lora_sd[block_up_name + ".alpha"] = torch.tensor(param_dict["new_alpha"]).to(save_dtype) block_down_name = None From 3ad71e1acf0f38b31a623e5644ed0e375ee35951 Mon Sep 17 00:00:00 2001 From: woctordho Date: Fri, 15 Aug 2025 11:14:43 +0800 Subject: [PATCH 649/748] Refactor to avoid mutable global variable --- networks/resize_lora.py | 93 +++++++++++++++++++---------------------- 1 file changed, 43 insertions(+), 50 deletions(-) diff --git a/networks/resize_lora.py b/networks/resize_lora.py index d8a37da24..183264373 100644 --- a/networks/resize_lora.py +++ b/networks/resize_lora.py @@ -20,12 +20,12 @@ MIN_SV = 1e-6 -# Tune layers to various trainer formats. -LORAFMT1 = ["lora_down", "lora_up"] -LORAFMT2 = ["lora.down", "lora.up"] -LORAFMT3 = ["lora_A", "lora_B"] -LORAFMT4 = ["down", "up"] -LORAFMT = LORAFMT1 +LORA_DOWN_UP_FORMATS = [ + ("lora_down", "lora_up"), # sd-scripts LoRA + ("lora_A", "lora_B"), # PEFT LoRA + ("down", "up"), # ControlLoRA +] + # Model save and load functions @@ -97,8 +97,8 @@ def extract_conv(weight, lora_rank, dynamic_method, dynamic_param, device, scale U = U @ torch.diag(S) Vh = Vh[:lora_rank, :] - param_dict[LORAFMT[0]] = Vh.reshape(lora_rank, in_size, kernel_size, kernel_size).cpu() - param_dict[LORAFMT[1]] = U.reshape(out_size, lora_rank, 1, 1).cpu() + param_dict["lora_down"] = Vh.reshape(lora_rank, in_size, kernel_size, kernel_size).cpu() + param_dict["lora_up"] = U.reshape(out_size, lora_rank, 1, 1).cpu() del U, S, Vh, weight return param_dict @@ -116,8 +116,8 @@ def extract_linear(weight, lora_rank, dynamic_method, dynamic_param, device, sca U = U @ torch.diag(S) Vh = Vh[:lora_rank, :] - param_dict[LORAFMT[0]] = Vh.reshape(lora_rank, in_size).cpu() - param_dict[LORAFMT[1]] = U.reshape(out_size, lora_rank).cpu() + param_dict["lora_down"] = Vh.reshape(lora_rank, in_size).cpu() + param_dict["lora_up"] = U.reshape(out_size, lora_rank).cpu() del U, S, Vh, weight return param_dict @@ -199,34 +199,11 @@ def rank_resize(S, rank, dynamic_method, dynamic_param, scale=1): def resize_lora_model(lora_sd, new_rank, new_conv_rank, save_dtype, device, dynamic_method, dynamic_param, verbose): - global LORAFMT - network_alpha = None - network_dim = None + max_old_rank = None + new_alpha = None verbose_str = "\n" fro_list = [] - # Extract loaded lora dim and alpha - for key, value in lora_sd.items(): - if network_alpha is None and "alpha" in key: - network_alpha = value - if (network_dim is None and len(value.size()) == 2 - and (LORAFMT1[0] in key or LORAFMT2[0] in key or LORAFMT3[0] in key or LORAFMT4[0] in key)): - if LORAFMT1[0] in key: - LORAFMT = LORAFMT1 - elif LORAFMT2[0] in key: - LORAFMT = LORAFMT2 - elif LORAFMT3[0] in key: - LORAFMT = LORAFMT3 - elif LORAFMT4[0] in key: - LORAFMT = LORAFMT4 - network_dim = value.size()[0] - if network_alpha is not None and network_dim is not None: - break - if network_alpha is None: - network_alpha = network_dim - - scale = network_alpha / network_dim - if dynamic_method: logger.info( f"Dynamically determining new alphas and dims based off {dynamic_method}: {dynamic_param}, max rank is {new_rank}" @@ -241,20 +218,33 @@ def resize_lora_model(lora_sd, new_rank, new_conv_rank, save_dtype, device, dyna with torch.no_grad(): for key, value in tqdm(lora_sd.items()): - weight_name = None - if LORAFMT[0] in key: - block_down_name = key.rsplit(f".{LORAFMT[0]}", 1)[0] - if key.endswith(f".{LORAFMT[0]}"): + key_parts = key.split(".") + block_down_name = None + for _format in LORA_DOWN_UP_FORMATS: + # Currently we only match lora_down_name in the last two parts of key + # because ("down", "up") are general words and may appear in block_down_name + if len(key_parts) >= 2 and _format[0] == key_parts[-2]: + block_down_name = ".".join(key_parts[:-2]) + lora_down_name = "." + _format[0] + lora_up_name = "." + _format[1] + weight_name = "." + key_parts[-1] + break + if len(key_parts) >= 1 and _format[0] == key_parts[-1]: + block_down_name = ".".join(key_parts[:-1]) + lora_down_name = "." + _format[0] + lora_up_name = "." + _format[1] weight_name = "" - else: - weight_name = key.rsplit(f".{LORAFMT[0]}", 1)[-1] - lora_down_weight = value - else: + break + + if block_down_name is None: + # This parameter is not lora_down continue - # find corresponding lora_up and alpha + # Now weight_name can be ".weight" or "" + # Find corresponding lora_up and alpha block_up_name = block_down_name - lora_up_weight = lora_sd.get(block_up_name + f".{LORAFMT[1]}" + weight_name, None) + lora_down_weight = value + lora_up_weight = lora_sd.get(block_up_name + lora_up_name + weight_name, None) lora_alpha = lora_sd.get(block_down_name + ".alpha", None) weights_loaded = lora_down_weight is not None and lora_up_weight is not None @@ -262,10 +252,13 @@ def resize_lora_model(lora_sd, new_rank, new_conv_rank, save_dtype, device, dyna if weights_loaded: conv2d = len(lora_down_weight.size()) == 4 + old_rank = lora_down_weight.size()[0] + max_old_rank = max(max_old_rank or 0, old_rank) + if lora_alpha is None: scale = 1.0 else: - scale = lora_alpha / lora_down_weight.size()[0] + scale = lora_alpha / old_rank if conv2d: full_weight_matrix = merge_conv(lora_down_weight, lora_up_weight, device) @@ -292,9 +285,9 @@ def resize_lora_model(lora_sd, new_rank, new_conv_rank, save_dtype, device, dyna verbose_str += "\n" new_alpha = param_dict["new_alpha"] - o_lora_sd[block_down_name + f".{LORAFMT[0]}" + weight_name] = param_dict[LORAFMT[0]].to(save_dtype).contiguous() - o_lora_sd[block_up_name + f".{LORAFMT[1]}" + weight_name] = param_dict[LORAFMT[1]].to(save_dtype).contiguous() - o_lora_sd[block_up_name + ".alpha"] = torch.tensor(param_dict["new_alpha"]).to(save_dtype) + o_lora_sd[block_down_name + lora_down_name + weight_name] = param_dict["lora_down"].to(save_dtype).contiguous() + o_lora_sd[block_up_name + lora_up_name + weight_name] = param_dict["lora_up"].to(save_dtype).contiguous() + o_lora_sd[block_down_name + ".alpha"] = torch.tensor(param_dict["new_alpha"]).to(save_dtype) block_down_name = None block_up_name = None @@ -307,7 +300,7 @@ def resize_lora_model(lora_sd, new_rank, new_conv_rank, save_dtype, device, dyna print(verbose_str) print(f"Average Frobenius norm retention: {np.mean(fro_list):.2%} | std: {np.std(fro_list):0.3f}") logger.info("resizing complete") - return o_lora_sd, network_dim, new_alpha + return o_lora_sd, max_old_rank, new_alpha def resize(args): From 6edbe00547bac6c2efb2d6952eb910851662cdf2 Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sat, 16 Aug 2025 20:07:03 +0900 Subject: [PATCH 650/748] feat: update libraries, remove warnings --- library/model_util.py | 5 +- library/original_unet.py | 42 ++++++----- library/train_util.py | 72 ++++++++++++------- pytorch_lightning/__init__.py | 0 pytorch_lightning/callbacks/__init__.py | 0 .../callbacks/model_checkpoint.py | 4 ++ requirements.txt | 35 ++++----- sdxl_train_network.py | 7 +- train_network.py | 5 +- 9 files changed, 107 insertions(+), 63 deletions(-) create mode 100644 pytorch_lightning/__init__.py create mode 100644 pytorch_lightning/callbacks/__init__.py create mode 100644 pytorch_lightning/callbacks/model_checkpoint.py diff --git a/library/model_util.py b/library/model_util.py index 9918c7b2a..bcaa1145b 100644 --- a/library/model_util.py +++ b/library/model_util.py @@ -6,6 +6,7 @@ import torch from library.device_utils import init_ipex + init_ipex() import diffusers @@ -14,8 +15,10 @@ from safetensors.torch import load_file, save_file from library.original_unet import UNet2DConditionModel from library.utils import setup_logging + setup_logging() import logging + logger = logging.getLogger(__name__) # DiffUsers版StableDiffusionのモデルパラメータ @@ -974,7 +977,7 @@ def load_checkpoint_with_text_encoder_conversion(ckpt_path, device="cpu"): checkpoint = None state_dict = load_file(ckpt_path) # , device) # may causes error else: - checkpoint = torch.load(ckpt_path, map_location=device) + checkpoint = torch.load(ckpt_path, map_location=device, weights_only=False) if "state_dict" in checkpoint: state_dict = checkpoint["state_dict"] else: diff --git a/library/original_unet.py b/library/original_unet.py index e944ff22b..aa9dc233b 100644 --- a/library/original_unet.py +++ b/library/original_unet.py @@ -114,8 +114,10 @@ from torch.nn import functional as F from einops import rearrange from library.utils import setup_logging + setup_logging() import logging + logger = logging.getLogger(__name__) BLOCK_OUT_CHANNELS: Tuple[int] = (320, 640, 1280, 1280) @@ -530,7 +532,9 @@ def custom_forward(*inputs): return custom_forward - hidden_states = torch.utils.checkpoint.checkpoint(create_custom_forward(resnet), hidden_states, temb) + hidden_states = torch.utils.checkpoint.checkpoint( + create_custom_forward(resnet), hidden_states, temb, use_reentrant=False + ) else: hidden_states = resnet(hidden_states, temb) @@ -626,15 +630,9 @@ def forward(self, hidden_states, context=None, mask=None, **kwargs): hidden_states, encoder_hidden_states, attention_mask, - ) = translate_attention_names_from_diffusers( - hidden_states=hidden_states, context=context, mask=mask, **kwargs - ) + ) = translate_attention_names_from_diffusers(hidden_states=hidden_states, context=context, mask=mask, **kwargs) return self.processor( - attn=self, - hidden_states=hidden_states, - encoder_hidden_states=context, - attention_mask=mask, - **kwargs + attn=self, hidden_states=hidden_states, encoder_hidden_states=context, attention_mask=mask, **kwargs ) if self.use_memory_efficient_attention_xformers: return self.forward_memory_efficient_xformers(hidden_states, context, mask) @@ -748,13 +746,14 @@ def forward_sdpa(self, x, context=None, mask=None): out = self.to_out[0](out) return out + def translate_attention_names_from_diffusers( hidden_states: torch.FloatTensor, context: Optional[torch.FloatTensor] = None, mask: Optional[torch.FloatTensor] = None, # HF naming encoder_hidden_states: Optional[torch.FloatTensor] = None, - attention_mask: Optional[torch.FloatTensor] = None + attention_mask: Optional[torch.FloatTensor] = None, ): # translate from hugging face diffusers context = context if context is not None else encoder_hidden_states @@ -764,6 +763,7 @@ def translate_attention_names_from_diffusers( return hidden_states, context, mask + # feedforward class GEGLU(nn.Module): r""" @@ -1015,9 +1015,11 @@ def custom_forward(*inputs): return custom_forward - hidden_states = torch.utils.checkpoint.checkpoint(create_custom_forward(resnet), hidden_states, temb) hidden_states = torch.utils.checkpoint.checkpoint( - create_custom_forward(attn, return_dict=False), hidden_states, encoder_hidden_states + create_custom_forward(resnet), hidden_states, temb, use_reentrant=False + ) + hidden_states = torch.utils.checkpoint.checkpoint( + create_custom_forward(attn, return_dict=False), hidden_states, encoder_hidden_states, use_reentrant=False )[0] else: hidden_states = resnet(hidden_states, temb) @@ -1098,10 +1100,12 @@ def custom_forward(*inputs): if attn is not None: hidden_states = torch.utils.checkpoint.checkpoint( - create_custom_forward(attn, return_dict=False), hidden_states, encoder_hidden_states + create_custom_forward(attn, return_dict=False), hidden_states, encoder_hidden_states, use_reentrant=False )[0] - hidden_states = torch.utils.checkpoint.checkpoint(create_custom_forward(resnet), hidden_states, temb) + hidden_states = torch.utils.checkpoint.checkpoint( + create_custom_forward(resnet), hidden_states, temb, use_reentrant=False + ) else: if attn is not None: hidden_states = attn(hidden_states, encoder_hidden_states).sample @@ -1201,7 +1205,9 @@ def custom_forward(*inputs): return custom_forward - hidden_states = torch.utils.checkpoint.checkpoint(create_custom_forward(resnet), hidden_states, temb) + hidden_states = torch.utils.checkpoint.checkpoint( + create_custom_forward(resnet), hidden_states, temb, use_reentrant=False + ) else: hidden_states = resnet(hidden_states, temb) @@ -1296,9 +1302,11 @@ def custom_forward(*inputs): return custom_forward - hidden_states = torch.utils.checkpoint.checkpoint(create_custom_forward(resnet), hidden_states, temb) hidden_states = torch.utils.checkpoint.checkpoint( - create_custom_forward(attn, return_dict=False), hidden_states, encoder_hidden_states + create_custom_forward(resnet), hidden_states, temb, use_reentrant=False + ) + hidden_states = torch.utils.checkpoint.checkpoint( + create_custom_forward(attn, return_dict=False), hidden_states, encoder_hidden_states, use_reentrant=False )[0] else: hidden_states = resnet(hidden_states, temb) diff --git a/library/train_util.py b/library/train_util.py index 395183957..b432d0b62 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -683,7 +683,7 @@ def __init__( resolution: Optional[Tuple[int, int]], network_multiplier: float, debug_dataset: bool, - resize_interpolation: Optional[str] = None + resize_interpolation: Optional[str] = None, ) -> None: super().__init__() @@ -719,7 +719,9 @@ def __init__( self.image_transforms = IMAGE_TRANSFORMS if resize_interpolation is not None: - assert validate_interpolation_fn(resize_interpolation), f"Resize interpolation \"{resize_interpolation}\" is not a valid interpolation" + assert validate_interpolation_fn( + resize_interpolation + ), f'Resize interpolation "{resize_interpolation}" is not a valid interpolation' self.resize_interpolation = resize_interpolation self.image_data: Dict[str, ImageInfo] = {} @@ -1613,7 +1615,11 @@ def __getitem__(self, index): if self.enable_bucket: img, original_size, crop_ltrb = trim_and_resize_if_required( - subset.random_crop, img, image_info.bucket_reso, image_info.resized_size, resize_interpolation=image_info.resize_interpolation + subset.random_crop, + img, + image_info.bucket_reso, + image_info.resized_size, + resize_interpolation=image_info.resize_interpolation, ) else: if face_cx > 0: # 顔位置情報あり @@ -2101,7 +2107,9 @@ def load_dreambooth_dir(subset: DreamBoothSubset): for img_path, caption, size in zip(img_paths, captions, sizes): info = ImageInfo(img_path, num_repeats, caption, subset.is_reg, img_path) - info.resize_interpolation = subset.resize_interpolation if subset.resize_interpolation is not None else self.resize_interpolation + info.resize_interpolation = ( + subset.resize_interpolation if subset.resize_interpolation is not None else self.resize_interpolation + ) if size is not None: info.image_size = size if subset.is_reg: @@ -2385,7 +2393,7 @@ def __init__( bucket_no_upscale: bool, debug_dataset: bool, validation_split: float, - validation_seed: Optional[int], + validation_seed: Optional[int], resize_interpolation: Optional[str] = None, ) -> None: super().__init__(resolution, network_multiplier, debug_dataset, resize_interpolation) @@ -2448,7 +2456,7 @@ def __init__( self.num_train_images = self.dreambooth_dataset_delegate.num_train_images self.num_reg_images = self.dreambooth_dataset_delegate.num_reg_images self.validation_split = validation_split - self.validation_seed = validation_seed + self.validation_seed = validation_seed self.resize_interpolation = resize_interpolation # assert all conditioning data exists @@ -2538,7 +2546,14 @@ def __getitem__(self, index): cond_img.shape[0] == original_size_hw[0] and cond_img.shape[1] == original_size_hw[1] ), f"size of conditioning image is not match / 画像サイズが合いません: {image_info.absolute_path}" - cond_img = resize_image(cond_img, original_size_hw[1], original_size_hw[0], target_size_hw[1], target_size_hw[0], self.resize_interpolation) + cond_img = resize_image( + cond_img, + original_size_hw[1], + original_size_hw[0], + target_size_hw[1], + target_size_hw[0], + self.resize_interpolation, + ) # TODO support random crop # 現在サポートしているcropはrandomではなく中央のみ @@ -2552,7 +2567,14 @@ def __getitem__(self, index): # ), f"image size is small / 画像サイズが小さいようです: {image_info.absolute_path}" # resize to target if cond_img.shape[0] != target_size_hw[0] or cond_img.shape[1] != target_size_hw[1]: - cond_img = resize_image(cond_img, cond_img.shape[0], cond_img.shape[1], target_size_hw[1], target_size_hw[0], self.resize_interpolation) + cond_img = resize_image( + cond_img, + cond_img.shape[0], + cond_img.shape[1], + target_size_hw[1], + target_size_hw[0], + self.resize_interpolation, + ) if flipped: cond_img = cond_img[:, ::-1, :].copy() # copy to avoid negative stride @@ -3000,7 +3022,9 @@ def load_images_and_masks_for_caching( for info in image_infos: image = load_image(info.absolute_path, use_alpha_mask) if info.image is None else np.array(info.image, np.uint8) # TODO 画像のメタデータが壊れていて、メタデータから割り当てたbucketと実際の画像サイズが一致しない場合があるのでチェック追加要 - image, original_size, crop_ltrb = trim_and_resize_if_required(random_crop, image, info.bucket_reso, info.resized_size, resize_interpolation=info.resize_interpolation) + image, original_size, crop_ltrb = trim_and_resize_if_required( + random_crop, image, info.bucket_reso, info.resized_size, resize_interpolation=info.resize_interpolation + ) original_sizes.append(original_size) crop_ltrbs.append(crop_ltrb) @@ -3041,7 +3065,9 @@ def cache_batch_latents( for info in image_infos: image = load_image(info.absolute_path, use_alpha_mask) if info.image is None else np.array(info.image, np.uint8) # TODO 画像のメタデータが壊れていて、メタデータから割り当てたbucketと実際の画像サイズが一致しない場合があるのでチェック追加要 - image, original_size, crop_ltrb = trim_and_resize_if_required(random_crop, image, info.bucket_reso, info.resized_size, resize_interpolation=info.resize_interpolation) + image, original_size, crop_ltrb = trim_and_resize_if_required( + random_crop, image, info.bucket_reso, info.resized_size, resize_interpolation=info.resize_interpolation + ) info.latents_original_size = original_size info.latents_crop_ltrb = crop_ltrb @@ -3482,9 +3508,9 @@ def get_sai_model_spec( textual_inversion: bool, is_stable_diffusion_ckpt: Optional[bool] = None, # None for TI and LoRA sd3: str = None, - flux: str = None, # "dev", "schnell" or "chroma" + flux: str = None, # "dev", "schnell" or "chroma" lumina: str = None, - optional_metadata: dict[str, str] | None = None + optional_metadata: dict[str, str] | None = None, ): timestamp = time.time() @@ -3513,7 +3539,7 @@ def get_sai_model_spec( # Extract metadata_* fields from args and merge with optional_metadata extracted_metadata = {} - + # Extract all metadata_* attributes from args for attr_name in dir(args): if attr_name.startswith("metadata_") and not attr_name.startswith("metadata___"): @@ -3523,7 +3549,7 @@ def get_sai_model_spec( field_name = attr_name[9:] # len("metadata_") = 9 if field_name not in ["title", "author", "description", "license", "tags"]: extracted_metadata[field_name] = value - + # Merge extracted metadata with provided optional_metadata all_optional_metadata = {**extracted_metadata} if optional_metadata: @@ -3546,7 +3572,7 @@ def get_sai_model_spec( tags=args.metadata_tags, timesteps=timesteps, clip_skip=args.clip_skip, # None or int - model_config=model_config, + model_config=model_config, optional_metadata=all_optional_metadata if all_optional_metadata else None, ) return metadata @@ -3562,7 +3588,7 @@ def get_sai_model_spec_dataclass( sd3: str = None, flux: str = None, lumina: str = None, - optional_metadata: dict[str, str] | None = None + optional_metadata: dict[str, str] | None = None, ) -> sai_model_spec.ModelSpecMetadata: """ Get ModelSpec metadata as a dataclass - preferred for new code. @@ -5558,11 +5584,12 @@ def load_target_model(args, weight_dtype, accelerator, unet_use_linear_projectio def patch_accelerator_for_fp16_training(accelerator): - + from accelerate import DistributedType + if accelerator.distributed_type == DistributedType.DEEPSPEED: return - + org_unscale_grads = accelerator.scaler._unscale_grads_ def _unscale_grads_replacer(optimizer, inv_scale, found_inf, allow_fp16): @@ -6054,7 +6081,6 @@ def get_noise_noisy_latents_and_timesteps( b_size = latents.shape[0] min_timestep = 0 if args.min_timestep is None else args.min_timestep max_timestep = noise_scheduler.config.num_train_timesteps if args.max_timestep is None else args.max_timestep - timesteps = get_timesteps(min_timestep, max_timestep, b_size, latents.device) # Add noise to the latents according to the noise magnitude at each timestep @@ -6279,7 +6305,6 @@ def line_to_prompt_dict(line: str) -> dict: prompt_dict["renorm_cfg"] = float(m.group(1)) continue - except ValueError as ex: logger.error(f"Exception in parsing / 解析エラー: {parg}") logger.error(ex) @@ -6328,7 +6353,7 @@ def sample_images_common( vae, tokenizer, text_encoder, - unet, + unet_wrapped, prompt_replacement=None, controlnet=None, ): @@ -6363,7 +6388,7 @@ def sample_images_common( vae.to(distributed_state.device) # distributed_state.device is same as accelerator.device # unwrap unet and text_encoder(s) - unet = accelerator.unwrap_model(unet) + unet = accelerator.unwrap_model(unet_wrapped) if isinstance(text_encoder, (list, tuple)): text_encoder = [accelerator.unwrap_model(te) for te in text_encoder] else: @@ -6509,7 +6534,7 @@ def sample_image_inference( logger.info(f"sample_sampler: {sampler_name}") if seed is not None: logger.info(f"seed: {seed}") - with accelerator.autocast(): + with accelerator.autocast(), torch.no_grad(): latents = pipeline( prompt=prompt, height=height, @@ -6647,4 +6672,3 @@ def moving_average(self) -> float: if losses == 0: return 0 return self.loss_total / losses - diff --git a/pytorch_lightning/__init__.py b/pytorch_lightning/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/pytorch_lightning/callbacks/__init__.py b/pytorch_lightning/callbacks/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/pytorch_lightning/callbacks/model_checkpoint.py b/pytorch_lightning/callbacks/model_checkpoint.py new file mode 100644 index 000000000..1ba145634 --- /dev/null +++ b/pytorch_lightning/callbacks/model_checkpoint.py @@ -0,0 +1,4 @@ +# dummy module for pytorch_lightning + +class ModelCheckpoint: + pass diff --git a/requirements.txt b/requirements.txt index 448af323c..7c7060c7b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,28 +1,29 @@ -accelerate==0.33.0 -transformers==4.44.0 -diffusers[torch]==0.25.0 -ftfy==6.1.1 +accelerate==1.6.0 +transformers==4.54.1 +diffusers[torch]==0.32.1 +ftfy==6.3.1 # albumentations==1.3.0 -opencv-python==4.8.1.78 +opencv-python==4.10.0.84 einops==0.7.0 -pytorch-lightning==1.9.0 -bitsandbytes==0.44.0 -lion-pytorch==0.0.6 +# pytorch-lightning==1.9.0 +bitsandbytes==0.45.4 +lion-pytorch==0.2.3 schedulefree==1.4 pytorch-optimizer==3.7.0 -prodigy-plus-schedule-free==1.9.0 +prodigy-plus-schedule-free==1.9.2 prodigyopt==1.1.2 tensorboard -safetensors==0.4.4 +safetensors==0.4.5 # gradio==3.16.2 -altair==4.2.2 -easygui==0.98.3 +# altair==4.2.2 +# easygui==0.98.3 toml==0.10.2 -voluptuous==0.13.1 -huggingface-hub==0.24.5 +voluptuous==0.15.2 +huggingface-hub==0.34.3 # for Image utils imagesize==1.4.1 -numpy<=2.0 +numpy +# <=2.0 # for BLIP captioning # requests==2.28.2 # timm==0.6.12 @@ -41,8 +42,8 @@ numpy<=2.0 # open clip for SDXL # open-clip-torch==2.20.0 # For logging -rich==13.7.0 +rich==14.1.0 # for T5XXL tokenizer (SD3/FLUX) -sentencepiece==0.2.0 +sentencepiece==0.2.1 # for kohya_ss library -e . diff --git a/sdxl_train_network.py b/sdxl_train_network.py index d56c76b03..5c5bcd63a 100644 --- a/sdxl_train_network.py +++ b/sdxl_train_network.py @@ -23,7 +23,12 @@ def __init__(self): self.vae_scale_factor = sdxl_model_util.VAE_SCALE_FACTOR self.is_sdxl = True - def assert_extra_args(self, args, train_dataset_group: Union[train_util.DatasetGroup, train_util.MinimalDataset], val_dataset_group: Optional[train_util.DatasetGroup]): + def assert_extra_args( + self, + args, + train_dataset_group: Union[train_util.DatasetGroup, train_util.MinimalDataset], + val_dataset_group: Optional[train_util.DatasetGroup], + ): sdxl_train_util.verify_sdxl_training_args(args) if args.cache_text_encoder_outputs: diff --git a/train_network.py b/train_network.py index e055f5d8e..3dedb574c 100644 --- a/train_network.py +++ b/train_network.py @@ -414,13 +414,12 @@ def process_batch( if text_encoder_outputs_list is not None: text_encoder_conds = text_encoder_outputs_list # List of text encoder outputs - if len(text_encoder_conds) == 0 or text_encoder_conds[0] is None or train_text_encoder: # TODO this does not work if 'some text_encoders are trained' and 'some are not and not cached' with torch.set_grad_enabled(is_train and train_text_encoder), accelerator.autocast(): # Get the text embedding for conditioning if args.weighted_captions: - input_ids_list, weights_list = tokenize_strategy.tokenize_with_weights(batch['captions']) + input_ids_list, weights_list = tokenize_strategy.tokenize_with_weights(batch["captions"]) encoded_text_encoder_conds = text_encoding_strategy.encode_tokens_with_weights( tokenize_strategy, self.get_models_for_text_encoding(args, accelerator, text_encoders), @@ -1340,7 +1339,7 @@ def remove_model(old_ckpt_name): ) NUM_VALIDATION_TIMESTEPS = 4 # 200, 400, 600, 800 TODO make this configurable min_timestep = 0 if args.min_timestep is None else args.min_timestep - max_timestep = noise_scheduler.num_train_timesteps if args.max_timestep is None else args.max_timestep + max_timestep = noise_scheduler.config.num_train_timesteps if args.max_timestep is None else args.max_timestep validation_timesteps = np.linspace(min_timestep, max_timestep, (NUM_VALIDATION_TIMESTEPS + 2), dtype=int)[1:-1] validation_total_steps = validation_steps * len(validation_timesteps) original_args_min_timestep = args.min_timestep From 6f24bce7ccacdf0c13614fe84413c2446adbf35c Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sat, 16 Aug 2025 22:03:31 +0900 Subject: [PATCH 651/748] fix: remove unnecessary super call in assert_extra_args method --- sdxl_train_textual_inversion.py | 1 - 1 file changed, 1 deletion(-) diff --git a/sdxl_train_textual_inversion.py b/sdxl_train_textual_inversion.py index 982007601..be538cdd6 100644 --- a/sdxl_train_textual_inversion.py +++ b/sdxl_train_textual_inversion.py @@ -20,7 +20,6 @@ def __init__(self): self.is_sdxl = True def assert_extra_args(self, args, train_dataset_group: Union[train_util.DatasetGroup, train_util.MinimalDataset], val_dataset_group: Optional[train_util.DatasetGroup]): - super().assert_extra_args(args, train_dataset_group, val_dataset_group) sdxl_train_util.verify_sdxl_training_args(args, supportTextEncoderCaching=False) train_dataset_group.verify_bucket_reso_steps(32) From f61c442f0b7d4bc30f3d3eb3e169c13f424107ad Mon Sep 17 00:00:00 2001 From: Kohya S Date: Sat, 16 Aug 2025 22:03:52 +0900 Subject: [PATCH 652/748] fix: use strategy for tokenizer and latent caching --- train_control_net.py | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/train_control_net.py b/train_control_net.py index 97cd1ebb0..c12693baf 100644 --- a/train_control_net.py +++ b/train_control_net.py @@ -12,7 +12,7 @@ from tqdm import tqdm import torch -from library import deepspeed_utils +from library import deepspeed_utils, strategy_base, strategy_sd from library.device_utils import init_ipex, clean_memory_on_device init_ipex() @@ -73,7 +73,14 @@ def train(args): args.seed = random.randint(0, 2**32) set_seed(args.seed) - tokenizer = train_util.load_tokenizer(args) + tokenize_strategy = strategy_sd.SdTokenizeStrategy(args.v2, args.max_token_length, args.tokenizer_cache_dir) + strategy_base.TokenizeStrategy.set_strategy(tokenize_strategy) + tokenizer = tokenize_strategy.tokenizer + # prepare caching strategy: this must be set before preparing dataset. because dataset may use this strategy for initialization. + latents_caching_strategy = strategy_sd.SdSdxlLatentsCachingStrategy( + True, args.cache_latents_to_disk, args.vae_batch_size, False + ) + strategy_base.LatentsCachingStrategy.set_strategy(latents_caching_strategy) # データセットを準備する blueprint_generator = BlueprintGenerator(ConfigSanitizer(False, False, True, True)) @@ -100,7 +107,7 @@ def train(args): ] } - blueprint = blueprint_generator.generate(user_config, args, tokenizer=tokenizer) + blueprint = blueprint_generator.generate(user_config, args) train_dataset_group, val_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) current_epoch = Value("i", 0) @@ -243,12 +250,7 @@ def __contains__(self, name): vae.requires_grad_(False) vae.eval() with torch.no_grad(): - train_dataset_group.cache_latents( - vae, - args.vae_batch_size, - args.cache_latents_to_disk, - accelerator.is_main_process, - ) + train_dataset_group.new_cache_latents(vae, accelerator) vae.to("cpu") clean_memory_on_device(accelerator.device) @@ -267,6 +269,7 @@ def __contains__(self, name): # dataloaderを準備する # DataLoaderのプロセス数:0 は persistent_workers が使えないので注意 + train_dataset_group.set_current_strategies() n_workers = min(args.max_data_loader_n_workers, os.cpu_count()) # cpu_count or max_data_loader_n_workers train_dataloader = torch.utils.data.DataLoader( @@ -451,7 +454,7 @@ def remove_model(old_ckpt_name): latents = latents * 0.18215 b_size = latents.shape[0] - input_ids = batch["input_ids"].to(accelerator.device) + input_ids = batch["input_ids_list"][0].to(accelerator.device) encoder_hidden_states = train_util.get_hidden_states(args, input_ids, tokenizer, text_encoder, weight_dtype) # Sample noise that we'll add to the latents From 0e7f7808b09acbbe6d01dde3693927b0de88d2bb Mon Sep 17 00:00:00 2001 From: kohya-ss <52813779+kohya-ss@users.noreply.github.com> Date: Sat, 23 Aug 2025 18:44:23 +0900 Subject: [PATCH 653/748] doc: add sponsor logo and annoucements --- README-ja.md | 12 ++++++++++++ README.md | 13 +++++++++++++ images/logo_aihub.png | Bin 0 -> 7090 bytes 3 files changed, 25 insertions(+) create mode 100644 images/logo_aihub.png diff --git a/README-ja.md b/README-ja.md index 60249f61e..71c3b0d54 100644 --- a/README-ja.md +++ b/README-ja.md @@ -17,6 +17,18 @@ GUIやPowerShellスクリプトなど、より使いやすくする機能が[bma * 画像生成 * モデル変換(Stable Diffision ckpt/safetensorsとDiffusersの相互変換) +### スポンサー + +このプロジェクトを支援してくださる企業・団体の皆様に深く感謝いたします。 + + + AiHUB株式会社 + + +### スポンサー募集のお知らせ + +このプロジェクトがお役に立ったなら、ご支援いただけると嬉しく思います。 [GitHub Sponsors](https://github.com/sponsors/kohya-ss/)で受け付けています。 + ## 使用法について * [学習について、共通編](./docs/train_README-ja.md) : データ整備やオプションなど diff --git a/README.md b/README.md index 7ed3a2f5a..629f1d415 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,19 @@ This repository contains the scripts for: * Image generation * Model conversion (supports 1.x and 2.x, Stable Diffision ckpt/safetensors and Diffusers) +### Sponsors + +We are grateful to the following companies for their generous sponsorship: + + + AiHUB Inc. + + +### Support the Project + +If you find this project helpful, please consider supporting its development via [GitHub Sponsors](https://github.com/sponsors/kohya-ss/). Your support is greatly appreciated! + + ## About requirements.txt The file does not contain requirements for PyTorch. Because the version of PyTorch depends on the environment, it is not included in the file. Please install PyTorch first according to the environment. See installation instructions below. diff --git a/images/logo_aihub.png b/images/logo_aihub.png new file mode 100644 index 0000000000000000000000000000000000000000..662b331a9674bd9a34d3bfa782dba427871e7de0 GIT binary patch literal 7090 zcmaKR2RNKvx3)5R7rjnqh~7o-MsE>`5Opv?Ff+#JBuX%9A|Xn2!Aq0~LPU!w2~mO+ zqL=73gedXvyyttrbFTk7-+8Xf%rj%}_3XX&TI;^=HSt%>4d|%3sELS(=!^^zSBZ#- zy}`X3B?)+y7|&G%Z=85N8@v_f7CsP(LlJ4aVO&s9BOjzY>M9E97VP^TrA9bz@OZ3>lvH3~pk$z&BnIa$C8MmY{Ktl@tOOV# z;TMd?BZDN+e(--RAW(j;I8Q9z6N85Sv50iR_~X@KV6p$T3m@#i&7%GO)-Rn&j4_kT6)cP$u;lDdlW!}#M|!P(t{|9KQvMHh!c z;xV{u7>xHnj=bW5!DIY9Fj%PUWl0%XsPGL>v>PVSPvq|zW@aizXg@p>?TRu&sKbB_ zNl#BV6&YPQeFZ&vWkr2?X&D)PX(c^bd2M}tS$!Gcc5Q9tf94`EuKqqKH2$BtZvQ=3 z`#;Y86AwOE@MHuE=NW)<)5l?apnq>##q&R}Me#q{``28z|GXBZ|2S6)EJo_j(f*I4 z{^u(YKYwoj9lPMezoQ?81|g3Fu^nB*y+lOBanT5&eJyBWBbUa;Z2Y8Gb!t6L()cRE z4E6AV*Q+!mgsI@=Em@8Xj>i3Bdx}S~RJvPmQ^}YST}c^QQ8V~$`dCRrODoIO3iIXD z&u`DSw=Fj74sV9$wpx5%-VGW|YMpNVIpKBp@bzcM_3-pGN(f1$7L@USyme3#&xp$7 z7T+2ow1q!8uNv30b&be2zk5Ab>YDtg^tAJIdA9^F zjN&JIOjt6yMK_LKLqlV0YwPUfkexcFySrONMC3-beSCa8Q(||Hy;PGGA0OZBt?=D$ z_N(Rca&mIu|1vU6r&@|zYira=4BQGIdV0uDm!l~dB-;cfB$6K`e){s|@W&57a0LXA zw>!0lq-SSStGL_S+oMo|Vr9|_3R|OP7Ecs>Ixxd|;%d_*+Pb>B{{H>}0Rc!P(#pz8 z?28;WbYyh2MB>4N2hM2p;I}>+GEuMkfky|;t!J+1?V7)r4>8S7O%)B=we7(_z8@bS z-?F=;sd@K!e-+m@tsPBHOy#wDtGlO%i<48Ed;4Q?@4@;Pkr0xgH}8Ih=<4W1+?Kb? z&yaGGbZp`H_`56qLXBhVO*=cW?jGQ{$TgqIrjMheb^fC7a+LktUg`t~|B4_c4YCQg zLN!=5zZ5wa;u$!n8jc9AuCK4}Xw4W`(n2i;v|hMm`oK27sHiAUJyeH-0u!3m^X3`r zUzwBD>_;K8&+se57nK&s$;sUZb5i><;u!d2V`9c9CSLN9WhwY@4J1;K=A`hd?p5qH zlPo<|a4J33+%Ep5DH0N3C7+x%(eAfQKhR_QI-n{nR$6|Y)V?fWb3#T|BWTC@*rGGT z>5fR;I#~+Cz%h?%KvKEyg$s|OqDVvnbCi5ZX!TefwL6p^d_+aZCEPf;&lvD{H9D*S zJ|%u#euaDHr4M&;kFT%q8+9otTjJ`M<*ljLNgL6H#Ni8|STVB!TE&d8)W@YW(f5AB=TB%e)y(;!jl_`FtP&H3cPR?~gmVr;LBc#<- zk8XBpNpJM1;`*~pE(%xvF!pCvRRi@J&Ru3RzmE^rOIqfBpPe|o4v6s*Mxpt2X1B;8 z5NQdroB2X8+4wp6xNAo5Z|aR2>pdELBX{eA^G*KQIaL)E7v3OQi5DIpVc7=cWMndz z+d>X*hq143Z!^r5o8_rxeKu{m(&W-j{kx@qb7LbS#WYh|dl%t0T585vA}%3ekizpm z__Y^xT4;rb+;2vqD{IBDr+x)-aTJKESUT?5)sQzfRB8gICI{OyPG)9i-;w6#=Gz)R zvYpe@e0XxxFEod&(WT2vo10ZdMV-%Nh&dd2RRg@|I%5(9V3#gk8lJh-h?yA-E`B2V z%#$)xvEW*Hbb`vj94(@1C;T_w-#Fk=ppaR1 z*U&1Nv&}vTvbs~!P77NC@S08!RmAMW)V0zIR~C7GVES`<+C1A4yksIN&8G< z6%XmTbOhT9VbN;w-V{&y(UyPDueVp*W-G_Nn6f+S-~h zTLdZXvU8nYZ9S8@L7oX$x`vRA?VBp$Po=ih`9Ev*TwGu^dXT2D$jHc*02mzp>HzT~ zdksqcTd>+1#(0z*AOC*tZQL(0n6|cdrK#Ds@o_p%*?VteHGY<+&9UjP7MC6inPCk1 z1$Xkxt;zznr*rSaU@X*NhvP3U4XMNPA6~3Bx^ROgZRNOiwu%2XjnTG%FtuvH#%wV` z-0r36_3P;pUT4#tNU@r7i7<&0Ril?>ZSqb!lZ;WFv-9(^AZhNz6SSbt;f2#6_LRMs zZhMZ_ul16>c&c3?Fy-hJwr?h~ngQw7`98=MoJfh)Wz_5oONfppZ5%X=f9iYF-_gZ2 z=4s5u4{uA4XD8f+W?BT)9~NMnUcIucDX>a+_vsM6^){AHNu0FqZ5+e$^Fr>YBhM$6 zu<>*Avru^k?mYat=c?d|7j zB38rdOzP_DTY7FIPmO%Oz3g`9r**%1y-ATIQn0AF_+lql81UN4ND0j$jG2ik@`PnC zp1}|*%p+uxce+}Ze?|NX!ZPg<0W3G#v&oFI=RQ9MiPR3Ejoc9tv#xYz3EG4UKd$aG zLM*a%rGA@|hmc@W4FzgzYlpi<<}KgrB07Rh(HAGc8g}){FEX-ZKYc2&@`9!R_2NYs z{_#wmp`jt=swAYdOf6)eGR}4bHov(k5jXyTAxk|}VR?{HT`k#0=?Wp?5sq{aj&eY< zr~0pde&1f(L`|XTF&osHmuo4R2}cT-Ctp$B)@o-#`YnSL3cd##O?GZwzJ^q6To>rQ0HOt&b5zerMws5+V$9WO60P0e;twU(Bav={F} z8NbHd>3VBXXy|$G2I9`|U+&ctCV6sjEnz*_M*S7{zgIo;V?G+LQAc`RPY8OY5fCs&u0L<@(*Rj$KSbY>F?$Wz_0Pflu>Y+cyDg0n? zgA_#YO@K`uGr_^ZEaqvZY?AhWm6yjK^c)=>?QhTITc*z3IZ4KQM4hri1jj>7O=-K^ z=b2Oa?;H^~i|^z;w=;%5wq&5;F;+|UMYY3y?^=C-UFtA-Ix<^DeGCbUY52dB0&B@7uQa8VPHMcJB zQk$u!42eii9sm&WqOOj~Du7QJ_p~`%^gY$%0tDgJs>aQmduN9;`Kp2RgJ~~cDqwF* z$5_cJD#n?FMfztHXhESvL+*bz{$_S!WaO%o6F=TWOiV0c;AG$P_H7blfwxQUXD-eD z>#=*KWW_b$^cl`ATwLZ8*`-wQD@5+n!ork~2wD`0-OaJx{rx5a%rXgOHIxL zzhX4E!@^c^Ga_lNt?D_)_qi@ppAzohr=T;hZ6b8=pPrrqtnYE5f6QQHVnVtna3a{X z1;Bk%RL+Eq3}h2PD4&4G0#Z^8sGx4+&er=^hFR)li5+(VQ+q`hW>%m(l&9|M>MA2* zXleOzxKP(K_(e-LT_Hz!q4@Fe*jSF7JN>F(QWJiax$)Ns)tHBe$CbPC+SeF`gvySO zL;kL5ZNHDbR_6c2&DRPZUS6}>Nxe(B#DuYIqHvZt3IpeuUq6(MX9&IYUr;5QN0lb-}joR%%`^B`+`U=TTPXuPz{Sls=%py`&R1 zw6*0tgH^^8va+%=GT8CEVmGSaU2AI%J^X#L-EQwWxol);NB~FbNx`?KiaoWJ7fv;- zc52`H{++y5Km?g`;9%wVP<@uo{-uB+qjeJ z3D^Me3<3cezBGt{$UOXd_xBI}Yy$-ag`y@kYisM_*M*vPrlzKb@SWs81%n9LpAD|! zVmQaU$@aToNC-0u(`Idpc`^Ad~3SZgex+xtGCzn zg}0a2lho8XQ00V}WE2$WDJiv93*NtfZ))N*)!a~6NPPS>^W{jrv8b3B=dXCkE8?C5 zn?P^U)Z_0@Fra2WyHTSrqH*_k7~$&W%a=ocZbWL7=jKjI9p&uGh_wEb-Clmn1i$oI?09N)V+HUKzjhi z2g+pW`*-UbH==hn`fwHZIW)q8+V7k_C%k)s>c29{m~C=RL|95n6FW)b#PG92O~C#G7JBHU7eVCqH~B6U_yGPgH9r2Tgwyo;O4$uz7M(BgRjq}r ztgKq_LjR}0d`e16;MSz484UMxV;s|dW<6Iyr~WGn^O;<7h2`^ef9&G&^2x7XF)=X` zPHj9B@Ag+m?U?+b%)yv$YdjjAHovEQ%tUFfm?9`Bss7xP3BGu^@J)~wIn zXklq(^>&Dj9J2*>q{V)hT?Hf-6)i1dwOlsZK<>INi_zZBjt2_PMMejQv~raISj((< z3h1dNHOhh3P0dkjgde93ZJzGT>1GAH?Iaj#X%Y1qWZl2|t@fKdP_>bg zTg%H|UirE23HX`RjqA9L)HrGKyzeNG%b#osezd&#LHLg72`uWxmG(YC2m2V4NSj;^`s zPpK<4ClM165Wvc2o~32Uxp#&y_6-ay1sltOeE;m8%0Zy)i*4N7!zq7Ig;pcsuRNQU zhBVLbiFtT>uCA`Wx4sM^A;w!AE!@`(ntliBnyj?+tUjVAg*TDe>w?TN=b2*=h_jXX zneao0GV|PbZ$GdCOz0mRj1^1FBtF&!Xb*C1uCM5*bB|auia{0Z?8OD8AOe-(id^89 zecF6eu^i)H%6EUO*}nm3R3zRTcE6@(yWVqjwhvT5$F{Jnp#d*f*J$_>s|3^T?ymOx zv^w;Z%8K5AY4FbM8>hQxWDY#?GW&Lfh{4s-vcmq5;NXjB7m%DsfVLMT_V)Jvz%G0+ zxZH(&{Fs11Ahhyl!MLNg4F#G$Nw_rMr9sL#0U@E{t}j$nRFNsRie8^9O)?}4ujLJi zuzmXUNy@&7D8u?YFN>;!8z$1%&rjD@H}&yj@`~!>V$!o~iQO*x#Ct%zgOa?qu|XTy zLq@|^>D11L9v~sk1qDB?aS({tlb@TfZ+{X!h8OdxheRk+7)yqfG|r$FFR<~$th&C| zx`IqeYSN5wQ7!Ujq5_;sxv{-n(-_xsIQcqod-hGVrKKhQF>AEOK7cIUd@&^@j^4d6 z5?-x9r&l<^zG-^{gWj&LEcJG&;o zNUM9Xu|<%mOIlVpZZ!I@TNf-40@S9jIy&a%=F;&I?U2+|R9p?=c9go=Cnk(XxB$7ORA}gjJiGyS0%*);qZ!_(OQZ5+W=j$Fz zo|a(07qQBW1N^&Ohd7m90uI-$t*#9}`6;17J;p%A;kdVhYCygv&x%)Fn4jO<+q+V_ zQs2-J@63B25t1KK;X|*T6se%4At=a}NOP zjv_ACx#ka4M%C|tD-_ILmWT+NJ`2S~by-(`i=m&^^;a@Ml z6%jmc-`+citwM4&!;Yl!8}_FB9vG;%+I%8#8_SrMBfoMCH)RV*QANJZHIXo_fP1d?n zOgd(U9&TBldLfY)C;iO*PDt%%U9cxImxGLrsSzTxKZ*|pu{8$CTn(5R4fJask4W@X zbM2loxk}O#o}=abyCDZ_-JRcrq0oqBlNF#y49;orM9 zbsV?rZMB{_Uo|cLkgLj0E94s}w=+Lp?|H$VO)Lv^Nqm>Chf{NO&aSBqhgLr);r*zn zrk3+vr0sZ3EL-6R23if}=GPHH3|N}1 zSDW9mIf0s+iz})TLjQ#}yQ4!Z>wuW96W>Bb!O=04qx@rUso&fGIcPsF^=A~j86Y7$ zrc1L|FZch+tmx=SU4i@S8&j_X0dsY5;BDMX&B{`C?V+_s+X2y2mgfc}!_Uoc2mAX_ z?}@Kp?LkwqB)c8-&)z>29A*V9Yo-z7WYPl^6sT9C%T%X;_{_WxtSJ!{6ci+;FdMwS z_NB%NXmMj>W5Dl6tH}hmfxV8J$bQ=xN)Aaq1R`QfC@zk2pAB0wi}$`X?ku0L2AVDf z!xIw|*nEY#?}6PezMh_**4Au#-hz}W{%ebXUf;S!E?L&nqNb_Ij}PyP7=i02?HnAC zr5J$<{^pUBrDf`)M~@yn!0xYDW_iV-Mp{DyodNLka!}-jfetbnEh){%&p#C6g2+zd z*Ss_Km!*2hKG7EQ3bV6YYIb(W+L#F1%7{8f2TM~~RV5)Vt~E9B(&t;L88=o{t5~Ep z`Msl)6T>x9;n#)&As{iE4jR!@^A&WOJh{YFr1Q^eYKG>22r^PeG*ncG4s+8`Q+Mdz o!w53{e~o$2reE20A|@x2%iQ?jQ72aN=T|f%J#$30j&s!i1N+JCL;wH) literal 0 HcmV?d00001 From acba279b0b6a62ed9266f1011bbbae13d098d7fe Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Sun, 24 Aug 2025 17:03:18 +0900 Subject: [PATCH 654/748] fix: update PyTorch version in workflow matrix --- .github/workflows/tests.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 9e037e539..88b0b1770 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -23,7 +23,8 @@ jobs: os: [ubuntu-latest] python-version: ["3.10"] # Python versions to test pytorch-version: ["2.4.0"] # PyTorch versions to test - + pytorch-version: ["2.6.0"] # PyTorch versions to test + steps: - uses: actions/checkout@v4 with: From 69a85a0a11d405d999b5a01d096ec8f12fc9daee Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Sun, 24 Aug 2025 17:08:08 +0900 Subject: [PATCH 655/748] gitignore: add CLAUDE.md, GEMINI.md, MagicMock and related files to ignore list --- .gitignore | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.gitignore b/.gitignore index e492b1add..d48110130 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,8 @@ venv build .vscode wandb +CLAUDE.md +GEMINI.md +.claude +.gemini +MagicMock \ No newline at end of file From f7acd2f7a3319487feb5277934f5cc998e46b231 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Sun, 24 Aug 2025 17:16:17 +0900 Subject: [PATCH 656/748] fix: consolidate PyTorch versions in workflow matrix --- .github/workflows/tests.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 88b0b1770..d35fe3925 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -22,9 +22,8 @@ jobs: matrix: os: [ubuntu-latest] python-version: ["3.10"] # Python versions to test - pytorch-version: ["2.4.0"] # PyTorch versions to test - pytorch-version: ["2.6.0"] # PyTorch versions to test - + pytorch-version: ["2.4.0", "2.6.0"] # PyTorch versions to test + steps: - uses: actions/checkout@v4 with: From ac72cf88a76d6165e70c96c6aa76282977bd378c Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Thu, 28 Aug 2025 08:35:40 +0900 Subject: [PATCH 657/748] feat: remove bitsandbytes version specification in requirements.txt --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 7c7060c7b..624978b49 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,7 +6,7 @@ ftfy==6.3.1 opencv-python==4.10.0.84 einops==0.7.0 # pytorch-lightning==1.9.0 -bitsandbytes==0.45.4 +bitsandbytes lion-pytorch==0.2.3 schedulefree==1.4 pytorch-optimizer==3.7.0 From c52c45cd7ab6b8e92b8967e1d46965a67128ee6a Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Thu, 28 Aug 2025 08:36:09 +0900 Subject: [PATCH 658/748] doc: update for PyTorch and libraries versions --- README.md | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index be0ae4064..7dc9a4b6b 100644 --- a/README.md +++ b/README.md @@ -4,18 +4,29 @@ This repository contains training, generation and utility scripts for Stable Dif This feature is experimental. The options and the training script may change in the future. Please let us know if you have any idea to improve the training. -__Please update PyTorch to 2.4.0. We have tested with `torch==2.4.0` and `torchvision==0.19.0` with CUDA 12.4. We also updated `accelerate` to 0.33.0 just to be safe. `requirements.txt` is also updated, so please update the requirements.__ +__Please update PyTorch to 2.6.0 or later. We have tested with `torch==2.6.0` and `torchvision==0.21.0` with CUDA 12.4. `requirements.txt` is also updated, so please update the requirements.__ The command to install PyTorch is as follows: -`pip3 install torch==2.4.0 torchvision==0.19.0 --index-url https://download.pytorch.org/whl/cu124` +`pip3 install torch==2.6.0 torchvision==0.21.0 --index-url https://download.pytorch.org/whl/cu124` -If you are using DeepSpeed, please install DeepSpeed with `pip install deepspeed==0.16.7`. +For RTX 50 series GPUs, PyTorch 2.8.0 with CUDA 12.8/9 should be used. `requirements.txt` will work with this version. + +If you are using DeepSpeed, please install DeepSpeed with `pip install deepspeed` (appropriate version is not confirmed yet). - [FLUX.1 training](#flux1-training) - [SD3 training](#sd3-training) ### Recent Updates +Aug 28, 2025: +- In order to support the latest GPUs and features, we have updated the **PyTorch and library versions**. There are many changes, so please let us know if you encounter any issues. +- The PyTorch version used for testing has been updated to 2.6.0. We have confirmed that it works with PyTorch 2.6.0 and later. +- The `requirements.txt` has been updated, so please update your dependencies. + - You can update the dependencies with `pip install -r requirements.txt`. + - The version specification for `bitsandbytes` has been removed. If you encounter errors on RTX 50 series GPUs, please update it with `pip install -U bitsandbytes`. +- We have modified each script to minimize warnings as much as possible. + - The modified scripts will work in the old environment (library versions), but please update them when convenient. + Jul 30, 2025: - **Breaking Change**: For FLUX.1 and Chroma training, the CFG (Classifier-Free Guidance, using negative prompts) scale option for sample image generation during training has been changed from `--g` to `--l`. The `--g` option is now used for the embedded guidance scale. Please update your prompts accordingly. See [Sample Image Generation During Training](#sample-image-generation-during-training) for details. From 5a5138d0ab71d1d640851e6ffa8eb2ad2f2e2b60 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Thu, 28 Aug 2025 08:38:14 +0900 Subject: [PATCH 659/748] doc: add PR reference for PyTorch and library versions update --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7dc9a4b6b..5953cef50 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ If you are using DeepSpeed, please install DeepSpeed with `pip install deepspeed ### Recent Updates Aug 28, 2025: -- In order to support the latest GPUs and features, we have updated the **PyTorch and library versions**. There are many changes, so please let us know if you encounter any issues. +- In order to support the latest GPUs and features, we have updated the **PyTorch and library versions**. PR [#2178](https://github.com/kohya-ss/sd-scripts/pull/2178) There are many changes, so please let us know if you encounter any issues. - The PyTorch version used for testing has been updated to 2.6.0. We have confirmed that it works with PyTorch 2.6.0 and later. - The `requirements.txt` has been updated, so please update your dependencies. - You can update the dependencies with `pip install -r requirements.txt`. From e836b7f66d93f411515f593d17fa17eaca3bb5b1 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Sat, 30 Aug 2025 09:30:24 +0900 Subject: [PATCH 660/748] fix: chroma LoRA training without Text Encode caching --- library/flux_utils.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/library/flux_utils.py b/library/flux_utils.py index 3f0a0d63e..220548547 100644 --- a/library/flux_utils.py +++ b/library/flux_utils.py @@ -220,8 +220,12 @@ def __init__(self): class DummyCLIPL(torch.nn.Module): def __init__(self): super().__init__() - self.output_shape = (77, 1) # Note: The original code had (77, 768), but we use (77, 1) for the dummy output - self.dummy_param = torch.nn.Parameter(torch.zeros(1)) # get dtype and device from this parameter + self.output_shape = (77, 1) # Note: The original code had (77, 768), but we use (77, 1) for the dummy output + + # dtype and device from these parameters. train_network.py accesses them + self.dummy_param = torch.nn.Parameter(torch.zeros(1)) + self.dummy_param_2 = torch.nn.Parameter(torch.zeros(1)) + self.dummy_param_3 = torch.nn.Parameter(torch.zeros(1)) self.text_model = DummyTextModel() @property From 989448afddb47e10c9177e31cf12065f88af291e Mon Sep 17 00:00:00 2001 From: kohya-ss <52813779+kohya-ss@users.noreply.github.com> Date: Sun, 31 Aug 2025 19:19:10 +0900 Subject: [PATCH 661/748] doc: enhance SD3/SDXL LoRA training guide --- docs/sd3_train_network.md | 137 ++++++++++++++++++++++++++-- docs/sdxl_train_network_advanced.md | 97 ++++++++++++++++++-- 2 files changed, 218 insertions(+), 16 deletions(-) diff --git a/docs/sd3_train_network.md b/docs/sd3_train_network.md index e10829aae..f235e8ef0 100644 --- a/docs/sd3_train_network.md +++ b/docs/sd3_train_network.md @@ -1,5 +1,3 @@ -Status: reviewed - # LoRA Training Guide for Stable Diffusion 3/3.5 using `sd3_train_network.py` / `sd3_train_network.py` を用いたStable Diffusion 3/3.5モデルのLoRA学習ガイド This document explains how to train LoRA (Low-Rank Adaptation) models for Stable Diffusion 3 (SD3) and Stable Diffusion 3.5 (SD3.5) using `sd3_train_network.py` in the `sd-scripts` repository. @@ -18,7 +16,6 @@ This guide assumes you already understand the basics of LoRA training. For commo
日本語 -ステータス:内容を一通り確認した `sd3_train_network.py`は、Stable Diffusion 3/3.5モデルに対してLoRAなどの追加ネットワークを学習させるためのスクリプトです。SD3は、MMDiT (Multi-Modal Diffusion Transformer) と呼ばれる新しいアーキテクチャを採用しており、従来のStable Diffusionモデルとは構造が異なります。このスクリプトを使用することで、SD3/3.5モデルに特化したLoRAモデルを作成できます。 @@ -106,6 +103,7 @@ accelerate launch --num_cpu_threads_per_process 1 sd3_train_network.py \
日本語 + 学習は、ターミナルから`sd3_train_network.py`を実行することで開始します。基本的なコマンドラインの構造は`train_network.py`と同様ですが、SD3/3.5特有の引数を指定する必要があります。 以下に、基本的なコマンドライン実行例を示します。 @@ -136,6 +134,7 @@ accelerate launch --num_cpu_threads_per_process 1 sd3_train_network.py ``` ※実際には1行で書くか、適切な改行文字(`\` または `^`)を使用してください。 +
### 4.1. Explanation of Key Options / 主要なコマンドライン引数の解説 @@ -162,6 +161,8 @@ Besides the arguments explained in the [train_network.py guide](train_network.md #### Memory and Speed / メモリ・速度関連 * `--blocks_to_swap=` **[experimental]** – Swap a number of Transformer blocks between CPU and GPU. More blocks reduce VRAM but slow training. Cannot be used with `--cpu_offload_checkpointing`. +* `--cache_text_encoder_outputs` – Caches the outputs of the text encoders to reduce VRAM usage and speed up training. This is particularly effective for SD3, which uses three text encoders. Recommended when not training the text encoder LoRA. For more details, see the [`sdxl_train_network.py` guide](sdxl_train_network.md). +* `--cache_text_encoder_outputs_to_disk` – Caches the text encoder outputs to disk when the above option is enabled. #### Incompatible or Deprecated Options / 非互換・非推奨の引数 @@ -169,6 +170,7 @@ Besides the arguments explained in the [train_network.py guide](train_network.md
日本語 + [`train_network.py`のガイド](train_network.md)で説明されている引数に加え、以下のSD3/3.5特有の引数を指定します。共通の引数については、上記ガイドを参照してください。 #### モデル関連 @@ -194,29 +196,148 @@ Besides the arguments explained in the [train_network.py guide](train_network.md #### メモリ・速度関連 * `--blocks_to_swap=` **[実験的機能]** – TransformerブロックをCPUとGPUでスワップしてVRAMを節約します。`--cpu_offload_checkpointing`とは併用できません。 +* `--cache_text_encoder_outputs` – Text Encoderの出力をキャッシュし、VRAM使用量削減と学習高速化を図ります。SD3は3つのText Encoderを持つため特に効果的です。Text EncoderのLoRAを学習しない場合に推奨されます。詳細は[`sdxl_train_network.py`のガイド](sdxl_train_network.md)を参照してください。 +* `--cache_text_encoder_outputs_to_disk` – 上記オプションと併用し、Text Encoderの出力をディスクにキャッシュします。 #### 非互換・非推奨の引数 * `--v2`, `--v_parameterization`, `--clip_skip` – Stable Diffusion v1/v2向けの引数のため、SD3/3.5学習では使用されません。 +
### 4.2. Starting Training / 学習の開始 After setting the required arguments, run the command to begin training. The overall flow and how to check logs are the same as in the [train_network.py guide](train_network.md#32-starting-the-training--学習の開始). -## 5. Using the Trained Model / 学習済みモデルの利用 +
+日本語 -When training finishes, a LoRA model file (e.g. `my_sd3_lora.safetensors`) is saved in the directory specified by `output_dir`. Use this file with inference environments that support SD3/3.5, such as ComfyUI. +必要な引数を設定したら、コマンドを実行して学習を開始します。全体の流れやログの確認方法は、[train_network.pyのガイド](train_network.md#32-starting-the-training--学習の開始)と同様です。 + +
-## 6. Others / その他 +## 5. LoRA Target Modules / LoRAの学習対象モジュール -`sd3_train_network.py` shares many features with `train_network.py`, such as sample image generation (`--sample_prompts`, etc.) and detailed optimizer settings. For these, see the [train_network.py guide](train_network.md#5-other-features--その他の機能) or run `python sd3_train_network.py --help`. +When training LoRA with `sd3_train_network.py`, the following modules are targeted by default: + +* **MMDiT (replaces U-Net)**: + * `qkv` (Query, Key, Value) matrices and `proj_out` (output projection) in the attention blocks. +* **final_layer**: + * The output layer at the end of MMDiT. + +By using `--network_args`, you can apply more detailed controls, such as setting different ranks (dimensions) for each module. + +### Specify rank for each layer in SD3 LoRA / 各層のランクを指定する + +You can specify the rank for each layer in SD3 by specifying the following network_args. If you specify `0`, LoRA will not be applied to that layer. + +When network_args is not specified, the default value (`network_dim`) is applied, same as before. + +|network_args|target layer| +|---|---| +|context_attn_dim|attn in context_block| +|context_mlp_dim|mlp in context_block| +|context_mod_dim|adaLN_modulation in context_block| +|x_attn_dim|attn in x_block| +|x_mlp_dim|mlp in x_block| +|x_mod_dim|adaLN_modulation in x_block| + +`"verbose=True"` is also available for debugging. It shows the rank of each layer. + +example: +``` +--network_args "context_attn_dim=2" "context_mlp_dim=3" "context_mod_dim=4" "x_attn_dim=5" "x_mlp_dim=6" "x_mod_dim=7" "verbose=True" +``` + +You can apply LoRA to the conditioning layers of SD3 by specifying `emb_dims` in network_args. When specifying, be sure to specify 6 numbers in `[]` as a comma-separated list. + +example: +``` +--network_args "emb_dims=[2,3,4,5,6,7]" +``` + +Each number corresponds to `context_embedder`, `t_embedder`, `x_embedder`, `y_embedder`, `final_layer_adaLN_modulation`, `final_layer_linear`. The above example applies LoRA to all conditioning layers, with rank 2 for `context_embedder`, 3 for `t_embedder`, 4 for `context_embedder`, 5 for `y_embedder`, 6 for `final_layer_adaLN_modulation`, and 7 for `final_layer_linear`. + +If you specify `0`, LoRA will not be applied to that layer. For example, `[4,0,0,4,0,0]` applies LoRA only to `context_embedder` and `y_embedder`. + +### Specify blocks to train in SD3 LoRA training + +You can specify the blocks to train in SD3 LoRA training by specifying `train_block_indices` in network_args. The indices are 0-based. The default (when omitted) is to train all blocks. The indices are specified as a list of integers or a range of integers, like `0,1,5,8` or `0,1,4-5,7`. + +The number of blocks depends on the model. The valid range is 0-(the number of blocks - 1). `all` is also available to train all blocks, `none` is also available to train no blocks. + +example: +``` +--network_args "train_block_indices=1,2,6-8" +``` + +
+日本語 + +`sd3_train_network.py`でLoRAを学習させる場合、デフォルトでは以下のモジュールが対象となります。 + +* **MMDiT (U-Netの代替)**: + * Attentionブロック内の`qkv`(Query, Key, Value)行列と、`proj_out`(出力Projection)。 +* **final_layer**: + * MMDiTの最後にある出力層。 + +`--network_args` を使用することで、モジュールごとに異なるランク(次元数)を設定するなど、より詳細な制御が可能です。 + +### SD3 LoRAで各層のランクを指定する + +各層のランクを指定するには、`--network_args`オプションを使用します。`0`を指定すると、その層にはLoRAが適用されません。 + +network_argsが指定されない場合、デフォルト値(`network_dim`)が適用されます。 + +|network_args|target layer| +|---|---| +|context_attn_dim|attn in context_block| +|context_mlp_dim|mlp in context_block| +|context_mod_dim|adaLN_modulation in context_block| +|x_attn_dim|attn in x_block| +|x_mlp_dim|mlp in x_block| +|x_mod_dim|adaLN_modulation in x_block| + +`"verbose=True"`を指定すると、各層のランクが表示されます。 + +例: + +```bash +--network_args "context_attn_dim=2" "context_mlp_dim=3" "context_mod_dim=4" "x_attn_dim=5" "x_mlp_dim=6" "x_mod_dim=7" "verbose=True" +``` + +また、`emb_dims`を指定することで、SD3の条件付け層にLoRAを適用することもできます。指定する際は、必ず`[]`内にカンマ区切りで6つの数字を指定してください。 + +```bash +--network_args "emb_dims=[2,3,4,5,6,7]" +``` + +各数字は、`context_embedder`、`t_embedder`、`x_embedder`、`y_embedder`、`final_layer_adaLN_modulation`、`final_layer_linear`に対応しています。上記の例では、すべての条件付け層にLoRAを適用し、`context_embedder`に2、`t_embedder`に3、`x_embedder`に4、`y_embedder`に5、`final_layer_adaLN_modulation`に6、`final_layer_linear`に7のランクを設定しています。 + +`0`を指定すると、その層にはLoRAが適用されません。例えば、`[4,0,0,4,0,0]`と指定すると、`context_embedder`と`y_embedder`のみにLoRAが適用されます。 + +
+ + +## 6. Using the Trained Model / 学習済みモデルの利用 + +When training finishes, a LoRA model file (e.g. `my_sd3_lora.safetensors`) is saved in the directory specified by `output_dir`. Use this file with inference environments that support SD3/3.5, such as ComfyUI.
日本語 -必要な引数を設定し、コマンドを実行すると学習が開始されます。基本的な流れやログの確認方法は[`train_network.py`のガイド](train_network.md#32-starting-the-training--学習の開始)と同様です。 学習が完了すると、指定した`output_dir`にLoRAモデルファイル(例: `my_sd3_lora.safetensors`)が保存されます。このファイルは、SD3/3.5モデルに対応した推論環境(例: ComfyUIなど)で使用できます。 +
+ + +## 7. Others / その他 + +`sd3_train_network.py` shares many features with `train_network.py`, such as sample image generation (`--sample_prompts`, etc.) and detailed optimizer settings. For these, see the [train_network.py guide](train_network.md#5-other-features--その他の機能) or run `python sd3_train_network.py --help`. + +
+日本語 + `sd3_train_network.py`には、サンプル画像の生成 (`--sample_prompts`など) や詳細なオプティマイザ設定など、`train_network.py`と共通の機能も多く存在します。これらについては、[`train_network.py`のガイド](train_network.md#5-other-features--その他の機能)やスクリプトのヘルプ (`python sd3_train_network.py --help`) を参照してください。 +
diff --git a/docs/sdxl_train_network_advanced.md b/docs/sdxl_train_network_advanced.md index 39844c98b..fd7086047 100644 --- a/docs/sdxl_train_network_advanced.md +++ b/docs/sdxl_train_network_advanced.md @@ -1,5 +1,3 @@ -Status: under review - # Advanced Settings: Detailed Guide for SDXL LoRA Training Script `sdxl_train_network.py` / 高度な設定: SDXL LoRA学習スクリプト `sdxl_train_network.py` 詳細ガイド This document describes the advanced options available when training LoRA models for SDXL (Stable Diffusion XL) with `sdxl_train_network.py` in the `sd-scripts` repository. For the basics, please read [How to Use the LoRA Training Script `train_network.py`](train_network.md) and [How to Use the SDXL LoRA Training Script `sdxl_train_network.py`](sdxl_train_network.md). @@ -137,11 +135,55 @@ Basic options are common with `train_network.py`. * `--clip_skip=N`: Uses the output from N layers skipped from the final layer of Text Encoders. **Not typically used for SDXL**. * `--lowram` / `--highvram`: Options for memory usage optimization. `--lowram` is for environments like Colab where RAM < VRAM, `--highvram` is for environments with ample VRAM. * `--persistent_data_loader_workers` / `--max_data_loader_n_workers=N`: Settings for DataLoader worker processes. Affects wait time between epochs and memory usage. -* `--config_file=\"\"` / `--output_config`: Options to use/output a `.toml` file instead of command line arguments. +* `--config_file=""` / `--output_config`: Options to use/output a `.toml` file instead of command line arguments. * **Accelerate/DeepSpeed related:** (`--ddp_timeout`, `--ddp_gradient_as_bucket_view`, `--ddp_static_graph`): Detailed settings for distributed training. Accelerate settings (`accelerate config`) are usually sufficient. DeepSpeed requires separate configuration. +## 1.11. Console and Logging / コンソールとログ + +* `--console_log_level`: Sets the logging level for the console output. Choose from `DEBUG`, `INFO`, `WARNING`, `ERROR`, `CRITICAL`. +* `--console_log_file`: Redirects console logs to a specified file. +* `--console_log_simple`: Enables a simpler log format. + +### 1.12. Hugging Face Hub Integration / Hugging Face Hub 連携 + +* `--huggingface_repo_id`: The repository name on Hugging Face Hub to upload the model to (e.g., `your-username/your-model`). +* `--huggingface_repo_type`: The type of repository on Hugging Face Hub. Usually `model`. +* `--huggingface_path_in_repo`: The path within the repository to upload files to. +* `--huggingface_token`: Your Hugging Face Hub authentication token. +* `--huggingface_repo_visibility`: Sets the visibility of the repository (`public` or `private`). +* `--resume_from_huggingface`: Resumes training from a state saved on Hugging Face Hub. +* `--async_upload`: Enables asynchronous uploading of models to the Hub, preventing it from blocking the training process. +* `--save_n_epoch_ratio`: Saves the model at a certain ratio of total epochs. For example, `5` will save at least 5 checkpoints throughout the training. + +### 1.13. Advanced Attention Settings / 高度なAttention設定 + +* `--mem_eff_attn`: Use memory-efficient attention mechanism. This is an older implementation and `sdpa` or `xformers` are generally recommended. +* `--xformers`: Use xformers library for memory-efficient attention. Requires `pip install xformers`. + +### 1.14. Advanced LR Scheduler Settings / 高度な学習率スケジューラ設定 + +* `--lr_scheduler_type`: Specifies a custom scheduler module. +* `--lr_scheduler_args`: Provides additional arguments to the custom scheduler (e.g., `"T_max=100"`). +* `--lr_decay_steps`: Sets the number of steps for the learning rate to decay. +* `--lr_scheduler_timescale`: The timescale for the inverse square root scheduler. +* `--lr_scheduler_min_lr_ratio`: Sets the minimum learning rate as a ratio of the initial learning rate for certain schedulers. + +### 1.15. Differential Learning with LoRA / LoRAの差分学習 + +This technique involves merging a pre-trained LoRA into the base model before starting a new training session. This is useful for fine-tuning an existing LoRA or for learning the 'difference' from it. + +* `--base_weights`: Path to one or more LoRA weight files to be merged into the base model before training begins. +* `--base_weights_multiplier`: A multiplier for the weights of the LoRA specified by `--base_weights`. You can specify multiple values if you provide multiple weights. + +### 1.16. Other Miscellaneous Options / その他のオプション + +* `--tokenizer_cache_dir`: Specifies a directory to cache the tokenizer, which is useful for offline training. +* `--scale_weight_norms`: Scales the weight norms of the LoRA modules. This can help prevent overfitting by controlling the magnitude of the weights. A value of `1.0` is a good starting point. +* `--disable_mmap_load_safetensors`: Disables memory-mapped loading for `.safetensors` files. This can speed up model loading in some environments like WSL. + ## 2. Other Tips / その他のTips + * **VRAM Usage:** SDXL LoRA training requires a lot of VRAM. Even with 24GB VRAM, you might run out of memory depending on settings. Reduce VRAM usage with these settings: * `--mixed_precision=\"bf16\"` or `\"fp16\"` (essential) * `--gradient_checkpointing` (strongly recommended) @@ -165,8 +207,6 @@ Basic options are common with `train_network.py`.
日本語 ---- - # 高度な設定: SDXL LoRA学習スクリプト `sdxl_train_network.py` 詳細ガイド このドキュメントでは、`sd-scripts` リポジトリに含まれる `sdxl_train_network.py` を使用した、SDXL (Stable Diffusion XL) モデルに対する LoRA (Low-Rank Adaptation) モデル学習の高度な設定オプションについて解説します。 @@ -398,8 +438,52 @@ SDXLは計算コストが高いため、キャッシュ機能が効果的です * **Accelerate/DeepSpeed関連:** (`--ddp_timeout`, `--ddp_gradient_as_bucket_view`, `--ddp_static_graph`) * 分散学習時の詳細設定。通常はAccelerateの設定 (`accelerate config`) で十分です。DeepSpeedを使用する場合は、別途設定が必要です。 +## 1.11. コンソールとログ + +* `--console_log_level`: コンソール出力のログレベルを設定します。`DEBUG`, `INFO`, `WARNING`, `ERROR`, `CRITICAL`から選択します。 +* `--console_log_file`: コンソールのログを指定されたファイルに出力します。 +* `--console_log_simple`: よりシンプルなログフォーマットを有効にします。 + +### 1.12. Hugging Face Hub 連携 + +* `--huggingface_repo_id`: モデルをアップロードするHugging Face Hubのリポジトリ名 (例: `your-username/your-model`)。 +* `--huggingface_repo_type`: Hugging Face Hubのリポジトリの種類。通常は`model`です。 +* `--huggingface_path_in_repo`: リポジトリ内でファイルをアップロードするパス。 +* `--huggingface_token`: Hugging Face Hubの認証トークン。 +* `--huggingface_repo_visibility`: リポジトリの公開設定 (`public`または`private`)。 +* `--resume_from_huggingface`: Hugging Face Hubに保存された状態から学習を再開します。 +* `--async_upload`: Hubへのモデルの非同期アップロードを有効にし、学習プロセスをブロックしないようにします。 +* `--save_n_epoch_ratio`: 総エポック数に対する特定の比率でモデルを保存します。例えば`5`を指定すると、学習全体で少なくとも5つのチェックポイントが保存されます。 + +### 1.13. 高度なAttention設定 + +* `--mem_eff_attn`: メモリ効率の良いAttentionメカニズムを使用します。これは古い実装であり、一般的には`sdpa`や`xformers`の使用が推奨されます。 +* `--xformers`: メモリ効率の良いAttentionのためにxformersライブラリを使用します。`pip install xformers`が必要です。 + +### 1.14. 高度な学習率スケジューラ設定 + +* `--lr_scheduler_type`: カスタムスケジューラモジュールを指定します。 +* `--lr_scheduler_args`: カスタムスケジューラに追加の引数を渡します (例: `"T_max=100"`)。 +* `--lr_decay_steps`: 学習率が減衰するステップ数を設定します。 +* `--lr_scheduler_timescale`: 逆平方根スケジューラのタイムスケール。 +* `--lr_scheduler_min_lr_ratio`: 特定のスケジューラについて、初期学習率に対する最小学習率の比率を設定します。 + +### 1.15. LoRAの差分学習 + +既存の学習済みLoRAをベースモデルにマージしてから、新たな学習を開始する手法です。既存LoRAのファインチューニングや、差分を学習させたい場合に有効です。 + +* `--base_weights`: 学習開始前にベースモデルにマージするLoRAの重みファイルを1つ以上指定します。 +* `--base_weights_multiplier`: `--base_weights`で指定したLoRAの重みの倍率。複数指定も可能です。 + +### 1.16. その他のオプション + +* `--tokenizer_cache_dir`: オフラインでの学習に便利なように、tokenizerをキャッシュするディレクトリを指定します。 +* `--scale_weight_norms`: LoRAモジュールの重みのノルムをスケーリングします。重みの大きさを制御することで過学習を防ぐ助けになります。`1.0`が良い出発点です。 +* `--disable_mmap_load_safetensors`: `.safetensors`ファイルのメモリマップドローディングを無効にします。WSLなどの一部環境でモデルの読み込みを高速化できます。 + ## 2. その他のTips + * **VRAM使用量:** SDXL LoRA学習は多くのVRAMを必要とします。24GB VRAMでも設定によってはメモリ不足になることがあります。以下の設定でVRAM使用量を削減できます。 * `--mixed_precision="bf16"` または `"fp16"` (必須級) * `--gradient_checkpointing` (強く推奨) @@ -422,7 +506,4 @@ SDXLは計算コストが高いため、キャッシュ機能が効果的です 不明な点や詳細については、各スクリプトの `--help` オプションや、リポジトリ内の他のドキュメント、実装コード自体を参照してください。 ---- - -
From fe81d40202808d59c78ed906ed15e824c18d091f Mon Sep 17 00:00:00 2001 From: kohya-ss <52813779+kohya-ss@users.noreply.github.com> Date: Sun, 31 Aug 2025 21:14:45 +0900 Subject: [PATCH 662/748] doc: refactor structure for improved readability and maintainability --- README.md | 2 +- docs/flux_train_network.md | 34 +++++++++++++++++++ docs/sd3_train_network.md | 16 +++++++-- ..._advanced.md => train_network_advanced.md} | 14 +++++--- 4 files changed, 59 insertions(+), 7 deletions(-) rename docs/{sdxl_train_network_advanced.md => train_network_advanced.md} (97%) diff --git a/README.md b/README.md index 5e569eab6..27356ed44 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ Jul 21, 2025: Currently, the following documents are available: - train_network.md - sdxl_train_network.md - - sdxl_train_network_advanced.md + - train_network_advanced.md - flux_train_network.md - sd3_train_network.md - lumina_train_network.md diff --git a/docs/flux_train_network.md b/docs/flux_train_network.md index 23828eb71..f30717a68 100644 --- a/docs/flux_train_network.md +++ b/docs/flux_train_network.md @@ -631,6 +631,40 @@ interpolation_type = "lanczos" # Example: Use Lanczos interpolation
+### 7.3. Other Training Options / その他の学習オプション + +- **`--controlnet_model_name_or_path`**: Specifies the path to a ControlNet model compatible with FLUX.1. This allows for training a LoRA that works in conjunction with ControlNet. This is an advanced feature and requires a compatible ControlNet model. + +- **`--loss_type`**: Specifies the loss function for training. The default is `l2`. + - `l1`: L1 loss. + - `l2`: L2 loss (mean squared error). + - `huber`: Huber loss. + - `smooth_l1`: Smooth L1 loss. + +- **`--huber_schedule`**, **`--huber_c`**, **`--huber_scale`**: These are parameters for Huber loss. They are used when `--loss_type` is set to `huber` or `smooth_l1`. + +- **`--t5xxl_max_token_length`**: Specifies the maximum token length for the T5-XXL text encoder. For details, refer to the [`sd3_train_network.md` guide](sd3_train_network.md). + +- **`--weighting_scheme`**, **`--logit_mean`**, **`--logit_std`**, **`--mode_scale`**: These options allow you to adjust the loss weighting for each timestep. For details, refer to the [`sd3_train_network.md` guide](sd3_train_network.md). + +- **`--fused_backward_pass`**: Fuses the backward pass and optimizer step to reduce VRAM usage. For details, refer to the [`sdxl_train_network.md` guide](sdxl_train_network.md). + +
+日本語 + +- **`--controlnet_model_name_or_path`**: FLUX.1互換のControlNetモデルへのパスを指定します。これにより、ControlNetと連携して動作するLoRAを学習できます。これは高度な機能であり、互換性のあるControlNetモデルが必要です。 +- **`--loss_type`**: 学習に用いる損失関数を指定します。デフォルトは `l2` です。 + - `l1`: L1損失。 + - `l2`: L2損失(平均二乗誤差)。 + - `huber`: Huber損失。 + - `smooth_l1`: Smooth L1損失。 +- **`--huber_schedule`**, **`--huber_c`**, **`--huber_scale`**: これらはHuber損失のパラメータです。`--loss_type` が `huber` または `smooth_l1` の場合に使用されます。 +- **`--t5xxl_max_token_length`**: T5-XXLテキストエンコーダの最大トークン長を指定します。詳細は [`sd3_train_network.md` ガイド](sd3_train_network.md) を参照してください。 +- **`--weighting_scheme`**, **`--logit_mean`**, **`--logit_std`**, **`--mode_scale`**: これらのオプションは、各タイムステップの損失の重み付けを調整するために使用されます。詳細は [`sd3_train_network.md` ガイド](sd3_train_network.md) を参照してください。 +- **`--fused_backward_pass`**: バックワードパスとオプティマイザステップを融合してVRAM使用量を削減します。詳細は [`sdxl_train_network.md` ガイド](sdxl_train_network.md) を参照してください。 + +
+ ## 8. Related Tools / 関連ツール Several related scripts are provided for models trained with `flux_train_network.py` and to assist with the training process: diff --git a/docs/sd3_train_network.md b/docs/sd3_train_network.md index f235e8ef0..30876ce05 100644 --- a/docs/sd3_train_network.md +++ b/docs/sd3_train_network.md @@ -156,13 +156,19 @@ Besides the arguments explained in the [train_network.py guide](train_network.md * `--enable_scaled_pos_embed` **[SD3.5][experimental]** – Scale positional embeddings when training with multiple resolutions. * `--training_shift=` – Shift applied to the timestep distribution. Default `1.0`. * `--weighting_scheme=` – Weighting method for loss by timestep. Default `uniform`. -* `--logit_mean`, `--logit_std`, `--mode_scale` – Parameters for `logit_normal` or `mode` weighting. +* `--logit_mean=` – Mean value for `logit_normal` weighting scheme. Default `0.0`. +* `--logit_std=` – Standard deviation for `logit_normal` weighting scheme. Default `1.0`. +* `--mode_scale=` – Scale factor for `mode` weighting scheme. Default `1.29`. #### Memory and Speed / メモリ・速度関連 * `--blocks_to_swap=` **[experimental]** – Swap a number of Transformer blocks between CPU and GPU. More blocks reduce VRAM but slow training. Cannot be used with `--cpu_offload_checkpointing`. * `--cache_text_encoder_outputs` – Caches the outputs of the text encoders to reduce VRAM usage and speed up training. This is particularly effective for SD3, which uses three text encoders. Recommended when not training the text encoder LoRA. For more details, see the [`sdxl_train_network.py` guide](sdxl_train_network.md). * `--cache_text_encoder_outputs_to_disk` – Caches the text encoder outputs to disk when the above option is enabled. +* `--t5xxl_device=` **[not supported yet]** – Specifies the device for T5-XXL model. If not specified, uses accelerator's device. +* `--t5xxl_dtype=` **[not supported yet]** – Specifies the dtype for T5-XXL model. If not specified, uses default dtype from mixed precision. +* `--save_clip` **[not supported yet]** – Saves CLIP models to checkpoint (unified checkpoint format not yet supported). +* `--save_t5xxl` **[not supported yet]** – Saves T5-XXL model to checkpoint (unified checkpoint format not yet supported). #### Incompatible or Deprecated Options / 非互換・非推奨の引数 @@ -191,13 +197,19 @@ Besides the arguments explained in the [train_network.py guide](train_network.md * `--enable_scaled_pos_embed` **[SD3.5向け][実験的機能]** – マルチ解像度学習時に解像度に応じてPositional Embeddingをスケーリングします。 * `--training_shift=` – タイムステップ分布を調整するためのシフト値です。デフォルトは`1.0`です。 * `--weighting_scheme=` – タイムステップに応じた損失の重み付け方法を指定します。デフォルトは`uniform`です。 -* `--logit_mean`, `--logit_std`, `--mode_scale` – `logit_normal`または`mode`使用時のパラメータです。 +* `--logit_mean=` – `logit_normal`重み付けスキームの平均値です。デフォルトは`0.0`です。 +* `--logit_std=` – `logit_normal`重み付けスキームの標準偏差です。デフォルトは`1.0`です。 +* `--mode_scale=` – `mode`重み付けスキームのスケール係数です。デフォルトは`1.29`です。 #### メモリ・速度関連 * `--blocks_to_swap=` **[実験的機能]** – TransformerブロックをCPUとGPUでスワップしてVRAMを節約します。`--cpu_offload_checkpointing`とは併用できません。 * `--cache_text_encoder_outputs` – Text Encoderの出力をキャッシュし、VRAM使用量削減と学習高速化を図ります。SD3は3つのText Encoderを持つため特に効果的です。Text EncoderのLoRAを学習しない場合に推奨されます。詳細は[`sdxl_train_network.py`のガイド](sdxl_train_network.md)を参照してください。 * `--cache_text_encoder_outputs_to_disk` – 上記オプションと併用し、Text Encoderの出力をディスクにキャッシュします。 +* `--t5xxl_device=` **[未サポート]** – T5-XXLモデルのデバイスを指定します。指定しない場合はacceleratorのデバイスを使用します。 +* `--t5xxl_dtype=` **[未サポート]** – T5-XXLモデルのdtypeを指定します。指定しない場合はデフォルトのdtype(mixed precisionから)を使用します。 +* `--save_clip` **[未サポート]** – CLIPモデルをチェックポイントに保存します(統合チェックポイント形式は未サポート)。 +* `--save_t5xxl` **[未サポート]** – T5-XXLモデルをチェックポイントに保存します(統合チェックポイント形式は未サポート)。 #### 非互換・非推奨の引数 diff --git a/docs/sdxl_train_network_advanced.md b/docs/train_network_advanced.md similarity index 97% rename from docs/sdxl_train_network_advanced.md rename to docs/train_network_advanced.md index fd7086047..c1fd86a22 100644 --- a/docs/sdxl_train_network_advanced.md +++ b/docs/train_network_advanced.md @@ -128,7 +128,7 @@ Basic options are common with `train_network.py`. * `--huber_c=C` / `--huber_scale=S`: Parameters for `huber` or `smooth_l1` loss. * `--masked_loss`: Limits loss calculation area based on a mask image. Requires specifying mask images (black and white) in `conditioning_data_dir` in dataset settings. See [About Masked Loss](masked_loss_README.md) for details. -### 1.10. Distributed Training and Others +### 1.10. Distributed Training and Other Training Related Options * `--seed=N`: Specifies the random seed. Set this to ensure training reproducibility. * `--max_token_length=N` (`75`, `150`, `225`): Maximum token length processed by Text Encoders. For SDXL, typically `75` (default), `150`, or `225`. Longer lengths can handle more complex prompts but increase VRAM usage. @@ -137,8 +137,11 @@ Basic options are common with `train_network.py`. * `--persistent_data_loader_workers` / `--max_data_loader_n_workers=N`: Settings for DataLoader worker processes. Affects wait time between epochs and memory usage. * `--config_file=""` / `--output_config`: Options to use/output a `.toml` file instead of command line arguments. * **Accelerate/DeepSpeed related:** (`--ddp_timeout`, `--ddp_gradient_as_bucket_view`, `--ddp_static_graph`): Detailed settings for distributed training. Accelerate settings (`accelerate config`) are usually sufficient. DeepSpeed requires separate configuration. +* `--initial_epoch=` – Sets the initial epoch number. `1` means first epoch (same as not specifying). Note: `initial_epoch`/`initial_step` doesn't affect the lr scheduler, which means lr scheduler will start from 0 without `--resume`. +* `--initial_step=` – Sets the initial step number including all epochs. `0` means first step (same as not specifying). Overwrites `initial_epoch`. +* `--skip_until_initial_step` – Skips training until `initial_step` is reached. -## 1.11. Console and Logging / コンソールとログ +### 1.11. Console and Logging / コンソールとログ * `--console_log_level`: Sets the logging level for the console output. Choose from `DEBUG`, `INFO`, `WARNING`, `ERROR`, `CRITICAL`. * `--console_log_file`: Redirects console logs to a specified file. @@ -421,7 +424,7 @@ SDXLは計算コストが高いため、キャッシュ機能が効果的です * `--masked_loss` * マスク画像に基づいてLoss計算領域を限定します。データセット設定で`conditioning_data_dir`にマスク画像(白黒)を指定する必要があります。詳細は[マスクロスについて](masked_loss_README.md)を参照してください。 -### 1.10. 分散学習・その他 +### 1.10. 分散学習、その他学習関連 * `--seed=N` * 乱数シードを指定します。学習の再現性を確保したい場合に設定します。 @@ -437,8 +440,11 @@ SDXLは計算コストが高いため、キャッシュ機能が効果的です * コマンドライン引数の代わりに`.toml`ファイルを使用/出力するオプション。 * **Accelerate/DeepSpeed関連:** (`--ddp_timeout`, `--ddp_gradient_as_bucket_view`, `--ddp_static_graph`) * 分散学習時の詳細設定。通常はAccelerateの設定 (`accelerate config`) で十分です。DeepSpeedを使用する場合は、別途設定が必要です。 +* `--initial_epoch=` – 開始エポック番号を設定します。`1`で最初のエポック(未指定時と同じ)。注意:`initial_epoch`/`initial_step`はlr schedulerに影響しないため、`--resume`しない場合はlr schedulerは0から始まります。 +* `--initial_step=` – 全エポックを含む開始ステップ番号を設定します。`0`で最初のステップ(未指定時と同じ)。`initial_epoch`を上書きします。 +* `--skip_until_initial_step` – `initial_step`に到達するまで学習をスキップします。 -## 1.11. コンソールとログ +### 1.11. コンソールとログ * `--console_log_level`: コンソール出力のログレベルを設定します。`DEBUG`, `INFO`, `WARNING`, `ERROR`, `CRITICAL`から選択します。 * `--console_log_file`: コンソールのログを指定されたファイルに出力します。 From 80710134d5af8169e65906f1a3f0892a93689421 Mon Sep 17 00:00:00 2001 From: kohya-ss <52813779+kohya-ss@users.noreply.github.com> Date: Sun, 31 Aug 2025 21:19:28 +0900 Subject: [PATCH 663/748] doc: add Sage Attention and sample batch size options to Lumina training guide --- docs/lumina_train_network.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/lumina_train_network.md b/docs/lumina_train_network.md index 3f0548d9c..80ae84187 100644 --- a/docs/lumina_train_network.md +++ b/docs/lumina_train_network.md @@ -170,6 +170,8 @@ Besides the arguments explained in the [train_network.py guide](train_network.md * `--model_prediction_type=` – Model prediction processing method. Options: `raw`, `additive`, `sigma_scaled`. Default `raw`. **Recommended: `raw`** * `--system_prompt=` – System prompt to prepend to all prompts. Recommended: `"You are an assistant designed to generate high-quality images based on user prompts."` or `"You are an assistant designed to generate high-quality images with the highest degree of image-text alignment based on textual prompts."` * `--use_flash_attn` – Use Flash Attention. Requires `pip install flash-attn` (may not be supported in all environments). If installed correctly, it speeds up training. +* `--use_sage_attn` – Use Sage Attention for the model. +* `--sample_batch_size=` – Batch size to use for sampling, defaults to `--training_batch_size` value. Sample batches are bucketed by width, height, guidance scale, and seed. * `--sigmoid_scale=` – Scale factor for sigmoid timestep sampling. Default `1.0`. #### Memory and Speed / メモリ・速度関連 @@ -216,6 +218,8 @@ For Lumina Image 2.0, you can specify different dimensions for various component * `--model_prediction_type=` – モデル予測の処理方法を指定します。`raw`, `additive`, `sigma_scaled`から選択します。デフォルトは`raw`です。**推奨: `raw`** * `--system_prompt=` – 全てのプロンプトに前置するシステムプロンプトを指定します。推奨: `"You are an assistant designed to generate high-quality images based on user prompts."` または `"You are an assistant designed to generate high-quality images with the highest degree of image-text alignment based on textual prompts."` * `--use_flash_attn` – Flash Attentionを使用します。`pip install flash-attn`でインストールが必要です(環境によってはサポートされていません)。正しくインストールされている場合は、指定すると学習が高速化されます。 +* `--use_sage_attn` – Sage Attentionを使用します。 +* `--sample_batch_size=` – サンプリングに使用するバッチサイズ。デフォルトは `--training_batch_size` の値です。サンプルバッチは、幅、高さ、ガイダンススケール、シードによってバケット化されます。 * `--sigmoid_scale=` – sigmoidタイムステップサンプリングのスケール係数を指定します。デフォルトは`1.0`です。 #### メモリ・速度関連 From c38b07d0da275eba395e1b25eabbdc5c0553b410 Mon Sep 17 00:00:00 2001 From: kohya-ss <52813779+kohya-ss@users.noreply.github.com> Date: Sun, 31 Aug 2025 21:39:47 +0900 Subject: [PATCH 664/748] doc: add validation loss documentation for model training --- README.md | 3 +- docs/validation.md | 261 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 263 insertions(+), 1 deletion(-) create mode 100644 docs/validation.md diff --git a/README.md b/README.md index 27356ed44..2ed53d5af 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,8 @@ Jul 21, 2025: - flux_train_network.md - sd3_train_network.md - lumina_train_network.md - + - validation.md + Jul 10, 2025: - [AI Coding Agents](#for-developers-using-ai-coding-agents) section is added to the README. This section provides instructions for developers using AI coding agents like Claude and Gemini to understand the project context and coding standards. diff --git a/docs/validation.md b/docs/validation.md new file mode 100644 index 000000000..7f6a008c2 --- /dev/null +++ b/docs/validation.md @@ -0,0 +1,261 @@ +# Validation Loss + +Validation loss is a crucial metric for monitoring the training process of a model. It helps you assess how well your model is generalizing to data it hasn't seen during training, which is essential for preventing overfitting. By periodically evaluating the model on a separate validation dataset, you can gain insights into its performance and make more informed decisions about when to stop training or adjust hyperparameters. + +This feature provides a stable and reliable validation loss metric by ensuring the validation process is deterministic. + +
+日本語 + +Validation loss(検証損失)は、モデルの学習過程を監視するための重要な指標です。モデルが学習中に見ていないデータに対してどの程度汎化できているかを評価するのに役立ち、過学習を防ぐために不可欠です。個別の検証データセットで定期的にモデルを評価することで、そのパフォーマンスに関する洞察を得て、学習をいつ停止するか、またはハイパーパラメータを調整するかについて、より多くの情報に基づいた決定を下すことができます。 + +この機能は、検証プロセスが決定論的であることを保証することにより、安定して信頼性の高い検証損失指標を提供します。 + +
+ +## How It Works + +When validation is enabled, a portion of your dataset is set aside specifically for this purpose. The script then runs a validation step at regular intervals, calculating the loss on this validation data. + +To ensure that the validation loss is a reliable indicator of model performance, the process is deterministic. This means that for every validation run, the same random seed is used for noise generation and timestep selection. This consistency ensures that any fluctuations in the validation loss are due to changes in the model's weights, not random variations in the validation process itself. + +The average loss across all validation steps is then logged, providing a single, clear metric to track. + +For more technical details, please refer to the original pull request: [PR #1903](https://github.com/kohya-ss/sd-scripts/pull/1903). + +
+日本語 + +検証が有効になると、データセットの一部がこの目的のために特別に確保されます。スクリプトは定期的な間隔で検証ステップを実行し、この検証データに対する損失を計算します。 + +検証損失がモデルのパフォーマンスの信頼できる指標であることを保証するために、プロセスは決定論的です。つまり、すべての検証実行で、ノイズ生成とタイムステップ選択に同じランダムシードが使用されます。この一貫性により、検証損失の変動が、検証プロセス自体のランダムな変動ではなく、モデルの重みの変化によるものであることが保証されます。 + +すべての検証ステップにわたる平均損失がログに記録され、追跡するための単一の明確な指標が提供されます。 + +より技術的な詳細については、元のプルリクエストを参照してください: [PR #1903](https://github.com/kohya-ss/sd-scripts/pull/1903). + +
+ +## How to Use + +### Enabling Validation + +There are two primary ways to enable validation: + +1. **Using a Dataset Config File (Recommended)**: You can specify a validation set directly within your dataset `.toml` file. This method offers the most control, allowing you to designate entire directories as validation sets or split a percentage of a specific subset for validation. + + To use a whole directory for validation, add a subset and set `validation_split = 1.0`. + + **Example: Separate Validation Set** + ```toml + [[datasets]] + # ... training subset ... + [[datasets.subsets]] + image_dir = "path/to/train_images" + # ... other settings ... + + # Validation subset + [[datasets.subsets]] + image_dir = "path/to/validation_images" + validation_split = 1.0 # Use this entire subset for validation + ``` + + To use a fraction of a subset for validation, set `validation_split` to a value between 0.0 and 1.0. + + **Example: Splitting a Subset** + ```toml + [[datasets]] + # ... dataset settings ... + [[datasets.subsets]] + image_dir = "path/to/images" + validation_split = 0.1 # Use 10% of this subset for validation + ``` + +2. **Using a Command-Line Argument**: For a simpler setup, you can use the `--validation_split` argument. This will take a random percentage of your *entire* training dataset for validation. This method is ignored if `validation_split` is defined in your dataset config file. + + **Example Command:** + ```bash + accelerate launch train_network.py ... --validation_split 0.1 + ``` + This command will use 10% of the total training data for validation. + +
+日本語 + +### 検証を有効にする + +検証を有効にする主な方法は2つあります。 + +1. **データセット設定ファイルを使用する(推奨)**: データセットの`.toml`ファイル内で直接検証セットを指定できます。この方法は最も制御性が高く、ディレクトリ全体を検証セットとして指定したり、特定のサブセットのパーセンテージを検証用に分割したりすることができます。 + + ディレクトリ全体を検証に使用するには、サブセットを追加して`validation_split = 1.0`と設定します。 + + **例:個別の検証セット** + ```toml + [[datasets]] + # ... training subset ... + [[datasets.subsets]] + image_dir = "path/to/train_images" + # ... other settings ... + + # Validation subset + [[datasets.subsets]] + image_dir = "path/to/validation_images" + validation_split = 1.0 # このサブセット全体を検証に使用します + ``` + + サブセットの一部を検証に使用するには、`validation_split`を0.0から1.0の間の値に設定します。 + + **例:サブセットの分割** + ```toml + [[datasets]] + # ... dataset settings ... + [[datasets.subsets]] + image_dir = "path/to/images" + validation_split = 0.1 # このサブセットの10%を検証に使用します + ``` + +2. **コマンドライン引数を使用する**: より簡単な設定のために、`--validation_split`引数を使用できます。これにより、*全*学習データセットのランダムなパーセンテージが検証に使用されます。この方法は、データセット設定ファイルで`validation_split`が定義されている場合は無視されます。 + + **コマンド例:** + ```bash + accelerate launch train_network.py ... --validation_split 0.1 + ``` + このコマンドは、全学習データの10%を検証に使用します。 + +
+ +### Configuration Options + +| Argument | TOML Option | Description | +| --------------------------- | ------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `--validation_split` | `validation_split` | The fraction of the dataset to use for validation. The command-line argument applies globally, while the TOML option applies per-subset. The TOML setting takes precedence. | +| `--validate_every_n_steps` | | Run validation every N steps. | +| `--validate_every_n_epochs` | | Run validation every N epochs. If not specified, validation runs once per epoch by default. | +| `--max_validation_steps` | | The maximum number of batches to use for a single validation run. If not set, the entire validation dataset is used. | +| `--validation_seed` | `validation_seed` | A specific seed for the validation dataloader shuffling. If not set in the TOML file, the main training `--seed` is used. | + +
+日本語 + +### 設定オプション + +| 引数 | TOMLオプション | 説明 | +| --------------------------- | ------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `--validation_split` | `validation_split` | 検証に使用するデータセットの割合。コマンドライン引数は全体に適用され、TOMLオプションはサブセットごとに適用されます。TOML設定が優先されます。 | +| `--validate_every_n_steps` | | Nステップごとに検証を実行します。 | +| `--validate_every_n_epochs` | | Nエポックごとに検証を実行します。指定しない場合、デフォルトでエポックごとに1回検証が実行されます。 | +| `--max_validation_steps` | | 1回の検証実行に使用するバッチの最大数。設定しない場合、検証データセット全体が使用されます。 | +| `--validation_seed` | `validation_seed` | 検証データローダーのシャッフル用の特定のシード。TOMLファイルで設定されていない場合、メインの学習`--seed`が使用されます。 | + +
+ +### Viewing the Results + +The validation loss is logged to your tracking tool of choice (TensorBoard or Weights & Biases). Look for the metric `loss/validation` to monitor the performance. + +
+日本語 + +### 結果の表示 + +検証損失は、選択した追跡ツール(TensorBoardまたはWeights & Biases)に記録されます。パフォーマンスを監視するには、`loss/validation`という指標を探してください。 + +
+ +### Practical Example + +Here is a complete example of how to run a LoRA training with validation enabled: + +**1. Prepare your `dataset_config.toml`:** + +```toml +[general] +shuffle_caption = true +keep_tokens = 1 + +[[datasets]] +resolution = "1024,1024" +batch_size = 2 + + [[datasets.subsets]] + image_dir = 'path/to/your_images' + caption_extension = '.txt' + num_repeats = 10 + + [[datasets.subsets]] + image_dir = 'path/to/your_validation_images' + caption_extension = '.txt' + validation_split = 1.0 # Use this entire subset for validation +``` + +**2. Run the training command:** + +```bash +accelerate launch sdxl_train_network.py \ + --pretrained_model_name_or_path="sd_xl_base_1.0.safetensors" \ + --dataset_config="dataset_config.toml" \ + --output_dir="output" \ + --output_name="my_lora" \ + --network_module=networks.lora \ + --network_dim=32 \ + --network_alpha=16 \ + --save_every_n_epochs=1 \ + --learning_rate=1e-4 \ + --optimizer_type="AdamW8bit" \ + --mixed_precision="bf16" \ + --logging_dir=logs +``` + +The validation loss will be calculated once per epoch and saved to the `logs` directory, which you can view with TensorBoard. + +
+日本語 + +### 実践的な例 + +検証を有効にしてLoRAの学習を実行する完全な例を次に示します。 + +**1. `dataset_config.toml`を準備します:** + +```toml +[general] +shuffle_caption = true +keep_tokens = 1 + +[[datasets]] +resolution = "1024,1024" +batch_size = 2 + + [[datasets.subsets]] + image_dir = 'path/to/your_images' + caption_extension = '.txt' + num_repeats = 10 + + [[datasets.subsets]] + image_dir = 'path/to/your_validation_images' + caption_extension = '.txt' + validation_split = 1.0 # このサブセット全体を検証に使用します +``` + +**2. 学習コマンドを実行します:** + +```bash +accelerate launch sdxl_train_network.py \ + --pretrained_model_name_or_path="sd_xl_base_1.0.safetensors" \ + --dataset_config="dataset_config.toml" \ + --output_dir="output" \ + --output_name="my_lora" \ + --network_module=networks.lora \ + --network_dim=32 \ + --network_alpha=16 \ + --save_every_n_epochs=1 \ + --learning_rate=1e-4 \ + --optimizer_type="AdamW8bit" \ + --mixed_precision="bf16" \ + --logging_dir=logs +``` + +検証損失はエポックごとに1回計算され、`logs`ディレクトリに保存されます。これはTensorBoardで表示できます。 + +
From 142d0be180524c3c7d5a021c687d8d75dbff2dc0 Mon Sep 17 00:00:00 2001 From: kohya-ss <52813779+kohya-ss@users.noreply.github.com> Date: Mon, 1 Sep 2025 12:36:51 +0900 Subject: [PATCH 665/748] doc: add comprehensive fine-tuning guide for various model architectures --- docs/fine_tune.md | 347 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 347 insertions(+) create mode 100644 docs/fine_tune.md diff --git a/docs/fine_tune.md b/docs/fine_tune.md new file mode 100644 index 000000000..1560fb28a --- /dev/null +++ b/docs/fine_tune.md @@ -0,0 +1,347 @@ +# Fine-tuning Guide + +This document explains how to perform fine-tuning on various model architectures using the `*_train.py` scripts. + +
+日本語 + +# Fine-tuning ガイド + +このドキュメントでは、`*_train.py` スクリプトを用いた、各種モデルアーキテクチャのFine-tuningの方法について解説します。 + +
+ +### Difference between Fine-tuning and LoRA tuning + +This repository supports two methods for additional model training: **Fine-tuning** and **LoRA (Low-Rank Adaptation)**. Each method has distinct features and advantages. + +**Fine-tuning** is a method that retrains all (or most) of the weights of a pre-trained model. +- **Pros**: It can improve the overall expressive power of the model and is suitable for learning styles or concepts that differ significantly from the original model. +- **Cons**: + - It requires a large amount of VRAM and computational cost. + - The saved file size is large (same as the original model). + - It is prone to "overfitting," where the model loses the diversity of the original model if over-trained. +- **Corresponding scripts**: Scripts named `*_train.py`, such as `sdxl_train.py`, `sd3_train.py`, `flux_train.py`, and `lumina_train.py`. + +**LoRA tuning** is a method that freezes the model's weights and only trains a small additional network called an "adapter." +- **Pros**: + - It allows for fast training with low VRAM and computational cost. + - It is considered resistant to overfitting because it trains fewer weights. + - The saved file (LoRA network) is very small, ranging from tens to hundreds of MB, making it easy to manage. + - Multiple LoRAs can be used in combination. +- **Cons**: Since it does not train the entire model, it may not achieve changes as significant as fine-tuning. +- **Corresponding scripts**: Scripts named `*_train_network.py`, such as `sdxl_train_network.py`, `sd3_train_network.py`, and `flux_train_network.py`. + +| Feature | Fine-tuning | LoRA tuning | +|:---|:---|:---| +| **Training Target** | All model weights | Additional network (adapter) only | +| **VRAM/Compute Cost**| High | Low | +| **Training Time** | Long | Short | +| **File Size** | Large (several GB) | Small (few MB to hundreds of MB) | +| **Overfitting Risk** | High | Low | +| **Suitable Use Case** | Major style changes, concept learning | Adding specific characters or styles | + +Generally, it is recommended to start with **LoRA tuning** if you want to add a specific character or style. **Fine-tuning** is a valid option for more fundamental style changes or aiming for a high-quality model. + +
+日本語 + +### Fine-tuningとLoRA学習の違い + +このリポジトリでは、モデルの追加学習手法として**Fine-tuning**と**LoRA (Low-Rank Adaptation)**学習の2種類をサポートしています。それぞれの手法には異なる特徴と利点があります。 + +**Fine-tuning**は、事前学習済みモデルの重み全体(または大部分)を再学習する手法です。 +- **利点**: モデル全体の表現力を向上させることができ、元のモデルから大きく変化した画風やコンセプトの学習に適しています。 +- **欠点**: + - 学習には多くのVRAMと計算コストが必要です。 + - 保存されるファイルサイズが大きくなります(元のモデルと同じサイズ)。 + - 学習させすぎると、元のモデルが持っていた多様性が失われる「過学習(overfitting)」に陥りやすい傾向があります。 +- **対応スクリプト**: `sdxl_train.py`, `sd3_train.py`, `flux_train.py`, `lumina_train.py` など、`*_train.py` という命名規則のスクリプトが対応します。 + +**LoRA学習**は、モデルの重みは凍結(固定)したまま、「アダプター」と呼ばれる小さな追加ネットワークのみを学習する手法です。 +- **利点**: + - 少ないVRAMと計算コストで高速に学習できます。 + - 学習する重みが少ないため、過学習に強いとされています。 + - 保存されるファイル(LoRAネットワーク)は数十〜数百MBと非常に小さく、管理が容易です。 + - 複数のLoRAを組み合わせて使用することも可能です。 +- **欠点**: モデル全体を学習するわけではないため、Fine-tuningほどの大きな変化は期待できない場合があります。 +- **対応スクリプト**: `sdxl_train_network.py`, `sd3_train_network.py`, `flux_train_network.py` など、`*_train_network.py` という命名規則のスクリプトが対応します。 + +| 特徴 | Fine-tuning | LoRA学習 | +|:---|:---|:---| +| **学習対象** | モデルの全重み | 追加ネットワーク(アダプター)のみ | +| **VRAM/計算コスト**| 大 | 小 | +| **学習時間** | 長 | 短 | +| **ファイルサイズ** | 大(数GB) | 小(数MB〜数百MB) | +| **過学習リスク** | 高 | 低 | +| **適した用途** | 大規模な画風変更、コンセプト学習 | 特定のキャラ、画風の追加学習 | + +一般的に、特定のキャラクターや画風を追加したい場合は**LoRA学習**から試すことが推奨されます。より根本的な画風の変更や、高品質なモデルを目指す場合は**Fine-tuning**が有効な選択肢となります。 + +
+ +--- + +### Fine-tuning for each architecture + +Fine-tuning updates the entire weights of the model, so it has different options and considerations than LoRA tuning. This section describes the fine-tuning scripts for major architectures. + +The basic command structure is common to all architectures. + +```bash +accelerate launch --mixed_precision bf16 {script_name}.py \ + --pretrained_model_name_or_path \ + --dataset_config \ + --output_dir \ + --output_name \ + --save_model_as safetensors \ + --max_train_steps 10000 \ + --learning_rate 1e-5 \ + --optimizer_type AdamW8bit +``` + +
+日本語 + +### 各アーキテクチャのFine-tuning + +Fine-tuningはモデルの重み全体を更新するため、LoRA学習とは異なるオプションや考慮事項があります。ここでは主要なアーキテクチャごとのFine-tuningスクリプトについて説明します。 + +基本的なコマンドの構造は、どのアーキテクチャでも共通です。 + +```bash +accelerate launch --mixed_precision bf16 {script_name}.py \ + --pretrained_model_name_or_path \ + --dataset_config \ + --output_dir \ + --output_name \ + --save_model_as safetensors \ + --max_train_steps 10000 \ + --learning_rate 1e-5 \ + --optimizer_type AdamW8bit +``` + +
+ +#### SDXL (`sdxl_train.py`) + +Performs fine-tuning for SDXL models. It is possible to train both the U-Net and the Text Encoders. + +**Key Options:** + +- `--train_text_encoder`: Includes the weights of the Text Encoders (CLIP ViT-L and OpenCLIP ViT-bigG) in the training. Effective for significant style changes or strongly learning specific concepts. +- `--learning_rate_te1`, `--learning_rate_te2`: Set individual learning rates for each Text Encoder. +- `--block_lr`: Divides the U-Net into 23 blocks and sets a different learning rate for each block. This allows for advanced adjustments, such as strengthening or weakening the learning of specific layers. (Not available in LoRA tuning). + +**Command Example:** + +```bash +accelerate launch --mixed_precision bf16 sdxl_train.py \ + --pretrained_model_name_or_path "sd_xl_base_1.0.safetensors" \ + --dataset_config "dataset_config.toml" \ + --output_dir "output" \ + --output_name "sdxl_finetuned" \ + --train_text_encoder \ + --learning_rate 1e-5 \ + --learning_rate_te1 5e-6 \ + --learning_rate_te2 2e-6 +``` + +
+日本語 + +#### SDXL (`sdxl_train.py`) + +SDXLモデルのFine-tuningを行います。U-NetとText Encoderの両方を学習させることが可能です。 + +**主要なオプション:** + +- `--train_text_encoder`: Text Encoder(CLIP ViT-LとOpenCLIP ViT-bigG)の重みを学習対象に含めます。画風を大きく変えたい場合や、特定の概念を強く学習させたい場合に有効です。 +- `--learning_rate_te1`, `--learning_rate_te2`: それぞれのText Encoderに個別の学習率を設定します。 +- `--block_lr`: U-Netを23個のブロックに分割し、ブロックごとに異なる学習率を設定できます。特定の層の学習を強めたり弱めたりする高度な調整が可能です。(LoRA学習では利用できません) + +**コマンド例:** + +```bash +accelerate launch --mixed_precision bf16 sdxl_train.py \ + --pretrained_model_name_or_path "sd_xl_base_1.0.safetensors" \ + --dataset_config "dataset_config.toml" \ + --output_dir "output" \ + --output_name "sdxl_finetuned" \ + --train_text_encoder \ + --learning_rate 1e-5 \ + --learning_rate_te1 5e-6 \ + --learning_rate_te2 2e-6 +``` + +
+ +#### SD3 (`sd3_train.py`) + +Performs fine-tuning for Stable Diffusion 3 Medium models. SD3 consists of three Text Encoders (CLIP-L, CLIP-G, T5-XXL) and a MMDiT (equivalent to U-Net), which can be targeted for training. + +**Key Options:** + +- `--train_text_encoder`: Enables training for CLIP-L and CLIP-G. +- `--train_t5xxl`: Enables training for T5-XXL. T5-XXL is a very large model and requires a lot of VRAM for training. +- `--blocks_to_swap`: A memory optimization feature to reduce VRAM usage. It swaps some blocks of the MMDiT to CPU memory during training. Useful for using larger batch sizes in low VRAM environments. (Also available in LoRA tuning). +- `--num_last_block_to_freeze`: Freezes the weights of the last N blocks of the MMDiT, excluding them from training. Useful for maintaining model stability while focusing on learning in the lower layers. + +**Command Example:** + +```bash +accelerate launch --mixed_precision bf16 sd3_train.py \ + --pretrained_model_name_or_path "sd3_medium.safetensors" \ + --dataset_config "dataset_config.toml" \ + --output_dir "output" \ + --output_name "sd3_finetuned" \ + --train_text_encoder \ + --learning_rate 4e-6 \ + --blocks_to_swap 10 +``` + +
+日本語 + +#### SD3 (`sd3_train.py`) + +Stable Diffusion 3 MediumモデルのFine-tuningを行います。SD3は3つのText Encoder(CLIP-L, CLIP-G, T5-XXL)とMMDiT(U-Netに相当)で構成されており、これらを学習対象にできます。 + +**主要なオプション:** + +- `--train_text_encoder`: CLIP-LとCLIP-Gの学習を有効にします。 +- `--train_t5xxl`: T5-XXLの学習を有効にします。T5-XXLは非常に大きなモデルのため、学習には多くのVRAMが必要です。 +- `--blocks_to_swap`: VRAM使用量を削減するためのメモリ最適化機能です。MMDiTの一部のブロックを学習中にCPUメモリに退避(スワップ)させます。VRAMが少ない環境で大きなバッチサイズを使いたい場合に有効です。(LoRA学習でも利用可能) +- `--num_last_block_to_freeze`: MMDiTの最後のNブロックの重みを凍結し、学習対象から除外します。モデルの安定性を保ちつつ、下位層を中心に学習させたい場合に有効です。 + +**コマンド例:** + +```bash +accelerate launch --mixed_precision bf16 sd3_train.py \ + --pretrained_model_name_or_path "sd3_medium.safetensors" \ + --dataset_config "dataset_config.toml" \ + --output_dir "output" \ + --output_name "sd3_finetuned" \ + --train_text_encoder \ + --learning_rate 4e-6 \ + --blocks_to_swap 10 +``` + +
+ +#### FLUX.1 (`flux_train.py`) + +Performs fine-tuning for FLUX.1 models. FLUX.1 is internally composed of two Transformer blocks (Double Blocks, Single Blocks). + +**Key Options:** + +- `--blocks_to_swap`: Similar to SD3, this feature swaps Transformer blocks to the CPU for memory optimization. +- `--blockwise_fused_optimizers`: An experimental feature that aims to streamline training by applying individual optimizers to each block. + +**Command Example:** + +```bash +accelerate launch --mixed_precision bf16 flux_train.py \ + --pretrained_model_name_or_path "FLUX.1-dev.safetensors" \ + --dataset_config "dataset_config.toml" \ + --output_dir "output" \ + --output_name "flux1_finetuned" \ + --learning_rate 1e-5 \ + --blocks_to_swap 18 +``` + +
+日本語 + +#### FLUX.1 (`flux_train.py`) + +FLUX.1モデルのFine-tuningを行います。FLUX.1は内部的に2つのTransformerブロック(Double Blocks, Single Blocks)で構成されています。 + +**主要なオプション:** + +- `--blocks_to_swap`: SD3と同様に、メモリ最適化のためにTransformerブロックをCPUにスワップする機能です。 +- `--blockwise_fused_optimizers`: 実験的な機能で、各ブロックに個別のオプティマイザを適用し、学習を効率化することを目指します。 + +**コマンド例:** + +```bash +accelerate launch --mixed_precision bf16 flux_train.py \ + --pretrained_model_name_or_path "FLUX.1-dev.safetensors" \ + --dataset_config "dataset_config.toml" \ + --output_dir "output" \ + --output_name "flux1_finetuned" \ + --learning_rate 1e-5 \ + --blocks_to_swap 18 +``` + +
+ +#### Lumina (`lumina_train.py`) + +Performs fine-tuning for Lumina-Next DiT models. + +**Key Options:** + +- `--use_flash_attn`: Enables Flash Attention to speed up computation. +- `lumina_train.py` is relatively new, and many of its options are shared with other scripts. Training can be performed following the basic command pattern. + +**Command Example:** + +```bash +accelerate launch --mixed_precision bf16 lumina_train.py \ + --pretrained_model_name_or_path "Lumina-Next-DiT-B.safetensors" \ + --dataset_config "dataset_config.toml" \ + --output_dir "output" \ + --output_name "lumina_finetuned" \ + --learning_rate 1e-5 +``` + +
+日本語 + +#### Lumina (`lumina_train.py`) + +Lumina-Next DiTモデルのFine-tuningを行います。 + +**主要なオプション:** + +- `--use_flash_attn`: Flash Attentionを有効にし、計算を高速化します。 +- `lumina_train.py`は比較的新しく、オプションは他のスクリプトと共通化されている部分が多いです。基本的なコマンドパターンに従って学習を行えます。 + +**コマンド例:** + +```bash +accelerate launch --mixed_precision bf16 lumina_train.py \ + --pretrained_model_name_or_path "Lumina-Next-DiT-B.safetensors" \ + --dataset_config "dataset_config.toml" \ + --output_dir "output" \ + --output_name "lumina_finetuned" \ + --learning_rate 1e-5 +``` + +
+ +--- + +### Differences between Fine-tuning and LoRA tuning per architecture + +| Architecture | Key Features/Options Specific to Fine-tuning | Main Differences from LoRA tuning | +|:---|:---|:---| +| **SDXL** | `--block_lr` | Only fine-tuning allows for granular control over the learning rate for each U-Net block. | +| **SD3** | `--train_text_encoder`, `--train_t5xxl`, `--num_last_block_to_freeze` | Only fine-tuning can train the entire Text Encoders. LoRA only trains the adapter parts. | +| **FLUX.1** | `--blockwise_fused_optimizers` | Since fine-tuning updates the entire model's weights, more experimental optimizer options are available. | +| **Lumina** | (Few specific options) | Basic training options are common, but fine-tuning differs in that it updates the entire model's foundation. | + +
+日本語 + +### アーキテクチャごとのFine-tuningとLoRA学習の違い + +| アーキテクチャ | Fine-tuning特有の主要機能・オプション | LoRA学習との主な違い | +|:---|:---|:---| +| **SDXL** | `--block_lr` | U-Netのブロックごとに学習率を細かく制御できるのはFine-tuningのみです。 | +| **SD3** | `--train_text_encoder`, `--train_t5xxl`, `--num_last_block_to_freeze` | Text Encoder全体を学習対象にできるのはFine-tuningです。LoRAではアダプター部分のみ学習します。 | +| **FLUX.1** | `--blockwise_fused_optimizers` | Fine-tuningではモデル全体の重みを更新するため、より実験的なオプティマイザの選択肢が用意されています。 | +| **Lumina** | (特有のオプションは少ない) | 基本的な学習オプションは共通ですが、Fine-tuningはモデルの基盤全体を更新する点で異なります。 | + +
From 9984868154ef6d90fdf1dd6ba29bf7a037b0acb4 Mon Sep 17 00:00:00 2001 From: kohya-ss <52813779+kohya-ss@users.noreply.github.com> Date: Mon, 1 Sep 2025 21:32:24 +0900 Subject: [PATCH 666/748] doc: update README to include support for SDXL models and additional command-line options for gen_img.py --- docs/gen_img_README-ja.md | 102 ++++++++++++++++++++++++++++++++++++-- docs/gen_img_README.md | 54 +++++++++++++++++--- 2 files changed, 144 insertions(+), 12 deletions(-) diff --git a/docs/gen_img_README-ja.md b/docs/gen_img_README-ja.md index 8f4442d00..ca2eeab2a 100644 --- a/docs/gen_img_README-ja.md +++ b/docs/gen_img_README-ja.md @@ -3,7 +3,7 @@ SD 1.xおよび2.xのモデル、当リポジトリで学習したLoRA、Control # 概要 * Diffusers (v0.10.2) ベースの推論(画像生成)スクリプト。 -* SD 1.xおよび2.x (base/v-parameterization)モデルに対応。 +* SD 1.x、2.x (base/v-parameterization)、およびSDXLモデルに対応。 * txt2img、img2img、inpaintingに対応。 * 対話モード、およびファイルからのプロンプト読み込み、連続生成に対応。 * プロンプト1行あたりの生成枚数を指定可能。 @@ -96,14 +96,20 @@ python gen_img_diffusers.py --ckpt <モデル名> --outdir <画像出力先> - `--ckpt <モデル名>`:モデル名を指定します。`--ckpt`オプションは必須です。Stable Diffusionのcheckpointファイル、またはDiffusersのモデルフォルダ、Hugging FaceのモデルIDを指定できます。 +- `--v1`:Stable Diffusion 1.x系のモデルを使う場合に指定します。これがデフォルトの動作です。 + - `--v2`:Stable Diffusion 2.x系のモデルを使う場合に指定します。1.x系の場合には指定不要です。 +- `--sdxl`:Stable Diffusion XLモデルを使う場合に指定します。 + - `--v_parameterization`:v-parameterizationを使うモデルを使う場合に指定します(`768-v-ema.ckpt`およびそこからの追加学習モデル、Waifu Diffusion v1.5など)。 - `--v2`の指定有無が間違っているとモデル読み込み時にエラーになります。`--v_parameterization`の指定有無が間違っていると茶色い画像が表示されます。 + `--v2`や`--sdxl`の指定有無が間違っているとモデル読み込み時にエラーになります。`--v_parameterization`の指定有無が間違っていると茶色い画像が表示されます。 - `--vae`:使用するVAEを指定します。未指定時はモデル内のVAEを使用します。 +- `--tokenizer_cache_dir`:トークナイザーのキャッシュディレクトリを指定します(オフライン利用のため)。 + ## 画像生成と出力 - `--interactive`:インタラクティブモードで動作します。プロンプトを入力すると画像が生成されます。 @@ -112,6 +118,10 @@ python gen_img_diffusers.py --ckpt <モデル名> --outdir <画像出力先> - `--from_file <プロンプトファイル名>`:プロンプトが記述されたファイルを指定します。1行1プロンプトで記述してください。なお画像サイズやguidance scaleはプロンプトオプション(後述)で指定できます。 +- `--from_module <モジュールファイル>`:Pythonモジュールからプロンプトを読み込みます。モジュールは`get_prompter(args, pipe, networks)`関数を実装している必要があります。 + +- `--prompter_module_args`:prompterモジュールに渡す追加の引数を指定します。 + - `--W <画像幅>`:画像の幅を指定します。デフォルトは`512`です。 - `--H <画像高さ>`:画像の高さを指定します。デフォルトは`512`です。 @@ -132,6 +142,24 @@ python gen_img_diffusers.py --ckpt <モデル名> --outdir <画像出力先> - `--negative_scale` : uncoditioningのguidance scaleを個別に指定します。[gcem156氏のこちらの記事](https://note.com/gcem156/n/ne9a53e4a6f43)を参考に実装したものです。 +- `--emb_normalize_mode`:embedding正規化モードを指定します。"original"(デフォルト)、"abs"、"none"から選択できます。プロンプトの重みの正規化方法に影響します。 + +## SDXL固有のオプション + +SDXL モデル(`--sdxl`フラグ付き)を使用する場合、追加のコンディショニングオプションが利用できます: + +- `--original_height`:SDXL コンディショニング用の元の高さを指定します。これはモデルの対象解像度の理解に影響します。 + +- `--original_width`:SDXL コンディショニング用の元の幅を指定します。これはモデルの対象解像度の理解に影響します。 + +- `--original_height_negative`:SDXL ネガティブコンディショニング用の元の高さを指定します。 + +- `--original_width_negative`:SDXL ネガティブコンディショニング用の元の幅を指定します。 + +- `--crop_top`:SDXL コンディショニング用のクロップ上オフセットを指定します。 + +- `--crop_left`:SDXL コンディショニング用のクロップ左オフセットを指定します。 + ## メモリ使用量や生成速度の調整 - `--batch_size <バッチサイズ>`:バッチサイズを指定します。デフォルトは`1`です。バッチサイズが大きいとメモリを多く消費しますが、生成速度が速くなります。 @@ -139,8 +167,16 @@ python gen_img_diffusers.py --ckpt <モデル名> --outdir <画像出力先> - `--vae_batch_size `:VAEのバッチサイズを指定します。デフォルトはバッチサイズと同じです。 VAEのほうがメモリを多く消費するため、デノイジング後(stepが100%になった後)でメモリ不足になる場合があります。このような場合にはVAEのバッチサイズを小さくしてください。 +- `--vae_slices <スライス数>`:VAE処理時に画像をスライスに分割してVRAM使用量を削減します。None(デフォルト)で分割なし。16や32のような値が推奨されます。有効にすると処理が遅くなりますが、VRAM使用量が少なくなります。 + +- `--no_half_vae`:VAE処理でfp16/bf16精度の使用を防ぎます。代わりにfp32を使用します。VAE関連の問題やアーティファクトが発生した場合に使用してください。 + - `--xformers`:xformersを使う場合に指定します。 +- `--sdpa`:最適化のためにPyTorch 2のscaled dot-product attentionを使用します。 + +- `--diffusers_xformers`:Diffusers経由でxformersを使用します(注:Hypernetworksと互換性がありません)。 + - `--fp16`:fp16(単精度)での推論を行います。`fp16`と`bf16`をどちらも指定しない場合はfp32(単精度)での推論を行います。 - `--bf16`:bf16(bfloat16)での推論を行います。RTX 30系のGPUでのみ指定可能です。`--bf16`オプションはRTX 30系以外のGPUではエラーになります。`fp16`よりも`bf16`のほうが推論結果がNaNになる(真っ黒の画像になる)可能性が低いようです。 @@ -157,6 +193,12 @@ python gen_img_diffusers.py --ckpt <モデル名> --outdir <画像出力先> - `--network_pre_calc`:使用する追加ネットワークの重みを生成ごとにあらかじめ計算します。プロンプトオプションの`--am`が使用できます。LoRA未使用時と同じ程度まで生成は高速化されますが、生成前に重みを計算する時間が必要で、またメモリ使用量も若干増加します。Regional LoRA使用時は無効になります 。 +- `--network_regional_mask_max_color_codes`:リージョナルマスクに使用する色コードの最大数を指定します。指定されていない場合、マスクはチャンネルごとに適用されます。Regional LoRAと組み合わせて、マスク内の色で定義できるリージョン数を制御するために使用されます。 + +- `--network_args`:key=value形式でネットワークモジュールに渡す追加引数を指定します。例: `--network_args "alpha=1.0,dropout=0.1"`。 + +- `--network_merge_n_models`:ネットワークマージを使用する場合、マージするモデル数を指定します(全ての読み込み済みネットワークをマージする代わりに)。 + # 主なオプションの指定例 次は同一プロンプトで64枚をバッチサイズ4で一括生成する例です。 @@ -235,7 +277,9 @@ python gen_img_diffusers.py --ckpt model.safetensors - `--sequential_file_name`:ファイル名を連番にするかどうかを指定します。指定すると生成されるファイル名が`im_000001.png`からの連番になります。 -- `--use_original_file_name`:指定すると生成ファイル名がオリジナルのファイル名と同じになります。 +- `--use_original_file_name`:指定すると生成ファイル名がオリジナルのファイル名の前に追加されます(img2imgモード用)。 + +- `--clip_vision_strength`:指定した強度でimg2img用のCLIP Vision Conditioningを有効にします。CLIP Visionモデルを使用して入力画像からのコンディショニングを強化します。 ## コマンドラインからの実行例 @@ -306,7 +350,9 @@ img2imgと併用できません。 - `--highres_fix_upscaler`:2nd stageに任意のupscalerを利用します。現在は`--highres_fix_upscaler tools.latent_upscaler` のみ対応しています。 - `--highres_fix_upscaler_args`:`--highres_fix_upscaler`で指定したupscalerに渡す引数を指定します。 - `tools.latent_upscaler`の場合は、`--highres_fix_upscaler_args "weights=D:\Work\SD\Models\others\etc\upscaler-v1-e100-220.safetensors"`のように重みファイルを指定します。 + `tools.latent_upscaler`の場合は、`--highres_fix_upscaler_args "weights=D:\Work\SD\Models\others\etc\upscaler-v1-e100-220.safetensors"`のように重みファイルを指定します。 + +- `--highres_fix_disable_control_net`:Highres fixの2nd stageでControlNetを無効にします。デフォルトでは、ControlNetは両ステージで使用されます。 コマンドラインの例です。 @@ -319,6 +365,34 @@ python gen_img_diffusers.py --ckpt trinart_characters_it4_v1_vae_merged.ckpt --highres_fix_scale 0.5 --highres_fix_steps 28 --strength 0.5 ``` +## Deep Shrink + +Deep Shrinkは、異なるタイムステップで異なる深度のUNetを使用して生成プロセスを最適化する技術です。生成品質と効率を向上させることができます。 + +以下のオプションがあります: + +- `--ds_depth_1`:第1フェーズでこの深度のDeep Shrinkを有効にします。有効な値は0から8です。 + +- `--ds_timesteps_1`:このタイムステップまでDeep Shrink深度1を適用します。デフォルトは650です。 + +- `--ds_depth_2`:Deep Shrinkの第2フェーズの深度を指定します。 + +- `--ds_timesteps_2`:このタイムステップまでDeep Shrink深度2を適用します。デフォルトは650です。 + +- `--ds_ratio`:Deep Shrinkでのダウンサンプリングの比率を指定します。デフォルトは0.5です。 + +これらのパラメータはプロンプトオプションでも指定できます: + +- `--dsd1`:プロンプトからDeep Shrink深度1を指定します。 + +- `--dst1`:プロンプトからDeep Shrinkタイムステップ1を指定します。 + +- `--dsd2`:プロンプトからDeep Shrink深度2を指定します。 + +- `--dst2`:プロンプトからDeep Shrinkタイムステップ2を指定します。 + +- `--dsr`:プロンプトからDeep Shrink比率を指定します。 + ## ControlNet 現在はControlNet 1.0のみ動作確認しています。プリプロセスはCannyのみサポートしています。 @@ -346,6 +420,20 @@ python gen_img_diffusers.py --ckpt model_ckpt --scale 8 --steps 48 --outdir txt2 --guide_image_path guide.png --control_net_ratios 1.0 --interactive ``` +## ControlNet-LLLite + +ControlNet-LLLiteは、類似の誘導目的に使用できるControlNetの軽量な代替手段です。 + +以下のオプションがあります: + +- `--control_net_lllite_models`:ControlNet-LLLiteモデルファイルを指定します。 + +- `--control_net_multipliers`:ControlNet-LLLiteの倍率を指定します(重みに類似)。 + +- `--control_net_ratios`:ControlNet-LLLiteを適用するステップの比率を指定します。 + +注意:ControlNetとControlNet-LLLiteは同時に使用できません。 + ## Attention Couple + Reginal LoRA プロンプトをいくつかの部分に分割し、それぞれのプロンプトを画像内のどの領域に適用するかを指定できる機能です。個別のオプションはありませんが、`mask_path`とプロンプトで指定します。 @@ -450,7 +538,9 @@ python gen_img_diffusers.py --ckpt wd-v1-3-full-pruned-half.ckpt - `--opt_channels_last` : 推論時にテンソルのチャンネルを最後に配置します。場合によっては高速化されることがあります。 -- `--network_show_meta` : 追加ネットワークのメタデータを表示します。 +- `--shuffle_prompts`:繰り返し時にプロンプトの順序をシャッフルします。`--from_file`で複数のプロンプトを使用する場合に便利です。 + +- `--network_show_meta`:追加ネットワークのメタデータを表示します。 --- @@ -478,6 +568,8 @@ latentのサイズを徐々に大きくしていくHires fixです。`gen_img.py - `--gradual_latent_ratio` : latentの初期サイズを指定します。デフォルトは 0.5 で、デフォルトの latent サイズの半分のサイズから始めます。 - `--gradual_latent_ratio_step`: latentのサイズを大きくする割合を指定します。デフォルトは 0.125 で、latentのサイズを 0.625, 0.75, 0.875, 1.0 と徐々に大きくします。 - `--gradual_latent_ratio_every_n_steps`: latentのサイズを大きくする間隔を指定します。デフォルトは 3 で、3ステップごとに latent のサイズを大きくします。 +- `--gradual_latent_s_noise`:Gradual LatentのS_noiseパラメータを指定します。デフォルトは1.0です。 +- `--gradual_latent_unsharp_params`:Gradual Latentのアンシャープマスクパラメータをksize,sigma,strength,target-x形式で指定します(target-x: 1=True, 0=False)。推奨値:`3,0.5,0.5,1`または`3,1.0,1.0,0`。 それぞれのオプションは、プロンプトオプション、`--glt`、`--glr`、`--gls`、`--gle` でも指定できます。 diff --git a/docs/gen_img_README.md b/docs/gen_img_README.md index fd4a82905..4723518cc 100644 --- a/docs/gen_img_README.md +++ b/docs/gen_img_README.md @@ -4,7 +4,7 @@ This is an inference (image generation) script that supports SD 1.x and 2.x mode # Overview * Inference (image generation) script. -* Supports SD 1.x and 2.x (base/v-parameterization) models. +* Supports SD 1.x, 2.x (base/v-parameterization), and SDXL models. * Supports txt2img, img2img, and inpainting. * Supports interactive mode, prompt reading from files, and continuous generation. * The number of images generated per prompt line can be specified. @@ -13,7 +13,7 @@ This is an inference (image generation) script that supports SD 1.x and 2.x mode * Supports xformers for high-speed generation. * Although xformers are used for memory-saving generation, it is not as optimized as Automatic 1111's Web UI, so it uses about 6GB of VRAM for 512*512 image generation. * Extension of prompts to 225 tokens. Supports negative prompts and weighting. -* Supports various samplers from Diffusers (fewer samplers than Web UI). +* Supports various samplers from Diffusers including ddim, pndm, lms, euler, euler_a, heun, dpm_2, dpm_2_a, dpmsolver, dpmsolver++, dpmsingle. * Supports clip skip (uses the output of the nth layer from the end) of Text Encoder. * Separate loading of VAE. * Supports CLIP Guided Stable Diffusion, VGG16 Guided Stable Diffusion, Highres. fix, and upscale. @@ -100,14 +100,20 @@ Specify from the command line. - `--ckpt `: Specifies the model name. The `--ckpt` option is mandatory. You can specify a Stable Diffusion checkpoint file, a Diffusers model folder, or a Hugging Face model ID. +- `--v1`: Specify when using Stable Diffusion 1.x series models. This is the default behavior. + - `--v2`: Specify when using Stable Diffusion 2.x series models. Not required for 1.x series. +- `--sdxl`: Specify when using Stable Diffusion XL models. + - `--v_parameterization`: Specify when using models that use v-parameterization (`768-v-ema.ckpt` and models with additional training from it, Waifu Diffusion v1.5, etc.). - If the `--v2` specification is incorrect, an error will occur when loading the model. If the `--v_parameterization` specification is incorrect, a brown image will be displayed. + If the `--v2` or `--sdxl` specification is incorrect, an error will occur when loading the model. If the `--v_parameterization` specification is incorrect, a brown image will be displayed. - `--vae`: Specifies the VAE to use. If not specified, the VAE in the model will be used. +- `--tokenizer_cache_dir`: Specifies the cache directory for the tokenizer (for offline usage). + ## Image Generation and Output - `--interactive`: Operates in interactive mode. Images are generated when prompts are entered. @@ -118,6 +124,8 @@ Specify from the command line. - `--from_module `: Loads prompts from a Python module. The module should implement a `get_prompter(args, pipe, networks)` function. +- `--prompter_module_args`: Specifies additional arguments to pass to the prompter module. + - `--W `: Specifies the width of the image. The default is `512`. - `--H `: Specifies the height of the image. The default is `512`. @@ -126,7 +134,7 @@ Specify from the command line. - `--scale `: Specifies the unconditional guidance scale. The default is `7.5`. -- `--sampler `: Specifies the sampler. The default is `ddim`. ddim, pndm, dpmsolver, dpmsolver+++, lms, euler, euler_a provided by Diffusers can be specified (the last three can also be specified as k_lms, k_euler, k_euler_a). +- `--sampler `: Specifies the sampler. The default is `ddim`. The following samplers are supported: ddim, pndm, lms, euler, euler_a, heun, dpm_2, dpm_2_a, dpmsolver, dpmsolver++, dpmsingle. Some can also be specified with k_ prefix (k_lms, k_euler, k_euler_a, k_dpm_2, k_dpm_2_a). - `--outdir `: Specifies the output destination for images. @@ -140,6 +148,22 @@ Specify from the command line. - `--emb_normalize_mode`: Specifies the embedding normalization mode. Options are "original" (default), "abs", and "none". This affects how prompt weights are normalized. +## SDXL-Specific Options + +When using SDXL models (with `--sdxl` flag), additional conditioning options are available: + +- `--original_height`: Specifies the original height for SDXL conditioning. This affects the model's understanding of the target resolution. + +- `--original_width`: Specifies the original width for SDXL conditioning. This affects the model's understanding of the target resolution. + +- `--original_height_negative`: Specifies the original height for SDXL negative conditioning. + +- `--original_width_negative`: Specifies the original width for SDXL negative conditioning. + +- `--crop_top`: Specifies the crop top offset for SDXL conditioning. + +- `--crop_left`: Specifies the crop left offset for SDXL conditioning. + ## Adjusting Memory Usage and Generation Speed - `--batch_size `: Specifies the batch size. The default is `1`. A larger batch size consumes more memory but speeds up generation. @@ -149,12 +173,14 @@ Specify from the command line. - `--vae_slices `: Splits the image into slices for VAE processing to reduce VRAM usage. None (default) for no splitting. Values like 16 or 32 are recommended. Enabling this is slower but uses less VRAM. -- `--no_half_vae`: Prevents using fp16/bf16 precision for VAE processing. Uses fp32 instead. +- `--no_half_vae`: Prevents using fp16/bf16 precision for VAE processing. Uses fp32 instead. Use this if you encounter VAE-related issues or artifacts. - `--xformers`: Specify when using xformers. - `--sdpa`: Use scaled dot-product attention in PyTorch 2 for optimization. +- `--diffusers_xformers`: Use xformers via Diffusers (note: incompatible with Hypernetworks). + - `--fp16`: Performs inference in fp16 (single precision). If neither `fp16` nor `bf16` is specified, inference is performed in fp32 (single precision). - `--bf16`: Performs inference in bf16 (bfloat16). Can only be specified for RTX 30 series GPUs. The `--bf16` option will cause an error on GPUs other than the RTX 30 series. It seems that `bf16` is less likely to result in NaN (black image) inference results than `fp16`. @@ -173,6 +199,10 @@ Specify from the command line. - `--network_regional_mask_max_color_codes`: Specifies the maximum number of color codes to use for regional masks. If not specified, masks are applied by channel. Used with Regional LoRA to control the number of regions that can be defined by colors in the mask. +- `--network_args`: Specifies additional arguments to pass to the network module in key=value format. For example: `--network_args "alpha=1.0,dropout=0.1"`. + +- `--network_merge_n_models`: When using network merging, specifies the number of models to merge (instead of merging all loaded networks). + # Examples of Main Option Specifications The following is an example of batch generating 64 images with the same prompt and a batch size of 4. @@ -259,7 +289,7 @@ Example: - `--sequential_file_name`: Specifies whether to make file names sequential. If specified, the generated file names will be sequential starting from `im_000001.png`. -- `--use_original_file_name`: If specified, the generated file name will be the same as the original file name. +- `--use_original_file_name`: If specified, the generated file name will be prepended with the original file name (for img2img mode). - `--clip_vision_strength`: Enables CLIP Vision Conditioning for img2img with the specified strength. Uses the CLIP Vision model to enhance conditioning from the input image. @@ -375,6 +405,16 @@ These parameters can also be specified through prompt options: - `--dsr`: Specifies Deep Shrink ratio from the prompt. +*Additional prompt options for Gradual Latent (requires `euler_a` sampler):* + +- `--glt`: Specifies the timestep to start increasing the size of the latent for Gradual Latent. Overrides the command line specification. + +- `--glr`: Specifies the initial size of the latent for Gradual Latent as a ratio. Overrides the command line specification. + +- `--gls`: Specifies the ratio to increase the size of the latent for Gradual Latent. Overrides the command line specification. + +- `--gle`: Specifies the interval to increase the size of the latent for Gradual Latent. Overrides the command line specification. + ## ControlNet Currently, only ControlNet 1.0 has been confirmed to work. Only Canny is supported for preprocessing. @@ -536,7 +576,7 @@ Gradual Latent is a Hires fix that gradually increases the size of the latent. - `--gradual_latent_ratio_step`: Specifies the ratio to increase the size of the latent. The default is 0.125, which means the latent size is gradually increased to 0.625, 0.75, 0.875, 1.0. - `--gradual_latent_ratio_every_n_steps`: Specifies the interval to increase the size of the latent. The default is 3, which means the latent size is increased every 3 steps. - `--gradual_latent_s_noise`: Specifies the s_noise parameter for Gradual Latent. Default is 1.0. -- `--gradual_latent_unsharp_params`: Specifies unsharp mask parameters for Gradual Latent: ksize, sigma, strength, target-x (1 means True). Values like `3,0.5,0.5,1` or `3,1.0,1.0,0` are recommended. +- `--gradual_latent_unsharp_params`: Specifies unsharp mask parameters for Gradual Latent in the format: ksize,sigma,strength,target-x (where target-x: 1=True, 0=False). Recommended values: `3,0.5,0.5,1` or `3,1.0,1.0,0`. Each option can also be specified with prompt options, `--glt`, `--glr`, `--gls`, `--gle`. From 6c82327dc819a1e95a6e939ef4b505f6deeb69e1 Mon Sep 17 00:00:00 2001 From: kohya-ss <52813779+kohya-ss@users.noreply.github.com> Date: Mon, 1 Sep 2025 21:32:50 +0900 Subject: [PATCH 667/748] doc: remove Japanese section on Gradual Latent options from gen_img README --- docs/gen_img_README.md | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/docs/gen_img_README.md b/docs/gen_img_README.md index 4723518cc..bcfbef7f7 100644 --- a/docs/gen_img_README.md +++ b/docs/gen_img_README.md @@ -583,18 +583,3 @@ Each option can also be specified with prompt options, `--glt`, `--glr`, `--gls` __Please specify `euler_a` for the sampler.__ Because the source code of the sampler is modified. It will not work with other samplers. It is more effective with SD 1.5. It is quite subtle with SDXL. - -# Gradual Latent について (Japanese section - kept for reference) - -latentのサイズを徐々に大きくしていくHires fixです。`gen_img.py` 、``sdxl_gen_img.py` 、`gen_img.py` に以下のオプションが追加されています。 - -- `--gradual_latent_timesteps` : latentのサイズを大きくし始めるタイムステップを指定します。デフォルトは None で、Gradual Latentを使用しません。750 くらいから始めてみてください。 -- `--gradual_latent_ratio` : latentの初期サイズを指定します。デフォルトは 0.5 で、デフォルトの latent サイズの半分のサイズから始めます。 -- `--gradual_latent_ratio_step`: latentのサイズを大きくする割合を指定します。デフォルトは 0.125 で、latentのサイズを 0.625, 0.75, 0.875, 1.0 と徐々に大きくします。 -- `--gradual_latent_ratio_every_n_steps`: latentのサイズを大きくする間隔を指定します。デフォルトは 3 で、3ステップごとに latent のサイズを大きくします。 - -それぞれのオプションは、プロンプトオプション、`--glt`、`--glr`、`--gls`、`--gle` でも指定できます。 - -サンプラーに手を加えているため、__サンプラーに `euler_a` を指定してください。__ 他のサンプラーでは動作しません。 - -SD 1.5 のほうが効果があります。SDXL ではかなり微妙です。 From ddfb38e5016878d7b946b63b2cfcd8b43c9aabc4 Mon Sep 17 00:00:00 2001 From: kohya-ss <52813779+kohya-ss@users.noreply.github.com> Date: Thu, 4 Sep 2025 18:39:52 +0900 Subject: [PATCH 668/748] doc: add documentation for Textual Inversion training scripts --- docs/train_textual_inversion.md | 294 ++++++++++++++++++++++++++++++++ 1 file changed, 294 insertions(+) create mode 100644 docs/train_textual_inversion.md diff --git a/docs/train_textual_inversion.md b/docs/train_textual_inversion.md new file mode 100644 index 000000000..c18c23071 --- /dev/null +++ b/docs/train_textual_inversion.md @@ -0,0 +1,294 @@ +# How to use Textual Inversion training scripts / Textual Inversion学習スクリプトの使い方 + +This document explains how to train Textual Inversion embeddings using the `train_textual_inversion.py` and `sdxl_train_textual_inversion.py` scripts included in the `sd-scripts` repository. + +
+日本語 +このドキュメントでは、`sd-scripts` リポジトリに含まれる `train_textual_inversion.py` および `sdxl_train_textual_inversion.py` を使用してTextual Inversionの埋め込みを学習する方法について解説します。 +
+ +## 1. Introduction / はじめに + +[Textual Inversion](https://textual-inversion.github.io/) is a technique that teaches Stable Diffusion new concepts by learning new token embeddings. Instead of fine-tuning the entire model, it only optimizes the text encoder's token embeddings, making it a lightweight approach to teaching the model specific characters, objects, or artistic styles. + +**Available Scripts:** +- `train_textual_inversion.py`: For Stable Diffusion v1.x and v2.x models +- `sdxl_train_textual_inversion.py`: For Stable Diffusion XL models + +**Prerequisites:** +* The `sd-scripts` repository has been cloned and the Python environment has been set up. +* The training dataset has been prepared. For dataset preparation, please refer to the [Dataset Configuration Guide](config_README-en.md). + +
+日本語 + +[Textual Inversion](https://textual-inversion.github.io/) は、新しいトークンの埋め込みを学習することで、Stable Diffusionに新しい概念を教える技術です。モデル全体をファインチューニングする代わりに、テキストエンコーダのトークン埋め込みのみを最適化するため、特定のキャラクター、オブジェクト、芸術的スタイルをモデルに教えるための軽量なアプローチです。 + +**利用可能なスクリプト:** +- `train_textual_inversion.py`: Stable Diffusion v1.xおよびv2.xモデル用 +- `sdxl_train_textual_inversion.py`: Stable Diffusion XLモデル用 + +**前提条件:** +* `sd-scripts` リポジトリのクローンとPython環境のセットアップが完了していること。 +* 学習用データセットの準備が完了していること。データセットの準備については[データセット設定ガイド](config_README-en.md)を参照してください。 +
+ +## 2. Basic Usage / 基本的な使用方法 + +### 2.1. For Stable Diffusion v1.x/v2.x Models / Stable Diffusion v1.x/v2.xモデル用 + +```bash +accelerate launch --num_cpu_threads_per_process 1 train_textual_inversion.py \ + --pretrained_model_name_or_path="path/to/model.safetensors" \ + --dataset_config="dataset_config.toml" \ + --output_dir="output" \ + --output_name="my_textual_inversion" \ + --save_model_as="safetensors" \ + --token_string="mychar" \ + --init_word="girl" \ + --num_vectors_per_token=4 \ + --max_train_steps=1600 \ + --learning_rate=1e-6 \ + --optimizer_type="AdamW8bit" \ + --mixed_precision="fp16" \ + --cache_latents \ + --sdpa +``` + +### 2.2. For SDXL Models / SDXLモデル用 + +```bash +accelerate launch --num_cpu_threads_per_process 1 sdxl_train_textual_inversion.py \ + --pretrained_model_name_or_path="path/to/sdxl_model.safetensors" \ + --dataset_config="dataset_config.toml" \ + --output_dir="output" \ + --output_name="my_sdxl_textual_inversion" \ + --save_model_as="safetensors" \ + --token_string="mychar" \ + --init_word="girl" \ + --num_vectors_per_token=4 \ + --max_train_steps=1600 \ + --learning_rate=1e-6 \ + --optimizer_type="AdamW8bit" \ + --mixed_precision="fp16" \ + --cache_latents \ + --sdpa +``` + +
+日本語 +上記のコマンドは実際には1行で書く必要がありますが、見やすさのために改行しています(LinuxやMacでは行末に `\` を追加することで改行できます)。Windowsの場合は、改行せずに1行で書くか、`^` を行末に追加してください。 +
+ +## 3. Key Command-Line Arguments / 主要なコマンドライン引数 + +### 3.1. Textual Inversion Specific Arguments / Textual Inversion固有の引数 + +#### Core Parameters / コアパラメータ + +* `--token_string="mychar"` **[Required]** + * Specifies the token string used in training. This must not exist in the tokenizer's vocabulary. In your training prompts, include this token string (e.g., if token_string is "mychar", use prompts like "mychar 1girl"). + * 学習時に使用されるトークン文字列を指定します。tokenizerの語彙に存在しない文字である必要があります。学習時のプロンプトには、このトークン文字列を含める必要があります(例:token_stringが"mychar"なら、"mychar 1girl"のようなプロンプトを使用)。 + +* `--init_word="girl"` + * Specifies the word to use for initializing the embedding vector. Choose a word that is conceptually close to what you want to teach. Must be a single token. + * 埋め込みベクトルの初期化に使用する単語を指定します。教えたい概念に近い単語を選ぶとよいでしょう。単一のトークンである必要があります。 + +* `--num_vectors_per_token=4` + * Specifies how many embedding vectors to use for this token. More vectors provide greater expressiveness but consume more tokens from the 77-token limit. + * このトークンに使用する埋め込みベクトルの数を指定します。多いほど表現力が増しますが、77トークン制限からより多くのトークンを消費します。 + +* `--weights="path/to/existing_embedding.safetensors"` + * Loads pre-trained embeddings to continue training from. Optional parameter for transfer learning. + * 既存の埋め込みを読み込んで、そこから追加で学習します。転移学習のオプションパラメータです。 + +#### Template Options / テンプレートオプション + +* `--use_object_template` + * Ignores captions and uses predefined object templates (e.g., "a photo of a {}"). Same as the original implementation. + * キャプションを無視して、事前定義された物体用テンプレート(例:"a photo of a {}")を使用します。公式実装と同じです。 + +* `--use_style_template` + * Ignores captions and uses predefined style templates (e.g., "a painting in the style of {}"). Same as the original implementation. + * キャプションを無視して、事前定義されたスタイル用テンプレート(例:"a painting in the style of {}")を使用します。公式実装と同じです。 + +### 3.2. Model and Dataset Arguments / モデル・データセット引数 + +For common model and dataset arguments, please refer to [LoRA Training Guide](train_network.md#31-main-command-line-arguments--主要なコマンドライン引数). The following arguments work the same way: + +* `--pretrained_model_name_or_path` +* `--dataset_config` +* `--v2`, `--v_parameterization` +* `--resolution` +* `--cache_latents`, `--vae_batch_size` +* `--enable_bucket`, `--min_bucket_reso`, `--max_bucket_reso` + +
+日本語 +一般的なモデル・データセット引数については、[LoRA学習ガイド](train_network.md#31-main-command-line-arguments--主要なコマンドライン引数)を参照してください。以下の引数は同様に動作します: + +* `--pretrained_model_name_or_path` +* `--dataset_config` +* `--v2`, `--v_parameterization` +* `--resolution` +* `--cache_latents`, `--vae_batch_size` +* `--enable_bucket`, `--min_bucket_reso`, `--max_bucket_reso` +
+ +### 3.3. Training Parameters / 学習パラメータ + +For training parameters, please refer to [LoRA Training Guide](train_network.md#31-main-command-line-arguments--主要なコマンドライン引数). Textual Inversion typically uses these settings: + +* `--learning_rate=1e-6`: Lower learning rates are often used compared to LoRA training +* `--max_train_steps=1600`: Fewer steps are usually sufficient +* `--optimizer_type="AdamW8bit"`: Memory-efficient optimizer +* `--mixed_precision="fp16"`: Reduces memory usage + +**Note:** Textual Inversion has lower memory requirements compared to full model fine-tuning, so you can often use larger batch sizes. + +
+日本語 +学習パラメータについては、[LoRA学習ガイド](train_network.md#31-main-command-line-arguments--主要なコマンドライン引数)を参照してください。Textual Inversionでは通常以下の設定を使用します: + +* `--learning_rate=1e-6`: LoRA学習と比べて低い学習率がよく使用されます +* `--max_train_steps=1600`: より少ないステップで十分な場合が多いです +* `--optimizer_type="AdamW8bit"`: メモリ効率的なオプティマイザ +* `--mixed_precision="fp16"`: メモリ使用量を削減 + +**注意:** Textual Inversionはモデル全体のファインチューニングと比べてメモリ要件が低いため、多くの場合、より大きなバッチサイズを使用できます。 +
+ +## 4. Dataset Preparation / データセット準備 + +### 4.1. Dataset Configuration / データセット設定 + +Create a TOML configuration file as described in the [Dataset Configuration Guide](config_README-en.md). Here's an example for Textual Inversion: + +```toml +[general] +shuffle_caption = false +caption_extension = ".txt" +keep_tokens = 1 + +[[datasets]] +resolution = 512 # 1024 for SDXL +batch_size = 4 # Can use larger values than LoRA training +enable_bucket = true + + [[datasets.subsets]] + image_dir = "path/to/images" + caption_extension = ".txt" + num_repeats = 10 +``` + +### 4.2. Caption Guidelines / キャプションガイドライン + +**Important:** Your captions must include the token string you specified. For example: + +* If `--token_string="mychar"`, captions should be like: "mychar, 1girl, blonde hair, blue eyes" +* The token string can appear anywhere in the caption, but including it is essential + +You can verify that your token string is being recognized by using `--debug_dataset`, which will show token IDs. Look for tokens with IDs ≥ 49408 (these are the new custom tokens). + +
+日本語 + +**重要:** キャプションには指定したトークン文字列を含める必要があります。例: + +* `--token_string="mychar"` の場合、キャプションは "mychar, 1girl, blonde hair, blue eyes" のようにします +* トークン文字列はキャプション内のどこに配置しても構いませんが、含めることが必須です + +`--debug_dataset` を使用してトークン文字列が認識されているかを確認できます。これによりトークンIDが表示されます。ID ≥ 49408 のトークン(これらは新しいカスタムトークン)を探してください。 +
+ +## 5. Advanced Configuration / 高度な設定 + +### 5.1. Multiple Token Vectors / 複数トークンベクトル + +When using `--num_vectors_per_token` > 1, the system creates additional token variations: +- `--token_string="mychar"` with `--num_vectors_per_token=4` creates: "mychar", "mychar1", "mychar2", "mychar3" + +For generation, you can use either the base token or all tokens together. + +### 5.2. Memory Optimization / メモリ最適化 + +* Use `--cache_latents` to cache VAE outputs and reduce VRAM usage +* Use `--gradient_checkpointing` for additional memory savings +* For SDXL, use `--cache_text_encoder_outputs` to cache text encoder outputs +* Consider using `--mixed_precision="bf16"` on newer GPUs (RTX 30 series and later) + +### 5.3. Training Tips / 学習のコツ + +* **Learning Rate:** Start with 1e-6 and adjust based on results. Lower rates often work better than LoRA training. +* **Steps:** 1000-2000 steps are usually sufficient, but this varies by dataset size and complexity. +* **Batch Size:** Textual Inversion can handle larger batch sizes than full fine-tuning due to lower memory requirements. +* **Templates:** Use `--use_object_template` for characters/objects, `--use_style_template` for artistic styles. + +
+日本語 + +* **学習率:** 1e-6から始めて、結果に基づいて調整してください。LoRA学習よりも低い率がよく機能します。 +* **ステップ数:** 通常1000-2000ステップで十分ですが、データセットのサイズと複雑さによって異なります。 +* **バッチサイズ:** メモリ要件が低いため、Textual Inversionは完全なファインチューニングよりも大きなバッチサイズを処理できます。 +* **テンプレート:** キャラクター/オブジェクトには `--use_object_template`、芸術的スタイルには `--use_style_template` を使用してください。 +
+ +## 6. Usage After Training / 学習後の使用方法 + +The trained Textual Inversion embeddings can be used in: + +* **Automatic1111 WebUI:** Place the `.safetensors` file in the `embeddings` folder +* **ComfyUI:** Use the embedding file with appropriate nodes +* **Other Diffusers-based applications:** Load using the embedding path + +In your prompts, simply use the token string you trained (e.g., "mychar") and the model will use the learned embedding. + +
+日本語 + +学習したTextual Inversionの埋め込みは以下で使用できます: + +* **Automatic1111 WebUI:** `.safetensors` ファイルを `embeddings` フォルダに配置 +* **ComfyUI:** 適切なノードで埋め込みファイルを使用 +* **その他のDiffusersベースアプリケーション:** 埋め込みパスを使用して読み込み + +プロンプトでは、学習したトークン文字列(例:"mychar")を単純に使用するだけで、モデルが学習した埋め込みを使用します。 +
+ +## 7. Troubleshooting / トラブルシューティング + +### Common Issues / よくある問題 + +1. **Token string already exists in tokenizer** + * Use a unique string that doesn't exist in the model's vocabulary + * Try adding numbers or special characters (e.g., "mychar123") + +2. **No improvement after training** + * Ensure your captions include the token string + * Try adjusting the learning rate (lower values like 5e-7) + * Increase the number of training steps + +3. **Out of memory errors** + * Reduce batch size in the dataset configuration + * Use `--gradient_checkpointing` + * Use `--cache_latents` (for SDXL) + +
+日本語 + +1. **トークン文字列がtokenizerに既に存在する** + * モデルの語彙に存在しない固有の文字列を使用してください + * 数字や特殊文字を追加してみてください(例:"mychar123") + +2. **学習後に改善が見られない** + * キャプションにトークン文字列が含まれていることを確認してください + * 学習率を調整してみてください(5e-7のような低い値) + * 学習ステップ数を増やしてください + +3. **メモリ不足エラー** + * データセット設定でバッチサイズを減らしてください + * `--gradient_checkpointing` を使用してください + * `--cache_latents` を使用してください +
+ +For additional training options and advanced configurations, please refer to the [LoRA Training Guide](train_network.md) as many parameters are shared between training methods. \ No newline at end of file From 884fc8c7f5c1b1c4ed6c23cd9cd392e872015b8f Mon Sep 17 00:00:00 2001 From: kohya-ss <52813779+kohya-ss@users.noreply.github.com> Date: Thu, 4 Sep 2025 18:40:21 +0900 Subject: [PATCH 669/748] doc: remove SD3/FLUX.1 training guide --- README.md | 751 ++---------------------------------------------------- 1 file changed, 15 insertions(+), 736 deletions(-) diff --git a/README.md b/README.md index 2ed53d5af..843cf71b9 100644 --- a/README.md +++ b/README.md @@ -18,76 +18,27 @@ If you are using DeepSpeed, please install DeepSpeed with `pip install deepspeed ### Recent Updates +Sep 4, 2025: +- The information about FLUX.1 and SD3/SD3.5 training that was described in the README has been organized and divided into the following documents: + - [LoRA Training Overview](./docs/train_network.md) + - [SDXL Training](./docs/sdxl_train_network.md) + - [Advanced Training](./docs/train_network_advanced.md) + - [FLUX.1 Training](./docs/flux_train_network.md) + - [SD3 Training](./docs/sd3_train_network.md) + - [LUMINA Training](./docs/lumina_train_network.md) + - [Validation](./docs/validation.md) + - [Fine-tuning](./docs/fine_tune.md) + - [Textual Inversion Training](./docs/train_textual_inversion.md) + Aug 28, 2025: - In order to support the latest GPUs and features, we have updated the **PyTorch and library versions**. PR [#2178](https://github.com/kohya-ss/sd-scripts/pull/2178) There are many changes, so please let us know if you encounter any issues. - The PyTorch version used for testing has been updated to 2.6.0. We have confirmed that it works with PyTorch 2.6.0 and later. - The `requirements.txt` has been updated, so please update your dependencies. - - You can update the dependencies with `pip install -r requirements.txt`. - - The version specification for `bitsandbytes` has been removed. If you encounter errors on RTX 50 series GPUs, please update it with `pip install -U bitsandbytes`. + - You can update the dependencies with `pip install -r requirements.txt`. + - The version specification for `bitsandbytes` has been removed. If you encounter errors on RTX 50 series GPUs, please update it with `pip install -U bitsandbytes`. - We have modified each script to minimize warnings as much as possible. - - The modified scripts will work in the old environment (library versions), but please update them when convenient. - -Jul 30, 2025: -- **Breaking Change**: For FLUX.1 and Chroma training, the CFG (Classifier-Free Guidance, using negative prompts) scale option for sample image generation during training has been changed from `--g` to `--l`. The `--g` option is now used for the embedded guidance scale. Please update your prompts accordingly. See [Sample Image Generation During Training](#sample-image-generation-during-training) for details. - -- Support for [Chroma](https://huggingface.co/lodestones/Chroma) has been added in PR [#2157](https://github.com/kohya-ss/sd-scripts/pull/2157). Thank you to lodestones for the high-quality model. - - Chroma is a new model based on FLUX.1 schnell. In this repository, `flux_train_network.py` is used for training LoRAs for Chroma with `--model_type chroma`. `--apply_t5_attn_mask` is also needed for Chroma training. - - Please refer to the [FLUX.1 LoRA training documentation](./docs/flux_train_network.md) for more details. - -Jul 21, 2025: -- Support for [Lumina-Image 2.0](https://github.com/Alpha-VLLM/Lumina-Image-2.0) has been added in PR [#1927](https://github.com/kohya-ss/sd-scripts/pull/1927) and [#2138](https://github.com/kohya-ss/sd-scripts/pull/2138). Special thanks to sdbds and RockerBOO for their contributions. - - Please refer to the [Lumina-Image 2.0 documentation](./docs/lumina_train_network.md) for more details. -- We have started adding comprehensive training-related documentation to [docs](./docs). These documents are being created with the help of generative AI and will be updated over time. While there are still many gaps at this stage, we plan to improve them gradually. - - Currently, the following documents are available: - - train_network.md - - sdxl_train_network.md - - train_network_advanced.md - - flux_train_network.md - - sd3_train_network.md - - lumina_train_network.md - - validation.md - -Jul 10, 2025: -- [AI Coding Agents](#for-developers-using-ai-coding-agents) section is added to the README. This section provides instructions for developers using AI coding agents like Claude and Gemini to understand the project context and coding standards. - -May 1, 2025: -- The error when training FLUX.1 with mixed precision in flux_train.py with DeepSpeed enabled has been resolved. Thanks to sharlynxy for PR [#2060](https://github.com/kohya-ss/sd-scripts/pull/2060). Please refer to the PR for details. - - If you enable DeepSpeed, please install DeepSpeed with `pip install deepspeed==0.16.7`. - -Apr 27, 2025: -- FLUX.1 training now supports CFG scale in the sample generation during training. Please use `--g` option, to specify the CFG scale (note that `--l` is used as the embedded guidance scale.) PR [#2064](https://github.com/kohya-ss/sd-scripts/pull/2064). - - See [here](#sample-image-generation-during-training) for details. - - If you have any issues with this, please let us know. - -Apr 6, 2025: -- IP noise gamma has been enabled in FLUX.1. Thanks to rockerBOO for PR [#1992](https://github.com/kohya-ss/sd-scripts/pull/1992). See the PR for details. - - `--ip_noise_gamma` and `--ip_noise_gamma_random_strength` are available. - -Mar 30, 2025: -- LoRA-GGPO is added for FLUX.1 LoRA training. Thank you to rockerBOO for PR [#1974](https://github.com/kohya-ss/sd-scripts/pull/1974). - - Specify `--network_args ggpo_sigma=0.03 ggpo_beta=0.01` in the command line or `network_args = ["ggpo_sigma=0.03", "ggpo_beta=0.01"]` in .toml file. See PR for details. -- The interpolation method for resizing the original image to the training size can now be specified. Thank you to rockerBOO for PR [#1936](https://github.com/kohya-ss/sd-scripts/pull/1936). - -Mar 20, 2025: -- `pytorch-optimizer` is added to requirements.txt. Thank you to gesen2egee for PR [#1985](https://github.com/kohya-ss/sd-scripts/pull/1985). - - For example, you can use CAME optimizer with `--optimizer_type "pytorch_optimizer.CAME" --optimizer_args "weight_decay=0.01"`. - -Mar 6, 2025: - -- Added a utility script to merge the weights of SD3's DiT, VAE (optional), CLIP-L, CLIP-G, and T5XXL into a single .safetensors file. Run `tools/merge_sd3_safetensors.py`. See `--help` for usage. PR [#1960](https://github.com/kohya-ss/sd-scripts/pull/1960) - -Feb 26, 2025: - -- Improve the validation loss calculation in `train_network.py`, `sdxl_train_network.py`, `flux_train_network.py`, and `sd3_train_network.py`. PR [#1903](https://github.com/kohya-ss/sd-scripts/pull/1903) - - The validation loss uses the fixed timestep sampling and the fixed random seed. This is to ensure that the validation loss is not fluctuated by the random values. - -Jan 25, 2025: + - The modified scripts will work in the old environment (library versions), but please update them when convenient. -- `train_network.py`, `sdxl_train_network.py`, `flux_train_network.py`, and `sd3_train_network.py` now support validation loss. PR [#1864](https://github.com/kohya-ss/sd-scripts/pull/1864) Thank you to rockerBOO! - - For details on how to set it up, please refer to the PR. The documentation will be updated as needed. - - It will be added to other scripts as well. - - As a current limitation, validation loss is not supported when `--block_to_swap` is specified, or when schedule-free optimizer is used. ## For Developers Using AI Coding Agents @@ -114,678 +65,6 @@ To use them, you need to opt-in by creating your own configuration file in the p This approach ensures that you have full control over the instructions given to your agent while benefiting from the shared project context. Your `CLAUDE.md` and `GEMINI.md` are already listed in `.gitignore`, so it won't be committed to the repository. -## FLUX.1 training - -- [FLUX.1 LoRA training](#flux1-lora-training) - - [Key Options for FLUX.1 LoRA training](#key-options-for-flux1-lora-training) - - [Distribution of timesteps](#distribution-of-timesteps) - - [Key Features for FLUX.1 LoRA training](#key-features-for-flux1-lora-training) - - [Specify rank for each layer in FLUX.1](#specify-rank-for-each-layer-in-flux1) - - [Specify blocks to train in FLUX.1 LoRA training](#specify-blocks-to-train-in-flux1-lora-training) -- [FLUX.1 ControlNet training](#flux1-controlnet-training) -- [FLUX.1 OFT training](#flux1-oft-training) -- [Inference for FLUX.1 with LoRA model](#inference-for-flux1-with-lora-model) -- [FLUX.1 fine-tuning](#flux1-fine-tuning) - - [Key Features for FLUX.1 fine-tuning](#key-features-for-flux1-fine-tuning) -- [Extract LoRA from FLUX.1 Models](#extract-lora-from-flux1-models) -- [Convert FLUX LoRA](#convert-flux-lora) -- [Merge LoRA to FLUX.1 checkpoint](#merge-lora-to-flux1-checkpoint) -- [FLUX.1 Multi-resolution training](#flux1-multi-resolution-training) -- [Convert Diffusers to FLUX.1](#convert-diffusers-to-flux1) - -### FLUX.1 LoRA training - -We have added a new training script for LoRA training. The script is `flux_train_network.py`. See `--help` for options. - -FLUX.1 model, CLIP-L, and T5XXL models are recommended to be in bf16/fp16 format. If you specify `--fp8_base`, you can use fp8 models for FLUX.1. The fp8 model is only compatible with `float8_e4m3fn` format. - -Sample command is below. It will work with 24GB VRAM GPUs. - -``` -accelerate launch --mixed_precision bf16 --num_cpu_threads_per_process 1 flux_train_network.py ---pretrained_model_name_or_path flux1-dev.safetensors --clip_l sd3/clip_l.safetensors --t5xxl sd3/t5xxl_fp16.safetensors ---ae ae.safetensors --cache_latents_to_disk --save_model_as safetensors --sdpa --persistent_data_loader_workers ---max_data_loader_n_workers 2 --seed 42 --gradient_checkpointing --mixed_precision bf16 --save_precision bf16 ---network_module networks.lora_flux --network_dim 4 --network_train_unet_only ---optimizer_type adamw8bit --learning_rate 1e-4 ---cache_text_encoder_outputs --cache_text_encoder_outputs_to_disk --fp8_base ---highvram --max_train_epochs 4 --save_every_n_epochs 1 --dataset_config dataset_1024_bs2.toml ---output_dir path/to/output/dir --output_name flux-lora-name ---timestep_sampling shift --discrete_flow_shift 3.1582 --model_prediction_type raw --guidance_scale 1.0 -``` -(The command is multi-line for readability. Please combine it into one line.) - -We also not sure how many epochs are needed for convergence, and how the learning rate should be adjusted. - -The trained LoRA model can be used with ComfyUI. - -When training LoRA for Text Encoder (without `--network_train_unet_only`), more VRAM is required. Please refer to the settings below to reduce VRAM usage. - -__Options for GPUs with less VRAM:__ - -By specifying `--blocks_to_swap`, you can save VRAM by swapping some blocks between CPU and GPU. See [FLUX.1 fine-tuning](#flux1-fine-tuning) for details. - -Specify a number like `--blocks_to_swap 10`. A larger number will swap more blocks, saving more VRAM, but training will be slower. In FLUX.1, you can swap up to 35 blocks. - -`--cpu_offload_checkpointing` offloads gradient checkpointing to CPU. This reduces up to 1GB of VRAM usage but slows down the training by about 15%. Cannot be used with `--blocks_to_swap`. - -Adafactor optimizer may reduce the VRAM usage than 8bit AdamW. Please use settings like below: - -``` ---optimizer_type adafactor --optimizer_args "relative_step=False" "scale_parameter=False" "warmup_init=False" --lr_scheduler constant_with_warmup --max_grad_norm 0.0 -``` - -The training can be done with 16GB VRAM GPUs with the batch size of 1. Please change your dataset configuration. - -The training can be done with 12GB VRAM GPUs with `--blocks_to_swap 16` with 8bit AdamW. Please use settings like below: - -``` ---blocks_to_swap 16 -``` - -For GPUs with less than 10GB of VRAM, it is recommended to use an fp8 checkpoint for T5XXL. You can download `t5xxl_fp8_e4m3fn.safetensors` from [comfyanonymous/flux_text_encoders](https://huggingface.co/comfyanonymous/flux_text_encoders) (please use without `scaled`). - -10GB VRAM GPUs will work with 22 blocks swapped, and 8GB VRAM GPUs will work with 28 blocks swapped. - -__`--split_mode` is deprecated. This option is still available, but they will be removed in the future. Please use `--blocks_to_swap` instead. If this option is specified and `--blocks_to_swap` is not specified, `--blocks_to_swap 18` is automatically enabled.__ - -#### Key Options for FLUX.1 LoRA training - -There are many unknown points in FLUX.1 training, so some settings can be specified by arguments. Here are the arguments. The arguments and sample settings are still experimental and may change in the future. Feedback on the settings is welcome. - -- `--pretrained_model_name_or_path` is the path to the pretrained model (FLUX.1). bf16 (original BFL model) is recommended (`flux1-dev.safetensors` or `flux1-dev.sft`). If you specify `--fp8_base`, you can use fp8 models for FLUX.1. The fp8 model is only compatible with `float8_e4m3fn` format. -- `--clip_l` is the path to the CLIP-L model. -- `--t5xxl` is the path to the T5XXL model. If you specify `--fp8_base`, you can use fp8 (float8_e4m3fn) models for T5XXL. However, it is recommended to use fp16 models for caching. -- `--ae` is the path to the autoencoder model (`ae.safetensors` or `ae.sft`). - -- `--timestep_sampling` is the method to sample timesteps (0-1): - - `sigma`: sigma-based, same as SD3 - - `uniform`: uniform random - - `sigmoid`: sigmoid of random normal, same as x-flux, AI-toolkit etc. - - `shift`: shifts the value of sigmoid of normal distribution random number - - `flux_shift`: shifts the value of sigmoid of normal distribution random number, depending on the resolution (same as FLUX.1 dev inference). `--discrete_flow_shift` is ignored when `flux_shift` is specified. -- `--sigmoid_scale` is the scale factor for sigmoid timestep sampling (only used when timestep-sampling is "sigmoid"). The default is 1.0. Larger values will make the sampling more uniform. - - This option is effective even when`--timestep_sampling shift` is specified. - - Normally, leave it at 1.0. Larger values make the value before shift closer to a uniform distribution. -- `--model_prediction_type` is how to interpret and process the model prediction: - - `raw`: use as is, same as x-flux - - `additive`: add to noisy input - - `sigma_scaled`: apply sigma scaling, same as SD3 -- `--discrete_flow_shift` is the discrete flow shift for the Euler Discrete Scheduler, default is 3.0 (same as SD3). -- `--blocks_to_swap`. See [FLUX.1 fine-tuning](#flux1-fine-tuning) for details. - -The existing `--loss_type` option may be useful for FLUX.1 training. The default is `l2`. - -~~In our experiments, `--timestep_sampling sigma --model_prediction_type raw --discrete_flow_shift 1.0` with `--loss_type l2` seems to work better than the default (SD3) settings. The multiplier of LoRA should be adjusted.~~ - -In our experiments, `--timestep_sampling shift --discrete_flow_shift 3.1582 --model_prediction_type raw --guidance_scale 1.0` (with the default `l2` loss_type) seems to work better. - -The settings in [AI Toolkit by Ostris](https://github.com/ostris/ai-toolkit) seems to be equivalent to `--timestep_sampling sigmoid --model_prediction_type raw --guidance_scale 1.0` (with the default `l2` loss_type). - -Other settings may work better, so please try different settings. - -Other options are described below. - -#### Distribution of timesteps - -`--timestep_sampling` and `--sigmoid_scale`, `--discrete_flow_shift` adjust the distribution of timesteps. The distribution is shown in the figures below. - -The effect of `--discrete_flow_shift` with `--timestep_sampling shift` (when `--sigmoid_scale` is not specified, the default is 1.0): -![Figure_2](https://github.com/user-attachments/assets/d9de42f9-f17d-40da-b88d-d964402569c6) - -The difference between `--timestep_sampling sigmoid` and `--timestep_sampling uniform` (when `--timestep_sampling sigmoid` or `uniform` is specified, `--discrete_flow_shift` is ignored): -![Figure_3](https://github.com/user-attachments/assets/27029009-1f5d-4dc0-bb24-13d02ac4fdad) - -The effect of `--timestep_sampling sigmoid` and `--sigmoid_scale` (when `--timestep_sampling sigmoid` is specified, `--discrete_flow_shift` is ignored): -![Figure_4](https://github.com/user-attachments/assets/08a2267c-e47e-48b7-826e-f9a080787cdc) - -#### Key Features for FLUX.1 LoRA training - -1. CLIP-L and T5XXL LoRA Support: - - FLUX.1 LoRA training now supports CLIP-L and T5XXL LoRA training. - - Remove `--network_train_unet_only` from your command. - - Add `train_t5xxl=True` to `--network_args` to train T5XXL LoRA. CLIP-L is also trained at the same time. - - T5XXL output can be cached for CLIP-L LoRA training. So, `--cache_text_encoder_outputs` or `--cache_text_encoder_outputs_to_disk` is also available. - - The learning rates for CLIP-L and T5XXL can be specified separately. Multiple numbers can be specified in `--text_encoder_lr`. For example, `--text_encoder_lr 1e-4 1e-5`. The first value is the learning rate for CLIP-L, and the second value is for T5XXL. If you specify only one, the learning rates for CLIP-L and T5XXL will be the same. If `--text_encoder_lr` is not specified, the default learning rate `--learning_rate` is used for both CLIP-L and T5XXL. - - The trained LoRA can be used with ComfyUI. - - Note: `flux_extract_lora.py`, `convert_flux_lora.py`and `merge_flux_lora.py` do not support CLIP-L and T5XXL LoRA yet. - - | trained LoRA|option|network_args|cache_text_encoder_outputs (*1)| - |---|---|---|---| - |FLUX.1|`--network_train_unet_only`|-|o| - |FLUX.1 + CLIP-L|-|-|o (*2)| - |FLUX.1 + CLIP-L + T5XXL|-|`train_t5xxl=True`|-| - |CLIP-L (*3)|`--network_train_text_encoder_only`|-|o (*2)| - |CLIP-L + T5XXL (*3)|`--network_train_text_encoder_only`|`train_t5xxl=True`|-| - - - *1: `--cache_text_encoder_outputs` or `--cache_text_encoder_outputs_to_disk` is also available. - - *2: T5XXL output can be cached for CLIP-L LoRA training. - - *3: Not tested yet. - -2. Experimental FP8/FP16 mixed training: - - `--fp8_base_unet` enables training with fp8 for FLUX and bf16/fp16 for CLIP-L/T5XXL. - - FLUX can be trained with fp8, and CLIP-L/T5XXL can be trained with bf16/fp16. - - When specifying this option, the `--fp8_base` option is automatically enabled. - -3. Split Q/K/V Projection Layers (Experimental): - - Added an option to split the projection layers of q/k/v/txt in the attention and apply LoRA to each of them. - - Specify `"split_qkv=True"` in network_args like `--network_args "split_qkv=True"` (`train_blocks` is also available). - - May increase expressiveness but also training time. - - The trained model is compatible with normal LoRA models in sd-scripts and can be used in environments like ComfyUI. - - Converting to AI-toolkit (Diffusers) format with `convert_flux_lora.py` will reduce the size. - -4. T5 Attention Mask Application: - - T5 attention mask is applied when `--apply_t5_attn_mask` is specified. - - Now applies mask when encoding T5 and in the attention of Double and Single Blocks - - Affects fine-tuning, LoRA training, and inference in `flux_minimal_inference.py`. - -5. Multi-resolution Training Support: - - FLUX.1 now supports multi-resolution training, even with caching latents to disk. - - -Technical details of Q/K/V split: - -In the implementation of Black Forest Labs' model, the projection layers of q/k/v (and txt in single blocks) are concatenated into one. If LoRA is added there as it is, the LoRA module is only one, and the dimension is large. In contrast, in the implementation of Diffusers, the projection layers of q/k/v/txt are separated. Therefore, the LoRA module is applied to q/k/v/txt separately, and the dimension is smaller. This option is for training LoRA similar to the latter. - -The compatibility of the saved model (state dict) is ensured by concatenating the weights of multiple LoRAs. However, since there are zero weights in some parts, the model size will be large. - -#### Specify rank for each layer in FLUX.1 - -You can specify the rank for each layer in FLUX.1 by specifying the following network_args. If you specify `0`, LoRA will not be applied to that layer. - -When network_args is not specified, the default value (`network_dim`) is applied, same as before. - -|network_args|target layer| -|---|---| -|img_attn_dim|img_attn in DoubleStreamBlock| -|txt_attn_dim|txt_attn in DoubleStreamBlock| -|img_mlp_dim|img_mlp in DoubleStreamBlock| -|txt_mlp_dim|txt_mlp in DoubleStreamBlock| -|img_mod_dim|img_mod in DoubleStreamBlock| -|txt_mod_dim|txt_mod in DoubleStreamBlock| -|single_dim|linear1 and linear2 in SingleStreamBlock| -|single_mod_dim|modulation in SingleStreamBlock| - -`"verbose=True"` is also available for debugging. It shows the rank of each layer. - -example: -``` ---network_args "img_attn_dim=4" "img_mlp_dim=8" "txt_attn_dim=2" "txt_mlp_dim=2" -"img_mod_dim=2" "txt_mod_dim=2" "single_dim=4" "single_mod_dim=2" "verbose=True" -``` - -You can apply LoRA to the conditioning layers of Flux by specifying `in_dims` in network_args. When specifying, be sure to specify 5 numbers in `[]` as a comma-separated list. - -example: -``` ---network_args "in_dims=[4,2,2,2,4]" -``` - -Each number corresponds to `img_in`, `time_in`, `vector_in`, `guidance_in`, `txt_in`. The above example applies LoRA to all conditioning layers, with rank 4 for `img_in`, 2 for `time_in`, `vector_in`, `guidance_in`, and 4 for `txt_in`. - -If you specify `0`, LoRA will not be applied to that layer. For example, `[4,0,0,0,4]` applies LoRA only to `img_in` and `txt_in`. - -#### Specify blocks to train in FLUX.1 LoRA training - -You can specify the blocks to train in FLUX.1 LoRA training by specifying `train_double_block_indices` and `train_single_block_indices` in network_args. The indices are 0-based. The default (when omitted) is to train all blocks. The indices are specified as a list of integers or a range of integers, like `0,1,5,8` or `0,1,4-5,7`. The number of double blocks is 19, and the number of single blocks is 38, so the valid range is 0-18 and 0-37, respectively. `all` is also available to train all blocks, `none` is also available to train no blocks. - -example: -``` ---network_args "train_double_block_indices=0,1,8-12,18" "train_single_block_indices=3,10,20-25,37" -``` - -``` ---network_args "train_double_block_indices=none" "train_single_block_indices=10-15" -``` - -If you specify one of `train_double_block_indices` or `train_single_block_indices`, the other will be trained as usual. - -### FLUX.1 ControlNet training -We have added a new training script for ControlNet training. The script is flux_train_control_net.py. See --help for options. - -Sample command is below. It will work with 80GB VRAM GPUs. -``` -accelerate launch --mixed_precision bf16 --num_cpu_threads_per_process 1 flux_train_control_net.py ---pretrained_model_name_or_path flux1-dev.safetensors --clip_l clip_l.safetensors --t5xxl t5xxl_fp16.safetensors ---ae ae.safetensors --save_model_as safetensors --sdpa --persistent_data_loader_workers ---max_data_loader_n_workers 1 --seed 42 --gradient_checkpointing --mixed_precision bf16 ---optimizer_type adamw8bit --learning_rate 2e-5 ---highvram --max_train_epochs 1 --save_every_n_steps 1000 --dataset_config dataset.toml ---output_dir /path/to/output/dir --output_name flux-cn ---timestep_sampling shift --discrete_flow_shift 3.1582 --model_prediction_type raw --guidance_scale 1.0 --deepspeed -``` - -For 24GB VRAM GPUs, you can train with 16 blocks swapped and caching latents and text encoder outputs with the batch size of 1. Remove `--deepspeed` . Sample command is below. Not fully tested. -``` - --blocks_to_swap 16 --cache_latents_to_disk --cache_text_encoder_outputs_to_disk -``` - -The training can be done with 16GB VRAM GPUs with around 30 blocks swapped. - -`--gradient_accumulation_steps` is also available. The default value is 1 (no accumulation), but according to the original PR, 8 is used. - -### FLUX.1 OFT training - -You can train OFT with almost the same options as LoRA, such as `--timestamp_sampling`. The following points are different. - -- Change `--network_module` from `networks.lora_flux` to `networks.oft_flux`. -- `--network_dim` is the number of OFT blocks. Unlike LoRA rank, the smaller the dim, the larger the model. We recommend about 64 or 128. Please make the output dimension of the target layer of OFT divisible by the value of `--network_dim` (an error will occur if it is not divisible). Valid values are 64, 128, 256, 512, 1024, etc. -- `--network_alpha` is treated as a constraint for OFT. We recommend about 1e-2 to 1e-4. The default value when omitted is 1, which is too large, so be sure to specify it. -- CLIP/T5XXL is not supported. Specify `--network_train_unet_only`. -- `--network_args` specifies the hyperparameters of OFT. The following are valid: - - Specify `enable_all_linear=True` to target all linear connections in the MLP layer. The default is False, which targets only attention. - -Currently, there is no environment to infer FLUX.1 OFT. Inference is only possible with `flux_minimal_inference.py` (specify OFT model with `--lora`). - -Sample command is below. It will work with 24GB VRAM GPUs with the batch size of 1. - -``` ---network_module networks.oft_flux --network_dim 128 --network_alpha 1e-3 ---network_args "enable_all_linear=True" --learning_rate 1e-5 -``` - -The training can be done with 16GB VRAM GPUs without `--enable_all_linear` option and with Adafactor optimizer. - -### Inference for FLUX.1 with LoRA model - -The inference script is also available. The script is `flux_minimal_inference.py`. See `--help` for options. - -``` -python flux_minimal_inference.py --ckpt flux1-dev.safetensors --clip_l sd3/clip_l.safetensors --t5xxl sd3/t5xxl_fp16.safetensors --ae ae.safetensors --dtype bf16 --prompt "a cat holding a sign that says hello world" --out path/to/output/dir --seed 1 --flux_dtype fp8 --offload --lora lora-flux-name.safetensors;1.0 -``` - -### FLUX.1 fine-tuning - -The memory-efficient training with block swap is based on 2kpr's implementation. Thanks to 2kpr! - -__`--double_blocks_to_swap` and `--single_blocks_to_swap` are deprecated. These options is still available, but they will be removed in the future. Please use `--blocks_to_swap` instead. These options are equivalent to specifying `double_blocks_to_swap + single_blocks_to_swap // 2` in `--blocks_to_swap`.__ - -Sample command for FLUX.1 fine-tuning is below. This will work with 24GB VRAM GPUs, and 64GB main memory is recommended. - -``` -accelerate launch --mixed_precision bf16 --num_cpu_threads_per_process 1 flux_train.py ---pretrained_model_name_or_path flux1-dev.safetensors --clip_l clip_l.safetensors --t5xxl t5xxl_fp16.safetensors --ae ae_dev.safetensors ---save_model_as safetensors --sdpa --persistent_data_loader_workers --max_data_loader_n_workers 2 ---seed 42 --gradient_checkpointing --mixed_precision bf16 --save_precision bf16 ---dataset_config dataset_1024_bs1.toml --output_dir path/to/output/dir --output_name output-name ---learning_rate 5e-5 --max_train_epochs 4 --sdpa --highvram --cache_text_encoder_outputs_to_disk --cache_latents_to_disk --save_every_n_epochs 1 ---optimizer_type adafactor --optimizer_args "relative_step=False" "scale_parameter=False" "warmup_init=False" ---lr_scheduler constant_with_warmup --max_grad_norm 0.0 ---timestep_sampling shift --discrete_flow_shift 3.1582 --model_prediction_type raw --guidance_scale 1.0 ---fused_backward_pass --blocks_to_swap 8 --full_bf16 -``` -(The command is multi-line for readability. Please combine it into one line.) - -Options are almost the same as LoRA training. The difference is `--full_bf16`, `--fused_backward_pass` and `--blocks_to_swap`. `--cpu_offload_checkpointing` is also available. - -`--full_bf16` enables the training with bf16 (weights and gradients). - -`--fused_backward_pass` enables the fusing of the optimizer step into the backward pass for each parameter. This reduces the memory usage during training. Only Adafactor optimizer is supported for now. Stochastic rounding is also enabled when `--fused_backward_pass` and `--full_bf16` are specified. - -`--blockwise_fused_optimizers` enables the fusing of the optimizer step into the backward pass for each block. This is similar to `--fused_backward_pass`. Any optimizer can be used, but Adafactor is recommended for memory efficiency and stochastic rounding. `--blockwise_fused_optimizers` cannot be used with `--fused_backward_pass`. Stochastic rounding is not supported for now. - -`--blocks_to_swap` is the number of blocks to swap. The default is None (no swap). The maximum value is 35. - -`--cpu_offload_checkpointing` is to offload the gradient checkpointing to CPU. This reduces about 2GB of VRAM usage. This option cannot be used with `--blocks_to_swap`. - -All these options are experimental and may change in the future. - -The increasing the number of blocks to swap may reduce the memory usage, but the training speed will be slower. `--cpu_offload_checkpointing` also slows down the training. - -Swap 8 blocks without cpu offload checkpointing may be a good starting point for 24GB VRAM GPUs. Please try different settings according to VRAM usage and training speed. - -The learning rate and the number of epochs are not optimized yet. Please adjust them according to the training results. - -#### How to use block swap - -There are two possible ways to use block swap. It is unknown which is better. - -1. Swap the minimum number of blocks that fit in VRAM with batch size 1 and shorten the training speed of one step. - - The above command example is for this usage. - -2. Swap many blocks to increase the batch size and shorten the training speed per data. - - For example, swapping 35 blocks seems to increase the batch size to about 5. In this case, the training speed per data will be relatively faster than 1. - -#### Training with <24GB VRAM GPUs - -Swap 28 blocks without cpu offload checkpointing may be working with 12GB VRAM GPUs. Please try different settings according to VRAM size of your GPU. - -T5XXL requires about 10GB of VRAM, so 10GB of VRAM will be minimum requirement for FLUX.1 fine-tuning. - -#### Key Features for FLUX.1 fine-tuning - -1. Technical details of block swap: - - Reduce memory usage by transferring double and single blocks of FLUX.1 from GPU to CPU when they are not needed. - - During forward pass, the weights of the blocks that have finished calculation are transferred to CPU, and the weights of the blocks to be calculated are transferred to GPU. - - The same is true for the backward pass, but the order is reversed. The gradients remain on the GPU. - - Since the transfer between CPU and GPU takes time, the training will be slower. - - `--blocks_to_swap` specify the number of blocks to swap. - - About 640MB of memory can be saved per block. - - (Update 1: Nov 12, 2024) - - The maximum number of blocks that can be swapped is 35. - - We are exchanging only the data of the weights (weight.data) in reference to the implementation of OneTrainer (thanks to OneTrainer). However, the mechanism of the exchange is a custom implementation. - - Since it takes time to free CUDA memory (torch.cuda.empty_cache()), we reuse the CUDA memory allocated to weight.data as it is and exchange the weights between modules. - - This shortens the time it takes to exchange weights between modules. - - Since the weights must be almost identical to be exchanged, FLUX.1 exchanges the weights between double blocks and single blocks. - - In SD3, all blocks are similar, but some weights are different, so there are weights that always remain on the GPU. - -2. Sample Image Generation: - - Sample image generation during training is now supported. - - The prompts are cached and used for generation if `--cache_latents` is specified. So changing the prompts during training will not affect the generated images. - - Specify options such as `--sample_prompts` and `--sample_every_n_epochs`. - - Note: It will be very slow when `--blocks_to_swap` is specified. - -3. Experimental Memory-Efficient Saving: - - `--mem_eff_save` option can further reduce memory consumption during model saving (about 22GB). - - This is a custom implementation and may cause unexpected issues. Use with caution. - -4. T5XXL Token Length Control: - - Added `--t5xxl_max_token_length` option to specify the maximum token length of T5XXL. - - Default is 512 in dev and 256 in schnell models. - -5. Multi-GPU Training Support: - - Note: `--double_blocks_to_swap` and `--single_blocks_to_swap` cannot be used in multi-GPU training. - -6. Disable mmap Load for Safetensors: - - `--disable_mmap_load_safetensors` option now works in `flux_train.py`. - - Speeds up model loading during training in WSL2. - - Effective in reducing memory usage when loading models during multi-GPU training. - - -### Extract LoRA from FLUX.1 Models - -Script: `networks/flux_extract_lora.py` - -Extracts LoRA from the difference between two FLUX.1 models. - -Offers memory-efficient option with `--mem_eff_safe_open`. - -CLIP-L LoRA is not supported. - -### Convert FLUX LoRA - -Script: `convert_flux_lora.py` - -Converts LoRA between sd-scripts format (BFL-based) and AI-toolkit format (Diffusers-based). - -If you use LoRA in the inference environment, converting it to AI-toolkit format may reduce temporary memory usage. - -Note that re-conversion will increase the size of LoRA. - -CLIP-L/T5XXL LoRA is not supported. - -### Merge LoRA to FLUX.1 checkpoint - -`networks/flux_merge_lora.py` merges LoRA to FLUX.1 checkpoint, CLIP-L or T5XXL models. __The script is experimental.__ - -``` -python networks/flux_merge_lora.py --flux_model flux1-dev.safetensors --save_to output.safetensors --models lora1.safetensors --ratios 2.0 --save_precision fp16 --loading_device cuda --working_device cpu -``` - -You can also merge multiple LoRA models into a FLUX.1 model. Specify multiple LoRA models in `--models`. Specify the same number of ratios in `--ratios`. - -CLIP-L and T5XXL LoRA are supported. `--clip_l` and `--clip_l_save_to` are for CLIP-L, `--t5xxl` and `--t5xxl_save_to` are for T5XXL. Sample command is below. - -``` ---clip_l clip_l.safetensors --clip_l_save_to merged_clip_l.safetensors --t5xxl t5xxl_fp16.safetensors --t5xxl_save_to merged_t5xxl.safetensors -``` - -FLUX.1, CLIP-L, and T5XXL can be merged together or separately for memory efficiency. - -An experimental option `--mem_eff_load_save` is available. This option is for memory-efficient loading and saving. It may also speed up loading and saving. - -`--loading_device` is the device to load the LoRA models. `--working_device` is the device to merge (calculate) the models. Default is `cpu` for both. Loading / working device examples are below (in the case of `--save_precision fp16` or `--save_precision bf16`, `float32` will consume more memory): - -- 'cpu' / 'cpu': Uses >50GB of RAM, but works on any machine. -- 'cuda' / 'cpu': Uses 24GB of VRAM, but requires 30GB of RAM. -- 'cpu' / 'cuda': Uses 4GB of VRAM, but requires 50GB of RAM, faster than 'cpu' / 'cpu' or 'cuda' / 'cpu'. -- 'cuda' / 'cuda': Uses 30GB of VRAM, but requires 30GB of RAM, faster than 'cpu' / 'cpu' or 'cuda' / 'cpu'. - -`--save_precision` is the precision to save the merged model. In the case of LoRA models are trained with `bf16`, we are not sure which is better, `fp16` or `bf16` for `--save_precision`. - -The script can merge multiple LoRA models. If you want to merge multiple LoRA models, specify `--concat` option to work the merged LoRA model properly. - -### FLUX.1 Multi-resolution training - -You can define multiple resolutions in the dataset configuration file. - -The dataset configuration file is like below. You can define multiple resolutions with different batch sizes. The resolutions are defined in the `[[datasets]]` section. The `[[datasets.subsets]]` section is for the dataset directory. Please specify the same directory for each resolution. - -``` -[general] -# define common settings here -flip_aug = true -color_aug = false -keep_tokens_separator= "|||" -shuffle_caption = false -caption_tag_dropout_rate = 0 -caption_extension = ".txt" - -[[datasets]] -# define the first resolution here -batch_size = 2 -enable_bucket = true -resolution = [1024, 1024] - - [[datasets.subsets]] - image_dir = "path/to/image/dir" - num_repeats = 1 - -[[datasets]] -# define the second resolution here -batch_size = 3 -enable_bucket = true -resolution = [768, 768] - - [[datasets.subsets]] - image_dir = "path/to/image/dir" - num_repeats = 1 - -[[datasets]] -# define the third resolution here -batch_size = 4 -enable_bucket = true -resolution = [512, 512] - - [[datasets.subsets]] - image_dir = "path/to/image/dir" - num_repeats = 1 -``` - -### Convert Diffusers to FLUX.1 - -Script: `convert_diffusers_to_flux1.py` - -Converts Diffusers models to FLUX.1 models. The script is experimental. See `--help` for options. schnell and dev models are supported. AE/CLIP/T5XXL are not supported. The diffusers folder is a parent folder of `rmer` folder. - -``` -python tools/convert_diffusers_to_flux.py --diffusers_path path/to/diffusers_folder_or_00001_safetensors --save_to path/to/flux1.safetensors --mem_eff_load_save --save_precision bf16 -``` - -## SD3 training - -SD3.5L/M training is now available. - -### SD3 LoRA training - -The script is `sd3_train_network.py`. See `--help` for options. - -SD3 model, CLIP-L, CLIP-G, and T5XXL models are recommended to be in float/fp16 format. If you specify `--fp8_base`, you can use fp8 models for SD3. The fp8 model is only compatible with `float8_e4m3fn` format. - -Sample command is below. It will work with 16GB VRAM GPUs (SD3.5L). - -``` -accelerate launch --mixed_precision bf16 --num_cpu_threads_per_process 1 sd3_train_network.py ---pretrained_model_name_or_path path/to/sd3.5_large.safetensors --clip_l sd3/clip_l.safetensors --clip_g sd3/clip_g.safetensors --t5xxl sd3/t5xxl_fp16.safetensors ---cache_latents_to_disk --save_model_as safetensors --sdpa --persistent_data_loader_workers ---max_data_loader_n_workers 2 --seed 42 --gradient_checkpointing --mixed_precision bf16 --save_precision bf16 ---network_module networks.lora_sd3 --network_dim 4 --network_train_unet_only ---optimizer_type adamw8bit --learning_rate 1e-4 ---cache_text_encoder_outputs --cache_text_encoder_outputs_to_disk --fp8_base ---highvram --max_train_epochs 4 --save_every_n_epochs 1 --dataset_config dataset_1024_bs2.toml ---output_dir path/to/output/dir --output_name sd3-lora-name -``` -(The command is multi-line for readability. Please combine it into one line.) - -Like FLUX.1 training, the `--blocks_to_swap` option for memory reduction is available. The maximum number of blocks that can be swapped is 36 for SD3.5L and 22 for SD3.5M. - -Adafactor optimizer is also available. - -`--cpu_offload_checkpointing` option is not available. - -We also not sure how many epochs are needed for convergence, and how the learning rate should be adjusted. - -The trained LoRA model can be used with ComfyUI. - -#### Key Options for SD3 LoRA training - -Here are the arguments. The arguments and sample settings are still experimental and may change in the future. Feedback on the settings is welcome. - -- `--network_module` is the module for LoRA training. Specify `networks.lora_sd3` for SD3 LoRA training. -- `--pretrained_model_name_or_path` is the path to the pretrained model (SD3/3.5). If you specify `--fp8_base`, you can use fp8 models for SD3/3.5. The fp8 model is only compatible with `float8_e4m3fn` format. -- `--clip_l` is the path to the CLIP-L model. -- `--clip_g` is the path to the CLIP-G model. -- `--t5xxl` is the path to the T5XXL model. If you specify `--fp8_base`, you can use fp8 (float8_e4m3fn) models for T5XXL. However, it is recommended to use fp16 models for caching. -- `--vae` is the path to the autoencoder model. __This option is not necessary for SD3.__ VAE is included in the standard SD3 model. -- `--disable_mmap_load_safetensors` is to disable memory mapping when loading safetensors. __This option significantly reduces the memory usage when loading models for Windows users.__ -- `--clip_l_dropout_rate`, `--clip_g_dropout_rate` and `--t5_dropout_rate` are the dropout rates for the embeddings of CLIP-L, CLIP-G, and T5XXL, described in [SAI research papre](http://arxiv.org/pdf/2403.03206). The default is 0.0. For LoRA training, it is seems to be better to set 0.0. -- `--pos_emb_random_crop_rate` is the rate of random cropping of positional embeddings, described in [SD3.5M model card](https://huggingface.co/stabilityai/stable-diffusion-3.5-medium). The default is 0. It is seems to be better to set 0.0 for LoRA training. -- `--enable_scaled_pos_embed` is to enable the scaled positional embeddings. The default is False. This option is an experimental feature for SD3.5M. Details are described below. -- `--training_shift` is the shift value for the training distribution of timesteps. The default is 1.0 (uniform distribution, no shift). If less than 1.0, the side closer to the image is more sampled, and if more than 1.0, the side closer to noise is more sampled. - -Other options are described below. - -#### Key Features for SD3 LoRA training - -1. CLIP-L, G and T5XXL LoRA Support: - - SD3 LoRA training now supports CLIP-L, CLIP-G and T5XXL LoRA training. - - Remove `--network_train_unet_only` from your command. - - Add `train_t5xxl=True` to `--network_args` to train T5XXL LoRA. CLIP-L and G is also trained at the same time. - - T5XXL output can be cached for CLIP-L and G LoRA training. So, `--cache_text_encoder_outputs` or `--cache_text_encoder_outputs_to_disk` is also available. - - The learning rates for CLIP-L, CLIP-G and T5XXL can be specified separately. Multiple numbers can be specified in `--text_encoder_lr`. For example, `--text_encoder_lr 1e-4 1e-5 5e-6`. The first value is the learning rate for CLIP-L, the second value is for CLIP-G, and the third value is for T5XXL. If you specify only one, the learning rates for CLIP-L, CLIP-G and T5XXL will be the same. If the third value is not specified, the second value is used for T5XXL. If `--text_encoder_lr` is not specified, the default learning rate `--learning_rate` is used for both CLIP-L and T5XXL. - - The trained LoRA can be used with ComfyUI. - - | trained LoRA|option|network_args|cache_text_encoder_outputs (*1)| - |---|---|---|---| - |MMDiT|`--network_train_unet_only`|-|o| - |MMDiT + CLIP-L + CLIP-G|-|-|o (*2)| - |MMDiT + CLIP-L + CLIP-G + T5XXL|-|`train_t5xxl=True`|-| - |CLIP-L + CLIP-G (*3)|`--network_train_text_encoder_only`|-|o (*2)| - |CLIP-L + CLIP-G + T5XXL (*3)|`--network_train_text_encoder_only`|`train_t5xxl=True`|-| - - - *1: `--cache_text_encoder_outputs` or `--cache_text_encoder_outputs_to_disk` is also available. - - *2: T5XXL output can be cached for CLIP-L and G LoRA training. - - *3: Not tested yet. - -2. Experimental FP8/FP16 mixed training: - - `--fp8_base_unet` enables training with fp8 for MMDiT and bf16/fp16 for CLIP-L/G/T5XXL. - - When specifying this option, the `--fp8_base` option is automatically enabled. - -3. Split Q/K/V Projection Layers (Experimental): - - Same as FLUX.1. - -4. CLIP-L/G and T5 Attention Mask Application: - - This function is planned to be implemented in the future. - -5. Multi-resolution Training Support: - - Only for SD3.5M. - - Same as FLUX.1 for data preparation. - - If you train with multiple resolutions, you can enable the scaled positional embeddings with `--enable_scaled_pos_embed`. The default is False. __This option is an experimental feature.__ - -6. Weighting scheme and training shift: - - The weighting scheme is described in the section 3.1 of the [SD3 paper](https://arxiv.org/abs/2403.03206v1). - - The uniform distribution is the default. If you want to change the distribution, see `--help` for options. - - `--training_shift` is the shift value for the training distribution of timesteps. - - The effect of a shift in uniform distribution is shown in the figure below. - - ![Figure_1](https://github.com/user-attachments/assets/99a72c67-adfb-4440-81d4-a718985ff350) - -Technical details of multi-resolution training for SD3.5M: - -SD3.5M does not use scaled positional embeddings for multi-resolution training, and is trained with a single positional embedding. Therefore, this feature is very experimental. - -Generally, in multi-resolution training, the values of the positional embeddings must be the same for each resolution. That is, the same value must be in the same position for 512x512, 768x768, and 1024x1024. To achieve this, the positional embeddings for each resolution are calculated in advance and switched according to the resolution of the training data. This feature is enabled by `--enable_scaled_pos_embed`. - -This idea and the code for calculating scaled positional embeddings are contributed by KohakuBlueleaf. Thanks to KohakuBlueleaf! - - -#### Specify rank for each layer in SD3 LoRA - -You can specify the rank for each layer in SD3 by specifying the following network_args. If you specify `0`, LoRA will not be applied to that layer. - -When network_args is not specified, the default value (`network_dim`) is applied, same as before. - -|network_args|target layer| -|---|---| -|context_attn_dim|attn in context_block| -|context_mlp_dim|mlp in context_block| -|context_mod_dim|adaLN_modulation in context_block| -|x_attn_dim|attn in x_block| -|x_mlp_dim|mlp in x_block| -|x_mod_dim|adaLN_modulation in x_block| - -`"verbose=True"` is also available for debugging. It shows the rank of each layer. - -example: -``` ---network_args "context_attn_dim=2" "context_mlp_dim=3" "context_mod_dim=4" "x_attn_dim=5" "x_mlp_dim=6" "x_mod_dim=7" "verbose=True" -``` - -You can apply LoRA to the conditioning layers of SD3 by specifying `emb_dims` in network_args. When specifying, be sure to specify 6 numbers in `[]` as a comma-separated list. - -example: -``` ---network_args "emb_dims=[2,3,4,5,6,7]" -``` - -Each number corresponds to `context_embedder`, `t_embedder`, `x_embedder`, `y_embedder`, `final_layer_adaLN_modulation`, `final_layer_linear`. The above example applies LoRA to all conditioning layers, with rank 2 for `context_embedder`, 3 for `t_embedder`, 4 for `context_embedder`, 5 for `y_embedder`, 6 for `final_layer_adaLN_modulation`, and 7 for `final_layer_linear`. - -If you specify `0`, LoRA will not be applied to that layer. For example, `[4,0,0,4,0,0]` applies LoRA only to `context_embedder` and `y_embedder`. - -#### Specify blocks to train in SD3 LoRA training - -You can specify the blocks to train in SD3 LoRA training by specifying `train_block_indices` in network_args. The indices are 0-based. The default (when omitted) is to train all blocks. The indices are specified as a list of integers or a range of integers, like `0,1,5,8` or `0,1,4-5,7`. - -The number of blocks depends on the model. The valid range is 0-(the number of blocks - 1). `all` is also available to train all blocks, `none` is also available to train no blocks. - -example: -``` ---network_args "train_block_indices=1,2,6-8" -``` - -### Inference for SD3 with LoRA model - -The inference script is also available. The script is `sd3_minimal_inference.py`. See `--help` for options. - -### SD3 fine-tuning - -Documentation is not available yet. Please refer to the FLUX.1 fine-tuning guide for now. The major difference are following: - -- `--clip_g` is also available for SD3 fine-tuning. -- `--timestep_sampling` `--discrete_flow_shift``--model_prediction_type` --guidance_scale` are not necessary for SD3 fine-tuning. -- Use `--vae` instead of `--ae` if necessary. __This option is not necessary for SD3.__ VAE is included in the standard SD3 model. -- `--disable_mmap_load_safetensors` is available. __This option significantly reduces the memory usage when loading models for Windows users.__ -- `--cpu_offload_checkpointing` is not available for SD3 fine-tuning. -- `--clip_l_dropout_rate`, `--clip_g_dropout_rate` and `--t5_dropout_rate` are available same as LoRA training. -- `--pos_emb_random_crop_rate` and `--enable_scaled_pos_embed` are available for SD3.5M fine-tuning. -- Training text encoders is available with `--train_text_encoder` option, similar to SDXL training. - - CLIP-L and G can be trained with `--train_text_encoder` option. Training T5XXL needs `--train_t5xxl` option. - - If you use the cached text encoder outputs for T5XXL with training CLIP-L and G, specify `--use_t5xxl_cache_only`. This option enables to use the cached text encoder outputs for T5XXL only. - - The learning rates for CLIP-L, CLIP-G and T5XXL can be specified separately. `--text_encoder_lr1`, `--text_encoder_lr2` and `--text_encoder_lr3` are available. - -### Extract LoRA from SD3 Models - -Not available yet. - -### Convert SD3 LoRA - -Not available yet. - -### Merge LoRA to SD3 checkpoint - -Not available yet. - --- [__Change History__](#change-history) is moved to the bottom of the page. From 952f9ce7be6794a88b12ba8fa37418c37b24f30a Mon Sep 17 00:00:00 2001 From: "Kohya S." <52813779+kohya-ss@users.noreply.github.com> Date: Thu, 4 Sep 2025 19:46:04 +0900 Subject: [PATCH 670/748] Update docs/train_textual_inversion.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- docs/train_textual_inversion.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/docs/train_textual_inversion.md b/docs/train_textual_inversion.md index c18c23071..b7c69eb7b 100644 --- a/docs/train_textual_inversion.md +++ b/docs/train_textual_inversion.md @@ -268,10 +268,7 @@ In your prompts, simply use the token string you trained (e.g., "mychar") and th * Try adjusting the learning rate (lower values like 5e-7) * Increase the number of training steps -3. **Out of memory errors** - * Reduce batch size in the dataset configuration - * Use `--gradient_checkpointing` - * Use `--cache_latents` (for SDXL) + * Use `--cache_latents`
日本語 From 0bb0d91615d690caa7167339701f5d86316fcd40 Mon Sep 17 00:00:00 2001 From: kohya-ss <52813779+kohya-ss@users.noreply.github.com> Date: Sat, 6 Sep 2025 19:52:54 +0900 Subject: [PATCH 671/748] doc: update introduction and clarify command line option priorities in config README --- docs/config_README-en.md | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/docs/config_README-en.md b/docs/config_README-en.md index 8c55903d0..78687ee6c 100644 --- a/docs/config_README-en.md +++ b/docs/config_README-en.md @@ -1,9 +1,6 @@ -Original Source by kohya-ss +First version: A.I Translation by Model: NousResearch/Nous-Hermes-2-Mixtral-8x7B-DPO, editing by Darkstorm2150 -First version: -A.I Translation by Model: NousResearch/Nous-Hermes-2-Mixtral-8x7B-DPO, editing by Darkstorm2150 - -Some parts are manually added. +Document is updated and maintained manually. # Config Readme @@ -267,10 +264,10 @@ The following command line argument options are ignored if a configuration file * `--reg_data_dir` * `--in_json` -The following command line argument options are given priority over the configuration file options if both are specified simultaneously. In most cases, they have the same names as the corresponding options in the configuration file. +For the command line options listed below, if an option is specified in both the command line arguments and the configuration file, the value from the configuration file will be given priority. Unless otherwise noted, the option names are the same. -| Command Line Argument Option | Prioritized Configuration File Option | -| ------------------------------- | ------------------------------------- | +| Command Line Argument Option | Corresponding Configuration File Option | +| ------------------------------- | --------------------------------------- | | `--bucket_no_upscale` | | | `--bucket_reso_steps` | | | `--caption_dropout_every_n_epochs` | | From ef4397963bdfc7882addc12e0a4510868a4b1f33 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Mon, 8 Sep 2025 14:16:33 -0400 Subject: [PATCH 672/748] Fix validation dataset documentation to not use subsets --- docs/flux_train_network.md | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/docs/flux_train_network.md b/docs/flux_train_network.md index 23828eb71..f5b67a7e0 100644 --- a/docs/flux_train_network.md +++ b/docs/flux_train_network.md @@ -550,18 +550,32 @@ You can calculate validation loss during training using a validation dataset to To set up validation, add a `validation_split` and optionally `validation_seed` to your dataset configuration TOML file. ```toml +validation_seed = 42 # [Optional] Validation seed, otherwise uses training seed for validation split . + [[datasets]] enable_bucket = true resolution = [1024, 1024] -validation_seed = 42 # [Optional] Validation seed, otherwise uses training seed for validation split . [[datasets.subsets]] image_dir = "path/to/image/directory" - validation_split = 0.1 # Split between 0.0 and 1.0 where 1.0 will use the full subset as a validation dataset + +[[datasets]] +enable_bucket = true +resolution = [1024, 1024] +validation_split = 0.1 # Split between 0.0 and 1.0 where 1.0 will use the full subset as a validation dataset + + [[datasets.subsets]] + # This directory will split 10% to validation and 90% to training + image_dir = "path/to/image/second-directory" + +[[datasets]] +enable_bucket = true +resolution = [1024, 1024] +validation_split = 1.0 # Will use this full subset as a validation subset. [[datasets.subsets]] + # This directory will use the 100% to validation and 0% to training image_dir = "path/to/image/full_validation" - validation_split = 1.0 # Will use this full subset as a validation subset. ``` **Notes:** From 78685b9c5f2141c99a1478ff3f4d59c276828dd1 Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Mon, 8 Sep 2025 14:18:50 -0400 Subject: [PATCH 673/748] Move general settings to top to make more clear the validation bits --- docs/flux_train_network.md | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/docs/flux_train_network.md b/docs/flux_train_network.md index f5b67a7e0..ccf6dff7e 100644 --- a/docs/flux_train_network.md +++ b/docs/flux_train_network.md @@ -551,17 +551,15 @@ To set up validation, add a `validation_split` and optionally `validation_seed` ```toml validation_seed = 42 # [Optional] Validation seed, otherwise uses training seed for validation split . - -[[datasets]] enable_bucket = true resolution = [1024, 1024] +[[datasets]] [[datasets.subsets]] + # This directory will use 100% of the images for training image_dir = "path/to/image/directory" [[datasets]] -enable_bucket = true -resolution = [1024, 1024] validation_split = 0.1 # Split between 0.0 and 1.0 where 1.0 will use the full subset as a validation dataset [[datasets.subsets]] @@ -569,8 +567,6 @@ validation_split = 0.1 # Split between 0.0 and 1.0 where 1.0 will use the full s image_dir = "path/to/image/second-directory" [[datasets]] -enable_bucket = true -resolution = [1024, 1024] validation_split = 1.0 # Will use this full subset as a validation subset. [[datasets.subsets]] From fe4c18934c2d34ff2eb3eb65ea1eaa8ecec207cd Mon Sep 17 00:00:00 2001 From: rockerBOO Date: Mon, 8 Sep 2025 14:28:55 -0400 Subject: [PATCH 674/748] blocks_to_swap is supported for validation loss now --- docs/flux_train_network.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/flux_train_network.md b/docs/flux_train_network.md index ccf6dff7e..3d61f8304 100644 --- a/docs/flux_train_network.md +++ b/docs/flux_train_network.md @@ -577,7 +577,7 @@ validation_split = 1.0 # Will use this full subset as a validation subset. **Notes:** * Validation loss calculation uses fixed timestep sampling and random seeds to reduce loss variation due to randomness for more stable evaluation. -* Currently, validation loss is not supported when using `--blocks_to_swap` or Schedule-Free optimizers (`AdamWScheduleFree`, `RAdamScheduleFree`, `ProdigyScheduleFree`). +* Currently, validation loss is not supported when using Schedule-Free optimizers (`AdamWScheduleFree`, `RAdamScheduleFree`, `ProdigyScheduleFree`).
日本語 From 5149be5a8708a60bbdd119e7a73b403c51a03458 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Thu, 11 Sep 2025 12:54:12 +0900 Subject: [PATCH 675/748] feat: initial commit for HunyuanImage-2.1 inference --- hunyuan_image_minimal_inference.py | 1197 ++++++++++++++++++++ library/attention.py | 50 + library/fp8_optimization_utils.py | 391 +++++++ library/hunyuan_image_models.py | 374 +++++++ library/hunyuan_image_modules.py | 804 ++++++++++++++ library/hunyuan_image_text_encoder.py | 649 +++++++++++ library/hunyuan_image_utils.py | 461 ++++++++ library/hunyuan_image_vae.py | 622 +++++++++++ library/lora_utils.py | 249 +++++ networks/lora_hunyuan_image.py | 1444 +++++++++++++++++++++++++ 10 files changed, 6241 insertions(+) create mode 100644 hunyuan_image_minimal_inference.py create mode 100644 library/attention.py create mode 100644 library/fp8_optimization_utils.py create mode 100644 library/hunyuan_image_models.py create mode 100644 library/hunyuan_image_modules.py create mode 100644 library/hunyuan_image_text_encoder.py create mode 100644 library/hunyuan_image_utils.py create mode 100644 library/hunyuan_image_vae.py create mode 100644 library/lora_utils.py create mode 100644 networks/lora_hunyuan_image.py diff --git a/hunyuan_image_minimal_inference.py b/hunyuan_image_minimal_inference.py new file mode 100644 index 000000000..8a956f491 --- /dev/null +++ b/hunyuan_image_minimal_inference.py @@ -0,0 +1,1197 @@ +import argparse +import datetime +import gc +from importlib.util import find_spec +import random +import os +import re +import time +import copy +from types import ModuleType +from typing import Tuple, Optional, List, Any, Dict + +import numpy as np +import torch +from safetensors.torch import load_file, save_file +from safetensors import safe_open +from tqdm import tqdm +from diffusers.utils.torch_utils import randn_tensor +from PIL import Image + +from library import hunyuan_image_models, hunyuan_image_text_encoder, hunyuan_image_utils +from library import hunyuan_image_vae +from library.hunyuan_image_vae import HunyuanVAE2D +from library.device_utils import clean_memory_on_device +from networks import lora_hunyuan_image + + +lycoris_available = find_spec("lycoris") is not None +if lycoris_available: + from lycoris.kohya import create_network_from_weights + +from library.custom_offloading_utils import synchronize_device +from library.utils import mem_eff_save_file, setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + + +class GenerationSettings: + def __init__(self, device: torch.device, dit_weight_dtype: Optional[torch.dtype] = None): + self.device = device + self.dit_weight_dtype = dit_weight_dtype # not used currently because model may be optimized + + +def parse_args() -> argparse.Namespace: + """parse command line arguments""" + parser = argparse.ArgumentParser(description="HunyuanImage inference script") + + parser.add_argument("--dit", type=str, default=None, help="DiT directory or path") + parser.add_argument("--vae", type=str, default=None, help="VAE directory or path") + parser.add_argument("--text_encoder", type=str, required=True, help="Text Encoder 1 (Qwen2.5-VL) directory or path") + parser.add_argument("--byt5", type=str, default=None, help="ByT5 Text Encoder 2 directory or path") + + # LoRA + parser.add_argument("--lora_weight", type=str, nargs="*", required=False, default=None, help="LoRA weight path") + parser.add_argument("--lora_multiplier", type=float, nargs="*", default=1.0, help="LoRA multiplier") + parser.add_argument("--include_patterns", type=str, nargs="*", default=None, help="LoRA module include patterns") + parser.add_argument("--exclude_patterns", type=str, nargs="*", default=None, help="LoRA module exclude patterns") + parser.add_argument( + "--save_merged_model", + type=str, + default=None, + help="Save merged model to path. If specified, no inference will be performed.", + ) + + # inference + parser.add_argument( + "--guidance_scale", type=float, default=4.0, help="Guidance scale for classifier free guidance. Default is 4.0." + ) + parser.add_argument("--prompt", type=str, default=None, help="prompt for generation") + parser.add_argument("--negative_prompt", type=str, default="", help="negative prompt for generation, default is empty string") + parser.add_argument("--image_size", type=int, nargs=2, default=[256, 256], help="image size, height and width") + parser.add_argument("--infer_steps", type=int, default=25, help="number of inference steps, default is 25") + parser.add_argument("--save_path", type=str, required=True, help="path to save generated video") + parser.add_argument("--seed", type=int, default=None, help="Seed for evaluation.") + + # Flow Matching + parser.add_argument( + "--flow_shift", + type=float, + default=None, + help="Shift factor for flow matching schedulers. Default is None (default).", + ) + + parser.add_argument("--fp8", action="store_true", help="use fp8 for DiT model") + parser.add_argument("--fp8_scaled", action="store_true", help="use scaled fp8 for DiT, only for fp8") + + parser.add_argument("--text_encoder_cpu", action="store_true", help="Inference on CPU for Text Encoders") + parser.add_argument("--vae_enable_tiling", action="store_true", help="Enable tiling for VAE decoding") + parser.add_argument( + "--device", type=str, default=None, help="device to use for inference. If None, use CUDA if available, otherwise use CPU" + ) + parser.add_argument( + "--attn_mode", + type=str, + default="torch", + choices=["flash", "torch", "sageattn", "xformers", "sdpa"], # "flash2", "flash3", + help="attention mode", + ) + parser.add_argument("--blocks_to_swap", type=int, default=0, help="number of blocks to swap in the model") + parser.add_argument( + "--output_type", + type=str, + default="images", + choices=["images", "latent", "latent_images"], + help="output type", + ) + parser.add_argument("--no_metadata", action="store_true", help="do not save metadata") + parser.add_argument("--latent_path", type=str, nargs="*", default=None, help="path to latent for decode. no inference") + parser.add_argument( + "--lycoris", action="store_true", help=f"use lycoris for inference{'' if lycoris_available else ' (not available)'}" + ) + + # arguments for batch and interactive modes + parser.add_argument("--from_file", type=str, default=None, help="Read prompts from a file") + parser.add_argument("--interactive", action="store_true", help="Interactive mode: read prompts from console") + + args = parser.parse_args() + + # Validate arguments + if args.from_file and args.interactive: + raise ValueError("Cannot use both --from_file and --interactive at the same time") + + if args.latent_path is None or len(args.latent_path) == 0: + if args.prompt is None and not args.from_file and not args.interactive: + raise ValueError("Either --prompt, --from_file or --interactive must be specified") + + if args.lycoris and not lycoris_available: + raise ValueError("install lycoris: https://github.com/KohakuBlueleaf/LyCORIS") + + return args + + +def parse_prompt_line(line: str) -> Dict[str, Any]: + """Parse a prompt line into a dictionary of argument overrides + + Args: + line: Prompt line with options + + Returns: + Dict[str, Any]: Dictionary of argument overrides + """ + # TODO common function with hv_train_network.line_to_prompt_dict + parts = line.split(" --") + prompt = parts[0].strip() + + # Create dictionary of overrides + overrides = {"prompt": prompt} + + for part in parts[1:]: + if not part.strip(): + continue + option_parts = part.split(" ", 1) + option = option_parts[0].strip() + value = option_parts[1].strip() if len(option_parts) > 1 else "" + + # Map options to argument names + if option == "w": + overrides["image_size_width"] = int(value) + elif option == "h": + overrides["image_size_height"] = int(value) + elif option == "d": + overrides["seed"] = int(value) + elif option == "s": + overrides["infer_steps"] = int(value) + elif option == "g" or option == "l": + overrides["guidance_scale"] = float(value) + elif option == "fs": + overrides["flow_shift"] = float(value) + # elif option == "i": + # overrides["image_path"] = value + # elif option == "im": + # overrides["image_mask_path"] = value + # elif option == "cn": + # overrides["control_path"] = value + elif option == "n": + overrides["negative_prompt"] = value + # elif option == "ci": # control_image_path + # overrides["control_image_path"] = value + + return overrides + + +def apply_overrides(args: argparse.Namespace, overrides: Dict[str, Any]) -> argparse.Namespace: + """Apply overrides to args + + Args: + args: Original arguments + overrides: Dictionary of overrides + + Returns: + argparse.Namespace: New arguments with overrides applied + """ + args_copy = copy.deepcopy(args) + + for key, value in overrides.items(): + if key == "image_size_width": + args_copy.image_size[1] = value + elif key == "image_size_height": + args_copy.image_size[0] = value + else: + setattr(args_copy, key, value) + + return args_copy + + +def check_inputs(args: argparse.Namespace) -> Tuple[int, int]: + """Validate video size and length + + Args: + args: command line arguments + + Returns: + Tuple[int, int]: (height, width) + """ + height = args.image_size[0] + width = args.image_size[1] + + if height % 32 != 0 or width % 32 != 0: + raise ValueError(f"`height` and `width` have to be divisible by 32 but are {height} and {width}.") + + return height, width + + +# region Model + + +def load_dit_model( + args: argparse.Namespace, device: torch.device, dit_weight_dtype: Optional[torch.dtype] = None +) -> hunyuan_image_models.HYImageDiffusionTransformer: + """load DiT model + + Args: + args: command line arguments + device: device to use + dit_weight_dtype: data type for the model weights. None for as-is + + Returns: + qwen_image_model.HYImageDiffusionTransformer: DiT model instance + """ + # If LyCORIS is enabled, we will load the model to CPU and then merge LoRA weights (static method) + + loading_device = "cpu" + if args.blocks_to_swap == 0 and not args.lycoris: + loading_device = device + + # load LoRA weights + if not args.lycoris and args.lora_weight is not None and len(args.lora_weight) > 0: + lora_weights_list = [] + for lora_weight in args.lora_weight: + logger.info(f"Loading LoRA weight from: {lora_weight}") + lora_sd = load_file(lora_weight) # load on CPU, dtype is as is + # lora_sd = filter_lora_state_dict(lora_sd, args.include_patterns, args.exclude_patterns) + lora_weights_list.append(lora_sd) + else: + lora_weights_list = None + + loading_weight_dtype = dit_weight_dtype + if args.fp8_scaled and not args.lycoris: + loading_weight_dtype = None # we will load weights as-is and then optimize to fp8 + + model = hunyuan_image_models.load_hunyuan_image_model( + device, + args.dit, + args.attn_mode, + False, + loading_device, + loading_weight_dtype, + args.fp8_scaled and not args.lycoris, + lora_weights_list=lora_weights_list, + lora_multipliers=args.lora_multiplier, + ) + + # merge LoRA weights + if args.lycoris: + if args.lora_weight is not None and len(args.lora_weight) > 0: + merge_lora_weights(lora_hunyuan_image, model, args, device) + + if args.fp8_scaled: + # load state dict as-is and optimize to fp8 + state_dict = model.state_dict() + + # if no blocks to swap, we can move the weights to GPU after optimization on GPU (omit redundant CPU->GPU copy) + move_to_device = args.blocks_to_swap == 0 # if blocks_to_swap > 0, we will keep the model on CPU + state_dict = model.fp8_optimization(state_dict, device, move_to_device, use_scaled_mm=args.fp8_fast) + + info = model.load_state_dict(state_dict, strict=True, assign=True) + logger.info(f"Loaded FP8 optimized weights: {info}") + + # if we only want to save the model, we can skip the rest + if args.save_merged_model: + return None + + if not args.fp8_scaled: + # simple cast to dit_weight_dtype + target_dtype = None # load as-is (dit_weight_dtype == dtype of the weights in state_dict) + target_device = None + + if dit_weight_dtype is not None: # in case of args.fp8 and not args.fp8_scaled + logger.info(f"Convert model to {dit_weight_dtype}") + target_dtype = dit_weight_dtype + + if args.blocks_to_swap == 0: + logger.info(f"Move model to device: {device}") + target_device = device + + model.to(target_device, target_dtype) # move and cast at the same time. this reduces redundant copy operations + + # if args.compile: + # compile_backend, compile_mode, compile_dynamic, compile_fullgraph = args.compile_args + # logger.info( + # f"Torch Compiling[Backend: {compile_backend}; Mode: {compile_mode}; Dynamic: {compile_dynamic}; Fullgraph: {compile_fullgraph}]" + # ) + # torch._dynamo.config.cache_size_limit = 32 + # for i in range(len(model.blocks)): + # model.blocks[i] = torch.compile( + # model.blocks[i], + # backend=compile_backend, + # mode=compile_mode, + # dynamic=compile_dynamic.lower() in "true", + # fullgraph=compile_fullgraph.lower() in "true", + # ) + + if args.blocks_to_swap > 0: + logger.info(f"Enable swap {args.blocks_to_swap} blocks to CPU from device: {device}") + model.enable_block_swap(args.blocks_to_swap, device, supports_backward=False) + model.move_to_device_except_swap_blocks(device) + model.prepare_block_swap_before_forward() + else: + # make sure the model is on the right device + model.to(device) + + model.eval().requires_grad_(False) + clean_memory_on_device(device) + + return model + + +def merge_lora_weights( + lora_module: ModuleType, + model: torch.nn.Module, + lora_weights: List[str], + lora_multipliers: List[float], + include_patterns: Optional[List[str]], + exclude_patterns: Optional[List[str]], + device: torch.device, + lycoris: bool = False, + save_merged_model: Optional[str] = None, + converter: Optional[callable] = None, +) -> None: + """merge LoRA weights to the model + + Args: + lora_module: LoRA module, e.g. lora_wan + model: DiT model + lora_weights: paths to LoRA weights + lora_multipliers: multipliers for LoRA weights + include_patterns: regex patterns to include LoRA modules + exclude_patterns: regex patterns to exclude LoRA modules + device: torch.device + lycoris: use LyCORIS + save_merged_model: path to save merged model, if specified, no inference will be performed + converter: Optional[callable] = None + """ + if lora_weights is None or len(lora_weights) == 0: + return + + for i, lora_weight in enumerate(lora_weights): + if lora_multipliers is not None and len(lora_multipliers) > i: + lora_multiplier = lora_multipliers[i] + else: + lora_multiplier = 1.0 + + logger.info(f"Loading LoRA weights from {lora_weight} with multiplier {lora_multiplier}") + weights_sd = load_file(lora_weight) + if converter is not None: + weights_sd = converter(weights_sd) + + # apply include/exclude patterns + original_key_count = len(weights_sd.keys()) + if include_patterns is not None and len(include_patterns) > i: + include_pattern = include_patterns[i] + regex_include = re.compile(include_pattern) + weights_sd = {k: v for k, v in weights_sd.items() if regex_include.search(k)} + logger.info(f"Filtered keys with include pattern {include_pattern}: {original_key_count} -> {len(weights_sd.keys())}") + if exclude_patterns is not None and len(exclude_patterns) > i: + original_key_count_ex = len(weights_sd.keys()) + exclude_pattern = exclude_patterns[i] + regex_exclude = re.compile(exclude_pattern) + weights_sd = {k: v for k, v in weights_sd.items() if not regex_exclude.search(k)} + logger.info( + f"Filtered keys with exclude pattern {exclude_pattern}: {original_key_count_ex} -> {len(weights_sd.keys())}" + ) + if len(weights_sd) != original_key_count: + remaining_keys = list(set([k.split(".", 1)[0] for k in weights_sd.keys()])) + remaining_keys.sort() + logger.info(f"Remaining LoRA modules after filtering: {remaining_keys}") + if len(weights_sd) == 0: + logger.warning("No keys left after filtering.") + + if lycoris: + lycoris_net, _ = create_network_from_weights( + multiplier=lora_multiplier, + file=None, + weights_sd=weights_sd, + unet=model, + text_encoder=None, + vae=None, + for_inference=True, + ) + lycoris_net.merge_to(None, model, weights_sd, dtype=None, device=device) + else: + network = lora_module.create_arch_network_from_weights(lora_multiplier, weights_sd, unet=model, for_inference=True) + network.merge_to(None, model, weights_sd, device=device, non_blocking=True) + + synchronize_device(device) + logger.info("LoRA weights loaded") + + # save model here before casting to dit_weight_dtype + if save_merged_model: + logger.info(f"Saving merged model to {save_merged_model}") + mem_eff_save_file(model.state_dict(), save_merged_model) # save_file needs a lot of memory + logger.info("Merged model saved") + + +# endregion + + +def decode_latent(vae: HunyuanVAE2D, latent: torch.Tensor, device: torch.device, enable_tiling: bool = False) -> torch.Tensor: + logger.info(f"Decoding image. Latent shape {latent.shape}, device {device}") + + vae.to(device) + if enable_tiling: + vae.enable_tiling() + else: + vae.disable_tiling() + with torch.no_grad(): + latent = latent / vae.scaling_factor # scale latent back to original range + pixels = vae.decode(latent.to(device, dtype=vae.dtype)) + pixels = pixels.to("cpu", dtype=torch.float32) # move to CPU and convert to float32 (bfloat16 is not supported by numpy) + vae.to("cpu") + + logger.info(f"Decoded. Pixel shape {pixels.shape}") + return pixels[0] # remove batch dimension + + +def prepare_text_inputs( + args: argparse.Namespace, device: torch.device, shared_models: Optional[Dict] = None +) -> Tuple[Dict[str, Any], Dict[str, Any]]: + """Prepare text-related inputs for T2I: LLM encoding.""" + + # load text encoder: conds_cache holds cached encodings for prompts without padding + conds_cache = {} + vl_device = torch.device("cpu") if args.text_encoder_cpu else device + if shared_models is not None: + tokenizer_vlm = shared_models.get("tokenizer_vlm") + text_encoder_vlm = shared_models.get("text_encoder_vlm") + tokenizer_byt5 = shared_models.get("tokenizer_byt5") + text_encoder_byt5 = shared_models.get("text_encoder_byt5") + + if "conds_cache" in shared_models: # Use shared cache if available + conds_cache = shared_models["conds_cache"] + + # text_encoder is on device (batched inference) or CPU (interactive inference) + else: # Load if not in shared_models + vl_dtype = torch.bfloat16 # Default dtype for Text Encoder + tokenizer_vlm, text_encoder_vlm = hunyuan_image_text_encoder.load_qwen2_5_vl( + args.text_encoder, dtype=vl_dtype, device=vl_device, disable_mmap=True + ) + tokenizer_byt5, text_encoder_byt5 = hunyuan_image_text_encoder.load_byt5( + args.byt5, dtype=torch.float16, device=vl_device, disable_mmap=True + ) + + # Store original devices to move back later if they were shared. This does nothing if shared_models is None + text_encoder_original_device = text_encoder_vlm.device if text_encoder_vlm else None + + # Ensure text_encoder is not None before proceeding + if not text_encoder_vlm or not tokenizer_vlm or not tokenizer_byt5 or not text_encoder_byt5: + raise ValueError("Text encoder or tokenizer is not loaded properly.") + + # Define a function to move models to device if needed + # This is to avoid moving models if not needed, especially in interactive mode + model_is_moved = False + + def move_models_to_device_if_needed(): + nonlocal model_is_moved + nonlocal shared_models + + if model_is_moved: + return + model_is_moved = True + + logger.info(f"Moving DiT and Text Encoder to appropriate device: {device} or CPU") + if shared_models and "model" in shared_models: # DiT model is shared + if args.blocks_to_swap > 0: + logger.info("Waiting for 5 seconds to finish block swap") + time.sleep(5) + model = shared_models["model"] + model.to("cpu") + clean_memory_on_device(device) # clean memory on device before moving models + + text_encoder_vlm.to(vl_device) # If text_encoder_cpu is True, this will be CPU + text_encoder_byt5.to(vl_device) + + logger.info("Encoding prompt with Text Encoder") + + prompt = args.prompt + cache_key = prompt + if cache_key in conds_cache: + embed, mask = conds_cache[cache_key] + else: + move_models_to_device_if_needed() + + embed, mask = hunyuan_image_text_encoder.get_qwen_prompt_embeds(tokenizer_vlm, text_encoder_vlm, prompt) + ocr_mask, embed_byt5, mask_byt5 = hunyuan_image_text_encoder.get_glyph_prompt_embeds( + tokenizer_byt5, text_encoder_byt5, prompt + ) + embed = embed.cpu() + mask = mask.cpu() + embed_byt5 = embed_byt5.cpu() + mask_byt5 = mask_byt5.cpu() + + conds_cache[cache_key] = (embed, mask, embed_byt5, mask_byt5, ocr_mask) + + negative_prompt = args.negative_prompt + cache_key = negative_prompt + if cache_key in conds_cache: + negative_embed, negative_mask = conds_cache[cache_key] + else: + move_models_to_device_if_needed() + + negative_embed, negative_mask = hunyuan_image_text_encoder.get_qwen_prompt_embeds( + tokenizer_vlm, text_encoder_vlm, negative_prompt + ) + negative_ocr_mask, negative_embed_byt5, negative_mask_byt5 = hunyuan_image_text_encoder.get_glyph_prompt_embeds( + tokenizer_byt5, text_encoder_byt5, negative_prompt + ) + negative_embed = negative_embed.cpu() + negative_mask = negative_mask.cpu() + negative_embed_byt5 = negative_embed_byt5.cpu() + negative_mask_byt5 = negative_mask_byt5.cpu() + + conds_cache[cache_key] = (negative_embed, negative_mask, negative_embed_byt5, negative_mask_byt5, negative_ocr_mask) + + if not (shared_models and "text_encoder_vlm" in shared_models): # if loaded locally + # There is a bug text_encoder is not freed from GPU memory when text encoder is fp8 + del tokenizer_vlm, text_encoder_vlm, tokenizer_byt5, text_encoder_byt5 + gc.collect() # This may force Text Encoder to be freed from GPU memory + else: # if shared, move back to original device (likely CPU) + if text_encoder_vlm: + text_encoder_vlm.to(text_encoder_original_device) + if text_encoder_byt5: + text_encoder_byt5.to(text_encoder_original_device) + + clean_memory_on_device(device) + + arg_c = {"embed": embed, "mask": mask, "embed_byt5": embed_byt5, "mask_byt5": mask_byt5, "ocr_mask": ocr_mask, "prompt": prompt} + arg_null = { + "embed": negative_embed, + "mask": negative_mask, + "embed_byt5": negative_embed_byt5, + "mask_byt5": negative_mask_byt5, + "ocr_mask": negative_ocr_mask, + "prompt": negative_prompt, + } + + return arg_c, arg_null + + +def generate( + args: argparse.Namespace, + gen_settings: GenerationSettings, + shared_models: Optional[Dict] = None, + precomputed_text_data: Optional[Dict] = None, +) -> torch.Tensor: + """main function for generation + + Args: + args: command line arguments + shared_models: dictionary containing pre-loaded models (mainly for DiT) + precomputed_image_data: Optional dictionary with precomputed image data + precomputed_text_data: Optional dictionary with precomputed text data + + Returns: + tuple: (HunyuanVAE2D model (vae) or None, torch.Tensor generated latent) + """ + device, dit_weight_dtype = (gen_settings.device, gen_settings.dit_weight_dtype) + + # prepare seed + seed = args.seed if args.seed is not None else random.randint(0, 2**32 - 1) + args.seed = seed # set seed to args for saving + + if precomputed_text_data is not None: + logger.info("Using precomputed text data.") + context = precomputed_text_data["context"] + context_null = precomputed_text_data["context_null"] + + else: + logger.info("No precomputed data. Preparing image and text inputs.") + context, context_null = prepare_text_inputs(args, device, shared_models) + + if shared_models is None or "model" not in shared_models: + # load DiT model + model = load_dit_model(args, device, dit_weight_dtype) + + # if we only want to save the model, we can skip the rest + if args.save_merged_model: + return None + + if shared_models is not None: + shared_models["model"] = model + else: + # use shared model + model: hunyuan_image_models.HYImageDiffusionTransformer = shared_models["model"] + # model.move_to_device_except_swap_blocks(device) # Handles block swap correctly + # model.prepare_block_swap_before_forward() + + # set random generator + seed_g = torch.Generator(device="cpu") + seed_g.manual_seed(seed) + + height, width = check_inputs(args) + logger.info(f"Image size: {height}x{width} (HxW), infer_steps: {args.infer_steps}") + + # image generation ###### + + logger.info(f"Prompt: {context['prompt']}") + + embed = context["embed"].to(device, dtype=torch.bfloat16) + mask = context["mask"].to(device, dtype=torch.bfloat16) + embed_byt5 = context["embed_byt5"].to(device, dtype=torch.bfloat16) + mask_byt5 = context["mask_byt5"].to(device, dtype=torch.bfloat16) + ocr_mask = context["ocr_mask"] # list of bool + negative_embed = context_null["embed"].to(device, dtype=torch.bfloat16) + negative_mask = context_null["mask"].to(device, dtype=torch.bfloat16) + negative_embed_byt5 = context_null["embed_byt5"].to(device, dtype=torch.bfloat16) + negative_mask_byt5 = context_null["mask_byt5"].to(device, dtype=torch.bfloat16) + # negative_ocr_mask = context_null["ocr_mask"] # list of bool + + # Prepare latent variables + num_channels_latents = model.in_channels + shape = (1, num_channels_latents, height // hunyuan_image_vae.VAE_SCALE_FACTOR, width // hunyuan_image_vae.VAE_SCALE_FACTOR) + latents = randn_tensor(shape, generator=seed_g, device=device, dtype=torch.bfloat16) + + logger.info( + f"Embed: {embed.shape}, embed byt5: {embed_byt5.shape}, negative_embed: {negative_embed.shape}, negative embed byt5: {negative_embed_byt5.shape}, latents: {latents.shape}" + ) + + # Prepare timesteps + timesteps, sigmas = hunyuan_image_utils.get_timesteps_sigmas(args.infer_steps, args.flow_shift, device) + + # Prepare Guider + cfg_guider_ocr = hunyuan_image_utils.AdaptiveProjectedGuidance( + guidance_scale=10.0, eta=0.0, adaptive_projected_guidance_rescale=10.0, adaptive_projected_guidance_momentum=-0.5 + ) + cfg_guider_general = hunyuan_image_utils.AdaptiveProjectedGuidance( + guidance_scale=10.0, eta=0.0, adaptive_projected_guidance_rescale=10.0, adaptive_projected_guidance_momentum=-0.5 + ) + + # Denoising loop + do_cfg = args.guidance_scale != 1.0 + with tqdm(total=len(timesteps), desc="Denoising steps") as pbar: + for i, t in enumerate(timesteps): + t_expand = t.expand(latents.shape[0]).to(latents.dtype) + + with torch.no_grad(): + noise_pred = model(latents, t_expand, embed, mask, embed_byt5, mask_byt5) + + if do_cfg: + with torch.no_grad(): + uncond_noise_pred = model( + latents, t_expand, negative_embed, negative_mask, negative_embed_byt5, negative_mask_byt5 + ) + noise_pred = hunyuan_image_utils.apply_classifier_free_guidance( + noise_pred, + uncond_noise_pred, + ocr_mask[0], + args.guidance_scale, + i, + cfg_guider_ocr=cfg_guider_ocr, + cfg_guider_general=cfg_guider_general, + ) + + # ensure latents dtype is consistent + latents = hunyuan_image_utils.step(latents, noise_pred, sigmas, i).to(latents.dtype) + + pbar.update() + + return latents + + +def get_time_flag(): + return datetime.datetime.fromtimestamp(time.time()).strftime("%Y%m%d-%H%M%S-%f")[:-3] + + +def save_latent(latent: torch.Tensor, args: argparse.Namespace, height: int, width: int) -> str: + """Save latent to file + + Args: + latent: Latent tensor + args: command line arguments + height: height of frame + width: width of frame + + Returns: + str: Path to saved latent file + """ + save_path = args.save_path + os.makedirs(save_path, exist_ok=True) + time_flag = get_time_flag() + + seed = args.seed + + latent_path = f"{save_path}/{time_flag}_{seed}_latent.safetensors" + + if args.no_metadata: + metadata = None + else: + metadata = { + "seeds": f"{seed}", + "prompt": f"{args.prompt}", + "height": f"{height}", + "width": f"{width}", + "infer_steps": f"{args.infer_steps}", + # "embedded_cfg_scale": f"{args.embedded_cfg_scale}", + "guidance_scale": f"{args.guidance_scale}", + } + if args.negative_prompt is not None: + metadata["negative_prompt"] = f"{args.negative_prompt}" + + sd = {"latent": latent.contiguous()} + save_file(sd, latent_path, metadata=metadata) + logger.info(f"Latent saved to: {latent_path}") + + return latent_path + + +def save_images(sample: torch.Tensor, args: argparse.Namespace, original_base_name: Optional[str] = None) -> str: + """Save images to directory + + Args: + sample: Video tensor + args: command line arguments + original_base_name: Original base name (if latents are loaded from files) + + Returns: + str: Path to saved images directory + """ + save_path = args.save_path + os.makedirs(save_path, exist_ok=True) + time_flag = get_time_flag() + + seed = args.seed + original_name = "" if original_base_name is None else f"_{original_base_name}" + image_name = f"{time_flag}_{seed}{original_name}" + + x = torch.clamp(sample, -1.0, 1.0) + x = ((x + 1.0) * 127.5).to(torch.uint8).cpu().numpy() + x = x.transpose(1, 2, 0) # C, H, W -> H, W, C + + image = Image.fromarray(x) + image.save(os.path.join(save_path, f"{image_name}.png")) + + logger.info(f"Sample images saved to: {save_path}/{image_name}") + + return f"{save_path}/{image_name}" + + +def save_output( + args: argparse.Namespace, + vae: HunyuanVAE2D, + latent: torch.Tensor, + device: torch.device, + original_base_names: Optional[List[str]] = None, +) -> None: + """save output + + Args: + args: command line arguments + vae: VAE model + latent: latent tensor + device: device to use + original_base_names: original base names (if latents are loaded from files) + """ + height, width = latent.shape[-2], latent.shape[-1] # BCTHW + height *= hunyuan_image_vae.VAE_SCALE_FACTOR + width *= hunyuan_image_vae.VAE_SCALE_FACTOR + # print(f"Saving output. Latent shape {latent.shape}; pixel shape {height}x{width}") + if args.output_type == "latent" or args.output_type == "latent_images": + # save latent + save_latent(latent, args, height, width) + if args.output_type == "latent": + return + + if vae is None: + logger.error("VAE is None, cannot decode latents for saving video/images.") + return + + if latent.ndim == 2: # S,C. For packed latents from other inference scripts + latent = latent.unsqueeze(0) + height, width = check_inputs(args) # Get height/width from args + latent = latent.view( + 1, vae.latent_channels, height // hunyuan_image_vae.VAE_SCALE_FACTOR, width // hunyuan_image_vae.VAE_SCALE_FACTOR + ) + + image = decode_latent(vae, latent, device, args.vae_enable_tiling) + + if args.output_type == "images" or args.output_type == "latent_images": + # save images + if original_base_names is None or len(original_base_names) == 0: + original_name = "" + else: + original_name = f"_{original_base_names[0]}" + save_images(image, args, original_name) + + +def preprocess_prompts_for_batch(prompt_lines: List[str], base_args: argparse.Namespace) -> List[Dict]: + """Process multiple prompts for batch mode + + Args: + prompt_lines: List of prompt lines + base_args: Base command line arguments + + Returns: + List[Dict]: List of prompt data dictionaries + """ + prompts_data = [] + + for line in prompt_lines: + line = line.strip() + if not line or line.startswith("#"): # Skip empty lines and comments + continue + + # Parse prompt line and create override dictionary + prompt_data = parse_prompt_line(line) + logger.info(f"Parsed prompt data: {prompt_data}") + prompts_data.append(prompt_data) + + return prompts_data + + +def load_shared_models(args: argparse.Namespace) -> Dict: + """Load shared models for batch processing or interactive mode. + Models are loaded to CPU to save memory. VAE is NOT loaded here. + DiT model is also NOT loaded here, handled by process_batch_prompts or generate. + + Args: + args: Base command line arguments + + Returns: + Dict: Dictionary of shared models (text/image encoders) + """ + shared_models = {} + # Load text encoders to CPU + vl_dtype = torch.bfloat16 # Default dtype for Text Encoder + tokenizer_vlm, text_encoder_vlm = hunyuan_image_text_encoder.load_qwen2_5_vl( + args.text_encoder, dtype=vl_dtype, device="cpu", disable_mmap=True + ) + tokenizer_byt5, text_encoder_byt5 = hunyuan_image_text_encoder.load_byt5( + args.byt5, dtype=torch.float16, device="cpu", disable_mmap=True + ) + shared_models["tokenizer_vlm"] = tokenizer_vlm + shared_models["text_encoder_vlm"] = text_encoder_vlm + shared_models["tokenizer_byt5"] = tokenizer_byt5 + shared_models["text_encoder_byt5"] = text_encoder_byt5 + return shared_models + + +def process_batch_prompts(prompts_data: List[Dict], args: argparse.Namespace) -> None: + """Process multiple prompts with model reuse and batched precomputation + + Args: + prompts_data: List of prompt data dictionaries + args: Base command line arguments + """ + if not prompts_data: + logger.warning("No valid prompts found") + return + + gen_settings = get_generation_settings(args) + dit_weight_dtype = gen_settings.dit_weight_dtype + device = gen_settings.device + + # 1. Prepare VAE + logger.info("Loading VAE for batch generation...") + vae_for_batch = hunyuan_image_vae.load_vae(args.vae, device="cpu", disable_mmap=True) + vae_for_batch.eval() + + all_prompt_args_list = [apply_overrides(args, pd) for pd in prompts_data] # Create all arg instances first + for prompt_args in all_prompt_args_list: + check_inputs(prompt_args) # Validate each prompt's height/width + + # 2. Precompute Text Data (Text Encoder) + logger.info("Loading Text Encoder for batch text preprocessing...") + + # Text Encoder loaded to CPU by load_text_encoder + vl_dtype = torch.bfloat16 # Default dtype for Text Encoder + tokenizer_vlm, text_encoder_vlm_batch = hunyuan_image_text_encoder.load_qwen2_5_vl( + args.text_encoder, dtype=vl_dtype, device="cpu", disable_mmap=True + ) + tokenizer_byt5, text_encoder_byt5_batch = hunyuan_image_text_encoder.load_byt5( + args.byt5, dtype=torch.float16, device="cpu", disable_mmap=True + ) + + # Text Encoder to device for this phase + vl_device = torch.device("cpu") if args.text_encoder_cpu else device + text_encoder_vlm_batch.to(vl_device) # Moved into prepare_text_inputs logic + text_encoder_byt5_batch.to(vl_device) + + all_precomputed_text_data = [] + conds_cache_batch = {} + + logger.info("Preprocessing text and LLM/TextEncoder encoding for all prompts...") + temp_shared_models_txt = { + "tokenizer_vlm": tokenizer_vlm, + "text_encoder_vlm": text_encoder_vlm_batch, # on GPU if not text_encoder_cpu + "tokenizer_byt5": tokenizer_byt5, + "text_encoder_byt5": text_encoder_byt5_batch, # on GPU if not text_encoder_cpu + "conds_cache": conds_cache_batch, + } + + for i, prompt_args_item in enumerate(all_prompt_args_list): + logger.info(f"Text preprocessing for prompt {i+1}/{len(all_prompt_args_list)}: {prompt_args_item.prompt}") + + # prepare_text_inputs will move text_encoders to device temporarily + context, context_null = prepare_text_inputs(prompt_args_item, device, temp_shared_models_txt) + text_data = {"context": context, "context_null": context_null} + all_precomputed_text_data.append(text_data) + + # Models should be removed from device after prepare_text_inputs + del tokenizer_batch, text_encoder_batch, temp_shared_models_txt, conds_cache_batch + gc.collect() # Force cleanup of Text Encoder from GPU memory + clean_memory_on_device(device) + + # 3. Load DiT Model once + logger.info("Loading DiT model for batch generation...") + # Use args from the first prompt for DiT loading (LoRA etc. should be consistent for a batch) + first_prompt_args = all_prompt_args_list[0] + dit_model = load_dit_model(first_prompt_args, device, dit_weight_dtype) # Load directly to target device if possible + + if first_prompt_args.save_merged_model: + logger.info("Merged DiT model saved. Skipping generation.") + + shared_models_for_generate = {"model": dit_model} # Pass DiT via shared_models + + all_latents = [] + + logger.info("Generating latents for all prompts...") + with torch.no_grad(): + for i, prompt_args_item in enumerate(all_prompt_args_list): + current_text_data = all_precomputed_text_data[i] + height, width = check_inputs(prompt_args_item) # Get height/width for each prompt + + logger.info(f"Generating latent for prompt {i+1}/{len(all_prompt_args_list)}: {prompt_args_item.prompt}") + try: + # generate is called with precomputed data, so it won't load Text Encoders. + # It will use the DiT model from shared_models_for_generate. + latent = generate(prompt_args_item, gen_settings, shared_models_for_generate, current_text_data) + + if latent is None: # and prompt_args_item.save_merged_model: # Should be caught earlier + continue + + # Save latent if needed (using data from precomputed_image_data for H/W) + if prompt_args_item.output_type in ["latent", "latent_images"]: + save_latent(latent, prompt_args_item, height, width) + + all_latents.append(latent) + except Exception as e: + logger.error(f"Error generating latent for prompt: {prompt_args_item.prompt}. Error: {e}", exc_info=True) + all_latents.append(None) # Add placeholder for failed generations + continue + + # Free DiT model + logger.info("Releasing DiT model from memory...") + if args.blocks_to_swap > 0: + logger.info("Waiting for 5 seconds to finish block swap") + time.sleep(5) + + del shared_models_for_generate["model"] + del dit_model + clean_memory_on_device(device) + synchronize_device(device) # Ensure memory is freed before loading VAE for decoding + + # 4. Decode latents and save outputs (using vae_for_batch) + if args.output_type != "latent": + logger.info("Decoding latents to videos/images using batched VAE...") + vae_for_batch.to(device) # Move VAE to device for decoding + + for i, latent in enumerate(all_latents): + if latent is None: # Skip failed generations + logger.warning(f"Skipping decoding for prompt {i+1} due to previous error.") + continue + + current_args = all_prompt_args_list[i] + logger.info(f"Decoding output {i+1}/{len(all_latents)} for prompt: {current_args.prompt}") + + # if args.output_type is "latent_images", we already saved latent above. + # so we skip saving latent here. + if current_args.output_type == "latent_images": + current_args.output_type = "images" + + # save_output expects latent to be [BCTHW] or [CTHW]. generate returns [BCTHW] (batch size 1). + # latent[0] is correct if generate returns it with batch dim. + # The latent from generate is (1, C, T, H, W) + save_output(current_args, vae_for_batch, latent[0], device) # Pass vae_for_batch + + vae_for_batch.to("cpu") # Move VAE back to CPU + + del vae_for_batch + clean_memory_on_device(device) + + +def process_interactive(args: argparse.Namespace) -> None: + """Process prompts in interactive mode + + Args: + args: Base command line arguments + """ + gen_settings = get_generation_settings(args) + device = gen_settings.device + shared_models = load_shared_models(args) + shared_models["conds_cache"] = {} # Initialize empty cache for interactive mode + + print("Interactive mode. Enter prompts (Ctrl+D or Ctrl+Z (Windows) to exit):") + + try: + import prompt_toolkit + except ImportError: + logger.warning("prompt_toolkit not found. Using basic input instead.") + prompt_toolkit = None + + if prompt_toolkit: + session = prompt_toolkit.PromptSession() + + def input_line(prompt: str) -> str: + return session.prompt(prompt) + + else: + + def input_line(prompt: str) -> str: + return input(prompt) + + vae = hunyuan_image_vae.load_vae(args.vae, device="cpu", disable_mmap=True) + vae.eval() + + try: + while True: + try: + line = input_line("> ") + if not line.strip(): + continue + if len(line.strip()) == 1 and line.strip() in ["\x04", "\x1a"]: # Ctrl+D or Ctrl+Z with prompt_toolkit + raise EOFError # Exit on Ctrl+D or Ctrl+Z + + # Parse prompt + prompt_data = parse_prompt_line(line) + prompt_args = apply_overrides(args, prompt_data) + + # Generate latent + # For interactive, precomputed data is None. shared_models contains text encoders. + latent = generate(prompt_args, gen_settings, shared_models) + + # # If not one_frame_inference, move DiT model to CPU after generation + # if prompt_args.blocks_to_swap > 0: + # logger.info("Waiting for 5 seconds to finish block swap") + # time.sleep(5) + # model = shared_models.get("model") + # model.to("cpu") # Move DiT model to CPU after generation + + # Save latent and video + # returned_vae from generate will be used for decoding here. + save_output(prompt_args, vae, latent[0], device) + + except KeyboardInterrupt: + print("\nInterrupted. Continue (Ctrl+D or Ctrl+Z (Windows) to exit)") + continue + + except EOFError: + print("\nExiting interactive mode") + + +def get_generation_settings(args: argparse.Namespace) -> GenerationSettings: + device = torch.device(args.device) + + dit_weight_dtype = torch.bfloat16 # default + if args.fp8_scaled: + dit_weight_dtype = None # various precision weights, so don't cast to specific dtype + elif args.fp8: + dit_weight_dtype = torch.float8_e4m3fn + + logger.info(f"Using device: {device}, DiT weight weight precision: {dit_weight_dtype}") + + gen_settings = GenerationSettings(device=device, dit_weight_dtype=dit_weight_dtype) + return gen_settings + + +def main(): + # Parse arguments + args = parse_args() + + # Check if latents are provided + latents_mode = args.latent_path is not None and len(args.latent_path) > 0 + + # Set device + device = args.device if args.device is not None else "cuda" if torch.cuda.is_available() else "cpu" + device = torch.device(device) + logger.info(f"Using device: {device}") + args.device = device + + if latents_mode: + # Original latent decode mode + original_base_names = [] + latents_list = [] + seeds = [] + + # assert len(args.latent_path) == 1, "Only one latent path is supported for now" + + for latent_path in args.latent_path: + original_base_names.append(os.path.splitext(os.path.basename(latent_path))[0]) + seed = 0 + + if os.path.splitext(latent_path)[1] != ".safetensors": + latents = torch.load(latent_path, map_location="cpu") + else: + latents = load_file(latent_path)["latent"] + with safe_open(latent_path, framework="pt") as f: + metadata = f.metadata() + if metadata is None: + metadata = {} + logger.info(f"Loaded metadata: {metadata}") + + if "seeds" in metadata: + seed = int(metadata["seeds"]) + if "height" in metadata and "width" in metadata: + height = int(metadata["height"]) + width = int(metadata["width"]) + args.image_size = [height, width] + + seeds.append(seed) + logger.info(f"Loaded latent from {latent_path}. Shape: {latents.shape}") + + if latents.ndim == 5: # [BCTHW] + latents = latents.squeeze(0) # [CTHW] + + latents_list.append(latents) + + # latent = torch.stack(latents_list, dim=0) # [N, ...], must be same shape + + for i, latent in enumerate(latents_list): + args.seed = seeds[i] + + vae = hunyuan_image_vae.load_vae(args.vae, device=device, disable_mmap=True) + vae.eval() + save_output(args, vae, latent, device, original_base_names) + + elif args.from_file: + # Batch mode from file + + # Read prompts from file + with open(args.from_file, "r", encoding="utf-8") as f: + prompt_lines = f.readlines() + + # Process prompts + prompts_data = preprocess_prompts_for_batch(prompt_lines, args) + process_batch_prompts(prompts_data, args) + + elif args.interactive: + # Interactive mode + process_interactive(args) + + else: + # Single prompt mode (original behavior) + + # Generate latent + gen_settings = get_generation_settings(args) + + # For single mode, precomputed data is None, shared_models is None. + # generate will load all necessary models (Text Encoders, DiT). + latent = generate(args, gen_settings) + # print(f"Generated latent shape: {latent.shape}") + # if args.save_merged_model: + # return + + clean_memory_on_device(device) + + # Save latent and video + vae = hunyuan_image_vae.load_vae(args.vae, device="cpu", disable_mmap=True) + vae.eval() + save_output(args, vae, latent, device) + + logger.info("Done!") + + +if __name__ == "__main__": + main() diff --git a/library/attention.py b/library/attention.py new file mode 100644 index 000000000..10a096143 --- /dev/null +++ b/library/attention.py @@ -0,0 +1,50 @@ +import torch +from typing import Optional + + +def attention( + q: torch.Tensor, k: torch.Tensor, v: torch.Tensor, seq_lens: list[int], attn_mode: str = "torch", drop_rate: float = 0.0 +) -> torch.Tensor: + """ + Compute scaled dot-product attention with variable sequence lengths. + + Handles batches with different sequence lengths by splitting and + processing each sequence individually. + + Args: + q: Query tensor [B, L, H, D]. + k: Key tensor [B, L, H, D]. + v: Value tensor [B, L, H, D]. + seq_lens: Valid sequence length for each batch element. + attn_mode: Attention implementation ("torch" or "sageattn"). + drop_rate: Attention dropout rate. + + Returns: + Attention output tensor [B, L, H*D]. + """ + # Determine tensor layout based on attention implementation + if attn_mode == "torch" or attn_mode == "sageattn": + transpose_fn = lambda x: x.transpose(1, 2) # [B, H, L, D] for SDPA + else: + transpose_fn = lambda x: x # [B, L, H, D] for other implementations + + # Process each batch element with its valid sequence length + q = [transpose_fn(q[i : i + 1, : seq_lens[i]]) for i in range(len(q))] + k = [transpose_fn(k[i : i + 1, : seq_lens[i]]) for i in range(len(k))] + v = [transpose_fn(v[i : i + 1, : seq_lens[i]]) for i in range(len(v))] + + if attn_mode == "torch": + x = [] + for i in range(len(q)): + x_i = torch.nn.functional.scaled_dot_product_attention(q[i], k[i], v[i], dropout_p=drop_rate) + q[i] = None + k[i] = None + v[i] = None + x.append(x_i) + x = torch.cat(x, dim=0) + del q, k, v + # Currently only PyTorch SDPA is implemented + + x = transpose_fn(x) # [B, L, H, D] + x = x.reshape(x.shape[0], x.shape[1], -1) # [B, L, H*D] + return x diff --git a/library/fp8_optimization_utils.py b/library/fp8_optimization_utils.py new file mode 100644 index 000000000..a91eb4e4c --- /dev/null +++ b/library/fp8_optimization_utils.py @@ -0,0 +1,391 @@ +import os +from typing import List, Union +import torch +import torch.nn as nn +import torch.nn.functional as F + +import logging + +from tqdm import tqdm + +from library.device_utils import clean_memory_on_device +from library.utils import MemoryEfficientSafeOpen, setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + + +def calculate_fp8_maxval(exp_bits=4, mantissa_bits=3, sign_bits=1): + """ + Calculate the maximum representable value in FP8 format. + Default is E4M3 format (4-bit exponent, 3-bit mantissa, 1-bit sign). + + Args: + exp_bits (int): Number of exponent bits + mantissa_bits (int): Number of mantissa bits + sign_bits (int): Number of sign bits (0 or 1) + + Returns: + float: Maximum value representable in FP8 format + """ + assert exp_bits + mantissa_bits + sign_bits == 8, "Total bits must be 8" + + # Calculate exponent bias + bias = 2 ** (exp_bits - 1) - 1 + + # Calculate maximum mantissa value + mantissa_max = 1.0 + for i in range(mantissa_bits - 1): + mantissa_max += 2 ** -(i + 1) + + # Calculate maximum value + max_value = mantissa_max * (2 ** (2**exp_bits - 1 - bias)) + + return max_value + + +def quantize_tensor_to_fp8(tensor, scale, exp_bits=4, mantissa_bits=3, sign_bits=1, max_value=None, min_value=None): + """ + Quantize a tensor to FP8 format. + + Args: + tensor (torch.Tensor): Tensor to quantize + scale (float or torch.Tensor): Scale factor + exp_bits (int): Number of exponent bits + mantissa_bits (int): Number of mantissa bits + sign_bits (int): Number of sign bits + + Returns: + tuple: (quantized_tensor, scale_factor) + """ + # Create scaled tensor + scaled_tensor = tensor / scale + + # Calculate FP8 parameters + bias = 2 ** (exp_bits - 1) - 1 + + if max_value is None: + # Calculate max and min values + max_value = calculate_fp8_maxval(exp_bits, mantissa_bits, sign_bits) + min_value = -max_value if sign_bits > 0 else 0.0 + + # Clamp tensor to range + clamped_tensor = torch.clamp(scaled_tensor, min_value, max_value) + + # Quantization process + abs_values = torch.abs(clamped_tensor) + nonzero_mask = abs_values > 0 + + # Calculate log scales (only for non-zero elements) + log_scales = torch.zeros_like(clamped_tensor) + if nonzero_mask.any(): + log_scales[nonzero_mask] = torch.floor(torch.log2(abs_values[nonzero_mask]) + bias).detach() + + # Limit log scales and calculate quantization factor + log_scales = torch.clamp(log_scales, min=1.0) + quant_factor = 2.0 ** (log_scales - mantissa_bits - bias) + + # Quantize and dequantize + quantized = torch.round(clamped_tensor / quant_factor) * quant_factor + + return quantized, scale + + +def optimize_state_dict_with_fp8( + state_dict, calc_device, target_layer_keys=None, exclude_layer_keys=None, exp_bits=4, mantissa_bits=3, move_to_device=False +): + """ + Optimize Linear layer weights in a model's state dict to FP8 format. + + Args: + state_dict (dict): State dict to optimize, replaced in-place + calc_device (str): Device to quantize tensors on + target_layer_keys (list, optional): Layer key patterns to target (None for all Linear layers) + exclude_layer_keys (list, optional): Layer key patterns to exclude + exp_bits (int): Number of exponent bits + mantissa_bits (int): Number of mantissa bits + move_to_device (bool): Move optimized tensors to the calculating device + + Returns: + dict: FP8 optimized state dict + """ + if exp_bits == 4 and mantissa_bits == 3: + fp8_dtype = torch.float8_e4m3fn + elif exp_bits == 5 and mantissa_bits == 2: + fp8_dtype = torch.float8_e5m2 + else: + raise ValueError(f"Unsupported FP8 format: E{exp_bits}M{mantissa_bits}") + + # Calculate FP8 max value + max_value = calculate_fp8_maxval(exp_bits, mantissa_bits) + min_value = -max_value # this function supports only signed FP8 + + # Create optimized state dict + optimized_count = 0 + + # Enumerate tarket keys + target_state_dict_keys = [] + for key in state_dict.keys(): + # Check if it's a weight key and matches target patterns + is_target = (target_layer_keys is None or any(pattern in key for pattern in target_layer_keys)) and key.endswith(".weight") + is_excluded = exclude_layer_keys is not None and any(pattern in key for pattern in exclude_layer_keys) + is_target = is_target and not is_excluded + + if is_target and isinstance(state_dict[key], torch.Tensor): + target_state_dict_keys.append(key) + + # Process each key + for key in tqdm(target_state_dict_keys): + value = state_dict[key] + + # Save original device and dtype + original_device = value.device + original_dtype = value.dtype + + # Move to calculation device + if calc_device is not None: + value = value.to(calc_device) + + # Calculate scale factor + scale = torch.max(torch.abs(value.flatten())) / max_value + # print(f"Optimizing {key} with scale: {scale}") + + # Quantize weight to FP8 + quantized_weight, _ = quantize_tensor_to_fp8(value, scale, exp_bits, mantissa_bits, 1, max_value, min_value) + + # Add to state dict using original key for weight and new key for scale + fp8_key = key # Maintain original key + scale_key = key.replace(".weight", ".scale_weight") + + quantized_weight = quantized_weight.to(fp8_dtype) + + if not move_to_device: + quantized_weight = quantized_weight.to(original_device) + + scale_tensor = torch.tensor([scale], dtype=original_dtype, device=quantized_weight.device) + + state_dict[fp8_key] = quantized_weight + state_dict[scale_key] = scale_tensor + + optimized_count += 1 + + if calc_device is not None: # optimized_count % 10 == 0 and + # free memory on calculation device + clean_memory_on_device(calc_device) + + logger.info(f"Number of optimized Linear layers: {optimized_count}") + return state_dict + + +def load_safetensors_with_fp8_optimization( + model_files: List[str], + calc_device: Union[str, torch.device], + target_layer_keys=None, + exclude_layer_keys=None, + exp_bits=4, + mantissa_bits=3, + move_to_device=False, + weight_hook=None, +): + """ + Load weight tensors from safetensors files and merge LoRA weights into the state dict with explicit FP8 optimization. + + Args: + model_files (list[str]): List of model files to load + calc_device (str or torch.device): Device to quantize tensors on + target_layer_keys (list, optional): Layer key patterns to target for optimization (None for all Linear layers) + exclude_layer_keys (list, optional): Layer key patterns to exclude from optimization + exp_bits (int): Number of exponent bits + mantissa_bits (int): Number of mantissa bits + move_to_device (bool): Move optimized tensors to the calculating device + weight_hook (callable, optional): Function to apply to each weight tensor before optimization + + Returns: + dict: FP8 optimized state dict + """ + if exp_bits == 4 and mantissa_bits == 3: + fp8_dtype = torch.float8_e4m3fn + elif exp_bits == 5 and mantissa_bits == 2: + fp8_dtype = torch.float8_e5m2 + else: + raise ValueError(f"Unsupported FP8 format: E{exp_bits}M{mantissa_bits}") + + # Calculate FP8 max value + max_value = calculate_fp8_maxval(exp_bits, mantissa_bits) + min_value = -max_value # this function supports only signed FP8 + + # Define function to determine if a key is a target key. target means fp8 optimization, not for weight hook. + def is_target_key(key): + # Check if weight key matches target patterns and does not match exclude patterns + is_target = (target_layer_keys is None or any(pattern in key for pattern in target_layer_keys)) and key.endswith(".weight") + is_excluded = exclude_layer_keys is not None and any(pattern in key for pattern in exclude_layer_keys) + return is_target and not is_excluded + + # Create optimized state dict + optimized_count = 0 + + # Process each file + state_dict = {} + for model_file in model_files: + with MemoryEfficientSafeOpen(model_file) as f: + keys = f.keys() + for key in tqdm(keys, desc=f"Loading {os.path.basename(model_file)}", unit="key"): + value = f.get_tensor(key) + if weight_hook is not None: + # Apply weight hook if provided + value = weight_hook(key, value) + + if not is_target_key(key): + state_dict[key] = value + continue + + # Save original device and dtype + original_device = value.device + original_dtype = value.dtype + + # Move to calculation device + if calc_device is not None: + value = value.to(calc_device) + + # Calculate scale factor + scale = torch.max(torch.abs(value.flatten())) / max_value + # print(f"Optimizing {key} with scale: {scale}") + + # Quantize weight to FP8 + quantized_weight, _ = quantize_tensor_to_fp8(value, scale, exp_bits, mantissa_bits, 1, max_value, min_value) + + # Add to state dict using original key for weight and new key for scale + fp8_key = key # Maintain original key + scale_key = key.replace(".weight", ".scale_weight") + assert fp8_key != scale_key, "FP8 key and scale key must be different" + + quantized_weight = quantized_weight.to(fp8_dtype) + + if not move_to_device: + quantized_weight = quantized_weight.to(original_device) + + scale_tensor = torch.tensor([scale], dtype=original_dtype, device=quantized_weight.device) + + state_dict[fp8_key] = quantized_weight + state_dict[scale_key] = scale_tensor + + optimized_count += 1 + + if calc_device is not None and optimized_count % 10 == 0: + # free memory on calculation device + clean_memory_on_device(calc_device) + + logger.info(f"Number of optimized Linear layers: {optimized_count}") + return state_dict + + +def fp8_linear_forward_patch(self: nn.Linear, x, use_scaled_mm=False, max_value=None): + """ + Patched forward method for Linear layers with FP8 weights. + + Args: + self: Linear layer instance + x (torch.Tensor): Input tensor + use_scaled_mm (bool): Use scaled_mm for FP8 Linear layers, requires SM 8.9+ (RTX 40 series) + max_value (float): Maximum value for FP8 quantization. If None, no quantization is applied for input tensor. + + Returns: + torch.Tensor: Result of linear transformation + """ + if use_scaled_mm: + input_dtype = x.dtype + original_weight_dtype = self.scale_weight.dtype + weight_dtype = self.weight.dtype + target_dtype = torch.float8_e5m2 + assert weight_dtype == torch.float8_e4m3fn, "Only FP8 E4M3FN format is supported" + assert x.ndim == 3, "Input tensor must be 3D (batch_size, seq_len, hidden_dim)" + + if max_value is None: + # no input quantization + scale_x = torch.tensor(1.0, dtype=torch.float32, device=x.device) + else: + # calculate scale factor for input tensor + scale_x = (torch.max(torch.abs(x.flatten())) / max_value).to(torch.float32) + + # quantize input tensor to FP8: this seems to consume a lot of memory + x, _ = quantize_tensor_to_fp8(x, scale_x, 5, 2, 1, max_value, -max_value) + + original_shape = x.shape + x = x.reshape(-1, x.shape[2]).to(target_dtype) + + weight = self.weight.t() + scale_weight = self.scale_weight.to(torch.float32) + + if self.bias is not None: + # float32 is not supported with bias in scaled_mm + o = torch._scaled_mm(x, weight, out_dtype=original_weight_dtype, bias=self.bias, scale_a=scale_x, scale_b=scale_weight) + else: + o = torch._scaled_mm(x, weight, out_dtype=input_dtype, scale_a=scale_x, scale_b=scale_weight) + + return o.reshape(original_shape[0], original_shape[1], -1).to(input_dtype) + + else: + # Dequantize the weight + original_dtype = self.scale_weight.dtype + dequantized_weight = self.weight.to(original_dtype) * self.scale_weight + + # Perform linear transformation + if self.bias is not None: + output = F.linear(x, dequantized_weight, self.bias) + else: + output = F.linear(x, dequantized_weight) + + return output + + +def apply_fp8_monkey_patch(model, optimized_state_dict, use_scaled_mm=False): + """ + Apply monkey patching to a model using FP8 optimized state dict. + + Args: + model (nn.Module): Model instance to patch + optimized_state_dict (dict): FP8 optimized state dict + use_scaled_mm (bool): Use scaled_mm for FP8 Linear layers, requires SM 8.9+ (RTX 40 series) + + Returns: + nn.Module: The patched model (same instance, modified in-place) + """ + # # Calculate FP8 float8_e5m2 max value + # max_value = calculate_fp8_maxval(5, 2) + max_value = None # do not quantize input tensor + + # Find all scale keys to identify FP8-optimized layers + scale_keys = [k for k in optimized_state_dict.keys() if k.endswith(".scale_weight")] + + # Enumerate patched layers + patched_module_paths = set() + for scale_key in scale_keys: + # Extract module path from scale key (remove .scale_weight) + module_path = scale_key.rsplit(".scale_weight", 1)[0] + patched_module_paths.add(module_path) + + patched_count = 0 + + # Apply monkey patch to each layer with FP8 weights + for name, module in model.named_modules(): + # Check if this module has a corresponding scale_weight + has_scale = name in patched_module_paths + + # Apply patch if it's a Linear layer with FP8 scale + if isinstance(module, nn.Linear) and has_scale: + # register the scale_weight as a buffer to load the state_dict + module.register_buffer("scale_weight", torch.tensor(1.0, dtype=module.weight.dtype)) + + # Create a new forward method with the patched version. + def new_forward(self, x): + return fp8_linear_forward_patch(self, x, use_scaled_mm, max_value) + + # Bind method to module + module.forward = new_forward.__get__(module, type(module)) + + patched_count += 1 + + logger.info(f"Number of monkey-patched Linear layers: {patched_count}") + return model diff --git a/library/hunyuan_image_models.py b/library/hunyuan_image_models.py new file mode 100644 index 000000000..5bd08c5ca --- /dev/null +++ b/library/hunyuan_image_models.py @@ -0,0 +1,374 @@ +# Original work: https://github.com/Tencent-Hunyuan/HunyuanImage-2.1 +# Re-implemented for license compliance for sd-scripts. + +from typing import Dict, Optional, Tuple, Union + +import torch +import torch.nn as nn +from accelerate import init_empty_weights + +from library.fp8_optimization_utils import apply_fp8_monkey_patch +from library.lora_utils import load_safetensors_with_lora_and_fp8 +from library.utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + + +from library.hunyuan_image_modules import ( + SingleTokenRefiner, + ByT5Mapper, + PatchEmbed2D, + TimestepEmbedder, + MMDoubleStreamBlock, + MMSingleStreamBlock, + FinalLayer, +) +from library.hunyuan_image_utils import get_nd_rotary_pos_embed + +FP8_OPTIMIZATION_TARGET_KEYS = ["double_blocks", "single_blocks"] +FP8_OPTIMIZATION_EXCLUDE_KEYS = [ + "norm", + "_mod", + "modulation", +] + + +# region DiT Model +class HYImageDiffusionTransformer(nn.Module): + """ + HunyuanImage-2.1 Diffusion Transformer. + + A multimodal transformer for image generation with text conditioning, + featuring separate double-stream and single-stream processing blocks. + + Args: + attn_mode: Attention implementation mode ("torch" or "sageattn"). + """ + + def __init__(self, attn_mode: str = "torch"): + super().__init__() + + # Fixed architecture parameters for HunyuanImage-2.1 + self.patch_size = [1, 1] # 1x1 patch size (no spatial downsampling) + self.in_channels = 64 # Input latent channels + self.out_channels = 64 # Output latent channels + self.unpatchify_channels = self.out_channels + self.guidance_embed = False # Guidance embedding disabled + self.rope_dim_list = [64, 64] # RoPE dimensions for 2D positional encoding + self.rope_theta = 256 # RoPE frequency scaling + self.use_attention_mask = True + self.text_projection = "single_refiner" + self.hidden_size = 3584 # Model dimension + self.heads_num = 28 # Number of attention heads + + # Architecture configuration + mm_double_blocks_depth = 20 # Double-stream transformer blocks + mm_single_blocks_depth = 40 # Single-stream transformer blocks + mlp_width_ratio = 4 # MLP expansion ratio + text_states_dim = 3584 # Text encoder output dimension + guidance_embed = False # No guidance embedding + + # Layer configuration + mlp_act_type: str = "gelu_tanh" # MLP activation function + qkv_bias: bool = True # Use bias in QKV projections + qk_norm: bool = True # Apply QK normalization + qk_norm_type: str = "rms" # RMS normalization type + + self.attn_mode = attn_mode + + # ByT5 character-level text encoder mapping + self.byt5_in = ByT5Mapper(in_dim=1472, out_dim=2048, hidden_dim=2048, out_dim1=self.hidden_size, use_residual=False) + + # Image latent patch embedding + self.img_in = PatchEmbed2D(self.patch_size, self.in_channels, self.hidden_size) + + # Text token refinement with cross-attention + self.txt_in = SingleTokenRefiner(text_states_dim, self.hidden_size, self.heads_num, depth=2, attn_mode=self.attn_mode) + + # Timestep embedding for diffusion process + self.time_in = TimestepEmbedder(self.hidden_size, nn.SiLU) + + # MeanFlow not supported in this implementation + self.time_r_in = None + + # Guidance embedding (disabled for non-distilled model) + self.guidance_in = TimestepEmbedder(self.hidden_size, nn.SiLU) if guidance_embed else None + + # Double-stream blocks: separate image and text processing + self.double_blocks = nn.ModuleList( + [ + MMDoubleStreamBlock( + self.hidden_size, + self.heads_num, + mlp_width_ratio=mlp_width_ratio, + mlp_act_type=mlp_act_type, + qk_norm=qk_norm, + qk_norm_type=qk_norm_type, + qkv_bias=qkv_bias, + attn_mode=self.attn_mode, + ) + for _ in range(mm_double_blocks_depth) + ] + ) + + # Single-stream blocks: joint processing of concatenated features + self.single_blocks = nn.ModuleList( + [ + MMSingleStreamBlock( + self.hidden_size, + self.heads_num, + mlp_width_ratio=mlp_width_ratio, + mlp_act_type=mlp_act_type, + qk_norm=qk_norm, + qk_norm_type=qk_norm_type, + attn_mode=self.attn_mode, + ) + for _ in range(mm_single_blocks_depth) + ] + ) + + self.final_layer = FinalLayer(self.hidden_size, self.patch_size, self.out_channels, nn.SiLU) + + def get_rotary_pos_embed(self, rope_sizes): + """ + Generate 2D rotary position embeddings for image tokens. + + Args: + rope_sizes: Tuple of (height, width) for spatial dimensions. + + Returns: + Tuple of (freqs_cos, freqs_sin) tensors for rotary position encoding. + """ + freqs_cos, freqs_sin = get_nd_rotary_pos_embed(self.rope_dim_list, rope_sizes, theta=self.rope_theta) + return freqs_cos, freqs_sin + + def reorder_txt_token( + self, byt5_txt: torch.Tensor, txt: torch.Tensor, byt5_text_mask: torch.Tensor, text_mask: torch.Tensor + ) -> Tuple[torch.Tensor, torch.Tensor, list[int]]: + """ + Combine and reorder ByT5 character-level and word-level text embeddings. + + Concatenates valid tokens from both encoders and creates appropriate masks. + + Args: + byt5_txt: ByT5 character-level embeddings [B, L1, D]. + txt: Word-level text embeddings [B, L2, D]. + byt5_text_mask: Valid token mask for ByT5 [B, L1]. + text_mask: Valid token mask for word tokens [B, L2]. + + Returns: + Tuple of (reordered_embeddings, combined_mask, sequence_lengths). + """ + # Process each batch element separately to handle variable sequence lengths + + reorder_txt = [] + reorder_mask = [] + + txt_lens = [] + for i in range(text_mask.shape[0]): + byt5_text_mask_i = byt5_text_mask[i].bool() + text_mask_i = text_mask[i].bool() + byt5_text_length = byt5_text_mask_i.sum() + text_length = text_mask_i.sum() + assert byt5_text_length == byt5_text_mask_i[:byt5_text_length].sum() + assert text_length == text_mask_i[:text_length].sum() + + byt5_txt_i = byt5_txt[i] + txt_i = txt[i] + reorder_txt_i = torch.cat( + [byt5_txt_i[:byt5_text_length], txt_i[:text_length], byt5_txt_i[byt5_text_length:], txt_i[text_length:]], dim=0 + ) + + reorder_mask_i = torch.zeros( + byt5_text_mask_i.shape[0] + text_mask_i.shape[0], dtype=torch.bool, device=byt5_text_mask_i.device + ) + reorder_mask_i[: byt5_text_length + text_length] = True + + reorder_txt.append(reorder_txt_i) + reorder_mask.append(reorder_mask_i) + txt_lens.append(byt5_text_length + text_length) + + reorder_txt = torch.stack(reorder_txt) + reorder_mask = torch.stack(reorder_mask).to(dtype=torch.int64) + + return reorder_txt, reorder_mask, txt_lens + + def forward( + self, + hidden_states: torch.Tensor, + timestep: torch.LongTensor, + text_states: torch.Tensor, + encoder_attention_mask: torch.Tensor, + byt5_text_states: Optional[torch.Tensor] = None, + byt5_text_mask: Optional[torch.Tensor] = None, + ) -> torch.Tensor: + """ + Forward pass through the HunyuanImage diffusion transformer. + + Args: + hidden_states: Input image latents [B, C, H, W]. + timestep: Diffusion timestep [B]. + text_states: Word-level text embeddings [B, L, D]. + encoder_attention_mask: Text attention mask [B, L]. + byt5_text_states: ByT5 character-level embeddings [B, L_byt5, D_byt5]. + byt5_text_mask: ByT5 attention mask [B, L_byt5]. + + Returns: + Tuple of (denoised_image, spatial_shape). + """ + img = x = hidden_states + text_mask = encoder_attention_mask + t = timestep + txt = text_states + + # Calculate spatial dimensions for rotary position embeddings + _, _, oh, ow = x.shape + th, tw = oh, ow # Height and width (patch_size=[1,1] means no spatial downsampling) + freqs_cis = self.get_rotary_pos_embed((th, tw)) + + # Reshape image latents to sequence format: [B, C, H, W] -> [B, H*W, C] + img = self.img_in(img) + + # Generate timestep conditioning vector + vec = self.time_in(t) + + # MeanFlow and guidance embedding not used in this configuration + + # Process text tokens through refinement layers + txt_lens = text_mask.to(torch.bool).sum(dim=1).tolist() + txt = self.txt_in(txt, t, txt_lens) + + # Integrate character-level ByT5 features with word-level tokens + # Use variable length sequences with sequence lengths + byt5_txt = self.byt5_in(byt5_text_states) + txt, _, txt_lens = self.reorder_txt_token(byt5_txt, txt, byt5_text_mask, text_mask) + + # Trim sequences to maximum length in the batch + img_seq_len = img.shape[1] + # print(f"img_seq_len: {img_seq_len}, txt_lens: {txt_lens}") + seq_lens = [img_seq_len + l for l in txt_lens] + max_txt_len = max(txt_lens) + # print(f"max_txt_len: {max_txt_len}, seq_lens: {seq_lens}, txt.shape: {txt.shape}") + txt = txt[:, :max_txt_len, :] + txt_seq_len = txt.shape[1] + + # Process through double-stream blocks (separate image/text attention) + for index, block in enumerate(self.double_blocks): + img, txt = block(img, txt, vec, freqs_cis, seq_lens) + + # Concatenate image and text tokens for joint processing + x = torch.cat((img, txt), 1) + + # Process through single-stream blocks (joint attention) + for index, block in enumerate(self.single_blocks): + x = block(x, vec, txt_seq_len, freqs_cis, seq_lens) + + img = x[:, :img_seq_len, ...] + + # Apply final projection to output space + img = self.final_layer(img, vec) + + # Reshape from sequence to spatial format: [B, L, C] -> [B, C, H, W] + img = self.unpatchify_2d(img, th, tw) + return img + + def unpatchify_2d(self, x, h, w): + """ + Convert sequence format back to spatial image format. + + Args: + x: Input tensor [B, H*W, C]. + h: Height dimension. + w: Width dimension. + + Returns: + Spatial tensor [B, C, H, W]. + """ + c = self.unpatchify_channels + + x = x.reshape(shape=(x.shape[0], h, w, c)) + imgs = x.permute(0, 3, 1, 2) + return imgs + + +# endregion + +# region Model Utils + + +def create_model(attn_mode: str, split_attn: bool, dtype: Optional[torch.dtype]) -> HYImageDiffusionTransformer: + with init_empty_weights(): + model = HYImageDiffusionTransformer(attn_mode=attn_mode) + if dtype is not None: + model.to(dtype) + return model + + +def load_hunyuan_image_model( + device: Union[str, torch.device], + dit_path: str, + attn_mode: str, + split_attn: bool, + loading_device: Union[str, torch.device], + dit_weight_dtype: Optional[torch.dtype], + fp8_scaled: bool = False, + lora_weights_list: Optional[Dict[str, torch.Tensor]] = None, + lora_multipliers: Optional[list[float]] = None, +) -> HYImageDiffusionTransformer: + """ + Load a HunyuanImage model from the specified checkpoint. + + Args: + device (Union[str, torch.device]): Device for optimization or merging + dit_path (str): Path to the DiT model checkpoint. + attn_mode (str): Attention mode to use, e.g., "torch", "flash", etc. + split_attn (bool): Whether to use split attention. + loading_device (Union[str, torch.device]): Device to load the model weights on. + dit_weight_dtype (Optional[torch.dtype]): Data type of the DiT weights. + If None, it will be loaded as is (same as the state_dict) or scaled for fp8. if not None, model weights will be casted to this dtype. + fp8_scaled (bool): Whether to use fp8 scaling for the model weights. + lora_weights_list (Optional[Dict[str, torch.Tensor]]): LoRA weights to apply, if any. + lora_multipliers (Optional[List[float]]): LoRA multipliers for the weights, if any. + """ + # dit_weight_dtype is None for fp8_scaled + assert (not fp8_scaled and dit_weight_dtype is not None) or (fp8_scaled and dit_weight_dtype is None) + + device = torch.device(device) + loading_device = torch.device(loading_device) + + model = create_model(attn_mode, split_attn, dit_weight_dtype) + + # load model weights with dynamic fp8 optimization and LoRA merging if needed + logger.info(f"Loading DiT model from {dit_path}, device={loading_device}") + + sd = load_safetensors_with_lora_and_fp8( + model_files=dit_path, + lora_weights_list=lora_weights_list, + lora_multipliers=lora_multipliers, + fp8_optimization=fp8_scaled, + calc_device=device, + move_to_device=(loading_device == device), + dit_weight_dtype=dit_weight_dtype, + target_keys=FP8_OPTIMIZATION_TARGET_KEYS, + exclude_keys=FP8_OPTIMIZATION_EXCLUDE_KEYS, + ) + + if fp8_scaled: + apply_fp8_monkey_patch(model, sd, use_scaled_mm=False) + + if loading_device.type != "cpu": + # make sure all the model weights are on the loading_device + logger.info(f"Moving weights to {loading_device}") + for key in sd.keys(): + sd[key] = sd[key].to(loading_device) + + info = model.load_state_dict(sd, strict=True, assign=True) + logger.info(f"Loaded DiT model from {dit_path}, info={info}") + + return model + + +# endregion diff --git a/library/hunyuan_image_modules.py b/library/hunyuan_image_modules.py new file mode 100644 index 000000000..b4ded4c53 --- /dev/null +++ b/library/hunyuan_image_modules.py @@ -0,0 +1,804 @@ +# Original work: https://github.com/Tencent-Hunyuan/HunyuanImage-2.1 +# Re-implemented for license compliance for sd-scripts. + +from typing import Tuple, Callable +import torch +import torch.nn as nn +from einops import rearrange + +from library.attention import attention +from library.hunyuan_image_utils import timestep_embedding, apply_rotary_emb, _to_tuple, apply_gate, modulate +from library.attention import attention + +# region Modules + + +class ByT5Mapper(nn.Module): + """ + Maps ByT5 character-level encoder outputs to transformer hidden space. + + Applies layer normalization, two MLP layers with GELU activation, + and optional residual connection. + + Args: + in_dim: Input dimension from ByT5 encoder (1472 for ByT5-large). + out_dim: Intermediate dimension after first projection. + hidden_dim: Hidden dimension for MLP layer. + out_dim1: Final output dimension matching transformer hidden size. + use_residual: Whether to add residual connection (requires in_dim == out_dim). + """ + + def __init__(self, in_dim, out_dim, hidden_dim, out_dim1, use_residual=True): + super().__init__() + if use_residual: + assert in_dim == out_dim + self.layernorm = nn.LayerNorm(in_dim) + self.fc1 = nn.Linear(in_dim, hidden_dim) + self.fc2 = nn.Linear(hidden_dim, out_dim) + self.fc3 = nn.Linear(out_dim, out_dim1) + self.use_residual = use_residual + self.act_fn = nn.GELU() + + def forward(self, x): + """ + Transform ByT5 embeddings to transformer space. + + Args: + x: Input ByT5 embeddings [..., in_dim]. + + Returns: + Transformed embeddings [..., out_dim1]. + """ + residual = x + x = self.layernorm(x) + x = self.fc1(x) + x = self.act_fn(x) + x = self.fc2(x) + x = self.act_fn(x) + x = self.fc3(x) + if self.use_residual: + x = x + residual + return x + + +class PatchEmbed2D(nn.Module): + """ + 2D patch embedding layer for converting image latents to transformer tokens. + + Uses 2D convolution to project image patches to embedding space. + For HunyuanImage-2.1, patch_size=[1,1] means no spatial downsampling. + + Args: + patch_size: Spatial size of patches (int or tuple). + in_chans: Number of input channels. + embed_dim: Output embedding dimension. + """ + + def __init__(self, patch_size=16, in_chans=3, embed_dim=768): + super().__init__() + self.patch_size = tuple(patch_size) + + self.proj = nn.Conv2d(in_chans, embed_dim, kernel_size=self.patch_size, stride=self.patch_size, bias=True) + self.norm = nn.Identity() # No normalization layer used + + def forward(self, x): + x = self.proj(x) + x = x.flatten(2).transpose(1, 2) + x = self.norm(x) + return x + + +class TimestepEmbedder(nn.Module): + """ + Embeds scalar diffusion timesteps into vector representations. + + Uses sinusoidal encoding followed by a two-layer MLP. + + Args: + hidden_size: Output embedding dimension. + act_layer: Activation function class (e.g., nn.SiLU). + frequency_embedding_size: Dimension of sinusoidal encoding. + max_period: Maximum period for sinusoidal frequencies. + out_size: Output dimension (defaults to hidden_size). + """ + + def __init__(self, hidden_size, act_layer, frequency_embedding_size=256, max_period=10000, out_size=None): + super().__init__() + self.frequency_embedding_size = frequency_embedding_size + self.max_period = max_period + if out_size is None: + out_size = hidden_size + + self.mlp = nn.Sequential( + nn.Linear(frequency_embedding_size, hidden_size, bias=True), act_layer(), nn.Linear(hidden_size, out_size, bias=True) + ) + + def forward(self, t): + t_freq = timestep_embedding(t, self.frequency_embedding_size, self.max_period).type(self.mlp[0].weight.dtype) + return self.mlp(t_freq) + + +class TextProjection(nn.Module): + """ + Projects text embeddings through a two-layer MLP. + + Used for context-aware representation computation in token refinement. + + Args: + in_channels: Input feature dimension. + hidden_size: Hidden and output dimension. + act_layer: Activation function class. + """ + + def __init__(self, in_channels, hidden_size, act_layer): + super().__init__() + self.linear_1 = nn.Linear(in_features=in_channels, out_features=hidden_size, bias=True) + self.act_1 = act_layer() + self.linear_2 = nn.Linear(in_features=hidden_size, out_features=hidden_size, bias=True) + + def forward(self, caption): + hidden_states = self.linear_1(caption) + hidden_states = self.act_1(hidden_states) + hidden_states = self.linear_2(hidden_states) + return hidden_states + + +class MLP(nn.Module): + """ + Multi-layer perceptron with configurable activation and normalization. + + Standard two-layer MLP with optional dropout and intermediate normalization. + + Args: + in_channels: Input feature dimension. + hidden_channels: Hidden layer dimension (defaults to in_channels). + out_features: Output dimension (defaults to in_channels). + act_layer: Activation function class. + norm_layer: Optional normalization layer class. + bias: Whether to use bias (can be bool or tuple for each layer). + drop: Dropout rate (can be float or tuple for each layer). + use_conv: Whether to use convolution instead of linear (not supported). + """ + + def __init__( + self, + in_channels, + hidden_channels=None, + out_features=None, + act_layer=nn.GELU, + norm_layer=None, + bias=True, + drop=0.0, + use_conv=False, + ): + super().__init__() + assert not use_conv, "Convolutional MLP not supported in this implementation." + + out_features = out_features or in_channels + hidden_channels = hidden_channels or in_channels + bias = _to_tuple(bias, 2) + drop_probs = _to_tuple(drop, 2) + + self.fc1 = nn.Linear(in_channels, hidden_channels, bias=bias[0]) + self.act = act_layer() + self.drop1 = nn.Dropout(drop_probs[0]) + self.norm = norm_layer(hidden_channels) if norm_layer is not None else nn.Identity() + self.fc2 = nn.Linear(hidden_channels, out_features, bias=bias[1]) + self.drop2 = nn.Dropout(drop_probs[1]) + + def forward(self, x): + x = self.fc1(x) + x = self.act(x) + x = self.drop1(x) + x = self.norm(x) + x = self.fc2(x) + x = self.drop2(x) + return x + + +class IndividualTokenRefinerBlock(nn.Module): + """ + Single transformer block for individual token refinement. + + Applies self-attention and MLP with adaptive layer normalization (AdaLN) + conditioned on timestep and context information. + + Args: + hidden_size: Model dimension. + heads_num: Number of attention heads. + mlp_width_ratio: MLP expansion ratio. + mlp_drop_rate: MLP dropout rate. + act_type: Activation function (only "silu" supported). + qk_norm: QK normalization flag (must be False). + qk_norm_type: QK normalization type (only "layer" supported). + qkv_bias: Use bias in QKV projections. + attn_mode: Attention implementation mode. + """ + + def __init__( + self, + hidden_size: int, + heads_num: int, + mlp_width_ratio: float = 4.0, + mlp_drop_rate: float = 0.0, + act_type: str = "silu", + qk_norm: bool = False, + qk_norm_type: str = "layer", + qkv_bias: bool = True, + attn_mode: str = "torch", + ): + super().__init__() + assert qk_norm_type == "layer", "Only layer normalization supported for QK norm." + assert act_type == "silu", "Only SiLU activation supported." + assert not qk_norm, "QK normalization must be disabled." + + self.attn_mode = attn_mode + + self.heads_num = heads_num + mlp_hidden_dim = int(hidden_size * mlp_width_ratio) + + self.norm1 = nn.LayerNorm(hidden_size, elementwise_affine=True, eps=1e-6) + self.self_attn_qkv = nn.Linear(hidden_size, hidden_size * 3, bias=qkv_bias) + + self.self_attn_q_norm = nn.Identity() + self.self_attn_k_norm = nn.Identity() + self.self_attn_proj = nn.Linear(hidden_size, hidden_size, bias=qkv_bias) + + self.norm2 = nn.LayerNorm(hidden_size, elementwise_affine=True, eps=1e-6) + self.mlp = MLP(in_channels=hidden_size, hidden_channels=mlp_hidden_dim, act_layer=nn.SiLU, drop=mlp_drop_rate) + + self.adaLN_modulation = nn.Sequential( + nn.SiLU(), + nn.Linear(hidden_size, 2 * hidden_size, bias=True), + ) + + def forward( + self, + x: torch.Tensor, + c: torch.Tensor, # Combined timestep and context conditioning + txt_lens: list[int], + ) -> torch.Tensor: + """ + Apply self-attention and MLP with adaptive conditioning. + + Args: + x: Input token embeddings [B, L, C]. + c: Combined conditioning vector [B, C]. + txt_lens: Valid sequence lengths for each batch element. + + Returns: + Refined token embeddings [B, L, C]. + """ + gate_msa, gate_mlp = self.adaLN_modulation(c).chunk(2, dim=1) + norm_x = self.norm1(x) + qkv = self.self_attn_qkv(norm_x) + q, k, v = rearrange(qkv, "B L (K H D) -> K B L H D", K=3, H=self.heads_num) + q = self.self_attn_q_norm(q).to(v) + k = self.self_attn_k_norm(k).to(v) + attn = attention(q, k, v, seq_lens=txt_lens, attn_mode=self.attn_mode) + + x = x + apply_gate(self.self_attn_proj(attn), gate_msa) + x = x + apply_gate(self.mlp(self.norm2(x)), gate_mlp) + return x + + +class IndividualTokenRefiner(nn.Module): + """ + Stack of token refinement blocks with self-attention. + + Processes tokens individually with adaptive layer normalization. + + Args: + hidden_size: Model dimension. + heads_num: Number of attention heads. + depth: Number of refinement blocks. + mlp_width_ratio: MLP expansion ratio. + mlp_drop_rate: MLP dropout rate. + act_type: Activation function type. + qk_norm: QK normalization flag. + qk_norm_type: QK normalization type. + qkv_bias: Use bias in QKV projections. + attn_mode: Attention implementation mode. + """ + + def __init__( + self, + hidden_size: int, + heads_num: int, + depth: int, + mlp_width_ratio: float = 4.0, + mlp_drop_rate: float = 0.0, + act_type: str = "silu", + qk_norm: bool = False, + qk_norm_type: str = "layer", + qkv_bias: bool = True, + attn_mode: str = "torch", + ): + super().__init__() + self.blocks = nn.ModuleList( + [ + IndividualTokenRefinerBlock( + hidden_size=hidden_size, + heads_num=heads_num, + mlp_width_ratio=mlp_width_ratio, + mlp_drop_rate=mlp_drop_rate, + act_type=act_type, + qk_norm=qk_norm, + qk_norm_type=qk_norm_type, + qkv_bias=qkv_bias, + attn_mode=attn_mode, + ) + for _ in range(depth) + ] + ) + + def forward(self, x: torch.Tensor, c: torch.LongTensor, txt_lens: list[int]) -> torch.Tensor: + """ + Apply sequential token refinement. + + Args: + x: Input token embeddings [B, L, C]. + c: Combined conditioning vector [B, C]. + txt_lens: Valid sequence lengths for each batch element. + + Returns: + Refined token embeddings [B, L, C]. + """ + for block in self.blocks: + x = block(x, c, txt_lens) + return x + + +class SingleTokenRefiner(nn.Module): + """ + Text embedding refinement with timestep and context conditioning. + + Projects input text embeddings and applies self-attention refinement + conditioned on diffusion timestep and aggregate text context. + + Args: + in_channels: Input text embedding dimension. + hidden_size: Transformer hidden dimension. + heads_num: Number of attention heads. + depth: Number of refinement blocks. + attn_mode: Attention implementation mode. + """ + + def __init__(self, in_channels: int, hidden_size: int, heads_num: int, depth: int, attn_mode: str = "torch"): + # Fixed architecture parameters for HunyuanImage-2.1 + mlp_drop_rate: float = 0.0 # No MLP dropout + act_type: str = "silu" # SiLU activation + mlp_width_ratio: float = 4.0 # 4x MLP expansion + qk_norm: bool = False # No QK normalization + qk_norm_type: str = "layer" # Layer norm type (unused) + qkv_bias: bool = True # Use QKV bias + + super().__init__() + self.input_embedder = nn.Linear(in_channels, hidden_size, bias=True) + act_layer = nn.SiLU + self.t_embedder = TimestepEmbedder(hidden_size, act_layer) + self.c_embedder = TextProjection(in_channels, hidden_size, act_layer) + self.individual_token_refiner = IndividualTokenRefiner( + hidden_size=hidden_size, + heads_num=heads_num, + depth=depth, + mlp_width_ratio=mlp_width_ratio, + mlp_drop_rate=mlp_drop_rate, + act_type=act_type, + qk_norm=qk_norm, + qk_norm_type=qk_norm_type, + qkv_bias=qkv_bias, + attn_mode=attn_mode, + ) + + def forward(self, x: torch.Tensor, t: torch.LongTensor, txt_lens: list[int]) -> torch.Tensor: + """ + Refine text embeddings with timestep conditioning. + + Args: + x: Input text embeddings [B, L, in_channels]. + t: Diffusion timestep [B]. + txt_lens: Valid sequence lengths for each batch element. + + Returns: + Refined embeddings [B, L, hidden_size]. + """ + timestep_aware_representations = self.t_embedder(t) + + # Compute context-aware representations by averaging valid tokens + context_aware_representations = torch.stack([x[i, : txt_lens[i]].mean(dim=0) for i in range(x.shape[0])], dim=0) # [B, C] + + context_aware_representations = self.c_embedder(context_aware_representations) + c = timestep_aware_representations + context_aware_representations + x = self.input_embedder(x) + x = self.individual_token_refiner(x, c, txt_lens) + return x + + +class FinalLayer(nn.Module): + """ + Final output projection layer with adaptive layer normalization. + + Projects transformer hidden states to output patch space with + timestep-conditioned modulation. + + Args: + hidden_size: Input hidden dimension. + patch_size: Spatial patch size for output reshaping. + out_channels: Number of output channels. + act_layer: Activation function class. + """ + + def __init__(self, hidden_size, patch_size, out_channels, act_layer): + super().__init__() + + # Layer normalization without learnable parameters + self.norm_final = nn.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6) + out_size = (patch_size[0] * patch_size[1]) * out_channels + self.linear = nn.Linear(hidden_size, out_size, bias=True) + + # Adaptive layer normalization modulation + self.adaLN_modulation = nn.Sequential( + act_layer(), + nn.Linear(hidden_size, 2 * hidden_size, bias=True), + ) + + def forward(self, x, c): + shift, scale = self.adaLN_modulation(c).chunk(2, dim=1) + x = modulate(self.norm_final(x), shift=shift, scale=scale) + x = self.linear(x) + return x + + +class RMSNorm(nn.Module): + """ + Root Mean Square Layer Normalization. + + Normalizes input using RMS and applies learnable scaling. + More efficient than LayerNorm as it doesn't compute mean. + + Args: + dim: Input feature dimension. + eps: Small value for numerical stability. + """ + + def __init__(self, dim: int, eps: float = 1e-6): + super().__init__() + self.eps = eps + self.weight = nn.Parameter(torch.ones(dim)) + + def _norm(self, x): + """ + Apply RMS normalization. + + Args: + x: Input tensor. + + Returns: + RMS normalized tensor. + """ + return x * torch.rsqrt(x.pow(2).mean(-1, keepdim=True) + self.eps) + + def reset_parameters(self): + self.weight.fill_(1) + + def forward(self, x): + """ + Apply RMSNorm with learnable scaling. + + Args: + x: Input tensor. + + Returns: + Normalized and scaled tensor. + """ + output = self._norm(x.float()).type_as(x) + output = output * self.weight + return output + + +# kept for reference, not used in current implementation +# class LinearWarpforSingle(nn.Module): +# """ +# Linear layer wrapper for concatenating and projecting two inputs. + +# Used in single-stream blocks to combine attention output with MLP features. + +# Args: +# in_dim: Input dimension (sum of both input feature dimensions). +# out_dim: Output dimension. +# bias: Whether to use bias in linear projection. +# """ + +# def __init__(self, in_dim: int, out_dim: int, bias=False): +# super().__init__() +# self.fc = nn.Linear(in_dim, out_dim, bias=bias) + +# def forward(self, x, y): +# """Concatenate inputs along feature dimension and project.""" +# x = torch.cat([x.contiguous(), y.contiguous()], dim=2).contiguous() +# return self.fc(x) + + +class ModulateDiT(nn.Module): + """ + Timestep conditioning modulation layer. + + Projects timestep embeddings to multiple modulation parameters + for adaptive layer normalization. + + Args: + hidden_size: Input conditioning dimension. + factor: Number of modulation parameters to generate. + act_layer: Activation function class. + """ + + def __init__(self, hidden_size: int, factor: int, act_layer: Callable): + super().__init__() + self.act = act_layer() + self.linear = nn.Linear(hidden_size, factor * hidden_size, bias=True) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + return self.linear(self.act(x)) + + +class MMDoubleStreamBlock(nn.Module): + """ + Multimodal double-stream transformer block. + + Processes image and text tokens separately with cross-modal attention. + Each stream has its own normalization and MLP layers but shares + attention computation for cross-modal interaction. + + Args: + hidden_size: Model dimension. + heads_num: Number of attention heads. + mlp_width_ratio: MLP expansion ratio. + mlp_act_type: MLP activation function (only "gelu_tanh" supported). + qk_norm: QK normalization flag (must be True). + qk_norm_type: QK normalization type (only "rms" supported). + qkv_bias: Use bias in QKV projections. + attn_mode: Attention implementation mode. + """ + + def __init__( + self, + hidden_size: int, + heads_num: int, + mlp_width_ratio: float, + mlp_act_type: str = "gelu_tanh", + qk_norm: bool = True, + qk_norm_type: str = "rms", + qkv_bias: bool = False, + attn_mode: str = "torch", + ): + super().__init__() + + assert mlp_act_type == "gelu_tanh", "Only GELU-tanh activation supported." + assert qk_norm_type == "rms", "Only RMS normalization supported." + assert qk_norm, "QK normalization must be enabled." + + self.attn_mode = attn_mode + self.heads_num = heads_num + head_dim = hidden_size // heads_num + mlp_hidden_dim = int(hidden_size * mlp_width_ratio) + + # Image stream processing components + self.img_mod = ModulateDiT(hidden_size, factor=6, act_layer=nn.SiLU) + self.img_norm1 = nn.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6) + + self.img_attn_qkv = nn.Linear(hidden_size, hidden_size * 3, bias=qkv_bias) + + self.img_attn_q_norm = RMSNorm(head_dim, eps=1e-6) + self.img_attn_k_norm = RMSNorm(head_dim, eps=1e-6) + self.img_attn_proj = nn.Linear(hidden_size, hidden_size, bias=qkv_bias) + + self.img_norm2 = nn.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6) + self.img_mlp = MLP(hidden_size, mlp_hidden_dim, act_layer=lambda: nn.GELU(approximate="tanh"), bias=True) + + # Text stream processing components + self.txt_mod = ModulateDiT(hidden_size, factor=6, act_layer=nn.SiLU) + self.txt_norm1 = nn.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6) + + self.txt_attn_qkv = nn.Linear(hidden_size, hidden_size * 3, bias=qkv_bias) + self.txt_attn_q_norm = RMSNorm(head_dim, eps=1e-6) + self.txt_attn_k_norm = RMSNorm(head_dim, eps=1e-6) + self.txt_attn_proj = nn.Linear(hidden_size, hidden_size, bias=qkv_bias) + + self.txt_norm2 = nn.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6) + self.txt_mlp = MLP(hidden_size, mlp_hidden_dim, act_layer=lambda: nn.GELU(approximate="tanh"), bias=True) + + def forward( + self, img: torch.Tensor, txt: torch.Tensor, vec: torch.Tensor, freqs_cis: tuple = None, seq_lens: list[int] = None + ) -> Tuple[torch.Tensor, torch.Tensor]: + # Extract modulation parameters for image and text streams + (img_mod1_shift, img_mod1_scale, img_mod1_gate, img_mod2_shift, img_mod2_scale, img_mod2_gate) = self.img_mod(vec).chunk( + 6, dim=-1 + ) + (txt_mod1_shift, txt_mod1_scale, txt_mod1_gate, txt_mod2_shift, txt_mod2_scale, txt_mod2_gate) = self.txt_mod(vec).chunk( + 6, dim=-1 + ) + + # Process image stream for attention + img_modulated = self.img_norm1(img) + img_modulated = modulate(img_modulated, shift=img_mod1_shift, scale=img_mod1_scale) + + img_qkv = self.img_attn_qkv(img_modulated) + img_q, img_k, img_v = img_qkv.chunk(3, dim=-1) + del img_qkv + + img_q = rearrange(img_q, "B L (H D) -> B L H D", H=self.heads_num) + img_k = rearrange(img_k, "B L (H D) -> B L H D", H=self.heads_num) + img_v = rearrange(img_v, "B L (H D) -> B L H D", H=self.heads_num) + + # Apply QK-Norm if enabled + img_q = self.img_attn_q_norm(img_q).to(img_v) + img_k = self.img_attn_k_norm(img_k).to(img_v) + + # Apply rotary position embeddings to image tokens + if freqs_cis is not None: + img_qq, img_kk = apply_rotary_emb(img_q, img_k, freqs_cis, head_first=False) + assert ( + img_qq.shape == img_q.shape and img_kk.shape == img_k.shape + ), f"RoPE output shape mismatch: got {img_qq.shape}, {img_kk.shape}, expected {img_q.shape}, {img_k.shape}" + img_q, img_k = img_qq, img_kk + + # Process text stream for attention + txt_modulated = self.txt_norm1(txt) + txt_modulated = modulate(txt_modulated, shift=txt_mod1_shift, scale=txt_mod1_scale) + + txt_qkv = self.txt_attn_qkv(txt_modulated) + txt_q, txt_k, txt_v = txt_qkv.chunk(3, dim=-1) + del txt_qkv + + txt_q = rearrange(txt_q, "B L (H D) -> B L H D", H=self.heads_num) + txt_k = rearrange(txt_k, "B L (H D) -> B L H D", H=self.heads_num) + txt_v = rearrange(txt_v, "B L (H D) -> B L H D", H=self.heads_num) + + # Apply QK-Norm if enabled + txt_q = self.txt_attn_q_norm(txt_q).to(txt_v) + txt_k = self.txt_attn_k_norm(txt_k).to(txt_v) + + # Concatenate image and text tokens for joint attention + q = torch.cat([img_q, txt_q], dim=1) + k = torch.cat([img_k, txt_k], dim=1) + v = torch.cat([img_v, txt_v], dim=1) + attn = attention(q, k, v, seq_lens=seq_lens, attn_mode=self.attn_mode) + + # Split attention outputs back to separate streams + img_attn, txt_attn = (attn[:, : img_q.shape[1]].contiguous(), attn[:, img_q.shape[1] :].contiguous()) + + # Apply attention projection and residual connection for image stream + img = img + apply_gate(self.img_attn_proj(img_attn), gate=img_mod1_gate) + + # Apply MLP and residual connection for image stream + img = img + apply_gate( + self.img_mlp(modulate(self.img_norm2(img), shift=img_mod2_shift, scale=img_mod2_scale)), + gate=img_mod2_gate, + ) + + # Apply attention projection and residual connection for text stream + txt = txt + apply_gate(self.txt_attn_proj(txt_attn), gate=txt_mod1_gate) + + # Apply MLP and residual connection for text stream + txt = txt + apply_gate( + self.txt_mlp(modulate(self.txt_norm2(txt), shift=txt_mod2_shift, scale=txt_mod2_scale)), + gate=txt_mod2_gate, + ) + + return img, txt + + +class MMSingleStreamBlock(nn.Module): + """ + Multimodal single-stream transformer block. + + Processes concatenated image and text tokens jointly with shared attention. + Uses parallel linear layers for efficiency and applies RoPE only to image tokens. + + Args: + hidden_size: Model dimension. + heads_num: Number of attention heads. + mlp_width_ratio: MLP expansion ratio. + mlp_act_type: MLP activation function (only "gelu_tanh" supported). + qk_norm: QK normalization flag (must be True). + qk_norm_type: QK normalization type (only "rms" supported). + qk_scale: Attention scaling factor (computed automatically if None). + attn_mode: Attention implementation mode. + """ + + def __init__( + self, + hidden_size: int, + heads_num: int, + mlp_width_ratio: float = 4.0, + mlp_act_type: str = "gelu_tanh", + qk_norm: bool = True, + qk_norm_type: str = "rms", + qk_scale: float = None, + attn_mode: str = "torch", + ): + super().__init__() + + assert mlp_act_type == "gelu_tanh", "Only GELU-tanh activation supported." + assert qk_norm_type == "rms", "Only RMS normalization supported." + assert qk_norm, "QK normalization must be enabled." + + self.attn_mode = attn_mode + self.hidden_size = hidden_size + self.heads_num = heads_num + head_dim = hidden_size // heads_num + mlp_hidden_dim = int(hidden_size * mlp_width_ratio) + self.mlp_hidden_dim = mlp_hidden_dim + self.scale = qk_scale or head_dim**-0.5 + + # Parallel linear projections for efficiency + self.linear1 = nn.Linear(hidden_size, hidden_size * 3 + mlp_hidden_dim) + + # Combined output projection + # self.linear2 = LinearWarpforSingle(hidden_size + mlp_hidden_dim, hidden_size, bias=True) # for reference + self.linear2 = nn.Linear(hidden_size + mlp_hidden_dim, hidden_size, bias=True) + + # QK normalization layers + self.q_norm = RMSNorm(head_dim, eps=1e-6) + self.k_norm = RMSNorm(head_dim, eps=1e-6) + + self.pre_norm = nn.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6) + + self.mlp_act = nn.GELU(approximate="tanh") + self.modulation = ModulateDiT(hidden_size, factor=3, act_layer=nn.SiLU) + + def forward( + self, + x: torch.Tensor, + vec: torch.Tensor, + txt_len: int, + freqs_cis: Tuple[torch.Tensor, torch.Tensor] = None, + seq_lens: list[int] = None, + ) -> torch.Tensor: + # Extract modulation parameters + mod_shift, mod_scale, mod_gate = self.modulation(vec).chunk(3, dim=-1) + x_mod = modulate(self.pre_norm(x), shift=mod_shift, scale=mod_scale) + + # Compute Q, K, V, and MLP input + qkv_mlp = self.linear1(x_mod) + q, k, v, mlp = qkv_mlp.split([self.hidden_size, self.hidden_size, self.hidden_size, self.mlp_hidden_dim], dim=-1) + del qkv_mlp + + q = rearrange(q, "B L (H D) -> B L H D", H=self.heads_num) + k = rearrange(k, "B L (H D) -> B L H D", H=self.heads_num) + v = rearrange(v, "B L (H D) -> B L H D", H=self.heads_num) + + # Apply QK-Norm if enabled + q = self.q_norm(q).to(v) + k = self.k_norm(k).to(v) + + # Separate image and text tokens + img_q, txt_q = q[:, :-txt_len, :, :], q[:, -txt_len:, :, :] + img_k, txt_k = k[:, :-txt_len, :, :], k[:, -txt_len:, :, :] + img_v, txt_v = v[:, :-txt_len, :, :], v[:, -txt_len:, :, :] + + # Apply rotary position embeddings only to image tokens + img_qq, img_kk = apply_rotary_emb(img_q, img_k, freqs_cis, head_first=False) + assert ( + img_qq.shape == img_q.shape and img_kk.shape == img_k.shape + ), f"RoPE output shape mismatch: got {img_qq.shape}, {img_kk.shape}, expected {img_q.shape}, {img_k.shape}" + img_q, img_k = img_qq, img_kk + + # Recombine and compute joint attention + q = torch.cat([img_q, txt_q], dim=1) + k = torch.cat([img_k, txt_k], dim=1) + v = torch.cat([img_v, txt_v], dim=1) + attn = attention(q, k, v, seq_lens=seq_lens, attn_mode=self.attn_mode) + + # Combine attention and MLP outputs, apply gating + # output = self.linear2(attn, self.mlp_act(mlp)) + + mlp = self.mlp_act(mlp) + output = torch.cat([attn, mlp], dim=2).contiguous() + output = self.linear2(output) + + return x + apply_gate(output, gate=mod_gate) + + +# endregion diff --git a/library/hunyuan_image_text_encoder.py b/library/hunyuan_image_text_encoder.py new file mode 100644 index 000000000..85bdaa43e --- /dev/null +++ b/library/hunyuan_image_text_encoder.py @@ -0,0 +1,649 @@ +import json +import re +from typing import Tuple, Optional, Union +import torch +from transformers import ( + AutoTokenizer, + Qwen2_5_VLConfig, + Qwen2_5_VLForConditionalGeneration, + Qwen2Tokenizer, + T5ForConditionalGeneration, + T5Config, + T5Tokenizer, +) +from transformers.models.t5.modeling_t5 import T5Stack +from accelerate import init_empty_weights + +from library import model_util +from library.utils import load_safetensors, setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + + +BYT5_TOKENIZER_PATH = "google/byt5-small" +QWEN_2_5_VL_IMAGE_ID ="Qwen/Qwen2.5-VL-7B-Instruct" + + +# Copy from Glyph-SDXL-V2 + +COLOR_IDX_JSON = """{"white": 0, "black": 1, "darkslategray": 2, "dimgray": 3, "darkolivegreen": 4, "midnightblue": 5, "saddlebrown": 6, "sienna": 7, "whitesmoke": 8, "darkslateblue": 9, +"indianred": 10, "linen": 11, "maroon": 12, "khaki": 13, "sandybrown": 14, "gray": 15, "gainsboro": 16, "teal": 17, "peru": 18, "gold": 19, +"snow": 20, "firebrick": 21, "crimson": 22, "chocolate": 23, "tomato": 24, "brown": 25, "goldenrod": 26, "antiquewhite": 27, "rosybrown": 28, "steelblue": 29, +"floralwhite": 30, "seashell": 31, "darkgreen": 32, "oldlace": 33, "darkkhaki": 34, "burlywood": 35, "red": 36, "darkgray": 37, "orange": 38, "royalblue": 39, +"seagreen": 40, "lightgray": 41, "tan": 42, "coral": 43, "beige": 44, "palevioletred": 45, "wheat": 46, "lavender": 47, "darkcyan": 48, "slateblue": 49, +"slategray": 50, "orangered": 51, "silver": 52, "olivedrab": 53, "forestgreen": 54, "darkgoldenrod": 55, "ivory": 56, "darkorange": 57, "yellow": 58, "hotpink": 59, +"ghostwhite": 60, "lightcoral": 61, "indigo": 62, "bisque": 63, "darkred": 64, "darksalmon": 65, "lightslategray": 66, "dodgerblue": 67, "lightpink": 68, "mistyrose": 69, +"mediumvioletred": 70, "cadetblue": 71, "deeppink": 72, "salmon": 73, "palegoldenrod": 74, "blanchedalmond": 75, "lightseagreen": 76, "cornflowerblue": 77, "yellowgreen": 78, "greenyellow": 79, +"navajowhite": 80, "papayawhip": 81, "mediumslateblue": 82, "purple": 83, "blueviolet": 84, "pink": 85, "cornsilk": 86, "lightsalmon": 87, "mediumpurple": 88, "moccasin": 89, +"turquoise": 90, "mediumseagreen": 91, "lavenderblush": 92, "mediumblue": 93, "darkseagreen": 94, "mediumturquoise": 95, "paleturquoise": 96, "skyblue": 97, "lemonchiffon": 98, "olive": 99, +"peachpuff": 100, "lightyellow": 101, "lightsteelblue": 102, "mediumorchid": 103, "plum": 104, "darkturquoise": 105, "aliceblue": 106, "mediumaquamarine": 107, "orchid": 108, "powderblue": 109, +"blue": 110, "darkorchid": 111, "violet": 112, "lightskyblue": 113, "lightcyan": 114, "lightgoldenrodyellow": 115, "navy": 116, "thistle": 117, "honeydew": 118, "mintcream": 119, +"lightblue": 120, "darkblue": 121, "darkmagenta": 122, "deepskyblue": 123, "magenta": 124, "limegreen": 125, "darkviolet": 126, "cyan": 127, "palegreen": 128, "aquamarine": 129, +"lawngreen": 130, "lightgreen": 131, "azure": 132, "chartreuse": 133, "green": 134, "mediumspringgreen": 135, "lime": 136, "springgreen": 137}""" + +MULTILINGUAL_10_LANG_IDX_JSON = """{"en-Montserrat-Regular": 0, "en-Poppins-Italic": 1, "en-GlacialIndifference-Regular": 2, "en-OpenSans-ExtraBoldItalic": 3, "en-Montserrat-Bold": 4, "en-Now-Regular": 5, "en-Garet-Regular": 6, "en-LeagueSpartan-Bold": 7, "en-DMSans-Regular": 8, "en-OpenSauceOne-Regular": 9, +"en-OpenSans-ExtraBold": 10, "en-KGPrimaryPenmanship": 11, "en-Anton-Regular": 12, "en-Aileron-BlackItalic": 13, "en-Quicksand-Light": 14, "en-Roboto-BoldItalic": 15, "en-TheSeasons-It": 16, "en-Kollektif": 17, "en-Inter-BoldItalic": 18, "en-Poppins-Medium": 19, +"en-Poppins-Light": 20, "en-RoxboroughCF-RegularItalic": 21, "en-PlayfairDisplay-SemiBold": 22, "en-Agrandir-Italic": 23, "en-Lato-Regular": 24, "en-MoreSugarRegular": 25, "en-CanvaSans-RegularItalic": 26, "en-PublicSans-Italic": 27, "en-CodePro-NormalLC": 28, "en-Belleza-Regular": 29, +"en-JosefinSans-Bold": 30, "en-HKGrotesk-Bold": 31, "en-Telegraf-Medium": 32, "en-BrittanySignatureRegular": 33, "en-Raleway-ExtraBoldItalic": 34, "en-Mont-RegularItalic": 35, "en-Arimo-BoldItalic": 36, "en-Lora-Italic": 37, "en-ArchivoBlack-Regular": 38, "en-Poppins": 39, +"en-Barlow-Black": 40, "en-CormorantGaramond-Bold": 41, "en-LibreBaskerville-Regular": 42, "en-CanvaSchoolFontRegular": 43, "en-BebasNeueBold": 44, "en-LazydogRegular": 45, "en-FredokaOne-Regular": 46, "en-Horizon-Bold": 47, "en-Nourd-Regular": 48, "en-Hatton-Regular": 49, +"en-Nunito-ExtraBoldItalic": 50, "en-CerebriSans-Regular": 51, "en-Montserrat-Light": 52, "en-TenorSans": 53, "en-Norwester-Regular": 54, "en-ClearSans-Bold": 55, "en-Cardo-Regular": 56, "en-Alice-Regular": 57, "en-Oswald-Regular": 58, "en-Gaegu-Bold": 59, +"en-Muli-Black": 60, "en-TAN-PEARL-Regular": 61, "en-CooperHewitt-Book": 62, "en-Agrandir-Grand": 63, "en-BlackMango-Thin": 64, "en-DMSerifDisplay-Regular": 65, "en-Antonio-Bold": 66, "en-Sniglet-Regular": 67, "en-BeVietnam-Regular": 68, "en-NunitoSans10pt-BlackItalic": 69, +"en-AbhayaLibre-ExtraBold": 70, "en-Rubik-Regular": 71, "en-PPNeueMachina-Regular": 72, "en-TAN - MON CHERI-Regular": 73, "en-Jua-Regular": 74, "en-Playlist-Script": 75, "en-SourceSansPro-BoldItalic": 76, "en-MoonTime-Regular": 77, "en-Eczar-ExtraBold": 78, "en-Gatwick-Regular": 79, +"en-MonumentExtended-Regular": 80, "en-BarlowSemiCondensed-Regular": 81, "en-BarlowCondensed-Regular": 82, "en-Alegreya-Regular": 83, "en-DreamAvenue": 84, "en-RobotoCondensed-Italic": 85, "en-BobbyJones-Regular": 86, "en-Garet-ExtraBold": 87, "en-YesevaOne-Regular": 88, "en-Dosis-ExtraBold": 89, +"en-LeagueGothic-Regular": 90, "en-OpenSans-Italic": 91, "en-TANAEGEAN-Regular": 92, "en-Maharlika-Regular": 93, "en-MarykateRegular": 94, "en-Cinzel-Regular": 95, "en-Agrandir-Wide": 96, "en-Chewy-Regular": 97, "en-BodoniFLF-BoldItalic": 98, "en-Nunito-BlackItalic": 99, +"en-LilitaOne": 100, "en-HandyCasualCondensed-Regular": 101, "en-Ovo": 102, "en-Livvic-Regular": 103, "en-Agrandir-Narrow": 104, "en-CrimsonPro-Italic": 105, "en-AnonymousPro-Bold": 106, "en-NF-OneLittleFont-Bold": 107, "en-RedHatDisplay-BoldItalic": 108, "en-CodecPro-Regular": 109, +"en-HalimunRegular": 110, "en-LibreFranklin-Black": 111, "en-TeXGyreTermes-BoldItalic": 112, "en-Shrikhand-Regular": 113, "en-TTNormsPro-Italic": 114, "en-Gagalin-Regular": 115, "en-OpenSans-Bold": 116, "en-GreatVibes-Regular": 117, "en-Breathing": 118, "en-HeroLight-Regular": 119, +"en-KGPrimaryDots": 120, "en-Quicksand-Bold": 121, "en-Brice-ExtraLightSemiExpanded": 122, "en-Lato-BoldItalic": 123, "en-Fraunces9pt-Italic": 124, "en-AbrilFatface-Regular": 125, "en-BerkshireSwash-Regular": 126, "en-Atma-Bold": 127, "en-HolidayRegular": 128, "en-BebasNeueCyrillic": 129, +"en-IntroRust-Base": 130, "en-Gistesy": 131, "en-BDScript-Regular": 132, "en-ApricotsRegular": 133, "en-Prompt-Black": 134, "en-TAN MERINGUE": 135, "en-Sukar Regular": 136, "en-GentySans-Regular": 137, "en-NeueEinstellung-Normal": 138, "en-Garet-Bold": 139, +"en-FiraSans-Black": 140, "en-BantayogLight": 141, "en-NotoSerifDisplay-Black": 142, "en-TTChocolates-Regular": 143, "en-Ubuntu-Regular": 144, "en-Assistant-Bold": 145, "en-ABeeZee-Regular": 146, "en-LexendDeca-Regular": 147, "en-KingredSerif": 148, "en-Radley-Regular": 149, +"en-BrownSugar": 150, "en-MigraItalic-ExtraboldItalic": 151, "en-ChildosArabic-Regular": 152, "en-PeaceSans": 153, "en-LondrinaSolid-Black": 154, "en-SpaceMono-BoldItalic": 155, "en-RobotoMono-Light": 156, "en-CourierPrime-Regular": 157, "en-Alata-Regular": 158, "en-Amsterdam-One": 159, +"en-IreneFlorentina-Regular": 160, "en-CatchyMager": 161, "en-Alta_regular": 162, "en-ArticulatCF-Regular": 163, "en-Raleway-Regular": 164, "en-BrasikaDisplay": 165, "en-TANAngleton-Italic": 166, "en-NotoSerifDisplay-ExtraCondensedItalic": 167, "en-Bryndan Write": 168, "en-TTCommonsPro-It": 169, +"en-AlexBrush-Regular": 170, "en-Antic-Regular": 171, "en-TTHoves-Bold": 172, "en-DroidSerif": 173, "en-AblationRegular": 174, "en-Marcellus-Regular": 175, "en-Sanchez-Italic": 176, "en-JosefinSans": 177, "en-Afrah-Regular": 178, "en-PinyonScript": 179, +"en-TTInterphases-BoldItalic": 180, "en-Yellowtail-Regular": 181, "en-Gliker-Regular": 182, "en-BobbyJonesSoft-Regular": 183, "en-IBMPlexSans": 184, "en-Amsterdam-Three": 185, "en-Amsterdam-FourSlant": 186, "en-TTFors-Regular": 187, "en-Quattrocento": 188, "en-Sifonn-Basic": 189, +"en-AlegreyaSans-Black": 190, "en-Daydream": 191, "en-AristotelicaProTx-Rg": 192, "en-NotoSerif": 193, "en-EBGaramond-Italic": 194, "en-HammersmithOne-Regular": 195, "en-RobotoSlab-Regular": 196, "en-DO-Sans-Regular": 197, "en-KGPrimaryDotsLined": 198, "en-Blinker-Regular": 199, +"en-TAN NIMBUS": 200, "en-Blueberry-Regular": 201, "en-Rosario-Regular": 202, "en-Forum": 203, "en-MistrullyRegular": 204, "en-SourceSerifPro-Regular": 205, "en-Bugaki-Regular": 206, "en-CMUSerif-Roman": 207, "en-GulfsDisplay-NormalItalic": 208, "en-PTSans-Bold": 209, +"en-Sensei-Medium": 210, "en-SquadaOne-Regular": 211, "en-Arapey-Italic": 212, "en-Parisienne-Regular": 213, "en-Aleo-Italic": 214, "en-QuicheDisplay-Italic": 215, "en-RocaOne-It": 216, "en-Funtastic-Regular": 217, "en-PTSerif-BoldItalic": 218, "en-Muller-RegularItalic": 219, +"en-ArgentCF-Regular": 220, "en-Brightwall-Italic": 221, "en-Knewave-Regular": 222, "en-TYSerif-D": 223, "en-Agrandir-Tight": 224, "en-AlfaSlabOne-Regular": 225, "en-TANTangkiwood-Display": 226, "en-Kief-Montaser-Regular": 227, "en-Gotham-Book": 228, "en-JuliusSansOne-Regular": 229, +"en-CocoGothic-Italic": 230, "en-SairaCondensed-Regular": 231, "en-DellaRespira-Regular": 232, "en-Questrial-Regular": 233, "en-BukhariScript-Regular": 234, "en-HelveticaWorld-Bold": 235, "en-TANKINDRED-Display": 236, "en-CinzelDecorative-Regular": 237, "en-Vidaloka-Regular": 238, "en-AlegreyaSansSC-Black": 239, +"en-FeelingPassionate-Regular": 240, "en-QuincyCF-Regular": 241, "en-FiraCode-Regular": 242, "en-Genty-Regular": 243, "en-Nickainley-Normal": 244, "en-RubikOne-Regular": 245, "en-Gidole-Regular": 246, "en-Borsok": 247, "en-Gordita-RegularItalic": 248, "en-Scripter-Regular": 249, +"en-Buffalo-Regular": 250, "en-KleinText-Regular": 251, "en-Creepster-Regular": 252, "en-Arvo-Bold": 253, "en-GabrielSans-NormalItalic": 254, "en-Heebo-Black": 255, "en-LexendExa-Regular": 256, "en-BrixtonSansTC-Regular": 257, "en-GildaDisplay-Regular": 258, "en-ChunkFive-Roman": 259, +"en-Amaranth-BoldItalic": 260, "en-BubbleboddyNeue-Regular": 261, "en-MavenPro-Bold": 262, "en-TTDrugs-Italic": 263, "en-CyGrotesk-KeyRegular": 264, "en-VarelaRound-Regular": 265, "en-Ruda-Black": 266, "en-SafiraMarch": 267, "en-BloggerSans": 268, "en-TANHEADLINE-Regular": 269, +"en-SloopScriptPro-Regular": 270, "en-NeueMontreal-Regular": 271, "en-Schoolbell-Regular": 272, "en-SigherRegular": 273, "en-InriaSerif-Regular": 274, "en-JetBrainsMono-Regular": 275, "en-MADEEvolveSans": 276, "en-Dekko": 277, "en-Handyman-Regular": 278, "en-Aileron-BoldItalic": 279, +"en-Bright-Italic": 280, "en-Solway-Regular": 281, "en-Higuen-Regular": 282, "en-WedgesItalic": 283, "en-TANASHFORD-BOLD": 284, "en-IBMPlexMono": 285, "en-RacingSansOne-Regular": 286, "en-RegularBrush": 287, "en-OpenSans-LightItalic": 288, "en-SpecialElite-Regular": 289, +"en-FuturaLTPro-Medium": 290, "en-MaragsaDisplay": 291, "en-BigShouldersDisplay-Regular": 292, "en-BDSans-Regular": 293, "en-RasputinRegular": 294, "en-Yvesyvesdrawing-BoldItalic": 295, "en-Bitter-Regular": 296, "en-LuckiestGuy-Regular": 297, "en-CanvaSchoolFontDotted": 298, "en-TTFirsNeue-Italic": 299, +"en-Sunday-Regular": 300, "en-HKGothic-MediumItalic": 301, "en-CaveatBrush-Regular": 302, "en-HeliosExt": 303, "en-ArchitectsDaughter-Regular": 304, "en-Angelina": 305, "en-Calistoga-Regular": 306, "en-ArchivoNarrow-Regular": 307, "en-ObjectSans-MediumSlanted": 308, "en-AyrLucidityCondensed-Regular": 309, +"en-Nexa-RegularItalic": 310, "en-Lustria-Regular": 311, "en-Amsterdam-TwoSlant": 312, "en-Virtual-Regular": 313, "en-Brusher-Regular": 314, "en-NF-Lepetitcochon-Regular": 315, "en-TANTWINKLE": 316, "en-LeJour-Serif": 317, "en-Prata-Regular": 318, "en-PPWoodland-Regular": 319, +"en-PlayfairDisplay-BoldItalic": 320, "en-AmaticSC-Regular": 321, "en-Cabin-Regular": 322, "en-Manjari-Bold": 323, "en-MrDafoe-Regular": 324, "en-TTRamillas-Italic": 325, "en-Luckybones-Bold": 326, "en-DarkerGrotesque-Light": 327, "en-BellabooRegular": 328, "en-CormorantSC-Bold": 329, +"en-GochiHand-Regular": 330, "en-Atteron": 331, "en-RocaTwo-Lt": 332, "en-ZCOOLXiaoWei-Regular": 333, "en-TANSONGBIRD": 334, "en-HeadingNow-74Regular": 335, "en-Luthier-BoldItalic": 336, "en-Oregano-Regular": 337, "en-AyrTropikaIsland-Int": 338, "en-Mali-Regular": 339, +"en-DidactGothic-Regular": 340, "en-Lovelace-Regular": 341, "en-BakerieSmooth-Regular": 342, "en-CarterOne": 343, "en-HussarBd": 344, "en-OldStandard-Italic": 345, "en-TAN-ASTORIA-Display": 346, "en-rugratssans-Regular": 347, "en-BMHANNA": 348, "en-BetterSaturday": 349, +"en-AdigianaToybox": 350, "en-Sailors": 351, "en-PlayfairDisplaySC-Italic": 352, "en-Etna-Regular": 353, "en-Revive80Signature": 354, "en-CAGenerated": 355, "en-Poppins-Regular": 356, "en-Jonathan-Regular": 357, "en-Pacifico-Regular": 358, "en-Saira-Black": 359, +"en-Loubag-Regular": 360, "en-Decalotype-Black": 361, "en-Mansalva-Regular": 362, "en-Allura-Regular": 363, "en-ProximaNova-Bold": 364, "en-TANMIGNON-DISPLAY": 365, "en-ArsenicaAntiqua-Regular": 366, "en-BreulGroteskA-RegularItalic": 367, "en-HKModular-Bold": 368, "en-TANNightingale-Regular": 369, +"en-AristotelicaProCndTxt-Rg": 370, "en-Aprila-Regular": 371, "en-Tomorrow-Regular": 372, "en-AngellaWhite": 373, "en-KaushanScript-Regular": 374, "en-NotoSans": 375, "en-LeJour-Script": 376, "en-BrixtonTC-Regular": 377, "en-OleoScript-Regular": 378, "en-Cakerolli-Regular": 379, +"en-Lobster-Regular": 380, "en-FrunchySerif-Regular": 381, "en-PorcelainRegular": 382, "en-AlojaExtended": 383, "en-SergioTrendy-Italic": 384, "en-LovelaceText-Bold": 385, "en-Anaktoria": 386, "en-JimmyScript-Light": 387, "en-IBMPlexSerif": 388, "en-Marta": 389, +"en-Mango-Regular": 390, "en-Overpass-Italic": 391, "en-Hagrid-Regular": 392, "en-ElikaGorica": 393, "en-Amiko-Regular": 394, "en-EFCOBrookshire-Regular": 395, "en-Caladea-Regular": 396, "en-MoonlightBold": 397, "en-Staatliches-Regular": 398, "en-Helios-Bold": 399, +"en-Satisfy-Regular": 400, "en-NexaScript-Regular": 401, "en-Trocchi-Regular": 402, "en-March": 403, "en-IbarraRealNova-Regular": 404, "en-Nectarine-Regular": 405, "en-Overpass-Light": 406, "en-TruetypewriterPolyglOTT": 407, "en-Bangers-Regular": 408, "en-Lazord-BoldExpandedItalic": 409, +"en-Chloe-Regular": 410, "en-BaskervilleDisplayPT-Regular": 411, "en-Bright-Regular": 412, "en-Vollkorn-Regular": 413, "en-Harmattan": 414, "en-SortsMillGoudy-Regular": 415, "en-Biryani-Bold": 416, "en-SugoProDisplay-Italic": 417, "en-Lazord-BoldItalic": 418, "en-Alike-Regular": 419, +"en-PermanentMarker-Regular": 420, "en-Sacramento-Regular": 421, "en-HKGroteskPro-Italic": 422, "en-Aleo-BoldItalic": 423, "en-Noot": 424, "en-TANGARLAND-Regular": 425, "en-Twister": 426, "en-Arsenal-Italic": 427, "en-Bogart-Italic": 428, "en-BethEllen-Regular": 429, +"en-Caveat-Regular": 430, "en-BalsamiqSans-Bold": 431, "en-BreeSerif-Regular": 432, "en-CodecPro-ExtraBold": 433, "en-Pierson-Light": 434, "en-CyGrotesk-WideRegular": 435, "en-Lumios-Marker": 436, "en-Comfortaa-Bold": 437, "en-TraceFontRegular": 438, "en-RTL-AdamScript-Regular": 439, +"en-EastmanGrotesque-Italic": 440, "en-Kalam-Bold": 441, "en-ChauPhilomeneOne-Regular": 442, "en-Coiny-Regular": 443, "en-Lovera": 444, "en-Gellatio": 445, "en-TitilliumWeb-Bold": 446, "en-OilvareBase-Italic": 447, "en-Catamaran-Black": 448, "en-Anteb-Italic": 449, +"en-SueEllenFrancisco": 450, "en-SweetApricot": 451, "en-BrightSunshine": 452, "en-IM_FELL_Double_Pica_Italic": 453, "en-Granaina-limpia": 454, "en-TANPARFAIT": 455, "en-AcherusGrotesque-Regular": 456, "en-AwesomeLathusca-Italic": 457, "en-Signika-Bold": 458, "en-Andasia": 459, +"en-DO-AllCaps-Slanted": 460, "en-Zenaida-Regular": 461, "en-Fahkwang-Regular": 462, "en-Play-Regular": 463, "en-BERNIERRegular-Regular": 464, "en-PlumaThin-Regular": 465, "en-SportsWorld": 466, "en-Garet-Black": 467, "en-CarolloPlayscript-BlackItalic": 468, "en-Cheque-Regular": 469, +"en-SEGO": 470, "en-BobbyJones-Condensed": 471, "en-NexaSlab-RegularItalic": 472, "en-DancingScript-Regular": 473, "en-PaalalabasDisplayWideBETA": 474, "en-Magnolia-Script": 475, "en-OpunMai-400It": 476, "en-MadelynFill-Regular": 477, "en-ZingRust-Base": 478, "en-FingerPaint-Regular": 479, +"en-BostonAngel-Light": 480, "en-Gliker-RegularExpanded": 481, "en-Ahsing": 482, "en-Engagement-Regular": 483, "en-EyesomeScript": 484, "en-LibraSerifModern-Regular": 485, "en-London-Regular": 486, "en-AtkinsonHyperlegible-Regular": 487, "en-StadioNow-TextItalic": 488, "en-Aniyah": 489, +"en-ITCAvantGardePro-Bold": 490, "en-Comica-Regular": 491, "en-Coustard-Regular": 492, "en-Brice-BoldCondensed": 493, "en-TANNEWYORK-Bold": 494, "en-TANBUSTER-Bold": 495, "en-Alatsi-Regular": 496, "en-TYSerif-Book": 497, "en-Jingleberry": 498, "en-Rajdhani-Bold": 499, +"en-LobsterTwo-BoldItalic": 500, "en-BestLight-Medium": 501, "en-Hitchcut-Regular": 502, "en-GermaniaOne-Regular": 503, "en-Emitha-Script": 504, "en-LemonTuesday": 505, "en-Cubao_Free_Regular": 506, "en-MonterchiSerif-Regular": 507, "en-AllertaStencil-Regular": 508, "en-RTL-Sondos-Regular": 509, +"en-HomemadeApple-Regular": 510, "en-CosmicOcto-Medium": 511, "cn-HelloFont-FangHuaTi": 0, "cn-HelloFont-ID-DianFangSong-Bold": 1, "cn-HelloFont-ID-DianFangSong": 2, "cn-HelloFont-ID-DianHei-CEJ": 3, "cn-HelloFont-ID-DianHei-DEJ": 4, "cn-HelloFont-ID-DianHei-EEJ": 5, "cn-HelloFont-ID-DianHei-FEJ": 6, "cn-HelloFont-ID-DianHei-GEJ": 7, "cn-HelloFont-ID-DianKai-Bold": 8, "cn-HelloFont-ID-DianKai": 9, +"cn-HelloFont-WenYiHei": 10, "cn-Hellofont-ID-ChenYanXingKai": 11, "cn-Hellofont-ID-DaZiBao": 12, "cn-Hellofont-ID-DaoCaoRen": 13, "cn-Hellofont-ID-JianSong": 14, "cn-Hellofont-ID-JiangHuZhaoPaiHei": 15, "cn-Hellofont-ID-KeSong": 16, "cn-Hellofont-ID-LeYuanTi": 17, "cn-Hellofont-ID-Pinocchio": 18, "cn-Hellofont-ID-QiMiaoTi": 19, +"cn-Hellofont-ID-QingHuaKai": 20, "cn-Hellofont-ID-QingHuaXingKai": 21, "cn-Hellofont-ID-ShanShuiXingKai": 22, "cn-Hellofont-ID-ShouXieQiShu": 23, "cn-Hellofont-ID-ShouXieTongZhenTi": 24, "cn-Hellofont-ID-TengLingTi": 25, "cn-Hellofont-ID-XiaoLiShu": 26, "cn-Hellofont-ID-XuanZhenSong": 27, "cn-Hellofont-ID-ZhongLingXingKai": 28, "cn-HellofontIDJiaoTangTi": 29, +"cn-HellofontIDJiuZhuTi": 30, "cn-HuXiaoBao-SaoBao": 31, "cn-HuXiaoBo-NanShen": 32, "cn-HuXiaoBo-ZhenShuai": 33, "cn-SourceHanSansSC-Bold": 34, "cn-SourceHanSansSC-ExtraLight": 35, "cn-SourceHanSansSC-Heavy": 36, "cn-SourceHanSansSC-Light": 37, "cn-SourceHanSansSC-Medium": 38, "cn-SourceHanSansSC-Normal": 39, +"cn-SourceHanSansSC-Regular": 40, "cn-SourceHanSerifSC-Bold": 41, "cn-SourceHanSerifSC-ExtraLight": 42, "cn-SourceHanSerifSC-Heavy": 43, "cn-SourceHanSerifSC-Light": 44, "cn-SourceHanSerifSC-Medium": 45, "cn-SourceHanSerifSC-Regular": 46, "cn-SourceHanSerifSC-SemiBold": 47, "cn-xiaowei": 48, "cn-AaJianHaoTi": 49, +"cn-AlibabaPuHuiTi-Bold": 50, "cn-AlibabaPuHuiTi-Heavy": 51, "cn-AlibabaPuHuiTi-Light": 52, "cn-AlibabaPuHuiTi-Medium": 53, "cn-AlibabaPuHuiTi-Regular": 54, "cn-CanvaAcidBoldSC": 55, "cn-CanvaBreezeCN": 56, "cn-CanvaBumperCropSC": 57, "cn-CanvaCakeShopCN": 58, "cn-CanvaEndeavorBlackSC": 59, +"cn-CanvaJoyHeiCN": 60, "cn-CanvaLiCN": 61, "cn-CanvaOrientalBrushCN": 62, "cn-CanvaPoster": 63, "cn-CanvaQinfuCalligraphyCN": 64, "cn-CanvaSweetHeartCN": 65, "cn-CanvaSwordLikeDreamCN": 66, "cn-CanvaTangyuanHandwritingCN": 67, "cn-CanvaWanderWorldCN": 68, "cn-CanvaWenCN": 69, +"cn-DianZiChunYi": 70, "cn-GenSekiGothicTW-H": 71, "cn-GenWanMinTW-L": 72, "cn-GenYoMinTW-B": 73, "cn-GenYoMinTW-EL": 74, "cn-GenYoMinTW-H": 75, "cn-GenYoMinTW-M": 76, "cn-GenYoMinTW-R": 77, "cn-GenYoMinTW-SB": 78, "cn-HYQiHei-AZEJ": 79, +"cn-HYQiHei-EES": 80, "cn-HanaMinA": 81, "cn-HappyZcool-2016": 82, "cn-HelloFont ZJ KeKouKeAiTi": 83, "cn-HelloFont-ID-BoBoTi": 84, "cn-HelloFont-ID-FuGuHei-25": 85, "cn-HelloFont-ID-FuGuHei-35": 86, "cn-HelloFont-ID-FuGuHei-45": 87, "cn-HelloFont-ID-FuGuHei-55": 88, "cn-HelloFont-ID-FuGuHei-65": 89, +"cn-HelloFont-ID-FuGuHei-75": 90, "cn-HelloFont-ID-FuGuHei-85": 91, "cn-HelloFont-ID-HeiKa": 92, "cn-HelloFont-ID-HeiTang": 93, "cn-HelloFont-ID-JianSong-95": 94, "cn-HelloFont-ID-JueJiangHei-50": 95, "cn-HelloFont-ID-JueJiangHei-55": 96, "cn-HelloFont-ID-JueJiangHei-60": 97, "cn-HelloFont-ID-JueJiangHei-65": 98, "cn-HelloFont-ID-JueJiangHei-70": 99, +"cn-HelloFont-ID-JueJiangHei-75": 100, "cn-HelloFont-ID-JueJiangHei-80": 101, "cn-HelloFont-ID-KuHeiTi": 102, "cn-HelloFont-ID-LingDongTi": 103, "cn-HelloFont-ID-LingLiTi": 104, "cn-HelloFont-ID-MuFengTi": 105, "cn-HelloFont-ID-NaiNaiJiangTi": 106, "cn-HelloFont-ID-PangDu": 107, "cn-HelloFont-ID-ReLieTi": 108, "cn-HelloFont-ID-RouRun": 109, +"cn-HelloFont-ID-SaShuangShouXieTi": 110, "cn-HelloFont-ID-WangZheFengFan": 111, "cn-HelloFont-ID-YouQiTi": 112, "cn-Hellofont-ID-XiaLeTi": 113, "cn-Hellofont-ID-XianXiaTi": 114, "cn-HuXiaoBoKuHei": 115, "cn-IDDanMoXingKai": 116, "cn-IDJueJiangHei": 117, "cn-IDMeiLingTi": 118, "cn-IDQQSugar": 119, +"cn-LiuJianMaoCao-Regular": 120, "cn-LongCang-Regular": 121, "cn-MaShanZheng-Regular": 122, "cn-PangMenZhengDao-3": 123, "cn-PangMenZhengDao-Cu": 124, "cn-PangMenZhengDao": 125, "cn-SentyCaramel": 126, "cn-SourceHanSerifSC": 127, "cn-WenCang-Regular": 128, "cn-WenQuanYiMicroHei": 129, +"cn-XianErTi": 130, "cn-YRDZSTJF": 131, "cn-YS-HelloFont-BangBangTi": 132, "cn-ZCOOLKuaiLe-Regular": 133, "cn-ZCOOLQingKeHuangYou-Regular": 134, "cn-ZCOOLXiaoWei-Regular": 135, "cn-ZCOOL_KuHei": 136, "cn-ZhiMangXing-Regular": 137, "cn-baotuxiaobaiti": 138, "cn-jiangxizhuokai-Regular": 139, +"cn-zcool-gdh": 140, "cn-zcoolqingkehuangyouti-Regular": 141, "cn-zcoolwenyiti": 142, "jp-04KanjyukuGothic": 0, "jp-07LightNovelPOP": 1, "jp-07NikumaruFont": 2, "jp-07YasashisaAntique": 3, "jp-07YasashisaGothic": 4, "jp-BokutachinoGothic2Bold": 5, "jp-BokutachinoGothic2Regular": 6, "jp-CHI_SpeedyRight_full_211128-Regular": 7, "jp-CHI_SpeedyRight_italic_full_211127-Regular": 8, "jp-CP-Font": 9, +"jp-Canva_CezanneProN-B": 10, "jp-Canva_CezanneProN-M": 11, "jp-Canva_ChiaroStd-B": 12, "jp-Canva_CometStd-B": 13, "jp-Canva_DotMincho16Std-M": 14, "jp-Canva_GrecoStd-B": 15, "jp-Canva_GrecoStd-M": 16, "jp-Canva_LyraStd-DB": 17, "jp-Canva_MatisseHatsuhiPro-B": 18, "jp-Canva_MatisseHatsuhiPro-M": 19, +"jp-Canva_ModeMinAStd-B": 20, "jp-Canva_NewCezanneProN-B": 21, "jp-Canva_NewCezanneProN-M": 22, "jp-Canva_PearlStd-L": 23, "jp-Canva_RaglanStd-UB": 24, "jp-Canva_RailwayStd-B": 25, "jp-Canva_ReggaeStd-B": 26, "jp-Canva_RocknRollStd-DB": 27, "jp-Canva_RodinCattleyaPro-B": 28, "jp-Canva_RodinCattleyaPro-M": 29, +"jp-Canva_RodinCattleyaPro-UB": 30, "jp-Canva_RodinHimawariPro-B": 31, "jp-Canva_RodinHimawariPro-M": 32, "jp-Canva_RodinMariaPro-B": 33, "jp-Canva_RodinMariaPro-DB": 34, "jp-Canva_RodinProN-M": 35, "jp-Canva_ShadowTLStd-B": 36, "jp-Canva_StickStd-B": 37, "jp-Canva_TsukuAOldMinPr6N-B": 38, "jp-Canva_TsukuAOldMinPr6N-R": 39, +"jp-Canva_UtrilloPro-DB": 40, "jp-Canva_UtrilloPro-M": 41, "jp-Canva_YurukaStd-UB": 42, "jp-FGUIGEN": 43, "jp-GlowSansJ-Condensed-Heavy": 44, "jp-GlowSansJ-Condensed-Light": 45, "jp-GlowSansJ-Normal-Bold": 46, "jp-GlowSansJ-Normal-Light": 47, "jp-HannariMincho": 48, "jp-HarenosoraMincho": 49, +"jp-Jiyucho": 50, "jp-Kaiso-Makina-B": 51, "jp-Kaisotai-Next-UP-B": 52, "jp-KokoroMinchoutai": 53, "jp-Mamelon-3-Hi-Regular": 54, "jp-MotoyaAnemoneStd-W1": 55, "jp-MotoyaAnemoneStd-W5": 56, "jp-MotoyaAnticPro-W3": 57, "jp-MotoyaCedarStd-W3": 58, "jp-MotoyaCedarStd-W5": 59, +"jp-MotoyaGochikaStd-W4": 60, "jp-MotoyaGochikaStd-W8": 61, "jp-MotoyaGothicMiyabiStd-W6": 62, "jp-MotoyaGothicStd-W3": 63, "jp-MotoyaGothicStd-W5": 64, "jp-MotoyaKoinStd-W3": 65, "jp-MotoyaKyotaiStd-W2": 66, "jp-MotoyaKyotaiStd-W4": 67, "jp-MotoyaMaruStd-W3": 68, "jp-MotoyaMaruStd-W5": 69, +"jp-MotoyaMinchoMiyabiStd-W4": 70, "jp-MotoyaMinchoMiyabiStd-W6": 71, "jp-MotoyaMinchoModernStd-W4": 72, "jp-MotoyaMinchoModernStd-W6": 73, "jp-MotoyaMinchoStd-W3": 74, "jp-MotoyaMinchoStd-W5": 75, "jp-MotoyaReisyoStd-W2": 76, "jp-MotoyaReisyoStd-W6": 77, "jp-MotoyaTohitsuStd-W4": 78, "jp-MotoyaTohitsuStd-W6": 79, +"jp-MtySousyokuEmBcJis-W6": 80, "jp-MtySousyokuLiBcJis-W6": 81, "jp-Mushin": 82, "jp-NotoSansJP-Bold": 83, "jp-NotoSansJP-Regular": 84, "jp-NudMotoyaAporoStd-W3": 85, "jp-NudMotoyaAporoStd-W5": 86, "jp-NudMotoyaCedarStd-W3": 87, "jp-NudMotoyaCedarStd-W5": 88, "jp-NudMotoyaMaruStd-W3": 89, +"jp-NudMotoyaMaruStd-W5": 90, "jp-NudMotoyaMinchoStd-W5": 91, "jp-Ounen-mouhitsu": 92, "jp-Ronde-B-Square": 93, "jp-SMotoyaGyosyoStd-W5": 94, "jp-SMotoyaSinkaiStd-W3": 95, "jp-SMotoyaSinkaiStd-W5": 96, "jp-SourceHanSansJP-Bold": 97, "jp-SourceHanSansJP-Regular": 98, "jp-SourceHanSerifJP-Bold": 99, +"jp-SourceHanSerifJP-Regular": 100, "jp-TazuganeGothicStdN-Bold": 101, "jp-TazuganeGothicStdN-Regular": 102, "jp-TelopMinProN-B": 103, "jp-Togalite-Bold": 104, "jp-Togalite-Regular": 105, "jp-TsukuMinPr6N-E": 106, "jp-TsukuMinPr6N-M": 107, "jp-mikachan_o": 108, "jp-nagayama_kai": 109, +"jp-07LogoTypeGothic7": 110, "jp-07TetsubinGothic": 111, "jp-851CHIKARA-DZUYOKU-KANA-A": 112, "jp-ARMinchoJIS-Light": 113, "jp-ARMinchoJIS-Ultra": 114, "jp-ARPCrystalMinchoJIS-Medium": 115, "jp-ARPCrystalRGothicJIS-Medium": 116, "jp-ARShounanShinpitsuGyosyoJIS-Medium": 117, "jp-AozoraMincho-bold": 118, "jp-AozoraMinchoRegular": 119, +"jp-ArialUnicodeMS-Bold": 120, "jp-ArialUnicodeMS": 121, "jp-CanvaBreezeJP": 122, "jp-CanvaLiCN": 123, "jp-CanvaLiJP": 124, "jp-CanvaOrientalBrushCN": 125, "jp-CanvaQinfuCalligraphyJP": 126, "jp-CanvaSweetHeartJP": 127, "jp-CanvaWenJP": 128, "jp-Corporate-Logo-Bold": 129, +"jp-DelaGothicOne-Regular": 130, "jp-GN-Kin-iro_SansSerif": 131, "jp-GN-Koharuiro_Sunray": 132, "jp-GenEiGothicM-B": 133, "jp-GenEiGothicM-R": 134, "jp-GenJyuuGothic-Bold": 135, "jp-GenRyuMinTW-B": 136, "jp-GenRyuMinTW-R": 137, "jp-GenSekiGothicTW-B": 138, "jp-GenSekiGothicTW-R": 139, +"jp-GenSenRoundedTW-B": 140, "jp-GenSenRoundedTW-R": 141, "jp-GenShinGothic-Bold": 142, "jp-GenShinGothic-Normal": 143, "jp-GenWanMinTW-L": 144, "jp-GenYoGothicTW-B": 145, "jp-GenYoGothicTW-R": 146, "jp-GenYoMinTW-B": 147, "jp-GenYoMinTW-R": 148, "jp-HGBouquet": 149, +"jp-HanaMinA": 150, "jp-HanazomeFont": 151, "jp-HinaMincho-Regular": 152, "jp-Honoka-Antique-Maru": 153, "jp-Honoka-Mincho": 154, "jp-HuiFontP": 155, "jp-IPAexMincho": 156, "jp-JK-Gothic-L": 157, "jp-JK-Gothic-M": 158, "jp-JackeyFont": 159, +"jp-KaiseiTokumin-Bold": 160, "jp-KaiseiTokumin-Regular": 161, "jp-Keifont": 162, "jp-KiwiMaru-Regular": 163, "jp-Koku-Mincho-Regular": 164, "jp-MotoyaLMaru-W3-90ms-RKSJ-H": 165, "jp-NewTegomin-Regular": 166, "jp-NicoKaku": 167, "jp-NicoMoji+": 168, "jp-Otsutome_font-Bold": 169, +"jp-PottaOne-Regular": 170, "jp-RampartOne-Regular": 171, "jp-Senobi-Gothic-Bold": 172, "jp-Senobi-Gothic-Regular": 173, "jp-SmartFontUI-Proportional": 174, "jp-SoukouMincho": 175, "jp-TEST_Klee-DB": 176, "jp-TEST_Klee-M": 177, "jp-TEST_UDMincho-B": 178, "jp-TEST_UDMincho-L": 179, +"jp-TT_Akakane-EB": 180, "jp-Tanuki-Permanent-Marker": 181, "jp-TrainOne-Regular": 182, "jp-TsunagiGothic-Black": 183, "jp-Ume-Hy-Gothic": 184, "jp-Ume-P-Mincho": 185, "jp-WenQuanYiMicroHei": 186, "jp-XANO-mincho-U32": 187, "jp-YOzFontM90-Regular": 188, "jp-Yomogi-Regular": 189, +"jp-YujiBoku-Regular": 190, "jp-YujiSyuku-Regular": 191, "jp-ZenKakuGothicNew-Bold": 192, "jp-ZenKakuGothicNew-Regular": 193, "jp-ZenKurenaido-Regular": 194, "jp-ZenMaruGothic-Bold": 195, "jp-ZenMaruGothic-Regular": 196, "jp-darts-font": 197, "jp-irohakakuC-Bold": 198, "jp-irohakakuC-Medium": 199, +"jp-irohakakuC-Regular": 200, "jp-katyou": 201, "jp-mplus-1m-bold": 202, "jp-mplus-1m-regular": 203, "jp-mplus-1p-bold": 204, "jp-mplus-1p-regular": 205, "jp-rounded-mplus-1p-bold": 206, "jp-rounded-mplus-1p-regular": 207, "jp-timemachine-wa": 208, "jp-ttf-GenEiLateMin-Medium": 209, +"jp-uzura_font": 210, "kr-Arita-buri-Bold_OTF": 0, "kr-Arita-buri-HairLine_OTF": 1, "kr-Arita-buri-Light_OTF": 2, "kr-Arita-buri-Medium_OTF": 3, "kr-Arita-buri-SemiBold_OTF": 4, "kr-Canva_YDSunshineL": 5, "kr-Canva_YDSunshineM": 6, "kr-Canva_YoonGulimPro710": 7, "kr-Canva_YoonGulimPro730": 8, "kr-Canva_YoonGulimPro740": 9, +"kr-Canva_YoonGulimPro760": 10, "kr-Canva_YoonGulimPro770": 11, "kr-Canva_YoonGulimPro790": 12, "kr-CreHappB": 13, "kr-CreHappL": 14, "kr-CreHappM": 15, "kr-CreHappS": 16, "kr-OTAuroraB": 17, "kr-OTAuroraL": 18, "kr-OTAuroraR": 19, +"kr-OTDoldamgilB": 20, "kr-OTDoldamgilL": 21, "kr-OTDoldamgilR": 22, "kr-OTHamsterB": 23, "kr-OTHamsterL": 24, "kr-OTHamsterR": 25, "kr-OTHapchangdanB": 26, "kr-OTHapchangdanL": 27, "kr-OTHapchangdanR": 28, "kr-OTSupersizeBkBOX": 29, +"kr-SourceHanSansKR-Bold": 30, "kr-SourceHanSansKR-ExtraLight": 31, "kr-SourceHanSansKR-Heavy": 32, "kr-SourceHanSansKR-Light": 33, "kr-SourceHanSansKR-Medium": 34, "kr-SourceHanSansKR-Normal": 35, "kr-SourceHanSansKR-Regular": 36, "kr-SourceHanSansSC-Bold": 37, "kr-SourceHanSansSC-ExtraLight": 38, "kr-SourceHanSansSC-Heavy": 39, +"kr-SourceHanSansSC-Light": 40, "kr-SourceHanSansSC-Medium": 41, "kr-SourceHanSansSC-Normal": 42, "kr-SourceHanSansSC-Regular": 43, "kr-SourceHanSerifSC-Bold": 44, "kr-SourceHanSerifSC-SemiBold": 45, "kr-TDTDBubbleBubbleOTF": 46, "kr-TDTDConfusionOTF": 47, "kr-TDTDCuteAndCuteOTF": 48, "kr-TDTDEggTakOTF": 49, +"kr-TDTDEmotionalLetterOTF": 50, "kr-TDTDGalapagosOTF": 51, "kr-TDTDHappyHourOTF": 52, "kr-TDTDLatteOTF": 53, "kr-TDTDMoonLightOTF": 54, "kr-TDTDParkForestOTF": 55, "kr-TDTDPencilOTF": 56, "kr-TDTDSmileOTF": 57, "kr-TDTDSproutOTF": 58, "kr-TDTDSunshineOTF": 59, +"kr-TDTDWaferOTF": 60, "kr-777Chyaochyureu": 61, "kr-ArialUnicodeMS-Bold": 62, "kr-ArialUnicodeMS": 63, "kr-BMHANNA": 64, "kr-Baekmuk-Dotum": 65, "kr-BagelFatOne-Regular": 66, "kr-CoreBandi": 67, "kr-CoreBandiFace": 68, "kr-CoreBori": 69, +"kr-DoHyeon-Regular": 70, "kr-Dokdo-Regular": 71, "kr-Gaegu-Bold": 72, "kr-Gaegu-Light": 73, "kr-Gaegu-Regular": 74, "kr-GamjaFlower-Regular": 75, "kr-GasoekOne-Regular": 76, "kr-GothicA1-Black": 77, "kr-GothicA1-Bold": 78, "kr-GothicA1-ExtraBold": 79, +"kr-GothicA1-ExtraLight": 80, "kr-GothicA1-Light": 81, "kr-GothicA1-Medium": 82, "kr-GothicA1-Regular": 83, "kr-GothicA1-SemiBold": 84, "kr-GothicA1-Thin": 85, "kr-Gugi-Regular": 86, "kr-HiMelody-Regular": 87, "kr-Jua-Regular": 88, "kr-KirangHaerang-Regular": 89, +"kr-NanumBrush": 90, "kr-NanumPen": 91, "kr-NanumSquareRoundB": 92, "kr-NanumSquareRoundEB": 93, "kr-NanumSquareRoundL": 94, "kr-NanumSquareRoundR": 95, "kr-SeH-CB": 96, "kr-SeH-CBL": 97, "kr-SeH-CEB": 98, "kr-SeH-CL": 99, +"kr-SeH-CM": 100, "kr-SeN-CB": 101, "kr-SeN-CBL": 102, "kr-SeN-CEB": 103, "kr-SeN-CL": 104, "kr-SeN-CM": 105, "kr-Sunflower-Bold": 106, "kr-Sunflower-Light": 107, "kr-Sunflower-Medium": 108, "kr-TTClaytoyR": 109, +"kr-TTDalpangiR": 110, "kr-TTMamablockR": 111, "kr-TTNauidongmuR": 112, "kr-TTOktapbangR": 113, "kr-UhBeeMiMi": 114, "kr-UhBeeMiMiBold": 115, "kr-UhBeeSe_hyun": 116, "kr-UhBeeSe_hyunBold": 117, "kr-UhBeenamsoyoung": 118, "kr-UhBeenamsoyoungBold": 119, +"kr-WenQuanYiMicroHei": 120, "kr-YeonSung-Regular": 121}""" + + +def add_special_token(tokenizer: T5Tokenizer, text_encoder: T5Stack): + """ + Add special tokens for color and font to tokenizer and text encoder. + + Args: + tokenizer: Huggingface tokenizer. + text_encoder: Huggingface T5 encoder. + """ + idx_font_dict = json.loads(MULTILINGUAL_10_LANG_IDX_JSON) + idx_color_dict = json.loads(COLOR_IDX_JSON) + + font_token = [f"<{font_code[:2]}-font-{idx_font_dict[font_code]}>" for font_code in idx_font_dict] + color_token = [f"" for i in range(len(idx_color_dict))] + additional_special_tokens = [] + additional_special_tokens += color_token + additional_special_tokens += font_token + + tokenizer.add_tokens(additional_special_tokens, special_tokens=True) + # Set mean_resizing=False to avoid PyTorch LAPACK dependency + text_encoder.resize_token_embeddings(len(tokenizer), mean_resizing=False) + + +def load_byt5( + ckpt_path: str, + dtype: Optional[torch.dtype], + device: Union[str, torch.device], + disable_mmap: bool = False, + state_dict: Optional[dict] = None, +) -> Tuple[T5Stack, T5Tokenizer]: + BYT5_CONFIG_JSON = """ +{ + "_name_or_path": "/home/patrick/t5/byt5-small", + "architectures": [ + "T5ForConditionalGeneration" + ], + "d_ff": 3584, + "d_kv": 64, + "d_model": 1472, + "decoder_start_token_id": 0, + "dropout_rate": 0.1, + "eos_token_id": 1, + "feed_forward_proj": "gated-gelu", + "gradient_checkpointing": false, + "initializer_factor": 1.0, + "is_encoder_decoder": true, + "layer_norm_epsilon": 1e-06, + "model_type": "t5", + "num_decoder_layers": 4, + "num_heads": 6, + "num_layers": 12, + "pad_token_id": 0, + "relative_attention_num_buckets": 32, + "tie_word_embeddings": false, + "tokenizer_class": "ByT5Tokenizer", + "transformers_version": "4.7.0.dev0", + "use_cache": true, + "vocab_size": 384 + } +""" + + logger.info(f"Loading BYT5 tokenizer from {BYT5_TOKENIZER_PATH}") + byt5_tokenizer = AutoTokenizer.from_pretrained(BYT5_TOKENIZER_PATH) + + logger.info("Initializing BYT5 text encoder") + config = json.loads(BYT5_CONFIG_JSON) + config = T5Config(**config) + with init_empty_weights(): + byt5_text_encoder = T5ForConditionalGeneration._from_config(config).get_encoder() + + add_special_token(byt5_tokenizer, byt5_text_encoder) + + if state_dict is not None: + sd = state_dict + else: + logger.info(f"Loading state dict from {ckpt_path}") + sd = load_safetensors(ckpt_path, device, disable_mmap=disable_mmap, dtype=dtype) + + # remove "encoder." prefix + sd = {k[len("encoder.") :] if k.startswith("encoder.") else k: v for k, v in sd.items()} + sd["embed_tokens.weight"] = sd.pop("shared.weight") + + info = byt5_text_encoder.load_state_dict(sd, strict=True, assign=True) + byt5_text_encoder.to(device) + logger.info(f"BYT5 text encoder loaded with info: {info}") + + return byt5_tokenizer, byt5_text_encoder + + +def load_qwen2_5_vl( + ckpt_path: str, + dtype: Optional[torch.dtype], + device: Union[str, torch.device], + disable_mmap: bool = False, + state_dict: Optional[dict] = None, +) -> tuple[Qwen2Tokenizer, Qwen2_5_VLForConditionalGeneration]: + QWEN2_5_VL_CONFIG_JSON = """ +{ + "architectures": [ + "Qwen2_5_VLForConditionalGeneration" + ], + "attention_dropout": 0.0, + "bos_token_id": 151643, + "eos_token_id": 151645, + "hidden_act": "silu", + "hidden_size": 3584, + "image_token_id": 151655, + "initializer_range": 0.02, + "intermediate_size": 18944, + "max_position_embeddings": 128000, + "max_window_layers": 28, + "model_type": "qwen2_5_vl", + "num_attention_heads": 28, + "num_hidden_layers": 28, + "num_key_value_heads": 4, + "rms_norm_eps": 1e-06, + "rope_scaling": { + "mrope_section": [ + 16, + 24, + 24 + ], + "rope_type": "default", + "type": "default" + }, + "rope_theta": 1000000.0, + "sliding_window": 32768, + "text_config": { + "architectures": [ + "Qwen2_5_VLForConditionalGeneration" + ], + "attention_dropout": 0.0, + "bos_token_id": 151643, + "eos_token_id": 151645, + "hidden_act": "silu", + "hidden_size": 3584, + "image_token_id": null, + "initializer_range": 0.02, + "intermediate_size": 18944, + "layer_types": [ + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention" + ], + "max_position_embeddings": 128000, + "max_window_layers": 28, + "model_type": "qwen2_5_vl_text", + "num_attention_heads": 28, + "num_hidden_layers": 28, + "num_key_value_heads": 4, + "rms_norm_eps": 1e-06, + "rope_scaling": { + "mrope_section": [ + 16, + 24, + 24 + ], + "rope_type": "default", + "type": "default" + }, + "rope_theta": 1000000.0, + "sliding_window": null, + "torch_dtype": "float32", + "use_cache": true, + "use_sliding_window": false, + "video_token_id": null, + "vision_end_token_id": 151653, + "vision_start_token_id": 151652, + "vision_token_id": 151654, + "vocab_size": 152064 + }, + "tie_word_embeddings": false, + "torch_dtype": "bfloat16", + "transformers_version": "4.53.1", + "use_cache": true, + "use_sliding_window": false, + "video_token_id": 151656, + "vision_config": { + "depth": 32, + "fullatt_block_indexes": [ + 7, + 15, + 23, + 31 + ], + "hidden_act": "silu", + "hidden_size": 1280, + "in_channels": 3, + "in_chans": 3, + "initializer_range": 0.02, + "intermediate_size": 3420, + "model_type": "qwen2_5_vl", + "num_heads": 16, + "out_hidden_size": 3584, + "patch_size": 14, + "spatial_merge_size": 2, + "spatial_patch_size": 14, + "temporal_patch_size": 2, + "tokens_per_second": 2, + "torch_dtype": "float32", + "window_size": 112 + }, + "vision_end_token_id": 151653, + "vision_start_token_id": 151652, + "vision_token_id": 151654, + "vocab_size": 152064 +} +""" + config = json.loads(QWEN2_5_VL_CONFIG_JSON) + config = Qwen2_5_VLConfig(**config) + with init_empty_weights(): + qwen2_5_vl = Qwen2_5_VLForConditionalGeneration._from_config(config) + + if state_dict is not None: + sd = state_dict + else: + logger.info(f"Loading state dict from {ckpt_path}") + sd = load_safetensors(ckpt_path, device, disable_mmap=disable_mmap, dtype=dtype) + + # convert prefixes + for key in list(sd.keys()): + if key.startswith("model."): + new_key = key.replace("model.", "model.language_model.", 1) + elif key.startswith("visual."): + new_key = key.replace("visual.", "model.visual.", 1) + else: + continue + if key not in sd: + logger.warning(f"Key {key} not found in state dict, skipping.") + continue + sd[new_key] = sd.pop(key) + + info = qwen2_5_vl.load_state_dict(sd, strict=True, assign=True) + logger.info(f"Loaded Qwen2.5-VL: {info}") + qwen2_5_vl.to(device) + + if dtype is not None: + if dtype.itemsize == 1: # fp8 + org_dtype = torch.bfloat16 # model weight is fp8 in loading, but original dtype is bfloat16 + logger.info(f"prepare Qwen2.5-VL for fp8: set to {dtype} from {org_dtype}") + qwen2_5_vl.to(dtype) + + # prepare LLM for fp8 + def prepare_fp8(vl_model: Qwen2_5_VLForConditionalGeneration, target_dtype): + def forward_hook(module): + def forward(hidden_states): + input_dtype = hidden_states.dtype + hidden_states = hidden_states.to(torch.float32) + variance = hidden_states.pow(2).mean(-1, keepdim=True) + hidden_states = hidden_states * torch.rsqrt(variance + module.variance_epsilon) + # return module.weight.to(input_dtype) * hidden_states.to(input_dtype) + return (module.weight.to(torch.float32) * hidden_states.to(torch.float32)).to(input_dtype) + + return forward + + def decoder_forward_hook(module): + def forward( + 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, + cache_position: Optional[torch.LongTensor] = None, + position_embeddings: Optional[tuple[torch.Tensor, torch.Tensor]] = None, # necessary, but kept here for BC + **kwargs, + ) -> tuple[torch.FloatTensor, Optional[tuple[torch.FloatTensor, torch.FloatTensor]]]: + + residual = hidden_states + + hidden_states = module.input_layernorm(hidden_states) + + # Self Attention + hidden_states, self_attn_weights = module.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, + cache_position=cache_position, + position_embeddings=position_embeddings, + **kwargs, + ) + input_dtype = hidden_states.dtype + hidden_states = residual.to(torch.float32) + hidden_states.to(torch.float32) + hidden_states = hidden_states.to(input_dtype) + + # Fully Connected + residual = hidden_states + hidden_states = module.post_attention_layernorm(hidden_states) + hidden_states = module.mlp(hidden_states) + hidden_states = residual + hidden_states + + outputs = (hidden_states,) + + if output_attentions: + outputs += (self_attn_weights,) + + return outputs + + return forward + + for module in vl_model.modules(): + if module.__class__.__name__ in ["Embedding"]: + # print("set", module.__class__.__name__, "to", target_dtype) + module.to(target_dtype) + if module.__class__.__name__ in ["Qwen2RMSNorm"]: + # print("set", module.__class__.__name__, "hooks") + module.forward = forward_hook(module) + if module.__class__.__name__ in ["Qwen2_5_VLDecoderLayer"]: + # print("set", module.__class__.__name__, "hooks") + module.forward = decoder_forward_hook(module) + if module.__class__.__name__ in ["Qwen2_5_VisionRotaryEmbedding"]: + # print("set", module.__class__.__name__, "hooks") + module.to(target_dtype) + + prepare_fp8(qwen2_5_vl, org_dtype) + + else: + logger.info(f"Setting Qwen2.5-VL to dtype: {dtype}") + qwen2_5_vl.to(dtype) + + # Load tokenizer + logger.info(f"Loading tokenizer from {QWEN_2_5_VL_IMAGE_ID}") + tokenizer = Qwen2Tokenizer.from_pretrained(QWEN_2_5_VL_IMAGE_ID) + return tokenizer, qwen2_5_vl + + +def get_qwen_prompt_embeds( + tokenizer: Qwen2Tokenizer, vlm: Qwen2_5_VLForConditionalGeneration, prompt: Union[str, list[str]] = None +): + tokenizer_max_length = 1024 + + # HunyuanImage-2.1 does not use "<|im_start|>assistant\n" in the prompt template + prompt_template_encode = "<|im_start|>system\nDescribe the image by detailing the color, shape, size, texture, quantity, text, spatial relationships of the objects and background:<|im_end|>\n<|im_start|>user\n{}<|im_end|>" + # \n<|im_start|>assistant\n" + prompt_template_encode_start_idx = 34 + # default_sample_size = 128 + + device = vlm.device + dtype = vlm.dtype + + prompt = [prompt] if isinstance(prompt, str) else prompt + + template = prompt_template_encode + drop_idx = prompt_template_encode_start_idx + txt = [template.format(e) for e in prompt] + txt_tokens = tokenizer(txt, max_length=tokenizer_max_length + drop_idx, padding=True, truncation=True, return_tensors="pt").to( + device + ) + + if dtype.itemsize == 1: # fp8 + with torch.no_grad(), torch.autocast(device_type=device.type, dtype=torch.bfloat16, enabled=True): + encoder_hidden_states = vlm( + input_ids=txt_tokens.input_ids, attention_mask=txt_tokens.attention_mask, output_hidden_states=True + ) + else: + with torch.no_grad(), torch.autocast(device_type=device.type, dtype=dtype, enabled=True): + encoder_hidden_states = vlm( + input_ids=txt_tokens.input_ids, attention_mask=txt_tokens.attention_mask, output_hidden_states=True + ) + hidden_states = encoder_hidden_states.hidden_states[-3] # use the 3rd last layer's hidden states for HunyuanImage-2.1 + if hidden_states.shape[1] > tokenizer_max_length + drop_idx: + logger.warning(f"Hidden states shape {hidden_states.shape} exceeds max length {tokenizer_max_length + drop_idx}") + + # --- Unnecessary complicated processing, keep for reference --- + # split_hidden_states = extract_masked_hidden(hidden_states, txt_tokens.attention_mask) + # split_hidden_states = [e[drop_idx:] for e in split_hidden_states] + # attn_mask_list = [torch.ones(e.size(0), dtype=torch.long, device=e.device) for e in split_hidden_states] + # max_seq_len = max([e.size(0) for e in split_hidden_states]) + # prompt_embeds = torch.stack([torch.cat([u, u.new_zeros(max_seq_len - u.size(0), u.size(1))]) for u in split_hidden_states]) + # encoder_attention_mask = torch.stack([torch.cat([u, u.new_zeros(max_seq_len - u.size(0))]) for u in attn_mask_list]) + # ---------------------------------------------------------- + + prompt_embeds = hidden_states[:, drop_idx:, :] + encoder_attention_mask = txt_tokens.attention_mask[:, drop_idx:] + prompt_embeds = prompt_embeds.to(dtype=dtype, device=device) + + return prompt_embeds, encoder_attention_mask + + +def format_prompt(texts, styles): + """ + Text "{text}" in {color}, {type}. + """ + + prompt = "" + for text, style in zip(texts, styles): + # color and style are always None in official implementation, so we only use text + text_prompt = f'Text "{text}"' + text_prompt += ". " + prompt = prompt + text_prompt + return prompt + + +def get_glyph_prompt_embeds( + tokenizer: T5Tokenizer, text_encoder: T5Stack, prompt: Union[str, list[str]] = None +) -> Tuple[list[bool], torch.Tensor, torch.Tensor]: + byt5_max_length = 128 + if not prompt: + return ( + [False], + torch.zeros((1, byt5_max_length, 1472), device=text_encoder.device), + torch.zeros((1, byt5_max_length), device=text_encoder.device, dtype=torch.int64), + ) + + try: + text_prompt_texts = [] + # pattern_quote_single = r"\'(.*?)\'" + pattern_quote_double = r"\"(.*?)\"" + pattern_quote_chinese_single = r"‘(.*?)’" + pattern_quote_chinese_double = r"“(.*?)”" + + # matches_quote_single = re.findall(pattern_quote_single, prompt) + matches_quote_double = re.findall(pattern_quote_double, prompt) + matches_quote_chinese_single = re.findall(pattern_quote_chinese_single, prompt) + matches_quote_chinese_double = re.findall(pattern_quote_chinese_double, prompt) + + # text_prompt_texts.extend(matches_quote_single) + text_prompt_texts.extend(matches_quote_double) + text_prompt_texts.extend(matches_quote_chinese_single) + text_prompt_texts.extend(matches_quote_chinese_double) + + if not text_prompt_texts: + return ( + [False], + torch.zeros((1, byt5_max_length, 1472), device=text_encoder.device), + torch.zeros((1, byt5_max_length), device=text_encoder.device, dtype=torch.int64), + ) + + text_prompt_style_list = [{"color": None, "font-family": None} for _ in range(len(text_prompt_texts))] + glyph_text_formatted = format_prompt(text_prompt_texts, text_prompt_style_list) + + byt5_text_ids, byt5_text_mask = get_byt5_text_tokens(tokenizer, byt5_max_length, glyph_text_formatted) + + byt5_text_ids = byt5_text_ids.to(device=text_encoder.device) + byt5_text_mask = byt5_text_mask.to(device=text_encoder.device) + + byt5_prompt_embeds = text_encoder(byt5_text_ids, attention_mask=byt5_text_mask.float()) + byt5_emb = byt5_prompt_embeds[0] + + return [True], byt5_emb, byt5_text_mask + + except Exception as e: + logger.warning(f"Warning: Error in glyph encoding, using fallback: {e}") + return ( + [False], + torch.zeros((1, byt5_max_length, 1472), device=text_encoder.device), + torch.zeros((1, byt5_max_length), device=text_encoder.device, dtype=torch.int64), + ) + + +def get_byt5_text_tokens(tokenizer, max_length, text_list): + """ + Get byT5 text tokens. + + Args: + tokenizer: The tokenizer object + max_length: Maximum token length + text_list: List or string of text + + Returns: + Tuple of (byt5_text_ids, byt5_text_mask) + """ + if isinstance(text_list, list): + text_prompt = " ".join(text_list) + else: + text_prompt = text_list + + byt5_text_inputs = tokenizer( + text_prompt, padding="max_length", max_length=max_length, truncation=True, add_special_tokens=True, return_tensors="pt" + ) + + byt5_text_ids = byt5_text_inputs.input_ids + byt5_text_mask = byt5_text_inputs.attention_mask + + return byt5_text_ids, byt5_text_mask diff --git a/library/hunyuan_image_utils.py b/library/hunyuan_image_utils.py new file mode 100644 index 000000000..17847104a --- /dev/null +++ b/library/hunyuan_image_utils.py @@ -0,0 +1,461 @@ +# Original work: https://github.com/Tencent-Hunyuan/HunyuanImage-2.1 +# Re-implemented for license compliance for sd-scripts. + +import math +from typing import Tuple, Union, Optional +import torch + + +def _to_tuple(x, dim=2): + """ + Convert int or sequence to tuple of specified dimension. + + Args: + x: Int or sequence to convert. + dim: Target dimension for tuple. + + Returns: + Tuple of length dim. + """ + if isinstance(x, int) or isinstance(x, float): + return (x,) * dim + elif len(x) == dim: + return x + else: + raise ValueError(f"Expected length {dim} or int, but got {x}") + + +def get_meshgrid_nd(start, dim=2): + """ + Generate n-dimensional coordinate meshgrid from 0 to grid_size. + + Creates coordinate grids for each spatial dimension, useful for + generating position embeddings. + + Args: + start: Grid size for each dimension (int or tuple). + dim: Number of spatial dimensions. + + Returns: + Coordinate grid tensor [dim, *grid_size]. + """ + # Convert start to grid sizes + num = _to_tuple(start, dim=dim) + start = (0,) * dim + stop = num + + # Generate coordinate arrays for each dimension + axis_grid = [] + for i in range(dim): + a, b, n = start[i], stop[i], num[i] + g = torch.linspace(a, b, n + 1, dtype=torch.float32)[:n] + axis_grid.append(g) + grid = torch.meshgrid(*axis_grid, indexing="ij") # dim x [W, H, D] + grid = torch.stack(grid, dim=0) # [dim, W, H, D] + + return grid + + +def get_nd_rotary_pos_embed(rope_dim_list, start, theta=10000.0): + """ + Generate n-dimensional rotary position embeddings for spatial tokens. + + Creates RoPE embeddings for multi-dimensional positional encoding, + distributing head dimensions across spatial dimensions. + + Args: + rope_dim_list: Dimensions allocated to each spatial axis (should sum to head_dim). + start: Spatial grid size for each dimension. + theta: Base frequency for RoPE computation. + + Returns: + Tuple of (cos_freqs, sin_freqs) for rotary embedding [H*W, D/2]. + """ + + grid = get_meshgrid_nd(start, dim=len(rope_dim_list)) # [3, W, H, D] / [2, W, H] + + # Generate RoPE embeddings for each spatial dimension + embs = [] + for i in range(len(rope_dim_list)): + emb = get_1d_rotary_pos_embed(rope_dim_list[i], grid[i].reshape(-1), theta) # 2 x [WHD, rope_dim_list[i]] + embs.append(emb) + + cos = torch.cat([emb[0] for emb in embs], dim=1) # (WHD, D/2) + sin = torch.cat([emb[1] for emb in embs], dim=1) # (WHD, D/2) + return cos, sin + + +def get_1d_rotary_pos_embed( + dim: int, pos: Union[torch.FloatTensor, int], theta: float = 10000.0 +) -> Tuple[torch.Tensor, torch.Tensor]: + """ + Generate 1D rotary position embeddings. + + Args: + dim: Embedding dimension (must be even). + pos: Position indices [S] or scalar for sequence length. + theta: Base frequency for sinusoidal encoding. + + Returns: + Tuple of (cos_freqs, sin_freqs) tensors [S, D]. + """ + if isinstance(pos, int): + pos = torch.arange(pos).float() + + freqs = 1.0 / (theta ** (torch.arange(0, dim, 2)[: (dim // 2)].float() / dim)) # [D/2] + freqs = torch.outer(pos, freqs) # [S, D/2] + freqs_cos = freqs.cos().repeat_interleave(2, dim=1) # [S, D] + freqs_sin = freqs.sin().repeat_interleave(2, dim=1) # [S, D] + return freqs_cos, freqs_sin + + +def timestep_embedding(t, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings for diffusion models. + + Converts scalar timesteps to high-dimensional embeddings using + sinusoidal encoding at different frequencies. + + Args: + t: Timestep tensor [N]. + dim: Output embedding dimension. + max_period: Maximum period for frequency computation. + + Returns: + Timestep embeddings [N, dim]. + """ + half = dim // 2 + freqs = torch.exp(-math.log(max_period) * torch.arange(start=0, end=half, dtype=torch.float32) / half).to(device=t.device) + args = t[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat([embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +def modulate(x, shift=None, scale=None): + """ + Apply adaptive layer normalization modulation. + + Applies scale and shift transformations for conditioning + in adaptive layer normalization. + + Args: + x: Input tensor to modulate. + shift: Additive shift parameter (optional). + scale: Multiplicative scale parameter (optional). + + Returns: + Modulated tensor x * (1 + scale) + shift. + """ + if scale is None and shift is None: + return x + elif shift is None: + return x * (1 + scale.unsqueeze(1)) + elif scale is None: + return x + shift.unsqueeze(1) + else: + return x * (1 + scale.unsqueeze(1)) + shift.unsqueeze(1) + + +def apply_gate(x, gate=None, tanh=False): + """ + Apply gating mechanism to tensor. + + Multiplies input by gate values, optionally applying tanh activation. + Used in residual connections for adaptive control. + + Args: + x: Input tensor to gate. + gate: Gating values (optional). + tanh: Whether to apply tanh to gate values. + + Returns: + Gated tensor x * gate (with optional tanh). + """ + if gate is None: + return x + if tanh: + return x * gate.unsqueeze(1).tanh() + else: + return x * gate.unsqueeze(1) + + +def reshape_for_broadcast( + freqs_cis: Tuple[torch.Tensor, torch.Tensor], + x: torch.Tensor, + head_first=False, +): + """ + Reshape RoPE frequency tensors for broadcasting with attention tensors. + + Args: + freqs_cis: Tuple of (cos_freqs, sin_freqs) tensors. + x: Target tensor for broadcasting compatibility. + head_first: Must be False (only supported layout). + + Returns: + Reshaped (cos_freqs, sin_freqs) tensors ready for broadcasting. + """ + assert not head_first, "Only head_first=False layout supported." + assert isinstance(freqs_cis, tuple), "Expected tuple of (cos, sin) frequency tensors." + assert x.ndim > 1, f"x should have at least 2 dimensions, but got {x.ndim}" + + # Validate frequency tensor dimensions match target tensor + assert freqs_cis[0].shape == ( + x.shape[1], + x.shape[-1], + ), f"Frequency tensor shape {freqs_cis[0].shape} incompatible with target shape {x.shape}" + + shape = [d if i == 1 or i == x.ndim - 1 else 1 for i, d in enumerate(x.shape)] + return freqs_cis[0].view(*shape), freqs_cis[1].view(*shape) + + +def rotate_half(x): + """ + Rotate half the dimensions for RoPE computation. + + Splits the last dimension in half and applies a 90-degree rotation + by swapping and negating components. + + Args: + x: Input tensor [..., D] where D is even. + + Returns: + Rotated tensor with same shape as input. + """ + x_real, x_imag = x.float().reshape(*x.shape[:-1], -1, 2).unbind(-1) # [B, S, H, D//2] + return torch.stack([-x_imag, x_real], dim=-1).flatten(3) + + +def apply_rotary_emb( + xq: torch.Tensor, xk: torch.Tensor, freqs_cis: Tuple[torch.Tensor, torch.Tensor], head_first: bool = False +) -> Tuple[torch.Tensor, torch.Tensor]: + """ + Apply rotary position embeddings to query and key tensors. + + Args: + xq: Query tensor [B, S, H, D]. + xk: Key tensor [B, S, H, D]. + freqs_cis: Tuple of (cos_freqs, sin_freqs) for rotation. + head_first: Whether head dimension precedes sequence dimension. + + Returns: + Tuple of rotated (query, key) tensors. + """ + device = xq.device + dtype = xq.dtype + + cos, sin = reshape_for_broadcast(freqs_cis, xq, head_first) + cos, sin = cos.to(device), sin.to(device) + + # Apply rotation: x' = x * cos + rotate_half(x) * sin + xq_out = (xq.float() * cos + rotate_half(xq.float()) * sin).to(dtype) + xk_out = (xk.float() * cos + rotate_half(xk.float()) * sin).to(dtype) + + return xq_out, xk_out + + +def get_timesteps_sigmas(sampling_steps: int, shift: float, device: torch.device) -> Tuple[torch.Tensor, torch.Tensor]: + """ + Generate timesteps and sigmas for diffusion sampling. + + Args: + sampling_steps: Number of sampling steps. + shift: Sigma shift parameter for schedule modification. + device: Target device for tensors. + + Returns: + Tuple of (timesteps, sigmas) tensors. + """ + sigmas = torch.linspace(1, 0, sampling_steps + 1) + sigmas = (shift * sigmas) / (1 + (shift - 1) * sigmas) + sigmas = sigmas.to(torch.float32) + timesteps = (sigmas[:-1] * 1000).to(dtype=torch.float32, device=device) + return timesteps, sigmas + + +def step(latents, noise_pred, sigmas, step_i): + """ + Perform a single diffusion sampling step. + + Args: + latents: Current latent state. + noise_pred: Predicted noise. + sigmas: Noise schedule sigmas. + step_i: Current step index. + + Returns: + Updated latents after the step. + """ + return latents.float() - (sigmas[step_i] - sigmas[step_i + 1]) * noise_pred.float() + + +# region AdaptiveProjectedGuidance + + +class MomentumBuffer: + """ + Exponential moving average buffer for APG momentum. + """ + def __init__(self, momentum: float): + self.momentum = momentum + self.running_average = 0 + + def update(self, update_value: torch.Tensor): + new_average = self.momentum * self.running_average + self.running_average = update_value + new_average + + +def normalized_guidance_apg( + pred_cond: torch.Tensor, + pred_uncond: torch.Tensor, + guidance_scale: float, + momentum_buffer: Optional[MomentumBuffer] = None, + eta: float = 1.0, + norm_threshold: float = 0.0, + use_original_formulation: bool = False, +): + """ + Apply normalized adaptive projected guidance. + + Projects the guidance vector to reduce over-saturation while maintaining + directional control by decomposing into parallel and orthogonal components. + + Args: + pred_cond: Conditional prediction. + pred_uncond: Unconditional prediction. + guidance_scale: Guidance scale factor. + momentum_buffer: Optional momentum buffer for temporal smoothing. + eta: Scaling factor for parallel component. + norm_threshold: Maximum norm for guidance vector clipping. + use_original_formulation: Whether to use original APG formulation. + + Returns: + Guided prediction tensor. + """ + diff = pred_cond - pred_uncond + dim = [-i for i in range(1, len(diff.shape))] # All dimensions except batch + + # Apply momentum smoothing if available + if momentum_buffer is not None: + momentum_buffer.update(diff) + diff = momentum_buffer.running_average + + # Apply norm clipping if threshold is set + if norm_threshold > 0: + diff_norm = diff.norm(p=2, dim=dim, keepdim=True) + scale_factor = torch.minimum(torch.ones_like(diff_norm), norm_threshold / diff_norm) + diff = diff * scale_factor + + # Project guidance vector into parallel and orthogonal components + v0, v1 = diff.double(), pred_cond.double() + v1 = torch.nn.functional.normalize(v1, dim=dim) + v0_parallel = (v0 * v1).sum(dim=dim, keepdim=True) * v1 + v0_orthogonal = v0 - v0_parallel + diff_parallel, diff_orthogonal = v0_parallel.type_as(diff), v0_orthogonal.type_as(diff) + + # Combine components with different scaling + normalized_update = diff_orthogonal + eta * diff_parallel + pred = pred_cond if use_original_formulation else pred_uncond + pred = pred + guidance_scale * normalized_update + + return pred + + +class AdaptiveProjectedGuidance: + """ + Adaptive Projected Guidance for classifier-free guidance. + + Implements APG which projects the guidance vector to reduce over-saturation + while maintaining directional control. + """ + def __init__( + self, + guidance_scale: float = 7.5, + adaptive_projected_guidance_momentum: Optional[float] = None, + adaptive_projected_guidance_rescale: float = 15.0, + eta: float = 0.0, + guidance_rescale: float = 0.0, + use_original_formulation: bool = False, + ): + assert guidance_rescale == 0.0, "guidance_rescale > 0.0 not supported." + + self.guidance_scale = guidance_scale + self.adaptive_projected_guidance_momentum = adaptive_projected_guidance_momentum + self.adaptive_projected_guidance_rescale = adaptive_projected_guidance_rescale + self.eta = eta + self.guidance_rescale = guidance_rescale + self.use_original_formulation = use_original_formulation + self.momentum_buffer = None + + def __call__(self, pred_cond: torch.Tensor, pred_uncond: Optional[torch.Tensor] = None, step=None) -> torch.Tensor: + if step == 0 and self.adaptive_projected_guidance_momentum is not None: + self.momentum_buffer = MomentumBuffer(self.adaptive_projected_guidance_momentum) + + pred = normalized_guidance_apg( + pred_cond, + pred_uncond, + self.guidance_scale, + self.momentum_buffer, + self.eta, + self.adaptive_projected_guidance_rescale, + self.use_original_formulation, + ) + + return pred + + +# endregion + + +def apply_classifier_free_guidance( + noise_pred_text: torch.Tensor, + noise_pred_uncond: torch.Tensor, + is_ocr: bool, + guidance_scale: float, + step: int, + apg_start_step_ocr: int = 75, + apg_start_step_general: int = 10, + cfg_guider_ocr: AdaptiveProjectedGuidance = None, + cfg_guider_general: AdaptiveProjectedGuidance = None, +): + """ + Apply classifier-free guidance with OCR-aware APG for batch_size=1. + + Args: + noise_pred_text: Conditional noise prediction tensor [1, ...]. + noise_pred_uncond: Unconditional noise prediction tensor [1, ...]. + is_ocr: Whether this sample requires OCR-specific guidance. + guidance_scale: Guidance scale for CFG. + step: Current diffusion step index. + apg_start_step_ocr: Step to start APG for OCR regions. + apg_start_step_general: Step to start APG for general regions. + cfg_guider_ocr: APG guider for OCR regions. + cfg_guider_general: APG guider for general regions. + + Returns: + Guided noise prediction tensor [1, ...]. + """ + if guidance_scale == 1.0: + return noise_pred_text + + # Select appropriate guider and start step based on OCR requirement + if is_ocr: + cfg_guider = cfg_guider_ocr + apg_start_step = apg_start_step_ocr + else: + cfg_guider = cfg_guider_general + apg_start_step = apg_start_step_general + + # Apply standard CFG or APG based on current step + if step <= apg_start_step: + # Standard classifier-free guidance + noise_pred = noise_pred_uncond + guidance_scale * (noise_pred_text - noise_pred_uncond) + # Initialize APG guider state + _ = cfg_guider(noise_pred_text, noise_pred_uncond, step=step) + else: + # Use APG for guidance + noise_pred = cfg_guider(noise_pred_text, noise_pred_uncond, step=step) + + return noise_pred diff --git a/library/hunyuan_image_vae.py b/library/hunyuan_image_vae.py new file mode 100644 index 000000000..6eb035c38 --- /dev/null +++ b/library/hunyuan_image_vae.py @@ -0,0 +1,622 @@ +from typing import Optional, Tuple + +from einops import rearrange +import numpy as np +import torch +from torch import Tensor, nn +from torch.nn import Conv2d +from diffusers.models.autoencoders.vae import DiagonalGaussianDistribution + +from library.utils import load_safetensors, setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + + +VAE_SCALE_FACTOR = 32 # 32x spatial compression + + +def swish(x: Tensor) -> Tensor: + """Swish activation function: x * sigmoid(x).""" + return x * torch.sigmoid(x) + + +class AttnBlock(nn.Module): + """Self-attention block using scaled dot-product attention.""" + + def __init__(self, in_channels: int): + super().__init__() + self.in_channels = in_channels + self.norm = nn.GroupNorm(num_groups=32, num_channels=in_channels, eps=1e-6, affine=True) + self.q = Conv2d(in_channels, in_channels, kernel_size=1) + self.k = Conv2d(in_channels, in_channels, kernel_size=1) + self.v = Conv2d(in_channels, in_channels, kernel_size=1) + self.proj_out = Conv2d(in_channels, in_channels, kernel_size=1) + + def attention(self, x: Tensor) -> Tensor: + x = self.norm(x) + q = self.q(x) + k = self.k(x) + v = self.v(x) + + b, c, h, w = q.shape + q = rearrange(q, "b c h w -> b (h w) c").contiguous() + k = rearrange(k, "b c h w -> b (h w) c").contiguous() + v = rearrange(v, "b c h w -> b (h w) c").contiguous() + + x = nn.functional.scaled_dot_product_attention(q, k, v) + return rearrange(x, "b (h w) c -> b c h w", h=h, w=w, c=c, b=b) + + def forward(self, x: Tensor) -> Tensor: + return x + self.proj_out(self.attention(x)) + + +class ResnetBlock(nn.Module): + """ + Residual block with two convolutions, group normalization, and swish activation. + Includes skip connection with optional channel dimension matching. + + Parameters + ---------- + in_channels : int + Number of input channels. + out_channels : int + Number of output channels. + """ + + def __init__(self, in_channels: int, out_channels: int): + super().__init__() + self.in_channels = in_channels + self.out_channels = out_channels + + self.norm1 = nn.GroupNorm(num_groups=32, num_channels=in_channels, eps=1e-6, affine=True) + self.conv1 = Conv2d(in_channels, out_channels, kernel_size=3, stride=1, padding=1) + self.norm2 = nn.GroupNorm(num_groups=32, num_channels=out_channels, eps=1e-6, affine=True) + self.conv2 = Conv2d(out_channels, out_channels, kernel_size=3, stride=1, padding=1) + + # Skip connection projection for channel dimension mismatch + if self.in_channels != self.out_channels: + self.nin_shortcut = Conv2d(in_channels, out_channels, kernel_size=1, stride=1, padding=0) + + def forward(self, x: Tensor) -> Tensor: + h = x + # First convolution block + h = self.norm1(h) + h = swish(h) + h = self.conv1(h) + # Second convolution block + h = self.norm2(h) + h = swish(h) + h = self.conv2(h) + + # Apply skip connection with optional projection + if self.in_channels != self.out_channels: + x = self.nin_shortcut(x) + return x + h + + +class Downsample(nn.Module): + """ + Spatial downsampling block that reduces resolution by 2x using convolution followed by + pixel rearrangement. Includes skip connection with grouped averaging. + + Parameters + ---------- + in_channels : int + Number of input channels. + out_channels : int + Number of output channels (must be divisible by 4). + """ + + def __init__(self, in_channels: int, out_channels: int): + super().__init__() + factor = 4 # 2x2 spatial reduction factor + assert out_channels % factor == 0 + + self.conv = Conv2d(in_channels, out_channels // factor, kernel_size=3, stride=1, padding=1) + self.group_size = factor * in_channels // out_channels + + def forward(self, x: Tensor) -> Tensor: + # Apply convolution and rearrange pixels for 2x downsampling + h = self.conv(x) + h = rearrange(h, "b c (h r1) (w r2) -> b (r1 r2 c) h w", r1=2, r2=2) + + # Create skip connection with pixel rearrangement + shortcut = rearrange(x, "b c (h r1) (w r2) -> b (r1 r2 c) h w", r1=2, r2=2) + B, C, H, W = shortcut.shape + shortcut = shortcut.view(B, h.shape[1], self.group_size, H, W).mean(dim=2) + + return h + shortcut + + +class Upsample(nn.Module): + """ + Spatial upsampling block that increases resolution by 2x using convolution followed by + pixel rearrangement. Includes skip connection with channel repetition. + + Parameters + ---------- + in_channels : int + Number of input channels. + out_channels : int + Number of output channels. + """ + + def __init__(self, in_channels: int, out_channels: int): + super().__init__() + factor = 4 # 2x2 spatial expansion factor + self.conv = Conv2d(in_channels, out_channels * factor, kernel_size=3, stride=1, padding=1) + self.repeats = factor * out_channels // in_channels + + def forward(self, x: Tensor) -> Tensor: + # Apply convolution and rearrange pixels for 2x upsampling + h = self.conv(x) + h = rearrange(h, "b (r1 r2 c) h w -> b c (h r1) (w r2)", r1=2, r2=2) + + # Create skip connection with channel repetition + shortcut = x.repeat_interleave(repeats=self.repeats, dim=1) + shortcut = rearrange(shortcut, "b (r1 r2 c) h w -> b c (h r1) (w r2)", r1=2, r2=2) + + return h + shortcut + + +class Encoder(nn.Module): + """ + VAE encoder that progressively downsamples input images to a latent representation. + Uses residual blocks, attention, and spatial downsampling. + + Parameters + ---------- + in_channels : int + Number of input image channels (e.g., 3 for RGB). + z_channels : int + Number of latent channels in the output. + block_out_channels : Tuple[int, ...] + Output channels for each downsampling block. + num_res_blocks : int + Number of residual blocks per downsampling stage. + ffactor_spatial : int + Total spatial downsampling factor (e.g., 32 for 32x compression). + """ + + def __init__( + self, + in_channels: int, + z_channels: int, + block_out_channels: Tuple[int, ...], + num_res_blocks: int, + ffactor_spatial: int, + ): + super().__init__() + assert block_out_channels[-1] % (2 * z_channels) == 0 + + self.z_channels = z_channels + self.block_out_channels = block_out_channels + self.num_res_blocks = num_res_blocks + + self.conv_in = Conv2d(in_channels, block_out_channels[0], kernel_size=3, stride=1, padding=1) + + self.down = nn.ModuleList() + block_in = block_out_channels[0] + + # Build downsampling blocks + for i_level, ch in enumerate(block_out_channels): + block = nn.ModuleList() + block_out = ch + + # Add residual blocks for this level + for _ in range(self.num_res_blocks): + block.append(ResnetBlock(in_channels=block_in, out_channels=block_out)) + block_in = block_out + + down = nn.Module() + down.block = block + + # Add spatial downsampling if needed + add_spatial_downsample = bool(i_level < np.log2(ffactor_spatial)) + if add_spatial_downsample: + assert i_level < len(block_out_channels) - 1 + block_out = block_out_channels[i_level + 1] + down.downsample = Downsample(block_in, block_out) + block_in = block_out + + self.down.append(down) + + # Middle blocks with attention + self.mid = nn.Module() + self.mid.block_1 = ResnetBlock(in_channels=block_in, out_channels=block_in) + self.mid.attn_1 = AttnBlock(block_in) + self.mid.block_2 = ResnetBlock(in_channels=block_in, out_channels=block_in) + + # Output layers + self.norm_out = nn.GroupNorm(num_groups=32, num_channels=block_in, eps=1e-6, affine=True) + self.conv_out = Conv2d(block_in, 2 * z_channels, kernel_size=3, stride=1, padding=1) + + def forward(self, x: Tensor) -> Tensor: + # Initial convolution + h = self.conv_in(x) + + # Progressive downsampling through blocks + for i_level in range(len(self.block_out_channels)): + # Apply residual blocks at this level + for i_block in range(self.num_res_blocks): + h = self.down[i_level].block[i_block](h) + # Apply spatial downsampling if available + if hasattr(self.down[i_level], "downsample"): + h = self.down[i_level].downsample(h) + + # Middle processing with attention + h = self.mid.block_1(h) + h = self.mid.attn_1(h) + h = self.mid.block_2(h) + + # Final output layers with skip connection + group_size = self.block_out_channels[-1] // (2 * self.z_channels) + shortcut = rearrange(h, "b (c r) h w -> b c r h w", r=group_size).mean(dim=2) + h = self.norm_out(h) + h = swish(h) + h = self.conv_out(h) + h += shortcut + return h + + +class Decoder(nn.Module): + """ + VAE decoder that progressively upsamples latent representations back to images. + Uses residual blocks, attention, and spatial upsampling. + + Parameters + ---------- + z_channels : int + Number of latent channels in the input. + out_channels : int + Number of output image channels (e.g., 3 for RGB). + block_out_channels : Tuple[int, ...] + Output channels for each upsampling block. + num_res_blocks : int + Number of residual blocks per upsampling stage. + ffactor_spatial : int + Total spatial upsampling factor (e.g., 32 for 32x expansion). + """ + + def __init__( + self, + z_channels: int, + out_channels: int, + block_out_channels: Tuple[int, ...], + num_res_blocks: int, + ffactor_spatial: int, + ): + super().__init__() + assert block_out_channels[0] % z_channels == 0 + + self.z_channels = z_channels + self.block_out_channels = block_out_channels + self.num_res_blocks = num_res_blocks + + block_in = block_out_channels[0] + self.conv_in = Conv2d(z_channels, block_in, kernel_size=3, stride=1, padding=1) + + # Middle blocks with attention + self.mid = nn.Module() + self.mid.block_1 = ResnetBlock(in_channels=block_in, out_channels=block_in) + self.mid.attn_1 = AttnBlock(block_in) + self.mid.block_2 = ResnetBlock(in_channels=block_in, out_channels=block_in) + + # Build upsampling blocks + self.up = nn.ModuleList() + for i_level, ch in enumerate(block_out_channels): + block = nn.ModuleList() + block_out = ch + + # Add residual blocks for this level (extra block for decoder) + for _ in range(self.num_res_blocks + 1): + block.append(ResnetBlock(in_channels=block_in, out_channels=block_out)) + block_in = block_out + + up = nn.Module() + up.block = block + + # Add spatial upsampling if needed + add_spatial_upsample = bool(i_level < np.log2(ffactor_spatial)) + if add_spatial_upsample: + assert i_level < len(block_out_channels) - 1 + block_out = block_out_channels[i_level + 1] + up.upsample = Upsample(block_in, block_out) + block_in = block_out + + self.up.append(up) + + # Output layers + self.norm_out = nn.GroupNorm(num_groups=32, num_channels=block_in, eps=1e-6, affine=True) + self.conv_out = Conv2d(block_in, out_channels, kernel_size=3, stride=1, padding=1) + + def forward(self, z: Tensor) -> Tensor: + # Initial processing with skip connection + repeats = self.block_out_channels[0] // self.z_channels + h = self.conv_in(z) + z.repeat_interleave(repeats=repeats, dim=1) + + # Middle processing with attention + h = self.mid.block_1(h) + h = self.mid.attn_1(h) + h = self.mid.block_2(h) + + # Progressive upsampling through blocks + for i_level in range(len(self.block_out_channels)): + # Apply residual blocks at this level + for i_block in range(self.num_res_blocks + 1): + h = self.up[i_level].block[i_block](h) + # Apply spatial upsampling if available + if hasattr(self.up[i_level], "upsample"): + h = self.up[i_level].upsample(h) + + # Final output layers + h = self.norm_out(h) + h = swish(h) + h = self.conv_out(h) + return h + + +class HunyuanVAE2D(nn.Module): + """ + VAE model for Hunyuan Image-2.1 with spatial tiling support. + + This VAE uses a fixed architecture optimized for the Hunyuan Image-2.1 model, + with 32x spatial compression and optional memory-efficient tiling for large images. + """ + + def __init__(self): + super().__init__() + + # Fixed configuration for Hunyuan Image-2.1 + block_out_channels = (128, 256, 512, 512, 1024, 1024) + in_channels = 3 # RGB input + out_channels = 3 # RGB output + latent_channels = 64 + layers_per_block = 2 + ffactor_spatial = 32 # 32x spatial compression + sample_size = 384 # Minimum sample size for tiling + scaling_factor = 0.75289 # Latent scaling factor + + self.ffactor_spatial = ffactor_spatial + self.scaling_factor = scaling_factor + + self.encoder = Encoder( + in_channels=in_channels, + z_channels=latent_channels, + block_out_channels=block_out_channels, + num_res_blocks=layers_per_block, + ffactor_spatial=ffactor_spatial, + ) + + self.decoder = Decoder( + z_channels=latent_channels, + out_channels=out_channels, + block_out_channels=list(reversed(block_out_channels)), + num_res_blocks=layers_per_block, + ffactor_spatial=ffactor_spatial, + ) + + # Spatial tiling configuration for memory efficiency + self.use_spatial_tiling = False + self.tile_sample_min_size = sample_size + self.tile_latent_min_size = sample_size // ffactor_spatial + self.tile_overlap_factor = 0.25 # 25% overlap between tiles + + @property + def dtype(self): + """Get the data type of the model parameters.""" + return next(self.encoder.parameters()).dtype + + @property + def device(self): + """Get the device of the model parameters.""" + return next(self.encoder.parameters()).device + + def enable_spatial_tiling(self, use_tiling: bool = True): + """Enable or disable spatial tiling.""" + self.use_spatial_tiling = use_tiling + + def disable_spatial_tiling(self): + """Disable spatial tiling.""" + self.use_spatial_tiling = False + + def enable_tiling(self, use_tiling: bool = True): + """Enable or disable spatial tiling (alias for enable_spatial_tiling).""" + self.enable_spatial_tiling(use_tiling) + + def disable_tiling(self): + """Disable spatial tiling (alias for disable_spatial_tiling).""" + self.disable_spatial_tiling() + + def blend_h(self, a: torch.Tensor, b: torch.Tensor, blend_extent: int) -> torch.Tensor: + """ + Blend two tensors horizontally with smooth transition. + + Parameters + ---------- + a : torch.Tensor + Left tensor. + b : torch.Tensor + Right tensor. + blend_extent : int + Number of columns to blend. + """ + blend_extent = min(a.shape[-1], b.shape[-1], blend_extent) + for x in range(blend_extent): + b[:, :, :, :, x] = a[:, :, :, :, -blend_extent + x] * (1 - x / blend_extent) + b[:, :, :, :, x] * (x / blend_extent) + return b + + def blend_v(self, a: torch.Tensor, b: torch.Tensor, blend_extent: int) -> torch.Tensor: + """ + Blend two tensors vertically with smooth transition. + + Parameters + ---------- + a : torch.Tensor + Top tensor. + b : torch.Tensor + Bottom tensor. + blend_extent : int + Number of rows to blend. + """ + blend_extent = min(a.shape[-2], b.shape[-2], blend_extent) + for y in range(blend_extent): + b[:, :, :, y, :] = a[:, :, :, -blend_extent + y, :] * (1 - y / blend_extent) + b[:, :, :, y, :] * (y / blend_extent) + return b + + def spatial_tiled_encode(self, x: torch.Tensor) -> torch.Tensor: + """ + Encode large images using spatial tiling to reduce memory usage. + Tiles are processed independently and blended at boundaries. + + Parameters + ---------- + x : torch.Tensor + Input tensor of shape (B, C, T, H, W). + """ + B, C, T, H, W = x.shape + overlap_size = int(self.tile_sample_min_size * (1 - self.tile_overlap_factor)) + blend_extent = int(self.tile_latent_min_size * self.tile_overlap_factor) + row_limit = self.tile_latent_min_size - blend_extent + + rows = [] + for i in range(0, H, overlap_size): + row = [] + for j in range(0, W, overlap_size): + tile = x[:, :, :, i : i + self.tile_sample_min_size, j : j + self.tile_sample_min_size] + tile = self.encoder(tile) + row.append(tile) + rows.append(row) + + result_rows = [] + for i, row in enumerate(rows): + result_row = [] + for j, tile in enumerate(row): + if i > 0: + tile = self.blend_v(rows[i - 1][j], tile, blend_extent) + if j > 0: + tile = self.blend_h(row[j - 1], tile, blend_extent) + result_row.append(tile[:, :, :, :row_limit, :row_limit]) + result_rows.append(torch.cat(result_row, dim=-1)) + + moments = torch.cat(result_rows, dim=-2) + return moments + + def spatial_tiled_decode(self, z: torch.Tensor) -> torch.Tensor: + """ + Decode large latents using spatial tiling to reduce memory usage. + Tiles are processed independently and blended at boundaries. + + Parameters + ---------- + z : torch.Tensor + Latent tensor of shape (B, C, H, W). + """ + B, C, H, W = z.shape + overlap_size = int(self.tile_latent_min_size * (1 - self.tile_overlap_factor)) + blend_extent = int(self.tile_sample_min_size * self.tile_overlap_factor) + row_limit = self.tile_sample_min_size - blend_extent + + rows = [] + for i in range(0, H, overlap_size): + row = [] + for j in range(0, W, overlap_size): + tile = z[:, :, :, i : i + self.tile_latent_min_size, j : j + self.tile_latent_min_size] + decoded = self.decoder(tile) + row.append(decoded) + rows.append(row) + + result_rows = [] + for i, row in enumerate(rows): + result_row = [] + for j, tile in enumerate(row): + if i > 0: + tile = self.blend_v(rows[i - 1][j], tile, blend_extent) + if j > 0: + tile = self.blend_h(row[j - 1], tile, blend_extent) + result_row.append(tile[:, :, :, :row_limit, :row_limit]) + result_rows.append(torch.cat(result_row, dim=-1)) + + dec = torch.cat(result_rows, dim=-2) + return dec + + def encode(self, x: Tensor) -> DiagonalGaussianDistribution: + """ + Encode input images to latent representation. + Uses spatial tiling for large images if enabled. + + Parameters + ---------- + x : Tensor + Input image tensor of shape (B, C, H, W) or (B, C, T, H, W). + + Returns + ------- + DiagonalGaussianDistribution + Latent distribution with mean and logvar. + """ + # Handle 5D input (B, C, T, H, W) by removing time dimension + original_ndim = x.ndim + if original_ndim == 5: + x = x.squeeze(2) + + # Use tiling for large images to reduce memory usage + if self.use_spatial_tiling and (x.shape[-1] > self.tile_sample_min_size or x.shape[-2] > self.tile_sample_min_size): + h = self.spatial_tiled_encode(x) + else: + h = self.encoder(x) + + # Restore time dimension if input was 5D + if original_ndim == 5: + h = h.unsqueeze(2) + + posterior = DiagonalGaussianDistribution(h) + return posterior + + def decode(self, z: Tensor): + """ + Decode latent representation back to images. + Uses spatial tiling for large latents if enabled. + + Parameters + ---------- + z : Tensor + Latent tensor of shape (B, C, H, W) or (B, C, T, H, W). + + Returns + ------- + Tensor + Decoded image tensor. + """ + # Handle 5D input (B, C, T, H, W) by removing time dimension + original_ndim = z.ndim + if original_ndim == 5: + z = z.squeeze(2) + + # Use tiling for large latents to reduce memory usage + if self.use_spatial_tiling and (z.shape[-1] > self.tile_latent_min_size or z.shape[-2] > self.tile_latent_min_size): + decoded = self.spatial_tiled_decode(z) + else: + decoded = self.decoder(z) + + # Restore time dimension if input was 5D + if original_ndim == 5: + decoded = decoded.unsqueeze(2) + + return decoded + + +def load_vae(vae_path: str, device: torch.device, disable_mmap: bool = False) -> HunyuanVAE2D: + logger.info("Initializing VAE") + vae = HunyuanVAE2D() + + logger.info(f"Loading VAE from {vae_path}") + state_dict = load_safetensors(vae_path, device=device, disable_mmap=disable_mmap) + info = vae.load_state_dict(state_dict, strict=True, assign=True) + logger.info(f"Loaded VAE: {info}") + + vae.to(device) + return vae diff --git a/library/lora_utils.py b/library/lora_utils.py new file mode 100644 index 000000000..db0046229 --- /dev/null +++ b/library/lora_utils.py @@ -0,0 +1,249 @@ +# copy from Musubi Tuner + +import os +import re +from typing import Dict, List, Optional, Union +import torch + +from tqdm import tqdm + +from library.custom_offloading_utils import synchronize_device +from library.fp8_optimization_utils import load_safetensors_with_fp8_optimization +from library.utils import MemoryEfficientSafeOpen, setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + + +def filter_lora_state_dict( + weights_sd: Dict[str, torch.Tensor], + include_pattern: Optional[str] = None, + exclude_pattern: Optional[str] = None, +) -> Dict[str, torch.Tensor]: + # apply include/exclude patterns + original_key_count = len(weights_sd.keys()) + if include_pattern is not None: + regex_include = re.compile(include_pattern) + weights_sd = {k: v for k, v in weights_sd.items() if regex_include.search(k)} + logger.info(f"Filtered keys with include pattern {include_pattern}: {original_key_count} -> {len(weights_sd.keys())}") + + if exclude_pattern is not None: + original_key_count_ex = len(weights_sd.keys()) + regex_exclude = re.compile(exclude_pattern) + weights_sd = {k: v for k, v in weights_sd.items() if not regex_exclude.search(k)} + logger.info(f"Filtered keys with exclude pattern {exclude_pattern}: {original_key_count_ex} -> {len(weights_sd.keys())}") + + if len(weights_sd) != original_key_count: + remaining_keys = list(set([k.split(".", 1)[0] for k in weights_sd.keys()])) + remaining_keys.sort() + logger.info(f"Remaining LoRA modules after filtering: {remaining_keys}") + if len(weights_sd) == 0: + logger.warning("No keys left after filtering.") + + return weights_sd + + +def load_safetensors_with_lora_and_fp8( + model_files: Union[str, List[str]], + lora_weights_list: Optional[Dict[str, torch.Tensor]], + lora_multipliers: Optional[List[float]], + fp8_optimization: bool, + calc_device: torch.device, + move_to_device: bool = False, + dit_weight_dtype: Optional[torch.dtype] = None, + target_keys: Optional[List[str]] = None, + exclude_keys: Optional[List[str]] = None, +) -> dict[str, torch.Tensor]: + """ + Merge LoRA weights into the state dict of a model with fp8 optimization if needed. + + Args: + model_files (Union[str, List[str]]): Path to the model file or list of paths. If the path matches a pattern like `00001-of-00004`, it will load all files with the same prefix. + lora_weights_list (Optional[Dict[str, torch.Tensor]]): Dictionary of LoRA weight tensors to load. + lora_multipliers (Optional[List[float]]): List of multipliers for LoRA weights. + fp8_optimization (bool): Whether to apply FP8 optimization. + calc_device (torch.device): Device to calculate on. + move_to_device (bool): Whether to move tensors to the calculation device after loading. + target_keys (Optional[List[str]]): Keys to target for optimization. + exclude_keys (Optional[List[str]]): Keys to exclude from optimization. + """ + + # if the file name ends with 00001-of-00004 etc, we need to load the files with the same prefix + if isinstance(model_files, str): + model_files = [model_files] + + extended_model_files = [] + for model_file in model_files: + basename = os.path.basename(model_file) + match = re.match(r"^(.*?)(\d+)-of-(\d+)\.safetensors$", basename) + if match: + prefix = basename[: match.start(2)] + count = int(match.group(3)) + state_dict = {} + for i in range(count): + filename = f"{prefix}{i+1:05d}-of-{count:05d}.safetensors" + filepath = os.path.join(os.path.dirname(model_file), filename) + if os.path.exists(filepath): + extended_model_files.append(filepath) + else: + raise FileNotFoundError(f"File {filepath} not found") + else: + extended_model_files.append(model_file) + model_files = extended_model_files + logger.info(f"Loading model files: {model_files}") + + # load LoRA weights + weight_hook = None + if lora_weights_list is None or len(lora_weights_list) == 0: + lora_weights_list = [] + lora_multipliers = [] + list_of_lora_weight_keys = [] + else: + list_of_lora_weight_keys = [] + for lora_sd in lora_weights_list: + lora_weight_keys = set(lora_sd.keys()) + list_of_lora_weight_keys.append(lora_weight_keys) + + if lora_multipliers is None: + lora_multipliers = [1.0] * len(lora_weights_list) + while len(lora_multipliers) < len(lora_weights_list): + lora_multipliers.append(1.0) + if len(lora_multipliers) > len(lora_weights_list): + lora_multipliers = lora_multipliers[: len(lora_weights_list)] + + # Merge LoRA weights into the state dict + logger.info(f"Merging LoRA weights into state dict. multipliers: {lora_multipliers}") + + # make hook for LoRA merging + def weight_hook_func(model_weight_key, model_weight): + nonlocal list_of_lora_weight_keys, lora_weights_list, lora_multipliers, calc_device + + if not model_weight_key.endswith(".weight"): + return model_weight + + original_device = model_weight.device + if original_device != calc_device: + model_weight = model_weight.to(calc_device) # to make calculation faster + + for lora_weight_keys, lora_sd, multiplier in zip(list_of_lora_weight_keys, lora_weights_list, lora_multipliers): + # check if this weight has LoRA weights + lora_name = model_weight_key.rsplit(".", 1)[0] # remove trailing ".weight" + lora_name = "lora_unet_" + lora_name.replace(".", "_") + down_key = lora_name + ".lora_down.weight" + up_key = lora_name + ".lora_up.weight" + alpha_key = lora_name + ".alpha" + if down_key not in lora_weight_keys or up_key not in lora_weight_keys: + continue + + # get LoRA weights + down_weight = lora_sd[down_key] + up_weight = lora_sd[up_key] + + dim = down_weight.size()[0] + alpha = lora_sd.get(alpha_key, dim) + scale = alpha / dim + + down_weight = down_weight.to(calc_device) + up_weight = up_weight.to(calc_device) + + # W <- W + U * D + if len(model_weight.size()) == 2: + # linear + if len(up_weight.size()) == 4: # use linear projection mismatch + up_weight = up_weight.squeeze(3).squeeze(2) + down_weight = down_weight.squeeze(3).squeeze(2) + model_weight = model_weight + multiplier * (up_weight @ down_weight) * scale + elif down_weight.size()[2:4] == (1, 1): + # conv2d 1x1 + model_weight = ( + model_weight + + multiplier + * (up_weight.squeeze(3).squeeze(2) @ down_weight.squeeze(3).squeeze(2)).unsqueeze(2).unsqueeze(3) + * scale + ) + else: + # conv2d 3x3 + conved = torch.nn.functional.conv2d(down_weight.permute(1, 0, 2, 3), up_weight).permute(1, 0, 2, 3) + # logger.info(conved.size(), weight.size(), module.stride, module.padding) + model_weight = model_weight + multiplier * conved * scale + + # remove LoRA keys from set + lora_weight_keys.remove(down_key) + lora_weight_keys.remove(up_key) + if alpha_key in lora_weight_keys: + lora_weight_keys.remove(alpha_key) + + model_weight = model_weight.to(original_device) # move back to original device + return model_weight + + weight_hook = weight_hook_func + + state_dict = load_safetensors_with_fp8_optimization_and_hook( + model_files, + fp8_optimization, + calc_device, + move_to_device, + dit_weight_dtype, + target_keys, + exclude_keys, + weight_hook=weight_hook, + ) + + for lora_weight_keys in list_of_lora_weight_keys: + # check if all LoRA keys are used + if len(lora_weight_keys) > 0: + # if there are still LoRA keys left, it means they are not used in the model + # this is a warning, not an error + logger.warning(f"Warning: not all LoRA keys are used: {', '.join(lora_weight_keys)}") + + return state_dict + + +def load_safetensors_with_fp8_optimization_and_hook( + model_files: list[str], + fp8_optimization: bool, + calc_device: torch.device, + move_to_device: bool = False, + dit_weight_dtype: Optional[torch.dtype] = None, + target_keys: Optional[List[str]] = None, + exclude_keys: Optional[List[str]] = None, + weight_hook: callable = None, +) -> dict[str, torch.Tensor]: + """ + Load state dict from safetensors files and merge LoRA weights into the state dict with fp8 optimization if needed. + """ + if fp8_optimization: + logger.info( + f"Loading state dict with FP8 optimization. Dtype of weight: {dit_weight_dtype}, hook enabled: {weight_hook is not None}" + ) + # dit_weight_dtype is not used because we use fp8 optimization + state_dict = load_safetensors_with_fp8_optimization( + model_files, calc_device, target_keys, exclude_keys, move_to_device=move_to_device, weight_hook=weight_hook + ) + else: + logger.info( + f"Loading state dict without FP8 optimization. Dtype of weight: {dit_weight_dtype}, hook enabled: {weight_hook is not None}" + ) + state_dict = {} + for model_file in model_files: + with MemoryEfficientSafeOpen(model_file) as f: + for key in tqdm(f.keys(), desc=f"Loading {os.path.basename(model_file)}", leave=False): + value = f.get_tensor(key) + if weight_hook is not None: + value = weight_hook(key, value) + if move_to_device: + if dit_weight_dtype is None: + value = value.to(calc_device, non_blocking=True) + else: + value = value.to(calc_device, dtype=dit_weight_dtype, non_blocking=True) + elif dit_weight_dtype is not None: + value = value.to(dit_weight_dtype) + + state_dict[key] = value + + if move_to_device: + synchronize_device(calc_device) + + return state_dict diff --git a/networks/lora_hunyuan_image.py b/networks/lora_hunyuan_image.py new file mode 100644 index 000000000..e9ad5f68d --- /dev/null +++ b/networks/lora_hunyuan_image.py @@ -0,0 +1,1444 @@ +# temporary minimum implementation of LoRA +# FLUX doesn't have Conv2d, so we ignore it +# TODO commonize with the original implementation + +# LoRA network module +# reference: +# https://github.com/microsoft/LoRA/blob/main/loralib/layers.py +# https://github.com/cloneofsimo/lora/blob/master/lora_diffusion/lora.py + +import math +import os +from contextlib import contextmanager +from typing import Dict, List, Optional, Tuple, Type, Union +from diffusers import AutoencoderKL +from transformers import CLIPTextModel +import numpy as np +import torch +from torch import Tensor +import re +from library.utils import setup_logging +from library.sdxl_original_unet import SdxlUNet2DConditionModel + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + + +NUM_DOUBLE_BLOCKS = 19 +NUM_SINGLE_BLOCKS = 38 + + +class LoRAModule(torch.nn.Module): + """ + replaces forward method of the original Linear, instead of replacing the original Linear module. + """ + + def __init__( + self, + lora_name, + org_module: torch.nn.Module, + multiplier=1.0, + lora_dim=4, + alpha=1, + dropout=None, + rank_dropout=None, + module_dropout=None, + split_dims: Optional[List[int]] = None, + ggpo_beta: Optional[float] = None, + ggpo_sigma: Optional[float] = None, + ): + """ + if alpha == 0 or None, alpha is rank (no scaling). + + split_dims is used to mimic the split qkv of FLUX as same as Diffusers + """ + super().__init__() + self.lora_name = lora_name + + if org_module.__class__.__name__ == "Conv2d": + in_dim = org_module.in_channels + out_dim = org_module.out_channels + else: + in_dim = org_module.in_features + out_dim = org_module.out_features + + self.lora_dim = lora_dim + self.split_dims = split_dims + + if split_dims is None: + if org_module.__class__.__name__ == "Conv2d": + kernel_size = org_module.kernel_size + stride = org_module.stride + padding = org_module.padding + self.lora_down = torch.nn.Conv2d(in_dim, self.lora_dim, kernel_size, stride, padding, bias=False) + self.lora_up = torch.nn.Conv2d(self.lora_dim, out_dim, (1, 1), (1, 1), bias=False) + else: + self.lora_down = torch.nn.Linear(in_dim, self.lora_dim, bias=False) + self.lora_up = torch.nn.Linear(self.lora_dim, out_dim, bias=False) + + torch.nn.init.kaiming_uniform_(self.lora_down.weight, a=math.sqrt(5)) + torch.nn.init.zeros_(self.lora_up.weight) + else: + # conv2d not supported + assert sum(split_dims) == out_dim, "sum of split_dims must be equal to out_dim" + assert org_module.__class__.__name__ == "Linear", "split_dims is only supported for Linear" + # print(f"split_dims: {split_dims}") + self.lora_down = torch.nn.ModuleList( + [torch.nn.Linear(in_dim, self.lora_dim, bias=False) for _ in range(len(split_dims))] + ) + self.lora_up = torch.nn.ModuleList([torch.nn.Linear(self.lora_dim, split_dim, bias=False) for split_dim in split_dims]) + for lora_down in self.lora_down: + torch.nn.init.kaiming_uniform_(lora_down.weight, a=math.sqrt(5)) + for lora_up in self.lora_up: + torch.nn.init.zeros_(lora_up.weight) + + if type(alpha) == torch.Tensor: + alpha = alpha.detach().float().numpy() # without casting, bf16 causes error + alpha = self.lora_dim if alpha is None or alpha == 0 else alpha + self.scale = alpha / self.lora_dim + self.register_buffer("alpha", torch.tensor(alpha)) # 定数として扱える + + # same as microsoft's + self.multiplier = multiplier + self.org_module = org_module # remove in applying + self.dropout = dropout + self.rank_dropout = rank_dropout + self.module_dropout = module_dropout + + self.ggpo_sigma = ggpo_sigma + self.ggpo_beta = ggpo_beta + + if self.ggpo_beta is not None and self.ggpo_sigma is not None: + self.combined_weight_norms = None + self.grad_norms = None + self.perturbation_norm_factor = 1.0 / math.sqrt(org_module.weight.shape[0]) + self.initialize_norm_cache(org_module.weight) + self.org_module_shape: tuple[int] = org_module.weight.shape + + def apply_to(self): + self.org_forward = self.org_module.forward + self.org_module.forward = self.forward + + del self.org_module + + def forward(self, x): + org_forwarded = self.org_forward(x) + + # module dropout + if self.module_dropout is not None and self.training: + if torch.rand(1) < self.module_dropout: + return org_forwarded + + if self.split_dims is None: + lx = self.lora_down(x) + + # normal dropout + if self.dropout is not None and self.training: + lx = torch.nn.functional.dropout(lx, p=self.dropout) + + # rank dropout + if self.rank_dropout is not None and self.training: + mask = torch.rand((lx.size(0), self.lora_dim), device=lx.device) > self.rank_dropout + if len(lx.size()) == 3: + mask = mask.unsqueeze(1) # for Text Encoder + elif len(lx.size()) == 4: + mask = mask.unsqueeze(-1).unsqueeze(-1) # for Conv2d + lx = lx * mask + + # scaling for rank dropout: treat as if the rank is changed + # maskから計算することも考えられるが、augmentation的な効果を期待してrank_dropoutを用いる + scale = self.scale * (1.0 / (1.0 - self.rank_dropout)) # redundant for readability + else: + scale = self.scale + + lx = self.lora_up(lx) + + # LoRA Gradient-Guided Perturbation Optimization + if ( + self.training + and self.ggpo_sigma is not None + and self.ggpo_beta is not None + and self.combined_weight_norms is not None + and self.grad_norms is not None + ): + with torch.no_grad(): + perturbation_scale = (self.ggpo_sigma * torch.sqrt(self.combined_weight_norms**2)) + ( + self.ggpo_beta * (self.grad_norms**2) + ) + perturbation_scale_factor = (perturbation_scale * self.perturbation_norm_factor).to(self.device) + perturbation = torch.randn(self.org_module_shape, dtype=self.dtype, device=self.device) + perturbation.mul_(perturbation_scale_factor) + perturbation_output = x @ perturbation.T # Result: (batch × n) + return org_forwarded + (self.multiplier * scale * lx) + perturbation_output + else: + return org_forwarded + lx * self.multiplier * scale + else: + lxs = [lora_down(x) for lora_down in self.lora_down] + + # normal dropout + if self.dropout is not None and self.training: + lxs = [torch.nn.functional.dropout(lx, p=self.dropout) for lx in lxs] + + # rank dropout + if self.rank_dropout is not None and self.training: + masks = [torch.rand((lx.size(0), self.lora_dim), device=lx.device) > self.rank_dropout for lx in lxs] + for i in range(len(lxs)): + if len(lx.size()) == 3: + masks[i] = masks[i].unsqueeze(1) + elif len(lx.size()) == 4: + masks[i] = masks[i].unsqueeze(-1).unsqueeze(-1) + lxs[i] = lxs[i] * masks[i] + + # scaling for rank dropout: treat as if the rank is changed + scale = self.scale * (1.0 / (1.0 - self.rank_dropout)) # redundant for readability + else: + scale = self.scale + + lxs = [lora_up(lx) for lora_up, lx in zip(self.lora_up, lxs)] + + return org_forwarded + torch.cat(lxs, dim=-1) * self.multiplier * scale + + @torch.no_grad() + def initialize_norm_cache(self, org_module_weight: Tensor): + # Choose a reasonable sample size + n_rows = org_module_weight.shape[0] + sample_size = min(1000, n_rows) # Cap at 1000 samples or use all if smaller + + # Sample random indices across all rows + indices = torch.randperm(n_rows)[:sample_size] + + # Convert to a supported data type first, then index + # Use float32 for indexing operations + weights_float32 = org_module_weight.to(dtype=torch.float32) + sampled_weights = weights_float32[indices].to(device=self.device) + + # Calculate sampled norms + sampled_norms = torch.norm(sampled_weights, dim=1, keepdim=True) + + # Store the mean norm as our estimate + self.org_weight_norm_estimate = sampled_norms.mean() + + # Optional: store standard deviation for confidence intervals + self.org_weight_norm_std = sampled_norms.std() + + # Free memory + del sampled_weights, weights_float32 + + @torch.no_grad() + def validate_norm_approximation(self, org_module_weight: Tensor, verbose=True): + # Calculate the true norm (this will be slow but it's just for validation) + true_norms = [] + chunk_size = 1024 # Process in chunks to avoid OOM + + for i in range(0, org_module_weight.shape[0], chunk_size): + end_idx = min(i + chunk_size, org_module_weight.shape[0]) + chunk = org_module_weight[i:end_idx].to(device=self.device, dtype=self.dtype) + chunk_norms = torch.norm(chunk, dim=1, keepdim=True) + true_norms.append(chunk_norms.cpu()) + del chunk + + true_norms = torch.cat(true_norms, dim=0) + true_mean_norm = true_norms.mean().item() + + # Compare with our estimate + estimated_norm = self.org_weight_norm_estimate.item() + + # Calculate error metrics + absolute_error = abs(true_mean_norm - estimated_norm) + relative_error = absolute_error / true_mean_norm * 100 # as percentage + + if verbose: + logger.info(f"True mean norm: {true_mean_norm:.6f}") + logger.info(f"Estimated norm: {estimated_norm:.6f}") + logger.info(f"Absolute error: {absolute_error:.6f}") + logger.info(f"Relative error: {relative_error:.2f}%") + + return { + "true_mean_norm": true_mean_norm, + "estimated_norm": estimated_norm, + "absolute_error": absolute_error, + "relative_error": relative_error, + } + + @torch.no_grad() + def update_norms(self): + # Not running GGPO so not currently running update norms + if self.ggpo_beta is None or self.ggpo_sigma is None: + return + + # only update norms when we are training + if self.training is False: + return + + module_weights = self.lora_up.weight @ self.lora_down.weight + module_weights.mul(self.scale) + + self.weight_norms = torch.norm(module_weights, dim=1, keepdim=True) + self.combined_weight_norms = torch.sqrt( + (self.org_weight_norm_estimate**2) + torch.sum(module_weights**2, dim=1, keepdim=True) + ) + + @torch.no_grad() + def update_grad_norms(self): + if self.training is False: + print(f"skipping update_grad_norms for {self.lora_name}") + return + + lora_down_grad = None + lora_up_grad = None + + for name, param in self.named_parameters(): + if name == "lora_down.weight": + lora_down_grad = param.grad + elif name == "lora_up.weight": + lora_up_grad = param.grad + + # Calculate gradient norms if we have both gradients + if lora_down_grad is not None and lora_up_grad is not None: + with torch.autocast(self.device.type): + approx_grad = self.scale * ((self.lora_up.weight @ lora_down_grad) + (lora_up_grad @ self.lora_down.weight)) + self.grad_norms = torch.norm(approx_grad, dim=1, keepdim=True) + + @property + def device(self): + return next(self.parameters()).device + + @property + def dtype(self): + return next(self.parameters()).dtype + + +class LoRAInfModule(LoRAModule): + def __init__( + self, + lora_name, + org_module: torch.nn.Module, + multiplier=1.0, + lora_dim=4, + alpha=1, + **kwargs, + ): + # no dropout for inference + super().__init__(lora_name, org_module, multiplier, lora_dim, alpha) + + self.org_module_ref = [org_module] # 後から参照できるように + self.enabled = True + self.network: LoRANetwork = None + + def set_network(self, network): + self.network = network + + # freezeしてマージする + def merge_to(self, sd, dtype, device): + # extract weight from org_module + org_sd = self.org_module.state_dict() + weight = org_sd["weight"] + org_dtype = weight.dtype + org_device = weight.device + weight = weight.to(torch.float) # calc in float + + if dtype is None: + dtype = org_dtype + if device is None: + device = org_device + + if self.split_dims is None: + # get up/down weight + down_weight = sd["lora_down.weight"].to(torch.float).to(device) + up_weight = sd["lora_up.weight"].to(torch.float).to(device) + + # merge weight + if len(weight.size()) == 2: + # linear + weight = weight + self.multiplier * (up_weight @ down_weight) * self.scale + elif down_weight.size()[2:4] == (1, 1): + # conv2d 1x1 + weight = ( + weight + + self.multiplier + * (up_weight.squeeze(3).squeeze(2) @ down_weight.squeeze(3).squeeze(2)).unsqueeze(2).unsqueeze(3) + * self.scale + ) + else: + # conv2d 3x3 + conved = torch.nn.functional.conv2d(down_weight.permute(1, 0, 2, 3), up_weight).permute(1, 0, 2, 3) + # logger.info(conved.size(), weight.size(), module.stride, module.padding) + weight = weight + self.multiplier * conved * self.scale + + # set weight to org_module + org_sd["weight"] = weight.to(dtype) + self.org_module.load_state_dict(org_sd) + else: + # split_dims + total_dims = sum(self.split_dims) + for i in range(len(self.split_dims)): + # get up/down weight + down_weight = sd[f"lora_down.{i}.weight"].to(torch.float).to(device) # (rank, in_dim) + up_weight = sd[f"lora_up.{i}.weight"].to(torch.float).to(device) # (split dim, rank) + + # pad up_weight -> (total_dims, rank) + padded_up_weight = torch.zeros((total_dims, up_weight.size(0)), device=device, dtype=torch.float) + padded_up_weight[sum(self.split_dims[:i]) : sum(self.split_dims[: i + 1])] = up_weight + + # merge weight + weight = weight + self.multiplier * (up_weight @ down_weight) * self.scale + + # set weight to org_module + org_sd["weight"] = weight.to(dtype) + self.org_module.load_state_dict(org_sd) + + # 復元できるマージのため、このモジュールのweightを返す + def get_weight(self, multiplier=None): + if multiplier is None: + multiplier = self.multiplier + + # get up/down weight from module + up_weight = self.lora_up.weight.to(torch.float) + down_weight = self.lora_down.weight.to(torch.float) + + # pre-calculated weight + if len(down_weight.size()) == 2: + # linear + weight = self.multiplier * (up_weight @ down_weight) * self.scale + elif down_weight.size()[2:4] == (1, 1): + # conv2d 1x1 + weight = ( + self.multiplier + * (up_weight.squeeze(3).squeeze(2) @ down_weight.squeeze(3).squeeze(2)).unsqueeze(2).unsqueeze(3) + * self.scale + ) + else: + # conv2d 3x3 + conved = torch.nn.functional.conv2d(down_weight.permute(1, 0, 2, 3), up_weight).permute(1, 0, 2, 3) + weight = self.multiplier * conved * self.scale + + return weight + + def set_region(self, region): + self.region = region + self.region_mask = None + + def default_forward(self, x): + # logger.info(f"default_forward {self.lora_name} {x.size()}") + if self.split_dims is None: + lx = self.lora_down(x) + lx = self.lora_up(lx) + return self.org_forward(x) + lx * self.multiplier * self.scale + else: + lxs = [lora_down(x) for lora_down in self.lora_down] + lxs = [lora_up(lx) for lora_up, lx in zip(self.lora_up, lxs)] + return self.org_forward(x) + torch.cat(lxs, dim=-1) * self.multiplier * self.scale + + def forward(self, x): + if not self.enabled: + return self.org_forward(x) + return self.default_forward(x) + + +def create_network( + multiplier: float, + network_dim: Optional[int], + network_alpha: Optional[float], + ae: AutoencoderKL, + text_encoders: List[CLIPTextModel], + flux, + neuron_dropout: Optional[float] = None, + **kwargs, +): + if network_dim is None: + network_dim = 4 # default + if network_alpha is None: + network_alpha = 1.0 + + # extract dim/alpha for conv2d, and block dim + conv_dim = kwargs.get("conv_dim", None) + conv_alpha = kwargs.get("conv_alpha", None) + if conv_dim is not None: + conv_dim = int(conv_dim) + if conv_alpha is None: + conv_alpha = 1.0 + else: + conv_alpha = float(conv_alpha) + + # attn dim, mlp dim: only for DoubleStreamBlock. SingleStreamBlock is not supported because of combined qkv + img_attn_dim = kwargs.get("img_attn_dim", None) + txt_attn_dim = kwargs.get("txt_attn_dim", None) + img_mlp_dim = kwargs.get("img_mlp_dim", None) + txt_mlp_dim = kwargs.get("txt_mlp_dim", None) + img_mod_dim = kwargs.get("img_mod_dim", None) + txt_mod_dim = kwargs.get("txt_mod_dim", None) + single_dim = kwargs.get("single_dim", None) # SingleStreamBlock + single_mod_dim = kwargs.get("single_mod_dim", None) # SingleStreamBlock + if img_attn_dim is not None: + img_attn_dim = int(img_attn_dim) + if txt_attn_dim is not None: + txt_attn_dim = int(txt_attn_dim) + if img_mlp_dim is not None: + img_mlp_dim = int(img_mlp_dim) + if txt_mlp_dim is not None: + txt_mlp_dim = int(txt_mlp_dim) + if img_mod_dim is not None: + img_mod_dim = int(img_mod_dim) + if txt_mod_dim is not None: + txt_mod_dim = int(txt_mod_dim) + if single_dim is not None: + single_dim = int(single_dim) + if single_mod_dim is not None: + single_mod_dim = int(single_mod_dim) + type_dims = [img_attn_dim, txt_attn_dim, img_mlp_dim, txt_mlp_dim, img_mod_dim, txt_mod_dim, single_dim, single_mod_dim] + if all([d is None for d in type_dims]): + type_dims = None + + # in_dims [img, time, vector, guidance, txt] + in_dims = kwargs.get("in_dims", None) + if in_dims is not None: + in_dims = in_dims.strip() + if in_dims.startswith("[") and in_dims.endswith("]"): + in_dims = in_dims[1:-1] + in_dims = [int(d) for d in in_dims.split(",")] # is it better to use ast.literal_eval? + assert len(in_dims) == 5, f"invalid in_dims: {in_dims}, must be 5 dimensions (img, time, vector, guidance, txt)" + + # double/single train blocks + def parse_block_selection(selection: str, total_blocks: int) -> List[bool]: + """ + Parse a block selection string and return a list of booleans. + + Args: + selection (str): A string specifying which blocks to select. + total_blocks (int): The total number of blocks available. + + Returns: + List[bool]: A list of booleans indicating which blocks are selected. + """ + if selection == "all": + return [True] * total_blocks + if selection == "none" or selection == "": + return [False] * total_blocks + + selected = [False] * total_blocks + ranges = selection.split(",") + + for r in ranges: + if "-" in r: + start, end = map(str.strip, r.split("-")) + start = int(start) + end = int(end) + assert 0 <= start < total_blocks, f"invalid start index: {start}" + assert 0 <= end < total_blocks, f"invalid end index: {end}" + assert start <= end, f"invalid range: {start}-{end}" + for i in range(start, end + 1): + selected[i] = True + else: + index = int(r) + assert 0 <= index < total_blocks, f"invalid index: {index}" + selected[index] = True + + return selected + + train_double_block_indices = kwargs.get("train_double_block_indices", None) + train_single_block_indices = kwargs.get("train_single_block_indices", None) + if train_double_block_indices is not None: + train_double_block_indices = parse_block_selection(train_double_block_indices, NUM_DOUBLE_BLOCKS) + if train_single_block_indices is not None: + train_single_block_indices = parse_block_selection(train_single_block_indices, NUM_SINGLE_BLOCKS) + + # rank/module dropout + rank_dropout = kwargs.get("rank_dropout", None) + if rank_dropout is not None: + rank_dropout = float(rank_dropout) + module_dropout = kwargs.get("module_dropout", None) + if module_dropout is not None: + module_dropout = float(module_dropout) + + # single or double blocks + train_blocks = kwargs.get("train_blocks", None) # None (default), "all" (same as None), "single", "double" + if train_blocks is not None: + assert train_blocks in ["all", "single", "double"], f"invalid train_blocks: {train_blocks}" + + # split qkv + split_qkv = kwargs.get("split_qkv", False) + if split_qkv is not None: + split_qkv = True if split_qkv == "True" else False + + ggpo_beta = kwargs.get("ggpo_beta", None) + ggpo_sigma = kwargs.get("ggpo_sigma", None) + + if ggpo_beta is not None: + ggpo_beta = float(ggpo_beta) + + if ggpo_sigma is not None: + ggpo_sigma = float(ggpo_sigma) + + # train T5XXL + train_t5xxl = kwargs.get("train_t5xxl", False) + if train_t5xxl is not None: + train_t5xxl = True if train_t5xxl == "True" else False + + # verbose + verbose = kwargs.get("verbose", False) + if verbose is not None: + verbose = True if verbose == "True" else False + + # regex-specific learning rates + def parse_kv_pairs(kv_pair_str: str, is_int: bool) -> Dict[str, float]: + """ + Parse a string of key-value pairs separated by commas. + """ + pairs = {} + for pair in kv_pair_str.split(","): + pair = pair.strip() + if not pair: + continue + if "=" not in pair: + logger.warning(f"Invalid format: {pair}, expected 'key=value'") + continue + key, value = pair.split("=", 1) + key = key.strip() + value = value.strip() + try: + pairs[key] = int(value) if is_int else float(value) + except ValueError: + logger.warning(f"Invalid value for {key}: {value}") + return pairs + + # parse regular expression based learning rates + network_reg_lrs = kwargs.get("network_reg_lrs", None) + if network_reg_lrs is not None: + reg_lrs = parse_kv_pairs(network_reg_lrs, is_int=False) + else: + reg_lrs = None + + # regex-specific dimensions (ranks) + network_reg_dims = kwargs.get("network_reg_dims", None) + if network_reg_dims is not None: + reg_dims = parse_kv_pairs(network_reg_dims, is_int=True) + else: + reg_dims = None + + # すごく引数が多いな ( ^ω^)・・・ + network = LoRANetwork( + text_encoders, + flux, + multiplier=multiplier, + lora_dim=network_dim, + alpha=network_alpha, + dropout=neuron_dropout, + rank_dropout=rank_dropout, + module_dropout=module_dropout, + conv_lora_dim=conv_dim, + conv_alpha=conv_alpha, + train_blocks=train_blocks, + split_qkv=split_qkv, + train_t5xxl=train_t5xxl, + type_dims=type_dims, + in_dims=in_dims, + train_double_block_indices=train_double_block_indices, + train_single_block_indices=train_single_block_indices, + reg_dims=reg_dims, + ggpo_beta=ggpo_beta, + ggpo_sigma=ggpo_sigma, + reg_lrs=reg_lrs, + verbose=verbose, + ) + + loraplus_lr_ratio = kwargs.get("loraplus_lr_ratio", None) + loraplus_unet_lr_ratio = kwargs.get("loraplus_unet_lr_ratio", None) + loraplus_text_encoder_lr_ratio = kwargs.get("loraplus_text_encoder_lr_ratio", None) + loraplus_lr_ratio = float(loraplus_lr_ratio) if loraplus_lr_ratio is not None else None + loraplus_unet_lr_ratio = float(loraplus_unet_lr_ratio) if loraplus_unet_lr_ratio is not None else None + loraplus_text_encoder_lr_ratio = float(loraplus_text_encoder_lr_ratio) if loraplus_text_encoder_lr_ratio is not None else None + if loraplus_lr_ratio is not None or loraplus_unet_lr_ratio is not None or loraplus_text_encoder_lr_ratio is not None: + network.set_loraplus_lr_ratio(loraplus_lr_ratio, loraplus_unet_lr_ratio, loraplus_text_encoder_lr_ratio) + + return network + + +# Create network from weights for inference, weights are not loaded here (because can be merged) +def create_network_from_weights(multiplier, file, ae, text_encoders, flux, weights_sd=None, for_inference=False, **kwargs): + if weights_sd is None: + if os.path.splitext(file)[1] == ".safetensors": + from safetensors.torch import load_file, safe_open + + weights_sd = load_file(file) + else: + weights_sd = torch.load(file, map_location="cpu") + + # get dim/alpha mapping, and train t5xxl + modules_dim = {} + modules_alpha = {} + train_t5xxl = None + for key, value in weights_sd.items(): + if "." not in key: + continue + + lora_name = key.split(".")[0] + if "alpha" in key: + modules_alpha[lora_name] = value + elif "lora_down" in key: + dim = value.size()[0] + modules_dim[lora_name] = dim + # logger.info(lora_name, value.size(), dim) + + if train_t5xxl is None or train_t5xxl is False: + train_t5xxl = "lora_te3" in lora_name + + if train_t5xxl is None: + train_t5xxl = False + + split_qkv = False # split_qkv is not needed to care, because state_dict is qkv combined + + module_class = LoRAInfModule if for_inference else LoRAModule + + network = LoRANetwork( + text_encoders, + flux, + multiplier=multiplier, + modules_dim=modules_dim, + modules_alpha=modules_alpha, + module_class=module_class, + split_qkv=split_qkv, + train_t5xxl=train_t5xxl, + ) + return network, weights_sd + + +class LoRANetwork(torch.nn.Module): + # FLUX_TARGET_REPLACE_MODULE = ["DoubleStreamBlock", "SingleStreamBlock"] + FLUX_TARGET_REPLACE_MODULE_DOUBLE = ["DoubleStreamBlock"] + FLUX_TARGET_REPLACE_MODULE_SINGLE = ["SingleStreamBlock"] + TEXT_ENCODER_TARGET_REPLACE_MODULE = ["CLIPAttention", "CLIPSdpaAttention", "CLIPMLP", "T5Attention", "T5DenseGatedActDense"] + LORA_PREFIX_FLUX = "lora_unet" # make ComfyUI compatible + LORA_PREFIX_TEXT_ENCODER_CLIP = "lora_te1" + LORA_PREFIX_TEXT_ENCODER_T5 = "lora_te3" # make ComfyUI compatible + + def __init__( + self, + text_encoders: Union[List[CLIPTextModel], CLIPTextModel], + unet, + multiplier: float = 1.0, + lora_dim: int = 4, + alpha: float = 1, + dropout: Optional[float] = None, + rank_dropout: Optional[float] = None, + module_dropout: Optional[float] = None, + conv_lora_dim: Optional[int] = None, + conv_alpha: Optional[float] = None, + module_class: Type[object] = LoRAModule, + modules_dim: Optional[Dict[str, int]] = None, + modules_alpha: Optional[Dict[str, int]] = None, + train_blocks: Optional[str] = None, + split_qkv: bool = False, + train_t5xxl: bool = False, + type_dims: Optional[List[int]] = None, + in_dims: Optional[List[int]] = None, + train_double_block_indices: Optional[List[bool]] = None, + train_single_block_indices: Optional[List[bool]] = None, + reg_dims: Optional[Dict[str, int]] = None, + ggpo_beta: Optional[float] = None, + ggpo_sigma: Optional[float] = None, + reg_lrs: Optional[Dict[str, float]] = None, + verbose: Optional[bool] = False, + ) -> None: + super().__init__() + self.multiplier = multiplier + + self.lora_dim = lora_dim + self.alpha = alpha + self.conv_lora_dim = conv_lora_dim + self.conv_alpha = conv_alpha + self.dropout = dropout + self.rank_dropout = rank_dropout + self.module_dropout = module_dropout + self.train_blocks = train_blocks if train_blocks is not None else "all" + self.split_qkv = split_qkv + self.train_t5xxl = train_t5xxl + + self.type_dims = type_dims + self.in_dims = in_dims + self.train_double_block_indices = train_double_block_indices + self.train_single_block_indices = train_single_block_indices + self.reg_dims = reg_dims + self.reg_lrs = reg_lrs + + self.loraplus_lr_ratio = None + self.loraplus_unet_lr_ratio = None + self.loraplus_text_encoder_lr_ratio = None + + if modules_dim is not None: + logger.info(f"create LoRA network from weights") + self.in_dims = [0] * 5 # create in_dims + # verbose = True + else: + logger.info(f"create LoRA network. base dim (rank): {lora_dim}, alpha: {alpha}") + logger.info( + f"neuron dropout: p={self.dropout}, rank dropout: p={self.rank_dropout}, module dropout: p={self.module_dropout}" + ) + # if self.conv_lora_dim is not None: + # logger.info( + # f"apply LoRA to Conv2d with kernel size (3,3). dim (rank): {self.conv_lora_dim}, alpha: {self.conv_alpha}" + # ) + + if ggpo_beta is not None and ggpo_sigma is not None: + logger.info(f"LoRA-GGPO training sigma: {ggpo_sigma} beta: {ggpo_beta}") + + if self.split_qkv: + logger.info(f"split qkv for LoRA") + if self.train_blocks is not None: + logger.info(f"train {self.train_blocks} blocks only") + + if train_t5xxl: + logger.info(f"train T5XXL as well") + + # create module instances + def create_modules( + is_flux: bool, + text_encoder_idx: Optional[int], + root_module: torch.nn.Module, + target_replace_modules: List[str], + filter: Optional[str] = None, + default_dim: Optional[int] = None, + ) -> List[LoRAModule]: + prefix = ( + self.LORA_PREFIX_FLUX + if is_flux + else (self.LORA_PREFIX_TEXT_ENCODER_CLIP if text_encoder_idx == 0 else self.LORA_PREFIX_TEXT_ENCODER_T5) + ) + + loras = [] + skipped = [] + for name, module in root_module.named_modules(): + if target_replace_modules is None or module.__class__.__name__ in target_replace_modules: + if target_replace_modules is None: # dirty hack for all modules + module = root_module # search all modules + + for child_name, child_module in module.named_modules(): + is_linear = child_module.__class__.__name__ == "Linear" + is_conv2d = child_module.__class__.__name__ == "Conv2d" + is_conv2d_1x1 = is_conv2d and child_module.kernel_size == (1, 1) + + if is_linear or is_conv2d: + lora_name = prefix + "." + (name + "." if name else "") + child_name + lora_name = lora_name.replace(".", "_") + + if filter is not None and not filter in lora_name: + continue + + dim = None + alpha = None + + if modules_dim is not None: + # モジュール指定あり + if lora_name in modules_dim: + dim = modules_dim[lora_name] + alpha = modules_alpha[lora_name] + elif self.reg_dims is not None: + for reg, d in self.reg_dims.items(): + if re.search(reg, lora_name): + dim = d + alpha = self.alpha + logger.info(f"LoRA {lora_name} matched with regex {reg}, using dim: {dim}") + break + + # if modules_dim is None, we use default lora_dim. if modules_dim is not None, we use the specified dim (no default) + if dim is None and modules_dim is None: + if is_linear or is_conv2d_1x1: + dim = default_dim if default_dim is not None else self.lora_dim + alpha = self.alpha + + if is_flux and type_dims is not None: + identifier = [ + ("img_attn",), + ("txt_attn",), + ("img_mlp",), + ("txt_mlp",), + ("img_mod",), + ("txt_mod",), + ("single_blocks", "linear"), + ("modulation",), + ] + for i, d in enumerate(type_dims): + if d is not None and all([id in lora_name for id in identifier[i]]): + dim = d # may be 0 for skip + break + + if ( + is_flux + and dim + and ( + self.train_double_block_indices is not None + or self.train_single_block_indices is not None + ) + and ("double" in lora_name or "single" in lora_name) + ): + # "lora_unet_double_blocks_0_..." or "lora_unet_single_blocks_0_..." + block_index = int(lora_name.split("_")[4]) # bit dirty + if ( + "double" in lora_name + and self.train_double_block_indices is not None + and not self.train_double_block_indices[block_index] + ): + dim = 0 + elif ( + "single" in lora_name + and self.train_single_block_indices is not None + and not self.train_single_block_indices[block_index] + ): + dim = 0 + + elif self.conv_lora_dim is not None: + dim = self.conv_lora_dim + alpha = self.conv_alpha + + if dim is None or dim == 0: + # skipした情報を出力 + if is_linear or is_conv2d_1x1 or (self.conv_lora_dim is not None): + skipped.append(lora_name) + continue + + # qkv split + split_dims = None + if is_flux and split_qkv: + if "double" in lora_name and "qkv" in lora_name: + split_dims = [3072] * 3 + elif "single" in lora_name and "linear1" in lora_name: + split_dims = [3072] * 3 + [12288] + + lora = module_class( + lora_name, + child_module, + self.multiplier, + dim, + alpha, + dropout=dropout, + rank_dropout=rank_dropout, + module_dropout=module_dropout, + split_dims=split_dims, + ggpo_beta=ggpo_beta, + ggpo_sigma=ggpo_sigma, + ) + loras.append(lora) + + if target_replace_modules is None: + break # all modules are searched + return loras, skipped + + # create LoRA for text encoder + # 毎回すべてのモジュールを作るのは無駄なので要検討 + self.text_encoder_loras: List[Union[LoRAModule, LoRAInfModule]] = [] + skipped_te = [] + for i, text_encoder in enumerate(text_encoders): + index = i + if text_encoder is None: + logger.info(f"Text Encoder {index+1} is None, skipping LoRA creation for this encoder.") + continue + if not train_t5xxl and index > 0: # 0: CLIP, 1: T5XXL, so we skip T5XXL if train_t5xxl is False + break + + logger.info(f"create LoRA for Text Encoder {index+1}:") + + text_encoder_loras, skipped = create_modules(False, index, text_encoder, LoRANetwork.TEXT_ENCODER_TARGET_REPLACE_MODULE) + logger.info(f"create LoRA for Text Encoder {index+1}: {len(text_encoder_loras)} modules.") + self.text_encoder_loras.extend(text_encoder_loras) + skipped_te += skipped + + # create LoRA for U-Net + if self.train_blocks == "all": + target_replace_modules = LoRANetwork.FLUX_TARGET_REPLACE_MODULE_DOUBLE + LoRANetwork.FLUX_TARGET_REPLACE_MODULE_SINGLE + elif self.train_blocks == "single": + target_replace_modules = LoRANetwork.FLUX_TARGET_REPLACE_MODULE_SINGLE + elif self.train_blocks == "double": + target_replace_modules = LoRANetwork.FLUX_TARGET_REPLACE_MODULE_DOUBLE + + self.unet_loras: List[Union[LoRAModule, LoRAInfModule]] + self.unet_loras, skipped_un = create_modules(True, None, unet, target_replace_modules) + + # img, time, vector, guidance, txt + if self.in_dims: + for filter, in_dim in zip(["_img_in", "_time_in", "_vector_in", "_guidance_in", "_txt_in"], self.in_dims): + loras, _ = create_modules(True, None, unet, None, filter=filter, default_dim=in_dim) + self.unet_loras.extend(loras) + + logger.info(f"create LoRA for FLUX {self.train_blocks} blocks: {len(self.unet_loras)} modules.") + if verbose: + for lora in self.unet_loras: + logger.info(f"\t{lora.lora_name:50} {lora.lora_dim}, {lora.alpha}") + + skipped = skipped_te + skipped_un + if verbose and len(skipped) > 0: + logger.warning( + f"because dim (rank) is 0, {len(skipped)} LoRA modules are skipped / dim (rank)が0の為、次の{len(skipped)}個のLoRAモジュールはスキップされます:" + ) + for name in skipped: + logger.info(f"\t{name}") + + # assertion + names = set() + for lora in self.text_encoder_loras + self.unet_loras: + assert lora.lora_name not in names, f"duplicated lora name: {lora.lora_name}" + names.add(lora.lora_name) + + def set_multiplier(self, multiplier): + self.multiplier = multiplier + for lora in self.text_encoder_loras + self.unet_loras: + lora.multiplier = self.multiplier + + def set_enabled(self, is_enabled): + for lora in self.text_encoder_loras + self.unet_loras: + lora.enabled = is_enabled + + def update_norms(self): + for lora in self.text_encoder_loras + self.unet_loras: + lora.update_norms() + + def update_grad_norms(self): + for lora in self.text_encoder_loras + self.unet_loras: + lora.update_grad_norms() + + def grad_norms(self) -> Tensor | None: + grad_norms = [] + for lora in self.text_encoder_loras + self.unet_loras: + if hasattr(lora, "grad_norms") and lora.grad_norms is not None: + grad_norms.append(lora.grad_norms.mean(dim=0)) + return torch.stack(grad_norms) if len(grad_norms) > 0 else None + + def weight_norms(self) -> Tensor | None: + weight_norms = [] + for lora in self.text_encoder_loras + self.unet_loras: + if hasattr(lora, "weight_norms") and lora.weight_norms is not None: + weight_norms.append(lora.weight_norms.mean(dim=0)) + return torch.stack(weight_norms) if len(weight_norms) > 0 else None + + def combined_weight_norms(self) -> Tensor | None: + combined_weight_norms = [] + for lora in self.text_encoder_loras + self.unet_loras: + if hasattr(lora, "combined_weight_norms") and lora.combined_weight_norms is not None: + combined_weight_norms.append(lora.combined_weight_norms.mean(dim=0)) + return torch.stack(combined_weight_norms) if len(combined_weight_norms) > 0 else None + + def load_weights(self, file): + if os.path.splitext(file)[1] == ".safetensors": + from safetensors.torch import load_file + + weights_sd = load_file(file) + else: + weights_sd = torch.load(file, map_location="cpu") + + info = self.load_state_dict(weights_sd, False) + return info + + def load_state_dict(self, state_dict, strict=True): + # override to convert original weight to split qkv + if not self.split_qkv: + return super().load_state_dict(state_dict, strict) + + # split qkv + for key in list(state_dict.keys()): + if "double" in key and "qkv" in key: + split_dims = [3072] * 3 + elif "single" in key and "linear1" in key: + split_dims = [3072] * 3 + [12288] + else: + continue + + weight = state_dict[key] + lora_name = key.split(".")[0] + if "lora_down" in key and "weight" in key: + # dense weight (rank*3, in_dim) + split_weight = torch.chunk(weight, len(split_dims), dim=0) + for i, split_w in enumerate(split_weight): + state_dict[f"{lora_name}.lora_down.{i}.weight"] = split_w + + del state_dict[key] + # print(f"split {key}: {weight.shape} to {[w.shape for w in split_weight]}") + elif "lora_up" in key and "weight" in key: + # sparse weight (out_dim=sum(split_dims), rank*3) + rank = weight.size(1) // len(split_dims) + i = 0 + for j in range(len(split_dims)): + state_dict[f"{lora_name}.lora_up.{j}.weight"] = weight[i : i + split_dims[j], j * rank : (j + 1) * rank] + i += split_dims[j] + del state_dict[key] + + # # check is sparse + # i = 0 + # is_zero = True + # for j in range(len(split_dims)): + # for k in range(len(split_dims)): + # if j == k: + # continue + # is_zero = is_zero and torch.all(weight[i : i + split_dims[j], k * rank : (k + 1) * rank] == 0) + # i += split_dims[j] + # if not is_zero: + # logger.warning(f"weight is not sparse: {key}") + # else: + # logger.info(f"weight is sparse: {key}") + + # print( + # f"split {key}: {weight.shape} to {[state_dict[k].shape for k in [f'{lora_name}.lora_up.{j}.weight' for j in range(len(split_dims))]]}" + # ) + + # alpha is unchanged + + return super().load_state_dict(state_dict, strict) + + def state_dict(self, destination=None, prefix="", keep_vars=False): + if not self.split_qkv: + return super().state_dict(destination, prefix, keep_vars) + + # merge qkv + state_dict = super().state_dict(destination, prefix, keep_vars) + new_state_dict = {} + for key in list(state_dict.keys()): + if "double" in key and "qkv" in key: + split_dims = [3072] * 3 + elif "single" in key and "linear1" in key: + split_dims = [3072] * 3 + [12288] + else: + new_state_dict[key] = state_dict[key] + continue + + if key not in state_dict: + continue # already merged + + lora_name = key.split(".")[0] + + # (rank, in_dim) * 3 + down_weights = [state_dict.pop(f"{lora_name}.lora_down.{i}.weight") for i in range(len(split_dims))] + # (split dim, rank) * 3 + up_weights = [state_dict.pop(f"{lora_name}.lora_up.{i}.weight") for i in range(len(split_dims))] + + alpha = state_dict.pop(f"{lora_name}.alpha") + + # merge down weight + down_weight = torch.cat(down_weights, dim=0) # (rank, split_dim) * 3 -> (rank*3, sum of split_dim) + + # merge up weight (sum of split_dim, rank*3) + rank = up_weights[0].size(1) + up_weight = torch.zeros((sum(split_dims), down_weight.size(0)), device=down_weight.device, dtype=down_weight.dtype) + i = 0 + for j in range(len(split_dims)): + up_weight[i : i + split_dims[j], j * rank : (j + 1) * rank] = up_weights[j] + i += split_dims[j] + + new_state_dict[f"{lora_name}.lora_down.weight"] = down_weight + new_state_dict[f"{lora_name}.lora_up.weight"] = up_weight + new_state_dict[f"{lora_name}.alpha"] = alpha + + # print( + # f"merged {lora_name}: {lora_name}, {[w.shape for w in down_weights]}, {[w.shape for w in up_weights]} to {down_weight.shape}, {up_weight.shape}" + # ) + print(f"new key: {lora_name}.lora_down.weight, {lora_name}.lora_up.weight, {lora_name}.alpha") + + return new_state_dict + + def apply_to(self, text_encoders, flux, apply_text_encoder=True, apply_unet=True): + if apply_text_encoder: + logger.info(f"enable LoRA for text encoder: {len(self.text_encoder_loras)} modules") + else: + self.text_encoder_loras = [] + + if apply_unet: + logger.info(f"enable LoRA for U-Net: {len(self.unet_loras)} modules") + else: + self.unet_loras = [] + + for lora in self.text_encoder_loras + self.unet_loras: + lora.apply_to() + self.add_module(lora.lora_name, lora) + + # マージできるかどうかを返す + def is_mergeable(self): + return True + + # TODO refactor to common function with apply_to + def merge_to(self, text_encoders, flux, weights_sd, dtype=None, device=None): + apply_text_encoder = apply_unet = False + for key in weights_sd.keys(): + if key.startswith(LoRANetwork.LORA_PREFIX_TEXT_ENCODER_CLIP) or key.startswith(LoRANetwork.LORA_PREFIX_TEXT_ENCODER_T5): + apply_text_encoder = True + elif key.startswith(LoRANetwork.LORA_PREFIX_FLUX): + apply_unet = True + + if apply_text_encoder: + logger.info("enable LoRA for text encoder") + else: + self.text_encoder_loras = [] + + if apply_unet: + logger.info("enable LoRA for U-Net") + else: + self.unet_loras = [] + + for lora in self.text_encoder_loras + self.unet_loras: + sd_for_lora = {} + for key in weights_sd.keys(): + if key.startswith(lora.lora_name): + sd_for_lora[key[len(lora.lora_name) + 1 :]] = weights_sd[key] + lora.merge_to(sd_for_lora, dtype, device) + + logger.info(f"weights are merged") + + def set_loraplus_lr_ratio(self, loraplus_lr_ratio, loraplus_unet_lr_ratio, loraplus_text_encoder_lr_ratio): + self.loraplus_lr_ratio = loraplus_lr_ratio + self.loraplus_unet_lr_ratio = loraplus_unet_lr_ratio + self.loraplus_text_encoder_lr_ratio = loraplus_text_encoder_lr_ratio + + logger.info(f"LoRA+ UNet LR Ratio: {self.loraplus_unet_lr_ratio or self.loraplus_lr_ratio}") + logger.info(f"LoRA+ Text Encoder LR Ratio: {self.loraplus_text_encoder_lr_ratio or self.loraplus_lr_ratio}") + + def prepare_optimizer_params_with_multiple_te_lrs(self, text_encoder_lr, unet_lr, default_lr): + # make sure text_encoder_lr as list of two elements + # if float, use the same value for both text encoders + if text_encoder_lr is None or (isinstance(text_encoder_lr, list) and len(text_encoder_lr) == 0): + text_encoder_lr = [default_lr, default_lr] + elif isinstance(text_encoder_lr, float) or isinstance(text_encoder_lr, int): + text_encoder_lr = [float(text_encoder_lr), float(text_encoder_lr)] + elif len(text_encoder_lr) == 1: + text_encoder_lr = [text_encoder_lr[0], text_encoder_lr[0]] + + self.requires_grad_(True) + + all_params = [] + lr_descriptions = [] + + reg_lrs_list = list(self.reg_lrs.items()) if self.reg_lrs is not None else [] + + def assemble_params(loras, lr, loraplus_ratio): + param_groups = {"lora": {}, "plus": {}} + # regular expression param groups: {"reg_lr_0": {"lora": {}, "plus": {}}, ...} + reg_groups = {} + + for lora in loras: + # check if this lora matches any regex learning rate + matched_reg_lr = None + for i, (regex_str, reg_lr) in enumerate(reg_lrs_list): + try: + if re.search(regex_str, lora.lora_name): + matched_reg_lr = (i, reg_lr) + logger.info(f"Module {lora.lora_name} matched regex '{regex_str}' -> LR {reg_lr}") + break + except re.error: + # regex error should have been caught during parsing, but just in case + continue + + for name, param in lora.named_parameters(): + param_key = f"{lora.lora_name}.{name}" + is_plus = loraplus_ratio is not None and "lora_up" in name + + if matched_reg_lr is not None: + # use regex-specific learning rate + reg_idx, reg_lr = matched_reg_lr + group_key = f"reg_lr_{reg_idx}" + if group_key not in reg_groups: + reg_groups[group_key] = {"lora": {}, "plus": {}, "lr": reg_lr} + + if is_plus: + reg_groups[group_key]["plus"][param_key] = param + else: + reg_groups[group_key]["lora"][param_key] = param + else: + # use default learning rate + if is_plus: + param_groups["plus"][param_key] = param + else: + param_groups["lora"][param_key] = param + + params = [] + descriptions = [] + + # process regex-specific groups first (higher priority) + for group_key in sorted(reg_groups.keys()): + group = reg_groups[group_key] + reg_lr = group["lr"] + + for param_type in ["lora", "plus"]: + if len(group[param_type]) == 0: + continue + + param_data = {"params": group[param_type].values()} + + if param_type == "plus" and loraplus_ratio is not None: + param_data["lr"] = reg_lr * loraplus_ratio + else: + param_data["lr"] = reg_lr + + if param_data.get("lr", None) == 0 or param_data.get("lr", None) is None: + continue + + params.append(param_data) + desc = f"reg_lr_{group_key.split('_')[-1]}" + if param_type == "plus": + desc += " plus" + descriptions.append(desc) + + # process default groups + for key in param_groups.keys(): + param_data = {"params": param_groups[key].values()} + + if len(param_data["params"]) == 0: + continue + + if lr is not None: + if key == "plus": + param_data["lr"] = lr * loraplus_ratio + else: + param_data["lr"] = lr + + if param_data.get("lr", None) == 0 or param_data.get("lr", None) is None: + logger.info("NO LR skipping!") + continue + + params.append(param_data) + descriptions.append("plus" if key == "plus" else "") + + return params, descriptions + + if self.text_encoder_loras: + loraplus_lr_ratio = self.loraplus_text_encoder_lr_ratio or self.loraplus_lr_ratio + + # split text encoder loras for te1 and te3 + te1_loras = [lora for lora in self.text_encoder_loras if lora.lora_name.startswith(self.LORA_PREFIX_TEXT_ENCODER_CLIP)] + te3_loras = [lora for lora in self.text_encoder_loras if lora.lora_name.startswith(self.LORA_PREFIX_TEXT_ENCODER_T5)] + if len(te1_loras) > 0: + logger.info(f"Text Encoder 1 (CLIP-L): {len(te1_loras)} modules, LR {text_encoder_lr[0]}") + params, descriptions = assemble_params(te1_loras, text_encoder_lr[0], loraplus_lr_ratio) + all_params.extend(params) + lr_descriptions.extend(["textencoder 1 " + (" " + d if d else "") for d in descriptions]) + if len(te3_loras) > 0: + logger.info(f"Text Encoder 2 (T5XXL): {len(te3_loras)} modules, LR {text_encoder_lr[1]}") + params, descriptions = assemble_params(te3_loras, text_encoder_lr[1], loraplus_lr_ratio) + all_params.extend(params) + lr_descriptions.extend(["textencoder 2 " + (" " + d if d else "") for d in descriptions]) + + if self.unet_loras: + params, descriptions = assemble_params( + self.unet_loras, + unet_lr if unet_lr is not None else default_lr, + self.loraplus_unet_lr_ratio or self.loraplus_lr_ratio, + ) + all_params.extend(params) + lr_descriptions.extend(["unet" + (" " + d if d else "") for d in descriptions]) + + return all_params, lr_descriptions + + def enable_gradient_checkpointing(self): + # not supported + pass + + def prepare_grad_etc(self, text_encoder, unet): + self.requires_grad_(True) + + def on_epoch_start(self, text_encoder, unet): + self.train() + + def get_trainable_params(self): + return self.parameters() + + def save_weights(self, file, dtype, metadata): + if metadata is not None and len(metadata) == 0: + metadata = None + + state_dict = self.state_dict() + + if dtype is not None: + for key in list(state_dict.keys()): + v = state_dict[key] + v = v.detach().clone().to("cpu").to(dtype) + state_dict[key] = v + + if os.path.splitext(file)[1] == ".safetensors": + from safetensors.torch import save_file + from library import train_util + + # Precalculate model hashes to save time on indexing + if metadata is None: + metadata = {} + model_hash, legacy_hash = train_util.precalculate_safetensors_hashes(state_dict, metadata) + metadata["sshs_model_hash"] = model_hash + metadata["sshs_legacy_hash"] = legacy_hash + + save_file(state_dict, file, metadata) + else: + torch.save(state_dict, file) + + def backup_weights(self): + # 重みのバックアップを行う + loras: List[LoRAInfModule] = self.text_encoder_loras + self.unet_loras + for lora in loras: + org_module = lora.org_module_ref[0] + if not hasattr(org_module, "_lora_org_weight"): + sd = org_module.state_dict() + org_module._lora_org_weight = sd["weight"].detach().clone() + org_module._lora_restored = True + + def restore_weights(self): + # 重みのリストアを行う + loras: List[LoRAInfModule] = self.text_encoder_loras + self.unet_loras + for lora in loras: + org_module = lora.org_module_ref[0] + if not org_module._lora_restored: + sd = org_module.state_dict() + sd["weight"] = org_module._lora_org_weight + org_module.load_state_dict(sd) + org_module._lora_restored = True + + def pre_calculation(self): + # 事前計算を行う + loras: List[LoRAInfModule] = self.text_encoder_loras + self.unet_loras + for lora in loras: + org_module = lora.org_module_ref[0] + sd = org_module.state_dict() + + org_weight = sd["weight"] + lora_weight = lora.get_weight().to(org_weight.device, dtype=org_weight.dtype) + sd["weight"] = org_weight + lora_weight + assert sd["weight"].shape == org_weight.shape + org_module.load_state_dict(sd) + + org_module._lora_restored = False + lora.enabled = False + + def apply_max_norm_regularization(self, max_norm_value, device): + downkeys = [] + upkeys = [] + alphakeys = [] + norms = [] + keys_scaled = 0 + + state_dict = self.state_dict() + for key in state_dict.keys(): + if "lora_down" in key and "weight" in key: + downkeys.append(key) + upkeys.append(key.replace("lora_down", "lora_up")) + alphakeys.append(key.replace("lora_down.weight", "alpha")) + + for i in range(len(downkeys)): + down = state_dict[downkeys[i]].to(device) + up = state_dict[upkeys[i]].to(device) + alpha = state_dict[alphakeys[i]].to(device) + dim = down.shape[0] + scale = alpha / dim + + if up.shape[2:] == (1, 1) and down.shape[2:] == (1, 1): + updown = (up.squeeze(2).squeeze(2) @ down.squeeze(2).squeeze(2)).unsqueeze(2).unsqueeze(3) + elif up.shape[2:] == (3, 3) or down.shape[2:] == (3, 3): + updown = torch.nn.functional.conv2d(down.permute(1, 0, 2, 3), up).permute(1, 0, 2, 3) + else: + updown = up @ down + + updown *= scale + + norm = updown.norm().clamp(min=max_norm_value / 2) + desired = torch.clamp(norm, max=max_norm_value) + ratio = desired.cpu() / norm.cpu() + sqrt_ratio = ratio**0.5 + if ratio != 1: + keys_scaled += 1 + state_dict[upkeys[i]] *= sqrt_ratio + state_dict[downkeys[i]] *= sqrt_ratio + scalednorm = updown.norm() * ratio + norms.append(scalednorm.item()) + + return keys_scaled, sum(norms) / len(norms), max(norms) From 7f983c558de540c26b888de66da8a0acfbdc45b6 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Thu, 11 Sep 2025 22:15:22 +0900 Subject: [PATCH 676/748] feat: block swap for inference and initial impl for HunyuanImage LoRA (not working) --- _typos.toml | 9 +- hunyuan_image_minimal_inference.py | 45 +- hunyuan_image_train_network.py | 640 ++++++++++++++ library/custom_offloading_utils.py | 155 +++- library/device_utils.py | 10 + library/hunyuan_image_models.py | 82 ++ library/hunyuan_image_modules.py | 56 +- library/hunyuan_image_text_encoder.py | 145 ++-- library/hunyuan_image_utils.py | 40 +- library/lora_utils.py | 2 +- library/sai_model_spec.py | 113 ++- library/strategy_hunyuan_image.py | 187 ++++ library/train_util.py | 24 +- networks/lora_flux.py | 18 +- networks/lora_hunyuan_image.py | 1137 +------------------------ train_network.py | 5 +- 16 files changed, 1364 insertions(+), 1304 deletions(-) create mode 100644 hunyuan_image_train_network.py create mode 100644 library/strategy_hunyuan_image.py diff --git a/_typos.toml b/_typos.toml index bbf7728f4..75f0bf055 100644 --- a/_typos.toml +++ b/_typos.toml @@ -29,7 +29,10 @@ koo="koo" yos="yos" wn="wn" hime="hime" +OT="OT" - -[files] -extend-exclude = ["_typos.toml", "venv"] +# [files] +# # Extend the default list of files to check +# extend-exclude = [ +# "library/hunyuan_image_text_encoder.py", +# ] diff --git a/hunyuan_image_minimal_inference.py b/hunyuan_image_minimal_inference.py index 8a956f491..ba8ca78e6 100644 --- a/hunyuan_image_minimal_inference.py +++ b/hunyuan_image_minimal_inference.py @@ -7,8 +7,8 @@ import re import time import copy -from types import ModuleType -from typing import Tuple, Optional, List, Any, Dict +from types import ModuleType, SimpleNamespace +from typing import Tuple, Optional, List, Any, Dict, Union import numpy as np import torch @@ -21,7 +21,7 @@ from library import hunyuan_image_models, hunyuan_image_text_encoder, hunyuan_image_utils from library import hunyuan_image_vae from library.hunyuan_image_vae import HunyuanVAE2D -from library.device_utils import clean_memory_on_device +from library.device_utils import clean_memory_on_device, synchronize_device from networks import lora_hunyuan_image @@ -29,7 +29,6 @@ if lycoris_available: from lycoris.kohya import create_network_from_weights -from library.custom_offloading_utils import synchronize_device from library.utils import mem_eff_save_file, setup_logging setup_logging() @@ -513,10 +512,11 @@ def move_models_to_device_if_needed(): else: move_models_to_device_if_needed() - embed, mask = hunyuan_image_text_encoder.get_qwen_prompt_embeds(tokenizer_vlm, text_encoder_vlm, prompt) - ocr_mask, embed_byt5, mask_byt5 = hunyuan_image_text_encoder.get_glyph_prompt_embeds( - tokenizer_byt5, text_encoder_byt5, prompt - ) + with torch.no_grad(): + embed, mask = hunyuan_image_text_encoder.get_qwen_prompt_embeds(tokenizer_vlm, text_encoder_vlm, prompt) + ocr_mask, embed_byt5, mask_byt5 = hunyuan_image_text_encoder.get_glyph_prompt_embeds( + tokenizer_byt5, text_encoder_byt5, prompt + ) embed = embed.cpu() mask = mask.cpu() embed_byt5 = embed_byt5.cpu() @@ -531,12 +531,13 @@ def move_models_to_device_if_needed(): else: move_models_to_device_if_needed() - negative_embed, negative_mask = hunyuan_image_text_encoder.get_qwen_prompt_embeds( - tokenizer_vlm, text_encoder_vlm, negative_prompt - ) - negative_ocr_mask, negative_embed_byt5, negative_mask_byt5 = hunyuan_image_text_encoder.get_glyph_prompt_embeds( - tokenizer_byt5, text_encoder_byt5, negative_prompt - ) + with torch.no_grad(): + negative_embed, negative_mask = hunyuan_image_text_encoder.get_qwen_prompt_embeds( + tokenizer_vlm, text_encoder_vlm, negative_prompt + ) + negative_ocr_mask, negative_embed_byt5, negative_mask_byt5 = hunyuan_image_text_encoder.get_glyph_prompt_embeds( + tokenizer_byt5, text_encoder_byt5, negative_prompt + ) negative_embed = negative_embed.cpu() negative_mask = negative_mask.cpu() negative_embed_byt5 = negative_embed_byt5.cpu() @@ -617,6 +618,18 @@ def generate( # model.move_to_device_except_swap_blocks(device) # Handles block swap correctly # model.prepare_block_swap_before_forward() + return generate_body(args, model, context, context_null, device, seed) + + +def generate_body( + args: Union[argparse.Namespace, SimpleNamespace], + model: hunyuan_image_models.HYImageDiffusionTransformer, + context: Dict[str, Any], + context_null: Optional[Dict[str, Any]], + device: torch.device, + seed: int, +) -> torch.Tensor: + # set random generator seed_g = torch.Generator(device="cpu") seed_g.manual_seed(seed) @@ -633,6 +646,10 @@ def generate( embed_byt5 = context["embed_byt5"].to(device, dtype=torch.bfloat16) mask_byt5 = context["mask_byt5"].to(device, dtype=torch.bfloat16) ocr_mask = context["ocr_mask"] # list of bool + + if context_null is None: + context_null = context # dummy for unconditional + negative_embed = context_null["embed"].to(device, dtype=torch.bfloat16) negative_mask = context_null["mask"].to(device, dtype=torch.bfloat16) negative_embed_byt5 = context_null["embed_byt5"].to(device, dtype=torch.bfloat16) diff --git a/hunyuan_image_train_network.py b/hunyuan_image_train_network.py new file mode 100644 index 000000000..b1281fa01 --- /dev/null +++ b/hunyuan_image_train_network.py @@ -0,0 +1,640 @@ +import argparse +import copy +from typing import Any, Optional, Union +import argparse +import os +import time +from types import SimpleNamespace + +import numpy as np +import torch +import torch.nn as nn +from PIL import Image +from accelerate import Accelerator, PartialState + +from library import hunyuan_image_models, hunyuan_image_vae, strategy_base, train_util +from library.device_utils import clean_memory_on_device, init_ipex + +init_ipex() + +import train_network +from library import ( + flux_train_utils, + hunyuan_image_models, + hunyuan_image_text_encoder, + hunyuan_image_utils, + hunyuan_image_vae, + sai_model_spec, + sd3_train_utils, + strategy_base, + strategy_hunyuan_image, + train_util, +) +from library.utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + + +# region sampling + + +# TODO commonize with flux_utils +def sample_images( + accelerator: Accelerator, + args: argparse.Namespace, + epoch, + steps, + dit, + vae, + text_encoders, + sample_prompts_te_outputs, + prompt_replacement=None, +): + if steps == 0: + if not args.sample_at_first: + return + else: + if args.sample_every_n_steps is None and args.sample_every_n_epochs is None: + return + if args.sample_every_n_epochs is not None: + # sample_every_n_steps は無視する + if epoch is None or epoch % args.sample_every_n_epochs != 0: + return + else: + if steps % args.sample_every_n_steps != 0 or epoch is not None: # steps is not divisible or end of epoch + return + + logger.info("") + logger.info(f"generating sample images at step / サンプル画像生成 ステップ: {steps}") + if not os.path.isfile(args.sample_prompts) and sample_prompts_te_outputs is None: + logger.error(f"No prompt file / プロンプトファイルがありません: {args.sample_prompts}") + return + + distributed_state = PartialState() # for multi gpu distributed inference. this is a singleton, so it's safe to use it here + + # unwrap unet and text_encoder(s) + dit = accelerator.unwrap_model(dit) + if text_encoders is not None: + text_encoders = [(accelerator.unwrap_model(te) if te is not None else None) for te in text_encoders] + if controlnet is not None: + controlnet = accelerator.unwrap_model(controlnet) + # print([(te.parameters().__next__().device if te is not None else None) for te in text_encoders]) + + prompts = train_util.load_prompts(args.sample_prompts) + + save_dir = args.output_dir + "/sample" + os.makedirs(save_dir, exist_ok=True) + + # save random state to restore later + rng_state = torch.get_rng_state() + cuda_rng_state = None + try: + cuda_rng_state = torch.cuda.get_rng_state() if torch.cuda.is_available() else None + except Exception: + pass + + if distributed_state.num_processes <= 1: + # If only one device is available, just use the original prompt list. We don't need to care about the distribution of prompts. + with torch.no_grad(), accelerator.autocast(): + for prompt_dict in prompts: + sample_image_inference( + accelerator, + args, + dit, + text_encoders, + vae, + save_dir, + prompt_dict, + epoch, + steps, + sample_prompts_te_outputs, + prompt_replacement, + ) + else: + # Creating list with N elements, where each element is a list of prompt_dicts, and N is the number of processes available (number of devices available) + # prompt_dicts are assigned to lists based on order of processes, to attempt to time the image creation time to match enum order. Probably only works when steps and sampler are identical. + per_process_prompts = [] # list of lists + for i in range(distributed_state.num_processes): + per_process_prompts.append(prompts[i :: distributed_state.num_processes]) + + with torch.no_grad(): + with distributed_state.split_between_processes(per_process_prompts) as prompt_dict_lists: + for prompt_dict in prompt_dict_lists[0]: + sample_image_inference( + accelerator, + args, + dit, + text_encoders, + vae, + save_dir, + prompt_dict, + epoch, + steps, + sample_prompts_te_outputs, + prompt_replacement, + ) + + torch.set_rng_state(rng_state) + if cuda_rng_state is not None: + torch.cuda.set_rng_state(cuda_rng_state) + + clean_memory_on_device(accelerator.device) + + +def sample_image_inference( + accelerator: Accelerator, + args: argparse.Namespace, + dit: hunyuan_image_models.HYImageDiffusionTransformer, + text_encoders: Optional[list[nn.Module]], + vae: hunyuan_image_vae.HunyuanVAE2D, + save_dir, + prompt_dict, + epoch, + steps, + sample_prompts_te_outputs, + prompt_replacement, +): + assert isinstance(prompt_dict, dict) + negative_prompt = prompt_dict.get("negative_prompt") + sample_steps = prompt_dict.get("sample_steps", 20) + width = prompt_dict.get("width", 512) + height = prompt_dict.get("height", 512) + cfg_scale = prompt_dict.get("scale", 1.0) + seed = prompt_dict.get("seed") + prompt: str = prompt_dict.get("prompt", "") + flow_shift: float = prompt_dict.get("flow_shift", 4.0) + # sampler_name: str = prompt_dict.get("sample_sampler", args.sample_sampler) + + if prompt_replacement is not None: + prompt = prompt.replace(prompt_replacement[0], prompt_replacement[1]) + if negative_prompt is not None: + negative_prompt = negative_prompt.replace(prompt_replacement[0], prompt_replacement[1]) + + if seed is not None: + torch.manual_seed(seed) + torch.cuda.manual_seed(seed) + else: + # True random sample image generation + torch.seed() + torch.cuda.seed() + + if negative_prompt is None: + negative_prompt = "" + height = max(64, height - height % 16) # round to divisible by 16 + width = max(64, width - width % 16) # round to divisible by 16 + logger.info(f"prompt: {prompt}") + if cfg_scale != 1.0: + logger.info(f"negative_prompt: {negative_prompt}") + elif negative_prompt != "": + logger.info(f"negative prompt is ignored because scale is 1.0") + logger.info(f"height: {height}") + logger.info(f"width: {width}") + logger.info(f"sample_steps: {sample_steps}") + if cfg_scale != 1.0: + logger.info(f"CFG scale: {cfg_scale}") + logger.info(f"flow_shift: {flow_shift}") + # logger.info(f"sample_sampler: {sampler_name}") + if seed is not None: + logger.info(f"seed: {seed}") + + # encode prompts + tokenize_strategy = strategy_base.TokenizeStrategy.get_strategy() + encoding_strategy = strategy_base.TextEncodingStrategy.get_strategy() + + def encode_prompt(prpt): + text_encoder_conds = [] + if sample_prompts_te_outputs and prpt in sample_prompts_te_outputs: + text_encoder_conds = sample_prompts_te_outputs[prpt] + print(f"Using cached text encoder outputs for prompt: {prpt}") + if text_encoders is not None: + print(f"Encoding prompt: {prpt}") + tokens_and_masks = tokenize_strategy.tokenize(prpt) + # strategy has apply_t5_attn_mask option + encoded_text_encoder_conds = encoding_strategy.encode_tokens(tokenize_strategy, text_encoders, tokens_and_masks) + + # if text_encoder_conds is not cached, use encoded_text_encoder_conds + if len(text_encoder_conds) == 0: + text_encoder_conds = encoded_text_encoder_conds + else: + # if encoded_text_encoder_conds is not None, update cached text_encoder_conds + for i in range(len(encoded_text_encoder_conds)): + if encoded_text_encoder_conds[i] is not None: + text_encoder_conds[i] = encoded_text_encoder_conds[i] + return text_encoder_conds + + vl_embed, vl_mask, byt5_embed, byt5_mask, ocr_mask = encode_prompt(prompt) + arg_c = { + "embed": vl_embed, + "mask": vl_mask, + "embed_byt5": byt5_embed, + "mask_byt5": byt5_mask, + "ocr_mask": ocr_mask, + "prompt": prompt, + } + + # encode negative prompts + if cfg_scale != 1.0: + neg_vl_embed, neg_vl_mask, neg_byt5_embed, neg_byt5_mask, neg_ocr_mask = encode_prompt(negative_prompt) + arg_c_null = { + "embed": neg_vl_embed, + "mask": neg_vl_mask, + "embed_byt5": neg_byt5_embed, + "mask_byt5": neg_byt5_mask, + "ocr_mask": neg_ocr_mask, + "prompt": negative_prompt, + } + else: + arg_c_null = None + + gen_args = SimpleNamespace( + image_size=(height, width), infer_steps=sample_steps, flow_shift=flow_shift, guidance_scale=cfg_scale + ) + + from hunyuan_image_minimal_inference import generate_body # import here to avoid circular import + + latents = generate_body(gen_args, dit, arg_c, arg_c_null, accelerator.device, seed) + + # latent to image + clean_memory_on_device(accelerator.device) + org_vae_device = vae.device # will be on cpu + vae.to(accelerator.device) # distributed_state.device is same as accelerator.device + with torch.autocast(accelerator.device.type, vae.dtype, enabled=True), torch.no_grad(): + x = x / hunyuan_image_vae.VAE_SCALE_FACTOR + x = vae.decode(x) + vae.to(org_vae_device) + clean_memory_on_device(accelerator.device) + + x = x.clamp(-1, 1) + x = x.permute(0, 2, 3, 1) + image = Image.fromarray((127.5 * (x + 1.0)).float().cpu().numpy().astype(np.uint8)[0]) + + # adding accelerator.wait_for_everyone() here should sync up and ensure that sample images are saved in the same order as the original prompt list + # but adding 'enum' to the filename should be enough + + ts_str = time.strftime("%Y%m%d%H%M%S", time.localtime()) + num_suffix = f"e{epoch:06d}" if epoch is not None else f"{steps:06d}" + seed_suffix = "" if seed is None else f"_{seed}" + i: int = prompt_dict["enum"] + img_filename = f"{'' if args.output_name is None else args.output_name + '_'}{num_suffix}_{i:02d}_{ts_str}{seed_suffix}.png" + image.save(os.path.join(save_dir, img_filename)) + + # send images to wandb if enabled + if "wandb" in [tracker.name for tracker in accelerator.trackers]: + wandb_tracker = accelerator.get_tracker("wandb") + + import wandb + + # not to commit images to avoid inconsistency between training and logging steps + wandb_tracker.log({f"sample_{i}": wandb.Image(image, caption=prompt)}, commit=False) # positive prompt as a caption + + +# endregion + + +class HunyuanImageNetworkTrainer(train_network.NetworkTrainer): + def __init__(self): + super().__init__() + self.sample_prompts_te_outputs = None + self.is_swapping_blocks: bool = False + + def assert_extra_args( + self, + args, + train_dataset_group: Union[train_util.DatasetGroup, train_util.MinimalDataset], + val_dataset_group: Optional[train_util.DatasetGroup], + ): + super().assert_extra_args(args, train_dataset_group, val_dataset_group) + # sdxl_train_util.verify_sdxl_training_args(args) + + if args.mixed_precision == "fp16": + logger.warning( + "mixed_precision bf16 is recommended for HunyuanImage-2.1 / HunyuanImage-2.1ではmixed_precision bf16が推奨されます" + ) + + if (args.fp8_base or args.fp8_base_unet) and not args.fp8_scaled: + logger.warning( + "fp8_base and fp8_base_unet are not supported. Use fp8_scaled instead / fp8_baseとfp8_base_unetはサポートされていません。代わりにfp8_scaledを使用してください" + ) + if args.fp8_scaled and (args.fp8_base or args.fp8_base_unet): + logger.info( + "fp8_scaled is used, so fp8_base and fp8_base_unet are ignored / fp8_scaledが使われているので、fp8_baseとfp8_base_unetは無視されます" + ) + + if args.cache_text_encoder_outputs_to_disk and not args.cache_text_encoder_outputs: + logger.warning( + "cache_text_encoder_outputs_to_disk is enabled, so cache_text_encoder_outputs is also enabled / cache_text_encoder_outputs_to_diskが有効になっているため、cache_text_encoder_outputsも有効になります" + ) + args.cache_text_encoder_outputs = True + + if args.cache_text_encoder_outputs: + assert ( + train_dataset_group.is_text_encoder_output_cacheable() + ), "when caching Text Encoder output, either caption_dropout_rate, shuffle_caption, token_warmup_step or caption_tag_dropout_rate cannot be used / Text Encoderの出力をキャッシュするときはcaption_dropout_rate, shuffle_caption, token_warmup_step, caption_tag_dropout_rateは使えません" + + train_dataset_group.verify_bucket_reso_steps(32) + if val_dataset_group is not None: + val_dataset_group.verify_bucket_reso_steps(32) + + def load_target_model(self, args, weight_dtype, accelerator): + self.is_swapping_blocks = args.blocks_to_swap is not None and args.blocks_to_swap > 0 + + # currently offload to cpu for some models + loading_dtype = None if args.fp8_scaled else weight_dtype + loading_device = "cpu" if self.is_swapping_blocks else accelerator.device + split_attn = True + + attn_mode = "torch" + + model = hunyuan_image_models.load_hunyuan_image_model( + accelerator.device, + args.pretrained_model_name_or_path, + attn_mode, + split_attn, + loading_device, + loading_dtype, + args.fp8_scaled, + ) + + if self.is_swapping_blocks: + # Swap blocks between CPU and GPU to reduce memory usage, in forward and backward passes. + logger.info(f"enable block swap: blocks_to_swap={args.blocks_to_swap}") + model.enable_block_swap(args.blocks_to_swap, accelerator.device) + + vl_dtype = torch.bfloat16 + vl_device = "cpu" + _, text_encoder_vlm = hunyuan_image_text_encoder.load_qwen2_5_vl( + args.text_encoder, dtype=vl_dtype, device=vl_device, disable_mmap=args.disable_mmap_load_safetensors + ) + _, text_encoder_byt5 = hunyuan_image_text_encoder.load_byt5( + args.byt5, dtype=torch.float16, device=vl_device, disable_mmap=args.disable_mmap_load_safetensors + ) + + vae = hunyuan_image_vae.load_vae(args.vae, "cpu", disable_mmap=args.disable_mmap_load_safetensors) + + model_version = hunyuan_image_utils.MODEL_VERSION_2_1 + return model_version, [text_encoder_vlm, text_encoder_byt5], vae, model + + def get_tokenize_strategy(self, args): + return strategy_hunyuan_image.HunyuanImageTokenizeStrategy(args.tokenizer_cache_dir) + + def get_tokenizers(self, tokenize_strategy: strategy_hunyuan_image.HunyuanImageTokenizeStrategy): + return [tokenize_strategy.vlm_tokenizer, tokenize_strategy.byt5_tokenizer] + + def get_latents_caching_strategy(self, args): + return strategy_hunyuan_image.HunyuanImageLatentsCachingStrategy(args.cache_latents_to_disk, args.vae_batch_size, False) + + def get_text_encoding_strategy(self, args): + return strategy_hunyuan_image.HunyuanImageTextEncodingStrategy() + + def post_process_network(self, args, accelerator, network, text_encoders, unet): + pass + + def get_models_for_text_encoding(self, args, accelerator, text_encoders): + if args.cache_text_encoder_outputs: + return None # no text encoders are needed for encoding because both are cached + else: + return text_encoders + + def get_text_encoders_train_flags(self, args, text_encoders): + # HunyuanImage-2.1 does not support training VLM or byT5 + return [False, False] + + def get_text_encoder_outputs_caching_strategy(self, args): + if args.cache_text_encoder_outputs: + # if the text encoders is trained, we need tokenization, so is_partial is True + return strategy_hunyuan_image.HunyuanImageTextEncoderOutputsCachingStrategy( + args.cache_text_encoder_outputs_to_disk, args.text_encoder_batch_size, args.skip_cache_check, False + ) + else: + return None + + def cache_text_encoder_outputs_if_needed( + self, args, accelerator: Accelerator, unet, vae, text_encoders, dataset: train_util.DatasetGroup, weight_dtype + ): + if args.cache_text_encoder_outputs: + if not args.lowram: + # メモリ消費を減らす + logger.info("move vae and unet to cpu to save memory") + org_vae_device = vae.device + org_unet_device = unet.device + vae.to("cpu") + unet.to("cpu") + clean_memory_on_device(accelerator.device) + + logger.info("move text encoders to gpu") + text_encoders[0].to(accelerator.device) + text_encoders[1].to(accelerator.device) + + # VLM (bf16) and byT5 (fp16) are used for encoding, so we cannot use autocast here + dataset.new_cache_text_encoder_outputs(text_encoders, accelerator) + + # cache sample prompts + if args.sample_prompts is not None: + logger.info(f"cache Text Encoder outputs for sample prompt: {args.sample_prompts}") + + tokenize_strategy: strategy_hunyuan_image.HunyuanImageTokenizeStrategy = ( + strategy_base.TokenizeStrategy.get_strategy() + ) + text_encoding_strategy: strategy_hunyuan_image.HunyuanImageTextEncodingStrategy = ( + strategy_base.TextEncodingStrategy.get_strategy() + ) + + prompts = train_util.load_prompts(args.sample_prompts) + sample_prompts_te_outputs = {} # key: prompt, value: text encoder outputs + with accelerator.autocast(), torch.no_grad(): + for prompt_dict in prompts: + for p in [prompt_dict.get("prompt", ""), prompt_dict.get("negative_prompt", "")]: + if p not in sample_prompts_te_outputs: + logger.info(f"cache Text Encoder outputs for prompt: {p}") + tokens_and_masks = tokenize_strategy.tokenize(p) + sample_prompts_te_outputs[p] = text_encoding_strategy.encode_tokens( + tokenize_strategy, text_encoders, tokens_and_masks + ) + self.sample_prompts_te_outputs = sample_prompts_te_outputs + + accelerator.wait_for_everyone() + + # move back to cpu + logger.info("move VLM back to cpu") + text_encoders[0].to("cpu") + logger.info("move byT5 back to cpu") + text_encoders[1].to("cpu") + clean_memory_on_device(accelerator.device) + + if not args.lowram: + logger.info("move vae and unet back to original device") + vae.to(org_vae_device) + unet.to(org_unet_device) + else: + # Text Encoderから毎回出力を取得するので、GPUに乗せておく + text_encoders[0].to(accelerator.device) + text_encoders[1].to(accelerator.device) + + def sample_images(self, accelerator, args, epoch, global_step, device, ae, tokenizer, text_encoder, flux): + text_encoders = text_encoder # for compatibility + text_encoders = self.get_models_for_text_encoding(args, accelerator, text_encoders) + + flux_train_utils.sample_images( + accelerator, args, epoch, global_step, flux, ae, text_encoders, self.sample_prompts_te_outputs + ) + + def get_noise_scheduler(self, args: argparse.Namespace, device: torch.device) -> Any: + noise_scheduler = sd3_train_utils.FlowMatchEulerDiscreteScheduler(num_train_timesteps=1000, shift=args.discrete_flow_shift) + self.noise_scheduler_copy = copy.deepcopy(noise_scheduler) + return noise_scheduler + + def encode_images_to_latents(self, args, vae, images): + return vae.encode(images) + + def shift_scale_latents(self, args, latents): + # for encoding, we need to scale the latents + return latents * hunyuan_image_vae.VAE_SCALE_FACTOR + + def get_noise_pred_and_target( + self, + args, + accelerator, + noise_scheduler, + latents, + batch, + text_encoder_conds, + unet: hunyuan_image_models.HYImageDiffusionTransformer, + network, + weight_dtype, + train_unet, + is_train=True, + ): + # Sample noise that we'll add to the latents + noise = torch.randn_like(latents) + bsz = latents.shape[0] + + # get noisy model input and timesteps + noisy_model_input, timesteps, sigmas = flux_train_utils.get_noisy_model_input_and_timesteps( + args, noise_scheduler, latents, noise, accelerator.device, weight_dtype + ) + + if args.gradient_checkpointing: + noisy_model_input.requires_grad_(True) + for t in text_encoder_conds: + if t is not None and t.dtype.is_floating_point: + t.requires_grad_(True) + + # Predict the noise residual + # ocr_mask is for inference only, so it is not used here + vlm_embed, vlm_mask, byt5_embed, byt5_mask, ocr_mask = text_encoder_conds + + with torch.set_grad_enabled(is_train), accelerator.autocast(): + model_pred = unet(noisy_model_input, timesteps / 1000, vlm_embed, vlm_mask, byt5_embed, byt5_mask) + + # model prediction and weighting is omitted for HunyuanImage-2.1 currently + + # flow matching loss + target = noise - latents + + # differential output preservation is not used for HunyuanImage-2.1 currently + + return model_pred, target, timesteps, None + + def post_process_loss(self, loss, args, timesteps, noise_scheduler): + return loss + + def get_sai_model_spec(self, args): + # if self.model_type != "chroma": + # model_description = "schnell" if self.is_schnell else "dev" + # else: + # model_description = "chroma" + # return train_util.get_sai_model_spec(None, args, False, True, False, flux=model_description) + train_util.get_sai_model_spec_dataclass(None, args, False, True, False, hunyuan_image="2.1") + + def update_metadata(self, metadata, args): + metadata["ss_model_type"] = args.model_type + metadata["ss_logit_mean"] = args.logit_mean + metadata["ss_logit_std"] = args.logit_std + metadata["ss_mode_scale"] = args.mode_scale + metadata["ss_timestep_sampling"] = args.timestep_sampling + metadata["ss_sigmoid_scale"] = args.sigmoid_scale + metadata["ss_model_prediction_type"] = args.model_prediction_type + metadata["ss_discrete_flow_shift"] = args.discrete_flow_shift + + def is_text_encoder_not_needed_for_training(self, args): + return args.cache_text_encoder_outputs and not self.is_train_text_encoder(args) + + def prepare_text_encoder_grad_ckpt_workaround(self, index, text_encoder): + # do not support text encoder training for HunyuanImage-2.1 + pass + + def cast_text_encoder(self): + return False # VLM is bf16, byT5 is fp16, so do not cast to other dtype + + def prepare_text_encoder_fp8(self, index, text_encoder, te_weight_dtype, weight_dtype): + # fp8 text encoder for HunyuanImage-2.1 is not supported currently + pass + + def on_validation_step_end(self, args, accelerator, network, text_encoders, unet, batch, weight_dtype): + if self.is_swapping_blocks: + # prepare for next forward: because backward pass is not called, we need to prepare it here + accelerator.unwrap_model(unet).prepare_block_swap_before_forward() + + def prepare_unet_with_accelerator( + self, args: argparse.Namespace, accelerator: Accelerator, unet: torch.nn.Module + ) -> torch.nn.Module: + if not self.is_swapping_blocks: + return super().prepare_unet_with_accelerator(args, accelerator, unet) + + # if we doesn't swap blocks, we can move the model to device + model: hunyuan_image_models.HYImageDiffusionTransformer = unet + model = accelerator.prepare(model, device_placement=[not self.is_swapping_blocks]) + accelerator.unwrap_model(model).move_to_device_except_swap_blocks(accelerator.device) # reduce peak memory usage + accelerator.unwrap_model(model).prepare_block_swap_before_forward() + + return model + + +def setup_parser() -> argparse.ArgumentParser: + parser = train_network.setup_parser() + train_util.add_dit_training_arguments(parser) + + parser.add_argument( + "--timestep_sampling", + choices=["sigma", "uniform", "sigmoid", "shift", "flux_shift"], + default="sigma", + help="Method to sample timesteps: sigma-based, uniform random, sigmoid of random normal, shift of sigmoid and FLUX.1 shifting." + " / タイムステップをサンプリングする方法:sigma、random uniform、random normalのsigmoid、sigmoidのシフト、FLUX.1のシフト。", + ) + parser.add_argument( + "--sigmoid_scale", + type=float, + default=1.0, + help='Scale factor for sigmoid timestep sampling (only used when timestep-sampling is "sigmoid"). / sigmoidタイムステップサンプリングの倍率(timestep-samplingが"sigmoid"の場合のみ有効)。', + ) + parser.add_argument( + "--model_prediction_type", + choices=["raw", "additive", "sigma_scaled"], + default="sigma_scaled", + help="How to interpret and process the model prediction: " + "raw (use as is), additive (add to noisy input), sigma_scaled (apply sigma scaling)." + " / モデル予測の解釈と処理方法:" + "raw(そのまま使用)、additive(ノイズ入力に加算)、sigma_scaled(シグマスケーリングを適用)。", + ) + parser.add_argument( + "--discrete_flow_shift", + type=float, + default=3.0, + help="Discrete flow shift for the Euler Discrete Scheduler, default is 3.0. / Euler Discrete Schedulerの離散フローシフト、デフォルトは3.0。", + ) + + return parser + + +if __name__ == "__main__": + parser = setup_parser() + + args = parser.parse_args() + train_util.verify_command_line_training_args(args) + args = train_util.read_config_from_file(args, parser) + + trainer = HunyuanImageNetworkTrainer() + trainer.train(args) diff --git a/library/custom_offloading_utils.py b/library/custom_offloading_utils.py index 55ff08b64..4fbea542a 100644 --- a/library/custom_offloading_utils.py +++ b/library/custom_offloading_utils.py @@ -1,19 +1,12 @@ from concurrent.futures import ThreadPoolExecutor import time -from typing import Optional, Union, Callable, Tuple +from typing import Any, Optional, Union, Callable, Tuple import torch import torch.nn as nn -from library.device_utils import clean_memory_on_device +from library.device_utils import clean_memory_on_device, synchronize_device - -def synchronize_device(device: torch.device): - if device.type == "cuda": - torch.cuda.synchronize() - elif device.type == "xpu": - torch.xpu.synchronize() - elif device.type == "mps": - torch.mps.synchronize() +# region block swap utils def swap_weight_devices_cuda(device: torch.device, layer_to_cpu: nn.Module, layer_to_cuda: nn.Module): @@ -71,7 +64,6 @@ def swap_weight_devices_no_cuda(device: torch.device, layer_to_cpu: nn.Module, l if hasattr(module_to_cpu, "weight") and module_to_cpu.weight is not None: weight_swap_jobs.append((module_to_cpu, module_to_cuda, module_to_cpu.weight.data, module_to_cuda.weight.data)) - # device to cpu for module_to_cpu, module_to_cuda, cuda_data_view, cpu_data_view in weight_swap_jobs: module_to_cpu.weight.data = cuda_data_view.data.to("cpu", non_blocking=True) @@ -97,7 +89,8 @@ class Offloader: common offloading class """ - def __init__(self, num_blocks: int, blocks_to_swap: int, device: torch.device, debug: bool = False): + def __init__(self, block_type: str, num_blocks: int, blocks_to_swap: int, device: torch.device, debug: bool = False): + self.block_type = block_type self.num_blocks = num_blocks self.blocks_to_swap = blocks_to_swap self.device = device @@ -117,12 +110,16 @@ def _submit_move_blocks(self, blocks, block_idx_to_cpu, block_idx_to_cuda): def move_blocks(bidx_to_cpu, block_to_cpu, bidx_to_cuda, block_to_cuda): if self.debug: start_time = time.perf_counter() - print(f"Move block {bidx_to_cpu} to CPU and block {bidx_to_cuda} to {'CUDA' if self.cuda_available else 'device'}") + print( + f"[{self.block_type}] Move block {bidx_to_cpu} to CPU and block {bidx_to_cuda} to {'CUDA' if self.cuda_available else 'device'}" + ) self.swap_weight_devices(block_to_cpu, block_to_cuda) if self.debug: - print(f"Moved blocks {bidx_to_cpu} and {bidx_to_cuda} in {time.perf_counter()-start_time:.2f}s") + print( + f"[{self.block_type}] Moved blocks {bidx_to_cpu} and {bidx_to_cuda} in {time.perf_counter() - start_time:.2f}s" + ) return bidx_to_cpu, bidx_to_cuda # , event block_to_cpu = blocks[block_idx_to_cpu] @@ -137,7 +134,7 @@ def _wait_blocks_move(self, block_idx): return if self.debug: - print(f"Wait for block {block_idx}") + print(f"[{self.block_type}] Wait for block {block_idx}") start_time = time.perf_counter() future = self.futures.pop(block_idx) @@ -146,33 +143,41 @@ def _wait_blocks_move(self, block_idx): assert block_idx == bidx_to_cuda, f"Block index mismatch: {block_idx} != {bidx_to_cuda}" if self.debug: - print(f"Waited for block {block_idx}: {time.perf_counter()-start_time:.2f}s") + print(f"[{self.block_type}] Waited for block {block_idx}: {time.perf_counter() - start_time:.2f}s") -# Gradient tensors -_grad_t = Union[tuple[torch.Tensor, ...], torch.Tensor] - class ModelOffloader(Offloader): """ supports forward offloading """ - def __init__(self, blocks: Union[list[nn.Module], nn.ModuleList], blocks_to_swap: int, device: torch.device, debug: bool = False): - super().__init__(len(blocks), blocks_to_swap, device, debug) + def __init__( + self, blocks: list[nn.Module], blocks_to_swap: int, supports_backward: bool, device: torch.device, debug: bool = False + ): + block_type = f"{blocks[0].__class__.__name__}" if len(blocks) > 0 else "Unknown" + super().__init__(block_type, len(blocks), blocks_to_swap, device, debug) + + self.supports_backward = supports_backward + self.forward_only = not supports_backward # forward only offloading: can be changed to True for inference - # register backward hooks - self.remove_handles = [] - for i, block in enumerate(blocks): - hook = self.create_backward_hook(blocks, i) - if hook is not None: - handle = block.register_full_backward_hook(hook) - self.remove_handles.append(handle) + if self.supports_backward: + # register backward hooks + self.remove_handles = [] + for i, block in enumerate(blocks): + hook = self.create_backward_hook(blocks, i) + if hook is not None: + handle = block.register_full_backward_hook(hook) + self.remove_handles.append(handle) + + def set_forward_only(self, forward_only: bool): + self.forward_only = forward_only def __del__(self): - for handle in self.remove_handles: - handle.remove() + if self.supports_backward: + for handle in self.remove_handles: + handle.remove() - def create_backward_hook(self, blocks: Union[list[nn.Module], nn.ModuleList], block_index: int) -> Optional[Callable[[nn.Module, _grad_t, _grad_t], Union[None, _grad_t]]]: + def create_backward_hook(self, blocks: list[nn.Module], block_index: int) -> Optional[callable]: # -1 for 0-based index num_blocks_propagated = self.num_blocks - block_index - 1 swapping = num_blocks_propagated > 0 and num_blocks_propagated <= self.blocks_to_swap @@ -186,7 +191,7 @@ def create_backward_hook(self, blocks: Union[list[nn.Module], nn.ModuleList], bl block_idx_to_cuda = self.blocks_to_swap - num_blocks_propagated block_idx_to_wait = block_index - 1 - def backward_hook(module: nn.Module, grad_input: _grad_t, grad_output: _grad_t): + def backward_hook(module, grad_input, grad_output): if self.debug: print(f"Backward hook for block {block_index}") @@ -198,20 +203,20 @@ def backward_hook(module: nn.Module, grad_input: _grad_t, grad_output: _grad_t): return backward_hook - def prepare_block_devices_before_forward(self, blocks: Union[list[nn.Module], nn.ModuleList]): + def prepare_block_devices_before_forward(self, blocks: list[nn.Module]): if self.blocks_to_swap is None or self.blocks_to_swap == 0: return if self.debug: - print("Prepare block devices before forward") + print(f"[{self.block_type}] Prepare block devices before forward") for b in blocks[0 : self.num_blocks - self.blocks_to_swap]: b.to(self.device) weighs_to_device(b, self.device) # make sure weights are on device for b in blocks[self.num_blocks - self.blocks_to_swap :]: - b.to(self.device) # move block to device first - weighs_to_device(b, torch.device("cpu")) # make sure weights are on cpu + b.to(self.device) # move block to device first. this makes sure that buffers (non weights) are on the device + weighs_to_device(b, "cpu") # make sure weights are on cpu synchronize_device(self.device) clean_memory_on_device(self.device) @@ -221,11 +226,85 @@ def wait_for_block(self, block_idx: int): return self._wait_blocks_move(block_idx) - def submit_move_blocks(self, blocks: Union[list[nn.Module], nn.ModuleList], block_idx: int): + def submit_move_blocks(self, blocks: list[nn.Module], block_idx: int): + # check if blocks_to_swap is enabled if self.blocks_to_swap is None or self.blocks_to_swap == 0: return - if block_idx >= self.blocks_to_swap: + + # if backward is enabled, we do not swap blocks in forward pass more than blocks_to_swap, because it should be on GPU + if not self.forward_only and block_idx >= self.blocks_to_swap: return + block_idx_to_cpu = block_idx block_idx_to_cuda = self.num_blocks - self.blocks_to_swap + block_idx + block_idx_to_cuda = block_idx_to_cuda % self.num_blocks # this works for forward-only offloading self._submit_move_blocks(blocks, block_idx_to_cpu, block_idx_to_cuda) + + +# endregion + +# region cpu offload utils + + +def to_device(x: Any, device: torch.device) -> Any: + if isinstance(x, torch.Tensor): + return x.to(device) + elif isinstance(x, list): + return [to_device(elem, device) for elem in x] + elif isinstance(x, tuple): + return tuple(to_device(elem, device) for elem in x) + elif isinstance(x, dict): + return {k: to_device(v, device) for k, v in x.items()} + else: + return x + + +def to_cpu(x: Any) -> Any: + """ + Recursively moves torch.Tensor objects (and containers thereof) to CPU. + + Args: + x: A torch.Tensor, or a (possibly nested) list, tuple, or dict containing tensors. + + Returns: + The same structure as x, with all torch.Tensor objects moved to CPU. + Non-tensor objects are returned unchanged. + """ + if isinstance(x, torch.Tensor): + return x.cpu() + elif isinstance(x, list): + return [to_cpu(elem) for elem in x] + elif isinstance(x, tuple): + return tuple(to_cpu(elem) for elem in x) + elif isinstance(x, dict): + return {k: to_cpu(v) for k, v in x.items()} + else: + return x + + +def create_cpu_offloading_wrapper(func: Callable, device: torch.device) -> Callable: + """ + Create a wrapper function that offloads inputs to CPU before calling the original function + and moves outputs back to the specified device. + + Args: + func: The original function to wrap. + device: The device to move outputs back to. + + Returns: + A wrapped function that offloads inputs to CPU and moves outputs back to the specified device. + """ + + def wrapper(orig_func: Callable) -> Callable: + def custom_forward(*inputs): + nonlocal device, orig_func + cuda_inputs = to_device(inputs, device) + outputs = orig_func(*cuda_inputs) + return to_cpu(outputs) + + return custom_forward + + return wrapper(func) + + +# endregion diff --git a/library/device_utils.py b/library/device_utils.py index d2e197450..deffa9af8 100644 --- a/library/device_utils.py +++ b/library/device_utils.py @@ -2,6 +2,7 @@ import gc import torch + try: # intel gpu support for pytorch older than 2.5 # ipex is not needed after pytorch 2.5 @@ -51,6 +52,15 @@ def clean_memory_on_device(device: torch.device): torch.mps.empty_cache() +def synchronize_device(device: torch.device): + if device.type == "cuda": + torch.cuda.synchronize() + elif device.type == "xpu": + torch.xpu.synchronize() + elif device.type == "mps": + torch.mps.synchronize() + + @functools.lru_cache(maxsize=None) def get_preferred_device() -> torch.device: r""" diff --git a/library/hunyuan_image_models.py b/library/hunyuan_image_models.py index 5bd08c5ca..9847c55ee 100644 --- a/library/hunyuan_image_models.py +++ b/library/hunyuan_image_models.py @@ -7,6 +7,7 @@ import torch.nn as nn from accelerate import init_empty_weights +from library import custom_offloading_utils from library.fp8_optimization_utils import apply_fp8_monkey_patch from library.lora_utils import load_safetensors_with_lora_and_fp8 from library.utils import setup_logging @@ -132,6 +133,74 @@ def __init__(self, attn_mode: str = "torch"): self.final_layer = FinalLayer(self.hidden_size, self.patch_size, self.out_channels, nn.SiLU) + self.gradient_checkpointing = False + self.cpu_offload_checkpointing = False + self.blocks_to_swap = None + + self.offloader_double = None + self.offloader_single = None + self.num_double_blocks = len(self.double_blocks) + self.num_single_blocks = len(self.single_blocks) + + def enable_gradient_checkpointing(self, cpu_offload: bool = False): + self.gradient_checkpointing = True + self.cpu_offload_checkpointing = cpu_offload + + for block in self.double_blocks + self.single_blocks: + block.enable_gradient_checkpointing(cpu_offload=cpu_offload) + + print(f"HunyuanImage-2.1: Gradient checkpointing enabled. CPU offload: {cpu_offload}") + + def disable_gradient_checkpointing(self): + self.gradient_checkpointing = False + self.cpu_offload_checkpointing = False + + for block in self.double_blocks + self.single_blocks: + block.disable_gradient_checkpointing() + + print("HunyuanImage-2.1: Gradient checkpointing disabled.") + + def enable_block_swap(self, num_blocks: int, device: torch.device, supports_backward: bool = False): + self.blocks_to_swap = num_blocks + double_blocks_to_swap = num_blocks // 2 + single_blocks_to_swap = (num_blocks - double_blocks_to_swap) * 2 + + assert double_blocks_to_swap <= self.num_double_blocks - 2 and single_blocks_to_swap <= self.num_single_blocks - 2, ( + f"Cannot swap more than {self.num_double_blocks - 2} double blocks and {self.num_single_blocks - 2} single blocks. " + f"Requested {double_blocks_to_swap} double blocks and {single_blocks_to_swap} single blocks." + ) + + self.offloader_double = custom_offloading_utils.ModelOffloader( + self.double_blocks, double_blocks_to_swap, supports_backward, device + ) + self.offloader_single = custom_offloading_utils.ModelOffloader( + self.single_blocks, single_blocks_to_swap, supports_backward, device + ) + # , debug=True + print( + f"HunyuanImage-2.1: Block swap enabled. Swapping {num_blocks} blocks, double blocks: {double_blocks_to_swap}, single blocks: {single_blocks_to_swap}." + ) + + def move_to_device_except_swap_blocks(self, device: torch.device): + # assume model is on cpu. do not move blocks to device to reduce temporary memory usage + if self.blocks_to_swap: + save_double_blocks = self.double_blocks + save_single_blocks = self.single_blocks + self.double_blocks = nn.ModuleList() + self.single_blocks = nn.ModuleList() + + self.to(device) + + if self.blocks_to_swap: + self.double_blocks = save_double_blocks + self.single_blocks = save_single_blocks + + def prepare_block_swap_before_forward(self): + if self.blocks_to_swap is None or self.blocks_to_swap == 0: + return + self.offloader_double.prepare_block_devices_before_forward(self.double_blocks) + self.offloader_single.prepare_block_devices_before_forward(self.single_blocks) + def get_rotary_pos_embed(self, rope_sizes): """ Generate 2D rotary position embeddings for image tokens. @@ -255,16 +324,29 @@ def forward( txt = txt[:, :max_txt_len, :] txt_seq_len = txt.shape[1] + input_device = img.device + # Process through double-stream blocks (separate image/text attention) for index, block in enumerate(self.double_blocks): + if self.blocks_to_swap: + self.offloader_double.wait_for_block(index) img, txt = block(img, txt, vec, freqs_cis, seq_lens) + if self.blocks_to_swap: + self.offloader_double.submit_move_blocks(self.double_blocks, index) # Concatenate image and text tokens for joint processing x = torch.cat((img, txt), 1) # Process through single-stream blocks (joint attention) for index, block in enumerate(self.single_blocks): + if self.blocks_to_swap: + self.offloader_single.wait_for_block(index) x = block(x, vec, txt_seq_len, freqs_cis, seq_lens) + if self.blocks_to_swap: + self.offloader_single.submit_move_blocks(self.single_blocks, index) + + x = x.to(input_device) + vec = vec.to(input_device) img = x[:, :img_seq_len, ...] diff --git a/library/hunyuan_image_modules.py b/library/hunyuan_image_modules.py index b4ded4c53..633cd310d 100644 --- a/library/hunyuan_image_modules.py +++ b/library/hunyuan_image_modules.py @@ -6,6 +6,7 @@ import torch.nn as nn from einops import rearrange +from library import custom_offloading_utils from library.attention import attention from library.hunyuan_image_utils import timestep_embedding, apply_rotary_emb, _to_tuple, apply_gate, modulate from library.attention import attention @@ -608,7 +609,18 @@ def __init__( self.txt_norm2 = nn.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6) self.txt_mlp = MLP(hidden_size, mlp_hidden_dim, act_layer=lambda: nn.GELU(approximate="tanh"), bias=True) - def forward( + self.gradient_checkpointing = False + self.cpu_offload_checkpointing = False + + def enable_gradient_checkpointing(self, cpu_offload: bool = False): + self.gradient_checkpointing = True + self.cpu_offload_checkpointing = cpu_offload + + def disable_gradient_checkpointing(self): + self.gradient_checkpointing = False + self.cpu_offload_checkpointing = False + + def _forward( self, img: torch.Tensor, txt: torch.Tensor, vec: torch.Tensor, freqs_cis: tuple = None, seq_lens: list[int] = None ) -> Tuple[torch.Tensor, torch.Tensor]: # Extract modulation parameters for image and text streams @@ -688,6 +700,18 @@ def forward( return img, txt + def forward( + self, img: torch.Tensor, txt: torch.Tensor, vec: torch.Tensor, freqs_cis: tuple = None, seq_lens: list[int] = None + ) -> Tuple[torch.Tensor, torch.Tensor]: + if self.gradient_checkpointing and self.training: + forward_fn = self._forward + if self.cpu_offload_checkpointing: + forward_fn = custom_offloading_utils.cpu_offload_wrapper(forward_fn, self.img_attn_qkv.weight.device) + + return torch.utils.checkpoint.checkpoint(forward_fn, img, txt, vec, freqs_cis, seq_lens, use_reentrant=False) + else: + return self._forward(img, txt, vec, freqs_cis, seq_lens) + class MMSingleStreamBlock(nn.Module): """ @@ -748,7 +772,18 @@ def __init__( self.mlp_act = nn.GELU(approximate="tanh") self.modulation = ModulateDiT(hidden_size, factor=3, act_layer=nn.SiLU) - def forward( + self.gradient_checkpointing = False + self.cpu_offload_checkpointing = False + + def enable_gradient_checkpointing(self, cpu_offload: bool = False): + self.gradient_checkpointing = True + self.cpu_offload_checkpointing = cpu_offload + + def disable_gradient_checkpointing(self): + self.gradient_checkpointing = False + self.cpu_offload_checkpointing = False + + def _forward( self, x: torch.Tensor, vec: torch.Tensor, @@ -800,5 +835,22 @@ def forward( return x + apply_gate(output, gate=mod_gate) + def forward( + self, + x: torch.Tensor, + vec: torch.Tensor, + txt_len: int, + freqs_cis: Tuple[torch.Tensor, torch.Tensor] = None, + seq_lens: list[int] = None, + ) -> torch.Tensor: + if self.gradient_checkpointing and self.training: + forward_fn = self._forward + if self.cpu_offload_checkpointing: + forward_fn = custom_offloading_utils.create_cpu_offloading_wrapper(forward_fn, self.linear1.weight.device) + + return torch.utils.checkpoint.checkpoint(forward_fn, x, vec, txt_len, freqs_cis, seq_lens, use_reentrant=False) + else: + return self._forward(x, vec, txt_len, freqs_cis, seq_lens) + # endregion diff --git a/library/hunyuan_image_text_encoder.py b/library/hunyuan_image_text_encoder.py index 85bdaa43e..1300b39b7 100644 --- a/library/hunyuan_image_text_encoder.py +++ b/library/hunyuan_image_text_encoder.py @@ -24,7 +24,7 @@ BYT5_TOKENIZER_PATH = "google/byt5-small" -QWEN_2_5_VL_IMAGE_ID ="Qwen/Qwen2.5-VL-7B-Instruct" +QWEN_2_5_VL_IMAGE_ID = "Qwen/Qwen2.5-VL-7B-Instruct" # Copy from Glyph-SDXL-V2 @@ -228,6 +228,7 @@ def load_byt5( info = byt5_text_encoder.load_state_dict(sd, strict=True, assign=True) byt5_text_encoder.to(device) + byt5_text_encoder.eval() logger.info(f"BYT5 text encoder loaded with info: {info}") return byt5_tokenizer, byt5_text_encoder @@ -404,6 +405,7 @@ def load_qwen2_5_vl( info = qwen2_5_vl.load_state_dict(sd, strict=True, assign=True) logger.info(f"Loaded Qwen2.5-VL: {info}") qwen2_5_vl.to(device) + qwen2_5_vl.eval() if dtype is not None: if dtype.itemsize == 1: # fp8 @@ -494,43 +496,59 @@ def forward( # Load tokenizer logger.info(f"Loading tokenizer from {QWEN_2_5_VL_IMAGE_ID}") - tokenizer = Qwen2Tokenizer.from_pretrained(QWEN_2_5_VL_IMAGE_ID) + tokenizer = Qwen2Tokenizer.from_pretrained(QWEN_2_5_VL_IMAGE_ID) return tokenizer, qwen2_5_vl +TOKENIZER_MAX_LENGTH = 1024 +PROMPT_TEMPLATE_ENCODE_START_IDX = 34 + + def get_qwen_prompt_embeds( tokenizer: Qwen2Tokenizer, vlm: Qwen2_5_VLForConditionalGeneration, prompt: Union[str, list[str]] = None -): - tokenizer_max_length = 1024 +) -> Tuple[torch.Tensor, torch.Tensor]: + input_ids, mask = get_qwen_tokens(tokenizer, prompt) + return get_qwen_prompt_embeds_from_tokens(vlm, input_ids, mask) + + +def get_qwen_tokens(tokenizer: Qwen2Tokenizer, prompt: Union[str, list[str]] = None) -> Tuple[torch.Tensor, torch.Tensor]: + tokenizer_max_length = TOKENIZER_MAX_LENGTH # HunyuanImage-2.1 does not use "<|im_start|>assistant\n" in the prompt template prompt_template_encode = "<|im_start|>system\nDescribe the image by detailing the color, shape, size, texture, quantity, text, spatial relationships of the objects and background:<|im_end|>\n<|im_start|>user\n{}<|im_end|>" # \n<|im_start|>assistant\n" - prompt_template_encode_start_idx = 34 + prompt_template_encode_start_idx = PROMPT_TEMPLATE_ENCODE_START_IDX # default_sample_size = 128 - device = vlm.device - dtype = vlm.dtype - prompt = [prompt] if isinstance(prompt, str) else prompt template = prompt_template_encode drop_idx = prompt_template_encode_start_idx txt = [template.format(e) for e in prompt] - txt_tokens = tokenizer(txt, max_length=tokenizer_max_length + drop_idx, padding=True, truncation=True, return_tensors="pt").to( - device - ) + txt_tokens = tokenizer(txt, max_length=tokenizer_max_length + drop_idx, padding=True, truncation=True, return_tensors="pt") + return txt_tokens.input_ids, txt_tokens.attention_mask + + +def get_qwen_prompt_embeds_from_tokens( + vlm: Qwen2_5_VLForConditionalGeneration, input_ids: torch.Tensor, attention_mask: torch.Tensor +) -> Tuple[torch.Tensor, torch.Tensor]: + tokenizer_max_length = TOKENIZER_MAX_LENGTH + drop_idx = PROMPT_TEMPLATE_ENCODE_START_IDX + + device = vlm.device + dtype = vlm.dtype + + input_ids = input_ids.to(device=device) + attention_mask = attention_mask.to(device=device) if dtype.itemsize == 1: # fp8 + # TODO dtype should be vlm.dtype? with torch.no_grad(), torch.autocast(device_type=device.type, dtype=torch.bfloat16, enabled=True): - encoder_hidden_states = vlm( - input_ids=txt_tokens.input_ids, attention_mask=txt_tokens.attention_mask, output_hidden_states=True - ) + encoder_hidden_states = vlm(input_ids=input_ids, attention_mask=attention_mask, output_hidden_states=True) else: with torch.no_grad(), torch.autocast(device_type=device.type, dtype=dtype, enabled=True): - encoder_hidden_states = vlm( - input_ids=txt_tokens.input_ids, attention_mask=txt_tokens.attention_mask, output_hidden_states=True - ) + encoder_hidden_states = vlm(input_ids=input_ids, attention_mask=attention_mask, output_hidden_states=True) + hidden_states = encoder_hidden_states.hidden_states[-3] # use the 3rd last layer's hidden states for HunyuanImage-2.1 if hidden_states.shape[1] > tokenizer_max_length + drop_idx: logger.warning(f"Hidden states shape {hidden_states.shape} exceeds max length {tokenizer_max_length + drop_idx}") @@ -545,7 +563,7 @@ def get_qwen_prompt_embeds( # ---------------------------------------------------------- prompt_embeds = hidden_states[:, drop_idx:, :] - encoder_attention_mask = txt_tokens.attention_mask[:, drop_idx:] + encoder_attention_mask = attention_mask[:, drop_idx:] prompt_embeds = prompt_embeds.to(dtype=dtype, device=device) return prompt_embeds, encoder_attention_mask @@ -565,17 +583,42 @@ def format_prompt(texts, styles): return prompt +BYT5_MAX_LENGTH = 128 + + def get_glyph_prompt_embeds( - tokenizer: T5Tokenizer, text_encoder: T5Stack, prompt: Union[str, list[str]] = None + tokenizer: T5Tokenizer, text_encoder: T5Stack, prompt: Optional[str] = None ) -> Tuple[list[bool], torch.Tensor, torch.Tensor]: - byt5_max_length = 128 - if not prompt: + byt5_tokens, byt5_text_mask = get_byt5_text_tokens(tokenizer, prompt) + return get_byt5_prompt_embeds_from_tokens(text_encoder, byt5_tokens, byt5_text_mask) + + +def get_byt5_prompt_embeds_from_tokens( + text_encoder: T5Stack, byt5_text_ids: Optional[torch.Tensor], byt5_text_mask: Optional[torch.Tensor] +) -> Tuple[list[bool], torch.Tensor, torch.Tensor]: + byt5_max_length = BYT5_MAX_LENGTH + + if byt5_text_ids is None or byt5_text_mask is None: return ( [False], torch.zeros((1, byt5_max_length, 1472), device=text_encoder.device), torch.zeros((1, byt5_max_length), device=text_encoder.device, dtype=torch.int64), ) + byt5_text_ids = byt5_text_ids.to(device=text_encoder.device) + byt5_text_mask = byt5_text_mask.to(device=text_encoder.device) + + with torch.no_grad(), torch.autocast(device_type=text_encoder.device.type, dtype=text_encoder.dtype, enabled=True): + byt5_prompt_embeds = text_encoder(byt5_text_ids, attention_mask=byt5_text_mask.float()) + byt5_emb = byt5_prompt_embeds[0] + + return [True], byt5_emb, byt5_text_mask + + +def get_byt5_text_tokens(tokenizer, prompt): + if not prompt: + return None, None + try: text_prompt_texts = [] # pattern_quote_single = r"\'(.*?)\'" @@ -594,56 +637,26 @@ def get_glyph_prompt_embeds( text_prompt_texts.extend(matches_quote_chinese_double) if not text_prompt_texts: - return ( - [False], - torch.zeros((1, byt5_max_length, 1472), device=text_encoder.device), - torch.zeros((1, byt5_max_length), device=text_encoder.device, dtype=torch.int64), - ) + return None, None text_prompt_style_list = [{"color": None, "font-family": None} for _ in range(len(text_prompt_texts))] glyph_text_formatted = format_prompt(text_prompt_texts, text_prompt_style_list) + logger.info(f"Glyph text formatted: {glyph_text_formatted}") + + byt5_text_inputs = tokenizer( + glyph_text_formatted, + padding="max_length", + max_length=BYT5_MAX_LENGTH, + truncation=True, + add_special_tokens=True, + return_tensors="pt", + ) - byt5_text_ids, byt5_text_mask = get_byt5_text_tokens(tokenizer, byt5_max_length, glyph_text_formatted) - - byt5_text_ids = byt5_text_ids.to(device=text_encoder.device) - byt5_text_mask = byt5_text_mask.to(device=text_encoder.device) - - byt5_prompt_embeds = text_encoder(byt5_text_ids, attention_mask=byt5_text_mask.float()) - byt5_emb = byt5_prompt_embeds[0] + byt5_text_ids = byt5_text_inputs.input_ids + byt5_text_mask = byt5_text_inputs.attention_mask - return [True], byt5_emb, byt5_text_mask + return byt5_text_ids, byt5_text_mask except Exception as e: logger.warning(f"Warning: Error in glyph encoding, using fallback: {e}") - return ( - [False], - torch.zeros((1, byt5_max_length, 1472), device=text_encoder.device), - torch.zeros((1, byt5_max_length), device=text_encoder.device, dtype=torch.int64), - ) - - -def get_byt5_text_tokens(tokenizer, max_length, text_list): - """ - Get byT5 text tokens. - - Args: - tokenizer: The tokenizer object - max_length: Maximum token length - text_list: List or string of text - - Returns: - Tuple of (byt5_text_ids, byt5_text_mask) - """ - if isinstance(text_list, list): - text_prompt = " ".join(text_list) - else: - text_prompt = text_list - - byt5_text_inputs = tokenizer( - text_prompt, padding="max_length", max_length=max_length, truncation=True, add_special_tokens=True, return_tensors="pt" - ) - - byt5_text_ids = byt5_text_inputs.input_ids - byt5_text_mask = byt5_text_inputs.attention_mask - - return byt5_text_ids, byt5_text_mask + return None, None diff --git a/library/hunyuan_image_utils.py b/library/hunyuan_image_utils.py index 17847104a..79756dd7e 100644 --- a/library/hunyuan_image_utils.py +++ b/library/hunyuan_image_utils.py @@ -5,6 +5,18 @@ from typing import Tuple, Union, Optional import torch +from library.utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + + +MODEL_VERSION_2_1 = "hunyuan-image-2.1" + +# region model + def _to_tuple(x, dim=2): """ @@ -206,7 +218,7 @@ def reshape_for_broadcast( x.shape[1], x.shape[-1], ), f"Frequency tensor shape {freqs_cis[0].shape} incompatible with target shape {x.shape}" - + shape = [d if i == 1 or i == x.ndim - 1 else 1 for i, d in enumerate(x.shape)] return freqs_cis[0].view(*shape), freqs_cis[1].view(*shape) @@ -248,7 +260,7 @@ def apply_rotary_emb( cos, sin = reshape_for_broadcast(freqs_cis, xq, head_first) cos, sin = cos.to(device), sin.to(device) - + # Apply rotation: x' = x * cos + rotate_half(x) * sin xq_out = (xq.float() * cos + rotate_half(xq.float()) * sin).to(dtype) xk_out = (xk.float() * cos + rotate_half(xk.float()) * sin).to(dtype) @@ -256,6 +268,11 @@ def apply_rotary_emb( return xq_out, xk_out +# endregion + +# region inference + + def get_timesteps_sigmas(sampling_steps: int, shift: float, device: torch.device) -> Tuple[torch.Tensor, torch.Tensor]: """ Generate timesteps and sigmas for diffusion sampling. @@ -291,6 +308,9 @@ def step(latents, noise_pred, sigmas, step_i): return latents.float() - (sigmas[step_i] - sigmas[step_i + 1]) * noise_pred.float() +# endregion + + # region AdaptiveProjectedGuidance @@ -298,6 +318,7 @@ class MomentumBuffer: """ Exponential moving average buffer for APG momentum. """ + def __init__(self, momentum: float): self.momentum = momentum self.running_average = 0 @@ -318,10 +339,10 @@ def normalized_guidance_apg( ): """ Apply normalized adaptive projected guidance. - + Projects the guidance vector to reduce over-saturation while maintaining directional control by decomposing into parallel and orthogonal components. - + Args: pred_cond: Conditional prediction. pred_uncond: Unconditional prediction. @@ -330,7 +351,7 @@ def normalized_guidance_apg( eta: Scaling factor for parallel component. norm_threshold: Maximum norm for guidance vector clipping. use_original_formulation: Whether to use original APG formulation. - + Returns: Guided prediction tensor. """ @@ -366,10 +387,11 @@ def normalized_guidance_apg( class AdaptiveProjectedGuidance: """ Adaptive Projected Guidance for classifier-free guidance. - + Implements APG which projects the guidance vector to reduce over-saturation while maintaining directional control. """ + def __init__( self, guidance_scale: float = 7.5, @@ -406,9 +428,6 @@ def __call__(self, pred_cond: torch.Tensor, pred_uncond: Optional[torch.Tensor] return pred -# endregion - - def apply_classifier_free_guidance( noise_pred_text: torch.Tensor, noise_pred_uncond: torch.Tensor, @@ -459,3 +478,6 @@ def apply_classifier_free_guidance( noise_pred = cfg_guider(noise_pred_text, noise_pred_uncond, step=step) return noise_pred + + +# endregion diff --git a/library/lora_utils.py b/library/lora_utils.py index db0046229..468fb01ad 100644 --- a/library/lora_utils.py +++ b/library/lora_utils.py @@ -7,7 +7,7 @@ from tqdm import tqdm -from library.custom_offloading_utils import synchronize_device +from library.device_utils import synchronize_device from library.fp8_optimization_utils import load_safetensors_with_fp8_optimization from library.utils import MemoryEfficientSafeOpen, setup_logging diff --git a/library/sai_model_spec.py b/library/sai_model_spec.py index 24b958dd0..32a4fd7bf 100644 --- a/library/sai_model_spec.py +++ b/library/sai_model_spec.py @@ -37,18 +37,16 @@ BASE_METADATA = { # === MUST === - "modelspec.sai_model_spec": "1.0.1", + "modelspec.sai_model_spec": "1.0.1", "modelspec.architecture": None, "modelspec.implementation": None, "modelspec.title": None, "modelspec.resolution": None, - # === SHOULD === "modelspec.description": None, "modelspec.author": None, "modelspec.date": None, "modelspec.hash_sha256": None, - # === CAN=== "modelspec.implementation_version": None, "modelspec.license": None, @@ -81,6 +79,8 @@ ARCH_FLUX_1_UNKNOWN = "flux-1" ARCH_LUMINA_2 = "lumina-2" ARCH_LUMINA_UNKNOWN = "lumina" +ARCH_HUNYUAN_IMAGE_2_1 = "hunyuan-image-2.1" +ARCH_HUNYUAN_IMAGE_UNKNOWN = "hunyuan-image" ADAPTER_LORA = "lora" ADAPTER_TEXTUAL_INVERSION = "textual-inversion" @@ -91,6 +91,7 @@ IMPL_FLUX = "https://github.com/black-forest-labs/flux" IMPL_CHROMA = "https://huggingface.co/lodestones/Chroma" IMPL_LUMINA = "https://github.com/Alpha-VLLM/Lumina-Image-2.0" +IMPL_HUNYUAN_IMAGE = "https://github.com/Tencent-Hunyuan/HunyuanImage-2.1" PRED_TYPE_EPSILON = "epsilon" PRED_TYPE_V = "v" @@ -102,20 +103,20 @@ class ModelSpecMetadata: ModelSpec 1.0.1 compliant metadata for safetensors models. All fields correspond to modelspec.* keys in the final metadata. """ - + # === MUST === architecture: str implementation: str title: str resolution: str sai_model_spec: str = "1.0.1" - + # === SHOULD === description: str | None = None author: str | None = None date: str | None = None hash_sha256: str | None = None - + # === CAN === implementation_version: str | None = None license: str | None = None @@ -131,14 +132,14 @@ class ModelSpecMetadata: is_negative_embedding: str | None = None unet_dtype: str | None = None vae_dtype: str | None = None - + # === Additional metadata === additional_fields: dict[str, str] = field(default_factory=dict) - + def to_metadata_dict(self) -> dict[str, str]: """Convert dataclass to metadata dictionary with modelspec. prefixes.""" metadata = {} - + # Add all non-None fields with modelspec prefix for field_name, value in self.__dict__.items(): if field_name == "additional_fields": @@ -150,14 +151,14 @@ def to_metadata_dict(self) -> dict[str, str]: metadata[f"modelspec.{key}"] = val elif value is not None: metadata[f"modelspec.{field_name}"] = value - + return metadata - + @classmethod def from_args(cls, args, **kwargs) -> "ModelSpecMetadata": """Create ModelSpecMetadata from argparse Namespace, extracting metadata_* fields.""" metadata_fields = {} - + # Extract all metadata_* attributes from args for attr_name in dir(args): if attr_name.startswith("metadata_") and not attr_name.startswith("metadata___"): @@ -166,7 +167,7 @@ def from_args(cls, args, **kwargs) -> "ModelSpecMetadata": # Remove metadata_ prefix field_name = attr_name[9:] # len("metadata_") = 9 metadata_fields[field_name] = value - + # Handle known standard fields standard_fields = { "author": metadata_fields.pop("author", None), @@ -174,30 +175,25 @@ def from_args(cls, args, **kwargs) -> "ModelSpecMetadata": "license": metadata_fields.pop("license", None), "tags": metadata_fields.pop("tags", None), } - + # Remove None values standard_fields = {k: v for k, v in standard_fields.items() if v is not None} - + # Merge with kwargs and remaining metadata fields all_fields = {**standard_fields, **kwargs} if metadata_fields: all_fields["additional_fields"] = metadata_fields - + return cls(**all_fields) def determine_architecture( - v2: bool, - v_parameterization: bool, - sdxl: bool, - lora: bool, - textual_inversion: bool, - model_config: dict[str, str] | None = None + v2: bool, v_parameterization: bool, sdxl: bool, lora: bool, textual_inversion: bool, model_config: dict[str, str] | None = None ) -> str: """Determine model architecture string from parameters.""" - + model_config = model_config or {} - + if sdxl: arch = ARCH_SD_XL_V1_BASE elif "sd3" in model_config: @@ -218,17 +214,23 @@ def determine_architecture( arch = ARCH_LUMINA_2 else: arch = ARCH_LUMINA_UNKNOWN + elif "hunyuan_image" in model_config: + hunyuan_image_type = model_config["hunyuan_image"] + if hunyuan_image_type == "2.1": + arch = ARCH_HUNYUAN_IMAGE_2_1 + else: + arch = ARCH_HUNYUAN_IMAGE_UNKNOWN elif v2: arch = ARCH_SD_V2_768_V if v_parameterization else ARCH_SD_V2_512 else: arch = ARCH_SD_V1 - + # Add adapter suffix if lora: arch += f"/{ADAPTER_LORA}" elif textual_inversion: arch += f"/{ADAPTER_TEXTUAL_INVERSION}" - + return arch @@ -237,12 +239,12 @@ def determine_implementation( textual_inversion: bool, sdxl: bool, model_config: dict[str, str] | None = None, - is_stable_diffusion_ckpt: bool | None = None + is_stable_diffusion_ckpt: bool | None = None, ) -> str: """Determine implementation string from parameters.""" - + model_config = model_config or {} - + if "flux" in model_config: if model_config["flux"] == "chroma": return IMPL_CHROMA @@ -265,16 +267,16 @@ def get_implementation_version() -> str: capture_output=True, text=True, cwd=os.path.dirname(os.path.dirname(__file__)), # Go up to sd-scripts root - timeout=5 + timeout=5, ) - + if result.returncode == 0: commit_hash = result.stdout.strip() return f"sd-scripts/{commit_hash}" else: logger.warning("Failed to get git commit hash, using fallback") return "sd-scripts/unknown" - + except (subprocess.TimeoutExpired, subprocess.SubprocessError, FileNotFoundError) as e: logger.warning(f"Could not determine git commit: {e}") return "sd-scripts/unknown" @@ -284,19 +286,19 @@ def file_to_data_url(file_path: str) -> str: """Convert a file path to a data URL for embedding in metadata.""" if not os.path.exists(file_path): raise FileNotFoundError(f"File not found: {file_path}") - + # Get MIME type mime_type, _ = mimetypes.guess_type(file_path) if mime_type is None: # Default to binary if we can't detect mime_type = "application/octet-stream" - + # Read file and encode as base64 with open(file_path, "rb") as f: file_data = f.read() - + encoded_data = base64.b64encode(file_data).decode("ascii") - + return f"data:{mime_type};base64,{encoded_data}" @@ -305,12 +307,12 @@ def determine_resolution( sdxl: bool = False, model_config: dict[str, str] | None = None, v2: bool = False, - v_parameterization: bool = False + v_parameterization: bool = False, ) -> str: """Determine resolution string from parameters.""" - + model_config = model_config or {} - + if reso is not None: # Handle comma separated string if isinstance(reso, str): @@ -318,21 +320,18 @@ def determine_resolution( # Handle single int if isinstance(reso, int): reso = (reso, reso) - # Handle single-element tuple + # Handle single-element tuple if len(reso) == 1: reso = (reso[0], reso[0]) else: # Determine default resolution based on model type - if (sdxl or - "sd3" in model_config or - "flux" in model_config or - "lumina" in model_config): + if sdxl or "sd3" in model_config or "flux" in model_config or "lumina" in model_config: reso = (1024, 1024) elif v2 and v_parameterization: reso = (768, 768) else: reso = (512, 512) - + return f"{reso[0]}x{reso[1]}" @@ -388,23 +387,19 @@ def build_metadata_dataclass( ) -> ModelSpecMetadata: """ Build ModelSpec 1.0.1 compliant metadata dataclass. - + Args: model_config: Dict containing model type info, e.g. {"flux": "dev"}, {"sd3": "large"} optional_metadata: Dict of additional metadata fields to include """ - + # Use helper functions for complex logic - architecture = determine_architecture( - v2, v_parameterization, sdxl, lora, textual_inversion, model_config - ) + architecture = determine_architecture(v2, v_parameterization, sdxl, lora, textual_inversion, model_config) if not lora and not textual_inversion and is_stable_diffusion_ckpt is None: is_stable_diffusion_ckpt = True # default is stable diffusion ckpt if not lora and not textual_inversion - implementation = determine_implementation( - lora, textual_inversion, sdxl, model_config, is_stable_diffusion_ckpt - ) + implementation = determine_implementation(lora, textual_inversion, sdxl, model_config, is_stable_diffusion_ckpt) if title is None: if lora: @@ -421,9 +416,7 @@ def build_metadata_dataclass( date = datetime.datetime.fromtimestamp(int_ts).isoformat() # Use helper function for resolution - resolution = determine_resolution( - reso, sdxl, model_config, v2, v_parameterization - ) + resolution = determine_resolution(reso, sdxl, model_config, v2, v_parameterization) # Handle prediction type - Flux models don't use prediction_type model_config = model_config or {} @@ -488,7 +481,7 @@ def build_metadata_dataclass( prediction_type=prediction_type, timestep_range=timestep_range, encoder_layer=encoder_layer, - additional_fields=processed_optional_metadata + additional_fields=processed_optional_metadata, ) return metadata @@ -518,7 +511,7 @@ def build_metadata( """ Build ModelSpec 1.0.1 compliant metadata for safetensors models. Legacy function that returns dict - prefer build_metadata_dataclass for new code. - + Args: model_config: Dict containing model type info, e.g. {"flux": "dev"}, {"sd3": "large"} optional_metadata: Dict of additional metadata fields to include @@ -545,7 +538,7 @@ def build_metadata( model_config=model_config, optional_metadata=optional_metadata, ) - + return metadata_obj.to_metadata_dict() @@ -581,7 +574,7 @@ def get_title(model: str): def add_model_spec_arguments(parser: argparse.ArgumentParser): """Add all ModelSpec metadata arguments to the parser.""" - + parser.add_argument( "--metadata_title", type=str, diff --git a/library/strategy_hunyuan_image.py b/library/strategy_hunyuan_image.py new file mode 100644 index 000000000..2188ed371 --- /dev/null +++ b/library/strategy_hunyuan_image.py @@ -0,0 +1,187 @@ +import os +from typing import Any, List, Optional, Tuple, Union +import torch +import numpy as np +from transformers import AutoTokenizer, Qwen2Tokenizer + +from library import hunyuan_image_text_encoder, hunyuan_image_vae, train_util +from library.strategy_base import LatentsCachingStrategy, TextEncodingStrategy, TokenizeStrategy, TextEncoderOutputsCachingStrategy + +from library.utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + + +class HunyuanImageTokenizeStrategy(TokenizeStrategy): + def __init__(self, tokenizer_cache_dir: Optional[str] = None) -> None: + self.vlm_tokenizer = self._load_tokenizer( + Qwen2Tokenizer, hunyuan_image_text_encoder.QWEN_2_5_VL_IMAGE_ID, tokenizer_cache_dir=tokenizer_cache_dir + ) + self.byt5_tokenizer = self._load_tokenizer( + AutoTokenizer, hunyuan_image_text_encoder.BYT5_TOKENIZER_PATH, tokenizer_cache_dir=tokenizer_cache_dir + ) + + def tokenize(self, text: Union[str, List[str]]) -> List[torch.Tensor]: + text = [text] if isinstance(text, str) else text + + vlm_tokens, vlm_mask = hunyuan_image_text_encoder.get_qwen_tokens(self.vlm_tokenizer, text) + byt5_tokens, byt5_mask = hunyuan_image_text_encoder.get_byt5_text_tokens(self.byt5_tokenizer, text) + + return [vlm_tokens, vlm_mask, byt5_tokens, byt5_mask] + + +class HunyuanImageTextEncodingStrategy(TextEncodingStrategy): + def __init__(self) -> None: + pass + + def encode_tokens( + self, tokenize_strategy: TokenizeStrategy, models: List[Any], tokens: List[torch.Tensor] + ) -> List[torch.Tensor]: + vlm_tokens, vlm_mask, byt5_tokens, byt5_mask = tokens + + qwen2vlm, byt5 = models + + # autocast and no_grad are handled in hunyuan_image_text_encoder + vlm_embed, vlm_mask = hunyuan_image_text_encoder.get_qwen_prompt_embeds_from_tokens(qwen2vlm, vlm_tokens, vlm_mask) + ocr_mask, byt5_embed, byt5_mask = hunyuan_image_text_encoder.get_byt5_prompt_embeds_from_tokens( + byt5, byt5_tokens, byt5_mask + ) + + return [vlm_embed, vlm_mask, byt5_embed, byt5_mask, ocr_mask] + + +class HunyuanImageTextEncoderOutputsCachingStrategy(TextEncoderOutputsCachingStrategy): + HUNYUAN_IMAGE_TEXT_ENCODER_OUTPUTS_NPZ_SUFFIX = "_hi_te.npz" + + def __init__( + self, cache_to_disk: bool, batch_size: int, skip_disk_cache_validity_check: bool, is_partial: bool = False + ) -> None: + super().__init__(cache_to_disk, batch_size, skip_disk_cache_validity_check, is_partial) + + def get_outputs_npz_path(self, image_abs_path: str) -> str: + return ( + os.path.splitext(image_abs_path)[0] + + HunyuanImageTextEncoderOutputsCachingStrategy.HUNYUAN_IMAGE_TEXT_ENCODER_OUTPUTS_NPZ_SUFFIX + ) + + def is_disk_cached_outputs_expected(self, npz_path: str): + if not self.cache_to_disk: + return False + if not os.path.exists(npz_path): + return False + if self.skip_disk_cache_validity_check: + return True + + try: + npz = np.load(npz_path) + if "vlm_embed" not in npz: + return False + if "vlm_mask" not in npz: + return False + if "byt5_embed" not in npz: + return False + if "byt5_mask" not in npz: + return False + if "ocr_mask" not in npz: + return False + except Exception as e: + logger.error(f"Error loading file: {npz_path}") + raise e + + return True + + def load_outputs_npz(self, npz_path: str) -> List[np.ndarray]: + data = np.load(npz_path) + vln_embed = data["vlm_embed"] + vlm_mask = data["vlm_mask"] + byt5_embed = data["byt5_embed"] + byt5_mask = data["byt5_mask"] + ocr_mask = data["ocr_mask"] + return [vln_embed, vlm_mask, byt5_embed, byt5_mask, ocr_mask] + + def cache_batch_outputs( + self, tokenize_strategy: TokenizeStrategy, models: List[Any], text_encoding_strategy: TextEncodingStrategy, infos: List + ): + huyuan_image_text_encoding_strategy: HunyuanImageTextEncodingStrategy = text_encoding_strategy + captions = [info.caption for info in infos] + + tokens_and_masks = tokenize_strategy.tokenize(captions) + with torch.no_grad(): + # attn_mask is applied in text_encoding_strategy.encode_tokens if apply_t5_attn_mask is True + vlm_embed, vlm_mask, byt5_embed, byt5_mask, ocr_mask = huyuan_image_text_encoding_strategy.encode_tokens( + tokenize_strategy, models, tokens_and_masks + ) + + if vlm_embed.dtype == torch.bfloat16: + vlm_embed = vlm_embed.float() + if byt5_embed.dtype == torch.bfloat16: + byt5_embed = byt5_embed.float() + + vlm_embed = vlm_embed.cpu().numpy() + vlm_mask = vlm_mask.cpu().numpy() + byt5_embed = byt5_embed.cpu().numpy() + byt5_mask = byt5_mask.cpu().numpy() + ocr_mask = np.array(ocr_mask, dtype=bool) + + for i, info in enumerate(infos): + vlm_embed_i = vlm_embed[i] + vlm_mask_i = vlm_mask[i] + byt5_embed_i = byt5_embed[i] + byt5_mask_i = byt5_mask[i] + ocr_mask_i = ocr_mask[i] + + if self.cache_to_disk: + np.savez( + info.text_encoder_outputs_npz, + vlm_embed=vlm_embed_i, + vlm_mask=vlm_mask_i, + byt5_embed=byt5_embed_i, + byt5_mask=byt5_mask_i, + ocr_mask=ocr_mask_i, + ) + else: + info.text_encoder_outputs = (vlm_embed_i, vlm_mask_i, byt5_embed_i, byt5_mask_i, ocr_mask_i) + + +class HunyuanImageLatentsCachingStrategy(LatentsCachingStrategy): + HUNYUAN_IMAGE_LATENTS_NPZ_SUFFIX = "_hi.npz" + + def __init__(self, cache_to_disk: bool, batch_size: int, skip_disk_cache_validity_check: bool) -> None: + super().__init__(cache_to_disk, batch_size, skip_disk_cache_validity_check) + + @property + def cache_suffix(self) -> str: + return HunyuanImageLatentsCachingStrategy.HUNYUAN_IMAGE_LATENTS_NPZ_SUFFIX + + def get_latents_npz_path(self, absolute_path: str, image_size: Tuple[int, int]) -> str: + return ( + os.path.splitext(absolute_path)[0] + + f"_{image_size[0]:04d}x{image_size[1]:04d}" + + HunyuanImageLatentsCachingStrategy.HUNYUAN_IMAGE_LATENTS_NPZ_SUFFIX + ) + + def is_disk_cached_latents_expected(self, bucket_reso: Tuple[int, int], npz_path: str, flip_aug: bool, alpha_mask: bool): + return self._default_is_disk_cached_latents_expected(32, bucket_reso, npz_path, flip_aug, alpha_mask, multi_resolution=True) + + def load_latents_from_disk( + self, npz_path: str, bucket_reso: Tuple[int, int] + ) -> Tuple[Optional[np.ndarray], Optional[List[int]], Optional[List[int]], Optional[np.ndarray], Optional[np.ndarray]]: + return self._default_load_latents_from_disk(32, npz_path, bucket_reso) # support multi-resolution + + # TODO remove circular dependency for ImageInfo + def cache_batch_latents( + self, vae: hunyuan_image_vae.HunyuanVAE2D, image_infos: List, flip_aug: bool, alpha_mask: bool, random_crop: bool + ): + encode_by_vae = lambda img_tensor: vae.encode(img_tensor).sample() + vae_device = vae.device + vae_dtype = vae.dtype + + self._default_cache_batch_latents( + encode_by_vae, vae_device, vae_dtype, image_infos, flip_aug, alpha_mask, random_crop, multi_resolution=True + ) + + if not train_util.HIGH_VRAM: + train_util.clean_memory_on_device(vae.device) diff --git a/library/train_util.py b/library/train_util.py index b432d0b62..8cd43463c 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -3588,6 +3588,7 @@ def get_sai_model_spec_dataclass( sd3: str = None, flux: str = None, lumina: str = None, + hunyuan_image: str = None, optional_metadata: dict[str, str] | None = None, ) -> sai_model_spec.ModelSpecMetadata: """ @@ -3617,6 +3618,8 @@ def get_sai_model_spec_dataclass( model_config["flux"] = flux if lumina is not None: model_config["lumina"] = lumina + if hunyuan_image is not None: + model_config["hunyuan_image"] = hunyuan_image # Use the dataclass function directly return sai_model_spec.build_metadata_dataclass( @@ -3987,11 +3990,21 @@ def add_training_arguments(parser: argparse.ArgumentParser, support_dreambooth: choices=["no", "fp16", "bf16"], help="use mixed precision / 混合精度を使う場合、その精度", ) - parser.add_argument("--full_fp16", action="store_true", help="fp16 training including gradients / 勾配も含めてfp16で学習する") parser.add_argument( - "--full_bf16", action="store_true", help="bf16 training including gradients / 勾配も含めてbf16で学習する" + "--full_fp16", + action="store_true", + help="fp16 training including gradients, some models are not supported / 勾配も含めてfp16で学習する、一部のモデルではサポートされていません", + ) + parser.add_argument( + "--full_bf16", + action="store_true", + help="bf16 training including gradients, some models are not supported / 勾配も含めてbf16で学習する、一部のモデルではサポートされていません", ) # TODO move to SDXL training, because it is not supported by SD1/2 - parser.add_argument("--fp8_base", action="store_true", help="use fp8 for base model / base modelにfp8を使う") + parser.add_argument( + "--fp8_base", + action="store_true", + help="use fp8 for base model, some models are not supported / base modelにfp8を使う、一部のモデルではサポートされていません", + ) parser.add_argument( "--ddp_timeout", @@ -6305,6 +6318,11 @@ def line_to_prompt_dict(line: str) -> dict: prompt_dict["renorm_cfg"] = float(m.group(1)) continue + m = re.match(r"fs (.+)", parg, re.IGNORECASE) + if m: + prompt_dict["flow_shift"] = m.group(1) + continue + except ValueError as ex: logger.error(f"Exception in parsing / 解析エラー: {parg}") logger.error(ex) diff --git a/networks/lora_flux.py b/networks/lora_flux.py index e9ad5f68d..d74d01728 100644 --- a/networks/lora_flux.py +++ b/networks/lora_flux.py @@ -713,6 +713,10 @@ class LoRANetwork(torch.nn.Module): LORA_PREFIX_TEXT_ENCODER_CLIP = "lora_te1" LORA_PREFIX_TEXT_ENCODER_T5 = "lora_te3" # make ComfyUI compatible + @classmethod + def get_qkv_mlp_split_dims(cls) -> List[int]: + return [3072] * 3 + [12288] + def __init__( self, text_encoders: Union[List[CLIPTextModel], CLIPTextModel], @@ -842,7 +846,7 @@ def create_modules( break # if modules_dim is None, we use default lora_dim. if modules_dim is not None, we use the specified dim (no default) - if dim is None and modules_dim is None: + if dim is None and modules_dim is None: if is_linear or is_conv2d_1x1: dim = default_dim if default_dim is not None else self.lora_dim alpha = self.alpha @@ -901,9 +905,9 @@ def create_modules( split_dims = None if is_flux and split_qkv: if "double" in lora_name and "qkv" in lora_name: - split_dims = [3072] * 3 + (split_dims,) = self.get_qkv_mlp_split_dims()[:3] # qkv only elif "single" in lora_name and "linear1" in lora_name: - split_dims = [3072] * 3 + [12288] + split_dims = self.get_qkv_mlp_split_dims() # qkv + mlp lora = module_class( lora_name, @@ -1036,9 +1040,9 @@ def load_state_dict(self, state_dict, strict=True): # split qkv for key in list(state_dict.keys()): if "double" in key and "qkv" in key: - split_dims = [3072] * 3 + split_dims = self.get_qkv_mlp_split_dims()[:3] # qkv only elif "single" in key and "linear1" in key: - split_dims = [3072] * 3 + [12288] + split_dims = self.get_qkv_mlp_split_dims() # qkv + mlp else: continue @@ -1092,9 +1096,9 @@ def state_dict(self, destination=None, prefix="", keep_vars=False): new_state_dict = {} for key in list(state_dict.keys()): if "double" in key and "qkv" in key: - split_dims = [3072] * 3 + split_dims = self.get_qkv_mlp_split_dims()[:3] # qkv only elif "single" in key and "linear1" in key: - split_dims = [3072] * 3 + [12288] + split_dims = self.get_qkv_mlp_split_dims() # qkv + mlp else: new_state_dict[key] = state_dict[key] continue diff --git a/networks/lora_hunyuan_image.py b/networks/lora_hunyuan_image.py index e9ad5f68d..b0edde575 100644 --- a/networks/lora_hunyuan_image.py +++ b/networks/lora_hunyuan_image.py @@ -7,18 +7,17 @@ # https://github.com/microsoft/LoRA/blob/main/loralib/layers.py # https://github.com/cloneofsimo/lora/blob/master/lora_diffusion/lora.py -import math import os -from contextlib import contextmanager -from typing import Dict, List, Optional, Tuple, Type, Union -from diffusers import AutoencoderKL -from transformers import CLIPTextModel -import numpy as np +from typing import Dict, List, Optional, Type, Union import torch +import torch.nn as nn from torch import Tensor import re + +from networks import lora_flux +from library.hunyuan_image_vae import HunyuanVAE2D + from library.utils import setup_logging -from library.sdxl_original_unet import SdxlUNet2DConditionModel setup_logging() import logging @@ -26,423 +25,16 @@ logger = logging.getLogger(__name__) -NUM_DOUBLE_BLOCKS = 19 -NUM_SINGLE_BLOCKS = 38 - - -class LoRAModule(torch.nn.Module): - """ - replaces forward method of the original Linear, instead of replacing the original Linear module. - """ - - def __init__( - self, - lora_name, - org_module: torch.nn.Module, - multiplier=1.0, - lora_dim=4, - alpha=1, - dropout=None, - rank_dropout=None, - module_dropout=None, - split_dims: Optional[List[int]] = None, - ggpo_beta: Optional[float] = None, - ggpo_sigma: Optional[float] = None, - ): - """ - if alpha == 0 or None, alpha is rank (no scaling). - - split_dims is used to mimic the split qkv of FLUX as same as Diffusers - """ - super().__init__() - self.lora_name = lora_name - - if org_module.__class__.__name__ == "Conv2d": - in_dim = org_module.in_channels - out_dim = org_module.out_channels - else: - in_dim = org_module.in_features - out_dim = org_module.out_features - - self.lora_dim = lora_dim - self.split_dims = split_dims - - if split_dims is None: - if org_module.__class__.__name__ == "Conv2d": - kernel_size = org_module.kernel_size - stride = org_module.stride - padding = org_module.padding - self.lora_down = torch.nn.Conv2d(in_dim, self.lora_dim, kernel_size, stride, padding, bias=False) - self.lora_up = torch.nn.Conv2d(self.lora_dim, out_dim, (1, 1), (1, 1), bias=False) - else: - self.lora_down = torch.nn.Linear(in_dim, self.lora_dim, bias=False) - self.lora_up = torch.nn.Linear(self.lora_dim, out_dim, bias=False) - - torch.nn.init.kaiming_uniform_(self.lora_down.weight, a=math.sqrt(5)) - torch.nn.init.zeros_(self.lora_up.weight) - else: - # conv2d not supported - assert sum(split_dims) == out_dim, "sum of split_dims must be equal to out_dim" - assert org_module.__class__.__name__ == "Linear", "split_dims is only supported for Linear" - # print(f"split_dims: {split_dims}") - self.lora_down = torch.nn.ModuleList( - [torch.nn.Linear(in_dim, self.lora_dim, bias=False) for _ in range(len(split_dims))] - ) - self.lora_up = torch.nn.ModuleList([torch.nn.Linear(self.lora_dim, split_dim, bias=False) for split_dim in split_dims]) - for lora_down in self.lora_down: - torch.nn.init.kaiming_uniform_(lora_down.weight, a=math.sqrt(5)) - for lora_up in self.lora_up: - torch.nn.init.zeros_(lora_up.weight) - - if type(alpha) == torch.Tensor: - alpha = alpha.detach().float().numpy() # without casting, bf16 causes error - alpha = self.lora_dim if alpha is None or alpha == 0 else alpha - self.scale = alpha / self.lora_dim - self.register_buffer("alpha", torch.tensor(alpha)) # 定数として扱える - - # same as microsoft's - self.multiplier = multiplier - self.org_module = org_module # remove in applying - self.dropout = dropout - self.rank_dropout = rank_dropout - self.module_dropout = module_dropout - - self.ggpo_sigma = ggpo_sigma - self.ggpo_beta = ggpo_beta - - if self.ggpo_beta is not None and self.ggpo_sigma is not None: - self.combined_weight_norms = None - self.grad_norms = None - self.perturbation_norm_factor = 1.0 / math.sqrt(org_module.weight.shape[0]) - self.initialize_norm_cache(org_module.weight) - self.org_module_shape: tuple[int] = org_module.weight.shape - - def apply_to(self): - self.org_forward = self.org_module.forward - self.org_module.forward = self.forward - - del self.org_module - - def forward(self, x): - org_forwarded = self.org_forward(x) - - # module dropout - if self.module_dropout is not None and self.training: - if torch.rand(1) < self.module_dropout: - return org_forwarded - - if self.split_dims is None: - lx = self.lora_down(x) - - # normal dropout - if self.dropout is not None and self.training: - lx = torch.nn.functional.dropout(lx, p=self.dropout) - - # rank dropout - if self.rank_dropout is not None and self.training: - mask = torch.rand((lx.size(0), self.lora_dim), device=lx.device) > self.rank_dropout - if len(lx.size()) == 3: - mask = mask.unsqueeze(1) # for Text Encoder - elif len(lx.size()) == 4: - mask = mask.unsqueeze(-1).unsqueeze(-1) # for Conv2d - lx = lx * mask - - # scaling for rank dropout: treat as if the rank is changed - # maskから計算することも考えられるが、augmentation的な効果を期待してrank_dropoutを用いる - scale = self.scale * (1.0 / (1.0 - self.rank_dropout)) # redundant for readability - else: - scale = self.scale - - lx = self.lora_up(lx) - - # LoRA Gradient-Guided Perturbation Optimization - if ( - self.training - and self.ggpo_sigma is not None - and self.ggpo_beta is not None - and self.combined_weight_norms is not None - and self.grad_norms is not None - ): - with torch.no_grad(): - perturbation_scale = (self.ggpo_sigma * torch.sqrt(self.combined_weight_norms**2)) + ( - self.ggpo_beta * (self.grad_norms**2) - ) - perturbation_scale_factor = (perturbation_scale * self.perturbation_norm_factor).to(self.device) - perturbation = torch.randn(self.org_module_shape, dtype=self.dtype, device=self.device) - perturbation.mul_(perturbation_scale_factor) - perturbation_output = x @ perturbation.T # Result: (batch × n) - return org_forwarded + (self.multiplier * scale * lx) + perturbation_output - else: - return org_forwarded + lx * self.multiplier * scale - else: - lxs = [lora_down(x) for lora_down in self.lora_down] - - # normal dropout - if self.dropout is not None and self.training: - lxs = [torch.nn.functional.dropout(lx, p=self.dropout) for lx in lxs] - - # rank dropout - if self.rank_dropout is not None and self.training: - masks = [torch.rand((lx.size(0), self.lora_dim), device=lx.device) > self.rank_dropout for lx in lxs] - for i in range(len(lxs)): - if len(lx.size()) == 3: - masks[i] = masks[i].unsqueeze(1) - elif len(lx.size()) == 4: - masks[i] = masks[i].unsqueeze(-1).unsqueeze(-1) - lxs[i] = lxs[i] * masks[i] - - # scaling for rank dropout: treat as if the rank is changed - scale = self.scale * (1.0 / (1.0 - self.rank_dropout)) # redundant for readability - else: - scale = self.scale - - lxs = [lora_up(lx) for lora_up, lx in zip(self.lora_up, lxs)] - - return org_forwarded + torch.cat(lxs, dim=-1) * self.multiplier * scale - - @torch.no_grad() - def initialize_norm_cache(self, org_module_weight: Tensor): - # Choose a reasonable sample size - n_rows = org_module_weight.shape[0] - sample_size = min(1000, n_rows) # Cap at 1000 samples or use all if smaller - - # Sample random indices across all rows - indices = torch.randperm(n_rows)[:sample_size] - - # Convert to a supported data type first, then index - # Use float32 for indexing operations - weights_float32 = org_module_weight.to(dtype=torch.float32) - sampled_weights = weights_float32[indices].to(device=self.device) - - # Calculate sampled norms - sampled_norms = torch.norm(sampled_weights, dim=1, keepdim=True) - - # Store the mean norm as our estimate - self.org_weight_norm_estimate = sampled_norms.mean() - - # Optional: store standard deviation for confidence intervals - self.org_weight_norm_std = sampled_norms.std() - - # Free memory - del sampled_weights, weights_float32 - - @torch.no_grad() - def validate_norm_approximation(self, org_module_weight: Tensor, verbose=True): - # Calculate the true norm (this will be slow but it's just for validation) - true_norms = [] - chunk_size = 1024 # Process in chunks to avoid OOM - - for i in range(0, org_module_weight.shape[0], chunk_size): - end_idx = min(i + chunk_size, org_module_weight.shape[0]) - chunk = org_module_weight[i:end_idx].to(device=self.device, dtype=self.dtype) - chunk_norms = torch.norm(chunk, dim=1, keepdim=True) - true_norms.append(chunk_norms.cpu()) - del chunk - - true_norms = torch.cat(true_norms, dim=0) - true_mean_norm = true_norms.mean().item() - - # Compare with our estimate - estimated_norm = self.org_weight_norm_estimate.item() - - # Calculate error metrics - absolute_error = abs(true_mean_norm - estimated_norm) - relative_error = absolute_error / true_mean_norm * 100 # as percentage - - if verbose: - logger.info(f"True mean norm: {true_mean_norm:.6f}") - logger.info(f"Estimated norm: {estimated_norm:.6f}") - logger.info(f"Absolute error: {absolute_error:.6f}") - logger.info(f"Relative error: {relative_error:.2f}%") - - return { - "true_mean_norm": true_mean_norm, - "estimated_norm": estimated_norm, - "absolute_error": absolute_error, - "relative_error": relative_error, - } - - @torch.no_grad() - def update_norms(self): - # Not running GGPO so not currently running update norms - if self.ggpo_beta is None or self.ggpo_sigma is None: - return - - # only update norms when we are training - if self.training is False: - return - - module_weights = self.lora_up.weight @ self.lora_down.weight - module_weights.mul(self.scale) - - self.weight_norms = torch.norm(module_weights, dim=1, keepdim=True) - self.combined_weight_norms = torch.sqrt( - (self.org_weight_norm_estimate**2) + torch.sum(module_weights**2, dim=1, keepdim=True) - ) - - @torch.no_grad() - def update_grad_norms(self): - if self.training is False: - print(f"skipping update_grad_norms for {self.lora_name}") - return - - lora_down_grad = None - lora_up_grad = None - - for name, param in self.named_parameters(): - if name == "lora_down.weight": - lora_down_grad = param.grad - elif name == "lora_up.weight": - lora_up_grad = param.grad - - # Calculate gradient norms if we have both gradients - if lora_down_grad is not None and lora_up_grad is not None: - with torch.autocast(self.device.type): - approx_grad = self.scale * ((self.lora_up.weight @ lora_down_grad) + (lora_up_grad @ self.lora_down.weight)) - self.grad_norms = torch.norm(approx_grad, dim=1, keepdim=True) - - @property - def device(self): - return next(self.parameters()).device - - @property - def dtype(self): - return next(self.parameters()).dtype - - -class LoRAInfModule(LoRAModule): - def __init__( - self, - lora_name, - org_module: torch.nn.Module, - multiplier=1.0, - lora_dim=4, - alpha=1, - **kwargs, - ): - # no dropout for inference - super().__init__(lora_name, org_module, multiplier, lora_dim, alpha) - - self.org_module_ref = [org_module] # 後から参照できるように - self.enabled = True - self.network: LoRANetwork = None - - def set_network(self, network): - self.network = network - - # freezeしてマージする - def merge_to(self, sd, dtype, device): - # extract weight from org_module - org_sd = self.org_module.state_dict() - weight = org_sd["weight"] - org_dtype = weight.dtype - org_device = weight.device - weight = weight.to(torch.float) # calc in float - - if dtype is None: - dtype = org_dtype - if device is None: - device = org_device - - if self.split_dims is None: - # get up/down weight - down_weight = sd["lora_down.weight"].to(torch.float).to(device) - up_weight = sd["lora_up.weight"].to(torch.float).to(device) - - # merge weight - if len(weight.size()) == 2: - # linear - weight = weight + self.multiplier * (up_weight @ down_weight) * self.scale - elif down_weight.size()[2:4] == (1, 1): - # conv2d 1x1 - weight = ( - weight - + self.multiplier - * (up_weight.squeeze(3).squeeze(2) @ down_weight.squeeze(3).squeeze(2)).unsqueeze(2).unsqueeze(3) - * self.scale - ) - else: - # conv2d 3x3 - conved = torch.nn.functional.conv2d(down_weight.permute(1, 0, 2, 3), up_weight).permute(1, 0, 2, 3) - # logger.info(conved.size(), weight.size(), module.stride, module.padding) - weight = weight + self.multiplier * conved * self.scale - - # set weight to org_module - org_sd["weight"] = weight.to(dtype) - self.org_module.load_state_dict(org_sd) - else: - # split_dims - total_dims = sum(self.split_dims) - for i in range(len(self.split_dims)): - # get up/down weight - down_weight = sd[f"lora_down.{i}.weight"].to(torch.float).to(device) # (rank, in_dim) - up_weight = sd[f"lora_up.{i}.weight"].to(torch.float).to(device) # (split dim, rank) - - # pad up_weight -> (total_dims, rank) - padded_up_weight = torch.zeros((total_dims, up_weight.size(0)), device=device, dtype=torch.float) - padded_up_weight[sum(self.split_dims[:i]) : sum(self.split_dims[: i + 1])] = up_weight - - # merge weight - weight = weight + self.multiplier * (up_weight @ down_weight) * self.scale - - # set weight to org_module - org_sd["weight"] = weight.to(dtype) - self.org_module.load_state_dict(org_sd) - - # 復元できるマージのため、このモジュールのweightを返す - def get_weight(self, multiplier=None): - if multiplier is None: - multiplier = self.multiplier - - # get up/down weight from module - up_weight = self.lora_up.weight.to(torch.float) - down_weight = self.lora_down.weight.to(torch.float) - - # pre-calculated weight - if len(down_weight.size()) == 2: - # linear - weight = self.multiplier * (up_weight @ down_weight) * self.scale - elif down_weight.size()[2:4] == (1, 1): - # conv2d 1x1 - weight = ( - self.multiplier - * (up_weight.squeeze(3).squeeze(2) @ down_weight.squeeze(3).squeeze(2)).unsqueeze(2).unsqueeze(3) - * self.scale - ) - else: - # conv2d 3x3 - conved = torch.nn.functional.conv2d(down_weight.permute(1, 0, 2, 3), up_weight).permute(1, 0, 2, 3) - weight = self.multiplier * conved * self.scale - - return weight - - def set_region(self, region): - self.region = region - self.region_mask = None - - def default_forward(self, x): - # logger.info(f"default_forward {self.lora_name} {x.size()}") - if self.split_dims is None: - lx = self.lora_down(x) - lx = self.lora_up(lx) - return self.org_forward(x) + lx * self.multiplier * self.scale - else: - lxs = [lora_down(x) for lora_down in self.lora_down] - lxs = [lora_up(lx) for lora_up, lx in zip(self.lora_up, lxs)] - return self.org_forward(x) + torch.cat(lxs, dim=-1) * self.multiplier * self.scale - - def forward(self, x): - if not self.enabled: - return self.org_forward(x) - return self.default_forward(x) +NUM_DOUBLE_BLOCKS = 20 +NUM_SINGLE_BLOCKS = 40 def create_network( multiplier: float, network_dim: Optional[int], network_alpha: Optional[float], - ae: AutoencoderKL, - text_encoders: List[CLIPTextModel], + vae: HunyuanVAE2D, + text_encoders: List[nn.Module], flux, neuron_dropout: Optional[float] = None, **kwargs, @@ -462,88 +54,6 @@ def create_network( else: conv_alpha = float(conv_alpha) - # attn dim, mlp dim: only for DoubleStreamBlock. SingleStreamBlock is not supported because of combined qkv - img_attn_dim = kwargs.get("img_attn_dim", None) - txt_attn_dim = kwargs.get("txt_attn_dim", None) - img_mlp_dim = kwargs.get("img_mlp_dim", None) - txt_mlp_dim = kwargs.get("txt_mlp_dim", None) - img_mod_dim = kwargs.get("img_mod_dim", None) - txt_mod_dim = kwargs.get("txt_mod_dim", None) - single_dim = kwargs.get("single_dim", None) # SingleStreamBlock - single_mod_dim = kwargs.get("single_mod_dim", None) # SingleStreamBlock - if img_attn_dim is not None: - img_attn_dim = int(img_attn_dim) - if txt_attn_dim is not None: - txt_attn_dim = int(txt_attn_dim) - if img_mlp_dim is not None: - img_mlp_dim = int(img_mlp_dim) - if txt_mlp_dim is not None: - txt_mlp_dim = int(txt_mlp_dim) - if img_mod_dim is not None: - img_mod_dim = int(img_mod_dim) - if txt_mod_dim is not None: - txt_mod_dim = int(txt_mod_dim) - if single_dim is not None: - single_dim = int(single_dim) - if single_mod_dim is not None: - single_mod_dim = int(single_mod_dim) - type_dims = [img_attn_dim, txt_attn_dim, img_mlp_dim, txt_mlp_dim, img_mod_dim, txt_mod_dim, single_dim, single_mod_dim] - if all([d is None for d in type_dims]): - type_dims = None - - # in_dims [img, time, vector, guidance, txt] - in_dims = kwargs.get("in_dims", None) - if in_dims is not None: - in_dims = in_dims.strip() - if in_dims.startswith("[") and in_dims.endswith("]"): - in_dims = in_dims[1:-1] - in_dims = [int(d) for d in in_dims.split(",")] # is it better to use ast.literal_eval? - assert len(in_dims) == 5, f"invalid in_dims: {in_dims}, must be 5 dimensions (img, time, vector, guidance, txt)" - - # double/single train blocks - def parse_block_selection(selection: str, total_blocks: int) -> List[bool]: - """ - Parse a block selection string and return a list of booleans. - - Args: - selection (str): A string specifying which blocks to select. - total_blocks (int): The total number of blocks available. - - Returns: - List[bool]: A list of booleans indicating which blocks are selected. - """ - if selection == "all": - return [True] * total_blocks - if selection == "none" or selection == "": - return [False] * total_blocks - - selected = [False] * total_blocks - ranges = selection.split(",") - - for r in ranges: - if "-" in r: - start, end = map(str.strip, r.split("-")) - start = int(start) - end = int(end) - assert 0 <= start < total_blocks, f"invalid start index: {start}" - assert 0 <= end < total_blocks, f"invalid end index: {end}" - assert start <= end, f"invalid range: {start}-{end}" - for i in range(start, end + 1): - selected[i] = True - else: - index = int(r) - assert 0 <= index < total_blocks, f"invalid index: {index}" - selected[index] = True - - return selected - - train_double_block_indices = kwargs.get("train_double_block_indices", None) - train_single_block_indices = kwargs.get("train_single_block_indices", None) - if train_double_block_indices is not None: - train_double_block_indices = parse_block_selection(train_double_block_indices, NUM_DOUBLE_BLOCKS) - if train_single_block_indices is not None: - train_single_block_indices = parse_block_selection(train_single_block_indices, NUM_SINGLE_BLOCKS) - # rank/module dropout rank_dropout = kwargs.get("rank_dropout", None) if rank_dropout is not None: @@ -552,11 +62,6 @@ def parse_block_selection(selection: str, total_blocks: int) -> List[bool]: if module_dropout is not None: module_dropout = float(module_dropout) - # single or double blocks - train_blocks = kwargs.get("train_blocks", None) # None (default), "all" (same as None), "single", "double" - if train_blocks is not None: - assert train_blocks in ["all", "single", "double"], f"invalid train_blocks: {train_blocks}" - # split qkv split_qkv = kwargs.get("split_qkv", False) if split_qkv is not None: @@ -571,11 +76,6 @@ def parse_block_selection(selection: str, total_blocks: int) -> List[bool]: if ggpo_sigma is not None: ggpo_sigma = float(ggpo_sigma) - # train T5XXL - train_t5xxl = kwargs.get("train_t5xxl", False) - if train_t5xxl is not None: - train_t5xxl = True if train_t5xxl == "True" else False - # verbose verbose = kwargs.get("verbose", False) if verbose is not None: @@ -617,8 +117,8 @@ def parse_kv_pairs(kv_pair_str: str, is_int: bool) -> Dict[str, float]: else: reg_dims = None - # すごく引数が多いな ( ^ω^)・・・ - network = LoRANetwork( + # Too many arguments ( ^ω^)・・・ + network = HunyuanImageLoRANetwork( text_encoders, flux, multiplier=multiplier, @@ -629,13 +129,7 @@ def parse_kv_pairs(kv_pair_str: str, is_int: bool) -> Dict[str, float]: module_dropout=module_dropout, conv_lora_dim=conv_dim, conv_alpha=conv_alpha, - train_blocks=train_blocks, split_qkv=split_qkv, - train_t5xxl=train_t5xxl, - type_dims=type_dims, - in_dims=in_dims, - train_double_block_indices=train_double_block_indices, - train_single_block_indices=train_single_block_indices, reg_dims=reg_dims, ggpo_beta=ggpo_beta, ggpo_sigma=ggpo_sigma, @@ -668,7 +162,6 @@ def create_network_from_weights(multiplier, file, ae, text_encoders, flux, weigh # get dim/alpha mapping, and train t5xxl modules_dim = {} modules_alpha = {} - train_t5xxl = None for key, value in weights_sd.items(): if "." not in key: continue @@ -681,17 +174,11 @@ def create_network_from_weights(multiplier, file, ae, text_encoders, flux, weigh modules_dim[lora_name] = dim # logger.info(lora_name, value.size(), dim) - if train_t5xxl is None or train_t5xxl is False: - train_t5xxl = "lora_te3" in lora_name - - if train_t5xxl is None: - train_t5xxl = False - split_qkv = False # split_qkv is not needed to care, because state_dict is qkv combined - module_class = LoRAInfModule if for_inference else LoRAModule + module_class = lora_flux.LoRAInfModule if for_inference else lora_flux.LoRAModule - network = LoRANetwork( + network = HunyuanImageLoRANetwork( text_encoders, flux, multiplier=multiplier, @@ -699,23 +186,23 @@ def create_network_from_weights(multiplier, file, ae, text_encoders, flux, weigh modules_alpha=modules_alpha, module_class=module_class, split_qkv=split_qkv, - train_t5xxl=train_t5xxl, ) return network, weights_sd -class LoRANetwork(torch.nn.Module): +class HunyuanImageLoRANetwork(lora_flux.LoRANetwork): # FLUX_TARGET_REPLACE_MODULE = ["DoubleStreamBlock", "SingleStreamBlock"] FLUX_TARGET_REPLACE_MODULE_DOUBLE = ["DoubleStreamBlock"] FLUX_TARGET_REPLACE_MODULE_SINGLE = ["SingleStreamBlock"] - TEXT_ENCODER_TARGET_REPLACE_MODULE = ["CLIPAttention", "CLIPSdpaAttention", "CLIPMLP", "T5Attention", "T5DenseGatedActDense"] - LORA_PREFIX_FLUX = "lora_unet" # make ComfyUI compatible - LORA_PREFIX_TEXT_ENCODER_CLIP = "lora_te1" - LORA_PREFIX_TEXT_ENCODER_T5 = "lora_te3" # make ComfyUI compatible + LORA_PREFIX_HUNYUAN_IMAGE_DIT = "lora_unet" # make ComfyUI compatible + + @classmethod + def get_qkv_mlp_split_dims(cls) -> List[int]: + return [3584] * 3 + [14336] def __init__( self, - text_encoders: Union[List[CLIPTextModel], CLIPTextModel], + text_encoders: list[nn.Module], unet, multiplier: float = 1.0, lora_dim: int = 4, @@ -725,16 +212,10 @@ def __init__( module_dropout: Optional[float] = None, conv_lora_dim: Optional[int] = None, conv_alpha: Optional[float] = None, - module_class: Type[object] = LoRAModule, + module_class: Type[object] = lora_flux.LoRAModule, modules_dim: Optional[Dict[str, int]] = None, modules_alpha: Optional[Dict[str, int]] = None, - train_blocks: Optional[str] = None, split_qkv: bool = False, - train_t5xxl: bool = False, - type_dims: Optional[List[int]] = None, - in_dims: Optional[List[int]] = None, - train_double_block_indices: Optional[List[bool]] = None, - train_single_block_indices: Optional[List[bool]] = None, reg_dims: Optional[Dict[str, int]] = None, ggpo_beta: Optional[float] = None, ggpo_sigma: Optional[float] = None, @@ -751,14 +232,7 @@ def __init__( self.dropout = dropout self.rank_dropout = rank_dropout self.module_dropout = module_dropout - self.train_blocks = train_blocks if train_blocks is not None else "all" self.split_qkv = split_qkv - self.train_t5xxl = train_t5xxl - - self.type_dims = type_dims - self.in_dims = in_dims - self.train_double_block_indices = train_double_block_indices - self.train_single_block_indices = train_single_block_indices self.reg_dims = reg_dims self.reg_lrs = reg_lrs @@ -788,23 +262,18 @@ def __init__( if self.train_blocks is not None: logger.info(f"train {self.train_blocks} blocks only") - if train_t5xxl: - logger.info(f"train T5XXL as well") - # create module instances def create_modules( - is_flux: bool, + is_dit: bool, text_encoder_idx: Optional[int], root_module: torch.nn.Module, target_replace_modules: List[str], filter: Optional[str] = None, default_dim: Optional[int] = None, - ) -> List[LoRAModule]: - prefix = ( - self.LORA_PREFIX_FLUX - if is_flux - else (self.LORA_PREFIX_TEXT_ENCODER_CLIP if text_encoder_idx == 0 else self.LORA_PREFIX_TEXT_ENCODER_T5) - ) + ) -> List[lora_flux.LoRAModule]: + assert is_dit, "only DIT is supported now" + + prefix = self.LORA_PREFIX_HUNYUAN_IMAGE_DIT loras = [] skipped = [] @@ -842,51 +311,10 @@ def create_modules( break # if modules_dim is None, we use default lora_dim. if modules_dim is not None, we use the specified dim (no default) - if dim is None and modules_dim is None: + if dim is None and modules_dim is None: if is_linear or is_conv2d_1x1: dim = default_dim if default_dim is not None else self.lora_dim alpha = self.alpha - - if is_flux and type_dims is not None: - identifier = [ - ("img_attn",), - ("txt_attn",), - ("img_mlp",), - ("txt_mlp",), - ("img_mod",), - ("txt_mod",), - ("single_blocks", "linear"), - ("modulation",), - ] - for i, d in enumerate(type_dims): - if d is not None and all([id in lora_name for id in identifier[i]]): - dim = d # may be 0 for skip - break - - if ( - is_flux - and dim - and ( - self.train_double_block_indices is not None - or self.train_single_block_indices is not None - ) - and ("double" in lora_name or "single" in lora_name) - ): - # "lora_unet_double_blocks_0_..." or "lora_unet_single_blocks_0_..." - block_index = int(lora_name.split("_")[4]) # bit dirty - if ( - "double" in lora_name - and self.train_double_block_indices is not None - and not self.train_double_block_indices[block_index] - ): - dim = 0 - elif ( - "single" in lora_name - and self.train_single_block_indices is not None - and not self.train_single_block_indices[block_index] - ): - dim = 0 - elif self.conv_lora_dim is not None: dim = self.conv_lora_dim alpha = self.conv_alpha @@ -899,11 +327,11 @@ def create_modules( # qkv split split_dims = None - if is_flux and split_qkv: + if is_dit and split_qkv: if "double" in lora_name and "qkv" in lora_name: - split_dims = [3072] * 3 + split_dims = self.get_qkv_mlp_split_dims()[:3] # qkv only elif "single" in lora_name and "linear1" in lora_name: - split_dims = [3072] * 3 + [12288] + split_dims = self.get_qkv_mlp_split_dims() # qkv + mlp lora = module_class( lora_name, @@ -924,48 +352,21 @@ def create_modules( break # all modules are searched return loras, skipped - # create LoRA for text encoder - # 毎回すべてのモジュールを作るのは無駄なので要検討 - self.text_encoder_loras: List[Union[LoRAModule, LoRAInfModule]] = [] - skipped_te = [] - for i, text_encoder in enumerate(text_encoders): - index = i - if text_encoder is None: - logger.info(f"Text Encoder {index+1} is None, skipping LoRA creation for this encoder.") - continue - if not train_t5xxl and index > 0: # 0: CLIP, 1: T5XXL, so we skip T5XXL if train_t5xxl is False - break - - logger.info(f"create LoRA for Text Encoder {index+1}:") - - text_encoder_loras, skipped = create_modules(False, index, text_encoder, LoRANetwork.TEXT_ENCODER_TARGET_REPLACE_MODULE) - logger.info(f"create LoRA for Text Encoder {index+1}: {len(text_encoder_loras)} modules.") - self.text_encoder_loras.extend(text_encoder_loras) - skipped_te += skipped - # create LoRA for U-Net - if self.train_blocks == "all": - target_replace_modules = LoRANetwork.FLUX_TARGET_REPLACE_MODULE_DOUBLE + LoRANetwork.FLUX_TARGET_REPLACE_MODULE_SINGLE - elif self.train_blocks == "single": - target_replace_modules = LoRANetwork.FLUX_TARGET_REPLACE_MODULE_SINGLE - elif self.train_blocks == "double": - target_replace_modules = LoRANetwork.FLUX_TARGET_REPLACE_MODULE_DOUBLE + target_replace_modules = ( + HunyuanImageLoRANetwork.FLUX_TARGET_REPLACE_MODULE_DOUBLE + HunyuanImageLoRANetwork.FLUX_TARGET_REPLACE_MODULE_SINGLE + ) - self.unet_loras: List[Union[LoRAModule, LoRAInfModule]] + self.unet_loras: List[Union[lora_flux.LoRAModule, lora_flux.LoRAInfModule]] self.unet_loras, skipped_un = create_modules(True, None, unet, target_replace_modules) - - # img, time, vector, guidance, txt - if self.in_dims: - for filter, in_dim in zip(["_img_in", "_time_in", "_vector_in", "_guidance_in", "_txt_in"], self.in_dims): - loras, _ = create_modules(True, None, unet, None, filter=filter, default_dim=in_dim) - self.unet_loras.extend(loras) + self.text_encoder_loras = [] logger.info(f"create LoRA for FLUX {self.train_blocks} blocks: {len(self.unet_loras)} modules.") if verbose: for lora in self.unet_loras: logger.info(f"\t{lora.lora_name:50} {lora.lora_dim}, {lora.alpha}") - skipped = skipped_te + skipped_un + skipped = skipped_un if verbose and len(skipped) > 0: logger.warning( f"because dim (rank) is 0, {len(skipped)} LoRA modules are skipped / dim (rank)が0の為、次の{len(skipped)}個のLoRAモジュールはスキップされます:" @@ -978,467 +379,3 @@ def create_modules( for lora in self.text_encoder_loras + self.unet_loras: assert lora.lora_name not in names, f"duplicated lora name: {lora.lora_name}" names.add(lora.lora_name) - - def set_multiplier(self, multiplier): - self.multiplier = multiplier - for lora in self.text_encoder_loras + self.unet_loras: - lora.multiplier = self.multiplier - - def set_enabled(self, is_enabled): - for lora in self.text_encoder_loras + self.unet_loras: - lora.enabled = is_enabled - - def update_norms(self): - for lora in self.text_encoder_loras + self.unet_loras: - lora.update_norms() - - def update_grad_norms(self): - for lora in self.text_encoder_loras + self.unet_loras: - lora.update_grad_norms() - - def grad_norms(self) -> Tensor | None: - grad_norms = [] - for lora in self.text_encoder_loras + self.unet_loras: - if hasattr(lora, "grad_norms") and lora.grad_norms is not None: - grad_norms.append(lora.grad_norms.mean(dim=0)) - return torch.stack(grad_norms) if len(grad_norms) > 0 else None - - def weight_norms(self) -> Tensor | None: - weight_norms = [] - for lora in self.text_encoder_loras + self.unet_loras: - if hasattr(lora, "weight_norms") and lora.weight_norms is not None: - weight_norms.append(lora.weight_norms.mean(dim=0)) - return torch.stack(weight_norms) if len(weight_norms) > 0 else None - - def combined_weight_norms(self) -> Tensor | None: - combined_weight_norms = [] - for lora in self.text_encoder_loras + self.unet_loras: - if hasattr(lora, "combined_weight_norms") and lora.combined_weight_norms is not None: - combined_weight_norms.append(lora.combined_weight_norms.mean(dim=0)) - return torch.stack(combined_weight_norms) if len(combined_weight_norms) > 0 else None - - def load_weights(self, file): - if os.path.splitext(file)[1] == ".safetensors": - from safetensors.torch import load_file - - weights_sd = load_file(file) - else: - weights_sd = torch.load(file, map_location="cpu") - - info = self.load_state_dict(weights_sd, False) - return info - - def load_state_dict(self, state_dict, strict=True): - # override to convert original weight to split qkv - if not self.split_qkv: - return super().load_state_dict(state_dict, strict) - - # split qkv - for key in list(state_dict.keys()): - if "double" in key and "qkv" in key: - split_dims = [3072] * 3 - elif "single" in key and "linear1" in key: - split_dims = [3072] * 3 + [12288] - else: - continue - - weight = state_dict[key] - lora_name = key.split(".")[0] - if "lora_down" in key and "weight" in key: - # dense weight (rank*3, in_dim) - split_weight = torch.chunk(weight, len(split_dims), dim=0) - for i, split_w in enumerate(split_weight): - state_dict[f"{lora_name}.lora_down.{i}.weight"] = split_w - - del state_dict[key] - # print(f"split {key}: {weight.shape} to {[w.shape for w in split_weight]}") - elif "lora_up" in key and "weight" in key: - # sparse weight (out_dim=sum(split_dims), rank*3) - rank = weight.size(1) // len(split_dims) - i = 0 - for j in range(len(split_dims)): - state_dict[f"{lora_name}.lora_up.{j}.weight"] = weight[i : i + split_dims[j], j * rank : (j + 1) * rank] - i += split_dims[j] - del state_dict[key] - - # # check is sparse - # i = 0 - # is_zero = True - # for j in range(len(split_dims)): - # for k in range(len(split_dims)): - # if j == k: - # continue - # is_zero = is_zero and torch.all(weight[i : i + split_dims[j], k * rank : (k + 1) * rank] == 0) - # i += split_dims[j] - # if not is_zero: - # logger.warning(f"weight is not sparse: {key}") - # else: - # logger.info(f"weight is sparse: {key}") - - # print( - # f"split {key}: {weight.shape} to {[state_dict[k].shape for k in [f'{lora_name}.lora_up.{j}.weight' for j in range(len(split_dims))]]}" - # ) - - # alpha is unchanged - - return super().load_state_dict(state_dict, strict) - - def state_dict(self, destination=None, prefix="", keep_vars=False): - if not self.split_qkv: - return super().state_dict(destination, prefix, keep_vars) - - # merge qkv - state_dict = super().state_dict(destination, prefix, keep_vars) - new_state_dict = {} - for key in list(state_dict.keys()): - if "double" in key and "qkv" in key: - split_dims = [3072] * 3 - elif "single" in key and "linear1" in key: - split_dims = [3072] * 3 + [12288] - else: - new_state_dict[key] = state_dict[key] - continue - - if key not in state_dict: - continue # already merged - - lora_name = key.split(".")[0] - - # (rank, in_dim) * 3 - down_weights = [state_dict.pop(f"{lora_name}.lora_down.{i}.weight") for i in range(len(split_dims))] - # (split dim, rank) * 3 - up_weights = [state_dict.pop(f"{lora_name}.lora_up.{i}.weight") for i in range(len(split_dims))] - - alpha = state_dict.pop(f"{lora_name}.alpha") - - # merge down weight - down_weight = torch.cat(down_weights, dim=0) # (rank, split_dim) * 3 -> (rank*3, sum of split_dim) - - # merge up weight (sum of split_dim, rank*3) - rank = up_weights[0].size(1) - up_weight = torch.zeros((sum(split_dims), down_weight.size(0)), device=down_weight.device, dtype=down_weight.dtype) - i = 0 - for j in range(len(split_dims)): - up_weight[i : i + split_dims[j], j * rank : (j + 1) * rank] = up_weights[j] - i += split_dims[j] - - new_state_dict[f"{lora_name}.lora_down.weight"] = down_weight - new_state_dict[f"{lora_name}.lora_up.weight"] = up_weight - new_state_dict[f"{lora_name}.alpha"] = alpha - - # print( - # f"merged {lora_name}: {lora_name}, {[w.shape for w in down_weights]}, {[w.shape for w in up_weights]} to {down_weight.shape}, {up_weight.shape}" - # ) - print(f"new key: {lora_name}.lora_down.weight, {lora_name}.lora_up.weight, {lora_name}.alpha") - - return new_state_dict - - def apply_to(self, text_encoders, flux, apply_text_encoder=True, apply_unet=True): - if apply_text_encoder: - logger.info(f"enable LoRA for text encoder: {len(self.text_encoder_loras)} modules") - else: - self.text_encoder_loras = [] - - if apply_unet: - logger.info(f"enable LoRA for U-Net: {len(self.unet_loras)} modules") - else: - self.unet_loras = [] - - for lora in self.text_encoder_loras + self.unet_loras: - lora.apply_to() - self.add_module(lora.lora_name, lora) - - # マージできるかどうかを返す - def is_mergeable(self): - return True - - # TODO refactor to common function with apply_to - def merge_to(self, text_encoders, flux, weights_sd, dtype=None, device=None): - apply_text_encoder = apply_unet = False - for key in weights_sd.keys(): - if key.startswith(LoRANetwork.LORA_PREFIX_TEXT_ENCODER_CLIP) or key.startswith(LoRANetwork.LORA_PREFIX_TEXT_ENCODER_T5): - apply_text_encoder = True - elif key.startswith(LoRANetwork.LORA_PREFIX_FLUX): - apply_unet = True - - if apply_text_encoder: - logger.info("enable LoRA for text encoder") - else: - self.text_encoder_loras = [] - - if apply_unet: - logger.info("enable LoRA for U-Net") - else: - self.unet_loras = [] - - for lora in self.text_encoder_loras + self.unet_loras: - sd_for_lora = {} - for key in weights_sd.keys(): - if key.startswith(lora.lora_name): - sd_for_lora[key[len(lora.lora_name) + 1 :]] = weights_sd[key] - lora.merge_to(sd_for_lora, dtype, device) - - logger.info(f"weights are merged") - - def set_loraplus_lr_ratio(self, loraplus_lr_ratio, loraplus_unet_lr_ratio, loraplus_text_encoder_lr_ratio): - self.loraplus_lr_ratio = loraplus_lr_ratio - self.loraplus_unet_lr_ratio = loraplus_unet_lr_ratio - self.loraplus_text_encoder_lr_ratio = loraplus_text_encoder_lr_ratio - - logger.info(f"LoRA+ UNet LR Ratio: {self.loraplus_unet_lr_ratio or self.loraplus_lr_ratio}") - logger.info(f"LoRA+ Text Encoder LR Ratio: {self.loraplus_text_encoder_lr_ratio or self.loraplus_lr_ratio}") - - def prepare_optimizer_params_with_multiple_te_lrs(self, text_encoder_lr, unet_lr, default_lr): - # make sure text_encoder_lr as list of two elements - # if float, use the same value for both text encoders - if text_encoder_lr is None or (isinstance(text_encoder_lr, list) and len(text_encoder_lr) == 0): - text_encoder_lr = [default_lr, default_lr] - elif isinstance(text_encoder_lr, float) or isinstance(text_encoder_lr, int): - text_encoder_lr = [float(text_encoder_lr), float(text_encoder_lr)] - elif len(text_encoder_lr) == 1: - text_encoder_lr = [text_encoder_lr[0], text_encoder_lr[0]] - - self.requires_grad_(True) - - all_params = [] - lr_descriptions = [] - - reg_lrs_list = list(self.reg_lrs.items()) if self.reg_lrs is not None else [] - - def assemble_params(loras, lr, loraplus_ratio): - param_groups = {"lora": {}, "plus": {}} - # regular expression param groups: {"reg_lr_0": {"lora": {}, "plus": {}}, ...} - reg_groups = {} - - for lora in loras: - # check if this lora matches any regex learning rate - matched_reg_lr = None - for i, (regex_str, reg_lr) in enumerate(reg_lrs_list): - try: - if re.search(regex_str, lora.lora_name): - matched_reg_lr = (i, reg_lr) - logger.info(f"Module {lora.lora_name} matched regex '{regex_str}' -> LR {reg_lr}") - break - except re.error: - # regex error should have been caught during parsing, but just in case - continue - - for name, param in lora.named_parameters(): - param_key = f"{lora.lora_name}.{name}" - is_plus = loraplus_ratio is not None and "lora_up" in name - - if matched_reg_lr is not None: - # use regex-specific learning rate - reg_idx, reg_lr = matched_reg_lr - group_key = f"reg_lr_{reg_idx}" - if group_key not in reg_groups: - reg_groups[group_key] = {"lora": {}, "plus": {}, "lr": reg_lr} - - if is_plus: - reg_groups[group_key]["plus"][param_key] = param - else: - reg_groups[group_key]["lora"][param_key] = param - else: - # use default learning rate - if is_plus: - param_groups["plus"][param_key] = param - else: - param_groups["lora"][param_key] = param - - params = [] - descriptions = [] - - # process regex-specific groups first (higher priority) - for group_key in sorted(reg_groups.keys()): - group = reg_groups[group_key] - reg_lr = group["lr"] - - for param_type in ["lora", "plus"]: - if len(group[param_type]) == 0: - continue - - param_data = {"params": group[param_type].values()} - - if param_type == "plus" and loraplus_ratio is not None: - param_data["lr"] = reg_lr * loraplus_ratio - else: - param_data["lr"] = reg_lr - - if param_data.get("lr", None) == 0 or param_data.get("lr", None) is None: - continue - - params.append(param_data) - desc = f"reg_lr_{group_key.split('_')[-1]}" - if param_type == "plus": - desc += " plus" - descriptions.append(desc) - - # process default groups - for key in param_groups.keys(): - param_data = {"params": param_groups[key].values()} - - if len(param_data["params"]) == 0: - continue - - if lr is not None: - if key == "plus": - param_data["lr"] = lr * loraplus_ratio - else: - param_data["lr"] = lr - - if param_data.get("lr", None) == 0 or param_data.get("lr", None) is None: - logger.info("NO LR skipping!") - continue - - params.append(param_data) - descriptions.append("plus" if key == "plus" else "") - - return params, descriptions - - if self.text_encoder_loras: - loraplus_lr_ratio = self.loraplus_text_encoder_lr_ratio or self.loraplus_lr_ratio - - # split text encoder loras for te1 and te3 - te1_loras = [lora for lora in self.text_encoder_loras if lora.lora_name.startswith(self.LORA_PREFIX_TEXT_ENCODER_CLIP)] - te3_loras = [lora for lora in self.text_encoder_loras if lora.lora_name.startswith(self.LORA_PREFIX_TEXT_ENCODER_T5)] - if len(te1_loras) > 0: - logger.info(f"Text Encoder 1 (CLIP-L): {len(te1_loras)} modules, LR {text_encoder_lr[0]}") - params, descriptions = assemble_params(te1_loras, text_encoder_lr[0], loraplus_lr_ratio) - all_params.extend(params) - lr_descriptions.extend(["textencoder 1 " + (" " + d if d else "") for d in descriptions]) - if len(te3_loras) > 0: - logger.info(f"Text Encoder 2 (T5XXL): {len(te3_loras)} modules, LR {text_encoder_lr[1]}") - params, descriptions = assemble_params(te3_loras, text_encoder_lr[1], loraplus_lr_ratio) - all_params.extend(params) - lr_descriptions.extend(["textencoder 2 " + (" " + d if d else "") for d in descriptions]) - - if self.unet_loras: - params, descriptions = assemble_params( - self.unet_loras, - unet_lr if unet_lr is not None else default_lr, - self.loraplus_unet_lr_ratio or self.loraplus_lr_ratio, - ) - all_params.extend(params) - lr_descriptions.extend(["unet" + (" " + d if d else "") for d in descriptions]) - - return all_params, lr_descriptions - - def enable_gradient_checkpointing(self): - # not supported - pass - - def prepare_grad_etc(self, text_encoder, unet): - self.requires_grad_(True) - - def on_epoch_start(self, text_encoder, unet): - self.train() - - def get_trainable_params(self): - return self.parameters() - - def save_weights(self, file, dtype, metadata): - if metadata is not None and len(metadata) == 0: - metadata = None - - state_dict = self.state_dict() - - if dtype is not None: - for key in list(state_dict.keys()): - v = state_dict[key] - v = v.detach().clone().to("cpu").to(dtype) - state_dict[key] = v - - if os.path.splitext(file)[1] == ".safetensors": - from safetensors.torch import save_file - from library import train_util - - # Precalculate model hashes to save time on indexing - if metadata is None: - metadata = {} - model_hash, legacy_hash = train_util.precalculate_safetensors_hashes(state_dict, metadata) - metadata["sshs_model_hash"] = model_hash - metadata["sshs_legacy_hash"] = legacy_hash - - save_file(state_dict, file, metadata) - else: - torch.save(state_dict, file) - - def backup_weights(self): - # 重みのバックアップを行う - loras: List[LoRAInfModule] = self.text_encoder_loras + self.unet_loras - for lora in loras: - org_module = lora.org_module_ref[0] - if not hasattr(org_module, "_lora_org_weight"): - sd = org_module.state_dict() - org_module._lora_org_weight = sd["weight"].detach().clone() - org_module._lora_restored = True - - def restore_weights(self): - # 重みのリストアを行う - loras: List[LoRAInfModule] = self.text_encoder_loras + self.unet_loras - for lora in loras: - org_module = lora.org_module_ref[0] - if not org_module._lora_restored: - sd = org_module.state_dict() - sd["weight"] = org_module._lora_org_weight - org_module.load_state_dict(sd) - org_module._lora_restored = True - - def pre_calculation(self): - # 事前計算を行う - loras: List[LoRAInfModule] = self.text_encoder_loras + self.unet_loras - for lora in loras: - org_module = lora.org_module_ref[0] - sd = org_module.state_dict() - - org_weight = sd["weight"] - lora_weight = lora.get_weight().to(org_weight.device, dtype=org_weight.dtype) - sd["weight"] = org_weight + lora_weight - assert sd["weight"].shape == org_weight.shape - org_module.load_state_dict(sd) - - org_module._lora_restored = False - lora.enabled = False - - def apply_max_norm_regularization(self, max_norm_value, device): - downkeys = [] - upkeys = [] - alphakeys = [] - norms = [] - keys_scaled = 0 - - state_dict = self.state_dict() - for key in state_dict.keys(): - if "lora_down" in key and "weight" in key: - downkeys.append(key) - upkeys.append(key.replace("lora_down", "lora_up")) - alphakeys.append(key.replace("lora_down.weight", "alpha")) - - for i in range(len(downkeys)): - down = state_dict[downkeys[i]].to(device) - up = state_dict[upkeys[i]].to(device) - alpha = state_dict[alphakeys[i]].to(device) - dim = down.shape[0] - scale = alpha / dim - - if up.shape[2:] == (1, 1) and down.shape[2:] == (1, 1): - updown = (up.squeeze(2).squeeze(2) @ down.squeeze(2).squeeze(2)).unsqueeze(2).unsqueeze(3) - elif up.shape[2:] == (3, 3) or down.shape[2:] == (3, 3): - updown = torch.nn.functional.conv2d(down.permute(1, 0, 2, 3), up).permute(1, 0, 2, 3) - else: - updown = up @ down - - updown *= scale - - norm = updown.norm().clamp(min=max_norm_value / 2) - desired = torch.clamp(norm, max=max_norm_value) - ratio = desired.cpu() / norm.cpu() - sqrt_ratio = ratio**0.5 - if ratio != 1: - keys_scaled += 1 - state_dict[upkeys[i]] *= sqrt_ratio - state_dict[downkeys[i]] *= sqrt_ratio - scalednorm = updown.norm() * ratio - norms.append(scalednorm.item()) - - return keys_scaled, sum(norms) / len(norms), max(norms) diff --git a/train_network.py b/train_network.py index 3dedb574c..00118877b 100644 --- a/train_network.py +++ b/train_network.py @@ -475,6 +475,9 @@ def process_batch( return loss.mean() + def cast_text_encoder(self): + return True # default for other than HunyuanImage + def train(self, args): session_id = random.randint(0, 2**32) training_started_at = time.time() @@ -832,7 +835,7 @@ def train(self, args): t_enc.requires_grad_(False) # in case of cpu, dtype is already set to fp32 because cpu does not support fp8/fp16/bf16 - if t_enc.device.type != "cpu": + if t_enc.device.type != "cpu" and self.cast_text_encoder(): t_enc.to(dtype=te_weight_dtype) # nn.Embedding not support FP8 From a0f0afbb4603290bf1b9bd7a3c9a6bf6d8a6a568 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Thu, 11 Sep 2025 22:27:00 +0900 Subject: [PATCH 677/748] fix: revert constructor signature update --- library/custom_offloading_utils.py | 27 +++++++++++++-------------- library/hunyuan_image_models.py | 4 ++-- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/library/custom_offloading_utils.py b/library/custom_offloading_utils.py index 4fbea542a..8699b3448 100644 --- a/library/custom_offloading_utils.py +++ b/library/custom_offloading_utils.py @@ -89,8 +89,7 @@ class Offloader: common offloading class """ - def __init__(self, block_type: str, num_blocks: int, blocks_to_swap: int, device: torch.device, debug: bool = False): - self.block_type = block_type + def __init__(self, num_blocks: int, blocks_to_swap: int, device: torch.device, debug: bool = False): self.num_blocks = num_blocks self.blocks_to_swap = blocks_to_swap self.device = device @@ -110,16 +109,12 @@ def _submit_move_blocks(self, blocks, block_idx_to_cpu, block_idx_to_cuda): def move_blocks(bidx_to_cpu, block_to_cpu, bidx_to_cuda, block_to_cuda): if self.debug: start_time = time.perf_counter() - print( - f"[{self.block_type}] Move block {bidx_to_cpu} to CPU and block {bidx_to_cuda} to {'CUDA' if self.cuda_available else 'device'}" - ) + print(f"Move block {bidx_to_cpu} to CPU and block {bidx_to_cuda} to {'CUDA' if self.cuda_available else 'device'}") self.swap_weight_devices(block_to_cpu, block_to_cuda) if self.debug: - print( - f"[{self.block_type}] Moved blocks {bidx_to_cpu} and {bidx_to_cuda} in {time.perf_counter() - start_time:.2f}s" - ) + print(f"Moved blocks {bidx_to_cpu} and {bidx_to_cuda} in {time.perf_counter() - start_time:.2f}s") return bidx_to_cpu, bidx_to_cuda # , event block_to_cpu = blocks[block_idx_to_cpu] @@ -134,7 +129,7 @@ def _wait_blocks_move(self, block_idx): return if self.debug: - print(f"[{self.block_type}] Wait for block {block_idx}") + print(f"Wait for block {block_idx}") start_time = time.perf_counter() future = self.futures.pop(block_idx) @@ -143,7 +138,7 @@ def _wait_blocks_move(self, block_idx): assert block_idx == bidx_to_cuda, f"Block index mismatch: {block_idx} != {bidx_to_cuda}" if self.debug: - print(f"[{self.block_type}] Waited for block {block_idx}: {time.perf_counter() - start_time:.2f}s") + print(f"Waited for block {block_idx}: {time.perf_counter() - start_time:.2f}s") class ModelOffloader(Offloader): @@ -152,10 +147,14 @@ class ModelOffloader(Offloader): """ def __init__( - self, blocks: list[nn.Module], blocks_to_swap: int, supports_backward: bool, device: torch.device, debug: bool = False + self, + blocks: list[nn.Module], + blocks_to_swap: int, + device: torch.device, + supports_backward: bool = True, + debug: bool = False, ): - block_type = f"{blocks[0].__class__.__name__}" if len(blocks) > 0 else "Unknown" - super().__init__(block_type, len(blocks), blocks_to_swap, device, debug) + super().__init__(len(blocks), blocks_to_swap, device, debug) self.supports_backward = supports_backward self.forward_only = not supports_backward # forward only offloading: can be changed to True for inference @@ -208,7 +207,7 @@ def prepare_block_devices_before_forward(self, blocks: list[nn.Module]): return if self.debug: - print(f"[{self.block_type}] Prepare block devices before forward") + print(f"Prepare block devices before forward") for b in blocks[0 : self.num_blocks - self.blocks_to_swap]: b.to(self.device) diff --git a/library/hunyuan_image_models.py b/library/hunyuan_image_models.py index 9847c55ee..9e3a00e8b 100644 --- a/library/hunyuan_image_models.py +++ b/library/hunyuan_image_models.py @@ -171,10 +171,10 @@ def enable_block_swap(self, num_blocks: int, device: torch.device, supports_back ) self.offloader_double = custom_offloading_utils.ModelOffloader( - self.double_blocks, double_blocks_to_swap, supports_backward, device + self.double_blocks, double_blocks_to_swap, device, supports_backward=supports_backward ) self.offloader_single = custom_offloading_utils.ModelOffloader( - self.single_blocks, single_blocks_to_swap, supports_backward, device + self.single_blocks, single_blocks_to_swap, device, supports_backward=supports_backward ) # , debug=True print( From cbc9e1a3b18b191fca2582ad18e9282381368360 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Thu, 11 Sep 2025 22:27:08 +0900 Subject: [PATCH 678/748] feat: add byt5 to the list of recognized words in typos configuration --- _typos.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/_typos.toml b/_typos.toml index 75f0bf055..cc167eaaa 100644 --- a/_typos.toml +++ b/_typos.toml @@ -30,6 +30,7 @@ yos="yos" wn="wn" hime="hime" OT="OT" +byt5="byt5" # [files] # # Extend the default list of files to check From 209c02dbb6952e1006a625c2cdd653a91db25bd0 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Fri, 12 Sep 2025 21:40:42 +0900 Subject: [PATCH 679/748] feat: HunyuanImage LoRA training --- _typos.toml | 2 +- hunyuan_image_minimal_inference.py | 30 +++-- hunyuan_image_train_network.py | 164 ++++++++++++++++---------- library/attention.py | 46 +++++++- library/hunyuan_image_models.py | 27 ++++- library/hunyuan_image_modules.py | 56 ++++++--- library/hunyuan_image_text_encoder.py | 2 +- library/hunyuan_image_vae.py | 4 +- library/strategy_hunyuan_image.py | 49 ++++++-- library/train_util.py | 34 +++++- networks/lora_hunyuan_image.py | 13 +- train_network.py | 74 +++++++----- 12 files changed, 352 insertions(+), 149 deletions(-) diff --git a/_typos.toml b/_typos.toml index cc167eaaa..362ba8a60 100644 --- a/_typos.toml +++ b/_typos.toml @@ -30,7 +30,7 @@ yos="yos" wn="wn" hime="hime" OT="OT" -byt5="byt5" +byt="byt" # [files] # # Extend the default list of files to check diff --git a/hunyuan_image_minimal_inference.py b/hunyuan_image_minimal_inference.py index ba8ca78e6..3de0b1cd4 100644 --- a/hunyuan_image_minimal_inference.py +++ b/hunyuan_image_minimal_inference.py @@ -66,7 +66,7 @@ def parse_args() -> argparse.Namespace: # inference parser.add_argument( - "--guidance_scale", type=float, default=4.0, help="Guidance scale for classifier free guidance. Default is 4.0." + "--guidance_scale", type=float, default=5.0, help="Guidance scale for classifier free guidance. Default is 5.0." ) parser.add_argument("--prompt", type=str, default=None, help="prompt for generation") parser.add_argument("--negative_prompt", type=str, default="", help="negative prompt for generation, default is empty string") @@ -508,7 +508,7 @@ def move_models_to_device_if_needed(): prompt = args.prompt cache_key = prompt if cache_key in conds_cache: - embed, mask = conds_cache[cache_key] + embed, mask, embed_byt5, mask_byt5, ocr_mask = conds_cache[cache_key] else: move_models_to_device_if_needed() @@ -527,7 +527,7 @@ def move_models_to_device_if_needed(): negative_prompt = args.negative_prompt cache_key = negative_prompt if cache_key in conds_cache: - negative_embed, negative_mask = conds_cache[cache_key] + negative_embed, negative_mask, negative_embed_byt5, negative_mask_byt5, negative_ocr_mask = conds_cache[cache_key] else: move_models_to_device_if_needed() @@ -614,9 +614,10 @@ def generate( shared_models["model"] = model else: # use shared model + logger.info("Using shared DiT model.") model: hunyuan_image_models.HYImageDiffusionTransformer = shared_models["model"] - # model.move_to_device_except_swap_blocks(device) # Handles block swap correctly - # model.prepare_block_swap_before_forward() + model.move_to_device_except_swap_blocks(device) # Handles block swap correctly + model.prepare_block_swap_before_forward() return generate_body(args, model, context, context_null, device, seed) @@ -678,9 +679,18 @@ def generate_body( # Denoising loop do_cfg = args.guidance_scale != 1.0 + # print(f"embed shape: {embed.shape}, mean: {embed.mean()}, std: {embed.std()}") + # print(f"embed_byt5 shape: {embed_byt5.shape}, mean: {embed_byt5.mean()}, std: {embed_byt5.std()}") + # print(f"negative_embed shape: {negative_embed.shape}, mean: {negative_embed.mean()}, std: {negative_embed.std()}") + # print(f"negative_embed_byt5 shape: {negative_embed_byt5.shape}, mean: {negative_embed_byt5.mean()}, std: {negative_embed_byt5.std()}") + # print(f"latents shape: {latents.shape}, mean: {latents.mean()}, std: {latents.std()}") + # print(f"mask shape: {mask.shape}, sum: {mask.sum()}") + # print(f"mask_byt5 shape: {mask_byt5.shape}, sum: {mask_byt5.sum()}") + # print(f"negative_mask shape: {negative_mask.shape}, sum: {negative_mask.sum()}") + # print(f"negative_mask_byt5 shape: {negative_mask_byt5.shape}, sum: {negative_mask_byt5.sum()}") with tqdm(total=len(timesteps), desc="Denoising steps") as pbar: for i, t in enumerate(timesteps): - t_expand = t.expand(latents.shape[0]).to(latents.dtype) + t_expand = t.expand(latents.shape[0]).to(torch.int64) with torch.no_grad(): noise_pred = model(latents, t_expand, embed, mask, embed_byt5, mask_byt5) @@ -1040,6 +1050,9 @@ def process_interactive(args: argparse.Namespace) -> None: shared_models = load_shared_models(args) shared_models["conds_cache"] = {} # Initialize empty cache for interactive mode + vae = hunyuan_image_vae.load_vae(args.vae, device="cpu", disable_mmap=True) + vae.eval() + print("Interactive mode. Enter prompts (Ctrl+D or Ctrl+Z (Windows) to exit):") try: @@ -1059,9 +1072,6 @@ def input_line(prompt: str) -> str: def input_line(prompt: str) -> str: return input(prompt) - vae = hunyuan_image_vae.load_vae(args.vae, device="cpu", disable_mmap=True) - vae.eval() - try: while True: try: @@ -1088,7 +1098,7 @@ def input_line(prompt: str) -> str: # Save latent and video # returned_vae from generate will be used for decoding here. - save_output(prompt_args, vae, latent[0], device) + save_output(prompt_args, vae, latent, device) except KeyboardInterrupt: print("\nInterrupted. Continue (Ctrl+D or Ctrl+Z (Windows) to exit)") diff --git a/hunyuan_image_train_network.py b/hunyuan_image_train_network.py index b1281fa01..291d5132f 100644 --- a/hunyuan_image_train_network.py +++ b/hunyuan_image_train_network.py @@ -1,5 +1,6 @@ import argparse import copy +import gc from typing import Any, Optional, Union import argparse import os @@ -12,7 +13,7 @@ from PIL import Image from accelerate import Accelerator, PartialState -from library import hunyuan_image_models, hunyuan_image_vae, strategy_base, train_util +from library import flux_utils, hunyuan_image_models, hunyuan_image_vae, strategy_base, train_util from library.device_utils import clean_memory_on_device, init_ipex init_ipex() @@ -24,7 +25,6 @@ hunyuan_image_text_encoder, hunyuan_image_utils, hunyuan_image_vae, - sai_model_spec, sd3_train_utils, strategy_base, strategy_hunyuan_image, @@ -79,8 +79,6 @@ def sample_images( dit = accelerator.unwrap_model(dit) if text_encoders is not None: text_encoders = [(accelerator.unwrap_model(te) if te is not None else None) for te in text_encoders] - if controlnet is not None: - controlnet = accelerator.unwrap_model(controlnet) # print([(te.parameters().__next__().device if te is not None else None) for te in text_encoders]) prompts = train_util.load_prompts(args.sample_prompts) @@ -162,10 +160,10 @@ def sample_image_inference( sample_steps = prompt_dict.get("sample_steps", 20) width = prompt_dict.get("width", 512) height = prompt_dict.get("height", 512) - cfg_scale = prompt_dict.get("scale", 1.0) + cfg_scale = prompt_dict.get("scale", 3.5) seed = prompt_dict.get("seed") prompt: str = prompt_dict.get("prompt", "") - flow_shift: float = prompt_dict.get("flow_shift", 4.0) + flow_shift: float = prompt_dict.get("flow_shift", 5.0) # sampler_name: str = prompt_dict.get("sample_sampler", args.sample_sampler) if prompt_replacement is not None: @@ -208,11 +206,10 @@ def encode_prompt(prpt): text_encoder_conds = [] if sample_prompts_te_outputs and prpt in sample_prompts_te_outputs: text_encoder_conds = sample_prompts_te_outputs[prpt] - print(f"Using cached text encoder outputs for prompt: {prpt}") + # print(f"Using cached text encoder outputs for prompt: {prpt}") if text_encoders is not None: - print(f"Encoding prompt: {prpt}") + # print(f"Encoding prompt: {prpt}") tokens_and_masks = tokenize_strategy.tokenize(prpt) - # strategy has apply_t5_attn_mask option encoded_text_encoder_conds = encoding_strategy.encode_tokens(tokenize_strategy, text_encoders, tokens_and_masks) # if text_encoder_conds is not cached, use encoded_text_encoder_conds @@ -255,16 +252,21 @@ def encode_prompt(prpt): from hunyuan_image_minimal_inference import generate_body # import here to avoid circular import - latents = generate_body(gen_args, dit, arg_c, arg_c_null, accelerator.device, seed) + dit_is_training = dit.training + dit.eval() + x = generate_body(gen_args, dit, arg_c, arg_c_null, accelerator.device, seed) + if dit_is_training: + dit.train() + clean_memory_on_device(accelerator.device) # latent to image - clean_memory_on_device(accelerator.device) org_vae_device = vae.device # will be on cpu vae.to(accelerator.device) # distributed_state.device is same as accelerator.device - with torch.autocast(accelerator.device.type, vae.dtype, enabled=True), torch.no_grad(): - x = x / hunyuan_image_vae.VAE_SCALE_FACTOR - x = vae.decode(x) + with torch.no_grad(): + x = x / vae.scaling_factor + x = vae.decode(x.to(vae.device, dtype=vae.dtype)) vae.to(org_vae_device) + clean_memory_on_device(accelerator.device) x = x.clamp(-1, 1) @@ -299,6 +301,7 @@ def __init__(self): super().__init__() self.sample_prompts_te_outputs = None self.is_swapping_blocks: bool = False + self.rotary_pos_emb_cache = {} def assert_extra_args( self, @@ -341,12 +344,42 @@ def assert_extra_args( def load_target_model(self, args, weight_dtype, accelerator): self.is_swapping_blocks = args.blocks_to_swap is not None and args.blocks_to_swap > 0 - # currently offload to cpu for some models + vl_dtype = torch.float8_e4m3fn if args.fp8_vl else torch.bfloat16 + vl_device = "cpu" + _, text_encoder_vlm = hunyuan_image_text_encoder.load_qwen2_5_vl( + args.text_encoder, dtype=vl_dtype, device=vl_device, disable_mmap=args.disable_mmap_load_safetensors + ) + _, text_encoder_byt5 = hunyuan_image_text_encoder.load_byt5( + args.byt5, dtype=torch.float16, device=vl_device, disable_mmap=args.disable_mmap_load_safetensors + ) + + vae = hunyuan_image_vae.load_vae(args.vae, "cpu", disable_mmap=args.disable_mmap_load_safetensors) + vae.to(dtype=torch.float16) # VAE is always fp16 + vae.eval() + if args.vae_enable_tiling: + vae.enable_tiling() + logger.info("VAE tiling is enabled") + + model_version = hunyuan_image_utils.MODEL_VERSION_2_1 + return model_version, [text_encoder_vlm, text_encoder_byt5], vae, None # unet will be loaded later + + def load_unet_lazily(self, args, weight_dtype, accelerator, text_encoders) -> tuple[nn.Module, list[nn.Module]]: + if args.cache_text_encoder_outputs: + logger.info("Replace text encoders with dummy models to save memory") + + # This doesn't free memory, so we move text encoders to meta device in cache_text_encoder_outputs_if_needed + text_encoders = [flux_utils.dummy_clip_l() for _ in text_encoders] + clean_memory_on_device(accelerator.device) + gc.collect() + loading_dtype = None if args.fp8_scaled else weight_dtype loading_device = "cpu" if self.is_swapping_blocks else accelerator.device split_attn = True attn_mode = "torch" + if args.xformers: + attn_mode = "xformers" + logger.info("xformers is enabled for attention") model = hunyuan_image_models.load_hunyuan_image_model( accelerator.device, @@ -363,19 +396,7 @@ def load_target_model(self, args, weight_dtype, accelerator): logger.info(f"enable block swap: blocks_to_swap={args.blocks_to_swap}") model.enable_block_swap(args.blocks_to_swap, accelerator.device) - vl_dtype = torch.bfloat16 - vl_device = "cpu" - _, text_encoder_vlm = hunyuan_image_text_encoder.load_qwen2_5_vl( - args.text_encoder, dtype=vl_dtype, device=vl_device, disable_mmap=args.disable_mmap_load_safetensors - ) - _, text_encoder_byt5 = hunyuan_image_text_encoder.load_byt5( - args.byt5, dtype=torch.float16, device=vl_device, disable_mmap=args.disable_mmap_load_safetensors - ) - - vae = hunyuan_image_vae.load_vae(args.vae, "cpu", disable_mmap=args.disable_mmap_load_safetensors) - - model_version = hunyuan_image_utils.MODEL_VERSION_2_1 - return model_version, [text_encoder_vlm, text_encoder_byt5], vae, model + return model, text_encoders def get_tokenize_strategy(self, args): return strategy_hunyuan_image.HunyuanImageTokenizeStrategy(args.tokenizer_cache_dir) @@ -404,7 +425,6 @@ def get_text_encoders_train_flags(self, args, text_encoders): def get_text_encoder_outputs_caching_strategy(self, args): if args.cache_text_encoder_outputs: - # if the text encoders is trained, we need tokenization, so is_partial is True return strategy_hunyuan_image.HunyuanImageTextEncoderOutputsCachingStrategy( args.cache_text_encoder_outputs_to_disk, args.text_encoder_batch_size, args.skip_cache_check, False ) @@ -417,11 +437,9 @@ def cache_text_encoder_outputs_if_needed( if args.cache_text_encoder_outputs: if not args.lowram: # メモリ消費を減らす - logger.info("move vae and unet to cpu to save memory") + logger.info("move vae to cpu to save memory") org_vae_device = vae.device - org_unet_device = unet.device vae.to("cpu") - unet.to("cpu") clean_memory_on_device(accelerator.device) logger.info("move text encoders to gpu") @@ -457,17 +475,14 @@ def cache_text_encoder_outputs_if_needed( accelerator.wait_for_everyone() - # move back to cpu - logger.info("move VLM back to cpu") - text_encoders[0].to("cpu") - logger.info("move byT5 back to cpu") - text_encoders[1].to("cpu") + # text encoders are not needed for training, so we move to meta device + logger.info("move text encoders to meta device to save memory") + text_encoders = [te.to("meta") for te in text_encoders] clean_memory_on_device(accelerator.device) if not args.lowram: - logger.info("move vae and unet back to original device") + logger.info("move vae back to original device") vae.to(org_vae_device) - unet.to(org_unet_device) else: # Text Encoderから毎回出力を取得するので、GPUに乗せておく text_encoders[0].to(accelerator.device) @@ -477,21 +492,19 @@ def sample_images(self, accelerator, args, epoch, global_step, device, ae, token text_encoders = text_encoder # for compatibility text_encoders = self.get_models_for_text_encoding(args, accelerator, text_encoders) - flux_train_utils.sample_images( - accelerator, args, epoch, global_step, flux, ae, text_encoders, self.sample_prompts_te_outputs - ) + sample_images(accelerator, args, epoch, global_step, flux, ae, text_encoders, self.sample_prompts_te_outputs) def get_noise_scheduler(self, args: argparse.Namespace, device: torch.device) -> Any: noise_scheduler = sd3_train_utils.FlowMatchEulerDiscreteScheduler(num_train_timesteps=1000, shift=args.discrete_flow_shift) self.noise_scheduler_copy = copy.deepcopy(noise_scheduler) return noise_scheduler - def encode_images_to_latents(self, args, vae, images): - return vae.encode(images) + def encode_images_to_latents(self, args, vae: hunyuan_image_vae.HunyuanVAE2D, images): + return vae.encode(images).sample() def shift_scale_latents(self, args, latents): # for encoding, we need to scale the latents - return latents * hunyuan_image_vae.VAE_SCALE_FACTOR + return latents * hunyuan_image_vae.LATENT_SCALING_FACTOR def get_noise_pred_and_target( self, @@ -509,12 +522,16 @@ def get_noise_pred_and_target( ): # Sample noise that we'll add to the latents noise = torch.randn_like(latents) - bsz = latents.shape[0] # get noisy model input and timesteps - noisy_model_input, timesteps, sigmas = flux_train_utils.get_noisy_model_input_and_timesteps( + noisy_model_input, _, sigmas = flux_train_utils.get_noisy_model_input_and_timesteps( args, noise_scheduler, latents, noise, accelerator.device, weight_dtype ) + # bfloat16 is too low precision for 0-1000 TODO fix get_noisy_model_input_and_timesteps + timesteps = (sigmas[:, 0, 0, 0] * 1000).to(torch.int64) + # print( + # f"timestep: {timesteps}, noisy_model_input shape: {noisy_model_input.shape}, mean: {noisy_model_input.mean()}, std: {noisy_model_input.std()}" + # ) if args.gradient_checkpointing: noisy_model_input.requires_grad_(True) @@ -526,31 +543,33 @@ def get_noise_pred_and_target( # ocr_mask is for inference only, so it is not used here vlm_embed, vlm_mask, byt5_embed, byt5_mask, ocr_mask = text_encoder_conds + # print(f"embed shape: {vlm_embed.shape}, mean: {vlm_embed.mean()}, std: {vlm_embed.std()}") + # print(f"embed_byt5 shape: {byt5_embed.shape}, mean: {byt5_embed.mean()}, std: {byt5_embed.std()}") + # print(f"latents shape: {latents.shape}, mean: {latents.mean()}, std: {latents.std()}") + # print(f"mask shape: {vlm_mask.shape}, sum: {vlm_mask.sum()}") + # print(f"mask_byt5 shape: {byt5_mask.shape}, sum: {byt5_mask.sum()}") with torch.set_grad_enabled(is_train), accelerator.autocast(): - model_pred = unet(noisy_model_input, timesteps / 1000, vlm_embed, vlm_mask, byt5_embed, byt5_mask) + model_pred = unet( + noisy_model_input, timesteps, vlm_embed, vlm_mask, byt5_embed, byt5_mask # , self.rotary_pos_emb_cache + ) - # model prediction and weighting is omitted for HunyuanImage-2.1 currently + # apply model prediction type + model_pred, weighting = flux_train_utils.apply_model_prediction_type(args, model_pred, noisy_model_input, sigmas) # flow matching loss target = noise - latents # differential output preservation is not used for HunyuanImage-2.1 currently - return model_pred, target, timesteps, None + return model_pred, target, timesteps, weighting def post_process_loss(self, loss, args, timesteps, noise_scheduler): return loss def get_sai_model_spec(self, args): - # if self.model_type != "chroma": - # model_description = "schnell" if self.is_schnell else "dev" - # else: - # model_description = "chroma" - # return train_util.get_sai_model_spec(None, args, False, True, False, flux=model_description) - train_util.get_sai_model_spec_dataclass(None, args, False, True, False, hunyuan_image="2.1") + return train_util.get_sai_model_spec_dataclass(None, args, False, True, False, hunyuan_image="2.1").to_metadata_dict() def update_metadata(self, metadata, args): - metadata["ss_model_type"] = args.model_type metadata["ss_logit_mean"] = args.logit_mean metadata["ss_logit_std"] = args.logit_std metadata["ss_mode_scale"] = args.mode_scale @@ -569,6 +588,9 @@ def prepare_text_encoder_grad_ckpt_workaround(self, index, text_encoder): def cast_text_encoder(self): return False # VLM is bf16, byT5 is fp16, so do not cast to other dtype + def cast_vae(self): + return False # VAE is fp16, so do not cast to other dtype + def prepare_text_encoder_fp8(self, index, text_encoder, te_weight_dtype, weight_dtype): # fp8 text encoder for HunyuanImage-2.1 is not supported currently pass @@ -597,6 +619,17 @@ def setup_parser() -> argparse.ArgumentParser: parser = train_network.setup_parser() train_util.add_dit_training_arguments(parser) + parser.add_argument( + "--text_encoder", + type=str, + help="path to Qwen2.5-VL (*.sft or *.safetensors), should be bfloat16 / Qwen2.5-VLのパス(*.sftまたは*.safetensors)、bfloat16が前提", + ) + parser.add_argument( + "--byt5", + type=str, + help="path to byt5 (*.sft or *.safetensors), should be float16 / byt5のパス(*.sftまたは*.safetensors)、float16が前提", + ) + parser.add_argument( "--timestep_sampling", choices=["sigma", "uniform", "sigmoid", "shift", "flux_shift"], @@ -613,17 +646,24 @@ def setup_parser() -> argparse.ArgumentParser: parser.add_argument( "--model_prediction_type", choices=["raw", "additive", "sigma_scaled"], - default="sigma_scaled", + default="raw", help="How to interpret and process the model prediction: " - "raw (use as is), additive (add to noisy input), sigma_scaled (apply sigma scaling)." + "raw (use as is), additive (add to noisy input), sigma_scaled (apply sigma scaling). Default is raw unlike FLUX.1." " / モデル予測の解釈と処理方法:" - "raw(そのまま使用)、additive(ノイズ入力に加算)、sigma_scaled(シグマスケーリングを適用)。", + "raw(そのまま使用)、additive(ノイズ入力に加算)、sigma_scaled(シグマスケーリングを適用)。デフォルトはFLUX.1とは異なりrawです。", ) parser.add_argument( "--discrete_flow_shift", type=float, - default=3.0, - help="Discrete flow shift for the Euler Discrete Scheduler, default is 3.0. / Euler Discrete Schedulerの離散フローシフト、デフォルトは3.0。", + default=5.0, + help="Discrete flow shift for the Euler Discrete Scheduler, default is 5.0. / Euler Discrete Schedulerの離散フローシフト、デフォルトは5.0。", + ) + parser.add_argument("--fp8_scaled", action="store_true", help="use scaled fp8 for DiT / DiTにスケーリングされたfp8を使う") + parser.add_argument("--fp8_vl", action="store_true", help="use fp8 for VLM text encoder / VLMテキストエンコーダにfp8を使用する") + parser.add_argument( + "--vae_enable_tiling", + action="store_true", + help="Enable tiling for VAE decoding and encoding / VAEデコーディングとエンコーディングのタイルを有効にする", ) return parser diff --git a/library/attention.py b/library/attention.py index 10a096143..f1e7c0b0c 100644 --- a/library/attention.py +++ b/library/attention.py @@ -1,9 +1,19 @@ import torch -from typing import Optional +from typing import Optional, Union + +try: + import xformers.ops as xops +except ImportError: + xops = None def attention( - q: torch.Tensor, k: torch.Tensor, v: torch.Tensor, seq_lens: list[int], attn_mode: str = "torch", drop_rate: float = 0.0 + qkv_or_q: Union[torch.Tensor, list], + k: Optional[torch.Tensor] = None, + v: Optional[torch.Tensor] = None, + seq_lens: Optional[list[int]] = None, + attn_mode: str = "torch", + drop_rate: float = 0.0, ) -> torch.Tensor: """ Compute scaled dot-product attention with variable sequence lengths. @@ -12,7 +22,7 @@ def attention( processing each sequence individually. Args: - q: Query tensor [B, L, H, D]. + qkv_or_q: Query tensor [B, L, H, D]. or list of such tensors. k: Key tensor [B, L, H, D]. v: Value tensor [B, L, H, D]. seq_lens: Valid sequence length for each batch element. @@ -22,6 +32,17 @@ def attention( Returns: Attention output tensor [B, L, H*D]. """ + if isinstance(qkv_or_q, list): + q, k, v = qkv_or_q + qkv_or_q.clear() + del qkv_or_q + else: + q = qkv_or_q + del qkv_or_q + assert k is not None and v is not None, "k and v must be provided if qkv_or_q is a tensor" + if seq_lens is None: + seq_lens = [q.shape[1]] * q.shape[0] + # Determine tensor layout based on attention implementation if attn_mode == "torch" or attn_mode == "sageattn": transpose_fn = lambda x: x.transpose(1, 2) # [B, H, L, D] for SDPA @@ -29,6 +50,7 @@ def attention( transpose_fn = lambda x: x # [B, L, H, D] for other implementations # Process each batch element with its valid sequence length + q_seq_len = q.shape[1] q = [transpose_fn(q[i : i + 1, : seq_lens[i]]) for i in range(len(q))] k = [transpose_fn(k[i : i + 1, : seq_lens[i]]) for i in range(len(k))] v = [transpose_fn(v[i : i + 1, : seq_lens[i]]) for i in range(len(v))] @@ -40,10 +62,24 @@ def attention( q[i] = None k[i] = None v[i] = None - x.append(x_i) + x.append(torch.nn.functional.pad(x_i, (0, 0, 0, q_seq_len - x_i.shape[2]), value=0)) # Pad to max seq len, B, H, L, D x = torch.cat(x, dim=0) del q, k, v - # Currently only PyTorch SDPA is implemented + + elif attn_mode == "xformers": + x = [] + for i in range(len(q)): + x_i = xops.memory_efficient_attention(q[i], k[i], v[i], p=drop_rate) + q[i] = None + k[i] = None + v[i] = None + x.append(torch.nn.functional.pad(x_i, (0, 0, 0, 0, 0, q_seq_len - x_i.shape[1]), value=0)) # B, L, H, D + x = torch.cat(x, dim=0) + del q, k, v + + else: + # Currently only PyTorch SDPA and xformers are implemented + raise ValueError(f"Unsupported attention mode: {attn_mode}") x = transpose_fn(x) # [B, L, H, D] x = x.reshape(x.shape[0], x.shape[1], -1) # [B, L, H*D] diff --git a/library/hunyuan_image_models.py b/library/hunyuan_image_models.py index 9e3a00e8b..ce2d23ddc 100644 --- a/library/hunyuan_image_models.py +++ b/library/hunyuan_image_models.py @@ -30,11 +30,7 @@ from library.hunyuan_image_utils import get_nd_rotary_pos_embed FP8_OPTIMIZATION_TARGET_KEYS = ["double_blocks", "single_blocks"] -FP8_OPTIMIZATION_EXCLUDE_KEYS = [ - "norm", - "_mod", - "modulation", -] +FP8_OPTIMIZATION_EXCLUDE_KEYS = ["norm", "_mod", "modulation", "_emb"] # region DiT Model @@ -142,6 +138,14 @@ def __init__(self, attn_mode: str = "torch"): self.num_double_blocks = len(self.double_blocks) self.num_single_blocks = len(self.single_blocks) + @property + def device(self): + return next(self.parameters()).device + + @property + def dtype(self): + return next(self.parameters()).dtype + def enable_gradient_checkpointing(self, cpu_offload: bool = False): self.gradient_checkpointing = True self.cpu_offload_checkpointing = cpu_offload @@ -273,6 +277,7 @@ def forward( encoder_attention_mask: torch.Tensor, byt5_text_states: Optional[torch.Tensor] = None, byt5_text_mask: Optional[torch.Tensor] = None, + rotary_pos_emb_cache: Optional[Dict[Tuple[int, int], Tuple[torch.Tensor, torch.Tensor]]] = None, ) -> torch.Tensor: """ Forward pass through the HunyuanImage diffusion transformer. @@ -296,7 +301,15 @@ def forward( # Calculate spatial dimensions for rotary position embeddings _, _, oh, ow = x.shape th, tw = oh, ow # Height and width (patch_size=[1,1] means no spatial downsampling) - freqs_cis = self.get_rotary_pos_embed((th, tw)) + if rotary_pos_emb_cache is not None: + if (th, tw) in rotary_pos_emb_cache: + freqs_cis = rotary_pos_emb_cache[(th, tw)] + freqs_cis = (freqs_cis[0].to(img.device), freqs_cis[1].to(img.device)) + else: + freqs_cis = self.get_rotary_pos_embed((th, tw)) + rotary_pos_emb_cache[(th, tw)] = (freqs_cis[0].cpu(), freqs_cis[1].cpu()) + else: + freqs_cis = self.get_rotary_pos_embed((th, tw)) # Reshape image latents to sequence format: [B, C, H, W] -> [B, H*W, C] img = self.img_in(img) @@ -349,9 +362,11 @@ def forward( vec = vec.to(input_device) img = x[:, :img_seq_len, ...] + del x # Apply final projection to output space img = self.final_layer(img, vec) + del vec # Reshape from sequence to spatial format: [B, L, C] -> [B, C, H, W] img = self.unpatchify_2d(img, th, tw) diff --git a/library/hunyuan_image_modules.py b/library/hunyuan_image_modules.py index 633cd310d..ef4d5e5d7 100644 --- a/library/hunyuan_image_modules.py +++ b/library/hunyuan_image_modules.py @@ -50,7 +50,7 @@ def forward(self, x): Returns: Transformed embeddings [..., out_dim1]. """ - residual = x + residual = x if self.use_residual else None x = self.layernorm(x) x = self.fc1(x) x = self.act_fn(x) @@ -411,6 +411,7 @@ def forward(self, x: torch.Tensor, t: torch.LongTensor, txt_lens: list[int]) -> context_aware_representations = self.c_embedder(context_aware_representations) c = timestep_aware_representations + context_aware_representations + del timestep_aware_representations, context_aware_representations x = self.input_embedder(x) x = self.individual_token_refiner(x, c, txt_lens) return x @@ -447,6 +448,7 @@ def __init__(self, hidden_size, patch_size, out_channels, act_layer): def forward(self, x, c): shift, scale = self.adaLN_modulation(c).chunk(2, dim=1) x = modulate(self.norm_final(x), shift=shift, scale=scale) + del shift, scale, c x = self.linear(x) return x @@ -494,6 +496,7 @@ def forward(self, x): Normalized and scaled tensor. """ output = self._norm(x.float()).type_as(x) + del x output = output * self.weight return output @@ -634,8 +637,10 @@ def _forward( # Process image stream for attention img_modulated = self.img_norm1(img) img_modulated = modulate(img_modulated, shift=img_mod1_shift, scale=img_mod1_scale) + del img_mod1_shift, img_mod1_scale img_qkv = self.img_attn_qkv(img_modulated) + del img_modulated img_q, img_k, img_v = img_qkv.chunk(3, dim=-1) del img_qkv @@ -649,17 +654,15 @@ def _forward( # Apply rotary position embeddings to image tokens if freqs_cis is not None: - img_qq, img_kk = apply_rotary_emb(img_q, img_k, freqs_cis, head_first=False) - assert ( - img_qq.shape == img_q.shape and img_kk.shape == img_k.shape - ), f"RoPE output shape mismatch: got {img_qq.shape}, {img_kk.shape}, expected {img_q.shape}, {img_k.shape}" - img_q, img_k = img_qq, img_kk + img_q, img_k = apply_rotary_emb(img_q, img_k, freqs_cis, head_first=False) + del freqs_cis # Process text stream for attention txt_modulated = self.txt_norm1(txt) txt_modulated = modulate(txt_modulated, shift=txt_mod1_shift, scale=txt_mod1_scale) txt_qkv = self.txt_attn_qkv(txt_modulated) + del txt_modulated txt_q, txt_k, txt_v = txt_qkv.chunk(3, dim=-1) del txt_qkv @@ -672,31 +675,44 @@ def _forward( txt_k = self.txt_attn_k_norm(txt_k).to(txt_v) # Concatenate image and text tokens for joint attention + img_seq_len = img.shape[1] q = torch.cat([img_q, txt_q], dim=1) + del img_q, txt_q k = torch.cat([img_k, txt_k], dim=1) + del img_k, txt_k v = torch.cat([img_v, txt_v], dim=1) - attn = attention(q, k, v, seq_lens=seq_lens, attn_mode=self.attn_mode) + del img_v, txt_v + + qkv = [q, k, v] + del q, k, v + attn = attention(qkv, seq_lens=seq_lens, attn_mode=self.attn_mode) + del qkv # Split attention outputs back to separate streams - img_attn, txt_attn = (attn[:, : img_q.shape[1]].contiguous(), attn[:, img_q.shape[1] :].contiguous()) + img_attn, txt_attn = (attn[:, : img_seq_len].contiguous(), attn[:, img_seq_len :].contiguous()) + del attn # Apply attention projection and residual connection for image stream img = img + apply_gate(self.img_attn_proj(img_attn), gate=img_mod1_gate) + del img_attn, img_mod1_gate # Apply MLP and residual connection for image stream img = img + apply_gate( self.img_mlp(modulate(self.img_norm2(img), shift=img_mod2_shift, scale=img_mod2_scale)), gate=img_mod2_gate, ) + del img_mod2_shift, img_mod2_scale, img_mod2_gate # Apply attention projection and residual connection for text stream txt = txt + apply_gate(self.txt_attn_proj(txt_attn), gate=txt_mod1_gate) + del txt_attn, txt_mod1_gate # Apply MLP and residual connection for text stream txt = txt + apply_gate( self.txt_mlp(modulate(self.txt_norm2(txt), shift=txt_mod2_shift, scale=txt_mod2_scale)), gate=txt_mod2_gate, ) + del txt_mod2_shift, txt_mod2_scale, txt_mod2_gate return img, txt @@ -797,6 +813,7 @@ def _forward( # Compute Q, K, V, and MLP input qkv_mlp = self.linear1(x_mod) + del x_mod q, k, v, mlp = qkv_mlp.split([self.hidden_size, self.hidden_size, self.hidden_size, self.mlp_hidden_dim], dim=-1) del qkv_mlp @@ -810,27 +827,34 @@ def _forward( # Separate image and text tokens img_q, txt_q = q[:, :-txt_len, :, :], q[:, -txt_len:, :, :] + del q img_k, txt_k = k[:, :-txt_len, :, :], k[:, -txt_len:, :, :] - img_v, txt_v = v[:, :-txt_len, :, :], v[:, -txt_len:, :, :] + del k + # img_v, txt_v = v[:, :-txt_len, :, :], v[:, -txt_len:, :, :] + # del v # Apply rotary position embeddings only to image tokens - img_qq, img_kk = apply_rotary_emb(img_q, img_k, freqs_cis, head_first=False) - assert ( - img_qq.shape == img_q.shape and img_kk.shape == img_k.shape - ), f"RoPE output shape mismatch: got {img_qq.shape}, {img_kk.shape}, expected {img_q.shape}, {img_k.shape}" - img_q, img_k = img_qq, img_kk + img_q, img_k = apply_rotary_emb(img_q, img_k, freqs_cis, head_first=False) + del freqs_cis # Recombine and compute joint attention q = torch.cat([img_q, txt_q], dim=1) + del img_q, txt_q k = torch.cat([img_k, txt_k], dim=1) - v = torch.cat([img_v, txt_v], dim=1) - attn = attention(q, k, v, seq_lens=seq_lens, attn_mode=self.attn_mode) + del img_k, txt_k + # v = torch.cat([img_v, txt_v], dim=1) + # del img_v, txt_v + qkv = [q, k, v] + del q, k, v + attn = attention(qkv, seq_lens=seq_lens, attn_mode=self.attn_mode) + del qkv # Combine attention and MLP outputs, apply gating # output = self.linear2(attn, self.mlp_act(mlp)) mlp = self.mlp_act(mlp) output = torch.cat([attn, mlp], dim=2).contiguous() + del attn, mlp output = self.linear2(output) return x + apply_gate(output, gate=mod_gate) diff --git a/library/hunyuan_image_text_encoder.py b/library/hunyuan_image_text_encoder.py index 1300b39b7..960f14b37 100644 --- a/library/hunyuan_image_text_encoder.py +++ b/library/hunyuan_image_text_encoder.py @@ -598,7 +598,7 @@ def get_byt5_prompt_embeds_from_tokens( ) -> Tuple[list[bool], torch.Tensor, torch.Tensor]: byt5_max_length = BYT5_MAX_LENGTH - if byt5_text_ids is None or byt5_text_mask is None: + if byt5_text_ids is None or byt5_text_mask is None or byt5_text_mask.sum() == 0: return ( [False], torch.zeros((1, byt5_max_length, 1472), device=text_encoder.device), diff --git a/library/hunyuan_image_vae.py b/library/hunyuan_image_vae.py index 6eb035c38..570d4caa6 100644 --- a/library/hunyuan_image_vae.py +++ b/library/hunyuan_image_vae.py @@ -17,6 +17,8 @@ VAE_SCALE_FACTOR = 32 # 32x spatial compression +LATENT_SCALING_FACTOR = 0.75289 # Latent scaling factor for Hunyuan Image-2.1 + def swish(x: Tensor) -> Tensor: """Swish activation function: x * sigmoid(x).""" @@ -378,7 +380,7 @@ def __init__(self): layers_per_block = 2 ffactor_spatial = 32 # 32x spatial compression sample_size = 384 # Minimum sample size for tiling - scaling_factor = 0.75289 # Latent scaling factor + scaling_factor = LATENT_SCALING_FACTOR # 0.75289 # Latent scaling factor self.ffactor_spatial = ffactor_spatial self.scaling_factor = scaling_factor diff --git a/library/strategy_hunyuan_image.py b/library/strategy_hunyuan_image.py index 2188ed371..5c704728f 100644 --- a/library/strategy_hunyuan_image.py +++ b/library/strategy_hunyuan_image.py @@ -21,14 +21,27 @@ def __init__(self, tokenizer_cache_dir: Optional[str] = None) -> None: Qwen2Tokenizer, hunyuan_image_text_encoder.QWEN_2_5_VL_IMAGE_ID, tokenizer_cache_dir=tokenizer_cache_dir ) self.byt5_tokenizer = self._load_tokenizer( - AutoTokenizer, hunyuan_image_text_encoder.BYT5_TOKENIZER_PATH, tokenizer_cache_dir=tokenizer_cache_dir + AutoTokenizer, hunyuan_image_text_encoder.BYT5_TOKENIZER_PATH, subfolder="", tokenizer_cache_dir=tokenizer_cache_dir ) def tokenize(self, text: Union[str, List[str]]) -> List[torch.Tensor]: text = [text] if isinstance(text, str) else text vlm_tokens, vlm_mask = hunyuan_image_text_encoder.get_qwen_tokens(self.vlm_tokenizer, text) - byt5_tokens, byt5_mask = hunyuan_image_text_encoder.get_byt5_text_tokens(self.byt5_tokenizer, text) + + # byt5_tokens, byt5_mask = hunyuan_image_text_encoder.get_byt5_text_tokens(self.byt5_tokenizer, text) + byt5_tokens = [] + byt5_mask = [] + for t in text: + tokens, mask = hunyuan_image_text_encoder.get_byt5_text_tokens(self.byt5_tokenizer, t) + if tokens is None: + tokens = torch.zeros((1, 1), dtype=torch.long) + mask = torch.zeros((1, 1), dtype=torch.long) + byt5_tokens.append(tokens) + byt5_mask.append(mask) + max_len = max([m.shape[1] for m in byt5_mask]) + byt5_tokens = torch.cat([torch.nn.functional.pad(t, (0, max_len - t.shape[1]), value=0) for t in byt5_tokens], dim=0) + byt5_mask = torch.cat([torch.nn.functional.pad(m, (0, max_len - m.shape[1]), value=0) for m in byt5_mask], dim=0) return [vlm_tokens, vlm_mask, byt5_tokens, byt5_mask] @@ -46,11 +59,24 @@ def encode_tokens( # autocast and no_grad are handled in hunyuan_image_text_encoder vlm_embed, vlm_mask = hunyuan_image_text_encoder.get_qwen_prompt_embeds_from_tokens(qwen2vlm, vlm_tokens, vlm_mask) - ocr_mask, byt5_embed, byt5_mask = hunyuan_image_text_encoder.get_byt5_prompt_embeds_from_tokens( - byt5, byt5_tokens, byt5_mask - ) - return [vlm_embed, vlm_mask, byt5_embed, byt5_mask, ocr_mask] + # ocr_mask, byt5_embed, byt5_mask = hunyuan_image_text_encoder.get_byt5_prompt_embeds_from_tokens( + # byt5, byt5_tokens, byt5_mask + # ) + ocr_mask, byt5_embed, byt5_updated_mask = [], [], [] + for i in range(byt5_tokens.shape[0]): + ocr_m, byt5_e, byt5_m = hunyuan_image_text_encoder.get_byt5_prompt_embeds_from_tokens( + byt5, byt5_tokens[i : i + 1], byt5_mask[i : i + 1] + ) + ocr_mask.append(torch.zeros((1,), dtype=torch.long) + (1 if ocr_m[0] else 0)) # 1 or 0 + byt5_embed.append(byt5_e) + byt5_updated_mask.append(byt5_m) + + ocr_mask = torch.cat(ocr_mask, dim=0).to(torch.bool) # [B] + byt5_embed = torch.cat(byt5_embed, dim=0) + byt5_updated_mask = torch.cat(byt5_updated_mask, dim=0) + + return [vlm_embed, vlm_mask, byt5_embed, byt5_updated_mask, ocr_mask] class HunyuanImageTextEncoderOutputsCachingStrategy(TextEncoderOutputsCachingStrategy): @@ -110,7 +136,6 @@ def cache_batch_outputs( tokens_and_masks = tokenize_strategy.tokenize(captions) with torch.no_grad(): - # attn_mask is applied in text_encoding_strategy.encode_tokens if apply_t5_attn_mask is True vlm_embed, vlm_mask, byt5_embed, byt5_mask, ocr_mask = huyuan_image_text_encoding_strategy.encode_tokens( tokenize_strategy, models, tokens_and_masks ) @@ -124,7 +149,7 @@ def cache_batch_outputs( vlm_mask = vlm_mask.cpu().numpy() byt5_embed = byt5_embed.cpu().numpy() byt5_mask = byt5_mask.cpu().numpy() - ocr_mask = np.array(ocr_mask, dtype=bool) + ocr_mask = ocr_mask.cpu().numpy() for i, info in enumerate(infos): vlm_embed_i = vlm_embed[i] @@ -175,7 +200,13 @@ def load_latents_from_disk( def cache_batch_latents( self, vae: hunyuan_image_vae.HunyuanVAE2D, image_infos: List, flip_aug: bool, alpha_mask: bool, random_crop: bool ): - encode_by_vae = lambda img_tensor: vae.encode(img_tensor).sample() + # encode_by_vae = lambda img_tensor: vae.encode(img_tensor).sample() + def encode_by_vae(img_tensor): + # no_grad is handled in _default_cache_batch_latents + nonlocal vae + with torch.autocast(device_type=vae.device.type, dtype=vae.dtype): + return vae.encode(img_tensor).sample() + vae_device = vae.device vae_dtype = vae.dtype diff --git a/library/train_util.py b/library/train_util.py index 8cd43463c..756d88b1c 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -1744,7 +1744,39 @@ def none_or_stack_elements(tensors_list, converter): # [[clip_l, clip_g, t5xxl], [clip_l, clip_g, t5xxl], ...] -> [torch.stack(clip_l), torch.stack(clip_g), torch.stack(t5xxl)] if len(tensors_list) == 0 or tensors_list[0] == None or len(tensors_list[0]) == 0 or tensors_list[0][0] is None: return None - return [torch.stack([converter(x[i]) for x in tensors_list]) for i in range(len(tensors_list[0]))] + + # old implementation without padding: all elements must have same length + # return [torch.stack([converter(x[i]) for x in tensors_list]) for i in range(len(tensors_list[0]))] + + # new implementation with padding support + result = [] + for i in range(len(tensors_list[0])): + tensors = [x[i] for x in tensors_list] + if tensors[0].ndim == 0: + # scalar value: e.g. ocr mask + result.append(torch.stack([converter(x[i]) for x in tensors_list])) + continue + + min_len = min([len(x) for x in tensors]) + max_len = max([len(x) for x in tensors]) + + if min_len == max_len: + # no padding + result.append(torch.stack([converter(x) for x in tensors])) + else: + # padding + tensors = [converter(x) for x in tensors] + if tensors[0].ndim == 1: + # input_ids or mask + result.append( + torch.stack([(torch.nn.functional.pad(x, (0, max_len - x.shape[0]))) for x in tensors]) + ) + else: + # text encoder outputs + result.append( + torch.stack([(torch.nn.functional.pad(x, (0, 0, 0, max_len - x.shape[0]))) for x in tensors]) + ) + return result # set example example = {} diff --git a/networks/lora_hunyuan_image.py b/networks/lora_hunyuan_image.py index b0edde575..3e801f950 100644 --- a/networks/lora_hunyuan_image.py +++ b/networks/lora_hunyuan_image.py @@ -191,9 +191,8 @@ def create_network_from_weights(multiplier, file, ae, text_encoders, flux, weigh class HunyuanImageLoRANetwork(lora_flux.LoRANetwork): - # FLUX_TARGET_REPLACE_MODULE = ["DoubleStreamBlock", "SingleStreamBlock"] - FLUX_TARGET_REPLACE_MODULE_DOUBLE = ["DoubleStreamBlock"] - FLUX_TARGET_REPLACE_MODULE_SINGLE = ["SingleStreamBlock"] + TARGET_REPLACE_MODULE_DOUBLE = ["MMDoubleStreamBlock"] + TARGET_REPLACE_MODULE_SINGLE = ["MMSingleStreamBlock"] LORA_PREFIX_HUNYUAN_IMAGE_DIT = "lora_unet" # make ComfyUI compatible @classmethod @@ -222,7 +221,7 @@ def __init__( reg_lrs: Optional[Dict[str, float]] = None, verbose: Optional[bool] = False, ) -> None: - super().__init__() + nn.Module.__init__(self) self.multiplier = multiplier self.lora_dim = lora_dim @@ -259,8 +258,6 @@ def __init__( if self.split_qkv: logger.info(f"split qkv for LoRA") - if self.train_blocks is not None: - logger.info(f"train {self.train_blocks} blocks only") # create module instances def create_modules( @@ -354,14 +351,14 @@ def create_modules( # create LoRA for U-Net target_replace_modules = ( - HunyuanImageLoRANetwork.FLUX_TARGET_REPLACE_MODULE_DOUBLE + HunyuanImageLoRANetwork.FLUX_TARGET_REPLACE_MODULE_SINGLE + HunyuanImageLoRANetwork.TARGET_REPLACE_MODULE_DOUBLE + HunyuanImageLoRANetwork.TARGET_REPLACE_MODULE_SINGLE ) self.unet_loras: List[Union[lora_flux.LoRAModule, lora_flux.LoRAInfModule]] self.unet_loras, skipped_un = create_modules(True, None, unet, target_replace_modules) self.text_encoder_loras = [] - logger.info(f"create LoRA for FLUX {self.train_blocks} blocks: {len(self.unet_loras)} modules.") + logger.info(f"create LoRA for HunyuanImage-2.1: {len(self.unet_loras)} modules.") if verbose: for lora in self.unet_loras: logger.info(f"\t{lora.lora_name:50} {lora.lora_dim}, {lora.alpha}") diff --git a/train_network.py b/train_network.py index 00118877b..c03c5fa09 100644 --- a/train_network.py +++ b/train_network.py @@ -1,3 +1,4 @@ +import gc import importlib import argparse import math @@ -10,11 +11,11 @@ import json from multiprocessing import Value import numpy as np -import toml from tqdm import tqdm import torch +import torch.nn as nn from torch.types import Number from library.device_utils import init_ipex, clean_memory_on_device @@ -175,7 +176,7 @@ def assert_extra_args( if val_dataset_group is not None: val_dataset_group.verify_bucket_reso_steps(64) - def load_target_model(self, args, weight_dtype, accelerator) -> tuple: + def load_target_model(self, args, weight_dtype, accelerator) -> tuple[str, nn.Module, nn.Module, Optional[nn.Module]]: text_encoder, vae, unet, _ = train_util.load_target_model(args, weight_dtype, accelerator) # モデルに xformers とか memory efficient attention を組み込む @@ -185,6 +186,9 @@ def load_target_model(self, args, weight_dtype, accelerator) -> tuple: return model_util.get_model_version_str_for_sd1_sd2(args.v2, args.v_parameterization), text_encoder, vae, unet + def load_unet_lazily(self, args, weight_dtype, accelerator, text_encoders) -> tuple[nn.Module, List[nn.Module]]: + raise NotImplementedError() + def get_tokenize_strategy(self, args): return strategy_sd.SdTokenizeStrategy(args.v2, args.max_token_length, args.tokenizer_cache_dir) @@ -476,8 +480,11 @@ def process_batch( return loss.mean() def cast_text_encoder(self): - return True # default for other than HunyuanImage + return True # default for other than HunyuanImage + def cast_vae(self): + return True # default for other than HunyuanImage + def train(self, args): session_id = random.randint(0, 2**32) training_started_at = time.time() @@ -586,37 +593,18 @@ def train(self, args): # mixed precisionに対応した型を用意しておき適宜castする weight_dtype, save_dtype = train_util.prepare_dtype(args) - vae_dtype = torch.float32 if args.no_half_vae else weight_dtype + vae_dtype = (torch.float32 if args.no_half_vae else weight_dtype) if self.cast_vae() else None - # モデルを読み込む + # load target models: unet may be None for lazy loading model_version, text_encoder, vae, unet = self.load_target_model(args, weight_dtype, accelerator) + if vae_dtype is None: + vae_dtype = vae.dtype + logger.info(f"vae_dtype is set to {vae_dtype} by the model since cast_vae() is false") # text_encoder is List[CLIPTextModel] or CLIPTextModel text_encoders = text_encoder if isinstance(text_encoder, list) else [text_encoder] - # 差分追加学習のためにモデルを読み込む - sys.path.append(os.path.dirname(__file__)) - accelerator.print("import network module:", args.network_module) - network_module = importlib.import_module(args.network_module) - - if args.base_weights is not None: - # base_weights が指定されている場合は、指定された重みを読み込みマージする - for i, weight_path in enumerate(args.base_weights): - if args.base_weights_multiplier is None or len(args.base_weights_multiplier) <= i: - multiplier = 1.0 - else: - multiplier = args.base_weights_multiplier[i] - - accelerator.print(f"merging module: {weight_path} with multiplier {multiplier}") - - module, weights_sd = network_module.create_network_from_weights( - multiplier, weight_path, vae, text_encoder, unet, for_inference=True - ) - module.merge_to(text_encoder, unet, weights_sd, weight_dtype, accelerator.device if args.lowram else "cpu") - - accelerator.print(f"all weights merged: {', '.join(args.base_weights)}") - - # 学習を準備する + # prepare dataset for latents caching if needed if cache_latents: vae.to(accelerator.device, dtype=vae_dtype) vae.requires_grad_(False) @@ -643,6 +631,32 @@ def train(self, args): if val_dataset_group is not None: self.cache_text_encoder_outputs_if_needed(args, accelerator, unet, vae, text_encoders, val_dataset_group, weight_dtype) + if unet is None: + # lazy load unet if needed. text encoders may be freed or replaced with dummy models for saving memory + unet, text_encoders = self.load_unet_lazily(args, weight_dtype, accelerator, text_encoders) + + # 差分追加学習のためにモデルを読み込む + sys.path.append(os.path.dirname(__file__)) + accelerator.print("import network module:", args.network_module) + network_module = importlib.import_module(args.network_module) + + if args.base_weights is not None: + # base_weights が指定されている場合は、指定された重みを読み込みマージする + for i, weight_path in enumerate(args.base_weights): + if args.base_weights_multiplier is None or len(args.base_weights_multiplier) <= i: + multiplier = 1.0 + else: + multiplier = args.base_weights_multiplier[i] + + accelerator.print(f"merging module: {weight_path} with multiplier {multiplier}") + + module, weights_sd = network_module.create_network_from_weights( + multiplier, weight_path, vae, text_encoder, unet, for_inference=True + ) + module.merge_to(text_encoder, unet, weights_sd, weight_dtype, accelerator.device if args.lowram else "cpu") + + accelerator.print(f"all weights merged: {', '.join(args.base_weights)}") + # prepare network net_kwargs = {} if args.network_args is not None: @@ -672,7 +686,7 @@ def train(self, args): return network_has_multiplier = hasattr(network, "set_multiplier") - # TODO remove `hasattr`s by setting up methods if not defined in the network like (hacky but works): + # TODO remove `hasattr` by setting up methods if not defined in the network like below (hacky but will work): # if not hasattr(network, "prepare_network"): # network.prepare_network = lambda args: None @@ -1305,6 +1319,8 @@ def remove_model(old_ckpt_name): del t_enc text_encoders = [] text_encoder = None + gc.collect() + clean_memory_on_device(accelerator.device) # For --sample_at_first optimizer_eval_fn() From 7a651efd4dab281acf8dc66200ade8620c5138dd Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Fri, 12 Sep 2025 22:00:41 +0900 Subject: [PATCH 680/748] feat: add 'tak' to recognized words and update block swap method to support backward pass --- _typos.toml | 1 + hunyuan_image_train_network.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/_typos.toml b/_typos.toml index 362ba8a60..bf0292e50 100644 --- a/_typos.toml +++ b/_typos.toml @@ -31,6 +31,7 @@ wn="wn" hime="hime" OT="OT" byt="byt" +tak="tak" # [files] # # Extend the default list of files to check diff --git a/hunyuan_image_train_network.py b/hunyuan_image_train_network.py index 291d5132f..40c1f2fe9 100644 --- a/hunyuan_image_train_network.py +++ b/hunyuan_image_train_network.py @@ -394,7 +394,7 @@ def load_unet_lazily(self, args, weight_dtype, accelerator, text_encoders) -> tu if self.is_swapping_blocks: # Swap blocks between CPU and GPU to reduce memory usage, in forward and backward passes. logger.info(f"enable block swap: blocks_to_swap={args.blocks_to_swap}") - model.enable_block_swap(args.blocks_to_swap, accelerator.device) + model.enable_block_swap(args.blocks_to_swap, accelerator.device, supports_backward=True) return model, text_encoders From 9a61d61b22e942f3ed8101550470c2029d4204c2 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Fri, 12 Sep 2025 22:18:29 +0900 Subject: [PATCH 681/748] feat: avoid unet type casting when fp8_scaled --- hunyuan_image_train_network.py | 9 +++++++-- train_network.py | 19 ++++++++++++------- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/hunyuan_image_train_network.py b/hunyuan_image_train_network.py index 40c1f2fe9..7167ce4c2 100644 --- a/hunyuan_image_train_network.py +++ b/hunyuan_image_train_network.py @@ -325,6 +325,8 @@ def assert_extra_args( logger.info( "fp8_scaled is used, so fp8_base and fp8_base_unet are ignored / fp8_scaledが使われているので、fp8_baseとfp8_base_unetは無視されます" ) + args.fp8_base = False + args.fp8_base_unet = False if args.cache_text_encoder_outputs_to_disk and not args.cache_text_encoder_outputs: logger.warning( @@ -585,12 +587,15 @@ def prepare_text_encoder_grad_ckpt_workaround(self, index, text_encoder): # do not support text encoder training for HunyuanImage-2.1 pass - def cast_text_encoder(self): + def cast_text_encoder(self, args): return False # VLM is bf16, byT5 is fp16, so do not cast to other dtype - def cast_vae(self): + def cast_vae(self, args): return False # VAE is fp16, so do not cast to other dtype + def cast_unet(self, args): + return not args.fp8_scaled # if fp8_scaled is used, do not cast to other dtype + def prepare_text_encoder_fp8(self, index, text_encoder, te_weight_dtype, weight_dtype): # fp8 text encoder for HunyuanImage-2.1 is not supported currently pass diff --git a/train_network.py b/train_network.py index c03c5fa09..6cebf5fc7 100644 --- a/train_network.py +++ b/train_network.py @@ -479,10 +479,13 @@ def process_batch( return loss.mean() - def cast_text_encoder(self): + def cast_text_encoder(self, args): return True # default for other than HunyuanImage - - def cast_vae(self): + + def cast_vae(self, args): + return True # default for other than HunyuanImage + + def cast_unet(self, args): return True # default for other than HunyuanImage def train(self, args): @@ -593,7 +596,7 @@ def train(self, args): # mixed precisionに対応した型を用意しておき適宜castする weight_dtype, save_dtype = train_util.prepare_dtype(args) - vae_dtype = (torch.float32 if args.no_half_vae else weight_dtype) if self.cast_vae() else None + vae_dtype = (torch.float32 if args.no_half_vae else weight_dtype) if self.cast_vae(args) else None # load target models: unet may be None for lazy loading model_version, text_encoder, vae, unet = self.load_target_model(args, weight_dtype, accelerator) @@ -844,12 +847,13 @@ def train(self, args): unet.to(dtype=unet_weight_dtype) # do not move to device because unet is not prepared by accelerator unet.requires_grad_(False) - unet.to(dtype=unet_weight_dtype) + if self.cast_unet(args): + unet.to(dtype=unet_weight_dtype) for i, t_enc in enumerate(text_encoders): t_enc.requires_grad_(False) # in case of cpu, dtype is already set to fp32 because cpu does not support fp8/fp16/bf16 - if t_enc.device.type != "cpu" and self.cast_text_encoder(): + if t_enc.device.type != "cpu" and self.cast_text_encoder(args): t_enc.to(dtype=te_weight_dtype) # nn.Embedding not support FP8 @@ -875,7 +879,8 @@ def train(self, args): # default implementation is: unet = accelerator.prepare(unet) unet = self.prepare_unet_with_accelerator(args, accelerator, unet) # accelerator does some magic here else: - unet.to(accelerator.device, dtype=unet_weight_dtype) # move to device because unet is not prepared by accelerator + # move to device because unet is not prepared by accelerator + unet.to(accelerator.device, dtype=unet_weight_dtype if self.cast_unet(args) else None) if train_text_encoder: text_encoders = [ (accelerator.prepare(t_enc) if flag else t_enc) From 8783f8aed395e82678e0f7a48b0415b95e819484 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Sat, 13 Sep 2025 19:51:38 +0900 Subject: [PATCH 682/748] feat: faster safetensors load and split safetensor utils --- flux_minimal_inference.py | 8 +- library/custom_offloading_utils.py | 37 ++- library/device_utils.py | 22 +- library/flux_train_utils.py | 3 +- library/flux_utils.py | 4 +- library/lumina_train_util.py | 3 +- library/lumina_util.py | 2 +- library/safetensors_utils.py | 352 ++++++++++++++++++++++++++ library/sd3_utils.py | 4 +- library/utils.py | 221 ++-------------- networks/flux_merge_lora.py | 3 +- sd3_minimal_inference.py | 2 +- sd3_train.py | 5 +- sd3_train_network.py | 3 +- tests/test_custom_offloading_utils.py | 18 +- tools/convert_diffusers_to_flux.py | 3 +- tools/merge_sd3_safetensors.py | 3 +- 17 files changed, 459 insertions(+), 234 deletions(-) create mode 100644 library/safetensors_utils.py diff --git a/flux_minimal_inference.py b/flux_minimal_inference.py index d5f2d8d98..0664b3c78 100644 --- a/flux_minimal_inference.py +++ b/flux_minimal_inference.py @@ -456,13 +456,13 @@ def is_fp8(dt): # load clip_l (skip for chroma model) if args.model_type == "flux": logger.info(f"Loading clip_l from {args.clip_l}...") - clip_l = flux_utils.load_clip_l(args.clip_l, clip_l_dtype, loading_device) + clip_l = flux_utils.load_clip_l(args.clip_l, clip_l_dtype, loading_device, disable_mmap=True) clip_l.eval() else: clip_l = None logger.info(f"Loading t5xxl from {args.t5xxl}...") - t5xxl = flux_utils.load_t5xxl(args.t5xxl, t5xxl_dtype, loading_device) + t5xxl = flux_utils.load_t5xxl(args.t5xxl, t5xxl_dtype, loading_device, disable_mmap=True) t5xxl.eval() # if is_fp8(clip_l_dtype): @@ -471,7 +471,9 @@ def is_fp8(dt): # t5xxl = accelerator.prepare(t5xxl) # DiT - is_schnell, model = flux_utils.load_flow_model(args.ckpt_path, None, loading_device, model_type=args.model_type) + is_schnell, model = flux_utils.load_flow_model( + args.ckpt_path, None, loading_device, disable_mmap=True, model_type=args.model_type + ) model.eval() logger.info(f"Casting model to {flux_dtype}") model.to(flux_dtype) # make sure model is dtype diff --git a/library/custom_offloading_utils.py b/library/custom_offloading_utils.py index 55ff08b64..fce3747e5 100644 --- a/library/custom_offloading_utils.py +++ b/library/custom_offloading_utils.py @@ -1,13 +1,28 @@ from concurrent.futures import ThreadPoolExecutor +import gc import time from typing import Optional, Union, Callable, Tuple import torch import torch.nn as nn -from library.device_utils import clean_memory_on_device +# Keep these functions here for portability, and private to avoid confusion with the ones in device_utils.py +def _clean_memory_on_device(device: torch.device): + r""" + Clean memory on the specified device, will be called from training scripts. + """ + gc.collect() + + # device may "cuda" or "cuda:0", so we need to check the type of device + if device.type == "cuda": + torch.cuda.empty_cache() + if device.type == "xpu": + torch.xpu.empty_cache() + if device.type == "mps": + torch.mps.empty_cache() -def synchronize_device(device: torch.device): + +def _synchronize_device(device: torch.device): if device.type == "cuda": torch.cuda.synchronize() elif device.type == "xpu": @@ -71,19 +86,18 @@ def swap_weight_devices_no_cuda(device: torch.device, layer_to_cpu: nn.Module, l if hasattr(module_to_cpu, "weight") and module_to_cpu.weight is not None: weight_swap_jobs.append((module_to_cpu, module_to_cuda, module_to_cpu.weight.data, module_to_cuda.weight.data)) - # device to cpu for module_to_cpu, module_to_cuda, cuda_data_view, cpu_data_view in weight_swap_jobs: module_to_cpu.weight.data = cuda_data_view.data.to("cpu", non_blocking=True) - synchronize_device(device) + _synchronize_device(device) # cpu to device for module_to_cpu, module_to_cuda, cuda_data_view, cpu_data_view in weight_swap_jobs: cuda_data_view.copy_(module_to_cuda.weight.data, non_blocking=True) module_to_cuda.weight.data = cuda_data_view - synchronize_device(device) + _synchronize_device(device) def weighs_to_device(layer: nn.Module, device: torch.device): @@ -152,12 +166,15 @@ def _wait_blocks_move(self, block_idx): # Gradient tensors _grad_t = Union[tuple[torch.Tensor, ...], torch.Tensor] + class ModelOffloader(Offloader): """ supports forward offloading """ - def __init__(self, blocks: Union[list[nn.Module], nn.ModuleList], blocks_to_swap: int, device: torch.device, debug: bool = False): + def __init__( + self, blocks: Union[list[nn.Module], nn.ModuleList], blocks_to_swap: int, device: torch.device, debug: bool = False + ): super().__init__(len(blocks), blocks_to_swap, device, debug) # register backward hooks @@ -172,7 +189,9 @@ def __del__(self): for handle in self.remove_handles: handle.remove() - def create_backward_hook(self, blocks: Union[list[nn.Module], nn.ModuleList], block_index: int) -> Optional[Callable[[nn.Module, _grad_t, _grad_t], Union[None, _grad_t]]]: + def create_backward_hook( + self, blocks: Union[list[nn.Module], nn.ModuleList], block_index: int + ) -> Optional[Callable[[nn.Module, _grad_t, _grad_t], Union[None, _grad_t]]]: # -1 for 0-based index num_blocks_propagated = self.num_blocks - block_index - 1 swapping = num_blocks_propagated > 0 and num_blocks_propagated <= self.blocks_to_swap @@ -213,8 +232,8 @@ def prepare_block_devices_before_forward(self, blocks: Union[list[nn.Module], nn b.to(self.device) # move block to device first weighs_to_device(b, torch.device("cpu")) # make sure weights are on cpu - synchronize_device(self.device) - clean_memory_on_device(self.device) + _synchronize_device(self.device) + _clean_memory_on_device(self.device) def wait_for_block(self, block_idx: int): if self.blocks_to_swap is None or self.blocks_to_swap == 0: diff --git a/library/device_utils.py b/library/device_utils.py index d2e197450..9d7757ed1 100644 --- a/library/device_utils.py +++ b/library/device_utils.py @@ -1,7 +1,9 @@ import functools import gc +from typing import Optional, Union import torch + try: # intel gpu support for pytorch older than 2.5 # ipex is not needed after pytorch 2.5 @@ -36,12 +38,15 @@ def clean_memory(): torch.mps.empty_cache() -def clean_memory_on_device(device: torch.device): +def clean_memory_on_device(device: Optional[Union[str, torch.device]]): r""" Clean memory on the specified device, will be called from training scripts. """ gc.collect() - + if device is None: + return + if isinstance(device, str): + device = torch.device(device) # device may "cuda" or "cuda:0", so we need to check the type of device if device.type == "cuda": torch.cuda.empty_cache() @@ -51,6 +56,19 @@ def clean_memory_on_device(device: torch.device): torch.mps.empty_cache() +def synchronize_device(device: Optional[Union[str, torch.device]]): + if device is None: + return + if isinstance(device, str): + device = torch.device(device) + if device.type == "cuda": + torch.cuda.synchronize() + elif device.type == "xpu": + torch.xpu.synchronize() + elif device.type == "mps": + torch.mps.synchronize() + + @functools.lru_cache(maxsize=None) def get_preferred_device() -> torch.device: r""" diff --git a/library/flux_train_utils.py b/library/flux_train_utils.py index f3eb81992..06fe0b953 100644 --- a/library/flux_train_utils.py +++ b/library/flux_train_utils.py @@ -16,10 +16,11 @@ from library import flux_models, flux_utils, strategy_base, train_util from library.device_utils import init_ipex, clean_memory_on_device +from library.safetensors_utils import mem_eff_save_file init_ipex() -from .utils import setup_logging, mem_eff_save_file +from .utils import setup_logging setup_logging() import logging diff --git a/library/flux_utils.py b/library/flux_utils.py index 220548547..410b34ce2 100644 --- a/library/flux_utils.py +++ b/library/flux_utils.py @@ -18,7 +18,7 @@ logger = logging.getLogger(__name__) from library import flux_models -from library.utils import load_safetensors +from library.safetensors_utils import load_safetensors MODEL_VERSION_FLUX_V1 = "flux1" MODEL_NAME_DEV = "dev" @@ -124,7 +124,7 @@ def load_flow_model( logger.info(f"Loading state dict from {ckpt_path}") sd = {} for ckpt_path in ckpt_paths: - sd.update(load_safetensors(ckpt_path, device=str(device), disable_mmap=disable_mmap, dtype=dtype)) + sd.update(load_safetensors(ckpt_path, device=device, disable_mmap=disable_mmap, dtype=dtype)) # convert Diffusers to BFL if is_diffusers: diff --git a/library/lumina_train_util.py b/library/lumina_train_util.py index 0645a8ae0..d5d5db05f 100644 --- a/library/lumina_train_util.py +++ b/library/lumina_train_util.py @@ -18,10 +18,11 @@ from library.flux_models import AutoEncoder from library.device_utils import init_ipex, clean_memory_on_device from library.sd3_train_utils import FlowMatchEulerDiscreteScheduler +from library.safetensors_utils import mem_eff_save_file init_ipex() -from .utils import setup_logging, mem_eff_save_file +from .utils import setup_logging setup_logging() import logging diff --git a/library/lumina_util.py b/library/lumina_util.py index 87853ef62..f7f3c8231 100644 --- a/library/lumina_util.py +++ b/library/lumina_util.py @@ -12,7 +12,7 @@ from library.utils import setup_logging from library import lumina_models, flux_models -from library.utils import load_safetensors +from library.safetensors_utils import load_safetensors import logging setup_logging() diff --git a/library/safetensors_utils.py b/library/safetensors_utils.py new file mode 100644 index 000000000..dcd2309e1 --- /dev/null +++ b/library/safetensors_utils.py @@ -0,0 +1,352 @@ +import os +import re +import numpy as np +import torch +import json +import struct +from typing import Dict, Any, Union, Optional + +from safetensors.torch import load_file + +from library.device_utils import synchronize_device + + +def mem_eff_save_file(tensors: Dict[str, torch.Tensor], filename: str, metadata: Dict[str, Any] = None): + """ + memory efficient save file + """ + + _TYPES = { + torch.float64: "F64", + torch.float32: "F32", + torch.float16: "F16", + torch.bfloat16: "BF16", + torch.int64: "I64", + torch.int32: "I32", + torch.int16: "I16", + torch.int8: "I8", + torch.uint8: "U8", + torch.bool: "BOOL", + getattr(torch, "float8_e5m2", None): "F8_E5M2", + getattr(torch, "float8_e4m3fn", None): "F8_E4M3", + } + _ALIGN = 256 + + def validate_metadata(metadata: Dict[str, Any]) -> Dict[str, str]: + validated = {} + for key, value in metadata.items(): + if not isinstance(key, str): + raise ValueError(f"Metadata key must be a string, got {type(key)}") + if not isinstance(value, str): + print(f"Warning: Metadata value for key '{key}' is not a string. Converting to string.") + validated[key] = str(value) + else: + validated[key] = value + return validated + + # print(f"Using memory efficient save file: {filename}") + + header = {} + offset = 0 + if metadata: + header["__metadata__"] = validate_metadata(metadata) + for k, v in tensors.items(): + if v.numel() == 0: # empty tensor + header[k] = {"dtype": _TYPES[v.dtype], "shape": list(v.shape), "data_offsets": [offset, offset]} + else: + size = v.numel() * v.element_size() + header[k] = {"dtype": _TYPES[v.dtype], "shape": list(v.shape), "data_offsets": [offset, offset + size]} + offset += size + + hjson = json.dumps(header).encode("utf-8") + hjson += b" " * (-(len(hjson) + 8) % _ALIGN) + + with open(filename, "wb") as f: + f.write(struct.pack(" Dict[str, str]: + """Get metadata from the file. + + Returns: + Dict[str, str]: Metadata dictionary. + """ + return self.header.get("__metadata__", {}) + + def _read_header(self): + """Read and parse the header from the safetensors file. + + Returns: + tuple: (header_dict, header_size) containing parsed header and its size. + """ + # Read header size (8 bytes, little-endian unsigned long long) + header_size = struct.unpack("10MB) and the target device is CUDA, memory mapping with numpy.memmap is used to avoid intermediate copies. + + Args: + key (str): Name of the tensor to load. + device (Optional[torch.device]): Target device for the tensor. + dtype (Optional[torch.dtype]): Target dtype for the tensor. + + Returns: + torch.Tensor: The loaded tensor. + + Raises: + KeyError: If the tensor key is not found in the file. + """ + if key not in self.header: + raise KeyError(f"Tensor '{key}' not found in the file") + + metadata = self.header[key] + offset_start, offset_end = metadata["data_offsets"] + num_bytes = offset_end - offset_start + + original_dtype = self._get_torch_dtype(metadata["dtype"]) + target_dtype = dtype if dtype is not None else original_dtype + + # Handle empty tensors + if num_bytes == 0: + return torch.empty(metadata["shape"], dtype=target_dtype, device=device) + + # Determine if we should use pinned memory for GPU transfer + non_blocking = device is not None and device.type == "cuda" + + # Calculate absolute file offset + tensor_offset = self.header_size + 8 + offset_start # adjust offset by header size + + # Memory mapping strategy for large tensors to GPU + # Use memmap for large tensors to avoid intermediate copies. + # If device is cpu, tensor is not copied to gpu, so using memmap locks the file, which is not desired. + # So we only use memmap if device is not cpu. + if num_bytes > 10 * 1024 * 1024 and device is not None and device.type != "cpu": + # Create memory map for zero-copy reading + mm = np.memmap(self.filename, mode="c", dtype=np.uint8, offset=tensor_offset, shape=(num_bytes,)) + byte_tensor = torch.from_numpy(mm) # zero copy + del mm + + # Deserialize tensor (view and reshape) + cpu_tensor = self._deserialize_tensor(byte_tensor, metadata) # view and reshape + del byte_tensor + + # Transfer to target device and dtype + gpu_tensor = cpu_tensor.to(device=device, dtype=target_dtype, non_blocking=non_blocking) + del cpu_tensor + return gpu_tensor + + # Standard file reading strategy for smaller tensors or CPU target + # seek to the specified position + self.file.seek(tensor_offset) + + # read directly into a numpy array by numpy.fromfile without intermediate copy + numpy_array = np.fromfile(self.file, dtype=np.uint8, count=num_bytes) + byte_tensor = torch.from_numpy(numpy_array) + del numpy_array + + # deserialize (view and reshape) + deserialized_tensor = self._deserialize_tensor(byte_tensor, metadata) + del byte_tensor + + # cast to target dtype and move to device + return deserialized_tensor.to(device=device, dtype=target_dtype, non_blocking=non_blocking) + + def _deserialize_tensor(self, byte_tensor: torch.Tensor, metadata: Dict): + """Deserialize byte tensor to the correct shape and dtype. + + Args: + byte_tensor (torch.Tensor): Raw byte tensor from file. + metadata (Dict): Tensor metadata containing dtype and shape info. + + Returns: + torch.Tensor: Deserialized tensor with correct shape and dtype. + """ + dtype = self._get_torch_dtype(metadata["dtype"]) + shape = metadata["shape"] + + # Handle special float8 types + if metadata["dtype"] in ["F8_E5M2", "F8_E4M3"]: + return self._convert_float8(byte_tensor, metadata["dtype"], shape) + + # Standard conversion: view as target dtype and reshape + return byte_tensor.view(dtype).reshape(shape) + + @staticmethod + def _get_torch_dtype(dtype_str): + """Convert string dtype to PyTorch dtype. + + Args: + dtype_str (str): String representation of the dtype. + + Returns: + torch.dtype: Corresponding PyTorch dtype. + """ + # Standard dtype mappings + dtype_map = { + "F64": torch.float64, + "F32": torch.float32, + "F16": torch.float16, + "BF16": torch.bfloat16, + "I64": torch.int64, + "I32": torch.int32, + "I16": torch.int16, + "I8": torch.int8, + "U8": torch.uint8, + "BOOL": torch.bool, + } + # Add float8 types if available in PyTorch version + if hasattr(torch, "float8_e5m2"): + dtype_map["F8_E5M2"] = torch.float8_e5m2 + if hasattr(torch, "float8_e4m3fn"): + dtype_map["F8_E4M3"] = torch.float8_e4m3fn + return dtype_map.get(dtype_str) + + @staticmethod + def _convert_float8(byte_tensor, dtype_str, shape): + """Convert byte tensor to float8 format if supported. + + Args: + byte_tensor (torch.Tensor): Raw byte tensor. + dtype_str (str): Float8 dtype string ("F8_E5M2" or "F8_E4M3"). + shape (tuple): Target tensor shape. + + Returns: + torch.Tensor: Tensor with float8 dtype. + + Raises: + ValueError: If float8 type is not supported in current PyTorch version. + """ + # Convert to specific float8 types if available + if dtype_str == "F8_E5M2" and hasattr(torch, "float8_e5m2"): + return byte_tensor.view(torch.float8_e5m2).reshape(shape) + elif dtype_str == "F8_E4M3" and hasattr(torch, "float8_e4m3fn"): + return byte_tensor.view(torch.float8_e4m3fn).reshape(shape) + else: + # Float8 not supported in this PyTorch version + raise ValueError(f"Unsupported float8 type: {dtype_str} (upgrade PyTorch to support float8 types)") + + +def load_safetensors( + path: str, device: Union[str, torch.device], disable_mmap: bool = False, dtype: Optional[torch.dtype] = None +) -> dict[str, torch.Tensor]: + if disable_mmap: + # return safetensors.torch.load(open(path, "rb").read()) + # use experimental loader + # logger.info(f"Loading without mmap (experimental)") + state_dict = {} + device = torch.device(device) if device is not None else None + with MemoryEfficientSafeOpen(path) as f: + for key in f.keys(): + state_dict[key] = f.get_tensor(key, device=device, dtype=dtype) + synchronize_device(device) + return state_dict + else: + try: + state_dict = load_file(path, device=device) + except: + state_dict = load_file(path) # prevent device invalid Error + if dtype is not None: + for key in state_dict.keys(): + state_dict[key] = state_dict[key].to(dtype=dtype) + return state_dict + + +def load_split_weights( + file_path: str, device: Union[str, torch.device] = "cpu", disable_mmap: bool = False, dtype: Optional[torch.dtype] = None +) -> Dict[str, torch.Tensor]: + """ + Load split weights from a file. If the file name ends with 00001-of-00004 etc, it will load all files with the same prefix. + dtype is as is, no conversion is done. + """ + device = torch.device(device) + + # if the file name ends with 00001-of-00004 etc, we need to load the files with the same prefix + basename = os.path.basename(file_path) + match = re.match(r"^(.*?)(\d+)-of-(\d+)\.safetensors$", basename) + if match: + prefix = basename[: match.start(2)] + count = int(match.group(3)) + state_dict = {} + for i in range(count): + filename = f"{prefix}{i + 1:05d}-of-{count:05d}.safetensors" + filepath = os.path.join(os.path.dirname(file_path), filename) + if os.path.exists(filepath): + state_dict.update(load_safetensors(filepath, device=device, disable_mmap=disable_mmap, dtype=dtype)) + else: + raise FileNotFoundError(f"File {filepath} not found") + else: + state_dict = load_safetensors(file_path, device=device, disable_mmap=disable_mmap, dtype=dtype) + return state_dict + + +def find_key(safetensors_file: str, starts_with: Optional[str] = None, ends_with: Optional[str] = None) -> Optional[str]: + """ + Find a key in a safetensors file that starts with `starts_with` and ends with `ends_with`. + If `starts_with` is None, it will match any key. + If `ends_with` is None, it will match any key. + Returns the first matching key or None if no key matches. + """ + with MemoryEfficientSafeOpen(safetensors_file) as f: + for key in f.keys(): + if (starts_with is None or key.startswith(starts_with)) and (ends_with is None or key.endswith(ends_with)): + return key + return None diff --git a/library/sd3_utils.py b/library/sd3_utils.py index d2ea6fffe..5fbaa4c3e 100644 --- a/library/sd3_utils.py +++ b/library/sd3_utils.py @@ -23,7 +23,7 @@ # region models # TODO remove dependency on flux_utils -from library.utils import load_safetensors +from library.safetensors_utils import load_safetensors from library.flux_utils import load_t5xxl as flux_utils_load_t5xxl @@ -246,7 +246,7 @@ def load_vae( vae_sd = {} if vae_path: logger.info(f"Loading VAE from {vae_path}...") - vae_sd = load_safetensors(vae_path, device, disable_mmap) + vae_sd = load_safetensors(vae_path, device, disable_mmap, dtype=vae_dtype) else: # remove prefix "first_stage_model." vae_sd = {} diff --git a/library/utils.py b/library/utils.py index d0586b84a..296fc4151 100644 --- a/library/utils.py +++ b/library/utils.py @@ -2,8 +2,6 @@ import sys import threading from typing import * -import json -import struct import torch import torch.nn as nn @@ -14,7 +12,7 @@ import cv2 from PIL import Image import numpy as np -from safetensors.torch import load_file + def fire_in_thread(f, *args, **kwargs): threading.Thread(target=f, args=args, kwargs=kwargs).start() @@ -88,6 +86,7 @@ def setup_logging(args=None, log_level=None, reset=False): logger = logging.getLogger(__name__) logger.info(msg_init) + setup_logging() logger = logging.getLogger(__name__) @@ -190,190 +189,6 @@ def str_to_dtype(s: Optional[str], default_dtype: Optional[torch.dtype] = None) raise ValueError(f"Unsupported dtype: {s}") -def mem_eff_save_file(tensors: Dict[str, torch.Tensor], filename: str, metadata: Dict[str, Any] = None): - """ - memory efficient save file - """ - - _TYPES = { - torch.float64: "F64", - torch.float32: "F32", - torch.float16: "F16", - torch.bfloat16: "BF16", - torch.int64: "I64", - torch.int32: "I32", - torch.int16: "I16", - torch.int8: "I8", - torch.uint8: "U8", - torch.bool: "BOOL", - getattr(torch, "float8_e5m2", None): "F8_E5M2", - getattr(torch, "float8_e4m3fn", None): "F8_E4M3", - } - _ALIGN = 256 - - def validate_metadata(metadata: Dict[str, Any]) -> Dict[str, str]: - validated = {} - for key, value in metadata.items(): - if not isinstance(key, str): - raise ValueError(f"Metadata key must be a string, got {type(key)}") - if not isinstance(value, str): - print(f"Warning: Metadata value for key '{key}' is not a string. Converting to string.") - validated[key] = str(value) - else: - validated[key] = value - return validated - - print(f"Using memory efficient save file: {filename}") - - header = {} - offset = 0 - if metadata: - header["__metadata__"] = validate_metadata(metadata) - for k, v in tensors.items(): - if v.numel() == 0: # empty tensor - header[k] = {"dtype": _TYPES[v.dtype], "shape": list(v.shape), "data_offsets": [offset, offset]} - else: - size = v.numel() * v.element_size() - header[k] = {"dtype": _TYPES[v.dtype], "shape": list(v.shape), "data_offsets": [offset, offset + size]} - offset += size - - hjson = json.dumps(header).encode("utf-8") - hjson += b" " * (-(len(hjson) + 8) % _ALIGN) - - with open(filename, "wb") as f: - f.write(struct.pack(" Dict[str, str]: - return self.header.get("__metadata__", {}) - - def get_tensor(self, key): - if key not in self.header: - raise KeyError(f"Tensor '{key}' not found in the file") - - metadata = self.header[key] - offset_start, offset_end = metadata["data_offsets"] - - if offset_start == offset_end: - tensor_bytes = None - else: - # adjust offset by header size - self.file.seek(self.header_size + 8 + offset_start) - tensor_bytes = self.file.read(offset_end - offset_start) - - return self._deserialize_tensor(tensor_bytes, metadata) - - def _read_header(self): - header_size = struct.unpack(" dict[str, torch.Tensor]: - if disable_mmap: - # return safetensors.torch.load(open(path, "rb").read()) - # use experimental loader - # logger.info(f"Loading without mmap (experimental)") - state_dict = {} - with MemoryEfficientSafeOpen(path) as f: - for key in f.keys(): - state_dict[key] = f.get_tensor(key).to(device, dtype=dtype) - return state_dict - else: - try: - state_dict = load_file(path, device=device) - except: - state_dict = load_file(path) # prevent device invalid Error - if dtype is not None: - for key in state_dict.keys(): - state_dict[key] = state_dict[key].to(dtype=dtype) - return state_dict - - # endregion # region Image utils @@ -398,7 +213,14 @@ def pil_resize(image, size, interpolation): return resized_cv2 -def resize_image(image: np.ndarray, width: int, height: int, resized_width: int, resized_height: int, resize_interpolation: Optional[str] = None): +def resize_image( + image: np.ndarray, + width: int, + height: int, + resized_width: int, + resized_height: int, + resize_interpolation: Optional[str] = None, +): """ Resize image with resize interpolation. Default interpolation to AREA if image is smaller, else LANCZOS. @@ -449,29 +271,30 @@ def get_cv2_interpolation(interpolation: Optional[str]) -> Optional[int]: https://docs.opencv.org/3.4/da/d54/group__imgproc__transform.html#ga5bb5a1fea74ea38e1a5445ca803ff121 """ if interpolation is None: - return None + return None if interpolation == "lanczos" or interpolation == "lanczos4": - # Lanczos interpolation over 8x8 neighborhood + # Lanczos interpolation over 8x8 neighborhood return cv2.INTER_LANCZOS4 elif interpolation == "nearest": - # Bit exact nearest neighbor interpolation. This will produce same results as the nearest neighbor method in PIL, scikit-image or Matlab. + # Bit exact nearest neighbor interpolation. This will produce same results as the nearest neighbor method in PIL, scikit-image or Matlab. return cv2.INTER_NEAREST_EXACT elif interpolation == "bilinear" or interpolation == "linear": # bilinear interpolation return cv2.INTER_LINEAR elif interpolation == "bicubic" or interpolation == "cubic": - # bicubic interpolation + # bicubic interpolation return cv2.INTER_CUBIC elif interpolation == "area": - # resampling using pixel area relation. It may be a preferred method for image decimation, as it gives moire'-free results. But when the image is zoomed, it is similar to the INTER_NEAREST method. + # resampling using pixel area relation. It may be a preferred method for image decimation, as it gives moire'-free results. But when the image is zoomed, it is similar to the INTER_NEAREST method. return cv2.INTER_AREA elif interpolation == "box": - # resampling using pixel area relation. It may be a preferred method for image decimation, as it gives moire'-free results. But when the image is zoomed, it is similar to the INTER_NEAREST method. + # resampling using pixel area relation. It may be a preferred method for image decimation, as it gives moire'-free results. But when the image is zoomed, it is similar to the INTER_NEAREST method. return cv2.INTER_AREA else: return None + def get_pil_interpolation(interpolation: Optional[str]) -> Optional[Image.Resampling]: """ Convert interpolation value to PIL interpolation @@ -479,7 +302,7 @@ def get_pil_interpolation(interpolation: Optional[str]) -> Optional[Image.Resamp https://pillow.readthedocs.io/en/stable/handbook/concepts.html#concept-filters """ if interpolation is None: - return None + return None if interpolation == "lanczos": return Image.Resampling.LANCZOS @@ -493,7 +316,7 @@ def get_pil_interpolation(interpolation: Optional[str]) -> Optional[Image.Resamp # For resize calculate the output pixel value using cubic interpolation on all pixels that may contribute to the output value. For other transformations cubic interpolation over a 4x4 environment in the input image is used. return Image.Resampling.BICUBIC elif interpolation == "area": - # Image.Resampling.BOX may be more appropriate if upscaling + # Image.Resampling.BOX may be more appropriate if upscaling # Area interpolation is related to cv2.INTER_AREA # Produces a sharper image than Resampling.BILINEAR, doesn’t have dislocations on local level like with Resampling.BOX. return Image.Resampling.HAMMING @@ -503,12 +326,14 @@ def get_pil_interpolation(interpolation: Optional[str]) -> Optional[Image.Resamp else: return None + def validate_interpolation_fn(interpolation_str: str) -> bool: """ Check if a interpolation function is supported """ return interpolation_str in ["lanczos", "nearest", "bilinear", "linear", "bicubic", "cubic", "area", "box"] + # endregion # TODO make inf_utils.py @@ -642,7 +467,9 @@ def step( elif self.config.prediction_type == "sample": raise NotImplementedError("prediction_type not implemented yet: sample") else: - raise ValueError(f"prediction_type given as {self.config.prediction_type} must be one of `epsilon`, or `v_prediction`") + raise ValueError( + f"prediction_type given as {self.config.prediction_type} must be one of `epsilon`, or `v_prediction`" + ) sigma_from = self.sigmas[self.step_index] sigma_to = self.sigmas[self.step_index + 1] diff --git a/networks/flux_merge_lora.py b/networks/flux_merge_lora.py index 5e100a3ba..855c0ed98 100644 --- a/networks/flux_merge_lora.py +++ b/networks/flux_merge_lora.py @@ -9,7 +9,8 @@ from safetensors.torch import load_file, save_file from tqdm import tqdm -from library.utils import setup_logging, str_to_dtype, MemoryEfficientSafeOpen, mem_eff_save_file +from library.utils import setup_logging, str_to_dtype +from library.safetensors_utils import MemoryEfficientSafeOpen, mem_eff_save_file setup_logging() import logging diff --git a/sd3_minimal_inference.py b/sd3_minimal_inference.py index 86dba246d..d7b97a59f 100644 --- a/sd3_minimal_inference.py +++ b/sd3_minimal_inference.py @@ -28,7 +28,7 @@ logger = logging.getLogger(__name__) from library import sd3_models, sd3_utils, strategy_sd3 -from library.utils import load_safetensors +from library.safetensors_utils import load_safetensors def get_noise(seed, latent, device="cpu"): diff --git a/sd3_train.py b/sd3_train.py index 355e13dd2..c6a2fdd8d 100644 --- a/sd3_train.py +++ b/sd3_train.py @@ -14,6 +14,7 @@ import torch from library import utils from library.device_utils import init_ipex, clean_memory_on_device +from library.safetensors_utils import load_safetensors init_ipex() @@ -206,7 +207,7 @@ def train(args): # t5xxl_dtype = weight_dtype model_dtype = match_mixed_precision(args, weight_dtype) # None (default) or fp16/bf16 (full_xxxx) if args.clip_l is None: - sd3_state_dict = utils.load_safetensors( + sd3_state_dict = load_safetensors( args.pretrained_model_name_or_path, "cpu", args.disable_mmap_load_safetensors, model_dtype ) else: @@ -322,7 +323,7 @@ def train(args): # load VAE for caching latents if sd3_state_dict is None: logger.info(f"load state dict for MMDiT and VAE from {args.pretrained_model_name_or_path}") - sd3_state_dict = utils.load_safetensors( + sd3_state_dict = load_safetensors( args.pretrained_model_name_or_path, "cpu", args.disable_mmap_load_safetensors, model_dtype ) diff --git a/sd3_train_network.py b/sd3_train_network.py index cdb7aa4e3..c9b06a38a 100644 --- a/sd3_train_network.py +++ b/sd3_train_network.py @@ -8,6 +8,7 @@ from accelerate import Accelerator from library import sd3_models, strategy_sd3, utils from library.device_utils import init_ipex, clean_memory_on_device +from library.safetensors_utils import load_safetensors init_ipex() @@ -77,7 +78,7 @@ def load_target_model(self, args, weight_dtype, accelerator): loading_dtype = None if args.fp8_base else weight_dtype # if we load to cpu, flux.to(fp8) takes a long time, so we should load to gpu in future - state_dict = utils.load_safetensors( + state_dict = load_safetensors( args.pretrained_model_name_or_path, "cpu", disable_mmap=args.disable_mmap_load_safetensors, dtype=loading_dtype ) mmdit = sd3_utils.load_mmdit(state_dict, loading_dtype, "cpu") diff --git a/tests/test_custom_offloading_utils.py b/tests/test_custom_offloading_utils.py index 5fa40b768..8c23bdf55 100644 --- a/tests/test_custom_offloading_utils.py +++ b/tests/test_custom_offloading_utils.py @@ -4,7 +4,7 @@ from unittest.mock import patch, MagicMock from library.custom_offloading_utils import ( - synchronize_device, + _synchronize_device, swap_weight_devices_cuda, swap_weight_devices_no_cuda, weighs_to_device, @@ -50,21 +50,21 @@ def device(self): @pytest.mark.skipif(not torch.cuda.is_available(), reason="CUDA not available") def test_cuda_synchronize(mock_cuda_sync): device = torch.device('cuda') - synchronize_device(device) + _synchronize_device(device) mock_cuda_sync.assert_called_once() @patch('torch.xpu.synchronize') @pytest.mark.skipif(not torch.xpu.is_available(), reason="XPU not available") def test_xpu_synchronize(mock_xpu_sync): device = torch.device('xpu') - synchronize_device(device) + _synchronize_device(device) mock_xpu_sync.assert_called_once() @patch('torch.mps.synchronize') @pytest.mark.skipif(not torch.xpu.is_available(), reason="MPS not available") def test_mps_synchronize(mock_mps_sync): device = torch.device('mps') - synchronize_device(device) + _synchronize_device(device) mock_mps_sync.assert_called_once() @@ -111,7 +111,7 @@ def test_swap_weight_devices_cuda(): -@patch('library.custom_offloading_utils.synchronize_device') +@patch('library.custom_offloading_utils._synchronize_device') def test_swap_weight_devices_no_cuda(mock_sync_device): device = torch.device('cpu') layer_to_cpu = SimpleModel() @@ -121,7 +121,7 @@ def test_swap_weight_devices_no_cuda(mock_sync_device): with patch('torch.Tensor.copy_'): swap_weight_devices_no_cuda(device, layer_to_cpu, layer_to_cuda) - # Verify synchronize_device was called twice + # Verify _synchronize_device was called twice assert mock_sync_device.call_count == 2 @@ -279,8 +279,8 @@ def test_backward_hook_execution(mock_wait, mock_submit): @patch('library.custom_offloading_utils.weighs_to_device') -@patch('library.custom_offloading_utils.synchronize_device') -@patch('library.custom_offloading_utils.clean_memory_on_device') +@patch('library.custom_offloading_utils._synchronize_device') +@patch('library.custom_offloading_utils._clean_memory_on_device') def test_prepare_block_devices_before_forward(mock_clean, mock_sync, mock_weights_to_device, model_offloader): model = SimpleModel(4) blocks = model.blocks @@ -291,7 +291,7 @@ def test_prepare_block_devices_before_forward(mock_clean, mock_sync, mock_weight # Check that weighs_to_device was called for each block assert mock_weights_to_device.call_count == 4 - # Check that synchronize_device and clean_memory_on_device were called + # Check that _synchronize_device and _clean_memory_on_device were called mock_sync.assert_called_once_with(model_offloader.device) mock_clean.assert_called_once_with(model_offloader.device) diff --git a/tools/convert_diffusers_to_flux.py b/tools/convert_diffusers_to_flux.py index 65ba7321a..a11093c92 100644 --- a/tools/convert_diffusers_to_flux.py +++ b/tools/convert_diffusers_to_flux.py @@ -30,7 +30,8 @@ from tqdm import tqdm from library import flux_utils -from library.utils import setup_logging, str_to_dtype, MemoryEfficientSafeOpen, mem_eff_save_file +from library.utils import setup_logging, str_to_dtype +from library.safetensors_utils import MemoryEfficientSafeOpen, mem_eff_save_file setup_logging() import logging diff --git a/tools/merge_sd3_safetensors.py b/tools/merge_sd3_safetensors.py index 6bc1003ec..6ec045ddc 100644 --- a/tools/merge_sd3_safetensors.py +++ b/tools/merge_sd3_safetensors.py @@ -6,7 +6,8 @@ from safetensors.torch import safe_open from library.utils import setup_logging -from library.utils import load_safetensors, mem_eff_save_file, str_to_dtype +from library.utils import str_to_dtype +from library.safetensors_utils import load_safetensors, mem_eff_save_file setup_logging() import logging From e1c666e97f99f50e381ab88b8878392ca26870bb Mon Sep 17 00:00:00 2001 From: "Kohya S." <52813779+kohya-ss@users.noreply.github.com> Date: Sat, 13 Sep 2025 20:03:55 +0900 Subject: [PATCH 683/748] Update library/safetensors_utils.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- library/safetensors_utils.py | 1 - 1 file changed, 1 deletion(-) diff --git a/library/safetensors_utils.py b/library/safetensors_utils.py index dcd2309e1..c65cdfabe 100644 --- a/library/safetensors_utils.py +++ b/library/safetensors_utils.py @@ -44,7 +44,6 @@ def validate_metadata(metadata: Dict[str, Any]) -> Dict[str, str]: validated[key] = value return validated - # print(f"Using memory efficient save file: {filename}") header = {} offset = 0 From 4568631b43f348ea4360b021315a3da8064f3d7b Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Sat, 13 Sep 2025 20:05:39 +0900 Subject: [PATCH 684/748] docs: update README to reflect improved loading speed of .safetensors files --- README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 843cf71b9..da38a2416 100644 --- a/README.md +++ b/README.md @@ -13,11 +13,13 @@ For RTX 50 series GPUs, PyTorch 2.8.0 with CUDA 12.8/9 should be used. `requirem If you are using DeepSpeed, please install DeepSpeed with `pip install deepspeed` (appropriate version is not confirmed yet). -- [FLUX.1 training](#flux1-training) -- [SD3 training](#sd3-training) - ### Recent Updates +Sep 13, 2025: +- The loading speed of `.safetensors` files has been improved for SD3, FLUX.1 and Lumina. See [PR #2200](https://github.com/kohya-ss/sd-scripts/pull/2200) for more details. + - Model loading can be up to 1.5 times faster. + - This is a wide-ranging update, so there may be bugs. Please let us know if you encounter any issues. + Sep 4, 2025: - The information about FLUX.1 and SD3/SD3.5 training that was described in the README has been organized and divided into the following documents: - [LoRA Training Overview](./docs/train_network.md) From d831c8883214f3af757ae13848e33c49c29ff89b Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Sat, 13 Sep 2025 21:06:04 +0900 Subject: [PATCH 685/748] fix: sample generation doesn't work with block swap --- hunyuan_image_train_network.py | 7 +++++-- library/hunyuan_image_models.py | 14 ++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/hunyuan_image_train_network.py b/hunyuan_image_train_network.py index 7167ce4c2..a3c0cd898 100644 --- a/hunyuan_image_train_network.py +++ b/hunyuan_image_train_network.py @@ -1,7 +1,7 @@ import argparse import copy import gc -from typing import Any, Optional, Union +from typing import Any, Optional, Union, cast import argparse import os import time @@ -47,7 +47,7 @@ def sample_images( args: argparse.Namespace, epoch, steps, - dit, + dit: hunyuan_image_models.HYImageDiffusionTransformer, vae, text_encoders, sample_prompts_te_outputs, @@ -77,6 +77,8 @@ def sample_images( # unwrap unet and text_encoder(s) dit = accelerator.unwrap_model(dit) + dit = cast(hunyuan_image_models.HYImageDiffusionTransformer, dit) + dit.switch_block_swap_for_inference() if text_encoders is not None: text_encoders = [(accelerator.unwrap_model(te) if te is not None else None) for te in text_encoders] # print([(te.parameters().__next__().device if te is not None else None) for te in text_encoders]) @@ -139,6 +141,7 @@ def sample_images( if cuda_rng_state is not None: torch.cuda.set_rng_state(cuda_rng_state) + dit.switch_block_swap_for_training() clean_memory_on_device(accelerator.device) diff --git a/library/hunyuan_image_models.py b/library/hunyuan_image_models.py index ce2d23ddc..2a6092ea3 100644 --- a/library/hunyuan_image_models.py +++ b/library/hunyuan_image_models.py @@ -185,6 +185,20 @@ def enable_block_swap(self, num_blocks: int, device: torch.device, supports_back f"HunyuanImage-2.1: Block swap enabled. Swapping {num_blocks} blocks, double blocks: {double_blocks_to_swap}, single blocks: {single_blocks_to_swap}." ) + def switch_block_swap_for_inference(self): + if self.blocks_to_swap: + self.offloader_double.set_forward_only(True) + self.offloader_single.set_forward_only(True) + self.prepare_block_swap_before_forward() + print(f"HunyuanImage-2.1: Block swap set to forward only.") + + def switch_block_swap_for_training(self): + if self.blocks_to_swap: + self.offloader_double.set_forward_only(False) + self.offloader_single.set_forward_only(False) + self.prepare_block_swap_before_forward() + print(f"HunyuanImage-2.1: Block swap set to forward and backward.") + def move_to_device_except_swap_blocks(self, device: torch.device): # assume model is on cpu. do not move blocks to device to reduce temporary memory usage if self.blocks_to_swap: From 4e2a80a6caa546f44a3667a7d9dec6a2c6378591 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Sat, 13 Sep 2025 21:07:11 +0900 Subject: [PATCH 686/748] refactor: update imports to use safetensors_utils for memory-efficient operations --- hunyuan_image_minimal_inference.py | 3 ++- library/custom_offloading_utils.py | 15 ++++++++------- library/fp8_optimization_utils.py | 3 ++- library/hunyuan_image_text_encoder.py | 4 ++-- library/hunyuan_image_vae.py | 3 ++- library/lora_utils.py | 3 ++- networks/flux_extract_lora.py | 5 ++--- 7 files changed, 20 insertions(+), 16 deletions(-) diff --git a/hunyuan_image_minimal_inference.py b/hunyuan_image_minimal_inference.py index 3de0b1cd4..7db490cd1 100644 --- a/hunyuan_image_minimal_inference.py +++ b/hunyuan_image_minimal_inference.py @@ -22,6 +22,7 @@ from library import hunyuan_image_vae from library.hunyuan_image_vae import HunyuanVAE2D from library.device_utils import clean_memory_on_device, synchronize_device +from library.safetensors_utils import mem_eff_save_file from networks import lora_hunyuan_image @@ -29,7 +30,7 @@ if lycoris_available: from lycoris.kohya import create_network_from_weights -from library.utils import mem_eff_save_file, setup_logging +from library.utils import setup_logging setup_logging() import logging diff --git a/library/custom_offloading_utils.py b/library/custom_offloading_utils.py index 1b7bbc143..fe7e59d2b 100644 --- a/library/custom_offloading_utils.py +++ b/library/custom_offloading_utils.py @@ -173,14 +173,12 @@ class ModelOffloader(Offloader): """ def __init__( - self, blocks: Union[list[nn.Module], nn.ModuleList], blocks_to_swap: int, device: torch.device, supports_backward: bool = True, debug: bool = False, - ): super().__init__(len(blocks), blocks_to_swap, device, debug) @@ -220,7 +218,7 @@ def create_backward_hook( block_idx_to_cuda = self.blocks_to_swap - num_blocks_propagated block_idx_to_wait = block_index - 1 - def backward_hook(module, grad_input, grad_output): + def backward_hook(module: nn.Module, grad_input: _grad_t, grad_output: _grad_t): if self.debug: print(f"Backward hook for block {block_index}") @@ -232,7 +230,7 @@ def backward_hook(module, grad_input, grad_output): return backward_hook - def prepare_block_devices_before_forward(self, blocks: list[nn.Module]): + def prepare_block_devices_before_forward(self, blocks: Union[list[nn.Module], nn.ModuleList]): if self.blocks_to_swap is None or self.blocks_to_swap == 0: return @@ -245,7 +243,7 @@ def prepare_block_devices_before_forward(self, blocks: list[nn.Module]): for b in blocks[self.num_blocks - self.blocks_to_swap :]: b.to(self.device) # move block to device first. this makes sure that buffers (non weights) are on the device - weighs_to_device(b, "cpu") # make sure weights are on cpu + weighs_to_device(b, torch.device("cpu")) # make sure weights are on cpu _synchronize_device(self.device) _clean_memory_on_device(self.device) @@ -255,7 +253,7 @@ def wait_for_block(self, block_idx: int): return self._wait_blocks_move(block_idx) - def submit_move_blocks(self, blocks: list[nn.Module], block_idx: int): + def submit_move_blocks(self, blocks: Union[list[nn.Module], nn.ModuleList], block_idx: int): # check if blocks_to_swap is enabled if self.blocks_to_swap is None or self.blocks_to_swap == 0: return @@ -266,7 +264,10 @@ def submit_move_blocks(self, blocks: list[nn.Module], block_idx: int): block_idx_to_cpu = block_idx block_idx_to_cuda = self.num_blocks - self.blocks_to_swap + block_idx - block_idx_to_cuda = block_idx_to_cuda % self.num_blocks # this works for forward-only offloading + + # this works for forward-only offloading. move upstream blocks to cuda + block_idx_to_cuda = block_idx_to_cuda % self.num_blocks + self._submit_move_blocks(blocks, block_idx_to_cpu, block_idx_to_cuda) diff --git a/library/fp8_optimization_utils.py b/library/fp8_optimization_utils.py index a91eb4e4c..ed7d3f764 100644 --- a/library/fp8_optimization_utils.py +++ b/library/fp8_optimization_utils.py @@ -9,7 +9,8 @@ from tqdm import tqdm from library.device_utils import clean_memory_on_device -from library.utils import MemoryEfficientSafeOpen, setup_logging +from library.safetensors_utils import MemoryEfficientSafeOpen +from library.utils import setup_logging setup_logging() import logging diff --git a/library/hunyuan_image_text_encoder.py b/library/hunyuan_image_text_encoder.py index 960f14b37..509f9bd2f 100644 --- a/library/hunyuan_image_text_encoder.py +++ b/library/hunyuan_image_text_encoder.py @@ -14,8 +14,8 @@ from transformers.models.t5.modeling_t5 import T5Stack from accelerate import init_empty_weights -from library import model_util -from library.utils import load_safetensors, setup_logging +from library.safetensors_utils import load_safetensors +from library.utils import setup_logging setup_logging() import logging diff --git a/library/hunyuan_image_vae.py b/library/hunyuan_image_vae.py index 570d4caa6..6f6eea22d 100644 --- a/library/hunyuan_image_vae.py +++ b/library/hunyuan_image_vae.py @@ -7,7 +7,8 @@ from torch.nn import Conv2d from diffusers.models.autoencoders.vae import DiagonalGaussianDistribution -from library.utils import load_safetensors, setup_logging +from library.safetensors_utils import load_safetensors +from library.utils import setup_logging setup_logging() import logging diff --git a/library/lora_utils.py b/library/lora_utils.py index 468fb01ad..b93eb9af3 100644 --- a/library/lora_utils.py +++ b/library/lora_utils.py @@ -9,7 +9,8 @@ from library.device_utils import synchronize_device from library.fp8_optimization_utils import load_safetensors_with_fp8_optimization -from library.utils import MemoryEfficientSafeOpen, setup_logging +from library.safetensors_utils import MemoryEfficientSafeOpen +from library.utils import setup_logging setup_logging() import logging diff --git a/networks/flux_extract_lora.py b/networks/flux_extract_lora.py index 63ab2960c..657287029 100644 --- a/networks/flux_extract_lora.py +++ b/networks/flux_extract_lora.py @@ -10,9 +10,8 @@ from safetensors.torch import load_file, save_file from safetensors import safe_open from tqdm import tqdm -from library import flux_utils, sai_model_spec, model_util, sdxl_model_util -import lora -from library.utils import MemoryEfficientSafeOpen +from library import flux_utils, sai_model_spec +from library.safetensors_utils import MemoryEfficientSafeOpen from library.utils import setup_logging from networks import lora_flux From 29b0500e70011785b99ac3c76cd5bb6bc4c29a02 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Sat, 13 Sep 2025 21:18:50 +0900 Subject: [PATCH 687/748] fix: restore files section in _typos.toml for exclusion configuration --- _typos.toml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/_typos.toml b/_typos.toml index bf0292e50..686da4af2 100644 --- a/_typos.toml +++ b/_typos.toml @@ -33,8 +33,5 @@ OT="OT" byt="byt" tak="tak" -# [files] -# # Extend the default list of files to check -# extend-exclude = [ -# "library/hunyuan_image_text_encoder.py", -# ] +[files] +extend-exclude = ["_typos.toml", "venv"] From e04b9f0497f921b8ce857ae3a2850cf89669a9c8 Mon Sep 17 00:00:00 2001 From: kohya-ss <52813779+kohya-ss@users.noreply.github.com> Date: Sat, 13 Sep 2025 22:06:10 +0900 Subject: [PATCH 688/748] docs: add LoRA training guide for HunyuanImage-2.1 model (by Gemini CLI) --- docs/hunyuan_image_train_network.md | 406 ++++++++++++++++++++++++++++ 1 file changed, 406 insertions(+) create mode 100644 docs/hunyuan_image_train_network.md diff --git a/docs/hunyuan_image_train_network.md b/docs/hunyuan_image_train_network.md new file mode 100644 index 000000000..c48148006 --- /dev/null +++ b/docs/hunyuan_image_train_network.md @@ -0,0 +1,406 @@ +Status: reviewed + +# LoRA Training Guide for HunyuanImage-2.1 using `hunyuan_image_train_network.py` / `hunyuan_image_train_network.py` を用いたHunyuanImage-2.1モデルのLoRA学習ガイド + +This document explains how to train LoRA models for the HunyuanImage-2.1 model using `hunyuan_image_train_network.py` included in the `sd-scripts` repository. + +
+日本語 + +このドキュメントでは、`sd-scripts`リポジトリに含まれる`hunyuan_image_train_network.py`を使用して、HunyuanImage-2.1モデルに対するLoRA (Low-Rank Adaptation) モデルを学習する基本的な手順について解説します。 + +
+ +## 1. Introduction / はじめに + +`hunyuan_image_train_network.py` trains additional networks such as LoRA on the HunyuanImage-2.1 model, which uses a transformer-based architecture (DiT) different from Stable Diffusion. Two text encoders, Qwen2.5-VL and byT5, and a dedicated VAE are used. + +This guide assumes you know the basics of LoRA training. For common options see [train_network.py](train_network.md) and [sdxl_train_network.py](sdxl_train_network.md). + +**Prerequisites:** + +* The repository is cloned and the Python environment is ready. +* A training dataset is prepared. See the dataset configuration guide. + +
+日本語 + +`hunyuan_image_train_network.py`はHunyuanImage-2.1モデルに対してLoRAなどの追加ネットワークを学習させるためのスクリプトです。HunyuanImage-2.1はStable Diffusionとは異なるDiT (Diffusion Transformer) アーキテクチャを持つ画像生成モデルであり、このスクリプトを使用することで、特定のキャラクターや画風を再現するLoRAモデルを作成できます。 + +このガイドは、基本的なLoRA学習の手順を理解しているユーザーを対象としています。基本的な使い方や共通のオプションについては、[`train_network.py`のガイド](train_network.md)を参照してください。また一部のパラメータは [`sdxl_train_network.py`](sdxl_train_network.md) や [`flux_train_network.py`](flux_train_network.md) と同様のものがあるため、そちらも参考にしてください。 + +**前提条件:** + +* `sd-scripts`リポジトリのクローンとPython環境のセットアップが完了していること。 +* 学習用データセットの準備が完了していること。(データセットの準備については[データセット設定ガイド](config_README-ja.md)を参照してください) + +
+ +## 2. Differences from `train_network.py` / `train_network.py` との違い + +`hunyuan_image_train_network.py` is based on `train_network.py` but adapted for HunyuanImage-2.1. Main differences include: + +* **Target model:** HunyuanImage-2.1 model. +* **Model structure:** HunyuanImage-2.1 uses a Transformer-based architecture (DiT). It uses two text encoders (Qwen2.5-VL and byT5) and a dedicated VAE. +* **Required arguments:** Additional arguments for the DiT model, Qwen2.5-VL, byT5, and VAE model files. +* **Incompatible options:** Some Stable Diffusion-specific arguments (e.g., `--v2`, `--clip_skip`, `--max_token_length`) are not used. +* **HunyuanImage-2.1-specific arguments:** Additional arguments for specific training parameters like flow matching. + +
+日本語 + +`hunyuan_image_train_network.py`は`train_network.py`をベースに、HunyuanImage-2.1モデルに対応するための変更が加えられています。主な違いは以下の通りです。 + +* **対象モデル:** HunyuanImage-2.1モデルを対象とします。 +* **モデル構造:** HunyuanImage-2.1はDiTベースのアーキテクチャを持ちます。Text EncoderとしてQwen2.5-VLとbyT5の二つを使用し、専用のVAEを使用します。 +* **必須の引数:** DiTモデル、Qwen2.5-VL、byT5、VAEの各モデルファイルを指定する引数が追加されています。 +* **一部引数の非互換性:** Stable Diffusion向けの引数の一部(例: `--v2`, `--clip_skip`, `--max_token_length`)は使用されません。 +* **HunyuanImage-2.1特有の引数:** Flow Matchingなど、特有の学習パラメータを指定する引数が追加されています。 + +
+ +## 3. Preparation / 準備 + +Before starting training you need: + +1. **Training script:** `hunyuan_image_train_network.py` +2. **HunyuanImage-2.1 DiT model file:** Base DiT model `.safetensors` file. +3. **Text Encoder model files:** + - Qwen2.5-VL model file (`--text_encoder`). + - byT5 model file (`--byt5`). +4. **VAE model file:** HunyuanImage-2.1-compatible VAE model `.safetensors` file (`--vae`). +5. **Dataset definition file (.toml):** TOML format file describing training dataset configuration. + +### Downloading Required Models + +You need to download the model files from the official Hugging Face repositories (e.g., `Tencent-Hunyuan/HunyuanDiT`). Ensure you download the `.safetensors` files, not the Diffusers format directories. + +
+日本語 + +学習を開始する前に、以下のファイルが必要です。 + +1. **学習スクリプト:** `hunyuan_image_train_network.py` +2. **HunyuanImage-2.1 DiTモデルファイル:** 学習のベースとなるDiTモデルの`.safetensors`ファイル。 +3. **Text Encoderモデルファイル:** + - Qwen2.5-VLモデルファイル (`--text_encoder`)。 + - byT5モデルファイル (`--byt5`)。 +4. **VAEモデルファイル:** HunyuanImage-2.1に対応するVAEモデルの`.safetensors`ファイル (`--vae`)。 +5. **データセット定義ファイル (.toml):** 学習データセットの設定を記述したTOML形式のファイル。(詳細は[データセット設定ガイド](config_README-ja.md)を参照してください)。 + +**必要なモデルのダウンロード** + +公式のHugging Faceリポジトリ(例: `Tencent-Hunyuan/HunyuanDiT`)からモデルファイルをダウンロードする必要があります。Diffusers形式のディレクトリではなく、`.safetensors`形式のファイルをダウンロードしてください。 + +
+ +## 4. Running the Training / 学習の実行 + +Run `hunyuan_image_train_network.py` from the terminal with HunyuanImage-2.1 specific arguments. Here's a basic command example: + +```bash +accelerate launch --num_cpu_threads_per_process 1 hunyuan_image_train_network.py \ + --pretrained_model_name_or_path="" \ + --text_encoder="" \ + --byt5="" \ + --vae="" \ + --dataset_config="my_hunyuan_dataset_config.toml" \ + --output_dir="" \ + --output_name="my_hunyuan_lora" \ + --save_model_as=safetensors \ + --network_module=networks.lora_hunyuan_image \ + --network_dim=16 \ + --network_alpha=1 \ + --learning_rate=1e-4 \ + --optimizer_type="AdamW8bit" \ + --lr_scheduler="constant" \ + --sdpa \ + --max_train_epochs=10 \ + --save_every_n_epochs=1 \ + --mixed_precision="bf16" \ + --gradient_checkpointing \ + --model_prediction_type="raw" \ + --discrete_flow_shift=5.0 \ + --blocks_to_swap=18 \ + --cache_text_encoder_outputs \ + --cache_latents +``` + +
+日本語 + +学習は、ターミナルから`hunyuan_image_train_network.py`を実行することで開始します。基本的なコマンドラインの構造は`train_network.py`と同様ですが、HunyuanImage-2.1特有の引数を指定する必要があります。 + +コマンドラインの例は英語のドキュメントを参照してください。 + +
+ +### 4.1. Explanation of Key Options / 主要なコマンドライン引数の解説 + +The script adds HunyuanImage-2.1 specific arguments. For common arguments (like `--output_dir`, `--output_name`, `--network_module`, etc.), see the [`train_network.py` guide](train_network.md). + +#### Model-related [Required] + +* `--pretrained_model_name_or_path=""` **[Required]** + - Specifies the path to the base DiT model `.safetensors` file. +* `--text_encoder=""` **[Required]** + - Specifies the path to the Qwen2.5-VL Text Encoder model file. Should be `bfloat16`. +* `--byt5=""` **[Required]** + - Specifies the path to the byT5 Text Encoder model file. Should be `float16`. +* `--vae=""` **[Required]** + - Specifies the path to the HunyuanImage-2.1-compatible VAE model `.safetensors` file. + +#### HunyuanImage-2.1 Training Parameters + +* `--discrete_flow_shift=` + - Specifies the shift value for the scheduler used in Flow Matching. Default is `5.0`. +* `--model_prediction_type=` + - Specifies what the model predicts. Choose from `raw`, `additive`, `sigma_scaled`. Default and recommended is `raw`. +* `--timestep_sampling=` + - Specifies the sampling method for timesteps (noise levels) during training. Choose from `sigma`, `uniform`, `sigmoid`, `shift`, `flux_shift`. Default is `sigma`. +* `--sigmoid_scale=` + - Scale factor when `timestep_sampling` is set to `sigmoid`, `shift`, or `flux_shift`. Default is `1.0`. + +#### Memory/Speed Related + +* `--fp8_scaled` + - Enables training the DiT model in scaled FP8 format. This can significantly reduce VRAM usage, but the training results may vary. +* `--fp8_vl` + - Use FP8 for the VLM (Qwen2.5-VL) text encoder. +* `--blocks_to_swap=` **[Experimental Feature]** + - Setting to reduce VRAM usage by swapping parts of the model (Transformer blocks) between CPU and GPU. Specify the number of blocks to swap as an integer (e.g., `18`). Larger values reduce VRAM usage but decrease training speed. Adjust according to your GPU's VRAM capacity. Can be used with `gradient_checkpointing`. +* `--cache_text_encoder_outputs` + - Caches the outputs of Qwen2.5-VL and byT5. This reduces memory usage. +* `--cache_latents`, `--cache_latents_to_disk` + - Caches the outputs of VAE. Similar functionality to [sdxl_train_network.py](sdxl_train_network.md). +* `--vae_enable_tiling` + - Enables tiling for VAE encoding and decoding to reduce VRAM usage. + +
+日本語 + +[`train_network.py`のガイド](train_network.md)で説明されている引数に加え、以下のHunyuanImage-2.1特有の引数を指定します。共通の引数(`--output_dir`, `--output_name`, `--network_module`, `--network_dim`, `--network_alpha`, `--learning_rate`など)については、上記ガイドを参照してください。 + +コマンドラインの例と詳細な引数の説明は英語のドキュメントを参照してください。 + +
+ +## 5. Using the Trained Model / 学習済みモデルの利用 + +After training, a LoRA model file is saved in `output_dir` and can be used in inference environments supporting HunyuanImage-2.1. + +
+日本語 + +学習が完了すると、指定した`output_dir`にLoRAモデルファイル(例: `my_hunyuan_lora.safetensors`)が保存されます。このファイルは、HunyuanImage-2.1モデルに対応した推論環境で使用できます。 + +
+ +## 6. Advanced Settings / 高度な設定 + +### 6.1. VRAM Usage Optimization / VRAM使用量の最適化 + +HunyuanImage-2.1 is a large model, so GPUs without sufficient VRAM require optimization. + +#### Key VRAM Reduction Options + +- **`--fp8_scaled`**: Enables training the DiT in scaled FP8 format. +- **`--fp8_vl`**: Use FP8 for the VLM text encoder. +- **`--blocks_to_swap `**: Swaps blocks between CPU and GPU to reduce VRAM usage. Higher numbers save more VRAM but reduce training speed. +- **`--cpu_offload_checkpointing`**: Offloads gradient checkpoints to CPU. Can reduce VRAM usage but decreases training speed. Cannot be used with `--blocks_to_swap`. +- **Using Adafactor optimizer**: Can reduce VRAM usage more than 8bit AdamW: + ``` + --optimizer_type adafactor --optimizer_args "relative_step=False" "scale_parameter=False" "warmup_init=False" --lr_scheduler constant_with_warmup --max_grad_norm 0.0 + ``` + +
+日本語 + +HunyuanImage-2.1は大きなモデルであるため、十分なVRAMを持たないGPUでは工夫が必要です。VRAM使用量を削減するための設定の詳細は英語のドキュメントを参照してください。 + +主要なVRAM削減オプション: +- `--fp8_scaled`: DiTをスケールされたFP8形式で学習 +- `--fp8_vl`: VLMテキストエンコーダにFP8を使用 +- `--blocks_to_swap`: CPUとGPU間でブロックをスワップ +- `--cpu_offload_checkpointing`: 勾配チェックポイントをCPUにオフロード +- Adafactorオプティマイザの使用 + +
+ +### 6.2. Important HunyuanImage-2.1 LoRA Training Settings / HunyuanImage-2.1 LoRA学習の重要な設定 + +HunyuanImage-2.1 training has several settings that can be specified with arguments: + +#### Timestep Sampling Methods + +The `--timestep_sampling` option specifies how timesteps (0-1) are sampled: + +- `sigma`: Sigma-based like SD3 (Default) +- `uniform`: Uniform random +- `sigmoid`: Sigmoid of normal distribution random +- `shift`: Sigmoid value of normal distribution random with shift. +- `flux_shift`: Shift sigmoid value of normal distribution random according to resolution. + +#### Model Prediction Processing + +The `--model_prediction_type` option specifies how to interpret and process model predictions: + +- `raw`: Use as-is **[Recommended, Default]** +- `additive`: Add to noise input +- `sigma_scaled`: Apply sigma scaling + +#### Recommended Settings + +Based on experiments, the default settings work well: +``` +--model_prediction_type raw --discrete_flow_shift 5.0 +``` + +
+日本語 + +HunyuanImage-2.1の学習には、引数で指定できるいくつかの設定があります。詳細な説明とコマンドラインの例は英語のドキュメントを参照してください。 + +主要な設定オプション: +- タイムステップのサンプリング方法(`--timestep_sampling`) +- モデル予測の処理方法(`--model_prediction_type`) +- 推奨設定の組み合わせ + +
+ +### 6.3. Regular Expression-based Rank/LR Configuration / 正規表現によるランク・学習率の指定 + +You can specify ranks (dims) and learning rates for LoRA modules using regular expressions. This allows for more flexible and fine-grained control. + +These settings are specified via the `network_args` argument. + +* `network_reg_dims`: Specify ranks for modules matching a regular expression. The format is a comma-separated string of `pattern=rank`. + * Example: `--network_args "network_reg_dims=attn.*.q_proj=4,attn.*.k_proj=4"` +* `network_reg_lrs`: Specify learning rates for modules matching a regular expression. The format is a comma-separated string of `pattern=lr`. + * Example: `--network_args "network_reg_lrs=down_blocks.1=1e-4,up_blocks.2=2e-4"` + +**Notes:** + +* To find the correct module names for the patterns, you may need to inspect the model structure. +* Settings via `network_reg_dims` and `network_reg_lrs` take precedence over the global `--network_dim` and `--learning_rate` settings. +* If a module name matches multiple patterns, the setting from the last matching pattern in the string will be applied. + +
+日本語 + +正規表現を用いて、LoRAのモジュールごとにランク(dim)や学習率を指定することができます。これにより、柔軟できめ細やかな制御が可能になります。 + +これらの設定は `network_args` 引数で指定します。 + +* `network_reg_dims`: 正規表現にマッチするモジュールに対してランクを指定します。 +* `network_reg_lrs`: 正規表現にマッチするモジュールに対して学習率を指定します。 + +**注意点:** + +* パターンのための正確なモジュール名を見つけるには、モデルの構造を調べる必要があるかもしれません。 +* `network_reg_dims` および `network_reg_lrs` での設定は、全体設定である `--network_dim` や `--learning_rate` よりも優先されます。 +* あるモジュール名が複数のパターンにマッチした場合、文字列の中で後方にあるパターンの設定が適用されます。 + +
+ +### 6.4. Multi-Resolution Training / マルチ解像度トレーニング + +You can define multiple resolutions in the dataset configuration file, with different batch sizes for each resolution. + +**Note:** This feature is available, but it is **not recommended** as the HunyuanImage-2.1 base model was not trained with multi-resolution capabilities. Using it may lead to unexpected results. + +Configuration file example: +```toml +[general] +shuffle_caption = true +caption_extension = ".txt" + +[[datasets]] +batch_size = 2 +enable_bucket = true +resolution = [1024, 1024] + + [[datasets.subsets]] + image_dir = "path/to/image/directory" + num_repeats = 1 + +[[datasets]] +batch_size = 1 +enable_bucket = true +resolution = [1280, 768] + + [[datasets.subsets]] + image_dir = "path/to/another/directory" + num_repeats = 1 +``` + +
+日本語 + +データセット設定ファイルで複数の解像度を定義できます。各解像度に対して異なるバッチサイズを指定することができます。 + +**注意:** この機能は利用可能ですが、HunyuanImage-2.1のベースモデルはマルチ解像度で学習されていないため、**非推奨**です。使用すると予期しない結果になる可能性があります。 + +設定ファイルの例は英語のドキュメントを参照してください。 + +
+ +### 6.5. Validation / 検証 + +You can calculate validation loss during training using a validation dataset to evaluate model generalization performance. This feature works the same as in other training scripts. For details, please refer to the [Validation Guide](validation.md). + +
+日本語 + +学習中に検証データセットを使用して損失 (Validation Loss) を計算し、モデルの汎化性能を評価できます。この機能は他の学習スクリプトと同様に動作します。詳細は[検証ガイド](validation.md)を参照してください。 + +
+ +## 7. Other Training Options / その他の学習オプション + +- **`--ip_noise_gamma`**: Use `--ip_noise_gamma` and `--ip_noise_gamma_random_strength` to adjust Input Perturbation noise gamma values during training. See Stable Diffusion 3 training options for details. + +- **`--loss_type`**: Specifies the loss function for training. The default is `l2`. + - `l1`: L1 loss. + - `l2`: L2 loss (mean squared error). + - `huber`: Huber loss. + - `smooth_l1`: Smooth L1 loss. + +- **`--huber_schedule`**, **`--huber_c`**, **`--huber_scale`**: These are parameters for Huber loss. They are used when `--loss_type` is `huber` or `smooth_l1`. + +- **`--weighting_scheme`**, **`--logit_mean`**, **`--logit_std`**, **`--mode_scale`**: These options allow you to adjust the loss weighting for each timestep. For details, refer to the [`sd3_train_network.md` guide](sd3_train_network.md). + +- **`--fused_backward_pass`**: Fuses the backward pass and optimizer step to reduce VRAM usage. + +
+日本語 + +- **`--ip_noise_gamma`**: Input Perturbationノイズのガンマ値を調整します。 +- **`--loss_type`**: 学習に用いる損失関数を指定します。 +- **`--huber_schedule`**, **`--huber_c`**, **`--huber_scale`**: Huber損失のパラメータです。 +- **`--weighting_scheme`**, **`--logit_mean`**, **`--logit_std`**, **`--mode_scale`**: 各タイムステップの損失の重み付けを調整します。 +- **`--fused_backward_pass`**: バックワードパスとオプティマイザステップを融合してVRAM使用量を削減します。 + +
+ +## 8. Related Tools / 関連ツール + +- **`hunyuan_image_minimal_inference.py`**: Simple inference script for generating images with trained LoRA models. + +
+日本語 + +- **`hunyuan_image_minimal_inference.py`**: 学習した LoRA モデルを適用して画像を生成するシンプルな推論スクリプト。 + +
+ +## 9. Others / その他 + +`hunyuan_image_train_network.py` includes many features common with `train_network.py`, such as sample image generation (`--sample_prompts`, etc.) and detailed optimizer settings. For these features, refer to the [`train_network.py` guide](train_network.md#5-other-features--その他の機能) or the script help (`python hunyuan_image_train_network.py --help`). + +
+日本語 + +`hunyuan_image_train_network.py`には、サンプル画像の生成 (`--sample_prompts`など) や詳細なオプティマイザ設定など、`train_network.py`と共通の機能も多く存在します。これらについては、[`train_network.py`のガイド](train_network.md#5-other-features--その他の機能)やスクリプトのヘルプ (`python hunyuan_image_train_network.py --help`) を参照してください。 + +
From 1a73b5e8a540a2ab91f5eed7379d75a6c93e153c Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Sun, 14 Sep 2025 20:49:20 +0900 Subject: [PATCH 689/748] feat: add script to convert LoRA format to ComfyUI format --- .../convert_hunyuan_image_lora_to_comfy.py | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 networks/convert_hunyuan_image_lora_to_comfy.py diff --git a/networks/convert_hunyuan_image_lora_to_comfy.py b/networks/convert_hunyuan_image_lora_to_comfy.py new file mode 100644 index 000000000..65da2da45 --- /dev/null +++ b/networks/convert_hunyuan_image_lora_to_comfy.py @@ -0,0 +1,68 @@ +import argparse +from safetensors.torch import save_file +from safetensors import safe_open +import torch + + +from library import train_util +from library.utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + + +def main(args): + # load source safetensors + logger.info(f"Loading source file {args.src_path}") + state_dict = {} + with safe_open(args.src_path, framework="pt") as f: + metadata = f.metadata() + for k in f.keys(): + state_dict[k] = f.get_tensor(k) + + logger.info(f"Converting...") + + keys = list(state_dict.keys()) + count = 0 + for k in keys: + if "double_blocks" in k: + new_k = ( + k.replace("img_mlp_fc1", "img_mlp_0").replace("img_mlp_fc2", "img_mlp_2").replace("img_mod_linear", "img_mod_lin") + ) + new_k = ( + new_k.replace("txt_mlp_fc1", "txt_mlp_0") + .replace("txt_mlp_fc2", "txt_mlp_2") + .replace("txt_mod_linear", "txt_mod_lin") + ) + if new_k != k: + state_dict[new_k] = state_dict.pop(k) + count += 1 + # print(f"Renamed {k} to {new_k}") + elif "single_blocks" in k: + new_k = k.replace("modulation_linear", "modulation_lin") + if new_k != k: + state_dict[new_k] = state_dict.pop(k) + count += 1 + # print(f"Renamed {k} to {new_k}") + logger.info(f"Converted {count} keys") + + # Calculate hash + if metadata is not None: + logger.info(f"Calculating hashes and creating metadata...") + model_hash, legacy_hash = train_util.precalculate_safetensors_hashes(state_dict, metadata) + metadata["sshs_model_hash"] = model_hash + metadata["sshs_legacy_hash"] = legacy_hash + + # save destination safetensors + logger.info(f"Saving destination file {args.dst_path}") + save_file(state_dict, args.dst_path, metadata=metadata) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="Convert LoRA format") + parser.add_argument("src_path", type=str, default=None, help="source path, sd-scripts format") + parser.add_argument("dst_path", type=str, default=None, help="destination path, ComfyUI format") + args = parser.parse_args() + main(args) From 39458ec0e3b938fb5f21c1769a4bde046ed924c9 Mon Sep 17 00:00:00 2001 From: kohya-ss <52813779+kohya-ss@users.noreply.github.com> Date: Tue, 16 Sep 2025 21:17:21 +0900 Subject: [PATCH 690/748] fix: update default values for guidance_scale, image_size, infer_steps, and flow_shift in argument parser --- hunyuan_image_minimal_inference.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/hunyuan_image_minimal_inference.py b/hunyuan_image_minimal_inference.py index 7db490cd1..04ab1aac1 100644 --- a/hunyuan_image_minimal_inference.py +++ b/hunyuan_image_minimal_inference.py @@ -67,12 +67,12 @@ def parse_args() -> argparse.Namespace: # inference parser.add_argument( - "--guidance_scale", type=float, default=5.0, help="Guidance scale for classifier free guidance. Default is 5.0." + "--guidance_scale", type=float, default=3.5, help="Guidance scale for classifier free guidance. Default is 3.5." ) parser.add_argument("--prompt", type=str, default=None, help="prompt for generation") parser.add_argument("--negative_prompt", type=str, default="", help="negative prompt for generation, default is empty string") - parser.add_argument("--image_size", type=int, nargs=2, default=[256, 256], help="image size, height and width") - parser.add_argument("--infer_steps", type=int, default=25, help="number of inference steps, default is 25") + parser.add_argument("--image_size", type=int, nargs=2, default=[2048, 2048], help="image size, height and width") + parser.add_argument("--infer_steps", type=int, default=50, help="number of inference steps, default is 50") parser.add_argument("--save_path", type=str, required=True, help="path to save generated video") parser.add_argument("--seed", type=int, default=None, help="Seed for evaluation.") @@ -80,8 +80,8 @@ def parse_args() -> argparse.Namespace: parser.add_argument( "--flow_shift", type=float, - default=None, - help="Shift factor for flow matching schedulers. Default is None (default).", + default=5.0, + help="Shift factor for flow matching schedulers. Default is 5.0.", ) parser.add_argument("--fp8", action="store_true", help="use fp8 for DiT model") From f318ddaeea7c491c81788c79062530f9d203f9ed Mon Sep 17 00:00:00 2001 From: kohya-ss <52813779+kohya-ss@users.noreply.github.com> Date: Tue, 16 Sep 2025 21:18:01 +0900 Subject: [PATCH 691/748] docs: update HunyuanImage-2.1 training guide with model download instructions and VRAM optimization settings (by Claude) --- docs/hunyuan_image_train_network.md | 98 +++++++++++++++++++++++++---- 1 file changed, 87 insertions(+), 11 deletions(-) diff --git a/docs/hunyuan_image_train_network.md b/docs/hunyuan_image_train_network.md index c48148006..c4c93d8d5 100644 --- a/docs/hunyuan_image_train_network.md +++ b/docs/hunyuan_image_train_network.md @@ -73,7 +73,13 @@ Before starting training you need: ### Downloading Required Models -You need to download the model files from the official Hugging Face repositories (e.g., `Tencent-Hunyuan/HunyuanDiT`). Ensure you download the `.safetensors` files, not the Diffusers format directories. +To train HunyuanImage-2.1 models, you need to download the following model files: + +- **DiT Model**: Download from the [Tencent HunyuanImage-2.1](https://huggingface.co/tencent/HunyuanImage-2.1/) repository. Use `dit/hunyuanimage2.1.safetensors`. +- **Text Encoders and VAE**: Download from the [Comfy-Org/HunyuanImage_2.1_ComfyUI](https://huggingface.co/Comfy-Org/HunyuanImage_2.1_ComfyUI) repository: + - Qwen2.5-VL: `split_files/text_encoders/qwen_2.5_vl_7b.safetensors` + - byT5: `split_files/text_encoders/byt5_small_glyphxl_fp16.safetensors` + - VAE: `split_files/vae/hunyuan_image_2.1_vae_fp16.safetensors`
日本語 @@ -90,7 +96,13 @@ You need to download the model files from the official Hugging Face repositories **必要なモデルのダウンロード** -公式のHugging Faceリポジトリ(例: `Tencent-Hunyuan/HunyuanDiT`)からモデルファイルをダウンロードする必要があります。Diffusers形式のディレクトリではなく、`.safetensors`形式のファイルをダウンロードしてください。 +HunyuanImage-2.1モデルを学習するためには、以下のモデルファイルをダウンロードする必要があります: + +- **DiTモデル**: [Tencent HunyuanImage-2.1](https://huggingface.co/tencent/HunyuanImage-2.1/) リポジトリから `dit/hunyuanimage2.1.safetensors` をダウンロードします。 +- **Text EncoderとVAE**: [Comfy-Org/HunyuanImage_2.1_ComfyUI](https://huggingface.co/Comfy-Org/HunyuanImage_2.1_ComfyUI) リポジトリから以下をダウンロードします: + - Qwen2.5-VL: `split_files/text_encoders/qwen_2.5_vl_7b.safetensors` + - byT5: `split_files/text_encoders/byt5_small_glyphxl_fp16.safetensors` + - VAE: `split_files/vae/hunyuan_image_2.1_vae_fp16.safetensors`
@@ -164,7 +176,7 @@ The script adds HunyuanImage-2.1 specific arguments. For common arguments (like #### Memory/Speed Related * `--fp8_scaled` - - Enables training the DiT model in scaled FP8 format. This can significantly reduce VRAM usage, but the training results may vary. + - Enables training the DiT model in scaled FP8 format. This can significantly reduce VRAM usage (can run with as little as 8GB VRAM when combined with `--blocks_to_swap`), but the training results may vary. This is a newer alternative to the unsupported `--fp8_base` option. * `--fp8_vl` - Use FP8 for the VLM (Qwen2.5-VL) text encoder. * `--blocks_to_swap=` **[Experimental Feature]** @@ -202,11 +214,22 @@ After training, a LoRA model file is saved in `output_dir` and can be used in in HunyuanImage-2.1 is a large model, so GPUs without sufficient VRAM require optimization. +#### Recommended Settings by GPU Memory + +Based on testing with the pull request, here are recommended VRAM optimization settings: + +| GPU Memory | Recommended Settings | +|------------|---------------------| +| 40GB+ VRAM | Standard settings (no special optimization needed) | +| 24GB VRAM | `--fp8_scaled --blocks_to_swap 9` | +| 12GB VRAM | `--fp8_scaled --blocks_to_swap 32` | +| 8GB VRAM | `--fp8_scaled --blocks_to_swap 37` | + #### Key VRAM Reduction Options -- **`--fp8_scaled`**: Enables training the DiT in scaled FP8 format. -- **`--fp8_vl`**: Use FP8 for the VLM text encoder. -- **`--blocks_to_swap `**: Swaps blocks between CPU and GPU to reduce VRAM usage. Higher numbers save more VRAM but reduce training speed. +- **`--fp8_scaled`**: Enables training the DiT in scaled FP8 format. This is the recommended FP8 option for HunyuanImage-2.1, replacing the unsupported `--fp8_base` option. Essential for <40GB VRAM environments. +- **`--fp8_vl`**: Use FP8 for the VLM (Qwen2.5-VL) text encoder. +- **`--blocks_to_swap `**: Swaps blocks between CPU and GPU to reduce VRAM usage. Higher numbers save more VRAM but reduce training speed. Up to 37 blocks can be swapped for HunyuanImage-2.1. - **`--cpu_offload_checkpointing`**: Offloads gradient checkpoints to CPU. Can reduce VRAM usage but decreases training speed. Cannot be used with `--blocks_to_swap`. - **Using Adafactor optimizer**: Can reduce VRAM usage more than 8bit AdamW: ``` @@ -216,12 +239,23 @@ HunyuanImage-2.1 is a large model, so GPUs without sufficient VRAM require optim
日本語 -HunyuanImage-2.1は大きなモデルであるため、十分なVRAMを持たないGPUでは工夫が必要です。VRAM使用量を削減するための設定の詳細は英語のドキュメントを参照してください。 +HunyuanImage-2.1は大きなモデルであるため、十分なVRAMを持たないGPUでは工夫が必要です。 + +#### GPU別推奨設定 + +Pull Requestのテスト結果に基づく推奨VRAM最適化設定: + +| GPU Memory | 推奨設定 | +|------------|---------| +| 40GB+ VRAM | 標準設定(特別な最適化不要) | +| 24GB VRAM | `--fp8_scaled --blocks_to_swap 9` | +| 12GB VRAM | `--fp8_scaled --blocks_to_swap 32` | +| 8GB VRAM | `--fp8_scaled --blocks_to_swap 37` | 主要なVRAM削減オプション: -- `--fp8_scaled`: DiTをスケールされたFP8形式で学習 +- `--fp8_scaled`: DiTをスケールされたFP8形式で学習(推奨されるFP8オプション、40GB VRAM未満の環境では必須) - `--fp8_vl`: VLMテキストエンコーダにFP8を使用 -- `--blocks_to_swap`: CPUとGPU間でブロックをスワップ +- `--blocks_to_swap`: CPUとGPU間でブロックをスワップ(最大37ブロック) - `--cpu_offload_checkpointing`: 勾配チェックポイントをCPUにオフロード - Adafactorオプティマイザの使用 @@ -383,7 +417,49 @@ You can calculate validation loss during training using a validation dataset to
-## 8. Related Tools / 関連ツール +## 8. Using the Inference Script / 推論スクリプトの使用法 + +The `hunyuan_image_minimal_inference.py` script allows you to generate images using trained LoRA models. Here's a basic usage example: + +```bash +python hunyuan_image_minimal_inference.py \ + --dit "" \ + --text_encoder "" \ + --byt5 "" \ + --vae "" \ + --lora_weight "" \ + --lora_multiplier 1.0 \ + --prompt "A cute cartoon penguin in a snowy landscape" \ + --image_size 2048 2048 \ + --infer_steps 50 \ + --guidance_scale 3.5 \ + --flow_shift 5.0 \ + --seed 542017 \ + --save_path "output_image.png" +``` + +**Key Options:** +- `--fp8_scaled`: Use scaled FP8 format for reduced VRAM usage during inference +- `--blocks_to_swap`: Swap blocks to CPU to reduce VRAM usage +- `--image_size`: Resolution (inference is most stable at 2048x2048) +- `--guidance_scale`: CFG scale (default: 3.5) +- `--flow_shift`: Flow matching shift parameter (default: 5.0) + +
+日本語 + +`hunyuan_image_minimal_inference.py`スクリプトを使用して、学習したLoRAモデルで画像を生成できます。基本的な使用例は英語のドキュメントを参照してください。 + +**主要なオプション:** +- `--fp8_scaled`: VRAM使用量削減のためのスケールFP8形式 +- `--blocks_to_swap`: VRAM使用量削減のためのブロックスワップ +- `--image_size`: 解像度(2048x2048で最も安定) +- `--guidance_scale`: CFGスケール(推奨: 3.5) +- `--flow_shift`: Flow Matchingシフトパラメータ(デフォルト: 5.0) + +
+ +## 9. Related Tools / 関連ツール - **`hunyuan_image_minimal_inference.py`**: Simple inference script for generating images with trained LoRA models. @@ -394,7 +470,7 @@ You can calculate validation loss during training using a validation dataset to
-## 9. Others / その他 +## 10. Others / その他 `hunyuan_image_train_network.py` includes many features common with `train_network.py`, such as sample image generation (`--sample_prompts`, etc.) and detailed optimizer settings. For these features, refer to the [`train_network.py` guide](train_network.md#5-other-features--その他の機能) or the script help (`python hunyuan_image_train_network.py --help`). From cbe2a9da45fd99068faf1511b7f6bf1e641dd6d4 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Tue, 16 Sep 2025 21:48:47 +0900 Subject: [PATCH 692/748] feat: add conversion script for LoRA models to ComfyUI format with reverse option --- docs/hunyuan_image_train_network.md | 20 ++++++- .../convert_hunyuan_image_lora_to_comfy.py | 54 +++++++++++++------ 2 files changed, 55 insertions(+), 19 deletions(-) diff --git a/docs/hunyuan_image_train_network.md b/docs/hunyuan_image_train_network.md index c4c93d8d5..3d49fbdfb 100644 --- a/docs/hunyuan_image_train_network.md +++ b/docs/hunyuan_image_train_network.md @@ -461,12 +461,28 @@ python hunyuan_image_minimal_inference.py \ ## 9. Related Tools / 関連ツール -- **`hunyuan_image_minimal_inference.py`**: Simple inference script for generating images with trained LoRA models. +### `networks/convert_hunyuan_image_lora_to_comfy.py` + +A script to convert LoRA models to ComfyUI-compatible format. The formats differ slightly, so conversion is necessary. You can convert from the sd-scripts format to ComfyUI format with: + +```bash +python networks/convert_hunyuan_image_lora_to_comfy.py path/to/source.safetensors path/to/destination.safetensors +``` + +Using the `--reverse` option allows conversion in the opposite direction (ComfyUI format to sd-scripts format). However, reverse conversion is only possible for LoRAs converted by this script. LoRAs created with other training tools cannot be converted.
日本語 -- **`hunyuan_image_minimal_inference.py`**: 学習した LoRA モデルを適用して画像を生成するシンプルな推論スクリプト。 +**`networks/convert_hunyuan_image_lora_to_comfy.py`** + +LoRAモデルをComfyUI互換形式に変換するスクリプト。わずかに形式が異なるため、変換が必要です。以下の指定で、sd-scriptsの形式からComfyUI形式に変換できます。 + +```bash +python networks/convert_hunyuan_image_lora_to_comfy.py path/to/source.safetensors path/to/destination.safetensors +``` + +`--reverse`オプションを付けると、逆変換(ComfyUI形式からsd-scripts形式)も可能です。ただし、逆変換ができるのはこのスクリプトで変換したLoRAに限ります。他の学習ツールで作成したLoRAは変換できません。
diff --git a/networks/convert_hunyuan_image_lora_to_comfy.py b/networks/convert_hunyuan_image_lora_to_comfy.py index 65da2da45..df12897df 100644 --- a/networks/convert_hunyuan_image_lora_to_comfy.py +++ b/networks/convert_hunyuan_image_lora_to_comfy.py @@ -24,28 +24,47 @@ def main(args): logger.info(f"Converting...") + # Key mapping tables: (sd-scripts format, ComfyUI format) + double_blocks_mappings = [ + ("img_mlp_fc1", "img_mlp_0"), + ("img_mlp_fc2", "img_mlp_2"), + ("img_mod_linear", "img_mod_lin"), + ("txt_mlp_fc1", "txt_mlp_0"), + ("txt_mlp_fc2", "txt_mlp_2"), + ("txt_mod_linear", "txt_mod_lin"), + ] + + single_blocks_mappings = [ + ("modulation_linear", "modulation_lin"), + ] + keys = list(state_dict.keys()) count = 0 + for k in keys: + new_k = k + if "double_blocks" in k: - new_k = ( - k.replace("img_mlp_fc1", "img_mlp_0").replace("img_mlp_fc2", "img_mlp_2").replace("img_mod_linear", "img_mod_lin") - ) - new_k = ( - new_k.replace("txt_mlp_fc1", "txt_mlp_0") - .replace("txt_mlp_fc2", "txt_mlp_2") - .replace("txt_mod_linear", "txt_mod_lin") - ) - if new_k != k: - state_dict[new_k] = state_dict.pop(k) - count += 1 - # print(f"Renamed {k} to {new_k}") + mappings = double_blocks_mappings elif "single_blocks" in k: - new_k = k.replace("modulation_linear", "modulation_lin") - if new_k != k: - state_dict[new_k] = state_dict.pop(k) - count += 1 - # print(f"Renamed {k} to {new_k}") + mappings = single_blocks_mappings + else: + continue + + # Apply mappings based on conversion direction + for src_key, dst_key in mappings: + if args.reverse: + # ComfyUI to sd-scripts: swap src and dst + new_k = new_k.replace(dst_key, src_key) + else: + # sd-scripts to ComfyUI: use as-is + new_k = new_k.replace(src_key, dst_key) + + if new_k != k: + state_dict[new_k] = state_dict.pop(k) + count += 1 + # print(f"Renamed {k} to {new_k}") + logger.info(f"Converted {count} keys") # Calculate hash @@ -64,5 +83,6 @@ def main(args): parser = argparse.ArgumentParser(description="Convert LoRA format") parser.add_argument("src_path", type=str, default=None, help="source path, sd-scripts format") parser.add_argument("dst_path", type=str, default=None, help="destination path, ComfyUI format") + parser.add_argument("--reverse", action="store_true", help="reverse conversion direction") args = parser.parse_args() main(args) From f5b004009e8f4fe7dd5bedb5f35c795868d41a8d Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Wed, 17 Sep 2025 21:54:25 +0900 Subject: [PATCH 693/748] fix: correct tensor indexing in HunyuanVAE2D class for blending and encoding functions --- library/hunyuan_image_vae.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/library/hunyuan_image_vae.py b/library/hunyuan_image_vae.py index 6f6eea22d..b66854e5e 100644 --- a/library/hunyuan_image_vae.py +++ b/library/hunyuan_image_vae.py @@ -449,7 +449,7 @@ def blend_h(self, a: torch.Tensor, b: torch.Tensor, blend_extent: int) -> torch. """ blend_extent = min(a.shape[-1], b.shape[-1], blend_extent) for x in range(blend_extent): - b[:, :, :, :, x] = a[:, :, :, :, -blend_extent + x] * (1 - x / blend_extent) + b[:, :, :, :, x] * (x / blend_extent) + b[:, :, :, x] = a[:, :, :, -blend_extent + x] * (1 - x / blend_extent) + b[:, :, :, x] * (x / blend_extent) return b def blend_v(self, a: torch.Tensor, b: torch.Tensor, blend_extent: int) -> torch.Tensor: @@ -467,7 +467,7 @@ def blend_v(self, a: torch.Tensor, b: torch.Tensor, blend_extent: int) -> torch. """ blend_extent = min(a.shape[-2], b.shape[-2], blend_extent) for y in range(blend_extent): - b[:, :, :, y, :] = a[:, :, :, -blend_extent + y, :] * (1 - y / blend_extent) + b[:, :, :, y, :] * (y / blend_extent) + b[:, :, y, :] = a[:, :, -blend_extent + y, :] * (1 - y / blend_extent) + b[:, :, y, :] * (y / blend_extent) return b def spatial_tiled_encode(self, x: torch.Tensor) -> torch.Tensor: @@ -478,9 +478,14 @@ def spatial_tiled_encode(self, x: torch.Tensor) -> torch.Tensor: Parameters ---------- x : torch.Tensor - Input tensor of shape (B, C, T, H, W). + Input tensor of shape (B, C, T, H, W) or (B, C, H, W). """ - B, C, T, H, W = x.shape + # Handle 5D input (B, C, T, H, W) by removing time dimension + original_ndim = x.ndim + if original_ndim == 5: + x = x.squeeze(2) + + B, C, H, W = x.shape overlap_size = int(self.tile_sample_min_size * (1 - self.tile_overlap_factor)) blend_extent = int(self.tile_latent_min_size * self.tile_overlap_factor) row_limit = self.tile_latent_min_size - blend_extent @@ -489,7 +494,7 @@ def spatial_tiled_encode(self, x: torch.Tensor) -> torch.Tensor: for i in range(0, H, overlap_size): row = [] for j in range(0, W, overlap_size): - tile = x[:, :, :, i : i + self.tile_sample_min_size, j : j + self.tile_sample_min_size] + tile = x[:, :, i : i + self.tile_sample_min_size, j : j + self.tile_sample_min_size] tile = self.encoder(tile) row.append(tile) rows.append(row) @@ -502,7 +507,7 @@ def spatial_tiled_encode(self, x: torch.Tensor) -> torch.Tensor: tile = self.blend_v(rows[i - 1][j], tile, blend_extent) if j > 0: tile = self.blend_h(row[j - 1], tile, blend_extent) - result_row.append(tile[:, :, :, :row_limit, :row_limit]) + result_row.append(tile[:, :, :row_limit, :row_limit]) result_rows.append(torch.cat(result_row, dim=-1)) moments = torch.cat(result_rows, dim=-2) From 2ce506e187cb30f6e8abfda6bf89719aded06d88 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Thu, 18 Sep 2025 21:20:08 +0900 Subject: [PATCH 694/748] fix: fp8 casting not working --- hunyuan_image_minimal_inference.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/hunyuan_image_minimal_inference.py b/hunyuan_image_minimal_inference.py index 04ab1aac1..00356a37d 100644 --- a/hunyuan_image_minimal_inference.py +++ b/hunyuan_image_minimal_inference.py @@ -284,7 +284,7 @@ def load_dit_model( # if no blocks to swap, we can move the weights to GPU after optimization on GPU (omit redundant CPU->GPU copy) move_to_device = args.blocks_to_swap == 0 # if blocks_to_swap > 0, we will keep the model on CPU - state_dict = model.fp8_optimization(state_dict, device, move_to_device, use_scaled_mm=args.fp8_fast) + state_dict = model.fp8_optimization(state_dict, device, move_to_device, use_scaled_mm=False) # args.fp8_fast) info = model.load_state_dict(state_dict, strict=True, assign=True) logger.info(f"Loaded FP8 optimized weights: {info}") @@ -689,15 +689,18 @@ def generate_body( # print(f"mask_byt5 shape: {mask_byt5.shape}, sum: {mask_byt5.sum()}") # print(f"negative_mask shape: {negative_mask.shape}, sum: {negative_mask.sum()}") # print(f"negative_mask_byt5 shape: {negative_mask_byt5.shape}, sum: {negative_mask_byt5.sum()}") + + autocast_enabled = args.fp8 + with tqdm(total=len(timesteps), desc="Denoising steps") as pbar: for i, t in enumerate(timesteps): t_expand = t.expand(latents.shape[0]).to(torch.int64) - with torch.no_grad(): + with torch.no_grad(), torch.autocast(device_type=device.type, dtype=torch.bfloat16, enabled=autocast_enabled): noise_pred = model(latents, t_expand, embed, mask, embed_byt5, mask_byt5) if do_cfg: - with torch.no_grad(): + with torch.no_grad(), torch.autocast(device_type=device.type, dtype=torch.bfloat16, enabled=autocast_enabled): uncond_noise_pred = model( latents, t_expand, negative_embed, negative_mask, negative_embed_byt5, negative_mask_byt5 ) From f6b4bdc83fc2c290db4788ac0062f2728fb1e618 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Thu, 18 Sep 2025 21:20:54 +0900 Subject: [PATCH 695/748] feat: block-wise fp8 quantization --- library/fp8_optimization_utils.py | 237 ++++++++++++++++++++---------- library/hunyuan_image_models.py | 7 +- library/hunyuan_image_modules.py | 6 +- library/lora_utils.py | 30 ++-- 4 files changed, 182 insertions(+), 98 deletions(-) diff --git a/library/fp8_optimization_utils.py b/library/fp8_optimization_utils.py index ed7d3f764..82ec6bfc7 100644 --- a/library/fp8_optimization_utils.py +++ b/library/fp8_optimization_utils.py @@ -1,5 +1,5 @@ import os -from typing import List, Union +from typing import List, Optional, Union import torch import torch.nn as nn import torch.nn.functional as F @@ -21,7 +21,7 @@ def calculate_fp8_maxval(exp_bits=4, mantissa_bits=3, sign_bits=1): """ Calculate the maximum representable value in FP8 format. - Default is E4M3 format (4-bit exponent, 3-bit mantissa, 1-bit sign). + Default is E4M3 format (4-bit exponent, 3-bit mantissa, 1-bit sign). Only supports E4M3 and E5M2 with sign bit. Args: exp_bits (int): Number of exponent bits @@ -32,73 +32,73 @@ def calculate_fp8_maxval(exp_bits=4, mantissa_bits=3, sign_bits=1): float: Maximum value representable in FP8 format """ assert exp_bits + mantissa_bits + sign_bits == 8, "Total bits must be 8" + if exp_bits == 4 and mantissa_bits == 3 and sign_bits == 1: + return torch.finfo(torch.float8_e4m3fn).max + elif exp_bits == 5 and mantissa_bits == 2 and sign_bits == 1: + return torch.finfo(torch.float8_e5m2).max + else: + raise ValueError(f"Unsupported FP8 format: E{exp_bits}M{mantissa_bits} with sign_bits={sign_bits}") + - # Calculate exponent bias - bias = 2 ** (exp_bits - 1) - 1 +# The following is a manual calculation method (wrong implementation for E5M2), kept for reference. +""" +# Calculate exponent bias +bias = 2 ** (exp_bits - 1) - 1 - # Calculate maximum mantissa value - mantissa_max = 1.0 - for i in range(mantissa_bits - 1): - mantissa_max += 2 ** -(i + 1) +# Calculate maximum mantissa value +mantissa_max = 1.0 +for i in range(mantissa_bits - 1): + mantissa_max += 2 ** -(i + 1) - # Calculate maximum value - max_value = mantissa_max * (2 ** (2**exp_bits - 1 - bias)) +# Calculate maximum value +max_value = mantissa_max * (2 ** (2**exp_bits - 1 - bias)) - return max_value +return max_value +""" -def quantize_tensor_to_fp8(tensor, scale, exp_bits=4, mantissa_bits=3, sign_bits=1, max_value=None, min_value=None): +def quantize_fp8(tensor, scale, fp8_dtype, max_value, min_value): """ - Quantize a tensor to FP8 format. + Quantize a tensor to FP8 format using PyTorch's native FP8 dtype support. Args: tensor (torch.Tensor): Tensor to quantize scale (float or torch.Tensor): Scale factor - exp_bits (int): Number of exponent bits - mantissa_bits (int): Number of mantissa bits - sign_bits (int): Number of sign bits + fp8_dtype (torch.dtype): Target FP8 dtype (torch.float8_e4m3fn or torch.float8_e5m2) + max_value (float): Maximum representable value in FP8 + min_value (float): Minimum representable value in FP8 Returns: - tuple: (quantized_tensor, scale_factor) + torch.Tensor: Quantized tensor in FP8 format """ - # Create scaled tensor - scaled_tensor = tensor / scale + tensor = tensor.to(torch.float32) # ensure tensor is in float32 for division - # Calculate FP8 parameters - bias = 2 ** (exp_bits - 1) - 1 - - if max_value is None: - # Calculate max and min values - max_value = calculate_fp8_maxval(exp_bits, mantissa_bits, sign_bits) - min_value = -max_value if sign_bits > 0 else 0.0 + # Create scaled tensor + tensor = torch.div(tensor, scale).nan_to_num_(0.0) # handle NaN values, equivalent to nonzero_mask in previous function # Clamp tensor to range - clamped_tensor = torch.clamp(scaled_tensor, min_value, max_value) - - # Quantization process - abs_values = torch.abs(clamped_tensor) - nonzero_mask = abs_values > 0 - - # Calculate log scales (only for non-zero elements) - log_scales = torch.zeros_like(clamped_tensor) - if nonzero_mask.any(): - log_scales[nonzero_mask] = torch.floor(torch.log2(abs_values[nonzero_mask]) + bias).detach() + tensor = tensor.clamp_(min=min_value, max=max_value) - # Limit log scales and calculate quantization factor - log_scales = torch.clamp(log_scales, min=1.0) - quant_factor = 2.0 ** (log_scales - mantissa_bits - bias) + # Convert to FP8 dtype + tensor = tensor.to(fp8_dtype) - # Quantize and dequantize - quantized = torch.round(clamped_tensor / quant_factor) * quant_factor - - return quantized, scale + return tensor def optimize_state_dict_with_fp8( - state_dict, calc_device, target_layer_keys=None, exclude_layer_keys=None, exp_bits=4, mantissa_bits=3, move_to_device=False + state_dict: dict, + calc_device: Union[str, torch.device], + target_layer_keys: Optional[list[str]] = None, + exclude_layer_keys: Optional[list[str]] = None, + exp_bits: int = 4, + mantissa_bits: int = 3, + move_to_device: bool = False, + quantization_mode: str = "block", + block_size: Optional[int] = 64, ): """ - Optimize Linear layer weights in a model's state dict to FP8 format. + Optimize Linear layer weights in a model's state dict to FP8 format. The state dict is modified in-place. + This function is a static version of load_safetensors_with_fp8_optimization without loading from files. Args: state_dict (dict): State dict to optimize, replaced in-place @@ -149,23 +149,17 @@ def optimize_state_dict_with_fp8( if calc_device is not None: value = value.to(calc_device) - # Calculate scale factor - scale = torch.max(torch.abs(value.flatten())) / max_value - # print(f"Optimizing {key} with scale: {scale}") - - # Quantize weight to FP8 - quantized_weight, _ = quantize_tensor_to_fp8(value, scale, exp_bits, mantissa_bits, 1, max_value, min_value) + quantized_weight, scale_tensor = quantize_weight(key, value, fp8_dtype, max_value, min_value, quantization_mode, block_size) # Add to state dict using original key for weight and new key for scale fp8_key = key # Maintain original key scale_key = key.replace(".weight", ".scale_weight") - quantized_weight = quantized_weight.to(fp8_dtype) - if not move_to_device: quantized_weight = quantized_weight.to(original_device) - scale_tensor = torch.tensor([scale], dtype=original_dtype, device=quantized_weight.device) + # keep scale shape: [1] or [out,1] or [out, num_blocks, 1]. We can determine the quantization mode from the shape of scale_weight in the patched model. + scale_tensor = scale_tensor.to(dtype=original_dtype, device=quantized_weight.device) state_dict[fp8_key] = quantized_weight state_dict[scale_key] = scale_tensor @@ -180,6 +174,70 @@ def optimize_state_dict_with_fp8( return state_dict +def quantize_weight( + key: str, + tensor: torch.Tensor, + fp8_dtype: torch.dtype, + max_value: float, + min_value: float, + quantization_mode: str = "block", + block_size: int = 64, +): + original_shape = tensor.shape + + # Determine quantization mode + if quantization_mode == "block": + if tensor.ndim != 2: + quantization_mode = "tensor" # fallback to per-tensor + else: + out_features, in_features = tensor.shape + if in_features % block_size != 0: + quantization_mode = "channel" # fallback to per-channel + logger.warning( + f"Layer {key} with shape {tensor.shape} is not divisible by block_size {block_size}, fallback to per-channel quantization." + ) + else: + num_blocks = in_features // block_size + tensor = tensor.contiguous().view(out_features, num_blocks, block_size) # [out, num_blocks, block_size] + elif quantization_mode == "channel": + if tensor.ndim != 2: + quantization_mode = "tensor" # fallback to per-tensor + + # Calculate scale factor (per-tensor or per-output-channel with percentile or max) + # value shape is expected to be [out_features, in_features] for Linear weights + if quantization_mode == "channel" or quantization_mode == "block": + # row-wise percentile to avoid being dominated by outliers + # result shape: [out_features, 1] or [out_features, num_blocks, 1] + scale_dim = 1 if quantization_mode == "channel" else 2 + abs_w = torch.abs(tensor) + + # shape: [out_features, 1] or [out_features, num_blocks, 1] + row_max = torch.max(abs_w, dim=scale_dim, keepdim=True).values + scale = row_max / max_value + + else: + # per-tensor + tensor_max = torch.max(torch.abs(tensor).view(-1)) + scale = tensor_max / max_value + + # Calculate scale factor + scale = torch.max(torch.abs(tensor.flatten())) / max_value + # print(f"Optimizing {key} with scale: {scale}") + + # numerical safety + scale = torch.clamp(scale, min=1e-8) + scale = scale.to(torch.float32) # ensure scale is in float32 for division + + # Quantize weight to FP8 (scale can be scalar or [out,1], broadcasting works) + quantized_weight = quantize_fp8(tensor, scale, fp8_dtype, max_value, min_value) + + # If block-wise, restore original shape + if quantization_mode == "block": + quantized_weight = quantized_weight.view(original_shape) # restore to original shape [out, in] + + return quantized_weight, scale + + def load_safetensors_with_fp8_optimization( model_files: List[str], calc_device: Union[str, torch.device], @@ -189,7 +247,9 @@ def load_safetensors_with_fp8_optimization( mantissa_bits=3, move_to_device=False, weight_hook=None, -): + quantization_mode: str = "block", + block_size: Optional[int] = 64, +) -> dict: """ Load weight tensors from safetensors files and merge LoRA weights into the state dict with explicit FP8 optimization. @@ -202,6 +262,8 @@ def load_safetensors_with_fp8_optimization( mantissa_bits (int): Number of mantissa bits move_to_device (bool): Move optimized tensors to the calculating device weight_hook (callable, optional): Function to apply to each weight tensor before optimization + quantization_mode (str): Quantization mode, "tensor", "channel", or "block" + block_size (int, optional): Block size for block-wise quantization (used if quantization_mode is "block") Returns: dict: FP8 optimized state dict @@ -234,40 +296,39 @@ def is_target_key(key): keys = f.keys() for key in tqdm(keys, desc=f"Loading {os.path.basename(model_file)}", unit="key"): value = f.get_tensor(key) + + # Save original device + original_device = value.device # usually cpu + if weight_hook is not None: # Apply weight hook if provided - value = weight_hook(key, value) + value = weight_hook(key, value, keep_on_calc_device=(calc_device is not None)) if not is_target_key(key): + target_device = calc_device if (calc_device is not None and move_to_device) else original_device + value = value.to(target_device) state_dict[key] = value continue - # Save original device and dtype - original_device = value.device - original_dtype = value.dtype - # Move to calculation device if calc_device is not None: value = value.to(calc_device) - # Calculate scale factor - scale = torch.max(torch.abs(value.flatten())) / max_value - # print(f"Optimizing {key} with scale: {scale}") - - # Quantize weight to FP8 - quantized_weight, _ = quantize_tensor_to_fp8(value, scale, exp_bits, mantissa_bits, 1, max_value, min_value) + original_dtype = value.dtype + quantized_weight, scale_tensor = quantize_weight( + key, value, fp8_dtype, max_value, min_value, quantization_mode, block_size + ) # Add to state dict using original key for weight and new key for scale fp8_key = key # Maintain original key scale_key = key.replace(".weight", ".scale_weight") assert fp8_key != scale_key, "FP8 key and scale key must be different" - quantized_weight = quantized_weight.to(fp8_dtype) - if not move_to_device: quantized_weight = quantized_weight.to(original_device) - scale_tensor = torch.tensor([scale], dtype=original_dtype, device=quantized_weight.device) + # keep scale shape: [1] or [out,1] or [out, num_blocks, 1]. We can determine the quantization mode from the shape of scale_weight in the patched model. + scale_tensor = scale_tensor.to(dtype=original_dtype, device=quantized_weight.device) state_dict[fp8_key] = quantized_weight state_dict[scale_key] = scale_tensor @@ -296,12 +357,15 @@ def fp8_linear_forward_patch(self: nn.Linear, x, use_scaled_mm=False, max_value= torch.Tensor: Result of linear transformation """ if use_scaled_mm: + # **not tested** + # _scaled_mm only works for per-tensor scale for now (per-channel scale does not work in certain cases) + if self.scale_weight.ndim != 1: + raise ValueError("scaled_mm only supports per-tensor scale_weight for now.") + input_dtype = x.dtype original_weight_dtype = self.scale_weight.dtype - weight_dtype = self.weight.dtype - target_dtype = torch.float8_e5m2 - assert weight_dtype == torch.float8_e4m3fn, "Only FP8 E4M3FN format is supported" - assert x.ndim == 3, "Input tensor must be 3D (batch_size, seq_len, hidden_dim)" + target_dtype = self.weight.dtype + # assert x.ndim == 3, "Input tensor must be 3D (batch_size, seq_len, hidden_dim)" if max_value is None: # no input quantization @@ -311,10 +375,12 @@ def fp8_linear_forward_patch(self: nn.Linear, x, use_scaled_mm=False, max_value= scale_x = (torch.max(torch.abs(x.flatten())) / max_value).to(torch.float32) # quantize input tensor to FP8: this seems to consume a lot of memory - x, _ = quantize_tensor_to_fp8(x, scale_x, 5, 2, 1, max_value, -max_value) + fp8_max_value = torch.finfo(target_dtype).max + fp8_min_value = torch.finfo(target_dtype).min + x = quantize_fp8(x, scale_x, target_dtype, fp8_max_value, fp8_min_value) original_shape = x.shape - x = x.reshape(-1, x.shape[2]).to(target_dtype) + x = x.reshape(-1, x.shape[-1]).to(target_dtype) weight = self.weight.t() scale_weight = self.scale_weight.to(torch.float32) @@ -325,12 +391,21 @@ def fp8_linear_forward_patch(self: nn.Linear, x, use_scaled_mm=False, max_value= else: o = torch._scaled_mm(x, weight, out_dtype=input_dtype, scale_a=scale_x, scale_b=scale_weight) - return o.reshape(original_shape[0], original_shape[1], -1).to(input_dtype) + o = o.reshape(original_shape[0], original_shape[1], -1) if x.ndim == 3 else o.reshape(original_shape[0], -1) + return o.to(input_dtype) else: # Dequantize the weight original_dtype = self.scale_weight.dtype - dequantized_weight = self.weight.to(original_dtype) * self.scale_weight + if self.scale_weight.ndim < 3: + # per-tensor or per-channel quantization, we can broadcast + dequantized_weight = self.weight.to(original_dtype) * self.scale_weight + else: + # block-wise quantization, need to reshape weight to match scale shape for broadcasting + out_features, num_blocks, _ = self.scale_weight.shape + dequantized_weight = self.weight.to(original_dtype).contiguous().view(out_features, num_blocks, -1) + dequantized_weight = dequantized_weight * self.scale_weight + dequantized_weight = dequantized_weight.view(self.weight.shape) # Perform linear transformation if self.bias is not None: @@ -362,11 +437,15 @@ def apply_fp8_monkey_patch(model, optimized_state_dict, use_scaled_mm=False): # Enumerate patched layers patched_module_paths = set() + scale_shape_info = {} for scale_key in scale_keys: # Extract module path from scale key (remove .scale_weight) module_path = scale_key.rsplit(".scale_weight", 1)[0] patched_module_paths.add(module_path) + # Store scale shape information + scale_shape_info[module_path] = optimized_state_dict[scale_key].shape + patched_count = 0 # Apply monkey patch to each layer with FP8 weights @@ -377,7 +456,9 @@ def apply_fp8_monkey_patch(model, optimized_state_dict, use_scaled_mm=False): # Apply patch if it's a Linear layer with FP8 scale if isinstance(module, nn.Linear) and has_scale: # register the scale_weight as a buffer to load the state_dict - module.register_buffer("scale_weight", torch.tensor(1.0, dtype=module.weight.dtype)) + # module.register_buffer("scale_weight", torch.tensor(1.0, dtype=module.weight.dtype)) + scale_shape = scale_shape_info[name] + module.register_buffer("scale_weight", torch.ones(scale_shape, dtype=module.weight.dtype)) # Create a new forward method with the patched version. def new_forward(self, x): diff --git a/library/hunyuan_image_models.py b/library/hunyuan_image_models.py index 2a6092ea3..356ce4b42 100644 --- a/library/hunyuan_image_models.py +++ b/library/hunyuan_image_models.py @@ -30,7 +30,12 @@ from library.hunyuan_image_utils import get_nd_rotary_pos_embed FP8_OPTIMIZATION_TARGET_KEYS = ["double_blocks", "single_blocks"] -FP8_OPTIMIZATION_EXCLUDE_KEYS = ["norm", "_mod", "modulation", "_emb"] +# FP8_OPTIMIZATION_EXCLUDE_KEYS = ["norm", "_mod", "_emb"] # , "modulation" +FP8_OPTIMIZATION_EXCLUDE_KEYS = ["norm", "_emb"] # , "modulation", "_mod" + +# full exclude 24.2GB +# norm and _emb 19.7GB +# fp8 cast 19.7GB # region DiT Model diff --git a/library/hunyuan_image_modules.py b/library/hunyuan_image_modules.py index ef4d5e5d7..555cb4871 100644 --- a/library/hunyuan_image_modules.py +++ b/library/hunyuan_image_modules.py @@ -497,7 +497,9 @@ def forward(self, x): """ output = self._norm(x.float()).type_as(x) del x - output = output * self.weight + # output = output * self.weight + # fp8 support + output = output * self.weight.to(output.dtype) return output @@ -689,7 +691,7 @@ def _forward( del qkv # Split attention outputs back to separate streams - img_attn, txt_attn = (attn[:, : img_seq_len].contiguous(), attn[:, img_seq_len :].contiguous()) + img_attn, txt_attn = (attn[:, :img_seq_len].contiguous(), attn[:, img_seq_len:].contiguous()) del attn # Apply attention projection and residual connection for image stream diff --git a/library/lora_utils.py b/library/lora_utils.py index b93eb9af3..6f0fc2285 100644 --- a/library/lora_utils.py +++ b/library/lora_utils.py @@ -1,12 +1,8 @@ -# copy from Musubi Tuner - import os import re from typing import Dict, List, Optional, Union import torch - from tqdm import tqdm - from library.device_utils import synchronize_device from library.fp8_optimization_utils import load_safetensors_with_fp8_optimization from library.safetensors_utils import MemoryEfficientSafeOpen @@ -84,7 +80,7 @@ def load_safetensors_with_lora_and_fp8( count = int(match.group(3)) state_dict = {} for i in range(count): - filename = f"{prefix}{i+1:05d}-of-{count:05d}.safetensors" + filename = f"{prefix}{i + 1:05d}-of-{count:05d}.safetensors" filepath = os.path.join(os.path.dirname(model_file), filename) if os.path.exists(filepath): extended_model_files.append(filepath) @@ -118,7 +114,7 @@ def load_safetensors_with_lora_and_fp8( logger.info(f"Merging LoRA weights into state dict. multipliers: {lora_multipliers}") # make hook for LoRA merging - def weight_hook_func(model_weight_key, model_weight): + def weight_hook_func(model_weight_key, model_weight, keep_on_calc_device=False): nonlocal list_of_lora_weight_keys, lora_weights_list, lora_multipliers, calc_device if not model_weight_key.endswith(".weight"): @@ -176,7 +172,8 @@ def weight_hook_func(model_weight_key, model_weight): if alpha_key in lora_weight_keys: lora_weight_keys.remove(alpha_key) - model_weight = model_weight.to(original_device) # move back to original device + if not keep_on_calc_device and original_device != calc_device: + model_weight = model_weight.to(original_device) # move back to original device return model_weight weight_hook = weight_hook_func @@ -231,19 +228,18 @@ def load_safetensors_with_fp8_optimization_and_hook( for model_file in model_files: with MemoryEfficientSafeOpen(model_file) as f: for key in tqdm(f.keys(), desc=f"Loading {os.path.basename(model_file)}", leave=False): - value = f.get_tensor(key) - if weight_hook is not None: - value = weight_hook(key, value) - if move_to_device: - if dit_weight_dtype is None: - value = value.to(calc_device, non_blocking=True) - else: + if weight_hook is None and move_to_device: + value = f.get_tensor(key, device=calc_device, dtype=dit_weight_dtype) + else: + value = f.get_tensor(key) # we cannot directly load to device because get_tensor does non-blocking transfer + if weight_hook is not None: + value = weight_hook(key, value, keep_on_calc_device=move_to_device) + if move_to_device: value = value.to(calc_device, dtype=dit_weight_dtype, non_blocking=True) - elif dit_weight_dtype is not None: - value = value.to(dit_weight_dtype) + elif dit_weight_dtype is not None: + value = value.to(dit_weight_dtype) state_dict[key] = value - if move_to_device: synchronize_device(calc_device) From f834b2e0d46c2b3629fe41d186ec15caf11118be Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Thu, 18 Sep 2025 23:46:18 +0900 Subject: [PATCH 696/748] fix: --fp8_vl to work --- hunyuan_image_train_network.py | 2 +- library/hunyuan_image_text_encoder.py | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/hunyuan_image_train_network.py b/hunyuan_image_train_network.py index a3c0cd898..60aa2178f 100644 --- a/hunyuan_image_train_network.py +++ b/hunyuan_image_train_network.py @@ -250,7 +250,7 @@ def encode_prompt(prpt): arg_c_null = None gen_args = SimpleNamespace( - image_size=(height, width), infer_steps=sample_steps, flow_shift=flow_shift, guidance_scale=cfg_scale + image_size=(height, width), infer_steps=sample_steps, flow_shift=flow_shift, guidance_scale=cfg_scale, fp8=args.fp8_scaled ) from hunyuan_image_minimal_inference import generate_body # import here to avoid circular import diff --git a/library/hunyuan_image_text_encoder.py b/library/hunyuan_image_text_encoder.py index 509f9bd2f..2171b4101 100644 --- a/library/hunyuan_image_text_encoder.py +++ b/library/hunyuan_image_text_encoder.py @@ -15,7 +15,7 @@ from accelerate import init_empty_weights from library.safetensors_utils import load_safetensors -from library.utils import setup_logging +from library.utils import setup_logging setup_logging() import logging @@ -542,7 +542,6 @@ def get_qwen_prompt_embeds_from_tokens( attention_mask = attention_mask.to(device=device) if dtype.itemsize == 1: # fp8 - # TODO dtype should be vlm.dtype? with torch.no_grad(), torch.autocast(device_type=device.type, dtype=torch.bfloat16, enabled=True): encoder_hidden_states = vlm(input_ids=input_ids, attention_mask=attention_mask, output_hidden_states=True) else: @@ -564,7 +563,7 @@ def get_qwen_prompt_embeds_from_tokens( prompt_embeds = hidden_states[:, drop_idx:, :] encoder_attention_mask = attention_mask[:, drop_idx:] - prompt_embeds = prompt_embeds.to(dtype=dtype, device=device) + prompt_embeds = prompt_embeds.to(device=device) return prompt_embeds, encoder_attention_mask From b090d15f7d72324ba81575cb453002a935f5bcce Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Sat, 20 Sep 2025 19:45:33 +0900 Subject: [PATCH 697/748] feat: add multi backend attention and related update for HI2.1 models and scripts --- docs/hunyuan_image_train_network.md | 12 +- hunyuan_image_minimal_inference.py | 7 +- hunyuan_image_train_network.py | 23 ++- library/attention.py | 248 +++++++++++++++++++++++----- library/hunyuan_image_models.py | 27 ++- library/hunyuan_image_modules.py | 75 ++++----- 6 files changed, 288 insertions(+), 104 deletions(-) diff --git a/docs/hunyuan_image_train_network.md b/docs/hunyuan_image_train_network.md index 3d49fbdfb..667b4fec1 100644 --- a/docs/hunyuan_image_train_network.md +++ b/docs/hunyuan_image_train_network.md @@ -126,7 +126,8 @@ accelerate launch --num_cpu_threads_per_process 1 hunyuan_image_train_network.py --learning_rate=1e-4 \ --optimizer_type="AdamW8bit" \ --lr_scheduler="constant" \ - --sdpa \ + --attn_mode="torch" \ + --split_attn \ --max_train_epochs=10 \ --save_every_n_epochs=1 \ --mixed_precision="bf16" \ @@ -175,6 +176,10 @@ The script adds HunyuanImage-2.1 specific arguments. For common arguments (like #### Memory/Speed Related +* `--attn_mode=` + - Specifies the attention implementation to use. Options are `torch`, `xformers`, `flash`, `sageattn`. Default is `torch` (use scaled dot product attention). Each library must be installed separately other than `torch`. If using `xformers`, also specify `--split_attn` if the batch size is more than 1. +* `--split_attn` + - Splits the batch during attention computation to process one item at a time, reducing VRAM usage by avoiding attention mask computation. Can improve speed when using `torch`. Required when using `xformers` with batch size greater than 1. * `--fp8_scaled` - Enables training the DiT model in scaled FP8 format. This can significantly reduce VRAM usage (can run with as little as 8GB VRAM when combined with `--blocks_to_swap`), but the training results may vary. This is a newer alternative to the unsupported `--fp8_base` option. * `--fp8_vl` @@ -429,6 +434,7 @@ python hunyuan_image_minimal_inference.py \ --vae "" \ --lora_weight "" \ --lora_multiplier 1.0 \ + --attn_mode "torch" \ --prompt "A cute cartoon penguin in a snowy landscape" \ --image_size 2048 2048 \ --infer_steps 50 \ @@ -445,6 +451,8 @@ python hunyuan_image_minimal_inference.py \ - `--guidance_scale`: CFG scale (default: 3.5) - `--flow_shift`: Flow matching shift parameter (default: 5.0) +`--split_attn` is not supported (since inference is done one at a time). +
日本語 @@ -457,6 +465,8 @@ python hunyuan_image_minimal_inference.py \ - `--guidance_scale`: CFGスケール(推奨: 3.5) - `--flow_shift`: Flow Matchingシフトパラメータ(デフォルト: 5.0) +`--split_attn`はサポートされていません(1件ずつ推論するため)。 +
## 9. Related Tools / 関連ツール diff --git a/hunyuan_image_minimal_inference.py b/hunyuan_image_minimal_inference.py index 00356a37d..850233837 100644 --- a/hunyuan_image_minimal_inference.py +++ b/hunyuan_image_minimal_inference.py @@ -96,7 +96,7 @@ def parse_args() -> argparse.Namespace: "--attn_mode", type=str, default="torch", - choices=["flash", "torch", "sageattn", "xformers", "sdpa"], # "flash2", "flash3", + choices=["flash", "torch", "sageattn", "xformers", "sdpa"], # "sdpa" for backward compatibility help="attention mode", ) parser.add_argument("--blocks_to_swap", type=int, default=0, help="number of blocks to swap in the model") @@ -130,6 +130,9 @@ def parse_args() -> argparse.Namespace: if args.lycoris and not lycoris_available: raise ValueError("install lycoris: https://github.com/KohakuBlueleaf/LyCORIS") + if args.attn_mode == "sdpa": + args.attn_mode = "torch" # backward compatibility + return args @@ -265,7 +268,7 @@ def load_dit_model( device, args.dit, args.attn_mode, - False, + True, # enable split_attn to trim masked tokens loading_device, loading_weight_dtype, args.fp8_scaled and not args.lycoris, diff --git a/hunyuan_image_train_network.py b/hunyuan_image_train_network.py index 60aa2178f..6b102a9a3 100644 --- a/hunyuan_image_train_network.py +++ b/hunyuan_image_train_network.py @@ -379,18 +379,19 @@ def load_unet_lazily(self, args, weight_dtype, accelerator, text_encoders) -> tu loading_dtype = None if args.fp8_scaled else weight_dtype loading_device = "cpu" if self.is_swapping_blocks else accelerator.device - split_attn = True attn_mode = "torch" if args.xformers: attn_mode = "xformers" - logger.info("xformers is enabled for attention") + if args.attn_mode is not None: + attn_mode = args.attn_mode + logger.info(f"Loading DiT model with attn_mode: {attn_mode}, split_attn: {args.split_attn}, fp8_scaled: {args.fp8_scaled}") model = hunyuan_image_models.load_hunyuan_image_model( accelerator.device, args.pretrained_model_name_or_path, attn_mode, - split_attn, + args.split_attn, loading_device, loading_dtype, args.fp8_scaled, @@ -674,6 +675,19 @@ def setup_parser() -> argparse.ArgumentParser: help="Enable tiling for VAE decoding and encoding / VAEデコーディングとエンコーディングのタイルを有効にする", ) + parser.add_argument( + "--attn_mode", + choices=["torch", "xformers", "flash", "sageattn", "sdpa"], # "sdpa" is for backward compatibility + default=None, + help="Attention implementation to use. Default is None (torch). xformers requires --split_attn. sageattn does not support training (inference only). This option overrides --xformers or --sdpa." + " / 使用するAttentionの実装。デフォルトはNone(torch)です。xformersは--split_attnの指定が必要です。sageattnはトレーニングをサポートしていません(推論のみ)。このオプションは--xformersまたは--sdpaを上書きします。", + ) + parser.add_argument( + "--split_attn", + action="store_true", + help="split attention computation to reduce memory usage / メモリ使用量を減らすためにattention時にバッチを分割する", + ) + return parser @@ -684,5 +698,8 @@ def setup_parser() -> argparse.ArgumentParser: train_util.verify_command_line_training_args(args) args = train_util.read_config_from_file(args, parser) + if args.attn_mode == "sdpa": + args.attn_mode = "torch" # backward compatibility + trainer = HunyuanImageNetworkTrainer() trainer.train(args) diff --git a/library/attention.py b/library/attention.py index f1e7c0b0c..d3b8441e2 100644 --- a/library/attention.py +++ b/library/attention.py @@ -1,18 +1,88 @@ +# Unified attention function supporting various implementations + +from dataclasses import dataclass import torch from typing import Optional, Union +try: + import flash_attn + from flash_attn.flash_attn_interface import _flash_attn_forward + from flash_attn.flash_attn_interface import flash_attn_varlen_func + from flash_attn.flash_attn_interface import flash_attn_func +except ImportError: + flash_attn = None + flash_attn_varlen_func = None + _flash_attn_forward = None + flash_attn_func = None + +try: + from sageattention import sageattn_varlen, sageattn +except ImportError: + sageattn_varlen = None + sageattn = None + try: import xformers.ops as xops except ImportError: xops = None +@dataclass +class AttentionParams: + attn_mode: Optional[str] = None + split_attn: bool = False + img_len: Optional[int] = None + attention_mask: Optional[torch.Tensor] = None + seqlens: Optional[torch.Tensor] = None + cu_seqlens: Optional[torch.Tensor] = None + max_seqlen: Optional[int] = None + + @staticmethod + def create_attention_params(attn_mode: Optional[str], split_attn: bool) -> "AttentionParams": + return AttentionParams(attn_mode, split_attn) + + @staticmethod + def create_attention_params_from_mask( + attn_mode: Optional[str], split_attn: bool, img_len: Optional[int], attention_mask: Optional[torch.Tensor] + ) -> "AttentionParams": + if attention_mask is None: + # No attention mask provided: assume all tokens are valid + return AttentionParams(attn_mode, split_attn, None, None, None, None, None) + else: + # Note: attention_mask is only for text tokens, not including image tokens + seqlens = attention_mask.sum(dim=1).to(torch.int32) + img_len # [B] + max_seqlen = attention_mask.shape[1] + img_len + + if split_attn: + # cu_seqlens is not needed for split attention + return AttentionParams(attn_mode, split_attn, img_len, attention_mask, seqlens, None, max_seqlen) + + # Convert attention mask to cumulative sequence lengths for flash attention + batch_size = attention_mask.shape[0] + cu_seqlens = torch.zeros([2 * batch_size + 1], dtype=torch.int32, device=attention_mask.device) + for i in range(batch_size): + cu_seqlens[2 * i + 1] = i * max_seqlen + seqlens[i] # end of valid tokens for query + cu_seqlens[2 * i + 2] = (i + 1) * max_seqlen # end of all tokens for query + + # Expand attention mask to include image tokens + attention_mask = torch.nn.functional.pad(attention_mask, (img_len, 0), value=1) # [B, img_len + L] + + if attn_mode == "xformers": + seqlens_list = seqlens.cpu().tolist() + attention_mask = xops.fmha.attn_bias.BlockDiagonalMask.from_seqlens( + seqlens_list, seqlens_list, device=attention_mask.device + ) + elif attn_mode == "torch": + attention_mask = attention_mask[:, None, None, :].to(torch.bool) # [B, 1, 1, img_len + L] + + return AttentionParams(attn_mode, split_attn, img_len, attention_mask, seqlens, cu_seqlens, max_seqlen) + + def attention( qkv_or_q: Union[torch.Tensor, list], k: Optional[torch.Tensor] = None, v: Optional[torch.Tensor] = None, - seq_lens: Optional[list[int]] = None, - attn_mode: str = "torch", + attn_params: Optional[AttentionParams] = None, drop_rate: float = 0.0, ) -> torch.Tensor: """ @@ -25,8 +95,7 @@ def attention( qkv_or_q: Query tensor [B, L, H, D]. or list of such tensors. k: Key tensor [B, L, H, D]. v: Value tensor [B, L, H, D]. - seq_lens: Valid sequence length for each batch element. - attn_mode: Attention implementation ("torch" or "sageattn"). + attn_param: Attention parameters including mask and sequence lengths. drop_rate: Attention dropout rate. Returns: @@ -34,53 +103,158 @@ def attention( """ if isinstance(qkv_or_q, list): q, k, v = qkv_or_q + q: torch.Tensor = q qkv_or_q.clear() del qkv_or_q else: - q = qkv_or_q + q: torch.Tensor = qkv_or_q del qkv_or_q assert k is not None and v is not None, "k and v must be provided if qkv_or_q is a tensor" - if seq_lens is None: - seq_lens = [q.shape[1]] * q.shape[0] + if attn_params is None: + attn_params = AttentionParams.create_attention_params("torch", False) + + # If split attn is False, attention mask is provided and all sequence lengths are same, we can trim the sequence + seqlen_trimmed = False + if not attn_params.split_attn and attn_params.attention_mask is not None and attn_params.seqlens is not None: + if torch.all(attn_params.seqlens == attn_params.seqlens[0]): + seqlen = attn_params.seqlens[0].item() + q = q[:, :seqlen] + k = k[:, :seqlen] + v = v[:, :seqlen] + max_seqlen = attn_params.max_seqlen + attn_params = AttentionParams.create_attention_params(attn_params.attn_mode, False) # do not in-place modify + attn_params.max_seqlen = max_seqlen # keep max_seqlen for padding + seqlen_trimmed = True # Determine tensor layout based on attention implementation - if attn_mode == "torch" or attn_mode == "sageattn": - transpose_fn = lambda x: x.transpose(1, 2) # [B, H, L, D] for SDPA + if attn_params.attn_mode == "torch" or ( + attn_params.attn_mode == "sageattn" and (attn_params.split_attn or attn_params.cu_seqlens is None) + ): + transpose_fn = lambda x: x.transpose(1, 2) # [B, H, L, D] for SDPA and sageattn with fixed length + # pad on sequence length dimension + pad_fn = lambda x, pad_to: torch.nn.functional.pad(x, (0, 0, 0, pad_to - x.shape[-2]), value=0) else: transpose_fn = lambda x: x # [B, L, H, D] for other implementations + # pad on sequence length dimension + pad_fn = lambda x, pad_to: torch.nn.functional.pad(x, (0, 0, 0, 0, 0, pad_to - x.shape[-3]), value=0) + + # Process each batch element with its valid sequence lengths + if attn_params.split_attn: + if attn_params.seqlens is None: + # If no seqlens provided, assume all tokens are valid + attn_params = AttentionParams.create_attention_params(attn_params.attn_mode, True) # do not in-place modify + attn_params.seqlens = torch.tensor([q.shape[1]] * q.shape[0], device=q.device) + attn_params.max_seqlen = q.shape[1] + q = [transpose_fn(q[i : i + 1, : attn_params.seqlens[i]]) for i in range(len(q))] + k = [transpose_fn(k[i : i + 1, : attn_params.seqlens[i]]) for i in range(len(k))] + v = [transpose_fn(v[i : i + 1, : attn_params.seqlens[i]]) for i in range(len(v))] + else: + q = transpose_fn(q) + k = transpose_fn(k) + v = transpose_fn(v) + + if attn_params.attn_mode == "torch": + if attn_params.split_attn: + x = [] + for i in range(len(q)): + x_i = torch.nn.functional.scaled_dot_product_attention(q[i], k[i], v[i], dropout_p=drop_rate) + q[i] = None + k[i] = None + v[i] = None + x.append(pad_fn(x_i, attn_params.max_seqlen)) # B, H, L, D + x = torch.cat(x, dim=0) + del q, k, v + + else: + x = torch.nn.functional.scaled_dot_product_attention(q, k, v, attn_mask=attn_params.attention_mask, dropout_p=drop_rate) + del q, k, v + + elif attn_params.attn_mode == "xformers": + if attn_params.split_attn: + x = [] + for i in range(len(q)): + x_i = xops.memory_efficient_attention(q[i], k[i], v[i], p=drop_rate) + q[i] = None + k[i] = None + v[i] = None + x.append(pad_fn(x_i, attn_params.max_seqlen)) # B, L, H, D + x = torch.cat(x, dim=0) + del q, k, v + + else: + x = xops.memory_efficient_attention(q, k, v, attn_bias=attn_params.attention_mask, p=drop_rate) + del q, k, v - # Process each batch element with its valid sequence length - q_seq_len = q.shape[1] - q = [transpose_fn(q[i : i + 1, : seq_lens[i]]) for i in range(len(q))] - k = [transpose_fn(k[i : i + 1, : seq_lens[i]]) for i in range(len(k))] - v = [transpose_fn(v[i : i + 1, : seq_lens[i]]) for i in range(len(v))] - - if attn_mode == "torch": - x = [] - for i in range(len(q)): - x_i = torch.nn.functional.scaled_dot_product_attention(q[i], k[i], v[i], dropout_p=drop_rate) - q[i] = None - k[i] = None - v[i] = None - x.append(torch.nn.functional.pad(x_i, (0, 0, 0, q_seq_len - x_i.shape[2]), value=0)) # Pad to max seq len, B, H, L, D - x = torch.cat(x, dim=0) - del q, k, v - - elif attn_mode == "xformers": - x = [] - for i in range(len(q)): - x_i = xops.memory_efficient_attention(q[i], k[i], v[i], p=drop_rate) - q[i] = None - k[i] = None - v[i] = None - x.append(torch.nn.functional.pad(x_i, (0, 0, 0, 0, 0, q_seq_len - x_i.shape[1]), value=0)) # B, L, H, D - x = torch.cat(x, dim=0) - del q, k, v + elif attn_params.attn_mode == "sageattn": + if attn_params.split_attn: + x = [] + for i in range(len(q)): + # HND seems to cause an error + x_i = sageattn(q[i], k[i], v[i]) # B, H, L, D. No dropout support + q[i] = None + k[i] = None + v[i] = None + x.append(pad_fn(x_i, attn_params.max_seqlen)) # B, H, L, D + x = torch.cat(x, dim=0) + del q, k, v + elif attn_params.cu_seqlens is None: # all tokens are valid + x = sageattn(q, k, v) # B, L, H, D. No dropout support + del q, k, v + else: + # Reshape to [(bxs), a, d] + batch_size, seqlen = q.shape[0], q.shape[1] + q = q.view(q.shape[0] * q.shape[1], *q.shape[2:]) # [B*L, H, D] + k = k.view(k.shape[0] * k.shape[1], *k.shape[2:]) # [B*L, H, D] + v = v.view(v.shape[0] * v.shape[1], *v.shape[2:]) # [B*L, H, D] + + # Assume cu_seqlens_q == cu_seqlens_kv and max_seqlen_q == max_seqlen_kv. No dropout support + x = sageattn_varlen( + q, k, v, attn_params.cu_seqlens, attn_params.cu_seqlens, attn_params.max_seqlen, attn_params.max_seqlen + ) + del q, k, v + + # Reshape x with shape [(bxs), a, d] to [b, s, a, d] + x = x.view(batch_size, seqlen, x.shape[-2], x.shape[-1]) # B, L, H, D + + elif attn_params.attn_mode == "flash": + if attn_params.split_attn: + x = [] + for i in range(len(q)): + # HND seems to cause an error + x_i = flash_attn_func(q[i], k[i], v[i], drop_rate) # B, L, H, D + q[i] = None + k[i] = None + v[i] = None + x.append(pad_fn(x_i, attn_params.max_seqlen)) # B, L, H, D + x = torch.cat(x, dim=0) + del q, k, v + elif attn_params.cu_seqlens is None: # all tokens are valid + x = flash_attn_func(q, k, v, drop_rate) # B, L, H, D + del q, k, v + else: + # Reshape to [(bxs), a, d] + batch_size, seqlen = q.shape[0], q.shape[1] + q = q.view(q.shape[0] * q.shape[1], *q.shape[2:]) # [B*L, H, D] + k = k.view(k.shape[0] * k.shape[1], *k.shape[2:]) # [B*L, H, D] + v = v.view(v.shape[0] * v.shape[1], *v.shape[2:]) # [B*L, H, D] + + # Assume cu_seqlens_q == cu_seqlens_kv and max_seqlen_q == max_seqlen_kv + x = flash_attn_varlen_func( + q, k, v, attn_params.cu_seqlens, attn_params.cu_seqlens, attn_params.max_seqlen, attn_params.max_seqlen, drop_rate + ) + del q, k, v + + # Reshape x with shape [(bxs), a, d] to [b, s, a, d] + x = x.view(batch_size, seqlen, x.shape[-2], x.shape[-1]) # B, L, H, D else: # Currently only PyTorch SDPA and xformers are implemented - raise ValueError(f"Unsupported attention mode: {attn_mode}") + raise ValueError(f"Unsupported attention mode: {attn_params.attn_mode}") x = transpose_fn(x) # [B, L, H, D] x = x.reshape(x.shape[0], x.shape[1], -1) # [B, L, H*D] + + if seqlen_trimmed: + x = torch.nn.functional.pad(x, (0, 0, 0, attn_params.max_seqlen - x.shape[1]), value=0) # pad back to max_seqlen + return x diff --git a/library/hunyuan_image_models.py b/library/hunyuan_image_models.py index 356ce4b42..fc320dfc1 100644 --- a/library/hunyuan_image_models.py +++ b/library/hunyuan_image_models.py @@ -8,6 +8,7 @@ from accelerate import init_empty_weights from library import custom_offloading_utils +from library.attention import AttentionParams from library.fp8_optimization_utils import apply_fp8_monkey_patch from library.lora_utils import load_safetensors_with_lora_and_fp8 from library.utils import setup_logging @@ -50,7 +51,7 @@ class HYImageDiffusionTransformer(nn.Module): attn_mode: Attention implementation mode ("torch" or "sageattn"). """ - def __init__(self, attn_mode: str = "torch"): + def __init__(self, attn_mode: str = "torch", split_attn: bool = False): super().__init__() # Fixed architecture parameters for HunyuanImage-2.1 @@ -80,6 +81,7 @@ def __init__(self, attn_mode: str = "torch"): qk_norm_type: str = "rms" # RMS normalization type self.attn_mode = attn_mode + self.split_attn = split_attn # ByT5 character-level text encoder mapping self.byt5_in = ByT5Mapper(in_dim=1472, out_dim=2048, hidden_dim=2048, out_dim1=self.hidden_size, use_residual=False) @@ -88,7 +90,7 @@ def __init__(self, attn_mode: str = "torch"): self.img_in = PatchEmbed2D(self.patch_size, self.in_channels, self.hidden_size) # Text token refinement with cross-attention - self.txt_in = SingleTokenRefiner(text_states_dim, self.hidden_size, self.heads_num, depth=2, attn_mode=self.attn_mode) + self.txt_in = SingleTokenRefiner(text_states_dim, self.hidden_size, self.heads_num, depth=2) # Timestep embedding for diffusion process self.time_in = TimestepEmbedder(self.hidden_size, nn.SiLU) @@ -110,7 +112,6 @@ def __init__(self, attn_mode: str = "torch"): qk_norm=qk_norm, qk_norm_type=qk_norm_type, qkv_bias=qkv_bias, - attn_mode=self.attn_mode, ) for _ in range(mm_double_blocks_depth) ] @@ -126,7 +127,6 @@ def __init__(self, attn_mode: str = "torch"): mlp_act_type=mlp_act_type, qk_norm=qk_norm, qk_norm_type=qk_norm_type, - attn_mode=self.attn_mode, ) for _ in range(mm_single_blocks_depth) ] @@ -339,22 +339,21 @@ def forward( # MeanFlow and guidance embedding not used in this configuration # Process text tokens through refinement layers - txt_lens = text_mask.to(torch.bool).sum(dim=1).tolist() - txt = self.txt_in(txt, t, txt_lens) + txt_attn_params = AttentionParams.create_attention_params_from_mask(self.attn_mode, self.split_attn, 0, text_mask) + txt = self.txt_in(txt, t, txt_attn_params) # Integrate character-level ByT5 features with word-level tokens # Use variable length sequences with sequence lengths byt5_txt = self.byt5_in(byt5_text_states) - txt, _, txt_lens = self.reorder_txt_token(byt5_txt, txt, byt5_text_mask, text_mask) + txt, text_mask, txt_lens = self.reorder_txt_token(byt5_txt, txt, byt5_text_mask, text_mask) # Trim sequences to maximum length in the batch img_seq_len = img.shape[1] - # print(f"img_seq_len: {img_seq_len}, txt_lens: {txt_lens}") - seq_lens = [img_seq_len + l for l in txt_lens] max_txt_len = max(txt_lens) - # print(f"max_txt_len: {max_txt_len}, seq_lens: {seq_lens}, txt.shape: {txt.shape}") txt = txt[:, :max_txt_len, :] - txt_seq_len = txt.shape[1] + text_mask = text_mask[:, :max_txt_len] + + attn_params = AttentionParams.create_attention_params_from_mask(self.attn_mode, self.split_attn, img_seq_len, text_mask) input_device = img.device @@ -362,7 +361,7 @@ def forward( for index, block in enumerate(self.double_blocks): if self.blocks_to_swap: self.offloader_double.wait_for_block(index) - img, txt = block(img, txt, vec, freqs_cis, seq_lens) + img, txt = block(img, txt, vec, freqs_cis, attn_params) if self.blocks_to_swap: self.offloader_double.submit_move_blocks(self.double_blocks, index) @@ -373,7 +372,7 @@ def forward( for index, block in enumerate(self.single_blocks): if self.blocks_to_swap: self.offloader_single.wait_for_block(index) - x = block(x, vec, txt_seq_len, freqs_cis, seq_lens) + x = block(x, vec, freqs_cis, attn_params) if self.blocks_to_swap: self.offloader_single.submit_move_blocks(self.single_blocks, index) @@ -417,7 +416,7 @@ def unpatchify_2d(self, x, h, w): def create_model(attn_mode: str, split_attn: bool, dtype: Optional[torch.dtype]) -> HYImageDiffusionTransformer: with init_empty_weights(): - model = HYImageDiffusionTransformer(attn_mode=attn_mode) + model = HYImageDiffusionTransformer(attn_mode=attn_mode, split_attn=split_attn) if dtype is not None: model.to(dtype) return model diff --git a/library/hunyuan_image_modules.py b/library/hunyuan_image_modules.py index 555cb4871..1953a783e 100644 --- a/library/hunyuan_image_modules.py +++ b/library/hunyuan_image_modules.py @@ -7,7 +7,7 @@ from einops import rearrange from library import custom_offloading_utils -from library.attention import attention +from library.attention import AttentionParams, attention from library.hunyuan_image_utils import timestep_embedding, apply_rotary_emb, _to_tuple, apply_gate, modulate from library.attention import attention @@ -213,7 +213,6 @@ class IndividualTokenRefinerBlock(nn.Module): qk_norm: QK normalization flag (must be False). qk_norm_type: QK normalization type (only "layer" supported). qkv_bias: Use bias in QKV projections. - attn_mode: Attention implementation mode. """ def __init__( @@ -226,15 +225,12 @@ def __init__( qk_norm: bool = False, qk_norm_type: str = "layer", qkv_bias: bool = True, - attn_mode: str = "torch", ): super().__init__() assert qk_norm_type == "layer", "Only layer normalization supported for QK norm." assert act_type == "silu", "Only SiLU activation supported." assert not qk_norm, "QK normalization must be disabled." - self.attn_mode = attn_mode - self.heads_num = heads_num mlp_hidden_dim = int(hidden_size * mlp_width_ratio) @@ -253,19 +249,14 @@ def __init__( nn.Linear(hidden_size, 2 * hidden_size, bias=True), ) - def forward( - self, - x: torch.Tensor, - c: torch.Tensor, # Combined timestep and context conditioning - txt_lens: list[int], - ) -> torch.Tensor: + def forward(self, x: torch.Tensor, c: torch.Tensor, attn_params: AttentionParams) -> torch.Tensor: """ Apply self-attention and MLP with adaptive conditioning. Args: x: Input token embeddings [B, L, C]. c: Combined conditioning vector [B, C]. - txt_lens: Valid sequence lengths for each batch element. + attn_params: Attention parameters including sequence lengths. Returns: Refined token embeddings [B, L, C]. @@ -273,10 +264,14 @@ def forward( gate_msa, gate_mlp = self.adaLN_modulation(c).chunk(2, dim=1) norm_x = self.norm1(x) qkv = self.self_attn_qkv(norm_x) + del norm_x q, k, v = rearrange(qkv, "B L (K H D) -> K B L H D", K=3, H=self.heads_num) + del qkv q = self.self_attn_q_norm(q).to(v) k = self.self_attn_k_norm(k).to(v) - attn = attention(q, k, v, seq_lens=txt_lens, attn_mode=self.attn_mode) + qkv = [q, k, v] + del q, k, v + attn = attention(qkv, attn_params=attn_params) x = x + apply_gate(self.self_attn_proj(attn), gate_msa) x = x + apply_gate(self.mlp(self.norm2(x)), gate_mlp) @@ -299,7 +294,6 @@ class IndividualTokenRefiner(nn.Module): qk_norm: QK normalization flag. qk_norm_type: QK normalization type. qkv_bias: Use bias in QKV projections. - attn_mode: Attention implementation mode. """ def __init__( @@ -313,7 +307,6 @@ def __init__( qk_norm: bool = False, qk_norm_type: str = "layer", qkv_bias: bool = True, - attn_mode: str = "torch", ): super().__init__() self.blocks = nn.ModuleList( @@ -327,26 +320,25 @@ def __init__( qk_norm=qk_norm, qk_norm_type=qk_norm_type, qkv_bias=qkv_bias, - attn_mode=attn_mode, ) for _ in range(depth) ] ) - def forward(self, x: torch.Tensor, c: torch.LongTensor, txt_lens: list[int]) -> torch.Tensor: + def forward(self, x: torch.Tensor, c: torch.LongTensor, attn_params: AttentionParams) -> torch.Tensor: """ Apply sequential token refinement. Args: x: Input token embeddings [B, L, C]. c: Combined conditioning vector [B, C]. - txt_lens: Valid sequence lengths for each batch element. + attn_params: Attention parameters including sequence lengths. Returns: Refined token embeddings [B, L, C]. """ for block in self.blocks: - x = block(x, c, txt_lens) + x = block(x, c, attn_params) return x @@ -362,10 +354,9 @@ class SingleTokenRefiner(nn.Module): hidden_size: Transformer hidden dimension. heads_num: Number of attention heads. depth: Number of refinement blocks. - attn_mode: Attention implementation mode. """ - def __init__(self, in_channels: int, hidden_size: int, heads_num: int, depth: int, attn_mode: str = "torch"): + def __init__(self, in_channels: int, hidden_size: int, heads_num: int, depth: int): # Fixed architecture parameters for HunyuanImage-2.1 mlp_drop_rate: float = 0.0 # No MLP dropout act_type: str = "silu" # SiLU activation @@ -389,17 +380,16 @@ def __init__(self, in_channels: int, hidden_size: int, heads_num: int, depth: in qk_norm=qk_norm, qk_norm_type=qk_norm_type, qkv_bias=qkv_bias, - attn_mode=attn_mode, ) - def forward(self, x: torch.Tensor, t: torch.LongTensor, txt_lens: list[int]) -> torch.Tensor: + def forward(self, x: torch.Tensor, t: torch.LongTensor, attn_params: AttentionParams) -> torch.Tensor: """ Refine text embeddings with timestep conditioning. Args: x: Input text embeddings [B, L, in_channels]. t: Diffusion timestep [B]. - txt_lens: Valid sequence lengths for each batch element. + attn_params: Attention parameters including sequence lengths. Returns: Refined embeddings [B, L, hidden_size]. @@ -407,13 +397,14 @@ def forward(self, x: torch.Tensor, t: torch.LongTensor, txt_lens: list[int]) -> timestep_aware_representations = self.t_embedder(t) # Compute context-aware representations by averaging valid tokens + txt_lens = attn_params.seqlens # img_len is not used for SingleTokenRefiner context_aware_representations = torch.stack([x[i, : txt_lens[i]].mean(dim=0) for i in range(x.shape[0])], dim=0) # [B, C] context_aware_representations = self.c_embedder(context_aware_representations) c = timestep_aware_representations + context_aware_representations del timestep_aware_representations, context_aware_representations x = self.input_embedder(x) - x = self.individual_token_refiner(x, c, txt_lens) + x = self.individual_token_refiner(x, c, attn_params) return x @@ -564,7 +555,6 @@ class MMDoubleStreamBlock(nn.Module): qk_norm: QK normalization flag (must be True). qk_norm_type: QK normalization type (only "rms" supported). qkv_bias: Use bias in QKV projections. - attn_mode: Attention implementation mode. """ def __init__( @@ -576,7 +566,6 @@ def __init__( qk_norm: bool = True, qk_norm_type: str = "rms", qkv_bias: bool = False, - attn_mode: str = "torch", ): super().__init__() @@ -584,7 +573,6 @@ def __init__( assert qk_norm_type == "rms", "Only RMS normalization supported." assert qk_norm, "QK normalization must be enabled." - self.attn_mode = attn_mode self.heads_num = heads_num head_dim = hidden_size // heads_num mlp_hidden_dim = int(hidden_size * mlp_width_ratio) @@ -626,7 +614,7 @@ def disable_gradient_checkpointing(self): self.cpu_offload_checkpointing = False def _forward( - self, img: torch.Tensor, txt: torch.Tensor, vec: torch.Tensor, freqs_cis: tuple = None, seq_lens: list[int] = None + self, img: torch.Tensor, txt: torch.Tensor, vec: torch.Tensor, freqs_cis: tuple = None, attn_params: AttentionParams = None ) -> Tuple[torch.Tensor, torch.Tensor]: # Extract modulation parameters for image and text streams (img_mod1_shift, img_mod1_scale, img_mod1_gate, img_mod2_shift, img_mod2_scale, img_mod2_gate) = self.img_mod(vec).chunk( @@ -687,7 +675,7 @@ def _forward( qkv = [q, k, v] del q, k, v - attn = attention(qkv, seq_lens=seq_lens, attn_mode=self.attn_mode) + attn = attention(qkv, attn_params=attn_params) del qkv # Split attention outputs back to separate streams @@ -719,16 +707,16 @@ def _forward( return img, txt def forward( - self, img: torch.Tensor, txt: torch.Tensor, vec: torch.Tensor, freqs_cis: tuple = None, seq_lens: list[int] = None + self, img: torch.Tensor, txt: torch.Tensor, vec: torch.Tensor, freqs_cis: tuple = None, attn_params: AttentionParams = None ) -> Tuple[torch.Tensor, torch.Tensor]: if self.gradient_checkpointing and self.training: forward_fn = self._forward if self.cpu_offload_checkpointing: forward_fn = custom_offloading_utils.cpu_offload_wrapper(forward_fn, self.img_attn_qkv.weight.device) - return torch.utils.checkpoint.checkpoint(forward_fn, img, txt, vec, freqs_cis, seq_lens, use_reentrant=False) + return torch.utils.checkpoint.checkpoint(forward_fn, img, txt, vec, freqs_cis, attn_params, use_reentrant=False) else: - return self._forward(img, txt, vec, freqs_cis, seq_lens) + return self._forward(img, txt, vec, freqs_cis, attn_params) class MMSingleStreamBlock(nn.Module): @@ -746,7 +734,6 @@ class MMSingleStreamBlock(nn.Module): qk_norm: QK normalization flag (must be True). qk_norm_type: QK normalization type (only "rms" supported). qk_scale: Attention scaling factor (computed automatically if None). - attn_mode: Attention implementation mode. """ def __init__( @@ -758,7 +745,6 @@ def __init__( qk_norm: bool = True, qk_norm_type: str = "rms", qk_scale: float = None, - attn_mode: str = "torch", ): super().__init__() @@ -766,7 +752,6 @@ def __init__( assert qk_norm_type == "rms", "Only RMS normalization supported." assert qk_norm, "QK normalization must be enabled." - self.attn_mode = attn_mode self.hidden_size = hidden_size self.heads_num = heads_num head_dim = hidden_size // heads_num @@ -805,9 +790,8 @@ def _forward( self, x: torch.Tensor, vec: torch.Tensor, - txt_len: int, freqs_cis: Tuple[torch.Tensor, torch.Tensor] = None, - seq_lens: list[int] = None, + attn_params: AttentionParams = None, ) -> torch.Tensor: # Extract modulation parameters mod_shift, mod_scale, mod_gate = self.modulation(vec).chunk(3, dim=-1) @@ -828,12 +812,10 @@ def _forward( k = self.k_norm(k).to(v) # Separate image and text tokens - img_q, txt_q = q[:, :-txt_len, :, :], q[:, -txt_len:, :, :] + img_q, txt_q = q[:, : attn_params.img_len, :, :], q[:, attn_params.img_len :, :, :] del q - img_k, txt_k = k[:, :-txt_len, :, :], k[:, -txt_len:, :, :] + img_k, txt_k = k[:, : attn_params.img_len, :, :], k[:, attn_params.img_len :, :, :] del k - # img_v, txt_v = v[:, :-txt_len, :, :], v[:, -txt_len:, :, :] - # del v # Apply rotary position embeddings only to image tokens img_q, img_k = apply_rotary_emb(img_q, img_k, freqs_cis, head_first=False) @@ -848,7 +830,7 @@ def _forward( # del img_v, txt_v qkv = [q, k, v] del q, k, v - attn = attention(qkv, seq_lens=seq_lens, attn_mode=self.attn_mode) + attn = attention(qkv, attn_params=attn_params) del qkv # Combine attention and MLP outputs, apply gating @@ -865,18 +847,17 @@ def forward( self, x: torch.Tensor, vec: torch.Tensor, - txt_len: int, freqs_cis: Tuple[torch.Tensor, torch.Tensor] = None, - seq_lens: list[int] = None, + attn_params: AttentionParams = None, ) -> torch.Tensor: if self.gradient_checkpointing and self.training: forward_fn = self._forward if self.cpu_offload_checkpointing: forward_fn = custom_offloading_utils.create_cpu_offloading_wrapper(forward_fn, self.linear1.weight.device) - return torch.utils.checkpoint.checkpoint(forward_fn, x, vec, txt_len, freqs_cis, seq_lens, use_reentrant=False) + return torch.utils.checkpoint.checkpoint(forward_fn, x, vec, freqs_cis, attn_params, use_reentrant=False) else: - return self._forward(x, vec, txt_len, freqs_cis, seq_lens) + return self._forward(x, vec, freqs_cis, attn_params) # endregion From 8f20c379490906ea4db86b068ddf003738ebbd91 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Sat, 20 Sep 2025 20:26:20 +0900 Subject: [PATCH 698/748] feat: add --text_encoder_cpu option to reduce VRAM usage by running text encoders on CPU for training --- docs/hunyuan_image_train_network.md | 8 ++++++-- hunyuan_image_train_network.py | 20 ++++++++++++-------- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/docs/hunyuan_image_train_network.md b/docs/hunyuan_image_train_network.md index 667b4fec1..d31ff867f 100644 --- a/docs/hunyuan_image_train_network.md +++ b/docs/hunyuan_image_train_network.md @@ -184,6 +184,8 @@ The script adds HunyuanImage-2.1 specific arguments. For common arguments (like - Enables training the DiT model in scaled FP8 format. This can significantly reduce VRAM usage (can run with as little as 8GB VRAM when combined with `--blocks_to_swap`), but the training results may vary. This is a newer alternative to the unsupported `--fp8_base` option. * `--fp8_vl` - Use FP8 for the VLM (Qwen2.5-VL) text encoder. +* `--text_encoder_cpu` + - Runs the text encoders on CPU to reduce VRAM usage. This is useful when VRAM is insufficient (less than 12GB). Encoding one text may take a few minutes (depending on CPU). It is highly recommended to use this option with `--cache_text_encoder_outputs_to_disk` to avoid repeated encoding every time training starts. * `--blocks_to_swap=` **[Experimental Feature]** - Setting to reduce VRAM usage by swapping parts of the model (Transformer blocks) between CPU and GPU. Specify the number of blocks to swap as an integer (e.g., `18`). Larger values reduce VRAM usage but decrease training speed. Adjust according to your GPU's VRAM capacity. Can be used with `gradient_checkpointing`. * `--cache_text_encoder_outputs` @@ -450,8 +452,9 @@ python hunyuan_image_minimal_inference.py \ - `--image_size`: Resolution (inference is most stable at 2048x2048) - `--guidance_scale`: CFG scale (default: 3.5) - `--flow_shift`: Flow matching shift parameter (default: 5.0) +- `--text_encoder_cpu`: Run the text encoders on CPU to reduce VRAM usage -`--split_attn` is not supported (since inference is done one at a time). +`--split_attn` is not supported (since inference is done one at a time). `--fp8_vl` is not supported, please use CPU for the text encoder if VRAM is insufficient.
日本語 @@ -464,8 +467,9 @@ python hunyuan_image_minimal_inference.py \ - `--image_size`: 解像度(2048x2048で最も安定) - `--guidance_scale`: CFGスケール(推奨: 3.5) - `--flow_shift`: Flow Matchingシフトパラメータ(デフォルト: 5.0) +- `--text_encoder_cpu`: テキストエンコーダをCPUで実行してVRAM使用量削減 -`--split_attn`はサポートされていません(1件ずつ推論するため)。 +`--split_attn`はサポートされていません(1件ずつ推論するため)。`--fp8_vl`もサポートされていません。VRAMが不足する場合はテキストエンコーダをCPUで実行してください。
diff --git a/hunyuan_image_train_network.py b/hunyuan_image_train_network.py index 6b102a9a3..07e072e7a 100644 --- a/hunyuan_image_train_network.py +++ b/hunyuan_image_train_network.py @@ -350,7 +350,7 @@ def load_target_model(self, args, weight_dtype, accelerator): self.is_swapping_blocks = args.blocks_to_swap is not None and args.blocks_to_swap > 0 vl_dtype = torch.float8_e4m3fn if args.fp8_vl else torch.bfloat16 - vl_device = "cpu" + vl_device = "cpu" # loading to cpu and move to gpu later in cache_text_encoder_outputs_if_needed _, text_encoder_vlm = hunyuan_image_text_encoder.load_qwen2_5_vl( args.text_encoder, dtype=vl_dtype, device=vl_device, disable_mmap=args.disable_mmap_load_safetensors ) @@ -440,6 +440,7 @@ def get_text_encoder_outputs_caching_strategy(self, args): def cache_text_encoder_outputs_if_needed( self, args, accelerator: Accelerator, unet, vae, text_encoders, dataset: train_util.DatasetGroup, weight_dtype ): + vlm_device = "cpu" if args.text_encoder_cpu else accelerator.device if args.cache_text_encoder_outputs: if not args.lowram: # メモリ消費を減らす @@ -448,9 +449,9 @@ def cache_text_encoder_outputs_if_needed( vae.to("cpu") clean_memory_on_device(accelerator.device) - logger.info("move text encoders to gpu") - text_encoders[0].to(accelerator.device) - text_encoders[1].to(accelerator.device) + logger.info(f"move text encoders to {vlm_device} to encode and cache text encoder outputs") + text_encoders[0].to(vlm_device) + text_encoders[1].to(vlm_device) # VLM (bf16) and byT5 (fp16) are used for encoding, so we cannot use autocast here dataset.new_cache_text_encoder_outputs(text_encoders, accelerator) @@ -491,8 +492,8 @@ def cache_text_encoder_outputs_if_needed( vae.to(org_vae_device) else: # Text Encoderから毎回出力を取得するので、GPUに乗せておく - text_encoders[0].to(accelerator.device) - text_encoders[1].to(accelerator.device) + text_encoders[0].to(vlm_device) + text_encoders[1].to(vlm_device) def sample_images(self, accelerator, args, epoch, global_step, device, ae, tokenizer, text_encoder, flux): text_encoders = text_encoder # for compatibility @@ -667,8 +668,11 @@ def setup_parser() -> argparse.ArgumentParser: default=5.0, help="Discrete flow shift for the Euler Discrete Scheduler, default is 5.0. / Euler Discrete Schedulerの離散フローシフト、デフォルトは5.0。", ) - parser.add_argument("--fp8_scaled", action="store_true", help="use scaled fp8 for DiT / DiTにスケーリングされたfp8を使う") - parser.add_argument("--fp8_vl", action="store_true", help="use fp8 for VLM text encoder / VLMテキストエンコーダにfp8を使用する") + parser.add_argument("--fp8_scaled", action="store_true", help="Use scaled fp8 for DiT / DiTにスケーリングされたfp8を使う") + parser.add_argument("--fp8_vl", action="store_true", help="Use fp8 for VLM text encoder / VLMテキストエンコーダにfp8を使用する") + parser.add_argument( + "--text_encoder_cpu", action="store_true", help="Inference on CPU for Text Encoders / テキストエンコーダをCPUで推論する" + ) parser.add_argument( "--vae_enable_tiling", action="store_true", From f41e9e2b587e6700edbd98ddf03624612cfcf445 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Sun, 21 Sep 2025 11:09:37 +0900 Subject: [PATCH 699/748] feat: add vae_chunk_size argument for memory-efficient VAE decoding and processing --- hunyuan_image_minimal_inference.py | 34 ++--- hunyuan_image_train_network.py | 15 +-- library/hunyuan_image_vae.py | 191 ++++++++++++++++++++++++----- library/strategy_base.py | 1 + 4 files changed, 185 insertions(+), 56 deletions(-) diff --git a/hunyuan_image_minimal_inference.py b/hunyuan_image_minimal_inference.py index 850233837..711e911f5 100644 --- a/hunyuan_image_minimal_inference.py +++ b/hunyuan_image_minimal_inference.py @@ -88,7 +88,13 @@ def parse_args() -> argparse.Namespace: parser.add_argument("--fp8_scaled", action="store_true", help="use scaled fp8 for DiT, only for fp8") parser.add_argument("--text_encoder_cpu", action="store_true", help="Inference on CPU for Text Encoders") - parser.add_argument("--vae_enable_tiling", action="store_true", help="Enable tiling for VAE decoding") + parser.add_argument( + "--vae_chunk_size", + type=int, + default=None, # default is None (no chunking) + help="Chunk size for VAE decoding to reduce memory usage. Default is None (no chunking). 16 is recommended if enabled" + " / メモリ使用量を減らすためのVAEデコードのチャンクサイズ。デフォルトはNone(チャンクなし)。有効にする場合は16程度を推奨。", + ) parser.add_argument( "--device", type=str, default=None, help="device to use for inference. If None, use CUDA if available, otherwise use CPU" ) @@ -431,14 +437,10 @@ def merge_lora_weights( # endregion -def decode_latent(vae: HunyuanVAE2D, latent: torch.Tensor, device: torch.device, enable_tiling: bool = False) -> torch.Tensor: +def decode_latent(vae: HunyuanVAE2D, latent: torch.Tensor, device: torch.device) -> torch.Tensor: logger.info(f"Decoding image. Latent shape {latent.shape}, device {device}") vae.to(device) - if enable_tiling: - vae.enable_tiling() - else: - vae.disable_tiling() with torch.no_grad(): latent = latent / vae.scaling_factor # scale latent back to original range pixels = vae.decode(latent.to(device, dtype=vae.dtype)) @@ -807,7 +809,7 @@ def save_output( vae: HunyuanVAE2D, latent: torch.Tensor, device: torch.device, - original_base_names: Optional[List[str]] = None, + original_base_name: Optional[str] = None, ) -> None: """save output @@ -816,7 +818,7 @@ def save_output( vae: VAE model latent: latent tensor device: device to use - original_base_names: original base names (if latents are loaded from files) + original_base_name: original base name (if latents are loaded from files) """ height, width = latent.shape[-2], latent.shape[-1] # BCTHW height *= hunyuan_image_vae.VAE_SCALE_FACTOR @@ -839,14 +841,14 @@ def save_output( 1, vae.latent_channels, height // hunyuan_image_vae.VAE_SCALE_FACTOR, width // hunyuan_image_vae.VAE_SCALE_FACTOR ) - image = decode_latent(vae, latent, device, args.vae_enable_tiling) + image = decode_latent(vae, latent, device) if args.output_type == "images" or args.output_type == "latent_images": # save images - if original_base_names is None or len(original_base_names) == 0: + if original_base_name is None: original_name = "" else: - original_name = f"_{original_base_names[0]}" + original_name = f"_{original_base_name}" save_images(image, args, original_name) @@ -919,7 +921,7 @@ def process_batch_prompts(prompts_data: List[Dict], args: argparse.Namespace) -> # 1. Prepare VAE logger.info("Loading VAE for batch generation...") - vae_for_batch = hunyuan_image_vae.load_vae(args.vae, device="cpu", disable_mmap=True) + vae_for_batch = hunyuan_image_vae.load_vae(args.vae, device="cpu", disable_mmap=True, chunk_size=args.vae_chunk_size) vae_for_batch.eval() all_prompt_args_list = [apply_overrides(args, pd) for pd in prompts_data] # Create all arg instances first @@ -1057,7 +1059,7 @@ def process_interactive(args: argparse.Namespace) -> None: shared_models = load_shared_models(args) shared_models["conds_cache"] = {} # Initialize empty cache for interactive mode - vae = hunyuan_image_vae.load_vae(args.vae, device="cpu", disable_mmap=True) + vae = hunyuan_image_vae.load_vae(args.vae, device="cpu", disable_mmap=True, chunk_size=args.vae_chunk_size) vae.eval() print("Interactive mode. Enter prompts (Ctrl+D or Ctrl+Z (Windows) to exit):") @@ -1185,9 +1187,9 @@ def main(): for i, latent in enumerate(latents_list): args.seed = seeds[i] - vae = hunyuan_image_vae.load_vae(args.vae, device=device, disable_mmap=True) + vae = hunyuan_image_vae.load_vae(args.vae, device=device, disable_mmap=True, chunk_size=args.vae_chunk_size) vae.eval() - save_output(args, vae, latent, device, original_base_names) + save_output(args, vae, latent, device, original_base_names[i]) elif args.from_file: # Batch mode from file @@ -1220,7 +1222,7 @@ def main(): clean_memory_on_device(device) # Save latent and video - vae = hunyuan_image_vae.load_vae(args.vae, device="cpu", disable_mmap=True) + vae = hunyuan_image_vae.load_vae(args.vae, device="cpu", disable_mmap=True, chunk_size=args.vae_chunk_size) vae.eval() save_output(args, vae, latent, device) diff --git a/hunyuan_image_train_network.py b/hunyuan_image_train_network.py index 07e072e7a..228c9dbc1 100644 --- a/hunyuan_image_train_network.py +++ b/hunyuan_image_train_network.py @@ -358,12 +358,11 @@ def load_target_model(self, args, weight_dtype, accelerator): args.byt5, dtype=torch.float16, device=vl_device, disable_mmap=args.disable_mmap_load_safetensors ) - vae = hunyuan_image_vae.load_vae(args.vae, "cpu", disable_mmap=args.disable_mmap_load_safetensors) + vae = hunyuan_image_vae.load_vae( + args.vae, "cpu", disable_mmap=args.disable_mmap_load_safetensors, chunk_size=args.vae_chunk_size + ) vae.to(dtype=torch.float16) # VAE is always fp16 vae.eval() - if args.vae_enable_tiling: - vae.enable_tiling() - logger.info("VAE tiling is enabled") model_version = hunyuan_image_utils.MODEL_VERSION_2_1 return model_version, [text_encoder_vlm, text_encoder_byt5], vae, None # unet will be loaded later @@ -674,9 +673,11 @@ def setup_parser() -> argparse.ArgumentParser: "--text_encoder_cpu", action="store_true", help="Inference on CPU for Text Encoders / テキストエンコーダをCPUで推論する" ) parser.add_argument( - "--vae_enable_tiling", - action="store_true", - help="Enable tiling for VAE decoding and encoding / VAEデコーディングとエンコーディングのタイルを有効にする", + "--vae_chunk_size", + type=int, + default=None, # default is None (no chunking) + help="Chunk size for VAE decoding to reduce memory usage. Default is None (no chunking). 16 is recommended if enabled" + " / メモリ使用量を減らすためのVAEデコードのチャンクサイズ。デフォルトはNone(チャンクなし)。有効にする場合は16程度を推奨。", ) parser.add_argument( diff --git a/library/hunyuan_image_vae.py b/library/hunyuan_image_vae.py index b66854e5e..a6ed1e811 100644 --- a/library/hunyuan_image_vae.py +++ b/library/hunyuan_image_vae.py @@ -29,14 +29,20 @@ def swish(x: Tensor) -> Tensor: class AttnBlock(nn.Module): """Self-attention block using scaled dot-product attention.""" - def __init__(self, in_channels: int): + def __init__(self, in_channels: int, chunk_size: Optional[int] = None): super().__init__() self.in_channels = in_channels self.norm = nn.GroupNorm(num_groups=32, num_channels=in_channels, eps=1e-6, affine=True) - self.q = Conv2d(in_channels, in_channels, kernel_size=1) - self.k = Conv2d(in_channels, in_channels, kernel_size=1) - self.v = Conv2d(in_channels, in_channels, kernel_size=1) - self.proj_out = Conv2d(in_channels, in_channels, kernel_size=1) + if chunk_size is None or chunk_size <= 0: + self.q = Conv2d(in_channels, in_channels, kernel_size=1) + self.k = Conv2d(in_channels, in_channels, kernel_size=1) + self.v = Conv2d(in_channels, in_channels, kernel_size=1) + self.proj_out = Conv2d(in_channels, in_channels, kernel_size=1) + else: + self.q = ChunkedConv2d(in_channels, in_channels, kernel_size=1, chunk_size=chunk_size) + self.k = ChunkedConv2d(in_channels, in_channels, kernel_size=1, chunk_size=chunk_size) + self.v = ChunkedConv2d(in_channels, in_channels, kernel_size=1, chunk_size=chunk_size) + self.proj_out = ChunkedConv2d(in_channels, in_channels, kernel_size=1, chunk_size=chunk_size) def attention(self, x: Tensor) -> Tensor: x = self.norm(x) @@ -56,6 +62,87 @@ def forward(self, x: Tensor) -> Tensor: return x + self.proj_out(self.attention(x)) +class ChunkedConv2d(nn.Conv2d): + """ + Convolutional layer that processes input in chunks to reduce memory usage. + + Parameters + ---------- + chunk_size : int, optional + Size of chunks to process at a time. Default is 64. + """ + + def __init__(self, *args, **kwargs): + if "chunk_size" in kwargs: + self.chunk_size = kwargs.pop("chunk_size", 64) + super().__init__(*args, **kwargs) + assert self.padding_mode == "zeros", "Only 'zeros' padding mode is supported." + assert self.dilation == (1, 1) and self.stride == (1, 1), "Only dilation=1 and stride=1 are supported." + assert self.groups == 1, "Only groups=1 is supported." + assert self.kernel_size[0] == self.kernel_size[1], "Only square kernels are supported." + assert ( + self.padding[0] == self.padding[1] and self.padding[0] == self.kernel_size[0] // 2 + ), "Only kernel_size//2 padding is supported." + self.original_padding = self.padding + self.padding = (0, 0) # We handle padding manually in forward + + def forward(self, x: Tensor) -> Tensor: + # If chunking is not needed, process normally. We chunk only along height dimension. + if self.chunk_size is None or x.shape[1] <= self.chunk_size: + self.padding = self.original_padding + x = super().forward(x) + self.padding = (0, 0) + if torch.cuda.is_available(): + torch.cuda.empty_cache() + return x + + # Process input in chunks to reduce memory usage + org_shape = x.shape + + # If kernel size is not 1, we need to use overlapping chunks + overlap = self.kernel_size[0] // 2 # 1 for kernel size 3 + step = self.chunk_size - overlap + y = torch.zeros((org_shape[0], self.out_channels, org_shape[2], org_shape[3]), dtype=x.dtype, device=x.device) + yi = 0 + i = 0 + while i < org_shape[2]: + si = i if i == 0 else i - overlap + ei = i + self.chunk_size + + # Check last chunk. If remaining part is small, include it in last chunk + if ei > org_shape[2] or ei + step // 4 > org_shape[2]: + ei = org_shape[2] + + chunk = x[:, :, : ei - si, :] + x = x[:, :, ei - si - overlap * 2 :, :] + + # Pad chunk if needed: This is as the original Conv2d with padding + if i == 0: # First chunk + # Pad except bottom + chunk = torch.nn.functional.pad(chunk, (overlap, overlap, overlap, 0), mode="constant", value=0) + elif ei == org_shape[2]: # Last chunk + # Pad except top + chunk = torch.nn.functional.pad(chunk, (overlap, overlap, 0, overlap), mode="constant", value=0) + else: + # Pad left and right only + chunk = torch.nn.functional.pad(chunk, (overlap, overlap), mode="constant", value=0) + + chunk = super().forward(chunk) + y[:, :, yi : yi + chunk.shape[2], :] = chunk + yi += chunk.shape[2] + del chunk + + if ei == org_shape[2]: + break + i += step + + assert yi == org_shape[2], f"yi={yi}, org_shape[2]={org_shape[2]}" + + if torch.cuda.is_available(): + torch.cuda.empty_cache() # This helps reduce peak memory usage, but slows down a bit + return y + + class ResnetBlock(nn.Module): """ Residual block with two convolutions, group normalization, and swish activation. @@ -69,19 +156,29 @@ class ResnetBlock(nn.Module): Number of output channels. """ - def __init__(self, in_channels: int, out_channels: int): + def __init__(self, in_channels: int, out_channels: int, chunk_size: Optional[int] = None): super().__init__() self.in_channels = in_channels self.out_channels = out_channels self.norm1 = nn.GroupNorm(num_groups=32, num_channels=in_channels, eps=1e-6, affine=True) - self.conv1 = Conv2d(in_channels, out_channels, kernel_size=3, stride=1, padding=1) self.norm2 = nn.GroupNorm(num_groups=32, num_channels=out_channels, eps=1e-6, affine=True) - self.conv2 = Conv2d(out_channels, out_channels, kernel_size=3, stride=1, padding=1) + if chunk_size is None or chunk_size <= 0: + self.conv1 = Conv2d(in_channels, out_channels, kernel_size=3, stride=1, padding=1) + self.conv2 = Conv2d(out_channels, out_channels, kernel_size=3, stride=1, padding=1) - # Skip connection projection for channel dimension mismatch - if self.in_channels != self.out_channels: - self.nin_shortcut = Conv2d(in_channels, out_channels, kernel_size=1, stride=1, padding=0) + # Skip connection projection for channel dimension mismatch + if self.in_channels != self.out_channels: + self.nin_shortcut = Conv2d(in_channels, out_channels, kernel_size=1, stride=1, padding=0) + else: + self.conv1 = ChunkedConv2d(in_channels, out_channels, kernel_size=3, stride=1, padding=1, chunk_size=chunk_size) + self.conv2 = ChunkedConv2d(out_channels, out_channels, kernel_size=3, stride=1, padding=1, chunk_size=chunk_size) + + # Skip connection projection for channel dimension mismatch + if self.in_channels != self.out_channels: + self.nin_shortcut = ChunkedConv2d( + in_channels, out_channels, kernel_size=1, stride=1, padding=0, chunk_size=chunk_size + ) def forward(self, x: Tensor) -> Tensor: h = x @@ -113,12 +210,17 @@ class Downsample(nn.Module): Number of output channels (must be divisible by 4). """ - def __init__(self, in_channels: int, out_channels: int): + def __init__(self, in_channels: int, out_channels: int, chunk_size: Optional[int] = None): super().__init__() factor = 4 # 2x2 spatial reduction factor assert out_channels % factor == 0 - self.conv = Conv2d(in_channels, out_channels // factor, kernel_size=3, stride=1, padding=1) + if chunk_size is None or chunk_size <= 0: + self.conv = Conv2d(in_channels, out_channels // factor, kernel_size=3, stride=1, padding=1) + else: + self.conv = ChunkedConv2d( + in_channels, out_channels // factor, kernel_size=3, stride=1, padding=1, chunk_size=chunk_size + ) self.group_size = factor * in_channels // out_channels def forward(self, x: Tensor) -> Tensor: @@ -147,10 +249,15 @@ class Upsample(nn.Module): Number of output channels. """ - def __init__(self, in_channels: int, out_channels: int): + def __init__(self, in_channels: int, out_channels: int, chunk_size: Optional[int] = None): super().__init__() factor = 4 # 2x2 spatial expansion factor - self.conv = Conv2d(in_channels, out_channels * factor, kernel_size=3, stride=1, padding=1) + + if chunk_size is None or chunk_size <= 0: + self.conv = Conv2d(in_channels, out_channels * factor, kernel_size=3, stride=1, padding=1) + else: + self.conv = ChunkedConv2d(in_channels, out_channels * factor, kernel_size=3, stride=1, padding=1, chunk_size=chunk_size) + self.repeats = factor * out_channels // in_channels def forward(self, x: Tensor) -> Tensor: @@ -191,6 +298,7 @@ def __init__( block_out_channels: Tuple[int, ...], num_res_blocks: int, ffactor_spatial: int, + chunk_size: Optional[int] = None, ): super().__init__() assert block_out_channels[-1] % (2 * z_channels) == 0 @@ -199,7 +307,12 @@ def __init__( self.block_out_channels = block_out_channels self.num_res_blocks = num_res_blocks - self.conv_in = Conv2d(in_channels, block_out_channels[0], kernel_size=3, stride=1, padding=1) + if chunk_size is None or chunk_size <= 0: + self.conv_in = Conv2d(in_channels, block_out_channels[0], kernel_size=3, stride=1, padding=1) + else: + self.conv_in = ChunkedConv2d( + in_channels, block_out_channels[0], kernel_size=3, stride=1, padding=1, chunk_size=chunk_size + ) self.down = nn.ModuleList() block_in = block_out_channels[0] @@ -211,7 +324,7 @@ def __init__( # Add residual blocks for this level for _ in range(self.num_res_blocks): - block.append(ResnetBlock(in_channels=block_in, out_channels=block_out)) + block.append(ResnetBlock(in_channels=block_in, out_channels=block_out, chunk_size=chunk_size)) block_in = block_out down = nn.Module() @@ -222,20 +335,23 @@ def __init__( if add_spatial_downsample: assert i_level < len(block_out_channels) - 1 block_out = block_out_channels[i_level + 1] - down.downsample = Downsample(block_in, block_out) + down.downsample = Downsample(block_in, block_out, chunk_size=chunk_size) block_in = block_out self.down.append(down) # Middle blocks with attention self.mid = nn.Module() - self.mid.block_1 = ResnetBlock(in_channels=block_in, out_channels=block_in) - self.mid.attn_1 = AttnBlock(block_in) - self.mid.block_2 = ResnetBlock(in_channels=block_in, out_channels=block_in) + self.mid.block_1 = ResnetBlock(in_channels=block_in, out_channels=block_in, chunk_size=chunk_size) + self.mid.attn_1 = AttnBlock(block_in, chunk_size=chunk_size) + self.mid.block_2 = ResnetBlock(in_channels=block_in, out_channels=block_in, chunk_size=chunk_size) # Output layers self.norm_out = nn.GroupNorm(num_groups=32, num_channels=block_in, eps=1e-6, affine=True) - self.conv_out = Conv2d(block_in, 2 * z_channels, kernel_size=3, stride=1, padding=1) + if chunk_size is None or chunk_size <= 0: + self.conv_out = Conv2d(block_in, 2 * z_channels, kernel_size=3, stride=1, padding=1) + else: + self.conv_out = ChunkedConv2d(block_in, 2 * z_channels, kernel_size=3, stride=1, padding=1, chunk_size=chunk_size) def forward(self, x: Tensor) -> Tensor: # Initial convolution @@ -291,6 +407,7 @@ def __init__( block_out_channels: Tuple[int, ...], num_res_blocks: int, ffactor_spatial: int, + chunk_size: Optional[int] = None, ): super().__init__() assert block_out_channels[0] % z_channels == 0 @@ -300,13 +417,16 @@ def __init__( self.num_res_blocks = num_res_blocks block_in = block_out_channels[0] - self.conv_in = Conv2d(z_channels, block_in, kernel_size=3, stride=1, padding=1) + if chunk_size is None or chunk_size <= 0: + self.conv_in = Conv2d(z_channels, block_in, kernel_size=3, stride=1, padding=1) + else: + self.conv_in = ChunkedConv2d(z_channels, block_in, kernel_size=3, stride=1, padding=1, chunk_size=chunk_size) # Middle blocks with attention self.mid = nn.Module() - self.mid.block_1 = ResnetBlock(in_channels=block_in, out_channels=block_in) - self.mid.attn_1 = AttnBlock(block_in) - self.mid.block_2 = ResnetBlock(in_channels=block_in, out_channels=block_in) + self.mid.block_1 = ResnetBlock(in_channels=block_in, out_channels=block_in, chunk_size=chunk_size) + self.mid.attn_1 = AttnBlock(block_in, chunk_size=chunk_size) + self.mid.block_2 = ResnetBlock(in_channels=block_in, out_channels=block_in, chunk_size=chunk_size) # Build upsampling blocks self.up = nn.ModuleList() @@ -316,7 +436,7 @@ def __init__( # Add residual blocks for this level (extra block for decoder) for _ in range(self.num_res_blocks + 1): - block.append(ResnetBlock(in_channels=block_in, out_channels=block_out)) + block.append(ResnetBlock(in_channels=block_in, out_channels=block_out, chunk_size=chunk_size)) block_in = block_out up = nn.Module() @@ -327,14 +447,17 @@ def __init__( if add_spatial_upsample: assert i_level < len(block_out_channels) - 1 block_out = block_out_channels[i_level + 1] - up.upsample = Upsample(block_in, block_out) + up.upsample = Upsample(block_in, block_out, chunk_size=chunk_size) block_in = block_out self.up.append(up) # Output layers self.norm_out = nn.GroupNorm(num_groups=32, num_channels=block_in, eps=1e-6, affine=True) - self.conv_out = Conv2d(block_in, out_channels, kernel_size=3, stride=1, padding=1) + if chunk_size is None or chunk_size <= 0: + self.conv_out = Conv2d(block_in, out_channels, kernel_size=3, stride=1, padding=1) + else: + self.conv_out = ChunkedConv2d(block_in, out_channels, kernel_size=3, stride=1, padding=1, chunk_size=chunk_size) def forward(self, z: Tensor) -> Tensor: # Initial processing with skip connection @@ -370,7 +493,7 @@ class HunyuanVAE2D(nn.Module): with 32x spatial compression and optional memory-efficient tiling for large images. """ - def __init__(self): + def __init__(self, chunk_size: Optional[int] = None): super().__init__() # Fixed configuration for Hunyuan Image-2.1 @@ -392,6 +515,7 @@ def __init__(self): block_out_channels=block_out_channels, num_res_blocks=layers_per_block, ffactor_spatial=ffactor_spatial, + chunk_size=chunk_size, ) self.decoder = Decoder( @@ -400,6 +524,7 @@ def __init__(self): block_out_channels=list(reversed(block_out_channels)), num_res_blocks=layers_per_block, ffactor_spatial=ffactor_spatial, + chunk_size=chunk_size, ) # Spatial tiling configuration for memory efficiency @@ -617,9 +742,9 @@ def decode(self, z: Tensor): return decoded -def load_vae(vae_path: str, device: torch.device, disable_mmap: bool = False) -> HunyuanVAE2D: - logger.info("Initializing VAE") - vae = HunyuanVAE2D() +def load_vae(vae_path: str, device: torch.device, disable_mmap: bool = False, chunk_size: Optional[int] = None) -> HunyuanVAE2D: + logger.info(f"Initializing VAE with chunk_size={chunk_size}") + vae = HunyuanVAE2D(chunk_size=chunk_size) logger.info(f"Loading VAE from {vae_path}") state_dict = load_safetensors(vae_path, device=device, disable_mmap=disable_mmap) diff --git a/library/strategy_base.py b/library/strategy_base.py index fad79682f..e88d273fc 100644 --- a/library/strategy_base.py +++ b/library/strategy_base.py @@ -626,6 +626,7 @@ def save_latents_to_disk( for key in npz.files: kwargs[key] = npz[key] + # TODO float() is needed if vae is in bfloat16. Remove it if vae is float16. kwargs["latents" + key_reso_suffix] = latents_tensor.float().cpu().numpy() kwargs["original_size" + key_reso_suffix] = np.array(original_size) kwargs["crop_ltrb" + key_reso_suffix] = np.array(crop_ltrb) From e7b8e9a7784c042a83a15aba76d05c8b186db6d8 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Sun, 21 Sep 2025 11:13:26 +0900 Subject: [PATCH 700/748] doc: add --vae_chunk_size option for training and inference --- docs/hunyuan_image_train_network.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/hunyuan_image_train_network.md b/docs/hunyuan_image_train_network.md index d31ff867f..658a7beb5 100644 --- a/docs/hunyuan_image_train_network.md +++ b/docs/hunyuan_image_train_network.md @@ -192,8 +192,8 @@ The script adds HunyuanImage-2.1 specific arguments. For common arguments (like - Caches the outputs of Qwen2.5-VL and byT5. This reduces memory usage. * `--cache_latents`, `--cache_latents_to_disk` - Caches the outputs of VAE. Similar functionality to [sdxl_train_network.py](sdxl_train_network.md). -* `--vae_enable_tiling` - - Enables tiling for VAE encoding and decoding to reduce VRAM usage. +* `--vae_chunk_size=` + - Enables chunked processing in the VAE to reduce VRAM usage during encoding and decoding. Specify the chunk size as an integer (e.g., `16`). Larger values use more VRAM but are faster. Default is `None` (no chunking). This option is useful when VRAM is limited (e.g., 8GB or 12GB).
日本語 @@ -453,6 +453,7 @@ python hunyuan_image_minimal_inference.py \ - `--guidance_scale`: CFG scale (default: 3.5) - `--flow_shift`: Flow matching shift parameter (default: 5.0) - `--text_encoder_cpu`: Run the text encoders on CPU to reduce VRAM usage +- `--vae_chunk_size`: Chunk size for VAE decoding to reduce memory usage (default: None, no chunking). 16 is recommended if enabled. `--split_attn` is not supported (since inference is done one at a time). `--fp8_vl` is not supported, please use CPU for the text encoder if VRAM is insufficient. @@ -468,6 +469,7 @@ python hunyuan_image_minimal_inference.py \ - `--guidance_scale`: CFGスケール(推奨: 3.5) - `--flow_shift`: Flow Matchingシフトパラメータ(デフォルト: 5.0) - `--text_encoder_cpu`: テキストエンコーダをCPUで実行してVRAM使用量削減 +- `--vae_chunk_size`: VAEデコーディングのチャンクサイズ(デフォルト: None、チャンク処理なし)。有効にする場合は16を推奨。 `--split_attn`はサポートされていません(1件ずつ推論するため)。`--fp8_vl`もサポートされていません。VRAMが不足する場合はテキストエンコーダをCPUで実行してください。 From 9621d9d637c69140200a4c0310b2fc95b6a1efd9 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Sun, 21 Sep 2025 12:34:40 +0900 Subject: [PATCH 701/748] feat: add Adaptive Projected Guidance parameters and noise rescaling --- hunyuan_image_minimal_inference.py | 21 ++++++++++++++ library/hunyuan_image_utils.py | 45 ++++++++++++++++++++++++++++-- 2 files changed, 64 insertions(+), 2 deletions(-) diff --git a/hunyuan_image_minimal_inference.py b/hunyuan_image_minimal_inference.py index 711e911f5..d0184feb0 100644 --- a/hunyuan_image_minimal_inference.py +++ b/hunyuan_image_minimal_inference.py @@ -69,6 +69,24 @@ def parse_args() -> argparse.Namespace: parser.add_argument( "--guidance_scale", type=float, default=3.5, help="Guidance scale for classifier free guidance. Default is 3.5." ) + parser.add_argument( + "--apg_start_step_ocr", + type=int, + default=38, + help="Starting step for Adaptive Projected Guidance (APG) for image with text. Default is 38. Should be less than infer_steps, usually near the end.", + ) + parser.add_argument( + "--apg_start_step_general", + type=int, + default=5, + help="Starting step for Adaptive Projected Guidance (APG) for general image. Default is 5. Should be less than infer_steps, usually near the beginning.", + ) + parser.add_argument( + "--guidance_rescale", + type=float, + default=0.0, + help="Guidance rescale factor for steps without APG, 0.0 to 1.0. Default is 0.0 (no rescale)." + ) parser.add_argument("--prompt", type=str, default=None, help="prompt for generation") parser.add_argument("--negative_prompt", type=str, default="", help="negative prompt for generation, default is empty string") parser.add_argument("--image_size", type=int, nargs=2, default=[2048, 2048], help="image size, height and width") @@ -715,8 +733,11 @@ def generate_body( ocr_mask[0], args.guidance_scale, i, + apg_start_step_ocr=args.apg_start_step_ocr, + apg_start_step_general=args.apg_start_step_general, cfg_guider_ocr=cfg_guider_ocr, cfg_guider_general=cfg_guider_general, + guidance_rescale=args.guidance_rescale, ) # ensure latents dtype is consistent diff --git a/library/hunyuan_image_utils.py b/library/hunyuan_image_utils.py index 79756dd7e..a1e7d4e95 100644 --- a/library/hunyuan_image_utils.py +++ b/library/hunyuan_image_utils.py @@ -428,16 +428,52 @@ def __call__(self, pred_cond: torch.Tensor, pred_uncond: Optional[torch.Tensor] return pred +def rescale_noise_cfg(guided_noise, conditional_noise, rescale_factor=0.0): + """ + Rescale guided noise prediction to prevent overexposure and improve image quality. + + This implementation addresses the overexposure issue described in "Common Diffusion Noise + Schedules and Sample Steps are Flawed" (https://arxiv.org/pdf/2305.08891.pdf) (Section 3.4). + The rescaling preserves the statistical properties of the conditional prediction while reducing artifacts. + + Args: + guided_noise (torch.Tensor): Noise prediction from classifier-free guidance. + conditional_noise (torch.Tensor): Noise prediction from conditional model. + rescale_factor (float): Interpolation factor between original and rescaled predictions. + 0.0 = no rescaling, 1.0 = full rescaling. + + Returns: + torch.Tensor: Rescaled noise prediction with reduced overexposure. + """ + if rescale_factor == 0.0: + return guided_noise + + # Calculate standard deviation across spatial dimensions for both predictions + spatial_dims = list(range(1, conditional_noise.ndim)) + conditional_std = conditional_noise.std(dim=spatial_dims, keepdim=True) + guided_std = guided_noise.std(dim=spatial_dims, keepdim=True) + + # Rescale guided noise to match conditional noise statistics + std_ratio = conditional_std / guided_std + rescaled_prediction = guided_noise * std_ratio + + # Interpolate between original and rescaled predictions + final_prediction = rescale_factor * rescaled_prediction + (1.0 - rescale_factor) * guided_noise + + return final_prediction + + def apply_classifier_free_guidance( noise_pred_text: torch.Tensor, noise_pred_uncond: torch.Tensor, is_ocr: bool, guidance_scale: float, step: int, - apg_start_step_ocr: int = 75, - apg_start_step_general: int = 10, + apg_start_step_ocr: int = 38, + apg_start_step_general: int = 5, cfg_guider_ocr: AdaptiveProjectedGuidance = None, cfg_guider_general: AdaptiveProjectedGuidance = None, + guidance_rescale: float = 0.0, ): """ Apply classifier-free guidance with OCR-aware APG for batch_size=1. @@ -471,6 +507,11 @@ def apply_classifier_free_guidance( if step <= apg_start_step: # Standard classifier-free guidance noise_pred = noise_pred_uncond + guidance_scale * (noise_pred_text - noise_pred_uncond) + + if guidance_rescale > 0.0: + # Based on 3.4. in https://arxiv.org/pdf/2305.08891.pdf + noise_pred = rescale_noise_cfg(noise_pred, noise_pred_text, guidance_rescale) + # Initialize APG guider state _ = cfg_guider(noise_pred_text, noise_pred_uncond, step=step) else: From 040d976597fc29416780b54bb9cd85f082e709b3 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Sun, 21 Sep 2025 13:03:14 +0900 Subject: [PATCH 702/748] feat: add guidance rescale options for Adaptive Projected Guidance in inference --- docs/hunyuan_image_train_network.md | 6 ++++++ hunyuan_image_minimal_inference.py | 20 +++++++++++++++++--- library/hunyuan_image_utils.py | 6 ++++-- 3 files changed, 27 insertions(+), 5 deletions(-) diff --git a/docs/hunyuan_image_train_network.md b/docs/hunyuan_image_train_network.md index 658a7beb5..165c3df40 100644 --- a/docs/hunyuan_image_train_network.md +++ b/docs/hunyuan_image_train_network.md @@ -454,6 +454,9 @@ python hunyuan_image_minimal_inference.py \ - `--flow_shift`: Flow matching shift parameter (default: 5.0) - `--text_encoder_cpu`: Run the text encoders on CPU to reduce VRAM usage - `--vae_chunk_size`: Chunk size for VAE decoding to reduce memory usage (default: None, no chunking). 16 is recommended if enabled. +- `--apg_start_step_general` and `--apg_start_step_ocr`: Start steps for APG (Adaptive Projected Guidance) if using APG during inference. `5` and `38` are the official recommended values for 50 steps. If this value exceeds `--infer_steps`, APG will not be applied. +- `--guidance_rescale`: Rescales the guidance for steps before APG starts. Default is `0.0` (no rescaling). If you use this option, a value around `0.5` might be good starting point. +- `--guidance_rescale_apg`: Rescales the guidance for APG. Default is `0.0` (no rescaling). This option doesn't seem to have a large effect, but if you use it, a value around `0.5` might be a good starting point. `--split_attn` is not supported (since inference is done one at a time). `--fp8_vl` is not supported, please use CPU for the text encoder if VRAM is insufficient. @@ -470,6 +473,9 @@ python hunyuan_image_minimal_inference.py \ - `--flow_shift`: Flow Matchingシフトパラメータ(デフォルト: 5.0) - `--text_encoder_cpu`: テキストエンコーダをCPUで実行してVRAM使用量削減 - `--vae_chunk_size`: VAEデコーディングのチャンクサイズ(デフォルト: None、チャンク処理なし)。有効にする場合は16を推奨。 +- `--apg_start_step_general` と `--apg_start_step_ocr`: 推論中にAPGを使用する場合の開始ステップ。50ステップの場合、公式推奨値はそれぞれ5と38です。この値が`--infer_steps`を超えると、APGは適用されません。 +- `--guidance_rescale`: APG開始前のステップに対するガイダンスのリスケーリング。デフォルトは0.0(リスケーリングなし)。使用する場合、0.5程度から始めて調整してください。 +- `--guidance_rescale_apg`: APGに対するガイダンスのリスケーリング。デフォルトは0.0(リスケーリングなし)。このオプションは大きな効果はないようですが、使用する場合は0.5程度から始めて調整してください。 `--split_attn`はサポートされていません(1件ずつ推論するため)。`--fp8_vl`もサポートされていません。VRAMが不足する場合はテキストエンコーダをCPUで実行してください。 diff --git a/hunyuan_image_minimal_inference.py b/hunyuan_image_minimal_inference.py index d0184feb0..3f63270bb 100644 --- a/hunyuan_image_minimal_inference.py +++ b/hunyuan_image_minimal_inference.py @@ -85,7 +85,13 @@ def parse_args() -> argparse.Namespace: "--guidance_rescale", type=float, default=0.0, - help="Guidance rescale factor for steps without APG, 0.0 to 1.0. Default is 0.0 (no rescale)." + help="Guidance rescale factor for steps without APG, 0.0 to 1.0. Default is 0.0 (no rescale).", + ) + parser.add_argument( + "--guidance_rescale_apg", + type=float, + default=0.0, + help="Guidance rescale factor for steps with APG, 0.0 to 1.0. Default is 0.0 (no rescale).", ) parser.add_argument("--prompt", type=str, default=None, help="prompt for generation") parser.add_argument("--negative_prompt", type=str, default="", help="negative prompt for generation, default is empty string") @@ -695,10 +701,18 @@ def generate_body( # Prepare Guider cfg_guider_ocr = hunyuan_image_utils.AdaptiveProjectedGuidance( - guidance_scale=10.0, eta=0.0, adaptive_projected_guidance_rescale=10.0, adaptive_projected_guidance_momentum=-0.5 + guidance_scale=10.0, + eta=0.0, + adaptive_projected_guidance_rescale=10.0, + adaptive_projected_guidance_momentum=-0.5, + guidance_rescale=args.guidance_rescale_apg, ) cfg_guider_general = hunyuan_image_utils.AdaptiveProjectedGuidance( - guidance_scale=10.0, eta=0.0, adaptive_projected_guidance_rescale=10.0, adaptive_projected_guidance_momentum=-0.5 + guidance_scale=10.0, + eta=0.0, + adaptive_projected_guidance_rescale=10.0, + adaptive_projected_guidance_momentum=-0.5, + guidance_rescale=args.guidance_rescale_apg, ) # Denoising loop diff --git a/library/hunyuan_image_utils.py b/library/hunyuan_image_utils.py index a1e7d4e95..3b0d68fdb 100644 --- a/library/hunyuan_image_utils.py +++ b/library/hunyuan_image_utils.py @@ -401,8 +401,6 @@ def __init__( guidance_rescale: float = 0.0, use_original_formulation: bool = False, ): - assert guidance_rescale == 0.0, "guidance_rescale > 0.0 not supported." - self.guidance_scale = guidance_scale self.adaptive_projected_guidance_momentum = adaptive_projected_guidance_momentum self.adaptive_projected_guidance_rescale = adaptive_projected_guidance_rescale @@ -425,6 +423,10 @@ def __call__(self, pred_cond: torch.Tensor, pred_uncond: Optional[torch.Tensor] self.use_original_formulation, ) + if self.guidance_rescale > 0.0: + print(f"Applying guidance rescale with factor {self.guidance_rescale} at step {step}") + pred = rescale_noise_cfg(pred, pred_cond, self.guidance_rescale) + return pred From 3876343fad5b710a11fcc381569927b89ba42904 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Sun, 21 Sep 2025 13:09:38 +0900 Subject: [PATCH 703/748] fix: remove print statement for guidance rescale in AdaptiveProjectedGuidance --- library/hunyuan_image_utils.py | 1 - 1 file changed, 1 deletion(-) diff --git a/library/hunyuan_image_utils.py b/library/hunyuan_image_utils.py index 3b0d68fdb..8e95925ca 100644 --- a/library/hunyuan_image_utils.py +++ b/library/hunyuan_image_utils.py @@ -424,7 +424,6 @@ def __call__(self, pred_cond: torch.Tensor, pred_uncond: Optional[torch.Tensor] ) if self.guidance_rescale > 0.0: - print(f"Applying guidance rescale with factor {self.guidance_rescale} at step {step}") pred = rescale_noise_cfg(pred, pred_cond, self.guidance_rescale) return pred From 806d535ef1f906d0a85a79fe71d11a22e18957dc Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Sun, 21 Sep 2025 13:10:41 +0900 Subject: [PATCH 704/748] fix: block-wise scaling is overwritten by per-tensor scaling --- library/fp8_optimization_utils.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/library/fp8_optimization_utils.py b/library/fp8_optimization_utils.py index 82ec6bfc7..02f99ab6d 100644 --- a/library/fp8_optimization_utils.py +++ b/library/fp8_optimization_utils.py @@ -220,10 +220,6 @@ def quantize_weight( tensor_max = torch.max(torch.abs(tensor).view(-1)) scale = tensor_max / max_value - # Calculate scale factor - scale = torch.max(torch.abs(tensor.flatten())) / max_value - # print(f"Optimizing {key} with scale: {scale}") - # numerical safety scale = torch.clamp(scale, min=1e-8) scale = scale.to(torch.float32) # ensure scale is in float32 for division From e7b89826c5c516ad51a52326eca1ed97d7634d98 Mon Sep 17 00:00:00 2001 From: "Kohya S." <52813779+kohya-ss@users.noreply.github.com> Date: Sun, 21 Sep 2025 13:29:58 +0900 Subject: [PATCH 705/748] Update library/custom_offloading_utils.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- library/custom_offloading_utils.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/library/custom_offloading_utils.py b/library/custom_offloading_utils.py index fe7e59d2b..0681dcdcb 100644 --- a/library/custom_offloading_utils.py +++ b/library/custom_offloading_utils.py @@ -264,10 +264,8 @@ def submit_move_blocks(self, blocks: Union[list[nn.Module], nn.ModuleList], bloc block_idx_to_cpu = block_idx block_idx_to_cuda = self.num_blocks - self.blocks_to_swap + block_idx - # this works for forward-only offloading. move upstream blocks to cuda block_idx_to_cuda = block_idx_to_cuda % self.num_blocks - self._submit_move_blocks(blocks, block_idx_to_cpu, block_idx_to_cuda) From 753c794549ac660cc39b1059605253ce4a575cef Mon Sep 17 00:00:00 2001 From: "Kohya S." <52813779+kohya-ss@users.noreply.github.com> Date: Sun, 21 Sep 2025 13:30:22 +0900 Subject: [PATCH 706/748] Update hunyuan_image_train_network.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- hunyuan_image_train_network.py | 1 - 1 file changed, 1 deletion(-) diff --git a/hunyuan_image_train_network.py b/hunyuan_image_train_network.py index 228c9dbc1..a67e931d5 100644 --- a/hunyuan_image_train_network.py +++ b/hunyuan_image_train_network.py @@ -2,7 +2,6 @@ import copy import gc from typing import Any, Optional, Union, cast -import argparse import os import time from types import SimpleNamespace From 31f7df3b3adcbfdc5174b3d3109dcb64ee17e6c6 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Tue, 23 Sep 2025 18:53:36 +0900 Subject: [PATCH 707/748] doc: add --network_train_unet_only option for HunyuanImage-2.1 training --- docs/hunyuan_image_train_network.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/hunyuan_image_train_network.md b/docs/hunyuan_image_train_network.md index 165c3df40..b2bf113d6 100644 --- a/docs/hunyuan_image_train_network.md +++ b/docs/hunyuan_image_train_network.md @@ -123,6 +123,7 @@ accelerate launch --num_cpu_threads_per_process 1 hunyuan_image_train_network.py --network_module=networks.lora_hunyuan_image \ --network_dim=16 \ --network_alpha=1 \ + --network_train_unet_only \ --learning_rate=1e-4 \ --optimizer_type="AdamW8bit" \ --lr_scheduler="constant" \ @@ -139,6 +140,8 @@ accelerate launch --num_cpu_threads_per_process 1 hunyuan_image_train_network.py --cache_latents ``` +**HunyuanImage-2.1 training does not support LoRA modules for Text Encoders, so `--network_train_unet_only` is required.** +
日本語 @@ -165,6 +168,8 @@ The script adds HunyuanImage-2.1 specific arguments. For common arguments (like #### HunyuanImage-2.1 Training Parameters +* `--network_train_unet_only` **[Required]** + - Specifies that only the DiT model will be trained. LoRA modules for Text Encoders are not supported. * `--discrete_flow_shift=` - Specifies the shift value for the scheduler used in Flow Matching. Default is `5.0`. * `--model_prediction_type=` @@ -181,7 +186,7 @@ The script adds HunyuanImage-2.1 specific arguments. For common arguments (like * `--split_attn` - Splits the batch during attention computation to process one item at a time, reducing VRAM usage by avoiding attention mask computation. Can improve speed when using `torch`. Required when using `xformers` with batch size greater than 1. * `--fp8_scaled` - - Enables training the DiT model in scaled FP8 format. This can significantly reduce VRAM usage (can run with as little as 8GB VRAM when combined with `--blocks_to_swap`), but the training results may vary. This is a newer alternative to the unsupported `--fp8_base` option. + - Enables training the DiT model in scaled FP8 format. This can significantly reduce VRAM usage (can run with as little as 8GB VRAM when combined with `--blocks_to_swap`), but the training results may vary. This is a newer alternative to the unsupported `--fp8_base` option. See [Musubi Tuner's documentation](https://github.com/kohya-ss/musubi-tuner/blob/main/docs/advanced_config.md#fp8-weight-optimization-for-models--%E3%83%A2%E3%83%87%E3%83%AB%E3%81%AE%E9%87%8D%E3%81%BF%E3%81%AEfp8%E3%81%B8%E3%81%AE%E6%9C%80%E9%81%A9%E5%8C%96) for details. * `--fp8_vl` - Use FP8 for the VLM (Qwen2.5-VL) text encoder. * `--text_encoder_cpu` @@ -449,7 +454,7 @@ python hunyuan_image_minimal_inference.py \ **Key Options:** - `--fp8_scaled`: Use scaled FP8 format for reduced VRAM usage during inference - `--blocks_to_swap`: Swap blocks to CPU to reduce VRAM usage -- `--image_size`: Resolution (inference is most stable at 2048x2048) +- `--image_size`: Resolution in **height width** (inference is most stable at 2560x1536, 2304x1792, 2048x2048, 1792x2304, 1536x2560 according to the official repo) - `--guidance_scale`: CFG scale (default: 3.5) - `--flow_shift`: Flow matching shift parameter (default: 5.0) - `--text_encoder_cpu`: Run the text encoders on CPU to reduce VRAM usage From 58df9dffa447fc4e3614baf9bd961fa844f40fd7 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Tue, 23 Sep 2025 18:59:02 +0900 Subject: [PATCH 708/748] doc: update README with HunyuanImage-2.1 LoRA training details and requirements --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index da38a2416..c70dc257d 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,13 @@ If you are using DeepSpeed, please install DeepSpeed with `pip install deepspeed ### Recent Updates +Sep 23, 2025: +- HunyuanImage-2.1 LoRA training is supported. [PR #2198](https://github.com/kohya-ss/sd-scripts/pull/2198) for details. + - Please see [HunyuanImage-2.1 Training](./docs/hunyuan_image_train_network.md) for details. + - __HunyuanImage-2.1 training does not support LoRA modules for Text Encoders, so `--network_train_unet_only` is required.__ + - The training script is `hunyuan_image_train_network.py`. + - This includes changes to `train_network.py`, the base of the training script. Please let us know if you encounter any issues. + Sep 13, 2025: - The loading speed of `.safetensors` files has been improved for SD3, FLUX.1 and Lumina. See [PR #2200](https://github.com/kohya-ss/sd-scripts/pull/2200) for more details. - Model loading can be up to 1.5 times faster. From 4b79d73504b8dbe28fa4b308dd20303457bf0772 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Wed, 24 Sep 2025 21:15:37 +0900 Subject: [PATCH 709/748] fix: update metadata construction to include model_config for flux --- networks/flux_extract_lora.py | 4 +++- networks/flux_merge_lora.py | 22 ++++++++++++++++++++-- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/networks/flux_extract_lora.py b/networks/flux_extract_lora.py index 657287029..f1ae8f965 100644 --- a/networks/flux_extract_lora.py +++ b/networks/flux_extract_lora.py @@ -139,7 +139,9 @@ def str_to_dtype(p): if not no_metadata: title = os.path.splitext(os.path.basename(save_to))[0] - sai_metadata = sai_model_spec.build_metadata(lora_sd, False, False, False, True, False, time.time(), title, flux="dev") + sai_metadata = sai_model_spec.build_metadata( + lora_sd, False, False, False, True, False, time.time(), title, model_config={"flux": "dev"} + ) metadata.update(sai_metadata) save_to_file(save_to, lora_sd, metadata, save_dtype) diff --git a/networks/flux_merge_lora.py b/networks/flux_merge_lora.py index 855c0ed98..45ff67497 100644 --- a/networks/flux_merge_lora.py +++ b/networks/flux_merge_lora.py @@ -619,7 +619,16 @@ def merge(args): merged_from = sai_model_spec.build_merged_from([args.flux_model] + args.models) title = os.path.splitext(os.path.basename(args.save_to))[0] sai_metadata = sai_model_spec.build_metadata( - None, False, False, False, False, False, time.time(), title=title, merged_from=merged_from, flux="dev" + None, + False, + False, + False, + False, + False, + time.time(), + title=title, + merged_from=merged_from, + model_config={"flux": "dev"}, ) if flux_state_dict is not None and len(flux_state_dict) > 0: @@ -647,7 +656,16 @@ def merge(args): merged_from = sai_model_spec.build_merged_from(args.models) title = os.path.splitext(os.path.basename(args.save_to))[0] sai_metadata = sai_model_spec.build_metadata( - flux_state_dict, False, False, False, True, False, time.time(), title=title, merged_from=merged_from, flux="dev" + flux_state_dict, + False, + False, + False, + True, + False, + time.time(), + title=title, + merged_from=merged_from, + model_config={"flux": "dev"}, ) metadata.update(sai_metadata) From 6a826d21b1dfc631a02e517198fac83f793b2f90 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Sun, 28 Sep 2025 18:06:17 +0900 Subject: [PATCH 710/748] feat: add new parameters for sample image inference configuration --- hunyuan_image_train_network.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/hunyuan_image_train_network.py b/hunyuan_image_train_network.py index a67e931d5..9ab351ea2 100644 --- a/hunyuan_image_train_network.py +++ b/hunyuan_image_train_network.py @@ -249,7 +249,15 @@ def encode_prompt(prpt): arg_c_null = None gen_args = SimpleNamespace( - image_size=(height, width), infer_steps=sample_steps, flow_shift=flow_shift, guidance_scale=cfg_scale, fp8=args.fp8_scaled + image_size=(height, width), + infer_steps=sample_steps, + flow_shift=flow_shift, + guidance_scale=cfg_scale, + fp8=args.fp8_scaled, + apg_start_step_ocr=38, + apg_start_step_general=5, + guidance_rescale=0.0, + guidance_rescale_apg=0.0, ) from hunyuan_image_minimal_inference import generate_body # import here to avoid circular import From a0c26a0efac8c56905153bee8870bcfbb6f96731 Mon Sep 17 00:00:00 2001 From: kohya-ss <52813779+kohya-ss@users.noreply.github.com> Date: Sun, 28 Sep 2025 18:21:25 +0900 Subject: [PATCH 711/748] docs: enhance text encoder CPU usage instructions for HunyuanImage-2.1 training --- docs/hunyuan_image_train_network.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/hunyuan_image_train_network.md b/docs/hunyuan_image_train_network.md index b2bf113d6..b0e9cdd98 100644 --- a/docs/hunyuan_image_train_network.md +++ b/docs/hunyuan_image_train_network.md @@ -190,7 +190,7 @@ The script adds HunyuanImage-2.1 specific arguments. For common arguments (like * `--fp8_vl` - Use FP8 for the VLM (Qwen2.5-VL) text encoder. * `--text_encoder_cpu` - - Runs the text encoders on CPU to reduce VRAM usage. This is useful when VRAM is insufficient (less than 12GB). Encoding one text may take a few minutes (depending on CPU). It is highly recommended to use this option with `--cache_text_encoder_outputs_to_disk` to avoid repeated encoding every time training starts. + - Runs the text encoders on CPU to reduce VRAM usage. This is useful when VRAM is insufficient (less than 12GB). Encoding one text may take a few minutes (depending on CPU). It is highly recommended to use this option with `--cache_text_encoder_outputs_to_disk` to avoid repeated encoding every time training starts. **In addition, increasing `--num_cpu_threads_per_process` in the `accelerate launch` command, like `--num_cpu_threads_per_process=8` or `16`, can speed up encoding in some environments.** * `--blocks_to_swap=` **[Experimental Feature]** - Setting to reduce VRAM usage by swapping parts of the model (Transformer blocks) between CPU and GPU. Specify the number of blocks to swap as an integer (e.g., `18`). Larger values reduce VRAM usage but decrease training speed. Adjust according to your GPU's VRAM capacity. Can be used with `gradient_checkpointing`. * `--cache_text_encoder_outputs` From 60bfa97b190b6993c80787f6a02b6dd884186a09 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Mon, 29 Sep 2025 20:52:48 +0900 Subject: [PATCH 712/748] fix: disable_mmap_safetensors not defined in SDXL TI training --- library/sdxl_train_util.py | 25 ++++++++++++++----------- sdxl_train_textual_inversion.py | 8 ++++---- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/library/sdxl_train_util.py b/library/sdxl_train_util.py index f78d94244..5ac9eb3b2 100644 --- a/library/sdxl_train_util.py +++ b/library/sdxl_train_util.py @@ -327,15 +327,18 @@ def diffusers_saver(out_dir): ) -def add_sdxl_training_arguments(parser: argparse.ArgumentParser): - parser.add_argument( - "--cache_text_encoder_outputs", action="store_true", help="cache text encoder outputs / text encoderの出力をキャッシュする" - ) - parser.add_argument( - "--cache_text_encoder_outputs_to_disk", - action="store_true", - help="cache text encoder outputs to disk / text encoderの出力をディスクにキャッシュする", - ) +def add_sdxl_training_arguments(parser: argparse.ArgumentParser, support_text_encoder_caching: bool = True): + if support_text_encoder_caching: + parser.add_argument( + "--cache_text_encoder_outputs", + action="store_true", + help="cache text encoder outputs / text encoderの出力をキャッシュする", + ) + parser.add_argument( + "--cache_text_encoder_outputs_to_disk", + action="store_true", + help="cache text encoder outputs to disk / text encoderの出力をディスクにキャッシュする", + ) parser.add_argument( "--disable_mmap_load_safetensors", action="store_true", @@ -343,7 +346,7 @@ def add_sdxl_training_arguments(parser: argparse.ArgumentParser): ) -def verify_sdxl_training_args(args: argparse.Namespace, supportTextEncoderCaching: bool = True): +def verify_sdxl_training_args(args: argparse.Namespace, support_text_encoder_caching: bool = True): assert not args.v2, "v2 cannot be enabled in SDXL training / SDXL学習ではv2を有効にすることはできません" if args.clip_skip is not None: @@ -366,7 +369,7 @@ def verify_sdxl_training_args(args: argparse.Namespace, supportTextEncoderCachin not hasattr(args, "weighted_captions") or not args.weighted_captions ), "weighted_captions cannot be enabled in SDXL training currently / SDXL学習では今のところweighted_captionsを有効にすることはできません" - if supportTextEncoderCaching: + if support_text_encoder_caching: if args.cache_text_encoder_outputs_to_disk and not args.cache_text_encoder_outputs: args.cache_text_encoder_outputs = True logger.warning( diff --git a/sdxl_train_textual_inversion.py b/sdxl_train_textual_inversion.py index 5df739e28..d8422f083 100644 --- a/sdxl_train_textual_inversion.py +++ b/sdxl_train_textual_inversion.py @@ -5,6 +5,7 @@ import torch from library.device_utils import init_ipex + init_ipex() from library import sdxl_model_util, sdxl_train_util, train_util @@ -19,8 +20,8 @@ def __init__(self): self.is_sdxl = True def assert_extra_args(self, args, train_dataset_group): - super().assert_extra_args(args, train_dataset_group) - sdxl_train_util.verify_sdxl_training_args(args, supportTextEncoderCaching=False) + # super().assert_extra_args(args, train_dataset_group) # do not call parent because it checks reso steps with 64 + sdxl_train_util.verify_sdxl_training_args(args, support_text_encoder_caching=False) train_dataset_group.verify_bucket_reso_steps(32) @@ -122,8 +123,7 @@ def load_weights(self, file): def setup_parser() -> argparse.ArgumentParser: parser = train_textual_inversion.setup_parser() - # don't add sdxl_train_util.add_sdxl_training_arguments(parser): because it only adds text encoder caching - # sdxl_train_util.add_sdxl_training_arguments(parser) + sdxl_train_util.add_sdxl_training_arguments(parser, support_text_encoder_caching=False) return parser From f7fc7ddda2169df25cd780d110499a556df64e8e Mon Sep 17 00:00:00 2001 From: urlesistiana <55231606+urlesistiana@users.noreply.github.com> Date: Mon, 13 Oct 2025 16:08:28 +0800 Subject: [PATCH 713/748] fix #2201: lumina 2 timesteps handling --- library/lumina_train_util.py | 101 +++++++++++++++-------------------- lumina_train.py | 2 +- lumina_train_network.py | 2 +- 3 files changed, 46 insertions(+), 59 deletions(-) diff --git a/library/lumina_train_util.py b/library/lumina_train_util.py index d5d5db05f..244d23601 100644 --- a/library/lumina_train_util.py +++ b/library/lumina_train_util.py @@ -475,11 +475,7 @@ def sample_image_inference( def time_shift(mu: float, sigma: float, t: torch.Tensor): - # the following implementation was original for t=0: clean / t=1: noise - # Since we adopt the reverse, the 1-t operations are needed - t = 1 - t t = math.exp(mu) / (math.exp(mu) + (1 / t - 1) ** sigma) - t = 1 - t return t @@ -802,61 +798,42 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None) -> Tensor weighting = torch.ones_like(sigmas) return weighting - +# mainly copied from flux_train_utils.get_noisy_model_input_and_timesteps def get_noisy_model_input_and_timesteps( - args, noise_scheduler, latents, noise, device, dtype -) -> Tuple[Tensor, Tensor, Tensor]: - """ - Get noisy model input and timesteps. - - Args: - args (argparse.Namespace): Arguments. - noise_scheduler (noise_scheduler): Noise scheduler. - latents (Tensor): Latents. - noise (Tensor): Latent noise. - device (torch.device): Device. - dtype (torch.dtype): Data type - - Return: - Tuple[Tensor, Tensor, Tensor]: - noisy model input - timesteps - sigmas - """ + args, noise_scheduler, latents: torch.Tensor, noise: torch.Tensor, device, dtype +) -> Tuple[torch.Tensor, torch.Tensor, torch.Tensor]: bsz, _, h, w = latents.shape - sigmas = None - + assert bsz > 0, "Batch size not large enough" + num_timesteps = noise_scheduler.config.num_train_timesteps if args.timestep_sampling == "uniform" or args.timestep_sampling == "sigmoid": - # Simple random t-based noise sampling + # Simple random sigma-based noise sampling if args.timestep_sampling == "sigmoid": # https://github.com/XLabs-AI/x-flux/tree/main - t = torch.sigmoid(args.sigmoid_scale * torch.randn((bsz,), device=device)) + sigmas = torch.sigmoid(args.sigmoid_scale * torch.randn((bsz,), device=device)) else: - t = torch.rand((bsz,), device=device) + sigmas = torch.rand((bsz,), device=device) - timesteps = t * 1000.0 - t = t.view(-1, 1, 1, 1) - noisy_model_input = (1 - t) * noise + t * latents + timesteps = sigmas * num_timesteps elif args.timestep_sampling == "shift": shift = args.discrete_flow_shift - logits_norm = torch.randn(bsz, device=device) - logits_norm = ( - logits_norm * args.sigmoid_scale - ) # larger scale for more uniform sampling - timesteps = logits_norm.sigmoid() - timesteps = (timesteps * shift) / (1 + (shift - 1) * timesteps) - - t = timesteps.view(-1, 1, 1, 1) - timesteps = timesteps * 1000.0 - noisy_model_input = (1 - t) * noise + t * latents + sigmas = torch.randn(bsz, device=device) + sigmas = sigmas * args.sigmoid_scale # larger scale for more uniform sampling + sigmas = sigmas.sigmoid() + sigmas = (sigmas * shift) / (1 + (shift - 1) * sigmas) + timesteps = sigmas * num_timesteps elif args.timestep_sampling == "nextdit_shift": - t = torch.rand((bsz,), device=device) + sigmas = torch.rand((bsz,), device=device) mu = get_lin_function(y1=0.5, y2=1.15)((h // 2) * (w // 2)) - t = time_shift(mu, 1.0, t) - - timesteps = t * 1000.0 - t = t.view(-1, 1, 1, 1) - noisy_model_input = (1 - t) * noise + t * latents + sigmas = time_shift(mu, 1.0, sigmas) + + timesteps = sigmas * num_timesteps + elif args.timestep_sampling == "flux_shift": + sigmas = torch.randn(bsz, device=device) + sigmas = sigmas * args.sigmoid_scale # larger scale for more uniform sampling + sigmas = sigmas.sigmoid() + mu = get_lin_function(y1=0.5, y2=1.15)((h // 2) * (w // 2)) # we are pre-packed so must adjust for packed size + sigmas = time_shift(mu, 1.0, sigmas) + timesteps = sigmas * num_timesteps else: # Sample a random timestep for each image # for weighting schemes where we sample timesteps non-uniformly @@ -867,14 +844,24 @@ def get_noisy_model_input_and_timesteps( logit_std=args.logit_std, mode_scale=args.mode_scale, ) - indices = (u * noise_scheduler.config.num_train_timesteps).long() + indices = (u * num_timesteps).long() timesteps = noise_scheduler.timesteps[indices].to(device=device) + sigmas = get_sigmas(noise_scheduler, timesteps, device, n_dim=latents.ndim, dtype=dtype) - # Add noise according to flow matching. - sigmas = get_sigmas( - noise_scheduler, timesteps, device, n_dim=latents.ndim, dtype=dtype - ) - noisy_model_input = sigmas * latents + (1.0 - sigmas) * noise + # Broadcast sigmas to latent shape + sigmas = sigmas.view(-1, 1, 1, 1) + + # Add noise to the latents according to the noise magnitude at each timestep + # (this is the forward diffusion process) + if args.ip_noise_gamma: + xi = torch.randn_like(latents, device=latents.device, dtype=dtype) + if args.ip_noise_gamma_random_strength: + ip_noise_gamma = torch.rand(1, device=latents.device, dtype=dtype) * args.ip_noise_gamma + else: + ip_noise_gamma = args.ip_noise_gamma + noisy_model_input = (1.0 - sigmas) * latents + sigmas * (noise + ip_noise_gamma * xi) + else: + noisy_model_input = (1.0 - sigmas) * latents + sigmas * noise return noisy_model_input.to(dtype), timesteps.to(dtype), sigmas @@ -1049,10 +1036,10 @@ def add_lumina_train_arguments(parser: argparse.ArgumentParser): parser.add_argument( "--timestep_sampling", - choices=["sigma", "uniform", "sigmoid", "shift", "nextdit_shift"], + choices=["sigma", "uniform", "sigmoid", "shift", "nextdit_shift", "flux_shift"], default="shift", - help="Method to sample timesteps: sigma-based, uniform random, sigmoid of random normal, shift of sigmoid and NextDIT.1 shifting. Default is 'shift'." - " / タイムステップをサンプリングする方法:sigma、random uniform、random normalのsigmoid、sigmoidのシフト、NextDIT.1のシフト。デフォルトは'shift'です。", + help="Method to sample timesteps: sigma-based, uniform random, sigmoid of random normal, shift of sigmoid, Flux.1 and NextDIT.1 shifting. Default is 'shift'." + " / タイムステップをサンプリングする方法:sigma、random uniform、random normalのsigmoid、sigmoidのシフト、Flux.1、NextDIT.1のシフト。デフォルトは'shift'です。", ) parser.add_argument( "--sigmoid_scale", diff --git a/lumina_train.py b/lumina_train.py index ca60c6582..580b170c4 100644 --- a/lumina_train.py +++ b/lumina_train.py @@ -743,7 +743,7 @@ def grad_hook(parameter: torch.Tensor): # YiYi notes: divide it by 1000 for now because we scale it by 1000 in the transformer model (we should not keep it but I want to keep the inputs same for the model for testing) model_pred = nextdit( x=noisy_model_input, # image latents (B, C, H, W) - t=timesteps / 1000, # timesteps需要除以1000来匹配模型预期 + t=1 - timesteps / 1000, # timesteps需要除以1000来匹配模型预期 cap_feats=gemma2_hidden_states, # Gemma2的hidden states作为caption features cap_mask=gemma2_attn_mask.to( dtype=torch.int32 diff --git a/lumina_train_network.py b/lumina_train_network.py index b08e31432..ad29d2f2c 100644 --- a/lumina_train_network.py +++ b/lumina_train_network.py @@ -268,7 +268,7 @@ def call_dit(img, gemma2_hidden_states, gemma2_attn_mask, timesteps): # NextDiT forward expects (x, t, cap_feats, cap_mask) model_pred = dit( x=img, # image latents (B, C, H, W) - t=timesteps / 1000, # timesteps需要除以1000来匹配模型预期 + t=1 - timesteps / 1000, # timesteps需要除以1000来匹配模型预期 cap_feats=gemma2_hidden_states, # Gemma2的hidden states作为caption features cap_mask=gemma2_attn_mask.to(dtype=torch.int32), # Gemma2的attention mask ) From a33cad714edf97749d817bb4f0d141f3104ec223 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Wed, 15 Oct 2025 21:57:11 +0900 Subject: [PATCH 714/748] fix: error on batch generation closes #2209 --- hunyuan_image_minimal_inference.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hunyuan_image_minimal_inference.py b/hunyuan_image_minimal_inference.py index 3f63270bb..8c14cf6f1 100644 --- a/hunyuan_image_minimal_inference.py +++ b/hunyuan_image_minimal_inference.py @@ -1001,7 +1001,7 @@ def process_batch_prompts(prompts_data: List[Dict], args: argparse.Namespace) -> all_precomputed_text_data.append(text_data) # Models should be removed from device after prepare_text_inputs - del tokenizer_batch, text_encoder_batch, temp_shared_models_txt, conds_cache_batch + del tokenizer_vlm, text_encoder_vlm_batch, tokenizer_byt5, text_encoder_byt5_batch, temp_shared_models_txt, conds_cache_batch gc.collect() # Force cleanup of Text Encoder from GPU memory clean_memory_on_device(device) @@ -1075,7 +1075,7 @@ def process_batch_prompts(prompts_data: List[Dict], args: argparse.Namespace) -> # save_output expects latent to be [BCTHW] or [CTHW]. generate returns [BCTHW] (batch size 1). # latent[0] is correct if generate returns it with batch dim. # The latent from generate is (1, C, T, H, W) - save_output(current_args, vae_for_batch, latent[0], device) # Pass vae_for_batch + save_output(current_args, vae_for_batch, latent, device) # Pass vae_for_batch vae_for_batch.to("cpu") # Move VAE back to CPU From 872124c5e147db30c47d63055ebccc00b7f49f0c Mon Sep 17 00:00:00 2001 From: woctordho Date: Mon, 17 Nov 2025 09:20:08 +0800 Subject: [PATCH 715/748] Use svd_lowrank for large matrices in resize_lora.py --- networks/resize_lora.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/networks/resize_lora.py b/networks/resize_lora.py index 183264373..5dd1132fe 100644 --- a/networks/resize_lora.py +++ b/networks/resize_lora.py @@ -87,7 +87,14 @@ def index_sv_ratio(S, target): # Modified from Kohaku-blueleaf's extract/merge functions def extract_conv(weight, lora_rank, dynamic_method, dynamic_param, device, scale=1): out_size, in_size, kernel_size, _ = weight.size() - U, S, Vh = torch.linalg.svd(weight.reshape(out_size, -1).to(device)) + weight = weight.reshape(out_size, -1) + _in_size = in_size * kernel_size * kernel_size + + if out_size > 2048 and _in_size > 2048: + U, S, V = torch.svd_lowrank(weight.to(device), q=min(2 * lora_rank, out_size, _in_size)) + Vh = V.T + else: + U, S, Vh = torch.linalg.svd(weight.to(device)) param_dict = rank_resize(S, lora_rank, dynamic_method, dynamic_param, scale) lora_rank = param_dict["new_rank"] @@ -106,7 +113,11 @@ def extract_conv(weight, lora_rank, dynamic_method, dynamic_param, device, scale def extract_linear(weight, lora_rank, dynamic_method, dynamic_param, device, scale=1): out_size, in_size = weight.size() - U, S, Vh = torch.linalg.svd(weight.to(device)) + if out_size > 2048 and in_size > 2048: + U, S, V = torch.svd_lowrank(weight.to(device), q=min(2 * lora_rank, out_size, in_size)) + Vh = V.T + else: + U, S, Vh = torch.linalg.svd(weight.to(device)) param_dict = rank_resize(S, lora_rank, dynamic_method, dynamic_param, scale) lora_rank = param_dict["new_rank"] From 95a65b89a5f5a0eb8af4ec15520318759fcc61bf Mon Sep 17 00:00:00 2001 From: kozistr Date: Sun, 21 Dec 2025 15:53:47 +0900 Subject: [PATCH 716/748] build(deps): bump pytorch-optimizer to v3.9.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 624978b49..ce1ebd8f1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,7 +9,7 @@ einops==0.7.0 bitsandbytes lion-pytorch==0.2.3 schedulefree==1.4 -pytorch-optimizer==3.7.0 +pytorch-optimizer==3.9.0 prodigy-plus-schedule-free==1.9.2 prodigyopt==1.1.2 tensorboard From c4be615f699585831ac5563fc9db33c211dc0768 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Sun, 18 Jan 2026 15:05:57 +0900 Subject: [PATCH 717/748] fix(tests): add ip_noise_gamma args for MockArgs in pytest --- tests/library/test_lumina_train_util.py | 71 ++++++++++--------------- 1 file changed, 29 insertions(+), 42 deletions(-) diff --git a/tests/library/test_lumina_train_util.py b/tests/library/test_lumina_train_util.py index bcf448c89..2d946bd7d 100644 --- a/tests/library/test_lumina_train_util.py +++ b/tests/library/test_lumina_train_util.py @@ -19,11 +19,7 @@ def test_batchify(): # Test case with no batch size specified - prompts = [ - {"prompt": "test1"}, - {"prompt": "test2"}, - {"prompt": "test3"} - ] + prompts = [{"prompt": "test1"}, {"prompt": "test2"}, {"prompt": "test3"}] batchified = list(batchify(prompts)) assert len(batchified) == 1 assert len(batchified[0]) == 3 @@ -38,7 +34,7 @@ def test_batchify(): prompts_with_params = [ {"prompt": "test1", "width": 512, "height": 512}, {"prompt": "test2", "width": 512, "height": 512}, - {"prompt": "test3", "width": 1024, "height": 1024} + {"prompt": "test3", "width": 1024, "height": 1024}, ] batchified_params = list(batchify(prompts_with_params)) assert len(batchified_params) == 2 @@ -61,7 +57,7 @@ def test_time_shift(): # Test with edge cases t_edges = torch.tensor([0.0, 1.0]) result_edges = time_shift(1.0, 1.0, t_edges) - + # Check that results are bounded within [0, 1] assert torch.all(result_edges >= 0) assert torch.all(result_edges <= 1) @@ -93,10 +89,7 @@ def test_get_schedule(): # Test with shift disabled unshifted_schedule = get_schedule(num_steps=10, image_seq_len=256, shift=False) - assert torch.allclose( - torch.tensor(unshifted_schedule), - torch.linspace(1, 1/10, 10) - ) + assert torch.allclose(torch.tensor(unshifted_schedule), torch.linspace(1, 1 / 10, 10)) def test_compute_density_for_timestep_sampling(): @@ -106,16 +99,12 @@ def test_compute_density_for_timestep_sampling(): assert torch.all((uniform_samples >= 0) & (uniform_samples <= 1)) # Test logit normal sampling - logit_normal_samples = compute_density_for_timestep_sampling( - "logit_normal", batch_size=100, logit_mean=0.0, logit_std=1.0 - ) + logit_normal_samples = compute_density_for_timestep_sampling("logit_normal", batch_size=100, logit_mean=0.0, logit_std=1.0) assert len(logit_normal_samples) == 100 assert torch.all((logit_normal_samples >= 0) & (logit_normal_samples <= 1)) # Test mode sampling - mode_samples = compute_density_for_timestep_sampling( - "mode", batch_size=100, mode_scale=0.5 - ) + mode_samples = compute_density_for_timestep_sampling("mode", batch_size=100, mode_scale=0.5) assert len(mode_samples) == 100 assert torch.all((mode_samples >= 0) & (mode_samples <= 1)) @@ -123,20 +112,20 @@ def test_compute_density_for_timestep_sampling(): def test_get_sigmas(): # Create a mock noise scheduler scheduler = FlowMatchEulerDiscreteScheduler(num_train_timesteps=1000) - device = torch.device('cpu') - + device = torch.device("cpu") + # Test with default parameters timesteps = torch.tensor([100, 500, 900]) sigmas = get_sigmas(scheduler, timesteps, device) - + # Check shape and basic properties assert sigmas.shape[0] == 3 assert torch.all(sigmas >= 0) - + # Test with different n_dim sigmas_4d = get_sigmas(scheduler, timesteps, device, n_dim=4) assert sigmas_4d.ndim == 4 - + # Test with different dtype sigmas_float16 = get_sigmas(scheduler, timesteps, device, dtype=torch.float16) assert sigmas_float16.dtype == torch.float16 @@ -145,17 +134,17 @@ def test_get_sigmas(): def test_compute_loss_weighting_for_sd3(): # Prepare some mock sigmas sigmas = torch.tensor([0.1, 0.5, 1.0]) - + # Test sigma_sqrt weighting sqrt_weighting = compute_loss_weighting_for_sd3("sigma_sqrt", sigmas) assert torch.allclose(sqrt_weighting, 1 / (sigmas**2), rtol=1e-5) - + # Test cosmap weighting cosmap_weighting = compute_loss_weighting_for_sd3("cosmap", sigmas) bot = 1 - 2 * sigmas + 2 * sigmas**2 expected_cosmap = 2 / (math.pi * bot) assert torch.allclose(cosmap_weighting, expected_cosmap, rtol=1e-5) - + # Test default weighting default_weighting = compute_loss_weighting_for_sd3("unknown", sigmas) assert torch.all(default_weighting == 1) @@ -166,22 +155,22 @@ def test_apply_model_prediction_type(): class MockArgs: model_prediction_type = "raw" weighting_scheme = "sigma_sqrt" - + args = MockArgs() model_pred = torch.tensor([1.0, 2.0, 3.0]) noisy_model_input = torch.tensor([0.5, 1.0, 1.5]) sigmas = torch.tensor([0.1, 0.5, 1.0]) - + # Test raw prediction type raw_pred, raw_weighting = apply_model_prediction_type(args, model_pred, noisy_model_input, sigmas) assert torch.all(raw_pred == model_pred) assert raw_weighting is None - + # Test additive prediction type args.model_prediction_type = "additive" additive_pred, _ = apply_model_prediction_type(args, model_pred, noisy_model_input, sigmas) assert torch.all(additive_pred == model_pred + noisy_model_input) - + # Test sigma scaled prediction type args.model_prediction_type = "sigma_scaled" sigma_scaled_pred, sigma_weighting = apply_model_prediction_type(args, model_pred, noisy_model_input, sigmas) @@ -192,12 +181,12 @@ class MockArgs: def test_retrieve_timesteps(): # Create a mock scheduler scheduler = FlowMatchEulerDiscreteScheduler(num_train_timesteps=1000) - + # Test with num_inference_steps timesteps, n_steps = retrieve_timesteps(scheduler, num_inference_steps=50) assert len(timesteps) == 50 assert n_steps == 50 - + # Test error handling with simultaneous timesteps and sigmas with pytest.raises(ValueError): retrieve_timesteps(scheduler, timesteps=[1, 2, 3], sigmas=[0.1, 0.2, 0.3]) @@ -210,32 +199,30 @@ class MockArgs: weighting_scheme = "sigma_sqrt" sigmoid_scale = 1.0 discrete_flow_shift = 6.0 + ip_noise_gamma = True + ip_noise_gamma_random_strength = 0.01 args = MockArgs() scheduler = FlowMatchEulerDiscreteScheduler(num_train_timesteps=1000) - device = torch.device('cpu') - + device = torch.device("cpu") + # Prepare mock latents and noise latents = torch.randn(4, 16, 64, 64) noise = torch.randn_like(latents) - + # Test uniform sampling - noisy_input, timesteps, sigmas = get_noisy_model_input_and_timesteps( - args, scheduler, latents, noise, device, torch.float32 - ) - + noisy_input, timesteps, sigmas = get_noisy_model_input_and_timesteps(args, scheduler, latents, noise, device, torch.float32) + # Validate output shapes and types assert noisy_input.shape == latents.shape assert timesteps.shape[0] == latents.shape[0] assert noisy_input.dtype == torch.float32 assert timesteps.dtype == torch.float32 - + # Test different sampling methods sampling_methods = ["sigmoid", "shift", "nextdit_shift"] for method in sampling_methods: args.timestep_sampling = method - noisy_input, timesteps, _ = get_noisy_model_input_and_timesteps( - args, scheduler, latents, noise, device, torch.float32 - ) + noisy_input, timesteps, _ = get_noisy_model_input_and_timesteps(args, scheduler, latents, noise, device, torch.float32) assert noisy_input.shape == latents.shape assert timesteps.shape[0] == latents.shape[0] From c6bc632ec605daa7f724e71e4922310e3af19451 Mon Sep 17 00:00:00 2001 From: "Kohya S." <52813779+kohya-ss@users.noreply.github.com> Date: Sun, 18 Jan 2026 15:17:07 +0900 Subject: [PATCH 718/748] fix: metadata dataset degradation and make it work (#2186) * fix: support dataset with metadata * feat: support another tagger model * fix: improve handling of image size and caption/tag processing in FineTuningDataset * fix: enhance metadata loading to support JSONL format in FineTuningDataset * feat: enhance image loading and processing in ImageLoadingPrepDataset with batch support and output options * fix: improve image path handling and memory management in dataset classes * Update finetune/tag_images_by_wd14_tagger.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix: add return type annotation for process_tag_replacement function and ensure tags are returned * feat: add artist category threshold for tagging * doc: add comment for clarification --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- docs/wd14_tagger_README-en.md | 6 +- docs/wd14_tagger_README-ja.md | 6 +- finetune/tag_images_by_wd14_tagger.py | 619 ++++++++++++++++++-------- library/train_util.py | 263 +++++------ 4 files changed, 565 insertions(+), 329 deletions(-) diff --git a/docs/wd14_tagger_README-en.md b/docs/wd14_tagger_README-en.md index 34f448823..48a4e9df4 100644 --- a/docs/wd14_tagger_README-en.md +++ b/docs/wd14_tagger_README-en.md @@ -5,9 +5,11 @@ This document is based on the information from this github page (https://github. Using onnx for inference is recommended. Please install onnx with the following command: ```powershell -pip install onnx==1.15.0 onnxruntime-gpu==1.17.1 +pip install onnx onnxruntime-gpu ``` +See [the official documentation](https://onnxruntime.ai/docs/install/#python-installs) for more details. + The model weights will be automatically downloaded from Hugging Face. # Usage @@ -49,6 +51,8 @@ python tag_images_by_wd14_tagger.py --onnx --repo_id SmilingWolf/wd-swinv2-tagge # Options +All options can be checked with `python tag_images_by_wd14_tagger.py --help`. + ## General Options - `--onnx`: Use ONNX for inference. If not specified, TensorFlow will be used. If using TensorFlow, please install TensorFlow separately. diff --git a/docs/wd14_tagger_README-ja.md b/docs/wd14_tagger_README-ja.md index 58e9ede95..49d14636c 100644 --- a/docs/wd14_tagger_README-ja.md +++ b/docs/wd14_tagger_README-ja.md @@ -5,9 +5,11 @@ onnx を用いた推論を推奨します。以下のコマンドで onnx をインストールしてください。 ```powershell -pip install onnx==1.15.0 onnxruntime-gpu==1.17.1 +pip install onnx onnxruntime-gpu ``` +詳細は[公式ドキュメント](https://onnxruntime.ai/docs/install/#python-installs)をご覧ください。 + モデルの重みはHugging Faceから自動的にダウンロードしてきます。 # 使い方 @@ -48,6 +50,8 @@ python tag_images_by_wd14_tagger.py --onnx --repo_id SmilingWolf/wd-swinv2-tagge # オプション +全てオプションは `python tag_images_by_wd14_tagger.py --help` で確認できます。 + ## 一般オプション - `--onnx` : ONNX を使用して推論します。指定しない場合は TensorFlow を使用します。TensorFlow 使用時は別途 TensorFlow をインストールしてください。 diff --git a/finetune/tag_images_by_wd14_tagger.py b/finetune/tag_images_by_wd14_tagger.py index 07a6510e6..b4019819e 100644 --- a/finetune/tag_images_by_wd14_tagger.py +++ b/finetune/tag_images_by_wd14_tagger.py @@ -1,9 +1,11 @@ import argparse import csv +import json +import math import os from pathlib import Path +from typing import Optional -import cv2 import numpy as np import torch from huggingface_hub import hf_hub_download @@ -29,8 +31,22 @@ SUB_DIR_FILES = ["variables.data-00000-of-00001", "variables.index"] CSV_FILE = FILES[-1] +TAG_JSON_FILE = "tag_mapping.json" + + +def preprocess_image(image: Image.Image) -> np.ndarray: + # If image has transparency, convert to RGBA. If not, convert to RGB + if image.mode in ("RGBA", "LA") or "transparency" in image.info: + image = image.convert("RGBA") + elif image.mode != "RGB": + image = image.convert("RGB") + + # If image is RGBA, combine with white background + if image.mode == "RGBA": + background = Image.new("RGB", image.size, (255, 255, 255)) + background.paste(image, mask=image.split()[3]) # Use alpha channel as mask + image = background -def preprocess_image(image): image = np.array(image) image = image[:, :, ::-1] # RGB->BGR @@ -49,67 +65,103 @@ def preprocess_image(image): class ImageLoadingPrepDataset(torch.utils.data.Dataset): - def __init__(self, image_paths): - self.images = image_paths + def __init__(self, image_paths: list[str], batch_size: int): + self.image_paths = image_paths + self.batch_size = batch_size def __len__(self): - return len(self.images) + return math.ceil(len(self.image_paths) / self.batch_size) - def __getitem__(self, idx): - img_path = str(self.images[idx]) + def __getitem__(self, batch_index: int) -> tuple[str, np.ndarray, tuple[int, int]]: + image_index_start = batch_index * self.batch_size + image_index_end = min((batch_index + 1) * self.batch_size, len(self.image_paths)) - try: - image = Image.open(img_path).convert("RGB") - image = preprocess_image(image) - # tensor = torch.tensor(image) # これ Tensor に変換する必要ないな……(;・∀・) - except Exception as e: - logger.error(f"Could not load image path / 画像を読み込めません: {img_path}, error: {e}") - return None - - return (image, img_path) - - -def collate_fn_remove_corrupted(batch): - """Collate function that allows to remove corrupted examples in the - dataloader. It expects that the dataloader returns 'None' when that occurs. - The 'None's in the batch are removed. - """ - # Filter out all the Nones (corrupted examples) - batch = list(filter(lambda x: x is not None, batch)) + batch_image_paths = [] + images = [] + image_sizes = [] + for idx in range(image_index_start, image_index_end): + img_path = str(self.image_paths[idx]) + + try: + image = Image.open(img_path) + image_size = image.size + image = preprocess_image(image) + + batch_image_paths.append(img_path) + images.append(image) + image_sizes.append(image_size) + except Exception as e: + logger.error(f"Could not load image path / 画像を読み込めません: {img_path}, error: {e}") + + images = np.stack(images) if len(images) > 0 else np.zeros((0, IMAGE_SIZE, IMAGE_SIZE, 3)) + return batch_image_paths, images, image_sizes + + +def collate_fn_no_op(batch): + """Collate function that does nothing and returns the batch as is.""" return batch def main(args): # model location is model_dir + repo_id - # repo id may be like "user/repo" or "user/repo/branch", so we need to remove slash - model_location = os.path.join(args.model_dir, args.repo_id.replace("/", "_")) + # given repo_id may be "namespace/repo_name" or "namespace/repo_name/subdir" + # so we split it to "namespace/reponame" and "subdir" + tokens = args.repo_id.split("/") + + if len(tokens) > 2: + repo_id = "/".join(tokens[:2]) + subdir = "/".join(tokens[2:]) + model_location = os.path.join(args.model_dir, repo_id.replace("/", "_"), subdir) + onnx_model_name = "model_optimized.onnx" + default_format = False + else: + repo_id = args.repo_id + subdir = None + model_location = os.path.join(args.model_dir, repo_id.replace("/", "_")) + onnx_model_name = "model.onnx" + default_format = True - # hf_hub_downloadをそのまま使うとsymlink関係で問題があるらしいので、キャッシュディレクトリとforce_filenameを指定してなんとかする - # depreacatedの警告が出るけどなくなったらその時 # https://github.com/toriato/stable-diffusion-webui-wd14-tagger/issues/22 + if not os.path.exists(model_location) or args.force_download: os.makedirs(args.model_dir, exist_ok=True) logger.info(f"downloading wd14 tagger model from hf_hub. id: {args.repo_id}") - files = FILES - if args.onnx: - files = ["selected_tags.csv"] - files += FILES_ONNX - else: - for file in SUB_DIR_FILES: + + if subdir is None: + # SmilingWolf structure + files = FILES + if args.onnx: + files = ["selected_tags.csv"] + files += FILES_ONNX + else: + for file in SUB_DIR_FILES: + hf_hub_download( + repo_id=args.repo_id, + filename=file, + subfolder=SUB_DIR, + local_dir=os.path.join(model_location, SUB_DIR), + force_download=True, + ) + + for file in files: hf_hub_download( repo_id=args.repo_id, filename=file, - subfolder=SUB_DIR, - local_dir=os.path.join(model_location, SUB_DIR), + local_dir=model_location, + force_download=True, + ) + else: + # another structure + files = [onnx_model_name, "tag_mapping.json"] + + for file in files: + hf_hub_download( + repo_id=repo_id, + filename=file, + subfolder=subdir, + local_dir=os.path.join(args.model_dir, repo_id.replace("/", "_")), # because subdir is specified force_download=True, ) - for file in files: - hf_hub_download( - repo_id=args.repo_id, - filename=file, - local_dir=model_location, - force_download=True, - ) else: logger.info("using existing wd14 tagger model") @@ -118,7 +170,7 @@ def main(args): import onnx import onnxruntime as ort - onnx_path = f"{model_location}/model.onnx" + onnx_path = os.path.join(model_location, onnx_model_name) logger.info("Running wd14 tagger with onnx") logger.info(f"loading onnx model: {onnx_path}") @@ -150,39 +202,30 @@ def main(args): ort_sess = ort.InferenceSession( onnx_path, providers=(["OpenVINOExecutionProvider"]), - provider_options=[{'device_type' : "GPU", "precision": "FP32"}], + provider_options=[{"device_type": "GPU", "precision": "FP32"}], ) else: - ort_sess = ort.InferenceSession( - onnx_path, - providers=( - ["CUDAExecutionProvider"] if "CUDAExecutionProvider" in ort.get_available_providers() else - ["ROCMExecutionProvider"] if "ROCMExecutionProvider" in ort.get_available_providers() else - ["CPUExecutionProvider"] - ), + providers = ( + ["CUDAExecutionProvider"] + if "CUDAExecutionProvider" in ort.get_available_providers() + else ( + ["ROCMExecutionProvider"] + if "ROCMExecutionProvider" in ort.get_available_providers() + else ["CPUExecutionProvider"] + ) ) + logger.info(f"Using onnxruntime providers: {providers}") + ort_sess = ort.InferenceSession(onnx_path, providers=providers) else: from tensorflow.keras.models import load_model model = load_model(f"{model_location}") + # We read the CSV file manually to avoid adding dependencies. # label_names = pd.read_csv("2022_0000_0899_6549/selected_tags.csv") - # 依存ライブラリを増やしたくないので自力で読むよ - - with open(os.path.join(model_location, CSV_FILE), "r", encoding="utf-8") as f: - reader = csv.reader(f) - line = [row for row in reader] - header = line[0] # tag_id,name,category,count - rows = line[1:] - assert header[0] == "tag_id" and header[1] == "name" and header[2] == "category", f"unexpected csv format: {header}" - - rating_tags = [row[1] for row in rows[0:] if row[2] == "9"] - general_tags = [row[1] for row in rows[0:] if row[2] == "0"] - character_tags = [row[1] for row in rows[0:] if row[2] == "4"] - - # preprocess tags in advance - if args.character_tag_expand: - for i, tag in enumerate(character_tags): + + def expand_character_tags(char_tags): + for i, tag in enumerate(char_tags): if tag.endswith(")"): # chara_name_(series) -> chara_name, series # chara_name_(costume)_(series) -> chara_name_(costume), series @@ -191,35 +234,95 @@ def main(args): if character_tag.endswith("_"): character_tag = character_tag[:-1] series_tag = tags[-1].replace(")", "") - character_tags[i] = character_tag + args.caption_separator + series_tag + char_tags[i] = character_tag + args.caption_separator + series_tag - if args.remove_underscore: - rating_tags = [tag.replace("_", " ") if len(tag) > 3 else tag for tag in rating_tags] - general_tags = [tag.replace("_", " ") if len(tag) > 3 else tag for tag in general_tags] - character_tags = [tag.replace("_", " ") if len(tag) > 3 else tag for tag in character_tags] + def remove_underscore(tags): + return [tag.replace("_", " ") if len(tag) > 3 else tag for tag in tags] - if args.tag_replacement is not None: - # escape , and ; in tag_replacement: wd14 tag names may contain , and ; - escaped_tag_replacements = args.tag_replacement.replace("\\,", "@@@@").replace("\\;", "####") + def process_tag_replacement(tags: list[str], tag_replacements_arg: str) -> list[str]: + # escape , and ; in tag_replacement: wd14 tag names may contain , and ;, + # so user must be specified them like `aa\,bb,AA\,BB;cc\;dd,CC\;DD` which means + # `aa,bb` is replaced with `AA,BB` and `cc;dd` is replaced with `CC;DD` + escaped_tag_replacements = tag_replacements_arg.replace("\\,", "@@@@").replace("\\;", "####") tag_replacements = escaped_tag_replacements.split(";") - for tag_replacement in tag_replacements: - tags = tag_replacement.split(",") # source, target - assert len(tags) == 2, f"tag replacement must be in the format of `source,target` / タグの置換は `置換元,置換先` の形式で指定してください: {args.tag_replacement}" + + for tag_replacements_arg in tag_replacements: + tags = tag_replacements_arg.split(",") # source, target + assert ( + len(tags) == 2 + ), f"tag replacement must be in the format of `source,target` / タグの置換は `置換元,置換先` の形式で指定してください: {args.tag_replacement}" source, target = [tag.replace("@@@@", ",").replace("####", ";") for tag in tags] logger.info(f"replacing tag: {source} -> {target}") - if source in general_tags: - general_tags[general_tags.index(source)] = target - elif source in character_tags: - character_tags[character_tags.index(source)] = target - elif source in rating_tags: - rating_tags[rating_tags.index(source)] = target + if source in tags: + tags[tags.index(source)] = target + + return tags + + if default_format: + with open(os.path.join(model_location, CSV_FILE), "r", encoding="utf-8") as f: + reader = csv.reader(f) + line = [row for row in reader] + header = line[0] # tag_id,name,category,count + rows = line[1:] + assert header[0] == "tag_id" and header[1] == "name" and header[2] == "category", f"unexpected csv format: {header}" + + rating_tags = [row[1] for row in rows[0:] if row[2] == "9"] + general_tags = [row[1] for row in rows[0:] if row[2] == "0"] + character_tags = [row[1] for row in rows[0:] if row[2] == "4"] + + if args.character_tag_expand: + expand_character_tags(character_tags) + if args.remove_underscore: + rating_tags = remove_underscore(rating_tags) + character_tags = remove_underscore(character_tags) + general_tags = remove_underscore(general_tags) + if args.tag_replacement is not None: + process_tag_replacement(rating_tags, args.tag_replacement) + process_tag_replacement(general_tags, args.tag_replacement) + process_tag_replacement(character_tags, args.tag_replacement) + else: + with open(os.path.join(model_location, TAG_JSON_FILE), "r", encoding="utf-8") as f: + tag_mapping = json.load(f) + + rating_tags = [] + general_tags = [] + character_tags = [] + + tag_id_to_tag_mapping = {} + tag_id_to_category_mapping = {} + for tag_id, tag_info in tag_mapping.items(): + tag = tag_info["tag"] + category = tag_info["category"] + assert category in [ + "Rating", + "General", + "Character", + "Copyright", + "Meta", + "Model", + "Quality", + "Artist", + ], f"unexpected category: {category}" + + if args.remove_underscore: + tag = remove_underscore([tag])[0] + if args.tag_replacement is not None: + tag = process_tag_replacement([tag], args.tag_replacement)[0] + if category == "Character" and args.character_tag_expand: + tag_list = [tag] + expand_character_tags(tag_list) + tag = tag_list[0] + + tag_id_to_tag_mapping[int(tag_id)] = tag + tag_id_to_category_mapping[int(tag_id)] = category # 画像を読み込む train_data_dir_path = Path(args.train_data_dir) image_paths = train_util.glob_images_pathlib(train_data_dir_path, args.recursive) logger.info(f"found {len(image_paths)} images.") + image_paths = [str(ip) for ip in image_paths] tag_freq = {} @@ -232,59 +335,150 @@ def main(args): if args.always_first_tags is not None: always_first_tags = [tag for tag in args.always_first_tags.split(stripped_caption_separator) if tag.strip() != ""] - def run_batch(path_imgs): - imgs = np.array([im for _, im in path_imgs]) + def run_batch(path_imgs: tuple[list[str], np.ndarray, list[tuple[int, int]]]) -> Optional[dict[str, dict]]: + nonlocal args, default_format, model, ort_sess, input_name, tag_freq + + imgs = path_imgs[1] + result = {} if args.onnx: # if len(imgs) < args.batch_size: # imgs = np.concatenate([imgs, np.zeros((args.batch_size - len(imgs), IMAGE_SIZE, IMAGE_SIZE, 3))], axis=0) + if not default_format: + imgs = imgs.transpose(0, 3, 1, 2) # to NCHW + imgs = imgs / 127.5 - 1.0 probs = ort_sess.run(None, {input_name: imgs})[0] # onnx output numpy - probs = probs[: len(path_imgs)] + probs = probs[: len(imgs)] # remove padding else: probs = model(imgs, training=False) probs = probs.numpy() - for (image_path, _), prob in zip(path_imgs, probs): + for image_path, image_size, prob in zip(path_imgs[0], path_imgs[2], probs): combined_tags = [] rating_tag_text = "" character_tag_text = "" general_tag_text = "" - - # 最初の4つ以降はタグなのでconfidenceがthreshold以上のものを追加する - # First 4 labels are ratings, the rest are tags: pick any where prediction confidence >= threshold - for i, p in enumerate(prob[4:]): - if i < len(general_tags) and p >= args.general_threshold: - tag_name = general_tags[i] - - if tag_name not in undesired_tags: + other_tag_text = "" + + if default_format: + # 最初の4つ以降はタグなのでconfidenceがthreshold以上のものを追加する + # First 4 labels are ratings, the rest are tags: pick any where prediction confidence >= threshold + for i, p in enumerate(prob[4:]): + if i < len(general_tags) and p >= args.general_threshold: + tag_name = general_tags[i] + + if tag_name not in undesired_tags: + tag_freq[tag_name] = tag_freq.get(tag_name, 0) + 1 + general_tag_text += caption_separator + tag_name + combined_tags.append(tag_name) + elif i >= len(general_tags) and p >= args.character_threshold: + tag_name = character_tags[i - len(general_tags)] + + if tag_name not in undesired_tags: + tag_freq[tag_name] = tag_freq.get(tag_name, 0) + 1 + character_tag_text += caption_separator + tag_name + if args.character_tags_first: # insert to the beginning + combined_tags.insert(0, tag_name) + else: + combined_tags.append(tag_name) + + # 最初の4つはratingなのでargmaxで選ぶ + # First 4 labels are actually ratings: pick one with argmax + if args.use_rating_tags or args.use_rating_tags_as_last_tag: + ratings_probs = prob[:4] + rating_index = ratings_probs.argmax() + found_rating = rating_tags[rating_index] + + if found_rating not in undesired_tags: + tag_freq[found_rating] = tag_freq.get(found_rating, 0) + 1 + rating_tag_text = found_rating + if args.use_rating_tags: + combined_tags.insert(0, found_rating) # insert to the beginning + else: + combined_tags.append(found_rating) + else: + # apply sigmoid to probabilities + prob = 1 / (1 + np.exp(-prob)) + + rating_max_prob = -1 + rating_tag = None + quality_max_prob = -1 + quality_tag = None + character_tags = [] + + min_thres = min( + args.thresh, + args.general_threshold, + args.character_threshold, + args.copyright_threshold, + args.meta_threshold, + args.model_threshold, + args.artist_threshold, + ) + prob_indices = np.where(prob >= min_thres)[0] + # for i, p in enumerate(prob): + for i in prob_indices: + if i not in tag_id_to_tag_mapping: + continue + p = prob[i] + + tag_name = tag_id_to_tag_mapping[i] + category = tag_id_to_category_mapping[i] + if tag_name in undesired_tags: + continue + + if category == "Rating": + if p > rating_max_prob: + rating_max_prob = p + rating_tag = tag_name + rating_tag_text = tag_name + continue + elif category == "Quality": + if p > quality_max_prob: + quality_max_prob = p + quality_tag = tag_name + if args.use_quality_tags or args.use_quality_tags_as_last_tag: + other_tag_text += caption_separator + tag_name + continue + + if category == "General" and p >= args.general_threshold: tag_freq[tag_name] = tag_freq.get(tag_name, 0) + 1 general_tag_text += caption_separator + tag_name - combined_tags.append(tag_name) - elif i >= len(general_tags) and p >= args.character_threshold: - tag_name = character_tags[i - len(general_tags)] - - if tag_name not in undesired_tags: + combined_tags.append((tag_name, p)) + elif category == "Character" and p >= args.character_threshold: tag_freq[tag_name] = tag_freq.get(tag_name, 0) + 1 character_tag_text += caption_separator + tag_name - if args.character_tags_first: # insert to the beginning - combined_tags.insert(0, tag_name) + if args.character_tags_first: # we separate character tags + character_tags.append((tag_name, p)) else: - combined_tags.append(tag_name) - - # 最初の4つはratingなのでargmaxで選ぶ - # First 4 labels are actually ratings: pick one with argmax - if args.use_rating_tags or args.use_rating_tags_as_last_tag: - ratings_probs = prob[:4] - rating_index = ratings_probs.argmax() - found_rating = rating_tags[rating_index] - - if found_rating not in undesired_tags: - tag_freq[found_rating] = tag_freq.get(found_rating, 0) + 1 - rating_tag_text = found_rating - if args.use_rating_tags: - combined_tags.insert(0, found_rating) # insert to the beginning - else: - combined_tags.append(found_rating) + combined_tags.append((tag_name, p)) + elif ( + (category == "Copyright" and p >= args.copyright_threshold) + or (category == "Meta" and p >= args.meta_threshold) + or (category == "Model" and p >= args.model_threshold) + or (category == "Artist" and p >= args.artist_threshold) + ): + tag_freq[tag_name] = tag_freq.get(tag_name, 0) + 1 + other_tag_text += f"{caption_separator}{tag_name} ({category})" + combined_tags.append((tag_name, p)) + + # sort by probability + combined_tags.sort(key=lambda x: x[1], reverse=True) + if character_tags: + character_tags.sort(key=lambda x: x[1], reverse=True) + combined_tags = character_tags + combined_tags + combined_tags = [t[0] for t in combined_tags] # remove probability + + if quality_tag is not None: + if args.use_quality_tags_as_last_tag: + combined_tags.append(quality_tag) + elif args.use_quality_tags: + combined_tags.insert(0, quality_tag) + if rating_tag is not None: + if args.use_rating_tags_as_last_tag: + combined_tags.append(rating_tag) + elif args.use_rating_tags: + combined_tags.insert(0, rating_tag) # 一番最初に置くタグを指定する # Always put some tags at the beginning @@ -299,6 +493,8 @@ def run_batch(path_imgs): general_tag_text = general_tag_text[len(caption_separator) :] if len(character_tag_text) > 0: character_tag_text = character_tag_text[len(caption_separator) :] + if len(other_tag_text) > 0: + other_tag_text = other_tag_text[len(caption_separator) :] caption_file = os.path.splitext(image_path)[0] + args.caption_extension @@ -320,55 +516,79 @@ def run_batch(path_imgs): # Create new tag_text tag_text = caption_separator.join(existing_tags + new_tags) - with open(caption_file, "wt", encoding="utf-8") as f: - f.write(tag_text + "\n") - if args.debug: - logger.info("") - logger.info(f"{image_path}:") - logger.info(f"\tRating tags: {rating_tag_text}") - logger.info(f"\tCharacter tags: {character_tag_text}") - logger.info(f"\tGeneral tags: {general_tag_text}") + if not args.output_path: + with open(caption_file, "wt", encoding="utf-8") as f: + f.write(tag_text + "\n") + else: + entry = {"tags": tag_text, "image_size": list(image_size)} + result[image_path] = entry + + if args.debug: + logger.info("") + logger.info(f"{image_path}:") + logger.info(f"\tRating tags: {rating_tag_text}") + logger.info(f"\tCharacter tags: {character_tag_text}") + logger.info(f"\tGeneral tags: {general_tag_text}") + if other_tag_text: + logger.info(f"\tOther tags: {other_tag_text}") + + return result # 読み込みの高速化のためにDataLoaderを使うオプション if args.max_data_loader_n_workers is not None: - dataset = ImageLoadingPrepDataset(image_paths) + dataset = ImageLoadingPrepDataset(image_paths, args.batch_size) data = torch.utils.data.DataLoader( dataset, - batch_size=args.batch_size, + batch_size=1, shuffle=False, num_workers=args.max_data_loader_n_workers, - collate_fn=collate_fn_remove_corrupted, + collate_fn=collate_fn_no_op, drop_last=False, ) else: - data = [[(None, ip)] for ip in image_paths] - - b_imgs = [] + # data = [[(ip, None, None)] for ip in image_paths] + data = [[]] + for ip in image_paths: + if len(data[-1]) >= args.batch_size: + data.append([]) + data[-1].append((ip, None, None)) + + results = {} for data_entry in tqdm(data, smoothing=0.0): - for data in data_entry: - if data is None: - continue - - image, image_path = data - if image is None: - try: - image = Image.open(image_path) - if image.mode != "RGB": - image = image.convert("RGB") - image = preprocess_image(image) - except Exception as e: - logger.error(f"Could not load image path / 画像を読み込めません: {image_path}, error: {e}") - continue - b_imgs.append((image_path, image)) - - if len(b_imgs) >= args.batch_size: - b_imgs = [(str(image_path), image) for image_path, image in b_imgs] # Convert image_path to string - run_batch(b_imgs) - b_imgs.clear() - - if len(b_imgs) > 0: - b_imgs = [(str(image_path), image) for image_path, image in b_imgs] # Convert image_path to string - run_batch(b_imgs) + if data_entry is None or len(data_entry) == 0: + continue + + if data_entry[0][1] is None: + # No preloaded image, need to load + images = [] + image_sizes = [] + for image_path, _, _ in data_entry: + image = Image.open(image_path) + image_size = image.size + image = preprocess_image(image) + images.append(image) + image_sizes.append(image_size) + b_imgs = ([ip for ip, _, _ in data_entry], np.stack(images), image_sizes) + else: + b_imgs = data_entry[0] + + r = run_batch(b_imgs) + if args.output_path and r is not None: + results.update(r) + + if args.output_path: + if args.output_path.endswith(".jsonl"): + # optional JSONL metadata + with open(args.output_path, "wt", encoding="utf-8") as f: + for image_path, entry in results.items(): + f.write( + json.dumps({"image_path": image_path, "caption": entry["tags"], "image_size": entry["image_size"]}) + "\n" + ) + else: + # standard JSON metadata + with open(args.output_path, "wt", encoding="utf-8") as f: + json.dump(results, f, ensure_ascii=False, indent=4) + logger.info(f"captions saved to {args.output_path}") if args.frequency_tags: sorted_tags = sorted(tag_freq.items(), key=lambda x: x[1], reverse=True) @@ -381,9 +601,7 @@ def run_batch(path_imgs): def setup_parser() -> argparse.ArgumentParser: parser = argparse.ArgumentParser() - parser.add_argument( - "train_data_dir", type=str, help="directory for train images / 学習画像データのディレクトリ" - ) + parser.add_argument("train_data_dir", type=str, help="directory for train images / 学習画像データのディレクトリ") parser.add_argument( "--repo_id", type=str, @@ -401,15 +619,19 @@ def setup_parser() -> argparse.ArgumentParser: action="store_true", help="force downloading wd14 tagger models / wd14 taggerのモデルを再ダウンロードします", ) - parser.add_argument( - "--batch_size", type=int, default=1, help="batch size in inference / 推論時のバッチサイズ" - ) + parser.add_argument("--batch_size", type=int, default=1, help="batch size in inference / 推論時のバッチサイズ") parser.add_argument( "--max_data_loader_n_workers", type=int, default=None, help="enable image reading by DataLoader with this number of workers (faster) / DataLoaderによる画像読み込みを有効にしてこのワーカー数を適用する(読み込みを高速化)", ) + parser.add_argument( + "--output_path", + type=str, + default=None, + help="path for output captions (json format). if this is set, captions will be saved to this file / 出力キャプションのパス(json形式)。このオプションが設定されている場合、キャプションはこのファイルに保存されます", + ) parser.add_argument( "--caption_extention", type=str, @@ -432,7 +654,36 @@ def setup_parser() -> argparse.ArgumentParser: "--character_threshold", type=float, default=None, - help="threshold of confidence to add a tag for character category, same as --thres if omitted / characterカテゴリのタグを追加するための確信度の閾値、省略時は --thresh と同じ", + help="threshold of confidence to add a tag for character category, same as --thres if omitted. set above 1 to disable character tags" + " / characterカテゴリのタグを追加するための確信度の閾値、省略時は --thresh と同じ。1以上にするとcharacterタグを無効化できる", + ) + parser.add_argument( + "--meta_threshold", + type=float, + default=None, + help="threshold of confidence to add a tag for meta category, same as --thresh if omitted. set above 1 to disable meta tags" + " / metaカテゴリのタグを追加するための確信度の閾値、省略時は --thresh と同じ。1以上にするとmetaタグを無効化できる", + ) + parser.add_argument( + "--model_threshold", + type=float, + default=None, + help="threshold of confidence to add a tag for model category, same as --thresh if omitted. set above 1 to disable model tags" + " / modelカテゴリのタグを追加するための確信度の閾値、省略時は --thresh と同じ。1以上にするとmodelタグを無効化できる", + ) + parser.add_argument( + "--copyright_threshold", + type=float, + default=None, + help="threshold of confidence to add a tag for copyright category, same as --thresh if omitted. set above 1 to disable copyright tags" + " / copyrightカテゴリのタグを追加するための確信度の閾値、省略時は --thresh と同じ。1以上にするとcopyrightタグを無効化できる", + ) + parser.add_argument( + "--artist_threshold", + type=float, + default=None, + help="threshold of confidence to add a tag for artist category, same as --thresh if omitted. set above 1 to disable artist tags" + " / artistカテゴリのタグを追加するための確信度の閾値、省略時は --thresh と同じ。1以上にするとartistタグを無効化できる", ) parser.add_argument( "--recursive", action="store_true", help="search for images in subfolders recursively / サブフォルダを再帰的に検索する" @@ -442,9 +693,7 @@ def setup_parser() -> argparse.ArgumentParser: action="store_true", help="replace underscores with spaces in the output tags / 出力されるタグのアンダースコアをスペースに置き換える", ) - parser.add_argument( - "--debug", action="store_true", help="debug mode" - ) + parser.add_argument("--debug", action="store_true", help="debug mode") parser.add_argument( "--undesired_tags", type=str, @@ -454,20 +703,34 @@ def setup_parser() -> argparse.ArgumentParser: parser.add_argument( "--frequency_tags", action="store_true", help="Show frequency of tags for images / タグの出現頻度を表示する" ) + parser.add_argument("--onnx", action="store_true", help="use onnx model for inference / onnxモデルを推論に使用する") parser.add_argument( - "--onnx", action="store_true", help="use onnx model for inference / onnxモデルを推論に使用する" + "--append_tags", action="store_true", help="Append captions instead of overwriting / 上書きではなくキャプションを追記する" ) parser.add_argument( - "--append_tags", action="store_true", help="Append captions instead of overwriting / 上書きではなくキャプションを追記する" + "--use_rating_tags", + action="store_true", + help="Adds rating tags as the first tag / レーティングタグを最初のタグとして追加する", ) parser.add_argument( - "--use_rating_tags", action="store_true", help="Adds rating tags as the first tag / レーティングタグを最初のタグとして追加する", + "--use_rating_tags_as_last_tag", + action="store_true", + help="Adds rating tags as the last tag / レーティングタグを最後のタグとして追加する", ) parser.add_argument( - "--use_rating_tags_as_last_tag", action="store_true", help="Adds rating tags as the last tag / レーティングタグを最後のタグとして追加する", + "--use_quality_tags", + action="store_true", + help="Adds quality tags as the first tag / クオリティタグを最初のタグとして追加する", ) parser.add_argument( - "--character_tags_first", action="store_true", help="Always inserts character tags before the general tags / characterタグを常にgeneralタグの前に出力する", + "--use_quality_tags_as_last_tag", + action="store_true", + help="Adds quality tags as the last tag / クオリティタグを最後のタグとして追加する", + ) + parser.add_argument( + "--character_tags_first", + action="store_true", + help="Always inserts character tags before the general tags / characterタグを常にgeneralタグの前に出力する", ) parser.add_argument( "--always_first_tags", @@ -512,5 +775,13 @@ def setup_parser() -> argparse.ArgumentParser: args.general_threshold = args.thresh if args.character_threshold is None: args.character_threshold = args.thresh + if args.meta_threshold is None: + args.meta_threshold = args.thresh + if args.model_threshold is None: + args.model_threshold = args.thresh + if args.copyright_threshold is None: + args.copyright_threshold = args.thresh + if args.artist_threshold is None: + args.artist_threshold = args.thresh main(args) diff --git a/library/train_util.py b/library/train_util.py index 756d88b1c..a19006093 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -1131,7 +1131,8 @@ def __init__(self, reso, flip_aug, alpha_mask, random_crop): def __eq__(self, other): return ( - self.reso == other.reso + other is not None + and self.reso == other.reso and self.flip_aug == other.flip_aug and self.alpha_mask == other.alpha_mask and self.random_crop == other.random_crop @@ -1193,6 +1194,8 @@ def submit_batch(batch, cond): if len(batch) > 0 and current_condition != condition: submit_batch(batch, current_condition) batch = [] + if condition != current_condition and HIGH_VRAM: # even with high VRAM, if shape is changed + clean_memory_on_device(accelerator.device) if info.image is None: # load image in parallel @@ -1205,7 +1208,7 @@ def submit_batch(batch, cond): if len(batch) >= caching_strategy.batch_size: submit_batch(batch, current_condition) batch = [] - current_condition = None + # current_condition = None # keep current_condition to avoid next `clean_memory_on_device` call if len(batch) > 0: submit_batch(batch, current_condition) @@ -1768,14 +1771,10 @@ def none_or_stack_elements(tensors_list, converter): tensors = [converter(x) for x in tensors] if tensors[0].ndim == 1: # input_ids or mask - result.append( - torch.stack([(torch.nn.functional.pad(x, (0, max_len - x.shape[0]))) for x in tensors]) - ) + result.append(torch.stack([(torch.nn.functional.pad(x, (0, max_len - x.shape[0]))) for x in tensors])) else: # text encoder outputs - result.append( - torch.stack([(torch.nn.functional.pad(x, (0, 0, 0, max_len - x.shape[0]))) for x in tensors]) - ) + result.append(torch.stack([(torch.nn.functional.pad(x, (0, 0, 0, max_len - x.shape[0]))) for x in tensors])) return result # set example @@ -2202,6 +2201,23 @@ def __init__( super().__init__(resolution, network_multiplier, debug_dataset, resize_interpolation) self.batch_size = batch_size + self.size = min(self.width, self.height) # 短いほう + self.latents_cache = None + + self.enable_bucket = enable_bucket + if self.enable_bucket: + min_bucket_reso, max_bucket_reso = self.adjust_min_max_bucket_reso_by_steps( + resolution, min_bucket_reso, max_bucket_reso, bucket_reso_steps + ) + self.min_bucket_reso = min_bucket_reso + self.max_bucket_reso = max_bucket_reso + self.bucket_reso_steps = bucket_reso_steps + self.bucket_no_upscale = bucket_no_upscale + else: + self.min_bucket_reso = None + self.max_bucket_reso = None + self.bucket_reso_steps = None # この情報は使われない + self.bucket_no_upscale = False self.num_train_images = 0 self.num_reg_images = 0 @@ -2221,9 +2237,25 @@ def __init__( # メタデータを読み込む if os.path.exists(subset.metadata_file): - logger.info(f"loading existing metadata: {subset.metadata_file}") - with open(subset.metadata_file, "rt", encoding="utf-8") as f: - metadata = json.load(f) + if subset.metadata_file.endswith(".jsonl"): + logger.info(f"loading existing JSOL metadata: {subset.metadata_file}") + # optional JSONL format + # {"image_path": "/path/to/image1.jpg", "caption": "A caption for image1", "image_size": [width, height]} + metadata = {} + with open(subset.metadata_file, "rt", encoding="utf-8") as f: + for line in f: + line_md = json.loads(line) + image_md = {"caption": line_md.get("caption", "")} + if "image_size" in line_md: + image_md["image_size"] = line_md["image_size"] + if "tags" in line_md: + image_md["tags"] = line_md["tags"] + metadata[line_md["image_path"]] = image_md + else: + # standard JSON format + logger.info(f"loading existing metadata: {subset.metadata_file}") + with open(subset.metadata_file, "rt", encoding="utf-8") as f: + metadata = json.load(f) else: raise ValueError(f"no metadata / メタデータファイルがありません: {subset.metadata_file}") @@ -2233,65 +2265,101 @@ def __init__( ) continue - tags_list = [] - for image_key, img_md in metadata.items(): - # path情報を作る - abs_path = None - - # まず画像を優先して探す - if os.path.exists(image_key): - abs_path = image_key + # Add full path for image + image_dirs = set() + if subset.image_dir is not None: + image_dirs.add(subset.image_dir) + for image_key in metadata.keys(): + if not os.path.isabs(image_key): + assert ( + subset.image_dir is not None + ), f"image_dir is required when image paths are relative / 画像パスが相対パスの場合、image_dirの指定が必要です: {image_key}" + abs_path = os.path.join(subset.image_dir, image_key) else: - # わりといい加減だがいい方法が思いつかん - paths = glob_images(subset.image_dir, image_key) - if len(paths) > 0: - abs_path = paths[0] - - # なければnpzを探す - if abs_path is None: - if os.path.exists(os.path.splitext(image_key)[0] + ".npz"): - abs_path = os.path.splitext(image_key)[0] + ".npz" - else: - npz_path = os.path.join(subset.image_dir, image_key + ".npz") - if os.path.exists(npz_path): - abs_path = npz_path + abs_path = image_key + image_dirs.add(os.path.dirname(abs_path)) + metadata[image_key]["abs_path"] = abs_path + + # Enumerate existing npz files + strategy = LatentsCachingStrategy.get_strategy() + npz_paths = [] + for image_dir in image_dirs: + npz_paths.extend(glob.glob(os.path.join(image_dir, "*" + strategy.cache_suffix))) + npz_paths = sorted(npz_paths, key=lambda item: len(os.path.basename(item)), reverse=True) # longer paths first - assert abs_path is not None, f"no image / 画像がありません: {image_key}" + # Match image filename longer to shorter because some images share same prefix + image_keys_sorted_by_length_desc = sorted(metadata.keys(), key=len, reverse=True) + # Collect tags and sizes + tags_list = [] + size_set_from_metadata = 0 + size_set_from_cache_filename = 0 + for image_key in image_keys_sorted_by_length_desc: + img_md = metadata[image_key] caption = img_md.get("caption") tags = img_md.get("tags") + image_size = img_md.get("image_size") + abs_path = img_md.get("abs_path") + + # search npz if image_size is not given + npz_path = None + if image_size is None: + image_without_ext = os.path.splitext(image_key)[0] + for candidate in npz_paths: + if candidate.startswith(image_without_ext): + npz_path = candidate + break + if npz_path is not None: + npz_paths.remove(npz_path) # remove to avoid matching same file (share prefix) + abs_path = npz_path + if caption is None: - caption = tags # could be multiline - tags = None + caption = "" if subset.enable_wildcard: - # tags must be single line + # tags must be single line (split by caption separator) if tags is not None: tags = tags.replace("\n", subset.caption_separator) # add tags to each line of caption - if caption is not None and tags is not None: + if tags is not None: caption = "\n".join( [f"{line}{subset.caption_separator}{tags}" for line in caption.split("\n") if line.strip() != ""] ) + tags_list.append(tags) else: # use as is if tags is not None and len(tags) > 0: - caption = caption + subset.caption_separator + tags + if len(caption) > 0: + caption = caption + subset.caption_separator + caption = caption + tags tags_list.append(tags) if caption is None: caption = "" image_info = ImageInfo(image_key, subset.num_repeats, caption, False, abs_path) - image_info.image_size = img_md.get("train_resolution") + image_info.resize_interpolation = ( + subset.resize_interpolation if subset.resize_interpolation is not None else self.resize_interpolation + ) - if not subset.color_aug and not subset.random_crop: - # if npz exists, use them - image_info.latents_npz, image_info.latents_npz_flipped = self.image_key_to_npz_file(subset, image_key) + if image_size is not None: + image_info.image_size = tuple(image_size) # width, height + size_set_from_metadata += 1 + elif npz_path is not None: + # get image size from npz filename + w, h = strategy.get_image_size_from_disk_cache_path(abs_path, npz_path) + image_info.image_size = (w, h) + size_set_from_cache_filename += 1 self.register_image(image_info, subset) + if size_set_from_cache_filename > 0: + logger.info( + f"set image size from cache files: {size_set_from_cache_filename}/{len(image_keys_sorted_by_length_desc)}" + ) + if size_set_from_metadata > 0: + logger.info(f"set image size from metadata: {size_set_from_metadata}/{len(image_keys_sorted_by_length_desc)}") self.num_train_images += len(metadata) * subset.num_repeats # TODO do not record tag freq when no tag @@ -2299,117 +2367,6 @@ def __init__( subset.img_count = len(metadata) self.subsets.append(subset) - # check existence of all npz files - use_npz_latents = all([not (subset.color_aug or subset.random_crop) for subset in self.subsets]) - if use_npz_latents: - flip_aug_in_subset = False - npz_any = False - npz_all = True - - for image_info in self.image_data.values(): - subset = self.image_to_subset[image_info.image_key] - - has_npz = image_info.latents_npz is not None - npz_any = npz_any or has_npz - - if subset.flip_aug: - has_npz = has_npz and image_info.latents_npz_flipped is not None - flip_aug_in_subset = True - npz_all = npz_all and has_npz - - if npz_any and not npz_all: - break - - if not npz_any: - use_npz_latents = False - logger.warning(f"npz file does not exist. ignore npz files / npzファイルが見つからないためnpzファイルを無視します") - elif not npz_all: - use_npz_latents = False - logger.warning( - f"some of npz file does not exist. ignore npz files / いくつかのnpzファイルが見つからないためnpzファイルを無視します" - ) - if flip_aug_in_subset: - logger.warning("maybe no flipped files / 反転されたnpzファイルがないのかもしれません") - # else: - # logger.info("npz files are not used with color_aug and/or random_crop / color_augまたはrandom_cropが指定されているためnpzファイルは使用されません") - - # check min/max bucket size - sizes = set() - resos = set() - for image_info in self.image_data.values(): - if image_info.image_size is None: - sizes = None # not calculated - break - sizes.add(image_info.image_size[0]) - sizes.add(image_info.image_size[1]) - resos.add(tuple(image_info.image_size)) - - if sizes is None: - if use_npz_latents: - use_npz_latents = False - logger.warning( - f"npz files exist, but no bucket info in metadata. ignore npz files / メタデータにbucket情報がないためnpzファイルを無視します" - ) - - assert ( - resolution is not None - ), "if metadata doesn't have bucket info, resolution is required / メタデータにbucket情報がない場合はresolutionを指定してください" - - self.enable_bucket = enable_bucket - if self.enable_bucket: - min_bucket_reso, max_bucket_reso = self.adjust_min_max_bucket_reso_by_steps( - resolution, min_bucket_reso, max_bucket_reso, bucket_reso_steps - ) - self.min_bucket_reso = min_bucket_reso - self.max_bucket_reso = max_bucket_reso - self.bucket_reso_steps = bucket_reso_steps - self.bucket_no_upscale = bucket_no_upscale - else: - if not enable_bucket: - logger.info("metadata has bucket info, enable bucketing / メタデータにbucket情報があるためbucketを有効にします") - logger.info("using bucket info in metadata / メタデータ内のbucket情報を使います") - self.enable_bucket = True - - assert ( - not bucket_no_upscale - ), "if metadata has bucket info, bucket reso is precalculated, so bucket_no_upscale cannot be used / メタデータ内にbucket情報がある場合はbucketの解像度は計算済みのため、bucket_no_upscaleは使えません" - - # bucket情報を初期化しておく、make_bucketsで再作成しない - self.bucket_manager = BucketManager(False, None, None, None, None) - self.bucket_manager.set_predefined_resos(resos) - - # npz情報をきれいにしておく - if not use_npz_latents: - for image_info in self.image_data.values(): - image_info.latents_npz = image_info.latents_npz_flipped = None - - def image_key_to_npz_file(self, subset: FineTuningSubset, image_key): - base_name = os.path.splitext(image_key)[0] - npz_file_norm = base_name + ".npz" - - if os.path.exists(npz_file_norm): - # image_key is full path - npz_file_flip = base_name + "_flip.npz" - if not os.path.exists(npz_file_flip): - npz_file_flip = None - return npz_file_norm, npz_file_flip - - # if not full path, check image_dir. if image_dir is None, return None - if subset.image_dir is None: - return None, None - - # image_key is relative path - npz_file_norm = os.path.join(subset.image_dir, image_key + ".npz") - npz_file_flip = os.path.join(subset.image_dir, image_key + "_flip.npz") - - if not os.path.exists(npz_file_norm): - npz_file_norm = None - npz_file_flip = None - elif not os.path.exists(npz_file_flip): - npz_file_flip = None - - return npz_file_norm, npz_file_flip - class ControlNetDataset(BaseDataset): def __init__( From a9af52692ad702798fb10360576712e5be72798d Mon Sep 17 00:00:00 2001 From: "Kohya S." <52813779+kohya-ss@users.noreply.github.com> Date: Sun, 18 Jan 2026 16:56:48 +0900 Subject: [PATCH 719/748] feat: add pyramid noise and noise offset options to generation script (#2252) * feat: add pyramid noise and noise offset options to generation script * fix: fix to work with SD1.5 models * doc: update to match with latest gen_img.py * doc: update README to clarify script capabilities and remove deprecated sections --- docs/gen_img_README-ja.md | 196 +++++++++------------ docs/gen_img_README.md | 141 ++++++--------- gen_img.py | 351 +++++++++++++++++++++++++++----------- 3 files changed, 380 insertions(+), 308 deletions(-) diff --git a/docs/gen_img_README-ja.md b/docs/gen_img_README-ja.md index ca2eeab2a..081857440 100644 --- a/docs/gen_img_README-ja.md +++ b/docs/gen_img_README-ja.md @@ -1,30 +1,24 @@ -SD 1.xおよび2.xのモデル、当リポジトリで学習したLoRA、ControlNet(v1.0のみ動作確認)などに対応した、Diffusersベースの推論(画像生成)スクリプトです。コマンドラインから用います。 +SD 1.x、2.x、およびSDXLのモデル、当リポジトリで学習したLoRA、ControlNet、ControlNet-LLLiteなどに対応した、独自の推論(画像生成)スクリプトです。コマンドラインから用います。 # 概要 -* Diffusers (v0.10.2) ベースの推論(画像生成)スクリプト。 +* 独自の推論(画像生成)スクリプト。 * SD 1.x、2.x (base/v-parameterization)、およびSDXLモデルに対応。 * txt2img、img2img、inpaintingに対応。 * 対話モード、およびファイルからのプロンプト読み込み、連続生成に対応。 * プロンプト1行あたりの生成枚数を指定可能。 * 全体の繰り返し回数を指定可能。 * `fp16`だけでなく`bf16`にも対応。 -* xformersに対応し高速生成が可能。 - * xformersにより省メモリ生成を行いますが、Automatic 1111氏のWeb UIほど最適化していないため、512*512の画像生成でおおむね6GB程度のVRAMを使用します。 +* xformers、SDPA(Scaled Dot-Product Attention)に対応。 * プロンプトの225トークンへの拡張。ネガティブプロンプト、重みづけに対応。 -* Diffusersの各種samplerに対応(Web UIよりもsampler数は少ないです)。 +* Diffusersの各種samplerに対応。 * Text Encoderのclip skip(最後からn番目の層の出力を用いる)に対応。 -* VAEの別途読み込み。 -* CLIP Guided Stable Diffusion、VGG16 Guided Stable Diffusion、Highres. fix、upscale対応。 - * Highres. fixはWeb UIの実装を全く確認していない独自実装のため、出力結果は異なるかもしれません。 -* LoRA対応。適用率指定、複数LoRA同時利用、重みのマージに対応。 - * Text EncoderとU-Netで別の適用率を指定することはできません。 -* Attention Coupleに対応。 -* ControlNet v1.0に対応。 +* VAEの別途読み込み、VAEのバッチ処理やスライスによる省メモリ化に対応。 +* Highres. fix(独自実装およびGradual Latent)、upscale対応。 +* LoRA、DyLoRA対応。適用率指定、複数LoRA同時利用、重みのマージに対応。 +* Attention Couple、Regional LoRAに対応。 +* ControlNet (v1.0/v1.1)、ControlNet-LLLiteに対応。 * 途中でモデルを切り替えることはできませんが、バッチファイルを組むことで対応できます。 -* 個人的に欲しくなった機能をいろいろ追加。 - -機能追加時にすべてのテストを行っているわけではないため、以前の機能に影響が出て一部機能が動かない可能性があります。何か問題があればお知らせください。 # 基本的な使い方 @@ -33,18 +27,20 @@ SD 1.xおよび2.xのモデル、当リポジトリで学習したLoRA、Control 以下のように入力してください。 ```batchfile -python gen_img_diffusers.py --ckpt <モデル名> --outdir <画像出力先> --xformers --fp16 --interactive +python gen_img.py --ckpt <モデル名> --outdir <画像出力先> --xformers --fp16 --interactive ``` `--ckpt`オプションにモデル(Stable Diffusionのcheckpointファイル、またはDiffusersのモデルフォルダ)、`--outdir`オプションに画像の出力先フォルダを指定します。 -`--xformers`オプションでxformersの使用を指定します(xformersを使わない場合は外してください)。`--fp16`オプションでfp16(単精度)での推論を行います。RTX 30系のGPUでは `--bf16`オプションでbf16(bfloat16)での推論を行うこともできます。 +`--xformers`オプションでxformersの使用を指定します。`--fp16`オプションでfp16(半精度)での推論を行います。RTX 30系以降のGPUでは `--bf16`オプションでbf16(bfloat16)での推論を行うこともできます。 `--interactive`オプションで対話モードを指定しています。 Stable Diffusion 2.0(またはそこからの追加学習モデル)を使う場合は`--v2`オプションを追加してください。v-parameterizationを使うモデル(`768-v-ema.ckpt`およびそこからの追加学習モデル)を使う場合はさらに`--v_parameterization`を追加してください。 -`--v2`の指定有無が間違っているとモデル読み込み時にエラーになります。`--v_parameterization`の指定有無が間違っていると茶色い画像が表示されます。 +SDXLモデルを使う場合は`--sdxl`オプションを追加してください。 + +`--v2`や`--sdxl`の指定有無が間違っているとモデル読み込み時にエラーになります。`--v_parameterization`の指定有無が間違っていると茶色い画像が表示されます。 `Type prompt:`と表示されたらプロンプトを入力してください。 @@ -59,7 +55,7 @@ Stable Diffusion 2.0(またはそこからの追加学習モデル)を使う 以下のように入力します(実際には1行で入力します)。 ```batchfile -python gen_img_diffusers.py --ckpt <モデル名> --outdir <画像出力先> +python gen_img.py --ckpt <モデル名> --outdir <画像出力先> --xformers --fp16 --images_per_prompt <生成枚数> --prompt "<プロンプト>" ``` @@ -72,7 +68,7 @@ python gen_img_diffusers.py --ckpt <モデル名> --outdir <画像出力先> 以下のように入力します。 ```batchfile -python gen_img_diffusers.py --ckpt <モデル名> --outdir <画像出力先> +python gen_img.py --ckpt <モデル名> --outdir <画像出力先> --xformers --fp16 --from_file <プロンプトファイル名> ``` @@ -106,7 +102,17 @@ python gen_img_diffusers.py --ckpt <モデル名> --outdir <画像出力先> `--v2`や`--sdxl`の指定有無が間違っているとモデル読み込み時にエラーになります。`--v_parameterization`の指定有無が間違っていると茶色い画像が表示されます。 -- `--vae`:使用するVAEを指定します。未指定時はモデル内のVAEを使用します。 +- `--zero_terminal_snr`:noise schedulerのbetasを修正して、zero terminal SNRを強制します。 + +- `--pyramid_noise_prob`:ピラミッドノイズを適用する確率を指定します。 + +- `--pyramid_noise_discount_range`:ピラミッドノイズの割引率の範囲を指定します。 + +- `--noise_offset_prob`:ノイズオフセットを適用する確率を指定します。 + +- `--noise_offset_range`:ノイズオフセットの範囲を指定します。 + +- `--vae`:使用する VAE を指定します。未指定時はモデル内の VAE を使用します。 - `--tokenizer_cache_dir`:トークナイザーのキャッシュディレクトリを指定します(オフライン利用のため)。 @@ -130,13 +136,14 @@ python gen_img_diffusers.py --ckpt <モデル名> --outdir <画像出力先> - `--scale <ガイダンススケール>`:unconditionalガイダンススケールを指定します。デフォルトは`7.5`です。 -- `--sampler <サンプラー名>`:サンプラーを指定します。デフォルトは`ddim`です。Diffusersで提供されているddim、pndm、dpmsolver、dpmsolver+++、lms、euler、euler_a、が指定可能です(後ろの三つはk_lms、k_euler、k_euler_aでも指定できます)。 +- `--sampler <サンプラー名>`:サンプラーを指定します。デフォルトは`ddim`です。 + `ddim`, `pndm`, `lms`, `euler`, `euler_a`, `heun`, `dpm_2`, `dpm_2_a`, `dpmsolver`, `dpmsolver++`, `dpmsingle`, `k_lms`, `k_euler`, `k_euler_a`, `k_dpm_2`, `k_dpm_2_a` が指定可能です。 - `--outdir <画像出力先フォルダ>`:画像の出力先を指定します。 - `--images_per_prompt <生成枚数>`:プロンプト1件当たりの生成枚数を指定します。デフォルトは`1`です。 -- `--clip_skip <スキップ数>`:CLIPの後ろから何番目の層を使うかを指定します。省略時は最後の層を使います。 +- `--clip_skip <スキップ数>`:CLIPの後ろから何番目の層を使うかを指定します。デフォルトはSD1/2の場合1、SDXLの場合2です。 - `--max_embeddings_multiples <倍数>`:CLIPの入出力長をデフォルト(75)の何倍にするかを指定します。未指定時は75のままです。たとえば3を指定すると入出力長が225になります。 @@ -144,6 +151,8 @@ python gen_img_diffusers.py --ckpt <モデル名> --outdir <画像出力先> - `--emb_normalize_mode`:embedding正規化モードを指定します。"original"(デフォルト)、"abs"、"none"から選択できます。プロンプトの重みの正規化方法に影響します。 +- `--force_scheduler_zero_steps_offset`:スケジューラのステップオフセットを、スケジューラ設定の `steps_offset` の値に関わらず強制的にゼロにします。 + ## SDXL固有のオプション SDXL モデル(`--sdxl`フラグ付き)を使用する場合、追加のコンディショニングオプションが利用できます: @@ -164,7 +173,7 @@ SDXL モデル(`--sdxl`フラグ付き)を使用する場合、追加のコ - `--batch_size <バッチサイズ>`:バッチサイズを指定します。デフォルトは`1`です。バッチサイズが大きいとメモリを多く消費しますが、生成速度が速くなります。 -- `--vae_batch_size `:VAEのバッチサイズを指定します。デフォルトはバッチサイズと同じです。 +- `--vae_batch_size `:VAEのバッチサイズを指定します。デフォルトはバッチサイズと同じです。1未満の値を指定すると、バッチサイズに対する比率として扱われます。 VAEのほうがメモリを多く消費するため、デノイジング後(stepが100%になった後)でメモリ不足になる場合があります。このような場合にはVAEのバッチサイズを小さくしてください。 - `--vae_slices <スライス数>`:VAE処理時に画像をスライスに分割してVRAM使用量を削減します。None(デフォルト)で分割なし。16や32のような値が推奨されます。有効にすると処理が遅くなりますが、VRAM使用量が少なくなります。 @@ -177,9 +186,9 @@ SDXL モデル(`--sdxl`フラグ付き)を使用する場合、追加のコ - `--diffusers_xformers`:Diffusers経由でxformersを使用します(注:Hypernetworksと互換性がありません)。 -- `--fp16`:fp16(単精度)での推論を行います。`fp16`と`bf16`をどちらも指定しない場合はfp32(単精度)での推論を行います。 +- `--fp16`:fp16(半精度)での推論を行います。`fp16`と`bf16`をどちらも指定しない場合はfp32(単精度)での推論を行います。 -- `--bf16`:bf16(bfloat16)での推論を行います。RTX 30系のGPUでのみ指定可能です。`--bf16`オプションはRTX 30系以外のGPUではエラーになります。`fp16`よりも`bf16`のほうが推論結果がNaNになる(真っ黒の画像になる)可能性が低いようです。 +- `--bf16`:bf16(bfloat16)での推論を行います。RTX 30系以降のGPUでのみ指定可能です。`--bf16`オプションはRTX 30系以外のGPUではエラーになります。SDXLでは`fp16`よりも`bf16`のほうが推論結果がNaNになる(真っ黒の画像になる)可能性が低いようです。 ## 追加ネットワーク(LoRA等)の使用 @@ -204,7 +213,7 @@ SDXL モデル(`--sdxl`フラグ付き)を使用する場合、追加のコ 次は同一プロンプトで64枚をバッチサイズ4で一括生成する例です。 ```batchfile -python gen_img_diffusers.py --ckpt model.ckpt --outdir outputs +python gen_img.py --ckpt model.ckpt --outdir outputs --xformers --fp16 --W 512 --H 704 --scale 12.5 --sampler k_euler_a --steps 32 --batch_size 4 --images_per_prompt 64 --prompt "beautiful flowers --n monochrome" @@ -213,7 +222,7 @@ python gen_img_diffusers.py --ckpt model.ckpt --outdir outputs 次はファイルに書かれたプロンプトを、それぞれ10枚ずつ、バッチサイズ4で一括生成する例です。 ```batchfile -python gen_img_diffusers.py --ckpt model.ckpt --outdir outputs +python gen_img.py --ckpt model.ckpt --outdir outputs --xformers --fp16 --W 512 --H 704 --scale 12.5 --sampler k_euler_a --steps 32 --batch_size 4 --images_per_prompt 10 --from_file prompts.txt @@ -222,7 +231,7 @@ python gen_img_diffusers.py --ckpt model.ckpt --outdir outputs Textual Inversion(後述)およびLoRAの使用例です。 ```batchfile -python gen_img_diffusers.py --ckpt model.safetensors +python gen_img.py --ckpt model.safetensors --scale 8 --steps 48 --outdir txt2img --xformers --W 512 --H 768 --fp16 --sampler k_euler_a --textual_inversion_embeddings goodembed.safetensors negprompt.pt @@ -258,6 +267,22 @@ python gen_img_diffusers.py --ckpt model.safetensors - `--am`:追加ネットワークの重みを指定します。コマンドラインからの指定を上書きします。複数の追加ネットワークを使用する場合は`--am 0.8,0.5,0.3`のように __カンマ区切りで__ 指定します。 +- `--ow`:SDXLのoriginal_widthを指定します。 + +- `--oh`:SDXLのoriginal_heightを指定します。 + +- `--nw`:SDXLのoriginal_width_negativeを指定します。 + +- `--nh`:SDXLのoriginal_height_negativeを指定します。 + +- `--ct`:SDXLのcrop_topを指定します。 + +- `--cl`:SDXLのcrop_leftを指定します。 + +- `--c`:CLIPプロンプトを指定します。 + +- `--f`:生成ファイル名を指定します。 + ※これらのオプションを指定すると、バッチサイズよりも小さいサイズでバッチが実行される場合があります(これらの値が異なると一括生成できないため)。(あまり気にしなくて大丈夫ですが、ファイルからプロンプトを読み込み生成する場合は、これらの値が同一のプロンプトを並べておくと効率が良くなります。) 例: @@ -267,6 +292,21 @@ python gen_img_diffusers.py --ckpt model.safetensors ![image](https://user-images.githubusercontent.com/52813779/235343446-25654172-fff4-4aaf-977a-20d262b51676.png) +# プロンプトのワイルドカード (Dynamic Prompts) + +Dynamic Prompts (Wildcard) 記法に対応しています。Web UIの拡張機能等と完全に同じではありませんが、以下の機能が利用可能です。 + +- `{A|B|C}` : A, B, C の中からランダムに1つを選択します。 +- `{e$$A|B|C}` : A, B, C のすべてを順に利用します(全列挙)。プロンプト内に複数の `{e$$...}` がある場合、すべての組み合わせが生成されます。 + - 例:`{e$$red|blue} flower, {e$$1girl|2girls}` → `red flower, 1girl`, `red flower, 2girls`, `blue flower, 1girl`, `blue flower, 2girls` の4枚が生成されます。 +- `{n$$A|B|C}` : A, B, C の中から n 個をランダムに選択して結合します。 + - 例:`{2$$A|B|C}` → `A, B` や `B, C` など。 +- `{n-m$$A|B|C}` : A, B, C の中から n 個から m 個をランダムに選択して結合します。 +- `{$$sep$$A|B|C}` : 選択された項目を sep で結合します(デフォルトは `, `)。 + - 例:`{2$$ and $$A|B|C}` → `A and B` など。 + +これらは組み合わせて利用可能です。 + # img2img ## オプション @@ -284,7 +324,7 @@ python gen_img_diffusers.py --ckpt model.safetensors ## コマンドラインからの実行例 ```batchfile -python gen_img_diffusers.py --ckpt trinart_characters_it4_v1_vae_merged.ckpt +python gen_img.py --ckpt trinart_characters_it4_v1_vae_merged.ckpt --outdir outputs --xformers --fp16 --scale 12.5 --sampler k_euler --steps 32 --image_path template.png --strength 0.8 --prompt "1girl, cowboy shot, brown hair, pony tail, brown eyes, @@ -325,10 +365,6 @@ img2img時にコマンドラインオプションの`--W`と`--H`で生成画像 モデルとして、当リポジトリで学習したTextual Inversionモデル、およびWeb UIで学習したTextual Inversionモデル(画像埋め込みは非対応)を利用できます -## Extended Textual Inversion - -`--textual_inversion_embeddings`の代わりに`--XTI_embeddings`オプションを指定してください。使用法は`--textual_inversion_embeddings`と同じです。 - ## Highres. fix AUTOMATIC1111氏のWeb UIにある機能の類似機能です(独自実装のためもしかしたらいろいろ異なるかもしれません)。最初に小さめの画像を生成し、その画像を元にimg2imgすることで、画像全体の破綻を防ぎつつ大きな解像度の画像を生成します。 @@ -343,6 +379,8 @@ img2imgと併用できません。 - `--highres_fix_steps`:1st stageの画像のステップ数を指定します。デフォルトは`28`です。 +- `--highres_fix_strength`:1st stageのimg2img時のstrengthを指定します。省略時は`--strength`と同じ値になります。 + - `--highres_fix_save_1st`:1st stageの画像を保存するかどうかを指定します。 - `--highres_fix_latents_upscaling`:指定すると2nd stageの画像生成時に1st stageの画像をlatentベースでupscalingします(bilinearのみ対応)。未指定時は画像をLANCZOS4でupscalingします。 @@ -357,7 +395,7 @@ img2imgと併用できません。 コマンドラインの例です。 ```batchfile -python gen_img_diffusers.py --ckpt trinart_characters_it4_v1_vae_merged.ckpt +python gen_img.py --ckpt trinart_characters_it4_v1_vae_merged.ckpt --n_iter 1 --scale 7.5 --W 1024 --H 1024 --batch_size 1 --outdir ../txt2img --steps 48 --sampler ddim --fp16 --xformers @@ -407,16 +445,16 @@ Deep Shrinkは、異なるタイムステップで異なる深度のUNetを使 - `--control_net_preps`:ControlNetのプリプロセスを指定します。`--control_net_models`と同様に複数指定可能です。現在はcannyのみ対応しています。対象モデルでプリプロセスを使用しない場合は `none` を指定します。 cannyの場合 `--control_net_preps canny_63_191`のように、閾値1と2を'_'で区切って指定できます。 -- `--control_net_weights`:ControlNetの適用時の重みを指定します(`1.0`で通常、`0.5`なら半分の影響力で適用)。`--control_net_models`と同様に複数指定可能です。 +- `--control_net_multipliers`:ControlNetの適用時の重みを指定します(`1.0`で通常、`0.5`なら半分の影響力で適用)。`--control_net_models`と同様に複数指定可能です。 - `--control_net_ratios`:ControlNetを適用するstepの範囲を指定します。`0.5`の場合は、step数の半分までControlNetを適用します。`--control_net_models`と同様に複数指定可能です。 コマンドラインの例です。 ```batchfile -python gen_img_diffusers.py --ckpt model_ckpt --scale 8 --steps 48 --outdir txt2img --xformers +python gen_img.py --ckpt model_ckpt --scale 8 --steps 48 --outdir txt2img --xformers --W 512 --H 768 --bf16 --sampler k_euler_a - --control_net_models diff_control_sd15_canny.safetensors --control_net_weights 1.0 + --control_net_models diff_control_sd15_canny.safetensors --control_net_multipliers 1.0 --guide_image_path guide.png --control_net_ratios 1.0 --interactive ``` @@ -458,70 +496,6 @@ ControlNetと組み合わせることも可能です(細かい位置指定に LoRAを指定すると、`--network_weights`で指定した複数のLoRAがそれぞれANDの各部分に対応します。現在の制約として、LoRAの数はANDの部分の数と同じである必要があります。 -## CLIP Guided Stable Diffusion - -DiffusersのCommunity Examplesの[こちらのcustom pipeline](https://github.com/huggingface/diffusers/blob/main/examples/community/README.md#clip-guided-stable-diffusion)からソースをコピー、変更したものです。 - -通常のプロンプトによる生成指定に加えて、追加でより大規模のCLIPでプロンプトのテキストの特徴量を取得し、生成中の画像の特徴量がそのテキストの特徴量に近づくよう、生成される画像をコントロールします(私のざっくりとした理解です)。大きめのCLIPを使いますのでVRAM使用量はかなり増加し(VRAM 8GBでは512*512でも厳しいかもしれません)、生成時間も掛かります。 - -なお選択できるサンプラーはDDIM、PNDM、LMSのみとなります。 - -`--clip_guidance_scale`オプションにどの程度、CLIPの特徴量を反映するかを数値で指定します。先のサンプルでは100になっていますので、そのあたりから始めて増減すると良いようです。 - -デフォルトではプロンプトの先頭75トークン(重みづけの特殊文字を除く)がCLIPに渡されます。プロンプトの`--c`オプションで、通常のプロンプトではなく、CLIPに渡すテキストを別に指定できます(たとえばCLIPはDreamBoothのidentifier(識別子)や「1girl」などのモデル特有の単語は認識できないと思われますので、それらを省いたテキストが良いと思われます)。 - -コマンドラインの例です。 - -```batchfile -python gen_img_diffusers.py --ckpt v1-5-pruned-emaonly.ckpt --n_iter 1 - --scale 2.5 --W 512 --H 512 --batch_size 1 --outdir ../txt2img --steps 36 - --sampler ddim --fp16 --opt_channels_last --xformers --images_per_prompt 1 - --interactive --clip_guidance_scale 100 -``` - -## CLIP Image Guided Stable Diffusion - -テキストではなくCLIPに別の画像を渡し、その特徴量に近づくよう生成をコントロールする機能です。`--clip_image_guidance_scale`オプションで適用量の数値を、`--guide_image_path`オプションでguideに使用する画像(ファイルまたはフォルダ)を指定してください。 - -コマンドラインの例です。 - -```batchfile -python gen_img_diffusers.py --ckpt trinart_characters_it4_v1_vae_merged.ckpt - --n_iter 1 --scale 7.5 --W 512 --H 512 --batch_size 1 --outdir ../txt2img - --steps 80 --sampler ddim --fp16 --opt_channels_last --xformers - --images_per_prompt 1 --interactive --clip_image_guidance_scale 100 - --guide_image_path YUKA160113420I9A4104_TP_V.jpg -``` - -### VGG16 Guided Stable Diffusion - -指定した画像に近づくように画像生成する機能です。通常のプロンプトによる生成指定に加えて、追加でVGG16の特徴量を取得し、生成中の画像が指定したガイド画像に近づくよう、生成される画像をコントロールします。img2imgでの使用をお勧めします(通常の生成では画像がぼやけた感じになります)。CLIP Guided Stable Diffusionの仕組みを流用した独自の機能です。またアイデアはVGGを利用したスタイル変換から拝借しています。 - -なお選択できるサンプラーはDDIM、PNDM、LMSのみとなります。 - -`--vgg16_guidance_scale`オプションにどの程度、VGG16特徴量を反映するかを数値で指定します。試した感じでは100くらいから始めて増減すると良いようです。`--guide_image_path`オプションでguideに使用する画像(ファイルまたはフォルダ)を指定してください。 - -複数枚の画像を一括でimg2img変換し、元画像をガイド画像とする場合、`--guide_image_path`と`--image_path`に同じ値を指定すればOKです。 - -コマンドラインの例です。 - -```batchfile -python gen_img_diffusers.py --ckpt wd-v1-3-full-pruned-half.ckpt - --n_iter 1 --scale 5.5 --steps 60 --outdir ../txt2img - --xformers --sampler ddim --fp16 --W 512 --H 704 - --batch_size 1 --images_per_prompt 1 - --prompt "picturesque, 1girl, solo, anime face, skirt, beautiful face - --n lowres, bad anatomy, bad hands, error, missing fingers, - cropped, worst quality, low quality, normal quality, - jpeg artifacts, blurry, 3d, bad face, monochrome --d 1" - --strength 0.8 --image_path ..\src_image - --vgg16_guidance_scale 100 --guide_image_path ..\src_image -``` - -`--vgg16_guidance_layerPで特徴量取得に使用するVGG16のレイヤー番号を指定できます(デフォルトは20でconv4-2のReLUです)。上の層ほど画風を表現し、下の層ほどコンテンツを表現するといわれています。 - -![image](https://user-images.githubusercontent.com/52813779/235343813-3c1f0d7a-4fb3-4274-98e4-b92d76b551df.png) - # その他のオプション - `--no_preview` : 対話モードでプレビュー画像を表示しません。OpenCVがインストールされていない場合や、出力されたファイルを直接確認する場合に指定してください。 @@ -542,27 +516,11 @@ python gen_img_diffusers.py --ckpt wd-v1-3-full-pruned-half.ckpt - `--network_show_meta`:追加ネットワークのメタデータを表示します。 - --- -# About Gradual Latent - -Gradual Latent is a Hires fix that gradually increases the size of the latent. `gen_img.py`, `sdxl_gen_img.py`, and `gen_img_diffusers.py` have the following options. - -- `--gradual_latent_timesteps`: Specifies the timestep to start increasing the size of the latent. The default is None, which means Gradual Latent is not used. Please try around 750 at first. -- `--gradual_latent_ratio`: Specifies the initial size of the latent. The default is 0.5, which means it starts with half the default latent size. -- `--gradual_latent_ratio_step`: Specifies the ratio to increase the size of the latent. The default is 0.125, which means the latent size is gradually increased to 0.625, 0.75, 0.875, 1.0. -- `--gradual_latent_ratio_every_n_steps`: Specifies the interval to increase the size of the latent. The default is 3, which means the latent size is increased every 3 steps. - -Each option can also be specified with prompt options, `--glt`, `--glr`, `--gls`, `--gle`. - -__Please specify `euler_a` for the sampler.__ Because the source code of the sampler is modified. It will not work with other samplers. - -It is more effective with SD 1.5. It is quite subtle with SDXL. - # Gradual Latent について -latentのサイズを徐々に大きくしていくHires fixです。`gen_img.py` 、``sdxl_gen_img.py` 、`gen_img_diffusers.py` に以下のオプションが追加されています。 +latentのサイズを徐々に大きくしていくHires fixです。 - `--gradual_latent_timesteps` : latentのサイズを大きくし始めるタイムステップを指定します。デフォルトは None で、Gradual Latentを使用しません。750 くらいから始めてみてください。 - `--gradual_latent_ratio` : latentの初期サイズを指定します。デフォルトは 0.5 で、デフォルトの latent サイズの半分のサイズから始めます。 diff --git a/docs/gen_img_README.md b/docs/gen_img_README.md index bcfbef7f7..64fa9cbc0 100644 --- a/docs/gen_img_README.md +++ b/docs/gen_img_README.md @@ -10,25 +10,16 @@ This is an inference (image generation) script that supports SD 1.x and 2.x mode * The number of images generated per prompt line can be specified. * The total number of repetitions can be specified. * Supports not only `fp16` but also `bf16`. -* Supports xformers for high-speed generation. - * Although xformers are used for memory-saving generation, it is not as optimized as Automatic 1111's Web UI, so it uses about 6GB of VRAM for 512*512 image generation. +* Supports xformers and SDPA (Scaled Dot-Product Attention). * Extension of prompts to 225 tokens. Supports negative prompts and weighting. -* Supports various samplers from Diffusers including ddim, pndm, lms, euler, euler_a, heun, dpm_2, dpm_2_a, dpmsolver, dpmsolver++, dpmsingle. +* Supports various samplers from Diffusers. * Supports clip skip (uses the output of the nth layer from the end) of Text Encoder. -* Separate loading of VAE. -* Supports CLIP Guided Stable Diffusion, VGG16 Guided Stable Diffusion, Highres. fix, and upscale. - * Highres. fix is an original implementation that has not confirmed the Web UI implementation at all, so the output results may differ. -* LoRA support. Supports application rate specification, simultaneous use of multiple LoRAs, and weight merging. - * It is not possible to specify different application rates for Text Encoder and U-Net. -* Supports Attention Couple. -* Supports ControlNet v1.0. -* Supports Deep Shrink for optimizing generation at different depths. -* Supports Gradual Latent for progressive upscaling during generation. -* Supports CLIP Vision Conditioning for img2img. +* Separate loading of VAE, supports VAE batch processing and slicing for memory saving. +* Highres. fix (original implementation and Gradual Latent), upscale support. +* LoRA, DyLoRA support. Supports application rate specification, simultaneous use of multiple LoRAs, and weight merging. +* Supports Attention Couple, Regional LoRA. +* Supports ControlNet (v1.0/v1.1), ControlNet-LLLite. * It is not possible to switch models midway, but it can be handled by creating a batch file. -* Various personally desired features have been added. - -Since not all tests are performed when adding features, it is possible that previous features may be affected and some features may not work. Please let us know if you have any problems. # Basic Usage @@ -110,6 +101,16 @@ Specify from the command line. If the `--v2` or `--sdxl` specification is incorrect, an error will occur when loading the model. If the `--v_parameterization` specification is incorrect, a brown image will be displayed. +- `--zero_terminal_snr`: Modifies the noise scheduler betas to enforce zero terminal SNR. + +- `--pyramid_noise_prob`: Specifies the probability of applying pyramid noise. + +- `--pyramid_noise_discount_range`: Specifies the discount range for pyramid noise. + +- `--noise_offset_prob`: Specifies the probability of applying noise offset. + +- `--noise_offset_range`: Specifies the range of noise offset. + - `--vae`: Specifies the VAE to use. If not specified, the VAE in the model will be used. - `--tokenizer_cache_dir`: Specifies the cache directory for the tokenizer (for offline usage). @@ -134,13 +135,14 @@ Specify from the command line. - `--scale `: Specifies the unconditional guidance scale. The default is `7.5`. -- `--sampler `: Specifies the sampler. The default is `ddim`. The following samplers are supported: ddim, pndm, lms, euler, euler_a, heun, dpm_2, dpm_2_a, dpmsolver, dpmsolver++, dpmsingle. Some can also be specified with k_ prefix (k_lms, k_euler, k_euler_a, k_dpm_2, k_dpm_2_a). +- `--sampler `: Specifies the sampler. The default is `ddim`. + `ddim`, `pndm`, `lms`, `euler`, `euler_a`, `heun`, `dpm_2`, `dpm_2_a`, `dpmsolver`, `dpmsolver++`, `dpmsingle`, `k_lms`, `k_euler`, `k_euler_a`, `k_dpm_2`, `k_dpm_2_a` can be specified. - `--outdir `: Specifies the output destination for images. - `--images_per_prompt `: Specifies the number of images to generate per prompt. The default is `1`. -- `--clip_skip `: Specifies which layer from the end of CLIP to use. If omitted, the last layer is used. +- `--clip_skip `: Specifies which layer from the end of CLIP to use. Default is 1 for SD1/2, 2 for SDXL. - `--max_embeddings_multiples `: Specifies how many times the CLIP input/output length should be multiplied by the default (75). If not specified, it remains 75. For example, specifying 3 makes the input/output length 225. @@ -148,6 +150,8 @@ Specify from the command line. - `--emb_normalize_mode`: Specifies the embedding normalization mode. Options are "original" (default), "abs", and "none". This affects how prompt weights are normalized. +- `--force_scheduler_zero_steps_offset`: Forces the scheduler step offset to zero regardless of the `steps_offset` value in the scheduler configuration. + ## SDXL-Specific Options When using SDXL models (with `--sdxl` flag), additional conditioning options are available: @@ -262,6 +266,22 @@ Please put spaces before and after the prompt option specification `--n`. - `--am`: Specifies the weight of the additional network. Overrides the command line specification. If using multiple additional networks, specify them separated by __commas__, like `--am 0.8,0.5,0.3`. +- `--ow`: Specifies original_width for SDXL. + +- `--oh`: Specifies original_height for SDXL. + +- `--nw`: Specifies original_width_negative for SDXL. + +- `--nh`: Specifies original_height_negative for SDXL. + +- `--ct`: Specifies crop_top for SDXL. + +- `--cl`: Specifies crop_left for SDXL. + +- `--c`: Specifies the CLIP prompt. + +- `--f`: Specifies the generated file name. + - `--glt`: Specifies the timestep to start increasing the size of the latent for Gradual Latent. Overrides the command line specification. - `--glr`: Specifies the initial size of the latent for Gradual Latent as a ratio. Overrides the command line specification. @@ -279,6 +299,21 @@ Example: ![image](https://user-images.githubusercontent.com/52813779/235343446-25654172-fff4-4aaf-977a-20d262b51676.png) +# Wildcards in Prompts (Dynamic Prompts) + +Dynamic Prompts (Wildcard) notation is supported. While not exactly the same as the Web UI extension, the following features are available. + +- `{A|B|C}` : Randomly selects one from A, B, or C. +- `{e$$A|B|C}` : Uses all of A, B, and C in order (enumeration). If there are multiple `{e$$...}` in the prompt, all combinations will be generated. + - Example: `{e$$red|blue} flower, {e$$1girl|2girls}` -> Generates 4 images: `red flower, 1girl`, `red flower, 2girls`, `blue flower, 1girl`, `blue flower, 2girls`. +- `{n$$A|B|C}` : Randomly selects n items from A, B, C and combines them. + - Example: `{2$$A|B|C}` -> `A, B` or `B, C`, etc. +- `{n-m$$A|B|C}` : Randomly selects between n and m items from A, B, C and combines them. +- `{$$sep$$A|B|C}` : Combines selected items with `sep` (default is `, `). + - Example: `{2$$ and $$A|B|C}` -> `A and B`, etc. + +These can be used in combination. + # img2img ## Options @@ -337,10 +372,6 @@ Specify the embeddings to use with the `--textual_inversion_embeddings` option ( As models, you can use Textual Inversion models trained with this repository and Textual Inversion models trained with Web UI (image embedding is not supported). -## Extended Textual Inversion - -Specify the `--XTI_embeddings` option instead of `--textual_inversion_embeddings`. Usage is the same as `--textual_inversion_embeddings`. - ## Highres. fix This is a similar feature to the one in AUTOMATIC1111's Web UI (it may differ in various ways as it is an original implementation). It first generates a smaller image and then uses that image as a base for img2img to generate a large resolution image while preventing the entire image from collapsing. @@ -480,70 +511,6 @@ It can also be combined with ControlNet (combination with ControlNet is recommen If LoRA is specified, multiple LoRAs specified with `--network_weights` will correspond to each part of AND. As a current constraint, the number of LoRAs must be the same as the number of AND parts. -## CLIP Guided Stable Diffusion - -The source code is copied and modified from [this custom pipeline](https://github.com/huggingface/diffusers/blob/main/examples/community/README.md#clip-guided-stable-diffusion) in Diffusers' Community Examples. - -In addition to the normal prompt-based generation specification, it additionally acquires the text features of the prompt with a larger CLIP and controls the generated image so that the features of the image being generated approach those text features (this is my rough understanding). Since a larger CLIP is used, VRAM usage increases considerably (it may be difficult even for 512*512 with 8GB of VRAM), and generation time also increases. - -Note that the selectable samplers are DDIM, PNDM, and LMS only. - -Specify how much to reflect the CLIP features numerically with the `--clip_guidance_scale` option. In the previous sample, it is 100, so it seems good to start around there and increase or decrease it. - -By default, the first 75 tokens of the prompt (excluding special weighting characters) are passed to CLIP. With the `--c` option in the prompt, you can specify the text to be passed to CLIP separately from the normal prompt (for example, it is thought that CLIP cannot recognize DreamBooth identifiers or model-specific words like "1girl", so text excluding them is considered good). - -Command line example: - -```batchfile -python gen_img.py --ckpt v1-5-pruned-emaonly.ckpt --n_iter 1 \ - --scale 2.5 --W 512 --H 512 --batch_size 1 --outdir ../txt2img --steps 36 \ - --sampler ddim --fp16 --opt_channels_last --xformers --images_per_prompt 1 \ - --interactive --clip_guidance_scale 100 -``` - -## CLIP Image Guided Stable Diffusion - -This is a feature that passes another image to CLIP instead of text and controls generation to approach its features. Specify the numerical value of the application amount with the `--clip_image_guidance_scale` option and the image (file or folder) to use for guidance with the `--guide_image_path` option. - -Command line example: - -```batchfile -python gen_img.py --ckpt trinart_characters_it4_v1_vae_merged.ckpt\ - --n_iter 1 --scale 7.5 --W 512 --H 512 --batch_size 1 --outdir ../txt2img \ - --steps 80 --sampler ddim --fp16 --opt_channels_last --xformers \ - --images_per_prompt 1 --interactive --clip_image_guidance_scale 100 \ - --guide_image_path YUKA160113420I9A4104_TP_V.jpg -``` - -### VGG16 Guided Stable Diffusion - -This is a feature that generates images to approach a specified image. In addition to the normal prompt-based generation specification, it additionally acquires the features of VGG16 and controls the generated image so that the image being generated approaches the specified guide image. It is recommended to use it with img2img (images tend to be blurred in normal generation). This is an original feature that reuses the mechanism of CLIP Guided Stable Diffusion. The idea is also borrowed from style transfer using VGG. - -Note that the selectable samplers are DDIM, PNDM, and LMS only. - -Specify how much to reflect the VGG16 features numerically with the `--vgg16_guidance_scale` option. From what I've tried, it seems good to start around 100 and increase or decrease it. Specify the image (file or folder) to use for guidance with the `--guide_image_path` option. - -When batch converting multiple images with img2img and using the original images as guide images, it is OK to specify the same value for `--guide_image_path` and `--image_path`. - -Command line example: - -```batchfile -python gen_img.py --ckpt wd-v1-3-full-pruned-half.ckpt \ - --n_iter 1 --scale 5.5 --steps 60 --outdir ../txt2img \ - --xformers --sampler ddim --fp16 --W 512 --H 704 \ - --batch_size 1 --images_per_prompt 1 \ - --prompt "picturesque, 1girl, solo, anime face, skirt, beautiful face \ - --n lowres, bad anatomy, bad hands, error, missing fingers, \ - cropped, worst quality, low quality, normal quality, \ - jpeg artifacts, blurry, 3d, bad face, monochrome --d 1" \ - --strength 0.8 --image_path ..\\src_image\ - --vgg16_guidance_scale 100 --guide_image_path ..\\src_image \ -``` - -You can specify the VGG16 layer number used for feature acquisition with `--vgg16_guidance_layerP` (default is 20, which is ReLU of conv4-2). It is said that upper layers express style and lower layers express content. - -![image](https://user-images.githubusercontent.com/52813779/235343813-3c1f0d7a-4fb3-4274-98e4-b92d76b551df.png) - # Other Options - `--no_preview`: Does not display preview images in interactive mode. Specify this if OpenCV is not installed or if you want to check the output files directly. @@ -576,7 +543,7 @@ Gradual Latent is a Hires fix that gradually increases the size of the latent. - `--gradual_latent_ratio_step`: Specifies the ratio to increase the size of the latent. The default is 0.125, which means the latent size is gradually increased to 0.625, 0.75, 0.875, 1.0. - `--gradual_latent_ratio_every_n_steps`: Specifies the interval to increase the size of the latent. The default is 3, which means the latent size is increased every 3 steps. - `--gradual_latent_s_noise`: Specifies the s_noise parameter for Gradual Latent. Default is 1.0. -- `--gradual_latent_unsharp_params`: Specifies unsharp mask parameters for Gradual Latent in the format: ksize,sigma,strength,target-x (where target-x: 1=True, 0=False). Recommended values: `3,0.5,0.5,1` or `3,1.0,1.0,0`. +- `--gradual_latent_unsharp_params`: Specifies unsharp mask parameters for Gradual Latent in the format: ksize,sigma,strength,target-x (target-x: 1=True, 0=False). Recommended values: `3,0.5,0.5,1` or `3,1.0,1.0,0`. Each option can also be specified with prompt options, `--glt`, `--glr`, `--gls`, `--gle`. diff --git a/gen_img.py b/gen_img.py index d0c99bd17..13d49c333 100644 --- a/gen_img.py +++ b/gen_img.py @@ -1,5 +1,6 @@ import itertools import json +from types import SimpleNamespace from typing import Any, List, NamedTuple, Optional, Tuple, Union, Callable import glob import importlib @@ -20,7 +21,8 @@ import numpy as np import torch -from library.device_utils import init_ipex, clean_memory, get_preferred_device +from library.device_utils import init_ipex +from library.strategy_sd import SdTokenizeStrategy init_ipex() @@ -60,6 +62,7 @@ from library.sdxl_original_unet import InferSdxlUNet2DConditionModel from library.sdxl_original_control_net import SdxlControlNet from library.original_unet import FlashAttentionFunction +from library.custom_train_functions import pyramid_noise_like from networks.control_net_lllite import ControlNetLLLite from library.utils import GradualLatent, EulerAncestralDiscreteSchedulerGL from library.utils import setup_logging, add_logging_arguments @@ -434,6 +437,7 @@ def __call__( img2img_noise=None, clip_guide_images=None, emb_normalize_mode: str = "original", + force_scheduler_zero_steps_offset: bool = False, **kwargs, ): # TODO support secondary prompt @@ -707,7 +711,10 @@ def __call__( raise ValueError("The mask and init_image should be the same size!") # get the original timestep using init_timestep - offset = self.scheduler.config.get("steps_offset", 0) + if force_scheduler_zero_steps_offset: + offset = 0 + else: + offset = self.scheduler.config.get("steps_offset", 0) init_timestep = int(num_inference_steps * strength) + offset init_timestep = min(init_timestep, num_inference_steps) @@ -859,7 +866,7 @@ def __call__( ) input_resi_add = input_resi_add_mean mid_add = torch.mean(torch.stack(mid_add_list), dim=0) - + noise_pred = self.unet(latent_model_input, t, text_embeddings, vector_embeddings, input_resi_add, mid_add) elif self.is_sdxl: noise_pred = self.unet(latent_model_input, t, text_embeddings, vector_embeddings) @@ -1362,97 +1369,177 @@ def preprocess_mask(mask): RE_DYNAMIC_PROMPT = re.compile(r"\{((e|E)\$\$)?(([\d\-]+)\$\$)?(([^\|\}]+?)\$\$)?(.+?((\|).+?)*?)\}") -def handle_dynamic_prompt_variants(prompt, repeat_count): +def handle_dynamic_prompt_variants(prompt, repeat_count, seed_random, seeds=None): founds = list(RE_DYNAMIC_PROMPT.finditer(prompt)) if not founds: - return [prompt] - - # make each replacement for each variant - enumerating = False - replacers = [] - for found in founds: - # if "e$$" is found, enumerate all variants - found_enumerating = found.group(2) is not None - enumerating = enumerating or found_enumerating - - separator = ", " if found.group(6) is None else found.group(6) - variants = found.group(7).split("|") - - # parse count range - count_range = found.group(4) - if count_range is None: - count_range = [1, 1] - else: - count_range = count_range.split("-") - if len(count_range) == 1: - count_range = [int(count_range[0]), int(count_range[0])] - elif len(count_range) == 2: - count_range = [int(count_range[0]), int(count_range[1])] + return [prompt], seeds + + # Prepare seeds list + if seeds is None: + seeds = [] + while len(seeds) < repeat_count: + seeds.append(seed_random.randint(0, 2**32 - 1)) + + # Escape braces + prompt = prompt.replace(r"\{", "{").replace(r"\}", "}") + + # Process nested dynamic prompts recursively + prompts = [prompt] * repeat_count + has_dynamic = True + while has_dynamic: + has_dynamic = False + new_prompts = [] + for i, prompt in enumerate(prompts): + seed = seeds[i] if i < len(seeds) else seeds[0] # if enumerating, use the first seed + + # find innermost dynamic prompts + + # find outer dynamic prompt and temporarily replace them with placeholders + deepest_nest_level = 0 + nest_level = 0 + for c in prompt: + if c == "{": + nest_level += 1 + deepest_nest_level = max(deepest_nest_level, nest_level) + elif c == "}": + nest_level -= 1 + if deepest_nest_level == 0: + new_prompts.append(prompt) + continue # no more dynamic prompts + + # find positions of innermost dynamic prompts + positions = [] + nest_level = 0 + start_pos = -1 + for i, c in enumerate(prompt): + if c == "{": + nest_level += 1 + if nest_level == deepest_nest_level: + start_pos = i + elif c == "}": + if nest_level == deepest_nest_level: + end_pos = i + 1 + positions.append((start_pos, end_pos)) + nest_level -= 1 + + # extract innermost dynamic prompts + innermost_founds = [] + for start, end in positions: + segment = prompt[start:end] + m = RE_DYNAMIC_PROMPT.match(segment) + if m: + innermost_founds.append((m, start, end)) + + if not innermost_founds: + new_prompts.append(prompt) + continue + has_dynamic = True + + # make each replacement for each variant + enumerating = False + replacers = [] + for found, start, end in innermost_founds: + # if "e$$" is found, enumerate all variants + found_enumerating = found.group(2) is not None + enumerating = enumerating or found_enumerating + + separator = ", " if found.group(6) is None else found.group(6) + variants = found.group(7).split("|") + + # parse count range + count_range = found.group(4) + if count_range is None: + count_range = [1, 1] + else: + count_range = count_range.split("-") + if len(count_range) == 1: + count_range = [int(count_range[0]), int(count_range[0])] + elif len(count_range) == 2: + count_range = [int(count_range[0]), int(count_range[1])] + else: + logger.warning(f"invalid count range: {count_range}") + count_range = [1, 1] + if count_range[0] > count_range[1]: + count_range = [count_range[1], count_range[0]] + if count_range[0] < 0: + count_range[0] = 0 + if count_range[1] > len(variants): + count_range[1] = len(variants) + + if found_enumerating: + # make function to enumerate all combinations + def make_replacer_enum(vari, cr, sep): + def replacer(rnd=random): + values = [] + for count in range(cr[0], cr[1] + 1): + for comb in itertools.combinations(vari, count): + values.append(sep.join(comb)) + return values + + return replacer + + replacers.append(make_replacer_enum(variants, count_range, separator)) + else: + # make function to choose random combinations + def make_replacer_single(vari, cr, sep): + def replacer(rnd=random): + count = rnd.randint(cr[0], cr[1]) + comb = rnd.sample(vari, count) + return [sep.join(comb)] + + return replacer + + replacers.append(make_replacer_single(variants, count_range, separator)) + + # make each prompt + rnd = random.Random(seed) + if not enumerating: + # if not enumerating, repeat the prompt, replace each variant randomly + + # reverse the lists to replace from end to start, keep positions correct + innermost_founds.reverse() + replacers.reverse() + + current = prompt + for (found, start, end), replacer in zip(innermost_founds, replacers): + current = current[:start] + replacer(rnd)[0] + current[end:] + new_prompts.append(current) else: - logger.warning(f"invalid count range: {count_range}") - count_range = [1, 1] - if count_range[0] > count_range[1]: - count_range = [count_range[1], count_range[0]] - if count_range[0] < 0: - count_range[0] = 0 - if count_range[1] > len(variants): - count_range[1] = len(variants) - - if found_enumerating: - # make function to enumerate all combinations - def make_replacer_enum(vari, cr, sep): - def replacer(): - values = [] - for count in range(cr[0], cr[1] + 1): - for comb in itertools.combinations(vari, count): - values.append(sep.join(comb)) - return values - - return replacer - - replacers.append(make_replacer_enum(variants, count_range, separator)) - else: - # make function to choose random combinations - def make_replacer_single(vari, cr, sep): - def replacer(): - count = random.randint(cr[0], cr[1]) - comb = random.sample(vari, count) - return [sep.join(comb)] - - return replacer - - replacers.append(make_replacer_single(variants, count_range, separator)) - - # make each prompt - if not enumerating: - # if not enumerating, repeat the prompt, replace each variant randomly - prompts = [] - for _ in range(repeat_count): - current = prompt - for found, replacer in zip(founds, replacers): - current = current.replace(found.group(0), replacer()[0], 1) - prompts.append(current) - else: - # if enumerating, iterate all combinations for previous prompts - prompts = [prompt] - - for found, replacer in zip(founds, replacers): - if found.group(2) is not None: - # make all combinations for existing prompts - new_prompts = [] - for current in prompts: - replecements = replacer() - for replecement in replecements: - new_prompts.append(current.replace(found.group(0), replecement, 1)) - prompts = new_prompts - - for found, replacer in zip(founds, replacers): - # make random selection for existing prompts - if found.group(2) is None: - for i in range(len(prompts)): - prompts[i] = prompts[i].replace(found.group(0), replacer()[0], 1) - - return prompts + # if enumerating, iterate all combinations for previous prompts, all seeds are same + processing_prompts = [prompt] + for found, replacer in zip(founds, replacers): + if found.group(2) is not None: + # make all combinations for existing prompts + repleced_prompts = [] + for current in processing_prompts: + replacements = replacer(rnd) + for replacement in replacements: + repleced_prompts.append( + current.replace(found.group(0), replacement, 1) + ) # This does not work if found is duplicated + processing_prompts = repleced_prompts + + for found, replacer in zip(founds, replacers): + # make random selection for existing prompts + if found.group(2) is None: + for i in range(len(processing_prompts)): + processing_prompts[i] = processing_prompts[i].replace(found.group(0), replacer(rnd)[0], 1) + + new_prompts.extend(processing_prompts) + + prompts = new_prompts + + # Restore escaped braces + for i in range(len(prompts)): + prompts[i] = prompts[i].replace("{", "{").replace("}", "}") + if enumerating: + # adjust seeds list + new_seeds = [] + for _ in range(len(prompts)): + new_seeds.append(seeds[0]) # use the first seed for all + seeds = new_seeds + + return prompts, seeds # endregion @@ -1612,7 +1699,8 @@ def main(args): tokenizers = [tokenizer1, tokenizer2] else: if use_stable_diffusion_format: - tokenizer = train_util.load_tokenizer(args) + tokenize_strategy = SdTokenizeStrategy(args.v2, max_length=None, tokenizer_cache_dir=args.tokenizer_cache_dir) + tokenizer = tokenize_strategy.tokenizer tokenizers = [tokenizer] # schedulerを用意する @@ -1719,6 +1807,9 @@ def __getattr__(self, item): if scheduler_module is not None: scheduler_module.torch = TorchRandReplacer(noise_manager) + if args.zero_terminal_snr: + sched_init_args["rescale_betas_zero_snr"] = True + scheduler = scheduler_cls( num_train_timesteps=SCHEDULER_TIMESTEPS, beta_start=SCHEDULER_LINEAR_START, @@ -1727,6 +1818,9 @@ def __getattr__(self, item): **sched_init_args, ) + # if args.zero_terminal_snr: + # custom_train_functions.fix_noise_scheduler_betas_for_zero_terminal_snr(scheduler) + # ↓以下は結局PipeでFalseに設定されるので意味がなかった # # clip_sample=Trueにする # if hasattr(scheduler.config, "clip_sample") and scheduler.config.clip_sample is False: @@ -1868,7 +1962,7 @@ def __getattr__(self, item): if not is_sdxl: for i, model in enumerate(args.control_net_models): prep_type = None if not args.control_net_preps or len(args.control_net_preps) <= i else args.control_net_preps[i] - weight = 1.0 if not args.control_net_weights or len(args.control_net_weights) <= i else args.control_net_weights[i] + weight = 1.0 if not args.control_net_multipliers or len(args.control_net_multipliers) <= i else args.control_net_multipliers[i] ratio = 1.0 if not args.control_net_ratios or len(args.control_net_ratios) <= i else args.control_net_ratios[i] ctrl_unet, ctrl_net = original_control_net.load_control_net(args.v2, unet, model) @@ -2355,7 +2449,9 @@ def scale_and_round(x): if images_1st.dtype == torch.bfloat16: images_1st = images_1st.to(torch.float) # interpolateがbf16をサポートしていない images_1st = torch.nn.functional.interpolate( - images_1st, (batch[0].ext.height // 8, batch[0].ext.width // 8), mode="bilinear" + images_1st, + (batch[0].ext.height // 8, batch[0].ext.width // 8), + mode="bicubic", ) # , antialias=True) images_1st = images_1st.to(org_dtype) @@ -2464,6 +2560,20 @@ def scale_and_round(x): torch.manual_seed(seed) start_code[i] = torch.randn(noise_shape, device=device, dtype=dtype) + # pyramid noise + if args.pyramid_noise_prob is not None and random.random() < args.pyramid_noise_prob: + min_discount, max_discount = args.pyramid_noise_discount_range + discount = torch.rand(1, device=device, dtype=dtype) * (max_discount - min_discount) + min_discount + logger.info(f"apply pyramid noise to start code: {start_code[i].shape}, discount: {discount.item()}") + start_code[i] = pyramid_noise_like(start_code[i].unsqueeze(0), device=device, discount=discount).squeeze(0) + + # noise offset + if args.noise_offset_prob is not None and random.random() < args.noise_offset_prob: + min_offset, max_offset = args.noise_offset_range + noise_offset = torch.randn(1, device=device, dtype=dtype) * (max_offset - min_offset) + min_offset + logger.info(f"apply noise offset to start code: {start_code[i].shape}, offset: {noise_offset.item()}") + start_code[i] += noise_offset + # make each noises for j in range(steps * scheduler_num_noises_per_step): noises[j][i] = torch.randn(noise_shape, device=device, dtype=dtype) @@ -2532,6 +2642,7 @@ def scale_and_round(x): clip_prompts=clip_prompts, clip_guide_images=guide_images, emb_normalize_mode=args.emb_normalize_mode, + force_scheduler_zero_steps_offset=args.force_scheduler_zero_steps_offset, ) if highres_1st and not args.highres_fix_save_1st: # return images or latents return images @@ -2624,7 +2735,16 @@ def scale_and_round(x): # sd-dynamic-prompts like variants: # count is 1 (not dynamic) or images_per_prompt (no enumeration) or arbitrary (enumeration) - raw_prompts = handle_dynamic_prompt_variants(raw_prompt, args.images_per_prompt) + seeds = None + m = re.search(r" --d ([\d+,]+)", raw_prompt, re.IGNORECASE) + if m: + seeds = [int(d) for d in m[0][5:].split(",")] + logger.info(f"seeds: {seeds}") + raw_prompt = raw_prompt[: m.start()] + raw_prompt[m.end() :] + + raw_prompts, prompt_seeds = handle_dynamic_prompt_variants(raw_prompt, args.images_per_prompt, seed_random, seeds) + if prompt_seeds is not None: + seeds = prompt_seeds # repeat prompt for pi in range(args.images_per_prompt if len(raw_prompts) == 1 else len(raw_prompts)): @@ -2644,8 +2764,8 @@ def scale_and_round(x): scale = args.scale negative_scale = args.negative_scale steps = args.steps - seed = None - seeds = None + # seed = None + # seeds = None strength = 0.8 if args.strength is None else args.strength negative_prompt = "" clip_prompt = None @@ -2727,11 +2847,11 @@ def scale_and_round(x): logger.info(f"steps: {steps}") continue - m = re.match(r"d ([\d,]+)", parg, re.IGNORECASE) - if m: # seed - seeds = [int(d) for d in m.group(1).split(",")] - logger.info(f"seeds: {seeds}") - continue + # m = re.match(r"d ([\d,]+)", parg, re.IGNORECASE) + # if m: # seed + # seeds = [int(d) for d in m.group(1).split(",")] + # logger.info(f"seeds: {seeds}") + # continue m = re.match(r"l ([\d\.]+)", parg, re.IGNORECASE) if m: # scale @@ -3012,6 +3132,27 @@ def setup_parser() -> argparse.ArgumentParser: parser.add_argument( "--v_parameterization", action="store_true", help="enable v-parameterization training / v-parameterization学習を有効にする" ) + parser.add_argument( + "--zero_terminal_snr", + action="store_true", + help="fix noise scheduler betas to enforce zero terminal SNR / noise schedulerのbetasを修正して、zero terminal SNRを強制する", + ) + parser.add_argument( + "--pyramid_noise_prob", type=float, default=None, help="probability for pyramid noise / ピラミッドノイズの確率" + ) + parser.add_argument( + "--pyramid_noise_discount_range", + type=float, + nargs=2, + default=None, + help="discount range for pyramid noise / ピラミッドノイズの割引範囲", + ) + parser.add_argument( + "--noise_offset_prob", type=float, default=None, help="probability for noise offset / ノイズオフセットの確率" + ) + parser.add_argument( + "--noise_offset_range", type=float, nargs=2, default=None, help="range for noise offset / ノイズオフセットの範囲" + ) parser.add_argument("--prompt", type=str, default=None, help="prompt / プロンプト") parser.add_argument( @@ -3250,6 +3391,12 @@ def setup_parser() -> argparse.ArgumentParser: choices=["original", "none", "abs"], help="embedding normalization mode / embeddingの正規化モード", ) + parser.add_argument( + "--force_scheduler_zero_steps_offset", + action="store_true", + help="force scheduler steps offset to zero" + + " / スケジューラのステップオフセットをスケジューラ設定の `steps_offset` の値に関わらず強制的にゼロにする", + ) parser.add_argument( "--guide_image_path", type=str, default=None, nargs="*", help="image to ControlNet / ControlNetでガイドに使う画像" ) From b996440c5fb89b91079dbf0a6f1ddea42efdc018 Mon Sep 17 00:00:00 2001 From: "Kohya S." <52813779+kohya-ss@users.noreply.github.com> Date: Mon, 19 Jan 2026 21:38:46 +0900 Subject: [PATCH 720/748] Doc update sd3 branch documentation (#2253) * doc: move sample prompt file documentation, and remove history for branch * doc: remove outdated FLUX.1 and SD3 training information from README * doc: update README and training documentation for clarity and structure --- README-ja.md | 269 ++++++++----- README.md | 688 ++++++--------------------------- docs/sd3_train_network.md | 4 +- docs/train_network.md | 59 ++- docs/train_network_advanced.md | 52 ++- 5 files changed, 407 insertions(+), 665 deletions(-) diff --git a/README-ja.md b/README-ja.md index 27e15aa94..68bb7af87 100644 --- a/README-ja.md +++ b/README-ja.md @@ -1,21 +1,40 @@ -## リポジトリについて -Stable Diffusionの学習、画像生成、その他のスクリプトを入れたリポジトリです。 - -[README in English](./README.md) ←更新情報はこちらにあります - -開発中のバージョンはdevブランチにあります。最新の変更点はdevブランチをご確認ください。 - -FLUX.1およびSD3/SD3.5対応はsd3ブランチで行っています。それらの学習を行う場合はsd3ブランチをご利用ください。 - -GUIやPowerShellスクリプトなど、より使いやすくする機能が[bmaltais氏のリポジトリ](https://github.com/bmaltais/kohya_ss)で提供されています(英語です)のであわせてご覧ください。bmaltais氏に感謝します。 - -以下のスクリプトがあります。 - -* DreamBooth、U-NetおよびText Encoderの学習をサポート -* fine-tuning、同上 -* LoRAの学習をサポート -* 画像生成 -* モデル変換(Stable Diffision ckpt/safetensorsとDiffusersの相互変換) +# sd-scripts + +[English](./README.md) / [日本語](./README-ja.md) + +## 目次 + +
+クリックすると展開します + +- [はじめに](#はじめに) + - [スポンサー](#スポンサー) + - [スポンサー募集のお知らせ](#スポンサー募集のお知らせ) + - [更新履歴](#更新履歴) + - [サポートモデル](#サポートモデル) + - [機能](#機能) +- [ドキュメント](#ドキュメント) + - [学習ドキュメント(英語および日本語)](#学習ドキュメント英語および日本語) + - [その他のドキュメント](#その他のドキュメント) + - [旧ドキュメント(日本語)](#旧ドキュメント日本語) +- [AIコーディングエージェントを使う開発者の方へ](#aiコーディングエージェントを使う開発者の方へ) +- [Windows環境でのインストール](#windows環境でのインストール) + - [Windowsでの動作に必要なプログラム](#windowsでの動作に必要なプログラム) + - [インストール手順](#インストール手順) + - [requirements.txtとPyTorchについて](#requirementstxtとpytorchについて) + - [xformersのインストール(オプション)](#xformersのインストールオプション) +- [Linux/WSL2環境でのインストール](#linuxwsl2環境でのインストール) + - [DeepSpeedのインストール(実験的、LinuxまたはWSL2のみ)](#deepspeedのインストール実験的linuxまたはwsl2のみ) +- [アップグレード](#アップグレード) + - [PyTorchのアップグレード](#pytorchのアップグレード) +- [謝意](#謝意) +- [ライセンス](#ライセンス) + +
+ +## はじめに + +Stable Diffusion等の画像生成モデルの学習、モデルによる画像生成、その他のスクリプトを入れたリポジトリです。 ### スポンサー @@ -29,26 +48,117 @@ GUIやPowerShellスクリプトなど、より使いやすくする機能が[bma このプロジェクトがお役に立ったなら、ご支援いただけると嬉しく思います。 [GitHub Sponsors](https://github.com/sponsors/kohya-ss/)で受け付けています。 -## 使用法について +### 更新履歴 + +- **Version 0.10.0 (2026-01-19):** + - `sd3`ブランチを`main`ブランチにマージしました。このバージョンからFLUX.1およびSD3/SD3.5等のモデルが`main`ブランチでサポートされます。 + - ドキュメントにはまだ不備があるため、お気づきの点はIssue等でお知らせください。 + - `sd3`ブランチは当面、`dev`ブランチと同期して開発ブランチとして維持します。 + +### サポートモデル + +* **Stable Diffusion 1.x/2.x** +* **SDXL** +* **SD3/SD3.5** +* **FLUX.1** +* **LUMINA** +* **HunyuanImage-2.1** + +### 機能 + +* LoRA学習 +* fine-tuning(DreamBooth):HunyuanImage-2.1以外のモデル +* Textual Inversion学習:SD/SDXL +* 画像生成 +* その他、モデル変換やタグ付け、LoRAマージなどのユーティリティ + +## ドキュメント + +### 学習ドキュメント(英語および日本語) + +日本語は折りたたまれているか、別のドキュメントにあります。 + +* [LoRA学習の概要](./docs/train_network.md) +* [データセット設定](./docs/config_README-ja.md) / [英語版](./docs/config_README-en.md) +* [高度な学習オプション](./docs/train_network_advanced.md) +* [SDXL学習](./docs/sdxl_train_network.md) +* [SD3学習](./docs/sd3_train_network.md) +* [FLUX.1学習](./docs/flux_train_network.md) +* [LUMINA学習](./docs/lumina_train_network.md) +* [HunyuanImage-2.1学習](./docs/hunyuan_image_train_network.md) +* [Fine-tuning](./docs/fine_tune.md) +* [Textual Inversion学習](./docs/train_textual_inversion.md) +* [ControlNet-LLLite学習](./docs/train_lllite_README-ja.md) / [英語版](./docs/train_lllite_README.md) +* [Validation](./docs/validation.md) +* [マスク損失学習](./docs/masked_loss_README-ja.md) / [英語版](./docs/masked_loss_README.md) + +### その他のドキュメント + +* [画像生成スクリプト](./docs/gen_img_README-ja.md) / [英語版](./docs/gen_img_README.md) +* [WD14 Taggerによる画像タグ付け](./docs/wd14_tagger_README-ja.md) / [英語版](./docs/wd14_tagger_README-en.md) + +### 旧ドキュメント(日本語) * [学習について、共通編](./docs/train_README-ja.md) : データ整備やオプションなど - * [データセット設定](./docs/config_README-ja.md) -* [SDXL学習](./docs/train_SDXL-en.md) (英語版) * [DreamBoothの学習について](./docs/train_db_README-ja.md) -* [fine-tuningのガイド](./docs/fine_tune_README_ja.md): -* [LoRAの学習について](./docs/train_network_README-ja.md) -* [Textual Inversionの学習について](./docs/train_ti_README-ja.md) -* [画像生成スクリプト](./docs/gen_img_README-ja.md) -* note.com [モデル変換スクリプト](https://note.com/kohya_ss/n/n374f316fe4ad) -## Windowsでの動作に必要なプログラム +## AIコーディングエージェントを使う開発者の方へ + +This repository provides recommended instructions to help AI agents like Claude and Gemini understand our project context and coding standards. -Python 3.10.6およびGitが必要です。 +To use them, you need to opt-in by creating your own configuration file in the project root. -- Python 3.10.6: https://www.python.org/ftp/python/3.10.6/python-3.10.6-amd64.exe -- git: https://git-scm.com/download/win +**Quick Setup:** -Python 3.10.x、3.11.x、3.12.xでも恐らく動作しますが、3.10.6でテストしています。 +1. Create a `CLAUDE.md` and/or `GEMINI.md` file in the project root. +2. Add the following line to your `CLAUDE.md` to import the repository's recommended prompt: + + ```markdown + @./.ai/claude.prompt.md + ``` + + or for Gemini: + + ```markdown + @./.ai/gemini.prompt.md + ``` + +3. You can now add your own personal instructions below the import line (e.g., `Always respond in Japanese.`). + +This approach ensures that you have full control over the instructions given to your agent while benefiting from the shared project context. Your `CLAUDE.md` and `GEMINI.md` are already listed in `.gitignore`, so they won't be committed to the repository. + +このリポジトリでは、AIコーディングエージェント(例:Claude、Geminiなど)がプロジェクトのコンテキストやコーディング標準を理解できるようにするための推奨プロンプトを提供しています。 + +それらを使用するには、プロジェクトディレクトリに設定ファイルを作成して明示的に有効にする必要があります。 + +**簡単なセットアップ手順:** + +1. プロジェクトルートに `CLAUDE.md` や `GEMINI.md` ファイルを作成します。 +2. `CLAUDE.md` に以下の行を追加して、リポジトリの推奨プロンプトをインポートします。 + + ```markdown + @./.ai/claude.prompt.md + ``` + + またはGeminiの場合: + + ```markdown + @./.ai/gemini.prompt.md + ``` +3. インポート行の下に、独自の指示を追加できます(例:`常に日本語で応答してください。`)。 + +この方法により、エージェントに与える指示を各開発者が管理しつつ、リポジトリの推奨コンテキストを活用できます。`CLAUDE.md` および `GEMINI.md` は `.gitignore` に登録されているため、リポジトリにコミットされることはありません。 + +## Windows環境でのインストール + +### Windowsでの動作に必要なプログラム + +Python 3.10.xおよびGitが必要です。 + +- Python 3.10.x: https://www.python.org/downloads/windows/ からWindows installer (64-bit)をダウンロード +- git: https://git-scm.com/download/win から最新版をダウンロード + +Python 3.11.x、3.12.xでも恐らく動作します(未テスト)。 PowerShellを使う場合、venvを使えるようにするためには以下の手順でセキュリティ設定を変更してください。 (venvに限らずスクリプトの実行が可能になりますので注意してください。) @@ -57,11 +167,7 @@ PowerShellを使う場合、venvを使えるようにするためには以下の - 「Set-ExecutionPolicy Unrestricted」と入力し、Yと答えます。 - 管理者のPowerShellを閉じます。 -## Windows環境でのインストール - -スクリプトはPyTorch 2.1.2でテストしています。PyTorch 2.2以降でも恐らく動作します。 - -(なお、python -m venv~の行で「python」とだけ表示された場合、py -m venv~のようにpythonをpyに変更してください。) +### インストール手順 PowerShellを使う場合、通常の(管理者ではない)PowerShellを開き以下を順に実行します。 @@ -72,20 +178,19 @@ cd sd-scripts python -m venv venv .\venv\Scripts\activate -pip install torch==2.1.2 torchvision==0.16.2 --index-url https://download.pytorch.org/whl/cu118 +pip install torch==2.6.0 torchvision==0.21.0 --index-url https://download.pytorch.org/whl/cu124 pip install --upgrade -r requirements.txt -pip install xformers==0.0.23.post1 --index-url https://download.pytorch.org/whl/cu118 accelerate config ``` コマンドプロンプトでも同一です。 -注:`bitsandbytes==0.44.0`、`prodigyopt==1.0`、`lion-pytorch==0.0.6` は `requirements.txt` に含まれるようになりました。他のバージョンを使う場合は適宜インストールしてください。 +(なお、python -m venv~の行で「python」とだけ表示された場合、py -m venv~のようにpythonをpyに変更してください。) -この例では PyTorch および xfomers は2.1.2/CUDA 11.8版をインストールします。CUDA 12.1版やPyTorch 1.12.1を使う場合は適宜書き換えください。たとえば CUDA 12.1版の場合は `pip install torch==2.1.2 torchvision==0.16.2 --index-url https://download.pytorch.org/whl/cu121` および `pip install xformers==0.0.23.post1 --index-url https://download.pytorch.org/whl/cu121` としてください。 +注:`bitsandbytes`、`prodigyopt`、`lion-pytorch` は `requirements.txt` に含まれています。 -PyTorch 2.2以降を用いる場合は、`torch==2.1.2` と `torchvision==0.16.2` 、および `xformers==0.0.23.post1` を適宜変更してください。 +この例ではCUDA 12.4版をインストールします。異なるバージョンのCUDAを使用する場合は、適切なバージョンのPyTorchをインストールしてください。たとえばCUDA 12.1版の場合は `pip install torch==2.6.0 torchvision==0.21.0 --index-url https://download.pytorch.org/whl/cu121` としてください。 accelerate configの質問には以下のように答えてください。(bf16で学習する場合、最後の質問にはbf16と答えてください。) @@ -102,6 +207,38 @@ accelerate configの質問には以下のように答えてください。(bf1 ※場合によって ``ValueError: fp16 mixed precision requires a GPU`` というエラーが出ることがあるようです。この場合、6番目の質問( ``What GPU(s) (by id) should be used for training on this machine as a comma-separated list? [all]:``)に「0」と答えてください。(id `0`のGPUが使われます。) +### requirements.txtとPyTorchについて + +PyTorchは環境によってバージョンが異なるため、requirements.txtには含まれていません。前述のインストール手順を参考に、環境に合わせてPyTorchをインストールしてください。 + +スクリプトはPyTorch 2.6.0でテストしています。PyTorch 2.6.0以降が必要です。 + +RTX 50シリーズGPUの場合、PyTorch 2.8.0とCUDA 12.8/12.9を使用してください。`requirements.txt`はこのバージョンでも動作します。 + +### xformersのインストール(オプション) + +xformersをインストールするには、仮想環境を有効にした状態で以下のコマンドを実行してください。 + +```bash +pip install xformers --index-url https://download.pytorch.org/whl/cu124 +``` + +必要に応じてCUDAバージョンを変更してください。一部のGPUアーキテクチャではxformersが利用できない場合があります。 + +## Linux/WSL2環境でのインストール + +LinuxまたはWSL2環境でのインストール手順はWindows環境とほぼ同じです。`venv\Scripts\activate` の部分を `source venv/bin/activate` に変更してください。 + +※NVIDIAドライバやCUDAツールキットなどは事前にインストールしておいてください。 + +### DeepSpeedのインストール(実験的、LinuxまたはWSL2のみ) + +DeepSpeedをインストールするには、仮想環境を有効にした状態で以下のコマンドを実行してください。 + +```bash +pip install deepspeed==0.16.7 +``` + ## アップグレード 新しいリリースがあった場合、以下のコマンドで更新できます。 @@ -115,6 +252,10 @@ pip install --use-pep517 --upgrade -r requirements.txt コマンドが成功すれば新しいバージョンが使用できます。 +### PyTorchのアップグレード + +PyTorchをアップグレードする場合は、[Windows環境でのインストール](#windows環境でのインストール)のセクションの`pip install`コマンドを参考にしてください。 + ## 謝意 LoRAの実装は[cloneofsimo氏のリポジトリ](https://github.com/cloneofsimo/lora)を基にしたものです。感謝申し上げます。 @@ -130,49 +271,3 @@ Conv2d 3x3への拡大は [cloneofsimo氏](https://github.com/cloneofsimo/lora) [bitsandbytes](https://github.com/TimDettmers/bitsandbytes): MIT [BLIP](https://github.com/salesforce/BLIP): BSD-3-Clause - -## その他の情報 - -### LoRAの名称について - -`train_network.py` がサポートするLoRAについて、混乱を避けるため名前を付けました。ドキュメントは更新済みです。以下は当リポジトリ内の独自の名称です。 - -1. __LoRA-LierLa__ : (LoRA for __Li__ n __e__ a __r__ __La__ yers、リエラと読みます) - - Linear 層およびカーネルサイズ 1x1 の Conv2d 層に適用されるLoRA - -2. __LoRA-C3Lier__ : (LoRA for __C__ olutional layers with __3__ x3 Kernel and __Li__ n __e__ a __r__ layers、セリアと読みます) - - 1.に加え、カーネルサイズ 3x3 の Conv2d 層に適用されるLoRA - -デフォルトではLoRA-LierLaが使われます。LoRA-C3Lierを使う場合は `--network_args` に `conv_dim` を指定してください。 - - - -### 学習中のサンプル画像生成 - -プロンプトファイルは例えば以下のようになります。 - -``` -# prompt 1 -masterpiece, best quality, (1girl), in white shirts, upper body, looking at viewer, simple background --n low quality, worst quality, bad anatomy,bad composition, poor, low effort --w 768 --h 768 --d 1 --l 7.5 --s 28 - -# prompt 2 -masterpiece, best quality, 1boy, in business suit, standing at street, looking back --n (low quality, worst quality), bad anatomy,bad composition, poor, low effort --w 576 --h 832 --d 2 --l 5.5 --s 40 -``` - - `#` で始まる行はコメントになります。`--n` のように「ハイフン二個+英小文字」の形でオプションを指定できます。以下が使用可能できます。 - - * `--n` ネガティブプロンプト(次のオプションまで) - * `--w` 生成画像の幅を指定 - * `--h` 生成画像の高さを指定 - * `--d` 生成画像のシード値を指定 - * `--l` 生成画像のCFGスケールを指定。FLUX.1モデルでは、デフォルトは `1.0` でCFGなしを意味します。Chromaモデルでは、CFGを有効にするために `4.0` 程度に設定してください - * `--g` 埋め込みガイダンス付きモデル(FLUX.1)の埋め込みガイダンススケールを指定、デフォルトは `3.5`。Chromaモデルでは `0.0` に設定してください - * `--s` 生成時のステップ数を指定 - - `( )` や `[ ]` などの重みづけも動作します。 diff --git a/README.md b/README.md index c70dc257d..312b79043 100644 --- a/README.md +++ b/README.md @@ -1,53 +1,96 @@ -This repository contains training, generation and utility scripts for Stable Diffusion. +# sd-scripts + +[English](./README.md) / [日本語](./README-ja.md) + +## Table of Contents +
+Click to expand + +- [Introduction](#introduction) + - [Supported Models](#supported-models) + - [Features](#features) + - [Sponsors](#sponsors) + - [Support the Project](#support-the-project) +- [Documentation](#documentation) + - [Training Documentation (English and Japanese)](#training-documentation-english-and-japanese) + - [Other Documentation (English and Japanese)](#other-documentation-english-and-japanese) +- [For Developers Using AI Coding Agents](#for-developers-using-ai-coding-agents) +- [Windows Installation](#windows-installation) + - [Windows Required Dependencies](#windows-required-dependencies) + - [Installation Steps](#installation-steps) + - [About requirements.txt and PyTorch](#about-requirementstxt-and-pytorch) + - [xformers installation (optional)](#xformers-installation-optional) +- [Linux/WSL2 Installation](#linuxwsl2-installation) + - [DeepSpeed installation (experimental, Linux or WSL2 only)](#deepspeed-installation-experimental-linux-or-wsl2-only) +- [Upgrade](#upgrade) + - [Upgrade PyTorch](#upgrade-pytorch) +- [Credits](#credits) +- [License](#license) + +
+ +## Introduction + +This repository contains training, generation and utility scripts for Stable Diffusion and other image generation models. -## FLUX.1 and SD3 training (WIP) +### Sponsors + +We are grateful to the following companies for their generous sponsorship: + + + AiHUB Inc. + + +### Support the Project -This feature is experimental. The options and the training script may change in the future. Please let us know if you have any idea to improve the training. +If you find this project helpful, please consider supporting its development via [GitHub Sponsors](https://github.com/sponsors/kohya-ss/). Your support is greatly appreciated! + +### Change History -__Please update PyTorch to 2.6.0 or later. We have tested with `torch==2.6.0` and `torchvision==0.21.0` with CUDA 12.4. `requirements.txt` is also updated, so please update the requirements.__ +- **Version 0.10.0 (2026-01-19):** + - `sd3` branch is merged to `main` branch. From this version, FLUX.1 and SD3/SD3.5 etc. are supported in the `main` branch. + - There are still some missing parts in the documentation, so please let us know if you find any issues via Issues etc. + - The `sd3` branch will be maintained as a development branch synchronized with `dev` for the time being. -The command to install PyTorch is as follows: -`pip3 install torch==2.6.0 torchvision==0.21.0 --index-url https://download.pytorch.org/whl/cu124` +### Supported Models -For RTX 50 series GPUs, PyTorch 2.8.0 with CUDA 12.8/9 should be used. `requirements.txt` will work with this version. +* **Stable Diffusion 1.x/2.x** +* **SDXL** +* **SD3/SD3.5** +* **FLUX.1** +* **LUMINA** +* **HunyuanImage-2.1** -If you are using DeepSpeed, please install DeepSpeed with `pip install deepspeed` (appropriate version is not confirmed yet). +### Features -### Recent Updates +* LoRA training +* Fine-tuning (native training, DreamBooth): except for HunyuanImage-2.1 +* Textual Inversion training: SD/SDXL +* Image generation +* Other utilities such as model conversion, image tagging, LoRA merging, etc. -Sep 23, 2025: -- HunyuanImage-2.1 LoRA training is supported. [PR #2198](https://github.com/kohya-ss/sd-scripts/pull/2198) for details. - - Please see [HunyuanImage-2.1 Training](./docs/hunyuan_image_train_network.md) for details. - - __HunyuanImage-2.1 training does not support LoRA modules for Text Encoders, so `--network_train_unet_only` is required.__ - - The training script is `hunyuan_image_train_network.py`. - - This includes changes to `train_network.py`, the base of the training script. Please let us know if you encounter any issues. +## Documentation -Sep 13, 2025: -- The loading speed of `.safetensors` files has been improved for SD3, FLUX.1 and Lumina. See [PR #2200](https://github.com/kohya-ss/sd-scripts/pull/2200) for more details. - - Model loading can be up to 1.5 times faster. - - This is a wide-ranging update, so there may be bugs. Please let us know if you encounter any issues. +### Training Documentation (English and Japanese) -Sep 4, 2025: -- The information about FLUX.1 and SD3/SD3.5 training that was described in the README has been organized and divided into the following documents: - - [LoRA Training Overview](./docs/train_network.md) - - [SDXL Training](./docs/sdxl_train_network.md) - - [Advanced Training](./docs/train_network_advanced.md) - - [FLUX.1 Training](./docs/flux_train_network.md) - - [SD3 Training](./docs/sd3_train_network.md) - - [LUMINA Training](./docs/lumina_train_network.md) - - [Validation](./docs/validation.md) - - [Fine-tuning](./docs/fine_tune.md) - - [Textual Inversion Training](./docs/train_textual_inversion.md) +* [LoRA Training Overview](./docs/train_network.md) +* [Dataset config](./docs/config_README-en.md) / [Japanese version](./docs/config_README-ja.md) +* [Advanced Training](./docs/train_network_advanced.md) +* [SDXL Training](./docs/sdxl_train_network.md) +* [SD3 Training](./docs/sd3_train_network.md) +* [FLUX.1 Training](./docs/flux_train_network.md) +* [LUMINA Training](./docs/lumina_train_network.md) +* [HunyuanImage-2.1 Training](./docs/hunyuan_image_train_network.md) +* [Fine-tuning](./docs/fine_tune.md) +* [Textual Inversion Training](./docs/train_textual_inversion.md) +* [ControlNet-LLLite Training](./docs/train_lllite_README.md) / [Japanese version](./docs/train_lllite_README-ja.md) +* [Validation](./docs/validation.md) +* [Masked Loss Training](./docs/masked_loss_README.md) / [Japanese version](./docs/masked_loss_README-ja.md) -Aug 28, 2025: -- In order to support the latest GPUs and features, we have updated the **PyTorch and library versions**. PR [#2178](https://github.com/kohya-ss/sd-scripts/pull/2178) There are many changes, so please let us know if you encounter any issues. -- The PyTorch version used for testing has been updated to 2.6.0. We have confirmed that it works with PyTorch 2.6.0 and later. -- The `requirements.txt` has been updated, so please update your dependencies. - - You can update the dependencies with `pip install -r requirements.txt`. - - The version specification for `bitsandbytes` has been removed. If you encounter errors on RTX 50 series GPUs, please update it with `pip install -U bitsandbytes`. -- We have modified each script to minimize warnings as much as possible. - - The modified scripts will work in the old environment (library versions), but please update them when convenient. +### Other Documentation (English and Japanese) +* [Image generation](./docs/gen_img_README.md) / [Japanese version](./docs/gen_img_README-ja.md) +* [Tagging images with WD14 Tagger](./docs/wd14_tagger_README-en.md) / [Japanese version](./docs/wd14_tagger_README-ja.md) ## For Developers Using AI Coding Agents @@ -72,78 +115,18 @@ To use them, you need to opt-in by creating your own configuration file in the p 3. You can now add your own personal instructions below the import line (e.g., `Always respond in Japanese.`). -This approach ensures that you have full control over the instructions given to your agent while benefiting from the shared project context. Your `CLAUDE.md` and `GEMINI.md` are already listed in `.gitignore`, so it won't be committed to the repository. - ---- - -[__Change History__](#change-history) is moved to the bottom of the page. -更新履歴は[ページ末尾](#change-history)に移しました。 - -Latest update: 2025-03-21 (Version 0.9.1) - -[日本語版READMEはこちら](./README-ja.md) - -The development version is in the `dev` branch. Please check the dev branch for the latest changes. - -FLUX.1 and SD3/SD3.5 support is done in the `sd3` branch. If you want to train them, please use the sd3 branch. - - -For easier use (GUI and PowerShell scripts etc...), please visit [the repository maintained by bmaltais](https://github.com/bmaltais/kohya_ss). Thanks to @bmaltais! - -This repository contains the scripts for: - -* DreamBooth training, including U-Net and Text Encoder -* Fine-tuning (native training), including U-Net and Text Encoder -* LoRA training -* Textual Inversion training -* Image generation -* Model conversion (supports 1.x and 2.x, Stable Diffision ckpt/safetensors and Diffusers) - -### Sponsors - -We are grateful to the following companies for their generous sponsorship: - - - AiHUB Inc. - - -### Support the Project - -If you find this project helpful, please consider supporting its development via [GitHub Sponsors](https://github.com/sponsors/kohya-ss/). Your support is greatly appreciated! - - -## About requirements.txt - -The file does not contain requirements for PyTorch. Because the version of PyTorch depends on the environment, it is not included in the file. Please install PyTorch first according to the environment. See installation instructions below. - -The scripts are tested with Pytorch 2.1.2. PyTorch 2.2 or later will work. Please install the appropriate version of PyTorch and xformers. +This approach ensures that you have full control over the instructions given to your agent while benefiting from the shared project context. Your `CLAUDE.md` and `GEMINI.md` are already listed in `.gitignore`, so they won't be committed to the repository. -## Links to usage documentation - -Most of the documents are written in Japanese. - -[English translation by darkstorm2150 is here](https://github.com/darkstorm2150/sd-scripts#links-to-usage-documentation). Thanks to darkstorm2150! - -* [Training guide - common](./docs/train_README-ja.md) : data preparation, options etc... - * [Chinese version](./docs/train_README-zh.md) -* [SDXL training](./docs/train_SDXL-en.md) (English version) -* [Dataset config](./docs/config_README-ja.md) - * [English version](./docs/config_README-en.md) -* [DreamBooth training guide](./docs/train_db_README-ja.md) -* [Step by Step fine-tuning guide](./docs/fine_tune_README_ja.md): -* [Training LoRA](./docs/train_network_README-ja.md) -* [Training Textual Inversion](./docs/train_ti_README-ja.md) -* [Image generation](./docs/gen_img_README-ja.md) -* note.com [Model conversion](https://note.com/kohya_ss/n/n374f316fe4ad) +## Windows Installation -## Windows Required Dependencies +### Windows Required Dependencies -Python 3.10.6 and Git: +Python 3.10.x and Git: -- Python 3.10.6: https://www.python.org/ftp/python/3.10.6/python-3.10.6-amd64.exe -- git: https://git-scm.com/download/win +- Python 3.10.x: Download Windows installer (64-bit) from https://www.python.org/downloads/windows/ +- git: Download latest installer from https://git-scm.com/download/win -Python 3.10.x, 3.11.x, and 3.12.x will work but not tested. +Python 3.11.x, and 3.12.x will work but not tested. Give unrestricted script access to powershell so venv can work: @@ -151,7 +134,7 @@ Give unrestricted script access to powershell so venv can work: - Type `Set-ExecutionPolicy Unrestricted` and answer A - Close admin powershell window -## Windows Installation +### Installation Steps Open a regular Powershell terminal and type the following inside: @@ -162,26 +145,18 @@ cd sd-scripts python -m venv venv .\venv\Scripts\activate -pip install torch==2.1.2 torchvision==0.16.2 --index-url https://download.pytorch.org/whl/cu118 +pip install torch==2.6.0 torchvision==0.21.0 --index-url https://download.pytorch.org/whl/cu124 pip install --upgrade -r requirements.txt -pip install xformers==0.0.23.post1 --index-url https://download.pytorch.org/whl/cu118 accelerate config ``` If `python -m venv` shows only `python`, change `python` to `py`. -Note: Now `bitsandbytes==0.44.0`, `prodigyopt==1.0` and `lion-pytorch==0.0.6` are included in the requirements.txt. If you'd like to use the another version, please install it manually. - -This installation is for CUDA 11.8. If you use a different version of CUDA, please install the appropriate version of PyTorch and xformers. For example, if you use CUDA 12, please install `pip install torch==2.1.2 torchvision==0.16.2 --index-url https://download.pytorch.org/whl/cu121` and `pip install xformers==0.0.23.post1 --index-url https://download.pytorch.org/whl/cu121`. +Note: `bitsandbytes`, `prodigyopt` and `lion-pytorch` are included in the requirements.txt. If you'd like to use another version, please install it manually. -If you use PyTorch 2.2 or later, please change `torch==2.1.2` and `torchvision==0.16.2` and `xformers==0.0.23.post1` to the appropriate version. +This installation is for CUDA 12.4. If you use a different version of CUDA, please install the appropriate version of PyTorch. For example, if you use CUDA 12.1, please install `pip install torch==2.6.0 torchvision==0.21.0 --index-url https://download.pytorch.org/whl/cu121`. - Answers to accelerate config: ```txt @@ -201,7 +176,31 @@ Note: Some user reports ``ValueError: fp16 mixed precision requires a GPU`` is o (Single GPU with id `0` will be used.) -## DeepSpeed installation (experimental, Linux or WSL2 only) +## About requirements.txt and PyTorch + +The file does not contain requirements for PyTorch. Because the version of PyTorch depends on the environment, it is not included in the file. Please install PyTorch first according to the environment. See installation instructions below. + +The scripts are tested with PyTorch 2.6.0. PyTorch 2.6.0 or later is required. + +For RTX 50 series GPUs, PyTorch 2.8.0 with CUDA 12.8/12.9 should be used. `requirements.txt` will work with this version. + +### xformers installation (optional) + +To install xformers, run the following command in your activated virtual environment: + +```bash +pip install xformers --index-url https://download.pytorch.org/whl/cu124 +``` + +Please change the CUDA version in the URL according to your environment if necessary. xformers may not be available for some GPU architectures. + +## Linux/WSL2 Installation + +Linux or WSL2 installation steps are almost the same as Windows. Just change `venv\Scripts\activate` to `source venv/bin/activate`. + +Note: Please make sure that NVIDIA driver and CUDA toolkit are installed in advance. + +### DeepSpeed installation (experimental, Linux or WSL2 only) To install DeepSpeed, run the following command in your activated virtual environment: @@ -224,7 +223,7 @@ Once the commands have completed successfully you should be ready to use the new ### Upgrade PyTorch -If you want to upgrade PyTorch, you can upgrade it with `pip install` command in [Windows Installation](#windows-installation) section. `xformers` is also required to be upgraded when PyTorch is upgraded. +If you want to upgrade PyTorch, you can upgrade it with `pip install` command in [Windows Installation](#windows-installation) section. ## Credits @@ -241,454 +240,3 @@ The majority of scripts is licensed under ASL 2.0 (including codes from Diffuser [bitsandbytes](https://github.com/TimDettmers/bitsandbytes): MIT [BLIP](https://github.com/salesforce/BLIP): BSD-3-Clause - - -## Change History - -### Mar 21, 2025 / 2025-03-21 Version 0.9.1 - -- Fixed a bug where some of LoRA modules for CLIP Text Encoder were not trained. Thank you Nekotekina for PR [#1964](https://github.com/kohya-ss/sd-scripts/pull/1964) - - The LoRA modules for CLIP Text Encoder are now 264 modules, which is the same as before. Only 88 modules were trained in the previous version. - -### Jan 17, 2025 / 2025-01-17 Version 0.9.0 - -- __important__ The dependent libraries are updated. Please see [Upgrade](#upgrade) and update the libraries. - - bitsandbytes, transformers, accelerate and huggingface_hub are updated. - - If you encounter any issues, please report them. - -- The dev branch is merged into main. The documentation is delayed, and I apologize for that. I will gradually improve it. -- The state just before the merge is released as Version 0.8.8, so please use it if you encounter any issues. -- The following changes are included. - -#### Changes - -- Fixed a bug where the loss weight was incorrect when `--debiased_estimation_loss` was specified with `--v_parameterization`. PR [#1715](https://github.com/kohya-ss/sd-scripts/pull/1715) Thanks to catboxanon! See [the PR](https://github.com/kohya-ss/sd-scripts/pull/1715) for details. - - Removed the warning when `--v_parameterization` is specified in SDXL and SD1.5. PR [#1717](https://github.com/kohya-ss/sd-scripts/pull/1717) - -- There was a bug where the min_bucket_reso/max_bucket_reso in the dataset configuration did not create the correct resolution bucket if it was not divisible by bucket_reso_steps. These values are now warned and automatically rounded to a divisible value. Thanks to Maru-mee for raising the issue. Related PR [#1632](https://github.com/kohya-ss/sd-scripts/pull/1632) - -- `bitsandbytes` is updated to 0.44.0. Now you can use `AdEMAMix8bit` and `PagedAdEMAMix8bit` in the training script. PR [#1640](https://github.com/kohya-ss/sd-scripts/pull/1640) Thanks to sdbds! - - There is no abbreviation, so please specify the full path like `--optimizer_type bitsandbytes.optim.AdEMAMix8bit` (not bnb but bitsandbytes). - -- Fixed a bug in the cache of latents. When `flip_aug`, `alpha_mask`, and `random_crop` are different in multiple subsets in the dataset configuration file (.toml), the last subset is used instead of reflecting them correctly. - -- Fixed an issue where the timesteps in the batch were the same when using Huber loss. PR [#1628](https://github.com/kohya-ss/sd-scripts/pull/1628) Thanks to recris! - -- Improvements in OFT (Orthogonal Finetuning) Implementation - 1. Optimization of Calculation Order: - - Changed the calculation order in the forward method from (Wx)R to W(xR). - - This has improved computational efficiency and processing speed. - 2. Correction of Bias Application: - - In the previous implementation, R was incorrectly applied to the bias. - - The new implementation now correctly handles bias by using F.conv2d and F.linear. - 3. Efficiency Enhancement in Matrix Operations: - - Introduced einsum in both the forward and merge_to methods. - - This has optimized matrix operations, resulting in further speed improvements. - 4. Proper Handling of Data Types: - - Improved to use torch.float32 during calculations and convert results back to the original data type. - - This maintains precision while ensuring compatibility with the original model. - 5. Unified Processing for Conv2d and Linear Layers: - - Implemented a consistent method for applying OFT to both layer types. - - These changes have made the OFT implementation more efficient and accurate, potentially leading to improved model performance and training stability. - - - Additional Information - * Recommended α value for OFT constraint: We recommend using α values between 1e-4 and 1e-2. This differs slightly from the original implementation of "(α\*out_dim\*out_dim)". Our implementation uses "(α\*out_dim)", hence we recommend higher values than the 1e-5 suggested in the original implementation. - - * Performance Improvement: Training speed has been improved by approximately 30%. - - * Inference Environment: This implementation is compatible with and operates within Stable Diffusion web UI (SD1/2 and SDXL). - -- The INVERSE_SQRT, COSINE_WITH_MIN_LR, and WARMUP_STABLE_DECAY learning rate schedules are now available in the transformers library. See PR [#1393](https://github.com/kohya-ss/sd-scripts/pull/1393) for details. Thanks to sdbds! - - See the [transformers documentation](https://huggingface.co/docs/transformers/v4.44.2/en/main_classes/optimizer_schedules#schedules) for details on each scheduler. - - `--lr_warmup_steps` and `--lr_decay_steps` can now be specified as a ratio of the number of training steps, not just the step value. Example: `--lr_warmup_steps=0.1` or `--lr_warmup_steps=10%`, etc. - -- When enlarging images in the script (when the size of the training image is small and bucket_no_upscale is not specified), it has been changed to use Pillow's resize and LANCZOS interpolation instead of OpenCV2's resize and Lanczos4 interpolation. The quality of the image enlargement may be slightly improved. PR [#1426](https://github.com/kohya-ss/sd-scripts/pull/1426) Thanks to sdbds! - -- Sample image generation during training now works on non-CUDA devices. PR [#1433](https://github.com/kohya-ss/sd-scripts/pull/1433) Thanks to millie-v! - -- `--v_parameterization` is available in `sdxl_train.py`. The results are unpredictable, so use with caution. PR [#1505](https://github.com/kohya-ss/sd-scripts/pull/1505) Thanks to liesened! - -- Fused optimizer is available for SDXL training. PR [#1259](https://github.com/kohya-ss/sd-scripts/pull/1259) Thanks to 2kpr! - - The memory usage during training is significantly reduced by integrating the optimizer's backward pass with step. The training results are the same as before, but if you have plenty of memory, the speed will be slower. - - Specify the `--fused_backward_pass` option in `sdxl_train.py`. At this time, only Adafactor is supported. Gradient accumulation is not available. - - Setting mixed precision to `no` seems to use less memory than `fp16` or `bf16`. - - Training is possible with a memory usage of about 17GB with a batch size of 1 and fp32. If you specify the `--full_bf16` option, you can further reduce the memory usage (but the accuracy will be lower). With the same memory usage as before, you can increase the batch size. - - PyTorch 2.1 or later is required because it uses the new API `Tensor.register_post_accumulate_grad_hook(hook)`. - - Mechanism: Normally, backward -> step is performed for each parameter, so all gradients need to be temporarily stored in memory. "Fuse backward and step" reduces memory usage by performing backward/step for each parameter and reflecting the gradient immediately. The more parameters there are, the greater the effect, so it is not effective in other training scripts (LoRA, etc.) where the memory usage peak is elsewhere, and there are no plans to implement it in those training scripts. - -- Optimizer groups feature is added to SDXL training. PR [#1319](https://github.com/kohya-ss/sd-scripts/pull/1319) - - Memory usage is reduced by the same principle as Fused optimizer. The training results and speed are the same as Fused optimizer. - - Specify the number of groups like `--fused_optimizer_groups 10` in `sdxl_train.py`. Increasing the number of groups reduces memory usage but slows down training. Since the effect is limited to a certain number, it is recommended to specify 4-10. - - Any optimizer can be used, but optimizers that automatically calculate the learning rate (such as D-Adaptation and Prodigy) cannot be used. Gradient accumulation is not available. - - `--fused_optimizer_groups` cannot be used with `--fused_backward_pass`. When using Adafactor, the memory usage is slightly larger than with Fused optimizer. PyTorch 2.1 or later is required. - - Mechanism: While Fused optimizer performs backward/step for individual parameters within the optimizer, optimizer groups reduce memory usage by grouping parameters and creating multiple optimizers to perform backward/step for each group. Fused optimizer requires implementation on the optimizer side, while optimizer groups are implemented only on the training script side. - -- LoRA+ is supported. PR [#1233](https://github.com/kohya-ss/sd-scripts/pull/1233) Thanks to rockerBOO! - - LoRA+ is a method to improve training speed by increasing the learning rate of the UP side (LoRA-B) of LoRA. Specify the multiple. The original paper recommends 16, but adjust as needed. Please see the PR for details. - - Specify `loraplus_lr_ratio` with `--network_args`. Example: `--network_args "loraplus_lr_ratio=16"` - - `loraplus_unet_lr_ratio` and `loraplus_lr_ratio` can be specified separately for U-Net and Text Encoder. - - Example: `--network_args "loraplus_unet_lr_ratio=16" "loraplus_text_encoder_lr_ratio=4"` or `--network_args "loraplus_lr_ratio=16" "loraplus_text_encoder_lr_ratio=4"` etc. - - `network_module` `networks.lora` and `networks.dylora` are available. - -- The feature to use the transparency (alpha channel) of the image as a mask in the loss calculation has been added. PR [#1223](https://github.com/kohya-ss/sd-scripts/pull/1223) Thanks to u-haru! - - The transparent part is ignored during training. Specify the `--alpha_mask` option in the training script or specify `alpha_mask = true` in the dataset configuration file. - - See [About masked loss](./docs/masked_loss_README.md) for details. - -- LoRA training in SDXL now supports block-wise learning rates and block-wise dim (rank). PR [#1331](https://github.com/kohya-ss/sd-scripts/pull/1331) - - Specify the learning rate and dim (rank) for each block. - - See [Block-wise learning rates in LoRA](./docs/train_network_README-ja.md#階層別学習率) for details (Japanese only). - -- Negative learning rates can now be specified during SDXL model training. PR [#1277](https://github.com/kohya-ss/sd-scripts/pull/1277) Thanks to Cauldrath! - - The model is trained to move away from the training images, so the model is easily collapsed. Use with caution. A value close to 0 is recommended. - - When specifying from the command line, use `=` like `--learning_rate=-1e-7`. - -- Training scripts can now output training settings to wandb or Tensor Board logs. Specify the `--log_config` option. PR [#1285](https://github.com/kohya-ss/sd-scripts/pull/1285) Thanks to ccharest93, plucked, rockerBOO, and VelocityRa! - - Some settings, such as API keys and directory specifications, are not output due to security issues. - -- The ControlNet training script `train_controlnet.py` for SD1.5/2.x was not working, but it has been fixed. PR [#1284](https://github.com/kohya-ss/sd-scripts/pull/1284) Thanks to sdbds! - -- `train_network.py` and `sdxl_train_network.py` now restore the order/position of data loading from DataSet when resuming training. PR [#1353](https://github.com/kohya-ss/sd-scripts/pull/1353) [#1359](https://github.com/kohya-ss/sd-scripts/pull/1359) Thanks to KohakuBlueleaf! - - This resolves the issue where the order of data loading from DataSet changes when resuming training. - - Specify the `--skip_until_initial_step` option to skip data loading until the specified step. If not specified, data loading starts from the beginning of the DataSet (same as before). - - If `--resume` is specified, the step saved in the state is used. - - Specify the `--initial_step` or `--initial_epoch` option to skip data loading until the specified step or epoch. Use these options in conjunction with `--skip_until_initial_step`. These options can be used without `--resume` (use them when resuming training with `--network_weights`). - -- An option `--disable_mmap_load_safetensors` is added to disable memory mapping when loading the model's .safetensors in SDXL. PR [#1266](https://github.com/kohya-ss/sd-scripts/pull/1266) Thanks to Zovjsra! - - It seems that the model file loading is faster in the WSL environment etc. - - Available in `sdxl_train.py`, `sdxl_train_network.py`, `sdxl_train_textual_inversion.py`, and `sdxl_train_control_net_lllite.py`. - -- When there is an error in the cached latents file on disk, the file name is now displayed. PR [#1278](https://github.com/kohya-ss/sd-scripts/pull/1278) Thanks to Cauldrath! - -- Fixed an error that occurs when specifying `--max_dataloader_n_workers` in `tag_images_by_wd14_tagger.py` when Onnx is not used. PR [#1291]( -https://github.com/kohya-ss/sd-scripts/pull/1291) issue [#1290]( -https://github.com/kohya-ss/sd-scripts/pull/1290) Thanks to frodo821! - -- Fixed a bug that `caption_separator` cannot be specified in the subset in the dataset settings .toml file. [#1312](https://github.com/kohya-ss/sd-scripts/pull/1312) and [#1313](https://github.com/kohya-ss/sd-scripts/pull/1312) Thanks to rockerBOO! - -- Fixed a potential bug in ControlNet-LLLite training. PR [#1322](https://github.com/kohya-ss/sd-scripts/pull/1322) Thanks to aria1th! - -- Fixed some bugs when using DeepSpeed. Related [#1247](https://github.com/kohya-ss/sd-scripts/pull/1247) - -- Added a prompt option `--f` to `gen_imgs.py` to specify the file name when saving. Also, Diffusers-based keys for LoRA weights are now supported. - -#### 変更点 - -- devブランチがmainにマージされました。ドキュメントの整備が遅れており申し訳ありません。少しずつ整備していきます。 -- マージ直前の状態が Version 0.8.8 としてリリースされていますので、問題があればそちらをご利用ください。 -- 以下の変更が含まれます。 - -- SDXL の学習時に Fused optimizer が使えるようになりました。PR [#1259](https://github.com/kohya-ss/sd-scripts/pull/1259) 2kpr 氏に感謝します。 - - optimizer の backward pass に step を統合することで学習時のメモリ使用量を大きく削減します。学習結果は未適用時と同一ですが、メモリが潤沢にある場合は速度は遅くなります。 - - `sdxl_train.py` に `--fused_backward_pass` オプションを指定してください。現時点では optimizer は Adafactor のみ対応しています。また gradient accumulation は使えません。 - - mixed precision は `no` のほうが `fp16` や `bf16` よりも使用メモリ量が少ないようです。 - - バッチサイズ 1、fp32 で 17GB 程度で学習可能なようです。`--full_bf16` オプションを指定するとさらに削減できます(精度は劣ります)。以前と同じメモリ使用量ではバッチサイズを増やせます。 - - PyTorch 2.1 以降の新 API `Tensor.register_post_accumulate_grad_hook(hook)` を使用しているため、PyTorch 2.1 以降が必要です。 - - 仕組み:通常は backward -> step の順で行うためすべての勾配を一時的にメモリに保持する必要があります。「backward と step の統合」はパラメータごとに backward/step を行って、勾配をすぐ反映することでメモリ使用量を削減します。パラメータ数が多いほど効果が大きいため、SDXL の学習以外(LoRA 等)ではほぼ効果がなく(メモリ使用量のピークが他の場所にあるため)、それらの学習スクリプトへの実装予定もありません。 - -- SDXL の学習時に optimizer group 機能を追加しました。PR [#1319](https://github.com/kohya-ss/sd-scripts/pull/1319) - - Fused optimizer と同様の原理でメモリ使用量を削減します。学習結果や速度についても同様です。 - - `sdxl_train.py` に `--fused_optimizer_groups 10` のようにグループ数を指定してください。グループ数を増やすとメモリ使用量が削減されますが、速度は遅くなります。ある程度の数までしか効果がないため、4~10 程度を指定すると良いでしょう。 - - 任意の optimizer が使えますが、学習率を自動計算する optimizer (D-Adaptation や Prodigy など)は使えません。gradient accumulation は使えません。 - - `--fused_optimizer_groups` は `--fused_backward_pass` と併用できません。AdaFactor 使用時は Fused optimizer よりも若干メモリ使用量は大きくなります。PyTorch 2.1 以降が必要です。 - - 仕組み:Fused optimizer が optimizer 内で個別のパラメータについて backward/step を行っているのに対して、optimizer groups はパラメータをグループ化して複数の optimizer を作成し、それぞれ backward/step を行うことでメモリ使用量を削減します。Fused optimizer は optimizer 側の実装が必要ですが、optimizer groups は学習スクリプト側のみで実装されています。やはり SDXL の学習でのみ効果があります。 - -- LoRA+ がサポートされました。PR [#1233](https://github.com/kohya-ss/sd-scripts/pull/1233) rockerBOO 氏に感謝します。 - - LoRA の UP 側(LoRA-B)の学習率を上げることで学習速度の向上を図る手法です。倍数で指定します。元の論文では 16 が推奨されていますが、データセット等にもよりますので、適宜調整してください。PR もあわせてご覧ください。 - - `--network_args` で `loraplus_lr_ratio` を指定します。例:`--network_args "loraplus_lr_ratio=16"` - - `loraplus_unet_lr_ratio` と `loraplus_lr_ratio` で、U-Net および Text Encoder に個別の値を指定することも可能です。 - - 例:`--network_args "loraplus_unet_lr_ratio=16" "loraplus_text_encoder_lr_ratio=4"` または `--network_args "loraplus_lr_ratio=16" "loraplus_text_encoder_lr_ratio=4"` など - - `network_module` の `networks.lora` および `networks.dylora` で使用可能です。 - -- 画像の透明度(アルファチャネル)をロス計算時のマスクとして使用する機能が追加されました。PR [#1223](https://github.com/kohya-ss/sd-scripts/pull/1223) u-haru 氏に感謝します。 - - 透明部分が学習時に無視されるようになります。学習スクリプトに `--alpha_mask` オプションを指定するか、データセット設定ファイルに `alpha_mask = true` を指定してください。 - - 詳細は [マスクロスについて](./docs/masked_loss_README-ja.md) をご覧ください。 - -- SDXL の LoRA で階層別学習率、階層別 dim (rank) をサポートしました。PR [#1331](https://github.com/kohya-ss/sd-scripts/pull/1331) - - ブロックごとに学習率および dim (rank) を指定することができます。 - - 詳細は [LoRA の階層別学習率](./docs/train_network_README-ja.md#階層別学習率) をご覧ください。 - -- `sdxl_train.py` での SDXL モデル学習時に負の学習率が指定できるようになりました。PR [#1277](https://github.com/kohya-ss/sd-scripts/pull/1277) Cauldrath 氏に感謝します。 - - 学習画像から離れるように学習するため、モデルは容易に崩壊します。注意して使用してください。0 に近い値を推奨します。 - - コマンドラインから指定する場合、`--learning_rate=-1e-7` のように`=` を使ってください。 - -- 各学習スクリプトで学習設定を wandb や Tensor Board などのログに出力できるようになりました。`--log_config` オプションを指定してください。PR [#1285](https://github.com/kohya-ss/sd-scripts/pull/1285) ccharest93 氏、plucked 氏、rockerBOO 氏および VelocityRa 氏に感謝します。 - - API キーや各種ディレクトリ指定など、一部の設定はセキュリティ上の問題があるため出力されません。 - -- SD1.5/2.x 用の ControlNet 学習スクリプト `train_controlnet.py` が動作しなくなっていたのが修正されました。PR [#1284](https://github.com/kohya-ss/sd-scripts/pull/1284) sdbds 氏に感謝します。 - -- `train_network.py` および `sdxl_train_network.py` で、学習再開時に DataSet の読み込み順についても復元できるようになりました。PR [#1353](https://github.com/kohya-ss/sd-scripts/pull/1353) [#1359](https://github.com/kohya-ss/sd-scripts/pull/1359) KohakuBlueleaf 氏に感謝します。 - - これにより、学習再開時に DataSet の読み込み順が変わってしまう問題が解消されます。 - - `--skip_until_initial_step` オプションを指定すると、指定したステップまで DataSet 読み込みをスキップします。指定しない場合の動作は変わりません(DataSet の最初から読み込みます) - - `--resume` オプションを指定すると、state に保存されたステップ数が使用されます。 - - `--initial_step` または `--initial_epoch` オプションを指定すると、指定したステップまたはエポックまで DataSet 読み込みをスキップします。これらのオプションは `--skip_until_initial_step` と併用してください。またこれらのオプションは `--resume` と併用しなくても使えます(`--network_weights` を用いた学習再開時などにお使いください )。 - -- SDXL でモデルの .safetensors を読み込む際にメモリマッピングを無効化するオプション `--disable_mmap_load_safetensors` が追加されました。PR [#1266](https://github.com/kohya-ss/sd-scripts/pull/1266) Zovjsra 氏に感謝します。 - - WSL 環境等でモデルファイルの読み込みが高速化されるようです。 - - `sdxl_train.py`、`sdxl_train_network.py`、`sdxl_train_textual_inversion.py`、`sdxl_train_control_net_lllite.py` で使用可能です。 - -- ディスクにキャッシュされた latents ファイルに何らかのエラーがあったとき、そのファイル名が表示されるようになりました。 PR [#1278](https://github.com/kohya-ss/sd-scripts/pull/1278) Cauldrath 氏に感謝します。 - -- `tag_images_by_wd14_tagger.py` で Onnx 未使用時に `--max_dataloader_n_workers` を指定するとエラーになる不具合が修正されました。 PR [#1291]( -https://github.com/kohya-ss/sd-scripts/pull/1291) issue [#1290]( -https://github.com/kohya-ss/sd-scripts/pull/1290) frodo821 氏に感謝します。 - -- データセット設定の .toml ファイルで、`caption_separator` が subset に指定できない不具合が修正されました。 PR [#1312](https://github.com/kohya-ss/sd-scripts/pull/1312) および [#1313](https://github.com/kohya-ss/sd-scripts/pull/1313) rockerBOO 氏に感謝します。 - -- ControlNet-LLLite 学習時の潜在バグが修正されました。 PR [#1322](https://github.com/kohya-ss/sd-scripts/pull/1322) aria1th 氏に感謝します。 - -- DeepSpeed 使用時のいくつかのバグを修正しました。関連 [#1247](https://github.com/kohya-ss/sd-scripts/pull/1247) - -- `gen_imgs.py` のプロンプトオプションに、保存時のファイル名を指定する `--f` オプションを追加しました。また同スクリプトで Diffusers ベースのキーを持つ LoRA の重みに対応しました。 - - -### Oct 27, 2024 / 2024-10-27: - -- `svd_merge_lora.py` VRAM usage has been reduced. However, main memory usage will increase (32GB is sufficient). -- This will be included in the next release. -- `svd_merge_lora.py` のVRAM使用量を削減しました。ただし、メインメモリの使用量は増加します(32GBあれば十分です)。 -- これは次回リリースに含まれます。 - -### Oct 26, 2024 / 2024-10-26: - -- Fixed a bug in `svd_merge_lora.py`, `sdxl_merge_lora.py`, and `resize_lora.py` where the hash value of LoRA metadata was not correctly calculated when the `save_precision` was different from the `precision` used in the calculation. See issue [#1722](https://github.com/kohya-ss/sd-scripts/pull/1722) for details. Thanks to JujoHotaru for raising the issue. -- It will be included in the next release. - -- `svd_merge_lora.py`、`sdxl_merge_lora.py`、`resize_lora.py`で、保存時の精度が計算時の精度と異なる場合、LoRAメタデータのハッシュ値が正しく計算されない不具合を修正しました。詳細は issue [#1722](https://github.com/kohya-ss/sd-scripts/pull/1722) をご覧ください。問題提起していただいた JujoHotaru 氏に感謝します。 -- 以上は次回リリースに含まれます。 - -### Sep 13, 2024 / 2024-09-13: - -- `sdxl_merge_lora.py` now supports OFT. Thanks to Maru-mee for the PR [#1580](https://github.com/kohya-ss/sd-scripts/pull/1580). -- `svd_merge_lora.py` now supports LBW. Thanks to terracottahaniwa. See PR [#1575](https://github.com/kohya-ss/sd-scripts/pull/1575) for details. -- `sdxl_merge_lora.py` also supports LBW. -- See [LoRA Block Weight](https://github.com/hako-mikan/sd-webui-lora-block-weight) by hako-mikan for details on LBW. -- These will be included in the next release. - -- `sdxl_merge_lora.py` が OFT をサポートされました。PR [#1580](https://github.com/kohya-ss/sd-scripts/pull/1580) Maru-mee 氏に感謝します。 -- `svd_merge_lora.py` で LBW がサポートされました。PR [#1575](https://github.com/kohya-ss/sd-scripts/pull/1575) terracottahaniwa 氏に感謝します。 -- `sdxl_merge_lora.py` でも LBW がサポートされました。 -- LBW の詳細は hako-mikan 氏の [LoRA Block Weight](https://github.com/hako-mikan/sd-webui-lora-block-weight) をご覧ください。 -- 以上は次回リリースに含まれます。 - -### Jun 23, 2024 / 2024-06-23: - -- Fixed `cache_latents.py` and `cache_text_encoder_outputs.py` not working. (Will be included in the next release.) - -- `cache_latents.py` および `cache_text_encoder_outputs.py` が動作しなくなっていたのを修正しました。(次回リリースに含まれます。) - -### Apr 7, 2024 / 2024-04-07: v0.8.7 - -- The default value of `huber_schedule` in Scheduled Huber Loss is changed from `exponential` to `snr`, which is expected to give better results. - -- Scheduled Huber Loss の `huber_schedule` のデフォルト値を `exponential` から、より良い結果が期待できる `snr` に変更しました。 - -### Apr 7, 2024 / 2024-04-07: v0.8.6 - -#### Highlights - -- The dependent libraries are updated. Please see [Upgrade](#upgrade) and update the libraries. - - Especially `imagesize` is newly added, so if you cannot update the libraries immediately, please install with `pip install imagesize==1.4.1` separately. - - `bitsandbytes==0.43.0`, `prodigyopt==1.0`, `lion-pytorch==0.0.6` are included in the requirements.txt. - - `bitsandbytes` no longer requires complex procedures as it now officially supports Windows. - - Also, the PyTorch version is updated to 2.1.2 (PyTorch does not need to be updated immediately). In the upgrade procedure, PyTorch is not updated, so please manually install or update torch, torchvision, xformers if necessary (see [Upgrade PyTorch](#upgrade-pytorch)). -- When logging to wandb is enabled, the entire command line is exposed. Therefore, it is recommended to write wandb API key and HuggingFace token in the configuration file (`.toml`). Thanks to bghira for raising the issue. - - A warning is displayed at the start of training if such information is included in the command line. - - Also, if there is an absolute path, the path may be exposed, so it is recommended to specify a relative path or write it in the configuration file. In such cases, an INFO log is displayed. - - See [#1123](https://github.com/kohya-ss/sd-scripts/pull/1123) and PR [#1240](https://github.com/kohya-ss/sd-scripts/pull/1240) for details. -- Colab seems to stop with log output. Try specifying `--console_log_simple` option in the training script to disable rich logging. -- Other improvements include the addition of masked loss, scheduled Huber Loss, DeepSpeed support, dataset settings improvements, and image tagging improvements. See below for details. - -#### Training scripts - -- `train_network.py` and `sdxl_train_network.py` are modified to record some dataset settings in the metadata of the trained model (`caption_prefix`, `caption_suffix`, `keep_tokens_separator`, `secondary_separator`, `enable_wildcard`). -- Fixed a bug that U-Net and Text Encoders are included in the state in `train_network.py` and `sdxl_train_network.py`. The saving and loading of the state are faster, the file size is smaller, and the memory usage when loading is reduced. -- DeepSpeed is supported. PR [#1101](https://github.com/kohya-ss/sd-scripts/pull/1101) and [#1139](https://github.com/kohya-ss/sd-scripts/pull/1139) Thanks to BootsofLagrangian! See PR [#1101](https://github.com/kohya-ss/sd-scripts/pull/1101) for details. -- The masked loss is supported in each training script. PR [#1207](https://github.com/kohya-ss/sd-scripts/pull/1207) See [Masked loss](#about-masked-loss) for details. -- Scheduled Huber Loss has been introduced to each training scripts. PR [#1228](https://github.com/kohya-ss/sd-scripts/pull/1228/) Thanks to kabachuha for the PR and cheald, drhead, and others for the discussion! See the PR and [Scheduled Huber Loss](#about-scheduled-huber-loss) for details. -- The options `--noise_offset_random_strength` and `--ip_noise_gamma_random_strength` are added to each training script. These options can be used to vary the noise offset and ip noise gamma in the range of 0 to the specified value. PR [#1177](https://github.com/kohya-ss/sd-scripts/pull/1177) Thanks to KohakuBlueleaf! -- The options `--save_state_on_train_end` are added to each training script. PR [#1168](https://github.com/kohya-ss/sd-scripts/pull/1168) Thanks to gesen2egee! -- The options `--sample_every_n_epochs` and `--sample_every_n_steps` in each training script now display a warning and ignore them when a number less than or equal to `0` is specified. Thanks to S-Del for raising the issue. - -#### Dataset settings - -- The [English version of the dataset settings documentation](./docs/config_README-en.md) is added. PR [#1175](https://github.com/kohya-ss/sd-scripts/pull/1175) Thanks to darkstorm2150! -- The `.toml` file for the dataset config is now read in UTF-8 encoding. PR [#1167](https://github.com/kohya-ss/sd-scripts/pull/1167) Thanks to Horizon1704! -- Fixed a bug that the last subset settings are applied to all images when multiple subsets of regularization images are specified in the dataset settings. The settings for each subset are correctly applied to each image. PR [#1205](https://github.com/kohya-ss/sd-scripts/pull/1205) Thanks to feffy380! -- Some features are added to the dataset subset settings. - - `secondary_separator` is added to specify the tag separator that is not the target of shuffling or dropping. - - Specify `secondary_separator=";;;"`. When you specify `secondary_separator`, the part is not shuffled or dropped. - - `enable_wildcard` is added. When set to `true`, the wildcard notation `{aaa|bbb|ccc}` can be used. The multi-line caption is also enabled. - - `keep_tokens_separator` is updated to be used twice in the caption. When you specify `keep_tokens_separator="|||"`, the part divided by the second `|||` is not shuffled or dropped and remains at the end. - - The existing features `caption_prefix` and `caption_suffix` can be used together. `caption_prefix` and `caption_suffix` are processed first, and then `enable_wildcard`, `keep_tokens_separator`, shuffling and dropping, and `secondary_separator` are processed in order. - - See [Dataset config](./docs/config_README-en.md) for details. -- The dataset with DreamBooth method supports caching image information (size, caption). PR [#1178](https://github.com/kohya-ss/sd-scripts/pull/1178) and [#1206](https://github.com/kohya-ss/sd-scripts/pull/1206) Thanks to KohakuBlueleaf! See [DreamBooth method specific options](./docs/config_README-en.md#dreambooth-specific-options) for details. - -#### Image tagging - -- The support for v3 repositories is added to `tag_image_by_wd14_tagger.py` (`--onnx` option only). PR [#1192](https://github.com/kohya-ss/sd-scripts/pull/1192) Thanks to sdbds! - - Onnx may need to be updated. Onnx is not installed by default, so please install or update it with `pip install onnx==1.15.0 onnxruntime-gpu==1.17.1` etc. Please also check the comments in `requirements.txt`. -- The model is now saved in the subdirectory as `--repo_id` in `tag_image_by_wd14_tagger.py` . This caches multiple repo_id models. Please delete unnecessary files under `--model_dir`. -- Some options are added to `tag_image_by_wd14_tagger.py`. - - Some are added in PR [#1216](https://github.com/kohya-ss/sd-scripts/pull/1216) Thanks to Disty0! - - Output rating tags `--use_rating_tags` and `--use_rating_tags_as_last_tag` - - Output character tags first `--character_tags_first` - - Expand character tags and series `--character_tag_expand` - - Specify tags to output first `--always_first_tags` - - Replace tags `--tag_replacement` - - See [Tagging documentation](./docs/wd14_tagger_README-en.md) for details. -- Fixed an error when specifying `--beam_search` and a value of 2 or more for `--num_beams` in `make_captions.py`. - -#### About Masked loss - -The masked loss is supported in each training script. To enable the masked loss, specify the `--masked_loss` option. - -The feature is not fully tested, so there may be bugs. If you find any issues, please open an Issue. - -ControlNet dataset is used to specify the mask. The mask images should be the RGB images. The pixel value 255 in R channel is treated as the mask (the loss is calculated only for the pixels with the mask), and 0 is treated as the non-mask. The pixel values 0-255 are converted to 0-1 (i.e., the pixel value 128 is treated as the half weight of the loss). See details for the dataset specification in the [LLLite documentation](./docs/train_lllite_README.md#preparing-the-dataset). - -#### About Scheduled Huber Loss - -Scheduled Huber Loss has been introduced to each training scripts. This is a method to improve robustness against outliers or anomalies (data corruption) in the training data. - -With the traditional MSE (L2) loss function, the impact of outliers could be significant, potentially leading to a degradation in the quality of generated images. On the other hand, while the Huber loss function can suppress the influence of outliers, it tends to compromise the reproduction of fine details in images. - -To address this, the proposed method employs a clever application of the Huber loss function. By scheduling the use of Huber loss in the early stages of training (when noise is high) and MSE in the later stages, it strikes a balance between outlier robustness and fine detail reproduction. - -Experimental results have confirmed that this method achieves higher accuracy on data containing outliers compared to pure Huber loss or MSE. The increase in computational cost is minimal. - -The newly added arguments loss_type, huber_schedule, and huber_c allow for the selection of the loss function type (Huber, smooth L1, MSE), scheduling method (exponential, constant, SNR), and Huber's parameter. This enables optimization based on the characteristics of the dataset. - -See PR [#1228](https://github.com/kohya-ss/sd-scripts/pull/1228/) for details. - -- `loss_type`: Specify the loss function type. Choose `huber` for Huber loss, `smooth_l1` for smooth L1 loss, and `l2` for MSE loss. The default is `l2`, which is the same as before. -- `huber_schedule`: Specify the scheduling method. Choose `exponential`, `constant`, or `snr`. The default is `snr`. -- `huber_c`: Specify the Huber's parameter. The default is `0.1`. - -Please read [Releases](https://github.com/kohya-ss/sd-scripts/releases) for recent updates. - -#### 主要な変更点 - -- 依存ライブラリが更新されました。[アップグレード](./README-ja.md#アップグレード) を参照しライブラリを更新してください。 - - 特に `imagesize` が新しく追加されていますので、すぐにライブラリの更新ができない場合は `pip install imagesize==1.4.1` で個別にインストールしてください。 - - `bitsandbytes==0.43.0`、`prodigyopt==1.0`、`lion-pytorch==0.0.6` が requirements.txt に含まれるようになりました。 - - `bitsandbytes` が公式に Windows をサポートしたため複雑な手順が不要になりました。 - - また PyTorch のバージョンを 2.1.2 に更新しました。PyTorch はすぐに更新する必要はありません。更新時は、アップグレードの手順では PyTorch が更新されませんので、torch、torchvision、xformers を手動でインストールしてください。 -- wandb へのログ出力が有効の場合、コマンドライン全体が公開されます。そのため、コマンドラインに wandb の API キーや HuggingFace のトークンなどが含まれる場合、設定ファイル(`.toml`)への記載をお勧めします。問題提起していただいた bghira 氏に感謝します。 - - このような場合には学習開始時に警告が表示されます。 - - また絶対パスの指定がある場合、そのパスが公開される可能性がありますので、相対パスを指定するか設定ファイルに記載することをお勧めします。このような場合は INFO ログが表示されます。 - - 詳細は [#1123](https://github.com/kohya-ss/sd-scripts/pull/1123) および PR [#1240](https://github.com/kohya-ss/sd-scripts/pull/1240) をご覧ください。 -- Colab での動作時、ログ出力で停止してしまうようです。学習スクリプトに `--console_log_simple` オプションを指定し、rich のロギングを無効してお試しください。 -- その他、マスクロス追加、Scheduled Huber Loss 追加、DeepSpeed 対応、データセット設定の改善、画像タグ付けの改善などがあります。詳細は以下をご覧ください。 - -#### 学習スクリプト - -- `train_network.py` および `sdxl_train_network.py` で、学習したモデルのメタデータに一部のデータセット設定が記録されるよう修正しました(`caption_prefix`、`caption_suffix`、`keep_tokens_separator`、`secondary_separator`、`enable_wildcard`)。 -- `train_network.py` および `sdxl_train_network.py` で、state に U-Net および Text Encoder が含まれる不具合を修正しました。state の保存、読み込みが高速化され、ファイルサイズも小さくなり、また読み込み時のメモリ使用量も削減されます。 -- DeepSpeed がサポートされました。PR [#1101](https://github.com/kohya-ss/sd-scripts/pull/1101) 、[#1139](https://github.com/kohya-ss/sd-scripts/pull/1139) BootsofLagrangian 氏に感謝します。詳細は PR [#1101](https://github.com/kohya-ss/sd-scripts/pull/1101) をご覧ください。 -- 各学習スクリプトでマスクロスをサポートしました。PR [#1207](https://github.com/kohya-ss/sd-scripts/pull/1207) 詳細は [マスクロスについて](#マスクロスについて) をご覧ください。 -- 各学習スクリプトに Scheduled Huber Loss を追加しました。PR [#1228](https://github.com/kohya-ss/sd-scripts/pull/1228/) ご提案いただいた kabachuha 氏、および議論を深めてくださった cheald 氏、drhead 氏を始めとする諸氏に感謝します。詳細は当該 PR および [Scheduled Huber Loss について](#scheduled-huber-loss-について) をご覧ください。 -- 各学習スクリプトに、noise offset、ip noise gammaを、それぞれ 0~指定した値の範囲で変動させるオプション `--noise_offset_random_strength` および `--ip_noise_gamma_random_strength` が追加されました。 PR [#1177](https://github.com/kohya-ss/sd-scripts/pull/1177) KohakuBlueleaf 氏に感謝します。 -- 各学習スクリプトに、学習終了時に state を保存する `--save_state_on_train_end` オプションが追加されました。 PR [#1168](https://github.com/kohya-ss/sd-scripts/pull/1168) gesen2egee 氏に感謝します。 -- 各学習スクリプトで `--sample_every_n_epochs` および `--sample_every_n_steps` オプションに `0` 以下の数値を指定した時、警告を表示するとともにそれらを無視するよう変更しました。問題提起していただいた S-Del 氏に感謝します。 - -#### データセット設定 - -- データセット設定の `.toml` ファイルが UTF-8 encoding で読み込まれるようになりました。PR [#1167](https://github.com/kohya-ss/sd-scripts/pull/1167) Horizon1704 氏に感謝します。 -- データセット設定で、正則化画像のサブセットを複数指定した時、最後のサブセットの各種設定がすべてのサブセットの画像に適用される不具合が修正されました。それぞれのサブセットの設定が、それぞれの画像に正しく適用されます。PR [#1205](https://github.com/kohya-ss/sd-scripts/pull/1205) feffy380 氏に感謝します。 -- データセットのサブセット設定にいくつかの機能を追加しました。 - - シャッフルの対象とならないタグ分割識別子の指定 `secondary_separator` を追加しました。`secondary_separator=";;;"` のように指定します。`secondary_separator` で区切ることで、その部分はシャッフル、drop 時にまとめて扱われます。 - - `enable_wildcard` を追加しました。`true` にするとワイルドカード記法 `{aaa|bbb|ccc}` が使えます。また複数行キャプションも有効になります。 - - `keep_tokens_separator` をキャプション内に 2 つ使えるようにしました。たとえば `keep_tokens_separator="|||"` と指定したとき、`1girl, hatsune miku, vocaloid ||| stage, mic ||| best quality, rating: general` とキャプションを指定すると、二番目の `|||` で分割された部分はシャッフル、drop されず末尾に残ります。 - - 既存の機能 `caption_prefix` と `caption_suffix` とあわせて使えます。`caption_prefix` と `caption_suffix` は一番最初に処理され、その後、ワイルドカード、`keep_tokens_separator`、シャッフルおよび drop、`secondary_separator` の順に処理されます。 - - 詳細は [データセット設定](./docs/config_README-ja.md) をご覧ください。 -- DreamBooth 方式の DataSet で画像情報(サイズ、キャプション)をキャッシュする機能が追加されました。PR [#1178](https://github.com/kohya-ss/sd-scripts/pull/1178)、[#1206](https://github.com/kohya-ss/sd-scripts/pull/1206) KohakuBlueleaf 氏に感謝します。詳細は [データセット設定](./docs/config_README-ja.md#dreambooth-方式専用のオプション) をご覧ください。 -- データセット設定の[英語版ドキュメント](./docs/config_README-en.md) が追加されました。PR [#1175](https://github.com/kohya-ss/sd-scripts/pull/1175) darkstorm2150 氏に感謝します。 - -#### 画像のタグ付け - -- `tag_image_by_wd14_tagger.py` で v3 のリポジトリがサポートされました(`--onnx` 指定時のみ有効)。 PR [#1192](https://github.com/kohya-ss/sd-scripts/pull/1192) sdbds 氏に感謝します。 - - Onnx のバージョンアップが必要になるかもしれません。デフォルトでは Onnx はインストールされていませんので、`pip install onnx==1.15.0 onnxruntime-gpu==1.17.1` 等でインストール、アップデートしてください。`requirements.txt` のコメントもあわせてご確認ください。 -- `tag_image_by_wd14_tagger.py` で、モデルを`--repo_id` のサブディレクトリに保存するようにしました。これにより複数のモデルファイルがキャッシュされます。`--model_dir` 直下の不要なファイルは削除願います。 -- `tag_image_by_wd14_tagger.py` にいくつかのオプションを追加しました。 - - 一部は PR [#1216](https://github.com/kohya-ss/sd-scripts/pull/1216) で追加されました。Disty0 氏に感謝します。 - - レーティングタグを出力する `--use_rating_tags` および `--use_rating_tags_as_last_tag` - - キャラクタタグを最初に出力する `--character_tags_first` - - キャラクタタグとシリーズを展開する `--character_tag_expand` - - 常に最初に出力するタグを指定する `--always_first_tags` - - タグを置換する `--tag_replacement` - - 詳細は [タグ付けに関するドキュメント](./docs/wd14_tagger_README-ja.md) をご覧ください。 -- `make_captions.py` で `--beam_search` を指定し `--num_beams` に2以上の値を指定した時のエラーを修正しました。 - -#### マスクロスについて - -各学習スクリプトでマスクロスをサポートしました。マスクロスを有効にするには `--masked_loss` オプションを指定してください。 - -機能は完全にテストされていないため、不具合があるかもしれません。その場合は Issue を立てていただけると助かります。 - -マスクの指定には ControlNet データセットを使用します。マスク画像は RGB 画像である必要があります。R チャンネルのピクセル値 255 がロス計算対象、0 がロス計算対象外になります。0-255 の値は、0-1 の範囲に変換されます(つまりピクセル値 128 の部分はロスの重みが半分になります)。データセットの詳細は [LLLite ドキュメント](./docs/train_lllite_README-ja.md#データセットの準備) をご覧ください。 - -#### Scheduled Huber Loss について - -各学習スクリプトに、学習データ中の異常値や外れ値(data corruption)への耐性を高めるための手法、Scheduled Huber Lossが導入されました。 - -従来のMSE(L2)損失関数では、異常値の影響を大きく受けてしまい、生成画像の品質低下を招く恐れがありました。一方、Huber損失関数は異常値の影響を抑えられますが、画像の細部再現性が損なわれがちでした。 - -この手法ではHuber損失関数の適用を工夫し、学習の初期段階(ノイズが大きい場合)ではHuber損失を、後期段階ではMSEを用いるようスケジューリングすることで、異常値耐性と細部再現性のバランスを取ります。 - -実験の結果では、この手法が純粋なHuber損失やMSEと比べ、異常値を含むデータでより高い精度を達成することが確認されています。また計算コストの増加はわずかです。 - -具体的には、新たに追加された引数loss_type、huber_schedule、huber_cで、損失関数の種類(Huber, smooth L1, MSE)とスケジューリング方法(exponential, constant, SNR)を選択できます。これによりデータセットに応じた最適化が可能になります。 - -詳細は PR [#1228](https://github.com/kohya-ss/sd-scripts/pull/1228/) をご覧ください。 - -- `loss_type` : 損失関数の種類を指定します。`huber` で Huber損失、`smooth_l1` で smooth L1 損失、`l2` で MSE 損失を選択します。デフォルトは `l2` で、従来と同様です。 -- `huber_schedule` : スケジューリング方法を指定します。`exponential` で指数関数的、`constant` で一定、`snr` で信号対雑音比に基づくスケジューリングを選択します。デフォルトは `snr` です。 -- `huber_c` : Huber損失のパラメータを指定します。デフォルトは `0.1` です。 - -PR 内でいくつかの比較が共有されています。この機能を試す場合、最初は `--loss_type smooth_l1 --huber_schedule snr --huber_c 0.1` などで試してみるとよいかもしれません。 - -最近の更新情報は [Release](https://github.com/kohya-ss/sd-scripts/releases) をご覧ください。 - -## Additional Information - -### Naming of LoRA - -The LoRA supported by `train_network.py` has been named to avoid confusion. The documentation has been updated. The following are the names of LoRA types in this repository. - -1. __LoRA-LierLa__ : (LoRA for __Li__ n __e__ a __r__ __La__ yers) - - LoRA for Linear layers and Conv2d layers with 1x1 kernel - -2. __LoRA-C3Lier__ : (LoRA for __C__ olutional layers with __3__ x3 Kernel and __Li__ n __e__ a __r__ layers) - - In addition to 1., LoRA for Conv2d layers with 3x3 kernel - -LoRA-LierLa is the default LoRA type for `train_network.py` (without `conv_dim` network arg). - - -### Sample image generation during training - A prompt file might look like this, for example - -``` -# prompt 1 -masterpiece, best quality, (1girl), in white shirts, upper body, looking at viewer, simple background --n low quality, worst quality, bad anatomy,bad composition, poor, low effort --w 768 --h 768 --d 1 --l 7.5 --s 28 - -# prompt 2 -masterpiece, best quality, 1boy, in business suit, standing at street, looking back --n (low quality, worst quality), bad anatomy,bad composition, poor, low effort --w 576 --h 832 --d 2 --l 5.5 --s 40 -``` - - Lines beginning with `#` are comments. You can specify options for the generated image with options like `--n` after the prompt. The following can be used. - - * `--n` Negative prompt up to the next option. Ignored when CFG scale is `1.0`. - * `--w` Specifies the width of the generated image. - * `--h` Specifies the height of the generated image. - * `--d` Specifies the seed of the generated image. - * `--l` Specifies the CFG scale of the generated image. For FLUX.1 models, the default is `1.0`, which means no CFG. For Chroma models, set to around `4.0` to enable CFG. - * `--g` Specifies the embedded guidance scale for the models with embedded guidance (FLUX.1), the default is `3.5`. Set to `0.0` for Chroma models. - * `--s` Specifies the number of steps in the generation. - - The prompt weighting such as `( )` and `[ ]` are working. diff --git a/docs/sd3_train_network.md b/docs/sd3_train_network.md index 30876ce05..5db90ecba 100644 --- a/docs/sd3_train_network.md +++ b/docs/sd3_train_network.md @@ -95,7 +95,7 @@ accelerate launch --num_cpu_threads_per_process 1 sd3_train_network.py \ --save_every_n_epochs=1 \ --mixed_precision="fp16" \ --gradient_checkpointing \ - --weighting_scheme="sigma_sqrt" \ + --weighting_scheme="uniform" \ --blocks_to_swap=32 ``` @@ -129,7 +129,7 @@ accelerate launch --num_cpu_threads_per_process 1 sd3_train_network.py --save_every_n_epochs=1 --mixed_precision="fp16" --gradient_checkpointing - --weighting_scheme="sigma_sqrt" + --weighting_scheme="uniform" --blocks_to_swap=32 ``` diff --git a/docs/train_network.md b/docs/train_network.md index 06c08a424..0c2ea4bed 100644 --- a/docs/train_network.md +++ b/docs/train_network.md @@ -42,7 +42,7 @@ Before starting training, you will need the following files: The dataset definition file (`.toml`) contains detailed settings such as the directory of images to use, repetition count, caption settings, resolution buckets (optional), etc. -For more details on how to write the dataset definition file, please refer to the [Dataset Configuration Guide](link/to/dataset/config/doc). +For more details on how to write the dataset definition file, please refer to the [Dataset Configuration Guide](./config_README-en.md). In this guide, we will use a file named `my_dataset_config.toml` as an example. @@ -56,9 +56,9 @@ In this guide, we will use a file named `my_dataset_config.toml` as an example. **データセット定義ファイルについて** -データセット定義ファイル (`.toml`) には、使用する画像のディレクトリ、繰り返し回数、キャプションの設定、解像度バケツ(任意)などの詳細な設定を記述します。 +データセット定義ファイル (`.toml`) には、使用する画像のディレクトリ、繰り返し回数、キャプションの設定、Aspect Ratio Bucketing(任意)などの詳細な設定を記述します。 -データセット定義ファイルの詳しい書き方については、[データセット設定ガイド](link/to/dataset/config/doc)を参照してください。 +データセット定義ファイルの詳しい書き方については、[データセット設定ガイド](./config_README-ja.md)を参照してください。 ここでは、例として `my_dataset_config.toml` という名前のファイルを使用することにします。
@@ -143,6 +143,16 @@ Next, we'll explain the main command-line arguments. * Specifies the rank (dimension) of LoRA. Higher values increase expressiveness but also increase file size and computational cost. Values between 4 and 128 are commonly used. There is no default (module dependent). * `--network_alpha=1` * Specifies the alpha value for LoRA. This parameter is related to learning rate scaling. It is generally recommended to set it to about half the value of `network_dim`, but it can also be the same value as `network_dim`. The default is 1. Setting it to the same value as `network_dim` will result in behavior similar to older versions. +* `--network_args` + * Used to specify additional parameters specific to the LoRA module. For example, to use Conv2d (3x3) LoRA (LoRA-C3Lier), specify the following in `--network_args`. Use `conv_dim` to specify the rank for Conv2d (3x3) and `conv_alpha` for alpha. + ``` + --network_args "conv_dim=4" "conv_alpha=1" + ``` + + If alpha is omitted as shown below, it defaults to 1. + ``` + --network_args "conv_dim=4" + ``` #### Training Parameters / 学習パラメータ @@ -222,6 +232,16 @@ Next, we'll explain the main command-line arguments. * `--network_alpha=1` * LoRA のアルファ値 (alpha) を指定します。学習率のスケーリングに関係するパラメータで、一般的には `network_dim` の半分程度の値を指定することが推奨されますが、`network_dim` と同じ値を指定する場合もあります。デフォルトは 1 です。`network_dim` と同じ値に設定すると、旧バージョンと同様の挙動になります。 +* `--network_args` + * LoRA モジュールに特有の追加パラメータを指定するために使用します。例えば、Conv2d (3x3) の LoRA (LoRA-C3Lier) を使用する場合は`--network_args` に以下のように指定してください。`conv_dim` で Conv2d (3x3) の rank を、`conv_alpha` で alpha を指定します。 + ``` + --network_args "conv_dim=4" "conv_alpha=1" + ``` + 以下のように alpha を省略した時は1になります。 + ``` + --network_args "conv_dim=4" + ``` + #### 学習パラメータ * `--learning_rate=1e-4` @@ -311,4 +331,37 @@ For these features, please refer to the script's help (`python train_network.py * ネットワークの追加設定 (`--network_args` など) これらの機能については、スクリプトのヘルプ (`python train_network.py --help`) やリポジトリ内の他のドキュメントを参照してください。 +
+ +## 6. Additional Information / 追加情報 + +### Naming of LoRA + +The LoRA supported by `train_network.py` has been named to avoid confusion. The documentation has been updated. The following are the names of LoRA types in this repository. + +1. __LoRA-LierLa__ : (LoRA for __Li__ n __e__ a __r__ __La__ yers) + + LoRA for Linear layers and Conv2d layers with 1x1 kernel + +2. __LoRA-C3Lier__ : (LoRA for __C__ olutional layers with __3__ x3 Kernel and __Li__ n __e__ a __r__ layers) + + In addition to 1., LoRA for Conv2d layers with 3x3 kernel + +LoRA-LierLa is the default LoRA type for `train_network.py` (without `conv_dim` network arg). + +
+日本語 + +`train_network.py` がサポートするLoRAについて、混乱を避けるため名前を付けました。ドキュメントは更新済みです。以下は当リポジトリ内の独自の名称です。 + +1. __LoRA-LierLa__ : (LoRA for __Li__ n __e__ a __r__ __La__ yers、リエラと読みます) + + Linear 層およびカーネルサイズ 1x1 の Conv2d 層に適用されるLoRA + +2. __LoRA-C3Lier__ : (LoRA for __C__ olutional layers with __3__ x3 Kernel and __Li__ n __e__ a __r__ layers、セリアと読みます) + + 1.に加え、カーネルサイズ 3x3 の Conv2d 層に適用されるLoRA + +デフォルトではLoRA-LierLaが使われます。LoRA-C3Lierを使う場合は `--network_args` に `conv_dim` を指定してください。 +
\ No newline at end of file diff --git a/docs/train_network_advanced.md b/docs/train_network_advanced.md index c1fd86a22..b907ea09b 100644 --- a/docs/train_network_advanced.md +++ b/docs/train_network_advanced.md @@ -100,9 +100,33 @@ Basic options are common with `train_network.py`. * `--sample_every_n_steps=N` / `--sample_every_n_epochs=N`: Generates sample images every N steps/epochs. * `--sample_at_first`: Generates sample images before training starts. -* `--sample_prompts=\"\"`: Specifies a file (`.txt`, `.toml`, `.json`) containing prompts for sample image generation. Format follows [gen_img_diffusers.py](gen_img_diffusers.py). See [documentation](gen_img_README-ja.md) for details. +* `--sample_prompts=\"\"`: Specifies a file (`.txt`, `.toml`, `.json`) containing prompts for sample image generation. * `--sample_sampler=\"...\"`: Specifies the sampler (scheduler) for sample image generation. `euler_a`, `dpm++_2m_karras`, etc., are common. See `--help` for choices. +#### Format of Prompt File + +A prompt file can contain multiple prompts with options, for example: + +``` +# prompt 1 +masterpiece, best quality, (1girl), in white shirts, upper body, looking at viewer, simple background --n low quality, worst quality, bad anatomy,bad composition, poor, low effort --w 768 --h 768 --d 1 --l 7.5 --s 28 + +# prompt 2 +masterpiece, best quality, 1boy, in business suit, standing at street, looking back --n (low quality, worst quality), bad anatomy,bad composition, poor, low effort --w 576 --h 832 --d 2 --l 5.5 --s 40 +``` + + Lines beginning with `#` are comments. You can specify options for the generated image with options like `--n` after the prompt. The following can be used. + + * `--n` Negative prompt up to the next option. Ignored when CFG scale is `1.0`. + * `--w` Specifies the width of the generated image. + * `--h` Specifies the height of the generated image. + * `--d` Specifies the seed of the generated image. + * `--l` Specifies the CFG scale of the generated image. For FLUX.1 models, the default is `1.0`, which means no CFG. For Chroma models, set to around `4.0` to enable CFG. + * `--g` Specifies the embedded guidance scale for the models with embedded guidance (FLUX.1), the default is `3.5`. Set to `0.0` for Chroma models. + * `--s` Specifies the number of steps in the generation. + +The prompt weighting such as `( )` and `[ ]` are working for SD/SDXL models, not working for other models like FLUX.1. + ### 1.8. Logging & Tracking * `--logging_dir=\"\"`: Specifies the directory for TensorBoard and other logs. If not specified, logs are not output. @@ -186,7 +210,6 @@ This technique involves merging a pre-trained LoRA into the base model before st ## 2. Other Tips / その他のTips - * **VRAM Usage:** SDXL LoRA training requires a lot of VRAM. Even with 24GB VRAM, you might run out of memory depending on settings. Reduce VRAM usage with these settings: * `--mixed_precision=\"bf16\"` or `\"fp16\"` (essential) * `--gradient_checkpointing` (strongly recommended) @@ -376,10 +399,33 @@ SDXLは計算コストが高いため、キャッシュ機能が効果的です * `--sample_at_first` * 学習開始前にサンプル画像を生成します。 * `--sample_prompts="<プロンプトファイル>"` - * サンプル画像生成に使用するプロンプトを記述したファイル (`.txt`, `.toml`, `.json`) を指定します。書式は[gen\_img\_diffusers.py](gen_img_diffusers.py)に準じます。詳細は[ドキュメント](gen_img_README-ja.md)を参照してください。 + * サンプル画像生成に使用するプロンプトを記述したファイル (`.txt`, `.toml`, `.json`) を指定します。 * `--sample_sampler="..."` * サンプル画像生成時のサンプラー(スケジューラ)を指定します。`euler_a`, `dpm++_2m_karras` などが一般的です。選択肢は `--help` を参照してください。 +#### プロンプトファイルの書式 +プロンプトファイルは複数のプロンプトとオプションを含めることができます。例えば: + +``` +# prompt 1 +masterpiece, best quality, (1girl), in white shirts, upper body, looking at viewer, simple background --n low quality, worst quality, bad anatomy,bad composition, poor, low effort --w 768 --h 768 --d 1 --l 7.5 --s 28 + +# prompt 2 +masterpiece, best quality, 1boy, in business suit, standing at street, looking back --n (low quality, worst quality), bad anatomy,bad composition, poor, low effort --w 576 --h 832 --d 2 --l 5.5 --s 40 +``` + +`#`で始まる行はコメントです。生成画像のオプションはプロンプトの後に `--n` のように指定できます。以下のオプションが使用可能です。 + + * `--n` 次のオプションまでがネガティブプロンプトです。CFGスケールが `1.0` の場合は無視されます。 + * `--w` 生成画像の幅を指定します。 + * `--h` 生成画像の高さを指定します。 + * `--d` 生成画像のシード値を指定します。 + * `--l` 生成画像のCFGスケールを指定します。FLUX.1モデルでは、デフォルトは `1.0` でCFGなしを意味します。Chromaモデルでは、CFGを有効にするために `4.0` 程度に設定してください。 + * `--g` 埋め込みガイダンス付きモデル(FLUX.1)の埋め込みガイダンススケールを指定、デフォルトは `3.5`。Chromaモデルでは `0.0` に設定してください。 + * `--s` 生成時のステップ数を指定します。 + +プロンプトの重み付け `( )` や `[ ]` はSD/SDXLモデルで動作し、FLUX.1など他のモデルでは動作しません。 + ### 1.8. Logging & Tracking 関連 * `--logging_dir="<ログディレクトリ>"` From da07e4c6176d8bab982cee2ba7f9fca370d90a9a Mon Sep 17 00:00:00 2001 From: cgcalatrava Date: Mon, 19 Jan 2026 20:53:00 +0100 Subject: [PATCH 721/748] Make UNet2DConditionModel import compatible with old and new diffusers versions --- sdxl_gen_img.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/sdxl_gen_img.py b/sdxl_gen_img.py index d52f85a8f..1a0f95516 100755 --- a/sdxl_gen_img.py +++ b/sdxl_gen_img.py @@ -15,6 +15,12 @@ import re import diffusers + +# Compatible import for diffusers old/new UNet path +try: + from diffusers.models.unet_2d_condition import UNet2DConditionModel +except ImportError: + from diffusers.models.unets.unet_2d_condition import UNet2DConditionModel import numpy as np import torch @@ -80,7 +86,7 @@ """ -def replace_unet_modules(unet: diffusers.models.unet_2d_condition.UNet2DConditionModel, mem_eff_attn, xformers, sdpa): +def replace_unet_modules(unet: UNet2DConditionModel, mem_eff_attn, xformers, sdpa): if mem_eff_attn: logger.info("Enable memory efficient attention for U-Net") From e21a7736f8fdd2477836edf254105518beb9790e Mon Sep 17 00:00:00 2001 From: duongve13112002 <71595470+duongve13112002@users.noreply.github.com> Date: Sun, 8 Feb 2026 08:18:55 +0700 Subject: [PATCH 722/748] Support Anima model (#2260) * Support Anima model * Update document and fix bug * Fix latent normlization * Fix typo * Fix cache embedding * fix typo in tests/test_anima_cache.py * Remove redundant argument apply_t5_attn_mask * Improving caching with argument caption_dropout_rate * Fix W&B logging bugs * Fix discrete_flow_shift default value --- anima_train.py | 887 + anima_train_network.py | 540 + configs/qwen3_06b/config.json | 30 + configs/qwen3_06b/merges.txt | 151388 ++++++++++ configs/qwen3_06b/tokenizer.json | 303282 +++++++++++++++++++++ configs/qwen3_06b/tokenizer_config.json | 239 + configs/qwen3_06b/vocab.json | 1 + configs/t5_old/config.json | 51 + configs/t5_old/spiece.model | Bin 0 -> 791656 bytes configs/t5_old/tokenizer.json | 1 + docs/anima_train_network.md | 556 + library/anima_models.py | 1630 + library/anima_train_utils.py | 665 + library/anima_utils.py | 325 + library/anima_vae.py | 577 + library/strategy_anima.py | 429 + library/strategy_base.py | 2 +- library/train_util.py | 6 +- networks/lora_anima.py | 635 + tests/test_anima_cache.py | 617 + tests/test_anima_real_training.py | 242 + 21 files changed, 462100 insertions(+), 3 deletions(-) create mode 100644 anima_train.py create mode 100644 anima_train_network.py create mode 100644 configs/qwen3_06b/config.json create mode 100644 configs/qwen3_06b/merges.txt create mode 100644 configs/qwen3_06b/tokenizer.json create mode 100644 configs/qwen3_06b/tokenizer_config.json create mode 100644 configs/qwen3_06b/vocab.json create mode 100644 configs/t5_old/config.json create mode 100644 configs/t5_old/spiece.model create mode 100644 configs/t5_old/tokenizer.json create mode 100644 docs/anima_train_network.md create mode 100644 library/anima_models.py create mode 100644 library/anima_train_utils.py create mode 100644 library/anima_utils.py create mode 100644 library/anima_vae.py create mode 100644 library/strategy_anima.py create mode 100644 networks/lora_anima.py create mode 100644 tests/test_anima_cache.py create mode 100644 tests/test_anima_real_training.py diff --git a/anima_train.py b/anima_train.py new file mode 100644 index 000000000..a86c30c35 --- /dev/null +++ b/anima_train.py @@ -0,0 +1,887 @@ +# Anima full finetune training script + +import argparse +from concurrent.futures import ThreadPoolExecutor +import copy +import math +import os +from multiprocessing import Value +from typing import List +import toml + +from tqdm import tqdm + +import torch +from library import utils +from library.device_utils import init_ipex, clean_memory_on_device + +init_ipex() + +from accelerate.utils import set_seed +from library import deepspeed_utils, anima_models, anima_train_utils, anima_utils, strategy_base, strategy_anima, sai_model_spec + +import library.train_util as train_util + +from library.utils import setup_logging, add_logging_arguments + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + +import library.config_util as config_util + +from library.config_util import ( + ConfigSanitizer, + BlueprintGenerator, +) +from library.custom_train_functions import apply_masked_loss, add_custom_train_arguments + + +def train(args): + train_util.verify_training_args(args) + train_util.prepare_dataset_args(args, True) + deepspeed_utils.prepare_deepspeed_args(args) + setup_logging(args, reset=True) + + # backward compatibility + if not args.skip_cache_check: + args.skip_cache_check = args.skip_latents_validity_check + + if args.cache_text_encoder_outputs_to_disk and not args.cache_text_encoder_outputs: + logger.warning( + "cache_text_encoder_outputs_to_disk is enabled, so cache_text_encoder_outputs is also enabled" + ) + args.cache_text_encoder_outputs = True + + if args.cpu_offload_checkpointing and not args.gradient_checkpointing: + logger.warning("cpu_offload_checkpointing is enabled, so gradient_checkpointing is also enabled") + args.gradient_checkpointing = True + + if getattr(args, 'unsloth_offload_checkpointing', False): + if not args.gradient_checkpointing: + logger.warning("unsloth_offload_checkpointing is enabled, so gradient_checkpointing is also enabled") + args.gradient_checkpointing = True + assert not args.cpu_offload_checkpointing, \ + "Cannot use both --unsloth_offload_checkpointing and --cpu_offload_checkpointing" + + assert ( + args.blocks_to_swap is None or args.blocks_to_swap == 0 + ) or not args.cpu_offload_checkpointing, "blocks_to_swap is not supported with cpu_offload_checkpointing" + + assert ( + args.blocks_to_swap is None or args.blocks_to_swap == 0 + ) or not getattr(args, 'unsloth_offload_checkpointing', False), \ + "blocks_to_swap is not supported with unsloth_offload_checkpointing" + + # Flash attention: validate availability + if getattr(args, 'flash_attn', False): + try: + import flash_attn # noqa: F401 + logger.info("Flash Attention enabled for DiT blocks") + except ImportError: + logger.warning("flash_attn package not installed, falling back to PyTorch SDPA") + args.flash_attn = False + + cache_latents = args.cache_latents + use_dreambooth_method = args.in_json is None + + if args.seed is not None: + set_seed(args.seed) + + # prepare caching strategy: must be set before preparing dataset + if args.cache_latents: + latents_caching_strategy = strategy_anima.AnimaLatentsCachingStrategy( + args.cache_latents_to_disk, args.vae_batch_size, args.skip_cache_check + ) + strategy_base.LatentsCachingStrategy.set_strategy(latents_caching_strategy) + + # prepare dataset + if args.dataset_class is None: + blueprint_generator = BlueprintGenerator(ConfigSanitizer(True, True, args.masked_loss, True)) + if args.dataset_config is not None: + logger.info(f"Load dataset config from {args.dataset_config}") + user_config = config_util.load_user_config(args.dataset_config) + ignored = ["train_data_dir", "in_json"] + if any(getattr(args, attr) is not None for attr in ignored): + logger.warning( + "ignore following options because config file is found: {0}".format(", ".join(ignored)) + ) + else: + if use_dreambooth_method: + logger.info("Using DreamBooth method.") + user_config = { + "datasets": [ + { + "subsets": config_util.generate_dreambooth_subsets_config_by_subdirs( + args.train_data_dir, args.reg_data_dir + ) + } + ] + } + else: + logger.info("Training with captions.") + user_config = { + "datasets": [ + { + "subsets": [ + { + "image_dir": args.train_data_dir, + "metadata_file": args.in_json, + } + ] + } + ] + } + + blueprint = blueprint_generator.generate(user_config, args) + train_dataset_group, val_dataset_group = config_util.generate_dataset_group_by_blueprint(blueprint.dataset_group) + else: + train_dataset_group = train_util.load_arbitrary_dataset(args) + val_dataset_group = None + + current_epoch = Value("i", 0) + current_step = Value("i", 0) + ds_for_collator = train_dataset_group if args.max_data_loader_n_workers == 0 else None + collator = train_util.collator_class(current_epoch, current_step, ds_for_collator) + + train_dataset_group.verify_bucket_reso_steps(8) # WanVAE spatial downscale = 8 + + # Anima uses embedding-level dropout (in AnimaTextEncodingStrategy) instead of + # dataset-level caption dropout, so we save the rate and zero out subset-level + # caption_dropout_rate to allow text encoder output caching. + caption_dropout_rate = getattr(args, 'caption_dropout_rate', 0.0) + if caption_dropout_rate > 0: + logger.info(f"Using embedding-level caption dropout rate: {caption_dropout_rate}") + for dataset in train_dataset_group.datasets: + for subset in dataset.subsets: + subset.caption_dropout_rate = 0.0 + + if args.debug_dataset: + if args.cache_text_encoder_outputs: + strategy_base.TextEncoderOutputsCachingStrategy.set_strategy( + strategy_anima.AnimaTextEncoderOutputsCachingStrategy( + args.cache_text_encoder_outputs_to_disk, + args.text_encoder_batch_size, + False, + False, + ) + ) + train_dataset_group.set_current_strategies() + train_util.debug_dataset(train_dataset_group, True) + return + if len(train_dataset_group) == 0: + logger.error("No data found. Please verify the metadata file and train_data_dir option.") + return + + if cache_latents: + assert ( + train_dataset_group.is_latent_cacheable() + ), "when caching latents, either color_aug or random_crop cannot be used" + + if args.cache_text_encoder_outputs: + assert ( + train_dataset_group.is_text_encoder_output_cacheable() + ), "when caching text encoder output, shuffle_caption, token_warmup_step or caption_tag_dropout_rate cannot be used" + + # prepare accelerator + logger.info("prepare accelerator") + accelerator = train_util.prepare_accelerator(args) + + # mixed precision dtype + weight_dtype, save_dtype = train_util.prepare_dtype(args) + + # parse transformer_dtype + transformer_dtype = None + if hasattr(args, 'transformer_dtype') and args.transformer_dtype is not None: + transformer_dtype_map = { + "float16": torch.float16, + "bfloat16": torch.bfloat16, + "float32": torch.float32, + } + transformer_dtype = transformer_dtype_map.get(args.transformer_dtype, None) + + # Load tokenizers and set strategies + logger.info("Loading tokenizers...") + qwen3_text_encoder, qwen3_tokenizer = anima_utils.load_qwen3_text_encoder( + args.qwen3_path, dtype=weight_dtype, device="cpu" + ) + t5_tokenizer = anima_utils.load_t5_tokenizer( + getattr(args, 't5_tokenizer_path', None) + ) + + # Set tokenize strategy + tokenize_strategy = strategy_anima.AnimaTokenizeStrategy( + qwen3_tokenizer=qwen3_tokenizer, + t5_tokenizer=t5_tokenizer, + qwen3_max_length=args.qwen3_max_token_length, + t5_max_length=args.t5_max_token_length, + ) + strategy_base.TokenizeStrategy.set_strategy(tokenize_strategy) + + # Set text encoding strategy + caption_dropout_rate = getattr(args, 'caption_dropout_rate', 0.0) + text_encoding_strategy = strategy_anima.AnimaTextEncodingStrategy( + dropout_rate=caption_dropout_rate, + ) + strategy_base.TextEncodingStrategy.set_strategy(text_encoding_strategy) + + # Prepare text encoder (always frozen for Anima) + qwen3_text_encoder.to(weight_dtype) + qwen3_text_encoder.requires_grad_(False) + + # Cache text encoder outputs + sample_prompts_te_outputs = None + if args.cache_text_encoder_outputs: + qwen3_text_encoder.to(accelerator.device) + qwen3_text_encoder.eval() + + text_encoder_caching_strategy = strategy_anima.AnimaTextEncoderOutputsCachingStrategy( + args.cache_text_encoder_outputs_to_disk, + args.text_encoder_batch_size, + args.skip_cache_check, + is_partial=False, + ) + strategy_base.TextEncoderOutputsCachingStrategy.set_strategy(text_encoder_caching_strategy) + + with accelerator.autocast(): + train_dataset_group.new_cache_text_encoder_outputs([qwen3_text_encoder], accelerator) + + # cache sample prompt embeddings + if args.sample_prompts is not None: + logger.info(f"Cache Text Encoder outputs for sample prompts: {args.sample_prompts}") + prompts = train_util.load_prompts(args.sample_prompts) + sample_prompts_te_outputs = {} + with accelerator.autocast(), torch.no_grad(): + for prompt_dict in prompts: + for p in [prompt_dict.get("prompt", ""), prompt_dict.get("negative_prompt", "")]: + if p not in sample_prompts_te_outputs: + logger.info(f" cache TE outputs for: {p}") + tokens_and_masks = tokenize_strategy.tokenize(p) + sample_prompts_te_outputs[p] = text_encoding_strategy.encode_tokens( + tokenize_strategy, + [qwen3_text_encoder], + tokens_and_masks, + enable_dropout=False, + ) + + # Pre-cache unconditional embeddings for caption dropout before text encoder is deleted + caption_dropout_rate = getattr(args, 'caption_dropout_rate', 0.0) + if caption_dropout_rate > 0.0: + with accelerator.autocast(): + text_encoding_strategy.cache_uncond_embeddings(tokenize_strategy, [qwen3_text_encoder]) + + accelerator.wait_for_everyone() + + # free text encoder memory + qwen3_text_encoder = None + clean_memory_on_device(accelerator.device) + + # Load VAE and cache latents + logger.info("Loading Anima VAE...") + vae, vae_mean, vae_std, vae_scale = anima_utils.load_anima_vae(args.vae_path, dtype=weight_dtype, device="cpu") + + if cache_latents: + vae.to(accelerator.device, dtype=weight_dtype) + vae.requires_grad_(False) + vae.eval() + + train_dataset_group.new_cache_latents(vae, accelerator) + + vae.to("cpu") + clean_memory_on_device(accelerator.device) + accelerator.wait_for_everyone() + + # Load DiT (MiniTrainDIT + optional LLM Adapter) + logger.info("Loading Anima DiT...") + dit = anima_utils.load_anima_dit( + args.dit_path, + dtype=weight_dtype, + device="cpu", + transformer_dtype=transformer_dtype, + llm_adapter_path=getattr(args, 'llm_adapter_path', None), + disable_mmap=getattr(args, 'disable_mmap_load_safetensors', False), + ) + + if args.gradient_checkpointing: + dit.enable_gradient_checkpointing( + cpu_offload=args.cpu_offload_checkpointing, + unsloth_offload=getattr(args, 'unsloth_offload_checkpointing', False), + ) + + if getattr(args, 'flash_attn', False): + dit.set_flash_attn(True) + + train_dit = args.learning_rate != 0 + dit.requires_grad_(train_dit) + if not train_dit: + dit.to(accelerator.device, dtype=weight_dtype) + + # Block swap + is_swapping_blocks = args.blocks_to_swap is not None and args.blocks_to_swap > 0 + if is_swapping_blocks: + logger.info(f"Enable block swap: blocks_to_swap={args.blocks_to_swap}") + dit.enable_block_swap(args.blocks_to_swap, accelerator.device) + + if not cache_latents: + vae.requires_grad_(False) + vae.eval() + vae.to(accelerator.device, dtype=weight_dtype) + # Move scale tensors to same device as VAE for on-the-fly encoding + vae_scale = [s.to(accelerator.device) if isinstance(s, torch.Tensor) else s for s in vae_scale] + + # Setup optimizer with parameter groups + if train_dit: + param_groups = anima_train_utils.get_anima_param_groups( + dit, + base_lr=args.learning_rate, + self_attn_lr=getattr(args, 'self_attn_lr', None), + cross_attn_lr=getattr(args, 'cross_attn_lr', None), + mlp_lr=getattr(args, 'mlp_lr', None), + mod_lr=getattr(args, 'mod_lr', None), + llm_adapter_lr=getattr(args, 'llm_adapter_lr', None), + ) + else: + param_groups = [] + + training_models = [] + if train_dit: + training_models.append(dit) + + # calculate trainable parameters + n_params = 0 + for group in param_groups: + for p in group["params"]: + n_params += p.numel() + + accelerator.print(f"train dit: {train_dit}") + accelerator.print(f"number of training models: {len(training_models)}") + accelerator.print(f"number of trainable parameters: {n_params:,}") + + # prepare optimizer + accelerator.print("prepare optimizer, data loader etc.") + + if args.blockwise_fused_optimizers: + # Split params into per-block groups for blockwise fused optimizer + # Build param_id → lr mapping from param_groups to propagate per-component LRs + param_lr_map = {} + for group in param_groups: + for p in group['params']: + param_lr_map[id(p)] = group['lr'] + + grouped_params = [] + param_group = {} + named_parameters = list(dit.named_parameters()) + for name, p in named_parameters: + if not p.requires_grad: + continue + # Determine block type and index + if name.startswith("blocks."): + block_index = int(name.split(".")[1]) + block_type = "blocks" + elif name.startswith("llm_adapter.blocks."): + block_index = int(name.split(".")[2]) + block_type = "llm_adapter" + else: + block_index = -1 + block_type = "other" + + param_group_key = (block_type, block_index) + if param_group_key not in param_group: + param_group[param_group_key] = [] + param_group[param_group_key].append(p) + + for param_group_key, params in param_group.items(): + # Use per-component LR from param_groups if available + lr = param_lr_map.get(id(params[0]), args.learning_rate) + grouped_params.append({"params": params, "lr": lr}) + num_params = sum(p.numel() for p in params) + accelerator.print(f"block {param_group_key}: {num_params} parameters, lr={lr}") + + # Create per-group optimizers + optimizers = [] + for group in grouped_params: + _, _, opt = train_util.get_optimizer(args, trainable_params=[group]) + optimizers.append(opt) + optimizer = optimizers[0] # avoid error in following code + + logger.info(f"using {len(optimizers)} optimizers for blockwise fused optimizers") + + if train_util.is_schedulefree_optimizer(optimizers[0], args): + raise ValueError("Schedule-free optimizer is not supported with blockwise fused optimizers") + optimizer_train_fn = lambda: None + optimizer_eval_fn = lambda: None + elif args.fused_backward_pass: + # Pass per-component param_groups directly to preserve per-component LRs + _, _, optimizer = train_util.get_optimizer(args, trainable_params=param_groups) + optimizer_train_fn, optimizer_eval_fn = train_util.get_optimizer_train_eval_fn(optimizer, args) + else: + _, _, optimizer = train_util.get_optimizer(args, trainable_params=param_groups) + optimizer_train_fn, optimizer_eval_fn = train_util.get_optimizer_train_eval_fn(optimizer, args) + + # prepare dataloader + train_dataset_group.set_current_strategies() + + n_workers = min(args.max_data_loader_n_workers, os.cpu_count()) + train_dataloader = torch.utils.data.DataLoader( + train_dataset_group, + batch_size=1, + shuffle=True, + collate_fn=collator, + num_workers=n_workers, + persistent_workers=args.persistent_data_loader_workers, + ) + + # calculate training steps + if args.max_train_epochs is not None: + args.max_train_steps = args.max_train_epochs * math.ceil( + len(train_dataloader) / accelerator.num_processes / args.gradient_accumulation_steps + ) + accelerator.print(f"override steps. steps for {args.max_train_epochs} epochs: {args.max_train_steps}") + + train_dataset_group.set_max_train_steps(args.max_train_steps) + + # lr scheduler + if args.blockwise_fused_optimizers: + lr_schedulers = [train_util.get_scheduler_fix(args, opt, accelerator.num_processes) for opt in optimizers] + lr_scheduler = lr_schedulers[0] # avoid error in following code + else: + lr_scheduler = train_util.get_scheduler_fix(args, optimizer, accelerator.num_processes) + + # full fp16/bf16 training + if args.full_fp16: + assert args.mixed_precision == "fp16", "full_fp16 requires mixed_precision='fp16'" + accelerator.print("enable full fp16 training.") + dit.to(weight_dtype) + elif args.full_bf16: + assert args.mixed_precision == "bf16", "full_bf16 requires mixed_precision='bf16'" + accelerator.print("enable full bf16 training.") + dit.to(weight_dtype) + + # move text encoder to GPU if not cached + if not args.cache_text_encoder_outputs and qwen3_text_encoder is not None: + qwen3_text_encoder.to(accelerator.device) + + clean_memory_on_device(accelerator.device) + + # Prepare with accelerator + # Temporarily move non-training models off GPU to reduce memory during DDP init + # if not args.cache_text_encoder_outputs and qwen3_text_encoder is not None: + # qwen3_text_encoder.to("cpu") + # if not cache_latents and vae is not None: + # vae.to("cpu") + # clean_memory_on_device(accelerator.device) + + if args.deepspeed: + ds_model = deepspeed_utils.prepare_deepspeed_model(args, mmdit=dit) + ds_model, optimizer, train_dataloader, lr_scheduler = accelerator.prepare( + ds_model, optimizer, train_dataloader, lr_scheduler + ) + training_models = [ds_model] + else: + if train_dit: + dit = accelerator.prepare(dit, device_placement=[not is_swapping_blocks]) + if is_swapping_blocks: + accelerator.unwrap_model(dit).move_to_device_except_swap_blocks(accelerator.device) + optimizer, train_dataloader, lr_scheduler = accelerator.prepare(optimizer, train_dataloader, lr_scheduler) + + # Move non-training models back to GPU + if not args.cache_text_encoder_outputs and qwen3_text_encoder is not None: + qwen3_text_encoder.to(accelerator.device) + if not cache_latents and vae is not None: + vae.to(accelerator.device, dtype=weight_dtype) + + if args.full_fp16: + train_util.patch_accelerator_for_fp16_training(accelerator) + + # resume + train_util.resume_from_local_or_hf_if_specified(accelerator, args) + + if args.fused_backward_pass: + import library.adafactor_fused + + library.adafactor_fused.patch_adafactor_fused(optimizer) + + for param_group in optimizer.param_groups: + for parameter in param_group["params"]: + if parameter.requires_grad: + + def create_grad_hook(p_group): + def grad_hook(tensor: torch.Tensor): + if accelerator.sync_gradients and args.max_grad_norm != 0.0: + accelerator.clip_grad_norm_(tensor, args.max_grad_norm) + optimizer.step_param(tensor, p_group) + tensor.grad = None + + return grad_hook + + parameter.register_post_accumulate_grad_hook(create_grad_hook(param_group)) + + elif args.blockwise_fused_optimizers: + # Prepare additional optimizers and lr schedulers + for i in range(1, len(optimizers)): + optimizers[i] = accelerator.prepare(optimizers[i]) + lr_schedulers[i] = accelerator.prepare(lr_schedulers[i]) + + # Counters for blockwise gradient hook + optimizer_hooked_count = {} + num_parameters_per_group = [0] * len(optimizers) + parameter_optimizer_map = {} + + for opt_idx, opt in enumerate(optimizers): + for param_group in opt.param_groups: + for parameter in param_group["params"]: + if parameter.requires_grad: + + def grad_hook(parameter: torch.Tensor): + if accelerator.sync_gradients and args.max_grad_norm != 0.0: + accelerator.clip_grad_norm_(parameter, args.max_grad_norm) + + i = parameter_optimizer_map[parameter] + optimizer_hooked_count[i] += 1 + if optimizer_hooked_count[i] == num_parameters_per_group[i]: + optimizers[i].step() + optimizers[i].zero_grad(set_to_none=True) + + parameter.register_post_accumulate_grad_hook(grad_hook) + parameter_optimizer_map[parameter] = opt_idx + num_parameters_per_group[opt_idx] += 1 + + # Training loop + num_update_steps_per_epoch = math.ceil(len(train_dataloader) / args.gradient_accumulation_steps) + num_train_epochs = math.ceil(args.max_train_steps / num_update_steps_per_epoch) + if (args.save_n_epoch_ratio is not None) and (args.save_n_epoch_ratio > 0): + args.save_every_n_epochs = math.floor(num_train_epochs / args.save_n_epoch_ratio) or 1 + + accelerator.print("running training") + accelerator.print(f" num examples: {train_dataset_group.num_train_images}") + accelerator.print(f" num batches per epoch: {len(train_dataloader)}") + accelerator.print(f" num epochs: {num_train_epochs}") + accelerator.print( + f" batch size per device: {', '.join([str(d.batch_size) for d in train_dataset_group.datasets])}" + ) + accelerator.print(f" gradient accumulation steps = {args.gradient_accumulation_steps}") + accelerator.print(f" total optimization steps: {args.max_train_steps}") + + progress_bar = tqdm(range(args.max_train_steps), smoothing=0, disable=not accelerator.is_local_main_process, desc="steps") + global_step = 0 + + if accelerator.is_main_process: + init_kwargs = {} + if args.wandb_run_name: + init_kwargs["wandb"] = {"name": args.wandb_run_name} + if args.log_tracker_config is not None: + init_kwargs = toml.load(args.log_tracker_config) + accelerator.init_trackers( + "finetuning" if args.log_tracker_name is None else args.log_tracker_name, + config=train_util.get_sanitized_config_or_none(args), + init_kwargs=init_kwargs, + ) + + if "wandb" in [tracker.name for tracker in accelerator.trackers]: + import wandb + wandb.define_metric("epoch") + wandb.define_metric("loss/epoch", step_metric="epoch") + + if is_swapping_blocks: + accelerator.unwrap_model(dit).prepare_block_swap_before_forward() + + # For --sample_at_first + optimizer_eval_fn() + anima_train_utils.sample_images( + accelerator, args, 0, global_step, dit, vae, vae_scale, + qwen3_text_encoder, tokenize_strategy, text_encoding_strategy, + sample_prompts_te_outputs, + ) + optimizer_train_fn() + if len(accelerator.trackers) > 0: + accelerator.log({}, step=0) + + # Show model info + unwrapped_dit = accelerator.unwrap_model(dit) if dit is not None else None + if unwrapped_dit is not None: + logger.info(f"dit device: {unwrapped_dit.t_embedding_norm.weight.device}, dtype: {unwrapped_dit.t_embedding_norm.weight.dtype}") + if qwen3_text_encoder is not None: + logger.info(f"qwen3 device: {next(qwen3_text_encoder.parameters()).device}") + if vae is not None: + logger.info(f"vae device: {next(vae.parameters()).device}") + + loss_recorder = train_util.LossRecorder() + epoch = 0 + for epoch in range(num_train_epochs): + accelerator.print(f"\nepoch {epoch+1}/{num_train_epochs}") + current_epoch.value = epoch + 1 + + for m in training_models: + m.train() + + for step, batch in enumerate(train_dataloader): + current_step.value = global_step + + if args.blockwise_fused_optimizers: + optimizer_hooked_count = {i: 0 for i in range(len(optimizers))} # reset counter for each step + + with accelerator.accumulate(*training_models): + # Get latents + if "latents" in batch and batch["latents"] is not None: + latents = batch["latents"].to(accelerator.device, dtype=weight_dtype) + else: + with torch.no_grad(): + # images are already [-1, 1] from IMAGE_TRANSFORMS, add temporal dim + images = batch["images"].to(accelerator.device, dtype=weight_dtype) + images = images.unsqueeze(2) # (B, C, 1, H, W) + latents = vae.encode(images, vae_scale).to(accelerator.device, dtype=weight_dtype) + + if torch.any(torch.isnan(latents)): + accelerator.print("NaN found in latents, replacing with zeros") + latents = torch.nan_to_num(latents, 0, out=latents) + + # Get text encoder outputs + text_encoder_outputs_list = batch.get("text_encoder_outputs_list", None) + if text_encoder_outputs_list is not None: + # Cached outputs + text_encoder_outputs_list = text_encoding_strategy.drop_cached_text_encoder_outputs( + *text_encoder_outputs_list + ) + prompt_embeds, attn_mask, t5_input_ids, t5_attn_mask = text_encoder_outputs_list + else: + # Encode on-the-fly + input_ids_list = batch["input_ids_list"] + qwen3_input_ids, qwen3_attn_mask, t5_input_ids, t5_attn_mask = input_ids_list + with torch.no_grad(): + prompt_embeds, attn_mask, t5_input_ids, t5_attn_mask = text_encoding_strategy.encode_tokens( + tokenize_strategy, + [qwen3_text_encoder], + [qwen3_input_ids, qwen3_attn_mask, t5_input_ids, t5_attn_mask], + ) + + # Move to device + prompt_embeds = prompt_embeds.to(accelerator.device, dtype=weight_dtype) + attn_mask = attn_mask.to(accelerator.device) + t5_input_ids = t5_input_ids.to(accelerator.device, dtype=torch.long) + t5_attn_mask = t5_attn_mask.to(accelerator.device) + + # Noise and timesteps + noise = torch.randn_like(latents) + + noisy_model_input, timesteps, sigmas = anima_train_utils.get_noisy_model_input_and_timesteps( + args, latents, noise, accelerator.device, weight_dtype + ) + + # NaN checks + if torch.any(torch.isnan(noisy_model_input)): + accelerator.print("NaN found in noisy_model_input, replacing with zeros") + noisy_model_input = torch.nan_to_num(noisy_model_input, 0, out=noisy_model_input) + + # Create padding mask + # padding_mask: (B, 1, H_latent, W_latent) + bs = latents.shape[0] + h_latent = latents.shape[-2] + w_latent = latents.shape[-1] + padding_mask = torch.zeros( + bs, 1, h_latent, w_latent, + dtype=weight_dtype, device=accelerator.device + ) + + # DiT forward (LLM adapter runs inside forward for DDP gradient sync) + if is_swapping_blocks: + accelerator.unwrap_model(dit).prepare_block_swap_before_forward() + + with accelerator.autocast(): + model_pred = dit( + noisy_model_input, + timesteps, + prompt_embeds, + padding_mask=padding_mask, + source_attention_mask=attn_mask, + t5_input_ids=t5_input_ids, + t5_attn_mask=t5_attn_mask, + ) + + # Compute loss (rectified flow: target = noise - latents) + target = noise - latents + + # Weighting + weighting = anima_train_utils.compute_loss_weighting_for_anima( + weighting_scheme=args.weighting_scheme, sigmas=sigmas + ) + + # Loss + huber_c = train_util.get_huber_threshold_if_needed(args, timesteps, None) + loss = train_util.conditional_loss( + model_pred.float(), target.float(), args.loss_type, "none", huber_c + ) + if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): + loss = apply_masked_loss(loss, batch) + loss = loss.mean([1, 2, 3, 4]) # (B, C, T, H, W) -> (B,) + + if weighting is not None: + loss = loss * weighting + + loss_weights = batch["loss_weights"] + loss = loss * loss_weights + loss = loss.mean() + + accelerator.backward(loss) + + if not (args.fused_backward_pass or args.blockwise_fused_optimizers): + if accelerator.sync_gradients and args.max_grad_norm != 0.0: + params_to_clip = [] + for m in training_models: + params_to_clip.extend(m.parameters()) + accelerator.clip_grad_norm_(params_to_clip, args.max_grad_norm) + + optimizer.step() + lr_scheduler.step() + optimizer.zero_grad(set_to_none=True) + else: + # optimizer.step() and optimizer.zero_grad() are called in the optimizer hook + lr_scheduler.step() + if args.blockwise_fused_optimizers: + for i in range(1, len(optimizers)): + lr_schedulers[i].step() + + # Checks if the accelerator has performed an optimization step + if accelerator.sync_gradients: + progress_bar.update(1) + global_step += 1 + + optimizer_eval_fn() + anima_train_utils.sample_images( + accelerator, args, None, global_step, dit, vae, vae_scale, + qwen3_text_encoder, tokenize_strategy, text_encoding_strategy, + sample_prompts_te_outputs, + ) + + # Save at specific steps + if args.save_every_n_steps is not None and global_step % args.save_every_n_steps == 0: + accelerator.wait_for_everyone() + if accelerator.is_main_process: + anima_train_utils.save_anima_model_on_epoch_end_or_stepwise( + args, + False, + accelerator, + save_dtype, + epoch, + num_train_epochs, + global_step, + accelerator.unwrap_model(dit) if train_dit else None, + ) + optimizer_train_fn() + + current_loss = loss.detach().item() + if len(accelerator.trackers) > 0: + logs = {"loss": current_loss} + train_util.append_lr_to_logs_with_names( + logs, lr_scheduler, args.optimizer_type, + ["base", "self_attn", "cross_attn", "mlp", "mod", "llm_adapter"] if train_dit else [] + ) + accelerator.log(logs, step=global_step) + + loss_recorder.add(epoch=epoch, step=step, loss=current_loss) + avr_loss: float = loss_recorder.moving_average + logs = {"avr_loss": avr_loss} + progress_bar.set_postfix(**logs) + + if global_step >= args.max_train_steps: + break + + if len(accelerator.trackers) > 0: + logs = {"loss/epoch": loss_recorder.moving_average, "epoch": epoch + 1} + accelerator.log(logs, step=global_step) + + accelerator.wait_for_everyone() + + optimizer_eval_fn() + if args.save_every_n_epochs is not None: + if accelerator.is_main_process: + anima_train_utils.save_anima_model_on_epoch_end_or_stepwise( + args, + True, + accelerator, + save_dtype, + epoch, + num_train_epochs, + global_step, + accelerator.unwrap_model(dit) if train_dit else None, + ) + + anima_train_utils.sample_images( + accelerator, args, epoch + 1, global_step, dit, vae, vae_scale, + qwen3_text_encoder, tokenize_strategy, text_encoding_strategy, + sample_prompts_te_outputs, + ) + + # End training + is_main_process = accelerator.is_main_process + dit = accelerator.unwrap_model(dit) + + accelerator.end_training() + optimizer_eval_fn() + + if args.save_state or args.save_state_on_train_end: + train_util.save_state_on_train_end(args, accelerator) + + del accelerator + + if is_main_process and train_dit: + anima_train_utils.save_anima_model_on_train_end( + args, + save_dtype, + epoch, + global_step, + dit, + ) + logger.info("model saved.") + + +def setup_parser() -> argparse.ArgumentParser: + parser = argparse.ArgumentParser() + + add_logging_arguments(parser) + train_util.add_sd_models_arguments(parser) + train_util.add_dataset_arguments(parser, True, True, True) + train_util.add_training_arguments(parser, False) + train_util.add_masked_loss_arguments(parser) + deepspeed_utils.add_deepspeed_arguments(parser) + train_util.add_sd_saving_arguments(parser) + train_util.add_optimizer_arguments(parser) + config_util.add_config_arguments(parser) + add_custom_train_arguments(parser) + train_util.add_dit_training_arguments(parser) + anima_train_utils.add_anima_training_arguments(parser) + sai_model_spec.add_model_spec_arguments(parser) + + parser.add_argument( + "--blockwise_fused_optimizers", + action="store_true", + help="enable blockwise optimizers for fused backward pass and optimizer step", + ) + parser.add_argument( + "--cpu_offload_checkpointing", + action="store_true", + help="offload gradient checkpointing to CPU (reduces VRAM at cost of speed)", + ) + parser.add_argument( + "--unsloth_offload_checkpointing", + action="store_true", + help="offload activations to CPU RAM using async non-blocking transfers (faster than --cpu_offload_checkpointing). " + "Cannot be used with --cpu_offload_checkpointing or --blocks_to_swap.", + ) + parser.add_argument( + "--skip_latents_validity_check", + action="store_true", + help="[Deprecated] use 'skip_cache_check' instead", + ) + + return parser + + +if __name__ == "__main__": + parser = setup_parser() + + args = parser.parse_args() + train_util.verify_command_line_training_args(args) + args = train_util.read_config_from_file(args, parser) + + train(args) diff --git a/anima_train_network.py b/anima_train_network.py new file mode 100644 index 000000000..57ad16811 --- /dev/null +++ b/anima_train_network.py @@ -0,0 +1,540 @@ +# Anima LoRA training script + +import argparse +import math +from typing import Any, Optional, Union + +import torch +from accelerate import Accelerator +from library.device_utils import init_ipex, clean_memory_on_device + +init_ipex() + +from library import anima_models, anima_train_utils, anima_utils, strategy_anima, strategy_base, train_util +import train_network +from library.utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + + +class AnimaNetworkTrainer(train_network.NetworkTrainer): + def __init__(self): + super().__init__() + self.sample_prompts_te_outputs = None + self.vae = None + self.vae_scale = None + self.qwen3_text_encoder = None + self.qwen3_tokenizer = None + self.t5_tokenizer = None + self.tokenize_strategy = None + self.text_encoding_strategy = None + + def assert_extra_args( + self, + args, + train_dataset_group: Union[train_util.DatasetGroup, train_util.MinimalDataset], + val_dataset_group: Optional[train_util.DatasetGroup], + ): + if args.cache_text_encoder_outputs_to_disk and not args.cache_text_encoder_outputs: + logger.warning( + "cache_text_encoder_outputs_to_disk is enabled, so cache_text_encoder_outputs is also enabled" + ) + args.cache_text_encoder_outputs = True + + # Anima uses embedding-level dropout (in AnimaTextEncodingStrategy) instead of + # dataset-level caption dropout, so zero out subset-level rates to allow caching. + caption_dropout_rate = getattr(args, 'caption_dropout_rate', 0.0) + if caption_dropout_rate > 0: + logger.info(f"Using embedding-level caption dropout rate: {caption_dropout_rate}") + if hasattr(train_dataset_group, 'datasets'): + for dataset in train_dataset_group.datasets: + for subset in dataset.subsets: + subset.caption_dropout_rate = 0.0 + + if args.cache_text_encoder_outputs: + assert ( + train_dataset_group.is_text_encoder_output_cacheable() + ), "when caching Text Encoder output, shuffle_caption, token_warmup_step or caption_tag_dropout_rate cannot be used" + + assert ( + args.blocks_to_swap is None or args.blocks_to_swap == 0 + ) or not args.cpu_offload_checkpointing, "blocks_to_swap is not supported with cpu_offload_checkpointing" + + if getattr(args, 'unsloth_offload_checkpointing', False): + if not args.gradient_checkpointing: + logger.warning("unsloth_offload_checkpointing is enabled, so gradient_checkpointing is also enabled") + args.gradient_checkpointing = True + assert not args.cpu_offload_checkpointing, \ + "Cannot use both --unsloth_offload_checkpointing and --cpu_offload_checkpointing" + assert ( + args.blocks_to_swap is None or args.blocks_to_swap == 0 + ), "blocks_to_swap is not supported with unsloth_offload_checkpointing" + + # Flash attention: validate availability + if getattr(args, 'flash_attn', False): + try: + import flash_attn # noqa: F401 + logger.info("Flash Attention enabled for DiT blocks") + except ImportError: + logger.warning("flash_attn package not installed, falling back to PyTorch SDPA") + args.flash_attn = False + + if getattr(args, 'blockwise_fused_optimizers', False): + raise ValueError("blockwise_fused_optimizers is not supported with LoRA/NetworkTrainer") + + train_dataset_group.verify_bucket_reso_steps(8) # WanVAE spatial downscale = 8 + if val_dataset_group is not None: + val_dataset_group.verify_bucket_reso_steps(8) + + def load_target_model(self, args, weight_dtype, accelerator): + # Load Qwen3 text encoder (tokenizers already loaded in get_tokenize_strategy) + logger.info("Loading Qwen3 text encoder...") + self.qwen3_text_encoder, _ = anima_utils.load_qwen3_text_encoder( + args.qwen3_path, dtype=weight_dtype, device="cpu" + ) + self.qwen3_text_encoder.eval() + + # Parse transformer_dtype + transformer_dtype = None + if hasattr(args, 'transformer_dtype') and args.transformer_dtype is not None: + transformer_dtype_map = { + "float16": torch.float16, + "bfloat16": torch.bfloat16, + "float32": torch.float32, + } + transformer_dtype = transformer_dtype_map.get(args.transformer_dtype, None) + + # Load DiT + logger.info("Loading Anima DiT...") + dit = anima_utils.load_anima_dit( + args.dit_path, + dtype=weight_dtype, + device="cpu", + transformer_dtype=transformer_dtype, + llm_adapter_path=getattr(args, 'llm_adapter_path', None), + disable_mmap=getattr(args, 'disable_mmap_load_safetensors', False), + ) + + # Flash attention + if getattr(args, 'flash_attn', False): + dit.set_flash_attn(True) + + # Store unsloth preference so that when the base NetworkTrainer calls + # dit.enable_gradient_checkpointing(cpu_offload=...), we can override to use unsloth. + # The base trainer only passes cpu_offload, so we store the flag on the model. + self._use_unsloth_offload_checkpointing = getattr(args, 'unsloth_offload_checkpointing', False) + + # Block swap + self.is_swapping_blocks = args.blocks_to_swap is not None and args.blocks_to_swap > 0 + if self.is_swapping_blocks: + logger.info(f"enable block swap: blocks_to_swap={args.blocks_to_swap}") + dit.enable_block_swap(args.blocks_to_swap, accelerator.device) + + # Load VAE + logger.info("Loading Anima VAE...") + self.vae, vae_mean, vae_std, self.vae_scale = anima_utils.load_anima_vae( + args.vae_path, dtype=weight_dtype, device="cpu" + ) + + # Return format: (model_type, text_encoders, vae, unet) + return "anima", [self.qwen3_text_encoder], self.vae, dit + + def get_tokenize_strategy(self, args): + # Load tokenizers from paths (called before load_target_model, so self.qwen3_tokenizer isn't set yet) + self.tokenize_strategy = strategy_anima.AnimaTokenizeStrategy( + qwen3_path=args.qwen3_path, + t5_tokenizer_path=getattr(args, 't5_tokenizer_path', None), + qwen3_max_length=args.qwen3_max_token_length, + t5_max_length=args.t5_max_token_length, + ) + # Store references so load_target_model can reuse them + self.qwen3_tokenizer = self.tokenize_strategy.qwen3_tokenizer + self.t5_tokenizer = self.tokenize_strategy.t5_tokenizer + return self.tokenize_strategy + + def get_tokenizers(self, tokenize_strategy: strategy_anima.AnimaTokenizeStrategy): + return [tokenize_strategy.qwen3_tokenizer] + + def get_latents_caching_strategy(self, args): + return strategy_anima.AnimaLatentsCachingStrategy( + args.cache_latents_to_disk, args.vae_batch_size, args.skip_cache_check + ) + + def get_text_encoding_strategy(self, args): + caption_dropout_rate = getattr(args, 'caption_dropout_rate', 0.0) + self.text_encoding_strategy = strategy_anima.AnimaTextEncodingStrategy( + dropout_rate=caption_dropout_rate, + ) + return self.text_encoding_strategy + + def post_process_network(self, args, accelerator, network, text_encoders, unet): + # Qwen3 text encoder is always frozen for Anima + pass + + def get_models_for_text_encoding(self, args, accelerator, text_encoders): + if args.cache_text_encoder_outputs: + return None # no text encoders needed for encoding + return text_encoders + + def get_text_encoders_train_flags(self, args, text_encoders): + return [False] # Qwen3 always frozen + + def is_train_text_encoder(self, args): + return False # Qwen3 text encoder is always frozen for Anima + + def get_text_encoder_outputs_caching_strategy(self, args): + if args.cache_text_encoder_outputs: + return strategy_anima.AnimaTextEncoderOutputsCachingStrategy( + args.cache_text_encoder_outputs_to_disk, + args.text_encoder_batch_size, + args.skip_cache_check, + is_partial=False, + ) + return None + + def cache_text_encoder_outputs_if_needed( + self, args, accelerator: Accelerator, unet, vae, text_encoders, dataset: train_util.DatasetGroup, weight_dtype + ): + if args.cache_text_encoder_outputs: + if not args.lowram: + logger.info("move vae and unet to cpu to save memory") + org_vae_device = next(vae.parameters()).device + org_unet_device = unet.device + vae.to("cpu") + unet.to("cpu") + clean_memory_on_device(accelerator.device) + + logger.info("move text encoder to gpu") + text_encoders[0].to(accelerator.device, dtype=weight_dtype) + + with accelerator.autocast(): + dataset.new_cache_text_encoder_outputs(text_encoders, accelerator) + + # cache sample prompts + if args.sample_prompts is not None: + logger.info(f"cache Text Encoder outputs for sample prompts: {args.sample_prompts}") + + tokenize_strategy = strategy_base.TokenizeStrategy.get_strategy() + text_encoding_strategy = strategy_base.TextEncodingStrategy.get_strategy() + + prompts = train_util.load_prompts(args.sample_prompts) + sample_prompts_te_outputs = {} + with accelerator.autocast(), torch.no_grad(): + for prompt_dict in prompts: + for p in [prompt_dict.get("prompt", ""), prompt_dict.get("negative_prompt", "")]: + if p not in sample_prompts_te_outputs: + logger.info(f" cache TE outputs for: {p}") + tokens_and_masks = tokenize_strategy.tokenize(p) + sample_prompts_te_outputs[p] = text_encoding_strategy.encode_tokens( + tokenize_strategy, + text_encoders, + tokens_and_masks, + enable_dropout=False, + ) + self.sample_prompts_te_outputs = sample_prompts_te_outputs + + # Pre-cache unconditional embeddings for caption dropout before text encoder is deleted + caption_dropout_rate = getattr(args, 'caption_dropout_rate', 0.0) + text_encoding_strategy_for_uncond = strategy_base.TextEncodingStrategy.get_strategy() + if caption_dropout_rate > 0.0: + tokenize_strategy_for_uncond = strategy_base.TokenizeStrategy.get_strategy() + with accelerator.autocast(): + text_encoding_strategy_for_uncond.cache_uncond_embeddings(tokenize_strategy_for_uncond, text_encoders) + + accelerator.wait_for_everyone() + + # move text encoder back to cpu + logger.info("move text encoder back to cpu") + text_encoders[0].to("cpu") + clean_memory_on_device(accelerator.device) + + if not args.lowram: + logger.info("move vae and unet back to original device") + vae.to(org_vae_device) + unet.to(org_unet_device) + else: + text_encoders[0].to(accelerator.device, dtype=weight_dtype) + + def sample_images(self, accelerator, args, epoch, global_step, device, vae, tokenizer, text_encoder, unet): + text_encoders = text_encoder if isinstance(text_encoder, list) else [text_encoder] # compatibility + te = self.get_models_for_text_encoding(args, accelerator, text_encoders) + qwen3_te = te[0] if te is not None else None + + anima_train_utils.sample_images( + accelerator, args, epoch, global_step, unet, vae, self.vae_scale, + qwen3_te, self.tokenize_strategy, self.text_encoding_strategy, + self.sample_prompts_te_outputs, + ) + + def get_noise_scheduler(self, args: argparse.Namespace, device: torch.device) -> Any: + noise_scheduler = anima_train_utils.FlowMatchEulerDiscreteScheduler( + num_train_timesteps=1000, shift=args.discrete_flow_shift + ) + return noise_scheduler + + def encode_images_to_latents(self, args, vae, images): + # images are already [-1,1] from IMAGE_TRANSFORMS, add temporal dim + images = images.unsqueeze(2) # (B, C, 1, H, W) + # Ensure scale tensors are on the same device as images + vae_device = images.device + scale = [s.to(vae_device) if isinstance(s, torch.Tensor) else s for s in self.vae_scale] + return vae.encode(images, scale) + + def shift_scale_latents(self, args, latents): + # Latents already normalized by vae.encode with scale + return latents + + def get_noise_pred_and_target( + self, + args, + accelerator, + noise_scheduler, + latents, + batch, + text_encoder_conds, + unet, + network, + weight_dtype, + train_unet, + is_train=True, + ): + # Sample noise + noise = torch.randn_like(latents) + + # Get noisy model input and timesteps + noisy_model_input, timesteps, sigmas = anima_train_utils.get_noisy_model_input_and_timesteps( + args, latents, noise, accelerator.device, weight_dtype + ) + + # Gradient checkpointing support + if args.gradient_checkpointing: + noisy_model_input.requires_grad_(True) + for t in text_encoder_conds: + if t is not None and t.dtype.is_floating_point: + t.requires_grad_(True) + + # Unpack text encoder conditions + prompt_embeds, attn_mask, t5_input_ids, t5_attn_mask = text_encoder_conds + + # Move to device + prompt_embeds = prompt_embeds.to(accelerator.device, dtype=weight_dtype) + attn_mask = attn_mask.to(accelerator.device) + t5_input_ids = t5_input_ids.to(accelerator.device, dtype=torch.long) + t5_attn_mask = t5_attn_mask.to(accelerator.device) + + # Create padding mask + bs = latents.shape[0] + h_latent = latents.shape[-2] + w_latent = latents.shape[-1] + padding_mask = torch.zeros( + bs, 1, h_latent, w_latent, + dtype=weight_dtype, device=accelerator.device + ) + + # Prepare block swap + if self.is_swapping_blocks: + accelerator.unwrap_model(unet).prepare_block_swap_before_forward() + + # Call model (LLM adapter runs inside forward for DDP gradient sync) + with torch.set_grad_enabled(is_train), accelerator.autocast(): + model_pred = unet( + noisy_model_input, + timesteps, + prompt_embeds, + padding_mask=padding_mask, + source_attention_mask=attn_mask, + t5_input_ids=t5_input_ids, + t5_attn_mask=t5_attn_mask, + ) + + # Rectified flow target: noise - latents + target = noise - latents + + # Loss weighting + weighting = anima_train_utils.compute_loss_weighting_for_anima( + weighting_scheme=args.weighting_scheme, sigmas=sigmas + ) + + # Differential output preservation + if "custom_attributes" in batch: + diff_output_pr_indices = [] + for i, custom_attributes in enumerate(batch["custom_attributes"]): + if "diff_output_preservation" in custom_attributes and custom_attributes["diff_output_preservation"]: + diff_output_pr_indices.append(i) + + if len(diff_output_pr_indices) > 0: + network.set_multiplier(0.0) + with torch.no_grad(), accelerator.autocast(): + if self.is_swapping_blocks: + accelerator.unwrap_model(unet).prepare_block_swap_before_forward() + model_pred_prior = unet( + noisy_model_input[diff_output_pr_indices], + timesteps[diff_output_pr_indices], + prompt_embeds[diff_output_pr_indices], + padding_mask=padding_mask[diff_output_pr_indices], + source_attention_mask=attn_mask[diff_output_pr_indices], + t5_input_ids=t5_input_ids[diff_output_pr_indices], + t5_attn_mask=t5_attn_mask[diff_output_pr_indices], + ) + network.set_multiplier(1.0) + + target[diff_output_pr_indices] = model_pred_prior.to(target.dtype) + + return model_pred, target, timesteps, weighting + + def process_batch( + self, batch, text_encoders, unet, network, vae, noise_scheduler, + vae_dtype, weight_dtype, accelerator, args, + text_encoding_strategy, tokenize_strategy, + is_train=True, train_text_encoder=True, train_unet=True, + ) -> torch.Tensor: + """Override base process_batch for 5D video latents (B, C, T, H, W). + + Base class assumes 4D (B, C, H, W) for loss.mean([1,2,3]) and weighting broadcast. + """ + import typing + from library.custom_train_functions import apply_masked_loss + + with torch.no_grad(): + if "latents" in batch and batch["latents"] is not None: + latents = typing.cast(torch.FloatTensor, batch["latents"].to(accelerator.device)) + else: + if args.vae_batch_size is None or len(batch["images"]) <= args.vae_batch_size: + latents = self.encode_images_to_latents(args, vae, batch["images"].to(accelerator.device, dtype=vae_dtype)) + else: + chunks = [ + batch["images"][i : i + args.vae_batch_size] for i in range(0, len(batch["images"]), args.vae_batch_size) + ] + list_latents = [] + for chunk in chunks: + with torch.no_grad(): + chunk = self.encode_images_to_latents(args, vae, chunk.to(accelerator.device, dtype=vae_dtype)) + list_latents.append(chunk) + latents = torch.cat(list_latents, dim=0) + + if torch.any(torch.isnan(latents)): + accelerator.print("NaN found in latents, replacing with zeros") + latents = typing.cast(torch.FloatTensor, torch.nan_to_num(latents, 0, out=latents)) + + latents = self.shift_scale_latents(args, latents) + + # Text encoder conditions + text_encoder_conds = [] + text_encoder_outputs_list = batch.get("text_encoder_outputs_list", None) + if text_encoder_outputs_list is not None: + text_encoder_conds = text_encoder_outputs_list + + if len(text_encoder_conds) == 0 or text_encoder_conds[0] is None or train_text_encoder: + with torch.set_grad_enabled(is_train and train_text_encoder), accelerator.autocast(): + input_ids = [ids.to(accelerator.device) for ids in batch["input_ids_list"]] + encoded_text_encoder_conds = text_encoding_strategy.encode_tokens( + tokenize_strategy, + self.get_models_for_text_encoding(args, accelerator, text_encoders), + input_ids, + ) + if args.full_fp16: + encoded_text_encoder_conds = [c.to(weight_dtype) for c in encoded_text_encoder_conds] + + if len(text_encoder_conds) == 0: + text_encoder_conds = encoded_text_encoder_conds + else: + for i in range(len(encoded_text_encoder_conds)): + if encoded_text_encoder_conds[i] is not None: + text_encoder_conds[i] = encoded_text_encoder_conds[i] + + noise_pred, target, timesteps, weighting = self.get_noise_pred_and_target( + args, accelerator, noise_scheduler, latents, batch, + text_encoder_conds, unet, network, weight_dtype, train_unet, is_train=is_train, + ) + + huber_c = train_util.get_huber_threshold_if_needed(args, timesteps, noise_scheduler) + loss = train_util.conditional_loss(noise_pred.float(), target.float(), args.loss_type, "none", huber_c) + + if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): + loss = apply_masked_loss(loss, batch) + + # Reduce all non-batch dims: (B, C, T, H, W) -> (B,) for 5D, (B, C, H, W) -> (B,) for 4D + reduce_dims = list(range(1, loss.ndim)) + loss = loss.mean(reduce_dims) + + # Apply weighting after reducing to (B,) + if weighting is not None: + loss = loss * weighting + + loss_weights = batch["loss_weights"] + loss = loss * loss_weights + + loss = self.post_process_loss(loss, args, timesteps, noise_scheduler) + return loss.mean() + + def post_process_loss(self, loss, args, timesteps, noise_scheduler): + return loss + + def get_sai_model_spec(self, args): + return train_util.get_sai_model_spec(None, args, False, True, False, is_stable_diffusion_ckpt=True) + + def update_metadata(self, metadata, args): + metadata["ss_weighting_scheme"] = args.weighting_scheme + metadata["ss_discrete_flow_shift"] = args.discrete_flow_shift + metadata["ss_timestep_sample_method"] = getattr(args, 'timestep_sample_method', 'logit_normal') + metadata["ss_sigmoid_scale"] = getattr(args, 'sigmoid_scale', 1.0) + + def is_text_encoder_not_needed_for_training(self, args): + return args.cache_text_encoder_outputs + + def prepare_unet_with_accelerator( + self, args: argparse.Namespace, accelerator: Accelerator, unet: torch.nn.Module + ) -> torch.nn.Module: + # The base NetworkTrainer only calls enable_gradient_checkpointing(cpu_offload=True/False), + # so we re-apply with unsloth_offload if needed (after base has already enabled it). + if self._use_unsloth_offload_checkpointing and args.gradient_checkpointing: + unet.enable_gradient_checkpointing(unsloth_offload=True) + + if not self.is_swapping_blocks: + return super().prepare_unet_with_accelerator(args, accelerator, unet) + + dit = unet + dit = accelerator.prepare(dit, device_placement=[not self.is_swapping_blocks]) + accelerator.unwrap_model(dit).move_to_device_except_swap_blocks(accelerator.device) + accelerator.unwrap_model(dit).prepare_block_swap_before_forward() + + return dit + + def on_step_start(self, args, accelerator, network, text_encoders, unet, batch, weight_dtype, is_train=True): + # Drop cached text encoder outputs for caption dropout + text_encoder_outputs_list = batch.get("text_encoder_outputs_list", None) + if text_encoder_outputs_list is not None: + text_encoding_strategy: strategy_anima.AnimaTextEncodingStrategy = strategy_base.TextEncodingStrategy.get_strategy() + text_encoder_outputs_list = text_encoding_strategy.drop_cached_text_encoder_outputs(*text_encoder_outputs_list) + batch["text_encoder_outputs_list"] = text_encoder_outputs_list + + def on_validation_step_end(self, args, accelerator, network, text_encoders, unet, batch, weight_dtype): + if self.is_swapping_blocks: + accelerator.unwrap_model(unet).prepare_block_swap_before_forward() + + +def setup_parser() -> argparse.ArgumentParser: + parser = train_network.setup_parser() + train_util.add_dit_training_arguments(parser) + anima_train_utils.add_anima_training_arguments(parser) + parser.add_argument( + "--unsloth_offload_checkpointing", + action="store_true", + help="offload activations to CPU RAM using async non-blocking transfers (faster than --cpu_offload_checkpointing). " + "Cannot be used with --cpu_offload_checkpointing or --blocks_to_swap.", + ) + return parser + + +if __name__ == "__main__": + parser = setup_parser() + + args = parser.parse_args() + train_util.verify_command_line_training_args(args) + args = train_util.read_config_from_file(args, parser) + + trainer = AnimaNetworkTrainer() + trainer.train(args) diff --git a/configs/qwen3_06b/config.json b/configs/qwen3_06b/config.json new file mode 100644 index 000000000..43c79dcb3 --- /dev/null +++ b/configs/qwen3_06b/config.json @@ -0,0 +1,30 @@ +{ + "architectures": [ + "Qwen3ForCausalLM" + ], + "attention_bias": false, + "attention_dropout": 0.0, + "bos_token_id": 151643, + "eos_token_id": 151643, + "head_dim": 128, + "hidden_act": "silu", + "hidden_size": 1024, + "initializer_range": 0.02, + "intermediate_size": 3072, + "max_position_embeddings": 32768, + "max_window_layers": 28, + "model_type": "qwen3", + "num_attention_heads": 16, + "num_hidden_layers": 28, + "num_key_value_heads": 8, + "rms_norm_eps": 1e-06, + "rope_scaling": null, + "rope_theta": 1000000, + "sliding_window": null, + "tie_word_embeddings": true, + "torch_dtype": "bfloat16", + "transformers_version": "4.51.0", + "use_cache": true, + "use_sliding_window": false, + "vocab_size": 151936 +} diff --git a/configs/qwen3_06b/merges.txt b/configs/qwen3_06b/merges.txt new file mode 100644 index 000000000..31349551d --- /dev/null +++ b/configs/qwen3_06b/merges.txt @@ -0,0 +1,151388 @@ +#version: 0.2 +Ġ Ġ +ĠĠ ĠĠ +i n +Ġ t +ĠĠĠĠ ĠĠĠĠ +e r +ĠĠ Ġ +o n +Ġ a +r e +a t +s t +e n +o r +Ġt h +Ċ Ċ +Ġ c +l e +Ġ s +i t +a n +a r +a l +Ġth e +; Ċ +Ġ p +Ġ f +o u +Ġ = +i s +ĠĠĠĠ ĠĠĠ +in g +e s +Ġ w +i on +e d +i c +Ġ b +Ġ d +e t +Ġ m +Ġ o +ĉ ĉ +r o +a s +e l +c t +n d +Ġ in +Ġ h +en t +i d +Ġ n +a m +ĠĠĠĠĠĠĠĠ ĠĠĠ +Ġt o +Ġ re +- - +Ġ { +Ġo f +o m +) ;Ċ +i m +č Ċ +Ġ ( +i l +/ / +Ġa nd +u r +s e +Ġ l +e x +Ġ S +a d +Ġ " +c h +u t +i f +* * +Ġ } +e m +o l +ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ +t h +) Ċ +Ġ{ Ċ +Ġ g +i g +i v +, Ċ +c e +o d +Ġ v +at e +Ġ T +a g +a y +Ġ * +o t +u s +Ġ C +Ġ st +Ġ I +u n +u l +u e +Ġ A +o w +Ġ ' +e w +Ġ < +at ion +( ) +Ġf or +a b +or t +u m +am e +Ġ is +p e +t r +c k +â Ģ +Ġ y +i st +-- -- +. ĊĊ +h e +Ġ e +l o +Ġ M +Ġb e +er s +Ġ on +Ġc on +a p +u b +Ġ P +ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ +as s +in t +> Ċ +l y +ur n +Ġ $ +; ĊĊ +a v +p ort +i r +- > +n t +ct ion +en d +Ġd e +it h +ou t +t urn +ou r +ĠĠĠĠ Ġ +l ic +re s +p t += = +Ġth is +Ġw h +Ġ if +Ġ D +v er +ag e +Ġ B +h t +ex t += " +Ġth at +** ** +Ġ R +Ġ it +es s +Ġ F +Ġ r +o s +an d +Ġa s +e ct +k e +ro m +Ġ // +c on +Ġ L +( " +q u +l ass +Ġw ith +i z +d e +Ġ N +Ġa l +o p +u p +g et +Ġ} Ċ +i le +Ġa n +at a +o re +r i +Ġp ro +; čĊ +ĉĉ ĉĉ +t er +a in +Ġ W +Ġ E +Ġc om +Ġre turn +ar t +Ġ H +a ck +im port +ub lic +Ġ or +e st +m ent +Ġ G +ab le +Ġ - +in e +il l +in d +er e +: : +it y +Ġ + +Ġt r +el f +ig ht +( ' +or m +ul t +st r +. . +" , +Ġy ou +y pe +p l +Ġn ew +Ġ j +ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ +Ġf rom +Ġ ex +Ġ O +l d +Ġ [ +o c +: Ċ +Ġs e +Ġ le +---- ---- +. s +{ Ċ +' , +an t +Ġa t +as e +. c +Ġc h +< / +av e +an g +Ġa re +Ġin t +âĢ Ļ +_ t +er t +i al +a ct +} Ċ +iv e +od e +o st +Ġc lass +Ġn ot +o g +or d +al ue +al l +f f +( );Ċ +on t +im e +a re +Ġ U +Ġp r +Ġ : +i es +iz e +u re +Ġb y +i re +Ġ} ĊĊ +. p +Ġs h +ic e +a st +pt ion +tr ing +o k +_ _ +c l +# # +Ġh e +ar d +) . +Ġ @ +i ew +ĉĉ ĉ +Ġw as +i p +th is +Ġ u +ĠT he +id e +a ce +i b +a c +r ou +Ġw e +j ect +Ġp ublic +a k +v e +at h +o id +Ġ= > +u st +q ue +Ġre s +) ) +' s +Ġ k +an s +y st +un ction +**** **** +Ġ i +Ġ us +p p +on e +a il +== == +n ame +Ġst r +Ġ / +Ġ & +a ch +d iv +yst em +el l +Ġh ave +er r +ou ld +ul l +p on +Ġ J +_ p +Ġ= = +ig n +S t +. Ċ +Ġp l +) ;ĊĊ +f orm +p ut +ou nt +} ĊĊ +d d +it e +Ġg et +r r +om e +Ġ âĢ +ar am +c c +Ġ* / +E R +I n +le s +_ s +on g +i e +Ġc an +Ġ V +er v +p r +Ġ un +ro w +b er +Ġd o +l l +Ġ el +Ġs elf +at ed +ar y +Ġ . +' ] +u d +Ġ en +ĠT h +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ +t e +_ c +u ct +Ġa b +or k +. get +Ġ # +a w +res s +o b +N ame +ap p +[ ' +Ġal l +or y +it ion +an ce +e ar +Ġcon t +v ent +i a +Ġw ill +I N +ĠĠĠĠĠĠĠĠ Ġ +re turn +Ġ< / +d ata +) ĊĊ +R e +p le +il d +th er +Ġy our +" Ċ +( $ +Ġ out +) , +Ġh as +S tring +s o +Ġ up +a x +Ġde f +Ġb o +g e +al se +O N +p er +ic h +Ġb ut +Ġ Ċ +Ġ _ +_ m +ad d +que st +od el +s elf +er y +f t +en s +// // +a ke +. C +Ġg o +Ġf unction +Ġ K +iv ate +Ġ im +Ġcon st +. t +Ġ*/ Ċ +) ;čĊ +Ġv oid +Ġs et +ĠS ystem +c ri +( )Ċ +l i +ĉ if +. m +al ly +s et +e p +âĢĻ s +b o +de f +' ,Ċ +Ġm e +Ġ ! +at ch +" > +" ,Ċ +e c +ĠI n +p h +Ġ | +_ f +Ġv ar +en ce +I d +re e +in k +le ct +u g +et h +Ġel se +-------- -------- +con t +Ġs o +at ic +Ġl o +p ro +t on +s s +ow n +ab el +o int +ou s +el d +S T +T he +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +R E +" : +ol or +t p +e g +ke y +u de +ĠS t +ou nd +Ġa r +" );Ċ +en er +s er +b ject +ess age +f er +Ġm ore +ation s +ent s +Ġh is +Ġthe y +. S +Ġ Y +u se +n e +is h +ol d +_ d +i o +i eld +Ġp er +C ont +ing s +## ## +Ġd ata +Ġs a +e f +f o +Ġon e +en g +Ġd is +A T +Ġn ame +Ġtr ue +v al +le d +. f +Ġn e +Ġ end +. T +c re +ar k +lo g +E x +err or +_ id +ur re +ang e +Ġn ull +rr ay +Ġm y +p an +ic t +at or +V iew +L ist +ĉ return +âĢ Ŀ +Ġp re +Ġ x +cl ude +ar g +o v +. h +Ġ > +Ġthe ir +' ) +ir st +ic k +g h +L E +O R +Ġpr ivate +t em +čĊ čĊ +us er +Ġ ) +c om +. A +" ;Ċ +Ġ id +re ad +Ġwh o +_ b +" >Ċ +Ġt ime +Ġm an +r y +==== ==== +rou p +ro p +p ublic +v el +um ber +b le +Ġwh ich +******** ******** +Ġan y +Ġf alse +w e +Ġv alue +Ġl i +" ) +nd er +g r +Ġn o +p aram +f ig +.c om +Ġa pp +_ l +ion s +. D +ĠC h +Ġab out +Ġa dd +Ġs u +Ġstr ing +I D +Ġo ver +str ing +. l +our ce +_ C +] Ċ +Ġ qu +ĠS tring +c a +S E +Ġ ro +s h +u al +T ype +s on +n ew +er n +Ġa g +A R +] ;Ċ +] . +Ġ ? +ic al +Ġd es +ut h +i x +ay s +Ġt ype +' t +a ult +Ġin ter +v ar +. b +Ġp art +. d +urre nt +I T +E N +en c +( f +r a +v alue +ch o +ut ton +o se +Ġ! = +at er +à © +re ate +ol l +p os +y le +n g +A L +us ing +am es +Ġ{ čĊ +at es +el y +Ġw ork +Ġ em +in al +Ġs p +Ġwh en +.s et +ĠĠĠĠ ĠĠ +) :Ċ +t o +qu ire +ind ow +le ment +pe ct +as h +[ i +Ġu se +. F +pe c +Ġa d +o ve +ce ption +eng th +in clude +ad er +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ +at us +T h +it le +r it +v oid +() . +( Ċ +Ġof f +Ġo ther +Ġ& & +' ;Ċ +m s +Ġbe en +Ġt e +m l +c o +n c +erv ice +Ġ % +** Ċ +an n +ad e +ĊĊ ĊĊ +lo ck +con st +pon se +Ġs up ++ + +d ate +Ġa cc +Ġh ad +Ġb u +ĠR e +Ġw ere +Ġf ile +Ġw ould +ĠâĢ ľ +v en +is s +Ġ our +c lass +r aw +Ġy ear +D ata +Ġv al +Ġs ome +f ter +y s +Ġ// / +rou nd +v iew +Ġp e +Ġth ere +Ġsa id +d u +o f +l ine +/ * +d uct +Ġh er +ĠĠĠĠĠĠĠĠ ĠĠĠĠĠ +R es +Ġc o +Ġcom m +is e +m in +ĠĠĠĠ Ċ +# include +eth od +. P +ut e +Ġas s +I nt +as k +lo c +Ġli ke +od y +Ġle t +lo ad +Ġa m +ro l +Ġg r +y p +Ġal so +ĠI t +ur l +if ic +or s +_ P +_ n +ig h +Ġth an +C om +A N +U L +at ing +ĠTh is +re f +_ S +Ġst atic +ro ll +Ġj ust +Ġres ult +i an +id th +Ġthe m +) );Ċ +d er +re ak +C on +: // +u le +.. . +ar ch +em ent +Ġ< < +us h +en se +ar r +Ġint o +c ess +am p +i ed +um ent +Ġ \ +] , +w o +al s +Ġwh at +an c +V alue += ' +ol um +Ġp os +ag es +ay er +Ġs c +u es +" )Ċ +_ T +Ġl ist +( s +Ġc ase +C h +ĉĉĉĉ ĉ +//// //// +pon ent +Ġ z +Ġk n +le t +D E +re d +Ġf e +Ġ} ,Ċ +Ġ , +( t +Ġf irst +' );Ċ +w ord +Ġ import +Ġa ct +Ġch ar +C T +ĠT r +op le += { +ĉ f +i ent +c ent +. j +le ction +) )Ċ +Ġon ly +Ġpr int +m er +. W +o ck +Ġ -- +T ext +Ġo p +an k +Ġit s +Ġb ack +[ " +Ġne ed +Ġc l +Ġs ub +Ġl a +( ( +. " +O bject +Ġst art +f ile +( self +n er +e y +Ġus er +Ġ ent +ĠC om +it s +ĠC on +ou ble +ow er +it em +ver y +ĠW e +lic k +Ġ Q +ph p +t tp +' : +ic s +Ġu nder +Ġ* Ċ +. L +) ; +ic es +Ġre g +) čĊ +ĉ public +S S +Ġth en +re at +i ous +. G +e k +ire ct +he ck +cri pt +n ing +ĠU n +Ġm ay +ĠW h +B o +I tem +str uct +. st +re am +ib le +lo at +Ġor g +u nd +s um +_ in +.. / +_ M +Ġh ow +r ite +' Ċ +T o +w w +Ġpe ople +ind ex +. n +ht tp +( m +ect or +Ġin d +Ġj av +] ,Ċ +ĠH e +_ st +f ul +o le +) {Ċ +Ġsh ould +op y +el p +i er +_ name +ers on +I ON +ot e +Ġt est +Ġb et +rr or +ul ar +ã Ģ +Ġ Ð +b s +t ing +Ġm ake +T r +Ġa fter +ar get +R O +olum n +r c +_ re +def ine +Ġr ight +r ight +d ay +Ġl ong +[ ] +( p +t d +con d +ĠP ro +Ġre m +ption s +v id +. g +Ġ ext +Ġ __ +' )Ċ +p ace +m p +Ġm in +st ance +a ir +a ction +w h +t ype +ut il +a it +< ? +I C +t ext +Ġp h +Ġf l +. M +cc ess +b r +f ore +ers ion +) ,Ċ +. re +ate g +Ġl oc +in s +- s +tr ib +ĠI nt +Ġa rray +, " +P ro +( c +ess ion +> ĊĊ +Ġs he +" ] +ap h +Ġex p +ert y +ĠS e +Ġp ar +un c +E T +Ġre ad +pr int +Ġre l +Ġfor m +Ġd r +Ex ception +in put +Ġtr ans +#### #### +ord er +B y +Ġa w +it ies +u ff +pl ay +. add +ĠâĢ ĵ +Ġw ant +Ġcom p +ment s +Ġ| | +a z +b e +Ġn umber +Ġre quire +ĠE x +Ġc ol +Ġ key +em ber +Ġt wo +Ġs ize +Ġwh ere +U T +res ult +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +ou gh +or ld +o od +u ch +at ive +g er +are nt +Ġ/ * +Ġar g +Ġwh ile +( this +Ġre c +Ġd if +St ate +Ġs pec +r ide +_ F +Ġlo ok +A M +il ity +et er +âĢĻ t +ĊĊ Ċ +ay out +---------------- ---------------- +ag er +Ġc ould +Ġb r +end s +u res +Ġkn ow +et s +ĠI f +ĠS h +. w +b ack +Ġs er +Ġ+ = +Ġf r +() );Ċ +Ġh and +I nd +UL L +I m +() ;ĊĊ +Ġm ost +Ġtr y +Ġn ow +rou gh +> čĊ +ack age +Ġh im +. _ +if y +Ġb reak +Ġ );Ċ +re n +# define +it t +Ġa p +ĉ c +( n +ĠY ou +: ĊĊ +- m +Ġe very +ust om +li ent +oc ument +cri ption +E rror +- b +Ð ¾ +] [ +tr ans +Ġp oint +Ġst d +Ġf il +T ime +Ġm od +Ġ -> +Ġ error +a h +Ġt ext +roll er +lo se +q l +Ġp ol +> < +. B +- c +Ġop en +Ġe st +ĠĠĠĠĠĠĠĠ Ċ +Ġn ext +I M +Ñ Ĥ +O T +à ³ +Ġf ollow +cont ent +ĠĠĠĠĠĠĠĠ ĠĠĠĠ +Ġin clud +H E +ĠR es +Ġh ref +Ð ¸ +Ġc ar +yp es +im age +U n +Ġbo ol +A D +Ġg ame +.F orm +row s +* / +vel op +.D rawing +Ġp ath +is ion +Ġe ach +ĠP l +_t ype +P ath +ne ction +Ġa v +' ). +Ġsup port +EN T +re m +" ). +Ġo wn +Ġc or +c ount +m iss +u ally +Ġm em +st d +i ence +se arch +" ĊĊ +F orm +Ġs ex +en ame +Ġs ign +Ġ et +ĠĠĠĠĠĠĠĠ ĠĠ +', ' +ĠA pp +Ġth ose +o ff +Ġ err +Ġs ystem +Ġbe st +c ode +Ġs ame +Ġd i +us s +Ġc reate +ath er +A rray +. in +f e +S ervice +U N +at s +Ġ Z +al th +Ġm ade +tr ue +A B +Ġm ark +r id +if ied +, čĊ +y n +p ress +Ġg roup +Ġf in +ĠL icense +F ield +eg er +Ġw orld +in ess +t y +Ġpro cess +( b +Ġc re +ar n +iv es +Ġm ain +ide o +_ g +A G +val id +im g +P I +Ġc olor +Ġre port +Ġt ake +ri b +O M +Ġd ay +Re quest +Ġs k +b ers +ĉ s +.A dd +o ot +Im age +Ġcom ple +ol lection +Ġto p +Ġf ree +A S +D e +ĠO n +I G +et a +D ate +Ġa ction +O ver +it or +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +n ot +Ġind ex +h er +ic on +O n +;čĊ čĊ +iv ity +m and +.W indows +O L +Ġre al +Ġm ax +l and +.. .. +r aph +Ġbu ild +le g +ass word +? ĊĊ +âĢ ¦ +o ok +u ck +Ġm essage +t est +iv ers +Ġin put +Ġar t +Ġbet ween +G et +ent er +g round +en e +à ¡ +.l ength +N ode +( i +C lass +f or +ĠâĢ Ķ +t en +o in +Ġ ke +u i +ĠI N +Ġt able +s ub +ĠL e +Ġhe ad +Ġm ust +//////// //////// +. util +Cont ext +Ġor der +Ġm ov +o ver +Ġcont in +Ġs ay +st atic +.T ext +Ġclass Name +pan y +Ġt er +he ad +r g +Ġpro duct +Th is +. âĢĿ +ĠB ut +lo y +Ġd ouble +s g +Ġpl ace +. x +m essage +Ġin formation +pr ivate +Ġo per +c ed +d b +"> +ater ial +ile d +Ġp ut +Q u +Ñ Ģ +un g +m ap +ĉĉĉĉ ĉĉĉĉ +Ġle vel +Com ponent +bo ok +cre en +_ RE +Ġcon fig +ã ģ +O r +. data +Ġd ocument +", " +trib ute +u x +L og +fer ence +p ost +_ e +Ġloc al +and om +ass ert +V al +lect ed +in a +atab ase +A dd +Ġcont ent +.p rint +s igned +r ic +." ĊĊ +Ġf a +! ĊĊ +- f +iv ed +Ġ quest +. ex +Ġf loat +Ġde velop +о Ð +M ap +ad ing +Ġpos s +U E +n amespace +_ O +ĉ b +.G et +> ( +j son +etail s +Ġto o +Ġext ends +ĠN one +Ġf ore +( String +form at +Ġg reat +int er +ca le +Ñ ģ +r on +iv ing +E nt +enc y +x t +o y +Ġmon th +Ġh app +Ġsup er +b ar +def ault +_ de +ord s +l n +( {Ċ +ĠI nd +as es +Ġt itle +Ġcont ext +o h +- p +E m +Ġm et +T est +Ġl ife +_ v +ĠU S +U I +oc ation +m d +Ġ[ Ċ +Ġ ] +s w +Ġin cre +s cript +ent ial +w ays +. de +Ġs rc +Ġc atch +ĠA meric +// Ċ +ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ +Ġp ay +pl it +âĢ Ķ +Ġc oun +ob j +.ph p +Ġch ange +eth ing +' re +ast er +lo s +l ation +ĠĠ Ċ +L e +à ¤ +( { +read y +ĠN o +Ġpos ition +Ġo ld +Ġbo ok +able d +b ug +H and +} ;ĊĊ +is play +av ing +Ġgo ver +Ġv ersion +S ystem +n ect +res ponse +St yle +U p +ang u +Ġth ree +in it +er o +Ġl aw +end if +Ġb ase +em ail +( l +_ V +Ġcon f +AT E +Ġd uring +t es +Ġcon sole +ĠP r +Ġs pe +v es +p ath +ial og +d ition +_t o +ard s +Ġagain st +et work +ĠP h +_ L +c ur +im it +W ith +Ġp ower +i um +' ;ĊĊ +Ġw om +le ft +our ces +at ri +ĠI m +ĠM an +or th +$ { +qu als +es e +_s ize +Ġis s +ot al +- g +i que +r ame +Ġw idth +er g +) ( +itt le +T R +ĠThe y +enc es +r l +on s +Ġl abel +. y +- t +up date +an el +s c +.t o +Ġpro ject +à ¼ +Ġe lement +Ġsu ccess +ĉĉ Ċ +.s h +r am +ch ed +() )Ċ +Ġ( Ċ +Ġd ate +Ġto t +_ ST +A ll +ific ation +ĉ var +Ġt ri +ch em +m y +Ġb ig +ĠA d +ĠA t +ot s +n um +A ct +Ġm ap +er a +co pe +. $ +, âĢĿ +Ġp op +Ġf ew +Ġl en +u id +et ers +u les +Ã Ń +s ource +http s +Ġd em +Ġe ar +######## ######## +Ġm atch +or ies +ac es +ĠC l +Ġn ode +ir c +loc al +un ity +} ;Ċ +Ġan other +< < +og le +Ġs it +ew ork +T E +. I +N S +olog y +ou ght +.C ont +> > +Ġc are +st ate +ĉ private +Ġe ffect +++ ) +_f ile +end ing +L ine +F or +i or +ĠS c +Ġf un +.S ize +ĉ else +] ) +st art +v ious +Ġ} , +our s +Ġle g +Ġs ervice +Ġs ince +ir on +L abel +Ġn on +Ġl os +ict ion +Ġf ull +act er +bo ard +g ress +Ġt urn +ith er +.s ize +Ġb ody +res h +et urn +( _ +y les +orm al +p i +Ġsom ething +! -- +u int +Ġpro du +Ġst and +Ġpro ble +Ġav ailable +m t +ĠB l +Ġ ... +Ġb lock +In put +Ġke ep +C ount +op en +Ġ[ ' +Ġth row +uild er +A ction +Ġth ings +Tr ue +Ġ url +ĠB o +print f +Ġre d +j s +.c reate +ĠO r +St atus +In stance +Ġcont rol +Ġcom e +Ġc ustom +loc ation +m odel +Ġ čĊ +Ġs ource +Ġe as +. out +] ĊĊ +one y +Ġaw ait +Ġpart ic +A P +ub lish +od es +_p ro +p ly +rit er +Ġpro v +Ġm ill +H T +] )Ċ +Ġch ang +Ġas k +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ +Ġout put +Ġem ail +.p ush +Ġ} čĊčĊ +in ation +atri x +T able +u ccess +] );Ċ +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +Ġdis c +( [ +Ġb usiness +he ight +. html +t a +f ield +Ġrequire d +_ R +Ġgover n +} čĊčĊ +le x +. , +ĠS et +ur ch +// / +t s +a f +Ġm ight +ist ory +S tr +Ġne ver +Res ponse +ar se +ad a +ĠH ow +Ġ* ) +Ġ ; +Ġh ard +A d +Ġinter n +us ed +( data +m od +ann el +Ġn p +ug g +Ġ/ >Ċ +Ġcal led +b ody +Ġch o +( r +_s et +ir d +Ġ> = +Ġ} ;Ċ +Ġo ptions +ĠG ener +Ġhe ight +P oint +Y ou +et y +C lick +Ġsm all +Ġ ide +Ġacc ess +angu age +Ġprot ected +Ġj ob +ĠTh ere +D ef +Ġadd ress +Ġu int +N ot +o o +ap s +< div +ain ed +at ur +Ġs um +- w +ĠD ate +Ġl ittle +Ġf ri +Y PE +Ġp ort +e h +pr ing +_p ath +Ġst atus +a im +bo ol +Ġap pe +Ġo s +. name +ens ion +_ G +Ġup date +Con fig +a ff +ER R +Ġ< = +at ely +# if +u ction +ĠT e +Ġl ink +ĠU ser +.f ind +. org +m e +Ġg iven +O ut +# endif +Ġbet ter +P age +Ġfe el +en n +M L +Ġal ready +Ġinclud ing +o ogle +r u +ic ally +pro p +le an +out er +Ġal ways +ord ing +I f +or age +Ġp arent +v is +ĉĉĉĉ ĉĉĉ +Ġg ot +st and +Ġle ss +/ s +ĠA ss +ap t +ire d +ĠA dd +Ġacc ount +p loy +Ġd er +res ent +Ġl ot +Ġval id +ĉ d +Ġb it +pon ents +Ġfollow ing +_ ex +S ON +Ġs ure +oc ial +Ġp rom +ert ies +he ader +.p ro +Ġbo olean +Ġse arch +k en +Ġor ig +Ġ er +E d +E M +a ut +l ing +al ity +By Id +b ed +ĉc ase +eth er +pos it +Ġinv est +ĠO R +Ġs ays +miss ion +AM E +Ġtem p +o ad +Ġre st +in fo +Ġinter est +A rg +Ġper form +pon s +ĠV iew +Ġv er +l ib +( const +U til +List ener +ar ge +Ġm ult +Ġd ie +Ġs ite +../ ../ +E L +Ġval ues +Ġ} )Ċ +p en +N o +ic ro +Ġbe h +Ġ' ./ +ac y +re c +() -> +ĉ ĠĠĠ +" )) +Cont ent +_ W +ple ment +Ġw on +Ġv ideo +ad i +p oint +% % +Ġg l +erv ed +v iron +I F +ut ed +ã ĥ +' m +Ġc ert +Ġpro f +Ġc ell +ar i +Ġpl ayer +a is +Ġc ost +Ġh um +( R +Ġoff ic +k s +.t ext +at ures +Ġtot al +Ġ*/ ĊĊ +o pe +Ġst at +U M +Ġlo ad +ight s +Ġc lear +u ro +Ġte chn +up port +I R +Ġ row +Ġse em +Ġ q +Ġsh ort +ĠN ot +ip p +G roup +se ction +m ax +ir l +Ġover ride +Ġcom pany +Ġd one +" );čĊ +Ġg re +. Re +Ġbel ie +r ist +Ġhe alth +AN T +() ĊĊ +ĠB e +. value +ĠG r +ott om +Ġarg s +P T +st atus +f unc +um ents +- h +N umber +: čĊ +ĠL og +er ver +Ġ) ,Ċ +am ent +Ġob j +in c +Ġchild ren +ic y +I Z +and s +ab ly +Ġdist rib +Ġc ur +er ial +Ġd ays +re ated +re ct +- l +ir m +idd en +om b +Ġin itial +.j s +Ġ â +Qu ery +Ġon line +im al +. con +a u +U rl +cont rol +ire ction +Ġin stance +OR T +ĠF r +wh ere +Ġjav ax +Ġorg an +ap ter +Ġre ason +o ptions +ĠM ar +( a +Ġwith in +.âĢĿ ĊĊ +O DE +_ DE +ad min +end ed +Ġdes ign +ĠD ata +un e +ĠF ile +ro ot +Ġc ent +Ġa rr +_ add +l en +p age +, ' +_ str +Ġb ro +ab ility +ou th +/ c +p ose +irt ual +ear ch +_ url +arg in +H ttp +Ġs chool +av a +Ġcons ider +.l abel +ĠA rray +we b +o pt +.print ln +ul ation +Ġf unc +P L +Ġ" \ +ĠT ext +act ory +(f unction +n ull +Ġen g +d own +Ġin clude +ĠE n +ĠD r +Ġd b +! ! +s ide +Ġin it +quire d +ĠS he +C olumn +re act +Ġan n +Ġst op +Ġl ater +ĠTh at +ent ion +d f +U G +I LE +Ġc lient +ra ft +ff er +PO ST +el per +Ġlo ve +qu ote +ou d +Ġj son +Ġab le +Ġm en +A X +ĠC opyright +à ¶ +av ig +re q +C lient +} );Ċ +.C om +er c +il t +pec ial +_c om +ro om +. Name +Ġg ive +am b +i ke +Ġcon dition +cl ient +ator s +: " +Ġc opy +ut ure +ivers ity +ern al +{ { +ĠC an +ou nc +d o +Ġo cc +Ġapp ro +th ers +z e +Ġe ither +ĠF l +Ġimport ant +Ġle ad +at tr +AR T +E qual +Ġd a +et ch +ent ity +Ġfam ily +add ing +Ġo ption +Ġex ist +ic a +ĠO bject +' ve +v ers +ition al +out put +ĠTr ue +ĠO F +_t ime +Ġof fer +Ġ} );ĊĊ +H ER +eg in +" " +Ġw ater +Ġc he +ĠM y +ore d +Ġst ep +anc es +C K +A Y +à ¸ +str uction +( C +ou ch +St ream +act ive +am a +Ent ity +pro duct +() {Ċ +Ġgovern ment +ĠI D +aj or +A nd +Ġdis play +Ð » +Ġt imes +Ġf our +Ġf ar +Ġpres ent +ĠN S +Ġ\ Ċ +ue st +Ġb as +e cho +ch ild +if ier +Hand ler +Ġl ib +Prop erty +trans lation +Ġro om +Ġon ce +Ġ[ ] +cent er +================ ================ +Ġresult s +Ġcontin ue +Ġt alk +_ get +Ġg row +.s w +e b +ĠP ublic +O P +ec ute +ol s +Ġ ** +" );ĊĊ +Ġm ass +ure d +.c lass +om ic +Ġme an +ip s +Ġa ut +);čĊ čĊ +Ġun til +Ġmark et +Ġare a +u it +Ġl ength +ĠW ith +struct or +e vent +"> < +ĠS p +I V +Ġm us +if f +Ġk ind +a uthor +ound s +m b +_ key +w idth +posit ory +Ġl ight +u k +R ow +oh n +al f +viron ment +app er +ollection s +Ġs ide +_in fo +Ġex ample +im ary +Ġw r +Ġc amp +cri be +" / +Ġm iss +w ay +Ġb ased +Ġpl an +V is +om ain +un k +Ġaw ay +U P +< T +O S +i od +ĠM on +âĢĻ re +Ġli k +à § +iv ely +. v +im er +iz er +S ub +Ġbut ton +ĠU p +Ġexper ience +C L +Ġre nder +_ value +Ġn ear +UR L +al t +Ġcoun try +ib ility +() ,Ċ +e ad +Ġa uthor +Ġspec ific +b ase +( name +on es +ĠD o +Ġal ong +y ear +Ġexp ress +. ' +en v +Ġbeg in +Ġso ftware +Ġim p +Ġw in +ó n +Ġth ing +Tr ans +ĠT HE +Ġ< ? +Ġwh y +Ġdoes n +i j +g ing +ĉ g +Ġs ingle +off set +ar ning +og raph +le y +_c ount +Ġan al +cre ate +/ m +ĠR eg +un ch += $ +is k +Ġright s +( M +Ġ"" "Ċ +ap er +.m odel +Ġp o +em pty +art ment +Ġa nt +ĠWh en +Ġwom en +ĠE d +Ġse ason +Ġde st +à £ +( h +Ġposs ible +Ġse ver +Ġb tn +Ġdid n +Ġs ent +Ġen c +Ġcomm and +Ġ ],Ċ +_ x +Ġre cent +ol ution +v ector +ĠB y +ĠM ay +ĠA ct +» ¿ +Ġm oney +IN T +bs ite +ĉ p +. čĊ +ï »¿ +s l +atter n +ĠC lass +Ġto ld +ud io +c urrent +Ġe qu +Ġa uto +ĠSt ate +d a +ms g +)) ;ĊĊ +Ġwork ing +Ġqu ery +ĠB r +Ġw indow +a uth +on ly +ĉ t +Ġle ast +ag n +Ġex pl +it ter +ar ing +Ġc olumn +ĠGener al +": " +er al +ri or +Ġrec ord +I B +E X +Ġd at +Ġm aking +u ed +ĠC ar +em p +" . +ĠM ed +Ġc lose +Ġper cent +Ġp ast +( g +: ( +Ġw rite +Ġm ove +Ġp at +Cont rol +.T o +Ġv i +*/ Ċ +in ate +' ll +ag ed +N ull +Ġspec ial +IZ E +Ġc ity +/* Ċ +ĠE ng +ix ed +in ary +p y +Ġe ff +ar io +Ġt ell +av or +Ġse lect +le vel +im um +op er +B uilder +I P +') ,Ċ +es c +Ġf ont +" ;ĊĊ +ĠA m +ish ed +ill s +Int er +O W +Ġcour se +Ġl ate +idd le +Ġam ount +Ġas ync +in o +c ul +Ġ ì +and le +_ user +Ġb en +ĠC al +Ġ$ _ +ĠR ep +Ġen ough +T oken +. user +( j +S c +W idth +n ow +at form +Ġlook ing +Ġh old +M odule +IT Y +v o +is on +.D ata +y c +Ġp ot +ĠTr ump +id ual +id es +r t +Ġprop erty +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ +am ework +g o +Ġl ow +Ġpar a +Ġpr ice +ur y +Ġto day +ro y +Ġ' / +Ġpol it +Ġ' ' +ym b +P h +Ġad v +Ġatt ack +ĠS te +RO M +an a +Ġme ans +Ġst ory +id s +ak en +Ġme et +Ġm om +ĠâĢ ĺ +Ġ? > +Ġd en +ob ile +ch ange +ĠĠĠĠĠĠĠĠ ĠĠĠĠĊ +ic i +n a +ĠF orm +Ġs ort +Se lect +p are +Ġth ought +_ con +Ġt ask +oc us +ĠD E +ĠM in +Ġo pt +ĉb reak +um er +K E +th en +Ġd et +ĠT est +port s +Ġre view +(' / +m ove +Ġsw itch +ER T +p atch +ann ot +ã Ĥ +Ġab ove +it ive +Ġquest ion +ĠQ u +ãĢĤ ĊĊ +g le +Ġw ord +Ġprov ide +ĠR eturn +Ġre search +ã o +u str +Ġp ublish +chem a +} } +ĠC ON +- in +all back +Ġco ver +\ \ +c olor +ĠI S +Ġwh ether +im ate +is c +B ar +Ġd iv +B e +our n +Ġh aving +le m +pl ayer +ab s +am era +ne y +Ġex c +get her +pl ied +a o +[ $ +Ġ+ + +i pe +sh ow +/ d +[ : +ag ement +le v +_ ID +r ary +ad es +_ se +a use +Ġem ploy +Ġ*/ čĊ +Ġf re +Ġ' @ +Ġcomple t +Ġl arge +r al +\ x +Ġf ac +< String +Ġcre ated +up er +.st ate +Ġh ost +ener ic +/ b +( ! +wh ile +i as +B UG +Ġ );ĊĊ +Ġro le +Re g +ĠC olor +St art +Ġp orn +t op +Ġwe b +Ġde v +Ġde al +++ )Ċ +Int eger +pos ition +. on +Ġ( " +ä ¸ +Ġproble m +s v +Ġp ress +AB LE +AT ION +ĠSe e +an ch +Ġth ough +le ep +Ġ< !-- +Ġpoint s +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ +. J +Ġ :: +p tr +D B +++ ;Ċ +.p ng +n ode +so ft +pon d +Ġe ver +-------------------------------- -------------------------------- +M enu +(' # +Ġs ervices +p g +} )Ċ +param s +Ġact ually +Ġ" / +Em pty +M ethod +Ġid ent +un ic +Ġmill ion +Ġa ff +st yle +Ġcon c +i os +ign ment +UL T +P r +" ;čĊ +Ġunder stand +u ary +Ġhapp en +Ġser ver +ĠC o +S C +Ġle s +Ġfile s +G rid +s ql +Ġof ten +Ġin fo +_ tr +s rc +on y +Ġsp ace +um b +Ġpass word +Ġst ore +, ĊĊ +ĠWh at +g ed +ĠF alse +U s +sw er +_ index +Ġform at +m ost +s m +N ew +Ġd etails +Ġpro b +ĠAN D +() čĊ +il ar +Ġ$ { +ry pt +.C ollections +$ this +ĠF ree +_ of +(f alse +d ated +Ġ> > +Ġf ace +CT ION +Ġs ave +Ġt yp +de v +(" # +AG E +cont ainer +ed it +Q L +Ġitem s +Ġs ocial +i en +ĠRe act +) .ĊĊ +Ġm ar +Ġre du +ĠR E +.p ut +Ġm ajor +C ell +n ext +Ġexpect ed +Ġy et +Ġin div +trib utes +at is +am ed +Ġf ood +S ource +( string +Ġ+ Ċ +it es +d r +Ġmem bers +Ġcom b +item s +ĠP er +T H += True +Ġb ar +_ SE +com m +( w +)ĊĊ Ċ +Ġs end +Ġin c +un signed +F A +Ġparam s +app ing +ro s +ug in +f a +Ġcon nection +Ġ} ;ĊĊ +Ġbe come +M ode +Ġe v +Ġdif f +ĠUn ited +He ight +ful ly +im ages +Ġm akes +Ġg lobal +Ġcont act +' :Ċ +Ġab s +а Ð +f loat +Ġex cept +ĠP ol +Ch ild +t yp +Ġcert ain +i ón +O UT +Ġim pro +ile s +Ġ-- >Ċ +ĠP art +val ues +os s +/ ** +il it +ĠE vent +cur ity +st er +Ġchar acter +Ġnew s +Ġ" , +Ġde vice +c el +log in +he et +Def ault +@ " +ĉ Ġ +c lick +( value +ĠA b +Ġpre vious +ERR OR +oc al +Ġm aterial +Ġbel ow +ĠCh rist +Ġmed ia +co ver +ĠU I +Ġf ail +Ġbl ack +Ġcom ponent +ĠAmeric an +Ġadd ed +Ġbu y +st it +Ġc ame +Ġde lete +prop erty +od ing +Ġc ard +rop s +Ġhttp s +Ġro ot +Ġhand le +C C +B ack +em plate +Ġget ting +_b y +m ail +_s h +. assert +ĠD ec +( true +Ġcom put +Ġcl aim +' => +ĠS ub +Ġa ir +op s +n av +em ents +( id +Ġent er +ang ed +E nd +Ġloc ation +Ġn ight +Ġdo ing +ĠR ed +l in +}ĊĊ Ċ +vid er +Ġp ick +Ġw atch +ess ages +Ġhum an +Ġd am +p end +d ir +Ġt ax +Ġg irl +re et +Ġbo x +Ġstr ong +( v +re l +Ġinter face +Ġm sg +f ect +_ at +Ġh ouse +Ġtr ack +' );ĊĊ +j e +ĠJ ohn +ist r +( S +ub e +Ġc e +itt ed +V ER +* ) +p arent +Ġapp lication +an y +.sw ing +Ġp ack +\ u +Ġpr act +Ġse ction +ct x +Ġun signed +.P oint +ĠO ne +Ä ± +ip le +a id +Ñ ĥ +V ector +by te +Ġw ait +Ġà ł +à ¥ +Ġto gether +Ġth rows +F O +' )) +h ost +is ing +. view +Ġter ms +fr amework +- r +Ġapp ly +Ġs ession +O ptions +ugg est +Ġo thers +w itter +Ġf und +In it +__ ( +ens or +G ET +Ġsever al +i i +[ j +I O +Ġtem plate +P osition +Ġe con +ach ine +Ġ il +.s pring +m ain +el t +im ent +Re c +m m +ĠUn iversity +urs or +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ +G L +ict ure +ith ub +c er +c ast +F rom +a les +Ġsub ject +p assword +n y +Ġes c +.w rite +ï¼ Į +Wh at +. H +Ġh istory +ĠF e +Ġindiv idual +un it +Ġ-- > +Ġd u +I ST +Ġus ers +f s +f alse +un t +T itle +Ġm ot +Ġf uture +ach ed +Ġstart ed +Ġm ode +Ġ' < +_ array +Ġa x +'] ;Ċ +i res +Th ere +ug ht +t ml +pos ed +ic ult +Ġto ok +Ġg ames +Ġ} } +Ġ? >Ċ +Ġproduct s +I s +Ġb ad +ĠD es +.p ath +' ĊĊ +ĠP ost +av el +( : +Ġneed s +Ġkn own +F l +Ġex ec +Ġse en +um e +Ġb order +Ġl ive +tem p +P er +Ġvar iable +i et +ĠD ef +Ġg e +em e +_b ack +f irst +Ġprovid ed +//////////////// //////////////// +Ġfil ename +Ġh ope +ul y +a uto +f ind +_ string +b tn +it ude +At tribute +Ġyou ng +.t xt +Ġwe bsite +ĠP rop +Ġe y +> ();Ċ +ion al +AR R +iction ary +ur ther +. +t x +Ġp ur +u el +ymb ol +u ation +ang er +Ġback ground +ec ess +ef ined +.... .... +Ġdes cription +Ġrep resent +") );Ċ +press ion +row ser +Ġser ies +ward s +($ _ +a ise +Ġh ot +ac ity +ri es +action s +C reate +ad io +amp les +Ġorig inal +ens ive +f ont +st ream + using +.spring framework +ser ver +Ġb ill +AC K +il ename +Ġfr ame +Ġ= Ċ +Ed it +adi us +Ġd raw +ank s +Ġd eter +Ġcom es +_ int +Ġfore ach +ang le +Ġe lect +pect ed +He ader +ist ration +F alse +ĠG ame +Ġfil ter +Act ivity +Ġl arg +in ition +Ġ" < +is ed +Ġrem ove +ĠTr ans +m et +se e +Form at +Com mand +ĠE X +N one +Ġfr ont +A SE +ĠR ec +ound ation +Ġv o += \" +( * +Ch ange +.W rite +g roup +i ents +u y +******************************** ******************************** +Ġd ig +h r +( - +Ġg en +n umber +ve c +uro pe +ent ry +L L +Ġst e +Val id +'] , +_p aram +Ġse lected +Ġacc ording +ĠD is +Ġ util +B uffer +_ error +Ġass oci +_S IZE +Ġw or +Ġprint f +r ag + ł +D D +ĠV al +Ġact iv +E ng +et ime +Ġv irtual +a ign +a ur +ĠP res +ĠEx ception +Ġany thing +ĠO ff +Ġh ours +Ġw ar +Arg s +ag ing +Ġmodel s +ĠT ime +O b +am s +j oy +Ġear ly +. read +Ġc enter +ĠIn itial +Ġl anguage +l ength +x y +Ġs n +Ġin f +P ost +Ġag o +Ġeas y +_c ode +ĠAN Y +_ ch +Ġdown load +( T +av ed +âĢ ĵ +Ġstud ents +Ġf ig +l ight +x x +Ġbu ffer +ĠD ep +ĠM ath +IT H +Ġvar i +Ġd ue +F actory +Ġp or +Ġe p +ot ype +Ġcan not +Ġwh ite +< int +ter n +Ġreg ister +Ġpre d +cl us +_d ate +Ġ/ ** +Ġa uth +Ġ[ ]Ċ +Ġper iod +n own +Ġv ot +Ġs creen +' d +T ypes +Ġt mp +е Ð +ur al +Ġben ef +_ y +Ġn et +ĠSt ates +'] [' +ĠN e +ĠN OT +Ġn eg +Ġcomm on +s cope +Ġc red +g es +_T YPE +Ġs uggest +o om +.ĊĊ Ċ +Ġac cept +Ġr andom +er m +ĠV ector +w ith +T ER +( str +Ġres pons +Ġh it +.S et +gr id +ri a +Ġc lick +und le +C ase +ins ert +Util s +Ġ"" " +Ġim plement +at al +tem pt +tem plate +oc r +return s +Ġplay ers +us ers +ed ef +ĠTh ese +Ġam ong +Ġde b +h a +.get Element +Ġc irc +Ġan swer +Ġw alk +Ġt reat +ĠG e +ĠC reate +Ġa ge +Ġre q +O ST +ang ular +Ñ ı +Ġf ive +Ġdistrib uted +Ġfri end +T P +Ġc lean +ow s +.Control s +d is +Ġw ords +. io +z y +Ġhe ader +ĠC heck +âĢĻ m +j ust +h older +=" čĊ +. annot +Ġcol lection +' . +Ġsim ilar +Ġt aken +(" % +Or der +'] Ċ +-m d +ĠT H +ac ed +Ġis n +/ j +Ġs on +gr aph +ĠInt eger +Ġn ecess +re en +Ġ um +Ġ\ < +Ġmom ent +Ġbr ing +Ġind ic +ys is +Le vel +ver se +urre nc +_t est +Ġent ire +D own +Ġ}ĊĊ Ċ +( result +ĠRe ad +à ¨ +M od +Ġtry ing +") ,Ċ +Ġm ember +ĠC or +OD O +- control +un time +ĠS im +D ialog +pl ot +_ on +Ġph ys +} / +Ġn amespace +ĉ čĊ +ac c +Pl ayer +A RE +Ġf oot +Ġbo ard +p art +Ġs us +w ise +ĠM c +Ġp ush +AT A +Ġp lease +ri ed +we et +b it +id ed +V E +ĠS w +U B +Ġt ypes +ed ia +Ġc los +ace book +Wh en +Ġed it +ig ger +Ġen erg +Cont ainer +Ġph ot +ĠC ount +ĠE urope +.I s +ĠR uss +pe ed +ĠS tr +Ġp y +Ġc ult +Ġdef ined +cc ount +Ġob t +.L ocation +Ġth read +il le +Ġinst ead +str ong +ĠS ec +U RE +Ġide a +. se +em y +select ed +Con nection +ac ing +th read +.n ext +Ġc oll +Ġfil m +ist ic +Ġcomp et +Ġcon n +th ough +Ġcom pan +ock et +Ġte ach += ( +Ġph one +Ġact ive +de lete +tr ies +Ġm o +Ġde ath +} );ĊĊ +oc ol +W idget +Ġart icle +ro du +and id +Ñ ĭ +ĠC r +k a +() : +lo od +ĉĉĉ Ċ +Ġal most +Ġs ell +erv let +ri p +Un it +Ġapp lic +Ġcon nect +Ġfe ature +Ġv ia +' ), +Ġl im +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +ĠG u +Eng ine +Ġen s +Ġen vironment +b lock +HER E +N ULL +g y +t ag +) ). +ex p +Ġcom pl +Ġinst all +Ġcomple te +que ue +atur al +Ġgener al +th on +Ġask ed +o res +( res +Ġres erved +S P +ĠâĢ ¦ +Å Ĥ +Ġsign ific +O ff +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ +ĠA g +ĠJ ust +ĠE rror +Ġin fl +ad ata +Ġ icon +ask s +' ' +_ LO +? . +ac count +Ġ( * +' )ĊĊ +r ap +_ var +ĠF OR +Ġpart y +ĠY our +c at +str y +. new +bo ot +ĠN ov +Ġv ector +Ġn ormal +Ġf urther +Re pository +Ġd atabase +att le +Ġmus ic +Ġspe ed +Ġd oc +pro cess +IG HT +.p arse +Ġt aking +Ġvi ol +ce ed +ĠA fter +Ġfor ward +Ġc rit +"/ >Ċ +ro t +Ġfa iled +ef ore +Ġconc ern +o e +b a +Ġs ender +Ġter m +h as +=" # +Ġpot ential +N um +Ġpublish ed +.c lose +ĠIm age +str aint +U D +ĠO b +Ġprob ably +l im +" :Ċ +olum e +Ġcon sum +ag ue +ens ions +Ġinvest ig +- year +') ; +-s m +Ġen joy +or ig +er ing +c p +le ased +ple ments +Ġreturn s +p at +B O +ĠH ouse +.L abel +Ġwe ight +igh b +Ġcondition s +Ġex ception +d escription +Ġtr ad +- to +Ġ{ } +Ġmod ule +EN D +. ap +.p rops +Ġcon structor +av es +Ġf avor +ĠN ow +; i +ĠM ain +_ k +er ies +âĢĻ ll +trans form +imest amp +P re +Ġm er +. res +st ant +L ocation +_N AME +Ġlos s +Ġ ĊĊ +n et +Ġeng ine +B lock +Ġiss ues +Ġpar se +ĠB ar +Ġst ay +ĠJ SON +Ġd om +air s +w ner +Ġl ower +", čĊ +ĠD em +uf act +Ġp s +Ġper fect +R L +Ġed uc +l s +em ory +ARR ANT +u ge +Ġex act +. key +al led +e ch +ie f +\ / +o ke +Ġfor mer +al loc +Ġs ix +id a +Ġm argin +Ġhe art +al d +p ack +.getElement ById +ĠW ARRANT +Ġr ather +Ġbuild ing +er man +lic e +Ġquest ions +iz es +le ge +irect ory +Ġj e +Ġc as +pro ps +ut f +Ġse curity +Ġhow ever +we ight +Ġins ide +Ġpres ident +Ch ar +ĠW ITH +.m ap +Ġgr aph +Ġt ag +_st atus +Ġat tempt +op p +us es +ĉ const +Ġr ound +, $ +Ġfri ends +Em ail +? > +Res ource +KE Y +os p +. query +ĠN orth +able s +ist rib +_c lass +el lo +Th at +Ð º +pecial ly +ĠPres ident +Ġcamp aign +Ġal t +are a +Ġch all +Ġop port +.C on +Ġenerg y +li ke +. string +ing ton +) * +y y +Ġprof ession +ir th +Ġse g +æ ľ +Ġh or +i ers +c an +Ġbeh ind +Pro duct +f g +ĠS k +.j pg +? : +] ;ĊĊ +Ġcall back +ĠH ttp +Ñ Į +l ong +M S +AT H +Ġr aise +Ġwant ed +row n +ut or +l t +] = +el ine +M A +Ġse par +c s +se mb +D is +bs erv +ĠW ill +Ġpol icy +Ġth ird +ph one +Ġb ed +/ g +. __ +ĠIn c +iz ing +.re move +in stance +.t ype +Ġs erv +E ach +Ġh ar +ĠM essage +( key +SE LECT +P os +)) ;čĊ +Ġre comm +Ġtr aining +ĠE nt +ĠCh ar +ic ht +(f ile +Ġp rior +G ame +Ġex it +Param s +.c ore +P C +n es +anc ed +( request +P assword +} >Ċ +Ġm ag +Ġre lease +Ġsh all +ud ent +ĠS outh +and o +: ' +.Tab Index +s k +ann er +is set +Ġout side +led ge +Ġ å +ĠR ob +Ġim m +! Ċ +ĠWe b +D es +B C +anc ial +R oute +D ec +fer ences +Ġp urch +ĠM odel +ct or +g n +_st art +_ un +. * +is es +Ġg round +Ġun ique +Ġbe aut +{ " +Ġp our +ĠO ct +Ġt ree +set s +_ res +') -> +_re g +(" \ +Ġby te +B l +Ġd ating +Ġm atter +ĠR em +Ġ' ../ +ĠA ug +ĠL a +Ġ$ ( +ourn al +i am +Ġshow s +w rite +Ġb all +Ġsim ply +Ġf ast +Ġmem ory +A SS +ĠO f +ov ed +ant e +a ul +ist ry +)) );Ċ +Ġf it +< string +Ġpolit ical +anc el +_ . +c ard +.c urrent +o ch +_ image +\ t +# Ċ +( L +Ġindu stry +com ing +Ġex tra +Ġreport ed +.st art +Ġres ources +Ġim g +fl ow +_E X +(n ull +ĠP re +Ġwr ong +inter face +Param eter +n ers +á » +t ure +ers ist +oun try +Ġseem s +al ance +de st +ĉ String +Ġm aint +Ġun it +act ers +ĠT R +if ul +export s +pro ject +App lication +leg ate +Ġt akes +ter m +Ġet c +ust er +Ġappe ar +add ress +Ġf em +h s +Ġh om +, - +Ġdiff icult +Ġcom ing +O pen +Ġset tings +ĠW ar +ĠTh en +Ġaut om +ĠF oundation +Ġqu ite +D escription +Ġb log +i qu +P S +_f ield +J son +SS ION +ĠS ch +ĠL O +Ġdes cri +Ġevery one +Ġpret ty +Ġlong er +Ġm enu +Ġcurrent ly +se c +Ġrelations hip +################ ################ +ĠM ap +as et +Ġparam eters +Ġcr ush +" čĊ +IL ITY +ig ration +Ġc out +t otal +Ġn ames +nd ef +") ; +ri end +yn amic +Ġeff ort +Ġact ual +Ġfield s +O UN +t ers +Ġf ix +_m odel +Ġc ases +C A +M y +Inter face +ĠS E +] ] +al le +ĠN ational +ĠArray List +in line +. V +ar a +ref ix +as c +Re ader +ĠÐ ¿ +ast ic +( () +C l +.annot ation +Ġperform ance +ail y +.to String +.n et +view s +. end +ay ers +l ate +ĠA pr +ed eral +'] ) +.b ody +Ġhigh er +_f l +c r +al ert +_n ode +ĠG oogle +Ġit self +A uth +urrenc y +Ġsignific ant +app end +Ġres pect +str ap +Ġun a +riter ia +P ORT +.ap ache +Out put +Ġpro gress +Ġm id +ĠM icrosoft +Ġres ource +ab lish +Ġd im +. load +.A pp +Ġd irection +Ġadd itional +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ +Ġnum bers +Ġcompan ies +.T h +Ġs ound +user name +Ġstat ement +Ġal ert +Ġcon tract +h ome +_l ength +.Com ponent +e v +. Ex +ï¼ ļ +" ; +ĠH igh +Ġ )ĊĊ +ĠP oint +op h +Ġl ines +-> _ +" )ĊĊ +o x +app lication +Ġ ]Ċ +ĊĊĊĊ ĊĊ +Ġso on +ction s +ing er +Ġj oin +ĠP e +Ġ ë +Ġl as +. E +c ss +/ or +ĠSt art +ĠT O +Ġsub s +con n +com ponents +DE BUG +qu are +F unction +end ar +. index +Ġf ill +Ä Ļ +Ġcho ose +h ow +ĠAmeric a +ass ets +-------- ---- +ĠV alue +Ġoff ice +Ġv eh +Ġtrans form +ĠAr t +Ġin de +Ġf n +Ġim plements +ang o +ple te ++ " +t mp +am ily +Ġhas h +miss ions +E ST +g t +Pro vider +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ +Ġfl ag +Ġpartic ip +d en +ĠReturn s +Ġnot e +ü r +p m +ide os +Ġspec ified +ĠE N +est er +ol id +Ġup on +( std +ĉ v +Ġ' \ +u z +Ġv ert +Ġv ict +ĉ self +Ġ" $ +. k +Ġgroup s +g ithub +l ang +Ġm ut +T O +Ġv e +ĠP lease +;ĊĊ Ċ +ac cess +Ġ{ " +re a +Ġr isk +ick er +og gle +ĉ while +AN G +.s end +Ġwom an +Ġget s +Ġ ign +ĠI d +_ log +ON E +Ġe vid +ĠH ar +_s ub +Ġend l +Ġinclud ed +() );ĊĊ +ĠA p +ig r +Ġs em +ĠBl ack +d oc +_t able +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +- up +Ġca use +Ġ .. +Ġv an +_d ict +Ġf ocus +IN D +CE SS +.L og +Ġmult iple +id o +Ġreg ard +- M +and ler +our se +Ġde g +. U +Ġadd ition +Ġvar ious +Ġrece ive +е н +ĠH T +Ob j +D F +Ġincre ase +ĠO pen +] ; +Ġcomm it +? Ċ +ateg ories +at ory +sh ip +ĠM ich +Ġh tml +rom ise +Ġle ave +Ġstr ateg +av en +ĠCon sole +k nown +- n +_ LE +.com ponent +Ġb re +S ession +i ance +Ġal ign +typ edef +_ result +ĠW HERE +.s plit +Ġread ing +FA ULT +Ġc lo +Ġnot ice +_p r +ar ter +Ġlo ck +Ġstand ard +et ic +ell ow +Ġp adding +ĠH is +Ġst ates +_c ast +( P +a a +Ġintern al +e an +ĠP RO +ĠK ey +Ġes pecially +m ing +Ġc ross +Ġn ational +_ object +f ilter +Ġs cript +. update +_ i +ĠAss ert +/ core +%% %% +Ġproble ms +ist or +Ġ. = +Ġar ch +Ġwrit ten +Ġm ilit +M ENT +. ch +ca pe +ĠM us +_ config +ĠA PI +fo ot +Ġim ages +end l +. In +F irst +Ġpl atform +.pro t +O ption +st e +ĠT ODO +Ġfor ce +. cont +ĉ echo +ĠD av +P tr +( B +R T +ĠB ase +] [' +Ġann ounc +con sole +ĠP y +d s +. as +Ġpre vent +ap an +Ġ{ ' +} ' +Ġde ad +V AL +Q UE +**************************************************************** ******** +Ġch arg +R eturn +Ġf ul +d om +Ġr ules +Ġmod ify +Ġe val +h am +at ement +\ < +ul a += False +R A +Ġcont ains +Ġst ack +m ar +Ġ{ }Ċ +Ġund efined +A ss +ĠCh ina +ve y +* Ċ +Ġplay ing +) / +act or +Ġb ottom +li er +ĠN umber +Ġcou ple +D C +ĠS O +g or +.set Text +s uccess +com mand +F ilter +ĠO ur +_ item +Ġc tx +Ġro ad +V ersion +c ase +ur t +av ior +y ch +semb ly +ĠPro duct +Ġh eld +a fe +Ġinclud es +< quote +Ġa void +ĠF in +ĠM od +Ġt ab +an o +à ± +ipp ing +- e +Ġins ert +t arget +ch an +.M odel +IM E +\ Ċ +Ġm achine +av y +ĠN O +ĠInt er +Ġoper ation +mod al +T ag +] : +Ġprodu ction +Ġare as +Ġre n +_f rom +n bsp +Ġoper ator +m en +app ed +_p er +z en +(" . +.s ave +=" {{ +Ġt or +( response +Ġc andid +Ġcon v +a iled +ĠL ib +com p +ur a +ï¿ ½ +ĠH ere +Ġarg ument +h ood +Ġest ablish +ograph y +Ġon Click +amb da +Ġs ch +Ġmov ie +Ġse c +Ġact ivity +Ø § +Ġs ql +_ all +inc ip +Ġprovid es +Ġs ys +ack et +Ġwas n +Ġus es +ĠF unction +.g oogle +ĠRes ult +Vis ible +ag ma +el come +ĠS y +ĠC ent +AL SE +ac ión +EX T +Ġl icense +ĠL ong +Ġacc om +Ġab ility +. height +Act ive +olog ical +ol y +)) , +.S e +Ġparam eter +pr ite +AB ILITY +.s ervice +ĠG roup +_ query +ĠI tem +in ing +Ġj ud +im s +f ix +ind er +ag ram +Ġfunction s +Ġexper i +ĠE m +Ġro t +Ġp en +.b tn +ĠA S +#if def +Ġcho ice +ĠP age +_P RO +Q U +å ı +ant ity +Â Ń +word s +Ġread only +Ġf lex +prot ected +ĠAn y +Ġchar acters +enc ed +ĠJ uly +il er +C ard +ur ance +Ġre v +.e vent +al y +Ġwon der +ĠP ort +Ġleg al +ro le +Ġt en +Ġgo es +M P +wh ite +): čĊ +)) čĊ +Ġre ference +Ġm is +ĠPro ject +ick s +> & +C ON +Ġre pl +Ġreg ular +St orage +ram ework +Ġgo al +Ġt ouch +.w idget +Ġbu ilt +d es +P art +( re +Ġw orth +h ib +g ame +ĠÐ ² +ac ion +ĠWh ite +(t ype +( ` +Ġn atural +Ġin j +Ġcal cul +ĠApr il +. List +Ġassoci ated +ĉ System +~ ~ += [ +Ġst orage +Ġby tes +Ġtr avel +Ġs ou +Ġpass ed +! = +as cript +. open +Ġgr id +Ġb us +Ġrec ogn +A b +Ġh on +ĠC enter +Ġpre c +b uild +HT ML +ĠS an +Ġcoun tries +a led +t oken +k t +Ġqu al +L ast +ad ow +Ġman ufact +id ad +j ango +N ext +x f +. a +Ġporn o +ĠP M +er ve +it ing +_ th +c i += None +g s +Ġlog in +at ives +'] );Ċ +Ä ħ +Ġ ill +I A +child ren +D O +Ġlevel s +Ġ{ { +Ġlook s +Ġ" # +To String +Ġnecess ary +ĠĠĠ Ċ +c ell +En try +Ġ' # +Ġext rem +Select or +Ġplace holder +L oad +Ġre leased +O RE +En umer +ĠT V +SE T +in q +P ress +ĠDep artment +Ġprop erties +Ġres pond +S earch +a el +Ġre qu +ĠB ook +/ Ċ +( st +Ġfin ancial +ick et +_in put +Ġth reat +( in +Str ip +ì Ŀ +ç ão +Ġevid ence +)) ; +ĠB ro +Ġ[ ];Ċ +Ġ ou +b uf +S cript +d at +Ġr ule +# import +=" / +S erial +Ġstart ing +[ index +a e +Ġcon trib +s ession +_ new +ut able +o ber +Ġ" ./ +Ġlog ger +Ġrecent ly +Ġreturn ed +č čĊ +)) )Ċ +ition s +Ġse ek +Ġcomm unic +Ġ" . +Ġuser name +E CT +D S +Ġother wise +ĠG erman +. aw +Ad apter +ix el +Ġsystem s +Ġd rop +Ġstruct ure +Ġ$ ("# +enc ies +ann ing +ĠL ink +ĠRes ponse +Ġst ri +Å ¼ +ĠD B +æ Ĺ +and roid +sub mit +ot ion +( @ +.t est +ĊĊĊĊ ĊĊĊĊ +] ;čĊ +Ġdirect ly +Ġ" % +r is +el ta +A IL +) {čĊ +m ine +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ +( k +b on +as ic +p ite +__ _ +M ax +Ġerror s +ĠWh ile +Ġarg uments +Ġens ure +R ight +-b ased +We b +Ġ- = +Ġint rodu +ĠIn st +ĠW ash +ord in +j oin +D atabase +Ġgr ad +Ġus ually +IT E +Prop s +? >Ċ +ĠG o +@ Override +RE F +Ġ ip +ĠA ustral +Ġ ist +View ById +Ġser ious +Ġcustom er +.prot otype +od o +c or +Ġdo or +ĠWITH OUT +Ġpl ant +Ġbeg an +Ġdist ance +() ). +Ġch ance +Ġor d +c ame +pr agma +Ġprot ect +rag ment +ĠN ode +en ing +Ñ ĩ +Ġr oute +ĠS chool +h i +Ġne ighb +A fter +lic it +Ġcon tr +Ġpr imary +A A +.Write Line +util s +Ġb i +R ed +.L inq +. object +Ġlead ers +un ities +Ġg un +on th +ĠDe v +F ILE +Ġcom ments +_l en +ar row +am ount +R ange +s ert +Grid View +Ġup dated +ĠM o +Ġin form +oci ety +al a +A ccess +Ġh ab +Ġc reat +_ arg +ĠJan uary +ĠD ay +") čĊ +up le +d ocument +gor ith +m enu +ĠO ver +b b +.t itle +_ out +Ġle d +ur i +Ġ? >Ċ +r un +Ġsc ene +( array +de vice +_t itle +ag on +] čĊ +ab y +Ġbe came +bo olean +Ġp ark +ĠC ode +up load +rid ay +ĠSept ember +F e +Ġs en +c ing +F L +C ol +ut s +_p age +in n +Ġim plied +al ing +Ġyour self +.C ount +con f +Ġa ud +_in it +. ) +Ġw rote +N G +. Error +ä » +.f or +Ġe qual +ĠRe quest +Ġser ial +Ġallow s +X X +Ġm iddle +ch or +à ¸ +erv al +.C olumn +read ing +Ġesc ort +ĠAug ust +Ġquick ly +Ġwe ap +ĠC G +rop ri +h o +Ġc op +( struct +ĠB ig +Ġv s +Ġfre qu +. Value +Ġaction s +Ġpro per +Ġin n +Ġobject s +Ġm atrix +av ascript +Ġon es +.g roup +Ġgre en +Ġp aint +ool s +y cl +enc ode +ol t +com ment +. api +D ir +Ġun e +iz ont +.p osition +Ġdes igned +_ val +av i +ir ing +t ab +Ġl ayer +Ġview s +Ġre ve +ra el +ĠO N +r ics +n p +Ġc ore +() );čĊ +M ain +Ġexp ert +ĉĉ čĊ +_ en +Ġ/ > +ut ter +I AL +ail s +ĠK ing +*/ ĊĊ +ĠM et +_ end +add r +or a +Ġ ir +M in +Ġsur pr +Ġre pe +Ġdirect ory +P UT +- S +Ġe lection +h aps +.p re +c m +Val ues +Ġ" Ċ +c olumn +iv il +Log in +in ue +Ġbeaut iful +Ġse cret +(e vent +Ġch at +um s +Ġorig in +Ġeffect s +Ġman agement +ill a +t k +Ġset ting +ĠC our +Ġmass age +ĉ end +Ġhapp y +Ġfin ish +Ġc amera +ĠV er +ĠDem ocr +ĠH er +( Q +con s +it a +Ġ' . +{ } +ĉ C +Ġst uff +Ġ :Ċ +ĠA R +T ask +h idden +er os +IG N +at io +ĠHe alth +ol ute +Ent er +' > +ĠT witter +ĠCount y +s cribe +Ġ= >Ċ +Ġh y +f it +Ġmilit ary +Ġsa le +re quired +n on +boot strap +h old +r im +- old +ĠD own +Ġm ention +cont act +_g roup +od ay +Ġto wn +Ġsol ution +u ate +ell ing +] -> +ot es +ent al +om en +osp ital +ĠS up +_ EN +Ġsl ow +SE SSION +Ġbl ue +ag o +Ġl ives +Ġ ^ +. un +in st +en ge +Ġcustom ers +Ġc ast +ud get +ï¼ ģ +ic ens +Ġdeter min +Se lected +_ pl +ue ue +Ġd ark +// ĊĊ +s i +ther n +ĠJ apan +/ w +P U +ĠE ast +ov ie +Ġp ackage +Ġn or +Ġap i +b ot +" ];Ċ +_p ost +ul ate +Ġcl ub +') );Ċ +Ġlo op +PI O +ion e +sh ot +In itial +Ġplay ed +reg ister +rou ght +_m ax +ac ement +m atch +raph ics +A ST +Ġexist ing +Ġcomple x +D A +.C h +.com mon +m o +Ġ' ../../ +it o +Ġanal ysis +Ġdel iver +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ċ +id x +à ł +ong o +ĠEng lish +< !-- +Ġcomput er +EN SE +Ġp as +Ġr ais +H ash +Ġm obile +Ġo wner +F IG +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +th es +Ġat tr +w d +.t ime +aw n +Ġtreat ment +ĠA c +. View +im pl +m ore +p ass +Ġh a +.f rom +Ġle ading +FF FF +( error +. ui +at ar +ad ers +d ates +Ġz u +Ġfl ow +T arget +Ġinvol ved +Ġi o +par se +$ _ +he st +. int +- item +as y +S p +Ġsh ift +N T +Ġt f +_T R +. web +C S +Ġ} ) +Ġey es +_ z +' );čĊ +if orn +Ġ{ @ +Ġn ice +.l ist +ĠĠĠĠ čĊ +Ġf loor +Ġred irect +ĠU K +( [' +Ġw ish +Ġcap t +leg al +ĠI O +Ġst age +. String +ĠA fr +ig en +ĠS H +De lete +ell s +Ġsol id +Ġmeet ing +Ġwork ed +Ġed itor +in y +Ð ¼ +_ read +. Id +e ff +Off set +ch a +US ER +ĉĉ ĠĠĠ +ipp ed +Ġd ict +ĠR un +.h pp +Ġan g +x ml +im ple +Ġmed ical +_t oken +con nect +Ġh our +Ġcont roller +_m essage +U ID +G r +and ed +_C H +Ġbook s +Ġspe ak +am ing +Ġm ount +Rec ord +ĉ struct +.W eb +ond on +Ġ// Ċ +Ġf elt +.A uto +id ge +_p os +P R +Ġmod ern +C ollection +_m sg +C D +ĠL o +Ġsecond s +ib ly +.e quals +Ġintern ational +# pragma +oo th +W riter +i ate +Ġce le +ĠB it +iv o +iv ery +r d +HE CK +Ġc ache +.c ount +Ġro ll +.Re ad +RE D +Ġset up +izont al +model s +arg v +Ġconsider ed +=" ../ +set tings +ĠR el +Ġgrow th +Ġm ix +ĠWash ington +Ġpl t +ĠI M +á º +Ġturn ed +ĠDate Time +ĠW ed +( url +Ġ" - +Ġlet ter +As ync +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ +ĠOct ober +_l ine +Ġatt ention +Ġcol lect +ĠH ash +Ġim ag +T ree +Ġsit uation +et te +_n o +IV E +Ġv on +.t arget +Ġknow ledge +Ġdr ive +.p ost +Ġb lood +Ġc it +pr imary +Ġconfig uration +te e +Ġph oto +is ode +Tr ace +Ġg ave +Ġsh ot +ĠA ir +Ġm other +pr ice +Ġmor ning +)) {Ċ +- x +Ġtr ade +Ġdes c +Ġ&& Ċ +Ġparent s +A pi +å Ī +t ed +w er +Ġ æ +Ġs y +ĠK e +Par ser +å ħ +anc y +Ġpie ce +iforn ia +to String +r an +id ing +PT ION +com es +/ lic +.c lient +E l +L ong +Ġprofession al +ru pt +v a +Ġcomplet ely +Ġpract ice +Ġse lection +R em +in i +Ġc am +RE E +Ġsit es +p a +AT US +Ñģ ÑĤ +arr ant +* ( +_ KEY +ĠB utton +ĠF riday +se qu +Ġre ader +Ġm essages +è ¯ +Ġbu f +K e +Ġn ov +H P +M sg +al ign +ar ily +Ġ' , +_w ith +Ġd as +Ġhe ard +at omic +ri al +) [ +Ġdis e +@ end +Ġg old +Ġf air +Ġsa les +. Button +str ict +s ave +Ġme asure +Ġ" + +ec ause +View Controller +ĠT able +.p aram +Ġdec ided +(( ( +IN FO +Ġopport unity +T e +IC ENSE +cc ording +k i +ĠU N +Ġcont ain +Ġman ager +Ġp ain +ĠF ire +rom e +Ġpl ans +F ound +l ay +ĠDec ember +Ġinfl u +à º +ren ch +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ +az ing +b rief +c all +wo od +Ġload ed +Ġgr and +/ f +im p +_ U +ST R +âĢ ¢ +Ġcred it +.C olor +or ge +QUE ST +Ġdiffer ence +ĠP C +w args +Ġp ub +und ay +Ġf ra +.m ax +Ġtri ed +ann els +s end +Ġreport s +Ġad ult +ä º +Ġcons ist +ĠSt reet +ĠPro gram +S QL +M atrix +ounc il +- A +ĉ w +Ġwho se +Ġrel ig +ĠS ex +Ġg ives +n one +.m essage +( G +.aw t +- right +ĠNov ember +ell ig +ut ive +Ä ĥ +over n +Ġeas ily +Ġide as +ĠÐ ½ +/c ss +ly ing +el le +C an +_c olor +оР² +Ġp air +ng th +Ġs plit +d rop +art y +on a +Ġcap ital +Ġhe ar +Ġex ists +ĉ log +em o +R un +o i +Ġpar ser +ĠM ethod +Ġeduc ation +[ k +Ġlib rary +> ";Ċ +_ UN +ĉ std +od ed +Ġcall s +h ere +R el +Ġbr and +back ground +g a +_add ress +_param s +C ategory +ĠInd ia +_e vent +Ġ ing +R ender +.c l +ump y +Ġp et +F C +ĠA nt +Ex t +Ġchar ge +en ed +gr ad +E O +Ġdep end +Ġ .ĊĊ +fr ame +Ġd f +Ġh uge +ĠP ART +ed s +; ; +ĠA M +Ġbas ic +ĠL et +lic h +Ġar m +Ġst ar +Ġf ederal +W ork +Ġcar ry +ĠIs rael +( obj +={ { +Ġs aved +Ġs yn +Ġconst ant +V ENT +Ġpos itive +Ġcon duct +Ġsk in +Ġear lier +Ġl ayout +ĠI P +O UR +Ġt im +styles heet +_ cl +ĠC ard +++ ){Ċ +Ġtem per +ĠDav id +ĉ try +.d art +Ġwant s +Ġp icture +Ġv ideos +ĠCom m +is ions +_M AX +M apping +- content +ĠE ar +- de +Ġpre m +br uary +Ġcom ponents +Ġthrough out +Ġp ull +Ġp ages +ent e +res pond +Ġg as +cript or +Ġed ge +Ġb ound +A CT +**** ** +Ġcre ating +ĠC H +Ġnull ptr +B r ++ ' +.c o +> :: +Ġle arning +.L ength +_S H +Ġpat ients +A IN +Ġk ids +Ġcom fort +Ġsh own +ug ins +ĠB ack +ell a +_C L +Ġl at +Ġdis patch +Ġclass es +. at +.b egin +Ġsuccess ful +b an +Ġobt ain +ĠS l +Ġl ack +iter ator +Th read +(s ize +Ġn one +.h as +_ X +s ort +n ap +p et +b in +ĠCan ada +The y +Ġd ans +ĠM at +< td +Ġh air +Ġ' ',Ċ +Ġc u +Ġlaw s +let ed +p ed +Ġp ow +Ġk new +_C OM +_ , +ĠM ag +id ents +( req +Ġ ), +- center +Ġw ide +ĠA uthor +st ants +Ġjob s +Ġm ath +et imes +Bo olean +Ġs cope +_ is +Ġme as +Ġkey s +el ay +Ġexact ly +'=> ' +ĠP aul +m as +ĉ print +(l en +f d +Ġ) ; +. Event +q li +ir it +ield s +om an +ĠT op +Ġv ote +Ġm ask +Ġthem e +- Ċ +Ġpro ps +Ġf ine +Ġwrit er +_ offset +c ar +Ġal tern +Ġc opyright +Ġdest roy +pp er +Ġgener ate +pp ed +âĢĻ d +ĠĠĠĠĠĠ Ċ +m ake +ĠSh ow +Ġb rowser +Ġfavor ite +Ġcare er +Ġhappen ed +( char +Ġrecomm end +Ġl iter +.f ilter +gr ade +Ġ £ +Ph one +om s +Ġn amed +- label +ip o +ĠO ther +Ġp anel +Ġro ck +S cale +ĉ assert +Ð ´ +Ġtr ust +fr ont +Ġdem on +A r +N et +Ġecon omic +foot er +Ġr ace +(n ode +ĠO ption +s plit +Ġphys ical +if est +Ġrem oved +. http +)) ,Ċ +Ġlook ed +' ; +d ing +g est +atur day +/lic enses +Pr ice +Ġd ro +Ġto wards +Ġun s +ĠC L +ĉ static +Ġ rows +Ġdef ine +.re place +Ġf ather +ĠDes ign +ass ign +m ut +De vice +D id +') )Ċ +omet ry +ay load +Ġh istor +ĠP aram +ĠBo olean +Ġn ature +Ġj s +Ġn ation +i h +Ġdis cover +se m +Hand le +ĉ r +ĠTe chn +Ġw all +{ $ +@ property +Ġ" ../ +Ġex am +.d raw +opp ing +Ġnear ly +Ġco ol +Ġinde pend +RE S +Ġhand ler +ĠMon day +Ġs un +St yles +ous ly +Ġ ĉ +v est +D isplay +( y +atic ally +Ġpred ict +y ing +Ġsom etimes +" ]Ċ +Ġdr ink +Ġb ul +ific ations +. insert +.re g +Ġtest s +Al ignment +Ġal leg +Ġat tribute +ĠN ote +Ġmy self +art s +N ow +Ġinterest ing +li ents +Ġpop ulation +ĠCal ifornia +" I +å ¹ +Ġgre ater +ues day +Ġth ous +Ġcost s +Ġla unch +\ Http +k er +b and +ĠPl ay +Ġb and +.sh ape +es ome +art icle +.r f +Ġw er +á s +em bers +us r +B A +ic an +et t +valid ate +ult i +Ġimmedi ately +z er +Ġfig ure +o es +ell er +irc le +ĠS ign +.d b +Ġr ank +By tes +Ġproject s +_re c +UL AR +A PI +ĠL ine +P ort +Ġp oll +Ġg iving +id ence +-- Ċ +Ġpl ot +ic ial +Ġw arrant +IT ION +ĠD ouble +Ġbill ion +gorith m +Ġequ ipment +D ATE +Ġ@ " +E E +Ġp le +i ation +Ġhead ers +Ġpro ced +.Component Model +ĠOb ama +Ġp a +ĠB est +im ately +.get String +. \ +mp loy +Ġr aw +_b lock +und red +" },Ċ +.Group Layout +Ġb rought +NS String +th row +cre ated +.N ew +_ view +C P +ep s +O p +Ġgr atis +Ġ' " +Ġinter view +"" "Ċ +Ġpart ial +Ġa ria +b ing +A uthor +Bo ok +ĠP at +um an +Us ers +pl us +ĠD irect +ven ue +al pha +UC CESS +ĠC all +Ġ );čĊ +im ated +Ġrem ain +Ġant i +ĠL ondon +Ġsaf ety +PO SE +o les +cont roller +By te +ĠCour t +ĠPh il +ĠAss oci +en a +å IJ +_ST R +co in +resh old +Ġb atch +_C lick +entic ation +> ';Ċ +ent y +Ġbegin ning +Ġz ero +ĠCon vert +Ġt err +Ġp aid +Ġincre ased +c atch +-s ize +act ivity +e quals +Ġque ue +Ġ" ' +ĠIntern ational +Ġf ür +urs day +Ġsc ient +all ow +ax is +Ġapp ropri +ed ge +Ġid x +S uccess +ent ifier +: \ +x is +Ġmax imum +ark s +Ġb irth +( index +Ġmay be +.p y +file s +Ġlim ited +_ check +lo ok +pl ies +Ġmov ement +'] . +Ġbro ad +ĠB E +ĠUn ityEngine +.c pp +ĠE very +Ad min +Ġf ans +p ared +Ċ ĠĠĠĠĊ +Ġfore ign +Ġp an +Ġt our +ĠOr der +Ġmov ing +Ġa uf +C all +c b +Å Ł +vent ory +ĠS ql +Ġful ly +Click Listener +W ORD +Ġannounc ed +) čĊčĊ +Ġagre ed +ri e +Ġe arn +_l ink +. array +(t ext +Ġmaterial s +, p +ff ff +v g +Ġ © +Ġun less +aj ax +LO G +Ġsex ual +Ġ\ " +- time +Ġco ach +Ġsupport ed +Ġphot os +if orm +.C reate +) ] +ri er +Ġd ialog +av er +ig e +) + +_id x +: [ +_m in +ĠC ong +Ġpress ure +Ġteam s +S ign +b egin +ri an +NE SS +L S +Ġimpro ve +ĠS unday +Ġdef inition +ig er +roll ers +Ġthink ing +T emplate +- F +Ġem erg +pl ates +ĠUS A +.set State +ĠAl so +re v +Ġen able +ĠC O +PE CT +Ġcon cept +) - +ĠâĢ ¢ +Ġset s +Ġmean ing +em on +ĠCon s +c mp +ed er +ann ed +icens ed +ĠS uper +Ġd aily +Ġmult i +_ u +Ġchall eng +_m ode +ĠP romise +Ġstr ict +j o +int on +( list +On ly +> { +Ġveh icle +í ķ +ĠPl ayer +ĠD el +Ġp ool +. url +nes day +();čĊ čĊ +Ġ" );Ċ +L ocal +. ");Ċ +Ġorgan ization +re nder +ĠApp lication +Ġsum mer +ex pected +N A +Ġr ap +_ obj +Ġsur face +ĠP UR +Ġ}, ĊĊ +Ġvariable s +(m essage +Ġop in +.b ack +а н +Ġwork ers +v m +C o +ught er +Ġm aster +Ġ" ", +Ġst ories +. User +Ġcele br +ines e +B S +ĠCom mand +ash board +Ġo g +k g +. image +.st yle +Ġstep s +ĠB en +( args +ĠP erson +, y +Ġofficial s +| Ċ +Ġsk ills +v c +Ġbuild er +Ġg ar +A ccount +ĠA uth +ç Ķ +'] )Ċ +ĠA T +n n +. Int +SS ERT +Ġeffect ive +LE TE +Ġto ols +AR D +Ġdig ital +D ouble +ĠF ind +R C +Ġin line +/ r +AR AM +AS K +Ġint ent +a ight +_add r +Ġrequest s +.f irst +Ġde bug +Ġsp ent +() ));Ċ +Å Ľ +Ġpr incip +Log ger +clud es +. use +Ġsur v +med ia +ĠFe bruary +ĠM ac +Ġmiss ing +Ġw ife +Ġtalk ing +ĠM ake +Ġc art +Ġloc ated +E nc +- a +ch ron +Ġc ards +Ġgu y +Ġp ers +ĠY es +ate ver +ĠA ng +ol ar +ĠE ven +Ġacc ur +ĠP ower +ĠG old +c lear +Pro cess +Ġrec ords +Ġk illed +.c lear +ĠWARRANT IES +Ġpur pose +pan el +J ECT +ÃŃ a +Ġex erc +W S +/ L +. exports +Ġ__ _ +Ġs in +S ervlet +Ġd é +.de lete +ro ke +S l +ug h +ear s +Ġpoint er +Ġh op +all ery +Ġo bs +co very +ĉ char +ĉĉĉĉ ĉĉĉĉĉĉ +ĉ def +oc ity +itch en +ul ations +ĠF IT +Ġ ). +straint s +vent ion +Ġrequ ires +ĠO per +M E +OUN T +al let +Ġn orm +I RE +ex as +Ġprogram s +Ġwe ak +' .$ +u ing +ĉ ĠĠĠĠĠĠĠ +Ġm il +Ġf irm +init ely +_VAL UE +ap se +atis f +Ġdem and +_m od +Ġdescri bed +Ġpl aces +V ID +Ġal one +Ġex port +Ġv ec +ĠM ax +Ġactiv ities +ict ures +g ener +Ġm a +Ĥ ¬ +Ġexpress ion +C allback +_ content +ĠM ost +Ġtest ing +E C +CH ANT +Ġad just +.Th reading +( ctx +Ġag ree +ig hest +Ġu i +ĠL aw +. Y +> ĊĊ +.ex ample +ber g +Ġmov ed +ĉ e +ĠS aturday +Ġpay load +Ä ĩ +) :ĊĊ +Ġbe y +ur er +< script +Ġs ymbol +Ġass um +Ġp ul +E ffect +Ġh undred +To ol +ak ed +con nection +Ġvo ice +Ġp d +Ġtrans action +Ġlink s +E rr +ĠInd ian +T C +atal og +n i +s ign +<< " +j i +y a +Ġdemon str +ul ated +. St +Ġinst it +Ġbo ost +Ġcell s +ol ic +.P ro +: , +"> \ +Ġth us +ĠReg ister +h ol +ĠCh inese +Ġpost ed +Ġm agn +ab ilities +Ġdise ase +Ġrem ains +ĠPro f +- form +Ġc in +org an +ic ate +Ġst ress +] * +Ġ ---------------------------------------------------------------- +_ context +or ry +Ġd ied +m at +Ġstart s +.M essage +Ġrun s +Ġgu ide +Ġwarrant y +ential s +d ict +ĠS ize +ul er +Ġrespons ible +_SE T +Ġcont aining +ĠPr ice +| | +F S +Ġem p +_b utton +( uint +Ġsu ff +p th +Ġdef initely +put e +Ġmarket ing +ĠW H +ĠS ie ++ = +OL OR +Ġcons ult +Ġs igned +Ġse quence +le e +Ġrequire ments +h y +Ex press +M T +se y +Ġ ult +å ® +ellig ence +Ġanal y +Ġd ress +eng ine +ĠG reat +ĠAnd roid +ĠA lex +m ode +D ictionary +.D ate +ä ½ +V ICE +Ġfam ilies +ĠRuss ian +ĠT imes +.c all +$ ( +Pro file +Ġf older +ch es +Ġleg is +_ row +un es +Ù Ħ +Ġ} ). +Ass ert +ag en +ĠH and +I ter +Ġbig gest +ore ach +Ġpol ic +Ġper missions +Ġshow ed +ĠE lement +Ġtop ic +âĢĶ âĢĶ +ro ad +ĠB ank +rec ord +Ġpart ners +ĠR ef +ess ions +Ġass ess +U ST +ĠPart y +pro du +L C +Ġ ul +. form +h ide +c opy +UT F +ĠSO FTWARE +čĊčĊ čĊ +ĠL in +un a +ug ar +Ġadmin istration +Ġopen ing +Ġsc an +Ġcontin ued +com ponent +.s p +Ġhapp ens +um my +ĠP R +.F ile +ĠDown load +Lo ading +d i +Ġwait ing +_A DD +T ab +.query Selector +Ġecon omy +ĠF rench +t xt +Ġf ant +_ ;Ċ +H older +S H +Ġn umpy +Ġst reet +Ġm ale +\ Model +ang ing +ĠB ill +Ġprevious ly +B I +ĠSec ret +Ġm ist +ĠF ield +up s +ĠPro cess +Ġke pt +ĠO T +Ġtrad itional +. i +am in +Ġhelp s +An y +orig in +ilt ers +j u +d esc +ĠA ccount +Ġ) čĊ +k top +ol ly +Ġf s +Ġ ê +Ġ ut +Ġcent ral +(t est +.A n +Ġs atisf +G R +ĠF ull +Ġhe at +ib er +Ġon to +m os +S chema +Ġfact ory +" .$ +aw s +St atement +(t arget +ĉ new +.b e +Ġg uest +Ġm al +AR Y +Ġre ached +Ġm ouse +Ġchall enge +ĉd ouble +ĠT em +Ġt error +Ġex tract +_T O +Ġsepar ate +Ġm ir +h elp +Ġcap acity +ĠProp erty +k an +_c reate +ĠL ight +.p arent +Ġunderstand ing +Ġeas ier +Ġ| = +Ġen h +Ġf at +Ġprot est +am m +_ AT +- of +il s +ĠO h +Ġps ych +Ġ$ . +ind s +Ġrel ative +sh op +sh ort +ĠS and +uest ion +Ġf ear +/ ĊĊ +. context +Ġschool s +Ġser ve +z one +_d b +Ġmajor ity +ex ample +Ġl ang +ĉ ĠĠ +Reg ister +end o +Ġprocess ing +_t emplate +- user +Ġe g +C OM +ĠBl ue +i ro +Ġrem ote +ĠI T +#! / +Ġred istrib +ra z +ĠS ince +ĠT ur +Back ground +== = +Ġref lect +Ġpro s +c md +Ġwh om +Com pat +ĠA re +Id entifier +ĠTh om +_ port +g u +Ġmon itor +r m +Ġpat ient +ver ter +Ġg ain +- ui +In st +Ġd ies +A rea +_f ilter +Ġgr at +Ġreal ity +ord inate +ol ved +Cont act +Ġcompl iance +_ or +ĠV ar +d l +Ġapp end +G ER +(m ax +.re nder +Ġd ynamic +ordin ates +_ options +_c olumn +Ġb atter +s pace +L a +ĠS ource +/b in +Ġd os +ĠBo ard +ĠTh read +ĠA L +( config +ĠM er +Ġm iles +_ header +ETH OD +iz z +Ġbenef it +Ġinteg r +(c urrent +ul o +. default +ĠD iv +Ġt on +o th +erv ation +ed om +Ġb aby +ce ived +.t op +rior ity +ĠL ocal +ri age +Ġattack s +Ġh ospital +Ġfem ale +ĠLog in +ĠFl or +Ġch ain +ash ion +Text ure +S ave +Ġf arm +.cont ains +.T est +Ġknow s +Ġgener ally +ip eline +Ġme ant +enc ia +Ġn icht +Ġcont ents +P M +ched ule +( line +C G +j ob +ĠRe al +u er +f irm +Ġ Ø +et ro +" `Ċ +Ġspe ech +Ġth r +fore ach +Ġw arn +ĉ l +Ġhe avy +< li +N e +Ġinvestig ation +M ath +- title +Ġch urch +Ġdes pite +ch ain +Ġwh atever +ar ian +f n +Ġm eta +} )ĊĊ +U FF +Ġregard ing +_S UCCESS +m es +ĠInt ent +Ġres olve +pos s +ir a +for ce +o ice +à ¢ +Ġp m +Ġup dates +A rr +Ġ Ñ +test ing +Ġto ward +nt ax +ë ĭ +Ġlist en +Ġgo als +Instance State +D r +Ġr are +Ġtr ail +Ke ys +C al +C ar +ĠPe ople +ĉ local +class es +Re ference +.for Each +em b +act iv +Ġpr im +red ict +Ġr ad +æķ ° +.B ack +Ġsp read +Ġc lock +Ġv ir +ed itor +Ġeffort s +Ġbr anch +Ġind ust +Ġmot or +Ġam b +Ġdat etime +Ġren cont +ĠChrist ian +ĠAmeric ans +f ull +Ġf mt +.m ain +Ġca used +_ update +ĠCont ent +AT CH +Ġb ath +ĠE ach +Ġr adio +ach ment +uz z +Sub mit +Ġre strict +ab in +ĠL oad +Ġext ension +Ġess ay +Ġh at +avi our +to Be +": [ +Ġoffer ed +Ġv ill +(d ouble +æĹ ¥ +b c +_f ree +ĠM iss +ĠB er +Ġ è +ĠL ike +Ġhelp ed +.get Name +_ AL +Ġsp irit +ĠAp ache +w s +Ġthere fore +( params +_ img +Ġpe ace +Ġinc or +ĠEX PECT +Ġmin or +ip es +ĉ data +select or +c ity +tr ie +.b ase +_f rame +Ġopen ed +/ json +L Y +n u +.D e +t f +m argin +.P arse +Ġp i +Ġe q +b d +Field s +ĠT ree +Ġb an +ist an +Ċ ĠĠĠĠĠĠĠĠĊ +ĉg l +Ġprodu ced +s ystem +M ark +_h ash +Ġb g +Ġconst it +ĠLe ague +Ġmiss ion +_ format +([ Ċ +clus ion +! " +Ð · +b reak +ĉs witch +Ġth er +Trans form +Ġfoot ball +- link +r oute +. auth +Ġb ag +ov ers +Ġen abled +Ġr ac +( I +C R +anc ing +Ġman aged +_ q +NG TH +Ġm ac +ĠA uto +ament e +Ġ' ', +.App end +Ġp in +. item +ack ing +Ġocc as +p erson +Ġt i +.Re g +Ġh aven +Ġg lass +Ġ" ) +_ char +res ource +Ġep isode +Ġ' _ +ĠE s +ĠEar th +Âł Âł +UP DATE +ĠS ou +u is +t ypes +Ġm as +Ġf av +Ġcon struct +_r ate +er as +Ġ| Ċ +rop erties +Ġext ernal +Ġap plied +Ġpre fix +ot ed +l ers +Ġc old +ĠS P +ĠCh urch +ĠOut put +los ed +ç ļ +ific ate +oper ation +her it +x FF +. env +_ err +os h +D irection +C ancel +ĠFr ank +Ġfind ing +. )ĊĊ +Ġr outer +ãĥ » +s es +Ġc row +== ' +Ġs and +Ġr id +it ure +Ġent re +Ġo bserv +Ġv ac +ð Ł +- T +A rt +n ight +. search +Ġex change +Ġdistr ict +. os +Ġdep artment +Ġdoc uments +Ġcent ury +ĠN ext +H ost +ĠK IND +Ġsus p +- P +re nd +. em +u ite +ist ers +( json +ĠAn n +w t +at i +ĠHT ML +wh en +D irectory +Ġsh ut +< a +ed y +Ġhealth y +Ġtemper ature +ĠG en +Ġmet al +Ġsub mit +ĠD O +Ġat tract +Ġ{ };Ċ +ĠW ord +Ġl l +Ġseem ed +k o +I ED +Ġl abor +.Cont ext +Ġas set +y ou +Ġc ars +ĠC olumn +Ġr é +Ġs quare +ĠNS String +âĢĿ , +ap es +.. .Ċ +Ġthan ks +( props +Ġt ick +Ġexper iment +Ġpr ison +t ree +- text +ĠIO Exception +-w idth +_ST ATUS +f ast +-b ody +- header +Ġgu ar +cre te +ĠT im +Ġclear ly +ĠRepublic an +Ġjust ify +и ÑĤ +ĉ ĠĠĠĠ +c ache +; // +Ġpres ence +Ġfact ors +Ġemploy ee +] )) +M ember +Ġselect or +b or +ĠM ex +çļ Ħ +ut ex +_t ag +ail ure +ĠN et +Ġre li +E G +Ġf printf +Ġte en +lo ss +Ġle aving +De legate +Ġbe at +Ġmin ute +sub scribe +Ġredistrib ute +Con stants +Ġcan cer +/ { +B L +Ġs pan +ĠCh ild +C enter +Ġear th +Y S +ĠLe vel +Ġse a +.s upport +.in ner +. Item +ill ing +ĠĠĠĠĊ ĠĠĠĠĊ +ĠL abel +ĠE st +( arg +bo Box +ĉf oreach +c os +F ailed +sw ers +Ed itor +r ont +ĠM P +ex pr +ĠL ife +Ġ? ? +ö r +Ġatt end +ĠQ ue +Ġspec ies +- D +Ġa us +Str uct +Ġadvant age +ost on +-b lock +in itial +C RE +Ġtr uly +Ġcomp are +or ney +Ġs pect +F ull +b es +Ġvis ible +Ġm ess +st ances +Ġcl oud +_v ersion +Ġf urn +ic ago +LO W +Ġtraff ic +Ġf ol +rypt o +Ġdecl ar +Ġsl ot +ĠEx t +ĠEng land +ĠU nder +Ġt a +let ter +Ġoffic er +ĠDon ald +Y es +_ json +IT ableView +ĠU SE +mploy ee +Ġopin ion +ĠA ut +b order +Ġad vice +Ġautom atically +is co +Ġm m +. vis +am l +Ġinitial ize +Ġ( { +Ġ ;ĊĊ +Ġgener ation +Ġb its +clip se +Ġun f +ut ors +pl t +Ġdel ta +est roy +is is +< br +Ġlimit ations +Ġend ed +ĠM ad +il m +Th ese +ĠMin ister +Ġch art +F ragment +Ġindepend ent +Y ear +Ġin str +Ġt ags +A VE +ĠAr ch +st op +Pro gress +Ġm i +Ġlearn ed +G e +Ġhot el +S M +T YPE +Ġc y +ERS ION +un ately +l imit +s el +Ġmov ies +Ġste el +o z +g b +ĠC amp +s ite +ĠLog ger +P LE +оР´ +. right +ĠC ore +Ġm ixed +st ep +Ġput s +s uper +R outer +. Http +ly ph +ĠColor s +Ġandroid x +. str +Ġinn ov +Ġde ck +' >Ċ +ap ers +] ( +cont inue +s pec +ĠR oad +AS H +ili ar +Ġcontin ues +Ġapp oint +Ġ# Ċ +ĠV ir +Ġ?> " +Ġb in +} ", +go ing +e ach +B D +ĠA ccess +D oc +ĠMan agement +B ER +ask et +.get Instance +Ġestablish ed +so cket +IN S +ĉv irtual +ĉ result +RE AD +_ height +ĠF ont +Ġ( );Ċ +_ html +Ġneighb or +l or +Ġg ather +Ġ} )ĊĊ +Ġid entity +Ġf ab +p adding +ĠR oute +Enumer able +à ´ +Ġfor ced +/j query +.ĊĊ ĊĊĊĊ +res ents +_ left +.P aram +ĉ throw +ĠH am +Ġevent ually +ac er +p ub +Ġtr a +un ique +d el +ĠFlor ida +ĠC lean +x a +Ġ · +Ġvalid ate +Vis ual +Ex pression +_f unc +m ember +ĉ h +tr l +ĉ G +nap shot +ĠProp Types +v in +] )ĊĊ +ow l +if ies +Ġ$ ('. +ĠCont ext +ĠTo ast +. Key +Ġoffic ers +/ n +s n +und efined +. items +ut ow +am age +Ġaccount s +ook ie +Se ction +ici ans +Ġad vis +( is +[: , +ĠFr ance +F unc +ic ious +Ġto k +Ch annel +ĠA D +_N UM +Ġtime out +lem ma +rem e +u j +.A l +uc lear +( os +(" < +[ Ċ +f etch +Ġb al +Ġgu id +- align +ĠW rite +ĠOn ce +utow ired +OD ULE +Ġp itch +C F +by tes +ĠCom mission +Ġincre d +P ER +_ response +ĠL os +par ser +Ġass ume +. Request +ĠT oken +_p osition +Ġn om +- term +Ġrem aining +i ostream +Ġpie ces +ap y +ĠL ess +r ange +umb n +pr ise +_ option +Im pl +k wargs +Ġbusiness es +Al ert +Ġpart ies +ĠCont ainer +ĠPr ivate +ĠPl an +Ġregister ed +Ġj our +ack er +ен и +/ > +ch at +se ct +Ġcre ation +olut ely +Ġinst ant +Ġdel ivery +ick en +y es +ĠFr anc +bl ing +end a +[ ( +_r ange +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ +Ġsched ule +Con n +Ġthan k +x d +Ġh ook +Ġdocument ation +Param eters +H ello +v t +Ġart icles +Ġw est +def ined +. select +ok ens +ĠV AL +.f ile +res et +Ġmy s +ĠM A +] ), +Ġc ities +rel ated +å Ľ +Ġappe ared +Ġw id +.p anel +ĠIn s +. entity +Ġde cre +ĠL ou +(t ime +ĠTh ank +.create Element +Ġmention ed +oun ce +ĠT ry +ĠW all +/ images +ĠM enu +' čĊ +ĠE r +Ġcrit ic +ĠY ear +( param +Ġf lo +N N +oot er +Ġ ];Ċ +ĠA ff +" github +room s +Ġh yp +g lobal +Ġa vec +æľ Ī +Ġcomplet ion +Ġcon d +onym ous +( temp +Ġst ars +Ġre levant +Ġcover ed +Ġel im +_t ypes +( bool +Ġt u +_ex ists +Ġsec ure +Ġst ored +] / +x F +ĠCont roller +Ġm igr +M I +ĠD en +Ġann ual +U IL +- and +Ġcr ime +b el +Ġk itchen +@ g +_p h +ourn ament +ĠS ocial +ĠS pecial +log ger +Ġt ail +Ġun known +d ed +Ġapp rec +(d b +c f +Ġass ign +- out +ĠM ont +d p +w idget +Ġst one +- primary +. grid +Result s +az z +Ġda ughter +Ġcur r +Ġl in +Ġs outh +form s +ĠO UT +let te +ak s +ig ure +ĠE U +var iable +Ġb rief +ĠSc ott +Ġcon ference +and a +_ lock +or al +Ġe ine +OR S +//////////////////////////////// //////////////////////////////// +ess o +Ġr is +Ġg ender +est ic +L icense +( out +Ġm s +Se e +Ġwill ing +az e +Ġs ports +Ġy es +l u +Ġp urs +/j avascript +- pro +nav bar +_pro duct +/ bootstrap +Ġdr iving +Ġ Ä +Ġpro pos +ult ip +up lic +. email +Ġappro x +( cl +Ġwe ar +Ġrep ly +ass et +Ġ ice +Ġt x +k r +ĠGerman y +ĠGe orge +Ġc b +ĉ err +M ove +Ġpol y +vo ice +} " +Ġan imal +A v +ĠL ocation +Ġn ative +] [" +< double +Ġm ais +, int +Ġpre par +Ġinter val +plement ation +_ ERR +Ġb ug +> " +st at +Ġ} ,čĊ +< span +Ġfa ith +Ġ rom +pre v +ĠE lect +F ind +Ġg od +ot or +// ---------------------------------------------------------------- +orig inal +C pp +ĠSen ate +Ġposition s +Ġweap ons +Ġco ff +Ġpur poses +p ol +Ġim press +Ġanim als +. Entity +(n p +Ġmur der +Ġ` ` +fl ag +Ġsol utions +ĠAct ive +Ġb right +.d ate +Ġsit u +ï¼ Ī +. ID +Ġs ie +), čĊ +ak t +S pace +.d at +.index Of +h an +az ine +ĠZ e +Ġcr ash +( / +> = +Ð ± +iv a +.Auto Size +ĠL at +_ ext +Initial ize +.reg ister +OP Y +Ġre verse +_d is +'] [ +Ġprom pt +ont o +ĠJ ournal +r outer +Ġmys qli +# else +) " +-x s +let s +ph an +. LE +W ill +Ġaff ord +Ġsk ill +-t oggle +N C +B ind +T S +J ust +iter al +Y P +ĉ unsigned +Ġw ind +)) :Ċ +Ġw arning +ĠW ater +Ġd raft +Ġc m +Ġs am +Ġhold ing +z ip +ĠSc ience +Ġsup posed +G en +Ġdi et +< h +ĠP ass +v i +Ġhus band +� � +n ote +ĠAb out +ĠIn stitute +Ġcl imate +.Form at +Ġn ut +est ed +Ġapp arent +Ġhold s +f i +new s +C M +v ideo +': ' +D ITION +p ing +Ġsen ior +w a +-- >Ċ +_ default +ĠD atabase +re p +E SS +ner gy +.F ind +_m ask +Ġr ise +Ġk ernel +:: $ +. Q +Ġoffer ing +de cl +ĠC S +Ġlist ed +Ġmost ly +eng er +Ġblock s +ol o +Ġgover ning +\ F +Ġcon cent +.get Text +Ġm b +Ġocc urred +Ġchang ing +Sc ene +_C ODE +B eh +" The +Ġt ile +ĠAssoci ation +ĉ P +al ty +_ ad +od ies +i ated +Ġpre pared +poss ible +Ġm ort +TE ST +Ġign ore +Ġcal c +Ġr s +Ġassert Equals +Ġs z +ĠTH IS +. "Ċ +Ġcan vas +j ava +Ġd ut +VAL ID +.s ql +. input +Ġa ux +S up +Ġart ist +V ec +_T IME +.string ify +et ween +ĠC ategory +Ġ[ - +ĠDev Express +ĠJ ul +Ġr ing +. ed +Y Y +L et +Text Field +Ġfl at +_p rint +ĠOT HER +ad ian +Ġcheck ed +e le +Al ign +stand ing +Ġ[ ], +Ġl ab +uck y +ĠChrist mas +( image +.m odule +Ġl ots +Ġslight ly +(f inal +er ge +è ¿ +ĠPol ice +ĠR ight +Ġaw ard +ĠO S +Ġ{ }ĊĊ +Ġp tr +ov es +ic ated +еР¼ +Ġman age +olid ay +Am ount +ool Strip +t body +N av +w rap +B B +Ġwatch ing +ari os +Ġoption al +_ K +ĠL icensed +.M ap +T imer +ĠA P +ĠRe v +( o +, c +um in +eta iled +ĠH y +Ġbl ank +ag ger +ĠS elf +() [ +.m ake +ear n +ch annel +< pre +ble m +_p assword +_s p +ic ing +e z +Ġthe ory +ĠT er +, n +log o +ĠHT TP +() )) +.h andle +> ;Ċ +W orld +Ġpy thon +Ġl if +Ġtr av +Ġcon ven +com pany +ĠCl ub +V er +B tn +Ġz one +product s +ĠE duc +Ġver ify +ĠM il +on o +] );ĊĊ +EN CE +Ġpack et +Ġc er +Ġen umer +Ġpar s +form ed +Ġocc up +t re +Ġexerc ise +D ay +_s um +Ġask ing +apt ion +Ġord ers +Ġsp ending +ĠE RR +.D is +ĠU til +âĢľ I +\ ' +? ) +/ >Ċ +Ġem ot +Ġinflu ence +ĠAfr ica +att ers +Ù ħ +.s ession +Ġch ief +ĉĉĉĉĉĉĉĉ ĉĉĉ +Ġto m +clud ed +ser ial +_h andler +.T ype +ap ed +Ġpolic ies +- ex +- tr +bl ank +mer ce +Ġcover age +Ġr c +_m atrix +_ box +Ġcharg es +ĠB oston +P e +Ġcirc um +Ġfil led +Ġn orth +icture Box +ĉ res +è ® +Ġter min +Ġ[ â̦ +IRE CT +Ġb er +Ġ" ../../ +ret ch +.c ode +_c ol +ĠGovern ment +Ġarg v +ĠL ord +as i +Ex ec +ĉ let +vert is +Ġdiscuss ion +en ance +out ube +type of +Ġs erved +ĠP ut +ĉ x +Ġs weet +B efore +ateg y +. of +ĠM aterial +S ort +ON T +ig ital +Wh y +Ġs ust +Ġ ç +ab et +Ġseg ment +Ġ[ ],Ċ +ĠMus lim +Ġfind ViewById +c ut +_T EXT +ĠM ary +Ġlo ved +Ġl ie +ĠJ O +Ġis set +mon th +Ġpr ime +t i +ĠCar ol +U se +ĠP op +ĠS ave +Int erval +ex ecute +d y +ĠI ran +_ cont +ĉ T +Ġph ase +check box +we ek +Ġh ide +Ġt il +Ġj u +C ustom +b urg +/ M +T ON +Ġqu ant +Ġr ub +ix els +Ġinst alled +Ġd ump +Ġproper ly +( List +Ġdec ide +app ly +H as +Ġkeep ing +Ġcitiz ens +Ġj oint +p ool +S ocket +_ op +Ġweap on +gn ore +ĠEx ec +ott en +ĠM S +Ġ( - +ĠRe view +Ġex amples +Ġt ight +! ( +D P +ĠMessage Box +Ġphot ograph +UR I +é t +l ow +ĠGr and +.p ersistence +Ġmaint ain +Ġnum s +Ġz ip +ial s +ĠG ets +pe g +ĠB uffer +~~ ~~ +ra structure +ĠP L +u en +ob by +size of +Ġp ic +Ġse ed +Ġexperi enced +Ġo dd +Ġk ick +Ġproced ure +avig ator +- on +, j +ĠAl though +Ġuser Id +ac cept +Bl ue +IC olor +l ayer +av ailable +Ġend s +.t able +Ġdat aset +b us +Ġexpl ain +( pro +ĠCommit tee +Ġnot ed +] :Ċ +D im +std io +. ",Ċ +_s ource +ĠWe ek +ĠEd ge +Ġoper ating +Ġest e +i pl +ag ination +Ġpro ceed +Ġanim ation +.Model s +ĠW atch +i at +Ġopp on +/ A +Re port +Ġs ounds +_b uf +IEL D +Ġbu nd +ĉ get +.p r +(t mp +Ġk id +>ĊĊ Ċ +Ġy ang +Not Found +Ñ Ĩ +m ath +@g mail +ĠL IMIT +red ients +Ġv ent +avig ate +L ook +Ġrelig ious +Ġr and +ri o +( GL +_ ip +u an +ici ency +ĠCh ange +> čĊčĊ +ĠEnt ity +Ġrencont re +ĠR et +pl an +é n +BO OL +ur ies +tr ain +Def inition +======== ==== +z z +An imation +ĠO K +_m enu +.b l +_s core +Ġac ad +( System +Ġref resh +'=> $ +.G raphics +ament o +p id +t c +Ġt ips +Ġhom es +Ġf uel +â ĸ +_h elper +ĠĠ čĊ +ĠR oom +.C lose +_ attr +ĠM ount +ĠE v +ar ser +_t op +e ah +ĠDe lete +ãĢ į +u ke +Ġus age +ar ia +_de v +Ġtext ure +Ġconvers ation +e per +Be an +d one +non atomic +ĠSe cond +Ġshoot ing +_p re +Com ponents +Ġ] ĊĊ +__ , +stit ution +.Ch ar +> ();ĊĊ +Ġpresent ed +Ġw a +ok er +- ĊĊ +in er +Ġbe coming +Ġinc ident +At t +Ġreve aled +for c +Ġbo ot +.p age +Enumer ator +_ -> +Ph oto +Ġs pring +. ", +ĠD ictionary +B JECT +Ġloc ations +Ġs amples +Input Stream +ĠB rown +Ġst ats +qual ity +Ñ ħ +-d is +Ġhelp ing +Ġp ed +( se +ĠWh o +al ian +int ernal +Ġf t +> (). +-> { +Ġm ine +Ġs ector +Ġg ro +Ġopport unities +Ġà ¼ +Ġm p +Ġalleg ed +Ġdoub t +M ouse +Ab out +_p art +Ġch air +Ġstop ped +lo op +ent ities +Ġapp s +ans ion +Ġm ental +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ +F R +Ġdef end +c are +Ġide al +/ api +ur face +Ġe le +ul ator +ĠR ights +angu ages +Ġfund s +Ġad apt +At tributes +Ġdep loy +opt s +Ġvalid ation +Ġconcern s +u ce +.n um +ult ure +il a +Ġc up +Ġp ure +.F ore +ĠHash Map +.value Of +as m +M O +Ġc s +Ġst ores +Ġ ************************************************************************ +Ġcommunic ation +m em +.Event Handler +. Status +_ right +.set On +S heet +Ġident ify +ener ated +order ed +Ġ" [ +Ġs we +Con dition +ĠA ccording +Ġpre pare +Ġro b +P ool +Ġs port +r v +ĠR outer +Ġaltern ative +( [] +ĠCh icago +ip her +is che +ĠDirect or +k l +ĠW il +key s +Ġmy sql +Ġw elcome +k ing +ĠMan ager +Ġca ught +) }Ċ +S core +_P R +Ġsur vey +h ab +He aders +AD ER +Ġdec or +Ġturn s +Ġr adius +err upt +C or +Ġm el +Ġin tr +( q +ĠA C +am os +M AX +ĠG rid +ĠJes us +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ +.D E +Ġt s +Ġlink ed +f ree +ĠQ t +Ġ/** čĊ +Ġf aster +ct r +_ J +D T +.C heck +Ġcomb ination +Ġint ended +- the +- type +ect ors +am i +ut ing +Ġum a +X ML +U CT +A p +ĠR andom +Ġr an +.s ort +Ġsort ed +. Un +_P ER +it ory +Ġprior ity +ĠG al +ĠO ld +h ot +ĠD isplay +(s ub +_T H +_ Y +ĠC are +load ing +K ind +_h andle +, , +r ase +_re place +.add EventListener +ĠR T +Ġenter ed +g ers +Ġ ich +( start +/ app +Ġbro ther +M emory +Out let +Ġ utf +pre c +Ġn avigation +OR K +Ġd st +D etail +Ġaud ience +Ġd ur +Ġcl uster +un ched +Ġ ], +Ġcomfort able +. values +ĠT otal +Ġsn ap +Ġstand ards +Ġperform ed +h and +(" @ +å Ń +Ġph il +ib r +tr im +Ġfor get +Ġdo ctor +.Text Box +icon s +, s +ĠO p +S m +St op +ĉ List +ĉ u +Com ment +_V ERSION +.X tra +P erson +r b +LO B +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĊ +ĠCent ral +IC K +ra q +Ġput ting +Ġm d +ĠL ove +Pro gram +B order +o or +Ġallow ing +a fter +Ġent ries +ĠMay be +] ). +ĠSh ort +) \ +.n ow +f riend +Ġpre fer +ĠG PIO +os is +ĠGame Object +Ġsk ip +Ġcompet ition +_m atch +lic ations +_CON T +.group Box +Ġal s +" We +_e q +l an +_ search +ĠMus ic +as is +Ġb ind +ĠIs land +r um +( E +Ġse at +V ideo +Ġa ck +ree k +={ () +Ġr ating +Ġrestaur ant +DE X +(b uf +pp ing +ual ity +Ġle ague +Ġfoc used +ap on +$ data +CL UD +CLUD ING +Ġabs olute +( query +Ġtell s +A ng +Ġcomm unities +Ġhon est +ok ing +Ġap art +ar ity +/ $ +_m odule +ĠE nc +. an +.Con fig +C re +Ġsh ock +ĠAr ab +I ENT +/ re +Ġre trie +ycl er +is a +ĠO rgan +. graph +Ġ í +ĠB AS +En um +Ġposs ibly +ÑĢ Ð°Ð +ĠJapan ese +Ġc raft +ĠPl ace +Ġtal ent +Ġfund ing +Ġconf irmed +Ġc ycle +/ x +G E +Ġhe aring +Ġpl ants +Ġm outh +p ages +or ia +ĠRem ove +_t otal +Ġo d +oll apse +do or +Ġb ought +Ġadd r +AR CH +_d im +dd en +Ġdec ades +RE QUEST +Ġvers ions +f ire +Ġmov es +f b +Ġcoff ee +.con nect +ĠR ow +Ġs chema +S cope +- Type +Ġfight ing +Ġret ail +Ġmod ified +T F +File s +n ie +_com mand +st one +Ġ ÑĤ +_ thread +Ġb ond +ĠDevelop ment +Ġp t +F ORM +ple t +Ġident ified +c pp +Ġc oding +ok ed +ĠM aster +ID TH +Ġres idents +red it +ĠPh oto += - +un te +ate ur +_ST ATE +ĠS ing +Ġshe et +. val +or se +Ġh ers +Ġdetermin ed +Com mon +Ġw ed +_ queue +P H +ĠAt l +cre d +/L ICENSE +Ġm es +Ġadv anced +.j ava +.S h +G o +k ill +f p +_set tings +Ġp al +Ġtr uck +Ġcomb ined +Ġ" ${ +ĠCor por +Ġjo ined +ĠJ ose +ĠC up +un s +est ival +lev ision +Ġbro ken +Ġmar riage +ĠWest ern +Ġrep resents +ĠT itle +Ġs s +.A ss +ongo ose +ient o +< >();Ċ +Ġabs olutely +Ġsm ooth +TER N +ĠUn less +W ord +Ġmer ge +ig an +ĠV ol +Ġn n +.get Id +ĠÐ · +Ġsex y +Ġseek ing +S ingle +. this +Ġk om +b ound +; " +Ġfont Size +_d f +Ġinj ury +( H +Ġiss ued +_ END +: self +Ġp atch +Ġle aves +Ġad opt +File Name +ãĢ IJ +Ġexec utive +ĠBy te +] ))Ċ +Ġn u +out ing +clud ing +- R +. options +Ġsub stant +av ax +ĠB UT +Ġtechn ical +Ġtw ice +Ġm ás +Ġun ivers +y r +Ġdr ag +ĠD C +Ġs ed +Ġb ot +ĠP al +ĠH all +forc ement +Ġa uch +.m od +not ation +_file s +.l ine +_fl ag +[ name +Ġres olution +Ġb ott +(" [ +end e +( arr +F ree +( @" +ĠD istrict +PE C +: - +P icker +ĠJ o +ĠĠĠĠĠ Ċ +ĠR iver +_ rows +Ġhelp ful +Ġmass ive +--- Ċ +Ġmeas ures +ĠR untime +Ġwor ry +ĠS pec +ĉ D +ãĢ ij +Ġ) {Ċ +Ġwor se +(f ilename +Ġl ay +Ġmag ic +ĠThe ir +ou l +st roy +ĠWh ere +Ġsu dden +Ġdef e +Ġb inding +Ġfl ight +ĠOn Init +ĠW omen +ĠPol icy +Ġdrug s +ish ing +(' ../ +ĠM el +pe at +t or +Ġpro posed +Ġst ated +_RE S +Ġe ast +ĠCON DITION +_d esc +Ġwin ning +fol io +M apper +ĠP an +ĠAn ge +.s ervlet +Ġcop ies +L M +Ġv m +å į +Ġd ictionary +S eg +el ines +ĠS end +Ġ iron +ĠF ort +.d omain +Ġdeb ate +Not Null +e q +ach er +l f +ĉf mt +Ġlaw y +Ä Ł +ĠM en +Ġtr im +( NULL +Ġ! ! +Ġp ad +Ġfollow s +"] [" +re qu +ĠE p +.g ithub +( img +et o +(' \ +S ervices +umbn ail +_m ain +ple ted +fort unately +Ġw indows +Ġpl ane +ĠCon nection +. local +u ard +} \ +== " +and on +ĠR oy +w est +ig inal +em ies +it z +') :Ċ +ĠP eter +Ġt ough +Ġredu ced +Ġcalcul ate +Ġrap id +c ustomer +Ġeff icient +Ġmed ium +Ġf ell +. ref +ĠC as +Ġfeed back +S peed +( output +aj e +Ġc ategories +Ġfe e +} ; +Ġde leted +re h +Ġpro of +D esc +B uild +Ġs ides +.Array List +- % +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ +Ø ± +.m atch +л и +Ġfe els +Ġachie ve +Ġcl im +_ ON +ĠC D +Ġteach er +_c urrent +b n +_P L +ist ing +En able +G EN +Ġt v +Ġso ck +Ġpl ays +Ġdis count +ĠK E +ĠDe bug +F ore +ĠI raq +Ġappear ance +M on +Ġst yled +ĠH uman +i ot +ĠH istory +Ġs ac +ĠC ollection +Ġrecomm ended +.Se lected +Ġorgan izations +Ġdiscover ed +co hol +ad as +ĠThom as +M ay +Ġcons erv +Ġdom in +ĠF ollow +ĠSe ction +ĠTh anks +User name +Ġrec ipe +Ġwonder ful +.s leep +_ if +ĉĊ ĉĊ +orn o +Ġr u +_t arget +." " +à ¦ +Event Args +Ġinput s +Ġf if +Ġv ision +c y +ĠS eries +) ((( +Ġtr ading +Ġmark er +B egin +Ġtyp ically +Ġca uses +drop down +_DE BUG +Ġdet ect +c ountry +! ");Ċ +ĉ R +app y +Ġc ref +(' < +" => +ĠL E +read er +Ġadmin istr +à µ +uck et +Ġf ashion +. char +iz ar +Ġdis able +Ġsu c +ĠL ive +iss ue +Ġmet adata +fl ags +Ġ ðŁ +Ġcomm itted +Ġv a +Ġr ough +Ġ'' 'Ċ +Ġhigh light +_var s +V O +Ġenc oding +- Z +_s ign +$ ("# +Ġr ain +reate st +ĠEN D +Se lection +Ġcandid ates +Ġs av +. Empty +Ġdec isions +Ġcoll abor +rid ge +fe ed +ress ion +Ġperson s +V M +eg a +_B IT +A ccording +ack ed +Ġdoll ars +_lo ss +ĠC ost +} "Ċ +Not ification +Ġpro stit +Ġauthor ity +.re c +Ġsp okes +ĠT oday +ist ant +ĠHe ad +âĢĿ . +ertain ment +ce an +cul ate +Ġv en +How ever +_ arr +Ġtok ens +G raph +ĠJ ud +ĠVir gin +ĠS erial +un ning +M utable +ag ers +.c sv +Ġdevelop ing +Ġinstruction s +Ġprom ise +Ġrequest ed +_ encode +/ " +ĠI con +u ilt +- day +Ġint elligence +. IS +ĠO bservable +ĠH ard +Bo ol +ident ial +.An chor +Ġsell ing +C I +AG ES +t le +b ur +UFF ER +R Y +Ġbig ger +Ġr at +Ġfam ous +Ġtyp ename +Ġexpl ained +} }Ċ +Ġn uclear +- N +Ġcr isis +ĠEnt er +Ġan swers +/ ${ +/ pl +Ġse qu +_n ext +m ask +Ġstand ing +Ġpl enty +ĠC ross +ĉ ret +d ro +ĠC ast += true +ĠCh ris +ic io +ĠM ike +Dec imal +add Component +L en +Ġco ck +Ġ# { +UR N +< tr +Ġauthor ities +Res ources +- H +B ottom +_ qu +put er +ester day +Dis patch +s ince +Ġfam iliar +, i +V C +Ġm ent +, C +Ġfre edom +Ġr outes +ĠB uy +Ġcomm ands +Ġm esh +/ C +ĠSet tings +- style +Ġw itness +Ġc le +Ġun ion +ef ault +are t +Ġthought s +Ġ ---- +_pro cess +_ us +ing ly +U ES +T ouch +ĠÐ ¼ +_ open +ĠV ec +Ġre ward +.C lick +/ : +Ġn ie +Ch anges +M onth +ï¼ Ł +Ġexec ution +Ġbe ach +( Integer +ĉ a +/ ' +.Font Style +Ġab ort +ĠS ingle +( isset +Ġd p +Ġ}} +Ġ* = +ĠP S +Ġdanger ous +[ p +OM E +O ther +ĠString Builder +Point s +head ing +Ġc urrency +Ġpercent age +_A PI +Ġclass ic +the ad +ĠM O +F E +Id x +aw ait +Ġà ¨ +Ġacc ident +Ġvari ant +Ġm yst +ĠL and +ĠB re +Ġh arm +ĠA cc +Ġcharg ed +ion es +Vis ibility +ar ry +ĠL anguage +Ġwalk ing +" .ĊĊ +if er +Ġleaders hip +.F rom +yn am +Ġt imestamp +i pt +ĠH as +REF ER +ĠIt s +Ġlist ener +UT E +_d escription +Ġexperi ences +Ġcre ates +R S +c art +bl ack +Ġcho ices +w ar +Ġ'' ' +Ġorder ed +Ġeven ing +Ġp il +Ġt un +ĠB ad +( app +r andom +Ġexp licit +Ġarr ived +Ġf ly +Ġecon om +-m ail +Ġlist s +Ġarch itect +ĠP ay +Ġd s +ĠS ol +Ġveh icles +H z +- com +Ġk ing +_e qual +ĠH elp +Ġab use +-- ;Ċ +Ġex tr +Ġchem ical +ä ¿ +Ġor ient +Ġbre ath +ĠS pace +(e lement +w ait +DE D +ig ma +Ġent r +Ġs ob +- name +Ġaff ected +ik a +Ġco al +_w ork +Ġhundred s +Ġpolit ics +sub ject +Ġconsum er +ANG E +Ġrepe ated +S end +Ġ# [ +Ġprot ocol +Ġlead s +use um +E very +Im port +(c ount +Ġchalleng es +Ġnov el +Ġdep art +b its +.C urrent +Ġ` ${ +ot ing +( \ +Ġcreat ive +Ġbu ff +Ġintrodu ced +us ic +mod ules +A re +-d oc +l anguage +_c ache +Ġto d +? > {{ +ĠRes ource +ĠSt andard +ĠP rem +up dated +ival ent +Ġas sets +_t emp +Ġinterest s +Ġhard ware +ĠR om +ĠSh are +Ġ' 'Ċ +Ġ* , +ĠT ake +ĠIm ages +_C HECK +(type of +ĠJ un +\< ^ +Ġli qu +Ġwor st +ymb ols +ĉĉĉ ĠĠĠ +Ġdr ivers +ĠD ocument +en o +ĠTechn ology +Ġappro ved +ump s +Ġs now +form ance +_A SSERT +u its +Ù Ĩ +Ġdiffer ences +. Visible +ĉĉĉ čĊ +ĠP s +_f etch +Ġto do +. ',Ċ +Ġs el +ur ers +in valid +Ġt weet +V EL +Ġresearch ers +Ġs printf +ĠR O +Ġp el +.Tr ans +Ġil legal +d ialog +sm arty +l g +_M IN +Ġher o +f inal +Ġp p +.L e +Ġc i +ĉ RT +Ġsuggest ed +p df +ach ing +ĠR o +ĠProp erties +ĠS i +Ġbuy ing +Ġm u +Ġl ands +if iers +ĠF ILE +RO UP +Ġh older +ĠS on +Ġsym pt +.r oute +) ? +Ġarg c +Ġfor t +Ġcas ino +_c ategory +Ġfor um +p refix +apt ure +T ube +em s +im ize +Ġn ue +a us +c ourse +AT OR +() ), +Ad vertis +ING S +Ġack now +ĠKore a +pl ing +Ġwork er +PL IED +h al +ĠRich ard +Element s +ĉĉĉ Ġ +st ar +Ġrelationship s +Ġche ap +AC H +ĠX ML +, & +ĠLou is +Ġr ide +_F AIL +Ġch unk +[ s +_O UT +Ġch osen +_ [ +/ ( +ĠJ eff +_s l +pr iv +ĠCan adian +Ġun able +_F LAG +Ġn os +h igh +Ġl ift +f un +() { +el ly +ycler View +_ as +_L IST +Ġr adi +.get Value +ĠAnge les +ĠS pan +_in stance +it ors +Ġm igration +A K +O h + ® +. selected +ĠG T +Ġadv ance +ĠSt yle +.Data GridView +e ction +Ñ İ +p io +ro g +Ġsh opping +ĠR ect +I lluminate +O U +ĉ array +Ġsubstant ial +Ġpre gn +Ġprom ote +IE W +.L ayout +Ġsign s +/ . +Ġlet ters +Bo ard +ct rl +" \ +ĠJ ones +Ġvert ex +Ġj a +Ġaff ili +Ġwe alth +ĉ default +Ġsignificant ly +Ġe c +Ġx s +act ual +.p er +_st ep +an vas +m ac +Ġtrans l +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +Iter ator +Ġo ch +agnost ic +ĠD uring +ĠDE FAULT +Ġt ill +Ġsign ature +Ġb ird +ĠO l +ĠI r +H S +av atar +ESS AGE +Ġe lev +Ġm t +ĠN av +Ġrel ax +Ġpl ate +IT EM +( date +.n ot +Ġgr ade +Ġ} ),Ċ +? "ĊĊ +i ences +H igh +ĠD IS +dis abled +Q UI +Ġno ise +a ux +ĠU P +os a +Ġv oc +Ġ )) +oc om +_O FF +ĠD b +L ock +.e clipse +, d +ĠD raw +Ġ" ( +Ġvis ited +Ġâ Ī +Ġsuc ceed +Ġim possible +a ire +ĠT urn +Ġd ish +F G +Ġs ensor +AN N +ab a +Ġsur g +] );čĊ +Ġf p +_ an +- J +- G +ĠJ ob +Con vert +ĠKE Y +Ġauth ors +_s erver +\ r +Ġ-* - +f lex +Ġs oc +R et +Ġs alt +Ġâ̦ ĊĊ +ĠC lear +(p age +-d anger +Ġroom s +con v +# { +. op +ĠA rea +_S C +h en +Ġbeg ins +- y +Ġexc ited +Ġign ored +Ġbon us +st udent +ĠM ember +Ġrel atively +ĠL ow +ĠPro du +ate way +pos ure +Ġth ick +ani el +( view +ĠCr ush +Ext ension +I l +e ed +LO C +. im +. Items +Ġconflic t +.pre vent +Ġon Create +u v +is er +Ġw ave +M ar +ĠComm unity +ic he +ĠNo thing +[ m +ĠLe e +ri ends +è re +!! ! +an z +. result +ĠS K +_P ARAM +Ġdem ocr +Back Color +.ex ists +" It +( options +ra zy +as er +\ Database +al endar +_ ass +; }Ċ +vert ex +ine craft +W arning +arg o +Ġact or +ĠInst ead +ĠUs ing +S elf +@ interface +Ġspe aking +ĠPar is +ĠL ICENSE +.n ode +ĠF ood +E IF +ĠB i +. Start +ĠI B +Ġun iversity +ĠHe ader +.pro duct +C opy +et c +r ical +Ġ> >> +book s +Ġal gorithm +Ġ' __ +(j avax +Ġnumer ous +Sh are +H ave +Ġrec ru +Ġpro ve +.sub string +he alth +е л +Ġdec imal +Ġcomm ission +s cription +x C +Ġsum mary +att ed +Ġclo ser +fin ished +() ){Ċ +ĠW ood +_field s +k u +_ items +Fl ag +Ġconf idence +ĠF ederal +du x +Ġcomp at +Ġvert ical +Ð ¹ +è s +; ">Ċ +_m anager +() ))Ċ +ID E +: ", +__ Ċ +ĠW ay +Ñ Ī +T emp +ĠS TR +rit ten +S ync +ĠA V +ĠC EO +ĠG uid +Ġenvironment al +Ġcorrespond ing +ĉ console +Ġjust ice +ĠJ S +Ġl ived +g ar +ĠG raph +ĠSt at +Ġi Phone +. al +ĠH D +Ġocc ur +Ġth reshold +Ġon click +RE G +.Graphics Unit +M eta +Å ¾ +Ġc um +.g nu +à « +Ġobt ained +Ġcompl aint +Ġe ating +Ġt ar +_t ask +Ġopt s +( to +P ass +Ġpl astic +t ility +ĠW in +.prevent Default +p ile +ĠG ar +Ġqu antity +_l ast +Ġg reatest +D ao +_D IS +ĠUs ed +ĠH P +rit ing +S ION +bl ue +d omain +Ġs cores +N ormal +_ admin +ĠA SSERT +Th en +** * +d ist +l on +Ġh ate +sh al +Image View +d atabase +Ġp and +Ġlog ic += false +b g +ĠConfig uration +Ġn ur +O G +Ġmar ried +: + +Ġdro pped +Ġreg istration +оР¼ +ult iple +iz ers +sh ape +.c opy +Ġwe aring +ĠC ath +Ġded icated +Ġ.. .Ċ +Ġadv oc +ĠF amily +Ġstat ements +em atic +ampions hip +Ġmot iv +ĠH ave +Ġbl ow +J ob +c ert +_v ector +inst all +ĠC OPY +em bed +D IR +ĠS pring +Ġex hib +cd n +ĠCom ment +ĠOption al +. player +ĠD ark +( pos +ĠSh ould +Ġcent re +ĠGu ard +ó w +Ġtr ouble +EN ER +( unsigned +_s ervice +Ġn s +ul ing +ĠMex ico +ĠN Y +mys ql +Ġl ic +å ľ +M r +- fl +ĠC ustomer +id i +Ġ? >ĊĊ +ri ble +Ġп ÑĢ +Ġs izes +_STR ING +valid ation +ĠJ on +( Http +add Class +N odes +Ġfrag ment +Ġsp oke +Ġw aste +J oin +Ġill ustr +el i +c ient +Ġa id +Ġpro sec +') {Ċ +Ġpass ing +Ġf aces +Sh ape +_ Z +it i +Ġal le +Ġro bot +ĠĠĠĠĠĠĠ Ċ +ĠS pe +Ġrece iving +ĠD etails +Ġ" ) +m g +_RE F +Ġcompar ison +* , +ĠF ound +_s ession +( U +/ F +Ġx xx +N etwork +d ers +Ġcap ture +Ġcor re +ĠL td +ĠAd v +[ @ +Ġcl ip +M ill +ĠPro file +Ġend if +Ġob lig +des cribe +.e lement +riter ion +L D +er ed +Ġfav our +s core +ĠF ilter +at tributes +Ġcheck s +In flater +ĠPl us +Ġscient ific +Ġpriv acy +He ad +Ġfe at +Ġdeg rees +ĠP ale +; "> +Ġfil ms +ĠA udio +ĠT ag +ĠE nergy +it ar +par ator +Ġf ellow +Ġev t +ĠT ri +ĠD AM +cl oud +ĠP assword +ĠDemocr ats +ĠAc ad +$ lang +Ġre b +() )ĊĊ +н Ñĭ +ĠB ur +read cr +Ġh ex +Con sole +ct l +ous el +ĠWill iam +Ġa z +_P ORT +Ġpract ices +Ġany where +ĠP osition +Ġ- >Ċ +i ams +.user name +place holder +Ġo der +ĠSecret ary +Ġi T +mon d +event s +? âĢĿ +.S ub +Ġatt ached +Ġn ão +Ġest ate +. action +Ġfig ures +Ġ} );čĊ +Ġsubs cri +.t ag +n am +. plot +no on +li ament +Char acter +.t ab +Ġw inter +ĠVar iable +Ġtre es +Ġpr oud +( V +_ load +Ġh ier +ĠE con +Ġf d +Ġvict ims +R est +ian a +Ġf ake +.Print ln +Ġstr len +Ġs ad +Ġb le +Pro t +Ġbutton s +Ġte levision +Ġlog o +ext ension +ĉ j +ste in +acion es +Ġ"" "ĊĊ +Ġsim p +Ġrecord ed +Ġbr ings +Ġprincip al +Ġfe es +(s ource +k dir +Ġutil s +Ġcorrect ly +f il +Ġw el +P air +-b utton +s cale +ver ify +[ c +Ġ-- - +Ġes cape +ik es +Lower Case +ic ian +Ġch apter +ĠT YPE +Ġsh adow +Ġaw esome +W E +el if +Ġl ambda +Ġdist inct +Ġb are +- off +Ġcol our +.append Child +ole c +ag a +.f ill +ĉs uper +Ġad j +( position +.get Item +Sh ort +Ġtot ally +V D +ĠT re +_ ep +v ements +ĠS olution +Ġfund ament +F ollow +Ġfac ility +Ġhappen ing +O F +.text Box +S pan +Ġ « +id en +Ġex ceed +(p arent +Ġc p +ç » +Ġhas n +Ġp ri +Ġcon sequ +n en +ĠIN TO +I gnore +ĠF uture +Ġcar bon +ĠSte el +f mt +ok ie +Ġs pl +(t itle +- info +Ġde als +Ġfix ture +e a +D iv +Ġtest ed +_ return +)ĊĊ ĊĊ +upport ed +ĠC ook +Ġpay ing +ĠI ll +Ġarrest ed +ĠPr ime +_c allback +> ,Ċ +dr iver +On ce +ab b +_by tes +ĠS ets +( Object +Ġc c +Ġsh ell +al o +); // +( log +ct ors +) +Ġ$ (". +.p os +Ġbo ys +Ġwed ding +Ġag ents +=" _ +ĠAr my +Ġh int +v ision +Ġte ch +ĠCon nect +Ġleg end +ĠB et +.B ase +Sub ject +Ġl it +Rem ove +Ġ" : +ĠF inal +pear ance +ĠiT unes +Ġparticip ants +ĠPy thon +Ġbus y +i el +vert ices +Ġtemplate Url +ĠC lose +Im g +ĠCorpor ation +t imestamp +Ġext end +Ġwe bsites +Ġposs ibility +о ÑĤ +Ġk ö +Ġme at +Ġrepresent ation +Ġ ĉĉ +_ST ART +.app ly +ĠVal ley +ĠS uccess +H i +Ġn ob +ĠI Enumerable +_ select +ge o +. ")Ċ +Ġturn ing +Ġfab ric +(" ");Ċ +Ġpers pective +é Ĺ +ĠS n +Th ank +; j +.Param eters +ĉ ĠĠĠĠĠĠĠĠĠĠĠ +Ġfact s +Ġun t +.in stance +################################ ################################ +- end +ĠJO IN +ĠH en +Ġur i +åIJ į +Ġн а +ĠIn fo +Ġconduct ed +Ġà ¥ +OUR CE +Ġw ine +J ohn +.Error f +ĠA ge +ound ed +Ġreal ize +Ġ] ; +Ġsub sequ +, m +( User +ian o +Ġaccom pl +is p +.st d +é ĩ +ĠB ed +.set Attribute +B R +ke ep +ĠA LL +Ġis ol +am ma +P ackage +Ġoccas ion +-s uccess +еР´ +ĠLIMIT ED +st rip +() ĊĊĊ +istrib ution +Color s +Ġ+ :+ +Did Load +al er +Ġt id +ĠL ED +ĠLink ed +ĠC art +() )čĊ +_RE AD +Ġkill ing +ĠP HP +fe ction +Ġinst ances +c v +"/ > +Ġs f +Ġtax es +_ location +ĠBit coin +u able +r ank +ign ore +tr ack +к а +Ġshould n +ĠO P +=> {Ċ +Ġk m +Ġh elper +_ head +ĠWh ether +oc o +_b l +Ġstat istics +Ġbeaut y +Ġto g +t ip +ëĭ ¤ +Ġc sv +(s ql +std lib +we ak +Ġlik es +Ä į +Ġrepe at +Ġap artment +Ġem ph +_ edit +Ġv it +ĉ type +E ven +ut en +Ġcircum stances +b ian +Ġs ugar +W indows +ì ŀ +Ġobs erved +/ data +Ġcal endar +Ġstri ke +ĠR ES +_s c +f ony +ore m +( z +p ower +et ect +ĠS at +.d escription +Ġg ang +ĠS ports +ong s +ĠB undle +.s um +on ce +Ġacc used +Ġexplo re +Ġapprox imately +Ġlos ing +thes is +ĠF und +Ġdi agn +A utowired +prop erties +Ġ_ . +Ġc nt +ced ure +Ġy y +Ġgr ant +so ck +.inner HTML +Ġ] );Ċ +ĠCON FIG +=' $ +] ];Ċ +UN D +Ġg lob +Ġd ire +uff le +_M EM +Ġauth entic +> (" +Ġdec ade +ĠIm port +Ġorigin ally +Ġj Query +Ġindic ate +Ġours elves +S w +.l bl +ener ate +Ġbas ically +ĠH om +Ġ+ #+ +ĠBrit ain +ĠK ar +to Equal +.st op +Ġmod al +is i +Ġsuggest s +Ġd type +Ġt ur +b f +Ġconnection s +ĠB efore +ist ed +m ouse +Ġpul led +.b uild +Ġlegis lation +Ġfor th +p ad +eg o +.N ow +Ġexc iting +}ĊĊ ĊĊ +Ġcom pr +Ġsh ares +Ġr ig +g reen +_ vec +Ġenumer ate +A uto +ic ator +ĠR ay +as se +Ġh oliday +Ġnull able +g un +_d etails +Ġwr apper +se q +ĠYou ng +ju ana +Ġ" __ +lic ense +ser ve +^ ( +id ers +.Rem ove +rop down +' S +p in +(t oken +.D efault +Ġreason able +amp ion +ĠS ociety +Ġbe i +erv es +r ad +ĠF ox +_ images +Ġw heel +') [ +Ġc fg +( By +Con structor +Ġv ary +.sw ift +Ġpro xy +ĉ H +ĠAn other +ĠP en +Ġcheck ing +Ġj est +man ager +Or igin +ug s +o ir +>< !-- +Ġexpress ed +Ġmod er +Ġag encies +Ġi h +-h idden +ious ly +ĠR od +Ġso le +M ed +.A ny +Ġp c +b al +Ex ample +ĠS ale +Ġst rip +ĠCom p +Ġpresident ial +M ost +put ation +( ref +ĠF our +_f ilename +Ġen forcement +Ø ¯ +ĠGe org +we ights +/ l +Ġag gress +Ġd rawing +and y +< I +- j +ak a +h ref +Ġteach ers +_ Q +( it +ĠM B +Ġtemp orary +ire base +str a +æĹ ¶ +è ´ +( label +ou p +Ġtop ics +Ġport ion +id os +ĠJew ish +Ġre covery +Ġstand s +# [ +Ġafter noon +ĠArt icle +_ att +Ġexpl an +ĠP ak +.setOn ClickListener +. children +Ġi k ++ ( +l ag +Ġdis k +Ġcont rovers +"> & +as p +Ġw ie +ĠAustral ian +ĠYou Tube +At tr +cont ains +du ce +ĠM att +at ern +Ġvol unte +Ġnew sp +V P +olt ip +Ġde legate +_m eta +Ġaccur ate +ĠEx ample +% , +ĠD aily +Ġc abin +ĠS W +Ġlim its +k ip +Ġar my +Ġend ing +Ġb oss +ĠD ialog +Al so +="# " +ord an +row se +- min +Ġ" & +_ loc +U X +Ġdevelop ers +Ġaccur acy +Ġmaint enance +Ġhe av +Ġfil ters +.T oolStrip +Ġn arr +ĠE mp +ORD ER +ĠM obile +.S erial +.out put +.c ol +M aterial +um a +Ġconsum ers +sh ift +Ġp ued +Ġmin i +c ollection +Ġk an +.c enter +H istory +Ġben ch +() ); +itor ies +Ġcrow d +_c all +Ġpow ers +- E +Ġdis miss +Ġtalk s +ĠCh annel +for ward +_ control +/s rc +i est +**************** ******** +Ġbet a +(c olor +_O BJECT +ĠA pi +Ġeffect ively +C amera +s d +uss y +D ict +ĠE ffect +ib ilities +Ġreturn ing +ĠF ar +Ġ' ') +Ġmod ules +il ation +Ġ( % +TR GL +Ġst orm +on na +ĠEX P +Ġs pons +Ġdis pl +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ +f all +å Į +ign Key +_ US +et rics +Ġhand les +T L +_ amount +ow a +br and +ĠT ool +Ġus ual +. Z +cre ment +ad ium +st ock +Ġserv ing +ĠB on +Ġline ar +ĠT arget +ĠR adio +H L +Sh ader +om atic +ag ues +in ity +d iff +_ iterator +qu ot +Ġ ,Ċ +c allback +Ġsympt oms +[ _ +ĠB ul +ĠF eb +und o +_ account +Ġtyp edef +и Ñģ +tr as +User Id +ĠP enn +ĠSup reme +} > +user Id +ĠK im +Ġg a +Ġart ists +å ¸ +ĠAb stract +ok emon +Ġh am +o val +Ġch a +at en +å Ĩ +F ixed +Ġvul ner +ĠParam eters +qu antity +.C lear +Servlet Request +Ġy a +Ġsou l +trans action +Ġsol o +Ġp airs +æ Ķ +ĠG re +_ word +ĠC C +Ġg i +z ie +Ġsched uled +rot ation +gy pt +ul ous +:: _ +ĠE ll +< ! +ĉĉ ĠĠ +l p +ah a +C opyright +Ġdr am +Ġdi agram +ĠM em +Ġg arden +Com p +Ġattempt s +uff ix +> () +Ġphil osoph +_re l +å ¼ +Ġs v +.se cond +ant o +.J son +ĠTe le +_ local +_s end +Ġas pects +ì Ĺ +IB LE +Ġr ail +Ġwid ely +ash ed +i ar +in f +up per +d jango +_result s +iss ing +Ġequ ivalent +OUN D +Ġt y +Ġpotential ly +Advertis ement +ĠRec ord +resent ation +_w idget +ound ing +Ġrelig ion +Ġcons c +ĠL im +. am +H tml +Ġ' : +P ATH +_s pec +ort ed +id ades +_sh ape +Ġkeep s +.S ave +ĠL oc +or i +ĠT EST +unic ip +Ġreg ions +Ġbelie ves +/ en +pos ite +{ ' +pre pare +_ const +s ample +ĠWill iams +Ġstr t +_ Get +ĠAnd rew +. active +Ġl ayers +Visual Style +az y +ĠK n +Ġac id +ĠAs ia +Ġex cess +ĉm y +Ġkey board +ens us +Ġcre w +Ġmiss ed +m aster +ĠW ild +Ġnew ly +Ġwin ner +Ġst ub +ic ode +.m ove +D omain +ĠS ar +Ġfore st +LE D +claim er +.ex it +ĠW indow +Ġres istance +ĠC HECK +(" - +ĠR yan +Ġp ipe +Ġco ast +DE F +// ! +_ off +ex it +Ġult imately +imit ive +ĠKe ep +Ġhistor ical +Ġany way +ĠJack son +ock er +ER N +ĠU INT +y ntax +ER Y +is ms +Ġc n +Ġocc urs +Ġ; ; +Text View +A E +/ img +Ġy esterday +- default +Ġt iny +Ġpro c +Ġal ive +ĠRE G +. th +ear ing +.get Logger +< link +_ login +F older +ab c +lyph icon +н о +Ġnot iced +od igo +Ġed ition +im ator +. Enabled +.parse Int +Ġy ards +ĉĉĉĉĉĉĉĉ ĉĉĉĉ +Ġver bose +л Ñı +_B Y +.log in +.* ;Ċ +ĠM id +é es +Ġg lo +Ġbuild ings +Ġz e +ĠI ter +Ġt ube +ĠP ot +\ M +< th +br idge +ĠS cript +ĠM odule +Ġv acc +Ġinstall ation +v y +VisualStyle BackColor +ĠS M +.t otal +b at +Ġfind s +Ġat mos +Sub view +iz ard +Ġrepl acement +lic ated +ap is +Ġlog ged +ĠLe ft +G ui +_ Type +t m +P ad +Ġhouse hold +Ġre le +Ġpropos al +_CL ASS +:: :: +Ġinf rastructure +In ject +/ html +Ġad s +iz za +Ġm g +ctr ine +% Ċ +< html +- image +Ġatt orney +< m +(' , +Ġcan n +Ġprint ln +o ose +Ġy ellow +.ex p +p ayment +Ġtable View +aw ay +Ġopp osition +ĠAg ain +ĠH andle +Ġex clusive +in ar +é r +оР± +ĠC ODE +emp orary +Ġre act +pi pe +c z +. activity +Ġlarg ely +Ġdis s +ax y +es is +ĠR en +Ġc orn +.Use VisualStyleBackColor +d ays +Ġfr uit +In sert +_ enc +E st +_de c +ĠL uc +Ġü ber +param eters +P ERT +ex press +_pro file +Un known +Ġrev olution +.add ress +_re quire +Ġun iform +ĠP ack +l ar +ĠU ITableView +Ġdep ends +Valid ation +conf irm +O wner +Ġt rib +h et +ĠI de +ans as +L anguage +u et +ĠP o +ĠSte ve +Ġcont est +_DE FAULT +Ġapparent ly +RE EN +Ġfrequ ently +Ġtrad ition +ocol ate +S I +ĠArg ument +F ocus +ert e +ĠL ayout +Ġd x +Ġgener ator +ĠW ait +P olicy +l ights +.Ex ecute +P y +Ġbed room +ed a +ra id +ĉs ize +Ġan cient +Ġp ump +Ġd w +Ġ(! ( +Ġspec ify +( status +ĠF BI +.ex ception +Ġrem ark +ly mp +ant ee +Up load +ern et +é ¡ +in ent +ĠR ender +d m +ĠM emory +r ich +ĠT ools +Ġk ne +Ġper m +b ad +Ġd inner +.res et +Ġj Label +Fe ature +.S ervice +Ġ( {Ċ +Ġre ferred +.class List +Ġinit With +ĠText View +Ġne ither +Ġcount y +Ġ" { +ç § +Ġt ack +class Name +ĠUS ER +Ġre new +` ` +get Name +Ġb rown +Err ors +ert o +Ġsust ain +S O +let es +ĠIn valid +Ġen emies +un ge +Ġexist ence +err a +Ċ ĠĠĊ +utor ial +# a +p ay +char ge +ĠI re +ate st +Ġexp los +Ġf ired +N ER +ĠT y +ic ion +U ri +Ġobvious ly +ĠC olum +Ġ' + +ĠDe vice +- related +_ ARG +Ġv or +ĠLess er +_O P +Serial izer +Ġup grade +L ight +Ġc odes +++ ;čĊ +Ġwrit es +fo od +Ġé t +@ section +Ġtrack s +Ġserious ly +ch t +(size of +Ġimmedi ate +Ġscient ists +Ġ{ $ +_ ne +.Anchor Styles +Ġaccom mod +ĠHar ry +Ġs ight +ĠPale st +ersist ent +Ġ Ñĥ +- input +Ġco ordinates + · +W elcome +.con f +Ġgre w +Ġb old +ĠC PU +(m y +Ġperfect ly +Ġmom ents +ĠM ovie +- data +yst al +_W IDTH +ĠS creen +æ Ŀ +Ġdis ap +Ġredu ction +.Get Component +_M ODULE +Ġgener ic +Ġd y +all er +Ġc url +ĠB ody +Ġb anks +, t +av g +Ġev il +Ġmanufact urer +Ġrece iver +Column s +Ġing redients +ĉ out +qu es +.L oad +Ġslow ly +ĠT own +ĠC ell +_n ormal +_p refix +ĠAl ert +(" { +ä r +âĢľ The +ĠM D +Ġcour ses +ath an +é Ļ +oc c +ĠS ER +es ign +Add r += [' +(" ./ +] } +.f ont +ĠInst agram +ĠB order +od a +Ġh all +Ġr um +_b it +Ġs aving +_d own +R andom +_reg ister +( Context +Ġoppos ite +R oom +Y ES +ан и +Ġenjoy ed +_r un +C lear +âĢ ĺ +ĠF ord +on ic +ost en +"] ) +_ auth +// čĊ +Ġsuff icient +LE S +Ġph en +Ġo h +_c sv +Ġrout ine +.Are Equal +ay lor +Ġb asket +_COM M +rypt ed +S im +ĠSh op +Ġstud io +at os +( W +[ string +ä t +og a +Ġsh r +Ġs ick +An other +Ġdo ors +_N E +ĠTH REE +. order +raz il +Ġmap s +_TR UE +trans late +Ġnear by +Ġn ach +LO AT +b atch +Ġl ux +ash es +ang ers +â̦ â̦ +_E VENT +_ UP +Ġact s +in v +_M ETHOD +cc ion +Ġret ain +ut ch +ĠÐ ± +Ġknow ing +Ġrepresent ing +N OT +p ng +Con tract +Ġtr ick +ĠE dition +uplic ate +Ġcontrol led +c fg +j avascript +Ġmil k +Wh ite +Se quence +aw a +Ġdiscuss ed +ĠB ush +ĠY ES +.f actory +t ags +Ġt act +Ġs id +$ $ +ĠE num +Ġfr ames +} ); +Ġreg ul +'] ;čĊ +Reg ion +ff f +Ġc ro +( com +=" + +St udent +Ġdis appoint +RES ULT +Count er +Ġbut ter +ĠH a +ĠD igital +Ġb id +"> {{ +ing ers +ĠC ountry +_t pl +"] )Ċ +/ k +d ating +: # +ĠD ATA +yn chron +_b ody +olly wood +Ġval or +ip ient +o ft +UB L +doc s +Ġsyn chron +Ġform ed +ru ption +Ġlist a +Request Mapping +Ġvill age +Ġkn ock +oc s +" { +_fl ags +Ġtrans actions +Ġhab it +ĠJ e +ed en +Ġa ircraft +ir k +ĠA B +Ġfair ly +. inter +.A ct +Ġinstr ument +remove Class +.com mand +Ñ ī +ĉm em +( min +Ġo t +Ġcol le += s +time out +Ġid s +ĠM atch +ij n +z ero +Ġnetwork s +.g ov +Ġint el +Ġsection s +out ine +(c md +(d ir +ĠLI ABILITY +ĠB log +Ġbr idge +ĠC V +con vert +Ġ" )Ċ +ĠB ern +_P O +e val +( set +to ol +Ġpay ments +Beh aviour +Ġcon crete +Ġel ig +Ġacc eler +Ġh ole +_ o +TE GER +Ġgraph ics +O wn +Form atter +on der +Ġpack ages +/ a +ĠK now +Or Default +Ġdut y +W ait +н а +_rec ord +[ t +M esh +Ġon going +.be ans +Ġt an +Ġinter pret +ast ers +QU AL +Ġleg s +\ Request +- file +_m utex +ĠS aint +// # +Ġpro hib +( info +: = +lin ux +Ġb lo +ot ic +ĉf inal +_ex p +ĠSt op +ap ing +(s aved +_p ush +Ġe ase +_F R +pons ive +str cmp +: ĊĊĊĊ +ä» ¶ +ol i +Ġextrem e +Ġprof essor +Im ages +.IO Exception +Ġaddress es +plement ed +Ġincor por +Ġuse Effect +_O F +ĠD a +n ombre +IR ST +Ġdisc rim +Ġcomp ens +greg ate +anc ell +ach es +ĠC riteria +$ result +D estroy +Ġsecond ary +W atch +ĠS em +ĠMc C +Ġacad emic +U pper +:: ~ +ut ral +ĠD og +ad ed +Valid ator +Ġder ived +Ġset Timeout +ĠK en +Ġtyp ical +ĠB ob +Ġb ounds +ĠSe ason +Ġc razy +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ +-r outer +itt est +ĠM ir +Ġemot ional +, v +c n +/ st +å ½ +on om +Ġdecl ared +> . +ail ing +Ġ/* <<< +Ġnorm ally +(M e +ev in +lik ely +Ġpoint ed +ĠSt ack +Ġw alls +. Vector +me an +] ]Ċ +Ġlist ening +ad v +Ġsw ap +IF T +Ø ª +. argv +ul s +< option +not ations +Ġemail s +ĠU kr +ast a +ĠTh us +ĠSt one +Ġappe al +. âĢĻ +Ġreg ulations +Pre ferences +ĠPh one +ul f +ĠD R +Ġtechn ologies +Ġpar agraph +Ġnecess arily +.e ach +< float +res a +Ġunder st +Ġf inger +press ed +-b y +if fer +w atch +ĠB a +A IM +Ġwe ights +ĠR on +') }} +[ self +-------- --Ċ +per iment +Ġto String +x ic +ĠC amera +! ĊĊĊĊ +aur ant +P refix +Ġinstit utions +: int +Ġex posure +p attern +ĠLin ux +.n umber +red ient +Argument Exception +ĠCh ief +" }, +Ġelect ronic +r ong +er d +sp Net +ra it +/ ', +ĠOh io +Cont rollers +Ġcontin uing +ĠT emplate +ĠE th +s z +/ env +En v +% . +art ers +) (( +ĠT ABLE +Ġà ® +per ature +pro gress +P res +ê ° +im plementation +Ġb ien +Ġstre ets +_M SG +New s +## # +: / +Ġcut ting +x B +ress ed +_EN ABLE +l ab +Ġca using +] ));Ċ +b ra +x FFFF +il ly +plet ion +w ill +_b ar +Ġstruct ures +ĠI mp +Û Į +Ġ< > +Ġ ---------------- +_B UFFER +.d ir +Ġpl ain +Ġpe er +g g +oint s +Ġsomew hat +Ġw et +Ġemploy ment +Ġtick ets +ir ms +Ġt uple +s is +$ sql +r ig +Ġcon version +Ġg es +Ġconfig ure +eg r +ĠC a +Ġ__ (' +ou ston +.t oken +Bl ack +Ġmag azine +A W +. IN +os ing +Ġbro ke +ĠC ru +DE LETE +Ġdestroy ed +(M ath +Ġappro val +-d om +ĠI II +table View +Ġdesign s +Ġcrush ing +Ġcons ent +dir name +om p +Ġc rypt +? ( +or ough +. o +ĉ list +ams ung +."" "Ċ +err ing +G oogle +_p air +_IN IT +rem arks +Ġg ear +F ill +l ife +} ")Ċ +Ġsuit able +Ġsurpr ised +_RE QUEST +Ġman ifest +att en +Ġfr ustr +ov ement +.c lick +Ġi i +Ġexp ansion +ig s +P arse +.Reg ular +R ob +_l ayout +ì ł +Ġtrans lation +ĠBe aut +B est +_C OLOR +< label +Ġliqu id +IT S +Ġpro d +Ġoper ate +UI Kit +Ġn atur +arg ument +_d etail +ĠCent re +Ġ" -- +Ġ}} " +lo cale +.t v +_se q +Ġup coming +Ch art +ĠDiv ision +Ġclin ical +Com pany +S epar +l as +ĠH un +: s +Ġhead ing +оР³ +Ġ" ");Ċ +[ id +b ia +Ġst retch +ic ide +Ġre produ +.pro ject +leg end +end ers +Ġrespons es +Ġon t +rit ical +Ġref uge +ĠL i +Ġ: ĊĊ +ĠTh ree +.cont roller +_IN DEX +_F OR +\Model s +j ax +ĉex it +Ġâ ĸ +Ġc overs +ĉ y +- . +IND OW +Ġfail s +in cludes +Ġf ault +Ġl y +ñ o +.s lice +ILE D +ĠP ur +ĠAs ian +_b atch +.M ax +v l +ĠCOPY RIGHT +Ġg iant +ĠMan ual +ĠC opy +Class Name +He alth +C ursor +IB Outlet +Ġt we +æ ³ +_label s +Ġcol lected +Ġfurn iture +Ġdeal ing +Control s +ĠHot el +ck s +Ġch ose +âĶ Ģ +od d +S R +Ù Ĭ +ì Ħ +Ġacc ord +ĠM ove +ĠM ode +ĠM ock +Ġthread s +++ ++ +ĠO ptions +Ref resh +ĠD id +'] -> +u cc +_ch annel +. abs +Ġ{ },Ċ +ĠW al +er ior +Ġmain ly +ĠDr iver +NotFound Exception +Ġcount s +e am +Ġ& = +Q uestion +ĠA li +Ġany more +d etail +t ail +Ġm ile +ĠF air +Ġs orry +Ġsurround ing +Ġad m +De v +Ġmari juana +ĠS ound +ĠA sh +F D +Te am +. port +Ġ[ ]ĊĊ +ub ble +Ġas c +Ġint ention +A cc +ch i +ust ers +Ġins pired +se g +CL U +Ġman ip +M etadata +Con nect +ĠB eh +Ġfind ings +Ġas sembly +w orld +Ġrem ained +Ġu id +( . +Ġm x +Lo op +ĊĊĊĊ Ċ +Ġfant astic +wh o +ak i +ĠB asic +ĠY et +ĠUs ers +ik ip +Ġhead s +ĠMich igan +_ it +ĠTor onto +Ġrec ording +Ġsub mitted +_var iable +medi ate +.graph ics +Ġst ood +Ġre ar +vel ocity +_M ESSAGE +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +ro les +ĠT our +_ year +end ment +amp s +ĠIre land +m al +Ġyoung er +Ġstrugg le +Ġc able +ĠSD L +(' - +an es +ĠNe ed +.R ow +P ol +ĠP H +_s cript +ag em +ĠB as +_s pace +. loc +: i +ad r +Ġengine ering +it en +) & +Ġu k +ĠL ittle +_C OUNT +x A +Array List +æ į +Ġ" ")Ċ +An chor +Ġh ang +t witter +Ġcompet itive +.s rc +ãģ Ĺ +Ġtrans late +ĠCre ates +ook s +ĠR oll +'' 'Ċ +/ sh +s ome +Enc oding +.res olve +Ġdesign er +ĠSt orage +Ġz a +ĠN ever +Ġsomew here +Ġbox es +.s ource +Ġpy game +Ġgrow n +.t w +() ),Ċ +', [' +Ġoppon ent +(s rc +.l ayer +AP P +ĠAct iv +Ġguest s +ĠVAL UES +};ĊĊ Ċ +.n ative +Ġamount s +. RE +Ġcl one +Ġwer en +Ġ" << +_ ac +Ġbreak ing +Ġreli able +.P OST +ĠSk y +Ġ' & +Ġsaved InstanceState +ast ing +ill ion +com ments +ult y +.m enu +/ config +Ġ ĊĊĊ +T ODO +Ġpurch ased +_c or +ĉ auto +Compat Activity +com plete +_ graph +is odes +Ġsitu ations +ĠH or +Re ceive +âĢľ We +Ġent ities +.assert Equals +оРº +ĠS ans +v ince +rom pt += Ċ +Ġ/ . +.Se lect +yl v +Ġb att +A udio +Ġincreasing ly +.B undle +Ġexpl ains +the ast +. offset +Ġh al +Ġtechn ique +_l imit +Ġdraw n +AY ER +Ġfeature d +yy yy +at in +ph en +ach el +! \ +l ower +ĠG R +Ġp ag +ĠP arse +Ġt ou +ä¸ Ģ +D istance +Index Path +Ġh ell +s im +UT TON +Us age +elen ium +ĠF all +Ġ" .$ +ĠM u +Ġcr uc +Ġs ont +REF IX +Ġinter ior +ĠO lymp +.Auto Scale +par a +Axis Alignment +Ġr iver +D to +Ġwith draw +Re act +- class +b efore +_ alloc +Cont ents +ĠW as +I CT +Ġform ula +Ġindic ates +ĠĠĠĠ ĊĊ +_st ore +it ting +ĠIt alian +_S et +_re port +Ġp id +_V ER +Ġw ins +ĠCl oud +") {Ċ +ch ester +Ġden ied +Ġw ird +ĠSte p +Ġinvest ors +b old +_d isplay +ou ver +or er +Res et +Ġsurg ery +Ġstrateg ies +/m aterial +_ unit +Ġc ouncil +.P er +ĠâĢ ŀ +Ġre form +F ramework +Ġlist ing +_b tn +Ġb is +% d +eg as +Ġsudden ly +_S ER +Ġa o +_d irectory +f as +Ġprem ium +Ġtrack ing +ĠB L +Ġm ature +Ġbath room +Ġ'/ ' +ĠÄ ij +Per formed +Ġsold iers +arn ings +Ġwalk ed +- con +b ottom +Ġsurpr ising +Ġg ene +Us uario +.DE FAULT +ĠM IT +C ODE +ĠE gypt +p icker +ys ql +AT URE +d etails +ĠCon ference +In formation +ĠM ail +-d own +r aries +b ro +Ġsubject s +Ġ' * +è¯ · +or ient +: @ +ver bose +E F +Ġto ler +eng ers +Ġend point +Ġstr ange +Ġcol on +Ġpre ferred +de p +ĠE V +ARR AY +Ġw he +Ġp up +_n odes +Ġtalk ed +Ġinstit ution +db c +Ġex posed +te en +ĠFr ont +T T +_N ONE +\/ \/ +pro gram +Ġencour age +. ` +sh ire +ĠIsl am +e en +N I +' " +.W idth +Ġlik ed +Ġ{ ... +ĠSystem s +Ġvot re +Ġmanufact uring +Con verter +ĠIn f +ì ļ +D TO +Ġin ches +Ġ ठ+à ¹ +ĠChar les +B U +")) ;ĊĊ +ĠL abor +un n +Ġest im +m obile +ĠL earn +_C ALL +â Ħ +Ġind ices +Ġt ub +ikip edia +C ost +row able +ë ¡ +g age +Ġfunction ality +uzz le +em os +.l ib +Ġd ass +еРº +enn a +Ġsh ots +Ġrest ore +/ D +For Key +], [ +al ias +l int +.st ream +æ ł +_FORM AT +Ġsil ver +.re pository +Ġlegis l +.B order +_fe atures +Per mission +Ġhous es +ĠW ars +_COM P +Ġinj uries +Ġconstant ly +fl utter +EN U +ĠCon f +Ġrecogn ized +Ġpract ical +Ġde cent +B J +] ); +ast y +ĠAct ivity +-m ode +Ġsl ide +.IsNullOr Empty +ĠY OU +P ower +ind ices +Ġqual ified +Ġthrow n +h ello +ĠN ick +l ah +as sembly +ĠSm all +old ing +Sh ould +ĠSil ver +(saved InstanceState +Ġtog gle +.N ot +C trl +: nil +ĠCont inue +ĠB oot +æ ī +ĠM ur +d on +ĠF A +S napshot +Ġassoci ation +fo x +, a +az ione +] )čĊ +CT YPE +Ġf ade +ĠD ar +.n avigation +Ġl uck +SC RI +ĠDe ad +Ġterm inal +_LE NGTH +Ġeff iciency +Ġun w +Ġn arrow +iment o +( Color +ĠSe a +_ area +, A +_ opt +ĠHill ary +.t ask +ĠJ ac +ast ed +ĠAd am +ĠIl legal +Ġsearch ing +Instance Of +J ava +ĠForm at +Ġreal ized +ĠChild ren +Ġk il +(f rame +âĢĿ .ĊĊ +Ġscen ario +"] );Ċ +Ġincred ible +li x +IO Exception +ĠQ uest +il ty +Ġun lock +â Ĥ¬ +Ġre ferences +ĠV ert +B inding +eg ative +Ġwr ap +.d atabase +( content +B uf +ĠTr ad +ĠA ud +tr ace +.m ock +Ġther apy +ĉ L +.To Int +ĠKing dom +B us +ha ust +"" "ĊĊ +( end +.draw able +[ ];Ċ +ĠH ospital +Ġph arm +---- - +ĠA G +é d +> ");Ċ +Ġw allet +at able +) $ +Ġmonth ly +Ġdi agnostic +S ymbol +Ġiter ator +un finished +Ġimm igration +s r +RO W +(g ame +Ġclo thes +ĠU nt +Ġactiv ation +_C on +.h ash +Ġinitial ly +.H ash +Ġcut s +f ound +ĠSt ory +ÑĨ и +ac ao +_T YP +pro to +est r +-p age +ah r +Ġincor rect +ĠJose ph +TextBox Column +_st yle +ĠD aniel +s heet +Ġl iv +l ined +Ġr a +R untime +_ empty +sl ug +_ struct +ë Ĭ +m u +Ġper mitted +Ġreg ional +Ġsob re +ĠS uch +Ġ[ _ +Ġro of +.Al ignment +t imes +.m sg +Ġche st +ĠT ab +Ġest a +ä n +Ġsubs cription +( command +s pecial +Ġme al +") :Ċ +_ ctx +Ġclos ely +et ry +- be +ad el +ĠR am +ig est +ĠSpan ish +Ġcommit ment +Ġw ake +* >( +P HP +_ { +ck er +< List +_n ull +ĠRes erved +Ġin her +.Column s +.A spNet +_IN VALID +ĠParam eter +Ġex pr +} { +Cell Style +Ġval uable +Ġfun ny +In v +Ġst able +* t +Ġp ill +pl iers +ĠC SS +ĠCon dition +ĠS peed +ublish er +Ġoff ensive +ce st +ic as +Ġsp ark +ĠPro te +set up +IF Y +ĠT ax +Wh o +F amily +- for +. uk +Ġf asc +sv g +") ). +Ġbirth day +âĸ Ī +ve h +el led +Ġimport s +ĠIsl amic +T A +ĠSt an +we ather +Ġsus pect +e ature +enn es +W M +.m inecraft +av id +è ½ +.se curity +in os +G ood +Ġm arch +Ġposs ess +us uario +Con s +am ber +ched uler +Ġhor se +ç ½ +(b ody +ĠTrans form +_de code +.s vg +Ġf oo +Ġd ella +ext ends +am er +Ġprocess ed +ĠH arr +ĠA I +Ġk o +CH AR +( % +Ġt ap +({ ' +c roll +D OM +Ġte a +Ġre in +Ġworld wide +_f n +sh a +Ġb ir +ç ões +="# "> +Ġrepresent ed +ill er +(ex pected +Ġd ance +Ġvisit ors +.con cat +-b it +UR RE +ĠR og +v p +ip h +ĠL LC +it led +iam i +C oll +_re al +_sh ow +_f older +Ġd ar +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +Ġl atter +arch y +Ġb ow +Ġout come +ĠPost ed +Ġris ks +ĠThere fore +Ġowners hip +Ġpar allel +Ġp ending +ge ometry +Ġrecogn ize +ST EM +ĠC P +Ġimm igr +IT LE +ĠĠĠĠ ĉĉ +conn ected +Ġsm ile +(d ocument +\ Component +vert ical +Ġconsum ption +Ġsh oes +. impl +un ks +. ";Ċ +Ġfood s +_ );Ċ +.assert True +Ġp ipeline +Ġcollection s +Ġearn ed +ĠC ert +Ġpartners hip +( action +Ġc d +ĠV ery +Option al +Ġscre ens +Ġtit les +ener ator +Ġab andon +k ind +IL TER +Ġclos ing +lic a +_ inter +Ġcamp us +set ting +S prite +ãģ ¯ +_re ply +To List +: \/\/ +ed e +Ġfol ks +Ġbo at +( argv +Ġperman ent +Ġcarry ing +Ġconserv ative +import ant +. img +ĠIm m +Ġdim ensions +al and +s ingle +Ex it +-------- -- +ari ant +tern al +Se conds +ĠIt aly +ot lin +.Res ume +=' " +) == +cept or +Ġs ca +/m ain +Sec urity +_d at +Ġlet s +Ġa qu +Ġwhen ever +b erry +Ġact ing +ant i +p d +& gt +æ Ń +Z one +T oday +! . +To Props +ab is +it able +Ġg al +] { +iz ona +Ġin contri +N ET +/// Ċ +[ in +_s ave +Ġex em +ĠK enn +Ġev olution +var s +_st ats +- only +ĠColor ado +Ġwatch ed +b our +Ġsever e +Ġprofession als +port ion +Ġguar ante +Ð ³ +Ġpush ed +ĠG i +ï ½ +Ġt um +ĠA z +ĠEdge Insets +")) ;čĊ +is se +. ac +Set ting +Ġapprec iate +ĠValue Error +Ġsur ve +ĠR ole +. Inter +plot lib +j et +d am +Ġplatform s +te le +UT O +ĠInt ernal ++ : +} ;čĊ +Gener al +\ Entity +Ġlawy er +qu iv +ĠPost s +is o +Ġacc um +ob e +Ġmark s +Ġ] ;ĊĊ +ĉ text +.s uccess +cur r +as a +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ +Ġth in +_ over +are st +ĠO s +( address +Ġvel ocity +Ġ[] ;ĊĊ +=" ../../ +ĠPr iv +b ow +Ġguar antee +% ĊĊ +Ġeval uate +.LE NGTH +Ġin ventory +q a +_de bug +.On ClickListener +Ġl ies +Ġassess ment +dat etime +.background Color +Ġ*/ čĊčĊ +ra f +un wrap +ĠF oot +Ġnot ify +Ġlow est +DO CTYPE +Ġl anguages +ex tra +- back +Ġein en +tem plates +_p ass +ĠM ust +Ġest á +_c ore +ĠSc ot +A I +Ġb ias +ations hip +Con stant +Ġprogram ming +In s +uspend Layout +ĠPRO VID +ant es +Ġsh irt +in ated +. OK +[ a +Ġthink s +? ĊĊĊĊ +Ġregard less +ĠMag ic +ul ating +ĉ class +add Group +RE ATE +ĠS U +Ġsim pl +c opyright +Ġb unch +Ġun iverse +ĠE rr +Ġpresent ation +c ategories +Ġatt ach +.s ign +_A C +Ġdisc ipl +Ġregular ly +Ġprim arily +ink s +[ [ +.r and +.sh ould +ownt own +=" ' +Ġs ans +Ġsupport ers +se quence +G O +. .ĊĊ +ĠS pr +Ġcare fully +U IColor +dest roy +Ġtod os +ĠOR DER +ott ed +Ġd ont +aud i +_ player +g re +ĠO il +< body +_st ack +.P adding +ĠProduct s +Ġpriv ile +Ġinj ured +ĠF urther +Ġal ias +.Resume Layout +_LE N +Ġs es +'] ;ĊĊ +cre ens +Ġdirect ed +.S uspendLayout +od ge +.A t +mark s +ĠUn ivers +ert s +ĠE sc +Ġnav bar +Ġutil ity +agnost ics +Ġin ject +ĠD NA +Ġ" ," +am ar +Ġe u +Ġrestaur ants +_p ut +ut ers +Tool Strip +t w +ist ro +Ġz oom +Ġleg it +pec ific +ĠC ome +Ġlocal Storage +Ġabs or +.P anel +ĠDesign er +Ġo w +IC AL +_ uri +(f ield +Ġsup erv +Ex ists +Ġrespect ively +ĠSt and +Con f +uss ian +Ġar c +Ġ nd +uck s +Ġre str +Ġseason s +ĠCh apter +ĠSw itch +p ic +Ġh i +load ed +Ġfl uid +-b tn +Ġrun time +. it +B N +Op acity +as ant +ry ption +-n ative +Ġta ught +å ¯ +ag ment +Ġm ul +Reg istry +_ grid +ĠBro ok +: Set +Ġm ongoose +AM ES +inner HTML +Ġs oci +ĠInt el +get Id +C md +Ġaccess ible +r ames +le ton +Ġ__ ( +ĉ delete +ĠS quare +" ĊĊĊ +Ġbu cket +avor ite +ĠB reak +++ ] +Ġbr ush +Ġt ensor +/ http +T ile +Ġfunction al +Ġ" * +wh el +Ġt ent +ĠChar acter +Ġse es +. ST +B ig +Ġext ern +Url s +)) )), +ĠJ r +.B uilder +. ; +n l +_ Init +ĠH ER +ż e +mys qli +_ icon +v an +Ġfeel ings +Ġle an +Ġhop ing +T V +="čĊ +b est +all as +ent ed +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĊ +_con nection +Ġrep o +en abled +аРº +Ġsh a +Ġmembers hip +Status Code +in ating +_s m +_c ustom +_ weight +Ġc ss +St at +_ env +link s +TR L +ĠH it +, r +up id +Ġop ens +Ġg ent +_v is +Ġj oy +< w +_c ost +ĠPy Object +ren ce +ĠGeorg ia +ĠBro ad +m ma +â Ĥ +p f +Ġ" \" +Ġ( & +om o +Ġliter ally +Ī ĺ +met ric +Ġb ars +z ed +(w indow +ĠIsrael i +Ġform al +ident ifier +.d ao +ĠDe ath +% ;Ċ +Ġdecl are +ar ms +RE AM +PERT Y +Ġconsequ ences +to ols +Pe ople +ĠWh ich +> ();čĊ +.de code +_A CT +Button s +.f loat +.F irst +ë ¥ +ĠPol it +ĠX CT +T ags +ĠCG Float += str +Ġle af +- check +ĠI ss +.s ystem +log out +ach t +Ang le +s in +ch art +INT ER +ĠN UM +B asic +.P roperties +ä¸ Ń +_ change +ĠB razil +Ab stract +Ġ: +: +_ use +а л +ĠL y +IB UT +Ġout er +Ġ-- >čĊ +Ġrel ief +l ap +qu er +_p arent +he ap +LO SE +Ġcomb ine +ĠR ose +ow ers +Ġproced ures +ĠS ort +an im +var iant +eh icle +Ġsign ing +Pr imary +c urrency +Ġsex e +o en +th eta +em an +Ġimpress ive +(' _ +ĉ U +ĠText Style +_c nt +Ġs lice +(' : +Ġunderst ood +H is +Ġinform ed +Ġn ick +(T AG +h d +Ġelection s +est ure +ĠS anta +ĠCo ast +.p df +inc iple +.cl one +b orn +ut a +Ġl icensed +C r +Ġb read +ĠH ouston +Ġn od +Ġhop es +ĠCG Rect +Ġgu ilty +.g if +Ġro se +.Com mon +T ip +AN K +ĠF C +D uring +ĠSym fony +Ġdef ensive +k m +) > +arch ive +ĠU RI +ycl ing +- o +ĠWe bsite +AM P +ish ment +Ġdo ctors +D irect +AR I +ĠRed irect +ier en +_d ist +y o +ĠPro gress +Ġz um +Ġmem or +ĠE D +Ġj ur +æį ® +_T ABLE +Ġu uid +Ex pr +. head +(' % +point er +Ġest imate +ĠG reg +Ġlo ader +Ġi OS +Ġm ens +[ y +Ġref used +Ġprec ision +is ch +ĠA CTION +Cl oud +s With +( ret +_ADD R +_con f +(d f +Ġlock ed +Ġr ising +ãĥ» ãĥ» +ĠM s +Ġscen es +_EX T +_ raw +_ the +pe ople +Ġre con +ĠF un +Ġb less +ĠUp dated +ü n +ĠĠĠĠĠĠĠĠĠĠĠĠ čĊ +pe ction +Re lease +.log ger +ĠS Y +Ġcoun sel +ur d +_ true +Ġevery body +iv ot +Ġh ence +ĠN AS +Ġoppos ed +unk nown +ĠDES C +ĠCh air +fa iled +ĠIN CLUDING +Ġwrit ers +{ }Ċ +ÃŃ t +_c opy +} : +ĠB at +Ġconvert ed +ed ing +pl acement +ĠH ost +S ound +и м +Ġs ought +m id +Ġsal ary +og g +âĦ ¢ +b ul +Ġw ir +valid ator +_ST AT +.st ore +ĠB attle +ı n +Ġ-- >ĊĊ +Tr ump +d ot +ĠCON T +.f etch +Ġcontin u +w as +Ġfra ud +_t mp +mit ter +.p ictureBox +G A +Ġt ournament +. Input +[ r +ex ion +cent age +ĠKore an +und ef +ĠAv ailable +resh ape +Ġk it +ĠStr uct +ĠS UB +An swer +_l ib +.t witter +Ġo re +ĠDr agon +.Ex t +, k +Ġexplan ation +ref s +ĠDr ive +ĠTr aining +.H as +int age +b ig +olog ist +enn is +Ù ĩ +Ġch icken +ĠĠĠĠĠĠĠĠĠĠ Ċ +ç Ľ +ãģ § +Ġpe ak +Ġdrink ing +Ġen code +ĠNE W +m alloc +ĉf printf +Ġ= ================================================================ +in cluding +Ġprincip les +ĠM ah +st orage +- key +Ġkey word +% ; +Ġtr ained +.con trib +Ġk v +__ ':Ċ +ĠB oy +param eter +Ġsu ite +Ġthous and +Ġco ordinate +-g enerated +íķ ĺ +gener ated +Ġad mitted +Ġp ussy +# w +Ġsw im +un ion +N a +ĠRoy al +.ch annel +Up dated +_RO OT +Ġv ital +ra ction +ĠCrush er +Ġpre ced +Ġhor izontal +Blue print +Ġattr s +Ġsm oke +Ð Ĵ +. Equals +F B +ĠRes ources +roll ing +Ġpass es +ĠN um +rot ate +et ype +\ ", +Ġsens itive +Ġt all +? âĢĿĊĊ +Pro xy +i y +_ section +âĢĶâĢĶ âĢĶâĢĶ +br id +Ġcirc uit +at an +EN C +Ġdr iven +Ġvot ed +Ġeduc ational +Ġinter action +abet es +Ġt one +ĠInitialize Component +Ġmer ely +Ġì ŀ +co okie +_ div +ĠUIL abel +vel y +} );čĊ +_ ENT +#+ #+ +art icles +ĠSou thern +Ġstrong er +ĠG iven +ĠE ric +ĠI R +ab stract +U nder +n able +Ġincre ment +ov en +Ġco in +_t imer +Ġsuffer ed +ĠF REE +'] ." +ĠQue en +st ats +Ġmeet ings +Ġenter ing +Ġalong side +(s ession +it als +Ġfound ation +ĠC redit +. div +_ ALL +pc ion +_st at +ick ing +Default s +_s rc +Ġoutput s +/ B +Ġent hus +-b l +.Fore Color +ĉ temp +F ace +Ġinter act +Ġwe ird +M ount +re ll +ud ents +Ġrequire ment +ĠS us +I ER +Ġe lected +re ference +ĠM E +Ġserv ers +.w ait +Ġsnap shot +il ton +Ġtri es +Ġt ipo +.T ime +> w +Ġmount ain +Ġp ounds +Ġ[ ... +ex ists +Ġng On +_M AP +Ġf lying +xi ety +ĉ value +_D B +un o +Ġse ats +T URN +. author +! ) +or ce +Ġindic ated +.s in +Ġass ignment +im iento +ĠF rame +_g en +in ery +_ ) +m essages +.set tings +ĠMe an +ĠM useum +ir q +att ach +ĠPalest in +_ QU +_t ags +Ġcas ual +em en +ASS WORD +$ s +ĠC irc +оР¹ +et ric +/ P +Ġep och +< head +_C MD +Ġg it +Ġpen alty +or ph +_ users +ours es +.Date Time +atern ion +_pro ject +Ġsuper ior +ĠD am +ĠSe attle +X Y +> The +ĠA k +Ġgr ass +/* čĊ +(d is +Ġgun s +Ġt b +ĠK evin +. args +ĠA h +op ed +( J +column s +arg uments +ĠWith Events +_f ull +ĠDef ense +S imple +Ġdeath s +Ġext ensive +ĠSt ill +ĠEx pression +ĠAg ency +Ġperform ing +F X +Ġus uario +U AL +S ide +od os +apt op +Ġcred entials +_c ap +at ient +ĠDis ney +Ġa i +Ġch ip +Ġvol t +.make Text +%%%%%%%% %%%%%%%% +Ġbelie f +_LO C +ĠC ivil +N avigation +Ġreve al +Ġviol ent +ĠF il +Ġc atalog +em ed +sc an +. control +Ġconstit ution +C ountry +Separ ator +_A PP +top ic +uet ooth +M IN +Ġdes criptor +y t +ET HER +Ġdistrib ute +' }Ċ +.tr im +.L ine +Ġl bl +assert Equals +ĠD et +omb ok +( width +Ġt ort +ĠEXP RESS +ac o +Us ing +ĠBr and +w all +EM ENT +ĠComm unic +< uint +ĠG UI +EG IN +ĠR ange +/ i +ĠT aylor +c ost +Ġrespond ed +ĠTh eme +n ce +IS H +Ġfeat uring +Return s +ĠK r +Ġ .Ċ +Ġn am +_c b +Test ing +Ġ{ }, +y al +.f ield +Ġ/ = +_SH ORT +m ates +Test Case +ain less +Ġeval uation +_ ITEM +ĠPac ific +ĉ k +Ġc ant +ĠR os +) s +Ġf et +STR ING +ĠDis pose +g al +ĠJ oin +ĠP orn +ĠCath olic +AR GET +cp u +ç łģ +.sc roll +IS ING +ifest yle +anc ement +Ġm erc +ĠB rowser +eter min +Ġover flow +Av ailable +Ġbott le +: UI +ific ial +Ġco ord +clar ation +Ġcon j +G LOBAL +ok u +Ġk wargs +cond itions +ul um +Ġg enu +ĠH ero +å İ +Ġun expected +ĠDAM AGES +Ġk a +ĠC ould +UP PORT +ĠPh otos +Ġconf ident +Ġdet ected +de g +rg b +Ġstrong ly +Ġ} ;čĊ +Ġ) : +Ġle ct +urs ive +RO L +ĠWe ight +Ġent ertainment +Ġ) );Ċ +Ġg onna +Ġb b +.d o +G S +Ġmist ake +D L +ĠPROVID ED +ear ning +L imit +iss ions +[ v +ä¸ į +ir ty +D el +Ġunder lying +pre ne +Ġj aw +ĠD I +pe er +Ġobject ive +Ġde posit +Ġk on +Ġes p +.set Visibility +/ login +< typename +Ġfr anch +/ e +Par allel +Ġsc ored +ĠH on +ĠV ill +ig a +Ġant icip +_ assert +ĠO pt +Ġdescri bes +w an +m ount +Ġmonitor ing +Ġt out +ëĬ Ķ +}, { +................ ................ += int +Ġc ust +---- -- +Ġatmos phere +P AR +ort e +IS IBLE +ĠI ron +ĠNot ification +.log ging +ĠBO OL +-p oint +Ġaf raid +ent a +Ġtom orrow +@ implementation +Ġeng age +ĠAn th +ĠF loor +ĠU l +To ols +Ġb ab +Ġcare ful +ãģ Ħ +Ġcruc ial +Ġcalcul ated +ĠS A +Ġw y +D X +_T AG +ind ed +Ġj et +ĠEngine ering +.M AX +en z +v d +Ġpublic ation +Ġ## # +Ġfac ed +ra ham +ĠC apt +As set +ĠCon stants +Ġlo ans +_ IP +ĠF ish +Red uc +_m at +Date Format +_m e +[] [] +Ġintegr ity +ĠC ourse +lob als +Ġfac ilit +Ġem br +ĠN g +.S ystem +Ġmanufact urers +Ġpro ven +.on Create +Ġal arm +Ġ § +Ġcomm only +ic os +æĸ ° +ĠSt ation +} ). +ĠF ilm +w i +ç ī +Ġeng aged +St ats +Ġgovern ments +Ġafford able +_p roperty +Ġag es +(' -- +Ġf ör +ĠProf essor +Ġhy dro +P ush +Ġorgan ized +Ac cept +é m +_c ell +Ġn b +p b +Art icle +Ġrem oval +Ġauth entication +ĠF R +l ide +Ġple asure +ap ol +Ġpart ition +ĠS ide +Ġcr imes +Ġdem o +hold ers +ĠPak istan +In struction +Ġexpect ations +.sc ene +Ġ' ) +h es +ino is +_P ro +Ġm olec +and al +_sh ort +Ġdefault s +Ġn ations +in en +Ġr t +O CK +P acket +S B +ĠSH ALL +_cont ents +ise conds +vert y +á t +G uid +n om +Ġcon clusion +. Update +Ġlo vely +Ġem it +b ec +ĉĉĉĉ Ġ +Ġintel lect +Ġb rew +ec ycle +F ire +Ġad mit +Ġar bit +Ġarr ang +ĠM IN +M ail +ĠN ative +C ur +Ġcon vent +.R untime +" }Ċ +.R un +Ġprint ed +Ġconven ient +. ar +m ock +ĠAdmin istration +ãģ ¾ +Ġelect ron +fl ate +Ġl ombok +Ġjava fx +n h +Ġsup plies +Ġvisit ing +ah l +Ġpow der +Ġult imate +Ġorient ation +ut as +_s cale +Con firm +ph ones +ĠOper ation +/ T +_IN TER +Ġair port +Ġmet rics +Ġphen omen +a udio +Ġm ai +( K +h u +all ing +rodu ction +ĠTrans port +ĠNOT E +æĸ ĩ +Ġfew er +_T IM +ì § +к и +A ge +F IN +Ġì Ŀ +ĠAt tribute +group s +er k +at to +. define +.AspNet Core +ategor ia +ĠS ir +( form +< User +. round +_d ay +.A ll +Servlet Response +.N o +l arge +IG H +qu ent +Ġvir us +Ġret ro +Ġim per +Bit map +Ġv ice +Ġoff ense +ist e +ĠA UTH +Ġê ° +ToolStrip MenuItem +G u +Ġr ape +ĠDav is +Ġover whel +: flutter +- table +ĠCon structor +Pr ivate +e ven +ch r +Ġap plies +_at tribute +Ġcon tribute +E VER +L ines +ĠAf ghan +Vis itor +ĠS L +se ason +C U +Ġintrodu ction +Ġmat plotlib +Å ij +Ġnewsp aper +âĢĶ and +< tag +Ġin i +Ġd iverse +Ignore Case +ĠU r +Ag ent +Ġb ull +.em it +( Exception +ar Layout +Ġincred ibly +ĠTr ust +={ ( +- nav +Ġe quals +Ġl ady +ĠP od +d isc +al am +ĠI V +â Ļ +iv idual +ph i +add ed +Ġdifficult y +Ġcomp act +ĠAction Result +c ers +_class es +Non Null +Ġqu it +Ġp ou +S witch +ir s +- test +ĠK ind +ĠCal endar +Ġstream ing +} ', +S W +Ġst ead +oc a +Ġprov ince +Ġcol span +Ġperson nel +ĠE mployee +Ġprodu cer +Ġevery where +od b +Ð Ł +bs olute +act ivate +Ġgr inding +ĠBuild ing +ĠSand ers +(s c +ĠOff set +//////// //// +} ;čĊčĊ +({ " +Ġscan f +ĠY Y +ĉdef er +Ġj ew +Ġrestrict ions +.m p +[ l +ä¸ ĭ +label s +red icate +aw esome +Ġw aves +Ġcon front +Ġmeas ured +Ġdat as +_ex it +ot ton +Ġshould er +ask a ++ # +ĠĠĠĠĠĠĠĠĊ ĠĠĠĠĠĠĠĠĊ +Ġtro ops +ĠU nd +_c ard +w ich +Ġn ous +Ġ"/ " +s b +Ġcommunic ations +Ex port +Ġdec ode +th s +inter pret +By Name +ĠSp irit +ed ges +O LE +ĠE M +t it +ĠTh rough +Ġb io +ĠP ackage +or ne +Ġ} . +` ;Ċ +Ġok ay +ĠZe aland +ident ity +(n ext +ĠB ang +Lib rary +Ġheav ily +il on +Ġdi pl +Ġrot ate +put s +) ',Ċ +ĠData Table +Ġmay or +.to LowerCase +Ġsome how +ĠNor thern +al c +Ġcap abilities +Ġv ibr ++ Ċ +ĠS u +ĠRes et +_m ean +Ġc ig +.cl oud +ĠB and +ĠF actory +ĠAr izona +_ io +op her +Ġconsc ious +Ġà ¶ +\ Controllers +_s peed +ĠF ac +_C om +ĠB ible +w en +ED IT +Ġun n +ĠSt aff +ĠIn n +Ġmechan ism +ĠM embers +Ġmigration Builder +'] .' +.get Int +< void +ĉf ree +oid s +\ Support +Ġautom atic +Ġch ances +Ð ¶ +Ġcomp licated +[ row +ah oo +Ġ}ĊĊ ĊĊ +Model s +W in +Ġt ape +ir us +iz on +on omy +(" _ +: . +.st ereotype +( env +_re ct +(w ith +Ġassert That +Ġcon straints +put y +E mployee +T D +Ġgu itar +ĠJew s +.pro cess +Ġf iction +ĠSh ared +âĶĢ âĶĢ +Ġprop ag +.N et +Ġachie ved +ĉ Q +Ġn urs +Sh ared +_FAIL URE +Ġbeh aviour +Ġcol s +ism o +Ġfem in +Ġchalleng ing +Ġpost ing +enc il +Ġcapt ured +ĠD ou +( word +ĠTur key +pan ies +Ġre putation +ORM AL +Ġelig ible +prot ocol +id as +(f rom +Ġfin ance +- per +Ġg otten +H A +d uration +ĠP arent +Ġin vent +Ġre start +ол ÑĮ +r ition +(r s +< bool +i ert +Ġmod ification +ĠT X +readcr umb +b ank +$ / +ĠMill er +] ),Ċ +.Check ed +Ġsac r +se curity +Ġp ose +ĠBr ad +Ġfit ness +Ġannounc ement +ation Token +Ġserv es +ne ed +Ġge ometry +AR S +æ Ģ +andid ate +Ġs prite +_s plit +We ek +ad ies +> (Ċ +?> " +Ġ/// Ċ +Ġein er +Ġweek ly +ĉlog ger +_p op +_m an +Ġmigr ations +Ġask s +Ġb s +Ġfall s +.W here +- height +_fe ature +.M in +Ġhy per +Ġvol atile +Ġtw enty +Typ ography +Un able +D et +, f +-m od +Ġsett lement +Ġcontract s +n ome +B ad +ĠB rian +(user name +!! !! +Ġh ack +.F ield +H R +ĠJ ordan +iz a +Ġ ł +ĠSh er +. header +( other +ĠD ub +( op +ĠR ound +Ġv ie +Ġap pl +ĉ J +ĠIn sert +ĠL P +reg on +ĠM PI +Ġan chor +ac a +ø r +Ġa de +anch or +que e +ĠTree Node +Ġtarget ed +Ġla id +AB EL +v et +ĠOr igin +A nt +. ');Ċ +ex pect +ed Reader +ĠM ajor +Ġin ch +Com par +Ġpre view +Ġill ness +ĠCONTR ACT +ĠInd epend +u uid +Ġn ome +Ġt c +ĠA venue +is an +Ġph rase +_m ove +") [ +Ġprov ision +Ġconcent r +_ IR +ĠU t +() + +Ġn as +! , +ĠRob in +i ations +at itude +Ġp x +ĠWith out +/b ash +ek t +re ement +Ob server +ĠReg ion +UBL IC +Ġ{ // +K N +å · +Game Object +å ¾ +enc oding +Ġ** * +project s +Ġt k +Ġche ese +EM PL +ar o +Ġا ÙĦ +Ġcons ists +ref resh +ure au +ĠSc anner +Ġso il +Ġfl avor +Data Source +Ex ecute +ени е +Ġsh it +åĪ Ĩ +< any +Ġretrie ve +Ġbelong s +.st rip +abs olute +Ġexp anded +bo y +): - +Ġresc ue +.J Label +Ġre ly +Ġal ignment +-f amily +Ġre nd +OLUM N +Ġb orrow +Ġqu otes +ĠL ew +Ġsh ower +ĠDE LETE +_lo op +! "ĊĊ +ĉ re +Ġattempt ed +aver age +ĠP aint +quis ition +ol en +Ġliter ature +ĠRe ference +_TEXT URE +ĠS eg +ĠInd ust +ct ype +D UCT +_H OST +ĠTr ade +Ġpl ugins +Ġbre ast +ul se +Ġcreat ure +ãģ Ļ +ĠW i +Ġsup plied +c oll +! (" +Ġfuck ing +ĠCh rome +ĠU ri +ĠN ation +Ġvert ices +T HE +ĠOr iginal +on de +Ġsh arp +Ġcook ing +Ġ{ /* +ĠPs ych +ĠH ollywood +=$ _ +.D ock +Ġg er +Ġb one +_con n +_se c +ys ics +Ġ= " +S al +s f +Ġdeep ly +ang les +T erm +b ell +ĠQu ick +ener ation +adio Button +åħ ¥ +}čĊčĊ čĊ +Ġcapt ion +l c +ĠE L +, [ +ĠĠĠĠĠĠ čĊ +ret t +(m ethod +ĠFl ash +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +W ISE +.s cale +Ġrough ly +_ child +m emory +ay ing +Ġinitial ized +in ator +а ÑĢ +Ġsc alar +ĠH o +ai res +(c olumn +.de stroy +P ACK +Ġh em +ang el +_S UB +. qu +Ġ × +DE FAULT +pos itories +ĠL ength +ĠF ast +Ġsign als +Ġ// $ +ri ers +Ġd ummy +AN Y +Ġperson ality +Ġa gricult +Pl atform +ER O +ĠT ra +Ġen orm +ĉ W +Action Result +Ġa ver +[ str +Ġ' -- +.S printf +Ġdeb ut +Ġ Ñĩ +h ex +_ utils +Ġp b +U ITableView +Ġz ur +. encode +Ġv ag +.error s +о н +Ġm r +ĠA ward +Ġc pu +Ġpress ed +' est +ĠF estival +' T +Ġa k +res olve +.m e +Ġn ic +Ġgen re +Ġat trib +ĠMo on +Ġarr ive +ĠD ating +Ġt m +.Config uration +. red +Ġgl m +Ġst ations +sw itch +Ġt ied +äº º +Ġ/ >Ċ +Ġsubsequ ent +pos able +-fl uid +Ġth orough +Ġpublic ly +apt ers +ĠWil son +_P RE +y ard +ä ¼ +ĉ in +Ġre vers +Ġbul let +cri bed +nes ota +Ġ($ _ +ann on +c ursor +Ġclo thing +ĠM ulti +: ', +Ġv ess +ordin ator +Ġein em +C annot +Ġar med +ĉ V +ä¸ Ĭ +.F lat +ĠS ep +ĠSub ject +_f ont +Ġcharacter istics +D one +el n +######## #### +PO S +Ġd ensity +ĠPl atform +- items +Ġo vers +Ġpush ing +ç ¤ +.Con nection +_ term +Ġinitial ization +________________ ________________ +ç ¬ +.d ocument +les h +ĉd ocument +ĠP in +ç a +Ġdefinition s +.P ath +_W RITE +Ġ ĉĊ +? >ĊĊ +Ġter rible +be an +ick ets +ĠS V +B uy +(t ask +Ġreg ime +g oogle +Ġcr ack +.vis it +N UM +ener gy +Ġstr uck +_s ample +.p ayload +Ġre vis +ĠSc ene +Ġp g +Ġbreak fast +URRE NT +.char At +_ex ception +ĠAnt on +Ġguid elines +Ġex haust +ĠFin ancial +Ġind ent +Ġdes ktop +H idden +F ailure +Ġpr inciple +Ġ iv +Ġse ks +n etwork +Ġnumber Of +ĠAl bert +ĉ long +, . +Ġz eros +f ade +ĠT yp +ĠT erm +ĠAr ts +.App lication +Ġbeh alf +æĪ · +Ġm ere +(` ${ +Ġaware ness +elp ers +f lix +Ġwe igh +Ġestim ates +. child +/ O +ĠBit map +.b ottom +Ġ************************************************************************ ** +Ex pect +ent o +ĠFor um +ver al +Ġj ail +Ġab ilities +ĠH OLD +ĠC it +Ġd ynam +Ġgr ay +ĉĉĉĉĉĉĉĉ ĉĉĉĉĉ +.next Int +ant ly +ĠAR ISING +( private +Ġreject ed +ĠN ic +Ġle ather += {Ċ +aly tics +th etic +.T op +.P age +={ ` +Ġ ;čĊ +de pth +m ann +W D +ĠS om +.R ight +Ġ) }Ċ +Ġtr ait +Ã Ĺ +i ac +Ġr v +S ample +.X ml +opp ed +ĠÑ Ħ +list s +Ġt ear +ivers ary +.c ollection +ĠCon stitution +ĠHttp Response +Ġbr ill +ĠP rom +h over +ĠM iami +Ġarg ue +_f loat +Ġ ãĤ +Ġn at +ĠT al +Ġinteg ration +(c ur +Ġrem oving +Ġco eff +ĠTh ough +Ġfore cast +ĠV egas +S ite +Ġtr ab +ĠHen ry +- i +Ġinvol ves +B T +Ġs lo +In voke +Ġl ucky +r at +Ġ? Ċ +Ġhand led +(f d +cont ents +ĠO FF +R F +Ġst y +ĠM otor +ter y +t ax +M AP +ĠMr s +Ġph ones +ĠUI View +")) );Ċ +( dev +ĠIr ish +Ġw s +D I +_OFF SET +ĠEvent s +Ġst ages +Ġ} // +Ġhab en +ST ANCE +ĠS in +ĠM oney +(t op +Ġappoint ment +VER SION +met adata +_com ment +Ġcolle agues +map s +â ĺ +Ċ ĉĊ +( al +_re q +Ġf ut +Ġarchitect ure +ĠWH ETHER +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +_s creen +Ġstyle Urls +Ġmon ster +. up +ph ia +Ġprocess or +ĠT err += ', +ĠMan ufact +ĠN T +k el +ib ern +ĉf ile +A li +rient ation +Ġ// ! +ap ore +ane ous +ĠC reat +f older +Ġh ay +Sup press +( left +Ġe uro +Ġdis claimer +ustr y +sh ips +_f d +ĠF a +_in sert +Ġro l +if ting +ĠCom ments +_b r +Ġloss es +ĠAdd ed +ch arg +Ġп о +_s ystem +ĠS ometimes +ĠSp ain +(g roup +ial is +Ġdoll ar +ĠAr gs +qu ires +ĠT en +.s css +Ġsurv ive +us age +Ġj un +im iter +ï¼ģ ĊĊ +Ġfif th +t oggle +Ġdecl ine +($ " +(L ong +ing e +Ġpil ot +-l ight +-r adius +Ġpod cast +Ġnatur ally +P ages +ä¸ º +ĠDes pite +Ġlight ing +Ġcr ate +ĠB inary +Ġredu cing +Ġe leg +ĠM ouse +ĠTest Bed +Ġbefore Each +_ ARRAY +Red irect +Ġf lood +Ġsh ips +Ġelectric ity +)* ( +ê ¸ +ĠV iet +her o +Ġd ia +ĠK ent +he art +Ġthreat s +_ acc +Ġs ymbols +is chen +_in st +C riterion +ĠT IM +. Height +Ġ âĢĻ +();ĊĊ Ċ +Product s +_S P +ĠC y +Ġdepend ent +est e +Ġdat os +d it +аР² +IGN AL +Ġless on +"> ' +ĠC over +ĠH ope +ĠT imer +Ġd ad +vid ers +ĠPh ot +/ ? +rop y +om ing +as ion +Ġ\ ( +ĠE T +ĠRe ading +Ġep isodes +l m +ech a +Ġne uro +Ġhar mon +Ġlib eral +- ind +D ATA +Ġevery day +Ġdiv ided +ĠActive Record +fig ure +U A +ä ¹ +riend ly +te ch +.game Object +иÑĤ ÑĮ +Ġmo on +ft ime +Ġno ch +ĠT ORT +ĠV M +.in itial +( child +Ġmus ical +Ġo c +b as +ĠH ay +_l ong +Ġmem set +ile y +adel phia +S V +ro at +_t x +Ġl on +ĠngOn Init +b p +ĠGold en +AC HE +Ġwor ried +az i +E ar +T ake +(f p +bur gh +_ Data +g res +ĠO nt +p us +Ġtrans parent +Ġp ocket +Ġr am +igr ations +. čĊčĊ +Ġ[ ( +Ġadopt ed +Ġreported ly +ĠD ream +Ġ} ));Ċ +los ing +Ġte eth +ĠBook s +", & +enn y +LE MENT +Ġg el +ĠPl ant +! âĢĿ +.h ost +ĠRep ly +re ngth +Ġrecogn ition +Ġ}} >Ċ +L A +Ġmir ror +Ġassist ant +( device +Ġspirit ual +b uilder + § +Ġou tr +Ġt t +ĠP ER +Ġrad ical +Method s +Ġp ace +ud y +Ġg ut +ĠG reek +Ġnon atomic +ĠP aper +_G PIO +Ġob st +.A d +viron ments +ĠS ov +( con +ĠTrans action +. assign +ĉc atch +el ter +Ġbit coin +_G R +ĠčĊ +met ic +Ġtrans formation +åı · +Ġr gb +istrib utions +Ġimp licit +/ in +dest ination +аÑĤ ÑĮ +Z ero +Ġun set +. where +.g o +Ġform ation +Ġdeclar ation +() čĊčĊ +ĠEx pl +ĉĉĉ ĠĠ +/ pro +.J SON +Ġdes k +.sub str +//---------------------------------------------------------------- ------------ +ly n +p son +dis able +ĠF unc +ĉ Assert +ĠM ARK +Ġdefe at +Ġbl ind +Ġconst ants +. headers +UIL D +Ġexp enses +P ixel +Ġh r +Ġf el +ĠEast ern +_d el +ĠC ub +Ġs q +ĉc ount +ĠD irectory +Ġex clus +Ġhistor ic +Ġ ------------------------------------------------ +Ġcom position +Ġdata GridView +ĠB urn +ĠB C +M aster +Ġsp awn +Ġbe aring +.Set Active +il o +Ġg allery +Ġfound ed +Ġav ailability +.s qrt +Ġp es +ĠD OM +m ate +O ct +Ġmatch ed +it ivity +Ġan xiety +.pr ice +ĠIn stant +ì Ĭ +Ġt ut +IC ollection +.sh ared +_s ql +t bl +lib rary +_de stroy +erm al +ĠNot es +ĠE in +Ġsou thern +ĠOTHER WISE +Ġmac ro +.l ower +cl s +Content View +.l ink +const ant +ĠB es +Ġsome body +n b +"> { +( local +.. ... +ĠN ull +m x +Ġà § +Ġp ause +-------- --- +_M O +ĠC M +Ġfor Key +ĠD VD +Ġclose st +_DE VICE +ĠSte phen +ĠB BC +ĠTr avel +P aint +ĠResult s +ĠR ule +Ġt p +Ġrat ings +c in +c sv +> / +ĠG OP +l ad +Ġ ÑĢ +Ġindex Path +m atrix += f +ars ed +Ġ} ); +ĠC os +ĠS core +Ġt ak +ĠE SP +ĠIN C +_N ULL +-f lex +"] [ +int o +el and +Author ization +_F ALSE +Ġg ate +Ġv id +ist ent +T IME +Ġre write +Ġt ie +Ġarch ive +.event s +.get Parameter +ĠPer mission +Ġprogram me +Ġ é +j ud +Ġcam eras +(s ys +ĠSy rian +Ġimpro vements +Ġh ip +Ġsu icide +Ġsch olar +Ġcompat ible +rem ote +.d own +F UNCTION +Ġman aging +ĠUI Kit +. raw +>> >> +Ġdem ands +ell ite +Ġd ent +ĠM icro +åı ĸ +'] [$ +ĠI E +im ension +Ġt rem +Ġg ained +.w ith +. ok +h ou +Ġb om +amp aign +Ġjoin ing +f ish +Ġadd Subview +Ġnor thern +.c or +ore t +D ie +in ish +_com p +Ġatt ended +Ġcoll apse +ĠS S +ac ent +_E QUAL +ĠDe ep +R GB +ĉ test +ol ves +us et +Un ityEngine +w riter +Res olver +, % +if ference +_re move +ond a +Ġfem me +de code +Br anch +Ġfl ush +Ġinnov ative +Test s +Ġ[' ./ +Ġcover ing +. admin +ultip art +(l ambda + namespace +ĠS port +Ġ! ( +ac les +Ġde pression +ĠK ong +Ġp ert +ĠCon n +ĠOther wise +/ home +s upported +Ġp ink +Ġinv ited +ñ os +_en abled +Ġ- Ċ +F W +en ers +ĠM Y +Ġsuggest ions +Can vas +Ġf er +ĠMarket ing +@ Test +unt u +ĠV en +ĠC ou +iv als +Don ald +lim ited +ĉĉĉĉĉĉ Ċ +Ġanal yst +( entry +Ġrepresent ative +_at tributes +Ġf ur +.h ide +res p +ado res +rid es +ĠJ osh +ro bot +ĠN AT +Ġs esso +Ġintegr ated +: true +part s +Ġst upid +: event +@end section +Ġp u +.T able +ĠY ii +` ;ĊĊ +Ġcl ang +=" "> +eng an +_param eters +.int ernal +ĠMod ern +Ġmet ric +Ġsem i +={ {Ċ +.am azon +ĠB B +aint y +view port +Ġstart Activity +dis patch +**** * +Ġfl av +iffer ent +[ this +Ġst ake +Ġarg ued +vious ly +.w ork +ĠO ak +O ld +( async +not es +Ġfl ip +Ġdis ag +ĠT E +ĉ error +< ' +Ġ» ĊĊ +Ġfilter ed +ĠM ach +Ġh ung +_d ump +_s amples +-dis miss +Ġr ay +Im plemented +D K +Ġj ed +Ġbreak s +Ġf its +. gr +ĠZ ero +or o +Ġequ ally +Ġ' [ +Ġconcern ing +< meta +play ers +_P OS +_s im +J an +Ġyour s +ĉ N +Ġsp ir +Ġch ampion +ĠAn alysis +ap a +ĠNS Log +_l ines +ñ a +ĉĉ ĠĠĠĠĠĠĠ +.S c +Re p +etro it +ur able +M IT +com pat +own ed +_ind ices +], čĊ +Ġdis covery +ĠDie go +ob i +. Index +Ġtrend s +PL AY +.n o +Ġl ens +_c fg +Ġan no +ag an +Ġperiod s +ter ms +y z +Ġattack ed +ib ration +PEC IAL +_ grad +Ġaccord ance +.Read Line +.de vice +ri x +. container +m ay +erc ise +ĠL u +Ġr g +ĠÑģ ÑĤ +ĉĉĊ ĉĉĊ +( un +TERN AL +Ġless ons +Ġalleg ations +Ġtrans mission +.Re f +M obile +ĠT ournament +ĠN ut +ĠG a +ĠCap ital +def inition +- exp +c lean +Ġfant asy +Ġenh ance +ent ence +'] :Ċ +ack ets +Ġcelebr ate +@ ", +Serialize Field +Ġarray s +t b +ĉ st +[ assembly +( reg +.c ategory +Ġimpro ving +Ġsal ope +Byte Array +Or iginal +Ġ[ {Ċ +åĽ ŀ +ĠCl in +oen ix +ĠS amsung +Ġmaint ained +Ġag enda +f ail +Ġpres ents +Ġtim ing +.m ark +' >< +Ġprom ot +Ġin cl +_ only +ë¥ ¼ +ĠAtt orney +- date +Ġlands cape +Ġf u +S Y +.p rop +ĠA rr +p ag +Parallel Group +': čĊ +Ġlog s +a unch +unc i +n ama +Table Cell +iss ues +. { +ec urity +_ex ec +old s +Ġhost s +Ġpro to +_ import +_s ort +ĠB ow +ĠN ormal +ĠF arm +.create ParallelGroup +R otation +. err +Ġp leased +it age +.W h +ĉĉ ĠĠĠĠ +M R +ĠM ORE +ĠN atural +_ transform +B ASE +ener al +ut down +.common s +W T +Ġa an +. Result +d og +Ġclick ing +), ĊĊ +# line +Oper ator +Ġc iv +Ġm erg +ob uf +ng then +Ġ[ { +Ġcan cell +tr igger +. : +W ORK +decl are +Ġdecre ase +ÅĽ ci +lo om +.N one +ĠM I +ĠJ ason +Ġhealth care +iam ond +s ylvania +* x +ĠR a +[ b +Ġprint ing +ph abet +ĠLab our +op per +Ġz ijn +-t arget +_F UNCTION +Ġo ct +ени Ñı +åľ ¨ +Ġwest ern +Ġcomput ers +ĠR ET +Hash Map +[ String +get Value +_D ATE +.N ext +ĠF if +é l +ick ed +æ İ +-M M +Ġ{ ĊĊĊ +Ġcontact s +Ġdig its +Pro du +Ġunus ual +Ġrapid ly +t ures +Ġang ry +c ancel +xx xx +_p arser +id ity +_P REFIX +Ġme hr +Ġrare ly +et he +op es +Ġ% . +work s +Ġthe ta +Ġcontrib ution +ĠT ony +Ġsqu ad +аР¹ +Ġî n +th ere +out ed +ĉ q +Ļ Ĥ +g ood +L I +é¡ µ +ĠL iving +iz abeth +Ġk t +ĠD allas +] ],Ċ +Ġ/ >ĊĊ +Ġrais ing +/r outer +_g ame +ĠC UR +z ens +. es +Ġfont Weight +(f unc +not ification +Ġ'../../ ../ +Ġbl ame +ãĢĤ ĊĊĊĊ +an co +Id entity +f ollow +Ġart s +x s +Ġofficial ly +ĠSt udio +Ġrecommend ations +Ġloc ale +Ġam ateur +ĠEn able +Ġcap s +. End +- add +_g shared +ĠC T +For ce +Ċ ĠĠĠĠĠĠĠĠĠĠĠĠĊ +Ġor ange +Ġl p +Ġanswer ed +.G rid +Ġd ual +Ġstrateg ic +Ġnob ody +Ġf atal +_ est +( el +Ġì ł +ĠB udd +A IT +_f actor +- one +ĠH AVE +" čĊčĊ +Pro f +Ġä r +str ings +Ġdir ty +ĠF ace +ĠB egin +ĠB us +Ġw is +åŃ Ĺ +Ġspe aker +Ġcar rier +ĠO m +Ġhad n +All ow +:: __ +Ġver b +ĠCom plete +ĠE asy +Ġb ills +ĠĠ ĊĊ +Vert ical +Ġpr on +ĠDef ine +Ġlook up +variable s +Ġpand as +um es +Ġinn oc +Ġset Up +ĠCh ampionship +art ist +ĠC Type +F oundation +à¹ Ī +ĠSet up +Ġrec ipes +ĠU IColor +ĠF ight +Ġauthor ized +_c lick +_s uccess +ang an +ĠMount ain +ĠDo ctor +Ġeg g +ĠMedic ine +c les +` .Ċ +[ int +d ashboard +ĠApp ro +-d r +Ġprodu ces +Ġrent al +Ġre load +Ġarr ival +sp ot +Ġund ert +Ġequ ipped +Ġpro ved +Ġcent ers +Ġdef ines +al so +Ġop acity +ĠUn fortunately +ĠIll inois +Ġн е +ĠTem ple +ĠTr ail +ĠK elly +Ġmeasure ment +Ġsepar ated +-c ircle +H ey +ĠRE AD +ig its +Ġ ib +ĠM OD +atter y +аР· +Ġv end +ен ÑĤ +ĠHttp Client +s afe +_A SS +ic it +ĠCon struct +ĠC lo +ĠS ix +_T OKEN +(b lock +Ġwarn ed +/* ! +! Ċ +Ġinnov ation +_ " +Ġ );čĊčĊ +Ġsp ots +Ġcho osing +.c s +Ġflex ible +U Int +Ġscr atch +- al +Ġf estival +Ġout standing +================================ ================ +M ean +ĠO regon +s ymbol +. account +d ney +'' ' +! ", +Ġpart icle +à ĥ +[ MAX +IV ER +ER ENCE +NS Mutable +ĠColum bia +_ ĊĊ +.f r +Ġc ogn +V R +ĠMethod s +ĠM ade +ĠB R +ĠEl se +Ġeg gs +Ġsw ing +ĠIn v +Ġdise ases +Ġf irms +Ġle mma +}` );Ċ +l ings +Ġg ym +umin um +.T rim +M em +Ġcritic ism +ibern ate +_T X +ion i +Ġguid ance +Ġrepeated ly +Ġsup plier +Ġpaint ing +.F ragment +ed Exception +Ġw iring +Ġcour ts +W EB +æľ ī +\ . +ill ance +Ġb rows +ĠP attern +PL ICATION +ĠSum mer +Ch ain +Ġc ute +mer cial +Ġd il +ĠFrank lin +ĉg lobal +IN CLUDING +h istory +Ġl st +Q t +SD L +al ia +i ere +( ... +ĉc in +iff s +vel ope +ĠR oot +cl uster +User Name +ign e +< S +Ġf est +Ġindic ating +ke eper +Ġc ada +é g +cons in +ĠG B +Ġl b +em ony +-icon s +_d oc +Act or +e lem +.De lete +Ġin fection +ĠPriv acy +Ġgreat ly +ĠP os +ĠT reat +Fl ow +Ġattract ive +ĠMar c +s udo +tes y +- an +ab ama +ĠW ould +Ġsu ck +index Path +ĠE t +T imes +Ġclub s +_ass oc +Ġac quired +(" : +Ġint ense +.m aps +Ex pected +T oggle +Ġa y +Ġl ifestyle +-c alled +ĠS now +V olume +Ġcann abis +ĠD irection +ĠLim ited +-s pecific +Ġd owntown +/ icons +Ġre ven +L eg += null +Key board +') ). +Ġ"" ;čĊ +Ġatt itude +.n avigate +- error +AM PLE +ĠJ ay +v r +c ow +.com pile +Ġmem ories +_m ark +ĠMin nesota +Ġk osten +Ġprob ability +w arning +Ġgen etic +F ixture +ĠHash Set +N ombre +_m onth +Æ ° +- start +xy gen +ĉ ft +i agnostics +ĠMat thew +Ġconcept s +Ġcon str +. State +и н +N ov +Î ± +ĠP anel +ä¸ ª +com pare +> ()Ċ +Ġapply ing +Ġprom ised +Ġo x +nc ia +ĠValid ation +ort s +_c ur +e lect +ey e +( Data +Ġreport er +ĠB uff +Ġs r +Ġ" ; +ick y +Ġtemp or +S N +Ġres ident +pi res +ys ical +Ġend orse +ĠS ong +is Empty +le et +_ util +Ġdist ingu +ĠT alk +ĠM ot +( default +.A rg +gorith ms +_ words +im mer +_res et +f amily +W W +Ġsav ings +ĠâĢ Ŀ +_en able +side bar +Run ning +Ġal i +Ġtest im +Ġwarn ings +ĠCh em +ĠEx it +Ġfound er +pect or +Ġr m +_d ataset +ĠD as +Ġh an +Get ty +á l +Ġn y +Ġpo verty +Ġresult ed +.b y +ĠVis it +Ġobt aining +/ '.$ +ĠĠĠĠĠĠĠĠĠĠĠ Ċ +sh all +_LE FT +UI Image +_ Name +h ave +ĠN ob +l r +- footer +Ġn aked +ĠG arden +\F acades +Ġgrad uate +Ġfranch ise +pl ane +Ġcontrib utions +Ġstring With +Ġc rypto +Ġmov ements +ath ers +Ġlif etime +Ġcommunic ate +j ar +ĠFr agment +_ IF +ĠN avy +ĠF igure +Ġsim ulation +_st op +Ġreport ers +Ġvers us +aj a +ĠÎ ± +Ġgovern or +List Item +Ġse aled +.Back ground +ed i +ash ing +Ġl ip +ĠI h +mer ge +Ġn ec +el ocity +ATE G +Ġse eds +Ġflo ating +_F A +w alk +ĉ user +_de pth +Ġw age +@ app +N il +( [" +( vector +Ġsecret ary +Ġj Panel +ve z +³³ ³³ +d irection +ĠE P +Ġh unt +Json Property +ĠP ORT +] ", +аР¿ +ĠFore ign +pan ic +Ġtri als +ĠA le +Ġr ural +- value +author ized +ĠScot land +.d rop +ĠM T +ç ± +row th +File Path +Ġrec all +if le +Ġc el +ĠSE LECT +k n +_c ase +Ġc rop +s ure +p ot +IC S +Ġst em +Ġindust ries +P ut +Ġa ber +road cast +Icon s +) ")Ċ +æĪIJ åĬŁ +g ui +Ġassum ed +Ġr x +E A +è § +EL L +Ġdo se +Ġin e +Ġde eper +l ider +Ġord inary +Ġg olf +_IM AGE +ĠN AME +(m odule +Ġat om +Ġbel t +Ġoff ices +b eta +Ġphilosoph y +( JSON +-f ield +Ġintrodu ce +Ġconven ience +opt im +> "Ċ +ath y +Ġemploy er +qu ate +Ġed ited +Arg uments +ĠN ations +__ ) +Ġno se +ĠS ample +' )ĊĊĊ +Ġc ake +.get Attribute +H D +Mod ified +Ġpredict ed +Å Ħ +an ie +S orry +(d oc +w ind +ie ve +Ġprov isions +AT ER +OT E +M Y +.A utowired +ĠB ath +. Boolean +Ġback end +.M ouse +ater al +p aper +Con st +ĠV R +_ entity +_C TRL +ĠProte ction +ĠG M +ĠStud y +Ġsou p +ot ime +' use +] " +/ users +a ug +ĠH ong +_n orm +ãģ ¨ +Ġse cre +(B uild +ĠCon tract +ol as +Ġsa uce +Ġaggress ive +Ġrac ial +char acter +@ @ +Ġcomp ile +ĠV oid +_re m +_m emory +k k +Ġm ic +S ame +U tility +ĠH tml +ĠX ml +Read y +Ġg all +Ġalleged ly +ĉĉĉĉ ĠĠĠ +ĠMet al +ĠPerson al +Ġborder Radius +rx js +object s +Ġwant ing +Ġb owl +v endor +offset of +ĠR s +ĠR ating +Ġr ally +_N ODE +ĠM ix +Ġadvert is +Ġnarr ative +s al +Ġm c +SE rror +Ġf ingers +Ġaccom pany +Ġt ired +Ġstr ide +Ġgu i +el ist +Loc ale +Ġrele ases +ik ing +Ġan ger +)) )ĊĊ +alle st +Sum mary +( O +(f or +Ġbasket ball +Ġroad s +ĠInst all +ĠF ab +it map +Ġ) )Ċ +Ġinter section +ighb or +ĠB ry +ĠHER E +So ftware +elf are +ac s +Ġtrail er +.get Class +ch ars +Ġreg ulation +Ġref ers +Ġde struction +Ġcontin uous +ĠAust in +é ¢ +ak an +.w indow +ĠTem plates +Ġabs ence +: n +Ġdis order +fl ash +Ġde let +bo ards +ĠĠ ĉ +RO P +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +Ġac qu +Ġlaws uit +ĠRe views +Ġgar age +t imer +Ġe j +ĠRect angle +Ġflow ers +il st +ĠIn stance +S uper +d et +dis posing +ĠE S +ĠI C +ver e +S k +_ch annels +put ed +/ null +nn en +ĠG allery +_g lobal +Auth entication +ĠR ank +Ġblock ed +Ġcal m +mark et +ĉ val +Ġa ug +per iod +ĠCon stant +Ġ?> ">Ċ +Ġl obby +p al +Ġs ink +ia h +Ð ¡ +urn ame +Ġcon ver +Ġinvestig ate +Ch rist +H ub +ĠIN D +ĠP ed +ur as +ĉ url +ĠT ro +Ġpre ferences +Ġguarante ed +` ĊĊ +Ġport ions +Ġeval u +' > ;ĊĊ +.AutoScale Mode +Ġc ats +Ġreg istry +ul us +F I +p ayload +- search +Ġstay ing +ac ious +Dec oration +Re view +In f +Ke ep +it is +, String +Co ord +Ġper o +S ex +ĠAtl anta +uest a +Arg b +> * +} _ +F ooter +Ġemploy ed +_b ound +v ide +.f unc +$ scope +Ġsp o +ĠAn al +ounc ed +ar ound +Ġrestr iction +Ġsh ops +å Ģ +ĠLat in +-c ol +Ġbare ly +ĠE uro +E r +Ġfa ire +_d istance +_un lock +Qu ote +IV ATE +Ġå Ī +Ġaim ed +ĠRet rie +. iter +Ġwr apped +Ġagre ements +str ument +( product +Ġstud ied +.set Value +Ġy e +ĠC ache +MB OL +Ġquarter back +Ġsy ntax +.getElements By +.v ersion +we bsite +Run ner +_s ingle +at iv +ĠAl tern +ĠBeaut iful +right arrow +Ġd iversity +pl ash +( co +.F ill +Ġtyp ing +Ġcl ar +H it +O O +ac co +w orth +Ġscript s +ĠMuslim s +ĠL L +erv ing +( boolean +Ġbase ball +ĠC AN +MA IL +de pend +Ġrespect ive +Ġconst expr +.* ;ĊĊ +'] ))Ċ +Ġy ard +Ġident ical +if ecycle +US H +up iter +. validate +cl i +IST ER +Ind icator +F ail +Ġdemocr acy +. var +Ġsatisf ied +------------ - +enc er +h or +Ġr ounds +DA O +o a +Ġfl ask += c +[ ]Ċ +/d ist +Ġpart e +Ġconfirm ation +er on +aw are + +Ġdepend encies +ĠV ideos +- row +Ġ** /Ċ +Ġn ou +Ġh over +æ ŀ +Ġn in +ĠUS D +M ac +_L oad +Ġout comes +_s ocket +Ġqu eries +w m +Ġhit ting +in ux +M ich +ud ge +AT AB +Ġvulner able +ä ¾ +Ġport folio +: YES +ĉm ap +B ound +Ġiter ation +in cess +Ġact ors +ĠQ ual +_c lean +ãĢij ãĢIJ +MS G +G reen +ĠOff icer +Ġsm oking +> ', +ĠF lo +++ ; +oly gon +Ġbul k +Ġdr ama +Ġexception s +os ed +Ġ+ čĊ +Ġleg acy +C V +Ġcontrib uted +ĠTer ms +Ġb t +Ġunt uk +Ġal ien +=== Ċ +ĉ Vector +Ġl s +On line +.f acebook +num eric +ock ets +A ut +b ury +-re dux +ĠRed istributions +GLOBAL S +urrenc ies +Ġt ons +âĢĻ , +Ġà ª +(c ol +ĠS ymbol +Ġstay ed +ĠM L +Ġm unicip +Ġsex o +S en +n r +Ġg ains +Ġshort ly +.M enu +à ½ +KN OWN +Ġoper ators +- V +ĠPat rick +/ add +_C O +ir ation +(p ost +Post s +/ _ +Ġpl ug +Ġintellect ual +Ġmet ab +Ġpregn ancy +ĠPrem ier +n m +Ġpred iction +ĠMin istry +Th ree +val uate +ĠMin i +b u +оР· +< ul +Ġd d +ol ving +ĠC ut +Ġs chem +.tr ain +it ate +Ġr ice +Ġbird s +ãģ « +m iddle +struction s +Ġn erv +a que +Ġfl u +Ġsurv ival +ĠGal axy +ĠF ant +. Order +At trib +irt s +é c +M ovie +Ġcon ce +qu arters +Ġm ood +.Add Range +Ġres olved +ãĥ Ī +Ġburn ing +ĉĉĉĉ čĊ +ĠW E +Ġhost ing +L AB +Ġman agers +Ġstre ngthen +< const +ĠFire base +on ed +ĠJ ean +' ";čĊ +ĠS av +.B old +Ġen ables +ĉt mp +Ġman ually +ĠS qu +user id +.f unction +.c ache +LO PT +.S ervices +dd it +t im +< img +ĠTh ings +ĠEvery thing +Ġa pt +em and +Ġroll ing +ë ¦ +. level +Ġst om +ĠW inter +Ġview ing +( values +ocom plete +v ia +up o +Ġabort ion +i ère +ï¼ ij +_B UTTON +_d omain +Ġb ra +ĠA st +in as +Ġstat ist +c od +L R +Ġdr ives +Ġfollow ers +Ġall ies +ĉc urrent +ecess ary +Ġdam aged +_ pt +and les +oun tries +Ġsim ult +e u +Ġcontrovers ial +_G ROUP +Ġr ib +. Info +: mm +.n ormal +_ADD RESS +Ġ íķ +add le +ĠD ur +. Element +W arnings +Ġcred its +Ġin hib +Ġem issions +Ġh az +.y outube +ugg ed +Ġbo ther +ĠK ansas +ĠF ixed +ĠTest s +ĠF IX +Un iform +Ġk ont +>> > +st ation +lo re +at ype +ish op +/ **************************************************************** +Com boBox +Ġvac ation +Ġiniti ative +Ġdefault Value +con cat +ĠK h +ĠW elcome +ized Name +M igration +Ġgrad ient +H ot +Ġhard ly +el o +ĠStud ents +Ġlo ose +at z +.S end +' / +Ġunivers al +Ġenter prise +Ġreg ex +Ġvis itor +ĠF ly +Se q +à¸ Ļ +ĠVis ual +Ġlib raries +ato es +P ayment +Ġp ent +Ġgather ed +VRT X +ĠD M +S plit +Ġlet ting +Ð Ŀ +_error s +ep och +P ARAM +c u +ÑģÑĤ в +ol utions +Edit ing +font s +Ġalloc ated +ĠB ased +( Y +ĠJud ge +Ġbro thers +FILE S +ç o +w b +_P I +' ^ +Ġs word +.s ervices +Ġn l +T im +ig g +ĠMo ore +Ġcrypt oc +åĩ º +_post s +ot ate +? ' +... .ĊĊ +Ġk l +=" $ +Ġdec oration +Ạ¡ +ĠD IRECT +G UI +) =>{Ċ +Ġnews letter +Ġprec is +(p oint +ĠEqu ipment +ut y +ĠD ave +Ġparticip ation +u arios +x it +.A s +ET ER +or ous +Ġsh ield +[] > +ilit ary +. origin +Ġprom otion +U nt +Ġc t +TR A +View Holder +Ġsig ma +d elta +are house +con tract +( Vector +Ġcompet e +/ form +/ components +Ġn r +ĠInd ones +Ġо ÑĤ +ĠV olume +.f iles +(res p +/ models +Ġsur f +stand ard +/ o +ĠXCT Assert +V ICES +.C ode +SE D +Ġact ivate +D elta +Ġlimit ation +ri j +Ġpregn ant +: ^( +Ġs our +p ie +Ġexp ense +ic ation +ĠL arge +Ġ ± +ĠB owl +(model s +/ N +P a +.re load +Ġwonder ing +Exec ution +ĉ ĠĠĠĠĠĠ +ĠG raphics +ĠCont in +_j ob +Ġget Name +ĠM agn +ĠD WORD +m ad +Ġn h +fe atures +} ");Ċ +he ets +(tr ain +z n +Ġrecru it +.con nection +Ġbar rel +Ġste am +_set ting +Ġang ular +ane ously +Ġb il +ĠN orm +(! $ +ib t +% ( +Ġpos it +ĠF ather +int endo +L ive +Ġport s +Ġme j +Ġland ing +pon der +Ġc od +_HE ADER +.M argin +Ġball s +Ġdiscuss ions +Ġbl end +H ex +Ġfarm ers +Ġmaint aining +ĠĠĠ čĊ +s yn +[ T +r us +uff ers +Ġcontrib utors +_s ys +.De bug +Ġconstruct ed +om es +? id +sl ider +Ġsup pliers +scri ber +p es +Ð ŀ +": čĊ +\ Controller +)) ĊĊĊ +Ġl ua +M ulti +EN S +S rc +Ġpet ition +Ġsl ave +look ing +V ERT +ĉ vector +S pecial +h h +an ne +ĠN iger +/ views +z ing +end ant +< C +s peed +Ġ{ };ĊĊ +Begin Init +Ġf open +@ RequestMapping +End Init +Ġp unch +S ender +é Ķ +get Message +/t ypes +.P I +(' ');Ċ +oc used +( all +Ġdrop down +). __ +ĠV in +.Fore ignKey +can f +ou red +ĠOrgan ization +ĠÐ ° +ĠC ulture +(cl s +, _ +rg ba +ìĿ ĺ +.data GridView +Ġdo zen +ĠG es +_sh ared +n ick +Ġh osp +om eter +Ġclaim ing +ib les +ri k +æĺ ¯ +en ario +Ġd engan +ob b +m ont +_r ank +('/ ', +Ġap olog +P s +_p ower +ĠG ree +Ġful fill +Ġfire base +Ġf are +ĠH im +Ġbe an +â̦ . +ĠS PI +_R X +Ġper ception +rel ative +comp ile +u um +ut os +a uc +ĠAs k +Ġindic ator +/ th +.set String +ĠWis consin +.D omain +Ġart ificial +De velop +ĠSar ah +Ġl ying +( search +ĠEmp ire +urr ing +æĹ¶ éĹ´ +=" ${ +Ġget Id +ĠP ayment +trans ition +Ġ ]. +ix in +V T +- select +Ġdemonstr ated +Ġlast Name +employ ment +.get Property +Ġf ought +file Name +ĠP ers +-c ard +a str +attr s +Ġprom inent +Des ign +anc ouver +ãģĹ ãģ +ard o +se cret +Ġr ag +Ġpo ison +-m an +, omitempty +ĉ un +it zer +ĠCas ino +ĠR oss +- foot +(result s +Pl an +Ġlas er +ê¸ ° +_D R +F acebook +Ġbo ards +st a +] ], +Ġt iles +S IZE +Ġ= ~ +Ġprem ier +oc ab +Ġenc oded +Ġres erve +ĠAfghan istan +ĠList Node +url s +Ġsub mission +Ġne u +Ġ# +# +_P OST +Ġmo ist +ell i +ellig ent +. alert +ó d +b re +ĠCol lect +Ġgraph ic +Ġlong itude +ĠPro vid +ĠCal culate +x ffff +c riteria +Ġw aters +ro ck +lo quent +ĠT rib +Ġbur st +Ġsuff ix +.Ext ensions +ish es +iv el +ĠLI KE +ĠGet ty +.Action Event +.s lf +ĠH AL +up al +E AR +ud i +_time out +U F +ĠSing apore +ĠAd vent +_int erval +cha ft +ĠE mer +Ġtele phone +ĠTur k +_ interface +ĠO wn +Ġencour aged +< Object +_T ext +ĠOnt ario +ĠApp ly +.f irebase +Ġant ib +P riority +ene z +D ays +c id +urre nce +; / +inn ed +Ñģ Ñı +Ġve z +f w +// $ +att ack +Ġstart up +ain ers +.f ragment +op acity +( conn +he im +.n etwork +( stream +ĠN ON +t ol +ĠX box +ĠD S +Ġc ached +Ġprostit utas +ĠB alt +(' [ +Ġno except +" ' +Ġs d +. valid +_ ag +Ġr aces +Ġro d +itud es +< >( +.Pro duct +Form s +NE W +P ay +ĉ boolean +_ contact +ĠElect ric +sk ip +Ġw ur +Ġch ronic +_d river +ĠS ab +ĠU lt +ĠR ad +ST ATUS +ĠLew is +O B +Ġgift s +.Re c +TR UE +Ġint ensity +Mark er +.com pare +ff ic +C ookie +ĠB aby +ĠBig Decimal +ile t +ĠHOLD ERS +ĠL ady +Ġl ung +ĠAl abama +Ġd ess +` );Ċ +ĠB uilder +_reg ion +Ġne utral +Bo th +Ġh p +Ġh orn +Ġseg ments +ĠE C +"=> " +( rec +ĠP i +G M +Ġl aptop +Sc alar +is d +-d ialog +ĠAnd erson +Ġmist akes +ĠH an +j es +est ination +Ġprom ises +b id +ĠSc ient +G IN +ĠPer formance +b age +. users +le ading +Ġor al +G raphics +_P TR +h ang +Ġin ev +process ing +F actor +ĠN A +$ string +Ġground s +.Save Changes +c lock +cri pcion +ĠNew ton +g c +.in cludes +Ġbl ast +Ġ'- ' +Ġpued e +.S ession +Ġgre p +_f inal +ĠG ay +ĠG ive +ir i +-st ar +ĠUI Image +_ep och +ub b +ent h +Ġel ite +Ġcampaign s +ĠP orno +_ assign +Prot ocol +ĠBe ing +ĠAir port +Ġconvent ional +ĠW at +ĠC I +ET A +ĠAnth ony +Ġtable t +( format +Ġconsist ently +ĠI owa +Ġav atar +.c ursor +! [ +Ġh anging +H er +S uch +';ĊĊ Ċ +orge ous +() == +Ġview Model +Ġ ãĥ +Ġel s +ĠAg ent +F etch +ap or +Ġc x +p read +ĠP ier +oe ff +S n +ĠV irtual +A pr +.Wh ite +_M OD +ĠPoint s +å¤ ± +Ġgen es +Ġv endor +Ġmain stream +< src +ĠEl izabeth +Dec oder +- state +ĠG lass +nc y +adi ans +_m on +ĠRem ote +Ġwire less +ĠM i +å ī +è¡ ¨ +st age +ĠT ile +ll ib +V ariant +== Ċ +Ġgold en +(Q String +.put Extra +ĠD om +ĠAn imation +Ġinter active +if act +éĻ ¤ +LE T +Ġfrequ ent +Ġ< >Ċ +F ilename +Ġs ne +ĠFoot ball +Ġr ival +Ġdis aster +ion ic +ĠD amage +. Resource +- en +ĠT ypes +get String +( board +Ġb ol +pl ain +z ym +ภ² +Ġsc anner +ild er +_msg s +æ ı +(int ent +Ġde struct +Ġb ust +ĠE mploy +on i +ĠUI ViewController +Ġodd s +ear er +Ge ometry +Ġy ii +_EX PORT +ĠAtt ack +Ġn iet +Ġim pression +ĠG il +_pro b +ĠC F +ĠEx perience +/pl ugins +.M ethod +Ġbelie fs +N ative +_b uild +Ġv ig +Ġr anks +cover ed +s uch +G uard +.p ack +add er +iv ia +l ng +Ġв Ñĭ +T imestamp +_n ow +Ġp oker +Ġun c +Ġsh apes +-t ypes +_per iod +p k +Ġveter an +Ġson o +Ġappoint ed +over flow +.d river +_c at +ut t +pl ant +im b +ĠAc cept +Ġconc ert +ĉ node +ĉ z +? >čĊ +Ġb anned +ĉ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +Ġto xic +Ġdisap pe +È Ľ +Ġgr ace +ate ful +Re ply +ĠCru z +Ġsc rap +Ġkey words +s imp +Ġmort gage +Ġcy ber +ĠEx ecute +Ġlat itude +if u +.C OM +d bo +Ġsort s +ĠG as +om ial +.L ocal +Cell s +.Re place +String s +.f it +ĠTh ird +% ",Ċ +Ġ{} ". +ĠS ony +Ġ[ : +Ġfall en +. ')Ċ +in h +ĠM C +Ġred is +C odes +Ġprofile s +h ook +Reduc er +_F UNC +Ġn avigate +str len +Ġh orm +á ŀ +ĠS R +. boot +Ġdig est +ĉ header +.find One +æ ģ +Db Type +n ia +_m erge +Ġdon ne +/ Getty +_CH AR +Ġb ands +. URL +art ial +Ġf req +Ġs ist +N g +Ġrender ing +\ Core +Widget s +ĠV A +Ġactiv ists +St e += _ +all a +St amp +Ġload s +Ġx x +ĠL earning +.M vc +u ir +(" $ +Ġconnect ing +Read Only +ur u +ĠE ag +B IT +_DE L +å § +arr ass +ext ernal +ĠY OUR +ĠB rew +ĠF ive +Ġres ize +ig id +er ation +ĠÑ į +åĬ ł +ĠC atch +Ù ģ +ĠLe on +am il +.B ody +Cl ip +/ list +.b r +Edit Text +ĉ db +.G ame +(Build Context +back end +.R ed +face book +.url s +m r +rol led +---- --- +Ġinter vention +Ġretire ment +ĠK it +ĠP RE +Upper Case +ĠS ocket +Ġ: - +Ġstudy ing +ĠMet ro +ard ed +Ġconvers ations +C alled +Ġexam ine +ert ificate +.g z +-res ponsive +Ġref und +_n etwork +allow ed +em pt +Ġme als +C ategories +Ġtravel ing +Ġk g +Ġsh ame +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +Ġexplicit ly +Ġmath ematic +ĠS uite +ĠR GB +****** / +Ġmix ture +lear ning +.t emplate +att s +w x +ĉ ctx +.p roperties +Ġdrink s +ĠE ither +set Text +.get Data +.z ip +Ġreve als +< table +.Hash Map +ĠH ur +) ");Ċ +.f ramework +ĠST ART +feed back +Ġsaf ely +. icon +config ure +. lock +.l ayers +/> .Ċ +Ġrank ed +_ impl +ĠHand les +Ġhost ed +Ġup dating +al bum +é Ŀ +Ġsh ader +Edit ors +- round +[] { +Ġse p +ĠH i +TE M +look up +.m an +_IN PUT +Ġthreat ened +_IM PORT +Ġd rops +ru it +s id +bo th +ĠEx cel +Ġj er +ord inary +еР¹ +V IEW +re ply +Ġ) :Ċ +color s +ver ified +_T r +_p arse +Ġcon gress +P romise +int s +ĠM other +.A pi +ĠD uration +Ġfirst Name +inherit doc +ĠM ars +Ġa pr +OD Y +Ġvis its +Ġhe aling +let ters +)) );čĊ +f uture +.F ramework +Ġk iss +Ġinv olve +Ġsil ent +ad ows +Ġany body +s ch +Ġsole ly +- img +Ġprop ri +Ġin struct +Ġlic enses +Ġm eth +Ġcond em +ĠD omain +ĠHarr is +Ġs Ã¥ +CE PT +B atch +@ extends +ĠCONTR IBUT +.Data Frame +_p acket +rec ision +Ġfoc using +. ht +__ ":Ċ +: Get +ĠK C +Ġpass age +Seg ment +_c enter +-z A +_B L +Ġconv in +Ġclass ified +ĠNS Mutable +_ ap +t ile +Rect angle +(n ums +v ens +ĠUI Button +ĠF eder +am o +Ġout line +ĠPar ser +Ġâ ī +ĠWork s +.S chema +Ġeng ines +_com mon +_ old +Ġset ContentView +Ġ/// < +ĠB T +f m +Ġd ivers +_ weights +em ark +ĠA CT +Ġpro portion +over lay +.dir name +ĠG it +_REF ERENCE +< > +l b +_r ule +è´ ¥ +ĠPut in +Ġsleep ing +() :čĊ +Ġpres erve +Ġpar liament +ĠLook ing +Ġpick ing +ĠDis patch +Ġsl ip +ë ĵ +ĠL yn +_sign al +config uration +ĠP itt +ad en +pro cedure +Ġenthus i +f ight +ĠCons ider +Ġt orn +Conn ected +.c os +_group s +ĠTh ink +Ġdel iber +Ġres id +work ing +.column s +ĠCal led +Ġes lint +> ", +_D OWN +h ist +ĠAdv anced +Ġre wards +act ors +Ġsil ence +Ġmy th +Ġne ur +Ġa uction +.Get String +ek s +( project +ĉ msg +ĉ output +Ġcomplaint s +, S +Ġt bl +Ġ, ĊĊ +ri ors +ah ren +Ġlawy ers +re dux +_s ymbol +off ee +_RES ULT +( Name +UT C +.current Time +Ġorgan is +. arg +Ġmin im +w ick +Ġrece ives +B alance +Ġspeak s +ĠD ays +ĠBel ow +t ipo +P resent +Ġres erv +h p +Ġr it +_R IGHT +-- ) +Ġchair man +D IS +ĠBO OST +Ġexper iments +__ );Ċ +Ġst amp +Ġf ert +Ġf ond +T er +el ve +ure n ++ i +end ency +Ġvirt ually +... " +ï½ ŀ +- cent +_un ique +Ġpr icing +m ic +RES H +Ġ:: : +Ġan notation +ĠC ircle +ong odb +it as +Ġ% ( +( component +Ġо б +( port +-h our +. obj +L BL +Ġj ury +GB T +Ġsp y +ĠProf essional +Ġ"" ;ĊĊ +Ġstri king +Ġdiscrim ination +Ġp ays +lic t +ent es +Ġthrow ing +ĠPl ugin +( def +ĠRuntime Exception +ĠM igration +Ġd ic +b ag +on ia +Ġcor ruption +( Map +Ġpr z +.d to +Ġac quire +State ToProps +Ġlo ving +оР¶ +_p attern +Ġemot ions +Ġpublish er +_b e +Ġcoup les +o j +ĠCh art +Ġt rop +.t ool +Ġestablish ment +Ġd ol +Ġto wer +Ġl ane +ĠSy dney +Ġfill ing +claim ed +Ġdialog ue +Ġcon vention +book ing +pare ncy +æ ± +ĠGener ic +\ Schema +Ġr anges +/ ch +Ġpan els +Ġr uled +çĶ Ł +.t s +_s ets +Ġclean up +Pre vious +ĠAn imal +($ ( +ĠA ve +oll ar +_e val +ĉ Name +(t ree +Ġ" ] +Ġdut ies +=' / +Click ed +Ġdifferent ly +ĠCl ark +Ġd it +olog ists +Ġsy nd +Ġs ends +- known +k b +ĠMod al +it ative +Ġr acing +Ġhigh lights +ĠSim on +ĠCapt ain +ä¿ ¡ +ĠC B +cont in +ar an +Ġphys ics +ret ty +et al +.m d +ax ios +Ġspeak ers +Ġpre p +Ġaward ed +ì§ Ģ +ĠC orn +ĠN ature +UD IO +Ġpro j +- pre +[ u +Fe atures +Ġis Equal +B inary +s ig +Ġconf usion +ĠH at +Ġkt ó +.config ure +M ON +/ edit +_A dd +, true +Ġc li +Error Message +- loader +Dim ensions +ultip ly +Ġ{ !! +ĠSql Command +Ġsp oken +Ġp ics +Ġto y +( Key +ĠLo op +Ø ¨ +E ATURE +in ction +_set up +w rapper +Ġt ong +c ular +O pt +.P l +=" , +(l ength +um n +Ġch rom +Ġse vent +ĠIllegal ArgumentException +ĉ start +Ġbeg un +CE PTION +dat aset +ĠF ailed +col s +Ġkne e +im ore +.sp lice +sh ell +ig gers +Ġthem es +ĠD J +ĠAss istant +- $ +May be +Ġorder ing +ĠInt elligence +ĠMass achusetts +Ġfail ing +el son +G reat += i +.re st +Ġinv ite +-dis able +.Group Box +âĢĻ est +Ġtack le +g v +et ter +Ġ), čĊ +_r ules +.w arn +function s +ĠChrist ians +Ġback ed +Ġsl ider +Ġenjoy ing +n est +Ġh ij +_m s +// * +An notations +ĠVariable s +< V +( server +ĠOr acle +element s +Ġorgan isation +_point er +ĠHe aders +[ d +Ġdead line +iss a +Ġkn ife +ĠNAS A +ĠHe ight +ĠAs ync +Ġven ue +.d om +bour ne +ĠHaw ai +Ġmem o +ict ions +Ġsurve illance +om i +/ assets +Ġed u +Ä Ľ +Ġro ster +Ġh ired +ĠT ok +Ġpl acement +ur ations +Ġset State +ĠMag azine +Ġhor ror +T ry +Ġl ag +ĠEvery one +th ur +)) ;čĊčĊ +. return +Ġsy mp +âĸĪ âĸĪ +Ġn ights +work er +Ġa le +ennes see +.st ep +Ġsynchron ized +our i +Do es +. change +f on +.set Background +irc ular ++ - +ĠC IA +ĠJ ane +ĠSim ilar +- I +level and +Ġpros pect +_f ound +ĉc olor +.D iagnostics +Ġann ounce +Ġassum es +/ tr +Ġb d +ĠCar bon +Ġanal ys +.de st +n ik +ĠL ie +- index +Draw able +ĠT AG +Ġtri angle +_F LOAT +ĉĉ ĠĠĠĠĠ +.bl ack +v ue +cur acy +Ġaffect s +Ġsure ly +Sl ider +uk i +c ery +Ġun ter +.pro file +ord on +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +le ave +Ġsmart phone +g ie +Ġcons pir +Ġt utorial +ç± » +Ġc ab +ĠSum mary +* ĊĊ +ä h +" This +Ġsl ides +" +c ycle +ĠB ull +path s +Ġun p +Ġview DidLoad +_M odel +Ġassert True +Ġr ated +De cl +vert ed +ĠD at +b rew +Ġpoint ing +M s +ĠPoint er +) ' +_n on +ĠSE C +Ġy eah +g ency +initial ize +f ly +[ pos +, g +Te le +Ġj oke +Ġcl ause +.find ById +en es +( instance + £ +Ġs lic +_h ome +Ġ*/ }Ċ +_p ages +(s ervice +R P +ĠAm ong +.get Current +ãĤ ¹ +Ġs lee += [Ċ +ol er +Ġlib ert +Ġ` Ċ +Ġw enn +l ated +Ġimm une +( Node +ĠPro blem +ĠA bs +log s +Ġ ../ +ĠA DC +Ġ}} ">Ċ +> ');Ċ += b +ĠW ind +lah oma +Ġalloc ate +or ian +Ġpres cription +- quality +ĠMay or +in ely +end foreach +ĠCom plex +k om +T Y +] ]. +. Style +_m any +',' $ +Ġbar rier +ĠF etch +ĠMar vel +Ġres ist +ог о +b idden +ĠRun nable +: false +Ġbuild s +ĠSt age +Ġd ub +emp o +.s ite +;ĊĊ ĊĊ +ĠDen ver +Ġre vel +Ġtrigger ed +Ġd ice +_f ail +Ġg c +ĉ X +ĠTh rowable +.r outer +ĠRev olution +ÑĢ Ð° +_N ON +Ł ¥ +Ġel der +Ġab road +ĠÐ µ +ĠAd ult +bl r +g lyphicon +Ġprom oting +Ġ iz +ĠS olid +_lo ader +ear ly +.en abled +- edit +ĠU L +_ play +ĠInt errupt +Ġadvant ages +uc le +Ġmechan ical +.table LayoutPanel +ĠWork ing +Ġan onymous +R ating +ig ious +_ph one +.addAction Listener +Ġfr an +und en +Ġ*) & +_ bool +ul ative +Ġcon e +ĠM ult +Ġm ö +ĠFor ward +] ):Ċ +Ġconvin ced +act ed +ãģ ĵ +ĠConfig ure +Ġce iling +D er +Ġpass engers +Group s +Ġsoc cer +/ W +avi ors +sw ith +ĠZ one +. Options +ĠM om +ied er +Array s +Ġtreat ments +Ġprotect ing +f ac +Ġpick le +Button Item +Ġblock ing +str ar +à ² +ĠEx port +Ġth rew +ott a +ĠB ASE +.w s +.LE ADING +order By +_d elay +ĠP u +.d ll +ĠCh oose +Pol ice +ĠBE GIN +box es +Ġdiam ond +, l +Ġ ĉĉĉ +Ġcur ious +t v +Ġerot ische +ack ages +ĉ Set +T ick +.b order +static method +Ġch er +in voice +Ġcr u +Ġdef ect +_m etadata +re lation +ik an +[ N +(Q t +( Base +æģ ¯ +be at +ĠEm pty +ĉ o +_sh ift +Ġreg ret +Th ose +C ent +ĠPort ug +ĠIs lands +ĠT IME +Man agement +-s p +ê me +Ġnot ion +un ifu +P K +è¡ Į +ĠCUR LOPT +\" \ +U V +ç º +d ra +c ou += ` +ĠD estroy +r p +.c ancel +G G +r untime +ĠV ue +Ġprogress ive +/s ervices +Ġrun ner +_FR AME +.ToolStrip MenuItem +Ġ' ,' +d elay += utf +Ġscreen ing +Ġpull ing +om as +Ġan th +- new +/ local +Ġi Pad +Ġt witter +Ġd ying +Ġhe aven +ĠU Int +ĠSen ator +Ġpres um +ĠWalk er +Ġover come +ete ction +Ġemb arrass +Ch ina +In clude +RO LL +Ġdata Type +D avid +ภ£ +lo p +-m onth +Ġsc ar +ĠS afe +Ġ **************************************************************** +Ġaccess ories +Ġr amp +_U SE +Ġcontr ad +)) ]Ċ +Ġpre st +ĠH R +ĠR ap +Ġus ize +Ġcap ability +Ġc ort +- next +Ġbur den +_read er +Ġ@ @ +reg ular +ĠK a +M AN +Ġa str +Ġ' ')Ċ +Ġf ed +Ġpars ing +ĠY ears +Ġbro ker +": {" +Ġa kt +In ventory +abe led +Ġarg parse +****** *Ċ +vers ation +Ġc ord +ĠT i +Ġhope fully +Ġa h +ver b +Ġst olen +. Entry +Ġexpect ing +O rientation +Ġpower ed +Ġp ersist +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +'] ); +')) ,Ċ +ĠC ash +ĉ item +gr ades +rop ol +b asic +Ġ" );čĊ +Ġaw ards +(r ange +- all +ĠIB Outlet +ĠInd eed +---------------------------------------------------------------- ------------ +Ġstom ach +Ġfl ower +Ġs ew +_t imes +av is +Q String +ĠR outes +_pro t +Ġcom edy +Ġlog out +Ġwood en +Ġpost er +p iece +.J oin +ĠP ok +cel ona +mut ex +;čĊ čĊčĊ +Ġstri kes +Load ed +) arg +es a +Un ited +E p +PE LL +ĠAtl antic +ul let +app le +Ġsett led +a con +Ġprint er +ĠG C +å® ļ +Ġrender ed +, âĢĻ +he it +s ocial +. ge +ĠR ick +ĠUt ah +g ot +on ical +ĠSc roll +ĠSc iences +Ġj ug +Ġam pl +ent i +LE FT +Ġt abs +Ġenorm ous +.get Key +loc ate +. EX +.st orage +.W e +Ġto ast +ĠAdd itionally +ĠN OW +_ UPDATE +Ġtrans ferred +th a +.D isplay +_ ui +ID EO +Ġmeaning ful +ĠMos cow +, this +ĠVict oria +æĶ ¹ +ĠÐ Ł +.st ack +ĠB arn +pared Statement +: string +Ġb ij +ĠST ATE +Ġemploy ers +ĉ input +( | +Ġle x +in voke +ĉ num +++ , +at ial +ors es +Ġfor k +_t xt +ĠAnton io +Ġ( < +aver se +Ġdev ast +ãĢ Ģ +.D ec +ĠG ard +/ ui +. % +tr i +Ġrol led +Value Pair +itt en +ĠTh er +Ġv rou +ĠFl ow +ĠFin ance +ĠCom b +H C +.set Visible +is l +Ġp k +Ġup set +( raw +ĠV ice +e atures +ĠL ang +Look ing +ĠA ST +Ġtri ps +ĠJust in +b rowser +=" '.$ +. vertices +- co +}/ { +Ġ? , +ĠD omin +ĠBel g +" < +Ġsup pose +add y +Ġwalk s +ERR U +_f ilters +Pre ferred +sc ene +е Ñģ +ĠAff airs +Ġ"# { +Ġon Submit +Ġstock s +/ view +g ree +- get +h it +J o +.get C +Initial ized +ÑĤ и +c uts +( Type +ĠAg reement +ĠViet nam +Ġ/* ! +Ġp izza +- view +_ em +Ġl hs +Ġm uy +ĠId ent +ĠF riends +Ġab und +_A D +.t imestamp +- ' +Ġd uplicate +Ġhun ting +Ġregul atory +ia o +am ous +ĠEnt ertainment +[ A +iat ric +_CL IENT +ĠK ids +/p kg +B reak +)) );ĊĊ +ĠSh ape +Ġrel ating +Int errupt +able Opacity +emb re +Ġmyst ery +Ġjournal ists +rit able +.L ink +Ġstop ping +CRE T +.D B +Ġpopular ity +Ġg ew +Ġim pr +set Value +FL AG +ĉm ax +Ġb ake +w y +ĠEcon omic +Ġen contr +Ġf name +/ de +R ank +Ġbug s +.s m +Ġmed ian +D OWN +ĠS ure +At Index +ĠD ick +Ġ( __ +.d elta +F r +Ġsuggest ing +ĠRec yclerView +, e +ST ART +/************************************************************************ **** +xf ord +Ġrece ipt +CL AIM +read only +Ġeng aging +C a +as ma +Ġens uring +Eng lish +ĠV ancouver +hy th +Ġpurch asing +ĠP I +. word +(s p +.h ome +: def +Ġg ig +ĠV e +for um +ĠM itch +B ay +_F L +Ġs oll +_column s +Ġminor ity +b ird +Ġhand ed +SS L +ST AT +Ġnerv ous +ĥ ½ +Ġfile Path +CRE ATE +A w +Ġp ens +se ed +ĠCom pute +ol k +ĠAs set +re ach +'), čĊ +n avigation +L F +/ util +ĠP ub +Ġâ Ķ +c ion +## Ċ +II I +Tag Name +Ġam id +per mission +if iable +xFFFF FFFF +н и +.B uffer +_ irq +d ark +Ġret val +.f ire +produ ction +.list en +ĠWe ather +Ġbuy ers +. ne +er p +ĠP ent +Ġw elfare +Ġpage Size +ĠSt adium +ert a +Ġle v +amp a +P ager +Ġcharg ing +ĠNet flix +| null +_r andom +.x path +Ġst ere +ĠIS IS +pons es +( loc +ey ond +ĠOff icial +ĠMary land +Data Type +_p ar +{ }, +ĠEn joy +_SH IFT +ĠA wards +_ENT RY +Ġseem ingly +entic ate +Ġheart s +_ ;ĊĊ +ĠH IV +Ġindiv id +ĠFl ag +_ ctrl +ĠC allback +, z +ĠG PU +ĉ obj +ĠPh oenix +ĠB US +Ġrub ber +_A UTH +ĠSol utions +( location +Variable s +.set Enabled +_h igh +W O +G esture +Ġre try +Ġobject ForKey +allow een +Ġm os +ĠC ele +Ġik ke +(c ell +ĠM ODE +ren a +Ġdescri bing +Ġph i +Ġr d +Ġdes erve +Ġwhe els +å¸ Ĥ +Ġcrit ics +N amespace +ĠF ra +Ġ ĊĊĊĊ +Ġall a +Ġrequ iring +æľ Ł +ut ation +Ġdelay ed +Ġadministr ative +Ġb ay +.h idden +T ex +Ġbound aries +Ġ] );ĊĊ +ĠFollow ing +~ / +F i +_con v +_T ITLE +Ġdes de +ICollection View +Ali as +Ġb ite +pat ient +_COMM AND +Com pleted +ĉ elif +( < +B usiness +ĠP ool +Ġpurs ue +ĠB an +_st eps +_DE CL +um ble +Ġcom bo +ĠL ayer +.x r +Ġd up +-------- - +Ġmod ifier +ro b +re z +Ġath letes +Us ed +w ear +Ġlegit imate +Ġ" ĊĊ +Ġh v +St d +ĠH old +Ġsurv iv +ĠAll iance +ĠEar ly +Beh avior +(f ont +/lib s +Ġrect angle +Ġs inger +Ġam p +Equal To +Ġ" ." +Ġgirl friend +å ± +line ar +obs erv +Ġpi ù +Ġcomple ment +With Value +(p assword +t ake +Bl ank +ĠCom par +' ", +_p olicy +m ongoose +_FA ILED +.re port +R atio +.Perform Layout +us able +m ers +_re nder +PE ED +Ġles b +ĉ E +_t ool +Ġl adies +о Ñģ +)) ))Ċ +;; ;; +.d ot +Ġn est +pe ak +uk kit +ec a +_S W +Ġ& ( +ĠOk lahoma +Ġbank ing +ĠN intendo +Ġreprodu ce +_element s +_m ac +pro xy +Ġremark able +}/ ${ +Ġout s +.has Next +M ODE +Ġan ime +.con n +Un ique +D om +Ġimportant ly +itt y +Ġju ice +T w +ĠPart ners +Ġattack ing +Ġport able +am iento +.P ictureBox +.g en +Ġopt imal +Ġre cre +Ġjournal ist +ĠEx tract +ĠMore over +Ġmargin Top +.A p +Ġf iring +Na N +ĉ template +аР´ +. En +Ġdef ence +ĠT el +il en +j an += data +ĠU rl +ĠRe uters +(t otal +ĠFif th +Ġess ays +Ġinterpret ation +Ġchar ity +ĠR ules +Ġsub section +st yled +az er +l ags +L IST +Ġupload ed +Ġtr ash +Ġreg istr +Ġsell er +>' ;čĊ +Ġstart Time +ç Ļ +s y +(Http ServletRequest +Ġtr ap +G C +Ġembed ded +Ġsurround ed +im its +T X +yl inder +ĠF al +Ġsent ences +ĠJ a +IF ICATION +we apon +ov ation +Ġco at +Ġinter pol +Ġl ips +ĠK y +Ġv ectors +_ am +Ġint ake +.w orld +Ġin box +ĠM AC +_ ab +(name of +Ġent ert +Ġgather ing +ĠS IM +++ . +ny a +' }} +ĠUP DATE +Ġp ac +( html +ĠS ant +i ating +ĠIde as +Ġspr ay +ĠH art +Ġver ification +ades h +/ modules +ĠM ind +ĠSized Box +Ġsh elter +Ġher oes +att y +Ġcert ified +s j +Ġê tre +ÅĤ o +Ġpublish ing +ĠMal ays +.get User +ĠPro vider +ĠLinked List +ĠB or +RO UND +d id +t ain +p ire +ĠJ enn +t el +and e +_f ront +ĠMc G +Test Method +à¸ Ń +Ġoccasion ally +ĠW ales +Ġexerc ises +ĠÐ Ĵ +- plus +Ġvalid ator +Ġpr ayer +L ATED +_ author +Ġlab our +++ Ċ +-e quiv +ĠG PL +Ġface book +s imple +g ly +Process or +ip y +Ġ* > +Ġcle ared +ĠP ush +Ġpen is +Struct ure +li j +ĠM organ +Ġhand ful +" .Ċ +| \ +Ġ ******************************** +ĠA qu +_ IC +.load s +Ġm eter +ĠMar ine +:: { +ĠT S +ĠArray s +.T itle +GR AM +ter min +Ġco inc +El se +_st ates +-r un +m embers +ast ro +Ġon Press +Ġbe ings +Ġabandon ed +Ġtax p +own ers +.m ode +Ġdiagn osis +Ġ_ Ċ +ĠK night +ĉ A +Ġob serve +), ' +! ")Ċ +ĠPar a +Ġvari ation +( False +ĠAnt i +Ġg ri +Ġhome less +? v +Ġbe z +.S erver +re lease +ĠP atri +Ġchar s +Ġrank ing +activ ation +Ġw ides +q r +.S ql +ac ular +ĠB ot +_s ync +Ġhapp iness +Ġvolunte ers +Ġs its +/ < +[ e +(file Name +Ġcap ac +ĠMar ia +f ather +Ġgr am +* i +Ġcas o +_d raw +ĠR aw +ĠIter ator +ĠP adding +P D +BO X +ĠS PECIAL +Ġfe cha +Ġv ide +ĠLe ader +ä» ¥ +$ (". +Ġdiam eter +Ġm ild +Ġrock s +app ings +d irectory +.fl ush +ĠJ ess +UN IT +ĠP ear +Ġmand atory +S ur +q t +Ġstream s +Ġco operation +ĠS ac +Ġche aper +ĉ ch +an imation +f are +( height +( True +N Y +Ġw rest +Ġpoll s +Ġencounter ed +ĠMarket able +_P ASSWORD +_SE LECT +ĠArab ia +_c lock +Ġv oy +Ġи з +Ġst ir +is ible +-e ffect +.c reated +Ġto ys +ĠTrad able +Ġr ust +Ġstr cpy +_t imestamp +Ġtalent ed +, null +ĠJ obs +ĠPort land +Ġweak ness +Th row +ĠAng el +ä¿ ® +Ġun cert +ï¼ī Ċ +ĠìĿ ´ +Wh ich +Ġ[- ]: +S omething +Ġconv icted +k le +ed ium +Ġbranch es +Ġb ases +ç ® +Ġcomplex ity +ĠF ig +. reshape +$ db +_CON ST +ĠT es +.r untime +Ġden y +ĠB SD +Ġk r +h att +ĠSt atic +Ġunivers ities +Re place +Ġdro ve +Ġad oles +_pl ugin +ĠL GBT +Ġt ex +du ction +ED I +ĠT ed +_ URI +Ġre ception +art en +.S ingle +r ice +sc ious +_b g +Ġw ages +ĠS ervlet +UIL ayout +Ġform atted +.M od +< class +is en +Ġrepresent atives +"] = +Ġport al +ĠHun ter +Ġh iring +__ )Ċ +ric ulum +u o +li est +Ġt ears +L at +Ġliter al +.In sert +Ġc urs +ĠCom put +Ġterror ism +Ġswe ep +Ġ[] čĊ +Ġpass enger +Ġeast ern +Ġtwe ets +Ġoper ated +w nd +ĠS yn +.t ools +ĠW M +ul ates +Ġbacter ia +( bytes +.set Data +Ġvis ibility +// ================================================================ +el m +Ġgener ating +Ġm v +Ġk h +j en +/ search +Ġaccount ing +se gment +act ic +. ip +Ġdeploy ment +Ġfoot er +> ',Ċ +Ġexpand ing +ĠHam ilton +ĠCon trib +.T ables +Act iv +H H +ocom merce +_ ; +Ġamong st +ow ing +ĠC old +AP H +Ġpsych ological +_t ensor +Ġpack aging +ĠSw eden +Ġp are +Ġag gregate +Ġmoder ate +_h and +Ġdesign ated +Ġdr um +Ġget User +ĠC reek +_s cope +ĠTrans fer +ĠM arg +Ġfight ers +W nd +ĠS el +ĠLa unch +Ġemerg ing +if rame +ĠAdd itional +Ġf ears +Ġsat ellite +_ : +Ġdis posing +Get Value +Http Post +AT IVE +ul ary +View s +Ġatt ending +ĠT ennessee +ĠM ission +Ġmedic ation +ĠW y +ĠAn na +Ø ¹ +ĠVert ex +.t ypes +O rgan +.DataGridView TextBoxColumn +ĠR S +Ġtemp o +( App +Version UID +.p oint +ĠD utch +H ours +L U +Ġqu oted +.b uilder +ĠPer fect +ĠAl ways +_t wo +Ġexclus ively +ĠC ra +ific ar +ĠA WS +ing ham +com plex +k ernel +Ġgr avity +Ġw i +Ġover view +ĠW ant +ĠW P +( sh +. rotation +St ates +ĠTe en +_com ponents +ì Īĺ +Re ceived +Ġly rics +rit es +ĉĉĉĉĉ Ġ +-A merican +[ num +/ python +ĠU ART +Ġapp le +ĠJon athan +Ġmoment um +ภ± +Ĥ ¹ +Ġm ich +and ra +Ġbi ological +ĠM ens +Ġ% % +else a +ĠMex ican +.rand int +Ġt ale +ĠValid ate +Ġdefe ated +.ht m +Ġcop per += / +cos ystem +Ġr ip +dec imal +.V ISIBLE +ĠT a +ĉĉĉĉĉĉĉĉ ĉĉĉĉĉĉ +Ġdownload ed +en vironment +Ġnom ine +build ing +ĠSp ot +ipher al +Ġal to +qu et +ĠF T +/ get +/m aster +W IN +åħ ĥ +W est +arg c +Ġprodu cers +ĠM uch +_st orage +cred it +CON T +Ġv et +Ġvo ices +(' ', +Ġinstr uments +ĠM SG +es se +re pository +om ics +Ġdeal er +St ill +Ġb anner +asc ii +Ġrem arks +[ js +Ġshort er +g ulp +Ġmyst er +Ġk un +ĠB ird +Ġti ene +n ut +ĠU m +Ġw ise +Y eah +INE SS +_b egin +- heading +C ourse +Ġ čĊčĊ +omb ie +grad ed +ĠG PS +Ġ że +F it +c aption +ö n +/ image +l ia +(m od +Ġle ak +en za +/ H +ĠH appy +D ist +n x +ĠGovern or +(l ast +te acher +ĠS ent +s upport +ject ory +Ġ Ùħ +Reg istration +ĠGr ay +, false +Ġadjust ed +( settings +< R +ĠM age +Ġpl aint +_ )Ċ +ĉ it +omet ric +. bootstrap +Ġcar ries +I p +Ġ! $ +Ġswim ming +ĠMar io +ĠQuest ions +P ACE +æĸ ¹ +e or +}} " +Ġo ven +ĠK on +Ġwis dom +Ġac quisition +ess ment +ag ine +Ġexpress ions +Sequential Group +F ront +ul pt +aw k +'] )ĊĊ +_ AR +Ġanal og +ul in +_PR INT +ĠL G +Ġb lob +ĠFurther more +_com ponent +ĠC ole +L AN +SCRI PTION +Ġl ap +icens ing +_TIME OUT +ĠF ro +Ġli ability +Ġcom posed +.create SequentialGroup +_p erson +Ġbe am +ĉ ĠĠĠĠĠĠĠĠ +ĠNot Found +. 'Ċ +ÃŃ s +.Text View +P DF +Ġk ar +__ (' +Ġ" :" +_m essages +Ġhar vest +.h istory +> 'Ċ +-f old +æ Ĭ +ĠBet ter +Ġ"\ < +sp acing +Ġfurn ished +os er +] }Ċ +Ġ$ " +p ull +.P ost +( ip +Ĺ ı +.f ront +nt e +ĠF M +g uid +Ġnegot iations +agon al +Ġtrem end +unge on +Ad v +car ousel +ÃŁ e +_DE SC +Ġham mer +áº Ń +ĠĠĠĠĠĠĠĠ ĊĊ +-c ore +-s ervice +Ġcorn ers +ĠS F +p red +> A +ĠJ Label +Ġrom antic +Ġtestim ony +os c +ĠGener ation +as ures +_int ernal +Ġprint s +Ġ] )Ċ +ĠC leveland +re po +D isc +Ġ" >Ċ +�� �� +Ġne arest +_t b +( require +EO F +- child +Ġbu dd +.Xtra Editors +alt ies +\": \" +W ords +Ġloc ally +Ġpurch ases +Draw er +ex tract +Ġexec ut +} '. +user data +Ġfocus es +-min ute +ĠP ublish +og o +Ġmount ains +B ot +} >{ +Ġt ension +ro d +m esh +Ġtransform ed +, R +() }Ċ +.l ong +Ġg orgeous +ĠS chedule +Ġol dest +Ġsub process +( IN +y ect +ĠCo oper +arn ess +ĠMon itor +.p art +ĠN BC +Ġc otton +Ġh ol +Ġrg ba +ĠB io +Cont inue +P od +Ġparticip ating +clus ions +(By Val +à ¬ +ĠH OW +_set opt +Ġaccompany ing +at on +Ġ/ \ +ĠAuth entication +i én +ĠBar ack +/* . +Ġe ager +ĠC ancel +< lemma +ep h +ĉ window +Ġinc idents +), ( +.D es +ib e +ĠFunction s +Ġhosp itals +Ġo xygen +root Scope +Ġd rew +ĉ request +not ice +ak u +am ents +f ar +Ġprec ise +_w rapper +Ġlisten ers +A Z +.b ounds +ĠA verage +field set +_ axis +Ġexam ination +' .Ċ +mon s +++) {čĊ +ĠForm s +íķ ľ +Cpp Method +_tr ace +Ġengine er +ĠFl at +Ġrev ision +Ġhe ating +/ profile +.r u +p riority +Ġin fer +_ST REAM +Ġ* )( +> $ +OLE AN +OK IE +IB ILITY +U AGE +ĠSur vey +Ġres ign +w ing +Ġsecre ts +Ġch ips +JSON Object +Des ktop +_SY MBOL +(res ource +ĠĊ +Ġnew est +ul i +Ġdes ert +Ġd ip +ĠP ow +Ġequ ation +Ġposs ibilities +ĠF ed +os ph +Ġ[ % +Ġb ubble +ether lands +Ġc ement +. auto +_ AN +âĢĻ . +se lection +ĠB ond +D en +- O +.get Type +.W indow +p res +Ġsw inger +" })Ċ +Ġp ip +Ġm ice +Ġcomp ound +- plugin +ik o +Ġcent uries +ic ular +-in line +ĉ key +> \< +EN SION +Ġ[ čĊ +Ġprecis ely +Ġét é +ĠP ast +ĠCam bridge +-f ull +Ġanaly ze +ĠSte ven +Ġn em +d ue +ore n +Ġmus cles +ij ing +/ - +ĠKenn edy +R M +oss ible +Ġact ress +Ġd olor +å½ ķ +Ne ed +.t oggle +ĠR ace +w ers +.m aterial +ĠD ue +ĠP el +# print +Ġindepend ence +ex us +Sh adow +Ġenc oder +( level +ĠSw ift +.d oc +_se lection +Ġserial VersionUID +Label s +Ġperform ances +.T ag +ĠN HL +iz en +/ UIKit +_CONT ROL +Ġearn ings +ĠAl t +_H ANDLE +C tx +Ġpers u +Ġtr an +ç ¨ +_CH ANNEL +Ġsatisf action +ĠG P +io x +m itt +land o +Ġp ig +inal s +ê ncia +S urface +ĠU UID +Ġbenef icial +Ġsequ ences +ĉmem set +Ġmag ical + « +Ġw orn +AS C +pop up +COM P +_b efore +en ess +U i +L es +.re quire +.Serial izable +add Gap +Ġauthor ization +.py plot +urr ay +lat itude +fr ames +aj s +Ġcomp ass +Ġobserv ations +_s up +.en viron +Ġtri ple +ĠRub y +Ġdr ain +_F ILTER +S an +UM P +Null Exception +ĠG ab +ow e +ĠTurk ish +_se quence +ĠGr ant +uel a +Ġw o +Ġc ube +i q +Ġdis orders +Ġextra ordinary +Ġc trl +ĠSe q +ent r +Ġsan ctions +uts ch +Re ports +Ġin herit +Per iod +Ġphot ography +ĠF ramework +Ġspecial ist +Ġ? ĊĊ +_ selected +.P layer +Ġal location +( account +Ġstruct ural +v able +- offset +.App CompatActivity +аР¼ +.Add WithValue +Ġicon s +Ġshut down +_l ow +ĠCom pare +ĠC e += head +l am +.p redict +_DE C +ĠS leep +ĠGr atis +Ġsuggest ion +ĠD EL +ca ff +av irus +No thing +ŀ ĭ +Ġwides pread +Ġmechan isms +Ġtext Align +occ up +ĠR ail +: NS +Ġf iber +Ġm k +Ġv intage +-l ong +.re duce +. Entities +( record +Ġple asant +FR ING +.C ells +OT T +ĉelse if +_con firm +ĠView Group +s ym +Ġpr ay +Ġsus pected +Cont ains +Ġb orders +Ġcomponent Did +ASS ERT +Ġinf inite +- order +Ġh ello +ĠGr ade +.currentTime Millis +apol is +z h +ĉ Object +: \\ +H O +val uation +Ġvoc ab +Ġcou pon +atab ases +.Get Type +L earn +] =" +ĠG ary +ot ive +Ġas h +Ġb ib +XX XX +Ġbal anced +VAL UE +ĠN at +_A d +< E +åĮ º +ĠMethod Info +L IB +Ġconsider able +ĠInd ustry +test s +.set Title +ĠBl uetooth +Ġm apped +ĠBru ce +ĠMain Window +ĉ status +Ġr az +ĠM and +Ġclass ification +Per missions +Ġ---------------------------------------------------------------- ------------ +Ġcontain ers +: set +_x ml +Ġwh ilst +Th rough +Ġval ign +Ġworld s +C ORD +ED IA +ÑĢ Ð¾Ð² +Ġsp are +ĠH ad +ĠDE F +(p tr +Ġwarm ing +ठ¾ +Ġcons ensus +ag ne +CT L +Ġì ķ +.M ain +web Element +Ġp ist +Fl ash +App end +.tw img +T ap +Ġveget ables +al g +.s ample +Ġcoach ing +( ind +Cell Value +Check Box +ĠH ell +RO OT +Ġst adium +Ġinvestig ating +) % +st ed +ĠW riting +Ġê ² +Ġun o +Ġ{{ -- +Ġco ords +Ġun ser +organ ization +ĠCr ime +ĠDemocr at +Ġv in +/ file +- api +ĠA y +Ġfund ed +ĠBre xit +ĠG h +ent ina +c ases +Ġd ash +Ġ!! }Ċ +H I +Off ice +Ġcapt ain +Ġwor ship +\ C +Ġglo be +_ board +Ġbab ies +Ġconsec utive +Ġenh anced +ere um +ĠAd vis +Ġgr ain +Ġc raw +ancell ationToken +. alpha +_W ITH +ĠO tt +ĠC ool +.b atch +Ġver ified +(c allback +Ġreg ards +ĠInt Ptr +ouch er +Ġk in +Ġtou ched +it Ãł +ath on +Ġadj acent +Ġaccom panied +LE AR +Ġim plies +Ġh ill +ĠBalt imore +=" - +Fin ally +S am +ic opt +Ġs od +Ġm aj +ĠSh ipping +Ġget All +Ġcoach es +Ġdon ations +il ot +ĠT ar +c err +Ġbad ge +Ġmark ers +ĠR and +ais ed +iss ance +Ġexpl oring +uc ed +ĠIndones ia +Ġbene ath +Ġmagn etic +Ġm useum +match Condition +Ġdis rupt +Ġrem ind +ĠT M +Ġ/ >< +Ġf ool +Ġes k +.N ull +ĠD ies +_OUT PUT +_TYP ED +Ġpaint ed +Ġsoph istic +ĠB ear +* n +_P ACK +Ġdeliver ing +ĠC OUNT +åį ķ +Ġj eg +-c ar +f name +Ġr anging +ĠN eg +/ ******/ +ĠCH AR +Ġul tra +Gr ad += t +Ġjud ges +ĠD ise +ann ers +Ġsc al +_c al +ĠCON NECTION +_ embed +(f n +ĠC raft +ĠP as +") -> +.con vert +.res ource +ĠST ATUS +ô ng +ĠT it +Ġclass room +ĠArch itect +ĠK ings +Ġstead y +/* !Ċ +ĠG ene +) ";Ċ +ic ia +st an +ĠCon struction +um per +w c +ĠC BS +ing ing +-p arty +(d river +M ARK +Ġn ested +ew ard +Ġdepend ency +Ġm ales +ĠO NE +ĠProdu ction +][ $ +ãĥ¼ ãĥ +_LO AD +ĠB ol +el ry +ł éϤ +ĠRe quire +Ġpl acing +xx x +CA LE +Ġth umb +Ch oose +Ġprot otype +VO ID +Ġles bian +Ġtra its +Sh arp +Ġconsum e +Tr uth +Ġaction Performed +ĠEnvironment al +ĠDe an +Ġest ado +s ame +Ġnumer ic +Ġtrans it +. Email +-s ide +_R UN +ĠVill age +_OP EN +è ¦ +.re m +-w arning +any a +Property Changed +Ġ(! _ +( check +il ia +ĠSo ft +st eps +ĠMad rid +Memory Warning +Ġhand lers +Ġexperi encing +Ġins pect +button s +Receive MemoryWarning +chem y +Link s +Ġur llib +.System Colors +ĠE igen +Ġpun ishment +:UI Control +bar a +- set +Ġ}čĊčĊ čĊ +Ġtoler ance +Ġinter faces +. redirect +ighb ors +cs rf +_back ground +. Utils +_H T +ĠInter est +im os +Ġgr ants +Ġexam ined +Ð Ķ +Ġc f +for ge +back s +ĠObject s +_s ent +. entry +ĠTH EN +ell ido +c ia +, res +/std c +. nd +( Int +ĠAuth ors +ĠApp CompatActivity +' { +Ġmed i +M usic +ig m +ce ipt +Ġa uss +Ġtarget ing +ĠKe ys +h n +: ]Ċ +Ġmin eral +à ® +.c a +om ed +Ġshe ets +Ġc amb +Ġdead ly +.in ject +( unit +ĠSe lection +.g ms +( connection +Ġ$ (" +é mon +ĠCurrent ly +pt e +_path s +le af +Ġimp lications +pos al +ä½ į +[ / +anc ia +é Ľ +m ul +c ie +Ġge ile +im als +UI View +Ġs urre +serial ize +IS O +Ġarbit rary +Ġsock addr +.f n +ĠM erc +Ġcast ing +Key Down +Ġnew Value +op ens +T odo +Ġflex ibility +ĉĉĉĉ ĠĠ +V elocity +ú n +row ing +Ġcomput ed +` )Ċ +st atement +Ġr i +_c art +L ow +trans fer +.n av +Ġgr ave +ĠDo or +ĉ alert +.sub scribe +- profile +ĉb ase +ĠâĪ Ĵ +__ ĊĊ +Ġengine ers +Ġexplos ion +Ġd ari +ĉ Log +on al +Ġisol ated +{ i +ĠM sg +F uture +Ġrac ist +-w rap +ĠV ers +b org +IS ION +Ġ ÑĢаР+ĠY an +init With +Ġn omin +( empty +ÃŃ n +ãĤ ¤ +ĉ width +Ġch amber +/ ajax +EM P +Ġnec es +iv os +log ic +*) & +cript s +Row At +ib lings +Ġe ars +Ġcomput ing +Ġm aker +ĠNe ither +b readcrumb +Ġserial ize +ĠWith in +Ġd ell +_TR ACE += a +Ġwish es +-in ch +ĠD or +Ġinnoc ent +ĠD ol +Ġint ens +for ced +ĠB IT +Ġphotograph s +Ġcas a +ĠL en +\F ramework +.S imple +Ġde ar +)/ ( +ip pi +Ġown s +Pl ayers +Ġpropos als +.p i +us alem +D amage +Ġcal ories +ĠCreat ive +Ġ[ $ +Ġ// čĊ +And View +è me +.c ustom +_f actory +command s +_lo ok +Ġstr cmp +Y N +a ired +Ġaud it +о ÑģÑĤ +ĠRe verse +ropri ate +et ics +< vector +.s elenium +. or +Ġpred icate +Ġfinish ing +Ġk le +ĠRep os +ĠK han +ĠM aking +ĠF S +Ġp ute +ĉ state +_S UPPORT +' - +orient ation +Ġexist ed +atur a +Ġexpect s +ĠSh adow +Ġorgan iz +å ŀĭ +Ġsusp ension +Ġu it +Ġsimult aneously +ĠAff ero +: ");Ċ +Ġro cket +c as +eter mine +ace ut +x l +ĠA MD +( graph +ass oci +_C R +.ar ange +(j Label +Ġbe ef +Qu ick +.c ard +] ): +- gr +.G ONE +_C LOSE +ĠNe v +ÃŃ as +Ġste pped +ĠFre edom +ĠW R +NS Array +_r x +_d ialog +Ġhot els +Ġ( \< +ĠD iamond +Ġassum ption +um i +( items +č ččĊ +æ³ ķ +Ġn el +Book s +åİ ¿ +us b +ĠF IN +æ ¬ +Ġcorpor ations +US A +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +.p roperty +ew ise +_ plot +"> ';Ċ +Ġpe pper +Ġsh ed +ĠMed ium +ĠC ookie +Ġoverse as +ed or +asure ment +åŃ ĺ +Ġ' .' +Ġph p +ĠPRO C +Ġexception al +( th +ĠJ et +Ġoccup ied +.set Image +ĠRel ated +uck er +M embers +PR INT +ĠG lo +_V IEW +} ",Ċ +Ġad option +[] )Ċ +ĠMiss ouri +ĠLin coln +eral d +Pop up +Ġf ate +- bootstrap +fe ctions +ĠP oll +_ARG S +in ance +-h ome +. ), +_d one +: ĊĊĊ +Ġdiscuss ing +ĠSQL Exception +Ġelect ro +ĉ req +Ġz w +Ġl ui +Ġover night +$ user +ĠW AY +Ġall erg +Ġdisappoint ed +Ġradi ation +Ġimpress ed +ific ates +Ġto b +CL ASS +Ġc uda +_d et +- post +ul u +Trans lation +-h and +.y ear +ĠM ongo +Ġun clear +. engine +WEB PACK +r ices +_AC CESS +Ġh olidays +per cent +.Id entity +ĠG ov +Ġpassion ate +!! . +ĠGree ce +plus plus +')) ; +G P +Ġexc it +.tab Page +_ cond +Ġspons or +M ODULE +_pro c +Ġ$ Ċ +Ġr ational +.T ool +Ġi hr +cc a +åĵ ģ +ĠE state +IB UTE +Action Performed +ĠS olar +¦ Ĥ +Ġequ ity +t id +Ġrec ip +.s imple +m k +ĠL uke +ĠGuard ian +Ġenc rypted +Ġdomin ant +. place +ĠN V +Ġtong ue +( Get +Ġst ainless +.P lay +Ġe b +ac i +.b uffer +readcr umbs +Ġvacc ine +p rom +Ġuser Info +Ġsl ug +Serial izedName +-w ide +Ġre actions +ĠY ang +ĠAdd s +(user Id +Ġpl ates +ĠM EM +Ġb ail +In side +et ed +Ġels if +Ġs ake +Ġc ycles +Ġì Ĺ +ĉ I +-c ollapse +ĠG MT +De claration +Ġg ros +Ġreach es +Ġcust ody +Unt il +t u +ĠCh en +Ġn x +( addr +ĠO ffer +Ġcol leg +ass ador +Ġm apper +ĠS IGNAL +ĠB loom +ĠH oll +ĠIm per +-d es +_s ite +Pro c +E qu +Ġat omic +ĠW oman +s ent +sc ar +Ġint elligent +ĠGet ting +ĠReg istration +ĠPh ill +Ġkill er +unic ode +Ċ ĉĉĊ +ĠJac ob +ĠCon st +Ġloc ate +Ġca us +ĠSch olar +Ġconstitution al +Ġinfl ation +ĠG ot += array +end um +Ġtransl ated +Ġdiv orce +En tries +Ġs or +ĠQu ote +irl ines +U K +Ġexc el +( opt +ĠAD V +,: , +Ġcontact ed +ĠD A +Ġr ings +ĠIndust rial +.get Context +Ġforg otten +ĠT an +Ġp ants +Ġo v +Ġdec oder +ĠPart ial +Ġv c +Ġbatt les +A rial +FRING EMENT +ir ates +, w +aint enance +ĠO d +ĠTechn ologies +åī į +ĠCar ter +.find All +N ome +B en +ĠUs age +ĠP icture +Ġbad ly +_p anel +Ġpat ent +ĠProt ocol +lot te +ĉ player +je ctions +Ġd ou +_re lease +urn iture +_t ax +ĠF ields +.d ataset +_m aster +CLU DE +ĠPh arm +b st +Ġoper ational +.c ell +Ġident ifying +Ġj wt +t uple +ĠT C +ĠC ro +ix map +- components +gener al +Ġo z +_D e +_d ouble +ĠTo o +.View Group +g ate +d ings +ph otos +Ġgrand e +ol lect +_l in +Ġaw ful +f ilters +Ġaltern ate +es p +Ġcomp ress +e o +ĠS cale +Ġind irect +Ġinv oice +ĊĊĊĊĊĊĊĊ ĊĊĊĊĊĊĊĊ +Start ing +ĠPl ayers +ie le +. then +Or d +ĠT uple +Ġb out +ĠStat istics +Pre view +Ġp uzzle +ĠW idth +ST ATE +Ġover lay +ĉ on +Ġin fr +Ġsm allest +lock ed +ÑĤ о +ss l +Ġde emed +Ġs co +re ck +Ġj Button +Ġmiss ions +ç§ ° +.Selected Index +T ABLE +Se pt +Ġacknow ledge +Ġstrt otime +ĠT ell +ĠD ak +Ġal uminum +Ġf ence +ĠSt ars +CON FIG +Ġretro fit +Ġemph asis +/ header +ĠS omething +in ished +=' ".$ +ĠValid ators +Ġpol ar +section s +.as px +Ġas pir +.M ock +Code Gen +Ġpe ut +Ġaccept ing +Ġback ing +P icture +/ ap +еР³ +_SE C +- use +annot ation +Ġcogn itive +Ġg rip +h our +ĠLeg al +Ġep ic +.t oolStrip +.not ify +.L ast +OR IZ +M iddleware +cri ptions +l ash +_F OUND +ĠLiver pool +Ġ{} ", +Inst all +Ġn it +Ġfig ured +[ len +.W in +.pl atform +Ġgam bling +(d t +av ery +ĉ include +Wh ether +R outing +Ġther ap +Rem ote +ĠL oss +y ll +Ġappro ached +ĠV ehicle +ĠAl pha +Ġvoc ê +ans wers +NS Dictionary +cons ider +un used +ĠF an +or able +f re +ĠDIS CLAIM +ĠAct or +. ] +to Have +.user Id +Ġspeed s +ew ay +Ġrec urs +ĠÐ ³ +_pr iv +! âĢĿĊĊ +Ch oice +Ġsett le +Ġplan es +' }, +T om +IT ER +! "Ċ +å » +achel or +Ġsepar ation +Ġd al +ad j +Ġreg isters +r iz +ĠNot ice +Ġl u +Ġcour age +Ġax es +cell ent +.as ync +Ġcompat ibility +ç « +Ġ! ĊĊ +ĉ title +Y LE +ĉ message +U UID +OLD ER +ĠH H +ĠStyle Sheet +Ġaccess ed +. validation +t asks +Ġpoll ution +.c anvas +Ġing redient +ĠC abin +A h +old own +ĠNO I +ĠÃ Ĺ +[ f +ed uc +y alty +(n ot +_ State +am en +Ġda o +ud ad +ell ers +} & +lic ity +_W INDOW +Ġt atto +val or +.R ange +Ġrefer enced +ĠRes erve +M oney +SCRI PT +/ product +cho ices +Ġt in +ãĤ ĵ +Ġsepar ator +Ġp kg +am med +ĠM AT +! !ĊĊ +Ġr aid +Ġmotiv ation +ĠX P +ĠBack ground +ĠQu aternion +.define Property +ik er +ĉp arent +ĠOrigin ally +ant age +ĠH ans +Ġtim eline +.c ur +op ic +ĠSe qu +m ust +ĠCo al +Ġform atter +_R GB +Ġ_ (" +'} ),Ċ +Ġ= ================ +ĠF UNCTION +Ġl ng +ic ates +l ive +_ engine +Ġtown s +')) ĊĊ +ĠP K +( api +ĉs canf +pack et +.ph one +á Ģ +ĠAnd y +_N AMES +PL Y +Ġmin s +im i +Ġbr ick +Ġbl ade +.std out +}` ;Ċ +Sh ift +ĉs b +ĠCheck s +Ġphenomen on +Av atar +Ġmin istry +ro se +ĉ File +Ġtit led +( LOG +Ġg an +des ign +(), čĊ +Ġb ones +st m +ÅĽ Äĩ +ĠInput Stream +Ġvol unt +ĠSerial izable +Ġfight er +ĠDr ag +T witter +Ġsubs id +ç ¼ +Ġfor ums +.load ing +log ged +_ this +Ġterr ain +Ġir re +ĠIn g +ĠC N +_object s +. uid +Ġconscious ness +T INGS +ĠG all +Ġport ray +ĠDevelop er +Ġparticip ant +Ġ" ;čĊ +/ model +ĠOper ations +^ \ +ĠL ater +Ġrais es +-n one +.m eta +=' .$ +Fin ished +Ġrepl acing +Ġsam pling +ĠJ en +" There +RE AL +A LE +ìĬ ¤ +Or ders +_param eter +ĠOlymp ic +Ġtr ès +Ġare na +i ol +; ?> +Ġimpact s +ĠW S +: get +Ġfl ights +ĠRuss ell +c amera +F n +s igma +Ġfor cing +Ġloc als +Ġdepart ure +Ġcelebr ation +ĠS ay +ï¼ Ĵ +ĠH ills +.has OwnProperty +Ġtyp ings +.A PI +Ġdon ation +Operation Exception +.Act ivity +c plusplus +ĠChar lie +Ġimport ed +Ġd ann +Ġoccas ions +Ġimplement ing +Ġpur ple +.d ialog +SQL Exception +ern o +Ġw ars +Ġpast e +Ġdecre ased +Ġhar sh +Ġel abor +input s +ĠView s +Ġerror Message +_m ul +ĉ write +ĠC op +ĠAnn ual +(b utton +Ġv ida +b ars +ĠHar vard +ĉex pect +Ġindex es +Ġdocument ary +Ġf lesh +OR LD +ĠD elta +M AND +Br ush +-c olumn +Ġdevelop ments +method Visitor +s lice +ĠP DO +Ġinvest ing +ir able +Ġxml ns +ï¼ Ľ +art a +Ġthe ories +_c ity +Ġ$ __ +Cre ating +( pr +D ropdown +ism atch +ĠN ET +'] )){Ċ +ĠVal ues +ĠSE O +ĠST AT +Ġe cosystem +Ġtem pt +Ġ\ \ +Ġ// {Ċ +ĠChrist opher +ĠKent ucky +ĠHttp ServletResponse +Ġhy brid +y on +Ġfeed ing +ĠEx tra +N orm +IT CH +ĠSe an +ĠUp load +m un +p ur +Ġp ersistent +ĠID C +ĠPer form +.m erge +_ room +Mean while +! =' +ĠW el +Args Constructor +.D atabase +Ġcount ing +() * +Ķ åĽŀ +ĠT OP +m ill +ĠD T +IGN ED +ĠK B +Ġcomp ly +S outh +_c ollection +Ch apter +Ġexpl aining +_ AM +_t s +c ards +Ġqu el +Ġp ole +Ġtouch down +ĠO thers +Ġpe ers +ĠType Error +Ġsix th +Ġche er +Ġdis pute +us c +) ], +th umb +Ġh iding +ĠS IG +lik es +ĠP AGE +.Ref lection +Ġhead quarters +T ING +ĠG host +M LE +$ Ċ +Ġcontr ary +ext end +'] ). +FF ECT +ĠP interest +úmer o +ric ane +ĉs ession +Ġcr ystal +- Control +overn ment +og raf +- action +v olume +ft en +Ġun con +Ġan imate +Ġle ase +sc r +Ġref use +ãĢ ĭ +ft p +in formation +Ġeval uated +Ġin jection +Ġj ack +Ġwork shop +æ³ ¨ +PT H +ĠT s +off er +ĉ os +Ġking dom +M issing +Ġlaw makers +ext Field +Ġsing ing +ab i +/ client +.m edia +ATEG ORY +Sign ature +% ',Ċ +ĠF uck +][ : +Ġsens ors +/ com +ĠPr imary +.S QL +_pro gram +Ġp ills +Ġinteg ral +Ġfle et +Ġdro pping +.s l +Be en +Ġp ets +Ġadvis ed +Ġdr agon +_ EDIT +( im +F ER +ĠDr ug +(r andom +Ġcomp ression +ou st +[ % +Ġbuy er +h op +R oles +man age +Ġpain ful +ĠBr anch +-mod al +en ant +ĠM esh +/ font +ĠG raham +Ġâ ĺ +Ġn c +ĠFranc is +Ġspec ification +Ġdam ages +- config +Ġthe oret +sec ure +_m ulti +aceut ical +Ġdemand ing +en ne +IST S +() ));ĊĊ +Re ason +Re cent +ph ase +Ġps y +_M AN +Ġvolunte er +å ¿ +istrib uted +li o +Ġproduct ivity +_com m +S pring +n is +. weight +ĠC ancer +Al loc +ĠT weet +Ġsepar ately +ĉ check +_p roperties +. Unit +_CL K +Ġg t +Ġ( );ĊĊ +Ġhand y +ĠThom pson +Ġunn ecessary +ĠRe ader +G N += request +ĠU tility +.Re pository +ĠA x +hy dr +ie u +Ġth y +Ġl t +_m ail +ä¿® æĶ¹ +ail and +ĠPhil ip +Ġbit ter +Ġbet ting +Ġtim ed +ock s +' a +Ġal gorithms +Ġre interpret +Ġto ss +ro gen +Ġhop ed +( selected +Ġvent ure +TE X +ĠLe ave +.Sub string +Ġgr ateful +uk a +ĠCon sumer +Ġag greg +C ircle +ภģ +_block s +Ġleg ally +Ġ" | +ãĥ ĥ +. board +.A b +Function s +rec ipe +è ĩ +ĠO xford +Ġwho les +.B uild +_ch anged +h ai +Ġdepart ments +I mp +Ġcoal ition +IN FRINGEMENT +Ġemp ower +itch es +N orth +Ġinfl amm +ON SE +Ġmiss ile +ĠR aj +ĠIss ue +Ġat oi +ca led +.Cont rollers +ĠW olf +Ġcrush ers +á» ĩ +.A uth +.add Attribute +h is +Ġbo ots +.c lean +c amp +Ġten ant +Ġt une +Ġ{} '. +Ġwork out +Re po +Ġpartial ly +MI SSION +j amin +ĠS B +Ġdetermin ation +Ġ' ');Ċ +ĠB eng +Ġv os +Ġin hab +/ lang +s burgh +Exec utor +h one +ĠCh allenge +_link s +.Le vel +Ġunder ground +-c ode +Ġoptim ization +log ging +_de st +Ġsn ake +Ġchemical s +_IMPORT ED +ado op +ĠTH AT +man aged +Ġredu ces +ĠRE AL +ĠG uy +_GENER IC +/ ******************************** +. amount +Ġd ere +get Time +Ġp ant +an onymous +Ġharmon y +ĠAl an +Ġscen arios +Ġd irt +ht ags +M c +Sh ell +r in +{ čĊčĊ +.p ow +ĉ client +Ġconspir acy +Ġad mission +ĠReg ional +ĠView Controller +ĠPhilipp ines +Ġde pos +Ġp ap +ĠP ad +P aul +.Com boBox +Ġt utor +ĠRec ipe +w riting +Ġcontrib utor +OT H +Sm all +V I +Ġh acer +e qu +ĠEx amples +h uman +.m essages +ĉt yp +Ġ( čĊ +ĠS SL +LE N +ĠRom ney +( grid +ĉ min +Ġ> ĊĊ +Ġfr uits +Ġvot er +In line +pan e +ĠC ollections +char set +Ġsp am +z b +item ap +Ġsucceed ed +_C OL +Ġel apsed +im eter +Ġrecover ed +T ensor +hatt an +.set up +ist o +( head +ĠS IZE +Ġtact ics +Ġdist ur +Ġpre val +ici os +( Value +_c ols +ĠF at +Ġse al +Ġs ons +Ġens ures +Ġpress ing += & +igen ous +Ġharass ment +_ JSON +Ġign or +yn omial +om er +_st atic +Ġsignific ance +Ġcirc les +_S ystem +Ġdiscipl ine +Ġdress ed +Ġs phere +Ġclim b +_ actions +ĠB ab +Ġ' =', +_s chema +" use +Ġund ers +Ġc ups +.s creen +/ new +Ġappe aring +T OP +vis ed +cl ang +Ġinvestig ators +Ġmyster ious +Ġprom ising +Ġqual ify +Ġc ave +Ġequ ip += x +G T +( link +. velocity +. erase +ot er +++++ ++++ +pro fit +Ġz ones +_ uid +- ser +Ġobject ives +Ġmil f +web kit +(m atch +ne h +ĠAssoci ated +ĠT odo += d +C am +Ġv ocal +Ġs udo +( EX +Ġtr ou +AB C +.b ean +ĠG round +ĠRE ST +we ets +In g +im on +_b us +ĠC OLOR +un to +Ġf oss +ĠLink s +ä ng +/ forms +pr ises +Ġachie vement +C ALL +ел ÑĮ +ĠVer ify +_S OURCE +apt cha +ID D +_re ference +G old +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĊ +Re ceiver +Ġa j +_d irection +} ] +ĠCom pet +Ġb ang +ĠC ass +- url +te chn +ĠJer usalem +long itude +' );čĊčĊ +Ġwin ners +T asks +ĠD MA +Ġtool tip +İ · +ĠB ra +_d uration +cur y +parent s +---- >( +ĠK ir +Ġint ros +Ġsk etch +Ġsk illed +Ġim mer +Ġade quate +_re p +( header +_ like +Ġper ceived +ss h +Ġassum ing +Ġf f +_u uid +ul as +Ġdemocr atic +. entities +S eries +aph ore +Ġnew er +} ( +SE C +ai ro +Ġcomm od +Ġprivile ge +Ġde ux +ĠH op +.' / +ct ic +. ';Ċ + C +ĠWar ren +Ġoptim izer +ĠSER VICES +_ oper +get Attribute +ĠMc K +_s elf +.r s +" )ĊĊĊ +Get Component +er ce +Ġt ous +un its +'] );čĊ +Z oom +/ E +Ġobs c +Ġfast est +on line +Ġpeace ful +ff en +Ġc argo +ĉ pr +Ġseek s +z u +Tr im +Ġw ard +Ġver d +Ġblog s +.exception s +ĠPrem ium +ĠN etherlands +S afe +Fin ish +ĠAl bum +_A CC += this +v irtual +] > +_L ABEL +ĠN ich +_w in +ĠA aron +W P +; $ +aim s +ĠImage View +Ġend less +ER A +_DIS ABLE +Ġcancel led +- us +Ġins pection +em in +ĠG rey +- open +Ġiter ations +. owner +Ġk eras +.P assword +ĠR y +ĠIN S +A ir +ĠSe veral +.Tab Stop +ING LE +ĠH air +ĠCan vas +AA AA +Ġfl aw +ced es +.Re port +í Ĭ +ĠT ips +cript ors +.trans action +.S pring +Ġview er +Ġins ights +è¾ ĵ +ord ion +U INT +se ek +ĠA uf +ìŀ IJ +Ġstr ain +To oltip +Ġd z +ign al +ad t +Ġu c +fin ite +Ġn m +.c md +ĠMy Sql +[ data +.j ackson +.t ree +Request Param +_ agent +") ]čĊ +Ġass ass +( Constants +: ss +ĠM AN ++- +- +ĠB ottom +print s +ĠS ame +@ Autowired +sw ap +ici ón +Ġprotest ers +Ġh oney +ĠV eter +(C alendar +- ad +ĠBrook lyn +L ife +_V AR +ze ch +ĠC ALL +_C AST +ĠE lection +Ġthick ness +V ery +_IN TEGER +- dev +)) )) +ap at +oo oo +d emo +Ġparse Float +ĠR ather +ST IT +m aker +[ current +chron o +Ġch rist +ãģ ª +ĠD etail +ư á» +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +Ġs ul +id ency +Q ue +Ġeleg ant +ap ons +Ġdish es +Ġinteg ers +( read +find ViewById +ĠAm ount +ĠSk ip +Ġhab its +* )( +Ġmon sters +M AC +: end +Ġfr ank +As sembly +Ġd fs +Ġne ut +_TYP ES +e qual +loy d +( uri +Ġch i +Ġdefend ant +Ġconflic ts +Ġv il +- js +ĠPe ace +Ġmut able +) sender +ĠF ocus +å» º +Ġapprec iated +s leep +ĠR ED +C ulture +Ġdesign ers +_g enerator +c odes +/ ex +.Get Value +umb led +.scal ajs +per or +Ġveter ans +Ġ} )čĊ +Ġun fortunately +_C REATE +M ass +ĠCL AIM +ĠMe et +_s upport +B ank +() .Ċ +D ark +_LO W +ĠMin ing +ĠO wner +ier a +Client e +Ġencour aging +> S +Ġboy friend +ĠH alf +ĠA CC +A ff +_ ar +-l ife +c x +.J Button +iz ado +.z ero +.open qa +ot on +.text Content +Ġto ll +at ie +Ġball ot +- number +. Exception +ĉ params +c ircle +-m ap +Ġn ap +ĠRob ot +ĠI ch +reg istration +Am azon +roll ment +( exp +Ġt anks +ĠG ordon +Ġmach inery +Ġbas eline +æ ĭ +Ø © +ĠCon vention +ĉ config +ook ies +m ult +Rec ords +ĠE ST +Ġgar bage +Ġcon form +id al +Ġb arg +Ġsurv ived +Ġinvestig ations +.contains Key +---------------------------------------------------------------- ----------Ċ +ort ion +Ġhor r +_ http +Ġm ant +] ;čĊčĊ +b inary +em pl +Ġin quiry +ĠMean while +Ġcollect ing +.Entity Framework +", ĊĊ +ĠP ic +@ Inject +ick ness +ĠB inding +Ġcont rolling +re verse +Ġch airs +semb led +( add +Dis abled +an as +.trans late +-------- ---Ċ +Ġref lected +"] ĊĊ +Ex ternal +Ar row +Single ton +% x +Ġ Å +Ġan cest +ĠOr leans +ĉc md +Ġprohib ited +ith metic +(ch annel +_c ss +For ward +.s ocket +Ġl uc +â Ĩ +ĠFire fox +ĠM ovies +) _ +. ends +( shape +Ġde alt +Ġs aves +Ġgl ory +Ġmej or +Ġbreath ing +Ġ eller +get Data +Ġang les +Ġtool bar +Ġsp acing +IP S +Ġflo ors +_ACT IVE +Ġsh uffle +/ shared +ĠE le +ed ish +Ġweb cam +.ex pect +il oc +ĠIn cludes +Ġtweet ed +Ġ: ) +ĠEss ay +F ix +-b etween +_ web +.con v +Ġrac ism +Ġreflect s +um m +иÑĤ е +_f ooter +/d ocs +ĠP our +Ng Module +.initial ize +pattern s +_ In +ĠAb b +* čĊ +Ġsent iment +b uff +_count s +Ġre use +ch unk +Ġim posed +Primary Key +Fore ground +Ġconsum ed +? ! +Ġd ick +Ġch ron +ĠF ern +Ġrespons ive +Ġin sect +icult y +Ġr w +Ġal ike +Ġsub set +ĠCook ies +ĠP air +Ġt ier +IF O +av our +ĠQ U +, sizeof +Ġmerg ed +m v +it ol +yl on +Ġjump ed +. role +ens aje +R ules +Ġb rowse +An imator +Ġy oga +Ġvari ants +Ġcour tesy +ur an +p bs +else if +Al t +ĠL ane +CL K +IM ARY +_PRO PERTY +ï¼ IJ +Ġch an +Ġgrad ually +Ġsh ake +Ġbl onde +... ");Ċ +-se x +Ġgame play +ac ies +.ref resh +US B +ĠPl ot +W as +iss ippi +ĠT ensor +Ġcryptoc urrency +Ġdifficult ies +De leted +With out +_ append +_ ver +")) čĊ +Ġhonest ly +Ġp ivot +Ġtem ps +_p s +ĠUn like +[: - +V S +_in f +Ġjun ior +Ġanim ations +Ġfile path +? {{ $ +Ġun icode +pl aces +ĠC offee +.S E +ĠP AR +(t xt +ge bra +Ġf ires +Main Window +med ium +Ġ( âĢľ +Ġl g +Ġc mp +/ base +_l ayers +_ entries +Ġadmin ister +ĠSU CH +B P +ĠScott ish +ĉčĊ ĉčĊ +gu ard +ĠStr ong +In sn +ĠC AP +as ury +ĠSE E +C lock +er ie +\ models +Ġ$ $ +ĠC ab +Ġwur de +Ġsold ier +Ġcl ips +Ġarrang ement +ĠW onder +ĠH orn +Ġsc ared +Ġc ure +m kdir +Ġal igned +ĠP ink +Ġland ed +Dim ension +Scroll Pane +.ch at +.W ith +ĠTr ain +] .Ċ +Ġth irty +Ġdur able +Ġl d +Ġlate init +Ġch arts +Ġins ult +.F atal +_ ct +Ġm asks +CLU DED +Pres ident +Ġcol ours +g ments +.at tributes +ĠF lex +ĠC lock +ÃŃ cul +im en +J O +ĠReg ex +_L INK +Ġc ouch +ĠIN PUT +Ġbe ating +b usiness +pre ced +. unit +ĠF el +N ever +osp el +.start swith +ĠE PA +. only +Ġprevent ing +y er +Column Name +Ġelev ation +fl u +icy cle +Ġoff line +Tool bar +Ġcompet ing +) ]. +Ġm og +Ġis Valid +As k +_ av +_l at +AN C +ĠJ oh +k ers +Ġgu ards +Ġch ains +ĠSimple DateFormat +.st atic +Ġvess el +Ġm ud +Ġst abil +Ġst ret +g m +am ation +ç ľ +-w ith +Ġro s +_P A +Ġresult ado +Ġconf idential +ĠTok yo +ĉ using +ĠMath f +omb ine +ĠESP N +Ġdeal ers +Ġdismiss ed +TR Y +Ġte ens +rec ords +Ġw ings +g allery +account s +_L IB +Ġj acket +ĠNS Object +Ġst ones +ĠDel ivery +ĠD iet +/w atch +Ġto ilet +ĠG uest +.d ay +Ġint val +Vis it +Ġinvestig ated +Ġpent ru +ĠThe atre +andid ates +L ang +ĠS erv +Ġcont rollers +Ġset Title +N P +am y +fl at +( ui +_d ocument +è ĥ½ +ĠC oin +ĠAd ams +pt ic +Ġproduct ive +Ġaccompl ished +čĊčĊ čĊčĊ +Ġdefer red +ient es +Ġs inc +ol ars +Right arrow +Ġvari ations +( offset +.Layout Inflater +Ġsus pend +Ġprevent ion +_pr ivate +_ js +âĺ ħ +Ġw ieder +at um +Ĵ Į +Ġappear ances +.D ocument +Ġvalid ates +cal endar +} ";Ċ +.d emo +con ut +Ġcorre ction +ĠDe al +Ġbatter ies +.d uration +, \ +_m arker +m ulti +Ġh alt +Ġc ms +Ġsh aped +B ro +re duce +Ġ #### +CT OR +ĠBen ef +Ġicon ic +Ġp iano +Ġeffect iveness +| .Ċ +Ġa jax +Ġv olumes +ภ¡ +Ġcl js +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ċ +ath s +ra its +å¤ § +Ñ ĸ +_m ult +Ġfasc inating +A verage +Ġpr é +ĠChair man +.find Element +_p in +Ġcomp aring +Ġdark ness +-F i +- server +Ġselect ing +ster dam +ĠPart s +FORM ATION +Ġnot ing +Ġp ile +og s +Ġpa lette +_d o +it ize +() ( +Ġdef ining +Ġremain der +Un its +_T ASK +Http Client +S ocial +Ġfund ra +N R +ch est +C urrency +.ad apter +Ġd op +un ting +ANG UAGE +" He +ĉ index +_p ackage +.I con +Ġrep et +m ass +=" .$ +ĠS ud +Ġl id +pro vince +ì ľ +G PIO +Ð ļ +ĠMy SQL +Ġdoc s +ĠG A +Ġip sum +K ernel +Ġaccept s +Ġfit ting +Ġcu ando +Ġd uplic +ĠBro ther +ĠK le +num s +Ġmor ph +Ġ ######## +ĠCG Point +< unsigned +ä¾ ĭ +ĠD uke +.set Bounds +q s +or ic +j er +Ġregard ed +Http Request +Ġbond s +Ġthorough ly +enc ent +Ġhighlight ed +Ġac res +Ġwork place +ĠL ux +Ġqu ot +.in flate +Ġdocument ed +Ġadd iction +Ġmut ation +.c ity +Ġbott les +ĠRepos itory +on n +err no +ARI ABLE +åº ¦ +_B EGIN +gl as +' })Ċ +ĠMass age +ĠWh it +reg ex +W A +Ġout let +- head +Ġexp ired +ĠTh ai +/ include +grad ient +scan f +Ġse am +w al +ĉb uf +B earer +Ġprec ious +if acts +co ord +Ġexpl oration +.get Y +(h andle +Top ic +ĠV ent +r hs +---- --Ċ +ĠB right +Ġg uild +m other +st orm +Ġmunicip al +Ġin k +.T YPE +w l +... manual +ĠTechn ical +Ġcorpor ation +ĠH W +ank a +T AIL +ist as +Ġperform s +ĠBeh avior +.F or +_ ORDER +ĠK ick +Ġcallback s +_d r +ue go +h ub +uff icient +sk y +Ġb p +ht able +ĠON LY +ĠAUTH ORS +.Arg ument +" };Ċ +ĠTh under +ĠK om +.Sh ould +A UTH +ah u +_p ayment +Ġst arter +ìĦ ľ +ìļ © +B log +.p atch +Ġgovern ed +ass y +-f ound +Ġthe ater +ĠFont Weight +ĠBat man +" If +.R andom +_d elta +ĠC E +Auth enticated +Ġdr one +Ġc ous +r adius +M er +( None +ĠN J +_ headers +Ġam er +py test +ĠA ctions +ĉĉĉ ĠĠĠĠ +Ġet t +Ġh oly +Ġun comfort +ĠN in +ĠDec imal +ĠM essages +.s ender +] ])Ċ +Ġembr ace +Th ough +/ sp +Ġcult ures +Ġhigh way +t ar +.f ail +_h idden +ĠcomponentDid Mount +ĠW right +Ġj ag +_ il +../../ ../ +ig u +F ood +Ġa ce +Ġa ños +US D +Ġmut ual +Log ic +Ġtem ple +Ġbrief ly +ĠT rip +class method +default s +Ġch unks +,, ,, +ĠRe ason +$ id +-up s +Ġdam n +Ġtruck s +Ġun limited +Ġsc ulpt +ĠC ards +Ġaut or +ĠTest ing +Ġdies e +sh ops +ç ´ +(p ayload +ĠP ATH +ĠMem orial +Ġridic ulous +eg ree +-w inning +Ġre hab +Ġsophistic ated +wp db +ĉ path +! ";Ċ +_S YS +.s peed +Ġso ap +s uffix +W rap +Ġenh ancement +à ī +ú b +Ġplay list +Ġmix ing +ant idad +=" ";Ċ +ĠRev ision +ĠBe at +.in c +-w ay +enc ias +ul ers +C at +id el +ĠSh ip +.set Color +Ġthreat ening +.mod ules +Ġafter wards +ĠD ashboard +Ċ ĠĊ +Sign al +Ġpr imer +orne ys +ici ary +Ġl igne +_p redict +Ġa est +_ https +> : +ĠL ex +Ġrencont res +eg ral +sc ala +_f amily +ÃŁ en +_s ym +Ġuncert ainty +ĠVAL UE +Ġ} ;čĊčĊ +Ġbro ader +Ġh orses +ãģ Ŀ +ĠK al +ob a +_IN ET +ĠK ill +j query +am ination +[ @" +Ġm uj +## #Ċ +First OrDefault +then Return +C he +/ footer +Ġpark s +as je +ĠG ulf +Ġmod est +. Init +ï¼Ł ĊĊ +Ġpros pects +Ġs vg +Ġå ı +.D ialog +_N ET +Ġ( ($ +Ġe k +ĠW arning +ĠM K +< LM +Ġ' čĊ +i em +h etic +Ġi x +th ink +-sh adow +ĠE ld +ĠNev ada +ĠLe af +ĠG ROUP +Ġprom o +ent ine +ĉ Map +ĠModel s +ĠK rist +_k ernel +-m ade +Ġc err +As sets +ell ar +Ġinv oked +.v ue +Ġcult iv +C losed +Ġgener ates +ffff ff +thes ize +s qrt +ĠCast le +.c ar +Ġke en +und a +ĠC row +ĠSing h +y thon +Ġbe ans +l arg +æĸĩ ä»¶ +Aw esome +unc ate +Path s +o ji +(c urr +CON DS +Ġm im +Ġshould ers +H ard +ast es +а еÑĤ +Ġconv ince +de cess +m ade +ĠC MD +. Im +Ġcha os +ens ively +Ġcool ing +Ġbur ied +(' @ +_S e +ĉĉĉĉĉĉĉĉ ĉĉĉĉĉĉĉĉ +.com pany +.sub mit +ph ant +Ġboot strap +_h elp +à § +.d ump +Ġdif er +_m apping +Ġcirc ular +Ġescort s +Ġb ere +Ġgrad u +ĠLeg end +im edia +ĠBar celona +Ġbed s +åĪ ° +ãĢ Ĭ +_v olume +Ġtremend ous +Ġsc aling +Ġp ins +en as +type param +D ashboard +render er +Ġsp i +Ġ& $ +ĠSk in +alm art +Ġh ockey +Ġ'" .$ +Ġerr no +Ġb ew +Follow ing +.M odule +er able +ĠM ilitary +ĠR io +_ available +ĠSur face +Ġst ab +IF IER +ĠL IST +Ġd ashboard +Ġcl usters +.pl ugin +Ġj ou +ĠDec or +F our +Ġdel le +****** /Ċ +ia z +in de +ch ing +Ġget Item +.Add ress +ment ed +A meric +Pl ain +Ġus b +ĠPract ice +_ ment +.bl ue +H int +ÑĢаР² +Ġconn ector +Ġinher ited +и в +Ġinterval s +Ġc ere +Ġu d +Ġin con +.Ex ists +ĠM ic +F K +(c ard +.Set tings +Ġexhib ition +Ġon Pressed +Ġrest ored +eng u +. def +Ġrec v +." );čĊ +enc oder +ather ine +( dest +az ed +# endregion +sem bl +, M +ob y +Ġп еÑĢ +.C all +Ġattend ance +-b order +Ġaddress ing +ê n +ĠLe v +Ġb ash +ben ch +C redentials +Sp acing +( of +_RE SET +ig uous +Ġcr uel +Ġcross ed +Ġle ur +ĠG olf +or rect +Ġpack ets +ĠData Set +Ġpart ly +SEQU ENTIAL +Ġindic ation +ĠS alt +ac ia +Ġ* );Ċ +ĉ info +ĠView Bag +on z +Ġeditor ial +ĠA rena +Ġs ir +_ Static +( socket +s u +cho ose +.m onth +.M y +é ri +; font +do es +Ġcon verter +Ġsal v +Ġl r +Ġinflu enced +(f eature +ĠQue ens +let t +_M ON +& amp +Touch ableOpacity +O FF +Ġmetab ol +( iter +Ġvit amin +ĠIND IRECT +aut om +_p ublic +Ġadjust ment +Ġspecial ized +w indows +.add All +Ġaccording ly +ĠJ OptionPane +Ġcell spacing +Ġqu ad +Ġcre ep +Ġout lets +}` )Ċ +Ġpri est +_TH READ +ĠMar x +ĠBy Val +Ġc ual +éĿ ¢ +Ġtempor arily +An n +ke leton +å ¥ +ĠLO C +au er +der ive +Ġbeh aviors +as ename +ĠCent ury +Ġhor rible +ME SS +_ List +we i +P at +ĠCh oice +_F ROM +ĉ line +.in voke +.B ottom +Ġnow here +." ĊĊĊĊ +_ export +Ġstrugg led +.Ap pearance +ĠJ Button +ĠJer emy +([ [ +Ġkick ed +mar shal +st aff +es ity +Ġqu iz +_e ffect +Ġ} ));ĊĊ +m el +b anner +ĠP IN +Ġin vention +Ġcons olid +Ġop s +ĠB etween +j ack +ern ational +Ġsacr ifice +ag ation +ĠJ oy +Ġam endment +ĠS old +Ġprison ers +ан нÑĭ +Doc uments +) ])Ċ +ust ed +ĠLine arLayout +os o +_E M +.s elf +.M iddle +) // +Ġ\ ' +Ġfuck ed +ĠM urray +Ġprof ound +_E LEMENT +ult a +il ers +port folio +J une +t cp +mod ified +ĠTr ace +ĠK el +aly zer +) => +ĠRep air +_B E +Br and +u art +pre view +Ġiniti atives +run ning +b ang +ĉ update +ĠCo ach +R ich +Ġy outube +Ġrit ual +app a +ĠRobin son +prec ision +//////////////////////////////////////////////////////////////// //////////// +=[ ]Ċ +Ġcelebr ated +OT O +Ġin clusion +J P +' ;čĊčĊ +Ġnot able +(_ . +Man aged +Ġgu ides +& nbsp +ated Route +ĠAd just +Ġcol ored +_s cores +ĠTes la +_pro gress +.in st +[' _ +.fl ags +Ġf close +_O PER +ż y +_n ote +Ġtrans gender +å ķ +RI PT +Ġabs ent +Ġam et +Ġoper and +ë © +Ġh ood +to LowerCase +av o +ĠCirc uit +ĠL ind +-- }}Ċ += m +Ġsup press +ĠM AP +i ang +- admin +Ġside bar +ĠB u +ĠH ex +, F +ĠSign al +Ġtrans parency +ĠFeder ation +/ V +Re q +Ġpul se +Ġt ends +Num bers +% ' +Ġde port +dat as +_U INT +_ tra +ok o +Ġ" ? +comp et +sole te +und ry +Ġover lap +}` ,Ċ +. ly +_sum mary +ĠL ost +.C enter +Ġdis ability +.Serial ization +Ġge om +Ġ? : +ĠW o +Ġsh ipped +Ĥ æķ° +Ġu gly +Ġexcit ement +Ġext erior +Ġcheck out +Ġk ur +, D +ĠAl aska +Ġsyn thetic +ĠB udget +ĠSub scribe +Ġ& Ċ +ÈĻ i +ĠY u +ĉ query +} .Ċ +Ġtr aged +ass en +Ġaccommod ation +Ġphys ician +Ġren amed +Ġtid ak +z Äħ +Ġmin us +ny ch +_EX CEPTION +thread s +Ġt ire +_c reated +ens ure +Ġworth y +Ġexc use +Ġclo th +.parent Node +/pl atform +ĠU FC +ĠG tk +un ny +Ġg ibt +ke ley +h um +(t x +ĉ dev +Ġout fit +do ors +Ġf on +ic ut +vol atile +Ġhom osex +Max imum +Ġexp end +Ġ});ĊĊ Ċ +E q +ond ers +dep artment +ĠPhys ics +" });Ċ +Ġpar ad +.S tr +Ġse le +IF IED +Ġdel ivers +iv an +Ġrespons ibilities +Ġadvoc ates +è µ +ĠR ID +.param eters +M etrics +ron ics +ĠUITableView Cell +A bsolute +ip se +yl um +MLE lement +_VAL ID +< title +D lg +p aces +Ġsynd rome +be ans +_d atabase +oz illa +ĠM eg +DB G +Ġl ub +Bag Constraints +ab ad +Ġproject ed +_BY TE +.Size F +st reet +ĊĊĊĊ ĊĊĊĊĊĊ +ĠLO SS +Ġdirect ors +/ news +Ġnurs ing +ĠD one +. HTTP +dis count +ĠR ot +To Many +Ġen abling +Ġauss i +ost a +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ čĊ +è½ ½ +Ġhel icopt +ĠIn side +ä¿¡ æģ¯ +is per +ĠAll ah +ARCH AR +Ġroll s +Com pare +X P +Index Of +S UM +Ġass ured +ĠPhys ical +End point +.G lobal +.d etail +Ġthe ft +.j upiter +Ġhum or +.R ender +A lex +.c ap +Ġbuff ers +Ġdis pose +t ion +.p resent +z el +, P +Ġdesper ate +.get Column +Ġtw in +ì ĸ +.c an +Ġf lee +ĠIran ian +Ġstick y +ĠU TC +L T +//////////////////////////////// //////////////// +Ġl icensing +_PO INT +ĠM aps +Ġl ol += models +-t ab +ĠN ash +_log ger +tor ch +ĠCON SEQUENTIAL +Not Empty +/ react +Ġp f +Ġassert ion +Ġsubsequ ently +_c an +Ġpand emic +og ue +"+ Ċ +_ ent +_P aram +.ĊĊ ĊĊĊĊĊĊ +Res earch +C apture +Ġbel oved +d em +Ġextract ed +Ġf ights +ER C +(a uth +position s +Ġrevers ed +(st ack +Ġ_ ) +uto ff +_fl ow +ç Ĥ¹ +( Game +Ġex cluded +ĠCS V +c g +ĠT itan +p ause +Ġcer ca +Ġdump ster +L ess +Ġkotlin x +aster xml +Ġpoint ers +Ġfl ows +ĠT un +ĠMain Activity +Ġdis cret +Ġcomb inations +vis it +_b ind +oot ing +d ater +_look up +.n io +Ġswe at +ĠR d +Ġscient ist +ĠP ixel +@ NgModule +Play ing +Ġunf old +Trans late +ĠLaw rence +ĠFIX ME +B ill +ĠR IGHT +Ġwhere ver +Ġo ok +vid ence +Ġ] ]; +ĠSk ill +unist d +ĠðŁ ĻĤ +Ġfem ales +-- )Ċ +İ· åıĸ +ĠF red +Over all +Ù Ĥ +Ġess ence +Ġthere by +Ġw ounded +ĠD OWN +les son +text ure +R ound +Ġautom ated +ĠÐ ¡ +ĠUp dates +Ġsh ade +p ublish +ĠG ear += lambda +Ġle ver +) +" +h ill +Ġrad ar +ry ing +Ġ" ). +f illed +Ġline up +Ġd l +Ġworks pace +V o +_d t +ë ² +_ Item +NS URL +. verify +ĠHawai i +G od +M arch +Ġ[â̦ ] +Ġpel o +ur ious +ĠPitt sburgh +. It +C lean +> \<^ +Ġi os +s ound +"] ; +Ġfre ed +rot tle +ĠL ower +[ count +å Ŀ +Ġp ale +ĠWay ne +ear th +_c ategories +U CK +.m etadata +Ġsum mon +H OME +олÑĮ з +Ġmanufact ured +Ġdo ck +Ġcompet itors +_MODE L +ok ia +ĠH ey +Î ¿ +Ġback ward +ĠPO SS +rop a +Ġc ri +_O BJ +Trans port +-h igh +Ġerot ik +_s lot +Ġart ic +_f ramework +-ser if +ĠSql DbType +') ( ++ "/ +Ġw ore +S il +Ġst oring +ĠPh ase +u ant +Ġb ump +in ho +Ġd ign +Ġback s +q q +(h ash +Ġge o +Ġt ender +Log o +! )Ċ +ĠM X +ĠAr thur +esso a +_C h +Ġbed rooms +="# ">< +Ġth roat +ins ic +.int eger +Ġpr imitive +Truth y +Ġfacilit ate +Ġcreat ivity +ĠD NS +Ġg ra +ue z +Ġcount less +ĠPol and +' M +ĠD ist +Ġv est +Ġcert ification +á» ij +h eld +ext ensions +( static +Ġgr ades +ĠU ber +ãģ Ł +Ġ[ ])Ċ +dat os +Ġget Data +ĠCh arg +ĠB S +.m icrosoft +.v ideo +.d irection +->{ ' +l ua +ape st +Ġbo iler +ere k +Ġdec ides +.j ar +IS C +ĠW ords +(C ON +EMPL ATE +ree ze +sh ots +app s +unt ed +.set Name +:: < +-b old +ê ² +å¯ Ĩ +Long rightarrow +Ġunf air +Ġear ning +Ġsh elf +URE MENT +Ġid le +_M ENU +.C ustom +AG ER +- " +_s witch +b ecause +) view +m are +_ condition +ĠStart ing +M vc +(p re +d ump +_LO CK +at etime +.c allback +ĠC er +op ol +ib rary +Ġres ervation +ĉĉĉĉĉĉĉ Ċ +lect or +grad uate +Ġgener ous +Ġ ion +ric ao +m q +_com plete +(c ursor +ĠForm Control +: center +Ġsub stitute +ĠPl anning +Ġp ension +Ġrecommend ation +ĠT ags +Ġg ef +Ġalbum s +Ġwash ing +ro c +Ġtr ains +at ings +Ġex ponent +ack bar +- ln +á g +.Data Annotations +ĠE IF +ĠMalays ia +ĉ PORT +on us +Ġcle ver +Ġpe u +> ĊĊĊĊ +ĠArg uments +Ġdebug ging +( right +' D +com pute +Ġfin est +OR AGE +Ġspect acular +ph rase +Ġind ia +Ġlegend ary +b irth +Ġcom posite +Ġg rows +ĠT D +Ġep id +Ġlaunch ing +] ][ +Min utes +ĠCh a +Ġclean ed +Ġwitness es +uk an +ĉ Type +Ġhab e +par agraph +ĠJ Panel +ĠH ann +Ġvar ied +ĠP okemon +ĠM UST +åĬ ¨ +.vis ibility +op up +^ [ +.exp and +Ġ" ', +.f asterxml +_ auto +ĠShe et +mark er +Par cel +ew s +ĠStr ategy +-m aking +Ġun ve +Ġtrail ing +Ġclick s +ĠGet Component +ĉ content +IG ENCE +ERN EL +NSMutable Array +Ġb reat +Ġharm ful +¶ Ī +Ġbes ides +Ġb oring +Ġbrut al +v ang +(p arse +qu ick +Ġpy test +Ġswitch ing +() ]Ċ +Ġì Ħ +L ER +ĉf ont +Ġnet t +) ]ĊĊ +(/ \ +æŀ ľ +to Array +Ġbre ed +ĠC AR +ĠWe apon +A bs +t ot +Ġset Name +apt ive +Ġ: , +Ġesc aped +ord en +ĠP ri +th umbnail +Ġdescri ptions +/ styles +ĠPC I +Ġal phabet +astic search +NOT E +Ġc ialis +ĠGr iff +Ġpor que +Ġprote ins +pl ays +Ġst ating +Ġimag ination +Ġfac ial +ĠMe chan +Ġarr anged +_ used +Ġarrang ements +ĠP ipe +host name +Ġprov inc +T it +.Flat Style +ĠS plit +ĠLo ader +.c c +Ġclin ic +---------------- ------------ +Ġb aking +ĠEN T +ne ath +ãĢģ ĊĊ +AN E +.EntityFramework Core +app ers +. ic +ĠNg Module +ĠF ORM +Ġ' ; +-pro fit +h w +en emy +ĠE ye +Ġca ution +t own +Ġur ged +ĠJim my +ynchron ous +-s ized +m aking +, { +] ', +_ Object +ah oma +Ġactiv ist +IN VAL +ĠCom mercial +ĠOr lando +(t ab +ĠØ ¨ +Al gorithm +Ġher itage +Get Mapping +Ġfail ures +ri os +at iva +Ġt et +Ġcar pet +( Z +th ree +Ġdisc losure +. ERROR +_c alled +Ġd ial +Ġoccas ional +.E rr +Ġfunc ion +caff old +Ġrele asing +ï¼ī ĊĊ +_ Value +ĠV ari +y ellow +Ġstrugg les +.c al +ĠDak ota +ĉc lose +Ġsand wich +Ġanaly tics +Ġ** ) +& # +ĠJ os +Ġpass ive +AT TR +Th rowable +ĠM un +ĠU int +(dis posing +ar ak +ĠLe aders +Ġaffect ing +Ġitem View +Ġeconom ics +f v +à¹ Ģ +.r b +ĠOver all +Ġwealth y +Ġev olved +nd a +ĠH us +re strict +um en +ĠA gricult +! ĊĊĊ +Ġexp ires +Ġspokes person +int erval +Ġà ¢ +Ġque en +(n il +ing o +He ap +Ù İ +Ġcompl ain +S ym +ĠCl one +ĠR u +ĠW ILL +ĠCr ystal +/ content +ing en +oint ment +Last Name +av icon +ĠIB M +ĠDim ension +an h +icip ants +ĠAn ne +.pro gress +Ġal go +ob il +ĠV oice +ĠF E +Ġg li +Ġv ed +Ġprevent s +\ Column +Ġfol k +ett i +Ġm n +ĠCL ASS +Ġdisplay ing +ĠK l +ĠF err +d uto +. ib +Ġd ados +' name +-s pace +Ġit alian +Ġin verse +Ġd ense +ut er +ĠI Enumerator +-s ign +Ġnation wide +Ġperson a +Ġsol ved +Ġdram atically +Log out +Ġgr av +Ġanalys es +ol lo +Ġl amp +. team +ĠE rot += [" +Ġd ancing +Ġ?> / +Ġc ater +ff e +ĠSh a +ĠB os +ĠRE QUIRE +ĠMon ster +ĠR B +ĠI DE +Ġsu its +Ġform Data +( theta +Ġsp atial += NULL +ĠSql Connection +Ġ à +ĠV enez +ĠMor ning +Ġpublic ations +ĠNON INFRINGEMENT +first Name +ud s +W ould +_HE AD +Ġinvest ed +st able +f red +Ġcommand er +SE S +âĢĶ a +an che +ĠM ovement +ë ³ +S uite +Ġjur isdiction +ë¦ ¬ +ĠB eth +j Query +ĠIs a +Ġd ental +, * +ĠL imit +ili ation +=" { +b ast +Ġt urb +is y +O OK +Ġadvoc ate +im ag +LE CTION +л ÑĮ +(c ategory +.de c +Ġun iqu +_s n +Ġattract ed +Ġà ī +ĠRun ning +_ edges +ĠDis able +_A S +åĽ ¾ +Ġnetwork ing +_br anch +H aving +toBe Truthy +G I +Ġcamp s +se p +-p art +Ġ)ĊĊ ĊĊĊĊĊĊ +ustral ia +ĠRe ports +rit o +Ġwa ist +_pl us +ĠW W +-p erson +Apr il +Ġs ar +.t ar +Ġagricult ural +t ic +Ġt cp +Ġset Value +agent o +ĠAp pe +p iler +CA DE +Ġan che +atch er +Ġcom ics +Ġl bs +_se gment +'] =$ +itt ers +ich er +G INE +Ġutil ize +ĠC ursor +_ex pression +Ġd ag +< long +Ġr hyth +æı IJ +Ġconsult ation +Y et +")) ĊĊ +_M AC +c ould +Ġ' \\ +ĠV o +ĉ http +Ġg s +ph er +- grid +J ames +J ul +Ġsch on +Ġtensor flow +ĠLOG GER +am as +Ġsc ipy +Ġconv iction +. ag +Ġadministr ator +)) {čĊ +Ġn un +" group +P or +Ġnur se +ex pression +ak y +ĠHe avy +. opt +.get All +Ġover l +/ ", +_c ountry +ç İ +ĠG ENER +_r oute +ĠD al + ´ +ol oad +Ġuncomfort able +(m enu +Ġhost name +' ");Ċ +Ġcalcul ations +-c lick +Ġprotect ive +ãĤ ¯ +_F orm +ung s +Act ual +m f +ĠProcess ing +ĠIn ventory +(m atrix +app ropriate +w eg +ij a +Ġch r +Ġr ifle +-w sj +k ar +Ġindepend ently +I OS +Ġconsist ency +v n +/s ystem +ĠCh anges +Ġexp ose +ici ents +Ġrel ate +ĉ next +è ¨ +ud es +Ġglass es +F XML +.... .. +ĠP df +Ġappro ve +Ġ{ \ +Ġexist e +)) ( +ARE NT +оР¿ +ĠL atest +ĠNiger ia +.Inter faces +Ġrem oves +En emy +Ġen force +vert s +ĉ pos +_text ure +W ARD +ĠINC IDENT +( container +Ġdef ending +ĠR X +ĠH ook +br is +ĠFl ask +Gr ay +. )Ċ +vis ibility +ĠRedirectTo Action +err al +_e lem +Ġres on +front end +_variable s +ater ia +Ġ+ " +ave led +RI X +Ġdef icit +_C heck +YY YY +To One +sp y +Ġun ited +end ent +Ġp ode +ãģ Į +C AT +(f mt +ĠBon us +Ġre ck + º +Mod ules +Ġvac uum +R adio +ĠDAM AGE +P en +ĠPark er +; ;Ċ +ĠRe ally +_n eg +p ending +Ġnomine e +ĠC ategories +ĠUl tra +We apon +Ġdef ender +I ss +ĠG ender +ĠD ress +Ġimpr ison +Ġbank rupt +imension al +PH A +ĠStr ateg +ĠPROF ITS +Ġp atri +//////////////////////////////////////////////////////////////// //////////////// +de legate +Ġfor State +Ġdev oted +_m ake +Ġterror ists +ĠS nap +_n av +ĠA A +ĠI an +ĉ app +Pl acement +_h dr +< K +Ġs ang +st roke +- Q +> x +.T ask +m oney +ib aba +' });Ċ +ĠSpec ific +ĠLine ar +_O PT +Hash Code +( Player +.Contains Key +Ġcoll apsed +trans parent +_R ANGE +View er +(c fg +Ġsort ing +Ġinf ected +ĠN ach +Ġaccommod ate +.element s +_P ART +ĠSex y += get +( year +Ġx hr +: ] +ows ki +Ġsum mar +Ġ ¿ +Ġint e +Ġwork flow +ĠTai wan +vers ions +åı ij +Ġsurprising ly +Ġopt ical +Ġpro ces +Ġdisag ree +Ġnue vo +ĠC AM +sort ed +le ases +ist le +Id ent +ĉ event +ject ed +Ch unk +V ars +.pro vider +Ġproceed ings +Ġin clusive +Ġart work +end ants +ï¼ļ Ċ +se en +Ġl ig +Ġm akers +_f un +Ġlength s +Path Variable +[ item +ภµ +De ad +FFFF FF +ĠUr ban +up les +ich en +(null ptr +.s pec +, System +UR ATION +(j ob +å¼ ı +Ġtrack er +Å Ļ +ĠM R +ĠSQL ite +Ġd to +Ġ; ;Ċ +Ġm int +ĠInt roduction +ca o +Ġquestion ed +Ġf itted +rev ision +s q +Ġm ig +_un its +_ async +Ġf lick +});ĊĊ Ċ +Ġnot re +}` , +F ilters +Ġm undo +_d ays +Ġfr m +ut c +Ġval s +ew idth +ĠGener ator +ĠArt ist +ĠID s +ĠArt icles +re ater +ĠComponent Fixture +. = +Ġr ou +- no +.b ukkit +eg g +ĠD iff +atic s +Ñĥ Ñĩ +âĢĶ ĊĊ +ĠChar lotte +by e +Ġ} );čĊčĊ +ĠV ik +ĠB row +Ġl v +ĠG ib +-w ing +GL IGENCE +(I l +ĠEngine er +.W ait +ĠP ictures +Ġr het +Ġth ermal +Ġpr aise +< >();ĊĊ +ĠSp ider +P ause +ĠB aker +Ġsl ower +Ġ} ]Ċ +_en queue +Ġdisappe ared +ĠT icket +IN UX +_LOC AL +аÑģ Ñģ +@Inject able +comm unity +Gesture Recognizer +åĽ ½ +Ġsca les +Ġ- ( +/ '+ +ĠS it +Ġexecut ives +ard ing +Ġad vers +Ġback wards +ĉ context +ĠH amp +ĠP F +ĠDe ck +ĠCra ig +A merican +Ġb ell +Ġpro l +uf en +Ġr ng +ar shal +ĠSim ply +first name +sh ore +J uly +Ġmort ality +ĠâĨĴ ĊĊ +Help ers +Ġbench mark +em ade +Ġorganis ations +.g son +ĠText Field +Ġciv ilians +.Array s +ĠMiss issippi +Ġinter mediate +get User +_cl uster +Rel ative +fore ign +.querySelector All +Fore ignKey +Ġreason ably +-------- -Ċ +C ards +ĠK am +ĠTh or +Ġroll er +-e lement +ĠC urrency +dd ie +ALL Y +ĠR A +Ġper met +aa aa +Ġhom ework +ĠV it +Ġm old +ĠF er +[ start +Ġstatist ical +Ġsc ary +_H OME +.B egin +Con struct +ogen ic +ĠDEAL INGS +Ġtamb ién +ix on +. ind +ac re +Ġtransform s +ĠN ap +.B lock +uss ia +pir ation +ul ent +Ġce il +Cl ause +na ire +T ES +Ġne at +ST D +ĠReg Exp +per form +: ) +Ġun ions +Ġs ublic +Ġw inds +lo ating +g lich +Ġp agination +S kill +App ly +ĠOper ator +ist ogram +Ġqual ities +C ross +Ġde com +], " +ĠJ uan +.mod al +.Ch ild +ĠRog er +STIT UTE +:CGRect Make +a lette +Ġst a +as ide +Ġbl ur +ĠW a +if etime +re ed +control s +Ġb ins +Ġп ол +*/ ,Ċ +U IS +ĠR ou +ĠDem o +- awesome +ĠCh ain +Ġh asta +ĠB art +. KEY +Ġvend ors +nof ollow +ĠD est +_b uilder +Ġarg ues +_ answer +g oto +ĠRES ULT +ĠM ON +Ġp oder +o ons +_C ASE +Ġrep lic +Ġfin ancing +ĠD ATE +c ern +_tr ack +t ies +/ logo +ĠNE GLIGENCE +get Type +> T +b et +g irl +ĠINCIDENT AL +-s ite +.tr igger +ĠL isa +_input s +Ġrel atives +Logged In +Config ure +I K +. accept +Res ume +ĠD raft +Ġ* >( +ĠW A +ed ian +ern ess +ĠLayout Inflater +*/ čĊčĊ +oth y +Ġoblig ation +Sub scribe +Ġth umbnail +ex ist +Ġins isted +ĠU ICollectionView +ĠAng ular +Ġtable ts +ĠImp act +ãĢį ĊĊ +ah o +Ġcharacter istic +g d +Ġ= ================================================ +our t +` . +App ro +Co ordinate +Rem ember +Ġmar ine +] ==' +ĠAdmin istrator +.get Default +Ġforg ot +ĠStruct ure +V ue +ars ing +m oment +k w +_c ursor +Att ack +Ġath letic +Ġdiagn osed +Ġend e +åĪ łéϤ +H ouse +ĠP ARAM +Ġw iki +ĠO pp +Ġcons ervation +Ġs nd +_t em +sub str +ĠC ape +.s im +UT ION +an an +âĢĻ un +Ġg y +- work +Ġcomp elling +=' # +ĉs ub +Ġdirect ories +íĬ ¸ +Ġtouch es +out ines +.C ollection +s chedule +.l at +ĠDo ctrine +CA A +ĠRe fer +Ġshift s +Ġlik elihood +pre ter +ĠF emale +Ġinter cept +Ġl ou +çĻ » +Ġr ug +ĠC rown +Ġ************************************************************************ **** +- product +Ġprompt ed +ung le +d ocker +ĠT u +ĠUn ique +_ Error +ul os +Ġâ Ħ +Ġ( ` +Get ting +_s cal +ĠEn h +ü t +Ġsust ained +Ġp atches +Ġpros per +ĠG aza +_l ight +Ġin cons +-------- Ċ +ĉĉ ĠĠĠĠĠĠ +S F +C N +: ";Ċ +ĠColl ins +( *) +Ġcomp ilation +'] čĊ +Ġcon sequence +, ... +Ġd m +ĠB LOCK +Cl uster +Ġsk i +(arg c +T uple +Ġjo ins +ĠSher iff +W ar +ind i +Ġcomment ed +H OST +Ġinv itation +apan ese +Ġperm its +preced ented +_z one +ĠA my +_R D +Min imum +Ġinv ocation +.en able +icht en +- owned +" id +_PO INTER +F ac +Ġspecific ations +Ġnom ination +Ġg p +< ( +Ġrob ots +ĠJ erry +Ġhold ers +Ġw and +c ms +Ġ} ))Ċ +.To ast +ĠI List +B ased +z oom +/ style +ĠBe ck +M en +Ġcontrib uting +Ġund o +ĠO H +Ġadd Object +Ġe igen +sign up +éĶ Ļ +Ġdist ant +PAR ATOR +ĠM ari +Ġm á +E mp +ó s +Ġì Īĺ +ev t ++ j +p ark +ĠSt ay +ĠD un +Ġso y +> % +az ines +Ġti empo +(m e +p resent +.Th is +Ġedit ors +F IELD +.W ork +ĠUn iverse +Ġdr unk +.t imer +Ġalter ed +ĠN ar +ëł ¥ +.Act ive +id or +ç Ń +.delta Time +Ġawk ward +& quot +ĠSaf ari +Ġtr icks +MENT S +div ision +Ġvary ing +ĠHigh way +Ġphotograph er +ĠSt ewart +Ġlast ing +.P re +.amazon aws +ĠL uck +.D escription +ĠN az +n eg +Ġc ó +<<" \ +ĠSur v +ĠU nc +Rec ipe +.Border Style +Ġmod ifications +- at +AT FORM +h dr +ak o +Ġsublic ense +ĠJ ump +Ġbe im +ĠMan hattan +. bool +_h w +ÑĤ ÑĮ +B in +Ġg ateway +" ": +ĠU IS +:" + +- def +ĠReg ular +/ testing +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +string stream +Ġdis par +Ġmob il +- read +ĠAd apter +ĠCh ampions +Ġsched uler +Ġk ills +ĠM ultiple +ir ror +Ġgod s +AD O +ak te +ĠUs uario +.c ircular +Ġre cept +ĠEx pr +Ġelder ly +Ġnic ely +Ġbest e +W ant +Ġclass ical +.s prite +obj c +ĠM ason +Ġsist ema +.Bl ack +es o +ĠZe it +Ġdiv id +Ġent ers +_sub ject +ĠPlan et +.w arning +ĠG ram +_t okens +Ġhousehold s +_c ustomer +user Name +c ross +Ġp ione +Ġass ists +_S M +ib o +Ġlo yal +Ġuse less +# elif +ĠUlt imate +C ome +g el +Ġd ich +xy z +ik el +ob ra +_s can +ĠInter ior +ĠN ice +Ġpl ac +ĉt arget +Ġvir al +ass o +() / +und e +ĠAd obe +O s +vis ited +ĠO W +ĠFe ed +ĠSe quence +Ġman ages +in son +ĠLouis iana +{ }) +ĠH ab +ĠL D +Ġb ip +pr ites +(e lem +.h ibernate +él é +Ġoh ne +_trans action +Ġann unci +P ublished +ĠH onda +ĠT am +ĠP acket +_ selector +Ġchalleng ed +Process ing +-h over +Ġtr ainer +_c ancel +ĠNS Dictionary +ab ric +ĠM LS +_s ensor +Ġshr ink +ĠF X +th reshold +ĉH X +-m ark +` .` +S cheme +(f ull +_w riter +ĠS ys +Ġf led +ĠC in +-w idget +ĠPre vious +G ender +_ question +Fe ed +Ġscr ut +(p refix +ãĢĤ ãĢĤ +Ġin fections +Part s +Ġhier archy +_DE LETE +ĠPat ient +_p ay +Ġprom oted +Ġì ĭ +Ġcivil ian +Ġagricult ure +ĠP iece +Ġst ance +uts che +Ass ign +.A CTION +F ig +_r adius +ĠS ync +du cer +f ailure +ens ed +pt ime +B M +_dat etime +qu ivo +QUE UE +èĢ ħ +Ap pear +Ġsum mit +: void +Ġv ine +è® ¤ +on ne +_TR ANS +.g reen +_ cc +Ġhung ry +Ġ" > +() );čĊčĊ +Ex tract +iz ens +Ġsol ver +Not ify +Ġeng lish +ĠSh opping +inter faces +RE Q +Ġil leg +ĠUI ImageView +Ġdis connect +ĠUnt il +ĠConserv ative +@ Column +Ġshift ed +Ġ: čĊ +Ġf ich +Ġd la +Ġsh oe +"), čĊ +ular ity +_RE SP +We ather +UI Application +. iterator +Ġag ing +.P arent +ow ie +(e qual +ĠCon v +/ default +Ġmeas uring +.pre v +.Is Valid +.F at +Ġs Äĥ +key words +with out +Ġso vere +Ġex changes +Ġm elt +Ġis lands +ĠInt egr +Ġjump ing +Ġg le +Ġjournal ism +Ġd ated +Local ized +ĠRef resh +Part icle +Ġa a +ĠSTR ICT +Ġb od +.Pro cess +_A UTO +ĠP ublished +e very +Ġtechn ological +ls x +Ġir rit +Add itional +Ġdel imiter +_l anguage +- area +bo ys +ĠT ube +Ġw at +Ġmechan ics +_ owner +Sp ell +ĠSt ories +.Append Line +Table View +h em +st ick +oll ower +I FF +ĠU V +oll ision +S UB +Ġcompar able +Ġdon de +s ales +ll vm +Ġ} ],Ċ +OTT OM +ĠPur pose +L ab +Ġinterview ed +o is +as il +.set Id +ĠIn struction +-- > +ĠMod ified +ation ally +ĠMe eting +è¯ ¯ +# region +Ġrout ing +.f ocus +ĠYou th +< D +ĠN ag +contact s +Ġform ing +Ġm ie +',[' ../ +ĠB P +Ġapp et +ĠTe acher +ĠT P +Ġann ually +outed EventArgs +ĠSpe aker +Ġre name +CF G +(" // +æİ ¥ +/p ages +Ġpr és +ĠSp ell +.All ow +ĠINT ERRU +Ġ( # +âĢĻ ĊĊ +_G eneric +.im show +_t im +- face +(& ( +atin um +Ġrevolution ary +ĠH ours +r ain +Ġany time +Ġab b +.j sp +Scroll View +ĠTr uth +Ġanticip ated +Ġacc ent +. checked +Ġspec ifies +Ġca f +Ġcell padding +Ġcook ed +ĠH ugh +pe ek +_R ATE +Ġd orm +/ čĊ +IV ITY +.Cont roller +(p art +.con straint +Ġinv asion +MO VE +Ġgl uc +l ename +Ġam en +eng lish +ĠSw itzerland +";ĊĊ Ċ +pe st +.col lect +N ib +ĠD ict +ĠE mb +(sub ject +Ġoutr age +Ġdec iding +Ġsent enced +F echa +" A +Ġqu er +Ġfont Family +Ġqu adr +- Y +_C ACHE +Ġanaly zed +Ġg aining +ĠAgain st +ĠSou l +ta u +Ġlight weight +ĠT F +ĠEffect s +.T ypes +.add Class +Ġv egan +é ģ +.' " +ĠExpl orer +.d etect +.sh ift +Ġoblig ations +last Name +Ġassoci ations +ĠTime Span +un ter +ĠF resh +Compat ible +P ub +id ges +. option +var i +.hash Code +Ġg eb +. section +- not +ĠSub mit +T N +reg istry +_m edia +Ġn aj +ff t +Ġm ate +-th ird +Ġp ockets +est a +Ġb ent +ĠN ord +Ġretail ers +ĠMor ris +."" "ĊĊ +W rong +Ġ ÅĽ +R ay +. ec +ĠB ind +_H AND +(n on +is Valid +Ġsimilar ly +_L IMIT +Ġdynam ics +Ġdist inction +ãģ Ĩ +< N +Ġor th +ĠToy ota +ĠK ate +ĠL S +or ie +ĠSpr ings +Ġf reak +last name +_M ULT +-st ep +" ( +AD DR +Ġentert aining +_CON F +Ġdec oded +Ġst reak +Ġwait ed +Ġnot ified +rodu ced +vis ual +.Layout Params +æ ° +es ian +f its +s pring +ĠBern ie +User Defaults +Ġped est +Ap pearance +ĠW iki +ĠNOT ICE +Ġs sh +Ġdur ante +ĠZ ip +ı r +ĠNAT O +Ġtw elve +Ġro yal +ï ¸ +Ġmer chant +ĠF urniture +'] ),Ċ +, X +Ġfold ers +ĠG ate +ĉf unc +p ick +_us uario +ĠV erm +ment ion +ur pose +Ġalert s +x ious +_s ig +ĠF u +Ġ( : +Ġd umb +åħ ³ +Ġaccur ately +éĩ į +R B +-s creen +ĠV ER +j our +Ġrom ance +uc ceed +. choice +Ġad ip +_d ims +Serial izable +ãĤ ĭ +.j ob +Ġpro g +uch ar +Ġg ently +ĠR SS +ict ured +_ENABLE D +ĉ label +aw ks +ĠEn sure +rem ember +ìł ķ +Ġtrans mit +{{ $ +.Trans action +ur se +_rel ative +Ġs ized +ĠX X +ĠPr incess +ĠL arry +Ġpr ó +ĠÑģÑĤ ÑĢ +Ġs isters +estr uct +Ġcheck point +: length +ĠCar los +/ icon +_T ARGET +T okens +Ġpat ience +ĠSe lected +q ty +.show Message +Ġwild life +ĠP rops +b m +- arrow +Ġpar cel +fire base +ĠBen jamin +cess o +.t im +ĠG arc +. any +ĠHOW EVER +ĠK o +Ġgrab bed +_f rames +Ġobject AtIndex +ĠADV ISED +Ġsub ur +ĉ GL +Ġ}) }Ċ +-l ength +ìĭ ľ +ĠPot ter +_b uff +.g ui +ĠEnc oding +E lect +-m essage +Ġ � +Ġ ÈĻi +ĠArgument NullException +а ÑĨи +Ġmin imize +Ġrespond ing +$_ [' +ĠInd ividual +á c +ĠIN TER +Ġmast urb +ĠB in +(' $ +ëĵ ľ +Ġopen ly +Ġ> < +Ġun to +olog ically +ĠM ul +VID IA +Ġsl im +ĠCommission er +( on +Ġunder neath +/ db +v ote +( Message +ĠP ope +Def ined +Ġsw ift +ur f +Ġadapt ed +SE L +Ġreven ues +Ġdiv ine += y +Grad ient +_ act +Ġ/*! < +Ġpoly gon +ĠF DA +ĠC arr +at ables +(std out +Ġrefr iger +Ġco ordin +avor ites +ÑĪ Ð¸ +Ġcompass ion +ĠPOSS IBILITY +- secondary +ur acy +Ġcomp romise +_A V +_ os +Ġbes ide +ĥ Ŀ +Ġl n +.pl ugins +Cap acity +al ah +.b in +ĠC RC +_b alance +Ġflex Direction +Ġam bit +Ġnick name +ĠFor ces +C LE +ĠSh ell +Ġs ail +ĠW riter +ĠA lice +d w +ĠInd ians +ĠMar shall +_S RC +Ġnormal ized +ĠJ ag +ãĤ Ĵ +ze it +r pc +ÃŃ c +.in line +Ġtrav ers +_n umeric +Ġutil ities +Ġev ac +IN PUT +ĉ register +M X +ĠCamp bell +Ġdatas ets +Ġdem anded +Ġinitial State +g an +Ġe i +Un expected +- web +tr ait +, Y +ĠT odd +Ġske leton +Ġoptim ize +ç¬ ¬ +ĠU pon +ĠSt Object +Ġap lic +.' P +v ron +. UN +Ġpaint er +izar re +Ġl av +Ġp om +p reg += function +( serial +ific a +um ing +åľ ° +ãģ Ĥ +- op +U CH +ĠH end +.prop Types +Ġy o +Ġrout ines +Ġcar ing +S em +Ġres erves +Ġprior ities +red its +IST R +Content Type +ĠSch w +/ media +Ġe str +Ġclim bing +- week +cher che +s ensor +To Array +ĠMont real +Ġcloud s +ĠInject able +ĠR ice +Ġpropag anda +_pro vider +Ġind oor +Ġin aug +Ġdipl om +Ġmess aging +_m ut +å ¦Ĥ +Ġk w +ON S +ari ans +R PC +) ]čĊ +-r ay +ĠS or +m all +Ġmarket place +Ġv tk +M a +og an +ig i +Ġspons ored +ĠD ani +.S EVER +>' .$ +m ultipart +ĠW ol +Ġtable Name +ĠUser name +Background Color +Ġf right +_E MAIL +Sept ember +_val s +op ia +Ġsp otted +- Ch +Ġdata Source +/ "Ċ +ек ÑĤ +ĠRequest Method +ĠRe place +-d o +ah n +ĠPh D +] .ĊĊ +N ON +g ement +ĠTh r +Ġquiet ly +Ġtort ure +Ġte as +ĠC Y +Ġa tr +develop ment +-d etail +Ġlight er +Ġarg uing +Ġdes erves +Ġcur riculum +_CON TEXT +ÅĤ y +H ITE +ĉ ID +/ uploads +Ġt its +re o +_d rop +. UTF +Ġpick up +Ġgro cery +ĠP ure +Ġeas iest +Ph il +.f eature +(" * +Ġinvest or +t ok +Ġj ar +L os +âĢĶâĢĶâĢĶâĢĶ âĢĶâĢĶâĢĶâĢĶ +. queue +-s peed +M al +um blr +ĠCON ST +ĠH RESULT +ĠD ance +(file Path +Ġattrib uted +ॠį +ĠB und +co ins +Ġs ão +Ġp ir +person al +Ġpre lim +Ġprop ose +ĠT L +] ]) +ĠSub scription +ĠK re +, len +.First OrDefault +) -- +_product s +.Get Bytes +Sh ip +Ġenc rypt +ĠS G +ĠM yst +h ir +Ġiter ate +Ġint end +.mock ito +Ġch apters +( angle +ĠV lad +è® ¾ +' .ĊĊ +Response Body +ĠAb d +de al +Ġbar riers +-out line +b ill +ĠF alls +_se cond +. include +. ceil +Ġoccup ation +ph ony +.move To +ĠJenn ifer +AST ER +; ">< +ĠEn abled +Ġtermin ate +ĠI o +l ations +ĠTHE ORY +Ġear liest +Ġr ack +ĠSc ar +sh ake +ch ip +Ġu v +Ġall iance +п иÑģ +ĠGOOD S +z ione +ĠV I +Ġ{ - +Ġfilter ing +Ġmis con +.Dock Style +Ġb ush +Ġj unk +æ Į +ĠQ UE +Ġhook s +Ġfirm ware +Ġmiddle ware +d ic +ĠOak land +Ġarr ives +P ayload +p ixel +] | +Ġstart Date +.P RO +_a udio +Ġmid field +igid body +ĠSw iss +ĠCl ip +ĠD ump +ĠText Box +Ġg eh +y ield +od s +Ġrefer endum +Back end +ĠC ream +Ġdomin ated +ĠArch ive +Ġrid ers +.prepare Statement +Ġqu ando +Ġche f +w iki +in el +am pling +(" \\ +Ġs ag +_pro xy +ãģ ķ +p do +.getElementsBy TagName +Ġdemonstr ation +ĠN PC +Ġarch ivo +end ance +Ġefficient ly +( actual +.t ableView +Ġm ush +Ġbe ars +_thread s +j as +ah un +Ġne ural +Ġdesign ing +ĠG DP +Ġlift ed +çĽ ® +ĠJ oint +ĠIn clude +ĠGi ants +Ġwithdraw al +ĠR ent +n ative +ĠSe ek +gress ion +_C PU +\ S +ĠSh ield +Ġsol ic +Ġbo om +yect o +Ġmanufact ure +ĠâĢ ĭ +Ġb box +Ġearth qu +ollect ors +:@" % +Ġlo ops +J e +alk ing +ĠWh ats +ĠBo ys +. book +ARG E +_p ixel +Ġsus pects +Î ¹ +us p +ĠBM W +ie ces +(p erson +å¼ Ģ +é » +ĠPod cast +Ġb ou +( Item +à » +( Input +Http Get +Ġb urg +) ^ +BO ARD +*/ , +Ġg ulp +ĠB enn +Ġdeck s +.status Code +Ġac ute +Ġh ug +ug u +Ġp led +," % +h ape +Ġз ап +ĠMain e +.re al +Ġd alam +ĠMin or +.F loat +dis p +Ġt l +Ġen count +=> $ +Ġf g +te es +ĠRec omm +ä l +Ġchem istry +Block s +O ID +Ġfore x +ĠApp end +Ġ{ * +ĠSup ply +CG Float +(b l +Ġat e +ador a +Ġg ust +Ass oci +> .Ċ +F ETCH +.s erial +widget s +ard less +ie fs +_F ULL +ernet es +ĠP red +Ø Ń +äº ĭ +ub ernetes +ĠL aura +Ġl abeled +High light +Ġanno ying +/ update +(d escription +Ġintim id +$ c +")) )Ċ +.A P +Ġ[] * +ĠEX IT +.H ost +ĠOP EN +.send Message +_c amera +_t ile +Ġth erm +onom ous +Ġdis adv +Ġna ar +index Of +ĠP P +.prot ocol +AF E +Ġtext ures +################################ ################ +umb ai +.st ats +ĠG E +Ġi e +ĠST D +ĠM ann +.ref lect +K B +Ġd ive +.w av +/* ---------------------------------------------------------------- +/ settings +.l ifecycle +Ġda ughters +or us +ub er +N ING +st ri +ĠT ip +Ġz n +Ġswitch ed +in et +uff y +ĠTransport ation +( conf +fr ica +ĠX L +ĠLe ad +_per cent +< Map +Ġthr ust +or b +ik k +Ġtra uma +Access or +ĠF it +ĠString Buffer +ex pl +(s creen +Ġaud iences +ĠO PTION +_ round +[ node +be h +-> __ +per missions +ĠD etermine +.M an +Ġadv ances +. InputStream +Ġstrong est +Ġe Bay +Ġ# - +Ġdir name +ĠS MS +Ġmedic ations +Ġam ended +Ġchurch es +ĠImper ial +$ row +ĠMad ison +ĠIn sp +Ġaff air +Ġpsych ology +v h +Ġsever ity +âĢ IJ +Ġstri ps +A H +vert ising +Ġcon se +IM AGE +ĠSt ats +ĉs c +.C ursor +Ġfree ze +ss on +(x ml +ĠSus an +.t ile +ed ed +ĠĠĠĠ ĉĉĉ +uel le +ĠMitch ell +b ased +Oper and +½ æķ° +ĠF F +ĉstr cpy +ounc es +ild o +.execute Query +Ġapproach ing +ĠSe ven +Ġn uts +Ġr ic +ass ignment +Ġcalcul ator +ĠMur phy +ĠB ou +í Ħ +Ġbut t +Ġt icks +Project s +il ib +.text Color +m ov +_log o +( template +ĠIN IT +Ġimage View +scri ptions +OR ITY +Con sumer +Ġun precedented +Ġtour ist +Ġbr on +Ġcontract or +Ġlic ence +ĠN am +æ ¯ +( transform +_AT T +P ref +ĠG am +Ġvess els +Ġh av +L ater +.To Lower +Ġurl s +Ġbreak down +Ġpen alties +Ġf oster +ĠU E +Ġcl ue +com ed +åIJį ç§° +-m ain +Ġp ts +Ġcount ed +ict s +/ post +Ġget attr +Ġp ing +ANCE L +Ġp ec +Ñħ од +ant om +ĠBlue print +ĠEvent Emitter +Ġl ä +æ ² +Ġstr aw +( comp +' une +> N +- client +es Module +-b ase +Ġret reat +_s imple +ĉĉĉĉĉĉ Ġ +fe e +') čĊčĊ +Control Item +Ġsubscri bers +ple ase +ĠE ff +Ġp ound +ĠBy tes +ĠTe a +_ activity +Ġmax im +Ġop code +B SD +. constant +; } +omb res +Ġcare ers +) .ĊĊĊĊ +Ġsp reading +-exp anded +ĠOr d +amar in +Ġmob ility +Un fortunately +ak k +N L +_ redirect +ĠP G +ĠS ensor +b ol +t ap +_MEM ORY +ĠUI Alert +plit ude +We bsite +ĠLog o +lo ve +[ ind +Ġalto gether +Ġwonder ed +Ġes per +ĠLib eral +Ġo ss +Ġel it +Ġst iff +od ox +_ment ions +ĠDou glas +_p id +ĠC K +ĠinitWith Frame +.b log +p kg +ang hai +QUI RED +u u +Ġm kdir +AT AL +Ġun h +in ces +st h +Ġhypo thesis +Ġc ata +ĠT B +ĠCl ar +Ġpre decess +Ġsitu ated +-w orld +)) / +Ġhead lines +.st at +Ġout break +sp ath +_FLAG S +ĠServlet Exception +S un +F ROM +ĠD ir +ãĥ»ãĥ» ãĥ» +_co ord +ĠOpt im +Mon itor +.b it +XX X +Ġtod as +f eld +ÑĢ Ð¸ +im ir +Ġpolit ically +Ġmolec ular +Ġtrad ed +Ġ{{ $ +ĠSw edish +Ġ'@ / +_RE AL +Ġw arehouse +t oday +, L +or p +< section +- br +ym e +ĠUser Service +Ġlib erty +Ġmoment o +( Image +< size +S ch +Ġj og +i ology +arent ly +Ġquant um +ĠAb u +Ġr im +Ġman a +Font Size +Build ing +st airs +AIL ABLE +Ġ& ' +Ġs ect +Ġs igh +(b atch +.I Container +p oll +ĠCor ps +Î µ +ar u +ĠK ay +.r ange +_click ed +ĠRobert s +.N etwork +fin ish +- Man +Ġcolleg es +ĠF ine +")) ,Ċ +f ilm +Ġrem inded +Ġgest ure +out il +Ġthread ing +Ġobj et +Ġt ours +activ ated +.m kdir += user +Ġre de +f ü +_SY STEM +p v +Ġcon gr +Ġmass asje +Ġpract ition +Un iversity +Ġtab index +Ð ĺ +S ets +Ġcount ies +g uest +f an +Ġword en +.d i +на Ñĩ + ¿ +ig Decimal +Ġsh ore +Ġg ö +Ġrep airs +Ġhelp ers +Ġcenter ed +OL LOW +Ġmap StateToProps +Ġc ents +< A +Ġexpect ation +Oct ober +Ġbg color +ca les +.C ON +ĠV el +Ġcry ing +-se ason +Ġfunction ing +_LOC ATION +ü ss +ber y +Par a +omin ator +- le +Ġeth ical +has htags +emp lo +Ġn úmero +( activity +.St op +.str ftime +IL D +Ġto e +ĉ Node +") čĊčĊ +ĠPu erto +Ġexec uting +ĠG UID +Ġoppos ing +al ph +Ġexhib it +_fl ash +Ġme ille +Ġjson Object +H ero +aint ed +_D OM +Ġw il +Ġslo pe +Ġm Ã¥ +ĠIraq i +Ġorgan ize +ĉj Query +H UD +sh ine +. we +ĠSk ills +pons or +Ġcon clusions +Ġre forms +Ġrel uct +n amed +ĠOl iver +Ġ// }Ċ +- looking +Ġf og +ĠH O +ĠF ried +Ġinev itable +ĠData GridView +H our +il les +log ical +Ġconnect ivity +.tw ig +ĠK yle +(d st +- Sh +ĠStud ios +( Level +.j et +_PRO TO +-de coration +OT HER +Ġread ily +.Param eter +Ġmultip ly +ĠL IB +ar med +Ġsoon er +æ Ħ +_ ES +Ġfoss il +ĠA nc +âĢľ This +l odash +Py thon +Ġhist ogram +west ern +Ġinf ant +Ġco ordinator +Ġn ib +: m +Ġres pected +Ġdef init +& T +_p ad +ĠTr igger +th al +Ġimage Named +Ġbeat en +ĉ rc +ĠPal ace +Ġhaz ard +Ġisol ation +_ rc +cont re +OUT PUT +Ġre ign +ĠPl ate +AT ES +Ġfl ux +Ġpack s +.get Selected +Ġparticip ated +Ġneed le +-de pth +:::: :: +-l aw +ins pace +on itor += no +ĠAt omic +ĠBr ain +Edit able +-s c +red ential +ĠP erry +k ie +Ġ ----------Ċ +.st roke +( Intent +Ġun ity +um lah +F urther +Ġpr ze +Ġs ø +ãĤ Ĭ +ĠPROC UREMENT +ĠH ousing +Ġatt orneys +Ġcomp ose +atter ing +" What +dra ul +Ġstraight forward +In stant +.J TextField +Ġtr ades +л а +Ġ{ ! +Ġl ately +IM G +ĠA ld +ĠIN NER +Ġcart oon +.S ource +F ALSE +Ġd ough +f en +( rect +Data Table +N ick +ĠBut ter +read s +_com ments +EN V +ĠConnect icut +-F IRST +ĉĉĉ ĠĠĠĠĠ +ach i +.M sg +re ction +Ġrelax ed +Ġsha ft +Ġe f +ĠAdd ing +Ġbre ach +Ġ ï¼ļ +ram a +Ġconduct ing +Ġ( ; +(g l +ĠCA USED +ash i +ĠF LAG +ĠCom merce +ĠIN TEGER +h ours +ĠSchool s +Ġn ucle +Ag ain +pro j +Ġsevent h +EMPL ARY +(m ock +'] ,čĊ +_S PEED +> false +Ġsp a +ĠN ear +ì ķ +Ġintr ig +_m embers +w ave +Ġanalyst s +_O S +ed in +ĠF ri +Ġretrie ved +Reg ular +_ obs +EX PORT +')}} " +" class +__ (( +b ucket +Ġst ro +ĠP atch +yst ick +ful ness +ap os +D a +ĉĉĉĉĉ ĠĠĠ +Ġen rich +un ordered +h ole +C ong +< Product +ĠC urt +( the +_l ower +Ġavoid ing +Ġbu zz +Ġv iable +ub a +- is +are l +Ġact ed +-d etails +ภĩ +ĠThe ory +ĠP un +ĠAn onymous +... "Ċ +è res +åı ¯ +ĠV ision +_se m +ash a +Ġcelebr ity +Ġend Date +Ġpop ulate +Ġcu is +qu ant +f loor +Ġglob ally +Ġcru ise +ĠStan ley +Ġb ikes +.get Connection +Ġpoor ly +_ other +amp ing +." );ĊĊ +od i +_A DMIN +.color s +ĠG aming +> ';ĊĊ +STR UCT +Q R +ID s +(arg uments +_a ux +( Event +_PR IVATE +ĠTre k +Ġdownload s +m utable +_STR UCT +(w x +Ġdom ains +js px +ĠVi agra +Command s +J s +.c fg +Content Pane +ĠEdit Text +à¥į ठ+Att ach +ĠAR M +posit ive +ĠGener ated +Ġse ized += : +Ġelectron ics +ĠApp Component +/ ',Ċ +.equals IgnoreCase +Do ctrine +d isk +ĠPolit ical +CH O +< F +ĉ height +ĠB ug +. le +ik h +Ġmill iseconds +Ġconstit u +m ag +.n l +-r ange +ang gal +', [ +ropol itan +Ġà ľ +ĠU C +.d esc +-L AST +f stream +ib il +Ġf ier +VER Y +Ġë ³ +IR T +_ UI +( abs +Ġkne es +Ġro okie +ĠV ac +are na +comm end +- \ +ĠSUB STITUTE +So ft +Ġpart ir +we alth +è¦ ģ +(d ataset +ĠCl imate +- show +Ġreli ability +_ch unk +ä» £ +_st ock +ĠEX EMPLARY +ï¸ ı +Ġv ÃŃ +Ġsm iled +Ġdr ill +.F unction +ĠS I +Ġreg ression +- X +ĠJ ar +p ref +ĉs uccess +ĠHit ler +Ġinst inct +Ġfem mes +Ġlo ver +< Ċ +Ġmulti plier +r il +Res ize +ĠAuthor ization +ĠK an +Dispatch ToProps +Ġc rops +t okens +ec n +ential ly +ĠINTERRU PTION +f ake +Und efined +ĠA K +ĠTest Case +Ġr ab +Ġtor rent +ĠO t +B ars +Ġlect ure +Ġen jo +Ġrespond s +Ġindex ed +Of Work +_ch ain +)) -> +ĠBeaut y +Ġ` < +Ġtouch ing +Ġ| -- +ĉf lag +normal ize +Ġtr apped +Ġestablish ing +/b uild +A J +f y +- react +av n +RI PTION +Ġk ut +ĠF ashion +ĠIn form +cur ities +< byte +ĠUkr ain +Ġs ug +Ġconsist ing +ood le +. ctx +.To List +Ġcomment ary +Ġtransf ers +Ġn ost +ih ad +ĠU pper +Ġconf using +miss ing +- cl +Ġbound ing +Ġcongress ional +Ġreve aling +d h +r up +Ġt res +re peat +, ĊĊĊĊ +_t ac +Ġexp ed +G irl +h orizontal +Ġ"../../ ../ +( option +Ġwe iter +ĉs ql +Ġ=> {Ċ +Ġgar lic +Ġre pr +Ġrepl ies +( prop +Ġspir its +Ġins pire +Ġbas ement +.re ject +Ġhint s +Ġpoll ing +ĉ ĠĊ +_r ating +Ġc ath +av ier +Ġcomp ressed +ĠV S +] ' +Ġjud icial +ĠT rend +tr aining +EST AMP +ogn ition +Ä ģ +SE NT +vent ions +Ġconsult ant +um ph +Ġuser Service +, NULL +k h +D ear +_B AD +it ations +Ġmet aph +' é +and ise +-f ont +.ch art +Ġs g +_ Controller +.j peg +ĠUL ONG +ĉg ame +( ss +ĠM aj +ĉg o +ĠS ad +ĠB erg +ĠM ine +P ack +Ġres istant +ĠR OM +Ġp eg +ĠStan ford +ĠY ahoo +Ġsca led +Ġl an += [] +"/ > ččĊ +Ġs ud +ĉ background +Ġsch olars +-m uted +ar á +Ġ= ==== +Ġ__ __ +C reat +ene ver +/w p +ĠV PN +Error Code +) ],Ċ +(b uilder +ĠEn emy +S ensor +us a +Ġtr iggers +Ġplayoff s +_RE Q +Ġ( ~ +ĠBar ry +Ġperman ently +ĠR UN +Ġb ure +.Fat alf +Ġch ick +ĉ panic +ps i +ok a +éĢ ī +> [ +Ġunderstand s +ĠJun ior +ĠIN FO += mysqli +ust ain +-s ource +s erv +ĠC REATE +. au +Ġsell s +ĠĠĊ ĠĠĊ +E urope +z w +pre h +ĠNS A +Ġx y +ภ´ +ĠB eyond +Inst ead +Non Query +Ġar ise +Ġavoid ed +.em place +_model s +} ),Ċ +Ġh id +Ġ& _ +.p oints +.get Width +.Ex ec +Ġ// // +ĠS essions +... \ +ĠCol omb +Ġacceler ation +rest ore +Ġ ile +ob ic +< Node +ĠD X +ĠBes ides +. age +ĠCont ains +N ational +ĠIm plementation +Ġeff ic +ĠR M +H y +ĠWed ding +ok ies +Ġrec ursive +Ġprosec utors +.Se lection +ĠForm ula +Been Called +[i i +ĠFr an +Ġtraged y +_F EATURE +Ļ ¨ +comp ass +ĠB h +? ĊĊĊ +.w riter +ĠH our +Db Context +io v +am on +re pr +é ĥ +ĉf i +'] ] +ĠD ry +. ro +ĠO bserv +æł ĩ +Form er +ĠB alance +ĉ json +Ġpr zy +I SS +( sock +ĠL INE +Ġde ce +Ġal ly +Ġtend ency +F un +Ġschem es +Ġinter ven +æĺ İ +Ġad verse +quote lev +Ġsacr ific +_s ide +Ġmut ex +AG IC +Ġocc urring +ĠCommunic ation +um ar +ç¼ ĸ +ĠTreat ment +.p erson +ĠL C +Ġe ch +( (" +ĠDise ase +ä d +ĠA Z +.A ccount +Ġcontinu ously +END ING +ĠRET URN +- string +.f ilename +syn thesize +Res ponder +( opts +reg s +Ġn uest +Pe er +// ------------------------------------------------ +Ġg auge +ĠK in +.s chema +Ġarr ange +ĠBl ake +_Type Info +C over +ĠHamp shire +P aper +-in ner +util ity +Ġcross origin +F OR +Ġign oring +ĠD D +av an +Ġtrad itions +Ġget String +Ġeth ics +ĠMaterial s +DE SC +Ġen zym +io let +ĠCh ip +ĠMc Donald +Ġn erve +ç Ħ +") ] +æ± Ĥ +ĠS ugar +_S IM +j peg +Ġdiscret ion +ĠT N +bo ve +ĠMin imum +ĠForm Group +Ġwork force +ĠExec ution +err er +ĉ ĠĠĠĠĉ +Ġpres cribed +.Text Align +OP EN +ĠP B +im ity +ĠEx ternal +° C +ĠApplication Controller +Ġb arr +imp licit +_d ot +ĠCol on +C OLOR +.Pro ject +* }Ċ +pl aint +get Text +Ġindivid ually +Ġcheck box +U Y +ĠL amb +Ġdys function +ĠL ar +à ° +ĠCre ating +');ĊĊ Ċ +" They +loc ations +_C ORE +Inter action +umbn ails +ĠPart ner +b rit +Ġless er +ĠSl ot +set Attribute +ĠW ave +.p o +/ store +Ġbrows ing +_p d +sum e +s ed +Cur ve +Ġpl asma +Ġsusp icious +ìĿ ¸ +ĠB ah +ĠExp licit +_C C +.Client Size +\ View +Ġsub stit +lo on +ĠG AME +ĠB rid +Ľ 建 +_ User +Ġsqu ares +f one +Ġsac red +ug hs +] interface +ĠTh row +ĠK irk +Ġemp ire +Ġassess ed +T ax +ĠHe aven +-b uffer +_STAT IC +én é +-b ordered +Ġpun ct +(m ode +Ġke ine +S ent +ĠCal cul +ĠE ve +Ġsty lish +Ġoil s +.Test Case +Ġtrad emark +Ġliter ary +Ġconcentr ations +ĠRel ations +( Class +Ġstd in +Ġv æ +back up +. VERSION +.AutoScale Dimensions +st arter +Transaction al +- panel +St udio +k c +ĠCh amber +ĠSpi el +Ġr ho +ا ÙĦ +! ' +.At tributes +Ġmurder ed +apeut ic +Ġint imate +Ġtext Field +ĠBuff alo +d ummy +" % +ĠLib erty +ob ar +ĠT ank +ĠPop ular +erv isor +ĠIn iti +ĠM all +ĠP rior +C AP +ĠCl ay +ĠCert ificate +.L ock +-st rip +-dr iven +/ all +ĠMessageBox Buttons +_SE CRET +_p b +Ġr ats +ा ठ+Ġn t +.R outer +_top ic +Ġt ennis +ĠP UBLIC +ĠActiv atedRoute +Ġ' ,Ċ +Ġcost ume +Ġj okes +. Handle +ĉ byte +Ġflav ors +( cc +Ġperson as +ĉ image +ĠN azi +Ġgram mar +Ġú lt +Ġval ve +Ġv ic +ĠR achel +_in valid +P refs +std int +(r oute +Ġhtml specialchars +Ġpe oples +pl ine +Ġn v +ĠQu ant +opp ers +Ġcurrent User +ĠC atal +Ġrecon c +Ġconj unction +l x +amb urg +Ġinflu ential +d anger +ind ers +Ġ% @", +.config uration +os ome +. identity +Ġpick er +n ost +ĠDI Y +Aug ust +ab lo +Le af +ĠRec o +ck o +DO C +ĠH erm +: any +ĠInt erview +ĠT ex +x fe +( work +Ġle ap +He ading +Ġqu arters +\ Bundle +re b +Per haps +ĠG mbH +B irth +ĉ sum +ĠWat son +.n il +ç ¡ +{ }ĊĊ +ica id +Get ter +" name +Ġ" čĊ +_n one +z m +ac ute +uest o +Ġs ous +Ġre build +Ġnewsp apers +ĠH az +Ġk its +if o +Bl ur +Ġsu ited +- In +à ¯ +ĠKe ith +ĠNor way +IN IT +ire ccion +iet ies +_us age +ĠDou g +r ise +Ġtr illion +im ited +ĠR EL +al ic +Ġcritic ized +the orem +Ġce ase +Ġsid ew +ĠT erry +Ġsubs idi +Ġfirm ly +Ġaw s +Ġh ott +Ġdress ing +bad ge +ĠApp lications +è¿ ĶåĽŀ +Ġlaugh ed +Ġh obby +Ġmus icians +Ġ* . +. placeholder +Ġcount ers +ĠCap itol +SD K +Ġhel met +and box +qu it +Ġcriminal s +Ġteen ager +( update +G l +.se lection +Ġdis charge +Ġpresent ing +ufact urer +_UN KNOWN +Ġstress ed +å ύ +Pro to +_cor rect +ha us +Ġren ov +Ġfire arms +Ġtechn ically +-b rowser +Ġc andy +St roke +Ġexec utor +Ġocc urrence +ĠIP v +_INTER FACE +ĠRetrie ve +.b ad +Ex change +Nav bar +ĠK id +(get ApplicationContext +_ST OP +ĠB oss +List eners +Ġshoot er +ĠAl b +ä ch +Ġp ix +.key Code +al one +Ġabs urd +ĠC um +ĠNewton soft +ik t +Ġlaugh ing +Ġcapital ism +ree Node +T x +_QU ERY +.S leep +( login +Web Element +Ġcelebr ating +Ġde precated +Ġma ar +Ġart istic +_ASS OC +ĠBorder Radius +ĉw p +Ġsurviv ors +In ner +- red +Ġprosec ution +_ pp +(" $ +Ġcomm a +un checked +graph ics +r ors +G ROUND +( public +Ġcustom ized +ĠArk ansas +ĠR ew +Ġexp iration +× ķ +ĠC ul +Ġn ons +.F ilter +Ġsen ator +_def inition +ash ington +ym ph +/ J +Ġf use +ram id +ĠSup plier +Ġaut ocomplete +Ġ} ), +." ĊĊĊ +_function s +ĉ to +.e val +ĠT Object +Re ferences +Ġhe ated +H AL +Ġ)) }Ċ +} $ +ĠB arr +_UN IT ++ $ +Ġget Value +ip ed +ch ied +(v m +c ue +_int eger +_c ourse +th ird +Ġrevis ed +** /Ċ +_D IRECT +Out Of +(" ( +ĠFe el +Ġre ass +Ġsub title +per i +n f +Ġenjo ys +Ġtreat s +) this +-t abs +anc ers +Ġcontin ent +Ġcard io +S er +. question +Ġph rases +Valid ators +Ġpop ul +Ġl ÃŃ +s ong +_IN TERNAL +Ġadvis er +Ġp uzz +Ġambit ious +ĠT ob +ĠD P +Ġpres idency +Ġsurre nder +Ġwatch es +_b inary +ĠSo on +Ġcan ada +(" ")Ċ +] =' +ĠBr andon +eps ilon +r w +.add Child +.C opy +Pr incipal +Ph otos +Ġmarg inal +Ġbas ics +e ing +M ust +_ String +Ġo le +M agento +.c ustomer +(p rev +ภ¥ +Ġlo yalty +C og +Ġprot ocols +ĠCom panies +Ġtheoret ical +Ġaccess ing +ĠZ en +. ones +att ice +_w orld +z es +Ġtatto o +Ġmen os +Ġinter sect +"] ;ĊĊ +bel ie +Ġin active +.read line +-label led +.d one +lick r +ĠW ORK +Ġderiv ative +Ġd atabases +âĤ Ĥ +Ġs x +.is Array +Ġy s +Ġp ada +ĠBul let +(` / +is Active +ĠCG Size +(equal To +ĠColum bus +Ġmar ry +DE V +_l imits +ron es +I AS +Ġt au +min o +_W rite +ĠW ine +Ġ[ [' +ĠP ull +rit ers +ri ents +Ġsh ifting +up p +_TIM ER +ĠCondition s +Ạ¥ +ĠOr ders +ĠSt rength +æī Ģ +Ġvalid ity +Ġf ot +et ur +Ġb olt +åĨ ħ +ĠAl ong +os hi +Ġassum ptions +Ġmag azines +_S PI +Ġp unt +_PRO DUCT +Ġrel ay +ĠJ avascript +. te +- es +Ġwidget s +(f s +< Item +_ex tra +Ġrecru iting +E t +Ġnecess ity +p w +Ġnov els +uss els +Cre ator +ĠM VP +ĠO C +th ood +cl ients +)) * +Ġcharacter ized +_SE ND +ut i +T y +.from Json +@ Service +ãĤ Ĥ +Ch ris +_ Is +ĠJohn ny +Ġclean er +ĠInitial izes +UN K +( axis +еР· +ie val +ĠWar riors +} )( +DM I +âĻ Ģ +ĠTre asury +Ġfe as +Ġsl a +_EN UM +l hs +ĠIn stit +ipp ers +Line ar +Re ading +quir ies +-c ell +ch rome +.S earch +IN A +ç±» åŀĭ +ĠĊ ĠĊ +ĠSam uel +Ġmill s +Ġdon ate +ĠGe o +( rows +Ġshe ep +Ġé l +ä½ ĵ +Ġb em +_UN USED +ĠR CC +Ġintrodu cing +att a +ĠP riority +ĠF B +ĠSer ge +> "; +atch ing +ĠKnow ledge +ĉ The +; margin +less ness +op ard +um atic +() ));čĊ +Ġf als +(c ache +Type Id +éĢ ļ +_ choice +ĠGo th +ĠS ites +M G +_b order +Ind ices +Compar er +ĠRed istribution +Ġclo set +Ġvers atile +Input s +**************** **** +Ġob esity +qu iz +gr a +(g lobal +åĬ ¡ +Ġcollect or +Ġk or +ov able +AD C +ĠEvent Handler +. nc +Ġplay back +ient os +_p erm +_W ARNING +ĠOlymp ics +.n orm +ĠBroad cast +_sm all +dr ive +. iloc +Ġtyp ed +M EM +_con s +DM ETHOD +Ġl un +.d istance +(p ar +po on +Ġb ast +activ ities +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +: čĊčĊ +S ER +) && +_l st +ĠPol ish +Ġknock ed +Ġfrustr ation +au kee +Ġph osph +iqu id +_c oeff +æŃ ¤ +L atest +ĠD ust +T ipo +Ġmaint ains +Ġmar sh +inc inn +l bl +C are +Ġneighborhood s +_g pio +ĠAr senal +D em +ĠW he +_h ook +Ġl dc +ĠHar per +ĠBer keley +Ġgrad uated +Per cent +Ġarr iving +ĠAdvent ure +(s cope +(' * +qu arter +ĠMar ie +Spe aking +_code gen +Ġimm un +c aster +ãĤ Į +åķ Ĩ +ĠDim ensions +.rec ord +Ġtext o +ĠMich elle +P ending +( by +_P AR +uch t +be e +.Th read +amp ire +k now +ĠClin ical +Ġmargin Bottom +Ġdistingu ish +.F ull +. undefined +ĠSequ elize +################################################################ ############ +Ġeduc ated +_O VER +åº ı +ĠÂł ĠÂł +_e ach +Ġur ge +de part +Ġdon ors +ĠA u +Ġbill ions +Ġbelong ing +_ age +_ Int +Ġsub stances +m achine +!! !ĊĊ +Ġjson ify +ib bean +ĠC ad +Ġend Time +Ġc ycling +ĠUIT extField +Ġle verage +Ġvan illa +e at +La unch +( pt +st ates +ĠControl s +ĠRes pons +ĠJ ake +Ġas leep +fort unate +.next Line +Size Mode +ìĿ ¼ +Testing Module +G erman +ĠInvest ig +.re verse +ĠB ACK +( DateTime +Ġnon profit +ĠEx pect +Ġt anto +'] ), +ĉ the +M ultiple +(get Activity +_W AIT +Ġj á +de cor +lev ance +ĠGit Hub +min ation +_qu antity +.Sc anner +ĠL ion +éĶĻ è¯¯ +Ġd re +Ġtan tra +Ġcontent Type +Ġf id +_ alt +NS IndexPath +- pl +åĮ ĸ +Ġantib iot +table s +ac ial +ĠReg istry +Ġol ive +ig ers +Ġsubscri ber +_p res +ĠSy ntax +Ġlo vers +. Byte +old ers +_for ward +al ways +C aption +Pr iv +ĠT ampa +is ateur +-labelled by +ĠTo String +Ġì Ĥ¬ +Ġinit iated +W F +Ġinstitution al +in ject +ĠSc r +Ġdo ctrine +Ġsp acious +is ure +ĠAn a +" time +ess aging +Ġc id +ĠN an +Ġin complete +T AG +-b uild +Dec ember +Ġres idual +(P DO +ĠList en +Ġg lyph +Ġg aps +ne a +.R ect +Ġsa u +ĠPhot ograph +Ġexec utable +ĠExp ert +Cor outine +_s izes +ĠN L +.is Valid +); }Ċ +- reg +Ġc iting +c wd +ĠOtt awa +ĠB att +Ġrenew able +Ġprelim inary +Ġas ylum +Ġw rist +Ġutil iz +Ġdet ention +F ast +Ġan ge +incinn ati +Ġste ering +ĠNa N +ios ity +/ page +Ġè ¿ +ster ol +Ġdis g +( DB +ĠDESC RIPTION +Ġ_ $ +Ġobst acle +Ġb izarre +Ġextr action +_ex pected +Ġlos es +ĠCele br +Ġhtml For +Ġexplo it +олÑĮз ов +XY Z +Ġmagn et +amp ed +Ġat oms +S ources +pect ives +Ñģ ли +Ġ= čĊ +Ġd are +ĠWal ter +Ġbright ness +Ġan notations +ë ı +is ke +S chedule +. images +ros so +Ġ" .. +g amma +Ġin structor +Ġover write +- am +Ġdevast ating +ĠSaint s +Ġh s +Ġbon uses +$ output +ij d +(Action Event +mon itor +Ġmatt ress +Jan uary +.j p +Ġcar acter +Ġim pose +_re st +ĠSign ature +Ġcoron avirus +ãģ Ĭ +_com pare +Me asure +it ated +el ijk +ig os +es ar +Ġrush ed +met ry +_SE PARATOR +_W E +_ATTR IBUTE +Ġy aml +Ġspec s +ĠR ah +ph eric +ĠInvest ment +ä ll +Ġappe aling +Ġview port +ç © +Ġmargin Left +Ġsub tract +ĠED IT +ĉ ArrayList +gr ading +ĠF ailure +as per +EE K +(n ow +< object +ĠAl ignment +ple ado +q tt +( ERROR +ĠIN VALID +Ġuser id +ra ises +ID I +Ġvari ance +ĠN il +/ delete +_M AIN +.T oken +.C ategory +> )Ċ +Coll ision +ĠGre ater +ĠR acing +al an +Ġmon etary +, new +ĠS orry +. Enable +ĠInstant iate +oll en +ë© ´ +ĠCall ing +_h our +AD A +Ġsh y +) ** +Ġ== > +Ġes pecial +Ġinterpre ted +! =" +Ġpharm acy +.s ingle +ĠC ialis +Ġpar as +.to UpperCase +ĠDem on +Pr ime +Ġrank ings +Add ing +_H ASH +ĠEx am +Ú © +ĠVict or +Ok ay +"] ;čĊ +Ġfort une +ĠF ETCH +exp and +.Inter op +Ġb arn +æ ¶Ī +ue vo +Ġspec ulation +âĶĢâĶĢ âĶĢâĶĢ +ĠN u +ĠBl ues +(f name +Ġinhab it +Ġ\" % +C ES +ular io +_c r +Ġvalid ated +Ġmid night +ank ing +Ġincorpor ate +Ġpurs uit +EX P +pr ime +P id +- US +ĠN urs +ĠW heel +é ĺ +Ġin p +Ġsupport ive +.m ember +ĠSh ot +.Check Box +Ġaff irm +T or +Full Year +Ġconsider ably +cred entials +_ opts +R oll +( round +Ġcom ent +_U ART +Ġext ending +R G +result ado +it u +.get Session +Ġattr action +& D +$ html +ĠJess ica +ĠAssoci ate +a ñ +_ ed +ĠL ag +Ġorig ins +()) -> +add EventListener +IAL OG +åIJ ¦ +.Com pare +Al bum +ĠK u +< Q +arg est +Ġpro long +Ġconfig urations +Ġaccident ally +_ph oto +Ġ'' ;čĊ +Ġver se +B ob +Ġfarm ing +del ivery +ĠM ack +Ġuse Selector +.bootstrap cdn +keep ing +en y +. upload +ĠM ETHOD +cre ator +< _ +ĠE aster +. -- +UI Button +ãĤ ī +om eters +Ġsh ine +Ġh ogy +\ s +Ġh arness +.C ell +Ġlif ting +Ġcomb ines +ĠOcc up +ex clude +pat ial +Ġres pir +_f it +Ġfif ty +ĠM ol +Ġtun ed +-d imensional +Ġq s +Ġto ps +> ";ĊĊ +quis ite +ch annels +/ res +ĠAn alytics +.app compat +/ to +Ġon Error +( attr +IR M +Ġrag az +- as +.Se cond +orient ed +Ġdon n +Ġlight ning +f id +ĠP le +ãģ¾ ãģĻ +t ro +.Tr ue +O bservable +× Ļ +umb ing +Ġpros pective +-f ilter +Ġpurs uant +(p oints +.B ind +Ġp alm +clear fix +ö s +ĠG onz +Ġwe aken +Dr ive +en ido +l ld +ob ox +ane an +G ot +ä¿ Ŀ +Reg ex +æ ĥ +Ġsal ad +ass is +" net +inherit Doc +ĠR V +qu ier +Ġcl azz +ı ÅŁ +oster one +Ġair line +.list dir +Ġdownload ing +ĠP alm +w aukee +& lt +.B L +_IN LINE +off s +<< ( +_new s +Ġch ase +/ >< +Ġeuro s +ĠEgypt ian +ĠSt ainless +_BO OL +ĠG uild +ĠD ynam +[index Path +Ġ ï +Ġmemor able +ĠCh ampion +Resource Manager +.Log in +ĠForm er +yp ed +Ġl leg +; ", +D WORD +Ġtax i +Ġbom bs +ra h +.t ags +_test s +st ones +âĢĿ ) +[ g +r type +Ġv u +Ġhost ile +Ch ars +ĠPatri ots +/ status +< B +ĠIn come +ĠD ad +Ġpat rol +_CH ANGE +Ġup graded +Ġch ina +set q +Start ed +.U ndef +Ġcheck sum +Ġfrustr ated +{ o +Ġen f +Ġwood s +ĠAny one +Enc ode +ĠQt Widgets +are as +Ġshe er +sk i +end point +_T est +S oup +~~~~~~~~ ~~~~~~~~ +(f iles +ĉĉĉĉĉ čĊ +.sp ark +Ġval ued +Ġ% Ċ +.control s +ĠXCTAssert Equal +Ġf ame +ĠR ic +D OT +ĠAlbert a +ä½ ¿ +os al +.Web Controls +Ġ ------------ +ĠM is +ĠS YS +Non null += item +Ġexp ire +Dec ode +_ operation +ĠValid ator +.C ENTER +uff s +* m +Ġav ant +æ¬ ¡ +âĢľ You +.per mission +... ) +ĠL ic +_co ords +.n ombre +c lo +.Int ernal +ĠCh o +_s w +ĉ Il +cl k +Ġcast le +(l ayer +p it +Ġgu ided +Ġâĸ Ī +Ġsuper b +Ġsup plements +_c ent +Ġpe ek +IN ARY +.Content Alignment +f alls +")) ; +W all +). čĊ +ĠD anny +irm ingham +IAL IZ +( create +" In +Service Provider +Ġpr iced +mac ro +am ac +. box +---- Ċ +ãĥ « +ĠS uit +ur st +br u +ourn als +num ero +__ ()Ċ +D as +ĠM itt +ud er +? \ +f u +[ B +Ġ: )ĊĊ +(int er +br ains +Ġatt itudes +Ver ify +Ġsign atures +ack Bar +Ġg d +J ack +.c at +Ġz z +war f +FT ER +");ĊĊ Ċ +Al ive +IC LE +ĠWh atever +Ġout lined +s prite +еР² +_A B +_DE PTH +Ġcrush ed +aa a +(e v +æľ º +Ant i +IC O +is EqualTo +.s un +ic ulo +s ale +_h ex +ĠV k +apt or +Un ion +ĠDis count +list a +.Undef Or +Ġautom ation +N or +å¯ ¹ +åı Ĥæķ° +Ġref lex +ĠLa ure +.showMessage Dialog +.t emp +Ġa kan +Ġ__ ____ +.Is True +ARE D +ag le +E nergy +Ġquant ities +âĢĻ Ã© +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +Ġcitizens hip +m outh +Ġin appropriate +ĠOut door +White Space +An onymous +load s +webElement Properties +T en +Ġacc idents +Ġadvertis ement +ĠY emen +(c all +Ġsl avery +Ñģ п +ĠL am +_BIT S +ome ga +ĠO le +Ġkid n +_A n +ĠR aid +Cre ation +s aved +Ġpro port +W ARNING +\ P +Ġp wd +Data Reader +is cher +ade on +ĠP redict +Ġreason ing +Ġdestroy ing +H el +* d +ĠLeg isl +_P r +ĉĉĉ ĠĠĠĠĠĠĠ +Ġsymp ath +Ġch ess +Ġm am +: hover +Ġconvert s +Ġp ela +Ġprogress ion +Ġ"_ " +ĠG ill +ĉ show +Ġsupposed ly +ac curacy +el in +Ġunf olding +ĠHy per +Ġw anna +Ġup s +( # +ĠCr iminal +( Point +at Lng +act ly +Ġcontract ors +'] } +draul ic +ód igo +ĠT T +ĠW ide +ĠAR G +_ ic +FLAG S +S chool +Ġclear ing +-be ing +={ [ +, const +man ent +Over lay +(' " +éĩ ı +ĠT imestamp +Ġmail ing +ĠC ake +.Th at +Ġmed itation +q p +Ġemp resa +ĠL ions +Ġw eld +ĠLinked In +Ġc ush +Ġgen ome +.Index Of +ag ain +Ġf allback +Ġcamp ing +re dd +-strip ed +Ġd v +Fe bruary +ĠPro xy +us k +Ġdies el +W RITE +RE AK +L orem +.In voke +- div +Inter ceptor +ĠD H +ia les +Ġvill ages +Ø ´ +ĠEN V +S ys +.X R +Ġpo em +à Ĥ +c ade +pl ots +Ġ{ ( +.g it +/s vg +nc mp +ĠÄ į +ain es +åĩ ½æķ° +Ġ( )ĊĊ +ops is +ĠRel ationship +_ aut +ĠB omb +ĉ com +* sizeof +off icial +_p ayload +ĉĉĉĉĉ ĠĠ +.m anager +ĠA round +ĉs end +ĠEx ercise +ĠB illy +iv i +Ġneed ing +_url s +_t asks +ĠH em +Ġtear Down +enc rypt +.t ie +Ġas m +IC H +ĠCGRect Make +ìĦ ± +ul ong +Ġit r +ĠG ST +Ġoffer ings +ro be +EE E +oper ators +_PRO P +ind ent +A DE +or f +ë IJ +Ġbless ed +vas cular +Ġcon oc +H appy +B ridge +ilit ation +j oint +ĠAdmin istr +- transform +Ġmeant ime +/ K +ĠBed room +Ġrig id +Ġbrows ers +EM PTY +.S erialize +_ ED +Ġst itch +Ġj an +ell t +Ġbr ace +Ġtr ails +p ublished +å¯Ĩ çłģ +} ')Ċ +Ġac ids +Ġ! !! +_d irect +> ());Ċ +aj Äħ +_O CC +Ġplan ets +æ Ł¥ +ĠDub lin +Ġser ie +.print f +de ep +` ) +Ġ\ $ +ĠÎ ¼ +_V IDEO +end ors +ĠC rypto +F ar +.Trans parent +.T R +ias m +_tr aining +Ġteach es +ĠB elt +Ġlimit ing +ĠK ath +ĠIndex Path +Ġachie vements +Ġser á +interop Require +Ġdis se +.I f +arm ing +uls ion +P o +_DE TAIL +Prot otype +ĠC AL +Ġagre es +.v o +.Execute NonQuery +ĠTop ic +Ġ' {} +Ar m +Ġe cc +M ag +Ġserial ized +ĉ conn +c ached += tf +ĠByte Array +prot obuf +var char +ĉ ASSERT +Ġlist e +_tr igger +· ¸ +Fe el +T ahoma +ĠL ik +Ġstruct ured +erg us +.In itial +_ ge +cl js +.cont act +Ġand ere +$ stmt +_C URRENT +ĠDis cover +$ res +form atter +H a +vang st +Ġem erge +ãĢĤ âĢĿ +ĠCabin et +-s quare +éĥ ¨ +Ġr age +ĠA J +ĠV T +sh adow +ĠFa ith +en ames +pret ty +has il +part y +Ġvar char +Ġf otos +Ġal um +ĠBelg ium +.y label +Ġde j +_num bers +Ġh u +.set Adapter +ĠUs ually +(s ample +.Sh ared +Ġbook ed +Ġ>> = +Ġmin erals +"> +pro g +bo o +_m d +_p ack +(ex press +ut z +\ Auth +, id +ĠCh ile +act ice +Ġrecruit ment +Ġpos es +Ġvulner ability +inst anc +or um +d ess +Ġx l +%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%% +( fig +Ġdelet ing +.d el +) ')Ċ +ĠWeek ly +?? ? +(str cmp +sm ith +Ġpurs uing +- so +ĠApp s +/ 'Ċ +Ġdec is +FO RE +Every one +Ġl anes +V irtual +. attach +( Log +ĠMed icaid +( Path +ĠTurn er +/ application +Ġport rait +Ġopp ose +check out +Ġfinish es +_M E +Bar rier +S ong +V AR +Ear lier +rell a +Ġh ast +az ar +Ġpull s +ng x +Ġinspir ing +Ñĥ Ñİ +-d irection +Ġexplos ive +Ġcreated At +st o +Ġwhe at +ĠB uilt +' ai +Ġtrack ed +ham mad +RowAt IndexPath +_ heap +D ue +Ġconnect s +.p ublish +em u +Ġbul lets +B AR +ol ate +Ġintern ally +Ġcatch ing +-p assword +ou ched +æĢ § +e ous +Ġx range +Q uality +v v +Man age +( ($ +ac ements +ĠBro thers +ĠHE AD +ĠUn supported +s an +es i +** *Ċ +Ġadapt ation +ĠWork er +'] / +.save fig +( trans +Ø ¬ +ne e +Cor rect +... ")Ċ +Ġsubmit ting +-p ath +ĉ last +iss an +.x label +ĠS epar +/ no +_b est +ĠM ills +_s ock +(f lag +Ġdest inations +em ption +ĠF AIL +å ĴĮ +Ġr p +f act +ĉ len +D AY +Ġse iz +_d st +l ip +.Line ar +ĠB asket +$ t +$ i +- brand +ĠNe il +ĠE q +Ġth ou +og ene +Ġscholar ship +æĽ ´ +Ġs wo +ag inator +en i +( book +Ġbl ink +th us +Ġcancell ationToken +ĠPalestin ians +Ġprofit able +Ġback pack +ens on +< Long +Ġp ools +Ġst icks +Ġspokes woman +Be ing +ĠHer itage +ĠN ike +SH A +ĠNotImplemented Exception +$ core +ĠR ico +/ latest +ĠC zech +ner Radius +(l ines +Ġsem ester +Ġw ounds +Pro cedure +.m ail +() ):Ċ +Ġcor rid +ter ed +ĠN CAA +Ġgal axy +_k ind +il k +Ġtr as +_P OL +ĠH et +Ġrefuge e +Ġteen age +.b inding +post al +Ġiç in +ĠData Type +é ĸ +ycl erview +, value +_id entifier +< b +Ġout file +čĊ ĠĠĠĠčĊ +Ġcr é +Ġrespond ents +ĠBe ast +ce led +Ġinter f +-th eme +g if +ĠR angers +IT AL +Ġauthentic ate +Com pletion +urs ors +Ġcin ema +Ġdisc our +ĠJ aw +OCK ET +Ġpr ayers +ĠL uis +fr ag +=[ Ċ +Ġbr ave +_p ose +C ertificate +- fe +ifer ay +ĠFl ags +Container Gap +ĠC rit +Result Set +ĉc ur +Ġcorrespond s +St aff +.Http ServletRequest +Ġneur ons +ĠMain AxisAlignment +ed ar +Ġg ad +_p arts +ĠÎ ² +Ġf x +/ files +ĠB ros +hip s +Ġgluc ose +Ġfar ms +Ġment ally +rest aurant +Table Name +ĠMer cedes +. Visual +Ġan ch +inal g +_r untime +Ġpropri etary +Ġintent ions +iz i +S lice +; "> true +ĠNY C +Ġb ored +ĠD etect +Ġapp ar +Ġje ans +ĠT ak +I OD +ĠH orse +( FILE +( ? +ri que +optim izer +n at +lo ys +ĉ Token +oub ted +u ess +oco a +Data Member +_P OWER +class List +Push Button +ĠWi Fi +. Stream +.g uild +Ġn og +ĠPortug al +ĠUnt er +Pr imitive +b oss +ĠDe utsch +Ġerot ic +Ġstr conv +.Try Parse +Ġgr ams +.S uccess +_p k +ĠHar vey +-m inded +.c ountry +[] " +Ġang el +Ġbe ats +ĠV or +il io +.m aster +s omething +ĠP ACK +( if +Request Body +Ġant es +/w idget +Ġmod o +ĠA W +find er +Ġoptim ized +Ġmiss iles +N B +ĉint ernal +t ex +ĠS ri +Ġdam aging +ĠM ais +- Allow +ĠZ h +- alt +Ġ ));ĊĊ +è ī +Ġinflu ences +Ġc atal +_REG ISTER +ĠAPI s +-cent ury +Ġbi ology +ĠAct ual +Ġhe els +TR ACE +_D IG +D ataset +ĠM atter +Ġclass ifier +.w ikipedia +ĠRog ers +Ġdon ated +raw ler +en en +Ġcas inos +ort al +Ġpr ive +s pe +duc ers +. ep +Ġgr asp +ac ji +Ġd airy +Ġb uses +.com m +. ins +ĠI RS +ĠBe er +ad c +o ard +_M ET +Ġ' +' +r ans +Ġkind a +ĠâĶ Ĥ +ĠM aur +аР³ +Ġband width +ib us +ĠD ifferent +(m at +ĠRes ume +_UN S +est ablish +Ġfon ction +Sub scription +_com pany +Ġlight ly +.con firm +.y aml +ĠBo ost +Com merce +- template +_DEL AY +ĠH I +Ġn avig +(S ender +ĠH S +_ "+ +ĠRE QUEST +Ġw ifi +=" "Ċ +]) -> +Ġro pe +Ġviol ated +Ġgl ance +ĠK urd +Ġè ® +de ck +ĠIS BN +Ġin fect +ĠF oo +Ġget ter +Ġt ener +ap pe +.h h +_h ot +< AM +p oly +! ",Ċ +Ġconver ting +ĠW WE +RO S +(' { +Com mit +) L +ĠO re +Ġsp arse +Ġdis posal +Ġcan celed +åIJ İ +Ġa er +Ġvin yl +á» ĥ +rec ogn +ark ing +Ġtrick y +* s +Ġproceed s +Ġis o +Ġco conut +Ġcraft ed +IEL DS +Ġquest o +Ġcomm un +_CON NECT +Ġtraff icking +De ep +a ções +c odigo +ve au +Ġbet ray +int a +T ED +æ r +m art +_B US +/ sc +ial ly +Ġcigaret tes +è¯ ģ +(n n +Ġmodel ing +/ products +w arn +Ġmet ro +ĠI v +& ) +ĠC able +Î » +Compar ison +g ary +ĠB A +P ART +Ġp v +_up dated +C redit +orth y +observ able +Ġthe atre +B LE +; }ĊĊ +la unch +_str ings +ug o +ĠR PG +- auth +Ð ł +hol m +ĠP and +U id +Ġim ply +ìľ ¼ +'] =' +/ User +Ġstr cat +нÑĭ й +Data Adapter +Ġland sc +Ġdipl omatic +ï¼ ĵ +************************************************************************ **** +ĠCh icken +Ġbc rypt +.In f +[ col +ĠQu antity +- position +Ġdiet ary +Ġfil mm +Is rael +Pre v +ĠMill ion +Ġrem ed +Ġbill ing +Ġout doors +.t m +Ġn ad +F org +Z Z +Ġs sl +], ' +K T +f req += document +bl ur +¬ ¸ +ĠJeff erson +C s +(s ave +Ġstr ap +Ind ia +Ġide ology +BO SE +ĠF P +( ans +Ġfe ver +ĠY am +K ing +à ² +AT ING +bo hydr +roll back +Ġnew Node +ĠN VIDIA +Ġhon our +ĠCon firm +xb d +Ġsuccess or +/ u +l iv +ourn aments +Att achment +Ġgr up +Ġtri be +Ġca res +e ft +_s ame +' label +Ġ ãĢIJ +M otor +Ġin exp +Ġ" (" +_POS ITION +Ġval ley +ĠResult Set +Ġpres erved +Ġmut ations +Ġquestion ing +mun ition +parse Int +ĠS r +ĠMet adata +âĢĿ ï¼Į +timestamp s +Ġtrans itions +í Ļ +Ñ Ĭ +i om +.D o +Ġp ine +Ġf ung +Ġtrans mitted +ct ime +ĠF am +Re vision +B as +UP ER +D estination +toHave BeenCalled +Ġun fortunate +IN ES +_pro f +Am ong +ĠCy ber +ĠB attery +gen re +ĠView Model +- = +Ġutil ized +p aint +.Integer Field +ern ity +comp iler +âĢĭ ĊĊ +ĠM asters +.To Array +Ġstrt ol +ĠUkrain ian +} ));Ċ +Ġsh emale +" That +for all +/ download +Ġrhet oric +.l atitude +ĠWH EN +Ġshock ing +IF IC +.N ormal +_F OLDER +Ġdr ift +Ġmount ing +- book +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ċ +ĠWire less +> ".$ +Ġrel ies +( Console +Int ernational +-> {$ +M id +Ġdis sert +dd s +Ġdepos its +ĉd river +# ga +pr ising +print ln +Ġpres enter +Ġmin es +C SS +ĠD ual +(! ( +Ġk am +Ġis Loading +ĠProt ect +. upper +ar ium +]: ĊĊĊ +Y ii +-sh irt +ĠIM AGE +_color s +Ġur gent +.Cont ainer +! (Ċ +S aturday +Ġsoci eties +ĠTh an +ĠC od += @ +Ġattach ments +.m obile +Ġsp ite +Ġb ounce +raw l +instanc etype +ĠTr uck +Ġmanip ulation +( Config +-in st +Ġst or +it ution +Preferred Gap +Ġmain AxisAlignment +Ġlist ened +'' 'ĊĊ +ott age +- project +.AP PLICATION +ĉ root +Ġwh it +Ġb ilder +Ġk er +Ġappl iances +row ave +ìĿ Ģ +ematic s +ĠO rg +op ing +_SE ARCH +Ġch am +add ContainerGap +Ġ( ). +ĠAr row +Il legal +Current ly +Ġus a +Ġpassword s +Ġre nown +av ern +ĠEv il +Ġconc at +Ġdu o +Ġv ale +ĠBe an +Ġindic ators +cm ath +ĠP ump +Nov ember +ific ant +_DOM AIN +reg ar +ĠPort al +" $ +Ġformer ly +"] :Ċ +ĠVis ibility +.getElementsBy ClassName +_RE D +Ġch ampions +à ´ +Val or +_ es +* a +-re peat +B and +.st age +Ġbure auc +C nt +et en +- function +Ġm uito +P ID +_ editor +Ġcrash ed +de ad +k at +ag h +ĠEX T +ass er +-sm all +Ġreal iz +( Entity +ú s +ĠAct ually +ĠEl ite +Ġhel m +(non atomic +ash er +Comm unity +all eng +ir y +ĠG rowth +Ġs ue +Ġfrequ encies +_des criptor +.At tribute +Ġrecip ients +_N S +/ "+ +ib an +Ġath lete +ĠI gn +_D MA +(d s +ĠRequire ments +AD I +ere z +\ Admin +br aska +ĠR ust +Rel ation +C OD +ĠV ERSION +em ma +)) { +.D uration +ĠC amb +- logo +Ġread able +Ġcre ators +() ];Ċ +Up Down +-h alf +.get Month +(s f +P ic +Ġhun ger +.t x +Ġexceed ed +_se ed +( ^ +_s k +.per form +Ġ> :: +Ġm ongo += float +bind Param +Sm art +if a +Ġse curities +Ġpre jud +Ġ, " +Ġcor ps +Ġv ra +amac are +it err +(M edia +uch e +Ġc ob +Ġlib er +. geometry +Loc ator +Ġsl iding +Ġsurg ical +_C UR +Ġcon sect +[ * +ĠRes ort +St ub +_DO UBLE +ĠS oph +Ġelect oral +_dis able +ĠÑģ о +ĠLight ning +Ġment ions +oc y +Ġle aked +Ġrelax ing +Pres enter +v sp +Ġgu ilt +=- =- +.re ply +ĠMir ror +C amp +Ġ+#+ #+#+ +Ġ+#+#+#+ #+#+ +.A uthor +Ġdirect ive +-h ook +íĦ ° +}ĊĊ ĊĊĊ +@ pytest +_r and +m is +Ġcolor ful +u je +lass es +ĠClass es +.h ave +% ), +é¢ ĺ +Ġdistur bing +sub string +ĠK oh +In vest +p urchase +Ġrec ycling +ĠA RT +ier archy +Ġf ps +.check Box +íķ ´ +_m aterial +duc ation +Ġf w +ud it +Ġreview ing +ĠS id +S yntax +ĠW ritten +arg ar +UM E +/ q +Class ifier +Off icial +Ġj azz +Ġom ega +Ph ysics +Ġl ugar +_access or +.command s +Ab ility +ĠB atch +R AM +Ġencount ers +. Qu +BY TE +ĠD istribution +Ġus o +ĠReco very +appro ved +Ġden ial +/sh are +Linked List +)čĊčĊ čĊ +udd y +Ġf ines +Ġr y +Un icode +ĉ render +Ġprem ises +Ġp on +ali ases +/F oundation +c uda +ĠC ock +,: ) +(f older +Ġm éd +dr ag +Ġtal ents +ĠĠĠ ĊĊ +е ÑģÑĤв +m ob +.y ml +Ġa ster +Ġdis cre +go al +ĠGT X +ĠS UCCESS +ĠL ONG +(f ind +Ġsing ular +_s z +ĠEth ereum +.. Ċ +Ġir res +')) {Ċ +Ġmin isters +St eps +ivers al +ĠNever theless +- led +Ġ( %) +ç¡ ® +Ġtime zone +Ġstr anger +(re nder +Ġsh util +Ġm ph +Ġtri o +pp y +Ġpred omin +Ġend ors +ĠRuss ians +ĉ row +Ġw izard +.s erialize +Ġcompl ained +Ġs ido +Ġdelight ed +-m e +ĠR av +H uman +ad ays +rec v +Work ing +J ump +ĠÃ¥ r +ĠAut omatic +_B ase +æł ¼ +aur ants + ¯ +æ ¸ +(C Type +IF I +( amount +Ġbelie ving += mysql +Ġf ir +Ġrest oration +ere co +Ð ¢ +_ '+ +Ġe book +Ġde bris +(input s +AY OUT +Ġscre aming +av ia +land er +Ġdist ress +Ġas sembled +ĠA void +( thread +ĠR PC +_EX IT +( queue +и ÑģÑĤ +D ll +Ġsk ull +_p ub +che z +min ate +ens en +Ġins ane +b ounds +ĠR osen +Ġcondition ing +process ed +v ideos +f our +.Con v +| ;Ċ +Person al +cer pt +:UIControlState Normal +Ġdos es +ĠKar l +ĠFre qu +.B ASE +ĠV ote +Ġcon current +ĠMessageBox Icon +Ġà ĸ +ĠDub ai +ĠR etail +: number +ĠOb server +ĠBig Integer +_ origin +_W ORK +F rames +Ġnot ably +. âĢľ +Ġtrop ical +Ġn iche +am ina +.s ys +(t okens +mod ify +os it +st rom +ĠCom ics +O PTION +T icket +Ġfact ories +Ġdis put +_F ile +ĠFin n +ee e +ĠDisc ord +_m oney +.t pl +_s afe +L B +Ġgl ut +J K +.fl ow +- cont +g os +Ġhor izon +ĠR ush +:: * +P ipe +ull a +bor ough +he imer +(m ove +( Text +} );čĊčĊ +w elcome +ĠCom ponents +Ġgovern ance +c losed +ĉm argin +Ġla undry +ĠTerm inal +iz ards +. âĢĶ +.rem ote +.r adius +ĠQue bec +Ġd h +T ech +ĠM ist +s eller +_l iteral +Ġgen ius +Ġbr ains +g em +ĠMe asure +Ġcata st +r ance +.Text Field +Ġconsum ing +Ġ'\ '' +oubted ly +ĠC ertain +E v +ert i +be ing +Ex perience +Ġ// [ +ĠArab ic +ĠC rist +ĠAz ure +Ġhor a +l adesh +\ Blueprint +d ar +.re l +Ġsup rem +ĠRe agan +ĠAt tributes +-s idebar +Ġuse Styles +ĠA irlines +Ġh ills +/x html +v inc +_m ock +Ċ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ +ĠP ill +.Layout Style +ĠCommand er +] < +sign ature +Ġ{ }čĊ +Ġhat red +Ġë ĭ +ole sterol +Ġ ******** +ancell or +c rop +T IM +ĉĉ ĊĊ +ys qli +uit ive +ĉun set +_s el +Ġmen us +t ick +Ġconstit ute +ĠElement s +ĠRed is +agg io +_f p +_de pend +em as +CA ST +or ange +j on +ĠEm ily +Ġpot atoes +Ġre ceptor +ĠElect ronic +ĠL ights +Ġcomb ining +ĠSome one +Ġ######## . +ĠT OD +/ show +X d +." ' +af x +Ġtr agic +St yled +ĠMar co +G allery +d ale +.âĢĿ ĊĊĊĊ +é rie +/s ervice +äº Ĩ +Ġamb ient +_SET TINGS +.Ad apter +l ene +Ġtrav els +Not ice +Ġcle ans +ĠF em +ch air +Ñĥ н +/ my +_b ad +ĠEcon omics +IS A +_C NT +(M enu +äº İ +ĠR idge +Ġlength y +D ot +Ġjump s +Ġhe y +$ pdf +Ġw orm +Ġs ut +Ġsh er +iam o +ĠCal c +trie ve +Ġc ops +ĠCh rom +Ġreg ulated +reat ment +ĠHigh er +ok s +Ġde ze +LOC ATION +ongs To +Ġfin ite +Ġvar ies +Ġposition ed +' il +éĩ ij +Ġh ike +(d one +play list +Ġad a +Ġcoast al +ĠN ancy +.DateTime Field +Cpp CodeGen +ĠSimilar ly +re ur +ĠCon tr +ĠH idden +ĠB eta +atch ed +_inst all +. Output +Look up +ĠRich mond +qu ared +Ġm anga +-control s +ĠBern ard +L arge +Ġslic es +Ġoff ence +ĠM ega +Ġest ar +Ġjoint s +Ġsum m +_pl atform +B uff +.add Subview +Ġret ained +Let ter +.d im +Ġess ere +ĠS caffold +EX PECT +ĉ RE +.long itude +ü nd +Ġstat ue +.add Widget +ĠCar ibbean +add PreferredGap +il de +UIL abel +ĠOp port +Ġimper ial +urs ion +Ġmand ate +Ġpromot ional +Ġv k +ia ÅĤ +Ġp yl +ĠCre ation +оз д +Ġsim pler +. what +ĠRec ent +St orm +. quantity +ĠL ov +" - +ubb les +_not ification +(w orld +ur ger +* (- +: "Ċ +h m +ans hip +ĠAl most +Ġmotor cycle +_f ee +Ġabsor b +ĠVin cent +Ġsound ed +ÃŃ st +Ġpharm aceutical +ht ag +ĠKind le +ital ize +ĠEm peror +oust ic +Ġspecial ists +åħ ¬ +Border Style +/ \ +RE LATED +(', ', +(ex pr +Ġh t +åį Ī +_C reate +Ġspecial ly +Ġ[] ;čĊ +Ġhe el +Ġse pt +_ arch +(in itial +% .ĊĊ +\", \" +Ġdiscuss es +Ġu pt +Ġ[ & +Ġman us +.h and +ĠM AIN +ĠDen mark +Ġ], čĊ +Ġcr yst +Ġn ack +Co ords +_in ner +Ġmid st +Ġaw ake +ĠÐ ŀ +-b reak +ÃŃ vel +_P ASS +ĠParam s +Ġdet r +Ġsp ider +ĠCon cept +Ġpre nd +CH ED +.Ex it +Ġpop ulated +Ġvirt ue +_SE SSION +Ġnou vel +o auth +Ġд аннÑĭ +r ink +.Header Text +atur ated +Ġer st +Ġå ħ +ॠĩ +_vis ible +ey er +Ġli able +Ġde be +Ġb w +{- # +_W IN +df s +H over +ĠP UT +- angle +Ġnob le +Ġtr aces +enc v +Ġuser Data +_in s +ĠS uz +Ġnews letters +ĠMod i +Ġentreprene urs +Ġtrib ute +Ġrum ors +Ġr r +ĠQu arter +ê³ ł +Ġfeed s +ó g +Ġen velope +Ġle ar +Ġk ø +develop er +Sim ilar +: ")Ċ +sub scription +Mod ifier +ital ic +Ġn asty +Ġtermin ation +Ġchar ming +Ġâ Ł +ton s +.tr ace +h ots +ĠU R +M ont +Ġjust ified +ĠG ang +ine a +Ġb og +( ap +_ $ +Ġcont amin +.D ot +ĉ Debug +( exports +Ġpa ired +ĠAss ignment +Ġautom obile +ĵ į +Ġph ases +v w +@ SuppressWarnings += \ +r ant +- ed +ĉ await +Ġcert ificates +'> " +Ġint act +CT RL +M ike +greg ation +AT TERN +Ġre public +_up per +ili ary +Ġcomput ation +h ire +ĠSh in +_ ANY +ĠManufact urer +ĠC arm +Ġbear ings +_c omb +c ad +ur istic +Ġwholes ale +Ġdon or +.inter faces +press o +ĠBr un +-c lose +pro ve +_S K +ĉf rame +et ros +ĠP ain +_EX P +ĠL T +_f s +.dat as +ĉ ss +vo ir +ĠA xis +M ajor +=" < +[ h +Ġprof ess +igr ate +(s core +Key word +" os +ĠĠĠĠ ĉĊ +an alysis +Ġre play +.p ass +\ d +t ls +Ġsan ct +.l ight +_m obile +ÑģÑĤ ÑĮ +ĉt otal +u ity +Ġpa used +N AS +Ġen core +lo e +Ġ-* -ĊĊ +.h igh +am pler +ĠSec ure +Ġfrag ments +_ vel +ill ary +ĠSte in +ĠD awn +Ġmax imize +ภ¢ +Ġ/ ^ +Ġcontin ually +Ġsh adows +ĉ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +ĠI ActionResult +Ġinform ación +C HECK +.Selected Item +b undle +ol ley +< Int +AIN ER +ĠW ing +tit les +ount ain +C Y +ĠLoc ale +form er +< context +R adioButton +_s chedule +Ġfab ulous +Rob ert +_PRO FILE +Ġg ates +IM P +ĠPent agon +g old +b ach +employ ees +R otate +Ġch amp +Ġsel bst +Al tern +Ġconvert View +/ , +Ġ~ ( +St reet +_ place +Ġpersonal ized +P ublisher +ĠSO CK +_NAMES PACE +ĠStand ards +so ever +_C ENTER +Inter est +ô t +tem perature +View port +get Resource +Ġeat en +Ġsem pre +Ġab normal +Ġc ylinder +Ġtroub les +n od +Ñĭ в +g ames +_g l +Pl ane +g rey +_t bl +.Component Placement +ĠCh ase +Log ging +man y +ì Ĩ +Ġfl ame +="< +Ġtra jectory +_r ing +Ġhydro gen +tr on +Ġstat ute +Ġcondition al +Ġtr ay +-s chool +(w idget +$ config +Ġrequest ing +. uint +et on +brit ies +Of Type +AD MIN +p redict +Ġg egen +ĠH app +OC UMENT +ĠA part +Ġ---- - +ro e +u ide +just ify +ĠSqu ad +Ġprof es +.b ot +_c urrency +inn en +ĠM umbai +ĠNum bers +avana ugh +agn itude +âĢľ There += http +çī ĩ +Ġv b ++' {{ $ +Ġin ode +s il +Ġh ace +Ġsever ely +ĠOver view +Ġspr aw +Ġbeach es +: left +· » +($ { +ĠF IRST +ĠSp a +- ass +Ġb aise +ĠN ODE +ĠP izza +P et +(se q +\ ">Ċ +CppMethod Pointer +Ġv p +Ġi a +_se conds +em et +/b lob +_TH RESH +... čĊ +D est +ĠN H +.data Source +it és +ĠJ ak +s ell +Ġwork shops +< u +Ġr ivals +ĠEX ISTS +h om +-t oken +compat ible +.J Panel +Ġphys icians +art in +Ġdes irable +Ġdistinct ive +.D ep +g id +ili ate +, max +Ġprem iere +Ġq Debug +Ġadvoc acy +Ġwh isper +P t +Ġun changed +_q ty +请 æ±Ĥ +Se ason +avel ength +ĠP ul +Ġd ÃŃa +'] ]],Ċ +al is +(" & +bor o +Ġb m +ĠR adi +w rong +ĠGo ing +ime Type +ij i +- feedback +ĠN ames +ĠB apt +Ġprob able +ĠE ther +ĠPolit ics +_prot ocol +lin ing +S at +Ġcor rel +.Pr imary +(null able +RI ORITY +Ġcolor ing +Ġutil izing +d as +Ġexport ed +Ġcar riers +Con v +. editor +i ó +(h andles +Ġapprec iation +. import +ĠAust ria +ĠStr ip +il ight +Ġappropri ately +ĠP rest +ĠW ir +ĠUI Application +al chemy +ĠM ob +ĠD etermin +ergus on +register ed +_con vert +ĠVlad imir +.Show Dialog +ref lect +Ġsh ook +Ġass ure +ĠO ften +Ġcivil ization +Ġvocab ulary +fore ground +ĠS cope +Ġunw anted +act ing +Ġ( [] +Ġmark ing +. original +ĠMO VE +Ġsport ing +ception s +NS Number +S izes +Ġprovinc ial +_Tr ans +Ġproblem atic +d igit +ĠEm ma +lock s +ĠC rew +ib a +') : +ish a +Ġm amm +Ġocc ured +w cs +(r ule +Ġmerch andise +es pecially +ĠT win +Ġn aming +Ġs log +Ġimpro ves +Ġad her +: text +.h adoop +_HT TP +.to List +.dis abled +Ġl enses +.in i +ĠR are +ĠUb untu +Ġsc ram +ol ation +tit ulo +Every thing +Ġnod ded +icht ig +_const ant +z c +l ift +ĠNot ify +ond o +ĠIN F +(" + +ĠK az +Ġd read +.m apper +le ur +ĠCome y +ĠN B +ic ers +.P ush +ĠH ack +ĠBrazil ian +_pro d +Ġ// ĊĊ +Ġb icycle +Ġun available +Ġadoles cent +bl k +Ġmit ig +_bl ue +ì ĺ +fade In +ĠUtil ities +ĠM N +; k +< style +- status +ind o +Ġinn ings +Ġg j +Ġ|| = +.e u +: Number +Ġcuis ine +ĠURL s +ie k +Ġw ires +ĉ ps +ie g +.m k +so ap +Ġsom etime +Ġst ap +_s eries +.T arget +æ º +.dest ination +OUN TER +R aises +& A +Ġsmart phones +NI Env +.s dk +Ġhelicopt er +Ġim pe +ĠB irth +A U +b readcrumbs +co ords +Ġexplo red +Ġl od +ĠI p +g able +ian e +Ġart ifacts +Box Layout +ا ر +list ener +.c art +ĠH uff +ĠHind u +ĠData Types +ĠDr upal +IGN ORE +Ġoffset s +ĠR TC +- login +æ ® +ĠQ Object +Ġprosec utor +R ock +_ch at +W ay +ì ² +Ġneg lig +Ġd ude +; < +Ġdeleg ates +_f ailed +/ dev +/ work +( New +et able +() " +( Icons +Ġp ork +ĠModel AndView +ĠV IP +ĠK or +m ix +Ġox id +ĠSC REEN +ĠFour th +/ ",Ċ +Ġte e +ĠSte vens +t icks +Ġp ledge +ib bon +ĠLo an +Ġne o +n umpy +ĠShared Preferences +- oriented +ĠLogger Factory +ĠGraph QL +zen ia +" _ +W omen +.c ast +Ġdeliber ately ++ b +ĠAr n +font Size +Ġm aze +Ġbl amed +.m as +} )čĊ +eler ik +Ġsc anning +ĠWork shop +Ġfind en +Ġca ut +UI Font +( return +al in +cast le +//////////////////////////////////////////////////////////////// //////// +Ġincent ive +op ath +b lob +Ġcigaret te +Ġfert il +*/ ĊĊĊ +ĠSh ar +Ċ ĠĠĠĠĠĠĊ +Ġunc ertain +ĠS ton +Oper ations +ĠSp encer +Ġdef in +ĠS olo +on est +·» åĬł +Ġu omo +G ive +Ġdent ro +; padding +ent ai +ĠC ars +Ġenthus iasm +ĠOper ating +S kip +par ation +Ġprotect s +Ġre ver +d g +ĠC incinnati +Ġconsect etur +Ġm uss +employ ed +a uses +ink le +. Values +£ ¼ +lo v +_W ARN +Ġbook mark +ĠAp ollo +. axis +Ġm ét +Ġop ener +Ġtum or +d an +Ġelement ary +Ġsk ipped +ĠK er +as ia +_res p +Ġdem ol +ĠCan adians +Ġt astes +U Integer +Ġ' ${ +.aw s +RO ID +ri ans +M Q +ord able +Ġcous in +Prop agation +(S ession +ph alt +UL D +ĠSc alar +Ġblo ody +Ġ ঠ+.m ask +, q +ĠUn its +Ġcent res +ĠPr im +. ]ĊĊ +ĠSh aw +P rom +ĠTh ought +Check er +_output s +( chan +E INVAL +Ġb ob +_c mp +P ed +Ġmat rices +Ġvrou wen +Ġgenu inely +high light +(d isplay +) != +Ġdel icate +ĠL uther +ĠM iles +Ġuser ID +% = +ate urs +_B UF +---- ---Ċ +imit ives +Ġsh elves +sl ow +_in formation +LE G +W r +.form s +cel and +/ un +: & +.âĢĻ ĊĊ +=" % +Ġpro st +Ġfont size +uc ión +get ic +am t +=" . +Dec or +B rit +Ġ"" ). +Ġfound ing +.File Name +ĠT ier +Ġdisc lose +á m +.s yn +.View Holder +lic ant +_st age +Mon day +Ġdes erialize +t alk +Ġtradition ally +æĢ ģ +Ø ® +LE X +Ġe h +ĉ ROM +Ġ{ })Ċ +Quest ions +nc py +Ġfix ing +к Ñĥ +_ Key +: x +ĠSTR ING +ĠÑĦ ай +ĉ left +ĠBen ch +ell ij +UR RED +ĠDi agram +} catch +/ time +ĠMiss ing +db name +Ġs ore +ĠW alt +ugg ing +rep resent +ĠG S +ne ys +ĉ page +Ġvol can +(b tn +Ġexceed s +Ġ erg +Ġpil ots +ĠS ed +ers ions +Ġpat ron +R V +/ top +. asset +_c ross +. Editor +.t b +Ġwel coming +SC REEN +) findViewById +C oder + ",Ċ +_P in +ues e +Ġover rides +_ ready +Adv anced +Ġop i +-c art +("/ ", +ĠDe b +CR Y +ĠVert ical +ĠO VER +ĠCorpor ate +Ġ"" ; +Ġste pping +e j +Ġaccus ations +Ġor az +_t ail +Ġindu ced +Ġel astic +Ġbl own +, // +Ġbackground s +âĢĻ une +-s dk +Ġset Interval +Ġincent ives +Ġveget able +_ On +exp anded +p ix +_sh ader +ĠSP DX +@ example +ĠW rapper +.Z ero +Pos itive +Ġsp inner +Ġinvent ed +ĠG ates +оÑĤ оÑĢ +Ġcompar isons +è · +.pr imary +data Provider +add itional +ĉ options +s napshot +.set Horizontal +Ġ" {} +ĠFish er +hal ten +< Type +Ġmax Length +ĠM t +Ġê° Ģ +.jet brains +Ġident ifies +Ġflow ing +ĠDisc ussion +ats by +Ġsch w +ught y +Ġr ivers +.un ique +_PH Y +ed ral +( ll +Ġcs rf +pp ers +ü l +ĠEs pecially +port ed +ĠHarr ison +****** */Ċ +Text Color +ìĬ µ +w ire +Ġstatus Code +ĠFin ish +c ence +ĠMcC ain +ĠW or +( await +Ġ) -> +ĠRegister ed +IN ED +k al +par ison +Ġobj eto +V i +mand a +Ġrenew ed +ĠS of +ess el +.nd array +Ġcr ap +ç® ¡ +.ab spath +( up +Ġclear ance +ĠT W +_C OPY +ĠĠĠĠĠĠĠĠĠĠĠĠ ĉ +Ġforest s +Ġarg uably +ĠA SS +he y +am el +_f ore +ĠSou theast +Ġab used +Ġpract icing +aked irs +ä¸ » +_res ources +Ġp ond +.F ixed +Last Error +ĠPsych ology +Ġ" // +! : +Re usable +Ġmens aje +Ġro spy +Ġb our +Ġvar ieties +Ġem path +(( { +_ org +ĠM es +ĠMag ento +IST ORY +Un less +Ġh j +ĠD uty +J un +, size +Ġpaint ings +Ġdisp ens +d art +Ġbehavior al +Ġr pc +cal culate +fr uit +_m m +ĉp thread +Max Length +Ġc urrencies +_cap acity +ĠO z +Ġfire arm +Ġcoeff icient +Ġbankrupt cy +w art +Ġfat igue +AV A +Ġes pa +_p c +ĠQu otes +_L IGHT +ĠT ickets +Ġrel ates +Ġpublish ers +Ġunlock ed +Ġ// ---------------------------------------------------------------- +ĠInterrupt edException +Ġout look +r n +Ġreb els +W ritten +Ġas ian +ot to +Ġ ĉĉĉĉ +_g pu +T xt +.Image View +Ġsu is +_t ables +.Rec yclerView +Ġwhat soever +è ģ +] ++;Ċ +assert True +_ verify +ĠR ivers +Ġ ][ +J et +id ian +S ibling +Ġgen res +.A ccess +OP S +Ġtr ivial +ภª +al en +в ед +ĠS word +Ġscrut iny +(c b +Ġcomm erce +Ġguarante es +_ad v +ĠL ET +rec io +Ġh ilar +Ġback yard +ãĢ ı +Ġillustr ated +/v endor +. Util +Ġw ow +LO Y +ĠMar shal +"> '.$ +ĠB ak +Ġmod ifiers +d ictionary +ĠSt re +m ultiple +")) , +ĠC ort +'] "). +( admin +ĠCre ator +Int ernet +( ms +log y +DECL ARE +ĠMarc us +<< << +ãģ ł +_m y +(in st +Ġsc iences +ND ER +. enter +Ġit u +Ġbeh ave +P an +omb ies +=' < +')) ;čĊ +ĠM ENU +ĠWork ers +.No Error +Ġbind ings +Ġdis abilities +{ \ +ĠM unicip +Ġco res +ur ple +ĠN okia +us ions +ĠF itness +.handle Change +Ġjav ascript +ìļ Ķ +( dec +Ġpack ing +-de pend +Ġtrans cript +z eros +_ alert +? ",Ċ +lib s +± оÑĤ +Ġ| ĊĊ +tr ained +ĠG ent +ĠR ab +x p +_config uration +å¤ © +_ accept +.rec yclerview +: url +ĠMu hammad +Ġprivile ges +_b ank +uk u +w allet +ĠRO OT +Ġenc uent +? family +ĉ position +Ġc g +Ġprec ip +method s +_f ast +in crement +ĠT iger +_OCC URRED +qu ip +ĠH AS +_d om +Ġw reck +b j +Ġd ern +Ġorg ans +. entries +Ġ_ (' +ram ento +ĠJam ie +Ġp unk +IP P +Ġprogram a +Ġatt ain +Ġpro ves +/s ign +Ġanswer ing +Ġl adder +************************ **** +ĠW almart +ĠCONT ENT +duct or +Ġver bal +ĠP ID +c rypto +_CALL BACK +Ġ= ================================ +Ġpot ent +Ġshort s +.U ri +.un iform +; border +ĠW er +Ġhere in +ll a +ĠI hr +P ixmap +l iteral +! )ĊĊ +g eneric +r ust +_script s +ost o +it us +ĠCoal ition +Ġrem ot +de ploy +ĠEag le +ãĢģ ãĢĮ +Ġimportant e +ĉ object +Ġseason al +ne j +aid u +Bind View +ĠSi erra +-b g +Ġmake Styles +[ offset +G ames +Ġhorm one +AR IO +head s +( select +ĠStart ed +@ param +_de cl +_b log +Ġa ño +\ Api +ĠMil waukee +Pro vid +An imated +Ġcool er +ĠSe ed +. Edit +Ï Ħ +ĠT aking +Ġborder Color +-found er +.Logger Factory +Ġ"" ĊĊ +AL T +ĠL ate +EDI ATE +Ġ);ĊĊ Ċ +af a +Ġcancell ation +At om +ĠB irmingham +emp resa +HE MA +asc al +Ġup side +.V ersion +ĠF older +ĠE ight +ĠV intage +ĠApp Delegate +ĠPre vention +.se parator +ST M +( room +gener ator +Ġc attle +ĉ Z +ĠPart icle +' };Ċ +Ġneighb ours +ĠState less +Ġalt itude +Ġsa int +об ав +Ġconv inc +ĠCont ents +Ġje une +(t s +Serial ization +(c ollection +ĠJ azz +ĠD od +ĠR och +ac io +comm ended +DEF INE +.on load +Ġspecial ty +PL ACE +_MO VE +Ġaccount able +Re uters +Ġf icken +Ġde pr +W ow +V oid +.s pace +à¸ Ĺ +Ġt q +ĠP ets +< $ +(C urrent +ber ries +plan ation +Ġlist Of +ĠTh u +ĠPR INT +Ġm ismo +Ġdo i +ch k +ĠUn icode +( role +Ġvir gin +< Point +_RESP ONSE +-h ouse +ĠVenez uela +EM AIL +Ġp úb +_ex ist +B all +.C L +re ferences +ĠBeautiful Soup +ĉ Expect +TH IS +Ñĥ д +b ane +Ġtemp oral +ER IC +et as +Ġrefresh ing +Ġsec ular +@ synthesize +ac cur +Ġn ella +ĠS OL +.p ipe +Ch annels +èĩ ª +Ġinsert ion +á» ĭ +el ia +Ġadjust able +Can ada +ĠI TEM +Ġcur ves +ĠChe ap +let ing +Ġoptim istic +al lo +Ġpolit ician +_down load += edge +ORT H +Ġmodel o +art o +. rotate +Ġs elenium +æĪ ij +_al ias +Ġrenown ed +.' . +Ġc zy +Ġal les +.Com piler +ĠB ass +Conn ector +.R ole +L INK +Ġc riterion +lem etry +Success fully +/p ng +Ġey eb +asp berry +( gr +Ġd angers +Ġcorrect ed +Ġgl ow +Ġelabor ate +ĠB ears +aw ai +=" '+ +Ġpromot ions +Ġmathematic al +Ġ" ` +_Generic Class +ĠChe f +.S ort +table Name +R IC +Ġvolunt ary +ĠBl ade +-e lect +ĠCom bat +ĠAb ility +Ġab dom +Ġd uck +T mp +åħ ¨ +Ġer ase +.P h +ĠDefault s +p artment +_US B +ê te +; ' +Ġp ads +ĠOb amacare +.T otal +Ġdiv ert +Ġcr icket +Ġrecre ational +( red +ĠC le +R U +Ġmist aken +ĠMont ana +Ġstr ive +_sl ider +ĠPl astic +Ġdecor ated +ĠV P +lic o +ĉf alse +Ġpre fs +( \" +_f alse +i endo +Ġ@ $ +B ucket +act ical +ĠZ hang +.c ols +.B inding +Ġw ax +_ST ORAGE +Ġlaw n +Ġr f +.Sc ene +ĠCal culator +.d esign +Ġres il +л ем +E mploy +ĠPr ices +ĠP WM +ag i +.e valuate +ĉ param +Ġbr ass +bb en +Ġinflamm ation +ull ivan +Ġan not +Ġp H +iam eter +ĠB TC +( box +Story board +Ġcl ay +.assert Raises +| string +.App ly +Ġmatch er +und ed +Ġsatisf ying +Ġìł ķ +Render ing +_app ro +ind rome +AN EL +_f ix +br ush +.M atch +Ġsm iling +on aut +S unday +Ġdelet ion +Ġencour ages +P ull +Ġreven ge +Ġqu arry +tr ade +Ġc ables +(d elta +ites pace +Ġf h +.b unifu +Ġvi el +_IN CLUDED +ĠT ail +ad ar +of s +Ġmet als +g om +_method s +Ġn j +.St d +(w in +$ (' +Ġt urtle +ur on +Ġen rolled +ĠH z +ĠBox Decoration +Ġp ont +rel ationship +B i +³ » +Ġmas cul +Ġsh ades +Ġv r +ĠLog ic +Ġa in +ĠD IST +Ġcoll ar +" profile +Generated Value +ĠP ossible +Ġe ines +ĥ ģ +.time out +ĠE c +Ġjer sey +.D ouble +Ġqual ifying +v or +CRE EN +_A pp +_rec v +Ġali ens +It s +E sc +i ator +ĠE clipse +Ġg h +V ict +ĉ html +to o +. const +Ġant erior +ĠW u +(key s +Ġul tr +_p oly +ĠT ap +ĠB ud +A WS +Ġcrash es +_t ot +Cont in +-h anded +alth ough +ภļ +ific ent +Ġde ve +ut ory +ĠW orth +_M S +Ġfloor ing +Ġsell ers +ĠThank sgiving +Ġp ng +Ġval ores +Ġslee ve +Ġfil le +Ð IJ +Ġappoint ments +Ġv im +User Info +BO OST +Ġpos ed +initial ized +.product s +ĠLeaders hip +man uel +' % +em arks +Per centage +(d ist +. avatar +(h Object +ä» Ĭ +_ iff +ic one +; ) +_n il +Ġab ol +е ÑģÑĤ +Ġven ues +.Con vert +! ')Ċ +.B itmap +sk in +_C OLUMN +Re v +G RESS +g ow +Ġw ished +tract s +.assert False +Ġscreens hot +Ġfo is +Com b +Line Width +ĠGr ab +Ġint ensive +ĉ sh ++ ) +.first Name +_PRO CESS +Ġt ilt +it ored +.L OG +Ġb ak +Ġintention ally +.play ers +(c anvas +)) )čĊ +.Pro vider +_P UBLIC +T alk +ĠL iv +ched ulers +Ġl c +ad ic +feature d +.res ources +Full Name +Ġmean while +B uffers +Ġres olver +ĠS AP +_T E +G NU +ĠForms Module +_ wh +ĠS we +.widget s +Ġcabin ets +Ġsus cept +ĠB ott +activ ex +av ar +ant ics +Ġ" =" +_k wargs +Ġgame Object +ĠAng le +.I ter +mar sh +ĠB irthday +ĠC MS +request s +ĠPear l +_E OL +Ġlin ux +( org +_M ouse +.con structor +Ġz d +Ġk icks +art isan +Ġe ax +K n +pon ge +ĠFin land +Ġmet res +ĠAss essment +part ner +/ pre +! ',Ċ +[ Int +Ġos lo +date picker +/ String +op lay +ĠHe brew +, double +Ġtrab al ++" \ +ĉ EIF +/ text +_F IRST +ĠP ete +Ġe go +Ġextr as +P DO +Ġreg ulate +ĠQ Widget +st s +ĠSh ows +ĠN HS +.c ourse +p thread +ĠF uel +.t imes +Ġ ° +Ġstr ides +($ ('# +( words +Ġrhyth m +Ġsp ont +Ġsens ation +Ġsp ike +C losing +页 éĿ¢ +N umeric +Ġbreat he +Ġfin ale +_F ACT +in ion +Ġch ill +Ġform ally +ANG ED +Ġ' :' +ĠпÑĢ Ð¸ +a q +ĠFab ric +(l at +ĠPr incipal +Ġer ro +oc ale +N om +Ġf ost +_C USTOM +.int ellij +ert ools +Ġcl asse +adi ents +Ġfundra ising +EN E +_OPTION S +_ ob +// }Ċ +Ġprote ctions +.se ed +N V +term inal +;; ; +P redicate +Ġì ¶ +Ġbomb ing +G F +Ġch ew +)) ). +qual ified +] ={ +list en +C ENT +d igest +E ast +Ġd iver +Ġend points +Ġe e +Ġcolle ague +Ġdissert ation +_com mit +_D AT +. rc +Ġbre asts +ĠR ug +ĠP il +Contract s +ĠBry an +Web View +Ġconcent rate +ĠIn ner +Ġ' | +std out +_S ub +> -->Ċ +V ol +ĠS SD +)) ), +. Optional +Ġnurs es +Ġor b +_ pe +);čĊ čĊčĊ +pl aced +ess er +Ġther apeutic +Ġwhites pace +Ġa ston +Success ful +Ġpr aised +ĠW es +Ġe ighth +ir al +Ġvrou w +Ġf action +_b ias +Ġw itch +Ġnp c +(s b +ĠRod rig +_b ig +Dep endency +ĠAb raham +ard i +C AR +n os +Ġabund ance +Ġnut rients +in stein +.V ert +ĠI SS +< U +Ġsum s +_h ist +Ġfar mer +ĠA br +Sh ot +ĠBad Request +Ġh ass +ĠR ails +Ġaffili ated +æĿ ¥ +Ġer f +IN F +ĠView Holder +min i +ĠR oth +Ġfaith ful +ĠPhill ips +AND OM +]. [ +_P AY +ĠAr ctic +f aker +D igit +M ale +std err +se ys +Ġ Å¡ +_rem ote +li que +Ġin def +ĠIndust ries +it ra +_p airs +< iostream +Ġsal aries +ik en +.F rame +PL IC +_S PEC +ĠMed iterr +Ġsystem atic +Ġinter rog +Icon Button +se a +int ro +ĠIss ues +enc rypted +Ġintern ationally +Ġsn printf +Ġpast a +ĠBrad ley +_ Status +AL K +_P AD +.l aunch +< select +Ġhar dest +Ġph y +Ġ(( * +-s lide +ĠNob ody +S u +Ġas ÃŃ +close st +_initial izer +Ġsupport er +-g en +Ġt ales +Ġcor p +_f u +s at +ne ighbor +.M igrations +Ġal gun +Ġsin on +.S pec +? ,Ċ +.G L +m ale +Ġmon itors +yl an +-L icense +.m atches +ĠA BS +ĠM ast +ĠW allet +($ ("# +Dir ty +Ġco pe +Ġinterpol ation +ous ed +ĠJ ets +.F LAG +.C ancel +.Event s +ne ver +ĠM Hz +> D +Ġs ervlet +bast ian +Ġ> & +S ID +_cl k +Ġdiv isions +} ',Ċ +Ġd ildo +Ġpar ade +m ajor +Ġab oard +; ++ +Ġf usion +"}, {" +ĠDialog Result +ĉ arr +- em +_n r +(h andler +.N ET +.Xtra Reports +ĠSh ah +ĠB rief +- , +Ġprec io +ĉĉĉ ĠĠĠĠĠĠ +Ġt ant +ĠGrand e +/ xml +_IC ON +ĠR etro +un que +Ġn ag +to Fixed +X L +Ġdecl aring +ĠCon crete +ĠAm azing +ĉprint k +Ġdeb ates +D ATED +Ġaest hetic +emet ery +Routing Module +ĠNash ville +W AYS +Ġw olf +Ġobserv ers +OT A +ans on +Ġe a +Ġgreen house +ĵį ä½ľ +Ġst air +Ġimmigr ant +_app ly +pe are +ĠBloom berg +_PL AYER +Res p +æŃ £ +Cho oser +ĠI Collection +P eter +Er ro +.detect Changes +Map s +Ġs queeze +ĠHom es +weg ian +Ġformat ting +Ġnegot iate +ul d +ĠN ep +ĠQ B +Ġeconom ies +Ġ*/ , +Ġredu nd +ĠA ber +.IsNullOr WhiteSpace +yc led +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĊ +_S h +Ġske pt +Ġre created +Ġget Type +Ġmarg ins +Ġcolon ial +ch arts +// @ +Ġprocess ors +è¯ ´ +b atis +æĦ ı +ator io +mention ed +P atient +Ġpre y +Check box +_x path +.s kip +ĠMorm on +ĠMemory Stream +CRE MENT +Ġk u +m eld +\ Data +ĠK ernel +il tr +éĢ ģ +( profile +Car bon +RO LE +( pl +] *( +.m emory +Ġmed al +Ġadvis or +it ät +Ġh dr +ier ung +ĠProvid es +( alpha +Ġteen agers +- parser +.L atLng +] ()Ċ +Ġfel ony +ĉĉĉĊ ĉĉĉĊ +BO OK +Ġsl ash +Ġclear fix +ĠPro phet +å® ¹ +right ness +-f i +.k ind +ert on +J im +Ġmanip ulate +Ġworks heet +ol in +st ars +Ġart ifact +_EM PTY +ĉm ain +------------- ' ; +Ġexpress ing +ĠI Q +ĠF act +/************************************************************************ *******Ċ +_m ass +)) : +Ġcon dom +Ġcreate State +omet own +Ġir r +Ġ> ( +> B +iter ation +ãĥ ª +Ġshirt s +ount y +-> $ +_S IGN +ĠD ale +Ġj j +E asy +F re +ĠN y +Ġch lor +match ed +ĠG erm +- UA +ĠN athan +educ ation +-y ard +- che +h ouses +r itional +Ġprox imity +Ġdies em +áºŃ p +Ġd rought +.a udio +ĠLe o +Ġfavor able +in ch +ĠD aw +rib ly +_st udent +id able +O VE +Ġlack s +ounc ing +.b usiness +Ġre open +may be +_G LOBAL +Ġdress es +ĠEd wards +ens ible +ĠHard ware +ĠEx cellent +ĠTime Unit +CTION S +Ġsched ules +Ġseg ue +Op ens +am men +- Identifier +Ġst aring +Ġhapp ily +ĠH ob +' _ +Ġ" ); +ament os +et ched +Ġ/> }Ċ +. Users +Ġinterrupt ed +Contact s +Ġreg istro +in burgh +CH A +_ imp +ph is +s ay +Ġretail er +.N ODE +/ maps +_L AST +ĠCh arge +_g uard +Coll ider +ĠStateless Widget +": [" +(" ../../ +iox ide +ĠS und +Ġ'' ; +un set +add Widget +л Ñİ +el les +alk er +A rc +Ġded uct +G UILayout +ĠV illa +Ġfor bidden +_ where +Ġ\ / +ĠT ib +_A X +] čĊčĊ +ĠB ir +Ġb end +ĠMA KE +ĠM ET +Ġfut ures +Ġweight ed +"" "čĊ +Ġauthor ize +(pro gram +}, {" +Ġcoeff icients +ê s +Per Page +ĠBath room +ĠPublish ing +G PL +Ġsub missions +ĠNUM BER +j Äħ +Ġaddition ally +em pre +ĠSh el +ot yp +S olution +Ġth under +_ ec +ĠĊ ĠĠĠĠĊ +ĠF ellow +Ġk ay +Ġnew State +ONT AL +Im plementation +.L ook +Ġ ents +Ġl ors +ĠB IG +f ab +Ġaver aged +ĠFe edback +ĠW ells +Ġm artial +Ġind ul +ĠComm unist +ĠFore x +ĠAgricult ure +" [ +Ġqu ar +ĠK ont +ĉ view +. Bytes +des ktop +ĠM akes +akes peare +.Null able +Ġspot light +V B +ow y +(t orch +tr idge +_b ounds +Ġapolog ize +.add Item +ant d +* );Ċ +, u +(g en +ç» ĵ +re ator +ĠC ord +ou pper +.m etro +Ġ ew +ĠW ORD +.A fter +Ġdet ained +ĠHam mer +ex isting +Ġo st +Ġmon ument +-c ustom +User ID +ĠN om +Ġre jection +(d im +Ġsingle ton +ĉd ie +ari ance +re ports +] != +eld a +Ġpreval ence +_reg s +." . +Ġfemin ist +Code c +Ġ **Ċ +(label s +_M ARK +FA ILED +Ġadminister ed +W N +ĠĠĠĠĠĠĠĠ ĉĉ +Ġn oun +w ig +Ġg otta +Ġr if +- im +ĠPaul o +ĠCommand Type +] ))ĊĊ +-z ero +Tr aining +Ġl ord +_ art +re ddit +C ert +Ġpes o +R ot +Ġend anger +.d r +user Info +un ts +n v +ĠTrail er +-f irst +(m ake +Ġbenef ici +-bl ack +i ÃŁ +Ġund oubtedly +Ġm ex +ĠAnc ient +( as +Ġdes cent +P ick +Ġrep lica +$ obj +ä hr +Ġar rows +ft y +ĠLib ya +ug a +charg ed +T ur +Ġh omic +iss en +ĠF ake +Ġbe ers +Ġsc attered +( Time +UT IL +Ġbureauc r +/pl ain +Ġstick ing +FA IL +ĠC ovid +Th ird +_p resent +ĠPier re +Ġë ª +Ġ[... ]ĊĊ +Pro b +ĠTra ffic +ica o +do ctor +Ġ), ĊĊ +T abs +al u +ï¼ļ âĢľ +Ġinher ent +_N o +rit is +ĠPro of +.b asename +ä¼ ļ +Ġch im +ĠProt ected +c rit +Ġpr one +Ġк он +ĠHero es +Ġan xious +Ġan os +Ġweek ends +Ġs ext +Ġredu cer += UTF +h alf +ĠS aw +.m m +Ġnue va +.current Target +.l ua +_EXT ENSION +ĉ reg +ĠC trl +_ align +accept able +Ġrush ing +fr ac +Ġbo asts +F ive + ± +ĠTem perature +> ): +Ġchar ter +RE ATED +Ġsubject ed +Ġop c +health y +使 ç͍ +ĠScient ific +Ġfra u +ri ages +à¸ Ķ +.in ventory +ation ale +M ad +min utes +>> ();Ċ +ĠEn v +Ġrecord ings +Ġsusp icion +sql ite +ĉ read +ãģ ¦ +Ġwor ries +.put String +ĠSh anghai +( uid +r er +ĠvÃŃ de +") : +Ġmethod ology +Ġк оÑĤоÑĢ +cc c +av ad +Ġindu ction +ĉ Thread +, string +ạ i +neh men +u ition +Ġ* __ +.em f +Ġì ľ +/th emes +ĠN ine +. One +ĠEm bed +Ġf az +u ations +Ġpriv ately +Ġl ing +[ F +ush i +Ġlaunch es +( KEY +G MT +Ġaim ing +pat ible +ĠB iden +i w +ĠD egree +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +Ġ$ ('< +á rios +to UpperCase +ìł ľ +ĠE UR +Ġovers ight +Ġtable sp +Up dates +.m akedirs +Ġhum idity +/ template +Al ways +( IS +_c ert +D ig +Ġunder way +ort on +ĠHur ricane +Ġsp ends +ĠSeg ment +Ġfl ies +ĠT oggle +ĠLyn ch +Ġs enses +ĠK os +set Enabled +ist ically +Ġtest er +Ġadministr ators +Ġtag ged +Ð ĵ +Ġshort cut +ĠRes olution +Ġsuperv ision +ĠAsh ley +Tr acking +ul atory +and el +ist en +Ġun re +(d iff +ANT S +Ġr ider +Ġs Äħ +.S eries +_ orders +ORIZ ONTAL +Ġret ention +ãĢĤ čĊčĊ +Ġdi agonal +ĠC ancellationToken +_ Internal +Ġru in +.Q t +ocr atic +T el +ĠAn swers +m atic +Ġx p +at em +_j obs +_ any +Ġsen iors +Ġland mark +ĠQ List +Ġman eu +ot ify +/ ";Ċ +/ server +ĠPhil osoph +uten ant +( io +h z +Ġauthentic ated +d v +- Compatible +Origin ally +, function +ãĢĤ čĊ +ĠRepresent ative +as ily +irc uit +.d t +(m ath +.M arshal +[ , +ĠC ities +_ turn +| )Ċ +Ġcant idad +al ter +ĉ ui +ĠNe braska +Ġsk irt +.b g +Shared Preferences +( style +Ġg rief +g ew +Ġsaf eg +ol ang +_l ists +ì Ľ +Ġgran ite +Ġhott est +.j dbc +.C ustomer +Ġâī ¤ +Ġwa ar +_sc ene ++' / +ĠJ TextField +Ġse ating +Ġwe ars +Ġ` / +C ases +ĠY outube +ı m +Ġbal con +, G +Meta Data +- price +SC R +Un ity +Ġtr unk +={` ${ +Ġearthqu ake +Part ial +Ġsub st +Ġelim in +=" '. +//* [@ +Ġsuperv isor +vro let +_ article +Ġp ane +b io +Ġmot ors +N M +F rank +Ġon ion +- word +Item ClickListener +Ġb rit +end encies +Com puter +_r unning +( day +- he +(n amed +ĠS ach +о Ñĩ +c ampaign +.Ab stract +(w rapper +.p ay +Ġu w +Ge o +r ails +/ select +icht e +son s +E VENT +Ġal iment +Pro viders +A wait +_INTER VAL +. off +Ġgl uten +_cl oud +Ġw en +.ex tract +ĉ button +/ MM +Part y +Ġdem ographic +_err no +Ġh iking +(' ')Ċ +", @" +Ġw it +r á +olog ie +ĠSt yles +ĠBrowser Module +.Request Mapping +ic ans +P AGE +cre ation +ĠF erguson +ud ed +num bers +ĠGT K +Ġpresent ations +ĠB obby +_s pan +est yle +Ġilleg ally +abel a +Ġbattle field +cap acity +ter ror +] ");Ċ +Ġwar rior +le ader +ĠDB G +ĠRe venue +Ġvig il +Ġcounter parts +( Error +ACT ER +Ġhe eft +Ġselection s +ze ug +t om +-t wo +. ;Ċ +_st atement +ĠA id +ĠV ul +_r gb +Ġpr izes +Ġedit able +ĉ form +ın ı +.de cor +D emo +lic es +Ġen ctype +rat ulations +ĠR OS +_ch ars +ĠJ ahr +part ial +Ñĥ ÑĤ +ĠRe ceive +ĠL ands +AP TER +Ġch opped +.. " +ĠAn aly +ĠU ID +ĠR adeon +ĠB ee +Ġun m +> M +.find all +Token izer +ĠWH AT +Ġs j +D rawing +E ss +ON D +Ĭ ¶ +(p acket +âĢĶ but +Inv ocation +ĠN uclear +? ;Ċ +Ġgrand es +ĠC rypt +rem ark +Ġ'../../ ../../ +Ġin ability +m agic +c ats +Ġsim ulate +: ${ +in flate +Ġen er +: NO +ip les +Ġmer it +ĠR ated +Ġgl ue +/b log +Ġg ren +Ġthr illed +.C H +unc an +ĠPR IMARY +Ġper sec +Ġfe ared +.M IN +ĠThe ater +é Ĵ +ategor ie +æ® µ +Ġappet ite +s quare +ĠAlex and +.User Id +_g t +_ enter +Ġgradu ates +Fragment Manager +Author ize +-N LS +(M y +Ġtri umph +ust ing +_PARAM S +Char acters +(: ,:, +_B UILD +M Hz +Ġwash ed +Ġun cle +Ste ve +ard own + ${ +_confirm ation +Ġtro phy +Work s +ĠElect ronics +ĠMediterr anean +_m etrics +Ġannounc ing +ĠD AY +_pro to +Ġp ear +base Url +ĉĉĉĉĉĉĉĉ Ċ +Ġcoord ination +: N +.an imate +ĠC otton +_h it +â ľ +Ġjet zt +if ter +(f ields +own load +ific acion +.c uda +ĠLi u +> equals +ĠA ce +ÑĢаР¼ +ĠSuper man +ĠGarc ia +Ġarrest s +ag ar +Ġ{} ) +Ġmac ros +rou pe +ê tre +Ġtw isted +str uments +_ (" +_ vertices +ĠTrans ition +и к +[ max +m ind +Ġaccess Token +Ġun le +m us +c op +ĠF actor +Ġcon ced +Ġre tr +.l inalg +-s lider +ob l +_Static Fields +Ġz ombie +s elling +Ġch ap +Ġsh aking +ĠTrans late +ĠAm sterdam +ĠE TH +_EX TERN +k d +_d isc +Ġpreced ing +Ġpri x +Object Name +_mod ified +ard ware +Ġ?> "> +ĠD W +` ${ +Ġ?> ">ĊĊ +Ġspin ning +_p ending +Match ers +. Keys +ĠP V +en us +ant is +Ġdisc ard +Ġh aul +Ġem pir +Ġpath way +Ġo ak +м ен +-ind uced +Ġimp air +ĠCal gary +.is Hidden +d z +_ include +Ġg m +Ġ' (' +P Y +uggest ions +Ġcommod ity +c ro +/ sub +Ġget Instance +ĠLeg acy +ĠK il +B al +( short +In form ++ x +* r +ĠHope fully +or ate +Ġmach en +Ġtreat y +ĠO ri +.p ublic +-h orizontal +Ġtact ic +Ġb ord +w ares +Ġam mo +ĠL ists +Ġequ ations +/ her +ĠNS W +B ounding +_C ollections +Ġav ail +.Drop Down +è ° +Ġh h +Ġl Ãł +.p b +Ġmemor ial +ĠAT TR +Ġexhaust ed +Ġt sp +ĉ redirect +Ġlik ewise +ST ER +L java +Ġcondem ned +oca ust +(str ict +Ġexem pt +Ġs ms +Ġex agger +S YS +Ġl ounge +: ^ +Ġto dd +de b +ator ial +ĠPort er +Ġtu ition +Ġexem pl +Ġp aren +.line To +Ġkid ney +Ġç a +Ġc ui +ï¼Į 请 +X C +Ġmo ż +Ġnomin ated +l ung +Im Gui +ĠB uzz +Ġstere o +port al +res as +Ġk lass +Ġdraft ed +Ġproject ile +/g pl +(param eters +* )Ċ +Ġassist ed +ĠNS Integer +s itemap +:n th +.View s +.Argument Parser +Ġme er +z ier +ĠD ig +Ċ +Ġpl ag +p ine +Ġblank et +Ġ: - +Ġl cd +------------ --- +(" " +Ġtact ical +ĠRon ald +ex tr +ĠF est +Ġf uer +-n avigation +Ġk b +gh ost +Ġhandle Change +_cl s +() != +Com parator +.v m +ĠCo x +_re view +/ @ +_c ookie +Ġrecogn ised +ld ap +Thread s +ĠSex ual +ĠB earing +(S QL +Ġx r +Ġth igh +URL Connection +ĠSU V +Ġm Context +Ġinc idence +ĠE ste +.s up +_t e +(EX IT +C MD +/ "> +Al most +ĠU ne +Ġand eren +ĠSingle ton +Ġb ore +Th ink +Ġn arc +] initWith +_sh op +(str ategy +! ', +her its +ĠDes k +_m achine +.net ty +ı nda += < +ĠQ R +ĠS idebar +.split Container +Ġon Success +Ġmon key +En joy +(n odes +pect rum +Ġ(* ( +ĉU INT +, height +ĠNetwork s +.t ail +.l inspace +Ġ" ... +List en +Æ ¡ +.Ch annel +- defined +Re peat +ad just +ER M +_ application +.assert NotNull +- stream +Ġr abbit +Ġposition ing +Ġw oke +Ġf ing +Ġmulti player +Ġregister ing +un til +Ã¥ n +( :: +uss ions +Ġpot ato +ĠE quals +.S up +/ap ache +Ġ( = +. ") +.p tr +ĠSpe ech +.cl ip +ĠGab riel +Ġmusic ian +/ issues +.sh op +ĠH ier +_RE T +_b ucket +ãĥ ¡ +av s +Ġro z +fl ower +Write Barrier +ĠMil an +Ġlegisl ature +ĠD oll +Ġprov ing +.concat enate +âķ IJ +Ġg char +cdn js +b les +ĠList ing +л о +.xr Label +ĠS ak +just ice +ĠVal entine +un less +Ġp iger +(r un +Ġtest ified +AN A +ĠRem oves +)) ));Ċ +rec ated +ĠRuntime Method +Ġcon qu +ãĤ ¢ +Ġt issues +ail er +ét é +- Star +Ġfl ames +.set Icon +Ġsup ern +Ġvag ina +- variable +Ġwell ness +C UR +Ġbel le +.get Request +Ġp oco +ben h +ag ens +Ġsp ill +ĠJ ur +Ġdispatch er +н ого +emon ic +(dir name +ĠÐ Ķ +Ġpas se +Ġg anz +ric ing +E U +Ġmuj eres +ess en +.at tribute +j j +ĉĉ ĠĊ +[ ^ +Ġstrtol ower +lex er +ect ar +hot el +.s quare +Ġr all +Ġlower ed +hand led +Mark et +ĠUs es +iv as +.B usiness +ãģĹãģ ¦ +D IV +Ġw asted +Ġav oir +ê m +_ACC OUNT +. et +ĉ SDL +k ap +Ġf ox +up pet +{ },Ċ +", ' +F avorite +P END +ĠA ES +} ), +Ġded uction +Ġpol ÃŃt +Ġcomponent Will +ĠT elerik +_SE LF +Ġm use +C raft +Ġd ens +ठ¿ +( tp +Ġt asty +Ġbal ances +Ġded ication +ĠWall ace +Ġun law +\"> \ +Ġm um +- update +ement e +Ġs oda +Re public +as mine +é ric +( Status +ĠJson Convert +ĠD isk +.Red irect +Ġfilm ing +/m ol +R o +Ġv ille +Ġtrab aj +Ġsyn thesis +reg a +Ġr l +S cheduler +ISH ED +current User +(error s +' h +_b ot +x imo +ĠUS ART +_s uper +_DEC REF +н ой +_RO W +Ġprom otes +ĠT A +Ġhor as +ĠRep resents +Ġname of +ĠEx c +ĠGar age +Ġse ine +, # +Ġher b +/ resources +Ġple aded +.r adioButton +Ġæ ĺ +O ps +ĠN est +c string +ĠDef ence +Ġref ere +_le af +Ġrevel ation +ë § +.execute Update +_W ORLD +Ġexp ans +(" \" +j ab +Ġdoub ts +ĠGe ometry +Ġintrodu ces +Ġsen ators +Ġcan al +.h elper +ĠBi ology +_SE NS +.pre vious +-t ouch +ab it +Ġimpact ed +Ġbr ackets +.d irect +acc um +Ġtest osterone +ĉ action +ĠCh ance +Ġpe aks +CppCodeGen WriteBarrier +Ġun belie +_p ress +.R el +ang led +/ templates +-- >čĊ +l ime +Ġsufficient ly +_ nt +Exp and +.is file +Ġis Empty +Ġq t +Ġmul her +ac ob +Ge orge +å¸ ¸ +Ġass im +as o +Ġcompr ised +O V +(CON FIG +ĉw riter +Ġdes p +Ġten ure +(c r +.p ool +ĠB rend +Ġc ensor +(time out +Ġple a +.W rap +Ġtight ly +ĠW ere +ĠI gnore +abe i +Ġbr idges +Ġcondem n +Ġsimp licity +Ġrout inely +Ġblack s +j b +ĠP it +U tf +Ġ/ Ċ +re load +Ġset Object +/g lobal +Ġf atty +Ġsock s +Could n +Ġerot isk +æĿ ¡ +ĠPress ure +ĠM az +n pos +tol ower +ĠE Q +ute ur +ĠM oment +Ġet a +{{ -- +Ġgraph s +ĠGu ar +r ine +( -- +ĠHttp Status +(st udent +* np +Ġrail way +Ġas ynchronous +_v m +'] ,' +, text +mer chant +(G uid +ĠG ra +ix er +fetch All +.add Listener +fl ip +* $ +> (), +Ġsun light +ass igned +Ġab c +ĠC OLUMN +ĠðŁĻĤ ĊĊ +) ... +Ġen semble +Ġnew line +_S INGLE +ied ad +Ġdark er +orm ap +Ġl ion +pl its +Ġillustr ation +ĠI EEE +Ġv ista +ous ands +****** * +ĠTom my +Ġh ue +S el +Ġa ura +ĠTher apy +Ġanim ator +.con straints +Ġv ague +(" ") +Ġvill ain +Ġbless ing +Ġstring Builder +ĠM isc +ĠD IR +f ax +- node +ĠWalk ing +ĠA U +s ess +Ġgr ill +VERT ISE +ĠF oods +Ġt ournaments +à ĵ +ĠMar sh +Ġw onders +Long itude +.Command Text += input +_enc oder +page Size +Ġget State +> >Ċ +.g rey +p od +Ġread ings +Ġre consider +Start up +Ġexc er +.b alance +_c ycle +_T ime +LOC AL +ĠE FI +ĠRe yn +.set Foreground +by n +Ġdis connected +ACT IVE +Ġembed ding +ick ers +Ġsurround ings +* c +Ġgar ant +Ġb f +Ġw ipe +Ġ ä¸ĭ +_T RA +ado x +ç ķ +Ġsu cks +ĠS ongs +ĠAssoci ates +ĠB ald +ĠB rett +ven ile +Ġv t +Ġin ade +Ġres igned +ĠGl enn +.p attern +.Data Bind +Ñĥ м +Layout Inflater +ch et +ĠTest ament +.m s +Ġp av +ĠReact DOM +ur dy +AD ATA +M u +/ actions +ĠJ s +_ex tract +ĠBr ing +: id +str t +iv ation +Ġoutr ight +az u +loy ment +и Ñı +al do +ĠP ublisher +E ducation +Pa lette +_d rv +Ġ($ ( +ĠAnd a +Ġrem edy +Ġincons istent +te ction +Ġregul ators +Ġshort est +(p air +ĠInstall ation +Ġdefend ants +Ġ( ); +-l arge +M el +Ġthreat en +н Ñı +Ġfet ish +ot ine +_d ic +Ġ< $ +Ġst agger +sp i +$ response +S erv +-b orn +j os +ĉ img +ĉW HERE +_l t +å½ ĵ +.c ost +ĠT ue +.label s +ĠL V +wcs store +ĠJes se +ภ« +Tr ade +Ġpredecess or +ë Ĥ +fin ally +_g eneral +ogg ler +_REG ION +n ement +Ġblog ger +ĠHar bor +ĠD ataset +[ w +Ġattend ees +. ico +max imum +.Un lock +_SY NC +ág ina +Ġdown s +ĠW ii +]) / +Ġkick ing +unic ation +ĠD AC +ĠID S +ĠR ental +Ġcurrent Time +Ġvacc ines +ĠDev il +Ġn ors +_m ouse +urre ction +(n o +Ġ> čĊ +Ġaggress ion +Ġbre eding +.s ymbol +im an +Absolute Path +ĠWH O +_fl ush +- root +arn a +& M +Ġf athers +ĠR ocket +ive au +Ġw ander +Ġcom pos +ĠWar rior +ĠSe at +ĠClin ic +_in voice +(dis patch +Product o +at uring +oss ier +ĠM AY +Ġd agger +Ġsanit ized +ĠR FC +Ġpro ph +Ġur ine +Ġgr ind +ĠExp anded +des cripcion +-f w +ĠK erry += name +Ġch k +Ġnation ally +Ġthe e +In c +Ġ? >> +.R adioButton +.Http ServletResponse +/ Y +ĉf ield +Ġhom me +y per +Ph ysical += v +Ġdr iv +ĠErr ors +Ġc Äĥ +De ath +ĠW INDOW +Ġpo et +ĠSh arp +ĠImm utable +ĉ create +Ġge ht +ĠRe form +ais er +ĠInitial ization +Ġimm unity +.com pose +Ġlat ency +ĠLeban on +ĠPar ad +Ġfu els +ĠEx hib +co h +% ">Ċ +ĠCL I +) initWith +-Z a +_C LEAR +reg n +Ġfin ances +.st andard +_C ATEGORY +.lib rary +Ġtravel ers +_w p +ĠE valuation +start ing +Ġ )),Ċ +ep isode +ĠV ariant +Ġda emon +ĠJul ia +ĠN R +Ġdoub les +< v +/r untime +Ġinterpre ter +ĠIN DEX +ĠHol mes +_D IM +Ġp addle +_ex ample +Ġfore ground +.r outes +Ġs owie +S UCCESS +ĠC DC +ĠB D +_ - +as ured +W riting +Ġcurrent Page +( answer +ĠASC II +à ¨ +Ġsocial ly +yy y +ĠSpecial ist +(c ustomer +ist ani +ke st +ĠM ak +Ġth o +. pt +( comment +ĠCon verter +g am +b ins +. tele +ĠVeter ans +_AL LOC +олÑĮзов аÑĤ +inn amon +; width +oh l +Ġfant as +Ġs ung +ĉ K +( Json +Ġneighbour hood +Ġv ow +Ġs ins +on acci +Ġepoch s +im agen +.Ch ange +.my batis +Se ek +W ER +管 çIJĨ +Ġinter ess +_ Event +eder land +Ġterr itor +Ġci udad +uck ed +Ġsn ack +Ġtransport ed +ĠMan ifest +ĠD AT +_th eta +Ġw ont +.ĊĊ ĊĊĊĊĊĊĊĊ +Ĭ¶ æĢģ +ĠEp ic +De ck +l tra +_Z ERO +Ġ[] ; +/ scripts +Ġ---------------------------------------------------------------- ---------------- +æĥ ħ +Ġwe ed +N BC +Ġrap ed +ĠG ateway +[ M +ĠTime out +ench mark +.View Model +Ġporn os +ĠY a +th ritis +ĠFly nn +Ġme ga +ac in +Ġtrib al +.app le +ĠB lo +â n +ib i +ro v +ĠL ives +^ . +get Request +ĠEst ablish +cont ainers +Ġst arring +Ġcele brities +ĠRel ative +ĠHe ights +Ġtq dm +ĠNorth west +iv ic +ĉ cl +Ġautom otive +ent ric +Ġfort unate +Ġfire place +se ud +nick name +; s +_C AL +h alt +(n s +_de leted +Develop ment +m ovies +Ġident ities +Ġprompt ly +ا ÙĨ +Ġant e +Ġ" ',' +åı £ +imp se +Ġy ap +Type Name +Ġb itch +Ġassoci ates +HE ME +- empty +ĠØ ª +ol vers +Ġpist ol +Sc oped +ag ner +'] ==' +ĠI MP +ex c +Ġo mitted +Ġmind set +Ġ[] ( +Ġor n +_C AM +A vg +Localized String +ĠN atur +Ġcom poser +ĠPlay ing +Ġover d +_ utf +.s k +ĠF ol +$ page +, Object +Ġbe es +al ary +bul let +_lib rary +O ffer +loc ated +Ġ(_ , +âĢľ He +ĠOwn ers +) ).Ċ +Ġb ri +.Ad min +kt ion +лÑİ Ñĩ +Ġerot ici +Cancel led +Ġa gr +re views +_d ma +RI CT +Ġg fx +mp i +pp o +Ġ// @ +Ġupper case +Ġcommit ting +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +User Data +Ġv ai +ĉs ort +Ġcongr at +Ġd ioxide +д а +. area +ĠJosh ua +ĠK och +_b reak +az ure +ist ical +_AL PHA +_ views +Ġelim inating +OM B +en umer +ĠHy dro +(* ( +ERT ICAL +Ġinev itably +Ġst ole +-e ast +ier on +Ġl inger +/d oc +Å º +ĠAl ready +as io +Ġ-- Ċ +Ġabb rev +ĠAt om +h im +ĠINS ERT +s un +âĻ ª +CON NECT +er ator +ĠM anning +Ġ: ( +g as +=> ' +Ġquery set +; }čĊ +ĠPop ulation +uted String +res ident +_F ONT +ĠRes pond +Ġobsc ure +Ġo bservable +ĠContrib utors +k on +ĠMus k +ex ao +ĠT ub +Boot Application +S OR +.H orizontal +.find By +.p ower +Ġposit ively +ven ience +ĠJ ong +Ġwh istle +Ġз наÑĩ +Ġl ending +Ġdestruct ive +Ġon Delete +author ization +(); ?> +_ original +sc ience +at ra +?, ?, +ĠAs c +Ġconvinc ing +$ a +org en +_D ate +ĠPro vide +Ġlon ely +) 'Ċ +ex change +; ?>Ċ +.f ast +S amples +L ondon +'] )čĊ +ĠI onic +Ġp esso +ĠKn ights +ĠR af +_attr s +Ġrepe al +> Main +ĠOrder ed +_N ew +=" "> ";Ċ +ĠS ERVER +ĠHE ADER +_ velocity +ĠIn voke +.timestamp s +Ġs ulf +I QUE +Ġinhabit ants +ph ins +azz o +Ġmon o +Leg end +Ġnon ce +IF E +; ";Ċ +- create +" ",Ċ +per mit +ĠImm igration +Ġpath name +ffect ive +âĻĢ âĻĢ +Ġex ams +- event +ĠT ill +[m id +F IX +; color +( Order +_tra its +Ġorder By +Ġs unt +ĠNich olas +Ø ² +Ġsun ny +in ers +Ġaccess ibility +ĠH B +.com p +ĉ op +Ġminor ities +ethe us +Ġcollabor ative +pr it +H IR +Ġwr aps +ĉd raw +g od +ĠI X +.app s +ĠN M +Ġirre levant +ĠT igers +Ġdi ag +G V +ĠAccess ories +k ont +Ġsimpl ify +ĠF avorite +_t ools +([] );Ċ +Ġtow ers +B es +Ġhun ter +Ġsal on +(b uff +ĉ debug +Ġmal ware +M oving +- options +) +' +ĠLO VE +_S OCKET +_f in +ĠDel aware +Ġsher iff +-in valid +ĠF ULL +Ġп од +el as +" strings +ĠRepresent atives +s urface +res olved +ht docs +)) :čĊ +Ġpress ures +Ġnorm s +Ġpl a +Ġs urname +Ġpost al +ĠDep art +Ġsla ughter +or ida +Ġhe bben +Ġdes ar +comp act +_L ANG +åIJ Ī +op oly +_r ad +ĠST DMETHOD +L azy +ĠĠĠ ĉ +... , +( web +ĠP ont +Ġet was +Ġup ward +_h at +Ġ], ĊĊ +Ġbase Url +Ġworry ing +-add on +(get Class +S PI +Ġcapt uring +) },Ċ +Effect s +Ġcompet ent +Ġf oul +Ġsubscri bing +ĠO BJECT +IX EL +b ucks +( edge +(p ass +ĠPet erson +Ġbo obs +ĠD elay +_s quare +el im +ot ers +_P C +% E +on click +ĠSV G +Ġto pped +Ġf ist +sm art +ĠR alph +( owner +j ours +Ġbron ze +ĠArgument Exception +( original +_S CALE +_c p +Ġrecomm ends +.set Style +S ure +L AND +Ġrepe ating +M att +. Visibility +Ġenter prises +.Set up +(sc ene +ĠRe active +ur ge +b w +.P ut +p ersist +.c ookie +ĠAud i +` s +sup plier +( Form + ¡ +_s o +Į Ģ +ĠLeg ion +t te +N d +L oss +( attrs +.sc atter +Ġg room +Ġgl impse +Ġn ails +Ġcum ulative +Ġf azer +_s ervices +.N um +ib ilit +_res olution +ĠT x +umin ium +op a +.s chedule +sm tp +ภķ +ur ry +ü k +go og +_sign ature +.int o +ĠSte ps +Ġhome owners +ĠNS URL +ĠP AC +ĠĠĠĠĠĠĠĠĠĠĠĠ ĊĊ +> ')Ċ +en h +Ġinc ap +$ MESS +Ġmo ins +ĠF i +Ġoff season +press ions +> .Ċ +ĠGr ass +ĠGo al +_p df +Hand lers +Ġstack s +.get FullYear +=[ ];Ċ +è½ ¦ +, V +(s plit +Ñĥн к +Ġbake ca +Ġ~ /. +pe z +t ails +ĠG len +Ġset Image +ĠCom ic +B LOCK +ĉ This +o ader +Ġcapital ist +_ST EP +( Boolean +ĠCor rect +r ina +Ġconc aten +å® ŀ +() :ĊĊ +Ġun anim +ll i +al ars +- ne +Ġdiv or +ĠKick starter +]. _ +< number +/m enu +GR APH +vis itor +Ġimpro per +_N EXT +Ġb isa +background Color +/ input +Ġmo i +Go al +li qu +Ġmiscon duct +Ġcompr ises +aw ns +ĠP ie +ra is +role um +Ġcur se +y u +_p oll +.current User +ES H +]) [ +Ġstory t +)? ;Ċ +* = +ĠB urg +/ layout +_back end +; ?> * '+ +åĿ Ģ +ac ency +( URL +_h alf += l +Ġlist View +( section +.to Array ++ / +ĠRodrig uez +ist ream +Ġelig ibility +:: - +.new Instance +P B +ĠAs sets +ĠCom posite +ĠL abs +ĠHam as +++ );Ċ +Ġbl k +ĠNe o +L uc +@ login +Ġun aware +.m et +_RE LEASE +( ST +AM IL +ri ke +Ġ( ){Ċ +(s printf +ĠAccount s +ĠV IEW +ĠA j +ãĤ ° +Ġwh isk +Ġid i +Ġro de +Ġih n +ĠElement ary +Q ty +Ġintrig uing +Ġå ¤ +J obs +ĉ offset +ĠAh med +ĠTal iban +Ġè İ·åıĸ +Ġinject ed +.Auth entication +_line ar +.Dec imal +Ġapp les +Ġshare holders +Ġb aked +.d iff +ĠE ddie +ok ers +Ġconfront ed +vo ices +Ġt us +ĠSp in +N ODE +_ Un +CT X +/g oogle +Tem perature +Ġ' '). +Ġmagn ificent +Ġstart Index +semb les +Any one +z k +eh en +ĠD ame +. strict +Ġrepl aces +Ġline back +Ġpush es +Ġche ek +ĠSh i +_BY TES +RE A +ả n +_CON NECTION +G ateway +ĠTr avis +ĠA X +ĠBas ically +ĠUp grade +à ª +th emes +erm o +k or +F emale +_att ach +ĠìĤ¬ ìļ© +Ġpo z +============ ==Ċ +(s ymbol +ĠS ector +__ )ĊĊ +_p adding +ï¼ļ " +Ġf abs +Ġr anged +set Name +Ġp error +â Ĺ +ĠFile Reader +Ġful filled +_C urrent +Ġdom inate +Ġsm ugg +Post Mapping +_for ce +Ġb loc +ĠG iant +(v ideo +ĠC U +System Service +Ġ elf +Ġkont akt +ë ª +ke es +gt k +Ġparam Int +Ġmark up +u ales +Ġaccount ed +Ġgang bang +RY PT +ĠW rong +Ġcred ited +ĠM ESSAGE +Ġfl aws +Ġbb w +Ġmetab olic +ĠO EM +/ event +(C ollectors +mont on +ap pear +Ġopt ed +Ġche at +Ġd av +ĠPro ceed +Ġê ¸ +ank ed +и з +ans k +ĠH ang +ĠC ler +Ġdis gu +Ġc map +.cl js +Ġa ument +le z +ĠJo ined +_re ceived +Ġa erial +ot el +Ġgre et +" s +ĠGen esis +ĠCal if +pan ion +Ġtail ored +m apping +and Expect +.tr ack +at omy +ĠO w +ull ah +.Y es +ĠSimple Name +db h +' en +Ġnons ense +Ġphilosoph ical +(get Context +Ġis so +ĠA CE +start Date +Ġb ÄĻd +ĠAUTH OR +ĠGlo be +Ġinsect s +_A l +ush ing +è® ° +/ Home +ĠLocal Date +need ed +hes ive +Ġill usion +äº Į +Ġtr at +x o +/d etail +_M ATCH +Ġbroad band +Ġw al +ĠIllegal StateException +IRE CTION +Ġnor theast +es ium +ĠClient e +ul ance +nt y +Ġt ecn +Dev ices +Ġgr ains +ĠO g +ĠS EL +ud iant +Ġ++ ;Ċ +Ġexplan ations +oc co +Ġdi ets +Ġco hort +( controller +.Iter ator +-r ich +ro cess +G D +Ġcar bohydr +Ġfri ed +ĠEmploy ment +ìŀ ¥ +ĠLeon ard +_ ${ +qu ares +Ġcompan ions +Ġpar is +Ġstim ulation +ĠZ oo +Ġre levance +ĠCol our +Ġspe ar +ot ional +ĠL ite +ĠK osten +Ġà ³ +_att achment +orph ic +Ġdam it +Ġd lg +Ġthr ive +CH ANGE +ĠApp arently +Ġat ual +Ġroot ed +( images +aw i +ari at +Ġch erry +STAT IC +m nt +ĠUser Id +il let +ĠHis panic +Ġn ak +Ġcent ro +Ġdim s +_initial ize +ı k +ĠCent ers +RE N +Ġevolution ary +ĠTop ics +_d amage +em er +Ġr und +Ġpun ished +Ġcub ic +f air +[] ;ĊĊ +Ġinstant iate +Ġover see +- delete +unte er +start Time +ĠP ipeline +_G AME +ĠC ir +ĉ Null +.Format ting +uc umber +ĠR ide +Ġz oo +Ġcheck er +åIJ Į += C +Ġg rit +"); // +_x y +ĠDe claration +Ġcall able +F oo +ĠList Item +Ġin accur +ml in +ĉ Data +Ġev olving +aw an +Ġca fe +fol k +_ID X +ĠAny thing +ĠPalest ine +ĠGrid View +Ġcol ony +ĠGerm ans +( + +.p id +.js x +ĠSuper ior +Christ ian +ĠL ect +ĉ Game +Ġinstrument al +Anim ations +д ал +ĠMos es +ĉĉčĊ ĉĉčĊ +z s +k te +ä¸ ļ +_D IST +bit map +d B +Ġp ersistence +ÑĢ Ð¾Ñģ +$ l +B ron +Ġ{ | +_ch art +ĠCon sum +Ġh emp +Ġ" ))Ċ +Ġattack ers +Ġknowledge able +Ġc et +Ġvir uses +' I +Ġpitch er +Ġsweep ing += list +apt ops +.de pth +Ġinstruct ed +ĠR us +benh avn +Ġи н +S ports +Ġon set +æĿ ĥ +. RED +_s i +ĠP ST +.on Change +> tag +ĠR oh +_char acter +ĠLaw s +ĠB achelor +_s wap +.re activex +Ġreward ing +Med ium +- [ +ĠRec ently +J oint +part ition +ĠMin utes +Ġind o +Ġabsor bed +ĠG N +_IN D +Ġsab er +Sp awn +output s +ĠJeff rey +Ġmed ieval +h ed +Gu ide +Ġpsy cho +Ġgl am +E lim +äd chen +_pl ain +ĠS au +-f our +Ġanaly zing +QU ERY +Ġtom ato +_button s +V EN +.set Status +. Url ++ ĊĊ +Ġcompl aining +deg ree +conf irmed +Ġsub t +p arsed +Ġtor que +Ġtroub led +ĠT ARGET +Ġtrad emarks +ĠCo ordinate +ĠV iv +Ġ// }ĊĊ +Ġapr ès +.get Position +(Key Code +ĠSil va +Ġmet eor +Ġendorse ment +Over view +ĠP oss +.In ject +Ġeven ly +Ġvisual ization +Ġw char +ĠH DMI +Ġfun ct +ick name +',' ',' +Ġfor wards +Managed Object +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ +ĉ server +ĠOut look +ĠChron icle +Ġdub bed +Ġd ok +ĠW ear +.A L +pare n +. Interface +Inter faces +.c od +Ġd ib +.Global ization +ĠAcad emic +Ġass ms +Aut om +Ġl w +ĠN W +Ġ&& čĊ +Ġproble ma +ĠManufact uring +lim its +-m obile +Ġfil me +/ map +Ġdo it +ĠIn k +Ġsu ed +. arr +Ġunder min +ĠPro c +croll View +__ $ +Ġsidew alk +( that +ภ· +[ q +gram mar +Ġt ë +qu ito +Ġspir al +ext ended +Ġf ocal +Ġdig ging +p as +ĠT all +.pro xy +it ures +TR ACT +ĠRe alm +Ġf eder +Ġorient ed +ĠAltern ative +Ġo we +Ġsour ced +ink er +.d et +S ep +ĠQ ui +ĠPal mer +(_ , +s amples +oy er +ull an +que z +Ed ges +Ġsh out +ĠA chie +Ġha ar +_Con struct +Ġprem ature +Ġre vert +'). Ċ +Ġs chn +filter ed +null ptr +S aved +itect ure +CL A +Ġv l +st ell +ĉ Me +ĠL ip +n ational +Ġwh olly +Ġspr ings +.T imer +ĉs rc +els en +åħ ¶ +Ġcommunic ating +ĠQu iz +Ġt eng +Ġge z +ĠOut side +.S ign +(c s +Ġdisput es +ĠWe iss +ann es +> No +ĠB ach +.remove All +re fer +/d ashboard +ĠA jax +Index Changed +ĠWe ak +' "Ċ +Ġs ights +access Token +ĠJ oi +(d omain +ĉc v +Ġcontin uation +Ġpl um +ad ir +.set Message +Ġ ï¼Į +Ġsw allow +ĠL amp +Ġq w +Ġu u +C oin +ub ic +ĠDe als +r ace +Ġdict ator +Ġmem e +turn ed +ĠJul ie +.grid Column +Ġpup py +Ġp am +Ġ) {čĊ +Ġinv iting +Ġf rench +v im +Ġwr apping +Ġ#- }Ċ +([ - +Ear ly +Ġsh iny +.f aces +Ġreb ell +abc def +ä lt +Ġest imation +ph ys +los ures +_RE L +Ġex clusion +ĠSk ype +we ise +-st op +no thing +ĠE gg +is ors +Rich ard +Ġcounsel ing +Ġcomm em +ĠQ MessageBox +ĠSy nd +ĠFro st +ĠCompet ition +ĠAw ake +Ġt ed +ic iones +ĠDev Components +VERTISE MENT +ott i +.run ner +Ġuniqu ely +.fl ag +ĉ rs +_g eneric +Ġ`` `Ċ +ACH INE +Ġme in +( Application +( br +Ġrat ios +: , +ĠXCT est +ustain able +- www +it les +_T EMP +Ġs yst +umeric UpDown +ĉassert True +Ġw f +. peek +ĠBul g +Ġterr ifying +.M ODE +ĠG W +á r +Ġf ic +Ġcommit ments +- tech +ĠL iquid +ope z +z heimer +a ña +-m edia +( animated +_go al +Ġg um +yst one +.S ET +ĠW end +set CellValue +Ġmsg s +c ash +AL LOC +/ aws +Ġmic rowave +.Point er +ĉ Console +_s orted +ĠFil ip +Pro d +Ġ//! < +ing roup +Ġk s +_T RI +Ġteas poon +ĠAT T +Ġrecover ing +ĠG LOBAL +.P ar +Ġ/> ;Ċ +Ġmar ble +ul ators +ĠC ycle +Ġher bs +_m etric +) ! +_C LOCK +_ Button +H arry +è¿ Ľ +Ġstr ains +ĠApp Bar +ĠCh an +/v ideo +Ġb am +.Pro gress +$ f +lem en +Ġir regular +ĠD uncan +ĠM int +-v ideo +ঠ¾ +ó wn +ĠEM PTY +Ġstack ed +ĠH A +_c ut +Ġwhere in +ĠW ays +(count er +è¯ ķ +Form Group +Ġble w +c ourses +Ġproduct os +ry s +ĠRest r +Ġsty ling +> s +Ġp iv +Ġit ertools +get Repository +ĠI k +_dev ices +lay ui +Ġhalf way +Ġfran ç +Ġtun ing +O A +_N ode +ar de +Ġfier ce +lic ted +# čĊ +Ġbreak through +ĠE rik +Ġb ride +Ġ. " +cul us +ins ide +ĠIndian apolis +ĠE E +Ġy og +urre t +.f s +. grad +_c ards +_ac curacy +_ep i +qu eda +/ org +é ªĮ +Ġcom pte +)) [ +Out side +G reater +ĠRender er +. actor +Account s +Id le +_h ours +ern er +Jo ined +Ġmen j +requ ires +ĠO PER +.remove Child +ĉs p +Ġes se +r ift +xF E +ĠSh akespeare +________ ____ +Ġbudget s +Model State +fill able +- component +oc os +ĠBUT TON +/ io +, out +s ms +Th omas +ĠAr med +res ume +Ġrot ating +ĠV ault +Ġse us +. (* +Ġa mino +Ġ[] );ĊĊ +Ġprov oc +no x +.Get Enumerator +==== ===Ċ +æĸ Ļ +_sc roll +Ġfil med +ĠS oci +g ap +g ro +V ote +" But +_R C +An imal +Â Ģ +ib ile +Ġaw aken +ore st +in ja +ĠI van +( Command +Ġ ***** +Î · +Ġkv inder +/h elpers +_c ases +t g +ìĦ ¸ +Register ed +ĉp ass +_d igits +Ġcont our +Ġinf ants +Ġjust ification +ĠFort unately +Con tr +ĠonCreate View +_S AMPLE +Ġallow Null +Ġn ud +Ġfet ched +_e qu +ĠUn able +=\" " +> {Ċ +Ġcommit tees +ist ema ++ ". +ÃŃ an +m ant +Ġsou theast +ï¼Į Ċ +dialog s +PRO JECT +charg er +- port +(u uid +. export +S ix +ĠR P +P rem +Ġconsc ience +Ġmargin Right +_d istribution +y aml +res izing +D ock +ĠLoc ations +G Y +Se ed +B UFFER +oss ip +ull en +Th ings +- self +.p oll +PL AYER +Ġå ® +G ROUP +ĠA way +Ġg ospel +xf d +M ary +ĠPort able +T URE +Ġutil is +Ġse it +Ġstr and +Ġtrans c +Ġ( ^ +ĠAl fred +.m em +.c ircle +Ġ~ / +for cing +Ġr iot +pro x +TH ON +iz ación +ĠN I +ro st +Ġdis pro +_in stances +ï¼Į âĢľ +ograph er +end as +ĠIsa ac +ĠP ine +/d is +Ġcolor With +iter ate +_str ide +Ġpun to +.Event Args +( center +Ġneighb oring +ĠPr ison +ĠMess enger +Ġepid emic +da o +_com plex +Ġgr avel +_D IP +é ment +ĠA ri +_bit map +.qu it +( valid +Ġp end +Ġrespir atory +Ġre bound +Default Value +ãĥ Ń +Ġcomm its +.test s +_f r +it et +.s f +Ġspace craft +c ritical +Ġde pressed +ĠAny Object +Ġun b +Ġdisc ern +(m ysql +L atin +ĠB og +ĠWild life +To File +iox id +@ RestController +Ġ"$ ( +Ġ<< " +Ġdefect s +Ġdat um +h in +Ġreal izar +any ahu +ĠS ig +@ Data +ad aptive +ĠC atherine +.c r +ĠCO OKIE +Ġp ictured +ĠFight er +Query able +ĠAny way +ĠGL FW +_n amespace +_ ft +Ġ] ) +Organ ization +Ġconstit utes +Ġqu and +(ch unk +"/ >čĊ +ĠL akes +main window +Car thy +sp in +(c sv +: red +-com merce +ภ¹ +Ġdiscover ing +Ġe co +_f ac +inc eton +ĠGre ens +j wt +Ø µ +ĠBron cos +ĠGood s +(G TK +Ġreturn Value +Ġsi empre +Ġneut r +w ent +ĠN atal +Ġenthusi astic +á» į +F N +/d atabase +C atalog +Ġbr un +ĠK ash +_P l +isc rim +, width +Ġin mates +Ass ignment +ĠH aven +Ġplay ground +ex am +@ Controller +ul iar +.get Parent +Ġ" ;ĊĊ +: size +iss ors +Ġf is +Ġal c +ens ation +ĠN ixon +Ġmight y +- str +_s pecial +_A DC +ĠTw ig +um bling +- address +Ġher oin +Y TE +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĊ +F riend +Ġa ve +ĠP NG +ĠKurd ish +DataSet Changed +Ġbl ades +br al +St eam +Ġsig u +IRT UAL +ac os +UD P +(d atabase +he c +ĠString s +_scal ar +ĉd esc +ĠT LS +; "Ċ +ĠCor byn +Simple Name +u ell +ĠEnt re +ell ites +- place +Ġfrank ly +ĠE rf +CE L +Ġpa ÃŃs +Ġh edge +Ġlat ent +ĠIR Q +ĠH erald +ĠP rec +ë³ ´ +.T EXT +Sal ary +Ġaut umn +Ġtrav ail +.S um +Ġc ared +M or +Ġint uitive +Ġj ournals +_ IT +ĠT rou +ä¼ ł +Has ColumnName +Com posite +Ġsp ice +_d isk +_CODE S +ĠInt roduced +ion a +Ġnue stra +o ct +ĠĠĠĠĊĠĠĠĠĊ ĠĠĠĠĊ +(param eter +Ġstud ios +Ġproject Id +Ġbd sm +.Sql Client +im izer +ĠC ARD ++ t +a an +.s ol +_Ad just +Ġright eous +ĠLog ging +.f ilters +_T AB +ĉs ys +roph ic +other apy +ĠB rowse +key board +R ON ++ \ +ro pped +Ġext ensively +f k +Ġl ime +year s +Ex c +Ġs ph +Ġche ating +and ro +ÃŃ o +Ġpr ince +o ire +ĠD estination +ĠConvert s +Ġup stream +o led +Ġserv ants +Ġsem antic +Ġcr unch +Ġevent ual +run ner +/ error +Sp in +Ġsecret ly +Ġas semble +.P erson +end error +_ < +Ġp endant +S leep +ĠChem istry +Ġboss es +l k +)) ),Ċ +Block ly +DE VICE +Ġreflect ing +Ġam ple +Mill iseconds +ĠPresident ial +Ġus uarios +ĠN Z +ĠSal ary +ĠA manda +_n p +j ury +Ġkö n +Ġtherap ist +Ġhomosex ual +ĠDr ake +-w indow +ĠLoc ated +.D river +ĠV IDEO +Ġmerch ants +ĠC hest +- lock +/ php +Ġmil ano +_ST YLE +arg er +ide a +G UID +adv anced +me al +Options ItemSelected +=' % +ĠCh am +: data +(st at +Will Appear +Ġinform al +aj i +Ġre productive +ĠC AS +ãģ £ +F UNC +ĠR uth +)+ ( +CON ST +ĠF ans +Ġgroup Id +xffff ffff +Ġsam pler +Ġ}} "> +. the +Ġh ollow +W AY +ĠFac ulty +Attrib utedString +ĠLook s +ĠR ex +j k +ĠM IL +Ġb ard +.L ong +Ġliv est +Ġsk al +ic ism +MA IN +Ġmu cho +B ODY +Ġes e +ĉ use +F oot +.SQL Exception +Ġinherit ance +re ceived +Ġput as +ed is +als a +ĠError Message +Book ing +Ġtr act +ac z +ĠC ant +_reg ex +Ġide ological +Ġj ihad +h os +/s ys +col m +(p ool +Ġest án +ĠP ending +em ás +Ġktó ry +));ĊĊ Ċ +trans actions +Ġw ield +it ere +ert ure +_s s +Ġstretch ing +Ġprison er +.Read All +Ġbes ch +-- ;čĊ +Ġcr isp +_SC AN +Ġa e +Str ict +ĠMin neapolis +ĠBo eing +ar is +re k +_p ipe +Ġpri ests +(E IF +eh icles +ĠInter active +b etween +ĉNull Check +ĠBl air +ĠL t +_in line +eth yl + ¼ +_p ackages +Ġbarrel s +_ he +Ġreg exp +_ pts +_H andler +ing ular +ĠN issan +ĠR anch +Ġper ch +Un supported +Sm ith +ĠLeg ends +M i +Ġg f +st eder +Ġacqu iring +Ġsim ulator +() ," +re ceive +Ġin place +A CTION +ĠWeb Driver +files ystem +< Order +lo pen +ĠHE IGHT +.set Border +į ° +__ [" +Ġcl amp +Seg oe +b ands +to List +amb a +>' +Ċ +Ġcred ible +am at +play ing +.setImage Resource +qu el +Ġpod r +ge om +E k +ĠQ atar +Ġg eld +? ',Ċ +Ġc yl +( ax +ĠW I +ur ally +ĠBr asil +Ġsen za +ale y +on en +Ġb ah +Ġmolec ule +R ad +è¿ ° +AN CH +- background +- agent +Ġprol ifer +: boolean +Ġt ide +erial izer +_ ;čĊ +F ee +** ) +erg y +ĠHon or +.Log ging +ir is +Ġunder mine +ĠD y +Ġt yr +Ġde que +Ġdam er +([] )Ċ +.layout ControlItem +pe ated +C AN +rag ments +L and +) ]);Ċ +ĠS ah +ĠDE CL +With in +ĠN amespace +an other +sem bling +.des cribe +Con sum +ĠF ear +g iven +Or ange +< boolean +Ġstead ily +pa Repository +Ġresult Set +_ ENTER +_re peat +Ġt ones +ĠPRO P +n al +part icle +Ġsign aling +Ġaccess ory +ĉĉĉĉĉĉ ĠĠ +Ġvie le +ĠNo ah +- ag +Ġmur ders +Ġa ired +ĠPL AY +ĠS ullivan +_C ore +Ġul ong +Ġblog ging +> This +Ġdata Index +Ġprint able +ĠE yes +_target s +(P y +. over +Ġbr u +am pton +Ġplaint iff +< Key +b ull +Ġ⣠¨ +Iss ue +.cor nerRadius +C ritical +_p hi +. angle +Ġdynam ically +! ");čĊ +> );Ċ +in vest +.* ĊĊ +Ġt élé +Ġsuper f +Ġcas cade +DT D +Ġviv id +Ġsubsid ies +ĠH ass +Ġcoll aps +Ġcer amic +{} ". +ĠLeak age +-tr ash +coll apsed +-s ocial +ĠCh ad +Ġincl ined +Ġst o +Ġstory board +.p ayment +stack overflow +ĠRaid ers +Ġ# ' +olic ies +ìľ¼ ë¡ľ +em ap +Ġk j +Ġqu ota +ĠGard ens +ë² Ī +ĠAng els +Ġof t +Ġlower case +Ġi Param +Ġche apest +un ta +_p kt +ic ators +Ġle urs +Ġdecre ases +ĉ define +PRE C +amm ers +ĠPre paredStatement +(d irection +Ġcre ws +ark ed +ĠMem phis +ĠS ell +G TK +Ġm aid +: disable +éĽ Ĩ +ĠP f +Ġal beit +open h +?> ">Ċ +.get Source +(s cale +D u +ĠP IL +_ref resh +Ġbet s +(c ar +ĠV on +| --------------------------------------------------------------------------Ċ +ĠGr at +M uch +( Dialog +.stop Propagation +Ġte k +Ġex its +'], $ +Ġphone Number +uc s +ec imal +------------ -- +in p +.po jo +Ġcor pus +Ġpractition ers +.p ic +" testing +Ġstring By +.Not Null +Ġr ang +.D ynamic +_R ender +аÑĤ а +Wait ing +ĠW ik +Ġoverwhel med +% "> +ĠA E +}} >Ċ +u w +_t yp +Ġbuck ets +Ġgre eting +Ġla ughter +Ġant agon +uggest ion +- email +ĉt op +Ġer os +_tr i +Ġiss uing +Ġh á +Ġisol ate +Over flow +, E +Ġnut ritional +ĠAbb ott +Ġn f +.t ouch +.fetch all +_z ip +") }Ċ +Ġam at +ĠC isco +Ġn Ã¥ +PLE X +Ġse i +f oto +.to Json +å¤ ļ +ĠKle in +Ġlib c +Ġmin ers +å ¢ +- print +ĠP ride +T odos +Ġmask ed +Ġset Data +Ġtele fon +Ġunh appy +ĠT ables +ge b +( debug +_all owed +- access +Ġlog istics +Ġg ems +ĠM ature +Ġr sp +ĠAl le +.get Bytes +\ web +ynchron ized +Par agraph +Ġth rottle +.sql ite +cons ulta +ĠSe ah +C e +Ġsub mar +ER E +V ous +Ġre ddit +Ġsql alchemy +-m ile +oc ide +P our +}} ">Ċ +st ead +Ġ@ ( +Ġ[ ]) +ĠAd s +Ġover load +r idden +ĠDes ert +ĠW rap +ĠPortug uese +et z +ĉf irst +Ġmile stone +æĹ ł +Ñĥ Ñī +(s uccess +< Vector +co ol +Ġ[ ]);Ċ +erv als +Ġin vert +" io +cur so +fr agment +Ġfeas ible +.set Position +Ġel m +Ġimag in +@ Spring +Ġb ats +pu és +ga lement +ns ic +gi ene +ell ation +ĠBa iley +Sh ar +ĠT ul +ĠH K +Ġfree zing +gl m +ce ans +-c ut +_c ircle +åij ĺ +n egative +Ġind ian +s alt +Ġt ing +ĉm od +Ġs int +ak in +um l +ĠText Input +Ġpop ped +T MP +Ġpark ed +×Ļ × +ĠF usion +Ġhe ater +ET F +ro zen +h all +ĠM ik +lev ard +- heart +ĉ order +M aking +Ġpled ged +Ġdir s +$ post +ĠH err +stant iate +, "Ċ +.get Color +ĠS AT +Ġtimed elta +ĠM ai +ĉm ethod +Ġid iot +ĠTr av +ident ified +ĠDiv ine +.get Path +D ash +Ġinf iltr +Ġhandle Submit +bro ok +.g eneric +.short cuts +................................ ................................ +Ġdat ings +ĠM V + # +} "ĊĊ +Ġimprison ment +ason ic +rou d +uc ion +æĬ ¥ +Ġdia lect +Ġon Mouse +const expr +.label Control +Ġwe aker +Ġman kind +ĠRE CE +Ġd iz +Ġapp Bar +Ġqu é +f ra +_default s +Ġal iqu +_at om +: indexPath +Ġmiss es +Ġvis ually +ĠH ands +STR U +i ates +_ asset +F inder +mid t +Ġsn acks +(__ (' +. uri +ĠIn strument +ven ir +($ __ +.Dot NetBar +Ġconfig s +Ġguess ed +ि ठ+Ġinitial izer +Ġ? ", +ĠVer izon +man ifest +ge ben +.d etails +G ate +pons ible +ĠEl im +, str +Ġwrit ings +ĠD erek +ĠCo ordinator +Ġpill ow +Ġnotice able +R s +Ġduplic ates +ern els +k J +.z z +oll and +ĠSE CTION +_f name +uff led +'].' ")Ċ +ĠD ollar +Ġem oji +Car ousel +- player +Ġadjust ing +Ġjug a +alleng es +g ene +(body Parser +lop edia +ĠBeh ind +Ġslee ves +Ġdrag ging +ĠChe vrolet +Ġb iz +iv ities +ĠFrequ ency +, char +.W HITE +_pre view +) ';Ċ +_ ax +ION S +.c pu +.input s +UB E +_fe ed +ĠSup plement +! ). +es us +ĠU DP +Ġmicro phone +Ġconf irms +.is NotEmpty +":" ",Ċ +_S CREEN +ĉ expected ++-+- +-+- +ĠH ait +fast call +Ġdep ict +v b +_p icture +ĉd escription +ĠW ife +uc i +Ġv icious +ä» ĸ +ue ba +Ġset User +ãģ ¡ +Ġd iving +Ġoper a +user content +ar ah +) }, +y un +vel t +Ġun covered +Ġh ips +Ġosc ill +Ġassert ing +ĠX i +.re store +ke a +Ġsp elling +Ġder ive +ab we +ĠD ow +.set Type +_v s +Ġco zy +.c ategories +O rg +_m gr +Ġd ungeon +collection View +ĠBl ank +ac ias +ä ä +_clean up +_ACT IVITY +Ġtri angles +.Menu Item +Ġip hone +ĠW on +] ]ĊĊ +ĠCompar ison +.D oc +Ġcan onical +ĠSud an +') { +Up Inside +b uiltin +ENC Y +x be +Ġch uck +Ġcontrad ict +Ġnuest ro +Ġarchitect ural +ĠF ib +Ġcomp ares +* k +C fg +çĦ ¡ +nt en +Match es +ĠDOWN LOAD +_HAND LER +man agement +[ S +EN G +ÂĢ Â +f ang +Ġsl ipped +ĠL anka +esc aping +Ġtack les +ĠPed ro +.P rop +.' ' +.G enerated +.New Guid +at rigesimal +ill on +Ġstat istic +spec ies +hold ing +Dr upal +Ġfundament ally +Ġbond age +Ġres olutions +Inline Data +\ Type +est ion +.w rap +Ġwar riors +ĠLOC AL +Arch ive +Ġembr aced +á» § +.V er +ĠAff ordable +oles ale +ĠAp plied +ĠCon version +m ega +_c am +Ġcer emon +aur us +ĠVol k +.op ens +/ about +ĠSt d +j ournal +()) {čĊ +," \ +( Arrays +ĠD ense +ase ña +än ner +/ stat +user Data +Ġg erman +Ġt z +worth y +Format Exception +ph erd +Ġsm iles +ĠWh enever +( adapter +.bad logic +Ġbrief ing +.Grid Column +- char +dim ension +ĠC opper +Ġnin th +Ġ' {{ +Ġr av +_T able +Ġderiv atives +ĠR aise +ĠF ut +arm or +-p adding +Ġre min +ĉ style +ĠMembers hip +Ġspread s +Ġgall eries +ĠClar ke +Ġcon ception +min ute +Ġab usive +_ad j +Ġterr ific +Ġover t +our cing +Ġentr ada +level s +Ġcrit ique +Ġrespect s +ĠM MA +i ene +Ġenc aps +ĠRay mond +Div ider +iv able +b az +Ġ@ _;Ċ +ĠCl aire +Ġur ging +CE E +Ġtransform er +disc ord +ĠJ ourney +t os +Ġcompet itions +ĠO BJ +ĠB is +Ġrelax ation +id y +_IN STANCE +ĠP ref +d ados +ici encies +ĠMedia Query +ĠC ube +ĠStr ange +g pu +(d ays +_Init Struct +Ġfinger print +em at +ĠGe cko +Ġr ails +ĠL um +str action +ig ung +(m ovie +_d ictionary +_int errupt +ĠQ C +ik ed +append Child +rec ipient +r é +V e +Ġtow el +.last IndexOf +Ġplace bo +ĠW ie +.es p +( Debug +oper ative +Ġdece ased +& id +ĉm utex +el ic +Ġb apt +ĉ čĊčĊ +Ġfar ther +H alf +.dis able +.menu Strip +le ccion +Ġresult Code +Ġc ans +-e lection +f emale +_F IX +aus ible +ĠP OWER +Ġrecon struction +Ġsc ans +.Xtra Bars +âĢĺ s +Rem oved +Ġparagraph s +_m argin +Ġl ymph +Ġb os +ling ton +ĠBapt ist +Ġadvertis ements +ĠMan age +/ yyyy +IO US +ENC ES +ĠF iction +ĉm enu +ĠFile OutputStream +ov an +ĠF eng +Ġsk ipping +get Class +ann i +Ġreb ounds +Ġpublic ity +Ġing res +use ment +Ġthought ful +.Ch art +Ġhat te +pass port +Ġhook ed +ĠL ens +Ġflag ship +Ġst ip +ĠG EN +Ġcl ues +ip v +ĠR ise +ĠG ew +tab lename +Ġfore most +_ validate +_an alysis +oll a +Ġqual ifications +Ġdistrib utions +ĠFl ower +Ġt ense +Ġthank ful +Ġcl utch +Ġun ified +ro ads +Ġsit i +Ġst all +_P RIORITY +c stdlib +_USER NAME +.by tes +? page +ermal ink +ĠVe get +/v nd +- author +.N ONE +ĠCon current +ĠC ry +Ġstart ers +ĠInter action +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ +ĠLE VEL +E ll +Ġcom boBox +ĠTh eresa +te k +_H andle +Ġab y +.g dx +, end +(L ocal +O l +kn ife +ar ial +ĠH off +Ġprostituer ade +Do ctor +Inst ances +.Set Value +ĉf rom +Ġlux urious +Ind ent +Alloc ator +_D RAW +(", ", +ĠFr ances +Ġgroup Box +(s chema +Print f +OR IES +- gradient +Ġre put +ar in +_D ONE +in cre +ig nty +Ġex ert +Ġ- . +/ App +-th rough +Ġdecl ining +Ġdess ert +Ġinc umb +Ġdesign ation +.P ORT +, strong +Ġsand box +Ġw ines +ĠP av +$ str +ask ell +Ġh ö +ĠP Y +Get Instance +Text Input +game Object +/ events +created At +Ġlocal Var +ĠWH ITE +per ed +ile ge +eff icient +, color +c ate +ĠC afe +Ġsimilar ities +Ġp umps +ĠHung ary +.User name +Ġsk ate +Ġtouchdown s +Ġacceler ate +ĠH elen +OM EM +ĠK un +_v ol +Ġfind All +ĠMens chen +a head +); " +kom men +Ġpossess ed +.arg max +.trans ition +AR P +OLUM E +(s cript +ĠÐ ĺ +ĠF inding +on ces +I o +B old +Ġrenew al +_D IALOG +Ġdis reg +INT ERN +Ġt oute +Ġelect r +ĠG ross +ĉ true +.F ields +ĠW IDTH +ĠD ent +Ġà ģ +NS Notification +Ġa os +Ġme lee +. Validation +ĠDE C +-depend ent +Ġsu ic +T raits +$ message +ĠD ear +ĉ FILE +l anguages +.P rot +.add r +-g eneration +IC ON +Ġtrans plant +-d escription +Ġch asing +Ġche es +Ġ} */Ċ +Tr ad +qu eries +/widget s +sub package +Ġes pec +Ġcr acked +Ġcompet itor +P urchase +- team +olec ular +or Thunk +& P +Ġrel ent +/ #{ +Ġproduct Id +Ġè ¾ +ĠL av +ĠAl ter +.M ode +AD IO +gr p +æ ·»åĬł +Qu it +Ġdepth s +-c ategory +ĠD ATABASE +S PELL +ĠFal con +ĠQString List +Ġ'' . +ĠIn stitution +d amage +az or +bel ongsTo +ver ages +ĠN ONE +ipp ets +, \Ċ +Ġfoot print +_ archive +n ak +.get Field +ĠRef lection +Ġ' ] +ĠH BO +_dis count +Ġin cest +ĠD odge +ĠW ade +.N O +" encoding +ĠBlock chain +Ġlaws uits +ĠM aint +ch ten +Ġét ait +Ġktó re +_ ctl +(t imer +B attle +iz o +ay ed +I OR +ĠGlas gow +Ġsyn th +_log s +.p ose +_Adjust orThunk +(( & +Ġuns ure +yst ate +íķĺ ëĬĶ +O ULD +. ng +Ġdefault dict +work space +Ġselect ive +Picker Controller +YNAM IC +.method s +Ġpath ways +ĠF ew +K G +CRY PT +follow ing +ĠD LC +ĠS ara +Ġpres et +estruct or +ĠK urt +Ġair plane +Ġo mp +ĠParent s +ĠMart inez +.com plete +Ġbroad ly +Ġsc are +ĠM é +Ġelim ination +Ġpou red +/ sw +Ġcom un +Ġm asc +ĠOrgan ic +ĠString Utils +il ateral +Ġreluct ant +- age +Ġn z +." \ +Ġpast or +ale z +Ġe fect +pro v +/ init +Ġp enn +und s +Ġs size +ĠPro j +bas ename +Ġsh ells +ĠNe ck +ĠEn forcement +vid ed +st own +S phere +$ r +uss en +af il +ĠTele gram +Ġanaly tical +нÑĭ е +us ually +x n +Ġhistor ian +ĠGreg ory +ol ph +ĠUn a +Ġcon tributes +% - +anti ago +ÑĢ ÐµÐ´ +.reg ion +Ġab rupt +ĠUnsupported OperationException +ĠT ASK +_f inish +Ġnot orious +ĠV s +ĠM Q +Ġsun set +Ġun acceptable +ar cer +Ġill umin +ĠOr b +Ġb h +E ste +_dis patch +Ġr ipped +Ġtou jours +ĠPar cel +_ ll +.user Name +.class es +S OURCE +( Number +ел Ñı +Ġhead phones +(s ide +const itution +ann ah +čĊ ĠĠĠĠĠĠĠĠčĊ +Ġcl iff +- ref +Ġmo strar +ĠPow ell ++ y +ĠB G +_f ragment +.P ort +Ġreal izing +param ref +Ġh ometown +@ Table ++" --}}Ċ +F rench +Entity Manager +ĠPl ain +//////////////////////////////////////////////////////////////// //// + ³ +( RE +c apt +Ġorgan isms +Ġj ets +ol ocation +ĠApp RoutingModule +Ġgl orious +æľ į +Ġdisc arded +ĉĉĉĉ ĠĠĠĠĠ +ĠArn old +l ug +Ġpar l +Ġhorm ones +Ġm ah +ĠSon ic +Ġorgan izers +_PL ATFORM +.in v +Ġch ord +vent ional +ĉ of +Ep isode +. Enum +unk t +ĠD h +ĠJ ared +ĠN ak +Ġint ends +End ian +Ġa ustralia +_c v +(res olve +Ġclin ics +lik ed +ASH INGTON +in ha +' * +ĠN P +_b eh +Ġh f +Ġw ür +c ategoria +$ form +Ġsub way +Ġis Active +pop ular +C our +Ġco oldown +Ġa insi +ĠGL uint +ere al +Ġarray Of +Ġh atch +======== == +ress es +_P P +. ^ +_dec ay +ĠB less +met rics +ĠCOPY ING +ĠDump ster +ĠJos é +ĠDesign s +< +Ġ" }Ċ +time zone +Ġe er +max cdn +ĠE SC +ig aret +_conn ected +_re verse +Ġquestion able +ĠUS C +Ġtut ti +Ġdrop out +ĠActiv ities +ĠW inds +')) );Ċ +Ġcon gest +ÄŁ ı +Ġprolong ed +è¿ Ļ +ĠCross AxisAlignment +LE EP +ĠVAL ID +ĠG az +Ġdepend ence +ĠP rix +.Compiler Services +j ump +Ġstr at +c irc +ĠC USTOM +x aa +Ġb mp +Ġb ureau +Ġw aren +N X +( Window +ĠChrist ie +_F E +Ġt n +ĠOm ega +communic ations +Home Page +com pletion +Ġsupply ing +YP ES +á vel +åĪ ¶ +(c lick +\ Contracts +/ questions +Ġe z +AM S +.m esh +Ġ' \Ċ +Rob ot +Json Object +ĠD F +ĠProcess or +_sh ould +.prot obuf +- users +Ġemb ry +F ONT +Ġstart ups +ĠData Source +) # +uro s +_C olor +Ġstand alone +} [ +j d +Ġforg ive +Ġng x +ĠGener ally +Ġconfig urable +/ order +Ġv as +') ";Ċ +ĠR R +ĠT roy +Ġcomprom ised +ĠSw an +int endent +Cent ral +_ keeper +Ġar quivo +ĠRead Only +_cur ve +k v +ent in +è ± +ĠE y +.im read +ĠP am +if fe +at ivity +xb c +Ġgr im +-f illed +names e +'] : +Ġa ur +ĠGib son +.Mouse Event +Ġl ado +avad oc +Ġfam il +ĠM oder +f ps +ãĢĢ ãĢĢ +- example +ĠAl zheimer +ĠU tf +_arg uments +Con clusion +text Content +rem aining +Ġinterrupt s +ĠBack up +ĠM ong +Ġrecept ors +h istor +.cor outines +Ġsh outed +Al arm +Ġcomb ust +Ġg rote +ult ural +( ids +---------------------------------------------------------------- ---------------- +ipl inary +O pts +ĠY ale +local Storage +Ġequ ival +ĠF leet +\ b +* pi +ĠQ Label +æ ¡ +Ġv x +ĠA CL +Ġsu cesso +Ġper c +ĠNot re +Ġan arch +R ing +sp b +Ġstr pos +st ores +ĠMap le +(Main Activity +(" ")) +Ġview Holder +Qu ad +Ġig ual +ors che +.m argin +Ġind ie +Ġfr anc +ĠForm Builder +ĠPart icip +.fl ash +Ġstorm s +U lt +Ġf en +[ new +E ver +=" Ċ +Ġlocal ized +_f ollow +Ġn ave +Ġdomin ance +(t ile +J ournal +ĠV C +Ġpenet ration +ï¼ ķ +Ġcomp artment +Ġb ids +Form atted +****** /ĊĊ +(c ity +âĢĶ it +[ C +Ġuse Callback +a ub +) ?. +ĠV AR +ĠSe bastian +ĠM oss +Ġabund ant +G reg +ÑĤ а +_c i +Ġbib li +CR M +ĠAt tempt +ism e +d ash +ãĢ İ +_m u +.Formatting Enabled +Ind eed +-d irect +Ġsuck ing +Ġp ne +ocab ulary +ĠPack ers +.N avigation +Ġp ied +cri bing +ĠSt uart +.To Double +ĠSecond ary +S aving +ĠD ut +ĠM add +M agic +, H +.document Element +ĠB ST +Ġdiff ers +Ġmore over +_ nd +SE ARCH +п ÑĢав +æ ´ +to Match +Ġdecre asing +-m ember +amp us +( boost +D aily +Data GridView +ĠHttp Context +Ġh ipp +_work ers +-l anguage +é ĵ +Ġconsist ed +ath ing +ĠMer cury +$ content +Ġpract iced +ĠMod ules +_D AY +Ġweakness es +ĠL odge +Ġn ar +ĠM ate +Ġj p +ĠHttp Headers +Ġsm o +ĠT OKEN +] )( +Ġaqu i +sw agen +Ġs rv +ĉ ans +A round +ĠMan uel +Ġfiction al +ĠIM G +Ġ. ' +ĠB erry +Ġwall paper +sex ual +ier o +Ġ çļĦ +ìĨ Į +Backing Field +ĠAd rian +BASE PATH +Ġrepe ats +Ġbl ues +Ġunp redict +_c oll +st acle +ĠT umblr +ĠEl f +Ġass urance +Ġc ensus +ĠIM PORT +END ER +an os +Ġ= ( +ĠEll is +" ĊĊĊĊ +.w in +ĠA bove +al on +_t ick +Ġrepresent ations +Ġæ ķ +w id +ĠAr ms +List a +_f ailure +_c m +.Flat Appearance +Ġthr one +P atch +ĠV oy +eng l +Ġnegot iating +> ` +Ġshoot s +ĠF PS +.Y ear +ĠK iss +enc ión +reet ing +From File +Ġresign ation +Ø · +Ġtw ins +ưỠ£ +Ġge bru +.get Content +.T ree +ĠEmploy ees +ĠF IFA +Ġcert ainty +(C l +Ġtot als +edit able +à¥ Ģ +.Report ing +M as +qu iet +.r ules +ĠV O +con exion +, K +Ġalloc ator +ĠPow der +\ Repository +Be at +_t ipo +Ġ[' ', +_IN TR +Ġ<< < +< hr +") == +ugg age +ĠC raw +Ġé galement +Ġg inger +Ġprim era +Ġprod uto +lt k +.User Name +Ġstr error +m ith +_n b +Ġdis comfort +']; ?> ");čĊ +drop IfExists +ĠB eg +_H AL +Ġcross AxisAlignment +ĠE vidence +Ġpec uliar +Ġinstit ute +ve is +Ġf ft +à ģ +Ġzo ekt +an aly +ĠHom eland +Ġpen etr +udden ly +ĉ element +ĠB ren +ĠTr udeau +ĠCub an +j am +us lim +_e v +Ġst ems +} % +Ŀ å§ĭ +Ġbrand ing +Ġcorrespond ence +.j query +¢ åįķ +ĠRead s +(Http StatusCode +ass in +(s lot +ĠGrad uate +/// < +Ġinform ations +EN ABLE +Ġp uis +Ġfind er +ĠBr is +Ġnett steder +_m id +Ġo gs +ĠSter ling +Ġar rog +str ftime +| ĊĊ +Ġvo x +ĠReg ardless +Ġes o +ĠCom fort +.Boolean Field +Ġu h +AC Y +Ġsque ez +ĠV ic +cont ro +. lo +Ġ ire +ĠCom edy +ë ¶ +Ġorigin ated +Ġsh ipment +| max +_g uid +lev ation +на Ñı +( undefined +ĠD DR +Ġshoot ings +ĠLat ino +END OR +Ġaver aging +Ġgre eted +Ġthe aters +о е +Ġd B +Ġg st +Ġdef inite +. Storage +.h er +Ġa fore +ĠRe ality +ĠGod s +vers ed +Ġhands ome +Ġex cluding +( ad +Qu otes +ĠS cheme +? q +ĠT amil +T icks +Ġp est +' n +Ġporn ography +_mod al +Ġ ---------- +Ġdis posable +F REE +Ġsh ark +C HE +Ġdep icted +Ġdemonstr ations +ĠK illed +ĠR ULE +Ġobs essed +Ġsimpl ified +Post al +Ġconcept ual +Ġp st +L as +_PRO JECT +ucceed ed +ol u +ÄŁ i +Ġpersonal ities +Ġres hape +Ġenc losed +ĉp tr +Ġtutor ials +Ġexpl oded +_DIRECT ORY +åĨħ 容 +Ġcan on +Ġrecogn ise +P AD +ĠAppro x +ĠRest ore +ĠImport ant +Ġheav ier +.Se quential +Ear th +ĠMil k +.set Request +.t em +Ġre construct +Ġskept ical +_Pr ivate +BU F +qu a +: a +Ġse k +Ġd well +oss a +Ġreward ed +и й +(top ic +_part ition +Ġ__ ________________ +Key words +ĠFr anco +L ite +Ġn aken +Ġз а +O BJECT +Ġcraft s +ĠSw ap +.X na +.Con nect +Ġbalcon y +(re al +ĠBarn es +b ir +ĠTw enty +ay an +at ars +ĠProp el +ĠIh nen +Up grade +Ġcur b +- second +Ġn eph +.p res +ìŀ ħ +.se q +Ġp added +" ? +j l +ãĥ ¬ +') a +Co ordinates +Ġen acted +ENT S +Ġl ac +.f inal +ĠPhp Storm +c alled +Ġin quiries +.m iddleware +ĠD owntown +/ ';Ċ +Ġkil omet +ac cel +Ġqu ien +w string +set Data +Ġman era +Ġmod ular +rim p +Ġtar iffs +âĢĻ il +_TH ROW +/c olor +ĠHT MLElement +Ġcar ro +Ġpr ere +Ġplot ting +ĠPos itive +ĠMach ines +OT ES +á» Ľ +ple asant +Ġal te +Ġa inda +th ese +Ġc ors +ip ay +ĠAdvis ory +ĠRub io +j q +Ġl imestone +Ġdet ached +设 ç½® +ten ant +ĠDep th +al ore +ĠÑģÑĤÑĢ Ð¾Ðº +ĠF ORE +ĠL ay +p resentation +) ');Ċ +.sub plots +Ï ĥ +N OW +G ar +hand les +ab ra +put ies +ĠElect rical +M iddle +rop ic +ĠJ D +ĠD yn +ĠB ristol +ĠMc Carthy +Ġstri ker +Ġenumer able +ĠEv an +.default s +qu ences +) || +ĉt oken +â Ĺı +-d ropdown +ST ORE +ĠGraph ic +( pp +Ex pl +Ġup wards +ĠD istributed +ĠW EB +J er +is NaN +çĶŁ æĪIJ +> R +üss en +ef s +Ġun cover +Ġl ud +.cal culate +Ġint ptr +Ġmidfield er +. Headers +Ġm f +ere f +.M etro +ĠSpe aking +: b +Ġcryptoc urrencies +Ġdem ons +ĉ EXPECT +Ġw icked +y outube +: Int +ĠHind i +ĠC AT +ĠØ ¹ +r ar +om ore +/ per +/lic ense +Ġre im +Ġawait ing +Ġle thal +ĠE F +round ed +ĠPl atinum +ĠвÑģ е +.co ords +.De vice +/ item +ĠW enn +compile Components +ĠK inder +.remove Item +Ġand a +bn b +Ġpr a +( transaction +Ġembarrass ing +ĉ BOOL +.content View +Ġevent data +at ore +Ġprovided In +ir ma +Ġz ona +_H W +æ Ļ +Ġst ove +Ġcounter part +_Pro duct +_MAN AGER +Ġinfr ing +ĠE RA +_p arty +Ñ ij +Ġin ici +_ Request +Ġmir acle +Ġcancel Button +S py +at ó +Ġpol ish +ĠNic ole +.display Name +\Request s +Ġuse History +Router Module +Ġst ared +ID ER +Ñĥнк ÑĨи +Ġnot a +$ arr +pec ified +Ġto pp +_DR IVER +/ ng +å ł +_t m +% timeout +< s +Ġ( *) +ĠHttp Request +_TR ACK +(n ote +ĠExp lore +_s erv +Ġç » +B inder ++ ", +. att +ĠEth i +Ġc ódigo +=' \ +.l ines +( Of +å° Ĩ +miss ible +Ġv é +Ġac oustic +Ġcraft ing +n it +.b a +ĠLuc y +Ġi Pod +Ġpup ils +-m ax +_w r +(c p +ĠRE PORT +Ġd ns +ĠRe ferences +Ġundert aken +Ġkø benhavn +Ġch ai +ĠC roat +_ Log +rown ed +_m ed +ĉ date +# __ +Ġcost umes +ĠRe quires +aff le +ç Ĭ¶æĢģ +-S emit +ela ide +еÑĤ од +Ġp estic +Ġd ra +DOC UMENT +Ġ... čĊ +}` }Ċ +ĠA uction +ĠD ock +xxxx xxxx +(get String +ħ į +Ġborder Width +ĠMach inery +Ġpredict able +.S H +Ġam plitude +.for Root +IN avigation +Table Model +at trib +Ġmaneu ver +Ġexc av +B ERS +Ġd apat +Ġinstall ations +.A sync +Ġr ays += âĢĿ +; ččĊ +.c rypto +_db g +ĠEnum erable +Of Size +_epoch s +m w +M ENU +out line +ĠP apers +============ Ċ +Ġuniform s +ĠG ig +- package +ĠJen kins +ĠHome Page +.is Selected +Ġmechan ic +M K +ĠS ounds +//---------------------------------------------------------------------------- -Ċ +Ġresearch ing +Ġinf os +ograph ics +ers et +([' / +ĠTim ber +. agent +.to JSON +_command s +par ing +_ad just +.n ome +(g lm +Status Bar +file path +? âĢĻ +Ġdetect ive +Ġunser er +ĠTib et +EN DED +(se ed +Ġsne ak +Ġam or +=" // +ĠPan thers +all ax +ĠL IVE +ĉD WORD +]= - +Ġtorn ado +/ min +Ġlung s +-c urrent +ĠBook ing +åĪĹ è¡¨ +Ġenjoy ment +ठ° +J A +typ ed +.B tn +f at +ug al +ĠSh ares +Ġdis gr +ĠB AR +ĠFO X +Op code +ĠS z +key down +iction aries +Ġdetail ing +} ))Ċ +Ġp ok +Ġdemonstr ating +Ġnot ation +l ayers +@ if +ĠN PR +.strict Equal +ĠRec ipes +.T ensor +Ġliqu or +Ġdeb ts +.ends With +W heel +.P os +CS V +$ arity +Ġun stable +( loss +ENS OR +Ġele ven +ĠL opez +ĠHop kins +con om +ĠS eth +Ġpo ems +Qu ant +Ġg sl +Ġsy rup +Ġs ibling +Ġc ass +-v ous +ö t +_P ATTERN +_SE CTION +est imated +up grade +.m ongodb +ĠBo at +_C TX +Ġfetch ing +ust in +pi el +M arg +Ref lection +Ġd uct +ĠMunicip al +Ġb x +.Get Current +ml ink +ĠAccount ing +ĠGene va +_P os +Ġpass er +Ġhear ings +com pan +Ġfrag ile +Initial izer +walk er +.M aterial +ĠHun ting +trys ide +Ġk at +Ġcl erk +á Ł +do ing +ĉg roup +Ġsan ction +.l b +ĠL azy +ĠCon straint +P agination +Ġpou vez +ĠInd icates +M ER +Ġcour s +Ġyear ly +Ġgros se +abb rev +ĠD ON +Ġproceed ed +ent lich +Ġproperty Name +ĠTe aching +st adt +Ġc utoff +orn ers +Ġa frica +Ġrend ers +ĠYan kees +ĠTool bar +sp aces +.fill Style +Ġseg undo +_str len +.F irebase +å¤ Ħ +Ġmention ing +\ ( +ĠVal ve +Set ter +Ġsp ans +ĠAl cohol +ĠLet ters +\x e +ĠT K +_B LE +.get Result +< Player +ĠP att +Ġeas ing +Ġtur key +ĠF en +') " +Ġconf ined +Ġin clus +Sup erview +(with Identifier +enc ial +Ġstuff ed +Th eta +Ġeconom ists +} ));ĊĊ +co okies +ĠRo ose +ĠChe ese +Ġfich ier +Ġen forced +AB B +no ÅĽci +_AL LOW +Ġrecru ited +Ġexpend iture +-n ight +Ġassert NotNull +_ex ecute +ĠØ ¯ +IN DEX +_F MT +Ġresc ued +ĠMonth ly +ĠCons ervation +ĠG eb +Ob ama +Ep och +ic ies +ĠOr t +Ġso it +( icon +F riends +m ol +Ġground ed +ĠC ause +ad ena +WE EN +ĠL un +IT IVE +. loop +_un til +Ġcor r +.ed ges +Ġhyp oth +ched uling +trans lator +ĠÐ ľ +R om +ãĢij ĊĊ +ĠX amarin +Ġviol ating +. anchor +--- ĊĊ +Ġtr ader +AD VERTISEMENT +Ġuns ere +ĠD AO +Ġbl ond +ĠP AT +.g lob +Ġè¾ ĵ +Ġsplit ting +Ġun subscribe +Ġatmos pheric +ĠTr im +Ġcit ation +Ġin ference +ĠF t +ĠDar win +find One +ĠG el +( Convert +Ġaccess or +; text +(s orted +Ġjud ged +); \ +: p +Ġme ine +ĠS lim +.Command s +Ġper ceive +coh olic +< Data +.entry Set +Ġassert False +ĠPat rol +ense m +ÅĤ Äħ +¨ ¡ +W IDTH +ĠRes cue +ĠU IF +_THRESH OLD +ĠMich el +ATER IAL +opens ource +ĠD iana +Ġinv ites +_B ODY +Ġreserv oir +Ġro i +c ust +(t c +ï¼ģ ");Ċ +Ġfest ivals +Ġperform ers +Ġclim bed +Ġj ungle +String Length +Ġunlaw ful +ier re +vertis ement +Ġst akes +Ġh ats +Mod ify +ĠLET TER +.H ide +Ġstat utory +_ white +ĠPer l +uten berg +em ple +.W orld +Ġoverlook ed +Ġcon cludes +/* ================================================================ +-w ise +ĉ stream +pop ulation +Ġevent o +Ġillustr ations +ft s +Ġaut of +ĠPro cedure +Ġdes erved +-t imes +Ġg ol +N SError +cre st +ĠPak istani +any ch +get Current +Ġl ar +nt l +ĠRe becca +Ġm ateria +Ġfind By +/ ad +Callback s +ĠAl s +ĠKat ie +ĠObservable Collection +ĠDocument ation +Typ ed +ĠCulture Info +ĠTim othy +Ġlater al +" type +Ġun authorized +Ġteach ings +Ġdebug ger +[ value +Ġal ors +Ġu z +Ġsc atter +Ġdown ward +Ġmig li +status Code +Ġ( )) +ĠM W +Ġм ож +RO SS +.b uf +Ġfair y +ĠInf rastructure +=> " +t lement +$ (" +From String +ĠB ild +Ġconvent ions +_n ative +ĠIns pector +ĠP ist +ub ar +Ġreg s +ĠP ilot +Th us +>' + +Ġc ela +.new s +( Product +L iving +R ussia +Ġfac et +et ical +Ġ[' $ +/ [ +ĠD ire +Ġg ases +ĠIN FORMATION +ĠE at +ĠFor ums +ĠChar acters +_m et +Ġìĭ ľ +Ġk ings +ach ie +ĠL ambda +Ġtim ers +ĠLight ing +ĠCase y +add ir +and ex +. answer +ĠH ip +ĠPr incip +Start Date +Ġ ãĢĮ +t res +Ġ& # +.Max Value +ĠPro blems +Ġlat ex +Of Class +ĠLyn n +// ' +Ġvoy age +Ġshut tle +ĠRoll er +ĠRuntime Error +uy a +D ic +ĉb uilder +Ġbul lying +Ġsimple st +.c alled +ĠL R +Ġmor ality +Ġst urdy +tr acking +.sw agger +_B IND +IT OR +-url encoded +ĠÑ ħ +ĠTr inity +Ġtr aps +Ġ| - +Ġset Text +Ġbarg ain +Ġbr akes +.get Code +Ġmigr ate +Ġrib bon +) return +Ġcharg er +ac om +ADI US +ĠAmb assador +-a fter +Ġann i +ĉs pin +Con cept +ĠHend erson +ĠH OST +.r ank +ĠNor theast +Ġber lin +Ġrequ is +.f eed +Ġsource Mapping +ĠRen contre +. ajax +nest js +Ġtre k +ĠN acional +Ġ& [ +Ġpay able +ort ex +Ġde pt +field Name +Ġcomple tes +ĠR VA +Ġon ions +al ignment +Form ats +Ġ' {$ +Hash Set +ĠB od +.Invariant Culture +Ġsettlement s +Ġhy dr +. updated +vent h +( seconds +="/ " +Ġweb page +( ĊĊ +Ġt ir +Ġto es +ĠBr ick +Ġamb ition +P ot += max +ET IME +Ġdep ot +c alls +ĠNor wegian +` : +Ġbur ger +Ġprofess ors +ĠAl locate +-third s +-ch art +Ġfor d +* N +.k otlin +Ġpaper work +ĠDE VICE +% @", +res pect +(m p +é «ĺ +- if +Ġcush ion +ob ot +Ġpar c +SP ACE +ĠNet anyahu +Ġself ish +fe at +Ġclient es +-to ols +Ġpor ch +Ġj q +. verbose +Ġlib erals +] )ĊĊĊ +p ies +Not Blank +( term +ÈĽ i +_Param s +.normal ize +B ullet +AS IC +(h ex +_client e ++ , +_D I +Ġforth coming +} ")]Ċ +se o +U m +> Name +Ġcomfort ably +irection al +W ITH +/ pr +ĠP oor +ĠVit amin +v ic +G H +Ġprior it +ĠN N +ĠC losed +¤ í +Ġis Open +\ Console +And Feel +.S UCCESS +_OPER ATION +pol ation +ĠT as +ps z +> '. +C URRENT +V endor +host s +ĠE rd +>tag ger +ĠsourceMapping URL +Ġmar athon +_c losed +Ġexem ption +Ġrecogn izes +ides how +' $ +('/ ');Ċ +m its +war z +ĠCh erry +µ ¬ +n or +port e +Ġw l +_back up +.get Boolean +.get Resource +Ġdefinit ive +. EditText +Ġs ÃŃ +.C ONT +ĠPL AYER +.c ards +ĠSh ore +('/ ')Ċ +cl uir +Web Driver +(m onth +-re lease +Ġins pector +å £ +ĠN F +_cl ip +åŃ IJ +Ġinteract ing +.t mp +Ġ'' 'ĊĊ +Ġde e +Ġfro st +"] ))Ċ +ĠPl aces +Th rows +f ork +/ day +i Phone +ĠM IC +Ġfold ing +Ġcro re +ĠCh iefs +pher ical +( price +.Write String +Ġexit ing +] ',Ċ +ight ing +Ing redient +( vertex +Ġscroll View +h f +: new +SE N +se ctor +Ġsp ins +ĠS cheduler +ote chn +sem icolon +Font OfSize +ĠSpecific ally +fl amm +.Object Id +Ġcont a +_per missions +ĉF ROM +IC ODE +/ kg +ĠHot els +-m ed +ĠD in +Ġn avy +get Param +Ġm end +Ġportray ed +ĠMet ropolitan +Paint er +Ġref erral +_g ood +Ġmar vel +osa ic +> (& +. ur +Ġest os +Will iam +Ġtim ber +Ġquel ques +ĠDoc uments +.X aml +Ġbatch es +éģ ĵ +ĠRe leased +T ail +CO OKIE +he id +_st ation +ĠV ia +S ale +ĠRe peat +Ġprom in +ĠZ o +- forward +ĠI on +it ary +Ġj us +- request +Ġproud ly +ĠStream ing +(Mouse Event +ĠS print +_ rotation +Re positories +Ġt art +ĠÑģ в +Ġm appings +è ª +C u +C ycle +Ġb un +ĉl ua +ãĥ ī +Ġ(( ! +Ġcollect ively +ĠCon d +Ġwsz yst +(l ib +openh agen +_s kip +.Column Header +é Ĥ +peri enced +ı è¿° +_p rops +Ġcontr ace +Ġmatch up +ab etic +.m embers +RE CT +(d at +Ġs og +ren om +_M ethod +Custom ers +full name +Z N +re try +Ġk ap +ĠNe u +è Ĭ +add Child +will Return +_p ermalink +Ġener getic +ĠW et +ĠMor r +Ġg cd +count s +, type +d ig +( Login +Ġcr acks +Ġbacter ial +ĠMe at +ĠArm strong +ĠBron ze +Ġapprox imate +_dir s +lig a +ÅĤ ad +Ġkind ness +Ġcont re +ĠE VERY +M ET +Ġannounc ements +g pio +ĠWaitFor Seconds +ĠPhotos hop +Ġdis contin +/ dd +Ġtop ology +an ical +. interface +auc oup +.Hash Set +ARI ANT +(r outes +ĠT eh +Ġh ype +] "). +Ġsl am +Ġbro th +- inter +ĠR id +-m anager +Cancel ar +ĠP agination +Ġsound track +Ġpost erior +Ġscr ub +cre ating +- * +ir teen +.d y +.s ymmetric +Ġ"" . +============ === +Ġch assis +ĠnumberOf Rows +Develop er +_b ins +ĠO UR +ri eb +Pro s +Ġwi ÄĻ +" d +Ġasync io +ze igen +_s pi +.A LL +Ġscre ws +Ch inese +Ġapi Key +Ġun successful +ĠSeah awks +OR G +ç« ł +Ġprofession ally +ĠCou pon +åŃĹ æ®µ +Con vention +Ġpol ym +æī ĭ +Ġsalv ation +Ġengine ered +ĠW rest +ĠG CC +Ġwar mer +Layout Constraint +Ġag grav +Script s +vent ure +Ġrefriger ator +Ġinnov ations +ĠRun ner +N IC +ĠRoll ing +Control Events +Ġlo os +p ac +ĉ panel +ef e +ĠBudd ha +------------ --Ċ +åº ĵ +(for Key +Ġl umin +Ġ( ? +ĠA IDS +, user +im ientos +content Type +ant lr +é ¦ +ĠW elt +Produ ction +m ight +ĠV II +", ( +Ġobserv ing +Ġdeliber ate +( control +Ġwith d +Ġsem ana +ST ACK +uch en +N ice +ĠDeutsch land +ĠSpec ifies +d ma +iz io +ĠF acts +_pop up +ĠDirect ors +{ : +[ R +ĠÑį леменÑĤ +Ġpl at +Ġdirect ing +ä¸ ī +ĠGil bert +â̦ .ĊĊ +.q ml +Ġthere after +Ġdis position +d raft +Ġsurge on +ĠIns ider +Bl end +ĠT rev +tr insic +Top ics +rie ve +_FILE NAME +Ġaut res +J ose +Produ cer +er us +Ġpet it +ĠN EXT +ĠF ilters +Ġreplic ate +"] ). +Ġl enders +] ",Ċ +; charset +Cpp Object +Ġfl oral +ĠT ipo +Ġcirc uits +e asy +(& $ +itt a +ery l +_COMM ON +'}} >Ċ +-back ed +(var iable +( Index +Ġvo ir +_loc ations +++) { +ĠLouis ville +Ġgrat itude +.Mock ito +ĠP owers +ie urs +Ġge ographic +ra le +Ġc ra +ĠSp urs +iph ertext +AC ION +- common +Ġvict ories +ĠFinal s +.sh uffle +-m illion +_PRO C +ass ume +Ġil s +DB C +Boot Test +Ġl avor +.test ing +. ast +"] / +m oid +Ġqual ification +ges ch +ĉ put +Ġair ports +J I +Te acher +_un iform +Ġn ama +ĠB ast +ert ype +c apture +get All +ĠReyn olds +oo led +.com ments +Ġch in +). * +Ġи ли +t gl +ud os +Ġd ÃŃas +ch ai +.pro gram +Ġps z +ĉ icon +ph il +ent ral +_WR AP +ov i +Ġnost alg +In finity +ĉy ield +Ġvit amins +Qu aternion +S ink +_g oods +Ġ ........ +ĠW ings +ur idad +-st ory +"] )ĊĊ +idel ity +Type Def +G tk +Ġí Į +_M ain +Ġche z +ĠR aven +Ġpay roll +Ġfreel ance +LL U +ĠM end +ed ay +Api ModelProperty +.Form BorderStyle +Ġeconom ist +stan bul +Ġfre ight +-A gent +(m eta +Ġsym metry +Ġ' .. +.C alendar +- aut +g f +p ent +yc lopedia +Ġwish ing +ĊĊĊĊĊĊĊĊ ĊĊĊĊ +Ġgentle man +Ġê ³ += # +Ġlect ures +âĢľ In +Ġ! _ +Ġh b +ĠV endor +Recent ly +_n otes +æıIJ 示 +" My +Headers Height +_S O +Ġunw illing +Ġsuper hero +g io +ps y +ĠPe er +j avax +& apos +ĠCr isis +ord inal +Mem cpy +++++++++ ++++++++ +- val +Ġwork book +- ap += k +Ġmetal lic +_ peer +By PrimaryKey +_S D +u ator +_SH ADER +) Math +.Trans form +Ġc ows +Ph i +ĠC lem +(_ (" +ĠL ud +-d elay +ĠSec urities +ĠOrth odox +Sym fony +(re port +Ġent ertain +E PS +iz oph +ex ual +IR D +ä» İ +Ġl ith +Ġsanit ize +Ġfemin ine +IS BN +.auth entication +_p ipeline +/ constants +ĠCON F +Ġluc r +ric ia +.t tf +.set Content +Ġst an +ore an +ĠL loyd +.raw Value +Ġg or +ĠBrow ns +Re gression +Ġlower ing +na issance +Ġbl ows +Ġam azed +Ġun related +Re views +Ġrub y +ĠMod ifier +Ġgi ants +. thread +Ġcontain ment +ĠStart Coroutine +um at +ore lease +ĠR andy +@ endif +D igest +Ġsubur ban +=" );Ċ +Ġann once +. variable +\F oundation +Ġa cre +V an +Ġt uples +d ns +ĠStand ing +_l arge +Ġbox ing +Support ActionBar +ĠFort une +ĠR um +_m ultiple +arch ical +Ġf write +_ quote +Ġfool ish +Ġcompr ising +Ġо п +- selected +v f +ma id +N ama +(d atetime +Ġindirect ly +g art +fix tures +ch os +ĠH alo +Ġrec urring +- news +v il +ĠNurs ing +- produ +ĠH Q +\Http Foundation +enc i +au en +Ġv y +ocr acy +Ġdeleg ation +Ġas phalt +Ġset Selected +k ok +/ rest +met ics +ĠNS Date +Ġtravel led +Ġrec ib +Ġm ime +CL IENT +ĠG U +ĠH ANDLE +/ Q +[ z +Ġbother ed +ĠBB Q +ç as +_ex amples +_F IN +Ġwhite Color +Ġastr onom +-d ir +Ġsovere ign +Ġb reeze +Ġin ning +ĠEd monton +g li +.blog spot +js x +Ġvers a +ĠMoh ammed +.J ob +-t oggler +Ġп олÑĮзоваÑĤ +ard on +Ġnew born +Ġnav al +note q +Ġtum blr +Ġh entai +ĠTyp ically +Ġlo ot +.S prite +Fl ight +Ġw avelength +-s k +ĠEl le +_ exports +Ġ Ñı +ĠI H +izoph ren +Ġí ģ +_pr imary +Ġmo is +ĠB N +Ġsystem ic +Ġdifer entes +IN CT +Ġ'' ĊĊ +$ q +Widget Item +cl ide +$ file +L emma +/ table +ag rid +ĠMongo DB +int e +Ġapp rent +ÂŃ ing +.D b +Ġà Ĥ +ham mer +=' ';Ċ +Ġbro kers +it lement +sembl ies +E le +{ x +Ġlast name +< - +Ġfl atten +_b and +.R oot +.read FileSync +==== == +.r x +? čĊ +Ġmetaph or +T i +con te +Ġdeb it +Ġcont empt +Cpp Type +æĶ ¯ +Form Field +r atio +os opher +Ġimpl ant +P URE +Ġal ta +_man agement +Ġref ine +ĠCheck Box +ĠChar l +- version +cond itional +ven ues +Ġrif les +Ġoff spring +Ġmill ing +Ġshar ply +Ġunder water +( origin +_ Control +Ġ. $ +Pl ugins +Ġdry ing +Ġillustr ates +- u +Ġveget arian +n pc +He art +; ',Ċ +com ma +te enth +as an +/s pec +_m oves +-m argin +Ġing en +³³ Âł +Ġpro jet +Ġo tra +Ġbr as +. utc +Ġsle pt += sub +ab ilit +post er +Ġs dk +ounc ill +Ġw d +Pre paredStatement +ĠDr um +( attribute +ĠEther net +ĉ DB +Cal ifornia +c ube +[ I +.C reated +ĠH M +Ġtr acing +Forms Module +- you +.c urrency +feed ing +Ġt body +L i +acc ion +n as +Ġtr ouver +N ONE +"} ,čĊ +Ġf tp +With Identifier +pol ate +File Info +Ġpurs ued +ĠĠĠĠčĊ ĠĠĠĠčĊ +DE SCRIPTION +} */Ċ +From Nib +Ġdecor ative +_S SL +(ch at +T LS +Ġsurpr ises +al culate +ĠS plash +( Configuration +ĠS EM +im son +/lib rary +< Double +. robot +³³³³ ³³³³ +ĠCP F +ĠUnder standing +Ġcos metic +ĠX t +t ips ++ k +(" ' +ĠP DT +W AR +.get Object +ĠTrad itional +.sl ug +ĠDi pl +=" ", +ĠFil ms +ĠAn im +.h elp +Ġemb assy +ĠBoot s +Ġb unk +-r isk +Ġp ci +Ġ/ \. +ĠI PT +Ġcrash ing +Ġip v +_ ke +ĠRES P +.Log Error +Ġinade quate +I on +ĠF ür +ric ula +Ġshould Be +al ready +']." +G ED +fa q +Ġoption ally +_D is +ĠSuccess ful +ĠC ensus +Ġinc arcer +_C ARD +Ġav iation +ĠG ym +Author ity +.B ean +sh ader +Not Exist +_Text Changed +ĠST OP +( team +" H +w g +Ġgr inder +Ġstri pe +Ġpres ervation +Cl aim +avers al +ware house +target s +Tr ust +Ġal lev +, www +ous se +_ch an +_S ize +system s +Ġobj ection +ĠK ane +Ġcor ros +ĠD SL +Ġu a +ĠM H +ĠStrateg ic +_t cp +Ġê° Ĵ +Ġborrow ed +ĠA ch +ĉ command +Ġg ps +le ston +iche ver +ĠU A +Ġassault ed +Ġspecial izes +ĉ search +Hot el +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ čĊ +ĠP itch +Ġ Ùģ +READ Y +Ġparent al +Ġg éné +Ġdonn ées +Ġdet ain +T ARGET +Ġprotagon ist +Ġclear Interval +ĠIcon Button +ĠGet All +Type Info +E H +âĢľ They +Ġ{ [ +Ġg ag +Ġ Ú© +ĠD ropdown +.f ree +g one +im ens +Ġinst al +ĉc url +_C AN +ĠB one +ï¼ Ķ +ony ms +-g overnment +.binding Navigator +ĠD ans +ĠMc L +( en +>( _ +ÐĴ Ñĭ +.* ;čĊ += j +-c or +S on +.ToolStrip Item +- around +_X ML +end Date +Ġsl ack +Ġrot ated +Ġno qa +Ġc ottage +Ġencontr ar +_s kill +hou ette +! čĊ +. weather +Ġemphas ized +å® ¶ +ĠÑģ пиÑģ +ĠComp iler +( android +ĠâĢ º +. turn +Ġsup pression +_c alls +Ġ* @ +(str len +.h ex +ĠB ills +ĠR SA +Ï Ĥ +ĠEs cape +ement ia +Ġfront end +Ġp int +_ex c +zz o +[ ],Ċ +Ġ"',' " +. Environment +Ġafore mentioned +Ġend ure +prot otype +ther apy +ss i +D eg +_pl ugins +.user Info +Print er +ĠPRO GRAM +Ġru ins +Ġempir ical +Ġcraw l +ĠBo iler +- comment +.sub plot +_ et +Ġ'. ', +min or +ĠCustom s +Ġy aw +under line +ĠCom o +( (' +(m ean +Ġcha que +ĠBlock s +.r ad +ilib rium +Ġweb driver +Ġmel hor +d ana +ĠAb use +ĠSouth west +ĠP aren +PERT IES +ĉ IL +Ġscre am +v u +Ġin comes +Ġn im +Ġl ace +Ġcompens ate +Re verse +D at +_att ack +Ġn our +ach en +ce k +< Func +w ie +com pressed +-m atch +(" ")]Ċ +im ized +. orientation +.compare To +Ġmass aggi +Ġìľ Ħ +Ġel bow +Ġant ioxid +undred s +/ tools +ĠR OW +an mar +ĠW ow +_t icket +Program ming +Ġthe or +-re view +() )));Ċ +ĠRichard son +ĠP ocket +] [] +am pp +_ health +ĠP OP +ĠNav al +Gu ess +Ġancest or +.Get All +.local Scale +ĠM apper +Ġaccum ulation +Ġsim ulated +ĠDr ivers +Ġd és +cur ring +Ġele phant +Ġadvert ised +Ġmail box +SH IFT +ĠMon ica +Ġan c +Ġward robe +Ing redients +Ġ|| čĊ +ipp y +Ġantibiot ics +av ings +(c x +ĠFerr ari +ĠAn imator +.d type +rem oved +order by +Ġc res +oc ê +Ġp ym +ĠCirc ular +@ index +ĠW arm +S ay +ĠAss istance +Ġcur tain +ĠMont e +IL ER +ĠC VE +ĠD uck +ĠAll ows +_f ire +ĠDer by +Ġre pos +Ġhttp Client +Ġpsych iat +Ġnow adays +Ġcaut ious +ĠComput ing +Ġcompletion Handler +ĠWel sh +ĠB EST +Ġstress ful +_P E +æĹ¥ æľŁ +ĠData Frame +ĉ Integer +_P rint +M oves +Ġtransform ing +.B atch +y ahoo +Position s +ze j +Ġno od +io res +_ * +Ġcl k +ĠF loyd +Ġh ap +font size +Ġn az +.not ification +ĠDep ression +Ġac ne +*** ĊĊ +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĊ +.cont ents +yn th +ĠStra ight +')}} "> "+ +Ġtoken izer +Ġsovere ignty +ĠP ence +() ");Ċ +Ġpesso as +.G e +ĠIn cluded +Ġpag ina +Ġex posing +е ÑĪ +_SC RIPT +/$ ', +Th umbnail +× Ķ +webElement X +webElementX paths +press ure +ĠCur ry +_C P +OL UTION +ILE S +prot ect +ool a +Work space +{ };Ċ +ĠU NS +Ġsymp athy +ro ker +Ġrem odel +ĉc ell +Ġat op +.Full Name +Ġfa ut +ĠE asily +_d ynamic +Ġfr amed +Ġmot ive +è· ¯ +s am +Ġmar ca +ĠText EditingController +Ġde structor +cre am +Ġr ude +ĠB old +ĠInd igenous +Ġg ens +Ġrel acion +(s ystem +ĠUIF ont +_char ge +UST ER +E V +.N amespace +Ġmer ger +Ġcal loc +g ang +Bad Request +Ġs per +-d esign +Ġâ ĩ +Ch an +Ġorgan ism +, ) += id +_pl ane +ĠC ases +elf ast +ĠLegisl ature +ĠF aker +Ġinv oking +- utils +(). ' +.f ace +Ġguard ian +my Modal +Ġclip board +ĠAT M +Ġpe as +ĠS ylv +.c alc +ĠContact s +int Value +Ġmodify ing +ĠBar b +. loss +_per centage +Ask ed +(l st +ategor ical +- files +ĠRoman ia +.A c +Ġh ai +ĠF lying +Ġ ż +j p +ĠTr ainer +. arc +_de g +Ġtrace back +Or Fail +F LOW +. old +oy a +g mt +is empty +Ġvacc ination +Ġob solete +recogn ized +Ġru ined +ĠRe in +ĠTr acking +xf b +ا ÛĮ +Ġvæ re +Ġbr yster +ĠIT S +Ġdest iny +Ġsw ear +Ġred es +Ġcl f +Ġfl ipped +ĉ head +Bl uetooth +ĠOver rides +: Boolean +_ = +_l r +sp awn +: index +VAL UES +is key +? ");Ċ +.syn thetic +ĠCheck ing +struct ures +ip ing +Ġvoc als +- Up +ĠManufact urers +ĠMar riage +代 çłģ +Ġgar ner +_C lient +par allel +RI END +Ġvine gar +seg ue +J B +Ġcontact ing +ĠCar roll +Ġout reach +t ensor +_var iant +Ġthe at +lic able +{ | +t iny +_ letter +Ġp encil +HeadersHeight SizeMode +ilt ro +.auto configure +.d rag +.use State +ĠB MI +h int +Com pile +* \ +en ary +Ġl vl +.C ache ++ =" +_t v +ruit ment +Ġf read +Art icles +f ila +Ġpack aged +âĺ Ĩ +AT HER +ĠPl anned +s cheme +Ġdi ary +Ġoff enses +/ F +ĠSt ick +Ġc erc +ĠS lee +ĉĉ ĠĠĠĠĠĠĠĠ +< Image +Ġè® ¾ +- editor +pie ces +ĠD rama +Ġ// //////////////// +ĠT asks +AR C +g ateway +.get cwd +.M etadata +Ġguess ing +åľ° åĿĢ +Ġsm arter +ĠGet Enumerator +Ġe fter +/ operators +ĠGL float +Ġf ør +Ġop aque +ä¿Ŀ åŃĺ +Sp read +SY STEM +Ġinv ersion +ĠBasket ball +Ġsim ulations +Ġden ies +Ġa vez +_list ener +Ġenh ancing +ĠMy th +ĠL akers +_M D +Nd Ex +D ATABASE +Ġt á» +ar th +[ left +Ġcontest s +st ile +(K ERN +_f c +_p m +Ġpres idents +Ġhospital ity +Ġfade In +RO PERTY +_m aps +ĠDefinition s +Ġassess ing +Ġus ar +Ġquant itative +mo z +Be autiful +[ (( +b ons +f requency +Cont ain +Ġpuzz les +ĠCast ro +Ġv illa +Ġkind ly +Font Awesome +ern a +epoch s +_dat as +ĉ ip +.p adding +ĠCont est +Ġed itions +Ġdispro portion +ĠI CO +Ġcome back += value +ri ad +-s ort +Sub mitted +(n etwork +ĠC el +Ġinstall ment +l ashes +.List View +ĠV atican +(Media Type +IV ED +reach able +: Is +ĠC ITY +äº ¬ +ĠHelp ful +Ġba ÅŁ +% čĊ +Ġpsych iatric +Ġrec ycled +FORM AT +ĠG row +b ine +G it +.s s +ĠWe apons +ĠSt y +_ arrow +* self +ire ment +Ġdeg li +App Delegate +_b anner +Ġcoordin ated +ĠWeb cam +Ġcelebr ations +. act +******************************** **************** +( show +Ġweek day +Ġconc erts +ол н +cl in +Ġcr on +ĠN im +.set Vertical +ĠEll en +س ت +ĠS AM +E ff +g z +ste am +Ġant ique +ph ysical +ĠForm Data +.set ter +ĠPO INT +B on +Ġflav our +erv ention +_ENT ITY +ĉ ĠĠĠĠĠĠĠĠĠĠĠĠ +Ġintr insic +Ġæ İ +append To +aram el +) ]) +ĠRecomm end +) m +OutOf Range +Ġkn ight +Ġsat ellites +ĠTit ans +Ġweigh ed +ĠD ana +e ase +Ġs ip +S IM +ĠDevelop ers +mal ink +/ check +_P LL +n ung +Ġdry er += A +.d w +_S QL +Ġsub plot +D ROP +Ġprot otypes +Ġhour ly +display Name +Ġas i +ĠViol ence +Ġastr onaut +Ġdat atype +Ġinformation al +Ġinvestig ative +etermin ed +ren al +; '> +ĉc ol +V G +_ boolean +re cent +Ġ* )ĊĊ +ĠRain bow +om men +Ġl ur +Ġopp ression +(", ");Ċ +ĠFac ility +DEF INED +Ġne on +Ġoff ender +AF P +ĠClean ing +[] ): +Ġund ocumented +.Re positories +ĠG uitar +аÑģÑģ ив +Sk ills +Ġtestim on +rypt ography +ĠAm ber +ĠSt alin +Ġl one +Ġap enas +Ġdies es +ĠAr duino +è½ ¬ +== - +_A ct +Ġc oded +âĸ ł +amb urger +-link s +Ġarm our +.H igh +get Content +st ag +Ġhe ck +ĠìĹ Ĩ +ĠMc Connell +ĠCon cert +ĠAl loc +ä re +.replace All +Ġpart itions +rot t +ĠF le +_T REE +reason able +ĠReport ing +Ġbillion aire +s cores +min s +- eye +M ORE +ab ort +ĠSW T +Ġin verted +ĠTe achers +; n +Ġast ro +н ов +ани ÑĨ +product o +c ountries +ĠO wen +Ġcont amination +Ġv ibe +ĠEll i +.s cript +ĠOl ive +D MA +v ier +: semicolon +-m odule +gress ive +ag u +_ players +Ġresult ados +start ed +scroll Top +==== = +Ġweigh ing +Ġ[[ [ +z ahl +( NS +ĠAssert ion +le ague +.setText Color +ĉ Message +Ġmom s +_A F +. wh +AL S +Ġaut re +] ĊĊĊĊ +.op acity +ĠBudd hist +Ġde af +ĠOrgan isation +(G lobal +ens ch +Ġhead ache +ĠAli en +_in ode +ĠSt ark +Ġæ ī +-l nd +ore f +_fe at +Ġpedest rian +Ġnom inal +Ġbal loon +Ġspr ites +Prototype Of +ĠA post +ĠF EATURE +O H +Ġre cess +ĠDon na +con sumer +$ GLOBALS +ĠG IF +- frame +In icio +Ġpass ages +Date String +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ +.by te +B ug +initial izer +p kt +od ium +ĠD ER +. ops +ler i +Ġgift ed +Ġdet ach +ter rain +elt ers +ãģ ı +. loader +ĠN GO +str ncmp +K h +(font Size +ro cket +Ġpreced ent +ĠAur ora +ĠEx periment +is phere +Enc oded +ĠâĢĵ ĊĊ +Ġpy ramid +ĠAnn iversary +of il +ë Ł +( plugin +C oeff +Ġcooper ate +Ġpredomin antly +IS M +Ph rase +_DEF INE +Fl ip +AMIL Y +ĠMark ets +ĠStream Reader +ĠComb ine +Ġmanus cript +z za +, tp +Wh atever +IT ICAL +ighb our +Data Provider +.Text ure +priv acy +.S DK +Ġre charge +Ġc pp +ĠC FG +(h older +(p y +m ot +Ġsav oir +ĠR osa +ĠPC s +Ġí Ļ +.her oku +Ġf ren +ĠR iley +ag ate +Ġs ond +.x lsx +Ġh acked +st ad +G i +Ġsan ity +ĠSql DataAdapter +... ", +ĠP ussy +Ġ **************** +Ġhass le +_P ARENT +ĠU AE +Ġbegin ners +( Client +Ġstatist ically +.h our +ed elta +Ġtr action +uel ve +ar at +Ġsa una +IN VALID +Ġindict ment +AL LE +Ġdiss ent +ĠTyp ography +Ġintention al +s it +ĠAn imals +Ġcoun tryside +Ġu art +} \" +Ġseam less +¾ 示 +Ġaut os +Ġ"' ";Ċ +Fl ush +ANN OT +Ġal gebra +ass oc +ĠW aters +Ġprepar ations +ron ym +[, ] +S ans +Ġarm ies +ipe g +Ġcream y +. art +et re +ĠAn imated +Ġun pleasant +eme an +g reat +i Äħ +ĠEar lier +Ġch ic +Ġpres erving +(ex ec +ĠInvest igation +ĉG PIO +Ġrig orous +ij o += num +Ġtool Strip +) set ++" & +ĠAcc eler +Ġdevelopment al +is posable +Ġflaw ed +re ne +Up dating +Ġwatch dog +Ġden ominator +Ġsubur bs +Ġ... ) +Ġconv ictions +c losure +.I P +Ġtransl ates +.sw t +.Tr ace +Ġmet tre +.is Enabled +ĠEffect ive +.to Int +Ġen chant +Ġst unned +Ġpo i +/ code +ad m +.datab inding +ĠL orem +________________________________ ________________________________ +Ġled ger +Ġcar a +ĠG ir +Ġwa its +Un o +Ġc wd +è¾ ij +ĠT Result +Ġre jo +Ġem itted +ĠWest minster +ä¸Ģ 个 +ne k +_T is +Ġen act +ĉ with +org ia +Ġj ue +Per form +SP ATH +.top ic +ĠD aten +Ạ§ +Ġsit io +_M M +" So +b ial +Ġsc oped +Re quires +ĠT OTAL +ĠCh ancellor +( contents +Ġste alth +dev ices +-p ass +ili h +ĠMal colm +ĠDep ot +Ġconfig ur +a ussian +_con straint +в еÑĤ +G RA +ĠR ates +.dataGridView TextBoxColumn +ĠNob el +it ics +Ġignor ant +ĠReport er +ĠEb ola +ĠSh ock +_re lation +ĠNin ja +) c +Ġt icker +.is Checked +ĠSup pliers +ĠRap id +Level s +âĤ¬ âĦ¢ +ĉ queue +Ġch op +ĠUn ix +re ject +-c alendar +(s ort +è ne +erc icio +Ġh ect +CALL TYPE +rou pon +Ġrent als +auth ors +{ name +ĠF IFO +Ġl assen +ĠN ous +Ġsn apped +Ġfert ility +" log +click ed +Ġplant ing +Ġg b +/ output +PE AT +Ġc ategoria +Ġb ach +Prof essor +in th +"] čĊ +Rec order +ser de +ĠTrans mission +tr ad +Ġtur bo +_VER TEX +\ Event +il ver +Ġbod ily +ĠS ources +Ġkill ings +.xr TableCell +Ġfold ed +/ legal +un er +ĠR ifle +ĠM IDI +_Selected IndexChanged +.Size Type +ĠWeb Socket +Ġsele ccion +S and +ot ros +Ġenv ision +/ etc +ĠMel issa +Sp ot +но е +_ ARM +At tempt +ĠB I +ãģ Ķ +ĠD U +Ġback lash +str ide +/ classes +Ġtext Color +_st aff +ob lin +agent a +.c ollections +ill age +' čĊčĊ +fl atten +_s ales +_M ASTER +T W +_d a +P itch +ph ies +Ġz ombies +ĠV ERY +ĠPharm acy +Ġprogress Bar +Ġhas htag +S idebar +@ stop +(p c +ол ж +MA KE +ĠCor on +Ġkv inner +ĠM aid +b ob +.title Label +Ġsuccess es +ĠDemocr acy +ĠSurg ery +Ġcou gar +Ġcur so +Ġl oro +ist ency +Sen ior +æ k +ĠA AA +ĠBO OK +к о +W STR +Ġ*/ ,Ċ +oy al +.v ector +ĠS PEC +SS F +Ġcomp uls +ĠAppe als +ĠW inston +ĠMock ito +con trib +. available +entity Manager +ari as +_s ale +_r s +Ġdec oding +Ġloc ator +ol ith +Ġk ol +Ġasc ii +ĠR ut +/ interface +ĉĉĉĉĉĉ ĠĠĠ +ĠN umer +.fl ip +-d el +Ġbol ster +on omic +Ġz m +L G +Find By +Ġadapt ive +lo o +Ġv ue +(re verse +_c anvas +. roles +ific ado +ven ient +" As +ĠEn tr +al igned +Ġbere its +/// ĊĊ +.g wt +. employee +_cl i +Ġanticip ate +éĻ IJ +Ġp ik +Ġmush rooms +(t t +Ġo ma +ĠSan chez +_g oogle +. Valid +ĠFile Name +iv ative +k ed +-w ar +Ġm aturity +и д +Ġmin er +Reduc ers +ĠLat Lng +_ST D +D igits +Cal c +-up load +Ġhand ic +ี à¹Ī +egr ated +ĠST M +C lients +ĠTur bo +SY NC +Ġphotograph ers +. Out +.char acter +B UILD +.un lock +Ġar ises +ĠCommand s +(" ");čĊ +_F ORE +; ', ++" ' +. Images +") { +ĠM eyer +Ġneg atively +ĠD LL +Ġex e +Ġdef iciency +Ġwild ly +-s witch +con struction +Ġexception ally +ĠL iz +/j ava +Ġtheir s +ĠCont emporary +l is +.fill Rect +ĠN FC +Ġre he +(num bers +Ġr aster +Ġfig uring +Ġshow c +ĠJ ill +Ġarc ade +ĠConstruct s +md l +(' | +Ġident ifiers +Ġst ellar +( Connection +Ġ" {{ +y or +(m ysqli +Ġdo ve +Of Birth +.dis connect +_h i +Ġzw ischen +ĠGr und +i ros +_A rray +.on click +ans om +An swers +ĉ remove +F a +Ġhur ry +-in f +Ġget Class +ĠReg ulation +ĠFLAG S +m isc +K en +_ heading +G Hz +- entry +Ġbi ography +S ig +-m f +Watch er +âĢľ A +} px +Ġsp icy +_s q +L ost +(tr ack +а ли +Desc ending +< bits +qu ine +ĠAdv oc +_S N +ĠHann ah +PO P +Ġem itter +Ġc yn +ĠC AD +? ). +/ set +ĠS ister +ĠEnd point +Ġmen or +Ġinter p +r k +id le +Ġout fits +. vertex +Ġc lic +ARE N +Ġpost ure +ĠOpport unity +v x +ĠFor bes +.D irection +Ġres ide +Ġremember ing +nest y +Auto resizing +pro viders +ĠA H +Ġhur ting +ĠL ily +eval uate +lij k +p apers +ĠSm ash +ĠL AST +Ġwell s +w asher +_RO LE +ĠD anger +* (( +_re pository +ĠRes olve +ĠRoom s +_R G +ĠQ T +o op +ĠHe ap +Ġslow ing +Ġgrat uite +_c atalog +Ġpol ynomial +L y +pc s +F ox +ĠC yr +Ġdim in +/ month +S alt +Ġh ind +.P ER +For um +c en +_p ol +íĺ ¸ +Ġin ser +( ~ +@ test +ĠGold man +Ġupload ing +F c +Ġkom mer +Ġm itt +_log ged +Ġbu cks +-l ayer +) };Ċ +ĠO M +Ġv eg +col our +Ġоб ÑĬ +Std String +_ que +ĠT ian +Ġspecial ize +и п +Ġк л +tr ial +- edge +Ġm ars +OG LE +Ġempath y +ĠB om +Ġcoll isions +Ġcart e +ĠTe il +ĠM PL +Ġporn ô +Ġa irlines +A ws +N s +ĠSp awn +( use +é» ĺ认 +Ġy acc +st or +Ġconf ess +Ġpe que +r age +? "Ċ +/dat atables +ĠSh ower +__ / +Ġcryst als +Ġbus car +ĠH aus +iz ação +_ entities +ķ Į +ļ Į +x cc +v irt +-che vron +( Result +c ake +COM E +Ġprohib it +ĠCh ess +Ġbe aucoup +ĠÑĩ ÑĤо +R UN +ĠI K +ó ÅĤ +_ Update +Ġsle ek +ĠSpec ify +_c redentials +ÅŁ t +ĠUser Name +ĉ Value +Ġarray List +Ġex changed +ips is +.re lated +ĠSe ite +_B AR +ĠL em +ĠW ATCH +ĠC lients +Ġ. * +ĠEar l +-re port +Ġforeign ers +Ġstrengthen ing +ĉ Description +(g o +.tool bar +Ġcalcul ates +ĉs ource +Ġcz as +Ġre cl +ab o +Ġlocal host +Ġ^ {Ċ +.P op +ĠDes igned +\ Abstract +H old +ĠGuid elines +ipl ine +Ġc aching +.Re ader +_ext ernal +.str ptime +ĠWeek end +-M ar +ĠBe i +Ġ{* } +ĠR ud +Ġexpl or +ĠBou levard +C ash +Ġprep ares +Ġserial ization +ew ater +Ġad c +: ĊĊĊĊĊĊ +Re fer +Ġsc anned +} }ĊĊ +ĠF ul +Ġtour ing +ãĥĥ ãĤ¯ +> (( +sur vey +Ġí ĺ +... ')Ċ +ĠDiv ider +os l +_C ANCEL +_pre pare +st in +ĠHe ath +.Primary Key +ĠâĨ IJ +ĠLocal DateTime +Ġcooper ative +L earning +.en queue +Ġgo og +ĠReg ression +im ates +Ġvoy eur +ĠDr ink +pl ug +Ġl ender +man a +Ġperson nes +yp se +Ġun link +ĠRav ens +Ġhur d +Ġperiod ically +ARG S +ĠG H +char acters +... "ĊĊ +- establish +Ġd n +( condition +ĠGr avity +Ġest as +_f ocus +Creat ure +(s ite +Ġc arr +ĠR L +ĠR I +ĠM oto +AS F +ĠLuck ily +ĉ Route +Ġent ropy +(" ," +Col lect +( contact +ĠFlo rence +Ġpremium s +Ġlif ecycle +Ġb ans +x ef +Web Kit +ĠFlo ating +Ġcos a +Spec ific +ĠLo ans +b read +Ġdes criptors +Ġ{ :. +TH READ +ĠT rent +Ġsc op +Q A +ĠAnt ar +p el +_d ifference +_ch anges +(... ) +ĠR otation +ĠLG PL +ĠJ UST +(T ask +_sub set +ĠTR ANS +åĬ Ľ +ĠSc out +-p opup +Ġsm oked +_C lass +Ġturn over +br akk +ĠRock y +t as +.Regular Expressions +ĠElli ott +ĠSp inner +DU CTION +Ġlib re +Ġmol to +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ +ĠF TP +m peg +(f eatures +Ġb ald +ĠV id +Ġsh outing +L int +Ġsock ets +Ġpro w +Ġnouvel le +isc ard +ĠS ponsor +Ġconsult a +)) ); +Ind ian +ĠR aspberry +Ġteam mate +ĠJ WT +ĠGh ana +Ġc akes +pr imer +form a +erg arten +_M anager +Ġpre season +G AME +| " +ĠBro ck +Ġoccup y +Ġdecor ations +á nd +Ġc ot +Ġpar an +D isk +rem ain +> ? +Str ong +Ġfr ance +ĠE ra +-c r +.Buffer edReader +ĠParad ise +ĠV AT +ĠAnd ers +Ġlim b +amp oo +Ġimper ative +UT ILITY +ĠRec ognition +Ġragaz ze +Ġpop s +yp ress +Ġemb argo +// {Ċ +Ġsy ll +P TR +åŃĺ åľ¨ +Ġdid nt +Mail er +Ġacad emics +ĠFra uen +ne ider +- rel +Ġrain bow +( In +Ġslic ed +============ =Ċ +(s end +NSMutable Dictionary +v os +(p ackage +Ġord inance +view er +ĠSant os +-s elling +Ġgo v +ett le +Ġfound ers +Ġw aking +sl ashes +-p ound +re cht +ا ت +.on Click +Ġn ord +st änd +_ when +UT ERS +ic c +Ġcaps ule +ĠW id +M arc +ภ¸ +ro red +UG E +LO UD +ĠAud it +ip ients +op ian +ĠS ue +Ġwur den +.H elpers +Ġf actions +[ np +-th an +Ġre co +Ġk as +Ġcmd s +/n etwork +xb f +get Color +Ġbi ased +ĠL ak +D atas +vent s +Ġë ² +_P S +. Validate +Inv oker +Ġne uen +Ġju venile +V ISION +Ġdev ote +Ġlin ha +Ġdiscount ed +\ Config +Ġworth while +Ġskin ny +ĠC ourses +le ys +ĠMort gage +K evin +Ġannounc es +]) * +res ervation +Ġæķ ° +Ġprejud ice +ĠString Comparison +Ġbe ard +-w in +ĠS ão +ĉ ms +j al +ĠE arn +_ ports +ĠN ombre +_C OR +ĠB UILD +.s ound +Y ellow +Ġlineback er +Ġchar itable +j ug +_NON NULL +ĠD ental +"> ${ +ĉm atch +R ussian +Ġvers ch +Ġp inned +Ġadopt ing +Options Menu +P ag +Ġpair ing +Ġt read +erc ises +ĠSp read +) i +ĠB AD +_t f +UI ImageView +pop ulate +b ab +ĠÏ ĥ +[ ++ +Ġopi oid +Ġ## Ċ +d type +ĠStart s +('/ ') +Ġperson als +-mark et +Ġredund ant +ĠEss ential +Ġscrap y +Ġи м +a cl +Ġcre ar +ĠB end +Ġrel ieve +- room +w ife +Ġv Ãł +ĠQ Point +Ġqu asi +Ġmethod Name +\x c +ĠPer u +/ The +. orm +Ġv iz +/p df +Loc ated +Ġconfront ation +ĠChampionship s +Ġhyp ert +Ġd j +ĠUser Info +ĠåĪ Ľå»º +\x b +(s im +Ġ== Ċ +Ġst aging +Ġdr astically +åŃ ¦ +l ords +. less +вед иÑĤе +ĠB ucket +ĠM am +. term +_p i +c zy +.p ub +prec io +ĠV irt +Ġrom an +it at +L ex +_inf os +Ä ° +. other +VE LO +Ġp onder +Ġh anno +( Page +do i +Ġpol ite +Ġprogram mer +D ies +$ d +Ġrep lication +add Column +fr ican +Ġl eng +be er +o it +Ġw asting +yl im +me asure +N eg +Ġpart ie +.con sole +ĠGu inea +TE L +_f act +.ch unk +Ġl ent +Ġall er +Ġठķ +_id le +Ġad missions +JSON Array +Ġv ibration +.h elpers +å¤ ĸ +Ġh en +j ohn +Ġì ĥĿ +Ġjud gement +Ġge en +ter ra +^ { +ĠI z +Ġc â +inst ances +Ġthreat ens +Ġm üssen +Kind OfClass +Ġstoryt elling +_d emo +ri as +Priv acy +h ift +ĠY i +es or +íķ ł +ens itivity +.W riter +ภĤ +D istrict +.get JSONObject +Im pro +(get Resources +ĠS PELL +rodu ce +Ġslow ed +Ġlin ewidth +Ġhonest y +ĠCo ord +ĠF ork +ĠDispatch Queue +ĠCl iff +ĠW iring +_TIM ESTAMP +oll ah +av oid +++ ];Ċ +sem antic +-c ss +Ġv eto +ĠM err +Ġlegisl ators +CEE DED +Ġquestion naire +ĠP ills +Cal culate +(c ore +' e +Ġdis like +ĠPre ferences +_EX TERNAL +è° ĥ +Ġd odge +æľį åĬ¡ +.n ames +.draw Image +_p rom +uck land +Ġ<$ > +ı z +/s ite +é¡ ¹ +rop he +Ġcomp elled +Ġl aptops +Ġun i +C LOSE +Ġcasual ties +ĠUn iform +Term inal +. "," +D AT +(T reeNode +ĠGand hi +(st mt +AX B +* M +Ġumb rella +an imal +Ġgr pc +Ġwhere by +Ġfloat s +ĉ arg +Ġdb g +Ġexceed ing +Event Type +.SaveChanges Async +Ġ{ {{ +Ġow ed +ahren heit +Ġì § +Ġequ ipo +ur ai +Ġid ol +] ")Ċ +_m ajor +Ġentire ty +inger print +ç os +/ account +ĉ right +urs os +ĠE DT +_INS ERT +Ġsh ining +Ġ< : +Edge Insets +Ġcolon ies +. IM +ĉĠ ĉ +RO AD +CC CC +pl acing +Ġget Activity +em acs +' %( +.click ed +ĠTh em +is ia +Bus car +.re name +Ġo ath +Ġafter ward +ĠU FO +AP S +ĠJackson ville +.s ome +Conf irmed +.s can +ig Integer +Decor ator +sh ield +ress ive +.d id +请 è¾ĵåħ¥ +Ġsh utter +D am +Ġparent ing +ey ed +$ item +-de velop +Ġextract s +Ġdecentral ized +ĠEl sa +_sp in +]) + +-in itial +Ġmult itude +Ġsens ory +ĠMODE L +Ġsafeg uard +ì ¹ +Ġhunt ers +ĠT iny +IN O +decor ate +ĠNo Such +H o +( Response +Ġr uler +ĉ short +Ġc aster +Ġclient Id +Ġp db +ëı Ħ +it ic +ĠGame State +Ġnew Item +)ĊĊ ĊĊĊĊ +ou is +n oc +.BL ACK +_V ECTOR +---------- (); +.get P +any e +Ġneur on +if old +ĠK nown +Bit coin +Any way +ay ette +Ġ' [' +Ãł nh +m gr +Ġcor related +Ġn ause +Ġment ality +has Many +ĠF G +amp ie +IT U +F s +.S p +_b etween +Dep endencies +ou g +Place holder += text +ĠMan aging +ocal ypse +åĮ Ĺ +_m ag +f ld +â ij +C AM +ĠHelp ers +Ġd ost +/ out +Ġassass ination +.get Image +ĠKenn y +.' )ĊĊ +){ // +ĠR anger +Ġg ek +Ġsinc ere +< Value +ĠD OT +ĠVict ory +Ġleg ends +Ġpr isons +(ex pression +ĠR abbit +_s entence +Ġbit es +Ġon Failure +ĠâĪ Ī +K im +.g ender +ĠÎ » +Ġ[ . +"] ); +land ing +-d igit +TE MP +ĉ entry +Ġstrt ok +Ġdesc endants +um no +Ġlean ing +Ġspecific s +q n +ĠSp art +Ġpor r +EDIATE K +Ġse per +' aut +ĠSTE P +ĠBorder Layout +Ġret ros +ĠSalv ador +ĠEN GINE +x dc +T weet +v k +Ġì ² +] << +het ics +c oding +Re ach +.re q +gu ide +.s cope +sh irt +rog ate +SET TING +ĠProte in +Ġe ing +. EMPTY +.d f +Ġclear er +Ġc rossover +ĠTo ys +Ġco ated +.M onth +ĠAtt ach +/ run +.t abs +Ġogs Ã¥ +B rown +.D ATE +Ġf os +åŃŠ符 +W ood +-th ree +her ited +Ġ rop +( ac +Ġembod iment +ĠKenn eth +Ġcan non +Ġb idding +čĊ +.get Resources +Ġl ump +_const s +( ext +ĉd ir +â Ŀ +Ġpadding Top +Ġobs ession +Ġb anning +ĠApp Module +Ġpart isan +Ġcatalog ue +Ġmin ors +Ġpitch es +we ep +Ġundert ake +Ġthem ed +aud it +.scroll Top +Ġr er +Ġsympt om +Ġopen ings +.block s +open id +Ġas sh +-s ave +ĠP ig +Ġreg ain +Ġin icial +/f avicon +ĉ exp +Ġsp ices +isk a +claim s +m ak +definition s +Ġcorrespond ent +ĠCann abis +__ ,Ċ +ĠL ucky +ĠGa ussian +ĠN early +C AD +'] ]Ċ +Ġadequ ately +ĠT ITLE +constitution al +-m m +_ override +Ġbl as +.ready State +Ġremin is +Ġrein forced +ĠColl abor +Ġdecor ating +Ġb achelor +ERRU PT +Ġup right +ip ation +ĠNob le +Ġvalue ForKey +Ġset Loading +.I gnore +å ģ +G lobals +ĠM ent +AS SES +Ġlim bs +ĠH UD +inc i +. iv +ĠQ ModelIndex +F use +Ġped al +_F REQ +( verbose +Ġlong itud +ĠChar ter +ê ·¸ +Ġbund les +. ignore +um bo +EM A +.... ... +s x +.C ard +Ġhe ute +Ġste er +j umlah +Ġ{ _ +_Check ed +Ġf ax +ĠG ust +itch ens +Ġ ))ĊĊ +Ġremark ably +/ XML +- remove +_b t +Ġinc ub +.p ackage +.current Thread +ĠHigh lander +.s ide +s plash +Ġ ici += D +Ġp uck +Ġball ots +Ġhug ely +co eff +Ġp Data +.C OLUMN +ĠHe aling +Ġord in +! ), +Ġ' ',čĊ +(m d +ĠS ask +< strong +Ġsurviv or +.s eries +Ġcaffe ine +Ġ` ( +.TRA ILING +_ Input +(" ^ +z d +& );Ċ +ĠP ing +Ġv oucher +.r ating +-sh irts +ĠRetrie ves +.al ibaba +Or acle +_MO V +Old Data +Ġ/* čĊ +Ġg boolean +Ġ=> čĊ +Ġr á +Ġbl unt +ĠImage Icon +if ik +RT C +Ġfib ers +Ġto ile +.s ent +ĠPy Qt +$ app +Ġmed io +Ġgrant ing +Ġtsl int +ĠM ö +(fig size +Ġhur ricane +Ġlif es +Ġà Ħ +rocess ing +_st andard +- option +')) ) +Ġvac ant +å· ¥ +ĠH ollow +handle Change +Ġdiv ider +ĠEngine ers +Ġsv ens +Ġcompl iant +t anggal +ĠC redits +ĠEm irates +Rule Context +Ġreal ization +Ġdistr acted +]+ = +Ġaug ment +ĠD w +ot p +or rent +Edit ar +.st ock +St udy +pe ctions +ĠGame Manager += cut +Ġf lock +ĠRom ans +th em +-h op +Ġscreens hots +Ġ/* !Ċ +Ġconvers ions +Ġnormal ization +(config uration +Ġa eros +_se curity +! 'Ċ +B onus +ĠDR IVER +ĉ Date +t ie +ĠWy oming +St and +it re +Ġsh oppers +Ġdisadv antage +Ġlik ing +ç¬ ij +Ġunderstand able +SE E +Ġh oy +Ġnin ete +Ġcon fer +Ġnow rap +ĠV ern +, čĊčĊ +imest ep +Layout Manager +à · +ĉw ait +PLE TED +J apan +Ġindu ce +Ġå ¯ +оз в +_END POINT +.h orizontal +Ġacceler ated +rim on +IV ES +Trans actions +Le an +ĠSO UR +wh ether +y g +Ġo id +ĠEntity Manager +OUN TRY +Ġfil a +OLUM NS +IN UE +ĠAn chor +TR AN +wo o +block quote +ĠN urse +ĠCar p +Ġrede em +. try +ĠJ P +Ġtimestamp s +Ġ?> ">< +ĠREM OVE +ĠStar bucks +Re ally +Ġflood ed +.C allback +Drop Down +ip ro +Ġt ended +l te +Ġproport ions +- te +ĠR ena +lic ate +for ces +.ex tra +.auth enticate +в од +¡ ° +Ġfor ControlEvents +Ġsen ha +Ġke in +Ġmin ist +ĠPre ference +ĠTele graph +Ñĥ п +str pos +Ġillness es +Ġp igs +Ġget Intent +S ol +Ġ ¡ +(c pu +[ prop +s creens +'); ?> +ĠAct s +Ġstr dup +Ġaver ages +an al +ĠCas ual +Group Box +ĠHand book +/ comments +Ġnumber ed +Ġbroadcast ing +çĽ ij +.native Element +.m u +Ġupdated At +ĠDoes n +.A C +.c oll +Ġrec order +_sh a +B g +b il +Ġbol ts +Ġç ¬ +Ġim posing +ĠInformation en +_flash data +e conomic +Rem ark +uc as +ĠOff icers +ĠT ER +W alk +Ġmerc ado +_g enerate +H Y +Call ing +s nap +script Id +. operation +ĠFl ame +l iness +Ġrent ed +_t oggle +-ch anging +ĠT Y +' util +EE P +Ġgraph ql +ĠUn i +Ġimp ulse +.B asic +Ġenerg ies +M ARY +ĠMar cel +Ġmort al +Ġf res +m ens +m otion +Ġsample d +âĢľ That +id ay +qu ipment +get Int +ĠA bsolute +,' " +un ed +.sh are +Ġ} )( +mm m +ĠR ising +ä» » +Ġun employed +x fa +.f ollow +ĉĉĉĉ ĠĠĠĠĠĠ +sl t +.P hone +Ġkn ives +Ġe ve +on Click +] ))čĊ +ĠW itness +ĉ NS +ĠE OS +ĠSte fan +ĠPri est +âĢĶ which +Get String +. By +Ġup stairs +Ġdetr iment +bro ken +emb ro +Ġnic otine +il ion +Ġaston ishing +_ aff +ĠLess on +Ġaccident al +od or +Ġdec ir +Ġnew Name ++ . +çĽ ¸ +igs list +ĠG ithub +Ġsuccess ive +rac ial +Ġen viron +éªĮ è¯ģ +Ġredirect ed +T OTAL +Ġgrab bing +ĠL ance +Ġfor fe +_C B +å¾ ® +El apsed +_w ay +(Dialog Interface +_me asure +x bb +D og +Dep art +-s rc +res olver +with standing +_sh ell +ĠLast Name +ĠAv iation +Ġbegin ner +("% . +(to ol +Ġн ов +: init +(A PI +ĠMorr ison +vt Color +Ġstap le +/ INFO +Ġsupern atural +Ġste ak +tim eline +zz le +" `ĊĊ +Second ary +ĠNep al +.String Utils +Ġad am +Ġ( ... +Ġsub stitution +Ġboard ing +ĠKey word +ĠAss ault +dbc Template +Ġorder Id +( engine +.assert That +ĠVen us +Ġhomic ide +ĠA val +Ġg utter +ĠSupport ed +/p art +Ġac claimed +H istor +Ġmes es +ü ber +ĠRen ew +Ġgr as +ĠE k +Ġin file +ind y +.m usic +.S croll +ĠA ges +ĠNar uto +ĠG ather +Ġconfirm ing += (" +Ġpitch ed +ole y +Fr ance ++' " +$ total +Ġon de +Ġd itch +_s igma +Ġcontinu ity +re ward +- load +Ġproces o +Lock ed +st aw +Ġsp inal +l azy +! == +j est +Ġd un +ĠRod gers +ĉ grid +Ġlog os +ĠBeng al +.s uper +Provid es +Ġnut rient +.T imestamp +IZ ATION +åĨ Į +Ġf ats +ĠX xx +ct ica +Target s +Ġcont ours +Ġre ordered +: Array +Ġtoler ate +V ir +Ġter ribly +Ġbr icks +(& _ +h b +Port al +ĠB read +. which +ÂŃ t +as InstanceOf +Ġj object +ĉ length +_M T +; ">čĊ +_EX IST +Ġmat ernal +RE L +Ġê²½ ìļ° +he e +Ġlayout s +ĠL ap +ais y +Ġst umbled +ĠU IG +ĠS co +Ġimp aired +RES SED +Ġab uses +V F +AR B +.N AME +r ch +prim ir +_com pleted +Ġp enny +Ch rome +(b egin +ern en +- checkbox +Plain OldData +ĠL PC +r ade +sp ir +Ġcon ceived +T ips +ĠIo T +ĠG an +èģ Ķ +Ġbi ases +Ġconsult ants +ple d +_ ht +associ ated +], ĊĊ +Ġdelight ful +ĠÑĤ ек +Hel vetica +( load +-exp and +_W IDGET +to a +ĠA kt +Ġom n +Ġcl auses +Int el +*/ }Ċ +_reg istration +Ġold Value +Ġrest oring +Ġun real +O VER +ĉĊĉĊ ĉĊ +AT S +_pro be +Ġdiv isor +.update Dynamic +å¹ ³ +Produ ces +st amp +.j boss +ĉt ask +! (: +Ġpsych ic +@ class +M artin +ĠPass ed +clar ations +h el +а Ñĩ +ĉc opy +-b in +z an +ig ram +া ঠ+(s ig +ĠC aval +_ ## +Ġ% = +out lined +ĠAc id +Ġunpredict able +-d ashboard +Hex String ++ c +.P ublic +Ạ© +Ġconvey or +ĠE B +Ġselect s +Ġknock ing +ĠC ec +IBUT ES +owa Äĩ +g atsby +* v +ent ropy +Ġdispatch ed +Ġcam el +ĠSat urn +Ġover weight +( phone +par able +% B +_v ectors +Ġbrew ing +ĠT k +ĠDownload s +ĠS aved +.Pr ice +Ġcur ved +ĠParen thood +è ¶ +.p nl +plet ely +.D ay +Ġadvertis ers +Ġej ec +Ġpr zed +ë ¯ +! ';Ċ +ĠK ush +ĠT AB +Ġquest s +Ġcoinc idence +umm ies +ĠKash mir +ĠEth ics +_g rowth +Ġakt iv +Ġgroup ing +å¢ ŀ +_tr uth +åIJ ¬ +t odos +is et +Tex Coord +ä tt +ĠZ ur +ro ys +_M AGIC +Ġbrew ery +( State +ĠSM ALL +ĠPl ants +it bart +each er +ĠAd elaide +L u +Ġf ick +und les +_load ed +и е +P oll +rit ic +EL Y +Ġ+ ' +ĠProf ession +Ġst amps +ĠS ew +scroll View +Ġcomm unist +/pro blems +}čĊčĊ čĊčĊ +, o +Ġu dp +Ġob ese +appro ve +ancell ation +_G ame +ĠHas htable +adaptive Styles +Ġpossess es +.match er +function al +M rs +ĉs ave +ĠDb Type +Ġk en +get Context +Ġm ans +( rel +ĠBrother hood +) `Ċ +è§ £ +.In formation +OutOfRange Exception +ĠS ek +C as +Ġblog gers +E ither +(" "" +Ġpin ch +Ġco arse +) p +ĠP ulse +Ġlear nt +Ġdent ist +Ġon change +Ġdirect ives +( actions +ny der +ĠSh ir +T rait +_de p +ĠP ET +ĠRE P +.App Settings +cu ador +iden av +Ġenv i +Ġsl ammed +ĠSh oot +Ġdate Format +.j oda +ve ys +Ġ) .ĊĊ +Ġcare g +ĠPar allel +_ translation +.function s +. obs +Runtime Exception +[] = +over view +ĠSch l +Ġno isy +ĠOn PropertyChanged +S ending +Ġunf amiliar +U pon +ĠPrint s +.t yp +Ġflee ing +ĉm ove +( Un +Ġq r +× ľ +_b eta +Ġsk ies +ĉm e +W ND +Ġstick ers +bl as +Ġinsert s +Ġvers es +ĠD ew +Ġtang ible +Ġhe cho +P OL +Ġte ardown +om nia +IB E +.c over +_str ategy +^ - +set Position +u ale +S igned +Ġif ace +as eline +.set Time +ĠMin eral +ĠFight ing +sk ins +Ġdiscrim in +Ġdans k +ĠPr inceton +ac ist +Ġ( ));Ċ +tr acks +imon ial +ad ecimal +EP ROM +ugg le +.Not ification +$ mail +c antidad +ĠJ ung +Ġseek ers +Ġpl ausible +t ier +еР¶ +Ġr apper +ĠMan a +ĠHttp StatusCode +Ġburn t +los es +ĠF oto +ĠJson Object +Inst agram +Ġsys call +Ġreal ities +ĠMAT LAB +:^ {Ċ +TER M +ĠC bd +ĠPar agraph +Ġtrav és +Ġconstruct ing +Ġsw al +Ġp ige +LL LL +-ex isting +G ets +Ġmelt ed +Ġmitig ate +H en +Ġh m +im as +ĠA o +ĠP erez +ĠD AL +Ġëĭ ¤ +Ġdiv is +Storyboard Segue +ĠMod ify +ĠÃľ ber +_O VERRIDE +.p em +unt os +Ġespa ñ +Ġ{ ? +ĠP AY +_ip v +ĠF ury +__ .__ +el ow +-center ed +check s +_ Reg +-J avadoc +ĉ load +ĠLik ewise +ا Ùħ +UN E +.se m +x cb +ĠC ave +_s leep +Ġsil ently +ĠExt reme +.To Upper +ĉC HECK +Ġc ue +ĠQ ByteArray +Ġcorrupt ed +ĠD é +Ġimp ed +Get Name +Ġinaccur ate +Ġso ber +е е +Ġbar code +-- ){Ċ +ink i +Ġé p +Ġd ri +ĠAL T +>>>> >>>> +ont a +[ L +Ġinter es +ver ting +Ġdi agnostics +p dev +è © +ĠIntegr ated +). ' +_g c +$ text +.g ames +ĠT erra +' Re +.trans fer +_F IFO +get Model +Ġbl and +ĠCole man +Ġpr imes +Ġæ Ī +Ġcross es +n k +G ING +Ġ' ^ +ĠB lob +Ġinter course +ĠBl vd +Ġweigh s +_reg ular +ĠPer th +Ġsepar ating +Ġb illed +.tab Control +Ġpup pet +Ġutil ization +Ġâĸ ł +Ġsucc es +Ġl amps +_pro j +E ric +Ġren ovation +ĠFam ilies +ĠB its +part ials +-M en +s olution +Ġd warf +.IN TEGER +ĠLO CK +. ct +Ġexcer pt +ĠP ix +ĠFirst Name +ANT ED +ĠAd mir +-h elp +P rior +ĠAl ign +.IN STANCE +Line Edit +('/ : +Ġin et +od us +.p kl +ĠK Y +up ert +Ġn erves +_grad ient +} ',' +_un ref +Ġs aturated +ĠConn ected +ĠF N +EX IT +Ġtele port +Ġav ait +Page Route +Ġdivor ced +(l ang +f st +ĠT yr +Ġmess enger +if stream +X S +ĠBank ing +Ġinfect ious +ĠM ons +_LO OP +Ġzur ück +Ġobt ener +/re pos +V el +ac ro +Ġuser Repository +style Type +ĠS RC +VML INUX +rec ursive +/ bar +_ch ip +omin ated +ĠN it +âĢĶ to +ĠBudd h +ом еÑĢ +ĠM AG +ĠC HE +_d en +. raises +_de gree +Ġpump kin +_tem plates +_M EDIA +ĠTim eline +Ġb ots +Object Type +Ġbu ys +.post s +C AL +wait ing +ĠDani els +Ġd abei +ĠS igma +il or +ig el +, W +AD S +( panel +ì² ´ +it ating +.p alette +Ġmos quito +Ġt ego +(parse Int +Ġdes pués +p romise +Ġw ij +types cript +ĠT v +_IDENT IFIER +).ĊĊ Ċ +_fl at +its u +US R +ex perience +-f it +ph inx +_th resh +Ġide ally +ĠFre eman +, DB +_r w +çŃ ī +U b +_stat istics +=" ">< +Ġch ore +Ġy ork +inst alled +Add itionally +Ġp stmt +yl ko +:: Ċ +Fore st +Ġhead set +Ġgall on +ÑĢ ÐµÐ¼ +Ġwithdraw n +ĠC andidate +Ġmel ting +Ġfree zer +Ġh l +_HE LP +m ime +( /* +Ġth irst +$ return +member of +еР± +ĠHttp ServletRequest +( ob +_ Result +Ġassert ed +Ġfulfill ing +Ġstret ches +par ated +-f unded +Ġå Ľ +ing les +_c a +. condition +ĠDis plays +Ġor ang +ĠC RE +Ġgl Bind +ĠSelect or +/ type +ĠAlex a +ched ules +ĠPen insula +Ġpar ity +ĉ dest +ĠDo ors +čĊ ĉčĊ +_dim ension +Ġa load +.St oredProcedure +(p aren +ĠBur ke +') ]Ċ +- engine +Ġqu ir +ĠHy brid +ĠDo e +Ġout lines +ĠTrend s +_N V +per iments +ĠH in +? ', +ĉ Text +F UL +Ġsm ells +Ġs lick +Ġmis erable +ĠArray Adapter +Ġparam String +H om +_l iterals +us uarios +Ġprompt ing +_l azy +ĠActiv ation +_ oc +We ak +Ġan ecd +ĠU CLA += re +isse ment +ĠEsc orts +Ex cellent +ĠP ause +Ġre positories +T OR +ari ate +_is o +up dates +hal b +udi ante +ë¡ Ŀ +Ġna ive +ĠP eg +ĠL ounge +ARG IN +(b in +On ClickListener +ĠFA ILED +Ġl ite +Ġd zie +ĠL iteral +iv or +fc ntl +Ġe ats +Ġq ed +Un lock +rid ing +und ai += M +AT TER +Configure Await +ici as +ustom ed +Ġsuccess ion +end Time +ĠJ upiter +Ġjud ging +d ration +_d ocs +.m o +Ġeduc ators +ĠV ine +Con d +[ out +q b +\ Validator +Ġmean ings +Ġpresent ly +Ġdiv iding +otten ham +asc ular +Ġtrail ers +ĠC LOSE +ам и +âĢĻ ai +ĠG ain +w or +Ġpl anner +Ġdistrib uting +v at +month s +x label +H F +V iol +.BASE LINE +еÑĤ ÑģÑı +ĠR otate +Ġtx n +: bold +Ġb loss +Forg ery +( embed +Ġjak o +s printf +the ir +Ġexhib its +- static +he cy +get ActiveSheet +.c lients +ãģ į +_h ide +[ word +C b +add Item +ax e +_r adio +al ion +mod ifier +Ġsat uration +Ġden om +_p ixels +m ess +(f l +at if +Ġse cs +Ġpro stitution +Ġgrand children +Ġparad ise +ĠF eld +_B INARY +it ous +๠Ħ +Ġflash ing +-s ided +Ġcontrad iction +/* ĊĊ +y label +ĠT et +Ġadm ire +res o +Ġlet z +ĠSE ARCH +sl ots +ĠRew ards +ĠH og +ĠNS Data +st ash +F all +ĠA mer +Line arLayout +/ photos +Ġfe ather +Ġ| čĊ +Download s +.Start sWith +Ġ// # +ine Transform +Ġaff id +V tbl +ĠRog ue +scri bed +Ġfa uc +ĠMon roe +Ġdecl ares +mod ern +re on +ay be +P ASS +f ers +_MULT I +ĠMath ematics +Ġsud ah +_ATT ACH +Ġnumber With +ĠSol omon +j in +ograf ia +ö l +_d esign +cul ated +ĠL una +ies z +Ġ=> ' +Ġrevel ations +Al ong +( ed +ĠF ilename +Ġy label +Sec ure +Ġbus ca +agn osis +_RE CE +Ġoverl apping +Ext ent +Ġanticip ation +Check s +ĠALS O +or c +iling ual +it ational +Ġadv ancement +ou ro +ĠP redicate +å¾ Ĺ +er ia +ĠPier ce +or io +Ġmer its +Ġpe anut +.P ackage +ĠCon duct +_SENS OR +Ġbo iling +Ġin tra +ĠI GN +ĠF ur +.Ref resh +ĠRe ach +_dec oder +.Ex p +ĠÑĤ ак +p ill +, Q +ĠGr ill +Ġpop ping +.A g +Ġpro yecto +Ġmile age +Ġec ological +] ]);Ċ +ĠÂ Ń +sub plot +ac ad +ĠTry ing +rec ipes +$ criteria +ĠPers ian +-b ound +M ASK +ĠG esture +Ġk k +ĠP VC +Ġprohib ition +Ġcom ando +ĠLO OK +Sh opping +Ġdist ortion +< Boolean +.Get Length +um pt +\ Product +ell ery +Ġfire wall +form atted +.red is +Ġes a +ĠRh ode +S om +.n on +Ġ' ). +Ġget View +ạ n +pr us +Mat thew +Ġs ia +ĠF ors +G PU +ient ras +_IN ST +Ġol arak +Ġimport ing +T CP +/ ");Ċ +e ither +Ġfresh ly +c ascade +(char acter +ĠJe ep +ot ics +_ UTIL +.Xtra Printing +.first Child +ĠEx cell +Ġd vd +Ġt aller +Ġr as +yp ass +Ġassign s +Ġgri ev +-m ore +J D +ĠBurn s +' >čĊ +.D ependency +.Query String +.O wner +Ġexp iry +Th u +( Vec +Ġhazard ous +Ġr pm +AP ON +Ġadd Target +sv ille +p Net +ĠIm g +ĠTIM ER +.An imation +Ġbe k +Ġass ort +Ġle bih +Ġbody Parser +Ġvibr ating +ID L +Ġbutter knife +int ers +Ġpersu ade +ĠLGBT Q +è ĭ +.s oft +Ġbe ams +_s ur +.D ef +Ġl abs +ĉ plt +Ġsk ins +Ġtransf erring +Ġimag inary +_E nd +; background +Ġl aps +_COM MENT +(S DL +ond s +.Rec ord +ĠIm plements +_t icks +() ))ĊĊ +Ġa rose +] ? +ĠM p +ĠI Command +Ġsculpt ure +Ġcontract ed +< HTML +Ġcal end +at y +/ Sub +Ġkv inn +_ IGNORE +ĠSh ane +ML S +Ġstim ulate +Part ition +Ġm un +ó m +eral a +- account +.B inary +c é +Ġse ize +connection s +ĠĊ ĠĠĠĠĠĠĠĠĊ +ĠDi agnostic +V ISIBLE +ĠRun s +Ġimpress ions +s uite +ob le +~ - +ak ukan +< Person +ĠN os +ĠG ui +.wait For +RE SET +Ġpost pon +Dis cover +arr ison +sh aw +b lood +AJ OR +æĽ´ æĸ° +ĠM use +æĶ ¶ +Ġret aining +ot te +Ġmos que +ĠS ne +Ġstandard ized +Ġmain land +_th ree +unge ons +get Doctrine +Ġwh ale +Ġag g +ĠP orsche +now led +lat ent +ĠRel ation +Ġ// ' +Ġshut ting +ĠRem ix +_c ov +Ġs ailing +Ġv owed +Ġp ots +out u +Ġhair y +cast s +Rel oad +Ġre connect +ter a +.child Nodes +ĠR ack +Ġcurrent Index +Ġall en +Ġ ç͍æĪ· +ĠC ubs +[ X +_SE Q +_RE MOVE +.get Action +(/ ^ +err ar +Ġ ether +cur ve +Ġsl ap +Ġu om +O thers +Ġen gr +Dis position +Ġst aged +E ye +ĠA ux +auth enticate +Ġ$ ? +ĠAndre as +Ġset w +.A rt +Ġforecast s +Ġa unt +-m iddle +Ġmis d +des k +Ġescort e +ĠCas a +rop ical +Ġexem ple +plan et +(U INT +Ġwh ip +ĠPC B +clide an +=" \ +Ġox ide +Ġsucceed s +der ived +ĠEcon om +_co ordinates +ir as +D raft +Ġvisual ize +B rian +_ASS UME +ĠObject Id +Ġtrain ers +_FOR CE +Ġcon soles +- process +lic her +ĠSim mons +T aking +ĠCl aims +Ġdiffé rent +Activity Result +Ġsn s +éĢī æĭ +ĠCr us +Ġll am +r ab +ĠJo an +AA A +ĉf ilter +ish ops +get ting +à µ +Ġquant o +P ast +ov ich +Ġin justice +ĠF LOAT +Ġal right +\ DB +( GameObject +u ish +(b ot +Ġgall ons +ĠR é +ĠS aid +ĠSTDMETHOD CALLTYPE +ais ing +_process or +ell idos +ter dam +ĠBe am +Text Area +Ġret orno +.M ake +Ġ$ ("< +Ġlock down +Ġremed ies +Ġve el +x ee +do ctype +F il +ĠExp and +Ġemp loys +Ġsession Storage +Ph p +P ublish +Ġret al +f abs +ynam ics +Ġtoss ed +ĠnumberOfRows InSection +x path +\ modules +Ġdis astr +ĠM ULT +.M esh +-st age +Ġs df +it ung +ug es +Ġ?> ">' +kin son +Ġк ол +ogn itive +_ li +Ġim minent +Ġaff inity +.sign al +Ġnot ch +ĠSteel ers +max length +K K +ĠEug ene +_P WM +ro i +Ġâ Ĺı +ĠH amburg +.M ust +Ġax e +en ef +Ġamb itions +ĠSpec ies +ĠSt ress +Ġa while +Ġб Ñĥд +Ġwith stand +ĠDec oder +_in ventory +Ġ{ ččĊ +Ġt gt +Ġrail road +W ASHINGTON +Ġnegot iated +N ST +- phone +, U +Ġexerc ising +á» ¥ +_P IXEL +av ors +iter ated +Ġv ampire +ad al +In grese +Ġun g +ject ive +.c ells +Ġn ano +Ġmark down +_R ULE +(event s +Ġl uggage +MESS AGE +ig keit +$ count +Attribute Name +IG INAL +_E nt +ĠB F +ĠCOM MENT +_in i +ĠEurope ans +ĠB elle +åij ½ +) [' +åº Ķ +ĠUse ful +.re ference +() ", +_ grade +ĠK aw +Ġsent encing +Ġsocial ism +mon ster +_L AYER +Ġdee pest +w k +ĠNo ise +### ĊĊ +Ġpr éc +ot le +ÑĤ е +a uf +ib al +Ġcon quer +> Email +Ġamb ulance +O AD +Ġ(" % +ĠF I +.f ixture +Ġter se +ĠĠĠĠ ĉĉĉĉ +Ġsanct uary +ug i +ĠCom parator +Definition s +Ġast hma +Ġl act +Ġhard wood +.c lock +Ġattract ing +ĠM our +(d istance +ic its +Ġbon ne +ĠAC CESS +.Deserialize Object +ĠTyp ed +Ġje u +Ġapp Id +ĠCl ara +ĠH F +ĠRe ich +ipp les +//---------------------------------------------------------------- ---------------- +_del ivery +erial ization +Ġplaint iffs +Sc ient +sh opping +ĠD ummy +ĠW ald +Group Name +Ġins cription +el og +:::: :::: +_ ld +Back Pressed +.R aw +ĠOn Trigger +Ġmuse ums +ĠBe en +ĠAdvent ures +Ġsl ate +Ġlet t +Ġsu nd +ĠG in +ĠMechan ical +.s hip +App Component +Ġdest ined +Ġdw elling +Prof iler +Pre pare +ze ich +Ġsil icon +(h as +Ġ# % +VID EO +Ġcollabor ate +L in +Ġsc opes +( className +(s d +and in +.h am +Service Impl +-des cribed +Ġiron y +st ial +ĠHu awei +(re po +Ġunexpected ly +ĠK ai +.inst all +\x f +Ġexhib ited +_T CP +ĠO x +_CH O +Ġprostitu erte +Ġv ä +Ġsit o +Ġconstitu ents +ĠContin ued +ĠS AVE +r ss +/ message +ub es +Ġmisd emean +Ġtax ation +Ġstory line +h air +ĠFind s +S IG +ver ification +~ = +.h p +Iter able +Ñĭ е +ator i +Ġc tr +R x +_ );ĊĊ +d ag +.p in +Ġp seud +Ġinv o +ÑģÑĤ ÑĢ +_p ix +为 空 +Ġsw orn +âĢĶ or +_reg istry +Ġdis asters +ĠRO I +ĠâĢ ķ +akt u +fore st +be iten +âĢĶ I +ue va +eg t +Ġsp ikes +URE S +ĠRecomm ended +Ġexplo ited +ĠFreder ick +_COMP LETE +ĠDr ugs +!!!! !!!! +ĠR iv +ST OP +RO OM +ĠP ASSWORD +C ookies +.E l +á» Ń +ĠB ert +Ġhash ed +ic ester +Ġdecor ator +Ġquery String +: ;Ċ +Ġ" [" +oto pe +-A meric +ĠMatthew s +UR AL +âĢľ , +Sum mer +f os +_CONT AINER +_A CK +Ġfil tr +_dis p +_ Re +Ġfac ile +а ÑĪ +Ġìķ Ĭ +Ġe ben +Ġspr ink +ĠQ uint +> V +Ġhistor ians +our met +ĠMonitor ing +led ger +c ott +Ġw are +GG LE +c ars +ĠM EDIATEK +Ġvol upt +_ View +HE L +(c opy +(st ats +Ġchrom osome +ĠCurt is +- conf +( asset +Ġhv or +File System +< >();čĊ +oc oder +ĠC annon +) x +ĠSm ooth +ĠS AS +_ ce +ĉ prev +_m ovie +E c +_w all +< Button +ĠF AST +Ġon View +ul an +ĠS UPPORT +Ġgesch ichten +ĠS ons +Im m +$ IFn +Ġfair ness +Ġd pi +ats u +J osh +Equal ity +Ġ} ()Ċ +_ less +ĠR atio +ĠC ats +ĠS tern +Mon ster +Ġmer cury +ü hr +Ġplus ieurs +.des erialize +sc opy +.F alse +) animated +ĠExp erts +Ġ"") {Ċ +.W hen +see also +.un pack +LE M +.select All +Ġperception s +ud ing +ir ling +ĠPrint ing +gram s +ĠFile Stream +erv ille +il og +ic mp +_C ount +Ġlivest ock +- ca +doc uments +Ġpo les +ĉw ant +Ġflu ores +Ġstand point +ĠH uge +Ġradi ans +ĠUIB ar +EDI UM +ĠHistor ic +_h older +ĠMar ines +Ġt ä +.L ight +quir er +ason ry +div ider +ĠFl utter +_f b +restrict ed +ĠEvery body +N ão +Ġkn ot +ĠT witch +Ġhall way +(C ollider +Input Element +? )Ċ +/ off +/ ) +play ed +[ OF +Ġbat ting +_d l +Ġcom edian +Ġé v +ĠD EM +ĠEd en +: white +' ', +Con struction +acer b +Ġtask ed +.man age +Rel ationship +Ġph on +n z +_B GR +Validate AntiForgeryToken +_ air +âĢľ When +Ġgl fw +ĠCon versation +_T OTAL +, Z +Ġg raz +Ġiter able +ĠP ASS +Ġadvert ise +Ġmö glich +/ train +ĠVolk swagen +Ġcreep y +Ġ" )čĊ +QU ENCE +Ġalt ar +Ġed its +comp iled +aw ning +ĠD ungeon +Ġo sg +Navigation Bar +Ġtrend ing +ĠE co +ogg les +cd ot +| - +S ie +ec ret +ĠN egative +ĠL ing +ĠD IM +ĠC WE +ĠCar rier +Ġcar tridge +_us b += os +ĠJack ie +Ġo tras +Ġcommod ities +ĠP resentation +)&& ( +ĠMar tha +ĠCath olics +ĠM ond +об Ñĭ +_ absolute +Ġash amed +pons ors +t al +Ġsad ness +Ġpu ò +F ade +-pre view +ĠRequest s +ĠCal vin +h orn +Reuse Identifier +(pro vider +/app s +ime o +ĉ Class +S amsung +ĠW ORLD +Ġc innamon +dot env +ĠI User +ĠDE V +_C har +.ib atis +et i +/ me +s st +.s ym +ĠRug by +-m aster +aj ar +ĠY EAR +Ġo dp +ĠR oles +Ġbip artisan +ail le +Ġblock er +Ġgre ens +.SE CONDS +Ġbelie vers +ĠL ikes +F LOAT +Ġm ak +Ġg cc +âķIJ âķIJ +(" ~/ +SCRIPT OR +Ġton nes +ĠS ang +Ġtrans pose +enn ai +P red +Ġsoll te +.github usercontent +( print +ĠH ole +çľ ĭ +ad get +Ġprompt s +Ġgen etically +ĠH od +Ġvert ically +_control s +ÑģÑĤ ан +") {čĊ +$ title +Ġ} ),ĊĊ +Ġstate wide +ĠCor respond +ĠAt tr +it ant +Element Type +Ġout ward +Ġfam ilia +( article +Ġbl at +Âł Ċ +Ġgl Get +ĠRe ceiver +Ġ% - +ad am +W inner +Ġtail or +_p wd +ert en +St an +ĉ all +al ive +strt otime +� s +s essions +$ conn +ass ist +Ġchat ting +ĠM ant +Ġ% @ +Ġ"" );ĊĊ +Ġd gv +Ġíķ ¨ +.re peat +_M essage +Ġadvis ers +/ path +Ġk es +) } .ĊĊ +ogen esis +ĠOPTION S +upt ools +Ġmilit ant +Ġex ited +ig ar +ĠCOM M +ĠDis posable +ay cast +Ġrow span +Ġsyn thes +Ġsond ern +ĠĊ +ĠJ acket +R ATION +.getSelected Item +- init +ĠReg isters +_se p +ĠTool kit +.d ict +Ġx label +\ Table +t oc +_com bo +ĠComp act +Ġr ugged +à¥ĩ ठ+-man agement +')}} ">Ċ +ĠSt amp +ı l +ro x +Ġlandsc apes +_NOT E +mon ary +c ab +Ġmo et +x af +rc ode +- cli +_g ate +[ event +SP ORT +g ia +ĠS UPER +/ Login +_sh utdown +int errupt +Ġpret ending +Ġfr inge +ĠRed s +ĠC UDA +ĠUN IX +v it +Ġbr ig +dr v +ĠConn ector +There fore +Ġl ia +D etection +_ actor +Ġtemp file +Ġecc entric +- role +Ġpad x +d ent +West ern +Ġê ·¸ +ĠApplication Record +Ġcampaign ing +_run ner +ĠC ivic +ale igh +Ġdire kt +.s ul +ĠĠ ĉĉĉ +ant en +Ġiss uer +Ġassert ions +( orig +AT IO +Ġlean ed +ä s +.D TO +expl ode +.O bservable +Ġstagger ing +Ġkidn apped +Ġprogram mers +ĠInn ov +.param eter +Ġdom ination +Ġske ptic +Ġæĺ ¯ +Ġavoid s +.Ver ify +ub by +ĠAS N +Ġformat o +ĠBeat les +_b rand +Ġin set +y outu +Ġto c +-f inal +Show ing +ĠD oub +ĠM esa +Ad j +_m edium +Cre ates +(end point +ĉ UP +bb ie +Ġst alk +.datab ind +.S can +ag ents +$ , +ind ividual ++ )/ +ĉv m +(not ification +Ġin ex +ĠClass ification +ren o +Ġo lig +-r ated +Ġform ulation +', { +Ġa cept +_un pack +_C A +.P ow +ĉ im +Ġal uminium +AN O +Ġx n +Ġcó mo +ĠIng redient +Ġseiz ures +åħ ± +ific ador +Ġsigu iente +ĠIn fragistics +Ġduplic ated +ĠDe e +Ġn ø +ĠAC CEPT +(c rate +иÑĤ елÑĮ +- less +Ġinf inity +An alyzer +-D ay +rit t +(c in +ĠG y +Ġmulti plied +uch i +ĠBald win +/ ip +Ġshort cuts +.A DD +Ġvig or +_in struction +( ; +_ eta +è¿ ŀ +utor ials +Ġboost ing +b v +Ġacknowled ges +List ening +FA Q +; b +(( - +Ġarchitect s +Ġz we +Ġpul s +Ġget Count +ver bs +ãĢ ľ +(C ollection +k re +Ġjuris dictions +_b ridge +ĠCr ack +ĠDiff iculty +K O +Res ervation +_re quires +T our +ãģĹãģ Ł +.set Current +Ġk y +ĠAlb any +Ġè § +ll er +agn a +work ers +.bl ank +ĠPr ayer +M IC +Ġresil ience +Te X +ĠL anguages +st udy +ĉc urr +Ġenzym es +Sl ug +ĠíĮ Į +str al +Ġtum ors +Ġseg unda +=' { +in struction +ĠL isp +/ info +Ġ" {$ +,: ), +Ġg v +( ErrorMessage +Ġ' = +}- ${ +.Doc uments +" Well +Ġreminis cent +Ġg az +iro pr +eh r +Ġsup pressed +ers h +.scroll To +Ġcad ena +Ġgame State +ÃŃ m +( conv +ĠTom orrow +ĠC CT +M ongo +ul g +.C amera +.hand lers +m ph +Ġst k +Ġgen etics +AC ING +Tr ivia +ĠB am +(m arker +.St retch +ĠSun ni +ĠBet ty +.t olist +un likely +.Rect angle +ob solete +IL ON +inner Text +emb ourg +a N +ĠV ehicles +un lock +: utf +n ob +ĠSee ing +ĠNE VER +Ġt ls +Ġfil les +Ġbenef ited +ĠCl int +*/ ), +.f old +Ġpos ible +A DED +th ouse +.D AL +ĠO dd +ro kes +ĠSun ny +ĠPartial Eq +_B uffer +ĠLe vi +long rightarrow +eld on +g ages +_w arn +.Create Table +ĠD ip +_ questions +.log ic +Ġ# " +={() => +Ġt ep +Ġju icy +ì Ĥ¬ +en ko +ia lect +Ù ī +Ġon board +Ġæ ı +ĉ rt +_ UTF +ĠQ Action +âĢ ŀ +( Component +(a udio +.h it +g te +Ġprogram med +state Params +Ġpoly ester +f ires +by ss +] =( +_ quality +Of Day +ĠFair y +Ġy elled +op l +(user Name +ĠD ifference +Ġevalu ations +iff any +Ġcycl ists +Ġc idade +Ġtext book +Ġprof iling +__ ), +de a +. activate +Ġindic ations +Ð ķ +Touch UpInside +Ġinval uable +ĠM ASK +Ġcont end +F req +Ġrecru its +(int erval +ĠUser Profile +Ġ'./ ../ +ed u +_C allback +Ġanal ogy +ĠTro phy +app hire +V ideos +ĠCh er +ĠH av +â̦ " +. validator +g fx +ĠU Object +class names +tri angle +ĠEnc oder +.s py +Ġpred ators += status +-s afe +: ",Ċ +ĠIn cluding +Ġ{} ;čĊ +* cos +Ġend ured +.sul ake +Ġnurs ery +Ġfrag rance +Ġre building +Ġn th +ĠFr aser +.set Date +ĠV ince +_RE ST +Ġvent ilation +æµ · +cri bes +.as m +lp Vtbl +ĠA be +uis ine +, array +ĉ className +err als +Ġ' ĊĊ +Check out +Ġsol icit +A ux +_c apture +Ġrib s +rag on +vi ol +top ics +Function Flags +ĠM arty +b ike +ĠT ucker +(k ernel +ĠO ps +Close Operation +/d emo +ild a +ĠlÃŃ nea +APP ING +Ġsu ites +.visit VarInsn +ur us +ĠMin ute +(m anager +Ġbutter fly +Ġap are +Ġw olves +J WT +ĠSal on +ĉd elay +-es lint +is ations +.r pc +)| ( +ĠSnap chat +/m m +M N +cer ies +.text Alignment +ĠFrank furt +Ġad o +(new Value +( access +( Expression +ĠSign In +ĠHait i +_t p +.set Parameter +Min ute +Ġmanual s +ric anes +ĠP TR +ĠOut er +Ġget line +oc ations +_C D +ĠLy on +/g ui +_l ive +id an +.ge om +Ġborder Bottom +im uth +_check point +Ġme u +ĠIr ving +Ġpeu vent +(M AX +ĠAR CH +Ġp ov +.source forge +Ġjam ais +Ġar k +ĠBaghd ad +ĠC LEAR +Menu Bar +Ġtro is +CHED ULE +Ġ# čĊ +(C all +$ order +(M aterial +Ġencontr ado +$ list +ĠMETHOD S +.begin Transaction +_M AG +Style Sheet +Ġmaj ors +Ġindef initely +clean up +Ġhom eland +(d to +D ates +P resentation +ĠD K +={` / +ĉ Key +( Block +_check box +ne eds +Ġon Complete +ric o +Ġgle ich +Ġx m +O OD +B etter +ĠSQL ITE +. Book +x ad +ĠG one +ĉd p +Ġdev otion +Ġst m +Ġobs ess +ĠBack end +Qu eries +I k +// **************************************************************** +Ġdivid ends +.parent Element +} ")ĊĊ +ĠMaterial PageRoute +: num +Ġexp lic +ĠO L +le ast +O ops +iment os +Ġins urers +Ġhero ic +ĉf ields +.img ur +.btn Cancel +ĠDetect ive +(s m +ĠMutable LiveData +.l ab +(( [ +Ġha irst +ĠTrans actions +å¼Ģ å§ĭ +Ġstd Class +uent o +G IS +_c od +Instruction s +C alls +Pointer Type +ĠR w +Ġassort ment +ĠD IG ++ r +_C ERT +Ġinst ability +Ġv ib +on as +Ġro ku +ap ellido +Ġan gl +prene ur +Ġfluid s +ise ase +Ġde ed +qu ist +_CONST ANT +Ġequ ilibrium +_de legate +ĠQuant um +re i +Cap abilities +rect angle +? >< +al ien +ĠJ ug +D NA +T ickets +Occ urs +ĠHaw k +.setHorizontal Group +\ Collection +ff iti +Ġre arr +.setVertical Group +Ġc avity +Ġadult e +Fac ade +- wh +ĠL OL +Ø ° +Ġgrand parents +Sw ift +ĉw x +æīĢ æľī +if en +ff set +B eyond +// }ĊĊ +Ġw ager +Ġb ury +Ġcomm ence +reg istro +sc ient +ĠPer cent +Ġд олж +( identifier +.set Model +Ġs eldom +nt on +Ġappl iance +am us +rys ler +Ġpant ies +engu ins +Ġmim ic +Ġon Changed +Ġal coholic +.reload Data +Ch arge +ĠF ax +Ġj ScrollPane +Emp resa +Ġsh attered +x ba +Font s +? s +Ġpost season +ret ain +_r ates +Ġrequest Code +.t odo +´ s +CH K +ĠKeep ing +enge ance +Ġvs code +IPP ING +Default CloseOperation +_ raise +ĠO culus +ogram s +ra j +pc i +Ġcorros ion +.handle Submit +Access ible +ĠP iano +l ittle +AC L +Äĩ e +.un wrap +ĠCon vers +ĠLe ben +ione er +ĠMer chant +ĠJ orge +Ġembr acing +Ġvent a +á st +Ġvi ene +< QString +Ġexplos ions +Ġdistur bed +." < +m emo +ĠAb original +Ġcomple to +Tex Parameter +Ġuom ini +( agent +Ñĥ ÑĢ +ĠWh olesale +/ am +ĠBook mark +dr agon +Ġglo ve +Ġ" "));Ċ +iv ariate +now rap +In Children +.B r +Ġcon exion +Ġback bone +Ġe clipse +Ġpersec ution +': ĊĊ +/ link +ĠP ero +and as +ĠT ek +. "); +-an alysis +Ġer ad +Mar shal +Ġanch ors +og er +Ġconver gence +st icky +Ġnave g +int ern +_DE SCRIPTOR +ĠConsult ant +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ċ +ĠA uch +Ġer re +ÅĽ li +ĠHor izon +col a +Install ation +hot mail +C NN +.C ollectors +ch s +(tr ace +ĠEnc rypt +Ġ---- -- +ĠBase Controller +Ġag ua +Ġre active +id l +Ġclass Names +ĉ Session +ĠDod gers +H ad +_l v +Is Valid +ĠHEL P +ut to +ĠVer ification +Ġget env +_p a +.b mp +: f +ĠLou ise +(' ; +/ socket +Gr anted +.c alendar +( IP +ĠP X +.R oom +Ġprogram m +ens i +Ġtablesp oons +Ġle ve +Ġmo str +.t ipo +/ an +(d i +Ġb iod +Ġdb Context +ĠJS X +ĉ results +. END +ht e +l ify +P recision +èĬ Ĥ +ARS ER +)did ReceiveMemoryWarning +at tempt +IS P +& a +_P OP +ĠT ac +Ġprepared Statement +Ġзап иÑģ +Ġow ing +, start +Ġreview er +Ġr st +Ġprop Types +Ġrock y +_lo cale +ĠStrateg ies +ĠWe ber +.C ascade +_equal To +Ġcos as +ĠDe letes +ĠMax im +Ġsh rimp +re trieve +.In clude +IG IN +ĠO E +] );čĊčĊ +.en umer +Ġco ef +_N ull +R a +ty ard +ĠSh awn +keep ers +Ġq q +_s b +om ens +ĠExec utes +# " +TT Y +ĠValue Type +); */Ċ +ĠAbs olutely +ĠT ottenham +/ art +Ġbless ings +Ġswift ly +b uster +Ġa vid +COM M +, temp +Ġ} ?>Ċ +-g rowing +Ġdeep copy +A ck +egg ies +Ġ__ (" +Ġno ir +terror ism +Ġanth em +ag ency +_PACK AGE +ĠC losure +.reg istry +Ġmamm als +< L +U ICollectionView +ĠLED s +Ġvol ley +( Buffer +_N ATIVE +lib c +impl ode +Scroll Bar +ĠMar ion +.Con tracts +_A t +ĠWe instein +compare To +ĠH ose +en ity +.create Query +_r outer +Ġstim uli +Ġ++ ) +ĠCh amp +ĠBay ern +ass a +.v a +Ġdistrib utors +Ġfile private +Ġdepart ed +cc cc +@ click +ĠL unch +> L +Ġbl uetooth +.De ep +- standing +ác il +Ġro oft +ĠPath s +_iter ations +Invalid ArgumentException +.s pi +ĠUIAlert Action +uy e +sign in +.p riority +ĠEss ays +=' {$ +Ġè¿ ĶåĽŀ +_s igned +.p ersist +Ġred esign +To Lower +ĠNew man += start +ĠIsrael is +asis wa +Spe ech +Ġnum eros +hand lers +ĠW ong +Ġм еÑĤод +We ights +ĠGu jar +te il +ĠNon etheless +_E FFECT +Ġv ect +ĠO sc +Ġco ats +ĠW heat +Ġge ek +ĠPRO PERTY +w orm +_const ants +ĠB oulder +ĠP arm +co le +Ġdefault Center +ĠRou ge +: A +xc f +ĠVen ice +med ian +Ġred emption +F resh +Ġcos m +Ġfig ur +Ġref urb +CO PE +.c d +Ġch ords +ĠS gt +Å į +VP N +ĠS END +ain en +_account s +Ġtent h +Ġdiss olved +< App +ĠCover age +use State +é ro +.. < +Ġì £¼ +Ġdream ing +ĠFore cast +.C ursors +Ġvis as +/ script +_start ed +Ġga str +(P RO +]; // +.T ile +* sin +( Adapter +ĠSand ra +_S IG +ard ash +ĠO val +Ġdescri pcion +(s l +ĠDes criptor +Ġ` $ +/f ree +ĠKey words +Ġt udo +ion ale +(f ound +.x yz +ĠGeneration Type +_DISABLE D +( area +Ġel ites +Ġh ombre +(m essages +ĠR ac +Ġext ingu +ĠEst a +op o +. vel +mouse out +Ġconv olution +ĠHand ling +Ġceil ings +T ek +ĠAre as +.writer ow +< View +ĠCorn ell +_B IN +.in valid +'' 'čĊ +ie ż +_P osition +Ġk idding +PC ODE +Ġwatch er +lo x +Ġâ Ĺ +D ave +_all ow +Ġbis exual +Ġun ordered +ĠSch we +_se gments +Ġt earing +IN LINE +Ġund es +.g oods +.c am +ĠL W +ĉ where +Cal culator +-th reat +- alert +ĠSuz uki +ĠIP A +ĠAtt achment +AC CESS +(d type +O pp +_s ymbols +Ġdans ke +l age +or get +res olution +е Ñĩ +ĠQ Color +ĠBar rett +аÑĨи Ñı += \' +ĠNav Controller +/ ref +(c ountry +_H DR +Ġterse but +pet ition +Ġsu f +cred its +๠Į +x m +ĠDav ies +.re ddit +Ġw oven +ĠO bl +ĠK M +ĠConsider ing +ens ored +.per iod +Ġd dl +$ wp +Ġextrem ist +; \Ċ +Ġk im +al ers +Ġspan ning +Ġco herent +Ġconse gu +.text Label +.g eneral +_d ashboard +л ение +k ick +_P ID +ĠExt ensions +reg exp +ĠCl ause +_m ov +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ +ĠR eward +ĠLEG O +A k +=-=- =-=- +ĉ parser +Ġon ze +éĢ Ģ +âĢĿ ãĢĤ +_b all +(r hs +Ġch orus +< count +as urable +Ġwirk lich +ĠEr in +ĠMS NBC +Ġet ter +ĠC ron +_F LOW +Ġ, čĊ +Ġcal idad +ĠFile Writer +ĉ stmt +( Byte +_p at +Ġte lescope +Ġgre ed +ĠT ort +(w rite +\ application +ĉRT LR +ĠConfiguration Manager +Un ix +End Time +In cludes +ĠHar vest +en berg +ĠAustral ians +Ġë ĵ +Ġr n +Ġreput able +Ġbl ending +UL ATION +ĠBrend an +d ad +Ġm ø +ĠW oo +_d c +U ne +Ġr ue +with in +ang ep +Ġp ouch +\" ", +ĠS ic +âĢĿ ), +aly ze +ĠG ef +c overs +Ġd bo +replace All +ĉ Logger +Try ing +[ state +-p iece +éĸ ĵ +beh avior +all ows +l rt +_p ython +ert ura +-c ountry +ĠT G +.UI Manager +b ens +ale x +ĠBre itbart +b ac +Ġpredict s +Ġg ab +Ġcard inal +.Time Unit +ĠVis itor +ĠM ing +Ġliv re +Ġparent Id +port un +Ġdimension al +ĠV est +en ic +à ³ +Ġ Ùĩ +ĠBL UE +Ġitem Count +Ġfe athers +ĉp stmt +ĠPol ar +{ // +und i +Ñĥ ж +z ar +Error Response +ì ĥģ +Rep resentation +* _ ++ ] +pre pend +Ġ' > +Ġlegitim acy +Ġo o +S linky +Ġnation als +. words +; p +tr ap +oman ip +Ġc ues +Ġgradu ating +Ġsem aphore +"] );ĊĊ +ace y +RE ET +Gr ab +ĠFel ix +( Id +_ne ighbors +Ġmeaning less +(d el +Ġj eder +ĠContent Values +.abs olute +/ cl +Ġx b +dat um +Ġtort ured +Ġrub bing +S cores +ĠðŁĺ ī +Ġav ons +Ġam sterdam +E OS +H al +Ġtrust worthy +# = +.EX TRA +Ġman o +is icing +-s upport +ĉc ursor +ĠSp o +aim assage +M ission +[] {" +Ġprint ers +G REEN +Ġt eg +Ġabdom inal +! ĊĊĊĊĊĊ +.Sh ort +аз в +ĠGift s +} ") +(b inding +x ce +âĢ ij +inf os +Form Data +Ġd art +Ġele ms +(in v +Y L +t in +GEN ER +á» ¯ +ĠT aken +uck le +: e +Ġspect ral +.b aidu +/ ');Ċ +Ġgre edy +es ion +,,,, ,,,, +Ġ/> ,Ċ +Internal ServerError +NSNotification Center +ĠA i +Ġsp it +Ġaug mented +Ġstandard UserDefaults +FIN ITY +R ace +: C +ĠRE CORD +ĠHigh light +Ġ' ` +Ġdef icits +Ġne i +Ġresearch ed +T a +Ġc opp +.Get HashCode +): čĊčĊ +On Click +ĠWell ington +Ġrev ival +æ¯ Ķ +éĹ ® +ĠN SS +Ġfor n +Ġint é +ĠKu wait +_fl ip +_ bo +_ \ +Ġocc urrences +ĠScient ists +S RC +og ens +igr ant +RE MOTE +ĠS ID +. opts +u ve +() ])Ċ +Ġlibert arian +ĠGl ide +les en +Ġform e +ow ania +Ġannoy ed +Def s +ĠExec utor +Ġcast s +.set Checked +ĠSh aring +.Serialize Object +Ġselect ors +_ OTHER +ë¯ ¸ +(s uper +( OS +_VER IFY +id unt +< header +Ġ/> ';Ċ +Ġvidé o +ĠNeg ro +ĠL ords +ĠT ours +Ġsoft ly +.re ceive +ĠE RC +Ġdata Set +Bad ge +ĉ Event +Ġper l +Ġ{} \ +(s entence +Or Update +Ġdim inish +P IN +(d raw +.To DateTime +.Equal To +(p in +-p encil +lu ent +ĠCall er +Ġplay ful +- '+ +x ca +sw ick +){ }Ċ +}: ${ +ĠM eth +.get Cell +.b reak +Ġy max +=' Ċ +ĠH iro +( TRUE +as urer +Ġcu er +U ber +. Operation +Ġol an +Ġthr illing +< Response +ĠF emin +Ġtravers al +Ġp oc +Ġset Status +decl ar +std afx +Ġaddict ive +ĠB tn +Ġexplos ives +ĠCook ing +ĠPl aint +Ġaccum ulator +ĠApp ointment +, password +ĠF AR +lu et +Further more +decl spec +_Static s +.D ictionary +"> '. +ĉ valid +" ", +In strument +> J +Ġno str +ĠR ift +_P ort +Ġvec es +[ [' +Ġrall ies +- series +Ġv v +. uc +Ġr tn +State Changed +( ins +ĠCl a +------------ Ċ +c us +ĠRel oad +//---------------------------------------------------------------- -------------------------------- +.se conds +_dest ination +Ġscrew ed +> c +Th ickness +Design er +Ġgr ids +n Äħ +( cookie +T rip +-M obile +Ġv oll +Ġgen ital +Ġconf isc +ĠConfeder ate +Ġweb View +Ġm ise +Ġcl er +(se lection +$ date +Ġshar pen +rag en +And Update +Ġrem ix +Ġh tons +R W +M PI +Ġretrie val +Ġric hest +.Dec ode +:init Components +ĠT Value +S aint +@ include +ĠPER SON +.se p +ĠLD AP +g ba +Ġgro ÃŁe +Ġreli ably +ĠD FS +.getItem Id +Ġprés ent +.get Token +Ġch inese +ĠMe al +Y OU +"> >ĊĊ +b ower +Ġsw apped +/ install +Ġs inks +etr ize +Ġdecl ines +ĉm ysql +ĠC String +ĠMotion Event +.L anguage +R oad +ÑĤ еÑĢ +asc imento +')) -> +. about +( editor +ĠR atings +in come +Å¡ e +.de queueReusableCell +ĠAust rian +Ġs ulla +ĠTrib unal +ĠDid n +ов аÑĢ +Ġins pections +B oss +Ġcock tails +Ġapolog ized +_sub plot +op al ++ =( +Ġreson ance +ib u +Ġë ¦¬ +rom a +res erve +pl s +ĠT ah +ax ies +OP LE +ĠDar ren +ĠZ ombie +_M ap +Ġ] )ĊĊ +ĠQ i +ĠS ail +Ġrestrict ive +Ġeros ion +- par +WH ITE +Ġold u +Ġap erture +Ġbit coins +text o +ĠCom cast +Ġtime less +en kins +Ġfeed er +/ tmp +res den ++' _ +.D estroy +Ġç ok +ĠD OCUMENT +.l ng +.tag Name +Ġk ullan +eg rate +Ġ(* . +ç¼ĸ è¾ij +Ġhand shake +s oc +_ geometry +ĠDam ascus +Min or +ĠK afka +ìĹ ¬ +Fl orida +_com pute +.ex pr +Ġpar alle +ĠD iaz +c ir +[ target +Ġj oking +Ġgl or +(set q +_hand lers +H ang +Ġf err +rim inal +ĉĠĠĠĠ ĉĉ +ent ies +def ines +-t ax +json p +ĠU PS +met ro +__ ;Ċ +ĠUg anda +])) :Ċ +_t d +x ae +l w +. OS +ĠLog ged +ac id +ĠMay o +as pect +Ġvag inal +Ġinitial izing +Ġster oids +f iction +G RE +g end +Ġli abilities +ĠL ets +M ech +( nc +( change +Ġconnect ors +: k +Ġt ast +! ");ĊĊ +th ings +ro phy +luet ooth +ĠSign Up +. ctrl +Ġthere in +ord a +. escape +ig ator +Ġpet rol +Ġspec imen +Ġdeb uted +- Pro +Ġcr ises +.add View +ëı Ļ +-d oor +Ġmon et +Ġmill is +Ġv ier +Internal Enumerator +Ġadmin s +ĠL air +z in +get Query +umb les +L IMIT +ĠV ig +_s ong +< Character +:: . +_h om +_b p +ĠSup ervisor +sub mission +ab ile +Ġno i +Or Create +Ġpe el +Ġon Start +Ġsent iments +veh icles +Ġclass rooms +Ġs zer +Ġb ending +Ġlong evity +Ġa cl +ĠAle ppo +ĠU M +ĠR icht +Ġmultip rocessing +DOM AIN +"," + +_Y EAR +Ġsc rape +Ġsol itary +Ġ"] ";Ċ +/ errors +ìŀ ¬ +ľ ëł¥ +b etter +ĉ number +ĠL F +ĠAc ross +Pub Med +\" " +ĠExcell ence +Ġus ando +ĠU IP +Activity Indicator +_V OID +Ġbre eds +ï½ ¥ +uest as +ĠTre asure +ustral ian +(f ace +ĠT ennis +ĉ Int +ĠHans en +ç µ +: I +Ġâľ Ķ +GR AY +O USE +Ġhe pat +ł í +A IR +ó ż +Ġque ued +vinc ia +ĠChrom ium +Ġcompet ence +ung al +ill i +Ġget By +ĠF inder +Ġincap able +Ġs add +Ġc ites +ĠChurch ill +S dk +More over +As pNet +( Float +$ password +ĠConn or +-s ession +_d m +* )) +Ġde utsch +ĠN X +Ġper ks +_S ORT +_TO OL +_V ISIBLE +.as p +æĪ ĸ +ĠBre ath +D etect +ĠD uel +.c mb +[ it +.Set Bool +Ġnarc iss +Ġab ide +Ġej emplo +ĠâĦ ķ +Ġm ornings +Ġcomput es +.s sl +j t +Ġmuch os +_S S +[ end +Ġbas in +Ġalgun os +ĠCroat ia +lin ewidth +(t ags +(h idden +ÃŃc io +Ġap ar +ĠÐ ¶ +ä¸ İ +. food +ĠR ural +Ġbread th +å½ ± +(s ess ++ ") +ĠP aste +Ġserv idor +ĠBit Set +ĠTr an +la us +v ette +ey es +ĠCL ICK +ĠV III +ĠTurn s +ĠLe Bron +ĠM uj +ĠD eg +ĠAdult s +_s uite +process able +ĠPH Y +g hest +.F ail +ĠSl ack +ce j +\ Carbon +Ġsuper star +Ġhold ings +( forms +Ġ'# ' +M ultip +("[ % +-s olid +/ url +-t ier +[ length +ĠStream Writer +ĠMarket place +get text +_T ICK +ĠFor ge +Ġblack jack +ĠDO ES +ĠM atters +w aves +Ġwhisper ed +Ġl ush +ìĺ ¤ +d igital +Ġwr ink +ĠH ogan +Ġrust ic +.Apply Resources +ĠHard y +os omes +A UT +.ST ATE +Ġnarr atives +ĉ store +b ib +ĉ Scanner +ĠC ody +\ Repositories +Ġre union +and um +âĢĻ h +Ġsn iff +NS Bundle +Ġcompreh end +_US AGE +_ occ +URRE NCY +J NI +Ġspecial izing +Ġvis ions +Ġdol ore +Ġv á +ĠChe vy +ĠSt yled +imp act +all en +Ġk art +ĠTable t +st uff +re esome +аÑĤ оÑĢ +//---------------------------------------------------------------- -----------Ċ +_Ad min +Ġcell phone +Ġaut oplay +Ġcamb io +Ġmar itime +_BO OT +- quarter +Ġlat ina +ĠAJ AX +e quiv +ĠFront ier +ĠX Y +} ]Ċ +ĠR ough +.pro to +Ġcorrect ness +Ġfac il +ĠRe ached +ãģĿ ãģ® +V IS +.p s +Ġstr ncpy +Ġdiff usion +.start Activity +�� � +Ġaccom p +AMES PACE +imon ials +ĠBl ast +aby rin +Ġd ome +Ġextr av +Ġy en +Ġcul inary +P RI +ĠComm unities +n id +_oper ations +.h s +ĠMil ton +Ġno ises +Autoresizing Mask +(c id +}ĊĊ ĊĊĊĊ +] },Ċ +ĠD etection +tab la +Ġlib erties +_D YNAMIC +w get +ĠT ür +ĠP ascal +Trans parent +Delay ed +] () +ĠHer bert +< ActionResult +ch allenge +Ġmush room +.insert Before +ĠR in +Ġhum our +Ġf ø +api Key +alloc ated +Ġconf ession +. ",čĊ +ĉassert That +ĠS ORT +ĠL ORD +Ġexport er +.set Level +p okemon +ash tra +Ġf é +ur ator +(M SG +Ġt up +ĠH ull +Ġyield ed +.Sub ject +\ Route +! ? +ĠÑĥ дал +\ Security +- ar +Ġalleg ation +( Settings +ä nder +Ġell ipse +ĠRetro fit +Ġregul ating +ĠM olly +ĠL ok +_C ustom +ĠProm o +is in +Ġres umed +Ġmet ropolitan +.error Message +: ------------- +Ġpas ado +th ank +_De lete +ĠBright on +, unsigned +ä½ľ èĢħ +Ġaspir ations +-h ow +R ose += (( +_ne eded +_pl ural +< Application +ĠW EEK +ĠUn lock +ĠT EMP +S ou +Ġschizophren ia +Ġt roll +Ġcomplement ary +ĠNET WORK +Ġbl ir +Ġprogress Dialog +" %( +ĠAttribute Set +ĉ ts +.iter items +è¯ Ŀ +Ġesc rit +v ous +_pl aces +H K +Ġseg uir +_f w +ĠR ounded +Ġdis posit +è§ Ĩ +par m +w ow +STRU CTION +. allow +ĠChar Sequence +ĉ extern +Ġprosec uted +Ġmort ar +ĠJ uda +- msg +Ġest ud +.get Description +Ġs ow +amb re +Ġrom a +En h +bon us +Ġsqu at +Ġdist ra +ed Image +Ġpe ppers +-per formance +, ĊĊĊ +, file +ĠM IME +_con cat +AB S +-f ashion +Ġunder cover +One ToMany +Ġre claim +C OPY +Ġb inds +ĠT ape +Ġg ossip +ĠEqu ity +/ Card +. activ +' am +Ġdrain age +< Scalars +ĠonBind ViewHolder +() ?. +Ġs orrow +ĠI b +up y +_U UID +ĠCh arm +ĠElection s +.on Destroy +ĠInterest ingly +ounding Box +_d etection +-h eld +_ unknown +Ġrefr ain +Ġmét odo +Ġe Book +EN OMEM +Ġd ang +Prof essional +Ġd ictionaries +/m ysql +ĠST UD +Ġmas se +s cape +Ġdre i +: name +.log o +Sign Up +Ġt ahun +( theme +ĠFem me +Ġbom ber +ĠJ ade +ĠT ay +Ġsubmar ine +_cl ause +zy ch +Ġsimult aneous +Ġcas os +. boolean +(l hs +Ġcontin ental +-s ale +ĉ env +ĠC ute +ĠFactory Girl +ab us +/ value +Ġj adx +Ġst ern +> >ĊĊ +Ġsurf aced +Ġìł Ģìŀ¥ +pl atz +ĉ email +cept ors +"> ( +Ġep ile +è¯ » +ĠDe bt +åij Ĭ +N OP +" https +: j +Form Item +_L ICENSE +.get Double +ĠAg enda +ĉf inally +(f ilters +( av +ç¾ İ +AP ER +Ġl ava +еÑĢ Ð¶ +)) ))ĊĊ +Ġfault y +_n m +Ġtr ava +(B itmap +Ġspeed ing +> '). +Ġscreen ed +_ roll +ĠMac Book +ĠA UD +Ġdiagn ose +.G enerate +Ġ^ ^ +Ġstr s +[ Test +Ġr ansom +ĠDH CP +eld en +Ġinterpret ations +() ]. +flat Map +Ġline Height +_m ount +ĠW izards +Ġsl uts +eh ler +od al +Ġmilit ia +å ² +earn ed +Ġmis ery +int val +f und +Ġh ides +Ġdi arr +ĠWes ley +Ġx mm +Ġqu em +ĠAr abs +if th +ategor ized +Dis posable +P ure +_NOT IFY +sn ippet +ĠGar rett +.run ning +. weights +Ġ( -- +Ġin variant +äºĭ ä»¶ +ĠAll owed +dir s +Ġpass ions +Ġl ad +ĠFl ush +men us +: block +Ġcompr a +.ch omp +alloc ator +Ġcur ated +ĠKnow ing +ĠPatt erson +Ġtel ah +' ex +Ġdo omed +Ġphil anth +ott y +.st yles +Own ed +Ġallerg ies += params +oc ese +it elist +ĠS ending +b ef +orr ar +ĠN ão +ĠF argo +ĠL ub +ĠComb ined +_g iven +ĉĉĉĉĉ ĠĠĠĠ +Ġreconc iliation +Pattern s +az ard +Ġbiom ass +ĠH ouses +resp uesta +cc o +/top ics +ĠY uk +Ġweaken ed +_c alendar +Ġmulher es +ĠMar l +Ġs ine +ĠT il +ĠSou ls +ĠDe utsche +ĠF OLLOW +Ġpip elines +ĠBever ly +_DIP SETTING +" # +ĠPro to +.b ig +ĠSav ings +ĠT anz +j un +ĠG amma +ĠS add +Ġadvis ors +Ġro ast +Ġun ters +ud ies +_l on +-point er +ĠElement Ref +\ Builder +example Input +.web driver +data Type +ĠQu ite +ĠCelt ics +u il +-def ense +b ish +ĠUI Window +ĠS uddenly +.h ot +.re ason +Ġg ör +AM D +.M ulti +auth enticated +reg ions +; ( +а ÑĢам +ĠKir by +$ route +PREC ATED +ĠDur ham +ow o +ĠPer forms +Ġdisreg ard +n st +ĠP ols +Ġget P +"] : +-col ored +( Keys +ĠAl leg +_mod ify +_ loading +str ained +Ġat roc +_p hr +< Sprite +Ġsatisf actory +m anship +.p ipeline +T ony +Ġth ief +pol ator +( lock +bur st +ĠOptim ization +Ġsurf ing +" Yes +Ġdesc ended +æ Ĵ +_C lear +Ġc ries +ĠFro zen +D IRECT +- Con +ĠLe icester +å¥ ³ +O OM += db +Ġget Message +< Student +_b atches +.M ask +_ eth +\ ) +Ġsom a +C atch +[ ch +Own ers +ind le +: auto +. vert +iv r +.set Location +Ġfl uent +_END IAN +ĠCar lo +cept s +add Action +.o auth +< UnityEngine +re ements +.S kip +? )ĊĊ +.default Props +Ġc abe +ĠSh en +eros is +ĠPro fit +Ġpo is +_C REATED +Ġremove From +(w s +? action +( Field +Ġerr one +.min imum +ĠRetrie ved +Ġd ado +ĠPR IVATE +-s pec +Ġg zip +p data +Ġpos Y +(l ow +Ġqual quer +/ cloud +ê² Į +( common +ĠAr beit +organ isation +Ġtid y +ĠRol and +( ph +.z one +Ġgent lemen +ượ c +å± ± +Ġenc losure +ĠMan afort +ĉ Color +St encil +N ic +Ġthe orem +ĠV G +Ġcol oured +V BoxLayout +uls ive +Drag on +c ff +et est +ens a +of day +.A zure +:UIControlEvent TouchUpInside +_up dates +Ġtrend y +ug as +weak Self +Ġr idge +ib ri +Ġì¶ Ķ +(C G +ĠMon key +.write Int +.tim edelta +ViewController Animated +ĠProvid ence +ãģ Ī +Ġbl ends +/Sub threshold +ĠAp pl +Ġat an +Ġreload Data +umb otron +st üt +O Auth +ĠG iving +ĠìĦ ¤ +ĠFinn ish +check ing +. Embed +sequ elize +Ġinitial izes +ĠOs lo +Ø ¶ +get Extension +_AL T +(bl ank +Ġfatal Error +Ġdem ise +**** *Ċ +ĠX S +(A F +ĠEn s +an tha +ĠP OR +Ġn ich +.N amed +Ġgig antic +ĠObserv atory +.Res olve +ĠPay ments +g uild +Ġcurrent State +============ ===Ċ +ĠS ey +p Data +Ġdead lines +Ġcentral ized +ĠScholar ship +_s upported +.ch rome +() ]);Ċ +Ġc yan +ĠC age +Auth ors +_ čĊ +/ os +k im +de e +.t ex +Ġyours elves +Ġm gr +Ġal k +-inst all +Ġdraft ing +Ġrum or +Ġstat ues +Pool ing +ol ina +AAAA AAAA +/* ---------------------------------------------------------------------------- +Ġextrem ists +Cal cul +ighth ouse +In set +(IN PUT +Ġsynchron ization +iv irus +. axes +ĠG ap +- An +_T emplate +Ġgam er +ĠCr icket +Ġl int +Ġauthor itarian +NS UInteger +Ġred o +Ġadip iscing +_F ETCH +che id +ĠF ang +. indices +t one +д ел +Ġ{{-- < +bra him +Ġsal a +get Code +Ġcommunic ated +start sWith +ert z +Read able +Item Id +oref errer +cred ible +á ria +Ġcombine Reducers +** /ĊĊ +Ġbl iss +Ġad orn +dep ends +ĠRO OM +Ġfr aming +Ġ? ', +aut y +_p ot +_t abs +Ex act +, ", +Ġ'} ';Ċ +Ġarbit r +ahr ain +.getString Extra +Ġ$ \ +Ġoutput Stream +Ġcomm enc +an us +ch y +< Employee +Ġhex atrigesimal +Ġn acional +(serial izers +_put char +_S AFE +ential Action +ItemSelected Listener +.Dis patch +Conf lict +_ about +os aur +Bound ary +Ġclear Color +( Location +ĠMON TH +ĠT aste +- General +ĠW AR +Ġer halten +-s aving +Ġcou pling +-tr igger +m otor +Ġy yyy +ĠPat ent +pt o +Ġmisdemean or +vas ion +ĠAdmir al +à¹ī า +_P WR +Ġdevast ated +fol ios +ITU DE +urre ct +Ġrobot ic +ĠSan ct +ĠHawai ian +.R oute +- condition +Ġr k +/**************************************************************************** Ċ +create Element +ĠK op +ign ant +. rollback +Ġsal ud +_ ', +ĠAN SI +Ex cept +ĠDraw able +.Utc Now +":[ {Ċ +Ġk ole +L ua +ĠBel ieve +Com put +Ġhall uc +ĠSign s +r st +.h u +ĠKN OW +W i +ĠBr ass +ĠR as +@ hotmail +Ġsed iment +Ġap k +Ġì ĥģ +_reg ions +Ġpod ium +< Book +ж е +Ġsix teen +ĠAli as +Ġinfr ared +ĠV ander +ĠLe ading +uc ing +,: ,: +_h or +w at +Ġdé cou +_W idget +S ounds +_n avigation +Ġschn ell +(g enerator +uc ene +Ġrem ake +IP v +Ġré al +_IN CREMENT +Ġhypoth etical +_ ang +Ġof s +Ġ! Ċ +.com pleted +Get Type +Ġkom men +ál ido +add On +Ġz ÅĤ +UL A +_ind icator +'] ĊĊĊ +ap ache +_S elect +ĠGre ene +Wh ats +_an im +Ġrepet itive +m uch +ĠTh reshold +Ġl f +(C ategory +con e +M ix +_MET ADATA +ays ia +Ne ighbors +ĉĊ ĉĉĊ +IP HER +ĠFr ag +ĠC ells +Ġnames paces +( back +ĠRest aurants +sv c +Ġл и +ote ch +-s l +¥ ¿ +ĠW T +ĠRed uction +Ġd otted +ĉf ound +ĠTE AM +B orn +ĠM ush +ĠCompar able +Ġh itch +AT O +Ġmax Height +begin Transaction +ÃŃ v +_b n +Ġher d +Ġrevers al +ĠH ond +del imiter +Ġconf use +Ġh ops +Ġcent roid +Ġcourt room +.decor ators +Ġm pi +ĠImpro ved +IN NER +ĠBang alore +ĠT amb +Ġbo ast +() ))čĊ +Ġil licit +ĠMor occo +greg ator +_res ume +Ġcrack down +Ġport raits +/h igh +( \' +Ġay ud +_fe edback +Ġc ate +/ avatar +Ġhe b +Point Cloud +Ġå ĴĮ +Ġ< ![ +Ġget Resources +} :{ +Oper ating +ĠF og +ĉt ab +ĠResearch ers +Ġfabric ation +.datas ets +ĠCamp o +ĠKa uf +Ġd ll +lig t +] ));ĊĊ +st ellen +ACK ET +l vl +ĠGl ory +.date Time +Ġcomm ute +ĠonCreate ViewHolder +ĠX Element +ĠT okens +< thead +_p ick +ì ¤ +v on +depart ure +(render er +phone Number +(P erson +gen es +ĠL ars +Ġ) {ĊĊ +ĠJson Result +Ġmet odo +VO KE +.get UserId +Acc eler +ĉ required +Ġchampionship s +Build Context +/t ask +/re leases +C ategoria +_over lay +Ġscar ce +_l im +n gr +ah len +ĠArt ificial +sp read +Ġbow ling +.an alysis +SM TP +ĉp assword +Ġbath s +] )){Ċ +current ly +ac iente +_se parator +Ġde ber +ĠDis abled +i ères +Ġâ ķ +_process ing +Ġprotest ing +ĠR OT +gr ab +Ġз ак +Ġpro active +word press +ĠSe ver +ind en +Ġw ikipedia +){ čĊčĊ +_w indows +is lation +Ġun rest +Ġdismiss al +.N UM +_F AST +iss ued +ĠF ACE +_u nder +Ġpl ugged +Ġå ° +ĠbÄĻd zie +ĠI CC +Ġcombust ion +Ġkiss ed +Ġstar red +ĠW atts +Ġspi elen +-p urpose +ĠE val +arg es +, result +techn ology +Ġnational ity +ic us +ĠN ug +ĠÑĤ о +ĉĉĉĉĉĉĉ ĠĠ +col o +Ġg astro +ante ed +OL ID +.b ias +_t ele +.ins pect +Ġve il +. footer +Ġneglig ence +Ġjud gments +Room s +yn n +ĉcount er +occup ation +Ġ çĶŁ +un as +Ġ(^ )( +L ambda +f el +.Param s +Ġд обав +set Layout +Ġdeport ation +Ġlocal Object +ĠPharm aceutical +cept ive +ĠN ome +Equ ipment +F an +Un iversal +ĉ socket +Ġgr in +Ġex poses +Ġhab er +Ġsincer ely +Ġc ams +Ġm ü +en ia +E mer +C rypto +Sl ow +(x hr +! =( +-s ervices +ĠP W +Ġprend re +Ġm ädchen +em ons +озв ÑĢаÑī +.M anager +ì Ļ +Ġg raf +- ra +met rical +/ fl +Ġc emetery +g ens +Ġp ÅĻ +ĠMySql Command +- To +Ġv Ã¥ +Ġa irst +oment um +Ġserv o +m illion +ĠMir anda +" She +Ġadvoc ating +-c aption +ĠAt tribution +Ġwel che +_v endor +ĉ Status +arr is +Ġprint k +"," # +Ġrel ativ +if ferences +izz es +Ġdec imals +ĠPro v +.max imum +Ar n +Ġhelicopt ers +_B OTTOM +ch ure +od ings +' ( +")) );čĊ +( bean +.f d +F und +Ġhang s +app id +/k ernel +.p oi +.Min Value +- validation +L uke +c df +ĠFun eral +ĠS amples +ĉ de +Ġto astr +Ġtax able +Ġcl ustering +Ġ'\ ' +Ġre straint +ec ed +ch ains +ãĢĤ ï¼Ī +_GR APH +Ġfue led +éľ Ģ +H p +å¤ į +T iles +Ġa unque +J C +Ġhost age +ĠE sk +Ġm av +Ġgest ion +Ġb anners +} {$ +.int Value +.' "ĊĊ +_M ATRIX +Ġce ased +ĠG OD +_CAM ERA +.Allow User +tr acked +C ook +b airro +( company +Ġview point +.get Writer +ĠN ets +w ives +Ġ( ))Ċ +example Modal +ĉ child +Ġmyth ology +Ġ// " +_ axes +ib old +.D ark +ĠMax well +Ġg pointer +olic itud +B at +ul ner +bal anced +mail er +Ġcont empor +æīĭ æľº +(" __ +Ġ" )" +re ar +ĠHu ang +] ')Ċ +× © +FT A +ĠCalling Convention +ĠOutput s +P k +.Re ference +lect ual +Ġ) :ĊĊ +Ġbrace let +ug er +ĉ Error +S weet +("/ ");Ċ +h x +Ġun reasonable +Inter preter +Ġlo ft +_product o +Ġsoci etal +.P arser +ĠAd apt +. foo +( where +.F eature +ĠYam aha +g lass +For ge +Ġprohib its +Ġcapac ities +Ġíķ¨ ìĪĺ +Ġper mutation +Ġih m +F ld +el ial +======== ===Ċ +@ Configuration +Ġge ared +ios o +iest a +trans lations +Input Change +Pop ular +ĠPL US +Ġv f +_F ree +b box +Ġcaus al +PI LE +Ġsch ö +Ġiron ic +M ir +. @ +åį Ĺ +Ġè ĩ +R ew +ul ence +fl en +Ġcan Activate +- response +Ġacc ents +ign ored +° F +.Dependency Injection +ĉ point +Ġconting ent +Ġsqu ash +Ġpar ms +ĠC emetery +Ġdelta Time +ĠD OS +Ġvan ished +аÑĢам еÑĤ +ĠD PS +t foot +ĠZ us +_IN STALL +G AN +Ġar b +Ġmunicipal ities +Into Constraints +AutoresizingMask IntoConstraints +, image +_ ignore +Ġdanger ously +quis a +pl uck +Ġhar us +up pe +Http Exception +Br acket +.' 'ĊĊ +ĠT ol +ĠView er +zb ollah +.Code Analysis +ì nh +Ġcorrect amente +.d a +ĠAl ger +× IJ +ba um +ĠPan ther +part icipant +å¿ ħ +-s up +Ġem ulator +Ġf ading +ĠW olver +cre ates +Ġbook ings +.Q uestion +§ è¡Į +Ġstress es +Ġre written +.PI PE +ed es +Ġc bd +": "/ +Ġenh ancements +_s y +B IN +ĠSl ip +Ins pect +ĠW eg +Ġcon gregation +Ġ_ : +_r m +Frame buffer +Ġ'& # +ĠFall out +Is Required +ĠPear son +ĠF ACT +Ġrel ie +ĉ box +ĠShe pherd +ĠWiki Leaks +ĠCollect or +Ġres ized +method Name +Ġevent Type +ĠA then +Des criptors +Ġb ers +- oper +ĠInitial ly +å ¡ +_B TN +ĠĠĠĠĠĠĠĠĠ čĊ +á b +_c ampaign +_w atch +F ord +-date picker +Ġvis c +Ġsat u +_s ms +Ġcont ador +-s vg +ĠDO I +$ args +Ġkn ob +.B OLD +Ġdeb ated +img s +sock opt +tr uth +ĠFe es +Ġh Wnd +_f ood +Ġab ras +Ġnot ions +ĠT od +: create +ĠConf lict +Us uarios +OT OS +Ġm sm +K HTML +([ ( +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ +Ġ} ] +w izard +Ġm ientras +Ġdata List +Ġemerg es +Äĥ ng +.Read Int +PG A +ILL ISE +I Enumerator +(t uple +Christ mas +Look AndFeel +og enerated +Ġ# ĊĊ +control led +Ġex quisite +Ġa cest +Read Write +G ain +ãĢį ãĢĮ +Ġcopyright ed +Ġdo om +.Table LayoutPanel +ĠD ort +Ġch ili +Ġwer k +ĠEVENT S +ĠBe acon +Ġship ments +Ġse bagai +up on +ut om +.con verter +.Drop Table +={ }Ċ +f ic +~ ĊĊ +Ġlesb ians +_n a +Fore ign +ĉ then +/ ms +Ġor i +get Property +ĉsn printf +hes ion +ãģ ¤ +"} ," +Ġac rylic +P ers +@ Enable +I sl +(C ard +. Stack +L icensed +_G UID +: title +Ġh ust +Ġprincipal Table +an itize +/ embed +Ġens ured +ĠE GL +ÙĪ Ø± +ĠåĪ Ĩ +/ ,Ċ +Ġfundra iser +Key Name +Ġmarch ed +_VAL UES +ĠSc enario +Ġmet ic +_ass oci +ĠPast or +ĉĉĉĉĉĉĉĉ ĉĉĉĉĉĉĉĉĉĉ +er ate +Ġinv itations +quo ise +Ġbl aming +Ġd aring +UM MY +Ġrich er +em aker +ĠIdent ification +ĠìĿ ¸ +ĠBinding Flags +ch as +Ġresil ient +_p g +Ġre leg +ĠI RA +ST E +Ġtr actor +- loading +ĠPre viously +ĠV acc +/ be +Ġn Ã¥r +Ġurl encode +ĠNor folk +.Re lease +ĠNe utral +ä¸Ń åĽ½ +ĠAr lington +Ġalleg es +ĠW riters +Test er +ĠR ally +Ġc á +ĉ Print +Ġâĩ Ĵ +ĠUser Controller +ĠSeek ing +.V AL +List Node +_ ff +ĠPhill ip +FA CT +Ġc aramel +ĠM ultip +ĠCom pared +ĠSer bia +Ł ³ +Ġrev ive +ĠK anye +Ġver ge +ĠBulg aria +get Body +Ġ| > +ce ph +.DateTime Picker +." ;ĊĊ +ĠT ie +, item +Ġm enn +G as +och a +_v irtual +Ġmaster piece +_se quences +L TE +ĠSub mission +Call er +$ \ +S port +ag us +Constraint Maker +Ġcol oc +Ġw ig +ĠÐ £ +ĉ Array +Look s +ĠGT A +.st eps +atch ewan +_r anges +ext Alignment +ĠBren nan +Ġab straction +uler Angles +.m isc +Ġantib odies +Ġexponent ial +ĠCH ANNEL +exp ense +' y +Ġdetect ives +Ġpur ported +Y STEM +Ġradio active +ĠLat ina +.Enc oding +.T AG +x in +D egree +ur acion +pr ices +ĠRefer entialAction +Ġr arity +Ġp iles +g ende +_project s +_g lobals +.start Time +Ġê µ¬ +SE CTION +_p ublish +F ault +DD L +_p rior +M om +Ġth icker +Ġsequ elize +Ġessential s +str as +in tr +>( () +.man agement +e il +éĹ Ń +A ware +.C ity +ĠAr bit +_D M +_key board +L Object +- webpack +ĠNew port +Ġprincipal Column +leg ant +Ġp allet +Ġfract ure +Ġg mail +.M eta +A bove +.Key Event +j it +_mac ro +_P USH +á» © +/ controller +åĬł è½½ +Ġsuperf icial +exter ity +Ġmens agem +W ind +ist on +.open api +и ÑĢов +ĠSerial izer +uct ive +Ġz ar +Pl aces +.St atic +B a +Ġin advert +ĠIndones ian +_IP V +(h orizontal +Ġget Title +ide press +ĠConsole Color +ip ers +$ out +Ġfest ive +Ġeven ings +.Get Data +uit ka +ĠManual s +uss ed +_M ax +.Ch at +ĠA ircraft += com +FO UND +ap ro +Ġtre asures +_al ive +Ġgad get +ek ing +Button Down +B rowsable +.PER MISSION +P ASSWORD +ĠH ASH +f é +\ TestCase +LO SS +o thers +, J +Ġassh ole +wer k +Ġm ã +. ie +ev il +kont akte +//////////////////////////////////////////////////////////////////////////////// Ċ += sys +ĉ lock +-- ;ĊĊ +_F UN +Fill Color +ó a +pre nd +Ġcompress or +M other +ĠAr cher +.g oto +Ġwür de +Ġbam boo +ï¼ İ +ĠT rees +Ġb umper +Ġsa usage +ĠEl asticsearch +Ġhor izontally +ĠG ul +Im mutable +Ġlos er +Ġabort ed +-d emo +ĠH atch +Ġund e +Ġprocess o +-c all +In come +å ĥ +_ returns +']." ' +(s w +C BS +am ilies +ĠYour self +ĠH olt +.M ON +à§ ĩ +ÑĪ Ðµ +an on +ĠFont Awesome +produ cer +j r +Ġm au +ĉint er +Ġdish onest +Ġmagn a +ĠCollect ive +Ġvra iment +Ġcho ix +st ay +Ġweld ing +r ising +, min +ĠF ate +g lob +RGB A +Ġdet te +V en +Ġembarrass ment +.DE LETE +greg ar +-re nder +(b ucket +"> ĊĊĊ +.wait Key +Bus y +Ġdifferent iation +ĠC ST +.Con stant +Ġline Number +(m atches +Ġweb socket +Ġbar red +Ġpued es +M ono +C ORE +I ID +ĠĠĠĠ čĊčĊ +Ġpúb lico +lean ing +Ġcleans ing +Ġcr is +ĠDev ils +_SET TING +unt ary +. );Ċ +Ċ ĠĠĠĊ +[ curr +ts y +ĠAlex is +rit el +Ġpet roleum +.pre processing +m atter +For Result +- license +Ġtrav ellers +ĠDispatch er +enn ifer +Ġdigest ive +P ED +hib ition +MAS ConstraintMaker +ĠW att +Ben ef +.set View +d to +TE E +ĠPel osi +_EX TRA +Ġmed als +x hr +fore cast +Ġn argin +oun s +-f ill +_CUR SOR +Ġsuperv ised +Ġtur f +ĠEd gar +POS ITION +Ġcategory Id +â ī +_ ER +á»§ a +Sh own +. ll +_POL ICY +(), ' +ĠPre v +ĠString Field +ĉG lobal +ass ed +Through out +o stringstream +.awt extra +Ġslo pes +ĠSe quential +Ġgi orn +Ġz elf +Ġvers atility +lene ck +.c gi +Ġdou bling +ĠBang kok +Ġbu urt +Ġusu ário +st udio +Ġje unes +Ġm uted +Ġ ips +_f raction +&& ( +Ġst unt +'); ?>čĊ +Ġev apor +b able +ĠPR ICE +Ġæ ³ +lu cent +Ġv amp +ĠTechn ician +Ġuniqu eness +M es +ur ban +.param etrize +ĠRe play +S essions +em br +-Americ ans +_PRO XY +Ġp ian +Ġtri e +ĠD estructor +Game State +ĠIM F +ch in +Ġport e +ĠSw al +åŁ İ +Sub string +im ing +/L ibrary +Ġfright ened +w rites +Ġrecurs os +ar Result +_INIT IALIZ +ĠBad ge +_c rc +E ight +ĠDIST INCT +Ġth ro +@ Xml +ĠLegend ary +-t witter +_e asy +Ġ+ ++ +(D ATA +.L ocale +Ġk ä +Ġn urt +Ġcr uis +_ ios +Ġsens ing +_L ine +Ċ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ +pon g +ole on +Ġwild card +ç͍æĪ· åIJį +Ġbeg ging +R od +ĠÃ İ +_C ELL +Research ers +. selector +_ ing +Ġaspir ing +Ġimm ortal +Ġy min +_ robot +Ġpl ur +B TC +ĠD ID +Ġpier cing +* u +_DEFIN ED +ĠTh i +ita ire +(m edia +- ons +Ġche fs +Ġ"* . +/ AP +Ġraz or +Ġsearch Data +Ġ= & +Ġ ãĢĤ +Ġm ourn +ting ham +Ġo li +ĠVern on +_R S +ŀ æĢ§ +Ġf ácil +ang en +cel ain +Ġa il +le st +ĠQ COMPARE +g ain +ĠÎ µ +ĠK ob +ĠF ault +_config s +ç»ĵ æŀľ +. + +cal ar +(color s +M ul +_ ART +Ġexperiment ing +erm en +ĠAng lo +.Fixed Single +Se a +Ġc txt +.s lider +C ollapse +G rey +Ġf ld +-pro of +.cap acity +get Parent +ĠCom pliance +Ġburg l +- rec +Ġover written +M U +Ġrout ers +ĉ Model +Ġfantas ies +av ian +_p rec +ĠSc andin +Ġ// < +/o ct +Ġceremon ies +Month s +und y +Ġqu ed +ĠN ou +ĠV ibr +.r gb +Ġcit rus +Ġbr aces +-upper case +get Table +Ġdop o +ĠK err +_CH ILD +- cloud +ĉ Matrix +Ġgard ening +S ing +al most +Require ments +ugu ay +( Property +sub scriber +FA ST +re action +(l p +) })Ċ +` ). +.w allet +_ex change +.Max imum +ĠVer b +âĶ ģ +() < +ï¼Ľ Ċ +RO T +C ARD +ub it +{ @ +_k el +ĠTool tip +My SQL +Main Activity +ar f +Ġm align +Ġse inen +ap ist +Ġ< % +Method Impl +M il +ĠM ick +.de pend +< ID +Ġpredict ive +ĠAP PLICATION +le f +dim ensions +Ġconoc er +/ conf +ĠTr acy +F oto +_rem aining += file +Ġpage Index +ĠPar ish +Ġt exas +ĠM AGIC +ĠH ew +d ifference +Ġalt ura +c um +ĉdata Type +Ġcaracter es +avi ours +ĠV OID +è¿ ij +P UBLIC +B io +ĠstringBy Appending +Parse Exception +ĠS uff +ĠN orton +/d etails +.n ull +>> & +ĉ ok +-l ow +. usuario +n ested +X B +OUR S +.Border Color +Ġb row +ĠÐ ķ +cor r +ĠRed skins +.get Tag +.get Transaction +Ġst igma +hard t +ĠPlayer Prefs +als y +uc son +L anguages +ĠOl ivia +Ġt ac +Ġb li +Ġc aval +Ġconsolid ated +Ġper il +Ġde le +Ġform ulated +Ġhigh ways +.sp awn +== $ +ĠN iet +Ġv eggies +yp o +-r ule +ĠV ie +/e pl +Ġenf ants +string Literal +Ġtou ghest +buy er +Ġcov ariance +Ġil i +ĠSoph ie +ĠB AB +Ġ" ), +ĠU k +current Index +_user data +.code c +ĠPun jab +ĠSN P +l ol +adv ance +Ġcom fy +Json Ignore +Ġfashion able +ĠI CON +Ġor a +ĠP ricing +< num +ĠI RC +ER V +ĠMe in +ĠID ictionary +AD OW +is New +ĠDev on +at l +(request Code +ĉ PreparedStatement +IM PORT +Ġmar ital +_SELECT ED +get Response +ar Down +B V +ib Name +ĠP ATCH +ä än +Ġda ar +ĠFile Mode +Ġm arty +.Spring Application +c ene +amp oline +get Size +Rest art +æķ Ī +.project s +ĠEthi opia +Ġstatus es +T ION +(b g +ĠX unit +Temp orary +ĠEng agement +Ġx f +Ġprox ies +Ġgen esis +Pager Adapter +ĠSl ave +Ġsung lasses +ĠCh loe +Ġko ji +ad em +ĉ JSONObject +Î ³ +Ġh ors +* w +ó r +es ch +Ġcritic ised +z ial +ĠSale m +.Vert ical +ĠR ash +> E +ter ing +/s creens +Ġheight ened +аÑĢ ÑĤ +Author ities +_b box +ün st +.font Size +ĠBO OLEAN +div ide +ĠSlo ven +uc er +Ù Ĵ +st ub +Ġnavig ating +: animated +_N OW +_v ect +} {Ċ +@ ( +Ġtele com +Ġcontract ing +ĠAss ange +Ġextract ing +Ġgr ö +c obra +.D IS +Ġcr ab +Ġtw itch +Ġvert s +Ġreject s +ĉ format +Ġreg eneration +.S ys +s olve +ĉd ialog +sh i +m eter +(b est +valid ators +Ġon wards +Ġg uru +Ġmoder ator +ow ied +ex periment +r ub +Ġm qtt +ĠCa ucas +Ġnational ism +Ġm ange +ĉ ImGui +/ Edit +Ġin h +Ġint ellig +ero kee +ĉ export +Ġdiscrim inate +sub tract +ĠM oodle +ens er +ĠGuid es +R AP +-h ot +_gr p +.p icture +X A +Ġinit View +_Com m +Ġoverd ose +Ġ+ ĊĊ +ĠSil ent +show s +Ġinterpol ate +Form ation +Ġb isc +mark ets +( SC +Z e +ĠNetwork ing +Ġad renal +ĠG uns +ete or +Decl ared +orget own +Ġk arena +/ password +_address es +ITER AL +B uzz +ĠCon way +(c ase +P WD +he iro +( act +** čĊ +());ĊĊ Ċ +Ġan v +Ġ. .ĊĊ +(Menu Item +(m ail +_section s +ĉ net +Ġpl ut +Ġw rench +/ object +ĠI st +ĠV IS +/p ub +al ten +Ġguit ars +Ġantibiot ic +ï¼ ĸ + ¹ +Ġ" +" +form ula +Ġbab es +ĠP rompt +Ġen im +/ player +ĉ ref +Ġby Äĩ +Ġconsum es +ĠH ast +ĠT ao +Ġ' ))Ċ +Ġcl am +Ġthigh s +Ġmot if +Api Operation +ĠW L +get C +ĉf lags +oint ments +Ġeconom ical +need le +x ls +pr actice +ut zer +time ofday +- output +Ġfind ById +ĠBudd y +Ðŀ ÑĤ +Se ven +ĠB ark +Ġenv oy +_al gorithm +åĪ © +Ġball istic +ç§ » +r ades +ĉd oc +rodu cing +ĠE ating +Un mount +/data Tables +_b onus +Ġl itt +pp s +) localObject +per f +ĠHel vetica +sh utdown +/ ml +.t okens +ĠHard core +, row +/b g +Sc aler +âĢĶ as +_log its +âĢĻ int +ĉ App +Imp licit +.F printf +ET O +Ġterr a +Ġpossess ing +.r strip +, ), += yes +ĠStr ipe +? = +ne utral +.g ood +Ġk ennen +ĠS ung +f ault +ystate change +Can adian +',' ".$ +ĠM its +æ nd +ĠSTR UCT +ĠURL WithString +ĠCom pass +Ġ-- ĊĊ +ĠNS LayoutConstraint +| min +-ad just +Ġreb uilt +L IGHT +/ se +-m ount +vp n +valid ated +(Q Object +Ġign ition +ĠCharg ers +RYPT O +]initWith Frame +ĠFl uid +Ġcad re +Ġnomin ations +Ne ill +ĠH ou +Ġcurrent s +_g ene +(in p +Par is +z ÄĻ +ag gregate +Ġass oc +weet ed +err at +âĢĵ ĊĊ +Ġ'/ ',Ċ +fix ture +ĠH ighest +amb ient +Ġch mod +Ġcon te +Ġsens ual +Ġgar ment +z ers +ĠPower ed +dom ains +R eward +i omanip +Ġcock pit +out file +Ġbuilt in +Ġins isting +. vars +zip code +Ġ ���� +f ails +Ġconsolid ation +_ oid +Plan et +Ġ= ", +ĉ el +UIL T +ät z +af ari +ĠMc Cl +Tim eline +Est a +Ġfr am +Y E +Ġcere bral +Of Month +ĠP regn +Ġкл аÑģÑģ +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ +ĠF res +Appro ved +.S pecial +ĠProtest ant +Ġallerg y +_p cm +ĉC opyright +Ġsuper Class +" strconv +ĠMoh amed +Ġ' // +Fore Color +Ar thur +ĠJ ungle +Ġve ins +S ad +Ġback ups +ĠOp inion +û t +Ġinter mitt +ody n +ĠChrist ina +Ġand re +Ġevac uation +pa lette +h orse +ĠRes ident +ĠHass an +.N il +Ġa isle +ĠG rowing +Ġblog info +/s ql +_io ctl +Sc aling +ĠMon ad +_c pp +ĠH utch +ĠApple WebKit +Exp ense +_J OB +Ġpoint less +From Body +ant al +Ġdepict ing +ĠC ELL +Ġref in +ĠC NC +ì¹ ĺ +_dim ensions +ĠS AN +Ġa ft +Ġfoot steps +cc oli +_PH ONE +/m ath +-k ind +ĠMe ans +ich ael +.g una +Ġinaug uration +-dr iving +( delete +Ġtotal Count +_M C +.Ext ension +Com mercial +Ġz Index +< Customer +" g +-sh are +Ġp act +ag ara +ĠS IL +_m odes +ĠM olecular +Ġsystem atically +< G +_s cr +ĠO ro +as ers +Ġb ic +Ġdest roys +PI PE +.Start Position +Ġc á»§a +ire z +.B unifu +_F unction +Ġs ü +_f uture +ĠWe alth +ĠNatur ally +æĢ » +_y es +Ġabrupt ly +String Encoding +ĠCGPoint Make +Ġz h +Ġimp erson +Ġpiv otal +ĠSom alia +Ġsegment ation +_AN AL +ĠLogin Component +Cons ult +Ġtr uncated +] ";Ċ +.get Config +Ġintern ship +B aby +ê° ľ +Ġstrengthen ed +_M I +b asket +Ġnicht s +ĠTV s +ĠSh an +ãĤ µ +rac use +.Re LU +/ interfaces +ĠgetItem Count +Ġret iring +Ġspecial s +Ġentity Manager +bel ief +Ġs older +da ughter +ij kl +Ġutil izes +.f ixed +S U +Ġdr astic +Ġh acks +gr und +ĠM U +ĠSt arter +.Com ponents +_m otor +Gold en +Ġl odge +Ġ )); +ĠCor inth +иÑĩ еÑģÑĤво +ón ico +gre SQL +ĠFl uent +Ġmar c +.Load Scene +.Group s +Ġer h +ĠAut umn +St opped +Ġitalian o +Ġmin ions +ĠAssert ions +Ġm ux +B u +Ġ---------------------------------------------------------------- -------------------------------- +ĉ up +read ystatechange +_M eta +Ġcurrent Date +ĠChap man +Und o +Se an +ap r +Ġpar m +_ icons +ĠSt a +á z +Ġsub division +Ġalter ing +P NG +ponent ial +Ġpost gres +ĠB DS +-ex istent +ĠBrad ford +ĠO MX +_W HITE +_PRO GRAM +q c +Ġtypings Slinky +ĠP ics +_M ETA +IT TER +_sub scription +IRON MENT +ĠHy undai +();ĊĊ ĊĊ +ĠØ ³ +Ġj ac +Ġelimin ates +) });Ċ +Ġcomp rend +ĉ insert +_f aces +"> $ +Ġeb ay +Ġcapt ive +pl iant +ĠCalcul ates +ol ta +est ing +_re vision +Ġm ús ++ m +"," "," +WH AT +Ġcompassion ate +h arga +[ random +Ġmod ulo +(s n +Ġoccup ations +//// Ċ +ĉ board +ĠB alk +wi Äħ +ĠW ifi +.Pro file +:m aj +ĉm at +LOCK S +(j Button +Ġ(' $ +M ur +æĮ ī +b ble +Ġf rog +-h ide +Ġbroad caster +ภŀ +ha led +Ġam using +_predict ions +_in tr +Ġe agle +аÑĤ елÑĮ +Ġget List +ps ilon +Ġcharacter ization +AR DS +Ġre location +Ġr ulers +P AY +ĠDef initely +_A ction +Ġclos ures +Ġfact ual +odyn amic +Ġpreca utions +nie j +ĠPart ies +ĠSub aru +Ġcous ins +ar beit +.m oney +gun ta +( and +get item +.Style Priority +Ġsl id +single ton +Ġg arn +ĠP AS +Ġd azz +a ż +Ġbog us +ĠM og +Ġrival ry +is ol +Ġland marks +ñ as +B ern +ĠSach s +Ġ" )ĊĊ +Ġhost ility +_m ex +m ere +M ot +p ictureBox +Def ense +Ġaffid avit +other wise +.d irectory +_ UnityEngine +-b log +.s kin +ph em +Ap ellido +er chant +[ class +Ġw art +." [ +ale ur +/ back +ĠĠĠĠ ĉĠĠĠ +Ġprecip itation +Ġob struction +Ġp Obj +Ġr upt +UCK ET +ay e +æİ Ĵ +g x +Ġe cl +Ġsecre cy +/ Header +ĠLes b +Ġle i +ĠBullet in +Ġgive away +.H ome +_RO OM +" W +Ġcow ork +_ ra +ĠC ycling +ĠP aw +Ġpup il +/ arch +ĠFile Utils +é¦ ĸ +r sp +Ġfreed oms +ĠL ear +}` ). +Ġbow ls +/b lock +_log ging +Ġmeth ane +Ġhorn s +Ġwonder fully +Ġalter ations +Ġex ile +ls en +_p ause +_L ANGUAGE +ĠUS DA +_m ysql +_AM OUNT +ĠL IFE +Ġyoung sters +Ġri ots +[ E +Ġun forgettable +, },Ċ +Dis posed +ĠAss assin +UN G +ĠNew sp +User Service +: aload ++ ', +Ġsett lers +Ġscre ams +Ġincon venience +.R otate +Ġj ars +ĠP uzzle +Ġm est +ars i +ĠSh arma +| ( +.d s +ĠSac red +_e vt +Ġexpress es +Ġh och +ĠD uch +.c alls +th r +ĠShe ffield +.Alert Dialog +Ġrad ically +Ġtr ous +Ġprev ailing +ĠWW II +âĢĻ n +ens ely +ĠY esterday +ĠSir ius +Ġkill ers +ĠF FT +Ġo val +') :čĊ +Ġìłķ ë³´ +our age +ĠCheck box +Work book +.def er +_f loor +Ġc ouncill +Ġnors ke +mo il +ore a +Ġmarket ed +_S UR +x AA +Ġst ained +e ut +ĠM eng +Ġi eee +. extern +eg ie +Ġr app +ĠPy ongyang +' class +M ob +Ġinitial Value +_w ave +Ġj ab +Ġmascul ine +Ġampl ifier +Ġt ty +Path Component +_ xt +ĠG FP +/ sec +ĉdis patch +mark down +ĠS chn +bo le +· · +mouse move +Ġerr Msg +Ġas ign +_m ono +To Selector +ĠZ u +(R ect +ĠError Code +lat in +ang ible +v tk +CG Size +P okemon +Ġclass mates +Ġattract s +ĠT atto +ult an +ol óg +Ġhalt ed +ठ¨ +ĠK art +Ġ ue +_Init Structure +Test Class +ĠAir bnb +_ ", +Ġchar coal +Ġip c +ĠSt retch +.g lide +lates AutoresizingMaskIntoConstraints +Ġpot ion +ITT LE +Ġcount ert +_h d +pre pared +Ad s +ĠV ampire +rob ots +.Create Index +Status Label +Ġt ucked +af ür +U t +Ġswe ater +_F N +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĉ +ata ka +Ġeyeb rows +ac oes +ud en +.LinearLayout Manager +Ġsw ay +Ġmult in +() )))Ċ +ĠNS UInteger +ĠMy Base +Part ner +uts chen +ĠC ater +.setBackground Color +Ġaccompl ishment +_pro blem +.d td +Ġpage Number +Ġj ackets +Ġcro pped +u els +ĠH ep +Ġc apped +* Math +_callback s +Ġpub b +ĠBrun swick +.res pond +[" _ +Ġbed ding +hyth m +O X +(s peed +Ġpestic ides +Ġ---- --- +.Bl ue +Ġnood les +ĠGo es +Ġs aver +o xy +_com pletion +ĠSw inger +Ġget Date +Ġmind ed +int egration +ĠLot us +(st op +(', ');Ċ +Ġflood s +ĠWork flow +Ġerupt ed +Mac ro +ĠSau ce +Ġevent Name +\ Input +Break ing +ĉ when +_p w +IND ER +ĠWell ness +Ġvox el +ĠM ell +ĠM EDIA +SE NS +ĠFund s +ĠM ild +< Array +- this +ump ed +/f w +ĠDb Context +W I +girl s +H OW +'); ?>Ċ +Ġtempt ing +Ġtest ament +Ġb ible +Ġconsult ed +ĠIndex Error +è¨ ĺ +Ġkey pad +izz o +( ok +Ġwhats app +ĠRemote Exception +Ġteam ed +âĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶ âĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶ +» , +Ġget Time +di ag +iss y +Ġh ed +Ġkn ots +j om +Ġfun nel +-m ails +Ġexport ing +ĠV L +ĠK arn +ĠBuddh ism +ĠAll an +_R ADIUS +Ġw ording +ĠFor get +ĠCor ona +ip hy +Ġlim burg +ugg y +ĠUser Repository +im in +(e le +Ġlabel led +ç¤ ¾ +ĠH erman +.q q +Ġ" ));Ċ +ie ber +.Trans late +ry n +Ġdes env +um d +Sim ply +ĉm ode +R pc +ĠVal encia +Ġstaff ers +Ġsel v +ĠSpi ke +Ġdel ic +Ġer u +_D T +J udge +á» ķ +ĠBas in +.m utable +" url +Ġtar iff +ĠSlee ve +Ġfl are +.drop out +Ġbr ides +)) ,čĊ +_con straints +de struct +Out line +Ġdisappe ars +_lock ed +ĠNS LocalizedString +ck e +ĉ null +ad resse +Ġto pping +ĠJ oker +b ishop +но ÑģÑĤÑĮ +and ering +_ amp += time +_S pace +_P ULL +' = +Ġant iqu +Ġc ach +___ ĊĊ +ON ES +о Ñı +Ġun read +.p olicy +oooo oooo +ëŁ ¬ +Ġu sted +ĠRe ce +Ġal lem +ãĥ¼ ãĤ¹ +ĠThought s +ve illance +istr ate +_l ane +Ġfam ed +.Get Name +Ġsmo other +ĠQual ified +az ers +_ geo +F ax +ĠM inds +ĠR aises +Ġtrans cripts +Con versation +Ġremark ed +ëĤ ĺ +d ling +Ġdeploy ing +Ġshared Application +Ġk p +FontAwesome Icon +_d ummy +reib en +ĠJane iro +Direction s +.get Bean +s ass +Ġcommand ers +v ation +error Code +ĠAl loy +.local ized +Ð ij +Ġdish washer +ĠSou p +N u +_D efault +Ġune ven +Ġ/> ";Ċ +-B ased +Ġseam lessly +- null +ĠX C +Ġst ew +(d elay +AT ORS +ĠWhe eler +" H +e ast +. air +âĢľ But +Object Context +success fully +_l and +Ġfold s +_CO ORD +Ġsub po +.get Address +in str +Material s +Ñĥ ÑģÑĤ +de posit +-l ast +_GR AY += find +Ġmut ant +Ġlesb ienne +let cher +RO UGH +ure ka +.c apture +Ġen n +Ġ([ [ +ĠFl u +Ġtask Id +ĠHus sein +.f older +Ġa usterity +ISTR ATION +_ Impl +注 æĦı +Ġdec ree +- chat +Ġimp lication +Ġguess es +ul kan +An alytics +. plus +COM MAND +е ли +» ĊĊ +_S ITE +Ġequal To +Support FragmentManager +ĠRec ording +å®Į æĪIJ +Ġbag gage +Ġpitch ers +ĠE h +o que +ĉc nt +Ġ=> $ +/ foo +IR A +ĠSat ellite +bor ah +Ġ}} "Ċ +ĠEnd s +ĠSpr ay +, param +.Ch rome +* q +th ought +ibr ated +Ġth ieves +Ġbenefici aries +Enter ed +ottes ville +Ġveter in +By ID +qu ipe +um ption +- unit +Execution Context +@ s +ĠG iov +.Tool Tip +_f riend +( attributes +Ġdump ing +ĠJ C +_D OCUMENT +ĠArm our +( insert +.Horizontal Alignment +ĠQ ed +ãģĦ ãģ¾ãģĻ +/g it +ĠY YYY +ĠCard iff +Ġap a +organ ic +ĠWhere as +Ġæ Ŀ +ĠM ia +Ġdemol ition +Ġsc ars +Ġp ai +Ġre tries +Ġr q +ĠDen is +( Utils +Ġallev iate +ĠP IC +id ue +Ġacknowled ging +Ġ// //////////////////////////////// +ç¡® å®ļ +Ä « +\ Json +.b inary +Ġx type +sign als +ĠAp pearance +& r +} s +C i +ĠI llum +por ate +h og +Ġindex Of +\ Command +_par allel +ĠSher lock +í ĥ +Ġ" ")čĊ +//////////////////////////////////////////////////////////////// //////////////////////////////// +Ġcritic ize +ĠSo ap +ĠMatch er +Ġgr illed +* T +Ġad ore +ull ing +Ġjed och +_ref s +lean up +ĠJ AXB +Ġro ses +ĠL iam +size i +Ġget char +Ġtar de +-to oltip +Ġqual ifier +ĠInter mediate +_W indow +ĠMal ta +Dis connect +ew here +Camp o +Ġirr ational +led o +ĠD N +ARG V +Ġout ro +Ġth irteen +Jose ph +M AR +/g l +J ess +ĠPsych iat +Ġpadding Bottom +- loop +/ fonts +_se en +Te ams +React DOM +(m an +(x path +.get SimpleName +>( * +ĠP vt +Ġel ders +Ġp ies +.user Agent +- region +ĠGree ks +(f ragment +st u +Ġcouncil s +Ġst amina +ĠGod dess +è ¥¿ +Ġphilosoph ers +Ġpers one +ĠL ose +ĠCL R +ĠD ocs +Ġso ak +ĠHOLD ER +Ġb ells +hash Code +R ATE +_WE IGHT +in ous +end ra +oph obic +Ġpro se +Ġfin ely +/o auth +(s pace +ad ge +ĠM ama +Ġstring Buffer +Ġst int +Ġmis ma +Ġvill ains +ĠCrime a +Ġdipl oma +Ġпо Ñģл +ĠBe a +(j oin +Ġíķ ´ +CH AT +per ing +ĠC ros +Ġmon keys +Ġpred s +yl a +,, , +Ġvibr ator +ĠN U +åħ Ī +f ant +z et +Ġb ietet +un ft +sw orth +.F low +Ġpsy ched +ĠContin ental +> t +Ġqu ilt +. UP +Ġexpans ive +Dis pose +(l anguage +C aps +_Z ONE +Ġrec ycle +ĠMan aged +current Color +.b roadcast +sign In +.p rom +ll u +ue blo +Ġpunch es +Ġautom at +Ġassign ing +Ġcreate User +ĠAll ied +Ġconduct or +Ĥ ¨ +Ġs addle +Ġd ni +omed ical +-W est +Positive Button +Ġit alic +? [ +(tr igger +Ġele phants +":" "," +Ġcal iber +raft ed +d igits +Ġmar shal +mill iseconds +mark ers +m om +/ place +Ġhol istic +: t +# , +Ġb oto +Ġnause a +ĠSh ooting +ite ch +Ġtext Status +< Class +ĠDes cribe +Ġbuff et +g il +Ġlog its +std call +mod s +ĠSk ull +ĠB are +h ope +ĠIn tr +F air +ĉ pt +Ġacompan h +Ġf kk +_r pc +Inst alled +_ ans +.get Minutes +â̦ "ĊĊ +- thread +Ġpres chool +AIL S +Ġdiff ic +( convert +ĠN ath +ĠDO J +Ġreg imes +Ġenthusi ast +Ġwarrant ies +Ġfasc inated +_b inding +_N ot +oft en +_R W +/m ail +Ġtitle Label +Ġvill agers +ĠJ iang +Ġsw agger +.Row Index +_img s +rap y +VER AGE +. Up +Ġno op +c io +ĉ ST +Ġdecre ment +Ġmagn esium +_ rotate +S it +Ġnieu we +Ġter med +íķ ©ëĭĪëĭ¤ +Ġur g +_t ouch +Ġsw arm +Ġcl ave +th est +ĠL af +H X +ĠH ulk +Ġplaint ext +ĠSof a +get Session +L ed +Ġecosystem s +he i +ĠK ills +Ġhus bands +Ñħ ÑĢан +(d om +_t iles +Nib Name +Ġdon ating +. acc +Ġlifes pan +.b n +_RG CTX +æ ¥ +ans en +Ġmod elling +Layout Params +ĠonChange Text +rs a +- location +.P e +(b us +(s ong +Ġprodu k +ĠSH OULD +ĠC J +Ġs os +ĠHome Controller +.load ed +(D ocument +.s ocial +t iles +Ġl ame += df +.parse Long +Ġpr ac +Ġdet ox +ĠV E +Ġpunt os +Ġdo ctr +Ġan cor +CA PE +Ġc mb +çĦ ¶ +*) " +:// / +Value Type +Ġmort gages +; q +ĠRock ets +s port +UG C +ct s +ãĤ ģ +ie ur +ĠAppe al +(n b +//////////////////////////////////////////////// //////// +IM ATION +ĠC res +ĠMan ip +C ause +at ypes +man ufacturer +# ---------------------------------------------------------------------------- +Ġsp or +es on +Ġpun ched +Ġbook marks +ĠBul k +Complete Listener +ĠTalk ing +ĠEr nest +Ġrub bish +k ills +ĠDE FIN +Ġneighbour ing +ar lo +ĠP CA +ĉm atrix +lo k +Ġat las +ĠG ur +Ġw yn +-n egative +Ġt ul +Ġre lic +ĠV oltage +ĠPre is +ĠJ NICALL +ĠPM ID +ak et +ĉ attr +Ġet iqu +ĠM J +ĠG mail +cl r +_exec ution +éĶ ® +pos itor +. af +N r +Ge orgia +Top ology +Ġperch é +Ġmus lim +Ġepid emi +Ġsab ot +act us +Ġë ĮĢ +ĠIO Error +. est +p refs +ĠKr ish +.Read Key +NAS A +u ção +_D b +umer ator +W ide +(st atement +.end point +.... ..... +Ġ[ * +stream s +m time +P x +at r +Ġt pl +R oman +Ġscen ic +.n z +ĠSe conds +sub menu +Ġìĭ ¤í +_b undle +Ġde ÄŁ +ĠS isters +pre ferences +Ġport a +Ad visor +max Length +ĠG REAT +__ (Ċ +ole st +ĠLabel s +Ġen fer +ĠĠĠĠĠĠ ĊĊ +ĠThe ft +_F ILL +ĠW ise +) application +un ami +> ())Ċ +ADD RESS +B ST +et zt +ĠQ gs +S ense +Exception Handler +ĠCh u +.get OwnProperty +Ġexerc ised +iot ic +ĠRe leases +Ġp interest +ol ie +is oft +Ġsequ encing +Ġpad re +] ));čĊ +(r adius +.m ed +aint ies +.Object Model +Ġem ple +Ġseg uro +St ars +Ġqual itative +lem n +á» ± +> "). +Ġg x +-c ert +ĠAST M +Ġfull name +Ġte lemetry +ĠCamb odia +_ ul +ĠCl are +C USTOM +Q C +ĠUn s +ĠHTTP S +ĠPark inson +ancy box +',' . +T ue +.get Last +Ġab i +Äħ d +A st +ĠEd iting +.Un ity +j mp +Ġm ats +Ġshared Preferences +Capt ain +.page Size +Ġr tl +Ġan meld +Runtime Object +Ġdemand e +(" ; +se ite +-head ed +ĠK ra +ĠF ONT +` \ +Class NotFoundException +. avg +atic al +A j +Ġpermit ting +Pro j +ERR Q +Ġcre ampie +ĠBuy er +-mod ules +ĠSund ays +| `Ċ +Ġday time +Ġ+ ( +Ġgl itch +ĠOper and +Ġtox ins +iny a +D NS +ĠS as +C ake +ĠNation als +.add To +Ġs inking +Ġcompreh ension +Ġsc or +ag ements +Ġt ard +Ġmarch ing +ĠM TV +Ġs ane +Create Info +Ạ¯ +Ġend Index +ĉ layout +ĠåIJ į +S ITE +ĠT HERE +Ġ[ {' +opath ic +Ġtrans mitter +/ body +Ġp und +ĠC losing +Ġset attr +Ġbound ed +At las +sum ing +(t imes +par er +yn om +fe it +Ġf rem +- leg +ĠBr as +> # +Ġì¶ ľëł¥ +ĠIN STANCE +ĠC ouch +_host s +lik elihood +.M arker +ĠM asks +Ġcere al +util ities +Ġelement al +Ġdist orted +in active +c ry +W L +UPPORT ED +.Th rows +/s chema +ser ie +." ', +ĠBened ict +-p icker +ig gs +ĠPir ate +åij¨ æľŁ +ĠTh ema +ĠSouth ampton +Ġarray With +ĠPaul a +Ġpredict or +- Ass +.user id +Ġper i +Ġexagger ated +ur ate +arse ille +ĠCon cent +ĠP ik +Ġ@ _;ĊĊ +Ġform ations +Ġden omin +"/> .Ċ +ended or +Ġpan cre +Ġam t +Ġon Resume +on Delete +ĠB CH +) (" +m ovement +Ġpot assium + čĊčĊ +ĠMah m +} ";ĊĊ +Ġd q +ĠPublish ers +ĠAm pl +ĠDani elle +Ġt ern +èµ · +no ÅĽÄĩ +e in +ĠAsync Storage +un ger +rou w +Ġsc issors +/ assert +.b ucket +/ archive +_M an +Ġint oler +Ġ() => +ĠÐĴ Ñĭ +Ġsa i +.x y +." čĊ +Ġur inary +es ub +IST ICS +ĠÎ º +Ġcompl iments +Ġtypings Japgolly +ih ar +Exp ansion +ĠS erving +_st udents +ĠX BOOLE +( il +Ġì² ĺ +Ġj ó +(t ol +( JS +ĉC G +ĠD RAW +tw ig +Ġo at +_sm ooth +ĠC SL +Ġos ob +Ġens uing +Ġbank er +ĠBack pack +_p ing +Ġwish list += ax +ĉĠĠĠ Ċ +Dis ney +stead y +"> % +Ġproph ets +ĠZ X +Ġminimal ist +.PL AIN +Se attle +. ordinal +ĠPI PE +Ġret orna +Ġjug ador +ĠB ret +ĠâĶ ľ +Ġpl ush +UL ATOR +Sort ing +.grid y +ect omy +_ activ +r ack +Inter active +ĠAntar ctica +Ġv engeance +en so +_k nown +up plier +.Mod ules +ĠConnection State +éļ IJèĹı +@ FindBy +Ġpl acer +\ model +< ()> +.is Successful +-g ood +b z +ĠDr aco +Ass istant +-ex tra +аб лиÑĨ +Ġhyp ocrisy +Ġt st +ĠA gr +$ txt +Ġlog istic +lic ensed +ĠH of +Ġt at +( iv +Ġinto xic +post Id +_st rike +Ġhum iliation +pc odes +" sync +(rec ipe ++ N +rent e +ĉ Client +ycop g +ĠZur ich +ĠPro files +C ountries +Ġp ict +Ġroll out +requ encies +Ġpatch ed +Ġcar tridges +Ġsh ading +J ar +Ġsalv age +ĠTax es +Ġstand by +apor an +E igen +. angular +ĠN ested +äº « +Ġis Visible +ĠDw ight +_BR ANCH +.D elay +Ġk end +Ġfacilit ated +.flat Map +Ġs anta +ĉS end +/m essages +Ġof Type +ĉs wap +# plt +ĠTur ks +N ES +Ġprogress ively +ĠRes idence +ĠT REE +Ġno en +d io +Ġn elle +Ġsog ar +itt i +week ly +Ġambigu ity +_Set tings +W are +.ne o +_D ST +Ġæĸ ¹ +pre p +lob by +@ email +/m ovie +Ġfun kc +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ċ +ÂŃ s +Ġguard ians +- pos +Ġconfig uring +ĠC PS +ĠDe us +Ġvidé os +_ empresa +Ġsl apped +< Model +Ġunders cores +U h +.access Token +SET S +ĠS parse +ĠCal d +: path +ĠS ervers += batch +Ġkn itting +Ġx a +Ġsearch Bar +Ġsn ag +Ġinf used +.b am +le ver +Ġtax onomy +Ã İ +Ġatt aching +Ġh ern +_N OP +Click able +(P arse +ĠDynam o +-b uilder +Ġdere g +Ġsc attering +è¿Ľ è¡Į +an zi +ĠShe pard +"> ',Ċ +_X DECREF +ĠBuzz Feed +_M ARGIN +P LOY +.sm all +Ġm imeType +Ġh olog +ĉc amera +li as +Ġsusp ense +ody nam +b au +Ġgrave yard +_n amed +":" ' +Ġ******************************** **************** +Ġgame Over +ĠLENG TH +ĉs creen +Ġdo InBackground +_depend encies +Ġr tc +/ up +_ ROM +H all +Ġdef iciencies +( te +' # +_e quiv +Ġpre order +ĠA xe +ом Ñĥ +.send File +Ġfil t +ĠLim its +ĠCaval iers +.dis count +âĨ IJ +ĠW it +QRST UV +Ġi j +Ġt egen +Ġ: ", +diff iculty +p unkt +ĠEmail s +ch lor +(f un +.U int +ĠSt all +_ verified +u D +File Type +Ġple asures +Ġjud iciary +Ġsh am +ip ur +_PL US +off ers +( foo +_G T +ĉc ore +ENT ION +ĠLib eration +Command Line +_de partment +.A r +_ne ighbor +ĠSub mitted +ĠĊ +Ġdro its +Ġhomosexual s +Ġab duction +ĉw idget +$ headers +ĠD AR +Ġfl a +th reat +Ġlou is +.Get Property +" Just +(f rames +ry o +prof ession +| i +íķ´ ìĦľ +(s v +Ġun recognized +I onic +F ashion +Screen State +ĠIn coming +Not Nil +Ġsync ing +em ie +Ġtherm o +_pro cs +Ġincons istency +rel igious +.m j +Ġperson n +Ġmoment os +or arily +Ġæ Ĭ +_ne urons +Ill ustr +im oto +il ik +ĠW oj +Tr ading +Ġapp are +Ġentre prises +ach at +Ġ ¬ +Ġne igh +BUTTON DOWN +ĠMah er +ag han +-h ash +" f +Ġclient ele +.add Button +ĉ SP +Q i +Ġgr ated +POS ITE +: > +ĠHow ell +ĠCompar ative +ĠIS C +ÂŃ i +O cean +D avis +ĠFil me +W ins +ĠJ IT +oc cer +ĠC orm +ENCH MARK +rch ive +ica ção +Ġm ata +Ġchild birth +ĠOption ally +En s +Ġx http +Ġel ucid +_Osc InitStruct +)) ):Ċ +Ġint uit +ĠDon ate +Ġcorrel ates +> Delete +Ġequ ipe +Ġb oca +Ġinfl atable +er ah +ĠDateTime Kind +Ġcal ves +\ Lib +Ġem lrt +ĠTr ilogy +ĠP anc +ĠD uis +ĠpelÃŃcul a +WAR DS +_DE TECT +-section al +dh cp +For Row +-de struct +ĠPres enter +/s lick +, on +ĠCit adel +logged in +_sub type +Ġsig ue +Ġc uring +ĠFire wall +Ġfluores cence +ĠItal ians +иÑĤ ÑģÑı +.get Style +In Seconds +j ie +-S mith +Ġx link +Ġsub missive +он ÑĤ +arbon ate +ĠF aul +_go als +ĠCommission ers +chart Instance +_POST FIELDS +Ġmed ial +Ġman os +Ġdel t +sv m +.Ap is +ep hy +Ġasym pt +Ġapp Delegate +Ġimpro bable +ck a +sim d +/ Error +. âĢĵ +ĠP TS +de er +Ġs ina +m agnitude +ID ADE +'] }' +Ġmay ores +ĉ comment +/ console +" @ +v olt +.s ell +ĠM acy +Ġmel od +Ġim ágenes +_ch g +Ġin out +ident e +) '),Ċ +d ni +.b lob +Ġtyp ography +Ġe erie +_O ID +pes an +aj an +Ġch opping +Ġbl uff +ad f +_b ases +.Form atter +Ġ\ % +ĠPage Info +Car rier +ĠCal ibration +com o +-b odied +Ġfinanc ier +ĠIN A +. ERR +Ġhood ie +ĠSan ity +gu arded +.opend aylight +ISM ATCH +High lights +ün k +ani em +anger ed +assign ments +Ġregistr ado +ĠU PPER +ampil kan +ash ire +ĠNik ola +ĠC FL +ĠH DC +Ġp oids +ĠIP s +Ġprevent ative +ips oid +if ix +.c amel +.g a +V olumes +- ste +Y ahoo +_s ibling +H ighest +opt group +Ġkvin na +âĢĿ ãĢĤĊĊ +ĠAppl iances +Ġ" >< +') ")Ċ +ht t +ĠIdent ified +Ġpenc ils +Ġmember Id +Ġappend String +.load Data +Ġmock Mvc +Ġj ub +ĠSl ut +ĠTai pei +st att +Pol it +Ġpart ager +Did Change +Incre ases +) }. +ĠB aba +_CL IP +[ unit +Ġк лÑİÑĩ +Ġalc uni +ĠL ola +Ġcl inging +@ PostMapping +(con cat +Ġss id +ĠFa uc +ok it +ĠRecord ed +á lez +($ ('< +.assertIs Not +Ġk ali +V olt +Ġwarm ly +Ġsca res +get ti +füh rt +_d oes +. EMAIL +im ations +Ġspring fox +ĠDec om +arc y +Ġgl itches +ĠM off +ĠV oll +.b etween +Ġcoord en +ĠPart icularly +GB P +Ġsem ble +East ern +_M SB +]) {čĊ +m organ +ĠE VAL +d ere +HO USE +mo ire +ist ique +_l stm +-com mit +yster ious +Ġtw ink +-th umbnails +en ÃŃ +:' ', +Ġblack out +ĠFlo ors +Ġso fas +Ġou i +lesh oot +ĠRa q +- abs +Ġk ra +M ining +sha ft +.set Columns +Cl azz +PRE TTY +.play list +éĸ ¢ +-Sah aran +M ING +ĉ bl +è® ® +j f +DO CKER +hope fully +( ignore +ĠUsers Controller +ĠMitar beiter +ĠL ES +Ham ilton +-m etadata +ĠK K +ikt ig +Ġwoll te +egr ator +] bool +, current +Ġvalue Type +Ġexcav ation +ol and +Ġv erv +/file path +Auth Provider +Ġpro crast +ĉ ULONG +_MEM BERS +Ġup lift +ĠAut onomous +Ġart works +ĠOut reach +Ġp ore +Home page +Dialog Title +ĠGener ating +PAR SE +Ġsem anas +Ġhuman o +JSGlobal Scope +Ġvol te +Ġb ella +(is instance +Ġpl c +\C atalog +Ġeste emed +éĽ · +(s uffix +Ġswe eps +ĉ ORDER +Ġdo ivent +ĠSw arm +ĠComp iled +get Page +AD R +.R ichTextBox +ĠN aming +ag ged +ĠG ANG +r asing +ode led +Ġg ala +ĠJS Name +dd f +Ġill ust +ĠLans ing +[ port +-de ath +Ġdin heiro +ĠE ighth +Ġb ian +st Ã¥ +Ġvers ión +ĠLinear Gradient +ĠHard ing +. *) +ec zy +$ header +Ġv Ã¥r +Un checked +Ġko je +ĠPal adin +() )), +G iving +() })Ċ +Ġd ips +F riendly +Ġport rays +Ġhel ium +Ġinsurg ency +_ex piry +ĠstringByAppending String +Ġa antal +s lope +m ast +.get Integer +Ġ################ ######## +_PIPE LINE +Ġdens ely +Ġmut ating +m idi +ĠSe it +ay ne +NOW LED +ĠDes mond +ĠF Name +ĠN airobi +\ Context +Ġcalc ular +-d en +Ġc ott +] ):čĊ +ĠRecommend ation +ĠRole x +Ġvalidation Result +.p at +Ġn Ãły +ĠRest Client +ĠG PI +ĠAshe ville +ĠO SP +ĠPER MISSION +ÐĶ Ð°ÑĤа +/ notification +K night +_W ord +ĠB ender +rank ing +Ġpart ida +_res ervation +Ì Ģ +Ġm Name +Ġget ch +Ġb orr +Ġdilig ent +Disc uss +æŃ£ åľ¨ +ape ake +ion ed +-N azi +.c um +ĠK ron +=$ ('# +/s ingle +Ġerot isch +ĠV ib +Ġrat ified +Ġconcert ed +ĠREG ARD +Ġdo br +.Driver Manager +' r +Port able +ĉs uite +Ġrel aciones +ĠD op +emplo i +DO B +Ġcr umbs +Ġx ls +_App lication +(': ', +Ġ---------------------------------------------------------------- --------Ċ +m se +Ġber k +ĠReturn Value +ĠBel ly +Ġcam ar +ĠPe ek +els ing +Ġnot ifies +ĠTr istan +ĠG AR +em me +ĠElev ated +_C SV +(ch alk +Ġtw enties +ĠSearch Result += search +ĠMix ing +ý t +Ġrecru iter +ĠIDE OGRAPH +ĠA go +( Operation +$ values +Ġworld ly +ĠRosen berg +ĠConfigure Services +>* Ċ +Ġsn ork +_op acity +ĠinitWith NibName +i ado +A AC +Ġ] ). +; z +_par agraph +Ġnos es +stand s +if r +_m E +I raq +.P redicate +ena ire +]] ];Ċ +Ġun idad +Ġretire es +_h ello +Ġmode le +ĠUIT ableViewController +f write +_num ero +_vis ited +Ġrece be +( Notification +Fant astic +_sub menu +ĠP EM +ĠCup ertino +approx imately +class ed +.Read String +Ġdomic ile +_P W +Ġball park +ĠK ale +con tra +_f avorite +/ of +Qu ite +ĠOT A +Ġacceler ometer +did n +| ^ +ĠRohing ya +ivic rm +ann abin +обÑĭ ÑĤи +or ado +') + +Ha unted +, ID +( UIAlertAction +ur v +_b el +ĠMex icans +/ terms +ĠPaint er +Input Label +ĠV inci +ĠRos ie +\ uc +< Menu +Ġcool ant +(current User +_d ual +) "},Ċ +& p +Ġconver ged +Ġrestr ain +ĠYugosl avia += target +Ġimp uls +ds a +Search Tree +Ġh box +ĠImp ress +§ Ãĥ +get FullYear +(d a +ĠY YS +.al ignment +.Get Text +.token ize +ĠOlymp us +Ġmur ky +ore station +Ġdiss atisfaction +ĉT Array +_ kses +.Add Singleton +ĠStart Time +Ġfan atic +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĉ +Ġentity Type +. override +Ġ ------------- +ĠDat agram +f out +(with Id +Ġ# __ +Ł èĥ½ +ek yll +.f riends +ame leon +Ġz ach +.simple Button +ret orno +Ġkon k +/s mall +ĠQuick ly +un read +Don ate +Detail View +Ġdu a +Ġpenetr ated +OM UX +Ġn ir +_p data +"], [" +Ġlow es +Ġdop ing +Ġas ymmetric +Ġneed less +our cem +Ġup ro +ĠGu zzle +af b +Ġsext reffen +-c ollar +Ġcol ossal +Mon key +n ish +Ġhandle Message +Incre ased +* dx +ĠChatt anooga +f org +ĠOr den +Ġsh ri +ĠV and +Ġ" @" +Image Sharp +ĠWild cats +pon ible +.sc enes +Ġpaint ers +ĠPf izer +ĠZ ah +To Local +ĠFl am +Ġé taient +)) ^ +ĠSand box +ĠTR ADE +Ġchrom ium +Ġac claim +Ġpac man +´ t +) reader +M ari +.Dispatch er +.A DMIN +ĠRem ed +Sw eden +Ġoverl ays +. er +Ġp ang +Ġclean ly +aven port +Toy ota +patch es +Ġv tx +ĠE is +cl ado +ĠR itch +RO LS +Ġh ade +Ġconspic uous +Ġdo cks +(j q +ĠPrem iership +ĠBe z +ĠâĦ ĸ +ĠÑĥ Ñģл +_tot als +Ġprov a +ĠC ue +Ġsa úde +ĠGame Controller +IM IZE +, port +ãĢĤ ( +.C decl +Instant iationException +Ġcoll age +ĠIO C +Ġb ais +Ġon Finish +-st ars +set Size +Ġmog ul +Ġdis illusion +Ġche vy +(S chedulers +( IR +_loc s +Ġcann ons +Ġcancell ing +/b us +Ġbuf io +ĠY ours +ĠPik achu +Ġter me +r Ã¥ +f ahren +Ġowner Id +Ġoblig atory +Ġcul p +Ġacid ity +-m ult +ĠBam boo +Ġ' "> +_g s +Ġcomp il +n ard +-ex c +Ġrh yme +Ġbut to +s ays +ant asy +ë ¸ +Ġcitt Ãł +Ġche g +Time String +Ġpos itivity +ĠD abei +Ġw ang +Ġes cre +" c +ĉv ideo +ĠRank ed +.str ings +>> >( +Ġин ÑĤеÑĢ +Ġrest a +[: ,: +Ġrend re +Ġdes er +J os +Ġdis ruptions +Ġоп еÑĢ +s ampling +sup press +Ġcontainer View +ĠSeam less +Ġair y +Ġon load +.Window Manager +ĠPL A +br aco +.set PositiveButton +Ġp du +Ġg si +ĠC li +_gr adients +Ñı д +ĠWh isper +c stdint +Ġl äng +Ġform ulations +én om +ourn emouth +[$ _ +Ġordin arily +.set Username +Ġfacult ies +MIT TED +/ values +Ġwe ir +ĠA pt +M Z +ĉc f +uck en +ĉĉĉĉĉĉĉĉ ĉĉĉĉĉĉĉĉĉĉĉĉ +def ense +[i Var +ĠBusiness Exception +Select ors +(co ordinates +ĠRes ets +ĠDr inks +ole ans +(st ypy +_IO C +.x xx +ĠSl ater +ĠBel ize +Ġ/ ************************************************************************ +add in +_ep isodes +Ġis chem +legal ArgumentException +D anny +Ġp ared +.code haus +ĠAss y +ĉ Rect +â ŀ +.list a +Ġв аÑĪ +Ġv ets +HW ND +ison er +Ġx o +Ġor ally +ĠSt mt +.r nn +ĠD PI +ĠStr ikes +.setViewport View +Ġèĩª åĬ¨çĶŁæĪIJ +Y ELLOW +GL enum +part ners +ĠImp licit +Ġtak o +âĢĻ elle +Ġerm ög +total Count +G il +ĉ work +Ġpr atic +in ati +ab ies +ĠSk inner +Ġspir ited +Ġpancre atic +Ġh df +' em +Ġpsych osis +olic it +Ġ" {" +_at ual +Ġé lect +TE AM +Ġd ak +ĠSW AT +.Fragment Manager +Ġprovision ing +l ifetime +_EXTENSION S +ĠC ASCADE +Ġ! [ +(K P +Ġv em +ĠInterr acial +'] },Ċ +sp acer +_k v +W arehouse +R DD +_f sm +.Stretch Image +, Yes +ĠRefuge e +ĠBr inging +Ġv álido +.inter section +Ġsp ooky +_port al +Ġmo th +ĠZ odiac +ĠSOC IAL +M imeType +'] }} +_Bl ue +Ġbot anical +Ġfr ags +Ġfamil ial +- du +Ġse izing +(block s +.r d +.check NotNull +Ġmis er +Ġmax x +ĠK nee +View Item +Inner HTML +D anger +(( __ +Ġprz ypad +create Url +** , +ĠDecor ating +ATEG Y +?> / +.Design er +hex digest +ĠEvery where +all eries +.TEXT URE +.Block s +z ell +Ġpre ço +S uddenly +input Email +(s ync +.b d +gold en +> '); +ĠDick inson +>> (Ċ +ĠQUE UE +Ġget Column +ĠS AND +.p iece +lic er +Fl utter +Ġget Version +Ġresource Id +og l +ÅĤ aw +.Br anch +ĉ web +Ġfr amerate +PP P +Ġfr ay +C NT +Ġinformat ie +'] čĊčĊ +ne as +Header Code +Ġæ ¸ +Ġtr g +raw types +H onda +Ġmark eter +Ġrequest Data +ĠP g +ĉ not +Ġpage Info +Ġakt uellen +ãģķ ãĤĵ +ĠA MS +push ViewController +ĉ AL +Ġv ests +produ ce +-m ême +ĠRah man +F unny +E Z +_ Valid +Ġsquad ron +Ġl ash +Ġ irm +ias co +ĠPar an +Ġpet ites +ĠDec ay +Ġun initialized +priv ileged +Ġm bedtls +å¤ĩ 注 +Ġ^ . +Ġec static +D etroit +Ġpart en +Ġsou venir +.get Login +моÑĤ ÑĢ +en ção +ĠmÃŃn imo +ĠAccess ed +ri ó +M ic +ĠV ocal +.Set String +Ġmens ajes +åĢ į +Ġattr avers +ĠA ph +Ġ' );čĊ +ünd e +Ġench anted +ĠRoot State +ĠCLOSE D +ĉĉĉĉĉĉĉĉ čĊ +Ġcal iente +or ris +Ġphysic ists +h wnd +_v i +Ġráp ido +Ġcapital ized +ed By +Ġmach ining +Ġhub by +ĠSt acy +.B us +dr ink +H ur +Ġprop ia +Unit Test +Ġmiscon ception +__ ));Ċ +/d c +ĠMay weather +_m C +.create From +ĠQ Painter +rops ych +inn itus +ay as +Ġg eg +(d w +Ġus ado +Ġtrick le +Ġann ihil +ĠP asta +Ġ++ Ċ +(Expected Conditions +.post Value +ic ap +ĠDon etsk +_s oup +-p ublish +ĠP b +ment ions +AC CEPT +.P ull +,âĢĻ âĢĻ +Ġret arded +_AT OM +ĠTermin ator +-c ourt +ĠCLLocation Coordinate +Ġrever ence +ĠS SC +ut ely +ĠW ON +ĠG SL +fre i +.get Longitude +Ġopen FileDialog +.B utter +- important +_M ANY +ĠG ong +âĢľ How +Ġg orge += msg +ĠEz ek +create Command +: checked +Ġinf ographic +.W EST +Dir s +Ġguard a +Ġbeet le +< small +- android +Ġcred itor +ĠM éd +Ġfinal ist +Ġab l +ne v +_inter action +ĠMonter ey +j ah +Ġcand ies +ĠQu incy +èª Ń +Ġbatch Size +ak it +Ġo be +(p ara +Ġexperiment ed +Ġcouncill ors +Ġcl ashed +s qu +-st rokes +ĠG K +ĠEx pires +Ġprosec utions +ĠCreat ures +Ġy ö +x lim +_IM P +Entry Point +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +.Default CellStyle +Ġbre ve +ĠBrit ann +Ġsweat y +Ġle th +Ġflash back +per manent +ĠJ DK +_D etails +E uro +p pt +Ġrich TextBox +/ board +Ġtr ance +.c ycle +'); ");Ċ +Ġtox in +_de init +Ġover arching +Ġconfig parser +ĠKaw asaki +.th umb +Ġplay a +ĠJose f ++ _ +Ġzero es +Ġa up +ĠH ari +comm itted +N it +.file Path +ĠDis abilities +man ufact +-al igned +.RE SET +Ġrust y +E y +Ġou sted +cos a +Struct ured +.get D +Ġs ábado +> Loading +_m A +.get Random +bl ings +Ġchees es +tt i +. âĢ¢ +ĠBurg ess +ender it +. ',čĊ +(" "+ +ac b +% p +index ed +_pred icate +nes ia +Ġb ied +ĠC IT +( Pos +_r adi +ä»· æł¼ +B iz +ĠAdoles cent +Ġvi ên +c ycl +_C ancel +Ġcon clusive +Ġappell ate +inform atics +S J +Ġelect ive +role Id +Fetch er +ĉ Command +(" (% +Ġf art +IL A +get Block +A USE +Ġд ан +ĠAr te +Ġnot ifying +Ġge le +.s ame +ĠReg el +ĠBa ÅŁ +.c reation +ĠV N +_comm unity +Ġuns ustainable +SE X +Ġgrid Size +res cia +avers able +(', ')[ +ĠPh elps +á»ķ i +ANCE LED +- IS +.run ners +ĠSt okes +.P rodu +Ġwh ipping +_ac quire +Ġinvestig ación +f ried +.copy With +ĠHard cover +- Se +áŀ¶ áŀ +inv itation +les ai +ĠD orm +ĠÑģпиÑģ ка +Ġconcaten ated +oph il +Ġthink er +/font awesome +ĠLe opard +Ġ"/ ");Ċ +Ġresidual s +ĠMic rowave +Ġconform e +th rop +Ġdis emb +ĠO MG +ĠDisc ipline +ĠAc robat +/re pository +df a +_M ED +buf io +Ġméth ode +_H OLD +ias i +_ legacy +) ččĊ +æ£ Ģ +Get ProcAddress +Ġy ay +ot ence +order id +-t w +Ġdear ly +In coming +/ il +Ġneu rop +uc z +); čččĊ +ĠInnov ative +Ġprof und +ig mat +Selection Mode +re levant +.G O +Ġbru ises +Ġs ach +ode f +Ġre imb +/d esktop +-s pot +und ance +Ent ropy +\ core +Ġsug er +ĠM vc +ĠGN OME +_ind x +ĠYY STYPE +ĠMat lab +ĠC IF +Ġ* )) +Ġproduct List +ĠAl right +ac emark +ÑĤи в +mod ification +int ernational +Ġhom ers +Ġdict s +ĠQ Font +.SQL ite +Ġtransplant ation +ĠMessageBox Button +ĠEl ves +'] ])Ċ +(Q Icon +Ġcin emas +CO ORD +- China +Ġkh ẩu +æĪij çļĦ +Ġskull s +Ġpain staking +f ce +.XR Label +Ġspec ifier +Ġpref erring +/ activity +( Photo +á lt +.l ot +' '. +ann once +.google code +-p df +ĠP oke +_A CL +Ġend owed +dis cover +.om g +Ġwood land +.M agic +Ġvol ont +Not Allowed +Ġch ave +BM W +',' =', +ĠS IX +æĪij 们 +Ġkos her +Ġaspir ation +int l +_ref ptr +'+ Ċ +ment or +.cl ub +Window State +.A RR +Ġz za +Ġmessage Type +.e qu +Th or +Ġin just +Ġg ums +Ġborder Side +//// / +ĠTrans mit +Ġbuf size +Ġh ak +Ġell as +R ANDOM +ĉm c +Ġpe a +ek o +document o +Ġhyster ia +Ġaren as +Ġgun men +Ġm ike +Ġimp unity +atis ation +_Z ero +_COMP ANY +ĠG ors +Ġuse Class +( redis +ĠRUN NING +ĠB air +vel te +Ġ',' . +аÑĤÑĮ ÑģÑı +ö st +encode URIComponent +_re strict +Ġdec als +ĠPed ido +Ġalter cation +Dis plays +ĠApp licants +C US +Text area +ĠAng ola +.f uture +ĠUS HORT +Ġsuppress ing +Ġset zen +AP olynomial +Ġto ch +Ġhall mark +Ġ$ $$ +ĠCHAR SET +.r pm +ĠD ich +---------------- ---- +_p arm +è¿ ĺ +acc iones +h ait +WAR DED +_r outing +ĠN OM +Ġen clave +ĠLot to +ĉf r +complex Content +ĠBall ard +k ube +/w in +.getColumn Model +_RE PLACE +Header Value +Ġest udiantes +Ġap is +Ġb pm +ĠType Name +And Get +rit a +Pl ans +> Note +Ġfet isch +Ġton ed +_g oto +ons ense +Ġm olds +Ġinfiltr ation +ĠGuerr ero +ub bo +ck i +($ (". +_ activities +(ch anges +Ġof App +ĠKe pler +ĠD emp +ĠCont inent +.T icks +ĠUn signed +ĠJah res +Ġfresh men +ĠArch ived +ĠкоÑĤоÑĢ Ñĭй +Ġ' :: +T utorial +C c +Ġtable LayoutPanel +from Json +.level s +_trans ient +Ġendors ing +ĠD IC +la uf +Ġsh red +_E MIT +ific antly +AL A +/ proto +Ġnarrow ing +U tc +Fact ors +Ġsent ient +æŀ IJ +lix ir +ĠC ROSS +met eor +Ġgro in +Ġm db +ĠRot terdam +Ġcom ida +ĠOp Code +ĠDefault Value +Permissions Result +Ġheter ogeneous +Ġm oot +Ġde ceived +-in dependent +ĠObject OutputStream +Ġover power +.d up +Ġl db +Ġdomest ically +Ġbest ellen +Ġlo v +ĠContract ors +Tri angles +Ġfod der +Ġfilm es +ä¼ ģ +Ġrev olver +Startup Script +/ validation +ĠResource Type +i ÅŁ +ĠL az +f ef +Ġlst m +{ * +. attachment +.h its +ew ith +DO G +Al abama +Ġmedium s +.m Context +-c ols +åı ĭ +.not ice +Ġat tn +ĠP acking +ĠL n +_COM PLEX +/ Users +.sav etxt +ĠR ounds +?,?, ?,?, +Ġing l +ĠR OC +_f emale +ĠSt ard +]] ; +Ġwrest lers +Ġtorrent s +Ġsin h + ĊĊ +ë³ µ +s ense +how ever +.Ph ysics +Inf rastructure +ĠSac r +F el +ĠD ISTRIBUT +é ments +ĠValid ates +################################################ ############ +Ġ| / +Ġes l +Ġré seau +ĠB ip +BY TES +_W ATER +Turn ing +EL S +Ġj uxtap +Ġlesb ische +ý ch +( Unknown +Ne o +@ JsonProperty +Ġal umnos +ĠRaq qa +ime i +.get Bounds +.Mouse EventHandler +#### ### +Generic Type +/c ms +Ġturn o +Ġм ин +Ġfolk lore +ĠE vo +Ġconduct ivity +Ġle ben +Ġgear box +-v s +ĠÏ Ĩ +Ġdrink ers +Ġcon exao +ĠTe eth +Ġget Arguments +ĠR AT +ent ious +E duc ++ W +ĠInstitution al +ĠB ord +is Equal +(p wd +Ġign ited +ĠR ousse +Ġimpact ful +ĠM alk +Ġg eral +ĠP ivot +Ġa zt +Ġcsv file +ĠR ope +ĠSOL UTION +ĠArbit rary +Ġlet to +.Mouse Adapter +Ġ} }} +ĠSail or +der a +Put ting +Ġconcentr ates +Ġauth Domain +âĢĿ çļĦ +-f inals +, strlen +Mu on +ĠOrd inary +fire fox +ĠLa TeX +ĠH und +engine ering +/ blue +ed TextBox +(" "); +ĠC DDL +ke pt +ĠGet String +K ir +() =' +ĠO CD +ant ium +$ menu +ĠAppalach ian +Secret ary +ë¥ ĺ +ี ย +Sem antic +Ġ* [ +est one +ung kin +Max Y +-t one +"} ;čĊ +_P art +< Member +tr am +Ġtrans istor +Ġ---------------------------------------------------------------- ----------Ċ +ĠDes de +Ġright ful +ĠCorn el +æ ij +.H OUR +Ġsidel ined +ref errer +m aze +Ġhol ster +Ġcripp led +ĠDate Formatter +oph age +_m D +Ġdes elect +ra ud +ĠPK K +row Data +Ġlock smith +.res ponses +(product Id +_ST MT +Key Type +.Th en +z ee +Ġcr t +ĠGrand ma +@ Resource +Ġbit wise +-c mpr +ãĢĤ www +zeit ig +& display +Cart Item +- No +Ġnum éro +Ġm aur +Ġinst ancia +ĉd t +_n pc +Ġskate board +âĢľ All +ĠCrow d +Ġä n +Ġb raz +ca e +yn et +/p m +/s creen +OPT ARG +ĠV Box +Ġle opard +_g reater +c pt +< dd +Ġmechan ically +osp els +) f +.l wjgl +.get Port +ĠP REF +.Add Transient +pp ard +Ġí ļĮ +Ether net +Ġsal ine +(level s +Ġservice Provider +.A ngle +alt itude +illa ume +Ġs cape +_CAL C +_ quest +ĠDiss ertation +ĠE DM +-C ds +Ġhon orary +st ops +Ġsub dir +ĠV H +ĠChe at +Ġright fully +Q E +.Write Byte +fig ures +enn ie +( DBG +Ġvoks ne +Ġexp ended +UN ICATION +il inx +ĠRec ap +_ verts +Ġtra umat +Ġget Player +Ġverb ess +Ġcultiv ating +Ġiniti ator +Th ông +find First +_per ms +Ġbu c +Ġ""" čĊčĊ +T YPES +object Manager +(Configuration Manager +Ġtim id +Ġsnap chat +Ġcon seg +ĉd istance +_right s +_D es +ĠF lesh +- ver +Ġa fl +fra uen +Ġblas ph +ĠQual ität +ma f +Monitor ing +.D iff +Ġshore line +Ġresponse Body +mem set +< decimal +Smarty HeaderCode +Ġin sets +ĠBinary Tree +amed a +Ġn ihil +ĠN ay +ym ology +ĠW G +Ġt api +ĠInst alled +m aintenance +)} "Ċ +ĠX O +-per iod +s ar +Ġning una +ORM AT +.set PrototypeOf +ĠK b +ĠHen rik +ét ique +ĠLah ore +ĉ Address +Ġmel ts +N y +_adv ance +Ġveloc idad +Ġalum no +Ġsanit izer +Ġph ishing +ĠCom et +Ġch iar +ĉs pec +trim med +(state arr +on nen +Re venue +L ens +Ġcha ired +ĠAss umes +Tr ash +_un set +\ Bridge +Point Size +ĠPol ic +Ġsex uales +ĉd fs +ĠWide String +Ġaccru ed +Y W +_S CHEDULE +Ġk ite +Ġparach ute +[ table +Ġactive ClassName +.Qu ad +Israel i +ĠÅ ĵ +Ġho og +Ġch á»ī +ew ear +Ġtire lessly +set Error +.get Amount +.set Items +ĠM anson +ĠBay esian +_F lag +AC HER +/ original +Ġimm ac +ĠLos ing +' >ĊĊ +L ic +ĠMir age +ĠAssembly FileVersion +Te V +ĠValue EventListener +-s olving +Th o +rou lette +_W P +Ġunint errupted +Ġfield Type +.T yped +Ġam our +Ġmock ery +(v ol +ĠSub committee +ĠR uf +ero x +:UIButtonType Custom +ĠBl ur +Ġwy kon +nc es +ASH BOARD +!! ");Ċ +Ġmurder ers +.d aily +ĠDI AG +j ing +Ġdol phin +Ġl òng +Ġb ö +ĠV ocabulary +.St Object +') "> +Ġz un +Ġscrim mage +tr éal +ĠL ig +[ vi +C ole +Ġfrost ing +.Pl ayers +- translate +Fe els +=\" / +.Butter Knife +Ġ?> ;Ċ +Ġav i +inn ie +.F ailure +Ġsp indle +Configuration Exception +_h op +Ġpos ição +ĠA wait +UIImage PickerController +ĉ day +Ġgen om +C ab +ĠÑĢ ÐµÐ·ÑĥлÑĮÑĤаÑĤ +OR IGINAL +Ġejac ulation +(t cp +SE COND +Ġton ic +ĠList Box +Ġ ĉĉĊ +() >Ċ +Ġqu atre +ượ ng +with Errors +.M aybe +, â̦ +token Id +_UN DEF +Ġfresh ness +ĠAmend ments +.map box +.C V +(b log +_get time +. quest +s parse +Ġres ale +Ġenthusi astically +ĠProstit utas +W a +C argo +.Parcel able +SENS OR +ĠRy u +La ughs +_N ative +/ pg +yst s +Ġphot oc +ç® Ģ +ado pt +.spec ies +conc iliation +Adjust ed +.Firebase Auth +ut tle +ord ination +Ġm unch +ĠSt ake +.p ing +ank er +(QString Literal +Ġsub script +ĠĠ ĉĊ +ĠM CC +_C md +se xy +i ou +ĠM ANY +Ġn anny +TR AIN +Ġflour ishing +ĠW atches +ĠQ Map +ĠF erm +Ġwas m +ĠA bed +_ UD +ĠGlass es ++ v +Att end +.Ch ain +Ġdec ency +ĠSupplement ary +h unter +-t xt +Ġ" }";Ċ +.set WindowTitle +(" +Ġmasc ara +( Profile +åĬŁ èĥ½ +imit é +Ġwild fires +- ROM +.is On +(group Id +Re pair +accum ulate +Ġ< ", +Ġhand written +Ġach eter +ĠM GM +ĠIr ma +->{ _ +ge e +cr iminal +Ġèĭ¥ è¦ģ +Ġmoment arily +") != +_l it +Ġexpires In +." ). +éķ¿ åº¦ +Ġfr ække +vl c +Ġor bs +), $ +Ġvent ured +/ >\ +char m +N uitka +eld ig +aton in +W itness +-l at +Ġset Hidden +Ġrelic s +Ġcons ulate +. IGNORE +" After +Ġset Address +Ġbeste ht +Ġ'' )ĊĊ +.x axis +Ġser ão +Ġmis led +_UN IFORM +ĠV IA +inc r +Ġzen ith +Ġvis cosity +Ġthin ly +.get SharedPreferences +.Error Code +"), " +ĠMillion en +Ġ/> )Ċ +Scroll Indicator +-se eking +ĠPOLIT ICO +as ca +_r l +N avig +(full file +Ġsol itude +Ġju ven +Ġhaul ing +ĠMac ros +ĠG ry +Ġexerc itation +ĠATT ACK +Tick Count +Ġr ites +Ġdo e +Particle System +Ġsl u +Window Text +ĠClass Name +Ġsl ander +ĉ Port +j ong +? a +.D ial +âĢĶ at +$obj PHPExcel +Ġso ar +EN N +appe ared +Ġquot id +em achine +Ġn ip +Ġmicro time +ĠAl ma +; ! +---------------------------------------------------------------- -------------------------------- +ĠPass age +Ġdump sters +ĠEx clude +Ġsuggest ive +ĠCircularProgress Indicator +_cl r +Array Type +ILL A +Elapsed Time +Dr iven +Ġresource Name +ĠG arrison +ser ir +-a head +Ġp innacle +ĠEs presso +S parse +Ġass ays +ĠGirl friend +im id +]=' \ +ONGL ONG +Ġportray ing +L ane +Ġb úsqueda +Ġrein forcements +ĠSpread sheet +ĠArray Collection +, arr +light box +ic ana +< " +build ers +K id +ĠMat SnackBar +EX PR +od cast +ĠFound ations +Ġind s +=' ${ +F izz +-function al +(work space +Ġstem med +_p atches +ĠJar vis +READ ING +Ġdisrespect ful +ĠQ Dom +Ġ$ {Ċ +est atus +Re ached +! .ĊĊ +IL T +ĠN DEBUG +ĠCour age +birth date +ĠT ing +Ġutil izado +án chez +Out door +Ġhand guns +Ref Count +É Ļ +rom o +Ġt ts +.S he +ĠP ane +ãĢij, ãĢIJ +ĠIO CTL +/ black +ins cription +Ġbi opsy +ĠTime Interval +.Test Check +ĠGUI Style +ĠCap ability +ĠBeit rag +don nees +T reatment +.back up +Ġsign ings +ĠB oca +dr m +.M AIN +Ġgo ede +ĠMark up +G REE +ĠBase Service +.C reator +Ġj ails +ĠK ahn +Ip Address +ACH I +Ġinhib ited +Ġ@ $_ +ĠAss ass +Ġenvi ado +Hero es +ÐŁ еÑĢ +ĠM aven +.l s +Ġ ive +| RF +Ġresize Mode +Ġrum pe +_attach ments +T U +Ġtact ile +Attempt ing +Ġro bin +y aw +Ġmerc enaries +ĠHab itat +end date +Ġo xy +ĉR andom +oh on +Is Null +ĠValidation Result +ãĥ ļ +um bed +pp v +Ġar p +ich ick +_r nn +ĠT FT +Tex Image +" On +ĠSam pler +top l +Ġj ane +y ling +ĠUN ICODE +Tab Index +< {Ċ +s uspend +uv ian +, application +ол иÑĩеÑģÑĤво +y at +ez ier +ĠCH UNK +ĠAd ler +/ Add +ĠKey Value +Ġspos ób +Sam pling +ch ers +_AM D +R u +.Must Compile +N ation +Ass oc +Man aging +ĠEng l +_G B +Ġsucc inct +Ġdis liked +ĠI ke +Bullet in +_ARCH IVE +Prop osal +Ġjog ging +.C REATED +Ġch ol +è£ ħ +Į ¨ +-p ush +Ġreserv a +core v +è tre +TH R +Ġincompet ence +Ġchar isma +æĦ Ł +Ġ" == +BT N +ĠLoc ator +iv et +('. ')Ċ +Ġfor IndexPath +ô me +Ġcapac it +w aters +ĠWR ONG +ho a +ĠM IPS +Ġem iss +ĠJacqu eline +(c mp +Ġe ens +Le o +.tim ing +CLUS ION +Ġ(" - +åĵ Ī +.k ode +ĠUnd ert +Ġbew ild +ĠEss en +.h d +Ġren egot +Ġm ower +Ġl sp +Ġpen chant +Ġman oe +Ġag li +Ġrec al +ĠOPER ATION +(^ )( +ĠÎ ½ +ĠSc oped +Ġ@ "Ċ += label +[ loc +Int l +ĠN z +table t +.Column Name +Ġscreen Size +DB us +co oked +- registration +âĢľ One +-n on +ĠwiÄĻ c +Ġcost a +.add Tab +. conditions +ĠH ess +MEM ORY +ĠAval anche +() }}Ċ +Ġtri plet +Ġl abyrinth +ĠNode List +ĠNY T +Ġy eni +d ff +.Html Controls +AV IS +/ Math +Ġmem cmp +Ø§Ø ¡ +оÑģ ÑĮ +c rap +(p ages +Ġl xml +ĠQ DateTime +_t cb +Ġopen id +Ġsyn aptic +ĠMD MA +(s lug +igm atic +en or +Ġcr amped +G OP +Ń IJ +.is File +ĠD ifferential +Ġ=" ";Ċ +ĉĉĉ ĠĠĠĠĉ +ĠC ooke +ĉU FUNCTION +Ġpersever ance +Relative Layout +IMPORT ANT +Ġex on +Ġо н +ib ase +(C ONT +n ovation +ä½ ķ +[ sub +Admin Controller +HTTP Header +cre ar +ĠN IR +ĠDrop DownList +Ġval ide +Ġde hydration +. '] +(W IN +Ġ... \ +Ġphotos hop +ĉ Init +_c ou +Ġtime Zone +dar win +rom atic +Navigation ItemSelectedListener +br ates +] --;Ċ +Ġtraged ies +ĠPed iatrics +SM ART +-A PI +ĠMessage Lookup +ĉ vo +Ġprejud ices +Ġm A +U ps +ĠMISS ING +ĉ ad +C ream +ĠT b +ĠMon a +_ ghost +ĉt ypes +Em b +ĠDocument ary +');ĊĊ ĊĊ +Ġl up +_ Reference +ĠB ATCH +Ġintertw ined +< Cell +ĠCab r +n ation +Ġis Connected +.remove Listener +Ġcon g +_t i +ĠSil icone +Ġê²° ê³¼ +ĠW AN +ĠG ibraltar +/ response +ĉp erson +ch ants +V IP +em ergency +Pixel Format +- Am +Ġsouth western +_pl l +if ers +_ON CE +ĠF ayette +.nc bi +_P anel +.Q ual +Ġpol ys +Ġcreate StackNavigator +� t +Ġlay offs +ĠBl anco +Fe at +ĠV imeo +_ch i +_l ifetime +POINT S +, private +Ġunb earable +print ing +Ġc gi +.B ACK +Ġintern s +ĠNew ly +inf eld +( IB +ĠK ata +ĠDef endants +Th r +é¢ Ħ +_V F +FFFF FFFF +Ġdavid jl +Ġbitter ly +S uggestions +.set Cancelable +FIN AL +ason s +_rw lock +_WRAP PER +Ġhapp iest +(row Index +ós ito +TOT YPE +Autom ation +Log File +Ġcons olation +ãĥ Ģ +Ġt êm +Ġpr er +rg yz +ĠG eg +ĉd to +.default Value +ĠK ami +ĠA SE +optim ized +Ġíı ¬ +Ġorigin ates +err Msg +Ġespa ço +(S YS +ĠMc B +d ance +_det ected +Ġfr ü +ĉĉ ĠĠĠĠĉĉ +< Date +(com b +ĠDec ide +\ Field +ĠProp osed +R ib +Ġdis likes +ĠW ien +ĉ Document +Ġtr af +Ġst oria +ĠT ells +') == +C ri +( VALUE +ĠBurn ett +, void +Ġdan h +Ġc cp +Block chain +:"- "`Ċ +IC lient +IS ODE +Iss uer +) }čĊ +, but +ĠU ph +( Sub +Ġtélé phone +ĠonData Change +Ġmarsh aller +-an alytics +, content +Ġdeb acle +_Value Changed +Ġfa una +Ġ# => +Ġf oyer +'util isation +ĠMü ller +ĠFet ish +Ġdefault Manager +Ġback track +B ah +Exp licit +_A SCII +Ġm Activity +(M sg +Ġê² Į +ĠTER MS +ĠAng ie +HS V +ĠMos que +.N ames +íĬ ¼ +rest e +_p arms +Ġgap ing +Ġcro pping +Data Frame +Ġrespons iveness +_ undo +_tr an +. terminate +Ġitalian e +Ġwalk through +Ġattract iveness +д е +_ST S +_ learn +Ġchocol ates +ier archical +-th inking +Ġ ))) +ish ments +.Log f +ĠTM Z +ĠCan ary +fo il +ĠVacc ine +.v x +ĠSur round +Inter mediate +Ġi ov +v ais +'; ";Ċ +ï½ŀ ĊĊ +éĢģ æĸĻ +â̦ it +Se ats +Cl ar +W ars +ĠHutch inson +ĠHas an +! ')ĊĊ +ĠRich ie +che iden +($ (' +Y ork +Ġl ids +Ġal phanumeric +ĠG lock +.sh apes +Ġspark ing +_ epsilon +uplic ated +.dir ty +]) == +ĠìľĦ ì¹ĺ +Ġsc n +Ġ/ **************************************************************** +_PRE VIEW +_H C +ield ing +f gets +ĠAdd ison +Ġproduct Service +- figure +(ret val +z ano +Ġaut ob +ĉs d +_n umer +ĠSet LastError +ĠF ior +ific ance +Unt itled +Ġin field +Ġ{} ));Ċ +Ġsp ac +Ġro okies +(des cribing +ng en +ி à® +.r df +.M utex +Ġkne eling +ĠQ E +set Max +Read Stream +Ġvent as +s ut +cm peq +.WriteAll Text +ĠEx perienced +$ __ +Ġka um +ĠL IS +Ġdocument os +_HE ALTH +icont ains +Ġart isans +OWN ER +Ġblink ed +get Display +Ġto en +Ġrow Num +Ġav ril +Ġinv is +ĠK ear +toBe InTheDocument +ap ur +Ġr acked +ĠMc Master +_ATTR IB +H az +Ġfact ura +/ ts +ĠÑĢаз меÑĢ +Ġz f +Ġshort fall +.f asta +ĠCONST ANT +.man aged +g ems +Shared Pointer +Ġblur ry +b rightness +( components +Ġ... "ĊĊ +SE LL +ĠIllustr ator +.get Channel +Ġtrou vé +yst ers +Ġvo is +ĠLind en +Ġem ojis +Ġb rawl +ĠMS R +ĠE lo +ĠCroat ian +Popup Menu +L ewis +.J WT +Ġaston ished +B ush +(item Id +Ġdet achment +ĠEnc ore +å° Ķ +Ġre kl +Ġcr am +)$ / +.get Host +_re commend +- HT +_cal ibration +Auth enticate +.firebase app +UN IX +ĉC amera +ĠHE AP +I deal +. office +Ġgoof y +(S ymbol +Ġjou er +_part itions +Ġrapid ement +ĠGN UNET +id User +Ġsuperv ise +( Contact +AW N +ãģ ĺ +Ġna am +Ġa ust +åľ¨ 线 +_soft max +Allow Anonymous +amm able +RO UTE +* D +Ġad en +ĠCrist ina +ĠCrist iano +Ġblood stream +sub class +_person a +CH ILD +-k now +Ġnavigation Options +ĠZuk unft +ĠPix ar +Ty ler +Ġunder world +Ġsincer ity +Ġdispens er +Ġk ter +idd ers +.add Node +- checked +Ġke yst +ĠW TO +.sign als +Ġadvent urer +ĠP ang +\ R += pos +Ġdispens aries +ĠClo set +("{ \" +ide on +Ġnécess aire +() "Ċ +_RECE IVED +Ġrésult ats +Ġmod en +ĠIceland ic +; d +. allowed +(new User +Ġmerc iless +.Wait For +Ġday care +ĠCon veyor +ç ĸ +ð ¬ +ç ĥ +ç Ĺ +ç ł +è Ħ +é ² +å ¦ +çĿ Ģ +å¾ Ī +é ħ +ç ĭ +é ª +æ Ĥ +é ¥ +è ħ +æĥ ³ +å ¨ +é ¹ +ç Ĥ +å Ĵ +ç Į +è´ ¨ +æ ¢ +æ° Ķ +ð « +æķ Ļ +ç Ł +å Ħ +åıij å±ķ +åĪ Ľ +è ij +æ ħ +å ŀ +åģ ļ +æĪ ĺ +æ IJ +å¼ º +æ· ± +åĩ ł +ç ¿ +å © +è ŀ +å§ Ķ +åIJ Ħ +è İ +é ¸ +é º +åı Ĺ +èģ Į +å ĺ +æ ½ +é£ İ +èIJ ¥ +åħ ļ +è ľ +éĤ £ +é¢ Ĩ +ç ij +é ³ +æľ ¯ +ä» Ģ +æĪ ¿ +ç² ¾ +å ª +é Ĩ +å¤ ª +èĤ ¡ +è Ľ +åħ ī +æŀ ģ +åĬ ŀ +è ĵ +ç ĺ +å ´ +å Ĺ +èĬ ± +çł Ķ +å¿ « +å¸ Ī +è¶ Ĭ +è§ Ĥ +æ ¤ +æ ¦ +ç ŀ +èĤ ² +çĪ ± +çĻ ½ +ä¸ ĸ +ä»Ģ ä¹Ī +çľ ¼ +å ³ +è Ĵ +æ ĵ +è¢ « +å¹ ² +çĹ ħ +å£ « +ç Ĵ +è ¸ +æ ¾ +å·¥ ä½ľ +è® © +çĥ Ń +è¾ ĥ +åĦ ¿ +åĬ © +ç§ ¯ +ç ³ +ç ĵ +ç £ +å Ĥ +è ¹ +è ļ +å· ± +çĻ ¾ +åĬ ¿ +èµ Ľ +æ ¨ +æ ¿ +è ĸ +æĿ ij +å¸ ¦ +å¢ ĥ +æĬ ¤ +é Ń +å « +èĩª å·± +æµ İ +ä½ İ +åĮ » +éĺ ² +åĨ ľ +è Ĩ +ç Ĩ +é « +åĨ Ľ +æĪ ı +åį ĩ +æĸ ¯ +ä½ ı +èIJ ½ +åħ » +èĩ ´ +ç Ĭ +ç ĩ +ç ħ +è Ķ +ä¼ģ ä¸ļ +åĽ ¢ +æī į +æł ¡ +åĩ Ĩ +å¥ ĩ +åī ¯ +é ¼ +æ¼ Ķ +é© ¬ +èµ ° +ç¥ ŀ +åħ ĭ +æľ Ľ +æ² ¹ +è¾ ¹ +åį ĥ +å¾ Ģ +åĪ ĩ +æ © +ç ¶ +å Ļ +éĻ ħ +çī Į +社 ä¼ļ +游 æĪı +æĸ ½ +ç ħ§ +æİ § +æ» ¡ +è¯ Ĩ +éĩį è¦ģ +è¶ ³ +çķ Ļ +ç» Ĩ +åį ı +éĢ Ĥ +æ ĩ +æ § +é Ħ +è Ŀ +å¸Ĥ åľº +ç»ı æµİ +ä¹ ł +æĸĩ åĮĸ +éļ ¾ +ä¹ IJ +åĨ ³ +æ¬ ¢ +è§ ī +åĽ Ń +åħ ´ +åħ ħ +ä¸ ¾ +æī ¹ +è ķ +æĬ Ĭ +æĬĢ æľ¯ +ç© ¶ +第 ä¸Ģ +ä¾ ¿ +åĵ į +çİ © +åĿ ļ +èŀ į +åį Ĭ +åĸ ľ +å± Ĥ +ç¦ » +ä» ħ +é Ł +åij ³ +å¿ µ +åŃ £ +ç´ § +ä¹ ħ +é ¤ +é ŀ +è ¤ +åĢ Ļ +åĨ µ +ç Ł³ +åģ ¥ +æĢ İ +å® Ŀ +è¡ Ģ +åŁ Ł +æĹ © +çŁ¥ éģĵ +è´ Ł +åį ļ +å· ´ +äº ² +å± ŀ +ä¸ ¥ +äº ī +å¯ Ł +è º +ç ° +建 设 +产 ä¸ļ +åIJ ĥ +åŃ © +æĹ ħ +æł ¹ +æĿ IJ +ä¼ Ĺ +éļ ı +å® ĺ +åº ķ +å½ © +å¯ Į +æ¸ © +åį « +åī § +çĽ Ĭ +æĬ Ĺ +è´ ¢ +çº ª +æ Ĩ +çĶŁ æ´» +çº ¢ +çĶŁ 产 +è¿ ľ +éĴ ± +åĶ ® +ç¾ ¤ +çı Ń +æ¥ ¼ +éĩ ĩ +èī º +å± ħ +åģ ĩ +è° Ī +æĻ ļ +é ¬ +èĪ ª +å® ³ +è Ĺ +ç į +å µ +çİ ĭ +åº · +è İ· +ç» Ń +äº ļ +é£ Ł +åİ ĭ +æĭ Ľ +èĮ ĥ +è® ¸ +åĽ ´ +é ½ +éĻ į +çº ³ +åĵ ª +æķĻ èĤ² +å·² ç»ı +å¾ · +æŀ Ĺ +å®ī åħ¨ +é¾ Ļ +大 å®¶ +éĿ Ĵ +åº ľ +æ² ³ +åı ¤ +èį ¯ +åĿ ĩ +æĻ º +ä¹ ¡ +çķ ¥ +åĨ · +ç¦ ı +å® ¤ +ç» ´ +æī ¿ +å± Ĭ +è¯ ī +åĪ » +è Ł +æ ª +å°± æĺ¯ +è¿Ļ 个 +ä¸Ń å¿ĥ +ä¸ĸ çķĮ +åŁİ å¸Ĥ +éĿŀ 常 +åĪ Ĵ +åı Į +æĢİ ä¹Ī +åΰ äºĨ +æľ ĥ +åı ² +ä¾ Ĩ +å¾ ĭ +å¥ ĸ +ç» Ī +åª Ĵ +å® ģ +è¯ ¾ +èģĮ ä¸ļ +åħ į +æµ ĭ +æĢ ¥ +æķ ij +çĭ ¬ +èŃ ¦ +é¤ IJ +æĦ ¿ +è´ « +çĸ ij +å ļ +å¥ ¹ +åı Ī +åĽł 为 +ä¸į æĺ¯ +å¤ Ł +æĸ¹ éĿ¢ +éķ ĩ +äº Ĵ +éħ Ĵ +è® ² +çĸ Ĺ +æĺ ¥ +æ¹ ĸ +å¤ ľ +è´£ ä»» +人 æ°ij +åħ ° +çŁ Ń +æķ ħ +åĩ ı +æĻ ® +äº ® +ä¾ Ŀ +åį ° +éĿ Ļ +åĢ ĭ +å¾ ģ +åIJ ¸ +ç¼ º +æĶ » +åĩ Ģ +åħ ¸ +åĽ º +è® ¿ +ç ¹ +ç Ģ +æıIJ ä¾Ľ +ç» ĩ +å¾Ī å¤ļ +çłĶ ç©¶ +è· Ł +主 è¦ģ +æĥħ åĨµ +çŃ ĸ +æŃ » +大 åѦ +æĶ¿ åºľ +å½± åĵį +ä¹ ° +åħ Ń +éĻ © +åħ « +æŁ IJ +è´¨ éĩı +åį ł +å· ® +æĽ´ å¤ļ +æľ ĭ +éĿ © +å® £ +çł ´ +è½ » +åº § +æĺ ¾ +ç¨ ³ +è´ µ +èĥ Į +èī ¯ +çĸ « +æ¯ Ĵ +ä¹ İ +åĢ Ł +è¿ · +çŃ Ķ +æ¿ Ģ +åij ¼ +äºĨ ä¸Ģ +è¶ £ +ä¼ ´ +ä¼ Ļ +è ¼ +ð¬ Ń +åĽ½ å®¶ +æ´» åĬ¨ +çݰ åľ¨ +ç§ij æĬĢ +åį ¡ +ä¸į åIJĮ +个 人 +è®° èĢħ +ä¸į æĸŃ +éĹ » +ä¹ Ŀ +èij Ĺ +ç» ¼ +ä¸ ĥ +æł ij +æľĭ åıĭ +åį ĸ +ä¼ ¤ +æ² Ļ +åĸ Ħ +å¥ Ĺ +è½ ® +ç© ¿ +è¡ ¥ +ä¸Ģ å®ļ +çª ģ +çĿ £ +è¿ ½ +å¨ ģ +åı ¦ +åĽ ° +æŀ ¶ +ç» Ŀ +æķ £ +æİ ¢ +æ´ Ĺ +ä¸ ´ +ä¼ ¼ +è´ ¸ +ä¸ ° +æĺ¯ ä¸Ģ +ç« ŀ +è¿ İ +èģ ļ +è « +æį Ł +æī § +é© ¾ +è¿ Ŀ +è ¥ +è ł +ä»ĸ 们 +æĹ¶ åĢĻ +å® ĥ +人 åijĺ +è¿Ļ æł· +å·¥ ç¨ĭ +åĪĽ æĸ° +åŃ© åŃIJ +å¸ Į +éĥ¨ åĪĨ +éĵ ¶ +代 表 +é¦ Ļ +å¸ ® +æİ¨ è¿Ľ +çĽ ĺ +积 æŀģ +éĥ¨ éŨ +åŁ ¹ +æŃ ¦ +ä¸į ä¼ļ +çŃ ij +éĢ Ļ +çİ© å®¶ +æĭ ¿ +åİ Ĥ +æ¯ Ľ +çģ µ +æŃ Į +ç »¿ +å¦ Ī +çĽ Ľ +é¦ Ĩ +é¡ º +èĦ ¸ +å° ¼ +ä¸ ½ +å¥ ¥ +éģ ĩ +è¯ į +å° ģ +ä¸ Ŀ +好 çļĦ +æĭ ħ +èĦ ± +æģ ¶ +åİ ļ +åĬ ³ +çĽ Ł +æĬ ĺ +åı ¥ +æĢ Ģ +æŁ ĵ +书 è®° +åĨ ł +é² ľ +æ ¦Ĥ +éļ IJ +å¹ ħ +èµ ŀ +å¹ ķ +æ¥ Ń +éģ Ĺ +åĪ ¤ +è ĺ +å ¶ +æĬķ èµĦ +è¡Į ä¸ļ +äº ij +çݯ å¢ĥ +åѦ çĶŁ +åIJĪ ä½ľ +åģ¥ åº· +é£ ŀ +ä¸Ģ æŃ¥ +ä¸Ģ 缴 +åıij çĶŁ +éĺ ¿ +é¢Ĩ 导 +åĸľ 欢 +åºĶ 该 +çĤ º +è® Ń +æĿ Ģ +æ¸ ¯ +交 éĢļ +éĺ ¶ +éĴ ¢ +ä» ¤ +å° ½ +æ¯ į +è¡ £ +ç² ī +é¡ ¶ +ä¹Ł ä¸į +æĬ ĵ +èĭ ¦ +å¹ ¸ +ç¤ ¼ +第 ä¸ī +大 çļĦ +éģ İ +çĥ Ł +éģ ¿ +ä» į +åº Ĩ +æĢ ķ +è° ¢ +çĽ ĸ +å° Ħ +éľ ² +æĸ Ĺ +ç Ĭ¶ +åŃ ¸ +æ¯ ķ +å· ¨ +çŁ ¿ +çļ ĩ +å¸ Ń +çĹ ĩ +æī ¬ +å» ¶ +ä¾ § +æ· ¡ +çļĦ ä¸Ģ +ç¶ ² +æ´ ģ +ç ¸ +è§ Ī +çŃ ¹ +ç§ ĺ +è¯ Ĭ +çı ¾ +èª ī +æ¯ « +ð ¨ +åį ´ +æĪIJ 为 +èĥ½ åĬĽ +é» Ħ +æĹħ 游 +èĪ ¬ +æ¯Ķ è¾ĥ +èµ· æĿ¥ +äºĨ è§£ +èĩª çĦ¶ +ä¸Ģ 次 +åŁº æľ¬ +æĽ ¾ +综 åIJĪ +èı ľ +è§ī å¾Ĺ +第 äºĮ +è· ij +æ³ ¢ +åĢ Ĵ +ç¡ Ģ +åħ µ +èį ī +çĶ ³ +çĶ ° +æĤ £ +è§Ħ å®ļ +èĥ ľ +èµĦ 产 +æ¢ ¦ +æľ Ŀ +è¿Ļ éĩĮ +å¤ « +æĮ ¥ +ä½ Ľ +å® Ī +éĽ ¶ +æĸ ¼ +ç¯ ĩ +å² Ľ +åĵ ¥ +éŃ Ķ +ä¸į åΰ +æī ĺ +åº Ĭ +æ¬ § +èį £ +æ± ĩ +æī © +åģ ı +å¢ Ļ +è® ¯ +å© ļ +æĥ ł +æ´ ĭ +å® ľ +æ¶ ¦ +æħ ¢ +éĢ ı +å® ½ +é¡ ¾ +ç´ ¯ +æ± ¡ +çĪ Ĩ +ç§ Ł +æĥ Ĭ +æ¶ ¨ +é¥ ° +éĺ µ +é¥ ® +æļ ĸ +åº Ł +æĹ Ĺ +éļ Ķ +ç¶ ĵ +åĭ Ļ +å¯ ¦ +éĢ Ķ +æī « +çĥ Ī +éĽ » +åĪ ij +éĹ ľ +éĹ ª +å¥ ĭ +å Ĥ¨ +ç¼ © +ä¾ µ +å ¬ +𬠶 +åĽ½ éĻħ +ç»Ħ ç»ĩ +ä¸ĵ ä¸ļ +åıij çݰ +å¸Į æľĽ +ç»ı èIJ¥ +åı « +æĿ¥ 说 +éļ ľ +ä»» ä½ķ +交 æĺĵ +éĩį çĤ¹ +çļ ® +ç» į +æ´ ¾ +ç§ij åѦ +åºĶ ç͍ +建 çŃij +èĤ ī +æĶ¹ éĿ© +åŁº ç¡Ģ +æ± ī +åĩº æĿ¥ +è¿Ļ ä¹Ī +åĪ ļ +åĿ IJ +ä¸į ä»ħ +ä¼ļ è®® +éĿ ł +åªĴ ä½ĵ +æ° ¸ +åĨ ² +èĭ ı +å¤ ® +çĪ ¶ +åł Ĥ +å®ŀ éĻħ +è¡ Ĺ +ç« ¥ +éĺ ħ +äºĭ æĥħ +åİŁ åĽł +éħ ¸ +以 æĿ¥ +å¨ ± +å® « +åĿ Ĺ +ç» © +éĩ İ +ä¸į å¾Ĺ +ä¼ł å¥ĩ +ç¡ ¬ +åİ ħ +æĹ ¢ +ç» ĥ +èĦ ij +å¼ ± +æİ Į +è´ ´ +æĮ Ĥ +åħ³ éĶ® +å° ļ +é¥ Ń +åº Ħ +çĻ ¼ +åľ ĭ +æİ Ī +个 æľĪ +äº Ī +å¸ ģ +è· Ŀ +æ² ī +ç« Ł +åĨ ¬ +æĬ ½ +éĨ Ĵ +å¼ Ł +è§ ¦ +èģ ĺ +è± Ĩ +æļ ´ +åijĬ è¯ī +è± ª +èµ ¢ +è· ¨ +è³ ĩ +çĪ ¸ +æĬ ± +æµ ª +éº » +ä» ª +è¡ ¡ +å¥ ¶ +çģ ¾ +èµ ¶ +èĤ ¥ +å§ IJ +åĢ º +éľ ĩ +è® ¢ +æ¬ Ĭ +ç · +å» ī +ä¿ Ĺ +å¿ ĺ +å¦ ĩ +ç¼ ĵ +åŃ ķ +æ¼ « +è£ ģ +çĩ ĥ +é» ĺ +çī ¢ +çĪ · +æĬ µ +å® ¾ +æľī ä¸Ģ +è¿ ¹ +è¿ « +è² Į +æľī çļĦ +ð¬ ĺ +è¿ĺ æĺ¯ +æīĢ ä»¥ +ä¹Ł æĺ¯ +è¿Ļ äºĽ +对 äºİ +åIJ § +缮 åīį +èĩªå·± çļĦ +èĥ½ å¤Ł +å¦Ĥ ä½ķ +æľº æŀĦ +åıª æĺ¯ +ç½ij ç«Ļ +åħ¨ éĿ¢ +为 äºĨ +å¼Ģ åıij +æĸ° éĹ» +éĩij èŀį +ç» § +客 æĪ· +ä¸Ģ èµ· +èĮ ¶ +åħ³ 注 +æ°´ å¹³ +åİĨ åı² +å¢ŀ éķ¿ +é ± +åŁº éĩij +åº Ń +åı ¶ +ä¿ ĥ +éĽ ¨ +æ¶Ī è´¹ +èĪ ¹ +çŁ¥ è¯Ĩ +æĪĺ çķ¥ +ç»ı éªĮ +å³ ° +æĽ ² +èĦ ļ +åĨ ° +å¤ ı +å½ Ĵ +ç¬ Ķ +èĻ ij +çĶ ² +åľ Ī +è¯ Ĺ +é½ IJ +容 æĺĵ +çłĶ åıij +éª ¨ +çº ¸ +è· µ +æĹ § +çķ ¶ +åĪ ¸ +è´ · +åı ¬ +ç§ ĭ +æ¶ ² +è¡Į æĶ¿ +çĮ ® +èĤ ¤ +éĢ IJ +è¶Ĭ æĿ¥ +è¶ĬæĿ¥ è¶Ĭ +æĦı è§ģ +èĪ ŀ +åī Ĥ +æ¶ ī +ç¨ĭ 度 +åħ¬ åħ± +æ¢ ° +æľ « +çº ¯ +åĶ ± +æ´ ² +æĬ ¢ +æ¤ į +å¿ Ļ +ä¼ ° +å¼ ¹ +æ³ ī +æľĢ 大 +è¶ ĭ +å· § +ç¦ ģ +æī ¶ +åį ± +çı ł +çĨ Ł +æĭ ľ +主 ä¹ī +æĿ Ĥ +éĻ Ħ +éģ į +æIJ Ń +æĮ ¯ +å¤ļ å¹´ +æķ ¬ +æij Ħ +çº · +å¼ ĥ +æ¹ ¿ +å¨ ĺ +æ¡ £ +é© ¶ +æľ Ĺ +æ® ĸ +æ¦ ľ +åĵ ¡ +ä¸Ģ ä½ĵ +æŁ¥ çľĭ +ç¹ ģ +æµ ĵ +åħ¬ å®ī +æ½ ľ +è´ ¯ +éª Ĺ +æ IJľ +å· ¡ +è ¬ +é Ĭ +å§Ķ ä¼ļ +æĤ ł +åī © +æı Ń +åŃ£ 度 +ð «ĺ +𬠬 +ä ´ +ð ª +ä½Ĩ æĺ¯ +éĥ½ æĺ¯ +å¹³ åı° +åѦ ä¹ł +åĵģ çīĮ +ä¸ Ķ +è¿Ļ ç§į +æĶ¿ çŃĸ +æĭ ¬ +认 为 +ä¸Ģ èά +æłĩ åĩĨ +æĶ¯ æĮģ +模 å¼ı +åħ³ ç³» +çļĦ æĺ¯ +è¿Ļ ä¸Ģ +ä¸į è¦ģ +çĶ ļ +ç²¾ ç¥ŀ +æĭ ¥ +åĪ© ç͍ +ä¿Ŀ æĬ¤ +ä½ľ ç͍ +èĭ ¥ +åĽ½ åĨħ +ä»ĭ ç»į +ä¸Ģ ä¸ĭ +å·¥ ä¸ļ +缮 æłĩ +æľĢ åIJİ +ä»· å̼ +å° į +éĵ ģ +è° ģ +ç»ĵ æŀĦ +éĽ ª +æĻº èĥ½ +ä¼ł 绣 +ä½ĵ èĤ² +çĶŁ æĢģ +æĭ į +æİ ª +åĨľ ä¸ļ +çī¹ èī² +è§Ħ 模 +æĹ¶ 代 +è¿ĩ ç¨ĭ +éĴ Ī +æĿ ¾ +åĶ IJ +åĮ» çĸĹ +çģ ¯ +åζ éĢł +æł¸ å¿ĥ +ä¸į åı¯ +ç³» åĪĹ +åIJ ī +åľ £ +åĢ ij +ä½ ³ +æĿ¥ çľĭ +æ¯Ķ èµĽ +ä¸ĭ æĿ¥ +åĩº äºĨ +å¹² éĥ¨ +å¾® ä¿¡ +å½ĵ åľ° +åį · +åį« çĶŁ +ä¼ Ł +çĸ« æĥħ +è° · +åĩł 个 +éĺ ´ +çĶŁ çī© +å° ¤ +ä¼ Ĭ +èĤ ¯ +éĿ¢ 积 +åĪĽ éĢł +æı ¡ +åľ Ĩ +æĻ ĵ +æĪIJ äºĨ +åĩ ¡ +çĸ ¾ +ç«ŀ äºī +è® ¨ +主 é¢ĺ +é² ģ +è¿ ª +ä¿ Ħ +æĢ ª +ä¸ ¦ +èĻ ļ +æ½ ® +çĥ § +èĢ ³ +æ± ł +éĢĤ åIJĪ +æł¹ æľ¬ +åĬł 缣 +ç͵ è§Ĩ +æ· · +ç¼ ĺ +çª Ĺ +çĬ ¯ +æĥ ¯ +æĦı ä¹ī +åĬŀ æ³ķ +ä¼ ij +æ» ij +åĭ ĩ +æķ ¢ +å¯ » +è¦ Ĩ +éĢ ĥ +ç»ı çIJĨ +åĿ ı +æ³ ½ +ä¹ ĺ +åĪ º +å± ı +é¡ ¿ +äº ¡ +éĤ Ģ +åħ ¼ +åĭ ¤ +æ® ĭ +æĺ ł +æ¯ķ ä¸ļ +æĪ ª +è· Į +å£ ģ +åı¦ ä¸Ģ +羣 å®ŀ +ç£ ¨ +è¯ ļ +å¿ħ è¦ģ +æģ ĭ +æĩ Ĥ +å¾ Ĵ +è° ĵ +æķ ı +æ ύ +èĥ ¸ +æĭ ¼ +å¦ Ļ +è¯ ¸ +èģ Ĭ +æĤ ī +éº ¼ +åĩ Ń +èĪ Ĵ +æ¶ Ĥ +è¿ ģ +æ² ¿ +å¡ ij +æĽ ¿ +æ¾ ³ +å¿ į +èĢ Ĺ +éľ ¸ +åĩł å¹´ +åĪ Ĭ +èĦ ī +èħ IJ +æ¡ Į +çº ł +æ» ļ +æĤ ² +åĨ Ĵ +å¦ ¹ +çķ ħ +çº µ +æij ĩ +å¤ º +è·¯ ä¸Ĭ +å¿ ½ +èĸ ª +æģ IJ +æĦı æĢĿ +å« Į +æı ´ +æ° § +èĢ Ģ +éĺ » +è½ ¨ +å¹ » +æį ķ +åĿ ¦ +åĵĪ åĵĪ +çĭ IJ +æ» ¨ +è² » +è¿ Ł +人 éĥ½ +ç» ĺ +åı ¹ +çµ IJ +æī ° +æ» ĭ +å¥ ij +åĭ Ł +ç¢ º +ð ¦ +éĽĨ åĽ¢ +æĿ İ +å¼Ģ å±ķ +æıIJ åįĩ +åħ¨ åĽ½ +æ±½ 车 +åѦ æł¡ +æł¹ æį® +è¿Ļ æĺ¯ +åĩº çݰ +éĻ Ī +ç½ Ĺ +èİ· å¾Ĺ +åĪ ĺ +éĶĢ åĶ® +æľª æĿ¥ +éľĢ æ±Ĥ +å®ŀ æĸ½ +åĿļ æĮģ +åħ¨ çIJĥ +éĵ¶ è¡Į +æİ§ åζ +é¡ » +åľ° åĮº +æīĵ éĢł +çļĦ è¯Ŀ +帮 åĬ© +ä½ĵ ç³» +è¾¾ åΰ +è§Ħ åĪĴ +åŁ¹ è®Ń +两 个 +æĬ¥ åijĬ +åľ° æĸ¹ +å®Į åħ¨ +æİ ī +ç»ĵ åIJĪ +宣 ä¼ł +æ³ķ å¾ĭ +èīº æľ¯ +ç͵ å½± +èª ª +ä¸Ģ çĤ¹ +è¶ħ è¿ĩ +ç͵ åŃIJ +æĢĿ æĥ³ +æķĻ åѦ +éĺ¶ æ®µ +åķĨ ä¸ļ +çī© æµģ +åĪĽ ä¸ļ +æĸ¹ æ¡Ī +çݰ 代 +æ¡ ¥ +èIJ½ å®ŀ +带 æĿ¥ +产 çĶŁ +ç§ Ģ +æ³ ° +ä¹ ± +åħ· ä½ĵ +åĸ Ŀ +èĵ Ŀ +å® Ĺ +åįĩ 级 +æ·± åħ¥ +ä¿Ŀ éĻ© +ç®Ģ åįķ +çĹ Ľ +稳 å®ļ +è¾ Ĩ +å±ŀ äºİ +å· Ŀ +ä¸į å°ij +åĴ ¨ +举 西 +å½¢ å¼ı +娱 ä¹IJ +æŃ£ 常 +é¸ ¡ +åħħ åĪĨ +å®ŀ è·µ +éĩĮ éĿ¢ +è· ³ +èĻ İ +æĪIJ éķ¿ +æļ Ĺ +çĿ ¡ +ç½ ª +çIJĨ 念 +æĮ ij +èµĦ æľ¬ +å¤ļ å°ij +ä¸ĭ éĿ¢ +å¸ Ŀ +åħ¬ å¼Ģ +æ¸ IJ +éķ · +å± ĭ +欢 è¿İ +å¿ĥ çIJĨ +çĤ İ +æ¹ ¾ +è® ĵ +éĤ Ħ +ç³ ĸ +ä¹ Į +åĬ ± +çī Ļ +èħ ¿ +å² Ĺ +ä¼ į +æĪIJ åijĺ +åŃ Ķ +å°ı ç¼ĸ +èij £ +æ³ ¡ +åħĪ è¿Ľ +åħ § +åĺ ´ +è´ Ŀ +è » +æIJ ŀ +æ³ Ľ +é¸ Ł +ç½ ² +èĽ ĭ +主 ä»» +缮 çļĦ +ä¹ ı +æ´ ¥ +æĪ ´ +严 æł¼ +çħ ¤ +çĮ « +åĶ ¯ +å° Ĭ +çĶ ľ +åŀ ĥ +åľ ¾ +æĭ Ł +çĦ ¦ +é« Ķ +å® ı +æ© Ł +é© » +æĹ ģ +å½ » +éĥ½ ä¸į +æij © +ä» ĵ +ä¹ ³ +å² ¸ +è° ĭ +大 å¤ļ +çģ Ń +èħ ¾ +æŁ ľ +èĪ į +åħļ çļĦ +å° ĺ +åįģ å¹´ +æĭ Ĵ +è£ ¡ +æŁ Ķ +å¹ ¼ +éĶ ģ +ä¸ĵ 项 +æī İ +驾 é©¶ +ç¢ İ +è¢ ĭ +éĶ ĭ +å£ ® +å° ĸ +ç͵ æ±ł +è¿ Ķ +æ¼ ı +å¾ ª +èı Į +èĥ ĥ +è¾ ħ +éĢ Ĵ +èĥ İ +éĻ ª +å¯ ¿ +å¥ Ķ +çĮ Ľ +çº ¹ +çŁ¥ åIJį +å¿ Ĩ +æ¡ ĥ +æ£ ĭ +éĢ Ĩ +çĤ ¼ +ç± į +çī § +æł· çļĦ +è¾ Ľ +åł Ĩ +å®ŀ åľ¨ +ä¼ ı +å® ¿ +èµ ı +è£ Ĥ +åįĬ å¹´ +åĢ ¾ +满 æĦı +æ¢ ¯ +æĦı åij³ +åŃ ¤ +ç¥ Ŀ +æĻ ¶ +èµ Ķ +åģ ¿ +èĦ Ĥ +ç½ ļ +ç¢ į +æ² ĥ +æ ĵį +å´ ĩ +æļ Ĥ +è· ĥ +æIJ ¬ +å© Ĩ +é ī +éī ´ +åħ´ è¶£ +èIJ¥ ä¸ļ +è® Ĭ +èĦ ı +è¾ Ī +å·ŀ å¸Ĥ +è´« åĽ° +ç© · +ä¸Ń å°ı +æ¼ Ĥ +çĻ Į +èľ ľ +ä¼Ļ ä¼´ +çī µ +æĤ Ł +éĻ · +èµĽ åŃ£ +æ¨ £ +åģ ¶ +æĺ Ĩ +è¢ Ń +æį IJ +èī ° +æ Ĥ¬ +çĶ ¢ +èij ¡ +çĽ Ĺ +å© ´ +å° İ +çº ½ +åĢ ¡ +æī ® +è¨ Ń +æĬ ij +ç¡ ķ +è¾ ĸ +éĥ ģ +è¾ © +éĤ » +çݰ åĩº +è¦ ı +å½ ¹ +éĺ Ķ +åī µ +è¯ ± +æĥ ij +æ· Ģ +é¢ Ī +ä¾ ¦ +æģ ° +æ£Ģ å¯Ł +éĨ « +çĦ¶ æĺ¯ +åĭ ĥ +èĮ « +ä ĵ +𠬸 +ä½ľ 为 +çļĦ 人 +éĤ£ ä¹Ī +ç¾İ åĽ½ +è¿ĺ æľī +æıIJ é«ĺ +èĻ ½ +åħ· æľī +åĮħ æĭ¬ +æĪĸ èĢħ +ä¸į è¿ĩ +ä¸Ĭ æµ· +åĮ» éĻ¢ +èµĦ éĩij +çĶļ èĩ³ +åζ 度 +è§£ åĨ³ +èģĶ ç½ij +ç»§ ç»Ń +建 ç«ĭ +è¿Ľ ä¸ĢæŃ¥ +æĿIJ æĸĻ +ä»Ĭ 天 +å¿ħ é¡» +åIJĦ ç§į +çݰ åľº +ä»ĸ çļĦ +å¢ŀ åĬł +é¢Ĩ åŁŁ +åıĤ ä¸İ +æĮģ ç»Ń +ä¹ĭ ä¸Ģ +çī¹ åĪ« +é± ¼ +åħ± åIJĮ +åĬ ª +çİ ī +人 们 +åħĪ çĶŁ +ä¼ĺ åĬ¿ +ä¿Ŀ æĮģ +ä½ľ åĵģ +çī Ľ +æĪIJ æľ¬ +æĶ¶ åħ¥ +åıĬ æĹ¶ +è´Ł è´£ +æİ¥ åıĹ +èį IJ +åıª è¦ģ +羣 çļĦ +导 èĩ´ +æľº åζ +è¡Į åĬ¨ +æĸ° çļĦ +å®Į åĸĦ +为 ä»Ģä¹Ī +ä¸Ń 央 +æĪIJ ç«ĭ +æĦŁ è§ī +åıĺ åĮĸ +åıĹ åΰ +å¹¶ ä¸į +åŃ Ļ +æĸ½ å·¥ +æĺİ æĺ¾ +è¿ĩ åİ» +åıij æĮ¥ +羣 æŃ£ +åŁº åľ° +æĺİ ç¡® +èĥ ¡ +许 å¤ļ +ä¸Ģ å¹´ +æĸ¹ åIJij +æģ © +缸 ä¿¡ +åľ ³ +详 ç»Ĩ +äºĭ ä¸ļ +çĶŁ åij½ +åĴ¨ 询 +æĸĩ æĺİ +çij ŀ +绿 èī² +èİ « +æĦı è¯Ĩ +æĬķ åħ¥ +åĬł å¿« +æ¢ ħ +ç¿ » +å¼Ģ æĶ¾ +æĻ® éĢļ +åįı ä¼ļ +æĪIJ 绩 +ä» Ļ +å¯ Ĵ +è¯ģ åΏ +认 è¯Ĩ +ä¸ ¹ +大 éĩı +è¿ ħ +åģļ åΰ +设 æĸ½ +è´¸ æĺĵ +èĥ½ æºIJ +æĹ¶ æľŁ +ä¸Ģ 天 +æ²» çIJĨ +åĺ ī +å® ĩ +丰 å¯Į +举 è¡Į +æĪIJ æŀľ +èĤ¯ å®ļ +çĭ Ĺ +åĬ¨ åĬĽ +æ£ ® +åĩł ä¹İ +åĽł ç´ł +æ°ij æĹı +æ´ ŀ +ç½ij åıĭ +åIJĪ çIJĨ +广 大 +æ® Ĭ +æ´ Ľ +æĿ ¯ +èĴ Ļ +ç͍ äºİ +èŀį èµĦ +ç¥ ĸ +æľº 械 +举 åĬŀ +èĩª åĬ¨ +åĬŀ åħ¬ +é» ŀ +éĽ Ħ +å̼ å¾Ĺ +çĮ ª +以 为 +æĺ Į +è·Ŀ 离 +åIJ¸ å¼ķ +ç» ķ +éļ Ĩ +计 ç®Ĺ +éĺŁ ä¼į +大 ä¼ļ +å¼ķ èµ· +çī¹ çĤ¹ +èĥ ¶ +å¹´ è½» +æľ¬ 身 +æľº åħ³ +å®ĺ æĸ¹ +éĥ ij +æµ Ļ +è§Ĵ èī² +èij£ äºĭ +为 主 +æĹł 论 +ä¹ł æĥ¯ +æ¥ ļ +æĭ ĵ +绣 计 +åħ Ħ +广 æ³Ľ +åį Ģ +污 æŁĵ +è« ĭ +èĬĤ 缮 +ä¼ ¦ +è¦Ĩ çĽĸ +èĢ IJ +æī¶ è´« +ç»ı åİĨ +éĩįè¦ģ çļĦ +èĤ¡ 举 +æĭĽ èģĺ +åĽĽ 个 +æĩ ī +èĥ ŀ +æij Ĩ +é«ĺ éĢŁ +éº ¦ +åİŁ åĪĻ +èİ ± +æĽ´ 好 +éķ ľ +åĩ Į +åŀĥ åľ¾ +éĢ ² +çģ ° +éĵ º +äºĭ æķħ +çĶ ĺ +空 æ°Ķ +é¾ Ħ +èı ² +çĵ ¶ +æĺ ¨ +æĹ¥ æĬ¥ +æµ ® +åľ° åĽ¾ +åij Ī +大 åĬĽ +ç» ª +å¸ ħ +æľį åĭĻ +ä¸į éĶĻ +乡 æĿij +å± ¥ +å¹³ æĸ¹ +éĹ ² +æī £ +ç´ł è´¨ +èµ ´ +éģ Ń +èIJ ¨ +èĩª 主 +éĩij å±ŀ +èī¯ å¥½ +两 å¹´ +æ³ ¥ +é¢ ľ +ç²¾ 彩 +ä¸Ń åįİ +æĻ ĭ +ä¹ł è¿ij +ä¹łè¿ij å¹³ +æĪĺ 士 +åģļ çļĦ +éª ij +æ» ´ +çĵ ľ +çīĪ æĿĥ +èĤ ł +æľĥ åĵ¡ +çı į +ç¨ ® +ä »¿ +çī© ä¸ļ +åĢĭ 人 +å¦ » +ä¼ ¸ +æ± Ĺ +æĹ º +çIJĨ æĥ³ +æij ¸ +è¿Ŀ æ³ķ +å®Į æķ´ +åİ ¦ +è¸ ı +æĸ ij +æ¡ Ĥ +ä½ĵ åζ +å¸ « +æĿ Ĩ +æ® ¿ +æ¯ ģ +é¦ Ī +è§Ĵ 度 +æ¬ £ +çĥ ¦ +èĤ º +éĩĩ 访 +æij ĺ +æĮ ¡ +æ· ĺ +åħ» èĢģ +çĤ ¸ +è¿ Ī +åİ ī +åĿ Ĭ +è¾ £ +åĩ Ŀ +æ³ ª +çĸ ı +æİ ĺ +åĥı æĺ¯ +éĽ ķ +ç¼ Ŀ +èį · +æį · +åł ¡ +åı¥ è¯Ŀ +çĸ ¼ +æł ı +éģ µ +ç¢ ³ +å·¥ åķĨ +æIJ º +åĪ ¥ +ä¹ Ļ +æĹ ĭ +æĥ ľ +ä¸Ģ 大 +å±Ĥ 次 +èµ ĸ +æĬ ¬ +æ¨ Ĥ +è¯ ŀ +åħ Ĵ +ç¯ ® +èĤ ĥ +å§ ¿ +æĬ ļ +çĵ · +ç͵ åĬ¨ +æĸ° åĨł +æ¶ µ +ç¢ ij +æ· ® +æĹ ¨ +è¸ ª +æ¸ Ķ +æĦ Ī +åı Ķ +åįĹ çľģ +ç¾ © +å§Ķ 书记 +è² ¸ +æ¶ Į +è« ĸ +èIJ Ħ +æı ı +å¿ § +è¾ ¦ +å¦ Ĩ +æī Ń +åij µ +éģ ¥ +è¨ ± +ä» ĩ +åįģ ä¸ī +åī ² +èª į +èĪ ° +é¢ ĩ +é¥ ± +çĭ ł +é«ĺ çļĦ +çµ ± +æħ İ +é¢ ģ +åIJĪ éĢĤ +æµ ´ +èµ ĭ +æĬ ¼ +å¦ ¥ +éĻ¢ éķ¿ +èĢ ķ +è¾ ¨ +æħ ° +åįģ åĽĽ +æľ µ +èĵ Ħ +æŀ ¢ +å» · +æĤ Ħ +æ¶ ¯ +çŁ © +åŃIJ éĩĮ +çĬ ¹ +å±Ģ éķ¿ +é IJ +å¥ ł +ä¼ļ éķ¿ +æĵ ļ +ä¸į åıĬ +åįģ ä¹Ŀ +æ¬ º +èº º +éĺ IJ +çº Į +è¨ » +åĨ Ĭ +èŃ ĺ +é«ĺ çŃī +èħ º +å¤ ķ +ç» ij +åĶ ¤ +èķ ´ +çķ ľ +æħ ĭ +åı Ļ +åı ĥ +å³ ¡ +人 大 +éħ ¿ +éģ © +å¥ ¢ +åı£ æ°Ķ +éĮ Ħ +é ı +åĭ ĺ +è´ ¿ +éļ ª +é ĭ +éļ ¶ +ð ¥ +𬠣 +ð £ +ð« į +𬠳 +ð« ĵ +ð« Ħ +ð« Ł +𨠱 +ä Ĺ +以 åıĬ +æľī éĻIJ +åij ¢ +åIJ Ĺ +çľĭ åΰ +计 åĪĴ +è¿Ľ åħ¥ +缴 æİ¥ +åĪĨ æŀIJ +åıª æľī +设 å¤ĩ +åħ¶ å®ŀ +åĬł 强 +ä¸Ń çļĦ +ä¿Ŀ éļľ +èĢģ å¸Ī +人 æīį +å¾Ĺ åΰ +é£İ éĻ© +ä¸Ģ ç§į +空 éĹ´ +æĪij åĽ½ +ä¹ĭ åīį +ä¸ĵ å®¶ +æĿ ¨ +æĹ¥ æľ¬ +群 ä¼Ĺ +åıĤ åĬł +æķĪ æŀľ +æľī åħ³ +å®¶ åºŃ +åĮº åŁŁ +åĬª åĬĽ +éļı çĿĢ +æĹł æ³ķ +交 æµģ +è¡Į 为 +æ£Ģ æŁ¥ +æľŁ éĹ´ +å¦Ĥ æŃ¤ +èĤ¡ 份 +å½ĵ æĹ¶ +è£ħ å¤ĩ +åĩĨ å¤ĩ +éħĴ åºĹ +è¿IJ åĬ¨ +æıIJ åĩº +å·¦ åı³ +æİª æĸ½ +é£Ł åĵģ +æ¶Īè´¹ èĢħ +åѦ éĻ¢ +æĮĩ 导 +è¿IJ èIJ¥ +éĩį 大 +åĨľ æĿij +éĢł æĪIJ +æĶ¿ æ²» +éĴΠ坹 +æŃ£ å¼ı +åıĸ å¾Ĺ +éĤ£ 个 +éĽĨ ä¸Ń +åıª èĥ½ +å¿« éĢŁ +身 ä½ĵ +åħļ åijĺ +èģĶ åIJĪ +åĬĽ éĩı +éĥ½ æľī +æ ħ§ +å¡ Ķ +åĪ« 人 +表 çݰ +æķħ äºĭ +ä¸Ģ åĪĩ +å° ĩ +èµĦ æĸĻ +åŁ¹ åħ» +éĺħ 读 +æľī 人 +èIJ¥ éĶĢ +çĽij çĿ£ +çݯ ä¿Ŀ +èĢĥ èĻij +æ·± åľ³ +严 éĩį +èĮĥ åĽ´ +å§Ķ åijĺ +çĽij 管 +ä¸ī 个 +è£ħ ä¿® +åħ¬ éĩĮ +åĪĨ åĪ« +çIJĨ è§£ +éŁ © +åĬł å·¥ +认 羣 +ä¸į 好 +åİ» å¹´ +éĻį ä½İ +æľº ä¼ļ +åįı è®® +符 åIJĪ +å¢ŀ 强 +æĬĢ èĥ½ +é¦ĸ åħĪ +ç§ ¦ +ä¸ ģ +å° ¾ +æľī äºĨ +åľ° 产 +æ¸ ł +æĸ¹ 便 +ç§» åĬ¨ +éĢŁ 度 +å°¤ åħ¶ +éĢļ çŁ¥ +åĿ Ľ +éģ¿ åħį +æģ ¢ +è´ ¡ +èģĮ å·¥ +å®ŀ åĬĽ +æĺ¯ä¸Ģ ç§į +åIJ¯ åĬ¨ +çĸ¾ çĹħ +æĿ¥ äºĨ +缸 对 +çݰ å®ŀ +èŀį åIJĪ +åIJĮ æł· +åħ¬ åijĬ +çī¹ æ®Ĭ +ç´ « +ä¸ĭ åİ» +ä¼ł æĴŃ +æľĢ 好 +ä¼ĺ è´¨ +æ² Ĵ +æĮ º +æĹ ¦ +è¯ º +ä¸Ģ åIJį +éģĵ è·¯ +示 èĮĥ +è¿ĩ æĿ¥ +åIJĮ åѦ +é¼ ĵ +æĿ Ń +æľ¬ 次 +åIJĮ æĦı +ä¸ĸ 纪 +ç¾ Ĭ +æ¬ ² +å·¥ èīº +çĵ ¦ +人 士 +æľī æīĢ +ä»İ äºĭ +æľī å¾Īå¤ļ +ä¸į äºĨ +å²Ĺ ä½į +åıĺ å¾Ĺ +åĬ³ åĬ¨ +å¤Ħ äºİ +å¹³ åĿĩ +å½¢ 象 +å¡ ŀ +åħ± 享 +çĿ Ľ +åĪ© 润 +æŃ£ æĺ¯ +å¾Ģ å¾Ģ +缸 æ¯Ķ +æ¨ ª +åĪ · +æµĻ æ±Ł +大 éĥ¨åĪĨ +å¤ļ 个 +æĤ¨ çļĦ +ç͵ åķĨ +å¾® åįļ +å§ĭ ç»Ī +çĬ¯ 罪 +æĺ¯ åľ¨ +ç»Ħ åIJĪ +åİŁ æĿ¥ +æ¸ħ æ¥ļ +åIJĦ åľ° +æĦŁ åıĹ +å½ĵ ä¸Ń +è¶ĭ åĬ¿ +æĻ¯ åĮº +羣 æĺ¯ +ä¾Ľ åºĶ +转 åŀĭ +çĭ Ĥ +èĨ ľ +èĭ Ĺ +å¿ ł +å¾Ī 大 +èĤ¡ æĿĥ +ç¾İ åħĥ +æİĴ åIJį +åĬ¨ çī© +éĶ ħ +å¢ ¨ +主 å¸Ń +å¾Ī 好 +ç»Ŀ 对 +æĿ ľ +转 è½½ +çĴ ĥ +æĿij æ°ij +åIJ ¨ +åĽŃ åĮº +é«ĺ 度 +çī© è´¨ +è¾ ī +æĹ¥ 常 +æı Ĵ +ä¸ī å¹´ +ä½ĵ çݰ +æīį æĺ¯ +代 çIJĨ +ä¸į 管 +æģ Ĵ +åľ° ä½į +ç² ® +èĸ Ħ +æĺİ çϽ +ä¸Ģ èĩ´ +æĽ ¼ +åĵ Ń +åĩ ¤ +åĬ ² +æķ Į +æĪĺ æĸĹ +主 ä½ĵ +åħ¬ å¸ĥ +åıĤ èĢĥ +èĪª 空 +å¯ º +åѦ ä¼ļ +åıį æĺł +ç¾İ 丽 +太 éĺ³ +建 æĪIJ +æħ¢ æħ¢ +åIJĦ 个 +éĤ ¦ +ç»Ħ æĪIJ +ä¸ī 大 +éĶ ¦ +大å¤ļ æķ° +æ¦Ĥ 念 +éŃ Ĥ +åħ¬ çĽĬ +èį Ĵ +身 份 +æ·± åĪ» +åħ © +ç»ı åħ¸ +åIJĦ 项 +èĻ ķ +è¿Ľ æŃ¥ +åįģ äºĮ +æī§ æ³ķ +æĥ³ åΰ +æĦŁ æŁĵ +åķĨ åĬ¡ +å°ı ç»Ħ +èĶ ¬ +çıŃ åŃIJ +åIJĮ å¿Ĺ +éĿ¢ 临 +çĤ Ĵ +å¤ļ ç§į +è§Ĥ çĤ¹ +åĵª éĩĮ +å° Ŀ +å§ Ĩ +èħ ¹ +åŁİ åĮº +太 å¤ļ +çĹħ æ¯Ĵ +åľ¨ äºİ +æīĢ è°ĵ +æĻ ° +æŀ Ŀ +æĭ ĸ +å® ħ +æķ´ æ²» +ä½ı æĪ¿ +åģ · +çĨ Ĭ +èµ ģ +æ° Ľ +æł¼ å±Ģ +åŁºç¡Ģ ä¸Ĭ +èĥ Ĩ +åħ ½ +鼶 åĶ® +åĿ ¡ +女 åŃ© +æĴ ŀ +åħ¨ åĬĽ +åĴ ĸ +èĤ © +çľ ī +èĩ³ äºİ +åħļ ç»Ħ +ä¸Ģ ä»¶ +æĭ Ĩ +äºĭ å®ŀ +åĤ ³ +æ¹ ĺ +ç¶² ç«Ļ +循 çݯ +åIJĮ æ¯Ķ +æĭ Ķ +åĮ» èᝠ+åħ» æ®ĸ +åĽº å®ļ +å®ŀéĻħ ä¸Ĭ +è®° å¾Ĺ +åĪ© äºİ +æĤ ¦ +æĭ ³ +èĤ Ŀ +æķĪ çĽĬ +è© ² +æ°ij 主 +çĹĩ çĬ¶ +é¢ ¨ +å¹¼ åĦ¿ +å§ ij +æĪ Ĵ +ä¸ĭ çļĦ +æ¸ ¡ +å¹´ åºķ +è®° å¿Ĩ +åIJ IJ +大 å¹ħ +å¾ ½ +åħ¬ ä¼Ĺ +ä¿¡ å¿ĥ +çİ Ľ +ä¼ļ ä¸Ĭ +ä¹ Ķ +æijĦ å½± +æ£ĭ çīĮ +éĻ ķ +åºĶ æĢ¥ +æĶ¶ è´¹ +æİ§ èĤ¡ +仪 å¼ı +çŀ ¬ +æīĢ åľ¨ +ç¢ ° +å§ ĵ +é¡ Į +æĶ¯ éĥ¨ +使 åij½ +çĤ ī +å¯ Ħ +ç¿ ¼ +åľ° ä¸ĭ +è¾ ŀ +ä¿ ± +主 æĮģ +è´§ å¸ģ +æģ ¨ +èĤ Į +çĽ Ī +éĶ » +å¿Ĺ æĦ¿ +ç±» ä¼¼ +æĮ ĸ +éĢ » +ç¸ ½ +纪 念 +åķ ¥ +å¼ ¯ +åIJį åŃĹ +åģ¥ èº« +çļĦ å¿ĥ +é© ± +èĥĮ åIJİ +æ³ķ å¸Ī +ç² Ĵ +èĥ½ éĩı +è¾ ° +èī ³ +å½ ¼ +段 æĹ¶éĹ´ +åIJĪ æ³ķ +æĵ ¦ +ç¾ ½ +åİ ¨ +æĪij 说 +äºĭ åĬ¡ +åĩł 天 +åħ ģ +ç¼ ´ +åį ĵ +两 ç§į +çĭ¬ çī¹ +å¸ ¶ +éĴ » +æĥ © +é¢Ĩ åħĪ +è¶³ å¤Ł +å£ ³ +æĦıåij³ çĿĢ +åĪĨ å¸ĥ +ä¹ ĥ +éģ ĭ +ä½ © +è° ± +çģ £ +èį ¡ +è´¯ å½» +å¹ ¾ +ç£ ģ +åħ¸ åŀĭ +åī ĩ +åĨ » +æ¬ ł +ä¸į ä¹ħ +æµ ¦ +éŃ ħ +å¼Ģ äºĨ +使ç͍ èĢħ +è¿Ļ 款 +å° Ī +èĦ± è´« +æĶ» åĿļ +ç®Ĺ æĺ¯ +ç¨ Ģ +æĹł 人 +åł µ +å¥ ı +éĥ½ å¸Ĥ +åı¯ è§ģ +ä¸į åĩº +æ ·» +äº ı +ç¾İ 好 +èĥ ĸ +éŁ µ +æłĩ å¿Ĺ +èĬĤ èĥ½ +æĬ « +å° º +å¯ ¸ +ä¸Ģ 代 +é¢ Ĺ +èĢ ¶ +èĴ ¸ +åĸ ® +æ »¿ +çĮ ľ +æµ Ĩ +åŁ ĥ +åįĥ ä¸ĩ +èµ Į +èģ ² +ä½ľ é£İ +è³ ª +å¯ ¨ +å¹´ 人 +åį° è±¡ +æ¡ ¶ +æĴ ¤ +åįģ äºĶ +æ¯ ħ +æ² ª +åĽ½ æľī +大éĩı çļĦ +å¾ ¡ +å¯ ĵ +è¦ ĸ +æ¼Ĥ 亮 +çľ ł +ç ĤŃ +é» İ +èĻ ¹ +åĪ© äºļ +èŃ ī +æµ ı +åįģ åħ« +ä¸ ¢ +è¾ ½ +æľīä¸Ģ äºĽ +æħ Ī +åģľ è½¦ +å® ł +è§£ æĶ¾ +æľī å¤ļ +éĤ Ĭ +常 è§ģ +æĬ ¹ +çº ¤ +è¦ ª +æ¡ Ĩ +èİ ŀ +æ°§ åĮĸ +è¿Ļ ä»¶ +åĩ ° +æŁ ´ +åıij ç͵ +é¼ ł +转 åĮĸ +å¨ ĥ +æĮ ¤ +ç½ © +å¯Ĩ åĪĩ +æĪij ä¸į +é«ĺ æĸ° +ä¸Ģ ç¯ĩ +è¿Ľ ç¨ĭ +è¡ ° +è¿ĺ ä¸į +ç ħĮ +æĸ° åįİ +èĤ ¿ +æ» © +ä¸Ģ æµģ +è¯ Ī +å®ŀ ä½ĵ +å¤ĸ åĽ½ +èº ² +èµ ł +è¦ º +æ¢ Ŀ +ä¸į è§ģ +è¨ Ĭ +åĮ ¹ +åį µ +çĩ ¥ +æħ ķ +é½ ¿ +å® ´ +é¥ ¼ +èij¡ èIJĦ +å°ı å¿ĥ +æģ ¼ +éĻ Į +æĺ Ĥ +åĥ ¹ +èĬ Ŀ +æ¯ı 个人 +åīį æıIJ +ä½ĵ ä¼ļ +æ¨ Ļ +æIJľ çĭIJ +对 åħ¶ +ä¸ § +èľ Ĥ +æµ ¸ +èª ¿ +åĿ ª +é¢ ĸ +åIJį 为 +ç¬ ¼ +èĪ Į +æľ¬ 书 +èģ ¯ +çº º +ç®Ģ 缴 +éĽ ¢ +ç¾İ çļĦ +éļ ¨ +é«ĺ å³° +è¿Ļ å®¶ +å Ĥ¬ +å° ¸ +ç¡ķ 士 +èŃ · +è° ¨ +æĺ ı +æĶ¿ åįı +è¡ Ķ +ç¿ Ĵ +åľ Ĵ +åĽ½ æ°ij +主 è§Ĵ +è£ ķ +ä¼ ª +åº ŀ +æ°ij èIJ¥ +æĥ § +ç§ĺ 书 +çĹ ķ +çϾ åĪĨ +æº ¶ +æĹł çĸij +çļĦ çľ¼ +æĵ İ +ä¼Ł 大 +å½ ° +åħ¬å®ī å±Ģ +ç³ ķ +å¼ ¥ +åĤ Ļ +ä¹ ¾ +毫 ä¸į +注 æĺİ +åī¯ æĢ» +æĦ ī +æķ ¦ +é¦ ¨ +æĶ Ģ +éĢ Ŀ +åı¯ éĿł +å¤ ¸ +åľ ĺ +éĿ¢ ä¸Ĭ +æĬ ĸ +èĦ Ĩ +é© ° +ä¼ IJ +å¦ ¨ +å®ļ äºĨ +ç³ Ĭ +æŃ ¡ +éĥ¨ éķ¿ +ç§ ī +èĪ Ĩ +åĪij äºĭ +åIJ µ +æ¤ Ĵ +è¡ ĵ +è± « +èı © +åŃ µ +é¥ ² +å°± 好 +åł ª +ä¸ī è§Ĵ +åľº æ¯ĶèµĽ +ä¸į åģľ +æĵ ħ +åħ¨ æĸĩ +æ³ ģ +åѦ ä½į +æ± ° +éł ĺ +åı ł +éļ Ľ +å¸ IJ +çľĭ åĩº +åĮ ł +å±Ģ éĿ¢ +æ³ Į +è° Ĭ +åIJĮ æľŁ +æĬķ æłĩ +å¥ ´ +æĿ¥çľĭ çľĭ +èĦ ¾ +èŀ º +æŃ ī +çĽ ¯ +ç¨İ åĬ¡ +å» Ĭ +æİ © +æħ ¨ +çĽ ¼ +èĬ Ĵ +è® Ģ +æĮ £ +èĮ ħ +æĸ ¥ +æ¤ ħ +åΰ æĿ¥ +èijĹ ä½ľ +çĭ ± +äºĮ æīĭ +ä»İ æĿ¥ +çĸ ² +åºĬ ä¸Ĭ +æĸ° 浪 +æ³ Ħ +å¢ŀ å̼ +ä¸ Ľ +æļ ij +ä»İ ä¸ļ +æ· ĭ +å¤ļ æł· +æľ ´ +份 é¢Ŀ +æŀ £ +西 çľģ +æľ¬ è´¨ +æ·± æ·± +èī ĩ +ç» µ +产 å̼ +æ¼ ł +èħ » +çŃ Ľ +åİ Į +æģ Ń +å«Į çĸij +æĪ ¶ +æ» ŀ +èĨ Ģ +åĬ £ +座 è°Ī +常 æĢģ +çļĦ æĥħ +è¦ ½ +å¯ Ĥ +åĮ Ĩ +èĩ º +é¡ ¯ +çķ ı +éģ £ +åį ľ +çŃī å¥ĸ +è² ¬ +æº ¯ +é İ +çĤ¹ 头 +èĵ ¬ +æ± º +éħ ¬ +éģ Ĭ +è³ ¼ +註 åĨĬ +æľ¬ æĬ¥ +çµ ķ +æ´» æĢ§ +åħ ij +éĮ ¯ +åĨ ¶ +åĸ » +æº ĸ +èĤ ¢ +æº ĥ +æĹ ¬ +åī Ĭ +çIJĨ äºĭ +å± ł +æ² § +èļ Ģ +鼻 åŃIJ +为 æŃ¢ +常 å§Ķ +çµ Ĥ +éĬ · +çĭ Ģ +ä¾ £ +èĥ Ģ +èŃ ° +ç͍ 车 +åĻ ª +æŃ · +åį Ķ +åĪ ¹ +竣 æĺ¯ +é© Ĺ +èIJ Ŀ +çĻ « +çĹ « +æŃ § +å¼ Ĭ +åª ½ +çı Ĭ +è¡ · +éľ ī +åŁº çĿ£ +éļ ± +æ° ¨ +ç» ¸ +å°¼ æĸ¯ +çĥ ĺ +æľŁ åĨħ +è° ħ +éĽ ĩ +éļ Ļ +å ĸī +åī ¥ +çĹ ĺ +æĮ ½ +çĵ £ +æ¹ Ľ +æ¨ ± +æ¾ İ +æ¹ ĥ +åĨ¬ 奥 +æ£ µ +å® ° +åŀ Ĵ +æ§ ĭ +ä¾ Ī +èĮ Ħ +åĺ ¿ +èı ĩ +ç ĻĤ +åĬ ĥ +é į +èĶ ½ +çŀ Ń +æķ ŀ +ä¹ ĸ +éŁ § +è¾ ľ +æĩ Ī +ä½ £ +çŀ » +åŁ Ķ +èĪ ħ +å®ŀ äºĭ +é ¨ +å§ ¥ +çµ ¡ +åĺ » +çķ ¢ +æ²ĥ å°Ķ +è¿ Ħ +èĤ ĩ +æħ ij +ã § +ä ı +ð ł +ð¬ ĩ +ð« Ń +ð« IJ +ã ³ +© ½ +ð« ł +ã Ľ +ð¬ į +é ¿ +ð¬ Ĵ +ã Ļ +𬠤 +ð ¬´ +ð« ĸ +ð ¤ +ã ¬ +ä ² +ð« Ķ +ð« ļ +è¦ģ æ±Ĥ +ä¸Ģ äºĽ +å®ŀ çݰ +èĢĮ ä¸Ķ +åĽł æŃ¤ +çͱ äºİ +åħ³ äºİ +çĦ¶ åIJİ +æİ¨ åĬ¨ +ä¸Ģ æł· +æĮī çħ§ +è¿Ļæł· çļĦ +å½¢ æĪIJ +æľī äºĽ +æĽ´ åĬł +ç»ı è¿ĩ +建 è®® +æ²» çĸĹ +ä½ł 们 +æīį èĥ½ +ä¿ĥ è¿Ľ +åijĺ å·¥ +ä½ĵ éªĮ +èĪ ĩ +åģļ 好 +ä¿Ŀ è¯ģ +æķ´ 个 +æĺ¯ ä¸Ģ个 +éĩĩ ç͍ +çIJĨ 论 +æ¯Ķ å¦Ĥ +ä¸Ĭ çļĦ +æİ¨ èįIJ +çͳ 请 +天 空 +éĥ¨ èIJ½ +åįģ åĪĨ +æĿ¥ èĩª +ä¹ĭ éĹ´ +è°ĥ æķ´ +æ¯ı 天 +è°ĥ æŁ¥ +æĤ£ èĢħ +è¿ĩç¨ĭ ä¸Ń +é¦Ļ 港 +广 åijĬ +éĿ¢ 对 +满 è¶³ +éķ¿ æľŁ +è§Ħ èĮĥ +æķ´ ä½ĵ +æĶ¹ åıĺ +æĻº æħ§ +å¦Ī å¦Ī +å¦Ĥ ä»Ĭ +åIJĪ åIJĮ +éĥ½ ä¼ļ +åĦ¿ ç«¥ +åĩı å°ij +éŁ³ ä¹IJ +ç»ı 常 +ä¸Ĭ å¸Ĥ +ä¼ĺ ç§Ģ +çļĦ éĩįè¦ģ +ä¸Ģ æĿ¡ +æµ· å¤ĸ +åı¦ å¤ĸ +ä¸Ģ å®¶ +åİĭ åĬĽ +大 åŀĭ +çľĭ çĿĢ +åĪ Ģ +幸 ç¦ı +æİ¨ 广 +åIJ Ľ +å¾ IJ +æī¾ åΰ +äºİ æĺ¯ +èĩª 身 +ä¸Ģ ä½į +åľŁ åľ° +åĬł åħ¥ +æİ¢ ç´¢ +æ¢ ģ +主 åĬ¨ +å°± ä¸ļ +女 æĢ§ +çªģ çł´ +ä¸įåIJĮ çļĦ +è¿IJ è¾ĵ +èĩª çͱ +å±ħ æ°ij +æŃ¤ 次 +çļĦ æĹ¶éĹ´ +å®¶ éķ¿ +ä¸Ģ个 人 +æ£Ģ æµĭ +åĨħ éĥ¨ +广 å·ŀ +缴 æĴŃ +ä»İ èĢĮ +è´· 款 +åı¬ å¼Ģ +æĶ¹ éĢł +人 çĶŁ +å±ķ 示 +æ¯ı å¹´ +女 人 +çļĦ æĸ¹å¼ı +æķĪ çİĩ +å±± 举 +æ¸ł éģĵ +ä¼¼ ä¹İ +æ¡Ī ä»¶ +åĪ© çĽĬ +çľĭ çľĭ +å¿ĥ éĩĮ +ç»´ æĬ¤ +å®Ŀ å®Ŀ +ç½ij ä¸Ĭ +论 åĿĽ +å°± åı¯ä»¥ +ä¸į è¶³ +æģ¢ å¤į +å¸ĥ å±Ģ +è´¡ çĮ® +ä¸ĭ éĻį +æİĮ æı¡ +çļ® èĤ¤ +å·¥ åħ· +éĩį åºĨ +åĵģ è´¨ +æİ¨ åĩº +çĶ· 人 +æī¿ æĭħ +çªģ åĩº +èĢĮ è¨Ģ +æ² Ł +åįı è°ĥ +æĺ¯ ä»Ģä¹Ī +æ± ¤ +æĴ ij +çĭ¬ ç«ĭ +çݯ èĬĤ +æī© 大 +æ´ ª +æĿ ° +çĽ IJ +ä» ģ +æ¶ī åıĬ +èĢģ 人 +åį³ ä½¿ +åįĹ äº¬ +éħį åIJĪ +é¬ ¼ +çζ 亲 +ç½Ĺ æĸ¯ +å°ı åĮº +æķĻ æİĪ +åĨ³ çŃĸ +é¢Ħ 计 +æľ¬ 人 +ä¼ ¯ +ç« ¹ +åΰ åºķ +å¸Ĥ æ°ij +åĩº åı£ +éĩĩ è´Ń +æĢ» ç»ĵ +æŃ¦ æ±ī +åĬł 大 +广 举 +æµģ ç¨ĭ +人 åı£ +å¦Ĥæŀľ ä½ł +åĩº åİ» +åĩ ī +åĨľ æ°ij +çݰ 象 +åĬĽ 度 +ç»Ļ äºĪ +åħļ å§Ķ +è¯Ń è¨Ģ +线 ä¸Ĭ +æĢİ æł· +åĦ¿ åŃIJ +ç¡® å®ŀ +ä¹ĭ å¤ĸ +éĥ½ åľ¨ +èī ¾ +çļĦ æĥħåĨµ +éĩĮ çļĦ +åĽ´ ç»ķ +æĽ´å¤ļ çļĦ +ä¾Ŀ æ³ķ +åħ¬ åĽŃ +å®¶ éĩĮ +æ¯į 亲 +ä¸į åĨį +èĭ ¹ +æ³ķ éĻ¢ +飩 åĽ½ +缸 å½ĵ +ä¸į çŁ¥ +è¯Ħ ä¼° +ä¸į ç͍ +顺 åĪ© +éĩį è§Ĩ +è´¢ åĬ¡ +ä»ĸ åĢij +åıij è¡Į +ä¸ĵ éŨ +åħ· å¤ĩ +å¹¶ ä¸įæĺ¯ +è¶³ çIJĥ +é ŀĭ +åıij 表 +æ°¸ è¿ľ +èIJ¥ åħ» +éħį å¥Ĺ +æķ´ åIJĪ +è´ º +åĽŀ çŃĶ +æĶ¶ çĽĬ +ä¹Ł 许 +è» Ĭ +æİ¥ 触 +æĶ» åĩ» +åĽĽ å·Ŀ +æĢ§ èĥ½ +åĽŀ åΰ +èħ ° +ä¹Ł 没æľī +å¼ Ħ +设 ç«ĭ +éĺ² æİ§ +æĬĢ å·§ +éĢļ 常 +è´¢ æĶ¿ +éĥ¨ ç½² +åľº æĻ¯ +æ±Ł èĭı +表 è¾¾ +åĸ · +女 åĦ¿ +èĪ ¶ +çµ ¦ +ä¼ļ åijĺ +æĪĸ 许 +äº © +举 æĸ¹ +天 æ´¥ +è¿ij å¹´ +çľĭ æĿ¥ +æ¯Ķ ä¾ĭ +å² © +éĵ ľ +çİ » +å®ŀ éªĮ +æĢĿ ç»´ +æĭħ å¿ĥ +æ² Ī +身 è¾¹ +æ·± åĮĸ +ç²¾ åĩĨ +ç§ģ æľį +æ¶Ī éĺ² +åİ» äºĨ +ç»Ĩ èĥŀ +çIJĥ éĺŁ +æĺİ æĺŁ +é£Ł çī© +å¾Ī å¿« +让 ä½ł +ä¿¡ ç͍ +å͝ ä¸Ģ +åħ¶ å®ĥ +çŃī æĸ¹éĿ¢ +å¾ĭ å¸Ī +æŃ» 亡 +æ Ł³ +ä¸Ģ æī¹ +ä¸Ĭ 涨 +æľº åľº +å½¢ åĬ¿ +æĦ¿ æĦı +éĽĨ ä½ĵ +æĸ° åŀĭ +æį٠失 +æĽ ¸ +ä¸ĭ åįĪ +æ¯ı 次 +æĪIJ å°± +åħ¬ è·¯ +èĻ « +åĴ ± +西 å®ī +æľĢ ä½³ +ç§ij çłĶ +å¤į æĿĤ +æľº åύ +çα æĥħ +çħ§ çīĩ +å¹´ é¾Ħ +è³ĩ æĸĻ +ç² Ĺ +åĩĨ ç¡® +åĬł ä¸Ĭ +åĩº çīĪ +è° IJ +å®¶ å±ħ +èĥĮ æĻ¯ +ä¸Ģ 线 +äºĭ 项 +åĬ¨ ä½ľ +ç¥ ¥ +æĢ» ä½ĵ +æĪ¿ åŃIJ +ä¹Ł å°±æĺ¯ +大 æ¦Ĥ +é«ĺ æķĪ +åIJ ¹ +æİ ĪæĿĥ +éĻĦ è¿ij +æ¡Ī ä¾ĭ +éĹ ¹ +çΏ çΏ +彩 票 +æĢ Ĵ +举 æĬ¥ +æĻ® éģį +çķĻ ä¸ĭ +è¡£ æľį +æĹłè®º æĺ¯ +åħħ 满 +æ·± 度 +æ¡ ij +æĪª èĩ³ +带æĿ¥ çļĦ +éĻ µ +æĦŁ æĥħ +èµ ļ +åĵª äºĽ +æķ´ æĶ¹ +æĪIJ çĨŁ +å¨ ľ +é¼ » +çŁ Ľ +çĽ ¾ +好 好 +第 åĽĽ +åĨł åĨĽ +è´¢ å¯Į +æľĢ 好çļĦ +车 åŀĭ +éĸ Ģ +åį³ å°Ĩ +åĪĨ 为 +éĿĴ å²Ľ +纷 纷 +ä»Ĭ æĹ¥ +å¹³ è¡¡ +å¹³æĸ¹ ç±³ +éĤ£ ç§į +åĩº çĶŁ +éĿĴ æĺ¥ +人 群 +人 å·¥ +ä¹ĭ ä¸ĭ +æ¹ĸ åĮĹ +åľ¨ æŃ¤ +åįļ 士 +æĹ¶ åĪ» +æ²³ åĮĹ +æĶ¾ å¼ĥ +éĢļ éģĵ +森 æŀĹ +çĸ Ĩ +æķ ¸ +èĬ ³ +æīĵ åĩ» +æĽ ¹ +åĮĸ åѦ +æĥ³ 象 +ä¸ĩ 人 +è´¢ ç»ı +åħĥ ç´ł +ä¼ļ 计 +åħ¨ ä½ĵ +æĦ Ľ +é«ĺ ä¸Ń +æľº éģĩ +声 éŁ³ +æĹħ è¡Į +æµ © +æŁ ± +å°ij å¹´ +åĽ½ å¤ĸ +èijĹ åIJį +çĶŁ åŃĺ +å§ ľ +带 é¢Ĩ +é¢ľ èī² +ä¸Ĭ ä¸ĭ +产ä¸ļ éĵ¾ +æĽ´ 好çļĦ +å² Ń +ä¼ĺ æĥł +便 æĺ¯ +åħ§ 容 +ä¸Ģ åıª +çIJ ´ +梦 æĥ³ +ç§Ł èµģ +å¼Ģ åIJ¯ +è´Ń çī© +åĮħ åIJ« +åĪ© çİĩ +èµ· äºĨ +æľī åĬĽ +éĤ£ éĩĮ +审 æī¹ +对 æīĭ +çݰ éĩij +天 çĦ¶ +çĽ Ĵ +çĪ ½ +å¿ħ çĦ¶ +åĮĸ å·¥ +ä¸ĵ åĪ© +åķ ¡ +å¼Ģ å¿ĥ +人 ä½ĵ +éģĵ 士 +æĢģ 度 +空 è°ĥ +æĭĽ åķĨ +å§ » +第 äºĶ +æ£ Ĵ +ä¸Ģ ç³»åĪĹ +åį± æľº +转 åıĺ +åľº æīĢ +é¸ £ +æĪ¿ éĹ´ +éĢ ¼ +è¯ķ çĤ¹ +对 å¤ĸ +åĩº åı° +åľ¨ è¿Ļ +åİĤ å®¶ +å·¨ 大 +ç®Ģ ä»ĭ +çľĭ äºĨ +åħļ 建 +æĮĩ æĮ¥ +çŁ³ æ²¹ +ä¸į åı¯èĥ½ +èİ ² +ä¸į 太 +åĪĽ æĦı +第 ä¸Ģ个 +è´µ å·ŀ +è¿ĩ äºĨ +æľ¬ æĿ¥ +éģĵ å¾· +çŃĶ æ¡Ī +éĻ ¶ +ä¸Ģ è·¯ +èĤ ĸ +æ¸ħ æ´ģ +æľī æľº +åIJį åįķ +æĿ ± +åij¼ åIJ¸ +ä¸ Ī +ç¦ı 建 +è¯ķ éªĮ +å¼ķ åıij +ä¹Ł 没 +ä¸į ä½ı +çĨŁ æĤī +èIJ ¬ +ä¸į èī¯ +çł ĸ +èĩ´ åĬĽ +çѾ 订 +åIJ Ĭ +ä¾ ¯ +çĺ ¦ +å§ij å¨ĺ +æĸ ¤ +妻 åŃIJ +æĺ¥ èĬĤ +çĪ ¬ +æĽ Ŀ +çĥŃ æĥħ +éķ¿ æ²Ļ +èIJ¥ éĢł +éħ · +éĵ Ŀ +åŁºæľ¬ ä¸Ĭ +åij¨ åĽ´ +ä»Ģ 麼 +认 åı¯ +åĪĨ åŃIJ +ä¸Ģ æĸ¹éĿ¢ +è½ ´ +å¼ · +马 ä¸Ĭ +éĽ ¾ +èĩ £ +å° ¿ +çĶŁ æĦı +å®ī å¾½ +ç¥ŀ ç»ı +åĩº å¸Ń +èᝠåĵģ +çIJĨ çͱ +åįı åIJĮ +æµģ åĬ¨ +åıij åĬ¨ +åĿļ å®ļ +表 æĺİ +åIJİ éĿ¢ +ä¹ī åĬ¡ +å¦ ĸ +æľī åı¯èĥ½ +å¹´è½» 人 +大 éĻĨ +å² ³ +ä¸į èµ· +çŀ¬ éĹ´ +ä¸įå¾Ĺ ä¸į +çѾ 约 +åIJĪ æł¼ +åħļ æĶ¯éĥ¨ +æµİ åįĹ +便 åĪ© +éļı æĹ¶ +å¥ ī +ç§° 为 +产 æĿĥ +åIJ ķ +çĽ Ĩ +课 åłĤ +ç· ļ +æ£ ī +线 ä¸ĭ +èĩª è¡Į +举 æİª +åݦ éŨ +èĩª ä¿¡ +å½± è§Ĩ +ä» Ķ +çĶŁæ´» ä¸Ń +æĿĥ çĽĬ +çϽ èī² +å°± ä¸į +è¿Ľ å±ķ +æ¯ı æĹ¥ +ä¾Ľ ç»Ļ +æĿĥ åĪ© +æĹł æķ° +çIJĨ è´¢ +ä¾Ŀ æĹ§ +ä¸Ĭ åįĪ +è¯Ĩ åĪ« +çĽĪ åĪ© +çł Ĥ +许 åı¯ +åIJĮ äºĭ +åĺ Ľ +éģ ¸ +çĿĢ åĬĽ +éŨ åı£ +ä¸į å¤ļ +åħ¶ 次 +ç¢ § +çī© çIJĨ +åĨħ å¿ĥ +çϾ å§ĵ +æĢ» 绣 +å¹² åĩĢ +积 ç´¯ +åıį é¦Ī +æłij ç«ĭ +社 交 +ç§ © +åįģ ä¸Ģ +éĤ ĵ +驱 åĬ¨ +å±ķ è§Ī +èĪĴ éĢĤ +åŁº åĽł +å·® å¼Ĥ +转 让 +å°ı å§IJ +æł· åŃIJ +ç¿ Ķ +é«ĺ åħ´ +å½±åĵį åĬĽ +æīĭ ç»Ń +缸 åIJĮ +缸 åºĶ +æĻ Ĵ +è§ Ģ +å¸Ĥ å§Ķ +èĬ ¯ +å±ķ çݰ +åľ° çIJĥ +éĤ ª +ä¸Ģå®ļ çļĦ +åħģ 许 +ä¿¡ ä»» +æī ij +éĻ¢ æł¡ +ç®Ģ ç§° +åģļ æ³ķ +ä¹ĭ è·¯ +æĹĹ ä¸ĭ +èħ Ķ +æ¶Ī 失 +ä¸ĸçķĮ ä¸Ĭ +åŁİ 乡 +èĪŀ åı° +å¾Ī 大çļĦ +绣 çѹ +åħ¬ å¹³ +èĤ ¾ +çļĦ 好 +æ± ģ +çľ¼ åīį +éĽ £ +å¹ ½ +åħ± 产 +主 åĬŀ +å¤Ħ ç½ļ +åº Ļ +éģĵ çIJĨ +å¼ µ +æİ¥ çĿĢ +çĮ İ +çģ Į +çͱ æŃ¤ +人 åĬĽ +æµģ è¡Į +ä¾ ł +åı¯ä»¥ 说 +èĴ ĭ +å½¢ æĢģ +æĹ¥ åŃIJ +æ¼ Ĩ +çķĻ åѦ +缸 éĹľ +æľĢ å¤ļ +åĩŃ åĢŁ +åħ¬ 交 +æĮĸ æİĺ +æĿĤ å¿Ĺ +主 人 +éļľ ç¢į +æł¡ éķ¿ +æĸ¹ ä½į +ä¸Ĭ çıŃ +å¤ļ åħĥ +è ĥģ +éŃħ åĬĽ +èĮ Ĥ +åħħ ç͵ +强 大 +çĥ ¤ +å¥ĭ æĸĹ +å®ŀ ç͍ +éĺ ģ +ç»Ļ äºĨ +æľ¬ ç§ij +æł ĭ +æĭ ¨ +æķĻ ç»ĥ +éĥ½ çŁ¥éģĵ +æ¯ķä¸ļ çĶŁ +ç¢ Ĺ +åŀ Ĥ +è® ¼ +å®ģ æ³¢ +åѦ èĢħ +è°¢ è°¢ +åŁİ éķĩ +æĢİä¹Ī åĬŀ +éģ Ķ +æĪIJ 交 +æ½ľ åĬĽ +åį § +æĸ° å¼Ģ +éħį å¤ĩ +主 åĬĽ +åij³ éģĵ +çĥ Ĥ +é£ŀ è¡Į +å« ģ +大 大 +ç»Ļ 大家 +å¤ĸ éĿ¢ +éĨ ī +åıij è¨Ģ +æĹ© é¤IJ +åIJĦ èĩª +å® Ļ +èᣠèªī +æĬ« éľ² +é¡ ŀ +åĨħ çļĦ +èĤ ª +è¾ IJ +æ³ µ +æĬ Ľ +æĺŁ æľŁ +ä¸Ģ 带 +çĶŁ ç´ł +ç»ı éĶĢ +åĩ ¶ +åľ° ä¸Ĭ +åij½ è¿IJ +åĵ ² +ä¸Ĭ åİ» +æĸĩ çī© +è¯ ij +æĮ¯ åħ´ +éķ¿ æĹ¶éĹ´ +ç¥ Ń +åIJĪ èĤ¥ +è¿Ŀ è§Ħ +èģ ª +ä½İ äºİ +éĢĤ å½ĵ +æľī åºı +æľ¬ ç½ij +çķĻ è¨Ģ +æĥ³ æ³ķ +çѾ ç½² +å§ ļ +æĢ§ æł¼ +èĴĻ åı¤ +æŁ ı +åŀ « +åѦ åİĨ +ä»ħ ä»ħ +讲 è¯Ŀ +éĶ IJ +æĢ ĸ +åī ª +èĭ į +åIJ ĵ +强 çĥĪ +åģ¥ åħ¨ +çĸ ¯ +åı¤ 代 +å¥ Ī +ä¸į çĦ¶ +乡 éķĩ +æľĭåıĭ 们 +åĤ ħ +èģ ½ +个 æĢ§ +æ³ķ è§Ħ +å°ı éķĩ +çĶ» éĿ¢ +第 åħŃ +ç¶² è·¯ +åīį æĻ¯ +åIJ¬ 说 +ä¼ł åªĴ +æĿ¡ ä¾ĭ +åĪ« çļĦ +ä¸į æĩĤ +顾 éĹ® +强 度 +éĺ¿ éĩĮ +èµ° åĬ¿ +å¸ ½ +çļĦ ç¡® +åĮº åĪ« +éĮ ¢ +主 管 +ä¸Ģ çľĭ +æĸ ľ +åŃĺåľ¨ çļĦ +ä» ² +åᱠ害 +éĵ Ń +游æĪı ä¸Ń +éħ ± +é¾Ļ 头 +人 å¿ĥ +éĢĢ ä¼ij +æµı è§Ī +åĬ « +éĺ² æ²» +ç® Ń +å± Ī +è¾½ å®ģ +å£ ¤ +è¿İ æĿ¥ +éŀ į +ç͍ æĿ¥ +大 åľ° +ä» ° +éĢļ 讯 +å¼Ģ å·¥ +è£ ¤ +å¦Ĥ åIJĮ +éª ¤ +éĺŁ åijĺ +è½ © +ç¾İ æľ¯ +èĻ Ł +åIJĮ ä¸Ģ +åľ ĸ +书 æ³ķ +æīĵ åį° +åIJ« æľī +éĽĨ æĪIJ +éĹ · +å¸Ĥåľº ä¸Ĭ +æĹģ è¾¹ +åľ° æĿ¿ +产çĶŁ çļĦ +ç² ¤ +éĩį ç»Ħ +è¡Ģ æ¶² +çŃ ĭ +åĬŀ äºĭ +常è§ģ çļĦ +ä¸Ĭ åįĬå¹´ +å±ı å¹ķ +åIJī æŀĹ +å· © +åĸľ çα +ç¿ ł +ä¸ī ç§į +æ¡Ĩ æŀ¶ +举 èİŀ +çĶĺ èĤĥ +èĬ ¬ +åĽ¾ 书 +åĩ¤ åĩ° +æ°Ķ åĢĻ +å° ´ +å° ¬ +两 天 +è¾ħ 导 +åĢŁ 款 +æĹ¥ èµ· +æ´ Ĵ +ä¸Ģ 度 +è¹ Ī +æ½ Ń +æī ĩ +çĻ ľ +æĸ° åħ´ +åĤ ² +诸 å¤ļ +è´ ª +éĻ· åħ¥ +èĪ Ł +èĤº çĤİ +ä¸Ģ æł·çļĦ +åİ ĺ +åľ° çIJĨ +æĬķ æ³¨ +éļ Ĭ +åħī ä¼ı +ä¿Ŀ åģ¥ +åħ Ķ +åħ¬ åĬ¡ +æīĵ çł´ +çĶ· åŃ© +åĬ³ åĬ¡ +ä½ł ä¼ļ +ç͍ åľ° +æº ¢ +åıij è¾¾ +èĤ ļ +è¿ĩ äºİ +èĩ Ĥ +éĢĻ æ¨£ +è½» è½» +ä¸Ń åħ± +åIJĦ åĽ½ +åĶ ĩ +å®ŀ ä¹ł +èĻ ¾ +æ§ ½ +ä¸į ä¸Ĭ +åħį çĸ« +åįł æį® +å·¥ ä¼ļ +åĽ Ĭ +èĪª 天 +åı¯ çα +æĸĹ äºī +çĺ ¤ +å¦Ĥ æľī +éĽ ĸ +对 æĪij +åĩº ç§Ł +好 çľĭ +太 大 +æ°´ åĪ© +åĬ¿ åĬĽ +åħ¨ æ°ij +ç½ ¢ +èµ¢ å¾Ĺ +ç͵ ä¿¡ +车 éĹ´ +æĻĤ åĢĻ +å°ij æķ° +éĵ ¸ +åħ³ èģĶ +ä¸įä»ħ ä»ħ +为 æĤ¨ +åĴ ¸ +æľº åĬ¨ +è£ Ļ +åĵį åºĶ +éģ ł +è² · +ç© ´ +å¢ ħ +éĶ ¡ +çµ Ħ +çģ« è½¦ +è³ĩ è¨Ĭ +åĨ³ èµĽ +污 æ°´ +èª ŀ +å´ Ľ +ç´§ å¯Ĩ +缺 å°ij +å¤ļ 人 +æĢ» 书记 +éĶ Ī +èij Ľ +å¿ĺ è®° +éĻĮ çĶŁ +éķ¿ å¤§ +åħĪè¿Ľ çļĦ +ç¡ ħ +åıij æĺİ +å©´ åĦ¿ +æīİ å®ŀ +èĽĭ çϽ +ä¸Ģ çϾ +缮 åħī +æ ħĮ +åĬł æ²¹ +åIJ ŀ +ä¸Ģ 群 +ä¸Ń ä»ĭ +å¸ ĸ +å¿ Į +èģĮ èĥ½ +广 æĴŃ +çĽij å¯Ł +ç§ĺ å¯Ĩ +çĭ ® +è¿Ļ æĿ¡ +éĢ ¢ +æĢ ¨ +åįģ åħŃ +è© ¦ +说 åΰ +åĩĿ èģļ +æĮĩ 示 +æ° ¢ +å¼ ĺ +éĺ Ģ +æĸ © +éł ħ +ä¸Ģ å¼Ģå§ĭ +æİĴ è¡Į +åľ¨ æĪij +纪 å½ķ +æĬ Ħ +æł ª +说 æ³ķ +ä¸Ń èᝠ+好 å¤ļ +åıª ä¸įè¿ĩ +çķĻ åľ¨ +个 å°ıæĹ¶ +认 çŁ¥ +çķ « +è§ģ è¿ĩ +å°ı å¾® +ä½Ľ å±± +çľ ¾ +讲 è¿° +æ¢ ³ +ç§° åı· +æĹ¥ æĻļ +è¢ ĸ +åķ ¤ +æľª ç»ı +æľĢ æĹ© +æī® æ¼Ķ +è¡Ģ 管 +çº ± +æĥħ èĬĤ +第 ä¸ĥ +æį § +ä» Ĺ +æ¿Ģ çĥĪ +æĹł 线 +ä¸į 容æĺĵ +å¼Ģ å¹ķ +æĸ° çĶŁ +ä¸ĵ 注 +èij ± +åįĹ æµ· +çĩ Ł +èµ· ä¾Ĩ +æ´¾ åĩº +åĦ Ĵ +ä¾ ¨ +è¼ ĥ +åįļ è§Ī +éĢ ¾ +åĮ Ģ +ç»ıæµİ åѦ +æ¸ Ĺ +ä¿Ŀ èŃ· +çī º +çī ² +çİ « +çij ° +æľĢåIJİ ä¸Ģ +æĶ¿ åĬ¡ +æ§ Ľ +èĻķ çIJĨ +éļIJ æĤ£ +æī¿ åĮħ +æ¥ µ +æ¡ © +çĽ ² +导 åIJij +èĩ´ å¯Į +ç¼ Ĩ +æģĭ çα +ä¸į åĬ¨ +ç»Ļ 人 +å· ¢ +表 æĥħ +举 åįĹ +åĨħ å¤ĸ +è¾Ī åŃIJ +åı ī +åįļ ä¼ļ +åĬŁ æķĪ +æ¸ ´ +å± ¬ +æİĴ éϤ +éĢ Ľ +ä¸Ģ ä¼ļ +ä¸į å¼Ģ +å¼Ģ å¥ĸ +é»ij é¾Ļ +é»ijé¾Ļ æ±Ł +å¿« ä¸ī +度 åģĩ +åĿ ¤ +éĤ® ä»¶ +æĩ Ĵ +ä¾Ľ ç͵ +å» £ +好 è¯Ħ +ç§ĺ书 éķ¿ +æĪĺ åľº +好 å¥ĩ +ä¾µ æĿĥ +æĨ ¾ +æľĢ åĪĿ +æī¹ åıij +åİ ķ +è¼ ķ +æŀ ¯ +ä¸ļ åĨħ +è´Ń æĪ¿ +ä¸į åľ¨ +纪 å§Ķ +æīĢ éľĢ +å¸Ĥ éķ¿ +è³ ½ +å¼ķ æĵİ +çģµ éŃĤ +éĬ Ģ +æ» ¤ +çĿ IJ +å¤ļ 项 +åĽŀ 头 +èī ĺ +å¤į å·¥ +éĥ¨ ä»¶ +ç´§ ç´§ +æŁIJ ç§į +使 åħ¶ +æĸ° 人 +æŀ ļ +æ³ķ å®ļ +å·´ å·´ +æ¶µ çĽĸ +ç¨ » +æĭ ¾ +æĻ ķ +è½ ¿ +éĢļ è¡Į +åĵ Ģ +æ³ Ĭ +温 馨 +éĽĨ èģļ +çĨ Ļ +åĩ ij +åįģ ä¸ĥ +æ°Ķ æģ¯ +æıIJä¾Ľ çļĦ +æ³ ³ +奥 è¿IJ +çģ¾ å®³ +åĩĢ åĮĸ +è·¨ è¶Ĭ +åĵª æĢķ +éŁ ¿ +å¢ŀ æ·» +çĦ Ĭ +æ®ĭ çĸ¾ +ç¢ Į +æĤ Ķ +è§ģ è¯ģ +è¾ĸ åĮº +å¿ĥ èĦı +éļ § +åį ¸ +åı¯èĥ½ æĢ§ +æľī è¶£ +åī¯ ä¹¦è®° +åĮĸ å¦Ĩ +ä¿ Ĥ +æ£ ļ +éĨ ĩ +带 头 +éł Ī +追 ç©¶ +æij Ķ +è¿Ļ éĥ¨ +ä¸į 论 +ç¥ ¸ +å ³» +éģ ķ +çĶŁ èĤ² +å¤ ł +å¤ĸ 交 +è¯Ħ 为 +ä»İ å°ı +å°ı å°ı +é ¥¿ +æĴ ¼ +è·¨ å¢ĥ +被 åijĬ +åįĹ å®ģ +身 å¿ĥ +åĨį çĶŁ +æīĢ è¯´ +æĹ¶éĹ´ åĨħ +åĪĹ åħ¥ +éĿĴ æµ· +çα 好 +çª Ħ +èĪ Ī +è¿ĩ 渡 +æ¿ Ł +éĽ Ģ +审 è®® +åĽ½ èµĦ +æŃ¥ ä¼IJ +轨 éģĵ +ä¿¡ 念 +ä¸ī åĪĨ +çĨ ¬ +åѵ åĮĸ +ç¼ ł +éĥ Ĭ +èĪĴ æľį +纪 æ£Ģ +ä¸Ģä¸ĭ åŃIJ +鼻 話 +è² ł +éĴ ¥ +åĮ Ļ +çĹ ´ +è¶ ģ +ç» £ +çĪ µ +è½ ° +éª Ħ +å§ ¨ +æĭ ĺ +çĮ ´ +è® ¶ +è¿Ļ 座 +çį ¨ +æ·ĺ æ±° +çĹħ ä¾ĭ +æ²Ļ åıij +è§Ĩ 为 +头 æĿ¡ +å¿ħè¦ģ çļĦ +åı¯ è°ĵ +è¯Ŀ 说 +ç¯ Ħ +æĹ© çĤ¹ +æŀ¢ 纽 +ç¾ ¡ +çα åĽ½ +çªģ åıij +éĢ Ĭ +æ½ į +èᣠèĢĢ +èŁ ¹ +æ¦Ĥ çİĩ +å¾Ī ä¹ħ +æĥ ķ +è¨ ´ +åľĨ 满 +çļ ± +åĪĨ æ³Į +åħħ è¶³ +çľĭ æ³ķ +è¾ Ł +æĭ ¦ +æĭ © +对 åºĶ +为 æł¸å¿ĥ +èħ Ĭ +å¤ļ ä¹Ī +æµ ij +å®ı è§Ĥ +èĦ ĸ +åIJĪ èµĦ +çĶŁ 涯 +å®ŀ è´¨ +ä¼ĺ çĤ¹ +ç͍ æ°´ +寿 åij½ +æ² « +åIJ ģ +è© ¹ +åĽ½ éĺ² +å´ © +åĿ İ +èĨ ı +ä¸Ģ è½® +éģĹ äº§ +æ¹¾ åĮº +ç» İ +åįķ 纯 +æ¾ Ħ +åīį åĪĹ +身 å½± +é»ĺ é»ĺ +æį ī +çĴ ° +èı Ĭ +æĢ ľ +åħĭ æĢĿ +æĢ» å±Ģ +çĩĥ æĸĻ +ä¸ļ æĢģ +åIJĦ æł· +åĴ ½ +åĩº èī² +åĪĿ å¿ĥ +åı Ľ +çłĶ 讨 +è¡ « +åİĨ ç¨ĭ +ç¦ ½ +è¶³å¤Ł çļĦ +èį Ĩ +çľĭ å¾ħ +è´ © +åĨ³ å¿ĥ +è£ ¹ +å¸Ī èĮĥ +åŀ Ħ +æĿ ł +åĩ ¸ +çĬ¹ 豫 +çĥŃ è¡Ģ +åIJĪ ä¼Ļ +éħ µ +èIJ½ åľ¨ +åįł åľ° +è¡ ¬ +èĵ ī +æĦ ¤ +æ¸ Ĭ +åĪĨ æķ° +ç¬ij çĿĢ +太 å¹³ +çĤ « +æİ¨ ä»ĭ +æĸ¯ åĿ¦ +å½¢ 容 +æĵ Ĭ +æĦŁ åħ´è¶£ +åĨĽ 人 +åĩĮ æĻ¨ +对 çħ§ +åıij çĹħ +å· ¾ +èĪ ī +æª ¢ +ç¬ij äºĨ +ç¡® è¯Ĭ +è´Ł åĢº +壮 大 +æĪ ļ +äºĴ èģĶ +èª ² +èħ ¦ +æĹ ± +åıĹ æ¬¢è¿İ +åį ī +éĻ¢ 士 +æ© ¡ +ä¸Ģ 对 +è¾ ± +æ² Ĥ +åı² ä¸Ĭ +æIJ ı +å´ ĸ +代 è°¢ +ç£ · +é¡ ĺ +æµ ĩ +常 ç͍ +åį ij +åĩº åĽ½ +è¯ ł +稳 æŃ¥ +ç»ı 纪 +å¤ļ å¤ļ +æīĢ å¾Ĺ +为 主é¢ĺ +ä¸Ģ åĪĨ +æł ½ +é¡ § +çº ² +åĥ ħ +å£ ĵ +åĦ ª +ç¿ ° +æİ Ģ +人 为 +åª ³ +æ´ ½ +èĿ ¶ +å¤į åħ´ +ä¼ļ å½±åĵį +åIJĦ çķĮ +éĤ£ ä¸Ģ +é¢ ¤ +çĢ ı +çĢı 覽 +å¯ ŀ +åı¯ æĢķ +åį³ æĹ¶ +çķ ´ +ä¸ĭ åįĬå¹´ +ç¬Ķ è®° +éĻĦ åĬł +çĥŃ æ°´ +å¥ ¸ +ç£ ħ +æĿ ī +æ¸ħ åįİ +éĸ ± +ç° ¡ +å¤Ħ å¤Ħ +åIJĪ éĩij +æ²³ æµģ +ç´ ° +è´Ł éĿ¢ +çļĦ 羣å®ŀ +åύ 械 +èĴ IJ +西 äºļ +å· ħ +ç² ¹ +åİŁ æĸĩ +æŀ ķ +è¡Ģ åİĭ +åļ ´ +å¸ ĺ +åĨ Ģ +æĮ « +ç͵ è·¯ +å°ı ä¼Ļä¼´ +èĿ ´ +æľĢ å¿« +æĭ Į +å® ª +æĸ · +ç¿ ħ +åĴ ³ +åĹ ½ +ç¾ ŀ +躺 åľ¨ +èµĽ 车 +æ² IJ +éĻIJ 度 +为 ä¸Ģä½ĵ +èĴ ľ +å¹ « +æIJ ħ +åĭ ĭ +åī ĸ +纳 ç¨İ +éķ¿ æķĪ +ç½ ķ +åī¯ æľ¬ +ç© į +éĴ © +ç¹ ¼ +åĽ½ åľŁ +è¼ ī +ä¸į å¿ĺ +èѦ 示 +çģ ¿ +å¿ĥ å¾Ĺ +æĦ ļ +忽 çķ¥ +åĽŀ äºĭ +åįł æľī +æ· Ħ +çī ¡ +çĽij äºĭ +ç¿ ¡ +éĴĪ对 æĢ§ +çª ĥ +è£ ½ +èĨ Ŀ +ç³ Ł +港 æ¾³ +太 太 +æ¾ ¡ +ç»Ĩ åĮĸ +åĶ® åIJİ +å®ŀåľ¨ æĺ¯ +ç« £ +çį ² +å̾ åIJij +å¼ķ ç͍ +é¹ ħ +ç¬ij 容 +ä¹IJ è¶£ +æ°ij æĶ¿ +éŨ æĪ· +å± ģ +è¿· 失 +éĶ Į +å°ı 康 +åĭ ī +æ³ ¼ +ä¾ĭ åŃIJ +ä¸ī ä½į +å» ł +èĶ ĵ +广 éĺĶ +èĢ į +èĢģ èĻİ +åĭŁ éĽĨ +èĦļ æŃ¥ +æĭ ¯ +åŃĹ åı· +çĦ ° +é¢ ł +èļ Ĥ +èļ ģ +é£ ¯ +人 æĢ§ +æĴ ° +åİ ¢ +å±Ģ éĻIJ +æľª æĪIJ +åĵª åĦ¿ +大 åıij +ä¸į å®ļ +å¾ģ æ±Ĥ +éĥ µ +åĢº æĿĥ +çα ä½ł +èº ģ +ä»ħ ä¾Ľ +è¿ľ å¤Ħ +éĨ Ľ +åĥ µ +积æŀģ æĢ§ +æİ ¡ +åīį ä¸ī +äºİ ä¸Ģä½ĵ +çŀ Ħ +çĿ ģ +æ² ¸ +åħ± èµ¢ +éĢĢ å½¹ +è´Ŀ å°Ķ +æİ ı +æĪ ² +è¡ į +éĶ Ĥ +ä¸ĩ ä½Ļ +ç§ij åĪĽ +æ¼Ķ åͱ +欧 åħĥ +æ·¡ æ·¡ +éĿĴ å±± +èĹ Ŀ +ç» ½ +令 çīĮ +éĽĨ 群 +ä½ľ çī© +çĢ ij +å¤ ¯ +ç½ij 游 +åħ« 大 +éª ļ +èª ĵ +ä¼ļ å±ķ +åħļ åı² +æ£Ģå¯Ł éĻ¢ +åĸ ĺ +éĺ ± +èĢĮ åĩº +éĢļ 车 +éĴ ĵ +æĥħ 人 +æ¸ Ľ +ä¸Ń ç§ĭ +çĪ Ń +åıª åī© +æĺ Ķ +éĩİ çĶŁ +ç¡ « +èIJĿ åįľ +æĬµ æĬĹ +çĻ« çĹ« +éĻ Ģ +èĶ ļ +å¸ ľ +满 满 +èı ± +éļĨ éĩį +æĺŁ çº§ +æ½ ĩ +åħ¬ åħĥ +è° £ +æ¯Ķ äºļ +æ¡Į åŃIJ +èµ £ +è² ¼ +æĦ¿ æľĽ +é¡ ½ +æ´¾ éģ£ +ç¥ Ľ +åª ļ +éĺ ľ +èij « +èĬ ¦ +æ³ » +å¡ Į +çĭ Ń +å»ī æĶ¿ +å¥ij æľº +æĹĹ èΰ +æĥ « +严 åİī +åıĭ æĥħ +å¦ Ĭ +å¨ ł +åĵª å®¶ +èĨ ¨ +è¶ Ł +æĮ ª +èĻ IJ +é łģ +çŀ © +éº Ł +ç¨ £ +èģĶ éĢļ +åı ® +çİĭ èĢħ +ä¸į ç¡®å®ļ +ç ijľ +è° İ +çī¢ è®° +ç¢ ¼ +æĬ¤ èĤ¤ +é¡ · +çĦ ķ +åģļ 强 +éļ± ç§ģ +éļ±ç§ģ æ¬Ĭ +åıĹ å®³ +ä¸į çͱ +çĥ ¹ +é¥ ª +é© ³ +ä¼ ½ +ä¸Ŀ 绸 +è¥ Ħ +åįģ ä½Ļ +éº Ĺ +æ¬Ĭ åĪ© +èģ ŀ +åı¤ èĢģ +éģ ı +åIJĦ å¼ı +å°± è¡Į +åħ¥ å¢ĥ +ç ĥģ +èľ ĺ +èĽ Ľ +çº ¬ +çŁ « +è» Ł +æ´Ĺ è¡£ +æĦ § +é¢Ħ æ¡Ī +éľ Ĩ +æ·± åİļ +éĺ¿ æĭī +åĨĻ åŃĹ +åį ¦ +éķ Ģ +模 æł· +åĤ į +æIJ į +èĸ ¯ +åł ħ +åħ¬ 积 +è¨ İ +ä¼ł æŁĵ +æ¯ ¯ +çIJĨ å·¥ +åĨ· éĵ¾ +ç«ĭ æĸ¹ +æ¢ Ń +åľ£ è¯ŀ +综 èīº +çİ© ç¬ij +æĥ³ ä¸įåΰ +æijĩ 头 +æ· ¹ +åģĩ æĹ¥ +åĢ ĺ +èĢ ½ +èİ ĵ +åŁ · +èĩª è´¸ +åįĬ 天 +æª Ķ +æ¾İ æ¹ĥ +éķ ij +ä¸ « +éĩĮ ç¨ĭ +å¼Ģ èįĴ +èı ı +å®Ŀ è´µ +èŃ ¬ +åķ Ł +æŁ ł +æª ¬ +é© Ń +æ± Ľ +çĨĬ çĮ« +èķ ī +éļı ä¹ĭ +å± ij +è¾ĥ 强 +èĥ ³ +èĨ Ĭ +éĿĻ éĿĻ +åĴ ª +æĭĽ åij¼ +代 è¨Ģ +ä¿¡ ç®± +è£ħ éħį +æĤ į +åįķ 车 +èIJ İ +å¤ļ 彩 +éĻ ¸ +ä»İ 严 +æ© Ħ +æ¦ Ħ +éĢ ® +éĩĮ æĸ¯ +å§¿ æĢģ +太 æŀģ +éĩ Ŀ +æº ī +è¿ Ń +ç§ ¸ +ç§ Ĩ +å·¥ å§Ķ +æ± ķ +èģ Ĩ +ä½ ¬ +ç¼ ħ +çĶ ¸ +åī¯ å±Ģéķ¿ +éĹ º +èª ¤ +è¤ IJ +ä¸į éĻIJ +èħ ķ +åij ķ +çŁ ¶ +åĨľ å®¶ +管 å§Ķä¼ļ +é¥ º +èĬ ľ +æ¾ Ī +è© ¢ +å¨ģ å°¼æĸ¯ +ä½ķ åĨµ +å°ı ä¼Ļ +奢 ä¾Ī +è¿Ļ ç¯ĩ +è¯ µ +竳 ç¨ĭ +ç´ Ģ +éIJ ĺ +éĤ ¢ +ç³ Ļ +ç¼ Ģ +ä¹ Ĵ +ä¹ ĵ +çī¢ åĽº +åĿ ŀ +å¼ Ī +ä¾ĭ å¤ĸ +å» ³ +è§Ħ 竳 +èĬ Ļ +ç¯ · +èº ¯ +æł Ī +åĿļ å®ŀ +åŁº 建 +çĿĢ çľ¼ +ç· ´ +èij © +ç¼ ļ +æ¦ Ĩ +主 åĭķ +ç¥ Ģ +äºĴ éĢļ +å°¤ 为 +å® Ľ +éª ¼ +æ± ² +ä¾ ĥ +æĤł ä¹ħ +æij § +æĭ ĩ +é« ĵ +éº Ĵ +éĻ Ľ +æŀ ¸ +æĿ ŀ +è´ ¬ +å°ı é¾Ļ +åĵ ® +èĵ¬ åĭĥ +åĮ Ī +çķľ çī§ +å¨ © +个 å¤ļ +æ² ¥ +æĺ § +çĦ ļ +æĬij éĥģ +çĸ ¡ +èĺ ij +éģİ ç¨ĭ +æ© ± +éĿ ĵ +大 çIJĨ +é« ¦ +åĪĨ 辨 +æ¸ ¤ +çĸ ¤ +åĬ¨ èĥ½ +å¼ł å®¶ +ä¸ĩ åįĥ +æ» ¥ +é¥ ¥ +åºŁ å¼ĥ +å¸ ³ +æ¼ ³ +è± IJ +ä» ij +å« ī +å¦ Ĵ +çŀ Ĵ +è¡ ħ +çĭ ¸ +å¾ģ ç¨ĭ +éĤ ¯ +éĥ ¸ +ç¥ Ī +ç¥ · +è¶ ´ +ç»ĵæŀĦ æĢ§ +è§Ĩ åIJ¬ +è¬ Ŀ +çĴ Ģ +çĴ ¨ +åĩº å¤Ħ +è¯ Ģ +å¾ ĺ +å¾ Ĭ +çľ ¨ +åĸ ĩ +åı Ń +åĺ ² +çķ ¸ +å¹² äºĭ +æļ § +æ² Ľ +åĦ Ħ +å» ĵ +åİ¿ éķ¿ +èĥ ļ +çIJ ¢ +çŃ · +éĩ ĭ +ä¾ ® +åIJ © +åĴ IJ +åĮ ¿ +æĬ¬ èµ· +æ³ £ +æ¶ ¤ +éº ½ +æĽ Ļ +åī¯ éĻ¢éķ¿ +åħļ åĴĮ +æķ£ åıij +润 æ»ij +åĵ º +æĥ ¬ +漫 éķ¿ +ä¸į æĩĪ +åŁ ł +åĹ ĵ +èĢģ çĪ· +è® ½ +æĪĺ ç»ĦåIJĪ +æ£ ł +åħ¨ åŁŁ +èł ¢ +è¯ ¡ +åīį çŀ» +æķ Ľ +ä¸Ģ å°ģ +å¹ Ĥ +èİ Ĩ +è¯Ŀ è¯Ń +ç»Ĩ åĪĻ +å± ¿ +åµ Į +éĢ į +åĺ ± +æ¸ ² +çĥ ¯ +çĿ ¹ +é¦ Ĵ +èħ ¥ +æĬĹ åĩ» +çĿ « +èį Ķ +éļ İ +æ³ī æ°´ +è¬ Ĥ +ç Ĥ¬ +åĩı æİĴ +è¸ Ĭ +è ·» +æ· Į +éľ ¾ +å¥ĩ 纳 +å¯ Ŀ +æ¤ İ +æŁ ¬ +æĸ¯ åŁº +åħ¬ ç«ĭ +è¨ ĵ +é£ Ļ +é© ¿ +åĤ µ +èĽ Ļ +ç¯ĩ 竳 +åĪĨ æĶ¯ +ä¸Ĭ å¹´ +çŃ Ŀ +ç¼ ¤ +èĢģ æĹ§ +åĻ ¬ +æľ ¦ +èĥ § +æ¶Ī è²» +æĵ Ķ +æ¦ ´ +æ¿ Ĵ +ç³ ¯ +æ³ ¸ +æį Ĩ +ç» ļ +èµ İ +çIJ IJ +èµ Ĥ +æħ ® +æ² Į +çĦ Ļ +æĴŃ æĬ¥ +æ· ĩ +åĪĩ åħ¥ +çij ķ +çĸ µ +éģ ´ +ç¨ ļ +ç© © +èŀ ĥ +æ£ ķ +æĨ § +æĨ ¬ +ä¼ º +æ¯ Ĺ +æį į +æĬ ī +ç´ Ĭ +å¼ Ľ +æĭ Ń +æĹı èĩªæ²» +åĿ · +ç« ¶ +è© ³ +è¿Ħ ä»Ĭ +è° ´ +çŀŃ è§£ +æŁ ¿ +é¢ Ĭ +ç° § +çĥŁ èĬ± +ä¾ ¥ +çĿ ¦ +éħ Ŀ +æ° ĵ +çIJ ī +å§ Ĭ +æ² ® +æħ · +èľ ķ +çij ļ +éĩĩ çŁ¿ +åł ° +åºķ èķ´ +èĨ ³ +è¾ ķ +éŁ Ń +åĴ Ļ +ç² ½ +åī Ķ +æ² ¦ +èĤ ´ +éķ ¶ +æĺ ¼ +è¾ Ĺ +å© ª +åĮ ® +æĸ ĵ +æ± ¶ +éĥ ´ +éł » +çª Ĵ +è¢ ± +åĽ ± +èĢ ĺ +è ļĮ +çĭ Ļ +çĹ ¹ +ç¥ ī +æı ® +æ· Ĩ +ç£ ĭ +éĺ ª +æ « +ã ¸ +Ļ ¶ +ã ij +𣠲 +ä ¢ +ã Ń +𬠨 +ð¬ Ģ +𬠮 +𬠯 +ð¬ ľ +𪠨 +ð« Ĺ +ð¬ Ĭ +𬠱 +ð¬ Ł +ä İ +ð ¡ +ä ĥ +ã ł +ð © +ð© ¾ +𬠺 +ð¬ Ļ +ãĢ Ķ +ãĢ ķ +çļĦ æĹ¶åĢĻ +æľīéĻIJ åħ¬åı¸ +ä¹ĭ åIJİ +ä¸ļ åĬ¡ +åķ Ĭ +èϽ çĦ¶ +æĭ¥ æľī +äºĴ èģĶç½ij +éĤ£ äºĽ +ä½ł çļĦ +åĨ³ å®ļ +éϤ äºĨ +åĽ¢ éĺŁ +åı¯ æĺ¯ +以 åIJİ +社 åĮº +çļĦ éĹ®é¢ĺ +å¹¶ ä¸Ķ +æķĻ å¸Ī +å°± ä¼ļ +天空 éĥ¨èIJ½ +æľĢ ç»Ī +å½ĵ çĦ¶ +ä¹Ł æľī +ç¡® ä¿Ŀ +æĥ³ è¦ģ +è´Ń ä¹° +人 çļĦ +åIJ ´ +çļĦ åıijå±ķ +ä¸į çŁ¥éģĵ +软 ä»¶ +æĪij们 çļĦ +çζ æ¯į +åī ij +èĢĮ æĺ¯ +å®ī æİĴ +åIJİ æĿ¥ +çļĦ åľ°æĸ¹ +èµ µ +èĢĥ è¯ķ +çªģ çĦ¶ +ä¸Ģå®ļ è¦ģ +åζ ä½ľ +è¯Ħ ä»· +åħį è´¹ +è´¹ ç͍ +绣 ä¸Ģ +çĦ¶ èĢĮ +è¿Ļ 次 +éĿĴ å¹´ +人 ç±» +äº ¦ +让 人 +è´Łè´£ 人 +éĩĩ åıĸ +çļĦ äºĭæĥħ +ä¹Ł ä¼ļ +车 è¾Ĩ +æĽ´ æĺ¯ +强 åĮĸ +æĪij åĢij +以 åīį +ä¼ĺ åĮĸ +å§Ķåijĺ ä¼ļ +åĽ° éļ¾ +å¹´ 度 +ä½į äºİ +æĮĩ åĩº +åĨį æ¬¡ +åĬŀ çIJĨ +æ¯ı 个 +对 æĸ¹ +è¿Ľè¡Į äºĨ +æľĢ é«ĺ +课 ç¨ĭ +身 ä¸Ĭ +æĽ¾ ç»ı +åĮ» çĶŁ +å®ī è£ħ +æľ ± +è¿IJ è¡Į +åıĮ æĸ¹ +æľĢ 大çļĦ +æŀĦ 建 +è¿ŀ ç»Ń +çļĦ å°ı +她 çļĦ +çŃī çŃī +æĶ¹ åĸĦ +åIJĦ ç±» +éģĩ åΰ +æľī çĿĢ +人 çī© +æĢ» æĺ¯ +è¿ħ éĢŁ +åζ å®ļ +å®ĥ 们 +å®ĺ ç½ij +è¿ĺ è¦ģ +ç»Ī äºİ +æĪ¿ åľ°äº§ +è¯ģ æĺİ +èĤ¡ 票 +åºĶ å½ĵ +èĭ± åĽ½ +è¿IJ ç͍ +æľĢ æĸ° +享 åıĹ +让 æĪij +æĻļ ä¸Ĭ +å¾ ŀ +å°ı 说 +å°¤åħ¶ æĺ¯ +è®Ń ç»ĥ +åħ¨ å¸Ĥ +æĮij æĪĺ +æľī çĤ¹ +带 çĿĢ +çļĦ ä¸ľè¥¿ +é£İ æł¼ +é»Ħ éĩij +å¼ķ 导 +æŃ¤ å¤ĸ +æľĢ è¿ij +追 æ±Ĥ +强 è°ĥ +ä¹Ł åı¯ä»¥ +æĦŁ åΰ +èĩª æĪij +çī¹åĪ« æĺ¯ +æĪIJ éĥ½ +éĢIJ æ¸IJ +å¿« ä¹IJ +ä¹ĭ ä¸Ń +æĬķèµĦ èĢħ +ä»ĸ们 çļĦ +æ° ı +å·¥ä½ľ 人åijĺ +äºĨ ä¸Ģ个 +åķ ¦ +ä¸Ģ åĢĭ +åŁº å±Ĥ +æ²Ł éĢļ +第ä¸Ģ 次 +å¹¶ 没æľī +çļĦ å·¥ä½ľ +åľ¨ è¿ĻéĩĮ +æŀ ª +æĶ¯ æĴij +æĹ¶ å°ļ +æĿ¥ åΰ +æĶ¶ è´Ń +éĿ© åij½ +æĺ¯ ä¸įæĺ¯ +讨 论 +ä¸ļ 绩 +å°± èĥ½ +ç«ĭ åį³ +è¡Ĺ éģĵ +åľ¨ ä¸Ģèµ· +æľĪ 份 +é«ĺ 端 +å¾Ī éļ¾ +ä¿Ħ ç½Ĺæĸ¯ +æīĭ 段 +åģļ åĩº +ä¼Ĺ å¤ļ +å®ŀ è¡Į +æīĵ å¼Ģ +游 客 +ä¾Ŀ çĦ¶ +å°± åĥı +离 å¼Ģ +说 éģĵ +æĸ° èĥ½æºIJ +æº ª +äº ķ +令 人 +ä¸Ģ åľº +æĪij æĥ³ +两 人 +èĩ³ å°ij +çļĦ çĶŁæ´» +æĺ¯ 个 +èĭ± è¯Ń +æ²Ĵ æľī +æĢĿ èĢĥ +éĻIJ åζ +åı° æ¹¾ +ä¸Ģ æĹ¦ +çļĦ ä¸Ģ个 +é«ĺ 级 +åĬŀåħ¬ 室 +å¾· åĽ½ +æĪij å°± +å®ļ ä½į +éĢĤ åºĶ +æĮĩ æłĩ +åħ¨ çľģ +ä¸Ĭ è¿° +å®ĥ çļĦ +åĽŀ å®¶ +欧 æ´² +éĵģ è·¯ +é¼ĵ åĬ± +çļĦ å½±åĵį +é«ĺ æł¡ +天 ä¸ĭ +é«ĺ è´¨éĩı +æĿŃ å·ŀ +èµĦ 讯 +æĶ¾ åľ¨ +æľī ä¸Ģ个 +å°± è¦ģ +ä¸Ĭ éĿ¢ +è§£ éĩĬ +éĢIJ æŃ¥ +å°½ 管 +æľī ä»Ģä¹Ī +çļĦ äºĭ +çĻ» è®° +人æ°ij å¸ģ +è§Ĥ ä¼Ĺ +è§Ĥ å¯Ł +ç͵ èĦij +çļĦ åIJĮæĹ¶ +ä½ľ ä¸ļ +宣 å¸ĥ +çļĦ ä½ľç͍ +åĽŀ æĿ¥ +éļ¾ ä»¥ +æīĢæľī çļĦ +å°ı åѦ +æıIJ åīį +æ¤į çī© +åĩ ¯ +ä¸Ĭ äºĨ +å°± åľ¨ +åħĪ åIJİ +æīĭ æľ¯ +éĥ Ń +éĿ¢ åīį +æ¯ķ 竣 +äºĮ æĺ¯ +红 èī² +éĺ³ åħī +èĭ¹ æŀľ +å¾Īå¤ļ 人 +ç»Ļ æĪij +åĵ ¦ +çľ¼ çĿĽ +éł Ń +ä¸Ģ æĺ¯ +åıijå±ķ çļĦ +åıį åºĶ +æĪ¿ å±ĭ +æľŁ å¾ħ +ç§į æ¤į +æĸĩ åѦ +åį³ åı¯ +é¦ĸ 次 +èĭ± éĽĦ +å¤ļ 次 +åĮħ è£ħ +æ²³ åįĹ +ä¹ĭéĹ´ çļĦ +ä»į çĦ¶ +åIJ¬ åΰ +èij£äºĭ éķ¿ +è§Ħ åĪĻ +ä¸Ģ 份 +大 ä¼Ĺ +使 å¾Ĺ +è¿Ľ åı£ +ä¸Ģ çīĩ +æĢ§ çļĦ +çļĦ 大 +æĪij æĺ¯ +äºĴ åĬ¨ +æ° £ +çļ Ĩ +åħ¬åı¸ çļĦ +ä¸Ģ è¾¹ +åıĬ åħ¶ +èī¯ å¥½çļĦ +æĭĵ å±ķ +å½ĵ å¹´ +广 åľº +åģļ äºĨ +åŁº äºİ +æıIJ éĨĴ +åħĦ å¼Ł +èĢģ æĿ¿ +è¿ij æĹ¥ +çĬ¶ åĨµ +注 éĩį +åĪļ åĪļ +è°ĥ çłĶ +å¿ĥ ä¸Ń +æĬĬ æı¡ +éļı åIJİ +ä¸į å¤Ł +åĪĽ ä½ľ +ç«Ļ åľ¨ +缸 äºĴ +çĸ«æĥħ éĺ²æİ§ +å¹´ 代 +带 åĬ¨ +伤 害 +竣 çĦ¶ +å¼ķ è¿Ľ +ç´¯ 计 +让 æĪij们 +åĽŀ æĶ¶ +æĬ¥ åIJį +åĬ© åĬĽ +èģĶ çĽŁ +çŃĸ çķ¥ +åij¨ è¾¹ +åĭ Ĵ +è¿ĺ åľ¨ +æµģ éĩı +寻 æī¾ +ç͵ åĬĽ +èι èζ +è¿ĺ èĥ½ +æĭħ ä»» +çļĦæĥħåĨµ ä¸ĭ +çļĦ åİŁåĽł +缺 ä¹ı +çIJĥ åijĺ +å²ģ çļĦ +çĶ· åŃIJ +å·¥ èµĦ +è¿ijå¹´ æĿ¥ +åij Ģ +æıIJä¾Ľ äºĨ +她 们 +å®¶ åħ· +çĩ ķ +è½» æĿ¾ +æł¡ åĽŃ +èĢĥ æł¸ +åį± éĻ© +åħļ ç»Ħç»ĩ +æĢ» ç»ıçIJĨ +çļĦ æĸ° +çİ» çĴĥ +è¿Ļ ä½į +对 æŃ¤ +å®¶ 人 +çļĦ è¦ģæ±Ĥ +温 度 +æĮĩ æķ° +缴 åΰ +æŃ¤ æĹ¶ +æ¹ĸ åįĹ +éĥ½ è¦ģ +ä½ľ åĩº +åIJĦ ä½į +èĢĥ çĶŁ +ä¾Ŀ æį® +说 è¯Ŀ +æĪij ä¹Ł +å·¥ åİĤ +åıĺ æĪIJ +ä»ĸ 人 +æĪij è§īå¾Ĺ +åIJĦ 级 +ä¼łå¥ĩ ç§ģæľį +ä¸Ĭ åįĩ +好 åĥı +åĬł éĢŁ +äºĮ åįģ +è¢ ģ +è£ħ 饰 +éĥ½ èĥ½ +ä¸Ģ å¼ł +åĬ¨ æĢģ +å¹´ çļĦ +è¿Ļ å°±æĺ¯ +ä¹Ł è¦ģ +èµĦ æł¼ +æĪĺ äºī +æĦŁ è°¢ +åŁ¹ èĤ² +天 æ°Ķ +女 士 +åı¯èĥ½ ä¼ļ +çļĦ 产åĵģ +ä¹Ł å°± +主è¦ģ æĺ¯ +åĪº æ¿Ģ +ç»Ļ ä½ł +大 æķ°æį® +åĮ» åѦ +åĪ ¤æĸŃ +ä»ĸ 说 +表 æ¼Ķ +äºļ æ´² +ä¸ĵ é¢ĺ +ç«ŀäºī åĬĽ +éĤ£ æł· +å±ķ å¼Ģ +å¹³ æĹ¶ +æİ¥ ä¸ĭæĿ¥ +æī¿ 诺 +æ³ķ åĽ½ +åħ³ å¿ĥ +ä¼ļ æľī +éĤĢ è¯· +é¢Ħ éĺ² +对 æİ¥ +好 äºĨ +åĴ± 们 +çļĦ æĦŁè§ī +æĢĿ è·¯ +éĥ½ 没æľī +çļĦ æĸ¹æ³ķ +女 åŃIJ +åı¸ æ³ķ +è¿ĺ ä¼ļ +è¶ĬæĿ¥è¶Ĭ å¤ļ +åĽł çĤº +æµ· åįĹ +人 æķ° +å°Ĩ ä¼ļ +ä¸ļ 主 +é¤IJ 饮 +å±ħ ä½ı +åıij åĩº +è¿ij æľŁ +å¼ķ é¢Ĩ +æľºåύ 人 +åĩºæĿ¥ çļĦ +çľĭ è§ģ +ä¿ Ĭ +让 ä»ĸ +ä¸į æĥ³ +å·¥ä½ľ çļĦ +è¡¥ åħħ +æµ ħ +çī¹ å¾ģ +ä¸Ĭå¸Ĥ åħ¬åı¸ +ç¾İ é£Ł +广 西 +æ¯ı ä¸Ģ个 +èIJ½ åľ° +åĵģ ç§į +åĴĮ è°IJ +å½» åºķ +é«ĺ èĢĥ +æĺ¨ 天 +åīį å¾Ģ +çĽij æµĭ +çϾ 度 +åľ¨ ä¸ŃåĽ½ +çļĦ éľĢæ±Ĥ +亿 ç¾İåħĥ +åѦ æľ¯ +æĶ¶ åΰ +æĿ¿ åĿĹ +ä¸Ģ 段 +æŀĦ æĪIJ +ä¼ģä¸ļ çļĦ +表 éĿ¢ +æķ´ çIJĨ +ç»ĵ å©ļ +人 å®¶ +åģľ æŃ¢ +åѦ ç§ij +æĺ¾ å¾Ĺ +ä¼ij æģ¯ +é¢Ħ æľŁ +æĪĸ æĺ¯ +çļĦ 主è¦ģ +åºĶ 对 +èµ° äºĨ +ä¸Ń éĹ´ +èµ° è¿Ľ +åijĪ çݰ +æIJŃ éħį +é¹ ı +æĺ¯ åĽłä¸º +æĥħ 绪 +å®ļ æľŁ +社ä¼ļ 主ä¹ī +çŃī 级 +磼 çĽ¾ +é£ŀ æľº +èĩ³ ä»Ĭ +æĶ¶ éĽĨ +çļĦ æķħäºĭ +åĪĩ å®ŀ +å®ŀçݰ äºĨ +å½¢ æĪIJäºĨ +åįĹ æĸ¹ +ä¸Ń åѦ +æµ· æ´ĭ +åIJ¦ åĪĻ +æĭį æijĦ +大åѦ çĶŁ +åĩºçݰ äºĨ +æĦı å¤ĸ +ä¹Ł èĥ½ +çļĦ èĥ½åĬĽ +åĿIJ åľ¨ +åĪĻ æĺ¯ +èĢĥ å¯Ł +å°Ĭ éĩį +éĺ² æŃ¢ +ç´§ å¼ł +读 书 +åĩº è¡Į +å°± æľī +å±¥ è¡Į +çݰ代 åĮĸ +åĽ½ åĬ¡ +åĽ½åĬ¡ éĻ¢ +ç»´ ä¿® +åİŁ åĪĽ +æĺ¯ æĮĩ +ä¼ij éĹ² +çĤ ® +æĸ° æĹ¶ä»£ +éĢĻ åĢĭ +ä¸į æķ¢ +å®Į ç¾İ +ç»Ĩ èĬĤ +éŃ ı +èͬ èıľ +é¢Ĩ导 çıŃåŃIJ +è¶ħ 级 +è¡Į æĥħ +人工 æĻºèĥ½ +åį° åº¦ +åŁºç¡Ģ 设æĸ½ +åıĪ æĺ¯ +èᝠçī© +åIJ¸ æĶ¶ +åį´ æĺ¯ +éĥ İ +å¥ĸ åĬ± +çļĦ æľĭåıĭ +ä¿Ŀ çķĻ +è§Ħ å¾ĭ +æĸ° çĸĨ +è¿ĺ åı¯ä»¥ +æİ¥ è¿ij +æŃ¤ åīį +æī¹ åĩĨ +æĢİä¹Ī æł· +çļĦ ä½įç½® +ä¸Ģ åĿĹ +æĭĴ ç»Ŀ +顾 客 +ä¹Ł åľ¨ +ä¸Ģ çĶŁ +éĥ¨ éĺŁ +å¹´ åīį +æĸ¹éĿ¢ çļĦ +å°Ŀ è¯ķ +羣æŃ£ çļĦ +ç¦ģ æŃ¢ +è¿ĺ 没æľī +æ°ij çĶŁ +èµ° åIJij +èĦ¸ ä¸Ĭ +å½ĵ 天 +éĽĨåĽ¢ åħ¬åı¸ +çļĦä¸Ģ ç§į +西 æĸ¹ +åĽŀ åºĶ +ä¸Ģ 声 +常 常 +æıIJ åΰ +èħ¾ 讯 +æľį è£ħ +为 ä½ķ +äºij åįĹ +å°± ç®Ĺ +ä¼ł æī¿ +åıį èĢĮ +ä¸ĩ åIJ¨ +è´¢ 产 +å¦Ĥ ä¸ĭ +æĹ¥ åīį +åİŁ æľ¬ +æľĢ éĩįè¦ģçļĦ +认 è¯ģ +ä¸Ģ éģĵ +ä¿¡æģ¯ åĮĸ +å¾Ĺ åΰäºĨ +é̲ è¡Į +æĪij è¦ģ +éĢļ ä¿¡ +室 åĨħ +èµļ éĴ± +æĶ¶ èĹı +è§£åĨ³ æĸ¹æ¡Ī +æĪ¿ 产 +çĭ ¼ +æ´» åĬĽ +ç»ıæµİ åıijå±ķ +çŃī å¾ħ +ä¹Ł å¾Ī +åĿ ij +å¾Ī 好çļĦ +éļ¾ åº¦ +ä¸į å¦Ĥ +人æ°ij æĶ¿åºľ +åĩº åıij +åīį æľŁ +æ¼Ķ åijĺ +女 çĶŁ +èģļ çĦ¦ +审 计 +é¢Ħ æµĭ +ä¾Ŀ æīĺ +äºĶ å¹´ +è¡¥ è´´ +æ¸ħ æĻ° +éª Ĥ +çľĭ èµ·æĿ¥ +çļĦ åŃ©åŃIJ +é¢ij éģĵ +ä½ı å®ħ +éĿ¢ åIJij +æľĢ ä½İ +æĹ¢ çĦ¶ +ä¸Ģ å¥Ĺ +æķ° åѦ +群 ä½ĵ +åĮĹ京 å¸Ĥ +å±ħ çĦ¶ +æ°Ľ åĽ´ +éĢĶ å¾Ħ +çļĦ åŁºç¡Ģä¸Ĭ +èģĮ è´£ +åı¯èĥ½ æĺ¯ +åĨĽ äºĭ +æĪIJ æķĪ +åŃ©åŃIJ 们 +计ç®Ĺ æľº +èµ ¤ +产ä¸ļ åıijå±ķ +å·¨ 大çļĦ +å·¥ 人 +çĶŁ éķ¿ +éĥ½ åı¯ä»¥ +çļĦ æľºä¼ļ +èµĦ è´¨ +çĹĽ èĭ¦ +ç²ī ä¸Ŀ +å¢ ĵ +å¹³ å®ī +管 éģĵ +è·Ł çĿĢ +饮 é£Ł +åķĨ å®¶ +å¤ļ å®¶ +åı¸ æľº +åºĶ该 æĺ¯ +éĢı éľ² +认 å®ļ +è¡Įä¸ļ çļĦ +çļĦ ä¼ģä¸ļ +æ¯ı ä¸Ģ +èĮĥåĽ´ åĨħ +è¾ĥ 大 +è´ ¤ +大 èµĽ +å¤ļ äºĨ +é¸ ¿ +临 åºĬ +åľ¨ è¿Ļ个 +çļĦ åĨħ容 +éĶĢ éĩı +å¾Ī å°ij +åŃ Ł +ç»´ æĮģ +åĴĸ åķ¡ +æľ¬ åľ° +èī² å½© +å¹¶ éĿŀ +èĢĮ å·² +温 æļĸ +èIJ § +æĬĵ ä½ı +èĢĮ ä¸įæĺ¯ +åĸ Ĭ +çļĦ åħ³ç³» +çī© åĵģ +éĤ£ æĺ¯ +åĨľ 产åĵģ +è¿Ļ æĹ¶ +å©ļ å§» +æ°´ æŀľ +æĶ¶ èİ· +ä»ĺ åĩº +客æĪ· 端 +æ¼Ķ åĩº +åħ¨ æĸ° +è¿Ļ ä¹Łæĺ¯ +æĺ¯ çͱ +è§Ĥ 念 +æľī 个 +éĢł åŀĭ +èĥľ åĪ© +ä¸ī æĺ¯ +è¶ħ å¸Ĥ +åħļ建 å·¥ä½ľ +æĶ¾ å¿ĥ +线 è·¯ +æĭĽ çĶŁ +åIJĥ é¥Ń +è½ ī +å°½ éĩı +è§ģ åΰ +åIJĮæ¯Ķ å¢ŀéķ¿ +åįİ ä¸º +æĪij å¸Ĥ +æıIJ åĩºäºĨ +æ°ij èѦ +åįļ çī© +åįļçī© é¦Ĩ +è¯ļ ä¿¡ +åīį éĿ¢ +å±± 西 +è¾ħ åĬ© +转 ç§» +æĽ´ 为 +丰å¯Į çļĦ +åį ¢ +å¿« éĢĴ +æĺ¾ èijĹ +çī© èµĦ +åΰ è¾¾ +æľī åĪ©äºİ +åij Ĩ +åŃ©åŃIJ çļĦ +ä¸į ä½Ĩ +çłĶç©¶ éĻ¢ +çͳ æĬ¥ +æļ ¨ +æ°ij éĹ´ +åį » +çļĦ å£°éŁ³ +å¸Ĥåľº çļĦ +ä¸Ģ åı¥ +çľģ 级 +æĿ¥ çļĦ +åĵª 个 +æīį ä¼ļ +åĪĨ éħį +èĶ ¡ +ä»ĸ åľ¨ +åħ± æľī +å¡ ĺ +èĴ Ĥ +éľ į +åıĤ è§Ĥ +ä¸Ī 夫 +ä¾Ŀ éĿł +æľī æĹ¶ +äºĨ å¾Īå¤ļ +ä¸ĸçķĮ æĿ¯ +å®¶ æĹı +ä¸į éľĢè¦ģ +大 å¸Ī +èŀį åħ¥ +éĿŀ æ³ķ +çĹħ 人 +åIJİ æľŁ +大家 éĥ½ +ç½ij åĿĢ +åİŁ æĸĻ +便 å®ľ +æ¶ Ľ +仿 ä½Ľ +å·® è·Ŀ +åı¦ä¸Ģ æĸ¹éĿ¢ +产åĵģ çļĦ +èµ « +æĥħåĨµ ä¸ĭ +éĴ¢ éĵģ +æľ¬ ç«Ļ +纳 åħ¥ +å·² æľī +æľī 没æľī +ä¼° 计 +é£ ĺ +æľŁ è´§ +åĢĭ人 è³ĩæĸĻ +ä¸ĵä¸ļ çļĦ +çĪĨ åıij +èĩ´åĬĽ äºİ +çİ°åľ¨ çļĦ +æľī åĵªäºĽ +çł´ åĿı +æķ°åŃĹ åĮĸ +åľ° éĿ¢ +é»ij èī² +å¹¼åĦ¿ åĽŃ +çļĦ ç²¾ç¥ŀ +äº Ń +导 æ¼Ķ +çݰ æľī +æŃ¦ åύ +èĭı å·ŀ +çİ Ħ +æ±Ł 西 +å»¶ 伸 +论 æĸĩ +è¾ĥ 为 +çİ© æ³ķ +é¼ İ +åIJĮ æŃ¥ +éĩĬ æĶ¾ +æĽĿ åħī +åĿļ åĨ³ +å§Ķ æīĺ +å°Ĩ åľ¨ +äºĪ 以 +ä½ľ æĸĩ +èĢĮ åľ¨ +ä¼ĺ åħĪ +åĽŀ åİ» +ä¿® å¤į +åĽ½åĨħ å¤ĸ +çŃĸ åĪĴ +åıij æĶ¾ +å¿ĥ æĥħ +çļĦ åİĨåı² +éĿ¢ è¯ķ +举 åĮĹ +ä¿¡ åı· +ç²® é£Ł +è¯ģ 书 +æŁIJ äºĽ +è¿IJ ä½ľ +åĨ² åĩ» +çĥŃ çĤ¹ +æĹ¶ æĹ¶ +æĹ¶æĹ¶ 彩 +åľ° çĤ¹ +ä¸Ģä½ĵ åĮĸ +éļ¾ é¢ĺ +æĽ ° +ç«ĭ åĪ» +æĺ¯ éĿŀ常 +åħ± åĴĮ +åħ±åĴĮ åĽ½ +æ¿Ģ åĬ± +æľīæķĪ çļĦ +å¤Ħ ç½® +该 åħ¬åı¸ +æ£Ģ éªĮ +èѦ æĸ¹ +è´ ¾ +äºĨä¸Ģ ä¸ĭ +ä»Ĭ åIJİ +çħ ® +ç͍ åĵģ +读 èĢħ +æĪij åľ¨ +åĽŀ å¤į +ä¸Ģ 座 +è¿ĺ 没 +å®ļ åζ +没 æĥ³åΰ +å¤ ¹ +ä¼ł éĢĴ +ä¸Ģ 款 +强 大çļĦ +çļĦ è¡Į为 +å¤ı 天 +åıijåĬ¨ æľº +é¢ĨåŁŁ çļĦ +å®ŀéªĮ 室 +ä¸Ģ æĬĬ +æĺ¯ 为äºĨ +éĻķ 西 +æĭħ ä¿Ŀ +è¾¾ æĪIJ +è¦ģ æĺ¯ +æĺİ å¤© +ç»Ļ ä»ĸ +建ç«ĭ äºĨ +ä¸į è¡Į +ä¸Ń æĸĩ +åľ° 说 +åIJİ çļĦ +çĽij æİ§ +éĢ ¸ +æĢ» éĥ¨ +æľ¬ æĸĩ +é¹ ¿ +æĻ¯ è§Ĥ +çļĦ 缮æłĩ +èĽ ĩ +åĨ ¯ +ä¸Ń åĮ» +æķĪ åºĶ +产 éĩı +åŃ Ŀ +è´¦ æĪ· +è¿Ŀ åıį +èij£äºĭ ä¼ļ +京 举 +责任 ç¼ĸè¾ij +åķı é¡Į +çα å¿ĥ +èѦ å¯Ł +é¤IJ åİħ +å¸Ĥ æĶ¿åºľ +天 天 +æĸ° é²ľ +éĥij å·ŀ +è¶ħ è¶Ĭ +å½ Ń +çŁ¥è¯Ĩ 产æĿĥ +åĽŀ å¿Ĩ +è·¯ 线 +å»ī æ´ģ +éĿĴ å°ijå¹´ +åıĸå¾Ĺ äºĨ +çľĭ åΰäºĨ +é¦ ¬ +ç²¾ åĵģ +åľ° éĵģ +æĮģ æľī +ä¸ĭ äºĨ +æľī æĹ¶åĢĻ +ä¸Ģ 人 +æĴ Ĵ +ä»Ķ ç»Ĩ +èĢģ åħ¬ +äºĭå®ŀ ä¸Ĭ +èģĶ èµĽ +ä¾ĽåºĶ éĵ¾ +é¢Ħ ç®Ĺ +åζéĢł ä¸ļ +å®īåħ¨ çĶŁäº§ +俱 ä¹IJ +俱ä¹IJ éĥ¨ +çļĦ æł¸å¿ĥ +æīĵ ç®Ĺ +å½± çīĩ +æIJŃ å»º +ä¹Ł ä¸įä¼ļ +æĭħ å½ĵ +å±Ĥ éĿ¢ +åѦ åijĺ +临 æĹ¶ +缸 ç»ĵåIJĪ +对 æ¯Ķ +ä»ĸ æĺ¯ +æĸ° åĮº +è¿Ľ åİ» +çϾ å¹´ +ä¿ © +å°½ å¿« +ç͵åŃIJ åķĨåĬ¡ +æĽ´ æľī +æ¸ħ çIJĨ +åı¦ ä¸Ģ个 +åĤ » +ä»Ģä¹Ī æł·çļĦ +æĺ¯ æľĢ +åij¨ å¹´ +å¾Ī 容æĺĵ +åĽ¢ ç»ĵ +ç´ Ħ +æĹ© å·² +çļĦ åıĺåĮĸ +éľ ŀ +æĹ¥ ä¸ĬåįĪ +失 åİ» +ä¸Ń åľĭ +çļĦä¸Ģ äºĽ +å°ı åŃ© +ä¸ĭ è·Į +éĶ» çĤ¼ +é ij +éij « +å¿ĹæĦ¿ èĢħ +èĤ¡ å¸Ĥ +èµĽ äºĭ +许åı¯ è¯ģ +åı¯ æĮģç»Ń +åijĬè¯ī è®°èĢħ +éĢ» è¾ij +å¼ķ åħ¥ +çļĦ è¿ĩç¨ĭä¸Ń +è§Ĩ è§ī +èĩªæ²» åĮº +è¯ģ æį® +è£ħ ç½® +第ä¸ī æĸ¹ +å¹´ æĿ¥ +å¹¿ä¸ľ çľģ +带æĿ¥ äºĨ +éķ¿ æ±Ł +访 éĹ® +å·® ä¸įå¤ļ +æĺ¯ æĪij +éģŃ éģĩ +æĬĵ 好 +é«ĺ è¾¾ +å¹¶ åľ¨ +èĩª è§ī +ä¾ĽåºĶ åķĨ +æĥħ æĦŁ +ä½ı äºĨ +çļĦ èģĮä¸ļ +çļĩ å¸Ŀ +西 éĥ¨ +åĴĮ å¹³ +çļĦ åĬĽéĩı +æ± ª +åħħåĪĨ åıijæĮ¥ +æĬķ è¯ī +èµ· åΰ +äºĴ 缸 +æ¾³ éŨ +æİ¥ åΰ +æ°´ æ³¥ +模 åŀĭ +ä¸Ģ åįĬ +ç§© åºı +æĪij们 åľ¨ +æī¿ 认 +ä¸Ģ éĥ¨åĪĨ +åįł æ¯Ķ +å¦ĩ 女 +ç² ĺ +äºĨè§£ åΰ +ä¸Ģå®ļ ä¼ļ +åIJĦ 大 +èµ° åĩº +为 大家 +é«ĺ éĵģ +åı¯ä»¥ åľ¨ +ä½Ĩ åľ¨ +çĶŁæĢģ çݯå¢ĥ +èı ¯ +çļĦ ä»·æł¼ +麻 çĥ¦ +æ¿Ģ åıij +éĤ£ å°± +çļĦ æł·åŃIJ +为 æŃ¤ +天 åľ° +çļĦ 缮çļĦ +åĢº åΏ +å·² ç¶ĵ +åĽĽ 大 +åIJĮæĹ¶ ä¹Ł +å½¼ æŃ¤ +æĭ¿ åΰ +åIJ« éĩı +åįģ 大 +éļ¾ éģĵ +å¼ Ĺ +ä¸Ģ 段æĹ¶éĹ´ +çħ§ 顾 +æķ°æį® æĺ¾ç¤º +æĪIJ为 äºĨ +èµ° åΰ +æľ¬ åħ¬åı¸ +ç»Ī 端 +ä¹Ł ä¸įæĺ¯ +头 åıij +大 约 +é£İ æĻ¯ +æ¶Ī èĢĹ +审 æŁ¥ +äºī åıĸ +æ³ķ æ²» +äºĭ çī© +ç¼ĵ è§£ +æĥ ¨ +缸åºĶ çļĦ +çļĦ æķĪæŀľ +åıį å¤į +åıijçĶŁ äºĨ +éĢĻ äºĽ +ç»ĥ ä¹ł +åݨ æĪ¿ +å¼Ģ æĭĵ +欣 èµı +夫 妻 +ä¸į ä¸Ģæł· +产 èĥ½ +èĬ¯ çīĩ +è¦ģ ç´ł +åıį 对 +çİĩ åħĪ +è´§ çī© +æĹ¥ ç͵ +ä½ľ å®¶ +æĶ¹ è¿Ľ +æĪIJ åĪĨ +åĽł èĢĮ +åĩı èĤ¥ +æ½ ĺ +å±±ä¸ľ çľģ +åĬ Ŀ +åŁ ĭ +æŃ¦ è£ħ +æ±ĩ æĬ¥ +ä¸Ģ个 æľĪ +çĥŃ éŨ +大 éģĵ +æ´» åĭķ +éĥ½ å¾Ī +ç͵ 梯 +ç´§ æĢ¥ +åĢº åĬ¡ +客 æľį +ä¸Ģ éĥ¨ +ä½ł æĺ¯ +çݰ çĬ¶ +æŃ£ç¡® çļĦ +ä¹ĭ å¤Ħ +ç¼ĸ åζ +ä½ł åı¯ä»¥ +çŃī åľ° +èİ ī +对 è¯Ŀ +æ·ĺ å®Ŀ +è°ĥ èĬĤ +æİĴ æĶ¾ +åºĵ åŃĺ +ç´ ļ +çļĦ ä¼ĺåĬ¿ +æĿĥ å¨ģ +以ä¸ĭ ç®Ģç§° +ä¸Ģ 项 +èģļ éĽĨ +ä¼łç»Ł çļĦ +æ·· åIJĪ +è¿Ļä¸Ģ çĤ¹ +ä¸Ģ çľ¼ +æĹł éĻIJ +èİ·å¾Ĺ äºĨ +éĢī æīĭ +åζ åĵģ +åįı ä½ľ +çĭ¬çī¹ çļĦ +ä¸Ģ 级 +è¿Ļ个 éĹ®é¢ĺ +æĸ Į +æĺ¯ æĪij们 +æķĮ 人 +æ¸ħ æ´Ĺ +ä¸Ģ缴 åľ¨ +å°ı ç±³ +çļĦ è¿ĩç¨ĭ +åľ¨ åĮĹ京 +ä¸Ģ æĶ¯ +æĹ© ä¸Ĭ +æĸĩ èīº +ç¦ı åĪ© +é£Ł ç͍ +æĦŁ åĬ¨ +åħ¨ ç¨ĭ +æĶ¯ åĩº +æĸ° 建 +å¸ ķ +æĺ¾ çĦ¶ +羣 çļĦæĺ¯ +æĸ°éĹ» ç½ij +èĥ½ åIJ¦ +åįı åĬ© +亲 èĩª +å¾Ī æľī +çϼ å±ķ +æĦı 大 +æĦı大 åĪ© +ç͵ ç½ij +æĹ¥ çĽĬ +çĨ ± +èĤĮ èĤ¤ +çĶ· æĢ§ +ç»Ħ 建 +çŃī éĹ®é¢ĺ +æ¶Ī éϤ +æĬ¤ çIJĨ +å¡ij æĸĻ +ä¹Į åħĭ +ä¹Įåħĭ åħ° +åķĨ æłĩ +çIJ ³ +æĸ° æīĭ +çļĦ çī¹çĤ¹ +åĴ ¬ +å½ĵ ä¸ĭ +设计 å¸Ī +èµĶ åģ¿ +第 åįģ +æĻºèĥ½ åĮĸ +å¼Ģåıij åĮº +åı¯ä»¥ éĢļè¿ĩ +åħ±äº§ åħļ +åİī 害 +çģµ æ´» +æĹ¶ åħī +éĥ¨ ä½į +人 æĸĩ +è¿Ľ æĿ¥ +ä¹ĭ æīĢ以 +ä¸ī åįģ +çļĦ åѦçĶŁ +éĺ² æĬ¤ +åĽ½ 产 +æ·±åľ³ å¸Ĥ +éĤ£ å°±æĺ¯ +åΰ ä½į +çī¹ æľĹ +çľĹ æĻ® +å®ŀ æĹ¶ +åı° çģ£ +èĢĮ ä¸į +æĮĩ å®ļ +åĿ Ŀ +èħIJ è´¥ +çī¹ å®ļ +å¢ŀ éĢŁ +æłĩ çѾ +æĪ¿ ä»· +æĦ ģ +贯彻 èIJ½å®ŀ +æĢ§ è´¨ +çłĶç©¶ çĶŁ +ç¾İ 容 +æī¹ è¯Ħ +ç©¶ 竣 +人åĬĽ èµĦæºIJ +éĸĭ å§ĭ +åĽŀ å½Ĵ +èIJ¥ åķĨ +èIJ¥åķĨ çݯå¢ĥ +ä¸ŃåĽ½ 人 +çļĦ åŁºæľ¬ +è¯Ŀ é¢ĺ +æłĩåĩĨ åĮĸ +西 èĹı +åĭ ¾ +çļĦ 设计 +ç®Ģåįķ çļĦ +å¤į åζ +æ¸IJ æ¸IJ +以 å¤ĸ +èģĶ åĬ¨ +两 次 +æĢ§ åĴĮ +æĽ´ 大 +çļĦ åIJįåŃĹ +éŁ ¦ +ä½ł è¦ģ +å¢ĥ å¤ĸ +æĹ© æľŁ +åĪĿ æŃ¥ +è´¦ åı· +害 æĢķ +æĺ¨ æĹ¥ +åĪļ æīį +ç¥ŀ ç§ĺ +ç²¾ å¿ĥ +æµģ éĢļ +åħ¨ æĸ¹ä½į +以 å¾Ģ +ä¹Ł å°Ĩ +æĺ¯ ä¸ŃåĽ½ +åĽ½å®¶ 级 +å°Ĩ åĨĽ +æij Ĭ +æľĢ 为 +第ä¸Ģ æĹ¶éĹ´ +æ¶Ī æ¯Ĵ +å°Ĩ äºİ +å¨ģ èĥģ +èĭ± æĸĩ +æīĭ ä¸Ń +çIJĥ è¿· +è§Ĥ çľĭ +离 å©ļ +æľ¬ åľŁ +åĪĨ æķ£ +æĻ ´ +è¦ģ 注æĦı +浪 è´¹ +管 æİ§ +åĩº åĶ® +æĢ» è£ģ +ä¸Ģ éĺµ +å¨ ĩ +äºĶ 个 +å½ĵ åĪĿ +çºł 纷 +ä¸ĵ ç͍ +å¤ĩ æ¡Ī +åĪĿ æľŁ +å®ĥ æĺ¯ +åĮº åĿĹ +åĮºåĿĹ éĵ¾ +大 è¿ŀ +è¿Ļ ç±» +åıĺ æĪIJäºĨ +éĤĦ æĺ¯ +åįļ 客 +çı¾ åľ¨ +ä¸Ģ æĸ¹ +å®ĮæĪIJ äºĨ +è¿Ļ个 æĹ¶åĢĻ +åħ¨ å¹´ +ä¸Ĭ 线 +ç½ IJ +ç«ŀ èµĽ +åĩºçīĪ ç¤¾ +åĵ¥ åĵ¥ +å¯ « +å¾Ĺ 以 +èĬ± åĽŃ +äºĨ èµ·æĿ¥ +èĦ±è´« æĶ»åĿļ +çļĦ åİŁåĪĻ +讲 è§£ +æ¶Ī åĮĸ +æį٠害 +æļĤ æĹ¶ +å¾Ĺ çŁ¥ +éĢĤ ç͍ +éŨ åºĹ +è§£ 读 +æĻ® åıĬ +人æ°ij æ³ķéĻ¢ +åī¯ ä¸»ä»» +å¿ĥ çģµ +è¯Ĭ æĸŃ +ç¾İ 女 +æŁ ¯ +å¹´ 以æĿ¥ +æ´» è·ĥ +åĢŁ åĬ© +åħ± 建 +è¯ī 讼 +æĶ¾ æĿ¾ +çªĹ åı£ +ä¼ģ æ¥Ń +åĬł æĭ¿ +åĬłæĭ¿ 大 +ä¹° äºĨ +主 æµģ +æĩĤ å¾Ĺ +å°Ĩ åħ¶ +éĢı æĺİ +å·¥ä½ľ ä¸Ń +èĤ¡ ä»· +æ¡£ æ¡Ī +没æľī ä»»ä½ķ +åijĬ çŁ¥ +å¹´ åĪĿ +æĹ¥ ä¸ĭåįĪ +åİĤ åķĨ +èĬĤ å¥ı +主 导 +è£ Ŀ +åħ³éĶ® è¯į +èģĬ 天 +åĨĻ ä½ľ +æĶ¹éĿ© å¼ĢæĶ¾ +æľī æľĽ +éĢļ æĬ¥ +èIJ Į +æĢ» é¢Ŀ +çŁŃ æľŁ +ä¸Ģ çķª +çĶŁæ´» çļĦ +åĮĸ çļĦ +æĺ¥ 天 +è¿Ļ åľº +æĸ°å¼Ģ ä¼łå¥ĩ +æĺ¯ è¦ģ +å°ļ æľª +åıĺ æĽ´ +ä¸Ģ åij¨ +客 è§Ĥ +æĹ¥ èĩ³ +é¹ ° +çİ ² +å°Ĩ æĿ¥ +客 人 +åıĺ éĿ© +说 äºĨ +åİŁ çIJĨ +èģĮ åĬ¡ +åıĪ æľī +ä¸Ģ åı¥è¯Ŀ +æĦŁ åıĹåΰ +ç¬Ķ èĢħ +ç§» æ°ij +西 åįĹ +ä¹ĥ èĩ³ +æŃ£ è§Ħ +åĪĿ ä¸Ń +çĬ ¬ +å½ĵ äºĭ +å½ĵäºĭ 人 +æĪij们 è¦ģ +åħ¥ åı£ +éĤ£ æĹ¶ +æľīéĻIJ 责任 +å°ij 女 +è¿Ļä¹Ī å¤ļ +åĪĨ åħ¬åı¸ +å®ĩ å®Ļ +çļĦ éĢīæĭ© +å§IJ å§IJ +åıij èµ· +è» į +æĽ´å¥½ åľ° +éĻĨ ç»Ń +æľ¬ æľįåĭĻ +å« © +èµ¶ ç´§ +èĦĤ èĤª +第äºĮ 天 +æĪij ä¼ļ +两 ä½į +æķ ² +åħ¬å®ī æľºåħ³ +ç§ijæĬĢ åĪĽæĸ° +å°º 寸 +è¾IJ å°Ħ +å®Ĺ æķĻ +转 æį¢ +åĩº çİ°åľ¨ +ä¸Ģ é¢Ĺ +æľŁ éĻIJ +åIJĮåѦ 们 +åĮĹ æĸ¹ +ä½ł å°± +ä¸Ģ带 ä¸Ģè·¯ +èĢģ å©Ĩ +游æĪı çݩ家 +çļĦ ç»ĵæŀľ +è¡¥ åģ¿ +å¤ĸ è´¸ +对 å¾ħ +ç»´ çĶŁç´ł +ç»ıéĶĢ åķĨ +è¿ĺ å°Ĩ +åŃIJ 女 +æĽ´ é«ĺ +ä¸į 大 +éī´ å®ļ +让 ä»ĸ们 +æīĢè°ĵ çļĦ +æŃ» äºĨ +帮 æī¶ +åĵ² åѦ +以ä¸Ĭ çļĦ +çļĦ åħ³éĶ® +æĹ© å°± +æĬ¥ ä»· +éģµ å®Ī +æī© å¼ł +æĺ¯ å¾Ī +å¼Ģ éĢļ +æĸ° åĬł +æĸ°åĬł åĿ¡ +ç¿» è¯ij +询 éĹ® +é¸ Ń +ä½ĵ åĨħ +两 个人 +çĪ ¹ +éľ ľ +乡æĿij æĮ¯åħ´ +çĿ¡ è§ī +å®ĺ åijĺ +åĪĽ å§ĭ +åĪĽå§ĭ 人 +ä¼Ĺ 人 +åį³ ä¾¿ +çĸ« èĭĹ +ä¼ģä¸ļ å®¶ +æ¸ £ +ç²¾ åĬĽ +å¤ĸ éĥ¨ +èģª æĺİ +è¿Ļ ä¹Ł +å½ķ åıĸ +åĨ² çªģ +åħ¨ 身 +åŃ£ èĬĤ +忽 çĦ¶ +çļĦ æĢģ度 +åĤ¨ å¤ĩ +ä¿Ŀ åħ» +çļĦ æĥ³æ³ķ +ä¸Ĭæµ· å¸Ĥ +æIJº æīĭ +çļĦ ä¿¡æģ¯ +åķĨ åľº +çļĦ æĢĿæĥ³ +æĿĥ åĬĽ +毫 æĹł +æĢĢ åŃķ +硬 ä»¶ +åĨħ èĴĻåı¤ +æİ¢ 讨 +åħ» çĶŁ +çļĦ 表çݰ +空 ä¸Ń +æģIJ æĢĸ +å¾Ī é«ĺ +ç»ıæµİ 社ä¼ļ +ä¸Ĭ æĿ¥ +å»¶ ç»Ń +éĩį å¤į +éĺ² èĮĥ +çļĦ å½¢å¼ı +æľĪ åºķ +èĢģ 年人 +绿 åĮĸ +å±± åĮº +æĭ¿ åĩº +æĹħ 客 +æĽ´ æį¢ +åħ¬ 主 +èĬĤ 约 +åħ¨ åİ¿ +åĽŀ æĬ¥ +çIJĨ æĢ§ +çĸ¯ çĭĤ +æ¶ī å«Į +åī§ æĥħ +åĨ¬ åŃ£ +åIJİ ç»Ń +è¿Ļæĺ¯ ä¸Ģ个 +æ¼Ķ 讲 +ä¸Ģ å±Ĥ +æľīåħ³ éĥ¨éŨ +æĹł å¥Ī +ç§į ç±» +缸åħ³ çļĦ +æĪĸèĢħ æĺ¯ +æī¶ æĮģ +å¤ļ æķ° +çļĦ ä½ľåĵģ +ä¸ĭ ä¸ĢæŃ¥ +å¸Ī åĤħ +é«ĺéĢŁ åħ¬è·¯ +好 åıĭ +ä¼ĺç§Ģ çļĦ +è¿Ľ äºĨ +æģIJ æĢķ +äºĨ åIJ§ +大 è§Ħ模 +çļĦ ä¸ĸçķĮ +æĢĢ çĸij +å· · +åħ´ å¥ĭ +æĪ ° +æĿij éĩĮ +æľĭåıĭ åľĪ +åĨ¬ 天 +ä¸Ńåįİ äººæ°ij +åįı åķĨ +è¯Ħ éĢī +æĹ Ń +å¢ŀåĬł äºĨ +åıĹ ä¼¤ +ä¸Ģ èĤ¡ +便 æį· +ä¸ ij +é¹ ¤ +å¤ĸ è§Ĥ +å·¥ç¨ĭ å¸Ī +åĴĮ åħ¶ä»ĸ +è¿Ļ å°± +ä¸Ńå°ı ä¼ģä¸ļ +西 åĮĹ +åĽ½æľī ä¼ģä¸ļ +èĭ¥ æĺ¯ +åı¯ æĥľ +çĶŁ æĹ¥ +åĩ ½ +ä¹° åįĸ +ç¥Ŀ ç¦ı +人æ°ij 群ä¼Ĺ +åħī æĺİ +åħ¬ å¯ĵ +æĺ¯ è°ģ +æĪij çŁ¥éģĵ +è¯Ń æĸĩ +æķı æĦŁ +ä¸įéĶĻ çļĦ +æĿ¥ 讲 +æ³¢ åĬ¨ +çļĦ 第ä¸Ģ +åľ° éľĩ +åľ¨ åħ¨åĽ½ +骨 å¹² +å®ī ç½® +å®¶ ç͵ +ä¸İ æŃ¤ +ä¸İæŃ¤ åIJĮæĹ¶ +åıĹ çģ¾ +çĥŃ çº¿ +çļĦ æĬĢæľ¯ +æµĭ éĩı +ä¾Ŀ èµĸ +ä¸ŃåĽ½ çļĦ +çī¹ æĢ§ +è¾ĥ é«ĺ +è¸ © +ä¼ļ åľ¨ +建 éĢł +导 èĪª +æĥ³ èµ· +åħ¨ ä¸ĸçķĮ +建 æĿIJ +ç¯ Ģ +çļĦ åŁºç¡Ģ +èĩªåĬ¨ åĮĸ +åīį åIJİ +çĿ¡ çľł +æİ¨ è¡Į +æį® äºĨè§£ +ä»Ģä¹Ī æĹ¶åĢĻ +ä¸į åĸľæ¬¢ +çħ¤ çĤŃ +éĤ£ä¹Ī å¤ļ +å¸Ĥåľº åĮĸ +ä¸į管 æĺ¯ +ç«ĭ åľº +éĥ½ 没 +课 é¢ĺ +æĪij们 å°Ĩ +è¿ĩ çļĦ +åĨį åĬłä¸Ĭ +çĪ ¾ +身 æĿIJ +çĶ· 女 +è¿ľ è¿ľ +çĶ· çĶŁ +èĩªèº« çļĦ +è´Ł æĭħ +çϾ ä¸ĩ +西 çıŃ +西çıŃ çīĻ +åĩĢ åĪ©æ¶¦ +æ¾³ 大 +澳大 åĪ©äºļ +ä¸į åİ» +æī¿ åıĹ +楼 çĽĺ +å¢ĥ åĨħ +æ·· åĩĿ +æ··åĩĿ åľŁ +æĢĿæĥ³ æĶ¿æ²» +å¸Ĥ åĮº +æĭĽ æłĩ +åĽ¢ ä½ĵ +è¿Ľ 度 +åĨĽ éĺŁ +åıį å¼¹ +äºĨä¸Ģ äºĽ +æİ¥ å¾ħ +çļĦ åŃ¦ä¹ł +éħį éĢģ +é£Łåĵģ å®īåħ¨ +æĽ¿ 代 +æĺ¯ 以 +éĢļ ç͍ +çłĶç©¶ æīĢ +ç¦ ħ +æī Ķ +éļĶ ç¦» +ä¸ĩ å¹³æĸ¹ç±³ +çļĦ è§Ħå®ļ +ç»Ļ æĪij们 +æ¿Ģ åħī +ä¼ļ åĩºçݰ +çŁŃ ä¿¡ +ç©¿ çĿĢ +æ²Ī éĺ³ +æķĻ æĿIJ +éĺ² çĸ« +ä¼ĺ èī¯ +约 å®ļ +æĪij çľģ +åħ¬ æ°ij +éģ¸ æĵ +é쏿ĵ ĩ +å·² æĪIJ为 +ä¸į å¿ħ +ç¥ĸ åĽ½ +å¹¶ æľª +åľŁ 壤 +å¾® ç¬ij +äºĭä¸ļ åįķä½į +çļĦ 游æĪı +åħ¬ 示 +åIJĪçIJĨ çļĦ +çª Ŀ +æ°Ķ 象 +å®¶ ä¸Ń +亮 缸 +åį« æĺŁ +è®° è½½ +è§Ĩ éĩİ +åľ°åĮº çļĦ +ä½Ĩ ä»ĸ +èĤĮ èĤī +äºı æįŁ +åĬŀ åѦ +ä¸Ģ è¡Į +è¯ŀ çĶŁ +åıijå¸ĥ çļĦ +çļĦ æľįåĬ¡ +çļĦ çłĶç©¶ +åij¨ æľ« +产ä¸ļ åĽŃ +é«ĺ 温 +æĪIJåĬŁ çļĦ +æŃ¥ 骤 +åŃĺ åĤ¨ +åŃIJ åħ¬åı¸ +让 她 +ä¸Ń æľī +åĺī 宾 +å¦ ® +æĺİ å¹´ +äºĨ åIJĹ +äºī è®® +æĪ Ī +ä¸Ģ æľ¬ +ç¾İ丽 çļĦ +ä½ł 说 +大 人 +æĶ» çķ¥ +ä¸į æľĥ +å¾ħ éģĩ +ä¸Ģ è¾Ĩ +çīĪæĿĥ æīĢæľī +æ°ij ä¼Ĺ +åĬ٠夫 +å±ķ ä¼ļ +大 èĦij +æ¯ı æľĪ +å°ı 麦 +æµĻæ±Ł çľģ +çļĦ æīĢæľī +ä¸ĭ æ»ij +èĵĿ èī² +è¦ģ æĥ³ +åѦçĶŁ çļĦ +å½ĵ ä½ł +ä½ľ æĪĺ +å®¶ 乡 +å¤ļ åIJį +é«ĺ äºİ +åĿļ 强 +è¿ŀ éĶģ +åIJİ æŀľ +人 äºĭ +ç´ ħ +æ¿Ģ åĬ¨ +è¿Ľ æĶ» +ç© Ĩ +ä¸ ĺ +让 èĩªå·± +以 æŃ¤ +夫 人 +å¼Ģ 设 +æ°Ķ è´¨ +鸡 èĽĭ +çĦ¡ æ³ķ +åIJĥ äºĨ +åĪĨåĪ« 为 +èģĶåIJĪ åĽ½ +å½ĵ 代 +å¦Ĥæŀľ æĺ¯ +è¿ľ ç¨ĭ +åĸ Ĥ +è®° ä½ı +æ¸ħ åįķ +åIJĪä½ľ ä¼Ļä¼´ +åİ» åģļ +æķħ éļľ +模 æĭŁ +å¸Ī çĶŁ +åīį æĿ¥ +ç͵è§Ĩ åī§ +çĥŃ çα +éľ² åĩº +é«ĺ å±Ĥ +ç͵ åύ +纪 å¾ĭ +å¼Ģåıij åķĨ +éķ¿ å®ī +è½½ ä½ĵ +çļĦ å°±æĺ¯ +被 人 +åıĹ çIJĨ +篮 çIJĥ +èİ İ +交 ç»Ļ +æľªæĿ¥ çļĦ +两 大 +åIJķ å¸ĥ +çŃī 人 +çļĦ æĹ¥åŃIJ +åIJĪä½ľ 社 +æĮij éĢī +åŃĺ æ¬¾ +ç³»ç»Ł çļĦ +æĬĬ å®ĥ +没æľī ä»Ģä¹Ī +ä»İ æŃ¤ +ä¸Ń åįĪ +çĸ¼ çĹĽ +å·© åĽº +浪 漫 +缸åħ³ éĥ¨éŨ +éķ¿ åŁİ +纤 ç»´ +ä¸Ĭ éŨ +çĪĨ çĤ¸ +èµ· çĤ¹ +çļĦ éĢļçŁ¥ +èĢĮ æĿ¥ +çļĦ èĢģ +æīĭ éĩĮ +è¯Ń éŁ³ +è¾Ľ èĭ¦ +æ±Łèĭı çľģ +ç͍ äºĨ +身份 è¯ģ +æľī åĬ© +æľīåĬ© äºİ +çī© èģĶç½ij +åĩº éŨ +å¼Ł åŃIJ +æĥ ¹ +è¿Ļä»¶ äºĭ +æĪij们 åı¯ä»¥ +çļĦ çĶŁåij½ +æľīä¸Ģ ç§į +åºĹ éĵº +åıĮ æīĭ +çļĦ æ¶Īæģ¯ +èĢIJ å¿ĥ +å°´ å°¬ +éĤ£ 天 +é¦ĸ æī¹ +æĺ¯ä¸Ģ å®¶ +人 æ°Ķ +åıį æŃ£ +æĪij åĴĮ +å®ł çī© +ä¸į 对 +寻 æ±Ĥ +缸 ä¼¼ +åľ¨ ç¾İåĽ½ +åı« åģļ +åĹ İ +ç«ĭ è¶³ +ç͍ éĢĶ +åħ Ĩ +大 æ°Ķ +åIJij ä¸Ĭ +ä»ĸ å°± +é¡¹çĽ® 建设 +èĭ¥ å¹² +æĺ¯ æľī +æ¿Ģ æĥħ +çļĦ æĦıä¹ī +æĺ Ń +严éĩį çļĦ +å¯Ĩ éĽĨ +èĪŀ è¹Ī +èᣠèİ· +èİ· æĤī +æ±Ł åįĹ +åģĩ å¦Ĥ +æĪ· å¤ĸ +线 ç´¢ +ç§ģ 人 +转åŀĭ åįĩ级 +çļĦ ä»·å̼ +åįķ çĭ¬ +èĢģ çϾå§ĵ +å°į æĸ¼ +åĽ½éĻħ åĮĸ +ä¼° å̼ +æľįåĬ¡ ä¸ļ +èĩ Ń +æİī äºĨ +è§£åĨ³ äºĨ +ä¹Ł ä¸įèĥ½ +åħ ¹ +æĸ¯ çī¹ +æķħ æĦı +è¿ĩ 度 +èĬĤ æĹ¥ +çϽ çĻľ +çϽçĻľ é£İ +ç»§ æī¿ +äºĨ ä¸įå°ij +äºĮ 人 +è§ģ éĿ¢ +æĥ³ æĥ³ +å¤į åIJĪ +康 å¤į +åİ¿ åŁİ +åľ¨ åĽ½åĨħ +åľº åľ° +é϶ çĵ· +è¿Ļ 项 +çľ¼ ä¸Ń +çł ¸ +æĦŁè§ī åΰ +æŀľ çĦ¶ +æĶ¾ åħ¥ +约 æĿŁ +æİĴ æŁ¥ +车 主 +çļĦ æĦıæĢĿ +æĸ° åŁİ +æĥ³ çĿĢ +éģ Ĥ +èĮ¶ åı¶ +ä¹° æĪ¿ +åĨľ æĪ· +é«ĺ æīĭ +çİī ç±³ +æĸ°åĨł èĤºçĤİ +çħ§ æĺİ +æĮĩ åįĹ +è¸ ¢ +æķij æı´ +æĻ¯ çĤ¹ +ç¨İ æĶ¶ +çļĦ æīĭ +æŃ£ 好 +è¦ģ æĬĬ +éļı æĦı +åħ¶å®ŀ æĺ¯ +ç»Ļ èĩªå·± +è°Ī åΤ +æ¯ı天 éĥ½ +æĢģ åĬ¿ +é¢Ħ 约 +åİĨåı² ä¸Ĭ +å®Ŀ è´Ŀ +åīį è¿Ľ +ä¹Łå°±æĺ¯ 说 +çļĦ æĦıè§ģ +åı£ 罩 +åİĺ ç±³ +èĬ± è´¹ +ä½ĵèĤ² æĬķæ³¨ +åħ¬ä¼Ĺ åı· +èijĹåIJį çļĦ +å¼Ģ æĪ· +æĭį åįĸ +å²ģ æľĪ +åĨħ æ¶µ +å®Įæķ´ çļĦ +é«ĺ åİĭ +åħ¬åĬ¡ åijĺ +使ç͍ çļĦ +çĶŁäº§ 线 +妹 妹 +èµ° 访 +æĺ¯ åı¯ä»¥ +åľ¨ å®¶ +æļ´ åĬĽ +æ³° åĽ½ +è´¨ çĸij +ä¸į éģİ +天çĦ¶ æ°Ķ +缺 çĤ¹ +å°ı åŀĭ +ä¸įä»ħ æĺ¯ +é»ij æļĹ +æ¢ ¨ +æĸĩ æĹħ +è¦ģ æľī +ä¸Ń å±± +çļĦ æķ°æį® +å¾Ĺ å¾Ī +以 便 +对 ä»ĸ +åĬł 以 +çϼ çı¾ +设 å®ļ +èĤļ åŃIJ +éĿ ĸ +å¥ī çĮ® +ä¸į åıĺ +åı£ ç¢ij +åľ¨ åĵªéĩĮ +ä½ IJ +è¿Ļ 两个 +çļĦ æĸ¹åIJij +æŀ « +äºĮ 次 +çīĩ åĮº +éł IJ +ç£ Ĭ +æĭ¿ çĿĢ +å·²ç»ı æĪIJ为 +ä¹ĭ ä¸Ĭ +å®Ĺ æĹ¨ +奶 奶 +é«ĺæĸ° åĮº +社 æľĥ +è·Ł 踪 +æľįåĬ¡ ä¸Ńå¿ĥ +æī ¯ +æīĭ æĮĩ +礼 çī© +宿 èĪį +ç͍ å¿ĥ +æıIJé«ĺ äºĨ +亮 çĤ¹ +ä¸į æĦ¿æĦı +æĴŃ æĶ¾ +å¤ļå°ij éĴ± +没 ä»Ģä¹Ī +æķ° åįģ +æĢ» çĽij +çļĦ åŁİå¸Ĥ +æī¾ åΰäºĨ +åĨħ åľ° +åΰ çİ°åľ¨ +æĪĺæĸĹ åĬĽ +åİŁ å§ĭ +åĥ § +åĢĴ æĺ¯ +æľĢ åħ· +è´«åĽ° æĪ· +éĢģ åΰ +级 åĪ« +åĩº èµĦ +æĪª æŃ¢ +ç§į åŃIJ +èĥ½ ä¸įèĥ½ +幸 è¿IJ +èĸ ĩ +项 éĵ¾ +æĮĤ çīĮ +ä¸Ģ 樣 +ä¹ĺ 客 +èIJ½ åIJİ +ä½Ĩ æĪij +æĹ© åľ¨ +åĬ¨ 漫 +å¹³ çŃī +对 ä½ł +ä¸į æĢķ +å¤ĸ çķĮ +å¤ļå¹´ æĿ¥ +é¦ĸ 个 +æ²³ åįĹçľģ +æĪĸ åħ¶ä»ĸ +éķľ å¤´ +åįĹ æĺĮ +ä¸Ģ éĿ¢ +éĢłæĪIJ çļĦ +å´ Ķ +çŃ Ĵ +æķĻèĤ² éĥ¨ +åľ° åŁŁ +æĺĨ æĺİ +å·´ é»İ +æīĭ 游 +ä¸Ģ æĹ¶ +çł į +é¡¶ 级 +åħ± 计 +åİŁ æ²¹ +è¾ī çħĮ +说 æĺ¯ +æĸ°åįİ ç¤¾ +ç»ıåİĨ äºĨ +ä¸į æŃ¢ +è¦ģ ä¹Ī +èĢħ çļĦ +æĢ» æĬķèµĦ +è¡Į é©¶ +ä¸Ĭ å¸Ŀ +å¹´ 纪 +çIJ ¼ +ä¼ł 说 +ç²¾ èĭ± +æĸ¹ éĴĪ +æ±Ł æ¹ĸ +æĪIJ çĤº +æĢ» éĩı +æĬķ æĶ¾ +åĬ¨ çĶ» +èĹ ¤ +ç͵ æºIJ +éĴ Ļ +åIJĮ è¡Į +æĻ®éĢļ çļĦ +åĽ¾ä¹¦ é¦Ĩ +è¯Ī éªĹ +æħĪ åĸĦ +è¿Ļ 份 +主æĮģ 人 +å°± è¿Ļæł· +èĢĮ æĪIJ +èĩªè¡Į 车 +ä¸ŃåĽ½ çī¹èī² +èĤ¿ çĺ¤ +åIJ ¾ +å¼Ł å¼Ł +åıĹ çĽĬ +éĢīæĭ© äºĨ +æĺİæĺ¾ çļĦ +æĬ¥ èĢĥ +ç¬ij éģĵ +éĽĸ çĦ¶ +温 å·ŀ +éĿŀ æ´² +ç§į ç§į +åıĤåĬł äºĨ +è´§ è¿IJ +éļı 便 +å°± 没æľī +ç¸ £ +央 è§Ĩ +ç©¿ è¶Ĭ +çļĦ çݰ象 +åĩł 次 +çļĦ é£İéĻ© +æŃĮ æĽ² +æľ¬ å±Ĭ +å¹´ åĨħ +ä¸į è¶ħè¿ĩ +è¿ĩ å¤ļ +å¿ħé¡» è¦ģ +ç»ĵ 论 +åĢŁ éī´ +ç¥ŀ å¥ĩ +æľŁ æľĽ +ä¸ĵ 享 +éĿŀ常 éĩįè¦ģ +æĦıè¯Ĩ åΰ +åIJĪ å¹¶ +æĬĬ èĩªå·± +å¥Ĺ è£ħ +éŃĶ æ³ķ +å¤ı åŃ£ +ä¸į åĥı +å¢ĥ çķĮ +æĥĬ åĸľ +æľīä¸Ģ 天 +çĦ¦ çĤ¹ +æĪij 认为 +åħ° å·ŀ +ç͵ æ°Ķ +èģĶç³» æĪij们 +ç§ij æĻ® +她 说 +çļĦ æĸĩ竳 +å¥ĩ æĢª +åıĭ 好 +饮 æĸĻ +çļĦ æĶ¯æĮģ +çŃĶ åºĶ +éĩį éĩı +çij ¶ +åĩı è½» +ç§ijåѦ å®¶ +å·´ 西 +éĩijèŀį æľºæŀĦ +åħļ å§Ķ书记 +貸 款 +ç²¾ èĩ´ +ä»İ æľª +åį° åĪ· +åĽŀ 顾 +é¦ĸ éĥ½ +åıij èĤ² +éĹ® éģĵ +è¾¾ åΰäºĨ +å¿į ä¸įä½ı +æīį æľī +æįIJ èµł +ä½Ľ æķĻ +ä¸į æ¸ħ +éĺŁ éķ¿ +缸 åıį +æĬ¥ èѦ +大 åħ¨ +欧 缣 +帮 å¿Ļ +çļĦ æĻĤåĢĻ +缮 å½ķ +è¶³ 以 +èī° éļ¾ +ä»ĸ ä¹Ł +å·¥ ä½ľèĢħ +头 èĦij +缺 éĻ· +æĪIJç«ĭ äºĨ +å°± å¼Ģå§ĭ +认 åIJĮ +é»Ħ èī² +çĹħ æĥħ +覺 å¾Ĺ +è¿Ļ 两 +ä¿¡ ä»° +åľĭ å®¶ +ä¸įä»ħä»ħ æĺ¯ +çĭ¬ å®¶ +èά çļĦ +æĿIJ è´¨ +æµ· ä¸Ĭ +çĤº äºĨ +æľºåĬ¨ 车 +缸å½ĵ äºİ +å¤ļåħĥ åĮĸ +æĽ´ 大çļĦ +èĽ ® +åģĩ æľŁ +å¼ı çļĦ +交éĢļ è¿IJè¾ĵ +çľģ å§Ķ +ä¸į ç®Ĺ +æĶ¾ ä¸ĭ +éĹ ¯ +人 åľ¨ +港 åı£ +æĹ¨ åľ¨ +åij½ 令 +æŁIJ 个 +å¹³ 稳 +åıª 好 +人 人 +äº ŀ +äºĮ ç»´ +äºĮç»´ çłģ +æŀģ 为 +åĪ« å¢ħ +åħ¶ ä½Ļ +大 äºĭ +主管 éĥ¨éŨ +æĹł éĶ¡ +éĹ µ +éģŃ åΰ +说 è¿ĩ +为 ä½ł +è§£ çŃĶ +éªĮ æĶ¶ +çļĦ ç»ıéªĮ +åĮ¹ éħį +çģ« ç®Ń +豪 åįİ +æŁIJ æŁIJ +çļĦ æĹ¶ä»£ +书 éĿ¢ +æģĴ 大 +å»¶ éķ¿ +ä¸Ģ åIJĮ +æľª èĥ½ +交 æį¢ +çĶ¢ åĵģ +çŃī åΰ +åĪĨ 离 +æīĵ ç͵è¯Ŀ +å¹² çĩ¥ +è¾ĥ å¤ļ +å¤ļå¹´ çļĦ +èĥĮæĻ¯ ä¸ĭ +为 ä¾ĭ +æijĺ è¦ģ +å´Ľ èµ· +æŃ¤ åĪ» +æľī æľºä¼ļ +æĿ¡ 款 +é¢Ĩ导 å°ıç»Ħ +çļĦ 身ä½ĵ +åįķ ä¸Ģ +央 è¡Į +ä¸įæĸŃ æıIJé«ĺ +ä»·å̼ è§Ĥ +èĬ ½ +èIJ į +æ³ķå¾ĭ æ³ķè§Ħ +ä¸į éĶĪ +ä¸įéĶĪ éĴ¢ +åĩº äºİ +èĻļ æĭŁ +æį® æĤī +çĥ¦ æģ¼ +åħ¨ æĸ°çļĦ +æī« æıı +çĻ» éĻĨ +èīºæľ¯ å®¶ +çļĦ é£Łçī© +çļĦ åŃĺåľ¨ +客 åİħ +æĪij们 å°± +æŁ¥çľĭ æĽ´å¤ļ +è¯Ħ 审 +å¸Ĥ åł´ +è¬ Ľ +å·¨ 头 +ä¸ŃåĽ½ ç»ıæµİ +äºĨ èĩªå·±çļĦ +åĨ³ è®® +çĽijçĿ£ 管çIJĨ +æĬķ 票 +åĨį 度 +è¡Į çĤº +注 åħ¥ +ä½ľä¸º ä¸Ģ个 +æ¯ı个人 éĥ½ +åįķ åħĥ +è¦ģ çŁ¥éģĵ +被 称为 +ä¹ĭ éĻħ +è§£ éϤ +ä¸ ¸ +æº « +ä¸ī æĺŁ +é²ľ æĺİ +ä¹Ł éĥ½ +æĹ¶ æľº +åĩº æīĭ +æĥħ å½¢ +åķĨ è´¸ +éĢī 举 +对 èĩªå·± +çĶŁ åĬ¨ +åħĭ æľį +个 ä½ĵ +èĭ ij +ç¨ ± +大 åݦ +æĺ¯ 对 +åĪ© æģ¯ +è¿IJåĬ¨ åijĺ +åĮĸ è§£ +åīį æ²¿ +æĦŁ æģ© +æĢ» ä¹ĭ +é«ĺæĸ° æĬĢæľ¯ +åĿĩ 为 +åħ¨ åĮº +æ°Ķ æ°Ľ +åı¯ä»¥è¯´ æĺ¯ +ä½ı 宿 +åħļåijĺ å¹²éĥ¨ +åĹ ¯ +è·µ è¡Į +çļĦ ä¸ĵä¸ļ +èĢĥ éªĮ +èķ ¾ +åħ¬ åŃIJ +çļĦ çĬ¶æĢģ +æ½® æµģ +ä¿¡ æīĺ +è´ ¼ +åIJĦ æĸ¹ +æķij åĬ© +éĿŀ常 çļĦ +æ¡¥ æ¢ģ +åħ¬ æĸ¤ +ä¼¼ çļĦ +çľĭ 好 +å±Ģ éĥ¨ +å®ī éĿĻ +éħį ä»¶ +常 è§Ħ +å¼Ģ 车 +第äºĮ 次 +ä¸Ĭ 级 +åıĤ èµĽ +å®¶ å±ŀ +强 åĬ¿ +åľ¨ ä»ĸ +åIJij åīį +ä¹ĭ åľ° +éĥ ¡ +è¡Į ç¨ĭ +èѦ åijĬ +è§Ħå®ļ çļĦ +åķĨ åŁİ +äºĶ 大 +æķĻ å®¤ +åįģ è¶³ +æīĢ以 åľ¨ +å°Ĩ ç»§ç»Ń +çŃī æĸ¹å¼ı +å®¶ ä¼ģä¸ļ +交 ä»ĺ +çĤ¹ è¯Ħ +ç»ĵ ç®Ĺ +ä¹Ł åı¯ +å¤ĸ æ±ĩ +è¿Ļç§į æĥħåĨµ +æİĪ äºĪ +å¸ĥ ç½® +æĪIJç«ĭ äºİ +é¢Ħ èѦ +管çIJĨ 人åijĺ +å©ļ 礼 +ç»ĵæĿŁ åIJİ +åħ¥ éĢī +æĹł æ¯Ķ +åĴĮ åıijå±ķ +çϽ éħĴ +çİ© åħ· +ä¸ĩ ç¾İåħĥ +çļĦ æĪIJ绩 +æĭį çħ§ +èĢĥèĻij åΰ +ä¼ģä¸ļ åıijå±ķ +äºĨ 个 +çĶŁ æ°Ķ +çļĦ 女人 +äºĶ åįģ +çĪ· çĪ· +纽 约 +éĥ½ 被 +ä¸Ĭ 课 +çĽ ¡ +ä¼łç»Ł æĸĩåĮĸ +æ½ľ åľ¨ +åıij å°Ħ +ä¸Ģ 身 +éĺ² å®Ī +åĪ ® +é¢ĺ 缮 +åľ¨ åĨħçļĦ +ç¾İ 好çļĦ +è¿ĻéĩĮ çļĦ +ä¸Ģ ä¸Ŀ +人 åĿĩ +åĢ¡ 导 +身 åIJİ +æī© å±ķ +大 éŨ +å°± 被 +该 é¡¹çĽ® +æŀ¶ æŀĦ +ä¸Ģ åı£ +ä¿¡æģ¯ æĬĢæľ¯ +å¼Ģ ä¸ļ +æĶ¶ åıĸ +ç½ij 页 +æĶ¯ æı´ +å°ģ éĹŃ +å¡ij éĢł +大 èĥĨ +å¿«éĢŁ åıijå±ķ +çľĭ ä¼¼ +æ¸ Ŀ +è¿Ļæł· ä¸Ģ个 +模 åĿĹ +注æĦı åΰ +çł´ è§£ +èĩª ä»İ +åijµ åijµ +ä¹ĭ å¾Į +ä¹ĭ æĹħ +è·Ł æĪij +æ³ķ 人 +æİĴè¡Į æ¦ľ +åĿļ å®Ī +好 å¤Ħ +çŁ³ 头 +å¹¶ å°Ĩ +èĪ ± +æŃ ĩ +两 岸 +å¤ļ ä¹ħ +象 å¾ģ +个æĢ§ åĮĸ +çļĦ è§Ĵ度 +å¸ Ĩ +ç¦ı å·ŀ +æŁ¥ å¤Ħ +两 åĽ½ +åIJ¸å¼ķ äºĨ +é¦ĸ å¸Ń +大 åĵ¥ +é¤ Ĭ +涨 å¹ħ +éĢī ç͍ +許 å¤ļ +èIJ½ æĪ· +åĵĪ å°Ķ +åĵĪå°Ķ 滨 +åģļ ä»Ģä¹Ī +以 åħį +é¾ į +æĹł éľĢ +åΰåºķ æĺ¯ +æĢ ¡ +åijĬè¯ī ä½ł +éĺ² æ°´ +è¿Ļ æĹ¶åĢĻ +欢 ä¹IJ +转 åIJij +è¿Ļ个 åľ°åĽ¾ +åħ¥ é©» +èįī åİŁ +æĹ¶ä»£ çļĦ +åıĺ åĬ¨ +åĬłå¼º 对 +åģ¶ å°Ķ +å®Ī æĬ¤ +æ°Ķ 温 +人 éĹ´ +æľĿ é²ľ +ç»ı è´¹ +åĽŃ æŀĹ +å·¥ åľ° +è§Ħ æł¼ +åĩł åįģ +è¯ķ åĽ¾ +å¦ ĥ +éĤ£ æĹ¶åĢĻ +å¼ĺ æī¬ +ä¸ļ çķĮ +çļĦ éĢŁåº¦ +ä¼ļ ä¸įä¼ļ +èIJ¥ æĶ¶ +å°ıå¾® ä¼ģä¸ļ +çľĭ è¿ĩ +æĬĬ ä»ĸ +éģµ å¾ª +è¿Ļ è¾¹ +没æľī 人 +å£ ¶ +æ¹ĸ åįĹçľģ +æŀģ åħ¶ +çļĦ人 çĶŁ +ä»ĸ è¿ĺ +转åĮĸ 为 +èµ° è¿ĩ +æĬ± çĿĢ +çīĽ å¥¶ +ä¸ĩ 亩 +å¿ĥ æĢģ +æĹ¥å¸¸ çĶŁæ´» +ä½ĵ æ£Ģ +æĻ ĥ +çŃī é¢ĨåŁŁ +æĩī 該 +åı¯ä»¥ çľĭåΰ +æī¾ ä¸įåΰ +èĢģ å¹´ +æĬĬ æĪij +积 åĪĨ +梳 çIJĨ +ç» ³ +çļĦ æĶ¿æ²» +å¸Ŀ åĽ½ +éĻª ä¼´ +æ´Ľ éĺ³ +åħ¬ æŃ£ +å¼Ģ åı£ +çī¹èī² çļĦ +åĽ° å¢ĥ +ä¸Ĭ æľī +ç«ĭ ä½ĵ +æīĵ å·¥ +åķ¤ éħĴ +åľ¨ éĤ£éĩĮ +éĤ£ è¾¹ +个 åĪ« +ä¸Ģå®ļ æĺ¯ +çļĦéĩįè¦ģ æĢ§ +主 å¼ł +åĴĮ æľįåĬ¡ +ä¸Ĭ ç½ij +è¡¥ åĬ© +åıª éľĢ +å¼ ¦ +éģ ® +åĬĽ äºī +度 è¿ĩ +èij ¬ +é¡¿ æĹ¶ +éĦ ī +纺 ç»ĩ +åľ° åĿĹ +ä¿¡ç͍ åį¡ +ç½ļ 款 +åijĬè¯ī æĪij +éĽ Ļ +书 çĶ» +è¨Ń è¨Ī +æĢ» ä¼ļ +åΤ åĨ³ +ä¿¡ èªī +个 èĤ¡ +å¹³ 常 +æĢİ éº¼ +ä½ĵ çİ°åľ¨ +é»Ħ æ²³ +åĽĽå·Ŀ çľģ +羣 缸 +åIJĦ项 å·¥ä½ľ +åĬ¨ åijĺ +å³° ä¼ļ +ä¸Ģ æľŁ +æľī ä¸Ģå®ļçļĦ +é«ĺ度 éĩįè§Ĩ +ç¹ģ èᣠ+åıijçݰ äºĨ +ç½ij 红 +æīĭ æ³ķ +å®¶ åĽŃ +仪 åύ +è¾ĥ ä½İ +çļĦ å®īåħ¨ +æ¡ IJ +ä»ĺ 款 +æĬij åζ +åįĵ è¶Ĭ +æŃ£ éĿ¢ +åĵ ij +强 åζ +ä»Ĭ天 çļĦ +æĪĺ èĥľ +楼 å¸Ĥ +æĭ¿ ä¸ĭ +é¢ľ å̼ +举 éĥ¨ +çłĶ åζ +çļĦ æĪĺçķ¥ +åľ¨ ä¸Ģ个 +ä¸ī 人 +å®Į äºĨ +æĸ° æĬĢæľ¯ +ç»ıæµİ æķĪçĽĬ +å¯Į æľī +æ¾³ æ´² +åĬ© çIJĨ +é¢Ĩ åıĸ +è° Ń +çĩĥ çĥ§ +ç´ł åħ» +éĤĦ æľī +è¿Ľ èĢĮ +ä»Ģä¹Ī æĺ¯ +çłĶç©¶ ä¸Ńå¿ĥ +éĢĤ ç͍äºİ +æİ¥ æĶ¶ +失 æľĽ +äºĮ 级 +éĹ´ çļĦ +åİŁ æłĩé¢ĺ +èªį çĤº +æį ¡ +对 çĿĢ +对 éĿ¢ +ä¸Ń åİŁ +éĵ ĥ +çĶŁäº§ çļĦ +åıijå¸ĥ ä¼ļ +士 åħµ +è¿Ļ åı¥è¯Ŀ +ç¼´ 纳 +ä¸Ģ个 个 +åѸ çĶŁ +çĸij éĹ® +交 èѦ +示èĮĥ åĮº +天 使 +åľ¨ ä¸Ĭæµ· +åIJĮ æĻĤ +è½» æĺĵ +å͝ä¸Ģ çļĦ +çĥŃ éĹ¹ +ä¹IJ è§Ĥ +çļĦ 身份 +åĸĦ äºİ +大 åİħ +èĤ¯å®ļ æĺ¯ +éĺ² çģ« +å¤ĸ åĩº +æį® 说 +é¡¹çĽ® çļĦ +ä¸Ģ åı° +èĻļ åģĩ +ä¸Ģ ç¬Ķ +ç«ĭ æ³ķ +严 èĤĥ +æī¿ åĬŀ +åįģ åĩł +çļĦ 空éĹ´ +æľ¬ ç½ijç«Ļ +åģļ å¾Ĺ +ä¿Ŀ 温 +æľĪ åĪĿ +åľ¨ ç½ijä¸Ĭ +åIJĦ æĸ¹éĿ¢ +ä¸ī 天 +交æĺĵ æīĢ +è§£ æŀIJ +åħļ ä¸Ń央 +è¿Ľ åĩºåı£ +åĴĮ 社ä¼ļ +次 æķ° +ä¹ĭ å®¶ +ç»´ 度 +æ´¾åĩº æīĢ +产çĶŁ äºĨ +带 æľī +å¾Ī 强 +æľīäºĽ 人 +å¹´ åIJİ +äºĨ 许å¤ļ +å¯Ĩ 度 +åѦ æľŁ +çıł æµ· +æľĢå¤ļ çļĦ +è¾¹ ç¼ĺ +容 éĩı +第äºĮ 个 +ä¸Ģ缴 æĺ¯ +ä¸į ç¦ģ +æŃ ² +ä»ĭç»į äºĨ +ä¼ĺ éĽħ +æ¯Ķ è¼ĥ +èģĮ ä½į +温 æŁĶ +æľī éĴ± +æľĢ é«ĺçļĦ +åįļè§Ī ä¼ļ +ä¸į æĪIJ +éĶĻ äºĨ +è¯ģ çĽij +è¯ģçĽij ä¼ļ +æĪIJ 人 +åĿĩ åĮĢ +æľī åĪ© +è¶Ĭ åįĹ +æīĵ äºĨ +好 åIJĥ +ç³» çµ± +è·Ł éļı +çļĦ åľ°ä½į +æŃ£ å¦Ĥ +ç¨į å¾® +åį° åıij +åĪĽ ç«ĭ +é£İ åħī +å°Ĩ æĪIJ为 +ä¸į é«ĺ +é¢ij ç¹ģ +设 æľī +ä¼ ŀ +æĭĨ éϤ +å½± åĥı +æ¸Ĺ éĢı +å¹´ å¼Ģå§ĭ +ç½ij æĺĵ +è¦ģ åģļ +ç͵åĬ¨ 车 +羣 å¿ĥ +æµ· åĨĽ +ä¼ł æĿ¥ +å·® åĪ« +è°¨ æħİ +çĥŁ åı° +åįĥ å¹´ +è¯ģ å®ŀ +çIJ ª +çļĦ åħ·ä½ĵ +åΰ å¤Ħ +ä¸į å®ľ +èľ Ģ +èĥ½åĬĽ åĴĮ +çīº çī² +çļĦ éĴ± +大 éĺŁ +é¦ĸ è¦ģ +ä¸į æĦ¿ +çİ« çij° +人æ°ij ç½ij +è¿ĺæĺ¯ è¦ģ +åĽĽ å¹´ +æį٠伤 +çļĦ åģļæ³ķ +éĿ Ī +è¡Ķ æİ¥ +åIJĪ æĪIJ +没 人 +éŨ æ§Ľ +ä¿¡ è´· +çļĦ 缸åħ³ +举 é£İ +社 ä¿Ŀ +ä¸ĭ 游 +åĿĹ éĴ± +è¿ĩ åIJİ +çļĦ åºĶç͍ +é¥ ¶ +é¢ģ åıij +ä¸Ģ å¤Ħ +åįİ å¤ı +为 ä¼ģä¸ļ +åıª ä¼ļ +ä¾µ 害 +çļĦ åĬŁèĥ½ +åѸ ç¿Ĵ +ä¸Ńåįİ æ°ijæĹı +åıijå¸ĥ äºĨ +è¿İ æİ¥ +æĪij èĩªå·± +è¿ĺ éľĢè¦ģ +太éĺ³ èĥ½ +åİ» ä¸ĸ +æĺ¯ ä½ł +åIJĪ åĬĽ +ç»ĺ çĶ» +åı° åĮĹ +çĿ£ ä¿ĥ +åĮĹ éĥ¨ +æľī å¤ļå°ij +å¾Ī éĩįè¦ģ +åĪĴ åĪĨ +åı· 线 +æĶ¾ 大 +ä¼ļ 被 +èİ· å¥ĸ +ä¹ĭ åĨħ +失 åİ»äºĨ +çݩ家 们 +éĩĩ éĽĨ +å£ ¹ +å®¶ ä¼Ļ +çϽ 天 +åĽłä¸º ä»ĸ +社ä¼ļ æ²»çIJĨ +å¼Ģ åĪĽ +ç͵ ç¼Ĩ +æĸ° ä¸Ģ代 +å¹¶ è´Ń +å°± å·²ç»ı +çļĦ 社ä¼ļ +éϤ éĿŀ +åı¯ä»¥ ç͍ +å© ī +æ¯Ķè¾ĥ 好 +å®ŀ ä¸ļ +åĪĽ åĬŀ +æıIJ èµ· +é» ĥ +ä½ı åľ¨ +å¸Ĥ æĶ¿ +éĿ¢ä¸´ çļĦ +èĥ½ åľ¨ +çŁŃ çŁŃ +羣 人 +æĺİ æĺİ +èµĦ åĬ© +çļĦ ä¸įåIJĮ +å°ı æľĭåıĭ +é¢ĺ æĿIJ +ç¾İ åij³ +æĺŁ åº§ +ä¸į ä¸Ģæł·çļĦ +çľĭ ä¸Ĭåİ» +ä¸Ģ æł¹ +广 å·ŀå¸Ĥ +åıijçĶŁ çļĦ +é«ĺ ç§ijæĬĢ +ä¸Ģ è¾ĪåŃIJ +交 åıī +ä½ĵç³» 建设 +åĽłä¸º æĪij +çıį æĥľ +ä¸Ĭ åѦ +æĪĺ æľ¯ +æŃ¤ ç±» +交 å¾Ģ +æĮī æij© +人们 çļĦ +åħ¶ 實 +åİŁ æĿIJæĸĻ +渴 æľĽ +缸 å¤Ħ +å¾® å¾® +æ® · +ä¹ĺ åĿIJ +å¼Ģå±ķ äºĨ +é«ĺ åĵģè´¨ +æĹłäºº æľº +ä¸įæĺ¯ å¾Ī +çļĦ æĬķèµĦ +èĬĤ çľģ +èĩ ī +ç²¾ éĢī +çļĦ æłĩåĩĨ +åįĹ éĥ¨ +认è¯Ĩ åΰ +å¹³ éĿĻ +èĹ ¥ +æī« é»ij +æī«é»ij éϤ +æī«é»ijéϤ æģ¶ +éĢĻ ç¨® +建çŃij éĿ¢ç§¯ +ç¡® ç«ĭ +管çIJĨ åĬŀæ³ķ +æĦı å¿Ĺ +ä¸ ¨ +让 åŃ©åŃIJ +æķij çģ¾ +å½ĵ ä»Ĭ +çģ« çģ¾ +åIJĦ éĥ¨éŨ +ä¾µ çĬ¯ +æ¯ı åij¨ +æı ½ +ä¸Ģ次 æĢ§ +åħ¶ä»ĸ 人 +éĶĻ è¿ĩ +ä¸İ åħ¶ +åĭĩ æ°Ķ +çĩĥ æ°Ķ +é¦ĸ å±Ĭ +æľį 饰 +ç² ¥ +å®Į æ¯ķ +å°± æĬĬ +åĬŀäºĭ å¤Ħ +ä¸Ģä¼ļ åĦ¿ +离 ä¸įå¼Ģ +å¦Ĥæŀľ æĤ¨ +ä»ĵ åºĵ +导 å¸Ī +åIJĪéĢĤ çļĦ +毫 ç±³ +å®īåħ¨ æĢ§ +ä¾Ŀ çħ§ +产ä¸ļ åĮĸ +ä½ł çľĭ +羣çļĦ å¾Ī +åѤ çĭ¬ +éĺ² å¾¡ +å¾Ī ç®Ģåįķ +é£İ æ°´ +ä½Ĩ ä¹Ł +æİ¨ åĩºäºĨ +æ°ijèIJ¥ ä¼ģä¸ļ +çłģ 头 +å¤įæĿĤ çļĦ +ç»ĦæĪIJ éĥ¨åĪĨ +åħħ满 äºĨ +è¿ij åĩłå¹´ +çľģ æĶ¿åºľ +æľī å¿ħè¦ģ +éĻ ³ +ä¹ĭ ç±» +ä¹ĭç±» çļĦ +æĢ§ ä»· +æĢ§ä»· æ¯Ķ +åķĨ åºĹ +å¸Ĥ å̼ +人æīį åŁ¹åħ» +æ·± åıĹ +管çIJĨ å±Ģ +æģIJ æĥ§ +ä»ħ æľī +æĬµ è¾¾ +æµ· åħ³ +èµĭ äºĪ +äºĭ åĦ¿ +ä»· éĴ± +æīĭ ä¸Ĭ +èĩª å¾ĭ +åħ³ çα +享 æľī +éģĹ æĨ¾ +å¾Īå¿« å°± +æĽ´ å¿« +æłĩ è¯Ĩ +åºĨ ç¥Ŀ +ä¹Ł 好 +ä¸į æĺĵ +æĪij å¾Ī +æĶ¹éĿ© åıijå±ķ +å¤ĸ åľ° +æĬµ æĬ¼ +è¯Ĺ 人 +åİķ æīĢ +æĸ° åªĴä½ĵ +èĸ Ľ +è°Ī è¯Ŀ +ä¸Ģå®ļ ç¨ĭ度 +èµ° åľ¨ +æľĢ 强 +åĬŁ çİĩ +åħ± è¯Ĩ +大 æ¡¥ +ä¸ĭ æĸ¹ +å¤ĸ èµĦ +ç¢ ± +å·¡ è§Ĩ +æ¹ĸåĮĹ çľģ +个 çϾåĪĨ +个çϾåĪĨ çĤ¹ +çļĦ 责任 +çļĦ åĵģçīĮ +åĬ© æİ¨ +åĪĽéĢł äºĨ +ä»» èģĮ +å¿« æį· +æĿij åºĦ +åİ» çľĭ +æīį èĥ½å¤Ł +å± ¤ +æĪij å®¶ +æĺ¯ä¸Ģ 款 +ç¾ ħ +åĨ° éĽª +æŀģ 大 +çģ¯ åħī +éĨ ĭ +ä¸İ åħ¶ä»ĸ +æıIJåĩº çļĦ +éĿł è¿ij +è°ĥ åĬ¨ +å°½ åı¯èĥ½ +åıij åĬĽ +ç»Ļ 她 +éĢĤ éĩı +è·¨ åĽ½ +åħĪ è¡Į +æĸ° æĿIJæĸĻ +ä½ľ äºĨ +满 äºĨ +ä¸į 满 +çļĦçľ¼ çĿĽ +çľĭ å¾Ĺ +è¿Ļ ä¸Ģ次 +é½IJ åħ¨ +çļĦä¸Ģ éĥ¨åĪĨ +ä¸ Ļ +æ¸ħ æĸ° +說 æĺİ +身边 çļĦ +æīĢæľī 人 +å½° æĺ¾ +è± ¹ +åį ¿ +è¿IJ 转 +æĮĩ å¼ķ +å¸Ĥ åħ¬å®īå±Ģ +åıĤ å±ķ +ä¹ĭ æĹ¶ +éĩijèŀį æľįåĬ¡ +èµĦæľ¬ å¸Ĥåľº +èĥ½ 让 +å¿ĺ äºĨ +天 åłĤ +æ¯Ķå¦Ĥ 说 +éĬĢ è¡Į +èĽĭ ç³ķ +çĶ © +æł¸ å®ŀ +æĻ® 京 +ä¼ĺ ç¾İ +åı£ èħĶ +漫 çĶ» +çľ¼ éĩĮ +äºĨ ä¸ĭæĿ¥ +æĪij们 ä¹Ł +ä¾ į +为 ä¸Ńå¿ĥ +å¥ĩ 迹 +éĿĴ çĿIJ +æĪªèĩ³ 缮åīį +åĩº ä¾Ĩ +æĢ» åħ¬åı¸ +å¼¥ è¡¥ +ç®Ĺ æ³ķ +å·¥ä½ľ 室 +æīĢ以 æĪij +æ°´ åĪĨ +æīĢ å±ŀ +ä¸į 说 +ä½Ĩæĺ¯ åľ¨ +è¦ģ åİ» +åĪĽä¸ļ èĢħ +ä¸į æ¸ħæ¥ļ +åĽĽ åij¨ +æĺ¯ ä»İ +çļĦ æł¹æľ¬ +çģ ¶ +æ¯Ľ æ³½ +æ¯Ľæ³½ 举 +æµ· åı£ +åĽĽ åįģ +ä¹Ł 被 +èģ · +ä¸Ģ æīĭ +绩 æķĪ +çļĦ çĶ·äºº +书 ç±į +ä¸Ģ èĦ¸ +大 äºİ +鼶 éĥ¨ä»¶ +åħ³ æĢĢ +å¹³ ç±³ +æļ´ éľ² +å¾Ĺ å¤ļ +ä¸ī 级 +æľ¬ åij¨ +两 èĢħ +对 ä¸ŃåĽ½ +åıª è§ģ +欧 ç¾İ +å¦Ĥæŀľ æľī +å·²ç»ı æĺ¯ +çľĭ å®Į +çģ« éĶħ +èµ IJ +ä¸Ģ éģį +æĦŁ åĨĴ +ç»ĵ å±Ģ +ä»ĵ åĤ¨ +å®ŀ åľ° +å̻ ç»ıçIJĨ +ä¹Łä¸į çŁ¥éģĵ +碰 åΰ +åIJĪ è®¡ +客æĪ· çļĦ +ç½Ĺ 马 +æĦī å¿« +é£ Ľ +çĥŃ çĥĪ +伦 æķ¦ +åĮ» ä¿Ŀ +éĺ¿éĩĮ å·´å·´ +åĨį 说 +为 åŁºç¡Ģ +çĶŁäº§ ç»ıèIJ¥ +è¿ĻäºĽ 人 +åĪĹ è½¦ +æ²³åĮĹ çľģ +è¿Ļ 段 +æ´»åĬ¨ ä¸Ń +å© · +çĶŁ çIJĨ +ä¸ŃåĽ½ 人æ°ij +éĦ Ĥ +åIJ¬ åıĸ +å¤į ä¹ł +æľī çĽĬ +æĶ¶ æĭ¾ +å¾Ī åı¯èĥ½ +ç½ij绾 游æĪı +们 çļĦ +èµĭ èĥ½ +éļ¾ å¾Ĺ +åĪĨ æīĭ +羣 è¯ļ +åħ¬åı¸ åľ¨ +åĿĩ è¡¡ +åı£ åij³ +çīµ å¤´ +ä¸Ģèά çļĦ +轿 车 +çŃī äºİ +æ²ī é»ĺ +æĪij éĥ½ +å°ı ç¨ĭåºı +ä¸Ģ åī¯ +æī¿ è½½ +åľ° è´¨ +çķĮ éĿ¢ +ç͵ æľº +çĦ¦ èĻij +éĶĢåĶ® é¢Ŀ +æĸ° 车 +ä¸Ĭ 游 +主 æ¼Ķ +éļIJ ç§ģ +åıijå±ķ æĪĺçķ¥ +çļĦ åĬªåĬĽ +å¼Ģ åħ³ +è§£åĨ³ éĹ®é¢ĺ +çĿ£ 导 +对 æĬĹ +å¾Īå¤ļ 人éĥ½ +æĹł æķĪ +产åĵģ è´¨éĩı +å®ī å¿ĥ +åįİ äºº +ä¸į 符åIJĪ +èĩª å®¶ +éĺµ å®¹ +çļĦ åIJĦç§į +çļĦ çIJĨ念 +çļĦ æĸĩåĮĸ +为 èĩªå·± +å±± æ°´ +游 æ³³ +éľĩ èį¡ +çĶŁæ´» æĸ¹å¼ı +è¿ľ 离 +çŁ³ åĮĸ +æŃ¤ äºĭ +æĺ¯ 羣çļĦ +çļĦ æ¯Ķä¾ĭ +ç͍ ç͵ +奥è¿IJ ä¼ļ +ä¿Ŀ å®ī +èĽĭçϽ è´¨ +çļĦ å¿ĥçIJĨ +å· « +åı· çłģ +æ°Ķ ä½ĵ +åıij æĶ¹ +åıijæĶ¹ å§Ķ +åĮ» å¸Ī +æ¶Ĥ æĸĻ +æĺ Ĭ +å¸Ĥ 级 +ä¸ĸçķĮ çļĦ +åĪĨåĪ« æĺ¯ +çł´ 产 +ä¸Ģ æĿ¯ +æĭī å¼Ģ +å¹³ åĩ¡ +çļĦ åıijçĶŁ +åĬ¨ æīĭ +ä¸Ģ缴 以æĿ¥ +æīĭ å·¥ +éĩĮéĿ¢ çļĦ +æĹł åħ³ +ä»ĭ åħ¥ +èµ° ä¸Ĭ +å°±æĺ¯ è¦ģ +å¹´ éĹ´ +åĩº çı¾ +å½± éŁ¿ +å¹ħ 度 +éĽ ģ +éģĵ åħ· +缮çļĦ åľ° +åIJİ èĢħ +ä¸Ĭ æ¼Ķ +äºĨ åĩł +æ®ĭçĸ¾ 人 +å¿Ļ ç¢Į +æĺ¯åIJ¦ æľī +å¹¶ 对 +ä¼ļ 导èĩ´ +æ°´ åºĵ +ç»Ĩ èĩ´ +åIJİ æĤĶ +å¿ĥ æĢĿ +åģļ äºĭ +åİĤ æĪ¿ +çĿ ¿ +è¿IJèIJ¥ åķĨ +头 éĥ¨ +çļĦ è§Ĵèī² +æĺ¯ ä»ĸ +æĹ¢ æľī +å°ıæĹ¶ åĢĻ +强 åĬ² +主 æĴŃ +åħ¨åĽ½ åIJĦåľ° +æį ı +æįŁ åĿı +åķĨ ä¼ļ +ä¿Ŀ ç½Ĺ +çľģ å¸Ĥ +éļ§ éģĵ +æľī ä¸įå°ij +è¦ģ åľ¨ +建设 é¡¹çĽ® +ç³ĸ å°¿ +ç³ĸå°¿ çĹħ +æĿ¡ä»¶ ä¸ĭ +ä¼ĺè´¨ çļĦ +é¦ĸ åıij +å½ĵæĹ¶ çļĦ +丰 çͰ +大 çĽĺ +缸 ç»§ +å®ģ å¤ı +åħ¥ ä½ı +æĪij è¿ĺ +åħĭ æĸ¯ +å®ļ ä»· +å¹³æĸ¹ åħ¬éĩĮ +çļĦ çŁ¥è¯Ĩ +æĪij们 ä¼ļ +åħĥ å®Ŀ +ä½ĵ éĩį +è³ £ +对 æĪij们 +çŁ³ å®¶ +çŁ³å®¶ åºĦ +ç²¾ åįİ +å½¢ çĬ¶ +åıĹ åΰäºĨ +ä¿® 订 +ç¾İ åľĭ +é«ĺ æ¸ħ +çľ¼ éķľ +è§īå¾Ĺ èĩªå·± +带 ç»Ļ +åĶ® ä»· +éŨ 票 +åŃķ å¦ĩ +ç͵è§Ĩ åı° +åıij ä½ľ +çļĦ åij³éģĵ +éķ¿ è¿ľ +åħ¬åħ± æľįåĬ¡ +æŃ£å¸¸ çļĦ +æľī è¿ĩ +é£İ æĥħ +æ¯Ķ éĩį +åIJ » +管çIJĨ å·¥ä½ľ +综åIJĪ æĢ§ +å·² 被 +说 èµ· +æİĴ æ°´ +ä¸įæĸŃ åľ° +æĥħ æĢĢ +è¾ĵ éĢģ +è¿ĩ æķı +çļĦ åı¯èĥ½æĢ§ +æľį ç͍ +æľī 许å¤ļ +å§Ķ åī¯ä¹¦è®° +åĮĸå¦Ĩ åĵģ +æļĤ åģľ +æĬķèµĦ 人 +çıŃ çº§ +说 çĿĢ +åįĹ åĮĹ +åĪĨ è¡Į +çıł å®Ŀ +å¯ ¶ +å¢ŀ å¤ļ +被 åĬ¨ +ç®Ĭ çļĦ +éĹľ ä¿Ĥ +çļĦ èĦ¸ +æĥ Ł +ä¸į ä¸Ģå®ļ +ç¶ Ń +çģ« çĪĨ +ç§Ł éĩij +çŀ § +éĩį 建 +è· ª +ä¸Ģ 種 +çļĦ åIJĪä½ľ +å®ī æħ° +ä»į æĺ¯ +ä¸ĵä¸ļ åĮĸ +è°ĥ è§£ +ä¸į 妨 +éĢĻ æĺ¯ +å¿ħ éłĪ +ä¼Ĭ æľĹ +å¾Ĺ äºĨ +æľįåĬ¡ å¹³åı° +å§ ¬ +åħĪ éĶĭ +çİĭ åŃIJ +çļĦä¸Ģ åĪĩ +æĢ» çIJĨ +åĵ ¼ +çª ij +çļĦå¿ĥ æĥħ +çļĦ éĩį大 +çij Ł +ä¸Ģ ç¬ij +åıijå±ķ ä¸Ń +åģ¥åº· åıijå±ķ +åĵģçīĮ çļĦ +ç¦ ® +ä½Ļ 人 +ä»Ĭå¹´ 以æĿ¥ +æķ° çłģ +çѾ è¯ģ +åİ» æī¾ +åŁºéĩij ä¼ļ +æĬ± æĢ¨ +æŃ£ å½ĵ +çıŃåŃIJ æĪIJåijĺ +ä¸į åIJĪæł¼ +åζ å®ļäºĨ +ç¼ĵ æħ¢ +åζ 约 +æłı 缮 +å¸Ĥåľº ç»ıæµİ +ç»ĦæĪIJ çļĦ +严 å³» +æĹ¥ 讯 +ä¸ĢçĤ¹ çĤ¹ +æĺ¯ æĢİä¹Ī +çļĦ çħ§çīĩ +éĺ» æŃ¢ +模 ç³Ĭ +ç¼ ¸ +éģķ åıį +æIJ¬ è¿ģ +éĩij éĴ± +å½ ¬ +ä¸į å®ī +æĪĺçķ¥ åIJĪä½ľ +å¡« åĨĻ +讲 ç©¶ +åħħåĪĨ åĪ©ç͍ +èĥ½ å¤ł +èij¡èIJĦ éħĴ +éĩĩç͍ äºĨ +åľ¨ ä»Ĭå¹´ +ä¸Ńå°ı åѦ +åľ¨ æĦı +çļĦ åİĭåĬĽ +ä¸į 幸 +åζ èᝠ+åı¯ä»¥ 让 +被 è¯Ħ为 +ç»Ĩ èıĮ +æĪı åī§ +åįĬ 导 +åįĬ导 ä½ĵ +è§Ĩ è§Ĵ +åĸľ æŃ¡ +å¾ģ æĶ¶ +è°ĭ åĪĴ +æŀģ 大çļĦ +çĤ¹ èµŀ +è®°èĢħ ä»İ +两 åIJį +èĩª åĬ© +èµ· æŃ¥ +æĬ¤ 士 +å®Ŀ 马 +太 åŃIJ +å°ıå°ı çļĦ +温 æ³ī +åĩºç§Ł 车 +ç§Ł æĪ¿ +两 å®¶ +éľĩ æĴ¼ +ç§ī æī¿ +ä¸Ģä»¶ äºĭ +çĥΠ士 +å®ĺ åħµ +转 身 +ä¹IJ åĽŃ +çĻĮ çĹĩ +模 èĮĥ +æĦ £ +è¿ĩåİ» çļĦ +代 ä»· +çļĦ æ¦Ĥ念 +åĩł çϾ +è´µ éĺ³ +æĭħ å¿§ +éĢĤ å®ľ +çݯå¢ĥ ä¿ĿæĬ¤ +çĥ « +ä½ł æĥ³ +æŃ¤ åIJİ +ä½ł ä¹Ł +çį İ +éϤ æŃ¤ +éϤæŃ¤ ä¹ĭå¤ĸ +è°ĥ 度 +ç§ij 缮 +æīĢ说 çļĦ +åĬ ĩ +忽 è§Ĩ +ä¸ī 次 +ä¸Ģ æĹ¥ +åŀĤ 缴 +ç«ŀ æĬĢ +éĿ¢ åĮħ +大 æĪĺ +æIJº 带 +å¦Ĥæŀľ 没æľī +åħ» æĪIJ +åĩº è¡Ģ +çα好 èĢħ +æīĵ éĢļ +èµ· è¯ī +åijĪ çݰåĩº +æŃĮ æīĭ +åľ¨ å¤ĸ +é¢Ĩ导 å¹²éĥ¨ +åĨ ¥ +èĪĨ 论 +æıIJ åıĸ +éĺ¿ å°Ķ +æľĽ çĿĢ +ä¸ī äºļ +è² ¡ +åĪ ·æĸ° +æĻļ æĬ¥ +è¿ĺæľī ä¸Ģ个 +åĨ° ç®± +ç½ij çĤ¹ +åĩº åħ· +强çĥĪ çļĦ +æĪij çĽ¸ä¿¡ +å¸ĮæľĽ èĥ½ +çīĻ é½¿ +äºĭ å®ľ +ä¸ļåĨħ 人士 +代 æĽ¿ +åıĺ å½¢ +éĽ ² +è°ĥ æİ§ +åĪĽæĸ° åĪĽä¸ļ +æĭĨ è¿ģ +æł¸ æŁ¥ +éĢ Ĺ +åħ¥ åѦ +æĦı åIJij +æı Ľ +ä¸ĭ 次 +ä¼ł è¾ĵ +ä»ĸ们 åľ¨ +èĢĮä¸Ķ è¿ĺ +æĹ¥ åľ¨ +æķĻ è®Ń +æ´» çĿĢ +çļĦ æľīæķĪ +å¤įå·¥ å¤į +å¤įå·¥å¤į 产 +æĺ¯ä¸Ģ ä»¶ +çŃī çĿĢ +å¾ © +åĭĩ æķ¢ +éģŃ åıĹ +å¥Ķ é©° +讲 座 +说 å®Į +ç»Ļ åĩº +è° ¦ +è¯Ĭ çĸĹ +çĽ² 缮 +客 è¿IJ +å°± è¿ŀ +å¼Ģ åħĥ +å¼Ģåħĥ æ£ĭçīĮ +ä¸įæĸŃ æıIJåįĩ +ç͍æĪ· çļĦ +æĴ ķ +ä¾Ľ æ°´ +ç¶ĵ æ¿Ł +ä¸Ń åĮ»èᝠ+èģĶ æĥ³ +åħ¬äº¤ 车 +èĪª çıŃ +æĬĢ è¡ĵ +å¼ķèµ· çļĦ +å° ¹ +èµĦ æ·± +åĽ½èµĦ å§Ķ +èĺ Ń +é¼» åŃIJ +éĹ ½ +æİĴ éĺŁ +è§Ĥ åħī +éģĹ åĿĢ +举 京 +é¥Ń åºĹ +ä¸įæĸŃ çļĦ +å°±æĺ¯ ä¸Ģ个 +éķ¿ ä¹ħ +çļĦ è§ĤçĤ¹ +å¨ ¶ +æĪij çİ°åľ¨ +çķ ° +å¾Ĺ åĩº +å¿ħ å®ļ +ä¸į åıĹ +åıª éľĢè¦ģ +åĽ° æī° +ç§ijåѦ æĬĢæľ¯ +çīĽ èĤī +è¾ĥ é«ĺçļĦ +è·ij æŃ¥ +æ² ¾ +èı© èIJ¨ +æľĢ å¾Į +ä¿Ŀ å¯Ĩ +æ²» å®ī +éĤ ± +常 è¯Ĩ +èĦ¸ èī² +åĮĹ å¤§ +æ±ĩ èģļ +æijĨ èĦ± +é¾Ļ头 ä¼ģä¸ļ +女 åıĭ +çŃī å·¥ä½ľ +ä¸Ń ç¾İ +èģĮ åľº +èĦij è¢ĭ +åĨĻ çļĦ +饲 æĸĻ +åĬ³ åĬ¨åĬĽ +å± ¯ +æĮģ èĤ¡ +åĽ¾ åĥı +è¿ĩåİ» äºĨ +è² ¨ +è¾ ² +éĹ® æĪij +è·Ł ä½ł +çĶŁ æŃ» +审 ç¾İ +é¢Ĺ ç²Ĵ +ä¸Ń æĸ¹ +åĬł çĥŃ +æĹħè¡Į 社 +çϼ çĶŁ +ä¸į åłª +åĤ · +æ¥ ł +åĬŀ æ¡Ī +æŁ Ħ +æĹ¢ æĺ¯ +å¤Ħ åĪĨ +羣å®ŀ çļĦ +æĬ¥ 纸 +å¸Ī çζ +å®īå¾½ çľģ +åī¯ ä¸»å¸Ń +ä¹ĭ éģĵ +导 å¼¹ +åŃ¦æł¡ çļĦ +åŁİå¸Ĥ çļĦ +è°Ī åΰ +æ¢ Ĺ +å¹³ éĿ¢ +说 ä»Ģä¹Ī +é¢ij çİĩ +éķ¿ ä¸īè§Ĵ +çļĦ åĪ©çĽĬ +é» ¨ +è±Ĩ èħIJ +å®ŀéĻħ æĥħåĨµ +æŀĹ ä¸ļ +纪æ£Ģ çĽijå¯Ł +ä½ı éĻ¢ +çļĦ æķ´ä½ĵ +åīį è¡Į +æĮ ¨ +çħ¤ çŁ¿ +å̻ è£ģ +å°ı åIJĥ +æŀģ 端 +å©Ĩ å©Ĩ +çݰ è´§ +è¯Ĺ æŃĮ +éĴ¥ åĮĻ +缩 çŁŃ +ä½Ĩ è¿Ļ +æĸ° åĵģ +è¿Ļ 对 +çŁ¥åIJį 度 +å¿ĹæĦ¿ æľįåĬ¡ +大 å±Ģ +è¡¡ éĩı +ä½ĵçݰ äºĨ +æ¡ĥ èĬ± +åIJ¸å¼ķ åĬĽ +åł ¤ +æĵħ éķ¿ +åĴ Ĵ +缸 æľº +ä¸Ģ ç«Ļ +ä¸Ģç«Ļ å¼ı +æľĢ ç¾İ +æ°¸ ä¹ħ +çļĦ éĥ¨åĪĨ +åĪĨ å·¥ +å·¥ç¨ĭ 建设 +æIJŃ è½½ +æ°´ ä¸Ń +èĮ ¨ +çļĦ æĵįä½ľ +绣 æ²» +çķħ éĢļ +åħļçļĦ åįģ +è¼ ¸ +æ¸ ¬ +ç¾İ è§Ĥ +ä¸į åĪ© +åıį æĢĿ +éªĦ åĤ² +æłĩ çļĦ +æĿĢ äºº +éĺ¿ å§¨ +é£Ł æĿIJ +åIJĥ çļĦ +åIJİ åĨį +çŁ £ +两 ä¾§ +æ¸ħ æ°´ +è¿Ľ çIJĥ +å¼Ģå§ĭ äºĨ +åIJ¬ äºĨ +çĦĬ æİ¥ +çŁ ® +å¨ Ł +为 人 +éĢģ ç»Ļ +åĨĴ éĻ© +æķ · +ç»Ī æŃ¢ +æīį çŁ¥éģĵ +è¿IJ æ°Ķ +éĢļ é£İ +æĥĬ è®¶ +ç§ijåѦ éĻ¢ +æıIJ éĹ® +太 åİŁ +缸åIJĮ çļĦ +ä» ķ +èģ ĸ +æĥħ æ³ģ +é¢Ĩ导 人 +åĩºæĿ¥ äºĨ +沿 线 +éĻ ½ +æĦŁ è¦º +ä»į åľ¨ +æ© Ļ +约 为 +åĸĿ éħĴ +ç͍ èᝠ+ä¸ĭ ä¸Ģ +æ³ķ å®ĺ +顺 åºı +åģļ ä¸Ģ个 +åĭ ¢ +æŃ ª +ç͵ ç«ŀ +ä¼´ éļıçĿĢ +ä¹ĭ åĬĽ +ä¹ĭ 人 +äºij 计ç®Ĺ +åĪ«äºº çļĦ +ç§ijåѦ åıijå±ķ +第 åħ« +å¹² æī° +女 ç¥ŀ +è¿Ļæł· åģļ +å¤Ħ åľ¨ +æ°´ è´¨ +éķ¿ æĺ¥ +å¸Ĥåľº éľĢæ±Ĥ +ç»´ æĿĥ +è̳ æľµ +æĸĩåĮĸ çļĦ +奶 ç²ī +ä¼ł è¾¾ +æīĭæľº çīĪ +æĽ¾ åľ¨ +äºĮ æľŁ +åİŁåĽł æĺ¯ +æºIJ 头 +åıĪ èĥ½ +è£ ¸ +æĬĢæľ¯ åĪĽæĸ° +æĸĩåĮĸ æĹħ游 +åıij 票 +å¹´ 级 +ä½ł ä¸į +ä¹ĭ å¿ĥ +æķ° çϾ +åIJij å¾Ģ +èĢģ å®¶ +åľĭ éļĽ +çļĦ é«ĺ度 +æľĿ éĺ³ +æ¸ħ éϤ +èĩª æľī +书 ä¸Ń +游æĪı è£ħå¤ĩ +ä¸ĩ å¤ļ +驾驶 åijĺ +ä½ł çŁ¥éģĵ +åĽ½ åºĨ +é£Ł åłĤ +æİ¥ åı£ +æĢ» æķ° +åħ¶ä»ĸ çļĦ +çĶŁåij½ çļĦ +ä½ł åľ¨ +çļĦ 缮åħī +è¿Ļ æĸ¹éĿ¢ +éĥ½ 说 +çĸĹ æ³ķ +åĭĩ 士 +åľ¨ åħ¨çIJĥ +ä¿ĿéĻ© åħ¬åı¸ +çĿ£ æŁ¥ +åĸĦ èī¯ +表 å½° +è¹ ² +è·¯ 段 +æľĥåĵ¡ è¦ı +æľĥåĵ¡è¦ı ç¯Ħ +æĪ· åŀĭ +ä¿ĥ 使 +ä¿® 建 +é«ĺ æ°´å¹³ +åģļ åĩºäºĨ +主 åľº +è¡Į èµ° +空 çϽ +æľī人 说 +è¿Ļ个 ä¸ĸçķĮ +åIJį ä¹ī +å®Į ç¾İçļĦ +羡 æħķ +åıĬ åħ¶ä»ĸ +åı¯ ç͍ +æĭ IJ +è¾ĥ 大çļĦ +æĬĢæľ¯ åĴĮ +å°¼ äºļ +çϾ è´§ +æı ī +éĢī è´Ń +éĺŁ åıĭ +ä¼ł æĦŁ +ä¼łæĦŁ åύ +åıªè¦ģ ä½ł +为ä»Ģä¹Ī è¦ģ +ä¸ĵ注 äºİ +ä½Ļ é¢Ŀ +åħ¸åŀĭ çļĦ +缮åīį å·² +欲 æľĽ +èģĶ ç»ľ +æµģ ä¼ł +çļĦ å®¶åºŃ +åı· åı¬ +çıį è´µ +ä¼Ł 大çļĦ +éī´ äºİ +è·Ł ä»ĸ +产 çī© +ä¸į å·² +è¿Ŀæ³ķ è¡Į为 +头 ä¸Ĭ +åĪĨ è§£ +åı¯ä»¥ çľĭåĩº +æł¡ åĮº +åŃĹ ä½ĵ +ä¿® çĤ¼ +çĶļèĩ³ æĺ¯ +微信 åħ¬ä¼Ĺ +åıĸ 代 +èIJ¥ä¸ļ æĶ¶åħ¥ +æ½į åĿĬ +ä½ł èĥ½ +社ä¼ļ ä¿Ŀéļľ +æ¯ĶèµĽ ä¸Ń +污水 å¤ĦçIJĨ +夫 å¦ĩ +ä¸Ģ å¹ħ +沿 æµ· +åı£ æĦŁ +ä½Ĩ åį´ +å½ĵ æĹ¥ +çļĦ æľĢ大 +æ¯ı ä¸Ģä½į +没 äºĭ +çī¹ åĪ¥ +å¼Ģ åѦ +è·¯ éĿ¢ +å¿ĥçIJĨ åѦ +æĶ¾ ç½® +éĩįåºĨ å¸Ĥ +ä½ł èĩªå·± +æ¶Īè´¹èĢħ çļĦ +ä¸Ģ æ³¢ +èѦ æĥķ +å᧠室 +注 å°Ħ +é£İ 鼨 +沿 çĿĢ +åijĬ 訴 +表 çݰåĩº +åĽĽ æĺ¯ +åı¤ åħ¸ +æĽ´ éĩįè¦ģçļĦ +好 äºĭ +çľ¼ 泪 +æ¨ ĵ +审 åΤ +碰 æĴŀ +车 ç«Ļ +è¿Ľåħ¥ äºĨ +éĽĨ åIJĪ +æł¼ å¤ĸ +宾 é¦Ĩ +æĶ¯ä»ĺ å®Ŀ +她 æĺ¯ +æĺ¯ å¦Ĥä½ķ +人 次 +çļĦ æĪIJåĬŁ +æĹł åĬĽ +æµ· æĭĶ +æĺ¥ åŃ£ +éĥ½ ä¸įä¼ļ +çŃī å¤ļç§į +ä¸Ģ个 å°ı +åģľè½¦ åľº +让 æĽ´å¤ļ +è¿Ļ çĤ¹ +æĪIJ åĵģ +éĴ ī +éģĩ è§ģ +çıŃ ä¸»ä»» +æĦı æĦ¿ +çļĦ åIJĮåѦ +游 è§Ī +åİĭ 缩 +åľ¨ ä¼łå¥ĩ +å¼¹ æĢ§ +æĹ¥ åĨħ +ç¦ı建 çľģ +è§Ĵ èIJ½ +åĪĨ å¼Ģ +ä¼ļ 让 +å¤ĸ åĽ´ +çĨŁæĤī çļĦ +çĨ Ķ +ä¸ĩ è¾Ĩ +å¤ľ éĹ´ +车 身 +ä¸Ń æľŁ +å®ĮåĸĦ çļĦ +åĵģ ç±» +åıĭ è°Ĭ +éĢīæĭ Ķ +éªij 士 +å½ ¦ +çļĦ çľĭæ³ķ +åĽ½ çİĭ +è¾£ æ¤Ĵ +åıijå¸ĥ æĹ¶éĹ´ +åı¤ åŁİ +éļı æľº +ç« ĸ +å¼Ģ è¾Ł +ä¼Ĺ çĶŁ +没 åĬŀæ³ķ +åįĥ éĩĮ +æĿ¥æºIJ äºİ +çļĦ æĿĥåĪ© +æ¯Ķ åĪĨ +满æĦı çļĦ +ä¿® è¡Į +åĿ ł +大 æµ· +èİ ¹ +åĩº 身 +è« ĩ +åħ³ èĬĤ +åIJį 人 +éľĢè¦ģ 注æĦı +æĹ© æĻ¨ +å¤ĸ åįĸ +åıĪ è¦ģ +æ¶ī æ¡Ī +çĶ³è¯· 人 +éĻĦè¿ij çļĦ +åĬłå¿« æİ¨è¿Ľ +æĸ° å¹´ +大 è¡Ĺ +ä¸Ģ é»ŀ +èĭı å®ģ +æĤĦ æĤĦ +èĦ¾ æ°Ķ +å¸Į èħĬ +éļı åį³ +æķ¢ äºİ +å®ŀè·µ ä¸Ń +æĺ¯ 没æľī +æľīè¶£ çļĦ +æĿ¥èĩª äºİ +è£ģ åΤ +女 åŃ©åŃIJ +èĩ³ åħ³ +èĩ³åħ³ éĩįè¦ģ +æĻº åĬĽ +èµ° åĩºåİ» +çŁŃ æĿ¿ +大 åĽ½ +çļĦ 认è¯Ĩ +å¹´ å¤ľ +åĨį åΰ +åIJĮ æł·çļĦ +å¯Ĩ å°ģ +å¤ĸ交 éĥ¨ +çĶŁ æķĪ +æĤ¨ åı¯ä»¥ +ä½ł åĢij +è¿ĩ å¹´ +å¼ ĵ +è¡Į æĿİ +æ¯Ķ èµ· +身 é«ĺ +è¿Ļ个 人 +ä¸Ń å¤ĸ +éģĵ æŃī +çĽ¯ çĿĢ +亲 åŃIJ +éĹ ¸ +çϽ äºij +èĦĸ åŃIJ +ä¸ĢåĪĩ éĥ½ +æ· ij +è° ľ +åģ¶ çĦ¶ +éĿł è°± +é«ĺ 管 +ä¸ĭ åıij +æĶ¾ åΰ +ç±» åĪ« +ä¸ĭ åĪĹ +æ·· ä¹± +åIJĪæ³ķ æĿĥçĽĬ +çݯ çIJĥ +æľīæķĪ åľ° +åķĨ æĪ· +æ¹ĸ 人 +æµ· 岸 +æĬķ 产 +两 个æľĪ +éĥ½ éĿŀ常 +å¢ŀ强 äºĨ +æĿ¥ åΰäºĨ +åī© ä½Ļ +æĤ¨çļĦ åŃ©åŃIJ +æµģ æ°´ +æŃ£ ä¹ī +天 çĮ« +åģļ è¿ĩ +ä½ķ æĹ¶ +æĪij åİ» +çľģ 份 +å¥ĸ éĩij +该 å¦Ĥä½ķ +ä¸ĭ çıŃ +åģ¶ åĥı +æijĨ æĶ¾ +æĸ° 模å¼ı +æĬķ è³ĩ +è·¯ åı£ +åĨľæ°ij å·¥ +大 åѸ +ä»¶ äºĭ +æł¹æľ¬ ä¸į +æµĵ 度 +æµĵ åİļ +è½® èĥİ +æĪ¿ ä¼ģ +éĿŀ常 好 +ä»İ ä¸Ń +人 æł¼ +ç¿ ģ +æĹ¶éĹ´ åĴĮ +è¿Ļ ä¸įæĺ¯ +åΏ åķĨ +æĥĬ 人 +åύ å®ĺ +åĩĨ åĪĻ +æĥħ æĻ¯ +æĽ´ é«ĺçļĦ +åѦ å®¶ +泡 沫 +åľ°æĸ¹ æĶ¿åºľ +å°± çŁ¥éģĵ +åij¼ åIJģ +ç»ı è´¸ +èĬ± éĴ± +æľī ä¸Ģ次 +æĦŁ æħ¨ +ä¸Ģ åįĥ +å¤ľ æĻļ +詹 å§Ĩ +詹å§Ĩ æĸ¯ +è¦ģ éĹ» +ç» Ĵ +æºIJ äºİ +çļĦ è´¨éĩı +注æĦı äºĭ项 +æħ¢ æĢ§ +稳å®ļ çļĦ +建设 åĴĮ +æĻ¯ 象 +éĩı åĮĸ +çļĦ 話 +è¯Ħ 级 +æº ľ +红 åĮħ +éĢļ éģİ +社ä¼ļ 责任 +æĸ° 产åĵģ +åĨ· éĿĻ +çľĭ ä¸įåΰ +èģĶ éĤ¦ +éŃ Ħ +çļĦ åīįæıIJ +çļĦåīįæıIJ ä¸ĭ +è¾ĥ 好 +çļĦ æĦŁæĥħ +客æĪ· æıIJä¾Ľ +çĭ¬ èĩª +å¢ŀ æĶ¶ +æĸĩ çĮ® +æĭ¼ åij½ +管çIJĨ åĴĮ +æµģåĬ¨ æĢ§ +åħ¨ å®¶ +ä¸Ĭ æĸ¹ +æİ¨åĩº çļĦ +ä¸ī åĽ½ +ä¸Ģ个 æĺ¯ +æĸ° ä¸Ģè½® +æĸĩåĮĸ éģĹ产 +æ® º +大 æ¹¾åĮº +éĥ½ éľĢè¦ģ +çļĦ å®ŀéĻħ +ç· Ĭ +大 å¥ĸ +åħī èĬĴ +便 äºİ +çļĦ 表æĥħ +æ¼Ķ ç»İ +红 åĨĽ +å½ĵ æĪij +æ²» æĦĪ +é¢Ŀ 度 +éĿ ľ +ä»»ä½ķ 人 +è¡Ĺ 头 +çī¹ æĸ¯ +çĸ¯ æĭī +åĮ»çĸĹ æľºæŀĦ +ç»Ļ åŃ©åŃIJ +è§Ħ 磩 +è£ ľ +çļĦ 身影 +ä¸ĵ æłı +æĿ¥ 临 +ç«¥ å¹´ +å¤į èĭı +è¨ Ĥ +åŀĭ åı· +åĽ¾ æ¡Ī +ç®Ģ åİĨ +æĭ ± +èį· åħ° +ä»» æĦı +æī¿ æİ¥ +è¿Ļ æīį +客 车 +æľĿ çĿĢ +éłħ 缮 +åı° é£İ +çļĦ æĪ¿åŃIJ +éª ı +æĿ± 西 +éģĹ ä¼ł +è¶Ĭ å¤ļ +äºĨ ä»ĸçļĦ +ä¸Ĭ åij¨ +管çIJĨ åĪ¶åº¦ +失 ä¸ļ +çĶ· åıĭ +æİ¥ ç§į +å¨ģ åIJį +çĴ° å¢ĥ +åıijçĶŁ åľ¨ +个 åĽ½å®¶ +åĪĽæĸ° åıijå±ķ +æĶ¹åıĺ äºĨ +åģ¥åº· çļĦ +å̼å¾Ĺ ä¸Ģ +å̼å¾Ĺä¸Ģ æıIJ +åĽ¢ ä¼Ļ +åģĩ 设 +åı° ä¸Ĭ +è§ĦèĮĥ åĮĸ +éĻª åIJĮ +座 æ¤ħ +åı¯ æĢľ +åħĭæĢĿ 主ä¹ī +æ³ķå¾ĭ 责任 +ä¸Ģ é¡¿ +æĬ¬ 头 +为 éĩįçĤ¹ +è¿ľ æ´ĭ +éĢı è¿ĩ +åħ¨çIJĥ åĮĸ +è¶£ åij³ +票 æĪ¿ +æ¯ı 人 +åIJĦç§į åIJĦæł· +äºĨ åĩºæĿ¥ +ç»Ŀ对 æĺ¯ +ä¸ĭ å±ŀ +ä¸Ģ åıĮ +è¿Ļ åĿĹ +æĬĹ çĸ« +è¦ģ çĤ¹ +å½¢æĪIJ çļĦ +æĪij çľĭ +ä¸ĩ éĩĮ +èĢĥ çłĶ +为 åħ¶ +æ°ij 宿 +å¤ļ ä½į +大 èĩ´ +ä»ĺ è´¹ +åħ¥ æīĭ +å±ħ å®¶ +æīĢåľ¨ åľ° +人 身 +è¿ĩ å¾Ĺ +è¯ķ è¯ķ +访 è°Ī +åĬł éĩį +å°± ä¸įä¼ļ +çĶŁäº§ ä¼ģä¸ļ +åĽŀ åĽ½ +åºķ 线 +èµ¶ åΰ +æĶ¯ éĺŁ +æĪij们 éĥ½ +éĤ® æĶ¿ +缴 èĩ³ +éĴ¢ çIJ´ +åħ ľ +çłĶ讨 ä¼ļ +æľĪ 亮 +åĿļæĮģ 以 +åħ¬å®ī éĥ¨ +éĴ¢ 管 +å°ı çϽ +ç½® ä¸ļ +èģ ĭ +书 åĨĻ +æĿ ı +éħį æĸ¹ +èĢĮ åıĪ +çijŀ 士 +çķĮ çļĦ +èĢģ 大 +æĪIJçĨŁ çļĦ +å¹² ä»Ģä¹Ī +ä¸ĵ项 æĸĹäºī +çŃī å¤ļ个 +èĦ± 离 +ä¸ī 个æľĪ +çłĶç©¶ åijĺ +æĹĭ 转 +æŀģ èĩ´ +åħį è´£ +åħįè´£ 声æĺİ +å¾Īå¤ļ çݩ家 +车 ä¸Ĭ +交 äºĴ +å·² æĺ¯ +ä¸Ģ å°ı +çļĦ éĩįçĤ¹ +èĬ± äºĨ +ä¸į æĺİ +æľīåħ³ è§Ħå®ļ +çĬ¹ å¦Ĥ +çľ ¸ +å¯ ¡ +çļĦ è¡£æľį +åĮħ 裹 +身 åŃIJ +å¸ĪèĮĥ 大åѦ +äºĭ åħĪ +线 æĿ¡ +æ³ķ åζ +åħ» æĬ¤ +稳å®ļ æĢ§ +éĤ µ +åŀĦ æĸŃ +é¡ į +èĢĥ åı¤ +æĿł æĿĨ +èĭı èģĶ +æ°´ ç͵ +åħ·ä½ĵ çļĦ +æ¿Ģ æ´» +æĪij æł¡ +åĪļ å¼Ģå§ĭ +åĩ¸ æĺ¾ +ç¦ ¾ +åħ¼ èģĮ +éĢı éģİ +åľ¨ 游æĪıä¸Ń +社ä¼ļ åıijå±ķ +好 çİ© +å¹» æĥ³ +ä¸į 代表 +注æĦı åĬĽ +æ£ į +ç͍ æīĭ +ç¾İ 人 +许å¤ļ 人 +å¾Ī æĺ¯ +çļĦ çłĶåıij +æīĵ åĩº +åIJĪä¼Ļ 人 +ä¸Ģ å¤ľ +ç¼ĵ ç¼ĵ +ä¿® æŃ£ +æĦŁ çŁ¥ +ç»Ī 身 +æ¿Ģ ç´ł +çݯå¢ĥ ä¸ĭ +次 ä¼ļè®® +ç»ıæµİ å¢ŀéķ¿ +æī Ľ +åıij éħµ +åĪĨæŀIJ å¸Ī +åľ¨ æľªæĿ¥ +主è¦ģ æľī +ä¸Ģ åŃ£åº¦ +çļĦ 说æ³ķ +ä»İæĿ¥ 没æľī +è´§ 车 +缩 å°ı +太 è¿ĩ +æķĪ åĬĽ +ä¸į ä¸ĭ +æĬķ 稿 +èᝠä¸ļ +ç»Ħ éķ¿ +ç«Ļ çĤ¹ +å¾Ī åĸľæ¬¢ +éIJ µ +åĬ¿ 头 +æ¼ı æ´ŀ +æĦ¤ æĢĴ +åħħ å®ŀ +åĪĽä¸ļ æĿ¿ +çĪ ª +æľª å¿ħ +åºķ éĥ¨ +å¾Ĺ åĪĨ +人æ°ij åĮ»éĻ¢ +äºĮæīĭ æĪ¿ +å·²ç»ı 被 +大 楼 +æĸ° æĪ¿ +辦 æ³ķ +ç͍ åĬĽ +æĭĵ 宽 +åĨħ åľ¨ +æĴŃ åĩº +饰 æ¼Ķ +ä¹Ł 让 +ä½ľ çĤº +çī©ä¸ļ 管çIJĨ +åį´ ä¸į +为 ä¸ŃåĽ½ +å±Ģ åĬ¿ +ä¸į èĤ¯ +æľĢ æĸ°çļĦ +åı¯ä»¥ éĢīæĭ© +æĺ¾ çݰ +å°± ç®Ĺæĺ¯ +åľ¨ æł¡ +é¾ Ł +两 æĿ¡ +çļĦ å®ŀåĬĽ +è¶Ĭ 好 +她 åľ¨ +å¿ł è¯ļ +ä¹Ł éľĢè¦ģ +游æĪı æĵįä½ľ +è¶ħ åĩº +å¦Ĥæŀľ ä¸į +æīĢåľ¨ çļĦ +ä½ł è¿ĺ +以 åĨħ +æľī ä¸Ģå®ļ +åı¯ è¾¾ +è·ij åΰ +åī Ľ +建ç«ĭ åģ¥åħ¨ +æķ´ 车 +åīį æĸ¹ +éĹ´ æİ¥ +çѹ å¤ĩ +çĸ² åĬ³ +离 å¼ĢäºĨ +æ± Ŀ +éĿ¢ éĥ¨ +ä¹ĭåīį çļĦ +åıĺ 为 +å¦Ĥæŀľ 说 +对 ä»ĺ +åĿĩ åı¯ +被åijĬ 人 +ç²¾ ç¾İ +èģļ ä¼ļ +çĿĢ æĢ¥ +è°· æŃĮ +ä¸Ģ åı· +红 åĪ© +ä¼łå¥ĩ 游æĪı +å» ĸ +è´ ŀ +ä¹° åΰ +éŃ ļ +ä½ĵ è´¨ +å°ij äºĨ +æ³ī å·ŀ +åIJ Ł +ç»Ŀ ä¸į +é»ij æģ¶ +é»ijæģ¶ åĬ¿åĬĽ +ä¸Ĭ æĺł +çļĦè¯Ŀ é¢ĺ +ä¸ĩ人 次 +ä¸ĸ éĹ´ +ç͍ å·¥ +è´¯ ç©¿ +å®Ŀ çŁ³ +ä½ł 好 +åĪĩ åī² +强 åĽ½ +åĽŀ èIJ½ +æ°´ æĻ¶ +模 仿 +æ´ª æ°´ +éĢĻ éº¼ +åįģä¸ī äºĶ +ä½ ij +éĻ Ħä»¶ +çļĦ å¢ŀéķ¿ +éĻĦ å±ŀ +çݰ å·² +帮 ä½ł +éĩij çīĮ +é«ĺ åİŁ +åľ¨ å®¶éĩĮ +éĺ² èħIJ +ç¡®å®ŀ æĺ¯ +宣 讲 +天 æīį +ç»ıèIJ¥ 管çIJĨ +éĶħ çĤī +åIJĪ ä¸Ģ +è§Ĥ èµı +éķ¿ è¾¾ +主ä¹ī æĢĿæĥ³ +éĤ£ 麼 +é£İ äºij +为主 çļĦ +æļij åģĩ +æĮģ ä¹ħ +å¼Ĥ åľ° +å¼Ģ éŨ +模 æĿ¿ +æī¹ 次 +ä¸į 便 +天 çĶŁ +åĩł 个æľĪ +ä¸ĵ ç§ij +åı¦ æľī +åħ¬å¸ĥ çļĦ +æĩ · +åľº åIJĪ +çļĦå¿ĥ æĢģ +è¿ĺ 好 +å®ŀ æĪĺ +èĢģå¸Ī çļĦ +åħ© åĢĭ +åı¯ åľ¨ +éĤ£ ä½į +å¥ł å®ļäºĨ +ä¿ĥ éĶĢ +æı´ åĬ© +ä¸ĩ çī© +æĥħ æĬ¥ +é¦ĸåħĪ è¦ģ +æĸĩåĮĸ åĴĮ +éĥ½ å·²ç»ı +ä¸Ĭ ä¸ĸ纪 +åĨľ åľº +大 æī¹ +æĺİçϽ äºĨ +çļĦ æĪIJéķ¿ +çļĦ æ¯ĶèµĽ +失 误 +åģļ æĪIJ +ä»Ĭ天 å°ıç¼ĸ +é¢Ĩ è¢ĸ +æıIJåįĩ äºĨ +å¾IJ å·ŀ +ä»į æľī +è¿ĩ 滤 +å¹½ é»ĺ +çĥŃ éĩı +ä¸Ģ é¦ĸ +æ¼Ĥ亮 çļĦ +åĩł ç§į +åĢ¡ è®® +å°±åı¯ä»¥ äºĨ +æİĴ åĪĹ +éĩį éĩį +ä¼ģä¸ļ åĴĮ +ä¸ĵ å±ŀ +çħ İ +亲 æĪļ +çϾåĪĨ ä¹ĭ +稿 ä»¶ +è¿ĺ å¾Ĺ +人 åĵ¡ +äºī 夺 +æĽ´ 容æĺĵ +大 èĩªçĦ¶ +鼻 èħ¦ +太 空 +åľ° å¤Ħ +å¤ ¢ +ä»ĸ 对 +å¿ħ å°Ĩ +ä¸į å½ĵ +严 è°¨ +åĩº åľº +å·²ç»ı æľī +é¢Ĩ åĨĽ +é«ĺ æ¡£ +ä¸Ģ æīĢ +æł Ĺ +让 åѦçĶŁ +æĽ¹ æĵį +æŁIJ ä¸Ģ +伸 åĩº +èĬ± åįī +æ¸ħ éĨĴ +èģĶç³» æĸ¹å¼ı +åĪĨ å±Ģ +èħ ³ +æ©¡ èĥ¶ +éķ¿ å¾Ĺ +绿 åľ° +è¢ į +çļĦ èīºæľ¯ +女 æľĭåıĭ +ä¸Ń è¶ħ +离 åŃIJ +å¤ļæł· åĮĸ +éĺ³ åı° +ä½İ 碳 +ä¸Ģ ç±» +çŃīæĸ¹éĿ¢ çļĦ +å¾Ĺ 好 +模 åħ· +ä¸ĩ 亿 +çķĻ æĦı +临 æ²Ĥ +å°ij éĩı +çľĭ åIJij +ç»ıèIJ¥ èĢħ +çķĻä¸ĭ äºĨ +åĿı äºĨ +åijĬ åĪ« +羣 çIJĨ +ç¼´ è´¹ +æĬĬ ä½ł +çļĦ ä»»åĬ¡ +æĪij 对 +ä¹° åħ¥ +çĻ» ä¸Ĭ +æľī 两个 +ä¸Ģ 头 +æĵį æİ§ +åħ¨ è¦ĨçĽĸ +çĿĢ æīĭ +å¢Ļ éĿ¢ +å¤ļ æĸ¹ +åı¯çα çļĦ +ä¹Ł åı¯èĥ½ +æľĢ æľī +è¿ĻäºĽ éĥ½æĺ¯ +æĥ ¡ +å® ® +å¾Ī å°ı +éĹ®é¢ĺ æĺ¯ +åĿĩ æľī +å¾ģ éĽĨ +说 åĩº +æľī æĦı +é¢ Ĥ +æī¬ å·ŀ +åķĨä¸ļ 模å¼ı +çĶŁ èĤĸ +æįIJ 款 +å² Ĥ +ç¾İ æĻ¯ +è¿ĺ 羣 +æĭ¥ æĬ± +身ä½ĵ åģ¥åº· +æ·± å¤Ħ +çľ¼ ç¥ŀ +çļĦ 形象 +ä¼ĺ è¶Ĭ +å½ĵ æĪIJ +åĮº åĪĨ +åİ» éϤ +注 å®ļ +å§IJ 妹 +åĮº åĨħ +é© ļ +æļĹ ç¤º +æĺİ äº® +æħ° éĹ® +å¸Ĥåľº 份é¢Ŀ +çĮª èĤī +çļĦ èµĦéĩij +åİĨ ç»ı +å§ĭç»Ī åĿļæĮģ +çĶŁ æľº +ä¸į 顾 +éĩij åĪļ +大 声 +éĻķ 西çľģ +é² į +åĨľä¸ļ åĨľæĿij +æľī 害 +éŨ è¯Ĭ +æ¯ı ä¸Ģ次 +çļĦ åĽłç´ł +é¢Ŀ å¤ĸ +åİ¿ 级 +çļĩ åIJİ +åĽ½ ä¼ģ +é¦ĸ éĢī +ç¼ĸ åĨĻ +æĭ¿ èµ· +åģ· åģ· +ä¸İ ä¸ŃåĽ½ +åįĸ å®¶ +ç»Ļ ä»ĸ们 +ç¥ŀ è¯Ŀ +åѸ æł¡ +æĪij ä¸Ģ缴 +çŁ¥éģĵ äºĨ +åį Ĵ +åĴĮ åľ°åĮº +ä»Ģä¹Ī éĥ½ +çĶ» å®¶ +æľ¬ çĿĢ +ä½Ļ åIJį +审 çIJĨ +ä¸Ģ åIJij +åıijå±ķ è¶ĭåĬ¿ +åĮº éĹ´ +注åĨĮ èµĦæľ¬ +çIJ ¦ +ä¸į åı¯ä»¥ +çļĦ åĦ¿åŃIJ +å̼ çıŃ +ä¸¥æł¼ çļĦ +å®ŀä½ĵ ç»ıæµİ +æľī æĿĥ +æĪij åıĪ +éĵ¶ æ²³ +ç«ĭ 马 +æĿĢ äºĨ +åĮħ 容 +管 å®¶ +身 é«Ķ +éĵ ħ +å°ı åŃIJ +管çIJĨ ç³»ç»Ł +æľīçļĦ 人 +é£İ ç͵ +æĻºèĥ½ åζéĢł +ç²¾ ç¡® +æĭĽåķĨ å¼ķ +æĭĽåķĨå¼ķ èµĦ +äºĮæīĭ 车 +åİ¿ å§Ķ +èīº äºº +å¥ ķ +è¿İ æĿ¥äºĨ +ç»ĵæĿŁ äºĨ +çļĦ ä¼łç»Ł +æĭ¼ æIJı +奥 迪 +çĸij æĥij +ä¹ĭ æĹ¥èµ· +æłĩå¿Ĺ çĿĢ +åľ° åįĢ +è¯ł éĩĬ +åΰ æľŁ +åħ¨ éĥ½ +çŁŃ æļĤ +æĺ¯ æĪijåĽ½ +æĪij å·²ç»ı +æ»´ æ»´ +天 èµĭ +对 她 +åį«çĶŁ éĹ´ +çĶŁäº§ åŁºåľ° +æĹ¥ è®° +çļĦ æķĻåѦ +åĵ ĩ +æ°ij äºĭ +è¿ĺ åİŁ +æīĭ ä¸ŃçļĦ +çļĦ èī¯å¥½ +æ· « +ä¸Ńåħ± ä¸Ń央 +åĪ ĥ +åĵ Ħ +åľ¨ ä»ĸçļĦ +å°Ī æ¥Ń +åľº éĿ¢ +éĤ» å±ħ +çĹ Ĵ +å¦ Ħ +å¤ĸ ç§ij +ä¸į éĢĤ +举åĬŀ çļĦ +é Ĥ¹ +åħļçļĦ 建设 +çϼ 表 +è·¨ çķĮ +æ²ī æ·Ģ +大 çīĩ +è¶Ĭ é«ĺ +å°Ĩ æĺ¯ +è§ī éĨĴ +åĤ¨ åŃĺ +å¢ŀ 大 +ä¸į 让 +æķ´ å½¢ +å¹³åı° ä¸Ĭ +åĩł ä½į +è¯ī æ±Ĥ +好 ä¸į好 +åľ į +æĸĩ æľ¬ +é̲ åħ¥ +ç´ į +æł¹ æĵļ +èįī æ¡Ī +åħŃ ä¸ª +åĭ ¿ +åζ æĪIJ +饮 æ°´ +æ°¸ æģĴ +èĩª æĿĢ +åı¸ 马 +éļ¾ çĤ¹ +为 æĪij们 +å¼ § +åī© ä¸ĭçļĦ +åĩĨå¤ĩ 好 +çļĦ æľĢä½³ +èģĶåIJĪ ä¼ļ +æĤ£èĢħ çļĦ +æĪijä¸į çŁ¥éģĵ +ä¸ĭ ä¸Ģ个 +åıijå±ķ æĸ¹åIJij +ç¬ ¨ +æīĢ以 æĪij们 +åĨĻ äºĨ +éĢł æĪIJäºĨ +æ²Ļ æ¼ł +çŃĽ éĢī +çģ¾ åĮº +ä¸Ĭ çľĭ +éħ ¶ +æ»ļ åĬ¨ +éļ¾ åħį +åIJī åĪ© +ä¸Ģ ä¸Ģ +ç²¾ å¯Ĩ +伸 æīĭ +礼 仪 +åħ¨ æĺ¯ +è¶Ĭ 大 +ä¸Ń æłĩ +åıĸ åĨ³ +åıĸåĨ³ äºİ +éĢĶ ä¸Ń +讨 åİĮ +æīĭ åĨĮ +第 ä¹Ŀ +åŃĶ åŃIJ +çĦ¶ å¾Į +ä¸Ģ åħ± +æµ· æĬ¥ +款 å¼ı +æķ´ 天 +è¾¹ çķĮ +è·¯ è¾¹ +æĻĭ 级 +åIJIJ æ§½ +çļĦ åħ³æ³¨ +æĪij 没æľī +å°±æĺ¯ åľ¨ +缮 çļĦæĺ¯ +åį³ä½¿ æĺ¯ +é¡¶ å°ĸ +å·²ç»ı åľ¨ +å®īåħ¨ éļIJæĤ£ +æłĩ æĿĨ +åįĹ éĢļ +ä¼ļ 对 +座 ä½į +èµ¢å¾Ĺ äºĨ +åİŁæĿ¥ çļĦ +身 为 +书 åºĹ +è¢Ń åĩ» +ä»Ĭ æĻļ +以 èī² +以èī² åĪĹ +æĬĸ éŁ³ +åį´ æ²¡æľī +丧 失 +çļĦ å±ĢéĿ¢ +åįģåĽĽ äºĶ +çŃī 缸åħ³ +æ±ĩ æĢ» +å¤ĸ 表 +为 æ°ij +éľĩ æĥĬ +å¥Ĺ è·¯ +çĬ¯ç½ª å«Įçĸij +å°Ĩ 以 +çİĩ é¢Ĩ +éħĴ åIJ§ +è¡Įä¸ļ åıijå±ķ +å¹´ èĩ³ +åύ æĿIJ +åĴĮ æĬĢæľ¯ +æľĢ å°ı +è¿Ļä¸Ģ åĪĩ +èģĮ ç§° +å½ĵ ä½ľ +æİĢ èµ· +åĴ ĭ +ä¸Ń éĥ¨ +æīĭ èĩĤ +ç½¢ äºĨ +媳 å¦ĩ +æ´½ è°Ī +æĹ¶ä»£ ä¸ŃåĽ½ +人çĶŁ çļĦ +æŀģ éĻIJ +ç¦ Ħ +åĮº æĶ¿åºľ +æľ¬ éĴ± +礼 åĵģ +çļĦ éĤ£ä¸ª +侦 æŁ¥ +太å¤ļ çļĦ +å®ŀæĸ½ æĸ¹æ¡Ī +é«ĺ æłĩåĩĨ +æĮĩæĮ¥ éĥ¨ +å̾ æĸľ +çī¹èī² ç¤¾ä¼ļ +çµIJ æŀľ +éĴ» çŁ³ +ç§» æ¤į +çī¹ ç§į +èĩª æĦ¿ +æĭľ çĻ» +åįķ 身 +åį´ åıĪ +åĪ¥ 人 +åIJĪ è§Ħ +æľº ç͵ +çī¹ æĦı +å½ĵåīį ä½įç½® +ä¹° å®¶ +åIJĪ çº¦ +èĤ© èĨĢ +为 åĩĨ +å®¶ è£ħ +çļĦ çĥŃæĥħ +éĿŀ éģĹ +çļĦ éŃħåĬĽ +åİŁ åijĬ +社ä¼ļ åIJĦçķĮ +ä¹° çļĦ +å¤ļ åIJĥ +éĽķ å¡ij +èµ· ä¹ī +åĬł åī§ +éĤ£ä¸Ģ åĪ» +å°Ĩ è¿Ľä¸ĢæŃ¥ +æ¡Ĥ æŀĹ +æĽ´ 强 +对 ä¼ģä¸ļ +æĹł æĦı +ä¹łè¿ijå¹³ æĸ° +æµģ 失 +å¾® 软 +缸 对äºİ +座è°Ī ä¼ļ +主 èIJ¥ä¸ļ +主èIJ¥ä¸ļ åĬ¡ +ç§ģ åĭŁ +å±ķ示 äºĨ +常æĢģ åĮĸ +è² ´ +符 åı· +å¹´è½» çļĦ +å°± éľĢè¦ģ +ä¹Ł æĽ¾ +çļĦæĥħ 绪 +è¾¾ æłĩ +èĩ ¨ +ä½į å±ħ +ä»ħ 为 +é¦ĸ å®¶ +éĺ´ éĺ³ +ä¸įåĨį æĺ¯ +åĽłä¸º å®ĥ +ä¼ģä¸ļ åľ¨ +çĺ ¾ +åIJ¬ è§ģ +åİŁ æľī +åζ è£ģ +å¯Ĥ å¯ŀ +éĢļè¿ĩ 对 +æ»ij éĽª +è¿Ļ å¼ł +çļĦ çIJĨè§£ +æĸ° ä¸ŃåĽ½ +è¿Ļ åĦ¿ +ä½İ ä»· +æĥ³ è¿ĩ +çļĦ ä¿¡å¿ĥ +建çŃij çī© +çļĦ é¢ľèī² +ä¸į åºĶ该 +æĹłçĸij æĺ¯ +å¼ķèµ· äºĨ +åħ¨ åijĺ +æĿ° åĩº +è¿Ļæĺ¯ æĪij +èª ° +èĺ ĩ +éĺµ åľ° +åħħ å̼ +çŁ¿ ä¸ļ +çĿĢ ä»ĸ +ä¿¡ 访 +ä¸ĩ è¾¾ +æij© æĵ¦ +å¼Ģ 端 +èı² å¾ĭ +èı²å¾ĭ 宾 +车 åŃIJ +æľ¬èº« çļĦ +çģ«è½¦ ç«Ļ +常 å·ŀ +为 代表 +为代表 çļĦ +广 ç͵ +亲 人 +åı³ æīĭ +éĽĨ è£ħ +éĽĨè£ħ ç®± +çļĦ åį°è±¡ +æ©Ł æľĥ +åĮĨ åĮĨ +åħī ç͵ +大 æĸ¹ +è¿ĺ æľª +åĪ© 好 +ç»Ŀ 大å¤ļæķ° +åľ¨ è¿Ļç§į +ä¸Ģ ç»Ħ +æĸ° èĤ¡ +转 åıij +æ³ķ åºŃ +æĹł æīĢ +éģĵ è·¯ä¸Ĭ +çŁ¿ å±± +èij ī +æĶ¶ åĽŀ +ç§° ä¹ĭ +ç§°ä¹ĭ 为 +æıŃ éľ² +åı£ 岸 +åIJ ¼ +å¿ĥ æĥ³ +çļĦ 梦æĥ³ +éĽ ¯ +ä¹ĭ åĪĿ +å¥ĸ 项 +订 éĺħ +èĵĿ 天 +åĿ¦ åħĭ +ç«ĭ æ¡Ī +èģĶ æīĭ +ä½Ĩæĺ¯ æĪij +帮 æĪij +ä»ħ 代表 +说 æĪij +çļĦ è¶ĭåĬ¿ +æ¯Ķè¾ĥ 大 +èµ° å»Ĭ +éĩįçĤ¹ é¡¹çĽ® +èµĮ åľº +åIJį çīĩ +æĦŁ åı¹ +åľ¨ åľ°ä¸Ĭ +åıij çĥŃ +èĮĥ çķ´ +çļĦ éģĵè·¯ +éĩij èī² +ä»ĸ åıĪ +ä¼ļ 产çĶŁ +æ°ij åĽ½ +å®ĺæĸ¹ ç½ijç«Ļ +æĶ¶çĽĬ çİĩ +çļĦ åΰæĿ¥ +çļĦ åĬŀæ³ķ +æĶ¹ åζ +ä¸ĩ ç§ij +ä¸į äºĪ +è¿ĻäºĽ éĹ®é¢ĺ +çα ä¸Ĭ +çIJĥ åľº +è´£ 令 +æİĪ è¯¾ +åľ¨ é¦Ļ港 +ç»Ĩ èħ» +å¤ļ ä¸ĩ +åIJĮ å¹´ +大 使 +æĸ ĭ +ä¹Ł 为 +æĥł å·ŀ +åIJī 祥 +çͰ åĽŃ +åĽ½å®¶ éĺŁ +éĩį çĶŁ +åľ¨ åħ¶ +é¦Ļ åij³ +è´Ł èį· +亲 åĪĩ +èĩª 豪 +没 éĶĻ +åĽłä¸º åľ¨ +æĺŁ æĺŁ +éĤ ij +è¿ĺæľī å¾Īå¤ļ +æij© æīĺ +æij©æīĺ 车 +æŃ¥ è¡Į +管çIJĨ ä½ĵç³» +èĦļ ä¸ĭ +éģİ åİ» +æ±ī è¯Ń +对 ä¸įèµ· +çļĦ ç»ıåİĨ +åıĬ 缸åħ³ +ä¸įå°ij 人 +éĩį ç£ħ +åĬ³åĬ¨ èĢħ +大åĬĽ åıijå±ķ +æĢİä¹Ī åģļ +çĭĹ çĭĹ +举åįĹ äºļ +åĭĩ äºİ +åħ¬ éĸĭ +çĵ· çłĸ +åıĤ çħ§ +广æĴŃ ç͵è§Ĩ +举 åĬ¨ +æ±Ł 西çľģ +æķĪ èĥ½ +å͝ æľī +éĿ¢ è²Į +èĩªåĬ¨ 驾驶 +æ¦ľ åįķ +å½ĵ æĪij们 +仲 è£ģ +æľ¨ æĿIJ +ç±³ åħ° +çϽ éĵ¶ +çļĦ 人éĥ½ +å°± åĥıæĺ¯ +æŃ¥ åħ¥ +åįł ç͍ +åĩ» è´¥ +让 大家 +ä¼ļ è®©ä½ł +åİ¿ æĶ¿åºľ +è¦ģ ç͍ +çŃī å½¢å¼ı +åįĩ é«ĺ +责任 æĦŁ +å¤ĩ ç͍ +ä»ĸ 认为 +æ¸ħåįİ å¤§åѦ +ä»ĸ èĩªå·± +éĸ± è®Ģ +太平 æ´ĭ +éĶģ å®ļ +çŃ Ĩ +è¿Ļ çīĩ +æī§ æĶ¿ +è¿ĶåĽŀ æIJľçĭIJ +å°± æŃ¤ +éģĩ åΰäºĨ +å¼Ģå¹ķ å¼ı +管çIJĨ éĥ¨éŨ +å§¿ åĬ¿ +设 æĥ³ +åĽĽ åŃ£ +æĬĢæľ¯ 人åijĺ +å·® çĤ¹ +è¾ŀ èģĮ +èĢģ 師 +çļĦ æĦŁåıĹ +ä¹Ł éĿŀ常 +å¹´ ä¸ĬåįĬå¹´ +æĢª çī© +èĮĥ æĸĩ +æĪĺ å½¹ +åIJ« ä¹ī +åħ¨ è¿ĩç¨ĭ +èĢĮ éĿŀ +éĢļ讯 åijĺ +è¿Ļæł· æīįèĥ½ +æľº ç»Ħ +è£ ı +çķ¶ çĦ¶ +èµĮ åįļ +åIJĦ æľī +å·¥ä½ľ æľºåζ +äºĭ åIJİ +åī§ éĻ¢ +å±Ĭ æĹ¶ +åĺ´ éĩĮ +主 线 +ä¸Ģ åľĪ +主è¦ģ åİŁåĽł +å°¸ ä½ĵ +åĮ»çĸĹ åĻ¨æ¢° +ä½ł æĢİä¹Ī +ä½Ĩ çͱäºİ +æĹ¶ 空 +çĶ· æľĭåıĭ +çĶľ èľľ +é«ĺ åľ° +æĻ ĸ +èĴIJ éĽĨ +åĩĿèģļ åĬĽ +å¤ĩ åıĹ +æĸĩ åĪĽ +马 æĿ¥ +马æĿ¥ 西äºļ +æŁ´ æ²¹ +使 人 +æķĻ ä¼ļ +ç§ĭ 天 +æĺİ çıł +åħŃ åįģ +çݯå¢ĥ ä¸Ń +æ¸ħ æĻ¨ +积æŀģ åıĤä¸İ +å·ħ å³° +为 æľŁ +çѾ åŃĹ +æĦŁ æ¿Ģ +ç§ĭ åŃ£ +æĿij åŃIJ +æ¢ħ 西 +æļ´ 鼨 +çĶŁæ´» åľ¨ +çªĹ æĪ· +æģ¶ åĬ£ +纯 ç²¹ +åľ¨ æİ¥åıĹ +没 èĥ½ +è¡Į 人 +åĭ º +æĭ¨ æīĵ +ä½ľ åĩºäºĨ +çļĦ 主é¢ĺ +æľª ä¾Ĩ +ä¸Ń æľĢ +æ¾ ľ +é«ĺ è¡Ģåİĭ +åħ´ èµ· +æŃ£ èĥ½éĩı +åŁ¹è®Ń çıŃ +æİ¥ åħ¥ +çĦ¶åIJİ åĨį +åѦçĶŁ 们 +é¢ĨåħĪ çļĦ +çģ« çĥŃ +ä¸ĵ èģĮ +æĪĸèĢħ 说 +建 è¨Ń +é» ı +对 åħ¬åı¸ +çī¹ æľīçļĦ +åħī èᣠ+å½ĵ åľº +éĿ¢ åŃIJ +èµĦ产 管çIJĨ +æĹ¶æľŁ çļĦ +çŀ İ +åįİ ä¸ľ +åıĪ ä¸Ģ次 +èĥİ åĦ¿ +å®ļ çĤ¹ +头 çĹĽ +æ¶² ä½ĵ +æĺ¯ä¸Ģ ä½į +帽 åŃIJ +å¹´ èµ· +ä¸į ä½İäºİ +è¾ĥ å°ij +éĿ¢ä¸´ çĿĢ +å±Ĥ å±Ĥ +èĿ´ èĿ¶ +èī° èĭ¦ +éĺ¿ æł¹ +éĺ¿æł¹ å»· +æ¦Ĥ æĭ¬ +请 éĹ® +èµ· åºĬ +å±Ģ å±Ģéķ¿ +稳 åģ¥ +å¦Ĥæŀľ æĪij们 +éħĴ ç²¾ +æĪ· åı£ +æĦŁ æĤŁ +æĪij们 éľĢè¦ģ +æĬĢ èīº +èĩª åªĴä½ĵ +è¿Ľ åĮĸ +æ¿ĢçĥĪ çļĦ +ä½ĵ 温 +èļ ķ +èĩ´ è¾ŀ +宪 æ³ķ +ä¸Ģ çŃīå¥ĸ +çĵ¶ é¢Ī +æĥł æ°ij +èµ° è·¯ +çݰ ä»» +åķĨ éĩı +ä¸ĭ 车 +åĪ ł +責 ä»» +èŀįåIJĪ åıijå±ķ +ç´ł æĿIJ +æ²¹ ä»· +åģļ 人 +çŀ ª +æĶ¹éĿ© åĪĽæĸ° +çļĦ åĮºåĪ« +è·¨å¢ĥ ç͵åķĨ +æ¶īåıĬ åΰ +æīĺ 管 +æĪij è¿ĺæĺ¯ +åĿIJ æłĩ +ç½ij 讯 +å½ĵåľ° çļĦ +追 溯 +åľŁ è̳ +åľŁè̳ åħ¶ +åºķ ä¸ĭ +åĩł åįģå¹´ +ç©¿ è¿ĩ +çĶŁæĢģ æĸĩæĺİ +æİ¨ èĸ +æİ¨èĸ ¦ +éł Ĩ +åĴ³ åĹ½ +åĪĨ æĪIJ +çĹķ 迹 +æĪ· ç±į +éĥ½ ä¸įèĥ½ +æĻļ ä¼ļ +åĢ © +ä½ĵ åĬĽ +è¿Ļ个 èģĮä¸ļ +æĹł å½¢ +åıª æĥ³ +è¿Ľ åıĸ +æĿĢ æŃ» +èĦ Ĭ +äºij åįĹçľģ +æľª çŁ¥ +ç¾İ èģĶ +ç¾İèģĶ åĤ¨ +å¤ĸ å½¢ +诱 æĥij +çĽ £ +è¡Į 使 +åłĨ 积 +çĨŁ ç»ĥ +éĺIJ è¿° +æľĢ大 éĻIJ度 +å·¡ æŁ¥ +夺 åĨł +ä¼ģä¸ļ æĸĩåĮĸ +çĭ® åŃIJ +ä¿Ŀ å®Ī +ä¸ºæł¸å¿ĥ çļĦ +æī© æķ£ +åζéĢł åķĨ +æŁĶ 软 +为ä¸Ģä½ĵ çļĦ +游 çİ© +çĶŁ çĹħ +幫 åĬ© +åͱ æŃĮ +æīį åı¯ä»¥ +宽 æĿ¾ +è¦ģ æ¯Ķ +æĺ¯ æĢİæł· +çģ° èī² +çİĭ åĽ½ +æIJħ æĭĮ +计 éĩı +åij¨åĽ´ çļĦ +æĻºèĥ½ æīĭæľº +常 åĬ¡ +常åĬ¡ åī¯ +é© ´ +å°Ĩ è¿ij +寻 常 +ä¸ŃåĽ½ å¸Ĥåľº +容 åύ +å±± ä¸Ĭ +èĥĮåIJİ çļĦ +亲 å¯Ĩ +æīĢ以 说 +éİ ® +çļĦ çIJĨçͱ +大 åŁİå¸Ĥ +常 å¹´ +æĹħ游 ä¸ļ +å°±æĺ¯ è¿Ļæł· +åĨį æĿ¥ +é«ĺ ä½į +åĨħ 饰 +æŀĦ éĢł +ä¸Ģ èµ·æĿ¥ +çͳ è«ĭ +å·²ç»ı å¼Ģå§ĭ +çļĦ åĬ¨ä½ľ +被 è¿« +éģį å¸ĥ +åīĸ æŀIJ +å°ı äºĭ +å¿ĥ ä¸ŃçļĦ +ä½ĵåζ æĶ¹éĿ© +çļĩ å®¶ +æķĻ åłĤ +åIJĥ å®Į +åĽ½æ°ij åħļ +æĺİç¡® äºĨ +åıijå±ķ è§ĦåĪĴ +第ä¸Ģ æŃ¥ +å¾Ĺ èµ· +åľ¨ åĵª +çļĦ è·¯ä¸Ĭ +é» Ķ +çķ¶ æĻĤ +大åĬĽ æĶ¯æĮģ +åıĮ éĩį +çŁ¥éģĵ èĩªå·± +åIJĪä½ľ åįıè®® +æ°Ķ åĬ¿ +éķ¿æķĪ æľºåζ +ç½ķ è§ģ +åĽŀ æĿ¥äºĨ +ä»ĸ ä¼ļ +ä¸Ń æĸ° +ä¸Ńæĸ° ç½ij +çļĦ åķĨåĵģ +èµł éĢģ +決 å®ļ +å¸Ĥåľº çĽij管 +çķĻ åѦçĶŁ +ç͵ åİĭ +äºļ 马 +äºļ马 éĢĬ +è¿ĺæĺ¯ æ¯Ķè¾ĥ +ä¿ĥè¿Ľ äºĨ +æµģ åħ¥ +æijĦ åĥı +æijĦåĥı 头 +æıIJ åıĬ +åıij æİĺ +æī¾ åĩº +æ¢Ŀ ä»¶ +ç¹¼ çºĮ +æĪij åĸľæ¬¢ +å¥ İ +æ¦ľ æł· +å¼Ģ èĬ± +æ²ī éĩį +åŁº åĩĨ +ä»ħä»ħ æĺ¯ +轨éģĵ 交éĢļ +åĶIJ å±± +çŃī ä¸Ģç³»åĪĹ +ä¸įè¿ĩ æĺ¯ +åŃĺåľ¨ çĿĢ +èĬ± çĶŁ +å¤ · +ç»Ī ç©¶ +ä¹Łæĺ¯ ä¸Ģ个 +åįģ åŃĹ +èĸª éħ¬ +伤 å¿ĥ +æĺ¥ ç§ĭ +åĨ· åį´ +ç²¾ çģµ +çļĦ åľ°åĽ¾ +æ¯Ķ çī¹ +æ¯Ķçī¹ å¸ģ +æĢ§ åĪ« +ä½Ļ ä¸ĩåħĥ +ä¸įå¿ĺ åĪĿå¿ĥ +å¿ĥ çĸ¼ +æĽ² 线 +é«ĺ ä½İ +è¦ı å®ļ +æĻ¯ èī² +è¦ģ 说 +åħ¬åı¸ å°Ĩ +æ¶² åİĭ +è¿Ŀ 约 +åİļ 度 +åºŀ 大çļĦ +è¿ĺæĺ¯ å¾Ī +é¦ĸåħĪ æĺ¯ +çµ ² +åĬ¡ å®ŀ +並 ä¸Ķ +å¢ŀ è¿Ľ +ç»Ħç»ĩ å¼Ģå±ķ +èµ·æĿ¥ äºĨ +è¾ĥ å°ı +导 游 +两 åľ° +ç¿ ĺ +çģ¿ çĥĤ +é£İ éĩĩ +æĶ¯ 线 +æĶ¯çº¿ ä»»åĬ¡ +娱ä¹IJ åľĪ +天津 å¸Ĥ +åĮħ åĽ´ +æľ¬ èµĽåŃ£ +éĩįè¦ģ 讲è¯Ŀ +åıĮ åIJij +åįİ ä¸½ +éĶ ¤ +åĦ¿ 女 +åįĸ åĩº +ä¾Ĩ 說 +ä»ĭç»į ä¸Ģä¸ĭ +åIJ¦ 认 +åĭ Ŀ +æĻ®éĢļ 人 +çļĦ åĬ¨åĬĽ +涨 åģľ +åŁºéĩij 管çIJĨ +ä¸Ģ个 éĩįè¦ģ +è¿IJ æ²³ +çħ ŀ +è´¢æĶ¿ éĥ¨ +è¡Įä¸ļ åįıä¼ļ +éĥ½ å°Ĩ +è¨Ģ 论 +ä¸ĭ ä¾Ĩ +墨 西 +墨西 åĵ¥ +åĽłä¸º ä»ĸ们 +æĢİä¹Ī åĽŀäºĭ +åĬłå¤§ 对 +èĬ Ń +çīĮ åŃIJ +ä¼ļ 使 +妹 åŃIJ +ç«Ļ éķ¿ +å¿ħ å¤ĩ +æłij æľ¨ +æģ¶ æĦı +æ²³ éģĵ +å¯Į è£ķ +ç¹ģ åįİ +代表 åĽ¢ +æµij 身 +é¦ĸ ä½į +èĪªç©º åħ¬åı¸ +鼻 å½± +ä¸ĵ è¾ij +æ°´ æºIJ +ä¸Ń æ¯Ĵ +並 ä¸į +èĢĮ åİ» +é ĥĿ +äºİ æŃ¤ +æĸĩåĮĸ 建设 +èĤ¯å®ļ ä¼ļ +å¸ĮæľĽ 大家 +æıı åĨĻ +ä½İ è°ĥ +æĸ°åħ´ 产ä¸ļ +æ·Ħ åįļ +æĶ¾ å¼Ģ +çļĦ æĢ§æł¼ +çĸ¾çĹħ çļĦ +æķ´ é¡¿ +线ä¸Ĭ 线ä¸ĭ +éĢī 项 +çļĦ 认åı¯ +æķ´ é½IJ +çĶļ ä¹Ī +çľģ åĨħ +åı¤ 人 +æ°ij ä¿Ĺ +çī¡ ä¸¹ +éŨ çªĹ +éĤ£ æł·çļĦ +çĽijäºĭ ä¼ļ +ç¿¡ ç¿ł +ç¦ ¹ +åįĥä¸ĩ ä¸įè¦ģ +æĶ¶ 缩 +çļĦ æĸĩåŃĹ +åĴĮ å°ļ +æĮĩ 令 +åħ±äº§ åħļåijĺ +çļĦ çĪ¶äº² +å®Į å·¥ +åĬ¡ å·¥ +马 æĭī +马æĭī æĿ¾ +æµĭ è¯Ħ +å² ļ +ä¸į åģļ +ä¸ĥ å¹´ +åĿĩ ä»· +主 è§Ĥ +å¾Ī ä¸įéĶĻ +èĤ¡ä¸ľ 大ä¼ļ +äºĶ ä¸Ģ +é£İ åIJ¹ +å¼Ģ éĩĩ +è¿Ļä¹Ī 大 +èĥ½ çľĭåΰ +èĢĥ è¯Ħ +åį³ ä¾¿æĺ¯ +çݰ代 åĨľä¸ļ +æ¯Ķè¾ĥ é«ĺ +è¦ģ çľĭ +没 äºĨ +è§£ 決 +çݯ æ¯Ķ +åĨ² åĬ¨ +æ·± å¤ľ +åĩł åįĥ +ä¿ ı +ç½ij æ°ij +å°± 没 +ä»ĸ 表示 +éĩı åŃIJ +æĹ©é¤IJ åĬłçĽŁ +åįĬ å²Ľ +æIJŀ ç¬ij +ä¸Ĭ æĬ¥ +å¯ © +é¢Ħ 订 +èľĤ èľľ +æŁ¥ æī¾ +ä¼Ĺ æīĢ +ä¼ĹæīĢ åij¨ +ä¼ĹæīĢåij¨ çŁ¥ +æĹ© æĹ¥ +åıij æī¬ +åĴĮ 个人 +åĬłåħ¥ äºĨ +åĸ® ä½į +åĪĨ æĺİ +第ä¸Ģ æī¹ +ç¾İ åĨĽ +æĿĢ æīĭ +éŨ å¤ĸ +åķĨ åľĪ +ä¸Ģ åĪ» +çļĦçľ¼ ç¥ŀ +éľ Ħ +äºĽ ä»Ģä¹Ī +åĬł æ·± +æ¯ı ä½į +å¸Ĥ éĿ¢ä¸Ĭ +åıĶ åıĶ +çļĦ éĤ£ç§į +粤 港澳 +è´´ å¿ĥ +æĸĩåĮĸ 产ä¸ļ +红 æĹĹ +åĺī åħ´ +æĶ¶ çĽĺ +å®ĮæĪIJ åIJİ +ä¼ģä¸ļ 管çIJĨ +纵 横 +ä¸į ä¿¡ +æĪIJ éĥ½å¸Ĥ +æ´Ĺ 澡 +举è¡Į çļĦ +çĶ¢ çĶŁ +ç©¿ ä¸Ĭ +åĪļ 好 +åħī 线 +æīĵ æŀ¶ +è¿Ļ æľ¬ä¹¦ +åĶ®åIJİ æľįåĬ¡ +åĩł åĪĨ +ä¸Ĭ 次 +ä¸į åĪĨ +产 åIJİ +éģ¿ å¼Ģ +ç»Ī æŀģ +代表 大ä¼ļ +æ¼Ķ æĬĢ +åĽŀ è´Ń +åѦ è´¹ +éĺ» ç¢į +ä¸Ģ大 æī¹ +ç«£ å·¥ +åĨ³ å®ļäºĨ +ä½Ĩ å¦Ĥæŀľ +ç͵ æµģ +ä¸Ŀ 毫 +èĥ½å¤Ł åľ¨ +éĶĢåĶ® æĶ¶åħ¥ +åľ¨ åŃ¦æł¡ +æ°´ åĩĨ +è§Ĩ 线 +èĩª åľ¨ +åķĨä¸ļ éĵ¶è¡Į +为äºĨ 让 +çį² å¾Ĺ +çݩ家 æľĭåıĭ +éĿ¢ èĨľ +åĪĨ åī² +åī§ æľ¬ +ç« Ń +说 å¾Ĺ +æĥ³ çŁ¥éģĵ +çļĦ人 çī© +èĮħ åı° +åIJĮ ä¸Ģ个 +æķ°æį® ä¸Ńå¿ĥ +çĶ Ħ +åĸľ æĤ¦ +ä¸ĭæĿ¥ çļĦ +å®ļ åIJij +æŀģ åħ· +çļĦ åľŁåľ° +éĤ£ åĢĭ +æijĦ åħ¥ +äºĨ æĪijçļĦ +马 è·¯ +åħ¨ 社ä¼ļ +è®® æ¡Ī +å±ĭ åŃIJ +åIJį åı« +åĮ ª +åľ¨ å¤ĸéĿ¢ +åįİ åįĹ +åıij è´§ +å¯Ĵ åĨ· +é«ĺçŃī æķĻèĤ² +详ç»Ĩ çļĦ +个 é¡¹çĽ® +çĶŁäº§ åĬĽ +æĹ¶ 常 +å°± æľĥ +ä¸ĩ èĤ¡ +éĻĮçĶŁ 人 +æıı ç»ĺ +å½ĵ çĦ¶æĺ¯ +æĭī åĬ¨ +éĵ¾ æĿ¡ +æī£ éϤ +ä¸Ģ缴 éĥ½ +å°ı åŃ©åŃIJ +伤 åı£ +第äºĮ å±Ĭ +è´Ń ç½® +çļĩ 马 +æĹł èģĬ +表 åĨ³ +诸 å¦Ĥ +åĵį èµ· +é£İ æļ´ +ä¸Ģæµģ çļĦ +ç ·¨ +è§£æĶ¾ åĨĽ +室 å¤ĸ +å°± è¿Ļä¹Ī +å³ ¶ +æīĢæľī 人éĥ½ +æIJľç´¢ å¼ķæĵİ +çļĦ æĪIJæľ¬ +åħļ æĶ¿ +åıijè¡Į 人 +çļĦ äºĭå®ŀ +对 该 +åıĹ æįŁ +ä¿Ħ ä¹Į +é²ľ èĬ± +åĨľ èᝠ+æŀģ éĢŁ +æĢ¥ æĢ§ +两 ä¼ļ +ä¸Ģèά æĿ¥è¯´ +æµ· é²ľ +åĨ Ī +ç͍ 人 +çĶ¨äºº åįķä½į +åĢ ª +åĦª æĥł +æł¹ æºIJ +åĽ¢ è´Ń +ç¾İ æ´² +ä¸ĭ è¡Į +å¹´ æľ« +èľ ¡ +è¯ģ ä»¶ +åľ¨ æĪijåĽ½ +ä¸į åºĶ +æĮī æĹ¶ +åłª ç§° +åľº ä¸Ĭ +å¹²éĥ¨ èģĮå·¥ +æľī å¾Ī大çļĦ +æķ°åŃĹ ç»ıæµİ +æ¼Ķ ç»ĥ +æį® ç»Łè®¡ +å¾Ģ æĿ¥ +广åijĬ æľįåĬ¡ +çļĦ è·Ŀ离 +æŃ ¸ +è¨Ģ è¯Ń +被 èªī +被èªī 为 +åĭī 强 +å°Ĭ æķ¬ +ä¸ĩ 亿åħĥ +ä¸ŃåĽ½ åĽ½éĻħ +å¹² é¢Ħ +å¹´ 产 +èĢķ åľ° +èĮ İ +åį³ æĺ¯ +æĺ¨ æĻļ +æĪIJ为 ä¸Ģ个 +çºł æŃ£ +åij½ åIJį +é¢ģ å¸ĥ +çĮľ æµĭ +ä¿ĿèŃ· æĶ¿çŃĸ +æĭ ¢ +æ´» æ³¼ +çŃī éĥ¨éŨ +åѦ åΰ +å¢ŀå̼ ç¨İ +èĪª 线 +åĨ ¤ +åįģ åĩłå¹´ +æİ§èĤ¡ èĤ¡ä¸ľ +ä¸Ģ éŨ +个 å·¥ä½ľ +ä¸ªå·¥ä½ľ æĹ¥ +æĸ° 西 +æĸ°è¥¿ åħ° +论 è¯ģ +ä» Ĩ +åı¦å¤ĸ ä¸Ģ个 +æĶ¹ ç¼ĸ +严 ç¦ģ +åĸľ 好 +个人 ä¿¡æģ¯ +满æĦı 度 +åĵ ¨ +å¸Ī èµĦ +æĶ¹ 为 +ç«ŀäºī 对æīĭ +åĩº çĤī +åķĨ 人 +大 æ£ļ +æĮĩ导 ä¸ĭ +å¦ĩ ç§ij +è¼ ª +æī ģ +åIJĮæĹ¶ è¿ĺ +å¹¶ éĢļè¿ĩ +æĪĺ éĺŁ +èĶĵ å»¶ +ä¿ ŀ +éĢĤå½ĵ çļĦ +åīį è¾Ī +åĵģ åij³ +湿 åľ° +æĪIJ åŀĭ +ä¸į åıªæĺ¯ +æĥ© ç½ļ +åĩºåı° äºĨ +çİ© 游æĪı +æīį åıijçݰ +åºĶ èģĺ +å¤ĸ æĿ¥ +åįł é¢Ĩ +å±ķ æľĽ +å« Ĥ +港 èĤ¡ +æ¡Į ä¸Ĭ +æĶ¯ æŁ± +çļĦæĥħ å½¢ +广éĺĶ çļĦ +æĶ¯ è¡Į +å´© æºĥ +æľĪ ä¸Ń +æľĪä¸Ń æĹ¬ +ç»į åħ´ +临 è¿ij +æĬ¤ æłı +æļ ® +åįķ èģĮä¸ļ +è¾¹ å¢ĥ +æĹ¥ çħ§ +ä¸Ģ åłĨ +缴 å¾Ħ +åħ±åIJĮ ä½ĵ +æĸ°åįİ ç½ij +æīĵ 好 +ç͵åĬ¨ 汽车 +ä¸į æĺİçϽ +éĢĻ è£¡ +缼 大 +çİĭ æľĿ +åĨį ä¸Ģ次 +åĬŀåħ¬ åİħ +è´¨ æĬ¼ +åIJĪ åĩ» +人们 对 +鼶 é£Ł +éĥ½ä¸į çŁ¥éģĵ +çļĦ è¯Ńè¨Ģ +åĭŁéĽĨ èµĦéĩij +åĬ¨ èĦī +å½ ¤ +è¿Ļ åĩłå¹´ +çŁŃ è§Ĩé¢ij +太 é«ĺ +常 å§Ķä¼ļ +åĬł çıŃ +éĩį å¿ĥ +åªĴä½ĵ æĬ¥éģĵ +没 æ³ķ +éĹ» åIJį +çĥŃ åº¦ +å¹¿æ³Ľ çļĦ +åħŃ å¤§ +çī© ä½ĵ +ä¸į 该 +é¢ĺ 主 +精彩 çļĦ +为 è¿Ľä¸ĢæŃ¥ +èĻ ŀ +åĽº çĦ¶ +è´µå·ŀ çľģ +çºł ç»ĵ +代çIJĨ 人 +æ³ķå®ļ 代表 +åı¦ä¸Ģ ç§į +ä¸į åIJ« +æĭ¯ æķij +ä¼ļ ç»Ļ +è¯Ĺ è¯į +åIJĮ ç±» +å¾Ĺ ä¸įåΰ +æĬĵ ç´§ +以 åħ¶ +åħ¥ åħļ +è¿ĺ åı¯ +æľŁ åĪĬ +å¾Īå¤ļ æĹ¶åĢĻ +æĹ¥ åIJİ +åħ¬ 约 +ä¸Ģ 举 +æ¯Ķè¾ĥ å¤ļ +éĩij æ²Ļ +æį ŀ +æİĴ åĩº +æŃ¦ æľ¯ +ä¸į æĸ· +ä¸Ń èĢĥ +ä¿¡ èµĸ +ä»İä¸ļ 人åijĺ +çģ« çĦ° +éĨĴ æĿ¥ +ä½İ 温 +é̾ æľŁ +åĬ± å¿Ĺ +éħ ¥ +åı¯è°ĵ æĺ¯ +è¿Ļ æĦıåij³çĿĢ +é¢ł è¦Ĩ +åĮĹ京 大åѦ +ä¸ĵ 线 +åıĬ 以ä¸Ĭ +è¨ ª +èĢĮ åIJİ +çŁ¥ ä¹İ +ä¸Ģ对 ä¸Ģ +å¨ĥ å¨ĥ +çģ¾ éļ¾ +åħ¨ å±Ģ +æīĢå¾Ĺ ç¨İ +å®ŀ æĥł +èļĤ èļģ +ä¹Ł çŁ¥éģĵ +温 åĴĮ +èIJ½ ä¸ĭ +åŀĭ ä¼ģä¸ļ +åĨį ä¹Ł +ä¾Ľ çĥŃ +é«ĺ æ½® +çĢı覽 åύ +çļĦ 巨大 +åħΠ天 +å¹´ ä¸ŃåĽ½ +类似 çļĦ +çIJĨäºĭ ä¼ļ +空 éĸĵ +çģµ æĦŁ +åĬĽ æ°Ķ +带 ä¸Ĭ +ä¸į好 æĦıæĢĿ +æľī ä½ķ +å·² åľ¨ +åıĸ åĩº +è¿Ŀæ³ķ çĬ¯ç½ª +åŃ¦ä¹ł 贯彻 +åľ° 带 +楼 梯 +çŃī æĥħåĨµ +ä»İ åīį +çļĦ ä¹łæĥ¯ +ç³Ł ç³ķ +å°± èĥ½å¤Ł +è© ķ +ä¸Ģ å¾ĭ +æĮ« æĬĺ +åİŁæĸĩ åľ°åĿĢ +å½ĵ å±Ģ +ä¸į éĢļ +æķ° åįĥ +éĺŁä¼į 建设 +æĹ¶ èĬĤ +åģļ èµ· +çļĦ è®°å¿Ĩ +ç½ij绾 å®īåħ¨ +åĩ¡ æĺ¯ +æ° ¯ +éĽķ åĪ» +åŁĥ åıĬ +æĪij åı¯ä»¥ +çĽij çIJĨ +æĽ´ åħ· +åŁİ 管 +èĭ ¯ +åı¥ åŃIJ +èĭ¥ æľī +ä»İæĿ¥ ä¸į +缸åħ³ è´Łè´£ +å®īåħ¨ æĦŁ +æĽ´ è¦ģ +çļĦæĥħ æĦŁ +çī¢ çī¢ +è¾ĥ 好çļĦ +æ° ® +ç¬ij è¯Ŀ +车 å±ķ +ä¹ĭ ç¾İ +ç®Ģ 约 +ç±»åŀĭ çļĦ +èĢģ åĮĸ +çľĭ ä½ł +è¿ĩ åĪĨ +éŨ åīį +ä¸Ģ éĹ´ +æĥ³ åİ» +åª Ľ +åľŁ è±Ĩ +åıĪ ç§° +ä¸Ń ä¿¡ +åŃĺ éĩı +马 äºij +èĩ´ 使 +åħĪ åīį +èĢģ åŃIJ +æīĵ æī® +æ¯ķä¸ļ äºİ +æ¯ķä¸ļ åIJİ +ç¾İ好 çĶŁæ´» +å·¥ä¸ļ ä¼ģä¸ļ +就好 äºĨ +èħIJ èļĢ +çıį çıł +åΰ è¿ĻéĩĮ +æīĢéľĢ çļĦ +è¿Ļæĺ¯ åĽłä¸º +çIJĨæĥ³ çļĦ +å·®å¼Ĥ åĮĸ +é ® +é® ® +äºļ 太 +æĹł ç©· +æıIJ çݰ +ä¸ĵä¸ļ æĬĢæľ¯ +çĶ¢ æ¥Ń +åѦ åŃIJ +ç§ij å¹» +åįłåľ° éĿ¢ç§¯ +ä¸į åĩĨ +æľªæĪIJ 年人 +æĶ¶ å½ķ +è¿ĺ 款 +éĴ¢ çŃĭ +æ¼ ¢ +å¾Ĺ æĦı +综åIJĪ ä½ĵ +æŀģ é«ĺ +åįķ è¯į +é«ĺæķĪ çļĦ +骨 头 +æī§ çĿĢ +缼 ä¸ĸ +模 çī¹ +æĽ´ èĥ½ +ç»Ŀ æľĽ +对åºĶ çļĦ +æ¨ Ĭ +æĸ° ä¸ī +æĸ°ä¸ī æĿ¿ +æģ° æģ° +åIJį å®¶ +æł¸å¿ĥ æĬĢæľ¯ +个 å°ı +æĢİä¹Ī ä¼ļ +说 ä¸įå®ļ +西 çĵľ +åĵ İ +ç¢ Ł +å¿ħ ä¸įåı¯ +å¿ħä¸įåı¯ å°ij +ä¹ĭ éĸĵ +åĪĨ 管 +交éĢļ äºĭæķħ +å¼Ģ åĬŀ +å¾ģæ±Ĥ æĦıè§ģ +äº ¨ +鼻åŃIJ éĥµ +鼻åŃIJéĥµ ä»¶ +ä¿¡æģ¯ æľįåĬ¡ +ä½ł è§īå¾Ĺ +缴 è§Ĥ +å·² å®ĮæĪIJ +åĪĨ ä¼ļ +åĽŀ åįĩ +éļ » +好 人 +äºĨè§£ ä¸Ģä¸ĭ +åį« æµ´ +æľĢ çα +åºŀ 大 +客 æĪ¿ +çijŀ åħ¸ +éĥ½ ä¸įæĺ¯ +é¤ ¨ +èĹ ī +çļĦ åIJĦ项 +为 缮æłĩ +çļĦ è®¤çŁ¥ +å½±åĵįåĬĽ çļĦ +夸 å¼ł +佩 æĪ´ +æ±ĩ çİĩ +çļĦ çαæĥħ +æĺ¥ é£İ +æĺ¯ æĪijçļĦ +æ¨ ¹ +åįĬ å°ıæĹ¶ +å±± åİ¿ +å±± 西çľģ +èĢĮ è¿Ļ +æĽ´å¤ļ ä¿¡æģ¯ +è¿ĺ æľīä¸ĢäºĽ +ç²¾ ç»ĨåĮĸ +ç¾İ åѦ +çͱ æĸ¼ +ä»ħä¾Ľ åıĤèĢĥ +å¾Ī é«ĺçļĦ +åıł åĬł +è¿Ļä¹Ī 说 +å±ķ åĩº +åĽĽ å¤Ħ +ä¸ĩ å®¶ +æĭĽ åĭŁ +çļĦ 强大 +æĤ£ æľī +å°ı äºİ +ä¹Łè®¸ æĺ¯ +对 èĩªå·±çļĦ +èģĮä¸ļ æķĻèĤ² +æĿ¥ è¿Ľè¡Į +æ¡£ 次 +æīĵ èµ¢ +éĥ½æľī çĿĢ +åº ¸ +è¯Ń æ°Ķ +çͲ éĨĽ +空 åĨĽ +车 åĨħ +åĽłä¸º ä½ł +å®ŀ æķĪ +æĥħ ä¾£ +åıijè¾¾ åĽ½å®¶ +éķľ åŃIJ +æ¯į å©´ +ä½Ĩæĺ¯ ä»ĸ +积æŀģ æİ¨è¿Ľ +大å¹ħ 度 +çļĦ 女åĦ¿ +é¤IJ æ¡Į +åIJ¬ å¾Ĺ +çļĦ 积æŀģæĢ§ +好 åIJ§ +æĹ¥ æ¶Īæģ¯ +æľī ä»»ä½ķ +æ¯Ĵ åĵģ +æĹ©çĤ¹ åĬłçĽŁ +第ä¸Ģ 天 +å°½ åĬĽ +æł ĸ +主 æīĵ +æĺ¯ä¸Ģ åIJį +çĪĨ æĸĻ +äºĭä¸ļ åıijå±ķ +å¾® åķĨ +äºİä¸Ģä½ĵ çļĦ +çĶŁ çĮª +èĩªçĦ¶ èµĦæºIJ +çŀĦ åĩĨ +è§Ħ模 åĮĸ +å¹¶ ä¸İ +èĤ¥ èĥĸ +å®¶ ç͍ +大 çĪ· +é¢Ħ åijĬ +æĿ¥ åģļ +éĺ³ åİ¿ +æŀĦ çŃij +é¢ģ å¥ĸ +åİĨåı² æĸĩåĮĸ +æľįåĭĻ æĪĸ +æĢ» åĨ³èµĽ +åıij åŀĭ +æĪij 羣çļĦ +æĽ ¦ +åıĤ ä¼ļ +èĦĨ å¼± +åĩĨ åħ¥ +èħ¹ éĥ¨ +åı¸ 令 +æĤ² åī§ +天 ä¸Ĭ +åı£ ä¸Ń +ä¸ĩ 个 +åѦ ä¸ļ +æıIJ åĢ¡ +两 è¾¹ +大 èĤ¡ä¸ľ +åı¤ éķĩ +è¡Ģ ç³ĸ +çļĦ ç¨ĭ度 +æ£ī èĬ± +åIJİ åı° +å°± åĮ» +æķ´ æķ´ +èĴ ² +çĽĪåĪ© èĥ½åĬĽ +ç± ½ +èĦ « +çľĭ éĩį +å®¶ éķ· +èģĺ ç͍ +èµĽ éģĵ +åīį èĢħ +建 èѰ +å¾ĭå¸Ī äºĭåĬ¡ +èīºæľ¯ åĵģ +æľī èĩªå·±çļĦ +åIJ¦ å®ļ +社 åĽ¢ +åij¨ äºĶ +带 åΰ +å·¥ä½ľ ä¼ļè®® +èĤ¡ æľ¬ +å¤ĸ åĮħ +å®¶ åħ¬åı¸ +çĽij çĭ± +èĪ Ĭ +åIJį æł¡ +西 æ¹ĸ +è¶ħè¿ĩ äºĨ +åįĹ å±± +ç»Ħ ä»¶ +å̼å¾Ĺ 注æĦı +æĮ£ æīİ +äºĭ 迹 +ç¶ĵ çĩŁ +ç§ij 室 +好 åIJĹ +æ¤ħ åŃIJ +åľĪ åŃIJ +ä½Ĩ 她 +æµģ çķħ +åIJĦèĩª çļĦ +èģĮ åijĺ +è¡į çĶŁ +åħ¨ åľº +æĴ¤ éĶĢ +åį´ è¢« +å®ģ éĿĻ +åīį æīĢ +åīįæīĢ æľª +åīįæīĢæľª æľī +主 ä¸ļ +åĮĹ ç¾İ +è¯Ħ å®ļ +åĵģ å°Ŀ +大家 éĥ½åľ¨ +主 å¸ħ +ç»Ĩ å¿ĥ +ä¿¡æģ¯ æĬ«éľ² +çļĦ ç«ŀäºī +éĢĻæ¨£ çļĦ +ç§ijåĪĽ æĿ¿ +éĩĩ æijĺ +票 æį® +éĢIJ å¹´ +èĭ± è¶ħ +è¡Įä¸ļ åĨħ +人 寿 +åIJİ åĭ¤ +å¦Ĥ æĦı +ç¬Ķ è¯ķ +æ·¡æ·¡ çļĦ +ä¸į èĪĴæľį +ä½ĵ 积 +ä¹Łä¸į è¦ģ +éĿ¢ æĸĻ +æł· æľ¬ +ç¥ ģ +æĮī è§Ħå®ļ +大æ¦Ĥ æĺ¯ +æĥħåĨµ è¿Ľè¡Į +åIJĦ åįķä½į +çļĦ ç¬ij容 +åĩºèī² çļĦ +代表 æĢ§ +çļĦ ç¾İ好 +éĴ ¦ +å¾® çĶŁçī© +è¶Ĭ æĺ¯ +æĸ¹ åı¯ +å¹² èĦĨ +éģĬ æĪ² +çļĦ åħ´è¶£ +éĹ® è´£ +åĽłä¸º æĪij们 +èĢĥ éĩı +çĶŁ çĶŁ +éĺ» åĬĽ +ä¸į åħģ许 +æıIJ è®® +åĩı æĮģ +åıªæĺ¯ ä¸Ģ个 +æĪij æĬĬ +åıijçݰ èĩªå·± +å¢ŀ å¹ħ +å¦ į +èĹĿ è¡ĵ +ä¸Ģå®¶ 人 +åĪĨ 级 +çļĦ æķ°éĩı +è½® èŀįèµĦ +çŃī åĽłç´ł +大 夫 +èģĺ 请 +é£İ æľº +绽 æĶ¾ +ä»»ä½ķ ä¸Ģ个 +éł Ĥ +éĺ¶ çº§ +æĬĬ 她 +è¿Ľ åĨĽ +èĥ½ åģļåΰ +åŁ¹è®Ń æľºæŀĦ +çī© æĸĻ +ç«¥ è¯Ŀ +æĮĩ导 æĦıè§ģ +éĺ ® +æ·±åħ¥ æİ¨è¿Ľ +主 æľº +æ¸Ķ ä¸ļ +ä¸į æľį +æµĵ éĥģ +è¡Ĺ ä¸Ĭ +ä¾Ŀ 次 +æĹ¶ 段 +æ¢ µ +çļĦ åĸľçα +å¾Ī éķ¿ +åĪĿ 级 +æŀľ æĸŃ +æĬ¢ æķij +é¼ĵ èĪŀ +ä¾Ľ éľĢ +æ·±åħ¥ å¼Ģå±ķ +产ä¸ļ éĽĨ群 +åĻª éŁ³ +åIJ¬ çĿĢ +æ·±åĪ» çļĦ +å¿į åıĹ +ç͵ ç£ģ +强 èĢħ +æ»ĭ åij³ +æĽ¼ èģĶ +åı¯ä»¥ 缴æİ¥ +大 ç±³ +æŃ· åı² +æĶ¿åĬ¡ æľįåĬ¡ +åħ¬ å¼ı +社 群 +éģĵ士 èģĮä¸ļ +ä¹ĭ æĥħ +æµ· æ°´ +æ¼Ķ å¥ı +åºĹ éĩĮ +迹 象 +åıijå±ķ çIJĨ念 +é«ĺ 空 +åij¨ åĪĬ +åĽŀ åΰäºĨ +ä¸į éĢĤåIJĪ +åłµ å¡ŀ +åĬ Ī +æ°´ ä¸Ĭ +çĢij å¸ĥ +纳ç¨İ 人 +çĩĥ æ²¹ +å·¥ç¨ĭ é¡¹çĽ® +峡 è°· +æľī éĴĪ对æĢ§ +åľĨ å½¢ +æľ¬ å¸Ĥ +è¿Ļ è¯Ŀ +管çIJĨ èĢħ +ç¡®è¯Ĭ çĹħä¾ĭ +æĬĬ æīĭ +彩 èī² +ä¸Ĭ åīį +夯 å®ŀ +ç¾Ĭ èĤī +å¾Ģ å¹´ +æĵħ èĩª +è¿· 人 +èĪª æ¯į +ç²¾ ç»Ĩ +åľ¨ æĪijçļĦ +åĪĽ æĬķ +麦 åħĭ +æľĪ ç»ı +åĮĹ æµ· +ä¹ĭ æĺŁ +åı¶ åŃIJ +å¸Ĥåľº ç«ŀäºī +è¿Ļ äºĭ +åıĥ èĪĩ +产 åľ° +åĶ ī +åķĨåĵģ æĪ¿ +èĪª è¿IJ +ä¼ĺ å¼Ĥ +ä»ĸ们 æĺ¯ +鼨 æ°´ +è¯į æ±ĩ +åĨľ çͰ +欧 éĺ³ +çŁŃ 线 +管 ç½ij +æł¹ åŁº +åıªæľī ä¸Ģ个 +éŀĭ åŃIJ +å¸Ĥ å§Ķ书记 +åĪ» æĦı +è¡Į 车 +åıĪ è¢« +åı¯éĿł æĢ§ +è´ ± +ä»» åij½ +åºĶ åľ¨ +å°± å¾Ĺ +æľįåĬ¡ ä½ĵç³» +æĶ¿ æĿĥ +åıijè¨Ģ 人 +è¿ĩ å¾Ģ +两 åıª +èϽ 说 +éĢģ ä¸Ĭ +ä»Ģä¹Ī äºĭ +æķ£ æĸĩ +æİĮ æİ§ +èĸĦ å¼± +ä¸ĭéĿ¢ å°± +主è¦ģ åĨħ容 +å¾Ī éĩįè¦ģçļĦ +å°± 说 +çϽèī² çļĦ +éĤ£ä¸ª æĹ¶åĢĻ +ç»ı纪 人 +çļĦ æ¯į亲 +ç¬Ķè®° æľ¬ +åºķ å±Ĥ +è¿ij 代 +è§£ 说 +è²ł 責 +æľĢ大 åĮĸ +åķĨ éĵº +æł¡ åıĭ +æ² ģ +ä¸į åĩºæĿ¥ +éĻ· éĺ± +ç¨ ħ +åħ¬å¸ĥ äºĨ +åĩĢ å̼ +çĽ¸å¯¹ è¾ĥ +ç¬ Ľ +æł¸ ç®Ĺ +åįİ ä¾¨ +æĢ¥ æķij +æĮº 好 +åħĴ ç«¥ +äºĮ èĥİ +åĩº èĩª +åĿ Ł +æīĭ ä¸ĭ +å± ¡ +åĪĽéĢł æĢ§ +ä¸¥æł¼ æĮīçħ§ +åĨį åİ» +举 缣 +人 æµģ +äºĨä¸Ģ 声 +å°ıæĹ¶ åīį +è´µ æĹı +éľ ĸ +ä¹Łæĺ¯ éĿŀ常 +éĢ ± +çľĭäºĨ çľĭ +ç¹ģ æ®ĸ +èĩ³ æŃ¤ +é¢Ħ å¤ĩ +å¾Ī æĺİæĺ¾ +æ¼Ķ èīº +åĿIJ çĿĢ +ä¿Ħ åĨĽ +åľ¨ è¿ĩåİ» +ä¹ĭ äºĭ +æĬĵ èİ· +åĿIJ ä¸ĭ +çͱ ä¸ŃåĽ½ +ä¹Ł å¼Ģå§ĭ +çŃĶ å¤į +åŀĥåľ¾ åĪĨç±» +éĴĵ é±¼ +åIJĦ 種 +缸 éģĩ +ä¸įåģľ çļĦ +æī¹ éĩı +éĩįè¦ģ ä½ľç͍ +å§Ķ å±Ī +åħŃ å¹´ +ä¸ĥ åįģ +ä¹ĭ æĪĺ +é£İéĻ© 管çIJĨ +éŁ³ æ¨Ĥ +è¡ĮæĶ¿ å¤Ħç½ļ +æľ¬ äºĭ +æĴ° åĨĻ +èģļ åIJĪ +éĢĤ æĹ¶ +æIJ¬ å®¶ +ç¢İ çīĩ +缼 å®´ +ç®Ģ æ´ģ +åı¬ éĽĨ +ç®Ģ åĮĸ +åĮĹ京 æĹ¶éĹ´ +第ä¸ī å±Ĭ +æĿ¥ åĽŀ +常ç͍ çļĦ +京 æ´¥ +京津 åĨĢ +梦 å¹» +è¯ķ è¡Į +æľº åºĬ +åΰ æľĢåIJİ +åĬ© æīĭ +åĪĨ 彩 +åĩº åĵģ +åι 车 +åIJ¯ åıij +ä¾§ éĿ¢ +æ¯ı å½ĵ +缸åħ³ è§Ħå®ļ +ä¸ĸ 人 +è´Ń 车 +å¿ĥ 缮 +å¿ĥ缮 ä¸Ń +äºĶ éĩij +è¿ĺ è®°å¾Ĺ +ä¾Ŀ çĦ¶æĺ¯ +æıIJ æ¡Ī +ç͵åķĨ å¹³åı° +åģļ åΰäºĨ +æĿľ ç»Ŀ +å®ī åįĵ +ä¸ĸçķĮ åIJĦåľ° +åīį éĢĶ +æ´Ĺ åĩĢ +å¥ĭ åĬĽ +åŁİå¸Ĥ 建设 +å¤ļ åĬŁèĥ½ +ä¼ļ éĢłæĪIJ +åıijå¸ĥ ä¼ļä¸Ĭ +ç©¶ 竣æĺ¯ +åĪĨ 红 +çŁ¥ èŃĺ +éĿ¢ æĿ¿ +æĹł 声 +æĢ¥ éľĢ +失 çľł +çΏ å¦Ī +äº Ĥ +åħ¨ æĻ¯ +ç»ıåħ¸ çļĦ +åī§ ä¸Ń +é¢Ĩ导 ä¸ĭ +åħļ åĨħ +åħ¥ ä¾µ +æĭī æĸ¯ +ä¸Ģ å¹ķ +åĬł ä¹ĭ +èĤ Ĩ +èĭ± æł¼ +èĭ±æł¼ åħ° +å·§ åħĭ +å·§åħĭ åĬĽ +ä¸Ģ å¿ĥ +èģ Ĥ +å¾Ģå¾Ģ æĺ¯ +管çIJĨ å±Ĥ +çĻ» åħ¥ +建ç«ĭ èµ· +建 åĽ½ +åŃIJ 宫 +åºĶ ä»ĺ +æİ¢ ç©¶ +第ä¸Ģ ä½į +ä½Ļ å®¶ +çŃī æ´»åĬ¨ +æīĢ èĩ´ +è¾ĥ å¿« +æĺ¯ éĿŀ +æıIJ åIJį +äºĮ èĢħ +åıªåī© ä¸ĭ +åħ¶ä¸Ń åĮħæĭ¬ +ç¼ĸ ç¨ĭ +çł´ ç¢İ +ä¸Ń 举 +å·¥ä½ľ æĬ¥åijĬ +çѾ åIJį +éħĴ ä¸ļ +çŁ¥ æĻĵ +çĥŃ å¿ĥ +éĿŀ åĩ¡ +èIJ¥ä¸ļ æī§ +èIJ¥ä¸ļæī§ çħ§ +人大 代表 +ä¸Ģ个 æĸ°çļĦ +å¨ģ æµ· +éĤ£ 人 +涨 ä»· +æ¶Ī çģŃ +éļ¾ å¿ĺ +ç¶ĵ é©Ĺ +åı£ è¢ĭ +ç³» æķ° +æĸĩ ä¸Ń +好 转 +æĸ° 鼶åĶ® +讲述 äºĨ +å¼Ģ çĽĺ +çķĻ ç»Ļ +æħ¢æħ¢ çļĦ +æĤ² 伤 +æľ¬ æľŁ +äºĨ å¤ļå°ij +è¿Ļ 让 +åIJĮ çŃī +æ¸ħ æĺİ +个 åŁİå¸Ĥ +æºĸ åĤĻ +åĩłä¹İ æĺ¯ +强 åĬĽ +ä¿ ¯ +æ°´ 稻 +åĽºå®ļ çļĦ +æł¸ åĩĨ +说 æľį +顯 示 +è¿Ļ å¥Ĺ +æĻºæħ§ åŁİå¸Ĥ +å±ĭ é¡¶ +ä¸į æĿ¥ +çĶŁ é²ľ +çŁ¥ æĥħ +æĬķ 身 +åijĬè¯ī æĪij们 +ä¸ī åĽĽ +ä¸ĩ ä¸Ģ +è¾Ĩ 车 +为 ä¹ĭ +åΰ æĹ¶åĢĻ +è¿Ļ æīįæĺ¯ +åIJį çīĮ +åºŁ æ°´ +åݻ年 åIJĮæľŁ +å¹´ éĻIJ +éģĭ åĭķ +åıĮ çľ¼ +è¦ģ ç´§ +对 çŃĸ +åľº é¦Ĩ +çϾ ç§ij +è¶Ĭ éĩİ +å¯Į åIJ« +大å¤ļæķ° 人 +æľĢ å°ij +åı¬ åͤ +åħ¸ èĮĥ +åĨľ æľº +æŃ£ æĸĩ +åºĶç͍ äºİ +æ·± èĢķ +ä¿ Ń +ä»Ģä¹Ī ä¸ľè¥¿ +å¥Ĺ é¤IJ +å½ĵ éĢī +å·¦ æīĭ +è°ĥ çIJĨ +æĻļ é¤IJ +éļ¾ åħ³ +åĩŃ è¯ģ +çα 人 +æĮĩ è´£ +è´£ ç¼ĸ +çļĦä¸Ģ 款 +éĵ ² +åįģ 个 +èĢ » +æľįåĬ¡ åķĨ +åľ° çĭ± +è¿ŀ å¿Ļ +åĽ° æĥij +çļ ĵ +ä¸į åIJĥ +çİ°åľ¨ å·²ç»ı +çĽĺ çĤ¹ +ä¸įåģľ åľ° +管çIJĨ 模å¼ı +è¿Ļ 段æĹ¶éĹ´ +æ¤ ° +礼 åĮħ +æµģ 转 +æī« çłģ +éĽĨä¸Ń åľ¨ +æ±Ĥ åĬ© +åįĬ 个 +å¿«éĢŁ å¢ŀéķ¿ +å¾Ģ ä¸ĭ +è¯Ħ åĪĨ +å°± æĥ³ +åķĨåĬ¡ éĥ¨ +æľī éĹ®é¢ĺ +èİ· åĪ© +æ¯Ľ çĹħ +æĦŁ åºĶ +èī¯ æĢ§ +åĪĨ æŃ§ +åĨ ī +æĪij们 çİ°åľ¨ +è¦ģ åĬłå¼º +å·§ å¦Ļ +èŀº æĹĭ +åĪĩ æį¢ +çĭ Ħ +顺 çķħ +å°¤åħ¶ æĺ¯åľ¨ +èĬĿ 麻 +éļ¾ è¿ĩ +æĹĹ å¸ľ +å¤į åį° +å¤įåį° ä»¶ +å¿ħ éľĢ +对å¤ĸ å¼ĢæĶ¾ +éļ¾ åıĹ +åİŁæĿ¥ æĺ¯ +ç®Ĺ äºĨ +é«ĺ å±± +离 èģĮ +çµĦ ç¹ +çµĦç¹ Ķ +å±ģ èĤ¡ +çϾ å®¶ +éģĩ ä¸Ĭ +æĺĶ æĹ¥ +ä¸į 容 +çĽij管 éĥ¨éŨ +主 æĦı +æµģ åŁŁ +è·Į å¹ħ +èĩ³ ä¸Ĭ +åĪ« 说 +æĺ¯ æ¯Ķè¾ĥ +å®ıè§Ĥ ç»ıæµİ +å¸Ĥåľº 主ä½ĵ +污æŁĵ çī© +æķij æ²» +丰 æĶ¶ +åŃĺ æĶ¾ +åĩ Ħ +éĩij å±± +æį¢ äºĨ +ä¸ĵ 人 +éĹľ æĸ¼ +æĹ¢ è¦ģ +åĽ½ è¶³ +éļ ĭ +åıį åĩ» +èµ· 身 +åħĪ æĺ¯ +å¸ĮæľĽ èĥ½å¤Ł +åζ 订 +åºĹ éĿ¢ +åĸ Ģ +æķĻ ä½ł +éĻį æ¸© +åĬĽ æ±Ĥ +ä¸ī çϾ +çī© ä»· +丢 失 +å¢Ļ ä¸Ĭ +éĥ¨ 份 +æł· æĿ¿ +ä¹ĭ æĦı +ç½ij å°ıç¼ĸ +ä¸ĸ ä¸Ĭ +è°ĥ è¯ķ +污æŁĵ éĺ²æ²» +å½± éĻ¢ +å®Įåħ¨ åı¯ä»¥ +éĢļ åħ³ +ä¹īåĬ¡ æķĻèĤ² +没æľī åĬŀæ³ķ +èĢ ¿ +å¦ ³ +æĹł æĥħ +å¾Ĺ çĽĬ +å¾ĹçĽĬ äºİ +æľŁ çĽ¼ +娱ä¹IJ åľº +çͲ æĸ¹ +ä¸Ģ æ±½ +çĹ ° +çĸij ä¼¼ +æĸ°æµª å¾®åįļ +强 è¡Į +å½ĵ ä»ĸ +èĥ º +ç͍æĪ· æıIJä¾Ľ +åĮº å§Ķ +æĦ¿ æĻ¯ +æĬĺ æī£ +失 踪 +è¿« åĪĩ +åŃĹ æ¯į +åĴ ¯ +èªį èŃĺ +ä»Ģä¹Ī æĦıæĢĿ +çĽĴ åŃIJ +å½ķ éŁ³ +建设 å·¥ç¨ĭ +ä¸ļ ä½Ļ +å®ŀè·µ æ´»åĬ¨ +羣 空 +çĤ ĸ +åľ¨ è·¯ä¸Ĭ +主è¦ģ åĮħæĭ¬ +该 æĢİä¹Ī +æĢ» æľī +æĢ§ æĦŁ +æ°ij èĪª +å¼Ģ åºĹ +欺 éªĹ +çªģ åĩ» +缺 失 +æī§ ä¸ļ +åľ° éģĵ +å¹¶ æĹł +æ°ij åĬŀ +ç»Ħç»ĩ çĶŁæ´» +æĪij å¦Ī +è¨ĺ èĢħ +管 åζ +æī¾ 个 +èĹ » +çĤİ çĹĩ +äºĴ åĬ© +æµıè§Ī åύ +çݩ家 æĿ¥è¯´ +éĻįä½İ äºĨ +è£ Ķ +æĮ£ éĴ± +åķĨ æľº +æĶ¹ è£ħ +æµģ 浪 +æĶ¿ æ³ķ +èĢģ 头 +çĶŁäº§ åĴĮ +ç© Ĺ +亲 çα +亲çα çļĦ +å±¥ èģĮ +åŁİ éĩĮ +ç»Ĩ åĪĨ +åĬ³åĬ¨ åIJĪåIJĮ +åľ¨ æĹ¥æľ¬ +å¨ģ å°Ķ +åį« è§Ĩ +éĢ£ çµIJ +çĿĢ éĩį +æĬĺ 磨 +åĽ¾ 为 +çľ · +å·¥ åºı +æĵ ģ +æĵģ æľī +ç½ijç«Ļ åľ°åĽ¾ +çļĦä¸Ģ 大 +ç»Ħç»ĩ å®ŀæĸ½ +æĬĽ å¼ĥ +åĴĮ æĶ¯æĮģ +æ³ķ åĪĻ +浪 æ½® +çݰ æľīçļĦ +åĩł çİĩ +为 客æĪ· +åįģ ä¸ĩ +è ¹Ħ +çªģåĩº éĹ®é¢ĺ +åıĥ åĬł +éĥ½ä¼ļ æľī +çĽ ¤ +è°ģ éĥ½ +æīĭ åĬ¨ +缴 è¾¾ +çĤ¹ å¤ļ +éĺ¶ å±Ĥ +ä¸į ä½³ +éĤ£ 段 +滨 æµ· +æĺ¯ åĽ½åĨħ +æĪij å¸ĮæľĽ +åIJĽ åŃIJ +è§Ĥ éŁ³ +åģļ é¥Ń +æ±½ è»Ĭ +åħ³ ç¨İ +çľ¼åīį çļĦ +æ°´ éĿ¢ +è̳ æľº +追 踪 +æİ¨ éĢģ +éĴ± åĮħ +æģ¶ å¿ĥ +æµ· åŁŁ +å· į +å¼Ģ æĿ¥ +表 æĢģ +仪 表 +å¹³ åİŁ +åįģ å¤ļå¹´ +ä¹Ł æĹłæ³ķ +åħ¼ 顾 +è¡£ æŁľ +æł½ åŁ¹ +æĪ¿ æºIJ +设ç«ĭ äºĨ +ä¸ĩ åIJį +æķ° é¢Ŀ +è¦ģ åĿļæĮģ +åIJīæŀĹ çľģ +请 èģĶç³» +ç»ıåİĨ è¿ĩ +çļĦ æľ¬è´¨ +åħ¥ éŨ +æľ¬ æ¡Ī +çİĩ è¾¾åΰ +åı° éĺ¶ +éĴ ŀ +æĪij èĥ½ +èݲ èĬ± +éĴ ł +ä¸Ģ äºĭ +åİŁ æľīçļĦ +æ¯ı åĢĭ +æ¯Ķäºļ 迪 +æ£ĭçīĮ 游æĪı +ä¸įä¼ļ æľī +å½Ĵ æĿ¥ +äºĶ çϾ +è¿ĩ é«ĺ +鼷 è¾¾ +ä¸Ģèµ· åİ» +æķĻ å¯¼ +å°± è¯Ĭ +å°± å¾Ī +ä¸įåIJĮ äºİ +ä¿ º +å¸ĸ åŃIJ +æĶ¿åįı å§Ķåijĺ +çĸ«æĥħ å½±åĵį +åĪĨ è£Ĥ +为ä»Ģä¹Ī ä¼ļ +äºĶ æĺŁ +å°ij åĦ¿ +æĬ¢ éĻ© +梦 è§ģ +è®°èĢħ éĩĩ访 +å±± è·¯ +æĪij 个人 +æ²Ļ 滩 +è¹ Ń +æĶ¹ è®Ĭ +æĸ°åŀĭ åĨł +æĸ°åŀĭåĨł çĬ¶ +åĮ» æĬ¤ +åĮ»æĬ¤ 人åijĺ +æµ· å°Ķ +åħ³äºİ æĪij们 +éϤ å¤ĸ +åº ļ +宣 åijĬ +ä¸ī åįĥ +æ¦ ¨ +ç§ijæĬĢ å¤§åѦ +ä¸ĥ åħ« +顺 åºĶ +çΏçΏ å¦Īå¦Ī +éĢī åıĸ +åī§ çĥĪ +乡æĿij æĹħ游 +积æŀģ æİ¢ç´¢ +表çݰ 为 +å¾Ī æ¸ħæ¥ļ +大 åĨĽ +æĿ¥ ç͵ +å¥Ĺ æĪ¿ +çݰ è¡Į +享 åıĹåΰ +çľĭ çĤ¹ +åĽºå®ļ èµĦ产 +以 人为 +以人为 æľ¬ +ä¸į å®Į +éĻį 鼨 +åģļçļĦ äºĭæĥħ +å¹¶ äºİ +顽 强 +èĢ ¸ +åĺ´ å·´ +缸åħ³ ä¿¡æģ¯ +æĪij 没 +æĪĺçķ¥ æĢ§ +æĢĿ 念 +åĪĺ å¤ĩ +åĬ© æĶ» +é£İ è²Į +éĿ¢å¯¹ éĿ¢ +积æŀģ å¼Ģå±ķ +çĸĹ æķĪ +çľĭ 书 +缺 åı£ +åĽ½æ°ij ç»ıæµİ +使ç͍ æĿĥ +éģ¥ è¿ľ +å¡« è¡¥ +第ä¸ī 人 +åįĬ å¤ľ +æŃ¦æ±ī å¸Ĥ +æĪij åıijçݰ +ä¼ĺæĥł æĶ¿çŃĸ +é£İ åı£ +å°± ä¸įèĥ½ +为 主è¦ģ +æµģ åĩº +å´ĩ æĭľ +å¹¶ ä¸įèĥ½ +é«ĺ ä¸ī +ä¸ĸçķĮä¸Ĭ æľĢ +æĥ³ å¿ħ +åħ¶ æīĢ +åĢĻ éĢī +åĢĻéĢī 人 +ä¸į çα +åī¯ ä½ľç͍ +人æ°ij æĹ¥æĬ¥ +æĪij ä¸įæĺ¯ +å®ŀ çī© +ç͵ åİĤ +ä¹Ł ç®Ĺæĺ¯ +æľī éĹľ +æľī èĥ½åĬĽ +æĮĤ åľ¨ +çľ¼ ä¸ĭ +约 ç¿° +å°ı åѦçĶŁ +èµ· åΰäºĨ +å·¥ 夫 +åIJĮ å¿ĥ +åĿ¦ è¨Ģ +çł Į +åıijæĮ¥ äºĨ +èģĮä¸ļ éģĵå¾· +è¿ĻäºĽ å¹´ +念 头 +èĢģ é¼ł +åħ¨ èµĦ +åħ¨èµĦ åŃIJ +ä¸Ģ åij³ +å¤ļ ä¸ĩåħĥ +æł¼ æľĥ +éķ¿ éĢĶ +带 èµ° +èĭ± 寸 +æĸĩ ä½ĵ +对 ä»ĸ们 +åĵŃ äºĨ +å¡« æĬ¥ +çīĪæĿĥ 声æĺİ +ç͵ 线 +è´Ńçī© ä¸Ńå¿ĥ +饱 满 +ä½İ 头 +强 è¿« +ä¿Ŀ æ´ģ +欧 åĨł +缸 è¿ŀ +认 è´Ń +çģ« æĺŁ +é«ĺ å°Ķ +é«ĺå°Ķ 夫 +èij« èĬ¦ +æłĩ 注 +çļĦ çIJĨæĥ³ +æł¸ éħ¸ +æł¸éħ¸ æ£Ģæµĭ +åĬ ī +ä¸Ģèά æĺ¯ +æĢĿ ç´¢ +轨 迹 +çĥŃ å¸¦ +éĻ £ +åĩĨç¡® æĢ§ +æĪ´ çĿĢ +åľ¨ çĶŁæ´»ä¸Ń +æīĢ èĥ½ +æľ¯ åIJİ +带 ä½ł +ç¥ ł +æ®ĭ éħ· +ä¹Ł åıªæĺ¯ +çͳ è´Ń +举åĬŀ äºĨ +æľī æĦıä¹ī +æĹº 缼 +åľ¨ ç¶² +åľ¨ç¶² è·¯ä¸Ĭ +å¾Ī大 ç¨ĭ度 +管 è¾ĸ +çĸ«æĥħ æľŁéĹ´ +触 æij¸ +éĺ¶æ®µ æĢ§ +ä¼ļ è§īå¾Ĺ +çļĦ çĶ»éĿ¢ +æİ¥åıĹ äºĨ +表达 äºĨ +éĤĵ å°ı +éĤĵå°ı å¹³ +åħļ é£İ +åħļé£İ å»īæĶ¿ +åķĨ åѦéĻ¢ +åħij æį¢ +é£Łåĵģ èį¯åĵģ +éĿŀ常 好çļĦ +çľ ¯ +纳 ç±³ +åĬ¨ æijĩ +åĽŀ éģ¿ +çľĭ èijĹ +款 项 +åħ« å¹´ +åģļ 个 +æĸĩ æ¡£ +éĩijèŀį ç§ijæĬĢ +åħ¶ä¸Ń æľī +äºĨä¸Ģ ç³»åĪĹ +æĹĹèΰ åºĹ +ç§° èµŀ +éĽ¢ éĸĭ +åζ åĨ· +å®¶ éŨåı£ +åįģ å¤ļ +ä¼´ ä¾£ +çľĭ çĹħ +æĭī çĿĢ +æī Ĵ +çĸ² æĥ« +å°ijæķ° æ°ijæĹı +åĽ¾ å½¢ +è½ § +å¢ŀ éĩı +饲 åħ» +çģ« å±± +æ¯ı 个æľĪ +ä½ľä¸º ä¸ĢåIJį +è½´ æī¿ +æĸĩ 书 +ç¼ ķ +åħ·ä½ĵ æĥħåĨµ +çĹĽ çĤ¹ +缴 éĶĢ +å¡ Ĭ +ä¹Ł æľĥ +çĥŃ æ½® +å¹³ æ°ij +æ¼Ķåͱ ä¼ļ +æķĻ çłĶ +éĢĥ éģ¿ +ä¸Ģ è´¯ +å°± è¶Ĭ +å®ŀ å®ŀåľ¨ +å®ŀå®ŀåľ¨ åľ¨ +ä¹łè¿ijå¹³ æĢ» +æº º +å¿ĥ åºķ +éķ¿ å¾ģ +媽 媽 +第ä¸ī 次 +åĩº æ¼Ķ +çĭĢ æ³ģ +å°Ķ æĸ¯ +代çIJĨ åķĨ +çĨ ı +çļĦ 对象 +ç͵ éĩı +è¡Į åĪĹ +åĽ½ 人 +è·ij äºĨ +åįĶ åĬ© +èIJ¥ è¿IJ +å¸Ī åħĦ +æ¦ ® +æĥ³ åĥı +æĢ§ 强 +ç§ijåѦ çłĶç©¶ +å»¶ å®ī +ä¸¥æł¼ èIJ½å®ŀ +é¢Ĩ ä¼ļ +缸 å·® +è·¯ 人 +çĶ « +æľī ä»·å̼ +æľīä»·å̼ çļĦ +ç¾İ åĽ¢ +æ°ij主 çĶŁæ´» +æĪij æīį +ç¾İåĽ½ 人 +æ°Ķ åij³ +åıį å°Ħ +çļĦ åĨ³å¿ĥ +大 è±Ĩ +交 代 +è¿Ľ åĩº +åıį æĬĹ +æĮĩ çļĦæĺ¯ +ä»· ä½į +è¿Ľ é©» +ä¸Ĭ çϾ +ä½į åĪĹ +ä¸ŃåĽ½ ä¼ģä¸ļ +çļĦ好 å¤Ħ +主 ç¼ĸ +æ±½ æ²¹ +ä½Ĩ æĪij们 +æĢİä¹Ī çľĭ +é»Ħ å±± +å¤ļ åªĴä½ĵ +åIJİ åį« +èİ·å¾Ĺ æĽ´å¤ļ +åĬ¡ å¿ħ +为 å¥ijæľº +é¦ĸ 饰 +ä¸ĩ åįļ +è¶ĬæĿ¥è¶Ĭ 大 +ä¸ĵ项 è¡ĮåĬ¨ +å¥ĭ è¿Ľ +ä»į çĦ¶æĺ¯ +è´¨ æĦŁ +å¦Ĥæŀľ ä¸įæĺ¯ +ç«Ļ èµ·æĿ¥ +ä¹¾ éļĨ +åı¯æĢķ çļĦ +å¯Į è´µ +æ¸ħ ç®Ĺ +åIJij ä¸ĭ +åĢ ļ +çļĦ çŃĶæ¡Ī +èι ä¸Ĭ +çļĦ羣å®ŀ æĢ§ +çŃī åĬŁèĥ½ +åĸľ åī§ +å¨ģ åĬĽ +æĸ° é¢ĸ +æł¸ ç͵ +æĬ¥ éĶĢ +æķħ 乡 +ä¼´ éļı +éŀ Ń +å¦Ĭ å¨ł +åĪĨ åĮĸ +æľī å¾Ī大 +æĢİä¹Ī 说 +æĻĤ 代 +产 åĩº +ä»ĭç»į 说 +å¤ĦçIJĨ åύ +èĨ¨ èĥĢ +åī¯ å¸Ĥéķ¿ +çļĦ 妻åŃIJ +æł· åĵģ +åIJĮæ¯Ķ ä¸ĭéĻį +åħĥ å·¦åı³ +ç͍ èĩªå·±çļĦ +é«ĺ éĽĦ +æĺ¥ æĻļ +ä¹Ł æľīå¾Īå¤ļ +çľ¼ çIJĥ +æķ£ æŃ¥ +ä»ĸ们 éĥ½ +第ä¸Ģ å®¶ +åĬŀ 好 +å®ī éĺ² +ä¸Ģ ä¸ĩ +åľ¨ éĩĮéĿ¢ +éŁ³ é¢ij +åı£ åı· +ä¸Ģ è¶Ł +ç¦ı çī¹ +é³ ŀ +æĥĬ èī³ +æĸ° å¨ĺ +绿èī² åıijå±ķ +ä¸Ń å¼ı +ä¹Ł åıªæľī +çݰ 身 +åı¯ ä¾Ľ +æ¯ı ä¸Ģ个人 +第ä¸ī èĢħ +åľ° å½¢ +éĴ¢ ç»ĵæŀĦ +çĽijçĿ£ æ£ĢæŁ¥ +åı« æĪij +èĩ´ æķ¬ +æ´Ĺ æīĭ +ä¸ĭ è°ĥ +康 çĨĻ +æĪIJ交 éĩı +ä¹Ł æĪIJ为 +åħī æ»ij +å®Įæķ´ æĢ§ +çģ ¼ +ç¶² éłģ +éķ¿ å¯¿ +éģ© ç͍ +çļĦä¸Ģ 项 +çŀ© 缮 +æĬĬ èĩªå·±çļĦ +éĵ¶è¡Į åį¡ +å°± å¿ħé¡» +ç¾İ çϽ +éŀį å±± +æľ¬ é¢Ĩ +ä¸Ģ ç¢Ĺ +æīĵ æ³ķ +æĤ¨ 好 +对 åŃ©åŃIJ +æĬ¥éģĵ ç§° +ä¼ł åĩº +大 èĩ£ +ç¬ ĭ +çĽ ı +é¾ ļ +缴 线 +æĻº åºĵ +ç§Ł 车 +é£İ åij³ +çľĭ ä¸Ģä¸ĭ +æİ¨ éĶĢ +éĥ¨ éĥ¨éķ¿ +è´¨éĩı åĴĮ +åĪĬ çĻ» +å·¥ä¸ļ åĮĸ +çİĩ 为 +鼶 ä»¶ +硬 åĮĸ +ä¸Ĭ åįĥ +ç»ıéªĮ å̼ +å¹³ è¡Į +声 éģĵ +æľįåĬ¡ è´¨éĩı +çĶŁ çĶ¢ +æľĢ 容æĺĵ +ä¸Ģ æŀļ +å¹´ æĬ¥ +åħ¬ ç½ij +åħ¬ç½ij å®ī +åħ¬ç½ijå®ī å¤ĩ +çļĦ èĥ½éĩı +å®ŀéĻħ è¡ĮåĬ¨ +è¦ģ ä¸įè¦ģ +æĹ¥æľ¬ 人 +è̶ 稣 +ç¼ĸ åī§ +æ¶ © +åį° å°¼ +ä¸Ĭä¸ĭ 游 +åĩł åı¥ +ä¸Ń éĵģ +ç°¡ åĸ® +èĩª 带 +çĶŁ äºİ +ä¸Ģ åı£æ°Ķ +åĭ¤ å¥ĭ +éĻį ä»· +å±ķçݰ äºĨ +å¸ĥ æĭī +ä¼ļ éĢīæĭ© +çļĦ ç»ıåħ¸ +好 æľĭåıĭ +车 éģĵ +æķ´ åĢĭ +åľ ĵ +éķ¿æľŁ 以æĿ¥ +æĬķ å½± +çļĩ åĨł +è¿ĩ 大 +åijĬè¯ī ä»ĸ +ä¼ģä¸ļ æıIJä¾Ľ +æĬ½ 象 +éĢĤ 度 +çļĦ 女åŃ© +èµ· ä¼ı +çļĦ åĬŁæķĪ +ä¸ĵ项 æķ´æ²» +åı¯ éĢļè¿ĩ +ä¸įåIJĮ ç¨ĭ度 +å¼Ĥ è®® +åĩĢ èµĦ产 +åij Ĺ +ä»Ģä¹Ī åij¢ +å·¡ éĢ» +è¸ı ä¸Ĭ +ä½Ĩ å®ĥ +ç²¾ 度 +管 å±Ģ +第ä¸Ģ åIJį +åĨħ åŃĺ +æijĨ åľ¨ +åī© ä¸ĭ +主ä½ĵ 责任 +çĤ¹ åįĬ +以 èĩ³äºİ +åħ»èĢģ ä¿ĿéĻ© +æĦŁåıĹ åΰäºĨ +çŁ¥åIJį çļĦ +å¯Į 豪 +妥 åĸĦ +åŃĻ åŃIJ +éĵ Ĥ +说 èĩªå·± +让 æĤ¨ +æķ° æİ§ +çļĦçľ¼ åħī +注 éĶĢ +çļĦ çģµéŃĤ +è¿ĺ ä¸įéĶĻ +éĹ® ä»ĸ +èĩªä¸» çłĶåıij +èĵ ĭ +ç´« èī² +åĽ½å®¶ å®īåħ¨ +è¾½å®ģ çľģ +ä¹Ł æ¯Ķè¾ĥ +ç¾İ èĤ¡ +ä¸įç¡®å®ļ æĢ§ +å¿ĥ 头 +æĪ ³ +级 åĪ«çļĦ +论 è¿° +çļĦ åĽŀçŃĶ +ä¿Ŀè¯ģ éĩij +çŃī è¡Įä¸ļ +幸ç¦ı æĦŁ +æŃ§ è§Ĩ +æľº 票 +æ´¾ 人 +èĩ´ åij½ +åĺ´ è§Ĵ +æĸ°éĹ» ä¸Ńå¿ĥ +æĶ¾å¼ĥ äºĨ +å®ľ å±ħ +åĨĻ ä¸ĭ +éĹ® çŃĶ +è¿ĻéĩĮ æĺ¯ +å¤ļ åľ° +åĮºåŁŁ åĨħ +åīµ æĸ° +çľĭ ä»ĸ +æī§æ³ķ 人åijĺ +åĬ¨ æľº +éŁ³ åĵį +çļĦ åij½è¿IJ +é¡¶ éĥ¨ +åĵ Ł +éĥ½ æľĥ +æīĵéĢł æĪIJ +æĦı åĽ¾ +çļ ĸ +åĢĴ åħ¥ +å·´ èIJ¨ +åĬ© åѦ +å¤į åı¤ +åIJ¯ ç͍ +åĽ½éĻħ å¸Ĥåľº +åĤ¨ èĥ½ +é»ijé¾Ļæ±Ł çľģ +ä¹ĺ 车 +è¿IJåĬ¨ ä¼ļ +ä¿Ŀ åĪ© +çŁ³ æĿIJ +çµ ® +çĤĴ ä½ľ +çļĦ ä¿¡ä»» +å°± æĪIJäºĨ +åı¯ è§Ĥ +çļĩ ä¸Ĭ +è¿Ļ åĩłå¤© +ä¸Ģ éĶ® +åĨ· åĨ» +ä¿Ŀ åį« +æł¸ æ¡ĥ +åIJĪä½ľ åħ³ç³» +éĢģ åĩº +æĹĹ ä¸ĭçļĦ +åľ¨ ä¹İ +为 广大 +åįĪ é¤IJ +ä¸ĵ 访 +æĪĸ å°Ĩ +éĿĴå²Ľ å¸Ĥ +å¥Ķ è·ij +æĹ¥ æĬ¥éģĵ +å¥ij åIJĪ +æĸ° æĺ¥ +ä¸į å°ıå¿ĥ +两 ä¸ī +æĦıæĢĿ æĺ¯ +åĨ· èĹı +çļĦ çĹĩçĬ¶ +æĢ§ åij½ +è¶ħ æłĩ +å¯Ĩ 碼 +ç§ijæĬĢ èĤ¡ä»½ +äºĨä¸Ģ æī¹ +çĿ£ å¯Ł +åªĴ ä»ĭ +å°Ħ æīĭ +ä¿® åħ» +çīĩ åĪ» +éĢĤåIJĪ èĩªå·± +åıªè¦ģ æĺ¯ +åIJĥ è¿ĩ +éĩij éĵ¶ +缴 å±ŀ +åѦ éĹ® +åİĭ åζ +çªĹ å¤ĸ +æĶ¶ åΰäºĨ +åħ¨åĽ½ 人大 +ä½Ĩæĺ¯ 对äºİ +åľ¨ æķ´ä¸ª +çļĦ èĥĮåIJİ +åĩıå°ij äºĨ +åıį èħIJ +åıįèħIJ åĢ¡ +åıįèħIJåĢ¡ å»ī +æĹ · +åĪĨ æľŁ +åľ¨ æ·±åľ³ +æīĵ çĿĢ +æī« ä¸Ģ +æī«ä¸Ģ æī« +æĶ¿åºľ éĥ¨éŨ +æİ¥ è¿ŀ +å±ŀäºİ èĩªå·± +åŃIJ å¼¹ +åIJĮæł· æĺ¯ +æĢ» åħ± +车 ä¼ģ +æ¢ ĵ +åħ¬ é¡· +åıij 声 +éĴ Ľ +èµ°åĬ¿ åĽ¾ +主 èIJ¥ +åĸ Ķ +æķ°æį® åĪĨæŀIJ +ä¸į è¿ľ +æľī åIJį +æľīåIJį çļĦ +åģ¿ è¿ĺ +å¾Ī ä½İ +è®ĵ 人 +èĿ ī +é«ĺ è´µ +å°ij 许 +æ° Ł +å¹ ¢ +亲 æĥħ +è¿Ļä»¶ äºĭæĥħ +ç͍ é¤IJ +缸åħ³ æĸ°éĹ» +å°± åºĶ该 +ç»Ī çĤ¹ +æĺ¯ å¤ļå°ij +çĻ» åľº +è¯ķ 管 +è¯ķ管 å©´åĦ¿ +åģļ 大 +åģļ大 åģļ强 +çļĦ ä¾ĭåŃIJ +åħ« 个 +æĺİ æĹ¥ +çĤ ³ +èµ° åİ» +éģ º +å¢ © +ä½ĵä¼ļ åΰ +åĴ ı +ä¸ĭ è¾¾ +å¤į åıij +追 éĢIJ +æīĵ åĵį +çļĦ éļ±ç§ģæ¬Ĭ +åħ·æľī ä¸Ģå®ļ +è¿Ļä¹Ī å¤ļå¹´ +æłij æŀĹ +æľĢ éķ¿ +åIJĮ èĥŀ +åħī æ³½ +åŁŁ åIJį +æĮĩ åIJij +åıĹ害 èĢħ +æłij èĦĤ +æľīå¤ļ 大 +大 éĿ¢ç§¯ +æĹł ç¼Ŀ +æĶ¹ æŃ£ +æĽ´å¤ļ çļĦæĺ¯ +æľŁ æľ« +æŃ ¼ +ä¹ī ä¹Į +éĤ£ ä½ł +çļĦ 第ä¸Ģ个 +èĮ µ +å° § +èį « +ä¸įä»ħ åı¯ä»¥ +æ¶Į çݰ +æĢ» éĿ¢ç§¯ +æĸ°éĹ» åıijå¸ĥ +æ°ij ç͍ +å°± 读 +æīĵ è´¥ +å¤ĸ è¯Ń +æĪij们 ä¸Ģèµ· +é¢Ħ å®ļ +çĥ¹ 饪 +æľĢ 主è¦ģ +æľĢ主è¦ģ çļĦ +çīĮ çħ§ +åĽł åħ¶ +ä½İ ä¸ĭ +ä¼ļ åIJĮ +è§ģ è§£ +éĹ´ éļĶ +æķĻ ç¨ĭ +å° ī +å¸Ĥ ä¸Ńå¿ĥ +åħ³éĶ® æĺ¯ +æµ· åįĹçľģ +çī¹åĪ« æĺ¯åľ¨ +ä¸ŃåĽ½ 大éĻĨ +åħħè¶³ çļĦ +æĹ¢ èĥ½ +åĤ³ çµ± +çijľ ä¼½ +åħ¥ åĽ´ +æħ¢æħ¢ åľ° +æĬ¥ éħ¬ +æī¹ å¤į +å·¥ä¸ļ åĽŃåĮº +ä¸İ åıijå±ķ +èĥ¸ éĥ¨ +åľ¨ ç½ij绾 +åľ¨ç½ij绾 ä¸Ĭ +交 è°Ī +æĽ´ æĶ¹ +åįłæľī çİĩ +ä¸Ŀ绸 ä¹ĭè·¯ +è¡ Ľ +çłĶ åΤ +åĪ ª +åĪª éϤ +è¿Ļ åıª +çļĦ æ°Ķæģ¯ +åĬł å·ŀ +éĴ § +çIJĨäºĭ éķ¿ +ä¸ĸ å®¶ +æµģè¡Į çļĦ +å¾Ī æľīåı¯èĥ½ +们 éĥ½ +ç»ıèIJ¥ 模å¼ı +è¡Įä¸ļ ä¸Ń +éĢļçŁ¥ 书 +åij½ é¢ĺ +æľ¬ ç¶²ç«Ļ +æ²Ļ çī¹ +åıij åħī +é«ĺ ä»· +å·² çĦ¶ +åıĮ åįģä¸Ģ +ä¸Ĭ è¯ī +ç¿ħ èĨĢ +è¿Ļä¸Ģ å¹´ +大ä¼ļ ä¸Ĭ +éĩ ī +å®Įåħ¨ æĺ¯ +å¾Ĺ 太 +ä¸Ģèά 人 +è¿ĺ ç®Ĺ +æĬĺ åıł +æĬķ æľº +çĤ¹ çĩĥ +çݰéĩij æµģ +åħĶ åŃIJ +ç½ij æł¼ +æİ¥ è¿ĩ +ä¾Ľ è´§ +éĺ´ å½± +åİŁ åħĪ +æį £ +å·¦ ä¾§ +åħĭ æĭī +æīĵ åį¡ +ç§ij æ¯Ķ +æ±ĩ éĽĨ +åľ°çIJĨ ä½įç½® +è¯Ħ å§Ķ +ç»ĵåIJĪ èµ·æĿ¥ +è¿Ľåħ¥ åΰ +åı¯ è¡Į +åı¯è¡Į æĢ§ +让 å®ĥ +åĪ¶åº¦ æĶ¹éĿ© +çĶĺèĤĥ çľģ +åĵ Ĺ +åģı åģı +è¡£ çī© +ç¥Ŀ è´º +æºIJ èĩª +å¹¶ä¸į 代表 +åĽ½ 度 +好 åĿı +æĿ ĸ +æĿŃ å·ŀå¸Ĥ +湿 度 +é² ¸ +åįļ 彩 +æ³° å±± +æĿij èIJ½ +æĸ° èģŀ +èĤ ĭ +åı¤èĢģ çļĦ +çļĦ ç§ĺå¯Ĩ +ä¸Ģ个 éĹ®é¢ĺ +éģı åζ +åįĥ 亿 +è¿ĩ 硬 +å°Ħ åĩ» +èĩªçĦ¶ æĺ¯ +产 åĮº +çĤ¹ çĤ¹å¤´ +åı¯ä»¥ 帮åĬ© +说 å®ŀ +说å®ŀ è¯Ŀ +æĪij åıªæĺ¯ +ä¹ĭ ä½Ļ +åIJĮæĹ¶ ä¹Łæĺ¯ +ä¸ŃåĽ½ éĺŁ +建æĪIJ åIJİ +ä¹IJ è§Ĩ +åij¨ å²ģ +èᝠåºĹ +éĩij åįİ +严éĩį å½±åĵį +è´¨ åľ° +æĹħ éģĬ +åħµ åύ +æķĻèĤ² æķĻåѦ +离 åİ» +åIJĦå¼ı åIJĦæł· +ä»ĭ ç´ +ä»ĭç´ ¹ +å¼Ģ 头 +å°Ĩ èĩªå·±çļĦ +åIJ¬ åĬĽ +ä¿¡æģ¯ ç³»ç»Ł +ä»İ æł¹æľ¬ +ä»İæł¹æľ¬ ä¸Ĭ +æİĮ 声 +欢 åĸľ +å±ķ åĮº +åķ ¸ +太å¤ļ äºĨ +éĹ² ç½® +èĥ¡ èIJĿåįľ +å§Ķ å®£ä¼ł +å§Ķå®£ä¼ł éĥ¨ +åįĹ éĺ³ +å·ŀ åĮº +ä¸İ æĹ¶ +ä¸İæĹ¶ 俱 +ä¸İæĹ¶ä¿± è¿Ľ +å«Įçĸij 人 +èī¯ å¿ĥ +头 é¡¶ +è´¢ æĬ¥ +ä½Ľ æ³ķ +å¾ µ +åİŁ ä»¶ +åĭ ŀ +çĶ· 篮 +å¤ĸåĽ½ 人 +è¿Ŀ 纪 +æī¾ äºĨ +æįķ æįī +缸 è¯Ĩ +æIJľ éĽĨ +çļĦ ä¼Łå¤§ +ä¸ī ç»´ +å°±è¡Į äºĨ +çĭIJ æľĪ +çĭIJæľĪ å±± +å¸ĮæľĽ éĢļè¿ĩ +èĢĮ 对äºİ +éĿ¢ å°į +åĨĽ åĽ¢ +è¡Ĺ åĮº +æĤ¬ æĮĤ +便 ç§ĺ +æľīä¸Ģ çĤ¹ +ä¼ļè®® ä¸Ĭ +ä¸ĭ æīĭ +廣 åijĬ +äºĶ è¡Į +çŃī åĢĻ +ç´§ç´§ åĽ´ç»ķ +æĭ¿ äºĨ +æ¡Į éĿ¢ +ç¥ŀ æĥħ +éĽĦ åİļ +çŀ ³ +楼 ä¸ĭ +å½ ª +äºĭ åıij +åĨį è§ģ +é¤ ĺ +é¢Ħ åĶ® +åİ» çľĭçľĭ +æĪij们 åºĶ该 +ä¸ī å®¶ +æµ Ĭ +ä¹IJ éĺŁ +çľĭ ä¸įè§ģ +èĦij åŃIJ +æĮģ æľīçļĦ +çϽ èıľ +éĹª çĥģ +åĸĿ æ°´ +æİ§åζ ç³»ç»Ł +ä¸ĵ åĮº +æľĿ å»· +æĪij å¿ĥéĩĮ +å±ķ åİħ +èľĺ èĽĽ +åĨ» ç»ĵ +ç² ª +åº IJ +åIJij 社ä¼ļ +åĨ³çŃĸ éĥ¨ç½² +çŁŃ æľŁåĨħ +æĸ° ä¸ļæĢģ +æľ Ķ +æĹ¶ æĬ¥ +使 ä¹ĭ +åĽł åŃIJ +åıĤä¸İ èĢħ +çļĦ 年轻人 +æīĭ 表 +å°ģ éĶģ +为ä»Ģä¹Ī ä¸į +åIJ¸ çĥŁ +æ¯Ĵ ç´ł +åĪij æ³ķ +磫 æŃ£ +身 æĹģ +åİŁ è°ħ +çĽij æĬ¤ +æŃ¤ å¤Ħ +éļ¨ æĻĤ +æŀľ å®ŀ +åĮ»çĸĹ æľįåĬ¡ +ä¸į åIJĪçIJĨ +æIJŀ 好 +çļĦ èĦļæŃ¥ +å¤ĸ å¥Ĺ +ç¶ĵ éģİ +æĶ¾ ç¼ĵ +åģľ çķĻ +æĺŁ çIJĥ +çļĦä¸Ģ éĿ¢ +åĩł ä½ķ +è½® åĽŀ +æ¯Ľ å·¾ +ä¿® çIJĨ +ä¸įçŁ¥ ä¸į +ä¸įçŁ¥ä¸į è§ī +æķ´ 个人 +æ¯ģ çģŃ +åı° å·ŀ +使ç͍ 寿åij½ +é»ij çϽ +æij¸ ç´¢ +é¼ł æłĩ +éĿ© æĸ° +éº µ +ä¸ĵéŨ 为 +å¾Īå¤ļ æľĭåıĭ +å·¥ä½ľ ç»Ħ +åIJĪ å½± +çĤº ä»Ģ麼 +æŀģ 度 +çļĦ è¿ĽæŃ¥ +å½ĵ ä¹ĭ +å½ĵä¹ĭ æĹł +å½ĵä¹ĭæĹł æĦ§ +è´´ è¿ij +å°º 度 +åľ¨ çİ°åľº +éĻį 临 +åħ»èĢģ éĩij +ç£ ķ +åı¯ä»¥ 使 +管çIJĨ æ°´å¹³ +æľ¬æĬ¥ è®°èĢħ +æ³ķ 令 +åį¡ è½¦ +举 æµ· +å¤ļ éĩį +åħ¶ éĹ´ +ç´ Ļ +éĩį大 é¡¹çĽ® +æ±Ĺ æ°´ +ç»Ħ å§Ķä¼ļ +ä¿¡æģ¯ åħ¬å¼Ģ +ä¸į论 æĺ¯ +ä¸Ģ åIJ¬ +èĴ¸ æ±½ +æıŃ ç§ĺ +è¶ħ éģİ +触 åıij +å© ¦ +åħ³èģĶ äº¤æĺĵ +å°± ç»Ļ大家 +好 ä¹ħ +åĢŁ è´· +游æĪı è§Ĵèī² +å¼ĢåIJ¯ äºĨ +æİ ł +åħļçļĦ åįģä¹Ŀ +ä¸ĭ 鼨 +çŁŃ æĹ¶éĹ´åĨħ +å¯ ħ +导 åħ¥ +å·¥ä½ľ ç»ıéªĮ +ä¹Ł åıªèĥ½ +鼷 éľĨ +è·Ł è¿Ľ +åį¡ éĢļ +é¢ĩ æľī +æľº ä½ĵ +æĪĺ士 èģĮä¸ļ +女 主 +ä½ĵåζ æľºåζ +è¶³ åįı +èĪĴéĢĤ çļĦ +åĢŁ åı£ +æī¹ åΤ +æķ° å̼ +è« ¾ +éĺ¿æĭī 伯 +åĺ İ +æħ ¶ +è¾¾ 人 +å¼Ģ æ°´ +大 鼨 +温 室 +ä½İ è¿· +ä»į æĹ§ +éªĹ åŃIJ +亲 å±ŀ +çIJĨ æĻº +æľ¬ åŁºéĩij +å¨ ħ +åĨĻåŃĹ æ¥¼ +å¢Ļ å£ģ +å® µ +èϽ çĦ¶æĺ¯ +顺 çĿĢ +åħ« åᦠ+åķĨ ç͍ +ä¸į 失 +è¿· èĮ« +顺 便 +æļij æľŁ +欺 è´Ł +é¢ij é¢ij +该 æł¡ +æĸĻ çIJĨ +æ·± æĥħ +åīį éĶĭ +ä¿Ŀ èŃī +èģĮä¸ļ çĶŁæ¶¯ +åħ¬ å¼Ģåıij +åħ¬å¼Ģåıij è¡Į +åħ¥ æĪ· +éł ĵ +å̾ åIJ¬ +éŃ ģ +æĦī æĤ¦ +åĽŀ åIJĪ +åħ¨åĬĽ 以 +åħ¨åĬĽä»¥ èµ´ +åĥ¹ å̼ +èĥ½åĬĽ 强 +ç»ı å¼Ģ +ç»ıå¼Ģ åĮº +è¿ľ æĸ¹ +çļĦ éģĵçIJĨ +缴 åįĩ +缴åįĩ æľº +为主é¢ĺ çļĦ +ç»Ļ æĤ¨ +è¿ĺ æĥ³ +æ¯Ķ æĪij +åĨľ çī§ +æµ· åºķ +çŃ¾è®¢ äºĨ +对äºİ æĪij们 +æĹ¶ 许 +éĶ® çĽĺ +å®ŀéĻħ æİ§åζ +çļĦ æ¨¡æł· +åıįæĺł äºĨ +代 åĬŀ +åĮ» ç͍ +éĽĨ ç»ĵ +åıijå±ķ åīįæĻ¯ +æĮĩ çĿĢ +åįİ åĮĹ +è¿Ļ åĩłä¸ª +åIJį æ°Ķ +åĤį æĻļ +èĩª åıij +æ³¢ åħ° +大åĬĽ æİ¨è¿Ľ +èĩª ç§° +èįĨ å·ŀ +æIJį 害 +äºĨä¸Ģ åı¥ +æľĢåĪĿ çļĦ +éĩijèŀį å᱿ľº +æĢĢ å¿µ +è¡Į åĭķ +女 æİĴ +ä¸į è§£ +ä¼ł éĶĢ +转载 请 +饰 åĵģ +åıª 为 +ä¸İ ä¼Ĺ +ä¸İä¼Ĺ ä¸įåIJĮ +èĥ½ èĢĹ +èı© æıIJ +è¿ij 两年 +è¿Ķ 乡 +马ä¸Ĭ å°± +äºĮ çŃīå¥ĸ +æ°´ 管 +æ³ķ åѦ +çģŃ çģ« +大 å§IJ +åij¨ 转 +æľī æľŁ +æľīæľŁ å¾Ĵ +æľīæľŁå¾Ĵ åĪij +å°į æĸ¹ +ç¥ŀ èī² +æ²¹ èĦĤ +ä¸ī çĤ¹ +ä¸į åĪ©äºİ +äºĭä¸ļ éĥ¨ +å°± è·Ł +å¼Ģ æĶ¯ +å°ı 女åŃ© +åħ±åIJĮ åĬªåĬĽ +çĶļèĩ³ è¿ĺ +è¿Ļ åIJį +è¿Ļ ç¬Ķ +çݯ åį« +æľī ç§į +è§Ĩ åĬĽ +çĨŁ çŁ¥ +åħ¬ç§¯ éĩij +æ¶Īéĺ² å®īåħ¨ +é¢ĩ 为 +大 èħ¿ +éĿ ¶ +çī¹ æķĪ +æľįåĬ¡ åĮº +å¼Ģ åĩº +深度 èŀįåIJĪ +æĹł å¿§ +æŁ¥ éĺħ +ç»Ī ç»ĵ +ä¿Ŀ ç¨İ +è¨İ è«ĸ +å½ĵ åģļ +è·³ èĪŀ +å¯ § +女 çİĭ +è®°èĢħ åľ¨ +åħ¨ 产ä¸ļéĵ¾ +è´¯ éĢļ +åħ´ ä¸ļ +éĻį åΰ +å°ģ éĿ¢ +åħ¨éĿ¢ æİ¨è¿Ľ +奶 èĮ¶ +éĢī åĿĢ +äºĨä¸Ģ åľº +åIJĮ ä¼´ +è®® 论 +æIJ ĵ +诸 èijĽ +诸èijĽ 亮 +å¹² åĺĽ +æµģ æĦŁ +ä¸ĵä¸ļ çŁ¥è¯Ĩ +ç͵ ç«Ļ +åĩı å¼± +åĩº åħ¥ +åIJĦ çľģ +éĿŀ常 é«ĺ +åľ° 毯 +åıij æĸĩ +çĦ ī +çĥ§ çĥ¤ +å£ģ 纸 +æģ¶ åĮĸ +èĬ ¸ +èĥĸ åŃIJ +çĩ Ĵ +çľģ éĴ± +çϾ 强 +çIJĨå·¥ 大åѦ +éĴ¢ æĿIJ +åĽ½æľī èµĦ产 +æĪĺ æľº +æ³Ħ éľ² +åIJİéĿ¢ çļĦ +æ°´ èµĦæºIJ +æ¢ħ èĬ± +åĨĻ çĿĢ +ä¹ĭ 声 +æĹł åı¯ +æĺİ æľĿ +ç«ĭæĸ¹ ç±³ +ç· £ +æĶ¾ è¿ĩ +ç¦ı çͰ +å¾Ĺ ä½ı +åıĹ ä¼Ĺ +ä¸Ń 级 +çĹħ åıĺ +ä¸Ģ çŀ¬éĹ´ +æĿĥ éĩį +人æĢ§ åĮĸ +åĮ»çĸĹ åį«çĶŁ +ä¸įåΰ ä½į +æĻºèĥ½ å®¶å±ħ +饮 ç͍ +æ¼Ķ åıĺ +é«ĺ ç´łè´¨ +ä¹Ļ æĸ¹ +åģľ çķĻåľ¨ +èİ· æī¹ +ç©¿ æ¢Ń +客 åľº +æĮ½ åĽŀ +京 åŁİ +çĶŁåij½ åĬĽ +實 éļĽ +çĩ Ī +åĨį çݰ +çݰå®ŀ ä¸Ń +æľī ä¿¡å¿ĥ +çĸı éĢļ +åĺ´ åĶĩ +鼷 éĶĭ +èıľ åįķ +éħ ¯ +è¶ħ é«ĺ +å¾Ī é«ĺåħ´ +çĶŁ æ®ĸ +éĢł ä»· +误 åĮº +æĨ ĭ +好 æ¶Īæģ¯ +å´ Ń +以 èĩ´ +å¼Ģ çİ©ç¬ij +çĽij è§Ĩ +å·¡ å¯Ł +å¾· å·ŀ +æĹ© æĹ© +éĹª ç͵ +æĪª åĽ¾ +åı¯ä»¥ æł¹æį® +æīĭ èīº +æİ¥ 轨 +ç§į æĹı +æĢĢ éĩĮ +åİ» åĮ»éĻ¢ +ä¸Ģ äºĮ +å¼Ģ éĺĶ +åĩı éĢŁ +ä½Ĩ ä»İ +éĢĻ ä¸Ģ +åĩı åħį +主é¢ĺ æķĻèĤ² +å¼Ģå·¥ 建设 +è¹ ¦ +æľĪ 饼 +ä¸ĭ æ²ī +å°Ĭ 严 +éĻ ĩ +å®ŀ æľ¨ +å»ł åķĨ +声 ç§° +èĢĥ åľº +å¸ĥ é²ģ +èĩª æĿ¥ +èĩªæĿ¥ æ°´ +éĴ ¾ +å¹´ 以ä¸Ĭ +大 åıĶ +ä»ĸ å·²ç»ı +åħ¨ æĿij +èģĶç³» ç͵è¯Ŀ +为 导åIJij +åΤ å¤Ħ +对 éĺµ +缮 æ¨Ļ +åIJį é¢Ŀ +客 æ°Ķ +横 åIJij +çŃī åĨħ容 +åĩł çĤ¹ +è°Ī 论 +ä¸į ä¹ı +å±ķ çݰåĩº +è¾ĥ éķ¿ +éĢĨ 转 +å°ı æĻĤ +æĺ¯ å¤ļä¹Ī +æľ¬ æľĪ +è¿ij è§Ĩ +æĪIJç«ĭ 以æĿ¥ +代表 çĿĢ +æĬ¥ å¤į +æĪı æĽ² +è¨Ń åĤĻ +åħ¥ èĤ¡ +å¾ģ æľį +é«ĺ åĩº +èĪŀåı° ä¸Ĭ +å¿ĥ åĬ¨ +两 çĤ¹ +缸 çķ¶ +èĻ Ľ +主 页 +åĩł å®¶ +æĹł ä¸į +åįı å®ļ +æĸ IJ +å¯ĵ æĦı +åħ¨ 线 +æįķ é±¼ +åı¯ä»¥ ä»İ +æľī è¿Ļæł·çļĦ +æģ¶ éŃĶ +åĮħ åŃIJ +æģ ¤ +å¼Ģå¥ĸ ç»ĵæŀľ +ä¸į æŃ» +èĹ į +弯 æĽ² +æµ· 峡 +éĶĢ æ¯ģ +çļĦ çĭ¬çī¹ +示 æĦı +ä¸įèĥ½ åĨį +èĥ½ æĬĬ +éĺ² çº¿ +ä¸įå°ij äºİ +æ± Ģ +çļĦ éĤ£ä¸Ģ +羣 æĥħ +åŀ ® +被 æīĵ +åĽ½ å®ī +ç¾İ å¦Ļ +è¿Ļ åĩł +åĩº éģĵ +æľįåĬ¡ äºİ +æĪIJæŀľ 转åĮĸ +æīį åįİ +天 é¹ħ +åĩł 个人 +åĢĺ èĭ¥ +è̽ 误 +æĬĹ æĪĺ +è¡Į éĬ· +æĿ¥ è¢Ń +åĢŁ éĮ¢ +èįī èİĵ +ä¸¥æł¼ æī§è¡Į +举è¡Į äºĨ +å¤ĸ ç±į +å·² è¾¾ +æĿij åħļæĶ¯éĥ¨ +è¡ Ŀ +éĻį èĩ³ +æµ· éĩı +é¤IJ é¦Ĩ +æĢ¥ å¿Ļ +æ·± è¿ľ +å¾Ģ è¿Ķ +ç¨İåĬ¡ å±Ģ +å¹¿æ³Ľ åºĶç͍ +è®® åijĺ +æĹł æķĮ +çľ¼ åħī +çĥŃè¡Ģ ä¼łå¥ĩ +æŃ IJ +äºĨ äºĽ +è¿Ŀ èĥĮ +è¿Ļ æĺ¯ä¸Ģç§į +ä¸į 稳å®ļ +大家 åĪĨ享 +表 çı¾ +åīį åįģ +è·¯ è¿ĩ +æĴ © +åIJĮ æĥħ +ä¹ł ä¿Ĺ +åıij è´¢ +åºĶ æľīçļĦ +æĿİ æŁIJ +èĤ Ľ +马 åħĭ +éĢļ åijĬ +å·¨ 人 +ä¸Ģ åĽ¢ +éĢĻ æ¬¡ +ä¸į äºĨè§£ +æĸ½ è¡Į +èij¡èIJĦ çīĻ +åıĺå¾Ĺ æĽ´åĬł +æı £ +åĪĽæĸ° èĥ½åĬĽ +çķħ éĶĢ +表 æī¬ +æ¯Ķ åĪ© +æ¯ĶåĪ© æĹ¶ +åĮ»çĸĹ ä¿ĿéĻ© +æĵį 纵 +伤 亡 +æµİ å®ģ +åıĺ äºĨ +æľ¬æ¬¡ æ´»åĬ¨ +åľŁ 豪 +æĥ³ åĬŀæ³ķ +æĺ ķ +å½ĵ æĻļ +åĩº å±Ģ +çĥŃ è®® +è°Ī è°Ī +æĻĭ åįĩ +åĬ¿ å¿ħ +çĻ» å±± +éĤ£ åĦ¿ +åIJĥ åΰ +ä¹ĭ åŁİ +å¿« æĿ¥ +æ¹Ľ æ±Ł +第ä¸ī 个 +åħ¨éĿ¢ æıIJåįĩ +å¥ĸ åѦ +å¥ĸåѦ éĩij +æĬķåħ¥ 使ç͍ +é½IJ é²ģ +åı¯ä»¥ æĬĬ +åĴĮ ä»ĸçļĦ +è´ŃæĪ¿ èĢħ +æŃ£å¼ı åIJ¯åĬ¨ +åįİ æ¶¦ +ä¸įæĸŃ å®ĮåĸĦ +éĴ¢ æĿ¿ +ç´¯ 积 +满 èĦ¸ +åĽĽ æĸ¹ +è´¢ çī© +ä»ĸ们 ä¼ļ +å¤ı æĹ¥ +éĤ£ 个人 +éĿł çĿĢ +çĤ¹ äºĨ +çĤ¹äºĨ çĤ¹å¤´ +æ© ĭ +åıΠ好 +åıĪ好 åıĪ +åıĪ好åıĪ å¿« +éĺµ éĺµ +å°ģ 建 +æľ¬ çͰ +çī©ä¸ļ æľįåĬ¡ +èĩªè´¸ åĮº +åIJ ı +便åĪ© åºĹ +åĽ½å®¶ æłĩåĩĨ +éĿ¢ ç²ī +èī° è¾Ľ +æĶ» åħ³ +æīĵ åĮħ +车 éĺŁ +人 éĢī +åı¯ ä¸įæĺ¯ +äºĮ åįģå¹´ +åIJį å¸Ī +浦 举 +åħ¬ è¯ģ +è¿IJ éĢģ +æĺ¯ æľĢ好çļĦ +æŁĶ åĴĮ +çİĭ æŁIJ +çĹħ æĪ¿ +åĨ¶ éĩij +ä¸Ģä»¶ äºĭæĥħ +åį ¤ +åı¯ æİ§ +çī Ł +æĭ Ĥ +å·² äºİ +人 éĢł +çĶŁçī© åĮ»èᝠ+ä½ĵ çݰåĩº +èĤ² åĦ¿ +èĢģ å®ŀ +åľĸ çīĩ +è« ¸ +ç´¯ äºĨ +æĦŁåħ´è¶£ çļĦ +åĽ¾çīĩ æĿ¥æºIJ +ä¹Ł æĺ¯ä¸Ģç§į +æ¾İæ¹ĥ æĸ°éĹ» +æĹ¶ 表示 +åħī è¾ī +æĬ¥ åºŁ +å²ģ æĹ¶ +éħ ® +æ£Ģ ä¿® +åıĺ éĢŁ +åıĺéĢŁ ç®± +åľ¨ èģĮ +éı ¡ +æį Ĥ +çĿ£ åĬŀ +æ°¸ ä¸į +åģļ ä¸ĢäºĽ +åİĨ æĹ¶ +å·¥ç¨ĭ æľºæ¢° +æģ° å½ĵ +å°± åľ¨äºİ +ç§° åij¼ +éĢļ常 æĺ¯ +æł· å¼ı +åij¨ ä¸Ģ +èĭ± éķij +åĿĩ 线 +ä¼ł éĹ» +ç͍æĪ· ä½ĵéªĮ +èµŀ åIJĮ +骨 æĬĺ +为主 ä½ĵ +æ±Ł å±± +æ¸ħ æľĿ +æĶĢ åįĩ +ä¸į çĽ¸ä¿¡ +éĿ ´ +æŃ¦ åĬŁ +åĭ¤ åĬ³ +æĿ¥ æī¾ +å°Ĩ æĮģç»Ń +丫 头 +æ¨Ļ æºĸ +è£ ´ +深深 çļĦ +åŃķ èĤ² +è§ĦåĪĴ 建设 +æ¸ħ çν +ç²¾åĩĨ æī¶è´« +æīĵçł´ äºĨ +è¿Ļä¸Ģ 天 +å·¥ä½ľ æĢ»ç»ĵ +æĹħ ç¨ĭ +举 èIJ¥ +æĶ¾ å°Ħ +æľī åĩłä¸ª +éĿŀ çī©è´¨ +åIJĥ å¾Ĺ +åĹ ¨ +ä¼ļ åıijçĶŁ +篮 æĿ¿ +å¼Ģ å°ģ +麻 å°Ĩ +èıı æ³½ +ä¸į åIJĪ +ç³»åĪĹ äº§åĵģ +èѬ å¦Ĥ +ç¾İ èªī +èĩªå·± åĸľæ¬¢ +交æĺĵ ä¸Ńå¿ĥ +åIJĪ åͱ +使 æĪij +åĥı ç´ł +带 éĺŁ +ä½Ĩ 对äºİ +æĬĬ è¿Ļ个 +èĤĿ èĦı +åįķ纯 çļĦ +æĶ»åĿļ æĪĺ +缼 ä¼ļ +åijµ æĬ¤ +æª Ģ +èµ¶ ä¸Ĭ +æ¥ Ĭ +ä¹ħ äºĨ +ç¡ Ŀ +çŃĶ é¢ĺ +ä¿ĿæĮģ çĿĢ +è§ģ è¯Ĩ +çĤ¹ åĦ¿ +åįĬ 个æľĪ +æ» ĩ +浸 泡 +ä¼ł éĢģ +åľ¨ å¸Ĥåľºä¸Ĭ +ä¹ĭ 乡 +çī¹ éķ¿ +éĽ ŀ +èª ł +身 å¤Ħ +æŁł 檬 +身 ç©¿ +çľģ åħ¬å®ī +çľģåħ¬å®ī åİħ +åıĻ åĪ©äºļ +åĩł åĪĨéĴŁ +人 åĢij +åľ° 段 +èĩª åѦ +ä¹Ł è¶ĬæĿ¥è¶Ĭ +èģĮ æĿĥ +æĸ § +èĩ » +å½Ĵ 纳 +驾 é©Ń +éĥ¨åĪĨ åľ°åĮº +没æľī æĥ³åΰ +æĴ ĩ +ä¹Į é²ģ +ä¹Įé²ģ æľ¨ +ä¹Įé²ģæľ¨ é½IJ +èĤ² 人 +çļĦ æŃ¥ä¼IJ +å»¶ æľŁ +æ²¹ æ°Ķ +åģļ å®Į +åľ£ åľ° +丰 åİļ +宽 带 +åı¯éĿł çļĦ +åºŃ éĻ¢ +åŃ ľ +å°ı康 社ä¼ļ +å®īåħ¨ 管çIJĨ +å¹´ 第 +æİĴ 污 +èĥĮ åĮħ +å®¶ ä½ı +åħ¶å®ŀ å°±æĺ¯ +ä¼ļ è§ģ +帮åĬ© ä¼ģä¸ļ +ç½ij è´Ń +æĺ¯ ä¸įä¼ļ +飯 åºĹ +æŃ» åİ» +åħįçĸ« åĬĽ +æľ ķ +åĸĿ äºĨ +è½» å¾® +个æľĪ åĨħ +ç»Ħ åĽ¢ +åĴĮ å®ĮåĸĦ +é¸ ½ +æıIJ éĢŁ +西å®ī å¸Ĥ +ä¸Ńå¿ĥ 主任 +æĹ¶éĹ´ 为 +æľŁ æĿĥ +è¶ ķ +ä¸įä»ħ è¦ģ +æľį ä»İ +é¡ĺ æĦı +ä¸į å°ı +ä¸įå°ı çļĦ +ç° ĩ +çª ¦ +åĪĩ æĪIJ +åĵĪ åĪ© +天 羣 +ä¸Ģ次 次 +éĩij å¸ģ +æĢİä¹Ī èĥ½ +ç½ij è´· +ä¼ļ计 å¸Ī +çŁŃ 缺 +对 æłĩ +åıĺå¾Ĺ æĽ´ +åīį åĩłå¤© +éĺ² æ±Ľ +彩 èϹ +åĵģ ä½į +表 æł¼ +严 å¯Ĩ +æ¯Ľ åĪ©çİĩ +çļĦ åį±å®³ +å½ķ åζ +æ°´ åĬ¡ +èĥ½å¤Ł 让 +å¹³ æĿ¿ +ä¹³ æĪ¿ +è¸ı å®ŀ +é¦ĸ åĪĽ +é¦Ļ èķī +æĬ¥ 表 +ä¸Ģ æĬ¹ +åĩºçĶŁ äºİ +è²» ç͍ +åĩº 让 +åIJĪæ³ķ æĢ§ +å°¼ åħĭ +åĨ° åĨ· +é¦Ļ æ°Ķ +åı· ç§° +èµ· çłģ +åŁİ åİ¿ +çİ© èĢį +ä¸Ĭ éĻIJ +ä¼ļè®® ç²¾ç¥ŀ +æĹģè¾¹ çļĦ +便 ä¼ļ +æıŃ æĻĵ +çİ© æĦı +éĽª å±± +åIJij çĿĢ +ä½ĵèĤ² åľ¨çº¿ +说æĺİ ä¹¦ +åĮĸ èĤ¥ +åħļç»Ħ 书记 +åĬ¨ 人 +ä¹ĭ æīĢ +æľĪ èĩ³ +æľĢå¿« çļĦ +èĬĤ åģĩæĹ¥ +ä¸ĵ åľº +èĢĥ ä¸Ĭ +çª Ł +é²ľ è¡Ģ +è¾ĥ强 çļĦ +æĤĦ çĦ¶ +å¤ļ个 åĽ½å®¶ +çªĹ å¸ĺ +æŀģ å¤§åľ° +ä¸įç͍ æĭħå¿ĥ +è¿Ļä¹Ī åģļ +åĥ¹ æł¼ +ç¾İ丽 乡æĿij +å°ıæĹ¶ åĨħ +ç´§ è¿« +大 çģ« +èĥ³ èĨĬ +æĵįä½ľ ç³»ç»Ł +æ®ĭ çķĻ +åĨĻ åĩº +ç¦ģ å¿Į +åĬłçĽŁ åºĹ +è¿ij çϾ +便 åı¯ +æķ´æĶ¹ æİªæĸ½ +éĩĩ访 æĹ¶ +åĶIJ 代 +æ·±åĮĸ æĶ¹éĿ© +çŁ ¢ +éĥ½ åĸľæ¬¢ +è¶ĬæĿ¥è¶Ĭ é«ĺ +èĬ± æľµ +头 çĸ¼ +å®ī 康 +å¢ŀéķ¿ çİĩ +çľ¼ çľĭ +å°±æĺ¯ 为äºĨ +èĢĮ 导èĩ´ +åĬłå¿« 建设 +èĬ± æł· +åĨħå¿ĥ çļĦ +æĺĨ å±± +è³ĩ æºIJ +åĽŀåΰ å®¶ +èıĬ èĬ± +æ°´ éĩı +å¾ģ ä¿¡ +è¡ĮæĶ¿ åĮº +ä¹ĥ æĺ¯ +æĬķèµĦ é¡¹çĽ® +å«ģ ç»Ļ +ç¥ŀ åľ£ +ç¨ ł +æľ¬æĿ¥ å°± +éĢIJ ä¸Ģ +èģĮä¸ļ æĬĢæľ¯ +ä¸įèī¯ ä¿¡æģ¯ +æīĺ è¿IJ +åIJ¯ 示 +ä¹ĭ åħ§å®¹ +éŁ ¶ +奢 åįİ +æıŃ ç¤º +æĪIJ为 ä¸ŃåĽ½ +æ¶Īè´¹ åĵģ +åħ¬ ç͍ +æIJŀ å®ļ +请 ä½ł +æŁ ļ +åĨħ è¡£ +ä½Ĩ ä»ĸ们 +ä¿Ŀ 湿 +该 åİ¿ +饱 åĴĮ +æİ¨ åIJij +èµĦæĸĻ æĺ¾ç¤º +ä¸į å½±åĵį +人 人éĥ½ +åıijå±ķ 壮大 +åħ»èĢģ æľįåĬ¡ +çĶŁæ´» æ°´å¹³ +åIJĦ åİ¿ +ä½ł éľĢè¦ģ +说 çļĦæĺ¯ +å¤ĸ åªĴ +æŃ¤ 人 +次 è¦ģ +追 èµ¶ +åºĶ该 å¦Ĥä½ķ +æĹ¥ åĩĮæĻ¨ +çķ¥ æľī +éĥ½ æĥ³ +游 ä¹IJ +è¿Ļ款 游æĪı +å¹³ æ·¡ +æĺ¯ä¸Ģ åĢĭ +å¤ĩ èĢĥ +åζ æŃ¢ +ä¸Ģå®ļ èĥ½ +å¾Ĵ å¼Ł +以 çĤº +åįĥ åħĥ +äºĶ åħŃ +迪 士 +迪士 å°¼ +éĺ³ æĢ§ +åĨ¬å¥¥ ä¼ļ +å°±æĺ¯ åĽłä¸º +æĮĤ éĴ© +æ¦Ĥ åĨµ +åıªè¦ģ æľī +æ²¹ çĶ» +åľ° æłĩ +ä¸Ĭ è°ĥ +产ä¸ļ åĽŃåĮº +åħ« åįģ +æ£ ± +æ¶² æĻ¶ +æĿij å§Ķä¼ļ +çŃ¾çº¦ 仪å¼ı +è¿Ļ åħ¶ä¸Ń +åĨĻ éģĵ +示èĮĥ åŁºåľ° +éĩİçĶŁ åĬ¨çī© +鼻åŃIJ ä¿¡ç®± +åĽ½éĻħ è´¸æĺĵ +人 æĿĥ +ä¿Ŀ 管 +èĭ¥ æĤ¨ +åİĭ æĬij +é» Ľ +åľ° çľĭçĿĢ +éĻ ° +ä¸Ģå¹´ å¤ļ +ä»İ 容 +ä¸Ń æĸŃ +å¯Ł è§ī +ç§» 交 +éĶ ¯ +æĪĸ许 æĺ¯ +ç¶ ł +两 项 +æľĢ åĸľæ¬¢ +æľĢåĸľæ¬¢ çļĦ +å¤ľ éĩĮ +åIJĮ ä»ģ +åĪĽæĸ° 驱åĬ¨ +è°ģ èĥ½ +é£ ¾ +åħī åѦ +åİ Ħ +èĦ± é¢ĸ +èĦ±é¢ĸ èĢĮåĩº +è¿ ¦ +æĺ¯ ä¸įåı¯èĥ½ +çª ¥ +èĥ½ 满足 +宽 度 +伦 çIJĨ +åı¯ä»¥ èİ·å¾Ĺ +转 ä¼ļ +å±± æĿij +éĵº 设 +åĩº åĩ» +æĸĩåĮĸ èīºæľ¯ +ä¼ļè®® 室 +æŃĮ 声 +æ» Ķ +èIJİ ç¼© +æľįåĬ¡ åijĺ +åıij表 äºĨ +æĸ¼ æĺ¯ +æĺİç¡® è§Ħå®ļ +ç»´ å¥ĩ +æ°´ 产 +æĬķ ä¿Ŀ +éĺ´ éģĵ +èµ¶ å¿« +夺 å¾Ĺ +ä¸ĭ åįķ +çµģ åħ¬åı¸ +çݯ ç»ķ +å½ Ī +ä½ľé£İ 建设 +æĹħ游 æĻ¯åĮº +æľī æĽ´å¤ļçļĦ +丰å¯Į å¤ļ彩 +çIJĨè´¢ 产åĵģ +åĩº å·® +ä»İ严 æ²» +ä»İ严治 åħļ +缸 å¹² +æ»ĭ 润 +主åĬŀ æĸ¹ +åī§ åľº +æ»ļ çIJĥ +æ©Ħ æ¦Ħ +èĩªä¸» åĪĽæĸ° +éĢļ å¾Ģ +æł¼ å°Ķ +çļĦ ä¼ĺçĤ¹ +èĥĮ ä¸Ĭ +çª ľ +çĪĨ åĩº +å¹³ æķ´ +ä¸Ģ èĦļ +åħ¨ä½ĵ åijĺå·¥ +éĻIJ å®ļ +åŁİéķĩ åĮĸ +æ· ³ +éĢ® æįķ +è¡ĮåĬ¨ 计åĪĴ +æīĵ å¾Ĺ +åİļ éĩį +纪å½ķ çīĩ +åĿļ ä¿¡ +央 ä¼ģ +åĨį ä¹Łä¸į +天 涯 +åıĤèĢĥ èµĦæĸĻ +æľī æ¯Ĵ +åIJ¸ 纳 +è¶Ĭ åıij +éĩįè¦ģ æĦıä¹ī +åĽ½éĺ² éĥ¨ +è¿Ļ个 è¡Įä¸ļ +æĻ® æŁ¥ +å¼Ĥ æĢ§ +å»¶ è¿Ł +å°ı å¹ħ +èī² æĥħ +综åIJĪ æ²»çIJĨ +æŃ£æĺ¯ åĽłä¸º +产ä¸ļ ç»ĵæŀĦ +çłĶç©¶ æĬ¥åijĬ +åģľ ä¸ĭ +éķ¿ èĢģ +éĩĿ å°į +åįĹ京 å¸Ĥ +çģĮ æºī +转 è¿IJ +欺 è¯Ī +éĢł åģĩ +åĪĨå¸ĥ å¼ı +æĦŁ è§¦ +æĪij å½ĵæĹ¶ +åıij è§ī +åĽ¾ 纸 +æĶ¹ èī¯ +çĭł çĭł +åĨ² åĪº +æĸ° 京 +æĸ°äº¬ æĬ¥ +ç¥ŀ åύ +秸 ç§Ĩ +çĪ º +å°Ĩ è¿İæĿ¥ +å·¥ ä¿¡ +工信 éĥ¨ +éĻIJ éĩı +æŃ¢ æįŁ +åѦä¼ļ äºĨ +åįİ çĽĽ +åįİ缼 é¡¿ +å¾Į ä¾Ĩ +ä¸ĭéĿ¢ æĺ¯ +ä¸ĭéĿ¢æĺ¯ å°ı +æIJ¬ è¿IJ +ç¾İæľ¯ é¦Ĩ +æ¸ħ åĩī +å¤ļå¹´ åīį +è© ŀ +åįĥ ç±³ +表 è¿° +æ±Ł éŨ +åĬłæ²¹ ç«Ļ +æľ¬ èĥ½ +导 读 +åĽ´ è§Ĥ +å¹¶ åIJij +åŁºæľ¬ æĥħåĨµ +æīĵ å¼ĢäºĨ +è¿Ļ ä¸ī个 +æ±ķ 头 +强 æľīåĬĽ +强æľīåĬĽ çļĦ +è¿Ľ åľº +ä¹Ŀ æ±Ł +çIJĥ æĺŁ +好çľĭ çļĦ +大 æĪ· +æ¹ ¯ +å¥ĩ å¦Ļ +ä¹IJ åύ +æĪijçļĦ å¿ĥ +çľī 头 +åĨľä¸ļ çĶŁäº§ +ç¼ĸ çłģ +åŁº ç¤ +åŁºç¤ İ +天 æĸĩ +åĢĭ人 è³ĩè¨Ĭ +åİ» è¿ĩ +èģĨ åIJ¬ +æĶ¾ åģĩ +ä¸į åħ·å¤ĩ +æ·Ģ ç²ī +大 佬 +åħ¨ 天 +åħ¨éĿ¢ 建æĪIJ +éļIJ å½¢ +ç¼ħ ç͏ +åIJ ³ +è¡ĮæĶ¿ æī§æ³ķ +åŁİ åł¡ +èİ« æĸ¯ +èİ«æĸ¯ ç§ij +æīĢæľī æĿĥ +éĽĨ åľĺ +å±Ģ åī¯å±Ģéķ¿ +åĩłä¹İ 没æľī +æ´ģ åĩĢ +ç͵影 èĬĤ +åŃ© ç«¥ +æīĢ åģļçļĦ +æ¸ħ 代 +æĸ° çīĪ +éĵĿ åIJĪéĩij +为 æĬĵ +为æĬĵ æīĭ +åΤ å®ļ +çī¹ äº§ +æīĭ æ©Ł +ä¸įåı¯ æĪĸ +ä¸įåı¯æĪĸ 缺 +å¸Ĥåľº è§Ħ模 +åĿ ¯ +åĮ» åѦéĻ¢ +å¿« è¦ģ +èĮ ľ +æĬĺ èħ¾ +äºĨ è¿ĩæĿ¥ +æĬ¥åijĬ æľŁåĨħ +çī© ç§į +ç»Łè®¡ å±Ģ +æī© 建 +æ¶ ħ +责任 人 +éĺ İ +è¯Ħ è®® +å¾Ģ äºĭ +æīĢ ç¤º +æķ´ æ´ģ +éĹº èľľ +æĹħ éĢĶ +å®ŀ è®Ń +ä¹ĭ ç§° +å·´ 士 +éĢŁåº¦ å¿« +ä¸įä»ħ å¦ĤæŃ¤ +å®Ŀè´µ çļĦ +åºŁ çī© +æ²³ æ°´ +æİ¥ 纳 +ç²¾ æ¹Ľ +åħ¶æ¬¡ æĺ¯ +顺 å¾· +åħ¬åħ± åį«çĶŁ +è¤IJ èī² +ä¸į æĥľ +æĬĢæľ¯ æľįåĬ¡ +æİ · +æ±Ĥ èģĮ +ä¸ī 峡 +æĬķåħ¥ åΰ +太 åIJİ +åIJ¯åĬ¨ 仪å¼ı +缴æİ¥ å½±åĵį +æĸ° 款 +个 乡éķĩ +çϾ 亿 +åº « +ä¹Ł æŃ£æĺ¯ +åı¶ çīĩ +æľĢæĹ© çļĦ +æĪĺ 绩 +å·¥ æľŁ +æĻļ æľŁ +è¿Ļæł· 说 +è¯į è¯Ń +ä¾ Ħ +æķ£ çĥŃ +éĽĨæĪIJ çĶµè·¯ +åIJį è¯į +æĻº åķĨ +æĭ¥ åłµ +çĭĤ 欢 +è¿Ļ èά +æµ´ 室 +åijķ åIJIJ +æľªæĿ¥ åıijå±ķ +ä¸īä½į ä¸Ģä½ĵ +åªĴ é«Ķ +ä¸įå¾Ĺ 转载 +åĽłä¸º 她 +æĺ¾ç¤º å±ı +ä¾Ľ æļĸ +éĨ« éĻ¢ +æľī æĦıæĢĿ +æľīæĦıæĢĿ çļĦ +娱ä¹IJ åŁİ +åįµ å·¢ +åĪĽéĢł åĬĽ +竳 èĬĤ +人大 常å§Ķ +èĢĮ çİ°åľ¨ +å¤ĸ å©Ĩ +å¢ŀ æĮģ +äºĶ åįĥ +èĢģå¸Ī 们 +æ´Ľ æĿī +æ´ĽæĿī 磶 +æİĮæı¡ äºĨ +ä¸ŃåĽ½ æĸĩåĮĸ +æĸ° æĶ¿ +主è¦ģ ç͍äºİ +åıij çĥ§ +类似 äºİ +åĮĹ æŀģ +æĪij们 认为 +å¼¥ 漫 +åħ¨çIJĥ ç»ıæµİ +é¢ IJ +ä¸Ģèµ· è£ħä¿® +æĶ Ĵ +æĭī èIJ¨ +帶 ä¾Ĩ +åĨ· æ°´ +ä¸ī åĨľ +æĿ¿ æĿIJ +è¿ŀ è¿ŀ +éĵ ® +ç»ıèIJ¥ çIJĨ念 +å±± é¡¶ +å¾Ī æĥ³ +çĺ « +å§ĭç»Ī ä¿ĿæĮģ +åľ¨ 广å·ŀ +ä¸įåIJĮ æĦı +åıĺ åİĭ +åıĺåİĭ åύ +产 éĶĢ +表 éĿ¢ä¸Ĭ +æīĢ以 ä»ĸ +ç»ıéªĮ 丰å¯Į +éĥ¨ å§Ķ +åħµ åĽ¢ +æīĢ è¿° +æķ¦ çħĮ +ç»ıèIJ¥ èĮĥåĽ´ +åı£ è¯Ń +失 ä¿¡ +æ¯ı个人 çļĦ +æīĭ æĮģ +æģIJ æħĮ +åł¡ åŀĴ +é¦ ħ +éĵ¸ éĢł +æĭ¿ åĩºæĿ¥ +æİ¢ æµĭ +大家 ä¸Ģèµ· +å¥ § +å®ŀè´¨ æĢ§ +å°ı åĦ¿ +èĩº åįĹ +èĩºåįĹ å¸Ĥ +å¼Ģåıij èĢħ +åı¯ æł¹æį® +ç®± åŃIJ +饺 åŃIJ +å¿Ļ çĿĢ +æĿ¥ ä¸įåıĬ +缸 ä¼ł +åĽ½ ç½ij +èħ¹ æ³» +è¿ĻéĩĮ æľī +é£İ æĻ¯åĮº +åıĤ ä¿Ŀ +æŃ» èĢħ +æĪ´ ä¸Ĭ +æ©Ł æ§ĭ +è¯ķéªĮ åĮº +ä¼ł æİĪ +æµ· è¾¹ +泪 æ°´ +缸åħ³ åĨħ容 +éĥij å·ŀå¸Ĥ +åħij çݰ +两 åij¨ +èĬľ æ¹ĸ +ç͵åŃIJ ä¿¡æģ¯ +红 å¤ĸ +æĹħ游 å±Ģ +å¾Ģå¾Ģ ä¼ļ +è¿ħ çĮĽ +ä¼ł 羣 +æ¸ħ æ¾Ī +å°± è¿ij +微信 群 +ç³»åĪĹ æ´»åĬ¨ +ç»ı常 ä¼ļ +è§Ĥ æµĭ +å¿ĥå¾Ĺ ä½ĵä¼ļ +éĻĪ åĪĹ +åĮĹ æĸĹ +è« ® +è«® è©¢ +è¿ĺæĺ¯ ä¼ļ +æµĭ ç®Ĺ +æĺŁ ç©º +宽 容 +çī©ä¸ļ åħ¬åı¸ +æĪĴ æĮĩ +å¸ħ æ°Ķ +ä¸ĢæŃ¥ æŃ¥ +åħ± 鸣 +åĨ³ ä¸į +æİ¥ 管 +å¦ĩ èģĶ +æ¯Ķ åĸ» +é²ģ è¿ħ +æĮģ çºĮ +缸 亲 +å¨ģå°¼æĸ¯ 人 +ç«ĭ 项 +åĪ Ŀå§ĭ +èĩª åζ +è¿Ī è¿Ľ +ä¸Ĭ æ±½ +å®ı ä¼Ł +æł¹æľ¬ 没æľī +æĸ°åĨł çĹħæ¯Ĵ +åĵª ç§į +康 åħ» +è¡° èĢģ +å½ķ åĥı +é«Ķ é©Ĺ +ç»ij å®ļ +é¢Ŀ 头 +äºĶ æľĪ +èĬ± å¼Ģ +ä¸Ģ线 åŁİå¸Ĥ +åΰ åľº +æĬķ éĻį +çĹĺ çĹĺ +åıĹ ä¸įäºĨ +æīİ æł¹ +æĽ´ ä½ķåĨµ +æĬ½ æŁ¥ +åĩº è·¯ +审议 éĢļè¿ĩ +ä¸į åĥħ +èī² è°ĥ +çϾ ä½Ļ +èĤł éģĵ +æ·±åİļ çļĦ +马 åĬĽ +æĹ© æĻļ +æŃĮ èĪŀ +éĺ² æĻĴ +æľĢåIJİ ä¸Ģ个 +樱 èĬ± +å°ıä¼Ļ åŃIJ +åľ¨ å½ĵåľ° +å°ıä¼Ļä¼´ 们 +èµ· æºIJ +åħ¨ åªĴä½ĵ +ç° ½ +éħ± æ²¹ +æĹłè®º å¦Ĥä½ķ +裤 åŃIJ +åģľ äº§ +ä¸įçͱ å¾Ĺ +çīµ å¼ķ +ä¼ł åĬ¨ +ä¹Ŀ é¾Ļ +åĬł åĽº +ä¹Łä¸į æķ¢ +æĬĢæľ¯ æĶ¯æĮģ +ä¸Ĭ å²Ĺ +ç»ıéªĮ åĴĮ +æł¼ æŀĹ +åIJ¸ éĻĦ +æľªæĪIJ å¹´ +奢ä¾Ī åĵģ +追 æį§ +好 ä¸į容æĺĵ +èķ´ åIJ« +ä¿Ŀ å®ļ +æĬ¥ ä¸ļ +æµ· åĨħå¤ĸ +ä½ł çİ°åľ¨ +æ²¹ èĢĹ +è´¨éĩı 管çIJĨ +æ½ľ æ°´ +丽 æ±Ł +转 åħ¥ +è¿Ļä¹Ī ä¹ħ +æĺİ ä»£ +责任 åζ +éĩį å·¥ +大 å·´ +触 åıĬ +èµ· åĪĿ +大 å¦Ī +æĸ¯ å¡Ķ +åĨĽ å·¥ +书 éĻ¢ +å³ ¨ +æİ¨ çIJĨ +è¿Ļç¯ĩ æĸĩ竳 +è¿ģ ç§» +åľ¨ åIJĮä¸Ģ +ç»Ĩ ç»Ĩ +åīĬ å¼± +书 æĪ¿ +ç¶ĵ 常 +è¯ķ é¢ĺ +æĤ£ ä¸Ĭ +çĻ«çĹ« çĹħ +åĨ² æ´Ĺ +å¤ĸ æı´ +åħĭ åζ +åįģ æľĪ +åģļ ä¸įåΰ +ç¾İ åĮĸ +å¦Ĥ æľŁ +è¿ĺ éľĢ +天 åºľ +å°± æĦıåij³çĿĢ +çļĦç¡® æĺ¯ +éªĹ å±Ģ +å°ıç»Ħ èµĽ +è© © +ä¹Ŀ å¹´ +æĻĵ å¾Ĺ +çłĶç©¶ 人åijĺ +大 éħĴåºĹ +ç§ij åѸ +åħŃ åIJĪ +çķĮ å®ļ +车 è½½ +å¼Ģ çĿĢ +毫 æĹłçĸij +毫æĹłçĸij éĹ® +è¿IJ ç»´ +ç¦ģ åĮº +èĦ± èIJ½ +讲 å¸Ī +产ä¸ļ åŁºåľ° +é«ĺ æĢ§èĥ½ +åħī 彩 +çݰ éĺ¶æ®µ +åĩ ¿ +è¾ĥ å·® +饮 çĶ¨æ°´ +éĸĭ çϼ +ç½ij åIJ§ +çĮ´ åŃIJ +æŃ¦ æŀĹ +å®ī åİ¿ +ä¸įåı¯ æĢĿ +ä¸įåı¯æĢĿ è®® +éĬ· åĶ® +è´« ç©· +为 åķ¥ +éº ĵ +å¹¾ åĢĭ +è§Ħ模 以ä¸Ĭ +æı ļ +被 åĽ° +缺 å¸Ń +å¿« é¤IJ +æĬ¢ åįł +æĻ Ł +å¤į æ´» +æľ¬æĬ¥ 讯 +åĪĽ ä¸ĭ +æµ· 滩 +éĩı 产 +å¦Ĥä½ķ åİ» +车 ä½į +å¯ ĩ +äºĮ åįģåĽĽ +ç»ıæµİ æįŁå¤± +éħįå¥Ĺ 设æĸ½ +åŁºæľ¬ éĿ¢ +äºī 论 +就好 åĥı +çłĶç©¶ æĪIJæŀľ +éĻĪ è¿° +æīĵ åĬ¨ +ä¸ĭ å·´ +ç§Ĵ éĴŁ +对 人ä½ĵ +æĬĢæľ¯ çłĶåıij +åİŁ åŃIJ +æĺ¯ä¸Ģ 项 +äºĨä¸Ģ 份 +æĮĩ çͲ +ç͍ éĩı +è¿ĺä¸į å¤Ł +æĶ¿åºľ éĩĩè´Ń +çŁ¥è¯Ĩ çĤ¹ +ä¸ŃåĽ½ 梦 +å¾Ī å¼Ģå¿ĥ +礼 è²Į +éĿŀ常 å¤ļ +éĿŀ常å¤ļ çļĦ +åĽ ļ +æĹħ é¦Ĩ +å°½ æĥħ +æŃĮ åͱ +æ²Ļ é¾Ļ +车 åİ¢ +客 æµģ +åģı å·® +积累 äºĨ +æ¡ Ķ +çĶ» çĶ» +ä¹Ł åºĶ该 +åºĶç͍ ç¨ĭåºı +èĥĥ èĤł +以 å¾Į +豪 å®ħ +æ·± åĬłå·¥ +缴 è¨Ģ +åĮĸ çŁ³ +åĽ½ éģĵ +ä¸ĥ 个 +ä»İèĢĮ 使 +èĤł èĥĥ +æĹ¥ è¶ĭ +çζ åŃIJ +ç· © +æĭĽ çīĮ +产 å¦ĩ +çķª èĮĦ +æĪij éĻ¢ +建çŃij å·¥ç¨ĭ +å±ķè§Ī ä¼ļ +å®¶éķ¿ ä»¬ +åĨľ ä½ľçī© +æĹ¥ å¤ľ +æĶ» æĵĬ +è§Ħ éģ¿ +èĪŁ å±± +便 æ°ij +åħ« åŃĹ +ä¸į æĽ¾ +æĶ¯ éħį +çĨ¬ å¤ľ +人 é¡ŀ +ç´Ģ éĮĦ +ç»ıèIJ¥ æ´»åĬ¨ +大 涨 +å¸Ĥå§Ķ 常å§Ķ +åĪĨ éIJĺ +ä¸Ģ个 èģĮä¸ļ +çĹħ åĽł +è¿Ļ 对äºİ +ä¸įå¾Ĺä¸į 说 +åıijç͵ æľº +æľīæīĢ å¸®åĬ© +缮æłĩ ä»»åĬ¡ +åĽł åľ° +åĽłåľ° åζ +åĽłåľ°åζ å®ľ +å°Ĩ è¾¾åΰ +ç²Ĺ ç³Ļ +稳 åĽº +å« £ +çİ°åľ¨ å¾Īå¤ļ +ä¸ĸçķĮ 级 +å¼ł æŁIJ +çĤ¹ ç¼Ģ +èij µ +社ä¼ļ ç»Ħç»ĩ +å¾Ģ åIJİ +åĬł æģ¯ +åĻª 声 +æľī åħ´è¶£ +为æĤ¨ æıIJä¾Ľ +æ²¹ æ¼Ĩ +ç¬¬åĽĽ å±Ĭ +çļĩ 宫 +ä¹Ĵ ä¹ĵ +ä¹Ĵä¹ĵ çIJĥ +éļ¨ èijĹ +éģ© åIJĪ +åįĹ éĿŀ +æĵ ´ +西 æ´ĭ +åĬł å¯Ĩ +æĪIJåĬ٠䏾åĬŀ +åı£ æ°´ +æĪIJ 年人 +æīĢ æıIJä¾ĽçļĦ +éļĶ å£ģ +åľ¨ 京 +å½ĵåľ° æĹ¶éĹ´ +çŃī åIJĦç§į +é£İ æ°Ķ +å±ĭ éĩĮ +ä¸Ģ åŃĹ +çļĦæĹ¶éĹ´ éĩĮ +åĺ¿ åĺ¿ +å¿« 讯 +ä¸Ń åľº +ä¸Ģ çĵ¶ +æ» ķ +é¢Ĩ è·ij +好 èݱ +好èݱ åĿŀ +没 åħ³ç³» +åĩº å¢ĥ +ä¸įæĺ¯ ä¸Ģ个 +éĥ½æĺ¯ éĿŀ常 +éľĩ åĬ¨ +èİ· èĥľ +åįļ å¼Ī +æĬļ åħ» +对 ç«ĭ +æľįåĬ¡ æľºæŀĦ +è°£ è¨Ģ +社ä¼ļ ç§ijåѦ +åIJ¬è¯´ è¿ĩ +æī ³ +æīĵ 磨 +åı£ æľį +好 åĥıæĺ¯ +以åıĬ åħ¶ä»ĸ +çī¹ è´¨ +亲 è¿ij +ä¸Ģ ç»ı +æ¶ Ŀ +éŃĶ æľ¯ +éģĵè·¯ 交éĢļ +è§Ħ模 æľĢ大 +å®ŀæĸ½ æĦıè§ģ +ä¹ ŀ +ä¸Ģ ä¸ĸ +åŁ· è¡Į +è±Ĩ çĵ£ +åĪĹ ä¸º +æķħ 宫 +çĶŁ åij½åij¨æľŁ +ä¸īç§į èģĮä¸ļ +详ç»Ĩ ä»ĭç»į +å®Į å¤ĩ +岩 çŁ³ +éļı æīĭ +é£ ² +æķĪæŀľ åĽ¾ +ç§ĭ åĨ¬ +åĬŁ å¾· +è§Ħ竳 åĪ¶åº¦ +æĹ¥ æ¸IJ +æīĢ éľĢè¦ģ +æīĢéľĢè¦ģ çļĦ +å²Ľ ä¸Ĭ +åĩº åľŁ +åĽ¾ æĸĩ +ç§ijæĬĢ è¿ĽæŃ¥ +éĢļ èĥĢ +èĢģ 太太 +èĭĹ æľ¨ +éĵ¶ å·Ŀ +å¸IJ 篷 +éĿŀ è¦ģ +éħį ç͵ +å¤Ħ å¢ĥ +èĤ¡æĿĥ æĬķèµĦ +ä¸Ģ缴 åΰ +åĿĩ çͱ +æĬĹ æĹ¥ +æį® ä»ĭç»į +ä½ł åĸľæ¬¢ +åĪĽæĸ° åŀĭ +åıĺ è¿ģ +è§Ĩ å¯Ł +å®Įåħ¨ 没æľī +åħĥ æĹ¦ +åı¯ ä¿¡ +åı¦ è¡Į +æĿij 级 +åħ¥ åľº +æIJŃ æ¡£ +ä¹Ł åĽłæŃ¤ +æį¢ æĪIJ +ä¸į è´Ł +äºĨ 大éĩıçļĦ +éģĶ åΰ +å¸Ĥ åİ¿ +å¹´ è¼ķ +å¿« æīĭ +å¸Į å°Ķ +èĩª èIJ¥ +éĽª èĬ± +æIJ ģ +çľ¼ ç§ij +æŃ£ 確 +çļĦ å§¿æĢģ +åĿļå®ŀ çļĦ +æĮĩ 纹 +æªĶ æ¡Ī +ç½® äºİ +佩 æľį +豪 éŨ +åĵ Ĵ +æģ° 好 +檢 æŁ¥ +åĪĿ è¡· +大 åĶIJ +约 ä¼ļ +èĴ¸ åıij +çѹ åĪĴ +å¹´ ç»Ī +è¡Į æ¥Ń +åħ± éĿĴ +åħ±éĿĴ åĽ¢ +ä¼ļ å¼ķèµ· +ä¸Ń ç§ij +ä¸Ńç§ij éĻ¢ +æĮ¯ åĬ¨ +åį´ åıijçݰ +ä¸įåĬ¨ 产 +èĮ ¹ +æĪ¿éĹ´ éĩĮ +è´§å¸ģ æĶ¿çŃĸ +æ²» çĻĤ +æħİ éĩį +å¡ŀ å°Ķ +åĽ½ ç±į +åĽł æŀľ +çŃī çī¹çĤ¹ +å±± è°· +ä¸ĭ è¼ī +è®ĵ æĪij +饮 éħĴ +è¿Ļ个 游æĪı +ç»Ŀ 大éĥ¨åĪĨ +åĴ¨è¯¢ æľįåĬ¡ +å¹² æ´» +è®® ä¼ļ +æ¦Ĥ è¿° +åĪĨ åĮº +æŃ» åIJİ +ç«Ļ çĿĢ +主è¦ģ é¢Ĩ导 +åIJĮ åŁİ +大 æłij +对 åѦçĶŁ +社ä¼ļ ä¿ĿéĻ© +å¢ŀ èµĦ +主人 åħ¬ +å®£ä¼ł æķĻèĤ² +æĸĩåĮĸ 交æµģ +客 æĪ¶ +çŁ¥åIJį åĵģçīĮ +æ»ŀ åIJİ +äºĴ è¡¥ +æĦŁ äºº +åī ¿ +åIJİ ä»£ +äºī 龸 +æķĻèĤ² åŁ¹è®Ń +éĿĻ èĦī +ä¹ı åĬĽ +说 åĩºæĿ¥ +çİĭèĢħ èį£èĢĢ +åĢ « +åįĩ èµ· +éķ ģ +åĩº 游 +éĢļè¡Į è¯ģ +å·¥ä½ľ å²Ĺä½į +åĮł å¿ĥ +æĭ¿ æĿ¥ +æ´Ĺè¡£ æľº +æĪijä¸į æĥ³ +é¢Ħ è§ģ +æ¼Ķ 示 +ä¸Ģ缴 没æľī +è·Ł 她 +对çħ§ æ£ĢæŁ¥ +ç° ¿ +ä¸ĵ å¿ĥ +è®® äºĭ +åīį 端 +åį¡ å°Ķ +è¨Ń å®ļ +设置 äºĨ +å©ļ 纱 +åľ¨ åĽ½å¤ĸ +åı³ ä¾§ +è³¼ çī© +å¥ĩ èij© +å¢ŀåĬł å̼ +好 è¿IJ +åĽ½éĻħ æľºåľº +ä¸ĭ ç§° +缮åīį 为æŃ¢ +ç¥ŀ ä»Ļ +å®ĥ åı¯ä»¥ +æ¾Ħ æ¸ħ +èĥ½ 使 +游 åĩ» +游åĩ» éĺŁ +åĩ ¹ +ä¸įè¦ģ åĨį +åĨ³ èĥľ +åĨ³ æĪĺ +æĭ ½ +缼 åħ¸ +å¾Ī好 åľ° +æľĢ ç¾İçļĦ +åĥ ļ +å·´ åŁº +å·´åŁº æĸ¯åĿ¦ +æľĢ éĢĤåIJĪ +é«ĺ èģĮ +ä¿Ŀ å§Ĩ +æİĪ æ¬Ĭ +说åΰ è¿ĻéĩĮ +æİ¨ å¼Ģ +çİĩ è¾¾ +ä¸īåĪĨ ä¹ĭä¸Ģ +管çIJĨ ä¸Ńå¿ĥ +交 æ±ĩ +森æŀĹ åħ¬åĽŃ +å¾Ģ ä¸Ĭ +éªij è¡Į +æį® æŃ¤ +纽 带 +ç» ŀ +ä¸ī æĸ¹ +æĦıä¹ī ä¸ĬçļĦ +æİ¨ è¿Ł +å¤ļæł· æĢ§ +æĥ³ èµ·äºĨ +æİĴåIJį 第 +å·¨ é¢Ŀ +æĿŁ ç¼ļ +å®ī å®ļ +äºĭ 實 +çļĦ æĦ¿æľĽ +è£ħå¤ĩ åζéĢł +人 å±ħ +人å±ħ çݯå¢ĥ +å¿ĺè®° äºĨ +该 游æĪı +楼 ä¸Ĭ +å¼Ģ ä¼ļ +æģ ³ +åıĭæĥħ éĵ¾æİ¥ +ç¡ Ĵ +ç»ĻäºĪ äºĨ +åģı 好 +åĵ ī +交éĢļ å®īåħ¨ +éĽ Į +æ²» çĹħ +è§īå¾Ĺ å¾Ī +衬 è¡« +å¿ĥ æĦ¿ +æ´ŀ å¯Ł +æ°ij æ£Ģå¯ŁéĻ¢ +æıIJ çĤ¼ +è¦ģ è¿Ľä¸ĢæŃ¥ +驾 车 +æĻ® æĥł +æķ ĸ +ç¦ı éŁ³ +éĢģ è¾¾ +è§ĦåĪĴ 设计 +æīĭ å¥Ĺ +å®ī ä¿Ŀ +è¿ĺä¸į å¦Ĥ +åīį è¿° +æłĩ è®° +ç´§ æİ¥çĿĢ +æ§ IJ +深深 åľ° +满满 çļĦ +æĺ¥ è¿IJ +æĹ¥ 产 +çα æĬ¤ +åħ¨ æĹ¥ +åħ¨æĹ¥ åζ +转 åĬ¨ +ç¥Ń ç¥Ģ +ä¹° ä¸ľè¥¿ +对 æľªæĿ¥ +æ¶Ī失 äºĨ +åļ´ éĩį +ä¸ī æĿ¡ +éħ¸ 奶 +éĽĨåĽ¢ èĤ¡ä»½ +西 è·¯ +åıª å¾Ĺ +éĢģ åİ» +çĭł æĬĵ +åĪ©ç͍ çİĩ +ä¸ĭ åij¨ +å¥ĭ æĪĺ +æĺ¥èĬĤ æľŁéĹ´ +è´Ł 责任 +æĺĤ è´µ +å°¾ å·´ +ç¯ĩ æĸĩ竳 +åħ ® +è®Ĭ æĪIJ +å¹ ¹ +çĻ» éĮĦ +ä½ Ī +å·¥ åĮł +åĵªæĢķ æĺ¯ +åıį åĵį +ç§ ĥ +åĩº 轨 +æĹ¥ åĨĽ +åIJį èªī +æķı éĶIJ +æľįåĬ¡ æ°´å¹³ +çħ§ å°Ħ +ä¼Ĭ æĭī +ä¼Ĭæĭī åħĭ +åĨħ éĺģ +èĬĴ æŀľ +ä¸ĩ åĪĨ +éĢĢ æ¬¾ +缴æĴŃ éĹ´ +æĭ¿ åΰäºĨ +å°İ èĩ´ +空æ°Ķ ä¸Ń +客æĪ· æľįåĬ¡ +è¿IJ åĬ¿ +ç»ĵ çŁ³ +ä¸į å¿ħè¦ģçļĦ +èĥ¶ åĽĬ +çIJĨ ä¼ļ +æĬ½ åĩº +空æ°Ķ è´¨éĩı +æ¯ķ 竣æĺ¯ +åĨ· æ¼ł +ä¸Ģ å¦Ĥ +ä¸Ģå¦Ĥ æĹ¢ +ä¸Ģå¦ĤæĹ¢ å¾Ģ +æĤ£ çĹħ +åĬł æĮģ +èµŀ åĬ© +é« ® +åij½ ä¸Ń +æĦıä¹ī ä¸Ĭ +ä¸į èĪį +åģļ æ¢¦ +æīĵ æī« +æĺŁ åħī +æĸŃ è£Ĥ +åħ¨ å¥Ĺ +è£ģ å®ļ +马 åħĭæĢĿ +骨 骼 +ä¸Ģ è·¯ä¸Ĭ +å®ļ æĹ¶ +å·¥ç¨ĭ æĬĢæľ¯ +å½¼ å¾Ĺ +æ±² åıĸ +ä¸Ģ è§Ī +åIJµ æŀ¶ +ä¿Ĺ ç§° +æłª æ´² +åºŁ æĹ§ +è¡Į æĺŁ +åıijçĶŁ åıĺåĮĸ +é¦ĸ ä»ĺ +åįģåĪĨ éĩįè¦ģ +æĬĬ è¿ĻäºĽ +ç¥ŀ å·ŀ +æıIJä¾Ľ åķĨ +æ¥ · +å± İ +çĬ¶ åħĥ +åŁİ å¢Ļ +çľĭ ä¸Ģçľĭ +çĶŁäº§ èĥ½åĬĽ +åŁºæľ¬ä¸Ĭ éĥ½ +æīĵ æī° +åĪĿ 次 +åĩº 示 +åħ¶ä¸Ń ä¸Ģ个 +çĶŁæĢģ ç³»ç»Ł +æīĭ æİĮ +æµİåįĹ å¸Ĥ +åľĭ åħ§ +æŃ£ å̼ +å¹¾ ä¹İ +æİ¨èįIJ éĺħ读 +è¿Ń 代 +è°ĥ ä¾ĥ +饮 åĵģ +å¢Ļ ä½ĵ +åıĺ çݰ +äºĨ 好 +äºĨ好 åĩł +ä¸į çķĻ +çĪ ² +å°½ æĹ© +æŃ£åľ¨ è¿Ľè¡Į +åĩº éĻ¢ +æĿĢ å®³ +æıIJ 款 +åıijå±ķ 空éĹ´ +åīį 身 +ä¸įæĸŃ å¢ŀ强 +æ·± å±Ĥ次 +容 纳 +éĤ£ 份 +å·¥ä½ľ æķĪçİĩ +æľ¬ åĽ½ +失 èIJ½ +æŃ£ åĽłä¸º +èĬĤ æ°´ +ä¸ĭ ä¸Ģ代 +çłĶåıij ä¸Ńå¿ĥ +ä¸į çIJĨ +å®Į 好 +ä¿ĿæĬ¤ åĮº +ç»ĵæŀĦ è°ĥæķ´ +å¥ł å®ļ +宣 ç§° +éĺ» æĮ¡ +æĴ¤ 离 +ä¸į æĸ¹ä¾¿ +åĴ ķ +ç¬ijäºĨ ç¬ij +çݯå¢ĥ 污æŁĵ +ä½ı æĪ· +ç»Ŀ ç¼ĺ +éϤ å°ĺ +é«ĺ å°ļ +æĢİä¹Ī åı¯èĥ½ +éĿ¢ èī² +åķĨ æ¥Ń +çĸ ¹ +èµĦæºIJ ä¼ĺåĬ¿ +è¾ĸåĮº åĨħ +èĢĢ çľ¼ +æij§ æ¯ģ +ä¸ĸçķĮ ç»ıæµİ +å¼ķ æĿ¥ +ä¸Ģ åĪĻ +æĭĩ æĮĩ +æĬµ 御 +éĽ į +åĩĨå¤ĩ å·¥ä½ľ +çıł ä¸īè§Ĵ +ç¨Ģ åľŁ +èİ·å¾Ĺ æĦŁ +æĪIJåĬŁ çİĩ +ç½ij 约 +ç½ij约 车 +èĦ IJ +æķ¬ ä¸ļ +éĩij ä»· +ç²¾ é«ĵ +ä¹° 车 +åħ³ åı£ +åĨį å¤ļ +æŀģ åĵģ +åIJĦ å®¶ +举æĬ¥ ç͵è¯Ŀ +èļ Ĭ +æĸ¹ å½¢ +ç§ijæĬĢ æĪIJæŀľ +æľĢ好 æĺ¯ +éĹ® åĢĻ +红 éħĴ +åĽĽ ç§į +ç¿Ĵ æħ +ç¿Ĵæħ £ +åŀ ¦ +éĤ£ åıª +é¢Ĩ æĤŁ +çľ¼ éĥ¨ +æ³° å®ī +ä»» æľŁ +磨 æįŁ +æĽ¿ æį¢ +åħ¸ 礼 +符åIJĪ æĿ¡ä»¶ +è¿ĺæľī ä»Ģä¹Ī +åħ±äº« åįķ车 +åı¯ åĪĨ为 +åŃ£ åIJİ +åŃ£åIJİ èµĽ +举èİŀ å¸Ĥ +å¿ĥ æĦı +æīŃ æĽ² +ä½ľä¸º ä¸Ģç§į +è¿Ļ éĥ¨åĪĨ +åıĤä¸İ åΰ +ç½ij çIJĥ +實 çı¾ +ç»Ħ è£ħ +åIJij å¤ĸ +å·¥ä½ľ æĸ¹æ¡Ī +åįģ æĿ¡ +課 ç¨ĭ +颤 æĬĸ +åĵ © +éĤ® å¯Ħ +äº ¢ +åħį è²» +ç§ ¤ +åºĶæĢ¥ 管çIJĨ +åĽĽ äºĶ +éºĴ éºŁ +å¾Ĵ æŃ¥ +è¨ĺ å¾Ĺ +çĴ IJ +æĺ¯åIJ¦ ä¼ļ +æĦıè§ģ åıįé¦Ī +éļ¾ æĢª +çª į +交 æİ¥ +两 åįĥ +æĩī ç͍ +æľŁ éĸĵ +æIJ¬ åΰ +è®® é¢ĺ +碧 æ¡Ĥ +碧æ¡Ĥ åĽŃ +åģļ çĶŁæĦı +éĻĽ ä¸ĭ +è· ĭ +èĢģ人 å®¶ +带 åĽŀ +æŀ¸ æĿŀ +è¡Į éķ¿ +åĨħ容 ç®Ģä»ĭ +æ¢ ¢ +æĮĩ æİ§ +éĩį çĹĩ +ç½ijåıĭ 们 +çı¾ 代 +ç±» 产åĵģ +å¥Ķ æ³¢ +æ¸ º +ç²ī ç¢İ +è¿Ļ åıªæĺ¯ +æ£Ģå¯Ł æľºåħ³ +é½ Ĭ +æĪ¿ ç§Ł +å¾· æĭī +å²ģ 以ä¸Ĭ +纯 åĩĢ +åĪĨå¸ĥ åľ¨ +èĥ½ å¾Ĺåΰ +ä¸į å°½ +ç«ŀ ä»· +çļĦ 带é¢Ĩ +çļĦ带é¢Ĩ ä¸ĭ +ä¸ŃèᝠæĿIJ +æĿij éķĩ +ä¸įåı¯ éģ¿åħį +éľ² 天 +å°ı å§ijå¨ĺ +çī© ä»¶ +èijĹä½ľ æĿĥ +æĭĺ çķĻ +éĥ½ è§īå¾Ĺ +æĽ² æĬĺ +æ·»åĬł åīĤ +åı¬ åĽŀ +æīİå®ŀ æİ¨è¿Ľ +æĬĦ è¢Ń +åĮĸ 身 +缴 èIJ¥ +ä¹Ł å¸ĮæľĽ +èį£èªī ç§°åı· +åįĸ ç»Ļ +æľī ä¸įåIJĮçļĦ +å¥ĩ çī¹ +éĥ½ 认为 +å¦ ŀ +æĪIJéķ¿ ä¸º +辩 æĬ¤ +主 æķĻç»ĥ +æ³ķå¸Ī èģĮä¸ļ +æ¤į åħ¥ +ç´¢ å°¼ +åIJ¬ è¿ĩ +ä¹łæĥ¯ äºĨ +夺 åıĸ +éŁ ĵ +æľ¬è´¨ ä¸Ĭ +æİ¥ åĬĽ +äºij 端 +è¦ģ åģļ好 +è·¯ çģ¯ +åįıåIJĮ åıijå±ķ +æľī å¾ħ +æ°´ åŁŁ +æIJľçĭIJ é¦ĸ页 +è´¨éĩı å®īåħ¨ +åįģäºĮ äºĶ +åĵ® åĸĺ +èĵ¬åĭĥ åıijå±ķ +åIJį 声 +身 亡 +çİĭ åºľ +åİŁåĪĻ ä¸Ĭ +çĥĺ å¹² +éģĹ æ¼ı +éĿ¢ 缮 +åĽ½ ä¼ļ +ä¸Ģ缴 éĥ½æĺ¯ +æľīä¸Ģ ä½į +éħį æľī +éĻª çĿĢ +ä¼ģ åĽ¾ +æĮī ä¸ĭ +èĵĿ åĽ¾ +æ© ĺ +大å¤ļ æĺ¯ +辩 论 +æĹĭ å¾ĭ +æĬ¥ éĢģ +æĿ¡ è§Ħå®ļ +åĬ¨ éĿĻ +åĮΠ奴 +æĭľ 访 +ä¸Ģ åĪĢ +ä»ĸ çŁ¥éģĵ +主 æĿĥ +ä»ĸ æĽ¾ +æĴŃ ç§į +å£ģ åŀĴ +çī¢è®° 使åij½ +åľ¨è¿Ļ æĸ¹éĿ¢ +æīĭ èħķ +æĶ¯ æŀ¶ +ä¾Ĩ èĩª +éĩį å¡ij +å¤ļ å±Ĥ次 +ä»ĭ è´¨ +éĿ¢ åŃĶ +æ½® 湿 +åİ¿ åŁŁ +游æĪı å½ĵä¸Ń +å£ ŀ +åĪĹ åĩº +èµĽ åĮº +å¤ļ åįĬ +éĩįçĤ¹ å·¥ä½ľ +æĪij们 å¿ħé¡» +æŁı æŀĹ +é²ģ èĥ½ +æĸ½ å±ķ +åIJĦ åĮº +åħį ç¨İ +èµĽ åIJİ +æľĢ éĩįè¦ģ +ä¸Ģ个 好çļĦ +è¿Ŀæ³ķ è¿Ŀè§Ħ +äºĨè§£ æĽ´å¤ļ +æķ¬ 请 +ç¬ijçĿĢ è¯´ +ä¸įæĸŃ åıijå±ķ +æijĦå½± å¸Ī +以 éĺ² +çĤ¸ å¼¹ +声 åĵį +ç¤ ģ +æĩ ¿ +èĪĨ æĥħ +èĩªçͱ è´¸æĺĵ +æķı æį· +ä¸ī大 éĺ¶æ®µ +èĭ Ķ +æĹº åŃ£ +ä¸į 满æĦı +微信 åı· +ä¿® 为 +çł´ è£Ĥ +éĢĥ 离 +æ¯ı èĤ¡ +è¾¾ ä¸įåΰ +æ¯ıå¹´ éĥ½ +çģ¯ ç¬¼ +æŃ¤ åŁºç¡Ģä¸Ĭ +åĥı 个 +åĪĨ 娩 +æĻ ¾ +ä¸į èĩ³äºİ +红 线 +误 è§£ +举 è·¯ +æ·® å®ī +产 åѦ +产åѦ çłĶ +èī¾ æ»ĭ +è»ĭ çĹħ +åīįæıIJ æĺ¯ +æ¯ı ä¸Ģ天 +ä¸ĥ 大 +æłij åı¶ +èµ° å¾Ĺ +è¿Ļ 两ç§į +æİı åĩº +æİ IJ +é¢Ĩ导 èĢħ +ä¸Ģ æľµ +个å¤ļ æľĪ +ä¸Ń åħ³ +ä¸Ńåħ³ æĿij +课åłĤ æķĻåѦ +大 åĴĸ +éģĭ ç͍ +è¯ļ æĦı +ç»Ħ åĽ¾ +è¯ķ çĿĢ +ä¹Ķ æ²» +è¿ĺ ä¸įæĺ¯ +æľī æĽ´å¥½çļĦ +åIJİ å¤ĩ +æĸ°çĶŁ åĦ¿ +æ°Ķ è¡Ģ +æ²¥ éĿĴ +å±ı éļľ +æ¥Ń åĭĻ +æĪij 以为 +éķ¿ çĽ¸ +èĢģ çΏ +éķĩ æ±Ł +æľºæ¢° 设å¤ĩ +ä½Ĩæĺ¯ å¦Ĥæŀľ +åĿļå®ļ ä¸į +åĿļå®ļä¸į ç§» +åĨ² éĶĭ +ç®Ģ缴 æĺ¯ +åĤ¨ èĵĦ +纯 ç͵åĬ¨ +漫 æŃ¥ +举 èµ· +æģ¶ æĢ§ +è¨ĺ éĮĦ +èģĮèĥ½ éĥ¨éŨ +åħ¨ éķ¿ +鼻 è¦ĸ +ä¹³ èħº +ä½ķ å¤Ħ +æ¶Ī æŀģ +æŃ£ å¤Ħäºİ +å®ī å®ģ +æĪIJ éķ· +åıĻ è¿° +æºĥ çĸ¡ +ä½Ĩ çİ°åľ¨ +女 æĺŁ +å©´ å¹¼åĦ¿ +æĬķ èŀįèµĦ +éĹ® éĹ® +æıŃ å¼Ģ +è¯ ı +åIJį å½ķ +èĺij èıĩ +åIJĬ é¡¶ +æ¹ĸ åĮº +åįĸ åľº +建 ç¯ +å»ºç¯ ī +èİ ½ +åIJ¬ åIJ¬ +ç«ŀäºī ä¼ĺåĬ¿ +åĩº ä»» +æľī 两ç§į +橱 æŁľ +è¤ ª +è¯ķ åį· +ç»ıæµİ æĬĢæľ¯ +æ·± å±Ĥ +éĩįè¦ģ åĨħ容 +é£İ æİ§ +çĬ¶æĢģ ä¸ĭ +éĥ¨ éĸĢ +广 æ±½ +è§Ĥ æij© +éģĹ çķĻ +转 è´¦ +æĮģ ä»ĵ +æĢ» 计 +åľĺ éļĬ +æĪ¿ 举 +éĺĢ éŨ +åħ¬ åħ³ +åħ³ åĪĩ +èĤ ĺ +æķ¸ æĵļ +ä¸ī åįģå¹´ +è§ģè¯ģ äºĨ +å± Ĩ +çģ° å°ĺ +æ¦ľ é¦ĸ +è¦ĨçĽĸ çİĩ +ä»Ļ 女 +çĶŁäº§ æĢ» +çĶŁäº§æĢ» å̼ +æĪ¿ è´· +æ±Ł åĮº +åħħç͵ æ¡© +çϾ åIJĪ +確 èªį +转 ç§»åΰ +éĥ½ æĹłæ³ķ +纪念 é¦Ĩ +çŃ¾ç½² äºĨ +å¹¶ä¸į å¤ļ +æĮ ł +ä¸į太 好 +ä¸ĸ 代 +误 导 +é«ĺå³° 论åĿĽ +åħ¼ 容 +龸 æ°Ķ +æĿ¥ 访 +æīĢ å¸¦æĿ¥çļĦ +æĺ¯ä¸Ģ éĥ¨ +æĻļ é¥Ń +åİĨ 代 +åIJ¦ åīĩ +ä¹ħ ä¹ħ +æľīæķĪ æľŁ +诱 åıij +æĢ» èµĦ产 +æľ¬èº« å°±æĺ¯ +çĶŁäº§ åİĤå®¶ +æĹ¶ 髦 +èĢIJ ç͍ +ä»İå°ı å°± +æĿ¡ 约 +èĭ± åĭĩ +ä¿Ĺ è¯Ŀ说 +寺 åºĻ +å¿ĥçIJĨ åģ¥åº· +ä»Ģä¹Ī äºĭæĥħ +æ±ī åŃĹ +çķĻ ä½ı +åįĹ è·¯ +ä¸ī 项 +丢 äºĨ +æĥ³ åΰäºĨ +çѹ éĽĨ +éĻĦåĬł å̼ +西 è£ħ +ä¹ĭ ä½ľ +åģļçļĦ äºĭ +çķ¶ æĤ¨ +çķ¶æĤ¨ åľ¨ +é¦ĸ 款 +ä¸įåľ¨ ä¹İ +å·¥ç¨ĭ æĸ½å·¥ +éļIJ éļIJ +åıĺ 身 +沿 éĢĶ +æĤł æĤł +ä¿Ŀ æļĸ +çĶŁæ´» åŀĥåľ¾ +渤 æµ· +æŃ¦ ä¾ł +女 主è§Ĵ +举 ä¾ĭ +æ ·¨ +çϽ é¢Ĩ +è£Ļ åŃIJ +è¿Ķ è¿ĺ +è¿Ī åĩº +é¾Ļ éŨ +ç»ıæµİ ä½ĵ +æĶ¶ å®ĺ +çķĮ éĻIJ +è·³ åĩº +åįĩ å̼ +绵 éĺ³ +çĸ¤ çĹķ +çľĭ æ¸ħ +æĭĴ çµķ +è¥Ħ éĺ³ +课 å¤ĸ +åŃIJ åŃĻ +æŃĮ è¯į +æĪIJ åIJį +溶 æ¶² +åĦĴ å®¶ +åķĨä¸ļ åĮĸ +辨 åĪ« +å¤ļ è¾¾ +ç½ij åºĹ +ä¹Ŀ 大 +ä¹Ŀ大 ç²¾ç¥ŀ +æŃ¤ 举 +è¿ŀ è½½ +ä¸Ģ åĢĭ人 +èī² æ³½ +æ¶µçĽĸ äºĨ +è¦ı åĬĥ +åĽ½ æĥħ +åį«çĶŁ åģ¥åº· +积æŀģ åĵįåºĶ +æĭ Ļ +åζ åĬ¨ +æĥ³è±¡ åĬĽ +çļĦ ä¹IJè¶£ +å¼łå®¶ çķĮ +å´ İ +éĩį åŀĭ +å¤ĸ å¢Ļ +æĶ¾ åѦ +è®¤çľŁ åŃ¦ä¹ł +è´¬ å̼ +æ³ķ æ¡Ī +æĬ¤èĤ¤ åĵģ +éĻ·åħ¥ äºĨ +请 æĤ¨ +åŀ ¢ +æķĻèĤ² èµĦæºIJ +交æĺĵ å¹³åı° +æĹ¶ è£ħ +ä¼łæŁĵ çĹħ +æ¹ĸ æ³Ĭ +èµĦ 管 +åݨ å¸Ī +éĹľ éį +éĹľéį µ +åĵĪåĵĪ åĵĪ +çĽĹ çªĥ +çĶľ ç¾İ +åºĦ åĽŃ +缮åīį å·²ç»ı +è¾¹ ä¸Ĭ +çģ« èĬ± +æĬ¥ è®°èĢħ +æģĭ æĥħ +ç´§ åĩij +æ°´ æµģ +è¿Ļæĺ¯ æĪij们 +æ³¥ åľŁ +æĽ¾ ä»» +æĸ¹ è¨Ģ +åij¨ åħŃ +åı· 楼 +ä¼ij åģĩ +误 ä¼ļ +åĽ½ åĢº +åīį å¤ķ +两 å¼ł +éĹ « +éŃĶ é¬¼ +æĬĬ æĮģ +èĬĤèĥ½ çݯä¿Ŀ +æ¸ħæ´ģ èĥ½æºIJ +èĤ¥ æĸĻ +é«ĺ é¢ij +å°± æľīäºĨ +交 ä¼ļ +没 éĴ± +éĽħ æĢĿ +è¦ģ åıĬæĹ¶ +åŁ¹åħ» åѦçĶŁ +欣 åĸľ +çĥŃæ°´ åύ +é¾Ļ æ¹ĸ +äºĮ 楼 +æĸ°æµª è´¢ç»ı +æĸ° åĬ¨èĥ½ +èµ£ å·ŀ +æĭ³ 头 +æµģ åIJij +ä¹Łæĺ¯ å¾Ī +åıij åĶ® +ä¸Ń åIJ«æľī +åIJĵ å¾Ĺ +å·¨ æĺŁ +æĹł æīĢè°ĵ +æ¯Ľ åŃĶ +åħ¬åħ± 交éĢļ +çĤİ çĥŃ +èµ· èįī +åĬłçĽŁ åķĨ +说 ä¸įåĩº +大åѦ æ¯ķä¸ļ +å·¥ä¸ļ åĽŃ +éłĺ åŁŁ +åºĨ åħ¸ +æµģ 产 +èģ² éŁ³ +ä¼¼ä¹İ æĺ¯ +è´§ æºIJ +æ·± åĪĩ +æ²»çĸĹ æĸ¹æ³ķ +èµĦæºIJ éħįç½® +ç¶² åıĭ +çĶ £ +äº ¥ +躲 åľ¨ +社 ç§ij +è»Ł é«Ķ +女 è£ħ +æŃ¡ è¿İ +综åIJĪ å®ŀåĬĽ +æł¼ å°ĩ +åħļåı² åŃ¦ä¹ł +æľĢ åŁºæľ¬ +æľĢåŁºæľ¬ çļĦ +çľĭ æľĽ +åıĹ è´¿ +ä¸įä»ħ èĥ½ +ä½ķ å¿ħ +ä¸Ģ个 å°ıæĹ¶ +ç¾ Į +æĭĽ æĶ¶ +çĤĴ èĤ¡ +æĿij å¹²éĥ¨ +缸 çα +æ½ľ èĥ½ +ä¹ į +æĹ¶ è¾° +欣 æħ° +éĵ¶ è¡Įä¸ļ +çĭŃ çªĦ +éĩįçĤ¹ é¢ĨåŁŁ +çݰå®ŀ çĶŁæ´» +éĮ¯ 誤 +æĸ° è§Ħ +滥 ç͍ +æĹ¶ ä¸į +æĹ¶ä¸į æĹ¶ +帳 èĻŁ +ç¨Ģ 缺 +åIJij 举 +ä¿Ŀåģ¥ åĵģ +çıŃ éķ¿ +äºĴ åĭķ +笼 罩 +æ½ Ľ +æļĸ å¿ĥ +è½° çĤ¸ +åºĨ 幸 +è²Į ä¼¼ +æĵ º +èĢIJ 磨 +ä¸ĵä¸ļ 人士 +ä¸Ģèά éĥ½æĺ¯ +æ¼³ å·ŀ +åħ¨ èĩªåĬ¨ +å½ķ ç͍ +大 è·Į +æľīæķĪ æĢ§ +èĩª åĭķ +ä¸ī个 æĸ¹éĿ¢ +港 åĮº +ä¿¡ 貸 +éĢļ è¯Ŀ +é«ĺ 涨 +æ³Ħ æ¼ı +éħį ä¸Ĭ +åħļ å·¥å§Ķ +被 认为 +被认为 æĺ¯ +ä¸įä¼ļ åĨį +è°ĥ åīĤ +åıĤ èĤ¡ +èĦ± åıij +å¿ł å®ŀ +åĨħ åĪĨæ³Į +ç¹ģ å¿Ļ +åıĮ åĪĽ +é©» æĿij +åĪĴ ç®Ĺ +éģİ ä¾Ĩ +åľ£ ç»ı +èıľ 鸣 +æĭ¼ å¤ļå¤ļ +ä¸ŃåĽ½ 汽车 +çĥŁ èįī +缴 æµģ +äºĨä¸Ģ åı£æ°Ķ +ä½İ æĪIJæľ¬ +æī¾ åĽŀ +èĩª åįij +總 æĺ¯ +æĸĩåĮĸ åĪĽæĦı +天 æ²³ +樱 æ¡ĥ +éªij åħµ +éĩĮéĿ¢ æľī +çİ ® +èĥ½ æī¾åΰ +éĢĥ è·ij +åĪĩ å°Ķ +åĪĩå°Ķ 西 +以ä¸ĭ æĺ¯ +å²³ éĺ³ +çļĦ æ¦Ĥçİĩ +æĬµ åζ +å¸Ī äºĭåĬ¡ +å¸ĪäºĭåĬ¡ æīĢ +åĩĨ æĹ¶ +屬 æĸ¼ +订 è´Ń +åįłæį® äºĨ +ä¸Ń éĢĶ +å° ĭ +é»ij 马 +åİ¿ åħ¬å®īå±Ģ +ä¸ĥ æľĪ +èī² ç´ł +å¿ĥèĦı çĹħ +æĹ¶ éĻIJ +æ¯į åħ¬åı¸ +å¹ķ åIJİ +ä¸Ĭ æ¦ľ +å̾åIJij äºİ +纸 ä¸Ĭ +æ¡ ĵ +éĽĨä½ĵ ç»ıæµİ +æĥħ å¢ĥ +è¦ģ åģļåΰ +ç©į 極 +åıª æĢķ +æ¹ĺ 西 +çļ± çº¹ +åħ¨ åľĭ +çĦ¡ è«ĸ +好 æĦŁ +åįķ ä»· +è¿Ľç¨ĭ ä¸Ń +æĺĨ ä»ij +åĪĽ 客 +åħħ æĸ¥ +åħĪ æĬĬ +该 æĢİä¹ĪåĬŀ +åĵģ å¾· +åħ¨éĿ¢ åıijå±ķ +è¨Ī åĬĥ +æĢ» å·¥ä¼ļ +ä½Ľå±± å¸Ĥ +æĬĹ è¡¡ +å¼Ģ åľº +éĴ± å¸ģ +åıĭ 们 +å«ī å¦Ĵ +ç´¢ èµĶ +è®Ĭ åĮĸ +æĮ¤ åİĭ +æĮij è¡ħ +çŃī ä¸Ģæī¹ +æĿ¨ 欢 +ä¸ĵå®¶ åѦèĢħ +èĥ½ è¾¾åΰ +èµ° è¿ij +è´«åĽ° åľ°åĮº +éĻIJ æľŁ +ä¸į 平衡 +åĽ½åĨħ å¸Ĥåľº +èµĽ åľº +éħį èµĦ +è¦ģ èĢĥèĻij +ä¸ĩ åı° +æľĪ æľ« +éĶ ¥ +åŃ « +æİ¥è§¦ åΰ +åĩº 产 +æķĻ åѸ +ä½ľ å¼Ĭ +çļĦ æľĢåIJİä¸Ģ +ä¿ĥ æĪIJ +åIJ¸ åıĸ +æ½ľ èīĩ +被 éªĹ +è¾ĵ äºĨ +çĭIJ çĭ¸ +åįĩ éĻį +è¿ĻäºĽ ä¸ľè¥¿ +æĬķèµĦ åŁºéĩij +çĶŁçī© åѦ +ç½ij绾 èIJ¥éĶĢ +åIJij è®°èĢħ +èįī åľ° +æĢ ¯ +æľįåĬ¡ èĥ½åĬĽ +éĥģ éĹ· +åįķ åĵģ +å¾Ĺ 罪 +æĺĵ äºİ +个å¤ļ å°ıæĹ¶ +éĩį ä»» +ä¸Ĭ å®ĺ +æľ¬ éĩij +çı¾ åł´ +溢 ä»· +æĺŁ è¾° +æ´»åĬ¨ çİ°åľº +丹 麦 +å¸Ŀ çİĭ +æŁ¥ æĺİ +åŃĺåľ¨ äºİ +é¦Ļ æ°´ +æĬ½ æ£Ģ +å®ŀéĻħä¸Ĭ æĺ¯ +æĸ° å¾ģç¨ĭ +è´¢åĬ¡ 管çIJĨ +æİ Ľ +åĨľ åİĨ +éĥ½ èĥ½å¤Ł +éĤ¯ éĥ¸ +羣 實 +ç» Ĭ +åĨµ ä¸Ķ +ç½® 身 +ç¥Ī 祷 +çĿģ å¼Ģ +æĮĩ çĤ¹ +å¼Ģ æľº +西 å®ģ +åĮĹ çº¦ +积 æ°´ +åĩº åĬ¨ +åıijå±ķ 模å¼ı +转 æĬĺ +èĢĥ çĤ¹ +æľī ç½ijåıĭ +è´«åĽ° æĿij +æĪij们 çŁ¥éģĵ +åĪĨ éĶĢ +å±± èĦī +æ¯Ķ æĭŁ +ä¼° ç®Ĺ +æĶ¹ 建 +壮 è§Ĥ +ç§ī æĮģ +æı ª +ç¦ Ģ +åĮĸåѦ åĵģ +ä¸ŃåĽ½ åζéĢł +ä¸Ģ æŀ¶ +æīį è¡Į +æĭĽ å¾ħ +åıĺ æį¢ +åīį 线 +幸 好 +è¿Ļæł· çļĦè¯Ŀ +å¿ĥ è¡Ģ管 +æĢ§ çĸ¾çĹħ +åħ¨ èĥ½ +åĪij 侦 +ä¿¡æģ¯ åıijå¸ĥ +æĺ¾ çĦ¶æĺ¯ +éĿĴ éĵľ +åIJĥ ä»Ģä¹Ī +ç͵ ä»· +æ³ķå¾ĭ è§Ħå®ļ +çħ ² +çĵ· åύ +èĤī ç±» +æıĴ åħ¥ +åĹ ľ +è¿Ł è¿Ł +ä¸ĢçĤ¹ éĥ½ä¸į +è¿ĺ åĮħæĭ¬ +èĪį ä¸įå¾Ĺ +æłĩå¿Ĺ æĢ§ +æľĪ 以æĿ¥ +ç³ĸ æŀľ +éĥ½ åºĶ该 +çݯå¢ĥ åį«çĶŁ +èĪª è¡Į +éĥij éĩį +ç½ij æĬķ +åįģ ä½³ +ç§ģ ä¸ĭ +æļ´ è·Į +åĬłå¿« åıijå±ķ +产åĵģ çłĶåıij +åĪĽéĢł åĩº +æĢ» è§īå¾Ĺ +åºķ çĽĺ +èķ Ĭ +åĩºå¸Ń ä¼ļè®® +主 æĿ¿ +æĹ¥æĻļ éĹ´ +å®ĺæĸ¹ å¾®åįļ +å¼ķç͍ æĹ¥æľŁ +åī¯ æķĻæİĪ +ç͵åŃIJ 产åĵģ +è¡° éĢĢ +çķĻ åŃĺ +çģ« åĬĽ +çĴ § +çļ Ĥ +åħ¼ åħ· +éĩį è¿Ķ +é¢Ĩ çķ¥ +åĪĩ éϤ +åĨįçĶŁ èĥ½æºIJ +å®ŀåľ¨ 太 +çIJĨ论 ä¸Ĭ +ä¸ī å±Ĥ +ä¸ĸçķĮ åIJĦåĽ½ +å®ľ æĺĮ +è̳ è¾¹ +宽 æķŀ +æ±ī æĹı +çϽ çϽ +è¿ĻéĩĮ éĿ¢ +çĶŁæ´» ä¹łæĥ¯ +èµŀ èµı +çĶ· 士 +ä¸Ń ä¿Ħ +车 祸 +åīĤ éĩı +éϤ åİ» +å·¦ è¾¹ +çŃij çī¢ +çīĽ å¸Ĥ +å®¶ åĬ¡ +åķ ĥ +ç½® æį¢ +ç´« å¤ĸ +ç´«å¤ĸ 线 +å¾Ģ åīį +åĬĽ åѦ +ç´§ è·Ł +缮çļĦ åľ¨äºİ +ç» ® +ç¥ Ĥ +宣 è¨Ģ +äºĮ æ°§åĮĸ +äºĮæ°§åĮĸ 碳 +æĹł ç¼ĺ +ç²¾ éĢļ +è¨ º +å¼ķåıij äºĨ +æľĢ åħĪ +æ´¾ é©» +ä¸į å¿į +æĪij çΏ +å¹´ ä¸ĭåįĬå¹´ +æ·ĭ å·´ +没 éĹ®é¢ĺ +åºĹ åĨħ +è·Ł æĪij说 +çĶŁäº§ çĶŁæ´» +è§Ĥ æľĽ +æ¸ į +被 æī§è¡Į +被æī§è¡Į 人 +èĪ ľ +æİ º +ä¸Ģ ç§Ĵ +èįī åĿª +åij¼ åĴĮ +åij¼åĴĮ 浩 +åij¼åĴĮ浩 çī¹ +人æ°ij éĵ¶è¡Į +çĦķ åıij +è¯ģåΏ 交æĺĵ +çķ Ķ +æľº èĥ½ +å¦ ¾ +æĻļ å¹´ +å·¥åķĨ èģĶ +åİŁ åŀĭ +è§Ĵ度 çľĭ +æĬ¥ 社 +è¯į æĿ¡ +躲 éģ¿ +éĩį åIJ¯ +å¤ķ éĺ³ +èĤ¡æĿĥ 转让 +åľ¨ ä¸Ģ +åľ¨ä¸Ģ æĹģ +社ä¼ļ åĮĸ +åıijå±ķ åİĨç¨ĭ +æĭĸ æ¬ł +使 èĢħ +ä¸İ åIJ¦ +æĸ° å±ĢéĿ¢ +ä»Ĭ天 æĪij们 +é½IJ èģļ +对 æĪij说 +éĢĴ 交 +æľª æĽ¾ +èİ Ĭ +éĸ ī +亲 æīĭ +è§Ĵ éĢIJ +æľī é»ŀ +ç¨İ çİĩ +ä½İ 声 +é»ĺ å¥ij +æĻ® æ³ķ +大 ä¸ĵ +第äºĮ 大 +ä½ı åĿĢ +æĶ¾ è¿Ľ +äºĮ æĪĺ +亲 身 +åĽº åĮĸ +ä¸ĭ 乡 +åħ³éĶ® æĬĢæľ¯ +åĽŀ æĥ³ +æĬ¥ åĪĬ +æ¶Ĥ æĬ¹ +èĹı çĿĢ +ç¥Ŀ æĦ¿ +åįĩ 温 +çĶļèĩ³ è¿ŀ +åħ¬åħĥ åīį +ç¾İ æĸ¹ +è¯ļ å®ŀ +æĹł åģ¿ +åīµ æ¥Ń +å°ıå¿ĥ 翼 +å°ıå¿ĥ翼 翼 +两 æīĭ +温馨 æıIJ示 +仿 羣 +æĥ ¶ +èĥ¡ åŃIJ +å·¥ä½ľ ç«Ļ +硬 çĽĺ +ç« ¿ +åĤ³ éĢģ +åħ¨ æł¡ +é²ľ æ´» +çĴĢ çĴ¨ +ç»ĵ å°¾ +æį¢ æĿ¥ +æĪ Ģ +ä½İ ä½į +ä¸ĩåħĥ 以ä¸Ĭ +åĬł åĪĨ +æİ¨ä»ĭ ä¼ļ +çIJĨ èµĶ +å¾· å°Ķ +æĬĹ è®® +æ´ ¼ +åĸ § +åŁİ éĻħ +å¾Ī æ£Ĵ +人 æŃ»äº¡ +ä¼ļå±ķ ä¸Ńå¿ĥ +äºĴèģĶ äºĴéĢļ +èĸĦ èĨľ +éĩį é»ŀ +ç¦ģ æ¯Ĵ +åĨ· ç¬ij +大家 åı¯ä»¥ +é¦ĸ 缸 +è¿ij è·Ŀ离 +æµ® çݰ +ç§ĺ è¯Ģ +èµ· é£ŀ +æIJ ¶ +羣 åģĩ +æģ ķ +å°ı åºĹ +æ°ij çľ¾ +åıijå¸ĥ åħ¬åijĬ +ä¾§ éĩį +å¾ĺ å¾Ĭ +æĢ Ķ +æª IJ +æķ° 缮 +åī¯ ç§ĺ书éķ¿ +两 åı¥ +éļIJ çŀĴ +åıĮ åıĮ +æīĭ æĦŁ +èij¡ 京 +éģĹ å¿ĺ +é¬ ¥ +è¿Ļ个 åľ°æĸ¹ +说 çļĦè¯Ŀ +å·¡ åĽŀ +è¿Ŀ 竳 +æī¾ å·¥ä½ľ +æĶ¯ çIJĥéĺŁ +裡 éĿ¢ +æĺ¾ç¤º åĩº +èĩ³ å°Ĭ +两 级 +åīį æ®µæĹ¶éĹ´ +çĺ¦ èº« +èĤ¢ ä½ĵ +æ¯į 親 +æīĭç»Ń è´¹ +汽车 è¡Įä¸ļ +æİ© çĽĸ +æİ§èĤ¡ éĽĨåĽ¢ +åı£ å¾Ħ +æĶ¿çŃĸ æİªæĸ½ +æµ· 绵 +åħ¨ éķĩ +äºĭ åħ³ +å¸Ń æī§è¡Į +å¸Ńæī§è¡Į å®ĺ +éĤ£ 次 +åı¯èĥ½ åĩºçݰ +ä¸Ńå¿ĥ åŁİå¸Ĥ +ç¿» 身 +ä¹Ł ç®Ĺ +ä¾µ çķ¥ +åĸĩ åıŃ +æ¯ı次 éĥ½ +è§ ħ +éĻ¢ éĻ¢éķ¿ +å§ĭ äºİ +èѦ åĬ¡ +èᝠæĿIJ +å±ł æĿĢ +æľ¬èº« å°± +éļıæĹ¶ éļı +éļıæĹ¶éļı åľ° +åĶ® åįĸ +æĹłäºº 驾驶 +é¢ ħ +åĵģ 質 +åĺ² ç¬ij +è·ij åİ» +åħĭ éĩĮæĸ¯ +çķ¸ å½¢ +ä¿® 饰 +磩 éĺµ +éŁ³ä¹IJ ä¼ļ +æŁ³ å·ŀ +é½ ¡ +ä¼ļ è°Ī +æŃ£ çīĪ +ä¹Ł åIJĮæł· +æļ§ æĺ§ +è¡ĮæĶ¿ éĥ¨éŨ +ä¹ĸ ä¹ĸ +èĤ¤ èī² +æĹ¶ ä»» +羣 åĪĩ +æľĪ ä¸ĭ +æľĪä¸ĭ æĹ¬ +举æĸ¹ è´¢å¯Į +è£ħä¿® åħ¬åı¸ +éĢĢ è¿ĺ +åĭĺ å¯Ł +åĵ¥ 伦 +åĵ¥ä¼¦ æ¯Ķäºļ +çĭ¬ ä¸Ģ +çĭ¬ä¸Ģ æĹł +çĭ¬ä¸ĢæĹł äºĮ +è°ĥ åij³ +åİĭ è¿« +åħ¨çIJĥ æľĢ大 +åī¯ æł¡éķ¿ +æĽ´ ä½İ +åĪĨéĴŁ åIJİ +åĽŀ ä¾Ĩ +åζ åīĤ +åijĬè¯ī 大家 +çĤ¹ éĴŁ +åįģä¸ī å±Ĭ +åij¨ åĽĽ +è¿Ļæł· ä¸Ģ +è¿Ļæł·ä¸Ģ æĿ¥ +èĭ Ł +æľĽ åİ» +æĪIJ è¯Ń +å½ĵ åį³ +ç¬ij 声 +ä¹ĭ åĬ¿ +åĪijäºĭ æ¡Īä»¶ +æĮĤ çĿĢ +ä½ķ ç§į +å°ı 游æĪı +åĽ½å®¶ æĪĺçķ¥ +åĨ· åĨ· +å®ľ 宾 +æIJº ç¨ĭ +è¶ĭ äºİ +åıį çľģ +常 说 +ä¸ĩ æĪ· +åĥµ å°¸ +åįĥä¸ĩ åĪ« +åıijçݰ éĹ®é¢ĺ +åı¯ çŁ¥ +éŨæĪ· ç½ijç«Ļ +åģ¥åº· 产ä¸ļ +åı³ è¾¹ +æµ· è¿IJ +è¿ij ä¹İ +åĮ» æ²» +æĢ» ç®Ĺ +ä¸Ģ åĪĨéĴŁ +æĭ § +ä¹Ł æľīä¸ĢäºĽ +ä¾Ľç͵ åħ¬åı¸ +å»ī ä»· +帮 ä»ĸ +æŃ¤æ¬¡ æ´»åĬ¨ +åıªèĥ½ 说 +èĬ ĭ +çīĩ 段 +åŃĺåľ¨ éĹ®é¢ĺ +ä½łä¼ļ åıijçݰ +è½® å»ĵ +ç½ij éĢļ +滨 æ±Ł +æİĪ ä¿¡ +é»İ æĺİ +ä¸į å±ŀäºİ +约 åįł +éķ¿æ²Ļ å¸Ĥ +èĥļ èĥİ +åħĥ ä»¶ +éĻĨ åĨĽ +è³¼ è²· +æĮĩ æľĽ +å®ŀä¹ł çĶŁ +çī¹çĤ¹ æĺ¯ +çıł æ±Ł +çľĭ ä¸įåĩº +ä¸įè§ģ äºĨ +ç¼ ī +éĺµ èIJ¥ +åĶIJ æľĿ +没 å¿ħè¦ģ +åĽ½åľŁ èµĦæºIJ +ç»ıæµİåѦ å®¶ +åIJĪèĤ¥ å¸Ĥ +çIJ¢ 磨 +ç¡® åĪĩ +åŁİå¸Ĥ åıijå±ķ +çŃ· åŃIJ +人æ°ij æľįåĬ¡ +满 åĪĨ +è¿· ä¿¡ +ä½ľèĢħ æľ¬äºº +æĸĩ竳 æĿ¥æºIJ +ç«Ļ ç«ĭ +æŀĦ æĪIJäºĨ +è¾Ľ åĭ¤ +è¶ħ 强 +éĶ ļ +åīįä¸ī åŃ£åº¦ +å°± è§īå¾Ĺ +å´ĩ é«ĺ +è¶Ĭ ä¾Ĩ +è¶Ĭä¾Ĩ è¶Ĭ +å¸Ĥåľº èIJ¥éĶĢ +综åIJĪ ç´łè´¨ +åŃ ļ +ä¾® è¾± +äºĮ åŃĹ +å·¥ä½ľ ä»»åĬ¡ +åı²ä¸Ĭ æľĢ +æľĢ ä¼ĺ +åIJ© åĴIJ +表 çϽ +èİ« åIJį +èİ«åIJį åħ¶ +èİ«åIJįåħ¶ å¦Ļ +å¹ £ +åIJĮå¿Ĺ 们 +建设 çĶ¨åľ° +åĦ Ģ +éħį åģ¶ +å¼ © +åͱ çīĩ +æīĭ èĦļ +åħ¼ ä»» +åģľ æĶ¾ +æŃ£ å®Ĺ +æĸ° åĨľæĿij +åĤ¬ çĶŁ +æīĢ åŃ¦æł¡ +念 ä½Ľ +åͤ éĨĴ +åħ± åĪĽ +æĭī ä¸ģ +èĥĮ çĿĢ +çĶŁæĢģ ä¿ĿæĬ¤ +åı£ 头 +æĸ¹åIJij çĽĺ +調 æķ´ +æĭĽèģĺ ä¿¡æģ¯ +åħ¶ä»ĸ åĽ½å®¶ +ç®Ģ æĺĵ +åĮ¿ åIJį +è¯Ħ æµĭ +æĺ¯ä¸Ģ 座 +çīµ æīĭ +è¶³ 迹 +çIJĨè§£ åĴĮ +æľĢ åıĹ +å¿ĥ è·³ +çζ 親 +éĿŀ常 åĸľæ¬¢ +èĭ¦ éļ¾ +æĬĢ å¸Ī +æ°ij æĦı +æĪĺ åĽ½ +æĽ¿ è¡¥ +æ´¥ è´´ +ä¸ŃåĽ½ ä¼łç»Ł +åIJĦ è¡Į +åIJĦè¡Į åIJĦ +åIJĦè¡ĮåIJĦ ä¸ļ +第äºĶ å±Ĭ +èį· èĬ± +æĦı èŃĺ +票 ä»· +åĪĨ æµģ +æĿİ çϽ +æ±Ł åĮĹ +æİĴ æĸ¥ +ä½ĵ éĩı +åĮħåIJ« äºĨ +åĪĺ æŁIJ +çݰ å¦Ĥä»Ĭ +å·¥èīº åĵģ +è¿Ļç§į æĸ¹æ³ķ +åĬŀåħ¬ 楼 +ç͵ å·¥ +çħ Ļ +åį¡ çīĩ +å¹´ å¹´åºķ +ä¸ĵ项 èµĦéĩij +åĮ» ç§ij +åĮ»ç§ij 大åѦ +åĽŀ头 çľĭ +ä¸į å±ij +èĩª 驾 +没 æĶ¶ +æīĵ çĮİ +èĦ¸ éĥ¨ +åıĥ èĢĥ +å°Ĩ 士 +è´«åĽ° 人åı£ +çIJĨæĥ³ 信念 +é£İ å°ļ +人æīį éĺŁä¼į +çij ¾ +æĿ¥ è¿ĻéĩĮ +æ´Ĺ 涤 +å¹´ èĸª +èĭį çϽ +ä¸ĩ äºĭ +课 æľ¬ +åºĵ éĩĮ +çī¹ æ´¾ +ç´¾ åijĺ +èµŀ ç¾İ +ç©¿ æĪ´ +製 ä½ľ +èµŀ æĪIJ +ä¸Ģ ä¾§ +å½ĵåľ° 人 +æĭ İ +纸 è´¨ +ä½Ļ 个 +éĶĤ çĶµæ±ł +æľº åŀĭ +éĻ¢ éϢ士 +åģļ å·¥ +å¼ł è´´ +ç¥Ľ æĸij +æ®ĸ æ°ij +å¥ij 约 +æ¹ĺ æ½Ń +æIJ ĸ +åŃĺ è´§ +交éĢļ 大åѦ +è¶ģ çĿĢ +æĸĩçī© ä¿ĿæĬ¤ +å¤ĩ æĪĺ +éĩĩ 纳 +åįĬ æľĪ +æľĢ åħ³éĶ® +æľĢåħ³éĶ® çļĦ +æİ¥ éĢģ +æĶ¶ åī² +åıį åĢĴ +çĥ Ľ +æ ½Ķ +ä¼Łå¤§ å¤įåħ´ +çļĦè¯Ŀ è¯Ń +容 å¿į +å®ļ éĩı +æķ Ĺ +åĵģçīĮ 形象 +æīŃ è½¬ +åĽ½å®¶ éĩįçĤ¹ +èĨĿ çĽĸ +ä¸Ģ 楼 +大 éϏ +éĤª æģ¶ +åĽŀ åij³ +çĮ ¿ +çĿ¡ åīį +æĹł è¾ľ +çĹħæ¯Ĵ æĦŁæŁĵ +æľºæ¢° åĮĸ +çĤ¹ 亮 +溶 è§£ +åĩłä¹İ æīĢæľī +è·ij éģĵ +ç͵è§Ĩ æľº +åı ¨ +æijĩ äºĨ +æijĩäºĨ æijĩ头 +èĩª è´Ł +综åIJĪ åĪ©ç͍ +èĩª å¦Ĥ +åİŁ ä¾Ĩ +ä¹Łä¸į æĥ³ +èĬĤ 课 +è¿ĩ åī© +çͲ çĬ¶ +çͲçĬ¶ èħº +æĸ° ä¸ĸ纪 +èĩªä¸» åĵģçīĮ +é«ĺ å±Ĥ次 +ä¸Ģ è§Ĵ +è¡Į äºĭ +ç¥ĸ åħĪ +å©ļ åIJİ +éĹ´ éļĻ +ç¼Ŀ éļĻ +è¿Ļ æĶ¯ +ä¸įæĸŃ åĪĽæĸ° +å¾® åŀĭ +æĽĻ åħī +享 ç͍ +ä¸ŃåĽ½ ç§»åĬ¨ +éĹŃ çݯ +æī§ æĦı +åıijå±ķ æł¼å±Ģ +æł¸å¿ĥ åĮº +éªļ æī° +åħļåĴĮ åĽ½å®¶ +ä¸ŃåĽ½ æĶ¿åºľ +帶 èijĹ +ä¸ĩåįĥ çĵ¦ +åħ© 人 +äºİæĺ¯ æĪij +åĽº ä½ĵ +çªģ å¦Ĥ +çªģå¦Ĥ åħ¶ +çªģå¦Ĥåħ¶ æĿ¥ +éĩĮç¨ĭ ç¢ij +çα ç¾İ +æŁ¥ éªĮ +åıĮ èµ¢ +éĹª åħī +楼 å®ĩ +æĻ ı +æľī è¶³å¤ŁçļĦ +æŁĶ æĢ§ +ä¿¡æģ¯ å®īåħ¨ +管 线 +å¹¶ ä¸įä¼ļ +åύ ä»¶ +ä½ł åºĶ该 +çĿĢ å®ŀ +æĺİ æ¸ħ +æĬĹ çĶŁç´ł +æīĵ æŃ» +å®Įåħ¨ ä¸įåIJĮ +èĬ± æ¤Ĵ +æĶ¾ 宽 +ä½İ 端 +åĽĽ èĤ¢ +åĮĹ京 èµĽè½¦ +éĽĨ å¸Ĥ +æľª å©ļ +大å¹ħ æıIJåįĩ +建çŃij 设计 +çĭ¬ æľīçļĦ +æİ¢ éĻ© +æ²³æµģ åŁŁ +æħķ 容 +被 çĽĹ +åĵº ä¹³ +èı ģ +æĥ¬ æĦı +è¶ĬæĿ¥è¶Ĭ 好 +广大 群ä¼Ĺ +å¾· èĤ² +å¸Ĥåľº ä»·æł¼ +奥 å·´ +奥巴 马 +èĬĤ缮 ä¸Ń +两 款 +ä¸ĩä½Ļ åħĥ +ç»´ å°Ķ +çĶŁçī© ç§ijæĬĢ +åIJ¬ èµ·æĿ¥ +çł ļ +æĭŁ å®ļ +æ²¹ çͰ +声 èªī +建çŃij ä¸ļ +éĻIJ è´Ń +çīĩ åŃIJ +çķľ ç¦½ +ç½ij é¦ĸ页 +ä¼Ĺ çѹ +æĴŀ åĩ» +åīį ä¸įä¹ħ +åīį ä¸ĸ +åĽĽä¸ª æĦıè¯Ĩ +æµĭ ç»ĺ +éĺ² ç©º +漫éķ¿ çļĦ +æ²IJ æµ´ +æ¯Ķè¾ĥ ç®Ģåįķ +æµĭ å®ļ +åĽŀ è°ĥ +让 人们 +èĴĭ ä»ĭ +èĴĭä»ĭ çŁ³ +ç»ĵ æĻ¶ +å¢ŀæ·» äºĨ +æĿ¡ è¯Ħ论 +åī¯ ä¼ļéķ¿ +ä½ı æīĢ +ç»Ļ åĩºäºĨ +è°ĥ éħį +æ² ĸ +æľī ç͍ +æľīç͍ çļĦ +ä¸ĢæĿ¡ é¾Ļ +éĩİ å¤ĸ +ç¼ĺ åĪĨ +æ°¸è¿ľ ä¸įä¼ļ +æŀľ æłij +大åıij å¿«ä¸ī +麻 éĨī +äºij éĽĨ +åİ» åĵªéĩĮ +åħ¥ å¸Ĥ +ä»» æĢ§ +建 æ¡£ +建档 ç«ĭ +建档ç«ĭ åį¡ +ä¸Ģ 棵 +社 åįĢ +缸 ä¼´ +åļ · +å¡« åħħ +ä¸Ģ æĹı +ç¾ ģ +åıĸ è¯ģ +èΰ éĺŁ +åİĤ åĮº +è¡· å¿ĥ +åıijå±ķ éĺ¶æ®µ +é«ĺ 强度 +åĹĵ åŃIJ +é¢Ĩ è¡Ķ +楼 主 +大 èĴľ +æŀķ 头 +ç²® æ²¹ +é»Ħ çĵľ +æĵ Ĵ +å°ı çĭĹ +æĶ¹éĿ© å§Ķ +åįģ åĪĨéĴŁ +é²ľ èī³ +åħ³ ç¾½ +çĭĢ æħĭ +å®ŀç͍ æĢ§ +å°ij è§ģ +é£ŀ æī¬ +çͰ éĩİ +æIJ Ĥ +è¿Ļ个 è¯į +åºĶæĢ¥ é¢Ħæ¡Ī +è§Ĵ度 æĿ¥çľĭ +æķ¬ çķı +æ³ķ å®Ŀ +åĸĦ æĦı +æīĵ æĸŃ +对 åĨ³ +çµķ å°į +åĢŁ æŃ¤ +å¼Ģ æºIJ +å°ı 說 +ç¥ º +å²ģ 以ä¸ĭ +éĢĢå½¹ åĨĽäºº +ä¸įä¹ħ åīį +åĩº åİĤ +讽 åĪº +æĿ¥çľĭçľĭ åIJ§ +éŃĶ åħ½ +çķĻ ä¸ĭæĿ¥ +å±ħ 室 +åłħ æĮģ +çľĭ äºĨä¸Ģ +çľĭäºĨä¸Ģ çľ¼ +éĽĨåĽ¢ æĹĹä¸ĭ +æĪĺ æĪĺç»ĦåIJĪ +è®¤çľŁ èIJ½å®ŀ +汽车 产ä¸ļ +çī©çIJĨ åѦ +æķ µ +éĴ Ŀ +åĽ¢ éķ¿ +ä¸įæĸŃ æī©å¤§ +èĤ© è´Ł +åıijå±ķ 缮æłĩ +è³ĩ éĩij +åīį ç½® +ä¸ŃåĽ½ åı¤ä»£ +æŃ» åĪij +åħħåĪĨ ä½ĵçݰ +åħ³ éŨ +ç¾İ æĦŁ +æīĵ åħ¥ +æĬijéĥģ çĹĩ +å°ij çĪ· +æłij æŀĿ +æ¶Īæģ¯ ç§° +æ´Ľ åħĭ +åį ¯ +è¿Ī åIJij +æİ¨ åĭķ +ä»İä¸ļ èĢħ +åİ» ä¹° +欢 å¿« +æĭ¥ æĮ¤ +马 æ¡¶ +æĬĬ æİ§ +æĶ¿ åħļ +å¼ł æī¬ +客 æłĪ +红 æĺŁ +éĢģ æĿ¥ +åħ¨åŁŁ æĹħ游 +èĩª ç§ģ +åįģäºĮ æĿ¡ +åı¹ æģ¯ +ä¸Ģ èīĺ +ä¿Ŀ è´¹ +æĸ½å·¥ çİ°åľº +æľī 幸 +ç»Ń èĪª +åı¯èĥ½ æľĥ +èĥĮ åıĽ +ä½£ éĩij +ä¸ī çŃīå¥ĸ +å¾Ī 满æĦı +游æĪı åľ¬ +群 éĩĮ +æŀĦ ä»¶ +åºı å¹ķ +太 æ¹ĸ +æľ¨ è´¨ +æĻĭ æ±Ł +çµĤ æĸ¼ +è·³ è·ĥ +åĢºæĿĥ 人 +çŃī 诸å¤ļ +æĶ¾ åĩº +åħ³éĶ® æĹ¶åĪ» +æĦŁæŁĵ èĢħ +é£ŀè¡Į åijĺ +èĥĨ åĽº +èĥĨåĽº éĨĩ +æĬ± æŃī +åij¨ äºĮ +æĸ° æĹ¶æľŁ +åĨ·éĵ¾ çµģ +è¿Ļç§į æĸ¹å¼ı +该 æĿij +åĽŀ é¦Ī +åŁºçĿ£ æķĻ +人 åıĤ +æŀ¯ çĩ¥ +æī¹åıij å¸Ĥåľº +åħħåĪĨ èĤ¯å®ļ +å¸Ĥ æĶ¿åįı +äºĭ æ¥Ń +龸 çİĭ +çĥŃ æIJľ +åįģä¹Ŀ 大 +ä¼´ æľī +ç¾İåĽ½ æĢ»ç»Ł +åŁİå¸Ĥ 管çIJĨ +ä¸ĭ 令 +èĥ¸ åı£ +åıª çŁ¥éģĵ +åij¨ ä¸ī +ç͍ æĪ¶ +éŃ ¯ +å¿ĥ è¡Ģ +带头 人 +åĮ» åĬ¡ +åĮ»åĬ¡ 人åijĺ +æİ§åζ åύ +ä½ľåĵģ åĨħ容 +æĪĺ åıĭ +åİĨ å¹´ +ä¸į åħĭ +ä¸įåħĭ ä¸įåıĬ +æĹ¥ æŃ£å¼ı +è±IJ å¯Į +ç¨İ è´¹ +æĹ¶ æķĪ +å±ķ ä½į +è¡¡ éĺ³ +æĪ¿ 貸 +çĪĨ 款 +ä¹IJ æĦı +çĶ· 主 +å¯ ¬ +æľĥ èѰ +ä¹ĭ å¤ľ +åIJĮ 樣 +ä¸įè¦ģ 太 +ä¼Ĭ æĸ¯ +ä¼Ĭæĸ¯ åħ° +åŁºæľ¬ åİŁåĪĻ +åİ» æİī +ä½İ ä¿Ŀ +个 交æĺĵ +个交æĺĵ æĹ¥ +èģĬ èģĬ +åĽĽ ä½į +åħļç»Ħ æĪIJåijĺ +主è¦ģ ä»İäºĭ +å½± éŁ³ +åĨĴ åĩº +åij¼åIJ¸ éģĵ +è¾¾ å°Ķ +æľ¨ åľ°æĿ¿ +诡 å¼Ĥ +çģ¯ åħ· +çģ« çĥ§ +è§£ èĦ± +æĦĪ åıij +æ¹ĸ å·ŀ +é£İ ä¿Ĺ +æĸ° å½¢åĬ¿ +æĸ°å½¢åĬ¿ ä¸ĭ +è² Ŀ +èĦ ĵ +åĬ¨åĬĽ çĶµæ±ł +é£ŀ èι +飧 æĢ§ +åĪ© çī© +åĪ©çī© æµ¦ +ä¸į 认è¯Ĩ +ç¼ĸ ç»ĩ +ä½ľ åĿĬ +èģĮä¸ļ æĬĢèĥ½ +çľĭ è¦ĭ +åĽ´ æ£ĭ +æĺı è¿· +å½Ĵ å±ŀäºİ +æĤ¬ å´ĸ +éĨ« çĻĤ +å®ĭ 代 +åºĦ æĿij +èĹ ķ +çĮĽ çĦ¶ +çĩĥæĸĻ çĶµæ±ł +å®ŀä½ĵ åºĹ +ä¸įè¶³ 以 +æĥħ ç· +æĥħç· Ĵ +å»Ĭ åĿĬ +ç͵ åı° +åºĶ åĬĽ +ä¸Ńå°ı åѦçĶŁ +èĥ¡ åIJĮ +éī´ åĪ« +åĨħ ç½® +ä¹± 象 +æ¬Ĭ çĽĬ +å¼ĢæĶ¾ å¼ı +åįļ æĸĩ +讲 课 +çŃī åİŁåĽł +ç©· 人 +交 æĽ¿ +æĬ¤ çħ§ +åıijå±ķ æľºéģĩ +客 åķĨ +åıį ä¹ĭ +ç±³ é¥Ń +å¹¶ åıij +å¹¶åıij çĹĩ +æ±ī åŃIJ +æŀľ åĽŃ +对æĪij æĿ¥è¯´ +åģı åIJij +æī¹ 示 +读 åIJİ +读åIJİ æĦŁ +æĺİ æĻº +åĽ´ çĿĢ +åıį 转 +æĿ¨ å¹Ĥ +ä¸ĵ åįĸ +ä¸ĵåįĸ åºĹ +åıĹ éĻIJ +åºŁ è¯Ŀ +æŀģ å°ij +åįĪ åIJİ +è¿Ľ ä¿® +åīĬ åĩı +æľ¬ç§ij çĶŁ +ä¼ĺ éĢī +åħī çħ§ +åıĻ äºĭ +åıĸ æļĸ +åĮĹ è·¯ +æ¦ ķ +èİĨ çͰ +楼 å±Ĥ +天 èĬ± +天èĬ± æĿ¿ +çĤ ľ +å·²ç»ı æľīäºĨ +è¶ ¾ +çͳ åįļ +ç͵ éĺ» +åĬŁ è¯¾ +æŃ¥ æŃ¥ +éĤ£ä¹Ī 容æĺĵ +æŃ¤ æĸĩ +ä½ ° +计 è¾ĥ +çīĩ éĿ¢ +ç͵影 éĻ¢ +ä¸į åħ¬å¹³ +ä¸ī æľŁ +æĹħ游 èµĦæºIJ +å¤ļç§į å½¢å¼ı +è£Ĥ ç¼Ŀ +åIJİ æİĴ +硬 度 +åĽŀ æļĸ +éģĵ æķĻ +è´« è¡Ģ +æ¸ħ é¦Ļ +伤 çĹħ +æĦı 義 +çļĦ ç¼ĺ +çļĦç¼ĺ æķħ +åºĦ 严 +åıªæĺ¯ 为äºĨ +æīĵ æĬĺ +以 ä¾Ĩ +滿 è¶³ +çİĽ 丽 +風 éļª +æĸĩ ç§ij +éħįå¤ĩ äºĨ +è¿Ľ é£Ł +æ¶ ¡ +è·¯ ç¨ĭ +åı« 声 +ä¸Ńå¿ĥ åŁİåĮº +æľīæīĢ ä¸įåIJĮ +å¼µ è²¼ +é¢Ħ æĬ¥ +æľīå¤ļ ä¹Ī +è¿Ľè¡Į åħ¨éĿ¢ +æĽ¾ ç¶ĵ +ä¸ī 代 +å®ı 大 +æ¸ħ æī« +éĢī åĩº +åĵª ä¸Ģ个 +主 義 +ä¾Ŀ æĵļ +çļ® éĿ© +èµ¶ æĿ¥ +çŃĽ æŁ¥ +æ¨ Ł +ä¿Ŀ èįIJ +åIJĥ æĥĬ +æľĭåıĭ们 对 +ä»ĸ æĺ¯ä¸Ģ个 +åºŁ æ°Ķ +æ» ħ +è´¢ ç¨İ +æĿij æĿijæ°ij +èµĦ产 è´ŁåĢº +å®ī å¨ľ +缮åīį åĽ½åĨħ +æĦŁè§ī èĩªå·± +çµIJ åIJĪ +éͦ æłĩ +éͦæłĩ èµĽ +æĽ´ æ·± +åŁº æķ° +éħ¿ éħĴ +çī¹èī² äº§ä¸ļ +åİĭ å®ŀ +ä¾Ŀæ³ķ 追究 +æ·¡ å®ļ +ç®Ģ缴 å°±æĺ¯ +å£ĵ åĬĽ +æ°ij å¿ĥ +ä¸į åIJĪéĢĤ +çͱæŃ¤ åı¯è§ģ +èµŀ èªī +æ¾ ¤ +åĩłå¹´ åīį +åIJī ä»ĸ +çł´ æįŁ +轻轻 åľ° +å²Ľ 屿 +æĦı å¢ĥ +ä»Ģä¹Ī åı« +åģĩ è£ħ +éĢģ è´§ +å¹ķ å¢Ļ +妥 åįı +åĽ½ æĹĹ +äºĨ å¾Īä¹ħ +åĪĨ辨 çİĩ +ç´ Ķ +éĺ³ åĮº +åĩŃ çĿĢ +åģľè½¦ ä½į +京 éĥ½ +éĶ £ +æĵ ¾ +è¿Ľ éŨ +åĪĺ æµ· +åĽĽ 级 +女 è¶³ +è¡ĮæĶ¿ 审æī¹ +éģ¥ æİ§ +ä¸į éĮ¯ +å¾Ĺ å¾Ī好 +为 缮çļĦ +ä»į æľª +ç²¾ è£ħ +éĢį éģ¥ +å°½ 头 +çºł ç¼ł +éłĺ å°İ +æĭħ è´Ł +æĪĸèĢħ åħ¶ä»ĸ +åıªä¸įè¿ĩ æĺ¯ +åı® åĺ± +åģĩ åĨĴ +æļĸ æ°Ķ +çĽIJ åŁİ +被 è§Ĩ为 +诺 è´Ŀå°Ķ +ç»ĻäºĨ æĪij +è¿ij åįĥ +éĩį åĽŀ +éĨĴ äºĨ +ç͵ è§£ +忽çķ¥ äºĨ +èĥĮ éĥ¨ +æĸĩæĺİ åŁİå¸Ĥ +æº ħ +è² ĵ +æĬµ æĮ¡ +åĸľæ¬¢ åIJĥ +éĿĻéĿĻ åľ° +å¾Ī æ·± +åŁºç¡Ģ çŁ¥è¯Ĩ +è¿ĩ éĶĻ +çIJĨ ç§ij +交æµģ åIJĪä½ľ +èĪ Ķ +調 æŁ¥ +æħĪ æĤ² +éĴ ° +èĩ´ ç͵ +å®£ä¼ł æ´»åĬ¨ +åıĺ éĩı +çļĦ人 æĿ¥è¯´ +æĹ¶ éļĶ +ä¸į管 ä½ł +缸 è¿ij +è´µ éĩijå±ŀ +ä¹Łä¸į åı¯èĥ½ +ç²ī æľ« +åįĹ çĵľ +çϽ 马 +åħī æºIJ +éĩij å¥ĸ +çĭ¬ è§Ĵ +çĭ¬è§Ĵ åħ½ +妨 ç¢į +ç»Ļ åĬĽ +ä½Ĩ ä»į +å¼łå®¶ åı£ +èIJ¬ åħĥ +渲 æŁĵ +éķ¿å¤§ äºĨ +è®°èĢħ äºĨè§£ +æĢĢ çĿĢ +è¦ģ åѦä¼ļ +游æĪı 代 +游æĪı代 ç»ĥ +äºĮ çϾ +æĦıè¯Ĩ å½¢æĢģ +çİ º +计åĪĴ çĶŁèĤ² +æī¾ åĩĨ +åħ° èĬ± +è¿Ļ座 åŁİå¸Ĥ +污 æ³¥ +å®ĺæĸ¹ 微信 +å½Ĵ å±ŀ +æ°§ æ°Ķ +éģİç¨ĭ ä¸Ń +åį°è±¡ æ·±åĪ» +稳 妥 +çµIJ æĿŁ +åŃķ æľŁ +çī¹ æĿĥ +åĿļ åĽº +顺 åĬ¿ +æŀľ èͬ +éĨ« 師 +åİ ® +ä¹Łæĺ¯ å¦ĤæŃ¤ +é¦Ĵ 头 +缸 åĬ© +å¹² 线 +ä¸Ģ æľ¬ä¹¦ +ç» ¥ +æĮ¯ å¥ĭ +èĤ¾ èĦı +åĭķ çī© +é£ŀ è·ĥ +èıľ åĵģ +å¤ļ ä½Ļ +å¤ļä½Ļ çļĦ +éĢĿ ä¸ĸ +æģĭ 人 +å¼Ģåıij åĪ©ç͍ +顺 丰 +éĩİ å¿ĥ +æł¡ å¤ĸ +æģIJ é¾Ļ +éĿ¢ åħ· +éķ¿ è¾Ī +éļı å¤Ħ +éļıå¤Ħ åı¯è§ģ +ç´§ 缺 +éĩį ä¸Ń +éĩįä¸Ń ä¹ĭ +éĩįä¸Ńä¹ĭ éĩį +奥 æĸ¯ +奥æĸ¯ åį¡ +ä¸Ģ个 å¤ļ +ä¸Ģ个å¤ļ æľĪ +ä¸įåı¯ 缺å°ij +æĸ° æł¼å±Ģ +æıIJ æĮ¯ +è¡Į è´¿ +æ¼Ĥ æµģ +èģĬ åŁİ +åħ´ 建 +è´¨ æ£Ģ +ç§ģæľį 游æĪı +æĽ´ éĩįè¦ģ +è´ ® +çħ ľ +转åıĺ 为 +è¿Ļ 两年 +ä¿Ŀ é²ľ +æī§ æķĻ +çĥ ¨ +å¼Ģåıij 建设 +è¿IJèIJ¥ 管çIJĨ +误 å·® +京 åī§ +å¸IJ åı· +å·¥ä½ľ ä½ľé£İ +ä¸ĸ ä¿Ĺ +çϽ 宫 +天 åĽ½ +å¤©åĽ½ ç»§ç»Ń +å·´ æĸ¯ +èIJ¥ åĪ© +åĵģ æł¼ +æĿijæ°ij 们 +æĪ¿ 车 +çŃī çĹĩçĬ¶ +å¦Ĥ å®ŀ +å® ¸ +å±Ĥ 级 +éĶĻ è¿ĩäºĨ +ç»ĵ å®ŀ +ç¬ij èĦ¸ +羣å®ŀ æĢ§ +éĥ½å¸Ĥ æĬ¥ +é¥Ń èıľ +åºĶ 注æĦı +æĬ½ çĥŁ +伪 éĢł +åīį ä¸Ģ天 +éŃĶ é¾Ļ +éŃĶé¾Ļ 令çīĮ +约 è°Ī +绣çѹ æİ¨è¿Ľ +让 ç͍æĪ· +åħ¨éĿ¢ èIJ½å®ŀ +å¼Ħ å¾Ĺ +è°Ī æģĭçα +鸣 æĪIJéķ¿ +鸣æĪIJéķ¿ è®° +æ´ĭ æ´ĭ +çĸı æķ£ +éĿ¢ç§¯ 约 +æµĵ 缩 +æĸ¯ é¡¿ +çĶŁæĢģ åľĪ +æī§ 导 +ç§» éĢģ +齿 è½® +æł¹æľ¬ å°±ä¸į +缩 åĩı +èµ° ä¸ĭåİ» +çĿ« æ¯Ľ +ä¹Łä¸į éĶĻ +åıįæĺł åĩº +èĭ¦ æģ¼ +缸åħ³ æĶ¿çŃĸ +é«ĺ 楼 +ç²ī èī² +æĬķèµĦ é¢Ŀ +ä¸į ç»ı +ä¸įç»ı æĦı +å®ģ æĦ¿ +èĪĮ 头 +æ»ĭ çĶŁ +å®ģ åİ¿ +åīįåĪĹ èħº +åĩ ³ +é£Ł 欲 +åıĸ èĥľ +éĻ¢ åŃIJ +ç´łè´¨ æķĻèĤ² +滨 å·ŀ +æĬ¢ æĬĵ +å¼Ĥ åij³ +åĴ ļ +åĬ į +宽 éĺĶ +æļ´ 涨 +æĥł åıĬ +è§Ħ ç¨ĭ +ä¾Ľ åħ» +éĢģ å¾Ģ +å±± åºĦ +举 äºļ +å±ķ é¦Ĩ +è§£ éĶģ +æĹł è§Ĩ +éĻį èIJ½ +è¿ŀ äºij +è¿ŀäºij 港 +åıĤ è°ĭ +çİ ĸ +ç¬ ĥ +èĢĹ è´¹ +æī¿ å¾· +社ä¼ļ æķĪçĽĬ +åįĹæµ· ç½ij +åĪĽ 伤 +èIJ ± +åħħ æ²Ľ +ç½ijç«Ļ 建设 +大 åºĨ +åĨį éĢł +åŃĹ æł· +åħ¨æ°ij åģ¥èº« +èĮ« èĮ« +æµ® åĬ¨ +åīį åı° +å¢ŀ 设 +éĢĽ è¡Ĺ +åĢĴ éĹŃ +æ³ķå¾ĭ 顾éĹ® +çĸ ® +çĹħ çĹĩ +空 åīį +请 æķĻ +èĥľ ä»» +æĿĢ èıĮ +æĪĺæĸĹ æľº +ç»ĺ åζ +å¤Ħ æĸ¹ +çªģ åĽ´ +çĮ« åĴª +æĬ¥åijĬ æĺ¾ç¤º +ç¿ Ł +çķ¶ åľ° +æľĢ éļ¾ +纪 å§Ķ书记 +ä½İ åİĭ +èĻļ 空 +è¿Ļéĥ¨ ç͵影 +产ä¸ļ åįĩ级 +è°· çα +è°·çα åĩĮ +æĬ¼ éĩij +女 æĸ¹ +éĴ» çłĶ +æļĹ æļĹ +è¿· ä½ł +æīĢ è¬Ĥ +å¨ģ å»ī +å¼Ģ æľĹ +å² Ķ +çģ« çĤ¬ +åIJĪçIJĨ æĢ§ +åħ¬ åĬŀ +ä¼ļ ä¼ļéķ¿ +éĺ´ è°ĭ +å¼Ģ å±Ģ +æĻ®éĢļ è¯Ŀ +åį¡ æĭī +å°ij åIJĥ +éĹª èĢĢ +æŀľ æ±ģ +æī§è¡Į åĬĽ +è° Ľ +æĬ¢ åĬ« +é«ĺéĢŁ åıijå±ķ +éŁ ¬ +åįĹ æ²Ļ +é«ĺçŃī åŃ¦æł¡ +æį¢ 个 +åı¯èĥ½ åŃĺåľ¨ +æĬ Ĵ +è°± åĨĻ +被 æĬĵ +æĿ¯ åŃIJ +èĬĤèĥ½ åĩıæİĴ +æ°ĶåĢĻ åıĺåĮĸ +åĪĨ åĪ¥ +ä¸Ń æŀ¢ +欢 åij¼ +åħī 纤 +è¿Ļ 群 +çľ¼ çķĮ +åħ±åIJĮ åıijå±ķ +çݰ ä»Ĭ +éĹ» è¨Ģ +çī¹èī² å°ıéķĩ +æķij 人 +éĻį æ°´ +ä¸ĸçķĮ ä¸Ģæµģ +å°± é¤IJ +çŀ ¥ +å¤į ä»ĩ +ç¾½ æ¯Ľ +ç¾½æ¯Ľ çIJĥ +è´© åįĸ +æºIJ æ³ī +æĢ»ä½ĵ è§ĦåĪĴ +åĬ¨ æĦŁ +ä¸Ģ 审 +åĢŁ éĴ± +è§ģ æķĪ +èĬ± èįī +åIJĮ ä¸ļ +æŁ¥ è©¢ +åĽ½éĻħ åIJĪä½ľ +ä¾Ľ åĽ¾ +åģ ´ +æł ĵ +缸 éĢļ +è°Ī åıĬ +è¿ĩç¨ĭ å½ĵä¸Ń +é¦Ļ èıĩ +åįģåĽĽ æĿ¡ +ä¸Ģå¼Ģå§ĭ å°± +ä¸ĵ åijĺ +æĺİ é¡¯ +æīĵéĢł åĩº +ä¸ĭéĿ¢ æĪij们 +æľº æ²¹ +åı° è¯į +åŃIJ å¼Ł +æľĢ 常è§ģçļĦ +æĪij è®°å¾Ĺ +ç» ° +æĤ¬ æµ® +è¿ĺ 羣æĺ¯ +æĮĤ åı· +åıĭ åĸĦ +éĩį 伤 +çħ§ 亮 +æŃ¦ èѦ +åĩºçݰ éĹ®é¢ĺ +è¸Ĭ è·ĥ +åľ°çIJĥ ä¸Ĭ +å¸Ĥ 人大 +åıĹ害 人 +å² IJ +åIJĮ åѸ +éĩijèŀį å¸Ĥåľº +æľīçļĦ çݩ家 +å¸Ĥ æķĻèĤ² +å¸ĤæķĻèĤ² å±Ģ +åIJĦ å¼Ĥ +ç·ļ ä¸Ĭ +æģ º +æľī 大éĩıçļĦ +åķĨ æĬ¥ +åįķ åįķ +åħ¨ é¢Ŀ +ä¾ĿæĹ§ æĺ¯ +好 åĩłä¸ª +åĸ µ +éĩį æķ´ +çĶŁæ´» è´¨éĩı +æİ¢ 访 +åį° èĬ± +缼 è¡Į +å¾® è§Ĥ +èĪį å¾Ĺ +åºŁå¼ĥ çī© +积 èĵĦ +å®ļ å±ħ +æĤ ¼ +èĮ ¸ +çļĦ 帮åĬ© +çļĦ帮åĬ© ä¸ĭ +亿 åIJ¨ +åŃĶ éĽĢ +è¿ĻæĿ¡ è·¯ +é¥ µ +æĦĪ åĬł +éķ į +ä½ľ æ¡Ī +èįĶ æŀĿ +太 å°ij +è·» 身 +åħ¬çĽĬ æ´»åĬ¨ +çϽ æĸij +æĬĢæľ¯ æ°´å¹³ +å¸ § +æĹł çŁ¥ +åºĶ该 æĢİä¹Ī +éĢĢ å¸Ĥ +æ¸ Ń +åħ» çĮª +é© ¼ +群 å²Ľ +大 åį« +ä¹ĺ çĶ¨è½¦ +èı² å°Ķ +è´´ åIJ§ +åģľ ä¸ĭæĿ¥ +æľīæľº ç»ĵåIJĪ +åĪ» èĭ¦ +çļĦ åľ° +çļĦåľ° æŃ¥ +è¯Ĭ æīĢ +å¼Ģ æĪĺ +èĢģ çīĮ +çѹ çłģ +åħ«å¤§ 以æĿ¥ +楼 æĪ¿ +åŃĻ æĤŁ +åŃĻæĤŁ ç©º +åħĴ åŃIJ +第ä¸Ģ æĿ¡ +社交 åªĴä½ĵ +æĥ³ èµ·æĿ¥ +大 æ´ĭ +æĭ¼ éŁ³ +è¿Ľ åįļä¼ļ +è¿ĩ åħ³ +æ² ¼ +ç©¿ æIJŃ +éĤ£ ä¸Ģ天 +çł´ éŨ +æĬķæłĩ 人 +èµ¢ å®¶ +èĻļ å¼± +æ¿ ĥ +å®ī æ£Ģ +客 å®¶ +çĭ¬ç«ĭ èij£äºĭ +æīĭ åĬ¿ +åīµ éĢł +åľĨ满 å®ĮæĪIJ +为主 线 +好å¥ĩ å¿ĥ +é¢Ĩ åľŁ +çª ĸ +åħ¸åŀĭ æ¡Īä¾ĭ +çªģåıij äºĭä»¶ +åºķ æ°Ķ +头 æĻķ +å®Ľ å¦Ĥ +è§ ¸ +æ¸ħ æ·¡ +åļ ¼ +åģľ ç͵ +ç²ī å°ĺ +éĻįä½İ æĪIJæľ¬ +æĶ¾ æīĭ +è®°èĢħ 表示 +æĭĸ å»¶ +éª ĩ +æ®ĭ å¿į +çľģ æķĻèĤ² +çľģæķĻèĤ² åİħ +é«ĺ é¢Ŀ +éĦ Ļ +æ¥ ŀ +åĨħ ç§ij +èIJ¥ä¸ļ é¢Ŀ +åŁº çŁ³ +æµģ æ·Į +主 æĹ¨ +éĺIJ éĩĬ +建 åįİ +æĥĬ åı¹ +çī¢åĽº æłijç«ĭ +æĺ¯åIJ¦ åŃĺåľ¨ +建 åĨĽ +éĽ¾ éľ¾ +åħ¬ 认 +åħ¬è®¤ çļĦ +æ°¨ åŁº +æ°¨åŁº éħ¸ +åīį åĩłå¹´ +åι éĤ£ +æ±Ł 举 +å·¥ æ¥Ń +ä¸ĢçĤ¹ ä¹Łä¸į +ä¿® 士 +äºĨä¸Ģ éģį +åĪ ģ +æ»ļ æ»ļ +åĪĨ æł¡ +羣 çα +è¡Ģ èĦī +æĢ¥ åī§ +ä¸Ģ群 人 +ç¾ ¯ +æĪIJ é¾Ļ +ç²¾ç¥ŀ çĹħ +缸åħ³ 人åijĺ +éĿĵ 丽 +ä¸ī åŃ£åº¦ +åĪĴ å®ļ +ä¸ĸçķĮ 第ä¸Ģ +éĢļ ä¿Ĺ +åķĨä¸ļ åľ°äº§ +åĬŁèĥ½ æĢ§ +èµĦæľ¬ 主ä¹ī +详 è§ģ +æĬĵ æįķ +æĸĩ æĺĮ +å®Ŀ å®ī +è£ħéħį å¼ı +æºIJ æºIJ +æºIJæºIJ ä¸įæĸŃ +çĶŁ æĢķ +纵 åIJij +å£ ½ +çľ¼ è¢ĭ +èĤī ä½ĵ +åı¤ ä»Ĭ +èŀį åªĴä½ĵ +åģ ī +æł¼ æľĥåĵ¡ +çĥ · +åĬŁ ç͍ +æīŃ çŁ© +绿èī² éĢļéģĵ +åī§ ç»Ħ +å¼± åĬ¿ +è´¨éĩı éĹ®é¢ĺ +éĻIJ é¢Ŀ +éª Ĩ +éģµ ä¹ī +å¯Ŀ 室 +æĥ³ 念 +åł± åijĬ +ä»ħ 次 +ä»ħ次 äºİ +èŀį åĪĽ +æĭĽèģĺ ä¼ļ +åºĬ åŀ« +转åŀĭ åıijå±ķ +ä¸ŃåĽ½ çĶµä¿¡ +åIJ¬ è¯Ŀ +è«ĭ æ±Ĥ +大éĥ¨åĪĨ 人 +æ´» å¾Ĺ +åĵŃ æ³£ +è¶ Ļ +åıijçĹħ çİĩ +ä¸į 符 +åĨĽ å®ĺ +é¢Ī æ¤İ +æĸ°åĨł çĸ«æĥħ +æŁ¬ åŁĶ +æŁ¬åŁĶ 寨 +ä»»ä½ķ å½¢å¼ı +人 éĻħ +人éĻħ åħ³ç³» +æĢ» æī¿åĮħ +å¹³åĿĩ æ¯ı +æģŃ åĸľ +åĦ ĺ +åħµ 马 +è¿Ł åΰ +å·¥ 伤 +çīĪæĿĥ å½Ĵ +çīĪæĿĥå½Ĵ åİŁ +æĭ¥ æĬ¤ +ç³Ĭ æ¶Ĥ +å¹² æ¶ī +å°ij ä¸įäºĨ +æĥ³ æī¾ +è´¹ çİĩ +该 éĻ¢ +èŀį åĮĸ +è¿İ åIJĪ +è§ĨåIJ¬ èĬĤ缮 +æł¼ ç¶²ç«Ļ +çľī æ¯Ľ +欢è¿İ 大家 +å®¶åºŃ æķĻèĤ² +ä¾µ èļĢ +ç»Ļ ä½łä»¬ +è¡Ģæ¶² 循çݯ +å¯Ħ æīĺ +å°ĸ åı« +以ä¸ĭ åĩłä¸ª +è¿ĺ 以为 +åħ¶ä»ĸ çݩ家 +ç¬ij ç¬ij +æīĵ åIJ¬ +èĩªçĦ¶ ç§ijåѦ +åŁº ç«Ļ +ä¹Ŀ å·ŀ +ä¿Ŀ 驾 +ä¿Ŀ驾 æĬ¤ +ä¿Ŀ驾æĬ¤ èĪª +æĶ¾ çľ¼ +çŁ¥åIJį ä¼ģä¸ļ +ç¸ ® +ç¨ ½ +æļ ĩ +使ç͍ 網路 +é¢Ħ çķĻ +大 象 +åıijæĺİ ä¸ĵåĪ© +æĸĩ 娱 +éĢł ç¦ı +湿 润 +éĿ¢ æĿ¡ +æ¶Īè´¹ åįĩ级 +è®Ĭ å¾Ĺ +åĩł åIJį +ä» Ħ +认 æ¸ħ +è¿ľ æĻ¯ +æıĴ 座 +诸 侯 +åıĺ æĢģ +ç¦ı 彩 +è´§ æŀ¶ +失 æİ§ +ç§»åĬ¨ 端 +ä¸Ĭ åı¸ +éĢł 纸 +å¸ĥ æľĹ +çĴ ĩ +åı° åįĹ +åĮĹ京 åĨ¬å¥¥ +èĵĿ çīĻ +éķ¿ çŁŃ +æĬĺ å°Ħ +ç»ij æŀ¶ +å¯Ĵ åģĩ +转 åŁºåĽł +æĢ¥ äºİ +æŃ£ åĵģ +åħħ 滿 +大 纲 +æĬĹ ä½ĵ +è¨ĵ ç·´ +æĶ¶ ç´§ +æ¯Ķ è³½ +åħµ åĬĽ +æľ¬ æĽ¸ +äºĮ 代 +æĢ¥ è¯Ĭ +æĸĩ æ¡Ī +ç»ı åķĨ +æĻ¨ æĬ¥ +æ£ ĺ +æĢ»ä¹¦è®° åľ¨ +åıĹ éĤĢ +äºĶ åĽĽ +å²Ń åįĹ +çα åIJĥ +åŁĥ å°Ķ +å¿ĥ å¢ĥ +è¦ĨçĽĸ éĿ¢ +å®ŀåľ¨æĺ¯ 太 +æł¹ åºķ +纷纷 表示 +åĹ ħ +éļıçĿĢ æĹ¶éĹ´ +åİĨåı² æĤłä¹ħ +éħ ī +æĢ» éĺŁ +主é¢ĺ æ´»åĬ¨ +éĹ® åį· +é©¿ ç«Ļ +æı¡ ä½ı +åı¯èĥ½ 导èĩ´ +æ°ij éĸĵ +éĸĭ åķŁ +ä½Ĩ ä¸įéĻIJ +ä½Ĩä¸įéĻIJ äºİ +åįģ éĩĮ +å¨ ¥ +æįŁ èĢĹ +çĸı 导 +çݯ æ°§ +ç¥ŀ éĢļ +çα å°Ķ +çαå°Ķ åħ° +æľ´ å®ŀ +å¿« æĬ¥ +æĶ¶ åıĹ +æĪĸ 許 +èĥĮ éĿ¢ +æĸĩåĮĸ ä¼łåªĴ +ä¸ī åĢĭ +æĶ» åĬ¿ +å®ī 举 +å®ī举 å°¼ +åĿĩ å·² +顾 èĻij +éĦ Ń +è¿Ļå®¶ åħ¬åı¸ +åħ¬åijĬ ç§° +æıIJä¾Ľ ä¼ĺè´¨ +稳æŃ¥ æİ¨è¿Ľ +å¤į è¯ķ +å°Ĩ é¢Ĩ +è°Ī èµ· +å¨ Ħ +è¿ŀ 线 +æ©Ł éĹľ +åºĶç͍ åľºæĻ¯ +çĶ» åĥı +è´¢ è¿IJ +ä¿Ŀ éļª +çĹħ çIJĨ +æ¯Ľ 主å¸Ń +ä¸Ŀ 毫ä¸į +çα å¥ĩ +çαå¥ĩ èīº +ä¸ĵå®¶ ç»Ħ +åij¼ åͤ +éĭ ¼ +çģ ¸ +é¢ĨåħĪ åľ°ä½į +æıIJ æĭĶ +龸 éģĵ +å±± åĿ¡ +èĿ İ +沸 èħ¾ +该 项 +ä»Ĭ çĶŁ +ä¸Ģç¯ĩ æĸĩ竳 +æĸ¹å¼ı è¿Ľè¡Į +é»ij 客 +æĶ¹ åĬ¨ +主 é¡Į +æķ£ å¸ĥ +ä»Ģä¹Ī åľ°æĸ¹ +åĮĸ åIJĪ +åĮĸåIJĪ çī© +éĿĻ ç͵ +æĢ» æĶ¶åħ¥ +å§Ķ ç»Ħç»ĩ +å§Ķç»Ħç»ĩ éĥ¨ +éĿĻ æĢģ +èĢģ åŃĹåı· +室 åıĭ +éĥ½ä¸į æķ¢ +æŀ¶ åŃIJ +çģµ æķı +审 è§Ĩ +æĤ£ åĦ¿ +å±± 寨 +èĸª èµĦ +é©° æı´ +éĥ¨åĪĨ åĨħ容 +好 ä¼¼ +æĪIJåijĺ åĽ½ +åľ¨æĪij çľĭæĿ¥ +åħ³æ³¨ 度 +éĻĪ æŁIJ +è¿Ļç§į äºĭæĥħ +éĢī å®ļ +ç²¾ åŃIJ +å£ģ çĶ» +æ±Ł æ·® +é«ĺ æĺĤ +æł¼ åĬĽ +è¼ © +åѦ åłĤ +æĤ¨ åIJĮæĦı +ä¸ĢåĪĩ éĥ½æĺ¯ +æ½ ¤ +éĸ ĥ +å¸ĮæľĽ èĩªå·± +ä¿ ĺ +æ±Ł åİ¿ +æ³ ¾ +ç§ij æķĻ +æīĵ è¿Ľ +ä¸į æħİ +å¯Ĵ åĨ¬ +æ¸Ķ æ°ij +鼷 æĸ¯ +主 å®° +æĹħ游 度åģĩ +ç͵åŃIJ éĤ®ä»¶ +æ±Ĥ å©ļ +éļİ æ®µ +åģ¥èº« æĪ¿ +注æĺİ åĩºå¤Ħ +äºĭæķħ åıijçĶŁ +级 以ä¸Ĭ +åŃĺ æ´» +æĸ½ èĤ¥ +èľľ èľĤ +åµ © +æĮĸæİĺ æľº +æĬĹ æĭĴ +ä¼ł 导 +æĺ¯ä»Ģä¹Ī åij¢ +ä¸Ĭå¹´ åIJĮæľŁ +建 åħļ +çĶŁ æħĭ +ä¿Ŀ ä½ı +款 车åŀĭ +人 èĦī +éļIJ èͽ +失 æķĪ +éģ¿ åŃķ +ç®Ģ 便 +谢谢 ä½ł +å®Ī ä½ı +æĶ¾ æĺł +è¨Ī çķ« +çݰ代 çµģ +é¤IJ 廳 +æķħ å±ħ +大 大å°ı +大大å°ı å°ı +çī¹åĪ« 声æĺİ +éģį åıĬ +å¿ĥçIJĨ åĴ¨è¯¢ +è³ ´ +çĮ® è¡Ģ +å·²ç»ı è¾¾åΰ +æīĵ æĭĽåij¼ +åıĮ è¾¹ +ä¸Ģæĸ¹éĿ¢ æĺ¯ +å´ĩ å°ļ +éĺ¿ å¯Į +éĺ¿å¯Į æ±Ĺ +æĮģ æľī人 +è± ģ +é£İ çŃĿ +åĬ¨ èį¡ +äºĨä¸Ģ ä¼ļ +äºĨä¸Ģä¼ļ åĦ¿ +ä¸ĩ 象 +çľĭ ç͵è§Ĩ +åįģä¸ī æĿ¡ +çĮĽ çĥĪ +è¦ģ ä¸įçĦ¶ +太æŀģ æĭ³ +å¼ķ çĪĨ +ç»ıè¿ĩ å¤ļå¹´ +游æĪı éĩĮçļĦ +é¾Ļ æ³ī +æłĩ éħį +è®ĵ ä»ĸåĢij +éĢł æŀĹ +åĮºåŁŁ æĢ§ +亿 ä¸ĩ +æĪĺçķ¥ å¸ĥå±Ģ +éķĩ æĶ¿åºľ +åĶ® 票 +çĶŁäº§ å·¥èīº +éķĩ åħļå§Ķ +ä¸Ńå°ı åŀĭ +æľ¨ è̳ +æ²³ è¾¹ +èĦ¾ èĥĥ +欢è¿İ æĤ¨ +åıĺ å¼Ĥ +缤 纷 +åŀĥåľ¾ æ¡¶ +辩 è¯ģ +车 åºĵ +æ¯Ķ çİĩ +åħ´ æĹº +详ç»Ĩ äºĨè§£ +å®ī å±ħ +çħ§ æĸĻ +æĸ¹ æīį +èµ ¦ +åĨ ķ +å¥Ķ èµ´ +å®Ŀ 鸡 +åľº åĿĩ +缮åīį æŃ£åľ¨ +åIJŀ åϬ +è¿° èģĮ +æĩ µ +å¥ĩ çijŀ +ä»į å°Ĩ +èĪī 辦 +å·¥åķĨ å±Ģ +å¡ij èĥ¶ +åĬŀ å®ŀäºĭ +æĸ¹ æĸ¹éĿ¢ +æĸ¹æĸ¹éĿ¢ éĿ¢ +æĸĩåĮĸ èĬĤ +åħ¥ èģĮ +é¸ ¥ +ç©¿ éĢı +以 ä¹łè¿ijå¹³ +åį± éļª +æľ¦ èĥ§ +åİĨåı² æĢ§ +æķŀ å¼Ģ +ä¼Ļä¼´ åħ³ç³» +çŁ¿ åĮº +åĽ½éĻħ åľ¨çº¿ +ä¼łå¥ĩ éĩĮéĿ¢ +è¿ij äºĽ +è¿ijäºĽ å¹´ +åĬ£ åĬ¿ +æĶ»åĩ» åĬĽ +æĻº éĢł +ç¦ § +çİĭ åħĪçĶŁ +éĨ« çĶŁ +åĽĽ 项 +å®ŀ æĻ¯ +åĪĿ åĪĽ +å¿ĥ 裡 +æĻ¶ ä½ĵ +交 éĻħ +让 æ¶Īè´¹èĢħ +课 æĸĩ +æİĴ æ°Ķ +å¹¶ä¸į æĦıåij³ +缸 声 +第ä¸Ģ å±Ĭ +åİŁ èijĹ +éĽ ľ +没æľī 太大 +è¡¥ æ°´ +çµģ ä¼ģä¸ļ +第äºĮ æī¹ +åħ¶å®ĥ éĹ®é¢ĺ +æİĮ éŨ +责任 å¿ĥ +é¤IJ åħ· +ç¾Ĭ æ¯Ľ +没æľī å¿ħè¦ģ +ä¹IJ åĽ¢ +è¿Ľ åŁİ +ä¸ĢçĤ¹ åĦ¿ +身 å½¢ +çļ®èĤ¤ çĹħ +æĺ ± +å¢ŀ èĩ³ +èģ² æĺİ +æıIJ è´¨ +ä½ĵèĤ² åľº +çѹ 建 +é¬ Ĩ +车 çīĮ +éļĶ éŁ³ +è´Łè´£ åIJĮå¿Ĺ +丰 ç¡ķ +ä½Ľ éĻĢ +äºī åIJµ +åº ¶ +æ·¡ æ°´ +å°ı çĶ·åŃ© +ç§ģ èĩª +åĮĸ è¿Ľç¨ĭ +æĪĺ士 æĿ¥è¯´ +æ²¹ èħ» +èĦ±è´« èĩ´å¯Į +æĹ¥å¸¸ å·¥ä½ľ +交 èŀį +åĨľ è´¸ +åĨľè´¸ å¸Ĥåľº +åĵĪ çĻ» +ç͵ è´¹ +èµ ĺ +åıĮ èħ¿ +æĵĶ å¿ĥ +æĿ¥ 形容 +使åij½ æĦŁ +éĤ£ä¹Ī ç®Ģåįķ +èĬĻ èĵī +åĢŁæ¬¾ 人 +ç§Ģ 丽 +è®ĵ ä»ĸ +严åİī æīĵåĩ» +è³ ŀ +æļ « +çħ¤ æ°Ķ +çά ä¸Ĭ +æ½ĩ æ´Ĵ +太 ä¹ħ +åij½ åIJį为 +è·¯ çͱ +è·¯çͱ åύ +é© ¯ +æıIJ æĹ© +æĬĹåĩ» çĸ«æĥħ +åĩ Ľ +交 åıĭ +éĶĢåĶ® æ¸łéģĵ +毫ä¸į çĬ¹è±« +èIJ¥ åľ° +çłĶç©¶ 表æĺİ +é±¼ ç±» +æį¢ å±Ĭ +æİ¡ åıĸ +çī Ĩ +缼 å¼Ģ +æ²§ æ¡ij +åºŃ 审 +ç»ı æŁ¥ +åĬł å¼· +缸æ¯Ķ äºİ +ä¸ĵ çıŃ +ä½ĵ åŀĭ +被 害 +被害 人 +æĶ¶ 款 +åħ·æľī èī¯å¥½ +é«ĺå³° æľŁ +åģı ä½İ +åĦ Ł +åĨľä¸ļ ç§ijæĬĢ +ç®Ĭ æĥħåĨµ +å¦Ĥæŀľ çݩ家 +éķ¿ çº¦ +第åħŃ å±Ĭ +åħ¬å¼Ģ æĭĽèģĺ +åĪĩ æĸŃ +è¿« 使 +çĸĹ ç¨ĭ +第äºĮ ç§į +ä¸į åħį +å¹² èѦ +çŁ³ 榴 +åĹ £ +两 ç±» +çε 士 +åŁİ乡 å±ħæ°ij +æŃ¤ 项 +缴 è¾ĸ +缴è¾ĸ å¸Ĥ +åij¼ åºĶ +éĴ ¯ +ç¦ı å¾· +æľº 身 +æĵį åľº +æ¿Ĵ 临 +人群 ä¸Ń +èĤ¡ æ°ij +åŃ ½ +æ³ķ åħ° +é¨ İ +糯 ç±³ +æĢ» çļĦ +æĢ»çļĦ æĿ¥è¯´ +åħ¸ éĽħ +æĸ° éĻĪ +æĸ°éĻĪ ä»£è°¢ +缮 çĿ¹ +é¢Ħ è¨Ģ +è·Į çł´ +æĸ° ç¯ĩ竳 +æ¯Ĵ æĢ§ +åĸĿ èĮ¶ +æŁ¥ èİ· +亮 丽 +çĶŁäº§ åķĨ +æĶ¹ æĪIJ +为äºĨ æĽ´å¥½ +æ·± 交 +深交 æīĢ +æİ ĥ +ä¹Ļ èĤĿ +泸 å·ŀ +åħĪè¿Ľ æĬĢæľ¯ +è¾ĵ ç»Ļ +æķ£ æĪ· +æĢĿç»´ æĸ¹å¼ı +åºĹ 主 +è°ĭ æ±Ĥ +游æĪı æĬĢå·§ +ä¸Ģå¹´ 级 +çľ¼ è§Ĵ +ä¸Ńä»ĭ æľºæŀĦ +å·§ åIJĪ +éĺ² çĽĹ +导 è´Ń +æĪ Ĭ +æĽ´ éĢĤåIJĪ +åŁºæľ¬ ä¿¡æģ¯ +马 ä¸ģ +åħ»æ®ĸ åľº +åıį è¿ĩæĿ¥ +æİ¨ å´ĩ +å¯ĨåĪĩ åħ³æ³¨ +åŁºéĩij ç»ıçIJĨ +æĮī éĶ® +åĨħéĥ¨ æİ§åζ +æĪIJåijĺ åįķä½į +æľ¯ è¯Ń +åζ æľį +åĪļ éľĢ +æ£Ģ ç´¢ +大大 æıIJé«ĺ +åģ¥åº· 管çIJĨ +èĩª æŃ¤ +客æĪ· éľĢæ±Ĥ +丰 èĥ¸ +èµ· éĩį +èµ·éĩį æľº +æ¬ł 缺 +æ¡Ī åŃIJ +æĥħ人 èĬĤ +åħļ æł¡ +è¢ ľ +该 åī§ +迷失 ä¼łå¥ĩ +ç»ļ 丽 +åķ ª +æĹł ç§ģ +é̲ ä¸ĢæŃ¥ +第ä¸Ģ 竳 +åύ åħ· +åĨľ èµĦ +確 實 +åºı åĪĹ +娱ä¹IJ å¹³åı° +èŀįèµĦ ç§Łèµģ +èµĦæºIJ åħ±äº« +èģ½ åΰ +æIJŀ å¾Ĺ +ç»§ç»Ń ä¿ĿæĮģ +åIJ¯ èĴĻ +çľ º +ä¸Ŀ è·¯ +设æĸ½ 建设 +æİ¥ åľ° +æİ¥åľ° æ°Ķ +第ä¸ī åŃ£åº¦ +åŁº è°ĥ +åıij éŁ³ +社ä¼ļ èµĦæľ¬ +éĽĩ 主 +è¿ŀ èĥľ +没 åķ¥ +å» ¢ +èµ¶ èµ´ +æ¼Ķ åĮĸ +åı¤ æĢª +çİĭ çĪ· +é¢Ħ åħĪ +å¼Ģ åħ· +åĽŀ é¦ĸ +åľ°ä¸ĭ æ°´ +å°ıç¼ĸ ä¸Ģèµ· +èµİ åĽŀ +åľ° è²Į +åĪĿ ä¸ī +åı¯ ç͍äºİ +éģĹ è¿¹ +è¿Ļ æī¹ +èĸª æ°´ +å¿ħçĦ¶ ä¼ļ +æ² ½ +éį ĭ +第ä¸Ģ éĥ¨ +åĪĬ çī© +å®ŀ ä¾ĭ +æ¸ħ åĩĢ +ä¸Ĭ èµĽåŃ£ +åĽ¾ 表 +éĤ® è½® +åĵª 裡 +缸 è§ģ +æī° ä¹± +æ¯ı æ¯ı +è¿Ļ è¾ĪåŃIJ +ç¡« éħ¸ +äºī 缸 +溯 æºIJ +åĩº ä¼Ĺ +çİī çŁ³ +åħ± çĶŁ +æĹ¶éĹ´ 段 +éĩįè¦ģ æĮĩ示 +æ¶Īè´¹ éľĢæ±Ĥ +éķ¿ éķ¿ +éķ¿éķ¿ çļĦ +å®ī æĬļ +å¢ŀ é«ĺ +æľ¬ è½® +亲 çľ¼ +é£İ æ³¢ +èĢģ å¦Ī +æĶ¶è´¹ æłĩåĩĨ +åĨħ éĻĨ +æĮ¥ åıij +åįĩ åѦ +èĥ¸ åīį +åģı è¿ľ +纯 æ´ģ +æĸ½å·¥ åįķä½į +身 ä»· +è´¢ åĬĽ +çº ¶ +è£ħ çͲ +æĺ¾ç¤º åύ +毫 åįĩ +æ·± çŁ¥ +è̶ ç© +èĢ¶ç© Į +è¾ĥ éĩı +åľ¨ è¿ĩ渡 +åľ¨è¿ĩ渡 æľŁ +èĮ Ĺ +ä¸Ģ个 æĺŁæľŁ +èĬ · +è´¿ èµĤ +æ¿ ķ +æĩĤ äºĭ +ç§ § +åħħ å½ĵ +åĽ½ ç«ĭ +èĬ± çĵ£ +éĤĦ è¦ģ +åħ¬ åľĴ +触 åĬ¨ +æ³° å·ŀ +ä»Ģä¹Ī æł· +æ»ĭ åħ» +è¯Ħ åΤ +æĮ¥ æīĭ +èĦ Ī +å§¥ å§¥ +è¿IJ è´¹ +æ¯ħ åĬĽ +å¿ĥ æĻº +ä¸į æİĴéϤ +第ä¸ī 代 +éĢĢ è´§ +æĺŁ éĻħ +æ°¸ åĪ© +æĬ¤ åį« +çıŃ è½¦ +è¨Ģ è¡Į +ç¹ ª +主åĬ¨ æĢ§ +å·¥ç¨ĭ è´¨éĩı +éĥĬ åĮº +ä¸Ģ æłĭ +ä½Ĩ å®ŀéĻħä¸Ĭ +ä¸ī大 èģĮä¸ļ +åij¼ åı« +女 åħĴ +è¯ģåΏ æĬķèµĦ +èĢĥ æħ® +çĤ« èĢĢ +æ²» 好 +åĺ ¶ +èĥ ¤ +åħīä¼ı åıijç͵ +åĩł æŃ¥ +æīĢ æīĢ +æīĢæīĢ éķ¿ +çħ§ æł· +åĵ¥ 们 +è¯ Ľ +è¿Ļä¸Ģ åĪ» +çŁ¿ çī©è´¨ +ä¸įå¾Ĺ å·² +åIJĮ 缣 +ç»Ĩ å¾® +è·¯ èĻİ +çϾ èĬ± +æ·· æ²Į +ä¸Ĭæµ· è¯ģåΏ +éĢĢ ç¨İ +èµŀ åı¹ +æī®æ¼Ķ 游æĪı +åIJį åĪĹ +åIJįåĪĹ åīį +åIJįåĪĹåīį èĮħ +ç±³ å°Ķ +ä»Ģä¹Ī åİŁåĽł +å®īåħ¨ ä¿Ŀéļľ +ä¸Ģåıª æīĭ +ä¹³ ä¸ļ +ä¸į çĶĺ +æĥħ åķĨ +æĮ¡ ä½ı +åİŁåĽł ä¹ĭä¸Ģ +è¿Ļ 两天 +çĥĺ çĦĻ +è± ¬ +ä½ł 以为 +没 è§ģè¿ĩ +åĵªå®¶ 好 +åīį ä»» +è¿Ľ è´§ +éĢĢ åĽŀ +串 èģĶ +èĩ³ æĸ¼ +åĨ° æ·ĩ +åĨ°æ·ĩ æ·ĭ +æŁ¥çľĭ 详æĥħ +çı¾ 實 +æİ¨ æµĭ +æİ¥ æīĭ +éļ¶ å±ŀäºİ +åŁİå¸Ĥ 群 +æĿİ åħĪçĶŁ +çŁ¿ æ³īæ°´ +çī¹ ä»· +æĽ´å¤ļ 精彩 +ç¨ĭ å¼ı +读 æĩĤ +å±ı èͽ +奥 æŀĹ +奥æŀĹ åĮ¹ +奥æŀĹåĮ¹ åħĭ +红 èĸ¯ +å¥ ® +å®Ŀ çİī +ç¶² 絡 +è² § +欧 å¼ı +çϽ ç³ĸ +èĩªçĦ¶ çģ¾å®³ +åijĬè¯ī 她 +å» ļ +çĤ¹åĩ» æŁ¥çľĭ +é£İ 湿 +èµĦ产 éĩįç»Ħ +ä¹Łä¸į ä¾ĭå¤ĸ +åįĬ 个å°ıæĹ¶ +åIJ¸å¼ķ æĽ´å¤ļ +æĹ¶éĹ´ èĬĤçĤ¹ +æĶ¶ 纳 +åIJ¸ æ¯Ĵ +èĢģ 乡 +çIJ ħ +æľĢ çµĤ +åıį æĦŁ +ç͍ 微信 +çĶ¨å¾®ä¿¡ æī« +éĢŁ çİĩ +大 çĨĬçĮ« +åı¯ æĥ³ +åı¯æĥ³ èĢĮ +åı¯æĥ³èĢĮ çŁ¥ +åĴ § +èµ° åħ¥ +碳 éħ¸ +èĮĥ åĨ° +èĮĥåĨ° åĨ° +被 åΤ +积æŀģ æİ¨åĬ¨ +è¶³ è¶³ +ç²Ĵ åŃIJ +大 å®Ĺ +大å®Ĺ åķĨåĵģ +ç½ij绾 ç§ijæĬĢ +æĽ¼ åŁİ +å·² ä¹ħ +å·²ä¹ħ çļĦ +秦 çļĩ +秦çļĩ å²Ľ +ä»» æķĻ +å͝ ç¾İ +æ·¡ åĮĸ +æ¡Ĥ èĬ± +çŁ¥è¯Ĩ åĪĨåŃIJ +æĩĴ å¾Ĺ +主 åħ¬ +设计 çIJĨ念 +è³ º +æīĢ æıIJä¾Ľ +æīĢæıIJä¾Ľ ä¹ĭ +æĶ» åħĭ +åĤ ¾ +è¯Ń æ³ķ +åįĥ åı¤ +éĸĭ æĶ¾ +第ä¸Ģ èĬĤ +éĤĦ æ²Ĵ +éĢĥ çĶŁ +æ³ Ĺ +åİ¿ å§Ķ书记 +ä½ľèĢħ æīĢæľī +çħ ½ +ç» ħ +æł ħ +æľ´ ç´ł +çijķ çĸµ +åĮħ åĮħ +æ°ij主 åħļ +ä¸į è¿ľå¤Ħ +å¥ĩ å¼Ĥ +åĺ» åĺ» +æī ¼ +ç¿» å¼Ģ +æĢİ èĥ½ +éģ´ éĢī +è§£ éĩĭ +å¹¼ ç¨ļ +è¦ģ 好好 +è¶´ åľ¨ +ç´¢ åıĸ +ç»Ī çĶŁ +åħ¨ æµģç¨ĭ +éģ© çķ¶ +åįıè°ĥ åıijå±ķ +æĬ¥ ä»ĩ +ç§ijæĬĢ åĽŃ +ä»Ģä¹Ī éĥ½ä¸į +æľĢåIJİ ä¸Ģ次 +ç»Ļ人 ä¸Ģç§į +æł¸ å®ļ +被 åĪĹåħ¥ +æĦı æĥ³ä¸įåΰ +èĢĥ æŁ¥ +åľ¨æŃ¤ ä¹ĭåīį +æīĵ çIJĥ +è¶ĬæĿ¥è¶Ĭ å°ij +å®ļ å¾ĭ +è¡ĮæĶ¿ æľºåħ³ +ä½ıæĪ¿ åħ¬ç§¯ +å°ıå§IJ å§IJ +ä¸ī èı± +ä¿® è¡¥ +èŀĥ èŁ¹ +西 çͲ +æĢ ł +çŃī å¤ļ项 +产ä¸ļ éĽĨèģļ +ä»·æł¼ ä¸Ĭ涨 +åħ¬åħ± åľºæīĢ +è¢ĭ åŃIJ +æĨ§ æĨ¬ +çļĦæĸ¹å¼ı æĿ¥ +åΰ è´¦ +çģ ½ +å·´ èı² +å·´èı² çī¹ +æ¼Ķ ä¹ł +èŃ¦ç¤º æķĻèĤ² +çķı æĥ§ +å¼ķ æµģ +æĶ¶ æĶ¯ +å±Ĥ åĩº +å±Ĥåĩº ä¸į +å±Ĥåĩºä¸į ç©· +æijĩ æ»ļ +辦 çIJĨ +纵 è§Ĥ +æķij æµİ +å®¶ éĥ½çŁ¥éģĵ +åĮ ¯ +å°ı 鸣 +ä»» åĭĻ +计 åħ¥ +ç«ŀ éĢī +å¼ĢèįĴ æĹ¶æľŁ +åij¨ æģ© +åij¨æģ© æĿ¥ +交 ç»ĩ +çķ¢ æ¥Ń +æł¹æį® èĩªå·± +æĸ°äºº çݩ家 +åѵåĮĸ åύ +éĩĩ æļĸ +å¹³åĿĩ æ°´å¹³ +åħ¬å¼Ģ 课 +失 åĪ© +伺 æľį +çĬ ģ +忽 æĤł +主è¦ģ éĽĨä¸Ń +æ¤į æłij +æ¯Ĺ éĤ» +èĩº çģ£ +åĩºåĽ½ çķĻåѦ +æĬĹ éľĩ +æĥ© æĪĴ +å¹´åºķ åīį +åĴ¸ éĺ³ +æ°ij å±ħ +大çIJĨ çŁ³ +éĿ ³ +éķ ĸ +æ¸ħ è¿ľ +è£ħ è½½ +èĩ Ģ +å½± ä¸ļ +å¼Ł åħĦ +æĤ² è§Ĥ +çĿĢçľ¼ äºİ +æįį åį« +åī¥ å¤º +ç¯ Ĩ +å¾Ī éķ¿æĹ¶éĹ´ +è¥ Ł +第ä¸Ģ çϾ +ä¸ĢåĪĨ éĴ± +æĸ°éĹ» è®°èĢħ +éķ· æľŁ +æ³ķ æĪĺç»ĦåIJĪ +è°ģ çŁ¥éģĵ +èħ° éĥ¨ +æ±ī åł¡ +åħ¥ çĿ¡ +åįĸ æİī +æ¶Īè²» èĢħ +æĥ¯ ä¾ĭ +æĥ³ äºĨ +æĥ³äºĨ æĥ³ +èĢģæĹ§ å°ıåĮº +ä¼ł è¨Ģ +åĪĨæķ° 线 +æµģ 泪 +ç»Ħç»ĩ é¢Ĩ导 +äºļ åĨĽ +å¢ŀå̼ æľįåĬ¡ +å¾ ¹ +ä¼ ¶ +äºĽ 许 +å¸ĥ èݱ +强 æĤį +宫 å»· +绿 èĮ¶ +åĮ ¡ +å¾Ī æŃ£å¸¸ +æĺ¥ å¤ı +æ¯ Ļ +è¯Ħ æ¯Ķ +åĩ¡ äºĭ +æĬī æĭ© +åĢĴ éľī +éĩį 度 +åįıä¼ļ ä¼ļéķ¿ +å¿§ èĻij +ä¸ĭ ä¸Ģç¯ĩ +沪 æ·± +æĪ İ +æīĵ ä»Ĺ +åįĪ é¥Ń +å¹´é¾Ħ 段 +ä¸ŃåĽ½ è¶³çIJĥ +设计 æĸ¹æ¡Ī +åºĶç͍ æŁ¥çľĭ +é¢Ħ æĸĻ +åĹ ¡ +ç¥ĸ çζ +çļĦä¸Ģ åijĺ +æ´Ĺ å¹²åĩĢ +åİĨåı² æĸ° +åİĨåı²æĸ° é«ĺ +çĭ¬ åħ· +æħĭ 度 +æīĵ 交 +æīĵ交 éģĵ +é»Ħ çŁ³ +çĽ¼ æľĽ +çī§ åľº +转 弯 +åįĩ åįİ +åĨį ä¹Łæ²¡æľī +èĭ± æīį +æĽ´ åIJį为 +åĢŁ ç͍ +çºł éĶĻ +ç»Ŀ对 ä¸įä¼ļ +çİĭ çīĮ +çĽĨ åľ° +失 è°ĥ +好 象 +é³ ¥ +ä¿Ŀ ä¿® +åĽĽä¸ª èĩªä¿¡ +头 çļ® +åİŁ åīĩ +æĬ¥ æ¡Ī +奴 éļ¶ +å³ Ļ +è°ĥ æĸĻ +ä¹Ł 許 +èIJ½ åΰ +èIJ½åΰ å®ŀ +èIJ½åΰå®ŀ å¤Ħ +çĦļ çĥ§ +çĶŁæ´» çݯå¢ĥ +åºĶ åıĬæĹ¶ +è¶Ĭ è¿ĩ +æĦŁ è¬Ŀ +æĻ¯ å¾· +æĻ¯å¾· éķĩ +çĬ Ģ +身 éĤĬ +ç¨İåĬ¡ æĢ»å±Ģ +åĩĢ åľŁ +ä¾µ åįł +åĬ¨ å·¥ +å¹´ ä¹ĭ +å¹´ä¹ĭ ä¹ħ +第äºĮ èĬĤ +åĬ¨çī© åĽŃ +第ä¸Ģ 书记 +éħ ļ +çĶŁäº§ 设å¤ĩ +æŁIJç§į ç¨ĭ度 +åľ Ń +åĩŃåĢŁ çĿĢ +éĺħ è§Ī +çϽ æ²Ļ +æ²¹ çĥŁ +çªģçł´ åı£ +åıĹ å½±åĵį +åı¯ä»¥ æĽ´å¥½ +å³° å̼ +æĿĤ è´¨ +宿 è¿ģ +çĽĺ æ´» +æ¿Ģ èµ· +åĦ¿ ç§ij +åĿIJ èIJ½åľ¨ +æĮª å¨ģ +æµ· å²Ľ +绣 绣 +éĻ ¨ +ä¼ĺ äºİ +å°Ī å®¶ +ä¸Ģ éĤĬ +èIJ Ĭ +äºĨä¸Ģ åı£ +æ²ĥå°Ķ æ²ĥ +æŃ£å¸¸ 使ç͍ +æĻ®éģį åŃĺåľ¨ +丰 满 +çĶ» åį· +åºĶ æĶ¶ +åºĶæĶ¶ è´¦ +åºĶæĶ¶è´¦ 款 +å®Įæķ´ çĥŃ +å®Įæķ´çĥŃ æ¦ľ +注 è§Ĩ +çĨ Ħ +èº ¬ +éĶĢåĶ® 人åijĺ +è¶ĭ åIJij +çĦ¦ æĢ¥ +åįģå¹´ åīį +ä¼łç»Ł 产ä¸ļ +質 éĩı +åĩ¤åĩ° ç½ij +èµĦæºIJ æķ´åIJĪ +æ¶Į åħ¥ +æĸĩåĮĸ ä¼łæĴŃ +çķĮ 第ä¸Ģ +æ°´ æ³µ +宫 殿 +æİ¢ 寻 +ä¿® åīª +æĦı è¦ĭ +ç´Ĭ ä¹± +æĽ ī +çϽ è¡£ +èĻİ åį« +ç´§ æī£ +å¤Ħå¤Ħ éķ¿ +åĪĽå»º å·¥ä½ľ +红 æŀ£ +饼 å¹² +äºĨ åįĬ天 +ä¼ļå½±åĵį åΰ +çĽ¸ä¿¡ 大家 +èħ¾ é£ŀ +å°± å¦ĤåIJĮ +ä¸ĭéĿ¢ å°ıç¼ĸ +æ°ijèIJ¥ ç»ıæµİ +æĻ ¦ +è£ħ æī® +é»ij å¤ľ +常 å¾· +å·¥ä¸ļ 大åѦ +æĺİ çŁ¥ +éĺŁåijĺ 们 +åIJ¬ 课 +æ¯ı éļĶ +羣æĺ¯ 太 +åIJĪä½ľ åħ±èµ¢ +çIJĨ åıij +æīį å¹² +çľĭ èµ·ä¾Ĩ +殿 ä¸ĭ +å®ī éĺ³ +æīĢ äº§çĶŁçļĦ +éĽĩ ä½£ +æĬ¬èµ· 头 +æį® æĬ¥éģĵ +éļĨéĩį 举è¡Į +交 éĶĻ +è¶ħ é¢Ŀ +åĮĸ çĸĹ +é¡ Ĩ +纵 æ·± +çĪ±åĽ½ 主ä¹ī +éĻ¢ åī¯éĻ¢éķ¿ +è® ³ +羣æŃ£ åģļåΰ +åѤ åįķ +èĩªçĦ¶ èĢĮ +èĩªçĦ¶èĢĮ çĦ¶ +ä¿® 身 +èĬ ¹ +æģ¯ æģ¯ +æģ¯æģ¯ 缸åħ³ +驾 æł¡ +æİ© 饰 +æ³½ è¿ŀ +æ³½è¿ŀ æĸ¯åŁº +举 æŃ¢ +管çIJĨ ä½ĵåζ +åħ¶ä¸Ń ä¹ĭä¸Ģ +æĿ¾ å¼Ľ +æĭ¦ æĪª +åį« åģ¥ +åį«åģ¥ å§Ķ +ä»İ åݻ年 +åĤ ¢ +è´Ń 票 +åĽ¾ æłĩ +æ²³ 西 +æ°ijæĶ¿ å±Ģ +ç§ģ èIJ¥ +å¤ĸåĽ½ è¯Ń +å¹² è´§ +æĵ¦ æĭŃ +åľ° ä¸Ń +åľ°ä¸Ń æµ· +æµĵ æµĵ +æµĵæµĵ çļĦ +å§ĭ 建 +å§ĭ建 äºİ +ç¶ĵ æŃ· +è·¯ æ¼Ķ +æļ´ é£İ +åŁº è¾ħ +æī¶è´« å·¥ä½ľ +ä¸Ģ缴 å¤Ħäºİ +æĥħ è¶£ +äºĮ åŃ£åº¦ +åİĮ æģ¶ +顺åĪ© å®ĮæĪIJ +æŁ¥ å°ģ +é¡¶ 端 +ä¸į åŃķ +ä¸Ģ大 åłĨ +被 æ·ĺæ±° +æĺ¯ ç͍æĿ¥ +æľĢ åIJĪéĢĤ +亮 çľ¼ +å¹¶ä¸įæĺ¯ å¾Ī +ç§ijçłĶ éĻ¢ +ç§ijçłĶéĻ¢ æīĢ +ç² Ł +é¢Ī éĥ¨ +é»ĺé»ĺ åľ° +é«ĺä¸Ń çĶŁ +æĹıèĩªæ²» åİ¿ +æķĻåѦ è´¨éĩı +æĪĺ çģ« +åĿİ åĿ· +æIJŃ ä¹ĺ +è¯Ĺ æĦı +åĪij èѦ +åĩº æ±Ĺ +åįģåħŃ æĿ¡ +请 åıĬæĹ¶ +åĨľä¸ļ 大åѦ +èIJ½ åı¶ +æĢ» èĢĮè¨Ģ +æĢ»èĢĮè¨Ģ ä¹ĭ +æĿľ åħ° +æĿľåħ° çī¹ +éĻª ä½ł +åħ¬ æĬ¥ +çķĻè¨Ģ æĿ¿ +éĺħ åİĨ +ç«¶ çĪŃ +ç»Ļ åĪ«äºº +æĹ¥æĬ¥ 社 +åĿIJ èIJ½ +åĿIJèIJ½ äºİ +éĩij åŃĹ +éĩijåŃĹ å¡Ķ +åĽ ¤ +è¯Ŀ åī§ +æĮģç»Ń æİ¨è¿Ľ +æ¼ı æ°´ +詳 ç´° +æĢĢ æĬ± +åıĺ å¹» +饥 饿 +éļIJ 身 +个 èµĽåŃ£ +åĵ¡ å·¥ +æģ¢å¤į æŃ£å¸¸ +äºĨ 好å¤ļ +æĺŁ å·´ +æĺŁå·´ åħĭ +åħī çݯ +å¸ħ åĵ¥ +çϽ éĽª +ç¨į ç¨į +计 æıIJ +æĦĽ æĥħ +éİ ĸ +ä¿¡ éĺ³ +è§Ģ å¯Ł +å¦Ĥæŀľä½ł æĥ³ +缸æ¯Ķ ä¹ĭä¸ĭ +è§£ å¼Ģ +æīĵåį° æľº +身 躯 +ç²¾ç¥ŀ æĸĩæĺİ +èĤ¡ æĮĩ +å¾® åĪĽ +红 èĮ¶ +èĩ´ çĻĮ +æģ© æĸ½ +èħ¿ éĥ¨ +大åŀĭ å¤ļ人 +å®ī åĢį +è¾ħ导 åijĺ +èĪª éģĵ +å¸ĥ å°Ķ +åįĹå®ģ å¸Ĥ +ä¸ĬçıŃ æĹı +ä¾§ ç»ĵæŀĦæĢ§ +追 éļı +å½ĵåľ° æĶ¿åºľ +èµ° åĩºæĿ¥ +éĩijèŀį ä¸ļ +丼 书 +é¡¹çĽ® ç»ıçIJĨ +è¿ĩ æĪ· +骨 æŀ¶ +è¡ Ļ +ä»Ģ 麽 +èħ ĭ +è¦ģ 害 +åľ¨ åºĬä¸Ĭ +代è¨Ģ 人 +並 å°ĩ +åIJĦ个 æĸ¹éĿ¢ +è°´ è´£ +åħ± æĮ¯ +åį³å°Ĩ åΰæĿ¥ +èĤº çĻĮ +ä¾Ľ éĶĢ +丼 æŀĹ +èµ ĥ +åįģä½Ļ å¹´ +åĭĺ æİ¢ +飵 åij³ +èĭ¦ ç¬ij +æľĢ大 ç¨ĭ度 +éĩįçĤ¹ åħ³æ³¨ +ä¹ĭ 举 +满 æĢĢ +åıĹåΰ å½±åĵį +æĭĽ æĬķæłĩ +è¡¥ é½IJ +西 红 +西红 æŁ¿ +é¬ § +è£ħ åᏠ+éĤ» éĩĮ +èĤĩ äºĭ +æİĴ æ¯Ĵ +åѤ åĦ¿ +鼶 è·Ŀ离 +å®ŀ å¹² +çľĭ æŁ¥çľĭ +æĶ¶è´¹ ç«Ļ +ç» · +åħ¬çĽĬ æĢ§ +éĢĴ ç»Ļ +æĶ» æīĵ +æĺŁçº§ éħĴåºĹ +æĺİ åªļ +ç፠ç«ĭ +è¯Ŀè¯Ń æĿĥ +ä¸ĢæŃ¥ ä¸ĢæŃ¥ +书æ³ķ å®¶ +æľªç»ı æİĪæĿĥ +çŁ³ èĨı +åĩŃ ä»Ģä¹Ī +çļĦ æĹ¥ +çļĦæĹ¥ åŃIJéĩĮ +诱 人 +çϾåĪĨ çϾ +èĪĪ è¶£ +å¼ł åħĪçĶŁ +èĢģçĪ· åŃIJ +æ³¢ çī¹ +åŁºéĩij 份é¢Ŀ +æ²Ļåıij ä¸Ĭ +å¥ĭæĸŠ缮æłĩ +æ°¢ èĥ½ +æ²ĥå°Ķ çİĽ +義 åĭĻ +éŁ³ ç®± +æ²ī 浸 +æ²ī浸 åľ¨ +èĭ± åľĭ +çģ¯ çģ« +è¿Ľ 项 +两 端 +ä¹Ķ 丹 +èĦ¸ é¢Ĭ +åıijå±ķ æ½ľåĬĽ +åĭķ ä½ľ +åĵĪ ä½Ľ +å®´ ä¼ļ +æ§ į +ç«ĭ å¿Ĺ +ç¡ķ士 åѦä½į +åĭĭ 竳 +è¿Ļ åľºæ¯ĶèµĽ +æĮģ å¹³ +éķĢ éĶĮ +èĭ± çī¹ +èĭ±çī¹ å°Ķ +æķĻ èģĮå·¥ +åĬŁ åĬĽ +该 æ¡Ī +ä¸Ģ æ¢Ŀ +åĺī å¹´ +åĺīå¹´ åįİ +è¿« ä¸įåıĬ +è¿«ä¸įåıĬ å¾ħ +è¿Ļ个 æĹ¶ä»£ +精彩 æĴŃæĬ¥ +人 èĦ¸ +人èĦ¸ è¯ĨåĪ« +æ£Ģå¯Ł å®ĺ +å°ı èħ¿ +éĨĴ 缮 +åħļ æĢ» +åħļæĢ» æĶ¯ +æĪ Ł +èĮ« çĦ¶ +è±Ĩ æµĨ +主 æ²» +éĿĴæµ· çľģ +åĪijäºĭ 责任 +çł ° +ä¹ĭ æ¬ĬåĪ© +äºĶ å®ĺ +è¿· æĥij +åħ¥ åºĵ +å®¶ 纺 +å¼¹ ç°§ +åįģäºĶ æĿ¡ +ç»Ļ å®Ŀå®Ŀ +èĪªç©º èĪªå¤© +å¾Ģ å¤ĸ +å¼ķ åĬĽ +çľ¼ çļ® +æ¶ī è¶³ +æĿ¥ 宾 +åľ¨çº¿ è§Ĵèī² +çĥŃ éĶĢ +æµģ éĢĿ +泡 泡 +éĻį å¹ħ +è´ŁéĿ¢ å½±åĵį +红 楼 +红楼 梦 +éļĶ çĿĢ +ä¾¥ 幸 +许 ä¹ħ +åĴĮ çĿ¦ +èŃ ½ +使ç͍èĢħ æĪĸ +ä¹° åįķ +è¿ ´ +é£İ æīĩ +æķĻ å¸« +æ¡ĮåŃIJ ä¸Ĭ +å¾Ī æ¼Ĥ亮 +åł± å°İ +第ä¸Ģ åŃ£åº¦ +ç©© å®ļ +æĤ² åĵĢ +çĿĢåĬĽ æīĵéĢł +æĮ Ł +è·¯ æ¡¥ +åij IJ +åľ£è¯ŀ èĬĤ +çļĩ åŃIJ +ä»ĩ æģ¨ +éħĿ éħ¿ +ä¸į éĹ´ +ä¸įéĹ´ æĸŃ +æĮĩ å°ĸ +ä¸ŃåĽ½ ç½ij游 +åŀ £ +æĦıè§ģ 建议 +æ¯ħ çĦ¶ +亮 度 +èģĶ è°Ĭ +å½ķ åħ¥ +åĦ ² +å¨ĺ å®¶ +ç§ij å°Ķ +ä¹Łæ²¡ ä»Ģä¹Ī +æł¹æį® ä¸įåIJĮ +åı¶ ä¿® +å̼ å®Ī +æľ« 端 +åĪ ¨ +åĤµ åĭĻ +èģ¯ åIJĪ +å¥ĩ å¹» +èĻļ æŀĦ +é»Ħ æĺı +å¹³ åĿ¦ +æµģ æ°ĵ +æĸ° åŁºå»º +æĮ½ æķij +åįİ å°Ķ +åįİå°Ķ è¡Ĺ +æľĢ åıĹæ¬¢è¿İ +ç»Ń 约 +å¼Ĭ 端 +éŃĶ æ³ķå¸Ī +éŃĶæ³ķå¸Ī åĴĮ +åħ·ä½ĵ åĨħ容 +çIJī çĴĥ +æī© 容 +èĮ¶ åĽŃ +主ä¹ī èĢħ +ç«ĭ éĿ¢ +æİ¥åıĹ éĩĩ访 +åĩº åħ¥å¢ĥ +ç§ij åįı +éĴ ³ +çµIJ æ§ĭ +ç»ĵæŀľ æĺ¾ç¤º +åı° è´¦ +å°± æĿ¥çľĭçľĭ +èĩª æķij +åıį æĩī +åİ» åĵªåĦ¿ +è¿Ļ é¦ĸ +è¿Ļé¦ĸ æŃĮ +åIJ¬ ä¼Ĺ +å¤ĸ 壳 +ä½ĵèĤ² é¦Ĩ +實 æĸ½ +èŀº ä¸Ŀ +æĭī åįĩ +çĮĽ åľ° +åħ¨åĽ½ 人æ°ij +æĤī å°¼ +æĹı 群 +åĽ¢ åijĺ +两个 å°ıæĹ¶ +åľ¨ çݩ家 +åľ¨çݩ家 ä¸Ń +çĶľ çĶľ +æĬķ è¡Į +åįĶ æľĥ +éĻ ¡ +åĬłå·¥ åİĤ +æ¦Ĩ æŀĹ +æŃ» è§Ĵ +åĨħ å¹ķ +æīĢæľī æĥħèĬĤ +åĪ· åį¡ +æ°´ èĤ¿ +èĥĥ åı£ +å«Į å¼ĥ +æ²® 丧 +ä¸īå¹´ 级 +æ¶Ĥ å±Ĥ +å¿ĥ 仪 +å¿ĥ仪 çļĦ +å¤ Ń +é¦ĸ è½® +æĹłè®ºæĺ¯ åħ¶ +éĢı æ°Ķ +äºĮ åįģäºĶ +ç® « +åĬŁ åĬ³ +çѾ ä¸ĭ +æ²ī è¿· +æķij åij½ +éĹª éĹª +åIJĥ äºı +å±ķ åĵģ +åį³æĹ¶ åıijçĶŁ +ç¶ ľ +ç¶ľ åIJĪ +æłĩ æĺİ +çľĭ ç͵影 +åħ¬ 竳 +éĺ¿ æ£® +éĺ¿æ£® 纳 +身 åĪĽéĢł +身åĪĽéĢł çļĦ +æ¸Ľ å°ij +å̼å¾Ĺ åħ³æ³¨ +鼶åĶ® åķĨ +æįĨ ç»ij +è¸ı åħ¥ +èĽ Ł +æŁ´ 纳 +èĢģ åħµ +绿èī² çݯä¿Ŀ +é¹ Ń +麻 æľ¨ +æıŃ çīĮ +è¿Ļ款 车 +ç¾İ å¾· +ç¾İå¾· åħ¬åı¸ +æ¶ § +è°ģ çŁ¥ +æ´ĭ èij± +æ¯į æł¡ +ä¸Ģ éĹª +çĶ· 主è§Ĵ +æĹłçº¿ ç͵ +å±ł å®° +æĺ¯ éŁ©åĽ½ +æĺ¯éŁ©åĽ½ 娱 +容 è²Į +åĿĩ 使åħ¶ +太 å¿« +å¹´ çͱ +å¹´çͱ 缼 +èĭ¦ èĭ¦ +åĬĽ è¿ĺæĺ¯ +åĬĽè¿ĺæĺ¯ èĩª +æĨ © +èģ¯ çµ¡ +åĶ ¾ +åħ·æľī æĪĺ士 +追 éĹ® +åłĨ æĶ¾ +åıį 驳 +å®ŀäºĭ æ±Ĥ +å®ŀäºĭæ±Ĥ æĺ¯ +åѸ éĻ¢ +åįģ åĩłä¸ª +æķij æĬ¤ +æķijæĬ¤ 车 +ç½ij绾 ä¼łæĴŃ +åįģåħ« å±Ĭ +éĥ¨ åī¯ +éĥ¨åī¯ éĥ¨éķ¿ +çĹ´ è¿· +管çIJĨ æĿ¡ä¾ĭ +èŀį 为ä¸Ģä½ĵ +æĢ» 产å̼ +è³ ĵ +ä¸ĥ æĺŁ +çıŃ ç»Ħ +绣 é¢Ĩ +请 大家 +éĩij éϵ +èĪħ èĪħ +æµ· æ¹¾ +æĸ½ çŃĸ +享 èªī +éº ¥ +端 åįĪ +绿 åŁİ +確 ä¿Ŀ +å·´ æĭī +åĨĴ çĿĢ +æħ· æħ¨ +个人 è§ĤçĤ¹ +ä¹Ļ çĥ¯ +ç¡ħ è°· +éĸĭ å±ķ +å°ļ 书 +åĿļ 飧 +åº µ +èĢģ é¾Ħ +èĢģé¾Ħ åĮĸ +羨 çľ¼ +绿 æ°´ +绿水 éĿĴå±± +书 é¦Ļ +主åĬĽ åĨĽ +æīįæĺ¯ 羣æŃ£ +æĬ¢ åħĪ +æĪIJå°± æĦŁ +éĩį æŀĦ +éĴ¢ åİĤ +æĪIJ 份 +èĬ± 纹 +ä¹ĭ äºī +å¹² ç»Ĩèĥŀ +æĹ¢ åı¯ä»¥ +ç¹ģ çIJIJ +æĦļ èł¢ +éĿŀ常 æĺİæĺ¾ +ä½ĵ 彩 +æĬĢ æ³ķ +æĿĨ èıĮ +å¹¿æ³Ľ åħ³æ³¨ +åĮĹ å®ĭ +å§Ĭ 妹 +åįı åĬŀ +æ·® åįĹ +çĥ ı +æ´Ĺ èĦ¸ +åıĹ è®¿ +åıĹ访 èĢħ +éĩįè¦ģ åĽłç´ł +å½±è§Ĩ åī§ +综èīº èĬĤ缮 +èľķ åıĺ +äºĮ 线 +äºĮ线 åŁİå¸Ĥ +ä¼Ĭ å§ĭ +çıĬ çijļ +èĩª æŁ¥ +åħ¥ åĽŃ +åĩ¶ æīĭ +åħ¬ è¯ī +éģĩ éļ¾ +éĩĩçŁ¿ çŃī +èĩª çIJĨ +åĸ· æ¶Ĥ +æī© åħħ +éĢı è§Ĩ +é«ĺéĢŁ å¢ŀéķ¿ +åĽ¾ çĶ» +ç¾ ¹ +èĤĩ åºĨ +è¾ľ è´Ł +èµĶ ä»ĺ +è· ¡ +åģ¥åº· æĪIJéķ¿ +以ä¸Ĭ åѦåİĨ +åıĸå¾Ĺ 以åıĬ +æ²ī 积 +åįģä¹Ŀ å±Ĭ +缸éĹľ æľįåĭĻ +æī§ åĭ¤ +åī¯ åİ¿éķ¿ +å¯ ° +åģľ æ»ŀ +æ·¹ 没 +çŁ³ çģ° +çį ¸ +åĢ ¦ +ç¾İ åªĴ +æķĻ æ¡Ī +åĬł çĽĸ +åħ¬å¼Ģ èµĽ +å¥ł åŁº +æĺĨ èĻ« +çŀ ħ +磷 éħ¸ +äºī åĪĽ +çİĭ æĻĵ +ç¼ĵ åĨ² +åİļ åİļ +åİļåİļ çļĦ +æŀ£ åºĦ +ç²¾ çĽĬ +ç²¾çĽĬ æ±Ĥ +ç²¾çĽĬæ±Ĥ ç²¾ +åĪĨæĶ¯ æľºæŀĦ +å®ŀæĸ½ ç»ĨåĪĻ +æĸ° èµĽåŃ£ +總 çµ± +éĢł è¡Ģ +é¢ĩ åħ· +é»Ħ åŁĶ +è¡Ģ èĦĤ +交éĢļ å·¥åħ· +å³ ¥ +æĹıèĩªæ²» å·ŀ +寺 éĻ¢ +確 å®ļ +æ¦Ĥ念 èĤ¡ +æĦŁ å®ĺ +æŁľ åı° +åĶ Ķ +çŀŃè§£ 並 +æĢ» ä»· +åIJ¸ åħ¥ +æĢ ¼ +æĻļ éĹ´ +å±Ĭ æ¯ķä¸ļçĶŁ +çĶŁ å§ľ +éĺħ读 åħ¨æĸĩ +å¾Ĺåΰ æľīæķĪ +æIJľ æķij +åİĨ æĿ¥ +èŃī æĺİ +åĥ » +èĨ³ é£Ł +åĦĦ åħĥ +æīĵ åİĭ +宾 客 +åķ ¼ +ä¸ĢçϾ å¤ļ +æ·±åħ¥ 人å¿ĥ +æ¢ħ å·ŀ +çłĶ åѦ +åħ³ ä¹İ +è¼ Ľ +亲 åıĭ +éħį æĸĻ +æĪij çĪ±ä½ł +è´¸æĺĵ æĪĺ +æľī èī² +æľīèī² éĩijå±ŀ +æįIJ åĬ© +为 é¦ĸ +为é¦ĸ çļĦ +å¯Į åĬĽ +çĶ· ç¥ŀ +é³ ³ +æµĩ æ°´ +åIJ ± +æĺİç¡® æıIJåĩº +åı¹ äºĨ +åı¹äºĨ åı£æ°Ķ +礼 æĭľ +è¿Ļ个 åIJįåŃĹ +ä¿¡ å¾Ĵ +å¿Ĺ 强 +éĻIJ æĹ¶ +æĶ¶ è²» +åĨľå®¶ ä¹IJ +å°ıé¾Ļ èϾ +èIJ½ å¹ķ +æ§ Ł +åѦ 龸 +æĪĸ å¤ļ +æĪĸå¤ļ æĪĸ +æĪĸå¤ļæĪĸ å°ij +座è°Ī ä¼ļä¸Ĭ +æ¶ ¼ +éŃĶ çİĭ +å² ± +é¡¶ å±Ĥ +é¡¶å±Ĥ 设计 +èĦij åŃIJéĩĮ +éĻ¢ åŃIJéĩĮ +轩 è¾ķ +身å¿ĥ åģ¥åº· +èħ ij +éĹľ 注 +åıĤåĬł ä¼ļè®® +ä¸Ńåįİ æĸĩåĮĸ +追 寻 +å®ī çĦ¶ +é£Ļ åįĩ +éŁŃ èıľ +é¸ ¦ +åĤ¨ éĩı +çĶ· æĸ¹ +å¤ĩ 份 +æijĶ åĢĴ +润æ»ij æ²¹ +é̼ è¿ij +çͳ è¯ī +鸣 ç±» +çŁ³æ²¹ åĮĸå·¥ +åĿļ æŀľ +è¿Ļå®¶ ä¼Ļ +æĭĴ ä¸į +羣 çļ® +è·Ŀ éĽ¢ +è¿ĺ æĮº +éĽķ åĥı +åĪĿ æģĭ +æıIJä¾Ľ æĽ´å¤ļ +æŁ¥çľĭ åħ¨æĸĩ +æķ°åŃĹ è´§å¸ģ +åĸī åĴĻ +åı¦ä¸Ģ ä½į +åĤ¬ åĮĸ +åĤ¬åĮĸ åīĤ +ä»İæĿ¥ 没 +å¯ĨåĪĩ 缸åħ³ +éĥ¨ 主任 +产åĵģ ç»ıçIJĨ +並 åIJĮæĦı +èIJ½ åħ¥ +å±ıå¹ķ ä¸Ĭ +åħ¬åı¸ 竳ç¨ĭ +æį¢ åı¥è¯Ŀ +æį¢åı¥è¯Ŀ 说 +ä½į æĸ¼ +ä½ Ķ +åĩ» æĿĢ +缸 è¾ĥ +缸è¾ĥ äºİ +ç²½ åŃIJ +åįĹ æŀģ +宫 é¢Ī +è£ģ åijĺ +æĺİ ç»Ĩ +ä»·å̼ éĵ¾ +åĽĽä¸ª æĸ¹éĿ¢ +æĥħåĨµ æĿ¥çľĭ +æĮij åīĶ +æ® ĺ +æŀģ åĬĽ +çĸij éļ¾ +æĬµæĬĹ åĬĽ +æĢ¥ éĢŁ +æĪ Į +ä½İ ä¼° +éĹª è¿ĩ +æģ ¬ +èµŀ æī¬ +ä»ĸ å¦Ī +æĪIJ为 ä¸ĢåIJį +æ´Ĺ 礼 +é¢Ħ计 å°Ĩ +åħĪè¿Ľ åįķä½į +è¼ Ķ +éĢĥ èĦ± +çݰ åŃĺ +èĢģèĻİ æľº +åįģä¸ĥ æĿ¡ +åı¦ä¸Ģ åįĬ +温 æĥħ +åī¥ ç¦» +ä¸ĸ è´¸ +å®ĺ åı¸ +å¾Ī å·® +éĹ´ è·Ŀ +请 注æĦı +åı² è¯Ĺ +åĪ© åύ +è¿IJ ç®Ĺ +沦 为 +該 使ç͍èĢħ +èĮ ¬ +éͦ 绣 +åı² æĸĻ +çģµ æ´»æĢ§ +èģĶ ç¤¾ +æĹł åĬ© +æĬĹ æ°§åĮĸ +èıľ èĤ´ +éĢł èι +æİī èIJ½ +å¤į æŁ¥ +åĭĥ åĭĥ +åij¼ 声 +給 äºĪ +åIJĮäºĭ 们 +ç½ ° +è¯ķ æİ¢ +åħ³éĶ® åŃĹ +æįIJ çĮ® +ç»Łè®¡ æķ°æį® +åĪĽ ä½ľèĢħ +ä¸ĭ åįĬ +ä¸ĭåįĬ åľº +æī¿æĭħ 责任 +端 æŃ£ +ç©¿ è¡£ +ä¼ł çIJĥ +åĬ© éķ¿ +åĩ ± +éķ¶ åµĮ +é£ŀ ç¿Ķ +è¾ĵ åįµ +è¾ĵåįµ ç®¡ +ä¸ĩ åħ¬éĩĮ +æİ¨å¹¿ åºĶç͍ +å¿« æ¨Ĥ +ç§ ½ +èī° å·¨ +åIJ¬ å®Į +åĿļ 硬 +奥 åľ° +å¥¥åľ° åĪ© +é¢ ĵ +èĻIJ å¾ħ +ä¾Ľ æ±Ĥ +éľī ç´ł +伪 è£ħ +乡 åľŁ +åĩ¡ æľ¬ç½ij +åĩ¡æľ¬ç½ij 注 +ä¼Ĭ åĪ© +è¡¡ æ°´ +æĽ´ åĥıæĺ¯ +åĪĨéĴŁ å·¦åı³ +è¦ı 模 +äºĶ åĪĨéĴŁ +åºĹ åĬłçĽŁ +åĽ° éĽ£ +åħ³ åģľ +æĢĿ 绪 +åĴ½ åĸī +缸 符 +çĥ¦ èºģ +æĻĤ æľŁ +åijĪ çı¾ +è§£ æķ£ +诱 导 +éļĶ çĥŃ +çĮ ¶ +åįĹ å®ĭ +æ·±åħ¥ äºĨè§£ +çŃĶ çĸij +æĺ¼ å¤ľ +åįĥ ä¼ı +åĬ³åĬ¡ æ´¾éģ£ +红 è±Ĩ +åĿı äºĭ +çĤ¹ æ»´ +å°±ä¸ļ å²Ĺä½į +约 åIJĪ +åħį éϤ +éĢĨ åĬ¿ +éĩį éĩijå±ŀ +å®ĺ 宣 +ä½İ å»ī +æģ¨ ä¸įå¾Ĺ +å¾Ĺ 天 +å¾Ĺ天 çĭ¬ +å¾Ĺ天çĭ¬ åİļ +ä¸Ģå°ģ ä¿¡ +æĬ½ å¥ĸ +è¾Ĺ 转 +çķĻ å®Ī +çķĻå®Ī åĦ¿ç«¥ +çŃĶ åį· +å·¨ åŀĭ +æľĢ好 ä¸įè¦ģ +æµĻæ±Ł 大åѦ +æĨ ¨ +æı¡ æīĭ +éĴĪ ç»ĩ +æİĴ 骨 +çĤ ½ +å°ģ è£ħ +åįĢ åŁŁ +空æ°Ķ åĩĢåĮĸ +åħī å½± +åĢĴ å¡Į +å§ļ æĺİ +æ¤į 被 +åѦ åīį +åѦåīį æķĻèĤ² +èĬĿ åĬł +èĬĿåĬł åĵ¥ +缩 æ°´ +ä½ Ł +åľ¨çº¿ åĴ¨è¯¢ +èµı æŀIJ +éĿĴ èĽĻ +æĬ± ä½ı +èĮĤ åIJį +åħ¨åĬĽ æīĵéĢł +åįļ士 åѦä½į +æ²§ å·ŀ +åĻ ¢ +æĿĤ çī© +åĪ» çĶ» +æį ħ +å¾® éĩı +å¾®éĩı åħĥç´ł +ä¸Ģ åĽŀäºĭ +鸡 èĤī +åĪ©æ¶¦ çİĩ +æīį ç®Ĺ +å¾® å¦Ļ +棵 æłij +è´ª 婪 +åĩı å̼ +梦 å¢ĥ +åı¯ è§Ĩ +åı¯è§Ĩ åĮĸ +广大 å¸Ĥæ°ij +ä¸ĵä¸ļ ä»İäºĭ +ç»ı 纬 +ç´§ çĽ¯ +çŁ¥ å·± +è¤ ļ +æĸĩåĮĸ åºķèķ´ +åݦéŨ å¸Ĥ +临 港 +对åħ¶ 羣å®ŀ +岸 è¾¹ +è¦ĸ çĤº +æĬĹ çĻĮ +åĶIJ å®ĩ +ä¸įå¾Ĺ è¶ħè¿ĩ +å¨ģ æħij +æ¡Ĩæŀ¶ åįıè®® +èµ° ç§ģ +åĽ¢ å§Ķ +夸 大 +æ¬ Ħ +ç¥ŀç»ı ç³»ç»Ł +æijĦå½± ä½ľåĵģ +èĬ ¥ +å®ī åºĨ +æµ· 滨 +æŀĦ æĢĿ +çīµ æĮĤ +åı © +éĺIJ æĺİ +éģ ģ +ç²¾ æ²¹ +ç©´ ä½į +æĬ¤ 身 +æĬ¤èº« 符 +æĮĩ å°İ +åŃĺåľ¨ ä¸Ģå®ļ +å¯Ĥ éĿĻ +æµ·å¤ĸ å¸Ĥåľº +éĿ ¡ +综åIJĪ å¾ģ +ä¿ IJ +è¨Ī ç®Ĺ +æĺİ æľĹ +äºļ è¿IJ +äºļè¿IJ ä¼ļ +åīįçŀ» æĢ§ +åĮ® ä¹ı +产ä¸ļ æī¶è´« +èĦij æµ· +èĦijæµ· ä¸Ń +åħļçļĦ é¢Ĩ导 +åĪĺ éĤ¦ +æµģ æĺŁ +æĵ Ĥ +æĶĢ çĻ» +åĴ Ķ +ä¸Ģä¸ĭåŃIJ å°± +è¯Ĭ æ²» +使 åĬ² +åīµ ä½ľ +éĵŃ è®° +éĴ± è´¢ +æĹ¥æĬ¥ è®°èĢħ +çĥŁ çģ« +èĥľ è´Ł +åįļ 主 +ä¸ŃåĽ½ èģĶéĢļ +ç½ijç«Ļ é¦ĸ页 +å°± å¤Ł +å°±å¤Ł äºĨ +æīij åħĭ +å±ħ å§Ķä¼ļ +è° ¬ +å®īåħ¨ äºĭæķħ +åķĨ çĶ¨è½¦ +循çݯ ç»ıæµİ +æ· ¤ +èĢĥ è¯ģ +å®Ŀ èĹı +å®Į ç»ĵ +çłĶåıij æĬķåħ¥ +å² ij +æģŃ æķ¬ +离 éĢĢä¼ij +æ°´ 墨 +å© ¶ +è¯Ĺ åı¥ +å®ģæ³¢ å¸Ĥ +å¼± çĤ¹ +åģľ çīĮ +奶 æ²¹ +å¥ĩ纳 æ²³ +æĨ Ĥ +社ä¼ļ å®ŀè·µ +è´Ŀ 壳 +çłĤ æµĨ +èι åıª +宣 æī¬ +综åIJĪ æķ´æ²» +åĤ ij +æ°ijæĹı æĸĩåĮĸ +éĩį çݰ +积 æ·Ģ +åħ¬ çĦ¶ +çħ ī +缸 èģļ +æ± ¾ +纹 çIJĨ +çĩĥ çħ¤ +æŃ¤ ç§į +ç¾İ å¦Ĩ +åįĥ çĵ¦ +çIJ Ľ +驾驶 è¯ģ +éĺ¶ æ¢¯ +ä¸Ŀ ä¸Ŀ +å¾Īå¤ļ äºĭæĥħ +åħī éĺ´ +èijĹä½ľ æ¬Ĭ +åħ§ éĥ¨ +çĽ¸å¯¹ æĿ¥è¯´ +éĸ Ĵ +éľĩ æħij +說 話 +æĨ ij +ç«¥ è£ħ +ä½ıæĪ¿ åĴĮ +ä½ıæĪ¿åĴĮ åŁİ +å·²ç»ı è¶ħè¿ĩ +侦 å¯Ł +çŁ¿ çī© +ä¾Ľ 大家 +çī¹ éĤĢ +ç¨ĭåºı åijĺ +çķľçī§ ä¸ļ +æ° ª +çij ª +åĢĴ åľ¨ +åĢĴåľ¨ åľ° +æ¯ Ģ +梯 éĺŁ +æİ¥ èijĹ +æĬĹ èıĮ +è¤ ĩ +ç¬ Ļ +æ¯Ķ ä¸Ĭå¹´ +鸡 汤 +åŃ¦ä¹ł æĪIJ绩 +æĸij æĸĵ +åħΠ坼 +åĪĹ ä¸¾ +è°ĥæŁ¥ æĺ¾ç¤º +æ© « +ä¹Ŀ åįģ +è°¢ 飵 +è·¨è¶Ĭ å¼ı +女æĢ§ æľĭåıĭ +èIJ¥åħ» ä»·å̼ +å®ŀè·µ ç»ıéªĮ +èĭı å·ŀå¸Ĥ +çĵ¶ åŃIJ +æĸ° çļĦä¸Ģ +æĸ°çļĦä¸Ģ å¹´ +æĺİ æĻ° +å®ł çα +åŃŠ第 +æľĹ 诵 +纳 æĸ¯ +éĢĨ è¡Į +è«ĭ æĤ¨ +è«ĭæĤ¨ æıIJä¾Ľ +èĥ¸ æĢĢ +第ä¸ĥ å±Ĭ +强 壮 +代 åŃķ +æ±¶ å·Ŀ +å®¶ åĸ» +å®¶åĸ» æĪ· +å®¶åĸ»æĪ· æĻĵ +èħ ® +åIJ¯ 迪 +æĹł éļľç¢į +èĻķçIJĨ åıĬ +æĿ¥ åİĨ +å®ŀ åĬ¡ +ä¹Ł éļıä¹ĭ +æĬĢèĥ½ åŁ¹è®Ń +åѤ ç«ĭ +åī ģ +éĥ´ å·ŀ +æĶ¶ æķĽ +éł» éģĵ +èᣠ幏 +èİ« è¿ĩäºİ +æŃ¤ æĻĤ +纪å§Ķ çĽij +纪å§ĶçĽij å§Ķ +缸 éĤ» +åı¦ä¸Ģ è¾¹ +çªĴ æģ¯ +æľīå¾Īå¤ļ ç§į +æ¯ı éĢ¢ +éĹ® ä¸ĸ +ç´¯ ç´¯ +éĿĴæĺ¥ æľŁ +è·¯ åĨµ +åħĭ èݱ +è¿Ħä»Ĭ 为æŃ¢ +æĥĬ å¥ĩ +è·¨ 度 +éħ¿ éĢł +åĩ ĭ +è¿ij ä¸īå¹´ +åĨħ 马 +åĨħ马 å°Ķ +æı į +è¿Ľå±ķ æĥħåĨµ +èĮ § +æľīåºı æİ¨è¿Ľ +æĢ» åĨłåĨĽ +æĪIJ绩 åįķ +éĽ»è©± åıĬ +ç´§å¯Ĩ ç»ĵåIJĪ +åºĬ ä½į +é¹ Ĭ +æķ£åıij çĿĢ +åĭŁ èµĦ +æ°¨ éħ¸ +彩 ç¥ŀ +è®Ģ åıĸ +éĩį æ¸© +ä¸Ń åŃĺåľ¨çļĦ +ç¾İ éºĹ +ä¸įæĸŃ å¢ŀåĬł +è½® æµģ +æİ¥ åIJ¬ +å¹´ 产å̼ +åįĥ åħĭ +æĪĺåľº ä¸Ĭ +çħ§ é¡§ +å¹²éĥ¨ éĺŁä¼į +åį° ç«ł +ä¸Ģèĩ´ æĢ§ +è¿ŀ å¤ľ +åħħ è£ķ +é»ij åIJįåįķ +åĩĢ æ°´ +ä¸Ģ大 æĹ© +åĮħ 袱 +çĬ¯ è§Ħ +çIJĨ è«ĸ +æŀģ æĺĵ +éª ¸ +å¨ĺ å¨ĺ +åĽ¢ åľĨ +亿åħĥ 以ä¸Ĭ +åĪ©ç͍ æĤ¨çļĦ +带æĿ¥ æĽ´å¤ļ +ä¸Ń央 空è°ĥ +æľĪ èĸª +çĮľ æĥ³ +åĪº 客 +ä½ľ æģ¯ +åįķ è°ĥ +äºĴ åĪ© +å¦Ĥæľī ä¾µæĿĥ +å°ı å·§ +åįģ åł° +åĵĪåĵĪ åĵĪåĵĪ +è¾¹ éĻħ +æłĩ è¯Ń +åĪĩåħ¥ çĤ¹ +éĢĨ è¢Ń +è¯ķ åīĤ +绿 è±Ĩ +è® ļ +åŁºçĿ£ å¾Ĵ +å£ ¬ +åħ¨ æĺİæĺŁ +éĢī ç§Ģ +èĪĮ å°ĸ +ä¸įåIJĮ ç±»åŀĭ +çĥŁ åĽ± +çģµ æ°Ķ +åĮº 管å§Ķä¼ļ +åĨľ åī¯ +åĨľåī¯ äº§åĵģ +èĶļ æĿ¥ +沪 æĮĩ +åħ»æ®ĸ æĪ· +æĸĹ å¿Ĺ +é¦ĸ é¢Ĩ +è¡Ģ èħ¥ +åĬł ç´§ +ä¸Ģèĩ´ 好è¯Ħ +第ä¸ī èĬĤ +æī¬ å°ĺ +交éĢļ æŀ¢çº½ +鼶 ç¢İ +é»ij æ´ŀ +çľĭ ä¸įæĩĤ +å±ŀ å®ŀ +主 åŁİåĮº +å¨ Ľ +å¨Ľ æ¨Ĥ +ç¬ij æĦı +èϹ æ¡¥ +åIJĦ个 çݯèĬĤ +çķ¥ å¾® +èĢķ èĢĺ +æľ¬ åľºæ¯ĶèµĽ +æĪIJ è´¥ +éĢī èĤ¡ +èªŀ è¨Ģ +çŃĶ è¾© +èĩª ä¹ł +æ£ º +ä¸ĩ 欧åħĥ +åģľ å·¥ +对åħ¶ è¿Ľè¡Į +积æŀģ éħįåIJĪ +ä¹¾ åĿ¤ +å¦ĸ æĢª +èļĮ åŁł +èµĦ产 è¯Ħä¼° +è°ĥ çļ® +éϤ å¤ķ +åĽ´ å¢Ļ +æľį å½¹ +æ·± æ¸Ĭ +é¢Ħ åζ +ç ĥ½ +å®ī 稳 +建 æŀĦ +çĭĻ åĩ» +主åĭķ 註åĨĬ +éĥ½æľī èĩªå·± +æİĴåIJį 第ä¸Ģ +麻 è¾£ +çĢ ļ +çĥŁèĬ± çĪĨ +çĥŁèĬ±çĪĨ 竹 +èĩªçĦ¶ ä¿ĿæĬ¤ +ä»Ļ å¢ĥ +为äºĨ éģ¿åħį +åĨ· åºĵ +è§£æĶ¾ æĢĿæĥ³ +åĪĿ äºĮ +ä½ĵ è´´ +é¦ĸ å¯Į +迪 æĭľ +æļĤ ç¼ĵ +æĶ¯æĮģ åĬĽåº¦ +侦 æİ¢ +马 åĪº +åĮĹ æ±½ +ç¹ ŀ +è°İ è¨Ģ +éĢ£ çºĮ +å· ³ +ä»»ä½ķ æĹ¶åĢĻ +车 èģĶç½ij +åįķ 项 +å¸Ń åį· +建çŃij æĿIJæĸĻ +ä¸Ńç§ĭ èĬĤ +ç¡ķ士 çłĶç©¶ +ç§ģ ç«ĭ +åħļåĴĮ æĶ¿åºľ +æľ¬æ¬¡ 交æĺĵ +èººåľ¨ åºĬä¸Ĭ +ç½ijåıĭ è¯Ħ论 +å¦ Ŀ +害 ç¾ŀ +åħ¬ç«ĭ åĮ»éĻ¢ +ä¸ ŀ +çĶŁçī© è´¨ +åºĶ éĤĢ +æĬ½ åıĸ +åĩł å¼ł +æijĺ ç¼ĸ +ç»ĺ æľ¬ +详 è§£ +强 硬 +æľĢ åħĪè¿ĽçļĦ +æĭĽ èĤ¡ +æĭĽèĤ¡ 书 +åįĥ æĸ¹ +åįĥæĸ¹ çϾ +åįĥæĸ¹çϾ 计 +éħį éŁ³ +驾 çħ§ +å¾ģ æĪĺ +èªĵ è¨Ģ +æĭľ å¸Ī +æĭľå¸Ī åѦ +æĭľå¸ĪåѦ èīº +æĬ± åĽ¢ +ç±³ ç²ī +éĿŀ常 éĢĤåIJĪ +èĪª æµ· +å±¥ 约 +åįģåħ« æĿ¡ +éĶ» éĢł +éĩįè¦ģ 举æİª +åıijæĮ¥ ä½ľç͍ +æ· ļ +人 社 +人社 å±Ģ +è¯ķçĤ¹ å·¥ä½ľ +éĺľ éĺ³ +æ¡ĥ åľĴ +æ°ij ä¼ģ +æ´ģ çϽ +è´µ 宾 +åħ¬ 社 +è§ī æĤŁ +è®°å¿Ĩ åĬĽ +æľĥåĵ¡ 註åĨĬ +æŃ¤ æ¡Ī +麻 çĹ¹ +çı Ģ +æĸ© èİ· +çĶ· åŃ©åŃIJ +å±ĢéĻIJ äºİ +åĭĺ æŁ¥ +åIJĥ 饱 +èĬ¬ åħ° +æ£ķ èī² +ç¦ı ç¥ī +çͳ èĬ± +æµ· çĽĹ +èĶ ij +æĸĩ åѸ +æ´»æĢ§ çĤŃ +缴 éĢļ车 +è°¢ éĤĢ +躺 çĿĢ +åľ ĥ +æ¯ıæĹ¥ ç»ıæµİ +åħ¬åħ± æĸĩåĮĸ +讲 æķħäºĭ +å¯Ł çľĭ +æĤł éĹ² +åľ° åĿª +æ¶Į çݰåĩº +é«ĺçŃī éĻ¢æł¡ +èĮĦ åŃIJ +éĺ² åį« +ä¾ĭ è¡Į +æĺ¾ éľ² +æĸ° 常æĢģ +ç»Ŀ ä½³ +å¯Į æ°ij +以 人æ°ij +以人æ°ij 为 +éĤ¢ åı° +å±ķ æ¼Ķ +çϼ å¸ĥ +è´Ł è½½ +åģı 离 +æ°¸ éģł +éĩįè¦ģ åİŁåĽł +åįıä¼ļ ä¼ļåijĺ +éļ¾ æ°ij +çĶŁäº§ 车éĹ´ +çģµ åĬ¨ +两年 åīį +æĸ¹ åľĨ +æ´» ä¸ĭåİ» +ä¸ĸçķĮ è§Ĥ +éªĹ åıĸ +ç¾İ è²Į +èĥ½ çľĭåĩº +çϼ æı® +è§Ĥ å½± +åī ĥ +åIJĪèµĦ åħ¬åı¸ +å© § +å¹² æĹ± +åħŃ ä¸ªæľĪ +尤为 éĩįè¦ģ +èĤ ½ +秦 åĽ½ +æīĺ ç¦ı +建çŃij å¸Ī +åįĩ级 æĶ¹éĢł +å°ı é¢Ŀ +å°ıé¢Ŀ 贷款 +两个 ç»´æĬ¤ +æĭį æĭį +åı¯ çĸij +æį¢ åıĸ +æŃ¦ 士 +èµĸ 以 +èµĸ以 çĶŁåŃĺ +æĮ ļ +殿 åłĤ +èĩªçĦ¶ çķĮ +ç£ģ åľº +å¦Ĥä½ķ çľĭå¾ħ +ä»ĬæĹ¥ 头æĿ¡ +西 åŁŁ +èİ· è¯Ħ +風 æł¼ +ä¿Ħ åĽ½ +æīĵ æĭ¼ +å®£ä¼ł çīĩ +å¾Ī æĸ¹ä¾¿ +ä¾Ľç»Ļ ä¾§ +纪念 ç¢ij +毫 åħĭ +èĬ³ é¦Ļ +å·¥åķĨ éĵ¶è¡Į +请 çĤ¹åĩ» +ç¼ ª +æĹłæķ° 次 +èᝠå¸Ī +èħ ¸ +游 èīĩ +åĮ ¾ +å·¡ èĪª +æ²»çIJĨ ä½ĵç³» +èIJ¥éĢł èī¯å¥½ +æ·· æ·Ĩ +éĢļ çķħ +åĬ³ ç´¯ +ä»ĵ ä½į +å¢ŀ éķ· +éļIJ 约 +æĿĤå¿Ĺ 社 +åħ» èĤ² +åı¯èĥ½ åıijçĶŁ +èĢĥ 試 +西 ä¾§ +åĬł åĢį +主æĮģ åı¬å¼Ģ +çķ¢ ç«Ł +éĹ® 询 +æµ· æ£ł +èĹ © +注æĺİ æĿ¥æºIJ +æ£Ģ çĸ« +请 åģĩ +æĬļ æij¸ +èĵĦ çĶµæ±ł +è·Ł ä¸įä¸Ĭ +çݰ代 社ä¼ļ +çѹ èµĦ +ä½ĵèĤ² 彩票 +å»¶ 误 +è¾Ľ è¾£ +éĿ¢ 容 +åį° è®° +çģŃ äº¡ +ç´ł é£Ł +åħ´ èĩ´ +éľĢè¦ģ ç͍ +éľĢè¦ģç͍ åΰ +å®Ŀ å¦Ī +ç£ĭ åķĨ +éļ¶ å±ŀ +è´¡çĮ® åĬĽéĩı +åħ¬åħ± èµĦæºIJ +大 éĺª +åĨĽ è®Ń +æĤ¬ 念 +社ä¼ļ 稳å®ļ +å¹²äºĭ åĪĽä¸ļ +æľī æĿ¡ä»¶ +æľīæĿ¡ä»¶ çļĦ +ä¸Ģå¹´ ä¸Ģ度 +åİ ¥ +强 奸 +豪 车 +æİĮ æŁľ +æ°´åĪ© å·¥ç¨ĭ +å³ ª +积æŀģ ä½ľç͍ +æµ· æ·Ģ +æµ·æ·Ģ åĮº +çĥŃ æĴŃ +åĿļæĮģ ä¸įæĩĪ +åıĮ èĦļ +绣 æĪĺ +ä»»ä½ķ 人éĥ½ +åľ°ä¸ĭ 室 +åĨ¶ çĤ¼ +è°ħ è§£ +æ¸Ķ èι +太éĺ³ åŁİ +被 æįķ +计ç®Ĺ åύ +西 åĮ» +èĪĴ å¿ĥ +æ¡ ¦ +éģ ² +åĬ ij +è¨ Ĺ +èİ º +åĸ ¬ +çĵ ¯ +åĺ ĺ +åł ķ +æķ Ŀ +åij ¦ +èĭ ŀ +æŃ ¹ +æĵ ¬ +æ£ Ħ +èĪ µ +å¥ ª +çļ ĭ +æĶ ¸ +åľ © +ç¤ Ļ +ç¢ ĺ +éı Ī +æĦ ķ +ç¹ ³ +èĺ ¸ +è² Ĥ +æ¼ ² +æij ¹ +æĶ Ŀ +åŃ ¢ +èķ Ń +é¨ ° +æ½ ¼ +éħ ° +æĴ ¥ +è¹ ¬ +é¨ Ļ +è¸ ¹ +éģ IJ +çĺ Ģ +èĽ ¤ +æĤ ĸ +çĴ ŀ +ç£ IJ +æİ ° +è¾ Ĭ +å¾ ij +æİ ĸ +éģ ŀ +éĤ ¸ +éĽ ı +æĨ İ +æľ ½ +çį » +ç® Ķ +è¤ ¶ +æļ ¢ +æĺ µ +çı Ĥ +æĤ ¸ +åģ µ +åĻ ľ +å£ ¯ +æĴ ® +æģ į +å© ķ +ç¯ ± +éĺ Ļ +çī ł +è£ ĺ +è³ ¢ +éĩ ľ +éĵ ł +èİ ĺ +æ® Ĩ +çĻ ¸ +è´ ı +ç² ± +å« ¡ +åĨ ¢ +è¤ Ĵ +æĩ Ĭ +éľ ĵ +å¡ µ +æĭ £ +å» Ł +é£ ½ +é¢ Į +åļ İ +æ· º +èĨ ł +åİ Ń +åļ ĩ +åij ĥ +çĴ ĭ +çŃ ± +æĭ · +èį § +éĶ ° +åŃ ° +èĵ ĵ +èĨ ½ +æŀ ī +åĸ ½ +çĽ Ķ +çŃ IJ +ç¾ ļ +è ħĮ +è¾ « +æ³ ĵ +çĶ ¬ +èŁ ² +åĸ ª +å¦ ĵ +è¬ Ģ +çĤ Ĭ +æĽ ľ +æ± IJ +è´ Ī +èį Ģ +æĬ ł +ç¢ ¾ +æ« ĥ +éŀ ł +èij Ĩ +ç¥ ¯ +å½ Ŀ +é¦ į +åĮ £ +æľ Ń +åĿ Ĥ +ä¿ ij +èĵ ® +çij Ľ +æī ī +èĩ Ł +è² « +çİ ¥ +æ· ¼ +åİ ² +é³ Į +å³ Ń +åij Ľ +é § +é§ IJ +éģ · +ä¿ ª +æĢ Ĥ +è¾ į +å± į +åĭ ģ +å¥ ļ +éļ ħ +éĴ ´ +è¼ Ŀ +å® ¦ +èIJ ĥ +çĺ ĭ +æĨ ¶ +æĤ ħ +è¾ Ļ +åij ľ +çł º +éĢ ŀ +æµ ļ +éĸ £ +èĸ © +éĻ ĭ +çĤ Ļ +èª ķ +ä¸ Ł +é¹ ½ +ç± Į +è´ ° +éĭ ª +çľ © +æĴ IJ +èĨ º +éŀ ĺ +ç¾ ² +çª ® +ç´ IJ +æ® ´ +çº ¾ +èº į +ç´ ĭ +çĦ ĸ +çĶ º +çī ½ +çĤ ¯ +ç¼ Ķ +æ¯ ĵ +å¬ ° +æ¢ § +äº Ł +è¢ ħ +çį Ħ +è¿ ¥ +æ¼ ¾ +çĿ ij +ç¸ ¾ +é¦ ĭ +é¤ ħ +æ ¹Ħ +æĺ ĩ +æŀ Ń +èĸ ° +æŁ ij +æ¦ » +åĻ Ĺ +åĻ ´ +æ£ £ +åĶ § +çĨ ¹ +è¼ ¯ +å¢ Ł +é² ² +æĪ Ľ +èī ¦ +èĬ ® +åĺ Ł +å¸ ¥ +å¿ » +çĮ Ŀ +å¯ µ +è³ ¦ +èĽ ¾ +æ» ¾ +çĤ ķ +éĵ ¬ +èĴ ¿ +éĴ ¨ +çĥ Ļ +ç² ķ +æĥ ¦ +æº § +é¢ į +éħ £ +å³ ¦ +ç± ģ +çĥ ĥ +åĨ Ĺ +åı ģ +çĽ § +ç½ µ +éĴ Ĺ +å¬ ī +è° ı +ç³ § +è¾ Ń +æ· ¬ +èŁ Ĵ +è¯ © +è¦ ĥ +çĻ ĸ +é½ Ĵ +çĪ IJ +ç® į +ç¼ İ +ç£ º +è¯ « +è¤ ² +æĵ ł +èIJ ¦ +çĿ ¬ +è° į +éĦ ° +æł ¾ +é¡ ı +ç¸ ± +æ¡ ¨ +éĨ ¬ +è¥ ² +è® ª +å© º +èį Ł +åĮ Ŀ +çĨ ł +èĽ Ĭ +æ¸ ļ +å´ ½ +é² ¤ +åķ ° +åĮ ķ +ä¸ IJ +è® ¥ +åı ½ +åı ¼ +çļ ¿ +è¿ Ĥ +åIJ Ĩ +å± ¹ +èĩ ¼ +è® ¹ +é© ® +çº « +æ± ŀ +æĬ ¡ +èĭ ĩ +åIJ ł +åIJ Ń +åIJ ® +å² ĸ +ä½ ĥ +çĭ Ī +åº ĩ +åIJ Ŀ +éĹ ° +æ± ¹ +å¿ ± +æĭ Ħ +æĭ Ĺ +èĮ ī +èĭ Ľ +èĮ ģ +çŁ ¾ +èĻ ı +åij » +åĴ Ħ +å¿ ¿ +èĤ ® +çĭ ŀ +çĸ Ł +çĸ Ļ +çĸ ļ +æ³ ŀ +å¸ ļ +å± ī +è¿ ¢ +é© ¹ +ç İ· +çıĬ ó +çıĬó ł +çıĬół Ħ +çıĬółĦ ģ +æĮ İ +æĭ ´ +åŀ Ľ +èį ¤ +æ® ĥ +çĽ ¹ +åĵ Ĩ +è´ » +æ¯ ¡ +çĭ ° +çĭ ¡ +æŁ Ĵ +æģ ĥ +è¯ ¬ +è¢ Ħ +è¯ ² +èļ ¤ +èĢ Ļ +åŁ Ĥ +æį İ +æį Į +æ¢ Ĩ +é ħĮ +çł ¾ +æ® ī +åĶ ł +æĻ Į +èļ £ +èļ ª +èļ ĵ +é¸ ¯ +åĶ ģ +åĶ Ĩ +åĢ Ķ +èĪ Ģ +è± º +èĥ ° +é¸ µ +é¸ ³ +é¦ ģ +ç¾ Ķ +æ¶ £ +æ¶ ķ +æĤ ¯ +è¯ ½ +è° Ĩ +ç¥ Ł +ç» ¢ +æį º +æį ¶ +æį » +æİ Ĥ +èı ł +èIJ ¤ +éħ Ĺ +çľ ¶ +åķ Ħ +èļ ¯ +èĽ Ģ +åĶ ¬ +å¸ · +éĵ IJ +éĵ Ľ +åģ İ +å¾ Ļ +èĦ ¯ +è± ļ +çĮ ĸ +çĹ Ĭ +æ¶ ® +æĥ Ń +æĤ ´ +æĥ ĭ +è° ļ +æı © +æIJ Ģ +æIJ Ķ +æ¦ Ķ +æ¤ Ń +éĽ ³ +åĸ ³ +è· Ľ +èľ ĵ +èľ Ĵ +é¹ ĥ +éĶ Ħ +çĶ ¥ +çŃ ı +çĮ © +çĮ ¬ +çĮ ¾ +çĹ ¢ +çĹ ª +æĥ ° +çª ĺ +è° ¤ +éļ ĺ +å© ¿ +é¹ ī +çij Ļ +æĸ Ł +æ¤ ¿ +éħ ª +éĽ ¹ +åĹ ¦ +è· · +è· º +è· ¤ +èľ Ī +èľ Ĺ +å¹ Į +é¦ ı +èª Ĭ +æ¼ ĵ +è¤ Ĥ +èĶ Ĺ +èĶ ¼ +åħ ¢ +è£ ³ +èľ » +èĿ ĩ +åĺ Ģ +éĶ ¹ +ç® ķ +ç® © +çĺ © +çĺ Ł +æ¼ ± +å¯ ¥ +éª ¡ +æĴ µ +æĴ ¬ +è± Į +åĺ ¹ +èĿ ł +èĿ Į +èĿ Ĺ +èĿ Ļ +éķ IJ +ç¨ ¼ +ç¯ ĵ +èĨ Ľ +é² « +çĺ ª +é² ¨ +æĨ Ķ +ç¿ © +è¤ ¥ +ç¼ Ń +åĻ © +çĵ ¢ +éľ İ +è¸ ± +è¹ Ĥ +èŁ Ĩ +é¹ ¦ +ç¯ ¡ +çĺ ¸ +çª ¿ +ç¼ ° +èĹ IJ +è¹ ĭ +èŁ ĭ +èŁ Ģ +èµ ¡ +èĩ Ĭ +é³ Ħ +ç³ ł +æĩ ¦ +åļ £ +éķ ° +é³ į +ç° ¸ +çĻ £ +é³ ĸ +é¬ ĵ +èł ķ +éľ ¹ +èº ı +é» ¯ +çĵ ¤ +çŁ Ĺ +ä¹ Ĥ +ä¹ ľ +åħ Ģ +å¼ ĭ +åŃ ij +åŃ ĵ +å¹ º +äº ĵ +å »¿ +ä¸ ı +åį ħ +ä» ĥ +ä» ī +ä» Ĥ +åĪ Ī +çĪ » +åį ŀ +éĹ © +è® £ +å¤ ¬ +çĪ ¿ +æ¯ ĭ +éĤ Ĺ +éĤ Ľ +èī ½ +èī ¿ +åı µ +ä¸ ķ +åĮ ľ +åĬ ¢ +åį Ł +åı ± +åı » +ä» ¨ +ä» Ł +ä» ¡ +ä» « +ä» ŀ +åį ® +æ° IJ +çĬ ° +åĪ į +éĤ Ŀ +éĤ Ļ +è® ¦ +è® § +è® « +å° » +éĺ ¡ +å° ķ +å¼ ģ +èĢ Ĵ +çİ İ +çİ ij +åľ ¬ +æī ¦ +åľ ª +åľ ¹ +æī ª +åľ ® +åľ ¯ +èĬ Ĭ +èĬ į +èĬ Ħ +èĬ ¨ +èĬ ij +èĬ İ +èĬ Ĺ +äº ĺ +åİ į +å¤ ¼ +æĪ į +å° ¥ +ä¹ © +æĹ ¯ +æĽ ³ +å² Į +å± º +åĩ ¼ +åĽ ¡ +éĴ ĩ +ç¼ ¶ +æ° ĺ +æ° ĸ +çī Ŀ +ä¼ İ +ä¼ Ľ +ä¼ ¢ +ä½ ¤ +ä» µ +ä¼ ¥ +ä¼ § +ä¼ ī +ä¼ « +åĽ Ł +æ± Ĩ +åĪ ĸ +å¤ Ļ +æĹ ® +åĪ İ +çĬ · +çĬ ¸ +èĪ Ľ +åĩ « +é Ĥ¬ +é¥ § +æ± Ķ +æ± ľ +æ± Ĭ +å¿ ĸ +å¿ ı +è® ´ +è® µ +è® · +èģ ¿ +èī ® +åİ ¾ +å¦ ģ +çº ¡ +çº £ +çº ¥ +çº ¨ +çİ ķ +çİ Ļ +æĬ Ł +æĬ Ķ +åľ » +åĿ į +æĬ ĥ +ã§ IJ +èĬ « +èĬ ¾ +èĭ Ī +èĭ £ +èĭ ĭ +èĬ ¼ +èĭ Į +èĭ ģ +èĬ © +èĬ ª +èĬ ¡ +èĬ Ł +èĭ Ħ +èĭ İ +èĭ ¡ +æĿ Į +æĿ ĵ +æĿ Ī +å¿ ij +åŃ Ľ +éĤ ´ +éĤ ³ +å¥ ģ +è± ķ +å¿ Ĵ +æ¬ ¤ +è½ « +è¿ ĵ +éĤ ¶ +å¿ IJ +åį £ +éĤ º +æĹ ° +åij ĭ +åij Ĵ +åij ĵ +åij Ķ +åij ĸ +æĹ ¸ +åIJ ¡ +èĻ ¬ +åIJ ½ +åIJ £ +åIJ ² +å¸ ı +å² Ī +å² ĺ +åħ ķ +åĽ µ +åĽ « +éĴ Ĭ +éĴ ĭ +é ĴĮ +è¿ ķ +æ° Ļ +æ° ļ +çī ¤ +ä½ ŀ +ä½ ļ +ä½ Ŀ +ä½ Ĺ +å½ · +ä½ ĺ +ä½ ¥ +è± ¸ +åĿ Į +èĤ Ł +å¥ Ĥ +åĬ ¬ +çĭ ģ +é¸ ł +é¥ ¨ +é¥ © +é¥ « +é¥ ¬ +åº ij +åº ĭ +çĸ Ķ +çĸ ĸ +èĤ ĵ +éĹ ± +éĹ ³ +çĤ Ģ +æ² £ +æ² ħ +æ² Ķ +æ² ¤ +æ² ı +æ² ļ +æ± © +æ± ¨ +æ² ¨ +æ± ´ +æ² Ĩ +æ² © +æ³ IJ +æĢ ĥ +æĢ Ħ +å¿ ¡ +å¿ ¤ +å¿ ¾ +æĢ ħ +å¿ ª +æĢ Ĩ +å¿ Ń +å¿ ¸ +è¯ Ĥ +è¯ ĥ +è¯ ħ +è¯ ĭ +è¯ Į +è¯ Ĵ +éĻ Ĥ +éĻ ī +å¦ © +å¦ ª +å¦ £ +å¦ Ĺ +å¦ « +å§ Ĵ +å¦ ¤ +åĬ Ń +åĪ Ń +éĤ ° +çº Ń +çº ° +çº ´ +çİ ¡ +çİ Ń +çİ ł +çİ ¢ +çİ ¦ +çĽ Ĥ +å¿ Ŀ +åĮ ¦ +åĿ © +æĬ ¨ +æĭ ¤ +åĿ « +æĭ Ī +åŀ Ĩ +æĬ » +åĬ ¼ +æĭ ĥ +æĭ Ĭ +åĿ ¼ +åĿ » +ã§ Ł +åĿ ¨ +åĿ Ń +æĬ ¿ +åĿ ³ +èĭ · +èĭ ¤ +èĮ ı +èĭ « +èĭ ľ +èĭ ´ +èĭ Ĵ +èĭ ĺ +èĮ Į +èĭ » +èĭ ĵ +èĮ ļ +èĮ Ĩ +èĮ ij +èĮ ĵ +èĮ Ķ +èĮ ķ +è ĮĢ +èĭ ķ +æŀ ¥ +æŀ ĩ +æĿ ª +æĿ ³ +æŀ § +æĿ µ +æŀ ¨ +æŀ ŀ +æŀ ĭ +æĿ » +æĿ · +æĿ ¼ +çŁ ¸ +ç łĢ +åĪ ³ +å¥ Ħ +æ® ģ +éĥ ı +è½ Ń +éĥ ħ +é¸ ¢ +çĽ ± +æĺ Ļ +æĿ ² +æĺ ĥ +åĴ Ĥ +åij ¸ +æĺ Ģ +æĹ » +æĺ ī +çĤ ħ +çķ Ģ +èĻ ® +åĴ Ģ +åij · +é» ¾ +åij ± +åij ¤ +åĴ Ĩ +åĴ Ľ +åij ¶ +åij £ +åĴ Ŀ +å² ¢ +å² ¿ +å² ¬ +å² « +å¸ Ļ +å² £ +å³ ģ +åĪ ¿ +å² · +åī Ģ +å¸ Ķ +å³ Ħ +æ² ĵ +åĽ ¹ +ç½ Ķ +éĴ į +éĴ İ +éĴ ı +éĴ Ĵ +éĴ ķ +éĤ ¾ +è¿ ® +çī ¦ +ç« º +è¿ ¤ +ä½ ¶ +ä¾ ij +ä¾ ī +èĩ ¾ +ä¾ Ĺ +ä¾ ı +ä¾ © +ä½ » +ä½ ¾ +ä¾ ª +ä½ ¼ +ä½ ¯ +ä¾ ¬ +å¸ Ľ +ä¾ Ķ +å¾ Ĥ +åĪ ½ +éĥ Ħ +ç± ´ +çĵ ® +æĪ Ĺ +èĤ ¼ +äı Ŀ +èĤ ± +èĤ « +è¿ © +éĥ ĩ +çĭ İ +çĭ į +çĭ Ĵ +åĴ İ +é¥ ¯ +é¥ ´ +åĨ ½ +åĨ ¼ +åº ĸ +çĸ ł +çĸ Ŀ +åħ ĸ +åĬ ¾ +ð¬ ī +ð¬ī ¼ +çĤ ĺ +çĤ Ŀ +çĤ Ķ +æ³ Ķ +æ² Ń +æ³ · +æ³ ± +æ³ ħ +æ³ ł +æ³ º +æ³ ĸ +æ³ « +æ³ ® +æ² ± +æ³ ¯ +æĢ Ļ +æĢ µ +æĢ ¦ +æĢ Ľ +æĢ ı +æĢ į +ã ¤ +㤠ĺ +æĢ © +æĢ « +æĢ ¿ +å® ķ +ç© ¹ +å® ĵ +è¯ ĵ +è¯ Ķ +è¯ ĸ +è¯ ĺ +æĪ ¾ +è¯ Ļ +æĪ ½ +éĥ ĵ +è¡ © +ç¥ Ĩ +ç¥ İ +ç¥ ĩ +è¯ ľ +è¯ Ł +è¯ £ +è¯ ¤ +è¯ § +è¯ ¨ +æĪ ķ +éĻ Ķ +å¦ ² +å¦ ¯ +å§ Ĺ +å¸ ij +åŃ ¥ +é© ½ +èĻ ± +è¿ ¨ +ç» Ģ +ç» ģ +ç» Ĥ +é© · +é© ¸ +ç» ī +ç» Į +éª Ģ +çĶ ¾ +çı ı +çı IJ +çı ij +çİ ³ +é¡ ¸ +çı ī +çı Ī +æĭ ® +åŀ Ń +æĮ Ŀ +æĮ ŀ +åŀ ¤ +èµ ³ +è´ ² +åŀ ± +åŀ Į +åŀ § +åŀ ĵ +æĮ ¦ +åŀ ł +èį ļ +èį ij +è´ ³ +èį ľ +èİ Ĵ +èĮ ¼ +èĮ ´ +èĮ ± +èİ Ľ +èį ŀ +èĮ ¯ +èį ı +èį ĩ +èį ĥ +èį ł +èĮ Ń +åŀ © +èį ¥ +èį ¦ +èį ¨ +èį © +åī ĭ +èį ª +èį ¬ +èį ® +æŁ ° +æł ī +æŁ ĺ +æł Ĭ +æŁ © +æŀ ° +æł Į +æŁ Ļ +æŀ µ +æŀ ³ +æŁ ŀ +æŁ Ŀ +æł Ģ +æŁ ¢ +æł İ +æŁ Ī +æŁ ģ +æŀ · +æŁ ½ +åī Į +éħ Ĭ +éĥ ¦ +çĶ Ń +çł Ĺ +çł ĺ +çł Ĵ +æĸ « +çł Ń +çł ľ +èĢ · +èĻ º +æ® Ĥ +æ® ĩ +æ® Ħ +è½ ± +è½ ² +è½ ³ +è½ ¶ +è½ ¸ +èĻ ¿ +æ¯ ĸ +è§ ĩ +å° ľ +åĵ IJ +çľ Ħ +çľ į +ðł ³ +ðł³ IJ +éĥ ¢ +çľ ĩ +çľ Ĭ +çľ Ī +ç¦ º +åĵ Ĥ +åĴ ´ +æĽ · +æĺ ´ +åĴ ¦ +åĵ ĵ +åĵ Ķ +çķ İ +åij ² +èĥ Ħ +çķ ĭ +çķ Ī +èĻ ¼ +èĻ » +çĽ ħ +åĴ £ +åĵ ķ +åī IJ +éĥ § +åĴ » +åĽ ¿ +åĴ ¿ +åĵ Į +åĵ Ļ +åĵ ļ +åĴ © +åĴ ¤ +åĵ Ŀ +åĵ ı +åĵ ŀ +å³ £ +ç½ ĺ +å³ Ĵ +å³ ¤ +å³ ĭ +è´ ¶ +éĴ ļ +éĴ ¡ +éĴ £ +éĴ ¤ +éĴ « +æ° ¡ +çī ¯ +éĥ ľ +ç§ ķ +ç§ Ń +ç« ½ +ç¬ Ī +ä¿ ¦ +ä¿ ¨ +ä¿ ħ +åı Ł +åŀ ¡ +çī ® +ä¿ £ +ä¿ ļ +çļ Ī +ä¿ Ł +éĢ ħ +å¾ ĩ +å¾ ī +èĪ ¢ +éĥ Ĺ +ä¿ İ +éĥ ¤ +çĪ ° +éĥ Ľ +çĵ ´ +èĥ ¨ +èĥ ª +èĥ Ľ +èĥ Ĥ +èĥ Ļ +èĥ į +èĥ Ĺ +è ĥĿ +æľ IJ +èĥ « +é¸ ¨ +åĮ į +çĭ ¨ +çĭ ¯ +é£ ij +çĭ © +çĭ ² +è¨ ĩ +éĢ Ħ +æĺ Ŀ +é¥ · +é¥ ¸ +é¥ ¹ +åŃ ª +å¨ Ī +åº ¥ +çĸ ¬ +çĸ £ +çĸ ¥ +çĸ Ń +åº ł +ç« ij +é£ Ĵ +éĹ ¼ +éĹ ¾ +éĹ ¿ +éĺ Ĥ +ç¾ ij +è¿ ¸ +ç± ¼ +éħ ĭ +çĤ » +çĥ Ģ +çĤ · +æ´ ± +æ´ ¹ +æ´ § +æ´ Į +æµ ĥ +æ´ ĩ +æ´ Ħ +æ´ Ļ +æ¶ İ +æ´ İ +æ´ « +æµ į +æ´ ® +æ´ µ +æµ Ĵ +æµ Ķ +æµ ķ +æ´ ³ +æģ ¸ +æģ ĵ +æģ ¹ +æģ « +æģ » +æģ Ĥ +æģ ª +æģ ½ +å® ¥ +æī ĥ +è¡ ² +è¡ ½ +è¡ ¿ +è¢ Ĥ +ç¥ ľ +ç¥ ĵ +ç¥ ļ +è¯ ® +ç¥ Ĺ +ç¥ ¢ +è¯ ° +è¯ ³ +é¸ © +æĺ ¶ +åĴ « +å¼ Ń +çī ģ +èĥ ¥ +éĻ Ł +å§ ® +å¨ Ĩ +å§ Ŀ +å§ £ +å§ ĺ +å§ ¹ +ç¾ ¿ +çĤ ± +çŁ ľ +ç» Ķ +éª ģ +éª ħ +ç» Ĺ +ç» Ľ +éª Ī +èĢ ĸ +æĮ Ī +çı ¥ +çı Ļ +é¡ ¼ +çı ° +çı © +çı § +çı £ +çı ŀ +çIJ ¤ +çı ² +æģ ļ +åŁ ķ +åŁ ĺ +åŁ Ļ +åŁ ļ +æĮ ¹ +èĢ Ĩ +èĢ Ħ +åŁ Ĵ +æį ĭ +è´ ½ +åŀ ¸ +æį ĥ +çĽ į +èį ¸ +èİ ³ +èİ ´ +èİ ª +èİ ł +èİ ľ +èİ ħ +èį ¼ +èİ © +èį ½ +èİ ¸ +èį » +èİ ¨ +é¸ ª +èİ ¼ +æł ² +æł ³ +æ¡ ¡ +æ¡ İ +æ¡ ¢ +æ¡ ¤ +æ¢ ĥ +æł Ŀ +æ¡ ķ +æ¡ ģ +æ¡ § +æ¡ ħ +æł Ł +æ¡ ī +æł © +éĢ ij +éĢ ĭ +å½ § +é¬ ² +è± ĩ +éħ IJ +éĢ ¦ +åİ Ŀ +åŃ ¬ +çł Ŀ +çł ¹ +çł § +çł · +çł Ł +çł ¼ +çł ¥ +çł £ +åī ŀ +çł » +è½ ¼ +è½ ¾ +è¾ Ĥ +é¸ « +è¶ ¸ +é¾ Ģ +é¸ ¬ +èĻ Ķ +çľ ¬ +åĶ Ľ +çľ Ļ +åĵ § +åĵ ½ +æĻ ģ +é¸ ® +è¶ µ +è¶ ¿ +çķ Ľ +èļ ¨ +èļ ľ +èļ į +èļ ĭ +èļ ¬ +èļ Ŀ +èļ § +åĶ ¢ +åľ Ħ +åĶ £ +åĶ ı +çĽ İ +åĶ ij +å´ Ĥ +å´ ĥ +ç½ ¡ +ç½ Ł +è§ Ĭ +èµ ħ +éĴ ² +éĴ µ +éĴ ¹ +éĴ º +éĴ ½ +éĴ ¼ +éĴ ¿ +éĵ Ģ +éĵ Ħ +éĵ Ĩ +éĵ Ī +éĵ ī +éĵ Ĭ +éĵ ĭ +éĵ Į +é ĵį +ä ¥ +ä¥ ½ +éĵ İ +æ° © +æ° ¤ +æ° ¦ +æ¯ ª +èĪ IJ +ç§ £ +ç§ « +çĽ ī +ç¬ Ħ +ç¬ ķ +ç¬ Ĭ +ç¬ ı +ç¬ Ĩ +ä¿ ¸ +ä¿ µ +åģ Į +ä¿ ³ +ä¿ ¶ +åĢ ¬ +åĢ ı +æģ ģ +åĢ Ń +ä¿ ¾ +åĢ ľ +éļ ¼ +éļ ½ +åĢ Į +åĢ ¥ +èĩ ¬ +éĥ « +åĢ ¨ +è¡ Ħ +é¢ Ģ +å¾ ķ +èĪ « +è¡ ¾ +èĥ ¯ +èĥ ± +èĥ ´ +èĥ Ń +èĦ į +èĥ ¼ +èĦ Ĵ +é¸ ± +é¸ ² +çĭ · +çĮ ģ +çĭ ³ +çĮ ĥ +çĭ º +éĢ ĸ +æ¡ Ģ +é¥ ½ +åĩ ĩ +æĮ Ľ +äº ³ +çĸ ³ +çĸ ´ +çĸ ¸ +çĸ ½ +çĹ Ī +çĸ ± +çĹ Ĥ +çĹ ī +è¡ ® +é¢ ĥ +æģ £ +æĹ Ĩ +æĹ Ħ +æĹ ĥ +éĺ ĥ +éĺ Ħ +è¨ ļ +éĺ Ĩ +æģ Ļ +ç² ij +çĥ ľ +çĥ © +çĥ Ĭ +åī ¡ +éĥ ¯ +çĥ ¬ +æ¶ ij +æµ ¯ +æ¶ ŀ +æ¶ Ł +å¨ ij +æ¶ ł +æµ ŀ +æ¶ ĵ +æµ ¥ +æ¶ Ķ +æµ ľ +æµ ł +æµ £ +æĤ ļ +æ ĤŃ +æĤ Ŀ +æĤ Ĵ +æĤ Į +æĤ Ľ +çª Ī +åī ľ +è¯ ¹ +è¯ ¼ +è¢ Ĵ +è¢ ¢ +è¯ ¿ +è° Ģ +è° Ĥ +è° Ħ +è° ĩ +å± IJ +å± Ļ +éĻ ¬ +åĭ IJ +å¥ ĺ +çī Ĥ +èļ © +éĻ ² +å¨ Į +å¨ ī +å¨ ² +å¨ ´ +å¨ £ +å¨ ĵ +å© Ģ +çķ ļ +éĢ ¡ +ç» ł +éª Ĭ +ç» ¡ +éª ĭ +ç» ¦ +ç» ¨ +éª İ +éĤ ķ +é¸ ¶ +å½ Ĺ +èĢ ľ +çĦ ĺ +èĪ Ĥ +çIJ ı +çIJ ĩ +éº ¸ +æı ¶ +åŁ ´ +åŁ ¯ +æį ¯ +æİ ³ +æİ ´ +åŁ ¸ +åŁ µ +èµ § +åŁ ¤ +æį Ń +éĢ µ +åŁ Ŀ +åł ĭ +åł į +æİ ¬ +é¸ · +æį ½ +æİ Ĭ +åł ī +æİ ¸ +æį © +æİ ® +æĤ « +åŁ Ń +åŁ ½ +æİ ĩ +æİ ¼ +èģ ĥ +èIJ ģ +èı ĺ +åł ĩ +èIJ ĺ +èIJ ĭ +èı ½ +èı ĸ +è IJľ +èIJ ¸ +èIJ ij +æ£ » +èı Ķ +èı Ł +èIJ ı +èı ¹ +èı ª +èı ħ +èı Ģ +èı ° +èı ¡ +æ¢ ¿ +æ¢ ı +è§ ĭ +æ¡ ´ +æ¡ · +æ£ ģ +æ¡ « +æ£ Ĥ +åķ ¬ +éĥ ¾ +æķ ķ +è± ī +éĦ Ħ +éħ ŀ +ç¡ İ +ç¡ Ń +ç¡ ĸ +ç¡ Ĺ +ç¡ IJ +ç¡ ĩ +ç¡ Į +é¸ ¸ +çĵ ł +åĮ ı +åİ © +æ® Ĵ +æ® ĵ +æ® į +èµ ī +éĽ © +è¾ Ħ +åł ij +çľ Ń +çľ ¦ +åķ § +æĻ ¡ +æĻ ¤ +çľ µ +åľ Ĭ +åĸ ı +åķ ī +åĭ ĸ +æĻ ŀ +åĶ µ +æĻ Ĺ +åķ Ń +çķ ¦ +è¶ º +åķ ® +è· Ħ +èļ ¶ +è ĽĦ +èĽ İ +èĽ Ĩ +èļ ° +åľ ī +èļ ± +èĽ ī +èĽ ı +èļ ´ +åķ ģ +åķ ķ +åĶ ¿ +åķ IJ +åĶ ¼ +åĶ · +åķ ĸ +åķ µ +åķ ¶ +åķ · +åĶ ³ +åĶ ° +åķ ľ +å¸ » +å´ ļ +å´ ¦ +å¸ ¼ +å´ ® +å´ ¤ +å´ Ĩ +èµ ĩ +èµ Ī +èµ Ĭ +éĵ ij +éĵ Ĵ +éĵ Ĺ +éĵ Ļ +éĵ Ł +éĵ ¡ +éĵ ¢ +éĵ £ +éĵ ¤ +éĵ § +éĵ ¨ +éĵ © +éĵ ª +éĵ « +éĵ ¯ +éĵ ° +éĵ ± +éĵ ³ +éĵ µ +éĵ · +çī ¾ +é¸ ¹ +ç§ ¾ +éĢ ¶ +ç¬ º +çŃ ĩ +ç¬ ¸ +ç¬ ª +ç¬ ® +ç¬ ł +ç¬ ¥ +ç¬ ¤ +ç¬ ³ +ç¬ ¾ +ç¬ ŀ +åģ ¾ +åģ ĥ +åģ ķ +åģ Ī +åĤ Ģ +åģ ¬ +åģ » +çļ ij +çļ İ +é¸ » +å¾ ľ +èĪ ¸ +èĪ » +èĪ ´ +èĪ · +é¾ Ľ +ç¿ İ +èĦ ¬ +èĦ ĺ +èĦ ² +åĮ IJ +çĮ Ĺ +çĮ ¡ +çĮ ŀ +æĸ Ľ +çĮ ķ +é¦ Ĺ +é¦ ĥ +é¦ Ħ +é¸ ¾ +åº ¹ +åº ¾ +çĹ Ķ +çĹ į +ç¿ Ĭ +æĹ Į +æĹ İ +è¢ ¤ +éĺ ĩ +éĺ Ī +éĺ ī +éĺ Ĭ +éĺ ĭ +éĺ į +éĺ ı +ç¾ Ł +ç² Ŀ +çĦ IJ +çĦ ĵ +çĦ Ĺ +æ· ħ +æ· ŀ +æ¸ İ +æ¶ ¿ +æ· ĸ +æĮ ² +æ· ł +æ¶ ¸ +æ¸ ij +æ· ¦ +æ· Ŀ +æ¶ ª +æ· Ļ +æ¶ « +æ¸ Į +æĤ » +æĤ ± +æ ĥĿ +æĥ ĺ +æĥ Ĩ +æĥ ļ +æĥ ĩ +æĥ ® +çª ķ +è° Į +æī Ī +çļ ² +è° ij +è£ Ĩ +è¢ · +è£ ī +è° Ĵ +è° Ķ +è° ķ +è° ĸ +è° Ĺ +è° Ļ +è° Ŀ +éĢ ¯ +éĥ ¿ +éļ Ī +ç² ľ +éļ į +éļ Ĺ +å© Ĭ +å¨ ¼ +å© ¢ +å© µ +èĥ ¬ +è¢ Ī +ç¿ Į +æģ ¿ +æ¬ ¸ +ç» « +éª IJ +ç» ¯ +ç» ± +éª Ĵ +ç» ² +éª ĵ +ç» ¶ +ç» º +ç» » +ç» ¾ +éª ĸ +ç¼ ģ +èĢ ł +çIJ « +çIJ µ +çIJ ¶ +çIJ ¥ +çIJ ¨ +çIJ ° +çIJ ® +çIJ ¯ +çIJ ¬ +çIJ ļ +è¾ ĩ +é¼ ĭ +æı ³ +åł ŀ +æIJ ½ +æı ¸ +æı ł +åł Ļ +è¶ Ħ +æı ĸ +é¢ ī +å¡ Ħ +æı ¿ +èĢ ĭ +æı Ħ +èĽ © +èĽ ° +å¡ Ĩ +æij Ĵ +æı Ĩ +æİ ¾ +èģ Ĵ +èij ij +èij ļ +éĿ ° +éĿ ¸ +èij ³ +èij º +èij ¸ +èIJ ¼ +èij ¶ +è ĴĮ +èij Ń +æ¥ ® +æ £¼ +æ¤ Ł +æ£ ¹ +æ¤ ¤ +æ£ ° +èµ į +æ¤ ĭ +æ¤ ģ +æ¤ ª +æ¤ IJ +é¹ ģ +éħ ¤ +éħ ¢ +éħ ¡ +é¹ Ĥ +æ® ļ +æ® Ľ +éĽ ± +è¾ ĭ +æ¤ ł +è¾ İ +çĿ Ħ +çĿ ĩ +çĿ ĥ +æĪ ¢ +åĸ ĭ +åĹ Ĵ +åĸ ĥ +åĸ ± +åĸ ¹ +æĻ · +åĸ Ī +è· ĸ +è· Ĺ +è· ŀ +è· ļ +è· İ +è· ı +è· Ĩ +èĽ ± +èĽ ² +èĽ Ń +èĽ ³ +èĽ IJ +èĽ Ķ +èĽ ŀ +èĽ ´ +èĽ ĺ +åĸ ģ +åĸ Ł +åķ ¾ +åĹ ĸ +åĸ ij +åĹ Ł +åĹ ŀ +åĸ Ļ +åµ ĺ +åµ ĸ +å´ ´ +éģ Ħ +è© Ī +åµ İ +å µ¬ +åµ Ľ +åµ ¯ +åµ Ŀ +åµ « +å¹ Ħ +åµ ĭ +èµ ķ +éĵ » +éĵ ¼ +éĵ ¿ +éĶ ĥ +éĶ Ĩ +éĶ ĩ +éĶ ī +éĶ ı +éĶ ij +éĶ Ĵ +éĶ Ķ +éĶ ķ +æİ £ +çŁ ¬ +æ° ° +æ¯ ³ +æ¯ ½ +çĬ Ĭ +çĬ Ħ +çĬ ĭ +é ¹Ħ +çĬ į +åµ ĩ +é» į +ç¨ ĥ +ç¨ Ĥ +çŃ ļ +çŃ µ +çŃ Į +åĤ £ +åĤ Ī +èĪ Ħ +çī į +åĤ ¥ +åĤ § +éģ ij +åĤ © +å¾ ¨ +åª Ń +çķ ² +å¼ ij +ç¿ ķ +é¹ Ĩ +èħ Ī +èħ ĵ +èħ Ĩ +èħ ´ +èħ ļ +èħ ± +é± ¿ +é² Ģ +é² Ĥ +çĮ ¢ +çĮ ¹ +çĮ ¥ +é£ ĵ +è§ ŀ +è§ ļ +çĮ ± +é¢ İ +é£ § +é¦ ĩ +é¦ Ĭ +äº µ +èĦ Ķ +è£ Ĵ +çĹ £ +çĹ ¨ +çĹ ¦ +çĹ ŀ +çĹ ¤ +çĹ § +èµ ĵ +ç« ¦ +çĵ ¿ +åķ » +é¢ ı +é¹ ĩ +éĺ ij +éĺ Ĵ +éĺ ķ +ç² ŀ +éģ Ĵ +åŃ ³ +çĦ ¯ +çĦ ľ +çĦ ± +é¹ Ī +æ¸ « +æ¹ ® +æ¹ İ +æ¹ ľ +æ¹ į +æ¹ « +æº ² +æ¹ Ł +æº Ĩ +æ¹ ² +æ¹ Ķ +æ¹ ī +æ¸ ¥ +æ» ģ +æĦ ł +æĥ º +æĦ ¦ +æĥ ´ +æĦ Ģ +æĦ İ +æĦ Ķ +åĸ ¾ +å¯ IJ +è° Ł +è£ ¢ +è£ İ +è£ ¥ +ç¥ ¾ +è° ł +è° ¡ +è° ¥ +è° § +åŃ ± +å¼ ¼ +å· ½ +éª ĺ +åª ª +å· ¯ +ç¿ ļ +çļ ´ +éª Ľ +ç¼ Ĥ +ç¼ ĥ +ç¼ Ħ +å½ ĺ +ç¼ ĩ +ç¼ Ī +ç¼ Į +ç¼ ij +ç¼ Ĵ +ç¼ Ĺ +é£ ¨ +èĢ ¢ +çij ģ +çij Ĺ +çij Ħ +éģ ¨ +éª ľ +éŁ « +é« ¡ +å¡ ¬ +éĦ ¢ +è¶ Ķ +è¶ ij +æij ħ +æij ģ +èľ ĩ +æIJ ĭ +æIJ ª +æIJ IJ +æIJ Ľ +æIJ ł +æij Ī +å½ Ģ +æ¯ Ĥ +æIJ ¦ +æIJ ¡ +èĵ ģ +æĪ ¡ +è ĵį +éĦ ŀ +èĵ IJ +èĵ ¦ +é¹ ĭ +èĴ ½ +èĵ ĸ +èĵ Ĭ +èĴ ¯ +èĵ Ł +èĵ ij +èĴ º +èĵ ł +èĴ Ł +èĴ ¡ +èĴ ¹ +èĴ ´ +èĴ Ĺ +èĵ ¥ +æ¥ Ķ +æ¥ Ĥ +æ¥ Ŀ +æ¥ « +æ¥ ¸ +æ¤ ´ +æ§ Į +æ¥ ¯ +çļ Ļ +æ¦ Ī +æ§ İ +æ¦ ī +æ¥ ¦ +æ¥ £ +æ¥ ¹ +æ¤ ½ +åī ½ +éħ © +èľ ĥ +ç¢ Ľ +ç¢ ĵ +ç¡ ¼ +ç¢ ī +ç¢ ļ +ç¢ ĩ +ç¢ ľ +é¹ Į +è¾ ı +é¾ ĥ +é¾ ħ +è¨ ¾ +ç² ² +çĿ ļ +åĹ ª +éŁ ª +åĹ · +åĹ ī +çĿ ¨ +çĿ ¢ +éĽ İ +çĿ ¥ +åĹ ij +åĹ « +åĹ ¬ +åĹ Ķ +åĹ Ŀ +æĪ ¥ +åĹ Ħ +çħ ¦ +æļ Ħ +éģ ¢ +æ ļĮ +è· ¬ +è· ¶ +è ·¸ +è· IJ +è· £ +è· ¹ +èĽ ¸ +èľ Ĭ +èľ į +èľ ī +èľ £ +çķ ¹ +èĽ ¹ +åĹ ¥ +åĹ ² +åĹ ³ +åĹ Į +åĹ į +åĹ IJ +åĹ ¤ +åĹ µ +ç½ ¨ +åµ Ĭ +åµ ´ +éª ° +éĶ Ĺ +éĶ Ľ +éĶ ľ +éĶ Ŀ +éĶ ŀ +éĶ Ł +éĶ ¢ +éĶ ¨ +éĶ © +éĶ Ń +éĶ ± +éĽ ī +æ° ² +çĬ ı +æŃ ĥ +ç¨ ŀ +ç¨ Ĺ +ç¨ Ķ +çŃ ł +çŃ ¢ +çŃ ® +çŃ ² +çī Ĵ +æķ « +å¾ Ń +æĦ Ĩ +èī Ħ +è§ İ +æ¯ ¹ +è² Ĭ +è² ħ +è² ī +é¢ Ķ +èħ ł +èħ © +èħ ¼ +èħ Ń +è ħ§ +å¡ į +åª µ +é² ħ +é² Ĩ +é² ĩ +é² Ī +é² ĭ +é² IJ +èĤ Ħ +é¹ IJ +é£ ķ +è§ ¥ +éģ Ľ +é¦ IJ +é¹ ij +äº ¶ +çĺ ĥ +çĹ ± +çĹ ¼ +çĹ ¿ +çĺ IJ +çĺ ģ +çĺ Ĩ +éº Ĥ +æŃ Ĩ +æĹ Ĵ +éĺ ĸ +éĺ Ĺ +ç¾ § +è± ¢ +ç² ³ +çĮ · +çħ ³ +çħ ¨ +çħ ħ +çħ Ĭ +çħ ¸ +çħ º +æ» Ł +æº ± +æº ĺ +æ¼ Ń +æ» ¢ +æº ¥ +æº ½ +è£ Ł +æº » +æº · +æ» Ĺ +æ» « +æº ´ +æ» ı +æ» ĥ +æ» ¦ +æº ı +æ» Ĥ +æ» ĵ +æº Ł +æ» ª +æĦ « +æħ Ĭ +é² İ +éª ŀ +çª ł +çª £ +è£ ± +è£ ¨ +è£ ¾ +è£ ° +ç¦ Ĭ +è° © +è° ª +åª ¾ +å« « +åª ² +å« Ĵ +å« Ķ +åª ¸ +ç¼ Ļ +ç¼ ľ +ç¼ Ľ +è¾ Ķ +éª Ŀ +ç¼ Ł +ç¼ ¡ +ç¼ ¢ +ç¼ £ +éª Ł +èĢ ¥ +çĴ Ī +çij Ń +çį Ĵ +è§ ı +æħ Ŀ +å« ł +åı Ĩ +æij ½ +å¢ ģ +æĴ Ĥ +æij ŀ +æĴ Ħ +ç¿ ¥ +è¸ ħ +æij Ń +å¢ ī +å¢ Ĵ +æ¦ ĸ +ç¶ ¦ +èĶ « +èĶ · +éĿ º +éĿ ¼ +éŀ ħ +éĿ ¿ +çĶ į +èĶ ¸ +èĶ Ł +èĶ º +æĪ ¬ +èķ ĸ +èĶ » +èĵ ¿ +æĸ ¡ +é¹ ķ +èĵ ¼ +æ¦ Ľ +æ¦ § +æ¦ « +æ¦ Ń +æ§ Ķ +æ¦ ± +æ§ ģ +æ§ ł +æ¦ · +åĥ ° +éħ ½ +éħ ¹ +ç¢ ¡ +ç¢ ´ +ç¢ £ +ç¢ ² +èĩ § +è± ¨ +æ® ¡ +éľ ģ +èľ ļ +é¾ ĩ +é¾ Ī +ä ģ +äģ ĸ +çĿ ½ +åĺ ŀ +åĺ Ī +åĺ Į +åĺ ģ +æļ Ŀ +è¸ Į +è¸ ī +èľ ŀ +èľ ¥ +èľ ® +èĿ Ī +èľ ´ +èľ ± +èľ © +èľ · +èľ ¿ +èŀ Ĥ +èľ ¢ +åĺ ¡ +é¹ Ĺ +åĺ £ +åĺ ¤ +åĺ ļ +åĹ ¾ +åĺ § +ç½ ´ +ç½ ± +å¹ Ķ +å¶ Ĥ +å¹ Ľ +èµ Ļ +ç½ Ĥ +éª · +éª ¶ +é¹ ĺ +éĶ ² +éĶ ´ +éĶ ¶ +éĶ · +éĶ ¸ +éĶ µ +éķ Ĥ +çĬ Ĵ +ç® IJ +ç® ¦ +ç® § +ç® ¸ +ç® ¬ +ç® ħ +ç® ª +ç® ľ +ç® ¢ +ç® ĵ +åĥ ĸ +åĦ Ĩ +åĥ ³ +åĥ Ń +åĬ ģ +åĥ ® +éŃ ĥ +éŃ Ĩ +çĿ ¾ +èī ĭ +éĦ ± +èĨ Ī +èĨ ij +é² ij +é² Ķ +é² ļ +é² Ľ +é² Ł +çį IJ +è§ « +éĽ Ĵ +å¤ ¤ +é¦ ij +éĬ ® +å¡ ¾ +çĺ Į +çĺ Ĭ +çĺ ĺ +çĺ Ļ +æĹ ĸ +èĨ Ĥ +éĺ ļ +éĦ ¯ +é² ŀ +ç² ¿ +ç² ¼ +ç³ ģ +æ§ Ĭ +é¹ ļ +çĨ ĺ +çĨ ¥ +æ½ ¢ +æ¼ ķ +æ» ¹ +æ¼ ¯ +æ¼ ¶ +æ½ ĭ +æ½ ´ +æ¼ ª +æ¼ ī +æ¼ © +æ¾ ī +æħ µ +æIJ ´ +çª ¨ +å¯ ¤ +ç¶ ® +è° ® +è¤ ¡ +è¤ Ļ +è¤ ĵ +è¤ Ľ +è¤ Ĭ +è° ¯ +è° ° +è° ² +å± £ +é¹ Ľ +å« ± +å« ĸ +å« ¦ +å« ļ +å «ĺ +é¼ IJ +çŀ Ģ +é¹ ľ +éª ł +ç¼ ¥ +ç¼ ¦ +ç¼ § +ç¼ ¨ +éª ¢ +ç¼ « +èĢ ¦ +èĢ § +çĴ ľ +çĴ İ +çĴ ģ +å¥ Ń +é« ¯ +é« « +æĴ · +æĴ ħ +èµ Ń +æĴ ¸ +éĭ Ĩ +æĴ Ļ +æĴ º +å¢ Ģ +èģ © +è§ IJ +éŀ ij +èķ Ļ +éŀ Ĵ +èķ Ī +èķ ¨ +èķ ¤ +èķ ŀ +èķ º +çŀ ¢ +èķ ĥ +èķ ² +èµ ľ +æ§ ¿ +æ¨ ¯ +æ§ Ń +æ¨ Ĺ +æ¨ ĺ +æ§ ² +éĨ Į +éĨ ħ +éĿ ¥ +éŃ ĩ +é¤ į +ç£ Ķ +ç£ Ļ +éľ Ī +è¾ ĺ +é¾ ī +é¾ Ĭ +è§ ij +çŀ Į +ç ŀĭ +çŀ ij +åĺ Ń +åĻ İ +åĻ ¶ +é¢ Ļ +æļ ¹ +åĻ ĺ +è¸ Ķ +è¸ Ŀ +è¸ Ł +è¸ Ĵ +è¸ ¬ +è¸ ® +è¸ ¯ +è¸ º +è¸ ŀ +èĿ ½ +èĿ ¾ +èĿ » +èĿ ° +èĿ ® +è ŀĭ +èĿ ĵ +èĿ £ +è Ŀ¼ +åĺ ¬ +é¢ ļ +åĻ į +åĻ Ļ +åĻ Į +åĻ Ķ +é¢ Ľ +å¹ ŀ +å¹ ¡ +å¶ Ļ +å¶ Ŀ +éª º +éķ Ĭ +éķ ī +éķ Į +éķ ı +éķ Ĵ +éķ ĵ +éķ Ķ +ç¨ · +ç® ´ +ç¯ ij +ç¯ ģ +ç¯ Į +çī ĸ +åĦ ĭ +èĻ ¢ +é¹ ŀ +èĨ ĺ +é² ł +é² ¡ +é² ¢ +é² £ +é² ¥ +é² § +é² © +çį Ĺ +çį ł +è§ ¯ +é¦ ĵ +é¦ Ķ +éº ¾ +å» Ľ +çĺ Ľ +çĺ ¼ +çĺ ¢ +çĺ ł +é½ ij +ç¾ ° +𥠻 +ð¥» Ĺ +ç³ Į +ç³ į +ç³ ħ +çĨ ľ +ç Ĩµ +æ¾ į +æ¾ Į +æ½ ¸ +æ½ ¦ +æ½ ² +éĭ Ī +æ½ Ł +æ½ º +å¯ ® +çª ³ +è° ³ +è¤ ´ +è¤ Ł +è¤ « +è° µ +çĨ ¨ +å± ¦ +åĭ ° +æĪ ® +èĿ ¥ +ç¼ ¬ +ç¼ ® +ç¼ ¯ +éª £ +çķ ¿ +èĢ © +èĢ ¨ +èĢ ª +çĴ Ł +éĿ Ľ +çĴ ł +çĴ ĺ +èģ ± +èŀ ¯ +é« » +é« Ń +é« ¹ +æĵ Ģ +çĶ ı +æĵ ŀ +ç¸ ł +ç£ ¬ +é¢ ŀ +èķ » +é¢ Ł +èĸ ¤ +èĸ ¨ +æª ł +èĸ ı +èĸ ® +èĸ ľ +èĸ ħ +æ¨ ¾ +æ© Ľ +æ© ĩ +æ¨ µ +æª İ +æ© ¹ +æ¨ ½ +æ¨ ¨ +æ© ¼ +å¢ ¼ +æ© IJ +ç¿ ® +éĨ IJ +éĨ į +éĨ ļ +ç£ ² +èµ Ŀ +æ® ª +éľ ı +éĮ ¾ +è¾ ļ +éģ ½ +æ° ħ +çŀ Ł +çŀ ł +çŀ ° +åļ Ħ +åļ Ĩ +åĻ ¤ +æļ ¾ +è¹ Ģ +è¸ µ +è¸ ½ +è¹ ī +è¹ ģ +èŀ ¨ +èŀ Ī +èŀ ħ +èŀ Ń +èŀ ł +èŀ Ł +åĻ ± +åĻ « +åĻ » +åĻ ¼ +ç½ ¹ +åľ ľ +ä ¦ +ä¦ ĥ +éķ Ĺ +éķ ĺ +éķ ļ +éķ Ľ +éķ Ŀ +éķ ŀ +éķ ł +æ° ĩ +æ° Ĩ +ç© ij +ç¯ Ŀ +ç¯ ¥ +ç¯ ¦ +ç¯ ª +ç¯ Ļ +çĽ ¥ +åĬ ĵ +ç¿ ± +éŃ ī +éŃ Ī +å¾ ¼ +æŃ Ļ +èĨ ¦ +èĨ Ļ +é² ® +é² ± +é² ³ +é² ´ +é² µ +é² · +é² » +çį ´ +çį Ń +çį ¬ +éĤ Ĥ +é¹ § +å» ¨ +èµ Ł +çĺ ° +å» ª +çĺ ¿ +çĺ µ +çĺ ´ +çĻ ĥ +çĺ ³ +éº ĩ +éº Ī +å ¬´ +å£ ħ +ç³ Ĺ +çĶ ij +çĩ İ +çĩ ł +çĩ Ķ +çĩ § +æ¿ ij +æ¿ ī +æ½ ŀ +æ¾ § +æ¾ ¹ +æ¾ ¥ +æ¾ ¶ +æ¿ Ĥ +è¤ ° +çª ¸ +å¬ ĸ +çĬ Ł +éļ ° +å¬ Ĺ +é¢ ¡ +ç¼ ± +ç¼ ² +ç¼ ³ +çĴ © +çĴ ª +èŀ « +æĵ ¤ +å£ ķ +è§ ³ +ç½ Ħ +æĵ ¢ +èĸ ¹ +éŀ ¡ +éŀ ¬ +èĸ · +èĹ ĵ +èĹ ģ +æª Ħ +æª © +æĩ ĭ +éĨ ¢ +ç¿ ³ +ç¤ ħ +ç£ ´ +é¹ © +é¾ ĭ +é¾ Į +è± ³ +å£ ij +é» » +åļ ı +åļ ħ +è¹ ij +è¹ Ĵ +è¹ Ĭ +è Ł¥ +èŀ ¬ +èŀ µ +çĸ ĥ +èŀ ³ +èŁ ij +åļ ĵ +ç½ ½ +ç½ ¾ +å¶ · +é» ľ +é» Ŀ +é« ģ +é« Ģ +éķ ¡ +éķ ¢ +éķ £ +éķ ¦ +éķ § +éķ © +éķ ª +éķ « +ç½ ħ +ç° Į +ç¯ ¾ +ç¯ ¼ +ç° ĸ +ç° ĭ +é¼ ¢ +åĦ ¡ +é¹ ª +é¼ ¾ +çļ ¤ +éŃ į +é¾ ł +ç¹ ĩ +è² ĺ +éĤ Ī +è² Ķ +èĩ Į +èĨ » +èĩ Ĩ +èĩ ĥ +é² ¼ +é² ½ +é³ Ģ +é³ ĥ +é³ ħ +é³ ĩ +é³ Ĭ +èŀ ½ +çĩ ® +é¹ « +ç³ ľ +ç¸ » +çĻ į +éº ĭ +æĩ ij +æ¿ ¡ +æ¿ ® +æ¿ ŀ +æ¿ ł +æ¿ ¯ +è¹ ĩ +è¬ ĩ +éĤ ĥ +è¥ ģ +æª Ĺ +æ ĵĺ +åŃ º +éļ ³ +å¬ · +èŁ Ĭ +é¹ ¬ +éį ª +éı Ĭ +é¬ Ī +é¬ ĥ +çŀ ½ +éŀ ¯ +éŀ ¨ +éŀ « +éŀ § +éŀ £ +èĹ ľ +èĹ ł +éĨ ª +è¹ Ļ +ç¤ ĵ +çĩ ¹ +é¤ ® +çŀ ¿ +æĽ Ľ +é¢ ¢ +èº ĩ +è¹ ļ +èŁ Ľ +èŁ ª +èŁ ł +èŁ ® +é¹ ® +é» ł +é» Ł +é« ħ +é« Ĥ +éķ ¬ +éķ Ń +éķ ¯ +é¦ ¥ +ç° Ł +ç° ª +é¼ ¬ +éĽ ł +èī Ł +é³ İ +é³ ı +é³ IJ +çĻ ŀ +çĻ Ķ +ç³ ¨ +è¹ © +éİ ı +éĤ ĭ +é¬ ı +æĶ ī +éŀ ² +éŀ ´ +èĹ ¿ +èĺ § +èĺ ħ +éĨ ® +éĨ ¯ +éħ ĥ +éľ ª +éľ Ń +éľ ¨ +é» ¼ +åļ ¯ +è¹ ° +è¹ ¶ +è¹ ½ +è¹ ¼ +è¹ ´ +è¹ ¾ +è¹ ¿ +èł ĸ +èł ĵ +èŁ ¾ +èł Ĭ +é» ¢ +é« ĭ +é« Į +éķ ² +ç± Ģ +é½ ģ +éŃ ij +èī ¨ +é³ ĵ +é³ Ķ +é³ ķ +é³ Ĺ +é³ Ļ +éı ĸ +ç¾ ¸ +㸠Ĩ +çĢ £ +çĢ Ľ +è¥ ¦ +è° ¶ +è¥ ŀ +éª ¥ +ç¼ µ +çĵ Ĵ +æĶ ĺ +èĺ © +èĺ ĸ +éĨ ´ +éľ ° +éħ Ĩ +çŁ į +èº ħ +é¼ į +å· ī +é» © +é» ¥ +é» ª +éķ ³ +éķ ´ +é» § +çº Ĥ +çĴ º +é¼ ¯ +èĩ ľ +é³ ľ +é³ Ŀ +é³ Ł +çį ¾ +åŃ Ģ +éª § +ç ĵĺ +é¼ Ļ +éĨ º +ç¤ ´ +é¢ ¦ +æĽ © +é³ ¢ +éº Ŀ +å¤ Ķ +çĪ Ŀ +çģ ı +ç¦ ³ +éIJ ¾ +ç¾ ¼ +èł ¡ +èĢ ± +é¹ ³ +æ° į +é¥ ķ +èº IJ +é« ij +éķ µ +ç© ° +é¥ Ķ +é¬ » +é¬ Ł +è¶ ± +æĶ « +æĶ ¥ +é¢ § +èº ľ +é¼ ¹ +çĻ ¯ +èł ² +èł ¹ +èº ŀ +è¡ ¢ +çģ ŀ +è¥ » +çº Ľ +é¬ £ +æĶ ® +åĽ Ķ +é¦ ķ +æĪ Ĩ +çĪ ¨ +é½ ī +äº į +å° ¢ +å½ ³ +åį ¬ +æ® ³ +ðł ϶ +æ¯ Į +éĤ ĺ +æĪ ĭ +åľ ¢ +æ° ķ +ä¼ ĭ +ä» Ŀ +åĨ ® +æ° ¿ +æ± Ī +æ° ¾ +å¿ ī +å® Ħ +ð¬£ Ļ +è® ± +æī ŀ +åľ ² +åľ « +èĬ ı +èĬ ĥ +æľ ³ +æľ ¸ +ð¨ Ļ +ð¨Ļ ¸ +éĤ ¨ +åIJ Ĵ +åIJ ĸ +å± ¼ +å± ¾ +è¾ ¿ +éĴ Ĩ +ä» ³ +ä¼ £ +ä¼ Ī +çĻ ¿ +çĶ ª +éĤ ł +çĬ ´ +åĨ ± +éĤ ¡ +ð¬ĩ ķ +æ± ĭ +ä ľ +äľ £ +è® » +𬣠ŀ +åŃ ĸ +ð¬ĺ ĵ +çº © +çİ Ĵ +çİ ĵ +çİ ĺ +çİ ļ +åĪ ¬ +ð«Ń Ł +åĿ ľ +åĿ ī +æī ½ +ð«Ń ¢ +åĿ ĭ +æī º +ã§ ij +æ¯ IJ +èĬ ° +èĬ £ +èĭ Ĭ +èĭ ī +èĬ ĺ +èĬ ´ +èĬ ł +ð« ĩ +ð«ĩ Ń +èĬ ¤ +æĿ ķ +æĿ Ļ +æĿ Ħ +æĿ § +æĿ © +å° ª +å° ¨ +è½ ª +ð«IJ Ħ +åĿ Ĵ +èĬ Ī +æĹ ´ +æĹ µ +åij Ļ +ã ķ +ãķ ® +å² į +ð« µ +𫵠· +å² ł +å² ľ +åij ĩ +åĨ ı +è§ ĥ +å² Ļ +ä¼ ¾ +ãij ĩ +ä¼ Ń +ä½ ĸ +ä¼ ² +ä½ ģ +é£ ı +çĭ ĥ +éĹ ¶ +æ± § +æ± « +𣲠ĺ +ð£² Ĺ +æ² Ħ +æ² ĺ +ð¬ĩ Ļ +æ± Ń +ã³ ĩ +æ² ĩ +å¿ ® +å¿ ³ +å¿ º +𬣠¡ +ç¥ ĥ +è¯ ĩ +éĤ ² +è¯ İ +è¯ IJ +å± ĥ +ð« ¸ +𫸠© +å² Ĭ +éĺ ½ +ä¢ º +éĺ ¼ +å¦ § +å¦ ĺ +ð¨ ļ +ð¨ļ ķ +çº ® +é© ² +ð«ĺ ľ +çº » +ð¬ĺ ĺ +ð«ĺ Ŀ +çº ¼ +çİ ¤ +çİ ŀ +çİ ± +çİ Ł +éĤ ½ +éĤ ¿ +åĿ ¥ +åĿ ° +åĿ ¬ +åĿ ½ +å¼ Ĩ +èĢ µ +ä¢ ¼ +ð¦ Ń +ð¦Ń ľ +èĮ ĭ +èĭ § +èĭ ¾ +èĭ ł +æŀ ħ +ãŃ İ +æŀ ĺ +æŀ į +çŁ ¼ +çŁ » +åĮ ¼ +𬨠Ĥ +ð¬Ģ © +ð¬Ģ ª +æĹ ¿ +æĺ Ħ +æĺ Ĵ +æĺ Ī +åĴ ī +åĴ ĩ +åĴ į +å² µ +å² ½ +å² ¨ +å² ŀ +å³ Ĥ +ã Ł +ãŁ ĥ +åĽ · +𬬠© +éĴ IJ +éĴ Ķ +éĴ ĸ +çī ¥ +ä½ ´ +åŀ Ī +ä¾ ģ +ä¾ ¹ +ä½ ¸ +ä½ º +éļ ¹ +ãij Ĭ +ä¾ Ĥ +ä½ ½ +ä¾ ĺ +éĥ Ī +èĪ ł +éĥ IJ +éĥ ĥ +æĶ ½ +èĤ Ń +èĤ ¸ +èĤ · +çĭ ī +çĭ Ŀ +é¥ ³ +å¿ ŀ +çĤ Į +çĤ Ĩ +æ³ Ļ +æ² º +æ³ Ĥ +æ³ ľ +æ³ ĥ +æ³ ĩ +æĢ Ĭ +å³ ĥ +ç© ¸ +ç¥ ĭ +ç¥ Ĭ +ð«į £ +𬣠³ +𬠩½ +é¸ ¤ +å¼ ¢ +å¼ ¨ +éĻ ij +𬮠¿ +éĻ İ +ð¬¯ Ģ +åį º +ä¹ ¸ +å¦ Ń +å§ Ī +ð« ° +ð«° Ľ +è¿ ³ +åı ķ +𬳠µ +é© µ +𬳠¶ +ä Į +äĮ ¹ +é© º +ð«ł Ĭ +ç» ĭ +ç» IJ +çł ī +èĢ Ķ +ãĽ ĥ +çİ ¶ +çı ĩ +çı ħ +ð¬į Ľ +çı ĭ +çİ ¹ +çı Į +çİ ¿ +éŁ ¨ +åŀ ļ +åŀ ¯ +åŀ Ļ +åŀ ² +åŁ ı +åŀ į +èĢ ĩ +é¿ į +åŀ İ +åŀ ´ +åŀ Ł +åŀ ŀ +æĮ ĵ +åŀ µ +åŀ ı +æĭ ¶ +èį ĸ +èį ģ +èį Ļ +èį Ľ +èĮ Ī +èĮ ½ +èį Ħ +èĮ º +ð¬ľ ¬ +èį ĵ +èĮ ³ +𦠰 +𦰠¡ +èĮ Ľ +èį Ń +ãŃ ķ +æŁ · +æŁ ĥ +æŁ Ĭ +æŀ ¹ +æł IJ +æŁ ĸ +éĥ ļ +åī ħ +ä´ ĵ +è¿ º +åİ ĸ +çł Ĩ +çł ij +çł Ħ +èĢ ı +å¥ ĵ +ä ¶ +ä¶ ® +è½ µ +è½ · +è½ ¹ +è½ º +æĺ º +𪠾 +𪾠¢ +æĺ ½ +çĽ · +åĴ ¡ +åĴ º +æĺ ³ +æĺ £ +æĺ ¤ +æĺ « +æĺ ¡ +åĴ ¥ +æĺ ª +èĻ · +èĻ ¸ +åĵ ĥ +å³ ĺ +èĢ ij +å³ Ľ +𪨠° +å³ Ĺ +å³ § +å¸ ¡ +éĴ ĺ +ð«ĵ § +éĴ ľ +𬬠® +𬬠± +ð¬¬ Ń +éĴ ª +éĴ ¬ +éĴ Ń +çŁ § +ç§ ¬ +ä¿ « +èĪ ģ +ä¿ ľ +ä¿ Ļ +ä¿ į +åŀ ķ +è¡ İ +èĪ £ +å¼ ĩ +ä¾ ´ +é¸ § +äı ¡ +èĥ ł +ð¦ ϶ +èĥ Ī +èĥ © +èĥ £ +æľ ı +é£ IJ +è¨ Ħ +é¥ » +åº ¤ +çĸ ¢ +çĤ £ +çĤ Ł +ã ¶ +ã¶ ² +æ´ Ń +æ´ ĺ +æ´ ĵ +æ´ ¿ +ã³ ļ +æ³ ļ +æµ Ī +æµ ī +æ´ ¸ +æ´ ij +æ´ ¢ +æ´ Ī +æ´ ļ +æ´ º +æ´ ¨ +æµ IJ +ã³ ĺ +æ´ ´ +æ´ £ +æģ Ķ +å® ¬ +çª Ģ +æī Ĥ +è¢ Ĩ +ç¥ ı +ç¥ IJ +ç¥ ķ +åı ļ +éĻ § +éĻ ŀ +å¨ Ģ +å§ ŀ +å§ ± +å§ ¤ +å§ ¶ +å§ ½ +æŀ ² +ç» ĸ +éª ĥ +ð¬ĺ ¡ +𬳠½ +ð¬ĺ © +ð«Ħ § +å½ ĸ +éª ī +æģ Ŀ +çı ª +çı Ľ +çı ¹ +çIJ Ĭ +çİ ¼ +çı ĸ +ðª Ł +ðªŁ Ŀ +çı ½ +çı ¦ +çı « +çı Ĵ +ð¬į ¤ +çı ¢ +çı ķ +çı Ŀ +ð«Ń ¼ +åŁ Ĺ +åŀ ¾ +åŀ º +åŁ Ĩ +åŀ ¿ +åŁ Į +åŁ ĩ +èİ ° +èĮ Ŀ +ð¬ľ ¯ +éĦ Ģ +èİ ¶ +èİ Ŀ +äĵ ĸ +èİ Ļ +æł » +æ¡ ł +ð¬ Ĥ +ð¬Ĥ © +æ¡ Ħ +æ¢ ł +æł ´ +æ¢ ´ +æł Ĵ +éħ İ +éħ ı +ð«ł Ĩ +çł µ +çł ł +çł « +çł ¬ +ç¡ ģ +æģ § +ç¿ ĥ +éĥ ª +ð¨ IJ +ð¨IJ Ī +è¾ Ģ +è¾ ģ +ð¬ Į +ð¬Į Ĺ +åī ķ +èµ Ģ +åĵ ¢ +æĻ ħ +æĻ Ĭ +åĶ Ŀ +åĵ ³ +åĵ ± +åĨ Ķ +æĻ Ķ +æĻ IJ +çķ ĸ +èļ Ħ +èļ Ĩ +ð« ij +ð«ij ¡ +å¸ ± +å´ ģ +å³ ¿ +𪨠¶ +å´ Ħ +å¸ ¨ +å ´Ģ +èµ Ĩ +𬠬¸ +éĴ · +𬬠» +𬬠¹ +𬬠¿ +ð¬Ń ģ +çľ ļ +çĶ ¡ +ç¬ « +åĢ » +åĢ ´ +èĦ © +åĢ ® +åĢ ķ +åĢ ŀ +ð« ¢ +ð«¢ ¸ +åĢ ĵ +åĢ § +è¡ ĥ +èĻ Ĵ +èĪ Ń +èĪ ¯ +èĪ ¥ +çĵ ŀ +é¬ ¯ +é¸ ° +èĦ İ +æľ ĵ +èĥ ² +èĻ ĵ +é± ½ +çĭ ´ +å³ ± +çĭ » +çľ ¢ +ð«Ĺ § +åĭ į +çĹ Ħ +çĸ ° +çĹ ĥ +ç« ĺ +ç¾ ĸ +ç¾ ĵ +æ¡ Ĭ +æķ ī +çĥ ł +çĥ Ķ +çĥ ¶ +çĥ » +ð¬Ĭ Ī +æ¶ į +æµ ¡ +æµ Ń +æµ ¬ +æ¶ Ħ +æ¶ ¢ +æ¶ IJ +æµ ° +æµ Ł +æµ Ľ +æµ ¼ +æµ ² +æ¶ ĺ +æĤ Ī +æĤ ĥ +æĤ ¢ +ð¬Ĵ Ī +å® § +çª ħ +çª Ĭ +çª İ +æī ħ +æī Ĩ +è¢ ª +è¢ Ĺ +è¢ ¯ +ç¥ § +éļ º +åł ² +çĸ į +𨠺 +ð¨º Ļ +éĻ ´ +ç ĥĿ +çł ® +ãĽ ļ +åĵ ¿ +ç¿ Ģ +ç¿ Ĥ +åī Ł +𬳠¿ +ð«Ħ ¨ +ç» ¤ +éª į +ð¬ĺ « +ä Ĥ +äĤ ® +çIJ İ +çı ¸ +çı µ +çIJ Ħ +çIJ Ī +çIJ Ģ +çı º +æİ Ń +åł İ +åł IJ +åŁ ¼ +æİ İ +åŁ « +åł Į +æĻ ¢ +ð« ® +ð«® ĥ +æİ ŀ +åŁ ª +å£ ¸ +ãĻ į +èģ į +èı Ŀ +èIJ ļ +èı ¥ +èİ ¿ +äĵ « +åĭ ļ +äĵ ¬ +èIJ Ĩ +èı Ĥ +èı į +èı ¼ +èIJ £ +äĵ ¨ +èı ī +äĵ Ľ +æ¢ ¼ +æ¢ ½ +æ¡ ² +æ¢ ¾ +æ¡ ¯ +æ¢ £ +æ¢ Į +æ¡ ¹ +æķ Ķ +åİ £ +ç¡ Ķ +é¿ İ +ç¡ Ļ +ç¡ ļ +ç¡ Ĭ +ç¡ į +åĭ Ķ +ä´ ķ +é¾ ģ +éĢ ´ +åĶ ª +åķ « +ç¿ Ī +ã « +ã« ° +æĻ Ļ +çķ ¤ +𬱠ĸ +è¶ ¼ +è· Ĥ +èĽ ĥ +èļ ² +ð¬Ł ½ +èļ º +åķ ´ +äİ ĥ +å´ § +å´ Ł +å´ ŀ +å´ Ĵ +å´ Į +å´ ¡ +éĵ ı +ð«ĵ ¯ +ð«Ł ¹ +éĵ ķ +ð«Ł ¼ +éĵ ĸ +éĵ ĺ +éĵ ļ +éĵ ŀ +éĵ ¥ +éĵ ´ +çī » +çī ¿ +ç¨ Ĩ +ç¬ ± +ç¬ ¯ +åģ ° +åģ ¡ +é¸ º +åģ Ń +åģ ² +åģ ģ +ã ¿ +ã¿ ł +éĦ ħ +åģ ĵ +å¾ Ľ +è¡ Ĵ +èĪ ³ +èĪ ² +é¸ ¼ +æĤ Ĩ +éĦ ĥ +çĵ » +ä Ŀ +äĿ Ļ +èĦ ¶ +èĦ ŀ +èĦ Ł +äı ² +é± ¾ +çĮ ĩ +çĮ Ĭ +çĮ Ħ +è§ ĸ +ðł ħ +ðłħ ¤ +åº ± +åº ¼ +åº ³ +çĹ ĵ +ä´ Ķ +ç« « +åł ĥ +éĺ Į +ç¾ Ŀ +ç¾ ķ +çĦ Ĩ +çĥ º +çĦ Į +æ· ı +ð¬ĩ ¹ +æ· Ł +æ· ľ +æ· ´ +æ· ¯ +æ¹ ´ +æ¶ ´ +ð¬į ¡ +ã ¥ +㥠Ħ +æĥ Ľ +æĥ Ķ +æĤ ° +æĥ Ļ +å¯ ģ +éĢ Ń +𬤠ĩ +ð«į ¯ +è¢ ¼ +è£ Ī +ç¥ ² +𬤠Ĭ +ð«į ² +è° ŀ +èī ´ +å¼ ¸ +å¼ ¶ +ð¬¯ İ +éļ ĥ +å© ŀ +å¨ µ +å© ¼ +åª ĸ +å© ³ +å© į +å© Į +å© « +å© ¤ +å© ĺ +å© ł +ð¬ĺ ¬ +ð¬ĺ Ń +𬴠Ĥ +ð«ĺ ¦ +ç» ¹ +ð«Ł ħ +ð¬ĺ ¯ +éª ķ +ð«ĺ § +çµ ľ +çı · +çIJ ² +çIJ ¡ +çIJ Ł +çIJ Ķ +çIJ Ń +åł ¾ +åł ¼ +æı ķ +ãĻ ĺ +åł § +åĸ Ĩ +åł ¨ +å¡ ħ +åł ł +çµ · +𪠣 +𪣠» +ð¡ İ +ð¡İ ļ +è ijľ +æĥ İ +èIJ ³ +èij Ļ +éĿ ¬ +èij ´ +èĴ ĩ +èĴ Ī +éĦ ļ +èĴ ī +èĵ ĩ +èIJ © +èij ° +èij İ +éĦ ij +èĴ İ +èij ĸ +èĴ Ħ +èIJ ¹ +æ£ ¤ +æ£ ½ +æ£ « +æ¤ ĵ +æ¤ ij +ð¬ ĥ +ð¬ĥ Ĭ +é¹ Ģ +æ¤ Ĩ +æ£ ĵ +æ£ ¬ +æ£ ª +æ¤ Ģ +æ¥ Ĺ +𬠷 +𬷠ķ +çĶ ¦ +éħ ¦ +è§ Į +å¥ ¡ +çļ ķ +ç¡ ª +æ¬ ¹ +è© Ł +ð«IJ IJ +è¾ Į +æ£ IJ +é¾ Ĥ +𬠹 +𬹠¼ +é» ¹ +çī ļ +çĿ İ +æĻ « +æĻ ª +æĻ ± +ð § +ð§ ¿ +ð§¿ ¹ +èĽ ij +çķ ¯ +æĸ Ŀ +åĸ ¤ +å´ ¶ +åµ ģ +ð« ¶ +ð«¶ ĩ +å´ ¾ +åµ ħ +å´ ¿ +åµ ļ +ç¿ Ļ +ð«ĸ ® +åľ Į +åľ IJ +èµ ij +èµ Ĵ +é¿ ı +éĵ ¹ +ð¬Ń Ĭ +éĵ ½ +𨱠ĩ +ð«ĵ ¶ +éĶ Ĭ +éĶ į +éĶ İ +ð¬Ń İ +éĶ ĵ +çĬ ĩ +é¢ ĭ +ç¨ Į +çŃ Ģ +çŃ ĺ +çŃ ľ +çŃ ¥ +çŃ ħ +åĤ ĥ +åĤ ī +ç¿ Ľ +åĤ Ĵ +åĤ ķ +èĪ ¾ +çķ ¬ +ð«ĸ ¯ +èĦ ¿ +èħ ĺ +ä IJ +äIJ ĥ +èħ Ļ +èħ Ĵ +ð¬± Ł +é² ĥ +çĮ ° +ð« Ľ +ð«Ľ Ń +çĮ ¯ +ã º +㺠Ħ +é¦ ī +åĩ ĵ +éĦ Ĺ +ð« · +ð«· · +å» ĭ +å» Ĩ +éĦ Į +ç² ¢ +éģ Ĩ +æĹ IJ +𬮠± +çĦ ŀ +ð¬Ĭ ¤ +æ¬ » +𣠸 +𣸠£ +æº ļ +æº ģ +æ¹ Ŀ +æ¸ ° +æ¹ ĵ +ã ´ +ã´ Ķ +æ¸ Ł +æº ł +æ¸ ¼ +æº ĩ +æ¹ £ +æ¹ ij +æº ŀ +æĦ IJ +æĦ ĥ +æķ © +çĶ ¯ +æ£ ¨ +æī Ĭ +è£ £ +ç¥ ¼ +å© » +åª Ĩ +åª ŀ +ãĽ ¹ +åª ĵ +åª Ĥ +åª Ħ +æ¯ µ +çŁ ŀ +𬴠ĥ +ð«ĺ ¨ +ç¼ Ĭ +ç¼ IJ +éª Ļ +çij ĥ +çij ĵ +çij ħ +çij Ĩ +ä´ ĸ +çij ĸ +çij Ŀ +çij Ķ +çij Ģ +𤠧 +𤧠Ľ +çij ³ +çij Ĥ +å¶ ħ +çij ij +éģ ĺ +é« ¢ +å¡ ¥ +åł ½ +èµ ª +æij Ľ +å¡ Ŀ +æIJ Ĵ +æIJ Į +èĴ ± +èĴ ¨ +èĵ ı +èĶ Ģ +èĵ ¢ +èĵ Ĥ +èĴ » +èĵ £ +æ¤ ¹ +æ¥ ª +æ¦ ĥ +æ¦ ħ +æ¥ Ĵ +æ¥ © +æ¦ ĩ +æ¤ ¸ +æ¥ Ļ +æŃ ħ +𬠪 +𬪠© +ç¢ ĥ +ç¢ ı +ð¬Ĵ Ķ +ç¢ Ī +äĥ ħ +ç¡ ¿ +éĦ ł +è¾ Ĵ +ð¬¨ İ +ð«IJ ĵ +é¾ Ĩ +è§ ľ +ä £ +ä£ ĺ +æļ ķ +é¹ į +ð« « +ð«« ĩ +㬠Ĭ +æļ ħ +è· ± +èľ IJ +èľ İ +åµ ² +èµ Ĺ +éª ± +éĶ ĸ +ð«ĵ ¹ +éĶ ĺ +éĶ ³ +éĶ § +éĶ ª +ð¬Ń ļ +éĶ « +éĶ ¬ +ð¬Ń Ľ +ç¨ ij +ç¨ Ļ +ä ħ +äħ Ł +ð¬ ķ +ð¬ķ Ĥ +çŃ » +çŃ ¼ +çŃ ¶ +çŃ ¦ +çŃ ¤ +åĤ º +é¹ İ +åĥ ĩ +èī ħ +èī ī +è° ¼ +è² Ĩ +èħ ½ +èħ ¨ +èħ ¯ +é² ī +é² Ĭ +é² Į +ä² Ł +𬶠ĭ +𬶠į +é² ı +éĽ Ĭ +çĮ º +é£ Ķ +è§ Ł +ð¦ Ŀ¼ +é¦ Į +è£ Ľ +å» Ĵ +çĺ ħ +éĦ ĺ +é¹ Ĵ +éĦ ľ +éº Ģ +éĦ £ +éĺ ĺ +ð«Ķ ¶ +çħ ģ +çħ ĥ +çħ ´ +çħ ĭ +çħ Ł +çħ ĵ +æ» ł +æº į +æº ¹ +æ» Ĩ +æ» ī +æº ¦ +æº µ +æ¼ · +æ» § +æ» ĺ +æ» į +æĦ Ń +æħ ¥ +æħ Ĩ +å¡ ± +ð« ĮĢ +è £¼ +ç¦ ĭ +ç¦ Ķ +ç¦ ĺ +ç¦ Ĵ +è° « +é¹ Ķ +ð«ĸ ³ +æĦ į +å« Ħ +åª ± +æĪ ¤ +åĭ ł +æĪ £ +ð«ĺ ª +ð«ĺ ¬ +ç¼ ŀ +èĢ ¤ +çij § +ð« ŀ +ð«ŀ © +çij ¨ +çij ± +çij · +çij ¢ +æĸ ł +æij ı +å¢ ķ +å¢ Ī +å¢ IJ +å¢ ĺ +æij ´ +éĬ İ +ð¡ IJ +ð¡IJ ĵ +å¢ ļ +æĴ ĸ +𪠤 +ðª¤ Ĺ +éĿ ½ +éŀ ģ +èĶ Į +èĶ Ī +èĵ ° +èĶ ¹ +èĶ Ĭ +åĺ ı +æ¦ ° +æ¦ ij +æ§ ļ +ð£ Ĺ +ð£Ĺ ĭ +æ§ ľ +æ¦ į +çĸ IJ +𬸠ĺ +éħ º +éħ ¾ +éħ ² +éħ ´ +ç¢ ¶ +äĥ İ +ð¬Ĵ Ĺ +ç¢ ¨ +ð¥ Ķ +ð¥Ķ ² +ç¢ ¹ +ç¢ ¥ +åĬ Ĥ +ð«ļ ĸ +ä´ Ĺ +å¤ ¥ +çŀ į +é¹ ĸ +ã¬ İ +è· ½ +èľ ¾ +å¹ ĸ +å¶ į +åľ Ļ +𨱠ı +éĶ º +éĶ ¼ +éĶ ½ +ð¬Ń ¤ +éĶ ¾ +éĶ ¿ +éķ ĥ +éķ Ħ +éķ ħ +é¦ Ŀ +é¹ Ļ +ç® ¨ +ç® ĸ +åĬ Ħ +åĥ ¬ +åĥ ¦ +åĥ Ķ +åĥ İ +æ§ ĥ +ãĻ ¦ +é² Ĵ +é² ķ +ð«ļ ķ +é² ĸ +é² Ĺ +é² ĺ +é² Ļ +𬶠IJ +𬶠ı +ð ©½ +𩽠¾ +å¤ IJ +çį į +é£ Ĺ +𬸠ļ +åĩ ĺ +å» ij +å» Ļ +çĺ Ĺ +çĺ ¥ +çĺ ķ +é² Ŀ +éĦ « +çĨ ĩ +æ¼ ¹ +æ¼ ĸ +æ½ Ĩ +æ¼ ¤ +æ½ © +æ¼ ¼ +æ¼ ´ +ã ½ +ã½ ı +æ¼ Ī +æ¼ ĭ +æ¼ » +æħ ¬ +çª ¬ +çª Ń +ã ® +ã® ¾ +𬤠Ŀ +è¤ ķ +ç¦ Ľ +ç¦ ļ +éļ © +å« ķ +å« Ń +å« ľ +å« ª +ð¬ ĻĤ +ã » +ã» ¬ +éº ¹ +çĴ Ĩ +æ¼ ¦ +åı ĩ +å¢ £ +å¢ ¦ +å¢ ¡ +åĬ IJ +èĸ ģ +èķ ° +èĶ ĥ +é¼ Ĵ +æ§ ± +é¹ Ŀ +ç£ ı +ç£ ī +æ® £ +æħ Ń +éľ ħ +æļ µ +æļ ² +æļ ¶ +è¸ ¦ +è¸ £ +äĹ ĸ +èĿ ĺ +èĿ ² +èĿ ¤ +åĻ ĩ +å ĻĤ +åĻ Ģ +ç½ ¶ +å¶ ² +å¶ ĵ +ãł ĩ +å¶ Ł +å¶ Ĵ +éķ Ĩ +éķ Ī +éķ ĭ +éķ İ +ð¬Ń © +éķ ķ +ç¨ ¹ +åĦ ĩ +çļ ŀ +çļ Ľ +ä´ ĺ +èī İ +èī ı +é¹ Ł +𩾠ĥ +é² ¦ +é² ª +é² ¬ +æ© ¥ +è§ Ń +é¹ ł +é¹ ¡ +ç³ ĩ +ç³ Ī +ç¿ ¦ +é¹ ¢ +é¹ £ +çĨ Ľ +æ½ ĸ +æ½ µ +ã µ +ãµ IJ +æ¾ Ĥ +æ¾ Ľ +çij ¬ +æ½ ½ +æ½ ¾ +æ½ ı +æĨ Ń +æĨ ķ +𬸠£ +æĪ Ń +è¤ ¯ +ç¦ ¤ +ð«į ½ +å« ½ +éģ ¹ +𬴠Ĭ +çĴ ¥ +çĴ ² +çĴ Ĵ +æĨ Ļ +æĵ IJ +éĦ ¹ +èĸ ³ +éŀ Ķ +é» ĩ +ð¬ ŀ +ð¬ŀ Ł +èķ Ĺ +èĸ ¢ +èķ ¹ +æ© ŀ +æ© ij +æ© ¦ +éĨ ij +è§ ± +ç£ ¡ +ð¥ ķ +ð¥ķ ¢ +ç£ ľ +è± ® +ð«Ł ¦ +ð¬º Ī +ð«ł ľ +é¹ ¾ +èĻ ¤ +æļ ¿ +æĽ Į +æĽ Ī +㬠ļ +è¹ ħ +è¸ ¶ +äĹ Ľ +èŀ Ĺ +çĸ ģ +ãł ĵ +å¹ ª +𪠩 +𪩠ĺ +å¶ ¦ +ð¬Ń ¬ +𨱠ij +ð¬Ń ¯ +é¦ ŀ +ç© Ħ +ç¯ ļ +ç¯ ¯ +ç° ī +é¼ ½ +è¡ ł +çĽ ¦ +èŀ £ +ç¸ ¢ +é² Ń +é² ¯ +é² ° +é² º +é² ¹ +ð«Ĺ ´ +äº ¸ +çĻ Ģ +çĺ Ń +𬸠¦ +ç¾ ± +ç³ Ĵ +çĩ ĭ +çĨ » +çĩ Ĭ +çĩ ļ +çĩ ı +æ¿ © +æ¿ ĭ +æ¾ ª +æ¾ ½ +æ¾ ´ +æ¾ Ń +æ¾ ¼ +æĨ · +æĨ º +æĩ Ķ +é» ī +å¬ Ľ +é¹ ¨ +ç¿ ¯ +ð«Ħ · +çĴ ± +𤠩½ +çĴ ¬ +çĴ ® +é« ½ +æĵ ¿ +èĸ ¿ +èĸ ¸ +æª ij +æ« Ĩ +æª ŀ +éĨ ¨ +ç ¹Ħ +ç£ ¹ +ç£ » +çŀ « +çŀ µ +è¹ IJ +èŁ ı +ã ĺ +ãĺ İ +ð¬Ń ³ +éķ ¤ +ð¬Ń ¶ +ð«Ķ į +éķ ¥ +éķ ¨ +ð¬Ń ¸ +ð¨± Ķ +ð¬Ń ¼ +ð«Ķ İ +çŁ ° +ç© Ļ +ç© ľ +ç© Ł +ç° ķ +ç° ĥ +ç° ı +åĦ ¦ +éŃ ĭ +æĸ ¶ +èī ļ +𬸠ª +è° ¿ +ä² ł +ð¬¶ Ł +é² ¾ +𬶠ł +é² ¿ +é³ ģ +é³ Ĥ +é³ Ī +é³ ī +çį ¯ +äĹ ª +é¦ ĺ +è¥ ķ +è¥ ļ +𬶠¨ +èŀ ± +çĶ ĵ +å¬ ¬ +å¬ ¥ +ð¦ Ī +ð¦Ī ¡ +ð«Ħ ¸ +çĵ Ģ +éĩ IJ +é¬ ¶ +çĪ ĩ +éŀ ³ +éŀ ® +ð¬Ł ģ +èĹ Ł +èĹ ¦ +èĹ ¨ +é¹ ² +æª « +é» ¡ +ç¤ ŀ +ç¤ Į +ð¥ ĸ +ð¥ĸ ¨ +è¹ ¢ +è¹ ľ +èŁ « +äĹ ´ +åļ ļ +é« ĥ +éķ ® +éķ ± +éħ Ĥ +é¦ § +ç° ł +ç° Ŀ +ç° ° +é¼ « +é¼ © +çļ ¦ +èĩ ij +ä² ¢ +é³ ij +é³ Ĵ +é¹ ± +é¹ ¯ +çĻ Ĺ +ð¦ Ĵ +ð¦Ĵ į +æĹ ŀ +ç¿ · +åĨ ģ +äİ ĸ +çĢ Ķ +çĢ į +çĢ Į +è¥ ľ +ä´ Ļ +ð¬Ļ Ĭ +åļ Ń +ã ° +ã° Ģ +é¬ · +éĨ Ń +è¹ ¯ +èł ĭ +ç¿ ¾ +é³ ĺ +åĦ ³ +åĦ ´ +é¼ Ĺ +ð¬¶ Ń +𩾠Į +é³ ļ +é³ Ľ +éº ij +éº ĸ +èł ĥ +å½ Ł +å¬ ¿ +é¬ Ĵ +èĺ ĺ +æ¬ Ĥ +é Ĩµ +é¢ ¥ +çĶ Ĺ +ð¨ Ł +ð¨Ł ł +å· ĩ +éħ ħ +é« İ +çĬ ¨ +𬶠® +ð¨ Ń +ð¨Ń ī +㸠Į +çĪ Ķ +çĢ ± +çĢ ¹ +çĢ ¼ +çĢ µ +è¥ « +åŃ ħ +éª ¦ +ð¬Ļ ĭ +èĢ ° +𤠫 +𤫠ī +çĵ ĸ +é¬ ĺ +è¶ ¯ +𬺠ĵ +ç½ į +é¼ ± +é³ ł +é³ ¡ +é³ £ +çĪ Ł +çĪ ļ +çģ Ī +éŁ Ĥ +ç³ µ +èĺ ¼ +ç¤ µ +é¹ ´ +èº Ķ +çļ Ń +é¾ ¢ +é³ ¤ +äº ¹ +ç± ¥ +é¼ · +ð«ļ Ń +çİ ĥ +éĨ ¾ +é½ ĩ +è§ ¿ +èł ¼ +× § +× ¤ +× Ľ +×ķ× ª +× ¡ +×Ļ× Ŀ +× ¦ +× Ĵ +× ĺ +×ķ× ¨ +× Ŀ +×ķ× ľ +× ĸ +๠Ĥ +ï º +ðŁ į +ðŁ IJ +×Ļ× ¨ +ï » +ðŁ ij +ðĿ IJ +ðŁ ı +ðŁ Ķ +ðŁ Į +ðŁ İ +ðŁ ĵ +× Ł +ðĿ ij +×ķ× ĵ +ï ¦ +Ġ× ķ +×ķ× ij +à¸Ń à¸ĩ +ðĿ ĺ +×Ļ× ª +ðĿ ķ +à¸Ĺ ีà¹Ī +Ø§Ø ¦ +ðŁ ¤ +×ķ× Ł +ر ÙĬ +×Ļ× ľ +ร ะ +า ย +ï ¯ +ï ® +า ม +â ĩ +ðŁ ¥ +ï Ń +ðĿ Ļ +×ķ× ł +á ½ +Ġ× Ľ +ðŁ ļ +â ļ +ï § +×ij ר +×Ļ× ł +á ´ +Ġ× Ĺ +á ¼ +ðĿ Ĺ +Ġ× ¢ +×Ļ× Ķ +ãģ£ ãģŁ +ãģĵ ãģ¨ +á ¸ +ÙĬ ÙĨ +ãģª ãģĦ +ا ع +ภ¨ +à¹Ī à¸ĩ +×Ļ× ĵ +×ŀ ש +á Ī +׳ ×Ļ +×Ļ× ij +ï ¥ +ðĿ ĵ +Ġ× Ļ +× ļ +ั à¸ĩ +â ĵ +ï ¤ +ĠاÙĦ Ø£ +า à¸ģ +à¹ī à¸Ļ +à¹Ģ ร +×ķ× Ŀ +á ¹ +ภ¶ +×Ļ× § +ภĭ +à¸Ħ ร +ภĺ +ั à¸ģ +ðŁ ķ +ÙĪ ÙĨ +à¸Ń ย +â Ĭ +ðĿ Ĵ +ĠاÙĦ ع +า à¸Ļ +×Ļ× Ł +ÙĦ ÙĬ +×Ļ× © +à¸Ľ ระ +à¹Ģ à¸Ľ +Ġ× ł +×ķ× ¡ +ภł +Ùħ ÙĨ +×ķ× ¢ +×ķ× ŀ +â Į +ðŁ § +à¹ĩ à¸Ļ +ภį +ã İ +á µ +ĠاÙĦ س +×ķ× § +ห ล +ðŁ ĩ +â ı +ðŁ ¦ +Ġ×Ķ ×ŀ +ÙĪ Ø§ +Ġ× ª +ר ×IJ +à¸Ń à¸Ļ +ภ© +à¹Ī ว +×ķ× ¦ +í Ĺ +ã Ħ +ï ¨ +ï ¹ +â İ +ï ² +ðĿ ļ +ð IJ +à¸Ħ ว +ห à¸Ļ +Ġ× ¨ +ب ÙĬ +ร à¹Į +ر ا +Ø´ ر +×ķ× Ĺ +×ķ× ¤ +×ķ× © +×ķ× Ĵ +í Ŀ +â Ľ +à¸ķ ิ +à¹Ģ à¸ģ +ï ³ +ï ± +à¸Ķ à¹ī +ë ¹ +ï ¬ +á ¿ +ðŁ Ľ +ðĿ ĸ +à¹Īา à¸ĩ +ู à¹ī +Ġ×Ķ ×IJ +ĠاÙĦ ØŃ +פ ר +ÙĪ Ùħ +à¹Ģ ล +í ĸ +×Ļ× ¢ +ì Ī +í ĵ +ðŁ ħ +á ł +à¸Ħว าม +à¸Ī ะ +׳ ×Ķ +Ġ× § +à¸ Ł +à¹ī à¸ĩ +ห ม +ت Ùħ +׾ ×Ļ +ÙĬ د +à¹Ī à¸Ļ +׊ר +ש ר +à¹Ģ à¸Ĺ +×ŀ ר +ë ĸ +ع ÙĦ +×ŀ ×¢ +â ² +׾ ×Ķ +Ġ× ¤ +à¸Ń à¸ģ +س ÙĦ +×Ļ× ŀ +ÙĤ ÙĬ +í İ +ت ØŃ +×Ļ× ¡ +×Ļ× Ĺ +í Ľ +ï ° +â ½ +á ī +á Ĭ +á ¨ +Ùĩ ا +Ġ׾ ×Ķ +×ķ× IJ +Ùħ ا +à¹īà¸Ń à¸ĩ +ر ب +ĠاÙĦ ج +×ŀ ×ĵ +Ùħ ÙĦ +ت ر +à¹Ģ à¸Ķ +×§ ר +í ħ +ì ¼ +ê ¿ +ã Ī +á IJ +ðŁ Ĺ +ê ¦ +á ĭ +ðĿ Ķ +à¹Ģà¸Ľ à¹ĩà¸Ļ +à¹ĥ ห +ม า +ว à¹Īา +ม ี +ี à¹ī +à¹Ħม à¹Ī +ÙĨ ÙĬ +Ø ¤ +ร า +×ķ ×Ļ +ãĤĪ ãģĨ +ิ à¸Ķ +×Ļ× ¤ +׊׾ +ÙĤ د +à¹Ģ ส +×Ļ× ĺ +à¸ģ ล +ר ׼ +×ķ× Ľ +×Ļ× Ľ +ë Ī +ë ĥ +ðŁ ĸ +á ħ +â ¼ +ã ī +à¹Ħ à¸Ķà¹ī +ת ×Ļ +×Ļ× IJ +ĠاÙĦ Ø¥ +à¸ł า +ร ิ +ÙĤ Ø© +ØŃ د +ê » +ì ± +ת ×Ĺ +ì º +â ĭ +á Ħ +á ¾ +â µ +â ¾ +ĠÙĪ Ø§ÙĦ +׳ ×ķ +Ù Ģ +ÙĬ ا +à¸ģ à¹ĩ +×ŀ ×Ķ +ãģĦ ãĤĭ +ع د +ĠاÙĦ ÙĨ +Ġ×Ķ ×© +Ø ¦ +ั à¹īà¸ĩ +ร ัà¸ļ +ÙĪ ÙĤ +ãģ§ ãģį +à¹Ģ à¸ŀ +׼ ׾ +×ĺ ר +ั à¸Ķ +à¸Ń า +ì ¢ +à¸Ń à¸ļ +à¸ķ ร +à¹Ģ à¸Ĭ +ì Ķ +ãģĹ ãģ¾ +ë ģ +ë ķ +ðŁ Ļ +â Ĵ +á ¶ +à¹ģ ล +ÙĨ ا +à¹ĥห à¹ī +à¹Ħ à¸Ľ +× £ +ั ว +า à¸ĩ +×ĵ ר +×ij ׾ +פ ×Ļ +Ġ× ĵ +ĠاÙĦ Ùģ +à¹Ģ à¸Ĥ +ש ×Ķ +×IJ ר +ë ¬ +ãģ« ãģª +ÑĢ Ð¾ +ว ิ +Ùħ ر +×IJ ת +Ùĥ ر +س ب +ÙĨ ت +ãģĹ ãģĦ +ا ج +à¸Ń รà¹Į +Ùĥ ÙĦ +س Ùħ +ส ิ +×Ļ× ¦ +ë Ŀ +í ľ +ì ī +á Ĩ +Ùĩ Ùħ +à¸Ļ ีà¹ī +ãģĤ ãĤĭ +ãģĦ ãģ¦ +س ÙĬ +׾ ×IJ +د ر +ãģ ļ +ÙĪ Ø¬ +ĠاÙĦ Ø® +ص ر +í ı +à¹īา à¸ĩ +ุ à¸Ķ +×ķ× ĺ +×ij ×¢ +í Ĩ +à¸Ĭ า +ร ม +ש ×ŀ +×ŀ ס +ê ´ +ì ´ +ë ľ +ì ¿ +ì © +ë » +â ¤ +ðŁ Ĩ +á Į +á ķ +ذ ا +à¸Ĺ ำ +à¸ķ à¹Ī +ĠاÙĦ ÙĤ +ÙĦ Ùĥ +ู à¹Ī +à¸Ħ ุ +ÙĬ Ùħ +׳ ×Ļ×Ŀ +ืà¹Ī à¸Ń +ÙĪ Ø¹ +ãĤ ĩ +ا ÙĤ +Ġ×ij ×¢ +à¹Ģ ม +ج Ùħ +á» « +ãģĵãģ¨ ãģĮ +ب د +×ķ× Ķ +ש ׾ +Ùĩ ر +à¹Ģ à¸Ļ +ãģ ¹ +í ĭ +ì » +ì ½ +ë Ń +ì Į +í Ģ +ë Į +ë º +ã Ĭ +à¹ĥ à¸Ļ +Ġ× Ĵ +๠Ĩ +à¸Ī าà¸ģ +ว ย +à¹ĥ à¸Ĭ +à¸ĩ าà¸Ļ +ĠاÙĦ Ø´ +ا ØŃ +à¹īา à¸Ļ +ืà¹Ī à¸Ńà¸ĩ +×IJ ×Ļ +ب ÙĦ +ãģ¨ æĢĿ +׳ ס +ãģ¾ ãģĽ +Ùĥ ÙĨ +×¢ ר +ĠاÙĦ د +ש ת +í ŀ +Ùħ س +ص ÙĦ +×ķ׳ ×Ķ +ار Ø© +ÙĦ Ùħ +ส ม +Ø£ ÙĨ +ת ר +×IJ ×ŀ +ع ب +Ø® ت +ãĤ ĥ +ì ¡ +ì £ +ив а +ส ั +ึ à¸ģ +ì ¸ +ë Ĩ +алÑĮ н +ì ³ +ì į +ê ¼ +ê ½ +ì ı +ã Į +ã ı +ï © +ê ª +á İ +Ġ× ĸ +à¸ģ ัà¸Ļ +×Ļ ×ķ +à¸Ħ à¸Ļ +׳ ×ķת +à¸ľ ูà¹ī +à¹ĥ à¸Ī +ãģĦ ãģŁ +Ùģ Ø± +×ĺ ×Ļ +צ ×Ļ +ãĤĤ ãģ® +ĠاÙĦ ص +ãģ¾ãģĽ ãĤĵ +د Ø© +×ij ×Ļ +ĠاÙĦ ر +Ġ×ŀ ×IJ +ส ำ +à¹Ģ ห +ع ر +ãģª ãģı +à¸ģร ะ +×ij ×ĵ +à¹Ģ à¸Ī +×Ļ× ļ +×Ĺ ×Ļ +ÙĬ ع +ש ×ij +ÙĨ Ø© +ÙĪ Ø¶ +ÙĦ Ùģ +ÙĢ ÙĢ +פ ×¢ +í Ī +×ŀ ×§ +ภIJ +ØŃ Ø© +ا ص +Ñĭв а +à¸Ħ ม +ว ั +à¸Ľ ล +ì Ł +í ļ +ë ´ +ë ij +ë ī +ë ĩ +ì ¨ +ë ± +ë İ +â ¬ +á ¥ +á Ĺ +á Ľ +á į +Å © +à¸Ķ ี +ô i +Ġ× ¡ +׾ ×ķ +á»Ŀ i +à¸Ħุ à¸ĵ +â y +à¸Ļ า +×Ĺ ×ĵ +×ĵ ×Ļ +ห า +ج ÙĦ +à¹Ģ ว +ãĤĩ ãģĨ +Ùħ Ø© +ĠاÙĦ Ùĥ +Ġ×Ķ ×¢ +ج ر +×ĸ ר +ا Ø· +׼ ת +×ķ׳ ×Ļ×Ŀ +ØŃ Ùħ +ê ¶ +ر Ùĥ +Ġ׾ ×¢ +×ķ× ĸ +ส ร +צ ׾ +Ø ¢ +ا ست +à¹Ī ม +Ø® ر +צ ×¢ +×Ļר ×ķת +اد Ø© +Ø´ ار +×ŀ ×Ĺ +í Ĵ +à¹Ģร ีย +×Ĺ ×§ +Ø§Ø « +ร à¸ĩ +à¹Ģ à¸ķ +à¸Ī ำ +ภĿ +à¹Īา ย +à¸Ħ ล +ÙĤ ÙĪ +иÑĩеÑģ к +à¸ĵ à¹Į +ั ย +Ùħ ع +ë ¨ +ë ¿ +ë ® +ï ´ +ì ¥ +ì « +ë µ +á ¡ +â į +ð ĵ +â ° +à¸Ĥ à¸Ńà¸ĩ +Ù ĭ +à¸ģ ัà¸ļ +ãģ® ãģ§ +à¹ī ว +à¸Ńย à¹Īาà¸ĩ +ãģ Ń +á»ĩ t +à¸ķ à¹īà¸Ńà¸ĩ +×ŀ ×Ļ +à¹ģ à¸ļ +×Ĵ ר +ÙĪ Ùģ +ÙĤ ÙĦ +à¸łà¸² à¸ŀ +ר ×Ļ +ล า +ÙĬ س +Ġ× ¦ +ÙĬ Ùģ +Ġ× ĺ +à¸ľ ล +á ng +ร ว +Ġ×ŀ ש +×IJ ×ķת +×ĸ ×Ķ +ู à¸ģ +à¸Ļ ัà¸ģ +اÙĨ ÙĬ +د ا +ãģ ³ +׼ ף +ãĤī ãĤĮ +ãĤĮ ãģ° +ת ×§ +ú c +ÙĪ Ø² +×Ļר ×Ķ +Ġn gh +án h +Ġ×ķ ×IJ +á» ħ +ส ุà¸Ķ +ë į° +ا ض +اÙĦ ÙĬ +ب ار +ع Ùħ +à¸ļ า +ت ج +à¸ŀ ร +×ķר ×Ķ +ả ng +Ø® ÙĦ +ภī +ắ c +ש ×Ļ×Ŀ +í Ķ +Ùģ Ø³ +×Ļ× Ĵ +п ÑĢ +ĠاÙĦ Ø« +س Ø· +ร ูà¹ī +ีà¹Ī ย +à¸Ń à¸Ķ +ãģª ãĤĬ +×Ĵ ×ĵ +ãģĦ ãģ¾ãģĹãģŁ +ס ×§ +Ø® ص +la ÅŁ +ен но +ب ØŃ +ส à¸Ļ +ภ® +ר×IJ ש +Ùħ ÙĪ +دÙĬ د +ษ า +×ķ× ļ +ãĥ§ ãĥ³ +à¸ķ ุ +Ġê µ +ĠÑģв о +צ ×ij +à¸Ń ม +à¸Ľ ร +ت ع +×Ķ ×ª +اÙħ ÙĦ +×ŀ ׳ +ç ¶ļ +ภ¤ +í į +ë ĺ +ë ¤ +ì ij +â ´ +ã ĭ +Ġب اÙĦ +á»ģ u +ĠاÙĦ ÙĦ +à¸ķ ัว +ذ Ùĩ +ึ à¸ĩ +à¹ĥà¸Ĭ à¹ī +á»ĵ ng +à¸Ļ ั +ม าà¸ģ +ãĥ Ł +×ŀ ×ķ +à¸Ĺ ย +á»Ļ i +Ạ± +ả o +à¹Ĥ à¸Ķ +×IJ ׾ +ส าม +ÙĪ Ø¨ +à¸Ĺ ุ +ย ัà¸ĩ +×¢ ת +×ķ׳ ×ķת +à¸Ĥ ึ +à¸Ĥึ à¹īà¸Ļ +à¸ģ à¹Ī +Ạ« +á»ij c +ãģĹ ãĤĩãģĨ +á»ĭ ch +Ġ×IJ ×ķת +Ġש ×IJ +׼ ×ķ׾ +á»Ļ c +ع Ø© +à¸Ĺ ี +à¹Ģ à¸Ń +Ùĥ ت +ãģ » +Ạ» +ìĹ ħ +à¸Ń à¸Ńà¸ģ +اÙĨ ت +à¹Ħ ร +Ġ×IJ ×Ĺר +Ø· ر +ÙĨ د +ื à¹īà¸Ń +Ø· ÙĦ +×IJ ×Ķ +uy ên +í ĸī +×ij ×Ķ +à¸Ħ à¹Ī +à¸Ĭ à¹Īว +ãģĤãĤĬ ãģ¾ãģĻ +ÙĬ ب +×§ ׾ +ãĥ Ļ +Ä © +س ر +า ว +ãĤ ± +à¸ļ ริ +ר ×Ĵ +á»ĥ u +ØŃ ت +×ķ×ŀ ×Ļ +ب ÙĨ +êµ IJ +ÄŁ u +ãģª ãĤĵ +×ij ×§ +Ġפ ר +ắ n +ØŃ ÙĦ +×ij ×Ĺ +ấ u +×ij ×ķ×ĵ +ãĥ ¯ +Ġ׾ ×§ +ั à¸į +à¸ŀ ิ +×Ĺ ×Ķ +×ĸ ׼ +ãĥ¼ãĥ ł +ÑĤ елÑĮ +×ŀ ×Ļ×ĵ +ÙĬ Ø® +Ạ³ +ت ص +à¸ĺ ิ +è¾ ¼ +ì ĵ +Ùĥ Ø© +ÙĤ ب +à¸Ħ à¹Į +à¹īา ย +à¸ĵ ะ +า ะ +ë Ĵ +ê ¾ +ë · +ì ĩ +ê º +ì ģ +ë Ģ +ì ¾ +ë ½ +ë ļ +ì Ń +ì İ +á ij +ë Ĺ +ê Ĵ +à ¡ +à ¬ +ðIJ Į +ã ĩ +ðĿ Ħ +Ġ׾ ×IJ +ãģ¨ ãģĦãģĨ +Ġn hi +×Ļ ×ķת +Ġש ×Ķ +à¹ģล à¹īว +Æ°á»Ľ c +à¸Ķà¹ī วย +à¸Ĺ าà¸ĩ +׳ ת +פ ת +à¹ģ à¸ķà¹Ī +ư ng +à¸Ńย ูà¹Ī +à¹ī ำ +Ġ×IJ ׾ +Ùĥ Ùħ +ấ p +ล à¸ĩ +ãģŁ ãĤģ +×Ĵ ׾ +ห ร +ĠÑĢ Ðµ +à¹Ģà¸Ĥ à¹īา +ÙĤ ر +Ġ×Ķ ×¡ +ÙĪ ÙĬ +สาม าร +สามาร à¸ĸ +Äĥ n +à¸Ń ี +פ ×ķ +×Ļ׳ ×ķ +ว ัà¸Ļ +ặ c +íķ Ļ +×ŀ ת +ê u +Ạ¹ +Ùģ ÙĬ +×ŀ צ +à¸Ħ า +ãģĿ ãģĨ +ãĢ ħ +ا ز +ا Ùĩ +ר ×Ļ×Ŀ +ấ n +ห าร +ạ t +ÙĨ Ùĩ +à¹Ģ à¸Ħร +ج Ùĩ +׼ ×Ļ +ắ t +à¸Ħ à¹īา +ر Ø© +ãĥ ı +Ùĥ ÙĪÙĨ +ứ ng +Ġìļ ° +ย à¹Į +à¹Īว à¸Ļ +à¸ģ ำ +Ø« ر +Ñģ и +ĠاÙĦ Ø· +Ġ×Ķ ×¦ +ĠØ · +ĠاÙĦ ÙĪ +ê¹ Į +ØŃ ÙĬ +ار ات +à¹Ģ à¸ĭ +ب ا +г ÑĢ +ร ี +ืà¸Ń à¸Ļ +ع ت +ÙĤ اÙĦ +د Ùħ +Ø ¡ +Ġ×ŀ ×§ +×ĵ ×Ļ×Ŀ +×¢ ׾ +ãģ Ĵ +ëĭ ĺ +×¢ ×Ķ +Ġìĸ ´ +Ñģ ÑĮ +ÙĤ Ø· +ãĥ Ľ +èĢĥ ãģĪ +à¹ģ à¸Ļ +ÙĪ Ø§Øª +â u +ĠìĤ¬ ëŀ +ห ว +ĠاÙĦØ£ Ùħ +Ġ×Ķ ×ŀש +ب ÙĪ +à¸Ĭ à¸Ļ +ãĤĵ ãģ§ãģĻ +ว à¸Ļ +à¸ģร รม +×ŀ ×ķ×ĵ +Ùĥ اÙĨ +×ķ× £ +ол ог +ت ÙĨ +à¸ķ à¹Į +ê² ĥ +ר ×ĺ +ừ ng +×ķ×ij ×Ķ +Ùħ ØŃ +ĠÐ § +פ ×Ĵ +ส à¸ĸ +ãģĭ ãĤĬ +ını z +à¹Ģ ย +ãĥ¼ ãĥ³ +ãģĬ ãĤĬ +פ ש +ิ à¸ķ +Ø· ÙĨ +×Ļת ×Ļ +×IJ ׳ +ç ek +ì ª +×ŀ ×ij +ศ า +ãĤ¹ ãĤ¿ +à¸ļ ุ +×ĵ ×ijר +ãģĦ ãģı +ส ะ +à¹Ģ หล +ิ à¸ĩ +à¸ŀ ัà¸Ļ +ãģĦ ãģŁãģł +ãĤĤ ãĤī +à¹ī ม +ãģĵãģ¨ãģĮ ãģ§ãģį +าร à¹Į +ุ à¸ĩ +í ij +ì ¯ +ë ¼ +í Ĥ +ì · +ê ¡ +á ı +á Ĵ +ðĿ ľ +á © +ðŁ Ħ +ðIJ ¤ +Ġש ׾ +Ġ×ŀ ×Ķ +à¹ģล ะ +Ġ׼ ׾ +Ạ½ +á»Ļ ng +ذ ÙĬ +л е +× ¥ +ãģª ãģ© +ĠÙĪ Ø£ +หà¸Ļ à¹īา +ãģ¾ ãģ§ +à¸ķà¹Ī à¸Ń +à¸Ĺ ัà¹īà¸ĩ +ãģł ãģij +à¹ģà¸ļ à¸ļ +à¹Ģร า +פ ׾ +ãģŁ ãģĦ +à¹Ģล ย +ãģ£ãģ¦ ãģĦãĤĭ +ế p +ึ à¹Īà¸ĩ +ê ´Ģ +ê³ Ħ +׼ ×ķ +à¹Ģร ืà¹Īà¸Ńà¸ĩ +×§ ×Ļ +êµ Ń +פ ס +ت ÙĬ +ãĥ Ħ +Ġ×Ķ ×Ĺ +г и +ר×IJ ׾ +×ŀ ׾ +ĠØ£ ÙĬ +Ġع ÙĦÙĬ +ãģĭ ãģ£ãģŁ +ש ×Ļ +д Ñĥ +×ŀ ף +׳ ×ĺ +׳ ×Ļת +mi ÅŁ +׼ ×Ŀ +Ġ×ij ר +Ġ׾ ×ij +ĠÐ Ľ +ç e +×ķ׳ ×Ļ +ãĤĪãģĨ ãģ« +פ ×ķר +ãĥ į +Ùĥ ÙĬ +×Ĺ ×ª +Ùģ ÙĦ +Ġ×Ķ ×§ +Ġ×Ķ ×ij +Ġ×ŀ ס +à¹Īา à¸Ļ +п еÑĢ +à¹Īา ว +Ġ×ij ×IJ +ĠÙĪ Ùĩ +à¸Ļ ำ +Ġ×ij ש +׳ ×§ +ãģ© ãģĨ +ש ×ķת +×ĵ ×Ķ +à¹Ģ à¸ļ +ÙĨ س +Ġìļ° ë¦¬ +ส à¹Īวà¸Ļ +ล ัà¸ĩ +ج ز +Ġ×Ĺ ×Ļ +Ùĥ ثر +ล ะ +Ùĩ د +ĠÙĪ Ø¨ +اÙĦ Ùħ +à¹ģ ม +Æ¡ i +Ġ×ij ×Ĺ +ữ a +à¹Ģà¸Ĺ ศ +à¸ķ ัà¹īà¸ĩ +ог да +׾ ×§ +د د +สร à¹īาà¸ĩ +à¸Ĭ ี +Ùģ Ø¶ +à¹ģ ห +uy á»ĩn +ร ัà¸ģ +á»ĩ m +ส า +פ ×§ +ีย à¸ĩ +à¸ķ à¹Īาà¸ĩ +à¸Ħร ัà¹īà¸ĩ +ØŃ ÙĤ +à¹Ģ à¸Ńà¸ĩ +ائ ÙĬ +×ĺ ×¢ +اÙĦ Ø© +ิ à¹Īม +ãĤ ½ +د Ùī +Ġר ×IJ +ãģ£ ãģ¨ +ãĥĥ ãĥĹ +ÙĬر Ø© +ê± ´ +×ŀ ×IJ +×ķ ×ķ +ب ع +ãģ ² +ร าย +×ĵ ×Ŀ +ت Ùģ +à¸ķ à¸ģ +ạ ng +ãĤĴ è¦ĭ +à¸Ĭ ั +Æ°á» Ł +Æ°á»Ł ng +ج ب +×ķ×ŀ ר +ĠìĤ¬ëŀ Į +ó ng +ร ั +Ġ×Ķ ×ĸ +ר צ +Ġ×Ĺ ×ĵ +ذ ÙĦÙĥ +×ķר ×Ļ +ãģ¡ ãĤĥ +Ùģ Ø¹ +Ġ׾ צ +á i +à¹ĩ à¸ļ +ãģ İ +à¸ģ ิ +ạ c +ë© ° +ãģª ãĤĭ +×ķ׾ ×Ŀ +à¹ģ à¸Ĺ +×ķ× ¥ +м еÑĤ +ü ÅŁ +ÑĢ Ñı +ภĴ +ÑģÑĤ оÑı +ع ÙĪØ¯ +Ùħ ار +Ø· Ø© +à¸ŀ ื +к ÑĢ +à¹ģ à¸ģ +à¹Ĥ รà¸ĩ +×ij ×Ļ×ĺ +ê² ł +×ķ׾ ×Ķ +ØŃ ر +ืà¹Ī à¸Ńà¸Ļ +×ķ×ij ר +׊ש +ãĥķãĤ ¡ +×ŀ ×ĺ +ú t +Ġd ön +ắ ng +ëł ĩ +ẳ ng +ว à¸ģ +ص د +Ø® Ø· +à¸Ń ั +ãĤı ãĤĮ +سÙĦ اÙħ +à¹Ģร à¹ĩ +×Ļש ×Ļ +ج اÙĦ +ãģij ãĤĭ +à¸Ĭา à¸ķิ +ÙĪØ§ ÙĤ +à¹Ĥ à¸Ļ +ãģ¦ ãģĹãģ¾ +اع Ø© +ãĤŃ ãĥ£ +à¸į า +ÙĦا ÙĤ +ิ à¸ģ +ĠÑģ ов +ÑĢаРº +×Ļ׳ ×Ļ +ü ÄŁ +Ã¼ÄŁ ü +×§ ×ij +à¹Ī à¸Ńà¸ĩ +Ġger çek +à¸Ĺ ั +ов аниÑı +×ŀ ׼ +س Ø© +×Ļ× £ +le ÅŁ +Ùħ ؤ +ĠìĿ ĺ +à¸IJ าà¸Ļ +ĠÑģ об +Ġêµ Ń +×¢ צ +з в +ส à¸ĩ +ز ÙĦ +ãģı ãĤĮ +и ÑĢÑĥ +ت Ø£ +п олн +ìĺ Ģ +ÙĨ Ø´ +׼ ×IJ +Ùħ Ø´ +à¸Ķ à¹Į +ÙĪ ÙĬÙĦ +à¹ģ à¸Ĥ +ãģ£ãģ¦ ãģĹãģ¾ +но ÑģÑĤ +в л +Ùħ ÙĤ +را ج +å¤ ī +ë Ľ +â ¸ +ì IJ +à » +á ļ +â » +ê Ļ +â § +ð Ĵ +ðĿ ĩ +Ġ×IJ ת +ĠÙĦ ÙĦ +ĠØ£ ÙĨ +Ġ×ķ ×Ķ +ãģ« ãģ¯ +Ġ×Ļ ×© +ت Ùĩ +ÃŃ nh +ÙĬ ات +Ġ×ij ×ŀ +à¸Ļั à¹īà¸Ļ +à¸Ļ à¹īำ +Ãł o +à¸ķ าม +ãģ® ãģ¯ +d ır +Ġn ghi +ặ t +×ŀ ×Ļ×Ŀ +ãģ¦ ãģĦãĤĭ +Ġ×ij ת +หร ืà¸Ń +Ġس ÙĬ +ãģª ãĤī +à¹Ĥà¸Ķ ย +ı yor +à¸Ńี à¸ģ +á»ĩ nh +Ñĭ м +à¸Ĺุ à¸ģ +Ġ׾ ×Ĺ +Ġ×Ķ ×¨ +Ġ×Ķ ×Ļ +à¸ŀ ระ +à¹Ģว ลา +ĠØ º +ẫ n +m Ä±ÅŁ +׼ ×Ķ +á»ij n +ãģ§ ãģĹãĤĩãģĨ +ãĥ ¢ +à¸Ľ ี +ס ×Ļ +ãģĵ ãĤį +Ġ׾ פ +ร à¸ĸ +ê¸ Ī +à¸ģ วà¹Īา +ë ¬´ +á»į ng +ãĤĵ ãģ§ +ãĤĪãģĨ ãģª +á»ĵ i +ãĤ ¬ +ส à¹Īà¸ĩ +×Ļ׳ ×Ķ +à¸ĸ ูà¸ģ +à¸Ī ัà¸Ķ +Ġ×Ķ ×Ĵ +ãĥ ľ +×ŀ ×ķת +ÙĪ Ùĥ +ëĭ ¨ +ĠØ « +ãģ® ãģĮ +à¹Ģห à¹ĩà¸Ļ +ع ا +à¸Ļ ิ +Å ŀ +à¸Ń ะ +ãģĪ ãĤĭ +Ø« ÙĦ +ØŃÙħ د +à¹Ģà¸ģ ิà¸Ķ +פ שר +פ ×Ķ +ม ิ +ئ ÙĬس +à¸Ĺำ à¹ĥหà¹ī +×¢ ×ĵ +ìĭ ¤ +à¸Ĭà¹Īว ย +ĠاÙĦÙħ ÙĨ +ز ÙĬ +ع ÙĬ +Ġ׼ ×IJ +ạ nh +á» ¹ +ãĤĵ ãģª +ส ู +צ ר +Æ°á»Ľ ng +×ķ ×ķ×Ķ +à¹Ĥ ล +ĠاÙĦ Ùĩ +ว า +หล าย +Ñī е +à¸Ĥ à¹īà¸Ń +à¹īà¸Ń ย +ب Ø· +ка Ñı +ĠØ ¢ +Ġи Ñģ +ĠاÙĦ غ +à¸ģ า +à¸Ļ à¹Īา +ÙĬ ÙĪ +×ij ×ķר +á»ħ n +ว à¸ĩ +×Ļ× ĸ +ì² Ń +н им +ëŁ ° +×Ĵ ×ķר +ص ØŃ +ÙĦ ÙĪ +×Ĺ ×ķת +ส ุ +رÙĬ ÙĤ +ס ×ĺ +Ġ×ŀ ×¢ +ãĥĨ ãĤ£ +à¸Ħ ิà¸Ķ +ãĤį ãģĨ +à¹Ħ ล +à¸Ļ à¹Į +á»ı i +ÑģÑĤÑĢ Ð¾ +ส à¸Ķ +ส าร +ÙĪÙĦ Ø© +ầ m +ร à¹Īว +รà¹Īว ม +ร ุ +ĠاÙĦس ÙĬ +ìĺ ģ +Ġ×ŀ ×ij +פ ×ĺ +à¸ķิ à¸Ķ +×ĺ ×Ļ×Ŀ +Ġë ¬´ +ÙĤد Ùħ +Ġdü ÅŁ +ائ ÙĦ +м Ñĭ +ØŃ س +ÙĪ Øµ +×Ļ×§ ×Ķ +ãģ§ãģ¯ ãģªãģĦ +à¹Ģ หม +оÑĢ ÑĤ +í Ĩµ +ãģ IJ +к ÑĢа +ีย ว +ع ار +ئ Ø© +íĥ Ģ +ãģ«ãģª ãĤĬ +ج Ø© +ÙĪÙĤ ع +ÑĮ Ñı +×ķצ ×Ķ +ש ×Ŀ +ب ÙĤ +Ġ×Ļ ×Ķ +ÙĬ Ø· +ım ız +д еÑĢж +×Ļש ר×IJ׾ +غ ÙĬر +ร à¸Ńà¸ĩ +à¹Ģรีย à¸Ļ +Ġ×Ķ ×ĺ +หม าย +Ùħ Ùĩ +اÙģ Ø© +Ġо ÑĢг +ÙĪ Ùī +ãĥ© ãĤ¤ +×ŀ ׳×Ķ +ĠÄij o +Ġг оÑĢ +اÙħ Ø© +æ¥ ½ +Ø« ÙĬر +à¸ģิ à¸Ī +á»ĵ n +ÙĨ ب +ÑĢÑĥ д +ìĹ Ī +Ġ×Ĺ ×ijר +ÑĢаР¶ +ạ ch +ت ÙĪ +à¹Ĥ ม +×ij ×Ļ×ij +Ġí Ĩµ +aca ģı +جÙĦ س +à¹Ģà¸Ľ ล +ว à¸Ķ +à¸Ń ล +ãģŁ ãĤĬ +à¸Ľ ัà¸į +Ġìķ Į +عر Ùģ +à¹Ħ à¸Ł +Ø£ Ø® +å¤ļ ãģĦ +à¸Ķ ัà¸ĩ +Ø´ Ùģ +ãģ£ãģ¦ ãģĦãģ¾ãģĻ +׼ ×ł×¡ +ÑĨ е +еÑģ п +Ùħ اÙħ +à¸ŀื à¹īà¸Ļ +иÑĩеÑģ ки +Ø® د +Ùĥ ÙĪÙħ +Ġ×Ķ ×¨×IJש +ت اب +é£Ł ãģ¹ +ื à¸Ļ +оÑĢ Ð¾ +Ġb öl +×ķ×Ĺ ×ĵ +دÙĬ ر +ắ m +د ع +ãģķ ãģĽ +à¸ĺ ร +à¸ĺร รม +ãģĭ ãĤĤ +å¤ļ ãģı +r ä +س ع +×Ļ׾ ×Ķ +ض ر +ĠاÙĦ شر +×ĸ ×ķר +×¢ ×ijר +ạ m +алÑĮ но +ر ÙĨ +اÙħ ج +׼ ×ļ +d ıģ +д ен +ض ا +ÙĦÙĬ Ùħ +Ġê·¸ 룬 +تÙħ اع +ار ÙĬØ® +à¹Ĥ à¸ķ +ĠÑģ ÑĢед +Ġ׳ ×ķס +ÙĤ بÙĦ +оÑĤ ов +le ÅŁtir +Ġм еÑģÑĤ +سÙĦ Ùħ +Ġ×¢ צ +ĠاÙĦس ÙĦ +еÑĤ ÑĮ +اب Ø© +н ак +สà¸ĸ าà¸Ļ +Ġ×ij ׳ +à¸ļ ัà¸Ļ +׼ ׳ +Ġö ÄŁ +ãģ¨ è¨Ģ +uy ến +di ÄŁ +áºŃ u +ÑĢ Ð°Ñģ +ãĤ· ãĥ§ãĥ³ +n ız +×ķ×ĵ ×Ķ +ت س +Ùħ اÙĦ +à¹Ģห à¸ķุ +ย ว +à¸ŀ ัà¸ģ +ãģĦ ãģªãģĦ +Ġк аÑĩ +ล à¹Į +ר׼ ת +ÅŁt ur +×ŀ ×ķס +ãģ ¥ +б ол +عÙħ اÙĦ +×ķר ת +ÑĨи он +ศ ึà¸ģ +ภı +ÑĢ ÐµÐ½ +اس ÙĬ +ائ ر +à¹Ĥ à¸Ľà¸£ +Ġse ç +غ ÙĬ +Ñį ÑĤ +ен н +ãģª ãģ® +×Ļש ×Ķ +×Ļפ ×ķר +ãģŁãĤģ ãģ« +ز Ø© +Ġç oc +ãĤ¯ ãĥª +ÑĪ ÐµÐ½ +ãĤı ãģij +رÙĬ د +ĠÑĢ Ð°ÑģÑģ +Ùĥ ات +ส à¸Ńà¸ļ +ce ÄŁi +ãĤ¿ ãĤ¤ +à¸ļ ร +ĠاÙĦ بر +׳ ×ķ×¢ +r ün +را ض +ศา ส +à¸ķ รà¹Į +ãģį ãģŁ +×ķ׾ ×ĵ +еÑĢ Ð¸ +íĹ ĺ +ắ p +ت عÙĦ +Ùĥ د +иÑĤелÑĮ но +Ø· Ùģ +Ġав ÑĤом +Ġ×ŀ צ +ÑĪи Ñħ +ات Ùģ +ĠÑħ оÑĤ +Ùİ Ø§ +ãģı ãĤĭ +×Ķ ×¤ +à¹Ĥ à¸Ĺ +à¹ģ à¸ŀ +à¹Ī à¸Ńย +ĠاÙĦÙħ Ø´ +à¸ģาร à¸ĵà¹Į +ани з +×Ķ ×ľ +ظ Ùħ +ย ุ +li ÄŁ +à¹Ħ à¸Ĥ +à¸ĸ ืà¸Ń +ö z +ãģij ãģ¦ +à¹Ģ à¸ľ +ุ ม +ãĥĹ ãĥ¬ +Ġ×Ķ×IJ ×Ĺר +خت ÙĦÙģ +à¸ İ +ÙĦا ØŃ +Ġdü zen +צ ×Ķ +س اء +×ķר ×ļ +×ķ×ĵ ×Ļ +ÑĢа ÑĦ +ÅŁt ır +ãģ« åħ¥ +ãģĪ ãģ° +ص ÙĪÙĦ +ĠÐľ оÑģ +ا Ùĩر +ãģ£ ãģ +ĠлÑİ Ð± +×Ļ×¢ ×Ķ +Ġ×Ķ×ŀ ×§ +สิ à¸Ĺ +สิà¸Ĺ à¸ĺิ +×Ļ׳ ×Ŀ +ÙĦا Ùģ +à¸ŀัà¸Ļ à¸ĺ +×ķ×IJ ×Ķ +ม ั +à¸Ĥ à¸ĵะ +д оÑĢ +ãģ¨ ãģª +à¸ģระ à¸Ĺ +ac ı +×ķ׾ ×ķ×Ĵ +Ñĥ ÑĪ +ãĥ¥ ãĥ¼ +ãĥ ¦ +Ùħ ست +Ġa ÅŁ +ש ×§ +פ ת×Ĺ +าย à¸Ļ +í ĩ +ë ¢ +ï · +í ī +ì µ +ì ¬ +ðĿ Ľ +ì Ĵ +ë Ļ +ê § +á ĸ +â ¨ +â ± +á ĺ +ð ĸ +à ł +á Ķ +ðIJ Ń +ữ ng +Å© ng +Ġ×Ķ ×ª +ĠاÙĦ ا +Ġ×ŀ ת +à¸ĸ ึà¸ĩ +ò n +á»ĭ nh +нÑĭ м +Ġc ả +à¸Ķ ู +Ġ à¹ģà¸ķà¹Ī +Ġ×ij ×Ķ +ó i +ãģ¨ ãģĹãģ¦ +ú ng +ĠØ ° +Ġ×Ķ ×ł +Ġب ÙĨ +ÙĦ اÙĦ +à¹Ħ à¸Ĺย +á»ĩ p +t ı +ม ัà¸Ļ +ằ ng +á»ij t +к ом +à¸ĭ ึà¹Īà¸ĩ +à¸Ħร ัà¸ļ +à¸ļ à¹īาà¸Ļ +ĠاÙĦ ÙĬ +l ü +ÙĪ Ø³ +ãģł ãģ£ãģŁ +à¹Ģ à¸ĩ +Ġê³ µ +н Ñĥ +ãĤĪ ãĤĬ +м Ñĥ +à¹Ģà¸Ĥ า +ãĤ Ģ +ни е +ãģ«ãģª ãĤĭ +áºŃ y +ĠÙĪ Ø§ +ëł ¤ +ש ×ķ +á p +×ĵ ×ķ +ãģ§ ãģĹãģŁ +ع ض +Ñģк ой +æĦŁ ãģĺ +ÑİÑĤ ÑģÑı +Ġ×Ļ ×Ľ×ķ׾ +ãĤĵ ãģł +в и +à¹Ģล à¹Īà¸Ļ +ìĿ´ ëĭ¤ +ĠÙĦ Ùĩ +à¸Ħ ืà¸Ń +ت Ùĥ +Ùħ ÙĥÙĨ +a ģı +׳ ×ĵ +ë¯ ¼ +à¹Ħ ว +สำ ห +สำห รัà¸ļ +Ñģл ед +t ır +ĠÙĦ ÙĬ +ĠاÙĦع ÙħÙĦ +×ij ×ķת +×ij ×Ļ×Ŀ +à¸Ħ ำ +à¹Ģà¸Ħร ืà¹Īà¸Ńà¸ĩ +lı ģı +ืà¸Ń à¸ĩ +ج د +íŀ Ī +ìĭ ¬ +×¢ ×ķת +ส ิà¸Ļ +Ñĩ и +ر ض +à¹Ģà¸Ľ ิà¸Ķ +à¸Ħ à¹Īา +ìĦ ł +ÙĪØ± Ø© +×§ ×ĺ +ìľ ł +ع ÙħÙĦ +×IJ ×Ļ×Ŀ +׾ ×Ļ×Ŀ +à¹ĥห à¸į +à¹ĥหà¸į à¹Ī +ừ a +á»į i +ãģ ¶ +ÃŃ ch +ãĥĩ ãĤ£ +×ķר ×Ļ×Ŀ +Ñģ о +ìķ ½ +ов а +Ñĩ аÑģÑĤ +à¹Ģà¸Ī à¹īา +п ÑĢо +Ġ×ŀ ×Ĺ +ãĥ İ +×ķ×Ļ ×ķת +Ġд е +ë§ Ī +ì§ ģ +×Ļפ ×Ķ +ĠاÙĦع اÙĦÙħ +ë¥ ´ +ר×IJ ×Ķ +uy á»ĥn +×¢ ×Ļ +ม ืà¸Ń +Ø¥ ÙĨ +ร ู +ĠØ ² +×Ļ ×ķ×Ŀ +à¸ķ à¹īà¸Ļ +ãģ¦ ãģĦãģ¾ãģĻ +Ùħ اÙĨ +ĠÐ ¥ +à¸Ľà¸£à¸° à¹Ģà¸Ĺศ +á» ³ +׾ ×ij +à¹Ģà¸Ķ à¹ĩ +ãģŁ ãģ¡ +à¸Ĺี ม +à¸Ļ ะ +ìĹ ° +Ġìł Ģ +ÙĦ Ùĩ +ợ i +ĠاÙĦ ز +د ار +ãĤ³ ãĥ³ +м ин +à¹ģห à¹Īà¸ĩ +à¸Ķ ัà¸ļ +׼ ר +ж а +íĸ Ī +×ŀ ×ĸ +ợ i +à¸Ķ า +Ġع بد +à¹ģ ร +×IJת ר +×¢ ׳×Ļ +à¹Ģ à¸Ħ +×ķצ ר +ì§Ģ ë§Į +ائ Ùħ +Ø£ س +uy á»ģn +Ġ×IJ ׳ +׊׳×ķ +×ĸ ×Ļ +ร à¹īาà¸Ļ +ĠÐł оÑģ +ĠÐłÐ¾Ñģ Ñģ +رب ÙĬØ© +t ür +ãĤĭ ãģĵãģ¨ +ظ ر +б Ñĭ +à¸Ĺีà¹Ī สุà¸Ķ +Ġצ ר +èĩª åĪĨ +л аÑģ +ĠÑı в +ĠÑıв лÑı +à¸ŀร à¹īà¸Ńม +à¸Ńา à¸Ī +à¸ļริ à¸ģาร +Ġç ı +ëį ĺ +ĠاÙĦÙħ ست +ت Ø´ +ש ×ķ×ij +ãĤ ´ +Ġyap ıl +ĠاÙĦ ذ +ุ à¹Īม +à¸ĸ à¹īา +ìĦ ¤ +ì° ¨ +в аÑĢ +à¹Ģà¸ŀ ิà¹Īม +Æ°á»Ľ i +Ùĥ س +à¸Ńย าà¸ģ +ãģ¦ ãĤĤ +Ġг од +ÙĬ ار +à¸ķ à¸Ńà¸Ļ +Ġиг ÑĢ +à¹Ħà¸Ķà¹ī รัà¸ļ +ĠاÙĦÙħ ر +ÙĤ ت +Ġë ĺ +Ġëĺ IJ +ẩ n +ãģĻãĤĭ ãģĵãģ¨ +×Ĵ ×Ŀ +Ġ×ij ×ij +ت د +ÙĪ Ø§Ø± +ãĤ ® +п ол +Ġм ог +تر Ùĥ +ÙĪ Ø« +Ġç ık +ا Ø© +à¹Ģà¸Ķ ียว +มี à¸Ħวาม +Ġ×ŀ ×Ĵ +ص Ùģ +ĠТ ак +Ġ׼ ת +×Ļ×ĵ ×Ļ +ов оÑĢ +ầ y +สิ à¹Īà¸ĩ +ب ت +ür ü +ÙĨ ج +หล ัà¸ģ +×Ļ×Ķ ×Ŀ +ÙĤ ص +з Ñĭ +×Ľ×ª ×ij +ư u +m ız +ĠìĦ ¸ +л ог +Ùħ ÙĬÙĦ +ÙĬ ج +íĴ Ī +à¸ŀ à¸ļ +ห ัว +з на +ר ×§ +à¹Ĥ ร +Ġ×ij ס +ĠBaÅŁ kan +ĠëĶ ° +à¸Ń ัà¸Ļ +ีà¹Īย ว +н еÑģ +à¹Ģà¸Ķ ิà¸Ļ +ÙĬ اÙĨ +×ķ׾ ×Ļ +ا خت +צ ×ķת +ãģĵ ãģĵ +ĠاÙĦ اÙĨ +ĠпÑĢо ÑĨ +ãģ¾ ãģł +׼ ס +ĠاÙĦ Ø¢ +ÙĬ ز +ĠاÙĦد ÙĪÙĦ +Ġíķĺ ëĤĺ +ض ع +ê» ĺ +ÅĽ wi +ย ิ +ãģ¡ãĤĥ ãĤĵ +ĠÙħ Ø´ +à¸ĺ ี +ãģ¨ ãģį +׳×Ļ ×ķת +Ġë ¯ +Ġë¯ ¸ +Ġs ı +ëĭĪ ê¹Į +Ġп л +غ ÙĦ +à¹ģ รà¸ĩ +ب ÙĬر +ãģĤãĤĬ ãģ¾ãģĽãĤĵ +ê· ¼ +Ġy üz +ĠdeÄŁ er +åł´ åIJĪ +á» ¡ +м аÑĤ +รา à¸Ĭ +ÙĪØ± ÙĬ +ж ен +ãģ¾ ãĤĬ +ãģ® ä¸Ń +×Ļ×ĵ ×¢ +à¸Ń ุ +à¸ļ à¸Ńล +à¸Ľà¸±à¸į หา +ز Ùħ +ÄŁ a +à¸Ń ืà¹Ī +à¸Ńืà¹Ī à¸Ļ +п л +Ġне обÑħодим +׼ ×ij +à¹Ģ ศ +קר ×Ķ +ì² ĺ +ëł ¨ +×ŀ×§ ×ķ×Ŀ +jÄħ c +Ùĩ ÙĦ +Ġ×¢ ×ij×ķ×ĵ +à¹Ħม à¹ī +à¸ģล ัà¸ļ +×ķ׼ ׾ +×§ ×ĵ +اÙĦ ÙĬØ© +ر Ùĩ +ãģij ãĤĮãģ° +ĠÙĨ Ù쨳 +ãĤ¢ ãĥ« +ìĹ Īëĭ¤ +×§ ×ķר +н еÑĢ +ب اب +ãĤ ¶ +سب ب +ÙĦ ÙĬÙĦ +ص ÙĨ +ص در +ế m +à¸Ĭà¹Īว à¸ĩ +ØŃ ÙĨ +Ġ×ij ×Ĵ +×ŀ ×ķ×¢ +׾ ×Ĺ +大 ãģį +ت ب +н еÑĤ +×Ļ×ij ×Ķ +б л +ãĥĹ ãĥª +اص Ø© +ãģ¤ ãģij +×Ļ×ŀ ×ķש +ãģĮ ãģĤ +ëĭ ´ +ãģĭãĤĤ ãģĹ +ãģĭãĤĤãģĹ ãĤĮ +ãģ¡ ãĤī +×ij ×ĺ +Ġba ÄŁ +×Ļ×Ĺ ×¡ +×ij ×ķ×¢ +ล ี +פע ×Ļ׾ +им и +g ÅĤ +Ġим е +خد اÙħ +×IJ ×Ļר +Ġy apt +ãģ¨ ãģĦ +à¸ĩ à¹Īาย +׾×Ļ ×ķ +ØŃد Ø« +را ÙĤ +ĠÄIJ i +اد ر +ãģĵãģ¨ ãĤĤ +×ij ×Ļר +Ġв з +ض اÙģ +ת ×ķ׼ +ÑĢ Ð¾Ð¼ +ر ات +à¹Ģà¸Ĺ à¹Īา +ãģĺ ãĤĥ +ãģĿ ãģĵ +اج تÙħاع +à¹īà¸Ń à¸Ļ +ÙĤ Ùħ +ë³ ¸ +Ä ŀ +ש ×Ļ×ķ +×ij ׳×Ļ +ìľĦ ìĽIJ +à¹ģ à¸Ī +×Ĺ ×ķר +دÙĬ ÙĨØ© +ت Ø· +ằ m +ò a +ย à¸Ńà¸Ķ +Ġëĭ ¹ +สุ à¸Ĥ +×ĵר ×ļ +د ÙĨ +س ÙĬÙĨ +ÙĪÙĤ Ùģ +ÑĨ Ñĭ +г оÑĤов +еж дÑĥ +à¸ŀ วà¸ģ +اÙĤ تص +اÙĤتص اد +cz ÄĻ +ni ÄĻ +ÑĢ ÐµÐ± +ØŃ ÙĪ +à¸Ĺ à¹Į +ãĤĪ ãģŃ +д ж +à¸ģล à¹Īาว +دÙĬ Ø« +ãĤ³ ãĥŁ +ÙĤ ÙĪÙħ +Ġت ØŃ +à¹Ģ à¸ķิ +اÙģ Ø¸ +à¸Ī ุ +رÙĬ اض +×ŀש ×ļ +à¹Ĥ ย +еÑĢ Ðµ +ãģ¿ ãģŁãģĦ +ìĿ´ ëĿ¼ +ĠاÙĦÙħ ÙĪ +ĠÑģÑĤ о +à¹Ģรà¹ĩ ว +Ġд еÑĤ +ĠÑģ дел +à¹Ģà¸Ĭ ืà¹Īà¸Ń +פ ׳×Ļ +ÙĪØ¶ ÙĪØ¹ +×ij ס +à¹ģ à¸Ķ +ó c +ริ ม +ÑĢаР´ +ìĪ ł +ãĥ¼ãĤ º +ãģ« ãģĬ +и но +פ ×Ļ׾ +à¸Ĭั à¹Īà¸Ļ +×Ĺ×ĵ ש +à¹Ģà¸Ļ ืà¹Īà¸Ńà¸ĩ +׳ ×Ļס +غ رب +ãĤ¸ ãĥ£ +ส ัà¸ĩ +à¹Ģ à¸Ĺีà¹Ī +à¹Ģà¸Ĺีà¹Ī ยว +ëŁ ¼ +à¹ģ à¸Ł +ãĥ¼ãĤ · +ãĥ¼ãĤ· ãĥ§ãĥ³ +Ġвоз мож +جÙħ ÙĪØ¹ +×ijר ×Ļ×Ŀ +ãĥĪ ãĥ© +ĠкаÑĩ еÑģÑĤв +Ø· ÙĬ +ÑĤ Ñı +צ ×ķ×¢ +ÄŁ ını +ع ÙĦÙī +ا ذ +ÙĪØ§ÙĤ ع +Ùħ ÙĪØ§ +ائ ÙĬÙĦ +к ол +á»ģ m +à¸ľà¸¥ ิà¸ķ +×Ļ׳ ×ĺר +س Ùĥ +ש ×Ļר +ศึà¸ģ ษา +à¸ļ ั +Ñĩ аÑģ +×ķפ ×Ķ +×Ļפ ×ķ׾ +ĠاÙĦس اب +رÙĬ ب +ĠاÙĦ بÙĬ +ãĤ¹ ãĥĨ +Ñĩ ен +à¹ģ à¸ľ +Ġ׳ ש +ز ÙĬد +ØŃ اد +ëį Ķ +رÙĪ Ø¹ +à¸Ĺุ à¸Ļ +ส มา +c zeÅĦ +×Ļ×ĵ ×Ķ +ãģ§ ãģĤ +Ġçoc uk +Ø® ب +à¸ļ าย +à¸Ľà¸£à¸° à¸Ĭา +×ŀש ׾ +ãģª ãģĭ +à¸ģ าย +ãĥģ ãĥ£ +аÑĢ Ð¸ +ĠÑĩ а +à¸Ķ ำ +à¸Ĺั à¹Īว +Ñĥ Ñħ +Ġö z +Ġì¢ ĭ +ج رÙĬ +ائ ÙĤ +à¸ł ัย +Ø· ار +د ارة +Ä© nh +Ø« ÙĨ +zell ik +اÙĦ ت +Ġg eli +ãĥķãĤ © +ол од +رب ع +שת ×ŀש +à¸ļร ร +íĿ ¬ +Ġü rün +Ġê·¸ ëłĩ +ศาส à¸ķรà¹Į +ãģ ľ +×Ļ×ij ׾ +ĠпÑĢед ÑģÑĤав +سط ÙĬÙĨ +ãĤĴ 使 +Ġпом оÑī +×ķ×§ ר +ãĥ¯ ãĥ¼ +Ġyö net +×Ļ×§ ר +à¸Ĥ า +еÑĢи ал +ØŃ Ùģ +Ġ×Ļ ×¦ +à¸Ĺ ิ +å£ ² +à¸Ļ à¸Ńà¸ģ +×ķ׼ ר +íĻ ľ +á»§ y +ĠاÙĦÙĤ ر +×Ļ×ij ×ķת +ÅĽ ni +Ùħ شار +ượ t +ĠÙĦ دÙĬ +ÑĤ ел +ĠØ¥ ÙĦÙĬ +عÙĦ ÙĪÙħ +ìķ ĺ +в иÑĤ +à¸Ħ ะ +yr ı +ãģ¨ ãģ£ãģ¦ +à¹Ģ à¸ī +à¸ĸ าม +ÙĤ ار +عÙĦ اÙħ +ặ ng +Ùħ ÙĴ +×Ļ×ŀ ת +سب Ø© +ãĤ¯ ãĥ© +×ķס ×£ +ĠпÑĢ Ð¸Ð½ +ãģĦ ãĤį +س اس +عت بر +วิ à¸Ĺย +วิà¸Ĺย า +س Ùĥر +ãĤ· ãĥ§ +ãģ ģ +ัà¸ģ ษ +×ij ×ķ×Ķ +ห ย +ãģ¾ ãĤĮ +ĠоÑĢг аниз +каз ал +ĠÑģв Ñıз +uy ết +ĠпÑĢо из +Ġ×§ ×ĺ +à¹ģà¸ģ à¹ī +п ÑĥÑģ +Ġê·¸ ê²ĥ +ëĬ IJ +л екÑģ +ãĥ¼ãĥ Ĺ +à¸ķ ำ +ת×Ĺ ×Ļ׾ +à¸Ńà¸ĩ à¸Ħà¹Į +Ạµ +׳ צ +Ø£ Ø´ +Ø´ Ùĩ +ย ะ +à¸ģ à¸İ +ĠاÙĦØ¥ سÙĦاÙħ +ед ÑĮ +ãģ² ãģ¨ +ëıĦ ë¡Ŀ +ãģ© ãģ® +Ñĥ в +еÑĩ ение +ĠاÙĦت ج +ãģ« è¡Į +Ġп озв +ãĤı ãĤĬ +ÙĦ اث +íķĺ ìĺĢ +Ġм аÑĢ +Ġkon uÅŁ +ãĥ¬ ãĤ¹ +ãĤĴ æĮģ +ĠоÑģ нов +×Ĺ ×ij +ÙĪØ¬ ÙĪØ¯ +פ ×ķף +в оÑĢ +Ġн ик +ãģĭ ãĤĭ +ÅŁtır ma +×Ļס ×ĺ +Ø£ ÙĦ +ห à¹Į +и она +лÑĮ н +Ġг оÑģ +ĠÐľÐ¾Ñģ к +ÑĢ Ð¾Ð± +×ķ×IJ ×Ļ +ãģĬãĤĬ ãģ¾ãģĻ +ãģ£ãģ ± +к л +à¸Ļ à¸Ķà¹Į +رÙĬ Ùģ +اس ب +ĠÑĢ ÐµÑĪ +Ġд ол +ãģ¹ ãģį +×Ļ×ij ×ķר +м еÑī +Ġна ÑĪ +à¹ģ à¸Ľà¸¥ +ÑĢ Ð¸ÑĤ +кÑĥ Ñģ +и ÑĢа +аÑĤ ÑĥÑĢ +ÙĪØ§ صÙĦ +à¹Ģà¸ľ ย +à¸Ń ำ +à¹Ģà¸ģ ิà¸Ļ +غ Ùħ +ãģĻ ãģİ +lı kl +ÅĦ sk +ê² ¬ +×Ļ׼ ×Ķ +׊ש×ij +ÙĪØ± ÙĬØ© +Ġд ейÑģÑĤв +×Ĺ׾ ×ĺ +Ġ׾ ×ŀ×¢ +צ׾ ×Ļ×Ĺ +еÑĩ а +Ùģ Ø§Ø¹ +×Ĵ ×Ļ×ĵ +áºŃ m +ÄĻ b +Ø´ ع +ãģı ãĤĬ +à¸ŀ ุ +ед еÑĢ +à¸Ĥ à¸Ļ +à¸Ħ าร +ĠболÑĮ ÑĪ +ãģı ãģªãĤĬ +à¸ĵ า +×ĵ ×ķ×Ĵ +Ġм н +ä¸Ĭ ãģĮ +ç¶ļ ãģį +ฤ ษ +ภĨ +Ø® ÙĬ +à¹Ģà¸Ĺ à¸ŀ +สั ม +à¹Ģส à¸Ļ +à¹Ģสà¸Ļ à¸Ń +ãĥ ´ +Ġи ÑģÑĤ +با شر +ĠÑĥ ÑĢов +×ŀ ×ķ×ĸ +ab ı +wa ż +×ķצ ×IJ×Ķ +ÑĤ веÑĢ +à¸ŀัà¸Ļà¸ĺ à¹Į +׳ ×Ĵ×ĵ +ãĤĭ ãģĵãģ¨ãģĮãģ§ãģį +ĠÑĤÑĢ ÐµÐ± +à¸ģร ุà¸ĩ +ØŃت اج +à¹Ģ à¸Ħล +ã Ĩ +ÄĻ tr +Ġszcz eg +Ġר ש +à¸Ĺ à¸ĺ +Ġн ек +Ġнек оÑĤоÑĢ +в ÑĪ +Ð ¬ +à¹Īว ย +ล ุ +б ÑĢÑı +หม ูà¹Ī +à¹ģ à¸ķà¸ģ +ר׼ ×Ļ×Ŀ +Ġí ĸī +ã i +Ùĥر Ø© +â Ń +í IJ +ã į +á ģ +â ® +â ¥ +ì ® +à ¿ +â ¿ +á Ĥ +á ¤ +â ł +í Ł +ðIJ į +ðIJ ° +ðĿ Ĩ +ðŁ Ī +Ġ×¢ ׾ +Ġع ÙĨ +ĠÙħ ع +Ġ×ĸ ×Ķ +ĠÙħ ا +Ġm Ãł +Ġd ụ +á»ĩ c +а Ñħ +s ı +íķĺ ê³ł +Ġ×ķ ×ij +ĠÐŁ о +×ķת ר +ĠÙĦ Ùħ +Ġ×ķ ׾ +ãģĹãģ¦ ãģĦãĤĭ +Ġ×ŀ ×Ļ +Ġب ÙĬÙĨ +з а +ĠÙĥ اÙĨ +Ġ×Ķ ×Ļ×Ķ +ëħ Ħ +×IJ ×ķ +д и +ĠпеÑĢ Ðµ +d ı +Ġ׾ ש +Ġש ×ŀ +ãģĮ ãģĤãĤĭ +ãģĦ ãģĦ +ÑĢ Ðµ +×§ ×ķ +и ли +м е +ÙĬ ت +ãģ§ ãģĤãĤĭ +Ġв о +à¹ĥ หม +à¹ĥหม à¹Ī +Ġש ×ij +Ġ à¹Ĥà¸Ķย +ÙĬ Ùĩ +ãģ§ãģĻ ãģĮ +ãģ¨ ãģ¯ +ר ×ķ +Ġ à¸ĭึà¹Īà¸ĩ +ãģ§ãģį ãĤĭ +м о +à¹Ģà¸ŀ ืà¹Īà¸Ń +צ ×ķ +×ĺ ×ķ +ìķ Ī +Ġh á»į +à¹Ģà¸ĩ ิà¸Ļ +ĠاÙĦ ب +Ġ มี +ë¬ ¼ +Ñģ е +ëĵ¤ ìĿ´ +Ġë§ IJ +Ġl Ỽ +a ÅĤ +×Ĺ ×ijר +Ġd á»± +ÙĬ Ø« +Ġth á»ĭ +à¸ģà¹Ī à¸Ńà¸Ļ +Ġ×ij ׼׾ +ãģ ¸ +ã썿ĢĿ ãģĦãģ¾ãģĻ +ả nh +ย า +Ùģ Ø§ +ส ี +à¸ķ า +ë² ķ +ãĥª ãĥ¼ +รา à¸Ħา +Ġ×ķ ׾×IJ +ãģ¨ ãģĵãĤį +à¹Ģล ืà¸Ń +di ÄŁi +ÙĪ Ø§ÙĨ +Ġ׾×Ķ ×ª +รว ม +פ ×Ļ×Ŀ +à¸ľ ม +ж и +c ı +ÑĢ Ð¾Ð´ +Ġkar ÅŁÄ± +×Ĵ ×ķ +ãģ« ãģ¤ +ãģ«ãģ¤ ãģĦãģ¦ +r Ãł +×Ļ×ķת ר +ĠìĨ Į +×§ ×Ķ +ÑģÑĤв о +ãģij ãģ© +g é +à¸Ķ à¹īาà¸Ļ +çļĦ ãģ« +ĠÙĬ ÙħÙĥÙĨ +ìĨ į +ÙĬ Ùĥ +à¹Ħว à¹ī +Ñģки й +ì m +Ġ׾×IJ ×Ĺר +à¸Ńา หาร +Ġà¹Ģ à¸ŀ +รา ะ +ล ูà¸ģ +ÑģÑĤ а +Ġìľ ł +ÙĤ ÙĪÙĦ +б оÑĢ +Ñģк ого +หล ัà¸ĩ +à¸Ĥ à¹Īาว +à¹Ģม ืà¸Ńà¸ĩ +ê° ģ +t Ãł +ÙĬ ÙĬÙĨ +عر ض +ë° © +Ġëı Ļ +Ġà¹Ģ à¸Ľ +Ġà¹Ģà¸Ľ à¹ĩà¸Ļ +ç i +li ÄŁi +ìĹIJ ê²Į +ãĤ¿ ãĥ¼ +Ġ׾ ת +פ ×ķת +à¸Ĥ à¸Ń +ر س +ìł IJ +à¸ľ à¹Īาà¸Ļ +ÑĦ и +ج ÙĨ +ì¢ ħ +Ġ×Ķ ×¤ +Ġn go +á»ĭ a +Ġtá» ķ +Ġê·¸ 리 +à¹Ģม ืà¹Īà¸Ń +ذ Ùĥر +ìĸ ij +ìĹ Ń +×ĺ ׾ +k ı +Ġع ÙħÙĦ +Ġع ÙĨد +à¸ĭ ืà¹īà¸Ń +Ġê± ° +в е +r ü +à¹Ģ à¸Ńา +ส à¹Į +à¸Ī à¸Ļ +ס ת +Ġgi ả +ãĤĭ ãģ¨ +à¸ģำ ลัà¸ĩ +н ей +à¸Ī ริ +à¸Īริ à¸ĩ +Ġë į +Ġëį Ķ +à¸Ħà¹Ī ะ +ì n +Ġsü re +Ġqu y +à¸ļ าà¸ĩ +åıĸ ãĤĬ +ר ×Ĺ +×ij ת +ãģĮ ãģĤãĤĬãģ¾ãģĻ +ר ש +ìĹIJ ëĬĶ +Ġ×IJ פשר +ay ı +ãģĮ ãĤī +ØŃ ب +ан Ñģ +س ÙĪ +ĠпÑĢ Ðµ +د ÙĪ +ãģ« ãĤĪ +à¹Ģà¸ģ ม +สู à¸ĩ +m akt +makt ad +maktad ır +Ġön em +×Ļ×ŀ ×Ļ×Ŀ +б о +ÙĪ ÙĬØ© +รู à¸Ľ +à¹Ĥล à¸ģ +Ùħ ÙĬع +ÑģÑĤ Ñĥп +à¹Ĥ à¸Ń +دÙĬ ÙĨ +ì¤ ij +ãģĹãģ ı +à¹Ģส ีย +в Ñĭ +Ùħ ت +íĺ Ħ +ãĥIJ ãĥ¼ +ا Ø´ +×§ ס +Ġtá» ¥ +ล à¸Ķ +Ùģ Ø© +í ijľ +ر ج +k ÅĤad +ĠÅŁ ey +ĠØ£ Ùħ +Ġà¹Ģ ม +Ġب ÙĦ +Ñģ каÑı +ãģ¨ ãģ® +Ġìĭ ¤ +ấ m +ห à¹īà¸Ńà¸ĩ +à¸Ĭ ม +d ü +Ġç ek +Ġê³ ł +×Ĵ ×ij +à¸Ĭี วิ +à¸Ĭีวิ à¸ķ +Ù쨶 ÙĦ +ภ¯ +ç ı +Ġب Ø´ +ĠÙĩ ÙĨا +ãģį ãģ¾ãģĹãģŁ +t ü +Ġìĺ ģ +ĠTür k +к ÑĤ +פר ס +ãģ¨ãģĦãģĨ ãģĵãģ¨ +í ĶĦ +à¹ģร à¸ģ +ר ×ķף +Ġar as +×ŀצ ×IJ +Ġtá» ī +س ا +à¸ŀ à¸Ń +ĠاÙĦÙħ ØŃ +ãĥ ¤ +ĠاÙĦ است +Ùģ ÙĨ +×Ļ×ŀ ×Ķ +ر ت +ãģ¨ ãĤĤ +Ġна Ñģ +п ÑĢи +Ġ×Ĺ ×ķ +и ла +ÙĬ Ø´ +Ġgö z +Ġ×ij ׳×Ļ +ım ı +ĠÑĤ еÑħ +Ġh á»Ļ +غ ر +к он +اØŃ ت +Ġ à¸ŀ +à¸Ń à¸Ńà¸Ļ +à¸Ńà¸Ńà¸Ļ à¹Ħล +à¸Ńà¸Ńà¸Ļà¹Ħล à¸Ļà¹Į +Ñħ о +Ñı в +à¹ģ สà¸Ķ +à¹ģสà¸Ķ à¸ĩ +à¹Ģà¸ŀ ียà¸ĩ +ÑĤ ов +ا ÙĬ +Ġ×Ķ ×ĵ +Ġ×ķ ׼ +ãĤī ãģĦ +×ķפ ף +Ġë ¶Ī +ล à¸Ńà¸ĩ +Ø· اÙĦ +Ġн и +ĠÙħ ست +ế c +Ġש ׼ +ĠëķĮ 문 +วัà¸Ļ à¸Ĺีà¹Ī +×Ļ׾ ×ĵ +ØŃ ا +е ÑĨ +Ġc ứ +×ĵ ×ķר +ĠÙħ ØŃ +ר׼ ×ij +بÙĬ ع +ни и +ĠاÙĦØ£ ÙĪÙĦ +à¸Ħว ร +ã썿ĢĿ ãģĨ +ĠС о +ائ ÙĬØ© +ر اء +оÑģ об +Ġب Ø£ÙĨ +×¢ ×ķ×ĵ +ĠÑĤ е +ãģĵ ãģĨ +ÑģÑĤ ÑĢа +ай н +Ġsö z +ت ÙĨا +à¸Ń ิ +ặ p +ĠìķĦ ëĭĪ +íķ Ń +Ġר×IJ ש +Ġ à¹Ħà¸Ķà¹ī +Ġ×Ĵ ×ĵ +Ġס פר +обÑī е +ĠÙĪ Ø¥ +ada ÅŁ +ãģ¡ ãĤĩ +×§ ×ķ׾ +ÑĢ ÐµÐ· +ĠdÃ¼ÅŁ ün +Ġ×ij ×IJ×ŀ +Ġìĸ´ ëĸ +ער ×ij +н ее +ĠÑģÑĤÑĢ Ð°Ð½ +س اÙĨ +yn ı +ĠاÙĦر ئÙĬس +ãģĹãģ ª +Ġ׳ ת +ãģ«ãģª ãģ£ãģŁ +g ü +åıĹ ãģij +׾ ת +ìł Ī +ëĬĶ ëį° +Ø® ÙĬر +à¸ķà¹īà¸Ńà¸ĩ à¸ģาร +ĠÙĦ Ø£ÙĨ +Ġch á»ĭ +ÙĪ Ø© +à¹ĥ ส +ë¶Ģ íĦ° +íķĺ ë©´ +ữ u +à¹Ģหม ืà¸Ńà¸Ļ +б еÑĢ +ĠìĿ´ ìļ© +ĠÑģ еб +wiÄĻ ks +Ġ׳ ×¢ +ÑĤ ÑĥÑĢ +Ġngh Ä© +ש ×ķ×ĺ +ti ÄŁi +Ġde ÄŁi +×IJ ×ij +Ġ×ŀ ×ŀ +ãĥĹ ãĥŃ +wa ÅĤ +à¸Ī ึà¸ĩ +Ø® دÙħ +×IJ ×Ŀ +Ä±ÅŁ ı +cz Äħ +ר ×ĵ +ĠÑĢ Ñĥб +خر Ùī +ãģ® æĸ¹ +Ġд енÑĮ +×Ĺ ×Ļ×Ŀ +еÑĤ е +ëĤ ľ +×IJ ×Ĵ +×¢ ×ķר +ë³ Ħ +åIJĮ ãģĺ +ãĤ ² +ר ×ļ +×ķש ×IJ +ìľ ¡ +ا Ø® +צ ×Ļ×Ķ +á»± a +ãģĪ ãģ¦ +ש×Ķ ×ķ +ан ÑĤ +ลา à¸Ķ +ин г +ë¡ ł +اع د +ÙĪ Ø³Ø· +Ġв оп +Ġвоп ÑĢоÑģ +Ùħ ÙĬÙĨ +à¸Ħ à¸ĩ +×Ļר ×Ļ×Ŀ +c ów +ê² © +Ġê·¸ 룰 +Ġì§ Ħ +Ġש ׾×Ķ +à¹Ģร ิà¹Īม +à¸Ĭ à¸Ńà¸ļ +д еÑĤ +ÑİÑī иÑħ +à¸ļ à¸Ńà¸ģ +æĢĿ ãģĦ +ع ÙĬد +ס ×ŀ +×Ĵ ×Ļ×¢ +צ ×ĵ +ب ات +ĠëͰ ëĿ¼ +à¸Ī ัà¸ĩ +ãģłãģij ãģ§ +×¢ ×Ļר +ĠÑĩ ел +ĠÑĩел ов +ĠÑĩелов ек +ãĥĥ ãĥģ +à¹Ģà¸ģ ีà¹Īยว +à¸Ķ ิ +Ġפ ×¢ +×Ļ×ŀ ×Ļ +ë° ĺ +Ø® ار +×ij ×Ļת +×¢ ×Ļ×Ŀ +ü yor +ãĤģ ãģ¦ +к лад +Ġ à¸Īาà¸ģ +à¹Ģà¸Ħ ย +ส à¸Ńà¸ĩ +à¹ģ à¸Ħà¹Ī +ẫ u +หà¸Ļ ัà¸ĩ +ש׾ ×ķ×Ŀ +اÙĨ ÙĬØ© +åĩº ä¼ļ +åĩºä¼ļ ãģĦ +à¸ł าย +à¸ļา à¸Ĺ +à¸Ĭา ว +mu ÅŁ +Ġ׾ק ×ij׾ +ãĤ· ãĥ£ +Ġİ ÅŁ +×Ĵ×ĵ ×ķ׾ +ج عÙĦ +ë³ Ģ +ยิ à¹Īà¸ĩ +à¸Ļ าย +à¸Ļ ีà¹Ī +วิ à¸ĺี +ãĤī ãģªãģĦ +ëł Ī +Ġ문 ìłľ +Ġ à¸ģ +à¸Ĺำ à¸ĩาà¸Ļ +à¹Ģว à¹ĩà¸ļ +ÑĦ е +楽 ãģĹ +สำ à¸Ħ +สำà¸Ħ ัà¸į +ر Ùħ +ãģķãĤĮ ãģ¦ +Ġоб ла +ר×IJ ×Ļ +หม à¸Ķ +ÙĨ ÙĬØ© +ли н +Ġe ÄŁ +it im +ëł ¹ +ص اÙĦ +ÅĽ l +à¸ľ ิà¸Ķ +ãĥŀ ãĥ³ +åħ¥ ãĤĮ +à¹Ģà¸ķ à¸Ńรà¹Į +ار ÙĬ +ĠÐ ¦ +d ür +ส วย +ë¦ ½ +رÙĥ Ø© +Ġh ã +×Ļת ×Ķ +à¸Ĥ à¸Ļา +à¸Ĥà¸Ļา à¸Ķ +à¸Īำ à¸Ļ +à¸Īำà¸Ļ วà¸Ļ +ש ×ķ×§ +Ġд ом +ì± ħ +ãģĭ ãģij +פ ×ķ׾ +à¸Ĭ าย +Ñģ моÑĤÑĢ +Ñģл Ñĥж +ש ×IJ׾ +кÑĢÑĭ ÑĤ +Ġìŀ ĺ +é«ĺ ãģĦ +ĠÑĢ Ñĥк +ÙĨ ص +д ав +ưỠ¡ +ưỡ ng +ر اÙħ +×Ļ׳ ×Ļ×Ŀ +ãĥ© ãĥ¼ +ëĦ ¤ +Ġت ع +l ke +好 ãģį +æĮģ ãģ¡ +Ġë§ İ +Ġy ük +ĠÑģоÑģÑĤ ав +енÑĤ ÑĢ +pe ÅĤ +à¹Ģà¸Ľà¸¥ ีà¹Īย +à¹Ģà¸Ľà¸¥à¸µà¹Īย à¸Ļ +íı ī +ãĤĦ ãģĻ +×Ĺ ×ĸ +×ijר ×Ķ +ë£ ¨ +ìĶ Ģ +بØŃ Ø« +à¹Ģà¸ķ à¹ĩ +ów i +ب Ùĩ +ãģį ãģ¾ãģĻ +Ġ×¢ ×ŀ +×Ĵ ×ķ׾ +ез д +ÙĬÙģ Ø© +สà¸Ļ à¹ĥà¸Ī +Ġת ׾ +Ñı Ñī +Ġس ÙĨ +ĠÙĪØ§ ØŃد +ĠÑģ м +lad ı +ı ld +×Ļר ת +ีย à¸Ļ +ת×Ĺ ×ª +Ġж из +à¸ŀ ั +à¸ŀั à¸Ĵ +à¸ŀัà¸Ĵ à¸Ļา +à¸Ĭ ิ +ا Ø®ÙĦ +ãģ£ãģ¦ ãģĦãģŁ +รั à¸IJ +ãĤģ ãĤĭ +à¹Ĥ à¸ģ +ĠT á»ķ +Ġh akk +ر Ùģ +ìł Ģ +Ñģ об +ãģª ãģijãĤĮãģ° +Ùĩ ÙĪ +Ġë² ķ +ãĤ Ĩ +ĠاÙĦس عÙĪØ¯ +Ġ×IJ תר +Ø§Ø º +Ġ׾ ×ĵ +à¹ģ à¸ķ +à¹ģà¸ķ à¹Īà¸ĩ +íĮ Į +Ñĥп иÑĤÑĮ +à¸ŀืà¹īà¸Ļ à¸Ĺีà¹Ī +×ij ת×Ļ +à¹ĩ à¸ģ +ÅĤ at +Ġê°ľ ìĿ¸ +ìłķ ë³´ +ÑĤ ал +Ġgü ven +Ġİ l +Ġê° ģ +Ġب ت +×ŀ ×ķ׳×Ķ +ĠاÙĦØŃ ÙĥÙĪÙħ +ÙĤ ات +à¹ģ à¸ģà¹Ī +ห าà¸ģ +н ÑĮ +à¸Ľ รัà¸ļ +มา à¸ĵ +Ġне Ñģк +ĠØ ¶ +สม ั +สมั à¸Ħร +ãģĮ ãģĤãĤĬ +м еÑģÑĤ +Ġ×IJ צ׾ +Ġкомп ани +ס ר +ÙĬÙħ Ø© +ĠÑħ оÑĢо +ĠÑħоÑĢо ÑĪ +Ġ×Ļ ×ķ×ĵ +ü s +×Ĵ ×Ļש +à¸ļ à¸Ĺ +تÙĨ ظ +ว าà¸ĩ +ม หา +Ġ׼ ×ķ׾ +à¸Ĥ à¹īาà¸ĩ +ë° ľ +г од +д ан +ãģĭãĤĤãģĹãĤĮ ãģ¾ãģĽãĤĵ +ãģĵ ãģ¡ãĤī +ãĥIJ ãĤ¤ +ece ÄŁi +دÙĬ دة +ÙĨ Ùī +Ġëĭ¤ ìĿĮ +ว ี +غ ا +ли з +à¹Ģà¸Ķ ิ +à¹Ģà¸Ķิ ม +ĠÙĬ ست +Ġy ılı +ko ÅĦ +ãģ§ãģĹãĤĩãģĨ ãģĭ +ãģĤ ãģª +ãģĤãģª ãģŁ +ÑĨ ен +ĠÙĪ Ø² +×IJ ×Ļש +à¹Ī à¸Ń +ر ØŃ +ê´ ij +ÑĢа ÑģÑĤ +Ġ×Ķ ×ľ +ãģĹãģ¦ ãĤĤ +×ŀר ׼ +×ŀר׼ ×ĸ +éģķ ãģĦ +ãģŁ ãģı +ĠÑģ Ñĥд +в еÑģÑĤи +ĠíķĦ ìļĶ +ãĥķ ãĤ§ +ÑĤелÑĮ но +à¹Ģà¸ŀ ืà¹Īà¸Ńà¸Ļ +ÅĤu ż +à¹Ģà¸Ķิà¸Ļ à¸Ĺาà¸ĩ +ש ×ķר +Ġ×ŀ ×ĵ +×ķ×¢ ׾ +ÙĦ اÙħ +à¹Ħ à¸ĭ +л ей +кÑĥ ÑĢ +Ạ¢ +à¸Ĺ าà¸Ļ +ì§ ij +ĠгоÑĢ Ð¾Ð´ +ר ס +׾ ×ķ×Ĵ +mas ını +Ġл ÑĥÑĩ +ล à¹Īา +ìļ ¸ +ש ×ĺ +ĠÐĺ н +í Ĥ¤ +ÙĪÙĦ ا +ìķ ł +ĠØ£ÙĬ ضا +Ùĥ ار +ĠاÙĦت ع +ส ูà¹Ī +ãĤ ¼ +×ij ×Ļ×IJ +ย à¸ģ +ĠØŃ ÙĤ +ر بÙĬ +ãģĺãĤĥ ãģªãģĦ +รัà¸ģ ษา +Ñħод иÑĤ +à¸ķ à¸Ńà¸ļ +׳ ×ĺ×Ļ +ĠاÙĦÙħ ج +تÙħ ع +ов аÑĤÑĮ +ÙĦ ÙĬÙĨ +×Ļ×ŀ ×ķת +Ġm ù +n ÄĻ +Ġد ÙĬ +׼ ש×Ļ×ķ +Ġhi ç +ë ijIJ +ÙĪ Ø§Ø¡ +ÙĪ Ø· +ĠاÙĦ بÙĦ +à¹ģม à¹ī +×§ ×ķת +ÙĪØ¬ د +å§ĭ ãĤģ +ÙĬ ئة +Ġë§ ¤ +ص بØŃ +פ ×IJ +г оÑĢ +ס ×Ķ +بÙĬ ÙĤ +ย าà¸ģ +Ġн ад +ÙĬ Ùij +Ġب ÙĪ +ס ×ķר +Ùħ ÙĥاÙĨ +ר ×ij +×Ĵ ×ĸ +צ ת +b ilit +л аг +ĠN go +×IJ ×ķר +à¸ķ à¸Ļ +íĬ ¹ +à¸Ĺีà¹Ī à¸Ķี +à¸Ľà¸£à¸° à¸Īำ +ов ание +ãģĦ ãģ¤ +ãĥĥãĤ¯ ãĤ¹ +åIJĪ ãĤı +åIJĪãĤı ãģĽ +×Ļ׳ ×ķ×Ļ +ạ y +Ø« ÙĤ +ĠпÑĢ Ð¾Ð± +ĠпÑĢоб лем +ÅŁ eh +ÅŁeh ir +ع ادة +اÙĨ ÙĪÙĨ +à¸ķัว à¹Ģà¸Ńà¸ĩ +ì¶ ķ +ı lan +б ан +ãĥ³ ãĥī +à¸Ī ี +Ġ×Ķש ׳×Ļ +п оÑĤ +×ķ׾ ×Ļ×Ŀ +ล ัà¸ļ +ĠÑį ÑĤи +×ij×§ ש +ë¹Ħ ìĬ¤ +à¸Ńยà¹Īาà¸ĩ à¹Ħร +×Ļ׾ ×Ļ +à¹ĥà¸Ĭ à¹Ī +ĠاÙĦ ÙĥÙĦ +ãĥļ ãĥ¼ãĤ¸ +ص Ø© +ÑĤи ÑĢ +ãĤĵ ãģ© +зÑĭ к +wy ż +Ùĩ ÙĬ +ĠÙħ ÙĦÙĬ +Ġвид е +ظ اÙħ +دا ÙĪÙĦ +×ŀ ת×Ļ +Ġs ık +à¹Ģà¸ķิ ม +ãĤ¢ ãĤ¤ +ка Ñħ +צ ×Ļ׾ +à¹Ģà¸Ĭ à¹Īà¸Ļ +м аг +маг аз +магаз ин +à¸Ľ ั +à¸Ľà¸± à¸Ī +Ġש ×Ļר×ķת +ีย ม +ãĥĸ ãĥ« +Ġد ÙĪÙĦ +קר ×Ļ×Ŀ +Ùĩ Ùı +ов о +Ġü ret +د ÙĪÙĨ +à¹ģà¸Ļ ว +à¹Ģà¸Ļ ืà¹īà¸Ń +ĠÑĦ оÑĤ +ãĥ ĺ +ãģ¤ ãģĭ +Ñı Ñģ +ĠíķĺëĤĺ ëĭĺ +ائ ع +Ġп лаÑĤ +ìĺ Ī +Ġdost ÄĻp +ÙĪØ¬ Ùĩ +Ġ×Ķ ×Ĺ×Ļ +׳ ×Ļ×§ +д ей +í ĽĦ +ı y +بØŃ ر +à¹Ģส ริม +Ġ׾ ×Ĵ +ذÙĩ ب +ج ÙĬÙĦ +رÙĥ ز +Ġë ħ +Ġëħ ¸ +פ×Ļ׾ ×ķ +ãģ¾ ãģļ +iri ÅŁ +ĠÙĥ ÙĬÙģ +Ġ×ij צ +Ġêµ IJ +ÑĢоÑģ Ñģ +ĠØ´ ÙĬ +Ġiç er +×Ĵ ×ķ×ij×Ķ +мен но +×¢ ×ij×Ļר +×ķ×ŀ ×Ķ +ãĤī ãģĹãģĦ +ãģ ¼ +Ñī ин +è²· ãģĦ +جÙħÙĪØ¹ Ø© +Ġdön em +Ġ×ij ×IJר +в еÑģÑĤ +×ķר ×ķת +س Ùģ +à¹ģà¸Ĺ à¸Ļ +Ġд окÑĥменÑĤ +Ġا ÙĬ +ج اÙĨ +צ×ķ×¢ ×Ļ +ĠоÑģ об +ĠاÙĦÙħ س +ÑĢаР± +à¸ł ู +à¸Ķ าว +л екÑĤ +ع ÙĤ +×ķ×ĵ ×ķת +Ġol u +Ġolu ÅŁtur +ãģ¾ ãģ¾ +ед ин +à¹Ģ à¸Ńà¸ģ +ãĤµ ãĤ¤ +ëĦ Ī +Ø· ÙĨÙĬ +Ø· ÙĤØ© +ĠÐł аз +ÙĦ Ùij +Ñĩ ем +Ġ׾ ×ĺ +สั à¹Īà¸ĩ +سر ائÙĬÙĦ +Ġפר ×ĺ×Ļ +д еÑģÑĮ +Ġ׳ ׼ +اÙĨ ب +ÙĬا Ø© +Ùħ بر +Ġk ı +à¸Ľ à¸ı +à¸Ľà¸ı ิ +à¸ļั à¸ķิ +׳ ת×Ļ +ìĨ ¡ +ر اب +à¹ĥ à¸ķ +à¹ĥà¸ķ à¹ī +×Ļ׳ ת +ÙĪ ÙĬر +Ġ×Ķ×ŀ ×Ļ +ей ÑĩаÑģ +×§ ×ķ×ij +در اس +ĠÙħ ÙĤ +رÙĬ ÙĨ +Ø® اص +ãģĬ éĩij +Ġج دا +ãģĨ ãģ¡ +ëħ ¸ +ır ım +æ§ ĺ +ãģ« å¯ +ãģ«å¯ ¾ +ÑĨ ев +Ġv ard +ĠÐIJ н +e ÄŁ +ÑģÑĤв енно +Ð ¨ +س د +à¸ģ ุ +à¹ģà¸ľ à¸Ļ +รูà¹ī ส +รูà¹īส ึà¸ģ +ات ØŃاد +Ñij ÑĤ +×Ĺ ×ķ×§ +ãģĻ ãģIJ +Ø· ÙĦاÙĤ +Ġ×§ ×ķ×ĵ +à¹ĥà¸Ĭ à¹īà¸ĩ +à¹ĥà¸Ĭà¹īà¸ĩ าà¸Ļ +ãĥ¼ãĤ ¿ +Ġs ür +ÑĢ Ð¾Ðº +ë³ ij +สมา à¸Ĭ +สมาà¸Ĭ ิà¸ģ +ãĥķ ãĥ¬ +è¾¼ ãģ¿ +ãĤ» ãĥ³ +Ġê°Ģ ì§Ģ +à¸ľ à¹īา +ÑįÑĤ омÑĥ +иÑĤ ел +à¸ł ั +ภij +ãĥĸ ãĥ© +×Ľ×ª ×ķ×ij +׳ ×Ŀ +ен нÑĭе +×¢ ×¨×Ľ×ª +Ġì Ĥ +ĠìĤ ´ +à¸Ĥ à¹īา +׳ ×ķס +ãĥ¬ ãĥĵ +ÑĢ ÐµÑģ +à¹Ģล à¸Ĥ +Ø« اÙĦ +ìĹ Ĩ +ĠÑĩ аÑģÑĤ +า ศ +ãĥª ãĤ¢ +u ç +×Ļ׼ ×ķת +ล à¹īาà¸Ļ +i ë +ãĤ¸ ãĤ§ +à¸Ī à¸Ń +ÙĪ ØŃد +×Ļצ ×ķ×ij +Ġ×ij ש׾ +ок о +ض Ø© +ذ ر +ĠÑĥ д +İ L +×ķצ ×Ļ×Ŀ +×ĸ ×ŀף +à¸Ľ à¸ģ +íķĻ êµIJ +س اÙħ +à¹Ħ à¸Ķ +ละ à¹Ģà¸Ń +ละà¹Ģà¸Ń ีย +ละà¹Ģà¸Ńีย à¸Ķ +ả y +аÑĨи он +ãĤ¹ ãĤ¯ +פ ×ķס +ร à¹Īาà¸ĩ +ен нÑĭй +ع ÙĨ +عÙĦ ÙĨ +ائ Ùģ +d ÄĻ +ؤ ÙĪÙĦ +׾×ķ ×ķ +Ġ×ij ש×ij +ä»Ĭ åĽŀ +ĠاÙĦج ÙĨ +د اد +wa Äĩ +ãĥª ãĥ³ +ĠìŀIJ ìĭł +اÙĨ ÙĬا +ãĥ¡ ãĥª +ÙĦ ÙĪÙĨ +à¸Ĺ à¹Īà¸Ńà¸ĩ +à¸Ĺà¹Īà¸Ńà¸ĩ à¹Ģà¸Ĺีà¹Īยว +اÙģ ÙĬ +Ġли ÑĪ +Ùħ ÙĬØ© +оÑĤ веÑĤ +Ñĩ ин +à Ĭ +ãĥ¡ ãĥ³ +å® Ł +éļĽ ãģ« +ĠÑĢаР¹ +ãĤ¦ ãĥ³ +×Ļר ×ķש +×Ļר×ķש ׾×Ļ×Ŀ +ม ะ +Ġar a +каз аÑĤÑĮ +à¸ķ ัà¸Ķ +ÑĥÑİ ÑĤ +Ġü st +×Ĵ ×ķ×ij +×Ĵ×ķ×ij ×ķת +mal ı +ег од +егод нÑı +اÙģ ÙĤ +à¸Ĭ à¹Īà¸Ńà¸ĩ +Ġö zellik +×Ļצ ×ķר +Ġmi ÄĻd +Ġili ÅŁ +Ġна Ñħод +×¢ ×ĸר +׾ ×Ľ×ª +ÙĨت اج +ĠÑģ ем +à¸Ī à¹Īาย +à¸ķร ว +à¸ķรว à¸Ī +פר ×ķ +à¸Ĥ ัà¸ļ +ãģ ŀ +Ġп ло +к олÑĮ +×ŀ×¢ ×ĺ +íķĺ ìĭľ +jÄħ ce +ÙĨ اÙĨ +ลี à¸ģ +н ÑĥÑĤ +Ġоб ÑĢаз +Ùĥ بر +ĠاÙĦÙĪ Ø·ÙĨ +ãģķãģĽ ãģ¦ +ÙĤ اء +×ŀ×ĵ ×Ļ׳ +y ü +פ ×Ļת +׳ ×ķף +ÙħÙĨ ظ +หà¸Ļ ัà¸ģ +ìŀ Ī +ãĤ« ãĥ¼ãĥī +ع ÙĨÙĬ +п од +ض اء +à¸Ļ à¸ķà¹Į +×ŀש פ +ว à¹Į +ר ×ķ×§ +ส ืà¹Īà¸Ń +פק ×Ļ×ĵ +ãģªãĤī ãģªãģĦ +ĠìŬ 룬 +ÙĦ ج +Ñī иÑĤ +ãĥĥ ãĤ· +ÙĦÙĬ س +ĠÙĦ Ùħا +ìł ij +×ij ×Ļף +ãĥģ ãĤ§ +Ġgü ç +Ġch ứ +×ķצ ×IJ +קר ×ij +à¹Ĥ à¸ŀ +оÑĩ но +סק ×Ļ +ש׾ ×Ŀ +صر Ùģ +ĠL Ãł +×¢ ×Ļת +á» · +à¹Ĥ à¸Ńà¸ģ +à¹Ĥà¸Ńà¸ģ า +à¹Ĥà¸Ńà¸ģา ส +Ġ×Ķ ×ĵ×ijר +à¸Ļั à¹Īà¸Ļ +ز ر +нак о +íļ į +ãĤĤ ãģ¡ +ãĤĤãģ¡ ãĤį +ãĤĤãģ¡ãĤį ãĤĵ +اÙħ ت +عد اد +и нÑĭ +ÅĤy w +à¸Ħ à¸ĵะ +à¸Ĺ ะ +kt ör +×Ļ×Ĺ ×Ķ +Ġм е +Ġме ÑģÑı +׳×Ķ ×Ĵ +ĠÑģ ÑĥÑīеÑģÑĤв +à¸Ļ ัà¸Ļ +ÑĦ ÑĦ +ек ÑĤив +عÙĦÙĪÙħ ات +б Ñĥд +à¸Ļัà¸ģ à¸ĩาà¸Ļ +หà¸Ļà¹īา à¸Ĺีà¹Ī +ÙĤÙĬ ÙĤ +ãĤ· ãĥ³ +ãģ« éĸ¢ +×IJר ×Ĵ +ĠпÑĢ Ð¾ÑĤ +ĠпÑĢоÑĤ ив +ĠìŀĪ ìĸ´ +ÙĤÙĬ ÙĤØ© +ìĹ ĩ +k ür +ãģ«ãģªãĤĬ ãģ¾ãģĹãģŁ +Ġде ÑıÑĤ +ĠдеÑıÑĤ елÑĮ +פ×ķר ×ĺ +à¸Ł à¹īา +à¹Ģ à¸ł +ĠавÑĤом аÑĤ +×ĸ ×Ļ×§ +Ġold uk +ع اÙħ +ĠÑĤ оÑĢ +yrı ca +ê Ì +ãĤŃ ãĥ³ãĤ° +ãģ« ãģ¨ãģ£ãģ¦ +à¹Ģà¸ī à¸ŀ +à¹Ģà¸īà¸ŀ าะ +ãģ¯ ãģļ +×ŀ ×IJ×Ļ +สะ à¸Ķ +สะà¸Ķ วà¸ģ +ìľ¼ ë©° +à¸ģ ี +ภ¬ +Ġ×¢ ×ķש +à¸łà¸² ษา +à¸Ĺ ัà¸Ļ +ac akt +acakt ır +اع دة +ĠÑĥÑģл Ñĥг +ס ר×ĺ +×ķ×ŀ ×ķת +×Ķ ×ķר +×ŀ ×ķ×ij +×ŀ×ķ×ij ף +سÙĬ اس +اتÙģ Ø§ÙĤ +×Ķ ×¦×ľ +Ùħؤ س +Ġp ó +Ġк ни +×Ļ׼ ×ķ׾ +à¹Ģหล ืà¸Ń +׼׾ ׼ +׳ ×ĸ +ÑĪи е +r ès +ĠاÙĦØŃ ÙĤ +лÑı ÑĢ +ห à¸į +หà¸į ิà¸ĩ +ר×Ĵ ×Ļש +à¹Ģส à¹īà¸Ļ +ש×ij ×ķף +ô tel +ап ÑĢ +апÑĢ Ð¸Ð¼ÐµÑĢ +اب ÙĦ +ĠÑĢаз виÑĤ +Ġп олÑĮз +ĠС еÑĢ +×ķ×ij ×Ļ +r óż +ìĭ Ń +ãĤ¯ ãĥĪ +ãģĹ ãĤĪãģĨ +à¸ģร ม +ØŃ ÙĥÙĪÙħ +à¹Ĥ à¸ļ +à¸Ĺ à¹īาย +ĠM á +ĠÑĤ Ñĭ +à¸Ħร ัว +ÑĢÑĥ б +ạ p +Ġm ÅĤ +ĠmÅĤ od +Ġgör Ã¼ÅŁ +Ġgeli ÅŁ +ươ i +×ŀש ×§ +ÙĢÙĢ ÙĢÙĢ +รา ว +ãģĹãģ £ +ãģĹãģ£ ãģĭãĤĬ +ĠÐļ он +Ġk ê +à¹Ĥà¸Ĺ ร +èIJ½ ãģ¡ +åĩº ãģ¦ +ล ัà¸ģษ +Ġ×Ĵ ×ij×ķ×Ķ +ãĥĻ ãĥ« +ê±° ëĤĺ +ë§ IJ +×Ļ׾ ×ĵ×Ļ×Ŀ +ĠëĦ Ī +×ŀר ×Ļ +ร ส +ãĥŃ ãĥ³ +и ло +ноÑģÑĤÑĮ Ñİ +×ĸר ×Ĺ +п он +Ġ×Ķש ׾ +ê²ł ìĬµëĭĪëĭ¤ +Ġki ÅŁ +ĠÐļ и +ว ร +د اع +ÅŁ im +ÙĨ Ùij +в аÑĤ +را Ùĥ +ب اÙĦ +ид е +Ġ×Ķ×ŀ ×Ĺ +ìĸ µ +تÙģ Ø§Ø¹ +Ø£ ت +ëĬ ĺ +ש ×Ļת +ست Ùħر +ĠÑĦ ак +ĠاÙĦØ£Ùħ رÙĬ +ëŀ ¨ +اس Ùħ +Ġa ÄŁ +Ġç ev +Ùĥ ÙĪØ± +ãģķ ãģ¾ +Ġç öz +Ġر س +Äħ da +สà¸Ļ ุ +ãģĹãģ¦ ãģıãĤĮ +н Ñİ +leÅŁ me +ãĤª ãĥ³ +ãģ¨ ãģªãĤĬ +ava ÅŁ +×ĺ ×Ļ×ij +ØŃ ض +×ķצ ×IJ×ķת +ÙĨ ÙħÙĪ +ı t +ĠÑħ а +ĠÑħа ÑĢак +ĠÑħаÑĢак ÑĤеÑĢ +Ġd ÅĤ +ãĥĹ ãĥ© +à¸Ĭ ุม +à¹Ī à¸Ńà¸Ļ +×ķ×ij ׾ +Ñģ ол +×ĵ ×Ĵ +аÑĢ Ð°ÑĤ +n ivers +Ġgerçek leÅŁtir +ĠاÙĦ ÙĦÙĬ +ระ ยะ +ĠÙħ ختÙĦÙģ +Ġgö nder +Ùģ Ø§Ø± +do ÄŁ +doÄŁ an +ص ÙĦاØŃ +Ġyay ın +ãĥĨ ãĥ³ +รว à¸Ī +×Ļ×Ĺ ×Ļ×ĵ +ünk ü +ÑĨи алÑĮн +à¸ļ ู +ม ุ +h ä +Ø® Ùģ +å¢ Ĺ +å¢Ĺ ãģĪ +еÑĩ но +ĠاÙĦس ÙĨ +à¸Ĥ าว +im di +Ð « +à¸Ļà¸Ńà¸ģ à¸Īาà¸ģ +à¸ļา ล +ת ש +Ġdüzen le +мÑĭ Ñģл +ãģı ãģª +ż u +Ġwsp óÅĤ +Ġн аз +ınd aki +تر Ø© +ÅŁ ek +Ġö d +ĠÙĪ Ùĥ +Ġпозв олÑı +Ġת ×ķ׼ +ÙħÙĨ تج +ë§ ī +ĠاÙĦØ« ÙĦاث +аÑĨи Ñİ +ÙĪØ± ÙĪ +Ñĭв аеÑĤ +خص ص +ĠاÙĦÙģ ÙĦ +ĠاÙĦÙģÙĦ سطÙĬÙĨ +Ø¥ جر +إجر اء +اÙĨت Ø® +اÙĨتخ اب +ار ÙĬØ© +×ķ Ö +Ø¢ ÙĨ +×ŀ×¢ ×ķת +Ġм ал +Ġ×IJ ×Ĺ +à¸Ĺ à¹īà¸Ńà¸ĩ +ze ÅĽ +Ġë§Į ëĵ¤ +رÙĬ ع +äºĭ ãĤĴ +à¸ļริ หาร +׾ ×ŀ×Ļ×ĵ +Ġм Ñĥж +ت رÙĪ +ĠباÙĦ Ø¥ +פ ×Ļ×§ +ز ÙħØ© +ĠÃ¶ÄŁ renc +ãĥ ¶ +اÙħ عة +×§×ij ×ķצ +×ŀ ׳×ķת +رÙĬ Ùħ +Ġо каз +ãģłãģij ãģ© +Ġh ız +Ġש ×IJת +ãĤ¢ ãĥ¼ +Ġmożli wo +ìĦ ¼ +ÙĪ Ø§Ø¨ +ог ÑĢаÑĦ +Ġعبد اÙĦ +ãĤĴ è¡Į +ب ÙĬÙĦ +Ġİ ç +ย าย +ĠÑĥ ÑĩаÑģÑĤ +ÑĦ еÑģÑģ +ÑĦеÑģÑģ иона +Ạ¤ +ÙĨ ÙĬÙĨ +عد ÙĦ +สร ร +دÙĬ ÙĦ +×ij ×Ļ×§ +czy ÅĤ +ÑĢом е +Ġм ед +ìĻ Ķ +ãĥ© ãĤ¤ãĥ³ +ĠÑĤ еп +еÑĢ ÑĮ +i ÄŁi +в ели +ÑĢи ÑģÑĤ +ס ×ķפ +×ŀ׾ ×Ĺ +ĠاÙĦØ¥ ÙĨ +Ġ׾×Ķ ×© +è¶Ĭ ãģĹ +ĠÑĢ Ñĭ +×ķ×IJ ר +رÙĩ اب +פ ×ķ×IJ×Ļ +ĠгоÑģ Ñĥд +ĠгоÑģÑĥд аÑĢ +ĠгоÑģÑĥдаÑĢ ÑģÑĤв +ĠاÙĦØ£Ùħ ÙĬر +Ùħ ج +à¹Ģหม าะ +ÑĢ ÐµÐ² +à¸Ĭี à¸ŀ +ãĥķ ãĥĪ +иÑĩ но +ĠاÙĦÙħ ؤ +Ġi ht +íħ ľ +د ÙĨÙĬ +ر ص +ла ÑģÑĤ +à¹Ģหล à¹Īา +ılı r +ร à¸ĵà¹Į +×ŀש ×Ļ×ļ +Ġd á»ĭ +Ø·Ùģ Ø§ÙĦ +×ĺ ×ķף +Ġ×ij ×Ļ׳ +ãģ¾ ãģ£ãģŁ +лож ениÑı +تØŃ ر +ب اØŃ +à¹Ģส ืà¹īà¸Ń +ãģĻ ãģĶ +lt ür +à¸ĩ าม +Ġt ü +ĠпÑĢ Ð¸Ð¼ +ĠпÑĢим ен +Ġhay at +ëĥ IJ +ëĭ Į +׳×Ļ ×ķ +вед ен +ìħ ¨ +à¸Ī ัย +à¸ģà¹Ī à¸Ń +Ġв од +оÑģÑĤ оÑı +н аÑĤ +à¹ģ หล +سÙħ ÙĬ +à¸Ķำ à¹Ģà¸Ļ +à¸Ķำà¹Ģà¸Ļ ิà¸Ļ +w ód +ö yle +ãĥĢ ãĤ¤ +ÑĪи й +меÑī ен +ãģĹãģ¾ ãģĨ +ãĥī ãĥ© +ÙĪØ¶ ØŃ +à¸Ńà¸Ļ ุ +ĠاÙĦ اجتÙħاع +laÅŁ ma +à¸Ħ à¸Ńà¸Ļ +×ŀר ×Ļ×Ŀ +ÙĨ اÙħج +שר ×ķת +اÙĦ Ø£ +Ġksi Äħż +Ġа н +ÑĢаР¹ +اÙĩر Ø© +×ŀ×ĵ ×Ķ +ä¸Ģ ç· +ä¸Ģç· Ĵ +ä¸Ģç·Ĵ ãģ« +ÑĢиÑĤ оÑĢ +d ıkl +à¹ģ à¸ĸ +à¹ģà¸Ĥ à¹Īà¸ĩ +екÑĤ оÑĢ +×ŀס ×¢ +ÑĢак ÑĤи +u ÄŁu +×ķ×ij ת +สู à¸ķร +ĠçalÄ±ÅŁ m +ĠçalÄ±ÅŁm alar +Ġа на +ãĥĽ ãĥ¼ãĥł +Ġböl üm +Ġب ص +ол оÑģ +ĠìķĬ ëĬĶ +à¹Ī ะ +ÙĪ ØªØ± +ä¹ Ĺ +ست خداÙħ +פ×Ļ ×Ļס +פ×Ļ×Ļס ×ij +פ×Ļ×Ļס×ij ×ķ×§ +Ġк ÑĢаÑģ +ли к +رÙĬ ØŃ +×ŀש ׾×Ķ +à¹Ģย ีà¹Īย +à¹Ģยีà¹Īย ม +в иÑģ +ом н +ÄŁ un +ãĥŃ ãĥ¼ãĥ³ +Ø£ تÙĬ +à¸ķร ี +çͳ ãģĹ +تÙħ ر +ìĹ ĪìĬµëĭĪëĭ¤ +ĠÙĪ ØºÙĬر +red ni +ĠاÙĦص Ùģ +Ġна ÑģÑĤоÑı +ĠнаÑģÑĤоÑı Ñī +à¸ķ รา +ĠÑĥÑģл ов +ĠÑĥÑģлов иÑı +ÑĨ еп +×Ķ ×Ĺ׾×ĺ +Ø· ÙĬع +ĠB akan +ĠاÙĦ رÙĪ +илÑĮ но +Ġм еÑĤ +à¸Ķ à¸Ńà¸ģ +ãģĭãĤī ãģªãģĦ +Ġпо ÑģÑĤоÑı +ĠпоÑģÑĤоÑı н +ĠÑĩ аÑģ +ü c +wr ó +б ÑĥÑĢ +ãĥIJ ãĥĥãĤ¯ +ãĥ©ãĥ³ ãĥī +Ġо гÑĢ +สั à¸į +สัà¸į à¸įา +มั à¹Īà¸Ļ +à¸Ħ à¸Ńม +al ık +Ġн ед +üm üz +ĠÅĽ wie +é rio +×Ļ×IJ ×Ķ +دÙħ ات +ı rl +ĠоÑĤ з +ĠоÑĤз Ñĭв +ä»ĺ ãģį +Ġkaż de +мин иÑģÑĤ +ãĤ° ãĥ« +ë° ĸ +ез н +اÙĦ Ùģ +Ġש ק׾ +Ùħ ض +ãĥĿ ãĥ¼ãĥĪ +ÙħÙĨ ت +ÙĤÙĬ اÙħ +Ø´ ÙĨ +×Ļר ×ķ×¢ +ãĤŃãĥ£ ãĥ³ +доÑĢ Ð¾Ð² +×ŀ ×Ļת×Ļ +ÙĪÙĦ ÙĪØ¬ +Ùĥ اÙģ +ĠÑĢаз лиÑĩ +иÑĤ еÑĤ +н олог +ลà¸ĩ à¸Ĺุà¸Ļ +Ġyak laÅŁ +ãĥ¬ ãĤ¤ +ê²ł ëĭ¤ +æ±Ĥ ãĤģ +رÙĪ Ùģ +Ġí Ĭ +ĠíĬ ¹ +ãģ£ ãģıãĤĬ +à¸Ħวาม à¸Ħิà¸Ķ +×Ķ ×Ļס×ĺ +Ø¥ ÙĤ +ãģ¦ ãģĦ +à¹Ĥ à¸Ĭ +ĠBü yük +ĠФ едеÑĢ +ÑĨи н +ÑĢов а +ĠاÙĦ اÙĤتصاد +Ġch á +à¸ĺ าà¸Ļ +ë¥ ł +à¹Ħ à¸ķ +ÃŃ pio +Ùĭ ا +Ġоб Ñıз +Ùĩ ج +Ġì¤ij ìļĶ +ãģ® ãģ§ãģ¯ãģªãģĦ +بار اة +ãĤ¤ ãĥ« +Ġн оÑĢм +á»ī nh +m ö +mö glich +ÑĨи п +ãĤ¢ ãĤ¯ +×Ķ ×Ļ +ÑĨи алÑĮно +ĠÅĽ wi +ت ÙĤ +ĠÑģÑĤо им +بÙĬ عÙĬ +Ġ׾ ש×ŀ +г лÑı +глÑı д +ãģ¦ ãģıãĤĮ +ÄĻd zi +à¸Ĥ ั +à¸Ĥั à¹īà¸Ļ +Ø· ÙĤ +ĠìĹ Ń +ãģ£ãģ¦ãģĹãģ¾ ãģĨ +ĠdeÄŁer l +ĠdeÄŁerl endir +Ġü lk +Ġмн ог +๠ĭ +ë¿ IJ +ĠУ кÑĢа +ÄŁ ini +Ġбез оп +Ġбезоп аÑģ +à¸Ńà¸Ńà¸ģ à¹ģà¸ļà¸ļ +Ø§Ø ¸ +ØŃد اث +л еÑĢ +×Ļ× ¥ +×Ļ׳×ĺר ׳×ĺ +lar ınız +ØŃÙĬ ØŃ +ż eli +à¸Ń ัà¸ĩ +à¸Ńัà¸ĩ à¸ģ +à¸Ńัà¸ĩà¸ģ ฤษ +ĠоÑĤ лиÑĩ +ั ส +ëŀ į +ож но +ãĤ¹ ãĥĿ +ĠÑħ оÑĩ +Ġк ап +еÑĩ ен +ØŃÙĦ Ø© +ÙĬا Ùĩ +на л +×ķצ ר×Ļ×Ŀ +Ġk ald +åĥ į +ĠاÙĦØ´ خص +Ġз на +Ġwz gl +ż ycz +ê° Ŀ +à¸ŀ ลัà¸ĩ +íģ ¼ +Ġö l +Ġb ụ +Ø´ Ùĩر +Ġз ам +Ġд ев +×Ļ×ĺ ת +تعÙĦ ÙĤ +ÙĪÙħ Ø© +ãĤĴ ä½ľ +ãģį ãģ¦ +í ĥĿ +ras ında +ãĤĴ æİ¢ +ĠÙħ باشر +راج ع +Ġв озд +ÙħØŃ ا +×ķש ר +ĠиÑģÑĤ оÑĢ +ม ัà¸ģ +t ıģ +Ø« ار +تر ÙĨت +à¹ģà¸Ĥ à¹ĩ +à¹ģà¸Ĥà¹ĩ à¸ĩ +п оÑĩ +Ġ×ij ×IJ×ķת +ë¯ Ģ +ëĿ¼ ëıĦ +à¸Ĭ ัà¸Ķ +ส à¸ķà¹Į +ãĥĭ ãĥĥãĤ¯ +ид енÑĤ +Ġг ÑĢÑĥпп +ت Ø® +Ạł +ย ืà¸Ļ +ย ัà¸Ļ +ó ry +T Ãľ +ãģĹ ãĤĥ +ĠпÑĢов ед +лÑı еÑĤ +Ùħ Ø® +ย à¸Ńม +×Ľ×ł×¡ ת +ĠاÙĦÙħ ÙĨت +Ġol mad +ר׼ ×ĸ×Ļ +Ġв ÑģÑĤÑĢ +ĠиÑģ Ñģлед +ÑĤвеÑĢ Ð¶ +بد ÙĪ +еÑĢ ÑĤ +ï» · +± ħ +สัม à¸ŀัà¸Ļà¸ĺà¹Į +ิ à¹Īà¸Ļ +צ ×Ļ×ij +wiÄĻ t +Ġì° ¸ +Ġz wiÄħz +سب ÙĪØ¹ +ãĥĥ ãĤ° +à¸Ľà¸¥ à¸Ńà¸Ķ +à¸Ľà¸¥à¸Ńà¸Ķ à¸łà¸±à¸¢ +ãĤĤ ãĤĬ +ÙĤد س +Ġspr z +Ġsprz eda +Ġist edi +Ġk hu +Ġд ен +Ġko ÅĦ +Ġ×ij ×Ĺ×Ļ +à¹Ģà¸Ĺ à¹īา +×ķס ×Ļ×£ +ãĥĭ ãĥ¥ãĥ¼ +ĠпÑĢед оÑģÑĤ +ĠпÑĢедоÑģÑĤ ав +à¹Ĥ à¸Ł +é v +ĠاÙĦص ØŃ +صØŃ اب +à¹Ģà¸Ī à¹ĩà¸ļ +вл ек +วั à¸ķ +à¸ĸ ุ +ãģĵãģ¨ãģĮãģ§ãģį ãģ¾ãģĻ +ÙĤÙĬ ÙĤÙĬ +×ķ׊ר +Ñĭ ÑĪ +ĠоÑĤ но +ĠоÑĤно ÑĪ +об илÑĮ +Ùģ ØŃ +ı nt +ınt ı +Ġ׾ ×ij×ĵ +í İĺìĿ´ì§Ģ +ãĥĬ ãĥ« +ĠÙħ ساء +×Ļ×ĺ ×ij +ÑĮ еÑĢ +ëĦ · +Ñĭ ÑĤа +ĠоÑĩ еÑĢ +à¸Ķ ืà¹Ī +à¸Ķืà¹Ī ม +ĠN gh +ت عب +ÙĦاÙĤ ات +×ķ׾×ķ×Ĵ ×Ļ×Ķ +ĠìĿ´ ê²ĥ +Ġ×Ķ ×ijר +ìľ µ +à¹Ģà¸Ħล ืà¹Īà¸Ńà¸Ļ +Ùĩ Ø© +à¸Īำ à¹Ģà¸Ľà¹ĩà¸Ļ +å¤ī ãģĪ +wi ÅĽcie +ch od +chod zÄħ +в ÑĢо +×ŀ×Ĺ ×Ļר +Ġy ı +Ġyı ll +ì¡ Į +à¹Ħ หว +ãģªãģı ãģª +Ġзав иÑģ +ĠìĺĪ ìĪĺ +Ùģ Ø° +á»§ ng +à¸ŀุ à¸Ĺà¸ĺ +з н +lay an +ãĤ ¡ +à¸ģà¹ĩ à¸ķาม +ĠsaÄŁ lam +ร à¸ĵ +ĠÑģ иÑĤ +ĠÑģиÑĤ Ñĥ +ĠاÙĦت ÙĨ +×Ķ ×ĸ +ĠØ· ÙĪÙĬÙĦ +ta ÅĤ +Ġgö rd +å¤ī ãĤı +ëĥ ¥ +à¸Ħà¹Ī à¸Ńย +×IJ ×ķ×ĺ +ëħ IJ +ãĥ©ãĥ³ ãĤ¹ +วั à¸Ĵ +วัà¸Ĵ à¸Ļ +Ġol uÅŁ +פע ×ķ׾ +Ġszczeg óÅĤ +à¸Ħา สิ +à¸Ħาสิ à¹Ĥà¸Ļ +pow ied +ĠÑĤ еб +หà¸Ļ à¹Īวย +Ġм ил +ØŃ Ùĥ +à¸Ĺ à¸Ķ +ĠмаÑĤ еÑĢиал +ÅĤ ow +à¹Ģà¸ģ ีย +ĠÑģов еÑĢ +ãĤ © +à¸Ľ ริ +Ġи Ñİ +наÑĩ ен +ÑĢен д +mu ÅŁtur +ĠпÑĢод Ñĥк +з д +Ñı ÑĤи +ÑıÑĤи Ñı +à¹Ģม ีย +رات ÙĬج +Ġam acı +ש ×ķ׾ +ש×ķ׾ ×Ĺ +สะ à¸Ńา +สะà¸Ńา à¸Ķ +פ×Ĵ ×¢ +عب Ø© +d ın +íħ Ķ +Ġ×ŀש ×Ĺ×§ +Ġfi yat +Ġз аÑı +ĠзаÑı в +à¹Ĥ หล +à¹Ĥหล à¸Ķ +à¸ģรุà¸ĩ à¹Ģà¸Ĺà¸ŀ +צ×Ļ ×Ļף +ìļ ± +Ùħ ب +Ùħب اد +land ır +Ġв еÑģÑĮ +Ġh ük +ĠÐĴ оз +ÑĩиÑĤ Ñĭва +ว ล +×ķצ ×¢ +à¸Ĥà¸ĵะ à¸Ĺีà¹Ī +ĠaÅŁ aģı +׾×IJ ×ķ×ŀ×Ļ +tr zym +Ã¤ÃŁ ig +owo ÅĽci +ãģĿ ãĤĤ +Ġroz wiÄħz +ĠgÅĤ ówn +м онÑĤ +×ŀ ×ķ×ŀ +ĠÑģÑĤ ан +ÙĦا ÙĤØ© +p rowad +prowad zi +ĠÑģоÑģÑĤ оÑı +×Ļ×IJ ×ķת +r ı +g ı +ãĥij ãĥij +Ġна лиÑĩ +×Ķ ×¦×¢ +Ġ׳ ×Ķ +à¸Ħ ัà¸ļ +ع راض +и ж +Ùĩ ائÙĬ +ãĤī ãģı +ож еÑĤ +Ġоб оÑĢ +ĠобоÑĢ Ñĥд +Ø£ سÙĦ +à¹ĩ à¸Ķ +ÑĢÑĥ ÑĤ +دÙĬ ÙħÙĤ +دÙĬÙħÙĤ را +Ġjest e +×ķ×ķ ×Ļר +×ij×ĵ ×Ļ×§ +деÑĢж ива +ãģĬ ãģı +ewn ÄĻtr +ewnÄĻtr zn +à¸ŀ ฤ +Ġ×IJ ×ķ×Ķ +ת×Ĺ ×ķש +Ġz ob +д Ñĥм +ĠÑģ Ñĭ +ÙĬر ا +ĠwiÄĻ ks +à¹ģà¸ķà¸ģ à¸ķà¹Īาà¸ĩ +lar aras +lararas ı +íĺ Ģ +ëī ´ +×ķ×Ĵ ׾ +ĠоÑĤ меÑĤ +ĠÑĢ Ð°Ð½ +ت ÙĥÙĦ +иÑĤелÑĮ н +à¸Ľà¸£à¸° วั +à¸Ľà¸£à¸°à¸§à¸± à¸ķิ +ìŀ ĸ +мож но +pie czeÅĦ +pieczeÅĦ st +ëª » +ìĬ ¨ +×ŀס ×ŀ +á» ¦ +ศ ิ +ศิ ล +ศิล à¸Ľ +ĠÅļ w +ãĥĥ ãĤ·ãĥ§ãĥ³ +unit Ãł +Ġmiesz ka +Ġmieszka ÅĦ +pr zed +przed si +przedsi ÄĻb +przedsiÄĻb ior +à¸Ľà¸£à¸° สิà¸Ĺà¸ĺิ +à¸Ľà¸£à¸°à¸ªà¸´à¸Ĺà¸ĺิ à¸łà¸²à¸ŀ +ย à¹Ī +ìķ Ļ +รว à¸Ķ +รวà¸Ķ à¹Ģรà¹ĩว +å½ĵ ãģŁãĤĬ +äl le +Ñĥ еÑĤÑģÑı +ã n +ëł µ +th è +ãĤĴ åĪ©ç͍ +ì µľ +íĵ ¨ +à¸Ĺ ัà¸ļ +า à¸Ħม +ãģ ĩ +ëĤ Į +à¹Ģà¸Ľà¸¥ à¹Īา +â ¦ +ë ¾ +ê Ģ +ê ĩ +â ¡ +ðŁ Ł +ã IJ +â º +á Ń +á Ļ +á ĵ +á ² +ðĵ ı +á ¬ +â ¯ +ä ¨ +ê Ŀ +ê « +ð ij +ðĵ ĥ +ðĿ ħ +< unk + + + +Ġع ÙĦÙī +Ġm á»Ļt +Ġv Ỽi +Ġng ưá»Ŀi +ĠØ¥ ÙĦÙī +Ġnh ững +Ġth á»ĥ +Ġ×IJ ×ķ +Ġ×¢ ×Ŀ +ا Ùĭ +Ġ à¹ģละ +ĠÙĦ ا +Ġnh ư +ĠاÙĦت ÙĬ +Ġ×Ķ ×ķ×IJ +ĠÄij ến +ĠØ£ ÙĪ +Ġv á»ģ +ĠlÃł m +Ġs ẽ +Ġc Å©ng +Ġ ợ +ĠÄij ó +Ġnhi á»ģu +Ġt ại +Ġtr ên +Ġ×Ĵ ×Ŀ +Ġnh Ãł +Ġ׼ ×Ļ +Ġs á»± +ĠÄij ầu +Ġb á»ĭ +ĠÙĩ ذا +Ġnh ất +Ġph ải +Ġhi á»ĩn +Ġdụ ng +ĠÄij á»Ļng +ĠاÙĦÙĦ Ùĩ +ĠØ Į +ĠÙĥ ÙĦ +Ġvi á»ĩc +Ġn Äĥm +Ġth ì +Ġh á»įc +ĠÙĪ Øª +t é +Ġا ÙĨ +Ġt ôi +Ġ×IJ ׳×Ļ +Ġ׾ ×Ļ +Ġ×ŀ ×ķ +Ġng Ãły +Ġn Æ°á»Ľc +Ġ×Ķ ×Ļ×IJ +Ġ×IJ ×Ļ +Ġh Æ¡n +ĠÙĩ ذÙĩ +ĠÙĪ ÙĬ +ĠاÙĦ ذÙĬ +Ġ×ķ ×ŀ +Ġgi á +Ġnh ân +Ġch ÃŃnh +Ġm ình +ĠÐĿ а +Ġth ế +Ġ×Ļ ×ķתר +Ġ×IJ ×Ŀ +Ġn ên +Ġh ợ +Ġhợ p +Ġc òn +ĠÙĩ ÙĪ +Ġc Æ¡ +Ġr ất +ĠVi á»ĩt +Ġب عد +Ġש ×Ļ +Ġth á»Ŀi +Ġc ách +ĠÄij á»ĵng +Ġн о +Ġtr ưá»Ŀng +Ø Ł +ĠÄij á»ĭnh +ĠÄiji á»ģu +×Ļ ×Ļ×Ŀ +Ġth á»±c +n ın +Ġh ình +Ġn ói +Ġc ùng +Ġ×Ķ ×Ķ +ĠØ¥ ÙĨ +Ġ×IJ ×ij׾ +Ġnh ưng +Ġbi ết +Ġж е +Ġch úng +ĠÄij ang +Ġذ ÙĦÙĥ +Ġl ên +Ġkh ách +Ġn Ãło +Ġs á»Ń +Ġkh ác +Ġë° ı +Ġl ý +×Ļ ×Ļ +ĠÄij ây +Ġ׾ ×ŀ +Ġc ần +Ġtr ình +Ġph át +ãģ« ãĤĤ +п о +Ġn Äĥng +Ġb á»Ļ +Ġv ụ +ĠÄij á»Ļ +Ñĩ е +Ġnh áºŃn +Ġtr Æ°á»Ľc +Ġ×¢ ×ĵ +Ġh Ãłnh +ĠØ® ÙĦاÙĦ +Ġl ượng +Ġc ấp +Ġtá» ± +Ġv ì +Ġt ư +Ġch ất +Ġ׼ ×ŀ×ķ +Ġg ì +Ġש ׳ +Ġt ế +ת ×ķ +Ġnghi á»ĩp +Ġm ặt +ĠÙĥ Ùħا +Ġ×ij ×Ļף +Ġר ×§ +Ġth ấy +Ġmá y +ĠÙģ Ùī +Ġd ân +Ġ×IJ ×Ĺ×ĵ +Ġt âm +Ġ׼ ×ļ +Ġ׾ ×ķ +в о +Ġt ác +Ġto Ãłn +ĠÙĪ Ùħ +Ġk ết +Ġ หรืà¸Ń +ĠÙĪØ§ÙĦ Ùħ +ĠÄiji á»ĥm +Ġ×ĸ ×ķ +Ġ×ij ×ķ +׼ ×ķת +Ġh á»Ļi +Ġb ằng +ت Ùĩا +Ġ׼ ×ĵ×Ļ +Ġ×Ķ ×Ŀ +Ġxu ất +ĠÙĤ د +Ġb ảo +Ġt á»ijt +Ġt ình +ĠÙĩ ÙĬ +ĠÄij á»iji +Ġthi ết +Ġhi á»ĩu +Ġti ếp +Ġt ạo +ת ×Ķ +Ġch á»§ +o ÅĽÄĩ +Ġgi ú +Ġgiú p +Ġà ½ +Ġqu ả +Ġlo ại +Ġc ô +Ġà ´ +Ġô ng +Ġ×Ķ ×ķ +ĠاÙĦÙĬ ÙĪÙħ +ĠtÃŃ nh +г а +Ġph òng +Ġ Äĥn +Ġع اÙħ +Ġv á»ĭ +lar ını +r ÃŃa +Ġt Ỽi +ĠÄij ưá»Ŀng +Ġgi Ỽi +Ġb ản +Ġc ầu +Ġnhi ên +Ġb á»ĩnh +Ġth ưá»Ŀng +Ġ×IJ ×Ļף +ĠÄij á»ģ +Ġh á»ĩ +Ġ×Ļש ר×IJ׾ +Ġqu á +ĠÐĹ Ð° +ãģ® ãģ§ãģĻãģĮ +ĠÐŁ ÑĢи +Ġph ần +ĠÙĪ ÙĦا +ĠlỼ n +Ġtr á»ĭ +Ġcả m +Ġм о +Ġd ùng +ĠاÙĦ Ùī +ĠعÙĦÙĬ Ùĩ +ĠìŀĪ ìĬµëĭĪëĭ¤ +ÙĬ ÙĤ +ĠÙĤ بÙĦ +Ġho ặc +ĠØŃ ÙĬØ« +Ġ à¸Ĺีà¹Ī +Ġغ ÙĬر +ĠÄij ại +Ġsá»ij ng +нÑĭ ми +Ġth ức +Ġפ ×Ļ +ĠÄiji á»ĩn +ãģª ãģĭãģ£ãģŁ +Ġgi ải +Ġv ẫn +Ġи Ñħ +Ġö nce +Ġv áºŃy +Ġmu á»ijn +Ġ ảnh +à¹ĥà¸Ļ à¸ģาร +ĠQu á»ijc +Ġk ế +׳ ×IJ +Ġס ×Ļ +Ġy êu +ãģ® ãģĭ +ĠÄij ẹ +ĠÄijẹ p +Ġch ức +Ġy ıl +ĠTür kiye +d é +ĠÙĤ اÙĦ +Ġd á»ĭch +ĠolduÄŁ u +Ġch á»įn +Ġت Ùħ +หà¸Ļ ึà¹Īà¸ĩ +ãģķãĤĮ ãģŁ +Ġph áp +ìĽ Ķ +Ġti á»ģn +ãģĹ ãģ¾ãģĹãģŁ +Ġש ׾×IJ +ÙĦ Ø© +Ġ׾פ ׳×Ļ +Ġ×ij ×Ļת +ĠH Ãł +ĠØŃ ت +ĠØŃت Ùī +Ġ×¢ ×ķ×ĵ +Ġn ó +Ġth áng +à¹Ģลืà¸Ń à¸ģ +ר ×Ķ +Ġt Äĥng +Ġcá i +Ġtri á»ĥn +Ġ×IJ×ķת ×ķ +ìłģ ìĿ¸ +ĠC ông +Ġ׾×Ķ ×Ļ×ķת +Ġг ода +и Ñİ +Ġب عض +Ġ à¸ģาร +èī¯ ãģĦ +ÙĪ Øª +Ġli ên +ĠÐĿ о +ĠÐĿ е +çļĦ ãģª +ĠÙħ ت +ĠÑĤак же +ĠкоÑĤоÑĢ Ñĭе +Ġ×Ļ ×ĵ×Ļ +Ġtr á»įng +ãĤµ ãĤ¤ãĥĪ +ìłģ ìľ¼ë¡ľ +Ġt áºŃp +Ġש ׾×Ļ +íķĺ ê²Į +Ġt Ãłi +ĠÐ ¯ +Ġr á»ĵi +ا Ùĥ +Ġth ương +Ġ×Ķ ×ĸ×Ķ +ĠÙĪ ÙħÙĨ +à¸Ĺีà¹Ī มี +Ġcu á»Ļc +Ġbü yük +ãģ¨ ãģĭ +Ġ×ij ×Ļ×ķתר +Ġl ần +Ġgö re +Ġtr ợ +Ġ×ĺ ×ķ×ij +ÑĤÑĮ ÑģÑı +Ġth á»ijng +Ġ׼ ש +Ġti êu +Ġ×ŀ×IJ ×ķ×ĵ +Ø Ľ +k Äħ +Ġ à¹ĥà¸Ļ +Ġv ấn +Ġש ׾×ķ +ĠÄij á»ģu +Ùģ Øª +Ġê²ĥ ìĿ´ +Ġh óa +ĠاÙĦع اÙħ +ĠÙĬ ÙĪÙħ +к ой +Ġbi á»ĩt +ÑģÑĤ о +Ġ×Ķ ×Ļ×ķ +à¸Ĺีà¹Ī à¸Īะ +Ġ×ĵ ×Ļ +Ġ×IJ ×ļ +Ġá n +ص ÙĪØ± +Ġtr ÃŃ +ĠÐŁÑĢ Ð¾ +Ġl á»±c +ãģĹãģ¦ ãģĦãģ¾ãģĻ +Ġb Ãłi +Ġ×ĸ ×IJת +Ġb áo +à¸ļ à¸Ļ +ĠëĮĢ íķľ +Ġti ế +Ġtiế ng +Ġb ên +ãģķãĤĮ ãĤĭ +s ión +Ġt ìm +×¢ ×ķ +m é +ни Ñı +ãģ» ãģ© +Ġà¹Ģà¸ŀ ราะ +ب Ø© +Ġë¶ Ħ +Ġ×IJ ×ĸ +à¸Ĺ à¹Īาà¸Ļ +ת ×Ŀ +Ġth êm +Ġho ạt +y ı +×ĸ ×ķ +Ġgi á»Ŀ +Ġb án +à¸Ĥ าย +Ñĩ а +Ġ à¹Ĩ +ĠاÙĦÙħ ت +ĠоÑĩ енÑĮ +Ġb ất +Ġtr ẻ +ÑĤ ÑĢ +ĠØ£ ÙĨÙĩ +ĠØ« Ùħ +Ġ׼ ×ŀ×Ķ +Ġkh ó +Ġr ằng +ĠÙĪ ÙģÙĬ +ни й +Ġho Ãłn +t ó +Ġ×IJ שר +ĠìĥĿ ê°ģ +Ñģ а +Ġ׼ ×ijר +ĠÑįÑĤ ом +lar ının +Ġch ưa +з и +Ġd ẫn +ĠÐļ ак +ج ÙĪ +ĠбÑĭ ло +ĠÙĬ ت +n ı +ÅĤ am +ĠÙĪÙĩ ÙĪ +×ij ×ķ +п и +ר ת +Ġqu á»ijc +ж д +ĠÄij Æ¡n +Ùĥت ب +Ġm ắt +ระ à¸ļ +ระà¸ļ à¸ļ +ĠÙĥ اÙĨت +Ġth ân +สิà¸Ļ à¸Ħà¹īา +×Ĵ ×Ļ +Ġph ương +à¹Ħมà¹Ī à¹Ħà¸Ķà¹ī +ĠìĦ ± +ĠC ác +Ġ×Ķ×ŀ ×ķ +ĠÑĤ ем +Ġ×ĵ ×ķ +à¸Ńะ à¹Ħร +Ġv Äĥn +ãģª ãģ®ãģ§ +ĠN á»Ļi +Ġ×¢ ×ķ +ãĤīãĤĮ ãĤĭ +Ġs áng +Ġgö ster +ãģĵãģ¨ ãĤĴ +Ġtaraf ından +Ġм а +ĠпоÑģл е +Ġ׳ ×Ļת +Ġ׳×Ļת ף +Ġл еÑĤ +Ġ׾ ׳×ķ +Ñģ Ñģ +Ġ×Ļ ×ķ +п е +ĠÙĪ ÙĦÙĥ +ĠÙĪÙĦÙĥ ÙĨ +Ġngo Ãłi +ĠÄij á»ĭa +r zÄħd +dz iaÅĤ +ĠÙħ ر +иÑĤÑĮ ÑģÑı +Ġ×IJ×Ĺר ×Ļ +Ġ׾ ׼׾ +à¸Ĥ à¹īà¸Ńม +à¸Ĥà¹īà¸Ńม ูล +Ġб ол +Ġбол ее +جÙħ ع +л еÑĤ +Ġl á»ĭch +ĠÙħ Ø«ÙĦ +Ġ그리 ê³ł +Ġth ứ +ĠdeÄŁ il +ÙĪ ØŃ +Ġש׾ ×ļ +ĠÙħ ØŃÙħد +Ġn ếu +ĠÄij á»ķi +Ġv ừa +Ġm á»įi +Ġо ни +Ġl úc +ĠÙĬ ÙĥÙĪÙĨ +ì§ Ī +Ġש׾ ׳×ķ +ĠÐĶ Ð¾ +Ġש ׳×Ļ +ล ิ +×IJ פשר +Ġs ức +ê¶ Į +Ġ ứng +à¹Ħมà¹Ī มี +Ø·ÙĦ ب +ĠÑĩ ем +Ġch uyên +Ġth ÃŃch +Ġ×ķ ×Ļ +íķ © +ĠÙħ صر +д о +ĠÄij ất +Ġch ế +à¸Ĭ ืà¹Īà¸Ń +Ġìĭ ł +ĠØ¥ ذا +Ġر ئÙĬس +Ġש ×Ļש +Ġgiả m +Ñģ ка +lar ında +Ġs ợ +ĠtÃŃ ch +ĠÙĦ ÙĥÙĨ +Ġب Ùħ +×¢ ×ķ×ij +×¢×ķ×ij ×ĵ +ÅĤÄħ cz +ları na +Ġש ×Ŀ +ĠÙĦ ت +Ġש×Ķ ×ķ×IJ +t ów +Ġëĭ¤ 른 +ĠØ£ Ùĥثر +ãģ® ãģ§ãģĻ +׼ ×Ļ×Ŀ +ĠolduÄŁ unu +ãģĭ ãģª +ãĤĤ ãģĨ +ÙĬ ØŃ +Ġnh ìn +Ġngh á»ĩ +ãģ«ãģª ãģ£ãģ¦ +п а +Ġquy ết +ÙĦ ÙĤ +t á +Ġlu ôn +ĠÄij ặc +Ġ×IJ ר +Ġtu á»ķi +s ão +ìĻ ¸ +ر د +ĠبÙĩ ا +Ġ×Ķ×Ļ ×ķ×Ŀ +×ķ ×ķ×Ļ +ãģ§ãģĻ ãģŃ +ĠÑĤ ого +Ġth á»§ +ãģĹãģŁ ãģĦ +ر ÙĤ +Ġb ắt +г Ñĥ +Ġtá» Ń +ÑĪ Ð° +Ġ à¸Ľà¸µ +Ġ×Ķ×IJ ×Ŀ +íı ¬ +ż a +Ġ×IJת ×Ķ +Ġn á»Ļi +Ġph ÃŃ +ĠÅŁek ilde +Ġl á»Ŀi +d ıģı +Ġ׼×IJ ף +Ġt üm +Ġm ạnh +ĠM ỹ +ãģĿ ãĤĵãģª +Ġnh á»ı +ãģª ãģĮãĤī +Ġb ình +ı p +à¸ŀ า +ĠÄij ánh +ĠÙĪ ÙĦ +ר ×ķת +Ġ×IJ ×Ļ×ļ +Ġch uyá»ĥn +Ùĥ ا +ãĤĮ ãĤĭ +à¹ģม à¹Ī +ãĤĪ ãģı +ĠÙĪ ÙĤد +íĸ Īëĭ¤ +Ġn Æ¡i +ãģ«ãĤĪ ãģ£ãģ¦ +Ġvi ết +Ġà¹Ģà¸ŀ ืà¹Īà¸Ń +ëIJĺ ëĬĶ +اد ÙĬ +ĠÙģ Ø¥ÙĨ +ì¦ Ŀ +ĠÄij ặt +Ġh Æ°á»Ľng +Ġx ã +Ġönem li +ãģł ãģ¨ +Ġm ẹ +Ġ×ij ×Ļ +Ġ×ĵ ×ijר +Ġv áºŃt +ĠÄij ạo +Ġdá»± ng +ĠÑĤ ом +ĠÙģÙĬ Ùĩا +Ġج ÙħÙĬع +Ġthu áºŃt +st ÄĻp +Ġti ết +Ø´ ÙĬ +Ġе Ñīе +ãģĻãĤĭ ãģ¨ +ĠmÃł u +ĠÑįÑĤ ого +Ġv ô +ĠÐŃ ÑĤо +Ġth áºŃt +Ġn ữa +Ġbi ến +Ġn ữ +Ġ׾ ׼×Ŀ +×Ļ ×Ļף +Ġس ت +ĠÐŀ ÑĤ +Ġph ụ +ê¹Į ì§Ģ +Ġ׾ ×ļ +Ġk ỳ +à¹ĥ à¸Ħร +Ġg ây +ĠÙĦ ÙĦÙħ +Ġtụ c +ت ÙĬÙĨ +Ġtr ợ +Ġ׾ פ×Ļ +Ġb á»ij +ĠÐļ а +ĠÄij ình +ow Äħ +s ında +Ġkhi ến +s ız +Ġк огда +ס ׾ +ĠбÑĭ л +à¸Ļ à¹īà¸Ńย +обÑĢаР· +Ġê²ĥ ìĿ´ëĭ¤ +ëĵ¤ ìĿĢ +ãģ¸ ãģ® +Ġà¹Ģม ืà¹Īà¸Ń +Ġph ục +Ġ׊׾ק +Ġh ết +ĠÄij a +à¹Ģà¸Ķà¹ĩ à¸ģ +íĺ ķ +l ÃŃ +ê¸ ī +Ġع دد +ĠÄij á»ĵ +Ġg ần +Ġ×Ļ ×ķ×Ŀ +Ġs Ä© +ÑĢ Ñıд +Ġquy á»ģn +Ġ×IJ ׾×IJ +Ùĩ Ùħا +׳ ×Ļ×Ķ +׾ ×ķת +Ġ×Ķר ×ij×Ķ +Ġti ên +Ġal ın +Ġd á»ħ +人 ãģĮ +но Ñģ +л ÑģÑı +ĠÄij ưa +ส าว +иÑĢов ан +Ġ×ŀס פר +×Ĵ ף +Ġki ến +ĠÐ ¨ +p é +б Ñĥ +ов ой +б а +ĠØ¥ ÙĦا +×IJ ׾×Ļ +Ġx ây +Ġb ợi +Ġש ×ķ +人 ãģ® +×§ ×Ļ×Ŀ +à¹Ģà¸Ķ ืà¸Ńà¸Ļ +Ġkh á +Ġ×ķ ׾×Ķ +×ĵ ×ķת +Ġ×¢ ×ij×ķר +Ġبش ÙĥÙĦ +ĠÙĩÙĨا Ùĥ +ÑĤ ÑĢа +Ġ íķĺëĬĶ +ร à¸Ńà¸ļ +owa ÅĤ +h é +Ġdi á»ħn +Ġ×Ķ ×Ľ×ľ +ĠØ£ س +Ġch uyá»ĩn +ระ à¸Ķัà¸ļ +ĠNh ững +Ġ×IJ ×Ĺת +ĠØŃ ÙĪÙĦ +л ов +׳ ר +Ġ×ķ ׳ +Ġch Æ¡i +Ġiç inde +ÑģÑĤв Ñĥ +Ġph á»ij +ĠÑģ Ñĥ +ç§ģ ãģ¯ +Ġch ứng +Ġv á»±c +à¹ģ à¸Ń +Ġl áºŃp +Ġtừ ng +å°ij ãģĹ +ĠNg uy +ĠNguy á»ħn +ĠÙģÙĬ Ùĩ +Ġб а +×Ļ ×Ļת +Ġ×ľ×¢ ש×ķת +Ġ×ŀ ׼ +Ġnghi á»ĩm +Ġм ного +Ġе е +ëIJĺ ìĸ´ +Ġl ợi +Ġ׾ ׾×IJ +Ġ׼ ף +Ġch ÃŃ +ãģ§ ãģ® +×Ĺ ×ķ +ש ×ķ×Ŀ +Ġ×ŀ ר +ĠÐĶ Ð»Ñı +Å ģ +Ġ׼×IJ שר +ĠM á»Ļt +ĠÙĪØ§ÙĦ ت +ĠìĿ´ 룰 +ÅŁ a +Ġchi ến +Ġaras ında +Ġ×ij ×IJתר +ãģķãĤĮ ãģ¦ãģĦãĤĭ +Ø´ ÙĥÙĦ +Ġt ượng +Ġت ت +ĠC ó +Ġb á»ı +Ġtá»ī nh +Ġkh ÃŃ +ĠпÑĢ Ð¾ÑģÑĤ +ĠпÑĢоÑģÑĤ о +ĠÙĪ ÙĤاÙĦ +Ġgi áo +ĠN ếu +×IJ ×ŀר +×¢×ł×Ļ ×Ļף +íİ ¸ +Ùĩد Ùģ +ĠB á»Ļ +Ġb Ãłn +Ġng uyên +Ġgü zel +ส าย +ì² ľ +×ŀ ×ķר +Ġph ân +ס פק +×§ ×ij׾ +ĠاÙĦÙħ تØŃ +ĠاÙĦÙħتØŃ دة +ائ د +Ġ×IJ ×ŀר +Ġki ÅŁi +ì¤ Ģ +Ġtr uyá»ģn +ĠÙĦ Ùĩا +ĠÐľ а +à¸ļริ ษ +à¸ļริษ ั +à¸ļริษั à¸Ĺ +Ġש ׳×Ļ×Ŀ +Ġмен Ñı +ÅŁ e +Ġdi á»ĩn +Ġ×IJ׳ ×Ĺ׳×ķ +k ü +Ġc á»ķ +Ġm á»Ĺi +w ä +Ùħ ÙĬ +Ġhi á»ĥu +ëĭ ¬ +Ġ×Ķ ×Ĺ׾ +Ġt ên +Ġki á»ĩn +ÙĨ ÙĤÙĦ +Ġv á»ĩ +×ĵ ת +ĠÐłÐ¾ÑģÑģ ии +л Ñĥ +ĠاÙĦع ربÙĬØ© +ĠØ· رÙĬÙĤ +Ġ×Ķ×ij ×Ļת +Ñģ еÑĢ +Ġм не +ä u +Ġtri á»ĩu +ĠÄij á»§ +Ġר ×ij +ت ÙĩÙħ +à¸ĭ ี +Ġì§Ģ ê¸Ī +li ÅĽmy +د عÙħ +ãģł ãĤįãģĨ +Ñģки е +Ġh á»ıi +Ġ×§ ×ķ +ÑĢÑĥ Ñģ +ÙĨ ظر +ãģ® ãĤĤ +Ġ×Ķ ×Ľ×Ļ +ĠìĽ IJ +ÙĪ Ùĩ +ĠÙĪ Ùİ +ĠB ạn +п лаÑĤ +Ġ×ŀ ×ŀש +лÑİ Ð± +ĠнÑĥж но +Ġth ư +ãģ µ +ãģı ãĤīãģĦ +ر Ø´ +ר ×ķ×Ĺ +ĠÙĬ تÙħ +Ġצר ×Ļ×ļ +Ġph á +ม à¸Ńà¸ĩ +Ġ×ij×IJ ×ķפף +Ġcả nh +Ġíķľ ëĭ¤ +Ġ×Ķ×ŀ ת +à¸ķà¹Īาà¸ĩ à¹Ĩ +มี à¸ģาร +Ñģки Ñħ +ĠÐĴ Ñģе +Ġا ÙĪ +ج ÙĬ +ãģĵãģ¨ ãģ¯ +Ġd Ãłi +Ġh á»ĵ +èĩªåĪĨ ãģ® +à¹Ħ หà¸Ļ +ëĵ¤ ìĿĦ +ĠV Äĥn +Ġд аж +Ġдаж е +Ñĭ ми +лаÑģ ÑĮ +ÙĬ ÙĪÙĨ +ÙĨ ÙĪ +c ó +ãģĹãģ¦ ãģĦãģŁ +ãģł ãģĭãĤī +طاÙĦ ب +Ġc á»Ńa +п ÑĢоÑģ +ãģªãģ© ãģ® +รุ à¹Īà¸Ļ +Ġchi ếc +л Ñĭ +ĠÑıвлÑı еÑĤÑģÑı +Ġn á»ķi +ãģ® ãģĬ +Ġ×IJת ×Ŀ +ĠëķĮ문 ìĹIJ +à¸ģล าà¸ĩ +ĠbaÅŁ ka +ìĦ Ŀ +ĠÑĨ ел +Ùģ ÙĤ +ãģ«ãĤĪ ãĤĭ +ÙĤ ا +Ġçı kar +Ġcứ u +Ø· ا +Ġש ת +à¹Ĥ à¸Ħ +Ġ×ŀ ׾ +Ġ×Ķ ×¤×¨ +Ġг де +ĠØ® Ø· +åīį ãģ« +c jÄĻ +Ġ׊ש×ķ×ij +ר×Ĵ ×¢ +Ġkho ảng +ĠÄij á»Ŀi +ĠÐł е +Ġо на +Ġ×IJ ׳×ķ +ãģ® ãģ« +ĠاÙĦذ ÙĬÙĨ +кÑĥ п +ãĤµ ãĥ¼ãĥ +ãĤµãĥ¼ãĥ ĵ +ãĤµãĥ¼ãĥĵ ãĤ¹ +в ал +г е +Ġgi ữa +ĠKh ông +ĠâĹ ĭ +à¸ģล ุà¹Īม +ĠÙħÙĨ ذ +à¸Ń à¹Īาà¸Ļ +ĠÑģп оÑģоб +ĠÄij á»Ļi +Ġdi ÄŁer +Ġ à¸ĸà¹īา +Ùħ Ø«ÙĦ +Ġ×Ķ×IJ ×Ļ +Ġد ÙĪÙĨ +ÙĬر اÙĨ +Ñī и +بÙĨ اء +ĠØ¢ خر +ظ Ùĩر +Ġ×ij ׼ +ĠاÙĦÙħ ع +ãĥ Ĵ +Ġt ất +Ġm ục +ĠdoÄŁ ru +ãģŁ ãĤī +Ġס ×ķ +Ġx ác +ร à¸Ń +ĠcÄĥ n +Ġон л +Ġонл айн +Ġk ý +Ġch ân +Ġ à¹Ħมà¹Ī +اØŃ Ø© +r án +׳×Ļ ×Ļ×Ŀ +Ġ×ij ף +ĠÐ ĸ +à¸ķร à¸ĩ +д Ñĭ +Ġs ắc +ÙĦ ت +ãĥŃ ãĥ¼ +ĠÙĦ ÙĨ +Ġר ×ķ +Ġd Æ°á»Ľi +à¹Ģ à¸ĺ +à¹Ģà¸ĺ à¸Ń +e ÄŁi +Ġ×ķ ש +ĠÙĦ Ø£ +Ġg ặp +Ġc á»ij +ãģ¨ ãģ¦ãĤĤ +رÙĪ Ø³ +Ġ׾×Ķ ×Ļ +Ġë³ ¸ +ä¸Ĭ ãģĴ +Ġm ức +Ñħ а +Ġìŀ ¬ +à¸ī ัà¸Ļ +ÑĢÑĥ ж +Ġaç ık +ÙĪ Ø§ÙĦ +Ġ×ĸ ×ŀף +人 ãģ¯ +ع ÙĬÙĨ +Ñı Ñħ +Ġ×Ĵ×ĵ ×ķ׾ +ר ×ķ×ij +g ó +ëĿ¼ ê³ł +Ġark adaÅŁ +ÙĨ شر +Ġгод Ñĥ +ĠболÑĮ ÑĪе +ãģ¡ãĤĩ ãģ£ãģ¨ +Ġcâ u +Ġs át +íĶ ¼ +Ġti ến +íķ´ ìķ¼ +ĠÙĪ Ø£ÙĨ +à¸Ļ าà¸Ļ +Ġ×ij×IJ×ŀ צע +Ġ×ij×IJ×ŀצע ×ķת +Ġ׾ ר +Ġqu ản +ĠÙĪØ§ÙĦ Ø£ +Ġ×IJ×ķת ×Ķ +Ġìĸ´ëĸ ¤ +Ġê²ĥ ìĿĢ +ØŃس ÙĨ +Ġm ất +à¸Ħ ูà¹Ī +ãĥ¬ ãĥ¼ +ĠÐĶ Ð° +Ġol ması +Ġthu á»Ļc +׳ ×Ĺ +íĨ ł +Ġsö yle +ãģĿãģĨ ãģ§ãģĻ +Ġت ÙĥÙĪÙĨ +л ÑĥÑĩ +׾ ×Ļ×ļ +ĠØ£ ØŃد +ли ÑģÑĮ +ĠвÑģ его +Ġ×Ķר ×ij +Ġëª » +o ÄŁ +oÄŁ lu +ĠìĦ ł +Ġк аÑĢ +à¸łà¸² à¸Ħ +e ÅĦ +Ġ à¸ģà¹ĩ +Ġa ynı +Ġb Ãł +ãģªãĤĵ ãģ¦ +Ġ모 ëĵł +ÙĤر ار +ãģĹãģª ãģĦ +ĠÐĴ о +ĠÙĪÙĩ ÙĬ +ни ки +ãĤĮ ãģŁ +Ġchu ẩn +ר ×¢ +Ùģ Ø±ÙĬÙĤ +ãĤĴ åıĹãģij +ĠÄij úng +б е +׼ ×ķ×Ĺ +п Ñĥ +Ġ×ķ ×Ĵ×Ŀ +×ŀ ׳×Ļ +íĸ ¥ +צ ×Ļ×Ŀ +à¸ĭ ิ +Ùĩ ÙĨ +н ем +Ġ×ij×ij ×Ļת +ر ع +Ġ ส +ĠÄIJ Ãł +íķĺ ëĭ¤ +Ġ ấy +×Ĺ ×ķ×ĵ +×Ĺ×ķ×ĵ ש +ĠÑĩеÑĢ ÐµÐ· +Ñĥ л +ĠB ình +Ġê²ĥ ìĿĦ +Ġ×Ĵ ר +ä»ĺ ãģij +×Ĺ׾ ×§ +Ġت ÙĦÙĥ +à¹ĥส à¹Ī +sz Äħ +ÙĤ اÙħ +د ÙĪØ± +ĠÙģ ÙĤØ· +Ġh ữu +Ġмог ÑĥÑĤ +Ġg á»įi +Ġ×§ ר +à¸Īะ มี +ت ÙĤدÙħ +Ġع بر +Ġ׾×Ķ ×Ŀ +ĠÑģам о +ס ×ĵר +Ġc Ãłng +r ÃŃ +Ġìŀ ¥ +ëĵ¤ ìĿĺ +ĠÙĦ Ùĥ +п оÑĢÑĤ +Ġkh ả +ĠÑģеб Ñı +׳ ף +Ġد ÙĪØ± +Ġm ợ +Ġcâ y +Ġf ark +Ġfark lı +а ÑİÑĤ +Ġtr á»±c +wiÄĻks z +Ġthu á»ijc +Ġت ØŃت +ت ÙĦ +ов Ñĭе +ëĤ ł +Ġв ам +بÙĦ غ +Ġê°Ļ ìĿĢ +íĮ IJ +ÙĦ ب +Ġnas ıl +Ġод ин +м ан +ĠعÙĦÙĬ Ùĩا +б и +Ġפ ש×ķ×ĺ +×ijר ×Ļ +Ġש ׳×Ķ +Ġëı Ħ +ĠÄIJ ại +Ġ×IJ×ķת ×Ŀ +ĠاÙĦØŃ ر +Ġб о +à¸Ī ุà¸Ķ +Ġr õ +ĠdeÄŁi ÅŁ +Ġëĭ ¨ +ĠÑģлÑĥÑĩ а +ĠÑģлÑĥÑĩа е +Ġ×IJ׳ ש×Ļ×Ŀ +×ĵ ×£ +ש×ij ת +Ġש׾ ׼×Ŀ +Ġch ú +nik ów +Ġtan ı +Ġcá o +ĠÄij á +Ġ×IJ ×ĵ×Ŀ +Ġê° ķ +Ġnhi á»ĩm +Ġ׾ ס +Ġ×Ľ×ª ×ij +Ġ×Ķס פר +ĠÄij Äĥng +Ġë ijIJ +à¸ľ ิ +à¸ľà¸´ ว +ج ا +Ġê° IJ +ر Ø£ +ست خدÙħ +ãģ«ãģªãĤĬ ãģ¾ãģĻ +Ġtá» · +×ĺ ×ķר +г овоÑĢ +Ġв оÑģ +ĠÙħÙĨ Ùĩا +иÑĢов аÑĤÑĮ +ĠÄij ầy +׳ ×Ĵ +ĠÙħ ÙĪ +ĠÙħ ÙĪÙĤع +ר׼ ×Ļ +ت Ùı +ëª ¨ +Ġת ×ķ +ÙĬا Ùĭ +à¹ĥ à¸Ķ +ãĤĬ ãģ¾ãģĻ +à¸Ńยูà¹Ī à¹ĥà¸Ļ +ĠØ£ ÙĪÙĦ +ĠØ£ خرÙī +Ġc ư +ص ار +×ŀ׊ש×ij +б ÑĢа +ÅĦ ski +б ÑĢ +ĠÙĬ Ùı +à¸ģ ิà¸Ļ +Ġch á»ijng +Ùħ Ùı +Ġ à¸Ħืà¸Ń +Ġت ÙĨ +t ÃŃ +y Äĩ +Ġm ạng +Ùģ ÙĪ +Ġdü nya +×§ ר×IJ +Ġ×§ ׾ +ĠØŃ اÙĦ +c ÃŃa +Ġà¹Ģ รา +Ġר ×ķצ×Ķ +Ġá p +ë° ķ +ا ÙĤØ© +ни Ñİ +Ġ×IJ ׾×ķ +Ġ×ŀס ×ķ +ãģ§ãģ¯ ãģªãģı +Ġtr ả +Ġ×§ שר +mi ÅŁtir +Ġl ưu +Ġh á»Ĺ +ĠбÑĭ ли +Ġl ấy +عÙĦ Ùħ +Ġö zel +æ°Ĺ ãģĮ +Ġ×ĵ ר×ļ +Ùħ د +s ını +׳ ×ķש×IJ +r ów +Ñĩ еÑĢ +êµIJ ìľ¡ +ĠÐľ о +л ег +ĠV Ỽi +วัà¸Ļ à¸Ļีà¹ī +ÑİÑī ие +ãģĬ ãģĻ +ãģĬãģĻ ãģĻ +ãģĬãģĻãģĻ ãĤģ +ëı ħ +Ġ×Ļ×Ķ ×Ļ×Ķ +×ŀ ×ĺר +Ñı ми +Ġl á»±a +ĠÄij ấu +à¹Ģส ียà¸ĩ +Ġt ương +ëĵ ± +ĠÑģÑĤ аÑĢ +à¹ĥ à¸ļ +ว ัà¸Ķ +Ġİ stanbul +Ġ à¸Īะ +à¸ķ ลาà¸Ķ +Ġب ÙĬ +à¹ģà¸Ļ ะ +à¹ģà¸Ļะ à¸Ļำ +س اعد +Ġب Ø£ +Ġki á»ĥm +ØŃ سب +à¸Ĭั à¹īà¸Ļ +Ġ×ķ ×¢×ķ×ĵ +ов ÑĭÑħ +оÑģ нов +Ġtr Æ°á»Łng +צ ×ij×¢ +ĠÃŃ t +Ġk ỹ +cr é +Ñı м +êµ ° +ãģĮ ãģªãģĦ +ÙĬÙĦ Ø© +ãĥķ ãĤ£ +ر Ùī +ĠÙĬ جب +Ġ×IJ ×£ +Ġc á»±c +ãĤīãĤĮ ãģŁ +Ġ à¸ľà¸¹à¹ī +Ġ à¸Ń +lar ımız +Ġkad ın +Ġê·¸ ëŀĺ +Ġê·¸ëŀĺ ìĦľ +ĠëĺIJ ëĬĶ +ĠÄij ả +ĠÄijả m +Ġ×IJ ×ķ×ŀר +Ġy ếu +ci Äħ +ciÄħ g +Ġt á»ij +Ġש×IJ ׳×Ļ +Ġdz iaÅĤa +Ñī а +ĠÄij Ãłn +s ına +ãģĵãĤĮ ãģ¯ +Ġ×ij ׾×Ļ +Ġ×ij ×Ļשר×IJ׾ +л оÑģÑĮ +Ġgi ữ +ê° IJ +ÑĢ Ð¾Ð½ +تج ار +г лав +в ин +Ġh ạn +Ġyapı lan +ب س +Ġ à¸ŀรà¹īà¸Ńม +ê´Ģ 리 +mÄ±ÅŁ tır +b ü +r ück +ĠBaÅŁkan ı +ĠÙĦ ÙĬس +Ġs Æ¡ +à¸Īัà¸ĩ หว +à¸Īัà¸ĩหว ัà¸Ķ +د اء +Ġ×Ķ ×Ľ +v ÃŃ +ש ×IJר +Ġh Æ°á»Łng +Ġb óng +ĠCh ÃŃnh +Äħ c +à¹Ģà¸ģีà¹Īยว à¸ģัà¸ļ +Ġtá» © +Ġtứ c +ĠÑĨ веÑĤ +Ġt á»iji +ĠnghÄ© a +ÙĦا عب +د ÙĦ +Ġפע ×Ŀ +h ör +à¸Ĭ ุà¸Ķ +à¸ŀ ู +à¸ŀู à¸Ķ +п аÑģ +ĠÅŁ u +Ġt Æ°á»Łng +خار ج +Ġâ m +ĠинÑĤеÑĢ ÐµÑģ +ен нÑĭÑħ +×IJ ׳×Ļ +بد Ø£ +ëĿ¼ ëĬĶ +ì¹ ´ +æĸ¹ ãģĮ +ли в +Ġ à¸Ħà¸Ļ +ער ×ļ +à¸Ĥà¸Ńà¸ĩ à¸Ħุà¸ĵ +п ад +Ġc ạnh +ĠëĤ ¨ +ĠÄij âu +Ġbi á»ĥu +ãĤĤ ãģĤãĤĭ +׾ ×Ĵ +Ġ สำหรัà¸ļ +Ġxu á»ijng +ס ×ķ +Ġذ ات +ĠÐľ е +ع اÙĦÙħ +×IJ ס +ب ÙĬØ© +Ø´ ا +и ем +ĠNg ưá»Ŀi +íĺ ij +Ñģл ов +Ġп а +Ġm ẫu +ĠпÑĢоÑĨ еÑģÑģ +ĠNh Ãł +пÑĢо из +пÑĢоиз вод +à¸łà¸²à¸¢ à¹ĥà¸Ļ +Ġ à¸ļาà¸Ĺ +×ŀ ׳×ķ +ĠоÑĢг ан +רצ ×ķ +×ķ×ŀ ×Ļ×Ŀ +Ġyaz ı +Ġd ù +ãĥ¬ ãĥ³ +ÙĪÙĦ ÙĬ +ย ู +Ġtr ò +à¹Ģà¸ŀ ลà¸ĩ +Ġ×ŀ ׾×IJ +à¸ķ ล +à¸ķล à¸Ńà¸Ķ +ĠÄij ạt +Ġ×Ĺ×ĵ ש +p óÅĤ +Ġ×ŀ ×ĵ×Ļ +ujÄħ c +×ŀ׳×Ķ ×ľ +Ġש×ij ×ķ +Ġ×Ķ×ŀש פ×ĺ +Ġ×IJ ׾×Ķ +ĠÙĪ Ø°ÙĦÙĥ +à¹Ģà¸ŀ ราะ +ĠÄijo Ãłn +Ġíķ¨ ê»ĺ +Ġd ục +Ø´ ت +Ġ ula +Ġula ÅŁ +Ġqu ý +Ġ×Ķ ×Ĵ×ĵ×ķ׾ +à¸ķัà¹īà¸ĩ à¹ģà¸ķà¹Ī +Ġש ר +Ø´ Ùĩد +׳ ש×Ļ×Ŀ +à¸ŀ ล +رÙĪ Ø§ +ãĤĮ ãģ¦ +Ġн иÑħ +Ġдел а +ãģ§ãģį ãģªãģĦ +ÅĤo ż +×IJ ×Ĺר +ì ½Ķ +ãĤ¢ ãĥĥãĥĹ +د Ù쨹 +Ġti á»ĩn +Ġkh á»ı +Ġkhá»ı e +ĠاÙĦع اÙħØ© +ãģ« ãģĤãĤĭ +ĠÄij á»Ļc +ì¡ ± +Ġc ụ +й ÑĤе +Ġзак он +ĠпÑĢо екÑĤ +ìĸ ¸ +ÙĦ ØŃ +ĠçalÄ±ÅŁ ma +ãĤĴ ãģĻãĤĭ +Ñħ и +ع اد +Ġ׳ ×ŀצ×IJ +Ġר ×Ļ +à¸Ńà¸Ńà¸ģ มา +ĠT ôi +Ġth ần +ĠÙĬ ا +ล าย +Ġав ÑĤо +Ġsı ra +ĠÙĥ Ø«ÙĬر +Ùħ ÙĬز +ĠاÙĦع ÙĦÙħ +æĸ¹ ãģ¯ +×ķ×¢ ×ĵ +Ġобла ÑģÑĤи +×Ļ׾ ×Ļ×Ŀ +ãģĮ åĩº +à¸ĺ ุ +à¸ĺุ ร +à¸ĺุร à¸ģิà¸Ī +ÙĤت ÙĦ +ר×IJ ×ķ +Ġng u +Ġngu á»ĵn +Ġ มา +Ġпл ан +t ório +Ġcu á»iji +Ñģк ом +ĠاÙĦÙħ اض +ĠاÙĦÙħاض ÙĬ +Ġ×ij×¢ ׾ +Ġר ×ij×Ļ×Ŀ +Ġlu áºŃn +Ùĥ ÙĪ +à¸Ĺัà¹īà¸ĩ หมà¸Ķ +в ан +Ġtho ại +à¹Ħ à¸Ń +б иÑĢ +ĠاÙĦ ض +ت ا +ĠÑĢ Ð¾Ð´ +ĠV Ãł +×ŀ ×Ļף +ĠбÑĭ ла +к ами +ĠÐĶ Ðµ +t ık +קר ×Ļ +ĠeÄŁ itim +ĠÙĥ بÙĬر +ب Ùĥ +ĠÙĦ ÙĪ +в ой +Ġ ãģĵãģ® +ĠÑĤ ÑĢÑĥд +my ÅĽl +Ġs ư +à¸ŀ ีà¹Ī +Ġ à¹ģลà¹īว +×¢ ×§ +Ġ×Ĺ×ijר ת +ระ หว +ระหว à¹Īาà¸ĩ +×Ļ ×Ļ×Ķ +ĠاÙĦÙĨ اس +ün ü +Ġ׾ ×ŀ×Ķ +Ġch ương +ĠH á»ĵ +ار ت +ãĤĪãģĨ ãģ§ãģĻ +l á +×§×Ļ ×Ļ×Ŀ +æľ¬ å½ĵ +æľ¬å½ĵ ãģ« +ãģĵãĤĵ ãģª +Ñģ ов +Ġ×ķ ×Ĺ +à¹Ģà¸ģ à¹ĩà¸ļ +Ġк ÑĤо +à¹Ĥร à¸Ħ +ĠØ´ رÙĥØ© +ع زÙĬ +عزÙĬ ز +Ø·ÙĦ ÙĤ +п ÑĥÑģÑĤ +Ùģ ØªØŃ +ëŀ Ģ +Ġhã y +ض Ùħ +ë¦ ° +åł´åIJĪ ãģ¯ +ãĤª ãĥ¼ +Ġh ắn +Ġ×IJ ×ij×Ļ×ij +Ġש׾×Ķ ×Ŀ +Ġ×Ķ×Ļ ×Ļת×Ķ +ĠاÙĦد ÙĪÙĦØ© +ĠاÙĦ ÙĪÙĤ +ĠاÙĦÙĪÙĤ ت +ãģĤ ãģ¾ãĤĬ +Ġta ÅŁÄ± +İ N +×¢ סק +ãģ¦ ãģĦãģŁ +Ġtá»ķ ng +ĠاÙĦØ¥ ÙĨس +ĠاÙĦØ¥ÙĨس اÙĨ +ÑĢ ÐµÑĪ +Ġg ái +ĠÑĨ ен +ĠÙģ ÙĤد +Ùħ ات +ãģķãĤĵ ãģ® +Ġph ù +×ĺ ×Ķ +ĠÙĪØ§ÙĦ تÙĬ +Ġب Ùĥ +ìĿ´ ëĤĺ +к Ñģ +Ùħ ÙĬر +Ġv ùng +ĠاÙĦØ´ عب +ĠNh ưng +ãĥĢ ãĥ¼ +Ġ×Ĺ×Ļ ×Ļ×Ŀ +ĠØ´ خص +×§ ×ķ×ĵ +ê² Ģ +×¢ ש +×¢ ×ķ׾×Ŀ +צ ×ķר +ع ÙĤد +ĠiÅŁ lem +Ġ×Ķ×ij ×IJ +Ġd ưỡng +à¸Ł รี +Ġph ÃŃa +ãģ®ä¸Ń ãģ§ +Ġп и +Ġng Ãłnh +ним а +ĠÙĩ ÙĦ +Ġ×ķ ×IJת +ĠÄij áng +é quipe +ĠÑįÑĤ оÑĤ +Ġgö rev +ë§ ¤ +Ġqu ân +å¼ķ ãģį +æĻĤ ãģ« +Ġب Ùħا +×ŀ ×Ļת +Ġü lke +Ġ×ŀ×§ ×ķ×Ŀ +×ij ף +æ°Ĺ æĮģãģ¡ +Ġë§İ ìĿĢ +Ġyük sek +ÑĨ енÑĤÑĢ +ĠÙħ جÙĦس +ç§ģ ãģ® +ÙĤد ر +Ġë¶Ģ ë¶Ħ +Ġì° ¨ +خر ج +ãģĭ ãģªãĤĬ +ë³´ ëĭ¤ +Ġ×ŀ ×Ļ×ĵ×¢ +peÅĤ ni +Ġx á»Ń +ìĹIJìĦľ ëĬĶ +ĠباÙĦ Ùħ +ĠÙĪ Ùħا +ĠÑįÑĤ ой +ب ÙĬÙĨ +n ü +ØŃ ز +ØŃز ب +ĠÑĢабоÑĤ а +ĠNh áºŃt +ÙĦ اء +Ġëĵ ¤ +Ġëĵ¤ ìĸ´ +ãĤĦãģĻ ãģĦ +×Ĺ×ĸ ×§ +Ġ×Ķ×Ĺ ×ijר×Ķ +п иÑĤ +ãģĭãĤī ãģ® +Ġë§IJ ìĶĢ +Ġפ ×ķ +ÙĦ Ùİ +à¹Ģà¸ķà¹ĩ ม +ĠÐļ о +Ġm ówi +Ġt ÃŃn +ר×Ĵ ש +פר ×§ +Ġtr ạng +ĠÐŀ н +×Ĺ ×ķ×¥ +ĠعÙĨد Ùħا +Ġب ر +使 ãģĦ +Ġr á»Ļng +ëĮĢ ë¡ľ +íĪ ¬ +Ġktóry ch +в ид +ลูà¸ģ à¸Ħà¹īา +Ġmog Äħ +Ġש ×Ĺ +×ij ×Ĺר +ãĥĸ ãĥŃãĤ° +ĠTh Ãłnh +Ġ×Ķ ×¨×Ļ +ĠÑģÑĤ аÑĤÑĮ +ĠH á»Ļi +à¸ļ à¹īาà¸ĩ +çī¹ ãģ« +ĠÄIJ ức +èĢħ ãģ® +×¢ ×ŀ×ķ×ĵ +×ĺר ×Ķ +Ð ¥ +ĠÙħ Ùħا +Ġe ÅŁ +ĠнеобÑħодим о +ник ов +Ġüzer inde +a ÅĤa +Ġchá»ĭ u +ĠاÙĦ دÙĬÙĨ +أخ بار +ĠÄij au +ãģĮ å¤ļãģĦ +jÄħ cych +د Ø®ÙĦ +ları nd +larınd an +Ġs ẻ +à¸ŀิ à¹Ģศ +à¸ŀิà¹Ģศ ษ +ת ף +t ıģı +Ġlu áºŃt +ĠÅŀ e +ãĤ« ãĥ¼ +ãģ® ãģĤãĤĭ +Ġ×Ķ×IJ תר +ĠاÙĦØ¢ ÙĨ +ıld ı +Ġá o +ĠнаÑĩ ал +Ġvi á»ĩn +Ġ×ij×¢ ×ķ׾×Ŀ +з наÑĩ +×Ļ×ĺ ×Ķ +к ам +ĠÐĺ з +à¹Ģà¸Ĥ ียà¸Ļ +à¸Ļ à¹īà¸Ńà¸ĩ +ÑĤ ÑĢо +à¹Ģ à¸Ł +Ġжиз ни +Ġ สà¹Īวà¸Ļ +Ġv áºŃn +Ġê´Ģ 볨 +Ġl âu +ס ×ĺר +×§ ש +س ÙĬر +Ġ×IJ×ķת ×Ļ +Ġm ôi +ائ ب +Ġо ÑģÑĤа +Ġm ón +Ġ×ij ×ŀ×§×ķ×Ŀ +Ġد اخÙĦ +Ġ×IJ ×ķר +Ġв аÑģ +Ùĥ Ø´Ùģ +ìĺ ¨ +à¸ĸ à¹Īาย +Ġkullan ıl +Ġt ô +ãģ« ãĤĪãĤĬ +ĠëĺIJ íķľ +Ġ×¢×ij×ķ×ĵ ×Ķ +Ġri ê +Ġriê ng +Ġyak ın +ز ا +Å » +×IJ ×ķ׼׾ +شار Ùĥ +Ġб еÑģ +× ´ +Ġا بÙĨ +ĠTá»ķ ng +ÙĨ ظ +ÅĽwi ad +ãĤµ ãĥ¼ +ห าย +ĠG ün +Ġhakk ında +à¹Ģà¸Ĥà¹īา มา +ز ÙĨ +ĠÐł о +Ġbi á»ĥn +ãģ© ãģĵ +Ùģ Ø¹ÙĦ +ز ع +פר ×ĺ +Ġ×Ķ ×Ł +Ø£ ÙĩÙĦ +Ġth ất +ØŃ ÙħÙĦ +Ñĩ Ñĥ +ĠìĤ¬ ìĭ¤ +ì° ¸ +ĠìľĦ íķ´ +ÙĪ Ø¸ +ĠÐŁ од +Ġkho ản +ÑĤ ен +ĠÙģ Ø§ÙĦ +Ñģ ад +à¸Ļ à¸Ńà¸Ļ +ĠاÙĦسعÙĪØ¯ ÙĬØ© +" ØĮ +ĠاÙĦ ÙĴ +ãĤī ãģļ +Ġto án +Ġch ắc +׼ ×Ļר +m éd +méd ia +ز ÙĪ +Ġyan ı +פ ׳×Ļ×Ŀ +ØŃ ظ +Ġб еÑģп +ĠбеÑģп лаÑĤ +ĠбеÑģплаÑĤ но +ĠØ£ ÙħاÙħ +à¸Ń าย +à¸Ńาย ุ +ר שת +Ġg á»ĵ +Ġgá»ĵ m +Ġu á»ijng +ص ب +k ır +ãĥij ãĥ¼ +Ġ׾×ĵ עת +Ġк ÑĥпиÑĤÑĮ +׾ ×ķ×Ĺ +ÙĪØ¶ ع +ÙĤÙĬ Ùħ +à¸Ľ า +ж ив +à¸Ķ ิà¸Ļ +×IJ ×ķפ +à¹Ģล à¹ĩà¸ģ +ãĥĥ ãĥī +иÑĩеÑģки Ñħ +ĠCh á»§ +кÑĢ Ð°Ñģ +ÙĪ ØµÙĦ +p ÅĤat +м оÑĢ +Ġ×Ķ×IJ ×ķ +à¸Ń ิà¸Ļ +Ġíķľ êµŃ +гÑĢ Ðµ +Ġìłľ ê³µ +ì° ½ +Ġê°ľìĿ¸ ìłķë³´ +Ġngh á»ĭ +à¸ĭ า +ØŃس اب +Ġby ÅĤa +ÙħÙĦ Ùĥ +иÑĩеÑģки е +Ġb ác +ض ØŃ +ê¸ ¸ +ש ×ŀ×¢ +Ġìĸ´ëĸ » +Ġìĸ´ëĸ» ê²Į +ìĽ Į +ات Ùĩ +à¹Ĥรà¸ĩ à¹ģ +à¹Ĥรà¸ĩà¹ģ รม +خد ÙħØ© +ĠÐł а +׼×ķ׾ ×Ŀ +×ŀש ×Ĺ×§ +ĠÙĪ ÙĥاÙĨ +ס ×ķ×£ +ĠاÙĦØŃÙĥÙĪÙħ Ø© +Ġ×ij ×ĺ +Ġtr áºŃn +Ġ×Ķ×¢ ×ķ׾×Ŀ +ĠÃŃ ch +t Äħ +ש×ŀ ×ķ +Ġ×Ķר×IJש ×ķף +Ġíķĺ ê³ł +ãģķ ãĤī +ãģķãĤī ãģ« +ãģ« ãģĹãģ¦ +Ġ à¸ľà¸¡ +ãģ® ãĤĪãģĨãģª +ĠÙĪ ÙĤت +ãĥį ãĥĥãĥĪ +ÙĦ عب +ÙĪ Ø´ +ìĺ ¬ +Ġ หาà¸ģ +Ġm iaÅĤ +à¸Ĺ à¸Ńà¸ĩ +иÑĤ а +ا صر +ил ÑģÑı +з е +à¸Ľà¸£à¸° มาà¸ĵ +ãģĿãĤĮ ãģ¯ +Ġb ır +Ġbır ak +صÙĨ اع +Ð ® +Ø´ عر +Ġ׳ ×Ĵ×ĵ +Ġب سبب +ãĥĿ ãĤ¤ +ãĥĿãĤ¤ ãĥ³ãĥĪ +ĠاÙĦج ÙĪ +ĠнеÑģк олÑĮко +Ġki ếm +Ùģ Ùİ +Ġض د +×ij×Ļ×ĺ ×ķ×Ĺ +تاب ع +ÙĨ ز +ĠB ản +Ġaç ıkl +Ġaçıkl ama +Ġ à¸Ħุà¸ĵ +à¸Ĺ า +ÅĤ ów +Ø· ب +ÙĨ ØŃÙĨ +Ġ×ŀ×§ ×ķר +Ġİ s +Ġдом а +Ġ วัà¸Ļ +Ġd Ãłnh +Ñı н +ми ÑĢ +Ġm ô +ĠvÃł ng +ص اب +s ının +à¸Ħ ืà¸Ļ +Ø® بر +×ĸ׼ ×ķ +Ġ×ŀ ש×Ķ×ķ +m ü +Ġкомпани и +Ġ×Ķ×¢ ×Ļר +ĠÙĥ ÙĪ +ÙĤÙĦ ب +ĠlỼ p +и ки +׳ ×ij +à¹Ĥ à¸Ħร +à¹Ĥà¸Ħร à¸ĩ +à¹Ĥà¸Ħรà¸ĩ à¸ģาร +×ŀ×ķ×¢ ×ĵ +ÑıÑĤ ÑģÑı +หลัà¸ĩ à¸Īาà¸ģ +ени Ñİ +Ġש ×¢ +Ġb Æ°á»Ľc +ãĥ¡ ãĥ¼ãĥ« +ãĤĦ ãĤĬ +Ġ×Ļ×ķ×ĵ ×¢ +Ġê´Ģ íķľ +ĠاÙĦØ£ Ùħر +Ġböl ge +ĠÑģв ой +ÙĦ س +Ġ×ŀ×Ļ ×ķ×Ĺ×ĵ +ĠëĤ´ ìļ© +ĠØ£ جÙĦ +ĠÄIJ ông +Ġ×ŀ ×ł×ª +Ġìĭľ ê°Ħ +Ùĥ Ùİ +ãģ¨ãģĦãģĨ ãģ®ãģ¯ +Ġnale ży +تÙĨظ ÙĬÙħ +ĠÑģозд а +Ġph é +Ġphé p +ãģ§ãģį ãģ¾ãģĻ +Ġع ÙĦÙħ +大ãģį ãģª +ãĤ² ãĥ¼ãĥł +í ħĮ +Ġ׼×ķ׾ ׾ +ĠинÑĤеÑĢ Ð½ÐµÑĤ +ĠT ừ +ãģ¨ ãģªãĤĭ +ز اÙĦ +Ġktóry m +Ġnh é +ìĪ ľ +н ев +д еÑĢ +ãĤ¢ ãĥĹãĥª +i á»ĩu +×ij ×Ļ׾ +Ġت س +ĠÄIJ ây +ĠاÙĦØ® اصة +Ġà¹Ģ à¸Ĭ +Ġà¹Ģà¸Ĭ à¹Īà¸Ļ +ص اد +Ġd ạng +س عر +Ġש ×Ļ×ŀ×ķש +×Ĵ ×Ļ×Ŀ +ãģĮãģĤ ãģ£ãģŁ +п ÑĢов +пÑĢов од +Ġ×IJ ×Ļ׳×ķ +Ġ׾ ר×IJ +Ġ׾ר×IJ ×ķת +ĠØ£ Ù쨶ÙĦ +ĠØŃ ÙĦ +ĠØ£ بÙĪ +ê° ķ +Ġì§ ij +ãģ® ãĤĪãģĨãģ« +Ġפ ׳×Ļ +ס ×Ļ×Ŀ +ĠÙĪÙĩ ذا +Ġka ç +Ġé én +Ġê± ´ +ë° Ķ +Ñĥ з +à¸Ĥà¸Ńà¸ĩ à¹Ģรา +i ÅĤ +ĠÐľ Ñĭ +Ġch ết +ĠاÙĦØ« اÙĨÙĬ +×IJ ×§ +Ġ×ķ ×¢×ľ +ĠاÙĦØ· ب +×ij×ĺ ×Ĺ +Ġج دÙĬدة +Ġع دÙħ +ع ز +สิà¹Īà¸ĩ à¸Ĺีà¹Ī +ãģĻ ãĤĮãģ° +ĠÄij ô +ì£ ł +د ÙĤ +н омÑĥ +Ġk á»ĥ +ãĤ¢ ãĥ³ +å¤ļãģı ãģ® +à¸Ľà¸£à¸° à¸ģ +à¸Ľà¸£à¸°à¸ģ à¸Ńà¸ļ +פע×Ļ׾ ×ķת +ĠÑģÑĤ ол +may ı +ãģ¤ ãģĦ +Ġyılı nda +Ġ à¸Īึà¸ĩ +koÅĦ cz +ĠTh ông +Ġак ÑĤив +н ÑģÑĤ +нÑģÑĤ ÑĢÑĥ +ĠÃĸ z +Ġת ×ŀ×Ļ×ĵ +ĠÙĥ ÙĨت +Ñģ иÑģÑĤем +pr és +prés ent +Ġn â +Ġnâ ng +gÅĤ os +ĠÙĪØ² ÙĬر +ØŃ صÙĦ +Ġиме еÑĤ +ØŃ رÙĥØ© +à¸ŀ à¹Īà¸Ń +ãĤĴ ãģĬ +Ġاست خداÙħ +×IJ×Ļר ×ķ×¢ +ä»ĸ ãģ® +Ġש×Ķ ×Ŀ +ãģĹãģŁ ãĤī +ש×ŀ ×Ļ +Ñģ ла +m ı +Ġbaz ı +Ġíķĺ ì§Ģë§Į +×ĵ ׾ +Ġyapt ıģı +ãĥĬ ãĥ¼ +׾ ×Ļ׾×Ķ +ãģ¨ãģĦ ãģ£ãģŁ +änd ig +ĠÅŁ a +ĠÙģÙĬ Ùħا +иÑĤ елÑı +×ŀ ×ķש +à¸Ĥ à¸Ńà¸ļ +l ük +Ġh á»ĵi +Ġëª ħ +ĠاÙĦÙĥ Ø«ÙĬر +צ ×IJ +Ġhaz ır +طر Ùģ +ا ÙĬا +ĠÄij ôi +ен д +ÙĦ غ +×Ĺ ×ĸ×ķר +ĠвÑģ ег +ĠвÑģег да +ëIJĺ ê³ł +×ĵ ×ķ×ĵ +ан а +د ÙĪÙĦØ© +Ġho ạch +ع ÙĦا +عÙĦا ج +Ġ×ķ ×¢×ĵ +×Ķ ×Ŀ +ки й +ÙĦ ÙIJ +Ġ×¢ ׾×Ļ×ķ +ÑİÑī ий +Ġng á»§ +صÙĨ ع +ĠاÙĦع راÙĤ +à¸ķà¹Īà¸Ń à¹Ħà¸Ľ +ãģŁãģı ãģķãĤĵ +Ġph ạm +ÙĦ اÙĨ +ات Ùĩا +Ġbö yle +تÙĨ ÙģÙĬ +تÙĨÙģÙĬ ذ +Ġש×Ķ ×Ļ×IJ +Ñģ Ñĥ +ย าว +Ġש ×ķ׳×Ļ×Ŀ +Ġ×ŀ ×ķ׾ +ĠÑģ ил +Ġ×IJ×Ĺר ×Ļ×Ŀ +Ġph á»§ +ÙĤØ· ع +ĠTh á»§ +à¸Ľà¸£à¸°à¹Ģà¸Ĺศ à¹Ħà¸Ĺย +ÙĨ ÙĤ +ĠÄijo ạn +Ġب Ø¥ +п ÑĢедел +×ķת ×ķ +Ġy arı +пÑĢ Ðµ +ĠczÄĻ ÅĽci +ØŃ ÙĥÙħ +×ķ׳ ×Ļת +פע ׾ +ãĤĴ ãģĹãģ¦ +Ġktó rzy +׾ ×Ŀ +ĠÄIJi á»ģu +ĠкоÑĤоÑĢ Ð°Ñı +ĠìĿ´ ìĥģ +ãģĤ ãģ£ãģŁ +Ġ×ŀ×ĵ ×ķ×ijר +פ ×ķ×¢×ľ +d ım +éĢļ ãĤĬ +ĠбÑĥд ÑĥÑĤ +à¹Ģวà¹ĩà¸ļ à¹Ħà¸ĭ +à¹Ģวà¹ĩà¸ļà¹Ħà¸ĭ à¸ķà¹Į +ا خر +×Ĺ ×Ļ׾ +Ġ×Ļ ×ľ +Ġ×Ļ׾ ×ĵ×Ļ×Ŀ +×Ĺ ×Ļפ +×Ĺ×Ļפ ×ķש +Ġd òng +Ġש ×ĸ×Ķ +ÑĮ е +ãģĤ ãģ¨ +ìŀIJ ê°Ģ +×IJ ×ĵ +Ġü z +Ġüz ere +ظ ÙĦ +Ġ×IJ ×ķ׾×Ļ +Ġ×ij ×Ļ×ķ×Ŀ +ÙĦ ات +Ġm ê +ì¹ ¨ +تØŃ د +تØŃد Ø« +ĠØ® اصة +Ġب رÙĨ +ĠبرÙĨ اÙħج +ĠH Ãłn +×Ĺ ×¡ +ĠÙĪ ÙĦÙħ +×¢ ×Ŀ +Ġm ı +à¸Ł ัà¸ĩ +ש ×¢×Ķ +ÙĪÙģ ÙĤ +ס ×ij×Ļר +алÑĮ нÑĭй +×Ĺש ×ķ×ij +Ġn Ãłng +ë³ ¼ +ĠкоÑĤоÑĢ ÑĭÑħ +Ġ×Ĺ ×ķ×§ +t ör +ĠлÑĥÑĩ ÑĪе +ãĥij ãĥ³ +ลà¹Īา สุà¸Ķ +Ġج دÙĬد +ÙĬد Ø© +à¸Ĺ รà¸ĩ +ãĤĪãĤĬ ãĤĤ +ÙĦ ÙĦ +ãĤĤ ãģ£ãģ¨ +ש×ĺ ×Ĺ +Ġ×ķ ×IJ×Ļ +Ġgi á»ijng +Ø¥ ضاÙģ +×§ ת +ë§ Ŀ +Ġzosta ÅĤ +ÑĢ Ð¾Ð· +×Ļפ ×Ļ×Ŀ +Ġ׼׾ ׾ +ת×ķ׼ ף +dıģ ını +ÙĤ سÙħ +ĠÑģ ÑĩиÑĤ +ĠÑģÑĩиÑĤ а +×ĺ ×ķת +Ġ ưu +ĠØ¢ ÙĦ +Ġм ом +Ġмом енÑĤ +ĠاÙĦتع ÙĦÙĬÙħ +×¢×ľ ×ķת +Ġch ữa +Ġy ön +Ġtr Ãł +ĠØŃ ÙĬÙĨ +à¸ĭ ั +ĠC á +×¢ ×ĸ +ĠاÙĦØ£ ÙħÙĨ +c ÃŃ +Ġv á»ijn +Ġ à¸Ļาย +об ÑĢа +×§ ×IJ +Ġthi ếu +ãĥŀ ãĥ¼ +ส วà¸Ļ +Ġg á»Ń +Ġgá»Ń i +Ġê ¹ +Ġê¹ Ģ +Ġthi á»ĩn +ÙĤ ع +w ÄĻ +Ġн ам +ÑĤ ол +Ġs ân +ס ×ķ×Ĵ +Ġgeç ir +ÑĤ он +ев а +ĠÙĪ Ø¶Ø¹ +Ġع شر +Ñģ ло +à¸Ī ัà¸ļ +ãĤ· ãĥ¼ +ãĤĤ ãģĤãĤĬãģ¾ãģĻ +Ġv ẻ +ĠÄIJ á»ĥ +ر Ù쨹 +ĠاÙĦØ£ÙĪÙĦ Ùī +ÑĤ аÑĢ +ãģªãģı ãģ¦ +Ùħ Ùİ +qu ÃŃ +×¢×ł×Ļ ×Ļ׳ +г ен +Ġh ôm +à¸Ī า +Ġnh Ỽ +ĠاÙĦع ربÙĬ +×IJ ף +Ġl á»Ļ +Ġje ÅĽli +à¹Ģà¸Ĺà¹Īา à¸Ļัà¹īà¸Ļ +ĠØ£ÙĨ Ùĩا +Ġt uy +Ġtuy á»ĩt +Ġت ص +Ġتص ÙĨÙĬ +ĠتصÙĨÙĬ Ùģ +Ġê·¸ëŁ¬ ëĤĺ +о ÑĨен +à¸ģิà¸Ī à¸ģรรม +ãĤĦ ãģ£ãģ¦ +Ġkh á»ıi +Ġl á»ĩ +ĠاÙĦÙħج تÙħع +à¸Ńาà¸Ī à¸Īะ +à¸Īะ à¹Ģà¸Ľà¹ĩà¸Ļ +ов Ñĭй +ר ×Ŀ +ร à¹īà¸Ńà¸Ļ +ש ×ŀש +人 ãģ« +Ġüzer ine +פר ×Ļ +du ÄŁu +Ñĩ ик +Ġmù a +Ġ×ŀת ×ķ×ļ +Ġc áºŃp +Ġت ارÙĬØ® +×ij׾ ת×Ļ +Ġì¢ Ģ +ÙĦ ع +ب اÙĨ +Ġch út +Ġ×Ķ×ĸ ×ŀף +n ée +ĠLi ên +ĠÙĦÙĦ Ø£ +ØŃد ÙĪØ¯ +Ġ×¢ ׼ש×Ļ×ķ +в оз +Ġyapt ı +Ġоб о +à¹ĥหà¹ī à¸ģัà¸ļ +Ġ×ij×Ķ ×Ŀ +ãģı ãģ¦ +ر أس +ĠÑģÑĢед ÑģÑĤв +ĠB Ãłi +ãģĵãģ¨ ãģ« +ĠìĤ¬ íļĮ +Ġ모 ëijIJ +×ij ×IJ +Ġtr ắng +ĠاÙĦبÙĦ د +ĠHo Ãłng +ли бо +ĠдÑĢÑĥг иÑħ +İ R +Ñĥм а +ĠJe ÅĽli +ãĤĤ ãģĹ +Ġv òng +Ġ×IJתר ×Ļ×Ŀ +ĠÄij á»įc +Ġв оÑĤ +ãģł ãģĮ +ë° ° +à¸Ķู à¹ģล +Ġ×ŀ ׼׾ +ìĹIJ ëıĦ +г аз +Ġ׳×ķס פ×Ļ×Ŀ +ãģĵãģ¨ ãģ§ +Ġت ÙĪ +ãģ§ ãģĤãĤĬ +à¸Ļั à¹Īà¸ĩ +ĠможеÑĤ е +sz ÄĻ +ãģ® ãģł +ĠÙħÙĨ Ùĩ +Ġb á»ķ +Ġb üt +Ġbüt ün +ë³´ ê³ł +Ġch á»ĵng +à¹ģà¸Ī à¹īà¸ĩ +ĠV ì +ĠØŃ ر +Ġgi ản +ĠÙħ دÙĬÙĨØ© +تط بÙĬÙĤ +à¸Ī ิ +æĹ¥ ãģ® +б ил +à¸ģ à¸Ńà¸ĩ +ê³ ³ +ĠØ£ Ùħا +ìĨ IJ +Ġtr ái +ĠвÑģ ем +Ġس ÙĨØ© +ĠÑģай ÑĤ +Ġг оÑĤов +п Ñĭ +ĠëIJ ł +ĠاÙĦØ® Ø· +ĠاÙĦرئÙĬس ÙĬØ© +Ġíķ ©ëĭĪëĭ¤ +ĠìķĦëĭĪ ëĿ¼ +ĠìĿ´ ëłĩ +ĠìĿ´ëłĩ ê²Į +) ØĮ +h ält +ĠØ£ Ùħر +Ġع Ùħر +à¸ģà¹ĩ à¸Īะ +Ġ à¸Ĺำà¹ĥหà¹ī +Ġc ân +Ġ×ij ׾ +Ġ×ij׾ ×ij×ĵ +פ סק +ĠÙĬ ÙĤÙĪÙĦ +н ÑĥÑĤÑĮ +à¹ģ à¸Ħ +Ġ×§ צת +Ġn ằm +Ġh òa +bilit Ãł +ĠìĹĨ ëĭ¤ +Ġ׼ פ×Ļ +ÑĢ Ð¾Ð¶ +лаг а +Ġ×Ķש ×Ļ +ĠNgo Ãłi +ĠÙĪ Ø¬ +ĠÙĪØ¬ ÙĪØ¯ +ĠìľĦ íķľ +Ġus ÅĤug +Ġtu ần +d ź +×ŀ ×ķף +ĠاÙĦع دÙĬد +Ġch ẳng +สุà¸Ĥ à¸łà¸²à¸ŀ +Ġ×ij ×ĵר×ļ +ĠÑģеб е +ĠìŀĪ ìĿĦ +ĠاÙĦØŃ اÙĦ +Ġd á +Ġc ưá»Ŀi +Ġnghi ên +ie ÅĦ +ĠD ương +ï¼ ħ +Ø´ د +ãģĦãģ¤ ãĤĤ +ĠвÑĭб оÑĢ +Ġc á»Ļng +ש ×Ļ׳×ķ×Ļ +Ġch ạy +Ġ×ij×¢ ׾×Ļ +اخ بار +íķĺ ë©° +ż Äħ +ج از +Ġ׳ ר×IJ×Ķ +ศ ู +ศู à¸Ļ +ศูà¸Ļ ยà¹Į +×Ĵ ×¢ +Ġ×¢ ×ĵ×Ļ +Ġ×¢×ĵ×Ļ ×Ļף +بر ا +ÑĨи й +ĠÄIJ á»ĵng +ÙĤ اÙĨÙĪÙĨ +ĠÄij ứng +ãģĹãģŁ ãĤĬ +Ġ×Ĺ×Ļ ×Ļ +Ġë IJľ +ĠëIJľ ëĭ¤ +Ġм еждÑĥ +à¸ŀวà¸ģ à¹Ģà¸Ĥา +ĠB ắc +ล ำ +ë° ± +ĠíĻ ķ +มาà¸ģ ม +มาà¸ģม าย +бан к +à¸Ńา à¸ģาร +Ġh Ãł +Ġ׾ ׳ +à¸Ń à¸Ń +Ġë°Ķ ë¡ľ +л ом +m ática +ĠØŃ د +اب ت +à¸Ĺีà¹Ī à¸Ļีà¹Ī +Ġco ÅĽ +ÙģÙĬ دÙĬ +ÙģÙĬدÙĬ ÙĪ +ĠмеÑģÑĤ о +Ġph út +มาà¸ģ à¸ģวà¹Īา +×IJ פ +ب ÙIJ +ĠPh ú +ì± Ħ +ĠÙĪ Ø³ÙĦÙħ +à¸Īี à¸Ļ +поÑĤ ÑĢеб +Ġ×Ĺ×ĵ ש×ķת +Ø´ ÙĪ +Ġעצ ×ŀ×ķ +ĠعÙħÙĦ ÙĬØ© +à¸Ħุà¸ĵ à¸łà¸²à¸ŀ +ãģ¾ãģĻ ãģĮ +دع ÙĪ +طر ÙĤ +à¹Ħมà¹Ī à¸ķà¹īà¸Ńà¸ĩ +ë² Ķ +ìĬ ¹ +Ġk ÃŃch +ĠìĹĨ ëĬĶ +ĠÑĤ ам +ĠÙĨ ØŃÙĪ +ĠاÙĦÙĤ اÙĨÙĪÙĨ +×Ĺ ×ķ×Ŀ +Ġk ız +Ġ×ĵ ×Ļף +ĠвÑĢем ени +ãģ£ãģŁ ãĤĬ +ĠØ´ Ùĩر +ĠìĦľ ë¹ĦìĬ¤ +×¢ ש×Ķ +Ġgi ác +ĠاÙĦسÙĦ اÙħ +Ġ×IJ ש +ĠполÑĥÑĩ а +à¸Īัà¸Ķ à¸ģาร +к оÑĢ +Ġ×Ķ×ĺ ×ķ×ij +ราย à¸ģาร +주 ìĿĺ +à¹ģà¸ķà¹Ī ละ +Ġê·¸ëŁ° ëį° +à¸Ĺีà¹Ī à¹Ģà¸Ľà¹ĩà¸Ļ +Ġת ×ķ×ļ +بÙĬ اÙĨ +Ð Ļ +oÅĽci Äħ +ÑĤ ок +ĠÃ Ķ +ĠÃĶ ng +à¹Ħมà¹Ī à¹ĥà¸Ĭà¹Ī +ãģ¿ ãģ¦ +ÐŁ о +ĠЧ ÑĤо +íĻ © +×ĺ ×ij×¢ +меÑĤ ÑĢ +Ġ×ij ×ŀ×Ķ +Ġ×ij×ŀ×Ķ ×ľ +Ġ×ij×ŀ×Ķ׾ ×ļ +Ñĩ ÑĮ +×§ ש×Ķ +з нак +знак ом +uj ÄĻ +×Ļצ ר +ĠاÙĦÙħ ÙĦÙĥ +ı yla +×IJ×ŀ ת +à¸Ľ ิà¸Ķ +×IJ ×Ĺ×ĵ +ر اد +Ġm áºŃt +ëĭ¤ ëĬĶ +Ġl ạnh +ש׾ ×ķש +ØŃ دÙĬØ« +ت ز +å¹´ ãģ® +Ġк ваÑĢ +ĠкваÑĢ ÑĤиÑĢ +ä½ľ ãĤĬ +رÙĪ Ø¨ +ов ан +ĠТ е +à¸Īำ à¸ģ +à¸Īำà¸ģ ัà¸Ķ +ب اط +×Ĵ ת +Ġм аÑĪ +ĠмаÑĪ Ð¸Ð½ +×Ļצ ×Ķ +ãģ» ãģ¨ +ãģ»ãģ¨ ãĤĵãģ© +ÃŃ do +ĠÑı зÑĭк +à¸ļ ิà¸Ļ +สà¸ĸาà¸Ļ à¸Ĺีà¹Ī +ĠìĹ ´ +ãĤ¦ ãĤ§ +Ġc Ãł +п ан +åı£ ãĤ³ãĥŁ +Ġر د +اÙĤ ت +ĠÙĥ ب +ĠÙĥب ÙĬرة +ÑģÑĤ ал +ש×ŀ ×Ĺ +pos ición +ĠÙħÙĦÙĬ ÙĪÙĨ +ĠìĿ´ ìķ¼ +ĠìĿ´ìķ¼ ê¸° +Ġh út +ĠÅĽw iat +Ġë°© ë²ķ +ĠÑģв еÑĤ +Ġвиде о +ĠاÙĦÙĨ ظاÙħ +Ġtr á»Ŀi +ĠëĮĢ íķ´ìĦľ +ר ×ŀת +ت داÙĪÙĦ +×ķר ×ĵ +ת ×ŀ +ת×ŀ ×ķ׳×ķת +Ġ×ŀ ף +Ġдв а +Ġ×Ķ×§ ×ķ +æĹ¥ ãģ« +Ġ×Ķ×Ĵ ×Ļ×¢ +à¹Ģà¸ŀิà¹Īม à¹Ģà¸ķิม +Ùħار س +Ġê²ĥ ìŀħëĭĪëĭ¤ +ãģªãģĦ ãģ¨ +Ġnhi á»ĩt +ëIJ ©ëĭĪëĭ¤ +Ġ×ij׳ ×ķש×IJ +Ġê°Ģ ìŀ¥ +Ġv ợ +ĠÄij óng +צ×Ļ׾ ×ķ×Ŀ +ê´Ģ ê³Ħ +в аÑı +×IJ ×Ļ×ĸ +×IJ×Ļ×ĸ ×Ķ +ĠÙĨ ظاÙħ +ÙħØŃ اÙ쨏 +Ġt ải +기 ëıĦ +à¸Ľà¸±à¸Ī à¸Īุ +à¸Ľà¸±à¸Īà¸Īุ à¸ļัà¸Ļ +׼ ×ĵ×ķר +ĠìķĦ ìĿ´ +׼׳ ×Ļס +à¹Ģ à¸ķร +à¹Ģà¸ķร ียม +Ġngo ại +ĠدÙĪÙĦ ار +Ġr ẻ +Ġkh Äĥn +عد د +Ø´ عب +czy Äĩ +ĠاÙĦ Ùĥر +ĠÑĩеловек а +ĠÙĪ Ø¥ÙĨ +×IJ ×ĺ +Ġth Æ¡ +ĠاÙĦ رÙĬاض +оп ÑĢедел +опÑĢедел ен +×Ķ ×ŀש×ļ +ĠÐĿ ово +з Ñĭва +ĠاÙĦدÙĪÙĦ ÙĬ +ĠÄij áp +Ġк ÑĢед +ĠкÑĢед иÑĤ +ов ого +Ġm ôn +à¸Ľà¸£à¸° à¹Ĥย +à¸Ľà¸£à¸°à¹Ĥย à¸Ĭà¸Ļ +à¸Ľà¸£à¸°à¹Ĥยà¸Ĭà¸Ļ à¹Į +ÑģÑĤ е +ĠTh á»ĭ +د ÙĬØ© +×ŀצ ×ķ +Ùģ Ø§Øª +×§ ×ĵ×Ŀ +ìĿ´ëĿ¼ ê³ł +ÙĪ Ø® +Ġ×Ĺ ×ĸ +ĠÑĦоÑĤ о +׾ ×Ļת +ت Ùİ +ÙĪ Ø¨Ø± +й ÑĤи +ĠÃ¶ÄŁ ren +Ġ×Ķ×ĸ ×ķ +Ġv á»įng +ÙĤÙĪ Ø© +ĠT ây +ĠÐĿ и +Ġש ×ķ×ij +ãģ¨è¨Ģ ãĤıãĤĮ +ãģ© ãĤĵãģª +׊צ×Ļ +ï½ ľ +Ġ×ķ×Ķ ×ķ×IJ +ä¸Ģ ãģ¤ +ĠÑģÑĤо иÑĤ +ni Äħ +×ĺר ×Ļ +ĠдеÑĤ ей +нÑı ÑĤÑĮ +ĠÑģдел аÑĤÑĮ +Ġë§İ ìĿ´ +ä½ķ ãģĭ +ãģĽ ãĤĭ +à¹Ħ หม +à¸ķิà¸Ķ à¸ķà¹Īà¸Ń +Ġ×ij ת×Ĺ +Ġ×ijת×Ĺ ×ķ×Ŀ +ìĻ Ħ +ì§Ģ ëĬĶ +ÑģÑĤ аÑĤ +ÑıÑģ н +ü b +Ġth ả +Ġ×ij×IJ×ŀ ת +Ġt uyến +×ĵ ×Ļר×Ķ +Ġ×IJ ×Ļש×Ļ +×ĸ׼ ר +ãģ° ãģĭãĤĬ +Ġx ét +׼ ×Ļ×ķ +׼×Ļ×ķ ×ķף +diÄŁ ini +ĠاÙĦÙħ ÙĪØ¶ÙĪØ¹ +Ġh áºŃu +à¸Īาà¸ģ à¸ģาร +×ijס ×Ļס +Ġ×ŀ×Ĵ ×Ļ×¢ +×ij ×Ļ×¢ +ĠÙĪ Ø¬Ùĩ +à¹ģà¸Ķ à¸ĩ +à¸Ļ าà¸ĩ +ĠÅŀ a +ì ¡´ +ë¡ Ģ +à¸ķ ะ +Ġ×Ķ×Ĺ×Ļ ×Ļ×Ŀ +Ùģ ÙĬد +ãģ§ãģĻ ãģĭãĤī +ê· ľ +ź ni +ĠлÑİ Ð´ÐµÐ¹ +Ġyüz de +ıy orum +ĠاÙĦ بØŃر +e ño +п аÑĢ +ÙĬ ÙĤØ© +об ÑĢ +ר ×ķ×ļ +ت ÙĪÙĤع +ĠاÙĦØ´ ÙĬØ® +åĪĿ ãĤģãģ¦ +ĠÑĤ елеÑĦ +ĠÑĤелеÑĦ он +Ġth ôi +Ġ×Ļ׼×ķ׾ ×Ļ×Ŀ +ĠÅŁ irk +ĠÅŁirk et +Ġìļ°ë¦¬ ê°Ģ +ĠÄij ông +Ġת ×ķ×ĵ×Ķ +ÑģмоÑĤÑĢ ÐµÑĤÑĮ +ĠÙĦ ÙĩÙħ +Ġ׾ ׼ +ĠN ó +ĠØŃ اÙĦØ© +ãģĦ ãģij +קר ×ķ +az ı +ãĤ³ ãĥ¼ +ĠÙĦÙĦ ت +s ınız +ĠH ải +기 ìĪł +ยัà¸ĩ à¹Ħมà¹Ī +ëĭ¤ ê³ł +פ ×Ĺ +Ġ׾×Ĵ ×ij×Ļ +Ġع ÙĨÙĩ +Ġк аз +Ġказ ино +ب ÙĪØ± +ÑĦ еÑĢ +Ġê°Ļ ìĿ´ +تس جÙĬÙĦ +ĠاÙĦÙħ رÙĥز +ĠTh ái +д аÑĤÑĮ +×ŀ×Ļ ×Ļ׾ +Ġpay laÅŁ +ãģ¤ ãģ® +à¹Ģร ืà¸Ń +n ça +׳ ×ķ×Ĺ +Ġ×IJ פ×Ļ׾×ķ +ãģ¨ èĢĥãģĪ +ãģ¨ãģĹãģ¦ ãģ¯ +à¹Ģà¸Ī à¸Ń +×ŀ פ +Ġg iriÅŁ +л иÑĤ +ÑĤ елÑı +Ñij н +æ°Ĺ ãģ« +Ġg ó +Ġgó p +åĪĩ ãĤĬ +Ġ×Ķ ×Ĺ×ĵש +ж ал +Ġ×ĵ עת +éģķ ãģĨ +à¹Ģà¸Ĥà¹īา à¹Ħà¸Ľ +Ġס ר×ĺ +e ña +æĸ° ãģĹãģĦ +ر Ùİ +ĠÐIJ ÑĢ +Ġph ản +à¸Īะ à¹Ħà¸Ķà¹ī +Ġ×ijצ ×ķר×Ķ +Ø´ اÙĩ +شاÙĩ د +ÙĪØ± د +à¹Ģà¸Ļืà¹Īà¸Ńà¸ĩ à¸Īาà¸ģ +или ÑģÑĮ +à¹ģละ à¸ģาร +Ġ×Ķ ×ĸ׼ +Ġ×Ķ×ĸ׼ ×ķ×Ļ×ķת +ei ÃŁ +ãĥ ¨ +ìĥ Ī +ĠÃĩ a +Æ ¯ +ש ×Ĵ +ÙĬÙĨ Ø© +ร à¹īà¸Ńà¸ĩ +ãĤµ ãĥ³ +ÑĢоÑģÑģ ий +ÑĢоÑģÑģий Ñģк +a ÄŁa +ĠнаÑĩ ина +Ġص ÙĦÙī +à¸Ĺุà¸ģ à¸Ħà¸Ļ +íļĮ ìĤ¬ +Ġли ÑĨ +Ø´ ÙĬر +ĠØ´ÙĬ Ø¡ +ÙĬÙĨ ا +Ġפ ×Ĺ×ķת +Ġiçer is +Ġiçeris inde +ĠØ£ ØŃÙħد +Ġże by +ì´ Ŀ +Ġп оказ +Ġи менно +หà¸Ļัà¸ĩ ส +หà¸Ļัà¸ĩส ืà¸Ń +ĠÑĤÑĢ Ðµ +สัà¸ĩ à¸Ħม +Ø¥ ÙIJ +ãģĮ å¿ħè¦ģ +ÙĬÙij Ø© +פ צ +íĭ ° +ĠÙħ جاÙĦ +׳ פש +к ан +×Ĺ ×ķפ +×Ĺ×ķפ ש +ì²ĺ ëŁ¼ +ов аÑı +з ов +Ġh ạ +Ġdzi ÄĻki +×Ļר ×ķ +Ġ׾ ×ŀצ +Ġ׾×ŀצ ×ķ×IJ +×Ļ×ĵ ×ķ +Ġs ợ +Ġ׾×Ķ ×Ĵ×Ļ×¢ +×§ ×ij×¢ +Ġchi á»ģu +ãĥŀ ãĤ¤ +Ġd Ãłng +à¹ģà¸Ł à¸Ļ +Ġü ye +×Ļ׳ ×Ĵ +à¹Ģรีย à¸ģ +ç§ģ ãģĮ +th é +ĠÑĦ илÑĮ +ĠÑĦилÑĮ м +ĠNg Ãły +Ġж ен +Ġжен Ñīин +ج ÙĬد +n ç +à¸Ľ รา +×Ļ×ŀ ×ķ +Ġn á»ģn +×IJ ×ķ׾×Ŀ +Ġвозмож ноÑģÑĤÑĮ +Ġëĭ¤ ìĭľ +è¦ĭ ãģŁ +à¸ĸ à¸Ļ +à¸ĸà¸Ļ à¸Ļ +mız ı +ĠÙħ جÙħÙĪØ¹Ø© +c jÄħ +ĠÐł Ф +à¸ģำ หà¸Ļ +à¸ģำหà¸Ļ à¸Ķ +ĠìŬ 기 +land ı +ни ÑĨ +ÑģÑĤв е +Ġ×ĵ ×ijר×Ļ×Ŀ +Ġsk ÅĤad +ãĤĬ ãģ¾ãģĹãģŁ +ĠоÑĤ кÑĢÑĭÑĤ +нÑı ÑĤ +ĠÑģво ей +à¸Ī ิà¸ķ +ĠкаÑĩеÑģÑĤв е +Ġet tiÄŁi +ìĤ¬ íķŃ +ĠاÙĦÙĬ ÙħÙĨ +иÑĩеÑģки й +ë¸ Į +Ġ×ij×IJר ×¥ +Ġا سÙħ +Ġиз веÑģÑĤ +r ão +Ġatt ivitÃł +à¹Ģà¸Ľà¹ĩà¸Ļ à¸ģาร +ĠاÙĦد Ùĥت +ĠاÙĦدÙĥت ÙĪØ± +ĠÙĪØ§ØŃد Ø© +ĠÑģ ÑĩеÑĤ +ĠпÑĢ Ð¸Ñĩ +ĠпÑĢиÑĩ ин +ĠÙĪØ² ارة +Ġh uyá»ĩn +ĠÙĥ تاب +à¹ģà¸Ļ à¹Īà¸Ļ +à¹ģà¸Ļà¹Īà¸Ļ à¸Ńà¸Ļ +Ġgün ü +г ÑĢÑĥз +ĠاÙĦØ® اص +Ġgör ül +׾ ×ŀ×ĵ +Ġìłķ ëıĦ +×ķ×ij ×Ļ׾ +Ġ×ŀ×§ צ×ķ×¢×Ļ +ĠоÑģоб енно +à¸Ľà¸£à¸° à¸ģา +à¸Ľà¸£à¸°à¸ģา ศ +aca ģını +ë¶ ģ +à¸łà¸¹ มิ +ĠÑį лекÑĤ +ĠÑįлекÑĤ ÑĢо +Ġ×§ ש×Ķ +سÙĦ Ø· +à¸Ĭà¸Ļ ะ +×¢ ×Ļ׾ +ĠЧ е +à¹ģà¸Ļ à¹Ī +lı ÄŁ +lıģ ın +Ġ×ŀ×¢ ×¨×Ľ×ª +好ãģį ãģª +มาà¸ģ à¸Ĥึà¹īà¸Ļ +×ŀ×¢ ×ijר +ĠاÙĦÙħ غرب +ĠпеÑĢ Ð¸ +ĠпеÑĢи од +Ġnh ạc +ا ÙĪÙĬ +ĠÙĪ Ø¹ÙĦÙī +أخ ذ +ĠC ô +תר ×ij×ķת +×Ĵ ×Ķ +Ġktóre j +×IJ ×Ļת +×ij ×ķ×IJ +д елÑĮ +รี วิ +รีวิ ว +ж Ñĥ +Ġ×ij×Ĺ ×ķ +еÑĪ ÑĮ +ĠØ£ ÙĦÙģ +ĠاÙĦÙĪ Ø·ÙĨÙĬ +ĠاÙĦÙħÙĨ Ø·ÙĤØ© +nÄħ Äĩ +Ġthi ên +иÑĩеÑģк ой +ĠاÙĦÙħ ÙĦ +Ġع Ùħ +ס פר +Ġnh óm +ÙĪØµ Ùģ +ĠCh úng +Ġر ÙĤÙħ +ãģ¾ãģĹãģŁ ãģĮ +al ité +ล ม +ĠëĤ´ ê°Ģ +׾ק ×ķ×Ĺ +ĠS Æ¡n +pos ição +mi ÄĻ +Ġtr ánh +ĠÄIJ á»Ļ +׼ ×Ĺ +ãģĤ ãģ£ãģ¦ +à¸Ńย à¹Īา +Ġ×ŀ×Ĺ ×Ļר +Ġ×Ķ ×Ļת×Ķ +à¸Ľ à¹Īา +à¸Ńืà¹Īà¸Ļ à¹Ĩ +Ø´ ÙĤ +×ł×¡ ×Ļ +ë¦ ¼ +ãģ¦ãģĹãģ¾ ãģĨ +Ġ×ŀ צ×ij +ãģ« åĩº +ÙħÙĪØ§ Ø·ÙĨ +ยัà¸ĩ มี +алÑĮ нÑĭе +san ız +Ø¥ سرائÙĬÙĦ +ĠvÃł i +ì¤ Ħ +ã썿ĢĿ ãģ£ãģ¦ +×Ļ ×ķ׳×Ļ +çĶŁ ãģį +Ġs âu +Ñĩ иÑģÑĤ +Ġl á»ħ +ĠGi á +à¸Ńุ à¸Ľ +à¸Ńà¸¸à¸Ľ à¸ģร +à¸Ńà¸¸à¸Ľà¸ģร à¸ĵà¹Į +Ġnh ẹ +r ö +ס ×ĺ×Ļ +ãģķãĤĵ ãģĮ +Ġd ầu +ع Ùİ +ت را +×Ĵ×ĵ ׾ +Ġtécn ica +׼ ׳×Ļ×Ŀ +תק ש +תקש ×ķרת +Ġн его +ét ait +Ġm á»ģm +Ñģ еÑĤ +Ġnh áºŃt +Ġ×ŀ ×¢×ľ +Ġ×Ķ×¢ ×ij×ķ×ĵ +Ġ×Ķ×¢×ij×ķ×ĵ ×Ķ +Ġ×Ĵ ×Ļ׾ +ãģ¯ ãģªãģĦ +ائ ØŃ +Ġз деÑģÑĮ +×IJ ×Ļ׳×ĺר +Ùħ ÙIJ +Ġ×Ļ ×Ĺ×ĵ +ر اÙģ +ì²ĺ 리 +×ĵ ×¢×ķת +ì¹ ľ +ĠТ о +ĠTh ế +ì¶ © +Ġ׳׼ ×ķף +عÙĬ Ø´ +ни з +Ġج اÙĨب +×ŀ×§ צ×ķ×¢ +à¹Ĥ à¸ĭ +Ñģ ÑĥÑĤ +ìĸ´ ìļĶ +ãĤĴè¦ĭ ãģ¦ +ار د +Ġaç ıl +ĠاÙĦØŃ ÙĬاة +à¸ģà¹ĩ à¹Ħà¸Ķà¹ī +ãģĿãĤĮ ãĤĴ +عض ÙĪ +Ġг ÑĢаж +ĠгÑĢаж дан +à¸Īะ à¸ķà¹īà¸Ńà¸ĩ +ĠìĿ´ 룬 +ĠìĿ´ë٬ íķľ +Ġtr ách +ÙĨ Ùİ +Ġkı sa +Ã Ķ +ÑĪ ÐºÐ° +ãģ® äºº +ĠÐŁ оÑģ +ĠÐŁÐ¾Ñģ ле +Ñĥ лÑĮ +ÙĪØ§ جÙĩ +ÙĤ رب +à¸Ľà¸ıิ à¸ļัà¸ķิ +ê° Ļ +Ġ×ŀ ׳ +ĠÑģво и +بر اÙħج +Ġر ÙĪ +пÑĢ Ð¾Ð´ +пÑĢод аж +Ġby ÅĤy +วั ย +Ġgör ün +ĠÃ Ī +ÑİÑī им +ĠÑĤак ой +Ùģ ÙĪØ± +ĠÙģ Ø¹ÙĦ +Ġб ел +ëIJ ł +er ÃŃa +ĠÑģво Ñİ +Ġl ã +Ġlã nh +à¹Ģà¸ŀืà¹Īà¸Ń à¹ĥหà¹ī +ÙĤ ÙĨ +تط ÙĪÙĬر +Ġsay ı +ĠÑģ ейÑĩаÑģ +Ġ×IJ×Ĺר ת +×§ ×ķפ×Ķ +×§×ķר ס +Ġس Ùħ +Ġ×ĺ ×Ļפ×ķ׾ +ìĿ´ëĿ¼ ëĬĶ +دراس Ø© +èµ· ãģĵ +×Ĺ ×Ļ׳ +×Ĺ×Ļ׳ ×ķ×ļ +×ĵ ×§ +Ġë§ ŀ +Ġком анд +ĠÐij о +Ġиг ÑĢÑĭ +à¸ļ ี +ĠØ£ Ùİ +в ен +ĠاÙĦج دÙĬد +ĠÙĦ Ø¥ +Ġ×ķ×IJ ׳×Ļ +Ġ×Ķס ×Ļ +иÑĩеÑģк ого +رÙĪ ØŃ +à¸ģาร ศึà¸ģษา +ĠTr ưá»Ŀng +иг ÑĢа +ıl ması +Ġм аÑģÑģ +ãģ¨ãģį ãģ« +à¸Ĺีà¹Ī à¸ľà¹Īาà¸Ļ +à¸Ĺีà¹Īà¸ľà¹Īาà¸Ļ มา +ĠاÙĦساب ÙĤ +Ġ×ŀ×¢ ×ĺ +в аÑĤÑĮ +m Ã¼ÅŁ +Ġ׾ ׼×ļ +Ġt á»ĭch +Ùģ ÙĩÙħ +تد رÙĬب +Ø´ Ùĥ +Ġ×ij ×ŀ×Ļ +Ġ×ij×ŀ×Ļ ×ķ×Ĺ×ĵ +ÙĤØ· اع +ãģª ãģĹ +×ķצ ×Ļ×IJ +ĠÙĪ Ø³ÙĬ +з Ñĥ +Ġy at +Ġyat ırım +ë§ İ +Ġth ắng +ãģĬ 客 +ãģĬ客 æ§ĺ +ĠThi ên +ãģ«å¯¾ ãģĹãģ¦ +ÑĢ Ð¸Ñģ +ÙĨت ائ +ÙĨتائ ج +Ġ×ŀ שר +Ġ×ŀשר ×ĵ +Ġتع اÙĦ +ĠتعاÙĦ Ùī +ש ׳×Ļ +Ùĩ اÙħ +×IJ׳ ש×Ļ×Ŀ +Ġżyc ia +ĠÑĢÑĥб лей +ÙĬ ض +Ġkat ıl +ĠÙħ ÙĪØ¶ÙĪØ¹ +Ġvard ır +ĠÙħÙĨ Ø·ÙĤØ© +ĠTr ần +Ġв еÑģ +ü p +Ùħ ÙĪÙĨ +ÑĪ Ð»Ð¸ +Ġn óng +Ø® ÙĦÙģ +ĠС ÑĤа +Ġд оÑĢ +ĠдоÑĢ Ð¾Ð³ +ĠwÅĤa ÅĽnie +eÄŁ in +Ġhi á»ĥm +ĠС ам +ê»ĺ ìĦľ +ĠÑĦ а +ãģ» ãģĨ +ãģ»ãģĨ ãģĮ +×ķפ ×Ļ×¢ +ê° Ī +د ÙĪÙĦ +Ġthu ê +Ġch á»Ĺ +Ġëĭ¹ ìĭł +ãģij ãĤĮ +ãģijãĤĮ ãģ© +ë³´ íĺ¸ +ãģķãĤĮ ãģ¦ãģĦãģ¾ãģĻ +Ġнад о +ĠìĤ¬ëŀĮ ëĵ¤ +à¹Ģà¸Ĥ à¸ķ +สม ัย +z ÅĤ +ت ÙĪØ± +Ġש ת×Ļ +v ê +Ġ×ijת ×ķ×ļ +à¸Ĭ ัย +ãģĦ ãģ£ãģŁ +ìĿ ij +Ġt ầ +Ġtầ ng +ש ׼ר +Ġê¸ Ģ +Ġ×Ķש ׳×Ķ +Ġا ÙĨÙĩ +ç«ĭ ãģ¡ +r és +füh ren +ر ØŃÙħ +ê· ¹ +ĠâĢ « +Ġsu ất +à¸Ł ิ +ÙĬ Ùĩا +ĠاÙĦ اتØŃاد +Ġt uyá»ĥn +ãģ¾ ãĤĭ +Ġm ại +Ġng ân +ãĤ° ãĥ© +欲 ãģĹãģĦ +س ار +ãĤĤãģ® ãģ§ãģĻ +ки е +Ġseç im +åħ¥ ãĤĬ +ãģªãģ© ãĤĴ +ÑĤ ÑĢи +ĠÑģп еÑĨ +ĠØ£ د +Ġод но +ÑĪ ÐµÐ» +ãĥĩ ãĥ¼ãĤ¿ +ãĤ· ãĤ¹ãĥĨ +ãĤ·ãĤ¹ãĥĨ ãĥł +è¡Į ãģį +ã썿ĢĿ ãģ£ãģŁ +à¹Ģà¸ģิà¸Ķ à¸Ĥึà¹īà¸Ļ +ĠÑĤ ож +ĠÑĤож е +Ġs ạch +ĠÑģ ÑĢок +Ġкли енÑĤ +ĠÙħØ´ رÙĪØ¹ +Ġalt ında +Ġì ·¨ +ä¸Ń ãģ® +ãģķãģĽ ãĤĭ +ãģĻ ãģ¹ +ãģĻãģ¹ ãģ¦ +ê°ľ ë°ľ +ĠÄij êm +ãģªãģĦ ãģ®ãģ§ +ì² ł +×¢ ×ij×ĵ +Ġd ấu +à¸Ħà¸Ļ à¸Ĺีà¹Ī +ĠC ách +تع ÙĦÙĬÙħ +Ġh ại +ãĤ» ãĥķãĥ¬ +ĠÙĨÙ쨳 Ùĩ +ĠíĨµ íķ´ +ÑĪ Ð»Ð¾ +Ġнап ÑĢав +ĠнапÑĢав лен +ÑĢÑĥ Ñĩ +íĶ Į +Ġ×ijר ×Ļ×IJ +ãģ® ãģ¿ +ãģ«ãģĬ ãģĦãģ¦ +×ij ׳ק +ãĤ¨ ãĥ³ +Ø«ÙĦ اث +Ġm ỹ +ĠÑģай ÑĤе +Ġе мÑĥ +ت غÙĬ +تغÙĬ ÙĬر +خص ÙĪØµ +ÑĤе ли +Ġ×ķ׾ ׼ף +פע ×Ŀ +Ġпо ÑįÑĤомÑĥ +ر اÙĨ +иÑĤел ей +пиÑģ ан +×¢ ×¥ +ĠìĤ¬ ìĹħ +Ùħ ز +جÙħ ÙĬع +ë©´ ìĦľ +à¸ľà¸¥à¸´à¸ķ à¸łà¸± +à¸ľà¸¥à¸´à¸ķà¸łà¸± à¸ĵ +à¸ľà¸¥à¸´à¸ķà¸łà¸±à¸ĵ à¸ij +à¸ľà¸¥à¸´à¸ķà¸łà¸±à¸ĵà¸ij à¹Į +ĠпÑĢ Ð¸Ð¼ÐµÑĢ +ãĤŃ ãĥ¼ +l â +Ġch Äĥm +缮 ãģ® +ãģĦ ãģĭ +ãģ¨è¨Ģ ãģĨ +×ĸ ×ķ×Ĵ +Ġ×ij ×ĵ×Ļ +Ġ×ij×ĵ×Ļ ×ķ×§ +ãģĬ åºĹ +à¸ķà¸Ńà¸Ļ à¸Ļีà¹ī +Ġph á»iji +п ÑĤ +สà¸Ļ าม +Ø· ÙĪ +ص اØŃ +صاØŃ ب +ĠD ü +ĠDü nya +Ġп ока +п ал +ĠÄij ảo +ĠاÙĦÙģ ÙĪØ± +ĠاÙĦÙģÙĪØ± Ùĥس +Ġmá u +кÑĢ ÐµÐ¿ +ĠاÙĦس اعة +ĠгоÑĢ Ð¾Ð´Ð° +Ùģ ØµÙĦ +ай ÑĤе +Ġд ог +Ġдог овоÑĢ +ĠØ¥ ذ +Ġ×ij׼׾ ׾ +ÙĬ تÙĩ +×Ĵ ×ijר +Ġbir ç +Ġbirç ok +문 íĻĶ +ãģĿãģĨ ãģª +را ØŃ +ĠÙħ رة +ĠденÑĮ ги +f ä +à¸Ĥà¹īา ว +ĠÑģов ÑĢем +ĠÑģовÑĢем енн +׾×Ĺ ×¥ +èī¯ ãģı +ĠÙģ Ø£ +Ġ×ķ ×ĸ×Ķ +Ġз ани +Ġзани ма +Ġê°Ģì§Ģ ê³ł +Ġh Æ¡i +ãģªãģ® ãģĭ +ãĥĨ ãĥ¬ãĥĵ +Ġר ×ij×ķת +à¸ķ ี +Ġ×ijש ×ł×ª +ĠT ại +Ġthu áºŃn +Ñģ ел +Ñij м +dzi Äĩ +ĠÑģ ка +ĠÑģка Ñĩ +ĠÑģкаÑĩ аÑĤÑĮ +×ķ×ŀ ×ķ +г ла +Ġмин ÑĥÑĤ +åĩº ãģĻ +Ġ×Ĺ×Ļ ×Ļ×ij +Ġת ×Ĵ×ķ×ij×Ķ +à¸£à¸¹à¸Ľ à¹ģà¸ļà¸ļ +ни ÑĨа +Ġİ n +ĠØ£ ع +Ġض ÙħÙĨ +Ùħ ثاÙĦ +ĠyaÅŁ an +ĠìŰ 구 +ĠL ê +ש׾ ×Ĺ +ãģı ãģªãĤĭ +ìĹĨ ìĿ´ +ĠÑĤ ÑĢи +ĠÑĩаÑģÑĤ о +Ġоб ÑĢаÑĤ +п ло +د Ø® +دخ ÙĪÙĦ +س Ùĩ +à¸Ń าà¸ģ +à¸Ńาà¸ģ าศ +Ġ׼ ×ĸ×Ķ +Ġ×Ķ×¢ סק +ĠاÙĦØ£ ÙĨ +å¹´ ãģ« +×¢ ש×ķ +Ġש ×¢×ķת +Ġm Ãłn +×IJר ×Ļ +sı yla +Ù쨱 ÙĤ +ни Ñħ +Ġت ست +è¦ĭ ãģ¦ +ØŃا ÙĪÙĦ +×IJ ×Ļ׼×ķת +ĠbaÅŁ ladı +st Äħ +stÄħ pi +à¸Ĺีà¹Ī à¹Ģรา +ÙĤر ر +ج اب +Ġ×ijר ×ķר +à¹Ģà¸Ĥà¹īา à¹ĥà¸Ī +×ŀ׊קר +al ım +Ġס ×Ļפ×ķר +ãģ§ãģĤ ãĤĮãģ° +Ġש×ŀ ×ķר×ķת +Ġ×ķ ×ŀ×Ķ +ãģĵ ãģĿ +id ée +ä¸ĭ ãģķãģĦ +تÙĨا ÙĪÙĦ +Ġ ลà¹īาà¸Ļ +Ġìļ°ë¦¬ ëĬĶ +اÙĨ ا +ÑģÑĤ ой +б оÑĤ +ĠyaÅŁ am +kö y +Ø¥ ÙĦ +ÑĢ Ñĭв +기 ìĹħ +Ġ×Ķ×ŀ ×ĵ +Ġ×Ķ×ŀ×ĵ ×Ļ׳×Ķ +د ب +×¢ ×Ļ׳×Ļ +×ŀ ת×Ĺ +Ġפ ר×Ļ +ãĥĭ ãĥ¼ +اÙħ ÙĬ +Ġnh ằm +ãĤĮ ãģªãģĦ +ت عرÙģ +Ġë§Ī ìĿĮ +ìĵ ° +Ġh ấp +ר×Ĵ ×Ļ׾ +ب Ùİ +Ġr Äĥng +gl Äħd +ĠÑģиÑģÑĤем Ñĭ +Ġkh óa +ãģ§ãģĻ ãĤĪãģŃ +大ãģį ãģı +기 를 +Ġké o +ÙĪ Ø¡ +ج اÙħ +جاÙħ ع +Ġ×¢ ×Ļצ×ķ×ij +t éri +Ġת ש +Ġ×IJ ×ij×Ļ +ĠCh ương +à¸ļริ à¹Ģว +à¸ļริà¹Ģว à¸ĵ +ãģ¤ ãģı +Ġ×Ĺ ×ķ׾ +עת ×Ļ×ĵ +ש ×Ļ×ŀ×Ķ +ëĤ ¨ +Ġש×IJ ×Ļף +ĠÙĪØ§ÙĦ Ø¥ +ÑĦ а +Ġkh ám +Ġ×ĺ ×ķ×ij×Ķ +ĠвÑĭ Ñģ +ĠвÑĭÑģ око +ĠاÙĦØŃ دÙĬØ« +人 ãĤĤ +d Ã¼ÄŁÃ¼ +×Ļ×Ĺ ×ķ×ĵ +تع ÙĦÙĬ +تعÙĦÙĬ ÙĤ +l ö +تØŃ دÙĬد +н его +ĠÑĥд об +Ġ׾ ×ŀ×Ļ +Ġר ×ķצ×Ļ×Ŀ +Ġج اء +Ġ×ij ×ĸ×ŀף +à¸Ľà¸ģ à¸ķิ +é«ĺ ãģı +à¸Ľà¸¥ า +Ġart ık +Ġbug ün +×§ ׳×Ļ +Ġkho á +ĠÙħ رÙĥز +ĠìŀIJ 기 +در جة +×ŀש ר×ĵ +Ġgi ấy +Ġch óng +×§ פ +ÙĬب Ø© +ĠczÄĻ sto +в али +Ùĥ ب +ìŁ ģ +ส à¸ļาย +à¸Ľà¸£à¸°à¸Ĭา à¸Ĭà¸Ļ +×Ĵ ×ķ×£ +ëŁ ī +ãģ® ãģĵãģ¨ +ล à¸Ń +Ġngh á»ī +åŃIJ ãģ© +åŃIJãģ© ãĤĤ +à¹Ħà¸Ķ à¹īà¸Ńย +à¹Ħà¸Ķà¹īà¸Ńย à¹Īาà¸ĩ +×ĵ ×¢ +ĠاÙĦت Ùī +ĠÑģов еÑĤ +Ġqual itÃł +åĩº ãģĹ +ĠÑĢÑĥк ов +ĠÑĢÑĥков од +ราย ละà¹Ģà¸Ńียà¸Ķ +ãģªãģĭ ãģªãģĭ +기 ê´Ģ +Ġ×Ĺ ×ķש +Ġ×Ĺ×ķש ×ij +л оÑĤ +à¸Ļะ à¸Ħรัà¸ļ +×§×ij ×ķצ×Ķ +Ġth ái +Ġש ×ij×Ķ +ĠÑĪ ÐºÐ¾Ð» +ĠÙĦ ÙĥÙĦ +à¹ĥà¸Ļ à¸Ĭà¹Īวà¸ĩ +ĠÙħ ÙĥاÙĨ +ë ķĮ +Ġc ải +ĠCh ÃŃ +ÑĥÑĩ а +ìĿ µ +Ġx ảy +à¸Ĭà¸Ļ ิà¸Ķ +Ġc áºŃu +к ÑĢов +ss é +ĠÙĨ ÙĪØ¹ +ĠТ а +Ø® Ùħس +פ×ķס ×ĺ +Ġm ắc +ĠÄij em +à¸ģาร à¹ĥà¸Ĭà¹ī +ר ×ķס +ĠÐĽ е +Ġth á»Ń +รà¹Īาà¸ĩ à¸ģาย +üz ü +æĹ¥æľ¬ ãģ® +ê³¼ ìłķ +ש ×Ļ×IJ +ĠìŀĪ ê³ł +×ij ×ķ׾ +ìķ ħ +ĠÙĪØ§ÙĦ ا +ĠÐĽ и +ĠвÑģ Ñij +Ġużytk ow +×Ĺ ×ķ׾ +ر Ù쨶 +Ġson uç +ãģĦ ãģ¾ãģĽãĤĵ +ìĤ¬ ìĹħ +ëĪ Ħ +ÑĤ ек +Ġud ziaÅĤ +л ез +Ġ×Ķ×Ļ ×Ļת×Ļ +ãĤīãĤĮ ãģ¦ +Ùħس ؤÙĪÙĦ +ر ار +ÑĤ ан +ĠÄij Ãło +Ġר ×ķ×ij +Ġ×ijש×ij ×Ļ׾ +ä»ĬåĽŀ ãģ¯ +ãĤ¸ ãĥ¥ +Ġ×¢ ×ijר +ãģĽ ãģ¦ +п олÑĮ +ak lı +Ġk ÃŃnh +د ت +лож ение +ĠاÙĦÙħ ص +ĠاÙĦÙħص رÙĬ +à¸Īริà¸ĩ à¹Ĩ +ĠاÙĦشر ÙĥØ© +ĠÄij á»ı +ãĥĽ ãĥĨ +ãĥĽãĥĨ ãĥ« +Ñį кон +Ñįкон ом +ĠÙĪ Ø¹ÙĨ +Ġת ׳ +Ġ×ª×ł ×IJ×Ļ +ĠاÙĦدÙĪÙĦ ÙĬØ© +Ġì§Ģ ìĹŃ +ãģ§ãģĻ ãģĭ +Ġв аÑĢи +ĠваÑĢи анÑĤ +ĠاÙĦع رب +ел а +Ġt Æ°á»Ľng +sk Äħ +Ġm ặc +ส ัà¸ģ +ãĥĵ ãĥ¼ +Ġ×ij ×Ĵ׾ +Ġ×ij×Ĵ׾ ׾ +ãĥķãĤ¡ ãĥ³ +×ij ×Ļצ +×ij×Ļצ ×ķ×¢ +ли ÑģÑĤ +à¸Ł ุ +à¸Łà¸¸ à¸ķ +à¸Łà¸¸à¸ķ à¸ļà¸Ńล +à¸Ŀ à¹Īาย +ìŀIJ ìĿĺ +Ġس ÙĪÙģ +Ġש ×Ķת +Ġê± ¸ +×¢ ×ij×ķ×ĵ +ãģĻãĤĭ ãģĵãģ¨ãģĮ +ĠÑĩа ÑģÑĤÑĮ +ãĤ¢ ãĥ¡ãĥª +ãĤ¢ãĥ¡ãĥª ãĤ« +Ġtak ım +Ġs Ỽ +ĠsỼ m +שר ×Ķ +è¨Ģ ãģĨ +л ан +ì» ¤ +׼ ׳×Ķ +ÙĪÙģ ÙĬ +íĹ Ī +lu ÄŁu +ĠëĮĢ íķ´ +Ġ׾×ij ×Ļת +Ġ×Ķר×IJש ×ķ׳×Ķ +ص Ùħ +Ġsö yled +Ġsöyled i +à¸Ľ าà¸ģ +Ġard ından +ãģĪ ãģŁ +à¸Ĺัà¹Īว à¹Ħà¸Ľ +Ġ׳×ķס ×£ +б олÑĮ +ãĤĵãģ§ãģĻ ãģijãģ© +ĠлиÑĪ ÑĮ +Ġ×ij ×IJ×Ļ +ĠбÑĭ ÑģÑĤÑĢо +ส ัà¸Ļ +Ġ×ij פ׳×Ļ +л еÑĩ +ĠاÙĦØ® بر +Ġsó c +Ġth ú +Ġп ÑıÑĤ +ãģĬ é¡ĺ +ãģĬé¡ĺ ãģĦ +ÑĤ ин +ãģ«ãģ¤ãģĦãģ¦ ãģ¯ +פ ף +Ġдв ÑĥÑħ +à¸į ีà¹Ī +à¸įีà¹Ī à¸Ľ +à¸įีà¹Īà¸Ľ ุ +à¸įีà¹Īà¸Ľà¸¸ à¹Īà¸Ļ +оп еÑĢ +ĠاÙĦب شر +ĠاÙĦÙħ اÙĦ +ıyor uz +تØŃ ÙħÙĬÙĦ +à¸ģ ะ +éĸĵ ãģ« +×Ĺ ×ķש +ĠNg uyên +ãģĦãģ¦ ãģĦãĤĭ +дÑĥ ÑĪ +ש פע +ÑĪ Ñĥ +å®Ł éļĽãģ« +ĠÑĢай он +ĠCh á»ī +ÙĨ صر +Ġìļ ´ +Ġìļ´ ìĺģ +Ġ×Ķ×ĵ ×Ļף +ØŃد د +ر ز +ĠاÙĦد Ùħ +ĠPh áp +ÑĤ ÑģÑı +è¦ĭ ãģĪ +Ġti á»ĥu +Ġs á»Ńa +а ÑİÑĤÑģÑı +ĠB á +Ġ×ķ ׼׾ +Ð ĸ +ÑĪ Ð¸Ð¼ +ìĿ´ ëĬĶ +л ев +d ık +Ġprés ente +Ġara ç +صد ÙĤ +Ġпом ог +ĠاÙĦشر ÙĤ +ĠÙĪØ§ÙĦ ذÙĬ +رÙĬ ا +×ij ׳×ķת +Ġng á»ĵi +ר ×ķפ +ר×ķפ ×IJ +Ġth ấp +ãĤĦ ãģ¯ +ãĤĦãģ¯ ãĤĬ +ĠاÙĦج دÙĬدة +éĿŀ常 ãģ« +ÙĬÙĦ ÙĬ +ìª ½ +تع اÙħÙĦ +ãģł ã썿ĢĿãģĦãģ¾ãģĻ +Ùħ Ùħ +иÑĤе ли +ãĤµãĤ¤ ãĤº +اد ات +ĠاÙĦÙħ اÙĦÙĬØ© +Ùĥات ب +к ли +веÑĢ Ñħ +ни Ñĩ +Ġ×ľ×¢ ×ij×ķ×ĵ +׾ ×Ļ×Ķ +ØŃ Ùİ +ãĤ¤ ãĥĻ +ãĤ¤ãĥĻ ãĥ³ãĥĪ +Ġת ×Ĵ×ķ×ij×ķת +ÑĦ он +ĠдÑĢÑĥг ие +×IJ ×ĸ×ķר +Ġper ò +ìķ ŀ +åĢŁ ãĤĬ +ר צ×Ļ +×IJ ×ĸ +алÑĮ нÑĭÑħ +Ġê²ĥ ìľ¼ë¡ľ +ĠпÑĢав о +ĠاÙĦØ£ رض +à¹Ģà¸Ĺ à¸Ħ +à¹Ģà¸Ĺà¸Ħ à¹Ĥà¸Ļ +à¹Ģà¸Ĺà¸Ħà¹Ĥà¸Ļ à¹Ĥล +à¹Ģà¸Ĺà¸Ħà¹Ĥà¸Ļà¹Ĥล ย +à¹Ģà¸Ĺà¸Ħà¹Ĥà¸Ļà¹Ĥลย ี +צ ר×Ļ +ĠÐļ Ñĥ +ıl ma +決 ãĤģ +ا ÙĪ +Ġ×ĵ ×§×ķת +à¸Ħร ู +ĠÙħست ÙĪÙī +à¸Ľ à¹īà¸Ńà¸ĩ +à¸Ľà¹īà¸Ńà¸ĩ à¸ģัà¸Ļ +×ĵ ×ķ×ŀ×Ķ +ĠÑģ егоднÑı +س ÙĪÙĤ +ר×Ĺ ×ķ×ij +ĠØ¥ دارة +Ñħ ож +éģİ ãģİ +à¸Ħ à¸Ń +нÑĥ л +×ķ׼ ×Ķ +ÙĪ Ø§ÙģÙĤ +׼׾ ׾ +Ġ×Ķ ×ĵ×ķ +Ġl Ä©nh +Ġkh ảo +×IJ×ŀ צע +ë¨ ¸ +Ġ׼ ×Ļצ +Ġ׼×Ļצ ×ĵ +Ġдолж нÑĭ +หว ัà¸ĩ +ãĥĩ ãĤ¶ +ãĥĩãĤ¶ ãĤ¤ãĥ³ +Ġng á»Ŀ +ä¸Ń ãģ« +à¸ģลัà¸ļ มา +جÙħ اÙĦ +à¸Ķัà¸ĩ à¸ģลà¹Īาว +س ÙĥÙĨ +س ÙĨ +Ġözellik le +з еÑĢ +rz ÄĻ +×ŀ ×ķר×Ķ +Ġl ạ +×ŀ ×Ļ׳×Ļ +ר ×Ļת +ãģĿãĤĮ ãģĮ +ãģĭ ãĤĮ +ĠÙĬÙħÙĥÙĨ Ùĥ +öff entlich +г ан +ĠاÙĦØŃ ÙĦ +ĠmiÄĻd zy +ĠÑĩа ÑģÑĤи +ujÄħ cy +ĠbaÄŁ lı +ĠiliÅŁ ki +Ùģ Ø§Ø¡ +ãĥª ãĥ³ãĤ° +Ġhã ng +ĠконÑĤ ÑĢ +ĠконÑĤÑĢ Ð¾Ð» +к оп +ש ×Ļ×¢ +ש×Ļ×¢ ×ķר +ĠÐĴ аÑĪ +Ġ×Ķ ×ª×§ +ÙħÙĨ ع +ĠpolÃŃt ico +Ġг олов +ĠØ¥ ÙĬ +Ø¥ ÙĨتاج +à¸ļ ิ +Ġг овоÑĢ +ĠговоÑĢ Ð¸ÑĤ +Ġph á»ķ +ĠÑģем ÑĮ +ãģ¯ ãģĤãĤĬãģ¾ãģĽãĤĵ +ĠÙĪ Ø§Ø³Øª +×ŀש פ×ĺ +з ем +×ŀ×ĵ ×ijר +Ġíģ ° +ĠìĿ´ ë²Ī +ê°Ģ ëĬĶ +Ġì§Ģ ìĽIJ +Ġca ÅĤy +Ġgeli ÅŁtir +Ñģк ое +pos é +Ġkh ô +à¸ķิà¸Ķ à¸ķาม +miss ão +Ġ׾ ×ŀר +Ġ׾×ŀר ×ķת +Ġb ó +à¸ķรวà¸Ī สà¸Ńà¸ļ +Ġngh á»ģ +Ġб из +Ġбиз неÑģ +ÑģÑĤ еÑĢ +ÙĪ Ùİ +楽 ãģĹãģ +楽ãģĹãģ ¿ +ãģĵãĤĮ ãģĭãĤī +wiÄħ zan +ส à¸Ńà¸Ļ +Ùħ ÙĪØ± +׳×ĵ ׾ +Ġ×Ķ×IJ ×ĵ×Ŀ +Ġм олод +ØŃ Ùħا +ØŃÙħا ÙĬØ© +ÑģÑĤ ÑĢан +Ġbu á»ķi +ת×Ļ ×Ļ×Ŀ +abile ceÄŁi +L İ +à¹Ģย à¸Ńะ +à¸Ī ร +س ÙĥاÙĨ +à¸Ļ ัà¸Ķ +Ġm ấy +ĠÐij а +s ÅĤaw +ĠÙģ ÙĦا +ĠкоÑĤоÑĢ Ð¾Ð¹ +Ġпло Ñī +ĠплоÑī ад +ãĤĤ ãģĤãĤĬ +sz czÄĻ +×Ļפ ×ķ +ש×ŀ ת +owa ÅĤa +Ġn ông +צ×ij ×IJ +ĠìŀĪ ìĹĪ +ãģ¾ ãģ¨ +ãģ¾ãģ¨ ãĤģ +ÙĤÙĪ Ø§Øª +ãģ¿ ãĤĵãģª +Ġ׼ ×ŀ×¢×ĺ +Ġx úc +ï¼ Ĩ +r ÄĻ +rÄĻ cz +×ĵ ×ŀ×Ļ +Ġt áºŃn +à¸Ķ วà¸ĩ +ê²½ ìłľ +п ÑĥÑĤ +Ø£ ربع +Ġ×ŀ שת×ŀש +ãĤ¿ãĤ¤ ãĥĹ +Ġìłľ ê°Ģ +Ġ׾ ׼ף +ĠобÑĢаз ом +ÙĬÙĥ ا +w ÅĤ +wÅĤ asn +ĠاÙĦÙĪØ·ÙĨ ÙĬØ© +بÙĬ ب +×ŀ ׾×Ļ +к ÑĢаÑĤ +기 ìĹIJ +ÙĤ اد +ĠÙĦ دÙī +à¸Ħวาม รูà¹ī +×ŀ×ĵ×Ļ׳ ×Ļ×ķת +ê² ¨ +Ġíĺ Ħìŀ¬ +ש ת×Ļ +м ол +Ġmá i +à¸ŀิ ม +à¸ŀิม à¸ŀ +à¸ŀิมà¸ŀ à¹Į +หล วà¸ĩ +Ġx uyên +×Ĺ ×¡×¨ +رÙĪ ÙĨ +ãģĿãģĨ ãģĦãģĨ +ãģĿãĤĮ ãģŀ +ãģĿãĤĮãģŀ ãĤĮ +Ġ׼ ש×Ķ +ÐŁ ÑĢав +×ŀ×ij צע +ع رب +Ġbü yü +פ×Ļת ×ķ×Ĺ +à¸Ī à¸ļ +ĠØ£ Ùĥبر +שר ת +×ŀ׼ ש×Ļר +ĠÙĪ Ùħع +ãģ® ãģŁãĤģãģ« +à¸Ļ ัà¸ļ +ì° ° +ãĥª ãĥķãĤ© +ãĥªãĥķãĤ© ãĥ¼ãĥł +Ġc ưá»Ŀng +ĠìłĢ íĿ¬ +ÙħÙĨظ ÙħØ© +Ġhiç bir +ãģ§ãģ¯ ãģĤãĤĬãģ¾ãģĽãĤĵ +ร à¸Ńย +ëIJľ ëĭ¤ +ãģĻãģIJ ãģ« +к ла +Ġürün ler +Ġki á»ĥu +ĠëĤĺ ëĬĶ +ÑĤ ки +Ñģ им +Ġchá»ī nh +ãĤĤ ãģªãģĦ +ศ รี +æĽ¿ ãģĪ +ta ÅŁ +Ġب ÙĥÙĦ +Ġ×ķ ×Ļש +vis ão +ä¼ Ŀ +ä¼Ŀ ãģĪ +ÙĦ د +׾ ×Ļ×ŀ +׾×Ļ×ŀ ×ķ×ĵ +t ória +د Ùij +اÙħ ر +Ġê·¸ëłĩ ê²Į +Ġmateria ÅĤ +à¸Ĺ รา +à¸Ĺรา à¸ļ +ã쮿ĸ¹ ãģĮ +ãģ¦ ãģįãģŁ +ض غ +ضغ Ø· +ĠÙĬ عÙĨÙĬ +ел о +×IJ×Ķ ×ij×Ķ +×¢ ×ŀ +ÅŁ ık +ìŀIJ ëĬĶ +ãĤ¿ ãĥ³ +Ġb áºŃt +×ŀשפ ×Ĺ×Ķ +к ÑĢи +б ли +สั à¸ķ +สัà¸ķ วà¹Į +ĠسÙĨ ÙĪØ§Øª +ĠPh ương +ãģ¦ãģĹãģ¾ ãģ£ãģŁ +ãģª ãģľ +Ġ×ij×IJ ×ķ +Ġc án +س جÙĦ +Ġl ẽ +ãĤ± ãĥ¼ãĤ¹ +Ġ×§ ×Ļ×ij׾ +à¸ļà¸Ĺ à¸Ħวาม +Ġ×ķ ׼ף +ĠпÑĢедÑģÑĤав лен +Ġn á»iji +Ġcoment ário +ени ем +Ġtá» ı +l Ãł +Ġש×Ķ ×Ļ×Ķ +Ñģл ав +ĠاÙĦ ÙĪÙĦا +ĠاÙĦÙĪÙĦا ÙĬات +ÙĦج ÙĨØ© +×§×ķר ×IJ +бÑĭ ÑĤ +Ġì ¦ +Ġì¦ ī +ãģ§ãģĻ ãģĹ +หรืà¸Ń à¹Ħมà¹Ī +за ÑīиÑĤ +ÙģÙĦ سطÙĬÙĨ +Ġmi á»ħn +à¹Ģย à¹ĩà¸Ļ +ĠçalÄ±ÅŁ an +×Ļ×Ĵ ×Ķ +ĠE ÄŁ +ĠEÄŁ itim +ãĥĥãĤ· ãĥ¥ +Ġоп Ñĭ +ĠопÑĭ ÑĤ +ر غ +رغ ب +ĠÑģво иÑħ +à¸Ľà¸£à¸° à¸ķ +à¸Ľà¸£à¸°à¸ķ ู +Ġ×ŀ×IJ ×ĵ +׼ ×ķ׳×Ļ×Ŀ +à¸Ļ ี +ĠвÑĭ Ñħод +ãģ®ä¸Ń ãģ« +פ ׾×IJ +ĠÙĪ ÙĦÙĬس +פ×ķר ס +פ×ķרס ×Ŀ +Ùħ سÙĦÙħ +Ġng ôi +×ĵ ×ŀ×ķת +ãĤĴ使 ãģ£ãģ¦ +ĠпомоÑī ÑĮÑİ +Ø£ سر +бл ок +ÙĤ Ùĩ +ãģĹãģ¾ ãģĦ +ãģ¨ ãģĹãģŁ +Ġп еÑģ +ãĥī ãĥ« +×Ĺ ×Ŀ +ãģĹãģª ãģĮãĤī +ĠÐŁ ÑĢед +ãĥģãĤ§ ãĥĥãĤ¯ +å¼· ãģĦ +ש ×Ļר×ķת +д аеÑĤ +×Ļ×ij ×ķ +Ġgen ç +ил аÑģ +илаÑģ ÑĮ +ĠبÙĦ د +æĤ ª +æĤª ãģĦ +Ġ×ŀ שת +æ§ĺ ãĢħ +æ§ĺãĢħ ãģª +à¸ĺรรม à¸Ĭาà¸ķิ +ĠÙĥ اÙħÙĦ +ĠاÙĦس Ùħ +×ij×ĺ ×Ļ×Ĺ +c á +g ência +ãĤ¹ãĤ¿ ãĥ¼ +à¸Ĺำ à¸ģาร +×Ļ׾ ת +Ġ×Ļ ×ķצ×IJ +w ój +à¸ļุ à¸Ħ +à¸ļุà¸Ħ à¸Ħล +ع تÙħ +عتÙħ د +ãģĿãĤĮ ãģ« +ĠاÙĦت ارÙĬØ® +ÙĤر اء +Ġyönet im +×§ שר +ĠÑģп оÑĢÑĤ +Ġר×IJש ×ķף +Ġseñ al +Ġch ắn +çĦ¡ ãģĦ +ĠдоÑģÑĤ аÑĤ +ĠдоÑģÑĤаÑĤ оÑĩно +Ġá gua +à¸ģร à¸ĵ +à¸ģรà¸ĵ ี +Ġ×ŀש ×ķ +Ġtr ải +ë² Į +ujÄħ cych +Ù쨱 د +à¹ĥ à¸ģล +à¹ĥà¸ģล à¹ī +ãĤĭ ãģ®ãģ¯ +ר×ķ ×ķ×Ĺ +ÙĨ Ùĥ +ĠاÙĦÙĨ ÙĤ +ãģ®ãģ§ ãģĹãĤĩãģĨ +ãģ®ãģ§ãģĹãĤĩãģĨ ãģĭ +Ùħ عرÙģ +ÙħعرÙģ Ø© +ÑĥÑī е +Ġ×ij×¢ ×Ļקר +ت صÙĦ +Ġ×Ķ×IJ ר +Ġ×Ķ×IJר ×¥ +ĠÅŀ i +à¸Ĥา à¸Ķ +íŀ ĺ +ãģªãĤĵ ãģ¨ +ĠìĤ¬ëŀ ij +l Ã¼ÄŁÃ¼ +ب اء +ĠاÙĦØ¢ خر +Ġfam ÃŃlia +ĠTh áng +Ñī ениÑı +ãĤ¯ ãĥŃ +ĠTh ứ +æĽ¸ ãģį +ен ной +ìŀ ¡ +бл аг +благ о +п ов +à¹ģ ว +à¸ĩ à¸Ħà¹Į +à¸Ńัà¸Ļ à¸Ķัà¸ļ +ãģĤ ãģĴ +ร à¹īาย +ün ün +Ġ×Ļ׼×ķ׾ ×Ķ +з он +ĠÐľ и +маÑĤ еÑĢиал +Ġë³´ ë©´ +ØŃÙģ Ø¸ +ê Ìģ +ãģ« ãģĻãĤĭ +Ġת ×IJ +Ġ×Ķס ×ķ +ĠÑģÑĤ оÑĢ +ĠÑģÑĤоÑĢ Ð¾Ð½ +ãĥĪ ãĥĥãĥĹ +ÅĤo ÅĽÄĩ +ëħ ¼ +ëĵ Ŀ +ĠÙĪØ§ÙĦ ع +ì¶ Ķ +Ġ×Ļצ ×IJ +ĠÑĢаз дел +алÑĮ наÑı +×IJ׳ ש×Ļ +spo ÅĤ +spoÅĤ ec +spoÅĤec zn +Ø¥ عÙĦ +إعÙĦ اÙĨ +ÙĤÙĪ Ùī +íķĺë©´ ìĦľ +تط ÙĪØ± +Ġsi êu +Ỽ t +д ви +дви ж +Ġqu ần +k ıl +ĠпÑĢи зна +ĠH ã +ĠHã y +ĠباÙĦ ت +man ın +ãĤ« ãĥ« +Ġk á»· +×§ ׾×Ļ +ëIJĺ ì§Ģ +تعÙĦ Ùħ +ìĭľ ìĦ¤ +ìĭ ¶ +íĺ ¼ +Ùĥ ÙĬÙģ +売 ãĤĬ +วิ à¸Ĭา +б ал +ĠØ£ ØŃ +Ġдолж ен +รา à¸ĩ +ราà¸ĩ วั +ราà¸ĩวั ล +Ùħ اء +ج ار +Å ļ +Ġ×ŀ×IJ ×ĸ +ר ×ŀ×Ķ +ãģĭãĤĤãģĹãĤĮ ãģªãģĦ +ét ude +czÄħ c +Ġg ór +×ł×¡ ×Ķ +Ùħ ÙĬد +ĠÐŁ еÑĢе +Ø£ خر +ãģĿãģ® å¾Į +à¹Ģà¸Ķียว à¸ģัà¸Ļ +×ŀ ×Ĵ×ķ +×ŀ×Ĵ×ķ ×ķף +д ов +mas ına +×¢ ׳×Ķ +ãĤ± ãĥĥãĥĪ +ס ×¢ +סע ×Ļ×£ +ĠT ư +Ġt óc +íĻľ ëıĻ +ĠÐŀ д +ĠÐŀд нако +Ġdol ayı +ؤ Ùĥد +ê³Ħ íļį +׾ ר +в еÑĩ +Ġkh ợi +Ġth á»§y +×ĵ ף +ร à¸ģ +à¸ļั à¸ķร +à¹Ģà¸ģ à¹Īา +ĠاÙĦØ« اÙĦ +ĠاÙĦثاÙĦ Ø« +Ġpod rá +ער ×Ļ +ÙĨج اØŃ +Ġkh ắc +ì¸ ¡ +İ M +ãĤ» ãĥĥãĥĪ +ż enia +Ġ׾×Ĺ ×ijר +er Ãł +ì ´Ī +Ġkü ç +Ġküç ük +ات ÙĩÙħ +à¸ĭ à¹Į +Ùħشار ÙĥØ© +ĠاÙĦ بط +Ġd ây +ен нÑĭм +à¸Ĺีà¹Ī à¹Ħมà¹Ī +ÙĤ Ùİ +Ġv ượt +Ġtr ì +Ġwp ÅĤyw +A Åŀ +з о +ĠاÙĦس ÙĬد +à¸Ĺะ à¹Ģล +ĠÑģодеÑĢж а +ع Ø·ÙĬ +ĠاÙĦع ÙĨ +èĢħ ãģĮ +à¹Ģ หà¸Ļ +à¹Ģหà¸Ļ ืà¸Ń +Ġb ÃŃ +Ġüzer inden +ĠV Å© +Ġnu ôi +ÙĨ Ùħ +алÑĮ ного +×¢ ×Ļף +ØŃ ضر +ĠоÑĤ дел +ëª ĩ +ìķ ¡ +ĠÙĦدÙĬ Ùĩ +ìĻ ľ +Ġse ktör +Ġвозмож но +ĠÐĶ Ð¶ +Ġh ô +äºĭ ãģĮ +иÑĢов ание +алÑĮ ной +Ġ미 êµŃ +ر ØŃÙĦ +ĠÑįк Ñģ +пÑĢав лÑı +Ġnh á»Ŀ +ĠÄij ẩ +ĠÄijẩ y +Ùģ Ùĥر +ĠÙĪØ£ ضاÙģ +ãĥIJ ãĤ¹ +ת×ķ׼ ׳×Ļת +ÑĤел ей +ĠØ¥ÙĦÙĬ Ùĩ +ãģ¨è¨Ģ ãģ£ãģ¦ +Ġдв е +Ġch ấp +ĠL ö +à¸Ħล ิ +à¸Ħลิ à¸Ľ +Ġس ÙĪØ± +ĠسÙĪØ± ÙĬا +×ŀ×Ĺ ×ķ +st ä +д об +Ġni á»ĩm +ãģ® å¤§ +פר×ķ ×Ļ×§ +פר×ķ×Ļ×§ ×ĺ +ĠCh âu +Ġ×ŀ×Ķ ×Ŀ +Ñģк им +ĠполÑĥÑĩ иÑĤÑĮ +ÙĬ ÙĪÙħ +Ø« ÙĪØ± +פ×ķ׾ ×Ļ×ĺ +פ×ķ׾×Ļ×ĺ ×Ļ +ĠмеÑģÑı ÑĨ +åħ¨ ãģ¦ +ĠاÙĦÙħ جÙĦس +ĠاÙĦت اÙĦÙĬ +Ġ׊ר +åIJij ãģij +׼ ×ŀ×Ķ +б ед +Ø£ عض +أعض اء +ÙĪÙĦ د +วà¹Īา à¸Īะ +Ġb ánh +à¸Ļิ ย +à¸Ļิย ม +à¸Ľà¸£à¸° à¸ģัà¸Ļ +ÑģÑĤав иÑĤÑĮ +à¸ŀ à¸Ļัà¸Ļ +ĠÑį ÑĦÑĦ +ĠÑįÑĦÑĦ екÑĤив +Ġав ÑĤоÑĢ +ĠÄIJ Äĥng +Ġth Æ°á»Łng +ãĤĴ æĦŁãģĺ +à¸ģัà¸ļ à¸ģาร +å¾Į ãģ« +Ġya ÄŁ +ست اÙĨ +Ġli á»ģn +ãģĦ ãģ¾ +i êu +à¹Ĥà¸Ķ à¸Ļ +ĠÙĦ ذÙĦÙĥ +à¹Ĥรà¸ĩ à¹Ģรียà¸Ļ +צ ×Ļ×Ĵ +ĠاÙĦÙħ عÙĦÙĪÙħات +ç§ģ ãģŁãģ¡ +à¸Ĺีà¹Ī à¸Ħุà¸ĵ +ãģ«ãģª ãģ£ãģ¦ãģĦãĤĭ +×ŀ×ĵ ×Ļ׳×Ķ +ס ׼×Ŀ +Ġв не +à¸ŀ à¸Ļัà¸ģà¸ĩาà¸Ļ +ÑĢ ÐµÐ¹ +à¹Ģà¸Īà¹īา หà¸Ļà¹īาà¸Ĺีà¹Ī +ĠHi á»ĩn +Ġméd ico +ĠتØŃ ÙĤÙĬÙĤ +ÑĮ ÑĤе +miÅŁ ti +ÙĤÙĬ ادة +ãĤı ãģĭãĤĬ +มา à¸Īาà¸ģ +ëħ Ģ +ãģ«éĸ¢ ãģĻãĤĭ +×IJר×Ĵ ×ķף +m ètre +Ġעצ ×ŀ×Ļ +ĠCh úa +รูà¹ī à¸Ī +รูà¹īà¸Ī ัà¸ģ +ì£ Ħ +ëĭ µ +à¹ģà¸Ĺ à¹ī +Ġgeç en +Ġlan ça +ĠاÙĦ بØŃØ« +×ĵ ×ŀ×ķ +ãģ¯ ãģĺ +ãģ¯ãģĺ ãĤģ +Ġdön Ã¼ÅŁ +è¿ij ãģı +à¹Ģส ม +à¹Ģสม à¸Ń +ëĿ ½ +Ġü ç +á» ŀ +ÑĪ Ð°Ñı +à¸Ĺ ร +ØŃ ÙĤÙĬÙĤØ© +à¸Ĥà¸Ńà¸ĩ à¸ģาร +Ġ무 ìĹĩ +Ġ×Ķ ×Ľ×¨ +ĠاÙĦص ÙĬÙĨ +ĠлÑİ Ð´Ð¸ +à¸ķ าย +ب ÙĪÙĦ +Ġvi êm +Ġthi á»ĩu +à¸ģ à¸Ķ +Ġ׾ ×ĵ×ijר +פ ׳×Ķ +×IJר ×ij×¢ +س Ùī +ĠاÙĦسÙĬ اس +ĠاÙĦسÙĬاس ÙĬØ© +yd ı +ÙĪØŃØ¯ Ø© +ĠдеÑıÑĤелÑĮ ноÑģÑĤи +Ġ×ķ×Ķ ×ŀ +п еÑĩ +пеÑĩ аÑĤ +иÑĢов аниÑı +ĠÑģ ог +ĠÑģог лаÑģ +Ġ׼ ×ĵ +Ġ׼×ĵ ×IJ×Ļ +ĠиÑģполÑĮзов аÑĤÑĮ +ס פ×ķר×ĺ +Ġil çe +exp érience +ĠTh á»Ŀi +İ K +à¹Ħà¸Ł à¸Łà¹īา +ëĵ¤ ìĹIJê²Į +à¸Ľà¸£à¸° à¹Ģà¸ł +à¸Ľà¸£à¸°à¹Ģà¸ł à¸Ĺ +Ġmü mk +Ġmümk ün +Ġ×IJ×ķת ׳×ķ +ìĦ± ìĿĦ +ĠìĿ´ ìľł +زÙĬ ارة +Ġolduk ça +r ób +ĠØ£ ÙĨا +Ġ×Ķ ×ij×Ļ +Ñģ ен +×¢ ×Ļקר +×Ļ×ĵ ×ķ×¢ +d zÄħ +Ùħ عÙĦÙĪÙħات +Ø´ اب +Ġpar ça +à¸Ļะ à¸Ħะ +ب اس +ĠÑĤоÑĢ Ð³ +ĠÑĤоÑĢг ов +Ġ×Ĺ ×ĵר +׼ ר×ĺ +׼ר×ĺ ×Ļס +ĠA yrıca +ÃªÌ £ +ìľ ¨ +ĠÑĤак ие +Ġ×ŀצ ×ķ×Ļ +ãĥ©ãĥ³ ãĤŃãĥ³ãĤ° +ש×Ļ×ķ ×ķ×§ +åīį ãģ® +ĠB ảo +Ñī Ñĥ +æĹ© ãģı +ĠPh òng +à¸ŀระ ราà¸Ĭ +פ ×Ĺ×ķת +Ġг л +Ġгл аз +à¸Ĺ à¹Īา +Ġd ạy +ÑĢ Ð¾ÑģÑĤ +à¹Ĥà¸Ķย à¹Ģà¸īà¸ŀาะ +Ġqu áºŃn +Ġ×Ĺ×ijר ×ķת +m ême +mÄ±ÅŁ tı +ĠاÙĦت داÙĪÙĦ +Ġn ạn +Ġ×Ķ ×ĵ×Ļ +ĠاÙĦØ· رÙĬÙĤ +×Ĵ ×ķת +Ġ×Ķ ×ĵר×ļ +ujÄħ ce +Ġch ữ +ãĤĤãģ® ãģ® +ë° Ľ +ãģķãĤĵ ãģ¯ +Ġyard ım +ĠاÙĦع Ùħ +Ġì§Ħ íĸī +Ġ×Ļ ×Ĺ +Ġ×Ļ×Ĺ ×¡×Ļ +ĠاÙĦÙħ دÙĬÙĨØ© +Ġc ú +à¸ģี ฬ +à¸ģีฬ า +Ġni ên +mis ión +׳×Ļס ×Ļ +׳×Ļס×Ļ ×ķף +Ġвоз ÑĢаÑģÑĤ +Ġ×¢×ķש ×Ķ +ĠÙħ دÙĬر +Ñı ÑģÑĮ +ØŃ جÙħ +íĻĺ ê²½ +ĠاÙĦØ£ خرÙī +u ÃŁer +ĠاÙĦعاÙĦÙħ ÙĬØ© +ĠNg á»įc +êµIJ íļĮ +ä¸Ĭ ãģ§ +×Ļ×Ķ ×ķ×ĵ +×Ļ×Ķ×ķ×ĵ ×Ļ×Ŀ +Ùħس اعدة +Ġжиз нÑĮ +ĠпоÑĤ омÑĥ +ĠاÙĦÙħ ÙħÙĦ +ĠاÙĦÙħÙħÙĦ ÙĥØ© +ĠG ör +ر ÙIJ +×ŀ×§ ×ķ×ŀ×ķת +åĩºæĿ¥ ãĤĭ +ÑĦ ÑĤ +ĠìĿ´ ìłľ +ĠÑĢ ÐµÐ¼ +ĠÑĢем онÑĤ +ת ×ķ×ļ +æĻĤ ãģ¯ +ãĤīãĤĮ ãģªãģĦ +alt ı +å®¶ ãģ® +ĠاÙĦØ¥ عÙĦاÙħ +리 ëĬĶ +ãģĭãĤī ãģ¯ +ĠH ạ +ãģĤ ãģ® +×ĵ×Ļ ×ķף +رÙĬ س +Ġsoci etÃł +ĠاÙĦÙĥ بÙĬر +Ġ×ij ×ŀס +Ġ×ij×ŀס ×Ĵר +Ġ×ij×ŀס×Ĵר ת +ĠìŀĪ ìľ¼ë©° +Ġn ặng +Ùĩ Ùī +ĠB Ãł +×ŀר ×ķ +Ġj ÄĻ +ĠjÄĻ zy +ĠjÄĻzy k +Ġ׼ ×ŀ×ķ×ijף +×¢ ׾×Ķ +à¸Ĺีà¹Ī à¹Ħà¸Ķà¹ī +ãģ¾ ãģĹãĤĩãģĨ +×ŀס פר +Т Ðŀ +سÙĬاس Ø© +Ġкажд Ñĭй +ë² ł +t ım +y á»ĩn +ร ีà¹Ī +ĠдеÑĤ Ñģк +วิà¸ĺี à¸ģาร +m ówi +×ĺ×¢ ×Ŀ +×Ķצ׾ ×Ĺ×Ķ +ض ÙĬÙģ +ĠÑħоÑĤ Ñı +ãĤĵãģ§ ãģĦãĤĭ +à¸Ħา à¸Ķ +à¸Ħร à¸ļ +Ġк ÑĥÑĢÑģ +ĠbaÅŁ arı +×ijר ×ķ +ÙĬع Ø© +ĠÐĿ Ñĥ +à¸Ħวาม à¹Ģà¸Ľà¹ĩà¸Ļ +Ġ׾ ×ŀש׾ +Ġì¢ĭ ìĿĢ +Ùħؤس س +Ùħؤسس ات +Ġpréc is +Ġth ảo +à¸ģà¹ĩ à¸Ħืà¸Ń +Ġש ׼׾ +führ ung +ãģĦ ãģ§ +à¹ģละ มี +à¸ģà¹ĩ มี +Ġש ש +м ел +Ġкни г +ĠباÙĦ ÙĨ +ĠباÙĦÙĨ سبة +Ġald ı +ÑĤ ай +Ġ×Ĺ×ĵ ש×Ļ×Ŀ +å®Ł ãģ¯ +ع ÙĪØ§ +ĠìĿĺ 미 +из м +ÑĢабоÑĤ аÑĤÑĮ +Ùģ Øµ +Ġ×ij׳ ×ķסף +ãģ¨ãģĹãģ¦ ãĤĤ +à¹Ģà¸Ľà¹ĩà¸Ļ à¸Ĺีà¹Ī +ĠÑģлед ÑĥеÑĤ +èĢĥãģĪ ãģ¦ +Ġ׼ ×Ļ×ķ×Ŀ +ÑģÑĤ Ñĭ +׼׾׼ ׾×Ļ +æµģ ãĤĮ +ãĤĴ ãģ¤ãģij +Ñĩ аÑĤ +×Ļ׼ ×ķף +×Ļר ×Ļ +ları yla +ãĤ¤ ãĥ¡ +ãĤ¤ãĥ¡ ãĥ¼ãĤ¸ +׳×ĸ ×§ +Ġci ò +Ġs ın +Ġsın ır +à¸Ļ à¸Ħร +к аÑĤ +Ġl á»Ĺi +ëŀ Į +تÙģ Ø§Øµ +تÙģØ§Øµ ÙĬÙĦ +ëĨ ĵ +ĠÙħ ض +il miÅŁ +بار Ùĥ +ÐĿ Ðĺ +Ġth ẩm +Ġ×IJ×ķת ×ļ +ĠпÑĢин им +ĠпÑĢиним а +Ġyö nt +Ġyönt em +Ġ×ŀ×§ ×ij׾ +Ġktó rego +ê· Ģ +شر Ùģ +د اÙħ +ãģĦãĤį ãģĦãĤį +ĠAl ém +Ġgör ü +Ġgörü nt +Ġgörünt ü +د س +ÑĪ ÐºÐ¸ +г ÑĢад +Ġl ạc +Ġs ữa +ãĤīãĤĮ ãģ¾ãģĻ +o Ãłi +Ñī ен +ãģĭ ãģªãģĦ +Ġп оп +Ġпоп Ñĥ +ĠпопÑĥ лÑıÑĢ +ĠاÙĦÙħ ÙĪÙĤع +rä g +ï¼ ¡ +íķ Ħ +ãĤĴè¦ĭ ãĤĭ +اÙħ ا +ĠاÙĦØŃ رب +ĠÐŁ а +Ġ׾ ×IJתר +Ġt á»ijc +×ij ׾×Ķ +ر ئÙĬس +в Ñĥ +ÙĬ دÙĬ +каз ан +Ġ׊ש×ij×ķף +h ôtel +×¢ ×ķ׳×Ķ +ب ÙĨÙĬ +×ŀ ×ķ׾ +Ġд нÑı +éĽ£ ãģĹãģĦ +вед ениÑı +Ġ×ķ ×ŀת +н апÑĢимеÑĢ +ÙĤ ابÙĦ +Ġrésult at +ĠÑĢазвиÑĤ иÑı +ر Ùij +ìłĦ 문 +ĠاÙĦÙħ زÙĬد +ĠìľĦ íķ´ìĦľ +ëĨ į +íĻ ķ +ĠThi ết +íĮ ¨ +malı dır +Ġcz ÅĤ +ĠczÅĤ owie +ĠczÅĤowie k +ĠÙĦ بÙĨ +ĠÙĦبÙĨ اÙĨ +üs ü +ãģªãĤĵ ãģł +Ġżyc ie +ĠÑħоÑĢоÑĪ Ð¾ +æĸ¹ ãģ« +ëĭ¤ ë©´ +иÑĩеÑģ каÑı +ער ×Ļ׼ +ער×Ļ׼ ת +ãģ¾ãģĽãĤĵ ãģ§ãģĹãģŁ +ĠÑģоб ой +Ġg á»Ĺ +Ġдел аÑĤÑĮ +da Äĩ +аÑĢ Ð° +róż ni +à¹Ģล ีà¹ī +à¹Ģลีà¹ī ย +à¹Ģลีà¹īย à¸ĩ +à¸Ŀ าà¸ģ +Ġت ÙĤ +ĠتÙĤ دÙĬ +ĠتÙĤدÙĬ Ùħ +หà¸Ļ ุà¹Īม +Ġmü cade +Ġmücade le +ì§Ģ 를 +ãĤ¤ ãĤ¹ +ĠØ£ ساس +jÄħce go +ĠÅŁ eh +н ÑĤеÑĢ +ÑĨи Ñİ +ï» » +ÑİÑī его +à¹Ĥà¸Ľà¸£ à¹ģ +à¹Ĥà¸Ľà¸£à¹ģ à¸ģรม +Ġmie Äĩ +ØŃÙĥÙĪÙħ Ø© +ãģ§ãģĹãģŁ ãģĮ +×Ļס ×Ķ +ãĤĤãģ® ãĤĴ +Ġ×ŀ ×IJת +สุà¸Ķ à¸Ĺà¹īาย +Ġc Å© +ÙĨ سب +ĠпÑĢ Ð¾Ñĩ +Ġд ней +ĠÑįÑĤи Ñħ +׾ ×ŀת +нÑı Ñı +Ñį к +Ġì§Ģ ëĤľ +มหา วิà¸Ĺยา +มหาวิà¸Ĺยา ล +มหาวิà¸Ĺยาล ัย +d ão +ĠMá y +ĠêµŃ ê°Ģ +à¸ļุ รี +×Ĵ ×Ļ׾ +ĠÑĤÑĭ ÑģÑı +ĠÑĤÑĭÑģÑı Ñĩ +Ùģ Ùĥ +ĠÐĺ Ñģ +è¡Į ãĤıãĤĮ +פר ×ĵ +ãģ¤ ãģį +à¸Ħร à¸Ńà¸ļ +à¸Ħรà¸Ńà¸ļ à¸Ħรัว +à¸Ĥึà¹īà¸Ļ มา +ä»ĬæĹ¥ ãģ¯ +ĠìĤ¬ëŀĮ ìĿ´ +עצ ×ŀ×Ķ +п оÑĢ +ĠK ỳ +Ġ Æ¡n +Ġth Äĥm +Ùģ Ø§ÙĤ +ãģļ ãģ« +Ġ׾ קר +Ġ׾קר ×ķ×IJ +اÙģ ÙĬØ© +Ùħ ÙİØ§ +г аÑĢ +ص ÙĦا +صÙĦا Ø© +Ġ×ŀ ×ĸ×Ķ +lı ģını +Ġ×IJ ×Ļ׳×Ķ +к ÑĢо +Ġng ươi +Ġв ним +Ġвним ание +jÄħ cy +ÙĢÙĢÙĢÙĢ ÙĢ +Ñģ Ñħод +ãģªãĤĵ ãģĭ +×ŀ ×Ļ׾ +Ġ×Ķ×IJ ×Ĺ +ãĤı ãģªãģĦ +ع سÙĥر +ĠìĦ¸ ê³Ħ +ĠÑĩ его +ĠÑģÑĢед ÑģÑĤва +ĠÐł аÑģ +ãģª ãģģ +ÙĨ Ù쨳 +ר×Ļ ×ķף +Ñģ Ñĥд +ĠìĿ¸ ê°Ħ +ĠاÙĦÙħ ÙĤبÙĦ +ÙĨ عÙħ +تÙĪ Ù쨱 +ש ×ij×¢ +ı lm +ılm Ä±ÅŁ +Ġ×ľ×ª ת +تص Ùģ +×Ķפ ×ķ×ļ +à¹ĥà¸Ļ à¸Ľà¸µ +ìĿ´ ê³ł +Ùģ ÙĪØ² +à¸ľà¸¥ à¸ĩาà¸Ļ +ĠGi áo +à¸ļà¸Ńà¸ģ วà¹Īา +Ġd Ä±ÅŁ +ĠdÄ±ÅŁ ında +ì£ ½ +Ġdzie ÅĦ +к ÑĨии +и ÑĨе +ãģ® ä¸Ģ +ع Ø´ +пÑĢ ÐµÑģÑģ +หà¸Ļ à¹Īà¸Ńย +ลัà¸ģษ à¸ĵะ +Ġpossibilit Ãł +à¹Ħà¸Ķà¹īรัà¸ļ à¸ģาร +หย ุà¸Ķ +Ġphi ên +çĶŁ ãģ¾ãĤĮ +Ø· ÙĪÙĦ +ÑĦ ин +f ür +ØŃ ÙĬاة +íĸ ĪìĬµëĭĪëĭ¤ +׼ ׳×ķת +à¸Ľà¸£à¸° ส +à¸Ľà¸£à¸°à¸ª à¸ļ +à¸Ľà¸£à¸°à¸ªà¸ļ à¸ģารà¸ĵà¹Į +ëIJĺ ìĹĪ +Ġkaż dy +Ġl uyá»ĩn +ĠоÑĢганиз аÑĨии +å°ij ãģªãģı +ÑģÑĤÑĢо ен +Ġtécn ico +×§ ×Ķ׾ +Ġ×ķ×IJ ×Ĺ +ĠعÙĦÙĬ Ùĥ +Ñī ение +Ġ×Ķ ×Ļ׾×ĵ×Ļ×Ŀ +ÙĪØ³ ائÙĦ +Ġ×ķ ×Ķת +تÙħ ÙĬز +ĠÑģ казал +Ġпол и +Ġ×Ķ×ŀ ס +ÙĦÙij Ùİ +Ùħؤس سة +Ġ×ŀ ×Ļ×ĵ +ãģ£ ãģ¡ +ĠëĦĪ ë¬´ +à¸ŀ ี +Ġt ặng +Ġt ấn +ר ש×Ŀ +Ġméd ica +Ġ×¢ ×ķ×ŀ +Ġ×¢×ķ×ŀ ×ĵ +ÑĦ оÑĢ +Ùħر Ø© +Ġvat anda +Ġvatanda ÅŁ +Ġдел о +à¸Ļ ม +ãģ¨ åIJĮãģĺ +Ùģ Ùī +Ñģ оÑĢ +Ġ×Ķס ר×ĺ +Ġép oca +ìłķ ì±ħ +ĠÑģвÑıз ан +ض رب +ĠÙĦ ÙĨا +Ġuży wa +ĠاÙĦج ÙĬØ´ +Ñİ ÑĢ +×ijס ×ķ×£ +Ġм Ñĥ +ĠмÑĥ зÑĭк +bilit é +Ġma ç +س Ùİ +ت ÙĦÙĥ +ãģ ¬ +ÙĬ ÙĦا +ÑĪ Ð»Ð° +ÙĢÙĢ ÙĢ +Ġод ной +зв ан +ĠÑģ ÑĢаз +ĠÑģÑĢаз Ñĥ +ÙĨ ظÙħ +را Ùĩ +ĠÙĦÙĩ ذا +׼ ×ķר +Ġ×Ķש ×ij×ķ×¢ +Ġ×Ķש ת +ĠQu ảng +ãĥ« ãĥ¼ +ãģĪ ãģªãģĦ +×ĺ ×IJ +Ġmi á»ģn +ĠPh áºŃt +ĠاÙĦس ÙĪÙĤ +Ä Ĥ +ĠاÙĦج Ùħع +ĠاÙĦجÙħع Ø© +ÑİÑī ей +a ÅĤem +عت ÙĤد +Ø£ ÙĦÙħ +Ñģ ке +ĠìĿ´ íķ´ +ÙĨس Ø® +è¨Ģ ãģĦ +д обав +سب ÙĤ +×¢×ķר ר +ÑĤи п +ãģĿãģĵ ãģ§ +vis ión +عÙĪØ¯ Ø© +ë¨ ¹ +×ŀ ×ĸר×Ĺ +ĠØ¥ ØŃ +Ġ׾×ij ×Ļף +Ġ׾צ ×IJת +Ġyard ı +Ġyardı mc +Ġyardımc ı +İ Z +×§ פ×Ķ +tr é +liÄŁ ini +клÑİÑĩ а +Ġüret im +Ġa yrı +ĠkiÅŁ iler +à¸Ħ à¹īà¸Ļ +à¸Ħà¹īà¸Ļ หา +ĠS á»± +Ġ׼ ס +Ġ×Ľ×¡ ×£ +ĠÑĤак иÑħ +ĠXu ân +Ġл ег +Ġлег ко +Ø«ÙĤ اÙ쨩 +ÐĿ Ðŀ +ãĤ¹ãĤ¿ ãĥĥ +ãĤ¹ãĤ¿ãĥĥ ãĥķ +åIJĪ ãģĦ +Ġ×Ķש ×Ļ×ŀ×ķש +man ız +ĠÐĴ аÑģ +g ün +ìľĦìĽIJ íļĮ +Ġwsp óln +ĠÑģв ое +í ĥģ +à¹Ģà¸Ļ ีย +ÙĪØ¨ Ø© +в Ñıз +ı dır +ëIJĺ ìĹĪëĭ¤ +ĠdeÄŁi ÅŁtir +ãĤĭ ãģĵãģ¨ãģĮ +Ġ×Ĺ×ĵ ש×Ķ +ãĤīãĤĮ ãģ¦ãģĦãĤĭ +×Ĺ×Ļ ×Ļ×ij +ĠÐļ аÑĢ +׳×Ļת ×ķ×Ĺ +Ġ×§×ĺ ף +ר ×ĸ +ÙĪ Øº +èªŃ ãģ¿ +Ġت ÙĤÙĪÙħ +ĠÙĥ اÙĦ +à¸Ŀ ึà¸ģ +Ġë°ľ ìĥĿ +ológ ico +ر اع +à¹ģà¸ģà¹ī à¹Ħà¸Ĥ +ĠÑĢабоÑĤ Ñĥ +ÙĨÙij Ùİ +à¸Ńยูà¹Ī à¸Ĺีà¹Ī +ĠاÙĦØ« اÙĨÙĬØ© +ĠNh ân +Ñħ ваÑĤ +ö ne +Ġع دة +à¹ģ สà¸ĩ +ÑĤ оп +пÑĥÑģ ка +شر اء +ĠÐļ ом +Ġפע ×ķ׾×Ķ +ìĤ¬ ìĿ´ +ìĤ¬ìĿ´ íĬ¸ +è¡Į ãģ£ãģ¦ +Ġ×Ķ ×Ķת +ĠÑģÑĤ оÑĢо +ĠÑģÑĤоÑĢо нÑĭ +در س +à¸ĭ ู +à¸ķà¹Ī ำ +ĠØ£ بÙĬ +под об +ãģ« ãģ¦ +ار تÙģØ§Ø¹ +ĠÙħ ؤ +ик ов +ge führt +มืà¸Ń à¸ĸืà¸Ń +ĠÙĦ ÙĤد +ĠØ£ÙĨ Ùij +سÙĬ طر +ãģ¾ãģļ ãģ¯ +ס ×ĵ +Ñģк олÑĮко +ãģ¿ãģŁãģĦ ãģª +×ĵר ×Ĵ +×¢ ×Ļ×ĵ +à¹ĥหà¹ī à¸ļริà¸ģาร +ĠÐĶ Ð¸ +×ij×¢ ×Ļ×ķת +Ġ×Ķ×Ĺ ×ķ +пиÑģ ÑĮ +ĠاÙĦØ® ÙĦ +б ав +Ġİ lk +ĠاÙĦØ® Ùħ +ĠاÙĦØ®Ùħ ÙĬس +ĠÙĬ ÙĤÙĪÙħ +æĻĤ ãģ® +ĠsÅĤ ow +ĠØ£ ÙĩÙħ +Ø®ÙĦ ÙĤ +ĠØ£ صبØŃ +Ġchứ a +Ġth ác +Ùģ Ø§ÙĦ +Ġch á»Ŀ +ĠاÙĦØ® ار +ĠاÙĦخار ج +ĠاÙĦخارج ÙĬØ© +Ø· ائر +Ġt Ãł +ĠtÃł u +à¸ģล à¹īà¸Ńà¸ĩ +ĠاÙĦÙħر Ø£ +ĠاÙĦÙħرأ Ø© +åħ¨ ãģı +ĠÃĸ n +çļĦ ãģ«ãģ¯ +Ġpiè ce +×Ĵ ×Ļ×ij +ĠاÙĦ ÙĪØ§ÙĤع +ä»Ĭ ãģ® +ĠاÙĦÙħ ÙĤ +cz nÄħ +Ù쨹 اÙĦ +ен ного +ĠÑĦак ÑĤ +ìĭł ì²Ń +ĠÐŀ ни +ĠاÙĦبÙĦ اد +ов иÑĩ +ëı Į +ÑĦ ÑĥнкÑĨи +Ġìĸ´ ëĬIJ +ãĥķãĤ© ãĥ¼ +d ÃŃ +ил оÑģÑĮ +Ùħ Ùī +ĠاÙĦØ£ÙħرÙĬ Ùĥ +ĠاÙĦØ£ÙħرÙĬÙĥ ÙĬØ© +×ĺ ×Ļפ×ķ׾ +íĶĦ ë¡ľê·¸ +íĶĦë¡ľê·¸ ëŀ¨ +Ġש ×ķ׳×ķת +Ø´ ÙħÙĦ +ĠпаÑĢ Ð° +Ġ×Ķ×Ĺ ×ķ×§ +ÙĪØ² ارة +ãģ¨ ãģĻãĤĭ +Ġqu ảng +ĠaÄŁ ır +ĠاÙĦÙĦ ج +ĠاÙĦÙĦج ÙĨØ© +ê¸ ´ +ĠT ân +ج ÙħÙĦ +д ол +à¹ģà¸ŀ à¸Ĺย +à¹ģà¸ŀà¸Ĺย à¹Į +Ġר×IJ ש×Ļ +Ñī ей +Ġçev re +Ġкомп лекÑģ +Ġ×ij ×ŀש×ļ +Ġalt ın +ĠØ£ عÙħاÙĦ +ĠÑģво его +ãĤĪ ãģĦ +×Ĺ׾ ×Ļ×ĺ +×ŀ׳ ×¢ +Ġר ×ij×Ķ +ĠØ£ÙĬضا Ùĭ +×ĸ ׾ +ĠاÙĦسÙĬ اسÙĬ +æĢĿ ãģĨ +קר ×§ +קרק ×¢ +ĠاÙĦÙģ Ø±ÙĬÙĤ +б иÑĤ +×§ ׳×Ķ +ĠØ¥ ÙĨÙĩ +ĠÐĴ ам +Ðł Ðŀ +ãĥĪ ãĥª +å¿ħè¦ģ ãģª +Ġch âu +ç¶ļ ãģij +Ġçöz üm +gÅĤ ow +ع ÙĤÙĦ +売 ãĤĭ +i ết +à¸Ĭิ à¹īà¸Ļ +ĠØŃÙĤ ÙĪÙĤ +Ø·ÙĦ ع +ĠÄij en +ĠÙĥ اÙ쨩 +ãģ® ãģĶ +Ġë ¬ +Ġë¬ ¼ +Ġ물 ë¡ł +Ġرس ÙĪÙĦ +з ам +зам ен +Ġkullan ıcı +×¢ ×ķ׾ +èī² ãĢħ +ÑĪи ÑĢ +Ġ׊ש +Ġwy gl +Ġwygl Äħda +ש ×Ļ×ŀ×ķש +å¿ĺ ãĤĮ +×¢ ×Ļצ×ķ×ij +ĠاÙĦس ÙĪØ±ÙĬ +å°ij ãģªãģĦ +Ġпо иÑģк +สำ à¸Ļัà¸ģà¸ĩาà¸Ļ +Ġ×ŀצ ×ĵ +Ġmü ÅŁ +ĠmÃ¼ÅŁ ter +ĠmÃ¼ÅŁter i +ĠÙħÙĨ ÙĩÙħ +à¸ķำ à¹ģ +à¸ķำà¹ģ หà¸Ļ +à¸ķำà¹ģหà¸Ļ à¹Īà¸ĩ +ÅĽ mie +Ġש ×ł×ª +Ġ×Ķ ×¤×Ļ +פר ש +×¢×ijר ×Ļת +สà¸Ļ ัà¸ļ +สà¸Ļัà¸ļ สà¸Ļุ +สà¸Ļัà¸ļสà¸Ļุ à¸Ļ +è¨Ģ ãģ£ãģ¦ +à¸ģาร à¸Īัà¸Ķ +ĠMo że +из аÑĨии +ứ t +ĠÙĪØ¨ عد +ĠdeÄŁ ild +ĠdeÄŁild ir +Ġת ×ŀ +Ġ×ŀ×ŀ ׳×ķ +話 ãĤĴ +ĠÑĨ ена +Ġth úc +×Ļ×ŀ ×ķף +ĠB áo +ãĤĴ åıĸãĤĬ +å®ī ãģĦ +Ġ×¢×ķש ×Ļ×Ŀ +èĩªåĪĨ ãģĮ +l ée +ãĤĭ ãģ®ãģ§ +иÑĢÑĥ еÑĤ +ãģ¦ ãĤĭ +ست ر +ĠاÙĦØŃ ÙĬ +×Ļ׾ ×ķת +Ġ×Ĺ ×ij +ÙĤر Ø£ +تÙħ ÙĥÙĨ +س ائÙĦ +prü f +ãģĭ ãģijãģ¦ +ĠÑģоб ÑģÑĤвенно +ĠìľĦ íķĺìŬ +׾ ×Ļ×ĺ +ãģĮ å¤ļãģı +ÙĬت Ùĩا +ç«ĭ ãģ¦ +ม à¸Ńà¸ļ +ìĭľ ìŀ¥ +оÑĢ Ð° +Ġs avaÅŁ +×ĺ×Ļ×ij ×Ļ +×ij ׳×ķ +Ùħا ذا +기 ê°Ħ +ãģªãģ© ãģ§ +Ġ×ŀ ת×Ĺ×Ļ׾ +Ġnhi á»ħ +Ġnhiá»ħ m +ка ÑĢ +каÑĢ ÑĤ +Ġ׾×Ķ ×©×ª×ŀש +׳ ×Ļ×Ĺ +اد ÙĬØ© +ราย à¸ĩาà¸Ļ +Ġprzy kÅĤad +Ñī ий +ØŃض ÙĪØ± +Ġh ôn +à Ŀ +ת ×ķצ×IJ×ķת +راب Ø· +Ġb ếp +ĠполÑĥÑĩ и +åĩºä¼ļãģĦ ç³» +à¸Ľà¸¥ à¹Īà¸Ńย +ĠاÙĦØ´ باب +اÙĩ ÙĦ +ä»Ĭ ãģ¾ãģ§ +رج ع +ãĤ¶ ãĥ¼ +ÙĤ Ùģ +ĠGro ÃŁ +ĠíļĮ ìĽIJ +اج ر +Ġ×ij×ŀ קר×Ķ +Ġseg urança +fü hl +ãģ¦ ãģĦãģı +หม à¸Ń +ĠкоÑĤоÑĢ Ð¾Ð¼ +ĠN Äĥm +ĠdÅĤ ugo +ÙħÙĨ ØŃ +ש×ķ ×ķ×Ļ +ĠØ£ÙĬ اÙħ +ส à¸łà¸²à¸ŀ +r zÄħ +شر Ùĥات +ãĤĴ èĢĥãģĪ +д аÑĢ +à¸Ľà¸£à¸° à¸Ĭุม +Ġ×ķ×IJ ×ĸ +i á»ĩn +Ġt ươi +ש ×Ļ×Ĺ +à¸Ń à¹Īà¸Ńà¸Ļ +æĽ¸ ãģĦãģ¦ +Ġng ữ +×ij×Ļ×ĺ ×Ĺ +×ij×Ļ×ĺ×Ĺ ×ķף +Ġs ẵ +Ġsẵ n +ì§Ģ ëıĦ +ĠпÑĢ ÐµÐ¿ +ĠпÑĢеп аÑĢаÑĤ +Ġна ÑĥÑĩ +ĠÃľ nivers +ĠÃľnivers ites +ĠÃľniversites i +Ġ×Ĵ×ĵ ×ķ׾×Ķ +Ġ×Ķ ×ł×ª +Ġ×Ķ×ł×ª ×ij×¢ +ãģ§ãģĤ ãģ£ãģŁ +Ġmies iÄħ +ĠmiesiÄħ c +г ÑĢам +гÑĢам м +Ġبش Ø£ÙĨ +ĠÑħ ÑĢ +×§ ×Ļ×ĵ +×§×Ļ×ĵ ×ķ×Ŀ +Ø´ Ùĥر +Ġ á»ķ +Ġá»ķ n +ãģĮãģĤ ãģ£ãģ¦ +ãģķãĤĮ ãģ¾ãģĻ +Ġ×Ĺ ×ķ×ĵ +Ġ×Ĺ×ķ×ĵ ש×Ļ×Ŀ +ÙħÙĪØ§ جÙĩ +ÙħÙĪØ§Ø¬Ùĩ Ø© +أش خاص +ب غ +à¹Ģรียà¸Ļ รูà¹ī +ãģĹãģ¦ ãģĦãģı +Ġs ạn +å¿ħ ãģļ +׳ ×Ļ×Ĵ +׳×Ļ×Ĵ ×ķ×ĵ +باÙĦ غ +׊ש×ŀ +×Ĺש×ŀ ׾ +Ġnap raw +Ġnapraw dÄĻ +Ø´Ùĩ اد +×IJ ×ķ×Ķ +×IJ×ķ×Ķ ×ij +и ÑĨÑĭ +Ġ×Ķ ×¨×Ľ×ij +ëŀ ij +Ġת ×¢ +Ġ×Ķ ×Ļש +Ġ×Ķ×Ļש ר×IJ +Ġ×Ķ×Ļשר×IJ ׾×Ļ +Ø£ ÙħÙĨ +ÑİÑī аÑı +sk ór +LER İ +Ġ×Ķ×IJ×Ĺר ×ķף +×¢ ׳ק +ĠÙĪ ÙĥÙĦ +ãģĵãģĵ ãģ§ +Ġqu án +liÄŁ in +à¸ģà¸İ หมาย +Ø· Ùħ +Ø£ جÙĩ +أجÙĩ زة +ĠEr doÄŁan +ãģ§ ãģĬ +Ġв ÑĢа +ĠвÑĢа Ñĩ +ĠPh ó +à¸Ĭั à¹Īว +à¸Ĭัà¹Īว à¹Ĥม +à¸Ĭัà¹Īวà¹Ĥม à¸ĩ +Ġph úc +×Ļפ ×ķת +×¢×Ļ ×ķף +Ġduż o +ãĥģ ãĥ¼ãĥł +ĠÙĬ Ùİ +Ġзад аÑĩ +Ġ×Ĵ×ij×ķ×Ķ ×Ķ +Ġ׼ ׼׾ +лож ен +ét at +Ġng Äĥn +èµ· ãģį +ĠTi ến +ص عب +Ġexperi ência +Ø® Ùħ +à¸ģาร à¸Ĺำà¸ĩาà¸Ļ +س ÙĬد +ĠD á»± +ĠкоÑĤоÑĢ Ð¾Ð³Ð¾ +lad ıģı +Ġkh á»ķ +Ġê³Ħ ìĨį +Ñī ик +สà¹Īวà¸Ļ à¸ķัว +з оÑĢ +ÙĨ Ùı +Ġ à¸Ķัà¸ĩ +Ġà¸Ķัà¸ĩ à¸Ļัà¹īà¸Ļ +Ġc ấu +ĠÄij á»ijc +о ÑĦ +ĠاÙĦØ£ عÙħاÙĦ +ãģªãģı ãģ¦ãĤĤ +×ķ׼ ×Ļ×Ŀ +à¹ģ à¸Ľ +ĠB ên +ãĥ¯ ãĥ³ +Ġgi ám +ĠÅŀ u +Ġd áng +ع ÙĦÙĬ +à¹Ģà¸ģ ษ +à¹Ģà¸ģษ à¸ķร +ÙĪØ¬ ب +н нÑĭе +ÙĤ ضاء +à¸Ħว à¸ļ +à¸Ħวà¸ļ à¸Ħุ +à¸Ħวà¸ļà¸Ħุ ม +ãģ¤ ãģ¤ +ĠVi á»ĩc +×ŀ×ij ×ĺ +ש×Ļת ×ķ×£ +Ġв едÑĮ +k aza +kaza ÅĤ +à¸ķำ รวà¸Ī +ãĤ¿ ãĥ« +Ġпов Ñĭ +ĠповÑĭ ÑĪен +ĠS ợ +ĠìĦ¤ ëªħ +ĠÃĩ ünkü +ìĥĿ íĻľ +Ö ¾ +ãĤĮ ãģ¦ãģĦãĤĭ +Ġ×ij ר×IJש +ר ×ķ×Ĵ +Ġо ÑĦи +ĠоÑĦи ÑĨиалÑĮн +ĠÑĥ ÑģÑĤанов +ĠÑĥÑģÑĤанов лен +ĠاÙĦÙħ صر +ĠاÙĦÙħصر ÙĬØ© +ĠÐŁÐ¾ ÑįÑĤомÑĥ +ÙĨ صÙģ +ĠÙĪØ§ÙĦ ÙĨ +Ġh Ãłi +à¸Ħ ิ +ĠApr ès +ì³ IJ +à¹Ģà¸ĭ ีย +×ĵ ×ŀ×Ķ +activ ité +à¸Ħิà¸Ķ วà¹Īา +ÑĤ ÑĢен +à¹Ģ ฮ +ãĥı ãĤ¤ +ãģĮ å¢ĹãģĪ +ен наÑı +Ġìĺ¤ ëĬĺ +ãĥ¢ ãĥ³ +Ġкон еÑĩно +ĠÙħÙĤ ابÙĦ +cl é +Ġh ü +Ġth ẳng +ìłģ ìĿ´ +ĠÐIJ лекÑģ +ĠÐIJлекÑģ ан +ĠÐIJлекÑģан дÑĢ +ãĥŀãĥ³ ãĤ·ãĥ§ãĥ³ +ãģ²ãģ¨ ãģ¤ +ãģª ãģĬ +à¹Ģà¸Īà¹īา à¸Ĥà¸Ńà¸ĩ +ëĵľ 리 +Ø´ اء +ĠsaÄŁ lık +ĠÅŁ imdi +×Ļ×IJ ׾ +تأ Ø«ÙĬر +Ø£ سب +أسب اب +ĠвÑĭполн ен +л ок +ש ×Ļ×ij×Ķ +Ġl ắm +ĠTr Æ°á»Ľc +Ġ×Ķ×¢ ׾ +리 를 +ĠÑĢ ÐµÐ¶ +ĠÑĢеж им +int é +inté gr +×Ĵ ׳×Ļ +ĠاÙĦØ´ عر +Ġmil hões +Ġpeque ño +ãĤ³ ãĥ¼ãĤ¹ +×ķ׼ ×Ĺ +à¹Ģà¸Ĭ à¹īา +شر ÙĤ +Ġh ương +รัà¸IJ à¸ļาล +à¸ģล าย +à¸ģลาย à¹Ģà¸Ľà¹ĩà¸Ļ +Ġпод Ñħод +תש ×ķ×ij×Ķ +ãģıãģª ãģ£ãģ¦ +ĠاÙĦØ£Ùħ Ùħ +ĠH á»įc +ĠwspóÅĤ pr +ĠwspóÅĤpr ac +Ñĩ Ñĥв +ÑĩÑĥв ÑģÑĤв +ÃŃst ico +à¹Ģà¸ģ าะ +ìĽ Ģ +Ġназ ад +ãĤĭ ãĤĪãģĨãģ« +ĠС Ш +ĠСШ ÐIJ +м он +ĠAs ÃŃ +×ķר ×Ĵ +полн ен +×ŀס ׾ +×ŀ×¡×ľ ×ķ׾ +à¹Ģลืà¸Ń à¸Ķ +à¹Ģริà¹Īม à¸ķà¹īà¸Ļ +ĠاÙĦØ¥ Ùħ +ĠاÙĦØ¥Ùħ ارات +צ×Ķ ×¨ +ãĥ¡ãĥª ãĥĥãĥĪ +ĠпоÑĤ ом +в из +ĠÙģ ØªØ±Ø© +å¾Į ãģ® +ÐĿ ÐIJ +×ŀס ר +ÙĬر ÙĬ +pr é +Ġte ÅŁek +ĠteÅŁek kür +Ġöd eme +د اÙĨ +ãģ¾ ãģĹãģ¦ +缮 ãģ« +ĠÑĤ еÑĩение +l ard +lard ır +à¹Ģรา à¸Īะ +ס פ×Ļ +ĠÙĪÙĥ ذÙĦÙĥ +Ġh át +Ġt á»Ļc +à¸Ħุ ย +Ġb ức +ØŃ ÙĬÙĨ +èģŀ ãģĦãģ¦ +Ùħؤ شر +ĠNh ư +Ġмен ее +ละ à¸Ħร +Ñģ ин +ĠÑĢ ÐµÐº +ĠÑĢек л +ĠÑĢекл ам +ĠÙģ ÙĩÙĪ +Ġ׾ ×ĸ +×Ļ׳ ×ķת +ĠÅŁ art +ÑģÑĤав ка +Ġíı¬ íķ¨ +ãģ«è¡Į ãģı +ï¼ Ŀ +ĠпозволÑı еÑĤ +Ġת×ķ׼ ׾×ķ +ов ал +صÙĦ Ø© +Ġ׾ש ׳×ķת +ĠÐĺ гÑĢ +ÙħÙĨتج ات +Ġsat Ä±ÅŁ +Ñģ ко +ĠاÙĦØ«ÙĦاث اء +Ġ×Ķ×ĵ×ijר ×Ļ×Ŀ +ãģĹãģ¾ ãģĹãĤĩãģĨ +بÙĤ Ùī +åĬĽ ãĤĴ +ĠÃĩ ok +ãĥģ ãĥ¥ +à¹Ģà¸Ĭ ืà¹īà¸Ń +ยุ à¸Ħ +ศา ล +Ġ×§×ķ×ĵ ×Ŀ +×ĸר ×Ļ×Ŀ +ãģ® åł´åIJĪ +ĠìķĬ ìķĺ +ãģĤãĤĬãģ¾ãģĻ ãģĮ +×IJ שר +è¡Į ãģı +ãģ» ãģĭ +æ°Ĺ ãģ«ãģªãĤĭ +й деÑĤ +íķĺìĺĢ ëĭ¤ +ستÙħر ار +ĠÐŁÑĢ Ðµ +ĠÑģ боÑĢ +ĠìķĦ 무 +ç§ģ ãĤĤ +ع ص +Ġн иÑĩ +ĠниÑĩ его +ĠпÑĢи ем +×§ ×ķ×ŀ +ĠìĪĺ ëıĦ +Ġì ¡´ +Ġì¡´ ìŀ¬ +ĠØ£ Ø«ÙĨ +ĠأثÙĨ اء +ĠÙĪØ§ÙĦ ØŃ +ãģĮ ãģ§ãģįãĤĭ +Ġת ×Ķ +Ġת×Ķ ×Ļ×Ķ +ר ף +ĠÑģвÑıз и +×Ĵ שת +Ñģп екÑĤ +ס ×ij×Ļ×ij +ס×ij×Ļ×ij ×Ķ +ĠíķĦìļĶ íķľ +ت خصص +Ġж ив +Ġжив оÑĤ +ĠMay ıs +تع ا +تعا ÙĪÙĨ +ĠعÙĨ Ùĩا +ów ki +ĠاÙĦÙģÙĦسطÙĬÙĨ ÙĬ +ãģłãģijãģ§ ãģªãģı +ìĿ¸ ì§Ģ +ĠاÙĦس ÙĪØ¯ +ĠاÙĦسÙĪØ¯ اÙĨ +إجراء ات +Ġkö tü +Ġ×Ļ ×ª×¨ +×Ĵ ×Ļש×Ķ +Ġצ ×ķר×ļ +รà¸ĸ ย +รà¸ĸย à¸Ļà¸ķà¹Į +Ñħ оÑĤ +Ðł ÐIJ +ÙĪ Ø·ÙĨ +Ġsay ısı +ס ×Ĺר +Ùħ ÙĪÙĦ +ãĤĴæĮģ ãģ£ãģ¦ +ع اÙĨ +Ġt á»Ļi +ĠвÑĭ ÑĪе +Ġt ầm +ãĥĪ ãĥ¬ +×Ļצ ×ķ +ม ุม +س ÙĪØ¯ +ìłĦ ìŀIJ +ãĤµ ãĥŃãĥ³ +ìĤ° ìĹħ +ĠоÑģнов ан +Ø® Ù쨶 +רצ ×Ķ +بÙĬ ض +×ķÖ ¹ +ס×Ļ ×Ļ×¢ +Ġש ×IJ×Ļ +ĠاÙĦÙĤر Ø¢ÙĨ +ĠТак же +×ŀש ×ŀ×¢×ķת +س ÙĩÙĦ +Ġ×Ķ ×ł×Ķ +ãĤĴ ãģĹãģ¦ãģĦãĤĭ +×Ļ ×Ļס +×Ķ ×ķ×IJ +ĠB ÃŃ +Ġмал о +ĠëͰëĿ¼ ìĦľ +Ġר ×Ĺ×ij +ãģĮ é«ĺãģĦ +ÙĪ Ø§Ø³ +ìĤ ¼ +׳ ×¢ +ãģ£ ãģ¡ãĤĥ +ĠT üm +à¸Ńีà¸ģ à¸Ķà¹īวย +ãģĹãģ¦ ãģıãģłãģķãģĦ +ÙĨØ´ اط +ãĥĹ ãĥ©ãĥ³ +али ÑģÑĮ +×ĵ ×ľ×ª +Ġwc zeÅĽ +ĠwczeÅĽ niej +ĠÑįÑĤ им +Ġthá»ĭ t +à¸ļ ัà¸į +à¸ļัà¸į à¸Ĭี +ãģļ ãģ£ãģ¨ +ÑĢ Ð¸Ð½ +Ġswo jÄħ +íķĺëĬĶ ëį° +Ġë§Įëĵ¤ ìĸ´ +تش Ùĥ +تشÙĥ ÙĬÙĦ +ائ Ùĩ +Ġ׾פ ×Ĺ×ķת +ãĥĭ ãĥ¥ +ãĥĭãĥ¥ ãĥ¼ãĤ¹ +׼×IJ ף +ãģ§ãģį ãģŁ +зв он +Ġsta ÅĤ +×Ĺ×ijר ת×Ļ +ĠØ£ عÙĦÙĨ +à¹ģà¸ļà¸ļ à¸Ļีà¹ī +بد Ø¡ +ãĤģ ãģŁ +Ġ×ŀש ×ŀ×¢×ķת +Ġ×ŀש×ŀ×¢×ķת ×Ļ +ör ü +Ġh ạnh +z ähl +ĠL ý +Ġ×ij ×Ķת +Ġ×ij×Ķת ×IJ×Ŀ +б аÑĢ +ì¦ Ī +ä»ĬåĽŀ ãģ® +Ġy ü +Ġyü ks +Ġyüks el +ãĤ½ ãĥ¼ +ãģĤ ãĤĮ +ת ׾×ŀ×Ļ×ĵ +ãģ¤ ãģª +×ij ׳×Ļ×Ŀ +Ġx ếp +ĠмÑĥж Ñĩин +ĠاÙĦÙĥ تاب +׼ ×ŀ×ķת +Ġç e +Ġçe ÅŁ +ĠçeÅŁ it +ĠçeÅŁit li +×ĵ ×Ļר×ķת +à¸ļุ à¸į +ĠاÙĦØ¥ ÙĦÙĥ +ĠاÙĦØ¥ÙĦÙĥ ترÙĪ +ĠاÙĦØ¥ÙĦÙĥترÙĪ ÙĨÙĬ +ĠباÙĦØ¥ ض +ĠباÙĦإض اÙ쨩 +Ġyö nel +Ġyönel ik +mys ÅĤ +à¸Ķà¹īวย à¸ģาร +à¸ģาร à¸Ĺำ +ов Ñĭм +Ø£ زÙħØ© +æİ¢ ãģĹ +íļ ¨ +Ġ×ķ×IJ ×Ŀ +Ġnghi êm +ÑĪ Ð¸Ð½ +ка л +Ġcrian ças +èĩªåĪĨ ãģ§ +Ġн ай +Ġнай ÑĤи +ĠS á»ij +ĠÃ¶ÄŁrenc iler +ãĥ¶ æľĪ +Ñģ ан +ĠJ á +ĠkonuÅŁ ma +شر Ø· +ëĪ Ī +ar rière +ضر ÙĪØ±Ø© +ãĥĶ ãĥ³ +×¢ שר +аÑĢ ÑĮ +جÙħ اع +Ġdé co +Ġ×Ļ×Ķ ×ķ×ĵ×Ļ +à¸ŀ ลาà¸Ķ +ĠÙĬ ÙĥÙĨ +Ġج اÙħعة +Ø· بÙĤ +Ġbo ÅŁ +×ķ ×ķ×IJ +×ŀ×ĵ ×¢ +×§×ij×ķצ ת +פ ×Ļר +jÄħc ym +ÙħØ´ ا +Ùħشا ÙĥÙĦ +צ פ×ķף +Ø¥ ست +×ŀ׼ ר +سÙħ ع +Ġкак ой +ÑĤ воÑĢ +ØŃ ج +Ù쨱 ض +пÑĢав лен +Ġник ак +Ġmi á»ĩ +Ġmiá»ĩ ng +ü ÃŁ +иÑĢов ал +׾ ×ŀ×ķת +次 ãģ® +ÙĦ Ø· +à¸ķ ัà¸Ļ +×Ķ ×ª×Ĺ×Ļ׾ +Ġfoto ÄŁ +ĠfotoÄŁ raf +طر ØŃ +à¸Ńà¸Ńà¸ģ à¹Ħà¸Ľ +Ġy ên +Ġп ок +Ġпок Ñĥп +ĠпокÑĥп а +ÑĨ Ñĥ +Ġкомп ÑĮÑİ +ĠкомпÑĮÑİ ÑĤеÑĢ +ĠاÙĦÙĥ رÙĬÙħ +تص Ùħ +تصÙħ ÙĬÙħ +Ġоказ а +Ġzar ówn +Ġzarówn o +ëĮĢ ì¶ľ +ãĤ»ãĥ³ ãĤ¿ãĥ¼ +Ġjako ÅĽci +æĤ © +æĤ© ãģ¿ +Ø£ÙĨ ÙĪ +Ø£ÙĨÙĪ Ø§Ø¹ +ë¹ ł +Ġìłķ ë§IJ +Ġk ẻ +ĠÑģай ÑĤа +Ġ×Ķ ×¢×¨×ij +Ùĩ ز +pres ión +ĠÑģÑĤ ен +ãģ£ãģ¦ ãĤĭ +Ġhız lı +Ðļ ÐIJ +×ŀשפ ×Ĺת +ĠÙĨ Ùĩا +ĠÙĨÙĩا ÙĬØ© +ãģ¾ ãģĦ +о ÑħÑĢан +ร à¹īà¸Ńย +ล ึà¸ģ +ĠÙĪØ¨ اÙĦ +ãĤĤãģ® ãģĮ +ר׼ ×Ļ×ij +ãĤ¤ ãĥ¤ +س ؤ +سؤ اÙĦ +ĠÙĦØ£ÙĨ Ùĩ +ĠkonuÅŁ tu +Ðļ ÑĥпиÑĤÑĮ +Ġש×IJת ×Ķ +ĠÙĪØ§ÙĦ س +Ġmożliwo ÅĽci +Ġpró b +ëĶ ° +ãģ© ãĤĮ +ĠÐľ ин +ĠоÑĢганиз м +ãģ«å¯¾ ãģĻãĤĭ +ĠPr é +Ġpriv é +ch è +ãģĦãģŁãģł ãģį +สà¸Ļุ à¸ģ +ajÄħ ce +ĠD zi +ĠDzi ÄĻki +ÅĤat w +r än +rän k +æĿ¥ ãģŁ +Ġ×Ķ×Ļ×Ķ ×ķ×ĵ×Ļ +ãĤ¬ ãĥ¼ +ĠÑĢаР´ +ĠÑĢад и +к ÑĤив +Ø£ Ùĩد +Ø£Ùĩد اÙģ +ש ×IJ×Ļר +ãģ¦ ãģĦãģªãģĦ +Ġfr üh +Ġок ол +Ġокол о +Ġreg ião +ĠÑĩиÑģ ле +Ġpon iew +Ġponiew aż +ìĦ¼ íĦ° +Ġb ầu +Ġê · +Ġê· ľ +Ġê·ľ ìłķ +ĠH òa +ĠÑĤ оÑĤ +ãĤĤ å¤ļãģĦ +ĠاÙĦإسÙĦاÙħ ÙĬØ© +ãģĭ ãģĦ +Ñį н +ĠÑĥказ ан +ĠÑĤак ое +ï¼ ³ +ëĮĢ íķĻ +Ġgen iÅŁ +ĠاÙĦØ® ÙĬ +ĠاÙĦØ®ÙĬ ارات +ãĤĴè¡Į ãģĨ +ש ×ŀ×Ķ +ĠLÃł m +ÙĪÙĨ ÙĬ +Ġ×IJ ׾×Ļ×ķ +Ä ĺ +à¹Ħมà¹Ī สามารà¸ĸ +人 ãģ¨ +بر ز +×Ļס ×ķ×ĵ +×Ĵ ׾×Ļ +ĠÙĬ ÙĨا +ĠÙĬÙĨا ÙĬر +ĠкаÑĢÑĤ ин +Ġt ôn +à¹Ģ à¸ģร +à¸Ħ à¸Ķี +Ġ׾×IJ ×ķר×ļ +ãĤĤãĤī ãģĨ +ãģĭ ãģĭãĤĭ +ани и +Ġara ÅŁtırma +ÙĦاØŃ ظ +ãģĦ ãĤĦ +ĠT Ãłi +Ġ à¸Ļà¸Ńà¸ģà¸Īาà¸ģ +Ġà¸Ļà¸Ńà¸ģà¸Īาà¸ģ à¸Ļีà¹ī +ĠÄIJ ảng +ãģ£ãģ¦ ãģįãģŁ +Ġà¸ĭึà¹Īà¸ĩ à¹Ģà¸Ľà¹ĩà¸Ļ +Ġt ả +Ġmożliwo ÅĽÄĩ +ĠS ản +Ġİ ki +Ġc ắt +س Ø£ÙĦ +Ġbak ım +Ø´ ب +à¸ķ ีà¹ī +à¸ŀ ยาย +à¸ŀยาย าม +สั à¸Ľ +à¸ªà¸±à¸Ľ à¸Ķา +à¸ªà¸±à¸Ľà¸Ķา หà¹Į +ë° Ģ +еÑĢ Ñĭ +Ġc ánh +Ġthu ế +ت بع +ãģ«åħ¥ ãĤĮ +Ñİ ÑģÑĮ +íļĮ ìĿĺ +ç°¡ åį +ç°¡åį ĺ +ç°¡åįĺ ãģ« +Ġtr úc +ĠاÙĦÙĥ ÙĪÙĬ +ĠاÙĦÙĥÙĪÙĬ ت +ãĤıãģij ãģ§ãģĻ +ĠÑģв об +ĠÑģвоб од +ĠÑĥÑĩаÑģÑĤ ник +สิ à¹īà¸Ļ +ĠпÑĢо ÑĦеÑģÑģиона +ĠпÑĢоÑĦеÑģÑģиона лÑĮн +Ñģп оÑĢ +×Ĺ ×ķ×ij×Ķ +Ùħع ÙĨÙī +ĠاÙĦÙģ ØªØ±Ø© +สูà¸ĩ สุà¸Ķ +ãĤı ãģļ +ĠÄij è +ĠÄijè n +æ¯Ķ ãģ¹ +า à¸ĺิ +Ġmoż emy +à¹ģ à¸ĭ +à¸Īะ à¹Ħมà¹Ī +Ġs ắp +Ðļ Ðŀ +Ġprá ctica +ÙĪÙĥ اÙĦØ© +è¾¼ ãĤĵãģ§ +ológ ica +Ġе Ñī +ĠеÑī Ñij +تع دÙĬÙĦ +ĠØ£ Ùĥد +Ġצר ×Ļ׼ +Ġצר×Ļ׼ ×Ļ×Ŀ +Ø« Ùħ +Ġк ÑĢÑĥ +ĠкÑĢÑĥ п +×ij×Ļ×§ ×ķרת +Ġì¡° ê¸Ī +ãģ¨ãģį ãģ¯ +Ġb ạc +ĠÑĢаÑģ пол +ĠÑĢаÑģпол ож +ĠÑĢаÑģполож ен +ز ÙĬÙĨ +ĠÐļ ÑĢоме +ĠاÙĦÙĨ ظر +×Ķ ×ķ×ĵ +ĠاÙĦس بت +ã썿ĢĿ ãģĦ +Ġpa ÅĦst +ĠpaÅĦst w +ĠÙĦÙĬ ست +ĠбÑĥд Ñĥ +à¸Ĺัà¸Ļ à¸Ĺี +ร าม +ØŃ صÙĪÙĦ +ãģĹãģ¦ãģıãĤĮ ãĤĭ +ĠاÙĦØ¥ سرائÙĬÙĦ +ĠاÙĦإسرائÙĬÙĦ ÙĬ +ãģĵãĤĮ ãģ¾ãģ§ +ìĤ¬ 를 +Ġs ürü +à¹Ģว à¸Ńรà¹Į +à¹Ģà¸ĭ à¸Ńรà¹Į +Ġutilis é +ĠÑģиÑģÑĤем а +Ġdw ó +Ġdwó ch +Ġpróp rio +Ġëĵ± ìĿĦ +arr êt +ĠЧ а +×IJ×ŀ ׳×ķת +عار ض +à¹Ģà¸ģม สà¹Į +Ġ׾×Ķ ×ij×Ļף +Ġ׾ ×ij×Ĺ +Ġ׾×ij×Ĺ ×ķר +สา à¸Ĥา +ĠÐľÐ¾Ñģк ве +ب عد +ĠاÙĦÙĤر ار +ĠÄIJ á»ĭa +Ġ×Ĺ ×Ĵ +Ùģ ØªØ± +ÙĪÙĨ Ø© +Ġ×Ķ×ĸ ×IJת +å¸Ĥ ãģ® +ãģ» ãģĹãģĦ +Ġ×ij×¢ ×Ļר +ĠÑĤеп еÑĢÑĮ +ìĬµ ëĭĪê¹Į +à¹Ħม à¹Īว +à¹Ħมà¹Īว à¹Īา +à¹Ħมà¹Īวà¹Īา à¸Īะ +×ŀ ×IJ×Ķ +æĥħ åł± +æĥħåł± ãĤĴ +غ ÙĨ +Ġпо Ñı +ĠпоÑı ви +éģİ ãģĶ +تش غ +تشغ ÙĬÙĦ +в ел +Ġ×Ĺ ×ŀ +ãģ¨ãģªãĤĬ ãģ¾ãģĻ +Ġra ÄŁ +ĠraÄŁ men +ãģĭ ãģ©ãģĨ +ãģĭãģ©ãģĨ ãģĭ +ен ко +ì§Ģ ê³ł +Ġ×IJ׾ ×Ļ×Ķ +ĠØ£ ÙĦ +à¸Īำ หà¸Ļ +à¸Īำหà¸Ļ à¹Īาย +nız ı +Ġ׾ק ×Ĺת +Ø£ ÙĩÙħ +Ø£ÙĩÙħ ÙĬØ© +ت غÙĬر +ש ×Ĺר +ס×ķפ ר +×ĵ ×Ļר +èī¯ ãģĭãģ£ãģŁ +×ŀ׾×Ĺ ×ŀ×Ķ +ÑģÑĤв ие +ÑĤ ÑĢаÑĤ +ĠاÙĦØ£ Ø® +ĠاÙĦأخ ÙĬرة +ĠاÙĦØŃ صÙĪÙĦ +Ġcréd ito +צ ×Ļ×¢ +ãĥ¬ ãĥĻãĥ« +بر ÙĬ +ëIJ IJ +ãģł ãģ£ãģ¦ +Ġreal tÃł +س Ù쨱 +×ķ׳ ×ķ +×Ĵ ×ķ×ĵ +×Ĵ×ķ×ĵ ׾ +ฮ า +ãģĹãģ¦ ãģĬãĤĬãģ¾ãģĻ +Ġg Ãł +Ġ׾×ij צע +å¼ķ è¶ĬãģĹ +Ġ×ŀ ×Ļ׾×Ļ +Ġ×ŀ×Ļ׾×Ļ ×ķף +Ùħ در +Ùħدر سة +פ ×ķ×ĺ +à¸Ļà¹īำ มัà¸Ļ +ëģ Ŀ +ع Ùĥس +ĠÙĤ ض +ĠÑĢÑĭ б +خط Ø· +×ŀ×ķס ×ĵ +Ġ׼׾ ׾×Ļ +ĠкоÑĤоÑĢ Ð¾Ðµ +צ×Ļ ×ķף +ĠмеÑģÑĤ а +ãģĭ ãģ¤ +г ÑĢÑĥпп +׾ ×Ļ׾ +ת ×ķ×IJר +ë³µ ì§Ģ +à¹ģà¸ľ à¹Īà¸Ļ +Ġ×ij×¢ ת +æĻĤéĸĵ ãĤĴ +ï¼ £ +ãģ¨ãģĦãģĨãģĵãģ¨ ãģ§ +Ġ׾×Ķ ×§ +Ġ׾ ×ĸ×Ķ +ĠìłĢ ëĬĶ +ĠاÙĦØ¥ رÙĩاب +ĠìŀĪëĬĶ ëį° +ĠÑĤ огда +Ġ×Ķ ×¦×Ļ +×ķ׾ ×ĺ +Ġר פ×ķ×IJ×Ļ +ãģĵãģ¨ ãģ§ãģĻ +ĠÄij ÃŃch +ØŃ ÙĬا +Ġ×Ķ×ŀש ×Ĺ×§ +ãģľ ãģ² +Ġ×ŀ×IJ פשר +ãģ¿ ãģ¾ãģĹãģŁ +ĠاÙĦØ£ÙħÙĬر ÙĥÙĬ +Ùħج تÙħع +Ġس اب +Ġساب ÙĤ +׼ ×Ļ׾ +Ạ¾ +ãĥª ãĤ¹ãĥĪ +Ġì ĥ +Ġìĥ Ī +ĠìĥĪ ë¡ľ +ĠìĥĪë¡ľ ìļ´ +ĠD á»ĭch +à¹Ģหมาะ สม +ĠاÙĦÙĨ بÙĬ +׾ ׾ +ÙĨ ع +Ðĵ лав +Ðĵлав наÑı +Ùħر ض +Ġ×ķ ×ĵ +ت ÙĤÙĬ +تÙĤÙĬ ÙĬÙħ +Ġb ảng +ĠÙģ ÙĤاÙĦ +×¢ ×ŀ×Ļ +д ÑĢа +Ġsu á»ijt +سر عة +Ġc á»Ń +Ġ×Ķ ×Ļ×Ĺ×Ļ×ĵ +سع ÙĬد +à¸Ńา à¸Ĭีà¸ŀ +Ġس ÙĪØ§Ø¡ +ãĤ½ ãĥķãĥĪ +Ġл иÑĩно +ĠÐļ оÑĢ +اÙĩ تÙħ +اÙĩتÙħ اÙħ +à¸Ń à¸Ķี +à¸Ńà¸Ķี à¸ķ +ãģIJ ãĤīãģĦ +Ġiht iya +Ġihtiya ç +ãģ¾ãģ§ ãģ® +ìĭľ ìĬ¤ +ìĭľìĬ¤ íħľ +ÑĢÑĥ ÑĪ +ãĤĦ ãģ£ãģ± +ãĤĦãģ£ãģ± ãĤĬ +к еÑĢ +Ġ ży +Ġży w +кл он +Ġl ượt +à ¾ +да Ñĩи +tür k +غ ÙĪ +ĠигÑĢ Ð¾Ðº +Ġph ê +Ġש ×¢×ľ +ĠاÙĦÙħ دÙĨÙĬ +ĠìŬ룬 ë¶Ħ +ער ×Ļ×Ŀ +Ñħод ÑıÑĤ +Ġx ứ +ÐĹ Ð° +ĠÙģ Ø±Øµ +à¸Īะ à¸Ĺำà¹ĥหà¹ī +íģ ´ +×¢ ×ij×ķר +à¹Ģหลà¹Īา à¸Ļีà¹ī +èĢĥãģĪ ãĤĭ +ÑĢ ÐµÑģÑĤ +н нÑĭй +Ġc ầm +دا Ø®ÙĦ +ĠÙħÙĦÙĬ ار +ĠÐIJ л +ĠвÑĢем ен +à¸Ĭà¹Īวย à¹ĥหà¹ī +ר×Ļ ×ķת +ëĵ ¯ +飲 ãģ¿ +׳ ׾ +שת ×£ +ĠاÙĦسعÙĪØ¯ ÙĬ +u ÃŁ +ìĿ¸ ëį° +ĠìĿ¼ ë°ĺ +ÅĤ ÄĻ +Ġm á»iji +×ŀ ×Ļ׳ +ĠاÙĦØ£ Ø·Ù쨧ÙĦ +Ġçı kan +é cole +×§ ×Ļש +×§×Ļש ×ķר +ĠоÑģ ÑĥÑīеÑģÑĤв +ĠоÑģÑĥÑīеÑģÑĤв лÑı +×ij ×IJר +à¹Ħà¸Ľ à¸Ķà¹īวย +Ġ×¢ ×ķ׾×Ķ +à¸ģà¹ĩ à¹Ħมà¹Ī +ãĥ¢ ãĥĩ +ãĥ¢ãĥĩ ãĥ« +تØŃ ÙĪÙĦ +Ġод ного +ת×Ĺ×Ļ׾ ת +Ġت Ø® +Ġch cia +Ġchcia ÅĤ +ãĥIJ ãĥ³ +èĢħ ãģ¯ +ĠÙħ ØŃÙĦ +Ñģл ож +Ñģлож н +Ġt ÄĻ +Ġçı kt +Ġçıkt ı +ĠC Æ¡ +à¹Ħà¸Ķà¹ī à¹Ģลย +ır ken +à¹Ģà¸Ĥà¹īา สูà¹Ī +ÙħØŃ Ùĥ +ÙħØŃÙĥ ÙħØ© +à¸Ħุ à¹īม +à¸Ļà¹Īา à¸Īะ +лÑİ Ð´ +де ÑģÑı +деÑģÑı ÑĤ +ĠлÑİб ой +تØŃر ÙĬر +צע ×ĵ +Ġе Ñij +ĠاÙĦØŃ ÙĥÙħ +Ġص باØŃ +à¹Ģà¸ļ à¸Ńรà¹Į +Ġróż nych +ги б +ĠÑģ оÑĤ +ĠÑģоÑĤ ÑĢÑĥд +ĠÑģоÑĤÑĢÑĥд ник +ĠобÑĬ ем +פ ×ĺר +ãģĻãģĶ ãģı +ãģ«éĸ¢ ãģĹãģ¦ +в ол +Ø« ÙħاÙĨ +Ġd ần +æĬ ľ +æĬľ ãģij +Ġ×¢ ש +Ġעש ×ķ×Ļ +ס ×ķף +ãģªãģ® ãģ§ãģĻ +ãģ¯ ãģ©ãģĨ +×ŀ×¢ ר×ij +ï¼ ° +Ùħ صر +ÙħÙĨ اسب +ÙħÙĨاسب Ø© +ä¸Ĭ ãģ® +×IJ×Ļש ×ķר +ĠìĦ¤ ì¹ĺ +×ŀ×ĵ×Ļ׳ ×ķת +×ŀר ת +ãĤĭ ãģ®ãģĮ +د Ùİ +ĠاÙĦشر Ùĥات +ìĭľ ê°Ħ +ĠÑĢеÑĪ ÐµÐ½Ð¸Ðµ +ãģĻãĤĭ ãģ®ãģ¯ +ĠìŀIJìĭł ìĿĺ +׾ ×ŀ×ķ +ãģ¨ãģĵãĤį ãģ§ +Ġ×§ צר +Ġmã i +Ġkü ltür +ãĥ©ãĤ¤ ãĥĸ +à¸ľà¸¹à¹ī หà¸įิà¸ĩ +æĻĤéĸĵ ãģĮ +клÑİÑĩ и +diÄŁ iniz +มาà¸ģ à¹Ĩ +تØŃ ÙħÙĦ +Ġh ạt +ãĤ¦ ãĤ£ +п ле +×ŀ ׾×IJ +ÅĤ ó +Ġg á»ijc +Ġ×IJ ×ķ×ĵ×ķת +หว าà¸Ļ +ĠاÙĦ ÙĪØ² +ĠاÙĦÙĪØ² راء +ëĵ¤ ê³¼ +Ġص ØŃ +ĠصØŃ ÙĬÙ쨩 +Ġм м +تد Ø®ÙĦ +Ġpersön lich +Ġز ÙĬ +ĠزÙĬ ادة +ãĤ· ãĤ¢ +Ġng ắn +à¸Ħล ิà¸ģ +Ġs ông +Ġtü ket +Ñį ÑĦÑĦ +ÑįÑĦÑĦ екÑĤ +ש ×Ļ×ij +Ġا عت +ت ض +تض ÙħÙĨ +ĠاÙĦÙħØ´ رÙĪØ¹ +Ġprodu ção +ĠпÑĢимен Ñı +ни ÑĨÑĭ +주 ëĬĶ +ر Ùı +Ġm Æ¡ +Ġhayat ı +ëŁ ½ +Ġü cret +Ġyan ında +Ġpr ática +×ij×Ļ×§ ×ķר +Ãľ N +Ñģ оÑĤ +ãĤıãģij ãģ§ +Ġдол го +ת ׼×ķ +ĠìķĦ ëĭĮ +ë į°ìĿ´ +Ġç iz +Ġcho Äĩ +Ġ×Ķ ×Ļת +Ġ×Ķ×Ļת ר +Ġso át +׼ ×ij×ĵ +à¹Ģล à¹Īา +Ġд еÑĢ +ĠдеÑĢ ÐµÐ² +ãĤĴ åħ¥ãĤĮ +×Ĺ ×ķס +×Ĺ×ķס ר +ج ÙĬÙĨ +t ón +onn é +Ġпол ноÑģÑĤÑĮÑİ +人 ãģŁãģ¡ +Ġpr êt +ëł ¸ +Ġdéc embre +cı lar +Ġת ת +Ġê²½ìļ° ìĹIJëĬĶ +ÙĪ Ø¹Ø¯ +è¦ĭ ãĤĭ +วิ à¸Īัย +ë ¶Ī +ز ÙĪØ§ +زÙĪØ§ ج +d ì +ãģ§ãģĻ ãĤĪ +Ġвод о +ĠÙĬ ÙĪØ¬Ø¯ +Ñģ оÑģÑĤоÑı +Ðŀ С +ĠÄIJ ó +׊פש +Ġצ ×Ļ×ij×ķר +ĠاÙĦÙĤ Ø· +ĠاÙĦÙĤØ· اع +Ġиме ÑİÑĤ +Ġph áºŃn +×Ľ×¡ פ×Ļ +полн иÑĤелÑĮ +éĻIJ ãĤĬ +ĠÑģ ÑĢав +ĠÑģÑĢав н +ÙħاÙĦ Ùĥ +×ĵר ×ķ×Ŀ +çļĨ ãģķãĤĵ +ØŃÙĤ ÙĤ +à¹ģหล à¹Īà¸ĩ +ĠاÙĦر سÙħÙĬ +оÑĩ ки +×ĺ ×ij×Ĺ +Ġcan lı +Ġ׾ ׾ +Ġ׾׾ ×ŀ×ķ×ĵ +×ŀ×ij ×ķ +ת ׼ +×ª×Ľ ׳×Ļת +ĠاÙĦÙħ شار +ĠاÙĦÙħشار ÙĥØ© +İ Åŀ +ĠسÙĬ اسÙĬ +в олÑĮ +ĠÑģ пÑĢав +æĿ¥ ãģ¦ +פ×ķר ×ķ×Ŀ +สำ à¹Ģรà¹ĩ +สำà¹Ģรà¹ĩ à¸Ī +ĠÅŁ öyle +Ġzosta ÅĤa +ĠH ü +ר ×ķש +د ÙĦÙĬÙĦ +ÑĢи д +ש ף +×ŀ×§ ×ķר +ĠÑĥ Ñĩ +ĠÑĥÑĩ еб +ĠÑį ÑĤа +ков а +à¸ķà¸Ļ à¹Ģà¸Ńà¸ĩ +ÙĨ ÙIJ +à¸Ńีà¸ģ à¸Ħรัà¹īà¸ĩ +ระ à¸ļุ +Ġd ữ +ĠاÙĦØŃ اÙĦÙĬ +׼ ×ķ׼ +׼×ķ׼ ×ij +Ġ×ŀ×IJ שר +Ġtr ụ +ÑĤел ем +Ġв ли +Ġвли Ñı +Ġש×IJת ×Ŀ +Ġuw ag +Ġuwag ÄĻ +×ĺ ×Ļת +×IJ ×ĵ×Ŀ +à¸Ķ ุ +Ġ×Ķ×IJ ׾×Ķ +Ġkar Ä±ÅŁ +ĠÄIJ á»iji +да ÑİÑĤ +ãģªãģ® ãģ« +Äħ cych +à¹Ģà¸Ļ à¹īà¸Ļ +ãģĹãģ¦ ãģĹãģ¾ãģĨ +int érieur +ĠfÃŃs ica +ĠÐŁ ол +ãģĹãģ ķ +à¸Ĺำ à¹Ħม +ĠL âm +ĠاÙĦÙħ سÙĦÙħ +ĠاÙĦÙħسÙĦÙħ ÙĬÙĨ +ص ØŃØ© +ìĹ Ħ +à¹Ģà¸Ķà¹ĩ à¸Ķ +ĠÑĥ ÑĩеÑĤ +â Ìģ +Ġب ÙĦا +ĠاÙĦاجتÙħاع ÙĬ +פרס ×Ŀ +ãĥķ ãĥ© +ĠÐļ огда +mie ÅĽci +ĠبÙĬÙĨ Ùħا +Ġ×ŀ×IJ ×ŀר×Ļ×Ŀ +Ġ×ij×IJ ×ĸ×ķר +×ķש ×Ļ×Ŀ +ĠÑģдел а +entr ée +à¹Ģ à¸Ħà¹īา +Ñĥг л +ĠاÙĦÙģ ÙĨÙĬ +ĠÐĴ оÑĤ +à¸Ĺีà¹Ī มา +×ķצ ×Ĵ +ÙĤد رة +Ġëª © +Ġ목 ìłģ +íıī ê°Ģ +ĠاÙĦØ£ ربع +ĠاÙĦأربع اء +פס ×Ļ×§ +ĠÑıвлÑı ÑİÑĤÑģÑı +ب ÙĪÙĨ +ì° ¾ +×ŀ×¢ ר׼ +×ŀ×¢×¨×Ľ ×ķת +ãĤ· ãĤ§ +ĠباÙĦ Ø£ +íĸĪ ëįĺ +ĠاÙĦبر ÙĨاÙħج +ĠاÙĦØ£ ØŃد +Ġm Å© +ĠmÅ© i +п аÑĤ +ب Ø« +ĠÑĨ енÑĭ +Ġ×ijת ׾ +è¨Ģ ãĤıãĤĮ +ĠاÙĦÙħ جاÙĦ +ĠìĦ¸ ìĥģ +Ġ×Ĵ ×ķפ +ĠнаÑĪ ÐµÐ¹ +Ġкомп аниÑı +б ин +öl ü +×Ļ ×Ļ×ĺ +Ġ×ŀס פ×Ļ×§ +ยัà¸ĩ à¸Ħà¸ĩ +ĠЧ и +Ġан ÑĤи +ĠÑģÑĢед и +สà¹Īวà¸Ļ à¹ĥหà¸įà¹Ī +оÑĩ ка +íĬ¹ ë³Ħ +ว à¹Īาà¸ĩ +гоÑĢ Ð¾Ð´ +با Ùĥ +à¹Ģส ีà¹Īย +à¹Ģสีà¹Īย à¸ĩ +ãĤĤãĤī ãģĦ +×§ ×ķ×Ŀ +ãģĽ ãģļ +ĠاÙĦÙĤ اÙĩرة +Ġ×ij ׼×ļ +Ùħشار ÙĬع +باØŃ Ø« +Ġпо Ñĩ +ĠпоÑĩ ÑĤи +ĠÑĦоÑĢм а +S İ +Ġ×ŀצ ×Ļ×¢ +ล ื +ลื ม +ĠÑĤ еÑĢ +ĠÑĤеÑĢ ÑĢиÑĤоÑĢ +ĠÑĤеÑĢÑĢиÑĤоÑĢ Ð¸Ð¸ +Ġв меÑģÑĤ +ĠвмеÑģÑĤ е +dıkl arı +op ération +à¹Ĥ ห +ص دÙĬ +صدÙĬ ÙĤ +íĸī ìłķ +تج ا +تجا ÙĪØ² +Ġsu ç +Ġar ty +Ġarty ku +Ġartyku ÅĤ +ãĤ·ãĥ§ ãĥĥãĥĹ +ש פ +שפ ×Ļ×¢ +Ġ×Ķש ×Ļר×ķת +à¹ģà¸ĸ ม +ë¸ Ķ +Ġuk ÅĤad +Ġ×ķ ׼×Ļ +หล าà¸ģ +หลาà¸ģ หลาย +æĸ¹ ãĤĤ +Ġpodr óż +ĠE ÄŁer +Ġком наÑĤ +ĠÑģам ÑĭÑħ +Ġв кÑĥÑģ +б еж +Ġ×ij ×§×ķ +æİĽ ãģij +ãģ¿ ãĤĭãģ¨ +ĠiliÅŁ kin +ĠÙĬ عÙħÙĦ +Ġпод аÑĢ +Ġyaz ılı +ãĤĴ å¾Ĺ +Ġwyst ÄĻp +à¸Ĺีà¹Ī à¹ĥà¸Ĭà¹ī +ØŃاد Ø« +ÙĪ ÙĬد +кÑĥ лÑĮÑĤ +кÑĥлÑĮÑĤ ÑĥÑĢ +à¸ģาร à¹ģà¸Ĥà¹Īà¸ĩ +à¸ģารà¹ģà¸Ĥà¹Īà¸ĩ à¸Ĥ +à¸ģารà¹ģà¸Ĥà¹Īà¸ĩà¸Ĥ ัà¸Ļ +ÙħÙĪ Ø¸ +ÙħÙĪØ¸ Ùģ +ÙĬÙħ ÙĬ +ãĤĵãģ§ãģĻ ãģĮ +diÄŁ im +diÄŁim iz +ĠÐŁ еÑĢ +ĠÐŁÐµÑĢ Ð² +Ġm ão +ĠÑģ ез +ĠÑģез он +Ġ×Ķ×ŀ ×¢ +Ùħ جÙħÙĪØ¹Ø© +ĠинÑĦоÑĢм аÑĨии +i ếc +ã ng +ĠÄij ấy +ãģĶ ç´ +ãģĶç´ ¹ +ãģĶç´¹ ä»ĭ +Ġad ım +à¹Ħ หล +Ġп ÑĢакÑĤи +ĠпÑĢакÑĤи Ñĩ +ĠпÑĢакÑĤиÑĩ еÑģ +ĠпÑĢакÑĤиÑĩеÑģ ки +ĠاÙĦÙĨ Ù쨳 +ĠÑĢабоÑĤ е +ÙĦÙĬ Ùģ +ĠاÙĦجÙĨ ÙĪØ¨ +Ġвод Ñĭ +ì¹ Ļ +Ġм иÑĢа +ĠÄij ừng +ĠпÑĢоÑĤив о +ĠÑģÑĤÑĢан Ñĭ +ล ู +ìĤ ¶ +kre ÅĽl +Ġbul und +Ġbulund uÄŁu +à¹ģ สà¸Ļ +ãĤ± ãĤ¢ +ת×Ĺ ×ķ×ŀ×Ļ +ר׼ ×Ķ +Ġ׾ק ×ķ×Ĺ +Ġ׾ק×ķ×Ĺ ×ķת +Ġ×Ľ×ª ×ķ×ijת +ĠÙĦ ÙĥÙħ +ب شر +Ġr Ãłng +Ġ×ŀ×Ķ ×ŀ +Ġ×IJ×Ĺר ×ķת +Ġб он +Ġбон ÑĥÑģ +ï½ Ĺ +à¹ģ ยà¸ģ +ãģĤãģªãģŁ ãģ® +ĠÑĥÑĩаÑģÑĤ ие +ĠE yl +ĠEyl ül +ĠçalÄ±ÅŁmalar ı +Ø® طر +ìĿ ½ +à¸ģาร à¹ĥà¸Ĭà¹īà¸ĩาà¸Ļ +Ġана лиз +תק ×ij׾ +ни ем +Ġİ ns +Ġİns an +ĠبÙĪ Ø§Ø³ +ĠبÙĪØ§Ø³ طة +Ġ׳ ×Ľ×ł×¡ +Ġ×Ķ×ŀ ×Ļ×ĵ×¢ +Ġç o +Ġço ÄŁu +á» ĺ +ĠêµŃ 민 +ãĤĤ ãģĦãģĦ +Ġ׼ ׾×Ļ +ĠÑģÑĢед не +g ÅĤo +gÅĤo ÅĽ +Ġneg ó +Ġnegó cio +ĠÑĢ ÐµÐ³Ð¸ÑģÑĤ +ĠÑĢегиÑģÑĤ ÑĢа +ĠÑĢегиÑģÑĤÑĢа ÑĨии +Ġtr á»ĵng +ĠпÑĢ Ñı +ĠпÑĢÑı мо +ëłĪ ìĿ´ +Ġk ém +к ле +à¸Ļำ มา +ĠÑĦ ин +ĠÑĦин анÑģ +ĠÑĦинанÑģ ов +Ġki á»ĩm +ยัà¸ĩ à¹Ħ +ยัà¸ĩà¹Ħ à¸ĩ +ย ิà¸ĩ +à¹Ĥ à¸Ľ +ĠполÑĥÑĩ ил +×Ļ×ĸ ×Ŀ +à¹ģละ à¸Ħวาม +Ġво обÑīе +ص ÙĬر +ãĥı ãĥ³ +ĠاÙĦÙĤ اد +ĠاÙĦÙĤاد Ùħ +Ġب دÙĪÙĨ +ع ظÙħ +ת ׳×ķ×¢ +×ª×ł×ķ×¢ ×Ķ +Ø£ ÙħÙĦ +ãģķ ãģĪ +ÑĤ ем +ÑĤем пеÑĢ +ÑĤемпеÑĢ Ð°ÑĤÑĥÑĢ +Ġ׾ ×Ļצ×ķר +Ġr ÄĻk +ر سÙĦ +ìŀIJ 를 +Ġ×Ļצ ×Ļרת +ÙĨ بÙĬ +Ñĩ наÑı +تØŃ ÙĦÙĬÙĦ +Ġм ик +Ġмик ÑĢо +ĠS öz +Ġfor ça +Ñģ он +ĠاÙĦع را +ĠاÙĦعرا ÙĤÙĬ +ĠH á»ĵng +ãģĻãĤĭ ãģŁãĤģãģ« +à¸Ĺีà¹Ī à¸Ńยูà¹Ī +Ġ×ķ×IJ ×£ +ص ÙĬد +ĠìķĬ ê³ł +ร ัà¸ĩ +ĠاÙĦت ÙĪØ§ØµÙĦ +à¹Ģม à¸ķร +Ñĥ ÑģÑĤÑĢой +ÑĥÑģÑĤÑĢой ÑģÑĤв +m ıyor +Ġبا سÙħ +Ġ×ķ ׼×ķ +ĠG ül +á» IJ +Ãī tat +غ اÙĦ +Ø¥ ÙĨØ´ +Ø¥ÙĨØ´ اء +T İ +à¸Ĥà¹īา ม +Ġtro ch +Ġtroch ÄĻ +Ø¥ ص +إص ابة +ĠØ« اÙĨÙĬ +ĠاÙĦص ØŃØ© +Ġ×ĸ×Ķ ×ķ +jÄħ cej +ãĥĢ ãĥ³ +ìĿ¸ ìĿ´ +Ġв олоÑģ +ëIJĺ ë©´ +Ġzak ÅĤad +ãģĻ ãģĵãģ¨ +以ä¸Ĭ ãģ® +Ġ×Ķ×ŀ×§ ×ķ×Ŀ +ÙħØ´ اÙĩ +ÙħشاÙĩ دة +Ñĩ ив +ب Ø´ +ย à¹īาย +Ġsür dür +ĠN ẵ +ĠNẵ ng +ĠигÑĢ Ð°ÑĤÑĮ +Ġê·¸ëŁ¬ ë©´ +ãĥķ ãĥ« +ล à¹Īะ +Ġtend rá +Ġb Ãły +à¹Ģà¸Ľà¹ĩà¸Ļ à¸ľà¸¹à¹ī +Ġok o +Ġoko ÅĤo +w ÅĤa +wÅĤa ÅĽci +wÅĤaÅĽci w +æĢĿ ãĤı +ĠYa ÅŁ +ĠB á»ĩnh +íı Ń +بÙĬ د +קר ף +à¹Ģศ ร +à¹Ģศร ษ +à¹Ģศรษ à¸IJ +à¹Ģศรษà¸IJ à¸ģิà¸Ī +ĠاÙĦØ£ ÙĪØ±ÙĪ +ĠاÙĦØ£ÙĪØ±ÙĪ Ø¨ÙĬ +fl äche +ä¹Ĺ ãĤĬ +Ġb á»ģn +Ùĩ ب +æľĢ ãĤĤ +Ġsa ç +à¸Ńำ à¹Ģà¸ł +à¸Ńำà¹Ģà¸ł à¸Ń +ĠØ£ ج +ĠاÙĦد اخÙĦ +ĠاÙĦداخÙĦ ÙĬØ© +×ĺ ×ķ×ij +ãĤĤ ãģªãģı +Ġли ÑĨа +à¹ģลà¹īว à¸ģà¹ĩ +×ĸ׼ ×Ļר +Ġqu Ãł +ĠÙĥ ذÙĦÙĥ +صØŃ Ùģ +ĠÃĤ u +ÙĪØ¨ ا +à¹Ģà¸Ľà¸¥à¸µà¹Īยà¸Ļ à¹ģà¸Ľà¸¥ +à¹Ģà¸Ľà¸¥à¸µà¹Īยà¸Ļà¹ģà¸Ľà¸¥ à¸ĩ +à¸ķัว à¸Ńยà¹Īาà¸ĩ +Ġráp ida +Ġtas ar +Ġtasar ım +ĠعÙĦÙĬ ÙĩÙħ +ס ×ķ׾ +c ılı +cılı k +Ġر غÙħ +ìĭľ íĤ¤ +Ġ×IJ׾ ×§ +Ġ×IJ׾ק ×ĺר +Ġ×IJ׾ק×ĺר ×ķ׳×Ļ +à¹ģà¸ļ à¹Īà¸ĩ +Ġh ạng +ãģ£ãģ¦ ãģıãĤĮ +ĠÙĨ تÙĬ +ĠÙĨتÙĬ جة +ıkl ı +غ اÙĨ +à¸Ĥà¹īà¸Ń à¸Ħวาม +à¸Ľà¸¥ าย +ĠØ£ Ùħس +à¸Ĺีà¹Ī à¹Ģà¸ģีà¹Īยว +à¸Ĺีà¹Īà¹Ģà¸ģีà¹Īยว à¸Ĥ +à¸Ĺีà¹Īà¹Ģà¸ģีà¹Īยวà¸Ĥ à¹īà¸Ńà¸ĩ +Ġdé fin +Ġdéfin i +ÙģÙĨ اد +ÙģÙĨاد ÙĤ +à¹Ħà¸Ķà¹ī วà¹Īา +ãģªãģĦ ãĤĪãģĨãģ« +Ġpróp ria +ĠPh át +ãĤĦãģĻ ãģı +สวย à¸ĩาม +ê³ł ìļĶ +Ñı еÑĤ +ãģĭãĤĤãģĹãĤĮãģ¾ãģĽãĤĵ ãģĮ +تر جÙħ +ĠкÑĢаÑģ ив +Ġ×ŀ ר×IJש +д еж +ĠÙĬ ÙĪÙĨ +ĠÙĬÙĪÙĨ ÙĬÙĪ +Ñģк оÑĢ +ĠKas ım +ê³Ħ ìķ½ +к оÑģ +Ġна ÑĢÑĥ +ĠнаÑĢÑĥ ÑĪен +Ġdu że +acc ès +Ġh á»ĵng +Ġv Å© +ãģĦãģŁ ãģĹãģ¾ãģĻ +Ġ×ĺ ×Ļ +Ġ×ĺ×Ļ ×ķ׾ +lıkl arı +Ġqu ê +ëħ¸ ëıĻ +ìķ Ķ +CI ÃĵN +Ġt ắc +press ão +ĠìŀĪ ìľ¼ +สิà¸Ĺà¸ĺิ à¹Į +íĥ Ħ +Ġ×Ķ×ŀ ×ŀש׾×Ķ +å¬ī ãģĹãģĦ +ĠÄIJ ặc +ÙĨ زÙĦ +ĠдÑĢÑĥг ой +д ÑĥÑĤ +ìĪ Ļ +Ġth ụ +à¹Ģส ร +à¹Ģสร à¹ĩ +à¹Ģสรà¹ĩ à¸Ī +Ġto plant +Ġtoplant ı +×IJ×ŀ ף +×ķ׾ ת +п омн +Ġyo ÄŁun +ÅĦsk iego +ì° © +ĠØ« ÙĦاث +ĠØ«ÙĦاث Ø© +Ġl ắng +ë¦ ´ +ราà¸Ĭ à¸ģาร +ĠÑģлов а +á» Ĩ +à¸Ķี à¸ģวà¹Īา +ãģĶãģĸ ãģĦãģ¾ãģĻ +Ġд из +Ġдиз айн +fé rence +lıkl ar +ãģªãĤĵ ãģ§ãģĻ +ajÄħ cy +Ġëĭ¤ ìĸij +Ġëĭ¤ìĸij íķľ +×§ ×Ļר +ØŃ ار +ส ูà¹ī +Ġz ro +Ġzro bi +Ġzrobi Äĩ +×ŀ ×Ļ׼×Ķ +à¸Ĭà¹Īวย à¹Ģหลืà¸Ń +ĠÑįÑĤ Ñĥ +ë´ ī +楽 ãģĹãģĦ +س ÙĪØ± +íķĺ ê±°ëĤĺ +Ùħؤ تÙħر +Ġpoc zÄħ +ĠpoczÄħ tk +ĠpoczÄħtk u +Ġع ربÙĬ +اÙĦØ£ ر +اÙĦأر دÙĨ +à¸Ķ ร +Åĵ uvre +ĠÙĪÙĥ اÙĨت +ĠÅĽ redni +Ø® ضر +Ġch uyến +н ÑĤ +ĠìķĮ ê³ł +Ġv á»Ŀi +Ġ×ij ×Ļ×ĵ×Ļ +×ŀ×ĵ ×ķ×ijר +ÙĪ Ù쨱 +ÙĬ Ø¡ +׳ ×Ľ×¡ +ĠÐĽ а +л он +Ġx ấu +Ùģ ÙĬÙĨ +Ġfé vrier +ĠÐŀ на +ĠV á»ģ +ĠÅŁey ler +ĠполÑĥÑĩ ен +з ад +Ġn ét +à¹Ħà¸Ľ ยัà¸ĩ +×Ĺש×ij ×ķ +à¸ļัà¸Ļ à¸Ĺ +à¸ļัà¸Ļà¸Ĺ ึà¸ģ +Ġgerçek leÅŁ +иÑĩеÑģк ое +ìĪĺ ê°Ģ +Ø« بت +ãģ¤ ãģ¾ãĤĬ +ĠÑĥÑģловиÑı Ñħ +ëĭ¤ ê°Ģ +ราย à¹Ħà¸Ķà¹ī +׼×IJ ×ij +à¹Ĥà¸Ľà¸£ à¹Ĥม +à¹Ĥà¸Ľà¸£à¹Ĥม à¸Ĭัà¹Īà¸Ļ +j ähr +jähr ige +×§ ׳×Ļ×Ŀ +×ŀ ×ķ×§ +×ŀ×ķ×§ ×ĵ +ãģ«è¡Į ãģ£ãģ¦ +Ø¢ ÙĦ +вед ение +Ġ׾ ×Ľ×ª×ķ×ij +جÙħ Ùĩ +جÙħÙĩ ÙĪØ±ÙĬØ© +à¸ī à¸ļ +à¸īà¸ļ ัà¸ļ +ĠC òn +à¸ľ สม +ãģªãģ© ãģĮ +×IJ×Ķ ×ij +ĠдейÑģÑĤв иÑı +y ız +à¹Ħมà¹Ī à¹Ģà¸Ħย +ج ÙĪØ² +×Ķ×Ĺ׾×ĺ ×Ķ +f ällt +ãĥĵ ãĤ¸ +ãĥĵãĤ¸ ãĥį +ãĥĵãĤ¸ãĥį ãĤ¹ +Ġ×IJ ×Ļ׳×Ŀ +ĠнаÑħод иÑĤÑģÑı +Ġdzi ÅĽ +ست Ø·ÙĬع +׾ ×Ļף +Ø® ÙĦاÙģ +Ùĩ ÙIJ +Ġatr ás +íĺ ģ +ãĤĴ ãģĶ +Ġ×Ķ×ŀ ×ķצר +ĠBakan lıģı +ÑİÑī ее +ÙħÙĨ اط +ÙħÙĨاط ÙĤ +Ùģ Ø¯ +à¸Ļำ à¹Ħà¸Ľ +Ġв аж +Ġваж но +Ġm ạch +׼ ׳×ķ +بع Ø« +lan ması +Ġa yr +Ġayr ıl +ìĤ¬ íļĮ +d ÃŃa +p ÅĤyw +اÙħ ÙĬØ© +íĺ ľ +×IJ׳ ×Ĵ׾ +×IJ׳×Ĵ׾ ×Ļת +ĠìŀĪëĭ¤ ëĬĶ +Ġس اعة +ĠëĤĺ íĥĢ +b ö +à¸Ħ ัà¸Ļ +ĠdziaÅĤ ania +Ø© Ùĭ +Ġng Å© +׳צ ×Ĺ +ãģ¯ ãģĤãĤĭ +ĠyaÅŁ ında +st ück +car acter +caracter ÃŃsticas +Ġr á»Ńa +ĠÙħختÙĦÙģ Ø© +ãģ«ãģĬ ãģijãĤĭ +à¹ģà¸ŀ à¸ĩ +วิ à¹Īà¸ĩ +ת פ×ķ +سا ÙĩÙħ +使 ãģĨ +Ùĥ رÙĬ +×IJ פ×Ļ +........ ....... +ĠÑĤак им +×Ļ׼ ×ķ×Ļ +Ø´ بÙĩ +ج ÙĬر +ãģĿãģ® ãģ¾ãģ¾ +ac jÄĻ +ĠاÙĦت رÙĥ +ĠاÙĦترÙĥ ÙĬ +ĠпÑĢав илÑĮно +Ġت عÙħÙĦ +à¸ģล à¹īา +Ġbi ên +Ġ×ij׳×Ļ ×Ļת +Ġкл Ñĥб +Ġ×ŀ ש×Ķ +в ÑĪий +ãģĵãģ¨ãģĮãģ§ãģį ãĤĭ +à¸ŀัà¸Ļà¸ĺ ุ +à¸ŀัà¸Ļà¸ĺุ à¹Į +ר ×ķ×Ŀ +ĠاÙĦÙģ Ø±ÙĨ +ĠاÙĦÙ쨱ÙĨ سÙĬ +à¹Ģà¸Ľà¹ĩà¸Ļ à¸Ħà¸Ļ +ãģĹãģ¦ ãģĬãĤĬ +Ġth ầy +ãĤĵ ãģłãģijãģ© +ìĶ ¨ +Ùħ دÙĨ +ت ÙĪÙĨ +ĠмеÑĤ ал +ĠмеÑĤал л +Ġin ÃŃcio +à¸Ńà¸Ńà¸ģ à¸Īาà¸ģ +ëĴ ¤ +Ġcu á»ijn +Ġbu á»Ļc +ÙĨ سÙĬ +ä cht +×ŀ ×Ļ׳×Ļ×Ŀ +ãģķ ãģ¦ +ãģĮ ãģ§ãģį +ÑĬ ем +Ġtá i +ĠЧ ÑĤ +ĠЧÑĤ обÑĭ +à¸Ľà¸¥ ูà¸ģ +à¸Ĭุม à¸Ĭà¸Ļ +н Ñģкий +Ġv ững +Ġ×Ķ ×ľ×ij +ë le +Ġש ×¢×ijר +в аÑĤÑĮÑģÑı +б ой +ع ÙĪÙĨ +à¹ģà¸Ķ à¸Ļ +Ġספר ×Ļ×Ŀ +Ġt uyên +Ġnhi êu +ĠQu ý +Ġh uyết +ãĤı ãģĭãĤīãģªãģĦ +Ġ×ŀ ׼ף +Ġ×Ķ ×§×ľ +Ġ׾×IJ ×ķר +ĠÄIJi á»ĩn +Ø´ ؤ +شؤ ÙĪÙĨ +Ġ×ŀ׊פש +ĠпоÑģÑĤоÑıн но +×ŀ ×Ļר +ìħ Ķ +Ðŀ Ñģ +ÐŀÑģ нов +×ĸ ×Ļת +ĠH á +ĠÑĩаÑģ ов +×IJ ×ķ׾×Ļ +Ġm át +Ø® رÙĪ +خرÙĪ Ø¬ +ÙĤ ضا +ÙĤضا ÙĬا +à¹Ģà¸Ľ à¸Ńรà¹Į +ĠÙĬ ÙĪÙĦ +ĠÙĬÙĪÙĦ ÙĬÙĪ +à¹Ĥà¸Ĺ ษ +׳ פ׾ +ת ×ķש +ת×ķש ×ij×Ļ +Ġv ários +×ŀ ר×IJ×Ķ +ëĿ¼ ìĿ´ +ÙĨ غ +×ij צע +г он +ĠÄIJ ược +ع Ùı +пÑĥÑģ к +ĠÙĪØ§ÙĦ Ùģ +üc ü +×Ļ×§ ×Ļ×Ŀ +Ġس بÙĬÙĦ +׾×ij ף +ĠاÙĦÙĤ رÙĨ +ס ×ķת +ĠQu áºŃn +ãģĵãĤĮ ãģĮ +ãĥĸ ãĥ©ãĥ³ãĥī +×Ĵ ×ŀר +Ġwarto ÅĽci +ĠÙĪØ¨ ÙĬÙĨ +Ġd ạ +ÐIJ в +ÐIJв ÑĤо +Ġol acaktır +à¸Ļ à¸Ĺà¹Į +Ùħ طار +Ġ×¢ ×§×ij +Ġת פ +ãģĹãģ¦ ãģĦãģ¦ +צ ×ŀ×Ĺ +à¸Ī à¸Ńà¸ĩ +Ġö de +ìį ¨ +ÙĨ اس +調 ãģ¹ +ĠогÑĢ Ð¾Ð¼Ð½ +ë³´ íĹĺ +×ĺ ×§ +×ĺ×§ ס×ĺ +ĠbaÅŁ v +ĠbaÅŁv uru +Ġpom ys +Ġpomys ÅĤ +ãģ« ä¹Ĺ +Ġש ׼ף +ĠاÙĦÙħس ؤÙĪÙĦ +Ġз ан +Ġзан ÑıÑĤ +Ġd ương +ãĥĹãĥ¬ ãĤ¤ +ล à¸ļ +ÑĤи ка +ĠAr alık +Ġнед о +Ġm á»Ļ +Ġor an +Ġoran ı +Ġktó r +Ġktór Äħ +Ġ×Ķ×IJ×Ĺר ×ķ׳×ķת +ائ ÙĨ +ÅĦ s +ÅĦs ka +åĽ½ ãģ® +×ŀ ×ĺ×Ļ +ĠвопÑĢоÑģ Ñĭ +à¸Ńà¸ĩà¸Ħà¹Į à¸ģร +×ŀ ×ķצ×IJ +Ġpó ź +Ġpóź niej +ש×ŀ ×IJ׾ +Ġk aps +Ġkaps am +Ġkapsam ında +Ġmá quina +ĠÅĽwie cie +Ġho Ãłng +Ġöz gü +×Ĵ×ķר ×Ŀ +ãģĤ ãģŁãĤĬ +à¸ķัà¸Ķ สิà¸Ļ +à¸ķัà¸Ķสิà¸Ļ à¹ĥà¸Ī +б ÑĢи +ãģ«ãģªãĤĭ ãģ¨ +ت ÙĥÙĪÙĨ +Ġ×ķ×Ķ ×Ļ×IJ +Ġchi ếu +ÑģÑĤан ав +ÑģÑĤанав ли +ÑģÑĤанавли ва +×ŀ ×ķ×Ĵ +c ité +ĠK örper +Ġש ×Ĵ×Ŀ +ع ظ +عظ ÙĬÙħ +Ġ×Ķ×IJ ×Ļש×Ļ +Ġmat ière +ĠÙģ ÙĪÙĤ +Ġk to +Ġkto ÅĽ +à¸Ļ à¹Ĥย +à¸Ļà¹Ĥย à¸ļาย +å¾ħ ãģ¡ +à¹Ģม à¸Ļ +à¹Ģมà¸Ļ ู +A ÃĩÃĥO +Ġt ù +Ġtù y +ãĥĪ ãĥ³ +ĠоÑĤ каз +Ġ×ŀ ×ķצר +ül ü +ãģķãĤĵ ãģ« +Ġ×Ĺ ×ķ×ij +קר ×Ļ×IJ×Ķ +ĠاÙĦØ® دÙħات +ĠÙĦÙħ دة +ر ؤ +رؤ ÙĬØ© +ãĤĴè¦ĭ ãģ¤ãģij +à¸Ł า +Ġréuss i +à¸Ļัà¸ģ à¹Ģรียà¸Ļ +ĠÑĩиÑģ л +à¸ģาร à¹Ģลà¹Īà¸Ļ +Ġhaz ırl +Ġhazırl an +ĠпеÑĢв Ñĭй +ли м +ĠоÑĤзÑĭв Ñĭ +Ġwy jÄħ +ĠwyjÄħ tk +ĠØ£ ÙĤÙĦ +ס ×ļ +Ġê²° ìłķ +Ġ׾×ŀ×¢ ש×Ķ +Ġl ắp +à¹ģà¸ļ ร +à¹ģà¸ļร à¸Ļà¸Ķà¹Į +วà¹Īา à¹Ģà¸Ľà¹ĩà¸Ļ +Ġب دا +Ġبدا ÙĬØ© +ãģ¨ãģĦãģĨ ãģ®ãģĮ +иÑĩеÑģк им +à¸ģาร à¸ŀัà¸Ĵà¸Ļา +Ġb Ãło +Ġmia ÅĤa +y waÄĩ +ĠMär z +ĠÙĨ سبة +Ġéconom ique +×ĸ ×ŀ +×ĸ×ŀ ׳×Ļ×Ŀ +æŃ¢ ãĤģ +Ġt á»§ +íķĺ ìĭł +Ġkażde go +stra ÃŁe +à¸Ĭ ีà¹ī +à¹Ģ à¸ļา +ÑĢеÑģ ÑĥÑĢÑģ +ев ой +Ø´ باب +à¸ķà¹Īาà¸ĩ à¸Ľà¸£à¸°à¹Ģà¸Ĺศ +Ġ×IJ ×Ļש +Ġ×IJ×Ļש ×Ļת +×Ļ ×ķפ +×Ļ×ķפ ×Ļ +ĠìļĶ êµ¬ +ì¡° ìĤ¬ +ãģ£ãģŁ ãĤī +׾ ×Ļ×§ +миниÑģÑĤ ÑĢ +ãĤĤãģ® ãģ¯ +Ġl ương +Ġна и +Ġнаи бол +Ġнаибол ее +íİ ĺ +à¹ģà¸ŀ à¹ī +ãĤŃ ãĥ¥ +ĠкоÑĤоÑĢ Ñĭм +à¹ģà¸Ĺ à¸ĩ +à¹ģà¸Ĺà¸ĩ à¸ļà¸Ńล +Ġ׳ ×Ļ×Ķ +Ġ׳×Ļ×Ķ ×ķ׾ +âĤ ª +ĠGi ải +ĠиÑģполÑĮзов а +ëł¥ ìĿĦ +ãģĹãģĭ ãĤĤ +à¸ģà¹ĩ à¸ķà¹īà¸Ńà¸ĩ +ĠÑĢ ÐµÐ± +ĠÑĢеб ен +ĠÑĢебен ка +ت ÙĪØ§ØµÙĦ +ãĤ°ãĥ« ãĥ¼ãĥĹ +ãĤĦ ãĤī +à¹Ģà¸Ľà¸´à¸Ķ à¸ķัว +б ÑĢо +ë°ĸ ìĹIJ +ÙĨ ÙİØ§ +×Ķ ×Ĵ +×Ķ×Ĵ ׳×Ķ +à¸Ĺ รั +à¸Ĺรั à¸ŀ +à¸Ĺรัà¸ŀ ยà¹Į +Ġkh á»iji +עצ ×ŀ×ķ +бол езн +Ġë°Ľ ìķĦ +ม à¸Ļ +มà¸Ļ ุ +มà¸Ļุ ษ +มà¸Ļุษ ยà¹Į +âĹ Ĩ +×ŀ צ׾×Ļ×Ĺ +Ñıв ление +Ùħ Ø·ÙĦ +ÙħØ·ÙĦ ÙĪØ¨ +Ø® اÙĦÙģ +ت ÙĪÙĤÙģ +ãģ§ãģį ãģ¾ãģĽãĤĵ +оÑģÑĤ ей +м еÑĩа +기 ëĬĶ +תש ×¢ +ص ÙĬب +Ġ×ij×¢ ×ķ×ĵ +à¸Ĥà¸Ńà¸ĩ à¹Ģà¸Ĥา +ÑĤÑı ж +ĠÑĥ пÑĢав +ĠÑĥпÑĢав лениÑı +Ġgén ér +Ġth ÃŃ +פ ×ļ +Ġر Ùħض +ĠرÙħض اÙĨ +Ġtr uyá»ĩn +Ø¥ عداد +ãĤµ ãĥĿãĥ¼ãĥĪ +Ġпол но +Ø® اÙħ +ÐŁ еÑĤ +ÐŁÐµÑĤ еÑĢ +ÐŁÐµÑĤеÑĢ Ð±ÑĥÑĢ +ÐŁÐµÑĤеÑĢбÑĥÑĢ Ð³ +ÙħÙĨت دÙī +ãģķãĤĮ ãģ¾ãģĹãģŁ +ĠëĮĢ íķĺìŬ +à¸ľà¸¹à¹ī à¸Ĺีà¹Ī +Ġ×ŀ×IJ ×ķ +׾ ׳×ĵ +оÑĩ нÑĭе +ĠнаÑĩ ала +Ġ׾ ×Ļ׾×ĵ×Ļ×Ŀ +ов ое +ãģĻãĤĭãģĵãģ¨ ãģ§ +ĠاÙĦÙĨ Ùģ +ĠاÙĦÙĨÙģ Ø· +ìŀĪ ëĬĶ +غ ÙĨÙĬ +פ ×ĵ +ãĤ ¾ +ĠCr é +ãģ© ãģ¡ãĤī +Ø« اÙĨ +ÑĢаб аÑĤ +ÑĢабаÑĤ Ñĭва +Ġê°Ļ ëĭ¤ +à¸Ī ั +à¸Īั à¸ģร +Ġch ụ +Ġchụ p +Ġм аÑģÑĤ +ĠмаÑģÑĤ еÑĢ +Ġn ắm +ĠÑģÑĤ али +Ġ×Ķ×IJ ×Ļר×ķ×¢ +ãĤ½ ãĥ³ +åĪĨ ãģĭãĤĬ +Ø· بع +بد ا +gr áfico +г еÑĢ +à¸Ķำà¹Ģà¸Ļิà¸Ļ à¸ģาร +Ġsal dır +Ġsaldır ı +в ÑĪиÑħ +ãģĭãģ£ãģŁ ãģ§ãģĻ +Ġyapı yor +ĠاÙĦÙģ Øª +צר פת +з доÑĢов +×ij×¢ ׾ +Ġ×IJ ×ŀ×Ļת×Ļ +Ġоб Ñĭ +ĠобÑĭ Ñĩ +ĠобÑĭÑĩ но +Ġ׾ ×ķ×ŀר +ت ÙĥÙĨ +تÙĥÙĨ ÙĪÙĦÙĪØ¬ +تÙĥÙĨÙĪÙĦÙĪØ¬ ÙĬا +Ġhakk ı +ĠÑĢаР² +ĠÑĢав но +رÙĬ Ùĥ +Ġ×ij ×ŀ×Ļ×ĵ +Ġ×ij×ŀ×Ļ×ĵ ×Ķ +à¹ģà¸ģ à¹īว +Ġìĸ ĺ +Ġìĸĺ 기 +ãģĹãģ¦ ãģĦãģ¾ãģĹãģŁ +Ġkı sm +Ġkısm ı +ê± ¸ +åĨħ ãģ® +ì§ ķ +à¹Ģหมืà¸Ńà¸Ļ à¸ģัà¸Ļ +ĠÙģ ÙIJ +ĠÙģÙIJ ÙĬ +ÙĤ اعدة +Ġmoż esz +Ùħ صاÙĦ +ÙħصاÙĦ ØŃ +ãģ¾ãģŁ ãģ¯ +б ег +Ġs ıc +Ġsıc ak +Ñĩ иÑģ +ÑĩиÑģ лен +Ġн ог +ãĥģãĥ£ ãĥ³ +ãĥ« ãĥī +Ġgi ó +Ġs ını +Ġsını f +ив аÑĤÑĮ +Ġqu ên +Ġì łģ +Ġìłģ ìļ© +ĠJo ão +Ùģ Ø§Ø¯ +ĠGl ück +à¸Ĺ à¸Ńà¸Ķ +Ġg ói +ï¼ Ĭ +Ġdé tail +ĠدÙĬ سÙħ +ĠدÙĬسÙħ بر +ë¡ľ ìĦľ +×ŀ ×ķ×Ĺ +à¹Ħ ฮ +ĠоÑĤ д +ĠоÑĤд ÑĭÑħ +Ġkh uyến +à¸Ħ à¸Ńย +Ġج ÙĨÙĬ +ĠجÙĨÙĬ Ùĩ +ĠاÙĦد ÙģØ§Ø¹ +à¸Ļà¹īำ หà¸Ļัà¸ģ +ĠìĤ¬ëŀĮ ëĵ¤ìĿ´ +Ġth ừa +ĠÃ¶ÄŁrenc i +ĠпомоÑī и +ĠczÄĻ ÅĽÄĩ +ש ×ĺר +ĠN hi +ĠNhi á»ģu +׳ צ×Ļ +ĠнаÑĪ ÐµÐ¼ +ĠkarÅŁÄ± laÅŁ +Ġ×Ķש ׳×Ļ×Ŀ +ĠÄIJ ưá»Ŀng +Ġtr ú +ĠÑĢазлиÑĩ нÑĭÑħ +ĠاÙĦØ´ Ùĩر +Ġ×ľ×¢ ×ķ׾×Ŀ +ØŃ جر +ĠÄij á»ķ +ĠìĿĺ íķ´ +à¸ļ à¹Īà¸Ńย +Ġ×Ķ ×Ļ׾×ĵ +ãģ¨ãģª ãģ£ãģŁ +Ġ×Ĺ×ķ ×ķת +Ġש×Ļר×ķת ×Ļ +Äħ cy +س رÙĬ +K İ +פ ׳×ķ +ÑģÑĤÑĢÑĥк ÑĤÑĥÑĢ +ÑĤ ÑĢÑĥд +Ġ×Ķ ×§×¨ +Ġ×Ķקר ×ķ×ij +Ġth áºŃm +èģŀ ãģį +ÙĤÙĪ ÙĬ +клÑİÑĩ ен +ÑĤе Ñħ +ÑĤеÑħ нолог +è¡Į ãģ£ãģŁ +Ġ×ķ×IJ ×Ļף +ĠÅŁek lin +ĠÅŁeklin de +r ô +ÑĢ Ð¾Ð³ +Ġнов Ñĭе +Ġס ×ij×Ļ×ij +Ġtecn ologÃŃa +ס ׼ +×¡×Ľ ×ķ×Ŀ +ĠÅŀ ub +ĠÅŀub at +Ġ×Ķ×ŀ ׾×IJ +Ġwy pos +Ġwypos aż +ãģ¯ ä½ķ +ãĤ¬ ãĥ³ +ê° ĸ +Ġкак ие +Ġçocuk lar +Ġ׾צ ×ĵ +Ġkay ıt +ĠмеÑģÑĤ е +Ùħ دÙĬÙĨØ© +Ġ׼ ×Ĵ +Ġ׼×Ĵ ×ķף +ãģĹãģ¦ ãĤĭ +ĠÙħا ÙĬÙĪ +ãģ£ãģ¦ãģĹãģ¾ ãģ£ãģŁ +ĠпÑĢогÑĢамм Ñĭ +à¹ģล à¸Ļà¸Ķà¹Į +ãĥ¯ ãĤ¤ +ער ×ķ×¥ +Ñģ ид +ĠB öyle +Ġì²ĺ ìĿĮ +Ġת פק×Ļ×ĵ +ĠTr ên +íĥ Ī +ĠÐłÐ¾ÑģÑģ ий +ĠÐłÐ¾ÑģÑģий Ñģкой +Ġs Ãłn +Ġrè gle +ĠyaklaÅŁ ık +à¹Ģล ิà¸ģ +Ġد ائÙħ +Ġ×ķ ×Ĵ +اب ر +Ġb è +ĠاÙĦ ÙĤدÙħ +ĠÑĢеÑĪ ÐµÐ½Ð¸Ñı +hi ên +ÑĤи к +Ä Ħ +à¸ļรร ยาà¸ģ +à¸ļรรยาà¸ģ าศ +רצ ×ķף +åĭķ ãģį +ĠGä ste +Ġ기 본 +ĠÙĬ عرÙģ +ĠS á»Ń +gÅĤ ÄĻb +à¹Ģà¸Ń ส +×IJ×ŀ ×Ļף +Ġп Ñĥнк +ĠпÑĥнк ÑĤ +Ġ×Ļ×ķ×ĵ ×¢×Ļ×Ŀ +ãĤ« ãĥ©ãĥ¼ +Ġ×ijס ×ĵר +Ġbu á»ĵn +й ÑĤ +йÑĤ еÑģÑĮ +ãĤĴ æ±ĤãĤģ +Ġ×IJת ׼×Ŀ +Ġ모 르 +ظ رÙĪÙģ +Ñĩ еÑģÑĤво +ìĸ´ ìĦľ +Ġод на +Ġkap ı +Ġëħ¸ ëł¥ +ĠKü che +ĠاÙĦت Ø´ +Ø· ÙĬب +ĠíĬ¹ íŀĪ +ĠвÑĭп ÑĥÑģ +ĠвÑĭпÑĥÑģ к +×ĵ ת×Ļ +Ġu ÄŁ +ĠuÄŁ ra +ائ Ùĩا +Ġtho át +ãģª ãĤĤãģ® +Ñij ÑĢ +기 ê°Ģ +ĠgeliÅŁ me +تØŃ ÙĤ +تØŃÙĤ ÙĤ +Ġоп аÑģ +б ÑĢоÑģ +ห ุ +หุ à¹īà¸Ļ +ì¼ Ģ +ãĤ¹ ãĥŀ +ãĤ¹ãĥŀ ãĥĽ +Ø£ Ù쨱 +Ø£Ù쨱 اد +ĠTh á»±c +Ġth ắ +ãĥªãĥ³ ãĤ¯ +Ġni á»ģm +ĠHö he +عÙħ ار +ÙĥÙĪØ± ÙĪÙĨ +ÙĥÙĪØ±ÙĪÙĨ ا +ĠÄIJ ến +ĠÑģам ом +ĠÑĤ еле +ĠÄijo án +à¸Ħวามà¸Ħิà¸Ķ à¹Ģหà¹ĩà¸Ļ +Ġд иÑģк +Ø£ Ø·Ù쨧ÙĦ +ม ารà¹Į +à¸Ĺ หาร +à¸Ĺ à¸Ļ +Ġب عÙĬد +ĠاÙĦÙĩ ÙĨد +åĩº ãģĹãģ¦ +Ġkar de +Ġkarde ÅŁ +×Ķ×Ļס×ĺ ×ķר +×Ķ×Ļס×ĺ×ķר ×Ļ×Ķ +éģ¸ ãģ³ +ع اÙħÙĦ +à¸Ĥ ยาย +Ġtü rl +Ġtürl ü +ĠìĿ¼ ìĿ´ +Ġmaté ria +Ġ׼׾ ×ķ×ŀר +ãĥģãĥ£ ãĥ¼ +جÙħ اعة +ĠÑģво им +Ø¥ÙĤ اÙħØ© +ä¾ĭ ãģĪãģ° +س اب +Ø¢ خر +ÙĤ دÙĬر +×IJ×ŀ ×Ļ +ìĸ » +Ġ׳×ķס פת +ĠÐĴ лад +ĠÐĴлад им +ĠÐĴладим иÑĢ +Ġest ará +ãģĵãģĨ ãģĦãģĨ +ãĤĴ 使ç͍ +มา à¸ķร +มาà¸ķร à¸IJาà¸Ļ +ãģ£ãģ ½ +Ġn ú +Ġnú i +ย าà¸ĩ +ĠاÙĦج ÙĨس +Ġüst ün +ëľ » +ãĤ» ãĥ« +ãģ¦ãģĦ ãģįãģ¾ãģĻ +Ġ×Ĺ ×ķ×ĸ +Ġ×Ĺ×ķ×ĸ ר +ĠÐĵ лав +à¹Ĥà¸Ĭ à¸Ħ +íı IJ +ÙĨت ظر +Ġ×Ĵ ×ij×Ļ +ع ÙĤب +int ér +intér êt +×ŀ פ×Ĵ +×ŀפ×Ĵ ש +Ġth ù +اÙģ Øª +Ġ×ŀש פ +Ġ×ŀשפ ×ĺ×Ļ +ĠÙħ ÙĪØ§ÙĤع +è¦ ļ +è¦ļ ãģĪ +×ĵ ×Ļף +à¹Ģรืà¹Īà¸Ńà¸ĩ ราว +ãģ¾ ãģĤ +Ġgh ế +иÑĢÑĥ ÑİÑĤ +à¸ģ ว +à¸ģว à¹īาà¸ĩ +Ġпов еÑĢ +ĠповеÑĢ Ñħ +ĠповеÑĢÑħ ноÑģÑĤ +׳ ×ĵר +Ġкон ÑĨе +Ġдолж на +Ġ×Ļש ×Ļר +acaģı z +ìĹ Ķ +Ġn ÃŃvel +Ġö r +Ġör nek +Ùĥ Ùģ +ĠФедеÑĢ Ð°ÑĨии +Ġ구 ìĦ± +หัว à¹ĥà¸Ī +ĠV áºŃy +м ед +мед и +меди ÑĨин +медиÑĨин Ñģк +از ÙĬ +×Ĵ×ij ×ķ׾ +ÑĦ ÑĢ +Ġzus ätzlich +à¸ģ à¸ģ +ĠاÙĦاÙĤتصاد ÙĬØ© +Ġh è +lu ÄŁun +ج Ùİ +à¹Ħà¸Ł ลà¹Į +ÄIJ T +ãģĿãģ® ä»ĸ +à¸Ĺิ à¹īà¸ĩ +ĠاÙĦØ£ ÙĪ +ر سÙħ +æ°Ĺ ãģ¥ +ìĿ´ ë©° +ÑĮ ев +ص Ø· +ĠاÙĦاست Ø« +ĠاÙĦاستث Ùħار +à¸Ńา à¸Ħาร +ĠÑĤоÑĩ но +ĠV ân +à¸Ń ร +à¸Ńร à¹Īà¸Ńย +ĠاÙĦس ÙĨØ© +Ġc Æ°á»Ľi +×Ļ×Ķ ×Ł +íį ¼ +話 ãģĹ +âĹ ĭ +ĠìķĬ ìĿĢ +ãĥ¡ ãĥ¼ãĤ +ãĥ¡ãĥ¼ãĤ « +ãĥ¡ãĥ¼ãĤ« ãĥ¼ +ĠÑĤеп ло +å½¼ ãĤī +Ġİ z +Ġİz mir +íĻ į +Ġr ượ +Ġrượ u +æĢĿãģĦ åĩº +ĠPh ạm +Ġchá u +צ×Ļ ×ķת +ĠìĿ¼ 본 +ìĤ¬ ëĬĶ +ĠÑģозд ан +Ġar acı +Ġ×¢ ר +Ġער ×Ļ׼×Ķ +ĠíķĺëĤĺëĭĺ ìĿĺ +dzi ÅĤ +à¸Ľà¸£à¸° à¸ĺาà¸Ļ +Ġser ÃŃa +ĠìŀĪ ëıĦë¡Ŀ +در ج +íķľëĭ¤ ëĬĶ +à¸Ńา à¸Ĺ +à¸Ńาà¸Ĺ ิà¸ķ +à¸Ńาà¸Ĺิà¸ķ ยà¹Į +ÑĤелÑĮ нÑĭй +ĠØ® دÙħات +×ŀ׳ ×ĺ +Ġl ược +ĠS Ãłi +ĠÙĪ Ø§Ø¶ +ĠÙĪØ§Ø¶ ØŃ +غ از +ĠdoÄŁ al +Ġ×ijש ×Ŀ +Ġд лин +ĠØ¥ طار +Ġ×ijס פר +ãĤĴ ä¸İ +ãĤĴä¸İ ãģĪ +Ġë²ķ ë¥ł +ĠÑĥ вели +ĠÑĥвели Ñĩи +ส à¹Ħà¸ķ +สà¹Ħà¸ķ ลà¹Į +à¹Ħ à¸ģล +×ij׊ף +ĠìĿ´ íĽĦ +Ġm unic +Ġmunic ÃŃpio +تÙħ Ø«ÙĦ +ĠÄij áo +H ôtel +Ġl á»Ńa +ĠÄij ẳng +Ñĩ ки +Ø´ رÙĪ +شرÙĪ Ø· +ĠìĿ´ 를 +ÙĬ Ùĭا +×ŀ׾ ×ļ +×ŀ×Ķ ×Ļר×ķת +ĠобÑıз аÑĤелÑĮ +ĠобÑıзаÑĤелÑĮ но +é nergie +Ġmud ança +Ġm ụ +Ġmụ n +Ġn º +ĠاÙĦت عا +ĠاÙĦتعا ÙĪÙĨ +ĠاÙĦاجتÙħاع ÙĬØ© +Ġп лаÑģÑĤ +Ġëĵ± ìĿĺ +ãĥIJãĤ¤ ãĤ¯ +Ùĩج ÙĪÙħ +ĠSa úde +Ġì¤ijìļĶ íķľ +Ġ×Ķצ ×Ļ×ij×ķר +תק ף +ĠاÙĦعاÙĦÙħ ÙĬ +ĠболÑĮÑĪ Ð¾Ð¹ +ĠÙĥ ÙĦÙħ +ĠÙĥÙĦÙħ Ø© +ãģ®ãģ§ãģ¯ãģªãģĦ ãģ§ãģĹãĤĩãģĨãģĭ +ĠÙħ باراة +Ġש×IJ ׳ +Ġש×IJ׳ ×Ĺ׳×ķ +ãĤ¹ãĤ¿ ãĤ¤ãĥ« +ĠSa ÄŁ +ĠSaÄŁ lık +Ġh ư +׳ ×Ĺ×Ķ +Ġ×ij קר×ij +Ø· عÙħ +ห ิà¸Ļ +à¸Ĺุà¸ģ วัà¸Ļ +à¸Ħรัà¹īà¸ĩ à¸Ĺีà¹Ī +ĠlÃł nh +Ġdonn é +ãģĽ ãģĦ +جز ÙĬرة +доÑĢ Ð¾Ð¶ +ì¼ ľ +تÙĨظ ÙĬÙģ +ãĥģ ãĥ§ +Ġald ıģı +ج اج +ĠÑĤ омÑĥ +à¸Ľ ิ +Ġ×ijר שת +ãģıãģªãĤĬ ãģ¾ãģĻ +ĠпÑĢин ÑĨип +Ġ׊׾×ķ +ëı ¼ +×ķ×Ĵ ש +س س +à¸Ľ ู +Ġh ầu +æĦŁãģĺ ãĤĭ +ï¼ ´ +د ÙĪØ§ +ĠÑģм ог +scri ção +Ġth áºŃn +Ġר ×ķ×IJ×Ķ +обÑĢаж ен +ĠاÙĦتج ارÙĬØ© +Ø· بÙĬع +jÄħc Äħ +íĸī ìľĦ +Ġнов Ñĭй +Ġ×ŀ ×Ĺ×ĵש +æĮ¯ ãĤĬ +gu é +Ġ×IJ ×Ļר×ķ×¢ +Ġ×IJ×Ļר×ķ×¢ ×Ļ×Ŀ +ĠاÙĦ ذÙĩب +×ĵ ×IJ +ت اÙĨ +ãģł ãģĹ +à¸Ńั à¸ķรา +à¹Ĥ à¸Ī +بÙĦ اد +×Ķ×Ļ ×Ļ׳×ķ +ĠÑģп е +ĠÑģпе ÑĨиалÑĮно +ĠÅĽwi ata +ãĤĵãģ§ãģĻ ãĤĪ +شر ÙĥØ© +ĠpÅĤ yt +Ġsitu é +Ġ׼×IJ ׾×Ķ +ס ×ijר +Ġkaż d +Ġkażd ym +ãĤĴæĮģ ãģ¤ +׾×Ķ ×ľ +׾×Ķ׾ ף +ĠwÅĤ as +ĠwÅĤas ne +ĠsaÄŁ lan +×ŀ×¢ ׾×Ķ +ĠاÙĦا ÙĪÙĦ +ìĹIJìĦľ ëıĦ +×IJ×Ļר ×ķפ×Ķ +تÙĤ ÙĨÙĬØ© +Ùħ ائ +Ùħائ Ø© +Ġcompañ ÃŃa +Ġsü rek +Ġsürek li +ĠиÑģ кÑĥÑģ +ĠиÑģкÑĥÑģ ÑģÑĤв +ĠB ürger +ת ×Ĺר +ת×Ĺר ×ķת +à¸ŀรà¹īà¸Ńม à¸ģัà¸ļ +Ø´ Ùħ +à¸ĸืà¸Ń วà¹Īา +è¾¼ ãĤĢ +ä¼ij ãģ¿ +ĠاÙĦØ£ ب +ĠÑģÑĤоим оÑģÑĤÑĮ +ĠпÑĢав а +may ın +ห วย +ĠاÙĦØ· بÙĬعÙĬ +à¸Ĺีà¹Ī à¸ŀัà¸ģ +ĠEst á +Ñĭва ÑİÑĤ +ب سÙĬ +بسÙĬ Ø· +Ġ×ij×¢ ×ijר +åı¯èĥ½ ãģ§ãģĻ +Ġ×ĵ ×ķ׾ +Ġ×ĵ×ķ׾ ר +Ùĩ ÙİØ§ +воÑĢ Ð¾ÑĤ +ãģ¦ ãģĦãģ¾ãģĹãģŁ +à¹Ĥà¸Ĺร ศ +à¹Ĥà¸Ĺรศ ั +à¹Ĥà¸Ĺรศั à¸ŀ +à¹Ĥà¸Ĺรศัà¸ŀ à¸Ĺà¹Į +Ġ×§ ׳ +ĠاÙĦØ« ÙĨ +ĠاÙĦØ«ÙĨ ائÙĬØ© +Ġco ût +à¸ķิà¸Ķ à¸ķัà¹īà¸ĩ +Ġö rg +Ġörg üt +ĠاÙĦØ® ÙĦÙĬ +ĠاÙĦØ®ÙĦÙĬ ج +Ġb á»įn +×ķ׾×ķ×Ĵ ×Ļ +ëŀ ľ +ĠÐij олÑĮ +ĠÐijолÑĮ ÑĪ +×Ĵ ×ijר×Ļ×Ŀ +ÙĤ ÙĬد +×ij×Ļ×ĺ ×ķ×Ļ +æīĵ ãģ¡ +Ġol muÅŁ +f äh +fäh ig +ล าà¸Ļ +ĠÙĤ طر +ש פ×Ķ +èªŃ ãĤĵãģ§ +à¸Ĥ วา +Ġchi ếm +ãĤ¤ãĥ³ ãĤ¿ +ãĤ¤ãĥ³ãĤ¿ ãĥ¼ãĥ +ãĤ¤ãĥ³ãĤ¿ãĥ¼ãĥ į +ãĤ¤ãĥ³ãĤ¿ãĥ¼ãĥį ãĥĥãĥĪ +Ġ׾ש×ŀ ×ķר +Ġت رÙĥ +ĠترÙĥ ÙĬا +ר ×ķ×ĺ +ã썿ĢĿ ãģĦãģ¾ãģĹãģŁ +ĠاÙĦت ÙĤ +Ġd ư +ãģ¦ãģıãĤĮ ãĤĭ +ãģĹãģŁ ãģĵãģ¨ +Ġróż ne +ĠاÙĦØ· ÙģÙĦ +ĠPost é +Ġ×ŀש ×ķ×Ŀ +Ñį ÑĢ +ĠÑĢабоÑĤ аеÑĤ +ãĤ· ãĥª +ãĤ·ãĥª ãĥ¼ãĤº +Ġ×ij×Ķ ×Ĺ׾×ĺ +×§×Ķ ×Ļ׾×Ķ +ãĤ« ãĥ¡ +ãĤ«ãĥ¡ ãĥ© +ï¼ ¯ +ĠìĤ¬ ìĿ´ +Ġk ì +Ġth Æ°á»Ľc +ض بط +ÙĤب ÙĪÙĦ +åĪ¥ ãģ® +Ġparticul ière +ĠÑģво ем +Ġ×¢ סק +Ġעסק ×Ļ×Ŀ +×ij×Ĺ ×Ļר×ķת +×ij ×Ļ׳×ķ +à¸ĭ à¸Ń +Ġ×¢ ×ķ×ijר +ãģłãģ£ãģŁ ãģ®ãģ§ +ıld ıģı +Ùħ دار +Ùħدار س +주 ìĭľ +à¸Ńา ศ +à¸Ńาศ ัย +Ġt ấm +à¸ŀิ à¸Ī +à¸ŀิà¸Ī าร +à¸ŀิà¸Īาร à¸ĵา +ÑĤелÑĮ нÑĭе +Ñģк ÑĥÑİ +Ðľ Ðĺ +à¹Ģà¸ģ า +à¹Ģà¸ģา หล +à¹Ģà¸ģาหล ี +×ĵ ×Ĺ +à¹Ģà¸Ĭ ิà¸ĩ +Ġد ÙĤÙĬÙĤØ© +íķĻ ìĥĿ +Ġש×IJ ׾×Ķ +Ġcontr ôle +Ġsit uação +à¸Ĥà¸Ńà¸ĩ à¸ľà¸¹à¹ī +ÙĨ Ø·ÙĤ +ê³¼ íķĻ +หลาย à¸Ħà¸Ļ +Ġn ắng +ÙĤ Ùı +ì¡° ê±´ +Ñ ķ +ãĥĥ ãģ¨ +×ŀ ×Ļ׾×Ķ +Gr ün +×Ļ ×Ļ×¢ +×Ļ×Ļ×¢ ×ķ×¥ +×ŀ׳ ׼ +ë ŃIJ +×ŀ×¢ ×ŀ×ĵ +สำ à¸Ļัà¸ģ +ج دد +à¸Ħ ัà¸Ķ +Ġ×Ķ×ŀש פ +Ġ×Ķ×ŀשפ ×Ĺ×Ķ +×ŀש ק׾ +ÙĦ Ùı +Ġty tu +Ġtytu ÅĤ +ÑĪ ÐµÐ¹ +ĠìĿ¼ ë¶Ģ +ÑĪ ÐµÐ½Ð¸Ðµ +Ġph óng +ĠìĹŃ ìĤ¬ +ãĤ« ãĥ³ +Ġtú i +ĠÙĨ ÙĪÙģ +ĠÙĨÙĪÙģ Ùħبر +gr ün +ĠاÙĦØ´ ÙħاÙĦ +ÅĽwi adc +ÅĽwiadc zenie +ער ×Ķ +Ġ×¢ ×ķ×ij +Ġ×¢×ķ×ij ×ĵ×Ļ×Ŀ +×ĵ×ķ×Ĵ ×ŀ×IJ +ä»Ĭ ãģ¯ +Ġv ão +ĠТ ем +Ñģ илÑĮ +Ġch ợ +Ùħ را +Ùħرا ÙĤب +à¹Ħมà¹Ī รูà¹ī +Ġر ائع +×IJ׳ ×Ĺ׳×ķ +สà¹Īà¸ĩ à¹Ģสริม +צ ×Ĺ +ĠìŀĪìĸ´ ìĦľ +Ġkur ulu +Ġkurulu ÅŁ +ĠÃĸ zellik +ĠÃĸzellik le +Ġת ×Ļ×§ +Ġgh é +Ġspr zÄĻ +ĠsprzÄĻ t +ער ×ķת +را ØŃØ© +ãģ£ ãģį +ãģ£ãģį ãĤĬ +ĠìķĦ ëŀĺ +stit uição +Ġдолж но +×Ķ ×¨×© +×Ķרש ×ŀ×Ķ +×Ķ׾ ×ļ +ãģ¡ ãģª +ãģ¡ãģª ãģ¿ +ãģ¡ãģªãģ¿ ãģ« +פ ×Ĺ×ĵ +ĠاÙĦج ÙħÙĬع +×ij×¢ ׾×Ļ +Ġtr ùng +Ġפ ת×Ĺ +×ŀ׾×Ĺ ×ŀת +ãĥĨ ãĥ¼ãĥ +ãĥĨãĥ¼ãĥ ŀ +Ùħ تاب +Ùħتاب عة +Ġ모 ìĬµ +ÙĬ ص +åIJĪ ãģĨ +ĠY ap +ĠYap ı +ĠÑģ казаÑĤÑĮ +ëª ° +à¸Ĺีà¹Ī สำà¸Ħัà¸į +ĠìĹĨ ìĬµëĭĪëĭ¤ +Ġnh ắc +Ġülk eler +Ġмног ие +íķĺ ìħ¨ +มาà¸ģ à¸Ĺีà¹Īสุà¸Ķ +à¸ģ à¹īา +à¸ģà¹īา ว +Ġİ yi +л еж +леж а +ãĤ¸ ãĥ§ +à¸Ĺั à¸ŀ +ا ÙĪØ± +Ġ×Ĺ×ijר ×Ļ +Ġ׾ ש×Ŀ +ì² « +ĠT á»Ń +×ŀ ×ķ׳×Ļ +ÙĤ ÙĪØ¯ +à¸ģระ à¹Ģà¸Ľ +à¸ģระà¹Ģà¸Ľ à¹ĭ +à¸ģระà¹Ģà¸Ľà¹ĭ า +ĠпÑĢоблем Ñĭ +Ġaç ıs +Ġaçıs ından +Ġ×Ķ×ŀ ׼ +ĠÙħع ظÙħ +ÙĤÙĬ اس +ĠпÑĢод олж +ĠпÑĢодолж а +Ġver diÄŁi +ĠпÑĢед меÑĤ +ãģĦãģ¾ãģĻ ãģĮ +ĠëͰ 른 +ĠاÙĦ ÙĤÙĬاÙħ +ĠØ¥ÙĦÙĬ Ùĩا +Т ÐIJ +п оз +ãĤ· ãĥ¥ +ä¸ĬãģĮ ãĤĬ +à¹Ģà¸Ķิม à¸ŀัà¸Ļ +à¸ģุ ล +ØŃر ÙĬØ© +×§×ij×ķצ ×ķת +ë¯ ¿ +ĠاÙĦÙħ ÙĨا +ĠاÙĦÙħÙĨا Ø·ÙĤ +ĠвÑĭп ол +ĠвÑĭпол нÑı +ãĥĭ ãĤ¢ +Ġê²° êµŃ +×Ĺ ×ķ×ŀ +×Ĺ×ķ×ŀ ר×Ļ×Ŀ +ĠУкÑĢа инÑĭ +ห à¸Ńม +ר ×Ļס +ĠÑħоÑĤ ел +ĠобÑĢаз ованиÑı +Ġkh ẳng +Ġm ưa +Ġgör me +Ġgüç lü +سع Ùī +มัà¹Īà¸Ļ à¹ĥà¸Ī +íķĺ ê²łìĬµëĭĪëĭ¤ +Ġпол Ñĥ +Ġfün f +ã썿ĢĿ ãģ£ãģ¦ãģĦãģ¾ãģĻ +Ġê·¸ê²ĥ ìĿĢ +ĠdÃ¼ÅŁÃ¼n ce +ìŀ ł +ĠH Æ°á»Ľng +ĠTi á»ĥu +Ġç ift +ãģij ãģ° +à¸Īà¸Ļ à¸ĸึà¸ĩ +à¸Ĺำ à¹Ħà¸Ķà¹ī +ĠìŀIJ ì²´ +Ġd õ +Ġdõ i +à¸Ī ัà¸Ļ +à¸Īัà¸Ļ à¸Ĺ +à¸Īัà¸Ļà¸Ĺ รà¹Į +ece ÄŁini +׳×ķ×¢ ר +غ ار +ĠاÙĦØ£ÙħرÙĬ ÙĥÙĬ +داع Ø´ +ĠбезопаÑģ ноÑģÑĤи +Ġб Ñİ +ĠбÑİ Ð´Ð¶ +ĠбÑİдж еÑĤ +ãĥĬ ãĤ¤ +à¸ŀà¸ļ วà¹Īา +da ÄŁ +×IJ ×ķפף +íĹ Į +ãĥĢãĤ¤ ãĤ¨ +ãĥĢãĤ¤ãĤ¨ ãĥĥãĥĪ +ĠëĮĢ íĨµ +ĠëĮĢíĨµ ëł¹ +D İ +Ø£ ØŃداث +ĠA ÄŁ +ĠAÄŁ ust +ĠAÄŁust os +ØŃÙĦ ÙĪÙĦ +Ġw ÅĽ +ĠwÅĽ ród +ĠÑģо оÑĤвеÑĤ +ĠÑģооÑĤвеÑĤ ÑģÑĤв +ĠÑģооÑĤвеÑĤÑģÑĤв ии +ĠLu áºŃt +Ġ׼׾ פ×Ļ +Ġв еÑī +ĠвеÑī еÑģÑĤв +×§ ×Ļ×¥ +ĠبÙĩ ذا +عا Ø´ +à¹Ģà¸Ľà¹ĩà¸Ļ à¹Ģรืà¹Īà¸Ńà¸ĩ +Т Ðķ +Ġ×ij×IJ ×Ļ׳×ĺר׳×ĺ +س عد +Ġ×Ķ×ĺ ×Ļפ×ķ׾ +פ ×Ļס +à¸ĩà¹Īาย à¹Ĩ +ĠGer ät +׾ ×Ļ×ĵ×Ķ +ĠÑĢ Ð¸Ñģк +׾ק ×Ĺ +н наÑı +ר ×Ļ×ĵ +п ÑĢакÑĤи +пÑĢакÑĤи к +à¸Ĥัà¹īà¸Ļ à¸ķà¸Ńà¸Ļ +à¸Ļà¹Īา รัà¸ģ +larınız ı +à¸Ńà¸Ļุ à¸įา +à¸Ńà¸Ļุà¸įา à¸ķ +ĠzdjÄĻ cia +Ġb ây +Ñģ ÑĢ +ÑģÑĢ Ð¾Ñĩ +ãĥĭ ãĥ³ãĤ° +Ġö ner +Ġöner i +Ġнов ÑĭÑħ +دع ÙĪØ© +Ġg ắn +ĠاÙĦÙĦ بÙĨ +ĠاÙĦÙĦبÙĨ اÙĨÙĬ +ãĥĨãĤ£ ãĥ¼ +Ġص ØŃÙĬØŃ +ем ÑĭÑħ +çĸ² ãĤĮ +ĠпÑĢо иÑģ +ĠпÑĢоиÑģ ÑħодиÑĤ +ส à¸ķิ +ĠT ết +Ġ×Ķ׾ ׾×ķ +à¹Ģรืà¹Īà¸Ńà¸ĩ à¸Ļีà¹ī +×ŀ×ij ׳×Ķ +Ġconte údo +Ġا خت +Ġاخت ÙĬار +Ùħ سÙĦ +ÙħسÙĦ سÙĦ +ëı Ī +Ġ׾ ×Ļ×ĵ +à¸ŀิ à¸ĺี +ĠÑģов Ñģ +ĠÑģовÑģ ем +ãģĮãģĤãĤĬ ãģ¾ãģĹãģŁ +Ġsó ng +Ø¥ صÙĦاØŃ +ë§ ģ +Ùģ ÙĬر +ĠJe żeli +ìłľ ëıĦ +d ÅĤug +ìĥģ ìĿĦ +Ġc áºŃn +Ġhá»į p +Ø£ ست +أست اذ +Ġ×ŀ ×Ļש×Ķ +Ġ×ŀ×Ļש×Ķ ×ķ +Ġd Ãły +Ġch Ãłng +ãģ¡ãĤĥãĤĵ ãģ¨ +ĠÄij ám +Ġsw ój +Ġpoder á +ĠоÑĤлиÑĩ а +Ġpéri ode +ünd ig +×ĺ×¢ ף +ÑģÑĤÑĢо иÑĤелÑĮ +ר ת×Ļ +Ġ×Ļ×Ķ ×Ļ×ķ +׾ ס +ĠاÙĦÙħÙĨ زÙĦ +à¸Ļิ à¹īว +иÑĦ ика +иÑĦика ÑĨи +ðŁĺ ī +Ġad ına +ãĢĤãĢĤ ãĢĤ +×IJ ×Ļף +ס ×Ļר +ĠÙĬ عد +çŃĶ ãģĪ +اÙĦ جز +اÙĦجز ائر +енÑĮ к +ร ห +รห ัส +ĠTürk çe +ê¾ ¸ +Ġ×Ļ ×ķ׼׾ +Ġש ×ķ׳×Ķ +Ġ×ij×ŀ צ×ij +ĠдейÑģÑĤв иÑĤелÑĮно +ĠبأÙĨ Ùĩ +×ŀ×§ ×ĵ +Ġ×Ķש ×§ +Ø®ÙĬ ارات +Ġf ı +Ġfı rs +Ġfırs at +ëij ĺ +ĠìĦľ ìļ¸ +Ġ×Ķ×Ĵ ×ķ×£ +ر عا +رعا ÙĬØ© +ĠK ết +к Ñģи +ĠÑĥÑģлÑĥг и +ноÑģÑĤ ей +ìļ´ ëıĻ +ĠобÑĬ Ñı +ĠобÑĬÑı вл +н еж +×Ķפ ×ļ +Ġ×ij×¢ ×Ļ׳×Ļ +ëĨ Ĵ +ĠпÑĢоÑĨ ед +ĠпÑĢоÑĨед ÑĥÑĢ +Ġiht iy +Ġihtiy acı +Ġë°Ķ ëŀį +Ġë°Ķëŀį ëĭĪëĭ¤ +à¸ģล ัว +ĠÑģл ожно +×§×Ļ ×Ļ×ŀת +ĠÄIJ ình +ĠÙħ ÙĦÙģ +Ġà¹Ĥà¸Ķย มี +Ġkat kı +تØŃ ÙĪÙĬÙĦ +à¹Ħ à¸ŀ +ĠH á»į +ñ e +Ġдо Ñħод +Ġtho ải +íķĺìŬ ìķ¼ +ãĤ¹ãĥĿ ãĥ¼ãĥ +ãĤ¹ãĥĿãĥ¼ãĥ Ħ +ĠG òn +Ġk è +Ġkè m +é̲ ãĤģ +ãĤ¹ ãĥ¼ãĥ +ãĤ¹ãĥ¼ãĥ ij +ãĤ¹ãĥ¼ãĥij ãĥ¼ +ĠgiÃł u +ĠØ¥ عادة +Ġ׾ ×ķ×§ +Ġ׾×ķ×§ ×Ĺ +ĠÑħоÑĩ еÑĤ +×ĺ ׾×ķ×ķ +×ĺ׾×ķ×ķ ×Ļ×ĸ +×ĺ׾×ķ×ķ×Ļ×ĸ ×Ļ×Ķ +Ġth uyết +ãģĿãĤĮ ãģ§ +Ġvard ı +à¹Ħร à¹ī +ع بد +ĠRep ública +ãĥ¼ãĤ¿ ãĥ¼ +Ġ×ŀ×IJ ×ķת +à¹Ħà¸Ľ à¹ģลà¹īว +Ġyapıl acak +ãĤ¹ãĤ¿ ãĥ¼ãĥĪ +ãģ» ãģ¼ +Ġko ÅŁ +ĠмаÑĤ еÑĢи +Ġsiè cle +ĠاÙĦÙħ ختÙĦÙģ +ĠاÙĦÙħختÙĦÙģ Ø© +Ġ׾ק ר×IJ +Ġ׾קר×IJ ת +Ġ×Ķפ ×ķ×¢×ľ +Ġt òa +Ġr Æ¡i +åij¨ ãĤĬ +à¸Ŀ à¸Ļ +j ÅĽÄĩ +ĠìķĬ ìĿĦ +اÙĨت ÙĤاÙĦ +ëĸ ł +ив аеÑĤ +ãĥĪ ãĥ« +ĠاÙĦÙģÙĦسطÙĬÙĨ ÙĬØ© +à¸ģลà¹Īาว วà¹Īา +ا Ùĥت +ĠÃĸ l +ĠÑĢе ÑĪи +ĠÑĢеÑĪи л +Ġ׳×ķס פ×ķת +Ġìłķ ì¹ĺ +вл еÑĩен +Ùħر ØŃÙĦØ© +Ġcome ça +Ġy ık +ìĤ ´ +à¸ĺ à¸Ļา +à¸ĺà¸Ļา à¸Ħาร +à¸Ńà¸Ļ า +à¸Ńà¸Ļา à¸Ħ +à¸Ńà¸Ļาà¸Ħ à¸ķ +Ġpeque ña +ä»ķ äºĭãĤĴ +Ġب ذÙĦÙĥ +Ġнов ого +ãģĹãģ¦ ãģĦãģªãģĦ +ĠاÙĦÙħ ÙĬاÙĩ +à¸ģà¹ĩ à¹Ģà¸Ľà¹ĩà¸Ļ +Ġж ÑĥÑĢ +ĠжÑĥÑĢ Ð½Ð°Ð» +в еÑģ +خت ار +Ġ매 ìļ° +ĠM ã +ĠавÑĤомаÑĤ Ñĭ +ضع Ùģ +ĠاÙĦÙģ Ùĥر +ãģ§ãģĻ ãģ®ãģ§ +ãĥ¡ãĥ³ ãĥIJãĥ¼ +Ġк ÑĢÑĥг +ĠاÙĦسÙĦ طة +à¸Ħรัà¹īà¸ĩ à¹ģรà¸ģ +à¸ģระà¸Ĺ รว +à¸ģระà¸Ĺรว à¸ĩ +ÑĨ ов +éķ· ãģĦ +大ãģį ãģĦ +Ġgeç miÅŁ +ìĦ± ìĿ´ +Ġצר ×Ļ׼×Ķ +Ġм оÑī +ĠмоÑī н +Ġ×§ ×Ļש +Ġ×§×Ļש ×ķר×Ļ×Ŀ +ĠNas ıl +г ÑĢан +Ġ×ŀ ×ķצר×Ļ×Ŀ +Ġ×ŀס ×ķ×Ĵ +Ġy ür +Ġyür üt +Ġ׾׊צ×ķ +×ķÖ ¼ +ĠìŀĪ ìĹĪëĭ¤ +Ġter ör +ĠTh ương +ĠÙĪ ÙĬÙħ +ĠÙĪÙĬÙħ ÙĥÙĨ +ج ÙĪÙĨ +ĠÙĪØºÙĬر Ùĩا +×ŀ פ×ķ +×Ĵ×ķר ×ŀ×Ļ×Ŀ +׼×ij ×Ļש +ĠاÙĦÙĦ غ +ĠاÙĦÙĦغ Ø© +شر Ùĥ +ĠاÙĦر اب +ĠاÙĦراب ع +ĠпÑĢ ÐµÐº +ĠпÑĢек ÑĢаÑģ +ĠпÑĢекÑĢаÑģ н +Ġenerg ÃŃa +×§×ĵ ×ŀ×Ļ +ãģıãģª ãģ£ãģŁ +ĠÄij ứ +ĠÄijứ a +Serv i +Servi ço +Ġkald ır +åĥį ãģį +Ġод еж +Ġодеж д +물 ìĿĦ +ãģĿãģĨ ãģ§ +ãģĮãģĤ ãĤĮãģ° +ìĻ ķ +צ×ĵ ×§ +Ġart ır +Ġile ti +Ġileti ÅŁim +ãĤĪãģĨ ãģ§ +ãĥĪ ãĥ¼ +ãĤ¢ ãĥĭ +ãĤ¢ãĥĭ ãĥ¡ +×ĺ×Ļ ×Ļ׾ +ãĥķ ãĥªãĥ¼ +ãĥĿ ãĥ³ +ÐŁÑĢ Ð¾ +Ġع اÙĦÙĬØ© +ĠÃ¶ÄŁ ret +ĠÃ¶ÄŁret men +ĠкаÑĩеÑģÑĤв а +Ġ×Ķ×ĺ ×ij×¢ +Ġзна Ñİ +ãģ¦ ãģıãĤĭ +Ġm ừng +ÙħÙĪ Øª +ש ×ķ×ŀר +×Ĺ׾ ×ij +Ġwzgl ÄĻ +ĠwzglÄĻ du +ë²Ī 째 +Ġtá» ĵ +Ġtá»ĵ n +ãĥ¯ãĥ¼ ãĤ¯ +Ġpo życz +Ġpożycz k +×Ļ ×ķצר×Ļ×Ŀ +Ùĥر Ùħ +Ġг аÑĢ +ĠгаÑĢ Ð°Ð½ +ĠгаÑĢан ÑĤи +ล à¹īาà¸ĩ +Ġìĺģ íĻĶ +×ĺ ×Ļס +Ġth ẻ +ĠìŀĪëĭ¤ ê³ł +اÙĦت ز +اÙĦتز اÙħ +Ġна ÑĪи +is ée +ãģĵãĤĮ ãĤĴ +Ġm ẽ +ض ÙĦ +بÙĪ Øª +Ġ׼ ׼×Ķ +h ợ +ĠاÙĦس ÙĪØ±ÙĬØ© +Ġ×ľ×¢ ×ķ×ŀ +Ġ×ľ×¢×ķ×ŀ ת +ĠbaÅŁ ar +ĠbaÅŁar ılı +е ÑģÑĤÑĮ +à¸Ħร ี +à¸Ħรี ม +ĠìłĦ ì²´ +ĠسÙĬ ÙĥÙĪÙĨ +Ġ×ŀ×ĵ ×ķ×¢ +ĠëķĮ문 ìĿ´ëĭ¤ +Ġc ứng +ger ät +Ġм иÑĢ +ĠмиÑĢ Ðµ +ĠÙĥÙĬÙģ ÙĬØ© +Ġפר ×ĺ×Ļ×Ŀ +Ġgo ÅĽci +иÑĤ еÑģÑĮ +ÑĥÑĪ ÐºÐ¸ +ؤ ÙħÙĨ +Ġ×IJ ׼ף +ĠاÙĦر جÙĦ +Ġl á»įc +à¹Ģรีย à¸ģวà¹Īา +ãģĵãģ® ãĤĪãģĨãģª +ë§Į íģ¼ +Ġп еÑĩ +ÙĪÙĦ ات +ĠÃľ ye +liÄŁ inde +à¸Ħะ à¹ģà¸Ļ +à¸Ħะà¹ģà¸Ļ à¸Ļ +ãĤĭãģĵãģ¨ ãģ¯ +วิ à¹Ģà¸Ħร +วิà¹Ģà¸Ħร าะ +วิà¹Ģà¸Ħราะ หà¹Į +Ġвозмож ноÑģÑĤи +ĠاÙĦÙĨ ساء +ãĥīãĥ© ãĥŀ +Ġgü c +Ġgüc ü +Ġt ưá»Ŀng +Ġacomp aña +ãĤ¤ ãĥ© +×§ צ×ij +ĠY ö +ĠYö net +ĠYönet im +สัม à¸ľ +à¸ªà¸±à¸¡à¸ľ ัส +à¸Ļ าม +ĠÄij ợi +à¹ģหà¹Īà¸ĩ à¸Ĭาà¸ķิ +ãģĿãĤĮ ãģ§ãĤĤ +ät ig +ת ×ķ×Ŀ +ĠbaÅŁ lat +ĠвÑģ ей +ת ×Ļ×§ +ת×Ļ×§ ×ķף +ĠNg ô +ĠGesch ä +ĠGeschä fts +Ø£ Ùħ +Ø£Ùħ راض +à¹Ģà¸Ĺ à¸Ħà¸Ļ +à¹Ģà¸Ĺà¸Ħà¸Ļ ิ +à¹Ģà¸Ĺà¸Ħà¸Ļิ à¸Ħ +Ġм енÑĮ +ĠменÑĮ ÑĪе +Ġöl ç +Ġölç ü +ĠÙĬ جعÙĦ +ĠÄij ỡ +ש ×Ļ׾ +ש×Ļ׾ ×ķ×ij +ĠGr Ã¶ÃŁe +ĠÙĩ اتÙģ +รà¹īาà¸Ļ à¸Ńาหาร +×Ķ׾ ×Ļ׼ +×Ķ׾×Ļ׼ ×Ļ +иÑĢÑĥ ÑİÑī +èĭ¥ ãģĦ +ĠÃĸ zel +ãģĦãģŁ ãĤī +à¸Ħำ à¸ĸาม +Ġzosta ÅĤy +Ġ×Ķס ×Ļפ×ķר +×Ķ ×ķ׾ +×Ķ×ķ׾ ×ļ +à¹Ģà¸Ĭà¹Īà¸Ļ à¸ģัà¸Ļ +à¹Ĥ à¸Ĩ +à¹Ĥà¸Ĩ ษ +à¹Ĥà¸Ĩษ à¸ĵา +×IJר צ×ķת +×Ĵר פ×Ļ +Ġao ût +ĠÙĬ رÙĬد +ت ÙĪØ¬ +تÙĪØ¬ ÙĬÙĩ +ĠÑįÑĤ ап +ãĤ¹ãĤ¿ ãĥ³ +Ġkr ó +Ġkró tk +ãĤĴ使 ãģĨ +ì ·¨ +éĸ¢ ãĤı +à¸Ķà¹īวย à¸Ħวาม +à¸Ļำ à¹Ģสà¸Ļà¸Ń +Ġa yrıca +à¸Ī à¹īาà¸ĩ +ĠÑĦоÑĤ огÑĢаÑĦ +Ġв еÑĩ +ĠвеÑĩ еÑĢ +åĩº ãģĹãģŁ +ĠÐ¥ о +Ġ×ŀ ר×Ĵ×Ļש +à¹ĥหà¹ī à¹Ģà¸Ľà¹ĩà¸Ļ +ãĤĴ 缮 +ãĤĴ缮 æĮĩ +׾ ×ŀ×Ļ×Ŀ +nÄħ ÅĤ +ĠÑģÑĤ анд +ĠÑģÑĤанд аÑĢÑĤ +ĠSü d +ĠT âm +اخت بار +à¹Ģà¸ģ à¸Ńรà¹Į +Ùħس رØŃ +Ġbi á»ĩn +ب Ùı +Ġص اÙĦ +ĠصاÙĦ ØŃ +ĠPh ụ +íľ ´ +ãĥ¬ãĥĵ ãĥ¥ãĥ¼ +Ġbụ ng +Ġrég ime +ĠØ£ Ø´Ùĩر +ĠÑĢабоÑĤ ник +à¸Ŀ ัà¸Ļ +اع تÙħ +اعتÙħ اد +Ġзам еÑĤ +ãģ¾ ãģ£ãģ¦ +Ġch ặt +æĿ¥ ãĤĭ +ĠاÙĦÙĤ ÙĪØ§Øª +ãģ«åħ¥ ãģ£ãģ¦ +تØŃ اÙĦÙģ +Ùħ زÙĬد +ĠÙĬ صÙĦ +ìĹ ¼ +à¹Ģà¸Ĭ à¹ĩ +à¹Ģà¸Ĭà¹ĩ à¸Ħ +Ġk á»ĭ +Ġká»ĭ p +ĠìķĦ ì§ģ +×IJ׳ ×Ĵ +Ġобла ÑģÑĤÑĮ +Ġpomoc Äħ +Ġ×ķ ש׾ +ëĵł ì§Ģ +ĠGi ám +ĠSt ück +Ġchá y +ĠëĤĺ ìĺ¤ +ש ×Ļ×ĺת +×ŀ×ĵ ר +×ŀ×ĵר ×Ļ×ļ +Ġsüre ç +к ва +×ij׾ ×Ļ×Ŀ +×Ķ ×ª×Ļ +×Ķת×Ļ ×Ļ×Ĺס +ÙĤب اÙĦ +Ġס ×ķ×Ĵ +Ġס×ķ×Ĵ ×Ļ +ÑģÑĤ олÑĮ +ä½ķ ãĤĤ +×ĸ׼ ×ķר +è²· ãģĨ +å®ī ãģı +à¸Ħรัà¹īà¸ĩ à¸Ļีà¹ī +kö p +ĠÑģеÑĢ Ð²Ð¸Ñģ +оÑĩ нÑĭÑħ +ê±° ëŀĺ +تأ Ùĥ +تأÙĥ ÙĬد +×ĵ ׾ק +Ġпо Ñĩем +ĠпоÑĩем Ñĥ +пиÑģ аÑĤÑĮ +×ij שר +ĠH Ãłng +ĠT ìm +Ġtr ừ +ãĤ» ãĥĥãĤ¯ãĤ¹ +×ķ׳ ×Ĵ +mız da +п Ñģи +ĠìŀĪ ê¸° +Ġr út +ز اÙĨ +تÙĨ ÙĪØ¹ +ÙħÙĤ ا +ÙħÙĤا ÙĪÙħØ© +Ġ׾צ ×ķר×ļ +Ġ×ij ×Ļר×ķש׾×Ļ×Ŀ +ãĥ´ ãĤ£ +eb ile +ebile ceÄŁi +ãĥ¦ ãĥ¼ãĤ +ãĥ¦ãĥ¼ãĤ ¶ +ãĥ¦ãĥ¼ãĤ¶ ãĥ¼ +ãĤĴä½ľ ãĤĭ +Ñģ меÑĢ +ÑģмеÑĢ ÑĤ +Ġì§ ģ +Ġì§ģ ìłij +ĠÐŁ аÑĢ +ØŃ اض +ØŃاض ر +Ùħ ÙĥاÙģ +ÙħÙĥاÙģ ØŃØ© +ล ิà¸Ļ +ãģ¦ ãģįãģ¦ +ÑĢоÑģ л +ĠÄ°ÅŁ te +ÙĤص ÙĬر +Ġ×ij×Ĵ ×Ļ׾ +Ġ×ŀת ×IJ×Ļ×Ŀ +Ġ×Ķ ×Ĺ×ĵ +Ġ×Ķ×Ĺ×ĵ ש×Ķ +ר ×ķ×¢ +Ġprodukt ów +ĠÙħ صدر +не ÑĨ +ĠاÙĦعÙħÙĦ ات +Ġçık ma +Ġد بÙĬ +×§ ×Ļף +ת ×IJר +ת×IJר ×Ļ×ļ +׳×Ļ ×Ļ×ĵ +صر اع +l ève +צ ×Ļר +à¸Ķ ัà¸Ļ +à¹ĥหà¹ī à¹Ħà¸Ķà¹ī +ãĤ¿ãĤ¤ ãĥł +Ġgi ảng +С ÐŁ +ĠاÙĦÙħ ØŃÙĦ +ĠاÙĦÙħØŃÙĦ ÙĬØ© +ĠT ất +׾ ×ķ×ĺ +h á»ķ +Ġam éric +Ġaméric ain +Ġ×ijש׾ ×ij +Ġ׾×IJ ×ķ×ŀ×Ļ +Ġpe ça +ĠÑĢаз нÑĭÑħ +ãģĦãĤĭ ãģ¨ +ãĥĩ ãĥ³ +ס קר +Ġ×Ķ×ŀ×Ĺ ×Ļר +ãģ¨ãģĦãģĨ ãĤĤãģ® +رت بط +ĠиÑģÑĤ оÑĩ +ĠиÑģÑĤоÑĩ ник +สมัà¸Ħร สมาà¸Ĭิà¸ģ +Ġ à¸Ĺัà¹īà¸ĩ +Ġà¸Ĺัà¹īà¸ĩ à¸Ļีà¹ī +ĠT áºŃp +ãģ£ãģ¦ ãģĦãģĨ +ĠاÙĦÙĪ ØµÙĪÙĦ +Ġdéc ada +Ġо ÑĦоÑĢм +ĠоÑĦоÑĢм лен +สำหรัà¸ļ à¸ģาร +Ġog óln +ãģĨãģ¡ ãģ« +Ġvá rias +ãģĻãģİ ãĤĭ +ÙĪ Ùĩا +à¹Ĥà¸Ľà¸£ à¸Ķ +ĠÐłÐ¾ÑģÑģ иÑı +人 ãĢħ +ãģĹãģ¦ ãģįãģŁ +Ġsı rasında +Ġng ôn +س ÙĨØ© +تÙħ تع +×ŀ׼ ×ij×Ļ +Ġnh ấn +×¢ ×ŀ×Ļ×ĵ +á» ¨ +ж иÑĤÑĮ +ãĤī ãģĽ +gr áf +gráf ica +ĠÙĤ ÙĪÙĦ +ĠÙĤÙĪÙĦ Ùĩ +ëĭ¨ ì²´ +ห à¹īา +หà¹īา ม +使 ãģ£ãģ¦ +ת ×Ļ×ij +ת×Ļ×ij ת +i á»ĥu +à¹ģ à¸Ĭม +à¹ģà¸Ĭม à¸Ľ +à¹ģà¸Ĭà¸¡à¸Ľ à¹Į +Ạ¬ +ĠëĤĺ ëĿ¼ +ĠÙħباشر Ø© +Ġtr Äĥm +سÙĥ ÙĪ +ĠاÙĦذ Ùī +Ġbi ç +Ġbiç im +ت راجع +Ġоб еÑģп +ĠобеÑģп еÑĩ +ĠобеÑģпеÑĩ ива +Ġвозд ÑĥÑħ +Ñĭв аÑĤÑĮ +ÙĦ ØŃÙĤ +ĠMü dü +ĠMüdü rl +ĠMüdürl Ã¼ÄŁÃ¼ +Ġyapt ır +Ġפר ס +Ġפרס ×ķ×Ŀ +Ø· ÙĪØ± +ÑģÑĤв оваÑĤÑĮ +ìŀ¥ ìĿĦ +à¸Ĺีà¹Īà¸Ķี à¸Ĺีà¹Īสุà¸Ķ +à¸Ńั ล +ÑĢ Ñİ +Ùħست ÙĤبÙĦ +Ñģл ÑĥÑĪ +ÑģлÑĥÑĪ Ð° +èªį ãĤģ +Ġ׾ ×Ļ×ŀ +Ġ׾×Ļ×ŀ ×ķ×ĵ×Ļ +ת ש×ķ×ij +תש×ķ×ij ×ķת +ĠgerçekleÅŁtir il +ĠاÙĦ اتÙ쨧ÙĤ +ĠÑĥÑĢов не +ĠÑĤ ÑĢав +Ġ×Ķ×ŀ ×ķף +ØŃÙģ Ø§Ø¸ +ĠÙħ ÙIJ +ĠÙħÙIJ ÙĨ +ĠÙħÙIJÙĨ ÙĴ +Ġdem ás +×ŀ×ķ×ĸ ×Ļ×§×Ķ +ש ×Ļ×Ĺ×Ķ +Ġb ú +алÑĮ нÑĭм +ãĤı ãģŁ +ãĤıãģŁ ãģĹ +ĠاÙĦÙħÙĪ Ø§Ø¯ +ת ׼׳ +×ª×Ľ×ł ×ķף +ãĥŃ ãĥĥãĤ¯ +hi ếu +ĠÑĥ ме +ÙħØŃا ÙĪÙĦØ© +×IJ ×ķשר +Ġкон кÑĥÑĢ +ĠконкÑĥÑĢ Ñģ +Ġ×ŀ ×ij×Ĺ +Ġ×ŀ×ij×Ĺ ×Ļ×ł×ª +Ġan lam +Ġanlam ı +Ġli á»ĩt +Ġв Ñħод +ĠH ình +ĠÙĨ ÙĬ +ĠÙĨÙĬ ÙĪØ² +ãĤ¸ãĥ£ ãĥ¼ +×ij ×Ļ×¥ +ÑĤелÑĮ нÑĭÑħ +à¸Ĺุà¸ģ à¸Ńยà¹Īาà¸ĩ +ĠkiÅŁ inin +Ø£ Ùĥثر +ĠиÑģÑĤоÑĢ Ð¸Ð¸ +Ġë³Ģ íĻĶ +פ׾ ס×ĺ +×¤×ľ×¡×ĺ ×Ļ׳×Ļ +ĠÑģ еÑĤ +ĠÑģеÑĤ и +dıģ ımız +íķĺ ëıĦë¡Ŀ +×Ķ ×¨ +×Ķר ×ij×Ķ +ãģĻãĤĭãģĵãģ¨ ãģ¯ +Ġphi ếu +تØŃ سÙĬÙĨ +ĠÅĽ rod +ĠÅĽrod ow +ĠÅĽrodow isk +ĠÑĢаÑģ Ñħод +بر ÙĬد +Ġر ÙĬ +ĠرÙĬ اÙĦ +Ġ×ķ ׼×ļ +ì§Ģ ìļĶ +׼ ×ŀ×ķ +Ġ×¢×ľ ×Ļ×Ķ×Ŀ +f ÃŃcio +Ġkar arı +tıģ ını +ĠС ов +ĠСов еÑĤ +ãģĬéĩij ãĤĴ +м еждÑĥ +междÑĥ на +междÑĥна ÑĢод +междÑĥнаÑĢод н +Ġm á»Ŀi +ĠاÙĦØ¥ ÙĬر +ĠاÙĦØ¥ÙĬر اÙĨÙĬ +ĠاÙĦرÙĪ Ø³ÙĬ +ص ÙĨد +صÙĨد ÙĪÙĤ +ĠاÙĦØ¥ÙĨ ترÙĨت +Ġt ắm +ĠÑĤак ого +Ġ×ij ׾×ķ×Ĵ +Ġü crets +Ġücrets iz +×Ĺ×ĸ ×Ļר +ìĸ´ ìķ¼ +ĠPh ần +ï¼ ľ +Ġ×ĺ ×ij×¢ +Ġ×ĺ×ij×¢ ×Ļ +×IJ×ŀ ×IJ +اÙĤ ÙĦ +Ġcondi ções +ÙĤات ÙĦ +ĠÑĢезÑĥлÑĮÑĤаÑĤ е +ĠÑģво ими +צ×ij ×Ļ×¢ +gé ni +Ġz es +Ġzes po +Ġzespo ÅĤ +ÑĪ Ð¸Ð² +Ġפר×ĺ×Ļ ×ķת +Ùħست Ø´Ùģ +ÙħستشÙģ Ùī +شر ع +Ġko ÅĽci +Ġ×Ķ×IJ ×Ļ׳×ĺר׳×ĺ +ĠЧ еÑĢ +поÑĩ ÑĤ +Ġactiv ités +çŁ¥ ãģ£ãģ¦ +Ġ×ij ×ĸ×Ķ +Ġyüz den +ãģªãĤĬ ãģ¾ãģĽãĤĵ +Ġíĺ ¹ +Ġíĺ¹ ìĿĢ +Ġ×ŀש ׳×Ķ +ĠÐĴ еÑĢ +Ġ×ij×IJ×ķת ×ķ +éĿ¢ çϽ +éĿ¢çϽ ãģĦ +شر ØŃ +gr ünde +Ùģ Ø´ +Ù쨴 ÙĦ +Ġsé jour +ë´ IJ +Ġr ôle +Ø´ عار +ем Ñĭе +ĠاÙĦج سÙħ +алÑĮ ное +Ġìĥģ íĥľ +ï¼ ¤ +ë¯Ģ ë¡ľ +ĠÙĨ ÙĤØ· +ĠÙĨÙĤØ· Ø© +ãģĿãģĨ ãģł +ãģĻãĤĭ ãģ®ãģĮ +ห ู +Ġnh á»ĭ +Ġeconóm ica +ס×ĺ ×ķ×ĵ +ס×ĺ×ķ×ĵ ׳×ĺ +มี à¹Ĥà¸Ńà¸ģาส +Ġgest ão +รูà¹ī วà¹Īา +Ġlo ạt +ĠاÙĦÙħ Ùı +ĠاÙĦØŃ ÙħÙĦ +ĠاÙĦعÙħÙĦ ÙĬØ© +Ġê²ĥ ëıĦ +ĠÐľÐ¾Ñģк ва +×§×ĺ ×ķר +Ġпод ÑĢоб +ĠподÑĢоб н +Ġl ưng +ت Ù쨳 +تÙ쨳 ÙĬر +ĠاÙĦ بع +ĠاÙĦبع ض +ئ ت +Ðķ ÐĿ +ìŰ 구 +à¹ĥหà¹ī à¸Ħุà¸ĵ +ãģĤãĤĬ ãģ¾ãģĹãģŁ +Ġbir ka +Ġbirka ç +Ġİ sl +Ġİsl am +çĹĽ ãģ¿ +Ġh ảo +Ġм аÑı +ĠiÅŁ çi +ש × +×©× ģ +à¸ģาร à¹Ģมืà¸Ńà¸ĩ +×ķ×Ķ ×¨ +Ġch ó +ëĨ Ģ +Ġyan lı +Ġyanlı ÅŁ +幸 ãģĽ +×IJר×Ĵ ×ķ׳×Ļ +à¸Ńาà¸Ī าร +à¸Ńาà¸Īาร ยà¹Į +ĠинÑĦоÑĢм аÑĨиÑİ +Ðĵ Ðŀ +׳ ×Ĺש +ĠìķĮ ìķĦ +ĠÑħаÑĢакÑĤеÑĢ Ð¸ÑģÑĤ +ĠÑħаÑĢакÑĤеÑĢиÑģÑĤ ик +à¸Ħุà¸ĵ สามารà¸ĸ +è¦ĭ ãģĪãĤĭ +à¸Ĭัà¸Ķ à¹Ģà¸Ī +à¸Ĭัà¸Ķà¹Ģà¸Ī à¸Ļ +ĠdziaÅĤ al +ĠdziaÅĤal noÅĽci +à¹Ĥà¸ŀ สà¸ķà¹Į +ĠÐļ ол +ĠÙģ ÙĩÙĬ +Ġ×ŀ פ׳×Ļ +Ġ×Ķ×§ שר +Ùħر Ùĥ +ÙħرÙĥ ز +Ġho á +Ġа пп +Ġапп аÑĢаÑĤ +Ġp ami +Ġpami ÄĻ +ĠpamiÄĻ ta +Ġç ünkü +×ĵ ×ķף +ãģ¯ ãģĵãģ¡ãĤī +ĠM Ãł +ĠÙĬ ÙĤدÙħ +ĠпÑĢ ÐµÐ· +ĠпÑĢез иденÑĤ +à¸Ńุ à¸ķ +à¸Ńุà¸ķ สา +à¸Ńุà¸ķสา ห +à¸Ńุà¸ķสาห à¸ģรรม +ì§Ģ ìĽIJ +Ġ×IJפשר ×ķת +sch üt +schüt z +ĠTi ên +Ġsay ılı +ĠгÑĢÑĥпп Ñĭ +оÑĩ нÑĭй +Ġ×ľ×¢ ×ŀ×ķ×ĵ +Ġwr zeÅĽ +ĠwrzeÅĽ nia +ĠÄIJ ầu +à¹Ģà¸Ĥà¹īา รà¹Īวม +nız da +Ø®ÙĬ ص +Ġgü nc +Ġgünc el +ĠÙĦÙĩ ذÙĩ +ĠÙĬ عتبر +lé gi +ãĤı ãģĭãĤĭ +Ġr ừng +ظ Ùĩ +ظÙĩ ÙĪØ± +Ġ×ŀ×ij ×Ļף +Ġ기 íĥĢ +åĪĩ ãĤĮ +lan mÄ±ÅŁ +à¸Ĺีà¹Ī มีà¸Ħวาม +Ġh á»ģ +ت ÙĪØ¬Ùĩ +ĠاÙĦØ¥ دارة +Ġú til +ס פ×ķ +à¸Ħวาม รัà¸ģ +à¹Ĥ ฮ +Ġпол иÑĤ +ĠполиÑĤ ик +Ġsat ın +ĠÅŀ imdi +×ŀ ×ķר×Ļ×Ŀ +ìķĺ ëĭ¤ +×Ĺ ×ķ×ķ +×Ĺ×ķ×ķ ×Ļ×Ķ +à¸Ħà¸Ńม à¸ŀิ +à¸Ħà¸Ńมà¸ŀิ ว +à¸Ħà¸Ńมà¸ŀิว à¹Ģà¸ķà¸Ńรà¹Į +Ġا ذا +تخ اذ +ãĤ¨ ãĥ« +Ġpossibilit é +ยืà¸Ļ ยัà¸Ļ +Ġü nivers +Ġünivers ite +ĠاÙĦد ÙĪØ±ÙĬ +ĠìķĬëĬĶ ëĭ¤ +ĠìĦľ ë¡ľ +ØŃ اÙĦ +Ġë ¨ +Ġë¨ ¼ +Ġ먼 ìłĢ +à¸Ĺีà¹Ī à¸ĸูà¸ģ +ì§ ľ +Ġsk óry +лÑĮ ÑĨ +à¹ĥà¸Ĭà¹ī à¹Ģวลา +×ij×§ שת +Ġذ ÙĪ +æĹ¥ ãĢħ +ĠкоÑĤоÑĢ ÑĥÑİ +ĠÑĥÑĢов енÑĮ +ê¹ ¨ +à¹Ħ à¸Ĺ +ãĤµ ãĥĹãĥª +ãĤ¸ ãĥ§ãĥ³ +ãģĻ ãģ¹ãģį +ĠG ór +ãĥĪ ãĤ¤ +ãĥĪãĤ¤ ãĥ¬ +ĠyaÅŁ ama +Ġdá»ĭ p +Ġb ữa +à¸ĭ ุ +Ġöl üm +ãģ£ãģ¦ ãģıãĤĭ +à¸ģาร à¸Ħà¹īา +ש ער +ĠÑĤип а +Ġг еÑĢ +ĠгеÑĢ Ð¾ +רק ×¢ +Ġu waż +Ġuważ a +ש×ŀ ף +Ġhast alık +ãĤıãĤĮ ãĤĭ +ba ÅŁÄ± +Ñĩ ÑĤо +Ġ×ij ×ŀר׼×ĸ +Ġìļ°ë¦¬ ìĿĺ +ĠÙĥاÙĨ ÙĪØ§ +ĠØ£ بر +Ġأبر ÙĬÙĦ +ì¸ µ +à¹Ħà¸Ĥ à¹Ī +ĠÙĪ ÙĦÙĪ +à¸Ĺ ัว +à¸Ĺัว รà¹Į +ĠÙĪØ£ Ùĥد +à¸Ĭ วà¸Ļ +׾ ×ķ×§ +æį ¨ +æį¨ ãģ¦ +Ġİç in +p éri +Ġy al +Ġyal nız +ÑĮÑı н +Ġg ắng +à¸ģà¹ĩ ยัà¸ĩ +ĠУкÑĢа ин +ĠÑģ ами +ĠпÑĢовед ен +à¸ķà¸ģ à¹ģà¸ķà¹Īà¸ĩ +ĠQu ân +é paration +ĠbaÅŁ ında +Ġzn ale +Ġznale ź +Ġznaleź Äĩ +ãĤ± ãĥ¼ +ãĥİ ãĥ¼ +à¸ĸูà¸ģ à¸ķà¹īà¸Ńà¸ĩ +ëª ¸ +Ġëı Į +ĠëıĮ ìķĦ +ĠSch üler +Ġпод гоÑĤов +ĠподгоÑĤов к +ع رÙĪ +عرÙĪ Ø¶ +la ÅŁtır +ĠÑģоÑģÑĤав лÑıеÑĤ +ĠпÑĢоиз вод +ĠпÑĢоизвод ÑģÑĤва +ĠоÑģнов е +ĠØ´ ÙħاÙĦ +à¸ģร ี +ĠgörÃ¼ÅŁ me +оÑĩ ек +Ġ×Ĺ×ijר ×Ļ×Ŀ +ÙħØ® اط +Ùħخاط ر +ï¼ Ń +ר פ×IJ +ĠM ẹ +ยà¸Ńม รัà¸ļ +Ġv ết +Ø® ذ +ĠاÙĦت Ø· +ĠاÙĦتط بÙĬÙĤ +à¸Ļ ึà¸ģ +Ġ×Ķ ×Ľ×ł×¡×ª +ĠогÑĢ Ð°Ð½Ð¸ +ĠогÑĢани Ñĩен +ĠÃĩ alÄ±ÅŁ +ĠاÙĦÙħÙĨت دÙī +à¸Īำà¸Ļวà¸Ļ มาà¸ģ +ĠÑĤоÑĢ ÑĢ +ĠÑĤоÑĢÑĢ ÐµÐ½ÑĤ +ĠìĤ´ ìķĦ +à¸ŀลัà¸ĩ à¸ĩาà¸Ļ +à¸Ĭ ัà¸Ļ +ĠÐIJн дÑĢ +Ġréalis é +×ŀש ×IJ +à¹ģ à¸Ĭ +à¹ģà¸Ĭ รà¹Į +Ġб ог +มา à¹ģลà¹īว +ĠاÙĦÙĨ ار +Ġolmad ıģı +×ĵ ×¢×Ķ +ĠÑĥ веÑĢ +ĠÑĥвеÑĢ ÐµÐ½ +ãĤĭ ãĤĤãģ® +Ø£ د +أد ÙĪØ§Øª +Ġ×Ķ×ĸ ×ķ×Ĵ +Ø¥ عÙĦاÙħ +h á»ı +ĠNä he +ĠÑĤ еÑģÑĤ +Ġ×ŀ ×ķ׼ר +Ġë¬¸ìłľ ê°Ģ +ת ×ķצ×IJ×Ķ +m ó +mó vel +ĠاÙĦتج ارة +Ġмног иÑħ +обÑī а +Ġ×¢ סק×Ļ +ĠEdu cação +×§ ש×Ļ×Ŀ +é tabl +établ issement +Ġд еле +иÑĢÑĥ еÑĤÑģÑı +Ø¢ ثار +Ġ×Ķ×ŀ ר׼×ĸ×Ļ +ãĥIJ ãĥ« +ĠвÑģÑĤÑĢ ÐµÑĩ +ãģĴ ãĤĭ +Ġci Äħ +ĠciÄħ gu +ÙĬ ست +à¸łà¸² ว +à¸łà¸²à¸§ ะ +Ø£ Ùħر +Ġо жи +Ġожи да +Ġ á»§y +ãĥŀ ãĥ« +ر اس +оÑĩ ной +ת ×Ĵ×ķ×ij×ķת +تع رÙĬÙģ +ĠÑģо ÑĨиалÑĮно +ãĤĴ éĸĭ +ĠиÑģÑģлед ова +Ġd ú +Ġdú vida +Ġsk ÅĤ +ĠskÅĤ ada +Ġhä ufig +ĠвÑĭб ÑĢ +ĠвÑĭбÑĢ Ð°ÑĤÑĮ +ãģ®ãģ§ãģ¯ãģªãģĦ ãģĭ +ĠÑģ илÑĮно +ÑĤвеÑĢж ден +ר פ +רפ ×ķ×IJ×Ķ +æĢĿ ãģĦãģ¾ãģĻ +ØŃر ص +ש×ķת ×£ +Ùħس جد +à¹Ĥà¸Ĭ วà¹Į +ем ÑģÑı +в ÑĪие +Ġм л +Ġмл н +Ġ׾×Ķ ×ij×Ļ×IJ +ĠÙĬ تعÙĦÙĤ +à¸ķ ูà¹ī +Ġп ÑĢаз +ĠпÑĢаз д +ĠпÑĢазд ник +Ġн ем +Ġнем ного +Ġs Ãłng +تÙĨ سÙĬ +تÙĨسÙĬ ÙĤ +Ġtá» Ŀ +Ġмед и +ãģ« æĪ +ã쫿Π» +à¸Ħว à¹īา +ãģĭ ãģijãĤĭ +×ij׾ ×ķת +ĠÑįк Ñģп +ĠÑįкÑģп еÑĢÑĤ +Ġдев ÑĥÑĪ +ĠдевÑĥÑĪ Ðº +ĠØŃ ص +ÙĨØ´ Ø£ +ãģĮãģĤãĤĭ ãģ®ãģ§ +Ġت راÙħ +ĠتراÙħ ب +أس ÙĪØ§ÙĤ +Ġ׾פ ׳×ķת +Ġا ï»· +ãģ« ãģı +ãģ«ãģı ãģĦ +ĠØ£ عÙĦÙī +Ġ׾×Ķ ×ŀש×Ļ×ļ +rä u +ש×ŀ ×Ļ×Ŀ +åĪĨ ãģij +ãģĻ ãģ§ +ãģĻãģ§ ãģ« +×Ķ׾ ׼×Ķ +×Ĺ׾ ×Ļ×£ +Ġì ±ħ +Ġì±ħ ìŀĦ +à¹Ģà¸Ī ริ +à¹Ģà¸Īริ à¸į +éģĬ ãģ³ +ج سد +สา à¸ĺ +สาà¸ĺ าร +สาà¸ĺาร à¸ĵ +Ġbas ın +ÑĢаР³ +г ад +Ġho ÅŁ +íķ µ +×ij×Ĺ ×Ļר×Ķ +×ŀס ×ļ +Ġìłľ íĴĪ +تÙħ ÙĪÙĬÙĦ +ĠL ưu +ë¡ľ ë¶ĢíĦ° +Ġп об +Ġпоб ед +ÙħÙĨ ذ +常 ãģ« +ÙĤ س +ĠاÙĦÙħ صدر +ĠÙĪØ§ÙĦ است +Ġkh ắp +ĠاÙĦج اÙĨب +Ġng uyá»ĩn +éĸĵ éģķãģĦ +ĠÑģÑĤ ÑĢа +ĠÑģÑĤÑĢа Ñħ +ĠÑģÑĤÑĢаÑħ ов +รี à¸ļ +Ġx ương +Ġì° ¾ +Ġì°¾ ìķĦ +Ġng ại +г ал +à¸ĭ ีà¹Ī +Ġ×ij פ×Ļ×Ļס×ij×ķ×§ +Ц енÑĤÑĢ +Ġaval iação +Ġeconóm ico +×ĸ ף +ĠÐľ ак +Ġinter és +à¸ģล ิà¹Īà¸Ļ +ÑģÑĤÑĮ Ñİ +ĠÄij ương +å¼· ãģı +ĠKh ách +à¹Ģà¸Ļืà¹īà¸Ń หา +ĠYaz ı +è²· ãģ£ãģ¦ +Ðł Ðķ +à¹Ģà¸ŀิà¹Īม à¸Ĥึà¹īà¸Ļ +สม à¸ļู +สมà¸ļู รà¸ĵà¹Į +Ġм иÑĢов +×Ĵ ׳×Ļ×Ŀ +ĠÄij ức +à¸Ń ารà¹Į +ص اص +ãģĬ ãĤĪ +ãģĬãĤĪ ãģ³ +ÃªÌ ī +ĠاÙĦÙħؤ تÙħر +ĠاÙĦÙħر ØŃÙĦØ© +สà¸Ńà¸ļ à¸ĸาม +Ġà¸Īาà¸ģ à¸Ļัà¹īà¸Ļ +Ġت عد +ãģĿãģ® ãģŁãĤģ +Ġkh áng +à¸Ļ ิà¸Ķ +ãĥĬ ãĥ³ +ëĦ¤ ìļĶ +ĠاÙĦ اØŃت +ĠاÙĦاØŃت ÙĦاÙĦ +ìļ ķ +Ġмод ели +ĠпÑĢоÑĨ енÑĤ +à¸ŀวà¸ģ à¹Ģรา +Ġ×Ķצ ×ĵ +Ġ×Ķצ×ĵ ×ĵ×Ļ×Ŀ +ständ e +׳ ×Ĵר +Ġdot yc +Ġdotyc zÄħ +ĠdotyczÄħ ce +ĠÅĽ wiÄĻt +×ŀר ×Ķ +ãģĻãģĶ ãģĦ +ãĥĩãĤ£ ãĥ³ãĤ° +à¸ģาร สรà¹īาà¸ĩ +ë Ĥ¬ +Ġì°¸ ìŬ +Ñģ Ñħ +ÑģÑħ ем +ÙħÙĪ Ø³ +Ġn ấu +Ġ׾×ŀ×¢ ׾×Ķ +à¹Ģà¸Ľ à¹īา +à¹Ģà¸Ľà¹īา หมาย +Ġmù i +ائ ز +íĽ Ī +×Ĺ×ij ×ķר×Ķ +à¸ľà¸¹à¹ī à¹ĥà¸Ĭà¹ī +Ġpa ź +Ġpaź dzi +Ġpaździ ern +Ġpaździern ika +ลà¸ĩ à¹Ħà¸Ľ +ÙĤ اع +Ġch áºŃm +Ġözellik leri +ĠÄIJ o +ĠÄIJo Ãłn +ж ение +Ġh ẳ +Ġhẳ n +ĠaÅŁ k +ï½ į +ãĥij ãĤ¹ +×Ķ×ķר ×IJ×ķת +ĠÅ » +ĠÅ» y +×ŀ×ĸ ׾ +ĠÑĥ кÑĢа +ĠÑĥкÑĢа ин +à¹Ģà¸Ĭ ิ +à¹Ģà¸Ĭิ à¸į +Ðł Ðĺ +ĠzwiÄħz ku +×Ķ×Ĺ׾×ĺ ת +ãĤĵãģ§ãģĻ ãĤĪãģŃ +ãģ¦ ãģĬãĤĬ +лож иÑĤÑĮ +×ŀ ×ķ׳×Ļ×Ŀ +ฮ ิ +ì° ¬ +ĠاÙĦÙħØ´ ترÙĥ +ĠdÃ¼ÅŁ ük +аг енÑĤ +ĠاÙĦØ£ سبÙĪØ¹ +ĠÙĤ رÙĬب +ин д +инд ив +индив ид +индивид Ñĥ +индивидÑĥ алÑĮн +för der +Ġseç en +Ġseçen ek +Ġét ant +ĠлÑİб им +каз ÑĭваеÑĤ +ว ิà¸Ļ +Ġ×Ķ×ij ×IJ×Ļ×Ŀ +Ġд ов +Ġдов олÑĮ +ĠдоволÑĮ но +×¢×ĵ ×Ļ×£ +Ġok re +Ġokre ÅĽ +ĠokreÅĽ lon +Ġت رÙĬد +à¹Ģมืà¹Īà¸Ń วัà¸Ļà¸Ĺีà¹Ī +ãĤĪ ãģĭãģ£ãģŁ +Cum h +Cumh ur +Cumhur ba +Cumhurba ÅŁ +CumhurbaÅŁ kan +CumhurbaÅŁkan ı +Ġn ợ +à¸ľà¸¹à¹ī à¹Ģลà¹Īà¸Ļ +Ġcompl ète +à¹Ģà¸ŀ ศ +د ÙIJ +Ġdü z +Ġdüz ey +ãģ§ãģĤãĤĭ ãģĵãģ¨ +ext érieur +× ³ +Ġinform ação +ãĤ¯ãĥª ãĥĭãĥĥãĤ¯ +ĠPub li +ĠPubli é +ר ×ķ×ĵ +à¸Ħวาม à¸Ľà¸¥à¸Ńà¸Ķà¸łà¸±à¸¢ +ĠØ£ÙĬ ض +ĠØ£ÙĬض Ùĭا +ت سبب +ãģ¤ ãĤĤãĤĬ +из ма +à¸Ĥึà¹īà¸Ļ à¹Ħà¸Ľ +Ùĥ ÙIJ +ÙĦ ÙĪÙħ +Ġש צר +Ġשצר ×Ļ×ļ +ãģ¯ ãĤĤãģ¡ãĤįãĤĵ +Ġк ан +Ġкан ал +ãģ«ãģª ãģ£ãģ¦ãģĦãģ¾ãģĻ +ĠاÙĦØ£ Ùĥثر +ت اØŃ +ÙĨت Ùĩ +ÙĨتÙĩ اء +ا ÙĪÙĬØ© +ĠBug ün +н Ñģкого +à¸Ķ à¹Īวà¸Ļ +é volution +ãģ£ãģ¦ ãģĦãģ¾ãģĹãģŁ +ãĤ ħ +ĠV ương +à¸łà¸²à¸ŀ ย +à¸łà¸²à¸ŀย à¸Ļ +à¸łà¸²à¸ŀยà¸Ļ à¸ķรà¹Į +Ġ×Ķ ×¦×ľ×Ļ×Ĺ +ĠاÙĦإسÙĦاÙħ ÙĬ +ÙĦÙĬ ب +Ġed ição +ÑģÑĤÑĢ ÐµÐ» +Ġkh úc +ÙĨÙħÙĪ Ø° +ÙĨÙħÙĪØ° ج +׾ צ×Ķ +ÑģÑĤав ил +à¸ĸ า +สรà¹īาà¸ĩ à¸Ħวาม +ãģĦ ãģ£ãģ± +ãģĦãģ£ãģ± ãģĦ +ÑģÑĤав лен +ĠاÙĦ ÙĤدس +Ġng ược +ب Ø® +ส หร +สหร ั +สหรั à¸IJ +ĠØ£ غ +Ġأغ سط +Ġأغسط س +ãģĨ ãģ¾ +ãģĨãģ¾ ãģı +ĠêµŃ ìłľ +ØŃض ار +Ġd ừng +æĬ¼ ãģĹ +ت ÙĪØ§ +تÙĪØ§ جد +ש×ŀ ×Ĺ×Ķ +ãģı ãĤĵ +Ġ×ij×¢ צ +Ġ×ijעצ ×Ŀ +×ŀ ׳×Ļ×ķת +×ķ ×Ļ×ĵ +×ķ×Ļ×ĵ ×IJ×ķ +à¸Ĭ ิà¸ĩ +Ġprac ÄĻ +Ġз аÑĤ +ĠзаÑĤ ем +ĠìŀIJ ìľł +Ġì¤ Ģ +Ġì¤Ģ ë¹Ħ +Ġb áºŃ +ĠbáºŃ c +Ġ×Ķ×ŀ צ×ij +ĠÙĤ ÙĬÙħØ© +à¹Ģà¸Ń à¹Ģà¸Ĭ +à¹Ģà¸Ńà¹Ģà¸Ĭ ีย +Ġperch è +ĠاÙĦع سÙĥر +ĠاÙĦعسÙĥر ÙĬØ© +ج ÙĬب +ëŀ µ +Ùħ Ùĩر +ÙħÙĩر جاÙĨ +Ùħ راÙĥ +ÙħراÙĥ ز +Ġод нако +à¸Ķี à¹Ĩ +Ġצ פ×ķ +Ġkullan ılan +Ġк ино +ãĥĨãĤ£ ãĥ³ãĤ° +ĠGi Ỽi +ت ÙĪØ² +تÙĪØ² ÙĬع +ย ิà¸Ļ +ยิà¸Ļ à¸Ķี +Ġc Åĵur +ĠiÅŁ aret +Ġ×ij×¢ ×ĸר +Ġ×ij×¢×ĸר ת +Ġп аÑĨи +ĠпаÑĨи енÑĤ +ãģ¿ãģŁãģĦ ãģ§ãģĻ +в ез +ли на +од е +Ġ×IJ×ķת ף +dıģ ınız +ĠÐIJ в +ĠÐIJв ÑĤоÑĢ +ï¼ ® +ĠC ần +ĠاÙĦا Ø® +ĠاÙĦاخ بار +Ġê±° ìĿĺ +Ġat enção +Ġgeld iÄŁi +ãĤª ãĤ¹ +ãĤªãĤ¹ ãĤ¹ +ãĤªãĤ¹ãĤ¹ ãĥ¡ +ев Ñĭе +кÑĢÑĭ л +à¹Ģà¸Ĭ ียà¸ĩ +à¹Ģà¸Ĭียà¸ĩ à¹ĥหมà¹Ī +Ġmar ço +ĠاÙĦÙħ ادة +Ġг ол +Ġsprzeda ży +Ġíķ´ ê²° +ĠÐķ го +ê¹ Ģ +Ġ׾ק×ij׾ ת +ĠاÙĦÙģ ÙĨاÙĨ +Ġcomunic ación +à¹Ģสà¹īà¸Ļ à¸Ĺาà¸ĩ +íĺ ¹ +à¸Ĭ ำ +à¸Ĭำ ระ +Ġ׼ ×IJ×ŀ +Ġ׼×IJ×ŀ ×ķר +à¸Ĭ à¹Īาà¸ĩ +ز Ùĩر +Ġklient ów +ива ÑİÑĤ +ан г +׳ ×ļ +Ġg á»įn +Ãľ R +ìĺģ ìĥģ +Ġغ زة +ìĿĮ ìĿĦ +Ġbez po +Ġbezpo ÅĽ +ĠbezpoÅĽ redni +ĠاÙĦÙħ ÙĪØ§ +ĠاÙĦÙħÙĪØ§ Ø·ÙĨ +ĠاÙĦÙħÙĪØ§Ø·ÙĨ ÙĬÙĨ +ãĤĮ ãģ¾ãģĻ +ĠмаÑĤ Ñĩ +×IJ ×ķף +Ġر سÙħÙĬ +ĠÑįк он +ĠÑįкон ом +ĠÑįконом иÑĩеÑģк +ãĥľ ãĥ¼ +Ġд иÑĢ +ĠдиÑĢ ÐµÐºÑĤоÑĢ +ĠÑģк оÑĢо +à¸ļ ำ +à¸ļำ ร +à¸ļำร ุà¸ĩ +ĠÑĦ ÑĥÑĤ +ĠÑĦÑĥÑĤ бол +Ġ×IJ ×Ļ׾ +Ġì¤ij êµŃ +ìľ ¤ +eÄŁ e +à¹Ħ à¸ģà¹Ī +tra î +traî n +ĠÑĤ ÑĢÑĥб +à¹Ģà¸ļ ื +à¹Ģà¸ļื à¹īà¸Ńà¸ĩ +à¹ģม à¸Ļ +ĠتØŃ دÙĬØ« +Ġ׼ עת +ØŃ اسب +lı ÄŁa +×§×Ļ ×Ļ×ŀ×Ļ×Ŀ +оÑģÑĤ ÑĮÑİ +à¸Ŀ ั +à¸Ŀั à¹Īà¸ĩ +Ø´ غÙĦ +ìĽ ¹ +Ġкажд ого +Ġbölüm ü +หà¸Ļ ี +Ġistedi ÄŁi +Ġtr ưng +ãĥ Į +ฮ à¸Ń +Ø£ÙĨ Ø´ +Ø£ÙĨØ´ طة +ĠاÙĦÙħ سÙĬ +ĠاÙĦÙħسÙĬ ØŃ +ลัà¸ģษ à¸ĵà¹Į +Ġn á»Ńa +à¸Ĺีà¹Ī à¸ķà¹īà¸Ńà¸ĩà¸ģาร +ÑĪ ÐµÐº +л Ñij +Ġש ×Ļ×Ķ +Ġש×Ļ×Ķ ×Ļ×Ķ +Ġkhu ôn +ĠÑĤÑĢеб ованиÑı +Ġ×ľ×¢ ×ĸ×ķר +ĠاÙĦع Ùħر +ราà¸Ħา à¸ĸูà¸ģ +ÙĩÙı ÙħÙĴ +ü st +üst ü +Ġден ег +Ġn ạ +à¸Ĥà¸Ļ ม +Ġбл аг +Ġблаг од +Ġблагод аÑĢ +ĠблагодаÑĢ Ñı +Ø¥ سÙĦاÙħ +à¸Ļิ ว +çŁ¥ ãĤīãģªãģĦ +Ø« ÙĤØ© +Ġг олоÑģ +×IJ×ķר ×Ĺ +Ġtr ứng +Ġод ном +ĠkoÅĦ cu +Ġ×ķ רק +Wi ÄĻ +WiÄĻ cej +Ġ×IJ ×Ļ׼×ķת +Ġ×IJ×Ļ׼×ķת ×Ļ +Ñģ оÑģ +Ġje żeli +以ä¸ĭ ãģ® +å°ı ãģķ +å°ıãģķ ãģª +олог ии +Ġоб ÑģлÑĥж +ĠобÑģлÑĥж ива +Ùĥت ابة +Ġê´Ģ ìĭ¬ +×¢ ש×Ļר +Ġaras ındaki +ĠÑĢай она +ÙĪØ§ جب +Ġ×ij×Ĺ×Ļ ×Ļ +íķ´ ì£¼ +Ġg óc +ай л +ĠT ình +æļ® ãĤī +æļ®ãĤī ãģĹ +æĻĤ ãģ«ãģ¯ +ĠгоÑĢод е +Ġ׼×IJ ×Ļ׾ +Ġ׼×IJ×Ļ׾ ×ķ +ĠC á»Ļng +ãģ©ãģĨ ãģĹãģ¦ãĤĤ +×Ĺ ×ķ×£ +تØŃ رÙĥ +ĠÑģлов ам +à¸Īะ à¸Ĭà¹Īวย +ĠاÙĦÙħست ÙĤبÙĦ +ÙĤ ض +ÙĤض ÙĬ +×ijס ×ķפ +×ijס×ķפ ×ķ +iÄĻ Äĩ +ĠY ıl +Ø´ ÙĬØ® +à¸Ħุà¸ĵ à¸Īะ +ש×ŀ ×ķת +Ġت عرض +Ġanál ise +ĠÑģоб иÑĢа +à¹Ģà¸ŀ à¸Ĭ +à¹Ģà¸ŀà¸Ĭ ร +Ġв ели +Ġвели к +สั à¹īà¸Ļ +Ġpop ulação +รà¹Īวม à¸ģัà¸Ļ +×Ĺ ×ŀ +×Ĺ×ŀ ×Ļש×Ļ +ס ×Ļס +åĨħ ãģ§ +Ġsob Äħ +ĠY ay +ĠYay ın +ãĥ¡ ãĥĭãĥ¥ãĥ¼ +ĠпÑĢедоÑģÑĤав лÑı +ãģł ã썿ĢĿãģĨ +Ġê³ł ê°Ŀ +Ġод ним +à¹ĥà¸Ļ à¹Ģรืà¹Īà¸Ńà¸ĩ +Ġs á»ķ +ĠÐĹ Ð´ÐµÑģÑĮ +Ġизмен ениÑı +ĠìĿ¼ ìĿĦ +ãģªãģ® ãģł +клад Ñĭва +ÑĢ Ð¼Ð° +Ġ×ķ×ij ׼׾ +تأ ÙħÙĬÙĨ +ĠпÑĢи ÑıÑĤ +ĠпÑĢиÑıÑĤ н +Ùħ Ùħار +ÙħÙħار سة +ãģ¨ãģª ãģ£ãģ¦ +Ġج ÙħÙĬÙĦ +Ġì§ Ī +Ġì§Ī 문 +Ġquest ão +i é +ié ndo +หà¹īà¸Ńà¸ĩ à¸ŀัà¸ģ +ãĥij ãĥ¼ãĥĪ +ÑĤвеÑĢж да +н Ñģкой +з ал +มุ à¹Īà¸ĩ +á» Ĭ +Ġ×Ķ×IJ×Ĺר ×ķ׳×Ķ +ĠTh ư +주 민 +ĠاÙĦع ب +év én +évén ement +ÙĤÙĪ Ø§Ø¹Ø¯ +د Ùı +ĠìķĬ ìĬµëĭĪëĭ¤ +Ġë³´ 기 +Ġyapıl ması +à¹Ģร าà¸ģ +à¹Ģราà¸ģ à¹ĩ +ØŃ ذر +ÙĤ صر +ãģ¦ãģĹãģ¾ ãģĦãģ¾ãģĹãģŁ +Ġà¹Ģà¸Ľà¹ĩà¸Ļ à¸ķà¹īà¸Ļ +ãģ¨ ãģ« +ãģ¨ãģ« ãģĭ +ãģ¨ãģ«ãģĭ ãģı +н ÑĨе +зв Ñĥк +ãģĹãĤĪãģĨ ãģ¨ +ĠاÙĦصØŃ ÙĬØ© +Ġש×Ķ ×Ļ×ķ +ĠDi ÄŁer +ÙĤÙĦ ÙĤ +ãĤ¸ãĥ£ ãĥ³ +Ġr á»Ŀi +Ġл еÑĩ +ĠлеÑĩ ениÑı +تب اد +تباد ÙĦ +צ פ×Ķ +à¸Ħวาม à¹Ģหà¹ĩà¸Ļ +ĠØ´ ب +Ġشب ÙĥØ© +ר ×Ļ×§ +Ùħ عد +Ùħعد ات +dıģ ında +Ġ×ijש ׳×Ļ×Ŀ +Ġ×Ķ ×Ļשר×IJ׾ +Ġ×Ķ×Ļשר×IJ׾ ×Ļת +Ġsı nav +׳צ ×Ļ×Ĵ +วัà¸ķ à¸ĸุ +ĠاÙĦبر ÙĦÙħ +ĠاÙĦبرÙĦÙħ اÙĨ +t ivitÃł +ãĤĵãģł ãĤįãģĨ +×§×Ļ ×Ļ×ŀ +ÙĦÙĬ Ùĥ +ĠÄij ò +ĠÄijò i +ĠÐĺн ÑĤеÑĢ +ĠÐĺнÑĤеÑĢ Ð½ÐµÑĤ +ãģ«ãģ¨ãģ£ãģ¦ ãģ¯ +ãģ£ ãģĵ +×§ ×ķס +ست ØŃÙĤ +æķĻ ãģĪãģ¦ +ãĥĢ ãĥ¡ +ĠÙħÙĨ زÙĦ +à¹Ģà¸ĭ à¹ĩà¸Ļ +使 ãģĪãĤĭ +è¦ĭ ç©į +è¦ĭç©į ãĤĤãĤĬ +Ø£ Ùģ +Ø£Ùģ Ùĥار +Ġиг ÑĢов +ĠигÑĢов Ñĭе +Ġm ÄĻż +ĠmÄĻż czy +ĠmÄĻżczy zn +ĠاÙĦØŃ ÙĤÙĬÙĤÙĬ +ع بر +׼×ķ׾ ׳×ķ +íĿ ¥ +×ŀ×IJ ×ķ×Ĺר +خت ص +ãĥŀ ãĥŀ +Ġ×IJ×Ĺ ×ķ×ĸ +í ĮĢ +Ġr á»iji +Ġв ÑĤоÑĢ +ĠвÑĤоÑĢ Ð¾Ð¹ +Ġl ẫn +пÑĢ Ð¾Ð¼ +пÑĢом ÑĭÑĪ +пÑĢомÑĭÑĪ Ð»ÐµÐ½ +пÑĢомÑĭÑĪлен н +ĠоÑĤноÑĪ ÐµÐ½Ð¸Ñı +Ġs ứ +Ġм обилÑĮ +ĠмобилÑĮ н +ĠÑįÑĤ омÑĥ +Ġt ạp +ĠìĤ¬ ê±´ +ĠìķĮ 볤 +Ùĥ Ùı +ÙĥÙı ÙħÙĴ +Ġ×§ ×ķר×Ķ +ĠÑĦ иÑĢ +ĠÑĦиÑĢ Ð¼ +Ġsık ıntı +׳ ׼ +׳׼ ×ķף +ÙĪÙĦÙĪØ¬ ÙĬ +ØŃ اÙĨ +Ġlo ạn +Ġ×IJ׾ ×£ +Ġm ắn +abh äng +abhäng ig +ĠÑĥÑĢов нÑı +Ġ׾×ij×ĵ ×ķ×§ +ÙĬ ÙħÙĨ +lay ın +Ġh ải +Ġзав од +ĠìķĦ 주 +สà¸ĸ า +สà¸ĸา à¸ļัà¸Ļ +Ġgüven lik +à¹Ģà¸Ķ à¹Īà¸Ļ +×ij×ĵ ×§ +Ġë Ī +ĠëĪ Ħ +ĠëĪĦ 구 +éĩįè¦ģ ãģª +รà¸Ńà¸ĩ รัà¸ļ +sch lie +schlie ÃŁen +Ġìĸ ¼ +Ġìĸ¼ ë§Ī +Ġìĸ¼ë§Ī ëĤĺ +ÑĤи ки +íķľëĭ¤ ê³ł +ãģłãģ£ãģŁ ãĤī +Ġ×Ķ ×Ļ×ĺ×ij +ãģªãģijãĤĮãģ° ãģªãĤīãģªãģĦ +â Ì +Ã¢Ì £ +Ġph ạt +ak Ä±ÅŁ +ãģ¦ãģĹãģ¾ ãģĦãģ¾ãģĻ +à¹Ģà¸ĭ à¹ĩ +ĠС егоднÑı +Ġinsan ların +Ġdévelop pe +ת פר +תפר ×Ļ×ĺ +اÙĨت شار +ê° ij +Fran çois +Ø£ÙĦ ع +Ø£ÙĦع اب +ãĤĴ è¶ħ +ãĤĴè¶ħ ãģĪ +Ġê°Ļ ìĬµëĭĪëĭ¤ +ãĤ³ ãĥ¬ +ĠмеÑģÑı ÑĨев +íĮ ħ +ĠاÙĦج اÙħعة +ìĿ¸ íĦ° +ìĿ¸íĦ° ëĦ· +×ĵר ×ķש +ĠÙĪØ£ شار +ĠпÑĢав ила +ãģĿãģĵ ãģ« +×Ĺ ×ŀ×ĵ +à¹Ģหà¸ķุ à¸ģารà¸ĵà¹Į +Ġê²½ íĹĺ +ãģ¶ ãĤĬ +׾ ש +׾ש ×ķף +à¹Ģ à¸ĸ +ĠDo ÄŁu +ĠиÑģполÑĮзов ание +Ġçoc uÄŁu +магазин е +ĠÄiji á»ĥn +Ġas lı +Ġaslı nda +Ġdoen ça +Ġس اع +Ġساع ات +ĠиÑģполÑĮзов аниÑı +ר ×ķצ×Ļ×Ŀ +ĠзнаÑĩ иÑĤ +ĠÑĢаР¼ +ĠÑĢам каÑħ +ê±° 리 +Ġп ÑĭÑĤа +ãĥģ ãĥ³ +Ġпо Ñģк +ĠпоÑģк олÑĮ +ĠпоÑģколÑĮ кÑĥ +Ø¥ بر +إبر اÙĩ +إبراÙĩ ÙĬÙħ +ĠÑĤÑĢ ÐµÑħ +ĠGen ç +س ÙĪÙģ +Ġve ÃŃculo +ĠNg ân +ĠоÑĩеÑĢ ÐµÐ´ÑĮ +à¸Ħร ึà¹Īà¸ĩ +×IJ ×ij×Ļ +à¸ķ à¹īม +ãĤĴè¡Į ãģĦ +ĠاÙĦساب ÙĤØ© +на ÑĨи +наÑĨи она +наÑĨиона лÑĮн +Ġgest ión +ت ÙĤد +ĠاÙĦبÙĬ اÙĨ +ĠاÙĦبÙĬاÙĨ ات +ĠاÙĦ اÙĨتخاب +ĠاÙĦاÙĨتخاب ات +à¹Ģà¸Ĭ à¹Īา +×ĵ ×IJ×Ĵ +Ġ׾×Ĵ ×ŀר×Ļ +Ġت ØŃتاج +Ġth ôn +à¸ķ à¹īà¸Ńà¸Ļ +à¸ķà¹īà¸Ńà¸Ļ รัà¸ļ +女 ãģ® +女ãģ® åŃIJ +Ġth ợ +Ø· ØŃÙĨ +ารà¹Į à¸Ķ +ת ×ŀ×Ļ×ĵ +ĠÑģам Ñĭм +Ġìĭľ íĸī +Ø¥ صد +إصد ار +ĠNgh á»ĩ +ìķ ķ +س ئ +سئ ÙĦ +à¸Ń าร +à¸Ńาร ม +à¸Ńารม à¸ĵà¹Į +à¹ģ ฮ +׳×ĺ ׾ +Ġì¢ĭ ìķĦ +×ķ׾ ׾ +Ġ×ij ×Ľ×ª×ij +ãĤ« ãĥ© +צע ×Ļר×Ļ×Ŀ +تعب ÙĬر +Ġ×ŀ קר×Ķ +ĠÑĦак ÑĤоÑĢ +Ġت ÙħاÙħ +ĠتÙħاÙħ ا +ëį ķ +Ġv ưá»Ŀ +Ġvưá»Ŀ n +Ġd Ä±ÅŁÄ± +ãģĦ ãģ¡ +Ġ׾ק ׳×ķת +ĠاÙĦع ÙĦاÙĤات +п Ñĥб +пÑĥб ли +Ø¥ ÙĬÙħ +Ø¥ÙĬÙħ اÙĨ +à¸Ńำ à¸Ļา +à¸Ńำà¸Ļา à¸Ī +åIJ« ãģ¾ãĤĮ +ãĤĭ ãģŁãĤģãģ« +ס ×Ĵ +ס×Ĵ ׳×ķף +تØŃ دÙĬ +Ġaup rès +ĠاÙĦج Ùĩا +ĠاÙĦجÙĩا ز +Ġ×ŀ ת×Ĺת +ен нÑĥÑİ +Ġз им +à¸ģา à¹ģà¸Ł +Ġ×ijת ×ķר +Ġngh è +Ġnghè o +ĠÐĽ Ñİ +ĠÐĽÑİ Ð± +תק צ×Ļ×ij +×ŀ×¢ ש×Ķ +ĠاÙĦبÙĬ ت +צ ×Ļפ +ĠобÑıз ан +ĠM á»Ĺi +ĠТ ÑĥÑĢ +ĠÙĪØ¨ اÙĦت +ĠÙĪØ¨Ø§ÙĦت اÙĦÙĬ +Ġdéc ision +Ġب د +Ġبد أت +Ġc ục +Ġb ask +Ġbask ı +Ġhat ırl +Ġhatırl a +å°ı ãģķãģĦ +Ġgerçek ten +à¸ľ ัà¸ģ +åı¯èĥ½ ãģª +×ŀ×IJ ס +Ġcr ÃŃtica +ĠìĿĺ ìĽIJ +عÙĤ ÙĪØ¯ +×ĺ ׼׳ +×ĺ׼׳ ×ķ׾×ķ×Ĵ×Ļ×Ķ +è¨Ģ ãģĪãģ° +ĠÙĤ ÙĨا +ĠÙĤÙĨا Ø© +ĠìĿ´ê²ĥ ìĿĢ +ت صر +à¸Ł ัà¸Ļ +ĠÑĢе ÑĨеп +ĠÑĢеÑĨеп ÑĤ +ĠبÙĨ Ù쨳 +ÑĢо ÑĪ +ĠмаÑĢ ÑĤа +Ġson ras +Ġsonras ı +×ķ×ij ש +ãĥª ãĤ¹ãĤ¯ +ĠFranç ais +á» ļ +ê° Ķ +Ġ×Ķ×ijר ×Ļת +פ ×Ļצ +פ×Ļצ ×ķ×Ļ +ĠÙĦÙħا ذا +ĠÐļи ев +ĠÑģ мÑĭÑģл +ê¸Ī ìľµ +ãĤ·ãĥ£ ãĥ« +ãĥ© ãĤ¤ãĥĪ +ìĽ ĥ +×ŀ ×Ĺר +ãĨ į +Ġkullan ım +Ġ×IJצ׾ ׳×ķ +Ġt Ãłn +ãĥı ãĥ¼ +ãģ¨ ãģ¨ãĤĤ +ãģ¨ãģ¨ãĤĤ ãģ« +ÑĢ ÐµÐ³ +ÑĢег и +ÑĢеги он +ãģªãģı ãģªãĤĭ +Ġch ảy +Ġج ÙĩØ© +ÅĦsk iej +à¸Ńี à¹Ģม +à¸Ńีà¹Ģม ล +ãģį ãģ£ãģ¨ +ĠìĺĪ ìĤ° +Ġkit abı +Ġedu cação +Ġbul uÅŁ +олог иÑı +Ġкон кÑĢ +ĠконкÑĢ ÐµÑĤ +×Ĵ ×Ļר +ĠпÑĢед лаг +ĠпÑĢедлаг аеÑĤ +ĠY ên +Ġíķľ ë²Ī +Ġ×ŀ ר׼×ĸ×Ļ +à¹Ģà¸Ľà¸´à¸Ķ à¹Ģà¸ľà¸¢ +ÑĤвеÑĢ Ð´ +ĠH á»ĩ +ĠÐĵ ÑĢ +à¸Ŀ à¹īา +×Ķ ×©×§ +×Ķשק ×¢×Ķ +Ġна Ñĥк +ìłIJ ìĿĦ +Ġн елÑĮ +ĠнелÑĮ з +ĠнелÑĮз Ñı +г ин +ĠB öl +ĠBöl ge +Ġв ла +Ġвла ÑģÑĤи +à¹Ģà¸Ļ à¹ĩ +à¹Ģà¸Ļà¹ĩ à¸ķ +ê³ ¨ +Ġö ld +Ġöld ür +׼׳ ×¢ +ĠاÙĦÙĩ ÙĬئة +ت ارÙĬØ® +ĠÐij ÑĢ +ĠÑģ мож +ĠÑģмож еÑĤе +ĠL úc +à¹Ħà¸Ľ à¸ĸึà¸ĩ +ĠBakan ı +Ġerklä rt +ĠÐIJ на +Ġsc ène +åķı ãģĦ +åķıãģĦ åIJĪãĤıãģĽ +ÙħÙĩ ÙĨد +ÙħÙĩÙĨد س +Ġн азвание +ив аниÑı +ãĤĴ å¤īãģĪ +ä»ĺãģį åIJĪ +ãĥij ãĤ½ +ãĥijãĤ½ ãĤ³ãĥ³ +æĺİ ãĤī +æĺİãĤī ãģĭ +à¹Ģà¸Ńà¸ģ สาร +à¹Ģà¸ģิà¸Ļ à¹Ħà¸Ľ +л еп +ãģĹãģŁ ãĤĤãģ® +ĠC âm +ĠCâm ara +×§×ķ׾ ׳×ķ×¢ +Ġ×ij×Ĵ ×Ļף +Ġoc zy +Ġoczy wiÅĽcie +att ivitÃł +ãĥĵ ãĥ¥ãĥ¼ +Ġeduc ación +İ YE +ê¹Į ìļĶ +ãĤ¨ ãĥªãĤ¢ +н еÑģÑĤи +Ġm óg +Ġmóg ÅĤ +Ġ×§×ĺ ׳×Ļ×Ŀ +ĠPr ä +Ġ×ľ×¢ ×ij×ķר +بÙĨ Ùī +з ол +зол оÑĤ +Ġwn ÄĻtr +ĠwnÄĻtr z +Ġconstr ução +รัà¸ļ รà¸Ńà¸ĩ +س جÙĨ +Ġ×§ ×ķ׳ +ס ×Ļפ×ķר +ĠÙħ دÙī +رض Ùī +п лав +ï¼ ¥ +Ġil a +Ġila ç +ãĤĭ ãģ¹ãģį +ĠÙħ ÙĪÙĤÙģ +à¸ģร ุ +à¸ģรุ à¸ĵา +chodzÄħ c +ĠÑĤÑĭ Ñģ +Ðķ вÑĢо +ĠÙĬ ØŃدث +ãĥ¡ ãĤ¤ãĥ³ +ĠاÙĦص ØŃÙĬ +ĠÐĶ Ð°Ð½ +دع اء +ãĤ´ ãĥ¼ãĥ« +ש ×ł×ª×Ļ +×©×ł×ª×Ļ ×Ļ×Ŀ +à¸Ķà¹īวย à¸ģัà¸Ļ +Ġol acaģı +Ġ×ij ×ŀ×Ĺ×Ļר +×Ķ ×§ +×Ķ×§ ×ŀת +ãĥ¢ ãĥİ +ĠçalÄ±ÅŁ tı +Ġjó venes +ãģĦãģı ãĤī +ĠÙħ عدÙĦ +ĠC Å©ng +ĠSeg ún +Ġdönem de +Ġ׾ ×Ļ×ĵ×Ļ +ãģį ãģ¡ +ãģįãģ¡ ãĤĵ +ãģįãģ¡ãĤĵ ãģ¨ +Ù쨱 ÙĨس +Ù쨱ÙĨس ا +åIJij ãģį +Ġcamp aña +ĠÑģам оÑģÑĤоÑı +ĠÑģамоÑģÑĤоÑı ÑĤелÑĮно +á» Ģ +ÙĤ ÙĪØ§ +س ÙĦاØŃ +à¸ģระ à¹ģ +à¸ģระà¹ģ ส +ĠполÑĮз Ñĥ +n qu +nqu ête +รà¹Īวม à¸ģัà¸ļ +ëĬIJ ëĥIJ +à¸Ĺีม à¸Ĭาà¸ķิ +Ġyıll ık +ìĬ ¬ +ĠØ£ صØŃاب +ill é +Ġdó la +Ġdóla res +Ġк ож +Ġкож и +ล à¹īà¸Ń +à¹Ģรีย à¸ļร +à¹Ģรียà¸ļร à¹īà¸Ńย +à¹Ģà¸ŀ ิ +à¹Ģà¸ŀิ à¹Īà¸ĩ +ÑĢиÑĤоÑĢ Ð¸ +Ġí ijľ +Ġíijľ íĺĦ +ĠпеÑĢ ÐµÐ² +ĠпеÑĢев од +פ×Ĵ ×Ļ×¢×Ķ +ĠdeÄŁerlendir me +Ùģ Ø§Ø¦ +ĠвÑĭ год +ınız ı +×ķ׼ ×Ļ×Ĺ +ĠдоÑģÑĤ иг +Ġng Ãłn +æĢĿ ãģ£ãģŁ +ĠÐķ ÑģÑĤÑĮ +ĠاÙĦر غÙħ +ĠzwiÄħz ane +رب Ø· +à¸Ļ ึà¸ĩ +Ġ׾×Ĺ ×ķ×§ +Ġszczeg óln +Ġszczególn ie +Ġبا ستخداÙħ +ĠfÃŃs ico +×¢ ס +עס ×ķ×§ +سÙĦ ÙĪÙĥ +Ġا ØŃد +Ñĩ ÑijÑĤ +×ĸ׼ ×Ķ +Ġl á»ĩnh +ĠÙĪ ØŃت +ĠÙĪØŃØª Ùī +à¸Ħวาม สามารà¸ĸ +à¸Ńยูà¹Ī à¹ģลà¹īว +à¸ģาร à¹Ģà¸Ķิà¸Ļà¸Ĺาà¸ĩ +تخ ذ +צ×Ļ ×ķ×ĵ +ĠاÙĦØ£ س +ĠاÙĦأس ÙĩÙħ +Ġt á»ĩ +ãģ£ãģ¦ ãģĦãģ¦ +สร ุ +สรุ à¸Ľ +Ġком ÑĦ +ĠкомÑĦ оÑĢÑĤ +ìĺ¤ ëĬĶ +ĠÑĢаз в +ĠÑĢазв ива +л анд +h änge +ĠبÙĨ سبة +à¹Ģà¸Ĥ ียว +עצ ×Ŀ +Ġ׾ ×ľ×Ľ×ª +Ñģо ÑĨиалÑĮн +Ġëĭ¤ìĿĮ ê³¼ +Ġרש ×ķ×ŀ +×ŀר ×Ĺ×ij +س ÙĤØ· +Ġalan ı +ĠÄij á»ĩ +é£Łãģ¹ ãĤĭ +à¸Ķ ึà¸ĩ +Ġgegen über +ĠبÙĩ ذÙĩ +à¸ĸืà¸Ń à¹Ģà¸Ľà¹ĩà¸Ļ +ëķ ħ +à¸Ħà¸Ļ à¹Ħà¸Ĺย +ãĤ¢ ãĤ¦ +ãĤ¢ãĤ¦ ãĥĪ +ศ ัà¸ģ +ศัà¸ģ à¸Ķิ +ศัà¸ģà¸Ķิ à¹Į +ÙĤÙĪ Ø§ÙĨ +ÙĤÙĪØ§ÙĨ ÙĬÙĨ +Ġhá»Ļ p +ãģªãģıãģª ãģ£ãģ¦ +Ġ×IJ ×ŀ׳ +Ġ×IJ×ŀ׳ ×Ŀ +à¹Ģà¸ķ ืà¸Ńà¸Ļ +ĠзавиÑģ им +ĠзавиÑģим оÑģÑĤи +ת ×Ļ×IJ +ת×Ļ×IJ ×ķר +å§ĭãĤģ ãģŁ +Ġng á»į +Ġngá»į t +íĴ į +ê³¼ ìŀ¥ +Ġb ại +ãģ§ãģį ãģ¦ +Ġcomeç ar +à¸Ľà¸£ าà¸ģ +à¸Ľà¸£à¸²à¸ģ à¸ı +Ġгод Ñĭ +м еÑģ +ĠاÙĦÙħست ÙĪÙī +ĠÑģам Ñĭе +л леÑĢ +ãģ£ãģ¦ãģĹãģ¾ ãģĦãģ¾ãģĻ +ãģ¨ãģ® ãģĵãģ¨ +bi ó +à¸ģล à¹Īà¸Ńà¸ĩ +ĠاÙĦز ÙĪØ¬ +ãģ«è¡Į ãģ£ãģŁ +à¸Ħà¹Ī à¸Ńà¸Ļ +à¸Ħà¹Īà¸Ńà¸Ļ à¸Ĥà¹īาà¸ĩ +ĠbaÄŁ l +ĠbaÄŁl ant +ĠbaÄŁlant ı +確 ãģĭ +確ãģĭ ãģ« +ãĥľ ãĥ¼ãĥ« +çµĤ ãĤıãĤĬ +ש ×ŀר +à¸Ĺีà¹Ī สามารà¸ĸ +ÙĦ زÙħ +д аеÑĤÑģÑı +รัà¸ļ à¸Ľà¸£à¸° +รัà¸ļà¸Ľà¸£à¸° à¸Ĺาà¸Ļ +å¤ī ãĤıãĤĬ +ï¼ ¢ +ĠìĺĪìĪĺ ëĭĺ +ãĤĪãģĨ ãģ¨ +มัà¸ģ à¸Īะ +ĠH ương +ÙĨ Ù쨰 +×ŀ×ĵ ×ĵ +ĠìĿ¸ ìłķ +Ñħод иÑĤÑĮ +ĠзавиÑģ иÑĤ +×ķ×ĵ ×Ļ×¢ +ãģĵãģ¨ãģĮ ãģĤãĤĬãģ¾ãģĻ +ع راÙĤ +سط ØŃ +à¸ģำ à¹Ħร +ëĵ¤ ëıĦ +×Ļצ ×Ļר×Ķ +ãģĨ ãģĵãģ¨ +ÙĦا ØŃÙĤ +ãģĦ ãĤĮãģ° +ĠиÑģполÑĮз ÑĥÑİÑĤ +ĠB ợi +Ġשק׾ ×Ļ×Ŀ +ÑĨи кл +ÐIJ Ðŀ +Ġ×ijש ׳×Ķ +ÙĨØ´ Ø· +Ġש ×Ļ׳×ķ×Ļ +Ġש×Ļ׳×ķ×Ļ ×Ļ×Ŀ +Ġpobl ación +ĠH ưng +ระ ว +ระว ัà¸ĩ +رÙĬاض Ø© +ر صد +تÙĤ ÙĦÙĬ +تÙĤÙĦÙĬ د +Ġülk em +Ġülkem iz +à¸Ĭ ะ +ãĤ¯ãĥª ãĥ¼ãĥł +èģŀ ãģĦãģŁ +Ġwa ż +Ġważ ne +ê±° ëĵł +ê±°ëĵł ìļĶ +×ŀ×IJ ×ij×§ +×Ĺ×ĵ ש×ķת +ĠW roc +ĠWroc ÅĤaw +ĠKü ltür +s ist +sist ência +×¢×ĸר ×Ķ +Ġg ương +รà¹īาà¸Ļ à¸Ħà¹īา +ĠÙĪØ£ ÙĪØ¶ØŃ +ánd ose +ãĤ· ãĥ¼ãĥ³ +×IJ׳ ר×Ĵ +×IJ׳ר×Ĵ ×Ļ×Ķ +ãģªãģĦ ãģ§ãģĻ +Ġkh á»§ng +Ġ문 ìĦľ +Ġ×ij ×ĵ×ijר +×ĵ ×Ļ×ķ +×ĵ×Ļ×ķ ×ķ×Ĺ +Ġré gl +ÙħÙĪ Ø§Ø¯ +об оÑĢ +обоÑĢ Ð¾ÑĤ +Ġ×Ķ ×ij׾ +Ġ×Ķ×ij׾ ×ķ×Ĵ +ØŃ اÙħ +ĠاÙĦع اص +ĠاÙĦعاص ÙħØ© +пеÑĢ Ð°ÑĤоÑĢ +ت Ø®ÙĦ +تخÙĦ ص +ãģŁãģł ãģĹ +ت سÙħ +à¹Ĥรà¸ĩ à¸ŀ +à¹Ĥรà¸ĩà¸ŀ ยา +à¹Ĥรà¸ĩà¸ŀยา à¸ļาล +ĠY ük +ĠYük sek +Ġש ׳×Ļת +Ġש׳×Ļת ף +liÄŁ e +Ġפ ת +Ġפת ×ķ×Ĺ +Ġbe ÄŁ +ĠbeÄŁ en +Ġ×ŀ ×ķר +Ġ×ŀ×ķר ׼×ij +Ġرس اÙĦØ© +íĨµ ìĭł +Ġaval ia +Ġavalia ções +Ġman h +Ġmanh ã +Ġìķ ŀ +Ġìķŀ ìľ¼ë¡ľ +ÙĤ تر +ÙĤتر ØŃ +à¹Ģà¸ģ ืà¸Ń +à¹Ģà¸ģืà¸Ń à¸ļ +Ġpropos é +Ø£ Ùħا +Ø£Ùħا ÙĥÙĨ +ĠÐŀ Ðŀ +ĠÐŀÐŀ Ðŀ +ÙħÙĤ ار +ÙħÙĤار ÙĨØ© +ëĦ IJ +ãģĦãģŁãģł ãģı +ÙĤ ÙĬÙĦ +Ġна ÑĪиÑħ +ãĤ« ãĥĥãĥĹ +×Ĺ׾ ת +Ġëĭ¤ ë§Į +à¸Ĺัà¹Īว à¹Ĥลà¸ģ +ãĥį ãĤ¿ +ØŃس اس +ãģ«ãģª ãĤĮ +ج ائ +جائ زة +é change +é conom +économ ie +Т Ðĺ +סת ׼׾ +à¸Ĺัà¹īà¸ĩ สà¸Ńà¸ĩ +ĠاÙĦØ® اÙħ +ĠاÙĦخاÙħ س +×§ ×ĺ×¢ +au waż +à¸ľà¸¹à¹ī à¸Ĭาย +à¹ģà¸Ľà¸¥ à¸ģ +åIJĮæĻĤ ãģ« +зн аниÑı +ãģĦãģŁãģł ãģįãģ¾ãģĹãģŁ +Ġ×ŀ×ij ׾×Ļ +à¸Ĥà¸Ń à¹ĥหà¹ī +ĠاÙĦت ربÙĬØ© +Ġdécou vert +Ġżyc iu +apr ès +Ġy ab +Ġyab anc +Ġyabanc ı +ĠbaÅŁ layan +ìĹĪ ëįĺ +Ġhes abı +Ġë§Į ìķ½ +ë§ Īëĭ¤ +ĠTh ánh +ãĥ´ ãĤ¡ +à¸Ľà¸£à¸±à¸ļ à¸Ľà¸£ +à¸Ľà¸£à¸±à¸ļà¸Ľà¸£ ุà¸ĩ +ĠM ặc +à¹Ģหà¸ķุ à¸ľà¸¥ +ĠÐij ез +Ġcapac itÃł +ÅĤe ÅĽ +ĠпÑĢе им +ĠпÑĢеим ÑĥÑīеÑģÑĤв +ĠÅļ wiÄĻt +Ġpubli é +×ŀ×¢ צ×ij +Ùħشار Ùĥات +à¸łà¸² ษ +à¸łà¸²à¸© ี +Ġdeux ième +ĠÙħØŃ اÙ쨏 +ĠÙħØŃاÙ쨏 Ø© +ĠSch ön +ï½ ¤ +Ġ×Ķ ×ij×¢ +Ġ×Ķ×ij×¢ ×Ļ×Ķ +ĠÙĪØ§ÙĦ ÙĦÙĩ +è¨Ģ ãģ£ãģŁ +à¸ķ à¹īาà¸Ļ +วร รà¸ĵ +à¸Ĺิ ศ +ĠbaÅŁ ına +Ġmog ÄĻ +ש ×Ļפ×ķר +ĠÙĪ Ø¹Ø¯ +ĠÙĪØ¹Ø¯ Ùħ +Ġhistó rico +Ġk ısı +ĠìĿ´ ê²Į +ĠPol ÃŃtica +ĠÑģиÑĤÑĥ аÑĨии +ĠkoÅĦ ca +×ij×ĵ ×Ļ×§×Ķ +ĠاÙĦسÙĬ ارات +ãģªãĤī ãģ° +ãĤµ ãĥ© +ãĤĭãģĵãģ¨ãģĮãģ§ãģį ãĤĭ +Ġdecis ão +×ķ ×ķ×ĵ +lä ss +läss ig +Ġ׾ ×Ļשר×IJ׾ +ĠÙĬ أتÙĬ +ר ×ķ×ĸ +ö ÄŁ +Ã¶ÄŁ ret +Ã¶ÄŁret im +Ġд ек +Ġдек аб +Ġдекаб ÑĢÑı +Ġש ×Ĺ×ķר +ãģ¦ãģıãĤĮ ãģŁ +عب ارة +Ġélect rique +ĠاÙĦتÙĨ ÙħÙĬØ© +جر Ùī +ĠìĪĺ íĸī +à¸Ĺ ู +ĠÑĢе алÑĮно +Ñģп оÑģоб +à¸Ħล à¹īาย +Ġس عÙĪØ¯ +ön ü +ĠÙģ ÙħÙĨ +تÙĥ ÙĪ +تÙĥÙĪ ÙĬÙĨ +ĠкаÑĩ еÑģÑĤво +ĠконÑĤ ак +ĠконÑĤак ÑĤ +Ġsöz leÅŁme +à¸Ń à¹īาà¸ĩ +Ġت ÙĪÙģ +ĠتÙĪÙģ ÙĬر +×Ķ×ĸ ×ĵ +×Ķ×ĸ×ĵ ×ŀ׳×ķת +ĠØ·ÙĪÙĬÙĦ Ø© +Ġtér mino +Ġ×IJ ×Ļפ×Ķ +ãĥĵ ãĥ« +ส à¹Ĥม +สà¹Ĥม สร +ĠاÙĦ اث +ĠاÙĦاث ÙĨÙĬÙĨ +ев иÑĩ +Ġopin ión +à¸Ľ วà¸Ķ +åı¤ ãģĦ +ร à¹Īา +ĠB iaÅĤ +ĠÑģÑĤ ал +ĠÑģÑĤал о +ó logo +ĠìķĦ ëĭĪëĭ¤ +Ġ×IJ ×Ļת +Ġ×IJ×Ļת ×ķ +à¹Ģหà¹ĩà¸Ļ วà¹Īา +à¸ļ ารà¹Į +çĦ ¼ +çĦ¼ ãģį +ĠìĿ´ìļ© ìŀIJ +ĠнекоÑĤоÑĢ Ñĭе +ks z +ksz taÅĤ +ksztaÅĤ c +ãĤŃãĥ£ ãĥĥãĤ· +ãĤŃãĥ£ãĥĥãĤ· ãĥ³ãĤ° +Ġro ÅĽ +ĠroÅĽ lin +ÑĢаж а +×ij׳×Ļ ×Ļ×Ķ +à¸Ľà¸£ สิ +à¸Ľà¸£à¸ªà¸´ à¸ķ +Ġgörd ü +×ŀ׳×Ķ ×Ļ×Ĵ +å¤īãĤı ãģ£ãģ¦ +Ġ×IJ ×Ķ +Ġ×IJ×Ķ ×ijת×Ļ +à¹Ģร à¹Īà¸ĩ +Ġön ünde +Ġê·¸ ëĥ¥ +пол иÑĤ +полиÑĤ иÑĩеÑģк +ãĥ¡ ãĥĩãĤ£ +ãĥ¡ãĥĩãĤ£ ãĤ¢ +ĠDet ay +ĠDetay lı +ĠاÙĦصÙģ ØŃØ© +à¸ģาร à¹Ģà¸ĩิà¸Ļ +Ġìµľ ê·¼ +׼ ש׾ +ï¼ © +вÑĪ ÐµÐ³Ð¾ +íķĺ ìĭ¤ +ĠÐŃ ÑĤ +ĠÐŃÑĤ оÑĤ +ส ื +สื à¸ļ +Ġng ừng +ĠдокÑĥменÑĤ ов +дав аÑĤÑĮ +ĠاÙĦشخص ÙĬØ© +Ġצ ×¢×Ļר +در Ùĥ +س ØŃب +à¹Ħมà¹Ī à¸Ħà¹Īà¸Ńย +Ġ×Ķ×ŀ×§ ×ķ×ŀ×Ļ +สัà¹Īà¸ĩ à¸ĭืà¹īà¸Ń +Ġê·¸ê²ĥ ìĿĦ +ãģĤãĤĭ ãģĦ +ãģĤãĤĭãģĦ ãģ¯ +×IJ×ķ×ĺ ×ķ×ij +×IJ×ķ×ĺ×ķ×ij ×ķס +к ÑĨион +ĠÐľ ожно +ãģı ãģł +ãģıãģł ãģķ +ĠинÑĦоÑĢм аÑĨиÑı +ï» Ł +Ġìŀij ìĹħ +Ġ×Ļ ×ķסף +Ø¥ دارة +ĠاÙĦØŃ اج +×ł×¡ ×Ļ×¢×Ķ +из аÑĨиÑı +×IJ׾ ×ij +×IJ׾×ij ×ķ×Ŀ +п ед +Ġ×§×ĺ ׳×Ķ +ĠÙĨÙ쨳 Ùĩا +ĠMinist ério +Ġп ен +Ġпен Ñģи +ãĥIJ ãĥ©ãĥ³ãĤ¹ +Ġ×Ķת ×ķר×Ķ +Ġt ạm +ĠìĹŃ ìĭľ +ï½ ¡ +Ġth á»± +Ġ ısı +ì» ¨ +ãģĹãģ£ãģĭãĤĬ ãģ¨ +Ġx ưa +Ġc ặp +×Ĺ ×Ļ×ij×ķר +วัà¸Ĵà¸Ļ à¸ĺรรม +st är +stär ke +ĠÑģам Ñĭй +p isa +pisa Äĩ +ĠoluÅŁ an +ĠاÙĦØ¥ ÙħاÙħ +ĠcÄĥ ng +Ġgü nl +Ġgünl ük +Ġ׳ש ×IJר +Ġkhi á»ĥn +ç¶ļ ãģijãĤĭ +stit ución +Ġcapac ité +Ġj aki +Ġjaki ÅĽ +вÑĪ Ð¸Ñģ +вÑĪиÑģ ÑĮ +פע×ķ׾ ×ķת +ĠØŃ ÙĬات +ĠØŃÙĬات Ùĩ +Ġник огда +ÐĽ Ь +Ġ×Ķ×¢ ×ķ×ij +Ġ×Ķ×¢×ķ×ij ×ĵ×Ķ +Ġch Ãło +หลาย à¹Ĩ +ĠÑı н +ĠÑıн ваÑĢ +ĠÑıнваÑĢ Ñı +à¸Īำà¹Ģà¸Ľà¹ĩà¸Ļ à¸ķà¹īà¸Ńà¸ĩ +Ġhö her +ãģķãĤĮãģ¦ ãģĦãģŁ +สà¸ĩ สั +สà¸ĩสั ย +ĠاÙĦ اس +ĠاÙĦاس ÙĦاÙħ +ĠاÙĦØ´ Ùħس +สà¸ĸาà¸Ļ ี +ãĤ¯ãĥ© ãĤ¹ +à¸ŀร ร +à¸ŀรร à¸Ħ +p õ +põ e +Ġpor ém +à¸Ľà¸£à¸° สà¸ĩ +à¸Ľà¸£à¸°à¸ªà¸ĩ à¸Ħà¹Į +powied zie +powiedzie Äĩ +Ġмог Ñĥ +Ġж ел +Ġжел ез +ĠاÙĦØ« ÙĤ +ĠاÙĦØ«ÙĤ اÙģÙĬ +ĠпÑĢав ило +Ġgdy ż +פש ×ķ×ĺ +ÑĢабоÑĤ ка +ĠÙĥ رة +Ø´ دد +Ùħار Ùĥ +Ùħ ÙĥØ© +Ġпод пиÑģ +×ĺ×ķ ×ķ×Ĺ +ĠÅĽ c +ĠÅĽc ian +Ġر جاÙĦ +Ġ×ª×ľ ×ķ×Ļ +и ÑĪ +иÑĪ ÑĮ +Ġmé dec +Ġmédec in +ëįĶ ëĿ¼ëıĦ +ĠÑĤеб Ñı +Ġ׾×Ķ ×ķס×Ļ×£ +ãģĬ 話 +Ġà¹ģà¸ķà¹Ī à¸ģà¹ĩ +د اÙģ +داÙģ Ø¹ +ĠC ùng +ãĥ»ãĥ» ãĥ»ãĥ» +ê¶ ģ +Ġdeber ÃŃa +หà¸Ļà¹Īวย à¸ĩาà¸Ļ +Ġva ÌĢ +Ġעצ ×ŀ +Ġעצ×ŀ ×Ŀ +à¹Ģà¸Ĭืà¹Īà¸Ń วà¹Īา +שק ×¢ +Ġ×Ķ ×Ľ×ķ׾ +Ġ×Ķ׼×ķ׾ ׾ +ни бÑĥд +нибÑĥд ÑĮ +ĠëĦĪ íĿ¬ +Ġоб ÑĢаÑī +ĠобÑĢаÑī а +Ġ×¢×ij×ķ×ĵ ת +ĠاÙĦÙħÙĨت خب +ıy ord +ıyord u +ÙĪ Ø° +×Ĺש ×Ļ×ij×ķת +Ġ×Ķ×¢ ×Ļ×§ +Ġ×Ķ×¢×Ļ×§ ר×Ļ +ì¢ Į +ยุ à¹Ĥร +ยุà¹Ĥร à¸Ľ +Ġа пÑĢ +ĠапÑĢ ÐµÐ»Ñı +sz ed +szed ÅĤ +д он +à¹Ģà¸ķิ à¸ļ +à¹Ģà¸ķิà¸ļ à¹Ĥà¸ķ +кол о +Ġkażde j +å¸ ° +帰 ãĤĬ +Ġмил ли +Ġмилли он +ç¾İåij³ ãģĹãģĦ +ت ÙĤار +تÙĤار ÙĬر +ĠìĿ´ 루 +ĠìĿ´ë£¨ ìĸ´ +Ġsprzeda ż +×Ķ ×ķצ×IJ×ķת +ãĤ¢ãĤ¯ ãĤ» +ãĤ¢ãĤ¯ãĤ» ãĤ¹ +ר ×ķ×¥ +ĠгоÑģÑĥдаÑĢÑģÑĤв енн +Ø£ ØŃÙĥ +Ø£ØŃÙĥ اÙħ +ĠoluÅŁ u +ĠA ç +ĠAç ık +ãĤ¸ ãĥ¼ +ç´ł æĻ´ +ç´łæĻ´ ãĤīãģĹãģĦ +Ġ×ijש×ij ×ķ×¢ +ب ذ +بذ ÙĦ +สา à¹Ģหà¸ķุ +Ġpoz osta +Ġpozosta ÅĤ +ØŃر Ùħ +Ġimport ância +leÅŁtir me +Ġд ÑĢев +Ġmó vil +ĠA ynı +Ġна лог +Ġналог ов +Ġ×Ĺ ×Ļפ×Ķ +ĠÑĦоÑĢм Ñĥ +à¸Ĺà¸Ķ สà¸Ńà¸ļ +ĠksiÄħż ki +Ġma ÅĤe +Ùħس Ø£ÙĦ +ÙħسأÙĦ Ø© +ï¼¾ ï¼¾ +ç ãeste +év iter +Ġкон ÑģÑĤÑĢÑĥк +ĠконÑģÑĤÑĢÑĥк ÑĨи +ï¾ ŀ +Ġת×ķ׼ ׳ +ãĤ¹ãĥĪ ãĥ¬ãĤ¹ +ĠاÙĦاÙĤتصاد ÙĬ +×ŀ×ĵ ×Ļ +Ġw ÅĤad +ĠwÅĤad z +Ø® ÙĪÙģ +ĠмаÑĤеÑĢиал ов +ãģ¨ãģ£ãģ¦ ãĤĤ +Ġznaj du +Ġznajdu jÄħ +Ùģ Ø¦Ø© +ãģ©ãģ® ãĤĪãģĨãģª +æĬij ãģĪ +׳ ×Ĺ׾ +Ġdü ny +Ġdüny an +Ġdünyan ın +гÑĢ Ð°Ð½Ð¸ +гÑĢани Ñĩ +Ġ×Ķש׾ ×Ļש×Ļ +Ġ×Ķ×IJ ש +åıĬ ãģ³ +ìĭŃ ìĭľ +ìĭŃìĭľ ìĺ¤ +Ġдол л +Ġдолл аÑĢ +Ġпов ÑĤоÑĢ +Ġ×Ĺ ×Ļ׳×Ŀ +ת פת×Ĺ +Ñĥв ели +Ñĥвели Ñĩен +ãĤ« ãĥª +raw id +rawid ÅĤow +×ķ ×ķ׾ +ãĥŁ ãĥ¥ +ì½ ĺ +ĠBy ÅĤ +Ðľ ÐIJ +ع ÙIJ +ĠÑģовеÑĢ ÑĪ +ĠÑģовеÑĢÑĪ ÐµÐ½Ð½Ð¾ +Ġм ой +Ġ×ķ׾×IJ ×Ĺר +æħ £ +æħ£ ãĤĮ +ØŃ اÙ쨏 +Ġ무 ë£Į +à¸Ħà¸ĵะ à¸ģรรม +à¸Ħà¸ĵะà¸ģรรม à¸ģาร +Ġìĸ´ ëĶĶ +Ġdif eren +Ġdiferen ça +ĠاÙĦØ£ ساس +ĠاÙĦأساس ÙĬØ© +Ġ׾×IJ×Ĺר ×ķ׳×Ķ +ê· ł +Ġ×Ķש׳×Ļ ×Ļ×Ķ +ìľĦìĽIJ ìŀ¥ +ลุ à¸ģ +ç iler +Ġ×Ķ×IJ ׾×ķ +èģŀ ãģı +Ġ×ķ×IJ פ×Ļ׾×ķ +ĠÑĢе ализ +ĠÑĢеализ аÑĨи +ระยะ à¹Ģวลา +Ġجدا Ùĭ +تب اع +Ġveh ÃŃculo +Ġдол г +à¸Ľà¸£à¸´ มาà¸ĵ +ì¦ IJ +Ġ׾ ×ŀ×§×ķ×Ŀ +ĠìĤ¬ ì§Ħ +à¸Ĭ à¹īา +Ġ×ŀ×¢ ×ķ׾×Ķ +Ġgö rm +Ġgörm ek +ĠÙĪÙĩ ذÙĩ +пеÑĢ Ð² +пеÑĢв ÑĭÑħ +ê·¸ ëŀĺ +ĠاÙĦبر ÙĬØ· +ĠاÙĦبرÙĬØ· اÙĨÙĬ +ĠиÑİ Ð½Ñı +ĠÐĵ оÑĢ +Ġ׾ ש׾×Ŀ +ÐIJ ÐĿ +Ġназ наÑĩен +о оÑĢ +ооÑĢ Ñĥж +Ġöz elli +Ġözelli ÄŁi +Ġни же +ç¶ļ ãģijãģ¦ +Ġа ÑĢенд +Ġkat ılı +Ġkatılı m +ĠØ¥ Ø·ÙĦاÙĤ +ĠÙĪØ¥ ذا +Ġок ÑĤÑı +ĠокÑĤÑı бÑĢÑı +à¹Ĥà¸ķ ๠+à¹Ĥà¸ķ๠Ĭ +à¹Ĥà¸ķà¹Ĭ ะ +Ġolduk ları +Ùħ ÙĪÙĤع +ëĤ © +ã썿ĢĿ ãģ£ãģ¦ãģĦãĤĭ +Ġש ×Ļ׼×ķ׾ +วา à¸Ķ +س ÙĬÙĦ +à¸Ĥ วั +à¸Ĥวั à¸į +تØŃ ÙĥÙħ +ì ĤŃ +Ġconna ît +׳ פת×Ĺ +Ġch ặ +Ġchặ n +ĠÙħ ØŃÙħ +ĠÙħØŃÙħ ÙĪØ¯ +ãģ ´ +ĠпÑĢодÑĥк ÑĨии +зд ÑĢав +ãģĶ è¦ +ãģĶè¦ § +×IJ×ij ×IJ +Ġvé ritable +ĠØ· ÙģÙĦ +ãĥĪãĥ© ãĥĸãĥ« +ê³ ¡ +Ġת ×ŀ×ķ׳×Ķ +Ġki ên +ĠÙĤ ادر +Ø¥ÙĤ ÙĦÙĬÙħ +ĠпÑĢед пÑĢи +ĠпÑĢедпÑĢи ÑıÑĤиÑı +Ġb Äĥng +Ġay ında +Ġg ấp +еÑħ ал +Ġgi Ãłnh +Ġд ав +Ġдав но +ìĺĢ ëĭ¤ +à¸Ļัà¸ģ à¹Ģà¸ķ +à¸Ļัà¸ģà¹Ģà¸ķ ะ +Ùħست شار +ست راتÙĬج +ستراتÙĬج ÙĬ +رÙħ ز +Ġt Ä©nh +ë¡ Ń +ĠÑĩ еÑĤ +ĠÑĩеÑĤ Ñĭ +ĠÑĩеÑĤÑĭ ÑĢе +ĠEnt ão +Ġص غ +Ġصغ ÙĬرة +×ij×Ļ×ĺ ×ķ׾ +خط ÙĪØ· +ĠÑĢазвиÑĤ ие +Ġamacı yla +à¸Ĺี วี +Ġо ÑģÑĤ +ĠоÑģÑĤ алÑĮн +ש×ķ׾׊ף +Ġ׼ ׳×Ļס +Ġ׼׳×Ļס ×Ķ +Ġd áºŃy +ĠyaÅŁ ayan +Ġ×ŀ×Ķ ×ķ×ķ×Ķ +ĠÑĥ Ñģи +ĠÑĥÑģи ли +×ŀ פ×Ļ +ĠпÑĢовед ениÑı +Ġر ب +Ġرب Ùħا +ĠاÙĦØ£ ÙĪØ³Ø· +Ġìľł ì§Ģ +Ġprac ownik +Ġpracownik ów +×ŀס ×ķרת +ÙĤار ب +à¸Ħวาม รูà¹īสึà¸ģ +à¹ģหล ะ +ĠاÙĦÙĨ ÙĤد +Ġ×IJ׾ פ×Ļ +Ùħس ئ +Ùħسئ ÙĪÙĦ +ев ÑĭÑħ +клÑİÑĩ ениÑı +×ij ×Ļ׳ +×ij×Ļ׳ ×Ļ×Ķ×Ŀ +ש ×ķ×IJ×Ķ +ĠÅŁ ark +ĠÅŁark ı +Ġsü rec +Ġsürec in +à¹Ģà¸Ħร à¸Ķ +à¹Ģà¸Ħรà¸Ķ ิà¸ķ +ãĥIJ ãĥ¬ +ĠØ´ Ø£ÙĨ +à¹Ģà¸Ńา à¹Ħวà¹ī +niÄĻ cie +רצ ×Ĺ +ĠaÅŁ ama +׳ פ×Ĵ×¢ +Ġth á»Ŀ +Ġkhu ẩn +diÄŁ inde +ÑıÑī иÑħ +ãĥĺ ãĥ« +Ġüber h +Ġüberh aupt +ĠÑĤÑĢеб ова +ĠdÅĤ ugi +×ĺ ×Ļף +à¸Ĥà¸Ļาà¸Ķ à¹ĥหà¸įà¹Ī +ĠاÙĦØ£ Ùĩ +ĠاÙĦØ£Ùĩ ÙĦÙĬ +ĠMü d +ĠMüd ürü +Ġ×Ļ×Ķ ×ķ×ĵ×Ķ +Ñĭв аеÑĤÑģÑı +س اط +×Ķת ׳×Ķ×Ĵ +×Ķ×ª×ł×Ķ×Ĵ ×ķת +à¸ģาร à¸ľà¸¥à¸´à¸ķ +íĴ Ģ +สà¸ĸาà¸Ļ à¸ģารà¸ĵà¹Į +Ġо ÑĦ +ĠоÑĦ иÑģ +ĠÙĦ عبة +Ġstron ÄĻ +Ġר×IJ ×ķ×Ļ +×Ĺ ×ij׾ +ĠÑĢÑĭ н +ĠÑĢÑĭн ке +Ġ׾×ŀ×¢ ף +اس ÙĦ +ห ัà¸Ļ +Ġ×IJ ×Ĺ×Ļ +ĠпÑĢод ол +ê°Ģ ìŀħ +Ġ×ijר ×Ĺ +Ġ×ijר×Ĺ ×ij×Ļ +дж еÑĢ +Ġ׾ ×Ĺ׾ +Ġ׾×Ĺ׾ ×ķ×ĺ +Ġ׾×Ĺ׾×ķ×ĺ ×Ļף +ศาส à¸Ļา +ãĤ¢ãĤ¤ ãĥĨ +ãĤ¢ãĤ¤ãĥĨ ãĥł +Ġפר ×ķפ +جز اء +ล à¸Ńย +Ġc iaÅĤa +Ġgi ết +ĠзнаÑĩ иÑĤелÑĮно +Ġolmad ıģ +Ġolmadıģ ını +н д +нд екÑģ +تأ Ùĥد +Ġìĸ ¸ +Ġìĸ¸ ìłľ +ay dın +ãĥī ãĥ¬ãĤ¹ +Ġs ắt +Ġíĺ¸ íħĶ +Ġë¶ ģ +Ġë¶ģ íķľ +ãĥij ãĤ¤ +Ġ×ŀש×Ĺ×§ ×Ļ +à¸Ħà¸Ļ à¸Ńืà¹Īà¸Ļ +Ġиз гоÑĤов +ĠизгоÑĤов лен +à¹Ģà¸ģีย ร +à¹Ģà¸ģียร à¸ķิ +תק שר +ĠÑĢаÑģ ÑĩеÑĤ +ส à¹Ģà¸ķ +Ġl änger +ĠiÅŁ let +ĠiÅŁlet me +Ġع ÙĦÙĬÙĨ +ĠعÙĦÙĬÙĨ ا +é lection +ĠاÙĦغ ربÙĬØ© +íĭ Ģ +ãĤĤãĤī ãģĪ +Ġкни ги +Ø£ سÙħ +أسÙħ اء +Ġth á»ı +Ġthá»ı a +หà¸Ļ ู +Ġ×ł×¢ ש×Ķ +à¸łà¸²à¸¢ à¹ĥà¸ķà¹ī +à¸ŀื à¸Ĭ +رÙĬ Ø· +Ùģ ÙĪØ¶ +ãģĤãĤĬãģĮãģ¨ãģĨãģĶãģĸ ãģĦãģ¾ãģĹãģŁ +ש ×ĵ×Ķ +Ġng á»±c +ĠÑģеÑĢ ÑĮ +ĠÑģеÑĢÑĮ езн +T ôi +Ġfiyat ları +ĠвÑģ Ñİ +ĠC ódigo +Ġ×Ķש ×IJ +Ġ×Ķש×IJ ׾×Ķ +ĠP ública +Ø¥ Ø® +إخ ÙĪØ§ÙĨ +ĠзаÑıв ил +ãĥ¦ ãĥ¼ +ר×IJ ×Ļת +vol ución +Ġsz ko +Ġszko ÅĤy +جرÙĬ دة +Ġpens é +ìī ¬ +ĠBüyük ÅŁehir +ĠØ£Ùħ رÙĬ +ĠØ£ÙħرÙĬ ÙĥÙĬ +à¸Ļัà¸ģ ศึà¸ģษา +Ġtod av +Ġtodav ÃŃa +ĠС ан +ĠСан кÑĤ +íķĺ ìŀIJ +ØŃÙĪ Ø§ÙĦ +׼ ×ķשר +à¹Ģลย à¸Ħรัà¸ļ +Ġal gu +Ġalgu ém +Ùģ Ø² +Ġçek il +Ġ×ĵ ר׼×Ļ×Ŀ +ãĥIJ ãĥ© +à¸ģà¹ĩ สามารà¸ĸ +สà¹Īวà¸Ļ ลà¸Ķ +íı ° +ĠP úb +ĠPúb lico +à¹ģà¸Ļว à¸Ĺาà¸ĩ +×IJת ×Ĵר +Ø´ اش +شاش Ø© +ci ÅĽni +ĠÃľ rün +ÙĦÙĪ ØŃ +ĠاÙĦ بÙĨ +ĠاÙĦبÙĨ Ùĥ +ì¡° ì¹ĺ +Ġorganiz ación +ãģĤãĤĬãģĮãģ¨ãģĨãģĶãģĸ ãģĦãģ¾ãģĻ +s ätze +ĠÑģем ей +ÙĤ صد +ÑģÑĤв еннÑĭе +Ġpréc éd +Ġprécéd ent +à¸ģรุà¸ĩà¹Ģà¸Ĺà¸ŀ ฯ +ãģ¨è¨Ģ ãģĦ +×ij׳×Ļ ×Ļף +ĠØŃ ÙĪ +ĠØŃÙĪ Ø§ÙĦÙĬ +סק ס +ĠsaÄŁlam ak +Ġ׾ צ×Ļ×Ļף +×§×ĵ ש +Ġ×Ķ×ŀ ×¢×¨×Ľ×ª +Ġ׾×Ķ ×¢×ij×Ļר +Ġg ünd +Ġgünd em +ĠнаÑĪ ÐµÐ³Ð¾ +à¹ĥà¸Ļ à¸ŀืà¹īà¸Ļà¸Ĺีà¹Ī +à¹Ģà¸Ħร ืà¸Ń +à¹Ģà¸Ħรืà¸Ń à¸Ĥ +à¹Ģà¸Ħรืà¸Ńà¸Ĥ à¹Īาย +ظ اÙĩرة +ÙħÙĨ ظÙħ +ÙħÙĨظÙħ ات +Ùħت از +追 ãģĦ +dı kt +dıkt an +ĠëįĶ ìļ± +ĠÐĿ апÑĢимеÑĢ +tw ór +×ŀ×ķ×¢ צ×Ķ +Ùĥ ÙĪÙĥ +Ð © +×ŀ×ĺ פ׾ +ó lica +訪 ãĤĮ +ĠëĮĢ ë¶Ģ +ĠëĮĢë¶Ģ ë¶Ħ +ãĤ¯ãĥª ãĥĥãĤ¯ +ãĤĴ éģ¸ +ãĤĴéģ¸ ãģ¶ +Ġpow sta +Ġpowsta ÅĤ +Ġraz ón +×ij ×ķ×Ĺר +ĠÑģообÑī ил +Ġ×§ ×ij×ķ×¢ +r êt +à¸Ķี à¸Ĥึà¹īà¸Ļ +×ŀס ×¢×ĵ +×ŀסע×ĵ ×ķת +ĠÃĸ sterreich +Ġ׳ ×Ĺש×ij +Ùħباد رة +ì´ ī +×Ĵ ׳×ĺ×Ļ +ä¿¡ ãģĺ +du ÄŁ +duÄŁ unu +Ġph ú +ĠاÙĦØ£ Ø®ÙĬر +Ġت عتبر +landır ıl +ãģ¨ãģ¯ ãģĦ +ãģ¨ãģ¯ãģĦ ãģĪ +ĠاÙĦ Ø·ÙĦ +ĠاÙĦØ·ÙĦ اب +ĠN º +éģ¿ ãģij +اÙĦ Ùħع +اÙĦÙħع رÙĪÙģ +ส à¸łà¸² +éĽ¢ ãĤĮ +ĠпомоÑī ÑĮ +Ġзна еÑĤ +ãĥĹãĥ¬ ãĤ¼ +ãĥĹãĥ¬ãĤ¼ ãĥ³ãĥĪ +Ġsup érieur +Ġש׾ ×Ļש×Ļ +ĠاÙĦÙĨ ÙĪØ¹ +ãĤĵãģ§ãģĻ ãģŃ +à¸Ńà¸ļ รม +Ġgi á»įng +Ġwzgl ÄĻd +ĠاÙĦÙģ ÙĤر +è rent +Ġ×ŀ×IJ ×Ĺ +Ġ×ŀ×IJ×Ĺ ×ķר×Ļ +×Ĵ ×Ĵ +×Ļ ×Ļ×ij +ÙħÙĦ اب +ÙħÙĦاب س +Ġhük ü +Ġhükü met +Ġ×ŀ×Ĵ ×Ļ×ij +ĠÐŀ Ñĩ +ĠÐŀÑĩ енÑĮ +æĹ© ãģĦ +Ġconstr ucción +Ġth ượng +ï¼ ĭ +Ġcor ação +à¹Ģหล à¹ĩà¸ģ +ĠBaÅŁ b +ĠBaÅŁb akan +éĢ£ ãĤĮ +ãģĻãĤĭ ãģĵãģ¨ãģĮãģ§ãģįãģ¾ãģĻ +ĠÙĤ اÙħت +Ġا Ùĥثر +ÙģØ§Ø¹ ÙĦ +ĠÑĦ оÑĢ +ĠÑĦоÑĢ Ñĥм +غ ذÙĬ +ĠiÅŁ le +ĠiÅŁle ml +ĠiÅŁleml eri +ĠìĤ¬ëŀĮ ìĿĢ +Ġìŀij ìĦ± +Ġë§Ī 볨 +Ùħ جÙĦس +หม ู +д в +дв иг +двиг а +à¹Ģสีย à¸Ĭีวิà¸ķ +×Ķת פת×Ĺ +×Ķתפת×Ĺ ×ķת +ĠмеÑĤ ÑĢо +ĠÑģ енÑĤ +ĠÑģенÑĤ Ñı +ĠÑģенÑĤÑı бÑĢÑı +ê³ § +Ġ׾ פע +Ġ×ľ×¤×¢ ×ŀ×Ļ×Ŀ +à¹Ģà¸ļ ีย +詳 ãģĹãģı +çķ° ãģªãĤĭ +Ġİl çe +ĠAt at +ĠAtat ür +ĠAtatür k +รุ à¹Īà¸ĩ +Ġkald ı +Ġ주 ìŀ¥ +Ġprés ence +Ġн аб +Ġнаб лÑİ +ĠнаблÑİ Ð´Ð° +ĠÑģам ого +×Ĵ ×ķש +×ŀ×ĺ ×ķפ +×ŀ×ĺ×ķפ ׾ +ĠвÑĭб иÑĢа +ĠìŀIJ 리 +åĪĨ ãģĭãĤīãģªãģĦ +Ġз Ñĥб +Ġש׼ ×ijר +Ġد ائ +Ġدائ Ùħا +ĠпаÑĢ ÑĤи +ï¼ ² +ĠاÙĬ ضا +ĠÑħ оз +ĠÑħоз Ñı +ĠÑħозÑı й +ĠÑħозÑıй ÑģÑĤв +ĠاÙĦØ£ ج +ĠاÙĦأج ÙĨب +ĠاÙĦأجÙĨب ÙĬØ© +ĠÐĹ Ð½Ð° +ĠAp ós +ĠÑį неÑĢ +ĠÑįнеÑĢ Ð³Ð¸ +Ġy ans +Ġyans ı +ĠJust i +ĠJusti ça +Ġpré vu +ม วล +ìŀ¥ ëĭĺ +à¸ģระ à¸ļ +à¸ģระà¸ļ วà¸Ļ +à¸ģระà¸ļวà¸Ļ à¸ģาร +×ŀ ×ŀ +×ŀ×ŀ ×ķצע +Ġh ẹ +Ġhẹ n +зд ание +Ġak ÅŁ +ĠakÅŁ am +×ĺ ×ķפ +Ġgere kt +Ġgerekt i +Ġgerekti ÄŁini +Ġnar z +Ġnarz ÄĻdzi +é po +épo que +ĠTh ần +Ġwys oko +Ġwysoko ÅĽci +à¸ľà¸¹à¹ī à¸Ľ +à¸ľà¸¹à¹īà¸Ľ à¹Īวย +ĠÙĬ بدÙĪ +ÑĤелÑĮ ного +Ġвз глÑıд +Ġjed nÄħ +ĠìĿĺ 견 +Ġ à¸Ĥà¸ĵะà¸Ĺีà¹Ī +פ ×Ļ×ĵ +ìĥģ ëĭ´ +Ġm ỡ +×Ķ ×ŀ׾ +×Ķ×ŀ׾ צ×ķת +ĠÑģоÑģÑĤ о +ĠÑģоÑģÑĤо иÑĤ +Ġав и +Ġави а +ĠL änder +تص ÙĪÙĬر +×ŀ×ĵ ×Ļ×Ķ +ìłĪ ì°¨ +ãģ¨ ãĤĬ +ãģ¨ãĤĬ ãģĤ +ãģ¨ãĤĬãģĤ ãģĪ +ãģ¨ãĤĬãģĤãģĪ ãģļ +ĠÑĢ Ñıд +ĠÑĢÑıд ом +ĠNh ất +ĠاÙĦÙĥ اÙħÙĦ +×Ĺ׾ ׾ +ĠGi ấy +צ ×ĺר +צ×ĺר ×£ +Ġ׾×ij ×ĺ׾ +Ġим еÑĤÑĮ +ס×ŀ ×ķ×ļ +Ġparticip ação +íķľëĭ¤ ë©´ +ÙħÙĨت دÙĬ +ÙħÙĨتدÙĬ ات +ĠeÄŁ len +g änge +رب ØŃ +ãĤ® ãĥ£ +ĠاÙĦر ÙĤÙħ +à¸ĭ à¹īำ +ĠH óa +×ŀר ×Ĺ×§ +ØŃÙħ اÙħ +بÙĪ Ùĥ +ĠArt ÃŃculo +ãĥĦ ãĤ¢ãĥ¼ +×Ķפ ׼×Ķ +×Ĺ׾ ×ķף +ĠпеÑĢе Ñħод +len miÅŁ +زر اعة +Ġseñ or +ãģ£ãģ¦ ãģįãģ¦ +Ø¥ Ø´ +إش ارة +Ġpod ÃŃa +ĠÃľ lke +н ÑģкаÑı +Ġadapt é +Ġdüzen len +Ġdüzenlen en +ĠÑģÑĤ ала +ĠÙĬ ØŃتاج +Ġn ier +Ġnier uch +Ġnieruch omo +Ġnieruchomo ÅĽci +ãģĵãģ¨ãģĮ ãģĤãĤĭ +ยà¸Ńà¸Ķ à¹Ģยีà¹Īยม +ĠÙħ ج +ĠÙħج اÙĨÙĬ +Ġз аб +Ġзаб ол +Ġзабол ев +Ġзаболев аниÑı +ĠÅĽ ro +ĠÅĽro dk +ĠÅĽrodk ów +Ġ×Ķ ×ľ×IJ×ķ×ŀ×Ļ +Ġdok ÅĤad +ĠdokÅĤad nie +ãģŁãģı ãģªãģĦ +ãģ¯ãģļ ãģ§ãģĻ +ã썿ĢĿ ãģ£ãģ¦ãģĦãģŁ +é cran +ìĹħ ì²´ +trzym aÅĤ +ÑģÑĤв еннÑĭй +ĠNot ÃŃc +ĠNotÃŃc ias +Ùħ رÙĬ +ÙħرÙĬ ض +æ°Ĺ è» +æ°Ĺè» ½ +æ°Ĺ軽 ãģ« +ëĵ £ +Ġ×ĵ ×ķ×IJר +Ġ׾ ×ŀ׳ +Ġ׾×ŀ׳ ×ķ×¢ +ĠçalÄ±ÅŁ ıyor +ĠÅŁ idd +ĠÅŁidd et +ĠM ặt +Ġate ÅŁ +ĠполÑĥÑĩ ениÑı +à¹Ģà¸Ħรืà¹Īà¸Ńà¸ĩ มืà¸Ń +Ġgrö ÃŁer +د ائ +دائ رة +Ġbul un +Ġbulun maktadır +à¹Ģห ร +à¹Ģหร ีย +à¹Ģหรีย à¸į +à¸Ļัà¸ģ à¸Ĺà¹Īà¸Ńà¸ĩà¹Ģà¸Ĺีà¹Īยว +Ġalan ında +ĠÑĥ зна +Ġл еÑĩение +売 ãĤĮ +Ġçev ir +Ġdeste ÄŁi +ĠheiÃŁ t +âĸ ² +ØŃ Ø· +à¸Ħำ à¸ķà¸Ńà¸ļ +ãĤªãĥ³ ãĥ©ãĤ¤ãĥ³ +Ġ×ij×Ĺ×Ļ ×Ļ×Ŀ +ãĥ¦ ãĥĭ +Ġdüzenle me +Ġmodal itÃł +سر Ø· +سرط اÙĨ +×ŀ׼ ×ķף +ĠданнÑĭ й +تر ت +ترت ÙĬب +à¸ļาà¸ĩ à¸Ħà¸Ļ +ĠÄIJ á»ĭnh +ม ูล +มูล à¸Ħà¹Īา +ÙĨ ÙĤص +à¸ģาร รัà¸ģษา +ĠÑĦ он +ĠÑĦон д +ãĤĪãģĨ ãģ«ãģªãģ£ãģŁ +Ùħع اÙĦ +ÙħعاÙĦ جة +ĠOs man +ĠOsman lı +иÑĩеÑģк ом +à¸Ńยาà¸ģ à¸Īะ +ãģķãģ¾ ãģĸ +ãģķãģ¾ãģĸ ãģ¾ +ãģķãģ¾ãģĸãģ¾ ãģª +Ġת ×ķ׼׾ +×¢ צ×ij +ĠاÙĦع سÙĥ +ĠاÙĦعسÙĥ رÙĬ +Ġvé hic +Ġvéhic ule +Ġ×Ļצ ×Ĺ×§ +ĠاÙĦÙĪ ØŃ +ĠاÙĦÙĪØŃ ÙĬد +ĠاÙĦع دÙĪ +ĠQu ản +Ġê³µ ëıĻ +بد ÙĦ +ĠÄij ảng +Ġm á»ĩnh +Ġnie zb +Ġniezb ÄĻ +ĠniezbÄĻ dn +Ġyayın lan +обÑī и +Ġgö tür +צ פ +צפ ×ķ×Ļ +ĠÙĦÙĬ بÙĬ +ĠÙĦÙĬبÙĬ ا +ØŃ ÙĪØ§ +Ġд об +Ġдоб ÑĢо +иÑĢÑĥ ем +ĠاÙĦØŃÙĥÙĪÙħ ÙĬØ© +m Ã¤ÃŁig +Ġed ición +влек аÑĤелÑĮ +влекаÑĤелÑĮ н +Ġת ש׾×ķ×Ŀ +Ġ×Ķש ×ķ׳×Ļ×Ŀ +มิ à¸ĸุ +มิà¸ĸุ à¸Ļ +มิà¸ĸุà¸Ļ ายà¸Ļ +é£Łãģ¹ ãģ¦ +ĠìĪĺ ì§ij +ס ×ij×Ļ +ĠиÑİ Ð»Ñı +Ġà¹Ħà¸Ķà¹ī à¹ģà¸ģà¹Ī +׾×Ĺ ×Ŀ +tr ä +trä gt +ãģĿãĤĤ ãģĿãĤĤ +ÐĿ Ðķ +Ġв нÑĥÑĤ +ĠвнÑĥÑĤ ÑĢи +ãģ¨ ä¸Ģç·Ĵãģ« +ãĤ« ãĥķãĤ§ +Ġ×ij×Ĺ ×ĵר +×Ĺ ×ŀש +ãĤ¨ ãĥį +ãĤ¨ãĥį ãĥ« +ãĤ¨ãĥįãĥ« ãĤ® +ãĤ¨ãĥįãĥ«ãĤ® ãĥ¼ +à¸Ĥà¸Ńà¸ĩ à¸ķัวà¹Ģà¸Ńà¸ĩ +بÙĤ اء +פס ×Ļ׼ +פס×Ļ׼ ×ķ׾×ķ×Ĵ +ãĥ¡ ãĥĥ +ãĥ¡ãĥĥ ãĤ» +ãĥ¡ãĥĥãĤ» ãĥ¼ãĤ¸ +ÙĦ ÙĤب +A Äŀ +שק ×Ļ×¢ +ÙĤ ساÙħ +×ĵ×ķ×Ĵ ×ŀ×Ķ +æ·± ãģĦ +íĸĪ ëĬĶëį° +ĠrozwiÄħz anie +à¸Ļัà¹Īà¸Ļ à¹Ģà¸Ńà¸ĩ +×Ļצ ×ij +Ġtr ông +à¹ĥà¸Ĭà¹ī à¸ļริà¸ģาร +ĠاÙĦÙħÙĪ Ø³Ùħ +ĠдеÑĤ и +ãģĹãģĭ ãģªãģĦ +ס ×Ļף +Ġréfé rence +à¹ģห à¹īà¸ĩ +ãĤĤãĤī ãģ£ãģŁ +Ġ׾ ר׼ +Ġ׾ר׼ ×ķש +شع ÙĪØ± +ĠÐij ог +Ġlaz ım +Ġ×Ļש ׳×Ŀ +Ġп аÑĢÑĤ +ĠпаÑĢÑĤ неÑĢ +ĠÑĥ ника +ĠÑĥника лÑĮн +Ġmaté riel +×ŀר ×§ +Ġph ưá»Ŀng +Ġз ай +Ġзай м +Ùģ ÙĤد +Univers itÃł +×¢ ר׼×Ļ×Ŀ +Ġba ño +Ġн оÑı +ĠноÑı бÑĢÑı +à¸Ľ à¹īาย +Ġt ats +Ġtats äch +Ġtatsäch lich +ĠÑĤÑĢ ÐµÑĤÑĮ +Ñį м +ãĥĻ ãĥ¼ãĤ¹ +Ġnh á»±a +ìĬ¤ íģ¬ +ĠعبداÙĦ ÙĦÙĩ +Ġת ×ķר×Ķ +أش ÙĬ +أشÙĬ اء +ĠÙĦÙĦ غا +ĠÙĦÙĦغا ÙĬØ© +Ùħ ÙĪØ§ÙĤ +ÙħÙĪØ§ÙĤ Ùģ +ĠgÅĤówn a +Ġart Ä±ÅŁ +Ġ×ŀ×§ ×ķ×ŀ×Ļ +ãĤ¯ãĥ© ãĥĸ +Ġس ÙĪÙī +ĠìŬ ìĦ± +اس ر +اسر ائÙĬÙĦ +Ġ׳ ×Ľ×ª×ij +ย à¹īà¸Ńà¸Ļ +Ġdeber á +Ġph ẫu +ÑİÑī ем +ĠÙĦدÙĬ ÙĨا +×ŀ×ĺ ×Ķ +Ġ׳ ×ķ׾×ĵ +ĠвÑģÑĤÑĢ ÐµÑĩа +ãĤīãĤĮ ãģ¦ãģĦãģ¾ãģĻ +ĠcaÅĤ ej +ย ึ +ยึ à¸Ķ +поÑĤ ен +поÑĤен ÑĨи +Ġл иÑĤ +ĠлиÑĤ еÑĢ +ĠлиÑĤеÑĢ Ð°ÑĤÑĥÑĢ +Ġкажд ом +ĠíĮ IJ +ĠíĮIJ ëĭ¨ +à¸Ī ู +Ġpres ença +ãģªãĤĵ ãģ§ +Ùħ ÙĬاÙĩ +ин ÑĦоÑĢм +инÑĦоÑĢм аÑĨион +инÑĦоÑĢмаÑĨион н +ĠìŀIJ ìŰ +ר׼ ש +Ġöd ül +ç¶ļ ãģı +Ġп Ñģ +ĠпÑģ иÑħ +ĠпÑģиÑħ олог +ت ذÙĥر +Ġìŀħ ìŀ¥ +ล à¸Ķà¹Į +ìĦł ê±° +ãģ£ãģ¦ ãģĬãĤĬãģ¾ãģĻ +Ġ×Ļ ×¢ +Ġ×Ļ×¢ ×§×ij +ĠاÙĦØ· عاÙħ +ãĥĨ ãĤ¹ãĥĪ +ĠTu ấn +Ġparticip ación +×ŀ×ķ×ŀ ×Ĺ×Ķ +×Ĵר ס×Ķ +ĠاÙĦتÙĨ ÙģÙĬ +ĠاÙĦتÙĨÙģÙĬ ذÙĬ +ĠбезопаÑģ н +ge f +gef ähr +Ø´ ÙĪØ± +Ġmy ÅĽli +ÙĪØ§ Ø´ÙĨ +ÙĪØ§Ø´ÙĨ Ø·ÙĨ +׳×ķס ×¢ +Ùĥ Ùĩ +ÙĥÙĩ رب +ÙĥÙĩرب اء +Ġmus iaÅĤ +ìĭ ¸ +ãĥĸãĥ© ãĥĥãĤ¯ +Ġcré é +ÙĨÙĩ ار +owo ÅĽÄĩ +ÙħØŃا ÙĥÙħ +ĠwÅĤa ÅĽ +ĠwÅĤaÅĽ c +ĠwÅĤaÅĽc iciel +ĠÙĬ ؤ +ĠÙĬؤ دÙĬ +×ŀ×¢ ×ķ׳ +×IJ ×ij׾ +خط Ø£ +ĠÑħ олод +×ĸ ×ķ׾ +ãģĵãĤĮ ãĤī +ãģĵãĤĮãĤī ãģ® +Ġbás ica +ฤ à¸Ķ +ฤà¸Ķ ูà¸ģ +ฤà¸Ķูà¸ģ า +ฤà¸Ķูà¸ģา ล +èIJ½ãģ¡ çĿĢ +ãģªãģĦ ãģĵãģ¨ +ص ÙĪÙħ +ÙĨج ØŃ +׳ק ×ķ×ĵ +׳ק×ķ×ĵ ת +кл аÑģÑģ +íķĺìĭľ ëĬĶ +ëĦ ĺ +Ġש×IJ ×Ļ׳×ķ +ĠС ейÑĩаÑģ +may acaģı +Ġyap ılır +Ġcategor ÃŃa +عب اد +ĠТ еп +ĠТеп еÑĢÑĮ +×Ķ×Ļס×ĺ ×ķר×Ļ +h ế +ãĤ³ ãĥ¼ãĥī +Ġcabe ça +ج Ùħا +جÙħا Ùĩ +جÙħاÙĩ ÙĬر +ä½İ ãģĦ +ĠÑĤоваÑĢ Ð¾Ð² +à¸Ĭาว à¸ļà¹īาà¸Ļ +ĠÑģÑĤан ов +ĠÑģÑĤанов иÑĤÑģÑı +ĠавÑĤом обилÑĮ +ĠÑģлÑĥÑĩ ай +à¸Ńั à¸ŀ +ĠG iriÅŁ +ĠìĿ¼ ëĭ¨ +ĠпÑĢ Ð¾Ñģ +ĠпÑĢоÑģ моÑĤÑĢ +ãģªãģıãģª ãģ£ãģŁ +มี à¸Ľà¸±à¸įหา +ïº İ +éc oute +ĠÙħ ÙĪØ¬ÙĪØ¯ +Ġس رÙĬع +ĠÙĪÙĩ ÙĨا +ĠÙĪÙĩÙĨا Ùĥ +à¸Ħุà¸ĵ สม +à¸Ħุà¸ĵสม à¸ļัà¸ķิ +Ġìļ° ìĦł +à¸ŀระ à¸ŀุà¸Ĺà¸ĺ +好 ãģ¿ +ظ ÙĦÙħ +Ġм акÑģ +ĠмакÑģ ималÑĮ +ĠмакÑģималÑĮ но +ãĥª ãĤ¢ãĥ« +à¹ģมà¹ī วà¹Īา +ĠاÙĦØŃ ÙĪØ§Ø± +ãĥĹãĥ© ãĤ¹ +Ġع ÙĦاÙĤØ© +Ġíĸī ëıĻ +Ġgönder il +Ġl ãi +ĠsaÄŁ lıkl +ĠsaÄŁlıkl ı +ĠÑĪ Ð°Ð³ +Ġ×ij×IJר ×Ķ +prowadzi Äĩ +ãģĦãģı ãģ¤ãģĭ +Ġبت ارÙĬØ® +Ġ×ij×IJ×ķת ×Ķ +Ġmó c +ĠÐľ не +ãĥĹãĥ¬ ãĥ¼ +×IJ ×ĸר×Ĺ +åł´åIJĪ ãģ«ãģ¯ +使 ãģĪ +à¹Ģร ืà¸Ńà¸Ļ +ĠÐŁ еÑĤ +ĠÐŁÐµÑĤ ÑĢ +ãģ«åħ¥ ãĤĭ +Ùħ ادة +à¹Ģà¸ĩ ืà¹Īà¸Ńà¸Ļ +à¹Ģà¸ĩืà¹Īà¸Ńà¸Ļ à¹Ħà¸Ĥ +ĠÑģоÑģÑĤоÑı ние +ôn ica +ĠÑĦ ев +ĠÑĦев ÑĢа +ĠÑĦевÑĢа лÑı +Ġ×ķ ×ĸ +Ġ×ķ×ĸ ×IJת +à¸Ħร ิ +à¸Ħริ ส +ĠÐķ Ñīе +ãģ£ãģ¦ãģĹãģ¾ ãģĦãģ¾ãģĹãģŁ +ĠпÑĢав иÑĤелÑĮ +ĠпÑĢавиÑĤелÑĮ ÑģÑĤв +Ġtä glich +Ġëĭ¹ ìĭľ +×ŀ×ķ×¢ ×ŀ×ĵ +Ġдв оÑĢ +æī ķ +æīķ ãģĦ +ĠÑģÑĤан еÑĤ +Ġвозд ейÑģÑĤв +ĠвоздейÑģÑĤв и +Ġf ête +à¹Ģส า +תק ×ķ×ķ×Ķ +Ġu yar +Ġuyar ı +à¸ģลัà¸ļ à¹Ħà¸Ľ +Ġgi ưá»Ŀng +Ġв а +Ġва ÑĪи +ĠÄij áºŃu +ĠSpa ÃŁ +ĠìķĦ ë§Ī +à¹Ħà¸Ķà¹ī à¸ĩà¹Īาย +Ġ×Ķ×ŀ ×ijקש +æĸ° ãģŁ +æĸ°ãģŁ ãģª +ılı yor +пл ан +Ġ×Ķ×ijר ×Ļ×IJ×ķת +ĠaÄŁ rı +Ġsay gı +建 ãģ¦ +Ġnaj wyż +Ġnajwyż sz +سÙĬاس ات +ãģĬ å¾Ĺ +ĠاÙĦع ÙĦÙĬ +ĠاÙĦعÙĦÙĬ ا +Ġcoraz ón +ì¹ĺ ë£Į +หัว à¸Ĥà¹īà¸Ń +Ġب ØŃÙĬ +ĠبØŃÙĬ Ø« +зв езд +بÙĪ Ø§Ø¨Ø© +ÐĽ Ðĺ +ÙĦا زÙħ +Ġroz p +Ġrozp oc +Ġrozpoc zÄĻ +触 ãĤĮ +ĠاÙĦج ÙħÙĩ +ĠاÙĦجÙħÙĩ ÙĪØ± +Ġsp ÄĻd +ĠspÄĻd z +วิà¸Ĺยา ศาสà¸ķรà¹Į +ив аеÑĤÑģÑı +Ġдан ной +Ġreprés ente +ĠÄij á»ĭch +Ġ×¢×ŀ ×ķ×§ +à¸Ńัà¸Ļ à¸ķร +à¸Ńัà¸Ļà¸ķร าย +Ġestr atég +Ġestratég ia +pad ÅĤ +Ġв полн +Ġвполн е +ĠпÑĢедоÑģÑĤав лен +×Ĺ׾ ×ķ×§ +×Ĺ׾×ķ×§ ת +ãĤ¢ ãĥĬ +ĠاÙĦغ ذ +ĠاÙĦغذ ائÙĬ +ĠÑĥ зн +ĠÑĥзн аÑĤÑĮ +à¸ĭ à¹īาย +å½ĵ ãģ¦ +ØŃÙĬ اء +Ġbás ico +×§×ķ×ij ×¢ +ĠاÙĦÙħ باراة +ĠاÙĦÙĩ اتÙģ +Ġ׼ ׳×Ĵ×ĵ +à¸Ľà¸£à¸° หย +à¸Ľà¸£à¸°à¸«à¸¢ ัà¸Ķ +Ðļ ак +à¸Ĺีà¹Ī à¸Ļà¹Īา +à¸Ĺีà¹Īà¸Ļà¹Īา สà¸Ļà¹ĥà¸Ī +ãģ¾ ãģģ +ï½ ¢ +Ñģк оп +Ġson rasında +Ġur zÄħd +ĠurzÄħd zenia +׼×ķ ×ķ׳ +׼×ķ×ķ׳ ת +Ġ׾×Ķת ×ŀ×ķ×ĵ +Ġ׾×Ķת×ŀ×ķ×ĵ ×ĵ +ĠÑģ ли +ĠÑģли ÑĪ +ĠÑģлиÑĪ ÐºÐ¾Ð¼ +ĠÑģÑĤ Ñĥд +ĠÑģÑĤÑĥд енÑĤ +Ġ×Ķ ×ķ×ĵ +Ġ×Ķ×ķ×ĵ ×¢×Ķ +ë¹Ħ ìļ© +à¸Ńยาà¸ģ à¹ĥหà¹ī +Ġb á»ģ +ยุ à¸Ĺà¸ĺ +Ðĺ ÐĿ +س ائر +Ø£ صÙĪÙĦ +ĠاÙĦغ رÙģ +ãģĵãģ¨ãĤĤ ãģĤãĤĬãģ¾ãģĻ +è¾¼ ãģ¾ãĤĮ +ĠاÙĦساب ع +Ġc á»§ +ãģĦãģŁãģł ãģĦãģŁ +ì§ ĵ +ìĤ¬ 무 +powied ź +تÙģ Ùĥ +تÙģÙĥ ÙĬر +иÑĢов ки +ĠíĨµ íķ´ìĦľ +ãĤ¨ ãĤ¹ãĥĨ +ĠдеÑıÑĤелÑĮ ноÑģÑĤÑĮ +ĠданнÑĭ м +Ġ×¢ ×ķר +Ġ×¢×ķר ׼×Ļ +×ķ×ĵ עת +Ġhayat ını +Ġb Äħd +ĠbÄħd ź +obs ÅĤug +à¹Ģà¸ŀียà¸ĩ à¹ģà¸Ħà¹Ī +à¸ĭ à¹Īา +è²ł ãģij +ĠÑģÑĤÑĢ ÐµÐ¼ +ĠÄij á»īnh +ĠÐł ÑĥÑģ +ĠN ữ +Ġ׾×Ķש ×Ļ×Ĵ +Ġjed noc +Ġjednoc ze +Ġjednocze ÅĽnie +Ġ×Ķ×Ĵ ×ij×ķ×Ķ +أخ ÙĦاÙĤ +ĠнаÑģ ел +ĠнаÑģел ениÑı +ĠÙĬ ÙĨب +ĠÙĬÙĨب غÙĬ +ãģĮ ãģĭ +ãģĮãģĭ ãģĭ +×Ĵ עת +Ðŀ Ðł +ĠналиÑĩ ии +Ġë§Ī ì§Ģ +Ġë§Īì§Ģ ë§ī +Ġíĸī ìĤ¬ +Ġtre ÅĽci +Ġê°Ģ ì¹ĺ +ì¦ ĺ +Ġана лог +×Ķצע ת +в лад +влад е +ĠÑģдел ал +Ġ׳ ×Ĵ×Ļש +Ġ׳×Ĵ×Ļש ×ķת +полн ение +à¸Ĩ à¹Īา +ĠD ön +׼׾׼ ׾×Ķ +×ŀ×ĸ ×Ĵ +Ùħ Ùģ +ÙħÙģ Ùĩ +ÙħÙģÙĩ ÙĪÙħ +×Ķ ×ĵ +×Ķ×ĵ פס +×Ķ×ĵפס ×Ķ +ãģĻãģİ ãģ¦ +Ġг ÑĢ +ĠгÑĢ Ð½ +×ŀ×ĺ ×ķס +Ġ기 ìĸµ +ï¾ Ł +ĠpÅĤ yn +ĠGr ünde +ĠBü cher +Ġwed ÅĤug +ãģ¾ãģł ãģ¾ãģł +Ġ׳×Ķ ×ĵר +ĠÙĬست Ø·ÙĬع +ĠHi á»ĩp +ãĤŃãĥ£ãĥ³ ãĥļ +ãĤŃãĥ£ãĥ³ãĥļ ãĥ¼ãĥ³ +Ġth á»ķ +Ġeuropé enne +à¸ļ ัà¸ĩ +à¸ļัà¸ĩ à¸Ħัà¸ļ +ĠszczegóÅĤ owo +׳ שק +ãĥķ ãĥ©ãĥ³ãĤ¹ +×ŀ×ķ×ŀ ×Ĺ×Ļ +Ġcom ún +Ġç arp +ØŃت ÙĬا +ØŃتÙĬا ج +ØŃتÙĬاج ات +ëĭ´ ëĭ¹ +ä½ķ 度 +ä½ķ度 ãĤĤ +×ĵ ×ij×§ +ãģį ãĤĮ +ãģįãĤĮ ãģĦ +Ġк ам +Ġкам еÑĢ +ĠespecÃŃf ico +Ġtel éfono +à¸ķัà¹īà¸ĩ à¸Ńยูà¹Ī +I Åŀ +ãģ© ãĤĵãģ© +ãģ©ãĤĵãģ© ãĤĵ +עצ ×ŀ×IJ×Ļ +à¸Ķัà¸ĩ à¸Ļีà¹ī +ĠÑĦоÑĢм иÑĢов +ĠÑĦоÑĢмиÑĢов а +×ķ×ŀ ×ij +Ġkullan ımı +Ðľ Ðŀ +×¢ ש×Ļ +עש×Ļ ×Ļ×Ķ +Ġön lem +à¹Ģà¸Ń à¹ĩ +à¹Ģà¸Ńà¹ĩ ม +×ŀשק ×Ļ×¢ +ר ×Ļ×Ĺ +à¸Ĥ ัà¸Ķ +ĠíĻ ľ +ĠíĻľ ìļ© +à¸ĭ ะ +ãĤĪãģĨ ãģ«ãģªãĤĬãģ¾ãģĹãģŁ +ĠÑĢаÑģ пÑĢ +ĠÑĢаÑģпÑĢ Ð¾ÑģÑĤ +ĠÑĢаÑģпÑĢоÑģÑĤ ÑĢан +ĠÑĢаÑģпÑĢоÑģÑĤÑĢан ен +׼×Ļ ×ķף +ÙĤب ض +تص رÙĬØŃ +تصرÙĬØŃ ات +Ġо ÑĢи +ĠоÑĢи г +ĠоÑĢиг ина +ĠоÑĢигина л +ĠاÙĦع اÙĦÙĬ +à¹ģหà¹Īà¸ĩ à¸Ļีà¹ī +ãĥķãĤ¡ ãĥ¼ +ãģ¦ãģĦ ãģį +ãģ¦ãģĦãģį ãģŁãģĦ +פ תר +פתר ×ķ׳×ķת +Ġ×ij ×Ļ×Ĺ +Ġ×ij×Ļ×Ĺ ×ĵ +Ġod by +Ġodby ÅĤ +ĠоÑĩеÑĢ ÐµÐ´ +Ġtr ương +ãĤŃ ãĥ³ +×ŀ ×ķפ +×ŀ×ķפ ×¢ +ëĵľ 립 +ëĵľë¦½ ëĭĪëĭ¤ +à¸ŀืà¹īà¸Ļ à¸IJาà¸Ļ +ìŀIJ 격 +ĠVi á»ĩn +ĠDes pués +Ġ×IJ׾ ×Ļ׳×ķ +Ġdur ée +íĩ ´ +Ġmü zik +i ếu +ĠÑĢаз меÑīен +Ġк Ñĥд +ĠкÑĥд а +غ ض +غض ب +ĠTamb ém +à¸Īัà¸Ķ สà¹Īà¸ĩ +à¸ģาร à¹ģสà¸Ķà¸ĩ +onom ÃŃa +Ġан г +Ġанг ли +Ġангли й +Ġанглий Ñģк +Ġzn al +Ġznal az +Ġznalaz ÅĤ +תר ×Ĵ +תר×Ĵ ×ķ×Ŀ +ĠÑģ нов +ĠÑģнов а +ĠÑĩаÑģ а +Ġcommun auté +ĠespecÃŃf ica +ĠL á»ĭch +Ġli é +Ùģ Ø¬Ø± +à¹Ģà¸ģ à¹Īà¸ĩ +ع اÙĦ +عاÙĦ ج +Ø£ÙĨ ظ +Ø£ÙĨظ ÙħØ© +ES İ +ĠاÙĦØŃ دÙĬد +à¸ŀระ à¸Ńà¸ĩà¸Ħà¹Į +Ġפר שת +Ġдв иж +Ġдвиж ениÑı +ĠاÙĦج ارÙĬ +à¸ĺาà¸Ļ ี +неÑģ ен +ĠاÙĦÙĨ ÙĩائÙĬ +Ġб еÑĢ +ĠбеÑĢ ÐµÐ¼ +ĠбеÑĢем енн +Ġdépart ement +à¹Ģà¸Ĺ ีย +à¹Ģà¸Ĺีย à¸ļ +ĠÐľ аÑĢи +ĠнекоÑĤоÑĢ ÑĭÑħ +об еÑģп +обеÑģп еÑĩен +×Ĺ ×ķ×ĸ +×Ĺ×ķ×ĸ ×Ķ +ÙĨت ج +à¸Īะ à¹Ħà¸Ķà¹īรัà¸ļ +á» ° +Ġél éments +ع Ø· +عط اء +Ġt ắt +i á»ĩm +ÑİÑīиÑħ ÑģÑı +ãģĹãģ ° +ãģĹãģ° ãĤīãģı +Ġпом ожеÑĤ +à¸Ĥà¸ĵะ à¸Ļีà¹ī +Ġ×¢ שר×ķת +éģķ ãģ£ãģ¦ +ĠпÑĢ Ð¾Ð³ +ĠпÑĢог н +ĠпÑĢогн оз +Ġt ÅĤ +ĠtÅĤ um +ĠtÅĤum acz +T ür +Tür kiye +ãģį ãģ£ +ãģįãģ£ ãģĭãģij +Ġ×Ķ׳ ×ķ׼ +Ġ×Ķ׳×ķ׼ ×Ĺ×Ļ +ĠìĥĿ ìĤ° +ĠÑĦоÑĢм Ñĭ +ç¾İ ãģĹãģĦ +à¸Ľà¸£ ึà¸ģ +à¸Ľà¸£à¸¶à¸ģ ษา +Ġlum ière +ãĤª ãĥ¼ãĥĹ +ãĤªãĥ¼ãĥĹ ãĥ³ +à¸Ľ ืà¸Ļ +วั สà¸Ķ +วัสà¸Ķ ุ +еÑĢÑĤ в +ÙĥÙĦ Ùģ +ï½ £ +à¸ĺรรม à¸Ķา +׳ ×ĺר +ĠпÑĢедÑģÑĤав лÑıеÑĤ +Ġanál isis +Ġb ãi +با ÙĤÙĬ +à¸Ľà¸£à¸° à¹Ģà¸Ķ +à¸Ľà¸£à¸°à¹Ģà¸Ķ à¹ĩà¸Ļ +ĠÑģлÑĥÑĩ аÑı +ĠÑģлÑĥÑĩаÑı Ñħ +ÐĽ ÐIJ +สัà¸ĩ à¹Ģà¸ģ +สัà¸ĩà¹Ģà¸ģ à¸ķ +Ġprz ec +Ġprzec ież +Ùħ صÙĦ +ÙħصÙĦ ØŃØ© +ש×ķ×§ ×ķ׾×ĵ +ĠобоÑĢÑĥд ованиÑı +Ġtr waÅĤ +رÙĪ Ùħ +ìķĪ ëĤ´ +ĠNgh á»ĭ +Ø® Ø´ +à¸ļา à¸Ħาร +à¸ļาà¸Ħาร à¹Īา +Ġоп ÑĨион +ĠÑģозд аниÑı +ãĤ³ ãĤ¹ãĥĪ +Ġ×Ķ×¢ ׾×Ļ +Ġ×Ķ×¢×ľ×Ļ ×ķף +lä uft +ãĥĻ ãĤ¹ãĥĪ +Ġr ê +Ġrê ve +×IJ ×ij×Ļ×ij +×Ļ ×Ļ×ļ +ë¶ Ļ +ãĤ¤ãĥ³ ãĥī +ÅĤo ży +ÅĤoży Äĩ +ع ائÙĦ +عائÙĦ Ø© +Ø£ ÙĪØ± +Ø£ÙĪØ± اÙĤ +à¸Ĺà¹īà¸Ńà¸ĩ à¸ĸ +à¸Ĺà¹īà¸Ńà¸ĩà¸ĸ ิà¹Īà¸Ļ +Ġä hn +Ġähn lich +ãĥŁ ãĥĭ +à¸ľ ู +à¸ľà¸¹ à¹īà¸Ļ +à¸ľà¸¹à¹īà¸Ļ ำ +ĠмаÑĤеÑĢиал Ñĭ +Ġкап иÑĤ +ĠкапиÑĤ ал +ï¼ ¦ +Ġseç il +Ġh ứng +Ġintéress ant +ãģ£ãģ¦ ãģĦãģı +Ġe ÄŁer +ëIJĺ ìĹĪìĬµëĭĪëĭ¤ +Ġan laÅŁma +ãģĶ åĪ©ç͍ +Ġ×ij ×ĸ׼ +Ġ×ij×ĸ׼ ×ķת +ëĿ¼ ë©´ +ĠÙĬ ÙĪØ³ +ĠÙĬÙĪØ³ Ùģ +أسÙĦ ØŃØ© +ĠGef ühl +ĠноÑĢм алÑĮн +ãĥĻ ãĥ³ +ãģķãĤĮ ãĤĭãģĵãģ¨ +ĠÐij еÑģ +ãģ¨ãģĦ ãģĪãģ° +ĠÙħ ÙĩÙħ +ĠÙħÙĩÙħ Ø© +ãģ§ãģĹãĤĩãģĨ ãģŃ +ĠêµŃ ëĤ´ +à¹Ģม à¹ĩà¸Ķ +×ŀ×ij קר +ĠاÙĦد ÙĨÙĬ +ĠاÙĦدÙĨÙĬ ا +à¸Ĭ ู +к ÑĢÑĥÑĤ +Ġtho áng +Ġ׳ ×ĵר +Ġ׳×ĵר ש +ĠÑĢаÑģÑģ казал +ĠAu ÃŁerdem +פ ×IJר +פ×IJר ×§ +Ġ×ŀש×Ĺ×§ ×Ļ×Ŀ +צ ר׼×Ļ×Ŀ +×ŀ×ĵ ×ķ +×ŀ×ĵ×ķ ×Ļ×§ +èĭ¦ ãģĹ +ĠÑģ иг +ĠÑģиг нал +ĠM á»įi +Ġtr ữ +Ġnast ÄĻp +ĠnastÄĻp nie +Ġì¶Ķ ì§Ħ +ĠاÙĦÙģ ÙĨد +ĠاÙĦÙģÙĨد ÙĤ +koÅĦ czyÅĤ +ส ีà¹Ī +×§ ×Ļ×ij +×§×Ļ×ij ×ķ×¥ +ĠнÑĥж нÑĭ +大 åĪĩ +大åĪĩ ãģª +æıĽ ãģĪ +ת ×ķס +ת×ķס פת +ãģ£ãģ¦ ãģĦãģªãģĦ +Ġм Ñı +ĠмÑı г +ĠмÑıг к +Ġjak ie +Ġjakie ÅĽ +à¸ķำ à¸ļ +à¸ķำà¸ļ ล +ĠìŀĪ ì§Ģ +×ij×ĺ ×IJ +ĠоÑĤлиÑĩ но +ÙĤ ÙIJ +ĠавÑĤом об +ĠавÑĤомоб и +ĠавÑĤомоби лÑı +دÙĬÙħÙĤرا Ø·ÙĬ +ĠاÙĦ ÙĪØ§ +ĠاÙĦÙĪØ§ ØŃد +Ġس ÙĪØ±ÙĬØ© +Ø£ غÙĦ +أغÙĦ ب +ĠÑįк ÑĢан +ãĥĹ ãĥ©ãĤ¤ +Ġjeste ÅĽ +ãĥIJ ãĥª +Ġ×Ķ×IJ ×ķ×ķ×Ļר +ائ Ùĥ +à¸Ńยà¹Īาà¸ĩ ยิà¹Īà¸ĩ +ÑĢ ÐµÐºÑĤ +Ġum o +Ġumo ż +Ġumoż li +Ġumożli w +Ġumożliw ia +Ġnäch ste +ĠìŀĪ ì§Ģë§Į +ĠпÑĢед н +ĠпÑĢедн аз +ĠпÑĢедназ наÑĩен +Ġma çı +Ġp omi +Ġpomi ÄĻd +ĠpomiÄĻd zy +ĠاÙĦÙĦ ÙĤاء +à¹Ģà¸Ķ à¸Ńะ +Ġнов оÑģÑĤи +×ŀ׊׾×Ķ +رÙĬاض ÙĬ +à¸Ķ à¸Ļ +à¸Ķà¸Ļ à¸ķรี +ب صر +ìĬ¤ íĥĢ +scri pción +Ġnap isa +Ġnapisa ÅĤ +Ġ׳ש ×ŀ×¢ +ĠاÙĦÙħØŃ ÙĦÙĬ +Ġhi á»ĥn +×IJ ×Ĺ +×IJ׊ר×IJ×Ļ +Ġг ÑĢаниÑĨ +æīĭ ç¶ļãģį +Ùĥ سب +Ġà¹ģà¸ķà¹Ī à¸ĸà¹īา +à¸Ķาว à¸Ļà¹Į +à¸Ķาวà¸Ļà¹Į à¹Ĥหลà¸Ķ +ãĤĭãģĵãģ¨ãģĮãģ§ãģį ãģ¾ãģĻ +åŁºæľ¬ çļĦãģ« +ÙĪÙĦ اد +rä ume +د ÙģØ§Ø¹ +×Ļצ ×¢ +ĠO czy +ĠOczy wiÅĽcie +ĠÅ ģ +ĠÅģ a +اÙĦÙĬ اب +اÙĦÙĬاب اÙĨ +áºł I +ĠBir liÄŁi +×Ķ ×ķצ +×Ķ×ķצ ×IJת +ĠÄij ua +Ġê·¸ëŁ¬ ëĭĪê¹Į +Ġréal ité +ع ÙĦاÙĤات +J este +Jeste ÅĽ +Ġмн ож +Ġмнож еÑģÑĤво +ï¼ « +ãĥĹãĥŃ ãĤ¸ãĤ§ +ãĥĹãĥŃãĤ¸ãĤ§ ãĤ¯ãĥĪ +ĠÑĦ л +ظ ÙĨ +×Ĵ׾ ×Ĵ׾ +ĠmÅĤod zie +ĠmÅĤodzie ż +à¸Ļà¹īำ à¸ķา +à¸Ļà¹īำà¸ķา ล +ÐĽ Ðķ +×ij ×ķ×ĺ +Ġ׾×Ķ ×Ĵ×Ļ×ĵ +ãģĵãģ¨ãĤĤ ãģĤãĤĭ +ز اد +×ŀ×Ļ×ĵ ×¢ +ĠgÅĤówn ie +ãĥı ãĤ¦ +ãĥıãĤ¦ ãĤ¹ +б ел +Ġét ape +ðŁĺ Ģ +Ġмод елÑĮ +a ģını +ש ×Ĺ×§ +ש×Ĺ×§ ף +Ġni ño +à¸Ĭ à¹īาà¸ĩ +à¹Ģล ีย +ĠÑĦоÑĢм е +ĠاÙĦØ´ رÙĬÙģ +ĠÑĥд аÑĢ +arr iv +arriv ée +Ġmies iÄĻ +ĠmiesiÄĻ cy +ØŃ رÙĥ +ØŃرÙĥ ات +ĠDi á»ħn +ÐĿ Ы +ãģ¾ãģ£ãģŁ ãģı +Ġ×Ļ ×¨×ķ×§ +еÑģÑĤ еÑģÑĤв +еÑģÑĤеÑģÑĤв енн +Ġê·¸ ëŁ¼ +ĠاÙĦÙħ تÙĪ +ĠاÙĦÙħتÙĪ Ø³Ø· +Ġbéné fic +Ġbénéfic ie +Ġwy bra +Ġwybra Äĩ +ĠاÙĦز ÙħÙĨ +ĠпÑĢин Ñı +ĠпÑĢинÑı л +Ù쨱 ØŃ +Ġk sz +Ġksz taÅĤ +ĠksztaÅĤ t +ק׾ ×ĺ +×ij×ĵ×Ļ×§ ת +Ġgi ấ +Ġgiấ c +Ġpropriet Ãł +деÑĢж ан +ĠKö ln +ĠGü zel +×Ļפ ×ķ×Ļ +ĠCu á»Ļc +ÑįÑĤ аж +تر ÙĥÙĬ +ترÙĥÙĬ ز +лож ений +Ġп Ñĥ +ĠпÑĥ ÑĤи +اخت ÙĦاÙģ +åĩºãģ¦ ãģıãĤĭ +à¸ļุ à¸ģ +âĿ ¤ +ÑĦ ан +פש ×ĺ +à¸ļัà¸Ļ à¹Ģà¸Ĺ +à¸ļัà¸Ļà¹Ģà¸Ĺ ิà¸ĩ +ĠاÙĦس اد +ĠاÙĦساد س +ĠاÙĦÙĤ ÙĪÙħ +ĠاÙĦÙĤÙĪÙħ ÙĬ +Ġyönet ici +Ùĩ ÙĪØ§Øª +ÙĩÙĪØ§Øª Ùģ +Ġrespons ável +Ġпод деÑĢжива +ĠاÙĦسÙĦ Ø· +ĠاÙĦسÙĦØ· ات +ãģĹãģ¦ ãģĬãģı +ãĥļ ãĥĥãĥĪ +à¸Ľ ุà¹Īม +Ġogl Äħda +ÙĨا ÙĤ +ÙĨاÙĤ Ø´ +à¸Ħà¸Ńà¸Ļ à¹Ĥà¸Ķ +ĠMü sl +ĠMüsl ü +ĠMüslü man +ĠMo ż +ĠMoż na +Ġnum érique +Ġv á»ı +ĠسÙĬ تÙħ +Ġyer leÅŁ +монÑĤ аж +Ġgo ût +ãģ¦ ãģĬãĤĬãģ¾ãģĻ +ĠKh ánh +Ġе дин +Ġедин ÑģÑĤв +اÙĨ Ø®Ùģ +اÙĨØ®Ùģ Ø§Ø¶ +ìĭľ íĹĺ +Ġl ặng +ĠÑĢ Ð¾Ð»ÑĮ +à¸ķัว à¹ģà¸Ĺà¸Ļ +à¸Ħà¹Īา à¹ĥà¸Ĭà¹ī +à¸Ħà¹Īาà¹ĥà¸Ĭà¹ī à¸Īà¹Īาย +Ġver füg +Ġverfüg bar +ìĻĶ ëĭ¤ +ãģĦ ãģļ +ãģĦãģļ ãĤĮ +ĠиÑģÑģлед ованиÑı +меÑī а +×Ķ ×Ĺ +×Ķ×Ĺ ×ĸר +à¹ģà¸Ł à¸Ĭัà¹Īà¸Ļ +ت صرÙģ +Ø¥ رÙĩاب +Ġexerc ÃŃcio +Ġé lev +Ġélev é +สัà¸įà¸įา à¸ĵ +Ãĸ Z +ãĥĹ ãĥŃãĤ° +ãĥĹãĥŃãĤ° ãĥ© +ãĥĹãĥŃãĤ°ãĥ© ãĥł +Ġw ewnÄĻtrzn +Ġhen üz +é£Ľ ãģ³ +à¹Ģà¸Ķ à¸Ńรà¹Į +Ñģ Ñĥж +ÑģÑĥж ден +شع ÙĪØ¨ +ãģ²ãģ¨ ãĤĬ +Ġwy ÅĤÄħ +ĠwyÅĤÄħ cznie +Ġпло Ñħо +ÐĶ Ðķ +Ạ¦ +Ù쨹 اÙĦÙĬ +ÙģØ¹Ø§ÙĦÙĬ ات +ĠاÙĦع شر +ÑģÑĤÑĥп ил +Ġy arg +Ġyarg ı +нÑİ Ñİ +×ķ×IJ ×ij +Ġu ç +Ġuç ak +ë² ½ +تÙĪ ÙĤÙĬ +تÙĪÙĤÙĬ ع +Ġì¤ij ìĭ¬ +׳×Ļ×ķ ×ķ×ĺ +Ø£ ÙĥÙĦ +ç½® ãģĦãģ¦ +éłĤ ãģį +Ġ×Ķת ×ij +Ġ×Ķת×ij ×Ļ×¢×Ķ +Ġdür fen +Ùħ ÙĤاÙĦ +ÙħÙĤاÙĦ ات +Ġز ÙħÙĨ +à¸ŀฤ ศ +à¸ŀฤศ à¸Ī +à¸ŀฤศà¸Ī ิà¸ģ +à¸ŀฤศà¸Īิà¸ģ ายà¸Ļ +ĠнеÑģк олÑĮ +ĠнеÑģколÑĮ ки +ĠнеÑģколÑĮки Ñħ +Ġcrian ça +มิ à¸ķร +×ŀ׼ ×Ļר×ķת +à¸ģาร à¸ļริหาร +Ġtélé charg +Ġ×IJ×ķ×Ķ ×ijת +ĠBü ro +ä½ľ ãģ£ãģŁ +ĠKi ÅŁi +ç¾İåij³ ãģĹ +à¹Ģลย à¸Ħà¹Īะ +à¸ŀà¸ļ à¸ģัà¸ļ +à¸Ī à¹īา +Ġç er +Ġçer ç +Ġçerç eve +ãĤĴä½ľ ãģ£ãģ¦ +ĠпеÑĢв ÑĥÑİ +×ŀצ ר×Ļ×Ŀ +×IJ׾ ×ķ×Ķ +×IJ׾×ķ×Ķ ×Ļ×Ŀ +Ġagr é +Ġagré able +Ġay ır +İL İ +ãĤ ¥ +Ġíĺ Ħ +ĠíĺĦ ìĭ¤ +ثاÙĦ Ø« +ת ×ĸ +ת×ĸ ×ķ׳×Ķ +ãģ¨ãģĦ ãģ£ãģ¦ +ãģ¨ãģĦãģ£ãģ¦ ãĤĤ +Ġا بÙĪ +ĠÑģоб ак +é£Łãģ¹ ãģŁ +Ġдан ном +à¹Ģล ิ +à¹Ģลิ ศ +Ġí ļ +Ġíļ ¨ +Ġíļ¨ ê³¼ +ãĤĤãĤī ãģĪãĤĭ +׳ צ׾ +ÑĦ ик +ÑĦик Ñģ +Ġjeste ÅĽmy +ת×Ĺ×ķש ×Ķ +à¹Ħมà¹Ī à¸Ħวร +ĠØŃ سÙĬÙĨ +à¸ģาร ลà¸ĩà¸Ĺุà¸Ļ +ë´ ¤ +ĠÐĺ менно +à¸ļ à¸Ńรà¹Į +à¸ļà¸Ńรà¹Į à¸Ķ +ĠC ảnh +ìĦľ ë¹ĦìĬ¤ +Ġпол ов +Ġполов ин +Ġзам еÑĩа +ãģĦãĤį ãĤĵãģª +Ġ×ij ×Ļ×§ +Ġ×ij×Ļ×§ ש +л ÑĥÑĪ +ãĤĴ è¿İ +ãĤĴè¿İ ãģĪ +جرÙĬ ÙħØ© +Ġt ây +ĠاÙĦÙĨ ÙĪ +ĠاÙĦÙĨÙĪ ÙĪÙĬ +ÃĤ N +ì¿ ł +หà¸Ļ าว +Ġ×ij׊ש×ij×ķף +ز ار +à¸Ķ าร +à¸Ķาร า +ĠÅĽ l +ĠÅĽl ub +มีà¸Ħวาม สุà¸Ĥ +Ġn hu +Ġnhu áºŃn +ÙħØŃ طة +à¹Ģสืà¹īà¸Ń à¸ľà¹īา +ĠТ олÑĮко +ĠÙĥ س +ĠÙĥس ارة +ÙħØ´ رÙĪØ¹ +niÄĻ cia +×¢ ׼ש×Ļ×ķ +ت ÙĦÙģ +تÙĦÙģ Ø²ÙĬ +تÙĦÙ쨲ÙĬ ÙĪÙĨ +Ġl Æ°á»Ľi +ĠÐľÐ¾Ñģк вÑĭ +Ġré serve +Ġan laÅŁ +ĠanlaÅŁ ıl +Ġed eceÄŁi +รà¸Ńà¸ĩ à¹Ģà¸Ĺà¹īา +Ġب Ø· +Ġبط رÙĬ +ĠبطرÙĬ ÙĤØ© +ãģ¦ãģĹãģ¾ ãģ£ãģ¦ +ãĤĤãĤī ãģ£ãģ¦ +بر ج +æ± ļ +æ±ļ ãĤĮ +Ġch oc +Ġchoc ia +Ġchocia ż +Ġzob ac +Ġzobac zyÄĩ +пÑĢ Ñı +пÑĢÑı жен +ĠÑĨ иÑĦ +ĠÑĨиÑĦ ÑĢ +Ġм ам +Ġвз ÑıÑĤÑĮ +Ġch ạm +ج سÙħ +ØŃÙħ اس +à¹Ģล à¹Īม +à¸ŀิ ษ +×Ķפ ׼×ķ +à¸Ĭà¹Īà¸Ńà¸ĩ à¸Ĺาà¸ĩ +Ġв ек +Ġвек а +Æ¡ Ìģ +Æ¡Ìģ i +ĠTi á»ģn +Ġtr ầm +мÑĭ ÑĪ +мÑĭÑĪ Ð» +ĠÑĤ Ñĥ +ĠÑĤÑĥ ÑĢиÑģÑĤ +Ġch c +Ġchc Äħ +Ġав г +Ġавг ÑĥÑģÑĤ +ĠавгÑĥÑģÑĤ а +ס ×IJ×ķת +Ġר ×Ĵ׾ +à¸ľà¸¥ à¸ģระà¸Ĺ +à¸ľà¸¥à¸ģระà¸Ĺ à¸ļ +å¤īãĤı ãĤĭ +Ġ×Ķ×IJ×Ĺר ×ķ׳×Ļ×Ŀ +سÙģ ÙĬر +ĠÑĩа Ñīе +ãģĦ ãĤī +ãģĦãĤī ãģ£ +ãģĦãĤīãģ£ ãģĹãĤĥ +×ķ×ŀ ׳×Ļ×Ŀ +Ġart tır +ĠCh á»ĭ +Ġì¡° ì§ģ +ĠÑĥÑģп еÑħ +Ġ×¢ ×ķס +Ġ×¢×ķס ×§ +ĠìĥĿ ëªħ +ÑĨ иÑĤ +Ġreg ión +Ðŀ ÐĿ +ĠdoÄŁ um +ĠyaÅŁ ad +ĠyaÅŁad ıģı +à¸Ĺà¸Ķ ลà¸Ńà¸ĩ +Ġgöz ü +ש ×Ļר×Ķ +дÑĥм ал +Ġda ģı +Ġdaģı t +à¸Ĺีม à¸ĩาà¸Ļ +Ġti á»ģm +ĠاÙĦÙĥ بر +ĠاÙĦÙĥبر Ùī +ì¹ Ń +ĠGü nc +ĠGünc elle +ĠGüncelle me +ê¹ Ĭ +ĠобоÑĢÑĥд ование +ĠÑĢеÑĪ Ð° +á» ¤ +Ġп иÑĤ +ĠпиÑĤ аниÑı +à¹Ģรีย à¸ļ +×Ľ×ª ×Ļ×ij×Ķ +Ġп он +Ġпон ÑĢав +ĠпонÑĢав и +Ġ×Ķ ×ķ׾×ĵ +Ġ×Ķ×ķ׾×ĵ ת +Ġê² ģ +Ġê²ģ ëĭĪëĭ¤ +ĠпеÑĢв ой +ãĥ©ãĤ¤ ãĥķ +ĠÅŁi ir +kr ÄĻ +krÄĻ c +Ġthi á»ĥu +à¹Ģลย à¸Ĺี +à¹Ģลยà¸Ĺี à¹Ģà¸Ķียว +×ĺ×¢ ׳×ķת +ائ ÙĩÙħ +Ġ×IJ ס×ķר +ĠплаÑĤ еж +تر دد +Ġmożli we +Ġkh Ỽ +ĠkhỼ p +تÙģØ§Ø¹ ÙĦ +ĠÑĪ ÐºÐ¾Ð»ÑĮ +ĠÑĪколÑĮ н +ĠÙĤ صة +Ġmét ier +nÄĻ ÅĤa +หล à¹Īà¸Ń +Ġ á»§ng +Ġprz egl +Ġprzegl Äħd +ĠاÙĦÙħ تعÙĦ +ĠاÙĦÙħتعÙĦ ÙĤØ© +ĠÑģÑĭ н +Ġв олн +ãĥĩ ãĥ¼ãĥĪ +ĠÐŃ ÑĤи +Ġк ÑĢоме +à¸Ħ ารà¹Į +׳ק ×ķ×ĵ×Ķ +Ġ׾ש×ŀ ×ķ×¢ +Ġ×ĸ ×ķ׼ר +ï¼ § +ÙĬ ÙİØ§ +Ġgi á»ıi +åĥį ãģı +ĠÑģ ни +ĠÑģни жен +à¹ģà¸Ķ à¸Ķ +รุ à¸Ļ +รุà¸Ļ à¹ģรà¸ĩ +Ġhi á»ĩp +ograf ÃŃa +à¹Ģà¸Ī à¸Ńรà¹Į +Ġдв иг +Ġдвиг аÑĤ +ĠдвигаÑĤ ел +Ġü y +Ġüy eler +Ġüyeler i +Ġб Ñĥк +ĠбÑĥк в +ãĤĤ å¤ļãģı +Ġthi á»ĩt +ĠPa ÃŃs +ĠØ· بÙĬعÙĬ +à¹ģà¸Ī à¸ģ +ĠاÙĦص ØŃÙĬØŃ +Ġapp ré +Ġappré ci +Ġdecis ión +Ġë°ĺ ëĵľ +Ġë°ĺëĵľ ìĭľ +ĠÑĤеб е +ãĤ· ãĥ¼ãĤº +ãĤ·ãĥ¼ãĤº ãĥ³ +Ġд алÑĮн +ĠìĬ ¤ +ĠìĬ¤ ìĬ¤ +ĠìĬ¤ìĬ¤ ë¡ľ +ĠTh á»ĥ +Ġkar ÅŁ +ĠkarÅŁ ıs +ĠkarÅŁÄ±s ında +ĠK ön +ĠKön ig +ив ание +×ij ×ķצע +г лаÑģ +Ġtw ó +Ġtwó rc +à¸Ľà¸ģ à¸Ħร +à¸Ľà¸ģà¸Ħร à¸Ńà¸ĩ +ĠG ÅĤ +ĠGÅĤ ówn +ĠUnter stüt +ĠUnterstüt zung +Ġд ÑĥÑħ +ĠдÑĥÑħ ов +Ø£ ÙħاÙĨ +×Ĺש ש +ت ظ +تظ اÙĩر +ĠлÑİб ом +à¸ķ าร +à¸ķาร าà¸ĩ +Ġkr ól +Ø£ ØŃدث +ì¡Į ëĭ¤ +Ðļ ÑĥÑĢÑģ +ãĥĥ ãĥĦ +×ŀ×§ ×ķ×ij׾ +ĠÑģимв ол +Ġdés orm +Ġdésorm ais +w üns +wüns che +Ñĥ ни +Ñĥни ÑĨип +ÑĥниÑĨип алÑĮн +หลัà¸ģ สูà¸ķร +ÙĨت شر +Ġа л +Ġал к +Ġалк ог +Ġалког ол +ĠÑĥ ÑĩиÑĤÑĭва +à¸ģำ à¸ģัà¸ļ +Ġ׾ פע×ķ׾ +ĠìŰ ê²° +s Äħd +ĠاÙĦØ£ ÙĬ +ĠاÙĦØ£ÙĬ اÙħ +غÙĬ اب +Ġна ÑĢ +ĠнаÑĢ ÐºÐ¾ +×ŀ×ķ×ĵ ×¢ +ĠÑģеÑĢ Ð¸Ð¸ +пиÑģ Ñĭва +สิ ว +ç¶ļ ãģĦãģ¦ +çͳãģĹ è¾¼ãģ¿ +Ġ׾ ×Ĵר +Ġ׾×Ĵר ×ķ×Ŀ +Ġд ем +Ġдем о +Ġë³´ ëĤ´ +تÙĩ دÙĬد +ĠÙħØ´ ÙĬرا +Ġdu y +Ġduy á»ĩt +ĠwiÄĻks ze +Ùħع اÙĬ +ÙħعاÙĬ ÙĬر +ĠG da +ĠGda ÅĦsk +Ġr ah +Ġrah ats +Ġrahats ız +ר ×ķצ×Ķ +l ös +lös ung +ĠТак им +ÑĪ ÐµÐ´ +ÑĪед ÑĪ +ع زÙĦ +Ġרש ×Ļ×ŀת +Ġ׾×Ķ ×Ļ׼ +Ġ׾×Ķ×Ļ׼ ×ł×¡ +Ġп ÑĥÑĤ +ĠпÑĥÑĤ еÑĪ +ĠпÑĥÑĤеÑĪ ÐµÑģÑĤв +Ġnot ÃŃcia +Ġal Ä±ÅŁ +ĠalÄ±ÅŁ ver +ĠalÄ±ÅŁver iÅŁ +ĠwÅĤ os +ĠwÅĤos ów +Ġب غ +Ġبغ داد +Ġver öffent +Ġveröffent licht +ĠKh á +Ġt án +ëIJĺ 기 +Ġë°© 문 +Ùģ ÙĬÙĦ +à¹Ģà¸ģิà¸Ķ à¸Īาà¸ģ +åı¯ æĦĽ +åı¯æĦĽ ãģĦ +à¸ĸ ุà¸ĩ +Ġz ewnÄĻtrzn +à¸łà¸²à¸©à¸² à¸Ńัà¸ĩà¸ģฤษ +Ġmá xima +Ġul us +Ġulus lararası +Ġ׳×Ķ ×ł +à¸Ĥà¹Īาว สาร +ĠìĿĺ ìĤ¬ +à¹Ģหล ืà¸Ńà¸ĩ +Ġد ÙĤ +ĠدÙĤ ائÙĤ +สืà¹Īà¸Ń สาร +ë¨ ¼ +ĠÑģоÑģÑĤоÑı нии +สมา à¸Ħม +á» Ĥ +ĠÐľÐ¾Ñģ ков +ĠÐľÐ¾Ñģков Ñģк +×ŀס ×ķ×Ĵ׾ +ãģĭ ãģĭãĤĬ +ĠTr uyá»ģn +à¹ģà¸Ĥà¹ĩà¸ĩ à¹ģรà¸ĩ +×ŀ×Ĺ ×ĸ×Ļ×§ +à¹Ĥà¸ģ à¹ī +ÙĬس ر +ìĶ © +×IJ ×ķ×§ +×IJ×ķ×§ ×ĺ +×IJ×ķ×§×ĺ ×ķ×ijר +Ġprox imité +ÙħÙĨ Ùĩج +ĠاÙĦج ز +ĠاÙĦجز ائ +ĠاÙĦجزائ رÙĬ +ĠÄIJi á»ĥm +Ġден еж +Ġденеж н +ÙģØŃ ص +Ùģ Ø¦ +ĠÐij Ñĥд +×Ĵ×Ļ×ĵ ×ķ׾ +ĠÐĴ едÑĮ +عÙĦ اÙħØ© +Ġ×IJ×Ĺר ×ķ׳×ķת +ãģĦãģŁãģł ãģĦãģ¦ +سÙĦ ØŃ +ØŃ ÙĦÙħ +ز ÙĪØ§Ø± +Ùĥ سر +×ĺ קס +Ġб ан +Ġбан ков +ĠпÑĢ Ð¾Ð¶ +ĠпÑĢож ива +li wo +liwo ÅĽci +ĠTi ếp +ĠاÙĦÙħÙĨ اسب +ĠاÙĦØ® ÙĬار +ãģĬ ãģĭ +ãģĬãģĭ ãģĴ +à¸Ķà¸Ńà¸ģ à¹Ħมà¹ī +ä mp +ämp fe +à¸ķัà¹īà¸ĩ à¹ĥà¸Ī +Ġза ÑīиÑĤ +ĠзаÑīиÑĤ Ñĭ +ĠTh ưá»Ŀng +Ġص Ùģ +ĠصÙģ ØŃØ© +×Ĺ×ķר ×£ +ãĥIJ ãĥĥãĤ° +Ġ×ĵ ×Ļ×Ĵ +Ġ×ĵ×Ļ×Ĵ ×Ļ×ĺ +Ġ×ĵ×Ļ×Ĵ×Ļ×ĺ ׾×Ļ +Ġ×Ķ×Ĺ ×ķ׾×Ļ×Ŀ +в еÑī +веÑī а +Ġк ÑĥлÑĮÑĤ +ĠкÑĥлÑĮÑĤ Ñĥ +ĠкÑĥлÑĮÑĤÑĥ ÑĢÑĭ +ĠاÙĦاÙĨ ترÙĨت +Ġhö ch +Ġhöch st +Ġíĺ ķ +Ġíĺķ íĥľ +Ġв ой +Ġвой нÑĭ +ÐĽ Ðŀ +ìĭł ìļ© +Ġ×ŀ×ij ×ķס +Ġ×ŀ×ij×ķס ס +×ŀ׳ ×Ļ×¢ +Ġfiyat ı +ĠÑģл Ñĥж +ĠÑģлÑĥж бÑĭ +à¸Ĺั ศ +à¸Ĺัศ à¸Ļ +ãģĵãģ¨ãģĮ å¤ļãģĦ +Ġ×Ķ×ŀש ת +Ġ×Ķ×ŀשת ×ŀש +å¯Ħ ãģĽ +×ŀש׾ ×ķ×Ĺ +æĻĤ çĤ¹ +æĻĤçĤ¹ ãģ§ +à¸ŀร ี +à¸ŀรี à¹Ģมีย +à¸ŀรีà¹Ģมีย รà¹Į +à¸ŀรีà¹Ģมียรà¹Į ลีà¸ģ +Ġdiffic olt +Ġdifficolt Ãł +ãĥ¬ ãĤ¹ãĥĪ +ãĥ¬ãĤ¹ãĥĪ ãĥ©ãĥ³ +สม à¹Ģà¸Ķà¹ĩ +สมà¹Ģà¸Ķà¹ĩ à¸Ī +Ġж ид +Ġжид к +Ġzu peÅĤ +ĠzupeÅĤ nie +ĠÙħ جر +ĠÙħجر د +ãģĮ å§ĭ +ãģĮå§ĭ ãģ¾ +ãĤŃãĥ£ ãĥ© +Ġ×IJ ×ķ×ķ×Ļר +ãģĬ äºĴ +ãģĬäºĴ ãģĦ +Ġpot rÃł +ĠPa ÅĦst +ĠPaÅĦst wo +Ġب ÙĬاÙĨ +ĠبÙĬاÙĨ ات +Ġин огда +ĠÑĢ Ð° +ĠÑĢа ÑģÑĤв +ĠÑĢаÑģÑĤв оÑĢ +Ġ×ĸ ×ŀ׳ +ยิ à¹īม +Ä Ĩ +ãģ¾ ãģķ +ãģ¾ãģķ ãģ« +ãĥķãĤ¡ ãĤ¤ãĥ« +Ġgörd Ã¼ÄŁÃ¼ +สà¸ĩ à¸Ħร +สà¸ĩà¸Ħร าม +ĠArk adaÅŁ +ĠrozwiÄħz ania +×ŀ ×ķ×ĺ +pi ÄĻ +piÄĻ t +ص غر +ส ย +สย าม +ãĤĨ ãģ£ãģıãĤĬ +Ġtr ần +Ġeconom ÃŃa +Ġgeh ören +ãĤ·ãĥ§ ãĥ¼ +ĠsÅĤ ucha +à¸ŀà¸Ń à¹ĥà¸Ī +ĠоÑĤмеÑĤ ил +ÙĨت ÙĤÙĦ +Ġprop ósito +ĠваÑĪ ÐµÐ³Ð¾ +Ġnh ắn +à¹ģà¸ĸ ว +Ġком иÑģ +ĠкомиÑģ Ñģи +waż nie +Ġy avaÅŁ +×ŀ ×Ļ×§ +×ŀ×Ļ×§ ×ķ×Ŀ +ש×IJ׾ ת +Ġyıll arda +ĠÐ ® +ĠЮ ÑĢ +×ł×¡ ×Ļ×ij×ķת +ת צ +תצ ×ķ×Ĵ +Ġод нÑĥ +Ġ à¸Ńยà¹Īาà¸ĩà¹Ħร +Ġà¸Ńยà¹Īาà¸ĩà¹Ħร à¸ģà¹ĩà¸ķาม +ëģ ¼ +à¹Ħล à¹Ī +تس ÙĦÙĬÙħ +بÙĦ اغ +Ġì ī +Ġìī ½ +Ġìī½ ê²Į +ãĥļ ãĥ³ +зв ÑĥÑĩ +ĠW äh +ĠWäh rend +Ġ×Ļ ×Ļת +Ġ×Ļ×Ļת ׼ף +Ġkh uyên +Ġv ẽ +Ġа меÑĢ +ĠамеÑĢ Ð¸Ðº +ĠамеÑĢик ан +ĠамеÑĢикан Ñģк +ع جب +ãĥĽãĥ¼ãĥł ãĥļãĥ¼ãĤ¸ +Ġник ÑĤо +ĠÙĤ Ùİ +ĠÙĤÙİ Ø§ÙĦ +ĠÙĤÙİØ§ÙĦ Ùİ +ÐIJ ÐĹ +Ùħ جÙħÙĪØ¹ +ÙħجÙħÙĪØ¹ ات +Ġnecess itÃł +Ġpob li +Ġpobli żu +Ġph ấn +ĠСо обÑī +ÙħÙĤ اط +ÙħÙĤاط ع +Ġ×Ķצ ×ķר×ļ +la ÅŁtırma +ว ิà¸Ķ +วิà¸Ķ ี +วิà¸Ķี à¹Ĥà¸Ń +Ġ그리 ìĬ¤ +Ġ그리ìĬ¤ ëıĦ +ãĤ¿ãĤ¤ ãĥŁ +ãĤ¿ãĤ¤ãĥŁ ãĥ³ãĤ° +×§×ĺ ×Ĵ×ķר +×§×ĺ×Ĵ×ķר ×Ļ×Ķ +Ġ×Ĺ ×ķפ +Ġ×Ĺ×ķפ ש×Ļ +Ø£ جر +Ġим ени +ĠÑĢан ее +à¹Ģà¸ŀืà¹Īà¸Ńà¸Ļ à¹Ĩ +ĠJes ús +Ñģо един +Ñģоедин ен +Ġר ×Ĺ×ķ×§ +à¹Ĥà¸ļ รา +à¹Ĥà¸ļรา à¸ĵ +ĠH Æ¡n +Ġth áºŃp +تع ÙĬÙĬÙĨ +Ġtart Ä±ÅŁ +ĠtartÄ±ÅŁ ma +ĠGes pr +ĠGespr äch +תר ×ķפ +תר×ķפ ×ķת +Ġcat égorie +Ġоказ Ñĭва +ĠналиÑĩ ие +Ġprésent é +Ġk ull +Ġkull and +Ġkulland ı +Ġü nl +Ġünl ü +ĠÙģ Ùĥرة +из аÑĤоÑĢ +×IJ ×ķ׳ +×IJ×ķ׳ ×Ļ×ij +×IJ×ķ׳×Ļ×ij רס +×IJ×ķ׳×Ļ×ijרס ×Ļ×ĺת +ĠÑĢаÑģÑģ маÑĤ +ĠÑĢаÑģÑģмаÑĤ ÑĢ +ĠÑĢаÑģÑģмаÑĤÑĢ Ð¸Ð²Ð° +تÙĥÙĦ Ùħ +Ùĥت رÙĪ +ÙĥترÙĪ ÙĨÙĬ +ĠÑģо ÑĩеÑĤ +ĠÑģоÑĩеÑĤ а +ãĤĴè¦ĭ ãģĽ +Ġng ừa +ĠÐł еÑģп +ĠÐłÐµÑģп Ñĥб +ĠÐłÐµÑģпÑĥб лик +ãĤ¦ ãĤ© +ãĤ¦ãĤ© ãĥ¼ +ĠÐľ еждÑĥ +ĠìŀĪ ê²Į +Ġm â +ĠìļĶ ì²Ń +ض ار +ลุ à¹īà¸Ļ +ëĮĢ íķĻêµIJ +×ĸ ×Ļ׼ +×ĸ×Ļ׼ ר×ķף +ãĤ¹ ãĥļ +ãĤ¹ãĥļ ãĥ¼ãĤ¹ +ĠкÑĢаÑģ оÑĤ +ï¼ ¨ +ê¼ Ń +ãĤĴ éĽĨ +ãĤĴéĽĨ ãĤģ +ë° Ŀ +Ġ×Ķ׳ ×IJ +Ġ×Ķ׳×IJ ש×Ŀ +Ġê°Ģ ìļ´ +Ġê°Ģìļ´ ëį° +تÙĥÙĦ Ù쨩 +ĠØŃ ÙĤÙĬÙĤÙĬ +Ġh alk +Ġhalk ın +ÑİÑī ÑĥÑİ +ĠÑģп ин +סר×ĺ ף +ĠпеÑĢв ого +Ġпол ож +Ġполож иÑĤелÑĮн +Ġд л +Ġдл иÑĤелÑĮн +ĠV Ä©nh +ê´ ´ +ĠÑģÑĭ ÑĢ +ĠíĨµ íķĺìŬ +ë³ij ìĽIJ +à¹Ĥรà¸ĩ à¸ĩาà¸Ļ +รัà¸ļ à¸ľà¸´à¸Ķ +รัà¸ļà¸ľà¸´à¸Ķ à¸Ĭà¸Ńà¸ļ +تج ÙĨب +s ÅĤ +sÅĤ uch +ãĤ¢ãĥ« ãĥIJ +ãĤ¢ãĥ«ãĥIJ ãĥł +ëī´ ìĬ¤ +Ġpat ië +Ġpatië nt +Ġìĺ ¤í +Ġìĺ¤í ŀ +Ġìĺ¤íŀ Ī +Ġìĺ¤íŀĪ ëł¤ +ĠDer ne +ĠDerne ÄŁi +wró ci +wróci Äĩ +Ġоб Ñī +ĠобÑī еÑģÑĤв +ĠобÑīеÑģÑĤв енно +ĠêµIJ ìĪĺ +tıģ ımız +Ġ×Ķ×ŀש ×Ļ×ij +k örper +Ġпозв ол +Ġпозвол иÑĤ +ĠChi ến +أخ ÙĪ +ĠAy dın +à¸Ķà¹īาà¸Ļ ล +à¸Ķà¹īาà¸Ļล à¹Īาà¸ĩ +Ġdr u +Ġdru ż +Ġdruż yn +Ġë°ľ íijľ +ĠTh ảo +جÙĩ اد +à¸ģระà¸Ĺ ูà¹ī +Ġк ÑĢов +ĠкÑĢов и +Ġiçer ik +Ġnad zie +Ġnadzie jÄĻ +ĠС моÑĤÑĢ +Ġph ức +ج تÙħاع +جتÙħاع ÙĬØ© +ком пон +компон енÑĤ +Ġб ил +Ġбил еÑĤ +ãĥIJ ãĥ³ãĥī +ĠPol ÃŃcia +اÙĦ تÙĩ +اÙĦتÙĩ اب +ØŃر Ùģ +ت خط +تخط ÙĬØ· +ãĤ³ ãĥ¼ãĥ +ãĤ³ãĥ¼ãĥ Ĵ +ãĤ³ãĥ¼ãĥĴ ãĥ¼ +・・ ï½¥ +à¸ĭ à¸Ńย +Ġcréd it +è²· ãģ£ãģŁ +ĠпоÑĢ Ñıд +ĠпоÑĢÑıд ке +Ġph ó +Ġw ida +Ġwida Äĩ +جر ائÙħ +à¸ľ ี +ĠbÄĻd ÄĻ +Ġ×ŀ פת×Ĺ +ãĥij ãĥ¼ãĥ +ãĥijãĥ¼ãĥ Ĩ +ãĥijãĥ¼ãĥĨ ãĤ£ +ãĥijãĥ¼ãĥĨãĤ£ ãĥ¼ +ĠKa ż +ĠKaż dy +ĠнеобÑħодим оÑģÑĤи +à¸Ł à¸Ńรà¹Į +à¸Łà¸Ńรà¹Į ม +Ġмал ÑĭÑĪ +Ġпл оÑĤ +ĠÑĥ ÑģÑĤÑĢой +ĠÑĥÑģÑĤÑĢой ÑģÑĤва +à¸ĸ à¸Ńà¸Ļ +ĠoluÅŁtur ul +ĠÅĽwi ad +ĠÅĽwiad om +Ùħع Ùĩد +ĠпÑĢоиз веден +Æ ł +ר ×Ļש +Ùħست Ø« +Ùħستث Ùħر +׳×Ļ ×Ļר +pa ñ +Ġ; -) +Ġë°ľ 견 +Ġgör üyor +Ùħؤ ÙĦÙģ +ĠÄIJ á»ģ +ĠاÙĦÙĨ ÙĪØ§Ø¨ +×Ĺ×§ ×Ļר×Ķ +Ġm á»ıi +è¿° ãģ¹ +ÐĿ ик +ìŀĸ ìķĦ +ìŀĸìķĦ ìļĶ +prowadzi ÅĤ +l óg +lóg ica +פס ×ĺ +פס×ĺ ×Ļ×ij׾ +Ġ×ŀ ×ĵ×Ķ +Ġ×ŀ×ĵ×Ķ ×Ļ×Ŀ +ãģĵãģĵ ãģ¾ãģ§ +×Ķ ×ª×Ĺ +×Ķת׊׾×Ķ +Ġפ ×ķס +Ġפ×ķס ×ĺ×Ļ×Ŀ +Ġн ев +Ġнев оз +Ġневоз можно +ĠdostÄĻp ny +Ġغ اÙĦ +ĠغاÙĦ ب +Ġbez pieczeÅĦst +ĠbezpieczeÅĦst wa +åĪĨ ãģĭãĤĭ +ĠF ührung +à¸ģ ีà¹ī +gem Ã¤ÃŁ +à¸Ĭà¹Īวà¸ĩ à¹Ģวลา +Ġìļ°ë¦¬ ëĤĺ +Ġìļ°ë¦¬ëĤĺ ëĿ¼ +ãģ¥ ãģıãĤĬ +ĠاÙĦÙħ سÙĦ +ĠاÙĦÙħسÙĦ ØŃØ© +Ġlibert é +клÑİÑĩ ение +Ġzam ów +Ġzamów ienia +รà¸ĸ à¹Ħà¸Ł +Ø£ ÙģÙĦ +Ø£ÙģÙĦ اÙħ +Ùħ راج +Ùħراج عة +Ġë¹Ħ êµIJ +ĠاÙĦت اب +ĠاÙĦتاب عة +Ġë§Į ëĤĺ +Ġб Ñĥм +ĠбÑĥм аг +Ġgé nero +Ġìŀĺ 못 +×ŀ פ×ķר×ĺ +è²·ãģĦ çī© +ĠÙĦدÙĬ Ùĥ +Ġ×ľ×¢ ×Ļת +Ġ×ľ×¢×Ļת ×Ļ×Ŀ +ĠsÅĤ ab +ĠпÑĢедÑģÑĤав лÑı +ãĤ¿ ãĤ¤ãĥĪ +ãĤ¿ãĤ¤ãĥĪ ãĥ« +Ùħ ص +Ùħص Ø·Ùģ +ÙħصطÙģ Ùī +Ġdifficult é +ãĥĨãĤ£ ãĥĸ +Ġpew noÅĽci +ĠpewnoÅĽci Äħ +Ġ무 ìĬ¨ +Ø¥ رس +إرس اÙĦ +Ġд алÑĮ +ĠдалÑĮ ÑĪе +Ġ׾ ×ł×¡ +Ġ×ľ×ł×¡ ×ķת +หมูà¹Ī à¸ļà¹īาà¸Ļ +×ŀס×ŀ ׼×Ļ +أسÙĦ ÙĪØ¨ +Ġzw ÅĤ +ĠzwÅĤ as +ĠzwÅĤas zc +ĠzwÅĤaszc za +ĠпÑĢ ÐµÐ¶ +ĠпÑĢеж де +ĠоÑĢганиз аÑĨиÑı +Ġdön emin +Ġdönemin de +Ġ Ủ +ĠỦ y +ä¸ĭ ãģĴ +ĠпоÑģлед ние +Ġgü ne +Ġgüne ÅŁ +Ġ×IJ ×ĸר +Ġ×IJ×ĸר ×Ĺ×Ļ +ãģ§ãģĤ ãĤįãģĨ +ĠÙĨ ÙĤ +ĠÙĨÙĤ اط +æŃ£ ãģĹãģĦ +ĠÑĢ ÐµÐ³ +ĠÑĢег иона +ĠFör der +ê²½ ìĺģ +dıkl ar +dıklar ını +trzym aÄĩ +أش Ùĥ +أشÙĥ اÙĦ +×Ķת ×IJ +×Ķת×IJ ×ŀ×Ķ +à¸Ĺำà¹ĥหà¹ī à¹Ģà¸ģิà¸Ķ +ĠGeb ä +ĠGebä ude +ĠСеÑĢ Ð³ +ĠСеÑĢг ей +Ġз доÑĢов +ĠздоÑĢов ÑĮÑı +Ġr ãi +ĠпÑĢед ÑĥÑģ +ĠпÑĢедÑĥÑģ моÑĤÑĢ +ĠпÑĢедÑĥÑģмоÑĤÑĢ ÐµÐ½ +Ġ×Ķצ ×Ļ×ij +Ġ×Ķצ×Ļ×ij ×ķר×Ļ +Ġdés ir +Ġн оÑĩ +ĠноÑĩ ÑĮ +möglich keiten +Ġ×IJ×Ĺר ×ķ׳×Ļ×Ŀ +Ġsoir ée +ĠNh áºŃn +Ù ª +à¸Ľà¸£à¸°à¸§à¸±à¸ķิ ศาสà¸ķรà¹Į +êµIJ íĨµ +ĠØ£ Ø®ÙĬ +Ġdé cid +Ġdécid é +Ġwy ja +Ġwyja ÅĽni +Ġ สิ +Ġสิ à¸ĩ +Ġสิà¸ĩ หา +Ġสิà¸ĩหา à¸Ħม +à¹ģ à¸Ńรà¹Į +หà¸Ļà¹īา à¸Īà¸Ń +ס תר +Ġê ¶ +Ġê¶ Į +Ġê¶Į 리 +pl ätze +ب Ø·ÙĦ +ê±´ ìĦ¤ +Ġ×IJ ×Ļ×ŀ×Ļ +Ġ×IJ×Ļ×ŀ×Ļ ×Ļ׾ +ãģ ½ +تر اث +×IJ׾ ×Ļ×ŀ×ķת +Ġdispon ÃŃveis +Ġz ale +Ġzale ży +à¸Ľà¸£à¸°à¸Ĭา สัมà¸ŀัà¸Ļà¸ĺà¹Į +ĠÅļw iat +Ġpor ówn +Ġporówn a +Ġ׾×ĺ ×ķ×ijת +×Ķ×ĸ ×ŀ׳×Ķ +Ġ×Ľ×ª ×ķצ×IJ×Ķ +Ġ×ij ק׾ +Ġ×ijק׾ ×ķת +ĠоÑĤ кÑĢ +ĠоÑĤкÑĢ Ñĭва +ãĥij ãĥ¯ãĥ¼ +ë¿IJ ë§Į +Ġв ÑģÑı +ĠвÑģÑı к +ãģ¨ãģª ãģ£ãģ¦ãģĦãĤĭ +Ġgi áºŃn +Ġок ÑĢÑĥ +ĠокÑĢÑĥ жа +ĠокÑĢÑĥжа ÑİÑī +ĠUnivers ität +ĠÑĢ Ð¾Ð¶ +ĠÑĢож д +ĠÑĢожд ениÑı +Ø® ÙĬÙĦ +Ġкомпани й +ĠÑĢазлиÑĩ нÑĭе +ĠЦ ена +׳×Ļ ×ķ×ĸ +׳×Ļ×ķ×ĸ ׾ +׳×Ļ×ķ×ĸ׾ ×ĺר +Ġê³µ ê°Ħ +Ġê°ľ ëħIJ +landır ma +ĠÑĥдал ен +à¸ŀัà¸ģ à¸ľ +à¸ŀัà¸ģà¸ľ à¹Īà¸Ńà¸Ļ +Ġprote cción +Ġb ÅĤ +ĠbÅĤ ÄĻd +Ã Ī +Ġíĸī ë³µ +ĠÅŁ ü +ĠÅŁÃ¼ phe +Ġí Ķ +ĠíĶ ¼ +Ġíͼ íķ´ +Ġëĭ¤ 르 +à¹Ħมà¹Ī à¹Ģà¸ģิà¸Ļ +ãģ¿ ãģª +ãģ¿ãģª ãģķãĤĵ +ĠпоÑĤ ÑĢеб +ĠпоÑĤÑĢеб иÑĤел +ĠاÙĦÙĥÙĦ اÙħ +ìķĦ ë²Ħ +ìķĦë²Ħ ì§Ģ +ãĤĴ使 ãģ£ãģŁ +Ġbụ i +ĠпоÑĤ еÑĢ +ĠпоÑĤеÑĢ Ñı +ĠØ¢ ÙĦاÙģ +ĠнаÑģÑĤоÑıÑī ее +ãģıãģªãĤĬ ãģ¾ãģĹãģŁ +clus ão +ãĤ³ ãĥĶãĥ¼ +צ פ×Ļ +צפ×Ļ ×Ļ×Ķ +Ø® ÙĦا +Ø®ÙĦا ص +ล à¹īำ +ãĥ¯ ãĤ¤ãĥ³ +Ġมี à¸Ļา +Ġมีà¸Ļา à¸Ħม +Ø´ خص +شخص ÙĬات +Ġ×ĸ ×§ +Ġ×ĸ×§ ×ķ×§ +×Ļ ×Ļצ +×Ļ×Ļצ ×Ĵ +èĢĥãģĪ æĸ¹ +Ġürün ü +ĠиÑģп ол +ĠиÑģпол ни +Ġcompañ ero +×§ צ×Ķ +×ŀ×¢ ׳×Ļ×§ +Ùħ ØŃÙħد +Ġc ámara +Ġп ед +Ġпед аг +Ġпедаг ог +м аÑĢ +маÑĢ Ðº +×Ķת ׳×Ĵ×ĵ +ĠìĨĮ ê°ľ +Ġcom unitÃł +ê³ ¤ +ĠNg Ãłi +สà¸ĩ à¸ļ +ĠmieszkaÅĦ ców +ĠÙĨ ÙĩائÙĬ +iv ité +Ġи де +Ġиде алÑĮн +ĠØ£ سبÙĪØ¹ +Ġ×Ļ ×¢×ľ +Ġ׾ ר×IJש +Ġ׾ר×IJש ×ķ׳×Ķ +ĠзапиÑģ и +ĠкоÑĢ Ð¿ÑĥÑģ +วà¸ĩ ศ +วà¸ĩศ à¹Į +ĠÐĶ Ð¼ +ĠÐĶм иÑĤ +ĠÐĶмиÑĤ ÑĢ +Ġkön nt +Ġböl ges +Ġbölges inde +׼ ×Ļ׼ +׼×Ļ׼ ר +ĠاÙĦØ¥ Ø«ÙĨ +ĠاÙĦإثÙĨ ÙĬÙĨ +Ġng á»Ļ +ì¹ ł +د راج +Ġu da +Ġuda ÅĤo +ìº IJ +بر ÙĨاÙħج +ĠÑģÑĥд еб +ĠÑģÑĥдеб н +Ġzun ächst +ĠEduc ación +ãģ¨ãģª ãģ£ãģ¦ãģĦãģ¾ãģĻ +Ġ×Ķ×IJ ×ŀ×Ļת×Ļ +Ġİ nt +Ġİnt ernet +ĠcaÅĤ ego +ãĥĹãĥª ãĥ³ +Ø¥ بد +إبد اع +ĠпоÑĢ ÑĤал +à¹Ĥà¸ķ à¹ī +Ġ×Ķ×§ ש×ķר +пл од +ĠÙħ د +ĠÙħد رÙĬد +×ŀסע ×ĵ×Ķ +ĠØ´ÙĬ ئ +ĠØ´ÙĬئ ا +à¸ģà¹Īà¸Ń สรà¹īาà¸ĩ +Ġì°¸ ê³ł +à¹Ģà¸Ĺ ร +à¹Ģà¸Ĺร à¸Ķ +Ġ×ij×ŀ קר×Ļ×Ŀ +Ġb ât +Ġbât iment +åij¼ ãģ³ +ç´ł æķµ +ç´łæķµ ãģª +przedsiÄĻbior st +przedsiÄĻbiorst w +Ġ×ł×ª ×ķ׳×Ļ×Ŀ +×Ĺ׾ ×ķ×Ŀ +ร วย +Ùħ ÙĪØ¶ÙĪØ¹ +ĠÑģоб ÑĢан +вед ÑĥÑī +ĠÑĤе аÑĤ +ĠÑĤеаÑĤ ÑĢ +m eye +meye ceÄŁi +Ġpien iÄħ +ĠpieniÄħ d +ĠpieniÄħd ze +ÑĢез иденÑĤ +ØŃ صر +ìĺ ¥ +à¹Ģย ืà¸Ńà¸Ļ +ĠÑĥ ни +ĠÑĥни веÑĢ +ĠÑĥнивеÑĢ Ñģ +ĠÑĥнивеÑĢÑģ иÑĤеÑĤ +ĠاÙĦر ØŃ +ĠاÙĦرØŃ ÙħÙĨ +ĠÑĤеÑħ нолог +ĠÑĤеÑħнолог ии +ìĹIJ ëĦĪ +ìĹIJëĦĪ ì§Ģ +Ġíķ Ń +ĠíķŃ ìĥģ +à¸ĺ า +à¸ĺา à¸ķุ +ĠEspañ ol +×ĵ×Ĵ ש +Ġêµ ī +Ġêµī ìŀ¥ +Ġêµīìŀ¥ íŀĪ +ĠÅĤ at +ĠÅĤat wo +Ġk á»ĭch +Ø¥ ز +إز اÙĦØ© +ĠдейÑģÑĤв ие +ĠsaÄŁ layan +สุà¸Ķ ยà¸Ńà¸Ķ +Ġzosta Äĩ +Ġdispon ÃŃvel +ïº į +ver ständ +verständ lich +tw or +twor zyÄĩ +ع جز +à¹Ģà¸Ĥ à¹īม +ยà¹Ī à¸Ńม +Ġstrat ég +Ġstratég ie +à¸ľà¸¥ à¹Ħมà¹ī +Ġê°ģ ì¢ħ +ĠÙħ ÙĪØ§ +ĠÙħÙĪØ§ ض +ĠÙħÙĪØ§Ø¶ ÙĬع +اØŃ تج +اØŃتج اج +Ġ Ấ +ĠẤ n +×ŀ ×ŀש׾×Ķ +ĠÅŁek il +×ŀ ×Ĺ׾ +×ŀ×Ĺ׾ ×ķת +Ġ à¸ĺ +Ġà¸ĺ ัà¸Ļ +Ġà¸ĺัà¸Ļ วา +Ġà¸ĺัà¸Ļวา à¸Ħม +Ġìĭ¤ ìłľ +Ġìĭ¤ìłľ ë¡ľ +ì¤ij ìķĻ +ëįĶ ëĿ¼ +ĠÑĪ Ð¸ÑĢ +ĠÑĪиÑĢ Ð¾ÐºÐ¾ +Ġsol ución +วาà¸ĩ à¹ģà¸ľà¸Ļ +×IJ×ķ×ĺ ×ķ×ŀ +×IJ×ķ×ĺ×ķ×ŀ ×ĺ×Ļ +ĠÑĢ ÐµÑģÑĤ +ĠÑĢеÑģÑĤ оÑĢ +ĠÑĢеÑģÑĤоÑĢ Ð°Ð½ +ëį ¸ +ÑĤ ÑĢад +ÑĤÑĢад и +ÑĤÑĢади ÑĨион +ÑĤÑĢадиÑĨион н +มะ à¹Ģรà¹ĩ +มะà¹Ģรà¹ĩ à¸ĩ +à¹Ĥ ส +Ġol masını +×ŀ×ķס ר +ĠоÑĤноÑĪ ÐµÐ½Ð¸Ð¸ +Ġê°ĢëĬ¥ ìĦ± +Ġy uk +Ġyuk arı +ìĨ Ķ +ĠÑģ ÑĦ +ĠÑģÑĦ еÑĢе +Ġ×§ ×ķפ +ãĤ± ãĥ¼ãĤ +ãĤ±ãĥ¼ãĤ Ń +âĢķ âĢķ +ĠاÙĦØ£ ÙĦÙħ +ĠاÙĦØ£ÙĦÙħ اÙĨÙĬ +Ả N +ת×ķ׼ ׳×Ļ×ķת +ĠÑģÑĥÑīеÑģÑĤв ÑĥеÑĤ +æĪij ãĢħ +ĠاÙĦص ادر +ĠTr á»įng +Ġа д +Ġад миниÑģÑĤ +ĠадминиÑģÑĤ ÑĢа +ĠадминиÑģÑĤÑĢа ÑĨи +ĠдÑĢÑĥг ими +Ñģп еÑĪ +عÙĦاÙħ ات +Ġа б +Ġаб Ñģол +ĠабÑģол ÑİÑĤ +ĠабÑģолÑİÑĤ но +ฤ à¸Ķู +é tr +étr anger +нÑı ÑĤи +нÑıÑĤи е +×¢ ×ķ׳ +×¢×ķ׳ ש +ĠÙĤ ائ +ĠÙĤائ ÙĦا +Ġм аÑģ +ĠмаÑģ ло +ãĥī ãĤ¤ +ãĥīãĤ¤ ãĥĦ +å¿ħè¦ģ ãģĮãģĤãĤĬãģ¾ãģĻ +×ŀ×ķ×ĸ ×Ļ×IJ +×ŀ×ķ×ĸ×Ļ×IJ ×ķף +ĠNgo ại +Ġkê nh +à¸ģาร à¸Ńà¸Ńà¸ģà¹ģà¸ļà¸ļ +×ŀ פק +×ŀפק ×ĵ +ÙħÙĨ از +ÙħÙĨاز ÙĦ +ë· ° +íĹ ¤ +ÙħÙĩ ارات +Ġpropri été +פ×Ĵ ×Ļש×Ķ +Ñĩ ÑĢ +ÑĩÑĢ ÐµÐ¶ +ÑĩÑĢеж ден +×Ķ ×ķצ×IJ×Ķ +ØŃÙĥ ÙĬÙħ +ĠíĻ Ī +ĠíĻĪ íİĺìĿ´ì§Ģ +åİ ³ +åݳ ãģĹãģĦ +×¢ ×ŀ×ĵ×Ķ +ĠAu ÃŁen +سÙĪ Ø¡ +ë¹ Ī +ĠÙĪ Ø® +ĠÙĪØ® اصة +ин ÑĤеÑĢ +инÑĤеÑĢ ÐµÑģ +èĩ´ ãģĹãģ¾ãģĻ +Ġhük üm +à¹Ħà¸Ĥ มัà¸Ļ +Ġdav ran +Ġdavran Ä±ÅŁ +à¹Ģà¸ķ ียà¸ĩ +в ÑĢем +вÑĢем енно +à¹Ģà¸Ĺศ à¸ģา +à¹Ģà¸Ĺศà¸ģา ล +å¼ķ ãģ£ +å¼ķãģ£ è¶ĬãģĹ +×IJר ×ķ×Ĺ +×IJר×ķ×Ĺ ×ª +à¹Ģ วิ +à¹Ģวิ รà¹Į +à¸Ńยà¹Īาà¸ĩ รวà¸Ķà¹Ģรà¹ĩว +ĠìŬ íĸī +ĠÑĢан ÑĮ +ĠÑĢанÑĮ ÑĪе +Ġzob ow +Ġzobow iÄħ +ĠzobowiÄħ z +Ġ×ķ׼ ×ŀ×ķ×ijף +ĠاÙĦÙħ Ùĩ +ĠاÙĦÙħÙĩ ÙĨÙĬ +ãĤ¢ ãĤ¸ +ãĤ¢ãĤ¸ ãĤ¢ +ë°© ìĨ¡ +à¸Ńà¸Ńà¸ģ à¸ģำลัà¸ĩ +à¸Ńà¸Ńà¸ģà¸ģำลัà¸ĩ à¸ģาย +am éli +améli orer +å½ĵãģŁãĤĬ åīį +Ġreg elm +Ġregelm Ã¤ÃŁig +ãģĬ åĭ +ãģĬåĭ § +ãģĬåĭ§ ãĤģ +Ġm ưá»Ŀi +بر Ùħج +ĠNat ürlich +ĠD Å©ng +ĠاÙĦر جاÙĦ +Ġthé p +Ġol muÅŁtur +×ŀ×ķס ×Ļ×§×Ķ +f älle +주 íĥĿ +ĠاÙĦÙģ Ø±Øµ +Ġnaj wiÄĻks +ĠnajwiÄĻks zy +Ġça ÄŁ +ĠçaÄŁ rı +ì¸ ł +ĠvÃŃ ct +ĠvÃŃct ima +ĠÑģовеÑĢ ÑĪен +×Ķ×Ļ ×Ļת×Ļ +à¹Ģà¸Ķ ี +à¹Ģà¸Ķี à¹ĭ +à¹Ģà¸Ķีà¹ĭ ยว +ü yü +Ġд оп +Ġдоп олн +Ġдополн иÑĤелÑĮно +à¹ģà¸ķà¸ģà¸ķà¹Īาà¸ĩ à¸ģัà¸Ļ +Ġá l +Ġál bum +à¸Ľà¸£à¸°à¸Īำ à¸Ľà¸µ +ĠÑĦ едеÑĢ +ĠÑĦедеÑĢ Ð°Ð»ÑĮн +Ġobs ÅĤ +ĠobsÅĤ ugi +à¹Ģร ืà¹Ī +à¹Ģรืà¹Ī à¸Ńย +à¹Ģรืà¹Īà¸Ńย à¹Ĩ +ëģ Į +Ġngh ìn +ĠBaÅŁkan lıģı +تأ سÙĬ +تأسÙĬ س +Ġ×ij×ij ×ķקר +Ġ×¢×ij×ķ×ĵ ×ķת +Ġبص ÙĪØ±Ø© +ãĤıãģij ãģ§ãģ¯ãģªãģĦ +führ er +ãĤ¹ ãĤŃ +ãĤ¹ãĤŃ ãĥ« +ĠاÙĦÙĤ ض +ĠاÙĦÙĤض ÙĬØ© +Ġдолж ноÑģÑĤ +ÙģØ§Ø± ÙĤ +Ġcomeç ou +Ġorganis é +Ġxu ân +ĠÑģообÑī аеÑĤ +ĠпÑĢи д +ĠпÑĢид еÑĤÑģÑı +TÃľ RK +ãĥ¬ ãĥ¼ãĤ·ãĥ§ãĥ³ +Kh ông +است Ùģ +استÙģ Ø§Ø¯Ø© +ä¸ĬãģĮ ãģ£ãģ¦ +Ġum ie +Ġumie jÄĻ +ĠumiejÄĻ tn +ĠumiejÄĻtn oÅĽci +ëĤ ¸ +à¹Ģà¸Ļ à¸Ńรà¹Į +×ĵ×ķ ×ķ×Ĺ +ÃŃs imo +I ÃĬ +IÃĬ N +Ġalcan ç +Ġ à¸ķุ +Ġà¸ķุ ลา +Ġà¸ķุลา à¸Ħม +ש׾ ×ĺ×ķף +Ġél è +Ġélè ves +ĠÄij u +ĠÄiju á»ķi +ĠØ£ Ùģ +ĠØ£Ùģ Ø±ÙĬ +ĠØ£Ù쨱ÙĬ ÙĤÙĬ +ĠØ£Ù쨱ÙĬÙĤÙĬ ا +ãĤĴæİ¢ ãģĻ +ĠпÑĢед ложениÑı +ج اد +ĠÑħоÑĤ ÑĮ +Ñģ ал +Ñģал он +à¸Ľà¸£à¸° à¹Ģม +à¸Ľà¸£à¸°à¹Ģม ิà¸Ļ +ãĤŃ ãĥĥãĥģ +ãĤŃãĥĥãĥģ ãĥ³ +×ij×ĵ×Ļ×§ ×ķת +Ġch ù +Ġchù a +ÐĴ иде +ÐĴиде о +иÑĢов ка +ĠÑħоÑĤ иÑĤе +Ġspéc ifique +รส à¸Ĭาà¸ķิ +è¾¼ ãĤĵãģł +伸 ãģ³ +×Ķצ׾ ×Ĺת +ãģ©ãģ® ãĤĪãģĨãģ« +سع ادة +Ġл ид +Ġлид еÑĢ +ม à¸ĩ +มà¸ĩ à¸Ħล +ØŃ اÙħÙĦ +หล ุà¸Ķ +à¸Ńยà¹Īาà¸ĩ à¸ķà¹Īà¸Ń +à¸Ńยà¹Īาà¸ĩà¸ķà¹Īà¸Ń à¹Ģà¸Ļืà¹Īà¸Ńà¸ĩ +ãģķãģĽãģ¦ éłĤ +تس ÙĪÙĬ +تسÙĪÙĬ ÙĤ +ĠaÅŁaģı d +ĠaÅŁaģıd aki +ĠÑĨ елÑĮ +ĠÑĨелÑĮ Ñİ +ĠAra ÅŁtırma +à¸Ĥัà¸ļ รà¸ĸ +Ùĩ ذÙĩ +ลà¸ĩ à¸Ĺะ +ลà¸ĩà¸Ĺะ à¹Ģà¸ļ +ลà¸ĩà¸Ĺะà¹Ģà¸ļ ียà¸Ļ +تÙĥ اÙħÙĦ +Ġc io +Ġcio è +ãģ¦ ãģĬãģı +ĠاÙĦصØŃ ÙģÙĬ +ĠíĬ¹ ìłķ +полн иÑĤÑĮ +ãĤĵ ãģĺãĤĥãģªãģĦ +ãĤĵãģĺãĤĥãģªãģĦ ãģĭ +ĠاÙĦج Ùĩ +ĠاÙĦجÙĩ ات +ĠÑĥÑģпеÑĪ Ð½Ð¾ +Ġв ок +Ġвок ÑĢÑĥг +ĠÑģиÑĤÑĥ аÑĨиÑı +Ġ×Ķ×IJ ×ŀר +Ġ×Ķ×IJ×ŀר ×Ļ×§ +Ġ×Ķ×IJ×ŀר×Ļ×§ ×IJ×Ļ +×ŀ ×Ĵ×ĸ +×ŀ×Ĵ×ĸ ×Ļף +Ġак ÑĤÑĥ +ĠакÑĤÑĥ алÑĮн +é ta +éta is +Ġmog ÅĤa +ĠÑĤоÑĩ ки +Ġ×ŀ×Ķ ×ŀ×¢ +Ġ×ŀ×Ķ×ŀ×¢ ×¨×Ľ×ª +มี à¸Ľà¸£à¸°à¸ªà¸´à¸Ĺà¸ĺà¸´à¸łà¸²à¸ŀ +×Ļר ×Ļ×ĵ×Ķ +×Ĵר ×ŀ׳ +×Ĵר×ŀ׳ ×Ļ×Ķ +Ġг лав +Ġглав ное +Ġ미 ëŀĺ +Ġ׳׼ ×ķ׳×Ķ +ĠÙĪ Ø·ÙĨÙĬ +op port +opport unitÃł +Ġh á»§y +ĠÙĦ تØŃ +ĠÙĦتØŃ ÙĤÙĬÙĤ +Ġó rg +Ġórg ão +ãĤ¹ ãĥĶ +ãĤ¹ãĥĶ ãĥ¼ãĥī +Ġön ü +Ġönü ne +Ùħع اÙħÙĦ +ש×ŀ ×Ļר×Ķ +ĠвеÑģÑĮ ма +ĠwiÄĻks zo +ĠwiÄĻkszo ÅĽÄĩ +Ġاست راتÙĬج +ĠاستراتÙĬج ÙĬØ© +ĠÙģ Ø¥ +ĠÙ쨥 ذا +à¹Ģà¸Ĭืà¹Īà¸Ń ม +à¹Ģà¸Ĭืà¹Īà¸Ńม à¸ķà¹Īà¸Ń +Ġ׾ פר +Ġ׾פר ×ĺ×Ļ×Ŀ +Ùħض ÙĬ +ĠGer çek +Ġçocuk ların +ÙĪØ« ائÙĤ +ĠÙħساء Ùĭ +Ġunterstüt zt +Ġpré st +Ġprést amo +ĠÐłÐ°Ð· меÑĢ +ĠÅŁ eker +Ġsé culo +×ij×Ķ ×Ļר +Ø´Ùĩ ÙĪØ± +Ġ à¸Ńีà¸ģ +Ġà¸Ńีà¸ģ à¸Ĺัà¹īà¸ĩ +Ġlleg ó +à¸¨à¸´à¸¥à¸Ľ ะ +æĪij ãģĮ +æĪijãģĮ å®¶ +ع ÙĤÙĪ +عÙĤÙĪ Ø¨Ø§Øª +ĠF älle +Ġs ÅĤuż +ĠsÅĤuż b +ĠاÙĦØŃÙĤ ÙĪÙĤ +Ġпл иÑĤ +Ġи ноÑģÑĤ +ĠиноÑģÑĤ ÑĢан +ĠиноÑģÑĤÑĢан н +à¹ĥà¸Ļ à¸Ĥà¸ĵะà¸Ĺีà¹Ī +ãĤ« ãĥĨ +ãĤ«ãĥĨ ãĤ´ +ãĤ«ãĥĨãĤ´ ãĥª +à¸Ńิ ส +à¸Ńิส ระ +à¹Ģà¸ľà¸¢ à¹ģ +à¹Ģà¸ľà¸¢à¹ģ à¸ŀร +à¹Ģà¸ľà¸¢à¹ģà¸ŀร à¹Ī +ãģĬ ãģĦ +ãģĬãģĦ ãģĹãģĦ +است ÙĤÙĦ +استÙĤÙĦ اÙĦ +تØŃ ض +تØŃض ÙĬر +åĬ© ãģij +Ùħر اÙģÙĤ +Ġ×ĵ ×ķר +Ġ×ĵ×ķר ש +×ŀת×Ļ ×Ļ×Ĺס +ס ×Ļ׼ +ס×Ļ׼ ×ķ×Ŀ +íĮĮ íĬ¸ +Ġwy ÅĽ +ĠwyÅĽ w +ĠwyÅĽw iet +ĠwyÅĽwiet l +ĠاÙĦاÙĨ ساÙĨ +ĠStra ÃŁen +ï¼ ¬ +ãģ« åŁº +ãģ«åŁº ãģ¥ +Ġcap ÃŃtulo +ลุ ย +Ġ×Ķ×ŀ×§ צ×ķ×¢×Ļ +ãģĤãĤĭ ç¨ĭ度 +á» ¢ +ĠاÙĦ ÙĦا +ĠاÙĦÙĦا زÙħØ© +æķĻ ãģĪ +Ġרש ×IJ×Ļ +з ав +зав иÑģ +завиÑģ им +à¸Ľà¸±à¸Ī à¸Īัย +à¹Ģà¸ĭ ล +à¹Ģà¸ĭล ลà¹Į +Ġdiffé rence +ĠAlt ın +Ġк ÑĢай +ĠкÑĢай не +Ġз ло +Ġgün ümüz +Ġн аÑĤÑĥÑĢ +ĠнаÑĤÑĥÑĢ Ð°Ð»ÑĮн +×Ĵ×ķ׾ ש×Ļ×Ŀ +Ġк аÑĤегоÑĢ +ĠкаÑĤегоÑĢ Ð¸Ð¸ +Ġз нак +à¸ģà¹Īà¸Ńà¸Ļ หà¸Ļà¹īา +à¸ģà¹Īà¸Ńà¸Ļหà¸Ļà¹īา à¸Ļีà¹ī +ĠÙħÙĨ ت +ĠÙħÙĨت خب +ãĥĽ ãĥ¼ãĥ« +Ġе вÑĢо +ส ว +สว ม +ĠìľĦ ìĽIJ +ĠìľĦìĽIJ ëĭĺ +ĠاÙĦØŃ ÙĪØ« +ĠاÙĦØŃÙĪØ« ÙĬ +ĠÑģодеÑĢж иÑĤ +ãĥķãĤ¡ ãĥĥãĤ·ãĥ§ãĥ³ +Ġ à¸ģัà¸Ļ +Ġà¸ģัà¸Ļ ย +Ġà¸ģัà¸Ļย ายà¸Ļ +ãĤª ãĥª +ãĤªãĥª ãĤ¸ +ãĤªãĥªãĤ¸ ãĥĬãĥ« +Ġб ÑĢенд +ãĤĴæĮģ ãģ£ãģ¦ãģĦãĤĭ +Ġinvers ión +Ġê° ĸ +Ġê°ĸ ê³ł +Ġnov itÃł +ê´Ģ ê´ij +Ġà¸ŀ ฤษ +Ġà¸ŀฤษ à¸łà¸² +Ġà¸ŀà¸¤à¸©à¸łà¸² à¸Ħม +×ķר ×Ĺ×Ļ×Ŀ +׼׾ ×ķ׾ +Ġng ạc +×Ļ ×Ļש +×Ļ×Ļש ×ķ×ij +f äll +fäll ig +ĠÑĤÑĢеб ÑĥеÑĤÑģÑı +Ġcar á +Ġcará cter +Ġprinc ÃŃpio +ĠÅĤ az +ĠÅĤaz ien +ĠÅĤazien k +Ġgi ãn +ÑģÑĤÑĢа ива +Ùħس اب +Ùħساب ÙĤØ© +à¹Ģà¸Ħรืà¹Īà¸Ńà¸ĩ à¸Ķืà¹Īม +ترÙĥ ÙĬب +vol ução +ĠÐŁ оÑĩ +ĠÐŁÐ¾Ñĩ ем +ĠÐŁÐ¾Ñĩем Ñĥ +казал оÑģÑĮ +ĠпÑĢимен ениÑı +à¹Ģà¸Ĺ ียม +íĮ Ķ +à¸Ĥà¹īà¸Ń à¹Ģสà¸Ļà¸Ń +à¸Ľà¸±à¸į à¸įา +Ġоб ÑĥÑĩ +ĠобÑĥÑĩ ениÑı +ĠÑģеÑĢ Ð¸ +ĠÑģеÑĢи ал +Ġingl és +ĠÙĦ Ùĥرة +Ġ×ĺ ׾ +Ġ×ĺ׾ פ×ķף +Ġìł ij +Ġìłij ê·¼ +×IJ ×ķ×Ĵ +×IJ×ķ×Ĵ ×ķס +×IJ×ķ×Ĵ×ķס ×ĺ +ĠболÑĮÑĪ Ð¾Ðµ +ĠÐļон еÑĩно +×¢×Ļת ×ķ׳ +×¢×Ļת×ķ׳ ×IJ×Ļ +Ġкноп к +Ġз н +Ġзн аÑĤÑĮ +ĠÄij á»± +ĠÄijá»± ng +вл аж +влаж н +×ŀ ×Ļ×ĺ×ij +ãĤ¬ ãĤ¤ +ãĤ¬ãĤ¤ ãĥī +........ .. +Ġà¸ģ ุม +Ġà¸ģุม à¸łà¸²à¸ŀ +Ġà¸ģà¸¸à¸¡à¸łà¸²à¸ŀ ัà¸Ļ +Ġà¸ģà¸¸à¸¡à¸łà¸²à¸ŀัà¸Ļ à¸ĺ +Ġà¸ģà¸¸à¸¡à¸łà¸²à¸ŀัà¸Ļà¸ĺ à¹Į +be z +bez pieczeÅĦst +bezpieczeÅĦst w +ãĥijãĥij æ´» +ع اط +عاط Ùģ +ĠÄij áºŃm +Ġз ÑĢ +ĠзÑĢ ÐµÐ½Ð¸Ñı +Ġbor ç +Ġнед ел +Ġнедел Ñİ +Ġh á»ı +Ġhá»ı ng +ìŀ¥ ìķł +ìŀ¥ìķł ìĿ¸ +ĠاÙĦع ÙĦاÙĤØ© +Ġíģ ¬ +Ġíģ¬ ê²Į +à¹Ħร à¹Ī +à¸ļา à¸Ķ +à¸ļาà¸Ķ à¹Ģà¸Īà¹ĩà¸ļ +à¸Ŀ รั +à¸Ŀรั à¹Īà¸ĩ +à¸Ŀรัà¹Īà¸ĩ à¹Ģศ +à¸Ŀรัà¹Īà¸ĩà¹Ģศ ส +ר ×¢×Ļ +רע×Ļ ×ķ׳×ķת +Ġë Į +ĠëĮ ĵ +ĠëĮĵ ê¸Ģ +Ġnaj b +Ġnajb li +Ġnajbli ż +Ġnajbliż sz +ĠиÑģполÑĮз ÑĥеÑĤÑģÑı +Ġcient ÃŃf +ĠcientÃŃf ico +×¢ ×ŀ×§ +Ġg ợi +Ø´ ØŃÙĨ +ĠÅĽ m +ĠÅĽm ier +ĠÅĽmier ci +à¸Ħาสิà¹Ĥà¸Ļ à¸Ńà¸Ńà¸Ļà¹Ħลà¸Ļà¹Į +×Ĺש×ij ת×Ļ +Ġn ingu +Ġningu ém +è¾¼ ãĤģ +ãģ · +ĠÑĥ г +ĠÑĥг ол +ï½ ° +פת ×Ļ×Ĺ +פת×Ļ×Ĺ ×ª +Ġ×Ķר×IJש ×ķ׳×Ļ×Ŀ +p ósito +ãĤŃ ãĥ¬ãĤ¤ +ãģ© ãģĵãĤį +à¹Ģà¸Ĺà¹Īา à¹Ħ +à¹Ģà¸Ĺà¹Īาà¹Ħ หร +à¹Ģà¸Ĺà¹Īาà¹Ħหร à¹Ī +ĠинÑĤеÑĢ ÑĮеÑĢ +ĠØŃ اج +ĠØŃاج Ø© +สี à¸Ĥาว +ìĸ ¼ +Ġn á»Ļ +Ġná»Ļ p +ĠÃŃ nd +ĠÃŃnd ice +สำ รวà¸Ī +Ġкажд ой +Ġhot éis +Ġnast ÄĻ +ĠnastÄĻ pn +Ġ×Ķ×§ ×ķ×ĵ +Ġ×Ķ×§×ķ×ĵ ×Ŀ +פ ×ķפ +פ×ķפ ×ķ׾ +פ×ķפ×ķ׾ ר×Ļ +вÑĪ ÐµÐ¹ +ãĤ·ãĥ³ ãĥĹ +ãĤ·ãĥ³ãĥĹ ãĥ« +ĠzdjÄĻ Äĩ +ĠгÑĢÑĥпп а +Ġпом еÑī +ĠпомеÑī ениÑı +ãģ©ãģĨ ãģĦãģĨ +ĠиÑģп ÑĭÑĤа +Ġog ÅĤ +ĠogÅĤ os +ĠogÅĤos zen +ĠogÅĤoszen i +สรà¹īาà¸ĩ สรร +สรà¹īาà¸ĩสรร à¸Ħà¹Į +à¸ŀร รà¸ĵ +Ġçık Ä±ÅŁ +ĠÑĩаÑģÑĤ ноÑģÑĤи +Ġ×ķ ×Ļ×ķתר +ç¶ļãģį ãĤĴ +ç¶ļãģįãĤĴ èªŃ +ç¶ļãģįãĤĴèªŃ ãĤĢ +à¸ģร ั +à¸ģรั ม +г ÑĢаÑĦ +Ġв лад +Ġвлад елÑĮ +ĠвладелÑĮ ÑĨ +Ġistedi ÄŁ +ĠistediÄŁ iniz +×ij׾ ×¢ +×ij×ľ×¢ ×ĵ×Ļ +ÙħÙĪ Ø§Ùģ +ÙħÙĪØ§Ùģ ÙĤØ© +Ġ×Ļ ×ķר +Ġ×Ļ×ķר ×§ +ãĤ«ãĥ¼ãĥī ãĥŃãĥ¼ãĥ³ +ĠاÙĦÙħØ´ ÙĥÙĦ +ĠاÙĦÙħØ´ÙĥÙĦ Ø© +ĠêµŃ íļĮ +ס פ×ĺ +ספ×ĺ ×ŀ +ספ×ĺ×ŀ ×ijר +Ġìĸ´ ëłµ +Ùĥ اÙħ +ÙĥاÙħ ÙĬرا +sch lü +schlü sse +ĠØ« ÙĨ +ĠØ«ÙĨ ائÙĬ +ìī ½ +ĠÐŀ Ñģоб +ĠÐŀÑģоб енно +Ġин веÑģÑĤи +ĠинвеÑģÑĤи ÑĨи +اØŃ تÙħ +اØŃتÙħ اÙĦ +E Äŀ +EÄŀ İ +íķĺ ê²łëĭ¤ +Ġ×IJ ×ijר×Ķ +Ġ×IJ×ijר×Ķ ×Ŀ +Ġ×ij×Ĺ ×Ļ׳×Ŀ +Ø£ ÙĪØ¶ +Ø£ÙĪØ¶ اع +Ġdé l +Ġdél ai +Ġ×IJ×ķ×Ķ ×ij×Ļ×Ŀ +ĠÑģо Ñħ +ĠÑģоÑħ ÑĢ +ĠÑģоÑħÑĢ Ð°Ð½Ð¸ +ĠдоÑģÑĤ иж +ĠдоÑģÑĤиж ени +สิà¹Īà¸ĩ à¹ģ +สิà¹Īà¸ĩà¹ģ วà¸Ķ +สิà¹Īà¸ĩà¹ģวà¸Ķ ล +สิà¹Īà¸ĩà¹ģวà¸Ķล à¹īà¸Ńม +ĠاÙĦÙħ باشر +ĠÑĦ иг +ĠÑĦиг ÑĥÑĢ +мож ем +׾×ŀ×Ļ×ĵ ×Ķ +Ġcin é +Ġciné ma +Ġb ada +Ġbada ÅĦ +جب ÙĩØ© +Ġд еп +Ġдеп ÑĥÑĤ +ĠдепÑĥÑĤ аÑĤ +Ġdist ância +ĠاÙĦÙħ عار +ĠاÙĦÙħعار ضة +thè se +ü nc +ünc ü +Ġдан ного +ĠBel gi +ĠBelgi ë +Ġ×ij ×ij×§ +Ġ×ij×ij×§ ש×Ķ +ย à¹Īาà¸Ļ +Ġsol ução +Ġ×Ķצ ×ĺר +Ġ×Ķצ×ĺר פ×ķ +ĠØ£ÙĨ ØŃ +ĠØ£ÙĨØŃ اء +Ġد ÙħØ´ +ĠدÙħØ´ ÙĤ +มั à¹ī +มัà¹ī ย +Ùħ غرب +است عÙħاÙĦ +ĠS ÅĤow +ĠëıĻ ìĭľ +ĠëıĻìĭľ ìĹIJ +ĠÑģ оÑģ +ĠÑģоÑģ ед +ì²Ń ìĨĮ +ì²ŃìĨĮ ëħĦ +Ġг ÑĢаÑĦ +ĠгÑĢаÑĦ ик +Ġìŀij ìĿĢ +Ġyet i +Ġyeti ÅŁtir +ĠìĿ´ê²ĥ ìĿ´ +ห à¹Īาà¸ĩ +Ø¥ ÙħÙĥاÙĨ +Ø¥ÙħÙĥاÙĨ ÙĬØ© +است عراض +ÙħØ® در +ĠÑĩ ÑĥÑĤÑĮ +Ùħ دÙĬر +ÙħدÙĬر ÙĬØ© +Ġà¹Ģม ษ +Ġà¹Ģมษ ายà¸Ļ +Ġм еÑħ +ĠмеÑħ аниз +ĠмеÑħаниз м +ĠÑģ Ñĥм +ĠÑģÑĥм мÑĥ +Ġv ö +Ġvö ll +Ġvöll ig +Ġд ÑĢÑĥз +ĠдÑĢÑĥз ÑĮÑı +ãĤĴåĪ©ç͍ ãģĹãģ¦ +à¸ļรร à¸Īุ +po życz +×ŀש ׼ +×ŀש׼ ×ł×ª +×ŀ×©×Ľ×ł×ª ×IJ +Ġeuropé en +Ġpropri é +Ġproprié taire +Ġkh ấu +ãģĦãģŁãģł ãģijãĤĭ +Ġtec rü +Ġtecrü be +×Ķ ×ij +×Ķ×ij ׳×Ķ +Ġcu Ì +ĠcuÌ ī +ĠcuÌī a +×IJ ×ķ×ķ +×IJ×ķ×ķ ×Ļר×Ķ +Ġ׼×ķ׾ ×ķ +U lus +Ulus lararası +Ġ׳ ×ķת +Ġ׳×ķת ף +ãģ« åIJij +ãģ«åIJij ãģijãģ¦ +ë¹ Ľ +à¸Ĺ ัà¸ģษ +à¸Ĺัà¸ģษ ะ +س ÙĤÙĪ +سÙĤÙĪ Ø· +Ġв н +Ġвн еÑĪ +ĠвнеÑĪ Ð½Ðµ +Ġur z +Ġurz ÄĻd +Ġá mb +Ġámb ito +à¸Ń à¸ĺิ +à¸Ńà¸ĺิ à¸ļาย +Ġ ÅĤad +ĠÅĤad n +ê±´ ì¶ķ +wód zt +wództ w +Ġquest ões +Ġש ×§ +Ġשק ×Ļ×ij׾ +Ġmiejsc owoÅĽci +Ġв ал +Ġвал ÑİÑĤ +hä user +หà¸Ļ à¸Ńà¸ĩ +ãģ¨ åħ± +ãģ¨åħ± ãģ« +ãĥı ãĥ¼ãĥī +Ġê°ľ ìµľ +ĠоÑģнов ном +Ġм ÑıÑģ +اع ت +اعت ÙĤاÙĦ +สà¸ĸ ิ +สà¸ĸิ à¸ķิ +N gu +Ngu á»ĵn +ĠÙħ جÙĦ +ĠÙħجÙĦ Ø© +à¹ģà¸Ĥ à¸Ļ +ĠاÙĦÙĦÙĬ بÙĬ +פע×Ļ׾ ×ķ×Ļ×ķת +Ġ×Ķר פ×ķ×IJ×Ļ +פר ×ķפ +פר×ķפ ×Ļ׾ +×§ ׾×IJ +ק׾×IJ ס×Ļ +Ùĥت Ø´Ùģ +ãģ«ãģª ãģ£ãģ¦ãģĹãģ¾ãģĨ +à¹Ģà¸Ħล à¹ĩà¸Ķ +à¹Ģà¸Ħลà¹ĩà¸Ķ ลัà¸ļ +Ġì» ´ +Ġì»´ íĵ¨ +Ġì»´íĵ¨ íĦ° +Ġ×Ĺ×Ļ ×ķ×ij×Ļ +Ġnä m +Ġnäm lich +åij¼ ãģ° +åij¼ãģ° ãĤĮ +ĠÑĢ Ð¾Ð» +ĠÑĢол и +Ġspécial isé +à¸Ļ วัà¸ķ +à¸Ļวัà¸ķ à¸ģรรม +ÙĨص ÙĪØµ +пеÑĢ ÐµÐ´ +пеÑĢед аÑĩ +thè que +Ġר×IJ ×Ļת×Ļ +ãĥĢ ãĤ¦ãĥ³ +ãĤı ãģĭ +ãĤıãģĭ ãģ£ãģ¦ +беÑĢ ÐµÐ¶ +ĠÑģ ек +ĠÑģек ÑĢ +ĠÑģекÑĢ ÐµÑĤ +ĠпоÑģÑĤоÑıн н +à¸Ĥà¸Ļ สà¹Īà¸ĩ +Ġm ük +Ġmük em +Ġmükem mel +еÑĤ еÑģÑĮ +ĠاÙĦسÙĨ ÙĪØ§Øª +ĠìłĦ íĺĢ +Ġ×Ķ×ŀ×§ ×ķר×Ļ +Ġmü d +Ġmüd ah +Ġmüdah ale +Ġwy b +Ġwyb ór +Ġtend ência +Ø¥ دار +إدار ÙĬØ© +Ġunterstüt zen +ת ×ijר +ת×ijר ר +Ġdi á +Ġdiá logo +ĠÃĸ nce +ĠÃĸnce ki +ãĤ¹ãĥĿ ãĥĥãĥĪ +ëĦ £ +ĠG eli +ĠGeli ÅŁ +ãĤĴ éĢļ +ãĤĴéĢļ ãģĹãģ¦ +ĠFuÃŁ ball +Ġsal ari +Ġsalari é +ĠпÑĢодÑĥк ÑĤов +صÙģ ÙĤØ© +รว à¸ļ +รวà¸ļ รวม +à¹ĥà¸Ļ à¸IJาà¸Ļ +à¹ĥà¸Ļà¸IJาà¸Ļ ะ +Ġkay na +Ġkayna ģı +Ġìŀij íĴĪ +ĠвÑĭ ÑĢаж +ĠвÑĭÑĢаж ен +ĠÑģÑĤ еп +ĠÑģÑĤеп ени +ĠاÙĦÙħ ÙĪØ¬ÙĪØ¯ +ĠاÙĦÙħÙĪØ¬ÙĪØ¯ Ø© +ล à¹īม +Ġnaj czÄĻ +ĠnajczÄĻ ÅĽcie +ĠnajczÄĻÅĽcie j +Ġz wy +Ġzwy k +Ġzwyk ÅĤ +Ġê·¸ëłĩ ì§Ģ +à¸ģระ à¸Ī +à¸ģระà¸Ī าย +Ġëĭ µ +Ġëĭµ ë³Ģ +ĠÑĢе ак +ĠÑĢеак ÑĨи +ĠÅĽwie ż +ĠÑģÑĤоим оÑģÑĤи +ÙħÙĨ اÙĤ +ÙħÙĨاÙĤ Ø´ +ÙħÙĨاÙĤØ´ Ø© +ĠÑħоÑĩ Ñĥ +ãĥľ ãĥ¼ãĥī +Ġróż nic +Ġк ÑĢÑĭ +ĠкÑĢÑĭ ÑĪ +âľ ĵ +ãĤ³ãĥ³ ãĥĨãĥ³ +ãĤ³ãĥ³ãĥĨãĥ³ ãĥĦ +ĠпÑĢед поÑĩ +×ŀר ×ij×Ļת +ĠØ´ Ùĥ +ĠØ´Ùĥ را +Ġд ал +Ġдал ек +Ġдалек о +بر ÙĬØ· +برÙĬØ· اÙĨÙĬا +ع ÙĨا +عÙĨا ÙĬØ© +ĠÑĢаÑģÑģ каз +ĠÑĢаÑģÑģказ Ñĭва +Ø£ ÙĦÙĪ +Ø£ÙĦÙĪ Ø§ÙĨ +æĮģ ãģ£ãģ¦ +æĮģãģ£ãģ¦ ãģĦ +Ùħباد ئ +×Ķ ×¢×ijר +×Ķ×¢×ijר ת +Ġyay ı +Ġyayı ml +Ġyayıml a +m át +mát icos +à¸ģ ัà¸ĩ +à¸ģัà¸ĩ วล +Ġ׾ פת +Ġ×ľ×¤×ª ×ķ×Ĺ +à¸ŀฤ à¸ķิ +à¸ŀฤà¸ķิ à¸ģรรม +í Ĥ¬ +Ġок ÑĢÑĥг +Ġ×ŀצ ×ķ×ķ×Ķ +ÐĽ ени +ÐĽÐµÐ½Ð¸ н +ĠTri á»ģu +ãĤ³ãĥŁ ãĥ¥ +ãĤ³ãĥŁãĥ¥ ãĥĭ +ãĤ³ãĥŁãĥ¥ãĥĭ ãĤ± +ãĤ³ãĥŁãĥ¥ãĥĭãĤ± ãĥ¼ãĤ·ãĥ§ãĥ³ +Ùĥ ÙĨÙĬ +ÙĥÙĨÙĬ سة +ãĤĴ ä¸Ńå¿ĥ +ãĤĴä¸Ńå¿ĥ ãģ« +ĠmiÄĻd z +ĠmiÄĻdz yn +ĠmiÄĻdzyn ar +ĠmiÄĻdzynar od +ĠmiÄĻdzynarod ow +ÙĦ ÙĨ +ÙĦÙĨ دا +بر Ø´ +برش ÙĦÙĪÙĨ +برشÙĦÙĪÙĨ Ø© +à¸ģระ à¸ķุ +à¸ģระà¸ķุ à¹īà¸Ļ +Ġg ı +Ġgı da +à¸Ľà¸£à¸° à¸Ĺัà¸ļ +à¸Ľà¸£à¸°à¸Ĺัà¸ļ à¹ĥà¸Ī +Ġë¶Ī 구 +Ġë¶Ī구 íķĺê³ł +ĠÙĨ Ø· +ĠÙĨØ· اÙĤ +ĠÐľ ожеÑĤ +Pr äs +Präs ident +ĠÑģк оÑĢ +ĠÑģкоÑĢ Ð¾ÑģÑĤÑĮ +Ġ×Ķ×ij ×ķקר +еÑħ аÑĤÑĮ +Ġg ạo +Ġש×IJ ×Ļ׳×Ŀ +Ġ×ij׳ ×ķ×Ĵ +Ġ×ij׳×ķ×Ĵ ×¢ +Ġо пиÑģание +Ġucz ni +Ġuczni ów +à¹Ģà¸Ń à¹ĩà¸Ļ +Ġت Ø´ +Ġتش رÙĬÙĨ +Ġnh ãn +ë¹ ¨ +Ġcaract ère +×¢ ׾×Ļ +×¢×ľ×Ļ ×Ļ×Ķ +楽ãģĹ ãĤģãĤĭ +ĠÑģ аÑħ +ĠÑģаÑħ аÑĢ +дÑĥм аÑĤÑĮ +ĠÐĴоз можно +ص ÙĬاÙĨ +صÙĬاÙĨ Ø© +öm ür +ส ล +สล à¹ĩ +สลà¹ĩ à¸Ń +สลà¹ĩà¸Ń à¸ķ +ë¡ ¯ +Ġth ói +gr Ã¶ÃŁe +Ġksi ÄĻ +ĠksiÄĻ g +ĠÑĢ Ð¾Ð¼ +ĠÑĢом ан +ÙĤ اسÙħ +×ŀ×ij ×ķ×Ĵ +×ŀ×ij×ķ×Ĵ ר×Ļ×Ŀ +bes ch +besch äft +beschäft ig +×Ķצע ×Ķ +ĠÃģ rea +ĠзаÑıв к +Ä ¹ +ĠлÑİб ого +Ġ ม +Ġม à¸ģร +Ġมà¸ģร าà¸Ħม +ÑĦ из +ÑĦиз иÑĩеÑģк +ин ÑĦ +инÑĦ ек +инÑĦек ÑĨи +اÙĦ Ø· +اÙĦØ· ائÙģ +Ġкол л +Ġколл екÑĤив +ез жа +Ġس بØŃ +ĠسبØŃ اÙĨ +ĠسبØŃاÙĨ Ùĩ +sch lä +schlä ge +Ġд и +Ġди аг +Ġдиаг ноÑģÑĤ +ĠоÑĤмеÑĤ иÑĤÑĮ +Т Ь +ĠاÙĦ در +ĠاÙĦدر اسÙĬ +עצ ×ŀ +עצ×ŀ ×IJ×ķת +Ġdém arch +Ġdémarch e +Ġ×ĺ ×ķ×¢ +Ġ×ĺ×ķ×¢ ף +Ġfuncion ários +á» µ +׾ ׼×IJ +׾׼×IJ ×ķר×Ķ +à¸ĭ à¹Ī +à¸ĭà¹Ī à¸Ńม +ĠÑĩ Ñĥв +ĠÑĩÑĥв ÑģÑĤво +âĸ ¼ +п ÑĥÑī +пÑĥÑī ен +Ġм еÑĢ +ĠмеÑĢ Ð¾Ð¿ +ĠмеÑĢоп ÑĢи +ĠмеÑĢопÑĢи ÑıÑĤиÑı +Ġu çu +Ġuçu ÅŁ +ãĤĴåĪ©ç͍ ãģĻãĤĭ +a ÄŁ +aÄŁ lı +ìĺĪ ìĪł +à¹ģ ยà¹Ī +ĠاÙĦÙĥ Ùħ +ĠاÙĦÙĥÙħ بÙĬ +ĠاÙĦÙĥÙħبÙĬ ÙĪØªØ± +ت ÙĪÙĬ +تÙĪÙĬ تر +à¹Ģà¸Ĭ ีà¹Īยว +à¹Ģà¸Ĭีà¹Īยว à¸Ĭา +à¹Ģà¸Ĭีà¹Īยวà¸Ĭา à¸į +á» Ķ +Ġhi ếm +ذا Ùĥرة +Ġ×Ķ×ŀ×Ļ ×ķ×Ĺ×ĵ +ĠìĪ ľ +ĠìĪľ ê°Ħ +ĠK ı +ĠKı sa +Ġgele ceÄŁi +пÑĢо ÑĦеÑģÑģиона +пÑĢоÑĦеÑģÑģиона л +Ġog ó +Ġogó le +ĠgÅĤ ów +ĠgÅĤów ne +ĠÑģÑĤ илÑĮ +×IJ פ׾ +×IJפ׾ ×Ļ×§ +×IJפ׾×Ļ×§ צ×Ļ×Ķ +สม ารà¹Į +สมารà¹Į à¸Ĺ +สมารà¹Įà¸Ĺ à¹Ĥà¸Ł +สมารà¹Įà¸Ĺà¹Ĥà¸Ł à¸Ļ +Ġth ánh +ÐŁ од +ÐŁÐ¾Ð´ ÑĢоб +ÐŁÐ¾Ð´ÑĢоб нее +ĠاÙĦت ÙĪÙĨ +ĠاÙĦتÙĪÙĨ سÙĬ +Ġbah çe +à¹ģà¸ģà¹ī à¸Ľà¸±à¸įหา +é ducation +eu rop +europ ä +europä ische +ĠK si +ĠKsi ÄĻ +ĠëĦ ĺ +ĠëĦĺ ìĸ´ +Ġv üc +Ġvüc ud +Ġyay g +Ġyayg ın +Ġnie kt +Ġniekt óry +Ġniektóry ch +ãģŃ ãģĩ +Ġк аж +Ġкаж еÑĤÑģÑı +к аж +каж еÑĤ +ĠاÙĦ دÙĬÙħÙĤرا +ĠاÙĦدÙĬÙħÙĤرا Ø· +ĠاÙĦدÙĬÙħÙĤراط ÙĬØ© +æŃ © +æŃ© ãģĦãģ¦ +Ġv az +Ġvaz ge +Ġvazge ç +Ġмин ималÑĮ +ĠминималÑĮ н +ãĥij ãĤ¿ +ãĥijãĤ¿ ãĥ¼ãĥ³ +Ġë Ĭ +ĠëĬ IJ +ĠëĬIJ ëĤĮ +ãģ¡ ãĤĩãģĨ +ãģ¡ãĤĩãģĨ ãģ© +Ġ à¸ģร +Ġà¸ģร à¸ģà¸İ +Ġà¸ģรà¸ģà¸İ าà¸Ħม +تج دÙĬد +ĠØ´ اÙħÙĦ +หลัà¸ģ à¸IJาà¸Ļ +ĠмаÑĢ ÑĪ +ĠмаÑĢÑĪ ÑĢÑĥÑĤ +Ġv ÃŃt +ĠvÃŃt ima +Ġquiz á +ay gı +×ĵ×ijר ×Ļ×ķ +Ġиз д +Ġизд ели +Ġиздели Ñı +п ла +пла Ñĩ +плаÑĩ ива +ä»» ãģĽ +Ġéquip é +ä¹ħ ãģĹãģ +ä¹ħãģĹãģ ¶ +ä¹ħãģĹãģ¶ ãĤĬ +Ġк аÑĤ +ĠкаÑĤ ал +ĠкаÑĤал ог +ส à¹īม +ĠÑĢ ÐµÐ¹ +ĠÑĢей ÑĤ +ĠÑĢейÑĤ инг +Ġth uyá»ģn +ĠاÙĦÙħ ÙĤدس +esp ère +ãģ«åħ¥ ãģ£ãģŁ +หมาย à¹Ģลà¸Ĥ +ת×Ĺ×ķש ת +à¸Ļ à¹Īะ +Ġpe ÅĤ +ĠpeÅĤ ne +Ġpé rd +Ġpérd ida +หม วà¸Ķ +หมวà¸Ķ หมูà¹Ī +иÑĩеÑģк ÑĥÑİ +çµĤ ãĤı +çµĤãĤı ãģ£ãģŁ +Ġ×Ĵ ×ķ×Ĵ׾ +à¸Ĺำ à¸Ħวาม +à¸Ĺำà¸Ħวาม สะà¸Ńาà¸Ķ +Hot éis +Ġз аÑĢ +ĠзаÑĢ ÐµÐ³Ð¸ÑģÑĤ +ĠзаÑĢегиÑģÑĤ ÑĢи +ĠзаÑĢегиÑģÑĤÑĢи ÑĢова +ĠÑģ обÑĭÑĤи +ĠÑģобÑĭÑĤи Ñı +Ġ×ĸ ׼×IJ +ÙħÙĨظ ÙĪÙħØ© +Ġ×Ķ×ŀ צ +Ġ×Ķ×ŀצ ×Ļ×IJ×ķת +Ùħ ÙĥÙĪÙĨ +ÙħÙĥÙĪÙĨ ات +ä¸ĬãģĮ ãĤĭ +Ġm ÄĻ +ĠmÄĻ sk +หรืà¸Ń à¹Ģà¸Ľà¸¥à¹Īา +ëĤ ® +Ġnok tas +Ġnoktas ı +ĠболÑĮÑĪ Ð¸Ð¼ +ĠлÑĥÑĩ ÑĪиÑħ +Ø´Ùĩ ÙĬد +à¸Ńำ à¸Ļ +à¸Ńำà¸Ļ วย +à¸Ńำà¸Ļวย à¸Ħวาม +à¸Ńำà¸Ļวยà¸Ħวาม สะà¸Ķวà¸ģ +Ġе в +Ġев ÑĢ +ĠевÑĢ Ð¾Ð¿ +ĠевÑĢоп ей +à¸ī าย +ìĦ Ń +Ùħ Ù쨧 +ÙħÙ쨧 ÙĪØ¶ +ÙħÙ쨧ÙĪØ¶ ات +ë¹ Į +赤 ãģ¡ãĤĥãĤĵ +ĠÑĥдал оÑģÑĮ +ĠÐ¥ оÑĤ +ĠХоÑĤ Ñı +przedsiÄĻbior c +ĠH ôm +íķĺìĺĢ ìĬµëĭĪëĭ¤ +Ġн аг +Ġнаг ÑĢÑĥз +ĠнагÑĢÑĥз к +Ġ×ij×Ļ׳ ׾×IJ×ķ×ŀ×Ļ +Ġê°ĢëĬ¥ íķľ +ĠH ữu +à¸Ń ุà¸Ķ +à¸Ńุà¸Ķ ม +ת ×ķפ +ת×ķפ ×¢×Ķ +Ġmi ÅĤo +ĠmiÅĤo ÅĽci +ksi Äħż +ksiÄħż ka +ĠاÙĦÙĦ عبة +à¸ī าà¸ģ +สะ สม +×ŀ תר +×ŀתר ×Ĺש +Ġlég ère +Ġ׾צ פ +Ġ׾צפ ×Ļ×Ķ +ĠиÑģÑĤоÑĢ Ð¸Ñı +Ġ ãĥĪãĥ© +ĠãĥĪãĥ© ãĥĥãĤ¯ +ĠãĥĪãĥ©ãĥĥãĤ¯ ãĥIJãĥĥãĤ¯ +Ġк а +Ġка ÑĦе +×ŀס×ŀ ×ļ +Ġc üm +Ġcüm le +à¹Ģà¸Ħลืà¹Īà¸Ńà¸Ļ à¹Ħหว +ãģĬ ãģĿ +ãģĬãģĿ ãĤīãģı +ìŀIJ ëıĻ +ìŀIJëıĻ ì°¨ +à¸Ńั à¸ķ +à¸Ńัà¸ķ à¹Ĥà¸Ļ +à¸Ńัà¸ķà¹Ĥà¸Ļ มั +à¸Ńัà¸ķà¹Ĥà¸Ļมั à¸ķิ +ĠÅŁ ik +ĠÅŁik ay +ĠÅŁikay et +extr ême +kr ä +krä fte +ëĤ Ļ +íķ ij +ì² Ļ +íĺ Ī +ì° į +âĻ ¡ +ìŀ Ķ +ë¢ ° +íĿ Ķ +íĿ IJ +âĩ Ĵ +ë§ Ľ +ìĬ Ī +á» Ĵ +ìĺ µ +âĹ İ +í Ĥ¨ +ê¿ Ī +ìĪ ¨ +ìĽ ¨ +ë§ ¥ +ï½ Ģ +ï¼ ª +Ạ¨ +ãħ İ +Ñ Ĺ +ìĦ ¬ +ì¹ ¼ +ï¼ ¶ +ìĽ ł +ëŁ ´ +Å ĥ +ëĤ ¼ +ëĭ IJ +âĢ ¹ +ë¦ Ń +ì§ IJ +âĢ ¤ +à ħ +ëľ ¨ +íĦ ¸ +íľ ĺ +ê² ģ +ë´ ħ +à ĺ +ëŃ Ķ +ëĺ ij +âĹ ĩ +ìĹ ĺ +ï» ´ +ë§ ¹ +ï¾ Ŀ +ìĬ · +íĥ ķ +ï¼ ł +ì» ´ +ëł Į +ì½ ľ +ï» ¹ +ãħ ł +ì¡ ¸ +ëħ ¹ +âĤ º +âĸ ¶ +íĥ IJ +êµ ´ +íij ¸ +Ñ Ķ +íĶ ½ +Ð ħ +ë° ¤ +Ô ģ +ì² ¨ +ì¶ ĺ +ë² Ĺ +ë© ¸ +ï¼ » +ï¼ ½ +ï¼ · +ì° Į +à Ĵ +íı ´ +ìĵ ¸ +ì´ Į +ëģ Ķ +ëĶ © +ëĩ Į +ë© Ģ +ë² ¨ +ï¼ µ +ë§ ¡ +ëĭ « +ภ¿ +ãģ ± +ìĩ ¼ +ìº ł +ë® ¤ +ê± ± +ì» ¬ +âĦ ĥ +ëĶ ± +ëĥ Ī +ìĭ ± +íĻ Ī +ëŀ IJ +ìħ Ģ +ìł ł +Ð Ĩ +ëł ī +ï½ ħ +ï½ ı +íĻ Ģ +ëĽ ° +á» ® +í Ĥ¹ +ê½ ĥ +ï» ¤ +ïº Ķ +êº ¼ +ìķ ī +âĻ ¦ +ï½ ģ +ìĵ ´ +ãĢ ī +ì° ® +ì¤ ĺ +á» ª +ëģ Ħ +ëIJ ¨ +ìķ Į +íĿ ĺ +íħ IJ +ãĢ Ī +ê² ª +ëĭ ¥ +ê² ¼ +á» Į +ë§ ¨ +ëģ Ĭ +ë² ¤ +ëij Ķ +íĿ ¡ +á» ¬ +ë¬ ĺ +ãģ ī +ëŀ « +íĶ Ī +í ħį +ìŀ ĥ +ï½ ī +ìģ ľ +âĸ ½ +ë¬ » +âĸ ³ +ï¼ ¸ +ìģ ĺ +ì¶ ° +ìĬ ´ +ìķ ± +ìĩ Ħ +Ạ® +ï´ ¿ +ï´ ¾ +âĤ ½ +ëĦ ĵ +ë£ © +ì³ ¤ +ê´ ľ +Ã Ļ +á» ľ +ï¿ £ +ëĵ Ń +ë© ĺ +ê» ´ +ëł ´ +Ð ĥ +ë¬ µ +ì§ Ŀ +ãģ º +ðŁĺ Ĥ +ëŀ ¬ +ìł Ĭ +ê´ Ħ +ìŀ Ĭ +íŀ Į +ìĦ ¯ +âĪ Ģ +âĸ ¡ +ëĢ Į +ëŀ Ļ +ï½ ĥ +Ạ¶ +ï¾ Ħ +ïº ĺ +ë¹ ¼ +à Į +âĸ · +ê¸ į +ë© ĭ +ãģ ĥ +ìĺ Ĩ +ìĺ ® +ëª ¬ +ë¡ ¤ +ëł ¬ +ëĬ ¦ +âĸ ª +ì¼ ĵ +ìľ Ī +ì§ § +ï½ ½ +ëĥ ī +ï¾ Į +ëĺ IJ +ï¼ ĥ +á» Ħ +ì´ ¬ +ì¶ ¤ +ï¼ ¹ +ï» Ń +âĤ « +ï½ ĩ +ìĺ · +ëĸ ¨ +âī « +ë¦ ¿ +âľ ¨ +Ù ± +ì¯ ¤ +ê¹ Ķ +ðŁĺ Ĭ +ìĪ « +ê³ ± +êµ ³ +ï½ ĭ +ภĮ +Ä ł +ëĶ ¸ +ë° ij +ìħ ĭ +íİ ´ +âľ ħ +íĥ ij +ëĪ ĩ +íı ¼ +ðŁĺ į +ìĺ Ľ +ï» £ +Ñ ĺ +ì© Į +ë¦ ħ +ìĿ į +ï½ ¸ +ëį ľ +ãģ ħ +íİ ¼ +ëĭ Ŀ +ë¿ Į +ì¼ ° +ìĭ « +ë° ¥ +íĽ Į +ì¨ Į +ë¹ Ļ +ï½ İ +ë´ Ħ +ìĦ ¹ +ï½ ² +ìĮ ĵ +Ò ij +ë° į +ëł Ģ +íĨ ¤ +ï½ ¯ +ë¤ Ħ +ê½ ¤ +ï½ Ĵ +ìķ ¨ +ï½ ¼ +ê¹ IJ +íģ IJ +âĦ ĸ +ë§ º +ïº ® +ëħ ģ +ê² ¸ +ï» ł +íĬ ľ +Å ¹ +ë¥ Ń +ëĪ ī +ï½ Ķ +íĮ ¬ +ìŀ ĩ +ï ¬ģ +ï» ¨ +ëij ¥ +ëŀ Ħ +Ù ¬ +íĭ ´ +ìŀ ī +Ú ¾ +ìĽ ħ +ï» ® +ëĭ ī +âī ª +âĹ Ħ +ëĪ Į +íĽ ¼ +ì¤ į +Å ¸ +ì¤ ¬ +ì¾ Į +ï½ ĵ +ï¾ Ĭ +ðŁı » +ï¾ ī +Ð ģ +íĺ IJ +ï¾ Ļ +ê¼ ¬ +íŀ IJ +âĢ ¥ +ëŁ Ń +ë§ ŀ +ìĥ ¤ +ïº Ĵ +íĭ ± +ë½ ij +à ķ +âĪ ļ +ëĤ Ħ +ê¹ Ŀ +ëĨ Ī +Ạº +ìħ Ī +ìĮ į +âĢ ¡ +ï¼ ± +ìģ ¨ +âĺ º +ëĴ · +ìĺ ³ +ðŁij į +ëª ½ +ëĤ Ń +ïº Ń +ë© Ī +á» Ī +íķ Ģ +ëĭ Ļ +ë¦ ĩ +ìķ ¤ +ìį ¼ +ãĥ µ +Ñ £ +ìľ Ĺ +â ŃIJ +ï¾ ĺ +íĹ ¬ +ê¾ ¼ +ìķ Ĺ +ï» Į +ê± · +ëħ ķ +ë¡ ± +ìķ Ĭ +ï¾ Ģ +ìĩ ł +íĮ © +ïº ª +ë§ Ļ +ï¼ ¿ +ê¿ Ķ +íİ ľ +ë£ ¸ +íĶ Ķ +ï» ³ +ëı ķ +ìĭ ¼ +á» İ +ë§ ĺ +ì¢ ĭ +íĨ ¡ +ï½ ± +íĿ ij +á» ¸ +ì¦ Į +ì¹ ¸ +ëŃ ĺ +ï¾ Ĺ +ï» ĭ +íĬ Ģ +ë¥ Ļ +ì½ © +ëģ Ĺ +ëį ´ +ìħ ľ + ¸ +ë» IJ +ìĥ µ +ê² IJ +ëĵ ¬ +ë£ ° +ãħ ĭ +ìĹ ī +á» ĸ +ëĦ Į +ï½ ¶ +ë´ ĩ +ëĤ ³ +ãĤ ľ +ëĸ » +íİ Ģ +ëį © +íķ ¸ +à · +ê¼ ¼ +ëĶ ľ +ë° ´ +ë© į +âĹ ¯ +ìĹ ij +ìĻ ¼ +ïº ij +ë¶ ķ +ë¡ ¬ +ï½ Į +íĨ ¨ +ïº ´ +ëł ĺ +ê° ¤ +ìĪ ² +Ñ ĵ +ìħ ī +ï» ĵ +ëĪ Ķ +ëį § +âĢ ¼ +ï» ² +ê° ± +ê¿ Ģ +ëĭ · +Ạ¸ +Ạª +Æ Ĵ +ëį ¤ +ìĪ Ń +ï½ Ĥ +ï½ Ī +Å ł +ë£ ¬ +Ñ µ +ëĸ ¡ +ëĥ Ħ +ìĦ ° +ëĵ Ī +ï¾ ĥ +ëĩ ¨ +ï½ IJ +êµ ½ +ìĹ ½ +ëĤ Ģ +ë¬ ¶ +ï½ · +ìı Ł +íĺ Ķ +ê¼ Ī +ëģ Ī +ì¥ IJ +ïº Ĺ +Ä Į +ëĪ ł +ëĸ ¼ +íĢ ´ +âī ¥ +ëĭ Ń +ì± Ļ +ê» ı +ë© ¤ +ìĥ ĺ +ëį ® +ë£ ¡ +ìĤ ½ +ãĪ ľ +Ä ¨ +âĢ § +ï½ º +Ä £ +ì¦ ī +ï¼ ¼ +Û © +âĪ Ļ +ë° ı +ë¹ ħ +ðŁĺ Ľ +íĪ ´ +ðŁĴ ķ +ãĢ Ĵ +ìŀ ĺ +ïº ¤ +ï½ ĸ +ë© ľ +ë² ¼ +ëĿ Ħ +ëļ ľ +ï» ĺ +ìĥ Į +ï½ Ħ +ì© Ķ +ï½ Ļ +ïº © +Û ŀ +âĺ İ +ìł ¤ +ëIJ © +Å Ŀ +âŀ ¡ +ï» § +Ð ı +ì« ĵ +ê³ ½ +É ij +ãĥ ² +ëĤ « +ë¦ ī +ì¢ ģ +ë° Ń +ðŁĺ ģ +ë¹ µ +ì² © +ì» µ +ðŁĺ ĺ +ë± ħ +âī Ī +ë¹ ļ +ï» ľ +ðŁĻ ı +íģ ° +ìĦ ŀ +ï¾ ļ +ìĺ ¹ +ë¼ Ī +ëĤ ¯ +ëŀ © +íļ ¡ +ï½ ķ +íĥ ĵ +ëĿ ł +ê³ ģ +ëĵ Ģ +ìĹ ł +ï¼ º +ë§ ij +ëĭ ¿ +ì¿ ¨ +ãİ ¡ +Ð Ĭ +íĦ ± +Å ¨ +ïº ³ +ï¾ ı +âĭ ħ +ê¼ ´ +âī ¤ +íĮ ģ +Î © +ê¶ ¤ +ìĪ į +âľ ¿ +ì½ ¤ +ëĪ ħ +íĨ ± +ãħ ľ +áIJ ħ +Å Ĵ +ðŁij ī +ï» ¦ +Ð ª +ë¥ ľ +íķ « +ï¾ ĭ +âĻ « +ê¹ ľ +ë° ¸ +ëĶ ĺ +íĿ ī +ï¾ ģ +ï¾ Ľ +ëł Ľ +ê² ¹ +ì¿ ¼ +ï» ¬ +âŀ ¤ +ðŁĻ ģ +ïº ł +ëĨ ¨ +ë¯ ¹ +ê¸ ĭ +ë» Ķ +ê¹ ĥ +ëij ij +íĭ ¸ +íİ Ļ +âŀ ĸ +ãĥ ½ +ì§ ļ +ï½ ¬ +ï» ¥ +íĮ ½ +âĢ Ĵ +ì ĮĢ +ìŃ ī +ëļ ± +ãĤ ŀ +íĭ Ī +ãĤ IJ +ëī ĺ +Î £ +ê³ ° +ë¹ Ĺ +ï¾ İ +ðŁĺ Ń +íĿ ł +ìĹ ¿ +ê° ļ +ì¤ Į +ë§ µ +ï½ ³ +ãģ ¢ +ï» Ĺ +âī ¦ +Ú ¤ +ë łģ +ê¼ ½ +ï» « +âī § +ì´ Ľ +ìł Ŀ +Ạ° +âĻ £ +ìº ĺ +âĪ ĩ +ê² ī +ë° Ł +ï» Ķ +íĸ ĩ +âĸ Ĵ +ðŁij ı +à ŀ +ðŁĺ Ĩ +ïº ¼ +âĿ Ĺ +ìº Ķ +ì¹ © +ëĸ ¤ +ëĥ ħ +âĶ ľ +ï½ » +Î Ķ +áĥ ¦ +ìŀ İ +âĺ Ģ +âĪ ¼ +ðŁĶ ¥ +ë° Į +ìł ĸ +íĹ Ľ +Î ķ +ïº ĥ +ë¶ ī +âĪ ŀ +íĥ Ń +à ĭ +âģ Ħ +ãħ ĩ +ëĦ ¥ +ëĭ ® +ëł · +íĮ Ŀ +ìº ¡ +ë· Ķ +ì© į +íĤ ´ +ëļ « +âĵ Ĵ +íķ į +âĻ Ĥ +ï¾ Ĩ +âĨ © +ìį © +ïº ķ +íĿ Ļ +Ñ ľ +íĤ · +íĿ ° +íĥ ± +ëķ IJ +ï¾ Ĵ +× ĥ +ëĮ Ħ +ìĺ ´ +ìķ µ +ê¹ ¥ +ëŀ Ń +ìª ¼ +ãİ Ŀ +ðŁĺ ħ +ëı ĭ +ëª « +ïº ¸ +ë® ¬ +ë² ħ +ëij ł +ìħ ° +ì» · +ëĶ ª +ëħ Ķ +ãħ ¡ +ìĶ » +íķ ı +ëį ± +ïº ¨ +ï¾ į +ï½ µ +ì¢ Ģ +íİ Į +ï» ° +ïº £ +Æ £ +ðŁ¤ £ +ï· º +ëĤ ļ +âĭ Ĩ +ë³ į +ðŁĺ Ħ +ìĸ Ģ +ìĻ ł +ëĨ Ķ +íĹ ¨ +ï» Ľ +ï» Ŀ +á» ¶ +ìĸ ĺ +ìİ Ħ +Ú Ĩ +ï» ŀ +ëĢ IJ +ê² Ķ +ï» µ +âĹ ¦ +íļ Ł +ê¹ ģ +ê° ĵ +ëĶ ´ +ìı ĺ +ëļ Ŀ +á» ł +ëŀ ´ +ëĦ ī +âĺ ŀ +ï½ ĺ +Å ½ +ë¦ İ +âĸ ¬ +ëŃ ī +âĩ Ľ +ìį ¬ +ïº Ł +Ë ľ +ë¶ ĵ +ìĽ ° +Å ľ +ëŃ ĩ +á» ² +Ë ļ +ëķ Ģ +âĺ ij +ðŁı ¼ +ìĸ ½ +âĮ Ĵ +Ð İ +É ¾ +íĮ ¡ +ï¾ ħ +ìŀ Ń +ï½ ¨ +ì¹ « +ìľ Į +Ò Ľ +êµ ¿ +ëĭ ¦ +âĶ Ķ +ï¾ ij +ì§ ĸ +ìº Ħ +ãĢ ĥ +Ê ¼ +ê² Ł +ï½ § +Ä ¢ +íİ ł +ë§ · +ê° ĩ +ìĭ ¹ +ðŁĴ ¦ +ï¾ ľ +ëĬ Ļ +ë² ¡ +Å ¿ +ðŁĺ ĭ +ðŁĴ ª +ì¿ Ħ +ë© ķ +ìŃ ¤ +ëĬ Ħ +ðŁĮ ¸ +ãĤ Ŀ +Ç İ +ï½ ļ +Ä Ĺ +ëģ ĵ +ê¶ IJ +áµ ī +ãĥ Ĥ +ê» į +ðŁĺ ¦ +ãĢ Ŀ +ðŁ¤ Ĺ +Ñ Ł +ìĹ İ +âľ Į +ìī IJ +à Ĩ +íĹ IJ +ðŁİ ī +Î ij +ï½ Ń +ðŁĴ Ļ +ìĽ ¬ +íĢ ĺ +ï» ¢ +ðŁĺ İ +íij ¼ +íĿ © +ï» Ħ +íħ Ģ +ëł IJ +ì¥ ¬ +Ð ĭ +ìĥ · +ëľ ¬ +ðŁĺ ĥ +ëĦ ¬ +ë¥ ¨ +ìĽ į +ï½ Ĩ +ï½ ´ +ãĥ ħ +à ı +ï» ª +âĻ ł +ëĬ ¬ +ë± Ģ +ë° ĭ +ìĥ Ģ +ï½ ¾ +ëĤ ± +ì» ¸ +ðŁĴ ĸ +ðŁij Į +Ñ ŀ +ì§ ± +Ë Ĩ +ðŁĵ ļ +âŃ ķ +ï¬ Ĥ +ï» ¡ +ëij ¬ +íĪ ¼ +âĸ ¸ +ê° ¯ +ê¹ ħ +ï½ ® +ëĺ ¥ +Ä ¡ +íĮ Ł +Ð Į +ìĨ Ł +ïº ĵ +ï» ¼ +à Ľ +ãĥ ¾ +ëĮ ĵ +íĴ ĭ +ìķ ĵ +ï½ ¹ +ëĤ ¡ +ðŁij ĩ +Ạ¼ +ãĢ Ł +ðŁĮ Ł +íĥ ł +ãĢ Ĩ +âĢ Ł +ë¸ IJ +ðŁĮ ¹ +ìł ¼ +ðŁĵ Į +ìĶ ¬ +âĹ Ģ +ðŁĴ ĵ +ê¹ İ +ìĤ IJ +ìĶ Į +Ñ Ľ +âĶ Ī +ë² ³ +ãİ ŀ +Õ ¡ +íĤ µ +ðŁ¤ Ķ +ëĢ Ķ +ìĬ IJ +íĻ ī +âľ ¦ +ëľ ¯ +ìł ¯ +ëĶ § +Î ¦ +Ë Ī +ìī ¼ +âĹ Ĭ +ëľ © +ëľ ° +ï¾ IJ +ë¿ Ķ +ìĹ ® +ì· Į +ïº § +Î Ĵ +ëµ Ļ +ï» Ĭ +ì° Ķ +íİ Ħ +ðŁĴ Ĺ +Ạ´ +ì° ¢ +íľ ¼ +ê½ Ĥ +ì± Ķ +ìī ´ +âĸ ¾ +íĪ ° +ëĭ Ľ +âĿ £ +ï½ ª +ðŁĴ ľ +Ë ĺ +ãħ ¤ +âĨ Ĺ +íĸ Ħ +âĻ ¬ +ìķ ° +ïº ľ +âī ¡ +ãĢ ĵ +ìij ¥ +íĮ į +íī ģ +ë» Ĺ +íľ ł +íľ © +âľ Ī +íĢ Ħ +ìĸ ĩ +ì¢ ĩ +íŀ Ļ +ëª ¹ +ãĤ Ľ +ðŁĺ ± +ëį Ł +๠ħ +êµ ¶ +Ù « +ìĶ ģ +âľ ª +ï¾ Ī +ðŁĻ Į +âļ ¡ +Î ļ +ì¼ Ī +ï¾ Ķ +ï¾ Ĥ +êµ ī +ïº » +ðŁĴ ĭ +á¹ £ +Ó Ļ +ìĨ ľ +ìĹ £ +âľ © +ìľ Ļ +ïº ° +Ạ² +ìŀ £ +âĿ Į +âĺ ģ +ìķ İ +Ä ½ +Û ģ +ãĦ ± +ëŁ ¿ +íĮ ¸ +ê½ ī +ìı ł +ðŁį Ģ +âĨ Ķ +ëŃ ¡ +ï» ģ +ï¼ Ħ +ðŁĴ ¥ +âĺ Ľ +íĹ · +ëij ¡ +Î ł +Î ¤ +âĦ ĵ +ïº · +Î Ļ +ëı Ķ +ì§ ¤ +âĶ ĥ +ãĦ · +Ç Ĵ +ðŁ¥ ° +ëĶ ķ +ìļ ¥ +ì¸ Ħ +íĽ Ķ +ïº ĩ +ïº ¬ +ðŁĺ ¢ +ë¹ ¡ +ìĶ ¹ +Å ³ +Ë Ŀ +íİ ij +ï¾ ĵ +ðŁĴ ļ +ëĬ ij +êº ¾ +íĨ ° +à ¿ +Ð Ħ +ëĮ IJ +ë½ Ģ +ì· Ħ +ðŁ ĵį +ðŁĻ Ī +âĹ Ī +ê¿ ĩ +ì¼ Ħ +íİ « +ðŁĩ · +âĶ ĭ +âļ ł +ë± ī +ì į° +ìĻ Ī +É ª +ïº ĭ +ðŁĺ ľ +Î Ł +ðŁ ĻĤ +âļ ½ +Å Ī +ë¹ Ķ +íĮ ľ +๠ı +ìĸ ¹ +íĪ Ń +ðŁ¥ ĩ +ãĦ ´ +ëĶ ¥ +ìŃ Ī +âĪ Ĩ +ëĸ ³ +ë± ĥ +ìŀ ¦ +ï» IJ +Î ľ +âľ § +Ï į +ìł ĵ +âĹ ķ +ëĴ Ģ +ï» Ģ +ðŁĶ ´ +ê½ ģ +ëĮ Ī +ëİ Į +ãĤ İ +⦠ģ +ì½ § +ï¯ ¾ +âĿ ¯ +ภħ +ðŁĻ Ħ +âĿ Ģ +ðŁĶ ¹ +âĩ IJ +êµ µ +âĩ Ķ +ë¶ IJ +ðŁĴ Ľ +Î ¾ +íĥ ¬ +âĿ Ħ +Ò £ +ãĢ ° +âĪ ij +âĺ ¼ +âī ł +Ò ¯ +ïº ¯ +ê¿ ¨ +âľ ĸ +Ê ĸ +íĢ Ģ +ê¾ Ģ +íĹ Ŀ +âĶ £ +ãİ ľ +ëĶ Ľ +ëľ ¸ +ï º« +ê¿ ° +ðŁĩ ¹ +Ç IJ +Û Ĵ +ë£ » +ïº ĸ +Ñ ļ +ëĬ ł +Û ķ +ê¹ ¡ +ë¿ ľ +ì² ¼ +ï¨ ij +ë¥ µ +ìį ¸ +íħ ħ +íij ¹ +Ö Ģ +ï³ Į +ãħ £ +ìij ¤ +ì½ ķ +ëķ ł +ðŁĮ ¿ +íĥ Ķ +ìĽ ģ +Î ¶ +âŀ ľ +ìĬ ĺ +íĽ Ĺ +ë© § +ìī ĺ +Õ ¶ +á¹ ĩ +ðŁİ ģ +ï½ ¿ +ï¼ Ĥ +á¼ IJ +âľ ķ +âŀ ¢ +ëĦ ¨ +ì» « +ì¯ Ķ +ì° ľ +ðŁĴ ° +íħ Ŀ +ãİ ı +ë³ ¶ +Ò ĵ +âĨ ³ +ìĥ ´ +íģ ĺ +âĸ Ģ +ë² Ļ +ภĥ +á½ ¶ +Ä ķ +⬠ĩ +ë¤ ĺ +ðŁİ µ +âľ ļ +ïº ı +Î ¡ +âĹ ī +ðŁĴ « +Ð Ī +ìĸ Ħ +ì§ Ļ +ï» ĥ +ðĿij Ĵ +ëŃ Ħ +âĿ ¥ +âĿ ĸ +âĺ Ŀ +Ê ¹ +Ḡ¥ +âĢ ¿ +ãħ ħ +ê¸ ģ +ëķ ¡ +ëį ¥ +âĪ © +ê» Ħ +ë® Į +Ò ± +âĪ Ĺ +ëł Ļ +ïº Į +Ë IJ +ðŁĺ ³ +ðŁij © +ðŁİ ¶ +ì¿ µ +ðŁ¤ © +ê· ¤ +ëĮ Ķ +ïº IJ +Ï İ +ì¶ ¥ +ï½ Ĭ +á¹ Ń +ë¤ ¼ +âĸ « +ì§ ł +á¼ Ģ +ê» ij +ëĮ ģ +íĢ ¸ +âĻ Ľ +ðŁĴ ŀ +âĸ ° +ðĿij ĸ +ëĿ ¤ +ठ¦ +ì´ ĺ +ðŁĺ ĩ +ëĶ ¤ +Î Ĺ +ðŁĻ ĩ +Ë Ľ +ì© ¡ +âĪ § +Õ ¥ +Ñ Ļ +ëIJ ¬ +ëĸ Ħ +ðŁĮ · +ìĹ Į +ðŁĺ ¥ +ëĪ ´ +ï» ļ +É Ľ +ïº Ħ +ï» ı +Å Į +ë² ļ +ìĭ £ +ïº Ģ +Î ĵ +ðŁĺ Į +Ë Ļ +ëŀ ı +ðŁĶ ¸ +ðŁĵ · +ëģ ½ +íģ ½ +ðŁĴ ¡ +ðŁĮ ± +ëº ı +ìģ ł +ìĥ IJ +ëı Ĺ +ì¸ ° +ëĪ ķ +Î Ŀ +âģ ī +ðŁĮ ¼ +íĮ ł +âĭ ¯ +áĥ ĺ +âľ ¤ +ê± Ķ +íĮ İ +ðŁĴ ¯ +ìı Ļ +íĹ ī +Ù Ń +ì½ ° +ïº ¿ +ï» ± +ì± Į +âĺ ķ +ðŁİ Ģ +Ä Ŀ +ë° § +ìĤ ¿ +áij ķ +ðŁį ĥ +âĩ ¨ +Î Ľ +ë§ ´ +ë³ ķ +á ijIJ +âĸ ĵ +ðĿ ijľ +âĻ » +íĤ ¥ +Õ ¸ +ãĪ ± +ëº Ģ +ì² ¸ +ïº Ľ +ðŁı Ĩ +ðŁĩ ª +âĿ ĵ +Ä Ģ +ì½ ¥ +ðŁĩ § +á½ · +âľ Ĥ +ìŀ ¼ +ï§ ¡ +ðŁĵ ¸ +âĻ ¯ +É Ķ +á½ ¸ +âĮ ª +ï» ĸ +ï¥ § +âļ « +âĶ Ĺ +ðŁĮ Ī +ï» © +ðŁĵ ² +Ï Ī +ðŁĺ ¡ +ðĿij İ +ìľ ½ +ì§ ¬ +ì§ Ĭ +á½ ³ +ìĮ ¤ +ëĤ į +âī Ĵ +ðŁij ¨ +âĺ ĺ +Ó © +âĤ ĵ +âĪ Ĥ +ï¹ ģ +ðŁĴ IJ +íħ ĥ +ðŁı ½ +ê· Ħ +ðŁĺ ı +ðŁĮ º +ðŁĺ Ķ +ï½ « +âľ İ +ëµ Ī +ðŁĩ ¸ +âĢ £ +âŀ Ķ +ëĺ ĺ +ìĥ ¬ +Ê ĥ +⬠ħ +ì© IJ +ðŁĻ Ĩ +ðŁİ Ħ +Ä ¾ +⣠¶ +áĥ IJ +âĺ » +ì± ķ +ìģ © +ë½ ķ +ìº £ +ðŁij Ī +ðŁĻ ĭ +ï¾ ĸ +Ò ļ +Õ « +ìĮ Ī +ë² § +ðŁĩ ® +ï½ Ŀ +ðŁį ģ +ìĹ ¥ +Ä ³ +ë½ IJ +íį ½ +íĽ ij +âĤ ¹ +ãħ ģ +ìĶ ½ +ðŁĶ ģ +ठ¯ +ê¾ ¹ +ëī ľ +âĹ ¡ +íķ Į +Î ĺ +ë£ ¹ +ìĻ ĵ +ðŁĩ ¦ +ðŁij Ģ +âĶ Į +á¿ ¦ +ëĦ Ľ +ìĦ £ +ìŃ Ļ +ï± ł +Î ŀ +Ê » +á¿ ¶ +âĿ Ŀ +ê± Ģ +ëĸ ´ +ãĦ ¹ +ðŁĴ İ +Ï ¹ +⼠ħ +ï» ķ +ãĥ ± +ï½ Ľ +ëĮ ķ +ë¹ ½ +ì¥ Ķ +ì¿ ¤ +ðŁĸ ¤ +Ñ Ĵ +ê¹ į +ëİ Ģ +ìĭ ¯ +ë» ¤ +ðŁĵ ŀ +ðŁĵ £ +ðŁĺ Ŀ +ìį ¹ +ìĹ ¡ +ì° IJ +á½ IJ +ï» Ī +âľ į +Ä ı +ðŁĮ ŀ +âĦ ¦ +ê½ Ŀ +ë» ĺ +ìĪ ± +âĶ ĺ +ðŁĮ » +âĤ ´ +âŀ ¨ +íIJ ģ +ê ¶Ī +âĺ ¢ +ðŁĺ Ī +ï½ © +âĦ Ĺ +ê° Ń +ê° ¸ +ë» ij +ì¥ ´ +ì» ¥ +ï¤ Ĭ +ï» Ĵ +ðŁĺ ķ +âĺ Ķ +ìĺ IJ +ðŁļ Ĺ +ëĹ Ħ +ë§ ı +Õ ½ +âĸ » +⣠µ +ìī ° +ï» ij +âĻ © +Î ¥ +ðŁĺ £ +âĬ Ĥ +ãħ Ĥ +ìħ ¸ +íı Ħ +âľ ½ +ì¦ Ļ +âĸ £ +ê± į +ê¿ ĭ +ì« Ħ +ìº ĩ +ðŁĩ µ +ðŁij ij +âľ ĺ +ðĿij Ľ +ìį ½ +ìº ī +ï¬ µ +ðŁĶ º +âĦ ® +íĥ ¤ +ðŁĩ º +ðŁĴ µ +íħ ¨ +ï½ ij +Î ¨ +ìĥ ¹ +ìĸ ķ +ì¹ µ +ðŁĵ ± +ठµ +ðŁij Ĭ +ðŁĴ Ħ +ðŁĴ Ŀ +ãĮ Ķ +ìĻ ģ +Ð ĩ +à® IJ +âĸ ¹ +á´ Ľ +âĹ ĺ +ëº ¨ +íĥ ī +ìĸ Į +ðŁIJ ¶ +ãĤ ij +Ë ĩ +Å ı +á½ ¹ +ìħ § +ï¹ ° +ðĿij ¡ +ðŁĶ Ŀ +ðŁĺ » +ðŁĴ ĥ +ðŁ¤ ¦ +ðŁį Ĵ +íĢ µ +âľ Ĩ +ë¹ ´ +ï§ ¤ +ï» Ļ +á´ Ĺ +ðŁĮ ´ +Í ¾ +ëĮ ij +ì¨ ĭ +ìµ ¸ +ðŁİ Ī +ðŁı ł +á½ ± +Û Ĩ +á¿ ĸ +âĢ Ľ +ì° ¼ +íķ ¥ +íĹ ´ +ðŁĩ ¬ +ì° Ŀ +âĪ ł +ï¼ ĩ +âĬ Ļ +âĿ ij +ëĦ ĭ +ëŀ Ĺ +ë° ī +ìĹ Ĭ +ì¢ Ĩ +íĮ ¥ +ï° ² +ðŁĵ ĸ +ðŁĺ ® +âļ ª +ðŁĺ ļ +âĿ ŀ +ðĿij Ł +ðŁİ Ĥ +Å ķ +áIJ Ī +êº ½ +ì± ł +ïº Ŀ +ê¿ ī +áĥ ł +ðŁı ĥ +ðŁĴ ¸ +âĿ ģ +âĹ ¾ +Ú ª +á¹ ĥ +íĬ ¬ +ðŁĩ ± +íİ Ń +ðŁĺ ŀ +ë¾ ° +á¹ Ľ +ëĽ ¸ +âĿ Ĥ +êĴ ³ +âĶ IJ +íĵ ° +âŀ ł +ê´ ĺ +ëħ ĺ +ë» ¥ +ì¾ ħ +ðŁĺ IJ +âĪ ª +ðŁij ģ +âĪ ´ +âĹ ģ +ëº IJ +ìŀ ¤ +ì± Ĺ +ðŁı ¾ +Î § +á½ » +âŀ ¥ +ìŁ Ī +ï» ī +âĸ Į +ãĥ ® +ðŁ¤ ¤ +âĩ ĵ +ì¼ ł +á´ ı +ë§ ¬ +ë» £ +ðŁĴ ¬ +ðŁį ĵ +Ä ¸ +Ù ¹ +Ê ¿ +á½ ° +ëķ ľ +ì° ¡ +ì° » +íİ į +ðŁİ ¯ +ðŁį Ĥ +ðŁij § +âĻ ¢ +áĨ ŀ +âĻ § +âļ ľ +âľ ī +ëĵ ¦ +ëŃ £ +ìĪ ı +ìĵ ± +Å Ń +Ê Ĭ +âĴ ¸ +âĩ © +ðŁĴ Ķ +Õ µ +Ð ī +Ò » +ë§ £ +ìĽ ľ +ì¿ ¡ +íĽ ħ +íĽ ¤ +ïº ¢ +âľ ĭ +âĪ Ī +ðŁĮ į +Ê ľ +ëĬ ª +ëĴ ¹ +ïº ² +âĸ Ħ +ãħ Ī +ëļ ¤ +íİ © +âĪ ¨ +ðŁ¤ ª +áĥ ļ +ê³ ¶ +íĬ ķ +ðŁĺ ¬ +âĪ « +ðŁij ĭ +Ò IJ +íĬ ¿ +ðŁĶ µ +ðŁĴ ¨ +ðŁĮ Ļ +ëĩ © +âľ ³ +ë¨ ģ +ëº Ħ +ìĻ ij +ìº ħ +íı Ī +ðĿij Ļ +ðŁĴ ĺ +ãİ ¥ +âĿ ı +âľ ° +ï¯ ¿ +ëµ IJ +ì¼ IJ +ïº ± +Õ ´ +ï¬ Ģ +âľ ´ +ðŁ¤ Ń +ðŁij Ĩ +âĽ Ķ +ê· ĵ +ìĮ Į +ðŁ¤ · +Û Ķ +ðŁ§ ¡ +ðŁĺ ĵ +Î ĸ +âı ° +ê² ľ +ëĭ ³ +ëİ ħ +ë° Ī +ï® IJ +ðŁı ¡ +âĨ ª +âĵ Ķ +âľ Ĭ +Ï ² +Ü IJ +ðŁĩ ³ +Ö Ĥ +âľ ı +ìĸ Ĺ +ì« Ļ +ðŁĺ ² +Ä Ń +âĻ Ń +âĶ ı +âĹ Į +ðŁĺ ¯ +áµ Ĵ +íĬ ł +Ä · +Ê ģ +à¤ Ł +á¹ ģ +á¼ ° +á¿ Ĩ +â « +â« ¸ +ëį « +ì³ ĩ +ì¼ ¤ +íĽ ¨ +ðŁĴ Ł +Ê Ģ +Ê ³ +ëĵ IJ +âķ ° +âĿ ĩ +Ç Ģ +Ç Ķ +É ´ +âĺ ļ +âĺ ľ +ê¶ Ĥ +ì« Ĵ +ì± Ī +ðŁĩ ¨ +ðŁİ ¥ +ðŁĵ Ŀ +Ä § +ðĿ ijIJ +Û Ī +ठ¬ +ì¬ IJ +íĹ ¥ +âĻ ¨ +ðŁį ´ +ï¹ ı +Ë ĭ +ðŁ¥ º +âĸ ¨ +íĻ ĭ +âĪ ħ +ëģ Ļ +ëŀ ł +ìĨ ¥ +âĢ ĸ +ðŁ¤ ĺ +ðŁIJ » +áµ ķ +Ç Ŀ +âĺ ı +ïº ļ +ï» Ĥ +ðŁļ © +ìĪ Ł +Ë Ĭ +⤠µ +ðŁĴ § +ã ħį +ë© © +Æ ¬ +Î ĩ +âĩ § +âĵ ļ +ìĤ ¯ +ìĪ ¯ +ëĨ ĭ +âľ ¯ +ðŁļ Ģ +Ú ĺ +Ú ¨ +âľ Ń +ê² ħ +íĮ ° +íľ Ļ +ðŁĮ Ĭ +ðŁİ ĵ +ðŁĺ Ļ +Ë ĥ +ðŁĴ ģ +ðŁij İ +âĺ ¹ +ðŁĺ « +ðŁĴ » +ëĤ µ +ìĿ Ĭ +íĮ » +Ò ³ +á½ ² +âŀ ŀ +ëĤ ij +ëĿ Ī +ì£ ¤ +ï» ¯ +ðŁĩ © +ðŁ¥ ³ +âĴ ¼ +ðŁ¦ ĭ +âĺ Ĥ +ðŁĺ ° +ðŁĻ ĥ +ðŁĺ Ĵ +Û İ +Ï ķ +Ḡ¤ +ë£ ½ +ìĬ ¥ +ðĿij ī +É IJ +ðŁį İ +âķ ¯ +âķ ¹ +ຠ² +ï¾ ł +ë¹ ķ +ïº Ĩ +Ê º +Ó § +âĨ ł +ëĥ ĩ +ìİ Ī +ìŁ ¤ +ï± ¢ +âķ ¬ +âĺ ł +ðŁİ Ĭ +ãį į +ãİ İ +âĺ ° +âľ ĥ +ãħ ī +ë¯ Ī +ë¹ ¤ +ìı Ń +ðĿij ¢ +ðŁIJ ¾ +Å ĭ +ðŁij ¶ +âĶ Ľ +ï¿ ¢ +áĥ ¡ +Ä ¼ +Å Ĩ +Ñ IJ +ìĥ Ľ +ìĺ Į +ì± ¤ +íħ ģ +íļ ĥ +ï³ Ĭ +ðĿij Ķ +ðŁĩ « +âĭ ° +ðŁĺ ¨ +âĤ © +Õ ¬ +Ḡį +á» ´ +âĨ ĺ +âĺ ¯ +ãħ ı +ìł ¬ +âĻ Ķ +ðŁĶ Ķ +ðŁĺ ł +ðŁĻ Ĭ +à® ľ +á¹ ħ +âĹ IJ +âĿ Ī +âŀ ½ +ìĥ ħ +ðĿij ł +Æ ¢ +âĭ Ļ +ê° Ľ +ëĿ µ +ë£ Ł +ìı ľ +ïº ģ +ðŁĴ Ń +âĬ ĥ +ðŁIJ ° +ãħ Į +Ü ĵ +âŀ ķ +á½ ģ +ìķ ³ +ðĿij Ŀ +ðŁİ ¬ +É ¡ +à¤ Ĺ +áIJ ī +ì© ľ +ì¶ § +ï³ ī +ï» ħ +ðĿIJ ŀ +ठ¶ +ðŁĵ ¢ +ðŁį ĭ +ðŁĴ ħ +ï¾ ķ +⬠Ĩ +âĪ µ +ðŁ¤ ij +áĥ £ +Æ Ħ +Ñ ¹ +á¼ Ķ +ê° ł +ê´ Į +ê· IJ +ëĽ ´ +ì± ĺ +ï® Ń +ïº ¹ +ïº ¾ +âľ Ĺ +âĿ ¦ +ðŁij ¦ +áĥ Ĺ +Ù ² +á½ ´ +âĪ ı +âľ ® +ê¹ ° +ë² µ +ìĦ Ģ +ì© Ŀ +ïº ŀ +ïº ½ +ðŁĩ Ń +Ë Ĥ +ðŁį ij +ðŁį Į +ðŁĶ » +ê¹ ¬ +ìĬ Ń +ìľ · +ðŁĽ ij +Ç § +ë¼ Ľ +ïº ¡ +ïº º +ðĿij ļ +ðŁĵ ¦ +ðŁĶ İ +ðŁĹ ĵ +áĥ Ķ +âľ Ĵ +âľ ¡ +ðŁĮ µ +âĶ ķ +ëĢ Ŀ +ðŁį Ĭ +âĺ ĥ +ìĺ ħ +ঠ¬ +ðŁ¦ ģ +âİ ¯ +ðŁIJ ķ +Ñ ¿ +ॠ¤ +༠ĭ +ê· Ī +ì« Į +ðŁĩ ° +âĿ ī +ì« Ģ +íĿ Ħ +ðĿIJ ¢ +ðŁļ ¨ +âĻ ¤ +ðŁĺ © +ðŁį į +ðŁĺ ij +ðŁļ ļ +Ö Ħ +ë « +ë« ¼ +ठı +á¿ · +âĮ © +âĺ IJ +âŀ £ +ê¸ ± +ê¼ ¿ +ëĦ Ŀ +ìı ´ +ìļ ¤ +ì¿ ± +íİ IJ +ðŁĴ ¢ +ì´ IJ +âĩ ij +âĶ ĵ +âģ ¾ +Ü Ŀ +ðŁ į° +â´ ° +Æ ı +Ï Ł +Ú º +Û ĥ +áĦ Ĵ +âĪ Ł +âĿ į +ãĦ ² +ìľ ħ +ì¤ ı +ðŁĩ ² +êº Ħ +ðŁİ ¤ +âľ £ +⸠Ŀ +ï¸ µ +ຠ§ +áĢ Ļ +âķ ł +Õ ¯ +âı © +ðĿij £ +ðŁĴ £ +Å ĺ +ॠIJ +âģ ĥ +âĮ ĺ +ê» Į +ìĮ Ķ +ðĿij ĺ +ðŁ¤ ĵ +Õ ¿ +à¤ Ń +âĮ ļ +âľ Ŀ +ðŁIJ ¼ +Ë Į +âķ ļ +ï¦ Ĺ +âĿ ķ +âķ £ +ðŁIJ ± +à® ¤ +Ñ ¾ +ठļ +ठľ +ìĪ Ħ +ìļ ľ +ðŁİ ® +É Ĵ +Ú · +ຠį +âĨ µ +â Īĺ +âĿ Ĭ +ë¿ į +ìIJ Ī +ìļ ĺ +ì¯ § +íĥ ¯ +ìĸ ı +ï¸ ° +ðŁĩ ¯ +ðŁ§ ļ +ðŁĺ µ +ðŁĺ · +ðŁĮ ³ +ຠ¥ +Ä ī +Ä ¥ +âľ ¶ +á¿ ¾ +âĬ ± +âĺ ¾ +ê° ī +ê¼ ° +ëº ij +ðŁĶ Ĭ +ðŁĸ IJ +Å ¤ +Ò « +à® ® +âĮ Ī +âĹ Ĺ +ëĦ µ +ëħ ľ +ëľ ¹ +ðĿij ¥ +ðŁĴ ¿ +ðŁĽ Ĵ +Ê Ĵ +áŀ ĵ +ðŁIJ Ŀ +ðŁ¦ Ħ +ðŁį · +âĺ Ł +ï¸ ¶ +ðŁ¤ Ł +Ô ± +âĨ ² +âĪ İ +âľ « +ëĩ ½ +ëı IJ +ëķ Ħ +ï¦ ³ +ï§ Ŀ +ïº Ļ +ðŁij » +ðŁĵ º +êµ ¼ +ìĮ © +ðŁĮ ² +È ± +íĶ ķ +ðŁĺ ¤ +ãĮ ¢ +Ê Ķ +ठ¡ +á¼ Ī +ëİ ĥ +ë© ± +ë® Ī +ðĿIJ « +âĬ ķ +ëĥ ł +ë» ¬ +íĭ Ķ +Õ ¤ +á¼ ± +âľ ¥ +âĺ Ħ +âĪ ¥ +âļ ķ +ðŁij Ħ +ðŁİ ħ +àº Ļ +âĶ ¬ +á½ µ +Õ ¾ +Ö ģ +âĹ Ķ +ê¿ į +ëĸ µ +ë© İ +ë® ´ +ìķ ´ +áĥ ľ +á¼ ¡ +âĶ Ĭ +âķ ® +âĹ ¼ +ðŁį ¾ +ðŁĽ į +ðŁij Ĺ +ðŁ¤ ŀ +âľ Ħ +Õ Ģ +ঠ² +Ë ī +⣠¨ +Ä ¯ +Ï Ĭ +á´ ľ +ë¹ ³ +ï³ ĭ +ï¿ ł +Ä ª +âĤ ¸ +âľ ± +ê» IJ +ëĭ » +ë§ ¸ +ìŀ ¿ +ì© ¨ +ì ŃIJ +ì° ¿ +íħ Ł +ðĿIJ § +ðĿij ij +ðŁĮ İ +ðŁĵ ® +ðŁķ Ķ +âĹ Ļ +âĹ » +âŀ § +ìŁ Ŀ +âľ ¬ +ãĥ ° +âģ Ī +â ĵĺ +ðŁ ĴĮ +ï¬ ĥ +àº Ķ +ìĶ ° +ðŁĺ ª +× Ģ +ìĥ ¨ +ïŃ ĭ +ðŁį ķ +ðŁĺ ´ +Ï ³ +á¼ Ħ +á½ ħ +âĩ ¢ +âķ Ń +ìĺ » +íĬ ¤ +Ü ĺ +⤠´ +âĹ į +áŀ Ł +ðŁį º +áŀ ļ +ðŁı Ĭ +ðŁIJ · +Ê Į +á½ º +âģ » +ê½ Į +ëĪ Ĺ +ë Ĺı +ì¿ ° +íĢ ¼ +íį ħ +ï· ² +ðŁĮ ı +ðŁį « +ðŁį ³ +ðŁİ ° +ðŁij ° +ðŁĴ ² +á¥ Ļ +ðŁIJ Ł +ï¿ ¡ +ðŁĹ £ +ðŁį ľ +âľ ² +ãİ ¢ +ðŁĶ ° +á¼ ¸ +á½ ij +Ä İ +áĦ Ģ +âĻ ķ +ëł Ŀ +ìĪ ´ +ïŃ Ń +Ó ľ +Ô Ģ +ëĢ ľ +ëĥ Ķ +ìĬ Ľ +ì« ij +ìº ¥ +ìº ¬ +ðĿij ¦ +ðŁĶ ¶ +ì¾ ¨ +ðĿIJ ļ +ðŁį » +ðŁĴ į +ðŁ¤ ¡ +ðŁķ Ĭ +â½ ĩ +âĵ IJ +ðŁį Ń +ðŁį ª +ðŁĶ Ĩ +Ò ¡ +á´ ĩ +É Ĺ +Ü Ķ +âĦ İ +âĿ ĥ +ëĹ Ģ +ï² Ķ +ïº Ī +ðĿIJ » +ðŁĴ Ĭ +ðŁļ « +Ñ ° +Ñ ³ +ठ· +âĹ ł +ðŁij ¤ +ï¾ ĩ +âĺ ĵ +ðŁį µ +ðŁ¤ ¨ +âĸ Ń +à® ´ +Ü ¢ +Ü ¬ +à´ ® +ðŁķ º +Ô ¹ +Õ £ +à´ ¯ +á ´Ģ +âĮ ī +âľ IJ +âŀ ¦ +ê¹ ½ +ëĮ ľ +ðŁı ¥ +ðŁĵ © +Ò ¹ +Ó ĺ +ठħ +âĿ § +Æ Ĺ +âĹ ½ +ðŁij « +ðŁİ § +ðŁij £ +âľ » +ðŁĻ ħ +ðŁĺ ĸ +ðŁĴ ® +ຠ° +ðŁĶ ľ +ðŁį Ħ +ðŁ¤ Ŀ +á ĥĿ +áŀ Ģ +âĩ ¦ +Ê ¾ +Ò ® +Õ ¼ +ठĨ +âĹ ħ +âļ ĵ +âļ ĸ +ê¿ © +ë¯ Ħ +ìIJ IJ +ìŀ ° +ì§ Ń +íĭ ĭ +íİ ¨ +íĻ § +ï² ij +ðŁİ Ĺ +Ù ³ +ðŁij ¸ +ঠ® +ðŁij ķ +Ú µ +âĢ ¾ +âŀ ° +ðŁij ¯ +ðŁİ ¼ +ðŁı ģ +Ä º +Ê ı +Ú ³ +âı ± +ê½ Ī +ëĿ Į +ìĮ ī +ìĹ · +ìŀ ´ +íĹ ¹ +íľ ¨ +ðĿĹ ² +ðŁĮ IJ +ðŁİ Ļ +ðŁı µ +íĽ Ļ +ðĿij ħ +ðŁĺ ¶ +âĵ ħ +âķ ¥ +ðŁį ı +ï¦ İ +Õ © +ðĿIJ Ħ +Ó £ +Ú ¿ +âĻ ļ +ðŁĶ Ĺ +Ḡ« +âĭ ® +âĸ ¦ +⼠½ +âľ µ +ãħ Ĩ +ãħ Ĭ +ëĦ Ļ +ëĿ ¨ +ë¥ Ħ +ìĦ ¦ +ì§ ° +ì§ ¹ +íī Ī +ï§ ij +ï» ĩ +ðŁĮ ¾ +ðŁı ĸ +ðŁIJ ij +ðŁĴ ³ +ðŁĵ Ĩ +Û ĩ +Ü ķ +á½ ½ +ëĦ ľ +à´ ² +à´ ³ +àº Ń +áĥ Ľ +âĿ Ķ +âij ħ +áĥ ¥ +ðŁĵ ħ +âŀ ³ +á´ µ +ï¹ ¡ +ï¹ ¶ +Î Ĩ +ठ¥ +áī µ +âĿ Ļ +âĿ ± +ëī ł +ëİ ł +ëı Ľ +ë¿ ħ +ìĶ ¸ +íij ¯ +íŀ ī +íŀ Ľ +ï§ Ħ +ïŃ ĺ +ïº ¦ +ï» ¸ +ðĿij Ĥ +ðĿij ı +Ï ij +Ú ł +áĢ Ķ +áŀ Ķ +á¹ ¢ +ëĦ ¸ +ðĿIJ ¨ +ðŁĩ ´ +Õ ° +ðŁij ł +ðŁį Ĩ +ðŁı Ģ +ðŁ ijIJ +ðŁį ĩ +ðŁIJ £ +áĪ Ń +Ü ª +ðŁ ĮĢ +áŀ ĺ +âĩ Ħ +ðĿIJ Ģ +Ê Ļ +âĶ ¼ +ðŁı ¿ +Æ · +È ł +Ñ ½ +âĤ ¨ +ê´ Ń +ê¹ » +ëĶ ¨ +ìĪ Ģ +ì¾ ° +íĨ Ī +ï® § +ï¯ ½ +ðŁĶ ħ +ðŁĶ ® +Å ¢ +Ê ° +Ñ ¸ +ठ£ +âĬ Ĺ +ëª Ħ +ï¹ · +ïº ħ +ðĿIJ µ +ðŁĮ ¶ +ðŁĵ ° +ðŁĶ · +ðŁĸ Ĵ +ðŁ¤ ² +ëī © +ðŁİ Ĩ +ðŁ§ IJ +ðŁį ® +âĨ º +âĿ ¢ +ðŁij ª +ðŁij ± +âĨ ¡ +áŀ ı +Ú ķ +ðŁį ¹ +ðŁĴ Ģ +Ë ® +Ó ¨ +Ö ħ +ठĩ +âĤ ¡ +âĪ ķ +âĺ ī +ê¹ ¼ +ê¼ IJ +ì½ ¸ +ðĿIJ ¬ +ðŁı ħ +ðŁij Ļ +ðŁĴ ī +ðŁ¤ Ļ +È ĺ +É ³ +É ¹ +Ù º +áĢ Ħ +á¿ ³ +âļ ĺ +âĿ Ĩ +ëĨ ī +ìĸ į +ìĺ ĩ +ì¥ ĺ +íĸ ħ +íĻ ij +ï® Ĭ +ï¿ Ń +ðĿĴ IJ +ðĿĹ ¢ +ðŁĶ ĸ +ðŁĶ ¨ +ðŁļ ij +ðŁļ ² +Æ ¸ +âĹ ¥ +ðĿIJ Ń +ðŁį ½ +âĹ ij +âĵ ĩ +ðŁĶ ± +âľ ¼ +ï¹ ĥ +âķ ± +ãĢ Ĺ +ðŁı ĭ +ðŁļ ´ +ðĿIJ ® +Ä ļ +Õ ı +Ä ¶ +áĥ ij +á¹ ¬ +Ä Ī +Ä Ĵ +Ò ° +Ó ķ +â IJ +âIJ £ +âĹ ¢ +âļ Ļ +ãħ Ĺ +ê° ¬ +ê³ ª +ê» Ģ +ëĦ ´ +ëİ ģ +ëĿ Ķ +ë¬ ½ +ëŃ į +ìĩ ³ +ì° ¹ +íĮ ¹ +íŀ Ŀ +ï® ĭ +ï ¶Ī +ðĿĴ Ĥ +ðŁ¥ Ģ +ðŁ¦ ħ +Ê ĺ +á¼ ij +âģ İ +ðŁį ŀ +âĨ ĸ +âĨ Ļ +ðŁİ ĥ +âĦ ¡ +âĭ ± +ðŁĶ į +ಠ¨ +áµ ĥ +âĶ « +⦠¿ +ðŁĩ » +Æ ¤ +Ò ı +Ò · +Û ī +à® ķ +Ḡ³ +ï¬ ± +ðŁĨ Ķ +Ú Ń +Û ¦ +áħ ¡ +âĦ ¹ +ê¿ İ +ëķ Ķ +ë¼ ī +ìļ § +ì² µ +ì´ ¨ +íĬ Ī +íĸ IJ +ðĿĹ ĺ +ðŁĩ ¿ +ðŁİ ĸ +ðŁij ħ +ðŁ ĵĺ +ðŁļ Ļ +ðŁĽ µ +à¶ ½ +⼠µ +ðĿIJ ³ +ðĿIJ ¸ +âļ Ķ +ðŁij Ń +Ó ij +âĶ ¯ +ðŁħ ¿ +ðŁĺ ¹ +ï¿ « +â¼ ¤ +ðŁĴ ĩ +ðŁĵ İ +ðŁĸ ĭ +ঠ¸ +ðĿIJ į +Ä ² +Ï ĭ +Ñ ¬ +Ú ¬ +Ü Ĵ +á´ ¬ +ï¨ Ħ +É £ +Ë ij +Ï µ +Ò Ŀ +Û ¥ +Ü ł +๠Ľ +áĥ ķ +áĬ ķ +á¾ ¶ +âĤ · +âĩ ¾ +âķ © +âĸ IJ +âĺ ª +âĺ ® +âĿ ļ +âĿ Ń +âŀ ± +âµ İ +ãı Ĭ +ë© ĵ +ìĹ ¾ +ìª Ħ +íĵ Į +íķ ¼ +ïŃ ¬ +ðĿij Ĩ +ðĿij ŀ +ðĿĸ Ĭ +ðŁİ ¸ +ðŁı Ħ +ðŁij µ +ðŁĴ ł +ðŁĶ ĺ +ðŁ¥ Ĥ +Å ª +à· ĥ +á´ ¼ +âĬ ° +ë³ ı +ë´ £ +ï¥ ľ +ðŁĵ Ī +ðŁķ ¯ +ðŁ§ Ģ +âĻ IJ +ðŁĨ Ĺ +ðŁĵ ķ +ðŁ§ ģ +Ü « +âĿ IJ +Õ ķ +འķ +âŀ Ŀ +ঠķ +ðĿIJ ¶ +É ¢ +Î Ħ +áĨ ¢ +âĤ ± +Õ į +à¡ ķ +á´ ° +Ḡ© +⼠· +âĿ ® +ê¡ ĵ +ëı ¤ +ëĹ IJ +ëµ Į +ìij Ī +íı ¿ +íĹ µ +ðĿIJ İ +ðŁĨ ĺ +ðŁı Ł +É ¥ +Õ » +à¡ Ķ +ठĸ +á´ ¸ +âİ Ļ +âİ ¥ +âı ³ +ëģ ķ +ëĬ ī +ì¡ į +ì¹ ¡ +ï¦ ¶ +ï¬ Ł +ï® « +ï® ¯ +ï± ĥ +ï ·» +ïº µ +ðĿĹ Ķ +ðĿĹ ¡ +ðŁİ ¨ +ðŁĶ Ĵ +Ú Ľ +ठ§ +âŀ ¹ +áĢ Ģ +ðŁį ħ +âĹ ¤ +ठł +ðŁIJ ¥ +áĥ Ĵ +ðŁı Ŀ +ðŁį ¼ +ãĮ § +âĿ Ľ +ðŁIJ Ī +ঠ¯ +áĢ ŀ +ãĢ ĸ +áŀ Ļ +ঠª +Õ Ĩ +âĬ Ĩ +âľ ¾ +ðŁIJ Ĺ +ï¹ ¿ +Ä ¦ +Ü Ł +ಠł +ಠ¥ +áŀ ī +á´ ¥ +á´ © +á½ Ģ +á½ ¡ +âĨ ķ +âŀ ¯ +ê¡ ij +ëij £ +ë± Į +ìĪ ij +ìľ Ķ +ìŀ ½ +ì¨ į +ðĿij Ģ +ðŁĮ Į +ðŁį ¦ +ðŁį © +ðŁIJ ļ +ðŁĵ Ĵ +ðŁĵ ¹ +ðŁ¥ ij +Ä ĭ +Ë Ĺ +Ñ « +Õ ¢ +Ú ° +â ĮĢ +âĹ Ĥ +âĹ £ +âľ Ľ +âĿ Ĵ +âĿ ĺ +âŀ Ļ +âŀ ² +ãİ į +ê¡ IJ +ëŀ ĸ +ìĬ Ŀ +ìĽ ¤ +ì¡ ĭ +ì¨ ° +íĹ Ļ +ï¥ ¸ +ï³ į +ï» İ +ðĿij ĵ +ðŁĵ Ĭ +ðŁļ ¼ +ï¦ ģ +ðĿķ Ĵ +ðŁ ijľ +ðŁij ¿ +ðŁĩ ½ +à· Ħ +âĸ ´ +ãį ī +âĬ ĩ +ðŁ§ ¸ +Ú ¡ +â¾ ĥ +ðŁĹ » +âĵ ij +ðŁ¤ ¸ +ðŁ¤ ¯ +êĴ ° +ðĿIJ ĵ +âĶ ´ +êĴ ± +áĢ ĺ +â ĽĦ +ï¹ ¹ +Ó Ķ +áĥ ± +Ü ¡ +ß ŀ +âĻ ı +âľ ¸ +ìij ¨ +ðĿIJ Ŀ +ðĿIJ ¥ +ðŁį ī +ðŁij ¼ +ðŁ¥ Ŀ +Æ Ķ +Ý ¬ +ठ« +ຠļ +á´ ´ +á½ ĸ +âĤ ¶ +âİ ¢ +âĿ ħ +⣠« +ãİ Ľ +ë® ¨ +ëº Į +ë¼ ĺ +ìĨ Ŀ +ìľ ³ +ìŀ Į +ì£ Ĺ +ìª ĺ +ì» ¹ +ï· ¼ +ïº Ĥ +ðĿIJ ´ +ðĿIJ ¼ +ðŁĮ ļ +ðŁı « +ðŁĴ ¤ +ðŁĴ ¶ +ðŁĴ ¼ +Ê ķ +Ê ½ +â² Ł +ãī ł +ê¡ Ĵ +ëľ Ģ +ìĥ ¾ +ì¸ ¤ +ï¥ ģ +ðĿļ Ĭ +ðŁļ ĥ +âŀ Ľ +ìħ ´ +áĦ ĭ +âĩ Ĺ +ï§ · +âĺ ĸ +ðŁIJ ¦ +⸠ľ +ðŁĴ ´ +ðŁ¤ ļ +ãĬ Ĺ +âĮ Ľ +áĪ Ľ +༠º +â½ ī +ðŁı ¢ +âĵ ŀ +âĺ ½ +ãĢ Ļ +ðŁ¤ ® +Å IJ +áĥ ¬ +ðĿĹ » +ðŁį ĸ +Æ Ĭ +Ê Ł +ß ĭ +ठĭ +áµ Ķ +á¿ ĥ +âĦ ī +âĮ ĭ +âı ² +âĵ Ī +âĵ ¢ +âķ Ķ +âļ ij +âĿ ĭ +âĿ İ +â µľ +âµ £ +ëĴ Ī +ëľ ģ +ë¶ ĩ +ìį » +ìĺ Ń +ì§ ¢ +íĹ Ģ +ï§ Ĭ +ï ¬¸ +ï± ¡ +ðĿIJ º +ðĿij § +ðĿĺ ¦ +ðŁĵ ¥ +ðŁĺ Ł +ðŁ¥ IJ +Ä ĸ +É ¨ +áĢ IJ +áĥ ĵ +Ạĵ +á¼ ¶ +á½ Ħ +âĤ ¤ +âĮ ľ +âĮ Ł +âİ ł +⼠¸ +âµ į +âµ ı +âµ ĵ +ãĢ ĺ +ë ·¸ +íħ ¼ +ï¦ Į +ïŃ Ħ +ïŃ İ +ðĿĻ ļ +ðĿļ ĺ +༠ĵ +ëŃ ħ +áIJ Ľ +ãİ ¾ +ï¨ Ģ +ðŁĹ ½ +âĻ ŀ +Ë ĸ +âĹ ŀ +ðŁ¤ « +ðŁĺ Ĺ +ï½ ¦ +ðŁ¤ ¢ +âģ ĩ +ãĢ µ +ðŁį Ķ +áĬ ł +ðŁĺ ¼ +ðĿĹ ® +ðŁIJ ³ +ðĿIJ ĭ +ðŁĨ ļ +ðŁĶ Ľ +Ñ » +Ü ¨ +à® ² +âľ ŀ +âµ Ļ +êµ £ +ì¸ ¨ +ðĿ IJľ +ðĿĺ ° +ðŁĶ ½ +Ç » +Ç ¿ +Ê ĩ +Î IJ +Ð Ģ +Ñ ¡ +Ñ ² +Ò Ĵ +Ù ¶ +ß ķ +à¶ ± +áIJ ģ +âģ ŀ +âĸ § +âĽ Ī +âľ ľ +âľ ¹ +⣠¹ +⤠ĩ +ê² Ĭ +ê¾ ľ +ë¯ IJ +ë³ IJ +ìħ © +ìIJ ¬ +ìij ¹ +ï¤ Ķ +ï¦ ļ +ï¬ ł +ïŃ Ķ +ïº ¶ +ðĿĴ ı +ðĿĸ Ĩ +ðĿĹ ¶ +ðŁı Ĥ +ðŁIJ ½ +ðŁĴ © +ðŁĵ ½ +ðŁĹ ¨ +ðŁĹ º +ðŁĺ ¸ +ðŁ¥ § +Å Ĺ +Ê İ +Ò Ļ +× ² +à¤ Ī +á¼ ´ +á¿ ij +âµ ī +ãħ ĵ +ì½ ´ +ðĿĸ ĵ +ðŁĵ Ĺ +ðŁĶ ª +ðŁĸ į +Ï Ĵ +ðŁij ¬ +áĥ Ļ +âĨ ¬ +âĶ ¤ +⼠¹ +âĻ Ł +ðŁļ ¶ +ðŁij ¾ +âĪ ĭ +ðŁIJ ¯ +à¼ İ +âľ · +ï¨ Ļ +âĶ » +ðŁij ¹ +áĦ ī +ຠª +â¾ ı +â½ ħ +ãİ ĸ +Ñ ´ +Õ ® +Ú ¼ +áĢ ķ +áĨ ¼ +ëŃ ı +ðŁIJ ¸ +ðŁļ £ +Æ Ŀ +Ô » +áĥ ¢ +ðŁį ¯ +É ¦ +Õ ¦ +âĻ ĭ +ï¬ « +ðĿĹ ¦ +Ç ļ +É ± +ठī +á´ Ħ +âĻ ĵ +⼠° +⣠ª +ëĥ ĺ +ë¢ ¸ +ìĤ ij +ï® Ķ +ðĿķ ĸ +ðĿĹ § +ðŁĩ ¼ +ðŁĵ ĭ +ðŁļ ľ +ðŁ¥ ¤ +Ä ® +Å · +ß Ĭ +ॠ¥ +à® ª +áŀ Ħ +áµ Ģ +Ḡħ +á¼ ¢ +âĪ Ŀ +âĬ ¹ +âĴ ¶ +âķ ´ +⼠± +⼠³ +⼠º +âŀ Ł +ãı Ħ +ê¸ Ķ +ê¹ Ł +ëĩ ° +ë¹ » +ìĤ ¥ +ìĽ » +ì° Ł +íĥ ° +íĨ º +íļ ½ +ï¤ ´ +ï¥ ¾ +ï³ Ŀ +ðĿIJ ¦ +ðĿĴ ľ +ðĿĴ Ł +ðĿļ Ĺ +ðŁİ Ń +ðŁı ĵ +ðŁı ³ +ðŁı º +ðŁIJ į +ðŁij ĥ +ðŁĴ ı +ðŁ¤ ĸ +ðŁ¤ µ +Õ ² +âµ Ķ +ëĺ ¬ +ï¦ £ +Ê Ĥ +áĨ « +áŀ ij +ðĿĸ İ +ðĿĹ ĸ +áĦ ĥ +âĩ ł +áĢ ¡ +འĦ +âŀ ¸ +ï¦ Ļ +âĩ ļ +ðŁIJ ¬ +ðŁIJ ¢ +â¾ Ĵ +ðŁIJ ¤ +ðŁĶ « +ãĢ ŀ +ï¸ º +ðŁĺ º +â½ ´ +ðŁĨ ķ +âģ ¿ +ðŁį ¨ +ಠķ +ðŁļ ĺ +áŀ ħ +ঠħ +áŀ ¢ +ਠľ +â ļĮ +ãĢ ½ +à· ´ +âĵ Ľ +áĢ ľ +ìĨ ¨ +Ë © +Ü Ĺ +âĭ ¼ +ðŁĻ ī +Å Ĭ +É ĵ +Ê ² +Î ° +Ñ ¼ +Ô ¿ +à¡ IJ +༠ľ +འ¦ +á¶ ľ +âĤ ² +âĨ ¨ +âĬ ¥ +âķ § +âĻ ľ +ãĭ ¡ +ë´ ¬ +ë¶ ij +ìī ¿ +ìİ ħ +ìł ± +ì° § +ï² ¡ +ðĿĴ Ľ +ðĿķ £ +ðĿĹ ľ +ðŁį ² +ðŁİ © +ðŁIJ IJ +ðŁIJ ł +ðŁij ½ +ðŁĴ ij +ðŁĵ ľ +ðŁķ µ +ðŁ ļĮ +ðŁĽ £ +Ê ĭ +Ó ¯ +Ù ¸ +ß Ķ +ß Ļ +à¡ ĵ +á´ į +Ḡ¿ +âı º +âĸ ¥ +ë¤ ½ +íľ ij +ðĿIJ ¹ +ðĿĸ Ķ +ðĿļ İ +ðŁĵ Ħ +ðŁ¦ · +Æ ĥ +à¦ Ł +âĮ Ĥ +âĺ Ń +â² ļ +ëĿ ķ +ðŁİ £ +à® ĩ +འĨ +áħ µ +áĹ ľ +âĢ ½ +âĮ £ +âģ ½ +ðŁĵ ¬ +ðŁ¤ § +âĩ ª +â½ £ +âĹ Ł +ï¨ Ĺ +êĴ ª +ðŁĽ Ģ +Ç Ĥ +ðŁ¥ ¶ +ðŁİ į +ï¿ © +ðŁij Ĵ +áµ Ī +ï¸ ¿ +áħ © +â¾ ¦ +à° ¤ +á´ ĸ +ਠ¬ +àº Ĺ +༠» +Ñ º +ਠª +á´ ³ +ðĿIJ Ī +à» Ģ +á´ ¿ +âĤ į +âĩ ¡ +⼠ª +ðĿIJ Ĥ +ðĿĴ ķ +ðŁ IJľ +Ê į +Ñ ± +འĥ +ë® IJ +ìĽ ¡ +ìľ ģ +ðĿIJ ¿ +ðĿķ ł +ðŁij Ľ +Æ ª +Ï º +Ó ¬ +Ù ¿ +Ý £ +ઠī +à® ¹ +འij +áĨ ¯ +áµ ĩ +âĩ ¥ +âı ª +âĻ ° +âļ Ń +âļ ¾ +ãħ Ħ +êĢ ° +ê° Ĺ +ê² ĭ +ê² » +ê¶ ľ +ê¼ ĩ +ê½ ¹ +ëĤ Ł +ëħ Ī +ëĭ ¢ +ë§ Ł +ëª Ĩ +ëµ Ģ +ì½ ± +íĩ ĺ +íľ ľ +ï§ ¾ +ï± µ +ï² ¢ +ï² ¤ +ðĿĴ Ĭ +ðĿĺ ¯ +ðŁį Ĺ +ðŁı į +ðŁIJ ĺ +ðŁĵ ¡ +ðŁĶ ŀ +ðŁ¤ ³ +ðŁ¥ ģ +ðŁ¥ Ĺ +ðŁ¦ Ĭ +Ä µ +Æ ¦ +Ç µ +É ¯ +Î ı +Õ Ħ +Ü ¥ +འģ +ᨠł +âķ « +ãİ ī +ë· ´ +ìĨ İ +ìİ Į +ì£ µ +íĽ ł +ï§ ª +ï³ ı +ï» º +ðĿij ģ +ðĿij ĩ +ðĿĴ Ĩ +ðŁİ ł +ðŁIJ Ķ +ðŁij Ł +Å ĸ +ठĮ +á¾ ½ +ê¦ Ĵ +à® Ł +á´ ± +ðŁı ° +ðŁIJ ŀ +à½ Ģ +áĢ ħ +âĬ ¿ +ðŁIJ § +ἠģ +â¼ Ī +âĶ ¿ +ðŁ¥ ´ +â¼ ¿ +ðŁ§ ľ +ãħ ¿ +âĦ « +ãĢ ³ +ãĬ Ļ +â¼ Ģ +ï ¦¬ +ðŁı ¬ +ðŁĵ » +áĬ Ľ +áĦ ħ +ຠĬ +ຠĽ +áħ ³ +ðŁij ® +à® ± +âĺ ĩ +ðĿIJ ı +à´ µ +à» ģ +འı +འ¢ +ᥠ± +âĤ £ +ï¥ ¦ +ïŃ Ļ +ï´ © +ï¹ Ĥ +ðŁį £ +ðŁķ ¹ +Ï ĸ +à¶ ¸ +ຠ¢ +áĭ Ń +âİ Ŀ +âĹ Ŀ +âĻ Ī +âĻ İ +ê½ ¥ +ì³ Ķ +ì¼ ij +ï± ° +ðĿij ĥ +ðŁĮ ª +ðŁį ¡ +Å İ +Ê ¦ +Ñ § +Ó İ +Ô ´ +Ú Ī +ß ĵ +ß § +à¤ Ķ +áĪ « +áĪ µ +áĹ © +á´ ł +á¼ ł +âĢ Ĺ +âģ ij +âĦ ı +âĸ ĩ +â² £ +ãĦ ³ +ãī ® +ê³ Ĺ +ëĦ Ĵ +ëĸ « +ë¡ Ħ +ë¹ ° +ë½ ģ +ìĦ ģ +ìĮ ĺ +ìŁ Į +ì³ ī +ì¼ ķ +ï¬ » +ï³ İ +ï¹ ¸ +ï¹ ¾ +ðĿIJ Ĩ +ðĿij · +ðĿĽ ¼ +ðŁİ ı +ðŁİ ŀ +ðŁIJ Ļ +ðŁij Ĥ +ðŁĵ ģ +ðŁĸ ± +ðŁļ į +ðŁļ § +ðŁĽ ¡ +ðŁ¤ Ĵ +ðŁ¥ ŀ +ðŁ¥ © +ðŁ¦ Ģ +ðŁ¦ ĸ +Ë ¢ +Ü ļ +à® µ +áĢ ģ +áī ° +âı Ń +âĻ ¿ +ê³ ĺ +ëı Ŀ +ëķ ĥ +ìħ Į +ìĴ ¸ +ìĽ Ł +íħ Ħ +íľ « +ï§ ĺ +ï¿ ¬ +ðŁı · +ðŁĶ § +ðŁ¥ Ī +Æ ĸ +áŀ ĩ +áŀ ĸ +âģ º +âĹ ľ +âŀ © +ê¦ Ń +ëĻ ¤ +ïŃ ¼ +ðĿĻ ĸ +ðĿĻ £ +ðĿĻ ¤ +ðŁĮ Ŀ +ðŁĶ ij +ðŁĽ ł +ຠĩ +âĺ £ +ãĦ ¨ +ðĿĸ Ĺ +Ó ĵ +âĨ £ +ðŁ¥ ī +ðŁĮ ł +ðŁĺ ½ +ãİ ł +Å § +ðŁIJ Ĵ +ï§ IJ +ðŁĺ ¿ +âĪ ¬ +ðŁIJ ® +⣠± +ಠ¡ +â¾ ¼ +à° ² +Ë ¶ +âĸ ¿ +Õ Ī +áŀ İ +áħ ¥ +áŀ Ĺ +Õ § +ðŁ¤ IJ +ðŁį ł +ঠ¤ +à¶ º +âĻ į +ìĺ Ļ +íĺ ĵ +ï¹ º +ðŁĽ ³ +Å ī +á´ İ +âı ľ +âĶ ³ +ê¸ · +ì¡ Ķ +ðĿĴ Ī +ðĿĴ į +ðĿĴ ¹ +ðĿĵ ĩ +ðĿķ Ł +ðĿĹ ¹ +ðŁĮ ħ +ðŁı ´ +Ä Ķ +Ä ¤ +Å µ +Ç ¾ +Ï ŀ +Ï ¶ +Ô ³ +Ü Ĩ +ß © +à¡ Ĵ +ठĺ +à¶ ļ +འĸ +áģ Ĭ +áĥ ŀ +áĦ Ĥ +áĭ « +á´ º +Ḡ£ +Ḡª +á¹ Ĥ +á¼ · +á¿ ĩ +âĩ Į +âı ¬ +âĻ Į +â® Ł +â´ » +âµ Ł +ê¦ ķ +ê¦ ª +ê¦ ® +ê² Ħ +ê¾ IJ +ëĥ ij +ëķ ĭ +ë¡ ¸ +ë¬ Ģ +ìĩ ¤ +ìĪ © +ìľ ķ +ìŃ ĺ +ì· ° +ì ·¸ +íľ Ģ +ï¤ £ +ï§ į +ï± Ħ +ï³ ij +ðĿIJ ¤ +ðĿĴ ĵ +ðĿĴ ¶ +ðĿĹ ¼ +ðĿĻ Ĭ +ðŁĩ ¾ +ðŁĮ Ľ +ðŁĮ ® +ðŁİ ĩ +ðŁİ ² +ðŁı Ľ +ðŁij ¥ +ðŁij ´ +ðŁĴ Ĩ +ðŁĵ Ĥ +ðŁĵ § +ðŁķ IJ +ðŁĸ ķ +ðŁĺ § +ðŁĻ Ģ +ðŁļ Ĵ +ðŁĽ « +ðŁ¤ ł +ðŁ¥ ļ +ðŁ¥ Ľ +ðŁ¥ £ +Ç ¯ +È § +Î Ĭ +Ò ² +× ° +Û ij +áĥ © +áĦ Į +áĪ į +áī ¥ +áı Ĥ +âģ ± +âĬ ¢ +âĹ ĵ +âĿ ° +ë¿ ¡ +ìĽ © +íģ Ń +íĨ ³ +íĬ Ħ +íĵ ¸ +ï¥ £ +ï¥ ´ +ï± IJ +ï± ¯ +ï³ ļ +ðĿĸ ĺ +ðĿĺ Ģ +ðŁIJ Ĭ +ðŁIJ Į +ðŁij ļ +ðŁĵ ĥ +ðŁļ Ľ +ðŁļ ª +ðŁ¤ ° +Ä ´ +áĥ ® +áĹ ¨ +âĻ ® +â² ŀ +ãĪ Ķ +ì ħį +ãħ ĥ +ï¥ ¡ +ຠ¡ +Õ İ +Õ º +⬠Ľ +â½ ¤ +ðĿIJ ² +âŀ µ +áĢ Ľ +âĶ ħ +âĨ Ł +â¼ Ĭ +ðŁĮ ½ +ðŁļ ¿ +ï¦ Ĭ +ãĦ £ +⼠© +ï© Ľ +ðŁį ± +â¾ ¨ +à´ ¤ +áŀ ģ +ຠŀ +Ê ļ +ðĿIJ Ĵ +à´ ± +áŀ ľ +à® © +à° Ĺ +à´ ļ +âĩ £ +ï¦ ķ +Õ ħ +Æ ĺ +âĤ ¦ +âĶ Ħ +ï¦ Ł +ï¦ « +ðĿIJ ģ +ðĿIJ ĥ +ðŁį ¸ +ðŁIJ ² +Å ¶ +É ĸ +ß ĺ +ภ¦ +à½ Ķ +áĨ · +âģ ķ +âĵ Ĥ +âĿ ľ +ï¥ ¥ +ï¬ ® +ðĿĹ Ŀ +ðĿĹ ¿ +ðŁİ ¾ +ðŁĹ Ŀ +ðŁ¦ Į +Æ ħ +Ç ª +Ò Ĺ +Ü Ľ +ß ł +à¡ ij +áī £ +áĬ Ń +á¹ ¡ +âŀ ¼ +âŀ ¾ +â´ ± +ãī ¡ +ê³ ¯ +ë½ Ī +ìĤ ĺ +ìī ij +ì «ĺ +íĮ ĥ +íĻ ° +ï¤ Ĺ +ðŁĮ ¬ +ðŁĮ ° +ðŁį ¤ +Ä » +Å ĩ +Æ ¨ +É ķ +Ò ¢ +Ò º +Ö į +× ± +Ú ± +Ú ½ +Û IJ +ठĽ +à· Ģ +๠ļ +ຠ« +á´ ¹ +á ½Ķ +á¾ ³ +âĤ Ĵ +âĨ ´ +âĩ Ŀ +âī ħ +â Į¨ +âĵ ĵ +âĸ ¢ +âļ ¬ +âŀ Ń +â² Ĵ +ãİ ¿ +ê¿ ´ +ëĪ ± +ëį ¬ +ëİ IJ +ëIJ « +ëĶ « +ë± ģ +ìĥ ¥ +íĮ ¼ +ïŃ ĵ +ï® ¥ +ï² ° +ðĿIJ ĩ +ðĿIJ ij +ðĿij Į +ðĿĵ ª +ðĿķ ļ +ðĿĺ ª +ðĿĺ ¼ +ðĿļ Ľ +ðŁĩ ¶ +ðŁĮ Ħ +ðŁĮ ķ +ðŁĮ ¤ +ðŁĮ § +ðŁį ¬ +ðŁİ ĭ +ðŁİ » +ðŁı ¨ +ðŁIJ ĩ +ðŁij ĵ +ðŁĵ IJ +ðŁĵ Ļ +ðŁĶ ¼ +ðŁķ Ĵ +ðŁĸ ı +ðŁĸ ¥ +ðŁ¤ ¬ +ðŁ¥ Ĭ +ðŁ¥ Ĵ +ß Į +ຠĦ +á¼ µ +âķ ¡ +â² ¤ +â´ ¼ +âµ ¢ +ãĪ ¯ +ëĵ ¸ +ëŁ ĩ +ëº į +ðĿĻ § +ðŁį Ī +ðŁĶ ¬ +ðŁĸ Ĭ +ðŁ¤ ¾ +Ë ¡ +Ü © +âĮ ¡ +âŃ ij +â² ¦ +ë© ī +ì¼ Ń +ï¿ ¤ +ðĿĴ İ +ðĿĹ ¥ +ðŁIJ µ +ðŁķ ¶ +ðŁķ ¸ +ðŁ¤ ľ +Õ ª +áĪ ĭ +ðŁ¥ µ +ï° ģ +áµ IJ +âķ ĵ +áĢ ĸ +âĭ Ī +É ŀ +âŀ ® +ॠ° +ãĨ ģ +ðŁĴ ± +ðŁı Ń +áĨ ¨ +ðŁį ļ +ðŁ¦ IJ +á´ » +âĺ Į +à´ ķ +Õ ± +áħ ® +ðĿIJ Į +Å ¦ +ຠķ +âľ Ļ +Ë ³ +Ô µ +âķ Ĵ +ðĿĹ Ĺ +ðĿĹ ł +Ú ļ +ঠ§ +âĨ Ŀ +âĻ ī +ãĮ » +ì¹ Ĭ +ðĿĹ º +ðŁ§ ĺ +ì³ £ +ï¬ Ŀ +ðŁij º +Ç Ł +Î Ī +Î « +Ñ ¥ +Ô ² +Õ ¨ +Ü ¦ +ঠĨ +ঠ¥ +áIJ ¢ +á¼ ģ +á¼ ĺ +á¼ ¦ +âĵ Ŀ +ãĪ ° +ãİ Ĺ +ê² ¡ +ë¨ Ģ +ì£ Ķ +ì´ ¤ +ìµ Ŀ +ï§ ´ +ïŃ Ĭ +ï² Ł +ðĿIJ · +ðĿij ĭ +ðĿĵ ī +ðĿĺ µ +ðŁĴ · +ðŁĽ © +ðŁ§ ¹ +Å Ķ +Ê ŀ +Ë ¥ +Î Į +Ñ © +Ó IJ +Ó ł +Ú ij +Ú Ĵ +ß ¨ +àª Ī +áIJ ĥ +á¹ ¯ +âĤ ĭ +âĤ µ +âĦ ħ +âĦ ł +âĪ £ +âī º +âī » +âĬ Ľ +âĮ IJ +âİ ĵ +âĺ ¸ +âĻ Ĵ +âļ Ĵ +âľ ĩ +âľ ł +â´ · +âµ ĸ +ãĦ ¸ +ãī ¢ +ãī ° +êĩ ´ +ê´ ¸ +êº ł +ëĤ ı +ëĤ ¢ +ëIJ Ģ +ëº ´ +ìĥ ľ +ìį ħ +ì¤ « +ì± ¦ +ìº ij +ì¼ ģ +ì¿ ³ +íĤ ģ +íħ ¡ +íĴ Ĥ +íĴ ī +íľ Ħ +ïŃ ª +ï® ¬ +ï¯ ¦ +ï± ª +ï² ı +ï ´Ģ +ï» Ĩ +ï¿ ¦ +ðĿij Ĺ +ðĿĸ Ļ +ðŁĮ ¡ +ðŁį Ŀ +ðŁį § +ðŁİ « +ðŁı ĺ +ðŁı ª +ðŁIJ ĭ +ðŁIJ Ľ +ðŁIJ º +ðŁij ĸ +ðŁij ŀ +ðŁij · +ðŁĵ Ģ +ðŁ ĶĦ +ðŁĶ Į +ðŁķ Ļ +ðŁĻ į +ðŁĻ İ +ðŁ¦ į +Ç ° +É Ł +Ê Ĩ +Ô ¼ +Ú ľ +ঠ¡ +ঠ¶ +áĴ ĥ +á¼ © +âĵ ķ +â² Ī +ê° ° +ê¹ ł +êº ħ +ëĦ ¹ +ë¯ ĵ +íIJ Ī +ï§ ¶ +ï® ij +ï² ¨ +ðĿĴ ī +ðĿĴ Ķ +ðĿĹ ¨ +ðĿĻ ŀ +ðĿļ Ĵ +ðĿļ ķ +ðŁIJ İ +ðŁ¤ ķ +ðŁ§ Ķ +Ï ° +Ô Ŀ +âĮ Ĭ +âĴ ¾ +ãī £ +ïŃ © +ðĿļ ŀ +Ê ij +ঠ¦ +áĦ ĩ +âī ĥ +â² Ģ +ìŁ İ +ðĿij ¶ +ðĿĵ ² +ðŁ İ· +ðŁļ ¹ +ຠģ +áł ł +ãĦ ļ +ðŁIJ ¿ +ἠļ +âķ ³ +ðŁIJ Ń +âĴ ¹ +ðĿĸ ļ +âĻ ĸ +ãĪ ² +âĨ ¾ +áĦ Ĩ +âķ Ľ +ðŁ¤ į +â½ ¥ +ðŁ Į¨ +âĪ ® +ãĮ ĺ +ãį ij +ï¹ Ģ +âĵ Ĺ +âĬ Ħ +ðŁı ¹ +Ë Ĵ +ðŁ¤ ± +ãı ľ +ðŁİ Į +ï¥ Ń +ঠ£ +ðŁİ ¹ +ãĬ Ł +à´ ° +ðĿIJ Ķ +à´ ¨ +འļ +âľ º +Õ · +ðŁij ³ +ঠľ +âĺ ĭ +âĻ Ĭ +ãĢ Ľ +È ĭ +à® ° +áĥ ¨ +âĦ ķ +íij Ģ +ðĿĵ ĥ +ðŁ¦ Ķ +Ä ¿ +Å Ģ +Æ ³ +É ļ +Ö ĥ +Ü £ +ß Ł +à¦ Ń +à§ ¡ +à¶ » +ຠ£ +འĩ +Ḡ¨ +á½ Ī +â½ ¬ +ê¡ Ķ +ì³ Ħ +ï¨ ī +ðĿIJ ¡ +ðĿĺ ¢ +ðŁį ¿ +ðŁİ Ł +ðŁı ī +ðŁĶ IJ +ðŁļ ħ +ðŁ¤ ½ +Æ į +Ç « +Ç ½ +È ļ +Î ī +Ó ¤ +Ó ª +Õ Ĭ +Ù ¼ +Ú ´ +ß Ŀ +à¶ ľ +á¼ ķ +á¿ ¥ +âİ ŀ +ãĢ ļ +ãī ¤ +ê³ ¸ +ê· ģ +ëĵ Ħ +ëĵ ķ +ì¨ Ķ +ì± ¨ +ðĿIJ ¾ +ðĿij » +ðĿĶ ¼ +ðĿķ Ŀ +ðĿĺ Ń +ðŁĨ Ļ +ðŁĵ ¤ +ðŁĶ Ł +ðŁĹ ¼ +Ä ľ +Æ ģ +Æ ¿ +Ç ³ +Ç · +É ĥ +É ł +Ê ī +Ê § +Ë ² +Ï ´ +Õ ģ +Õ ŀ +Ö ĩ +Û Ĥ +Û ĵ +ß Ĺ +ß ¦ +ঠ¹ +à® ³ +à´ ¸ +à» Ĥ +áĪ Ŀ +áĪ ª +áĭ µ +áIJ Ĭ +áĴ ª +áļ ĸ +áŀ Ľ +á´ ¢ +áµ ı +áµ Ń +á¶ « +Ḡı +ẠĴ +á¼ ¥ +á½ ķ +á½ ¼ +âĤ Ĭ +âĦ Ĥ +âĦ © +âĩ ī +âī £ +âĮ ł +âİ Ł +âı ® +âķ ĺ +âĹ ĸ +âĺ © +âĻ ij +âĻ ² +âļ Ľ +ãĦ Ł +ãī ± +ãİ ļ +ê¡ ķ +êª ĸ +ê° ¹ +ê² Ĩ +êµ Ħ +ëĩ ¬ +ëĭ ¯ +ëı ł +ëĴ ¬ +ëĸ Ī +ëĸ ½ +ëĺ Ķ +ëŀ ¸ +ë¸ ħ +ë» ł +ë¿ Ł +ìĤ µ +ìĬ ī +ìľ ° +ìł ĭ +ìł Ķ +ì¥ ¡ +ìŃ Ŀ +ì¼ ¬ +íĪ ĩ +íī ľ +íį Ħ +íĽ ¾ +íĿ £ +ï¤ © +ï¤ ¯ +ï¦ ľ +ï¦ § +ï§ ľ +ï¨ Ī +ï¬ ª +ï ¬´ +ïŃ ½ +ï® ī +ï¯ ŀ +ï° Ĵ +ï± ĩ +ï¿ Ħ +ðĿIJ ħ +ðĿij Ħ +ðĿij º +ðĿĴ Ĺ +ðĿĵ ® +ðĿķ Ľ +ðĿķ ŀ +ðĿĸ ij +ðĿĺ ģ +ðĿĺ Ĩ +ðĿĺ ¶ +ðĿĻ ¢ +ðĿļ ľ +ðŁĮ ĥ +ðŁĮ ¦ +ðŁį Ł +ðŁİ İ +ðŁı Ļ +ðŁIJ © +ðŁIJ « +ðŁIJ ´ +ðŁij Ķ +ðŁĵ ī +ðŁĵ Ľ +ðŁĶ ī +ðŁĸ ¼ +ðŁĹ ĥ +ðŁĹ ¯ +ðŁļ ĩ +ðŁļ IJ +ðŁļ µ +ðŁ¤ ¶ +ðŁ¥ ĭ +ðŁ¥ ĵ +ðŁ¥ ® +ðŁ¦ İ +ðŁ¦ ł +ðŁ§ Ĵ +ðŁ§ ¨ +Æ IJ +Ç į +Ó Ģ +Ô Ľ +ಠ° +à´ Ļ +áĢ Ĵ +ê² Ŀ +ê¹ ¹ +ë© ¥ +ìĸ Ķ +ï¤ ģ +ï¤ ı +ï¦ ī +ï¦ ĵ +ï§ ī +ï² Ŀ +ðĿĹ ŀ +ðĿĹ ± +ðŁĮ ĭ +ðŁį ¶ +ঠļ +ìķ ľ +ðĿIJ ¯ +ðĿļ Ŀ +à° ¨ +འĺ +འł +á¡ ¥ +á¾ ° +âģ į +âĶ ° +⬠ľ +ðĿIJ ł +ðĿij ¯ +ðĿĹ Ľ +ðĿĵ » +ðĿĸ Ī +âŀ » +áŀ ł +â¡ ± +â» ij +ðŁ§ µ +ï¦ ¢ +ðŁij ĺ +ãĤ Ķ +â¼ Ł +ãĬ ¤ +ï¦ Ŀ +ãĮ ¦ +âĢ ¸ +ðŁĶ Ļ +ã ¹ +ã¹ ¦ +ï¹ ħ +ï© Į +ãī ¨ +ï¸ ½ +âį ¥ +ðŁļ ī +ðŁ¥ ľ +âĵ ľ +â» Ŀ +ï¨ ľ +ðŁĴ Ĵ +áĦ ij +â¾ ŀ +ï¨ ģ +à´ ª +áĦ İ +âŀ ´ +ঠ· +áħ ¬ +áŀ § +âĨ ¢ +âķ ¦ +âľ ij +Ë ¬ +Õ IJ +à¼ Ķ +Ê ¤ +Ë ¨ +ठŀ +à» ĥ +༠ļ +âĵ ¥ +âķ ľ +ðŁIJ ĸ +á¼ Ļ +á¼ ¤ +ìĨ ° +È Ĥ +Ê ± +à® ļ +áĥ § +á´ ĭ +á´ ® +âĿ ¡ +âŀ · +ëĿ ¡ +ï§ ¢ +ï¯ ¡ +ðĿķ ķ +ðŁħ ° +ðŁ¦ ¸ +Ç ¸ +Ó ŀ +Ô ¶ +Ö Ĩ +Ú ģ +Û ĭ +áİ ¥ +á¾ ¿ +âĶ Ń +âĶ ® +êĢ Ģ +ê± ĺ +ëIJ Ń +ë½ Ħ +ìĶ IJ +ì¸ Į +íģ ł +íĻ ± +ï¥ ī +ï¨ ĸ +ðĿij ´ +ðĿĸ Ĵ +ðĿĺ ¨ +ðĿ ļĮ +ðŁIJ ¡ +ðŁij ¢ +ðŁĵ Ķ +Å ħ +Æ İ +È © +Ò ª +Ô ĥ +áĥ « +Ḡĩ +âĽ Ł +ê» Ń +ë¨ Ħ +ìŁ Ģ +ì¤ ´ +íļ IJ +ï¤ ³ +ðŁŁ ¢ +Æ § +È ¼ +Ê Ŀ +Ë Ħ +Ë ħ +Ë į +Ë § +Ò ¥ +Õ Ķ +Ø ı +Ø ¼ +ß IJ +ß ľ +ठĵ +à¦ Ļ +à® ĵ +à¶ ´ +༠į +༠Ĵ +འ£ +áĢ Ĥ +áĢ Ĭ +áĦ Ħ +á Īĺ +áĭ Ĭ +áĮ į +áij ĭ +áŀ Ĥ +áł ¢ +á¡ Ŀ +á´ ¦ +áµ į +áµ ¨ +Ḡ¡ +Ḡ¯ +á¼ £ +âģ Ĥ +âĦ ĺ +âĦ ľ +âĦ ³ +âĦ µ +âĨ ¦ +âĩ Ĩ +âĪ · +âĬ ļ +âĮ « +âĮ ¯ +âİ Ľ +âİ ľ +âİ ¤ +âİ ¦ +âİ ® +âij ī +âĶ ī +âķ Ļ +âĸ Ĥ +âĹ Ń +âĺ Ĭ +âĺ į +âĺ Ĵ +âļ Ĩ +⼠§ +⼠² +âŀ ĺ +⥠Ħ +â´ ³ +â´ ½ +âµ Ī +ãī ¯ +ãİ ij +ã§ ¬ +êĻ ¬ +ê§ ģ +ê³ ¬ +ê´ ŀ +ê» ľ +ëħ ĵ +ëĭ ¼ +ëį ĸ +ëĸ ± +ëĿ ° +ë¡ ¹ +ë¢ ´ +ë£ Ģ +ë¤ ł +ë¨ ķ +ëŃ ¥ +ìĦ ¶ +ìħ ¤ +ìĮ ķ +ìį ª +ìı © +ìĴ Ģ +ìĶ ¯ +ìĿ Ķ +ìĿ ľ +ìł Ń +ì§ ¦ +ì¨ © +ì² ¬ +ì³ ¥ +ì¼ ¯ +íĢ « +íĢ Ń +íĥ ¸ +íĵ ģ +íķ ¬ +íĹ ¸ +íĽ ķ +íľ Ń +íĿ Ĺ +ï¤ Į +ï¤ ª +ï§ ¿ +ï¬ Ħ +ï¬ ħ +ïŃ ij +ïŃ « +ïŃ º +ï® Ĥ +ï® ¢ +ï® ¨ +ï° İ +ï° ł +ï² £ +ï³ IJ +ï³ Ĵ +ï³ ĺ +ï³ ľ +ï¹ ¼ +ï¿ ¨ +ðĿIJ © +ðĿĴ ļ +ðĿķ Ķ +ðĿķ ¤ +ðĿĸ Į +ðĿĹ £ +ðĿĹ ° +ðĿĹ ´ +ðĿĺ Ĥ +ðĿĺ ¥ +ðĿĺ ® +ðĿĺ ¸ +ðĿĻ Ģ +ðĿĽ ¾ +ðĿľ ı +ðŁĮ ģ +ðŁĮ ľ +ðŁĮ ¥ +ðŁĮ ¯ +ðŁį IJ +ðŁİ Ĵ +ðŁı Ķ +ðŁı ķ +ðŁı ® +ðŁIJ Ĥ +ðŁIJ ī +ðŁIJ ¹ +ðŁĶ ķ +ðŁĶ ļ +ðŁķ ij +ðŁķ £ +ðŁĹ ŀ +ðŁĹ ¡ +ðŁĹ ¿ +ðŁļ Ĩ +ðŁļ Ĭ +ðŁļ ĵ +ðŁļ ķ +ðŁļ ¾ +ðŁĽ ģ +ðŁĽ İ +ðŁĽ ı +ðŁ¤ ´ +ðŁ¥ ķ +ðŁ¥ ĸ +ðŁ¥ ł +ðŁ¥ ¥ +ðŁ¦ Ĩ +ðŁ¦ ī +ðŁ¦ ļ +ðŁ§ ij +ðŁ§ ¥ +ðŁ§ ¿ +Å ° +Æ º +É § +ઠĩ +à® £ +áĪ Ī +áĬ ¤ +áĭ ® +áĮ Ī +áĮ µ +ᥠ² +âĵ Ł +êĻ ³ +ê° Ĭ +ëķ ģ +ëķ ¨ +ìĬ ģ +ï¦ µ +ï¬ ² +ðĿĸ į +ðĿĺ Į +ðĿĺ ³ +ðĿĻ © +ðŁį Ļ +ðŁĸ ĸ +áī ³ +áĭ ¨ +áĸ ĩ +áŀ Į +á¹ § +âķ ª +âŀ ļ +â² ĺ +ê ķ +êķ ¥ +ï¤ · +ï® £ +ï¯ ł +ðĿĴ ĸ +ðĿķ ĺ +ðĿĸ ĩ +ðĿĹ Ł +ðĿĹ ª +ðĿĹ ¯ +ðĿĻ ł +ðŁĵ ı +à¦ Ĺ +âĴ » +â² ł +ðĿĵ µ +Ê £ +à° ľ +áĬ ¢ +áŀ IJ +Ḡ· +âĦ Ľ +âĩ Ģ +âĩ Ĭ +êĴ ¦ +ê¦ ł +ï® ¤ +ðŁį Ľ +ðŁ¤ Ľ +ᨠ¾ +âŀ º +áķ ¯ +ἠı +âĩ Ĥ +âĶ ¹ +âĻ Ĺ +ðŁĸ ¨ +ê¦ ı +ઠ° +áļ ¨ +ðŁ¤ ¥ +ðŁ§ ¢ +ãIJ Ĥ +ãĦ ¥ +ðŁĸ Į +â¼ Ĵ +ãĬ § +âį © +ðŁ¦ ij +âĶ · +ï© IJ +ï© ¡ +ðĵ Ī +ðĵĪ Ĵ +â» Ħ +ï¨ Ĵ +âĦ ª +Ò § +Ú Į +âĢ ¶ +⺠ł +â» ģ +âĨ ¸ +áĦ IJ +ãħ IJ +à» Ħ +áĹ ª +âĨ ¼ +âĩ ĭ +âĩ ĺ +âĮ ij +âĸ © +ðĿIJ Ĺ +Ä Ĭ +ঠī +ìī ł +É ¤ +ß į +ß ı +áµ Ĺ +âĤ ¥ +âĵ ī +âĶ ł +âĶ ¨ +âķ Ħ +ä ¤ +ä¤ Ģ +ê» ¸ +ï® ģ +ðĵ Ĥ +ðĵĤ ĥ +ðŁ¦ ķ +Æ Ľ +ঠĩ +ãı ĺ +ï® ¼ +Ú ĵ +Ú Ŀ +ঠĵ +à¶ ¯ +á´ ħ +á½ Ļ +âģ ¼ +âĸ İ +â¼ © +ä Ķ +äĶ Ģ +ë» ¡ +ìĽ ½ +íģ Ħ +ï¥ ¼ +ï± ī +ï¹ » +ðĿĸ ĭ +ðĿĻ Ī +ðĿĻ ª +ðĿ ϶ +ðŁIJ Ħ +ðŁIJ Ĩ +áİ ¢ +ḠĮ +âĿ ´ +ðŁı ¸ +È Ŀ +É ¸ +Î ħ +Ï ľ +Ó ¢ +Õ ¹ +à´ ħ +àº Ī +áĭ ° +áij İ +áł µ +á¡ ł +á´ ī +Ḡµ +á¿ ´ +âĵ £ +âĶ ¶ +â½ ¯ +ê² ¥ +ê¿ ĺ +ëģ İ +ëİ Ī +ëĶ ¯ +ë² ° +ìĺ ¯ +ìĽ ¸ +ìŀ Ĺ +ì§ ĺ +ì¬ ¬ +ì· ¬ +íģ ħ +íĵ Ķ +íĽ Ŀ +ï¤ ® +ï¤ ¹ +ï¥ ² +ï¯ ĸ +ðĿĵ ħ +ðĿĻ Ħ +ðŁĵ ¶ +ðŁĹ Ĵ +ðŁ¥ Ķ +ðŁ¥ Ń +Å ® +Å ´ +Æ ī +Æ « +Ç ģ +Ç £ +Ç º +Ç ¼ +È į +È ¯ +É ľ +Ê ¬ +Ë ģ +Ë ¤ +Ë µ +Ï Ľ +Ò ¤ +Ò ¬ +Ó ı +Ó Ľ +Ó ¡ +Ó ³ +Ô Į +Ô ¬ +Õ ³ +Ù » +Ú ī +Ú § +Ü ľ +ß ª +ठĿ +ঠĽ +ਠĨ +ઠķ +ઠ¡ +à® İ +à° ¬ +ൠ» +ൠ¼ +à¶ ł +à¶ Ń +à¶ ¶ +à· Ĩ +༠½ +áĢ ļ +áħ ¢ +áĨ ¸ +áĪ Ģ +áĪ ķ +áĪ ° +áī ¡ +áī ¤ +áĬ ¦ +áĬ « +áĭ ĭ +áĭ į +áİ ¯ +áij Ń +áķ Ĺ +ᣠĽ +ᥠĴ +á© ī +áŃ º +á´ ¡ +áµ ĺ +áµ Ľ +á¶ ł +Ḡģ +Ḡĭ +á¹ Ļ +á¹ Ŀ +á¹ ¦ +Ạħ +á¼ Ĥ +á½ ĥ +á½ į +á½ § +á¾ · +âĢ µ +âĤ İ +âĦ Ŀ +âħ Ģ +âĨ ŀ +âĨ § +âĩ ħ +âĪ ĥ +âī ı +âī ½ +âĬ ŀ +âĬ ¡ +âĬ § +â Ĭ¶ +âĭ Ħ +âİ Ĵ +âİ ¡ +âİ £ +âİ ª +âı İ +âĵ ĥ +âĵ ĸ +âĵ ¨ +âķ ĭ +âķ ĸ +âķ ¢ +âķ ² +âĸ Ĩ +âĸ Ĭ +âĸ į +âĸ ® +âĺ ¡ +âĺ ¦ +âĺ ± +âĺ ¿ +âĻ ĺ +âĻ Ŀ +âļ ° +⼠ij +âŀ ª +⤠Ŀ +⤠¢ +⤠· +â§ « +â¨ Ń +⨠¯ +â± £ +â² İ +âµ Ľ +ãħ Ķ +ãĪ ı +ãī ² +ãī ³ +ãĬ ij +ãĭ Ľ +ãİ IJ +ê² ¤ +ê· ¿ +ê¹ ŀ +ê» ¨ +ê¼ į +ê¿ ¸ +ëĥ ¬ +ëĩ IJ +ëĭ ł +ëį ¯ +ëĹ Į +ëĹ ij +ë¥ Ģ +ëª ĥ +ëª ¯ +ë± ¡ +ë³ ĵ +ë³ ½ +ë µľ +ìĤ ³ +ìħ ¥ +ìĩ ½ +ìı ¨ +ìı ¸ +ìķ į +ìĸ ĸ +ìŁ ¨ +ì¢ ĥ +ì¢ į +ì¥ ij +ì§ ¼ +ì© ĥ +ì® ľ +ì® ¸ +ì³ ij +ì´ ¥ +ì¾ ĥ +íħ ¦ +íĪ ¿ +íĵ ½ +íķ ³ +íĸ ı +íĹ ł +íĿ « +ï¤ ĵ +ï¤ ĺ +ï¥ İ +ï¥ ¶ +ï¦ ħ +ï¦ ½ +ï§ ĩ +ï¬ Ĩ +ï¬ ³ +ï® ĩ +ï® Ī +ï® Ŀ +ï® © +ï® ± +ï¯ ĺ +ï¯ Ļ +ï¯ ¢ +ï¯ £ +ï¯ ¤ +ï¯ ¥ +ï± Ĥ +ï² Ĩ +ï² ª +ï´ ¼ +ïº ī +ïº Ĭ +ïº ¥ +ðĿij ¨ +ðĿij © +ðĿij ² +ðĿ ĴĮ +ðĿĴ ª +ðĿĴ ® +ðĿĵ Ĥ +ðĿĵ Ī +ðĿĵ ¯ +ðĿĶ ¨ +ðĿķ Ģ +ðĿķ Ĩ +ðĿķ ¦ +ðĿķ § +ðĿķ « +ðĿķ · +ðĿĹ µ +ðĿĹ ¸ +ðĿĺ Ħ +ðĿĺ Ļ +ðĿĺ ł +ðĿĺ ¬ +ðĿĻ į +ðĿĻ ij +ðĿĻ ¡ +ðĿ ύ +ðĿĻ · +ðĿļ į +ðĿĽ ¿ +ðŁ ĥ +ðŁĥ ı +ðŁħ ĺ +ðŁ ī +ðŁī ij +ðŁİ ¡ +ðŁİ ª +ðŁİ ± +ðŁİ ³ +ðŁİ º +ðŁı İ +ðŁı Ĺ +ðŁı ļ +ðŁı ŀ +ðŁı ¦ +ðŁı § +ðŁIJ ģ +ðŁIJ ħ +ðŁIJ ĵ +ðŁĴ Ĥ +ðŁĵ ij +ðŁĵ ĵ +ðŁĵ ¨ +ðŁĵ « +ðŁĶ ĭ +ðŁĶ Ń +ðŁĶ ¯ +ðŁķ Ĺ +ðŁļ Ĥ +ðŁļ ¢ +ðŁļ ¦ +ðŁļ ¬ +ðŁĽ ĭ +ðŁĽ Į +ðŁĽ ¬ +ðŁĽ ¶ +ðŁŁ ¡ +ðŁ¥ ĺ +ðŁ¥ Ł +ðŁ¥ ¦ +ðŁ¦ ĩ +ðŁ¦ Ī +ðŁ§ Ĭ +ðŁ§ Ĺ +ðŁ§ ¤ +Ê · +Ë ¹ +á¹ ļ +á½ ¥ +âĦ Ł +ê² ¯ +ê» « +ë° · +ìĥ Ĩ +ìĽ Ŀ +ì¨ ī +ì« ı +ï¯ ķ +ðĿľ ĭ +É ² +Ò Ń +Ó Ī +འĽ +áĭ ĵ +áĻ Ń +áł © +á¹ ® +âĦ Ĵ +âĨ » +âµ ĥ +ëĢ ¨ +ëł § +ìī ¥ +ìĮ ľ +ìĹ ¶ +ì¨ Ī +ìª ¾ +íı ½ +íļ Ķ +íĽ µ +ï¤ ¸ +ï¦ IJ +ï§ Ĺ +ï§ ļ +ï¬ ¯ +ðĿIJ Ĭ +ðĿķ Ĺ +ðĿĹ ļ +ðĿļ ĸ +ðŁħ ´ +È ĥ +É Ŀ +Ï ± +Ó Ĺ +ठ¢ +áħ ł +áī ¦ +áij Į +áĴ ¼ +áŀ ¡ +áł ¨ +áł Ń +ᨠħ +á¨ Ķ +á´ ĺ +á¶ ¦ +á¸ İ +á¼ ħ +á¼ ¹ +âĨ ¯ +âĵ İ +ãı Į +ê ī +êī Ĥ +ëĨ § +ëĿ ± +ì¢ ¡ +íĪ ½ +ï¤ ĩ +ï¤ Ľ +ðĿIJ ķ +ðĿĵ ¸ +ðĿĵ ¼ +ðĿĹ ķ +ðĿĺ Ī +ðŁı £ +ðŁı ¤ +ðŁĹ Ħ +Ñ · +Ò ł +áµ ĸ +á¼ ¨ +ë¬ Ħ +ï° ´ +âĪ ½ +Õ Ń +Ú ¹ +à¥ Ł +áĢ Ĩ +áŀ Ĵ +ãĢ ¶ +ê¦ « +ï¸ ĵ +ðĿIJ Ľ +ðĿĺ Ĺ +ðŁı ľ +ì« Ń +ðŁ§ ŀ +འĤ +âĨ ¿ +âĩ ı +âĵ ģ +âĶ § +âķ ģ +âķ ¤ +ê¦ Ĺ +ê¦ ¤ +ðŁı Ī +áŀ ķ +Ô ½ +àª Ĺ +ଠĨ +âķ ķ +ï½ ł +â¼ ¦ +â¼ ¯ +â¾ · +âĶ ĸ +ଠĵ +âĺ Ĺ +âį ĭ +ï¨ Ŀ +â¼ ¥ +ï¦ ª +âĦ Ĭ +ãĢ ´ +âį ¢ +ð¡ Ī +ð¡Ī ½ +ï© ¨ +ãĢ » +ãı ĥ +ï¦ ¡ +ï¨ ĺ +ðŁIJ ĥ +ðŁĨ ĸ +ðŁĹ ¾ +ãĦ ĩ +Þ ĭ +â¼ ¼ +ï¨ Ń +Þ Ģ +Þ Ħ +Þ Ī +Þ IJ +âĮ Ħ +â» ĺ +ãŁ ¢ +á ħ§ +ðIJĮ ¿ +Ë » +à² Ĺ +áĢ ĩ +áŀ Ĭ +âķ ĩ +ãĩ ¼ +ãİ ° +Õ Ĵ +Ü Ī +ß ¥ +à¿ IJ +áĢ Ł +âĨ ¥ +âķ Į +â½ Ģ +â½ ° +â¾ Ĭ +ä Ħ +äĦ Ģ +ðĵ IJ +ðĵIJ į +ðŁİ ¦ +âĤ ¯ +âĬ ĺ +âĦ į +Ê µ +Ñ ¶ +Ú ĥ +à¦ Ķ +à´ ¦ +áİ ¶ +áĵ ķ +á¹ ¨ +âĤ ł +âĩ ° +âĹ Ĵ +â¿ Ĭ +ê· ± +ì¹ ķ +íĪ © +ïŃ Ģ +ðĿĴ ¸ +ðĿĵ Ĭ +ðĿĺ © +Ç ¦ +É « +áĬ ¨ +È ¹ +Ê ¯ +Î ª +Ú Ģ +áĮ ¸ +áİ » +áı ķ +áı ´ +á² Ĥ +á½ ¨ +âı Ŀ +âĺ Ļ +ëĥ ¨ +ëĦ ¼ +ëĪ Ļ +ë£ ħ +ìĶ ¼ +ìķ Ŀ +ìļ ¬ +ìľ ± +ï¥ Ĥ +ï¦ ¹ +ï¬ ¹ +ïŃ ģ +ï³ Ī +ðĿĶ ħ +ðĿĺ ¤ +ðĿĻ ı +ðĿĻ Ļ +ðŁķ ī +ðŁ§ Ļ +Ḡij +ê´ ¼ +ëģ į +ëĹ ´ +ëĿ ³ +ë° ŀ +ë° ¢ +ëµ ĺ +ìĤ Ķ +ìĦ Ħ +ì¼ ļ +íĢ ł +íĬ ± +íĮ ĸ +ï¤ ij +ï¦ ´ +ï¦ ¸ +ï´ į +ðĿĺ · +Ä ¬ +Å ¬ +Æ Ģ +Æ ĭ +Æ ľ +Ç ij +Ç ĺ +Ç ŀ +Ç ¥ +Ç ® +É ° +É ¶ +É · +É ½ +Ê Ī +Ê IJ +Ë İ +Ë Ł +Ë ¦ +Ë ¯ +Ï IJ +Ï ĵ +Ï ¢ +Ï ¤ +Ï ª +Ï Ń +Ï ® +Ï » +Ñ ł +Ñ Ń +Ò ¨ +Ó Ŀ +Ô ¡ +Ô · +Õ ī +Õ ĵ +Õ ĸ +Õ ļ +Õ Ŀ +Ö İ +Ø ¿ +Ú ħ +Ú į +Ú Ķ +Û Ĭ +Û ¾ +Ü Ļ +Ý Ĵ +Ý ĺ +ß Ĵ +ß ĸ +ठĬ +ठIJ +ঠı +ঠĸ +à§ Ł +ઠ® +ઠ¹ +à® ħ +à® Ĩ +à° ¡ +à° ° +ಠļ +ಠ® +ಠ¯ +à´ Ł +à´ · +ൠ¾ +à¶ ij +à¶ ŀ +༠¼ +འĵ +áĢ ĵ +áĤ ¦ +áĥ ĸ +áĥ Ń +áĥ ¯ +áħ ¨ +áħ ª +áĨ ° +áĪ ģ +áĪ İ +áĪ ĵ +áĪ ¥ +áĪ ² +áĪ ´ +áĪ » +áī ł +áī ² +áī ¶ +áĬ £ +áĬ ¥ +áĬ ª +áĭ ĺ +áĭ ² +áĭ ¶ +áĮ £ +áį ¡ +áį £ +áİ ¬ +áİ ¾ +áIJ ¡ +áķ ķ +áĸ ± +áĹ IJ +áĹ Ń +áĺ ī +áļ ± +áĽ Ł +áŀ ¥ +áŁ Ķ +áł £ +áł ª +áł ° +áł ´ +ᤠĸ +ᥠ£ +á ® +á® ł +á ¯ +á¯ Ļ +á ° +á° į +á´ Ĭ +á´ ¾ +áµ ģ +áµ İ +áµ ŀ +áµ ¤ +á¶ ħ +á¶ ĺ +á¶ Ł +á¶ ¢ +á¶ ¤ +á¶ ± +á¶ » +Ḡī +Ḡŀ +Ḡº +á¹ ĵ +á¹ Ĺ +á¹ ª +ẠĬ +Ạı +ẠĽ +á¼ ĥ +á¼ Į +á¼ ¿ +á½ Ĥ +á½ ĵ +á½ Ĺ +á½ ¦ +á¾ ± +á¾ ´ +á¿ ĺ +á¿ Ł +á¿ ¸ +âģ ĺ +âĤ ij +âĤ Ľ +âĤ ¿ +âĦ ĩ +âĦ ŀ +âĦ ± +âĩ Ł +âĩ ² +âĪ ¤ +âĪ ¶ +âī Ĥ +âī ¾ +âĬ ¨ +âĬ ³ +âĬ · +âĭ Į +âĭ ĺ +âĮ ķ +âĮ ¥ +âĮ µ +âĮ º +âį £ +âį ² +âį µ +âİ ĩ +âı ĥ +âı IJ +âı ł +âı ¤ +âı ¶ +âı ¸ +âı ¹ +âij Ĥ +âĴ · +âĴ º +âĵ ¡ +âĵ ¤ +âĶ ¾ +âĸ ĺ +âĸ µ +âĹ ª +âĹ · +âĺ ¨ +âĺ « +âĺ ² +âĺ ³ +âĻ Ĩ +âļ ¤ +âļ ¥ +⼠ĵ +⼠´ +⼠¾ +âŀ « +âŀ ¿ +⣠· +⤠ij +⤠« +⤠¶ +⤠½ +â§ ª +â¨ Ģ +â ©½ +⬠¡ +⬠¢ +⬠¤ +â² ĸ +â² ª +âµ Ģ +⸠® +⸠½ +ãĢ ł +ãĢ · +ãĦ Į +ãĦ ĺ +ãħ ij +ãĪ İ +ãĪ IJ +ãĬ ľ +ãĮ ĵ +ãĮ ł +ãİ Ł +ãİ ¤ +ãİ § +㬠® +ä Ī +äĪ Ģ +ä ° +ä° Ģ +ê ħ +êħ ī +êĩ Ĺ +ê Ī +êĪ į +ê§ Ĥ +ê§ Ĭ +êª Ģ +ê² Ī +ê² į +ê³ Ģ +êµ ł +ê½ IJ +ê¾ Ī +ê¿ ± +ëĥ ı +ëĦ ij +ëħ ¤ +ëĩ ¸ +ëĪ ¼ +ëī ħ +ëĬ £ +ëĭ º +ëį ŀ +ëIJ Į +ëķ ¸ +ëĺ ł +ëĻ ĩ +ëĻ Ī +ëľ ½ +ëŀ Ķ +ëł ľ +ë£ IJ +ë§ Ģ +ë§ Ĭ +ëª Ģ +ë¬ Ń +ë¯ ¾ +ë³ ľ +ë´ Ĭ +ëµ ī +ë· ľ +ë¸ Ģ +ë¹ ĭ +ìģ Ħ +ìĤ £ +ìĤ » +ìĦ µ +ìħ Ĵ +ìī Ī +ìī Ķ +ìĬ Į +ìĬ Ļ +ìIJ ´ +ìĵ º +ìķ ļ +ìķ º +ìĸ ľ +ìĹ ª +ìĺ ľ +ìĻ ¤ +ìļ Ľ +ìļ º +ìĿ ħ +ìĿ ı +ìĿ Ń +ìĿ ¶ +ìł Ľ +ì¡ Ī +ì¢ ī +ì¢ Ķ +ì© ł +ìŃ Į +ì¯ © +ì´ £ +ì¸ ķ +ì¹ Ł +ì¾ ¡ +ì¿ Ļ +íģ ĩ +íģ ī +íĩ Ģ +íĪ ¶ +íĸ ij +íĸ ¤ +íĹ ħ +íľ ı +íĿ Ŀ +ï¤ Ĵ +ï¤ ķ +ï¤ ¬ +ï¥ ħ +ï¥ ĩ +ï¥ ı +ï¥ ļ +ï¥ Ł +ï¦ Ħ +ï¦ Ī +ï¦ ¨ +ï¦ © +ï¦ ² +ï§ ģ +ï§ ĥ +ï§ Ķ +ï§ ł +ï§ £ +ï§ ® +ï ŃIJ +ïŃ ĸ +ïŃ ¦ +ïŃ ´ +ïŃ µ +ïŃ ¶ +ïŃ ¸ +ï® Į +ï® İ +ï® ŀ +ï® Ł +ï® ¡ +ï® ª +ï¯ Ķ +ï¯ Ĺ +ï¯ ļ +ï¯ Ľ +ï¯ Ŀ +ï¯ Ł +ï¯ § +ï¯ ¨ +ï¯ « +ï¯ ¯ +ï¯ ° +ï¯ ± +ï¯ ² +ï¯ ³ +ï¯ ´ +ï¯ µ +ï¯ ¶ +ï° Ģ +ï± ħ +ï± Ķ +ï± ´ +ï² ģ +ï³ ķ +ï· ½ +ï¸ ķ +ï¸ ± +ï¹ £ +ï¹ ½ +ï» į +ï¾ ± +ðĿIJ Ļ +ðĿIJ ½ +ðĿij ¤ +ðĿij ® +ðĿij µ +ðĿĴ ĥ +ðĿĴ Ħ +ðĿĵ Ń +ðĿĵ · +ðĿĶ ĸ +ðĿĶ ŀ +ðĿĶ ¢ +ðĿĶ ¦ +ðĿĶ ¬ +ðĿķ Ħ +ðĿķ Ĭ +ðĿķ İ +ðĿķ Ļ +ðĿķ ľ +ðĿķ Ń +ðĿķ ³ +ðĿķ ¸ +ðĿķ ¾ +ðĿ ĸī +ðĿĸ ı +ðĿĺ ĩ +ðĿĺ ī +ðĿĺ ĸ +ðĿĺ Ľ +ðĿĺ ŀ +ðĿĺ « +ðĿĺ ¾ +ðĿĻ ĩ +ðĿĻ ī +ðĿĻ ĭ +ðĿĻ İ +ðĿĻ ĺ +ðĿĻ ¥ +ðĿļ ĥ +ðĿļ IJ +ðĿļ Ķ +ðĿľ ĥ +ðŁĦ · +ðŁħ Ŀ +ðŁħ ¾ +ðŁĨ Ĥ +ðŁĨ ĵ +ðŁĮ Ĥ +ðŁĮ Ĩ +ðŁĮ ī +ðŁĮ ij +ðŁĮ ĺ +ðŁĮ © +ðŁĮ « +ðŁį ¢ +ðŁį ¥ +ðŁİ Ľ +ðŁİ ¢ +ðŁİ ´ +ðŁij ¡ +ðŁĴ ¾ +ðŁĵ Ń +ðŁĶ Ī +ðŁĶ ¦ +ðŁĶ ² +ðŁĶ ³ +ðŁķ ĵ +ðŁķ ķ +ðŁķ ĺ +ðŁķ Ł +ðŁķ · +ðŁĹ ³ +ðŁļ Ħ +ðŁļ Ķ +ðŁļ ĸ +ðŁĽ IJ +ðŁĽ ¤ +ðŁĽ ¸ +ðŁ ł +ðŁł ³ +ðŁ¤ ¹ +ðŁ¥ ĥ +ðŁ¥ ¨ +ðŁ¥ ª +ðŁ¥ ¾ +ðŁ¦ ĥ +ðŁ¦ Ĵ +ðŁ¦ Ļ +ðŁ¦ ¶ +ðŁ§ ł +ðŁ§ ª +ðŁ§ Ń +ðŁ§ ² +𣠷 +ð£· Ń +ð¦ ĺ +ð¦ĺ Ĵ +Æ ij +Ç Ļ +È ® +Ø ł +Ú Ħ +Ü Ģ +ß ¢ +áī Ģ +áĬ IJ +áİ ł +Ạŀ +ëĪ ŀ +ëķ Ł +ë£ ģ +ë¤ Ĺ +ìĦ ¥ +ìħ ij +ìĸ IJ +ìĽ Ľ +ì£ ķ +íİ ı +íĽ ĵ +ï¥ º +ï³ Ľ +ï´ « +ðĸ § +ðĸ§ · +ðĿķ ģ +ðŁIJ ª +ðŁĴ Ī +ðŁĵ ł +ðŁķ Ľ +ðŁķ ´ +Ñ Ŀ +Ó Ĭ +ॠ² +ઠª +áĥ ¤ +áį IJ +á¶ ° +á¼ Ŀ +á½ © +âĭ ĭ +âĴ ½ +âĻ ¾ +â ½Ķ +â¾ ¯ +ãĦ Ĵ +ãħ ļ +ëIJ į +ë· ģ +ìĭ Ģ +ìļ Ŀ +ì¥ ° +ìº ´ +íĭ ī +íĿ ½ +ï¦ Ģ +ï¦ ¿ +ï§ ħ +ï§ ĵ +ïŃ ¯ +ï® Ĩ +ðIJ¤ ķ +ðĿIJ Ł +ðĿĴ ħ +ðĿĵ ľ +ðĿĶ ° +ðĿĶ » +ðĿĺ į +ðĿĻ ¯ +ðŁĦ ½ +ðŁħ Ĥ +ðŁħ Ķ +ðŁħ ½ +ðŁĵ ´ +ðŁ§ ĸ +Ó Ĵ +Ḡ² +ëī ¼ +Ç ı +È ĵ +Ê ¸ +Õ Ĥ +Û ħ +ß ¡ +ß £ +à® ¯ +à° Ī +ಠ¸ +ຠ® +༠ķ +áĢ İ +áĨ ¡ +áIJ ĭ +áIJ ķ +áij ¯ +áŀ Ĩ +ᨠķ +á© Ī +âģ ħ +âĨ ļ +âĶ İ +âł © +â² Ĥ +â² Ķ +â² ¨ +ãĬ ļ +íĵ ² +ðĿij Ī +ðĿij ¬ +ðĿij ¹ +ðĿĴ ¾ +ðĿĵ ± +ðĿĵ ½ +ðĿķ ¯ +ðĿķ » +ðĿĺ ½ +ðĿļ Ĩ +ðŁĦ ° +ðŁIJ ¨ +Ò ķ +ಠħ +ï¨ Ĩ +ðĿij ° +ðŁĦ ¸ +Ô İ +Ø į +Ù µ +ಠ¶ +áĢ Ī +áĺ Ĺ +áł ¸ +á¡ ¡ +ᨠ² +á© ģ +á´ · +áµ § +âķ ¨ +âļ ģ +â¾ Ŀ +ãĢ ¼ +ãĦ ı +êĴ « +ê¦ ¥ +ê¦ © +ê¦ ² +ìĺ ¼ +íĵ IJ +ðĵ ĩ +ðĵĩ ¼ +ðĿķ ¿ +ðŁĽ ´ +ë¨ ľ +ಠµ +à´ İ +à¼ Ģ +âĩ ĸ +ãĪ « +âĵ Ģ +áħ ´ +áļ ¾ +ἠŀ +ἠ« +ᥠ´ +âĨ Ľ +âĨ ¶ +âĩ ¤ +âķ Ł +âĺ · +âļ IJ +ðŁ§ ´ +á¹ ³ +âĶ į +âĶ Ĵ +âĶ © +âĶ ¦ +â¾ µ +ઠľ +ઠ¤ +âĩ Ļ +âĶ ± +âķ Ģ +â½ Ĭ +ï½ Ł +ଠ¡ +ðł ® +ðł® · +âķ ĥ +â° Ķ +ãĬ ¦ +ðŁİ IJ +ãĩ ° +â¼ Ŀ +â¾ Ķ +â½ Ĵ +âł Ĵ +ï¨ ¦ +ï© Ĵ +ï¨ ² +ï© ĸ +ðĵı ¸ +ãĮ ĥ +ðĸ ¤ +ðĸ¤ IJ +ï¦ Ń +âĬ ħ +â¾ ³ +ä´ ¥ +ï© ķ +ðŁĮ Ķ +áŀ ĭ +âļ į +â¼ ĭ +ãİ ĺ +ðIJĮ ² +É © +áİ ij +âĨ ® +âĩ ĥ +âļ İ +ãĩ ± +ãĭ © +ãĮ ¶ +êĻ ª +ëİ ¬ +ï¨ IJ +ï¨ Ľ +ï© Ĭ +ï© į +ðĵ ħ +ðĵħ º +Ï ¡ +È ij +É Ĥ +Ô ĵ +ß İ +à´ § +áĢ ī +áĢ ĭ +áĢ ij +áĢ ł +áļ Ļ +ᨠĦ +ᨠ© +ᨠ¹ +á© ĵ +ᬠľ +á´ Ļ +áµ ij +âĤ Ń +âĨ ° +âľ ģ +â½ IJ +ãĭ ¯ +ãĮ ½ +íĨ ¢ +ï¤ ¿ +ðŁ Ĥ +ðŁĤ » +È Ĵ +Í º +Ô ¥ +Õ ij +Ú ¶ +à§ İ +à¶ ® +ຠĸ +ຠľ +ຠ½ +áĥ » +áħ ¯ +áĭ ŀ +áĸ ķ +á ´Ī +á¶ Ĩ +Ḡľ +á¹ ¼ +á¿ ¨ +âĦ ĭ +âĦ Ń +âĪ ± +âĮ ĵ +âĶ ĩ +âĶ ¢ +â± ® +â² Ħ +ãĩ ¾ +ãĪ ¬ +ë¸ ¡ +ìIJ ī +íĻ Ľ +ðĿķ ª +Æ ¹ +Í ² +Ó ģ +Û ¼ +ঠ« +áħ Ł +áī Ĩ +áį Ī +Ạĸ +á½ ī +âĶ ¸ +â½ © +ê ľ +êľ ¥ +êµ ħ +ëĤ Ķ +ëĦ ł +ëĩ Ĺ +ëĻ Ŀ +ìļ ¯ +ìļ · +ìŁ Ľ +ì· IJ +íŁ ¬ +íŁ ® +íŁ ° +ï¦ Ĩ +ï¦ ± +ï² ŀ +ï³ ¤ +ï³ ¥ +ðIJĮ ¸ +ðĿĶ ı +ðĿķ ® +ðĿĺ £ +à¦ Ī +âı ı +ãĦ ĸ +ê² ĩ +ëĸ ĺ +ëľ · +ëŀ Ĵ +ë¡ ĵ +ë¢ ī +ë£ ĥ +ë§ ĭ +ë² ĭ +ìĤ · +ìĪ ķ +ì Į¨ +ìĵ » +ìĸ Ĭ +ìĻ ¬ +ìĿ » +ì¦ ģ +ìµ ¤ +ì· ĥ +íĢ ľ +íħ ī +íį ł +íı ħ +íij ± +íķ ķ +íĸ ł +íĿ ķ +Æ Ļ +Æ ļ +Æ ŀ +Ç ĥ +Ç Ĭ +Ç ľ +Ç ¤ +Ç Ń +Ç ¹ +È Ģ +È ģ +È ħ +È ī +È Ĺ +È Ł +È ¤ +È ¥ +È ¨ +È µ +È º +È » +É Į +É ® +Ê ħ +Ê ¥ +Ê ¨ +Ë ĵ +Ë Ķ +Ë ł +Ë £ +Ë ¸ +Í ´ +Ï Ĺ +Ï ĺ +Ï Ļ +Ï ļ +Ï Ŀ +Ï ¨ +Ï ¬ +Ï ¾ +Ï ¿ +Ñ ª +Ò Ģ +Ò ľ +Ò ¼ +Ò ½ +Ó Ĥ +Ó ħ +Ó ĩ +Ó į +Ó ĸ +Ó Ł +Ó « +Ó ± +Ô Ĩ +Ô ĩ +Ô º +Õ ĭ +Ö ī +Ø Ī +Ø Ĭ +Ø ½ +Ø ¾ +Ù · +Ú Ĥ +Ú Ĭ +Ú ĸ +Ú Ĺ +Ú £ +Ú « +Ú ¸ +Û Ģ +Û į +Û ½ +Ü ī +Ü ¤ +Ý § +Ý ´ +Þ ĥ +Þ ¤ +Þ ¥ +ß ļ +ß Ľ +ß ¤ +àł į +àł ĵ +àł ³ +à¡ ¢ +ॠł +à§ ł +à§ º +ਠĬ +ਠIJ +ਠ® +ਠ¯ +ਠ° +ਠ¸ +ઠĨ +ઠ³ +ઠµ +ઠ½ +ଠĮ +ଠĺ +ଠ½ +à® ĥ +à® ¸ +à° Ĩ +à° ķ +à° ¦ +ಠĨ +ಠĬ +ಠĮ +ಠIJ +ಠĽ +ಠ¤ +ಠ¦ +ಠª +ಠ² +ಠ¹ +à´ Ĩ +à´ ı +à´ Ĺ +à´ « +à´ ¹ +ൠº +ൠ½ +à¶ ħ +à¶ Ĭ +à¶ Ķ +à¶ § +à¶ « +à¶ ° +༠Ħ +༠ħ +༠Ĭ +à½ Ļ +འ¡ +འ§ +à¿ Ģ +à¿ Ļ +áĢ Ŀ +áĢ § +áĢ © +áĢ ¿ +áģ µ +áĤ ģ +áĤ ½ +áĥ Ĥ +áĥ ª +áĦ Ĭ +áĦ ¢ +áħ ¦ +áħ Ń +áĨ ® +áĨ ± +áĨ » +á ĩ +áĩ Ĥ +áĪ ħ +áĪ ī +áĪ Į +áĪ IJ +áĪ Ĵ +áĪ Ļ +áĪ ļ +áĪ ľ +áĪ ŀ +áĪ © +áĪ ³ +áĪ º +áĪ ½ +áī ħ +áī ¢ +áī ± +áī ´ +áĬ ĥ +áĬ į +áĬ ĸ +áĬ ® +áĬ ¸ +áĭ Ľ +áĭ Ŀ +áĭ ³ +áĮ ģ +áĮ ħ +áĮ ¥ +áĮ ¦ +á Į¨ +áį Ĭ +áį į +áį ķ +áį ĸ +áį ¢ +áį ¤ +áİ Ĵ +áİ ª +áı ģ +áı IJ +áı Ł +áIJ Ĥ +áIJ ĸ +áIJ Ŀ +áIJ ŀ +áIJ Ł +áIJ ł +áij ĸ +áĴ ĭ +áĴ į +áĴ ¡ +áĵ « +áĶ ķ +áķ ĭ +áķ ij +áķ Ļ +áķ ļ +áķ Ľ +áķ ¤ +áķ ¦ +áķ ® +áķ ¼ +áĸ ĵ +áĹ Ĺ +áĹ ¢ +áĹ ¯ +áĹ · +áĺ Ħ +áĺ ij +ἠĤ +áĽ Ļ +áŀ į +áł Ĩ +áł ¡ +áł ¦ +áł ® +áł ¯ +áł ² +áł · +á¡ į +á¡ ŀ +á¡ ¤ +á ¡´ +á¡ µ +ᤠĵ +ᥠĸ +ᥠ° +ᨠ¦ +ᨠ§ +ᨠ¨ +ᨠª +ᨠ¬ +ᨠ¯ +ᨠ³ +ᨠµ +á© ĥ +ᬠķ +áŃ £ +á ± +á± ļ +á² ł +á´ ĵ +á´ ¶ +áµ Ĥ +áµ Į +áµ ¥ +áµ ´ +á¶ ĩ +á¸ Ī +Ḡł +Ḡ§ +Ḡ´ +Ḡ¾ +á¹ Ģ +á¹ ĸ +á¹ Ł +á¹ ł +á¹ « +á¹ ± +á¹ · +á¹ ¿ +ẠĦ +Ạį +Ạij +áº Ĺ +á¼ ī +á¼ ĵ +á¼ Ń +á½ ĭ +á½ Ĵ +á½ ł +á½ £ +á¾ Ħ +á¾ ı +á¾ ij +á¾ Ĺ +á¾ ¦ +á¾ § +á¾ ¾ +á¿ Ħ +á¿ ĵ +á¿ ¡ +á¿ ¬ +âģ ļ +âĤ Į +âĦ ģ +âĦ Ķ +âĦ £ +âĦ § +âĦ ¯ +âĦ ° +âĦ ´ +âħ ħ +âĨ ľ +âĨ « +âĨ Ń +âĨ ± +âĨ ¹ +âĨ ½ +âĩ ĩ +âĩ ľ +âĩ µ +âĪ ī +âĪ Ĭ +âĪ ĸ +âĪ ľ +âĪ ¾ +âī Ģ +âī ĭ +âī Į +âī ĵ +âī ľ +âī ´ +âī ¿ +âĬ Ĭ +âĬ ĭ +âĬ Ķ +âĬ ĸ +âĬ £ +âĬ ¦ +âĭ İ +âĭ ª +âĭ ² +âĮ ¦ +âĮ § +âį º +âİ Ī +âİ ¨ +âİ ¬ +âİ ³ +âİ ¼ +âİ ¾ +âı Į +âı ļ +âı « +âı ¯ +âı µ +âĴ ľ +âĴ Ŀ +âĴ « +âĵ Ħ +âĵ Ĭ +âĵ Ļ +âĵ © +âĶ ij +âĶ Ļ +âĶ ļ +âĶ ¥ +âķ ħ +âķ ī +âķ į +âķ ı +âķ ŀ +âĸ ļ +âĸ ¯ +âĹ ĥ +âĹ ļ +âĹ ¬ +âĹ ´ +âĺ Ī +âĺ ¤ +âĺ ¥ +âĺ § +âĺ ¬ +âĻ ģ +âĻ ± +âļ ĥ +âļ Ħ +âļ ħ +âļ ı +âļ ļ +âļ ŀ +âļ Ł +âļ ± +âļ ² +âľ Ģ +âľ Ł +âľ ¢ +âĿ µ +⣠¡ +⣠¦ +⣠§ +⣠³ +⣠¾ +⣠¿ +âł ĩ +⤠Ħ +⤠º +⥠Ĥ +⥠¹ +â§ ī +â§ ¼ +â§ ½ +⨠į +⬠Ĭ +â¬ Ł +âŃ ŀ +â® ŀ +â® ³ +â¯ Ī +⯠ij +â± ł +â± ± +â² Ń +â´ ¹ +âµ ķ +⸠¾ +â º« +â¼ Ĩ +â¼ ł +â½ Ł +â½ ¼ +â¾ Ľ +â¾ § +â¿ ĥ +â¿ » +ãĤ ķ +ãĤ Ł +ãĦ Ľ +ãĦ ¡ +ãĦ ¶ +ãĦ º +ãħ Ĵ +ãħ Ł +ãĨ Ģ +ãĩ » +ãĪ ij +ãĪ Ń +ãĪ ® +ãĪ ³ +ãĪ ¹ +ãī ¥ +ãī ¦ +ãī ¹ +ãī ¿ +ãĬ ŀ +ãĬ ¨ +ãĭ ij +ãĭ ¥ +ãĭ ´ +ãĭ º +ãİ Ħ +ãİ ķ +ãİ ¯ +ãı Ĥ +ãı Ī +ãı ĵ +ãı ĸ +ãı ± +ãIJ ± +ãŁ ģ +ã ¢ +㢠¨ +ã ¨ +㨠³ +ã« ª +ã« ´ +ã¶ ³ +㺠¾ +ä Ģ +äĢ Ģ +ä ĭ +äĭ Į +ä ĮĢ +äIJ Ģ +ä łĢ +ä ł +äł ¼ +ä § +ä§ ŀ +ä¨ ° +ä¨ º +ä ´Ģ +ä · +ä· ħ +ä ·¸ +ê Ĥ +êĤ « +ê Į +êĮ ¼ +ê į +êį ² +êĴ µ +ê ĵ +êĵ ½ +êĻ Ń +êĿ Ľ +êĿ ¥ +ê ŀ +êŀ Ĭ +ê¦ Ĩ +ê¦ ĩ +ê¦ Ł +ê¦ ¨ +ê§ Ī +ê © +ê© Ł +êª ĭ +êª ij +êª ķ +êª Ĺ +êª ľ +êª ® +êª ± +êª » +êª ¼ +ê« Ģ +ê« Ŀ +ê° ĥ +ê° ĺ +ê± ľ +ê² ĵ +ê² ļ +ê³ Ļ +ê³ ¾ +ê´ Ĺ +ê´ Ļ +êµ Ľ +ê¶ ĥ +ê¶ ķ +ê¶ ¨ +ê¸ © +ê¸ ¿ +ê ¹Ħ +ê¹ Ĩ +ê¹ ī +ê¹ ĵ +ê¹ ¢ +ê¹ £ +ê¹ ¸ +êº ³ +ê¿ ı +ê¿ ķ +ê¿ § +ëĢ © +ëģ ħ +ëĥ µ +ëĦ ĸ +ëĦ Ĺ +ëĦ ¢ +ëħ Ĥ +ëĨ IJ +ëĩ ľ +ëĪ ĭ +ëĪ ļ +ëī į +ëī ¨ +ëĬ ļ +ëĬ ¡ +ëĭ ľ +ëĭ ª +ëĮ ĺ +ëĮ ¤ +ëĮ ¸ +ëİ Ł +ëı ¨ +ëIJ Ħ +ëIJ ı +ëIJ ´ +ëIJ ¸ +ëij ģ +ëij ¿ +ëĴ ¨ +ëĵ · +ëĶ ® +ëĶ ² +ëķ § +ëĸ Ķ +ëĸ ª +ëĺ Ń +ëļ Ģ +ëļ ł +ëĽ Ķ +ëĽ © +ëľ ħ +ëŀ ķ +ëŀ ° +ëŁ IJ +ëł ¡ +ë¡ ŀ +ë¡ £ +ë¡ µ +ë£ Ħ +ë£ į +ë¤ ³ +ë¦ į +ë¦ ı +ë¦ ³ +ë§ Ħ +ë§ Ĩ +ë§ į +ë§ ľ +ë§ « +ë§ » +ë¨ ® +ë© Ĥ +ë© Ń +ëª ´ +ë¬ ľ +ë¬ ł +ë¬ « +ë¬ ¾ +ëŃ ¬ +ë® ĺ +ë® ¹ +ë¯ ķ +ë¯ ľ +ë° ¨ +ë° ª +ë± Ķ +ë² ĺ +ë² Ľ +ë² ± +ë² ´ +ë´ ½ +ëµ ¤ +ëµ ¨ +ë· Ĺ +ë· ĺ +ë¸ ĵ +ë¸ ľ +ë¹ ª +ëº ĥ +ëº ĺ +ëº µ +ë» ´ +ë¼ IJ +ë¾ Ķ +ìģ Ń +ìĤ ł +ìĤ ® +ìĥ ı +ìĥ Ļ +ìĦ º +ìħ ¢ +ìĨ Ģ +ìĨ ħ +ìĨ ¤ +ìĨ ¦ +ìĨ ¬ +ìĩ ± +ìĪ µ +ìĭ ¨ +ìĭ ´ +ìĮ ° +ìį ľ +ìİ Ĺ +ìİ ĺ +ìİ ¼ +ìij ī +ìij Ŀ +ìij » +ìĴ Ķ +ìĴ ¯ +ìĵ © +ìķ IJ +ìķ ĸ +ìĸ ł +ìĸ ¾ +ìĹ ĥ +ìĹ Ĺ +ìĹ ľ +ìĹ ¨ +ìĺ Ĥ +ìĺ Ħ +ìĺ ı +ìĺ ¾ +ìĺ ¿ +ìľ § +ìĿ IJ +ìĿ ĸ +ìĿ · +ìŀ į +ìŀ ı +ìŀ ¨ +ìŀ ª +ìŀ ³ +ìł ¡ +ìł ´ +ìł ¹ +ì¡ Ģ +ì¡ ª +ì¡ µ +ì¢ IJ +ì¢ ¨ +ì£ Į +ì£ Ļ +ì£ ³ +ì¦ ij +ì§ ¥ +ì§ ´ +ì§ ¾ +ì¨ ĵ +ì¨ ķ +ì© ° +ì© » +ì© ¼ +ìª Ĺ +ì¬ Ķ +ì¬ ĺ +ì® ® +ì¯ ķ +ì¯ ĺ +ì° İ +ì° ¯ +ì± ĥ +ì± µ +ì² § +ì² ® +ì² ¯ +ì³ ¬ +ì´ ĭ +ì´ ¢ +ìµ ¥ +ì¶ £ +ì¸ Ī +ì¸ Ļ +ìº ¤ +ìº Ń +ì» ½ +ì¼ Ļ +ì½ ¬ +ì¾ Ģ +ì¿ ħ +ì¿ ½ +íĢ ħ +íģ ¦ +íĤ ħ +íĥ ¶ +íĥ ¹ +íĦ Ķ +íħ £ +íĨ Ħ +íĨ § +íĨ ¹ +íĩ ¼ +íī ¤ +íĬ ½ +íĭ Ĥ +íĭ ij +íį Ī +íį Ļ +íį ¿ +íİ ¶ +íIJ Ŀ +íĴ ľ +íĵ Ŀ +íĵ ª +íĵ ± +íĵ · +íĵ ¼ +íĶ Ļ +íĶ ł +íķ ļ +íķ Ľ +íķ ŀ +íķ Ł +íķ § +íķ ¶ +íĸ Ĭ +íĸ ĭ +íĸ į +íĸ Ķ +íĸ ĺ +íĸ ¡ +íĸ ¬ +íĹ £ +íĹ ¿ +íĺ ĸ +íĺ Ń +íļ ° +íĽ į +íĽ ½ +íĿ Ł +íĿ Ń +íĿ ´ +íŀ ľ +ï¤ ī +ï¤ Ń +ï¤ ² +ï¤ µ +ï¤ ¼ +ï¥ Ģ +ï¥ ij +ï¥ Ĵ +ï¥ ķ +ï¥ ĺ +ï¥ Ļ +ï¥ « +ï¥ ¬ +ï¥ ° +ï ¥¿ +ï¦ ĭ +ï¦ ı +ï¦ Ķ +ï¦ ĸ +ï¦ ĺ +ï¦ Ľ +ï¦ ł +ï¦ ® +ï¦ ¯ +ï¦ º +ï¦ » +ï¦ ¾ +ï§ Ĩ +ï§ ĸ +ï§ Ľ +ï§ ŀ +ï§ Ł +ï§ § +ï§ ³ +ï§ º +ï§ ½ +ï¨ ĥ +ï¨ ļ +ï¨ ¢ +ï© Ł +ï¬ ¤ +ï¬ ¬ +ï¬ ¼ +ïŃ Ĵ +ïŃ ķ +ïŃ Ľ +ïŃ Ŀ +ïŃ ŀ +ïŃ Ł +ïŃ ¤ +ïŃ § +ïŃ ¨ +ïŃ ® +ïŃ ° +ïŃ ± +ïŃ · +ïŃ ¹ +ïŃ » +ï® Ģ +ï® ĥ +ï® Ħ +ï® ħ +ï® į +ï® Ĵ +ï® ĵ +ï® ķ +ï® ¦ +ï® ® +ï® ° +ï¯ ĵ +ï¯ ľ +ï¯ © +ï¯ ª +ï¯ ¬ +ï¯ Ń +ï¯ ® +ï¯ · +ï¯ ¹ +ï¯ » +ï¯ ¼ +ï° ĥ +ï° Į +ï° IJ +ï° ĺ +ï° Ļ +ï° ľ +ï° ŀ +ï° ¢ +ï° ® +ï° ° +ï° ¼ +ï° ¿ +ï± Ģ +ï± ģ +ï± Ī +ï± ĭ +ï± ı +ï± Ń +ï² Ģ +ï² ĩ +ï² Ī +ï² ĭ +ï² İ +ï² Ĵ +ï² ľ +ï² ł +ï² ¬ +ï² » +ï³ ĩ +ï³ Ķ +ï³ £ +ï³ « +ï´ ĺ +ï´ ° +ï´ ½ +ï ¶ +ï¶ ° +ï¸ ĸ +ï¸ ´ +ï¸ ¹ +ï¹ į +ï¹ Ĺ +ï¹ ¢ +ï¹ ¤ +ï¹ © +ï¹ ± +ï¾ ° +ï¿ Ĥ +ï¿ ® +ðIJĮ ° +ðIJĮ ¹ +ðIJĮ º +ðIJĮ ½ +ðIJį Ĥ +ðIJį ĥ +ðIJį Ħ +ðIJ İ +ðIJİ ¹ +ðIJ¤ Ĥ +ðIJ¤ į +ðIJ¤ ı +ðIJ¤ ĵ +ðIJŃ ī +ðIJŃ į +ðIJ° ĩ +ðIJ° ° +ðij Ĥ +ðijĤ Ħ +ðij ĺ +ðijĺ ģ +ðĴ Ģ +ðĴĢ ¸ +ðĴ ģ +ðĴģ º +ðĴ Ħ +ðĴĦ · +ðĴ Ĭ +ðĴĬ ij +ðĴ ĭ +ðĴĭ Ĺ +ð ĴĮ +ðĴĮ ¨ +ðĵĥ ¢ +ðĵĥ ° +ðĸ ł +ðĸł ļ +ðĿĦ ĥ +ðĿĦ ħ +ðĿĦ ķ +ðĿĦ Ļ +ðĿĦ ± +ðĿĦ ´ +ðĿĦ ¹ +ðĿħ İ +ðĿħ ª +ðĿĨ £ +ðĿĨ ³ +ðĿĨ ¹ +ðĿĩ Ĭ +ðĿĩ Ĺ +ðĿĩ ļ +ðĿĩ ľ +ðĿĩ ł +ðĿIJ ī +ðĿIJ ĸ +ðĿIJ ĺ +ðĿIJ £ +ðĿIJ ± +ðĿij Ĭ +ðĿij Ń +ðĿij ¼ +ðĿij ½ +ðĿĴ ° +ðĿĴ · +ðĿĴ ¿ +ðĿĵ ģ +ðĿĵ ĭ +ðĿĵ İ +ðĿĵ Ĵ +ðĿ ĵĺ +ðĿĵ ¢ +ðĿĵ ¦ +ðĿĵ « +ðĿĵ ¿ +ðĿĶ İ +ðĿĶ ± +ðĿĶ ´ +ðĿĶ · +ðĿĶ ¸ +ðĿĶ ½ +ðĿķ Ĥ +ðĿķ ĥ +ðĿķ ĭ +ðĿķ ı +ðĿķ IJ +ðĿķ ¥ +ðĿķ ´ +ðĿķ º +ðĿĸ IJ +ðĿĸ Ľ +ðĿĸ Ŀ +ðĿĸ ŀ +ðĿĹ © +ðĿĹ ³ +ðĿĹ ½ +ðĿĺ Ĭ +ðĿĺ ĭ +ðĿĺ Ķ +ðĿĺ ± +ðĿĺ ´ +ðĿĺ ¿ +ðĿĻ Ĵ +ðĿĻ Ŀ +ðĿĻ Ł +ðĿĻ ¬ +ðĿĻ Ń +ðĿĻ » +ðĿĻ ¾ +ðĿļ Ī +ðĿļ ĭ +ðĿļ ij +ðĿļ Ł +ðĿļ ł +ðĿļ £ +ðĿĽ ½ +ðĿľ Ĥ +ðĿľ Ķ +ðĿľ Ļ +ðŁ Ģ +ðŁĢ Ħ +ðŁĦ ² +ðŁĦ ¶ +ðŁħ IJ +ðŁħ ĸ +ðŁħ ļ +ðŁħ Ľ +ðŁħ ¦ +ðŁħ ¶ +ðŁħ » +ðŁħ ¼ +ðŁĨ ĥ +ðŁĨ Ĩ +ðŁĨ İ +ðŁĪ ¯ +ðŁĪ ² +ðŁĪ ¹ +ðŁĮ ĩ +ðŁĮ ĵ +ðŁį ĺ +ðŁİ ij +ðŁİ ¿ +ðŁı ı +ðŁı Ĵ +ðŁı © +ðŁı ¯ +ðŁIJ Ģ +ðŁij Ŀ +ðŁĴ ¹ +ðŁĴ º +ðŁĵ Ł +ðŁĵ ª +ðŁĵ ¼ +ðŁĶ Ģ +ðŁĶ Ĥ +ðŁĶ ĥ +ðŁĶ ĩ +ðŁĶ ĵ +ðŁĶ ¢ +ðŁĶ ¤ +ðŁĶ © +ðŁķ ĸ +ðŁķ ļ +ðŁķ ľ +ðŁķ Ŀ +ðŁķ ŀ +ðŁķ ł +ðŁķ ¢ +ðŁķ ³ +ðŁĸ ĩ +ðŁĸ ij +ðŁĸ ¶ +ðŁĹ ģ +Ñ ¨ +Ú İ +á¡ Į +Ḡ° +áº Ģ +á¼ ® +á½ Ŀ +âĦ ¬ +âļ § +⼠¤ +ã³ ¬ +êĻ ĭ +ê¸ ij +ëĶ ī +ëĹ į +ë¡ ij +ë¯ ij +ë» ħ +ë¼ Ŀ +ìĦ IJ +ìī ¡ +ìĭ ² +ìı ± +ìĹ ¤ +ìĿ © +ìĿ ¿ +ìŁ Ļ +ìł ° +ì¥ ī +íĬ Ń +íķ ® +ï® ı +ðŁħ ± +ðŁĨ Ĵ +ðŁķ ĭ +É ĺ +Ê ĵ +Õ ĥ +à´ ´ +འħ +áĨ º +áĪ Ĭ +áĪ ¨ +áĪ ¾ +áī IJ +áĮ ĥ +áĮ ½ +áĶ Ń +áł Ĥ +áł ¬ +ᨠ¸ +á© ĭ +á¶ ı +á¾ Ķ +á¿ IJ +á¿ ļ +âĻ Ļ +âļ Ĥ +âļ Ĺ +â¡ ¢ +⤠¦ +ëĸ ° +ë¤ Ĥ +ë§ ł +ë± ĭ +ë± IJ +ìĽ ¢ +ìľ ¾ +ì³ ħ +ì» ģ +íģ » +íĥ Ļ +íĵ ĸ +íĵ Ń +íķ ± +íĽ ľ +ï¤ ħ +ï¤ Ĩ +ï¦ ĥ +ï§ © +ï¨ Ĥ +ðIJ¤ Ķ +ðIJŃ ĵ +ðIJ° ¼ +ðĿĵ ŀ +ðĿĵ ° +ðĿĻ ľ +ðĿļ ģ +ðŁħ ¢ +ðŁı ĩ +È ² +Ê ¶ +Ô Ī +Ô ij +Ý ĵ +Ý ¥ +ठij +ॠ± +ଠī +à° ³ +à° µ +à² Ł +áĢ ı +áģ ¼ +áī ¨ +áĬ Ĵ +áĭ © +áĮ Ħ +áĮ Ķ +áIJ § +á ĴĮ +áĶ ħ +áĶ Ĭ +áł Ħ +ᨠģ +Ḡĥ +Ḡ» +âĶ ŀ +âĺ µ +âļ £ +â² ¢ +ãĪ ª +ä¶ µ +ê² Ļ +ê² ´ +ê³ Ĥ +ë¡ ¼ +ìĨ Ĭ +ì¼ ĩ +íĭ į +íĵ ¬ +íĵ ® +íĵ ¶ +íĵ » +ï¤ ¦ +ï¥ ł +ï¥ ± +ïŃ ² +ðIJŃ Ĭ +ðIJ ±ħ +ðĸ ¥ +ðĸ¥ ¨ +ðĿij ³ +ðĿĵ ķ +ðĿĵ ¬ +ðĿĵ ¹ +ðĿĵ ¾ +ðĿĶ ĵ +ðĿķ į +ðĿķ ¡ +ðĿķ ± +ðĿĸ ĸ +ðĿĺ ı +ðĿĺ IJ +ðĿĺ ļ +ðĿĻ ® +ðĿĻ ° +ðĿĻ ¸ +ðĿĻ º +ðĿĻ ¼ +ðĿĻ ½ +ðĿĻ ¿ +ðĿļ Ħ +ðĿļ ı +ðŁħ ħ +ðŁħ ĵ +Æ Ī +àł Į +áĻ ³ +á ļĮ +ἠħ +ἠIJ +ᤠĬ +ḠĬ +âĶ ½ +âķ Ĭ +⼠ĩ +⼠ı +âĿ ª +âĿ « +⣠° +ãĦ į +ãĦ ĵ +ãĦ § +ãħ ĸ +ãī « +ê¦ Ķ +ï± Ĭ +ຠĤ +áħ £ +á¥ Ķ +ᥠ¤ +âĨ ¤ +âĨ · +âĩ ŀ +âĸ ¤ +âŀ ¶ +ãĪ ¼ +ï¨ · +ðĵı § +âĶ ² +âĢ ´ +âĴ Ł +âĴ ¡ +â° Ĥ +â° į +â° İ +â° IJ +â° ij +â° Ł +â° ł +â° ¡ +â¼ Ń +ãĬ ¥ +âĴ ł +â½ º +ãĩ º +ãĩ ½ +ï¨ Ĭ +áķ · +âį ¨ +âº Ł +â½ Ĺ diff --git a/configs/qwen3_06b/tokenizer.json b/configs/qwen3_06b/tokenizer.json new file mode 100644 index 000000000..443909a61 --- /dev/null +++ b/configs/qwen3_06b/tokenizer.json @@ -0,0 +1,303282 @@ +{ + "version": "1.0", + "truncation": null, + "padding": null, + "added_tokens": [ + { + "id": 151643, + "content": "<|endoftext|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 151644, + "content": "<|im_start|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 151645, + "content": "<|im_end|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 151646, + "content": "<|object_ref_start|>", + "normalized": false, + "lstrip": false, + "rstrip": false, + "single_word": false, + "special": true + }, + { + "id": 151647, + "content": "<|object_ref_end|>", + "normalized": false, + "lstrip": false, + "rstrip": false, + "single_word": false, + "special": true + }, + { + "id": 151648, + "content": "<|box_start|>", + "normalized": false, + "lstrip": false, + "rstrip": false, + "single_word": false, + "special": true + }, + { + "id": 151649, + "content": "<|box_end|>", + "normalized": false, + "lstrip": false, + "rstrip": false, + "single_word": false, + "special": true + }, + { + "id": 151650, + "content": "<|quad_start|>", + "normalized": false, + "lstrip": false, + "rstrip": false, + "single_word": false, + "special": true + }, + { + "id": 151651, + "content": "<|quad_end|>", + "normalized": false, + "lstrip": false, + "rstrip": false, + "single_word": false, + "special": true + }, + { + "id": 151652, + "content": "<|vision_start|>", + "normalized": false, + "lstrip": false, + "rstrip": false, + "single_word": false, + "special": true + }, + { + "id": 151653, + "content": "<|vision_end|>", + "normalized": false, + "lstrip": false, + "rstrip": false, + "single_word": false, + "special": true + }, + { + "id": 151654, + "content": "<|vision_pad|>", + "normalized": false, + "lstrip": false, + "rstrip": false, + "single_word": false, + "special": true + }, + { + "id": 151655, + "content": "<|image_pad|>", + "normalized": false, + "lstrip": false, + "rstrip": false, + "single_word": false, + "special": true + }, + { + "id": 151656, + "content": "<|video_pad|>", + "normalized": false, + "lstrip": false, + "rstrip": false, + "single_word": false, + "special": true + }, + { + "id": 151657, + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + { + "id": 151658, + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + { + "id": 151659, + "content": "<|fim_prefix|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + { + "id": 151660, + "content": "<|fim_middle|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + { + "id": 151661, + "content": "<|fim_suffix|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + { + "id": 151662, + "content": "<|fim_pad|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + { + "id": 151663, + "content": "<|repo_name|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + { + "id": 151664, + "content": "<|file_sep|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + } + ], + "normalizer": { + "type": "NFC" + }, + "pre_tokenizer": { + "type": "Sequence", + "pretokenizers": [ + { + "type": "Split", + "pattern": { + "Regex": "(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\\r\\n\\p{L}\\p{N}]?\\p{L}+|\\p{N}| ?[^\\s\\p{L}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+" + }, + "behavior": "Isolated", + "invert": false + }, + { + "type": "ByteLevel", + "add_prefix_space": false, + "trim_offsets": false, + "use_regex": false + } + ] + }, + "post_processor": { + "type": "ByteLevel", + "add_prefix_space": false, + "trim_offsets": false, + "use_regex": false + }, + "decoder": { + "type": "ByteLevel", + "add_prefix_space": false, + "trim_offsets": false, + "use_regex": false + }, + "model": { + "type": "BPE", + "dropout": null, + "unk_token": null, + "continuing_subword_prefix": "", + "end_of_word_suffix": "", + "fuse_unk": false, + "byte_fallback": false, + "vocab": { + "!": 0, + "\"": 1, + "#": 2, + "$": 3, + "%": 4, + "&": 5, + "'": 6, + "(": 7, + ")": 8, + "*": 9, + "+": 10, + ",": 11, + "-": 12, + ".": 13, + "/": 14, + "0": 15, + "1": 16, + "2": 17, + "3": 18, + "4": 19, + "5": 20, + "6": 21, + "7": 22, + "8": 23, + "9": 24, + ":": 25, + ";": 26, + "<": 27, + "=": 28, + ">": 29, + "?": 30, + "@": 31, + "A": 32, + "B": 33, + "C": 34, + "D": 35, + "E": 36, + "F": 37, + "G": 38, + "H": 39, + "I": 40, + "J": 41, + "K": 42, + "L": 43, + "M": 44, + "N": 45, + "O": 46, + "P": 47, + "Q": 48, + "R": 49, + "S": 50, + "T": 51, + "U": 52, + "V": 53, + "W": 54, + "X": 55, + "Y": 56, + "Z": 57, + "[": 58, + "\\": 59, + "]": 60, + "^": 61, + "_": 62, + "`": 63, + "a": 64, + "b": 65, + "c": 66, + "d": 67, + "e": 68, + "f": 69, + "g": 70, + "h": 71, + "i": 72, + "j": 73, + "k": 74, + "l": 75, + "m": 76, + "n": 77, + "o": 78, + "p": 79, + "q": 80, + "r": 81, + "s": 82, + "t": 83, + "u": 84, + "v": 85, + "w": 86, + "x": 87, + "y": 88, + "z": 89, + "{": 90, + "|": 91, + "}": 92, + "~": 93, + "¡": 94, + "¢": 95, + "£": 96, + "¤": 97, + "¥": 98, + "¦": 99, + "§": 100, + "¨": 101, + "©": 102, + "ª": 103, + "«": 104, + "¬": 105, + "®": 106, + "¯": 107, + "°": 108, + "±": 109, + "²": 110, + "³": 111, + "´": 112, + "µ": 113, + "¶": 114, + "·": 115, + "¸": 116, + "¹": 117, + "º": 118, + "»": 119, + "¼": 120, + "½": 121, + "¾": 122, + "¿": 123, + "À": 124, + "Á": 125, + "Â": 126, + "Ã": 127, + "Ä": 128, + "Å": 129, + "Æ": 130, + "Ç": 131, + "È": 132, + "É": 133, + "Ê": 134, + "Ë": 135, + "Ì": 136, + "Í": 137, + "Î": 138, + "Ï": 139, + "Ð": 140, + "Ñ": 141, + "Ò": 142, + "Ó": 143, + "Ô": 144, + "Õ": 145, + "Ö": 146, + "×": 147, + "Ø": 148, + "Ù": 149, + "Ú": 150, + "Û": 151, + "Ü": 152, + "Ý": 153, + "Þ": 154, + "ß": 155, + "à": 156, + "á": 157, + "â": 158, + "ã": 159, + "ä": 160, + "å": 161, + "æ": 162, + "ç": 163, + "è": 164, + "é": 165, + "ê": 166, + "ë": 167, + "ì": 168, + "í": 169, + "î": 170, + "ï": 171, + "ð": 172, + "ñ": 173, + "ò": 174, + "ó": 175, + "ô": 176, + "õ": 177, + "ö": 178, + "÷": 179, + "ø": 180, + "ù": 181, + "ú": 182, + "û": 183, + "ü": 184, + "ý": 185, + "þ": 186, + "ÿ": 187, + "Ā": 188, + "ā": 189, + "Ă": 190, + "ă": 191, + "Ą": 192, + "ą": 193, + "Ć": 194, + "ć": 195, + "Ĉ": 196, + "ĉ": 197, + "Ċ": 198, + "ċ": 199, + "Č": 200, + "č": 201, + "Ď": 202, + "ď": 203, + "Đ": 204, + "đ": 205, + "Ē": 206, + "ē": 207, + "Ĕ": 208, + "ĕ": 209, + "Ė": 210, + "ė": 211, + "Ę": 212, + "ę": 213, + "Ě": 214, + "ě": 215, + "Ĝ": 216, + "ĝ": 217, + "Ğ": 218, + "ğ": 219, + "Ġ": 220, + "ġ": 221, + "Ģ": 222, + "ģ": 223, + "Ĥ": 224, + "ĥ": 225, + "Ħ": 226, + "ħ": 227, + "Ĩ": 228, + "ĩ": 229, + "Ī": 230, + "ī": 231, + "Ĭ": 232, + "ĭ": 233, + "Į": 234, + "į": 235, + "İ": 236, + "ı": 237, + "IJ": 238, + "ij": 239, + "Ĵ": 240, + "ĵ": 241, + "Ķ": 242, + "ķ": 243, + "ĸ": 244, + "Ĺ": 245, + "ĺ": 246, + "Ļ": 247, + "ļ": 248, + "Ľ": 249, + "ľ": 250, + "Ŀ": 251, + "ŀ": 252, + "Ł": 253, + "ł": 254, + "Ń": 255, + "ĠĠ": 256, + "ĠĠĠĠ": 257, + "in": 258, + "Ġt": 259, + "ĠĠĠĠĠĠĠĠ": 260, + "er": 261, + "ĠĠĠ": 262, + "on": 263, + "Ġa": 264, + "re": 265, + "at": 266, + "st": 267, + "en": 268, + "or": 269, + "Ġth": 270, + "ĊĊ": 271, + "Ġc": 272, + "le": 273, + "Ġs": 274, + "it": 275, + "an": 276, + "ar": 277, + "al": 278, + "Ġthe": 279, + ";Ċ": 280, + "Ġp": 281, + "Ġf": 282, + "ou": 283, + "Ġ=": 284, + "is": 285, + "ĠĠĠĠĠĠĠ": 286, + "ing": 287, + "es": 288, + "Ġw": 289, + "ion": 290, + "ed": 291, + "ic": 292, + "Ġb": 293, + "Ġd": 294, + "et": 295, + "Ġm": 296, + "Ġo": 297, + "ĉĉ": 298, + "ro": 299, + "as": 300, + "el": 301, + "ct": 302, + "nd": 303, + "Ġin": 304, + "Ġh": 305, + "ent": 306, + "id": 307, + "Ġn": 308, + "am": 309, + "ĠĠĠĠĠĠĠĠĠĠĠ": 310, + "Ġto": 311, + "Ġre": 312, + "--": 313, + "Ġ{": 314, + "Ġof": 315, + "om": 316, + ");Ċ": 317, + "im": 318, + "čĊ": 319, + "Ġ(": 320, + "il": 321, + "//": 322, + "Ġand": 323, + "ur": 324, + "se": 325, + "Ġl": 326, + "ex": 327, + "ĠS": 328, + "ad": 329, + "Ġ\"": 330, + "ch": 331, + "ut": 332, + "if": 333, + "**": 334, + "Ġ}": 335, + "em": 336, + "ol": 337, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 338, + "th": 339, + ")Ċ": 340, + "Ġ{Ċ": 341, + "Ġg": 342, + "ig": 343, + "iv": 344, + ",Ċ": 345, + "ce": 346, + "od": 347, + "Ġv": 348, + "ate": 349, + "ĠT": 350, + "ag": 351, + "ay": 352, + "Ġ*": 353, + "ot": 354, + "us": 355, + "ĠC": 356, + "Ġst": 357, + "ĠI": 358, + "un": 359, + "ul": 360, + "ue": 361, + "ĠA": 362, + "ow": 363, + "Ġ'": 364, + "ew": 365, + "Ġ<": 366, + "ation": 367, + "()": 368, + "Ġfor": 369, + "ab": 370, + "ort": 371, + "um": 372, + "ame": 373, + "Ġis": 374, + "pe": 375, + "tr": 376, + "ck": 377, + "âĢ": 378, + "Ġy": 379, + "ist": 380, + "----": 381, + ".ĊĊ": 382, + "he": 383, + "Ġe": 384, + "lo": 385, + "ĠM": 386, + "Ġbe": 387, + "ers": 388, + "Ġon": 389, + "Ġcon": 390, + "ap": 391, + "ub": 392, + "ĠP": 393, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 394, + "ass": 395, + "int": 396, + ">Ċ": 397, + "ly": 398, + "urn": 399, + "Ġ$": 400, + ";ĊĊ": 401, + "av": 402, + "port": 403, + "ir": 404, + "->": 405, + "nt": 406, + "ction": 407, + "end": 408, + "Ġde": 409, + "ith": 410, + "out": 411, + "turn": 412, + "our": 413, + "ĠĠĠĠĠ": 414, + "lic": 415, + "res": 416, + "pt": 417, + "==": 418, + "Ġthis": 419, + "Ġwh": 420, + "Ġif": 421, + "ĠD": 422, + "ver": 423, + "age": 424, + "ĠB": 425, + "ht": 426, + "ext": 427, + "=\"": 428, + "Ġthat": 429, + "****": 430, + "ĠR": 431, + "Ġit": 432, + "ess": 433, + "ĠF": 434, + "Ġr": 435, + "os": 436, + "and": 437, + "Ġas": 438, + "ect": 439, + "ke": 440, + "rom": 441, + "Ġ//": 442, + "con": 443, + "ĠL": 444, + "(\"": 445, + "qu": 446, + "lass": 447, + "Ġwith": 448, + "iz": 449, + "de": 450, + "ĠN": 451, + "Ġal": 452, + "op": 453, + "up": 454, + "get": 455, + "Ġ}Ċ": 456, + "ile": 457, + "Ġan": 458, + "ata": 459, + "ore": 460, + "ri": 461, + "Ġpro": 462, + ";čĊ": 463, + "ĉĉĉĉ": 464, + "ter": 465, + "ain": 466, + "ĠW": 467, + "ĠE": 468, + "Ġcom": 469, + "Ġreturn": 470, + "art": 471, + "ĠH": 472, + "ack": 473, + "import": 474, + "ublic": 475, + "Ġor": 476, + "est": 477, + "ment": 478, + "ĠG": 479, + "able": 480, + "Ġ-": 481, + "ine": 482, + "ill": 483, + "ind": 484, + "ere": 485, + "::": 486, + "ity": 487, + "Ġ+": 488, + "Ġtr": 489, + "elf": 490, + "ight": 491, + "('": 492, + "orm": 493, + "ult": 494, + "str": 495, + "..": 496, + "\",": 497, + "Ġyou": 498, + "ype": 499, + "pl": 500, + "Ġnew": 501, + "Ġj": 502, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 503, + "Ġfrom": 504, + "Ġex": 505, + "ĠO": 506, + "ld": 507, + "Ġ[": 508, + "oc": 509, + ":Ċ": 510, + "Ġse": 511, + "Ġle": 512, + "--------": 513, + ".s": 514, + "{Ċ": 515, + "',": 516, + "ant": 517, + "Ġat": 518, + "ase": 519, + ".c": 520, + "Ġch": 521, + "": 589, + "ust": 590, + "que": 591, + "Ġres": 592, + "))": 593, + "'s": 594, + "Ġk": 595, + "ans": 596, + "yst": 597, + "unction": 598, + "********": 599, + "Ġi": 600, + "Ġus": 601, + "pp": 602, + "one": 603, + "ail": 604, + "====": 605, + "name": 606, + "Ġstr": 607, + "Ġ/": 608, + "Ġ&": 609, + "ach": 610, + "div": 611, + "ystem": 612, + "ell": 613, + "Ġhave": 614, + "err": 615, + "ould": 616, + "ull": 617, + "pon": 618, + "ĠJ": 619, + "_p": 620, + "Ġ==": 621, + "ign": 622, + "St": 623, + ".Ċ": 624, + "Ġpl": 625, + ");ĊĊ": 626, + "form": 627, + "put": 628, + "ount": 629, + "}ĊĊ": 630, + "dd": 631, + "ite": 632, + "Ġget": 633, + "rr": 634, + "ome": 635, + "ĠâĢ": 636, + "aram": 637, + "cc": 638, + "Ġ*/": 639, + "ER": 640, + "In": 641, + "les": 642, + "_s": 643, + "ong": 644, + "ie": 645, + "Ġcan": 646, + "ĠV": 647, + "erv": 648, + "pr": 649, + "Ġun": 650, + "row": 651, + "ber": 652, + "Ġdo": 653, + "ll": 654, + "Ġel": 655, + "Ġself": 656, + "ated": 657, + "ary": 658, + "Ġ.": 659, + "']": 660, + "ud": 661, + "Ġen": 662, + "ĠTh": 663, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 664, + "te": 665, + "_c": 666, + "uct": 667, + "Ġab": 668, + "ork": 669, + ".get": 670, + "Ġ#": 671, + "aw": 672, + "ress": 673, + "ob": 674, + "Name": 675, + "app": 676, + "['": 677, + "Ġall": 678, + "ory": 679, + "ition": 680, + "ance": 681, + "ear": 682, + "Ġcont": 683, + "vent": 684, + "ia": 685, + "Ġwill": 686, + "IN": 687, + "ĠĠĠĠĠĠĠĠĠ": 688, + "return": 689, + "Ġ": 755, + "\",Ċ": 756, + "ec": 757, + "ĠIn": 758, + "ph": 759, + "Ġ|": 760, + "_f": 761, + "Ġvar": 762, + "ence": 763, + "Id": 764, + "ree": 765, + "ink": 766, + "lect": 767, + "ug": 768, + "eth": 769, + "Ġelse": 770, + "----------------": 771, + "cont": 772, + "Ġso": 773, + "atic": 774, + "Ġlo": 775, + "pro": 776, + "ton": 777, + "ss": 778, + "own": 779, + "abel": 780, + "oint": 781, + "ous": 782, + "eld": 783, + "ST": 784, + "The": 785, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 786, + "RE": 787, + "\":": 788, + "olor": 789, + "tp": 790, + "eg": 791, + "key": 792, + "ude": 793, + "ĠSt": 794, + "ound": 795, + "Ġar": 796, + "\");Ċ": 797, + "ener": 798, + "ser": 799, + "bject": 800, + "essage": 801, + "fer": 802, + "Ġmore": 803, + "ations": 804, + "ents": 805, + "Ġhis": 806, + "Ġthey": 807, + ".S": 808, + "ĠY": 809, + "use": 810, + "ne": 811, + "ish": 812, + "old": 813, + "_d": 814, + "io": 815, + "ield": 816, + "Ġper": 817, + "Cont": 818, + "ings": 819, + "####": 820, + "Ġdata": 821, + "Ġsa": 822, + "ef": 823, + "fo": 824, + "Ġone": 825, + "eng": 826, + "Ġdis": 827, + "AT": 828, + "Ġname": 829, + "Ġtrue": 830, + "val": 831, + "led": 832, + ".f": 833, + "Ġne": 834, + "Ġend": 835, + ".T": 836, + "cre": 837, + "ark": 838, + "log": 839, + "Ex": 840, + "error": 841, + "_id": 842, + "urre": 843, + "ange": 844, + "Ġnull": 845, + "rray": 846, + "Ġmy": 847, + "pan": 848, + "ict": 849, + "ator": 850, + "View": 851, + "List": 852, + "ĉreturn": 853, + "âĢĿ": 854, + "Ġpre": 855, + "Ġx": 856, + "clude": 857, + "arg": 858, + "ov": 859, + ".h": 860, + "Ġ>": 861, + "Ġtheir": 862, + "')": 863, + "irst": 864, + "ick": 865, + "gh": 866, + "LE": 867, + "OR": 868, + "Ġprivate": 869, + "tem": 870, + "čĊčĊ": 871, + "user": 872, + "Ġ)": 873, + "com": 874, + ".A": 875, + "\";Ċ": 876, + "Ġid": 877, + "read": 878, + "Ġwho": 879, + "_b": 880, + "\">Ċ": 881, + "Ġtime": 882, + "Ġman": 883, + "ry": 884, + "========": 885, + "roup": 886, + "rop": 887, + "public": 888, + "vel": 889, + "umber": 890, + "ble": 891, + "Ġwhich": 892, + "****************": 893, + "Ġany": 894, + "Ġfalse": 895, + "we": 896, + "Ġvalue": 897, + "Ġli": 898, + "\")": 899, + "nder": 900, + "gr": 901, + "Ġno": 902, + "param": 903, + "fig": 904, + ".com": 905, + "Ġapp": 906, + "_l": 907, + "ions": 908, + ".D": 909, + "ĠCh": 910, + "Ġabout": 911, + "Ġadd": 912, + "Ġsu": 913, + "Ġstring": 914, + "ID": 915, + "Ġover": 916, + "string": 917, + ".l": 918, + "ource": 919, + "_C": 920, + "]Ċ": 921, + "Ġqu": 922, + "ĠString": 923, + "ca": 924, + "SE": 925, + "Ġro": 926, + "sh": 927, + "ual": 928, + "Type": 929, + "son": 930, + "new": 931, + "ern": 932, + "Ġag": 933, + "AR": 934, + "];Ċ": 935, + "].": 936, + "Ġ?": 937, + "ical": 938, + "Ġdes": 939, + "uth": 940, + "ix": 941, + "ays": 942, + "Ġtype": 943, + "'t": 944, + "ault": 945, + "Ġinter": 946, + "var": 947, + ".b": 948, + "Ġpart": 949, + ".d": 950, + "urrent": 951, + "IT": 952, + "EN": 953, + "enc": 954, + "(f": 955, + "ra": 956, + "value": 957, + "cho": 958, + "utton": 959, + "ose": 960, + "Ġ!=": 961, + "ater": 962, + "é": 963, + "reate": 964, + "oll": 965, + "pos": 966, + "yle": 967, + "ng": 968, + "AL": 969, + "using": 970, + "ames": 971, + "Ġ{čĊ": 972, + "ates": 973, + "ely": 974, + "Ġwork": 975, + "Ġem": 976, + "inal": 977, + "Ġsp": 978, + "Ġwhen": 979, + ".set": 980, + "ĠĠĠĠĠĠ": 981, + "):Ċ": 982, + "to": 983, + "quire": 984, + "indow": 985, + "lement": 986, + "pect": 987, + "ash": 988, + "[i": 989, + "Ġuse": 990, + ".F": 991, + "pec": 992, + "Ġad": 993, + "ove": 994, + "ception": 995, + "ength": 996, + "include": 997, + "ader": 998, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 999, + "atus": 1000, + "Th": 1001, + "itle": 1002, + "rit": 1003, + "void": 1004, + "().": 1005, + "(Ċ": 1006, + "Ġoff": 1007, + "Ġother": 1008, + "Ġ&&": 1009, + "';Ċ": 1010, + "ms": 1011, + "Ġbeen": 1012, + "Ġte": 1013, + "ml": 1014, + "co": 1015, + "nc": 1016, + "ervice": 1017, + "Ġ%": 1018, + "**Ċ": 1019, + "ann": 1020, + "ade": 1021, + "ĊĊĊĊ": 1022, + "lock": 1023, + "const": 1024, + "ponse": 1025, + "Ġsup": 1026, + "++": 1027, + "date": 1028, + "Ġacc": 1029, + "Ġhad": 1030, + "Ġbu": 1031, + "ĠRe": 1032, + "Ġwere": 1033, + "Ġfile": 1034, + "Ġwould": 1035, + "ĠâĢľ": 1036, + "ven": 1037, + "iss": 1038, + "Ġour": 1039, + "class": 1040, + "raw": 1041, + "Ġyear": 1042, + "Data": 1043, + "Ġval": 1044, + "Ġsome": 1045, + "fter": 1046, + "ys": 1047, + "Ġ///": 1048, + "round": 1049, + "view": 1050, + "Ġpe": 1051, + "Ġthere": 1052, + "Ġsaid": 1053, + "du": 1054, + "of": 1055, + "line": 1056, + "/*": 1057, + "duct": 1058, + "Ġher": 1059, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ": 1060, + "Res": 1061, + "Ġco": 1062, + "Ġcomm": 1063, + "ise": 1064, + "min": 1065, + "ĠĠĠĠĊ": 1066, + "#include": 1067, + "ethod": 1068, + ".P": 1069, + "ute": 1070, + "Ġass": 1071, + "Int": 1072, + "ask": 1073, + "loc": 1074, + "Ġlike": 1075, + "ody": 1076, + "Ġlet": 1077, + "load": 1078, + "Ġam": 1079, + "rol": 1080, + "Ġgr": 1081, + "yp": 1082, + "Ġalso": 1083, + "ĠIt": 1084, + "url": 1085, + "ific": 1086, + "ors": 1087, + "_P": 1088, + "_n": 1089, + "igh": 1090, + "Ġthan": 1091, + "Com": 1092, + "AN": 1093, + "UL": 1094, + "ating": 1095, + "ĠThis": 1096, + "ref": 1097, + "_S": 1098, + "Ġstatic": 1099, + "roll": 1100, + "Ġjust": 1101, + "Ġresult": 1102, + "ian": 1103, + "idth": 1104, + "Ġthem": 1105, + "));Ċ": 1106, + "der": 1107, + "reak": 1108, + "Con": 1109, + "://": 1110, + "ule": 1111, + "...": 1112, + "arch": 1113, + "ement": 1114, + "Ġ<<": 1115, + "ush": 1116, + "ense": 1117, + "arr": 1118, + "Ġinto": 1119, + "cess": 1120, + "amp": 1121, + "ied": 1122, + "ument": 1123, + "Ġ\\": 1124, + "],": 1125, + "wo": 1126, + "als": 1127, + "Ġwhat": 1128, + "anc": 1129, + "Value": 1130, + "='": 1131, + "olum": 1132, + "Ġpos": 1133, + "ages": 1134, + "ayer": 1135, + "Ġsc": 1136, + "ues": 1137, + "\")Ċ": 1138, + "_T": 1139, + "Ġlist": 1140, + "(s": 1141, + "Ġcase": 1142, + "Ch": 1143, + "ĉĉĉĉĉ": 1144, + "////////": 1145, + "ponent": 1146, + "Ġz": 1147, + "Ġkn": 1148, + "let": 1149, + "DE": 1150, + "red": 1151, + "Ġfe": 1152, + "Ġ},Ċ": 1153, + "Ġ,": 1154, + "(t": 1155, + "Ġfirst": 1156, + "');Ċ": 1157, + "word": 1158, + "Ġimport": 1159, + "Ġact": 1160, + "Ġchar": 1161, + "CT": 1162, + "ĠTr": 1163, + "ople": 1164, + "={": 1165, + "ĉf": 1166, + "ient": 1167, + "cent": 1168, + ".j": 1169, + "lection": 1170, + "))Ċ": 1171, + "Ġonly": 1172, + "Ġprint": 1173, + "mer": 1174, + ".W": 1175, + "ock": 1176, + "Ġ--": 1177, + "Text": 1178, + "Ġop": 1179, + "ank": 1180, + "Ġits": 1181, + "Ġback": 1182, + "[\"": 1183, + "Ġneed": 1184, + "Ġcl": 1185, + "Ġsub": 1186, + "Ġla": 1187, + "((": 1188, + ".\"": 1189, + "Object": 1190, + "Ġstart": 1191, + "file": 1192, + "(self": 1193, + "ner": 1194, + "ey": 1195, + "Ġuser": 1196, + "Ġent": 1197, + "ĠCom": 1198, + "its": 1199, + "ĠCon": 1200, + "ouble": 1201, + "ower": 1202, + "item": 1203, + "very": 1204, + "ĠWe": 1205, + "lick": 1206, + "ĠQ": 1207, + "php": 1208, + "ttp": 1209, + "':": 1210, + "ics": 1211, + "Ġunder": 1212, + "Ġ*Ċ": 1213, + ".L": 1214, + ");": 1215, + "ices": 1216, + "Ġreg": 1217, + ")čĊ": 1218, + "ĉpublic": 1219, + "SS": 1220, + "Ġthen": 1221, + "reat": 1222, + "ious": 1223, + ".G": 1224, + "ek": 1225, + "irect": 1226, + "heck": 1227, + "cript": 1228, + "ning": 1229, + "ĠUn": 1230, + "Ġmay": 1231, + "ĠWh": 1232, + "Bo": 1233, + "Item": 1234, + "struct": 1235, + ".st": 1236, + "ream": 1237, + "ible": 1238, + "loat": 1239, + "Ġorg": 1240, + "und": 1241, + "sum": 1242, + "_in": 1243, + "../": 1244, + "_M": 1245, + "Ġhow": 1246, + "rite": 1247, + "'Ċ": 1248, + "To": 1249, + "ww": 1250, + "Ġpeople": 1251, + "index": 1252, + ".n": 1253, + "http": 1254, + "(m": 1255, + "ector": 1256, + "Ġind": 1257, + "Ġjav": 1258, + "],Ċ": 1259, + "ĠHe": 1260, + "_st": 1261, + "ful": 1262, + "ole": 1263, + "){Ċ": 1264, + "Ġshould": 1265, + "opy": 1266, + "elp": 1267, + "ier": 1268, + "_name": 1269, + "erson": 1270, + "ION": 1271, + "ote": 1272, + "Ġtest": 1273, + "Ġbet": 1274, + "rror": 1275, + "ular": 1276, + "ãĢ": 1277, + "ĠÐ": 1278, + "bs": 1279, + "ting": 1280, + "Ġmake": 1281, + "Tr": 1282, + "Ġafter": 1283, + "arget": 1284, + "RO": 1285, + "olumn": 1286, + "rc": 1287, + "_re": 1288, + "define": 1289, + "Ġright": 1290, + "right": 1291, + "day": 1292, + "Ġlong": 1293, + "[]": 1294, + "(p": 1295, + "td": 1296, + "cond": 1297, + "ĠPro": 1298, + "Ġrem": 1299, + "ptions": 1300, + "vid": 1301, + ".g": 1302, + "Ġext": 1303, + "Ġ__": 1304, + "')Ċ": 1305, + "pace": 1306, + "mp": 1307, + "Ġmin": 1308, + "stance": 1309, + "air": 1310, + "action": 1311, + "wh": 1312, + "type": 1313, + "util": 1314, + "ait": 1315, + "ĊĊ": 1339, + "Ġshe": 1340, + "\"]": 1341, + "aph": 1342, + "Ġexp": 1343, + "erty": 1344, + "ĠSe": 1345, + "Ġpar": 1346, + "unc": 1347, + "ET": 1348, + "Ġread": 1349, + "print": 1350, + "Ġrel": 1351, + "Ġform": 1352, + "Ġdr": 1353, + "Exception": 1354, + "input": 1355, + "Ġtrans": 1356, + "########": 1357, + "order": 1358, + "By": 1359, + "Ġaw": 1360, + "ities": 1361, + "uff": 1362, + "play": 1363, + ".add": 1364, + "ĠâĢĵ": 1365, + "Ġwant": 1366, + "Ġcomp": 1367, + "ments": 1368, + "Ġ||": 1369, + "az": 1370, + "be": 1371, + "Ġnumber": 1372, + "Ġrequire": 1373, + "ĠEx": 1374, + "Ġcol": 1375, + "Ġkey": 1376, + "ember": 1377, + "Ġtwo": 1378, + "Ġsize": 1379, + "Ġwhere": 1380, + "UT": 1381, + "result": 1382, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 1383, + "ough": 1384, + "orld": 1385, + "ood": 1386, + "uch": 1387, + "ative": 1388, + "ger": 1389, + "arent": 1390, + "Ġ/*": 1391, + "Ġarg": 1392, + "Ġwhile": 1393, + "(this": 1394, + "Ġrec": 1395, + "Ġdif": 1396, + "State": 1397, + "Ġspec": 1398, + "ride": 1399, + "_F": 1400, + "Ġlook": 1401, + "AM": 1402, + "ility": 1403, + "eter": 1404, + "âĢĻt": 1405, + "ĊĊĊ": 1406, + "ayout": 1407, + "--------------------------------": 1408, + "ager": 1409, + "Ġcould": 1410, + "Ġbr": 1411, + "ends": 1412, + "ures": 1413, + "Ġknow": 1414, + "ets": 1415, + "ĠIf": 1416, + "ĠSh": 1417, + ".w": 1418, + "back": 1419, + "Ġser": 1420, + "Ġ+=": 1421, + "Ġfr": 1422, + "());Ċ": 1423, + "Ġhand": 1424, + "Ind": 1425, + "ULL": 1426, + "Im": 1427, + "();ĊĊ": 1428, + "Ġmost": 1429, + "Ġtry": 1430, + "Ġnow": 1431, + "rough": 1432, + ">čĊ": 1433, + "ackage": 1434, + "Ġhim": 1435, + "._": 1436, + "ify": 1437, + "Ġbreak": 1438, + "Ġ);Ċ": 1439, + "ren": 1440, + "#define": 1441, + "itt": 1442, + "Ġap": 1443, + "ĉc": 1444, + "(n": 1445, + "ĠYou": 1446, + ":ĊĊ": 1447, + "-m": 1448, + "Ġevery": 1449, + "ustom": 1450, + "lient": 1451, + "ocument": 1452, + "cription": 1453, + "Error": 1454, + "-b": 1455, + "о": 1456, + "][": 1457, + "trans": 1458, + "Ġpoint": 1459, + "Ġstd": 1460, + "Ġfil": 1461, + "Time": 1462, + "Ġmod": 1463, + "Ġ->": 1464, + "Ġerror": 1465, + "ah": 1466, + "Ġtext": 1467, + "roller": 1468, + "lose": 1469, + "ql": 1470, + "Ġpol": 1471, + "><": 1784, + ".B": 1785, + "-c": 1786, + "Ġopen": 1787, + "Ġest": 1788, + "ĠĠĠĠĠĠĠĠĊ": 1789, + "Ġnext": 1790, + "IM": 1791, + "ÑĤ": 1792, + "OT": 1793, + "ó": 1794, + "Ġfollow": 1795, + "content": 1796, + "ĠĠĠĠĠĠĠĠĠĠĠĠ": 1797, + "Ġinclud": 1798, + "HE": 1799, + "ĠRes": 1800, + "Ġhref": 1801, + "и": 1802, + "Ġcar": 1803, + "ypes": 1804, + "image": 1805, + "Un": 1806, + "Ġbool": 1807, + "AD": 1808, + "Ġgame": 1809, + ".Form": 1810, + "rows": 1811, + "*/": 1812, + "velop": 1813, + ".Drawing": 1814, + "Ġpath": 1815, + "ision": 1816, + "Ġeach": 1817, + "ĠPl": 1818, + "_type": 1819, + "Path": 1820, + "nection": 1821, + "Ġav": 1822, + "').": 1823, + "Ġsupport": 1824, + "ENT": 1825, + "rem": 1826, + "\").": 1827, + "Ġown": 1828, + "Ġcor": 1829, + "count": 1830, + "miss": 1831, + "ually": 1832, + "Ġmem": 1833, + "std": 1834, + "ience": 1835, + "search": 1836, + "\"ĊĊ": 1837, + "Form": 1838, + "Ġsex": 1839, + "ename": 1840, + "Ġsign": 1841, + "Ġet": 1842, + "ĠĠĠĠĠĠĠĠĠĠ": 1843, + "','": 1844, + "ĠApp": 1845, + "Ġthose": 1846, + "off": 1847, + "Ġerr": 1848, + "Ġsystem": 1849, + "Ġbest": 1850, + "code": 1851, + "Ġsame": 1852, + "Ġdi": 1853, + "uss": 1854, + "Ġcreate": 1855, + "ather": 1856, + "Array": 1857, + ".in": 1858, + "fe": 1859, + "Service": 1860, + "UN": 1861, + "ats": 1862, + "ĠZ": 1863, + "alth": 1864, + "Ġmade": 1865, + "true": 1866, + "AB": 1867, + "Ġmark": 1868, + "rid": 1869, + "ified": 1870, + ",čĊ": 1871, + "yn": 1872, + "press": 1873, + "Ġgroup": 1874, + "Ġfin": 1875, + "ĠLicense": 1876, + "Field": 1877, + "eger": 1878, + "Ġworld": 1879, + "iness": 1880, + "ty": 1881, + "Ġprocess": 1882, + "(b": 1883, + "Ġcre": 1884, + "arn": 1885, + "ives": 1886, + "Ġmain": 1887, + "ideo": 1888, + "_g": 1889, + "AG": 1890, + "valid": 1891, + "img": 1892, + "PI": 1893, + "Ġcolor": 1894, + "Ġreport": 1895, + "Ġtake": 1896, + "rib": 1897, + "OM": 1898, + "Ġday": 1899, + "Request": 1900, + "Ġsk": 1901, + "bers": 1902, + "ĉs": 1903, + ".Add": 1904, + "oot": 1905, + "Image": 1906, + "Ġcomple": 1907, + "ollection": 1908, + "Ġtop": 1909, + "Ġfree": 1910, + "AS": 1911, + "De": 1912, + "ĠOn": 1913, + "IG": 1914, + "eta": 1915, + "Date": 1916, + "Ġaction": 1917, + "Over": 1918, + "itor": 1919, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 1920, + "not": 1921, + "Ġindex": 1922, + "her": 1923, + "icon": 1924, + "On": 1925, + ";čĊčĊ": 1926, + "ivity": 1927, + "mand": 1928, + ".Windows": 1929, + "OL": 1930, + "Ġreal": 1931, + "Ġmax": 1932, + "land": 1933, + "....": 1934, + "raph": 1935, + "Ġbuild": 1936, + "leg": 1937, + "assword": 1938, + "?ĊĊ": 1939, + "â̦": 1940, + "ook": 1941, + "uck": 1942, + "Ġmessage": 1943, + "test": 1944, + "ivers": 1945, + "Ġinput": 1946, + "Ġart": 1947, + "Ġbetween": 1948, + "Get": 1949, + "enter": 1950, + "ground": 1951, + "ene": 1952, + "á": 1953, + ".length": 1954, + "Node": 1955, + "(i": 1956, + "Class": 1957, + "for": 1958, + "ĠâĢĶ": 1959, + "ten": 1960, + "oin": 1961, + "Ġke": 1962, + "ui": 1963, + "ĠIN": 1964, + "Ġtable": 1965, + "sub": 1966, + "ĠLe": 1967, + "Ġhead": 1968, + "Ġmust": 1969, + "////////////////": 1970, + ".util": 1971, + "Context": 1972, + "Ġorder": 1973, + "Ġmov": 1974, + "over": 1975, + "Ġcontin": 1976, + "Ġsay": 1977, + "static": 1978, + ".Text": 1979, + "ĠclassName": 1980, + "pany": 1981, + "Ġter": 1982, + "head": 1983, + "rg": 1984, + "Ġproduct": 1985, + "This": 1986, + ".âĢĿ": 1987, + "ĠBut": 1988, + "loy": 1989, + "Ġdouble": 1990, + "sg": 1991, + "Ġplace": 1992, + ".x": 1993, + "message": 1994, + "Ġinformation": 1995, + "private": 1996, + "Ġoper": 1997, + "ced": 1998, + "db": 1999, + "\">": 2179, + "aterial": 2180, + "iled": 2181, + "Ġput": 2182, + "Qu": 2183, + "ÑĢ": 2184, + "ung": 2185, + "map": 2186, + "ĉĉĉĉĉĉĉĉ": 2187, + "Ġlevel": 2188, + "Component": 2189, + "book": 2190, + "creen": 2191, + "_RE": 2192, + "Ġconfig": 2193, + "ãģ": 2194, + "Or": 2195, + ".data": 2196, + "Ġdocument": 2197, + "\",\"": 2198, + "tribute": 2199, + "ux": 2200, + "Log": 2201, + "ference": 2202, + "post": 2203, + "_e": 2204, + "Ġlocal": 2205, + "andom": 2206, + "assert": 2207, + "Val": 2208, + "lected": 2209, + "ina": 2210, + "atabase": 2211, + "Add": 2212, + "Ġcontent": 2213, + ".print": 2214, + "signed": 2215, + "ric": 2216, + ".\"ĊĊ": 2217, + "Ġfa": 2218, + "!ĊĊ": 2219, + "-f": 2220, + "ived": 2221, + "Ġquest": 2222, + ".ex": 2223, + "Ġfloat": 2224, + "Ġdevelop": 2225, + "оÐ": 2226, + "Map": 2227, + "ading": 2228, + "Ġposs": 2229, + "UE": 2230, + "namespace": 2231, + "_O": 2232, + "ĉb": 2233, + ".Get": 2234, + ">(": 2235, + "json": 2236, + "etails": 2237, + "Ġtoo": 2238, + "Ġextends": 2239, + "ĠNone": 2240, + "Ġfore": 2241, + "(String": 2242, + "format": 2243, + "Ġgreat": 2244, + "inter": 2245, + "cale": 2246, + "Ñģ": 2247, + "ron": 2248, + "iving": 2249, + "Ent": 2250, + "ency": 2251, + "xt": 2252, + "oy": 2253, + "Ġmonth": 2254, + "Ġhapp": 2255, + "Ġsuper": 2256, + "bar": 2257, + "default": 2258, + "_de": 2259, + "ords": 2260, + "ln": 2261, + "({Ċ": 2262, + "ĠInd": 2263, + "ases": 2264, + "Ġtitle": 2265, + "Ġcontext": 2266, + "oh": 2267, + "-p": 2268, + "Em": 2269, + "Ġmet": 2270, + "Test": 2271, + "Ġlife": 2272, + "_v": 2273, + "ĠUS": 2274, + "UI": 2275, + "ocation": 2276, + "md": 2277, + "Ġ[Ċ": 2278, + "Ġ]": 2279, + "sw": 2280, + "Ġincre": 2281, + "script": 2282, + "ential": 2283, + "ways": 2284, + ".de": 2285, + "Ġsrc": 2286, + "Ġcatch": 2287, + "ĠAmeric": 2288, + "//Ċ": 2289, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 2290, + "Ġpay": 2291, + "plit": 2292, + "âĢĶ": 2293, + "Ġcoun": 2294, + "obj": 2295, + ".php": 2296, + "Ġchange": 2297, + "ething": 2298, + "'re": 2299, + "aster": 2300, + "los": 2301, + "lation": 2302, + "ĠĠĊ": 2303, + "Le": 2304, + "ä": 2305, + "({": 2306, + "ready": 2307, + "ĠNo": 2308, + "Ġposition": 2309, + "Ġold": 2310, + "Ġbook": 2311, + "abled": 2312, + "bug": 2313, + "Hand": 2314, + "};ĊĊ": 2315, + "isplay": 2316, + "aving": 2317, + "Ġgover": 2318, + "Ġversion": 2319, + "System": 2320, + "nect": 2321, + "response": 2322, + "Style": 2323, + "Up": 2324, + "angu": 2325, + "Ġthree": 2326, + "init": 2327, + "ero": 2328, + "Ġlaw": 2329, + "endif": 2330, + "Ġbase": 2331, + "email": 2332, + "(l": 2333, + "_V": 2334, + "Ġconf": 2335, + "ATE": 2336, + "Ġduring": 2337, + "tes": 2338, + "Ġconsole": 2339, + "ĠPr": 2340, + "Ġspe": 2341, + "ves": 2342, + "path": 2343, + "ialog": 2344, + "dition": 2345, + "_to": 2346, + "ards": 2347, + "Ġagainst": 2348, + "etwork": 2349, + "ĠPh": 2350, + "_L": 2351, + "cur": 2352, + "imit": 2353, + "With": 2354, + "Ġpower": 2355, + "ium": 2356, + "';ĊĊ": 2357, + "Ġwom": 2358, + "left": 2359, + "ources": 2360, + "atri": 2361, + "ĠIm": 2362, + "ĠMan": 2363, + "orth": 2364, + "${": 2365, + "quals": 2366, + "ese": 2367, + "_size": 2368, + "Ġiss": 2369, + "otal": 2370, + "-g": 2371, + "ique": 2372, + "rame": 2373, + "Ġwidth": 2374, + "erg": 2375, + ")(": 2376, + "ittle": 2377, + "TR": 2378, + "ĠThey": 2379, + "ences": 2380, + "rl": 2381, + "ons": 2382, + "Ġlabel": 2383, + ".y": 2384, + "-t": 2385, + "update": 2386, + "anel": 2387, + "sc": 2388, + ".to": 2389, + "Ġproject": 2390, + "ü": 2391, + "Ġelement": 2392, + "Ġsuccess": 2393, + "ĉĉĊ": 2394, + ".sh": 2395, + "ram": 2396, + "ched": 2397, + "())Ċ": 2398, + "Ġ(Ċ": 2399, + "Ġdate": 2400, + "Ġtot": 2401, + "_ST": 2402, + "All": 2403, + "ification": 2404, + "ĉvar": 2405, + "Ġtri": 2406, + "chem": 2407, + "my": 2408, + "Ġbig": 2409, + "ĠAd": 2410, + "ĠAt": 2411, + "ots": 2412, + "num": 2413, + "Act": 2414, + "Ġmap": 2415, + "era": 2416, + "cope": 2417, + ".$": 2418, + ",âĢĿ": 2419, + "Ġpop": 2420, + "Ġfew": 2421, + "Ġlen": 2422, + "uid": 2423, + "eters": 2424, + "ules": 2425, + "ÃŃ": 2426, + "source": 2427, + "https": 2428, + "Ġdem": 2429, + "Ġear": 2430, + "################": 2431, + "Ġmatch": 2432, + "ories": 2433, + "aces": 2434, + "ĠCl": 2435, + "Ġnode": 2436, + "irc": 2437, + "local": 2438, + "unity": 2439, + "};Ċ": 2440, + "Ġanother": 2441, + "<<": 2442, + "ogle": 2443, + "Ġsit": 2444, + "ework": 2445, + "TE": 2446, + ".I": 2447, + "NS": 2448, + "ology": 2449, + "ought": 2450, + ".Cont": 2451, + ">>": 2452, + "Ġcare": 2453, + "state": 2454, + "ĉprivate": 2455, + "Ġeffect": 2456, + "++)": 2457, + "_file": 2458, + "ending": 2459, + "Line": 2460, + "For": 2461, + "ior": 2462, + "ĠSc": 2463, + "Ġfun": 2464, + ".Size": 2465, + "ĉelse": 2466, + "])": 2467, + "start": 2468, + "vious": 2469, + "Ġ},": 2470, + "ours": 2471, + "Ġleg": 2472, + "Ġservice": 2473, + "Ġsince": 2474, + "iron": 2475, + "Label": 2476, + "Ġnon": 2477, + "Ġlos": 2478, + "iction": 2479, + "Ġfull": 2480, + "acter": 2481, + "board": 2482, + "gress": 2483, + "Ġturn": 2484, + "ither": 2485, + ".size": 2486, + "Ġbody": 2487, + "resh": 2488, + "eturn": 2489, + "(_": 2490, + "yles": 2491, + "ormal": 2492, + "pi": 2493, + "Ġsomething": 2494, + "!--": 2495, + "uint": 2496, + "Ġprodu": 2497, + "Ġstand": 2498, + "Ġproble": 2499, + "Ġavailable": 2500, + "mt": 2501, + "ĠBl": 2502, + "Ġ...": 2503, + "Ġblock": 2504, + "Input": 2505, + "Ġkeep": 2506, + "Count": 2507, + "open": 2508, + "Ġ['": 2509, + "Ġthrow": 2510, + "uilder": 2511, + "Action": 2512, + "Ġthings": 2513, + "True": 2514, + "Ġurl": 2515, + "ĠBo": 2516, + "printf": 2517, + "Ġred": 2518, + "js": 2519, + ".create": 2520, + "ĠOr": 2521, + "Status": 2522, + "Instance": 2523, + "Ġcontrol": 2524, + "Ġcome": 2525, + "Ġcustom": 2526, + "location": 2527, + "model": 2528, + "ĠčĊ": 2529, + "Ġsource": 2530, + "Ġeas": 2531, + ".out": 2532, + "]ĊĊ": 2533, + "oney": 2534, + "Ġawait": 2535, + "Ġpartic": 2536, + "AP": 2537, + "ublish": 2538, + "odes": 2539, + "_pro": 2540, + "ply": 2541, + "riter": 2542, + "Ġprov": 2543, + "Ġmill": 2544, + "HT": 2545, + "])Ċ": 2546, + "Ġchang": 2547, + "Ġask": 2548, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 2549, + "Ġoutput": 2550, + "Ġemail": 2551, + ".push": 2552, + "Ġ}čĊčĊ": 2553, + "ination": 2554, + "atrix": 2555, + "Table": 2556, + "uccess": 2557, + "]);Ċ": 2558, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 2559, + "Ġdisc": 2560, + "([": 2561, + "Ġbusiness": 2562, + "height": 2563, + ".html": 2564, + "ta": 2565, + "field": 2566, + "Ġrequired": 2567, + "_R": 2568, + "Ġgovern": 2569, + "}čĊčĊ": 2570, + "lex": 2571, + ".,": 2572, + "ĠSet": 2573, + "urch": 2574, + "///": 2575, + "ts": 2576, + "af": 2577, + "Ġmight": 2578, + "istory": 2579, + "Str": 2580, + "Ġnever": 2581, + "Response": 2582, + "arse": 2583, + "ada": 2584, + "ĠHow": 2585, + "Ġ*)": 2586, + "Ġ;": 2587, + "Ġhard": 2588, + "Ad": 2589, + "Ġintern": 2590, + "used": 2591, + "(data": 2592, + "mod": 2593, + "annel": 2594, + "Ġnp": 2595, + "ugg": 2596, + "Ġ/>Ċ": 2597, + "Ġcalled": 2598, + "body": 2599, + "Ġcho": 2600, + "(r": 2601, + "_set": 2602, + "ird": 2603, + "Ġ>=": 2604, + "Ġ};Ċ": 2605, + "Ġoptions": 2606, + "ĠGener": 2607, + "Ġheight": 2608, + "Point": 2609, + "You": 2610, + "ety": 2611, + "Click": 2612, + "Ġsmall": 2613, + "Ġide": 2614, + "Ġaccess": 2615, + "anguage": 2616, + "Ġprotected": 2617, + "Ġjob": 2618, + "ĠThere": 2619, + "Def": 2620, + "Ġaddress": 2621, + "Ġuint": 2622, + "Not": 2623, + "oo": 2624, + "aps": 2625, + "": 2759, + "ĉĠĠĠ": 2760, + "\"))": 2761, + "Content": 2762, + "_W": 2763, + "plement": 2764, + "Ġwon": 2765, + "Ġvideo": 2766, + "adi": 2767, + "point": 2768, + "%%": 2769, + "Ġgl": 2770, + "erved": 2771, + "viron": 2772, + "IF": 2773, + "uted": 2774, + "ãĥ": 2775, + "'m": 2776, + "Ġcert": 2777, + "Ġprof": 2778, + "Ġcell": 2779, + "ari": 2780, + "Ġplayer": 2781, + "ais": 2782, + "Ġcost": 2783, + "Ġhum": 2784, + "(R": 2785, + "Ġoffic": 2786, + "ks": 2787, + ".text": 2788, + "atures": 2789, + "Ġtotal": 2790, + "Ġ*/ĊĊ": 2791, + "ope": 2792, + "Ġstat": 2793, + "UM": 2794, + "Ġload": 2795, + "ights": 2796, + "Ġclear": 2797, + "uro": 2798, + "Ġtechn": 2799, + "upport": 2800, + "IR": 2801, + "Ġrow": 2802, + "Ġseem": 2803, + "Ġq": 2804, + "Ġshort": 2805, + "ĠNot": 2806, + "ipp": 2807, + "Group": 2808, + "section": 2809, + "max": 2810, + "irl": 2811, + "Ġoverride": 2812, + "Ġcompany": 2813, + "Ġdone": 2814, + "\");čĊ": 2815, + "Ġgre": 2816, + ".Re": 2817, + "Ġbelie": 2818, + "rist": 2819, + "Ġhealth": 2820, + "ANT": 2821, + "()ĊĊ": 2822, + "ĠBe": 2823, + ".value": 2824, + "ĠGr": 2825, + "ottom": 2826, + "Ġargs": 2827, + "PT": 2828, + "status": 2829, + "func": 2830, + "uments": 2831, + "-h": 2832, + "Number": 2833, + ":čĊ": 2834, + "ĠLog": 2835, + "erver": 2836, + "Ġ),Ċ": 2837, + "ament": 2838, + "Ġobj": 2839, + "inc": 2840, + "Ġchildren": 2841, + "icy": 2842, + "IZ": 2843, + "ands": 2844, + "ably": 2845, + "Ġdistrib": 2846, + "Ġcur": 2847, + "erial": 2848, + "Ġdays": 2849, + "reated": 2850, + "rect": 2851, + "-l": 2852, + "irm": 2853, + "idden": 2854, + "omb": 2855, + "Ġinitial": 2856, + ".js": 2857, + "Ġâ": 2858, + "Query": 2859, + "Ġonline": 2860, + "imal": 2861, + ".con": 2862, + "au": 2863, + "Url": 2864, + "control": 2865, + "irection": 2866, + "Ġinstance": 2867, + "ORT": 2868, + "ĠFr": 2869, + "where": 2870, + "Ġjavax": 2871, + "Ġorgan": 2872, + "apter": 2873, + "Ġreason": 2874, + "options": 2875, + "ĠMar": 2876, + "(a": 2877, + "Ġwithin": 2878, + ".âĢĿĊĊ": 2879, + "ODE": 2880, + "_DE": 2881, + "admin": 2882, + "ended": 2883, + "Ġdesign": 2884, + "ĠData": 2885, + "une": 2886, + "ĠFile": 2887, + "root": 2888, + "Ġcent": 2889, + "Ġarr": 2890, + "_add": 2891, + "len": 2892, + "page": 2893, + ",'": 2894, + "_str": 2895, + "Ġbro": 2896, + "ability": 2897, + "outh": 2898, + "/c": 2899, + "pose": 2900, + "irtual": 2901, + "earch": 2902, + "_url": 2903, + "argin": 2904, + "Http": 2905, + "Ġschool": 2906, + "ava": 2907, + "Ġconsider": 2908, + ".label": 2909, + "ĠArray": 2910, + "web": 2911, + "opt": 2912, + ".println": 2913, + "ulation": 2914, + "Ġfunc": 2915, + "PL": 2916, + "Ġ\"\\": 2917, + "ĠText": 2918, + "actory": 2919, + "(function": 2920, + "null": 2921, + "Ġeng": 2922, + "down": 2923, + "Ġinclude": 2924, + "ĠEn": 2925, + "ĠDr": 2926, + "Ġdb": 2927, + "!!": 2928, + "side": 2929, + "Ġinit": 2930, + "quired": 2931, + "ĠShe": 2932, + "Column": 2933, + "react": 2934, + "Ġann": 2935, + "Ġstop": 2936, + "Ġlater": 2937, + "ĠThat": 2938, + "ention": 2939, + "df": 2940, + "UG": 2941, + "ILE": 2942, + "Ġclient": 2943, + "raft": 2944, + "ffer": 2945, + "POST": 2946, + "elper": 2947, + "Ġlove": 2948, + "quote": 2949, + "oud": 2950, + "Ġjson": 2951, + "Ġable": 2952, + "Ġmen": 2953, + "AX": 2954, + "ĠCopyright": 2955, + "ö": 2956, + "avig": 2957, + "req": 2958, + "Client": 2959, + "});Ċ": 2960, + ".Com": 2961, + "erc": 2962, + "ilt": 2963, + "pecial": 2964, + "_com": 2965, + "room": 2966, + ".Name": 2967, + "Ġgive": 2968, + "amb": 2969, + "ike": 2970, + "Ġcondition": 2971, + "client": 2972, + "ators": 2973, + ":\"": 2974, + "Ġcopy": 2975, + "uture": 2976, + "iversity": 2977, + "ernal": 2978, + "{{": 2979, + "ĠCan": 2980, + "ounc": 2981, + "do": 2982, + "Ġocc": 2983, + "Ġappro": 2984, + "thers": 2985, + "ze": 2986, + "Ġeither": 2987, + "ĠFl": 2988, + "Ġimportant": 2989, + "Ġlead": 2990, + "attr": 2991, + "ART": 2992, + "Equal": 2993, + "Ġda": 2994, + "etch": 2995, + "entity": 2996, + "Ġfamily": 2997, + "adding": 2998, + "Ġoption": 2999, + "Ġexist": 3000, + "ica": 3001, + "ĠObject": 3002, + "'ve": 3003, + "vers": 3004, + "itional": 3005, + "output": 3006, + "ĠTrue": 3007, + "ĠOF": 3008, + "_time": 3009, + "Ġoffer": 3010, + "Ġ});ĊĊ": 3011, + "HER": 3012, + "egin": 3013, + "\"\"": 3014, + "Ġwater": 3015, + "Ġche": 3016, + "ĠMy": 3017, + "ored": 3018, + "Ġstep": 3019, + "ances": 3020, + "CK": 3021, + "AY": 3022, + "à¸": 3023, + "struction": 3024, + "(C": 3025, + "ouch": 3026, + "Stream": 3027, + "active": 3028, + "ama": 3029, + "Entity": 3030, + "product": 3031, + "(){Ċ": 3032, + "Ġgovernment": 3033, + "ĠID": 3034, + "ajor": 3035, + "And": 3036, + "Ġdisplay": 3037, + "л": 3038, + "Ġtimes": 3039, + "Ġfour": 3040, + "Ġfar": 3041, + "Ġpresent": 3042, + "ĠNS": 3043, + "Ġ\\Ċ": 3044, + "uest": 3045, + "Ġbas": 3046, + "echo": 3047, + "child": 3048, + "ifier": 3049, + "Handler": 3050, + "Ġlib": 3051, + "Property": 3052, + "translation": 3053, + "Ġroom": 3054, + "Ġonce": 3055, + "Ġ[]": 3056, + "center": 3057, + "================================": 3058, + "Ġresults": 3059, + "Ġcontinue": 3060, + "Ġtalk": 3061, + "_get": 3062, + "Ġgrow": 3063, + ".sw": 3064, + "eb": 3065, + "ĠPublic": 3066, + "OP": 3067, + "ecute": 3068, + "ols": 3069, + "Ġ**": 3070, + "\");ĊĊ": 3071, + "Ġmass": 3072, + "ured": 3073, + ".class": 3074, + "omic": 3075, + "Ġmean": 3076, + "ips": 3077, + "Ġaut": 3078, + ");čĊčĊ": 3079, + "Ġuntil": 3080, + "Ġmarket": 3081, + "Ġarea": 3082, + "uit": 3083, + "Ġlength": 3084, + "ĠWith": 3085, + "structor": 3086, + "event": 3087, + "\"><": 3088, + "ĠSp": 3089, + "IV": 3090, + "Ġmus": 3091, + "iff": 3092, + "Ġkind": 3093, + "author": 3094, + "ounds": 3095, + "mb": 3096, + "_key": 3097, + "width": 3098, + "pository": 3099, + "Ġlight": 3100, + "uk": 3101, + "Row": 3102, + "ohn": 3103, + "alf": 3104, + "vironment": 3105, + "apper": 3106, + "ollections": 3107, + "Ġside": 3108, + "_info": 3109, + "Ġexample": 3110, + "imary": 3111, + "Ġwr": 3112, + "Ġcamp": 3113, + "cribe": 3114, + "\"/": 3115, + "Ġmiss": 3116, + "way": 3117, + "Ġbased": 3118, + "Ġplan": 3119, + "Vis": 3120, + "omain": 3121, + "unk": 3122, + "Ġaway": 3123, + "UP": 3124, + "": 3370, + "Ġden": 3371, + "obile": 3372, + "change": 3373, + "ĠĠĠĠĠĠĠĠĠĠĠĠĊ": 3374, + "ici": 3375, + "na": 3376, + "ĠForm": 3377, + "Ġsort": 3378, + "Select": 3379, + "pare": 3380, + "Ġthought": 3381, + "_con": 3382, + "Ġtask": 3383, + "ocus": 3384, + "ĠDE": 3385, + "ĠMin": 3386, + "Ġopt": 3387, + "ĉbreak": 3388, + "umer": 3389, + "KE": 3390, + "then": 3391, + "Ġdet": 3392, + "ĠTest": 3393, + "ports": 3394, + "Ġreview": 3395, + "('/": 3396, + "move": 3397, + "Ġswitch": 3398, + "ERT": 3399, + "patch": 3400, + "annot": 3401, + "ãĤ": 3402, + "Ġabove": 3403, + "itive": 3404, + "Ġquestion": 3405, + "ĠQu": 3406, + "ãĢĤĊĊ": 3407, + "gle": 3408, + "Ġword": 3409, + "Ġprovide": 3410, + "ĠReturn": 3411, + "Ġresearch": 3412, + "ão": 3413, + "ustr": 3414, + "Ġpublish": 3415, + "chema": 3416, + "}}": 3417, + "ĠCON": 3418, + "-in": 3419, + "allback": 3420, + "Ġcover": 3421, + "\\\\": 3422, + "color": 3423, + "ĠIS": 3424, + "Ġwhether": 3425, + "imate": 3426, + "isc": 3427, + "Bar": 3428, + "Ġdiv": 3429, + "Be": 3430, + "ourn": 3431, + "Ġhaving": 3432, + "lem": 3433, + "player": 3434, + "abs": 3435, + "amera": 3436, + "ney": 3437, + "Ġexc": 3438, + "gether": 3439, + "plied": 3440, + "ao": 3441, + "[$": 3442, + "Ġ++": 3443, + "ipe": 3444, + "show": 3445, + "/d": 3446, + "[:": 3447, + "agement": 3448, + "lev": 3449, + "_ID": 3450, + "rary": 3451, + "ades": 3452, + "_se": 3453, + "ause": 3454, + "Ġemploy": 3455, + "Ġ*/čĊ": 3456, + "Ġfre": 3457, + "Ġ'@": 3458, + "Ġcomplet": 3459, + "Ġlarge": 3460, + "ral": 3461, + "\\x": 3462, + "Ġfac": 3463, + ">": 3578, + "Ġface": 3579, + "CTION": 3580, + "Ġsave": 3581, + "Ġtyp": 3582, + "dev": 3583, + "(\"#": 3584, + "AGE": 3585, + "container": 3586, + "edit": 3587, + "QL": 3588, + "Ġitems": 3589, + "Ġsocial": 3590, + "ien": 3591, + "ĠReact": 3592, + ").ĊĊ": 3593, + "Ġmar": 3594, + "Ġredu": 3595, + "ĠRE": 3596, + ".put": 3597, + "Ġmajor": 3598, + "Cell": 3599, + "next": 3600, + "Ġexpected": 3601, + "Ġyet": 3602, + "Ġindiv": 3603, + "tributes": 3604, + "atis": 3605, + "amed": 3606, + "Ġfood": 3607, + "Source": 3608, + "(string": 3609, + "Ġ+Ċ": 3610, + "ites": 3611, + "dr": 3612, + "Ġmembers": 3613, + "Ġcomb": 3614, + "items": 3615, + "ĠPer": 3616, + "TH": 3617, + "=True": 3618, + "Ġbar": 3619, + "_SE": 3620, + "comm": 3621, + "(w": 3622, + ")ĊĊĊ": 3623, + "Ġsend": 3624, + "Ġinc": 3625, + "unsigned": 3626, + "FA": 3627, + "Ġparams": 3628, + "apping": 3629, + "ros": 3630, + "ugin": 3631, + "fa": 3632, + "Ġconnection": 3633, + "Ġ};ĊĊ": 3634, + "Ġbecome": 3635, + "Mode": 3636, + "Ġev": 3637, + "Ġdiff": 3638, + "ĠUnited": 3639, + "Height": 3640, + "fully": 3641, + "images": 3642, + "Ġmakes": 3643, + "Ġglobal": 3644, + "Ġcontact": 3645, + "':Ċ": 3646, + "Ġabs": 3647, + "аÐ": 3648, + "float": 3649, + "Ġexcept": 3650, + "ĠPol": 3651, + "Child": 3652, + "typ": 3653, + "Ġcertain": 3654, + "ión": 3655, + "OUT": 3656, + "Ġimpro": 3657, + "iles": 3658, + "Ġ-->Ċ": 3659, + "ĠPart": 3660, + "values": 3661, + "oss": 3662, + "/**": 3663, + "ilit": 3664, + "ĠEvent": 3665, + "curity": 3666, + "ster": 3667, + "Ġcharacter": 3668, + "Ġnews": 3669, + "Ġ\",": 3670, + "Ġdevice": 3671, + "cel": 3672, + "login": 3673, + "heet": 3674, + "Default": 3675, + "@\"": 3676, + "ĉĠ": 3677, + "click": 3678, + "(value": 3679, + "ĠAb": 3680, + "Ġprevious": 3681, + "ERROR": 3682, + "ocal": 3683, + "Ġmaterial": 3684, + "Ġbelow": 3685, + "ĠChrist": 3686, + "Ġmedia": 3687, + "cover": 3688, + "ĠUI": 3689, + "Ġfail": 3690, + "Ġblack": 3691, + "Ġcomponent": 3692, + "ĠAmerican": 3693, + "Ġadded": 3694, + "Ġbuy": 3695, + "stit": 3696, + "Ġcame": 3697, + "Ġdelete": 3698, + "property": 3699, + "oding": 3700, + "Ġcard": 3701, + "rops": 3702, + "Ġhttps": 3703, + "Ġroot": 3704, + "Ġhandle": 3705, + "CC": 3706, + "Back": 3707, + "emplate": 3708, + "Ġgetting": 3709, + "_by": 3710, + "mail": 3711, + "_sh": 3712, + ".assert": 3713, + "ĠDec": 3714, + "(true": 3715, + "Ġcomput": 3716, + "Ġclaim": 3717, + "'=>": 3718, + "ĠSub": 3719, + "Ġair": 3720, + "ops": 3721, + "nav": 3722, + "ements": 3723, + "(id": 3724, + "Ġenter": 3725, + "anged": 3726, + "End": 3727, + "Ġlocation": 3728, + "Ġnight": 3729, + "Ġdoing": 3730, + "ĠRed": 3731, + "lin": 3732, + "}ĊĊĊ": 3733, + "vider": 3734, + "Ġpick": 3735, + "Ġwatch": 3736, + "essages": 3737, + "Ġhuman": 3738, + "Ġdam": 3739, + "pend": 3740, + "dir": 3741, + "Ġtax": 3742, + "Ġgirl": 3743, + "reet": 3744, + "Ġbox": 3745, + "Ġstrong": 3746, + "(v": 3747, + "rel": 3748, + "Ġinterface": 3749, + "Ġmsg": 3750, + "fect": 3751, + "_at": 3752, + "Ġhouse": 3753, + "Ġtrack": 3754, + "');ĊĊ": 3755, + "je": 3756, + "ĠJohn": 3757, + "istr": 3758, + "(S": 3759, + "ube": 3760, + "Ġce": 3761, + "itted": 3762, + "VER": 3763, + "*)": 3764, + "parent": 3765, + "Ġapplication": 3766, + "any": 3767, + ".swing": 3768, + "Ġpack": 3769, + "\\u": 3770, + "Ġpract": 3771, + "Ġsection": 3772, + "ctx": 3773, + "Ġunsigned": 3774, + ".Point": 3775, + "ĠOne": 3776, + "ı": 3777, + "iple": 3778, + "aid": 3779, + "Ñĥ": 3780, + "Vector": 3781, + "byte": 3782, + "Ġwait": 3783, + "ĠÃł": 3784, + "Ã¥": 3785, + "Ġtogether": 3786, + "Ġthrows": 3787, + "FO": 3788, + "'))": 3789, + "host": 3790, + "ising": 3791, + ".view": 3792, + "Ġterms": 3793, + "framework": 3794, + "-r": 3795, + "Ġapply": 3796, + "Ġsession": 3797, + "Options": 3798, + "uggest": 3799, + "Ġothers": 3800, + "witter": 3801, + "Ġfund": 3802, + "Init": 3803, + "__(": 3804, + "ensor": 3805, + "GET": 3806, + "Ġseveral": 3807, + "ii": 3808, + "[j": 3809, + "IO": 3810, + "Ġtemplate": 3811, + "Position": 3812, + "Ġecon": 3813, + "achine": 3814, + "Ġil": 3815, + ".spring": 3816, + "main": 3817, + "elt": 3818, + "iment": 3819, + "Rec": 3820, + "mm": 3821, + "ĠUniversity": 3822, + "ursor": 3823, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 3824, + "GL": 3825, + "icture": 3826, + "ithub": 3827, + "cer": 3828, + "cast": 3829, + "From": 3830, + "ales": 3831, + "Ġsubject": 3832, + "password": 3833, + "ny": 3834, + "Ġesc": 3835, + ".write": 3836, + "ï¼Į": 3837, + "What": 3838, + ".H": 3839, + "Ġhistory": 3840, + "ĠFe": 3841, + "Ġindividual": 3842, + "unit": 3843, + "Ġ-->": 3844, + "Ġdu": 3845, + "IST": 3846, + "Ġusers": 3847, + "fs": 3848, + "false": 3849, + "unt": 3850, + "Title": 3851, + "Ġmot": 3852, + "Ġfuture": 3853, + "ached": 3854, + "Ġstarted": 3855, + "Ġmode": 3856, + "Ġ'<": 3857, + "_array": 3858, + "Ġax": 3859, + "'];Ċ": 3860, + "ires": 3861, + "There": 3862, + "ught": 3863, + "tml": 3864, + "posed": 3865, + "icult": 3866, + "Ġtook": 3867, + "Ġgames": 3868, + "Ġ}}": 3869, + "Ġ?>Ċ": 3870, + "Ġproducts": 3871, + "Is": 3872, + "Ġbad": 3873, + "ĠDes": 3874, + ".path": 3875, + "'ĊĊ": 3876, + "ĠPost": 3877, + "avel": 3878, + "(:": 3879, + "Ġneeds": 3880, + "Ġknown": 3881, + "Fl": 3882, + "Ġexec": 3883, + "Ġseen": 3884, + "ume": 3885, + "Ġborder": 3886, + "Ġlive": 3887, + "temp": 3888, + "Per": 3889, + "Ġvariable": 3890, + "iet": 3891, + "ĠDef": 3892, + "Ġge": 3893, + "eme": 3894, + "_back": 3895, + "first": 3896, + "Ġprovided": 3897, + "////////////////////////////////": 3898, + "Ġfilename": 3899, + "Ġhope": 3900, + "uly": 3901, + "auto": 3902, + "find": 3903, + "_string": 3904, + "btn": 3905, + "itude": 3906, + "Attribute": 3907, + "Ġyoung": 3908, + ".txt": 3909, + "Ġwebsite": 3910, + "ĠProp": 3911, + "Ġey": 3912, + ">();Ċ": 3913, + "ional": 3914, + "ARR": 3915, + "ictionary": 3916, + "urther": 3917, + ".": 3997, + "tx": 3998, + "Ġpur": 3999, + "uel": 4000, + "ymbol": 4001, + "uation": 4002, + "anger": 4003, + "Ġbackground": 4004, + "ecess": 4005, + "efined": 4006, + "........": 4007, + "Ġdescription": 4008, + "Ġrepresent": 4009, + "\"));Ċ": 4010, + "pression": 4011, + "rowser": 4012, + "Ġseries": 4013, + "wards": 4014, + "($_": 4015, + "aise": 4016, + "Ġhot": 4017, + "acity": 4018, + "ries": 4019, + "actions": 4020, + "Create": 4021, + "adio": 4022, + "amples": 4023, + "Ġoriginal": 4024, + "ensive": 4025, + "font": 4026, + "stream": 4027, + "using": 4028, + ".springframework": 4029, + "server": 4030, + "Ġbill": 4031, + "ACK": 4032, + "ilename": 4033, + "Ġframe": 4034, + "Ġ=Ċ": 4035, + "Edit": 4036, + "adius": 4037, + "Ġdraw": 4038, + "anks": 4039, + "Ġdeter": 4040, + "Ġcomes": 4041, + "_int": 4042, + "Ġforeach": 4043, + "angle": 4044, + "Ġelect": 4045, + "pected": 4046, + "Header": 4047, + "istration": 4048, + "False": 4049, + "ĠGame": 4050, + "Ġfilter": 4051, + "Activity": 4052, + "Ġlarg": 4053, + "inition": 4054, + "Ġ\"<": 4055, + "ised": 4056, + "Ġremove": 4057, + "ĠTrans": 4058, + "met": 4059, + "see": 4060, + "Format": 4061, + "Command": 4062, + "ĠEX": 4063, + "None": 4064, + "Ġfront": 4065, + "ASE": 4066, + "ĠRec": 4067, + "oundation": 4068, + "Ġvo": 4069, + "=\\\"": 4070, + "(*": 4071, + "Change": 4072, + ".Write": 4073, + "group": 4074, + "ients": 4075, + "uy": 4076, + "****************************************************************": 4077, + "Ġdig": 4078, + "hr": 4079, + "(-": 4080, + "Ġgen": 4081, + "number": 4082, + "vec": 4083, + "urope": 4084, + "entry": 4085, + "LL": 4086, + "Ġste": 4087, + "Valid": 4088, + "'],": 4089, + "_param": 4090, + "Ġselected": 4091, + "Ġaccording": 4092, + "ĠDis": 4093, + "Ġutil": 4094, + "Buffer": 4095, + "_error": 4096, + "Ġassoci": 4097, + "_SIZE": 4098, + "Ġwor": 4099, + "Ġprintf": 4100, + "rag": 4101, + "Âł": 4102, + "DD": 4103, + "ĠVal": 4104, + "Ġactiv": 4105, + "Eng": 4106, + "etime": 4107, + "Ġvirtual": 4108, + "aign": 4109, + "aur": 4110, + "ĠPres": 4111, + "ĠException": 4112, + "Ġanything": 4113, + "ĠOff": 4114, + "Ġhours": 4115, + "Ġwar": 4116, + "Args": 4117, + "aging": 4118, + "Ġmodels": 4119, + "ĠTime": 4120, + "Ob": 4121, + "ams": 4122, + "joy": 4123, + "Ġearly": 4124, + ".read": 4125, + "Ġcenter": 4126, + "ĠInitial": 4127, + "Ġlanguage": 4128, + "length": 4129, + "xy": 4130, + "Ġsn": 4131, + "Ġinf": 4132, + "Post": 4133, + "Ġago": 4134, + "Ġeasy": 4135, + "_code": 4136, + "ĠANY": 4137, + "_ch": 4138, + "Ġdownload": 4139, + "(T": 4140, + "aved": 4141, + "âĢĵ": 4142, + "Ġstudents": 4143, + "Ġfig": 4144, + "light": 4145, + "xx": 4146, + "Ġbuffer": 4147, + "ĠDep": 4148, + "ĠMath": 4149, + "ITH": 4150, + "Ġvari": 4151, + "Ġdue": 4152, + "Factory": 4153, + "Ġpor": 4154, + "Ġep": 4155, + "otype": 4156, + "Ġcannot": 4157, + "Ġwhite": 4158, + "čĊ": 4424, + ".annot": 4425, + "Ġcollection": 4426, + "'.": 4427, + "Ġsimilar": 4428, + "Ġtaken": 4429, + "(\"%": 4430, + "Order": 4431, + "']Ċ": 4432, + "-md": 4433, + "ĠTH": 4434, + "aced": 4435, + "Ġisn": 4436, + "/j": 4437, + "Ġson": 4438, + "graph": 4439, + "ĠInteger": 4440, + "Ġnecess": 4441, + "reen": 4442, + "Ġum": 4443, + "Ġ\\<": 4444, + "Ġmoment": 4445, + "Ġbring": 4446, + "Ġindic": 4447, + "ysis": 4448, + "Level": 4449, + "verse": 4450, + "urrenc": 4451, + "_test": 4452, + "Ġentire": 4453, + "Down": 4454, + "Ġ}ĊĊĊ": 4455, + "(result": 4456, + "ĠRead": 4457, + "è": 4458, + "Mod": 4459, + "Ġtrying": 4460, + "\"),Ċ": 4461, + "Ġmember": 4462, + "ĠCor": 4463, + "ODO": 4464, + "-control": 4465, + "untime": 4466, + "ĠSim": 4467, + "Dialog": 4468, + "plot": 4469, + "_on": 4470, + "Ġphys": 4471, + "}/": 4472, + "Ġnamespace": 4473, + "ĉčĊ": 4474, + "acc": 4475, + "Player": 4476, + "ARE": 4477, + "Ġfoot": 4478, + "Ġboard": 4479, + "part": 4480, + "Ġsus": 4481, + "wise": 4482, + "ĠMc": 4483, + "Ġpush": 4484, + "ATA": 4485, + "Ġplease": 4486, + "ried": 4487, + "weet": 4488, + "bit": 4489, + "ided": 4490, + "VE": 4491, + "ĠSw": 4492, + "UB": 4493, + "Ġtypes": 4494, + "edia": 4495, + "Ġclos": 4496, + "acebook": 4497, + "When": 4498, + "Ġedit": 4499, + "igger": 4500, + "Ġenerg": 4501, + "Container": 4502, + "Ġphot": 4503, + "ĠCount": 4504, + "ĠEurope": 4505, + ".Is": 4506, + "ĠRuss": 4507, + "peed": 4508, + "ĠStr": 4509, + "Ġpy": 4510, + "Ġcult": 4511, + "Ġdefined": 4512, + "ccount": 4513, + "Ġobt": 4514, + ".Location": 4515, + "Ġthread": 4516, + "ille": 4517, + "Ġinstead": 4518, + "strong": 4519, + "ĠSec": 4520, + "URE": 4521, + "Ġidea": 4522, + ".se": 4523, + "emy": 4524, + "selected": 4525, + "Connection": 4526, + "acing": 4527, + "thread": 4528, + ".next": 4529, + "Ġcoll": 4530, + "Ġfilm": 4531, + "istic": 4532, + "Ġcompet": 4533, + "Ġconn": 4534, + "though": 4535, + "Ġcompan": 4536, + "ocket": 4537, + "Ġteach": 4538, + "=(": 4539, + "Ġphone": 4540, + "Ġactive": 4541, + "delete": 4542, + "tries": 4543, + "Ġmo": 4544, + "Ġdeath": 4545, + "});ĊĊ": 4546, + "ocol": 4547, + "Widget": 4548, + "Ġarticle": 4549, + "rodu": 4550, + "andid": 4551, + "Ñĭ": 4552, + "ĠCr": 4553, + "ka": 4554, + "():": 4555, + "lood": 4556, + "ĉĉĉĊ": 4557, + "Ġalmost": 4558, + "Ġsell": 4559, + "ervlet": 4560, + "rip": 4561, + "Unit": 4562, + "Ġapplic": 4563, + "Ġconnect": 4564, + "Ġfeature": 4565, + "Ġvia": 4566, + "'),": 4567, + "Ġlim": 4568, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 4569, + "ĠGu": 4570, + "Engine": 4571, + "Ġens": 4572, + "Ġenvironment": 4573, + "block": 4574, + "HERE": 4575, + "NULL": 4576, + "gy": 4577, + "tag": 4578, + ")).": 4579, + "exp": 4580, + "Ġcompl": 4581, + "Ġinstall": 4582, + "Ġcomplete": 4583, + "queue": 4584, + "atural": 4585, + "Ġgeneral": 4586, + "thon": 4587, + "Ġasked": 4588, + "ores": 4589, + "(res": 4590, + "Ġreserved": 4591, + "SP": 4592, + "Ġâ̦": 4593, + "ÅĤ": 4594, + "Ġsignific": 4595, + "Off": 4596, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 4597, + "ĠAg": 4598, + "ĠJust": 4599, + "ĠError": 4600, + "Ġinfl": 4601, + "adata": 4602, + "Ġicon": 4603, + "asks": 4604, + "''": 4605, + "_LO": 4606, + "?.": 4607, + "account": 4608, + "Ġ(*": 4609, + "')ĊĊ": 4610, + "rap": 4611, + "_var": 4612, + "ĠFOR": 4613, + "Ġparty": 4614, + "ĠYour": 4615, + "cat": 4616, + "stry": 4617, + ".new": 4618, + "boot": 4619, + "ĠNov": 4620, + "Ġvector": 4621, + "Ġnormal": 4622, + "Ġfurther": 4623, + "Repository": 4624, + "Ġdatabase": 4625, + "attle": 4626, + "Ġmusic": 4627, + "Ġspeed": 4628, + "Ġdoc": 4629, + "process": 4630, + "IGHT": 4631, + ".parse": 4632, + "Ġtaking": 4633, + "Ġviol": 4634, + "ceed": 4635, + "ĠAfter": 4636, + "Ġforward": 4637, + "Ġcrit": 4638, + "\"/>Ċ": 4639, + "rot": 4640, + "Ġfailed": 4641, + "efore": 4642, + "Ġconcern": 4643, + "oe": 4644, + "ba": 4645, + "Ġsender": 4646, + "Ġterm": 4647, + "has": 4648, + "=\"#": 4649, + "Ġpotential": 4650, + "Num": 4651, + "Ġpublished": 4652, + ".close": 4653, + "ĠImage": 4654, + "straint": 4655, + "UD": 4656, + "ĠOb": 4657, + "Ġprobably": 4658, + "lim": 4659, + "\":Ċ": 4660, + "olume": 4661, + "Ġconsum": 4662, + "ague": 4663, + "ensions": 4664, + "Ġinvestig": 4665, + "-year": 4666, + "');": 4667, + "-sm": 4668, + "Ġenjoy": 4669, + "orig": 4670, + "ering": 4671, + "cp": 4672, + "leased": 4673, + "plements": 4674, + "Ġreturns": 4675, + "pat": 4676, + "BO": 4677, + "ĠHouse": 4678, + ".Label": 4679, + "Ġweight": 4680, + "ighb": 4681, + "Ġconditions": 4682, + "Ġexception": 4683, + "description": 4684, + "Ġtrad": 4685, + "-to": 4686, + "Ġ{}": 4687, + "Ġmodule": 4688, + "END": 4689, + ".ap": 4690, + ".props": 4691, + "Ġconstructor": 4692, + "aves": 4693, + "Ġfavor": 4694, + "ĠNow": 4695, + ";i": 4696, + "ĠMain": 4697, + "_k": 4698, + "eries": 4699, + "âĢĻll": 4700, + "transform": 4701, + "imestamp": 4702, + "Pre": 4703, + "Ġmer": 4704, + ".res": 4705, + "stant": 4706, + "Location": 4707, + "_NAME": 4708, + "Ġloss": 4709, + "ĠĊĊ": 4710, + "net": 4711, + "Ġengine": 4712, + "Block": 4713, + "Ġissues": 4714, + "Ġparse": 4715, + "ĠBar": 4716, + "Ġstay": 4717, + "ĠJSON": 4718, + "Ġdom": 4719, + "airs": 4720, + "wner": 4721, + "Ġlower": 4722, + "\",čĊ": 4723, + "ĠDem": 4724, + "ufact": 4725, + "Ġps": 4726, + "Ġperfect": 4727, + "RL": 4728, + "Ġeduc": 4729, + "ls": 4730, + "emory": 4731, + "ARRANT": 4732, + "uge": 4733, + "Ġexact": 4734, + ".key": 4735, + "alled": 4736, + "ech": 4737, + "ief": 4738, + "\\/": 4739, + "oke": 4740, + "Ġformer": 4741, + "alloc": 4742, + "Ġsix": 4743, + "ida": 4744, + "Ġmargin": 4745, + "Ġheart": 4746, + "ald": 4747, + "pack": 4748, + ".getElementById": 4749, + "ĠWARRANT": 4750, + "Ġrather": 4751, + "Ġbuilding": 4752, + "erman": 4753, + "lice": 4754, + "Ġquestions": 4755, + "izes": 4756, + "lege": 4757, + "irectory": 4758, + "Ġje": 4759, + "Ġcas": 4760, + "props": 4761, + "utf": 4762, + "Ġsecurity": 4763, + "Ġhowever": 4764, + "weight": 4765, + "Ġinside": 4766, + "Ġpresident": 4767, + "Char": 4768, + "ĠWITH": 4769, + ".map": 4770, + "Ġgraph": 4771, + "Ġtag": 4772, + "_status": 4773, + "Ġattempt": 4774, + "opp": 4775, + "uses": 4776, + "ĉconst": 4777, + "Ġround": 4778, + ",$": 4779, + "Ġfriends": 4780, + "Email": 4781, + "?>": 4782, + "Resource": 4783, + "KEY": 4784, + "osp": 4785, + ".query": 4786, + "ĠNorth": 4787, + "ables": 4788, + "istrib": 4789, + "_class": 4790, + "ello": 4791, + "That": 4792, + "к": 4793, + "pecially": 4794, + "ĠPresident": 4795, + "Ġcampaign": 4796, + "Ġalt": 4797, + "area": 4798, + "Ġchall": 4799, + "Ġopport": 4800, + ".Con": 4801, + "Ġenergy": 4802, + "like": 4803, + ".string": 4804, + "ington": 4805, + ")*": 4806, + "yy": 4807, + "Ġprofession": 4808, + "irth": 4809, + "Ġseg": 4810, + "æľ": 4811, + "Ġhor": 4812, + "iers": 4813, + "can": 4814, + "Ġbehind": 4815, + "Product": 4816, + "fg": 4817, + "ĠSk": 4818, + ".jpg": 4819, + "?:": 4820, + "];ĊĊ": 4821, + "Ġcallback": 4822, + "ĠHttp": 4823, + "ÑĮ": 4824, + "long": 4825, + "MS": 4826, + "ATH": 4827, + "Ġraise": 4828, + "Ġwanted": 4829, + "rown": 4830, + "utor": 4831, + "lt": 4832, + "]=": 4833, + "eline": 4834, + "MA": 4835, + "Ġsepar": 4836, + "cs": 4837, + "semb": 4838, + "Dis": 4839, + "bserv": 4840, + "ĠWill": 4841, + "Ġpolicy": 4842, + "Ġthird": 4843, + "phone": 4844, + "Ġbed": 4845, + "/g": 4846, + ".__": 4847, + "ĠInc": 4848, + "izing": 4849, + ".remove": 4850, + "instance": 4851, + ".type": 4852, + "Ġserv": 4853, + "Each": 4854, + "Ġhar": 4855, + "ĠMessage": 4856, + "(key": 4857, + "SELECT": 4858, + "Pos": 4859, + "));čĊ": 4860, + "Ġrecomm": 4861, + "Ġtraining": 4862, + "ĠEnt": 4863, + "ĠChar": 4864, + "icht": 4865, + "(file": 4866, + "Ġprior": 4867, + "Game": 4868, + "Ġexit": 4869, + "Params": 4870, + ".core": 4871, + "PC": 4872, + "nes": 4873, + "anced": 4874, + "(request": 4875, + "Password": 4876, + "}>Ċ": 4877, + "Ġmag": 4878, + "Ġrelease": 4879, + "Ġshall": 4880, + "udent": 4881, + "ĠSouth": 4882, + "ando": 4883, + ":'": 4884, + ".TabIndex": 4885, + "sk": 4886, + "anner": 4887, + "isset": 4888, + "Ġoutside": 4889, + "ledge": 4890, + "Ġå": 4891, + "ĠRob": 4892, + "Ġimm": 4893, + "!Ċ": 4894, + "ĠWeb": 4895, + "Des": 4896, + "BC": 4897, + "ancial": 4898, + "Route": 4899, + "Dec": 4900, + "ferences": 4901, + "Ġpurch": 4902, + "ĠModel": 4903, + "ctor": 4904, + "gn": 4905, + "_start": 4906, + "_un": 4907, + ".*": 4908, + "ises": 4909, + "Ġground": 4910, + "Ġunique": 4911, + "Ġbeaut": 4912, + "{\"": 4913, + "Ġpour": 4914, + "ĠOct": 4915, + "Ġtree": 4916, + "sets": 4917, + "_res": 4918, + "')->": 4919, + "_reg": 4920, + "(\"\\": 4921, + "Ġbyte": 4922, + "Bl": 4923, + "Ġdating": 4924, + "Ġmatter": 4925, + "ĠRem": 4926, + "Ġ'../": 4927, + "ĠAug": 4928, + "ĠLa": 4929, + "Ġ$(": 4930, + "ournal": 4931, + "iam": 4932, + "Ġshows": 4933, + "write": 4934, + "Ġball": 4935, + "Ġsimply": 4936, + "Ġfast": 4937, + "Ġmemory": 4938, + "ASS": 4939, + "ĠOf": 4940, + "oved": 4941, + "ante": 4942, + "aul": 4943, + "istry": 4944, + ")));Ċ": 4945, + "Ġfit": 4946, + "_": 5129, + "\")ĊĊ": 5130, + "ox": 5131, + "application": 5132, + "Ġ]Ċ": 5133, + "ĊĊĊĊĊĊ": 5134, + "Ġsoon": 5135, + "ctions": 5136, + "inger": 5137, + "Ġjoin": 5138, + "ĠPe": 5139, + "Ġë": 5140, + "Ġlas": 5141, + ".E": 5142, + "css": 5143, + "/or": 5144, + "ĠStart": 5145, + "ĠTO": 5146, + "Ġsubs": 5147, + "conn": 5148, + "components": 5149, + "DEBUG": 5150, + "quare": 5151, + "Function": 5152, + "endar": 5153, + ".index": 5154, + "Ġfill": 5155, + "ÄĻ": 5156, + "Ġchoose": 5157, + "how": 5158, + "ĠAmerica": 5159, + "assets": 5160, + "------------": 5161, + "ĠValue": 5162, + "Ġoffice": 5163, + "Ġveh": 5164, + "Ġtransform": 5165, + "ĠArt": 5166, + "Ġinde": 5167, + "Ġfn": 5168, + "Ġimplements": 5169, + "ango": 5170, + "plete": 5171, + "+\"": 5172, + "tmp": 5173, + "amily": 5174, + "Ġhash": 5175, + "missions": 5176, + "EST": 5177, + "gt": 5178, + "Provider": 5179, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 5180, + "Ġflag": 5181, + "Ġparticip": 5182, + "den": 5183, + "ĠReturns": 5184, + "Ġnote": 5185, + "ür": 5186, + "pm": 5187, + "ideos": 5188, + "Ġspecified": 5189, + "ĠEN": 5190, + "ester": 5191, + "olid": 5192, + "Ġupon": 5193, + "(std": 5194, + "ĉv": 5195, + "Ġ'\\": 5196, + "uz": 5197, + "Ġvert": 5198, + "Ġvict": 5199, + "ĉself": 5200, + "Ġ\"$": 5201, + ".k": 5202, + "Ġgroups": 5203, + "github": 5204, + "lang": 5205, + "Ġmut": 5206, + "TO": 5207, + "Ġve": 5208, + "ĠPlease": 5209, + ";ĊĊĊ": 5210, + "access": 5211, + "Ġ{\"": 5212, + "rea": 5213, + "Ġrisk": 5214, + "icker": 5215, + "oggle": 5216, + "ĉwhile": 5217, + "ANG": 5218, + ".send": 5219, + "Ġwoman": 5220, + "Ġgets": 5221, + "Ġign": 5222, + "ĠId": 5223, + "_log": 5224, + "ONE": 5225, + "Ġevid": 5226, + "ĠHar": 5227, + "_sub": 5228, + "Ġendl": 5229, + "Ġincluded": 5230, + "());ĊĊ": 5231, + "ĠAp": 5232, + "igr": 5233, + "Ġsem": 5234, + "ĠBlack": 5235, + "doc": 5236, + "_table": 5237, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 5238, + "-up": 5239, + "Ġcause": 5240, + "Ġ..": 5241, + "Ġvan": 5242, + "_dict": 5243, + "Ġfocus": 5244, + "IND": 5245, + "CESS": 5246, + ".Log": 5247, + "Ġmultiple": 5248, + "ido": 5249, + "Ġregard": 5250, + "-M": 5251, + "andler": 5252, + "ourse": 5253, + "Ġdeg": 5254, + ".U": 5255, + "Ġaddition": 5256, + "Ġvarious": 5257, + "Ġreceive": 5258, + "ен": 5259, + "ĠHT": 5260, + "Obj": 5261, + "DF": 5262, + "Ġincrease": 5263, + "ĠOpen": 5264, + "];": 5265, + "Ġcommit": 5266, + "?Ċ": 5267, + "ategories": 5268, + "atory": 5269, + "ship": 5270, + "ĠMich": 5271, + "Ġhtml": 5272, + "romise": 5273, + "Ġleave": 5274, + "Ġstrateg": 5275, + "aven": 5276, + "ĠConsole": 5277, + "known": 5278, + "-n": 5279, + "_LE": 5280, + ".component": 5281, + "Ġbre": 5282, + "Session": 5283, + "iance": 5284, + "Ġalign": 5285, + "typedef": 5286, + "_result": 5287, + "ĠWHERE": 5288, + ".split": 5289, + "Ġreading": 5290, + "FAULT": 5291, + "Ġclo": 5292, + "Ġnotice": 5293, + "_pr": 5294, + "arter": 5295, + "Ġlock": 5296, + "Ġstandard": 5297, + "etic": 5298, + "ellow": 5299, + "Ġpadding": 5300, + "ĠHis": 5301, + "Ġstates": 5302, + "_cast": 5303, + "(P": 5304, + "aa": 5305, + "Ġinternal": 5306, + "ean": 5307, + "ĠPRO": 5308, + "ĠKey": 5309, + "Ġespecially": 5310, + "ming": 5311, + "Ġcross": 5312, + "Ġnational": 5313, + "_object": 5314, + "filter": 5315, + "Ġscript": 5316, + ".update": 5317, + "_i": 5318, + "ĠAssert": 5319, + "/core": 5320, + "%%%%": 5321, + "Ġproblems": 5322, + "istor": 5323, + "Ġ.=": 5324, + "Ġarch": 5325, + "Ġwritten": 5326, + "Ġmilit": 5327, + "MENT": 5328, + ".ch": 5329, + "cape": 5330, + "ĠMus": 5331, + "_config": 5332, + "ĠAPI": 5333, + "foot": 5334, + "Ġimages": 5335, + "endl": 5336, + ".In": 5337, + "First": 5338, + "Ġplatform": 5339, + ".prot": 5340, + "Option": 5341, + "ste": 5342, + "ĠTODO": 5343, + "Ġforce": 5344, + ".cont": 5345, + "ĉecho": 5346, + "ĠDav": 5347, + "Ptr": 5348, + "(B": 5349, + "RT": 5350, + "ĠBase": 5351, + "]['": 5352, + "Ġannounc": 5353, + "console": 5354, + "ĠPy": 5355, + "ds": 5356, + ".as": 5357, + "Ġprevent": 5358, + "apan": 5359, + "Ġ{'": 5360, + "}'": 5592, + "Ġdead": 5593, + "VAL": 5594, + "QUE": 5595, + "************************************************************************": 5596, + "Ġcharg": 5597, + "Return": 5598, + "Ġful": 5599, + "dom": 5600, + "Ġrules": 5601, + "Ġmodify": 5602, + "Ġeval": 5603, + "ham": 5604, + "atement": 5605, + "\\<": 5606, + "ula": 5607, + "=False": 5608, + "RA": 5609, + "Ġcontains": 5610, + "Ġstack": 5611, + "mar": 5612, + "Ġ{}Ċ": 5613, + "Ġundefined": 5614, + "Ass": 5615, + "ĠChina": 5616, + "vey": 5617, + "*Ċ": 5618, + "Ġplaying": 5619, + ")/": 5620, + "actor": 5621, + "Ġbottom": 5622, + "lier": 5623, + "ĠNumber": 5624, + "Ġcouple": 5625, + "DC": 5626, + "ĠSO": 5627, + "gor": 5628, + ".setText": 5629, + "success": 5630, + "command": 5631, + "Filter": 5632, + "ĠOur": 5633, + "_item": 5634, + "Ġctx": 5635, + "Ġroad": 5636, + "Version": 5637, + "case": 5638, + "urt": 5639, + "avior": 5640, + "ych": 5641, + "sembly": 5642, + "ĠProduct": 5643, + "Ġheld": 5644, + "afe": 5645, + "Ġincludes": 5646, + "&": 5789, + "CON": 5790, + "Ġrepl": 5791, + "Ġregular": 5792, + "Storage": 5793, + "ramework": 5794, + "Ġgoal": 5795, + "Ġtouch": 5796, + ".widget": 5797, + "Ġbuilt": 5798, + "des": 5799, + "Part": 5800, + "(re": 5801, + "Ġworth": 5802, + "hib": 5803, + "game": 5804, + "Ġв": 5805, + "acion": 5806, + "ĠWhite": 5807, + "(type": 5808, + "(`": 5809, + "Ġnatural": 5810, + "Ġinj": 5811, + "Ġcalcul": 5812, + "ĠApril": 5813, + ".List": 5814, + "Ġassociated": 5815, + "ĉSystem": 5816, + "~~": 5817, + "=[": 5818, + "Ġstorage": 5819, + "Ġbytes": 5820, + "Ġtravel": 5821, + "Ġsou": 5822, + "Ġpassed": 5823, + "!=": 5824, + "ascript": 5825, + ".open": 5826, + "Ġgrid": 5827, + "Ġbus": 5828, + "Ġrecogn": 5829, + "Ab": 5830, + "Ġhon": 5831, + "ĠCenter": 5832, + "Ġprec": 5833, + "build": 5834, + "HTML": 5835, + "ĠSan": 5836, + "Ġcountries": 5837, + "aled": 5838, + "token": 5839, + "kt": 5840, + "Ġqual": 5841, + "Last": 5842, + "adow": 5843, + "Ġmanufact": 5844, + "idad": 5845, + "jango": 5846, + "Next": 5847, + "xf": 5848, + ".a": 5849, + "Ġporno": 5850, + "ĠPM": 5851, + "erve": 5852, + "iting": 5853, + "_th": 5854, + "ci": 5855, + "=None": 5856, + "gs": 5857, + "Ġlogin": 5858, + "atives": 5859, + "']);Ċ": 5860, + "Äħ": 5861, + "Ġill": 5862, + "IA": 5863, + "children": 5864, + "DO": 5865, + "Ġlevels": 5866, + "Ġ{{": 5867, + "Ġlooks": 5868, + "Ġ\"#": 5869, + "ToString": 5870, + "Ġnecessary": 5871, + "ĠĠĠĊ": 5872, + "cell": 5873, + "Entry": 5874, + "Ġ'#": 5875, + "Ġextrem": 5876, + "Selector": 5877, + "Ġplaceholder": 5878, + "Load": 5879, + "Ġreleased": 5880, + "ORE": 5881, + "Enumer": 5882, + "ĠTV": 5883, + "SET": 5884, + "inq": 5885, + "Press": 5886, + "ĠDepartment": 5887, + "Ġproperties": 5888, + "Ġrespond": 5889, + "Search": 5890, + "ael": 5891, + "Ġrequ": 5892, + "ĠBook": 5893, + "/Ċ": 5894, + "(st": 5895, + "Ġfinancial": 5896, + "icket": 5897, + "_input": 5898, + "Ġthreat": 5899, + "(in": 5900, + "Strip": 5901, + "ìĿ": 5902, + "ção": 5903, + "Ġevidence": 5904, + "));": 5905, + "ĠBro": 5906, + "Ġ[];Ċ": 5907, + "Ġou": 5908, + "buf": 5909, + "Script": 5910, + "dat": 5911, + "Ġrule": 5912, + "#import": 5913, + "=\"/": 5914, + "Serial": 5915, + "Ġstarting": 5916, + "[index": 5917, + "ae": 5918, + "Ġcontrib": 5919, + "session": 5920, + "_new": 5921, + "utable": 5922, + "ober": 5923, + "Ġ\"./": 5924, + "Ġlogger": 5925, + "Ġrecently": 5926, + "Ġreturned": 5927, + "ččĊ": 5928, + ")))Ċ": 5929, + "itions": 5930, + "Ġseek": 5931, + "Ġcommunic": 5932, + "Ġ\".": 5933, + "Ġusername": 5934, + "ECT": 5935, + "DS": 5936, + "Ġotherwise": 5937, + "ĠGerman": 5938, + ".aw": 5939, + "Adapter": 5940, + "ixel": 5941, + "Ġsystems": 5942, + "Ġdrop": 5943, + "Ġstructure": 5944, + "Ġ$(\"#": 5945, + "encies": 5946, + "anning": 5947, + "ĠLink": 5948, + "ĠResponse": 5949, + "Ġstri": 5950, + "ż": 5951, + "ĠDB": 5952, + "æĹ": 5953, + "android": 5954, + "submit": 5955, + "otion": 5956, + "(@": 5957, + ".test": 5958, + "ĊĊĊĊĊĊĊĊ": 5959, + "];čĊ": 5960, + "Ġdirectly": 5961, + "Ġ\"%": 5962, + "ris": 5963, + "elta": 5964, + "AIL": 5965, + "){čĊ": 5966, + "mine": 5967, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 5968, + "(k": 5969, + "bon": 5970, + "asic": 5971, + "pite": 5972, + "___": 5973, + "Max": 5974, + "Ġerrors": 5975, + "ĠWhile": 5976, + "Ġarguments": 5977, + "Ġensure": 5978, + "Right": 5979, + "-based": 5980, + "Web": 5981, + "Ġ-=": 5982, + "Ġintrodu": 5983, + "ĠInst": 5984, + "ĠWash": 5985, + "ordin": 5986, + "join": 5987, + "Database": 5988, + "Ġgrad": 5989, + "Ġusually": 5990, + "ITE": 5991, + "Props": 5992, + "?>Ċ": 5993, + "ĠGo": 5994, + "@Override": 5995, + "REF": 5996, + "Ġip": 5997, + "ĠAustral": 5998, + "Ġist": 5999, + "ViewById": 6000, + "Ġserious": 6001, + "Ġcustomer": 6002, + ".prototype": 6003, + "odo": 6004, + "cor": 6005, + "Ġdoor": 6006, + "ĠWITHOUT": 6007, + "Ġplant": 6008, + "Ġbegan": 6009, + "Ġdistance": 6010, + "()).": 6011, + "Ġchance": 6012, + "Ġord": 6013, + "came": 6014, + "pragma": 6015, + "Ġprotect": 6016, + "ragment": 6017, + "ĠNode": 6018, + "ening": 6019, + "Ñĩ": 6020, + "Ġroute": 6021, + "ĠSchool": 6022, + "hi": 6023, + "Ġneighb": 6024, + "After": 6025, + "licit": 6026, + "Ġcontr": 6027, + "Ġprimary": 6028, + "AA": 6029, + ".WriteLine": 6030, + "utils": 6031, + "Ġbi": 6032, + "Red": 6033, + ".Linq": 6034, + ".object": 6035, + "Ġleaders": 6036, + "unities": 6037, + "Ġgun": 6038, + "onth": 6039, + "ĠDev": 6040, + "FILE": 6041, + "Ġcomments": 6042, + "_len": 6043, + "arrow": 6044, + "amount": 6045, + "Range": 6046, + "sert": 6047, + "GridView": 6048, + "Ġupdated": 6049, + "ĠMo": 6050, + "Ġinform": 6051, + "ociety": 6052, + "ala": 6053, + "Access": 6054, + "Ġhab": 6055, + "Ġcreat": 6056, + "_arg": 6057, + "ĠJanuary": 6058, + "ĠDay": 6059, + "\")čĊ": 6060, + "uple": 6061, + "document": 6062, + "gorith": 6063, + "menu": 6064, + "ĠOver": 6065, + "bb": 6066, + ".title": 6067, + "_out": 6068, + "Ġled": 6069, + "uri": 6070, + "Ġ?>Ċ": 6107, + "run": 6108, + "Ġscene": 6109, + "(array": 6110, + "device": 6111, + "_title": 6112, + "agon": 6113, + "]čĊ": 6114, + "aby": 6115, + "Ġbecame": 6116, + "boolean": 6117, + "Ġpark": 6118, + "ĠCode": 6119, + "upload": 6120, + "riday": 6121, + "ĠSeptember": 6122, + "Fe": 6123, + "Ġsen": 6124, + "cing": 6125, + "FL": 6126, + "Col": 6127, + "uts": 6128, + "_page": 6129, + "inn": 6130, + "Ġimplied": 6131, + "aling": 6132, + "Ġyourself": 6133, + ".Count": 6134, + "conf": 6135, + "Ġaud": 6136, + "_init": 6137, + ".)": 6138, + "Ġwrote": 6139, + "NG": 6140, + ".Error": 6141, + "ä»": 6142, + ".for": 6143, + "Ġequal": 6144, + "ĠRequest": 6145, + "Ġserial": 6146, + "Ġallows": 6147, + "XX": 6148, + "Ġmiddle": 6149, + "chor": 6150, + "ø": 6151, + "erval": 6152, + ".Column": 6153, + "reading": 6154, + "Ġescort": 6155, + "ĠAugust": 6156, + "Ġquickly": 6157, + "Ġweap": 6158, + "ĠCG": 6159, + "ropri": 6160, + "ho": 6161, + "Ġcop": 6162, + "(struct": 6163, + "ĠBig": 6164, + "Ġvs": 6165, + "Ġfrequ": 6166, + ".Value": 6167, + "Ġactions": 6168, + "Ġproper": 6169, + "Ġinn": 6170, + "Ġobjects": 6171, + "Ġmatrix": 6172, + "avascript": 6173, + "Ġones": 6174, + ".group": 6175, + "Ġgreen": 6176, + "Ġpaint": 6177, + "ools": 6178, + "ycl": 6179, + "encode": 6180, + "olt": 6181, + "comment": 6182, + ".api": 6183, + "Dir": 6184, + "Ġune": 6185, + "izont": 6186, + ".position": 6187, + "Ġdesigned": 6188, + "_val": 6189, + "avi": 6190, + "iring": 6191, + "tab": 6192, + "Ġlayer": 6193, + "Ġviews": 6194, + "Ġreve": 6195, + "rael": 6196, + "ĠON": 6197, + "rics": 6198, + "np": 6199, + "Ġcore": 6200, + "());čĊ": 6201, + "Main": 6202, + "Ġexpert": 6203, + "ĉĉčĊ": 6204, + "_en": 6205, + "Ġ/>": 6206, + "utter": 6207, + "IAL": 6208, + "ails": 6209, + "ĠKing": 6210, + "*/ĊĊ": 6211, + "ĠMet": 6212, + "_end": 6213, + "addr": 6214, + "ora": 6215, + "Ġir": 6216, + "Min": 6217, + "Ġsurpr": 6218, + "Ġrepe": 6219, + "Ġdirectory": 6220, + "PUT": 6221, + "-S": 6222, + "Ġelection": 6223, + "haps": 6224, + ".pre": 6225, + "cm": 6226, + "Values": 6227, + "Ġ\"Ċ": 6228, + "column": 6229, + "ivil": 6230, + "Login": 6231, + "inue": 6232, + "Ġbeautiful": 6233, + "Ġsecret": 6234, + "(event": 6235, + "Ġchat": 6236, + "ums": 6237, + "Ġorigin": 6238, + "Ġeffects": 6239, + "Ġmanagement": 6240, + "illa": 6241, + "tk": 6242, + "Ġsetting": 6243, + "ĠCour": 6244, + "Ġmassage": 6245, + "ĉend": 6246, + "Ġhappy": 6247, + "Ġfinish": 6248, + "Ġcamera": 6249, + "ĠVer": 6250, + "ĠDemocr": 6251, + "ĠHer": 6252, + "(Q": 6253, + "cons": 6254, + "ita": 6255, + "Ġ'.": 6256, + "{}": 6257, + "ĉC": 6258, + "Ġstuff": 6259, + "Ġ:Ċ": 6260, + "ĠAR": 6261, + "Task": 6262, + "hidden": 6263, + "eros": 6264, + "IGN": 6265, + "atio": 6266, + "ĠHealth": 6267, + "olute": 6268, + "Enter": 6269, + "'>": 6270, + "ĠTwitter": 6271, + "ĠCounty": 6272, + "scribe": 6273, + "Ġ=>Ċ": 6274, + "Ġhy": 6275, + "fit": 6276, + "Ġmilitary": 6277, + "Ġsale": 6278, + "required": 6279, + "non": 6280, + "bootstrap": 6281, + "hold": 6282, + "rim": 6283, + "-old": 6284, + "ĠDown": 6285, + "Ġmention": 6286, + "contact": 6287, + "_group": 6288, + "oday": 6289, + "Ġtown": 6290, + "Ġsolution": 6291, + "uate": 6292, + "elling": 6293, + "]->": 6294, + "otes": 6295, + "ental": 6296, + "omen": 6297, + "ospital": 6298, + "ĠSup": 6299, + "_EN": 6300, + "Ġslow": 6301, + "SESSION": 6302, + "Ġblue": 6303, + "ago": 6304, + "Ġlives": 6305, + "Ġ^": 6306, + ".un": 6307, + "inst": 6308, + "enge": 6309, + "Ġcustomers": 6310, + "Ġcast": 6311, + "udget": 6312, + "ï¼ģ": 6313, + "icens": 6314, + "Ġdetermin": 6315, + "Selected": 6316, + "_pl": 6317, + "ueue": 6318, + "Ġdark": 6319, + "//ĊĊ": 6320, + "si": 6321, + "thern": 6322, + "ĠJapan": 6323, + "/w": 6324, + "PU": 6325, + "ĠEast": 6326, + "ovie": 6327, + "Ġpackage": 6328, + "Ġnor": 6329, + "Ġapi": 6330, + "bot": 6331, + "\"];Ċ": 6332, + "_post": 6333, + "ulate": 6334, + "Ġclub": 6335, + "'));Ċ": 6336, + "Ġloop": 6337, + "PIO": 6338, + "ione": 6339, + "shot": 6340, + "Initial": 6341, + "Ġplayed": 6342, + "register": 6343, + "rought": 6344, + "_max": 6345, + "acement": 6346, + "match": 6347, + "raphics": 6348, + "AST": 6349, + "Ġexisting": 6350, + "Ġcomplex": 6351, + "DA": 6352, + ".Ch": 6353, + ".common": 6354, + "mo": 6355, + "Ġ'../../": 6356, + "ito": 6357, + "Ġanalysis": 6358, + "Ġdeliver": 6359, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ": 6360, + "idx": 6361, + "Ãł": 6362, + "ongo": 6363, + "ĠEnglish": 6364, + "Ċ": 9992, + "_default": 9993, + "ĠDatabase": 9994, + "rep": 9995, + "ESS": 9996, + "nergy": 9997, + ".Find": 9998, + "_mask": 9999, + "Ġrise": 10000, + "Ġkernel": 10001, + "::$": 10002, + ".Q": 10003, + "Ġoffering": 10004, + "decl": 10005, + "ĠCS": 10006, + "Ġlisted": 10007, + "Ġmostly": 10008, + "enger": 10009, + "Ġblocks": 10010, + "olo": 10011, + "Ġgoverning": 10012, + "\\F": 10013, + "Ġconcent": 10014, + ".getText": 10015, + "Ġmb": 10016, + "Ġoccurred": 10017, + "Ġchanging": 10018, + "Scene": 10019, + "_CODE": 10020, + "Beh": 10021, + "\"The": 10022, + "Ġtile": 10023, + "ĠAssociation": 10024, + "ĉP": 10025, + "alty": 10026, + "_ad": 10027, + "odies": 10028, + "iated": 10029, + "Ġprepared": 10030, + "possible": 10031, + "Ġmort": 10032, + "TEST": 10033, + "Ġignore": 10034, + "Ġcalc": 10035, + "Ġrs": 10036, + "ĠassertEquals": 10037, + "Ġsz": 10038, + "ĠTHIS": 10039, + ".\"Ċ": 10040, + "Ġcanvas": 10041, + "java": 10042, + "Ġdut": 10043, + "VALID": 10044, + ".sql": 10045, + ".input": 10046, + "Ġaux": 10047, + "Sup": 10048, + "Ġartist": 10049, + "Vec": 10050, + "_TIME": 10051, + ".stringify": 10052, + "etween": 10053, + "ĠCategory": 10054, + "Ġ[-": 10055, + "ĠDevExpress": 10056, + "ĠJul": 10057, + "Ġring": 10058, + ".ed": 10059, + "YY": 10060, + "Let": 10061, + "TextField": 10062, + "Ġflat": 10063, + "_print": 10064, + "ĠOTHER": 10065, + "adian": 10066, + "Ġchecked": 10067, + "ele": 10068, + "Align": 10069, + "standing": 10070, + "Ġ[],": 10071, + "Ġlab": 10072, + "ucky": 10073, + "ĠChristmas": 10074, + "(image": 10075, + ".module": 10076, + "Ġlots": 10077, + "Ġslightly": 10078, + "(final": 10079, + "erge": 10080, + "è¿": 10081, + "ĠPolice": 10082, + "ĠRight": 10083, + "Ġaward": 10084, + "ĠOS": 10085, + "Ġ{}ĊĊ": 10086, + "Ġptr": 10087, + "oves": 10088, + "icated": 10089, + "ем": 10090, + "Ġmanage": 10091, + "oliday": 10092, + "Amount": 10093, + "oolStrip": 10094, + "tbody": 10095, + "Nav": 10096, + "wrap": 10097, + "BB": 10098, + "Ġwatching": 10099, + "arios": 10100, + "Ġoptional": 10101, + "_K": 10102, + "ĠLicensed": 10103, + ".Map": 10104, + "Timer": 10105, + "ĠAP": 10106, + "ĠRev": 10107, + "(o": 10108, + ",c": 10109, + "umin": 10110, + "etailed": 10111, + "ĠHy": 10112, + "Ġblank": 10113, + "agger": 10114, + "ĠSelf": 10115, + "()[": 10116, + ".make": 10117, + "earn": 10118, + "channel": 10119, + ";Ċ": 10133, + "World": 10134, + "Ġpython": 10135, + "Ġlif": 10136, + "Ġtrav": 10137, + "Ġconven": 10138, + "company": 10139, + "ĠClub": 10140, + "Ver": 10141, + "Btn": 10142, + "Ġzone": 10143, + "products": 10144, + "ĠEduc": 10145, + "Ġverify": 10146, + "ĠMil": 10147, + "ono": 10148, + "]);ĊĊ": 10149, + "ENCE": 10150, + "Ġpacket": 10151, + "Ġcer": 10152, + "Ġenumer": 10153, + "Ġpars": 10154, + "formed": 10155, + "Ġoccup": 10156, + "tre": 10157, + "Ġexercise": 10158, + "Day": 10159, + "_sum": 10160, + "Ġasking": 10161, + "aption": 10162, + "Ġorders": 10163, + "Ġspending": 10164, + "ĠERR": 10165, + ".Dis": 10166, + "ĠUtil": 10167, + "âĢľI": 10168, + "\\'": 10169, + "?)": 10170, + "/>Ċ": 10171, + "Ġemot": 10172, + "Ġinfluence": 10173, + "ĠAfrica": 10174, + "atters": 10175, + "Ùħ": 10176, + ".session": 10177, + "Ġchief": 10178, + "ĉĉĉĉĉĉĉĉĉĉĉ": 10179, + "Ġtom": 10180, + "cluded": 10181, + "serial": 10182, + "_handler": 10183, + ".Type": 10184, + "aped": 10185, + "Ġpolicies": 10186, + "-ex": 10187, + "-tr": 10188, + "blank": 10189, + "merce": 10190, + "Ġcoverage": 10191, + "Ġrc": 10192, + "_matrix": 10193, + "_box": 10194, + "Ġcharges": 10195, + "ĠBoston": 10196, + "Pe": 10197, + "Ġcircum": 10198, + "Ġfilled": 10199, + "Ġnorth": 10200, + "ictureBox": 10201, + "ĉres": 10202, + "è®": 10203, + "Ġtermin": 10204, + "Ġ[â̦": 10205, + "IRECT": 10206, + "Ġber": 10207, + "Ġ\"../../": 10208, + "retch": 10209, + ".code": 10210, + "_col": 10211, + "ĠGovernment": 10212, + "Ġargv": 10213, + "ĠLord": 10214, + "asi": 10215, + "Exec": 10216, + "ĉlet": 10217, + "vertis": 10218, + "Ġdiscussion": 10219, + "enance": 10220, + "outube": 10221, + "typeof": 10222, + "Ġserved": 10223, + "ĠPut": 10224, + "ĉx": 10225, + "Ġsweet": 10226, + "Before": 10227, + "ategy": 10228, + ".of": 10229, + "ĠMaterial": 10230, + "Sort": 10231, + "ONT": 10232, + "igital": 10233, + "Why": 10234, + "Ġsust": 10235, + "Ġç": 10236, + "abet": 10237, + "Ġsegment": 10238, + "Ġ[],Ċ": 10239, + "ĠMuslim": 10240, + "ĠfindViewById": 10241, + "cut": 10242, + "_TEXT": 10243, + "ĠMary": 10244, + "Ġloved": 10245, + "Ġlie": 10246, + "ĠJO": 10247, + "Ġisset": 10248, + "month": 10249, + "Ġprime": 10250, + "ti": 10251, + "ĠCarol": 10252, + "Use": 10253, + "ĠPop": 10254, + "ĠSave": 10255, + "Interval": 10256, + "execute": 10257, + "dy": 10258, + "ĠIran": 10259, + "_cont": 10260, + "ĉT": 10261, + "Ġphase": 10262, + "checkbox": 10263, + "week": 10264, + "Ġhide": 10265, + "Ġtil": 10266, + "Ġju": 10267, + "Custom": 10268, + "burg": 10269, + "/M": 10270, + "TON": 10271, + "Ġquant": 10272, + "Ġrub": 10273, + "ixels": 10274, + "Ġinstalled": 10275, + "Ġdump": 10276, + "Ġproperly": 10277, + "(List": 10278, + "Ġdecide": 10279, + "apply": 10280, + "Has": 10281, + "Ġkeeping": 10282, + "Ġcitizens": 10283, + "Ġjoint": 10284, + "pool": 10285, + "Socket": 10286, + "_op": 10287, + "Ġweapon": 10288, + "gnore": 10289, + "ĠExec": 10290, + "otten": 10291, + "ĠMS": 10292, + "Ġ(-": 10293, + "ĠReview": 10294, + "Ġexamples": 10295, + "Ġtight": 10296, + "!(": 10297, + "DP": 10298, + "ĠMessageBox": 10299, + "Ġphotograph": 10300, + "URI": 10301, + "ét": 10302, + "low": 10303, + "ĠGrand": 10304, + ".persistence": 10305, + "Ġmaintain": 10306, + "Ġnums": 10307, + "Ġzip": 10308, + "ials": 10309, + "ĠGets": 10310, + "peg": 10311, + "ĠBuffer": 10312, + "~~~~": 10313, + "rastructure": 10314, + "ĠPL": 10315, + "uen": 10316, + "obby": 10317, + "sizeof": 10318, + "Ġpic": 10319, + "Ġseed": 10320, + "Ġexperienced": 10321, + "Ġodd": 10322, + "Ġkick": 10323, + "Ġprocedure": 10324, + "avigator": 10325, + "-on": 10326, + ",j": 10327, + "ĠAlthough": 10328, + "ĠuserId": 10329, + "accept": 10330, + "Blue": 10331, + "IColor": 10332, + "layer": 10333, + "available": 10334, + "Ġends": 10335, + ".table": 10336, + "Ġdataset": 10337, + "bus": 10338, + "Ġexplain": 10339, + "(pro": 10340, + "ĠCommittee": 10341, + "Ġnoted": 10342, + "]:Ċ": 10343, + "Dim": 10344, + "stdio": 10345, + ".\",Ċ": 10346, + "_source": 10347, + "ĠWeek": 10348, + "ĠEdge": 10349, + "Ġoperating": 10350, + "Ġeste": 10351, + "ipl": 10352, + "agination": 10353, + "Ġproceed": 10354, + "Ġanimation": 10355, + ".Models": 10356, + "ĠWatch": 10357, + "iat": 10358, + "Ġoppon": 10359, + "/A": 10360, + "Report": 10361, + "Ġsounds": 10362, + "_buf": 10363, + "IELD": 10364, + "Ġbund": 10365, + "ĉget": 10366, + ".pr": 10367, + "(tmp": 10368, + "Ġkid": 10369, + ">ĊĊĊ": 10370, + "Ġyang": 10371, + "NotFound": 10372, + "ÑĨ": 10373, + "math": 10374, + "@gmail": 10375, + "ĠLIMIT": 10376, + "redients": 10377, + "Ġvent": 10378, + "avigate": 10379, + "Look": 10380, + "Ġreligious": 10381, + "Ġrand": 10382, + "rio": 10383, + "(GL": 10384, + "_ip": 10385, + "uan": 10386, + "iciency": 10387, + "ĠChange": 10388, + ">čĊčĊ": 10389, + "ĠEntity": 10390, + "Ġrencontre": 10391, + "ĠRet": 10392, + "plan": 10393, + "én": 10394, + "BOOL": 10395, + "uries": 10396, + "train": 10397, + "Definition": 10398, + "============": 10399, + "zz": 10400, + "Animation": 10401, + "ĠOK": 10402, + "_menu": 10403, + ".bl": 10404, + "_score": 10405, + "Ġacad": 10406, + "(System": 10407, + "Ġrefresh": 10408, + "'=>$": 10409, + ".Graphics": 10410, + "amento": 10411, + "pid": 10412, + "tc": 10413, + "Ġtips": 10414, + "Ġhomes": 10415, + "Ġfuel": 10416, + "âĸ": 10417, + "_helper": 10418, + "ĠĠčĊ": 10419, + "ĠRoom": 10420, + ".Close": 10421, + "_attr": 10422, + "ĠMount": 10423, + "ĠEv": 10424, + "arser": 10425, + "_top": 10426, + "eah": 10427, + "ĠDelete": 10428, + "ãĢį": 10429, + "uke": 10430, + "Ġusage": 10431, + "aria": 10432, + "_dev": 10433, + "Ġtexture": 10434, + "Ġconversation": 10435, + "eper": 10436, + "Bean": 10437, + "done": 10438, + "nonatomic": 10439, + "ĠSecond": 10440, + "Ġshooting": 10441, + "_pre": 10442, + "Components": 10443, + "Ġ]ĊĊ": 10444, + "__,": 10445, + "stitution": 10446, + ".Char": 10447, + ">();ĊĊ": 10448, + "Ġpresented": 10449, + "Ġwa": 10450, + "oker": 10451, + "-ĊĊ": 10452, + "iner": 10453, + "Ġbecoming": 10454, + "Ġincident": 10455, + "Att": 10456, + "Ġrevealed": 10457, + "forc": 10458, + "Ġboot": 10459, + ".page": 10460, + "Enumerator": 10461, + "_->": 10462, + "Photo": 10463, + "Ġspring": 10464, + ".\",": 10465, + "ĠDictionary": 10466, + "BJECT": 10467, + "Ġlocations": 10468, + "Ġsamples": 10469, + "InputStream": 10470, + "ĠBrown": 10471, + "Ġstats": 10472, + "quality": 10473, + "Ñħ": 10474, + "-dis": 10475, + "Ġhelping": 10476, + "Ġped": 10477, + "(se": 10478, + "ĠWho": 10479, + "alian": 10480, + "internal": 10481, + "Ġft": 10482, + ">().": 10483, + "->{": 10484, + "Ġmine": 10485, + "Ġsector": 10486, + "Ġgro": 10487, + "Ġopportunities": 10488, + "Ġü": 10489, + "Ġmp": 10490, + "Ġalleged": 10491, + "Ġdoubt": 10492, + "Mouse": 10493, + "About": 10494, + "_part": 10495, + "Ġchair": 10496, + "Ġstopped": 10497, + "loop": 10498, + "entities": 10499, + "Ġapps": 10500, + "ansion": 10501, + "Ġmental": 10502, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 10503, + "FR": 10504, + "Ġdefend": 10505, + "care": 10506, + "Ġideal": 10507, + "/api": 10508, + "urface": 10509, + "Ġele": 10510, + "ulator": 10511, + "ĠRights": 10512, + "anguages": 10513, + "Ġfunds": 10514, + "Ġadapt": 10515, + "Attributes": 10516, + "Ġdeploy": 10517, + "opts": 10518, + "Ġvalidation": 10519, + "Ġconcerns": 10520, + "uce": 10521, + ".num": 10522, + "ulture": 10523, + "ila": 10524, + "Ġcup": 10525, + "Ġpure": 10526, + ".Fore": 10527, + "ĠHashMap": 10528, + ".valueOf": 10529, + "asm": 10530, + "MO": 10531, + "Ġcs": 10532, + "Ġstores": 10533, + "Ġ************************************************************************": 10534, + "Ġcommunication": 10535, + "mem": 10536, + ".EventHandler": 10537, + ".Status": 10538, + "_right": 10539, + ".setOn": 10540, + "Sheet": 10541, + "Ġidentify": 10542, + "enerated": 10543, + "ordered": 10544, + "Ġ\"[": 10545, + "Ġswe": 10546, + "Condition": 10547, + "ĠAccording": 10548, + "Ġprepare": 10549, + "Ġrob": 10550, + "Pool": 10551, + "Ġsport": 10552, + "rv": 10553, + "ĠRouter": 10554, + "Ġalternative": 10555, + "([]": 10556, + "ĠChicago": 10557, + "ipher": 10558, + "ische": 10559, + "ĠDirector": 10560, + "kl": 10561, + "ĠWil": 10562, + "keys": 10563, + "Ġmysql": 10564, + "Ġwelcome": 10565, + "king": 10566, + "ĠManager": 10567, + "Ġcaught": 10568, + ")}Ċ": 10569, + "Score": 10570, + "_PR": 10571, + "Ġsurvey": 10572, + "hab": 10573, + "Headers": 10574, + "ADER": 10575, + "Ġdecor": 10576, + "Ġturns": 10577, + "Ġradius": 10578, + "errupt": 10579, + "Cor": 10580, + "Ġmel": 10581, + "Ġintr": 10582, + "(q": 10583, + "ĠAC": 10584, + "amos": 10585, + "MAX": 10586, + "ĠGrid": 10587, + "ĠJesus": 10588, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 10589, + ".DE": 10590, + "Ġts": 10591, + "Ġlinked": 10592, + "free": 10593, + "ĠQt": 10594, + "Ġ/**čĊ": 10595, + "Ġfaster": 10596, + "ctr": 10597, + "_J": 10598, + "DT": 10599, + ".Check": 10600, + "Ġcombination": 10601, + "Ġintended": 10602, + "-the": 10603, + "-type": 10604, + "ectors": 10605, + "ami": 10606, + "uting": 10607, + "Ġuma": 10608, + "XML": 10609, + "UCT": 10610, + "Ap": 10611, + "ĠRandom": 10612, + "Ġran": 10613, + ".sort": 10614, + "Ġsorted": 10615, + ".Un": 10616, + "_PER": 10617, + "itory": 10618, + "Ġpriority": 10619, + "ĠGal": 10620, + "ĠOld": 10621, + "hot": 10622, + "ĠDisplay": 10623, + "(sub": 10624, + "_TH": 10625, + "_Y": 10626, + "ĠCare": 10627, + "loading": 10628, + "Kind": 10629, + "_handle": 10630, + ",,": 10631, + "rase": 10632, + "_replace": 10633, + ".addEventListener": 10634, + "ĠRT": 10635, + "Ġentered": 10636, + "gers": 10637, + "Ġich": 10638, + "(start": 10639, + "/app": 10640, + "Ġbrother": 10641, + "Memory": 10642, + "Outlet": 10643, + "Ġutf": 10644, + "prec": 10645, + "Ġnavigation": 10646, + "ORK": 10647, + "Ġdst": 10648, + "Detail": 10649, + "Ġaudience": 10650, + "Ġdur": 10651, + "Ġcluster": 10652, + "unched": 10653, + "Ġ],": 10654, + "Ġcomfortable": 10655, + ".values": 10656, + "ĠTotal": 10657, + "Ġsnap": 10658, + "Ġstandards": 10659, + "Ġperformed": 10660, + "hand": 10661, + "(\"@": 10662, + "åŃ": 10663, + "Ġphil": 10664, + "ibr": 10665, + "trim": 10666, + "Ġforget": 10667, + "Ġdoctor": 10668, + ".TextBox": 10669, + "icons": 10670, + ",s": 10671, + "ĠOp": 10672, + "Sm": 10673, + "Stop": 10674, + "ĉList": 10675, + "ĉu": 10676, + "Comment": 10677, + "_VERSION": 10678, + ".Xtra": 10679, + "Person": 10680, + "rb": 10681, + "LOB": 10682, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ": 10683, + "ĠCentral": 10684, + "ICK": 10685, + "raq": 10686, + "Ġputting": 10687, + "Ġmd": 10688, + "ĠLove": 10689, + "Program": 10690, + "Border": 10691, + "oor": 10692, + "Ġallowing": 10693, + "after": 10694, + "Ġentries": 10695, + "ĠMaybe": 10696, + "]).": 10697, + "ĠShort": 10698, + ")\\": 10699, + ".now": 10700, + "friend": 10701, + "Ġprefer": 10702, + "ĠGPIO": 10703, + "osis": 10704, + "ĠGameObject": 10705, + "Ġskip": 10706, + "Ġcompetition": 10707, + "_match": 10708, + "lications": 10709, + "_CONT": 10710, + ".groupBox": 10711, + "Ġals": 10712, + "\"We": 10713, + "_eq": 10714, + "lan": 10715, + "_search": 10716, + "ĠMusic": 10717, + "asis": 10718, + "Ġbind": 10719, + "ĠIsland": 10720, + "rum": 10721, + "(E": 10722, + "Ġseat": 10723, + "Video": 10724, + "Ġack": 10725, + "reek": 10726, + "={()": 10727, + "Ġrating": 10728, + "Ġrestaurant": 10729, + "DEX": 10730, + "(buf": 10731, + "pping": 10732, + "uality": 10733, + "Ġleague": 10734, + "Ġfocused": 10735, + "apon": 10736, + "$data": 10737, + "CLUD": 10738, + "CLUDING": 10739, + "Ġabsolute": 10740, + "(query": 10741, + "Ġtells": 10742, + "Ang": 10743, + "Ġcommunities": 10744, + "Ġhonest": 10745, + "oking": 10746, + "Ġapart": 10747, + "arity": 10748, + "/$": 10749, + "_module": 10750, + "ĠEnc": 10751, + ".an": 10752, + ".Config": 10753, + "Cre": 10754, + "Ġshock": 10755, + "ĠArab": 10756, + "IENT": 10757, + "/re": 10758, + "Ġretrie": 10759, + "ycler": 10760, + "isa": 10761, + "ĠOrgan": 10762, + ".graph": 10763, + "Ġí": 10764, + "ĠBAS": 10765, + "Enum": 10766, + "Ġpossibly": 10767, + "ÑĢаÐ": 10768, + "ĠJapanese": 10769, + "Ġcraft": 10770, + "ĠPlace": 10771, + "Ġtalent": 10772, + "Ġfunding": 10773, + "Ġconfirmed": 10774, + "Ġcycle": 10775, + "/x": 10776, + "GE": 10777, + "Ġhearing": 10778, + "Ġplants": 10779, + "Ġmouth": 10780, + "pages": 10781, + "oria": 10782, + "ĠRemove": 10783, + "_total": 10784, + "Ġod": 10785, + "ollapse": 10786, + "door": 10787, + "Ġbought": 10788, + "Ġaddr": 10789, + "ARCH": 10790, + "_dim": 10791, + "dden": 10792, + "Ġdecades": 10793, + "REQUEST": 10794, + "Ġversions": 10795, + "fire": 10796, + "Ġmoves": 10797, + "fb": 10798, + "Ġcoffee": 10799, + ".connect": 10800, + "ĠRow": 10801, + "Ġschema": 10802, + "Scope": 10803, + "-Type": 10804, + "Ġfighting": 10805, + "Ġretail": 10806, + "Ġmodified": 10807, + "TF": 10808, + "Files": 10809, + "nie": 10810, + "_command": 10811, + "stone": 10812, + "ĠÑĤ": 10813, + "_thread": 10814, + "Ġbond": 10815, + "ĠDevelopment": 10816, + "Ġpt": 10817, + "FORM": 10818, + "plet": 10819, + "Ġidentified": 10820, + "cpp": 10821, + "Ġcoding": 10822, + "oked": 10823, + "ĠMaster": 10824, + "IDTH": 10825, + "Ġresidents": 10826, + "redit": 10827, + "ĠPhoto": 10828, + "=-": 10829, + "unte": 10830, + "ateur": 10831, + "_STATE": 10832, + "ĠSing": 10833, + "Ġsheet": 10834, + ".val": 10835, + "orse": 10836, + "Ġhers": 10837, + "Ġdetermined": 10838, + "Common": 10839, + "Ġwed": 10840, + "_queue": 10841, + "PH": 10842, + "ĠAtl": 10843, + "cred": 10844, + "/LICENSE": 10845, + "Ġmes": 10846, + "Ġadvanced": 10847, + ".java": 10848, + ".Sh": 10849, + "Go": 10850, + "kill": 10851, + "fp": 10852, + "_settings": 10853, + "Ġpal": 10854, + "Ġtruck": 10855, + "Ġcombined": 10856, + "Ġ\"${": 10857, + "ĠCorpor": 10858, + "Ġjoined": 10859, + "ĠJose": 10860, + "ĠCup": 10861, + "uns": 10862, + "estival": 10863, + "levision": 10864, + "Ġbroken": 10865, + "Ġmarriage": 10866, + "ĠWestern": 10867, + "Ġrepresents": 10868, + "ĠTitle": 10869, + "Ġss": 10870, + ".Ass": 10871, + "ongoose": 10872, + "iento": 10873, + "<>();Ċ": 10874, + "Ġabsolutely": 10875, + "Ġsmooth": 10876, + "TERN": 10877, + "ĠUnless": 10878, + "Word": 10879, + "Ġmerge": 10880, + "igan": 10881, + "ĠVol": 10882, + "Ġnn": 10883, + ".getId": 10884, + "Ġз": 10885, + "Ġsexy": 10886, + "Ġseeking": 10887, + "Single": 10888, + ".this": 10889, + "Ġkom": 10890, + "bound": 10891, + ";\"": 10892, + "ĠfontSize": 10893, + "_df": 10894, + "Ġinjury": 10895, + "(H": 10896, + "Ġissued": 10897, + "_END": 10898, + ":self": 10899, + "Ġpatch": 10900, + "Ġleaves": 10901, + "Ġadopt": 10902, + "FileName": 10903, + "ãĢIJ": 10904, + "Ġexecutive": 10905, + "ĠByte": 10906, + "]))Ċ": 10907, + "Ġnu": 10908, + "outing": 10909, + "cluding": 10910, + "-R": 10911, + ".options": 10912, + "Ġsubstant": 10913, + "avax": 10914, + "ĠBUT": 10915, + "Ġtechnical": 10916, + "Ġtwice": 10917, + "Ġmás": 10918, + "Ġunivers": 10919, + "yr": 10920, + "Ġdrag": 10921, + "ĠDC": 10922, + "Ġsed": 10923, + "Ġbot": 10924, + "ĠPal": 10925, + "ĠHall": 10926, + "forcement": 10927, + "Ġauch": 10928, + ".mod": 10929, + "notation": 10930, + "_files": 10931, + ".line": 10932, + "_flag": 10933, + "[name": 10934, + "Ġresolution": 10935, + "Ġbott": 10936, + "(\"[": 10937, + "ende": 10938, + "(arr": 10939, + "Free": 10940, + "(@\"": 10941, + "ĠDistrict": 10942, + "PEC": 10943, + ":-": 10944, + "Picker": 10945, + "ĠJo": 10946, + "ĠĠĠĠĠĊ": 10947, + "ĠRiver": 10948, + "_rows": 10949, + "Ġhelpful": 10950, + "Ġmassive": 10951, + "---Ċ": 10952, + "Ġmeasures": 10953, + "ĠRuntime": 10954, + "Ġworry": 10955, + "ĠSpec": 10956, + "ĉD": 10957, + "ãĢij": 10958, + "Ġ){Ċ": 10959, + "Ġworse": 10960, + "(filename": 10961, + "Ġlay": 10962, + "Ġmagic": 10963, + "ĠTheir": 10964, + "oul": 10965, + "stroy": 10966, + "ĠWhere": 10967, + "Ġsudden": 10968, + "Ġdefe": 10969, + "Ġbinding": 10970, + "Ġflight": 10971, + "ĠOnInit": 10972, + "ĠWomen": 10973, + "ĠPolicy": 10974, + "Ġdrugs": 10975, + "ishing": 10976, + "('../": 10977, + "ĠMel": 10978, + "peat": 10979, + "tor": 10980, + "Ġproposed": 10981, + "Ġstated": 10982, + "_RES": 10983, + "Ġeast": 10984, + "ĠCONDITION": 10985, + "_desc": 10986, + "Ġwinning": 10987, + "folio": 10988, + "Mapper": 10989, + "ĠPan": 10990, + "ĠAnge": 10991, + ".servlet": 10992, + "Ġcopies": 10993, + "LM": 10994, + "Ġvm": 10995, + "åį": 10996, + "Ġdictionary": 10997, + "Seg": 10998, + "elines": 10999, + "ĠSend": 11000, + "Ġiron": 11001, + "ĠFort": 11002, + ".domain": 11003, + "Ġdebate": 11004, + "NotNull": 11005, + "eq": 11006, + "acher": 11007, + "lf": 11008, + "ĉfmt": 11009, + "Ġlawy": 11010, + "ÄŁ": 11011, + "ĠMen": 11012, + "Ġtrim": 11013, + "(NULL": 11014, + "Ġ!!": 11015, + "Ġpad": 11016, + "Ġfollows": 11017, + "\"][\"": 11018, + "requ": 11019, + "ĠEp": 11020, + ".github": 11021, + "(img": 11022, + "eto": 11023, + "('\\": 11024, + "Services": 11025, + "umbnail": 11026, + "_main": 11027, + "pleted": 11028, + "fortunately": 11029, + "Ġwindows": 11030, + "Ġplane": 11031, + "ĠConnection": 11032, + ".local": 11033, + "uard": 11034, + "}\\": 11035, + "==\"": 11036, + "andon": 11037, + "ĠRoy": 11038, + "west": 11039, + "iginal": 11040, + "emies": 11041, + "itz": 11042, + "'):Ċ": 11043, + "ĠPeter": 11044, + "Ġtough": 11045, + "Ġreduced": 11046, + "Ġcalculate": 11047, + "Ġrapid": 11048, + "customer": 11049, + "Ġefficient": 11050, + "Ġmedium": 11051, + "Ġfell": 11052, + ".ref": 11053, + "ĠCas": 11054, + "Ġfeedback": 11055, + "Speed": 11056, + "(output": 11057, + "aje": 11058, + "Ġcategories": 11059, + "Ġfee": 11060, + "};": 11061, + "Ġdeleted": 11062, + "reh": 11063, + "Ġproof": 11064, + "Desc": 11065, + "Build": 11066, + "Ġsides": 11067, + ".ArrayList": 11068, + "-%": 11069, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 11070, + "ر": 11071, + ".match": 11072, + "ли": 11073, + "Ġfeels": 11074, + "Ġachieve": 11075, + "Ġclim": 11076, + "_ON": 11077, + "ĠCD": 11078, + "Ġteacher": 11079, + "_current": 11080, + "bn": 11081, + "_PL": 11082, + "isting": 11083, + "Enable": 11084, + "GEN": 11085, + "Ġtv": 11086, + "Ġsock": 11087, + "Ġplays": 11088, + "Ġdiscount": 11089, + "ĠKE": 11090, + "ĠDebug": 11091, + "Fore": 11092, + "ĠIraq": 11093, + "Ġappearance": 11094, + "Mon": 11095, + "Ġstyled": 11096, + "ĠHuman": 11097, + "iot": 11098, + "ĠHistory": 11099, + "Ġsac": 11100, + "ĠCollection": 11101, + "Ġrecommended": 11102, + ".Selected": 11103, + "Ġorganizations": 11104, + "Ġdiscovered": 11105, + "cohol": 11106, + "adas": 11107, + "ĠThomas": 11108, + "May": 11109, + "Ġconserv": 11110, + "Ġdomin": 11111, + "ĠFollow": 11112, + "ĠSection": 11113, + "ĠThanks": 11114, + "Username": 11115, + "Ġrecipe": 11116, + "Ġwonderful": 11117, + ".sleep": 11118, + "_if": 11119, + "ĉĊĉĊ": 11120, + "orno": 11121, + "Ġru": 11122, + "_target": 11123, + ".\"\"": 11124, + "à¦": 11125, + "EventArgs": 11126, + "Ġinputs": 11127, + "Ġfif": 11128, + "Ġvision": 11129, + "cy": 11130, + "ĠSeries": 11131, + ")(((": 11132, + "Ġtrading": 11133, + "Ġmarker": 11134, + "Begin": 11135, + "Ġtypically": 11136, + "Ġcauses": 11137, + "dropdown": 11138, + "_DEBUG": 11139, + "Ġdetect": 11140, + "country": 11141, + "!\");Ċ": 11142, + "ĉR": 11143, + "appy": 11144, + "Ġcref": 11145, + "('<": 11146, + "\"=>": 11147, + "ĠLE": 11148, + "reader": 11149, + "Ġadministr": 11150, + "õ": 11151, + "ucket": 11152, + "Ġfashion": 11153, + ".char": 11154, + "izar": 11155, + "Ġdisable": 11156, + "Ġsuc": 11157, + "ĠLive": 11158, + "issue": 11159, + "Ġmetadata": 11160, + "flags": 11161, + "ĠðŁ": 11162, + "Ġcommitted": 11163, + "Ġva": 11164, + "Ġrough": 11165, + "Ġ'''Ċ": 11166, + "Ġhighlight": 11167, + "_vars": 11168, + "VO": 11169, + "Ġencoding": 11170, + "-Z": 11171, + "_sign": 11172, + "$(\"#": 11173, + "Ġrain": 11174, + "reatest": 11175, + "ĠEND": 11176, + "Selection": 11177, + "Ġcandidates": 11178, + "Ġsav": 11179, + ".Empty": 11180, + "Ġdecisions": 11181, + "Ġcollabor": 11182, + "ridge": 11183, + "feed": 11184, + "ression": 11185, + "Ġpersons": 11186, + "VM": 11187, + "ega": 11188, + "_BIT": 11189, + "According": 11190, + "acked": 11191, + "Ġdollars": 11192, + "_loss": 11193, + "ĠCost": 11194, + "}\"Ċ": 11195, + "Notification": 11196, + "Ġprostit": 11197, + "Ġauthority": 11198, + ".rec": 11199, + "Ġspokes": 11200, + "ĠToday": 11201, + "istant": 11202, + "ĠHead": 11203, + "âĢĿ.": 11204, + "ertainment": 11205, + "cean": 11206, + "culate": 11207, + "Ġven": 11208, + "However": 11209, + "_arr": 11210, + "Ġtokens": 11211, + "Graph": 11212, + "ĠJud": 11213, + "ĠVirgin": 11214, + "ĠSerial": 11215, + "unning": 11216, + "Mutable": 11217, + "agers": 11218, + ".csv": 11219, + "Ġdeveloping": 11220, + "Ġinstructions": 11221, + "Ġpromise": 11222, + "Ġrequested": 11223, + "_encode": 11224, + "/\"": 11225, + "ĠIcon": 11226, + "uilt": 11227, + "-day": 11228, + "Ġintelligence": 11229, + ".IS": 11230, + "ĠObservable": 11231, + "ĠHard": 11232, + "Bool": 11233, + "idential": 11234, + ".Anchor": 11235, + "Ġselling": 11236, + "CI": 11237, + "AGES": 11238, + "tle": 11239, + "bur": 11240, + "UFFER": 11241, + "RY": 11242, + "Ġbigger": 11243, + "Ġrat": 11244, + "Ġfamous": 11245, + "Ġtypename": 11246, + "Ġexplained": 11247, + "}}Ċ": 11248, + "Ġnuclear": 11249, + "-N": 11250, + "Ġcrisis": 11251, + "ĠEnter": 11252, + "Ġanswers": 11253, + "/${": 11254, + "/pl": 11255, + "Ġsequ": 11256, + "_next": 11257, + "mask": 11258, + "Ġstanding": 11259, + "Ġplenty": 11260, + "ĠCross": 11261, + "ĉret": 11262, + "dro": 11263, + "ĠCast": 11264, + "=true": 11265, + "ĠChris": 11266, + "icio": 11267, + "ĠMike": 11268, + "Decimal": 11269, + "addComponent": 11270, + "Len": 11271, + "Ġcock": 11272, + "Ġ#{": 11273, + "URN": 11274, + "": 11403, + "Ġ*=": 11404, + "ĠPS": 11405, + "Ġdangerous": 11406, + "[p": 11407, + "OME": 11408, + "Other": 11409, + "ĠStringBuilder": 11410, + "Points": 11411, + "heading": 11412, + "Ġcurrency": 11413, + "Ġpercentage": 11414, + "_API": 11415, + "Ġclassic": 11416, + "thead": 11417, + "ĠMO": 11418, + "FE": 11419, + "Idx": 11420, + "await": 11421, + "Ġè": 11422, + "Ġaccident": 11423, + "Ġvariant": 11424, + "Ġmyst": 11425, + "ĠLand": 11426, + "ĠBre": 11427, + "Ġharm": 11428, + "ĠAcc": 11429, + "Ġcharged": 11430, + "iones": 11431, + "Visibility": 11432, + "arry": 11433, + "ĠLanguage": 11434, + "Ġwalking": 11435, + "\".ĊĊ": 11436, + "ifer": 11437, + "Ġleadership": 11438, + ".From": 11439, + "ynam": 11440, + "Ġtimestamp": 11441, + "ipt": 11442, + "ĠHas": 11443, + "REFER": 11444, + "ĠIts": 11445, + "Ġlistener": 11446, + "UTE": 11447, + "_description": 11448, + "Ġexperiences": 11449, + "Ġcreates": 11450, + "RS": 11451, + "cart": 11452, + "black": 11453, + "Ġchoices": 11454, + "war": 11455, + "Ġ'''": 11456, + "Ġordered": 11457, + "Ġevening": 11458, + "Ġpil": 11459, + "Ġtun": 11460, + "ĠBad": 11461, + "(app": 11462, + "random": 11463, + "Ġexplicit": 11464, + "Ġarrived": 11465, + "Ġfly": 11466, + "Ġeconom": 11467, + "-mail": 11468, + "Ġlists": 11469, + "Ġarchitect": 11470, + "ĠPay": 11471, + "Ġds": 11472, + "ĠSol": 11473, + "Ġvehicles": 11474, + "Hz": 11475, + "-com": 11476, + "Ġking": 11477, + "_equal": 11478, + "ĠHelp": 11479, + "Ġabuse": 11480, + "--;Ċ": 11481, + "Ġextr": 11482, + "Ġchemical": 11483, + "ä¿": 11484, + "Ġorient": 11485, + "Ġbreath": 11486, + "ĠSpace": 11487, + "(element": 11488, + "wait": 11489, + "DED": 11490, + "igma": 11491, + "Ġentr": 11492, + "Ġsob": 11493, + "-name": 11494, + "Ġaffected": 11495, + "ika": 11496, + "Ġcoal": 11497, + "_work": 11498, + "Ġhundreds": 11499, + "Ġpolitics": 11500, + "subject": 11501, + "Ġconsumer": 11502, + "ANGE": 11503, + "Ġrepeated": 11504, + "Send": 11505, + "Ġ#[": 11506, + "Ġprotocol": 11507, + "Ġleads": 11508, + "useum": 11509, + "Every": 11510, + "Import": 11511, + "(count": 11512, + "Ġchallenges": 11513, + "Ġnovel": 11514, + "Ġdepart": 11515, + "bits": 11516, + ".Current": 11517, + "Ġ`${": 11518, + "oting": 11519, + "(\\": 11520, + "Ġcreative": 11521, + "Ġbuff": 11522, + "Ġintroduced": 11523, + "usic": 11524, + "modules": 11525, + "Are": 11526, + "-doc": 11527, + "language": 11528, + "_cache": 11529, + "Ġtod": 11530, + "?>{{": 11764, + "ĠResource": 11765, + "ĠStandard": 11766, + "ĠPrem": 11767, + "updated": 11768, + "ivalent": 11769, + "Ġassets": 11770, + "_temp": 11771, + "Ġinterests": 11772, + "Ġhardware": 11773, + "ĠRom": 11774, + "ĠShare": 11775, + "Ġ''Ċ": 11776, + "Ġ*,": 11777, + "ĠTake": 11778, + "ĠImages": 11779, + "_CHECK": 11780, + "(typeof": 11781, + "ĠJun": 11782, + "\\<^": 11783, + "Ġliqu": 11784, + "Ġworst": 11785, + "ymbols": 11786, + "ĉĉĉĠĠĠ": 11787, + "Ġdrivers": 11788, + "ĠDocument": 11789, + "eno": 11790, + "ĠTechnology": 11791, + "Ġapproved": 11792, + "umps": 11793, + "Ġsnow": 11794, + "formance": 11795, + "_ASSERT": 11796, + "uits": 11797, + "ÙĨ": 11798, + "Ġdifferences": 11799, + ".Visible": 11800, + "ĉĉĉčĊ": 11801, + "ĠPs": 11802, + "_fetch": 11803, + "Ġtodo": 11804, + ".',Ċ": 11805, + "Ġsel": 11806, + "urers": 11807, + "invalid": 11808, + "Ġtweet": 11809, + "VEL": 11810, + "Ġresearchers": 11811, + "Ġsprintf": 11812, + "ĠRO": 11813, + "Ġpel": 11814, + ".Trans": 11815, + "Ġillegal": 11816, + "dialog": 11817, + "smarty": 11818, + "lg": 11819, + "_MIN": 11820, + "Ġhero": 11821, + "final": 11822, + "Ġpp": 11823, + ".Le": 11824, + "Ġci": 11825, + "ĉRT": 11826, + "Ġsuggested": 11827, + "pdf": 11828, + "aching": 11829, + "ĠRo": 11830, + "ĠProperties": 11831, + "ĠSi": 11832, + "Ġbuying": 11833, + "Ġmu": 11834, + "Ġlands": 11835, + "ifiers": 11836, + "ĠFILE": 11837, + "ROUP": 11838, + "Ġholder": 11839, + "ĠSon": 11840, + "Ġsympt": 11841, + ".route": 11842, + ")?": 11843, + "Ġargc": 11844, + "Ġfort": 11845, + "Ġcasino": 11846, + "_category": 11847, + "Ġforum": 11848, + "prefix": 11849, + "apture": 11850, + "Tube": 11851, + "ems": 11852, + "imize": 11853, + "Ġnue": 11854, + "aus": 11855, + "course": 11856, + "ATOR": 11857, + "()),": 11858, + "Advertis": 11859, + "INGS": 11860, + "Ġacknow": 11861, + "ĠKorea": 11862, + "pling": 11863, + "Ġworker": 11864, + "PLIED": 11865, + "hal": 11866, + "ĠRichard": 11867, + "Elements": 11868, + "ĉĉĉĠ": 11869, + "star": 11870, + "Ġrelationships": 11871, + "Ġcheap": 11872, + "ACH": 11873, + "ĠXML": 11874, + ",&": 11875, + "ĠLouis": 11876, + "Ġride": 11877, + "_FAIL": 11878, + "Ġchunk": 11879, + "[s": 11880, + "_OUT": 11881, + "Ġchosen": 11882, + "_[": 11883, + "/(": 11884, + "ĠJeff": 11885, + "_sl": 11886, + "priv": 11887, + "ĠCanadian": 11888, + "Ġunable": 11889, + "_FLAG": 11890, + "Ġnos": 11891, + "high": 11892, + "Ġlift": 11893, + "fun": 11894, + "(){": 11895, + "elly": 11896, + "yclerView": 11897, + "_as": 11898, + "_LIST": 11899, + "Ġradi": 11900, + ".getValue": 11901, + "ĠAngeles": 11902, + "ĠSpan": 11903, + "_instance": 11904, + "itors": 11905, + "Ġmigration": 11906, + "AK": 11907, + "Oh": 11908, + "®": 11909, + ".selected": 11910, + "ĠGT": 11911, + "Ġadvance": 11912, + "ĠStyle": 11913, + ".DataGridView": 11914, + "ection": 11915, + "Ñİ": 11916, + "pio": 11917, + "rog": 11918, + "Ġshopping": 11919, + "ĠRect": 11920, + "Illuminate": 11921, + "OU": 11922, + "ĉarray": 11923, + "Ġsubstantial": 11924, + "Ġpregn": 11925, + "Ġpromote": 11926, + "IEW": 11927, + ".Layout": 11928, + "Ġsigns": 11929, + "/.": 11930, + "Ġletters": 11931, + "Board": 11932, + "ctrl": 11933, + "\"\\": 11934, + "ĠJones": 11935, + "Ġvertex": 11936, + "Ġja": 11937, + "Ġaffili": 11938, + "Ġwealth": 11939, + "ĉdefault": 11940, + "Ġsignificantly": 11941, + "Ġec": 11942, + "Ġxs": 11943, + "actual": 11944, + ".per": 11945, + "_step": 11946, + "anvas": 11947, + "mac": 11948, + "Ġtransl": 11949, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 11950, + "Iterator": 11951, + "Ġoch": 11952, + "agnostic": 11953, + "ĠDuring": 11954, + "ĠDEFAULT": 11955, + "Ġtill": 11956, + "Ġsignature": 11957, + "Ġbird": 11958, + "ĠOl": 11959, + "ĠIr": 11960, + "HS": 11961, + "avatar": 11962, + "ESSAGE": 11963, + "Ġelev": 11964, + "Ġmt": 11965, + "ĠNav": 11966, + "Ġrelax": 11967, + "Ġplate": 11968, + "ITEM": 11969, + "(date": 11970, + ".not": 11971, + "Ġgrade": 11972, + "Ġ}),Ċ": 11973, + "?\"ĊĊ": 11974, + "iences": 11975, + "High": 11976, + "ĠDIS": 11977, + "disabled": 11978, + "QUI": 11979, + "Ġnoise": 11980, + "aux": 11981, + "ĠUP": 11982, + "osa": 11983, + "Ġvoc": 11984, + "Ġ))": 11985, + "ocom": 11986, + "_OFF": 11987, + "ĠDb": 11988, + "Lock": 11989, + ".eclipse": 11990, + ",d": 11991, + "ĠDraw": 11992, + "Ġ\"(": 11993, + "Ġvisited": 11994, + "ĠâĪ": 11995, + "Ġsucceed": 11996, + "Ġimpossible": 11997, + "aire": 11998, + "ĠTurn": 11999, + "Ġdish": 12000, + "FG": 12001, + "Ġsensor": 12002, + "ANN": 12003, + "aba": 12004, + "Ġsurg": 12005, + "]);čĊ": 12006, + "Ġfp": 12007, + "_an": 12008, + "-J": 12009, + "-G": 12010, + "ĠJob": 12011, + "Convert": 12012, + "ĠKEY": 12013, + "Ġauthors": 12014, + "_server": 12015, + "\\r": 12016, + "Ġ-*-": 12017, + "flex": 12018, + "Ġsoc": 12019, + "Ret": 12020, + "Ġsalt": 12021, + "Ġâ̦ĊĊ": 12022, + "ĠClear": 12023, + "(page": 12024, + "-danger": 12025, + "Ġrooms": 12026, + "conv": 12027, + "#{": 12028, + ".op": 12029, + "ĠArea": 12030, + "_SC": 12031, + "hen": 12032, + "Ġbegins": 12033, + "-y": 12034, + "Ġexcited": 12035, + "Ġignored": 12036, + "Ġbonus": 12037, + "student": 12038, + "ĠMember": 12039, + "Ġrelatively": 12040, + "ĠLow": 12041, + "ĠProdu": 12042, + "ateway": 12043, + "posure": 12044, + "Ġthick": 12045, + "aniel": 12046, + "(view": 12047, + "ĠCrush": 12048, + "Extension": 12049, + "Il": 12050, + "eed": 12051, + "LOC": 12052, + ".im": 12053, + ".Items": 12054, + "Ġconflict": 12055, + ".prevent": 12056, + "ĠonCreate": 12057, + "uv": 12058, + "iser": 12059, + "Ġwave": 12060, + "Mar": 12061, + "ĠCommunity": 12062, + "iche": 12063, + "ĠNothing": 12064, + "[m": 12065, + "ĠLee": 12066, + "riends": 12067, + "ère": 12068, + "!!!": 12069, + "anz": 12070, + ".result": 12071, + "ĠSK": 12072, + "_PARAM": 12073, + "Ġdemocr": 12074, + "BackColor": 12075, + ".exists": 12076, + "\"It": 12077, + "(options": 12078, + "razy": 12079, + "aser": 12080, + "\\Database": 12081, + "alendar": 12082, + "_ass": 12083, + ";}Ċ": 12084, + "vertex": 12085, + "inecraft": 12086, + "Warning": 12087, + "argo": 12088, + "Ġactor": 12089, + "ĠInstead": 12090, + "ĠUsing": 12091, + "Self": 12092, + "@interface": 12093, + "Ġspeaking": 12094, + "ĠParis": 12095, + "ĠLICENSE": 12096, + ".node": 12097, + "ĠFood": 12098, + "EIF": 12099, + "ĠBi": 12100, + ".Start": 12101, + "ĠIB": 12102, + "Ġuniversity": 12103, + "ĠHeader": 12104, + ".product": 12105, + "Copy": 12106, + "etc": 12107, + "rical": 12108, + "Ġ>>>": 12109, + "books": 12110, + "Ġalgorithm": 12111, + "Ġ'__": 12112, + "(javax": 12113, + "Ġnumerous": 12114, + "Share": 12115, + "Have": 12116, + "Ġrecru": 12117, + "Ġprove": 12118, + ".substring": 12119, + "health": 12120, + "ел": 12121, + "Ġdecimal": 12122, + "Ġcommission": 12123, + "scription": 12124, + "xC": 12125, + "Ġsummary": 12126, + "atted": 12127, + "Ġcloser": 12128, + "finished": 12129, + "()){Ċ": 12130, + "ĠWood": 12131, + "_fields": 12132, + "ku": 12133, + "_items": 12134, + "Flag": 12135, + "Ġconfidence": 12136, + "ĠFederal": 12137, + "dux": 12138, + "Ġcompat": 12139, + "Ġvertical": 12140, + "й": 12141, + "ès": 12142, + ";\">Ċ": 12143, + "_manager": 12144, + "()))Ċ": 12145, + "IDE": 12146, + ":\",": 12147, + "__Ċ": 12148, + "ĠWay": 12149, + "ÑĪ": 12150, + "Temp": 12151, + "ĠSTR": 12152, + "ritten": 12153, + "Sync": 12154, + "ĠAV": 12155, + "ĠCEO": 12156, + "ĠGuid": 12157, + "Ġenvironmental": 12158, + "Ġcorresponding": 12159, + "ĉconsole": 12160, + "Ġjustice": 12161, + "ĠJS": 12162, + "Ġlived": 12163, + "gar": 12164, + "ĠGraph": 12165, + "ĠStat": 12166, + "ĠiPhone": 12167, + ".al": 12168, + "ĠHD": 12169, + "Ġoccur": 12170, + "Ġthreshold": 12171, + "Ġonclick": 12172, + "REG": 12173, + ".GraphicsUnit": 12174, + "Meta": 12175, + "ž": 12176, + "Ġcum": 12177, + ".gnu": 12178, + "ë": 12179, + "Ġobtained": 12180, + "Ġcomplaint": 12181, + "Ġeating": 12182, + "Ġtar": 12183, + "_task": 12184, + "Ġopts": 12185, + "(to": 12186, + "Pass": 12187, + "Ġplastic": 12188, + "tility": 12189, + "ĠWin": 12190, + ".preventDefault": 12191, + "pile": 12192, + "ĠGar": 12193, + "Ġquantity": 12194, + "_last": 12195, + "Ġgreatest": 12196, + "Dao": 12197, + "_DIS": 12198, + "ĠUsed": 12199, + "ĠHP": 12200, + "riting": 12201, + "SION": 12202, + "blue": 12203, + "domain": 12204, + "Ġscores": 12205, + "Normal": 12206, + "_admin": 12207, + "ĠASSERT": 12208, + "Then": 12209, + "***": 12210, + "dist": 12211, + "lon": 12212, + "Ġhate": 12213, + "shal": 12214, + "ImageView": 12215, + "database": 12216, + "Ġpand": 12217, + "Ġlogic": 12218, + "=false": 12219, + "bg": 12220, + "ĠConfiguration": 12221, + "Ġnur": 12222, + "OG": 12223, + "Ġmarried": 12224, + ":+": 12225, + "Ġdropped": 12226, + "Ġregistration": 12227, + "ом": 12228, + "ultiple": 12229, + "izers": 12230, + "shape": 12231, + ".copy": 12232, + "Ġwearing": 12233, + "ĠCath": 12234, + "Ġdedicated": 12235, + "Ġ...Ċ": 12236, + "Ġadvoc": 12237, + "ĠFamily": 12238, + "Ġstatements": 12239, + "ematic": 12240, + "ampionship": 12241, + "Ġmotiv": 12242, + "ĠHave": 12243, + "Ġblow": 12244, + "Job": 12245, + "cert": 12246, + "_vector": 12247, + "install": 12248, + "ĠCOPY": 12249, + "embed": 12250, + "DIR": 12251, + "ĠSpring": 12252, + "Ġexhib": 12253, + "cdn": 12254, + "ĠComment": 12255, + "ĠOptional": 12256, + ".player": 12257, + "ĠDark": 12258, + "(pos": 12259, + "ĠShould": 12260, + "Ġcentre": 12261, + "ĠGuard": 12262, + "ów": 12263, + "Ġtrouble": 12264, + "ENER": 12265, + "(unsigned": 12266, + "_service": 12267, + "Ġns": 12268, + "uling": 12269, + "ĠMexico": 12270, + "ĠNY": 12271, + "mysql": 12272, + "Ġlic": 12273, + "åľ": 12274, + "Mr": 12275, + "-fl": 12276, + "ĠCustomer": 12277, + "idi": 12278, + "Ġ?>ĊĊ": 12279, + "rible": 12280, + "ĠпÑĢ": 12281, + "Ġsizes": 12282, + "_STRING": 12283, + "validation": 12284, + "ĠJon": 12285, + "(Http": 12286, + "addClass": 12287, + "Nodes": 12288, + "Ġfragment": 12289, + "Ġspoke": 12290, + "Ġwaste": 12291, + "Join": 12292, + "Ġillustr": 12293, + "eli": 12294, + "cient": 12295, + "Ġaid": 12296, + "Ġprosec": 12297, + "'){Ċ": 12298, + "Ġpassing": 12299, + "Ġfaces": 12300, + "Shape": 12301, + "_Z": 12302, + "iti": 12303, + "Ġalle": 12304, + "Ġrobot": 12305, + "ĠĠĠĠĠĠĠĊ": 12306, + "ĠSpe": 12307, + "Ġreceiving": 12308, + "ĠDetails": 12309, + "Ġ\")": 12310, + "mg": 12311, + "_REF": 12312, + "Ġcomparison": 12313, + "*,": 12314, + "ĠFound": 12315, + "_session": 12316, + "(U": 12317, + "/F": 12318, + "Ġxxx": 12319, + "Network": 12320, + "ders": 12321, + "Ġcapture": 12322, + "Ġcorre": 12323, + "ĠLtd": 12324, + "ĠAdv": 12325, + "[@": 12326, + "Ġclip": 12327, + "Mill": 12328, + "ĠProfile": 12329, + "Ġendif": 12330, + "Ġoblig": 12331, + "describe": 12332, + ".element": 12333, + "riterion": 12334, + "LD": 12335, + "ered": 12336, + "Ġfavour": 12337, + "score": 12338, + "ĠFilter": 12339, + "attributes": 12340, + "Ġchecks": 12341, + "Inflater": 12342, + "ĠPlus": 12343, + "Ġscientific": 12344, + "Ġprivacy": 12345, + "Head": 12346, + "Ġfeat": 12347, + "Ġdegrees": 12348, + "ĠPale": 12349, + ";\">": 12350, + "Ġfilms": 12351, + "ĠAudio": 12352, + "ĠTag": 12353, + "ĠEnergy": 12354, + "itar": 12355, + "parator": 12356, + "Ġfellow": 12357, + "Ġevt": 12358, + "ĠTri": 12359, + "ĠDAM": 12360, + "cloud": 12361, + "ĠPassword": 12362, + "ĠDemocrats": 12363, + "ĠAcad": 12364, + "$lang": 12365, + "Ġreb": 12366, + "())ĊĊ": 12367, + "нÑĭ": 12368, + "ĠBur": 12369, + "readcr": 12370, + "Ġhex": 12371, + "Console": 12372, + "ctl": 12373, + "ousel": 12374, + "ĠWilliam": 12375, + "Ġaz": 12376, + "_PORT": 12377, + "Ġpractices": 12378, + "Ġanywhere": 12379, + "ĠPosition": 12380, + "Ġ->Ċ": 12381, + "iams": 12382, + ".username": 12383, + "placeholder": 12384, + "Ġoder": 12385, + "ĠSecretary": 12386, + "ĠiT": 12387, + "mond": 12388, + "events": 12389, + "?âĢĿ": 12390, + ".Sub": 12391, + "Ġattached": 12392, + "Ġnão": 12393, + "Ġestate": 12394, + ".action": 12395, + "Ġfigures": 12396, + "Ġ});čĊ": 12397, + "Ġsubscri": 12398, + ".tag": 12399, + "nam": 12400, + ".plot": 12401, + "noon": 12402, + "liament": 12403, + "Character": 12404, + ".tab": 12405, + "Ġwinter": 12406, + "ĠVariable": 12407, + "Ġtrees": 12408, + "Ġproud": 12409, + "(V": 12410, + "_load": 12411, + "Ġhier": 12412, + "ĠEcon": 12413, + "Ġfd": 12414, + "Ġvictims": 12415, + "Rest": 12416, + "iana": 12417, + "Ġfake": 12418, + ".Println": 12419, + "Ġstrlen": 12420, + "Ġsad": 12421, + "Ġble": 12422, + "Prot": 12423, + "Ġbuttons": 12424, + "Ġtelevision": 12425, + "Ġlogo": 12426, + "extension": 12427, + "ĉj": 12428, + "stein": 12429, + "aciones": 12430, + "Ġ\"\"\"ĊĊ": 12431, + "Ġsimp": 12432, + "Ġrecorded": 12433, + "Ġbrings": 12434, + "Ġprincipal": 12435, + "Ġfees": 12436, + "(source": 12437, + "kdir": 12438, + "Ġutils": 12439, + "Ġcorrectly": 12440, + "fil": 12441, + "Ġwel": 12442, + "Pair": 12443, + "-button": 12444, + "scale": 12445, + "verify": 12446, + "[c": 12447, + "Ġ---": 12448, + "Ġescape": 12449, + "ikes": 12450, + "LowerCase": 12451, + "ician": 12452, + "Ġchapter": 12453, + "ĠTYPE": 12454, + "Ġshadow": 12455, + "Ġawesome": 12456, + "WE": 12457, + "elif": 12458, + "Ġlambda": 12459, + "Ġdistinct": 12460, + "Ġbare": 12461, + "-off": 12462, + "Ġcolour": 12463, + ".appendChild": 12464, + "olec": 12465, + "aga": 12466, + ".fill": 12467, + "ĉsuper": 12468, + "Ġadj": 12469, + "(position": 12470, + ".getItem": 12471, + "Short": 12472, + "Ġtotally": 12473, + "VD": 12474, + "ĠTre": 12475, + "_ep": 12476, + "vements": 12477, + "ĠSolution": 12478, + "Ġfundament": 12479, + "Follow": 12480, + "Ġfacility": 12481, + "Ġhappening": 12482, + "OF": 12483, + ".textBox": 12484, + "Span": 12485, + "Ġ«": 12486, + "iden": 12487, + "Ġexceed": 12488, + "(parent": 12489, + "Ġcp": 12490, + "ç»": 12491, + "Ġhasn": 12492, + "Ġpri": 12493, + "Ġconsequ": 12494, + "nen": 12495, + "ĠINTO": 12496, + "Ignore": 12497, + "ĠFuture": 12498, + "Ġcarbon": 12499, + "ĠSteel": 12500, + "fmt": 12501, + "okie": 12502, + "Ġspl": 12503, + "(title": 12504, + "-info": 12505, + "Ġdeals": 12506, + "Ġfixture": 12507, + "ea": 12508, + "Div": 12509, + "Ġtested": 12510, + "_return": 12511, + ")ĊĊĊĊ": 12512, + "upported": 12513, + "ĠCook": 12514, + "Ġpaying": 12515, + "ĠIll": 12516, + "Ġarrested": 12517, + "ĠPrime": 12518, + "_callback": 12519, + ">,Ċ": 12520, + "driver": 12521, + "Once": 12522, + "abb": 12523, + "_bytes": 12524, + "ĠSets": 12525, + "(Object": 12526, + "Ġcc": 12527, + "Ġshell": 12528, + "alo": 12529, + ");//": 12530, + "(log": 12531, + "ctors": 12532, + ")": 13004, + "Ġ$(\".": 13005, + ".pos": 13006, + "Ġboys": 13007, + "Ġwedding": 13008, + "Ġagents": 13009, + "=\"_": 13010, + "ĠArmy": 13011, + "Ġhint": 13012, + "vision": 13013, + "Ġtech": 13014, + "ĠConnect": 13015, + "Ġlegend": 13016, + "ĠBet": 13017, + ".Base": 13018, + "Subject": 13019, + "Ġlit": 13020, + "Remove": 13021, + "Ġ\":": 13022, + "ĠFinal": 13023, + "pearance": 13024, + "ĠiTunes": 13025, + "Ġparticipants": 13026, + "ĠPython": 13027, + "Ġbusy": 13028, + "iel": 13029, + "vertices": 13030, + "ĠtemplateUrl": 13031, + "ĠClose": 13032, + "Img": 13033, + "ĠCorporation": 13034, + "timestamp": 13035, + "Ġextend": 13036, + "Ġwebsites": 13037, + "Ġpossibility": 13038, + "оÑĤ": 13039, + "Ġkö": 13040, + "Ġmeat": 13041, + "Ġrepresentation": 13042, + "Ġĉĉ": 13043, + "_START": 13044, + ".apply": 13045, + "ĠValley": 13046, + "ĠSuccess": 13047, + "Hi": 13048, + "Ġnob": 13049, + "ĠIEnumerable": 13050, + "_select": 13051, + "geo": 13052, + ".\")Ċ": 13053, + "Ġturning": 13054, + "Ġfabric": 13055, + "(\"\");Ċ": 13056, + "Ġperspective": 13057, + "éĹ": 13058, + "ĠSn": 13059, + "Thank": 13060, + ";j": 13061, + ".Parameters": 13062, + "ĉĠĠĠĠĠĠĠĠĠĠĠ": 13063, + "Ġfacts": 13064, + "Ġunt": 13065, + ".instance": 13066, + "################################################################": 13067, + "-end": 13068, + "ĠJOIN": 13069, + "ĠHen": 13070, + "Ġuri": 13071, + "åIJį": 13072, + "Ġна": 13073, + "ĠInfo": 13074, + "Ġconducted": 13075, + "ĠÃ¥": 13076, + "OURCE": 13077, + "Ġwine": 13078, + "John": 13079, + ".Errorf": 13080, + "ĠAge": 13081, + "ounded": 13082, + "Ġrealize": 13083, + "Ġ];": 13084, + "Ġsubsequ": 13085, + ",m": 13086, + "(User": 13087, + "iano": 13088, + "Ġaccompl": 13089, + "isp": 13090, + ".std": 13091, + "éĩ": 13092, + "ĠBed": 13093, + ".setAttribute": 13094, + "BR": 13095, + "keep": 13096, + "ĠALL": 13097, + "Ġisol": 13098, + "amma": 13099, + "Package": 13100, + "Ġoccasion": 13101, + "-success": 13102, + "ед": 13103, + "ĠLIMITED": 13104, + "strip": 13105, + "()ĊĊĊ": 13106, + "istribution": 13107, + "Colors": 13108, + "Ġ+:+": 13109, + "DidLoad": 13110, + "aler": 13111, + "Ġtid": 13112, + "ĠLED": 13113, + "ĠLinked": 13114, + "ĠCart": 13115, + "())čĊ": 13116, + "_READ": 13117, + "Ġkilling": 13118, + "ĠPHP": 13119, + "fection": 13120, + "Ġinstances": 13121, + "cv": 13122, + "\"/>": 13123, + "Ġsf": 13124, + "Ġtaxes": 13125, + "_location": 13126, + "ĠBitcoin": 13127, + "uable": 13128, + "rank": 13129, + "ignore": 13130, + "track": 13131, + "ка": 13132, + "Ġshouldn": 13133, + "ĠOP": 13134, + "=>{Ċ": 13135, + "Ġkm": 13136, + "Ġhelper": 13137, + "_head": 13138, + "ĠWhether": 13139, + "oco": 13140, + "_bl": 13141, + "Ġstatistics": 13142, + "Ġbeauty": 13143, + "Ġtog": 13144, + "tip": 13145, + "ëĭ¤": 13146, + "Ġcsv": 13147, + "(sql": 13148, + "stdlib": 13149, + "weak": 13150, + "Ġlikes": 13151, + "Äį": 13152, + "Ġrepeat": 13153, + "Ġapartment": 13154, + "Ġemph": 13155, + "_edit": 13156, + "Ġvit": 13157, + "ĉtype": 13158, + "Even": 13159, + "uten": 13160, + "Ġcircumstances": 13161, + "bian": 13162, + "Ġsugar": 13163, + "Windows": 13164, + "ìŀ": 13165, + "Ġobserved": 13166, + "/data": 13167, + "Ġcalendar": 13168, + "Ġstrike": 13169, + "ĠRES": 13170, + "_sc": 13171, + "fony": 13172, + "orem": 13173, + "(z": 13174, + "power": 13175, + "etect": 13176, + "ĠSat": 13177, + ".description": 13178, + "Ġgang": 13179, + "ĠSports": 13180, + "ongs": 13181, + "ĠBundle": 13182, + ".sum": 13183, + "once": 13184, + "Ġaccused": 13185, + "Ġexplore": 13186, + "Ġapproximately": 13187, + "Ġlosing": 13188, + "thesis": 13189, + "ĠFund": 13190, + "Ġdiagn": 13191, + "Autowired": 13192, + "properties": 13193, + "Ġ_.": 13194, + "Ġcnt": 13195, + "cedure": 13196, + "Ġyy": 13197, + "Ġgrant": 13198, + "sock": 13199, + ".innerHTML": 13200, + "Ġ]);Ċ": 13201, + "ĠCONFIG": 13202, + "='$": 13203, + "]];Ċ": 13204, + "UND": 13205, + "Ġglob": 13206, + "Ġdire": 13207, + "uffle": 13208, + "_MEM": 13209, + "Ġauthentic": 13210, + ">(\"": 13211, + "Ġdecade": 13212, + "ĠImport": 13213, + "Ġoriginally": 13214, + "ĠjQuery": 13215, + "Ġindicate": 13216, + "Ġourselves": 13217, + "Sw": 13218, + ".lbl": 13219, + "enerate": 13220, + "Ġbasically": 13221, + "ĠHom": 13222, + "Ġ+#+": 13223, + "ĠBritain": 13224, + "ĠKar": 13225, + "toEqual": 13226, + ".stop": 13227, + "Ġmodal": 13228, + "isi": 13229, + "Ġsuggests": 13230, + "Ġdtype": 13231, + "Ġtur": 13232, + "bf": 13233, + "Ġconnections": 13234, + "ĠBefore": 13235, + "isted": 13236, + "mouse": 13237, + "Ġpulled": 13238, + ".build": 13239, + "Ġlegislation": 13240, + "Ġforth": 13241, + "pad": 13242, + "ego": 13243, + ".Now": 13244, + "Ġexciting": 13245, + "}ĊĊĊĊ": 13246, + "Ġcompr": 13247, + "Ġshares": 13248, + "Ġrig": 13249, + "green": 13250, + "_vec": 13251, + "Ġenumerate": 13252, + "Auto": 13253, + "icator": 13254, + "ĠRay": 13255, + "asse": 13256, + "Ġholiday": 13257, + "Ġnullable": 13258, + "gun": 13259, + "_details": 13260, + "Ġwrapper": 13261, + "seq": 13262, + "ĠYoung": 13263, + "juana": 13264, + "Ġ\"__": 13265, + "license": 13266, + "serve": 13267, + "^(": 13268, + "iders": 13269, + ".Remove": 13270, + "ropdown": 13271, + "'S": 13272, + "pin": 13273, + "(token": 13274, + ".Default": 13275, + "Ġreasonable": 13276, + "ampion": 13277, + "ĠSociety": 13278, + "Ġbei": 13279, + "erves": 13280, + "rad": 13281, + "ĠFox": 13282, + "_images": 13283, + "Ġwheel": 13284, + "')[": 13285, + "Ġcfg": 13286, + "(By": 13287, + "Constructor": 13288, + "Ġvary": 13289, + ".swift": 13290, + "Ġproxy": 13291, + "ĉH": 13292, + "ĠAnother": 13293, + "ĠPen": 13294, + "Ġchecking": 13295, + "Ġjest": 13296, + "manager": 13297, + "Origin": 13298, + "ugs": 13299, + "oir": 13300, + ">čĊ": 15956, + "Ġrelief": 15957, + "lap": 15958, + "quer": 15959, + "_parent": 15960, + "heap": 15961, + "LOSE": 15962, + "Ġcombine": 15963, + "ĠRose": 15964, + "owers": 15965, + "Ġprocedures": 15966, + "ĠSort": 15967, + "anim": 15968, + "variant": 15969, + "ehicle": 15970, + "Ġsigning": 15971, + "Primary": 15972, + "currency": 15973, + "Ġsexe": 15974, + "oen": 15975, + "theta": 15976, + "eman": 15977, + "Ġimpressive": 15978, + "('_": 15979, + "ĉU": 15980, + "ĠTextStyle": 15981, + "_cnt": 15982, + "Ġslice": 15983, + "(':": 15984, + "Ġunderstood": 15985, + "His": 15986, + "Ġinformed": 15987, + "Ġnick": 15988, + "(TAG": 15989, + "hd": 15990, + "Ġelections": 15991, + "esture": 15992, + "ĠSanta": 15993, + "ĠCoast": 15994, + ".pdf": 15995, + "inciple": 15996, + ".clone": 15997, + "born": 15998, + "uta": 15999, + "Ġlicensed": 16000, + "Cr": 16001, + "Ġbread": 16002, + "ĠHouston": 16003, + "Ġnod": 16004, + "Ġhopes": 16005, + "ĠCGRect": 16006, + "Ġguilty": 16007, + ".gif": 16008, + "Ġrose": 16009, + ".Common": 16010, + "Tip": 16011, + "ANK": 16012, + "ĠFC": 16013, + "During": 16014, + "ĠSymfony": 16015, + "Ġdefensive": 16016, + "km": 16017, + ")>": 16018, + "archive": 16019, + "ĠURI": 16020, + "ycling": 16021, + "-o": 16022, + "ĠWebsite": 16023, + "AMP": 16024, + "ishment": 16025, + "Ġdoctors": 16026, + "Direct": 16027, + "ARI": 16028, + "ĠRedirect": 16029, + "ieren": 16030, + "_dist": 16031, + "yo": 16032, + "ĠProgress": 16033, + "Ġzum": 16034, + "Ġmemor": 16035, + "ĠED": 16036, + "Ġjur": 16037, + "æį®": 16038, + "_TABLE": 16039, + "Ġuuid": 16040, + "Expr": 16041, + ".head": 16042, + "('%": 16043, + "pointer": 16044, + "Ġestimate": 16045, + "ĠGreg": 16046, + "Ġloader": 16047, + "ĠiOS": 16048, + "Ġmens": 16049, + "[y": 16050, + "Ġrefused": 16051, + "Ġprecision": 16052, + "isch": 16053, + "ĠACTION": 16054, + "Cloud": 16055, + "sWith": 16056, + "(ret": 16057, + "_ADDR": 16058, + "_conf": 16059, + "(df": 16060, + "Ġlocked": 16061, + "Ġrising": 16062, + "ãĥ»ãĥ»": 16063, + "ĠMs": 16064, + "Ġscenes": 16065, + "_EXT": 16066, + "_raw": 16067, + "_the": 16068, + "people": 16069, + "Ġrecon": 16070, + "ĠFun": 16071, + "Ġbless": 16072, + "ĠUpdated": 16073, + "ün": 16074, + "ĠĠĠĠĠĠĠĠĠĠĠĠčĊ": 16075, + "pection": 16076, + "Release": 16077, + ".logger": 16078, + "ĠSY": 16079, + "Ġcounsel": 16080, + "urd": 16081, + "_true": 16082, + "Ġeverybody": 16083, + "ivot": 16084, + "Ġhence": 16085, + "ĠNAS": 16086, + "Ġopposed": 16087, + "unknown": 16088, + "ĠDESC": 16089, + "ĠChair": 16090, + "failed": 16091, + "ĠINCLUDING": 16092, + "Ġwriters": 16093, + "{}Ċ": 16094, + "ÃŃt": 16095, + "_copy": 16096, + "}:": 16097, + "ĠBat": 16098, + "Ġconverted": 16099, + "eding": 16100, + "placement": 16101, + "ĠHost": 16102, + "Sound": 16103, + "им": 16104, + "Ġsought": 16105, + "mid": 16106, + "Ġsalary": 16107, + "ogg": 16108, + "âĦ¢": 16109, + "bul": 16110, + "Ġwir": 16111, + "validator": 16112, + "_STAT": 16113, + ".store": 16114, + "ĠBattle": 16115, + "ın": 16116, + "Ġ-->ĊĊ": 16117, + "Trump": 16118, + "dot": 16119, + "ĠCONT": 16120, + ".fetch": 16121, + "Ġcontinu": 16122, + "was": 16123, + "Ġfraud": 16124, + "_tmp": 16125, + "mitter": 16126, + ".pictureBox": 16127, + "GA": 16128, + "Ġtournament": 16129, + ".Input": 16130, + "[r": 16131, + "exion": 16132, + "centage": 16133, + "ĠKorean": 16134, + "undef": 16135, + "ĠAvailable": 16136, + "reshape": 16137, + "Ġkit": 16138, + "ĠStruct": 16139, + "ĠSUB": 16140, + "Answer": 16141, + "_lib": 16142, + ".twitter": 16143, + "Ġore": 16144, + "ĠDragon": 16145, + ".Ext": 16146, + ",k": 16147, + "Ġexplanation": 16148, + "refs": 16149, + "ĠDrive": 16150, + "ĠTraining": 16151, + ".Has": 16152, + "intage": 16153, + "big": 16154, + "ologist": 16155, + "ennis": 16156, + "Ùĩ": 16157, + "Ġchicken": 16158, + "ĠĠĠĠĠĠĠĠĠĠĊ": 16159, + "çĽ": 16160, + "ãģ§": 16161, + "Ġpeak": 16162, + "Ġdrinking": 16163, + "Ġencode": 16164, + "ĠNEW": 16165, + "malloc": 16166, + "ĉfprintf": 16167, + "Ġ=================================================================": 16168, + "including": 16169, + "Ġprinciples": 16170, + "ĠMah": 16171, + "storage": 16172, + "-key": 16173, + "Ġkeyword": 16174, + "%;": 16175, + "Ġtrained": 16176, + ".contrib": 16177, + "Ġkv": 16178, + "__':Ċ": 16179, + "ĠBoy": 16180, + "parameter": 16181, + "Ġsuite": 16182, + "Ġthousand": 16183, + "Ġcoordinate": 16184, + "-generated": 16185, + "íķĺ": 16186, + "generated": 16187, + "Ġadmitted": 16188, + "Ġpussy": 16189, + "#w": 16190, + "Ġswim": 16191, + "union": 16192, + "Na": 16193, + "ĠRoyal": 16194, + ".channel": 16195, + "Updated": 16196, + "_ROOT": 16197, + "Ġvital": 16198, + "raction": 16199, + "ĠCrusher": 16200, + "Ġpreced": 16201, + "Ġhorizontal": 16202, + "Blueprint": 16203, + "Ġattrs": 16204, + "Ġsmoke": 16205, + "ÐĴ": 16206, + ".Equals": 16207, + "FB": 16208, + "ĠResources": 16209, + "rolling": 16210, + "Ġpasses": 16211, + "ĠNum": 16212, + "rotate": 16213, + "etype": 16214, + "\\\",": 16215, + "Ġsensitive": 16216, + "Ġtall": 16217, + "?âĢĿĊĊ": 16218, + "Proxy": 16219, + "iy": 16220, + "_section": 16221, + "âĢĶâĢĶâĢĶâĢĶ": 16222, + "brid": 16223, + "Ġcircuit": 16224, + "atan": 16225, + "ENC": 16226, + "Ġdriven": 16227, + "Ġvoted": 16228, + "Ġeducational": 16229, + "Ġinteraction": 16230, + "abetes": 16231, + "Ġtone": 16232, + "ĠInitializeComponent": 16233, + "Ġmerely": 16234, + "Ġìŀ": 16235, + "cookie": 16236, + "_div": 16237, + "ĠUILabel": 16238, + "vely": 16239, + "});čĊ": 16240, + "_ENT": 16241, + "#+#+": 16242, + "articles": 16243, + "ĠSouthern": 16244, + "Ġstronger": 16245, + "ĠGiven": 16246, + "ĠEric": 16247, + "ĠIR": 16248, + "abstract": 16249, + "Under": 16250, + "nable": 16251, + "Ġincrement": 16252, + "oven": 16253, + "Ġcoin": 16254, + "_timer": 16255, + "Ġsuffered": 16256, + "ĠFREE": 16257, + "'].\"": 16258, + "ĠQueen": 16259, + "stats": 16260, + "Ġmeetings": 16261, + "Ġentering": 16262, + "Ġalongside": 16263, + "(session": 16264, + "itals": 16265, + "Ġfoundation": 16266, + "ĠCredit": 16267, + ".div": 16268, + "_ALL": 16269, + "pcion": 16270, + "_stat": 16271, + "icking": 16272, + "Defaults": 16273, + "_src": 16274, + "Ġoutputs": 16275, + "/B": 16276, + "Ġenthus": 16277, + "-bl": 16278, + ".ForeColor": 16279, + "ĉtemp": 16280, + "Face": 16281, + "Ġinteract": 16282, + "Ġweird": 16283, + "Mount": 16284, + "rell": 16285, + "udents": 16286, + "Ġrequirement": 16287, + "ĠSus": 16288, + "IER": 16289, + "Ġelected": 16290, + "reference": 16291, + "ĠME": 16292, + "Ġservers": 16293, + ".wait": 16294, + "Ġsnapshot": 16295, + "ilton": 16296, + "Ġtries": 16297, + "Ġtipo": 16298, + ".Time": 16299, + ">w": 16300, + "Ġmountain": 16301, + "Ġpounds": 16302, + "Ġ[...": 16303, + "exists": 16304, + "ĠngOn": 16305, + "_MAP": 16306, + "Ġflying": 16307, + "xiety": 16308, + "ĉvalue": 16309, + "_DB": 16310, + "uno": 16311, + "Ġseats": 16312, + "TURN": 16313, + ".author": 16314, + "!)": 16315, + "orce": 16316, + "Ġindicated": 16317, + ".sin": 16318, + "Ġassignment": 16319, + "imiento": 16320, + "ĠFrame": 16321, + "_gen": 16322, + "inery": 16323, + "_)": 16324, + "messages": 16325, + ".settings": 16326, + "ĠMean": 16327, + "ĠMuseum": 16328, + "irq": 16329, + "attach": 16330, + "ĠPalestin": 16331, + "_QU": 16332, + "_tags": 16333, + "Ġcasual": 16334, + "emen": 16335, + "ASSWORD": 16336, + "$s": 16337, + "ĠCirc": 16338, + "ой": 16339, + "etric": 16340, + "/P": 16341, + "Ġepoch": 16342, + "The": 16357, + "ĠAk": 16358, + "Ġgrass": 16359, + "/*čĊ": 16360, + "(dis": 16361, + "Ġguns": 16362, + "Ġtb": 16363, + "ĠKevin": 16364, + ".args": 16365, + "ĠAh": 16366, + "oped": 16367, + "(J": 16368, + "columns": 16369, + "arguments": 16370, + "ĠWithEvents": 16371, + "_full": 16372, + "ĠDefense": 16373, + "Simple": 16374, + "Ġdeaths": 16375, + "Ġextensive": 16376, + "ĠStill": 16377, + "ĠExpression": 16378, + "ĠAgency": 16379, + "Ġperforming": 16380, + "FX": 16381, + "Ġusuario": 16382, + "UAL": 16383, + "Side": 16384, + "odos": 16385, + "aptop": 16386, + "Ġcredentials": 16387, + "_cap": 16388, + "atient": 16389, + "ĠDisney": 16390, + "Ġai": 16391, + "Ġchip": 16392, + "Ġvolt": 16393, + ".makeText": 16394, + "%%%%%%%%%%%%%%%%": 16395, + "Ġbelief": 16396, + "_LOC": 16397, + "ĠCivil": 16398, + "Navigation": 16399, + "Ġreveal": 16400, + "Ġviolent": 16401, + "ĠFil": 16402, + "Ġcatalog": 16403, + "emed": 16404, + "scan": 16405, + ".control": 16406, + "Ġconstitution": 16407, + "Country": 16408, + "Separator": 16409, + "_APP": 16410, + "topic": 16411, + "uetooth": 16412, + "MIN": 16413, + "Ġdescriptor": 16414, + "yt": 16415, + "ETHER": 16416, + "Ġdistribute": 16417, + "'}Ċ": 16418, + ".trim": 16419, + ".Line": 16420, + "Ġlbl": 16421, + "assertEquals": 16422, + "ĠDet": 16423, + "ombok": 16424, + "(width": 16425, + "Ġtort": 16426, + "ĠEXPRESS": 16427, + "aco": 16428, + "Using": 16429, + "ĠBrand": 16430, + "wall": 16431, + "EMENT": 16432, + "ĠCommunic": 16433, + "(Ċ": 17055, + "?>\"": 17056, + "Ġ///Ċ": 17057, + "Ġeiner": 17058, + "Ġweekly": 17059, + "ĉlogger": 17060, + "_pop": 17061, + "_man": 17062, + "Ġmigrations": 17063, + "Ġasks": 17064, + "Ġbs": 17065, + "Ġfalls": 17066, + ".Where": 17067, + "-height": 17068, + "_feature": 17069, + ".Min": 17070, + "Ġhyper": 17071, + "Ġvolatile": 17072, + "Ġtwenty": 17073, + "Typography": 17074, + "Unable": 17075, + "Det": 17076, + ",f": 17077, + "-mod": 17078, + "Ġsettlement": 17079, + "Ġcontracts": 17080, + "nome": 17081, + "Bad": 17082, + "ĠBrian": 17083, + "(username": 17084, + "!!!!": 17085, + "Ġhack": 17086, + ".Field": 17087, + "HR": 17088, + "ĠJordan": 17089, + "iza": 17090, + "ĠÂł": 17091, + "ĠSher": 17092, + ".header": 17093, + "(other": 17094, + "ĠDub": 17095, + "(op": 17096, + "ĠRound": 17097, + "Ġvie": 17098, + "Ġappl": 17099, + "ĉJ": 17100, + "ĠInsert": 17101, + "ĠLP": 17102, + "regon": 17103, + "ĠMPI": 17104, + "Ġanchor": 17105, + "aca": 17106, + "ør": 17107, + "Ġade": 17108, + "anchor": 17109, + "quee": 17110, + "ĠTreeNode": 17111, + "Ġtargeted": 17112, + "Ġlaid": 17113, + "ABEL": 17114, + "vet": 17115, + "ĠOrigin": 17116, + "Ant": 17117, + ".');Ċ": 17118, + "expect": 17119, + "edReader": 17120, + "ĠMajor": 17121, + "Ġinch": 17122, + "Compar": 17123, + "Ġpreview": 17124, + "Ġillness": 17125, + "ĠCONTRACT": 17126, + "ĠIndepend": 17127, + "uuid": 17128, + "Ġnome": 17129, + "Ġtc": 17130, + "ĠAvenue": 17131, + "isan": 17132, + "Ġphrase": 17133, + "_move": 17134, + "\")[": 17135, + "Ġprovision": 17136, + "Ġconcentr": 17137, + "_IR": 17138, + "ĠUt": 17139, + "()+": 17140, + "Ġnas": 17141, + "!,": 17142, + "ĠRobin": 17143, + "iations": 17144, + "atitude": 17145, + "Ġpx": 17146, + "ĠWithout": 17147, + "/bash": 17148, + "ekt": 17149, + "reement": 17150, + "Observer": 17151, + "ĠRegion": 17152, + "UBLIC": 17153, + "Ġ{//": 17154, + "KN": 17155, + "å·": 17156, + "GameObject": 17157, + "å¾": 17158, + "encoding": 17159, + "Ġ***": 17160, + "projects": 17161, + "Ġtk": 17162, + "Ġcheese": 17163, + "EMPL": 17164, + "aro": 17165, + "ĠاÙĦ": 17166, + "Ġconsists": 17167, + "refresh": 17168, + "ureau": 17169, + "ĠScanner": 17170, + "Ġsoil": 17171, + "Ġflavor": 17172, + "DataSource": 17173, + "Execute": 17174, + "ение": 17175, + "Ġshit": 17176, + "åĪĨ": 17177, + "Ċ": 17419, + "Ġsubsequent": 17420, + "posable": 17421, + "-fluid": 17422, + "Ġthorough": 17423, + "Ġpublicly": 17424, + "apters": 17425, + "ĠWilson": 17426, + "_PRE": 17427, + "yard": 17428, + "ä¼": 17429, + "ĉin": 17430, + "Ġrevers": 17431, + "Ġbullet": 17432, + "cribed": 17433, + "nesota": 17434, + "Ġ($_": 17435, + "annon": 17436, + "cursor": 17437, + "Ġclothing": 17438, + "ĠMulti": 17439, + ":',": 17440, + "Ġvess": 17441, + "ordinator": 17442, + "Ġeinem": 17443, + "Cannot": 17444, + "Ġarmed": 17445, + "ĉV": 17446, + "ä¸Ĭ": 17447, + ".Flat": 17448, + "ĠSep": 17449, + "ĠSubject": 17450, + "_font": 17451, + "Ġcharacteristics": 17452, + "Done": 17453, + "eln": 17454, + "############": 17455, + "POS": 17456, + "Ġdensity": 17457, + "ĠPlatform": 17458, + "-items": 17459, + "Ġovers": 17460, + "Ġpushing": 17461, + "ç¤": 17462, + ".Connection": 17463, + "_term": 17464, + "Ġinitialization": 17465, + "________________________________": 17466, + "ç¬": 17467, + ".document": 17468, + "lesh": 17469, + "ĉdocument": 17470, + "ĠPin": 17471, + "ça": 17472, + "Ġdefinitions": 17473, + ".Path": 17474, + "_WRITE": 17475, + "ĠĉĊ": 17476, + "?>ĊĊ": 17477, + "Ġterrible": 17478, + "bean": 17479, + "ickets": 17480, + "ĠSV": 17481, + "Buy": 17482, + "(task": 17483, + "Ġregime": 17484, + "google": 17485, + "Ġcrack": 17486, + ".visit": 17487, + "NUM": 17488, + "energy": 17489, + "Ġstruck": 17490, + "_sample": 17491, + ".payload": 17492, + "Ġrevis": 17493, + "ĠScene": 17494, + "Ġpg": 17495, + "Ġbreakfast": 17496, + "URRENT": 17497, + ".charAt": 17498, + "_exception": 17499, + "ĠAnton": 17500, + "Ġguidelines": 17501, + "Ġexhaust": 17502, + "ĠFinancial": 17503, + "Ġindent": 17504, + "Ġdesktop": 17505, + "Hidden": 17506, + "Failure": 17507, + "Ġprinciple": 17508, + "Ġiv": 17509, + "Ġseks": 17510, + "network": 17511, + "ĠnumberOf": 17512, + "ĠAlbert": 17513, + "ĉlong": 17514, + ",.": 17515, + "Ġzeros": 17516, + "fade": 17517, + "ĠTyp": 17518, + "ĠTerm": 17519, + "ĠArts": 17520, + ".Application": 17521, + "Ġbehalf": 17522, + "æĪ·": 17523, + "Ġmere": 17524, + "(`${": 17525, + "Ġawareness": 17526, + "elpers": 17527, + "flix": 17528, + "Ġweigh": 17529, + "Ġestimates": 17530, + ".child": 17531, + "/O": 17532, + "ĠBitmap": 17533, + ".bottom": 17534, + "Ġ**************************************************************************": 17535, + "Expect": 17536, + "ento": 17537, + "ĠForum": 17538, + "veral": 17539, + "Ġjail": 17540, + "Ġabilities": 17541, + "ĠHOLD": 17542, + "ĠCit": 17543, + "Ġdynam": 17544, + "Ġgray": 17545, + "ĉĉĉĉĉĉĉĉĉĉĉĉĉ": 17546, + ".nextInt": 17547, + "antly": 17548, + "ĠARISING": 17549, + "(private": 17550, + "Ġrejected": 17551, + "ĠNic": 17552, + "Ġleather": 17553, + "={Ċ": 17554, + "alytics": 17555, + "thetic": 17556, + ".Top": 17557, + ".Page": 17558, + "={`": 17559, + "Ġ;čĊ": 17560, + "depth": 17561, + "mann": 17562, + "WD": 17563, + "ĠSom": 17564, + ".Right": 17565, + "Ġ)}Ċ": 17566, + "Ġtrait": 17567, + "ÃĹ": 17568, + "iac": 17569, + "Ġrv": 17570, + "Sample": 17571, + ".Xml": 17572, + "opped": 17573, + "ĠÑĦ": 17574, + "lists": 17575, + "Ġtear": 17576, + "iversary": 17577, + ".collection": 17578, + "ĠConstitution": 17579, + "ĠHttpResponse": 17580, + "Ġbrill": 17581, + "ĠProm": 17582, + "hover": 17583, + "ĠMiami": 17584, + "Ġargue": 17585, + "_float": 17586, + "ĠãĤ": 17587, + "Ġnat": 17588, + "ĠTal": 17589, + "Ġintegration": 17590, + "(cur": 17591, + "Ġremoving": 17592, + "Ġcoeff": 17593, + "ĠThough": 17594, + "Ġforecast": 17595, + "ĠVegas": 17596, + "Site": 17597, + "Ġtrab": 17598, + "ĠHenry": 17599, + "-i": 17600, + "Ġinvolves": 17601, + "BT": 17602, + "Ġslo": 17603, + "Invoke": 17604, + "Ġlucky": 17605, + "rat": 17606, + "Ġ?Ċ": 17607, + "Ġhandled": 17608, + "(fd": 17609, + "contents": 17610, + "ĠOFF": 17611, + "RF": 17612, + "Ġsty": 17613, + "ĠMotor": 17614, + "tery": 17615, + "tax": 17616, + "MAP": 17617, + "ĠMrs": 17618, + "Ġphones": 17619, + "ĠUIView": 17620, + "\")));Ċ": 17621, + "(dev": 17622, + "ĠIrish": 17623, + "Ġws": 17624, + "DI": 17625, + "_OFFSET": 17626, + "ĠEvents": 17627, + "Ġstages": 17628, + "Ġ}//": 17629, + "Ġhaben": 17630, + "STANCE": 17631, + "ĠSin": 17632, + "ĠMoney": 17633, + "(top": 17634, + "Ġappointment": 17635, + "VERSION": 17636, + "metadata": 17637, + "_comment": 17638, + "Ġcolleagues": 17639, + "maps": 17640, + "âĺ": 17641, + "ĊĉĊ": 17642, + "(al": 17643, + "_req": 17644, + "Ġfut": 17645, + "Ġarchitecture": 17646, + "ĠWHETHER": 17647, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 17648, + "_screen": 17649, + "ĠstyleUrls": 17650, + "Ġmonster": 17651, + ".up": 17652, + "phia": 17653, + "Ġprocessor": 17654, + "ĠTerr": 17655, + "=',": 17656, + "ĠManufact": 17657, + "ĠNT": 17658, + "kel": 17659, + "ibern": 17660, + "ĉfile": 17661, + "Ali": 17662, + "rientation": 17663, + "Ġ//!": 17664, + "apore": 17665, + "aneous": 17666, + "ĠCreat": 17667, + "folder": 17668, + "Ġhay": 17669, + "Suppress": 17670, + "(left": 17671, + "Ġeuro": 17672, + "Ġdisclaimer": 17673, + "ustry": 17674, + "ships": 17675, + "_fd": 17676, + "ĠFa": 17677, + "_insert": 17678, + "Ġrol": 17679, + "ifting": 17680, + "ĠComments": 17681, + "_br": 17682, + "Ġlosses": 17683, + "ĠAdded": 17684, + "charg": 17685, + "Ġпо": 17686, + "_system": 17687, + "ĠSometimes": 17688, + "ĠSpain": 17689, + "(group": 17690, + "ialis": 17691, + "Ġdollar": 17692, + "ĠArgs": 17693, + "quires": 17694, + "ĠTen": 17695, + ".scss": 17696, + "Ġsurvive": 17697, + "usage": 17698, + "Ġjun": 17699, + "imiter": 17700, + "ï¼ģĊĊ": 17701, + "Ġfifth": 17702, + "toggle": 17703, + "Ġdecline": 17704, + "($\"": 17705, + "(Long": 17706, + "inge": 17707, + "Ġpilot": 17708, + "-light": 17709, + "-radius": 17710, + "Ġpodcast": 17711, + "Ġnaturally": 17712, + "Pages": 17713, + "为": 17714, + "ĠDespite": 17715, + "Ġlighting": 17716, + "Ġcrate": 17717, + "ĠBinary": 17718, + "Ġreducing": 17719, + "Ġeleg": 17720, + "ĠMouse": 17721, + "ĠTestBed": 17722, + "ĠbeforeEach": 17723, + "_ARRAY": 17724, + "Redirect": 17725, + "Ġflood": 17726, + "Ġships": 17727, + "Ġelectricity": 17728, + ")*(": 17729, + "ê¸": 17730, + "ĠViet": 17731, + "hero": 17732, + "Ġdia": 17733, + "ĠKent": 17734, + "heart": 17735, + "Ġthreats": 17736, + "_acc": 17737, + "Ġsymbols": 17738, + "ischen": 17739, + "_inst": 17740, + "Criterion": 17741, + "ĠTIM": 17742, + ".Height": 17743, + "ĠâĢĻ": 17744, + "();ĊĊĊ": 17745, + "Products": 17746, + "_SP": 17747, + "ĠCy": 17748, + "Ġdependent": 17749, + "este": 17750, + "Ġdatos": 17751, + "dit": 17752, + "ав": 17753, + "IGNAL": 17754, + "Ġlesson": 17755, + "\">'": 17756, + "ĠCover": 17757, + "ĠHope": 17758, + "ĠTimer": 17759, + "Ġdad": 17760, + "viders": 17761, + "ĠPhot": 17762, + "/?": 17763, + "ropy": 17764, + "oming": 17765, + "asion": 17766, + "Ġ\\(": 17767, + "ĠET": 17768, + "ĠReading": 17769, + "Ġepisodes": 17770, + "lm": 17771, + "echa": 17772, + "Ġneuro": 17773, + "Ġharmon": 17774, + "Ġliberal": 17775, + "-ind": 17776, + "DATA": 17777, + "Ġeveryday": 17778, + "Ġdivided": 17779, + "ĠActiveRecord": 17780, + "figure": 17781, + "UA": 17782, + "ä¹": 17783, + "riendly": 17784, + "tech": 17785, + ".gameObject": 17786, + "иÑĤÑĮ": 17787, + "Ġmoon": 17788, + "ftime": 17789, + "Ġnoch": 17790, + "ĠTORT": 17791, + "ĠVM": 17792, + ".initial": 17793, + "(child": 17794, + "Ġmusical": 17795, + "Ġoc": 17796, + "bas": 17797, + "ĠHay": 17798, + "_long": 17799, + "Ġmemset": 17800, + "iley": 17801, + "adelphia": 17802, + "SV": 17803, + "roat": 17804, + "_tx": 17805, + "Ġlon": 17806, + "ĠngOnInit": 17807, + "bp": 17808, + "ĠGolden": 17809, + "ACHE": 17810, + "Ġworried": 17811, + "azi": 17812, + "Ear": 17813, + "Take": 17814, + "(fp": 17815, + "burgh": 17816, + "_Data": 17817, + "gres": 17818, + "ĠOnt": 17819, + "pus": 17820, + "Ġtransparent": 17821, + "Ġpocket": 17822, + "Ġram": 17823, + "igrations": 17824, + ".čĊčĊ": 17825, + "Ġ[(": 17826, + "Ġadopted": 17827, + "Ġreportedly": 17828, + "ĠDream": 17829, + "Ġ}));Ċ": 17830, + "losing": 17831, + "Ġteeth": 17832, + "ĠBooks": 17833, + "\",&": 17834, + "enny": 17835, + "LEMENT": 17836, + "Ġgel": 17837, + "ĠPlant": 17838, + "!âĢĿ": 17839, + ".host": 17840, + "ĠReply": 17841, + "rength": 17842, + "Ġrecognition": 17843, + "Ġ}}>Ċ": 17844, + "LA": 17845, + "Ġmirror": 17846, + "Ġassistant": 17847, + "(device": 17848, + "Ġspiritual": 17849, + "builder": 17850, + "§": 17851, + "Ġoutr": 17852, + "Ġtt": 17853, + "ĠPER": 17854, + "Ġradical": 17855, + "Methods": 17856, + "Ġpace": 17857, + "udy": 17858, + "Ġgut": 17859, + "ĠGreek": 17860, + "Ġnonatomic": 17861, + "ĠPaper": 17862, + "_GPIO": 17863, + "Ġobst": 17864, + ".Ad": 17865, + "vironments": 17866, + "ĠSov": 17867, + "(con": 17868, + "ĠTransaction": 17869, + ".assign": 17870, + "ĉcatch": 17871, + "elter": 17872, + "Ġbitcoin": 17873, + "_GR": 17874, + "ĠčĊ": 17989, + "metic": 17990, + "Ġtransformation": 17991, + "åı·": 17992, + "Ġrgb": 17993, + "istributions": 17994, + "Ġimplicit": 17995, + "/in": 17996, + "destination": 17997, + "аÑĤÑĮ": 17998, + "Zero": 17999, + "Ġunset": 18000, + ".where": 18001, + ".go": 18002, + "Ġformation": 18003, + "Ġdeclaration": 18004, + "()čĊčĊ": 18005, + "ĠExpl": 18006, + "ĉĉĉĠĠ": 18007, + "/pro": 18008, + ".JSON": 18009, + "Ġdesk": 18010, + ".substr": 18011, + "//----------------------------------------------------------------------------": 18012, + "lyn": 18013, + "pson": 18014, + "disable": 18015, + "ĠFunc": 18016, + "ĉAssert": 18017, + "ĠMARK": 18018, + "Ġdefeat": 18019, + "Ġblind": 18020, + "Ġconstants": 18021, + ".headers": 18022, + "UILD": 18023, + "Ġexpenses": 18024, + "Pixel": 18025, + "Ġhr": 18026, + "Ġfel": 18027, + "ĠEastern": 18028, + "_del": 18029, + "ĠCub": 18030, + "Ġsq": 18031, + "ĉcount": 18032, + "ĠDirectory": 18033, + "Ġexclus": 18034, + "Ġhistoric": 18035, + "Ġ------------------------------------------------": 18036, + "Ġcomposition": 18037, + "ĠdataGridView": 18038, + "ĠBurn": 18039, + "ĠBC": 18040, + "Master": 18041, + "Ġspawn": 18042, + "Ġbearing": 18043, + ".SetActive": 18044, + "ilo": 18045, + "Ġgallery": 18046, + "Ġfounded": 18047, + "Ġavailability": 18048, + ".sqrt": 18049, + "Ġpes": 18050, + "ĠDOM": 18051, + "mate": 18052, + "Oct": 18053, + "Ġmatched": 18054, + "itivity": 18055, + "Ġanxiety": 18056, + ".price": 18057, + "ĠInstant": 18058, + "ìĬ": 18059, + "Ġtut": 18060, + "ICollection": 18061, + ".shared": 18062, + "_sql": 18063, + "tbl": 18064, + "library": 18065, + "_destroy": 18066, + "ermal": 18067, + "ĠNotes": 18068, + "ĠEin": 18069, + "Ġsouthern": 18070, + "ĠOTHERWISE": 18071, + "Ġmacro": 18072, + ".lower": 18073, + "cls": 18074, + "ContentView": 18075, + ".link": 18076, + "constant": 18077, + "ĠBes": 18078, + "Ġsomebody": 18079, + "nb": 18080, + "\">{": 18081, + "(local": 18082, + ".....": 18083, + "ĠNull": 18084, + "mx": 18085, + "Ġç": 18086, + "Ġpause": 18087, + "-----------": 18088, + "_MO": 18089, + "ĠCM": 18090, + "ĠforKey": 18091, + "ĠDVD": 18092, + "Ġclosest": 18093, + "_DEVICE": 18094, + "ĠStephen": 18095, + "ĠBBC": 18096, + "ĠTravel": 18097, + "Paint": 18098, + "ĠResults": 18099, + "ĠRule": 18100, + "Ġtp": 18101, + "Ġratings": 18102, + "cin": 18103, + "csv": 18104, + ">/": 18105, + "ĠGOP": 18106, + "lad": 18107, + "ĠÑĢ": 18108, + "ĠindexPath": 18109, + "matrix": 18110, + "=f": 18111, + "arsed": 18112, + "Ġ});": 18113, + "ĠCos": 18114, + "ĠScore": 18115, + "Ġtak": 18116, + "ĠESP": 18117, + "ĠINC": 18118, + "_NULL": 18119, + "-flex": 18120, + "\"][": 18121, + "into": 18122, + "eland": 18123, + "Authorization": 18124, + "_FALSE": 18125, + "Ġgate": 18126, + "Ġvid": 18127, + "istent": 18128, + "TIME": 18129, + "Ġrewrite": 18130, + "Ġtie": 18131, + "Ġarchive": 18132, + ".events": 18133, + ".getParameter": 18134, + "ĠPermission": 18135, + "Ġprogramme": 18136, + "Ġé": 18137, + "jud": 18138, + "Ġcameras": 18139, + "(sys": 18140, + "ĠSyrian": 18141, + "Ġimprovements": 18142, + "Ġhip": 18143, + "Ġsuicide": 18144, + "Ġscholar": 18145, + "Ġcompatible": 18146, + "remote": 18147, + ".down": 18148, + "FUNCTION": 18149, + "Ġmanaging": 18150, + "ĠUIKit": 18151, + ".raw": 18152, + ">>>>": 18153, + "Ġdemands": 18154, + "ellite": 18155, + "Ġdent": 18156, + "ĠMicro": 18157, + "åıĸ": 18158, + "'][$": 18159, + "ĠIE": 18160, + "imension": 18161, + "Ġtrem": 18162, + "Ġgained": 18163, + ".with": 18164, + ".ok": 18165, + "hou": 18166, + "Ġbom": 18167, + "ampaign": 18168, + "Ġjoining": 18169, + "fish": 18170, + "ĠaddSubview": 18171, + "Ġnorthern": 18172, + ".cor": 18173, + "oret": 18174, + "Die": 18175, + "inish": 18176, + "_comp": 18177, + "Ġattended": 18178, + "Ġcollapse": 18179, + "ĠSS": 18180, + "acent": 18181, + "_EQUAL": 18182, + "ĠDeep": 18183, + "RGB": 18184, + "ĉtest": 18185, + "olves": 18186, + "uset": 18187, + "UnityEngine": 18188, + "writer": 18189, + "Resolver": 18190, + ",%": 18191, + "ifference": 18192, + "_remove": 18193, + "onda": 18194, + "Ġfemme": 18195, + "decode": 18196, + "Branch": 18197, + "Ġflush": 18198, + "Ġinnovative": 18199, + "Tests": 18200, + "Ġ['./": 18201, + "Ġcovering": 18202, + ".admin": 18203, + "ultipart": 18204, + "(lambda": 18205, + "namespace": 18206, + "ĠSport": 18207, + "Ġ!(": 18208, + "acles": 18209, + "Ġdepression": 18210, + "ĠKong": 18211, + "Ġpert": 18212, + "ĠConn": 18213, + "ĠOtherwise": 18214, + "/home": 18215, + "supported": 18216, + "Ġpink": 18217, + "Ġinvited": 18218, + "ños": 18219, + "_enabled": 18220, + "Ġ-Ċ": 18221, + "FW": 18222, + "eners": 18223, + "ĠMY": 18224, + "Ġsuggestions": 18225, + "Canvas": 18226, + "Ġfer": 18227, + "ĠMarketing": 18228, + "@Test": 18229, + "untu": 18230, + "ĠVen": 18231, + "ĠCou": 18232, + "ivals": 18233, + "Donald": 18234, + "limited": 18235, + "ĉĉĉĉĉĉĊ": 18236, + "Ġanalyst": 18237, + "(entry": 18238, + "Ġrepresentative": 18239, + "_attributes": 18240, + "Ġfur": 18241, + ".hide": 18242, + "resp": 18243, + "adores": 18244, + "rides": 18245, + "ĠJosh": 18246, + "robot": 18247, + "ĠNAT": 18248, + "Ġsesso": 18249, + "Ġintegrated": 18250, + ":true": 18251, + "parts": 18252, + "Ġstupid": 18253, + ":event": 18254, + "@endsection": 18255, + "Ġpu": 18256, + ".Table": 18257, + "ĠYii": 18258, + "`;ĊĊ": 18259, + "Ġclang": 18260, + "=\"\">": 18261, + "engan": 18262, + "_parameters": 18263, + ".internal": 18264, + "ĠModern": 18265, + "Ġmetric": 18266, + "Ġsemi": 18267, + "={{Ċ": 18268, + ".amazon": 18269, + "ĠBB": 18270, + "ainty": 18271, + "viewport": 18272, + "ĠstartActivity": 18273, + "dispatch": 18274, + "*****": 18275, + "Ġflav": 18276, + "ifferent": 18277, + "[this": 18278, + "Ġstake": 18279, + "Ġargued": 18280, + "viously": 18281, + ".work": 18282, + "ĠOak": 18283, + "Old": 18284, + "(async": 18285, + "notes": 18286, + "Ġflip": 18287, + "Ġdisag": 18288, + "ĠTE": 18289, + "ĉerror": 18290, + "<'": 18291, + "Ġ»ĊĊ": 18292, + "Ġfiltered": 18293, + "ĠMach": 18294, + "Ġhung": 18295, + "_dump": 18296, + "_samples": 18297, + "-dismiss": 18298, + "Ġray": 18299, + "Implemented": 18300, + "DK": 18301, + "Ġjed": 18302, + "Ġbreaks": 18303, + "Ġfits": 18304, + ".gr": 18305, + "ĠZero": 18306, + "oro": 18307, + "Ġequally": 18308, + "Ġ'[": 18309, + "Ġconcerning": 18310, + "<": 18407, + "Ġpromot": 18408, + "Ġincl": 18409, + "_only": 18410, + "를": 18411, + "ĠAttorney": 18412, + "-date": 18413, + "Ġlandscape": 18414, + "Ġfu": 18415, + "SY": 18416, + ".prop": 18417, + "ĠArr": 18418, + "pag": 18419, + "ParallelGroup": 18420, + "':čĊ": 18421, + "Ġlogs": 18422, + "aunch": 18423, + "unci": 18424, + "nama": 18425, + "TableCell": 18426, + "issues": 18427, + ".{": 18428, + "ecurity": 18429, + "_exec": 18430, + "olds": 18431, + "Ġhosts": 18432, + "Ġproto": 18433, + "_import": 18434, + "_sort": 18435, + "ĠBow": 18436, + "ĠNormal": 18437, + "ĠFarm": 18438, + ".createParallelGroup": 18439, + "Rotation": 18440, + ".err": 18441, + "Ġpleased": 18442, + "itage": 18443, + ".Wh": 18444, + "ĉĉĠĠĠĠ": 18445, + "MR": 18446, + "ĠMORE": 18447, + "ĠNatural": 18448, + "_transform": 18449, + "BASE": 18450, + "eneral": 18451, + "utdown": 18452, + ".commons": 18453, + "WT": 18454, + "Ġaan": 18455, + ".Result": 18456, + "dog": 18457, + "Ġclicking": 18458, + "),ĊĊ": 18459, + "#line": 18460, + "Operator": 18461, + "Ġciv": 18462, + "Ġmerg": 18463, + "obuf": 18464, + "ngthen": 18465, + "Ġ[{": 18466, + "Ġcancell": 18467, + "trigger": 18468, + ".:": 18469, + "WORK": 18470, + "declare": 18471, + "Ġdecrease": 18472, + "ÅĽci": 18473, + "loom": 18474, + ".None": 18475, + "ĠMI": 18476, + "ĠJason": 18477, + "Ġhealthcare": 18478, + "iamond": 18479, + "sylvania": 18480, + "*x": 18481, + "ĠRa": 18482, + "[b": 18483, + "Ġprinting": 18484, + "phabet": 18485, + "ĠLabour": 18486, + "opper": 18487, + "Ġzijn": 18488, + "-target": 18489, + "_FUNCTION": 18490, + "Ġoct": 18491, + "ениÑı": 18492, + "åľ¨": 18493, + "Ġwestern": 18494, + "Ġcomputers": 18495, + "ĠRET": 18496, + "HashMap": 18497, + "[String": 18498, + "getValue": 18499, + "_DATE": 18500, + ".Next": 18501, + "ĠFif": 18502, + "él": 18503, + "icked": 18504, + "æİ": 18505, + "-MM": 18506, + "Ġ{ĊĊĊ": 18507, + "Ġcontacts": 18508, + "Ġdigits": 18509, + "Produ": 18510, + "Ġunusual": 18511, + "Ġrapidly": 18512, + "tures": 18513, + "Ġangry": 18514, + "cancel": 18515, + "xxxx": 18516, + "_parser": 18517, + "idity": 18518, + "_PREFIX": 18519, + "Ġmehr": 18520, + "Ġrarely": 18521, + "ethe": 18522, + "opes": 18523, + "Ġ%.": 18524, + "works": 18525, + "Ġtheta": 18526, + "Ġcontribution": 18527, + "ĠTony": 18528, + "Ġsquad": 18529, + "ай": 18530, + "Ġîn": 18531, + "there": 18532, + "outed": 18533, + "ĉq": 18534, + "ĻĤ": 18535, + "good": 18536, + "LI": 18537, + "页": 18538, + "ĠLiving": 18539, + "izabeth": 18540, + "Ġkt": 18541, + "ĠDallas": 18542, + "]],Ċ": 18543, + "Ġ/>ĊĊ": 18544, + "Ġraising": 18545, + "/router": 18546, + "_game": 18547, + "ĠCUR": 18548, + "zens": 18549, + ".es": 18550, + "ĠfontWeight": 18551, + "(func": 18552, + "notification": 18553, + "Ġ'../../../": 18554, + "Ġblame": 18555, + "ãĢĤĊĊĊĊ": 18556, + "anco": 18557, + "Identity": 18558, + "follow": 18559, + "Ġarts": 18560, + "xs": 18561, + "Ġofficially": 18562, + "ĠStudio": 18563, + "Ġrecommendations": 18564, + "Ġlocale": 18565, + "Ġamateur": 18566, + "ĠEnable": 18567, + "Ġcaps": 18568, + ".End": 18569, + "-add": 18570, + "_gshared": 18571, + "ĠCT": 18572, + "Force": 18573, + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĊ": 18574, + "Ġorange": 18575, + "Ġlp": 18576, + "Ġanswered": 18577, + ".Grid": 18578, + "Ġdual": 18579, + "Ġstrategic": 18580, + "Ġnobody": 18581, + "Ġfatal": 18582, + "_est": 18583, + "(el": 18584, + "Ġìł": 18585, + "ĠBudd": 18586, + "AIT": 18587, + "_factor": 18588, + "-one": 18589, + "ĠHAVE": 18590, + "\"čĊčĊ": 18591, + "Prof": 18592, + "Ġär": 18593, + "strings": 18594, + "Ġdirty": 18595, + "ĠFace": 18596, + "ĠBegin": 18597, + "ĠBus": 18598, + "Ġwis": 18599, + "åŃĹ": 18600, + "Ġspeaker": 18601, + "Ġcarrier": 18602, + "ĠOm": 18603, + "Ġhadn": 18604, + "Allow": 18605, + "::__": 18606, + "Ġverb": 18607, + "ĠComplete": 18608, + "ĠEasy": 18609, + "Ġbills": 18610, + "ĠĠĊĊ": 18611, + "Vertical": 18612, + "Ġpron": 18613, + "ĠDefine": 18614, + "Ġlookup": 18615, + "variables": 18616, + "Ġpandas": 18617, + "umes": 18618, + "Ġinnoc": 18619, + "ĠsetUp": 18620, + "ĠChampionship": 18621, + "artist": 18622, + "ĠCType": 18623, + "Foundation": 18624, + "à¹Ī": 18625, + "ĠSetup": 18626, + "Ġrecipes": 18627, + "ĠUIColor": 18628, + "ĠFight": 18629, + "Ġauthorized": 18630, + "_click": 18631, + "_success": 18632, + "angan": 18633, + "ĠMountain": 18634, + "ĠDoctor": 18635, + "Ġegg": 18636, + "ĠMedicine": 18637, + "cles": 18638, + "`.Ċ": 18639, + "[int": 18640, + "dashboard": 18641, + "ĠAppro": 18642, + "-dr": 18643, + "Ġproduces": 18644, + "Ġrental": 18645, + "Ġreload": 18646, + "Ġarrival": 18647, + "spot": 18648, + "Ġundert": 18649, + "Ġequipped": 18650, + "Ġproved": 18651, + "Ġcenters": 18652, + "Ġdefines": 18653, + "also": 18654, + "Ġopacity": 18655, + "ĠUnfortunately": 18656, + "ĠIllinois": 18657, + "Ġне": 18658, + "ĠTemple": 18659, + "ĠTrail": 18660, + "ĠKelly": 18661, + "Ġmeasurement": 18662, + "Ġseparated": 18663, + "-circle": 18664, + "Hey": 18665, + "ĠREAD": 18666, + "igits": 18667, + "Ġib": 18668, + "ĠMOD": 18669, + "attery": 18670, + "аз": 18671, + "Ġvend": 18672, + "енÑĤ": 18673, + "ĠHttpClient": 18674, + "safe": 18675, + "_ASS": 18676, + "icit": 18677, + "ĠConstruct": 18678, + "ĠClo": 18679, + "ĠSix": 18680, + "_TOKEN": 18681, + "(block": 18682, + "Ġwarned": 18683, + "/*!": 18684, + "!Ċ": 18769, + "Ġinnovation": 18770, + "_\"": 18771, + "Ġ);čĊčĊ": 18772, + "Ġspots": 18773, + "Ġchoosing": 18774, + ".cs": 18775, + "Ġflexible": 18776, + "UInt": 18777, + "Ġscratch": 18778, + "-al": 18779, + "Ġfestival": 18780, + "Ġoutstanding": 18781, + "================================================": 18782, + "Mean": 18783, + "ĠOregon": 18784, + "symbol": 18785, + ".account": 18786, + "dney": 18787, + "'''": 18788, + "!\",": 18789, + "Ġparticle": 18790, + "Ãĥ": 18791, + "[MAX": 18792, + "IVER": 18793, + "ERENCE": 18794, + "NSMutable": 18795, + "ĠColumbia": 18796, + "_ĊĊ": 18797, + ".fr": 18798, + "Ġcogn": 18799, + "VR": 18800, + "ĠMethods": 18801, + "ĠMade": 18802, + "ĠBR": 18803, + "ĠElse": 18804, + "Ġeggs": 18805, + "Ġswing": 18806, + "ĠInv": 18807, + "Ġdiseases": 18808, + "Ġfirms": 18809, + "Ġlemma": 18810, + "}`);Ċ": 18811, + "lings": 18812, + "Ġgym": 18813, + "uminum": 18814, + ".Trim": 18815, + "Mem": 18816, + "Ġcriticism": 18817, + "ibernate": 18818, + "_TX": 18819, + "ioni": 18820, + "Ġguidance": 18821, + "Ġrepeatedly": 18822, + "Ġsupplier": 18823, + "Ġpainting": 18824, + ".Fragment": 18825, + "edException": 18826, + "Ġwiring": 18827, + "Ġcourts": 18828, + "WEB": 18829, + "æľī": 18830, + "\\.": 18831, + "illance": 18832, + "Ġbrows": 18833, + "ĠPattern": 18834, + "PLICATION": 18835, + "ĠSummer": 18836, + "Chain": 18837, + "Ġcute": 18838, + "mercial": 18839, + "Ġdil": 18840, + "ĠFranklin": 18841, + "ĉglobal": 18842, + "INCLUDING": 18843, + "history": 18844, + "Ġlst": 18845, + "Qt": 18846, + "SDL": 18847, + "alia": 18848, + "iere": 18849, + "(...": 18850, + "ĉcin": 18851, + "iffs": 18852, + "velope": 18853, + "ĠRoot": 18854, + "cluster": 18855, + "UserName": 18856, + "igne": 18857, + "()Ċ": 18949, + "Ġapplying": 18950, + "Ġpromised": 18951, + "Ġox": 18952, + "ncia": 18953, + "ĠValidation": 18954, + "orts": 18955, + "_cur": 18956, + "elect": 18957, + "eye": 18958, + "(Data": 18959, + "Ġreporter": 18960, + "ĠBuff": 18961, + "Ġsr": 18962, + "Ġ\";": 18963, + "icky": 18964, + "Ġtempor": 18965, + "SN": 18966, + "Ġresident": 18967, + "pires": 18968, + "ysical": 18969, + "Ġendorse": 18970, + "ĠSong": 18971, + "isEmpty": 18972, + "leet": 18973, + "_util": 18974, + "Ġdistingu": 18975, + "ĠTalk": 18976, + "ĠMot": 18977, + "(default": 18978, + ".Arg": 18979, + "gorithms": 18980, + "_words": 18981, + "immer": 18982, + "_reset": 18983, + "family": 18984, + "WW": 18985, + "Ġsavings": 18986, + "ĠâĢĿ": 18987, + "_enable": 18988, + "sidebar": 18989, + "Running": 18990, + "Ġali": 18991, + "Ġtestim": 18992, + "Ġwarnings": 18993, + "ĠChem": 18994, + "ĠExit": 18995, + "Ġfounder": 18996, + "pector": 18997, + "Ġrm": 18998, + "_dataset": 18999, + "ĠDas": 19000, + "Ġhan": 19001, + "Getty": 19002, + "ál": 19003, + "Ġny": 19004, + "Ġpoverty": 19005, + "Ġresulted": 19006, + ".by": 19007, + "ĠVisit": 19008, + "Ġobtaining": 19009, + "/'.$": 19010, + "ĠĠĠĠĠĠĠĠĠĠĠĊ": 19011, + "shall": 19012, + "_LEFT": 19013, + "UIImage": 19014, + "_Name": 19015, + "have": 19016, + "ĠNob": 19017, + "lr": 19018, + "-footer": 19019, + "Ġnaked": 19020, + "ĠGarden": 19021, + "\\Facades": 19022, + "Ġgraduate": 19023, + "Ġfranchise": 19024, + "plane": 19025, + "Ġcontributions": 19026, + "ĠstringWith": 19027, + "Ġcrypto": 19028, + "Ġmovements": 19029, + "athers": 19030, + "Ġlifetime": 19031, + "Ġcommunicate": 19032, + "jar": 19033, + "ĠFragment": 19034, + "_IF": 19035, + "ĠNavy": 19036, + "ĠFigure": 19037, + "Ġsimulation": 19038, + "_stop": 19039, + "Ġreporters": 19040, + "Ġversus": 19041, + "aja": 19042, + "Ġα": 19043, + "Ġgovernor": 19044, + "ListItem": 19045, + "Ġsealed": 19046, + ".Background": 19047, + "edi": 19048, + "ashing": 19049, + "Ġlip": 19050, + "ĠIh": 19051, + "merge": 19052, + "Ġnec": 19053, + "elocity": 19054, + "ATEG": 19055, + "Ġseeds": 19056, + "Ġfloating": 19057, + "_FA": 19058, + "walk": 19059, + "ĉuser": 19060, + "_depth": 19061, + "Ġwage": 19062, + "@app": 19063, + "Nil": 19064, + "([\"": 19065, + "(vector": 19066, + "Ġsecretary": 19067, + "ĠjPanel": 19068, + "vez": 19069, + "³³³³": 19070, + "direction": 19071, + "ĠEP": 19072, + "Ġhunt": 19073, + "JsonProperty": 19074, + "ĠPORT": 19075, + "]\",": 19076, + "ап": 19077, + "ĠForeign": 19078, + "panic": 19079, + "Ġtrials": 19080, + "ĠAle": 19081, + "Ġrural": 19082, + "-value": 19083, + "authorized": 19084, + "ĠScotland": 19085, + ".drop": 19086, + "ĠMT": 19087, + "ç±": 19088, + "rowth": 19089, + "FilePath": 19090, + "Ġrecall": 19091, + "ifle": 19092, + "Ġcel": 19093, + "ĠSELECT": 19094, + "kn": 19095, + "_case": 19096, + "Ġcrop": 19097, + "sure": 19098, + "pot": 19099, + "ICS": 19100, + "Ġstem": 19101, + "Ġindustries": 19102, + "Put": 19103, + "Ġaber": 19104, + "roadcast": 19105, + "Icons": 19106, + ")\")Ċ": 19107, + "æĪIJåĬŁ": 19108, + "gui": 19109, + "Ġassumed": 19110, + "Ġrx": 19111, + "EA": 19112, + "è§": 19113, + "ELL": 19114, + "Ġdose": 19115, + "Ġine": 19116, + "Ġdeeper": 19117, + "lider": 19118, + "Ġordinary": 19119, + "Ġgolf": 19120, + "_IMAGE": 19121, + "ĠNAME": 19122, + "(module": 19123, + "Ġatom": 19124, + "Ġbelt": 19125, + "Ġoffices": 19126, + "beta": 19127, + "Ġphilosophy": 19128, + "(JSON": 19129, + "-field": 19130, + "Ġintroduce": 19131, + "Ġconvenience": 19132, + "optim": 19133, + ">\"Ċ": 19134, + "athy": 19135, + "Ġemployer": 19136, + "quate": 19137, + "Ġedited": 19138, + "Arguments": 19139, + "ĠNations": 19140, + "__)": 19141, + "Ġnose": 19142, + "ĠSample": 19143, + "')ĊĊĊ": 19144, + "Ġcake": 19145, + ".getAttribute": 19146, + "HD": 19147, + "Modified": 19148, + "Ġpredicted": 19149, + "ÅĦ": 19150, + "anie": 19151, + "Sorry": 19152, + "(doc": 19153, + "wind": 19154, + "ieve": 19155, + "Ġprovisions": 19156, + "ATER": 19157, + "OTE": 19158, + "MY": 19159, + ".Autowired": 19160, + "ĠBath": 19161, + ".Boolean": 19162, + "Ġbackend": 19163, + ".Mouse": 19164, + "ateral": 19165, + "paper": 19166, + "Const": 19167, + "ĠVR": 19168, + "_entity": 19169, + "_CTRL": 19170, + "ĠProtection": 19171, + "ĠGM": 19172, + "ĠStudy": 19173, + "Ġsoup": 19174, + "otime": 19175, + "'use": 19176, + "]\"": 19177, + "/users": 19178, + "aug": 19179, + "ĠHong": 19180, + "_norm": 19181, + "ãģ¨": 19182, + "Ġsecre": 19183, + "(Build": 19184, + "ĠContract": 19185, + "olas": 19186, + "Ġsauce": 19187, + "Ġaggressive": 19188, + "Ġracial": 19189, + "character": 19190, + "@@": 19191, + "Ġcompile": 19192, + "ĠVoid": 19193, + "_rem": 19194, + "_memory": 19195, + "kk": 19196, + "Ġmic": 19197, + "Same": 19198, + "Utility": 19199, + "ĠHtml": 19200, + "ĠXml": 19201, + "Ready": 19202, + "Ġgall": 19203, + "Ġallegedly": 19204, + "ĉĉĉĉĠĠĠ": 19205, + "ĠMetal": 19206, + "ĠPersonal": 19207, + "ĠborderRadius": 19208, + "rxjs": 19209, + "objects": 19210, + "Ġwanting": 19211, + "Ġbowl": 19212, + "vendor": 19213, + "offsetof": 19214, + "ĠRs": 19215, + "ĠRating": 19216, + "Ġrally": 19217, + "_NODE": 19218, + "ĠMix": 19219, + "Ġadvertis": 19220, + "Ġnarrative": 19221, + "sal": 19222, + "Ġmc": 19223, + "SError": 19224, + "Ġfingers": 19225, + "Ġaccompany": 19226, + "Ġtired": 19227, + "Ġstride": 19228, + "Ġgui": 19229, + "elist": 19230, + "Locale": 19231, + "Ġreleases": 19232, + "iking": 19233, + "Ġanger": 19234, + ")))ĊĊ": 19235, + "allest": 19236, + "Summary": 19237, + "(O": 19238, + "(for": 19239, + "Ġbasketball": 19240, + "Ġroads": 19241, + "ĠInstall": 19242, + "ĠFab": 19243, + "itmap": 19244, + "Ġ))Ċ": 19245, + "Ġintersection": 19246, + "ighbor": 19247, + "ĠBry": 19248, + "ĠHERE": 19249, + "Software": 19250, + "elfare": 19251, + "acs": 19252, + "Ġtrailer": 19253, + ".getClass": 19254, + "chars": 19255, + "Ġregulation": 19256, + "Ġrefers": 19257, + "Ġdestruction": 19258, + "Ġcontinuous": 19259, + "ĠAustin": 19260, + "é¢": 19261, + "akan": 19262, + ".window": 19263, + "ĠTemplates": 19264, + "Ġabsence": 19265, + ":n": 19266, + "Ġdisorder": 19267, + "flash": 19268, + "Ġdelet": 19269, + "boards": 19270, + "ĠĠĉ": 19271, + "ROP": 19272, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 19273, + "Ġacqu": 19274, + "Ġlawsuit": 19275, + "ĠReviews": 19276, + "Ġgarage": 19277, + "timer": 19278, + "Ġej": 19279, + "ĠRectangle": 19280, + "Ġflowers": 19281, + "ilst": 19282, + "ĠInstance": 19283, + "Super": 19284, + "det": 19285, + "disposing": 19286, + "ĠES": 19287, + "ĠIC": 19288, + "vere": 19289, + "Sk": 19290, + "_channels": 19291, + "puted": 19292, + "/null": 19293, + "nnen": 19294, + "ĠGallery": 19295, + "_global": 19296, + "Authentication": 19297, + "ĠRank": 19298, + "Ġblocked": 19299, + "Ġcalm": 19300, + "market": 19301, + "ĉval": 19302, + "Ġaug": 19303, + "period": 19304, + "ĠConstant": 19305, + "Ġ?>\">Ċ": 19306, + "Ġlobby": 19307, + "pal": 19308, + "Ġsink": 19309, + "iah": 19310, + "С": 19311, + "urname": 19312, + "Ġconver": 19313, + "Ġinvestigate": 19314, + "Christ": 19315, + "Hub": 19316, + "ĠIND": 19317, + "ĠPed": 19318, + "uras": 19319, + "ĉurl": 19320, + "ĠTro": 19321, + "Ġpreferences": 19322, + "Ġguaranteed": 19323, + "`ĊĊ": 19324, + "Ġportions": 19325, + "Ġevalu": 19326, + "'>;ĊĊ": 19421, + ".AutoScaleMode": 19422, + "Ġcats": 19423, + "Ġregistry": 19424, + "ulus": 19425, + "FI": 19426, + "payload": 19427, + "-search": 19428, + "Ġstaying": 19429, + "acious": 19430, + "Decoration": 19431, + "Review": 19432, + "Inf": 19433, + "Keep": 19434, + "itis": 19435, + ",String": 19436, + "Coord": 19437, + "Ġpero": 19438, + "Sex": 19439, + "ĠAtlanta": 19440, + "uesta": 19441, + "Argb": 19442, + ">*": 19443, + "}_": 19444, + "Footer": 19445, + "Ġemployed": 19446, + "_bound": 19447, + "vide": 19448, + ".func": 19449, + "$scope": 19450, + "Ġspo": 19451, + "ĠAnal": 19452, + "ounced": 19453, + "around": 19454, + "Ġrestriction": 19455, + "Ġshops": 19456, + "åĢ": 19457, + "ĠLatin": 19458, + "-col": 19459, + "Ġbarely": 19460, + "ĠEuro": 19461, + "Er": 19462, + "Ġfaire": 19463, + "_distance": 19464, + "_unlock": 19465, + "Quote": 19466, + "IVATE": 19467, + "ĠåĪ": 19468, + "Ġaimed": 19469, + "ĠRetrie": 19470, + ".iter": 19471, + "Ġwrapped": 19472, + "Ġagreements": 19473, + "strument": 19474, + "(product": 19475, + "Ġstudied": 19476, + ".setValue": 19477, + "Ġye": 19478, + "ĠCache": 19479, + "MBOL": 19480, + "Ġquarterback": 19481, + "Ġsyntax": 19482, + ".getElementsBy": 19483, + ".version": 19484, + "website": 19485, + "Runner": 19486, + "_single": 19487, + "ativ": 19488, + "ĠAltern": 19489, + "ĠBeautiful": 19490, + "rightarrow": 19491, + "Ġdiversity": 19492, + "plash": 19493, + "(co": 19494, + ".Fill": 19495, + "Ġtyping": 19496, + "Ġclar": 19497, + "Hit": 19498, + "OO": 19499, + "acco": 19500, + "worth": 19501, + "Ġscripts": 19502, + "ĠMuslims": 19503, + "ĠLL": 19504, + "erving": 19505, + "(boolean": 19506, + "Ġbaseball": 19507, + "ĠCAN": 19508, + "MAIL": 19509, + "depend": 19510, + "Ġrespective": 19511, + "Ġconstexpr": 19512, + ".*;ĊĊ": 19513, + "']))Ċ": 19514, + "Ġyard": 19515, + "Ġidentical": 19516, + "ifecycle": 19517, + "USH": 19518, + "upiter": 19519, + ".validate": 19520, + "cli": 19521, + "ISTER": 19522, + "Indicator": 19523, + "Fail": 19524, + "Ġdemocracy": 19525, + ".var": 19526, + "Ġsatisfied": 19527, + "-------------": 19528, + "encer": 19529, + "hor": 19530, + "Ġrounds": 19531, + "DAO": 19532, + "oa": 19533, + "Ġflask": 19534, + "=c": 19535, + "[]Ċ": 19536, + "/dist": 19537, + "Ġparte": 19538, + "Ġconfirmation": 19539, + "eron": 19540, + "aware": 19541, + "": 19542, + "Ġdependencies": 19543, + "ĠVideos": 19544, + "-row": 19545, + "Ġ**/Ċ": 19546, + "Ġnou": 19547, + "Ġhover": 19548, + "æŀ": 19549, + "Ġnin": 19550, + "ĠUSD": 19551, + "Mac": 19552, + "_Load": 19553, + "Ġoutcomes": 19554, + "_socket": 19555, + "Ġqueries": 19556, + "wm": 19557, + "Ġhitting": 19558, + "inux": 19559, + "Mich": 19560, + "udge": 19561, + "ATAB": 19562, + "Ġvulnerable": 19563, + "ä¾": 19564, + "Ġportfolio": 19565, + ":YES": 19566, + "ĉmap": 19567, + "Bound": 19568, + "Ġiteration": 19569, + "incess": 19570, + "Ġactors": 19571, + "ĠQual": 19572, + "_clean": 19573, + "ãĢijãĢIJ": 19574, + "MSG": 19575, + "Green": 19576, + "ĠOfficer": 19577, + "Ġsmoking": 19578, + ">',": 19579, + "ĠFlo": 19580, + "++;": 19581, + "olygon": 19582, + "Ġbulk": 19583, + "Ġdrama": 19584, + "Ġexceptions": 19585, + "osed": 19586, + "Ġ+čĊ": 19587, + "Ġlegacy": 19588, + "CV": 19589, + "Ġcontributed": 19590, + "ĠTerms": 19591, + "Ġbt": 19592, + "Ġuntuk": 19593, + "Ġalien": 19594, + "===Ċ": 19595, + "ĉVector": 19596, + "Ġls": 19597, + "Online": 19598, + ".facebook": 19599, + "numeric": 19600, + "ockets": 19601, + "Aut": 19602, + "bury": 19603, + "-redux": 19604, + "ĠRedistributions": 19605, + "GLOBALS": 19606, + "urrencies": 19607, + "Ġtons": 19608, + "âĢĻ,": 19609, + "Ġê": 19610, + "(col": 19611, + "ĠSymbol": 19612, + "Ġstayed": 19613, + "ĠML": 19614, + "Ġmunicip": 19615, + "Ġsexo": 19616, + "Sen": 19617, + "nr": 19618, + "Ġgains": 19619, + "Ġshortly": 19620, + ".Menu": 19621, + "ý": 19622, + "KNOWN": 19623, + "Ġoperators": 19624, + "-V": 19625, + "ĠPatrick": 19626, + "/add": 19627, + "_CO": 19628, + "iration": 19629, + "(post": 19630, + "Posts": 19631, + "/_": 19632, + "Ġplug": 19633, + "Ġintellectual": 19634, + "Ġmetab": 19635, + "Ġpregnancy": 19636, + "ĠPremier": 19637, + "nm": 19638, + "Ġprediction": 19639, + "ĠMinistry": 19640, + "Three": 19641, + "valuate": 19642, + "ĠMini": 19643, + "bu": 19644, + "оз": 19645, + "\";čĊ": 20078, + "ĠSav": 20079, + ".Bold": 20080, + "Ġenables": 20081, + "ĉtmp": 20082, + "Ġmanually": 20083, + "ĠSqu": 20084, + "userid": 20085, + ".function": 20086, + ".cache": 20087, + "LOPT": 20088, + ".Services": 20089, + "ddit": 20090, + "tim": 20091, + ">>": 20154, + "station": 20155, + "lore": 20156, + "atype": 20157, + "ishop": 20158, + "/****************************************************************": 20159, + "ComboBox": 20160, + "Ġvacation": 20161, + "Ġinitiative": 20162, + "ĠdefaultValue": 20163, + "concat": 20164, + "ĠKh": 20165, + "ĠWelcome": 20166, + "izedName": 20167, + "Migration": 20168, + "Ġgradient": 20169, + "Hot": 20170, + "Ġhardly": 20171, + "elo": 20172, + "ĠStudents": 20173, + "Ġloose": 20174, + "atz": 20175, + ".Send": 20176, + "'/": 20177, + "Ġuniversal": 20178, + "Ġenterprise": 20179, + "Ġregex": 20180, + "Ġvisitor": 20181, + "ĠFly": 20182, + "Seq": 20183, + "à¸Ļ": 20184, + "ĠVisual": 20185, + "Ġlibraries": 20186, + "atoes": 20187, + "Payment": 20188, + "Ġpent": 20189, + "Ġgathered": 20190, + "VRTX": 20191, + "ĠDM": 20192, + "Split": 20193, + "Ġletting": 20194, + "ÐĿ": 20195, + "_errors": 20196, + "epoch": 20197, + "PARAM": 20198, + "cu": 20199, + "ÑģÑĤв": 20200, + "olutions": 20201, + "Editing": 20202, + "fonts": 20203, + "Ġallocated": 20204, + "ĠBased": 20205, + "(Y": 20206, + "ĠJudge": 20207, + "Ġbrothers": 20208, + "FILES": 20209, + "ço": 20210, + "wb": 20211, + "_PI": 20212, + "'^": 20213, + "Ġsword": 20214, + ".services": 20215, + "Ġnl": 20216, + "Tim": 20217, + "igg": 20218, + "ĠMoore": 20219, + "Ġcryptoc": 20220, + "åĩº": 20221, + "_posts": 20222, + "otate": 20223, + "?'": 20224, + "....ĊĊ": 20225, + "Ġkl": 20226, + "=\"$": 20227, + "Ġdecoration": 20228, + "ạ": 20229, + "ĠDIRECT": 20230, + "GUI": 20231, + ")=>{Ċ": 20232, + "Ġnewsletter": 20233, + "Ġprecis": 20234, + "(point": 20235, + "ĠEquipment": 20236, + "uty": 20237, + "ĠDave": 20238, + "Ġparticipation": 20239, + "uarios": 20240, + "xit": 20241, + ".As": 20242, + "ETER": 20243, + "orous": 20244, + "Ġshield": 20245, + "[]>": 20246, + "ilitary": 20247, + ".origin": 20248, + "Ġpromotion": 20249, + "Unt": 20250, + "Ġct": 20251, + "TRA": 20252, + "ViewHolder": 20253, + "Ġsigma": 20254, + "delta": 20255, + "arehouse": 20256, + "contract": 20257, + "(Vector": 20258, + "Ġcompete": 20259, + "/form": 20260, + "/components": 20261, + "Ġnr": 20262, + "ĠIndones": 20263, + "ĠоÑĤ": 20264, + "ĠVolume": 20265, + ".files": 20266, + "(resp": 20267, + "/models": 20268, + "Ġsurf": 20269, + "standard": 20270, + "/o": 20271, + "ĠXCTAssert": 20272, + "VICES": 20273, + ".Code": 20274, + "SED": 20275, + "Ġactivate": 20276, + "Delta": 20277, + "Ġlimitation": 20278, + "rij": 20279, + "Ġpregnant": 20280, + ":^(": 20281, + "Ġsour": 20282, + "pie": 20283, + "Ġexpense": 20284, + "ication": 20285, + "ĠLarge": 20286, + "Ġ±": 20287, + "ĠBowl": 20288, + "(models": 20289, + "/N": 20290, + "Pa": 20291, + ".reload": 20292, + "Ġwondering": 20293, + "Execution": 20294, + "ĉĠĠĠĠĠĠ": 20295, + "ĠGraphics": 20296, + "ĠContin": 20297, + "_job": 20298, + "ĠgetName": 20299, + "ĠMagn": 20300, + "ĠDWORD": 20301, + "mad": 20302, + "Ġnh": 20303, + "features": 20304, + "}\");Ċ": 20305, + "heets": 20306, + "(train": 20307, + "zn": 20308, + "Ġrecruit": 20309, + ".connection": 20310, + "Ġbarrel": 20311, + "Ġsteam": 20312, + "_setting": 20313, + "Ġangular": 20314, + "aneously": 20315, + "Ġbil": 20316, + "ĠNorm": 20317, + "(!$": 20318, + "ibt": 20319, + "%(": 20320, + "Ġposit": 20321, + "ĠFather": 20322, + "intendo": 20323, + "Live": 20324, + "Ġports": 20325, + "Ġmej": 20326, + "Ġlanding": 20327, + "ponder": 20328, + "Ġcod": 20329, + "_HEADER": 20330, + ".Margin": 20331, + "Ġballs": 20332, + "Ġdiscussions": 20333, + "Ġblend": 20334, + "Hex": 20335, + "Ġfarmers": 20336, + "Ġmaintaining": 20337, + "ĠĠĠčĊ": 20338, + "syn": 20339, + "[T": 20340, + "rus": 20341, + "uffers": 20342, + "Ġcontributors": 20343, + "_sys": 20344, + ".Debug": 20345, + "Ġconstructed": 20346, + "omes": 20347, + "?id": 20348, + "slider": 20349, + "Ġsuppliers": 20350, + "scriber": 20351, + "pes": 20352, + "Ðŀ": 20353, + "\":čĊ": 20354, + "\\Controller": 20355, + "))ĊĊĊ": 20356, + "Ġlua": 20357, + "Multi": 20358, + "ENS": 20359, + "Src": 20360, + "Ġpetition": 20361, + "Ġslave": 20362, + "looking": 20363, + "VERT": 20364, + "ĉvector": 20365, + "Special": 20366, + "hh": 20367, + "anne": 20368, + "ĠNiger": 20369, + "/views": 20370, + "zing": 20371, + "endant": 20372, + "(": 20591, + ".Product": 20592, + "Forms": 20593, + "NEW": 20594, + "Pay": 20595, + "ĉboolean": 20596, + "_contact": 20597, + "ĠElectric": 20598, + "skip": 20599, + "Ġwur": 20600, + "Ġchronic": 20601, + "_driver": 20602, + "ĠSab": 20603, + "ĠUlt": 20604, + "ĠRad": 20605, + "STATUS": 20606, + "ĠLewis": 20607, + "OB": 20608, + "Ġgifts": 20609, + ".Rec": 20610, + "TRUE": 20611, + "Ġintensity": 20612, + "Marker": 20613, + ".compare": 20614, + "ffic": 20615, + "Cookie": 20616, + "ĠBaby": 20617, + "ĠBigDecimal": 20618, + "ilet": 20619, + "ĠHOLDERS": 20620, + "ĠLady": 20621, + "Ġlung": 20622, + "ĠAlabama": 20623, + "Ġdess": 20624, + "`);Ċ": 20625, + "ĠBuilder": 20626, + "_region": 20627, + "Ġneutral": 20628, + "Both": 20629, + "Ġhp": 20630, + "Ġhorn": 20631, + "Ġsegments": 20632, + "ĠEC": 20633, + "\"=>\"": 20634, + "(rec": 20635, + "ĠPi": 20636, + "GM": 20637, + "Ġlaptop": 20638, + "Scalar": 20639, + "isd": 20640, + "-dialog": 20641, + "ĠAnderson": 20642, + "Ġmistakes": 20643, + "ĠHan": 20644, + "jes": 20645, + "estination": 20646, + "Ġpromises": 20647, + "bid": 20648, + "ĠScient": 20649, + "GIN": 20650, + "ĠPerformance": 20651, + "bage": 20652, + ".users": 20653, + "leading": 20654, + "Ġoral": 20655, + "Graphics": 20656, + "_PTR": 20657, + "hang": 20658, + "Ġinev": 20659, + "processing": 20660, + "Factor": 20661, + "ĠNA": 20662, + "$string": 20663, + "Ġgrounds": 20664, + ".SaveChanges": 20665, + "clock": 20666, + "cripcion": 20667, + "ĠNewton": 20668, + "gc": 20669, + ".includes": 20670, + "Ġblast": 20671, + "Ġ'-'": 20672, + "Ġpuede": 20673, + ".Session": 20674, + "Ġgrep": 20675, + "_final": 20676, + "ĠGay": 20677, + "ĠGive": 20678, + "iri": 20679, + "-star": 20680, + "ĠUIImage": 20681, + "_epoch": 20682, + "ubb": 20683, + "enth": 20684, + "Ġelite": 20685, + "Ġcampaigns": 20686, + "ĠPorno": 20687, + "_assign": 20688, + "Protocol": 20689, + "ĠBeing": 20690, + "ĠAirport": 20691, + "Ġconventional": 20692, + "ĠWat": 20693, + "ĠCI": 20694, + "ETA": 20695, + "ĠAnthony": 20696, + "Ġtablet": 20697, + "(format": 20698, + "Ġconsistently": 20699, + "ĠIowa": 20700, + "Ġavatar": 20701, + ".cursor": 20702, + "![": 20703, + "Ġhanging": 20704, + "Her": 20705, + "Such": 20706, + "';ĊĊĊ": 20707, + "orgeous": 20708, + "()==": 20709, + "ĠviewModel": 20710, + "Ġãĥ": 20711, + "Ġels": 20712, + "ĠAgent": 20713, + "Fetch": 20714, + "apor": 20715, + "Ġcx": 20716, + "pread": 20717, + "ĠPier": 20718, + "oeff": 20719, + "Sn": 20720, + "ĠVirtual": 20721, + "Apr": 20722, + ".White": 20723, + "_MOD": 20724, + "ĠPoints": 20725, + "失": 20726, + "Ġgenes": 20727, + "Ġvendor": 20728, + "Ġmainstream": 20729, + "Ċ": 20758, + "Filename": 20759, + "Ġsne": 20760, + "ĠFootball": 20761, + "Ġrival": 20762, + "Ġdisaster": 20763, + "ionic": 20764, + "ĠDamage": 20765, + ".Resource": 20766, + "-en": 20767, + "ĠTypes": 20768, + "getString": 20769, + "(board": 20770, + "Ġbol": 20771, + "plain": 20772, + "zym": 20773, + "า": 20774, + "Ġscanner": 20775, + "ilder": 20776, + "_msgs": 20777, + "æı": 20778, + "(intent": 20779, + "Ġdestruct": 20780, + "Ġbust": 20781, + "ĠEmploy": 20782, + "oni": 20783, + "ĠUIViewController": 20784, + "Ġodds": 20785, + "earer": 20786, + "Geometry": 20787, + "Ġyii": 20788, + "_EXPORT": 20789, + "ĠAttack": 20790, + "Ġniet": 20791, + "Ġimpression": 20792, + "ĠGil": 20793, + "_prob": 20794, + "ĠCF": 20795, + "ĠExperience": 20796, + "/plugins": 20797, + ".Method": 20798, + "Ġbeliefs": 20799, + "Native": 20800, + "_build": 20801, + "Ġvig": 20802, + "Ġranks": 20803, + "covered": 20804, + "such": 20805, + "Guard": 20806, + ".pack": 20807, + "adder": 20808, + "ivia": 20809, + "lng": 20810, + "ĠвÑĭ": 20811, + "Timestamp": 20812, + "_now": 20813, + "Ġpoker": 20814, + "Ġunc": 20815, + "Ġshapes": 20816, + "-types": 20817, + "_period": 20818, + "pk": 20819, + "Ġveteran": 20820, + "Ġsono": 20821, + "Ġappointed": 20822, + "overflow": 20823, + ".driver": 20824, + "_cat": 20825, + "utt": 20826, + "plant": 20827, + "imb": 20828, + "ĠAccept": 20829, + "Ġconcert": 20830, + "ĉnode": 20831, + "ĉz": 20832, + "?>čĊ": 20833, + "Ġbanned": 20834, + "ĉĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 20835, + "Ġtoxic": 20836, + "Ġdisappe": 20837, + "ÈĽ": 20838, + "Ġgrace": 20839, + "ateful": 20840, + "Reply": 20841, + "ĠCruz": 20842, + "Ġscrap": 20843, + "Ġkeywords": 20844, + "simp": 20845, + "Ġmortgage": 20846, + "Ġcyber": 20847, + "ĠExecute": 20848, + "Ġlatitude": 20849, + "ifu": 20850, + ".COM": 20851, + "dbo": 20852, + "Ġsorts": 20853, + "ĠGas": 20854, + "omial": 20855, + ".Local": 20856, + "Cells": 20857, + ".Replace": 20858, + "Strings": 20859, + ".fit": 20860, + "ĠThird": 20861, + "%\",Ċ": 20862, + "Ġ{}\".": 20863, + "ĠSony": 20864, + "Ġ[:": 20865, + "Ġfallen": 20866, + ".')Ċ": 20867, + "inh": 20868, + "ĠMC": 20869, + "Ġredis": 20870, + "Codes": 20871, + "Ġprofiles": 20872, + "hook": 20873, + "Reducer": 20874, + "_FUNC": 20875, + "Ġnavigate": 20876, + "strlen": 20877, + "Ġhorm": 20878, + "áŀ": 20879, + "ĠSR": 20880, + ".boot": 20881, + "Ġdigest": 20882, + "ĉheader": 20883, + ".findOne": 20884, + "æģ": 20885, + "DbType": 20886, + "nia": 20887, + "_merge": 20888, + "Ġdonne": 20889, + "/Getty": 20890, + "_CHAR": 20891, + "Ġbands": 20892, + ".URL": 20893, + "artial": 20894, + "Ġfreq": 20895, + "Ġsist": 20896, + "Ng": 20897, + "Ġrendering": 20898, + "\\Core": 20899, + "Widgets": 20900, + "ĠVA": 20901, + "Ġactivists": 20902, + "Ste": 20903, + "=_": 20904, + "alla": 20905, + "Stamp": 20906, + "Ġloads": 20907, + "Ġxx": 20908, + "ĠLearning": 20909, + ".Mvc": 20910, + "uir": 20911, + "(\"$": 20912, + "Ġconnecting": 20913, + "ReadOnly": 20914, + "uru": 20915, + "ĠEag": 20916, + "BIT": 20917, + "_DEL": 20918, + "å§": 20919, + "arrass": 20920, + "external": 20921, + "ĠYOUR": 20922, + "ĠBrew": 20923, + "ĠFive": 20924, + "Ġresize": 20925, + "igid": 20926, + "eration": 20927, + "ĠÑį": 20928, + "åĬł": 20929, + "ĠCatch": 20930, + "Ùģ": 20931, + "ĠLeon": 20932, + "amil": 20933, + ".Body": 20934, + "Clip": 20935, + "/list": 20936, + ".br": 20937, + "EditText": 20938, + "ĉdb": 20939, + ".Game": 20940, + "(BuildContext": 20941, + "backend": 20942, + ".Red": 20943, + "facebook": 20944, + ".urls": 20945, + "mr": 20946, + "rolled": 20947, + "-------": 20948, + "Ġintervention": 20949, + "Ġretirement": 20950, + "ĠKit": 20951, + "ĠPRE": 20952, + "UpperCase": 20953, + "ĠSocket": 20954, + "Ġ:-": 20955, + "Ġstudying": 20956, + "ĠMetro": 20957, + "arded": 20958, + "Ġconversations": 20959, + "Called": 20960, + "Ġexamine": 20961, + "ertificate": 20962, + ".gz": 20963, + "-responsive": 20964, + "Ġrefund": 20965, + "_network": 20966, + "allowed": 20967, + "empt": 20968, + "Ġmeals": 20969, + "Categories": 20970, + "Ġtraveling": 20971, + "Ġkg": 20972, + "Ġshame": 20973, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 20974, + "Ġexplicitly": 20975, + "Ġmathematic": 20976, + "ĠSuite": 20977, + "ĠRGB": 20978, + "******/": 20979, + "Ġmixture": 20980, + "learning": 20981, + ".template": 20982, + "atts": 20983, + "wx": 20984, + "ĉctx": 20985, + ".properties": 20986, + "Ġdrinks": 20987, + "ĠEither": 20988, + "setText": 20989, + ".getData": 20990, + ".zip": 20991, + "Ġreveals": 20992, + ".Ċ": 21005, + "Ġranked": 21006, + "_impl": 21007, + "ĠHandles": 21008, + "Ġhosted": 21009, + "Ġupdating": 21010, + "album": 21011, + "éĿ": 21012, + "Ġshader": 21013, + "Editors": 21014, + "-round": 21015, + "[]{": 21016, + "Ġsep": 21017, + "ĠHi": 21018, + "TEM": 21019, + "lookup": 21020, + ".man": 21021, + "_INPUT": 21022, + "Ġthreatened": 21023, + "_IMPORT": 21024, + "Ġdrops": 21025, + "ruit": 21026, + "sid": 21027, + "both": 21028, + "ĠExcel": 21029, + "Ġjer": 21030, + "ordinary": 21031, + "ей": 21032, + "VIEW": 21033, + "reply": 21034, + "Ġ):Ċ": 21035, + "colors": 21036, + "verified": 21037, + "_Tr": 21038, + "_parse": 21039, + "Ġcongress": 21040, + "Promise": 21041, + "ints": 21042, + "ĠMother": 21043, + ".Api": 21044, + "ĠDuration": 21045, + "ĠfirstName": 21046, + "inheritdoc": 21047, + "ĠMars": 21048, + "Ġapr": 21049, + "ODY": 21050, + "Ġvisits": 21051, + "Ġhealing": 21052, + "letters": 21053, + ")));čĊ": 21054, + "future": 21055, + ".Framework": 21056, + "Ġkiss": 21057, + "Ġinvolve": 21058, + "Ġsilent": 21059, + "adows": 21060, + "Ġanybody": 21061, + "sch": 21062, + "Ġsolely": 21063, + "-img": 21064, + "Ġpropri": 21065, + "Ġinstruct": 21066, + "Ġlicenses": 21067, + "Ġmeth": 21068, + "Ġcondem": 21069, + "ĠDomain": 21070, + "ĠHarris": 21071, + "ĠsÃ¥": 21072, + "CEPT": 21073, + "Batch": 21074, + "@extends": 21075, + "ĠCONTRIBUT": 21076, + ".DataFrame": 21077, + "_packet": 21078, + "recision": 21079, + "Ġfocusing": 21080, + ".ht": 21081, + "__\":Ċ": 21082, + ":Get": 21083, + "ĠKC": 21084, + "Ġpassage": 21085, + "Segment": 21086, + "_center": 21087, + "-zA": 21088, + "_BL": 21089, + "Ġconvin": 21090, + "Ġclassified": 21091, + "ĠNSMutable": 21092, + "_ap": 21093, + "tile": 21094, + "Rectangle": 21095, + "(nums": 21096, + "vens": 21097, + "ĠUIButton": 21098, + "ĠFeder": 21099, + "amo": 21100, + "Ġoutline": 21101, + "ĠParser": 21102, + "Ġâī": 21103, + "ĠWorks": 21104, + ".Schema": 21105, + "Ġengines": 21106, + "_common": 21107, + "_old": 21108, + "ĠsetContentView": 21109, + "Ġ///<": 21110, + "ĠBT": 21111, + "fm": 21112, + "Ġdivers": 21113, + "_weights": 21114, + "emark": 21115, + "ĠACT": 21116, + "Ġproportion": 21117, + "overlay": 21118, + ".dirname": 21119, + "ĠGit": 21120, + "_REFERENCE": 21121, + "<>": 21122, + "lb": 21123, + "_rule": 21124, + "è´¥": 21125, + "ĠPutin": 21126, + "Ġsleeping": 21127, + "():čĊ": 21128, + "Ġpreserve": 21129, + "Ġparliament": 21130, + "ĠLooking": 21131, + "Ġpicking": 21132, + "ĠDispatch": 21133, + "Ġslip": 21134, + "ëĵ": 21135, + "ĠLyn": 21136, + "_signal": 21137, + "configuration": 21138, + "ĠPitt": 21139, + "aden": 21140, + "procedure": 21141, + "Ġenthusi": 21142, + "fight": 21143, + "ĠConsider": 21144, + "Ġtorn": 21145, + "Connected": 21146, + ".cos": 21147, + "_groups": 21148, + "ĠThink": 21149, + "Ġdeliber": 21150, + "Ġresid": 21151, + "working": 21152, + ".columns": 21153, + "ĠCalled": 21154, + "Ġeslint": 21155, + ">\",": 21156, + "_DOWN": 21157, + "hist": 21158, + "ĠAdvanced": 21159, + "Ġrewards": 21160, + "actors": 21161, + "Ġsilence": 21162, + "Ġmyth": 21163, + "Ġneur": 21164, + "Ġauction": 21165, + ".GetString": 21166, + "eks": 21167, + "(project": 21168, + "ĉmsg": 21169, + "ĉoutput": 21170, + "Ġcomplaints": 21171, + ",S": 21172, + "Ġtbl": 21173, + "Ġ,ĊĊ": 21174, + "riors": 21175, + "ahren": 21176, + "Ġlawyers": 21177, + "redux": 21178, + "_symbol": 21179, + "offee": 21180, + "_RESULT": 21181, + "(Name": 21182, + "UTC": 21183, + ".currentTime": 21184, + "Ġorganis": 21185, + ".arg": 21186, + "Ġminim": 21187, + "wick": 21188, + "Ġreceives": 21189, + "Balance": 21190, + "Ġspeaks": 21191, + "ĠDays": 21192, + "ĠBelow": 21193, + "tipo": 21194, + "Present": 21195, + "Ġreserv": 21196, + "hp": 21197, + "Ġrit": 21198, + "_RIGHT": 21199, + "--)": 21200, + "Ġchairman": 21201, + "DIS": 21202, + "ĠBOOST": 21203, + "Ġexperiments": 21204, + "__);Ċ": 21205, + "Ġstamp": 21206, + "Ġfert": 21207, + "Ġfond": 21208, + "Ter": 21209, + "elve": 21210, + "uren": 21211, + "+i": 21212, + "endency": 21213, + "Ġvirtually": 21214, + "...\"": 21215, + "ï½ŀ": 21216, + "-cent": 21217, + "_unique": 21218, + "Ġpricing": 21219, + "mic": 21220, + "RESH": 21221, + "Ġ:::": 21222, + "Ġannotation": 21223, + "ĠCircle": 21224, + "ongodb": 21225, + "itas": 21226, + "Ġ%(": 21227, + "(component": 21228, + "Ġоб": 21229, + "(port": 21230, + "-hour": 21231, + ".obj": 21232, + "LBL": 21233, + "Ġjury": 21234, + "GBT": 21235, + "Ġspy": 21236, + "ĠProfessional": 21237, + "Ġ\"\";ĊĊ": 21238, + "Ġstriking": 21239, + "Ġdiscrimination": 21240, + "Ġpays": 21241, + "lict": 21242, + "entes": 21243, + "Ġthrowing": 21244, + "ĠPlugin": 21245, + "(def": 21246, + "ĠRuntimeException": 21247, + "ĠMigration": 21248, + "Ġdic": 21249, + "bag": 21250, + "onia": 21251, + "Ġcorruption": 21252, + "(Map": 21253, + "Ġprz": 21254, + ".dto": 21255, + "Ġacquire": 21256, + "StateToProps": 21257, + "Ġloving": 21258, + "ож": 21259, + "_pattern": 21260, + "Ġemotions": 21261, + "Ġpublisher": 21262, + "_be": 21263, + "Ġcouples": 21264, + "oj": 21265, + "ĠChart": 21266, + "Ġtrop": 21267, + ".tool": 21268, + "Ġestablishment": 21269, + "Ġdol": 21270, + "Ġtower": 21271, + "Ġlane": 21272, + "ĠSydney": 21273, + "Ġfilling": 21274, + "claimed": 21275, + "Ġdialogue": 21276, + "Ġconvention": 21277, + "booking": 21278, + "parency": 21279, + "æ±": 21280, + "ĠGeneric": 21281, + "\\Schema": 21282, + "Ġranges": 21283, + "/ch": 21284, + "Ġpanels": 21285, + "Ġruled": 21286, + "çĶŁ": 21287, + ".ts": 21288, + "_sets": 21289, + "Ġcleanup": 21290, + "Previous": 21291, + "ĠAnimal": 21292, + "($(": 21293, + "ĠAve": 21294, + "ollar": 21295, + "_eval": 21296, + "ĉName": 21297, + "(tree": 21298, + "Ġ\"]": 21299, + "Ġduties": 21300, + "='/": 21301, + "Clicked": 21302, + "Ġdifferently": 21303, + "ĠClark": 21304, + "Ġdit": 21305, + "ologists": 21306, + "Ġsynd": 21307, + "Ġsends": 21308, + "-known": 21309, + "kb": 21310, + "ĠModal": 21311, + "itative": 21312, + "Ġracing": 21313, + "Ġhighlights": 21314, + "ĠSimon": 21315, + "ĠCaptain": 21316, + "ä¿¡": 21317, + "ĠCB": 21318, + "contin": 21319, + "aran": 21320, + "Ġphysics": 21321, + "retty": 21322, + "etal": 21323, + ".md": 21324, + "axios": 21325, + "Ġspeakers": 21326, + "Ġprep": 21327, + "Ġawarded": 21328, + "ì§Ģ": 21329, + "ĠCorn": 21330, + "ĠNature": 21331, + "UDIO": 21332, + "Ġproj": 21333, + "-pre": 21334, + "[u": 21335, + "Features": 21336, + "ĠisEqual": 21337, + "Binary": 21338, + "sig": 21339, + "Ġconfusion": 21340, + "ĠHat": 21341, + "Ġktó": 21342, + ".configure": 21343, + "MON": 21344, + "/edit": 21345, + "_Add": 21346, + ",true": 21347, + "Ġcli": 21348, + "ErrorMessage": 21349, + "-loader": 21350, + "Dimensions": 21351, + "ultiply": 21352, + "Ġ{!!": 21353, + "ĠSqlCommand": 21354, + "Ġspoken": 21355, + "Ġpics": 21356, + "Ġtoy": 21357, + "(Key": 21358, + "ĠLoop": 21359, + "ب": 21360, + "EATURE": 21361, + "inction": 21362, + "_setup": 21363, + "wrapper": 21364, + "Ġtong": 21365, + "cular": 21366, + "Opt": 21367, + ".Pl": 21368, + "=\",": 21369, + "(length": 21370, + "umn": 21371, + "Ġchrom": 21372, + "Ġsevent": 21373, + "ĠIllegalArgumentException": 21374, + "ĉstart": 21375, + "Ġbegun": 21376, + "CEPTION": 21377, + "dataset": 21378, + "ĠFailed": 21379, + "cols": 21380, + "Ġknee": 21381, + "imore": 21382, + ".splice": 21383, + "shell": 21384, + "iggers": 21385, + "Ġthemes": 21386, + "ĠDJ": 21387, + "ĠAssistant": 21388, + "-$": 21389, + "Maybe": 21390, + "Ġordering": 21391, + "ĠIntelligence": 21392, + "ĠMassachusetts": 21393, + "Ġfailing": 21394, + "elson": 21395, + "Great": 21396, + "=i": 21397, + ".rest": 21398, + "Ġinvite": 21399, + "-disable": 21400, + ".GroupBox": 21401, + "âĢĻest": 21402, + "Ġtackle": 21403, + "gv": 21404, + "etter": 21405, + "Ġ),čĊ": 21406, + "_rules": 21407, + ".warn": 21408, + "functions": 21409, + "ĠChristians": 21410, + "Ġbacked": 21411, + "Ġslider": 21412, + "Ġenjoying": 21413, + "nest": 21414, + "Ġhij": 21415, + "_ms": 21416, + "//*": 21417, + "Annotations": 21418, + "ĠVariables": 21419, + "": 21620, + "cycle": 21621, + "ĠBull": 21622, + "paths": 21623, + "Ġunp": 21624, + "ĠviewDidLoad": 21625, + "_Model": 21626, + "ĠassertTrue": 21627, + "Ġrated": 21628, + "Decl": 21629, + "verted": 21630, + "ĠDat": 21631, + "brew": 21632, + "Ġpointing": 21633, + "Ms": 21634, + "ĠPointer": 21635, + ")'": 21636, + "_non": 21637, + "ĠSEC": 21638, + "Ġyeah": 21639, + "gency": 21640, + "initialize": 21641, + "fly": 21642, + "[pos": 21643, + ",g": 21644, + "Tele": 21645, + "Ġjoke": 21646, + "Ġclause": 21647, + ".findById": 21648, + "enes": 21649, + "(instance": 21650, + "£": 21651, + "Ġslic": 21652, + "_home": 21653, + "Ġ*/}Ċ": 21654, + "_pages": 21655, + "(service": 21656, + "RP": 21657, + "ĠAmong": 21658, + ".getCurrent": 21659, + "ãĤ¹": 21660, + "Ġslee": 21661, + "=[Ċ": 22071, + "oler": 22072, + "Ġlibert": 22073, + "Ġ`Ċ": 22074, + "Ġwenn": 22075, + "lated": 22076, + "Ġimmune": 22077, + "(Node": 22078, + "ĠProblem": 22079, + "ĠAbs": 22080, + "logs": 22081, + "Ġ../": 22082, + "ĠADC": 22083, + "Ġ}}\">Ċ": 22084, + ">');Ċ": 22085, + "=b": 22086, + "ĠWind": 22087, + "lahoma": 22088, + "Ġallocate": 22089, + "orian": 22090, + "Ġprescription": 22091, + "-quality": 22092, + "ĠMayor": 22093, + "inely": 22094, + "endforeach": 22095, + "ĠComplex": 22096, + "kom": 22097, + "TY": 22098, + "]].": 22099, + ".Style": 22100, + "_many": 22101, + "','$": 22102, + "Ġbarrier": 22103, + "ĠFetch": 22104, + "ĠMarvel": 22105, + "Ġresist": 22106, + "ого": 22107, + "bidden": 22108, + "ĠRunnable": 22109, + ":false": 22110, + "Ġbuilds": 22111, + "ĠStage": 22112, + "Ġdub": 22113, + "empo": 22114, + ".site": 22115, + ";ĊĊĊĊ": 22116, + "ĠDenver": 22117, + "Ġrevel": 22118, + "Ġtriggered": 22119, + "Ġdice": 22120, + "_fail": 22121, + "Ġgc": 22122, + "ĉX": 22123, + "ĠThrowable": 22124, + ".router": 22125, + "ĠRevolution": 22126, + "ÑĢа": 22127, + "_NON": 22128, + "Ł¥": 22129, + "Ġelder": 22130, + "Ġabroad": 22131, + "Ġе": 22132, + "ĠAdult": 22133, + "blr": 22134, + "glyphicon": 22135, + "Ġpromoting": 22136, + "Ġiz": 22137, + "ĠSolid": 22138, + "_loader": 22139, + "early": 22140, + ".enabled": 22141, + "-edit": 22142, + "ĠUL": 22143, + "_play": 22144, + "ĠInterrupt": 22145, + "Ġadvantages": 22146, + "ucle": 22147, + "Ġmechanical": 22148, + ".tableLayoutPanel": 22149, + "ĠWorking": 22150, + "Ġanonymous": 22151, + "Rating": 22152, + "igious": 22153, + "_phone": 22154, + ".addActionListener": 22155, + "Ġfran": 22156, + "unden": 22157, + "Ġ*)&": 22158, + "_bool": 22159, + "ulative": 22160, + "Ġcone": 22161, + "ĠMult": 22162, + "Ġmö": 22163, + "ĠForward": 22164, + "]):Ċ": 22165, + "Ġconvinced": 22166, + "acted": 22167, + "ãģĵ": 22168, + "ĠConfigure": 22169, + "Ġceiling": 22170, + "Der": 22171, + "Ġpassengers": 22172, + "Groups": 22173, + "Ġsoccer": 22174, + "/W": 22175, + "aviors": 22176, + "swith": 22177, + "ĠZone": 22178, + ".Options": 22179, + "ĠMom": 22180, + "ieder": 22181, + "Arrays": 22182, + "Ġtreatments": 22183, + "Ġprotecting": 22184, + "fac": 22185, + "Ġpickle": 22186, + "ButtonItem": 22187, + "Ġblocking": 22188, + "strar": 22189, + "ò": 22190, + "ĠExport": 22191, + "Ġthrew": 22192, + "otta": 22193, + "ĠBASE": 22194, + ".ws": 22195, + ".LEADING": 22196, + "orderBy": 22197, + "_delay": 22198, + "ĠPu": 22199, + ".dll": 22200, + "ĠChoose": 22201, + "Police": 22202, + "ĠBEGIN": 22203, + "boxes": 22204, + "Ġdiamond": 22205, + ",l": 22206, + "Ġĉĉĉ": 22207, + "Ġcurious": 22208, + "tv": 22209, + "Ġerotische": 22210, + "ackages": 22211, + "ĉSet": 22212, + "Tick": 22213, + ".border": 22214, + "staticmethod": 22215, + "Ġcher": 22216, + "invoice": 22217, + "Ġcru": 22218, + "Ġdefect": 22219, + "_metadata": 22220, + "relation": 22221, + "ikan": 22222, + "[N": 22223, + "(Qt": 22224, + "(Base": 22225, + "æģ¯": 22226, + "beat": 22227, + "ĠEmpty": 22228, + "ĉo": 22229, + "_shift": 22230, + "Ġregret": 22231, + "Those": 22232, + "Cent": 22233, + "ĠPortug": 22234, + "ĠIslands": 22235, + "ĠTIME": 22236, + "Management": 22237, + "-sp": 22238, + "ême": 22239, + "Ġnotion": 22240, + "unifu": 22241, + "PK": 22242, + "è¡Į": 22243, + "ĠCURLOPT": 22244, + "\\\"\\": 22245, + "UV": 22246, + "çº": 22247, + "dra": 22248, + "cou": 22249, + "=`": 22250, + "ĠDestroy": 22251, + "rp": 22252, + ".cancel": 22253, + "GG": 22254, + "runtime": 22255, + "ĠVue": 22256, + "Ġprogressive": 22257, + "/services": 22258, + "Ġrunner": 22259, + "_FRAME": 22260, + ".ToolStripMenuItem": 22261, + "Ġ','": 22262, + "delay": 22263, + "=utf": 22264, + "Ġscreening": 22265, + "Ġpulling": 22266, + "omas": 22267, + "Ġanth": 22268, + "-new": 22269, + "/local": 22270, + "ĠiPad": 22271, + "Ġtwitter": 22272, + "Ġdying": 22273, + "Ġheaven": 22274, + "ĠUInt": 22275, + "ĠSenator": 22276, + "Ġpresum": 22277, + "ĠWalker": 22278, + "Ġovercome": 22279, + "etection": 22280, + "Ġembarrass": 22281, + "China": 22282, + "Include": 22283, + "ROLL": 22284, + "ĠdataType": 22285, + "David": 22286, + "ร": 22287, + "lop": 22288, + "-month": 22289, + "Ġscar": 22290, + "ĠSafe": 22291, + "Ġ****************************************************************": 22292, + "Ġaccessories": 22293, + "Ġramp": 22294, + "_USE": 22295, + "Ġcontrad": 22296, + "))]Ċ": 22297, + "Ġprest": 22298, + "ĠHR": 22299, + "ĠRap": 22300, + "Ġusize": 22301, + "Ġcapability": 22302, + "Ġcort": 22303, + "-next": 22304, + "Ġburden": 22305, + "_reader": 22306, + "Ġ@@": 22307, + "regular": 22308, + "ĠKa": 22309, + "MAN": 22310, + "Ġastr": 22311, + "Ġ'')Ċ": 22312, + "Ġfed": 22313, + "Ġparsing": 22314, + "ĠYears": 22315, + "Ġbroker": 22316, + "\":{\"": 22317, + "Ġakt": 22318, + "Inventory": 22319, + "abeled": 22320, + "Ġargparse": 22321, + "*******Ċ": 22322, + "versation": 22323, + "Ġcord": 22324, + "ĠTi": 22325, + "Ġhopefully": 22326, + "Ġah": 22327, + "verb": 22328, + "Ġstolen": 22329, + ".Entry": 22330, + "Ġexpecting": 22331, + "Orientation": 22332, + "Ġpowered": 22333, + "Ġpersist": 22334, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 22335, + "']);": 22336, + "')),Ċ": 22337, + "ĠCash": 22338, + "ĉitem": 22339, + "grades": 22340, + "ropol": 22341, + "basic": 22342, + "Ġ\");čĊ": 22343, + "Ġawards": 22344, + "(range": 22345, + "-all": 22346, + "ĠIBOutlet": 22347, + "ĠIndeed": 22348, + "----------------------------------------------------------------------------": 22349, + "Ġstomach": 22350, + "Ġflower": 22351, + "Ġsew": 22352, + "_times": 22353, + "avis": 22354, + "QString": 22355, + "ĠRoutes": 22356, + "_prot": 22357, + "Ġcomedy": 22358, + "Ġlogout": 22359, + "Ġwooden": 22360, + "Ġposter": 22361, + "piece": 22362, + ".Join": 22363, + "ĠPok": 22364, + "celona": 22365, + "mutex": 22366, + ";čĊčĊčĊ": 22367, + "Ġstrikes": 22368, + "Loaded": 22369, + ")arg": 22370, + "esa": 22371, + "United": 22372, + "Ep": 22373, + "PELL": 22374, + "ĠAtlantic": 22375, + "ullet": 22376, + "apple": 22377, + "Ġsettled": 22378, + "acon": 22379, + "Ġprinter": 22380, + "ĠGC": 22381, + "å®ļ": 22382, + "Ġrendered": 22383, + ",âĢĻ": 22384, + "heit": 22385, + "social": 22386, + ".ge": 22387, + "ĠRick": 22388, + "ĠUtah": 22389, + "got": 22390, + "onical": 22391, + "ĠScroll": 22392, + "ĠSciences": 22393, + "Ġjug": 22394, + "Ġampl": 22395, + "enti": 22396, + "LEFT": 22397, + "Ġtabs": 22398, + "Ġenormous": 22399, + ".getKey": 22400, + "locate": 22401, + ".EX": 22402, + ".storage": 22403, + ".We": 22404, + "Ġtoast": 22405, + "ĠAdditionally": 22406, + "ĠNOW": 22407, + "_UPDATE": 22408, + "Ġtransferred": 22409, + "tha": 22410, + ".Display": 22411, + "_ui": 22412, + "IDEO": 22413, + "Ġmeaningful": 22414, + "ĠMoscow": 22415, + ",this": 22416, + "ĠVictoria": 22417, + "æĶ¹": 22418, + "ĠÐŁ": 22419, + ".stack": 22420, + "ĠBarn": 22421, + "paredStatement": 22422, + ":string": 22423, + "Ġbij": 22424, + "ĠSTATE": 22425, + "Ġemployers": 22426, + "ĉinput": 22427, + "(|": 22428, + "Ġlex": 22429, + "invoke": 22430, + "ĉnum": 22431, + "++,": 22432, + "atial": 22433, + "orses": 22434, + "Ġfork": 22435, + "_txt": 22436, + "ĠAntonio": 22437, + "Ġ(<": 22438, + "averse": 22439, + "Ġdevast": 22440, + "ãĢĢ": 22441, + ".Dec": 22442, + "ĠGard": 22443, + "/ui": 22444, + ".%": 22445, + "tri": 22446, + "Ġrolled": 22447, + "ValuePair": 22448, + "itten": 22449, + "ĠTher": 22450, + "Ġvrou": 22451, + "ĠFlow": 22452, + "ĠFinance": 22453, + "ĠComb": 22454, + "HC": 22455, + ".setVisible": 22456, + "isl": 22457, + "Ġpk": 22458, + "Ġupset": 22459, + "(raw": 22460, + "ĠVice": 22461, + "eatures": 22462, + "ĠLang": 22463, + "Looking": 22464, + "ĠAST": 22465, + "Ġtrips": 22466, + "ĠJustin": 22467, + "browser": 22468, + "=\"'.$": 22469, + ".vertices": 22470, + "-co": 22471, + "}/{": 22472, + "Ġ?,": 22473, + "ĠDomin": 22474, + "ĠBelg": 22475, + "\"<": 22476, + "Ġsuppose": 22477, + "addy": 22478, + "Ġwalks": 22479, + "ERRU": 22480, + "_filters": 22481, + "Preferred": 22482, + "scene": 22483, + "еÑģ": 22484, + "ĠAffairs": 22485, + "Ġ\"#{": 22486, + "ĠonSubmit": 22487, + "Ġstocks": 22488, + "/view": 22489, + "gree": 22490, + "-get": 22491, + "hit": 22492, + "Jo": 22493, + ".getC": 22494, + "Initialized": 22495, + "ÑĤи": 22496, + "cuts": 22497, + "(Type": 22498, + "ĠAgreement": 22499, + "ĠVietnam": 22500, + "Ġ/*!": 22501, + "Ġpizza": 22502, + "-view": 22503, + "_em": 22504, + "Ġlhs": 22505, + "Ġmuy": 22506, + "ĠIdent": 22507, + "ĠFriends": 22508, + "Ġabund": 22509, + "_AD": 22510, + ".timestamp": 22511, + "-'": 22512, + "Ġduplicate": 22513, + "Ġhunting": 22514, + "Ġregulatory": 22515, + "iao": 22516, + "amous": 22517, + "ĠEntertainment": 22518, + "[A": 22519, + "iatric": 22520, + "_CLIENT": 22521, + "ĠKids": 22522, + "/pkg": 22523, + "Break": 22524, + ")));ĊĊ": 22525, + "ĠShape": 22526, + "Ġrelating": 22527, + "Interrupt": 22528, + "ableOpacity": 22529, + "embre": 22530, + "Ġmystery": 22531, + "Ġjournalists": 22532, + "ritable": 22533, + ".Link": 22534, + "Ġstopping": 22535, + "CRET": 22536, + ".DB": 22537, + "Ġpopularity": 22538, + "Ġgew": 22539, + "Ġimpr": 22540, + "setValue": 22541, + "FLAG": 22542, + "ĉmax": 22543, + "Ġbake": 22544, + "wy": 22545, + "ĠEconomic": 22546, + "Ġencontr": 22547, + "Ġfname": 22548, + "/de": 22549, + "Rank": 22550, + "Ġbugs": 22551, + ".sm": 22552, + "Ġmedian": 22553, + "DOWN": 22554, + "ĠSure": 22555, + "AtIndex": 22556, + "ĠDick": 22557, + "Ġ(__": 22558, + ".delta": 22559, + "Fr": 22560, + "Ġsuggesting": 22561, + "ĠRecyclerView": 22562, + ",e": 22563, + "START": 22564, + "/****************************************************************************": 22565, + "xford": 22566, + "Ġreceipt": 22567, + "CLAIM": 22568, + "readonly": 22569, + "Ġengaging": 22570, + "Ca": 22571, + "asma": 22572, + "Ġensuring": 22573, + "English": 22574, + "ĠVancouver": 22575, + "hyth": 22576, + "Ġpurchasing": 22577, + "ĠPI": 22578, + ".word": 22579, + "(sp": 22580, + ".home": 22581, + ":def": 22582, + "Ġgig": 22583, + "ĠVe": 22584, + "forum": 22585, + "ĠMitch": 22586, + "Bay": 22587, + "_FL": 22588, + "Ġsoll": 22589, + "_columns": 22590, + "Ġminority": 22591, + "bird": 22592, + "Ġhanded": 22593, + "SSL": 22594, + "STAT": 22595, + "Ġnervous": 22596, + "ĥ½": 22597, + "ĠfilePath": 22598, + "CREATE": 22599, + "Aw": 22600, + "Ġpens": 22601, + "seed": 22602, + "ĠCompute": 22603, + "olk": 22604, + "ĠAsset": 22605, + "reach": 22606, + "'),čĊ": 22607, + "navigation": 22608, + "LF": 22609, + "/util": 22610, + "ĠPub": 22611, + "ĠâĶ": 22612, + "cion": 22613, + "##Ċ": 22614, + "III": 22615, + "TagName": 22616, + "Ġamid": 22617, + "permission": 22618, + "ifiable": 22619, + "xFFFFFFFF": 22620, + "ни": 22621, + ".Buffer": 22622, + "_irq": 22623, + "dark": 22624, + "Ġretval": 22625, + ".fire": 22626, + "production": 22627, + ".listen": 22628, + "ĠWeather": 22629, + "Ġbuyers": 22630, + ".ne": 22631, + "erp": 22632, + "ĠPent": 22633, + "Ġwelfare": 22634, + "ĠpageSize": 22635, + "ĠStadium": 22636, + "erta": 22637, + "Ġlev": 22638, + "ampa": 22639, + "Pager": 22640, + "Ġcharging": 22641, + "ĠNetflix": 22642, + "|null": 22643, + "_random": 22644, + ".xpath": 22645, + "Ġstere": 22646, + "ĠISIS": 22647, + "ponses": 22648, + "(loc": 22649, + "eyond": 22650, + "ĠOfficial": 22651, + "ĠMaryland": 22652, + "DataType": 22653, + "_par": 22654, + "{},": 22655, + "ĠEnjoy": 22656, + "_SHIFT": 22657, + "ĠAwards": 22658, + "_ENTRY": 22659, + "Ġseemingly": 22660, + "enticate": 22661, + "Ġhearts": 22662, + "_;ĊĊ": 22663, + "ĠHIV": 22664, + "Ġindivid": 22665, + "ĠFlag": 22666, + "_ctrl": 22667, + "ĠCallback": 22668, + ",z": 22669, + "ĠGPU": 22670, + "ĉobj": 22671, + "ĠPhoenix": 22672, + "ĠBUS": 22673, + "Ġrubber": 22674, + "_AUTH": 22675, + "ĠSolutions": 22676, + "(location": 22677, + "Variables": 22678, + ".setEnabled": 22679, + "_high": 22680, + "WO": 22681, + "Gesture": 22682, + "Ġretry": 22683, + "ĠobjectForKey": 22684, + "alloween": 22685, + "Ġmos": 22686, + "ĠCele": 22687, + "Ġikke": 22688, + "(cell": 22689, + "ĠMODE": 22690, + "rena": 22691, + "Ġdescribing": 22692, + "Ġphi": 22693, + "Ġrd": 22694, + "Ġdeserve": 22695, + "Ġwheels": 22696, + "å¸Ĥ": 22697, + "Ġcritics": 22698, + "Namespace": 22699, + "ĠFra": 22700, + "ĠĊĊĊĊ": 22701, + "Ġalla": 22702, + "Ġrequiring": 22703, + "æľŁ": 22704, + "utation": 22705, + "Ġdelayed": 22706, + "Ġadministrative": 22707, + "Ġbay": 22708, + ".hidden": 22709, + "Tex": 22710, + "Ġboundaries": 22711, + "Ġ]);ĊĊ": 22712, + "ĠFollowing": 22713, + "~/": 22714, + "Fi": 22715, + "_conv": 22716, + "_TITLE": 22717, + "Ġdesde": 22718, + "ICollectionView": 22719, + "Alias": 22720, + "Ġbite": 22721, + "patient": 22722, + "_COMMAND": 22723, + "Completed": 22724, + "ĉelif": 22725, + "(<": 22726, + "Business": 22727, + "ĠPool": 22728, + "Ġpursue": 22729, + "ĠBan": 22730, + "_steps": 22731, + "_DECL": 22732, + "umble": 22733, + "Ġcombo": 22734, + "ĠLayer": 22735, + ".xr": 22736, + "Ġdup": 22737, + "---------": 22738, + "Ġmodifier": 22739, + "rob": 22740, + "rez": 22741, + "Ġathletes": 22742, + "Used": 22743, + "wear": 22744, + "Ġlegitimate": 22745, + "Ġ\"ĊĊ": 22746, + "Ġhv": 22747, + "Std": 22748, + "ĠHold": 22749, + "Ġsurviv": 22750, + "ĠAlliance": 22751, + "ĠEarly": 22752, + "Behavior": 22753, + "(font": 22754, + "/libs": 22755, + "Ġrectangle": 22756, + "Ġsinger": 22757, + "Ġamp": 22758, + "EqualTo": 22759, + "Ġ\".\"": 22760, + "Ġgirlfriend": 22761, + "å±": 22762, + "linear": 22763, + "observ": 22764, + "Ġpiù": 22765, + "Ġcomplement": 22766, + "WithValue": 22767, + "(password": 22768, + "take": 22769, + "Blank": 22770, + "ĠCompar": 22771, + "'\",": 22772, + "_policy": 22773, + "mongoose": 22774, + "_FAILED": 22775, + ".report": 22776, + "Ratio": 22777, + ".PerformLayout": 22778, + "usable": 22779, + "mers": 22780, + "_render": 22781, + "PEED": 22782, + "Ġlesb": 22783, + "ĉE": 22784, + "_tool": 22785, + "Ġladies": 22786, + "оÑģ": 22787, + "))))Ċ": 22788, + ";;;;": 22789, + ".dot": 22790, + "Ġnest": 22791, + "peak": 22792, + "ukkit": 22793, + "eca": 22794, + "_SW": 22795, + "Ġ&(": 22796, + "ĠOklahoma": 22797, + "Ġbanking": 22798, + "ĠNintendo": 22799, + "Ġreproduce": 22800, + "_elements": 22801, + "_mac": 22802, + "proxy": 22803, + "Ġremarkable": 22804, + "}/${": 22805, + "Ġouts": 22806, + ".hasNext": 22807, + "MODE": 22808, + "Ġanime": 22809, + ".conn": 22810, + "Unique": 22811, + "Dom": 22812, + "Ġimportantly": 22813, + "itty": 22814, + "Ġjuice": 22815, + "Tw": 22816, + "ĠPartners": 22817, + "Ġattacking": 22818, + "Ġportable": 22819, + "amiento": 22820, + ".PictureBox": 22821, + ".gen": 22822, + "Ġoptimal": 22823, + "Ġrecre": 22824, + "Ġjournalist": 22825, + "ĠExtract": 22826, + "ĠMoreover": 22827, + "ĠmarginTop": 22828, + ".Ap": 22829, + "Ġfiring": 22830, + "NaN": 22831, + "ĉtemplate": 22832, + "ад": 22833, + ".En": 22834, + "Ġdefence": 22835, + "ĠTel": 22836, + "ilen": 22837, + "jan": 22838, + "=data": 22839, + "ĠUrl": 22840, + "ĠReuters": 22841, + "(total": 22842, + "ĠFifth": 22843, + "Ġessays": 22844, + "Ġinterpretation": 22845, + "Ġcharity": 22846, + "ĠRules": 22847, + "Ġsubsection": 22848, + "styled": 22849, + "azer": 22850, + "lags": 22851, + "LIST": 22852, + "Ġuploaded": 22853, + "Ġtrash": 22854, + "Ġregistr": 22855, + "Ġseller": 22856, + ">';čĊ": 22857, + "ĠstartTime": 22858, + "çĻ": 22859, + "sy": 22860, + "(HttpServletRequest": 22861, + "Ġtrap": 22862, + "GC": 22863, + "Ġembedded": 22864, + "Ġsurrounded": 22865, + "imits": 22866, + "TX": 22867, + "ylinder": 22868, + "ĠFal": 22869, + "Ġsentences": 22870, + "ĠJa": 22871, + "IFICATION": 22872, + "weapon": 22873, + "ovation": 22874, + "Ġcoat": 22875, + "Ġinterpol": 22876, + "Ġlips": 22877, + "ĠKy": 22878, + "Ġvectors": 22879, + "_am": 22880, + "Ġintake": 22881, + ".world": 22882, + "Ġinbox": 22883, + "ĠMAC": 22884, + "_ab": 22885, + "(nameof": 22886, + "Ġentert": 22887, + "Ġgathering": 22888, + "ĠSIM": 22889, + "++.": 22890, + "nya": 22891, + "'}}": 22892, + "ĠUPDATE": 22893, + "Ġpac": 22894, + "(html": 22895, + "ĠSant": 22896, + "iating": 22897, + "ĠIdeas": 22898, + "Ġspray": 22899, + "ĠHart": 22900, + "Ġverification": 22901, + "adesh": 22902, + "/modules": 22903, + "ĠMind": 22904, + "ĠSizedBox": 22905, + "Ġshelter": 22906, + "Ġheroes": 22907, + "atty": 22908, + "Ġcertified": 22909, + "sj": 22910, + "Ġêtre": 22911, + "ÅĤo": 22912, + "Ġpublishing": 22913, + "ĠMalays": 22914, + ".getUser": 22915, + "ĠProvider": 22916, + "ĠLinkedList": 22917, + "ĠBor": 22918, + "ROUND": 22919, + "did": 22920, + "tain": 22921, + "pire": 22922, + "ĠJenn": 22923, + "tel": 22924, + "ande": 22925, + "_front": 22926, + "ĠMcG": 22927, + "TestMethod": 22928, + "à¸Ń": 22929, + "Ġoccasionally": 22930, + "ĠWales": 22931, + "Ġexercises": 22932, + "ĠÐĴ": 22933, + "-plus": 22934, + "Ġvalidator": 22935, + "Ġprayer": 22936, + "LATED": 22937, + "_author": 22938, + "Ġlabour": 22939, + "++Ċ": 22940, + "-equiv": 22941, + "ĠGPL": 22942, + "Ġfacebook": 22943, + "simple": 22944, + "gly": 22945, + "Processor": 22946, + "ipy": 22947, + "Ġ*>": 22948, + "Ġcleared": 22949, + "ĠPush": 22950, + "Ġpenis": 22951, + "Structure": 22952, + "lij": 22953, + "ĠMorgan": 22954, + "Ġhandful": 22955, + "\".Ċ": 22956, + "|\\": 22957, + "Ġ********************************": 22958, + "ĠAqu": 22959, + "_IC": 22960, + ".loads": 22961, + "Ġmeter": 22962, + "ĠMarine": 22963, + "::{": 22964, + "ĠTS": 22965, + "ĠArrays": 22966, + ".Title": 22967, + "GRAM": 22968, + "termin": 22969, + "Ġcoinc": 22970, + "Else": 22971, + "_states": 22972, + "-run": 22973, + "members": 22974, + "astro": 22975, + "ĠonPress": 22976, + "Ġbeings": 22977, + "Ġabandoned": 22978, + "Ġtaxp": 22979, + "owners": 22980, + ".mode": 22981, + "Ġdiagnosis": 22982, + "Ġ_Ċ": 22983, + "ĠKnight": 22984, + "ĉA": 22985, + "Ġobserve": 22986, + "),'": 22987, + "!\")Ċ": 22988, + "ĠPara": 22989, + "Ġvariation": 22990, + "(False": 22991, + "ĠAnti": 22992, + "Ġgri": 22993, + "Ġhomeless": 22994, + "?v": 22995, + "Ġbez": 22996, + ".Server": 22997, + "release": 22998, + "ĠPatri": 22999, + "Ġchars": 23000, + "Ġranking": 23001, + "activation": 23002, + "Ġwides": 23003, + "qr": 23004, + ".Sql": 23005, + "acular": 23006, + "ĠBot": 23007, + "_sync": 23008, + "Ġhappiness": 23009, + "Ġvolunteers": 23010, + "Ġsits": 23011, + "/<": 23012, + "[e": 23013, + "(fileName": 23014, + "Ġcapac": 23015, + "ĠMaria": 23016, + "father": 23017, + "Ġgram": 23018, + "*i": 23019, + "Ġcaso": 23020, + "_draw": 23021, + "ĠRaw": 23022, + "ĠIterator": 23023, + "ĠPadding": 23024, + "PD": 23025, + "BOX": 23026, + "ĠSPECIAL": 23027, + "Ġfecha": 23028, + "Ġvide": 23029, + "ĠLeader": 23030, + "以": 23031, + "$(\".": 23032, + "Ġdiameter": 23033, + "Ġmild": 23034, + "Ġrocks": 23035, + "appings": 23036, + "directory": 23037, + ".flush": 23038, + "ĠJess": 23039, + "UNIT": 23040, + "ĠPear": 23041, + "Ġmandatory": 23042, + "Sur": 23043, + "qt": 23044, + "Ġstreams": 23045, + "Ġcooperation": 23046, + "ĠSac": 23047, + "Ġcheaper": 23048, + "ĉch": 23049, + "animation": 23050, + "fare": 23051, + "(height": 23052, + "(True": 23053, + "NY": 23054, + "Ġwrest": 23055, + "Ġpolls": 23056, + "Ġencountered": 23057, + "ĠMarketable": 23058, + "_PASSWORD": 23059, + "_SELECT": 23060, + "ĠArabia": 23061, + "_clock": 23062, + "Ġvoy": 23063, + "Ġиз": 23064, + "Ġstir": 23065, + "isible": 23066, + "-effect": 23067, + ".created": 23068, + "Ġtoys": 23069, + "ĠTradable": 23070, + "Ġrust": 23071, + "Ġstrcpy": 23072, + "_timestamp": 23073, + "Ġtalented": 23074, + ",null": 23075, + "ĠJobs": 23076, + "ĠPortland": 23077, + "Ġweakness": 23078, + "Throw": 23079, + "ĠAngel": 23080, + "ä¿®": 23081, + "Ġuncert": 23082, + "ï¼īĊ": 23083, + "ĠìĿ´": 23084, + "Which": 23085, + "Ġ[-]:": 23086, + "Something": 23087, + "Ġconvicted": 23088, + "kle": 23089, + "edium": 23090, + "Ġbranches": 23091, + "Ġbases": 23092, + "ç®": 23093, + "Ġcomplexity": 23094, + "ĠFig": 23095, + ".reshape": 23096, + "$db": 23097, + "_CONST": 23098, + "ĠTes": 23099, + ".runtime": 23100, + "Ġdeny": 23101, + "ĠBSD": 23102, + "Ġkr": 23103, + "hatt": 23104, + "ĠStatic": 23105, + "Ġuniversities": 23106, + "Replace": 23107, + "Ġdrove": 23108, + "Ġadoles": 23109, + "_plugin": 23110, + "ĠLGBT": 23111, + "Ġtex": 23112, + "duction": 23113, + "EDI": 23114, + "ĠTed": 23115, + "_URI": 23116, + "Ġreception": 23117, + "arten": 23118, + ".Single": 23119, + "rice": 23120, + "scious": 23121, + "_bg": 23122, + "Ġwages": 23123, + "ĠServlet": 23124, + "UILayout": 23125, + "Ġformatted": 23126, + ".Mod": 23127, + "',Ċ": 23174, + "Ġexpanding": 23175, + "ĠHamilton": 23176, + "ĠContrib": 23177, + ".Tables": 23178, + "Activ": 23179, + "HH": 23180, + "ocommerce": 23181, + "_;": 23182, + "Ġamongst": 23183, + "owing": 23184, + "ĠCold": 23185, + "APH": 23186, + "Ġpsychological": 23187, + "_tensor": 23188, + "Ġpackaging": 23189, + "ĠSweden": 23190, + "Ġpare": 23191, + "Ġaggregate": 23192, + "Ġmoderate": 23193, + "_hand": 23194, + "Ġdesignated": 23195, + "Ġdrum": 23196, + "ĠgetUser": 23197, + "ĠCreek": 23198, + "_scope": 23199, + "ĠTransfer": 23200, + "ĠMarg": 23201, + "Ġfighters": 23202, + "Wnd": 23203, + "ĠSel": 23204, + "ĠLaunch": 23205, + "Ġemerging": 23206, + "iframe": 23207, + "ĠAdditional": 23208, + "Ġfears": 23209, + "Ġsatellite": 23210, + "_:": 23211, + "Ġdisposing": 23212, + "GetValue": 23213, + "HttpPost": 23214, + "ATIVE": 23215, + "ulary": 23216, + "Views": 23217, + "Ġattending": 23218, + "ĠTennessee": 23219, + "ĠMission": 23220, + "Ġmedication": 23221, + "ĠWy": 23222, + "ĠAnna": 23223, + "ع": 23224, + "ĠVertex": 23225, + ".types": 23226, + "Organ": 23227, + ".DataGridViewTextBoxColumn": 23228, + "ĠRS": 23229, + "Ġtempo": 23230, + "(App": 23231, + "VersionUID": 23232, + ".point": 23233, + "ĠDutch": 23234, + "Hours": 23235, + "LU": 23236, + "Ġquoted": 23237, + ".builder": 23238, + "ĠPerfect": 23239, + "ĠAlways": 23240, + "_two": 23241, + "Ġexclusively": 23242, + "ĠCra": 23243, + "ificar": 23244, + "ĠAWS": 23245, + "ingham": 23246, + "complex": 23247, + "kernel": 23248, + "Ġgravity": 23249, + "Ġwi": 23250, + "Ġoverview": 23251, + "ĠWant": 23252, + "ĠWP": 23253, + "(sh": 23254, + ".rotation": 23255, + "States": 23256, + "ĠTeen": 23257, + "_components": 23258, + "ìĪĺ": 23259, + "Received": 23260, + "Ġlyrics": 23261, + "rites": 23262, + "ĉĉĉĉĉĠ": 23263, + "-American": 23264, + "[num": 23265, + "/python": 23266, + "ĠUART": 23267, + "Ġapple": 23268, + "ĠJonathan": 23269, + "Ġmomentum": 23270, + "ั": 23271, + "Ĥ¹": 23272, + "Ġmich": 23273, + "andra": 23274, + "Ġbiological": 23275, + "ĠMens": 23276, + "Ġ%%": 23277, + "elsea": 23278, + "ĠMexican": 23279, + ".randint": 23280, + "Ġtale": 23281, + "ĠValidate": 23282, + "Ġdefeated": 23283, + ".htm": 23284, + "Ġcopper": 23285, + "=/": 23286, + "cosystem": 23287, + "Ġrip": 23288, + "decimal": 23289, + ".VISIBLE": 23290, + "ĠTa": 23291, + "ĉĉĉĉĉĉĉĉĉĉĉĉĉĉ": 23292, + "Ġdownloaded": 23293, + "environment": 23294, + "Ġnomine": 23295, + "building": 23296, + "ĠSpot": 23297, + "ipheral": 23298, + "Ġalto": 23299, + "quet": 23300, + "ĠFT": 23301, + "/get": 23302, + "/master": 23303, + "WIN": 23304, + "åħĥ": 23305, + "West": 23306, + "argc": 23307, + "Ġproducers": 23308, + "ĠMuch": 23309, + "_storage": 23310, + "credit": 23311, + "CONT": 23312, + "Ġvet": 23313, + "Ġvoices": 23314, + "('',": 23315, + "Ġinstruments": 23316, + "ĠMSG": 23317, + "esse": 23318, + "repository": 23319, + "omics": 23320, + "Ġdealer": 23321, + "Still": 23322, + "Ġbanner": 23323, + "ascii": 23324, + "Ġremarks": 23325, + "[js": 23326, + "Ġshorter": 23327, + "gulp": 23328, + "Ġmyster": 23329, + "Ġkun": 23330, + "ĠBird": 23331, + "Ġtiene": 23332, + "nut": 23333, + "ĠUm": 23334, + "Ġwise": 23335, + "Yeah": 23336, + "INESS": 23337, + "_begin": 23338, + "-heading": 23339, + "Course": 23340, + "ĠčĊčĊ": 23341, + "ombie": 23342, + "graded": 23343, + "ĠGPS": 23344, + "Ġże": 23345, + "Fit": 23346, + "caption": 23347, + "ön": 23348, + "/image": 23349, + "lia": 23350, + "(mod": 23351, + "Ġleak": 23352, + "enza": 23353, + "/H": 23354, + "ĠHappy": 23355, + "Dist": 23356, + "nx": 23357, + "ĠGovernor": 23358, + "(last": 23359, + "teacher": 23360, + "ĠSent": 23361, + "support": 23362, + "jectory": 23363, + "ĠÙħ": 23364, + "Registration": 23365, + "ĠGray": 23366, + ",false": 23367, + "Ġadjusted": 23368, + "(settings": 23369, + "'Ċ": 23431, + "-fold": 23432, + "æĬ": 23433, + "ĠBetter": 23434, + "Ġ\"\\<": 23435, + "spacing": 23436, + "Ġfurnished": 23437, + "oser": 23438, + "]}Ċ": 23439, + "Ġ$\"": 23440, + "pull": 23441, + ".Post": 23442, + "(ip": 23443, + "Ĺı": 23444, + ".front": 23445, + "nte": 23446, + "ĠFM": 23447, + "guid": 23448, + "Ġnegotiations": 23449, + "agonal": 23450, + "Ġtremend": 23451, + "ungeon": 23452, + "Adv": 23453, + "carousel": 23454, + "ÃŁe": 23455, + "_DESC": 23456, + "Ġhammer": 23457, + "áºŃ": 23458, + "ĠĠĠĠĠĠĠĠĊĊ": 23459, + "-core": 23460, + "-service": 23461, + "Ġcorners": 23462, + "ĠSF": 23463, + "pred": 23464, + ">A": 23465, + "ĠJLabel": 23466, + "Ġromantic": 23467, + "Ġtestimony": 23468, + "osc": 23469, + "ĠGeneration": 23470, + "asures": 23471, + "_internal": 23472, + "Ġprints": 23473, + "Ġ])Ċ": 23474, + "ĠCleveland": 23475, + "repo": 23476, + "Disc": 23477, + "Ġ\">Ċ": 23478, + "����": 23479, + "Ġnearest": 23480, + "_tb": 23481, + "(require": 23482, + "EOF": 23483, + "-child": 23484, + "Ġbudd": 23485, + ".XtraEditors": 23486, + "alties": 23487, + "\\\":\\\"": 23488, + "Words": 23489, + "Ġlocally": 23490, + "Ġpurchases": 23491, + "Drawer": 23492, + "extract": 23493, + "Ġexecut": 23494, + "}'.": 23495, + "userdata": 23496, + "Ġfocuses": 23497, + "-minute": 23498, + "ĠPublish": 23499, + "ogo": 23500, + "Ġmountains": 23501, + "Bot": 23502, + "}>{": 23503, + "Ġtension": 23504, + "rod": 23505, + "mesh": 23506, + "Ġtransformed": 23507, + ",R": 23508, + "()}Ċ": 23509, + ".long": 23510, + "Ġgorgeous": 23511, + "ĠSchedule": 23512, + "Ġoldest": 23513, + "Ġsubprocess": 23514, + "(IN": 23515, + "yect": 23516, + "ĠCooper": 23517, + "arness": 23518, + "ĠMonitor": 23519, + ".part": 23520, + "ĠNBC": 23521, + "Ġcotton": 23522, + "Ġhol": 23523, + "Ġrgba": 23524, + "ĠBio": 23525, + "Continue": 23526, + "Pod": 23527, + "Ġparticipating": 23528, + "clusions": 23529, + "(ByVal": 23530, + "ì": 23531, + "ĠHOW": 23532, + "_setopt": 23533, + "Ġaccompanying": 23534, + "aton": 23535, + "Ġ/\\": 23536, + "ĠAuthentication": 23537, + "ién": 23538, + "ĠBarack": 23539, + "/*.": 23540, + "Ġeager": 23541, + "ĠCancel": 23542, + "$": 23586, + "OLEAN": 23587, + "OKIE": 23588, + "IBILITY": 23589, + "UAGE": 23590, + "ĠSurvey": 23591, + "Ġresign": 23592, + "wing": 23593, + "Ġsecrets": 23594, + "Ġchips": 23595, + "JSONObject": 23596, + "Desktop": 23597, + "_SYMBOL": 23598, + "(resource": 23599, + "ĠĊ": 23600, + "Ġnewest": 23601, + "uli": 23602, + "Ġdesert": 23603, + "Ġdip": 23604, + "ĠPow": 23605, + "Ġequation": 23606, + "Ġpossibilities": 23607, + "ĠFed": 23608, + "osph": 23609, + "Ġ[%": 23610, + "Ġbubble": 23611, + "etherlands": 23612, + "Ġcement": 23613, + ".auto": 23614, + "_AN": 23615, + "âĢĻ.": 23616, + "selection": 23617, + "ĠBond": 23618, + "Den": 23619, + "-O": 23620, + ".getType": 23621, + ".Window": 23622, + "pres": 23623, + "Ġswinger": 23624, + "\"})Ċ": 23625, + "Ġpip": 23626, + "Ġmice": 23627, + "Ġcompound": 23628, + "-plugin": 23629, + "iko": 23630, + "Ġcenturies": 23631, + "icular": 23632, + "-inline": 23633, + "ĉkey": 23634, + ">\\<": 23635, + "ENSION": 23636, + "Ġ[čĊ": 23637, + "Ġprecisely": 23638, + "Ġété": 23639, + "ĠPast": 23640, + "ĠCambridge": 23641, + "-full": 23642, + "Ġanalyze": 23643, + "ĠSteven": 23644, + "Ġnem": 23645, + "due": 23646, + "oren": 23647, + "Ġmuscles": 23648, + "ijing": 23649, + "/-": 23650, + "ĠKennedy": 23651, + "RM": 23652, + "ossible": 23653, + "Ġactress": 23654, + "Ġdolor": 23655, + "å½ķ": 23656, + "Need": 23657, + ".toggle": 23658, + "ĠRace": 23659, + "wers": 23660, + ".material": 23661, + "ĠDue": 23662, + "ĠPel": 23663, + "#print": 23664, + "Ġindependence": 23665, + "exus": 23666, + "Shadow": 23667, + "Ġencoder": 23668, + "(level": 23669, + "ĠSwift": 23670, + ".doc": 23671, + "_selection": 23672, + "ĠserialVersionUID": 23673, + "Labels": 23674, + "Ġperformances": 23675, + ".Tag": 23676, + "ĠNHL": 23677, + "izen": 23678, + "/UIKit": 23679, + "_CONTROL": 23680, + "Ġearnings": 23681, + "ĠAlt": 23682, + "_HANDLE": 23683, + "Ctx": 23684, + "Ġpersu": 23685, + "Ġtran": 23686, + "ç¨": 23687, + "_CHANNEL": 23688, + "Ġsatisfaction": 23689, + "ĠGP": 23690, + "iox": 23691, + "mitt": 23692, + "lando": 23693, + "Ġpig": 23694, + "inals": 23695, + "ência": 23696, + "Surface": 23697, + "ĠUUID": 23698, + "Ġbeneficial": 23699, + "Ġsequences": 23700, + "ĉmemset": 23701, + "Ġmagical": 23702, + "«": 23703, + "Ġworn": 23704, + "ASC": 23705, + "popup": 23706, + "COMP": 23707, + "_before": 23708, + "eness": 23709, + "Ui": 23710, + "Les": 23711, + ".require": 23712, + ".Serializable": 23713, + "addGap": 23714, + "Ġauthorization": 23715, + ".pyplot": 23716, + "urray": 23717, + "latitude": 23718, + "frames": 23719, + "ajs": 23720, + "Ġcompass": 23721, + "Ġobservations": 23722, + "_sup": 23723, + ".environ": 23724, + "Ġtriple": 23725, + "ĠRuby": 23726, + "Ġdrain": 23727, + "_FILTER": 23728, + "San": 23729, + "UMP": 23730, + "NullException": 23731, + "ĠGab": 23732, + "owe": 23733, + "ĠTurkish": 23734, + "_sequence": 23735, + "ĠGrant": 23736, + "uela": 23737, + "Ġwo": 23738, + "Ġcube": 23739, + "iq": 23740, + "Ġdisorders": 23741, + "Ġextraordinary": 23742, + "Ġctrl": 23743, + "ĠSeq": 23744, + "entr": 23745, + "Ġsanctions": 23746, + "utsch": 23747, + "Reports": 23748, + "Ġinherit": 23749, + "Period": 23750, + "Ġphotography": 23751, + "ĠFramework": 23752, + "Ġspecialist": 23753, + "Ġ?ĊĊ": 23754, + "_selected": 23755, + ".Player": 23756, + "Ġallocation": 23757, + "(account": 23758, + "Ġstructural": 23759, + "vable": 23760, + "-offset": 23761, + ".AppCompatActivity": 23762, + "ам": 23763, + ".AddWithValue": 23764, + "Ġicons": 23765, + "Ġshutdown": 23766, + "_low": 23767, + "ĠCompare": 23768, + "ĠCe": 23769, + "=head": 23770, + "lam": 23771, + ".predict": 23772, + "_DEC": 23773, + "ĠSleep": 23774, + "ĠGratis": 23775, + "Ġsuggestion": 23776, + "ĠDEL": 23777, + "caff": 23778, + "avirus": 23779, + "Nothing": 23780, + "ŀĭ": 23781, + "Ġwidespread": 23782, + "Ġmechanisms": 23783, + "ĠtextAlign": 23784, + "occup": 23785, + "ĠRail": 23786, + ":NS": 23787, + "Ġfiber": 23788, + "Ġmk": 23789, + "Ġvintage": 23790, + "-long": 23791, + ".reduce": 23792, + ".Entities": 23793, + "(record": 23794, + "Ġpleasant": 23795, + "FRING": 23796, + ".Cells": 23797, + "OTT": 23798, + "ĉelseif": 23799, + "_confirm": 23800, + "ĠViewGroup": 23801, + "sym": 23802, + "Ġpray": 23803, + "Ġsuspected": 23804, + "Contains": 23805, + "Ġborders": 23806, + "ĠcomponentDid": 23807, + "ASSERT": 23808, + "Ġinfinite": 23809, + "-order": 23810, + "Ġhello": 23811, + "ĠGrade": 23812, + ".currentTimeMillis": 23813, + "apolis": 23814, + "zh": 23815, + "ĉObject": 23816, + ":\\\\": 23817, + "HO": 23818, + "valuation": 23819, + "Ġvocab": 23820, + "Ġcoupon": 23821, + "atabases": 23822, + ".GetType": 23823, + "Learn": 23824, + "]=\"": 23825, + "ĠGary": 23826, + "otive": 23827, + "Ġash": 23828, + "Ġbib": 23829, + "XXXX": 23830, + "Ġbalanced": 23831, + "VALUE": 23832, + "ĠNat": 23833, + "_Ad": 23834, + "<": 23976, + "Ġfool": 23977, + "Ġesk": 23978, + ".Null": 23979, + "ĠDies": 23980, + "_OUTPUT": 23981, + "_TYPED": 23982, + "Ġpainted": 23983, + "Ġsophistic": 23984, + "ĠBear": 23985, + "*n": 23986, + "_PACK": 23987, + "Ġdelivering": 23988, + "ĠCOUNT": 23989, + "åįķ": 23990, + "Ġjeg": 23991, + "-car": 23992, + "fname": 23993, + "Ġranging": 23994, + "ĠNeg": 23995, + "/******/": 23996, + "ĠCHAR": 23997, + "Ġultra": 23998, + "Grad": 23999, + "=t": 24000, + "Ġjudges": 24001, + "ĠDise": 24002, + "anners": 24003, + "Ġscal": 24004, + "_cal": 24005, + "ĠCONNECTION": 24006, + "_embed": 24007, + "(fn": 24008, + "ĠCraft": 24009, + "ĠPas": 24010, + "\")->": 24011, + ".convert": 24012, + ".resource": 24013, + "ĠSTATUS": 24014, + "ông": 24015, + "ĠTit": 24016, + "Ġclassroom": 24017, + "ĠArchitect": 24018, + "ĠKings": 24019, + "Ġsteady": 24020, + "/*!Ċ": 24021, + "ĠGene": 24022, + ")\";Ċ": 24023, + "icia": 24024, + "stan": 24025, + "ĠConstruction": 24026, + "umper": 24027, + "wc": 24028, + "ĠCBS": 24029, + "inging": 24030, + "-party": 24031, + "(driver": 24032, + "MARK": 24033, + "Ġnested": 24034, + "eward": 24035, + "Ġdependency": 24036, + "Ġmales": 24037, + "ĠONE": 24038, + "ĠProduction": 24039, + "][$": 24040, + "ãĥ¼ãĥ": 24041, + "_LOAD": 24042, + "ĠBol": 24043, + "elry": 24044, + "łéϤ": 24045, + "ĠRequire": 24046, + "Ġplacing": 24047, + "xxx": 24048, + "CALE": 24049, + "Ġthumb": 24050, + "Choose": 24051, + "Ġprototype": 24052, + "VOID": 24053, + "Ġlesbian": 24054, + "Ġtraits": 24055, + "Sharp": 24056, + "Ġconsume": 24057, + "Truth": 24058, + "ĠactionPerformed": 24059, + "ĠEnvironmental": 24060, + "ĠDean": 24061, + "Ġestado": 24062, + "same": 24063, + "Ġnumeric": 24064, + "Ġtransit": 24065, + ".Email": 24066, + "-side": 24067, + "_RUN": 24068, + "ĠVillage": 24069, + "_OPEN": 24070, + "è¦": 24071, + ".rem": 24072, + "-warning": 24073, + "anya": 24074, + "PropertyChanged": 24075, + "Ġ(!_": 24076, + "(check": 24077, + "ilia": 24078, + "ĠSoft": 24079, + "steps": 24080, + "ĠMadrid": 24081, + "MemoryWarning": 24082, + "Ġhandlers": 24083, + "Ġexperiencing": 24084, + "Ġinspect": 24085, + "buttons": 24086, + "ReceiveMemoryWarning": 24087, + "chemy": 24088, + "Links": 24089, + "Ġurllib": 24090, + ".SystemColors": 24091, + "ĠEigen": 24092, + "Ġpunishment": 24093, + ":UIControl": 24094, + "bara": 24095, + "-set": 24096, + "Ġ}čĊčĊčĊ": 24097, + "Ġtolerance": 24098, + "Ġinterfaces": 24099, + ".redirect": 24100, + "ighbors": 24101, + "csrf": 24102, + "_background": 24103, + ".Utils": 24104, + "_HT": 24105, + "ĠInterest": 24106, + "imos": 24107, + "Ġgrants": 24108, + "Ġexamined": 24109, + "ÐĶ": 24110, + "Ġcf": 24111, + "forge": 24112, + "backs": 24113, + "ĠObjects": 24114, + "_sent": 24115, + ".entry": 24116, + "ĠTHEN": 24117, + "ellido": 24118, + "cia": 24119, + ",res": 24120, + "/stdc": 24121, + ".nd": 24122, + "(Int": 24123, + "ĠAuthors": 24124, + "ĠAppCompatActivity": 24125, + "'{": 24126, + "Ġmedi": 24127, + "Music": 24128, + "igm": 24129, + "ceipt": 24130, + "Ġauss": 24131, + "Ġtargeting": 24132, + "ĠKeys": 24133, + "hn": 24134, + ":]Ċ": 24135, + "Ġmineral": 24136, + "î": 24137, + ".ca": 24138, + "omed": 24139, + "Ġsheets": 24140, + "Ġcamb": 24141, + "Ġdeadly": 24142, + ".inject": 24143, + "(unit": 24144, + "ĠSelection": 24145, + ".gms": 24146, + "(connection": 24147, + "Ġ$(\"": 24148, + "émon": 24149, + "ĠCurrently": 24150, + "pte": 24151, + "_paths": 24152, + "leaf": 24153, + "Ġimplications": 24154, + "posal": 24155, + "ä½į": 24156, + "[/": 24157, + "ancia": 24158, + "éĽ": 24159, + "mul": 24160, + "cie": 24161, + "Ġgeile": 24162, + "imals": 24163, + "UIView": 24164, + "Ġsurre": 24165, + "serialize": 24166, + "ISO": 24167, + "Ġarbitrary": 24168, + "Ġsockaddr": 24169, + ".fn": 24170, + "ĠMerc": 24171, + "Ġcasting": 24172, + "KeyDown": 24173, + "ĠnewValue": 24174, + "opens": 24175, + "Todo": 24176, + "Ġflexibility": 24177, + "ĉĉĉĉĠĠ": 24178, + "Velocity": 24179, + "ún": 24180, + "rowing": 24181, + "Ġcomputed": 24182, + "`)Ċ": 24183, + "statement": 24184, + "Ġri": 24185, + "_cart": 24186, + "Low": 24187, + "transfer": 24188, + ".nav": 24189, + "Ġgrave": 24190, + "ĠDoor": 24191, + "ĉalert": 24192, + ".subscribe": 24193, + "-profile": 24194, + "ĉbase": 24195, + "ĠâĪĴ": 24196, + "__ĊĊ": 24197, + "Ġengineers": 24198, + "Ġexplosion": 24199, + "Ġdari": 24200, + "ĉLog": 24201, + "onal": 24202, + "Ġisolated": 24203, + "{i": 24204, + "ĠMsg": 24205, + "Future": 24206, + "Ġracist": 24207, + "-wrap": 24208, + "ĠVers": 24209, + "borg": 24210, + "ISION": 24211, + "ĠÑĢаÐ": 24212, + "ĠYan": 24213, + "initWith": 24214, + "Ġnomin": 24215, + "(empty": 24216, + "ÃŃn": 24217, + "ãĤ¤": 24218, + "ĉwidth": 24219, + "Ġchamber": 24220, + "/ajax": 24221, + "EMP": 24222, + "Ġneces": 24223, + "ivos": 24224, + "logic": 24225, + "*)&": 24226, + "cripts": 24227, + "RowAt": 24228, + "iblings": 24229, + "Ġears": 24230, + "Ġcomputing": 24231, + "Ġmaker": 24232, + "ĠNeither": 24233, + "breadcrumb": 24234, + "Ġserialize": 24235, + "ĠWithin": 24236, + "Ġdell": 24237, + "_TRACE": 24238, + "=a": 24239, + "Ġwishes": 24240, + "-inch": 24241, + "ĠDor": 24242, + "Ġinnocent": 24243, + "ĠDol": 24244, + "Ġintens": 24245, + "forced": 24246, + "ĠBIT": 24247, + "Ġphotographs": 24248, + "Ġcasa": 24249, + "ĠLen": 24250, + "\\Framework": 24251, + ".Simple": 24252, + "Ġdear": 24253, + ")/(": 24254, + "ippi": 24255, + "Ġowns": 24256, + "Players": 24257, + "Ġproposals": 24258, + ".pi": 24259, + "usalem": 24260, + "Damage": 24261, + "Ġcalories": 24262, + "ĠCreative": 24263, + "Ġ[$": 24264, + "Ġ//čĊ": 24265, + "AndView": 24266, + "ème": 24267, + ".custom": 24268, + "_factory": 24269, + "commands": 24270, + "_look": 24271, + "Ġstrcmp": 24272, + "YN": 24273, + "aired": 24274, + "Ġaudit": 24275, + "оÑģÑĤ": 24276, + "ĠReverse": 24277, + "ropriate": 24278, + "etics": 24279, + "';Ċ": 24352, + "Ġpepper": 24353, + "Ġshed": 24354, + "ĠMedium": 24355, + "ĠCookie": 24356, + "Ġoverseas": 24357, + "edor": 24358, + "asurement": 24359, + "åŃĺ": 24360, + "Ġ'.'": 24361, + "Ġphp": 24362, + "ĠPROC": 24363, + "Ġexceptional": 24364, + "(th": 24365, + "ĠJet": 24366, + "Ġoccupied": 24367, + ".setImage": 24368, + "ĠRelated": 24369, + "ucker": 24370, + "Members": 24371, + "PRINT": 24372, + "ĠGlo": 24373, + "_VIEW": 24374, + "}\",Ċ": 24375, + "Ġadoption": 24376, + "[])Ċ": 24377, + "ĠMissouri": 24378, + "ĠLincoln": 24379, + "erald": 24380, + "Popup": 24381, + "Ġfate": 24382, + "-bootstrap": 24383, + "fections": 24384, + "ĠPoll": 24385, + "_ARGS": 24386, + "inance": 24387, + "-home": 24388, + ".),": 24389, + "_done": 24390, + ":ĊĊĊ": 24391, + "Ġdiscussing": 24392, + "ĠSQLException": 24393, + "Ġelectro": 24394, + "ĉreq": 24395, + "Ġzw": 24396, + "Ġlui": 24397, + "Ġovernight": 24398, + "$user": 24399, + "ĠWAY": 24400, + "Ġallerg": 24401, + "Ġdisappointed": 24402, + "Ġradiation": 24403, + "Ġimpressed": 24404, + "ificates": 24405, + "Ġtob": 24406, + "CLASS": 24407, + "Ġcuda": 24408, + "_det": 24409, + "-post": 24410, + "ulu": 24411, + "Translation": 24412, + "-hand": 24413, + ".year": 24414, + "ĠMongo": 24415, + "Ġunclear": 24416, + ".engine": 24417, + "WEBPACK": 24418, + "rices": 24419, + "_ACCESS": 24420, + "Ġholidays": 24421, + "percent": 24422, + ".Identity": 24423, + "ĠGov": 24424, + "Ġpassionate": 24425, + "!!.": 24426, + "ĠGreece": 24427, + "plusplus": 24428, + "'));": 24429, + "GP": 24430, + "Ġexcit": 24431, + ".tabPage": 24432, + "_cond": 24433, + "Ġsponsor": 24434, + "MODULE": 24435, + "_proc": 24436, + "Ġ$Ċ": 24437, + "Ġrational": 24438, + ".Tool": 24439, + "Ġihr": 24440, + "cca": 24441, + "åĵģ": 24442, + "ĠEstate": 24443, + "IBUTE": 24444, + "ActionPerformed": 24445, + "ĠSolar": 24446, + "¦Ĥ": 24447, + "Ġequity": 24448, + "tid": 24449, + "Ġrecip": 24450, + ".simple": 24451, + "mk": 24452, + "ĠLuke": 24453, + "ĠGuardian": 24454, + "Ġencrypted": 24455, + "Ġdominant": 24456, + ".place": 24457, + "ĠNV": 24458, + "Ġtongue": 24459, + "(Get": 24460, + "Ġstainless": 24461, + ".Play": 24462, + "Ġeb": 24463, + "aci": 24464, + ".buffer": 24465, + "readcrumbs": 24466, + "Ġvaccine": 24467, + "prom": 24468, + "ĠuserInfo": 24469, + "Ġslug": 24470, + "SerializedName": 24471, + "-wide": 24472, + "Ġreactions": 24473, + "ĠYang": 24474, + "ĠAdds": 24475, + "(userId": 24476, + "Ġplates": 24477, + "ĠMEM": 24478, + "Ġbail": 24479, + "Inside": 24480, + "eted": 24481, + "Ġelsif": 24482, + "Ġsake": 24483, + "Ġcycles": 24484, + "ĠìĹ": 24485, + "ĉI": 24486, + "-collapse": 24487, + "ĠGMT": 24488, + "Declaration": 24489, + "Ġgros": 24490, + "Ġreaches": 24491, + "Ġcustody": 24492, + "Until": 24493, + "tu": 24494, + "ĠChen": 24495, + "Ġnx": 24496, + "(addr": 24497, + "ĠOffer": 24498, + "Ġcolleg": 24499, + "assador": 24500, + "Ġmapper": 24501, + "ĠSIGNAL": 24502, + "ĠBloom": 24503, + "ĠHoll": 24504, + "ĠImper": 24505, + "-des": 24506, + "_site": 24507, + "Proc": 24508, + "Equ": 24509, + "Ġatomic": 24510, + "ĠWoman": 24511, + "sent": 24512, + "scar": 24513, + "Ġintelligent": 24514, + "ĠGetting": 24515, + "ĠRegistration": 24516, + "ĠPhill": 24517, + "Ġkiller": 24518, + "unicode": 24519, + "ĊĉĉĊ": 24520, + "ĠJacob": 24521, + "ĠConst": 24522, + "Ġlocate": 24523, + "Ġcaus": 24524, + "ĠScholar": 24525, + "Ġconstitutional": 24526, + "Ġinflation": 24527, + "ĠGot": 24528, + "=array": 24529, + "endum": 24530, + "Ġtranslated": 24531, + "Ġdivorce": 24532, + "Entries": 24533, + "Ġsor": 24534, + "ĠQuote": 24535, + "irlines": 24536, + "UK": 24537, + "Ġexcel": 24538, + "(opt": 24539, + "ĠADV": 24540, + ",:,": 24541, + "Ġcontacted": 24542, + "ĠDA": 24543, + "Ġrings": 24544, + "ĠIndustrial": 24545, + ".getContext": 24546, + "Ġforgotten": 24547, + "ĠTan": 24548, + "Ġpants": 24549, + "Ġov": 24550, + "Ġdecoder": 24551, + "ĠPartial": 24552, + "Ġvc": 24553, + "Ġbattles": 24554, + "Arial": 24555, + "FRINGEMENT": 24556, + "irates": 24557, + ",w": 24558, + "aintenance": 24559, + "ĠOd": 24560, + "ĠTechnologies": 24561, + "åīį": 24562, + "ĠCarter": 24563, + ".findAll": 24564, + "Nome": 24565, + "Ben": 24566, + "ĠUsage": 24567, + "ĠPicture": 24568, + "Ġbadly": 24569, + "_panel": 24570, + "Ġpatent": 24571, + "ĠProtocol": 24572, + "lotte": 24573, + "ĉplayer": 24574, + "jections": 24575, + "Ġdou": 24576, + "_release": 24577, + "urniture": 24578, + "_tax": 24579, + "ĠFields": 24580, + ".dataset": 24581, + "_master": 24582, + "CLUDE": 24583, + "ĠPharm": 24584, + "bst": 24585, + "Ġoperational": 24586, + ".cell": 24587, + "Ġidentifying": 24588, + "Ġjwt": 24589, + "tuple": 24590, + "ĠTC": 24591, + "ĠCro": 24592, + "ixmap": 24593, + "-components": 24594, + "general": 24595, + "Ġoz": 24596, + "_De": 24597, + "_double": 24598, + "ĠToo": 24599, + ".ViewGroup": 24600, + "gate": 24601, + "dings": 24602, + "photos": 24603, + "Ġgrande": 24604, + "ollect": 24605, + "_lin": 24606, + "Ġawful": 24607, + "filters": 24608, + "Ġalternate": 24609, + "esp": 24610, + "Ġcompress": 24611, + "eo": 24612, + "ĠScale": 24613, + "Ġindirect": 24614, + "Ġinvoice": 24615, + "ĊĊĊĊĊĊĊĊĊĊĊĊĊĊĊĊ": 24616, + "Starting": 24617, + "ĠPlayers": 24618, + "iele": 24619, + ".then": 24620, + "Ord": 24621, + "ĠTuple": 24622, + "Ġbout": 24623, + "ĠStatistics": 24624, + "Preview": 24625, + "Ġpuzzle": 24626, + "ĠWidth": 24627, + "STATE": 24628, + "Ġoverlay": 24629, + "ĉon": 24630, + "Ġinfr": 24631, + "Ġsmallest": 24632, + "locked": 24633, + "ÑĤо": 24634, + "ssl": 24635, + "Ġdeemed": 24636, + "Ġsco": 24637, + "reck": 24638, + "ĠjButton": 24639, + "Ġmissions": 24640, + "ç§°": 24641, + ".SelectedIndex": 24642, + "TABLE": 24643, + "Sept": 24644, + "Ġacknowledge": 24645, + "Ġstrtotime": 24646, + "ĠTell": 24647, + "ĠDak": 24648, + "Ġaluminum": 24649, + "Ġfence": 24650, + "ĠStars": 24651, + "CONFIG": 24652, + "Ġretrofit": 24653, + "Ġemphasis": 24654, + "/header": 24655, + "ĠSomething": 24656, + "inished": 24657, + "='\".$": 24658, + "ĠValidators": 24659, + "Ġpolar": 24660, + "sections": 24661, + ".aspx": 24662, + "Ġaspir": 24663, + ".Mock": 24664, + "CodeGen": 24665, + "Ġpeut": 24666, + "Ġaccepting": 24667, + "Ġbacking": 24668, + "Picture": 24669, + "/ap": 24670, + "ег": 24671, + "_SEC": 24672, + "-use": 24673, + "annotation": 24674, + "Ġcognitive": 24675, + "Ġgrip": 24676, + "hour": 24677, + "ĠLegal": 24678, + "Ġepic": 24679, + ".toolStrip": 24680, + ".notify": 24681, + ".Last": 24682, + "ORIZ": 24683, + "Middleware": 24684, + "criptions": 24685, + "lash": 24686, + "_FOUND": 24687, + "ĠLiverpool": 24688, + "Ġ{}\",": 24689, + "Install": 24690, + "Ġnit": 24691, + "Ġfigured": 24692, + "[len": 24693, + ".Win": 24694, + ".platform": 24695, + "Ġgambling": 24696, + "(dt": 24697, + "avery": 24698, + "ĉinclude": 24699, + "Whether": 24700, + "Routing": 24701, + "Ġtherap": 24702, + "Remote": 24703, + "ĠLoss": 24704, + "yll": 24705, + "Ġapproached": 24706, + "ĠVehicle": 24707, + "ĠAlpha": 24708, + "Ġvocê": 24709, + "answers": 24710, + "NSDictionary": 24711, + "consider": 24712, + "unused": 24713, + "ĠFan": 24714, + "orable": 24715, + "fre": 24716, + "ĠDISCLAIM": 24717, + "ĠActor": 24718, + ".]": 24719, + "toHave": 24720, + ".userId": 24721, + "Ġspeeds": 24722, + "eway": 24723, + "Ġrecurs": 24724, + "Ġг": 24725, + "_priv": 24726, + "!âĢĿĊĊ": 24727, + "Choice": 24728, + "Ġsettle": 24729, + "Ġplanes": 24730, + "'},": 24731, + "Tom": 24732, + "ITER": 24733, + "!\"Ċ": 24734, + "å»": 24735, + "achelor": 24736, + "Ġseparation": 24737, + "Ġdal": 24738, + "adj": 24739, + "Ġregisters": 24740, + "riz": 24741, + "ĠNotice": 24742, + "Ġlu": 24743, + "Ġcourage": 24744, + "Ġaxes": 24745, + "cellent": 24746, + ".async": 24747, + "Ġcompatibility": 24748, + "ç«": 24749, + "Ġ!ĊĊ": 24750, + "ĉtitle": 24751, + "YLE": 24752, + "ĉmessage": 24753, + "UUID": 24754, + "OLDER": 24755, + "ĠHH": 24756, + "ĠStyleSheet": 24757, + "Ġaccessed": 24758, + ".validation": 24759, + "tasks": 24760, + "Ġpollution": 24761, + ".canvas": 24762, + "Ġingredient": 24763, + "ĠCabin": 24764, + "Ah": 24765, + "oldown": 24766, + "ĠNOI": 24767, + "ĠÃĹ": 24768, + "[f": 24769, + "educ": 24770, + "yalty": 24771, + "(not": 24772, + "_State": 24773, + "amen": 24774, + "Ġdao": 24775, + "udad": 24776, + "ellers": 24777, + "}&": 24778, + "licity": 24779, + "_WINDOW": 24780, + "Ġtatto": 24781, + "valor": 24782, + ".Range": 24783, + "Ġreferenced": 24784, + "ĠReserve": 24785, + "Money": 24786, + "SCRIPT": 24787, + "/product": 24788, + "choices": 24789, + "Ġtin": 24790, + "ãĤĵ": 24791, + "Ġseparator": 24792, + "Ġpkg": 24793, + "ammed": 24794, + "ĠMAT": 24795, + "!!ĊĊ": 24796, + "Ġraid": 24797, + "Ġmotivation": 24798, + "ĠXP": 24799, + "ĠBackground": 24800, + "ĠQuaternion": 24801, + ".defineProperty": 24802, + "iker": 24803, + "ĉparent": 24804, + "ĠOriginally": 24805, + "antage": 24806, + "ĠHans": 24807, + "Ġtimeline": 24808, + ".cur": 24809, + "opic": 24810, + "ĠSequ": 24811, + "must": 24812, + "ĠCoal": 24813, + "Ġformatter": 24814, + "_RGB": 24815, + "Ġ_(\"": 24816, + "'}),Ċ": 24817, + "Ġ=================": 24818, + "ĠFUNCTION": 24819, + "Ġlng": 24820, + "icates": 24821, + "live": 24822, + "_engine": 24823, + "Ġtowns": 24824, + "'))ĊĊ": 24825, + "ĠPK": 24826, + "(api": 24827, + "ĉscanf": 24828, + "packet": 24829, + ".phone": 24830, + "áĢ": 24831, + "ĠAndy": 24832, + "_NAMES": 24833, + "PLY": 24834, + "Ġmins": 24835, + "imi": 24836, + "Ġbrick": 24837, + "Ġblade": 24838, + ".stdout": 24839, + "}`;Ċ": 24840, + "Shift": 24841, + "ĉsb": 24842, + "ĠChecks": 24843, + "Ġphenomenon": 24844, + "Avatar": 24845, + "Ġministry": 24846, + "rose": 24847, + "ĉFile": 24848, + "Ġtitled": 24849, + "(LOG": 24850, + "Ġgan": 24851, + "design": 24852, + "(),čĊ": 24853, + "Ġbones": 24854, + "stm": 24855, + "ÅĽÄĩ": 24856, + "ĠInputStream": 24857, + "Ġvolunt": 24858, + "ĠSerializable": 24859, + "Ġfighter": 24860, + "ĠDrag": 24861, + "Twitter": 24862, + "Ġsubsid": 24863, + "ç¼": 24864, + "Ġforums": 24865, + ".loading": 24866, + "logged": 24867, + "_this": 24868, + "Ġterrain": 24869, + "Ġirre": 24870, + "ĠIng": 24871, + "ĠCN": 24872, + "_objects": 24873, + ".uid": 24874, + "Ġconsciousness": 24875, + "TINGS": 24876, + "ĠGall": 24877, + "Ġportray": 24878, + "ĠDeveloper": 24879, + "Ġparticipant": 24880, + "Ġ\";čĊ": 24881, + "/model": 24882, + "ĠOperations": 24883, + "^\\": 24884, + "ĠLater": 24885, + "Ġraises": 24886, + "-none": 24887, + ".meta": 24888, + "='.$": 24889, + "Finished": 24890, + "Ġreplacing": 24891, + "Ġsampling": 24892, + "ĠJen": 24893, + "\"There": 24894, + "REAL": 24895, + "ALE": 24896, + "ìĬ¤": 24897, + "Orders": 24898, + "_parameter": 24899, + "ĠOlympic": 24900, + "Ġtrès": 24901, + "Ġarena": 24902, + "iol": 24903, + ";?>": 24904, + "Ġimpacts": 24905, + "ĠWS": 24906, + ":get": 24907, + "Ġflights": 24908, + "ĠRussell": 24909, + "camera": 24910, + "Fn": 24911, + "sigma": 24912, + "Ġforcing": 24913, + "Ġlocals": 24914, + "Ġdeparture": 24915, + "Ġcelebration": 24916, + "ĠSay": 24917, + "ï¼Ĵ": 24918, + "ĠHills": 24919, + ".hasOwnProperty": 24920, + "Ġtypings": 24921, + ".API": 24922, + "Ġdonation": 24923, + "OperationException": 24924, + ".Activity": 24925, + "cplusplus": 24926, + "ĠCharlie": 24927, + "Ġimported": 24928, + "Ġdann": 24929, + "Ġoccasions": 24930, + "Ġimplementing": 24931, + "Ġpurple": 24932, + ".dialog": 24933, + "SQLException": 24934, + "erno": 24935, + "Ġwars": 24936, + "Ġpaste": 24937, + "Ġdecreased": 24938, + "Ġharsh": 24939, + "Ġelabor": 24940, + "inputs": 24941, + "ĠViews": 24942, + "ĠerrorMessage": 24943, + "_mul": 24944, + "ĉwrite": 24945, + "ĠCop": 24946, + "ĠAnnual": 24947, + "(button": 24948, + "Ġvida": 24949, + "bars": 24950, + "ĠHarvard": 24951, + "ĉexpect": 24952, + "Ġindexes": 24953, + "Ġdocumentary": 24954, + "Ġflesh": 24955, + "ORLD": 24956, + "ĠDelta": 24957, + "MAND": 24958, + "Brush": 24959, + "-column": 24960, + "Ġdevelopments": 24961, + "methodVisitor": 24962, + "slice": 24963, + "ĠPDO": 24964, + "Ġinvesting": 24965, + "irable": 24966, + "Ġxmlns": 24967, + "ï¼Ľ": 24968, + "arta": 24969, + "Ġtheories": 24970, + "_city": 24971, + "Ġ$__": 24972, + "Creating": 24973, + "(pr": 24974, + "Dropdown": 24975, + "ismatch": 24976, + "ĠNET": 24977, + "'])){Ċ": 24978, + "ĠValues": 24979, + "ĠSEO": 24980, + "ĠSTAT": 24981, + "Ġecosystem": 24982, + "Ġtempt": 24983, + "Ġ\\\\": 24984, + "Ġ//{Ċ": 24985, + "ĠChristopher": 24986, + "ĠKentucky": 24987, + "ĠHttpServletResponse": 24988, + "Ġhybrid": 24989, + "yon": 24990, + "Ġfeeding": 24991, + "ĠExtra": 24992, + "Norm": 24993, + "ITCH": 24994, + "ĠSean": 24995, + "ĠUpload": 24996, + "mun": 24997, + "pur": 24998, + "Ġpersistent": 24999, + "ĠIDC": 25000, + "ĠPerform": 25001, + ".merge": 25002, + "_room": 25003, + "Meanwhile": 25004, + "!='": 25005, + "ĠWel": 25006, + "ArgsConstructor": 25007, + ".Database": 25008, + "Ġcounting": 25009, + "()*": 25010, + "ĶåĽŀ": 25011, + "ĠTOP": 25012, + "mill": 25013, + "ĠDT": 25014, + "IGNED": 25015, + "ĠKB": 25016, + "Ġcomply": 25017, + "South": 25018, + "_collection": 25019, + "Chapter": 25020, + "Ġexplaining": 25021, + "_AM": 25022, + "_ts": 25023, + "cards": 25024, + "Ġquel": 25025, + "Ġpole": 25026, + "Ġtouchdown": 25027, + "ĠOthers": 25028, + "Ġpeers": 25029, + "ĠTypeError": 25030, + "Ġsixth": 25031, + "Ġcheer": 25032, + "Ġdispute": 25033, + "usc": 25034, + ")],": 25035, + "thumb": 25036, + "Ġhiding": 25037, + "ĠSIG": 25038, + "likes": 25039, + "ĠPAGE": 25040, + ".Reflection": 25041, + "Ġheadquarters": 25042, + "TING": 25043, + "ĠGhost": 25044, + "MLE": 25045, + "$Ċ": 25046, + "Ġcontrary": 25047, + "extend": 25048, + "']).": 25049, + "FFECT": 25050, + "ĠPinterest": 25051, + "úmero": 25052, + "ricane": 25053, + "ĉsession": 25054, + "Ġcrystal": 25055, + "-Control": 25056, + "overnment": 25057, + "ograf": 25058, + "-action": 25059, + "volume": 25060, + "ften": 25061, + "Ġuncon": 25062, + "Ġanimate": 25063, + "Ġlease": 25064, + "scr": 25065, + "Ġrefuse": 25066, + "ãĢĭ": 25067, + "ftp": 25068, + "information": 25069, + "Ġevaluated": 25070, + "Ġinjection": 25071, + "Ġjack": 25072, + "Ġworkshop": 25073, + "注": 25074, + "PTH": 25075, + "ĠTs": 25076, + "offer": 25077, + "ĉos": 25078, + "Ġkingdom": 25079, + "Missing": 25080, + "Ġlawmakers": 25081, + "extField": 25082, + "Ġsinging": 25083, + "abi": 25084, + "/client": 25085, + ".media": 25086, + "ATEGORY": 25087, + "Signature": 25088, + "%',Ċ": 25089, + "ĠFuck": 25090, + "][:": 25091, + "Ġsensors": 25092, + "/com": 25093, + "ĠPrimary": 25094, + ".SQL": 25095, + "_program": 25096, + "Ġpills": 25097, + "Ġintegral": 25098, + "Ġfleet": 25099, + "Ġdropping": 25100, + ".sl": 25101, + "Been": 25102, + "Ġpets": 25103, + "Ġadvised": 25104, + "Ġdragon": 25105, + "_EDIT": 25106, + "(im": 25107, + "FER": 25108, + "ĠDrug": 25109, + "(random": 25110, + "Ġcompression": 25111, + "oust": 25112, + "[%": 25113, + "Ġbuyer": 25114, + "hop": 25115, + "Roles": 25116, + "manage": 25117, + "Ġpainful": 25118, + "ĠBranch": 25119, + "-modal": 25120, + "enant": 25121, + "ĠMesh": 25122, + "/font": 25123, + "ĠGraham": 25124, + "Ġâĺ": 25125, + "Ġnc": 25126, + "ĠFrancis": 25127, + "Ġspecification": 25128, + "Ġdamages": 25129, + "-config": 25130, + "Ġtheoret": 25131, + "secure": 25132, + "_multi": 25133, + "aceutical": 25134, + "Ġdemanding": 25135, + "enne": 25136, + "ISTS": 25137, + "()));ĊĊ": 25138, + "Reason": 25139, + "Recent": 25140, + "phase": 25141, + "Ġpsy": 25142, + "_MAN": 25143, + "Ġvolunteer": 25144, + "å¿": 25145, + "istributed": 25146, + "lio": 25147, + "Ġproductivity": 25148, + "_comm": 25149, + "Spring": 25150, + "nis": 25151, + ".weight": 25152, + "ĠCancer": 25153, + "Alloc": 25154, + "ĠTweet": 25155, + "Ġseparately": 25156, + "ĉcheck": 25157, + "_properties": 25158, + ".Unit": 25159, + "_CLK": 25160, + "Ġgt": 25161, + "Ġ();ĊĊ": 25162, + "Ġhandy": 25163, + "ĠThompson": 25164, + "Ġunnecessary": 25165, + "ĠReader": 25166, + "GN": 25167, + "=request": 25168, + "ĠUtility": 25169, + ".Repository": 25170, + "ĠAx": 25171, + "hydr": 25172, + "ieu": 25173, + "Ġthy": 25174, + "Ġlt": 25175, + "_mail": 25176, + "ä¿®æĶ¹": 25177, + "ailand": 25178, + "ĠPhilip": 25179, + "Ġbitter": 25180, + "Ġbetting": 25181, + "Ġtimed": 25182, + "ocks": 25183, + "'a": 25184, + "Ġalgorithms": 25185, + "Ġreinterpret": 25186, + "Ġtoss": 25187, + "rogen": 25188, + "Ġhoped": 25189, + "(selected": 25190, + "Ġventure": 25191, + "TEX": 25192, + "ĠLeave": 25193, + ".Substring": 25194, + "Ġgrateful": 25195, + "uka": 25196, + "ĠConsumer": 25197, + "Ġaggreg": 25198, + "Circle": 25199, + "à¸ģ": 25200, + "_blocks": 25201, + "Ġlegally": 25202, + "Ġ\"|": 25203, + "ãĥĥ": 25204, + ".board": 25205, + ".Ab": 25206, + "Functions": 25207, + "recipe": 25208, + "èĩ": 25209, + "ĠOxford": 25210, + "Ġwholes": 25211, + ".Build": 25212, + "_changed": 25213, + "hai": 25214, + "Ġdepartments": 25215, + "Imp": 25216, + "Ġcoalition": 25217, + "INFRINGEMENT": 25218, + "Ġempower": 25219, + "itches": 25220, + "North": 25221, + "Ġinflamm": 25222, + "ONSE": 25223, + "Ġmissile": 25224, + "ĠRaj": 25225, + "ĠIssue": 25226, + "Ġatoi": 25227, + "caled": 25228, + ".Controllers": 25229, + "ĠWolf": 25230, + "Ġcrushers": 25231, + "á»ĩ": 25232, + ".Auth": 25233, + ".addAttribute": 25234, + "his": 25235, + "Ġboots": 25236, + ".clean": 25237, + "camp": 25238, + "Ġtenant": 25239, + "Ġtune": 25240, + "Ġ{}'.": 25241, + "Ġworkout": 25242, + "Repo": 25243, + "Ġpartially": 25244, + "MISSION": 25245, + "jamin": 25246, + "ĠSB": 25247, + "Ġdetermination": 25248, + "Ġ'');Ċ": 25249, + "ĠBeng": 25250, + "Ġvos": 25251, + "Ġinhab": 25252, + "/lang": 25253, + "sburgh": 25254, + "Executor": 25255, + "hone": 25256, + "ĠChallenge": 25257, + "_links": 25258, + ".Level": 25259, + "Ġunderground": 25260, + "-code": 25261, + "Ġoptimization": 25262, + "logging": 25263, + "_dest": 25264, + "Ġsnake": 25265, + "Ġchemicals": 25266, + "_IMPORTED": 25267, + "adoop": 25268, + "ĠTHAT": 25269, + "managed": 25270, + "Ġreduces": 25271, + "ĠREAL": 25272, + "ĠGuy": 25273, + "_GENERIC": 25274, + "/********************************": 25275, + ".amount": 25276, + "Ġdere": 25277, + "getTime": 25278, + "Ġpant": 25279, + "anonymous": 25280, + "Ġharmony": 25281, + "ĠAlan": 25282, + "Ġscenarios": 25283, + "Ġdirt": 25284, + "htags": 25285, + "Mc": 25286, + "Shell": 25287, + "rin": 25288, + "{čĊčĊ": 25289, + ".pow": 25290, + "ĉclient": 25291, + "Ġconspiracy": 25292, + "Ġadmission": 25293, + "ĠRegional": 25294, + "ĠViewController": 25295, + "ĠPhilippines": 25296, + "Ġdepos": 25297, + "Ġpap": 25298, + "ĠPad": 25299, + "Paul": 25300, + ".ComboBox": 25301, + "Ġtutor": 25302, + "ĠRecipe": 25303, + "writing": 25304, + "Ġcontributor": 25305, + "OTH": 25306, + "Small": 25307, + "VI": 25308, + "Ġhacer": 25309, + "equ": 25310, + "ĠExamples": 25311, + "human": 25312, + ".messages": 25313, + "ĉtyp": 25314, + "Ġ(čĊ": 25315, + "ĠSSL": 25316, + "LEN": 25317, + "ĠRomney": 25318, + "(grid": 25319, + "ĉmin": 25320, + "Ġ>ĊĊ": 25321, + "Ġfruits": 25322, + "Ġvoter": 25323, + "Inline": 25324, + "pane": 25325, + "ĠCollections": 25326, + "charset": 25327, + "Ġspam": 25328, + "zb": 25329, + "itemap": 25330, + "Ġsucceeded": 25331, + "_COL": 25332, + "Ġelapsed": 25333, + "imeter": 25334, + "Ġrecovered": 25335, + "Tensor": 25336, + "hattan": 25337, + ".setup": 25338, + "isto": 25339, + "(head": 25340, + "ĠSIZE": 25341, + "Ġtactics": 25342, + "Ġdistur": 25343, + "Ġpreval": 25344, + "icios": 25345, + "(Value": 25346, + "_cols": 25347, + "ĠFat": 25348, + "Ġseal": 25349, + "Ġsons": 25350, + "Ġensures": 25351, + "Ġpressing": 25352, + "=&": 25353, + "igenous": 25354, + "Ġharassment": 25355, + "_JSON": 25356, + "Ġignor": 25357, + "ynomial": 25358, + "omer": 25359, + "_static": 25360, + "Ġsignificance": 25361, + "Ġcircles": 25362, + "_System": 25363, + "Ġdiscipline": 25364, + "Ġdressed": 25365, + "Ġsphere": 25366, + "Ġclimb": 25367, + "_actions": 25368, + "ĠBab": 25369, + "Ġ'=',": 25370, + "_schema": 25371, + "\"use": 25372, + "Ġunders": 25373, + "Ġcups": 25374, + ".screen": 25375, + "/new": 25376, + "Ġappearing": 25377, + "TOP": 25378, + "vised": 25379, + "clang": 25380, + "Ġinvestigators": 25381, + "Ġmysterious": 25382, + "Ġpromising": 25383, + "Ġqualify": 25384, + "Ġcave": 25385, + "Ġequip": 25386, + "=x": 25387, + "GT": 25388, + "(link": 25389, + ".velocity": 25390, + ".erase": 25391, + "oter": 25392, + "++++++++": 25393, + "profit": 25394, + "Ġzones": 25395, + "_uid": 25396, + "-ser": 25397, + "Ġobjectives": 25398, + "Ġmilf": 25399, + "webkit": 25400, + "(match": 25401, + "neh": 25402, + "ĠAssociated": 25403, + "ĠTodo": 25404, + "=d": 25405, + "Cam": 25406, + "Ġvocal": 25407, + "Ġsudo": 25408, + "(EX": 25409, + "Ġtrou": 25410, + "ABC": 25411, + ".bean": 25412, + "ĠGround": 25413, + "ĠREST": 25414, + "weets": 25415, + "Ing": 25416, + "imon": 25417, + "_bus": 25418, + "ĠCOLOR": 25419, + "unto": 25420, + "Ġfoss": 25421, + "ĠLinks": 25422, + "äng": 25423, + "/forms": 25424, + "prises": 25425, + "Ġachievement": 25426, + "CALL": 25427, + "елÑĮ": 25428, + "ĠVerify": 25429, + "_SOURCE": 25430, + "aptcha": 25431, + "IDD": 25432, + "_reference": 25433, + "Gold": 25434, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ": 25435, + "Receiver": 25436, + "Ġaj": 25437, + "_direction": 25438, + "}]": 25439, + "ĠCompet": 25440, + "Ġbang": 25441, + "ĠCass": 25442, + "-url": 25443, + "techn": 25444, + "ĠJerusalem": 25445, + "longitude": 25446, + "');čĊčĊ": 25447, + "Ġwinners": 25448, + "Tasks": 25449, + "ĠDMA": 25450, + "Ġtooltip": 25451, + "İ·": 25452, + "ĠBra": 25453, + "_duration": 25454, + "cury": 25455, + "parents": 25456, + "---->(": 25526, + "ĠKir": 25527, + "Ġintros": 25528, + "Ġsketch": 25529, + "Ġskilled": 25530, + "Ġimmer": 25531, + "Ġadequate": 25532, + "_rep": 25533, + "(header": 25534, + "_like": 25535, + "Ġperceived": 25536, + "ssh": 25537, + "Ġassuming": 25538, + "Ġff": 25539, + "_uuid": 25540, + "ulas": 25541, + "Ġdemocratic": 25542, + ".entities": 25543, + "Series": 25544, + "aphore": 25545, + "Ġnewer": 25546, + "}(": 25547, + "SEC": 25548, + "airo": 25549, + "Ġcommod": 25550, + "Ġprivilege": 25551, + "Ġdeux": 25552, + "ĠHop": 25553, + ".'/": 25554, + "ctic": 25555, + ".';Ċ": 25556, + "C": 25630, + "ĠWarren": 25631, + "Ġoptimizer": 25632, + "ĠSERVICES": 25633, + "_oper": 25634, + "getAttribute": 25635, + "ĠMcK": 25636, + "_self": 25637, + ".rs": 25638, + "\")ĊĊĊ": 25639, + "GetComponent": 25640, + "erce": 25641, + "Ġtous": 25642, + "units": 25643, + "']);čĊ": 25644, + "Zoom": 25645, + "/E": 25646, + "Ġobsc": 25647, + "Ġfastest": 25648, + "online": 25649, + "Ġpeaceful": 25650, + "ffen": 25651, + "Ġcargo": 25652, + "ĉpr": 25653, + "Ġseeks": 25654, + "zu": 25655, + "Trim": 25656, + "Ġward": 25657, + "Ġverd": 25658, + "Ġblogs": 25659, + ".exceptions": 25660, + "ĠPremium": 25661, + "ĠNetherlands": 25662, + "Safe": 25663, + "Finish": 25664, + "ĠAlbum": 25665, + "_ACC": 25666, + "=this": 25667, + "virtual": 25668, + "]>": 25669, + "_LABEL": 25670, + "ĠNich": 25671, + "_win": 25672, + "ĠAaron": 25673, + "WP": 25674, + ";$": 25675, + "aims": 25676, + "ĠImageView": 25677, + "Ġendless": 25678, + "ERA": 25679, + "_DISABLE": 25680, + "Ġcancelled": 25681, + "-us": 25682, + "Ġinspection": 25683, + "emin": 25684, + "ĠGrey": 25685, + "-open": 25686, + "Ġiterations": 25687, + ".owner": 25688, + "Ġkeras": 25689, + ".Password": 25690, + "ĠRy": 25691, + "ĠINS": 25692, + "Air": 25693, + "ĠSeveral": 25694, + ".TabStop": 25695, + "INGLE": 25696, + "ĠHair": 25697, + "ĠCanvas": 25698, + "AAAA": 25699, + "Ġflaw": 25700, + "cedes": 25701, + ".Report": 25702, + "íĬ": 25703, + "ĠTips": 25704, + "criptors": 25705, + ".transaction": 25706, + ".Spring": 25707, + "Ġviewer": 25708, + "Ġinsights": 25709, + "è¾ĵ": 25710, + "ordion": 25711, + "UINT": 25712, + "seek": 25713, + "ĠAuf": 25714, + "ìŀIJ": 25715, + "Ġstrain": 25716, + "Tooltip": 25717, + "Ġdz": 25718, + "ignal": 25719, + "adt": 25720, + "Ġuc": 25721, + "finite": 25722, + "Ġnm": 25723, + ".cmd": 25724, + "ĠMySql": 25725, + "[data": 25726, + ".jackson": 25727, + ".tree": 25728, + "RequestParam": 25729, + "_agent": 25730, + "\")]čĊ": 25731, + "Ġassass": 25732, + "(Constants": 25733, + ":ss": 25734, + "ĠMAN": 25735, + "+-+-": 25736, + "ĠBottom": 25737, + "prints": 25738, + "ĠSame": 25739, + "@Autowired": 25740, + "swap": 25741, + "ición": 25742, + "Ġprotesters": 25743, + "Ġhoney": 25744, + "ĠVeter": 25745, + "(Calendar": 25746, + "-ad": 25747, + "ĠBrooklyn": 25748, + "Life": 25749, + "_VAR": 25750, + "zech": 25751, + "ĠCALL": 25752, + "_CAST": 25753, + "ĠElection": 25754, + "Ġthickness": 25755, + "Very": 25756, + "_INTEGER": 25757, + "-dev": 25758, + "))))": 25759, + "apat": 25760, + "oooo": 25761, + "demo": 25762, + "ĠparseFloat": 25763, + "ĠRather": 25764, + "STIT": 25765, + "maker": 25766, + "[current": 25767, + "chrono": 25768, + "Ġchrist": 25769, + "ãģª": 25770, + "ĠDetail": 25771, + "ưá»": 25772, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 25773, + "Ġsul": 25774, + "idency": 25775, + "Que": 25776, + "Ġelegant": 25777, + "apons": 25778, + "Ġdishes": 25779, + "Ġintegers": 25780, + "(read": 25781, + "findViewById": 25782, + "ĠAmount": 25783, + "ĠSkip": 25784, + "Ġhabits": 25785, + "*)(": 25786, + "Ġmonsters": 25787, + "MAC": 25788, + ":end": 25789, + "Ġfrank": 25790, + "Assembly": 25791, + "Ġdfs": 25792, + "Ġneut": 25793, + "_TYPES": 25794, + "equal": 25795, + "loyd": 25796, + "(uri": 25797, + "Ġchi": 25798, + "Ġdefendant": 25799, + "Ġconflicts": 25800, + "Ġvil": 25801, + "-js": 25802, + "ĠPeace": 25803, + "Ġmutable": 25804, + ")sender": 25805, + "ĠFocus": 25806, + "建": 25807, + "Ġappreciated": 25808, + "sleep": 25809, + "ĠRED": 25810, + "Culture": 25811, + "Ġdesigners": 25812, + "_generator": 25813, + "codes": 25814, + "/ex": 25815, + ".GetValue": 25816, + "umbled": 25817, + ".scalajs": 25818, + "peror": 25819, + "Ġveterans": 25820, + "Ġ})čĊ": 25821, + "Ġunfortunately": 25822, + "_CREATE": 25823, + "Mass": 25824, + "ĠCLAIM": 25825, + "ĠMeet": 25826, + "_support": 25827, + "Bank": 25828, + "().Ċ": 25829, + "Dark": 25830, + "_LOW": 25831, + "ĠMining": 25832, + "ĠOwner": 25833, + "iera": 25834, + "Cliente": 25835, + "Ġencouraging": 25836, + ">S": 25837, + "Ġboyfriend": 25838, + "ĠHalf": 25839, + "ĠACC": 25840, + "Aff": 25841, + "_ar": 25842, + "-life": 25843, + "cx": 25844, + ".JButton": 25845, + "izado": 25846, + ".zero": 25847, + ".openqa": 25848, + "oton": 25849, + ".textContent": 25850, + "Ġtoll": 25851, + "atie": 25852, + "Ġballot": 25853, + "-number": 25854, + ".Exception": 25855, + "ĉparams": 25856, + "circle": 25857, + "-map": 25858, + "Ġnap": 25859, + "ĠRobot": 25860, + "ĠIch": 25861, + "registration": 25862, + "Amazon": 25863, + "rollment": 25864, + "(exp": 25865, + "Ġtanks": 25866, + "ĠGordon": 25867, + "Ġmachinery": 25868, + "Ġbaseline": 25869, + "æĭ": 25870, + "Ø©": 25871, + "ĠConvention": 25872, + "ĉconfig": 25873, + "ookies": 25874, + "mult": 25875, + "Records": 25876, + "ĠEST": 25877, + "Ġgarbage": 25878, + "Ġconform": 25879, + "idal": 25880, + "Ġbarg": 25881, + "Ġsurvived": 25882, + "Ġinvestigations": 25883, + ".containsKey": 25884, + "--------------------------------------------------------------------------Ċ": 25885, + "ortion": 25886, + "Ġhorr": 25887, + "_http": 25888, + "Ġmant": 25889, + "];čĊčĊ": 25890, + "binary": 25891, + "empl": 25892, + "Ġinquiry": 25893, + "ĠMeanwhile": 25894, + "Ġcollecting": 25895, + ".EntityFramework": 25896, + "\",ĊĊ": 25897, + "ĠPic": 25898, + "@Inject": 25899, + "ickness": 25900, + "ĠBinding": 25901, + "Ġcontrolling": 25902, + "reverse": 25903, + "Ġchairs": 25904, + "sembled": 25905, + "(add": 25906, + "Disabled": 25907, + "anas": 25908, + ".translate": 25909, + "-----------Ċ": 25910, + "Ġreflected": 25911, + "\"]ĊĊ": 25912, + "External": 25913, + "Arrow": 25914, + "Singleton": 25915, + "%x": 25916, + "ĠÅ": 25917, + "Ġancest": 25918, + "ĠOrleans": 25919, + "ĉcmd": 25920, + "Ġprohibited": 25921, + "ithmetic": 25922, + "(channel": 25923, + "_css": 25924, + "Forward": 25925, + ".socket": 25926, + "Ġluc": 25927, + "âĨ": 25928, + "ĠFirefox": 25929, + "ĠMovies": 25930, + ")_": 25931, + ".ends": 25932, + "(shape": 25933, + "Ġdealt": 25934, + "Ġsaves": 25935, + "Ġglory": 25936, + "Ġmejor": 25937, + "Ġbreathing": 25938, + "Ġeller": 25939, + "getData": 25940, + "Ġangles": 25941, + "Ġtoolbar": 25942, + "Ġspacing": 25943, + "IPS": 25944, + "Ġfloors": 25945, + "_ACTIVE": 25946, + "Ġshuffle": 25947, + "/shared": 25948, + "ĠEle": 25949, + "edish": 25950, + "Ġwebcam": 25951, + ".expect": 25952, + "iloc": 25953, + "ĠIncludes": 25954, + "Ġtweeted": 25955, + "Ġ:)": 25956, + "ĠEssay": 25957, + "Fix": 25958, + "-between": 25959, + "_web": 25960, + ".conv": 25961, + "Ġracism": 25962, + "Ġreflects": 25963, + "umm": 25964, + "иÑĤе": 25965, + "_footer": 25966, + "/docs": 25967, + "ĠPour": 25968, + "NgModule": 25969, + ".initialize": 25970, + "patterns": 25971, + "_In": 25972, + "ĠAbb": 25973, + "*čĊ": 25974, + "Ġsentiment": 25975, + "buff": 25976, + "_counts": 25977, + "Ġreuse": 25978, + "chunk": 25979, + "Ġimposed": 25980, + "PrimaryKey": 25981, + "Foreground": 25982, + "Ġconsumed": 25983, + "?!": 25984, + "Ġdick": 25985, + "Ġchron": 25986, + "ĠFern": 25987, + "Ġresponsive": 25988, + "Ġinsect": 25989, + "iculty": 25990, + "Ġrw": 25991, + "Ġalike": 25992, + "Ġsubset": 25993, + "ĠCookies": 25994, + "ĠPair": 25995, + "Ġtier": 25996, + "IFO": 25997, + "avour": 25998, + "ĠQU": 25999, + ",sizeof": 26000, + "Ġmerged": 26001, + "mv": 26002, + "itol": 26003, + "ylon": 26004, + "Ġjumped": 26005, + ".role": 26006, + "ensaje": 26007, + "Rules": 26008, + "Ġbrowse": 26009, + "Animator": 26010, + "Ġyoga": 26011, + "Ġvariants": 26012, + "Ġcourtesy": 26013, + "uran": 26014, + "pbs": 26015, + "elseif": 26016, + "Alt": 26017, + "ĠLane": 26018, + "CLK": 26019, + "IMARY": 26020, + "_PROPERTY": 26021, + "ï¼IJ": 26022, + "Ġchan": 26023, + "Ġgradually": 26024, + "Ġshake": 26025, + "Ġblonde": 26026, + "...\");Ċ": 26027, + "-sex": 26028, + "Ġgameplay": 26029, + "acies": 26030, + ".refresh": 26031, + "USB": 26032, + "ĠPlot": 26033, + "Was": 26034, + "issippi": 26035, + "ĠTensor": 26036, + "Ġcryptocurrency": 26037, + "Ġdifficulties": 26038, + "Deleted": 26039, + "Without": 26040, + "_append": 26041, + "_ver": 26042, + "\"))čĊ": 26043, + "Ġhonestly": 26044, + "Ġpivot": 26045, + "Ġtemps": 26046, + "_ps": 26047, + "ĠUnlike": 26048, + "[:-": 26049, + "VS": 26050, + "_inf": 26051, + "Ġjunior": 26052, + "Ġanimations": 26053, + "Ġfilepath": 26054, + "?{{$": 26076, + "Ġunicode": 26077, + "places": 26078, + "ĠCoffee": 26079, + ".SE": 26080, + "ĠPAR": 26081, + "(txt": 26082, + "gebra": 26083, + "Ġfires": 26084, + "MainWindow": 26085, + "medium": 26086, + "Ġ(âĢľ": 26087, + "Ġlg": 26088, + "Ġcmp": 26089, + "/base": 26090, + "_layers": 26091, + "_entries": 26092, + "Ġadminister": 26093, + "ĠSUCH": 26094, + "BP": 26095, + "ĠScottish": 26096, + "ĉčĊĉčĊ": 26097, + "guard": 26098, + "ĠStrong": 26099, + "Insn": 26100, + "ĠCAP": 26101, + "asury": 26102, + "ĠSEE": 26103, + "Clock": 26104, + "erie": 26105, + "\\models": 26106, + "Ġ$$": 26107, + "ĠCab": 26108, + "Ġwurde": 26109, + "Ġsoldier": 26110, + "Ġclips": 26111, + "Ġarrangement": 26112, + "ĠWonder": 26113, + "ĠHorn": 26114, + "Ġscared": 26115, + "Ġcure": 26116, + "mkdir": 26117, + "Ġaligned": 26118, + "ĠPink": 26119, + "Ġlanded": 26120, + "Dimension": 26121, + "ScrollPane": 26122, + ".chat": 26123, + ".With": 26124, + "ĠTrain": 26125, + "].Ċ": 26126, + "Ġthirty": 26127, + "Ġdurable": 26128, + "Ġld": 26129, + "Ġlateinit": 26130, + "Ġcharts": 26131, + "Ġinsult": 26132, + ".Fatal": 26133, + "_ct": 26134, + "Ġmasks": 26135, + "CLUDED": 26136, + "President": 26137, + "Ġcolours": 26138, + "gments": 26139, + ".attributes": 26140, + "ĠFlex": 26141, + "ĠClock": 26142, + "ÃŃcul": 26143, + "imen": 26144, + "JO": 26145, + "ĠRegex": 26146, + "_LINK": 26147, + "Ġcouch": 26148, + "ĠINPUT": 26149, + "Ġbeating": 26150, + "business": 26151, + "preced": 26152, + ".unit": 26153, + "ĠFel": 26154, + "Never": 26155, + "ospel": 26156, + ".startswith": 26157, + "ĠEPA": 26158, + ".only": 26159, + "Ġpreventing": 26160, + "yer": 26161, + "ColumnName": 26162, + "Ġelevation": 26163, + "flu": 26164, + "icycle": 26165, + "Ġoffline": 26166, + "Toolbar": 26167, + "Ġcompeting": 26168, + ")].": 26169, + "Ġmog": 26170, + "ĠisValid": 26171, + "Ask": 26172, + "_av": 26173, + "_lat": 26174, + "ANC": 26175, + "ĠJoh": 26176, + "kers": 26177, + "Ġguards": 26178, + "Ġchains": 26179, + "ĠSimpleDateFormat": 26180, + ".static": 26181, + "Ġvessel": 26182, + "Ġmud": 26183, + "Ġstabil": 26184, + "Ġstret": 26185, + "gm": 26186, + "amation": 26187, + "çľ": 26188, + "-with": 26189, + "Ġros": 26190, + "_PA": 26191, + "Ġresultado": 26192, + "Ġconfidential": 26193, + "ĠTokyo": 26194, + "ĉusing": 26195, + "ĠMathf": 26196, + "ombine": 26197, + "ĠESPN": 26198, + "Ġdealers": 26199, + "Ġdismissed": 26200, + "TRY": 26201, + "Ġteens": 26202, + "records": 26203, + "Ġwings": 26204, + "gallery": 26205, + "accounts": 26206, + "_LIB": 26207, + "Ġjacket": 26208, + "ĠNSObject": 26209, + "Ġstones": 26210, + "ĠDelivery": 26211, + "ĠDiet": 26212, + "/watch": 26213, + "Ġtoilet": 26214, + "ĠGuest": 26215, + ".day": 26216, + "Ġintval": 26217, + "Visit": 26218, + "Ġinvestigated": 26219, + "Ġpentru": 26220, + "ĠTheatre": 26221, + "andidates": 26222, + "Lang": 26223, + "ĠServ": 26224, + "Ġcontrollers": 26225, + "ĠsetTitle": 26226, + "NP": 26227, + "amy": 26228, + "flat": 26229, + "(ui": 26230, + "_document": 26231, + "èĥ½": 26232, + "ĠCoin": 26233, + "ĠAdams": 26234, + "ptic": 26235, + "Ġproductive": 26236, + "Ġaccomplished": 26237, + "čĊčĊčĊčĊ": 26238, + "Ġdeferred": 26239, + "ientes": 26240, + "Ġsinc": 26241, + "olars": 26242, + "Rightarrow": 26243, + "Ġvariations": 26244, + "(offset": 26245, + ".LayoutInflater": 26246, + "Ġsuspend": 26247, + "Ġprevention": 26248, + "_private": 26249, + "_js": 26250, + "âĺħ": 26251, + "Ġwieder": 26252, + "atum": 26253, + "ĴĮ": 26254, + "Ġappearances": 26255, + ".Document": 26256, + "Ġvalidates": 26257, + "calendar": 26258, + "}\";Ċ": 26259, + ".demo": 26260, + "conut": 26261, + "Ġcorrection": 26262, + "ĠDeal": 26263, + "Ġbatteries": 26264, + ".duration": 26265, + ",\\": 26266, + "_marker": 26267, + "multi": 26268, + "Ġhalt": 26269, + "Ġcms": 26270, + "Ġshaped": 26271, + "Bro": 26272, + "reduce": 26273, + "Ġ####": 26274, + "CTOR": 26275, + "ĠBenef": 26276, + "Ġiconic": 26277, + "Ġpiano": 26278, + "Ġeffectiveness": 26279, + "|.Ċ": 26280, + "Ġajax": 26281, + "Ġvolumes": 26282, + "ม": 26283, + "Ġcljs": 26284, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ": 26285, + "aths": 26286, + "raits": 26287, + "大": 26288, + "Ñĸ": 26289, + "_mult": 26290, + "Ġfascinating": 26291, + "Average": 26292, + "Ġpré": 26293, + "ĠChairman": 26294, + ".findElement": 26295, + "_pin": 26296, + "Ġcomparing": 26297, + "Ġdarkness": 26298, + "-Fi": 26299, + "-server": 26300, + "Ġselecting": 26301, + "sterdam": 26302, + "ĠParts": 26303, + "FORMATION": 26304, + "Ġnoting": 26305, + "Ġpile": 26306, + "ogs": 26307, + "Ġpalette": 26308, + "_do": 26309, + "itize": 26310, + "()(": 26311, + "Ġdefining": 26312, + "Ġremainder": 26313, + "Units": 26314, + "_TASK": 26315, + "HttpClient": 26316, + "Social": 26317, + "Ġfundra": 26318, + "NR": 26319, + "chest": 26320, + "Currency": 26321, + ".adapter": 26322, + "Ġdop": 26323, + "unting": 26324, + "ANGUAGE": 26325, + "\"He": 26326, + "ĉindex": 26327, + "_package": 26328, + ".Icon": 26329, + "Ġrepet": 26330, + "mass": 26331, + "=\".$": 26332, + "ĠSud": 26333, + "Ġlid": 26334, + "province": 26335, + "ìľ": 26336, + "GPIO": 26337, + "Ðļ": 26338, + "ĠMySQL": 26339, + "Ġdocs": 26340, + "ĠGA": 26341, + "Ġipsum": 26342, + "Kernel": 26343, + "Ġaccepts": 26344, + "Ġfitting": 26345, + "Ġcuando": 26346, + "Ġduplic": 26347, + "ĠBrother": 26348, + "ĠKle": 26349, + "nums": 26350, + "Ġmorph": 26351, + "Ġ########": 26352, + "ĠCGPoint": 26353, + "manual": 26667, + "ĠTechnical": 26668, + "Ġcorporation": 26669, + "ĠHW": 26670, + "anka": 26671, + "TAIL": 26672, + "istas": 26673, + "Ġperforms": 26674, + "ĠBehavior": 26675, + ".For": 26676, + "_ORDER": 26677, + "ĠKick": 26678, + "Ġcallbacks": 26679, + "_dr": 26680, + "uego": 26681, + "hub": 26682, + "ufficient": 26683, + "sky": 26684, + "Ġbp": 26685, + "htable": 26686, + "ĠONLY": 26687, + "ĠAUTHORS": 26688, + ".Argument": 26689, + "\"};Ċ": 26690, + "ĠThunder": 26691, + "ĠKom": 26692, + ".Should": 26693, + "AUTH": 26694, + "ahu": 26695, + "_payment": 26696, + "Ġstarter": 26697, + "ìĦľ": 26698, + "ìļ©": 26699, + "Blog": 26700, + ".patch": 26701, + "Ġgoverned": 26702, + "assy": 26703, + "-found": 26704, + "Ġtheater": 26705, + "ĠFontWeight": 26706, + "ĠBatman": 26707, + "\"If": 26708, + ".Random": 26709, + "_delta": 26710, + "ĠCE": 26711, + "Authenticated": 26712, + "Ġdrone": 26713, + "Ġcous": 26714, + "radius": 26715, + "Mer": 26716, + "(None": 26717, + "ĠNJ": 26718, + "_headers": 26719, + "Ġamer": 26720, + "pytest": 26721, + "ĠActions": 26722, + "ĉĉĉĠĠĠĠ": 26723, + "Ġett": 26724, + "Ġholy": 26725, + "Ġuncomfort": 26726, + "ĠNin": 26727, + "ĠDecimal": 26728, + "ĠMessages": 26729, + ".sender": 26730, + "]])Ċ": 26731, + "Ġembrace": 26732, + "Though": 26733, + "/sp": 26734, + "Ġcultures": 26735, + "Ġhighway": 26736, + "tar": 26737, + ".fail": 26738, + "_hidden": 26739, + "ĠcomponentDidMount": 26740, + "ĠWright": 26741, + "Ġjag": 26742, + "_il": 26743, + "../../../": 26744, + "igu": 26745, + "Food": 26746, + "Ġace": 26747, + "Ġaños": 26748, + "USD": 26749, + "Ġmutual": 26750, + "Logic": 26751, + "Ġtemple": 26752, + "Ġbriefly": 26753, + "ĠTrip": 26754, + "classmethod": 26755, + "defaults": 26756, + "Ġchunks": 26757, + ",,,,": 26758, + "ĠReason": 26759, + "$id": 26760, + "-ups": 26761, + "Ġdamn": 26762, + "Ġtrucks": 26763, + "Ġunlimited": 26764, + "Ġsculpt": 26765, + "ĠCards": 26766, + "Ġautor": 26767, + "ĠTesting": 26768, + "Ġdiese": 26769, + "shops": 26770, + "ç´": 26771, + "(payload": 26772, + "ĠPATH": 26773, + "ĠMemorial": 26774, + "Ġridiculous": 26775, + "egree": 26776, + "-winning": 26777, + "Ġrehab": 26778, + "Ġsophisticated": 26779, + "wpdb": 26780, + "ĉpath": 26781, + "!\";Ċ": 26782, + "_SYS": 26783, + ".speed": 26784, + "Ġsoap": 26785, + "suffix": 26786, + "Wrap": 26787, + "Ġenhancement": 26788, + "Ãī": 26789, + "úb": 26790, + "Ġplaylist": 26791, + "Ġmixing": 26792, + "antidad": 26793, + "=\"\";Ċ": 26794, + "ĠRevision": 26795, + "ĠBeat": 26796, + ".inc": 26797, + "-way": 26798, + "encias": 26799, + "ulers": 26800, + "Cat": 26801, + "idel": 26802, + "ĠShip": 26803, + ".setColor": 26804, + "Ġthreatening": 26805, + ".modules": 26806, + "Ġafterwards": 26807, + "ĠDashboard": 26808, + "ĊĠĊ": 26809, + "Signal": 26810, + "Ġprimer": 26811, + "orneys": 26812, + "iciary": 26813, + "Ġligne": 26814, + "_predict": 26815, + "Ġaest": 26816, + "_https": 26817, + ">:": 26818, + "ĠLex": 26819, + "Ġrencontres": 26820, + "egral": 26821, + "scala": 26822, + "_family": 26823, + "ÃŁen": 26824, + "_sym": 26825, + "Ġuncertainty": 26826, + "ĠVALUE": 26827, + "Ġ};čĊčĊ": 26828, + "Ġbroader": 26829, + "Ġhorses": 26830, + "ãģĿ": 26831, + "ĠKal": 26832, + "oba": 26833, + "_INET": 26834, + "ĠKill": 26835, + "jquery": 26836, + "amination": 26837, + "[@\"": 26838, + "Ġmuj": 26839, + "###Ċ": 26840, + "FirstOrDefault": 26841, + "thenReturn": 26842, + "Che": 26843, + "/footer": 26844, + "Ġparks": 26845, + "asje": 26846, + "ĠGulf": 26847, + "Ġmodest": 26848, + ".Init": 26849, + "ï¼ŁĊĊ": 26850, + "Ġprospects": 26851, + "Ġsvg": 26852, + "Ġåı": 26853, + ".Dialog": 26854, + "_NET": 26855, + "Ġ(($": 26856, + "Ġek": 26857, + "ĠWarning": 26858, + "ĠMK": 26859, + "": 27166, + "ĠRepair": 27167, + "_BE": 27168, + "Brand": 27169, + "uart": 27170, + "preview": 27171, + "Ġinitiatives": 27172, + "running": 27173, + "bang": 27174, + "ĉupdate": 27175, + "ĠCoach": 27176, + "Rich": 27177, + "Ġyoutube": 27178, + "Ġritual": 27179, + "appa": 27180, + "ĠRobinson": 27181, + "precision": 27182, + "////////////////////////////////////////////////////////////////////////////": 27183, + "=[]Ċ": 27184, + "Ġcelebrated": 27185, + "OTO": 27186, + "Ġinclusion": 27187, + "JP": 27188, + "';čĊčĊ": 27189, + "Ġnotable": 27190, + "(_.": 27191, + "Managed": 27192, + "Ġguides": 27193, + " ": 27194, + "atedRoute": 27195, + "ĠAdjust": 27196, + "Ġcolored": 27197, + "_scores": 27198, + "ĠTesla": 27199, + "_progress": 27200, + ".inst": 27201, + "['_": 27202, + ".flags": 27203, + "Ġfclose": 27204, + "_OPER": 27205, + "ży": 27206, + "_note": 27207, + "Ġtransgender": 27208, + "åķ": 27209, + "RIPT": 27210, + "Ġabsent": 27211, + "Ġamet": 27212, + "Ġoperand": 27213, + "ë©": 27214, + "Ġhood": 27215, + "toLowerCase": 27216, + "avo": 27217, + "ĠCircuit": 27218, + "ĠLind": 27219, + "--}}Ċ": 27220, + "=m": 27221, + "Ġsuppress": 27222, + "ĠMAP": 27223, + "iang": 27224, + "-admin": 27225, + "Ġsidebar": 27226, + "ĠBu": 27227, + "ĠHex": 27228, + ",F": 27229, + "ĠSignal": 27230, + "Ġtransparency": 27231, + "ĠFederation": 27232, + "/V": 27233, + "Req": 27234, + "Ġpulse": 27235, + "Ġtends": 27236, + "Numbers": 27237, + "%'": 27238, + "Ġdeport": 27239, + "datas": 27240, + "_UINT": 27241, + "_tra": 27242, + "oko": 27243, + "Ġ\"?": 27244, + "compet": 27245, + "solete": 27246, + "undry": 27247, + "Ġoverlap": 27248, + "}`,Ċ": 27249, + ".ly": 27250, + "_summary": 27251, + "ĠLost": 27252, + ".Center": 27253, + "Ġdisability": 27254, + ".Serialization": 27255, + "Ġgeom": 27256, + "Ġ?:": 27257, + "ĠWo": 27258, + "Ġshipped": 27259, + "Ĥæķ°": 27260, + "Ġugly": 27261, + "Ġexcitement": 27262, + "Ġexterior": 27263, + "Ġcheckout": 27264, + "Ġkur": 27265, + ",D": 27266, + "ĠAlaska": 27267, + "Ġsynthetic": 27268, + "ĠBudget": 27269, + "ĠSubscribe": 27270, + "Ġ&Ċ": 27271, + "ÈĻi": 27272, + "ĠYu": 27273, + "ĉquery": 27274, + "}.Ċ": 27275, + "Ġtraged": 27276, + "assen": 27277, + "Ġaccommodation": 27278, + "Ġphysician": 27279, + "Ġrenamed": 27280, + "Ġtidak": 27281, + "zÄħ": 27282, + "Ġminus": 27283, + "nych": 27284, + "_EXCEPTION": 27285, + "threads": 27286, + "Ġtire": 27287, + "_created": 27288, + "ensure": 27289, + "Ġworthy": 27290, + "Ġexcuse": 27291, + "Ġcloth": 27292, + ".parentNode": 27293, + "/platform": 27294, + "ĠUFC": 27295, + "ĠGtk": 27296, + "unny": 27297, + "Ġgibt": 27298, + "keley": 27299, + "hum": 27300, + "(tx": 27301, + "ĉdev": 27302, + "Ġoutfit": 27303, + "doors": 27304, + "Ġfon": 27305, + "icut": 27306, + "volatile": 27307, + "Ġhomosex": 27308, + "Maximum": 27309, + "Ġexpend": 27310, + "Ġ});ĊĊĊ": 27311, + "Eq": 27312, + "onders": 27313, + "department": 27314, + "ĠPhysics": 27315, + "\"});Ċ": 27316, + "Ġparad": 27317, + ".Str": 27318, + "Ġsele": 27319, + "IFIED": 27320, + "Ġdelivers": 27321, + "ivan": 27322, + "Ġresponsibilities": 27323, + "Ġadvocates": 27324, + "èµ": 27325, + "ĠRID": 27326, + ".parameters": 27327, + "Metrics": 27328, + "ronics": 27329, + "ĠUITableViewCell": 27330, + "Absolute": 27331, + "ipse": 27332, + "ylum": 27333, + "MLElement": 27334, + "_VALID": 27335, + "\\<^": 27530, + "Ġios": 27531, + "sound": 27532, + "\"];": 27533, + "Ġfreed": 27534, + "rottle": 27535, + "ĠLower": 27536, + "[count": 27537, + "åĿ": 27538, + "Ġpale": 27539, + "ĠWayne": 27540, + "earth": 27541, + "_categories": 27542, + "UCK": 27543, + ".metadata": 27544, + "Ġsummon": 27545, + "HOME": 27546, + "олÑĮз": 27547, + "Ġmanufactured": 27548, + "Ġdock": 27549, + "Ġcompetitors": 27550, + "_MODEL": 27551, + "okia": 27552, + "ĠHey": 27553, + "ο": 27554, + "Ġbackward": 27555, + "ĠPOSS": 27556, + "ropa": 27557, + "Ġcri": 27558, + "_OBJ": 27559, + "Transport": 27560, + "-high": 27561, + "Ġerotik": 27562, + "_slot": 27563, + "Ġartic": 27564, + "_framework": 27565, + "-serif": 27566, + "ĠSqlDbType": 27567, + "')(": 27568, + "+\"/": 27569, + "Ġwore": 27570, + "Sil": 27571, + "Ġstoring": 27572, + "ĠPhase": 27573, + "uant": 27574, + "Ġbump": 27575, + "inho": 27576, + "Ġdign": 27577, + "Ġbacks": 27578, + "qq": 27579, + "(hash": 27580, + "Ġgeo": 27581, + "Ġtender": 27582, + "Logo": 27583, + "!)Ċ": 27584, + "ĠMX": 27585, + "ĠArthur": 27586, + "essoa": 27587, + "_Ch": 27588, + "Ġbedrooms": 27589, + "=\"#\"><": 27590, + "Ġthroat": 27591, + "insic": 27592, + ".integer": 27593, + "Ġprimitive": 27594, + "Truthy": 27595, + "Ġfacilitate": 27596, + "Ġcreativity": 27597, + "ĠDNS": 27598, + "Ġgra": 27599, + "uez": 27600, + "Ġcountless": 27601, + "ĠPoland": 27602, + "'M": 27603, + "ĠDist": 27604, + "Ġvest": 27605, + "Ġcertification": 27606, + "á»ij": 27607, + "held": 27608, + "extensions": 27609, + "(static": 27610, + "Ġgrades": 27611, + "ĠUber": 27612, + "ãģŁ": 27613, + "Ġ[])Ċ": 27614, + "datos": 27615, + "ĠgetData": 27616, + "ĠCharg": 27617, + "ĠBS": 27618, + ".microsoft": 27619, + ".video": 27620, + ".direction": 27621, + "->{'": 27622, + "lua": 27623, + "apest": 27624, + "Ġboiler": 27625, + "erek": 27626, + "Ġdecides": 27627, + ".jar": 27628, + "ISC": 27629, + "ĠWords": 27630, + "(CON": 27631, + "EMPLATE": 27632, + "reeze": 27633, + "shots": 27634, + "apps": 27635, + "unted": 27636, + ".setName": 27637, + "::<": 27638, + "-bold": 27639, + "ê²": 27640, + "å¯Ĩ": 27641, + "Longrightarrow": 27642, + "Ġunfair": 27643, + "Ġearning": 27644, + "Ġshelf": 27645, + "UREMENT": 27646, + "Ġidle": 27647, + "_MENU": 27648, + ".Custom": 27649, + "AGER": 27650, + "-\"": 27651, + "_switch": 27652, + "because": 27653, + ")view": 27654, + "mare": 27655, + "_condition": 27656, + "ĠStarting": 27657, + "Mvc": 27658, + "(pre": 27659, + "dump": 27660, + "_LOCK": 27661, + "atetime": 27662, + ".callback": 27663, + "ĠCer": 27664, + "opol": 27665, + "ibrary": 27666, + "Ġreservation": 27667, + "ĉĉĉĉĉĉĉĊ": 27668, + "lector": 27669, + "graduate": 27670, + "Ġgenerous": 27671, + "Ġion": 27672, + "ricao": 27673, + "mq": 27674, + "_complete": 27675, + "(cursor": 27676, + "ĠFormControl": 27677, + ":center": 27678, + "Ġsubstitute": 27679, + "ĠPlanning": 27680, + "Ġpension": 27681, + "Ġrecommendation": 27682, + "ĠTags": 27683, + "Ġgef": 27684, + "Ġalbums": 27685, + "Ġwashing": 27686, + "roc": 27687, + "Ġtrains": 27688, + "atings": 27689, + "Ġexponent": 27690, + "ackbar": 27691, + "-ln": 27692, + "ág": 27693, + ".DataAnnotations": 27694, + "ĠEIF": 27695, + "ĠMalaysia": 27696, + "ĉPORT": 27697, + "onus": 27698, + "Ġclever": 27699, + "Ġpeu": 27700, + ">ĊĊĊĊ": 27701, + "ĠArguments": 27702, + "Ġdebugging": 27703, + "(right": 27704, + "'D": 27705, + "compute": 27706, + "Ġfinest": 27707, + "ORAGE": 27708, + "Ġspectacular": 27709, + "phrase": 27710, + "Ġindia": 27711, + "Ġlegendary": 27712, + "birth": 27713, + "Ġcomposite": 27714, + "Ġgrows": 27715, + "ĠTD": 27716, + "Ġepid": 27717, + "Ġlaunching": 27718, + "]][": 27719, + "Minutes": 27720, + "ĠCha": 27721, + "Ġcleaned": 27722, + "Ġwitnesses": 27723, + "ukan": 27724, + "ĉType": 27725, + "Ġhabe": 27726, + "paragraph": 27727, + "ĠJPanel": 27728, + "ĠHann": 27729, + "Ġvaried": 27730, + "ĠPokemon": 27731, + "ĠMUST": 27732, + "åĬ¨": 27733, + ".visibility": 27734, + "opup": 27735, + "^[": 27736, + ".expand": 27737, + "Ġ\"',": 27738, + ".fasterxml": 27739, + "_auto": 27740, + "ĠSheet": 27741, + "marker": 27742, + "Parcel": 27743, + "ews": 27744, + "ĠStrategy": 27745, + "-making": 27746, + "Ġunve": 27747, + "Ġtrailing": 27748, + "Ġclicks": 27749, + "ĠGetComponent": 27750, + "ĉcontent": 27751, + "IGENCE": 27752, + "ERNEL": 27753, + "NSMutableArray": 27754, + "Ġbreat": 27755, + "Ġharmful": 27756, + "¶Ī": 27757, + "Ġbesides": 27758, + "Ġboring": 27759, + "Ġbrutal": 27760, + "vang": 27761, + "(parse": 27762, + "quick": 27763, + "Ġpytest": 27764, + "Ġswitching": 27765, + "()]Ċ": 27766, + "ĠìĦ": 27767, + "LER": 27768, + "ĉfont": 27769, + "Ġnett": 27770, + ")]ĊĊ": 27771, + "(/\\": 27772, + "æŀľ": 27773, + "toArray": 27774, + "Ġbreed": 27775, + "ĠCAR": 27776, + "ĠWeapon": 27777, + "Abs": 27778, + "tot": 27779, + "ĠsetName": 27780, + "aptive": 27781, + "Ġ:,": 27782, + "Ġescaped": 27783, + "orden": 27784, + "ĠPri": 27785, + "thumbnail": 27786, + "Ġdescriptions": 27787, + "/styles": 27788, + "ĠPCI": 27789, + "Ġalphabet": 27790, + "asticsearch": 27791, + "NOTE": 27792, + "Ġcialis": 27793, + "ĠGriff": 27794, + "Ġporque": 27795, + "Ġproteins": 27796, + "plays": 27797, + "Ġstating": 27798, + "Ġimagination": 27799, + "Ġfacial": 27800, + "ĠMechan": 27801, + "Ġarranged": 27802, + "_used": 27803, + "Ġarrangements": 27804, + "ĠPipe": 27805, + "hostname": 27806, + "Ġprovinc": 27807, + "Tit": 27808, + ".FlatStyle": 27809, + "ĠSplit": 27810, + "ĠLoader": 27811, + ".cc": 27812, + "Ġclinic": 27813, + "----------------------------": 27814, + "Ġbaking": 27815, + "ĠENT": 27816, + "neath": 27817, + "ãĢģĊĊ": 27818, + "ANE": 27819, + ".EntityFrameworkCore": 27820, + "appers": 27821, + ".ic": 27822, + "ĠNgModule": 27823, + "ĠFORM": 27824, + "Ġ';": 27825, + "-profit": 27826, + "hw": 27827, + "enemy": 27828, + "ĠEye": 27829, + "Ġcaution": 27830, + "town": 27831, + "Ġurged": 27832, + "ĠJimmy": 27833, + "ynchronous": 27834, + "-sized": 27835, + "making": 27836, + ",{": 27837, + "]',": 27838, + "_Object": 27839, + "ahoma": 27840, + "Ġactivist": 27841, + "INVAL": 27842, + "ĠCommercial": 27843, + "ĠOrlando": 27844, + "(tab": 27845, + "Ġب": 27846, + "Algorithm": 27847, + "Ġheritage": 27848, + "GetMapping": 27849, + "Ġfailures": 27850, + "rios": 27851, + "ativa": 27852, + "Ġtet": 27853, + "Ġcarpet": 27854, + "(Z": 27855, + "three": 27856, + "Ġdisclosure": 27857, + ".ERROR": 27858, + "_called": 27859, + "Ġdial": 27860, + "Ġoccasional": 27861, + ".Err": 27862, + "Ġfuncion": 27863, + "caffold": 27864, + "Ġreleasing": 27865, + "ï¼īĊĊ": 27866, + "_Value": 27867, + "ĠVari": 27868, + "yellow": 27869, + "Ġstruggles": 27870, + ".cal": 27871, + "ĠDakota": 27872, + "ĉclose": 27873, + "Ġsandwich": 27874, + "Ġanalytics": 27875, + "Ġ**)": 27876, + "&#": 27877, + "ĠJos": 27878, + "Ġpassive": 27879, + "ATTR": 27880, + "Throwable": 27881, + "ĠMun": 27882, + "ĠUint": 27883, + "(disposing": 27884, + "arak": 27885, + "ĠLeaders": 27886, + "Ġaffecting": 27887, + "ĠitemView": 27888, + "Ġeconomics": 27889, + "fv": 27890, + "à¹Ģ": 27891, + ".rb": 27892, + "ĠOverall": 27893, + "Ġwealthy": 27894, + "Ġevolved": 27895, + "nda": 27896, + "ĠHus": 27897, + "restrict": 27898, + "umen": 27899, + "ĠAgricult": 27900, + "!ĊĊĊ": 27901, + "Ġexpires": 27902, + "Ġspokesperson": 27903, + "interval": 27904, + "Ġâ": 27905, + "Ġqueen": 27906, + "(nil": 27907, + "ingo": 27908, + "Heap": 27909, + "Ùİ": 27910, + "Ġcomplain": 27911, + "Sym": 27912, + "ĠClone": 27913, + "ĠRu": 27914, + "ĠWILL": 27915, + "ĠCrystal": 27916, + "/content": 27917, + "ingen": 27918, + "ointment": 27919, + "LastName": 27920, + "avicon": 27921, + "ĠIBM": 27922, + "ĠDimension": 27923, + "anh": 27924, + "icipants": 27925, + "ĠAnne": 27926, + ".progress": 27927, + "Ġalgo": 27928, + "obil": 27929, + "ĠVoice": 27930, + "ĠFE": 27931, + "Ġgli": 27932, + "Ġved": 27933, + "Ġprevents": 27934, + "\\Column": 27935, + "Ġfolk": 27936, + "etti": 27937, + "Ġmn": 27938, + "ĠCLASS": 27939, + "Ġdisplaying": 27940, + "ĠKl": 27941, + "ĠFerr": 27942, + "duto": 27943, + ".ib": 27944, + "Ġdados": 27945, + "'name": 27946, + "-space": 27947, + "Ġitalian": 27948, + "Ġinverse": 27949, + "Ġdense": 27950, + "uter": 27951, + "ĠIEnumerator": 27952, + "-sign": 27953, + "Ġnationwide": 27954, + "Ġpersona": 27955, + "Ġsolved": 27956, + "Ġdramatically": 27957, + "Logout": 27958, + "Ġgrav": 27959, + "Ġanalyses": 27960, + "ollo": 27961, + "Ġlamp": 27962, + ".team": 27963, + "ĠErot": 27964, + "=[\"": 27965, + "Ġdancing": 27966, + "Ġ?>/": 27967, + "Ġcater": 27968, + "ffe": 27969, + "ĠSha": 27970, + "ĠBos": 27971, + "ĠREQUIRE": 27972, + "ĠMonster": 27973, + "ĠRB": 27974, + "ĠIDE": 27975, + "Ġsuits": 27976, + "ĠformData": 27977, + "(theta": 27978, + "Ġspatial": 27979, + "=NULL": 27980, + "ĠSqlConnection": 27981, + "Ġà": 27982, + "ĠVenez": 27983, + "ĠMorning": 27984, + "Ġpublications": 27985, + "ĠNONINFRINGEMENT": 27986, + "firstName": 27987, + "uds": 27988, + "Would": 27989, + "_HEAD": 27990, + "Ġinvested": 27991, + "stable": 27992, + "fred": 27993, + "Ġcommander": 27994, + "SES": 27995, + "âĢĶa": 27996, + "anche": 27997, + "ĠMovement": 27998, + "ë³": 27999, + "Suite": 28000, + "Ġjurisdiction": 28001, + "리": 28002, + "ĠBeth": 28003, + "jQuery": 28004, + "ĠIsa": 28005, + "Ġdental": 28006, + ",*": 28007, + "ĠLimit": 28008, + "iliation": 28009, + "=\"{": 28010, + "bast": 28011, + "Ġturb": 28012, + "isy": 28013, + "OOK": 28014, + "Ġadvocate": 28015, + "imag": 28016, + "LECTION": 28017, + "лÑĮ": 28018, + "(category": 28019, + ".dec": 28020, + "Ġuniqu": 28021, + "_sn": 28022, + "Ġattracted": 28023, + "ĠÃī": 28024, + "ĠRunning": 28025, + "_edges": 28026, + "ĠDisable": 28027, + "_AS": 28028, + "åĽ¾": 28029, + "Ġnetworking": 28030, + "_branch": 28031, + "Having": 28032, + "toBeTruthy": 28033, + "GI": 28034, + "Ġcamps": 28035, + "sep": 28036, + "-part": 28037, + "Ġ)ĊĊĊĊĊĊĊĊ": 28038, + "ustralia": 28039, + "ĠReports": 28040, + "rito": 28041, + "Ġwaist": 28042, + "_plus": 28043, + "ĠWW": 28044, + "-person": 28045, + "April": 28046, + "Ġsar": 28047, + ".tar": 28048, + "Ġagricultural": 28049, + "tic": 28050, + "Ġtcp": 28051, + "ĠsetValue": 28052, + "agento": 28053, + "ĠAppe": 28054, + "piler": 28055, + "CADE": 28056, + "Ġanche": 28057, + "atcher": 28058, + "Ġcomics": 28059, + "Ġlbs": 28060, + "_segment": 28061, + "']=$": 28062, + "itters": 28063, + "icher": 28064, + "GINE": 28065, + "Ġutilize": 28066, + "ĠCursor": 28067, + "_expression": 28068, + "Ġdag": 28069, + "x": 28257, + ".Task": 28258, + "money": 28259, + "ibaba": 28260, + "'});Ċ": 28261, + "ĠSpecific": 28262, + "ĠLinear": 28263, + "_OPT": 28264, + "HashCode": 28265, + "(Player": 28266, + ".ContainsKey": 28267, + "Ġcollapsed": 28268, + "transparent": 28269, + "_RANGE": 28270, + "Viewer": 28271, + "(cfg": 28272, + "Ġsorting": 28273, + "Ġinfected": 28274, + "ĠNach": 28275, + "Ġaccommodate": 28276, + ".elements": 28277, + "_PART": 28278, + "ĠSexy": 28279, + "=get": 28280, + "(year": 28281, + "Ġxhr": 28282, + ":]": 28283, + "owski": 28284, + "Ġsummar": 28285, + "Ġ¿": 28286, + "Ġinte": 28287, + "Ġworkflow": 28288, + "ĠTaiwan": 28289, + "versions": 28290, + "åıij": 28291, + "Ġsurprisingly": 28292, + "Ġoptical": 28293, + "Ġproces": 28294, + "Ġdisagree": 28295, + "Ġnuevo": 28296, + "ĠCAM": 28297, + "sorted": 28298, + "leases": 28299, + "istle": 28300, + "Ident": 28301, + "ĉevent": 28302, + "jected": 28303, + "Chunk": 28304, + "Vars": 28305, + ".provider": 28306, + "Ġproceedings": 28307, + "Ġinclusive": 28308, + "Ġartwork": 28309, + "endants": 28310, + "ï¼ļĊ": 28311, + "seen": 28312, + "Ġlig": 28313, + "Ġmakers": 28314, + "_fun": 28315, + "Ġlengths": 28316, + "PathVariable": 28317, + "[item": 28318, + "ี": 28319, + "Dead": 28320, + "FFFFFF": 28321, + "ĠUrban": 28322, + "uples": 28323, + "ichen": 28324, + "(nullptr": 28325, + ".spec": 28326, + ",System": 28327, + "URATION": 28328, + "(job": 28329, + "å¼ı": 28330, + "Ġtracker": 28331, + "ÅĻ": 28332, + "ĠMR": 28333, + "ĠSQLite": 28334, + "Ġdto": 28335, + "Ġ;;Ċ": 28336, + "Ġmint": 28337, + "ĠIntroduction": 28338, + "cao": 28339, + "Ġquestioned": 28340, + "Ġfitted": 28341, + "revision": 28342, + "sq": 28343, + "Ġmig": 28344, + "_units": 28345, + "_async": 28346, + "Ġflick": 28347, + "});ĊĊĊ": 28348, + "Ġnotre": 28349, + "}`,": 28350, + "Filters": 28351, + "Ġmundo": 28352, + "_days": 28353, + "Ġfrm": 28354, + "utc": 28355, + "Ġvals": 28356, + "ewidth": 28357, + "ĠGenerator": 28358, + "ĠArtist": 28359, + "ĠIDs": 28360, + "ĠArticles": 28361, + "reater": 28362, + "ĠComponentFixture": 28363, + ".=": 28364, + "Ġrou": 28365, + "-no": 28366, + ".bukkit": 28367, + "egg": 28368, + "ĠDiff": 28369, + "atics": 28370, + "ÑĥÑĩ": 28371, + "âĢĶĊĊ": 28372, + "ĠCharlotte": 28373, + "bye": 28374, + "Ġ});čĊčĊ": 28375, + "ĠVik": 28376, + "ĠBrow": 28377, + "Ġlv": 28378, + "ĠGib": 28379, + "-wing": 28380, + "GLIGENCE": 28381, + "(Il": 28382, + "ĠEngineer": 28383, + ".Wait": 28384, + "ĠPictures": 28385, + "Ġrhet": 28386, + "Ġthermal": 28387, + "Ġpraise": 28388, + "<>();ĊĊ": 28389, + "ĠSpider": 28390, + "Pause": 28391, + "ĠBaker": 28392, + "Ġslower": 28393, + "Ġ}]Ċ": 28394, + "_enqueue": 28395, + "Ġdisappeared": 28396, + "ĠTicket": 28397, + "INUX": 28398, + "_LOCAL": 28399, + "аÑģÑģ": 28400, + "@Injectable": 28401, + "community": 28402, + "GestureRecognizer": 28403, + "åĽ½": 28404, + "Ġscales": 28405, + "Ġ-(": 28406, + "/'+": 28407, + "ĠSit": 28408, + "Ġexecutives": 28409, + "arding": 28410, + "Ġadvers": 28411, + "Ġbackwards": 28412, + "ĉcontext": 28413, + "ĠHamp": 28414, + "ĠPF": 28415, + "ĠDeck": 28416, + "ĠCraig": 28417, + "American": 28418, + "Ġbell": 28419, + "Ġprol": 28420, + "ufen": 28421, + "Ġrng": 28422, + "arshal": 28423, + "ĠSimply": 28424, + "firstname": 28425, + "shore": 28426, + "July": 28427, + "Ġmortality": 28428, + "ĠâĨĴĊĊ": 28429, + "Helpers": 28430, + "Ġbenchmark": 28431, + "emade": 28432, + "Ġorganisations": 28433, + ".gson": 28434, + "ĠTextField": 28435, + "Ġcivilians": 28436, + ".Arrays": 28437, + "ĠMississippi": 28438, + "Ġintermediate": 28439, + "getUser": 28440, + "_cluster": 28441, + "Relative": 28442, + "foreign": 28443, + ".querySelectorAll": 28444, + "ForeignKey": 28445, + "Ġreasonably": 28446, + "---------Ċ": 28447, + "Cards": 28448, + "ĠKam": 28449, + "ĠThor": 28450, + "Ġroller": 28451, + "-element": 28452, + "ĠCurrency": 28453, + "ddie": 28454, + "ALLY": 28455, + "ĠRA": 28456, + "Ġpermet": 28457, + "aaaa": 28458, + "Ġhomework": 28459, + "ĠVit": 28460, + "Ġmold": 28461, + "ĠFer": 28462, + "[start": 28463, + "Ġstatistical": 28464, + "Ġscary": 28465, + "_HOME": 28466, + ".Begin": 28467, + "Construct": 28468, + "ogenic": 28469, + "ĠDEALINGS": 28470, + "Ġtambién": 28471, + "ixon": 28472, + ".ind": 28473, + "acre": 28474, + "Ġtransforms": 28475, + "ĠNap": 28476, + ".Block": 28477, + "ussia": 28478, + "piration": 28479, + "ulent": 28480, + "Ġceil": 28481, + "Clause": 28482, + "naire": 28483, + "TES": 28484, + "Ġneat": 28485, + "STD": 28486, + "ĠRegExp": 28487, + "perform": 28488, + ":)": 28489, + "Ġunions": 28490, + "Ġsublic": 28491, + "Ġwinds": 28492, + "loating": 28493, + "glich": 28494, + "Ġpagination": 28495, + "Skill": 28496, + "Apply": 28497, + "ĠOperator": 28498, + "istogram": 28499, + "Ġqualities": 28500, + "Cross": 28501, + "Ġdecom": 28502, + "],\"": 28503, + "ĠJuan": 28504, + ".modal": 28505, + ".Child": 28506, + "ĠRoger": 28507, + "STITUTE": 28508, + ":CGRectMake": 28509, + "alette": 28510, + "Ġsta": 28511, + "aside": 28512, + "Ġblur": 28513, + "ĠWa": 28514, + "ifetime": 28515, + "reed": 28516, + "controls": 28517, + "Ġbins": 28518, + "Ġпол": 28519, + "*/,Ċ": 28520, + "UIS": 28521, + "ĠRou": 28522, + "ĠDemo": 28523, + "-awesome": 28524, + "ĠChain": 28525, + "Ġhasta": 28526, + "ĠBart": 28527, + ".KEY": 28528, + "Ġvendors": 28529, + "nofollow": 28530, + "ĠDest": 28531, + "_builder": 28532, + "Ġargues": 28533, + "_answer": 28534, + "goto": 28535, + "ĠRESULT": 28536, + "ĠMON": 28537, + "Ġpoder": 28538, + "oons": 28539, + "_CASE": 28540, + "Ġreplic": 28541, + "Ġfinancing": 28542, + "ĠDATE": 28543, + "cern": 28544, + "_track": 28545, + "ties": 28546, + "/logo": 28547, + "ĠNEGLIGENCE": 28548, + "getType": 28549, + ">T": 28550, + "bet": 28551, + "girl": 28552, + "ĠINCIDENTAL": 28553, + "-site": 28554, + ".trigger": 28555, + "ĠLisa": 28556, + "_inputs": 28557, + "Ġrelatives": 28558, + "LoggedIn": 28559, + "Configure": 28560, + "IK": 28561, + ".accept": 28562, + "Resume": 28563, + "ĠDraft": 28564, + "Ġ*>(": 28565, + "ĠWA": 28566, + "edian": 28567, + "erness": 28568, + "ĠLayoutInflater": 28569, + "*/čĊčĊ": 28570, + "othy": 28571, + "Ġobligation": 28572, + "Subscribe": 28573, + "Ġthumbnail": 28574, + "exist": 28575, + "Ġinsisted": 28576, + "ĠUICollectionView": 28577, + "ĠAngular": 28578, + "Ġtablets": 28579, + "ĠImpact": 28580, + "ãĢįĊĊ": 28581, + "aho": 28582, + "Ġcharacteristic": 28583, + "gd": 28584, + "Ġ=================================================": 28585, + "ourt": 28586, + "`.": 28587, + "Appro": 28588, + "Coordinate": 28589, + "Remember": 28590, + "Ġmarine": 28591, + "]=='": 28592, + "ĠAdministrator": 28593, + ".getDefault": 28594, + "Ġforgot": 28595, + "ĠStructure": 28596, + "Vue": 28597, + "arsing": 28598, + "moment": 28599, + "kw": 28600, + "_cursor": 28601, + "Attack": 28602, + "Ġathletic": 28603, + "Ġdiagnosed": 28604, + "Ġende": 28605, + "åĪłéϤ": 28606, + "House": 28607, + "ĠPARAM": 28608, + "Ġwiki": 28609, + "ĠOpp": 28610, + "Ġconservation": 28611, + "Ġsnd": 28612, + "_tem": 28613, + "substr": 28614, + "ĠCape": 28615, + ".sim": 28616, + "UTION": 28617, + "anan": 28618, + "âĢĻun": 28619, + "Ġgy": 28620, + "-work": 28621, + "Ġcompelling": 28622, + "='#": 28623, + "ĉsub": 28624, + "Ġdirectories": 28625, + "íĬ¸": 28626, + "Ġtouches": 28627, + "outines": 28628, + ".Collection": 28629, + "schedule": 28630, + ".lat": 28631, + "ĠDoctrine": 28632, + "CAA": 28633, + "ĠRefer": 28634, + "Ġshifts": 28635, + "Ġlikelihood": 28636, + "preter": 28637, + "ĠFemale": 28638, + "Ġintercept": 28639, + "Ġlou": 28640, + "çĻ»": 28641, + "Ġrug": 28642, + "ĠCrown": 28643, + "Ġ****************************************************************************": 28644, + "-product": 28645, + "Ġprompted": 28646, + "ungle": 28647, + "docker": 28648, + "ĠTu": 28649, + "ĠUnique": 28650, + "_Error": 28651, + "ulos": 28652, + "ĠâĦ": 28653, + "Ġ(`": 28654, + "Getting": 28655, + "_scal": 28656, + "ĠEnh": 28657, + "üt": 28658, + "Ġsustained": 28659, + "Ġpatches": 28660, + "Ġprosper": 28661, + "ĠGaza": 28662, + "_light": 28663, + "Ġincons": 28664, + "--------Ċ": 28665, + "ĉĉĠĠĠĠĠĠ": 28666, + "SF": 28667, + "CN": 28668, + ":\";Ċ": 28669, + "ĠCollins": 28670, + "(*)": 28671, + "Ġcompilation": 28672, + "']čĊ": 28673, + "Ġconsequence": 28674, + ",...": 28675, + "Ġdm": 28676, + "ĠBLOCK": 28677, + "Cluster": 28678, + "Ġski": 28679, + "(argc": 28680, + "Tuple": 28681, + "Ġjoins": 28682, + "ĠSheriff": 28683, + "War": 28684, + "indi": 28685, + "Ġcommented": 28686, + "HOST": 28687, + "Ġinvitation": 28688, + "apanese": 28689, + "Ġpermits": 28690, + "precedented": 28691, + "_zone": 28692, + "ĠAmy": 28693, + "_RD": 28694, + "Minimum": 28695, + "Ġinvocation": 28696, + ".enable": 28697, + "ichten": 28698, + "-owned": 28699, + "\"id": 28700, + "_POINTER": 28701, + "Fac": 28702, + "Ġspecifications": 28703, + "Ġnomination": 28704, + "Ġgp": 28705, + "<(": 28706, + "Ġrobots": 28707, + "ĠJerry": 28708, + "Ġholders": 28709, + "Ġwand": 28710, + "cms": 28711, + "Ġ}))Ċ": 28712, + ".Toast": 28713, + "ĠIList": 28714, + "Based": 28715, + "zoom": 28716, + "/style": 28717, + "ĠBeck": 28718, + "Men": 28719, + "Ġcontributing": 28720, + "Ġundo": 28721, + "ĠOH": 28722, + "ĠaddObject": 28723, + "Ġeigen": 28724, + "signup": 28725, + "éĶĻ": 28726, + "Ġdistant": 28727, + "PARATOR": 28728, + "ĠMari": 28729, + "Ġmá": 28730, + "Emp": 28731, + "ós": 28732, + "ĠìĪĺ": 28733, + "evt": 28734, + "+j": 28735, + "park": 28736, + "ĠStay": 28737, + "ĠDun": 28738, + "Ġsoy": 28739, + ">%": 28740, + "azines": 28741, + "Ġtiempo": 28742, + "(me": 28743, + "present": 28744, + ".This": 28745, + "Ġeditors": 28746, + "FIELD": 28747, + ".Work": 28748, + "ĠUniverse": 28749, + "Ġdrunk": 28750, + ".timer": 28751, + "Ġaltered": 28752, + "ĠNar": 28753, + "ëł¥": 28754, + ".Active": 28755, + "idor": 28756, + "çŃ": 28757, + ".deltaTime": 28758, + "Ġawkward": 28759, + """: 28760, + "ĠSafari": 28761, + "Ġtricks": 28762, + "MENTS": 28763, + "division": 28764, + "Ġvarying": 28765, + "ĠHighway": 28766, + "Ġphotographer": 28767, + "ĠStewart": 28768, + "Ġlasting": 28769, + ".Pre": 28770, + ".amazonaws": 28771, + "ĠLuck": 28772, + ".Description": 28773, + "ĠNaz": 28774, + "neg": 28775, + "Ġcó": 28776, + "<<\"\\": 28777, + "ĠSurv": 28778, + "ĠUnc": 28779, + "Recipe": 28780, + ".BorderStyle": 28781, + "Ġmodifications": 28782, + "-at": 28783, + "ATFORM": 28784, + "hdr": 28785, + "ako": 28786, + "Ġsublicense": 28787, + "ĠJump": 28788, + "Ġbeim": 28789, + "ĠManhattan": 28790, + ".bool": 28791, + "_hw": 28792, + "ÑĤÑĮ": 28793, + "Bin": 28794, + "Ġgateway": 28795, + "\"\":": 28796, + "ĠUIS": 28797, + ":\"+": 28798, + "-def": 28799, + "ĠRegular": 28800, + "/testing": 28801, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 28802, + "stringstream": 28803, + "Ġdispar": 28804, + "Ġmobil": 28805, + "-read": 28806, + "ĠAdapter": 28807, + "ĠChampions": 28808, + "Ġscheduler": 28809, + "Ġkills": 28810, + "ĠMultiple": 28811, + "irror": 28812, + "Ġgods": 28813, + "ADO": 28814, + "akte": 28815, + "ĠUsuario": 28816, + ".circular": 28817, + "Ġrecept": 28818, + "ĠExpr": 28819, + "Ġelderly": 28820, + "Ġnicely": 28821, + "Ġbeste": 28822, + "Want": 28823, + "Ġclassical": 28824, + ".sprite": 28825, + "objc": 28826, + "ĠMason": 28827, + "Ġsistema": 28828, + ".Black": 28829, + "eso": 28830, + "ĠZeit": 28831, + "Ġdivid": 28832, + "Ġenters": 28833, + "_subject": 28834, + "ĠPlanet": 28835, + ".warning": 28836, + "ĠGram": 28837, + "_tokens": 28838, + "Ġhouseholds": 28839, + "_customer": 28840, + "userName": 28841, + "cross": 28842, + "Ġpione": 28843, + "Ġassists": 28844, + "_SM": 28845, + "ibo": 28846, + "Ġloyal": 28847, + "Ġuseless": 28848, + "#elif": 28849, + "ĠUltimate": 28850, + "Come": 28851, + "gel": 28852, + "Ġdich": 28853, + "xyz": 28854, + "ikel": 28855, + "obra": 28856, + "_scan": 28857, + "ĠInterior": 28858, + "ĠNice": 28859, + "Ġplac": 28860, + "ĉtarget": 28861, + "Ġviral": 28862, + "asso": 28863, + "()/": 28864, + "unde": 28865, + "ĠAdobe": 28866, + "Os": 28867, + "visited": 28868, + "ĠOW": 28869, + "ĠFeed": 28870, + "ĠSequence": 28871, + "Ġmanages": 28872, + "inson": 28873, + "ĠLouisiana": 28874, + "{})": 28875, + "ĠHab": 28876, + "ĠLD": 28877, + "Ġbip": 28878, + "prites": 28879, + "(elem": 28880, + ".hibernate": 28881, + "élé": 28882, + "Ġohne": 28883, + "_transaction": 28884, + "Ġannunci": 28885, + "Published": 28886, + "ĠHonda": 28887, + "ĠTam": 28888, + "ĠPacket": 28889, + "_selector": 28890, + "Ġchallenged": 28891, + "Processing": 28892, + "-hover": 28893, + "Ġtrainer": 28894, + "_cancel": 28895, + "ĠNSDictionary": 28896, + "abric": 28897, + "ĠMLS": 28898, + "_sensor": 28899, + "Ġshrink": 28900, + "ĠFX": 28901, + "threshold": 28902, + "ĉHX": 28903, + "-mark": 28904, + "`.`": 28905, + "Scheme": 28906, + "(full": 28907, + "_writer": 28908, + "ĠSys": 28909, + "Ġfled": 28910, + "ĠCin": 28911, + "-widget": 28912, + "ĠPrevious": 28913, + "Gender": 28914, + "_question": 28915, + "Feed": 28916, + "Ġscrut": 28917, + "(prefix": 28918, + "ãĢĤãĢĤ": 28919, + "Ġinfections": 28920, + "Parts": 28921, + "Ġhierarchy": 28922, + "_DELETE": 28923, + "ĠPatient": 28924, + "_pay": 28925, + "Ġpromoted": 28926, + "Ġìĭ": 28927, + "Ġcivilian": 28928, + "Ġagriculture": 28929, + "ĠPiece": 28930, + "Ġstance": 28931, + "utsche": 28932, + "Assign": 28933, + ".ACTION": 28934, + "Fig": 28935, + "_radius": 28936, + "ĠSync": 28937, + "ducer": 28938, + "failure": 28939, + "ensed": 28940, + "ptime": 28941, + "BM": 28942, + "_datetime": 28943, + "quivo": 28944, + "QUEUE": 28945, + "èĢħ": 28946, + "Appear": 28947, + "Ġsummit": 28948, + ":void": 28949, + "Ġvine": 28950, + "认": 28951, + "onne": 28952, + "_TRANS": 28953, + ".green": 28954, + "_cc": 28955, + "Ġhungry": 28956, + "Ġ\">": 28957, + "());čĊčĊ": 28958, + "Extract": 28959, + "izens": 28960, + "Ġsolver": 28961, + "Notify": 28962, + "Ġenglish": 28963, + "ĠShopping": 28964, + "interfaces": 28965, + "REQ": 28966, + "Ġilleg": 28967, + "ĠUIImageView": 28968, + "Ġdisconnect": 28969, + "ĠUntil": 28970, + "ĠConservative": 28971, + "@Column": 28972, + "Ġshifted": 28973, + "Ġ:čĊ": 28974, + "Ġfich": 28975, + "Ġdla": 28976, + "Ġshoe": 28977, + "\"),čĊ": 28978, + "ularity": 28979, + "_RESP": 28980, + "Weather": 28981, + "UIApplication": 28982, + ".iterator": 28983, + "Ġaging": 28984, + ".Parent": 28985, + "owie": 28986, + "(equal": 28987, + "ĠConv": 28988, + "/default": 28989, + "Ġmeasuring": 28990, + ".prev": 28991, + ".IsValid": 28992, + ".Fat": 28993, + "ĠsÄĥ": 28994, + "keywords": 28995, + "without": 28996, + "Ġsovere": 28997, + "Ġexchanges": 28998, + "Ġmelt": 28999, + "Ġislands": 29000, + "ĠIntegr": 29001, + "Ġjumping": 29002, + "Ġgle": 29003, + "Ġjournalism": 29004, + "Ġdated": 29005, + "Localized": 29006, + "ĠRefresh": 29007, + "Particle": 29008, + "Ġaa": 29009, + "ĠSTRICT": 29010, + "Ġbod": 29011, + ".Process": 29012, + "_AUTO": 29013, + "ĠPublished": 29014, + "every": 29015, + "Ġtechnological": 29016, + "lsx": 29017, + "Ġirrit": 29018, + "Additional": 29019, + "Ġdelimiter": 29020, + "_language": 29021, + "-area": 29022, + "boys": 29023, + "ĠTube": 29024, + "Ġwat": 29025, + "Ġmechanics": 29026, + "_owner": 29027, + "Spell": 29028, + "ĠStories": 29029, + ".AppendLine": 29030, + "TableView": 29031, + "hem": 29032, + "stick": 29033, + "ollower": 29034, + "IFF": 29035, + "ĠUV": 29036, + "ollision": 29037, + "SUB": 29038, + "Ġcomparable": 29039, + "Ġdonde": 29040, + "sales": 29041, + "llvm": 29042, + "Ġ}],Ċ": 29043, + "OTTOM": 29044, + "ĠPurpose": 29045, + "Lab": 29046, + "Ġinterviewed": 29047, + "ois": 29048, + "asil": 29049, + ".setId": 29050, + "ĠInstruction": 29051, + "-->": 29052, + "ĠModified": 29053, + "ationally": 29054, + "ĠMeeting": 29055, + "误": 29056, + "#region": 29057, + "Ġrouting": 29058, + ".focus": 29059, + "ĠYouth": 29060, + "<": 29348, + "Ġunto": 29349, + "ologically": 29350, + "ĠMul": 29351, + "VIDIA": 29352, + "Ġslim": 29353, + "ĠCommissioner": 29354, + "(on": 29355, + "Ġunderneath": 29356, + "/db": 29357, + "vote": 29358, + "(Message": 29359, + "ĠPope": 29360, + "Defined": 29361, + "Ġswift": 29362, + "urf": 29363, + "Ġadapted": 29364, + "SEL": 29365, + "Ġrevenues": 29366, + "Ġdivine": 29367, + "=y": 29368, + "Gradient": 29369, + "_act": 29370, + "Ġ/*!<": 29371, + "Ġpolygon": 29372, + "ĠFDA": 29373, + "ĠCarr": 29374, + "atables": 29375, + "(stdout": 29376, + "Ġrefriger": 29377, + "Ġcoordin": 29378, + "avorites": 29379, + "ÑĪи": 29380, + "Ġcompassion": 29381, + "ĠPOSSIBILITY": 29382, + "-secondary": 29383, + "uracy": 29384, + "Ġcompromise": 29385, + "_AV": 29386, + "_os": 29387, + "Ġbeside": 29388, + "ĥĿ": 29389, + "Ġln": 29390, + ".plugins": 29391, + "Capacity": 29392, + "alah": 29393, + ".bin": 29394, + "ĠCRC": 29395, + "_balance": 29396, + "ĠflexDirection": 29397, + "Ġambit": 29398, + "Ġnickname": 29399, + "ĠForces": 29400, + "CLE": 29401, + "ĠShell": 29402, + "Ġsail": 29403, + "ĠWriter": 29404, + "ĠAlice": 29405, + "dw": 29406, + "ĠIndians": 29407, + "ĠMarshall": 29408, + "_SRC": 29409, + "Ġnormalized": 29410, + "ĠJag": 29411, + "ãĤĴ": 29412, + "zeit": 29413, + "rpc": 29414, + "ÃŃc": 29415, + ".inline": 29416, + "Ġtravers": 29417, + "_numeric": 29418, + "Ġutilities": 29419, + "Ġevac": 29420, + "INPUT": 29421, + "ĉregister": 29422, + "MX": 29423, + "ĠCampbell": 29424, + "Ġdatasets": 29425, + "Ġdemanded": 29426, + "ĠinitialState": 29427, + "gan": 29428, + "Ġei": 29429, + "Unexpected": 29430, + "-web": 29431, + "trait": 29432, + ",Y": 29433, + "ĠTodd": 29434, + "Ġskeleton": 29435, + "Ġoptimize": 29436, + "第": 29437, + "ĠUpon": 29438, + "ĠStObject": 29439, + "Ġaplic": 29440, + ".'P": 29478, + "vron": 29479, + ".UN": 29480, + "Ġpainter": 29481, + "izarre": 29482, + "Ġlav": 29483, + "Ġpom": 29484, + "preg": 29485, + "=function": 29486, + "(serial": 29487, + "ifica": 29488, + "uming": 29489, + "åľ°": 29490, + "ãģĤ": 29491, + "-op": 29492, + "UCH": 29493, + "ĠHend": 29494, + ".propTypes": 29495, + "Ġyo": 29496, + "Ġroutines": 29497, + "Ġcaring": 29498, + "Sem": 29499, + "Ġreserves": 29500, + "Ġpriorities": 29501, + "redits": 29502, + "ISTR": 29503, + "ContentType": 29504, + "ĠSchw": 29505, + "/media": 29506, + "Ġestr": 29507, + "Ġclimbing": 29508, + "-week": 29509, + "cherche": 29510, + "sensor": 29511, + "ToArray": 29512, + "ĠMontreal": 29513, + "Ġclouds": 29514, + "ĠInjectable": 29515, + "ĠRice": 29516, + "Ġpropaganda": 29517, + "_provider": 29518, + "Ġindoor": 29519, + "Ġinaug": 29520, + "Ġdiplom": 29521, + "Ġmessaging": 29522, + "_mut": 29523, + "å¦Ĥ": 29524, + "Ġkw": 29525, + "ONS": 29526, + "arians": 29527, + "RPC": 29528, + ")]čĊ": 29529, + "-ray": 29530, + "ĠSor": 29531, + "mall": 29532, + "Ġmarketplace": 29533, + "Ġvtk": 29534, + "Ma": 29535, + "ogan": 29536, + "igi": 29537, + "Ġsponsored": 29538, + "ĠDani": 29539, + ".SEVER": 29540, + ">'.$": 29541, + "multipart": 29542, + "ĠWol": 29543, + "ĠtableName": 29544, + "ĠUsername": 29545, + "BackgroundColor": 29546, + "Ġfright": 29547, + "_EMAIL": 29548, + "September": 29549, + "_vals": 29550, + "opia": 29551, + "Ġspotted": 29552, + "-Ch": 29553, + "ĠdataSource": 29554, + "/\"Ċ": 29555, + "екÑĤ": 29556, + "ĠRequestMethod": 29557, + "ĠReplace": 29558, + "-do": 29559, + "ahn": 29560, + "ĠPhD": 29561, + "].ĊĊ": 29562, + "NON": 29563, + "gement": 29564, + "ĠThr": 29565, + "Ġquietly": 29566, + "Ġtorture": 29567, + "Ġteas": 29568, + "ĠCY": 29569, + "Ġatr": 29570, + "development": 29571, + "-detail": 29572, + "Ġlighter": 29573, + "Ġarguing": 29574, + "Ġdeserves": 29575, + "Ġcurriculum": 29576, + "_CONTEXT": 29577, + "ÅĤy": 29578, + "HITE": 29579, + "ĉID": 29580, + "/uploads": 29581, + "Ġtits": 29582, + "reo": 29583, + "_drop": 29584, + ".UTF": 29585, + "Ġpickup": 29586, + "Ġgrocery": 29587, + "ĠPure": 29588, + "Ġeasiest": 29589, + "Phil": 29590, + ".feature": 29591, + "(\"*": 29592, + "Ġinvestor": 29593, + "tok": 29594, + "Ġjar": 29595, + "Los": 29596, + "âĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶ": 29597, + ".queue": 29598, + "-speed": 29599, + "Mal": 29600, + "umblr": 29601, + "ĠCONST": 29602, + "ĠHRESULT": 29603, + "ĠDance": 29604, + "(filePath": 29605, + "Ġattributed": 29606, + "à¥į": 29607, + "ĠBund": 29608, + "coins": 29609, + "Ġsão": 29610, + "Ġpir": 29611, + "personal": 29612, + "Ġprelim": 29613, + "Ġpropose": 29614, + "ĠTL": 29615, + "]])": 29616, + "ĠSubscription": 29617, + "ĠKre": 29618, + ",len": 29619, + ".FirstOrDefault": 29620, + ")--": 29621, + "_products": 29622, + ".GetBytes": 29623, + "Ship": 29624, + "Ġencrypt": 29625, + "ĠSG": 29626, + "ĠMyst": 29627, + "hir": 29628, + "Ġiterate": 29629, + "Ġintend": 29630, + ".mockito": 29631, + "Ġchapters": 29632, + "(angle": 29633, + "ĠVlad": 29634, + "设": 29635, + "'.ĊĊ": 29636, + "ResponseBody": 29637, + "ĠAbd": 29638, + "deal": 29639, + "Ġbarriers": 29640, + "-outline": 29641, + "bill": 29642, + "ĠFalls": 29643, + "_second": 29644, + ".include": 29645, + ".ceil": 29646, + "Ġoccupation": 29647, + "phony": 29648, + ".moveTo": 29649, + "ĠJennifer": 29650, + "ASTER": 29651, + ";\"><": 29652, + "ĠEnabled": 29653, + "Ġterminate": 29654, + "ĠIo": 29655, + "lations": 29656, + "ĠTHEORY": 29657, + "Ġearliest": 29658, + "Ġrack": 29659, + "ĠScar": 29660, + "shake": 29661, + "chip": 29662, + "Ġuv": 29663, + "Ġalliance": 29664, + "пиÑģ": 29665, + "ĠGOODS": 29666, + "zione": 29667, + "ĠVI": 29668, + "Ġ{-": 29669, + "Ġfiltering": 29670, + "Ġmiscon": 29671, + ".DockStyle": 29672, + "Ġbush": 29673, + "Ġjunk": 29674, + "æĮ": 29675, + "ĠQUE": 29676, + "Ġhooks": 29677, + "Ġfirmware": 29678, + "Ġmiddleware": 29679, + "dic": 29680, + "ĠOakland": 29681, + "Ġarrives": 29682, + "Payload": 29683, + "pixel": 29684, + "]|": 29685, + "ĠstartDate": 29686, + ".PRO": 29687, + "_audio": 29688, + "Ġmidfield": 29689, + "igidbody": 29690, + "ĠSwiss": 29691, + "ĠClip": 29692, + "ĠDump": 29693, + "ĠTextBox": 29694, + "Ġgeh": 29695, + "yield": 29696, + "ods": 29697, + "Ġreferendum": 29698, + "Backend": 29699, + "ĠCream": 29700, + "Ġdominated": 29701, + "ĠArchive": 29702, + "Ġriders": 29703, + ".prepareStatement": 29704, + "Ġquando": 29705, + "Ġchef": 29706, + "wiki": 29707, + "inel": 29708, + "ampling": 29709, + "(\"\\\\": 29710, + "Ġsag": 29711, + "_proxy": 29712, + "ãģķ": 29713, + "pdo": 29714, + ".getElementsByTagName": 29715, + "Ġdemonstration": 29716, + "ĠNPC": 29717, + "Ġarchivo": 29718, + "endance": 29719, + "Ġefficiently": 29720, + "(actual": 29721, + ".tableView": 29722, + "Ġmush": 29723, + "Ġbears": 29724, + "_threads": 29725, + "jas": 29726, + "ahun": 29727, + "Ġneural": 29728, + "Ġdesigning": 29729, + "ĠGDP": 29730, + "Ġlifted": 29731, + "缮": 29732, + "ĠJoint": 29733, + "ĠInclude": 29734, + "ĠGiants": 29735, + "Ġwithdrawal": 29736, + "ĠRent": 29737, + "native": 29738, + "ĠSeek": 29739, + "gression": 29740, + "_CPU": 29741, + "\\S": 29742, + "ĠShield": 29743, + "Ġsolic": 29744, + "Ġboom": 29745, + "yecto": 29746, + "Ġmanufacture": 29747, + "ĠâĢĭ": 29748, + "Ġbbox": 29749, + "Ġearthqu": 29750, + "ollectors": 29751, + ":@\"%": 29752, + "Ġloops": 29753, + "Je": 29754, + "alking": 29755, + "ĠWhats": 29756, + "ĠBoys": 29757, + ".book": 29758, + "ARGE": 29759, + "_pixel": 29760, + "Ġsuspects": 29761, + "ι": 29762, + "usp": 29763, + "ĠBMW": 29764, + "ieces": 29765, + "(person": 29766, + "å¼Ģ": 29767, + "é»": 29768, + "ĠPodcast": 29769, + "Ġbou": 29770, + "(Item": 29771, + "û": 29772, + "(Input": 29773, + "HttpGet": 29774, + "Ġburg": 29775, + ")^": 29776, + "BOARD": 29777, + "*/,": 29778, + "Ġgulp": 29779, + "ĠBenn": 29780, + "Ġdecks": 29781, + ".statusCode": 29782, + "Ġacute": 29783, + "Ġhug": 29784, + "ugu": 29785, + "Ġpled": 29786, + ",\"%": 29787, + "hape": 29788, + "Ġзап": 29789, + "ĠMaine": 29790, + ".real": 29791, + "Ġdalam": 29792, + "ĠMinor": 29793, + ".Float": 29794, + "disp": 29795, + "Ġtl": 29796, + "Ġencount": 29797, + "=>$": 29798, + "Ġfg": 29799, + "tees": 29800, + "ĠRecomm": 29801, + "äl": 29802, + "Ġchemistry": 29803, + "Blocks": 29804, + "OID": 29805, + "Ġforex": 29806, + "ĠAppend": 29807, + "Ġ{*": 29808, + "ĠSupply": 29809, + "CGFloat": 29810, + "(bl": 29811, + "Ġate": 29812, + "adora": 29813, + "Ġgust": 29814, + "Associ": 29815, + ">.Ċ": 29816, + "FETCH": 29817, + ".serial": 29818, + "widgets": 29819, + "ardless": 29820, + "iefs": 29821, + "_FULL": 29822, + "ernetes": 29823, + "ĠPred": 29824, + "ØŃ": 29825, + "äºĭ": 29826, + "ubernetes": 29827, + "ĠLaura": 29828, + "Ġlabeled": 29829, + "Highlight": 29830, + "Ġannoying": 29831, + "/update": 29832, + "(description": 29833, + "Ġintimid": 29834, + "$c": 29835, + "\")))Ċ": 29836, + ".AP": 29837, + "Ġ[]*": 29838, + "ĠEXIT": 29839, + ".Host": 29840, + "ĠOPEN": 29841, + ".sendMessage": 29842, + "_camera": 29843, + "_tile": 29844, + "Ġtherm": 29845, + "onomous": 29846, + "Ġdisadv": 29847, + "Ġnaar": 29848, + "indexOf": 29849, + "ĠPP": 29850, + ".protocol": 29851, + "AFE": 29852, + "Ġtextures": 29853, + "################################################": 29854, + "umbai": 29855, + ".stats": 29856, + "ĠGE": 29857, + "Ġie": 29858, + "ĠSTD": 29859, + "ĠMann": 29860, + ".reflect": 29861, + "KB": 29862, + "Ġdive": 29863, + ".wav": 29864, + "/*----------------------------------------------------------------": 29865, + "/settings": 29866, + ".lifecycle": 29867, + "Ġdaughters": 29868, + "orus": 29869, + "uber": 29870, + "NING": 29871, + "stri": 29872, + "ĠTip": 29873, + "Ġzn": 29874, + "Ġswitched": 29875, + "inet": 29876, + "uffy": 29877, + "ĠTransportation": 29878, + "(conf": 29879, + "frica": 29880, + "ĠXL": 29881, + "ĠLead": 29882, + "_percent": 29883, + "__": 29899, + "permissions": 29900, + "ĠDetermine": 29901, + ".Man": 29902, + "Ġadvances": 29903, + ".InputStream": 29904, + "Ġstrongest": 29905, + "ĠeBay": 29906, + "Ġ#-": 29907, + "Ġdirname": 29908, + "ĠSMS": 29909, + "Ġmedications": 29910, + "Ġamended": 29911, + "Ġchurches": 29912, + "ĠImperial": 29913, + "$row": 29914, + "ĠMadison": 29915, + "ĠInsp": 29916, + "Ġaffair": 29917, + "Ġpsychology": 29918, + "vh": 29919, + "Ġseverity": 29920, + "âĢIJ": 29921, + "Ġstrips": 29922, + "AH": 29923, + "vertising": 29924, + "Ġconse": 29925, + "IMAGE": 29926, + "ĠStats": 29927, + "ĉsc": 29928, + ".Cursor": 29929, + "Ġfreeze": 29930, + "sson": 29931, + "(xml": 29932, + "ĠSusan": 29933, + ".tile": 29934, + "eded": 29935, + "ĠĠĠĠĉĉĉ": 29936, + "uelle": 29937, + "ĠMitchell": 29938, + "based": 29939, + "Operand": 29940, + "½æķ°": 29941, + "ĠFF": 29942, + "ĉstrcpy": 29943, + "ounces": 29944, + "ildo": 29945, + ".executeQuery": 29946, + "Ġapproaching": 29947, + "ĠSeven": 29948, + "Ġnuts": 29949, + "Ġric": 29950, + "assignment": 29951, + "Ġcalculator": 29952, + "ĠMurphy": 29953, + "ĠBou": 29954, + "íĦ": 29955, + "Ġbutt": 29956, + "Ġticks": 29957, + "Projects": 29958, + "ilib": 29959, + ".textColor": 29960, + "mov": 29961, + "_logo": 29962, + "(template": 29963, + "ĠINIT": 29964, + "ĠimageView": 29965, + "scriptions": 29966, + "ORITY": 29967, + "Consumer": 29968, + "Ġunprecedented": 29969, + "Ġtourist": 29970, + "Ġbron": 29971, + "Ġcontractor": 29972, + "Ġlicence": 29973, + "ĠNam": 29974, + "æ¯": 29975, + "(transform": 29976, + "_ATT": 29977, + "Pref": 29978, + "ĠGam": 29979, + "Ġvessels": 29980, + "Ġhav": 29981, + "Later": 29982, + ".ToLower": 29983, + "Ġurls": 29984, + "Ġbreakdown": 29985, + "Ġpenalties": 29986, + "Ġfoster": 29987, + "ĠUE": 29988, + "Ġclue": 29989, + "comed": 29990, + "åIJįç§°": 29991, + "-main": 29992, + "Ġpts": 29993, + "Ġcounted": 29994, + "icts": 29995, + "/post": 29996, + "Ġgetattr": 29997, + "Ġping": 29998, + "ANCEL": 29999, + "Ġpec": 30000, + "Ñħод": 30001, + "antom": 30002, + "ĠBlueprint": 30003, + "ĠEventEmitter": 30004, + "Ġlä": 30005, + "æ²": 30006, + "Ġstraw": 30007, + "(comp": 30008, + "'une": 30009, + ">N": 30010, + "-client": 30011, + "esModule": 30012, + "-base": 30013, + "Ġretreat": 30014, + "_simple": 30015, + "ĉĉĉĉĉĉĠ": 30016, + "fee": 30017, + "')čĊčĊ": 30018, + "ControlItem": 30019, + "Ġsubscribers": 30020, + "please": 30021, + "ĠEff": 30022, + "Ġpound": 30023, + "ĠBytes": 30024, + "ĠTea": 30025, + "_activity": 30026, + "Ġmaxim": 30027, + "Ġopcode": 30028, + "BSD": 30029, + ".constant": 30030, + ";}": 30031, + "ombres": 30032, + "Ġcareers": 30033, + ").ĊĊĊĊ": 30034, + "Ġspreading": 30035, + "-expanded": 30036, + "ĠOrd": 30037, + "amarin": 30038, + "Ġmobility": 30039, + "Unfortunately": 30040, + "akk": 30041, + "NL": 30042, + "_redirect": 30043, + "ĠPG": 30044, + "ĠSensor": 30045, + "bol": 30046, + "tap": 30047, + "_MEMORY": 30048, + "ĠUIAlert": 30049, + "plitude": 30050, + "Website": 30051, + "ĠLogo": 30052, + "love": 30053, + "[ind": 30054, + "Ġaltogether": 30055, + "Ġwondered": 30056, + "Ġesper": 30057, + "ĠLiberal": 30058, + "Ġoss": 30059, + "Ġelit": 30060, + "Ġstiff": 30061, + "odox": 30062, + "_mentions": 30063, + "ĠDouglas": 30064, + "_pid": 30065, + "ĠCK": 30066, + "ĠinitWithFrame": 30067, + ".blog": 30068, + "pkg": 30069, + "anghai": 30070, + "QUIRED": 30071, + "uu": 30072, + "Ġmkdir": 30073, + "ATAL": 30074, + "Ġunh": 30075, + "inces": 30076, + "sth": 30077, + "Ġhypothesis": 30078, + "Ġcata": 30079, + "ĠTB": 30080, + "ĠClar": 30081, + "Ġpredecess": 30082, + "Ġsituated": 30083, + "-world": 30084, + "))/": 30085, + "Ġheadlines": 30086, + ".stat": 30087, + "Ġoutbreak": 30088, + "spath": 30089, + "_FLAGS": 30090, + "ĠServletException": 30091, + "Sun": 30092, + "FROM": 30093, + "ĠDir": 30094, + "ãĥ»ãĥ»ãĥ»": 30095, + "_coord": 30096, + "ĠOptim": 30097, + "Monitor": 30098, + ".bit": 30099, + "XXX": 30100, + "Ġtodas": 30101, + "feld": 30102, + "ÑĢи": 30103, + "imir": 30104, + "Ġpolitically": 30105, + "Ġmolecular": 30106, + "Ġtraded": 30107, + "Ġ{{$": 30108, + "ĠSwedish": 30109, + "Ġ'@/": 30110, + "_REAL": 30111, + "Ġwarehouse": 30112, + "today": 30113, + ",L": 30114, + "orp": 30115, + "false": 30392, + "Ġspa": 30393, + "ĠNear": 30394, + "ìķ": 30395, + "Ġintrig": 30396, + "_members": 30397, + "wave": 30398, + "Ġanalysts": 30399, + "_OS": 30400, + "edin": 30401, + "ĠFri": 30402, + "Ġretrieved": 30403, + "Regular": 30404, + "_obs": 30405, + "EXPORT": 30406, + "')}}\"": 30407, + "\"class": 30408, + "__((": 30409, + "bucket": 30410, + "Ġstro": 30411, + "ĠPatch": 30412, + "ystick": 30413, + "fulness": 30414, + "apos": 30415, + "Da": 30416, + "ĉĉĉĉĉĠĠĠ": 30417, + "Ġenrich": 30418, + "unordered": 30419, + "hole": 30420, + "Cong": 30421, + "';ĊĊ": 30463, + "STRUCT": 30464, + "QR": 30465, + "IDs": 30466, + "(arguments": 30467, + "_aux": 30468, + "(Event": 30469, + "_PRIVATE": 30470, + "ĠTrek": 30471, + "Ġdownloads": 30472, + "mutable": 30473, + "_STRUCT": 30474, + "(wx": 30475, + "Ġdomains": 30476, + "jspx": 30477, + "ĠViagra": 30478, + "Commands": 30479, + "Js": 30480, + ".cfg": 30481, + "ContentPane": 30482, + "ĠEditText": 30483, + "à¥įà¤": 30484, + "Attach": 30485, + "ĠARM": 30486, + "positive": 30487, + "ĠGenerated": 30488, + "Ġseized": 30489, + "=:": 30490, + "Ġelectronics": 30491, + "ĠAppComponent": 30492, + "/',Ċ": 30493, + ".equalsIgnoreCase": 30494, + "Doctrine": 30495, + "disk": 30496, + "ĠPolitical": 30497, + "CHO": 30498, + "": 30584, + "ĠBeauty": 30585, + "Ġ`<": 30586, + "Ġtouching": 30587, + "Ġ|--": 30588, + "ĉflag": 30589, + "normalize": 30590, + "Ġtrapped": 30591, + "Ġestablishing": 30592, + "/build": 30593, + "AJ": 30594, + "fy": 30595, + "-react": 30596, + "avn": 30597, + "RIPTION": 30598, + "Ġkut": 30599, + "ĠFashion": 30600, + "ĠInform": 30601, + "curities": 30602, + "{Ċ": 30634, + "Ġgarlic": 30635, + "Ġrepr": 30636, + "Ġreplies": 30637, + "(prop": 30638, + "Ġspirits": 30639, + "Ġinspire": 30640, + "Ġbasement": 30641, + ".reject": 30642, + "Ġhints": 30643, + "Ġpolling": 30644, + "ĉĠĊ": 30645, + "_rating": 30646, + "Ġcath": 30647, + "avier": 30648, + "Ġcompressed": 30649, + "ĠVS": 30650, + "]'": 30651, + "Ġjudicial": 30652, + "ĠTrend": 30653, + "training": 30654, + "ESTAMP": 30655, + "ognition": 30656, + "Äģ": 30657, + "SENT": 30658, + "ventions": 30659, + "Ġconsultant": 30660, + "umph": 30661, + "ĠuserService": 30662, + ",NULL": 30663, + "kh": 30664, + "Dear": 30665, + "_BAD": 30666, + "itations": 30667, + "Ġmetaph": 30668, + "'é": 30669, + "andise": 30670, + "-font": 30671, + ".chart": 30672, + "Ġsg": 30673, + "_Controller": 30674, + ".jpeg": 30675, + "ĠULONG": 30676, + "ĉgame": 30677, + "(ss": 30678, + "ĠMaj": 30679, + "ĉgo": 30680, + "ĠSad": 30681, + "ĠBerg": 30682, + "ĠMine": 30683, + "Pack": 30684, + "Ġresistant": 30685, + "ĠROM": 30686, + "Ġpeg": 30687, + "ĠStanford": 30688, + "ĠYahoo": 30689, + "Ġscaled": 30690, + "Ġlan": 30691, + "=[]": 30692, + "\"/>ččĊ": 30736, + "Ġsud": 30737, + "ĉbackground": 30738, + "Ġscholars": 30739, + "-muted": 30740, + "ará": 30741, + "Ġ=====": 30742, + "Ġ____": 30743, + "Creat": 30744, + "enever": 30745, + "/wp": 30746, + "ĠVPN": 30747, + "ErrorCode": 30748, + ")],Ċ": 30749, + "(builder": 30750, + "ĠEnemy": 30751, + "Sensor": 30752, + "usa": 30753, + "Ġtriggers": 30754, + "Ġplayoffs": 30755, + "_REQ": 30756, + "Ġ(~": 30757, + "ĠBarry": 30758, + "Ġpermanently": 30759, + "ĠRUN": 30760, + "Ġbure": 30761, + ".Fatalf": 30762, + "Ġchick": 30763, + "ĉpanic": 30764, + "psi": 30765, + "oka": 30766, + "éĢī": 30767, + ">[": 30768, + "Ġunderstands": 30769, + "ĠJunior": 30770, + "ĠINFO": 30771, + "=mysqli": 30772, + "ustain": 30773, + "-source": 30774, + "serv": 30775, + "ĠCREATE": 30776, + ".au": 30777, + "Ġsells": 30778, + "ĠĠĊĠĠĊ": 30779, + "Europe": 30780, + "zw": 30781, + "preh": 30782, + "ĠNSA": 30783, + "Ġxy": 30784, + "ิ": 30785, + "ĠBeyond": 30786, + "Instead": 30787, + "NonQuery": 30788, + "Ġarise": 30789, + "Ġavoided": 30790, + ".emplace": 30791, + "_models": 30792, + "}),Ċ": 30793, + "Ġhid": 30794, + "Ġ&_": 30795, + ".points": 30796, + ".getWidth": 30797, + ".Exec": 30798, + "Ġ////": 30799, + "ĠSessions": 30800, + "...\\": 30801, + "ĠColomb": 30802, + "Ġacceleration": 30803, + "restore": 30804, + "Ġile": 30805, + "obic": 30806, + "}Ċ": 31296, + "plaint": 31297, + "getText": 31298, + "Ġindividually": 31299, + "Ġcheckbox": 31300, + "UY": 31301, + "ĠLamb": 31302, + "Ġdysfunction": 31303, + "ĠLar": 31304, + "à°": 31305, + "ĠCreating": 31306, + "');ĊĊĊ": 31307, + "\"They": 31308, + "locations": 31309, + "_CORE": 31310, + "Interaction": 31311, + "umbnails": 31312, + "ĠPartner": 31313, + "brit": 31314, + "Ġlesser": 31315, + "ĠSlot": 31316, + "setAttribute": 31317, + "ĠWave": 31318, + ".po": 31319, + "/store": 31320, + "Ġbrowsing": 31321, + "_pd": 31322, + "sume": 31323, + "sed": 31324, + "Curve": 31325, + "Ġplasma": 31326, + "Ġsuspicious": 31327, + "ìĿ¸": 31328, + "ĠBah": 31329, + "ĠExplicit": 31330, + "_CC": 31331, + ".ClientSize": 31332, + "\\View": 31333, + "Ġsubstit": 31334, + "loon": 31335, + "ĠGAME": 31336, + "ĠBrid": 31337, + "Ľå»º": 31338, + "_User": 31339, + "Ġsquares": 31340, + "fone": 31341, + "Ġsacred": 31342, + "ughs": 31343, + "]interface": 31344, + "ĠThrow": 31345, + "ĠKirk": 31346, + "Ġempire": 31347, + "Ġassessed": 31348, + "Tax": 31349, + "ĠHeaven": 31350, + "-buffer": 31351, + "_STATIC": 31352, + "éné": 31353, + "-bordered": 31354, + "Ġpunct": 31355, + "(mode": 31356, + "Ġkeine": 31357, + "Sent": 31358, + "ĠCalcul": 31359, + "ĠEve": 31360, + "Ġstylish": 31361, + "Ġoils": 31362, + ".TestCase": 31363, + "Ġtrademark": 31364, + "Ġliterary": 31365, + "Ġconcentrations": 31366, + "ĠRelations": 31367, + "(Class": 31368, + "Ġstdin": 31369, + "Ġvæ": 31370, + "backup": 31371, + ".VERSION": 31372, + ".AutoScaleDimensions": 31373, + "starter": 31374, + "Transactional": 31375, + "-panel": 31376, + "Studio": 31377, + "kc": 31378, + "ĠChamber": 31379, + "ĠSpiel": 31380, + "Ġrho": 31381, + "اÙĦ": 31382, + "!'": 31383, + ".Attributes": 31384, + "Ġmurdered": 31385, + "apeutic": 31386, + "Ġintimate": 31387, + "ĠtextField": 31388, + "ĠBuffalo": 31389, + "dummy": 31390, + "\"%": 31391, + "ĠLiberty": 31392, + "obar": 31393, + "ĠTank": 31394, + "ĠPopular": 31395, + "ervisor": 31396, + "ĠIniti": 31397, + "ĠMall": 31398, + "ĠPrior": 31399, + "CAP": 31400, + "ĠClay": 31401, + "ĠCertificate": 31402, + ".Lock": 31403, + "-strip": 31404, + "-driven": 31405, + "/all": 31406, + "ĠMessageBoxButtons": 31407, + "_SECRET": 31408, + "_pb": 31409, + "Ġrats": 31410, + "ाà¤": 31411, + "Ġnt": 31412, + ".Router": 31413, + "_topic": 31414, + "Ġtennis": 31415, + "ĠPUBLIC": 31416, + "ĠActivatedRoute": 31417, + "Ġ',Ċ": 31418, + "Ġcostume": 31419, + "Ġjokes": 31420, + ".Handle": 31421, + "ĉbyte": 31422, + "Ġflavors": 31423, + "(cc": 31424, + "Ġpersonas": 31425, + "ĉimage": 31426, + "ĠNazi": 31427, + "Ġgrammar": 31428, + "Ġúlt": 31429, + "Ġvalve": 31430, + "Ġvic": 31431, + "ĠRachel": 31432, + "_invalid": 31433, + "Prefs": 31434, + "stdint": 31435, + "(route": 31436, + "Ġhtmlspecialchars": 31437, + "Ġpeoples": 31438, + "pline": 31439, + "Ġnv": 31440, + "ĠQuant": 31441, + "oppers": 31442, + "ĠcurrentUser": 31443, + "ĠCatal": 31444, + "Ġreconc": 31445, + "Ġconjunction": 31446, + "lx": 31447, + "amburg": 31448, + "Ġinfluential": 31449, + "danger": 31450, + "inders": 31451, + "Ġ%@\",": 31452, + ".configuration": 31453, + "osome": 31454, + ".identity": 31455, + "Ġpicker": 31456, + "nost": 31457, + "ĠDIY": 31458, + "August": 31459, + "ablo": 31460, + "Leaf": 31461, + "ĠReco": 31462, + "cko": 31463, + "DOC": 31464, + "ĠHerm": 31465, + ":any": 31466, + "ĠInterview": 31467, + "ĠTex": 31468, + "xfe": 31469, + "(work": 31470, + "Ġleap": 31471, + "Heading": 31472, + "Ġquarters": 31473, + "\\Bundle": 31474, + "reb": 31475, + "Perhaps": 31476, + "ĠGmbH": 31477, + "Birth": 31478, + "ĉsum": 31479, + "ĠWatson": 31480, + ".nil": 31481, + "ç¡": 31482, + "{}ĊĊ": 31483, + "icaid": 31484, + "Getter": 31485, + "\"name": 31486, + "Ġ\"čĊ": 31487, + "_none": 31488, + "zm": 31489, + "acute": 31490, + "uesto": 31491, + "Ġsous": 31492, + "Ġrebuild": 31493, + "Ġnewspapers": 31494, + "ĠHaz": 31495, + "Ġkits": 31496, + "ifo": 31497, + "Blur": 31498, + "Ġsuited": 31499, + "-In": 31500, + "à¯": 31501, + "ĠKeith": 31502, + "ĠNorway": 31503, + "INIT": 31504, + "ireccion": 31505, + "ieties": 31506, + "_usage": 31507, + "ĠDoug": 31508, + "rise": 31509, + "Ġtrillion": 31510, + "imited": 31511, + "ĠREL": 31512, + "alic": 31513, + "Ġcriticized": 31514, + "theorem": 31515, + "Ġcease": 31516, + "Ġsidew": 31517, + "ĠTerry": 31518, + "Ġsubsidi": 31519, + "Ġfirmly": 31520, + "Ġaws": 31521, + "Ġhott": 31522, + "Ġdressing": 31523, + "badge": 31524, + "ĠApplications": 31525, + "è¿ĶåĽŀ": 31526, + "Ġlaughed": 31527, + "Ġhobby": 31528, + "Ġmusicians": 31529, + "Ġ*.": 31530, + ".placeholder": 31531, + "Ġcounters": 31532, + "ĠCapitol": 31533, + "SDK": 31534, + "Ġhelmet": 31535, + "andbox": 31536, + "quit": 31537, + "Ġcriminals": 31538, + "Ġteenager": 31539, + "(update": 31540, + "Gl": 31541, + ".selection": 31542, + "Ġdischarge": 31543, + "Ġpresenting": 31544, + "ufacturer": 31545, + "_UNKNOWN": 31546, + "Ġstressed": 31547, + "åύ": 31548, + "Proto": 31549, + "_correct": 31550, + "haus": 31551, + "Ġrenov": 31552, + "Ġfirearms": 31553, + "Ġtechnically": 31554, + "-browser": 31555, + "Ġcandy": 31556, + "Stroke": 31557, + "Ġexecutor": 31558, + "Ġoccurrence": 31559, + "ĠIPv": 31560, + "_INTERFACE": 31561, + "ĠRetrieve": 31562, + ".bad": 31563, + "Exchange": 31564, + "Navbar": 31565, + "ĠKid": 31566, + "(getApplicationContext": 31567, + "_STOP": 31568, + "ĠBoss": 31569, + "Listeners": 31570, + "Ġshooter": 31571, + "ĠAlb": 31572, + "äch": 31573, + "Ġpix": 31574, + ".keyCode": 31575, + "alone": 31576, + "Ġabsurd": 31577, + "ĠCum": 31578, + "ĠNewtonsoft": 31579, + "ikt": 31580, + "Ġlaughing": 31581, + "Ġcapitalism": 31582, + "reeNode": 31583, + "Tx": 31584, + "_QUERY": 31585, + ".Sleep": 31586, + "(login": 31587, + "WebElement": 31588, + "Ġcelebrating": 31589, + "Ġdeprecated": 31590, + "Ġmaar": 31591, + "Ġartistic": 31592, + "_ASSOC": 31593, + "ĠBorderRadius": 31594, + "ĉwp": 31595, + "Ġsurvivors": 31596, + "Inner": 31597, + "-red": 31598, + "Ġprosecution": 31599, + "_pp": 31600, + "(\"$": 31682, + "Ġcomma": 31683, + "unchecked": 31684, + "graphics": 31685, + "rors": 31686, + "GROUND": 31687, + "(public": 31688, + "Ġcustomized": 31689, + "ĠArkansas": 31690, + "ĠRew": 31691, + "Ġexpiration": 31692, + "×ķ": 31693, + "ĠCul": 31694, + "Ġnons": 31695, + ".Filter": 31696, + "Ġsenator": 31697, + "_definition": 31698, + "ashington": 31699, + "ymph": 31700, + "/J": 31701, + "Ġfuse": 31702, + "ramid": 31703, + "ĠSupplier": 31704, + "Ġautocomplete": 31705, + "Ġ}),": 31706, + ".\"ĊĊĊ": 31707, + "_functions": 31708, + "ĉto": 31709, + ".eval": 31710, + "ĠTObject": 31711, + "References": 31712, + "Ġheated": 31713, + "HAL": 31714, + "Ġ))}Ċ": 31715, + "}$": 31716, + "ĠBarr": 31717, + "_UNIT": 31718, + "+$": 31719, + "ĠgetValue": 31720, + "iped": 31721, + "chied": 31722, + "(vm": 31723, + "cue": 31724, + "_integer": 31725, + "_course": 31726, + "third": 31727, + "Ġrevised": 31728, + "**/Ċ": 31729, + "_DIRECT": 31730, + "OutOf": 31731, + "(\"(": 31732, + "ĠFeel": 31733, + "Ġreass": 31734, + "Ġsubtitle": 31735, + "peri": 31736, + "nf": 31737, + "Ġenjoys": 31738, + "Ġtreats": 31739, + ")this": 31740, + "-tabs": 31741, + "ancers": 31742, + "Ġcontinent": 31743, + "Ġcardio": 31744, + "Ser": 31745, + ".question": 31746, + "Ġphrases": 31747, + "Validators": 31748, + "Ġpopul": 31749, + "ĠlÃŃ": 31750, + "song": 31751, + "_INTERNAL": 31752, + "Ġadviser": 31753, + "Ġpuzz": 31754, + "Ġambitious": 31755, + "ĠTob": 31756, + "ĠDP": 31757, + "Ġpresidency": 31758, + "Ġsurrender": 31759, + "Ġwatches": 31760, + "_binary": 31761, + "ĠSoon": 31762, + "Ġcanada": 31763, + "(\"\")Ċ": 31764, + "]='": 31765, + "ĠBrandon": 31766, + "epsilon": 31767, + "rw": 31768, + ".addChild": 31769, + ".Copy": 31770, + "Principal": 31771, + "Photos": 31772, + "Ġmarginal": 31773, + "Ġbasics": 31774, + "eing": 31775, + "Must": 31776, + "_String": 31777, + "Ġole": 31778, + "Magento": 31779, + ".customer": 31780, + "(prev": 31781, + "ล": 31782, + "Ġloyalty": 31783, + "Cog": 31784, + "Ġprotocols": 31785, + "ĠCompanies": 31786, + "Ġtheoretical": 31787, + "Ġaccessing": 31788, + "ĠZen": 31789, + ".ones": 31790, + "attice": 31791, + "_world": 31792, + "zes": 31793, + "Ġtattoo": 31794, + "Ġmenos": 31795, + "Ġintersect": 31796, + "\"];ĊĊ": 31797, + "belie": 31798, + "Ġinactive": 31799, + ".readline": 31800, + "-labelled": 31801, + ".done": 31802, + "lickr": 31803, + "ĠWORK": 31804, + "Ġderivative": 31805, + "Ġdatabases": 31806, + "âĤĤ": 31807, + "Ġsx": 31808, + ".isArray": 31809, + "Ġys": 31810, + "Ġpada": 31811, + "ĠBullet": 31812, + "(`/": 31813, + "isActive": 31814, + "ĠCGSize": 31815, + "(equalTo": 31816, + "ĠColumbus": 31817, + "Ġmarry": 31818, + "DEV": 31819, + "_limits": 31820, + "rones": 31821, + "IAS": 31822, + "Ġtau": 31823, + "mino": 31824, + "_Write": 31825, + "ĠWine": 31826, + "Ġ[['": 31827, + "ĠPull": 31828, + "riters": 31829, + "rients": 31830, + "Ġshifting": 31831, + "upp": 31832, + "_TIMER": 31833, + "ĠConditions": 31834, + "ấ": 31835, + "ĠOrders": 31836, + "ĠStrength": 31837, + "æīĢ": 31838, + "Ġvalidity": 31839, + "Ġfot": 31840, + "etur": 31841, + "Ġbolt": 31842, + "åĨħ": 31843, + "ĠAlong": 31844, + "oshi": 31845, + "Ġassumptions": 31846, + "Ġmagazines": 31847, + "_SPI": 31848, + "Ġpunt": 31849, + "_PRODUCT": 31850, + "Ġrelay": 31851, + "ĠJavascript": 31852, + ".te": 31853, + "-es": 31854, + "Ġwidgets": 31855, + "(fs": 31856, + "\";": 31923, + "atching": 31924, + "ĠKnowledge": 31925, + "ĉThe": 31926, + ";margin": 31927, + "lessness": 31928, + "opard": 31929, + "umatic": 31930, + "()));čĊ": 31931, + "Ġfals": 31932, + "(cache": 31933, + "TypeId": 31934, + "éĢļ": 31935, + "_choice": 31936, + "ĠGoth": 31937, + "ĠSites": 31938, + "MG": 31939, + "_border": 31940, + "Indices": 31941, + "Comparer": 31942, + "ĠRedistribution": 31943, + "Ġcloset": 31944, + "Ġversatile": 31945, + "Inputs": 31946, + "********************": 31947, + "Ġobesity": 31948, + "quiz": 31949, + "gra": 31950, + "(global": 31951, + "åĬ¡": 31952, + "Ġcollector": 31953, + "Ġkor": 31954, + "ovable": 31955, + "ADC": 31956, + "ĠEventHandler": 31957, + ".nc": 31958, + "Ġplayback": 31959, + "ientos": 31960, + "_perm": 31961, + "_WARNING": 31962, + "ĠOlympics": 31963, + ".norm": 31964, + "ĠBroadcast": 31965, + "_small": 31966, + "drive": 31967, + ".iloc": 31968, + "Ġtyped": 31969, + "MEM": 31970, + "_cons": 31971, + "DMETHOD": 31972, + "Ġlun": 31973, + ".distance": 31974, + "(par": 31975, + "poon": 31976, + "Ġbast": 31977, + "activities": 31978, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 31979, + ":čĊčĊ": 31980, + "SER": 31981, + ")&&": 31982, + "_lst": 31983, + "ĠPolish": 31984, + "Ġknocked": 31985, + "Ġfrustration": 31986, + "aukee": 31987, + "Ġphosph": 31988, + "iquid": 31989, + "_coeff": 31990, + "æŃ¤": 31991, + "Latest": 31992, + "ĠDust": 31993, + "Tipo": 31994, + "Ġmaintains": 31995, + "Ġmarsh": 31996, + "incinn": 31997, + "lbl": 31998, + "Care": 31999, + "Ġneighborhoods": 32000, + "_gpio": 32001, + "ĠArsenal": 32002, + "Dem": 32003, + "ĠWhe": 32004, + "_hook": 32005, + "Ġldc": 32006, + "ĠHarper": 32007, + "ĠBerkeley": 32008, + "Ġgraduated": 32009, + "Percent": 32010, + "Ġarriving": 32011, + "ĠAdventure": 32012, + "(scope": 32013, + "('*": 32014, + "quarter": 32015, + "ĠMarie": 32016, + "Speaking": 32017, + "_codegen": 32018, + "Ġimmun": 32019, + "caster": 32020, + "ãĤĮ": 32021, + "åķĨ": 32022, + "ĠDimensions": 32023, + ".record": 32024, + "Ġtexto": 32025, + "ĠMichelle": 32026, + "Pending": 32027, + "(by": 32028, + "_PAR": 32029, + "ucht": 32030, + "bee": 32031, + ".Thread": 32032, + "ampire": 32033, + "know": 32034, + "ĠClinical": 32035, + "ĠmarginBottom": 32036, + "Ġdistinguish": 32037, + ".Full": 32038, + ".undefined": 32039, + "ĠSequelize": 32040, + "############################################################################": 32041, + "Ġeducated": 32042, + "_OVER": 32043, + "åºı": 32044, + "ĠÂłĠÂł": 32045, + "_each": 32046, + "Ġurge": 32047, + "depart": 32048, + "Ġdonors": 32049, + "ĠAu": 32050, + "Ġbillions": 32051, + "Ġbelonging": 32052, + "_age": 32053, + "_Int": 32054, + "Ġsubstances": 32055, + "machine": 32056, + "!!!ĊĊ": 32057, + "Ġjsonify": 32058, + "ibbean": 32059, + "ĠCad": 32060, + "ĠendTime": 32061, + "Ġcycling": 32062, + "ĠUITextField": 32063, + "Ġleverage": 32064, + "Ġvanilla": 32065, + "eat": 32066, + "Launch": 32067, + "(pt": 32068, + "states": 32069, + "ĠControls": 32070, + "ĠRespons": 32071, + "ĠJake": 32072, + "Ġasleep": 32073, + "fortunate": 32074, + ".nextLine": 32075, + "SizeMode": 32076, + "ìĿ¼": 32077, + "TestingModule": 32078, + "German": 32079, + "ĠInvestig": 32080, + ".reverse": 32081, + "ĠBACK": 32082, + "(DateTime": 32083, + "Ġnonprofit": 32084, + "ĠExpect": 32085, + "Ġtanto": 32086, + "']),": 32087, + "ĉthe": 32088, + "Multiple": 32089, + "(getActivity": 32090, + "_WAIT": 32091, + "Ġjá": 32092, + "decor": 32093, + "levance": 32094, + "ĠGitHub": 32095, + "mination": 32096, + "_quantity": 32097, + ".Scanner": 32098, + "ĠLion": 32099, + "éĶĻ误": 32100, + "Ġdre": 32101, + "Ġtantra": 32102, + "ĠcontentType": 32103, + "Ġfid": 32104, + "_alt": 32105, + "NSIndexPath": 32106, + "-pl": 32107, + "åĮĸ": 32108, + "Ġantibiot": 32109, + "tables": 32110, + "acial": 32111, + "ĠRegistry": 32112, + "Ġolive": 32113, + "igers": 32114, + "Ġsubscriber": 32115, + "_pres": 32116, + "ĠSyntax": 32117, + "Ġlovers": 32118, + ".Byte": 32119, + "olders": 32120, + "_forward": 32121, + "always": 32122, + "Caption": 32123, + "Priv": 32124, + "ĠTampa": 32125, + "isateur": 32126, + "-labelledby": 32127, + "ĠToString": 32128, + "ĠìĤ¬": 32129, + "Ġinitiated": 32130, + "WF": 32131, + "Ġinstitutional": 32132, + "inject": 32133, + "ĠScr": 32134, + "Ġdoctrine": 32135, + "Ġspacious": 32136, + "isure": 32137, + "ĠAna": 32138, + "\"time": 32139, + "essaging": 32140, + "Ġcid": 32141, + "ĠNan": 32142, + "Ġincomplete": 32143, + "TAG": 32144, + "-build": 32145, + "December": 32146, + "Ġresidual": 32147, + "(PDO": 32148, + "ĠListen": 32149, + "Ġglyph": 32150, + "Ġgaps": 32151, + "nea": 32152, + ".Rect": 32153, + "Ġsau": 32154, + "ĠPhotograph": 32155, + "Ġexecutable": 32156, + "ĠExpert": 32157, + "Coroutine": 32158, + "_sizes": 32159, + "ĠNL": 32160, + ".isValid": 32161, + ");}Ċ": 32162, + "-reg": 32163, + "Ġciting": 32164, + "cwd": 32165, + "ĠOttawa": 32166, + "ĠBatt": 32167, + "Ġrenewable": 32168, + "Ġpreliminary": 32169, + "Ġasylum": 32170, + "Ġwrist": 32171, + "Ġutiliz": 32172, + "Ġdetention": 32173, + "Fast": 32174, + "Ġange": 32175, + "incinnati": 32176, + "Ġsteering": 32177, + "ĠNaN": 32178, + "iosity": 32179, + "/page": 32180, + "Ġè¿": 32181, + "sterol": 32182, + "Ġdisg": 32183, + "(DB": 32184, + "ĠDESCRIPTION": 32185, + "Ġ_$": 32186, + "Ġobstacle": 32187, + "Ġbizarre": 32188, + "Ġextraction": 32189, + "_expected": 32190, + "Ġloses": 32191, + "ĠCelebr": 32192, + "ĠhtmlFor": 32193, + "Ġexploit": 32194, + "олÑĮзов": 32195, + "XYZ": 32196, + "Ġmagnet": 32197, + "amped": 32198, + "Ġatoms": 32199, + "Sources": 32200, + "pectives": 32201, + "Ñģли": 32202, + "Ġ=čĊ": 32203, + "Ġdare": 32204, + "ĠWalter": 32205, + "Ġbrightness": 32206, + "Ġannotations": 32207, + "ëı": 32208, + "iske": 32209, + "Schedule": 32210, + ".images": 32211, + "rosso": 32212, + "Ġ\"..": 32213, + "gamma": 32214, + "Ġinstructor": 32215, + "Ġoverwrite": 32216, + "-am": 32217, + "Ġdevastating": 32218, + "ĠSaints": 32219, + "Ġhs": 32220, + "Ġbonuses": 32221, + "$output": 32222, + "ijd": 32223, + "(ActionEvent": 32224, + "monitor": 32225, + "Ġmattress": 32226, + "January": 32227, + ".jp": 32228, + "Ġcaracter": 32229, + "Ġimpose": 32230, + "_rest": 32231, + "ĠSignature": 32232, + "Ġcoronavirus": 32233, + "ãģĬ": 32234, + "_compare": 32235, + "Measure": 32236, + "itated": 32237, + "elijk": 32238, + "igos": 32239, + "esar": 32240, + "Ġrushed": 32241, + "metry": 32242, + "_SEPARATOR": 32243, + "_WE": 32244, + "_ATTRIBUTE": 32245, + "Ġyaml": 32246, + "Ġspecs": 32247, + "ĠRah": 32248, + "pheric": 32249, + "ĠInvestment": 32250, + "äll": 32251, + "Ġappealing": 32252, + "Ġviewport": 32253, + "ç©": 32254, + "ĠmarginLeft": 32255, + "Ġsubtract": 32256, + "ĠEDIT": 32257, + "ĉArrayList": 32258, + "grading": 32259, + "ĠFailure": 32260, + "asper": 32261, + "EEK": 32262, + "(now": 32263, + ")Ċ": 32279, + "Collision": 32280, + "ĠGreater": 32281, + "ĠRacing": 32282, + "alan": 32283, + "Ġmonetary": 32284, + ",new": 32285, + "ĠSorry": 32286, + ".Enable": 32287, + "ĠInstantiate": 32288, + "ollen": 32289, + "ë©´": 32290, + "ĠCalling": 32291, + "_hour": 32292, + "ADA": 32293, + "Ġshy": 32294, + ")**": 32295, + "Ġ==>": 32296, + "Ġespecial": 32297, + "Ġinterpreted": 32298, + "!=\"": 32299, + "Ġpharmacy": 32300, + ".single": 32301, + "ĠCialis": 32302, + "Ġparas": 32303, + ".toUpperCase": 32304, + "ĠDemon": 32305, + "Prime": 32306, + "Ġrankings": 32307, + "Adding": 32308, + "_HASH": 32309, + "ĠExam": 32310, + "Ú©": 32311, + "ĠVictor": 32312, + "Okay": 32313, + "\"];čĊ": 32314, + "Ġfortune": 32315, + "ĠFETCH": 32316, + "expand": 32317, + ".Interop": 32318, + "Ġbarn": 32319, + "æ¶Ī": 32320, + "uevo": 32321, + "Ġspeculation": 32322, + "âĶĢâĶĢâĶĢâĶĢ": 32323, + "ĠNu": 32324, + "ĠBlues": 32325, + "(fname": 32326, + "Ġinhabit": 32327, + "Ġ\\\"%": 32328, + "CES": 32329, + "ulario": 32330, + "_cr": 32331, + "Ġvalidated": 32332, + "Ġmidnight": 32333, + "anking": 32334, + "Ġincorporate": 32335, + "Ġpursuit": 32336, + "EXP": 32337, + "prime": 32338, + "Pid": 32339, + "-US": 32340, + "ĠNurs": 32341, + "ĠWheel": 32342, + "éĺ": 32343, + "Ġinp": 32344, + "Ġsupportive": 32345, + ".member": 32346, + "ĠShot": 32347, + ".CheckBox": 32348, + "Ġaffirm": 32349, + "Tor": 32350, + "FullYear": 32351, + "Ġconsiderably": 32352, + "credentials": 32353, + "_opts": 32354, + "Roll": 32355, + "(round": 32356, + "Ġcoment": 32357, + "_UART": 32358, + "Ġextending": 32359, + "RG": 32360, + "resultado": 32361, + "itu": 32362, + ".getSession": 32363, + "Ġattraction": 32364, + "&D": 32365, + "$html": 32366, + "ĠJessica": 32367, + "ĠAssociate": 32368, + "añ": 32369, + "_ed": 32370, + "ĠLag": 32371, + "Ġorigins": 32372, + "())->": 32373, + "addEventListener": 32374, + "IALOG": 32375, + "åIJ¦": 32376, + ".Compare": 32377, + "Album": 32378, + "ĠKu": 32379, + "\";ĊĊ": 32423, + "quisite": 32424, + "channels": 32425, + "/res": 32426, + "ĠAnalytics": 32427, + ".appcompat": 32428, + "/to": 32429, + "ĠonError": 32430, + "(attr": 32431, + "IRM": 32432, + "Ġragaz": 32433, + "-as": 32434, + ".Second": 32435, + "oriented": 32436, + "Ġdonn": 32437, + "Ġlightning": 32438, + "fid": 32439, + "ĠPle": 32440, + "ãģ¾ãģĻ": 32441, + "tro": 32442, + ".True": 32443, + "Observable": 32444, + "×Ļ": 32445, + "umbing": 32446, + "Ġprospective": 32447, + "-filter": 32448, + "Ġpursuant": 32449, + "(points": 32450, + ".Bind": 32451, + "Ġpalm": 32452, + "clearfix": 32453, + "ös": 32454, + "ĠGonz": 32455, + "Ġweaken": 32456, + "Drive": 32457, + "enido": 32458, + "lld": 32459, + "obox": 32460, + "anean": 32461, + "Got": 32462, + "ä¿Ŀ": 32463, + "Regex": 32464, + "æĥ": 32465, + "Ġsalad": 32466, + "assis": 32467, + "\"net": 32468, + "inheritDoc": 32469, + "ĠRV": 32470, + "quier": 32471, + "Ġclazz": 32472, + "Ä±ÅŁ": 32473, + "osterone": 32474, + "Ġairline": 32475, + ".listdir": 32476, + "Ġdownloading": 32477, + "ĠPalm": 32478, + "waukee": 32479, + "<": 32480, + ".BL": 32481, + "_INLINE": 32482, + "offs": 32483, + "<<(": 32484, + "_news": 32485, + "Ġchase": 32486, + "/><": 32487, + "Ġeuros": 32488, + "ĠEgyptian": 32489, + "ĠStainless": 32490, + "_BOOL": 32491, + "ĠGuild": 32492, + "ĠDynam": 32493, + "[indexPath": 32494, + "Ġï": 32495, + "Ġmemorable": 32496, + "ĠChampion": 32497, + "ResourceManager": 32498, + ".Login": 32499, + "ĠFormer": 32500, + "yped": 32501, + "Ġlleg": 32502, + ";\",": 32503, + "DWORD": 32504, + "Ġtaxi": 32505, + "Ġbombs": 32506, + "rah": 32507, + ".tags": 32508, + "_tests": 32509, + "stones": 32510, + "âĢĿ)": 32511, + "[g": 32512, + "rtype": 32513, + "Ġvu": 32514, + "Ġhostile": 32515, + "Chars": 32516, + "ĠPatriots": 32517, + "/status": 32518, + "());Ċ": 32872, + "ajÄħ": 32873, + "_OCC": 32874, + "Ġplanets": 32875, + "æŁ¥": 32876, + "ĠDublin": 32877, + "Ġserie": 32878, + ".printf": 32879, + "deep": 32880, + "`)": 32881, + "Ġ\\$": 32882, + "Ġμ": 32883, + "_VIDEO": 32884, + "endors": 32885, + "ĠCrypto": 32886, + "Far": 32887, + ".Transparent": 32888, + ".TR": 32889, + "iasm": 32890, + "_training": 32891, + "Ġteaches": 32892, + "ĠBelt": 32893, + "Ġlimiting": 32894, + "ĠKath": 32895, + "ĠIndexPath": 32896, + "Ġachievements": 32897, + "Ġserá": 32898, + "interopRequire": 32899, + "Ġdisse": 32900, + ".If": 32901, + "arming": 32902, + "ulsion": 32903, + "Po": 32904, + "_DETAIL": 32905, + "Prototype": 32906, + "ĠCAL": 32907, + "Ġagrees": 32908, + ".vo": 32909, + ".ExecuteNonQuery": 32910, + "ĠTopic": 32911, + "Ġ'{}": 32912, + "Arm": 32913, + "Ġecc": 32914, + "Mag": 32915, + "Ġserialized": 32916, + "ĉconn": 32917, + "cached": 32918, + "=tf": 32919, + "ĠByteArray": 32920, + "protobuf": 32921, + "varchar": 32922, + "ĉASSERT": 32923, + "Ġliste": 32924, + "_trigger": 32925, + "·¸": 32926, + "Feel": 32927, + "Tahoma": 32928, + "ĠLik": 32929, + "Ġstructured": 32930, + "ergus": 32931, + ".Initial": 32932, + "_ge": 32933, + "cljs": 32934, + ".contact": 32935, + "Ġandere": 32936, + "$stmt": 32937, + "_CURRENT": 32938, + "ĠDiscover": 32939, + "$res": 32940, + "formatter": 32941, + "Ha": 32942, + "vangst": 32943, + "Ġemerge": 32944, + "ãĢĤâĢĿ": 32945, + "ĠCabinet": 32946, + "-square": 32947, + "éĥ¨": 32948, + "Ġrage": 32949, + "ĠAJ": 32950, + "ĠVT": 32951, + "shadow": 32952, + "ĠFaith": 32953, + "enames": 32954, + "pretty": 32955, + "hasil": 32956, + "party": 32957, + "Ġvarchar": 32958, + "Ġfotos": 32959, + "Ġalum": 32960, + "ĠBelgium": 32961, + ".ylabel": 32962, + "Ġdej": 32963, + "_numbers": 32964, + "Ġhu": 32965, + ".setAdapter": 32966, + "ĠUsually": 32967, + "(sample": 32968, + ".Shared": 32969, + "Ġbooked": 32970, + "Ġ>>=": 32971, + "Ġminerals": 32972, + "\">": 32991, + "prog": 32992, + "boo": 32993, + "_md": 32994, + "_pack": 32995, + "(express": 32996, + "utz": 32997, + "\\Auth": 32998, + ",id": 32999, + "ĠChile": 33000, + "actice": 33001, + "Ġrecruitment": 33002, + "Ġposes": 33003, + "Ġvulnerability": 33004, + "instanc": 33005, + "orum": 33006, + "dess": 33007, + "Ġxl": 33008, + "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%": 33009, + "(fig": 33010, + "Ġdeleting": 33011, + ".del": 33012, + ")')Ċ": 33013, + "ĠWeekly": 33014, + "???": 33015, + "(strcmp": 33016, + "smith": 33017, + "Ġpursuing": 33018, + "-so": 33019, + "ĠApps": 33020, + "/'Ċ": 33021, + "Ġdecis": 33022, + "FORE": 33023, + "Everyone": 33024, + "Ġlanes": 33025, + "Virtual": 33026, + ".attach": 33027, + "(Log": 33028, + "ĠMedicaid": 33029, + "(Path": 33030, + "ĠTurner": 33031, + "/application": 33032, + "Ġportrait": 33033, + "Ġoppose": 33034, + "checkout": 33035, + "Ġfinishes": 33036, + "_ME": 33037, + "Barrier": 33038, + "Song": 33039, + "VAR": 33040, + "Earlier": 33041, + "rella": 33042, + "Ġhast": 33043, + "azar": 33044, + "Ġpulls": 33045, + "ngx": 33046, + "Ġinspiring": 33047, + "ÑĥÑİ": 33048, + "-direction": 33049, + "Ġexplosive": 33050, + "ĠcreatedAt": 33051, + "sto": 33052, + "Ġwheat": 33053, + "ĠBuilt": 33054, + "'ai": 33055, + "Ġtracked": 33056, + "hammad": 33057, + "RowAtIndexPath": 33058, + "_heap": 33059, + "Due": 33060, + "Ġconnects": 33061, + ".publish": 33062, + "emu": 33063, + "Ġbullets": 33064, + "BAR": 33065, + "olate": 33066, + "Ġinternally": 33067, + "Ġcatching": 33068, + "-password": 33069, + "ouched": 33070, + "æĢ§": 33071, + "eous": 33072, + "Ġxrange": 33073, + "Quality": 33074, + "vv": 33075, + "Manage": 33076, + "(($": 33077, + "acements": 33078, + "ĠBrothers": 33079, + "ĠHEAD": 33080, + "ĠUnsupported": 33081, + "san": 33082, + "esi": 33083, + "***Ċ": 33084, + "Ġadaptation": 33085, + "ĠWorker": 33086, + "']/": 33087, + ".savefig": 33088, + "(trans": 33089, + "ج": 33090, + "nee": 33091, + "Correct": 33092, + "...\")Ċ": 33093, + "Ġsubmitting": 33094, + "-path": 33095, + "ĉlast": 33096, + "issan": 33097, + ".xlabel": 33098, + "ĠSepar": 33099, + "/no": 33100, + "_best": 33101, + "ĠMills": 33102, + "_sock": 33103, + "(flag": 33104, + "Ġdestinations": 33105, + "emption": 33106, + "ĠFAIL": 33107, + "åĴĮ": 33108, + "Ġrp": 33109, + "fact": 33110, + "ĉlen": 33111, + "DAY": 33112, + "Ġseiz": 33113, + "_dst": 33114, + "lip": 33115, + ".Linear": 33116, + "ĠBasket": 33117, + "$t": 33118, + "$i": 33119, + "-brand": 33120, + "ĠNeil": 33121, + "ĠEq": 33122, + "Ġthou": 33123, + "ogene": 33124, + "Ġscholarship": 33125, + "æĽ´": 33126, + "Ġswo": 33127, + "aginator": 33128, + "eni": 33129, + "(book": 33130, + "Ġblink": 33131, + "thus": 33132, + "ĠcancellationToken": 33133, + "ĠPalestinians": 33134, + "Ġprofitable": 33135, + "Ġbackpack": 33136, + "enson": 33137, + "true": 33284, + "ĠNYC": 33285, + "Ġbored": 33286, + "ĠDetect": 33287, + "Ġappar": 33288, + "Ġjeans": 33289, + "ĠTak": 33290, + "IOD": 33291, + "ĠHorse": 33292, + "(FILE": 33293, + "(?": 33294, + "rique": 33295, + "optimizer": 33296, + "nat": 33297, + "loys": 33298, + "ĉToken": 33299, + "oubted": 33300, + "uess": 33301, + "ocoa": 33302, + "DataMember": 33303, + "_POWER": 33304, + "classList": 33305, + "PushButton": 33306, + "ĠWiFi": 33307, + ".Stream": 33308, + ".guild": 33309, + "Ġnog": 33310, + "ĠPortugal": 33311, + "ĠUnter": 33312, + "Primitive": 33313, + "boss": 33314, + "ĠDeutsch": 33315, + "Ġerotic": 33316, + "Ġstrconv": 33317, + ".TryParse": 33318, + "Ġgrams": 33319, + ".Success": 33320, + "_pk": 33321, + "ĠHarvey": 33322, + "-minded": 33323, + ".country": 33324, + "[]\"": 33325, + "Ġangel": 33326, + "Ġbeats": 33327, + "ĠVor": 33328, + "ilio": 33329, + ".master": 33330, + "something": 33331, + "ĠPACK": 33332, + "(if": 33333, + "RequestBody": 33334, + "Ġantes": 33335, + "/widget": 33336, + "Ġmodo": 33337, + "ĠAW": 33338, + "finder": 33339, + "Ġoptimized": 33340, + "Ġmissiles": 33341, + "NB": 33342, + "ĉinternal": 33343, + "tex": 33344, + "ĠSri": 33345, + "Ġdamaging": 33346, + "ĠMais": 33347, + "-Allow": 33348, + "ĠZh": 33349, + "-alt": 33350, + "Ġ));ĊĊ": 33351, + "èī": 33352, + "Ġinfluences": 33353, + "Ġcatal": 33354, + "_REGISTER": 33355, + "ĠAPIs": 33356, + "-century": 33357, + "Ġbiology": 33358, + "ĠActual": 33359, + "Ġheels": 33360, + "TRACE": 33361, + "_DIG": 33362, + "Dataset": 33363, + "ĠMatter": 33364, + "Ġclassifier": 33365, + ".wikipedia": 33366, + "ĠRogers": 33367, + "Ġdonated": 33368, + "rawler": 33369, + "enen": 33370, + "Ġcasinos": 33371, + "ortal": 33372, + "Ġprive": 33373, + "spe": 33374, + "ducers": 33375, + ".ep": 33376, + "Ġgrasp": 33377, + "acji": 33378, + "Ġdairy": 33379, + "Ġbuses": 33380, + ".comm": 33381, + ".ins": 33382, + "ĠIRS": 33383, + "ĠBeer": 33384, + "adc": 33385, + "oard": 33386, + "_MET": 33387, + "Ġ'+'": 33388, + "rans": 33389, + "Ġkinda": 33390, + "ĠâĶĤ": 33391, + "ĠMaur": 33392, + "аг": 33393, + "Ġbandwidth": 33394, + "ibus": 33395, + "ĠDifferent": 33396, + "(mat": 33397, + "ĠResume": 33398, + "_UNS": 33399, + "establish": 33400, + "Ġfonction": 33401, + "Subscription": 33402, + "_company": 33403, + "Ġlightly": 33404, + ".confirm": 33405, + ".yaml": 33406, + "ĠBoost": 33407, + "Commerce": 33408, + "-template": 33409, + "_DELAY": 33410, + "ĠHI": 33411, + "Ġnavig": 33412, + "(Sender": 33413, + "ĠHS": 33414, + "_\"+": 33415, + "ĠREQUEST": 33416, + "Ġwifi": 33417, + "=\"\"Ċ": 33418, + "])->": 33419, + "Ġrope": 33420, + "Ġviolated": 33421, + "Ġglance": 33422, + "ĠKurd": 33423, + "Ġè®": 33424, + "deck": 33425, + "ĠISBN": 33426, + "Ġinfect": 33427, + "ĠFoo": 33428, + "Ġgetter": 33429, + "Ġtener": 33430, + "appe": 33431, + ".hh": 33432, + "_hot": 33433, + "\".$": 33643, + "Ġrelies": 33644, + "(Console": 33645, + "International": 33646, + "->{$": 33647, + "Mid": 33648, + "Ġdissert": 33649, + "dds": 33650, + "Ġdeposits": 33651, + "ĉdriver": 33652, + "#ga": 33653, + "prising": 33654, + "println": 33655, + "Ġpresenter": 33656, + "Ġmines": 33657, + "CSS": 33658, + "ĠDual": 33659, + "(!(": 33660, + "Ġkam": 33661, + "ĠisLoading": 33662, + "ĠProtect": 33663, + ".upper": 33664, + "arium": 33665, + "]:ĊĊĊ": 33666, + "Yii": 33667, + "-shirt": 33668, + "ĠIMAGE": 33669, + "_colors": 33670, + "Ġurgent": 33671, + ".Container": 33672, + "!(Ċ": 33673, + "Saturday": 33674, + "Ġsocieties": 33675, + "ĠThan": 33676, + "ĠCod": 33677, + "=@": 33678, + "Ġattachments": 33679, + ".mobile": 33680, + "Ġspite": 33681, + "Ġbounce": 33682, + "rawl": 33683, + "instancetype": 33684, + "ĠTruck": 33685, + "Ġmanipulation": 33686, + "(Config": 33687, + "-inst": 33688, + "Ġstor": 33689, + "itution": 33690, + "PreferredGap": 33691, + "ĠmainAxisAlignment": 33692, + "Ġlistened": 33693, + "'''ĊĊ": 33694, + "ottage": 33695, + "-project": 33696, + ".APPLICATION": 33697, + "ĉroot": 33698, + "Ġwhit": 33699, + "Ġbilder": 33700, + "Ġker": 33701, + "Ġappliances": 33702, + "rowave": 33703, + "ìĿĢ": 33704, + "ematics": 33705, + "ĠOrg": 33706, + "oping": 33707, + "_SEARCH": 33708, + "Ġcham": 33709, + "addContainerGap": 33710, + "Ġ().": 33711, + "ĠArrow": 33712, + "Illegal": 33713, + "Currently": 33714, + "Ġusa": 33715, + "Ġpasswords": 33716, + "Ġrenown": 33717, + "avern": 33718, + "ĠEvil": 33719, + "Ġconcat": 33720, + "Ġduo": 33721, + "Ġvale": 33722, + "ĠBean": 33723, + "Ġindicators": 33724, + "cmath": 33725, + "ĠPump": 33726, + "November": 33727, + "ificant": 33728, + "_DOMAIN": 33729, + "regar": 33730, + "ĠPortal": 33731, + "\"$": 33732, + "Ġformerly": 33733, + "\"]:Ċ": 33734, + "ĠVisibility": 33735, + ".getElementsByClassName": 33736, + "_RED": 33737, + "Ġchampions": 33738, + "à´": 33739, + "Valor": 33740, + "_es": 33741, + "*a": 33742, + "-repeat": 33743, + "Band": 33744, + ".stage": 33745, + "Ġbureauc": 33746, + "Cnt": 33747, + "eten": 33748, + "-function": 33749, + "Ġmuito": 33750, + "PID": 33751, + "_editor": 33752, + "Ġcrashed": 33753, + "dead": 33754, + "kat": 33755, + "agh": 33756, + "ĠEXT": 33757, + "asser": 33758, + "-small": 33759, + "Ġrealiz": 33760, + "(Entity": 33761, + "ús": 33762, + "ĠActually": 33763, + "ĠElite": 33764, + "Ġhelm": 33765, + "(nonatomic": 33766, + "asher": 33767, + "Community": 33768, + "alleng": 33769, + "iry": 33770, + "ĠGrowth": 33771, + "Ġsue": 33772, + "Ġfrequencies": 33773, + "_descriptor": 33774, + ".Attribute": 33775, + "Ġrecipients": 33776, + "_NS": 33777, + "/\"+": 33778, + "iban": 33779, + "Ġathlete": 33780, + "ĠIgn": 33781, + "_DMA": 33782, + "(ds": 33783, + "ĠRequirements": 33784, + "ADI": 33785, + "erez": 33786, + "\\Admin": 33787, + "braska": 33788, + "ĠRust": 33789, + "Relation": 33790, + "COD": 33791, + "ĠVERSION": 33792, + "emma": 33793, + ")){": 33794, + ".Duration": 33795, + "ĠCamb": 33796, + "-logo": 33797, + "Ġreadable": 33798, + "Ġcreators": 33799, + "()];Ċ": 33800, + "UpDown": 33801, + "-half": 33802, + ".getMonth": 33803, + "(sf": 33804, + "Pic": 33805, + "Ġhunger": 33806, + ".tx": 33807, + "Ġexceeded": 33808, + "_seed": 33809, + "(^": 33810, + "_sk": 33811, + ".perform": 33812, + "Ġ>::": 33813, + "Ġmongo": 33814, + "=float": 33815, + "bindParam": 33816, + "Smart": 33817, + "ifa": 33818, + "Ġsecurities": 33819, + "Ġprejud": 33820, + "Ġ,\"": 33821, + "Ġcorps": 33822, + "Ġvra": 33823, + "amacare": 33824, + "iterr": 33825, + "(Media": 33826, + "uche": 33827, + "Ġcob": 33828, + "Ġliber": 33829, + ".geometry": 33830, + "Locator": 33831, + "Ġsliding": 33832, + "Ġsurgical": 33833, + "_CUR": 33834, + "Ġconsect": 33835, + "[*": 33836, + "ĠResort": 33837, + "Stub": 33838, + "_DOUBLE": 33839, + "ĠSoph": 33840, + "Ġelectoral": 33841, + "_disable": 33842, + "ĠÑģо": 33843, + "ĠLightning": 33844, + "Ġmentions": 33845, + "ocy": 33846, + "Ġleaked": 33847, + "Ġrelaxing": 33848, + "Presenter": 33849, + "vsp": 33850, + "Ġguilt": 33851, + "=-=-": 33852, + ".reply": 33853, + "ĠMirror": 33854, + "Camp": 33855, + "Ġ+#+#+#+": 33856, + "Ġ+#+#+#+#+#+": 33857, + ".Author": 33858, + "Ġdirective": 33859, + "-hook": 33860, + "íĦ°": 33861, + "}ĊĊĊĊĊ": 33862, + "@pytest": 33863, + "_rand": 33864, + "mis": 33865, + "Ġcolorful": 33866, + "uje": 33867, + "lasses": 33868, + "ĠClasses": 33869, + ".have": 33870, + "%),": 33871, + "é¢ĺ": 33872, + "Ġdisturbing": 33873, + "substring": 33874, + "ĠKoh": 33875, + "Invest": 33876, + "purchase": 33877, + "Ġrecycling": 33878, + "ĠART": 33879, + "ierarchy": 33880, + "Ġfps": 33881, + ".checkBox": 33882, + "íķ´": 33883, + "_material": 33884, + "ducation": 33885, + "Ġfw": 33886, + "udit": 33887, + "Ġreviewing": 33888, + "ĠSid": 33889, + "Syntax": 33890, + "ĠWritten": 33891, + "argar": 33892, + "UME": 33893, + "/q": 33894, + "Classifier": 33895, + "Official": 33896, + "Ġjazz": 33897, + "Ġomega": 33898, + "Physics": 33899, + "Ġlugar": 33900, + "_accessor": 33901, + ".commands": 33902, + "Ability": 33903, + "ĠBatch": 33904, + "RAM": 33905, + "Ġencounters": 33906, + ".Qu": 33907, + "BYTE": 33908, + "ĠDistribution": 33909, + "Ġuso": 33910, + "ĠRecovery": 33911, + "approved": 33912, + "Ġdenial": 33913, + "/share": 33914, + "LinkedList": 33915, + ")čĊčĊčĊ": 33916, + "uddy": 33917, + "Ġfines": 33918, + "Ġry": 33919, + "Unicode": 33920, + "ĉrender": 33921, + "Ġpremises": 33922, + "Ġpon": 33923, + "aliases": 33924, + "/Foundation": 33925, + "cuda": 33926, + "ĠCock": 33927, + ",:)": 33928, + "(folder": 33929, + "Ġméd": 33930, + "drag": 33931, + "Ġtalents": 33932, + "ĠĠĠĊĊ": 33933, + "еÑģÑĤв": 33934, + "mob": 33935, + ".yml": 33936, + "Ġaster": 33937, + "Ġdiscre": 33938, + "goal": 33939, + "ĠGTX": 33940, + "ĠSUCCESS": 33941, + "ĠLONG": 33942, + "(find": 33943, + "Ġsingular": 33944, + "_sz": 33945, + "ĠEthereum": 33946, + "..Ċ": 33947, + "Ġirres": 33948, + "')){Ċ": 33949, + "Ġministers": 33950, + "Steps": 33951, + "iversal": 33952, + "ĠNevertheless": 33953, + "-led": 33954, + "Ġ(%)": 33955, + "ç¡®": 33956, + "Ġtimezone": 33957, + "Ġstranger": 33958, + "(render": 33959, + "Ġshutil": 33960, + "Ġmph": 33961, + "Ġtrio": 33962, + "ppy": 33963, + "Ġpredomin": 33964, + "Ġendors": 33965, + "ĠRussians": 33966, + "ĉrow": 33967, + "Ġwizard": 33968, + ".serialize": 33969, + "Ġcomplained": 33970, + "Ġsido": 33971, + "Ġdelighted": 33972, + "-me": 33973, + "ĠRav": 33974, + "Human": 33975, + "adays": 33976, + "recv": 33977, + "Working": 33978, + "Jump": 33979, + "ĠÃ¥r": 33980, + "ĠAutomatic": 33981, + "_Base": 33982, + "æł¼": 33983, + "aurants": 33984, + "¯": 33985, + "æ¸": 33986, + "(CType": 33987, + "IFI": 33988, + "(amount": 33989, + "Ġbelieving": 33990, + "=mysql": 33991, + "Ġfir": 33992, + "Ġrestoration": 33993, + "ereco": 33994, + "Т": 33995, + "_'+": 33996, + "Ġebook": 33997, + "Ġdebris": 33998, + "(inputs": 33999, + "AYOUT": 34000, + "Ġscreaming": 34001, + "avia": 34002, + "lander": 34003, + "Ġdistress": 34004, + "Ġassembled": 34005, + "ĠAvoid": 34006, + "(thread": 34007, + "ĠRPC": 34008, + "_EXIT": 34009, + "(queue": 34010, + "иÑģÑĤ": 34011, + "Dll": 34012, + "Ġskull": 34013, + "_pub": 34014, + "chez": 34015, + "minate": 34016, + "ensen": 34017, + "Ġinsane": 34018, + "bounds": 34019, + "ĠRosen": 34020, + "Ġconditioning": 34021, + "processed": 34022, + "videos": 34023, + "four": 34024, + ".Conv": 34025, + "|;Ċ": 34026, + "Personal": 34027, + "cerpt": 34028, + ":UIControlStateNormal": 34029, + "Ġdoses": 34030, + "ĠKarl": 34031, + "ĠFrequ": 34032, + ".BASE": 34033, + "ĠVote": 34034, + "Ġconcurrent": 34035, + "ĠMessageBoxIcon": 34036, + "ĠÃĸ": 34037, + "ĠDubai": 34038, + "ĠRetail": 34039, + ":number": 34040, + "ĠObserver": 34041, + "ĠBigInteger": 34042, + "_origin": 34043, + "_WORK": 34044, + "Frames": 34045, + "Ġnotably": 34046, + ".âĢľ": 34047, + "Ġtropical": 34048, + "Ġniche": 34049, + "amina": 34050, + ".sys": 34051, + "(tokens": 34052, + "modify": 34053, + "osit": 34054, + "strom": 34055, + "ĠComics": 34056, + "OPTION": 34057, + "Ticket": 34058, + "Ġfactories": 34059, + "Ġdisput": 34060, + "_File": 34061, + "ĠFinn": 34062, + "eee": 34063, + "ĠDiscord": 34064, + "_money": 34065, + ".tpl": 34066, + "_safe": 34067, + "LB": 34068, + "Ġglut": 34069, + "JK": 34070, + ".flow": 34071, + "-cont": 34072, + "gos": 34073, + "Ġhorizon": 34074, + "ĠRush": 34075, + "::*": 34076, + "Pipe": 34077, + "ulla": 34078, + "borough": 34079, + "heimer": 34080, + "(move": 34081, + "(Text": 34082, + "});čĊčĊ": 34083, + "welcome": 34084, + "ĠComponents": 34085, + "Ġgovernance": 34086, + "closed": 34087, + "ĉmargin": 34088, + "Ġlaundry": 34089, + "ĠTerminal": 34090, + "izards": 34091, + ".âĢĶ": 34092, + ".remote": 34093, + ".radius": 34094, + "ĠQuebec": 34095, + "Ġdh": 34096, + "Tech": 34097, + "ĠMist": 34098, + "seller": 34099, + "_literal": 34100, + "Ġgenius": 34101, + "Ġbrains": 34102, + "gem": 34103, + "ĠMeasure": 34104, + "Ġcatast": 34105, + "rance": 34106, + ".TextField": 34107, + "Ġconsuming": 34108, + "Ġ'\\''": 34109, + "oubtedly": 34110, + "ĠCertain": 34111, + "Ev": 34112, + "erti": 34113, + "being": 34114, + "Experience": 34115, + "Ġ//[": 34116, + "ĠArabic": 34117, + "ĠCrist": 34118, + "ĠAzure": 34119, + "Ġhora": 34120, + "ladesh": 34121, + "\\Blueprint": 34122, + "dar": 34123, + ".rel": 34124, + "Ġsuprem": 34125, + "ĠReagan": 34126, + "ĠAttributes": 34127, + "-sidebar": 34128, + "ĠuseStyles": 34129, + "ĠAirlines": 34130, + "Ġhills": 34131, + "/xhtml": 34132, + "vinc": 34133, + "_mock": 34134, + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ": 34135, + "ĠPill": 34136, + ".LayoutStyle": 34137, + "ĠCommander": 34138, + "]<": 34139, + "signature": 34140, + "Ġ{}čĊ": 34141, + "Ġhatred": 34142, + "Ġëĭ": 34143, + "olesterol": 34144, + "Ġ********": 34145, + "ancellor": 34146, + "crop": 34147, + "TIM": 34148, + "ĉĉĊĊ": 34149, + "ysqli": 34150, + "uitive": 34151, + "ĉunset": 34152, + "_sel": 34153, + "Ġmenus": 34154, + "tick": 34155, + "Ġconstitute": 34156, + "ĠElements": 34157, + "ĠRedis": 34158, + "aggio": 34159, + "_fp": 34160, + "_depend": 34161, + "emas": 34162, + "CAST": 34163, + "orange": 34164, + "jon": 34165, + "ĠEmily": 34166, + "Ġpotatoes": 34167, + "Ġreceptor": 34168, + "ĠElectronic": 34169, + "ĠLights": 34170, + "Ġcombining": 34171, + "ĠSomeone": 34172, + "Ġ########.": 34173, + "ĠTOD": 34174, + "/show": 34175, + "Xd": 34176, + ".\"'": 34177, + "afx": 34178, + "Ġtragic": 34179, + "Styled": 34180, + "ĠMarco": 34181, + "Gallery": 34182, + "dale": 34183, + ".âĢĿĊĊĊĊ": 34184, + "érie": 34185, + "/service": 34186, + "äºĨ": 34187, + "Ġambient": 34188, + "_SETTINGS": 34189, + ".Adapter": 34190, + "lene": 34191, + "Ġtravels": 34192, + "Notice": 34193, + "Ġcleans": 34194, + "ĠFem": 34195, + "chair": 34196, + "Ñĥн": 34197, + "/my": 34198, + "_bad": 34199, + "ĠEconomics": 34200, + "ISA": 34201, + "_CNT": 34202, + "(Menu": 34203, + "äºİ": 34204, + "ĠRidge": 34205, + "Ġlengthy": 34206, + "Dot": 34207, + "Ġjumps": 34208, + "Ġhey": 34209, + "$pdf": 34210, + "Ġworm": 34211, + "Ġsut": 34212, + "Ġsher": 34213, + "iamo": 34214, + "ĠCalc": 34215, + "trieve": 34216, + "Ġcops": 34217, + "ĠChrom": 34218, + "Ġregulated": 34219, + "reatment": 34220, + "ĠHigher": 34221, + "oks": 34222, + "Ġdeze": 34223, + "LOCATION": 34224, + "ongsTo": 34225, + "Ġfinite": 34226, + "Ġvaries": 34227, + "Ġpositioned": 34228, + "'il": 34229, + "éĩij": 34230, + "Ġhike": 34231, + "(done": 34232, + "playlist": 34233, + "Ġada": 34234, + "Ġcoastal": 34235, + "ĠNancy": 34236, + ".DateTimeField": 34237, + "CppCodeGen": 34238, + "ĠSimilarly": 34239, + "reur": 34240, + "ĠContr": 34241, + "ĠHidden": 34242, + "ĠBeta": 34243, + "atched": 34244, + "_install": 34245, + ".Output": 34246, + "Lookup": 34247, + "ĠRichmond": 34248, + "quared": 34249, + "Ġmanga": 34250, + "-controls": 34251, + "ĠBernard": 34252, + "Large": 34253, + "Ġslices": 34254, + "Ġoffence": 34255, + "ĠMega": 34256, + "Ġestar": 34257, + "Ġjoints": 34258, + "Ġsumm": 34259, + "_platform": 34260, + "Buff": 34261, + ".addSubview": 34262, + "Ġretained": 34263, + "Letter": 34264, + ".dim": 34265, + "Ġessere": 34266, + "ĠScaffold": 34267, + "EXPECT": 34268, + "ĉRE": 34269, + ".longitude": 34270, + "ünd": 34271, + "Ġstatue": 34272, + ".addWidget": 34273, + "ĠCaribbean": 34274, + "addPreferredGap": 34275, + "ilde": 34276, + "UILabel": 34277, + "ĠOpport": 34278, + "Ġimperial": 34279, + "ursion": 34280, + "Ġmandate": 34281, + "Ġpromotional": 34282, + "Ġvk": 34283, + "iaÅĤ": 34284, + "Ġpyl": 34285, + "ĠCreation": 34286, + "озд": 34287, + "Ġsimpler": 34288, + ".what": 34289, + "ĠRecent": 34290, + "Storm": 34291, + ".quantity": 34292, + "ĠLov": 34293, + "\"-": 34294, + "ubbles": 34295, + "_notification": 34296, + "(world": 34297, + "urger": 34298, + "*(-": 34299, + ":\"Ċ": 34300, + "hm": 34301, + "anship": 34302, + "ĠAlmost": 34303, + "Ġmotorcycle": 34304, + "_fee": 34305, + "Ġabsorb": 34306, + "ĠVincent": 34307, + "Ġsounded": 34308, + "ÃŃst": 34309, + "Ġpharmaceutical": 34310, + "htag": 34311, + "ĠKindle": 34312, + "italize": 34313, + "ĠEmperor": 34314, + "oustic": 34315, + "Ġspecialists": 34316, + "åħ¬": 34317, + "BorderStyle": 34318, + "/\\": 34319, + "RELATED": 34320, + "(',',": 34321, + "(expr": 34322, + "Ġht": 34323, + "åįĪ": 34324, + "_Create": 34325, + "Ġspecially": 34326, + "Ġ[];čĊ": 34327, + "Ġheel": 34328, + "Ġsept": 34329, + "_arch": 34330, + "(initial": 34331, + "%.ĊĊ": 34332, + "\\\",\\\"": 34333, + "Ġdiscusses": 34334, + "Ġupt": 34335, + "Ġ[&": 34336, + "Ġmanus": 34337, + ".hand": 34338, + "ĠMAIN": 34339, + "ĠDenmark": 34340, + "Ġ],čĊ": 34341, + "Ġcryst": 34342, + "Ġnack": 34343, + "Coords": 34344, + "_inner": 34345, + "Ġmidst": 34346, + "Ġawake": 34347, + "ĠÐŀ": 34348, + "-break": 34349, + "ÃŃvel": 34350, + "_PASS": 34351, + "ĠParams": 34352, + "Ġdetr": 34353, + "Ġspider": 34354, + "ĠConcept": 34355, + "Ġprend": 34356, + "CHED": 34357, + ".Exit": 34358, + "Ġpopulated": 34359, + "Ġvirtue": 34360, + "_SESSION": 34361, + "Ġnouvel": 34362, + "oauth": 34363, + "ĠданнÑĭ": 34364, + "rink": 34365, + ".HeaderText": 34366, + "aturated": 34367, + "Ġerst": 34368, + "Ġåħ": 34369, + "à¥ĩ": 34370, + "_visible": 34371, + "eyer": 34372, + "Ġliable": 34373, + "Ġdebe": 34374, + "Ġbw": 34375, + "{-#": 34376, + "_WIN": 34377, + "dfs": 34378, + "Hover": 34379, + "ĠPUT": 34380, + "-angle": 34381, + "Ġnoble": 34382, + "Ġtraces": 34383, + "encv": 34384, + "ĠuserData": 34385, + "_ins": 34386, + "ĠSuz": 34387, + "Ġnewsletters": 34388, + "ĠModi": 34389, + "Ġentrepreneurs": 34390, + "Ġtribute": 34391, + "Ġrumors": 34392, + "Ġrr": 34393, + "ĠQuarter": 34394, + "ê³ł": 34395, + "Ġfeeds": 34396, + "óg": 34397, + "Ġenvelope": 34398, + "Ġlear": 34399, + "Ġkø": 34400, + "developer": 34401, + "Similar": 34402, + ":\")Ċ": 34403, + "subscription": 34404, + "Modifier": 34405, + "italic": 34406, + "Ġnasty": 34407, + "Ġtermination": 34408, + "Ġcharming": 34409, + "ĠâŁ": 34410, + "tons": 34411, + ".trace": 34412, + "hots": 34413, + "ĠUR": 34414, + "Mont": 34415, + "Ġjustified": 34416, + "ĠGang": 34417, + "inea": 34418, + "Ġbog": 34419, + "(ap": 34420, + "_$": 34421, + "Ġcontamin": 34422, + ".Dot": 34423, + "ĉDebug": 34424, + "(exports": 34425, + "Ġpaired": 34426, + "ĠAssignment": 34427, + "Ġautomobile": 34428, + "ĵį": 34429, + "Ġphases": 34430, + "vw": 34431, + "@SuppressWarnings": 34432, + "=\\": 34433, + "rant": 34434, + "-ed": 34435, + "ĉawait": 34436, + "Ġcertificates": 34437, + "'>\"": 34438, + "Ġintact": 34439, + "CTRL": 34440, + "Mike": 34441, + "gregation": 34442, + "ATTERN": 34443, + "Ġrepublic": 34444, + "_upper": 34445, + "iliary": 34446, + "Ġcomputation": 34447, + "hire": 34448, + "ĠShin": 34449, + "_ANY": 34450, + "ĠManufacturer": 34451, + "ĠCarm": 34452, + "Ġbearings": 34453, + "_comb": 34454, + "cad": 34455, + "uristic": 34456, + "Ġwholesale": 34457, + "Ġdonor": 34458, + ".interfaces": 34459, + "presso": 34460, + "ĠBrun": 34461, + "-close": 34462, + "prove": 34463, + "_SK": 34464, + "ĉframe": 34465, + "etros": 34466, + "ĠPain": 34467, + "_EXP": 34468, + "ĠLT": 34469, + "_fs": 34470, + ".datas": 34471, + "ĉss": 34472, + "voir": 34473, + "ĠAxis": 34474, + "Major": 34475, + "=\"<": 34476, + "[h": 34477, + "Ġprofess": 34478, + "igrate": 34479, + "(score": 34480, + "Keyword": 34481, + "\"os": 34482, + "ĠĠĠĠĉĊ": 34483, + "analysis": 34484, + "Ġreplay": 34485, + ".pass": 34486, + "\\d": 34487, + "tls": 34488, + "Ġsanct": 34489, + ".light": 34490, + "_mobile": 34491, + "ÑģÑĤÑĮ": 34492, + "ĉtotal": 34493, + "uity": 34494, + "Ġpaused": 34495, + "NAS": 34496, + "Ġencore": 34497, + "loe": 34498, + "Ġ-*-ĊĊ": 34499, + ".high": 34500, + "ampler": 34501, + "ĠSecure": 34502, + "Ġfragments": 34503, + "_vel": 34504, + "illary": 34505, + "ĠStein": 34506, + "ĠDawn": 34507, + "Ġmaximize": 34508, + "ย": 34509, + "Ġ/^": 34510, + "Ġcontinually": 34511, + "Ġshadows": 34512, + "ĉĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 34513, + "ĠIActionResult": 34514, + "Ġinformación": 34515, + "CHECK": 34516, + ".SelectedItem": 34517, + "bundle": 34518, + "olley": 34519, + "<": 34681, + "Ġtrajectory": 34682, + "_ring": 34683, + "Ġhydrogen": 34684, + "tron": 34685, + "Ġstatute": 34686, + "Ġconditional": 34687, + "Ġtray": 34688, + "-school": 34689, + "(widget": 34690, + "$config": 34691, + "Ġrequesting": 34692, + ".uint": 34693, + "eton": 34694, + "brities": 34695, + "OfType": 34696, + "ADMIN": 34697, + "predict": 34698, + "Ġgegen": 34699, + "ĠHapp": 34700, + "OCUMENT": 34701, + "ĠApart": 34702, + "Ġ-----": 34703, + "roe": 34704, + "uide": 34705, + "justify": 34706, + "ĠSquad": 34707, + "Ġprofes": 34708, + ".bot": 34709, + "_currency": 34710, + "innen": 34711, + "ĠMumbai": 34712, + "ĠNumbers": 34713, + "avanaugh": 34714, + "agnitude": 34715, + "âĢľThere": 34716, + "=http": 34717, + "çīĩ": 34718, + "Ġvb": 34719, + "+'{{$": 34802, + "Ġinode": 34803, + "sil": 34804, + "Ġhace": 34805, + "Ġseverely": 34806, + "ĠOverview": 34807, + "Ġspraw": 34808, + "Ġbeaches": 34809, + ":left": 34810, + "·»": 34811, + "(${": 34812, + "ĠFIRST": 34813, + "ĠSpa": 34814, + "-ass": 34815, + "Ġbaise": 34816, + "ĠNODE": 34817, + "ĠPizza": 34818, + "Pet": 34819, + "(seq": 34820, + "\\\">Ċ": 34821, + "CppMethodPointer": 34822, + "Ġvp": 34823, + "Ġia": 34824, + "_seconds": 34825, + "emet": 34826, + "/blob": 34827, + "_THRESH": 34828, + "...čĊ": 34829, + "Dest": 34830, + "ĠNH": 34831, + ".dataSource": 34832, + "ités": 34833, + "ĠJak": 34834, + "sell": 34835, + "Ġworkshops": 34836, + "\",Ċ": 35452, + "_Pin": 35453, + "uese": 35454, + "Ġoverrides": 35455, + "_ready": 35456, + "Advanced": 35457, + "Ġopi": 35458, + "-cart": 35459, + "(\"/\",": 35460, + "ĠDeb": 35461, + "CRY": 35462, + "ĠVertical": 35463, + "ĠOVER": 35464, + "ĠCorporate": 35465, + "Ġ\"\";": 35466, + "Ġstepping": 35467, + "ej": 35468, + "Ġaccusations": 35469, + "Ġoraz": 35470, + "_tail": 35471, + "Ġinduced": 35472, + "Ġelastic": 35473, + "Ġblown": 35474, + ",//": 35475, + "Ġbackgrounds": 35476, + "âĢĻune": 35477, + "-sdk": 35478, + "ĠsetInterval": 35479, + "Ġincentives": 35480, + "Ġvegetable": 35481, + "_On": 35482, + "expanded": 35483, + "pix": 35484, + "_shader": 35485, + "ĠSPDX": 35486, + "@example": 35487, + "ĠWrapper": 35488, + ".Zero": 35489, + "Positive": 35490, + "Ġspinner": 35491, + "Ġinvented": 35492, + "ĠGates": 35493, + "оÑĤоÑĢ": 35494, + "Ġcomparisons": 35495, + "è·": 35496, + ".primary": 35497, + "dataProvider": 35498, + "additional": 35499, + "ĉoptions": 35500, + "snapshot": 35501, + ".setHorizontal": 35502, + "Ġ\"{}": 35503, + "ĠFisher": 35504, + "halten": 35505, + "": 35538, + "ĠRegistered": 35539, + "INED": 35540, + "kal": 35541, + "parison": 35542, + "Ġobjeto": 35543, + "Vi": 35544, + "manda": 35545, + "Ġrenewed": 35546, + "ĠSof": 35547, + "essel": 35548, + ".ndarray": 35549, + "Ġcrap": 35550, + "管": 35551, + ".abspath": 35552, + "(up": 35553, + "Ġclearance": 35554, + "ĠTW": 35555, + "_COPY": 35556, + "ĠĠĠĠĠĠĠĠĠĠĠĠĉ": 35557, + "Ġforests": 35558, + "Ġarguably": 35559, + "ĠASS": 35560, + "hey": 35561, + "amel": 35562, + "_fore": 35563, + "ĠSoutheast": 35564, + "Ġabused": 35565, + "Ġpracticing": 35566, + "akedirs": 35567, + "主": 35568, + "_resources": 35569, + "Ġpond": 35570, + ".Fixed": 35571, + "LastError": 35572, + "ĠPsychology": 35573, + "Ġ\"//": 35574, + "!:": 35575, + "Reusable": 35576, + "Ġmensaje": 35577, + "Ġrospy": 35578, + "Ġbour": 35579, + "Ġvarieties": 35580, + "Ġempath": 35581, + "(({": 35582, + "_org": 35583, + "ĠMes": 35584, + "ĠMagento": 35585, + "ISTORY": 35586, + "Unless": 35587, + "Ġhj": 35588, + "ĠDuty": 35589, + "Jun": 35590, + ",size": 35591, + "Ġpaintings": 35592, + "Ġdispens": 35593, + "dart": 35594, + "Ġbehavioral": 35595, + "Ġrpc": 35596, + "calculate": 35597, + "fruit": 35598, + "_mm": 35599, + "ĉpthread": 35600, + "MaxLength": 35601, + "Ġcurrencies": 35602, + "_capacity": 35603, + "ĠOz": 35604, + "Ġfirearm": 35605, + "Ġcoefficient": 35606, + "Ġbankruptcy": 35607, + "wart": 35608, + "Ġfatigue": 35609, + "AVA": 35610, + "Ġespa": 35611, + "_pc": 35612, + "ĠQuotes": 35613, + "_LIGHT": 35614, + "ĠTickets": 35615, + "Ġrelates": 35616, + "Ġpublishers": 35617, + "Ġunlocked": 35618, + "Ġ//----------------------------------------------------------------": 35619, + "ĠInterruptedException": 35620, + "Ġoutlook": 35621, + "rn": 35622, + "Ġrebels": 35623, + "Written": 35624, + "Ġasian": 35625, + "otto": 35626, + "Ġĉĉĉĉ": 35627, + "_gpu": 35628, + "Txt": 35629, + ".ImageView": 35630, + "Ġsuis": 35631, + "_tables": 35632, + ".RecyclerView": 35633, + "Ġwhatsoever": 35634, + "èģ": 35635, + "]++;Ċ": 35636, + "assertTrue": 35637, + "_verify": 35638, + "ĠRivers": 35639, + "Ġ][": 35640, + "Jet": 35641, + "idian": 35642, + "Sibling": 35643, + "Ġgenres": 35644, + ".Access": 35645, + "OPS": 35646, + "Ġtrivial": 35647, + "ส": 35648, + "alen": 35649, + "вед": 35650, + "ĠSword": 35651, + "Ġscrutiny": 35652, + "(cb": 35653, + "Ġcommerce": 35654, + "Ġguarantees": 35655, + "_adv": 35656, + "ĠLET": 35657, + "recio": 35658, + "Ġhilar": 35659, + "Ġbackyard": 35660, + "ãĢı": 35661, + "Ġillustrated": 35662, + "/vendor": 35663, + ".Util": 35664, + "Ġwow": 35665, + "LOY": 35666, + "ĠMarshal": 35667, + "\">'.$": 35668, + "ĠBak": 35669, + "Ġmodifiers": 35670, + "dictionary": 35671, + "ĠStre": 35672, + "multiple": 35673, + "\")),": 35674, + "ĠCort": 35675, + "']\").": 35676, + "(admin": 35677, + "ĠCreator": 35678, + "Internet": 35679, + "(ms": 35680, + "logy": 35681, + "DECLARE": 35682, + "ĠMarcus": 35683, + "<<<<": 35684, + "ãģł": 35685, + "_my": 35686, + "(inst": 35687, + "Ġsciences": 35688, + "NDER": 35689, + ".enter": 35690, + "Ġitu": 35691, + "Ġbehave": 35692, + "Pan": 35693, + "ombies": 35694, + "='<": 35695, + "'));čĊ": 35696, + "ĠMENU": 35697, + "ĠWorkers": 35698, + ".NoError": 35699, + "Ġbindings": 35700, + "Ġdisabilities": 35701, + "{\\": 35702, + "ĠMunicip": 35703, + "Ġcores": 35704, + "urple": 35705, + "ĠNokia": 35706, + "usions": 35707, + "ĠFitness": 35708, + ".handleChange": 35709, + "Ġjavascript": 35710, + "ìļĶ": 35711, + "(dec": 35712, + "Ġpacking": 35713, + "-depend": 35714, + "Ġtranscript": 35715, + "zeros": 35716, + "_alert": 35717, + "?\",Ċ": 35718, + "libs": 35719, + "±Ð¾ÑĤ": 35720, + "Ġ|ĊĊ": 35721, + "trained": 35722, + "ĠGent": 35723, + "ĠRab": 35724, + "xp": 35725, + "_configuration": 35726, + "天": 35727, + "_accept": 35728, + ".recyclerview": 35729, + ":url": 35730, + "ĠMuhammad": 35731, + "Ġprivileges": 35732, + "_bank": 35733, + "uku": 35734, + "wallet": 35735, + "ĠROOT": 35736, + "Ġencuent": 35737, + "?family": 35738, + "ĉposition": 35739, + "Ġcg": 35740, + "Ġprecip": 35741, + "methods": 35742, + "_fast": 35743, + "increment": 35744, + "ĠTiger": 35745, + "_OCCURRED": 35746, + "quip": 35747, + "ĠHAS": 35748, + "_dom": 35749, + "Ġwreck": 35750, + "bj": 35751, + "Ġdern": 35752, + "Ġorgans": 35753, + ".entries": 35754, + "Ġ_('": 35755, + "ramento": 35756, + "ĠJamie": 35757, + "Ġpunk": 35758, + "IPP": 35759, + "Ġprograma": 35760, + "Ġattain": 35761, + "Ġproves": 35762, + "/sign": 35763, + "Ġanswering": 35764, + "Ġladder": 35765, + "****************************": 35766, + "ĠWalmart": 35767, + "ĠCONTENT": 35768, + "ductor": 35769, + "Ġverbal": 35770, + "ĠPID": 35771, + "crypto": 35772, + "_CALLBACK": 35773, + "Ġ=================================": 35774, + "Ġpotent": 35775, + "Ġshorts": 35776, + ".Uri": 35777, + ".uniform": 35778, + ";border": 35779, + "ĠWer": 35780, + "Ġherein": 35781, + "lla": 35782, + "ĠIhr": 35783, + "Pixmap": 35784, + "literal": 35785, + "!)ĊĊ": 35786, + "generic": 35787, + "rust": 35788, + "_scripts": 35789, + "osto": 35790, + "itus": 35791, + "ĠCoalition": 35792, + "Ġremot": 35793, + "deploy": 35794, + "ĠEagle": 35795, + "ãĢģãĢĮ": 35796, + "Ġimportante": 35797, + "ĉobject": 35798, + "Ġseasonal": 35799, + "nej": 35800, + "aidu": 35801, + "BindView": 35802, + "ĠSierra": 35803, + "-bg": 35804, + "ĠmakeStyles": 35805, + "[offset": 35806, + "Games": 35807, + "Ġhormone": 35808, + "ARIO": 35809, + "heads": 35810, + "(select": 35811, + "ĠStarted": 35812, + "@param": 35813, + "_decl": 35814, + "_blog": 35815, + "Ġaño": 35816, + "\\Api": 35817, + "ĠMilwaukee": 35818, + "Provid": 35819, + "Animated": 35820, + "Ġcooler": 35821, + "ĠSeed": 35822, + ".Edit": 35823, + "ÏĦ": 35824, + "ĠTaking": 35825, + "ĠborderColor": 35826, + "-founder": 35827, + ".LoggerFactory": 35828, + "Ġ\"\"ĊĊ": 35829, + "ALT": 35830, + "ĠLate": 35831, + "EDIATE": 35832, + "Ġ);ĊĊĊ": 35833, + "afa": 35834, + "Ġcancellation": 35835, + "Atom": 35836, + "ĠBirmingham": 35837, + "empresa": 35838, + "HEMA": 35839, + "ascal": 35840, + "Ġupside": 35841, + ".Version": 35842, + "ĠFolder": 35843, + "ĠEight": 35844, + "ĠVintage": 35845, + "ĠAppDelegate": 35846, + "ĠPrevention": 35847, + ".separator": 35848, + "STM": 35849, + "(room": 35850, + "generator": 35851, + "Ġcattle": 35852, + "ĉZ": 35853, + "ĠParticle": 35854, + "'};Ċ": 35855, + "Ġneighbours": 35856, + "ĠStateless": 35857, + "Ġaltitude": 35858, + "Ġsaint": 35859, + "обав": 35860, + "Ġconvinc": 35861, + "ĠContents": 35862, + "Ġjeune": 35863, + "(ts": 35864, + "Serialization": 35865, + "(collection": 35866, + "ĠJazz": 35867, + "ĠDod": 35868, + "ĠRoch": 35869, + "acio": 35870, + "commended": 35871, + "DEFINE": 35872, + ".onload": 35873, + "Ġspecialty": 35874, + "PLACE": 35875, + "_MOVE": 35876, + "Ġaccountable": 35877, + "Reuters": 35878, + "Ġficken": 35879, + "Ġdepr": 35880, + "Wow": 35881, + "Void": 35882, + ".space": 35883, + "à¸Ĺ": 35884, + "Ġtq": 35885, + "ĠPets": 35886, + "<$": 35887, + "(Current": 35888, + "berries": 35889, + "planation": 35890, + "ĠlistOf": 35891, + "ĠThu": 35892, + "ĠPRINT": 35893, + "Ġmismo": 35894, + "Ġdoi": 35895, + "chk": 35896, + "ĠUnicode": 35897, + "(role": 35898, + "Ġvirgin": 35899, + "-->Ċ": 36360, + "Vol": 36361, + "ĠSSD": 36362, + "))),": 36363, + ".Optional": 36364, + "Ġnurses": 36365, + "Ġorb": 36366, + "_pe": 36367, + ");čĊčĊčĊ": 36368, + "placed": 36369, + "esser": 36370, + "Ġtherapeutic": 36371, + "Ġwhitespace": 36372, + "Ġaston": 36373, + "Successful": 36374, + "Ġpraised": 36375, + "ĠWes": 36376, + "Ġeighth": 36377, + "iral": 36378, + "Ġvrouw": 36379, + "Ġfaction": 36380, + "_bias": 36381, + "Ġwitch": 36382, + "Ġnpc": 36383, + "(sb": 36384, + "ĠRodrig": 36385, + "_big": 36386, + "Dependency": 36387, + "ĠAbraham": 36388, + "ardi": 36389, + "CAR": 36390, + "nos": 36391, + "Ġabundance": 36392, + "Ġnutrients": 36393, + "instein": 36394, + ".Vert": 36395, + "ĠISS": 36396, + "D": 36495, + "Ġservlet": 36496, + "bastian": 36497, + "Ġ>&": 36498, + "SID": 36499, + "_clk": 36500, + "Ġdivisions": 36501, + "}',Ċ": 36502, + "Ġdildo": 36503, + "Ġparade": 36504, + "major": 36505, + "Ġaboard": 36506, + ";++": 36507, + "Ġfusion": 36508, + "\"},{\"": 36509, + "ĠDialogResult": 36510, + "ĉarr": 36511, + "-em": 36512, + "_nr": 36513, + "(handler": 36514, + ".NET": 36515, + ".XtraReports": 36516, + "ĠShah": 36517, + "ĠBrief": 36518, + "-,": 36519, + "Ġprecio": 36520, + "ĉĉĉĠĠĠĠĠĠ": 36521, + "Ġtant": 36522, + "ĠGrande": 36523, + "/xml": 36524, + "_ICON": 36525, + "ĠRetro": 36526, + "unque": 36527, + "Ġnag": 36528, + "toFixed": 36529, + "XL": 36530, + "Ġdeclaring": 36531, + "ĠConcrete": 36532, + "ĠAmazing": 36533, + "ĉprintk": 36534, + "Ġdebates": 36535, + "DATED": 36536, + "Ġaesthetic": 36537, + "emetery": 36538, + "RoutingModule": 36539, + "ĠNashville": 36540, + "WAYS": 36541, + "Ġwolf": 36542, + "Ġobservers": 36543, + "OTA": 36544, + "anson": 36545, + "Ġea": 36546, + "Ġgreenhouse": 36547, + "ĵįä½ľ": 36548, + "Ġstair": 36549, + "Ġimmigrant": 36550, + "_apply": 36551, + "peare": 36552, + "ĠBloomberg": 36553, + "_PLAYER": 36554, + "Resp": 36555, + "æŃ£": 36556, + "Chooser": 36557, + "ĠICollection": 36558, + "Peter": 36559, + "Erro": 36560, + ".detectChanges": 36561, + "Maps": 36562, + "Ġsqueeze": 36563, + "ĠHomes": 36564, + "wegian": 36565, + "Ġformatting": 36566, + "Ġnegotiate": 36567, + "uld": 36568, + "ĠNep": 36569, + "ĠQB": 36570, + "Ġeconomies": 36571, + "Ġ*/,": 36572, + "Ġredund": 36573, + "ĠAber": 36574, + ".IsNullOrWhiteSpace": 36575, + "ycled": 36576, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ": 36577, + "_Sh": 36578, + "Ġskept": 36579, + "Ġrecreated": 36580, + "ĠgetType": 36581, + "Ġmargins": 36582, + "Ġcolonial": 36583, + "charts": 36584, + "//@": 36585, + "Ġprocessors": 36586, + "说": 36587, + "batis": 36588, + "æĦı": 36589, + "atorio": 36590, + "mentioned": 36591, + "Patient": 36592, + "Ġprey": 36593, + "Checkbox": 36594, + "_xpath": 36595, + ".skip": 36596, + "ĠMormon": 36597, + "ĠMemoryStream": 36598, + "CREMENT": 36599, + "Ġku": 36600, + "meld": 36601, + "\\Data": 36602, + "ĠKernel": 36603, + "iltr": 36604, + "éĢģ": 36605, + "(profile": 36606, + "Carbon": 36607, + "ROLE": 36608, + "(pl": 36609, + "]*(": 36610, + ".memory": 36611, + "Ġmedal": 36612, + "Ġadvisor": 36613, + "ität": 36614, + "Ġhdr": 36615, + "ierung": 36616, + "ĠProvides": 36617, + "(alpha": 36618, + "Ġteenagers": 36619, + "-parser": 36620, + ".LatLng": 36621, + "]()Ċ": 36622, + "Ġfelony": 36623, + "ĉĉĉĊĉĉĉĊ": 36624, + "BOOK": 36625, + "Ġslash": 36626, + "Ġclearfix": 36627, + "ĠProphet": 36628, + "容": 36629, + "rightness": 36630, + "-fi": 36631, + ".kind": 36632, + "erton": 36633, + "Jim": 36634, + "Ġmanipulate": 36635, + "Ġworksheet": 36636, + "olin": 36637, + "stars": 36638, + "Ġartifact": 36639, + "_EMPTY": 36640, + "ĉmain": 36641, + "-------------';": 36709, + "Ġexpressing": 36710, + "ĠIQ": 36711, + "ĠFact": 36712, + "/*******************************************************************************Ċ": 36713, + "_mass": 36714, + ")):": 36715, + "Ġcondom": 36716, + "ĠcreateState": 36717, + "ometown": 36718, + "Ġirr": 36719, + "Ġ>(": 36720, + ">B": 36721, + "iteration": 36722, + "ãĥª": 36723, + "Ġshirts": 36724, + "ounty": 36725, + "->$": 36726, + "_SIGN": 36727, + "ĠDale": 36728, + "Ġjj": 36729, + "Easy": 36730, + "Fre": 36731, + "ĠNy": 36732, + "Ġchlor": 36733, + "matched": 36734, + "ĠGerm": 36735, + "-UA": 36736, + "ĠNathan": 36737, + "education": 36738, + "-yard": 36739, + "-che": 36740, + "houses": 36741, + "ritional": 36742, + "Ġproximity": 36743, + "Ġdiesem": 36744, + "áºŃp": 36745, + "Ġdrought": 36746, + ".audio": 36747, + "ĠLeo": 36748, + "Ġfavorable": 36749, + "inch": 36750, + "ĠDaw": 36751, + "ribly": 36752, + "_student": 36753, + "idable": 36754, + "OVE": 36755, + "Ġlacks": 36756, + "ouncing": 36757, + ".business": 36758, + "Ġreopen": 36759, + "maybe": 36760, + "_GLOBAL": 36761, + "Ġdresses": 36762, + "ĠEdwards": 36763, + "ensible": 36764, + "ĠHardware": 36765, + "ĠExcellent": 36766, + "ĠTimeUnit": 36767, + "CTIONS": 36768, + "Ġschedules": 36769, + "Ġsegue": 36770, + "Opens": 36771, + "ammen": 36772, + "-Identifier": 36773, + "Ġstaring": 36774, + "Ġhappily": 36775, + "ĠHob": 36776, + "'_": 36777, + "Ġ\");": 36778, + "amentos": 36779, + "etched": 36780, + "Ġ/>}Ċ": 36781, + ".Users": 36782, + "Ġinterrupted": 36783, + "Contacts": 36784, + "Ġregistro": 36785, + "inburgh": 36786, + "CHA": 36787, + "_imp": 36788, + "phis": 36789, + "say": 36790, + "Ġretailer": 36791, + ".NODE": 36792, + "/maps": 36793, + "_LAST": 36794, + "ĠCharge": 36795, + "_guard": 36796, + "Collider": 36797, + "ĠStatelessWidget": 36798, + "\":[\"": 36799, + "(\"../../": 36800, + "ioxide": 36801, + "ĠSund": 36802, + "Ġ'';": 36803, + "unset": 36804, + "addWidget": 36805, + "лÑİ": 36806, + "elles": 36807, + "alker": 36808, + "Arc": 36809, + "Ġdeduct": 36810, + "GUILayout": 36811, + "ĠVilla": 36812, + "Ġforbidden": 36813, + "_where": 36814, + "Ġ\\/": 36815, + "ĠTib": 36816, + "_AX": 36817, + "]čĊčĊ": 36818, + "ĠBir": 36819, + "Ġbend": 36820, + "ĠMAKE": 36821, + "ĠMET": 36822, + "Ġfutures": 36823, + "Ġweighted": 36824, + "\"\"\"čĊ": 36825, + "Ġauthorize": 36826, + "(program": 36827, + "},{\"": 36828, + "Ġcoefficients": 36829, + "ês": 36830, + "PerPage": 36831, + "ĠBathroom": 36832, + "ĠPublishing": 36833, + "GPL": 36834, + "Ġsubmissions": 36835, + "ĠNUMBER": 36836, + "jÄħ": 36837, + "Ġadditionally": 36838, + "empre": 36839, + "ĠShel": 36840, + "otyp": 36841, + "Solution": 36842, + "Ġthunder": 36843, + "_ec": 36844, + "ĠĊĠĠĠĠĊ": 36845, + "ĠFellow": 36846, + "Ġkay": 36847, + "ĠnewState": 36848, + "ONTAL": 36849, + "Implementation": 36850, + ".Look": 36851, + "Ġents": 36852, + "Ġlors": 36853, + "ĠBIG": 36854, + "fab": 36855, + "Ġaveraged": 36856, + "ĠFeedback": 36857, + "ĠWells": 36858, + "Ġmartial": 36859, + "Ġindul": 36860, + "ĠCommunist": 36861, + "ĠForex": 36862, + "ĠAgriculture": 36863, + "\"[": 36864, + "Ġquar": 36865, + "ĠKont": 36866, + "ĉview": 36867, + ".Bytes": 36868, + "desktop": 36869, + "ĠMakes": 36870, + "akespeare": 36871, + ".Nullable": 36872, + "Ġspotlight": 36873, + "VB": 36874, + "owy": 36875, + "(torch": 36876, + "tridge": 36877, + "_bounds": 36878, + "Ġapologize": 36879, + ".addItem": 36880, + "antd": 36881, + "*);Ċ": 36882, + ",u": 36883, + "(gen": 36884, + "ç»ĵ": 36885, + "reator": 36886, + "ĠCord": 36887, + "oupper": 36888, + ".metro": 36889, + "Ġew": 36890, + "ĠWORD": 36891, + ".After": 36892, + "Ġdetained": 36893, + "ĠHammer": 36894, + "existing": 36895, + "Ġost": 36896, + "Ġmonument": 36897, + "-custom": 36898, + "UserID": 36899, + "ĠNom": 36900, + "Ġrejection": 36901, + "(dim": 36902, + "Ġsingleton": 36903, + "ĉdie": 36904, + "ariance": 36905, + "reports": 36906, + "]!=": 36907, + "elda": 36908, + "Ġprevalence": 36909, + "_regs": 36910, + ".\".": 36911, + "Ġfeminist": 36912, + "Codec": 36913, + "Ġ**Ċ": 36914, + "(labels": 36915, + "_MARK": 36916, + "FAILED": 36917, + "Ġadministered": 36918, + "WN": 36919, + "ĠĠĠĠĠĠĠĠĉĉ": 36920, + "Ġnoun": 36921, + "wig": 36922, + "Ġgotta": 36923, + "Ġrif": 36924, + "-im": 36925, + "ĠPaulo": 36926, + "ĠCommandType": 36927, + "]))ĊĊ": 36928, + "-zero": 36929, + "Training": 36930, + "Ġlord": 36931, + "_art": 36932, + "reddit": 36933, + "Cert": 36934, + "Ġpeso": 36935, + "Rot": 36936, + "Ġendanger": 36937, + ".dr": 36938, + "userInfo": 36939, + "unts": 36940, + "nv": 36941, + "ĠTrailer": 36942, + "-first": 36943, + "(make": 36944, + "Ġbenefici": 36945, + "-black": 36946, + "iÃŁ": 36947, + "Ġundoubtedly": 36948, + "Ġmex": 36949, + "ĠAncient": 36950, + "(as": 36951, + "Ġdescent": 36952, + "Pick": 36953, + "Ġreplica": 36954, + "$obj": 36955, + "ähr": 36956, + "Ġarrows": 36957, + "fty": 36958, + "ĠLibya": 36959, + "uga": 36960, + "charged": 36961, + "Tur": 36962, + "Ġhomic": 36963, + "issen": 36964, + "ĠFake": 36965, + "Ġbeers": 36966, + "Ġscattered": 36967, + "(Time": 36968, + "UTIL": 36969, + "Ġbureaucr": 36970, + "/plain": 36971, + "Ġsticking": 36972, + "FAIL": 36973, + "ĠCovid": 36974, + "Third": 36975, + "_present": 36976, + "ĠPierre": 36977, + "Ġëª": 36978, + "Ġ[...]ĊĊ": 36979, + "Prob": 36980, + "ĠTraffic": 36981, + "icao": 36982, + "doctor": 36983, + "Ġ),ĊĊ": 36984, + "Tabs": 36985, + "alu": 36986, + "ï¼ļâĢľ": 36987, + "Ġinherent": 36988, + "_No": 36989, + "ritis": 36990, + "ĠProof": 36991, + ".basename": 36992, + "ä¼ļ": 36993, + "Ġchim": 36994, + "ĠProtected": 36995, + "crit": 36996, + "Ġprone": 36997, + "Ġкон": 36998, + "ĠHeroes": 36999, + "Ġanxious": 37000, + "Ġanos": 37001, + "Ġweekends": 37002, + "Ġsext": 37003, + "Ġreducer": 37004, + "=UTF": 37005, + "half": 37006, + "ĠSaw": 37007, + ".mm": 37008, + "Ġnueva": 37009, + ".currentTarget": 37010, + ".lua": 37011, + "_EXTENSION": 37012, + "ĉreg": 37013, + "ĠCtrl": 37014, + "_align": 37015, + "acceptable": 37016, + "Ġrushing": 37017, + "frac": 37018, + "Ġboasts": 37019, + "Five": 37020, + "±": 37021, + "ĠTemperature": 37022, + ">):": 37023, + "Ġcharter": 37024, + "REATED": 37025, + "Ġsubjected": 37026, + "Ġopc": 37027, + "healthy": 37028, + "使ç͍": 37029, + "ĠScientific": 37030, + "Ġfrau": 37031, + "riages": 37032, + "à¸Ķ": 37033, + ".inventory": 37034, + "ationale": 37035, + "Mad": 37036, + "minutes": 37037, + ">>();Ċ": 37038, + "ĠEnv": 37039, + "Ġrecordings": 37040, + "Ġsuspicion": 37041, + "sqlite": 37042, + "ĉread": 37043, + "ãģ¦": 37044, + "Ġworries": 37045, + ".putString": 37046, + "ĠShanghai": 37047, + "(uid": 37048, + "rer": 37049, + "ĠvÃŃde": 37050, + "\"):": 37051, + "Ġmethodology": 37052, + "ĠкоÑĤоÑĢ": 37053, + "ccc": 37054, + "avad": 37055, + "Ġinduction": 37056, + "ĉThread": 37057, + ",string": 37058, + "ại": 37059, + "nehmen": 37060, + "uition": 37061, + "Ġ*__": 37062, + ".emf": 37063, + "Ġìľ": 37064, + "/themes": 37065, + "ĠNine": 37066, + ".One": 37067, + "ĠEmbed": 37068, + "Ġfaz": 37069, + "uations": 37070, + "Ġprivately": 37071, + "Ġling": 37072, + "[F": 37073, + "ushi": 37074, + "Ġlaunches": 37075, + "(KEY": 37076, + "GMT": 37077, + "Ġaiming": 37078, + "patible": 37079, + "ĠBiden": 37080, + "iw": 37081, + "ĠDegree": 37082, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 37083, + "Ġ$('<": 37084, + "ários": 37085, + "toUpperCase": 37086, + "ìłľ": 37087, + "ĠEUR": 37088, + "Ġoversight": 37089, + "Ġtablesp": 37090, + "Updates": 37091, + ".makedirs": 37092, + "Ġhumidity": 37093, + "/template": 37094, + "Always": 37095, + "(IS": 37096, + "_cert": 37097, + "Dig": 37098, + "Ġunderway": 37099, + "orton": 37100, + "ĠHurricane": 37101, + "Ġspends": 37102, + "ĠSegment": 37103, + "Ġflies": 37104, + "ĠToggle": 37105, + "ĠLynch": 37106, + "Ġsenses": 37107, + "ĠKos": 37108, + "setEnabled": 37109, + "istically": 37110, + "Ġtester": 37111, + "Ġadministrators": 37112, + "Ġtagged": 37113, + "Ðĵ": 37114, + "Ġshortcut": 37115, + "ĠResolution": 37116, + "Ġsupervision": 37117, + "ĠAshley": 37118, + "Tracking": 37119, + "ulatory": 37120, + "andel": 37121, + "isten": 37122, + "Ġunre": 37123, + "(diff": 37124, + "ANTS": 37125, + "Ġrider": 37126, + "ĠsÄħ": 37127, + ".Series": 37128, + "_orders": 37129, + "ORIZONTAL": 37130, + "Ġretention": 37131, + "ãĢĤčĊčĊ": 37235, + "Ġdiagonal": 37236, + "ĠCancellationToken": 37237, + "_Internal": 37238, + "Ġruin": 37239, + ".Qt": 37240, + "ocratic": 37241, + "Tel": 37242, + "ĠAnswers": 37243, + "matic": 37244, + "Ġxp": 37245, + "atem": 37246, + "_jobs": 37247, + "_any": 37248, + "Ġseniors": 37249, + "Ġlandmark": 37250, + "ĠQList": 37251, + "Ġmaneu": 37252, + "otify": 37253, + "/\";Ċ": 37254, + "/server": 37255, + "ĠPhilosoph": 37256, + "utenant": 37257, + "(io": 37258, + "hz": 37259, + "Ġauthenticated": 37260, + "dv": 37261, + "-Compatible": 37262, + "Originally": 37263, + ",function": 37264, + "ãĢĤčĊ": 37265, + "ĠRepresentative": 37266, + "asily": 37267, + "ircuit": 37268, + ".dt": 37269, + "(math": 37270, + ".Marshal": 37271, + "[,": 37272, + "ĠCities": 37273, + "_turn": 37274, + "|)Ċ": 37275, + "Ġcantidad": 37276, + "alter": 37277, + "ĉui": 37278, + "ĠNebraska": 37279, + "Ġskirt": 37280, + ".bg": 37281, + "SharedPreferences": 37282, + "(style": 37283, + "Ġgrief": 37284, + "gew": 37285, + "Ġsafeg": 37286, + "olang": 37287, + "_lists": 37288, + "ìĽ": 37289, + "Ġgranite": 37290, + "Ġhottest": 37291, + ".jdbc": 37292, + ".Customer": 37293, + "Ġâī¤": 37294, + "Ġwaar": 37295, + "_scene": 37296, + "+'/": 37297, + "ĠJTextField": 37298, + "Ġseating": 37299, + "Ġwears": 37300, + "Ġ`/": 37301, + "Cases": 37302, + "ĠYoutube": 37303, + "ım": 37304, + "Ġbalcon": 37305, + ",G": 37306, + "MetaData": 37307, + "-price": 37308, + "SCR": 37309, + "Unity": 37310, + "Ġtrunk": 37311, + "={`${": 37312, + "Ġearthquake": 37313, + "Partial": 37314, + "Ġsubst": 37315, + "Ġelimin": 37316, + "=\"'.": 37317, + "//*[@": 37318, + "Ġsupervisor": 37319, + "vrolet": 37320, + "_article": 37321, + "Ġpane": 37322, + "bio": 37323, + "Ġmotors": 37324, + "NM": 37325, + "Frank": 37326, + "Ġonion": 37327, + "-word": 37328, + "ItemClickListener": 37329, + "Ġbrit": 37330, + "endencies": 37331, + "Computer": 37332, + "_running": 37333, + "(day": 37334, + "-he": 37335, + "(named": 37336, + "ĠSach": 37337, + "оÑĩ": 37338, + "campaign": 37339, + ".Abstract": 37340, + "(wrapper": 37341, + ".pay": 37342, + "Ġuw": 37343, + "Geo": 37344, + "rails": 37345, + "/select": 37346, + "ichte": 37347, + "sons": 37348, + "EVENT": 37349, + "Ġaliment": 37350, + "Providers": 37351, + "Await": 37352, + "_INTERVAL": 37353, + ".off": 37354, + "Ġgluten": 37355, + "_cloud": 37356, + "Ġwen": 37357, + ".extract": 37358, + "ĉbutton": 37359, + "/MM": 37360, + "Party": 37361, + "Ġdemographic": 37362, + "_errno": 37363, + "Ġhiking": 37364, + "('')Ċ": 37365, + "\",@\"": 37366, + "Ġwit": 37367, + "rá": 37368, + "ologie": 37369, + "ĠStyles": 37370, + "ĠBrowserModule": 37371, + ".RequestMapping": 37372, + "icans": 37373, + "PAGE": 37374, + "creation": 37375, + "ĠFerguson": 37376, + "uded": 37377, + "numbers": 37378, + "ĠGTK": 37379, + "Ġpresentations": 37380, + "ĠBobby": 37381, + "_span": 37382, + "estyle": 37383, + "Ġillegally": 37384, + "abela": 37385, + "Ġbattlefield": 37386, + "capacity": 37387, + "terror": 37388, + "]\");Ċ": 37389, + "Ġwarrior": 37390, + "leader": 37391, + "ĠDBG": 37392, + "ĠRevenue": 37393, + "Ġvigil": 37394, + "Ġcounterparts": 37395, + "(Error": 37396, + "ACTER": 37397, + "Ġheeft": 37398, + "Ġselections": 37399, + "zeug": 37400, + "tom": 37401, + "-two": 37402, + ".;Ċ": 37403, + "_statement": 37404, + "ĠAid": 37405, + "ĠVul": 37406, + "_rgb": 37407, + "Ġprizes": 37408, + "Ġeditable": 37409, + "ĉform": 37410, + "ını": 37411, + ".decor": 37412, + "Demo": 37413, + "lices": 37414, + "Ġenctype": 37415, + "ratulations": 37416, + "ĠROS": 37417, + "_chars": 37418, + "ĠJahr": 37419, + "partial": 37420, + "ÑĥÑĤ": 37421, + "ĠReceive": 37422, + "ĠLands": 37423, + "APTER": 37424, + "Ġchopped": 37425, + "..\"": 37426, + "ĠAnaly": 37427, + "ĠUID": 37428, + "ĠRadeon": 37429, + "ĠBee": 37430, + "Ġunm": 37431, + ">M": 37432, + ".findall": 37433, + "Tokenizer": 37434, + "ĠWHAT": 37435, + "Ġsj": 37436, + "Drawing": 37437, + "Ess": 37438, + "OND": 37439, + "Ĭ¶": 37440, + "(packet": 37441, + "âĢĶbut": 37442, + "Invocation": 37443, + "ĠNuclear": 37444, + "?;Ċ": 37445, + "Ġgrandes": 37446, + "ĠCrypt": 37447, + "remark": 37448, + "Ġ'../../../../": 37449, + "Ġinability": 37450, + "magic": 37451, + "cats": 37452, + "Ġsimulate": 37453, + ":${": 37454, + "inflate": 37455, + "Ġener": 37456, + ":NO": 37457, + "iples": 37458, + "Ġmerit": 37459, + "ĠRated": 37460, + "Ġglue": 37461, + "/blog": 37462, + "Ġgren": 37463, + "Ġthrilled": 37464, + ".CH": 37465, + "uncan": 37466, + "ĠPRIMARY": 37467, + "Ġpersec": 37468, + "Ġfeared": 37469, + ".MIN": 37470, + "ĠTheater": 37471, + "éĴ": 37472, + "ategorie": 37473, + "段": 37474, + "Ġappetite": 37475, + "square": 37476, + "ĠAlexand": 37477, + ".UserId": 37478, + "_gt": 37479, + "_enter": 37480, + "Ġgraduates": 37481, + "FragmentManager": 37482, + "Authorize": 37483, + "-NLS": 37484, + "(My": 37485, + "Ġtriumph": 37486, + "usting": 37487, + "_PARAMS": 37488, + "Characters": 37489, + "(:,:,": 37490, + "_BUILD": 37491, + "MHz": 37492, + "Ġwashed": 37493, + "Ġuncle": 37494, + "Steve": 37495, + "ardown": 37496, + "${": 37680, + "_confirmation": 37681, + "Ġtrophy": 37682, + "Works": 37683, + "ĠElectronics": 37684, + "ĠMediterranean": 37685, + "_metrics": 37686, + "Ġannouncing": 37687, + "ĠDAY": 37688, + "_proto": 37689, + "Ġpear": 37690, + "baseUrl": 37691, + "ĉĉĉĉĉĉĉĉĊ": 37692, + "Ġcoordination": 37693, + ":N": 37694, + ".animate": 37695, + "ĠCotton": 37696, + "_hit": 37697, + "âľ": 37698, + "Ġjetzt": 37699, + "ifter": 37700, + "(fields": 37701, + "ownload": 37702, + "ificacion": 37703, + ".cuda": 37704, + "ĠLiu": 37705, + ">equals": 37706, + "ĠAce": 37707, + "ÑĢам": 37708, + "ĠSuperman": 37709, + "ĠGarcia": 37710, + "Ġarrests": 37711, + "agar": 37712, + "Ġ{})": 37713, + "Ġmacros": 37714, + "roupe": 37715, + "être": 37716, + "Ġtwisted": 37717, + "struments": 37718, + "_(\"": 37719, + "_vertices": 37720, + "ĠTransition": 37721, + "ик": 37722, + "[max": 37723, + "mind": 37724, + "ĠaccessToken": 37725, + "Ġunle": 37726, + "mus": 37727, + "cop": 37728, + "ĠFactor": 37729, + "Ġconced": 37730, + "Ġretr": 37731, + ".linalg": 37732, + "-slider": 37733, + "obl": 37734, + "_StaticFields": 37735, + "Ġzombie": 37736, + "selling": 37737, + "Ġchap": 37738, + "Ġshaking": 37739, + "ĠTranslate": 37740, + "ĠAmsterdam": 37741, + "ĠETH": 37742, + "_EXTERN": 37743, + "kd": 37744, + "_disc": 37745, + "Ġpreceding": 37746, + "Ġprix": 37747, + "ObjectName": 37748, + "_modified": 37749, + "ardware": 37750, + "Ġ?>\">": 37751, + "ĠDW": 37752, + "`${": 37753, + "Ġ?>\">ĊĊ": 37859, + "Ġspinning": 37860, + "_pending": 37861, + "Matchers": 37862, + ".Keys": 37863, + "ĠPV": 37864, + "enus": 37865, + "antis": 37866, + "Ġdiscard": 37867, + "Ġhaul": 37868, + "Ġempir": 37869, + "Ġpathway": 37870, + "Ġoak": 37871, + "мен": 37872, + "-induced": 37873, + "Ġimpair": 37874, + "ĠCalgary": 37875, + ".isHidden": 37876, + "dz": 37877, + "_include": 37878, + "Ġgm": 37879, + "Ġ'('": 37880, + "PY": 37881, + "uggestions": 37882, + "Ġcommodity": 37883, + "cro": 37884, + "/sub": 37885, + "ĠgetInstance": 37886, + "ĠLegacy": 37887, + "ĠKil": 37888, + "Bal": 37889, + "(short": 37890, + "Inform": 37891, + "+x": 37892, + "*r": 37893, + "ĠHopefully": 37894, + "orate": 37895, + "Ġmachen": 37896, + "Ġtreaty": 37897, + "ĠOri": 37898, + ".public": 37899, + "-horizontal": 37900, + "Ġtactic": 37901, + "Ġbord": 37902, + "wares": 37903, + "Ġammo": 37904, + "ĠLists": 37905, + "Ġequations": 37906, + "/her": 37907, + "ĠNSW": 37908, + "Bounding": 37909, + "_Collections": 37910, + "Ġavail": 37911, + ".DropDown": 37912, + "è°": 37913, + "Ġhh": 37914, + "ĠlÃł": 37915, + ".pb": 37916, + "Ġmemorial": 37917, + "ĠATTR": 37918, + "Ġexhausted": 37919, + "Ġtsp": 37920, + "ĉredirect": 37921, + "Ġlikewise": 37922, + "STER": 37923, + "Ljava": 37924, + "Ġcondemned": 37925, + "ocaust": 37926, + "(strict": 37927, + "Ġexempt": 37928, + "Ġsms": 37929, + "Ġexagger": 37930, + "SYS": 37931, + "Ġlounge": 37932, + ":^": 37933, + "Ġtodd": 37934, + "deb": 37935, + "atorial": 37936, + "ĠPorter": 37937, + "Ġtuition": 37938, + "Ġexempl": 37939, + "Ġparen": 37940, + ".lineTo": 37941, + "Ġkidney": 37942, + "Ġça": 37943, + "Ġcui": 37944, + "ï¼Į请": 37945, + "XC": 37946, + "Ġmoż": 37947, + "Ġnominated": 37948, + "lung": 37949, + "ImGui": 37950, + "ĠBuzz": 37951, + "Ġstereo": 37952, + "portal": 37953, + "resas": 37954, + "Ġklass": 37955, + "Ġdrafted": 37956, + "Ġprojectile": 37957, + "/gpl": 37958, + "(parameters": 37959, + "*)Ċ": 37960, + "Ġassisted": 37961, + "ĠNSInteger": 37962, + "sitemap": 37963, + ":nth": 37964, + ".Views": 37965, + ".ArgumentParser": 37966, + "Ġmeer": 37967, + "zier": 37968, + "ĠDig": 37969, + "Ċ": 38036, + "Ġplag": 38037, + "pine": 38038, + "Ġblanket": 38039, + "Ġ:-": 38643, + "Ġlcd": 38644, + "---------------": 38645, + "(\"\"": 38646, + "Ġtactical": 38647, + "ĠRonald": 38648, + "extr": 38649, + "ĠFest": 38650, + "Ġfuer": 38651, + "-navigation": 38652, + "Ġkb": 38653, + "ghost": 38654, + "ĠhandleChange": 38655, + "_cls": 38656, + "()!=": 38657, + "Comparator": 38658, + ".vm": 38659, + "ĠCox": 38660, + "_review": 38661, + "/@": 38662, + "_cookie": 38663, + "Ġrecognised": 38664, + "ldap": 38665, + "Threads": 38666, + "ĠSexual": 38667, + "ĠBearing": 38668, + "(SQL": 38669, + "Ġxr": 38670, + "Ġthigh": 38671, + "URLConnection": 38672, + "ĠSUV": 38673, + "ĠmContext": 38674, + "Ġincidence": 38675, + "ĠEste": 38676, + ".sup": 38677, + "_te": 38678, + "(EXIT": 38679, + "CMD": 38680, + "/\">": 38681, + "Almost": 38682, + "ĠUne": 38683, + "Ġanderen": 38684, + "ĠSingleton": 38685, + "Ġbore": 38686, + "Think": 38687, + "Ġnarc": 38688, + "]initWith": 38689, + "_shop": 38690, + "(strategy": 38691, + "!',": 38692, + "herits": 38693, + "ĠDesk": 38694, + "_machine": 38695, + ".netty": 38696, + "ında": 38697, + "=<": 38698, + "ĠQR": 38699, + "ĠSidebar": 38700, + ".splitContainer": 38701, + "ĠonSuccess": 38702, + "Ġmonkey": 38703, + "Enjoy": 38704, + "(nodes": 38705, + "pectrum": 38706, + "Ġ(*(": 38707, + "ĉUINT": 38708, + ",height": 38709, + "ĠNetworks": 38710, + ".tail": 38711, + ".linspace": 38712, + "Ġ\"...": 38713, + "Listen": 38714, + "Æ¡": 38715, + ".Channel": 38716, + "-defined": 38717, + "Repeat": 38718, + "adjust": 38719, + "ERM": 38720, + "_application": 38721, + ".assertNotNull": 38722, + "-stream": 38723, + "Ġrabbit": 38724, + "Ġpositioning": 38725, + "Ġwoke": 38726, + "Ġfing": 38727, + "Ġmultiplayer": 38728, + "Ġregistering": 38729, + "until": 38730, + "Ã¥n": 38731, + "(::": 38732, + "ussions": 38733, + "Ġpotato": 38734, + "ĠEquals": 38735, + ".Sup": 38736, + "/apache": 38737, + "Ġ(=": 38738, + ".\")": 38739, + ".ptr": 38740, + "ĠSpeech": 38741, + ".clip": 38742, + "ĠGabriel": 38743, + "Ġmusician": 38744, + "/issues": 38745, + ".shop": 38746, + "ĠHier": 38747, + "_RET": 38748, + "_bucket": 38749, + "ãĥ¡": 38750, + "avs": 38751, + "Ġroz": 38752, + "flower": 38753, + "WriteBarrier": 38754, + "ĠMilan": 38755, + "Ġlegislature": 38756, + "ĠDoll": 38757, + "Ġproving": 38758, + ".concatenate": 38759, + "âķIJ": 38760, + "Ġgchar": 38761, + "cdnjs": 38762, + "bles": 38763, + "ĠListing": 38764, + "ло": 38765, + ".xrLabel": 38766, + "ĠSak": 38767, + "justice": 38768, + "ĠValentine": 38769, + "unless": 38770, + "Ġpiger": 38771, + "(run": 38772, + "Ġtestified": 38773, + "ANA": 38774, + "ĠRemoves": 38775, + "))));Ċ": 38776, + "recated": 38777, + "ĠRuntimeMethod": 38778, + "Ġconqu": 38779, + "ãĤ¢": 38780, + "Ġtissues": 38781, + "ailer": 38782, + "été": 38783, + "-Star": 38784, + "Ġflames": 38785, + ".setIcon": 38786, + "Ġsupern": 38787, + "Ġvagina": 38788, + "-variable": 38789, + "Ġwellness": 38790, + "CUR": 38791, + "Ġbelle": 38792, + ".getRequest": 38793, + "Ġpoco": 38794, + "benh": 38795, + "agens": 38796, + "Ġspill": 38797, + "ĠJur": 38798, + "Ġdispatcher": 38799, + "ного": 38800, + "emonic": 38801, + "(dirname": 38802, + "ĠÐĶ": 38803, + "Ġpasse": 38804, + "Ġganz": 38805, + "ricing": 38806, + "EU": 38807, + "Ġmujeres": 38808, + "essen": 38809, + ".attribute": 38810, + "jj": 38811, + "ĉĉĠĊ": 38812, + "[^": 38813, + "Ġstrtolower": 38814, + "lexer": 38815, + "ectar": 38816, + "hotel": 38817, + ".square": 38818, + "Ġrall": 38819, + "Ġlowered": 38820, + "handled": 38821, + "Market": 38822, + "ĠUses": 38823, + "ivas": 38824, + ".Business": 38825, + "ãģĹãģ¦": 38826, + "DIV": 38827, + "Ġwasted": 38828, + "Ġavoir": 38829, + "êm": 38830, + "_ACCOUNT": 38831, + ".et": 38832, + "ĉSDL": 38833, + "kap": 38834, + "Ġfox": 38835, + "uppet": 38836, + "{},Ċ": 38837, + "\",'": 38838, + "Favorite": 38839, + "PEND": 38840, + "ĠAES": 38841, + "}),": 38842, + "Ġdeduction": 38843, + "ĠpolÃŃt": 38844, + "ĠcomponentWill": 38845, + "ĠTelerik": 38846, + "_SELF": 38847, + "Ġmuse": 38848, + "Craft": 38849, + "Ġdens": 38850, + "ि": 38851, + "(tp": 38852, + "Ġtasty": 38853, + "Ġbalances": 38854, + "Ġdedication": 38855, + "ĠWallace": 38856, + "Ġunlaw": 38857, + "\\\">\\": 38858, + "Ġmum": 38859, + "-update": 38860, + "emente": 38861, + "Ġsoda": 38862, + "Republic": 38863, + "asmine": 38864, + "éric": 38865, + "(Status": 38866, + "ĠJsonConvert": 38867, + "ĠDisk": 38868, + ".Redirect": 38869, + "Ġfilming": 38870, + "/mol": 38871, + "Ro": 38872, + "Ġville": 38873, + "Ġtrabaj": 38874, + "Ġsynthesis": 38875, + "rega": 38876, + "Ġrl": 38877, + "Scheduler": 38878, + "ISHED": 38879, + "currentUser": 38880, + "(errors": 38881, + "'h": 38882, + "_bot": 38883, + "ximo": 38884, + "ĠUSART": 38885, + "_super": 38886, + "_DECREF": 38887, + "ной": 38888, + "_ROW": 38889, + "Ġpromotes": 38890, + "ĠTA": 38891, + "Ġhoras": 38892, + "ĠRepresents": 38893, + "Ġnameof": 38894, + "ĠExc": 38895, + "ĠGarage": 38896, + "Ġseine": 38897, + ",#": 38898, + "Ġherb": 38899, + "/resources": 38900, + "Ġpleaded": 38901, + ".radioButton": 38902, + "Ġæĺ": 38903, + "Ops": 38904, + "ĠNest": 38905, + "cstring": 38906, + "ĠDefence": 38907, + "Ġrefere": 38908, + "_leaf": 38909, + "Ġrevelation": 38910, + "ë§": 38911, + ".executeUpdate": 38912, + "_WORLD": 38913, + "Ġexpans": 38914, + "(\"\\\"": 38915, + "jab": 38916, + "Ġdoubts": 38917, + "ĠGeometry": 38918, + "Ġintroduces": 38919, + "Ġsenators": 38920, + "Ġcanal": 38921, + ".helper": 38922, + "ĠBiology": 38923, + "_SENS": 38924, + ".previous": 38925, + "-touch": 38926, + "abit": 38927, + "Ġimpacted": 38928, + "Ġbrackets": 38929, + ".direct": 38930, + "accum": 38931, + "Ġtestosterone": 38932, + "ĉaction": 38933, + "ĠChance": 38934, + "Ġpeaks": 38935, + "CppCodeGenWriteBarrier": 38936, + "Ġunbelie": 38937, + "_press": 38938, + ".Rel": 38939, + "angled": 38940, + "/templates": 38941, + "-->čĊ": 38942, + "lime": 38943, + "Ġsufficiently": 38944, + "_nt": 38945, + "Expand": 38946, + ".isfile": 38947, + "ĠisEmpty": 38948, + "Ġqt": 38949, + "Ġmulher": 38950, + "acob": 38951, + "George": 38952, + "常": 38953, + "Ġassim": 38954, + "aso": 38955, + "Ġcomprised": 38956, + "OV": 38957, + "(CONFIG": 38958, + "ĉwriter": 38959, + "Ġdesp": 38960, + "Ġtenure": 38961, + "(cr": 38962, + ".pool": 38963, + "ĠBrend": 38964, + "Ġcensor": 38965, + "(timeout": 38966, + "Ġplea": 38967, + ".Wrap": 38968, + "Ġtightly": 38969, + "ĠWere": 38970, + "ĠIgnore": 38971, + "abei": 38972, + "Ġbridges": 38973, + "Ġcondemn": 38974, + "Ġsimplicity": 38975, + "Ġroutinely": 38976, + "Ġblacks": 38977, + "jb": 38978, + "ĠPit": 38979, + "Utf": 38980, + "Ġ/Ċ": 38981, + "reload": 38982, + "ĠsetObject": 38983, + "/global": 38984, + "Ġfatty": 38985, + "Ġsocks": 38986, + "Couldn": 38987, + "Ġerotisk": 38988, + "æĿ¡": 38989, + "ĠPressure": 38990, + "ĠMaz": 38991, + "npos": 38992, + "tolower": 38993, + "ĠEQ": 38994, + "uteur": 38995, + "ĠMoment": 38996, + "Ġeta": 38997, + "{{--": 38998, + "Ġgraphs": 38999, + "ĠGuar": 39000, + "rine": 39001, + "(--": 39002, + "ĠHttpStatus": 39003, + "(student": 39004, + "*np": 39005, + "Ġrailway": 39006, + "Ġasynchronous": 39007, + "_vm": 39008, + "'],'": 39009, + ",text": 39010, + "merchant": 39011, + "(Guid": 39012, + "ĠGra": 39013, + "ixer": 39014, + "fetchAll": 39015, + ".addListener": 39016, + "flip": 39017, + "*$": 39018, + ">(),": 39019, + "Ġsunlight": 39020, + "assigned": 39021, + "Ġabc": 39022, + "ĠCOLUMN": 39023, + "ĠðŁĻĤĊĊ": 39024, + ")...": 39025, + "Ġensemble": 39026, + "Ġnewline": 39027, + "_SINGLE": 39028, + "iedad": 39029, + "Ġdarker": 39030, + "ormap": 39031, + "Ġlion": 39032, + "plits": 39033, + "Ġillustration": 39034, + "ĠIEEE": 39035, + "Ġvista": 39036, + "ousands": 39037, + "*******": 39038, + "ĠTommy": 39039, + "Ġhue": 39040, + "Sel": 39041, + "Ġaura": 39042, + "ĠTherapy": 39043, + "Ġanimator": 39044, + ".constraints": 39045, + "Ġvague": 39046, + "(\"\")": 39047, + "Ġvillain": 39048, + "Ġblessing": 39049, + "ĠstringBuilder": 39050, + "ĠMisc": 39051, + "ĠDIR": 39052, + "fax": 39053, + "-node": 39054, + "ĠWalking": 39055, + "ĠAU": 39056, + "sess": 39057, + "Ġgrill": 39058, + "VERTISE": 39059, + "ĠFoods": 39060, + "Ġtournaments": 39061, + "Ãĵ": 39062, + "ĠMarsh": 39063, + "Ġwonders": 39064, + "Longitude": 39065, + ".CommandText": 39066, + "=input": 39067, + "_encoder": 39068, + "pageSize": 39069, + "ĠgetState": 39070, + ">>Ċ": 39071, + ".grey": 39072, + "pod": 39073, + "Ġreadings": 39074, + "Ġreconsider": 39075, + "Startup": 39076, + "Ġexcer": 39077, + ".balance": 39078, + "_cycle": 39079, + "_Time": 39080, + "LOCAL": 39081, + "ĠEFI": 39082, + "ĠReyn": 39083, + ".setForeground": 39084, + "byn": 39085, + "Ġdisconnected": 39086, + "ACTIVE": 39087, + "Ġembedding": 39088, + "ickers": 39089, + "Ġsurroundings": 39090, + "*c": 39091, + "Ġgarant": 39092, + "Ġbf": 39093, + "Ġwipe": 39094, + "Ġä¸ĭ": 39095, + "_TRA": 39096, + "adox": 39097, + "çķ": 39098, + "Ġsucks": 39099, + "ĠSongs": 39100, + "ĠAssociates": 39101, + "ĠBald": 39102, + "ĠBrett": 39103, + "venile": 39104, + "Ġvt": 39105, + "Ġinade": 39106, + "Ġresigned": 39107, + "ĠGlenn": 39108, + ".pattern": 39109, + ".DataBind": 39110, + "Ñĥм": 39111, + "LayoutInflater": 39112, + "chet": 39113, + "ĠTestament": 39114, + ".ms": 39115, + "Ġpav": 39116, + "ĠReactDOM": 39117, + "urdy": 39118, + "ADATA": 39119, + "Mu": 39120, + "/actions": 39121, + "ĠJs": 39122, + "_extract": 39123, + "ĠBring": 39124, + ":id": 39125, + "strt": 39126, + "ivation": 39127, + "Ġoutright": 39128, + "azu": 39129, + "loyment": 39130, + "иÑı": 39131, + "aldo": 39132, + "ĠPublisher": 39133, + "Education": 39134, + "Palette": 39135, + "_drv": 39136, + "Ġ($(": 39137, + "ĠAnda": 39138, + "Ġremedy": 39139, + "Ġinconsistent": 39140, + "tection": 39141, + "Ġregulators": 39142, + "Ġshortest": 39143, + "(pair": 39144, + "ĠInstallation": 39145, + "Ġdefendants": 39146, + "Ġ();": 39147, + "-large": 39148, + "Mel": 39149, + "Ġthreaten": 39150, + "нÑı": 39151, + "Ġfetish": 39152, + "otine": 39153, + "_dic": 39154, + "Ġ<$": 39155, + "Ġstagger": 39156, + "spi": 39157, + "$response": 39158, + "Serv": 39159, + "-born": 39160, + "jos": 39161, + "ĉimg": 39162, + "ĉWHERE": 39163, + "_lt": 39164, + "å½ĵ": 39165, + ".cost": 39166, + "ĠTue": 39167, + ".labels": 39168, + "ĠLV": 39169, + "wcsstore": 39170, + "ĠJesse": 39171, + "ห": 39172, + "Trade": 39173, + "Ġpredecessor": 39174, + "ëĤ": 39175, + "finally": 39176, + "_general": 39177, + "oggler": 39178, + "_REGION": 39179, + "nement": 39180, + "Ġblogger": 39181, + "ĠHarbor": 39182, + "ĠDataset": 39183, + "[w": 39184, + "Ġattendees": 39185, + ".ico": 39186, + "maximum": 39187, + ".Unlock": 39188, + "_SYNC": 39189, + "ágina": 39190, + "Ġdowns": 39191, + "ĠWii": 39192, + "])/": 39193, + "Ġkicking": 39194, + "unication": 39195, + "ĠDAC": 39196, + "ĠIDS": 39197, + "ĠRental": 39198, + "ĠcurrentTime": 39199, + "Ġvaccines": 39200, + "ĠDevil": 39201, + "Ġnors": 39202, + "_mouse": 39203, + "urrection": 39204, + "(no": 39205, + "Ġ>čĊ": 39206, + "Ġaggression": 39207, + "Ġbreeding": 39208, + ".symbol": 39209, + "iman": 39210, + "AbsolutePath": 39211, + "ĠWHO": 39212, + "_flush": 39213, + "-root": 39214, + "arna": 39215, + "&M": 39216, + "Ġfathers": 39217, + "ĠRocket": 39218, + "iveau": 39219, + "Ġwander": 39220, + "Ġcompos": 39221, + "ĠWarrior": 39222, + "ĠSeat": 39223, + "ĠClinic": 39224, + "_invoice": 39225, + "(dispatch": 39226, + "Producto": 39227, + "aturing": 39228, + "ossier": 39229, + "ĠMAY": 39230, + "Ġdagger": 39231, + "Ġsanitized": 39232, + "ĠRFC": 39233, + "Ġproph": 39234, + "Ġurine": 39235, + "Ġgrind": 39236, + "ĠExpanded": 39237, + "descripcion": 39238, + "-fw": 39239, + "ĠKerry": 39240, + "=name": 39241, + "Ġchk": 39242, + "Ġnationally": 39243, + "Ġthee": 39244, + "Inc": 39245, + "Ġ?>>": 39246, + ".RadioButton": 39247, + ".HttpServletResponse": 39248, + "/Y": 39249, + "ĉfield": 39250, + "Ġhomme": 39251, + "yper": 39252, + "Physical": 39253, + "=v": 39254, + "Ġdriv": 39255, + "ĠErrors": 39256, + "ĠcÄĥ": 39257, + "Death": 39258, + "ĠWINDOW": 39259, + "Ġpoet": 39260, + "ĠSharp": 39261, + "ĠImmutable": 39262, + "ĉcreate": 39263, + "Ġgeht": 39264, + "ĠReform": 39265, + "aiser": 39266, + "ĠInitialization": 39267, + "Ġimmunity": 39268, + ".compose": 39269, + "Ġlatency": 39270, + "ĠLebanon": 39271, + "ĠParad": 39272, + "Ġfuels": 39273, + "ĠExhib": 39274, + "coh": 39275, + "%\">Ċ": 39276, + "ĠCLI": 39277, + ")initWith": 39278, + "-Za": 39279, + "_CLEAR": 39280, + "regn": 39281, + "Ġfinances": 39282, + ".standard": 39283, + "_CATEGORY": 39284, + ".library": 39285, + "Ġtravelers": 39286, + "_wp": 39287, + "ĠEvaluation": 39288, + "starting": 39289, + "Ġ)),Ċ": 39290, + "episode": 39291, + "ĠVariant": 39292, + "Ġdaemon": 39293, + "ĠJulia": 39294, + "ĠNR": 39295, + "Ġdoubles": 39296, + "'": 39526, + "Ġqueryset": 39527, + ";}čĊ": 39528, + "ĠPopulation": 39529, + "utedString": 39530, + "resident": 39531, + "_FONT": 39532, + "ĠRespond": 39533, + "Ġobscure": 39534, + "Ġobservable": 39535, + "ĠContributors": 39536, + "kon": 39537, + "ĠMusk": 39538, + "exao": 39539, + "ĠTub": 39540, + "BootApplication": 39541, + "SOR": 39542, + ".Horizontal": 39543, + ".findBy": 39544, + ".power": 39545, + "Ġpositively": 39546, + "venience": 39547, + "ĠJong": 39548, + "Ġwhistle": 39549, + "ĠзнаÑĩ": 39550, + "Ġlending": 39551, + "Ġdestructive": 39552, + "ĠonDelete": 39553, + "authorization": 39554, + "();?>": 39555, + "_original": 39556, + "science": 39557, + "atra": 39558, + "?,?,": 39559, + "ĠAsc": 39560, + "Ġconvincing": 39561, + "$a": 39562, + "orgen": 39563, + "_Date": 39564, + "ĠProvide": 39565, + "Ġlonely": 39566, + ")'Ċ": 39567, + "exchange": 39568, + ";?>Ċ": 39569, + ".fast": 39570, + "Samples": 39571, + "London": 39572, + "'])čĊ": 39573, + "ĠIonic": 39574, + "Ġpesso": 39575, + "ĠKnights": 39576, + "ĠRaf": 39577, + "_attrs": 39578, + "Ġrepeal": 39579, + ">Main": 39580, + "ĠOrdered": 39581, + "_New": 39582, + "=\"\">\";Ċ": 39663, + "ĠSERVER": 39664, + "ĠHEADER": 39665, + "_velocity": 39666, + "ĠInvoke": 39667, + ".timestamps": 39668, + "Ġsulf": 39669, + "IQUE": 39670, + "Ġinhabitants": 39671, + "phins": 39672, + "azzo": 39673, + "Ġmono": 39674, + "Legend": 39675, + "Ġnonce": 39676, + "IFE": 39677, + ";\";Ċ": 39678, + "-create": 39679, + "\"\",Ċ": 39680, + "permit": 39681, + "ĠImmigration": 39682, + "Ġpathname": 39683, + "ffective": 39684, + "âĻĢâĻĢ": 39685, + "Ġexams": 39686, + "-event": 39687, + "ĠTill": 39688, + "[mid": 39689, + "FIX": 39690, + ";color": 39691, + "(Order": 39692, + "_traits": 39693, + "ĠorderBy": 39694, + "Ġsunt": 39695, + "ĠNicholas": 39696, + "ز": 39697, + "Ġsunny": 39698, + "iners": 39699, + "Ġaccessibility": 39700, + "ĠHB": 39701, + ".comp": 39702, + "ĉop": 39703, + "Ġminorities": 39704, + "etheus": 39705, + "Ġcollaborative": 39706, + "prit": 39707, + "HIR": 39708, + "Ġwraps": 39709, + "ĉdraw": 39710, + "god": 39711, + "ĠIX": 39712, + ".apps": 39713, + "ĠNM": 39714, + "Ġirrelevant": 39715, + "ĠTigers": 39716, + "Ġdiag": 39717, + "GV": 39718, + "ĠAccessories": 39719, + "kont": 39720, + "Ġsimplify": 39721, + "ĠFavorite": 39722, + "_tools": 39723, + "([]);Ċ": 39724, + "Ġtowers": 39725, + "Bes": 39726, + "Ġhunter": 39727, + "Ġsalon": 39728, + "(buff": 39729, + "ĉdebug": 39730, + "Ġmalware": 39731, + "Moving": 39732, + "-options": 39733, + ")+'": 39734, + "ĠLOVE": 39735, + "_SOCKET": 39736, + "_fin": 39737, + "ĠDelaware": 39738, + "Ġsheriff": 39739, + "-invalid": 39740, + "ĠFULL": 39741, + "Ġпод": 39742, + "elas": 39743, + "\"strings": 39744, + "ĠRepresentatives": 39745, + "surface": 39746, + "resolved": 39747, + "htdocs": 39748, + ")):čĊ": 39749, + "Ġpressures": 39750, + "Ġnorms": 39751, + "Ġpla": 39752, + "Ġsurname": 39753, + "Ġpostal": 39754, + "ĠDepart": 39755, + "Ġslaughter": 39756, + "orida": 39757, + "Ġhebben": 39758, + "Ġdesar": 39759, + "compact": 39760, + "_LANG": 39761, + "åIJĪ": 39762, + "opoly": 39763, + "_rad": 39764, + "ĠSTDMETHOD": 39765, + "Lazy": 39766, + "ĠĠĠĉ": 39767, + "...,": 39768, + "(web": 39769, + "ĠPont": 39770, + "Ġetwas": 39771, + "Ġupward": 39772, + "_hat": 39773, + "Ġ],ĊĊ": 39774, + "ĠbaseUrl": 39775, + "Ġworrying": 39776, + "-addon": 39777, + "(getClass": 39778, + "SPI": 39779, + "Ġcapturing": 39780, + ")},Ċ": 39781, + "Effects": 39782, + "Ġcompetent": 39783, + "Ġfoul": 39784, + "Ġsubscribing": 39785, + "ĠOBJECT": 39786, + "IXEL": 39787, + "bucks": 39788, + "(edge": 39789, + "(pass": 39790, + "ĠPeterson": 39791, + "Ġboobs": 39792, + "ĠDelay": 39793, + "_square": 39794, + "elim": 39795, + "oters": 39796, + "_PC": 39797, + "%E": 39798, + "onclick": 39799, + "ĠSVG": 39800, + "Ġtopped": 39801, + "Ġfist": 39802, + "smart": 39803, + "ĠRalph": 39804, + "(owner": 39805, + "jours": 39806, + "Ġbronze": 39807, + "ĠArgumentException": 39808, + "(original": 39809, + "_SCALE": 39810, + "_cp": 39811, + "Ġrecommends": 39812, + ".setStyle": 39813, + "Sure": 39814, + "LAND": 39815, + "Ġrepeating": 39816, + "Matt": 39817, + ".Visibility": 39818, + "Ġenterprises": 39819, + ".Setup": 39820, + "(scene": 39821, + "ĠReactive": 39822, + "urge": 39823, + "bw": 39824, + ".Put": 39825, + "persist": 39826, + ".cookie": 39827, + "ĠAudi": 39828, + "`s": 39829, + "supplier": 39830, + "(Form": 39831, + "¡": 39832, + "_so": 39833, + "ĮĢ": 39834, + "ĠLegion": 39835, + "tte": 39836, + "Nd": 39837, + "Loss": 39838, + "(attrs": 39839, + ".scatter": 39840, + "Ġgroom": 39841, + "Ġglimpse": 39842, + "Ġnails": 39843, + "Ġcumulative": 39844, + "Ġfazer": 39845, + "_services": 39846, + ".Num": 39847, + "ibilit": 39848, + "_resolution": 39849, + "ĠTx": 39850, + "uminium": 39851, + "opa": 39852, + ".schedule": 39853, + "smtp": 39854, + "à¸ķ": 39855, + "urry": 39856, + "ük": 39857, + "goog": 39858, + "_signature": 39859, + ".into": 39860, + "ĠSteps": 39861, + "Ġhomeowners": 39862, + "ĠNSURL": 39863, + "ĠPAC": 39864, + "ĠĠĠĠĠĠĠĠĠĠĠĠĊĊ": 39865, + ">')Ċ": 39866, + "enh": 39867, + "Ġincap": 39868, + "$MESS": 39869, + "Ġmoins": 39870, + "ĠFi": 39871, + "Ġoffseason": 39872, + "pressions": 39873, + ">.Ċ": 39945, + "ĠGrass": 39946, + "ĠGoal": 39947, + "_pdf": 39948, + "Handlers": 39949, + "Ġstacks": 39950, + ".getFullYear": 39951, + "=[];Ċ": 39952, + "车": 39953, + ",V": 39954, + "(split": 39955, + "Ñĥнк": 39956, + "Ġbakeca": 39957, + "Ġ~/.": 39958, + "pez": 39959, + "tails": 39960, + "ĠGlen": 39961, + "ĠsetImage": 39962, + "ĠComic": 39963, + "BLOCK": 39964, + "ĉThis": 39965, + "oader": 39966, + "Ġcapitalist": 39967, + "_STEP": 39968, + "(Boolean": 39969, + "ĠCorrect": 39970, + "rina": 39971, + "Ġconcaten": 39972, + "å®ŀ": 39973, + "():ĊĊ": 39974, + "Ġunanim": 39975, + "lli": 39976, + "alars": 39977, + "-ne": 39978, + "Ġdivor": 39979, + "ĠKickstarter": 39980, + "]._": 39981, + "*'+": 40622, + "åĿĢ": 40623, + "acency": 40624, + "(URL": 40625, + "_half": 40626, + "=l": 40627, + "ĠlistView": 40628, + "(section": 40629, + ".toArray": 40630, + "+/": 40631, + "ĠRodriguez": 40632, + "istream": 40633, + "Ġeligibility": 40634, + "::-": 40635, + ".newInstance": 40636, + "PB": 40637, + "ĠAssets": 40638, + "ĠComposite": 40639, + "ĠLabs": 40640, + "ĠHamas": 40641, + "++);Ċ": 40642, + "Ġblk": 40643, + "ĠNeo": 40644, + "Luc": 40645, + "@login": 40646, + "Ġunaware": 40647, + ".met": 40648, + "_RELEASE": 40649, + "(ST": 40650, + "AMIL": 40651, + "rike": 40652, + "Ġ(){Ċ": 40653, + "(sprintf": 40654, + "ĠAccounts": 40655, + "ĠVIEW": 40656, + "ĠAj": 40657, + "ãĤ°": 40658, + "Ġwhisk": 40659, + "Ġidi": 40660, + "Ġrode": 40661, + "Ġihn": 40662, + "ĠElementary": 40663, + "Qty": 40664, + "Ġintriguing": 40665, + "Ġå¤": 40666, + "Jobs": 40667, + "ĉoffset": 40668, + "ĠAhmed": 40669, + "ĠTaliban": 40670, + "Ġèİ·åıĸ": 40671, + "Ġinjected": 40672, + ".Authentication": 40673, + "_linear": 40674, + ".Decimal": 40675, + "Ġapples": 40676, + "Ġshareholders": 40677, + "Ġbaked": 40678, + ".diff": 40679, + "ĠEddie": 40680, + "okers": 40681, + "Ġconfronted": 40682, + "voices": 40683, + "Ġtus": 40684, + "ĠSpin": 40685, + "NODE": 40686, + "_Un": 40687, + "CTX": 40688, + "/google": 40689, + "Temperature": 40690, + "Ġ'').": 40691, + "Ġmagnificent": 40692, + "ĠstartIndex": 40693, + "sembles": 40694, + "Anyone": 40695, + "zk": 40696, + "ehen": 40697, + "ĠDame": 40698, + ".strict": 40699, + "Ġreplaces": 40700, + "Ġlineback": 40701, + "Ġpushes": 40702, + "Ġcheek": 40703, + "ĠShi": 40704, + "_BYTES": 40705, + "REA": 40706, + "ản": 40707, + "_CONNECTION": 40708, + "Gateway": 40709, + "ĠTravis": 40710, + "ĠAX": 40711, + "ĠBasically": 40712, + "ĠUpgrade": 40713, + "àª": 40714, + "themes": 40715, + "ermo": 40716, + "kor": 40717, + "Female": 40718, + "_attach": 40719, + "ĠìĤ¬ìļ©": 40720, + "Ġpoz": 40721, + "==============Ċ": 40722, + "(symbol": 40723, + "ĠSector": 40724, + "__)ĊĊ": 40725, + "_padding": 40726, + "ï¼ļ\"": 40727, + "Ġfabs": 40728, + "Ġranged": 40729, + "setName": 40730, + "Ġperror": 40731, + "âĹ": 40732, + "ĠFileReader": 40733, + "Ġfulfilled": 40734, + "_Current": 40735, + "Ġdominate": 40736, + "Ġsmugg": 40737, + "PostMapping": 40738, + "_force": 40739, + "Ġbloc": 40740, + "ĠGiant": 40741, + "(video": 40742, + "ĠCU": 40743, + "SystemService": 40744, + "Ġelf": 40745, + "Ġkontakt": 40746, + "ëª": 40747, + "kees": 40748, + "gtk": 40749, + "ĠparamInt": 40750, + "Ġmarkup": 40751, + "uales": 40752, + "Ġaccounted": 40753, + "Ġgangbang": 40754, + "RYPT": 40755, + "ĠWrong": 40756, + "Ġcredited": 40757, + "ĠMESSAGE": 40758, + "Ġflaws": 40759, + "Ġbbw": 40760, + "Ġmetabolic": 40761, + "ĠOEM": 40762, + "/event": 40763, + "(Collectors": 40764, + "monton": 40765, + "appear": 40766, + "Ġopted": 40767, + "Ġcheat": 40768, + "Ġdav": 40769, + "ĠProceed": 40770, + "Ġê¸": 40771, + "anked": 40772, + "из": 40773, + "ansk": 40774, + "ĠHang": 40775, + "ĠCler": 40776, + "Ġdisgu": 40777, + "Ġcmap": 40778, + ".cljs": 40779, + "Ġaument": 40780, + "lez": 40781, + "ĠJoined": 40782, + "_received": 40783, + "Ġaerial": 40784, + "otel": 40785, + "Ġgreet": 40786, + "\"s": 40787, + "ĠGenesis": 40788, + "ĠCalif": 40789, + "panion": 40790, + "Ġtailored": 40791, + "mapping": 40792, + "andExpect": 40793, + ".track": 40794, + "atomy": 40795, + "ĠOw": 40796, + "ullah": 40797, + ".Yes": 40798, + "ĠSimpleName": 40799, + "dbh": 40800, + "'en": 40801, + "Ġnonsense": 40802, + "Ġphilosophical": 40803, + "(getContext": 40804, + "Ġisso": 40805, + "ĠACE": 40806, + "startDate": 40807, + "ĠbÄĻd": 40808, + "ĠAUTHOR": 40809, + "ĠGlobe": 40810, + "Ġinsects": 40811, + "_Al": 40812, + "ushing": 40813, + "è®°": 40814, + "/Home": 40815, + "ĠLocalDate": 40816, + "needed": 40817, + "hesive": 40818, + "Ġillusion": 40819, + "äºĮ": 40820, + "Ġtrat": 40821, + "xo": 40822, + "/detail": 40823, + "_MATCH": 40824, + "Ġbroadband": 40825, + "Ġwal": 40826, + "ĠIllegalStateException": 40827, + "IRECTION": 40828, + "Ġnortheast": 40829, + "esium": 40830, + "ĠCliente": 40831, + "ulance": 40832, + "nty": 40833, + "Ġtecn": 40834, + "Devices": 40835, + "Ġgrains": 40836, + "ĠOg": 40837, + "ĠSEL": 40838, + "udiant": 40839, + "Ġ++;Ċ": 40840, + "Ġexplanations": 40841, + "occo": 40842, + "Ġdiets": 40843, + "Ġcohort": 40844, + "(controller": 40845, + ".Iterator": 40846, + "-rich": 40847, + "rocess": 40848, + "GD": 40849, + "Ġcarbohydr": 40850, + "Ġfried": 40851, + "ĠEmployment": 40852, + "ìŀ¥": 40853, + "ĠLeonard": 40854, + "_${": 40855, + "quares": 40856, + "Ġcompanions": 40857, + "Ġparis": 40858, + "Ġstimulation": 40859, + "ĠZoo": 40860, + "Ġrelevance": 40861, + "ĠColour": 40862, + "Ġspear": 40863, + "otional": 40864, + "ĠLite": 40865, + "ĠKosten": 40866, + "Ġó": 40867, + "_attachment": 40868, + "orphic": 40869, + "Ġdamit": 40870, + "Ġdlg": 40871, + "Ġthrive": 40872, + "CHANGE": 40873, + "ĠApparently": 40874, + "Ġatual": 40875, + "Ġrooted": 40876, + "(images": 40877, + "awi": 40878, + "ariat": 40879, + "Ġcherry": 40880, + "STATIC": 40881, + "mnt": 40882, + "ĠUserId": 40883, + "illet": 40884, + "ĠHispanic": 40885, + "Ġnak": 40886, + "Ġcentro": 40887, + "Ġdims": 40888, + "_initialize": 40889, + "ık": 40890, + "ĠCenters": 40891, + "REN": 40892, + "Ġevolutionary": 40893, + "ĠTopics": 40894, + "_damage": 40895, + "emer": 40896, + "Ġrund": 40897, + "Ġpunished": 40898, + "Ġcubic": 40899, + "fair": 40900, + "[];ĊĊ": 40901, + "Ġinstantiate": 40902, + "Ġoversee": 40903, + "-delete": 40904, + "unteer": 40905, + "startTime": 40906, + "ĠPipeline": 40907, + "_GAME": 40908, + "ĠCir": 40909, + "ĉNull": 40910, + ".Formatting": 40911, + "ucumber": 40912, + "ĠRide": 40913, + "Ġzoo": 40914, + "Ġchecker": 40915, + "åIJĮ": 40916, + "=C": 40917, + "Ġgrit": 40918, + "\");//": 40919, + "_xy": 40920, + "ĠDeclaration": 40921, + "Ġcallable": 40922, + "Foo": 40923, + "ĠListItem": 40924, + "Ġinaccur": 40925, + "mlin": 40926, + "ĉData": 40927, + "Ġevolving": 40928, + "awan": 40929, + "Ġcafe": 40930, + "folk": 40931, + "_IDX": 40932, + "ĠAnything": 40933, + "ĠPalestine": 40934, + "ĠGridView": 40935, + "Ġcolony": 40936, + "ĠGermans": 40937, + "(+": 40938, + ".pid": 40939, + ".jsx": 40940, + "ĠSuperior": 40941, + "Christian": 40942, + "ĠLect": 40943, + "ĉGame": 40944, + "Ġinstrumental": 40945, + "Animations": 40946, + "дал": 40947, + "ĠMoses": 40948, + "ĉĉčĊĉĉčĊ": 40949, + "zs": 40950, + "kte": 40951, + "ä¸ļ": 40952, + "_DIST": 40953, + "bitmap": 40954, + "dB": 40955, + "Ġpersistence": 40956, + "ÑĢоÑģ": 40957, + "$l": 40958, + "Bron": 40959, + "Ġ{|": 40960, + "_chart": 40961, + "ĠConsum": 40962, + "Ġhemp": 40963, + "Ġ\"))Ċ": 40964, + "Ġattackers": 40965, + "Ġknowledgeable": 40966, + "Ġcet": 40967, + "Ġviruses": 40968, + "'I": 40969, + "Ġpitcher": 40970, + "Ġsweeping": 40971, + "=list": 40972, + "aptops": 40973, + ".depth": 40974, + "Ġinstructed": 40975, + "ĠRus": 40976, + "benhavn": 40977, + "Ġин": 40978, + "Sports": 40979, + "Ġonset": 40980, + "æĿĥ": 40981, + ".RED": 40982, + "_si": 40983, + "ĠPST": 40984, + ".onChange": 40985, + ">tag": 40986, + "ĠRoh": 40987, + "_character": 40988, + "ĠLaws": 40989, + "ĠBachelor": 40990, + "_swap": 40991, + ".reactivex": 40992, + "Ġrewarding": 40993, + "Medium": 40994, + "-[": 40995, + "ĠRecently": 40996, + "Joint": 40997, + "partition": 40998, + "ĠMinutes": 40999, + "Ġindo": 41000, + "Ġabsorbed": 41001, + "ĠGN": 41002, + "_IND": 41003, + "Ġsaber": 41004, + "Spawn": 41005, + "outputs": 41006, + "ĠJeffrey": 41007, + "Ġmedieval": 41008, + "hed": 41009, + "Guide": 41010, + "Ġpsycho": 41011, + "Ġglam": 41012, + "Elim": 41013, + "ädchen": 41014, + "_plain": 41015, + "ĠSau": 41016, + "-four": 41017, + "Ġanalyzing": 41018, + "QUERY": 41019, + "Ġtomato": 41020, + "_buttons": 41021, + "VEN": 41022, + ".setStatus": 41023, + ".Url": 41024, + "+ĊĊ": 41025, + "Ġcomplaining": 41026, + "degree": 41027, + "confirmed": 41028, + "Ġsubt": 41029, + "parsed": 41030, + "Ġtorque": 41031, + "Ġtroubled": 41032, + "ĠTARGET": 41033, + "Ġtrademarks": 41034, + "ĠCoordinate": 41035, + "ĠViv": 41036, + "Ġ//}ĊĊ": 41037, + "Ġaprès": 41038, + ".getPosition": 41039, + "(KeyCode": 41040, + "ĠSilva": 41041, + "Ġmeteor": 41042, + "Ġendorsement": 41043, + "Overview": 41044, + "ĠPoss": 41045, + ".Inject": 41046, + "Ġevenly": 41047, + "Ġvisualization": 41048, + "Ġwchar": 41049, + "ĠHDMI": 41050, + "Ġfunct": 41051, + "ickname": 41052, + "','','": 41053, + "Ġforwards": 41054, + "ManagedObject": 41055, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 41056, + "ĉserver": 41057, + "ĠOutlook": 41058, + "ĠChronicle": 41059, + "Ġdubbed": 41060, + "Ġdok": 41061, + "ĠWear": 41062, + ".AL": 41063, + "paren": 41064, + ".Interface": 41065, + "Interfaces": 41066, + ".cod": 41067, + "Ġdib": 41068, + ".Globalization": 41069, + "ĠAcademic": 41070, + "Ġassms": 41071, + "Autom": 41072, + "Ġlw": 41073, + "ĠNW": 41074, + "Ġ&&čĊ": 41075, + "Ġproblema": 41076, + "ĠManufacturing": 41077, + "limits": 41078, + "-mobile": 41079, + "Ġfilme": 41080, + "/map": 41081, + "Ġdoit": 41082, + "ĠInk": 41083, + "Ġsued": 41084, + ".arr": 41085, + "Ġundermin": 41086, + "ĠProc": 41087, + "crollView": 41088, + "__$": 41089, + "Ġsidewalk": 41090, + "(that": 41091, + "ื": 41092, + "[q": 41093, + "grammar": 41094, + "Ġtë": 41095, + "quito": 41096, + "Ġspiral": 41097, + "extended": 41098, + "Ġfocal": 41099, + "Ġdigging": 41100, + "pas": 41101, + "ĠTall": 41102, + ".proxy": 41103, + "itures": 41104, + "TRACT": 41105, + "ĠRealm": 41106, + "Ġfeder": 41107, + "Ġoriented": 41108, + "ĠAlternative": 41109, + "Ġowe": 41110, + "Ġsourced": 41111, + "inker": 41112, + ".det": 41113, + "Sep": 41114, + "ĠQui": 41115, + "ĠPalmer": 41116, + "(_,": 41117, + "samples": 41118, + "oyer": 41119, + "ullan": 41120, + "quez": 41121, + "Edges": 41122, + "Ġshout": 41123, + "ĠAchie": 41124, + "Ġhaar": 41125, + "_Construct": 41126, + "Ġpremature": 41127, + "Ġrevert": 41128, + "').Ċ": 41129, + "Ġschn": 41130, + "filtered": 41131, + "nullptr": 41132, + "Saved": 41133, + "itecture": 41134, + "CLA": 41135, + "Ġvl": 41136, + "stell": 41137, + "ĉMe": 41138, + "ĠLip": 41139, + "national": 41140, + "Ġwholly": 41141, + "Ġsprings": 41142, + ".Timer": 41143, + "ĉsrc": 41144, + "elsen": 41145, + "åħ¶": 41146, + "Ġcommunicating": 41147, + "ĠQuiz": 41148, + "Ġteng": 41149, + "Ġgez": 41150, + "ĠOutside": 41151, + ".Sign": 41152, + "(cs": 41153, + "Ġdisputes": 41154, + "ĠWeiss": 41155, + "annes": 41156, + ">No": 41157, + "ĠBach": 41158, + ".removeAll": 41159, + "refer": 41160, + "/dashboard": 41161, + "ĠAjax": 41162, + "IndexChanged": 41163, + "ĠWeak": 41164, + "'\"Ċ": 41165, + "Ġsights": 41166, + "accessToken": 41167, + "ĠJoi": 41168, + "(domain": 41169, + "ĉcv": 41170, + "Ġcontinuation": 41171, + "Ġplum": 41172, + "adir": 41173, + ".setMessage": 41174, + "Ġï¼Į": 41175, + "Ġswallow": 41176, + "ĠLamp": 41177, + "Ġqw": 41178, + "Ġuu": 41179, + "Coin": 41180, + "ubic": 41181, + "ĠDeals": 41182, + "race": 41183, + "Ġdictator": 41184, + "Ġmeme": 41185, + "turned": 41186, + "ĠJulie": 41187, + ".gridColumn": 41188, + "Ġpuppy": 41189, + "Ġpam": 41190, + "Ġ){čĊ": 41191, + "Ġinviting": 41192, + "Ġfrench": 41193, + "vim": 41194, + "Ġwrapping": 41195, + "Ġ#-}Ċ": 41196, + "([-": 41197, + "Early": 41198, + "Ġshiny": 41199, + ".faces": 41200, + "Ġrebell": 41201, + "abcdef": 41202, + "ält": 41203, + "Ġestimation": 41204, + "phys": 41205, + "losures": 41206, + "_REL": 41207, + "Ġexclusion": 41208, + "ĠSkype": 41209, + "weise": 41210, + "-stop": 41211, + "nothing": 41212, + "ĠEgg": 41213, + "isors": 41214, + "Richard": 41215, + "Ġcounseling": 41216, + "Ġcommem": 41217, + "ĠQMessageBox": 41218, + "ĠSynd": 41219, + "ĠFrost": 41220, + "ĠCompetition": 41221, + "ĠAwake": 41222, + "Ġted": 41223, + "iciones": 41224, + "ĠDevComponents": 41225, + "VERTISEMENT": 41226, + "otti": 41227, + ".runner": 41228, + "Ġuniquely": 41229, + ".flag": 41230, + "ĉrs": 41231, + "_generic": 41232, + "Ġ```Ċ": 41233, + "ACHINE": 41234, + "Ġmein": 41235, + "(Application": 41236, + "(br": 41237, + "Ġratios": 41238, + ":,": 41239, + "ĠXCTest": 41240, + "ustainable": 41241, + "-www": 41242, + "itles": 41243, + "_TEMP": 41244, + "Ġsyst": 41245, + "umericUpDown": 41246, + "ĉassertTrue": 41247, + "Ġwf": 41248, + ".peek": 41249, + "ĠBulg": 41250, + "Ġterrifying": 41251, + ".MODE": 41252, + "ĠGW": 41253, + "ár": 41254, + "Ġfic": 41255, + "Ġcommitments": 41256, + "-tech": 41257, + "ĠLiquid": 41258, + "opez": 41259, + "zheimer": 41260, + "aña": 41261, + "-media": 41262, + "(animated": 41263, + "_goal": 41264, + "Ġgum": 41265, + "ystone": 41266, + ".SET": 41267, + "ĠWend": 41268, + "setCellValue": 41269, + "Ġmsgs": 41270, + "cash": 41271, + "ALLOC": 41272, + "/aws": 41273, + "Ġmicrowave": 41274, + ".Pointer": 41275, + "ĉConsole": 41276, + "_sorted": 41277, + "ĠFilip": 41278, + "Prod": 41279, + "Ġ//!<": 41280, + "ingroup": 41281, + "Ġks": 41282, + "_TRI": 41283, + "Ġteaspoon": 41284, + "ĠATT": 41285, + "Ġrecovering": 41286, + "ĠGLOBAL": 41287, + ".Par": 41288, + "Ġ/>;Ċ": 41289, + "Ġmarble": 41290, + "ulators": 41291, + "ĠCycle": 41292, + "Ġherbs": 41293, + "_metric": 41294, + ")!": 41295, + "_CLOCK": 41296, + "_Button": 41297, + "Harry": 41298, + "è¿Ľ": 41299, + "Ġstrains": 41300, + "ĠAppBar": 41301, + "ĠChan": 41302, + "/video": 41303, + "Ġbam": 41304, + ".Progress": 41305, + "$f": 41306, + "lemen": 41307, + "Ġirregular": 41308, + "ĠDuncan": 41309, + "ĠMint": 41310, + "-video": 41311, + "া": 41312, + "ówn": 41313, + "ĠEMPTY": 41314, + "Ġstacked": 41315, + "ĠHA": 41316, + "_cut": 41317, + "Ġwherein": 41318, + "ĠWays": 41319, + "(counter": 41320, + "è¯ķ": 41321, + "FormGroup": 41322, + "Ġblew": 41323, + "courses": 41324, + "Ġproductos": 41325, + "rys": 41326, + "ĠRestr": 41327, + "Ġstyling": 41328, + ">s": 41329, + "Ġpiv": 41330, + "Ġitertools": 41331, + "getRepository": 41332, + "ĠIk": 41333, + "_devices": 41334, + "layui": 41335, + "Ġhalfway": 41336, + "Ġfranç": 41337, + "Ġtuning": 41338, + "OA": 41339, + "_Node": 41340, + "arde": 41341, + "Ġfierce": 41342, + "licted": 41343, + "#čĊ": 41344, + "Ġbreakthrough": 41345, + "ĠErik": 41346, + "Ġbride": 41347, + "Ġ.\"": 41348, + "culus": 41349, + "inside": 41350, + "ĠIndianapolis": 41351, + "ĠEE": 41352, + "Ġyog": 41353, + "urret": 41354, + ".fs": 41355, + ".grad": 41356, + "_cards": 41357, + "_accuracy": 41358, + "_epi": 41359, + "queda": 41360, + "/org": 41361, + "éªĮ": 41362, + "Ġcompte": 41363, + "))[": 41364, + "Outside": 41365, + "Greater": 41366, + "ĠRenderer": 41367, + ".actor": 41368, + "Accounts": 41369, + "Idle": 41370, + "_hours": 41371, + "erner": 41372, + "Joined": 41373, + "Ġmenj": 41374, + "requires": 41375, + "ĠOPER": 41376, + ".removeChild": 41377, + "ĉsp": 41378, + "Ġesse": 41379, + "rift": 41380, + "xFE": 41381, + "ĠShakespeare": 41382, + "____________": 41383, + "Ġbudgets": 41384, + "ModelState": 41385, + "fillable": 41386, + "-component": 41387, + "ocos": 41388, + "ĠBUTTON": 41389, + "/io": 41390, + ",out": 41391, + "sms": 41392, + "Thomas": 41393, + "ĠArmed": 41394, + "resume": 41395, + "Ġrotating": 41396, + "ĠVault": 41397, + "Ġseus": 41398, + ".(*": 41399, + "Ġamino": 41400, + "Ġ[]);ĊĊ": 41401, + "Ġprovoc": 41402, + "nox": 41403, + ".GetEnumerator": 41404, + "=======Ċ": 41405, + "æĸĻ": 41406, + "_scroll": 41407, + "Ġfilmed": 41408, + "ĠSoci": 41409, + "gap": 41410, + "gro": 41411, + "Vote": 41412, + "\"But": 41413, + "_RC": 41414, + "Animal": 41415, + "ÂĢ": 41416, + "ibile": 41417, + "Ġawaken": 41418, + "orest": 41419, + "inja": 41420, + "ĠIvan": 41421, + "(Command": 41422, + "Ġ*****": 41423, + "η": 41424, + "Ġkvinder": 41425, + "/helpers": 41426, + "_cases": 41427, + "tg": 41428, + "ìĦ¸": 41429, + "Registered": 41430, + "ĉpass": 41431, + "_digits": 41432, + "Ġcontour": 41433, + "Ġinfants": 41434, + "Ġjustification": 41435, + "ĠFortunately": 41436, + "Contr": 41437, + "ĠonCreateView": 41438, + "_SAMPLE": 41439, + "ĠallowNull": 41440, + "Ġnud": 41441, + "Ġfetched": 41442, + "_equ": 41443, + "ĠUnable": 41444, + "=\\\"\"": 41445, + ">{Ċ": 41446, + "Ġcommittees": 41447, + "istema": 41448, + "+\".": 41449, + "ÃŃan": 41450, + "mant": 41451, + "Ġsoutheast": 41452, + "ï¼ĮĊ": 41453, + "dialogs": 41454, + "PROJECT": 41455, + "charger": 41456, + "-port": 41457, + "(uuid": 41458, + ".export": 41459, + "Six": 41460, + "ĠRP": 41461, + "Prem": 41462, + "Ġconscience": 41463, + "ĠmarginRight": 41464, + "_distribution": 41465, + "yaml": 41466, + "resizing": 41467, + "Dock": 41468, + "ĠLocations": 41469, + "GY": 41470, + "Seed": 41471, + "BUFFER": 41472, + "ossip": 41473, + "ullen": 41474, + "Things": 41475, + "-self": 41476, + ".poll": 41477, + "PLAYER": 41478, + "Ġå®": 41479, + "GROUP": 41480, + "ĠAway": 41481, + "Ġgospel": 41482, + "xfd": 41483, + "Mary": 41484, + "ĠPortable": 41485, + "TURE": 41486, + "Ġutilis": 41487, + "Ġseit": 41488, + "Ġstrand": 41489, + "Ġtransc": 41490, + "Ġ(^": 41491, + "ĠAlfred": 41492, + ".mem": 41493, + ".circle": 41494, + "Ġ~/": 41495, + "forcing": 41496, + "Ġriot": 41497, + "prox": 41498, + "THON": 41499, + "ización": 41500, + "ĠNI": 41501, + "rost": 41502, + "Ġdispro": 41503, + "_instances": 41504, + "ï¼ĮâĢľ": 41505, + "ographer": 41506, + "endas": 41507, + "ĠIsaac": 41508, + "ĠPine": 41509, + "/dis": 41510, + "ĠcolorWith": 41511, + "iterate": 41512, + "_stride": 41513, + "Ġpunto": 41514, + ".EventArgs": 41515, + "(center": 41516, + "Ġneighboring": 41517, + "ĠPrison": 41518, + "ĠMessenger": 41519, + "Ġepidemic": 41520, + "dao": 41521, + "_complex": 41522, + "Ġgravel": 41523, + "_DIP": 41524, + "ément": 41525, + "ĠAri": 41526, + "_bitmap": 41527, + ".quit": 41528, + "(valid": 41529, + "Ġpend": 41530, + "Ġrespiratory": 41531, + "Ġrebound": 41532, + "DefaultValue": 41533, + "ãĥŃ": 41534, + "Ġcommits": 41535, + ".tests": 41536, + "_fr": 41537, + "itet": 41538, + ".sf": 41539, + "Ġspacecraft": 41540, + "critical": 41541, + "Ġdepressed": 41542, + "ĠAnyObject": 41543, + "Ġunb": 41544, + "Ġdiscern": 41545, + "(mysql": 41546, + "Latin": 41547, + "ĠBog": 41548, + "ĠWildlife": 41549, + "ToFile": 41550, + "ioxid": 41551, + "@RestController": 41552, + "Ġ\"$(": 41553, + "Ġ<<\"": 41554, + "Ġdefects": 41555, + "Ġdatum": 41556, + "hin": 41557, + "Ġrealizar": 41558, + "anyahu": 41559, + "ĠSig": 41560, + "@Data": 41561, + "adaptive": 41562, + "ĠCatherine": 41563, + ".cr": 41564, + "ĠCOOKIE": 41565, + "Ġpictured": 41566, + "ĠFighter": 41567, + "Queryable": 41568, + "ĠAnyway": 41569, + "ĠGLFW": 41570, + "_namespace": 41571, + "_ft": 41572, + "Ġ])": 41573, + "Organization": 41574, + "Ġconstitutes": 41575, + "Ġquand": 41576, + "(chunk": 41577, + "\"/>čĊ": 41578, + "ĠLakes": 41579, + "mainwindow": 41580, + "Carthy": 41581, + "spin": 41582, + "(csv": 41583, + ":red": 41584, + "-commerce": 41585, + "ู": 41586, + "Ġdiscovering": 41587, + "Ġeco": 41588, + "_fac": 41589, + "inceton": 41590, + "ĠGreens": 41591, + "jwt": 41592, + "ص": 41593, + "ĠBroncos": 41594, + "ĠGoods": 41595, + "(GTK": 41596, + "ĠreturnValue": 41597, + "Ġsiempre": 41598, + "Ġneutr": 41599, + "went": 41600, + "ĠNatal": 41601, + "Ġenthusiastic": 41602, + "á»į": 41603, + "FN": 41604, + "/database": 41605, + "Catalog": 41606, + "Ġbrun": 41607, + "ĠKash": 41608, + "_Pl": 41609, + "iscrim": 41610, + ",width": 41611, + "Ġinmates": 41612, + "Assignment": 41613, + "ĠHaven": 41614, + "Ġplayground": 41615, + "exam": 41616, + "@Controller": 41617, + "uliar": 41618, + ".getParent": 41619, + "Ġ\";ĊĊ": 41620, + ":size": 41621, + "issors": 41622, + "Ġfis": 41623, + "Ġalc": 41624, + "ensation": 41625, + "ĠNixon": 41626, + "Ġmighty": 41627, + "-str": 41628, + "_special": 41629, + "_ADC": 41630, + "ĠTwig": 41631, + "umbling": 41632, + "-address": 41633, + "Ġheroin": 41634, + "YTE": 41635, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ": 41636, + "Friend": 41637, + "Ġave": 41638, + "ĠPNG": 41639, + "ĠKurdish": 41640, + "DataSetChanged": 41641, + "Ġblades": 41642, + "bral": 41643, + "Steam": 41644, + "Ġsigu": 41645, + "IRTUAL": 41646, + "acos": 41647, + "UDP": 41648, + "(database": 41649, + "hec": 41650, + "ĠStrings": 41651, + "_scalar": 41652, + "ĉdesc": 41653, + "ĠTLS": 41654, + ";\"Ċ": 41655, + "ĠCorbyn": 41656, + "SimpleName": 41657, + "uell": 41658, + "ĠEntre": 41659, + "ellites": 41660, + "-place": 41661, + "Ġfrankly": 41662, + "ĠErf": 41663, + "CEL": 41664, + "ĠpaÃŃs": 41665, + "Ġhedge": 41666, + "Ġlatent": 41667, + "ĠIRQ": 41668, + "ĠHerald": 41669, + "ĠPrec": 41670, + "ë³´": 41671, + ".TEXT": 41672, + "Salary": 41673, + "Ġautumn": 41674, + "Ġtravail": 41675, + ".Sum": 41676, + "Ġcared": 41677, + "Mor": 41678, + "Ġintuitive": 41679, + "Ġjournals": 41680, + "_IT": 41681, + "ĠTrou": 41682, + "ä¼ł": 41683, + "HasColumnName": 41684, + "Composite": 41685, + "Ġspice": 41686, + "_disk": 41687, + "_CODES": 41688, + "ĠIntroduced": 41689, + "iona": 41690, + "Ġnuestra": 41691, + "oct": 41692, + "ĠĠĠĠĊĠĠĠĠĊĠĠĠĠĊ": 41693, + "(parameter": 41694, + "Ġstudios": 41695, + "ĠprojectId": 41696, + "Ġbdsm": 41697, + ".SqlClient": 41698, + "imizer": 41699, + "ĠCARD": 41700, + "+t": 41701, + "aan": 41702, + ".sol": 41703, + "_Adjust": 41704, + "Ġrighteous": 41705, + "ĠLogging": 41706, + ".filters": 41707, + "_TAB": 41708, + "ĉsys": 41709, + "rophic": 41710, + "otherapy": 41711, + "ĠBrowse": 41712, + "keyboard": 41713, + "RON": 41714, + "+\\": 41715, + "ropped": 41716, + "Ġextensively": 41717, + "fk": 41718, + "Ġlime": 41719, + "years": 41720, + "Exc": 41721, + "Ġsph": 41722, + "Ġcheating": 41723, + "andro": 41724, + "ÃŃo": 41725, + "Ġprince": 41726, + "oire": 41727, + "ĠDestination": 41728, + "ĠConverts": 41729, + "Ġupstream": 41730, + "oled": 41731, + "Ġservants": 41732, + "Ġsemantic": 41733, + "Ġcrunch": 41734, + "Ġeventual": 41735, + "runner": 41736, + "/error": 41737, + "Spin": 41738, + "Ġsecretly": 41739, + "Ġassemble": 41740, + ".Person": 41741, + "enderror": 41742, + "_<": 41743, + "Ġpendant": 41744, + "Sleep": 41745, + "ĠChemistry": 41746, + "Ġbosses": 41747, + "lk": 41748, + "))),Ċ": 41749, + "Blockly": 41750, + "DEVICE": 41751, + "Ġreflecting": 41752, + "Ġample": 41753, + "Milliseconds": 41754, + "ĠPresidential": 41755, + "Ġusuarios": 41756, + "ĠNZ": 41757, + "ĠSalary": 41758, + "ĠAmanda": 41759, + "_np": 41760, + "jury": 41761, + "Ġkön": 41762, + "Ġtherapist": 41763, + "Ġhomosexual": 41764, + "ĠDrake": 41765, + "-window": 41766, + "ĠLocated": 41767, + ".Driver": 41768, + "ĠVIDEO": 41769, + "Ġmerchants": 41770, + "ĠChest": 41771, + "-lock": 41772, + "/php": 41773, + "Ġmilano": 41774, + "_STYLE": 41775, + "arger": 41776, + "idea": 41777, + "GUID": 41778, + "advanced": 41779, + "meal": 41780, + "OptionsItemSelected": 41781, + "='%": 41782, + "ĠCham": 41783, + ":data": 41784, + "(stat": 41785, + "WillAppear": 41786, + "Ġinformal": 41787, + "aji": 41788, + "Ġreproductive": 41789, + "ĠCAS": 41790, + "ãģ£": 41791, + "FUNC": 41792, + "ĠRuth": 41793, + ")+(": 41794, + "CONST": 41795, + "ĠFans": 41796, + "ĠgroupId": 41797, + "xffffffff": 41798, + "Ġsampler": 41799, + "Ġ}}\">": 41800, + ".the": 41801, + "Ġhollow": 41802, + "WAY": 41803, + "ĠFaculty": 41804, + "AttributedString": 41805, + "ĠLooks": 41806, + "ĠRex": 41807, + "jk": 41808, + "ĠMIL": 41809, + "Ġbard": 41810, + ".Long": 41811, + "Ġlivest": 41812, + "Ġskal": 41813, + "icism": 41814, + "MAIN": 41815, + "Ġmucho": 41816, + "BODY": 41817, + "Ġese": 41818, + "ĉuse": 41819, + "Foot": 41820, + ".SQLException": 41821, + "Ġinheritance": 41822, + "received": 41823, + "Ġputas": 41824, + "edis": 41825, + "alsa": 41826, + "ĠErrorMessage": 41827, + "Booking": 41828, + "Ġtract": 41829, + "acz": 41830, + "ĠCant": 41831, + "_regex": 41832, + "Ġideological": 41833, + "Ġjihad": 41834, + "hos": 41835, + "/sys": 41836, + "colm": 41837, + "(pool": 41838, + "Ġestán": 41839, + "ĠPending": 41840, + "emás": 41841, + "Ġktóry": 41842, + "));ĊĊĊ": 41843, + "transactions": 41844, + "Ġwield": 41845, + "itere": 41846, + "erture": 41847, + "_ss": 41848, + "Ġstretching": 41849, + "Ġprisoner": 41850, + ".ReadAll": 41851, + "Ġbesch": 41852, + "--;čĊ": 41853, + "Ġcrisp": 41854, + "_SCAN": 41855, + "Ġae": 41856, + "Strict": 41857, + "ĠMinneapolis": 41858, + "ĠBoeing": 41859, + "aris": 41860, + "rek": 41861, + "_pipe": 41862, + "Ġpriests": 41863, + "(EIF": 41864, + "ehicles": 41865, + "ĠInteractive": 41866, + "between": 41867, + "ĉNullCheck": 41868, + "ĠBlair": 41869, + "ĠLt": 41870, + "_inline": 41871, + "ethyl": 41872, + "¼": 41873, + "_packages": 41874, + "Ġbarrels": 41875, + "_he": 41876, + "Ġregexp": 41877, + "_pts": 41878, + "_Handler": 41879, + "ingular": 41880, + "ĠNissan": 41881, + "ĠRanch": 41882, + "Ġperch": 41883, + "Unsupported": 41884, + "Smith": 41885, + "ĠLegends": 41886, + "Mi": 41887, + "Ġgf": 41888, + "steder": 41889, + "Ġacquiring": 41890, + "Ġsimulator": 41891, + "(),\"": 41892, + "receive": 41893, + "Ġinplace": 41894, + "ACTION": 41895, + "ĠWebDriver": 41896, + "filesystem": 41897, + "'+Ċ": 41909, + "Ġcredible": 41910, + "amat": 41911, + "playing": 41912, + ".setImageResource": 41913, + "quel": 41914, + "Ġpodr": 41915, + "geom": 41916, + "Ek": 41917, + "ĠQatar": 41918, + "Ġgeld": 41919, + "?',Ċ": 41920, + "Ġcyl": 41921, + "(ax": 41922, + "ĠWI": 41923, + "urally": 41924, + "ĠBrasil": 41925, + "Ġsenza": 41926, + "aley": 41927, + "onen": 41928, + "Ġbah": 41929, + "Ġmolecule": 41930, + "Rad": 41931, + "è¿°": 41932, + "ANCH": 41933, + "-background": 41934, + "-agent": 41935, + "Ġprolifer": 41936, + ":boolean": 41937, + "Ġtide": 41938, + "erializer": 41939, + "_;čĊ": 41940, + "Fee": 41941, + "**)": 41942, + "ergy": 41943, + "ĠHonor": 41944, + ".Logging": 41945, + "iris": 41946, + "Ġundermine": 41947, + "ĠDy": 41948, + "Ġtyr": 41949, + "Ġdeque": 41950, + "Ġdamer": 41951, + "([])Ċ": 41952, + ".layoutControlItem": 41953, + "peated": 41954, + "CAN": 41955, + "ragments": 41956, + "Land": 41957, + ")]);Ċ": 41958, + "ĠSah": 41959, + "ĠDECL": 41960, + "Within": 41961, + "ĠNamespace": 41962, + "another": 41963, + "sembling": 41964, + ".describe": 41965, + "Consum": 41966, + "ĠFear": 41967, + "given": 41968, + "Orange": 41969, + "This": 41993, + "ĠdataIndex": 41994, + "Ġprintable": 41995, + "ĠEyes": 41996, + "_targets": 41997, + "(Py": 41998, + ".over": 41999, + "Ġbru": 42000, + "ampton": 42001, + "Ġplaintiff": 42002, + ");Ċ": 42013, + "invest": 42014, + ".*ĊĊ": 42015, + "Ġtélé": 42016, + "Ġsuperf": 42017, + "Ġcascade": 42018, + "DTD": 42019, + "Ġvivid": 42020, + "Ġsubsidies": 42021, + "ĠHass": 42022, + "Ġcollaps": 42023, + "Ġceramic": 42024, + "{}\".": 42025, + "ĠLeakage": 42026, + "-trash": 42027, + "collapsed": 42028, + "-social": 42029, + "ĠChad": 42030, + "Ġinclined": 42031, + "Ġsto": 42032, + "Ġstoryboard": 42033, + ".payment": 42034, + "stackoverflow": 42035, + "ĠRaiders": 42036, + "Ġ#'": 42037, + "olicies": 42038, + "ìľ¼ë¡ľ": 42039, + "emap": 42040, + "Ġkj": 42041, + "Ġquota": 42042, + "ĠGardens": 42043, + "ë²Ī": 42044, + "ĠAngels": 42045, + "Ġoft": 42046, + "Ġlowercase": 42047, + "ĠiParam": 42048, + "Ġcheapest": 42049, + "unta": 42050, + "_pkt": 42051, + "icators": 42052, + "Ġleurs": 42053, + "Ġdecreases": 42054, + "ĉdefine": 42055, + "PREC": 42056, + "ammers": 42057, + "ĠPreparedStatement": 42058, + "(direction": 42059, + "Ġcrews": 42060, + "arked": 42061, + "ĠMemphis": 42062, + "ĠSell": 42063, + "GTK": 42064, + "Ġmaid": 42065, + ":disable": 42066, + "éĽĨ": 42067, + "ĠPf": 42068, + "Ġalbeit": 42069, + "openh": 42070, + "?>\">Ċ": 42071, + ".getSource": 42072, + "(scale": 42073, + "Du": 42074, + "ĠPIL": 42075, + "_refresh": 42076, + "Ġbets": 42077, + "(car": 42078, + "ĠVon": 42079, + "|--------------------------------------------------------------------------Ċ": 42080, + "ĠGrat": 42081, + "Much": 42082, + "(Dialog": 42083, + ".stopPropagation": 42084, + "Ġtek": 42085, + "Ġexits": 42086, + "'],$": 42087, + "ĠphoneNumber": 42088, + "ucs": 42089, + "ecimal": 42090, + "--------------": 42091, + "inp": 42092, + ".pojo": 42093, + "Ġcorpus": 42094, + "Ġpractitioners": 42095, + ".pic": 42096, + "\"testing": 42097, + "ĠstringBy": 42098, + ".NotNull": 42099, + "Ġrang": 42100, + ".Dynamic": 42101, + "_Render": 42102, + "аÑĤа": 42103, + "Waiting": 42104, + "ĠWik": 42105, + "Ġoverwhelmed": 42106, + "%\">": 42107, + "ĠAE": 42108, + "}}>Ċ": 42109, + "uw": 42110, + "_typ": 42111, + "Ġbuckets": 42112, + "Ġgreeting": 42113, + "Ġlaughter": 42114, + "Ġantagon": 42115, + "uggestion": 42116, + "-email": 42117, + "ĉtop": 42118, + "Ġeros": 42119, + "_tri": 42120, + "Ġissuing": 42121, + "Ġhá": 42122, + "Ġisolate": 42123, + "Overflow": 42124, + ",E": 42125, + "Ġnutritional": 42126, + "ĠAbbott": 42127, + "Ġnf": 42128, + ".touch": 42129, + ".fetchall": 42130, + "_zip": 42131, + "\")}Ċ": 42132, + "Ġamat": 42133, + "ĠCisco": 42134, + "ĠnÃ¥": 42135, + "PLEX": 42136, + "Ġsei": 42137, + "foto": 42138, + ".toJson": 42139, + "å¤ļ": 42140, + "ĠKlein": 42141, + "Ġlibc": 42142, + "Ġminers": 42143, + "å¢": 42144, + "-print": 42145, + "ĠPride": 42146, + "Todos": 42147, + "Ġmasked": 42148, + "ĠsetData": 42149, + "Ġtelefon": 42150, + "Ġunhappy": 42151, + "ĠTables": 42152, + "geb": 42153, + "(debug": 42154, + "_allowed": 42155, + "-access": 42156, + "Ġlogistics": 42157, + "Ġgems": 42158, + "ĠMature": 42159, + "Ġrsp": 42160, + "ĠAlle": 42161, + ".getBytes": 42162, + "\\web": 42163, + "ynchronized": 42164, + "Paragraph": 42165, + "Ġthrottle": 42166, + ".sqlite": 42167, + "consulta": 42168, + "ĠSeah": 42169, + "Ce": 42170, + "Ġsubmar": 42171, + "ERE": 42172, + "Vous": 42173, + "Ġreddit": 42174, + "Ġsqlalchemy": 42175, + "-mile": 42176, + "ocide": 42177, + "Pour": 42178, + "}}\">Ċ": 42179, + "stead": 42180, + "Ġ@(": 42181, + "Ġ[])": 42182, + "ĠAds": 42183, + "Ġoverload": 42184, + "ridden": 42185, + "ĠDesert": 42186, + "ĠWrap": 42187, + "ĠPortuguese": 42188, + "etz": 42189, + "ĉfirst": 42190, + "Ġmilestone": 42191, + "æĹł": 42192, + "ÑĥÑī": 42193, + "(success": 42194, + "\")Ċ": 42363, + "ĠDollar": 42364, + "Ġemoji": 42365, + "Carousel": 42366, + "-player": 42367, + "Ġadjusting": 42368, + "Ġjuga": 42369, + "allenges": 42370, + "gene": 42371, + "(bodyParser": 42372, + "lopedia": 42373, + "ĠBehind": 42374, + "Ġsleeves": 42375, + "Ġdragging": 42376, + "ĠChevrolet": 42377, + "Ġbiz": 42378, + "ivities": 42379, + "ĠFrequency": 42380, + ",char": 42381, + ".WHITE": 42382, + "_preview": 42383, + ")';Ċ": 42384, + "_ax": 42385, + "IONS": 42386, + ".cpu": 42387, + ".inputs": 42388, + "UBE": 42389, + "_feed": 42390, + "ĠSupplement": 42391, + "!).": 42392, + "esus": 42393, + "ĠUDP": 42394, + "Ġmicrophone": 42395, + "Ġconfirms": 42396, + ".isNotEmpty": 42397, + "\":\"\",Ċ": 42398, + "_SCREEN": 42399, + "ĉexpected": 42400, + "+-+-+-+-": 42401, + "ĠHait": 42402, + "fastcall": 42403, + "Ġdepict": 42404, + "vb": 42405, + "_picture": 42406, + "ĉdescription": 42407, + "ĠWife": 42408, + "uci": 42409, + "Ġvicious": 42410, + "ä»ĸ": 42411, + "ueba": 42412, + "ĠsetUser": 42413, + "ãģ¡": 42414, + "Ġdiving": 42415, + "Ġopera": 42416, + "usercontent": 42417, + "arah": 42418, + ")},": 42419, + "yun": 42420, + "velt": 42421, + "Ġuncovered": 42422, + "Ġhips": 42423, + "Ġoscill": 42424, + "Ġasserting": 42425, + "ĠXi": 42426, + ".restore": 42427, + "kea": 42428, + "Ġspelling": 42429, + "Ġderive": 42430, + "abwe": 42431, + "ĠDow": 42432, + ".setType": 42433, + "_vs": 42434, + "Ġcozy": 42435, + ".categories": 42436, + "Org": 42437, + "_mgr": 42438, + "Ġdungeon": 42439, + "collectionView": 42440, + "ĠBlank": 42441, + "acias": 42442, + "ää": 42443, + "_cleanup": 42444, + "_ACTIVITY": 42445, + "Ġtriangles": 42446, + ".MenuItem": 42447, + "Ġiphone": 42448, + "ĠWon": 42449, + "]]ĊĊ": 42450, + "ĠComparison": 42451, + ".Doc": 42452, + "Ġcanonical": 42453, + "ĠSudan": 42454, + "'){": 42455, + "UpInside": 42456, + "builtin": 42457, + "ENCY": 42458, + "xbe": 42459, + "Ġchuck": 42460, + "Ġcontradict": 42461, + "Ġnuestro": 42462, + "Ġarchitectural": 42463, + "ĠFib": 42464, + "Ġcompares": 42465, + "*k": 42466, + "Cfg": 42467, + "çĦ¡": 42468, + "nten": 42469, + "Matches": 42470, + "ĠDOWNLOAD": 42471, + "_HANDLER": 42472, + "management": 42473, + "[S": 42474, + "ENG": 42475, + "ÂĢÂ": 42476, + "fang": 42477, + "Ġslipped": 42478, + "ĠLanka": 42479, + "escaping": 42480, + "Ġtackles": 42481, + "ĠPedro": 42482, + ".Prop": 42483, + ".''": 42484, + ".Generated": 42485, + ".NewGuid": 42486, + "atrigesimal": 42487, + "illon": 42488, + "Ġstatistic": 42489, + "species": 42490, + "holding": 42491, + "Drupal": 42492, + "Ġfundamentally": 42493, + "Ġbondage": 42494, + "Ġresolutions": 42495, + "InlineData": 42496, + "\\Type": 42497, + "estion": 42498, + ".wrap": 42499, + "Ġwarriors": 42500, + "ĠLOCAL": 42501, + "Archive": 42502, + "Ġembraced": 42503, + "á»§": 42504, + ".Ver": 42505, + "ĠAffordable": 42506, + "olesale": 42507, + "ĠApplied": 42508, + "ĠConversion": 42509, + "mega": 42510, + "_cam": 42511, + "Ġceremon": 42512, + "aurus": 42513, + "ĠVolk": 42514, + ".opens": 42515, + "/about": 42516, + "ĠStd": 42517, + "journal": 42518, + "()){čĊ": 42519, + ",\"\\": 42520, + "(Arrays": 42521, + "ĠDense": 42522, + "aseña": 42523, + "änner": 42524, + "/stat": 42525, + "userData": 42526, + "Ġgerman": 42527, + "Ġtz": 42528, + "worthy": 42529, + "FormatException": 42530, + "pherd": 42531, + "Ġsmiles": 42532, + "ĠWhenever": 42533, + "(adapter": 42534, + ".badlogic": 42535, + "Ġbriefing": 42536, + ".GridColumn": 42537, + "-char": 42538, + "dimension": 42539, + "ĠCopper": 42540, + "Ġninth": 42541, + "Ġ'{{": 42542, + "Ġrav": 42543, + "_Table": 42544, + "Ġderivatives": 42545, + "ĠRaise": 42546, + "ĠFut": 42547, + "armor": 42548, + "-padding": 42549, + "Ġremin": 42550, + "ĉstyle": 42551, + "ĠMembership": 42552, + "Ġspreads": 42553, + "Ġgalleries": 42554, + "ĠClarke": 42555, + "Ġconception": 42556, + "minute": 42557, + "Ġabusive": 42558, + "_adj": 42559, + "Ġterrific": 42560, + "Ġovert": 42561, + "ourcing": 42562, + "Ġentrada": 42563, + "levels": 42564, + "Ġcritique": 42565, + "Ġrespects": 42566, + "ĠMMA": 42567, + "iene": 42568, + "Ġencaps": 42569, + "ĠRaymond": 42570, + "Divider": 42571, + "ivable": 42572, + "baz": 42573, + "Ġ@_;Ċ": 42574, + "ĠClaire": 42575, + "Ġurging": 42576, + "CEE": 42577, + "Ġtransformer": 42578, + "discord": 42579, + "ĠJourney": 42580, + "tos": 42581, + "Ġcompetitions": 42582, + "ĠOBJ": 42583, + "ĠBis": 42584, + "Ġrelaxation": 42585, + "idy": 42586, + "_INSTANCE": 42587, + "ĠPref": 42588, + "dados": 42589, + "iciencies": 42590, + "ĠMediaQuery": 42591, + "ĠCube": 42592, + "ĠStrange": 42593, + "gpu": 42594, + "(days": 42595, + "_InitStruct": 42596, + "Ġfingerprint": 42597, + "emat": 42598, + "ĠGecko": 42599, + "Ġrails": 42600, + "ĠLum": 42601, + "straction": 42602, + "igung": 42603, + "(movie": 42604, + "_dictionary": 42605, + "_interrupt": 42606, + "ĠQC": 42607, + "iked": 42608, + "appendChild": 42609, + "recipient": 42610, + "ré": 42611, + "Ve": 42612, + "Ġtowel": 42613, + ".lastIndexOf": 42614, + "Ġplacebo": 42615, + "ĠWie": 42616, + ".esp": 42617, + "(Debug": 42618, + "operative": 42619, + "Ġdeceased": 42620, + "&id": 42621, + "ĉmutex": 42622, + "elic": 42623, + "Ġbapt": 42624, + "ĉčĊčĊ": 42625, + "Ġfarther": 42626, + "Half": 42627, + ".disable": 42628, + ".menuStrip": 42629, + "leccion": 42630, + "ĠresultCode": 42631, + "Ġcans": 42632, + "-election": 42633, + "female": 42634, + "_FIX": 42635, + "ausible": 42636, + "ĠPOWER": 42637, + "Ġreconstruction": 42638, + "Ġscans": 42639, + ".XtraBars": 42640, + "âĢĺs": 42641, + "Removed": 42642, + "Ġparagraphs": 42643, + "_margin": 42644, + "Ġlymph": 42645, + "Ġbos": 42646, + "lington": 42647, + "ĠBaptist": 42648, + "Ġadvertisements": 42649, + "ĠManage": 42650, + "/yyyy": 42651, + "IOUS": 42652, + "ENCES": 42653, + "ĠFiction": 42654, + "ĉmenu": 42655, + "ĠFileOutputStream": 42656, + "ovan": 42657, + "ĠFeng": 42658, + "Ġskipping": 42659, + "getClass": 42660, + "anni": 42661, + "Ġrebounds": 42662, + "Ġpublicity": 42663, + "Ġingres": 42664, + "usement": 42665, + "Ġthoughtful": 42666, + ".Chart": 42667, + "Ġhatte": 42668, + "passport": 42669, + "Ġhooked": 42670, + "ĠLens": 42671, + "Ġflagship": 42672, + "Ġstip": 42673, + "ĠGEN": 42674, + "Ġclues": 42675, + "ipv": 42676, + "ĠRise": 42677, + "ĠGew": 42678, + "tablename": 42679, + "Ġforemost": 42680, + "_validate": 42681, + "_analysis": 42682, + "olla": 42683, + "Ġqualifications": 42684, + "Ġdistributions": 42685, + "ĠFlower": 42686, + "Ġtense": 42687, + "Ġthankful": 42688, + "Ġclutch": 42689, + "Ġunified": 42690, + "roads": 42691, + "Ġsiti": 42692, + "Ġstall": 42693, + "_PRIORITY": 42694, + "cstdlib": 42695, + "_USERNAME": 42696, + ".bytes": 42697, + "?page": 42698, + "ermalink": 42699, + "ĠVeget": 42700, + "/vnd": 42701, + "-author": 42702, + ".NONE": 42703, + "ĠConcurrent": 42704, + "ĠCry": 42705, + "Ġstarters": 42706, + "ĠInteraction": 42707, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 42708, + "ĠLEVEL": 42709, + "Ell": 42710, + "ĠcomboBox": 42711, + "ĠTheresa": 42712, + "tek": 42713, + "_Handle": 42714, + "Ġaby": 42715, + ".gdx": 42716, + ",end": 42717, + "(Local": 42718, + "Ol": 42719, + "knife": 42720, + "arial": 42721, + "ĠHoff": 42722, + "Ġprostituerade": 42723, + "Doctor": 42724, + "Instances": 42725, + ".SetValue": 42726, + "ĉfrom": 42727, + "Ġluxurious": 42728, + "Indent": 42729, + "Allocator": 42730, + "_DRAW": 42731, + "(\",\",": 42732, + "ĠFrances": 42733, + "ĠgroupBox": 42734, + "(schema": 42735, + "Printf": 42736, + "ORIES": 42737, + "-gradient": 42738, + "Ġreput": 42739, + "arin": 42740, + "_DONE": 42741, + "incre": 42742, + "ignty": 42743, + "Ġexert": 42744, + "Ġ-.": 42745, + "/App": 42746, + "-through": 42747, + "Ġdeclining": 42748, + "Ġdessert": 42749, + "Ġincumb": 42750, + "Ġdesignation": 42751, + ".PORT": 42752, + ",strong": 42753, + "Ġsandbox": 42754, + "Ġwines": 42755, + "ĠPav": 42756, + "$str": 42757, + "askell": 42758, + "Ġhö": 42759, + "ĠPY": 42760, + "GetInstance": 42761, + "TextInput": 42762, + "gameObject": 42763, + "/events": 42764, + "createdAt": 42765, + "ĠlocalVar": 42766, + "ĠWHITE": 42767, + "pered": 42768, + "ilege": 42769, + "efficient": 42770, + ",color": 42771, + "cate": 42772, + "ĠCafe": 42773, + "Ġsimilarities": 42774, + "Ġpumps": 42775, + "ĠHungary": 42776, + ".Username": 42777, + "Ġskate": 42778, + "Ġtouchdowns": 42779, + "Ġaccelerate": 42780, + "ĠHelen": 42781, + "OMEM": 42782, + "ĠKun": 42783, + "_vol": 42784, + "ĠfindAll": 42785, + "ĠMenschen": 42786, + "ahead": 42787, + ");\"": 42788, + "kommen": 42789, + "Ġpossessed": 42790, + ".argmax": 42791, + ".transition": 42792, + "ARP": 42793, + "OLUME": 42794, + "(script": 42795, + "ĠÐĺ": 42796, + "ĠFinding": 42797, + "onces": 42798, + "Io": 42799, + "Bold": 42800, + "Ġrenewal": 42801, + "_DIALOG": 42802, + "Ġdisreg": 42803, + "INTERN": 42804, + "Ġtoute": 42805, + "Ġelectr": 42806, + "ĠGross": 42807, + "ĉtrue": 42808, + ".Fields": 42809, + "ĠWIDTH": 42810, + "ĠDent": 42811, + "ĠÃģ": 42812, + "NSNotification": 42813, + "Ġaos": 42814, + "Ġmelee": 42815, + ".Validation": 42816, + "ĠDEC": 42817, + "-dependent": 42818, + "Ġsuic": 42819, + "Traits": 42820, + "$message": 42821, + "ĠDear": 42822, + "ĉFILE": 42823, + "languages": 42824, + ".Prot": 42825, + ".addr": 42826, + "-generation": 42827, + "ICON": 42828, + "Ġtransplant": 42829, + "-description": 42830, + "Ġchasing": 42831, + "Ġchees": 42832, + "Ġ}*/Ċ": 42833, + "Trad": 42834, + "queries": 42835, + "/widgets": 42836, + "subpackage": 42837, + "Ġespec": 42838, + "Ġcracked": 42839, + "Ġcompetitor": 42840, + "Purchase": 42841, + "-team": 42842, + "olecular": 42843, + "orThunk": 42844, + "&P": 42845, + "Ġrelent": 42846, + "/#{": 42847, + "ĠproductId": 42848, + "Ġè¾": 42849, + "ĠLav": 42850, + "ĠAlter": 42851, + ".Mode": 42852, + "ADIO": 42853, + "grp": 42854, + "æ·»åĬł": 42855, + "Quit": 42856, + "Ġdepths": 42857, + "-category": 42858, + "ĠDATABASE": 42859, + "SPELL": 42860, + "ĠFalcon": 42861, + "ĠQStringList": 42862, + "Ġ''.": 42863, + "ĠInstitution": 42864, + "damage": 42865, + "azor": 42866, + "belongsTo": 42867, + "verages": 42868, + "ĠNONE": 42869, + "ippets": 42870, + ",\\Ċ": 42871, + "Ġfootprint": 42872, + "_archive": 42873, + "nak": 42874, + ".getField": 42875, + "ĠReflection": 42876, + "Ġ']": 42877, + "ĠHBO": 42878, + "_discount": 42879, + "Ġincest": 42880, + "ĠDodge": 42881, + "ĠWade": 42882, + ".NO": 42883, + "\"encoding": 42884, + "ĠBlockchain": 42885, + "Ġlawsuits": 42886, + "ĠMaint": 42887, + "chten": 42888, + "Ġétait": 42889, + "Ġktóre": 42890, + "_ctl": 42891, + "(timer": 42892, + "Battle": 42893, + "izo": 42894, + "ayed": 42895, + "IOR": 42896, + "ĠGlasgow": 42897, + "Ġsynth": 42898, + "_logs": 42899, + ".pose": 42900, + "_AdjustorThunk": 42901, + "((&": 42902, + "Ġunsure": 42903, + "ystate": 42904, + "íķĺëĬĶ": 42905, + "OULD": 42906, + ".ng": 42907, + "Ġdefaultdict": 42908, + "workspace": 42909, + "Ġselective": 42910, + "PickerController": 42911, + "YNAMIC": 42912, + ".methods": 42913, + "Ġpathways": 42914, + "ĠFew": 42915, + "KG": 42916, + "CRYPT": 42917, + "following": 42918, + "ĠDLC": 42919, + "ĠSara": 42920, + "Ġpreset": 42921, + "estructor": 42922, + "ĠKurt": 42923, + "Ġairplane": 42924, + "Ġomp": 42925, + "ĠParents": 42926, + "ĠMartinez": 42927, + ".complete": 42928, + "Ġbroadly": 42929, + "Ġscare": 42930, + "ĠMé": 42931, + "Ġelimination": 42932, + "Ġpoured": 42933, + "/sw": 42934, + "Ġcomun": 42935, + "Ġmasc": 42936, + "ĠOrganic": 42937, + "ĠStringUtils": 42938, + "ilateral": 42939, + "Ġreluctant": 42940, + "-age": 42941, + "Ġnz": 42942, + ".\"\\": 42943, + "Ġpastor": 42944, + "alez": 42945, + "Ġefect": 42946, + "prov": 42947, + "/init": 42948, + "Ġpenn": 42949, + "unds": 42950, + "Ġssize": 42951, + "ĠProj": 42952, + "basename": 42953, + "Ġshells": 42954, + "ĠNeck": 42955, + "ĠEnforcement": 42956, + "vided": 42957, + "stown": 42958, + "Sphere": 42959, + "$r": 42960, + "ussen": 42961, + "afil": 42962, + "ĠTelegram": 42963, + "Ġanalytical": 42964, + "нÑĭе": 42965, + "usually": 42966, + "xn": 42967, + "Ġhistorian": 42968, + "ĠGregory": 42969, + "olph": 42970, + "ĠUna": 42971, + "Ġcontributes": 42972, + "%-": 42973, + "antiago": 42974, + "ÑĢед": 42975, + ".region": 42976, + "Ġabrupt": 42977, + "ĠUnsupportedOperationException": 42978, + "ĠTASK": 42979, + "_finish": 42980, + "Ġnotorious": 42981, + "ĠVs": 42982, + "ĠMQ": 42983, + "Ġsunset": 42984, + "Ġunacceptable": 42985, + "arcer": 42986, + "Ġillumin": 42987, + "ĠOrb": 42988, + "Ġbh": 42989, + "Este": 42990, + "_dispatch": 42991, + "Ġripped": 42992, + "Ġtoujours": 42993, + "ĠParcel": 42994, + "_ll": 42995, + ".userName": 42996, + ".classes": 42997, + "SOURCE": 42998, + "(Number": 42999, + "елÑı": 43000, + "Ġheadphones": 43001, + "(side": 43002, + "constitution": 43003, + "annah": 43004, + "čĊĠĠĠĠĠĠĠĠčĊ": 43005, + "Ġcliff": 43006, + "-ref": 43007, + "Ġmostrar": 43008, + "ĠPowell": 43009, + "+y": 43010, + "ĠBG": 43011, + "_fragment": 43012, + ".Port": 43013, + "Ġrealizing": 43014, + "paramref": 43015, + "Ġhometown": 43016, + "@Table": 43017, + "+\"--}}Ċ": 43196, + "French": 43197, + "EntityManager": 43198, + "ĠPlain": 43199, + "////////////////////////////////////////////////////////////////////": 43200, + "³": 43201, + "(RE": 43202, + "capt": 43203, + "Ġorganisms": 43204, + "Ġjets": 43205, + "olocation": 43206, + "ĠAppRoutingModule": 43207, + "Ġglorious": 43208, + "æľį": 43209, + "Ġdiscarded": 43210, + "ĉĉĉĉĠĠĠĠĠ": 43211, + "ĠArnold": 43212, + "lug": 43213, + "Ġparl": 43214, + "Ġhormones": 43215, + "Ġmah": 43216, + "ĠSonic": 43217, + "Ġorganizers": 43218, + "_PLATFORM": 43219, + ".inv": 43220, + "Ġchord": 43221, + "ventional": 43222, + "ĉof": 43223, + "Episode": 43224, + ".Enum": 43225, + "unkt": 43226, + "ĠDh": 43227, + "ĠJared": 43228, + "ĠNak": 43229, + "Ġintends": 43230, + "Endian": 43231, + "Ġaustralia": 43232, + "_cv": 43233, + "(resolve": 43234, + "Ġclinics": 43235, + "liked": 43236, + "ASHINGTON": 43237, + "inha": 43238, + "'*": 43239, + "ĠNP": 43240, + "_beh": 43241, + "Ġhf": 43242, + "Ġwür": 43243, + "categoria": 43244, + "$form": 43245, + "Ġsubway": 43246, + "ĠisActive": 43247, + "popular": 43248, + "Cour": 43249, + "Ġcooldown": 43250, + "Ġainsi": 43251, + "ĠGLuint": 43252, + "ereal": 43253, + "ĠarrayOf": 43254, + "Ġhatch": 43255, + "==========": 43256, + "resses": 43257, + "_PP": 43258, + ".^": 43259, + "_decay": 43260, + "ĠBless": 43261, + "metrics": 43262, + "ĠCOPYING": 43263, + "ĠDumpster": 43264, + "ĠJosé": 43265, + "ĠDesigns": 43266, + "<": 43269, + "Ġ\"}Ċ": 43270, + "timezone": 43271, + "Ġeer": 43272, + "maxcdn": 43273, + "ĠESC": 43274, + "igaret": 43275, + "_connected": 43276, + "_reverse": 43277, + "Ġquestionable": 43278, + "ĠUSC": 43279, + "Ġtutti": 43280, + "Ġdropout": 43281, + "ĠActivities": 43282, + "ĠWinds": 43283, + "')));Ċ": 43284, + "Ġcongest": 43285, + "ģı": 43286, + "Ġprolonged": 43287, + "è¿Ļ": 43288, + "ĠCrossAxisAlignment": 43289, + "LEEP": 43290, + "ĠVALID": 43291, + "ĠGaz": 43292, + "Ġdependence": 43293, + "ĠPrix": 43294, + ".CompilerServices": 43295, + "jump": 43296, + "Ġstrat": 43297, + "circ": 43298, + "ĠCUSTOM": 43299, + "xaa": 43300, + "Ġbmp": 43301, + "Ġbureau": 43302, + "Ġwaren": 43303, + "NX": 43304, + "(Window": 43305, + "ĠChristie": 43306, + "_FE": 43307, + "Ġtn": 43308, + "ĠOmega": 43309, + "communications": 43310, + "HomePage": 43311, + "completion": 43312, + "Ġsupplying": 43313, + "YPES": 43314, + "ável": 43315, + "åζ": 43316, + "(click": 43317, + "\\Contracts": 43318, + "/questions": 43319, + "Ġez": 43320, + "AMS": 43321, + ".mesh": 43322, + "Ġ'\\Ċ": 43373, + "Robot": 43374, + "JsonObject": 43375, + "ĠDF": 43376, + "ĠProcessor": 43377, + "_should": 43378, + ".protobuf": 43379, + "-users": 43380, + "Ġembry": 43381, + "FONT": 43382, + "Ġstartups": 43383, + "ĠDataSource": 43384, + ")#": 43385, + "uros": 43386, + "_Color": 43387, + "Ġstandalone": 43388, + "}[": 43389, + "jd": 43390, + "Ġforgive": 43391, + "Ġngx": 43392, + "ĠGenerally": 43393, + "Ġconfigurable": 43394, + "/order": 43395, + "Ġvas": 43396, + "')\";Ċ": 43397, + "ĠRR": 43398, + "ĠTroy": 43399, + "Ġcompromised": 43400, + "ĠSwan": 43401, + "intendent": 43402, + "Central": 43403, + "_keeper": 43404, + "Ġarquivo": 43405, + "ĠReadOnly": 43406, + "_curve": 43407, + "kv": 43408, + "entin": 43409, + "è±": 43410, + "ĠEy": 43411, + ".imread": 43412, + "ĠPam": 43413, + "iffe": 43414, + "ativity": 43415, + "xbc": 43416, + "Ġgrim": 43417, + "-filled": 43418, + "namese": 43419, + "']:": 43420, + "Ġaur": 43421, + "ĠGibson": 43422, + ".MouseEvent": 43423, + "Ġlado": 43424, + "avadoc": 43425, + "Ġfamil": 43426, + "ĠModer": 43427, + "fps": 43428, + "ãĢĢãĢĢ": 43429, + "-example": 43430, + "ĠAlzheimer": 43431, + "ĠUtf": 43432, + "_arguments": 43433, + "Conclusion": 43434, + "textContent": 43435, + "remaining": 43436, + "Ġinterrupts": 43437, + "ĠBackup": 43438, + "ĠMong": 43439, + "Ġreceptors": 43440, + "histor": 43441, + ".coroutines": 43442, + "Ġshouted": 43443, + "Alarm": 43444, + "Ġcombust": 43445, + "Ġgrote": 43446, + "ultural": 43447, + "(ids": 43448, + "--------------------------------------------------------------------------------": 43449, + "iplinary": 43450, + "Opts": 43451, + "ĠYale": 43452, + "localStorage": 43453, + "Ġequival": 43454, + "ĠFleet": 43455, + "\\b": 43456, + "*pi": 43457, + "ĠQLabel": 43458, + "æ¡": 43459, + "Ġvx": 43460, + "ĠACL": 43461, + "Ġsucesso": 43462, + "Ġperc": 43463, + "ĠNotre": 43464, + "Ġanarch": 43465, + "Ring": 43466, + "spb": 43467, + "Ġstrpos": 43468, + "stores": 43469, + "ĠMaple": 43470, + "(MainActivity": 43471, + "(\"\"))": 43472, + "ĠviewHolder": 43473, + "Quad": 43474, + "Ġigual": 43475, + "orsche": 43476, + ".margin": 43477, + "Ġindie": 43478, + "Ġfranc": 43479, + "ĠFormBuilder": 43480, + "ĠParticip": 43481, + ".flash": 43482, + "Ġstorms": 43483, + "Ult": 43484, + "Ġfen": 43485, + "[new": 43486, + "Ever": 43487, + "=\"Ċ": 43488, + "Ġlocalized": 43489, + "_follow": 43490, + "Ġnave": 43491, + "Ġdominance": 43492, + "(tile": 43493, + "Journal": 43494, + "ĠVC": 43495, + "Ġpenetration": 43496, + "ï¼ķ": 43497, + "Ġcompartment": 43498, + "Ġbids": 43499, + "Formatted": 43500, + "******/ĊĊ": 43501, + "(city": 43502, + "âĢĶit": 43503, + "[C": 43504, + "ĠuseCallback": 43505, + "aub": 43506, + ")?.": 43507, + "ĠVAR": 43508, + "ĠSebastian": 43509, + "ĠMoss": 43510, + "Ġabundant": 43511, + "Greg": 43512, + "ÑĤа": 43513, + "_ci": 43514, + "Ġbibli": 43515, + "CRM": 43516, + "ĠAttempt": 43517, + "isme": 43518, + "dash": 43519, + "ãĢİ": 43520, + "_mu": 43521, + ".FormattingEnabled": 43522, + "Indeed": 43523, + "-direct": 43524, + "Ġsucking": 43525, + "Ġpne": 43526, + "ocabulary": 43527, + "ĠPackers": 43528, + ".Navigation": 43529, + "Ġpied": 43530, + "cribing": 43531, + "ĠStuart": 43532, + ".ToDouble": 43533, + "ĠSecondary": 43534, + "Saving": 43535, + "ĠDut": 43536, + "ĠMadd": 43537, + "Magic": 43538, + ",H": 43539, + ".documentElement": 43540, + "ĠBST": 43541, + "Ġdiffers": 43542, + "Ġmoreover": 43543, + "_nd": 43544, + "SEARCH": 43545, + "пÑĢав": 43546, + "æ´": 43547, + "toMatch": 43548, + "Ġdecreasing": 43549, + "-member": 43550, + "ampus": 43551, + "(boost": 43552, + "Daily": 43553, + "DataGridView": 43554, + "ĠHttpContext": 43555, + "Ġhipp": 43556, + "_workers": 43557, + "-language": 43558, + "éĵ": 43559, + "Ġconsisted": 43560, + "athing": 43561, + "ĠMercury": 43562, + "$content": 43563, + "Ġpracticed": 43564, + "ĠModules": 43565, + "_DAY": 43566, + "Ġweaknesses": 43567, + "ĠLodge": 43568, + "Ġnar": 43569, + "ĠMate": 43570, + "Ġjp": 43571, + "ĠHttpHeaders": 43572, + "Ġsmo": 43573, + "ĠTOKEN": 43574, + "])(": 43575, + "Ġaqui": 43576, + "swagen": 43577, + "Ġsrv": 43578, + "ĉans": 43579, + "Around": 43580, + "ĠManuel": 43581, + "Ġfictional": 43582, + "ĠIMG": 43583, + "Ġ.'": 43584, + "ĠBerry": 43585, + "Ġwallpaper": 43586, + "sexual": 43587, + "iero": 43588, + "ĠçļĦ": 43589, + "ìĨĮ": 43590, + "BackingField": 43591, + "ĠAdrian": 43592, + "BASEPATH": 43593, + "Ġrepeats": 43594, + "Ġblues": 43595, + "Ġunpredict": 43596, + "_coll": 43597, + "stacle": 43598, + "ĠTumblr": 43599, + "ĠElf": 43600, + "Ġassurance": 43601, + "Ġcensus": 43602, + "ĠIMPORT": 43603, + "ENDER": 43604, + "anos": 43605, + "Ġ=(": 43606, + "ĠEllis": 43607, + "\"ĊĊĊĊ": 43608, + ".win": 43609, + "ĠAbove": 43610, + "alon": 43611, + "_tick": 43612, + "Ġrepresentations": 43613, + "Ġæķ": 43614, + "wid": 43615, + "ĠArms": 43616, + "Lista": 43617, + "_failure": 43618, + "_cm": 43619, + ".FlatAppearance": 43620, + "Ġthrone": 43621, + "Patch": 43622, + "ĠVoy": 43623, + "engl": 43624, + "Ġnegotiating": 43625, + ">`": 43626, + "Ġshoots": 43627, + "ĠFPS": 43628, + ".Year": 43629, + "ĠKiss": 43630, + "ención": 43631, + "reeting": 43632, + "FromFile": 43633, + "Ġresignation": 43634, + "Ø·": 43635, + "Ġtwins": 43636, + "ượ": 43637, + "Ġgebru": 43638, + ".getContent": 43639, + ".Tree": 43640, + "ĠEmployees": 43641, + "ĠFIFA": 43642, + "Ġcertainty": 43643, + "(Cl": 43644, + "Ġtotals": 43645, + "editable": 43646, + "à¥Ģ": 43647, + ".Reporting": 43648, + "Mas": 43649, + "quiet": 43650, + ".rules": 43651, + "ĠVO": 43652, + "conexion": 43653, + ",K": 43654, + "Ġallocator": 43655, + "ĠPowder": 43656, + "\\Repository": 43657, + "Beat": 43658, + "_tipo": 43659, + "Ġ['',": 43660, + "_INTR": 43661, + "Ġ<<<": 43662, + "\");čĊ": 43691, + "dropIfExists": 43692, + "ĠBeg": 43693, + "_HAL": 43694, + "ĠcrossAxisAlignment": 43695, + "ĠEvidence": 43696, + "Ġpeculiar": 43697, + "Ġinstitute": 43698, + "veis": 43699, + "Ġfft": 43700, + "Ãģ": 43701, + "Ġzoekt": 43702, + "analy": 43703, + "ĠHomeland": 43704, + "Ġpenetr": 43705, + "uddenly": 43706, + "ĉelement": 43707, + "ĠBren": 43708, + "ĠTrudeau": 43709, + "ĠCuban": 43710, + "jam": 43711, + "uslim": 43712, + "_ev": 43713, + "Ġstems": 43714, + "}%": 43715, + "Ŀå§ĭ": 43716, + "Ġbranding": 43717, + "Ġcorrespondence": 43718, + ".jquery": 43719, + "¢åįķ": 43720, + "ĠReads": 43721, + "(HttpStatusCode": 43722, + "assin": 43723, + "(slot": 43724, + "ĠGraduate": 43725, + "///<": 43726, + "Ġinformations": 43727, + "ENABLE": 43728, + "Ġpuis": 43729, + "Ġfinder": 43730, + "ĠBris": 43731, + "Ġnettsteder": 43732, + "_mid": 43733, + "Ġogs": 43734, + "ĠSterling": 43735, + "Ġarrog": 43736, + "strftime": 43737, + "|ĊĊ": 43738, + "Ġvox": 43739, + "ĠRegardless": 43740, + "Ġeso": 43741, + "ĠComfort": 43742, + ".BooleanField": 43743, + "Ġuh": 43744, + "ACY": 43745, + "Ġsqueez": 43746, + "ĠVic": 43747, + "contro": 43748, + ".lo": 43749, + "Ġire": 43750, + "ĠComedy": 43751, + "ë¶": 43752, + "Ġoriginated": 43753, + "Ġshipment": 43754, + "|max": 43755, + "_guid": 43756, + "levation": 43757, + "наÑı": 43758, + "(undefined": 43759, + "ĠDDR": 43760, + "Ġshootings": 43761, + "ĠLatino": 43762, + "ENDOR": 43763, + "Ġaveraging": 43764, + "Ġgreeted": 43765, + "Ġtheaters": 43766, + "ое": 43767, + "ĠdB": 43768, + "Ġgst": 43769, + "Ġdefinite": 43770, + ".Storage": 43771, + ".her": 43772, + "Ġafore": 43773, + "ĠReality": 43774, + "ĠGods": 43775, + "versed": 43776, + "Ġhandsome": 43777, + "Ġexcluding": 43778, + "(ad": 43779, + "Quotes": 43780, + "ĠScheme": 43781, + "?q": 43782, + "ĠTamil": 43783, + "Ticks": 43784, + "Ġpest": 43785, + "'n": 43786, + "Ġpornography": 43787, + "_modal": 43788, + "Ġ----------": 43789, + "Ġdisposable": 43790, + "FREE": 43791, + "Ġshark": 43792, + "CHE": 43793, + "Ġdepicted": 43794, + "Ġdemonstrations": 43795, + "ĠKilled": 43796, + "ĠRULE": 43797, + "Ġobsessed": 43798, + "Ġsimplified": 43799, + "Postal": 43800, + "Ġconceptual": 43801, + "Ġpst": 43802, + "Las": 43803, + "_PROJECT": 43804, + "ucceeded": 43805, + "olu": 43806, + "ÄŁi": 43807, + "Ġpersonalities": 43808, + "Ġreshape": 43809, + "Ġenclosed": 43810, + "ĉptr": 43811, + "Ġtutorials": 43812, + "Ġexploded": 43813, + "_DIRECTORY": 43814, + "åĨħ容": 43815, + "Ġcanon": 43816, + "Ġrecognise": 43817, + "PAD": 43818, + "ĠApprox": 43819, + "ĠRestore": 43820, + "ĠImportant": 43821, + "Ġheavier": 43822, + ".Sequential": 43823, + "Earth": 43824, + "ĠMilk": 43825, + ".setRequest": 43826, + ".tem": 43827, + "Ġreconstruct": 43828, + "Ġskeptical": 43829, + "_Private": 43830, + "BUF": 43831, + "qua": 43832, + ":a": 43833, + "Ġsek": 43834, + "Ġdwell": 43835, + "ossa": 43836, + "Ġrewarded": 43837, + "ий": 43838, + "(topic": 43839, + "_partition": 43840, + "Ġ__________________": 43841, + "Keywords": 43842, + "ĠFranco": 43843, + "Lite": 43844, + "Ġnaken": 43845, + "Ġза": 43846, + "OBJECT": 43847, + "Ġcrafts": 43848, + "ĠSwap": 43849, + ".Xna": 43850, + ".Connect": 43851, + "Ġbalcony": 43852, + "(real": 43853, + "ĠBarnes": 43854, + "bir": 43855, + "ĠTwenty": 43856, + "ayan": 43857, + "atars": 43858, + "ĠPropel": 43859, + "ĠIhnen": 43860, + "Upgrade": 43861, + "Ġcurb": 43862, + "-second": 43863, + "Ġneph": 43864, + ".pres": 43865, + "ìŀħ": 43866, + ".seq": 43867, + "Ġpadded": 43868, + "\"?": 43869, + "jl": 43870, + "ãĥ¬": 43871, + "')a": 43875, + "Coordinates": 43876, + "Ġenacted": 43877, + "ENTS": 43878, + "Ġlac": 43879, + ".final": 43880, + "ĠPhpStorm": 43881, + "called": 43882, + "Ġinquiries": 43883, + ".middleware": 43884, + "ĠDowntown": 43885, + "/';Ċ": 43886, + "Ġkilomet": 43887, + "accel": 43888, + "Ġquien": 43889, + "wstring": 43890, + "setData": 43891, + "Ġmanera": 43892, + "Ġmodular": 43893, + "rimp": 43894, + "Ġtariffs": 43895, + "âĢĻil": 43896, + "_THROW": 43897, + "/color": 43898, + "ĠHTMLElement": 43899, + "Ġcarro": 43900, + "Ġprere": 43901, + "Ġplotting": 43902, + "ĠPositive": 43903, + "ĠMachines": 43904, + "OTES": 43905, + "Ỽ": 43906, + "pleasant": 43907, + "Ġalte": 43908, + "Ġainda": 43909, + "these": 43910, + "Ġcors": 43911, + "ipay": 43912, + "ĠAdvisory": 43913, + "ĠRubio": 43914, + "jq": 43915, + "Ġlimestone": 43916, + "Ġdetached": 43917, + "设置": 43918, + "tenant": 43919, + "ĠDepth": 43920, + "alore": 43921, + "ĠÑģÑĤÑĢок": 43922, + "ĠFORE": 43923, + "ĠLay": 43924, + "presentation": 43925, + ")');Ċ": 43926, + ".subplots": 43927, + "Ïĥ": 43928, + "NOW": 43929, + "Gar": 43930, + "handles": 43931, + "abra": 43932, + "puties": 43933, + "ĠElectrical": 43934, + "Middle": 43935, + "ropic": 43936, + "ĠJD": 43937, + "ĠDyn": 43938, + "ĠBristol": 43939, + "ĠMcCarthy": 43940, + "Ġstriker": 43941, + "Ġenumerable": 43942, + "ĠEvan": 43943, + ".defaults": 43944, + "quences": 43945, + ")||": 43946, + "ĉtoken": 43947, + "âĹı": 43948, + "-dropdown": 43949, + "STORE": 43950, + "ĠGraphic": 43951, + "(pp": 43952, + "Expl": 43953, + "Ġupwards": 43954, + "ĠDistributed": 43955, + "ĠWEB": 43956, + "Jer": 43957, + "isNaN": 43958, + "çĶŁæĪIJ": 43959, + ">R": 43960, + "üssen": 43961, + "efs": 43962, + "Ġuncover": 43963, + "Ġlud": 43964, + ".calculate": 43965, + "Ġintptr": 43966, + "Ġmidfielder": 43967, + ".Headers": 43968, + "Ġmf": 43969, + "eref": 43970, + ".Metro": 43971, + "ĠSpeaking": 43972, + ":b": 43973, + "Ġcryptocurrencies": 43974, + "Ġdemons": 43975, + "ĉEXPECT": 43976, + "Ġwicked": 43977, + "youtube": 43978, + ":Int": 43979, + "ĠHindi": 43980, + "ĠCAT": 43981, + "Ġع": 43982, + "rar": 43983, + "omore": 43984, + "/per": 43985, + "/license": 43986, + "Ġreim": 43987, + "Ġawaiting": 43988, + "Ġlethal": 43989, + "ĠEF": 43990, + "rounded": 43991, + "ĠPlatinum": 43992, + "ĠвÑģе": 43993, + ".coords": 43994, + ".Device": 43995, + "/item": 43996, + "ĠWenn": 43997, + "compileComponents": 43998, + "ĠKinder": 43999, + ".removeItem": 44000, + "Ġanda": 44001, + "bnb": 44002, + "Ġpra": 44003, + "(transaction": 44004, + "Ġembarrassing": 44005, + "ĉBOOL": 44006, + ".contentView": 44007, + "Ġeventdata": 44008, + "atore": 44009, + "ĠprovidedIn": 44010, + "irma": 44011, + "Ġzona": 44012, + "_HW": 44013, + "æĻ": 44014, + "Ġstove": 44015, + "Ġcounterpart": 44016, + "_Product": 44017, + "_MANAGER": 44018, + "Ġinfring": 44019, + "ĠERA": 44020, + "_party": 44021, + "Ñij": 44022, + "Ġinici": 44023, + "_Request": 44024, + "Ġmiracle": 44025, + "ĠcancelButton": 44026, + "Spy": 44027, + "ató": 44028, + "Ġpolish": 44029, + "ĠNicole": 44030, + ".displayName": 44031, + "\\Requests": 44032, + "ĠuseHistory": 44033, + "RouterModule": 44034, + "Ġstared": 44035, + "IDER": 44036, + "ÑĥнкÑĨи": 44037, + "Ġnota": 44038, + "$arr": 44039, + "pecified": 44040, + "Ġtopp": 44041, + "_DRIVER": 44042, + "/ng": 44043, + "åł": 44044, + "_tm": 44045, + "%timeout": 44046, + "\"": 44488, + "tlement": 44489, + "$(\"": 44490, + "FromString": 44491, + "ĠBild": 44492, + "Ġconventions": 44493, + "_native": 44494, + "ĠInspector": 44495, + "ĠPist": 44496, + "ubar": 44497, + "Ġregs": 44498, + "ĠPilot": 44499, + "Thus": 44500, + ">'+": 44501, + "Ġcela": 44502, + ".news": 44503, + "(Product": 44504, + "Living": 44505, + "Russia": 44506, + "Ġfacet": 44507, + "etical": 44508, + "Ġ['$": 44509, + "/[": 44510, + "ĠDire": 44511, + "Ġgases": 44512, + "ĠINFORMATION": 44513, + "ĠEat": 44514, + "ĠForums": 44515, + "ĠCharacters": 44516, + "_met": 44517, + "Ġìĭľ": 44518, + "Ġkings": 44519, + "achie": 44520, + "ĠLambda": 44521, + "Ġtimers": 44522, + "ĠLighting": 44523, + "ĠCasey": 44524, + "addir": 44525, + "andex": 44526, + ".answer": 44527, + "ĠHip": 44528, + "ĠPrincip": 44529, + "StartDate": 44530, + "ĠãĢĮ": 44531, + "tres": 44532, + "Ġ&#": 44533, + ".MaxValue": 44534, + "ĠProblems": 44535, + "Ġlatex": 44536, + "OfClass": 44537, + "ĠLynn": 44538, + "//'": 44539, + "Ġvoyage": 44540, + "Ġshuttle": 44541, + "ĠRoller": 44542, + "ĠRuntimeError": 44543, + "uya": 44544, + "Dic": 44545, + "ĉbuilder": 44546, + "Ġbullying": 44547, + "Ġsimplest": 44548, + ".called": 44549, + "ĠLR": 44550, + "Ġmorality": 44551, + "Ġsturdy": 44552, + "tracking": 44553, + ".swagger": 44554, + "_BIND": 44555, + "ITOR": 44556, + "-urlencoded": 44557, + "ĠÑħ": 44558, + "ĠTrinity": 44559, + "Ġtraps": 44560, + "Ġ|-": 44561, + "ĠsetText": 44562, + "Ġbargain": 44563, + "Ġbrakes": 44564, + ".getCode": 44565, + "Ġmigrate": 44566, + "Ġribbon": 44567, + ")return": 44568, + "Ġcharger": 44569, + "acom": 44570, + "ADIUS": 44571, + "ĠAmbassador": 44572, + "-after": 44573, + "Ġanni": 44574, + "ĉspin": 44575, + "Concept": 44576, + "ĠHenderson": 44577, + "ĠHOST": 44578, + ".rank": 44579, + "ĠNortheast": 44580, + "Ġberlin": 44581, + "Ġrequis": 44582, + ".feed": 44583, + "ĠsourceMapping": 44584, + "ĠRencontre": 44585, + ".ajax": 44586, + "nestjs": 44587, + "Ġtrek": 44588, + "ĠNacional": 44589, + "Ġ&[": 44590, + "Ġpayable": 44591, + "ortex": 44592, + "Ġdept": 44593, + "fieldName": 44594, + "Ġcompletes": 44595, + "ĠRVA": 44596, + "Ġonions": 44597, + "alignment": 44598, + "Formats": 44599, + "Ġ'{$": 44600, + "HashSet": 44601, + "ĠBod": 44602, + ".InvariantCulture": 44603, + "Ġsettlements": 44604, + "Ġhydr": 44605, + ".updated": 44606, + "venth": 44607, + "(seconds": 44608, + "=\"/\"": 44609, + "Ġwebpage": 44610, + "(ĊĊ": 44611, + "Ġtir": 44612, + "Ġtoes": 44613, + "ĠBrick": 44614, + "Ġambition": 44615, + "Pot": 44616, + "=max": 44617, + "ETIME": 44618, + "Ġdepot": 44619, + "calls": 44620, + "ĠNorwegian": 44621, + "`:": 44622, + "Ġburger": 44623, + "Ġprofessors": 44624, + "ĠAllocate": 44625, + "-thirds": 44626, + "-chart": 44627, + "Ġford": 44628, + "*N": 44629, + ".kotlin": 44630, + "Ġpaperwork": 44631, + "ĠDEVICE": 44632, + "%@\",": 44633, + "respect": 44634, + "(mp": 44635, + "é«ĺ": 44636, + "-if": 44637, + "Ġcushion": 44638, + "obot": 44639, + "Ġparc": 44640, + "SPACE": 44641, + "ĠNetanyahu": 44642, + "Ġselfish": 44643, + "feat": 44644, + "Ġclientes": 44645, + "-tools": 44646, + "Ġporch": 44647, + "Ġjq": 44648, + ".verbose": 44649, + "Ġliberals": 44650, + "])ĊĊĊ": 44651, + "pies": 44652, + "NotBlank": 44653, + "(term": 44654, + "ÈĽi": 44655, + "_Params": 44656, + ".normalize": 44657, + "Bullet": 44658, + "ASIC": 44659, + "(hex": 44660, + "_cliente": 44661, + "+,": 44662, + "_DI": 44663, + "Ġforthcoming": 44664, + "}\")]Ċ": 44665, + "seo": 44666, + "Um": 44667, + ">Name": 44668, + "Ġcomfortably": 44669, + "irectional": 44670, + "WITH": 44671, + "/pr": 44672, + "ĠPoor": 44673, + "ĠVitamin": 44674, + "vic": 44675, + "GH": 44676, + "Ġpriorit": 44677, + "ĠNN": 44678, + "ĠClosed": 44679, + "¤í": 44680, + "ĠisOpen": 44681, + "\\Console": 44682, + "AndFeel": 44683, + ".SUCCESS": 44684, + "_OPERATION": 44685, + "polation": 44686, + "ĠTas": 44687, + "psz": 44688, + ">'.": 44689, + "CURRENT": 44690, + "Vendor": 44691, + "hosts": 44692, + "ĠErd": 44693, + ">tagger": 44694, + "ĠsourceMappingURL": 44695, + "Ġmarathon": 44696, + "_closed": 44697, + "Ġexemption": 44698, + "Ġrecognizes": 44699, + "ideshow": 44700, + "'$": 44701, + "('/');Ċ": 44702, + "mits": 44703, + "warz": 44704, + "ĠCherry": 44705, + "µ¬": 44706, + "nor": 44707, + "porte": 44708, + "Ġwl": 44709, + "_backup": 44710, + ".getBoolean": 44711, + ".getResource": 44712, + "Ġdefinitive": 44713, + ".EditText": 44714, + "ĠsÃŃ": 44715, + ".CONT": 44716, + "ĠPLAYER": 44717, + ".cards": 44718, + "ĠShore": 44719, + "('/')Ċ": 44720, + "cluir": 44721, + "WebDriver": 44722, + "(month": 44723, + "-release": 44724, + "Ġinspector": 44725, + "å£": 44726, + "ĠNF": 44727, + "_clip": 44728, + "åŃIJ": 44729, + "Ġinteracting": 44730, + ".tmp": 44731, + "Ġ'''ĊĊ": 44732, + "Ġdee": 44733, + "Ġfrost": 44734, + "\"]))Ċ": 44735, + "ĠPlaces": 44736, + "Throws": 44737, + "fork": 44738, + "/day": 44739, + "iPhone": 44740, + "ĠMIC": 44741, + "Ġfolding": 44742, + "Ġcrore": 44743, + "ĠChiefs": 44744, + "pherical": 44745, + "(price": 44746, + ".WriteString": 44747, + "Ġexiting": 44748, + "]',Ċ": 44749, + "ighting": 44750, + "Ingredient": 44751, + "(vertex": 44752, + "ĠscrollView": 44753, + "hf": 44754, + ":new": 44755, + "SEN": 44756, + "sector": 44757, + "Ġspins": 44758, + "ĠScheduler": 44759, + "otechn": 44760, + "semicolon": 44761, + "FontOfSize": 44762, + "ĠSpecifically": 44763, + "flamm": 44764, + ".ObjectId": 44765, + "Ġconta": 44766, + "_permissions": 44767, + "ĉFROM": 44768, + "ICODE": 44769, + "/kg": 44770, + "ĠHotels": 44771, + "-med": 44772, + "ĠDin": 44773, + "Ġnavy": 44774, + "getParam": 44775, + "Ġmend": 44776, + "Ġportrayed": 44777, + "ĠMetropolitan": 44778, + "Painter": 44779, + "Ġreferral": 44780, + "_good": 44781, + "Ġmarvel": 44782, + "osaic": 44783, + ">(&": 44784, + ".ur": 44785, + "Ġestos": 44786, + "William": 44787, + "Ġtimber": 44788, + "Ġquelques": 44789, + "ĠDocuments": 44790, + ".Xaml": 44791, + "Ġbatches": 44792, + "éģĵ": 44793, + "ĠReleased": 44794, + "Tail": 44795, + "COOKIE": 44796, + "heid": 44797, + "_station": 44798, + "ĠVia": 44799, + "Sale": 44800, + "ĠRepeat": 44801, + "Ġpromin": 44802, + "ĠZo": 44803, + "-forward": 44804, + "ĠIon": 44805, + "itary": 44806, + "Ġjus": 44807, + "-request": 44808, + "Ġproudly": 44809, + "ĠStreaming": 44810, + "(MouseEvent": 44811, + "ĠSprint": 44812, + "_rotation": 44813, + "Repositories": 44814, + "Ġtart": 44815, + "ĠÑģв": 44816, + "Ġmappings": 44817, + "èª": 44818, + "Cu": 44819, + "Cycle": 44820, + "Ġbun": 44821, + "ĉlua": 44822, + "ãĥī": 44823, + "Ġ((!": 44824, + "Ġcollectively": 44825, + "ĠCond": 44826, + "Ġwszyst": 44827, + "(lib": 44828, + "openhagen": 44829, + "_skip": 44830, + ".ColumnHeader": 44831, + "éĤ": 44832, + "perienced": 44833, + "ıè¿°": 44834, + "_props": 44835, + "Ġcontrace": 44836, + "Ġmatchup": 44837, + "abetic": 44838, + ".members": 44839, + "RECT": 44840, + "(dat": 44841, + "Ġsog": 44842, + "renom": 44843, + "_Method": 44844, + "Customers": 44845, + "fullname": 44846, + "ZN": 44847, + "retry": 44848, + "Ġkap": 44849, + "ĠNeu": 44850, + "èĬ": 44851, + "addChild": 44852, + "willReturn": 44853, + "_permalink": 44854, + "Ġenergetic": 44855, + "ĠWet": 44856, + "ĠMorr": 44857, + "Ġgcd": 44858, + "counts": 44859, + ",type": 44860, + "dig": 44861, + "(Login": 44862, + "Ġcracks": 44863, + "Ġbacterial": 44864, + "ĠMeat": 44865, + "ĠArmstrong": 44866, + "ĠBronze": 44867, + "Ġapproximate": 44868, + "_dirs": 44869, + "liga": 44870, + "ÅĤad": 44871, + "Ġkindness": 44872, + "Ġcontre": 44873, + "ĠEVERY": 44874, + "MET": 44875, + "Ġannouncements": 44876, + "gpio": 44877, + "ĠWaitForSeconds": 44878, + "ĠPhotoshop": 44879, + "Ġdiscontin": 44880, + "/dd": 44881, + "Ġtopology": 44882, + "anical": 44883, + ".interface": 44884, + "aucoup": 44885, + ".HashSet": 44886, + "ARIANT": 44887, + "(routes": 44888, + "ĠTeh": 44889, + "Ġhype": 44890, + "]\").": 44891, + "Ġslam": 44892, + "Ġbroth": 44893, + "-inter": 44894, + "ĠRid": 44895, + "-manager": 44896, + "Cancelar": 44897, + "ĠPagination": 44898, + "Ġsoundtrack": 44899, + "Ġposterior": 44900, + "Ġscrub": 44901, + "creating": 44902, + "-*": 44903, + "irteen": 44904, + ".dy": 44905, + ".symmetric": 44906, + "Ġ\"\".": 44907, + "===============": 44908, + "Ġchassis": 44909, + "ĠnumberOfRows": 44910, + "Developer": 44911, + "_bins": 44912, + "ĠOUR": 44913, + "rieb": 44914, + "Pros": 44915, + "ĠwiÄĻ": 44916, + "\"d": 44917, + "Ġasyncio": 44918, + "zeigen": 44919, + "_spi": 44920, + ".ALL": 44921, + "Ġscrews": 44922, + "Chinese": 44923, + "ĠapiKey": 44924, + "Ġunsuccessful": 44925, + "ĠSeahawks": 44926, + "ORG": 44927, + "竳": 44928, + "Ġprofessionally": 44929, + "ĠCoupon": 44930, + "åŃĹæ®µ": 44931, + "Convention": 44932, + "Ġpolym": 44933, + "æīĭ": 44934, + "Ġsalvation": 44935, + "Ġengineered": 44936, + "ĠWrest": 44937, + "ĠGCC": 44938, + "Ġwarmer": 44939, + "LayoutConstraint": 44940, + "Ġaggrav": 44941, + "Scripts": 44942, + "venture": 44943, + "Ġrefrigerator": 44944, + "Ġinnovations": 44945, + "ĠRunner": 44946, + "NIC": 44947, + "ĠRolling": 44948, + "ControlEvents": 44949, + "Ġloos": 44950, + "pac": 44951, + "ĉpanel": 44952, + "efe": 44953, + "ĠBuddha": 44954, + "--------------Ċ": 44955, + "åºĵ": 44956, + "(forKey": 44957, + "Ġlumin": 44958, + "Ġ(?": 44959, + "ĠAIDS": 44960, + ",user": 44961, + "imientos": 44962, + "contentType": 44963, + "antlr": 44964, + "é¦": 44965, + "ĠWelt": 44966, + "Production": 44967, + "might": 44968, + "ĠVII": 44969, + "\",(": 44970, + "Ġobserving": 44971, + "Ġdeliberate": 44972, + "(control": 44973, + "Ġwithd": 44974, + "Ġsemana": 44975, + "STACK": 44976, + "uchen": 44977, + "Nice": 44978, + "ĠDeutschland": 44979, + "ĠSpecifies": 44980, + "dma": 44981, + "izio": 44982, + "ĠFacts": 44983, + "_popup": 44984, + "ĠDirectors": 44985, + "{:": 44986, + "[R": 44987, + "ĠÑįлеменÑĤ": 44988, + "Ġplat": 44989, + "Ġdirecting": 44990, + "ä¸ī": 44991, + "ĠGilbert": 44992, + "â̦.ĊĊ": 44993, + ".qml": 44994, + "Ġthereafter": 44995, + "Ġdisposition": 44996, + "draft": 44997, + "Ġsurgeon": 44998, + "ĠInsider": 44999, + "Blend": 45000, + "ĠTrev": 45001, + "trinsic": 45002, + "Topics": 45003, + "rieve": 45004, + "_FILENAME": 45005, + "Ġautres": 45006, + "Jose": 45007, + "Producer": 45008, + "erus": 45009, + "Ġpetit": 45010, + "ĠNEXT": 45011, + "ĠFilters": 45012, + "Ġreplicate": 45013, + "\"]).": 45014, + "Ġlenders": 45015, + "]\",Ċ": 45016, + ";charset": 45017, + "CppObject": 45018, + "Ġfloral": 45019, + "ĠTipo": 45020, + "Ġcircuits": 45021, + "easy": 45022, + "(&$": 45023, + "itta": 45024, + "eryl": 45025, + "_COMMON": 45026, + "'}}>Ċ": 45027, + "-backed": 45028, + "(variable": 45029, + "(Index": 45030, + "Ġvoir": 45031, + "_locations": 45032, + "++){": 45033, + "ĠLouisville": 45034, + "Ġgratitude": 45035, + ".Mockito": 45036, + "ĠPowers": 45037, + "ieurs": 45038, + "Ġgeographic": 45039, + "rale": 45040, + "Ġcra": 45041, + "ĠSpurs": 45042, + "iphertext": 45043, + "ACION": 45044, + "-common": 45045, + "Ġvictories": 45046, + "ĠFinals": 45047, + ".shuffle": 45048, + "-million": 45049, + "_PROC": 45050, + "assume": 45051, + "Ġils": 45052, + "DBC": 45053, + "BootTest": 45054, + "Ġlavor": 45055, + ".testing": 45056, + ".ast": 45057, + "\"]/": 45058, + "moid": 45059, + "Ġqualification": 45060, + "gesch": 45061, + "ĉput": 45062, + "Ġairports": 45063, + "JI": 45064, + "Teacher": 45065, + "_uniform": 45066, + "Ġnama": 45067, + "ĠBast": 45068, + "ertype": 45069, + "capture": 45070, + "getAll": 45071, + "ĠReynolds": 45072, + "ooled": 45073, + ".comments": 45074, + "Ġchin": 45075, + ").*": 45076, + "Ġили": 45077, + "tgl": 45078, + "udos": 45079, + "ĠdÃŃas": 45080, + "chai": 45081, + ".program": 45082, + "Ġpsz": 45083, + "ĉicon": 45084, + "phil": 45085, + "entral": 45086, + "_WRAP": 45087, + "ovi": 45088, + "Ġnostalg": 45089, + "Infinity": 45090, + "ĉyield": 45091, + "Ġvitamins": 45092, + "Quaternion": 45093, + "Sink": 45094, + "_goods": 45095, + "Ġ........": 45096, + "ĠWings": 45097, + "uridad": 45098, + "-story": 45099, + "\"])ĊĊ": 45100, + "idelity": 45101, + "TypeDef": 45102, + "Gtk": 45103, + "ĠíĮ": 45104, + "_Main": 45105, + "Ġchez": 45106, + "ĠRaven": 45107, + "Ġpayroll": 45108, + "Ġfreelance": 45109, + "LLU": 45110, + "ĠMend": 45111, + "eday": 45112, + "ApiModelProperty": 45113, + ".FormBorderStyle": 45114, + "Ġeconomist": 45115, + "stanbul": 45116, + "Ġfreight": 45117, + "-Agent": 45118, + "(meta": 45119, + "Ġsymmetry": 45120, + "Ġ'..": 45121, + ".Calendar": 45122, + "-aut": 45123, + "gf": 45124, + "pent": 45125, + "yclopedia": 45126, + "Ġwishing": 45127, + "ĊĊĊĊĊĊĊĊĊĊĊĊ": 45128, + "Ġgentleman": 45129, + "Ġê³": 45130, + "=#": 45131, + "Ġlectures": 45132, + "âĢľIn": 45133, + "Ġ!_": 45134, + "Ġhb": 45135, + "ĠVendor": 45136, + "Recently": 45137, + "_notes": 45138, + "æıIJ示": 45139, + "\"My": 45140, + "HeadersHeight": 45141, + "_SO": 45142, + "Ġunwilling": 45143, + "Ġsuperhero": 45144, + "gio": 45145, + "psy": 45146, + "ĠPeer": 45147, + "javax": 45148, + "&apos": 45149, + "ĠCrisis": 45150, + "ordinal": 45151, + "Memcpy": 45152, + "++++++++++++++++": 45153, + "-val": 45154, + "Ġworkbook": 45155, + "-ap": 45156, + "=k": 45157, + "Ġmetallic": 45158, + "_peer": 45159, + "ByPrimaryKey": 45160, + "_SD": 45161, + "uator": 45162, + "_SHADER": 45163, + ")Math": 45164, + ".Transform": 45165, + "Ġcows": 45166, + "Phi": 45167, + "ĠClem": 45168, + "(_(\"": 45169, + "ĠLud": 45170, + "-delay": 45171, + "ĠSecurities": 45172, + "ĠOrthodox": 45173, + "Symfony": 45174, + "(report": 45175, + "Ġentertain": 45176, + "EPS": 45177, + "izoph": 45178, + "exual": 45179, + "IRD": 45180, + "ä»İ": 45181, + "Ġlith": 45182, + "Ġsanitize": 45183, + "Ġfeminine": 45184, + "ISBN": 45185, + ".authentication": 45186, + "_pipeline": 45187, + "/constants": 45188, + "ĠCONF": 45189, + "Ġlucr": 45190, + "ricia": 45191, + ".ttf": 45192, + ".setContent": 45193, + "Ġstan": 45194, + "orean": 45195, + "ĠLloyd": 45196, + ".rawValue": 45197, + "Ġgor": 45198, + "ĠBrowns": 45199, + "Regression": 45200, + "Ġlowering": 45201, + "naissance": 45202, + "Ġblows": 45203, + "Ġamazed": 45204, + "Ġunrelated": 45205, + "Reviews": 45206, + "Ġruby": 45207, + "ĠModifier": 45208, + "Ġgiants": 45209, + ".thread": 45210, + "Ġcontainment": 45211, + "ĠStartCoroutine": 45212, + "umat": 45213, + "orelease": 45214, + "ĠRandy": 45215, + "@endif": 45216, + "Digest": 45217, + "Ġsuburban": 45218, + "=\");Ċ": 45219, + "Ġannonce": 45220, + ".variable": 45221, + "\\Foundation": 45222, + "Ġacre": 45223, + "Van": 45224, + "Ġtuples": 45225, + "dns": 45226, + "ĠStanding": 45227, + "_large": 45228, + "Ġboxing": 45229, + "SupportActionBar": 45230, + "ĠFortune": 45231, + "ĠRum": 45232, + "_multiple": 45233, + "archical": 45234, + "Ġfwrite": 45235, + "_quote": 45236, + "Ġfoolish": 45237, + "Ġcomprising": 45238, + "Ġоп": 45239, + "-selected": 45240, + "vf": 45241, + "maid": 45242, + "Nama": 45243, + "(datetime": 45244, + "Ġindirectly": 45245, + "gart": 45246, + "fixtures": 45247, + "chos": 45248, + "ĠHalo": 45249, + "Ġrecurring": 45250, + "-news": 45251, + "vil": 45252, + "ĠNursing": 45253, + "-produ": 45254, + "ĠHQ": 45255, + "\\HttpFoundation": 45256, + "enci": 45257, + "auen": 45258, + "Ġvy": 45259, + "ocracy": 45260, + "Ġdelegation": 45261, + "Ġasphalt": 45262, + "ĠsetSelected": 45263, + "kok": 45264, + "/rest": 45265, + "metics": 45266, + "ĠNSDate": 45267, + "Ġtravelled": 45268, + "Ġrecib": 45269, + "Ġmime": 45270, + "CLIENT": 45271, + "ĠGU": 45272, + "ĠHANDLE": 45273, + "/Q": 45274, + "[z": 45275, + "Ġbothered": 45276, + "ĠBBQ": 45277, + "ças": 45278, + "_examples": 45279, + "_FIN": 45280, + "ĠwhiteColor": 45281, + "Ġastronom": 45282, + "-dir": 45283, + "Ġsovereign": 45284, + "Ġbreeze": 45285, + "Ġinning": 45286, + "ĠEdmonton": 45287, + "gli": 45288, + ".blogspot": 45289, + "jsx": 45290, + "Ġversa": 45291, + "ĠMohammed": 45292, + ".Job": 45293, + "-toggler": 45294, + "ĠполÑĮзоваÑĤ": 45295, + "ardon": 45296, + "Ġnewborn": 45297, + "Ġnaval": 45298, + "noteq": 45299, + "Ġtumblr": 45300, + "Ġhentai": 45301, + "ĠTypically": 45302, + "Ġloot": 45303, + ".Sprite": 45304, + "Flight": 45305, + "Ġwavelength": 45306, + "-sk": 45307, + "ĠElle": 45308, + "_exports": 45309, + "ĠÑı": 45310, + "ĠIH": 45311, + "izophren": 45312, + "Ġíģ": 45313, + "_primary": 45314, + "Ġmois": 45315, + "ĠBN": 45316, + "Ġsystemic": 45317, + "Ġdiferentes": 45318, + "INCT": 45319, + "Ġ''ĊĊ": 45320, + "$q": 45321, + "WidgetItem": 45322, + "clide": 45323, + "$file": 45324, + "Lemma": 45325, + "/table": 45326, + "agrid": 45327, + "ĠMongoDB": 45328, + "inte": 45329, + "Ġapprent": 45330, + "ÂŃing": 45331, + ".Db": 45332, + "ĠÃĤ": 45333, + "hammer": 45334, + "='';Ċ": 45335, + "Ġbrokers": 45336, + "itlement": 45337, + "semblies": 45338, + "Ele": 45339, + "{x": 45340, + "Ġlastname": 45341, + "<-": 45342, + "Ġflatten": 45343, + "_band": 45344, + ".Root": 45345, + ".readFileSync": 45346, + "======": 45347, + ".rx": 45348, + "?čĊ": 45349, + "Ġmetaphor": 45350, + "Ti": 45351, + "conte": 45352, + "Ġdebit": 45353, + "Ġcontempt": 45354, + "CppType": 45355, + "æĶ¯": 45356, + "FormField": 45357, + "ratio": 45358, + "osopher": 45359, + "Ġimplant": 45360, + "PURE": 45361, + "Ġalta": 45362, + "_management": 45363, + "Ġrefine": 45364, + "ĠCheckBox": 45365, + "ĠCharl": 45366, + "-version": 45367, + "conditional": 45368, + "venues": 45369, + "Ġrifles": 45370, + "Ġoffspring": 45371, + "Ġmilling": 45372, + "Ġsharply": 45373, + "Ġunderwater": 45374, + "(origin": 45375, + "_Control": 45376, + "Ġ.$": 45377, + "Plugins": 45378, + "Ġdrying": 45379, + "Ġillustrates": 45380, + "-u": 45381, + "Ġvegetarian": 45382, + "npc": 45383, + "Heart": 45384, + ";',Ċ": 45385, + "comma": 45386, + "teenth": 45387, + "asan": 45388, + "/spec": 45389, + "_moves": 45390, + "-margin": 45391, + "Ġingen": 45392, + "³³³": 45393, + "Ġprojet": 45394, + "Ġotra": 45395, + "Ġbras": 45396, + ".utc": 45397, + "Ġslept": 45398, + "=sub": 45399, + "abilit": 45400, + "poster": 45401, + "Ġsdk": 45402, + "ouncill": 45403, + "Ġwd": 45404, + "PreparedStatement": 45405, + "ĠDrum": 45406, + "(attribute": 45407, + "ĠEthernet": 45408, + "ĉDB": 45409, + "California": 45410, + "cube": 45411, + "[I": 45412, + ".Created": 45413, + "ĠHM": 45414, + "Ġtracing": 45415, + "FormsModule": 45416, + "-you": 45417, + ".currency": 45418, + "feeding": 45419, + "Ġtbody": 45420, + "Li": 45421, + "accion": 45422, + "nas": 45423, + "Ġtrouver": 45424, + "NONE": 45425, + "\"},čĊ": 45426, + "Ġftp": 45427, + "WithIdentifier": 45428, + "polate": 45429, + "FileInfo": 45430, + "Ġpursued": 45431, + "ĠĠĠĠčĊĠĠĠĠčĊ": 45432, + "DESCRIPTION": 45433, + "}*/Ċ": 45434, + "FromNib": 45435, + "Ġdecorative": 45436, + "_SSL": 45437, + "(chat": 45438, + "TLS": 45439, + "Ġsurprises": 45440, + "alculate": 45441, + "ĠSplash": 45442, + "(Configuration": 45443, + "ĠSEM": 45444, + "imson": 45445, + "/library": 45446, + "": 45521, + "GED": 45522, + "faq": 45523, + "Ġoptionally": 45524, + "_Dis": 45525, + "ĠSuccessful": 45526, + "ĠCensus": 45527, + "Ġincarcer": 45528, + "_CARD": 45529, + "Ġaviation": 45530, + "ĠGym": 45531, + "Authority": 45532, + ".Bean": 45533, + "shader": 45534, + "NotExist": 45535, + "_TextChanged": 45536, + "ĠSTOP": 45537, + "(team": 45538, + "\"H": 45539, + "wg": 45540, + "Ġgrinder": 45541, + "Ġstripe": 45542, + "Ġpreservation": 45543, + "Claim": 45544, + "aversal": 45545, + "warehouse": 45546, + "targets": 45547, + "Trust": 45548, + "Ġallev": 45549, + ",www": 45550, + "ousse": 45551, + "_chan": 45552, + "_Size": 45553, + "systems": 45554, + "Ġobjection": 45555, + "ĠKane": 45556, + "Ġcorros": 45557, + "ĠDSL": 45558, + "Ġua": 45559, + "ĠMH": 45560, + "ĠStrategic": 45561, + "_tcp": 45562, + "Ġê°Ĵ": 45563, + "Ġborrowed": 45564, + "ĠAch": 45565, + "ĉcommand": 45566, + "Ġgps": 45567, + "leston": 45568, + "ichever": 45569, + "ĠUA": 45570, + "Ġassaulted": 45571, + "Ġspecializes": 45572, + "ĉsearch": 45573, + "Hotel": 45574, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠčĊ": 45575, + "ĠPitch": 45576, + "ĠÙģ": 45577, + "READY": 45578, + "Ġparental": 45579, + "Ġgéné": 45580, + "Ġdonnées": 45581, + "Ġdetain": 45582, + "TARGET": 45583, + "Ġprotagonist": 45584, + "ĠclearInterval": 45585, + "ĠIconButton": 45586, + "ĠGetAll": 45587, + "TypeInfo": 45588, + "EH": 45589, + "âĢľThey": 45590, + "Ġ{[": 45591, + "Ġgag": 45592, + "ĠÚ©": 45593, + "ĠDropdown": 45594, + ".free": 45595, + "gone": 45596, + "imens": 45597, + "Ġinstal": 45598, + "ĉcurl": 45599, + "_CAN": 45600, + "ĠBone": 45601, + "ï¼Ķ": 45602, + "onyms": 45603, + "-government": 45604, + ".bindingNavigator": 45605, + "ĠDans": 45606, + "ĠMcL": 45607, + "(en": 45608, + ">(_": 45609, + "ÐĴÑĭ": 45610, + ".*;čĊ": 45611, + "=j": 45612, + "-cor": 45613, + "Son": 45614, + ".ToolStripItem": 45615, + "-around": 45616, + "_XML": 45617, + "endDate": 45618, + "Ġslack": 45619, + "Ġrotated": 45620, + "Ġnoqa": 45621, + "Ġcottage": 45622, + "Ġencontrar": 45623, + "_skill": 45624, + "houette": 45625, + "!čĊ": 45626, + ".weather": 45627, + "Ġemphasized": 45628, + "å®¶": 45629, + "ĠÑģпиÑģ": 45630, + "ĠCompiler": 45631, + "(android": 45632, + "ĠâĢº": 45633, + ".turn": 45634, + "Ġsuppression": 45635, + "_calls": 45636, + "Ġ*@": 45637, + "(strlen": 45638, + ".hex": 45639, + "ĠBills": 45640, + "ĠRSA": 45641, + "ÏĤ": 45642, + "ĠEscape": 45643, + "ementia": 45644, + "Ġfrontend": 45645, + "Ġpint": 45646, + "_exc": 45647, + "zzo": 45648, + "[],Ċ": 45649, + "Ġ\"','\"": 45650, + ".Environment": 45651, + "Ġaforementioned": 45652, + "Ġendure": 45653, + "prototype": 45654, + "therapy": 45655, + "ssi": 45656, + "Deg": 45657, + "_plugins": 45658, + ".userInfo": 45659, + "Printer": 45660, + "ĠPROGRAM": 45661, + "Ġruins": 45662, + "Ġempirical": 45663, + "Ġcrawl": 45664, + "ĠBoiler": 45665, + "-comment": 45666, + ".subplot": 45667, + "_et": 45668, + "Ġ'.',": 45669, + "minor": 45670, + "ĠCustoms": 45671, + "Ġyaw": 45672, + "underline": 45673, + "ĠComo": 45674, + "(('": 45675, + "(mean": 45676, + "Ġchaque": 45677, + "ĠBlocks": 45678, + ".rad": 45679, + "ilibrium": 45680, + "Ġwebdriver": 45681, + "Ġmelhor": 45682, + "dana": 45683, + "ĠAbuse": 45684, + "ĠSouthwest": 45685, + "ĠParen": 45686, + "PERTIES": 45687, + "ĉIL": 45688, + "Ġscream": 45689, + "vu": 45690, + "Ġincomes": 45691, + "Ġnim": 45692, + "Ġlace": 45693, + "Ġcompensate": 45694, + "Reverse": 45695, + "Dat": 45696, + "_attack": 45697, + "Ġnour": 45698, + "achen": 45699, + "cek": 45700, + "\"+": 45957, + "Ġtokenizer": 45958, + "Ġsovereignty": 45959, + "ĠPence": 45960, + "()\");Ċ": 45961, + "Ġpessoas": 45962, + ".Ge": 45963, + "ĠIncluded": 45964, + "Ġpagina": 45965, + "Ġexposing": 45966, + "еÑĪ": 45967, + "_SCRIPT": 45968, + "/$',": 45969, + "Thumbnail": 45970, + "×Ķ": 45971, + "webElementX": 45972, + "webElementXpaths": 45973, + "pressure": 45974, + "ĠCurry": 45975, + "_CP": 45976, + "OLUTION": 45977, + "ILES": 45978, + "protect": 45979, + "oola": 45980, + "Workspace": 45981, + "{};Ċ": 45982, + "ĠUNS": 45983, + "Ġsympathy": 45984, + "roker": 45985, + "Ġremodel": 45986, + "ĉcell": 45987, + "Ġatop": 45988, + ".FullName": 45989, + "Ġfaut": 45990, + "ĠEasily": 45991, + "_dynamic": 45992, + "Ġframed": 45993, + "Ġmotive": 45994, + "è·¯": 45995, + "sam": 45996, + "Ġmarca": 45997, + "ĠTextEditingController": 45998, + "Ġdestructor": 45999, + "cream": 46000, + "Ġrude": 46001, + "ĠBold": 46002, + "ĠIndigenous": 46003, + "Ġgens": 46004, + "Ġrelacion": 46005, + "(system": 46006, + "ĠUIFont": 46007, + "_charge": 46008, + "USTER": 46009, + "EV": 46010, + ".Namespace": 46011, + "Ġmerger": 46012, + "Ġcalloc": 46013, + "gang": 46014, + "BadRequest": 46015, + "Ġsper": 46016, + "-design": 46017, + "Ġâĩ": 46018, + "Chan": 46019, + "Ġorganism": 46020, + ",)": 46021, + "=id": 46022, + "_plane": 46023, + "ĠCases": 46024, + "elfast": 46025, + "ĠLegislature": 46026, + "ĠFaker": 46027, + "Ġinvoking": 46028, + "-utils": 46029, + "().'": 46030, + ".face": 46031, + "Ġguardian": 46032, + "myModal": 46033, + "Ġclipboard": 46034, + "ĠATM": 46035, + "Ġpeas": 46036, + "ĠSylv": 46037, + ".calc": 46038, + "ĠContacts": 46039, + "intValue": 46040, + "Ġmodifying": 46041, + "ĠBarb": 46042, + ".loss": 46043, + "_percentage": 46044, + "Asked": 46045, + "(lst": 46046, + "ategorical": 46047, + "-files": 46048, + "ĠRomania": 46049, + ".Ac": 46050, + "Ġhai": 46051, + "ĠFlying": 46052, + "Ġż": 46053, + "jp": 46054, + "ĠTrainer": 46055, + ".arc": 46056, + "_deg": 46057, + "Ġtraceback": 46058, + "OrFail": 46059, + "FLOW": 46060, + ".old": 46061, + "oya": 46062, + "gmt": 46063, + "isempty": 46064, + "Ġvaccination": 46065, + "Ġobsolete": 46066, + "recognized": 46067, + "Ġruined": 46068, + "ĠRein": 46069, + "ĠTracking": 46070, + "xfb": 46071, + "اÛĮ": 46072, + "Ġvære": 46073, + "Ġbryster": 46074, + "ĠITS": 46075, + "Ġdestiny": 46076, + "Ġswear": 46077, + "Ġredes": 46078, + "Ġclf": 46079, + "Ġflipped": 46080, + "ĉhead": 46081, + "Bluetooth": 46082, + "ĠOverrides": 46083, + ":Boolean": 46084, + "_=": 46085, + "_lr": 46086, + "spawn": 46087, + ":index": 46088, + "VALUES": 46089, + "iskey": 46090, + "?\");Ċ": 46091, + ".synthetic": 46092, + "ĠChecking": 46093, + "structures": 46094, + "iping": 46095, + "Ġvocals": 46096, + "-Up": 46097, + "ĠManufacturers": 46098, + "ĠMarriage": 46099, + "代çłģ": 46100, + "Ġgarner": 46101, + "_Client": 46102, + "parallel": 46103, + "RIEND": 46104, + "Ġvinegar": 46105, + "segue": 46106, + "JB": 46107, + "Ġcontacting": 46108, + "ĠCarroll": 46109, + "Ġoutreach": 46110, + "tensor": 46111, + "_variant": 46112, + "Ġtheat": 46113, + "licable": 46114, + "{|": 46115, + "tiny": 46116, + "_letter": 46117, + "Ġpencil": 46118, + "HeadersHeightSizeMode": 46119, + "iltro": 46120, + ".autoconfigure": 46121, + ".drag": 46122, + ".useState": 46123, + "ĠBMI": 46124, + "hint": 46125, + "Compile": 46126, + "*\\": 46127, + "enary": 46128, + "Ġlvl": 46129, + ".Cache": 46130, + "+=\"": 46131, + "_tv": 46132, + "ruitment": 46133, + "Ġfread": 46134, + "Articles": 46135, + "fila": 46136, + "Ġpackaged": 46137, + "âĺĨ": 46138, + "ATHER": 46139, + "ĠPlanned": 46140, + "scheme": 46141, + "Ġdiary": 46142, + "Ġoffenses": 46143, + "/F": 46460, + "ĠStick": 46461, + "Ġcerc": 46462, + "ĠSlee": 46463, + "ĉĉĠĠĠĠĠĠĠĠ": 46464, + "": 46639, + "ĉcol": 46640, + "VG": 46641, + "_boolean": 46642, + "recent": 46643, + "Ġ*)ĊĊ": 46644, + "ĠRainbow": 46645, + "ommen": 46646, + "Ġlur": 46647, + "Ġoppression": 46648, + "(\",\");Ċ": 46649, + "ĠFacility": 46650, + "DEFINED": 46651, + "Ġneon": 46652, + "Ġoffender": 46653, + "AFP": 46654, + "ĠCleaning": 46655, + "[]):": 46656, + "Ġundocumented": 46657, + ".Repositories": 46658, + "ĠGuitar": 46659, + "аÑģÑģив": 46660, + "Skills": 46661, + "Ġtestimon": 46662, + "ryptography": 46663, + "ĠAmber": 46664, + "ĠStalin": 46665, + "Ġlone": 46666, + "Ġapenas": 46667, + "Ġdieses": 46668, + "ĠArduino": 46669, + "转": 46670, + "==-": 46671, + "_Act": 46672, + "Ġcoded": 46673, + "âĸł": 46674, + "amburger": 46675, + "-links": 46676, + "Ġarmour": 46677, + ".High": 46678, + "getContent": 46679, + "stag": 46680, + "Ġheck": 46681, + "ĠìĹĨ": 46682, + "ĠMcConnell": 46683, + "ĠConcert": 46684, + "ĠAlloc": 46685, + "äre": 46686, + ".replaceAll": 46687, + "Ġpartitions": 46688, + "rott": 46689, + "ĠFle": 46690, + "_TREE": 46691, + "reasonable": 46692, + "ĠReporting": 46693, + "Ġbillionaire": 46694, + "scores": 46695, + "mins": 46696, + "-eye": 46697, + "MORE": 46698, + "abort": 46699, + "ĠSWT": 46700, + "Ġinverted": 46701, + "ĠTeachers": 46702, + ";n": 46703, + "Ġastro": 46704, + "нов": 46705, + "аниÑĨ": 46706, + "producto": 46707, + "countries": 46708, + "ĠOwen": 46709, + "Ġcontamination": 46710, + "Ġvibe": 46711, + "ĠElli": 46712, + ".script": 46713, + "ĠOlive": 46714, + "DMA": 46715, + "vier": 46716, + ":semicolon": 46717, + "-module": 46718, + "gressive": 46719, + "agu": 46720, + "_players": 46721, + "Ġresultados": 46722, + "started": 46723, + "scrollTop": 46724, + "=====": 46725, + "Ġweighing": 46726, + "Ġ[[[": 46727, + "zahl": 46728, + "(NS": 46729, + "ĠAssertion": 46730, + "league": 46731, + ".setTextColor": 46732, + "ĉMessage": 46733, + "Ġmoms": 46734, + "_AF": 46735, + ".wh": 46736, + "ALS": 46737, + "Ġautre": 46738, + "]ĊĊĊĊ": 46739, + ".opacity": 46740, + "ĠBuddhist": 46741, + "Ġdeaf": 46742, + "ĠOrganisation": 46743, + "(Global": 46744, + "ensch": 46745, + "Ġheadache": 46746, + "ĠAlien": 46747, + "_inode": 46748, + "ĠStark": 46749, + "Ġæī": 46750, + "-lnd": 46751, + "oref": 46752, + "_feat": 46753, + "Ġpedestrian": 46754, + "Ġnominal": 46755, + "Ġballoon": 46756, + "Ġsprites": 46757, + "PrototypeOf": 46758, + "ĠApost": 46759, + "ĠFEATURE": 46760, + "OH": 46761, + "Ġrecess": 46762, + "ĠDonna": 46763, + "consumer": 46764, + "$GLOBALS": 46765, + "ĠGIF": 46766, + "-frame": 46767, + "Inicio": 46768, + "Ġpassages": 46769, + "DateString": 46770, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 46771, + ".byte": 46772, + "Bug": 46773, + "initializer": 46774, + "pkt": 46775, + "odium": 46776, + "ĠDER": 46777, + ".ops": 46778, + "leri": 46779, + "Ġgifted": 46780, + "Ġdetach": 46781, + "terrain": 46782, + "elters": 46783, + "ãģı": 46784, + ".loader": 46785, + "ĠNGO": 46786, + "strncmp": 46787, + "Kh": 46788, + "(fontSize": 46789, + "rocket": 46790, + "Ġprecedent": 46791, + "ĠAurora": 46792, + "ĠExperiment": 46793, + "isphere": 46794, + "Encoded": 46795, + "ĠâĢĵĊĊ": 46796, + "Ġpyramid": 46797, + "ĠAnniversary": 46798, + "ofil": 46799, + "ëŁ": 46800, + "(plugin": 46801, + "Coeff": 46802, + "Ġcooperate": 46803, + "Ġpredominantly": 46804, + "ISM": 46805, + "Phrase": 46806, + "_DEFINE": 46807, + "Flip": 46808, + "AMILY": 46809, + "ĠMarkets": 46810, + "ĠStreamReader": 46811, + "ĠCombine": 46812, + "Ġmanuscript": 46813, + "zza": 46814, + ",tp": 46815, + "Whatever": 46816, + "ITICAL": 46817, + "ighbour": 46818, + "DataProvider": 46819, + ".Texture": 46820, + "privacy": 46821, + ".SDK": 46822, + "Ġrecharge": 46823, + "Ġcpp": 46824, + "ĠCFG": 46825, + "(holder": 46826, + "(py": 46827, + "mot": 46828, + "Ġsavoir": 46829, + "ĠRosa": 46830, + "ĠPCs": 46831, + "ĠíĻ": 46832, + ".heroku": 46833, + "Ġfren": 46834, + "ĠRiley": 46835, + "agate": 46836, + "Ġsond": 46837, + ".xlsx": 46838, + "Ġhacked": 46839, + "stad": 46840, + "Gi": 46841, + "Ġsanity": 46842, + "ĠSqlDataAdapter": 46843, + "...\",": 46844, + "ĠPussy": 46845, + "Ġ****************": 46846, + "Ġhassle": 46847, + "_PARENT": 46848, + "ĠUAE": 46849, + "Ġbeginners": 46850, + "(Client": 46851, + "Ġstatistically": 46852, + ".hour": 46853, + "edelta": 46854, + "Ġtraction": 46855, + "uelve": 46856, + "arat": 46857, + "Ġsauna": 46858, + "INVALID": 46859, + "Ġindictment": 46860, + "ALLE": 46861, + "Ġdissent": 46862, + "ĠTypography": 46863, + "Ġintentional": 46864, + "sit": 46865, + "ĠAnimals": 46866, + "Ġcountryside": 46867, + "Ġuart": 46868, + "}\\\"": 46869, + "Ġseamless": 46870, + "¾ç¤º": 46871, + "Ġautos": 46872, + "Ġ\"'\";Ċ": 46873, + "Flush": 46874, + "ANNOT": 46875, + "Ġalgebra": 46876, + "assoc": 46877, + "ĠWaters": 46878, + "Ġpreparations": 46879, + "ronym": 46880, + "[,]": 46881, + "Sans": 46882, + "Ġarmies": 46883, + "ipeg": 46884, + "Ġcreamy": 46885, + ".art": 46886, + "etre": 46887, + "ĠAnimated": 46888, + "Ġunpleasant": 46889, + "emean": 46890, + "great": 46891, + "iÄħ": 46892, + "ĠEarlier": 46893, + "Ġchic": 46894, + "Ġpreserving": 46895, + "(exec": 46896, + "ĠInvestigation": 46897, + "ĉGPIO": 46898, + "Ġrigorous": 46899, + "ijo": 46900, + "=num": 46901, + "ĠtoolStrip": 46902, + ")set": 46903, + "+\"&": 46904, + "ĠAcceler": 46905, + "Ġdevelopmental": 46906, + "isposable": 46907, + "Ġflawed": 46908, + "rene": 46909, + "Updating": 46910, + "Ġwatchdog": 46911, + "Ġdenominator": 46912, + "Ġsuburbs": 46913, + "Ġ...)": 46914, + "Ġconvictions": 46915, + "closure": 46916, + ".IP": 46917, + "Ġtranslates": 46918, + ".swt": 46919, + ".Trace": 46920, + "Ġmettre": 46921, + ".isEnabled": 46922, + "ĠEffective": 46923, + ".toInt": 46924, + "Ġenchant": 46925, + "Ġstunned": 46926, + "Ġpoi": 46927, + "/code": 46928, + "adm": 46929, + ".databinding": 46930, + "ĠLorem": 46931, + "________________________________________________________________": 46932, + "Ġledger": 46933, + "Ġcara": 46934, + "ĠGir": 46935, + "Ġwaits": 46936, + "Uno": 46937, + "Ġcwd": 46938, + "è¾ij": 46939, + "ĠTResult": 46940, + "Ġrejo": 46941, + "Ġemitted": 46942, + "ĠWestminster": 46943, + "ä¸Ģ个": 46944, + "nek": 46945, + "_Tis": 46946, + "Ġenact": 46947, + "ĉwith": 46948, + "orgia": 46949, + "Ġjue": 46950, + "Perform": 46951, + "SPATH": 46952, + ".topic": 46953, + "ĠDaten": 46954, + "ầ": 46955, + "Ġsitio": 46956, + "_MM": 46957, + "\"So": 46958, + "bial": 46959, + "Ġscoped": 46960, + "Requires": 46961, + "ĠTOTAL": 46962, + "ĠChancellor": 46963, + "(contents": 46964, + "Ġstealth": 46965, + "devices": 46966, + "-pass": 46967, + "ilih": 46968, + "ĠMalcolm": 46969, + "ĠDepot": 46970, + "Ġconfigur": 46971, + "aussian": 46972, + "_constraint": 46973, + "веÑĤ": 46974, + "GRA": 46975, + "ĠRates": 46976, + ".dataGridViewTextBoxColumn": 46977, + "ĠNobel": 46978, + "itics": 46979, + "Ġignorant": 46980, + "ĠReporter": 46981, + "ĠEbola": 46982, + "ĠShock": 46983, + "_relation": 46984, + "ĠNinja": 46985, + ")c": 46986, + "Ġticker": 46987, + ".isChecked": 46988, + "ĠSuppliers": 46989, + "ĠRapid": 46990, + "Levels": 46991, + "âĤ¬âĦ¢": 46992, + "ĉqueue": 46993, + "Ġchop": 46994, + "ĠUnix": 46995, + "reject": 46996, + "-calendar": 46997, + "(sort": 46998, + "ène": 46999, + "ercicio": 47000, + "Ġhect": 47001, + "CALLTYPE": 47002, + "roupon": 47003, + "Ġrentals": 47004, + "authors": 47005, + "{name": 47006, + "ĠFIFO": 47007, + "Ġlassen": 47008, + "ĠNous": 47009, + "Ġsnapped": 47010, + "Ġfertility": 47011, + "\"log": 47012, + "clicked": 47013, + "Ġplanting": 47014, + "Ġgb": 47015, + "/output": 47016, + "PEAT": 47017, + "Ġcategoria": 47018, + "Ġbach": 47019, + "Professor": 47020, + "inth": 47021, + "\"]čĊ": 47022, + "Recorder": 47023, + "serde": 47024, + "ĠTransmission": 47025, + "trad": 47026, + "Ġturbo": 47027, + "_VERTEX": 47028, + "\\Event": 47029, + "ilver": 47030, + "Ġbodily": 47031, + "ĠSources": 47032, + "Ġkillings": 47033, + ".xrTableCell": 47034, + "Ġfolded": 47035, + "/legal": 47036, + "uner": 47037, + "ĠRifle": 47038, + "ĠMIDI": 47039, + "_SelectedIndexChanged": 47040, + ".SizeType": 47041, + "ĠWebSocket": 47042, + "Ġseleccion": 47043, + "Sand": 47044, + "otros": 47045, + "Ġenvision": 47046, + "/etc": 47047, + "ĠMelissa": 47048, + "Spot": 47049, + "ное": 47050, + "_ARM": 47051, + "Attempt": 47052, + "ĠBI": 47053, + "ãģĶ": 47054, + "ĠDU": 47055, + "Ġbacklash": 47056, + "stride": 47057, + "/classes": 47058, + "ĠtextColor": 47059, + "_staff": 47060, + "oblin": 47061, + "agenta": 47062, + ".collections": 47063, + "illage": 47064, + "'čĊčĊ": 47065, + "flatten": 47066, + "_sales": 47067, + "_MASTER": 47068, + "TW": 47069, + "_da": 47070, + "Pitch": 47071, + "phies": 47072, + "Ġzombies": 47073, + "ĠVERY": 47074, + "ĠPharmacy": 47075, + "ĠprogressBar": 47076, + "Ġhashtag": 47077, + "Sidebar": 47078, + "@stop": 47079, + "(pc": 47080, + "олж": 47081, + "MAKE": 47082, + "ĠCoron": 47083, + "Ġkvinner": 47084, + "ĠMaid": 47085, + "bob": 47086, + ".titleLabel": 47087, + "Ġsuccesses": 47088, + "ĠDemocracy": 47089, + "ĠSurgery": 47090, + "Ġcougar": 47091, + "Ġcurso": 47092, + "Ġloro": 47093, + "istency": 47094, + "Senior": 47095, + "æk": 47096, + "ĠAAA": 47097, + "ĠBOOK": 47098, + "ко": 47099, + "WSTR": 47100, + "Ġ*/,Ċ": 47101, + "oyal": 47102, + ".vector": 47103, + "ĠSPEC": 47104, + "SSF": 47105, + "Ġcompuls": 47106, + "ĠAppeals": 47107, + "ĠWinston": 47108, + "ĠMockito": 47109, + "contrib": 47110, + ".available": 47111, + "entityManager": 47112, + "arias": 47113, + "_sale": 47114, + "_rs": 47115, + "Ġdecoding": 47116, + "Ġlocator": 47117, + "olith": 47118, + "Ġkol": 47119, + "Ġascii": 47120, + "ĠRut": 47121, + "/interface": 47122, + "ĉĉĉĉĉĉĠĠĠ": 47123, + "ĠNumer": 47124, + ".flip": 47125, + "-del": 47126, + "Ġbolster": 47127, + "onomic": 47128, + "Ġzm": 47129, + "LG": 47130, + "FindBy": 47131, + "Ġadaptive": 47132, + "loo": 47133, + "Ġvue": 47134, + "(reverse": 47135, + "_canvas": 47136, + ".roles": 47137, + "ificado": 47138, + "venient": 47139, + "\"As": 47140, + "ĠEntr": 47141, + "aligned": 47142, + "Ġbereits": 47143, + "///ĊĊ": 47144, + ".gwt": 47145, + ".employee": 47146, + "_cli": 47147, + "Ġanticipate": 47148, + "éĻIJ": 47149, + "Ġpik": 47150, + "Ġmushrooms": 47151, + "(tt": 47152, + "Ġoma": 47153, + "ĠSanchez": 47154, + "_google": 47155, + ".Valid": 47156, + "ĠFileName": 47157, + "ivative": 47158, + "ked": 47159, + "-war": 47160, + "Ġmaturity": 47161, + "ид": 47162, + "Ġminer": 47163, + "Reducers": 47164, + "ĠLatLng": 47165, + "_STD": 47166, + "Digits": 47167, + "Calc": 47168, + "-upload": 47169, + "Ġhandic": 47170, + "ีà¹Ī": 47171, + "egrated": 47172, + "ĠSTM": 47173, + "Clients": 47174, + "ĠTurbo": 47175, + "SYNC": 47176, + "Ġphotographers": 47177, + ".Out": 47178, + ".character": 47179, + "BUILD": 47180, + ".unlock": 47181, + "Ġarises": 47182, + "ĠCommands": 47183, + "(\"\");čĊ": 47184, + "_FORE": 47185, + ";',": 47186, + "+\"'": 47187, + ".Images": 47188, + "\"){": 47189, + "ĠMeyer": 47190, + "Ġnegatively": 47191, + "ĠDLL": 47192, + "Ġexe": 47193, + "Ġdeficiency": 47194, + "Ġwildly": 47195, + "-switch": 47196, + "construction": 47197, + "Ġexceptionally": 47198, + "ĠLiz": 47199, + "/java": 47200, + "Ġtheirs": 47201, + "ĠContemporary": 47202, + "lis": 47203, + ".fillRect": 47204, + "ĠNFC": 47205, + "Ġrehe": 47206, + "(numbers": 47207, + "Ġraster": 47208, + "Ġfiguring": 47209, + "Ġshowc": 47210, + "ĠJill": 47211, + "Ġarcade": 47212, + "ĠConstructs": 47213, + "mdl": 47214, + "('|": 47215, + "Ġidentifiers": 47216, + "Ġstellar": 47217, + "(Connection": 47218, + "Ġ\"{{": 47219, + "yor": 47220, + "(mysqli": 47221, + "Ġdove": 47222, + "OfBirth": 47223, + ".disconnect": 47224, + "_hi": 47225, + "Ġzwischen": 47226, + "ĠGrund": 47227, + "iros": 47228, + "_Array": 47229, + ".onclick": 47230, + "ansom": 47231, + "Answers": 47232, + "ĉremove": 47233, + "Fa": 47234, + "Ġhurry": 47235, + "-inf": 47236, + "ĠgetClass": 47237, + "ĠRegulation": 47238, + "ĠFLAGS": 47239, + "misc": 47240, + "Ken": 47241, + "_heading": 47242, + "GHz": 47243, + "-entry": 47244, + "Ġbiography": 47245, + "Sig": 47246, + "-mf": 47247, + "Watcher": 47248, + "âĢľA": 47249, + "}px": 47250, + "Ġspicy": 47251, + "_sq": 47252, + "Lost": 47253, + "(track": 47254, + "али": 47255, + "Descending": 47256, + "((": 47453, + "survey": 47454, + "Ġíĺ": 47455, + "...')Ċ": 47456, + "ĠDivider": 47457, + "osl": 47458, + "_CANCEL": 47459, + "_prepare": 47460, + "stin": 47461, + "ĠHeath": 47462, + ".PrimaryKey": 47463, + "ĠâĨIJ": 47464, + "ĠLocalDateTime": 47465, + "Ġcooperative": 47466, + "Learning": 47467, + ".enqueue": 47468, + "Ġgoog": 47469, + "ĠRegression": 47470, + "imates": 47471, + "Ġvoyeur": 47472, + "ĠDrink": 47473, + "plug": 47474, + "Ġlender": 47475, + "mana": 47476, + "Ġpersonnes": 47477, + "ypse": 47478, + "Ġunlink": 47479, + "ĠRavens": 47480, + "Ġhurd": 47481, + "Ġperiodically": 47482, + "ARGS": 47483, + "ĠGH": 47484, + "characters": 47485, + "...\"ĊĊ": 47486, + "-establish": 47487, + "Ġdn": 47488, + "(condition": 47489, + "ĠGravity": 47490, + "Ġestas": 47491, + "_focus": 47492, + "Creature": 47493, + "(site": 47494, + "Ġcarr": 47495, + "ĠRL": 47496, + "ĠRI": 47497, + "ĠMoto": 47498, + "ASF": 47499, + "ĠLuckily": 47500, + "ĉRoute": 47501, + "Ġentropy": 47502, + "(\",\"": 47503, + "Collect": 47504, + "(contact": 47505, + "ĠFlorence": 47506, + "Ġpremiums": 47507, + "Ġlifecycle": 47508, + "Ġbans": 47509, + "xef": 47510, + "WebKit": 47511, + "ĠFloating": 47512, + "Ġcosa": 47513, + "Specific": 47514, + "ĠLoans": 47515, + "bread": 47516, + "Ġdescriptors": 47517, + "Ġ{:.": 47518, + "THREAD": 47519, + "ĠTrent": 47520, + "Ġscop": 47521, + "QA": 47522, + "ĠAntar": 47523, + "pel": 47524, + "_difference": 47525, + "_changes": 47526, + "(...)": 47527, + "ĠRotation": 47528, + "ĠLGPL": 47529, + "ĠJUST": 47530, + "(Task": 47531, + "_subset": 47532, + "ĠTRANS": 47533, + "åĬĽ": 47534, + "ĠScout": 47535, + "-popup": 47536, + "Ġsmoked": 47537, + "_Class": 47538, + "Ġturnover": 47539, + "brakk": 47540, + "ĠRocky": 47541, + "tas": 47542, + ".RegularExpressions": 47543, + "ĠElliott": 47544, + "ĠSpinner": 47545, + "DUCTION": 47546, + "Ġlibre": 47547, + "Ġmolto": 47548, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 47549, + "ĠFTP": 47550, + "mpeg": 47551, + "(features": 47552, + "Ġbald": 47553, + "ĠVid": 47554, + "Ġshouting": 47555, + "Lint": 47556, + "Ġsockets": 47557, + "Ġprow": 47558, + "Ġnouvelle": 47559, + "iscard": 47560, + "ĠSponsor": 47561, + "Ġconsulta": 47562, + ")));": 47563, + "Indian": 47564, + "ĠRaspberry": 47565, + "Ġteammate": 47566, + "ĠJWT": 47567, + "ĠGhana": 47568, + "Ġcakes": 47569, + "primer": 47570, + "forma": 47571, + "ergarten": 47572, + "_Manager": 47573, + "Ġpreseason": 47574, + "GAME": 47575, + "|\"": 47576, + "ĠBrock": 47577, + "Ġoccupy": 47578, + "Ġdecorations": 47579, + "ánd": 47580, + "Ġcot": 47581, + "Ġparan": 47582, + "Disk": 47583, + "remain": 47584, + ">?": 47585, + "Strong": 47586, + "Ġfrance": 47587, + "ĠEra": 47588, + "-cr": 47589, + ".BufferedReader": 47590, + "ĠParadise": 47591, + "ĠVAT": 47592, + "ĠAnders": 47593, + "Ġlimb": 47594, + "ampoo": 47595, + "Ġimperative": 47596, + "UTILITY": 47597, + "ĠRecognition": 47598, + "Ġragazze": 47599, + "Ġpops": 47600, + "ypress": 47601, + "Ġembargo": 47602, + "//{Ċ": 47603, + "Ġsyll": 47604, + "PTR": 47605, + "åŃĺåľ¨": 47606, + "Ġdidnt": 47607, + "Mailer": 47608, + "Ġacademics": 47609, + "ĠFrauen": 47610, + "neider": 47611, + "-rel": 47612, + "Ġrainbow": 47613, + "(In": 47614, + "Ġsliced": 47615, + "=============Ċ": 47616, + "(send": 47617, + "NSMutableDictionary": 47618, + "vos": 47619, + "(package": 47620, + "Ġordinance": 47621, + "viewer": 47622, + "ĠSantos": 47623, + "-selling": 47624, + "Ġgov": 47625, + "ettle": 47626, + "Ġfounders": 47627, + "Ġwaking": 47628, + "slashes": 47629, + "-pound": 47630, + "recht": 47631, + "ات": 47632, + ".onClick": 47633, + "Ġnord": 47634, + "ständ": 47635, + "_when": 47636, + "UTERS": 47637, + "icc": 47638, + "Ġcapsule": 47639, + "ĠWid": 47640, + "Marc": 47641, + "ุ": 47642, + "rored": 47643, + "UGE": 47644, + "LOUD": 47645, + "ĠAudit": 47646, + "ipients": 47647, + "opian": 47648, + "ĠSue": 47649, + "Ġwurden": 47650, + ".Helpers": 47651, + "Ġfactions": 47652, + "[np": 47653, + "-than": 47654, + "Ġreco": 47655, + "Ġkas": 47656, + "Ġcmds": 47657, + "/network": 47658, + "xbf": 47659, + "getColor": 47660, + "Ġbiased": 47661, + "ĠLak": 47662, + "Datas": 47663, + "vents": 47664, + "Ġë²": 47665, + "_PS": 47666, + ".Validate": 47667, + "Invoker": 47668, + "Ġneuen": 47669, + "Ġjuvenile": 47670, + "VISION": 47671, + "Ġdevote": 47672, + "Ġlinha": 47673, + "Ġdiscounted": 47674, + "\\Config": 47675, + "Ġworthwhile": 47676, + "Ġskinny": 47677, + "ĠCourses": 47678, + "leys": 47679, + "ĠMortgage": 47680, + "Kevin": 47681, + "Ġannounces": 47682, + "])*": 47683, + "reservation": 47684, + "Ġæķ°": 47685, + "Ġprejudice": 47686, + "ĠStringComparison": 47687, + "Ġbeard": 47688, + "-win": 47689, + "ĠSão": 47690, + "ĉms": 47691, + "jal": 47692, + "ĠEarn": 47693, + "_ports": 47694, + "ĠNombre": 47695, + "_COR": 47696, + "ĠBUILD": 47697, + ".sound": 47698, + "Yellow": 47699, + "Ġlinebacker": 47700, + "Ġcharitable": 47701, + "jug": 47702, + "_NONNULL": 47703, + "ĠDental": 47704, + "\">${": 47705, + "ĉmatch": 47706, + "Russian": 47707, + "Ġversch": 47708, + "Ġpinned": 47709, + "Ġadopting": 47710, + "OptionsMenu": 47711, + "Pag": 47712, + "Ġpairing": 47713, + "Ġtread": 47714, + "ercises": 47715, + "ĠSpread": 47716, + ")i": 47717, + "ĠBAD": 47718, + "_tf": 47719, + "UIImageView": 47720, + "populate": 47721, + "bab": 47722, + "ĠÏĥ": 47723, + "[++": 47724, + "Ġopioid": 47725, + "Ġ##Ċ": 47726, + "dtype": 47727, + "ĠStarts": 47728, + "('/')": 47729, + "Ġpersonals": 47730, + "-market": 47731, + "Ġredundant": 47732, + "ĠEssential": 47733, + "Ġscrapy": 47734, + "Ġим": 47735, + "acl": 47736, + "Ġcrear": 47737, + "ĠBend": 47738, + "Ġrelieve": 47739, + "-room": 47740, + "wife": 47741, + "ĠvÃł": 47742, + "ĠQPoint": 47743, + "Ġquasi": 47744, + "ĠmethodName": 47745, + "\\xc": 47746, + "ĠPeru": 47747, + "/The": 47748, + ".orm": 47749, + "Ġviz": 47750, + "/pdf": 47751, + "Located": 47752, + "Ġconfrontation": 47753, + "ĠChampionships": 47754, + "Ġhypert": 47755, + "Ġdj": 47756, + "ĠUserInfo": 47757, + "ĠåĪĽå»º": 47758, + "\\xb": 47759, + "(sim": 47760, + "Ġ==Ċ": 47761, + "Ġstaging": 47762, + "Ġdrastically": 47763, + "åѦ": 47764, + "lords": 47765, + ".less": 47766, + "ведиÑĤе": 47767, + "ĠBucket": 47768, + "ĠMam": 47769, + ".term": 47770, + "_pi": 47771, + "czy": 47772, + ".pub": 47773, + "precio": 47774, + "ĠVirt": 47775, + "Ġroman": 47776, + "itat": 47777, + "Lex": 47778, + "_infos": 47779, + "İ": 47780, + ".other": 47781, + "VELO": 47782, + "Ġponder": 47783, + "Ġhanno": 47784, + "(Page": 47785, + "doi": 47786, + "Ġpolite": 47787, + "Ġprogrammer": 47788, + "Dies": 47789, + "$d": 47790, + "Ġreplication": 47791, + "addColumn": 47792, + "frican": 47793, + "Ġleng": 47794, + "beer": 47795, + "oit": 47796, + "Ġwasting": 47797, + "ylim": 47798, + "measure": 47799, + "Neg": 47800, + "Ġpartie": 47801, + ".console": 47802, + "ĠGuinea": 47803, + "TEL": 47804, + "_fact": 47805, + ".chunk": 47806, + "Ġlent": 47807, + "Ġaller": 47808, + "Ġà¤ķ": 47809, + "_idle": 47810, + "Ġadmissions": 47811, + "JSONArray": 47812, + "Ġvibration": 47813, + ".helpers": 47814, + "å¤ĸ": 47815, + "Ġhen": 47816, + "john": 47817, + "ĠìĥĿ": 47818, + "Ġjudgement": 47819, + "Ġgeen": 47820, + "terra": 47821, + "^{": 47822, + "ĠIz": 47823, + "Ġcâ": 47824, + "instances": 47825, + "Ġthreatens": 47826, + "Ġmüssen": 47827, + "KindOfClass": 47828, + "Ġstorytelling": 47829, + "_demo": 47830, + "rias": 47831, + "Privacy": 47832, + "hift": 47833, + "ĠYi": 47834, + "esor": 47835, + "íķł": 47836, + "ensitivity": 47837, + ".Writer": 47838, + "à¸Ĥ": 47839, + "District": 47840, + ".getJSONObject": 47841, + "Impro": 47842, + "(getResources": 47843, + "ĠSPELL": 47844, + "roduce": 47845, + "Ġslowed": 47846, + "Ġlinewidth": 47847, + "Ġhonesty": 47848, + "ĠCoord": 47849, + "ĠFork": 47850, + "ĠDispatchQueue": 47851, + "ĠCliff": 47852, + "ĠWiring": 47853, + "_TIMESTAMP": 47854, + "ollah": 47855, + "avoid": 47856, + "++];Ċ": 47857, + "semantic": 47858, + "-css": 47859, + "Ġveto": 47860, + "ĠMerr": 47861, + "Ġlegislators": 47862, + "CEEDED": 47863, + "Ġquestionnaire": 47864, + "ĠPills": 47865, + "Calculate": 47866, + "(core": 47867, + "'e": 47868, + "Ġdislike": 47869, + "ĠPreferences": 47870, + "_EXTERNAL": 47871, + "è°ĥ": 47872, + "Ġdodge": 47873, + "æľįåĬ¡": 47874, + ".names": 47875, + ".drawImage": 47876, + "_prom": 47877, + "uckland": 47878, + "Ġ<$>": 47879, + "ız": 47880, + "/site": 47881, + "项": 47882, + "rophe": 47883, + "Ġcompelled": 47884, + "Ġlaptops": 47885, + "Ġuni": 47886, + "CLOSE": 47887, + "Ġcasualties": 47888, + "ĠUniform": 47889, + "Terminal": 47890, + ".\",\"": 47891, + "DAT": 47892, + "(TreeNode": 47893, + "ĠGandhi": 47894, + "(stmt": 47895, + "AXB": 47896, + "*M": 47897, + "Ġumbrella": 47898, + "animal": 47899, + "Ġgrpc": 47900, + "Ġwhereby": 47901, + "Ġfloats": 47902, + "ĉarg": 47903, + "Ġdbg": 47904, + "Ġexceeding": 47905, + "EventType": 47906, + ".SaveChangesAsync": 47907, + "Ġ{{{": 47908, + "Ġowed": 47909, + "ahrenheit": 47910, + "Ġì§": 47911, + "Ġequipo": 47912, + "urai": 47913, + "Ġidol": 47914, + "]\")Ċ": 47915, + "_major": 47916, + "Ġentirety": 47917, + "ingerprint": 47918, + "ços": 47919, + "/account": 47920, + "ĉright": 47921, + "ursos": 47922, + "ĠEDT": 47923, + "_INSERT": 47924, + "Ġshining": 47925, + "Ġ<:": 47926, + "EdgeInsets": 47927, + "Ġcolonies": 47928, + ".IM": 47929, + "ĉĠĉ": 47930, + "ROAD": 47931, + "CCCC": 47932, + "placing": 47933, + "ĠgetActivity": 47934, + "emacs": 47935, + "'%(": 47936, + ".clicked": 47937, + "ĠThem": 47938, + "isia": 47939, + "Buscar": 47940, + ".rename": 47941, + "Ġoath": 47942, + "Ġafterward": 47943, + "ĠUFO": 47944, + "APS": 47945, + "ĠJacksonville": 47946, + ".some": 47947, + "Confirmed": 47948, + ".scan": 47949, + "igInteger": 47950, + "Decorator": 47951, + "shield": 47952, + "ressive": 47953, + ".did": 47954, + "请è¾ĵåħ¥": 47955, + "Ġshutter": 47956, + "Dam": 47957, + "Ġparenting": 47958, + "eyed": 47959, + "$item": 47960, + "-develop": 47961, + "Ġextracts": 47962, + "Ġdecentralized": 47963, + "ĠElsa": 47964, + "_spin": 47965, + "])+": 47966, + "-initial": 47967, + "Ġmultitude": 47968, + "Ġsensory": 47969, + "ĠMODEL": 47970, + "Ġsafeguard": 47971, + "ì¹": 47972, + "Ġhunters": 47973, + "ĠTiny": 47974, + "INO": 47975, + "decorate": 47976, + "ĠNoSuch": 47977, + "Ho": 47978, + "(Response": 47979, + "Ġruler": 47980, + "ĉshort": 47981, + "Ġcaster": 47982, + "ĠclientId": 47983, + "Ġpdb": 47984, + "ëıĦ": 47985, + "itic": 47986, + "ĠGameState": 47987, + "ĠnewItem": 47988, + ")ĊĊĊĊĊĊ": 47989, + "ouis": 47990, + "noc": 47991, + ".BLACK": 47992, + "_VECTOR": 47993, + "----------();": 48281, + ".getP": 48282, + "anye": 48283, + "Ġneuron": 48284, + "ifold": 48285, + "ĠKnown": 48286, + "Bitcoin": 48287, + "Anyway": 48288, + "ayette": 48289, + "Ġ'['": 48290, + "Ãłnh": 48291, + "mgr": 48292, + "Ġcorrelated": 48293, + "Ġnause": 48294, + "Ġmentality": 48295, + "hasMany": 48296, + "ĠFG": 48297, + "ampie": 48298, + "ITU": 48299, + "Fs": 48300, + ".Sp": 48301, + "_between": 48302, + "Dependencies": 48303, + "oug": 48304, + "Placeholder": 48305, + "=text": 48306, + "ĠManaging": 48307, + "ocalypse": 48308, + "åĮĹ": 48309, + "_mag": 48310, + "fld": 48311, + "âij": 48312, + "CAM": 48313, + "ĠHelpers": 48314, + "Ġdost": 48315, + "/out": 48316, + "Ġassassination": 48317, + ".getImage": 48318, + "ĠKenny": 48319, + ".')ĊĊ": 48320, + "){//": 48321, + "ĠRanger": 48322, + "Ġgek": 48323, + "Ġsincere": 48324, + "čĊ": 48527, + ".getResources": 48528, + "Ġlump": 48529, + "_consts": 48530, + "(ext": 48531, + "ĉdir": 48532, + "âĿ": 48533, + "ĠpaddingTop": 48534, + "Ġobsession": 48535, + "Ġbanning": 48536, + "ĠAppModule": 48537, + "Ġpartisan": 48538, + "Ġcatalogue": 48539, + "Ġminors": 48540, + "Ġpitches": 48541, + "weep": 48542, + "Ġundertake": 48543, + "Ġthemed": 48544, + "audit": 48545, + ".scrollTop": 48546, + "Ġrer": 48547, + "Ġsymptom": 48548, + "Ġopenings": 48549, + ".blocks": 48550, + "openid": 48551, + "Ġassh": 48552, + "-save": 48553, + "ĠPig": 48554, + "Ġregain": 48555, + "Ġinicial": 48556, + "/favicon": 48557, + "ĉexp": 48558, + "Ġspices": 48559, + "iska": 48560, + "claims": 48561, + "mak": 48562, + "definitions": 48563, + "Ġcorrespondent": 48564, + "ĠCannabis": 48565, + "__,Ċ": 48566, + "ĠLucky": 48567, + "ĠGaussian": 48568, + "ĠNearly": 48569, + "CAD": 48570, + "']]Ċ": 48571, + "Ġadequately": 48572, + "ĠTITLE": 48573, + "constitutional": 48574, + "-mm": 48575, + "_override": 48576, + "Ġblas": 48577, + ".readyState": 48578, + "Ġreminis": 48579, + "Ġreinforced": 48580, + "ĠCollabor": 48581, + "Ġdecorating": 48582, + "Ġbachelor": 48583, + "ERRUPT": 48584, + "Ġupright": 48585, + "ipation": 48586, + "ĠNoble": 48587, + "ĠvalueForKey": 48588, + "ĠsetLoading": 48589, + ".Ignore": 48590, + "åģ": 48591, + "Globals": 48592, + "ĠMent": 48593, + "ASSES": 48594, + "Ġlimbs": 48595, + "ĠHUD": 48596, + "inci": 48597, + ".iv": 48598, + "ĠQModelIndex": 48599, + "Fuse": 48600, + "Ġpedal": 48601, + "_FREQ": 48602, + "(verbose": 48603, + "Ġlongitud": 48604, + "ĠCharter": 48605, + "ê·¸": 48606, + "Ġbundles": 48607, + ".ignore": 48608, + "umbo": 48609, + "EMA": 48610, + ".......": 48611, + "sx": 48612, + ".Card": 48613, + "Ġheute": 48614, + "Ġsteer": 48615, + "jumlah": 48616, + "Ġ{_": 48617, + "_Checked": 48618, + "Ġfax": 48619, + "ĠGust": 48620, + "itchens": 48621, + "Ġ))ĊĊ": 48622, + "Ġremarkably": 48623, + "/XML": 48624, + "-remove": 48625, + "_bt": 48626, + "Ġincub": 48627, + ".package": 48628, + ".currentThread": 48629, + "ĠHighlander": 48630, + ".side": 48631, + "splash": 48632, + "Ġici": 48633, + "=D": 48634, + "Ġpuck": 48635, + "Ġballots": 48636, + "Ġhugely": 48637, + "coeff": 48638, + "ĠpData": 48639, + ".COLUMN": 48640, + "ĠHealing": 48641, + "Ġordin": 48642, + "!),": 48643, + "Ġ'',čĊ": 48644, + "(md": 48645, + "ĠSask": 48646, + "čĊ": 48668, + "Ġrá": 48669, + "Ġblunt": 48670, + "ĠImageIcon": 48671, + "ifik": 48672, + "RTC": 48673, + "Ġfibers": 48674, + "Ġtoile": 48675, + ".sent": 48676, + "ĠPyQt": 48677, + "$app": 48678, + "Ġmedio": 48679, + "Ġgranting": 48680, + "Ġtslint": 48681, + "ĠMö": 48682, + "(figsize": 48683, + "Ġhurricane": 48684, + "Ġlifes": 48685, + "ĠÃĦ": 48686, + "rocessing": 48687, + "_standard": 48688, + "-option": 48689, + "')))": 48690, + "Ġvacant": 48691, + "å·¥": 48692, + "ĠHollow": 48693, + "handleChange": 48694, + "Ġdivider": 48695, + "ĠEngineers": 48696, + "Ġsvens": 48697, + "Ġcompliant": 48698, + "tanggal": 48699, + "ĠCredits": 48700, + "ĠEmirates": 48701, + "RuleContext": 48702, + "Ġrealization": 48703, + "Ġdistracted": 48704, + "]+=": 48705, + "Ġaugment": 48706, + "ĠDw": 48707, + "otp": 48708, + "orrent": 48709, + "Editar": 48710, + ".stock": 48711, + "Study": 48712, + "pections": 48713, + "ĠGameManager": 48714, + "=cut": 48715, + "Ġflock": 48716, + "ĠRomans": 48717, + "them": 48718, + "-hop": 48719, + "Ġscreenshots": 48720, + "Ġ/*!Ċ": 48721, + "Ġconversions": 48722, + "Ġnormalization": 48723, + "(configuration": 48724, + "Ġaeros": 48725, + "_security": 48726, + "!'Ċ": 48727, + "Bonus": 48728, + "ĠDRIVER": 48729, + "ĉDate": 48730, + "tie": 48731, + "ĠWyoming": 48732, + "Stand": 48733, + "itre": 48734, + "Ġshoppers": 48735, + "Ġdisadvantage": 48736, + "Ġliking": 48737, + "ç¬ij": 48738, + "Ġunderstandable": 48739, + "SEE": 48740, + "Ġhoy": 48741, + "Ġninete": 48742, + "Ġconfer": 48743, + "Ġnowrap": 48744, + "ĠVern": 48745, + ",čĊčĊ": 48746, + "imestep": 48747, + "LayoutManager": 48748, + "à·": 48749, + "ĉwait": 48750, + "PLETED": 48751, + "Japan": 48752, + "Ġinduce": 48753, + "Ġå¯": 48754, + "озв": 48755, + "_ENDPOINT": 48756, + ".horizontal": 48757, + "Ġaccelerated": 48758, + "rimon": 48759, + "IVES": 48760, + "Transactions": 48761, + "Lean": 48762, + "ĠSOUR": 48763, + "whether": 48764, + "yg": 48765, + "Ġoid": 48766, + "ĠEntityManager": 48767, + "OUNTRY": 48768, + "Ġfila": 48769, + "OLUMNS": 48770, + "INUE": 48771, + "ĠAnchor": 48772, + "TRAN": 48773, + "woo": 48774, + "blockquote": 48775, + "ĠNurse": 48776, + "ĠCarp": 48777, + "Ġredeem": 48778, + ".try": 48779, + "ĠJP": 48780, + "Ġtimestamps": 48781, + "Ġ?>\"><": 48782, + "ĠREMOVE": 48783, + "ĠStarbucks": 48784, + "Really": 48785, + "Ġflooded": 48786, + ".Callback": 48787, + "DropDown": 48788, + "ipro": 48789, + "Ġtended": 48790, + "lte": 48791, + "Ġproportions": 48792, + "-te": 48793, + "ĠRena": 48794, + "licate": 48795, + "forces": 48796, + ".extra": 48797, + ".authenticate": 48798, + "вод": 48799, + "¡°": 48800, + "ĠforControlEvents": 48801, + "Ġsenha": 48802, + "Ġkein": 48803, + "Ġminist": 48804, + "ĠPreference": 48805, + "ĠTelegraph": 48806, + "Ñĥп": 48807, + "strpos": 48808, + "Ġillnesses": 48809, + "Ġpigs": 48810, + "ĠgetIntent": 48811, + "Sol": 48812, + "Ġ¡": 48813, + "(cpu": 48814, + "[prop": 48815, + "screens": 48816, + "');?>": 48817, + "ĠActs": 48818, + "Ġstrdup": 48819, + "Ġaverages": 48820, + "anal": 48821, + "ĠCasual": 48822, + "GroupBox": 48823, + "ĠHandbook": 48824, + "/comments": 48825, + "Ġnumbered": 48826, + "Ġbroadcasting": 48827, + "çĽij": 48828, + ".nativeElement": 48829, + ".mu": 48830, + "ĠupdatedAt": 48831, + "ĠDoesn": 48832, + ".AC": 48833, + ".coll": 48834, + "Ġrecorder": 48835, + "_sha": 48836, + "Bg": 48837, + "bil": 48838, + "Ġbolts": 48839, + "Ġç¬": 48840, + "Ġimposing": 48841, + "ĠInformationen": 48842, + "_flashdata": 48843, + "economic": 48844, + "Remark": 48845, + "ucas": 48846, + "ĠOfficers": 48847, + "ĠTER": 48848, + "Walk": 48849, + "Ġmercado": 48850, + "_generate": 48851, + "HY": 48852, + "Calling": 48853, + "snap": 48854, + "scriptId": 48855, + ".operation": 48856, + "ĠFlame": 48857, + "liness": 48858, + "Ġrented": 48859, + "_toggle": 48860, + "-changing": 48861, + "ĠTY": 48862, + "'util": 48863, + "EEP": 48864, + "Ġgraphql": 48865, + "ĠUni": 48866, + "Ġimpulse": 48867, + ".Basic": 48868, + "Ġenergies": 48869, + "MARY": 48870, + "ĠMarcel": 48871, + "Ġmortal": 48872, + "Ġfres": 48873, + "mens": 48874, + "motion": 48875, + "Ġsampled": 48876, + "âĢľThat": 48877, + "iday": 48878, + "quipment": 48879, + "getInt": 48880, + "ĠAbsolute": 48881, + ",'\"": 48882, + "uned": 48883, + ".share": 48884, + "Ġ})(": 48885, + "mmm": 48886, + "ĠRising": 48887, + "ä»»": 48888, + "Ġunemployed": 48889, + "xfa": 48890, + ".follow": 48891, + "ĉĉĉĉĠĠĠĠĠĠ": 48892, + "slt": 48893, + ".Phone": 48894, + "Ġknives": 48895, + "Ġeve": 48896, + "onClick": 48897, + "]))čĊ": 48898, + "ĠWitness": 48899, + "ĉNS": 48900, + "ĠEOS": 48901, + "ĠStefan": 48902, + "ĠPriest": 48903, + "âĢĶwhich": 48904, + "GetString": 48905, + ".By": 48906, + "Ġupstairs": 48907, + "Ġdetriment": 48908, + "broken": 48909, + "embro": 48910, + "Ġnicotine": 48911, + "ilion": 48912, + "Ġastonishing": 48913, + "_aff": 48914, + "ĠLesson": 48915, + "Ġaccidental": 48916, + "odor": 48917, + "Ġdecir": 48918, + "ĠnewName": 48919, + "+.": 48920, + "缸": 48921, + "igslist": 48922, + "ĠGithub": 48923, + "Ġsuccessive": 48924, + "racial": 48925, + "Ġenviron": 48926, + "éªĮè¯ģ": 48927, + "Ġredirected": 48928, + "TOTAL": 48929, + "Ġgrabbing": 48930, + "ĠLance": 48931, + "Ġforfe": 48932, + "_CB": 48933, + "å¾®": 48934, + "Elapsed": 48935, + "_way": 48936, + "(DialogInterface": 48937, + "_measure": 48938, + "xbb": 48939, + "Dog": 48940, + "Depart": 48941, + "-src": 48942, + "resolver": 48943, + "withstanding": 48944, + "_shell": 48945, + "ĠLastName": 48946, + "ĠAviation": 48947, + "Ġbeginner": 48948, + "(\"%.": 48949, + "(tool": 48950, + "Ġнов": 48951, + ":init": 48952, + "(API": 48953, + "ĠMorrison": 48954, + "vtColor": 48955, + "Ġstaple": 48956, + "/INFO": 48957, + "Ġsupernatural": 48958, + "Ġsteak": 48959, + "timeline": 48960, + "zzle": 48961, + "\"`ĊĊ": 48962, + "Secondary": 48963, + "ĠNepal": 48964, + ".StringUtils": 48965, + "Ġadam": 48966, + "Ġ(...": 48967, + "Ġsubstitution": 48968, + "Ġboarding": 48969, + "ĠKeyword": 48970, + "ĠAssault": 48971, + "dbcTemplate": 48972, + "ĠorderId": 48973, + "(engine": 48974, + ".assertThat": 48975, + "ĠVenus": 48976, + "Ġhomicide": 48977, + "ĠAval": 48978, + "Ġgutter": 48979, + "ĠSupported": 48980, + "/part": 48981, + "Ġacclaimed": 48982, + "Histor": 48983, + "Ġmeses": 48984, + "über": 48985, + "ĠRenew": 48986, + "Ġgras": 48987, + "ĠEk": 48988, + "Ġinfile": 48989, + "indy": 48990, + ".music": 48991, + ".Scroll": 48992, + "ĠAges": 48993, + "ĠNaruto": 48994, + "ĠGather": 48995, + "Ġconfirming": 48996, + "=(\"": 48997, + "Ġpitched": 48998, + "oley": 48999, + "France": 49000, + "+'\"": 49001, + "$total": 49002, + "Ġonde": 49003, + "Ġditch": 49004, + "_sigma": 49005, + "Ġcontinuity": 49006, + "reward": 49007, + "-load": 49008, + "Ġproceso": 49009, + "Locked": 49010, + "staw": 49011, + "Ġspinal": 49012, + "lazy": 49013, + "!==": 49014, + "jest": 49015, + "Ġdun": 49016, + "ĠRodgers": 49017, + "ĉgrid": 49018, + "Ġlogos": 49019, + "ĠBengal": 49020, + ".super": 49021, + "Provides": 49022, + "Ġnutrient": 49023, + ".Timestamp": 49024, + "IZATION": 49025, + "åĨĮ": 49026, + "Ġfats": 49027, + "ĠXxx": 49028, + "ctica": 49029, + "Targets": 49030, + "Ġcontours": 49031, + "Ġreordered": 49032, + ":Array": 49033, + "Ġtolerate": 49034, + "Vir": 49035, + "Ġterribly": 49036, + "Ġbricks": 49037, + "(&_": 49038, + "hb": 49039, + "Portal": 49040, + "ĠBread": 49041, + ".which": 49042, + "ÂŃt": 49043, + "asInstanceOf": 49044, + "Ġjobject": 49045, + "ĉlength": 49046, + "_MT": 49047, + ";\">čĊ": 49048, + "_EXIST": 49049, + "Ġmaternal": 49050, + "REL": 49051, + "Ġê²½ìļ°": 49052, + "hee": 49053, + "Ġlayouts": 49054, + "ĠLap": 49055, + "aisy": 49056, + "Ġstumbled": 49057, + "ĠUIG": 49058, + "ĠSco": 49059, + "Ġimpaired": 49060, + "RESSED": 49061, + "Ġabuses": 49062, + "VF": 49063, + "ARB": 49064, + ".NAME": 49065, + "rch": 49066, + "primir": 49067, + "_completed": 49068, + "Ġpenny": 49069, + "Chrome": 49070, + "(begin": 49071, + "ernen": 49072, + "-checkbox": 49073, + "PlainOldData": 49074, + "ĠLPC": 49075, + "rade": 49076, + "spir": 49077, + "Ġconceived": 49078, + "Tips": 49079, + "ĠIoT": 49080, + "ĠGan": 49081, + "èģĶ": 49082, + "Ġbiases": 49083, + "Ġconsultants": 49084, + "pled": 49085, + "_ht": 49086, + "associated": 49087, + "],ĊĊ": 49088, + "Ġdelightful": 49089, + "ĠÑĤек": 49090, + "Helvetica": 49091, + "(load": 49092, + "-expand": 49093, + "_WIDGET": 49094, + "toa": 49095, + "ĠAkt": 49096, + "Ġomn": 49097, + "Ġclauses": 49098, + "Intel": 49099, + "*/}Ċ": 49100, + "_registration": 49101, + "ĠoldValue": 49102, + "Ġrestoring": 49103, + "Ġunreal": 49104, + "OVER": 49105, + "ĉĊĉĊĉĊ": 49106, + "ATS": 49107, + "_probe": 49108, + "Ġdivisor": 49109, + ".updateDynamic": 49110, + "å¹³": 49111, + "Produces": 49112, + "stamp": 49113, + ".jboss": 49114, + "ĉtask": 49115, + "!(:": 49116, + "Ġpsychic": 49117, + "@class": 49118, + "Martin": 49119, + "ĠPassed": 49120, + "clarations": 49121, + "hel": 49122, + "аÑĩ": 49123, + "ĉcopy": 49124, + "-bin": 49125, + "zan": 49126, + "igram": 49127, + "াà¦": 49128, + "(sig": 49129, + "ĠCaval": 49130, + "_##": 49131, + "Ġ%=": 49132, + "outlined": 49133, + "ĠAcid": 49134, + "Ġunpredictable": 49135, + "-dashboard": 49136, + "HexString": 49137, + "+c": 49138, + ".Public": 49139, + "ẩ": 49140, + "Ġconveyor": 49141, + "ĠEB": 49142, + "Ġselects": 49143, + "Ġknocking": 49144, + "ĠCec": 49145, + "IBUTES": 49146, + "owaÄĩ": 49147, + "gatsby": 49148, + "*v": 49149, + "entropy": 49150, + "Ġdispatched": 49151, + "Ġcamel": 49152, + "ĠSaturn": 49153, + "Ġoverweight": 49154, + "(phone": 49155, + "parable": 49156, + "%B": 49157, + "_vectors": 49158, + "Ġbrewing": 49159, + "ĠTk": 49160, + "ĠDownloads": 49161, + "ĠSaved": 49162, + ".Price": 49163, + "Ġcurved": 49164, + "ĠParenthood": 49165, + "è¶": 49166, + ".pnl": 49167, + "pletely": 49168, + ".Day": 49169, + "Ġadvertisers": 49170, + "Ġejec": 49171, + "Ġprzed": 49172, + "ë¯": 49173, + "!';Ċ": 49174, + "ĠKush": 49175, + "ĠTAB": 49176, + "Ġquests": 49177, + "Ġcoincidence": 49178, + "ummies": 49179, + "ĠKashmir": 49180, + "ĠEthics": 49181, + "_growth": 49182, + "Ġaktiv": 49183, + "Ġgrouping": 49184, + "å¢ŀ": 49185, + "_truth": 49186, + "åIJ¬": 49187, + "todos": 49188, + "iset": 49189, + "TexCoord": 49190, + "ätt": 49191, + "ĠZur": 49192, + "roys": 49193, + "_MAGIC": 49194, + "Ġbrewery": 49195, + "(State": 49196, + "ĠSMALL": 49197, + "ĠPlants": 49198, + "itbart": 49199, + "eacher": 49200, + "ĠAdelaide": 49201, + "Lu": 49202, + "Ġfick": 49203, + "undles": 49204, + "_loaded": 49205, + "ие": 49206, + "Poll": 49207, + "ritic": 49208, + "ELY": 49209, + "Ġ+'": 49210, + "ĠProfession": 49211, + "Ġstamps": 49212, + "ĠSew": 49213, + "scrollView": 49214, + "Ġcommunist": 49215, + "/problems": 49216, + "}čĊčĊčĊčĊ": 49217, + ",o": 49218, + "Ġudp": 49219, + "Ġobese": 49220, + "approve": 49221, + "ancellation": 49222, + "_Game": 49223, + "ĠHashtable": 49224, + "adaptiveStyles": 49225, + "Ġpossesses": 49226, + ".matcher": 49227, + "functional": 49228, + "Mrs": 49229, + "ĉsave": 49230, + "ĠDbType": 49231, + "Ġken": 49232, + "getContext": 49233, + "Ġmans": 49234, + "(rel": 49235, + "ĠBrotherhood": 49236, + ")`Ċ": 49237, + "è§£": 49238, + ".Information": 49239, + "OutOfRangeException": 49240, + "ĠSek": 49241, + "Cas": 49242, + "Ġbloggers": 49243, + "Either": 49244, + "(\"\"\"": 49245, + "Ġpinch": 49246, + "Ġcoarse": 49247, + ")p": 49248, + "ĠPulse": 49249, + "Ġlearnt": 49250, + "Ġdentist": 49251, + "Ġonchange": 49252, + "Ġdirectives": 49253, + "(actions": 49254, + "nyder": 49255, + "ĠShir": 49256, + "Trait": 49257, + "_dep": 49258, + "ĠPET": 49259, + "ĠREP": 49260, + ".AppSettings": 49261, + "cuador": 49262, + "idenav": 49263, + "Ġenvi": 49264, + "Ġslammed": 49265, + "ĠShoot": 49266, + "ĠdateFormat": 49267, + ".joda": 49268, + "veys": 49269, + "Ġ).ĊĊ": 49270, + "Ġcareg": 49271, + "ĠParallel": 49272, + "_translation": 49273, + ".functions": 49274, + ".obs": 49275, + "RuntimeException": 49276, + "[]=": 49277, + "overview": 49278, + "ĠSchl": 49279, + "Ġnoisy": 49280, + "ĠOnPropertyChanged": 49281, + "Sending": 49282, + "Ġunfamiliar": 49283, + "Upon": 49284, + "ĠPrints": 49285, + ".typ": 49286, + "Ġfleeing": 49287, + "ĉmove": 49288, + "(Un": 49289, + "Ġqr": 49290, + "׾": 49291, + "_beta": 49292, + "Ġskies": 49293, + "ĉme": 49294, + "WND": 49295, + "Ġstickers": 49296, + "blas": 49297, + "Ġinserts": 49298, + "Ġverses": 49299, + "ĠDew": 49300, + "Ġtangible": 49301, + "Ġhecho": 49302, + "POL": 49303, + "Ġteardown": 49304, + "omnia": 49305, + "IBE": 49306, + ".cover": 49307, + "_strategy": 49308, + "^-": 49309, + "setPosition": 49310, + "uale": 49311, + "Signed": 49312, + "Ġiface": 49313, + "aseline": 49314, + ".setTime": 49315, + "ĠMineral": 49316, + "ĠFighting": 49317, + "skins": 49318, + "Ġdiscrimin": 49319, + "Ġdansk": 49320, + "ĠPrinceton": 49321, + "acist": 49322, + "Ġ());Ċ": 49323, + "tracks": 49324, + "imonial": 49325, + "adecimal": 49326, + "EPROM": 49327, + "uggle": 49328, + ".Notification": 49329, + "$mail": 49330, + "cantidad": 49331, + "ĠJung": 49332, + "Ġseekers": 49333, + "Ġplausible": 49334, + "tier": 49335, + "еж": 49336, + "Ġrapper": 49337, + "ĠMana": 49338, + "ĠHttpStatusCode": 49339, + "Ġburnt": 49340, + "loses": 49341, + "ĠFoto": 49342, + "ĠJsonObject": 49343, + "Instagram": 49344, + "Ġsyscall": 49345, + "Ġrealities": 49346, + "ĠMATLAB": 49347, + ":^{Ċ": 49348, + "TERM": 49349, + "ĠCbd": 49350, + "ĠParagraph": 49351, + "Ġtravés": 49352, + "Ġconstructing": 49353, + "Ġswal": 49354, + "Ġpige": 49355, + "LLLL": 49356, + "-existing": 49357, + "Gets": 49358, + "Ġmelted": 49359, + "Ġmitigate": 49360, + "Hen": 49361, + "Ġhm": 49362, + "imas": 49363, + "ĠAo": 49364, + "ĠPerez": 49365, + "ĠDAL": 49366, + "Ġëĭ¤": 49367, + "Ġdivis": 49368, + "StoryboardSegue": 49369, + "ĠModify": 49370, + "ĠÃľber": 49371, + "_OVERRIDE": 49372, + ".pem": 49373, + "untos": 49374, + "Ġespañ": 49375, + "Ġ{?": 49376, + "ĠPAY": 49377, + "_ipv": 49378, + "ĠFury": 49379, + "__.__": 49380, + "elow": 49381, + "-centered": 49382, + "checks": 49383, + "_Reg": 49384, + "-Javadoc": 49385, + "ĉload": 49386, + "ĠLikewise": 49387, + "اÙħ": 49388, + "UNE": 49389, + ".sem": 49390, + "xcb": 49391, + "ĠCave": 49392, + "_sleep": 49393, + "Ġsilently": 49394, + "ĠExtreme": 49395, + ".ToUpper": 49396, + "ĉCHECK": 49397, + "Ġcue": 49398, + "ĠQByteArray": 49399, + "Ġcorrupted": 49400, + "ĠDé": 49401, + "Ġimped": 49402, + "GetName": 49403, + "Ġinaccurate": 49404, + "Ġsober": 49405, + "ее": 49406, + "Ġbarcode": 49407, + "--){Ċ": 49408, + "inki": 49409, + "Ġép": 49410, + "Ġdri": 49411, + "ĠALT": 49412, + ">>>>>>>>": 49413, + "onta": 49414, + "[L": 49415, + "Ġinteres": 49416, + "verting": 49417, + "Ġdiagnostics": 49418, + "pdev": 49419, + "è©": 49420, + "ĠIntegrated": 49421, + ").'": 49422, + "_gc": 49423, + "$text": 49424, + ".games": 49425, + "ĠTerra": 49426, + "'Re": 49427, + ".transfer": 49428, + "_FIFO": 49429, + "getModel": 49430, + "Ġbland": 49431, + "ĠColeman": 49432, + "Ġprimes": 49433, + "ĠæĪ": 49434, + "Ġcrosses": 49435, + "nk": 49436, + "GING": 49437, + "Ġ'^": 49438, + "ĠBlob": 49439, + "Ġintercourse": 49440, + "ĠBlvd": 49441, + "Ġweighs": 49442, + "_regular": 49443, + "ĠPerth": 49444, + "Ġseparating": 49445, + "Ġbilled": 49446, + ".tabControl": 49447, + "Ġpuppet": 49448, + "Ġutilization": 49449, + "Ġâĸł": 49450, + "Ġsucces": 49451, + "Ġlamps": 49452, + "_proj": 49453, + "Eric": 49454, + "Ġrenovation": 49455, + "ĠFamilies": 49456, + "ĠBits": 49457, + "partials": 49458, + "-Men": 49459, + "solution": 49460, + "Ġdwarf": 49461, + ".INTEGER": 49462, + "ĠLOCK": 49463, + ".ct": 49464, + "Ġexcerpt": 49465, + "ĠPix": 49466, + "ĠFirstName": 49467, + "ANTED": 49468, + "ĠAdmir": 49469, + "-help": 49470, + "Prior": 49471, + "ĠAlign": 49472, + ".INSTANCE": 49473, + "LineEdit": 49474, + "('/:": 49475, + "Ġinet": 49476, + "odus": 49477, + ".pkl": 49478, + "ĠKY": 49479, + "upert": 49480, + "Ġnerves": 49481, + "_gradient": 49482, + "}','": 49483, + "_unref": 49484, + "Ġsaturated": 49485, + "ĠConnected": 49486, + "ĠFN": 49487, + "EXIT": 49488, + "Ġteleport": 49489, + "Ġavait": 49490, + "PageRoute": 49491, + "Ġdivorced": 49492, + "(lang": 49493, + "fst": 49494, + "ĠTyr": 49495, + "Ġmessenger": 49496, + "ifstream": 49497, + "XS": 49498, + "ĠBanking": 49499, + "Ġinfectious": 49500, + "ĠMons": 49501, + "_LOOP": 49502, + "Ġzurück": 49503, + "Ġobtener": 49504, + "/repos": 49505, + "Vel": 49506, + "acro": 49507, + "ĠuserRepository": 49508, + "styleType": 49509, + "ĠSRC": 49510, + "VMLINUX": 49511, + "recursive": 49512, + "/bar": 49513, + "_chip": 49514, + "ominated": 49515, + "ĠNit": 49516, + "âĢĶto": 49517, + "ĠBuddh": 49518, + "омеÑĢ": 49519, + "ĠMAG": 49520, + "ĠCHE": 49521, + "_den": 49522, + ".raises": 49523, + "_degree": 49524, + "Ġpumpkin": 49525, + "_templates": 49526, + "_MEDIA": 49527, + "ĠTimeline": 49528, + "Ġbots": 49529, + "ObjectType": 49530, + "Ġbuys": 49531, + ".posts": 49532, + "CAL": 49533, + "waiting": 49534, + "ĠDaniels": 49535, + "Ġdabei": 49536, + "ĠSigma": 49537, + "ilor": 49538, + "igel": 49539, + ",W": 49540, + "ADS": 49541, + "(panel": 49542, + "ì²´": 49543, + "itating": 49544, + ".palette": 49545, + "Ġmosquito": 49546, + "Ġtego": 49547, + "(parseInt": 49548, + "Ġdespués": 49549, + "promise": 49550, + "Ġwij": 49551, + "typescript": 49552, + "ĠTv": 49553, + "_IDENTIFIER": 49554, + ").ĊĊĊ": 49555, + "_flat": 49556, + "itsu": 49557, + "USR": 49558, + "experience": 49559, + "-fit": 49560, + "phinx": 49561, + "_thresh": 49562, + "Ġideally": 49563, + "ĠFreeman": 49564, + ",DB": 49565, + "_rw": 49566, + "çŃī": 49567, + "Ub": 49568, + "_statistics": 49569, + "=\"\"><": 49570, + "Ġchore": 49571, + "Ġyork": 49572, + "installed": 49573, + "Additionally": 49574, + "Ġpstmt": 49575, + "ylko": 49576, + "::Ċ": 49577, + "Forest": 49578, + "Ġheadset": 49579, + "Ġgallon": 49580, + "ÑĢем": 49581, + "Ġwithdrawn": 49582, + "ĠCandidate": 49583, + "Ġmelting": 49584, + "Ġfreezer": 49585, + "Ġhl": 49586, + "_HELP": 49587, + "mime": 49588, + "(/*": 49589, + "Ġthirst": 49590, + "$return": 49591, + "memberof": 49592, + "еб": 49593, + "ĠHttpServletRequest": 49594, + "(ob": 49595, + "_Result": 49596, + "Ġasserted": 49597, + "Ġfulfilling": 49598, + "Ġstretches": 49599, + "parated": 49600, + "-funded": 49601, + "ĠåĽ": 49602, + "ingles": 49603, + "_ca": 49604, + ".condition": 49605, + "ĠDisplays": 49606, + "Ġorang": 49607, + "ĠCRE": 49608, + "ĠglBind": 49609, + "ĠSelector": 49610, + "/type": 49611, + "ĠAlexa": 49612, + "chedules": 49613, + "ĠPeninsula": 49614, + "Ġparity": 49615, + "ĉdest": 49616, + "ĠDoors": 49617, + "čĊĉčĊ": 49618, + "_dimension": 49619, + "Ġaload": 49620, + ".StoredProcedure": 49621, + "(paren": 49622, + "ĠBurke": 49623, + "')]Ċ": 49624, + "-engine": 49625, + "Ġquir": 49626, + "ĠHybrid": 49627, + "ĠDoe": 49628, + "Ġoutlines": 49629, + "ĠTrends": 49630, + "_NV": 49631, + "periments": 49632, + "ĠHin": 49633, + "?',": 49634, + "ĉText": 49635, + "FUL": 49636, + "Ġsmells": 49637, + "Ġslick": 49638, + "Ġmiserable": 49639, + "ĠArrayAdapter": 49640, + "ĠparamString": 49641, + "Hom": 49642, + "_literals": 49643, + "usuarios": 49644, + "Ġprompting": 49645, + "_lazy": 49646, + "ĠActivation": 49647, + "_oc": 49648, + "Weak": 49649, + "Ġanecd": 49650, + "ĠUCLA": 49651, + "=re": 49652, + "issement": 49653, + "ĠEscorts": 49654, + "Excellent": 49655, + "ĠPause": 49656, + "Ġrepositories": 49657, + "TOR": 49658, + "ariate": 49659, + "_iso": 49660, + "updates": 49661, + "halb": 49662, + "udiante": 49663, + "ë¡Ŀ": 49664, + "Ġnaive": 49665, + "ĠPeg": 49666, + "ĠLounge": 49667, + "ARGIN": 49668, + "(bin": 49669, + "OnClickListener": 49670, + "ĠFAILED": 49671, + "Ġlite": 49672, + "Ġdzie": 49673, + "ĠLiteral": 49674, + "ivor": 49675, + "fcntl": 49676, + "Ġeats": 49677, + "Ġqed": 49678, + "Unlock": 49679, + "riding": 49680, + "undai": 49681, + "=M": 49682, + "ATTER": 49683, + "ConfigureAwait": 49684, + "icias": 49685, + "ustomed": 49686, + "Ġsuccession": 49687, + "endTime": 49688, + "ĠJupiter": 49689, + "Ġjudging": 49690, + "dration": 49691, + "_docs": 49692, + ".mo": 49693, + "Ġeducators": 49694, + "ĠVine": 49695, + "Cond": 49696, + "[out": 49697, + "qb": 49698, + "\\Validator": 49699, + "Ġmeanings": 49700, + "Ġpresently": 49701, + "Ġdividing": 49702, + "ottenham": 49703, + "ascular": 49704, + "Ġtrailers": 49705, + "ĠCLOSE": 49706, + "ами": 49707, + "âĢĻai": 49708, + "ĠGain": 49709, + "wor": 49710, + "Ġplanner": 49711, + "Ġdistributing": 49712, + "vat": 49713, + "months": 49714, + "xlabel": 49715, + "HF": 49716, + "Viol": 49717, + ".BASELINE": 49718, + "еÑĤÑģÑı": 49719, + "ĠRotate": 49720, + "Ġtxn": 49721, + ":bold": 49722, + "Ġbloss": 49723, + "Forgery": 49724, + "(embed": 49725, + "Ġjako": 49726, + "sprintf": 49727, + "their": 49728, + "Ġexhibits": 49729, + "-static": 49730, + "hecy": 49731, + "getActiveSheet": 49732, + ".clients": 49733, + "ãģį": 49734, + "_hide": 49735, + "[word": 49736, + "Cb": 49737, + "addItem": 49738, + "axe": 49739, + "_radio": 49740, + "alion": 49741, + "modifier": 49742, + "Ġsaturation": 49743, + "Ġdenom": 49744, + "_pixels": 49745, + "mess": 49746, + "(fl": 49747, + "atif": 49748, + "Ġsecs": 49749, + "Ġprostitution": 49750, + "Ġgrandchildren": 49751, + "Ġparadise": 49752, + "ĠFeld": 49753, + "_BINARY": 49754, + "itous": 49755, + "à¹Ħ": 49756, + "Ġflashing": 49757, + "-sided": 49758, + "Ġcontradiction": 49759, + "/*ĊĊ": 49760, + "ylabel": 49761, + "ĠTet": 49762, + "Ġadmire": 49763, + "reso": 49764, + "Ġletz": 49765, + "ĠSEARCH": 49766, + "slots": 49767, + "ĠRewards": 49768, + "ĠHog": 49769, + "ĠNSData": 49770, + "stash": 49771, + "Fall": 49772, + "ĠAmer": 49773, + "LinearLayout": 49774, + "/photos": 49775, + "Ġfeather": 49776, + "Ġ|čĊ": 49777, + "Downloads": 49778, + ".StartsWith": 49779, + "Ġ//#": 49780, + "ineTransform": 49781, + "Ġaffid": 49782, + "Vtbl": 49783, + "ĠRogue": 49784, + "scribed": 49785, + "Ġfauc": 49786, + "ĠMonroe": 49787, + "Ġdeclares": 49788, + "modern": 49789, + "reon": 49790, + "aybe": 49791, + "PASS": 49792, + "fers": 49793, + "_MULTI": 49794, + "ĠMathematics": 49795, + "Ġsudah": 49796, + "_ATTACH": 49797, + "ĠnumberWith": 49798, + "ĠSolomon": 49799, + "jin": 49800, + "ografia": 49801, + "öl": 49802, + "_design": 49803, + "culated": 49804, + "ĠLuna": 49805, + "iesz": 49806, + "Ġ=>'": 49807, + "Ġrevelations": 49808, + "Along": 49809, + "(ed": 49810, + "ĠFilename": 49811, + "Ġylabel": 49812, + "Secure": 49813, + "Ġbusca": 49814, + "agnosis": 49815, + "_RECE": 49816, + "Ġoverlapping": 49817, + "Extent": 49818, + "Ġanticipation": 49819, + "Checks": 49820, + "ĠALSO": 49821, + "orc": 49822, + "ilingual": 49823, + "itational": 49824, + "Ġadvancement": 49825, + "ouro": 49826, + "ĠPredicate": 49827, + "å¾Ĺ": 49828, + "eria": 49829, + "ĠPierce": 49830, + "orio": 49831, + "Ġmerits": 49832, + "Ġpeanut": 49833, + ".Package": 49834, + "ĠConduct": 49835, + "_SENSOR": 49836, + "Ġboiling": 49837, + "Ġintra": 49838, + "ĠIGN": 49839, + "ĠFur": 49840, + ".Refresh": 49841, + "ĠReach": 49842, + "_decoder": 49843, + ".Exp": 49844, + "ĠÑĤак": 49845, + "pill": 49846, + ",Q": 49847, + "ĠGrill": 49848, + "Ġpopping": 49849, + ".Ag": 49850, + "Ġproyecto": 49851, + "Ġmileage": 49852, + "Ġecological": 49853, + "]]);Ċ": 49854, + "ĠÂŃ": 49855, + "subplot": 49856, + "acad": 49857, + "ĠTrying": 49858, + "recipes": 49859, + "$criteria": 49860, + "ĠPersian": 49861, + "-bound": 49862, + "MASK": 49863, + "ĠGesture": 49864, + "Ġkk": 49865, + "ĠPVC": 49866, + "Ġprohibition": 49867, + "Ġcomando": 49868, + "ĠLOOK": 49869, + "Shopping": 49870, + "Ġdistortion": 49871, + "čĊ": 49917, + ".Dependency": 49918, + ".QueryString": 49919, + ".Owner": 49920, + "Ġexpiry": 49921, + "Thu": 49922, + "(Vec": 49923, + "Ġhazardous": 49924, + "Ġrpm": 49925, + "APON": 49926, + "ĠaddTarget": 49927, + "sville": 49928, + "pNet": 49929, + "ĠImg": 49930, + "ĠTIMER": 49931, + ".Animation": 49932, + "Ġbek": 49933, + "Ġassort": 49934, + "Ġlebih": 49935, + "ĠbodyParser": 49936, + "Ġvibrating": 49937, + "IDL": 49938, + "Ġbutterknife": 49939, + "inters": 49940, + "Ġpersuade": 49941, + "ĠLGBTQ": 49942, + "èĭ": 49943, + ".soft": 49944, + "Ġbeams": 49945, + "_sur": 49946, + ".Def": 49947, + "Ġlabs": 49948, + "ĉplt": 49949, + "Ġskins": 49950, + "Ġtransferring": 49951, + "Ġimaginary": 49952, + "_End": 49953, + ";background": 49954, + "Ġlaps": 49955, + "_COMMENT": 49956, + "(SDL": 49957, + "onds": 49958, + ".Record": 49959, + "ĠImplements": 49960, + "_ticks": 49961, + "()))ĊĊ": 49962, + "Ġarose": 49963, + "]?": 49964, + "ĠMp": 49965, + "ĠICommand": 49966, + "Ġsculpture": 49967, + "Ġcontracted": 49968, + "\">'": 50446, + "kinson": 50447, + "Ġкол": 50448, + "ognitive": 50449, + "_li": 50450, + "Ġimminent": 50451, + "Ġaffinity": 50452, + ".signal": 50453, + "Ġnotch": 50454, + "ĠSteelers": 50455, + "maxlength": 50456, + "KK": 50457, + "ĠEugene": 50458, + "_PWM": 50459, + "roi": 50460, + "ĠâĹı": 50461, + "ĠHamburg": 50462, + ".Must": 50463, + "Ġaxe": 50464, + "enef": 50465, + "Ġambitions": 50466, + "ĠSpecies": 50467, + "ĠStress": 50468, + "Ġawhile": 50469, + "ĠбÑĥд": 50470, + "Ġwithstand": 50471, + "ĠDecoder": 50472, + "_inventory": 50473, + "Ġ{ččĊ": 50474, + "Ġtgt": 50475, + "Ġrailroad": 50476, + "WASHINGTON": 50477, + "Ġnegotiated": 50478, + "NST": 50479, + "-phone": 50480, + ",U": 50481, + "Ġexercising": 50482, + "ụ": 50483, + "_PIXEL": 50484, + "avors": 50485, + "iterated": 50486, + "Ġvampire": 50487, + "adal": 50488, + "Ingrese": 50489, + "Ġung": 50490, + "jective": 50491, + ".cells": 50492, + "Ġnano": 50493, + "Ġmarkdown": 50494, + "_RULE": 50495, + "(events": 50496, + "Ġluggage": 50497, + "MESSAGE": 50498, + "igkeit": 50499, + "$count": 50500, + "AttributeName": 50501, + "IGINAL": 50502, + "_Ent": 50503, + "ĠBF": 50504, + "ĠCOMMENT": 50505, + "_ini": 50506, + "ĠEuropeans": 50507, + "ĠBelle": 50508, + "åij½": 50509, + ")['": 50510, + "åºĶ": 50511, + "ĠUseful": 50512, + ".reference": 50513, + "()\",": 50514, + "_grade": 50515, + "ĠKaw": 50516, + "Ġsentencing": 50517, + "Ġsocialism": 50518, + "monster": 50519, + "_LAYER": 50520, + "Ġdeepest": 50521, + "wk": 50522, + "ĠNoise": 50523, + "###ĊĊ": 50524, + "Ġpréc": 50525, + "otle": 50526, + "ÑĤе": 50527, + "auf": 50528, + "ibal": 50529, + "Ġconquer": 50530, + ">Email": 50531, + "Ġambulance": 50532, + "OAD": 50533, + "Ġ(\"%": 50534, + "ĠFI": 50535, + ".fixture": 50536, + "Ġterse": 50537, + "ĠĠĠĠĉĉĉĉ": 50538, + "Ġsanctuary": 50539, + "ugi": 50540, + "ĠComparator": 50541, + "Definitions": 50542, + "Ġasthma": 50543, + "Ġlact": 50544, + "Ġhardwood": 50545, + ".clock": 50546, + "Ġattracting": 50547, + "ĠMour": 50548, + "(distance": 50549, + "icits": 50550, + "Ġbonne": 50551, + "ĠACCESS": 50552, + ".DeserializeObject": 50553, + "ĠTyped": 50554, + "Ġjeu": 50555, + "ĠappId": 50556, + "ĠClara": 50557, + "ĠHF": 50558, + "ĠReich": 50559, + "ipples": 50560, + "//--------------------------------------------------------------------------------": 50561, + "_delivery": 50562, + "erialization": 50563, + "Ġplaintiffs": 50564, + "Scient": 50565, + "shopping": 50566, + "ĠDummy": 50567, + "ĠWald": 50568, + "GroupName": 50569, + "Ġinscription": 50570, + "elog": 50571, + "::::::::": 50572, + "_ld": 50573, + "BackPressed": 50574, + ".Raw": 50575, + "ĠOnTrigger": 50576, + "Ġmuseums": 50577, + "ĠBeen": 50578, + "ĠAdventures": 50579, + "Ġslate": 50580, + "Ġlett": 50581, + "Ġsund": 50582, + "ĠGin": 50583, + "ĠMechanical": 50584, + ".ship": 50585, + "AppComponent": 50586, + "Ġdestined": 50587, + "Ġdwelling": 50588, + "Profiler": 50589, + "Prepare": 50590, + "zeich": 50591, + "Ġsilicon": 50592, + "(has": 50593, + "Ġ#%": 50594, + "VIDEO": 50595, + "Ġcollaborate": 50596, + "Lin": 50597, + "Ġscopes": 50598, + "(className": 50599, + "(sd": 50600, + "andin": 50601, + ".ham": 50602, + "ServiceImpl": 50603, + "-described": 50604, + "Ġirony": 50605, + "stial": 50606, + "ĠHuawei": 50607, + "(repo": 50608, + "Ġunexpectedly": 50609, + "ĠKai": 50610, + ".install": 50611, + "\\xf": 50612, + "Ġexhibited": 50613, + "_TCP": 50614, + "ĠOx": 50615, + "_CHO": 50616, + "Ġprostituerte": 50617, + "Ġvä": 50618, + "Ġsito": 50619, + "Ġconstituents": 50620, + "ĠContinued": 50621, + "ĠSAVE": 50622, + "rss": 50623, + "/message": 50624, + "ubes": 50625, + "Ġmisdemean": 50626, + "Ġtaxation": 50627, + "Ġstoryline": 50628, + "hair": 50629, + "ĠFinds": 50630, + "SIG": 50631, + "verification": 50632, + "~=": 50633, + ".hp": 50634, + "Iterable": 50635, + "Ñĭе": 50636, + "atori": 50637, + "Ġctr": 50638, + "Rx": 50639, + "_);ĊĊ": 50640, + "dag": 50641, + ".pin": 50642, + "Ġpseud": 50643, + "Ġinvo": 50644, + "ÑģÑĤÑĢ": 50645, + "_pix": 50646, + "为空": 50647, + "Ġsworn": 50648, + "âĢĶor": 50649, + "_registry": 50650, + "Ġdisasters": 50651, + "ĠROI": 50652, + "ĠâĢķ": 50653, + "aktu": 50654, + "forest": 50655, + "beiten": 50656, + "âĢĶI": 50657, + "ueva": 50658, + "egt": 50659, + "Ġspikes": 50660, + "URES": 50661, + "ĠRecommended": 50662, + "Ġexploited": 50663, + "ĠFrederick": 50664, + "_COMPLETE": 50665, + "ĠDrugs": 50666, + "!!!!!!!!": 50667, + "ĠRiv": 50668, + "STOP": 50669, + "ROOM": 50670, + "ĠPASSWORD": 50671, + "Cookies": 50672, + ".El": 50673, + "á»Ń": 50674, + "ĠBert": 50675, + "Ġhashed": 50676, + "icester": 50677, + "Ġdecorator": 50678, + "ĠqueryString": 50679, + ":;Ċ": 50680, + "Ġ\"[\"": 50681, + "otope": 50682, + "-Americ": 50683, + "ĠMatthews": 50684, + "URAL": 50685, + "âĢľ,": 50686, + "Summer": 50687, + "fos": 50688, + "_CONTAINER": 50689, + "_ACK": 50690, + "Ġfiltr": 50691, + "_disp": 50692, + "_Re": 50693, + "Ġfacile": 50694, + "аÑĪ": 50695, + "ĠìķĬ": 50696, + "Ġeben": 50697, + "Ġsprink": 50698, + "ĠQuint": 50699, + ">V": 50700, + "Ġhistorians": 50701, + "ourmet": 50702, + "ĠMonitoring": 50703, + "ledger": 50704, + "cott": 50705, + "Ġware": 50706, + "GGLE": 50707, + "cars": 50708, + "ĠMEDIATEK": 50709, + "Ġvolupt": 50710, + "_View": 50711, + "HEL": 50712, + "(copy": 50713, + "(stats": 50714, + "Ġchromosome": 50715, + "ĠCurtis": 50716, + "-conf": 50717, + "(asset": 50718, + "Ġhvor": 50719, + "FileSystem": 50720, + "<>();čĊ": 50721, + "ocoder": 50722, + "ĠCannon": 50723, + ")x": 50724, + "ĠSmooth": 50725, + "ĠSAS": 50726, + "_ce": 50727, + "ĉprev": 50728, + "_movie": 50729, + "Ec": 50730, + "_wall": 50731, + ".ĊĊ": 51278, + "ogenesis": 51279, + "ĠOPTIONS": 51280, + "uptools": 51281, + "Ġmilitant": 51282, + "Ġexited": 51283, + "igar": 51284, + "ĠCOMM": 51285, + "ĠDisposable": 51286, + "aycast": 51287, + "Ġrowspan": 51288, + "Ġsynthes": 51289, + "Ġsondern": 51290, + "ĠĊ": 54769, + "ĠJacket": 54770, + "RATION": 54771, + ".getSelectedItem": 54772, + "-init": 54773, + "ĠRegisters": 54774, + "_sep": 54775, + "ĠToolkit": 54776, + ".dict": 54777, + "Ġxlabel": 54778, + "\\Table": 54779, + "toc": 54780, + "_combo": 54781, + "ĠCompact": 54782, + "Ġrugged": 54783, + "à¥ĩà¤": 54784, + "-management": 54785, + "')}}\">Ċ": 54786, + "ĠStamp": 54787, + "ıl": 54788, + "rox": 54789, + "Ġlandscapes": 54790, + "_NOTE": 54791, + "monary": 54792, + "cab": 54793, + "Ġmoet": 54794, + "xaf": 54795, + "rcode": 54796, + "-cli": 54797, + "_gate": 54798, + "[event": 54799, + "SPORT": 54800, + "gia": 54801, + "ĠSUPER": 54802, + "/Login": 54803, + "_shutdown": 54804, + "interrupt": 54805, + "Ġpretending": 54806, + "Ġfringe": 54807, + "ĠReds": 54808, + "ĠCUDA": 54809, + "ĠUNIX": 54810, + "vit": 54811, + "Ġbrig": 54812, + "drv": 54813, + "ĠConnector": 54814, + "Therefore": 54815, + "Ġlia": 54816, + "Detection": 54817, + "_actor": 54818, + "Ġtempfile": 54819, + "Ġeccentric": 54820, + "-role": 54821, + "Ġpadx": 54822, + "dent": 54823, + "Western": 54824, + "Ġê·¸": 54825, + "ĠApplicationRecord": 54826, + "Ġcampaigning": 54827, + "_runner": 54828, + "ĠCivic": 54829, + "aleigh": 54830, + "Ġdirekt": 54831, + ".sul": 54832, + "ĠĠĉĉĉ": 54833, + "anten": 54834, + "Ġissuer": 54835, + "Ġassertions": 54836, + "(orig": 54837, + "ATIO": 54838, + "Ġleaned": 54839, + "äs": 54840, + ".DTO": 54841, + "explode": 54842, + ".Observable": 54843, + "Ġstaggering": 54844, + "Ġkidnapped": 54845, + "Ġprogrammers": 54846, + "ĠInnov": 54847, + ".parameter": 54848, + "Ġdomination": 54849, + "Ġskeptic": 54850, + "Ġæĺ¯": 54851, + "Ġavoids": 54852, + ".Verify": 54853, + "ubby": 54854, + "ĠASN": 54855, + "Ġformato": 54856, + "ĠBeatles": 54857, + "_brand": 54858, + "Ġinset": 54859, + "youtu": 54860, + "Ġtoc": 54861, + "-final": 54862, + "Showing": 54863, + "ĠDoub": 54864, + "ĠMesa": 54865, + "Adj": 54866, + "_medium": 54867, + "Creates": 54868, + "(endpoint": 54869, + "ĉUP": 54870, + "bbie": 54871, + "Ġstalk": 54872, + ".databind": 54873, + ".Scan": 54874, + "agents": 54875, + "$,": 54876, + "individual": 54877, + "+)/": 54878, + "ĉvm": 54879, + "(notification": 54880, + "Ġinex": 54881, + "ĠClassification": 54882, + "reno": 54883, + "Ġolig": 54884, + "-rated": 54885, + "Ġformulation": 54886, + "',{": 54887, + "Ġacept": 54888, + "_unpack": 54889, + "_CA": 54890, + ".Pow": 54891, + "ĉim": 54892, + "Ġaluminium": 54893, + "ANO": 54894, + "Ġxn": 54895, + "Ġcómo": 54896, + "ĠIngredient": 54897, + "Ġseizures": 54898, + "åħ±": 54899, + "ificador": 54900, + "Ġsiguiente": 54901, + "ĠInfragistics": 54902, + "Ġduplicated": 54903, + "ĠDee": 54904, + "Ġnø": 54905, + "ĠACCEPT": 54906, + "(crate": 54907, + "иÑĤелÑĮ": 54908, + "-less": 54909, + "Ġinfinity": 54910, + "Analyzer": 54911, + "-Day": 54912, + "ritt": 54913, + "(cin": 54914, + "ĠGy": 54915, + "Ġmultiplied": 54916, + "uchi": 54917, + "ĠBaldwin": 54918, + "/ip": 54919, + "Ġshortcuts": 54920, + ".ADD": 54921, + "Ġvigor": 54922, + "_instruction": 54923, + "(;": 54924, + "_eta": 54925, + "è¿ŀ": 54926, + "utorials": 54927, + "Ġboosting": 54928, + "bv": 54929, + "Ġacknowledges": 54930, + "Listening": 54931, + "FAQ": 54932, + ";b": 54933, + "((-": 54934, + "Ġarchitects": 54935, + "Ġzwe": 54936, + "Ġpuls": 54937, + "ĠgetCount": 54938, + "verbs": 54939, + "ãĢľ": 54940, + "(Collection": 54941, + "kre": 54942, + "Ġjurisdictions": 54943, + "_bridge": 54944, + "ĠCrack": 54945, + "ĠDifficulty": 54946, + "KO": 54947, + "Reservation": 54948, + "_requires": 54949, + "Tour": 54950, + "ãģĹãģŁ": 54951, + ".setCurrent": 54952, + "Ġky": 54953, + "ĠAlbany": 54954, + "Ġè§": 54955, + "ller": 54956, + "agna": 54957, + "workers": 54958, + ".blank": 54959, + "ĠPrayer": 54960, + "MIC": 54961, + "Ġresilience": 54962, + "TeX": 54963, + "ĠLanguages": 54964, + "study": 54965, + "ĉcurr": 54966, + "Ġenzymes": 54967, + "Slug": 54968, + "ĠíĮĮ": 54969, + "stral": 54970, + "Ġtumors": 54971, + "Ġsegunda": 54972, + "='{": 54973, + "instruction": 54974, + "ĠLisp": 54975, + "/info": 54976, + "Ġ\"{$": 54977, + ",:),": 54978, + "Ġgv": 54979, + "(ErrorMessage": 54980, + "Ġ'=": 54981, + "}-${": 54982, + ".Documents": 54983, + "\"Well": 54984, + "Ġreminiscent": 54985, + "Ġgaz": 54986, + "iropr": 54987, + "ehr": 54988, + "Ġsuppressed": 54989, + "ersh": 54990, + ".scrollTo": 54991, + "Ġcadena": 54992, + "ĠgameState": 54993, + "ÃŃm": 54994, + "(conv": 54995, + "ĠTomorrow": 54996, + "ĠCCT": 54997, + "Mongo": 54998, + "ulg": 54999, + ".Camera": 55000, + ".handlers": 55001, + "mph": 55002, + "Ġstk": 55003, + "Ġgenetics": 55004, + "ACING": 55005, + "Trivia": 55006, + "ĠBam": 55007, + "(marker": 55008, + ".Stretch": 55009, + "ĠSunni": 55010, + "ĠBetty": 55011, + ".tolist": 55012, + "unlikely": 55013, + ".Rectangle": 55014, + "obsolete": 55015, + "ILON": 55016, + "innerText": 55017, + "embourg": 55018, + "aN": 55019, + "ĠVehicles": 55020, + "unlock": 55021, + ":utf": 55022, + "nob": 55023, + "ĠSeeing": 55024, + "ĠNEVER": 55025, + "Ġtls": 55026, + "Ġfilles": 55027, + "Ġbenefited": 55028, + "ĠClint": 55029, + "*/),": 55030, + ".fold": 55031, + "Ġposible": 55032, + "ADED": 55033, + "thouse": 55034, + ".DAL": 55035, + "ĠOdd": 55036, + "rokes": 55037, + "ĠSunny": 55038, + "ĠPartialEq": 55039, + "_Buffer": 55040, + "ĠLevi": 55041, + "longrightarrow": 55042, + "eldon": 55043, + "gages": 55044, + "_warn": 55045, + ".CreateTable": 55046, + "ĠDip": 55047, + "_questions": 55048, + ".logic": 55049, + "Ġ#\"": 55050, + "={()=>": 55051, + "Ġtep": 55052, + "Ġjuicy": 55053, + "ìĤ¬": 55054, + "enko": 55055, + "ialect": 55056, + "Ùī": 55057, + "Ġonboard": 55058, + "Ġæı": 55059, + "ĉrt": 55060, + "_UTF": 55061, + "ĠQAction": 55062, + "âĢŀ": 55063, + "(Component": 55064, + "(audio": 55065, + ".hit": 55066, + "gte": 55067, + "Ġprogrammed": 55068, + "stateParams": 55069, + "Ġpolyester": 55070, + "fires": 55071, + "byss": 55072, + "]=(": 55073, + "_quality": 55074, + "OfDay": 55075, + "ĠFairy": 55076, + "Ġyelled": 55077, + "opl": 55078, + "(userName": 55079, + "ĠDifference": 55080, + "Ġevaluations": 55081, + "iffany": 55082, + "Ġcyclists": 55083, + "Ġcidade": 55084, + "Ġtextbook": 55085, + "Ġprofiling": 55086, + "__),": 55087, + "dea": 55088, + ".activate": 55089, + "Ġindications": 55090, + "Ðķ": 55091, + "TouchUpInside": 55092, + "Ġinvaluable": 55093, + "ĠMASK": 55094, + "Ġcontend": 55095, + "Freq": 55096, + "Ġrecruits": 55097, + "(interval": 55098, + "ĠUserProfile": 55099, + "Ġ'./../": 55100, + "edu": 55101, + "_Callback": 55102, + "Ġanalogy": 55103, + "ĠTrophy": 55104, + "apphire": 55105, + "Videos": 55106, + "ĠCher": 55107, + "ĠHav": 55108, + "â̦\"": 55109, + ".validator": 55110, + "gfx": 55111, + "ĠUObject": 55112, + "classnames": 55113, + "triangle": 55114, + "ĠEncoder": 55115, + ".spy": 55116, + "Ġpredators": 55117, + "=status": 55118, + "-safe": 55119, + ":\",Ċ": 55120, + "ĠIncluding": 55121, + "Ġ{};čĊ": 55122, + "*cos": 55123, + "Ġendured": 55124, + ".sulake": 55125, + "Ġnursery": 55126, + "Ġfragrance": 55127, + "Ġrebuilding": 55128, + "Ġnth": 55129, + "ĠFraser": 55130, + ".setDate": 55131, + "ĠVince": 55132, + "_REST": 55133, + "Ġventilation": 55134, + "æµ·": 55135, + "cribes": 55136, + ".asm": 55137, + "lpVtbl": 55138, + "ĠAbe": 55139, + "uisine": 55140, + ",array": 55141, + "ĉclassName": 55142, + "errals": 55143, + "Ġ'ĊĊ": 55144, + "Checkout": 55145, + "Ġsolicit": 55146, + "Aux": 55147, + "_capture": 55148, + "Ġribs": 55149, + "ragon": 55150, + "viol": 55151, + "topics": 55152, + "FunctionFlags": 55153, + "ĠMarty": 55154, + "bike": 55155, + "ĠTucker": 55156, + "(kernel": 55157, + "ĠOps": 55158, + "CloseOperation": 55159, + "/demo": 55160, + "ilda": 55161, + "ĠlÃŃnea": 55162, + "APPING": 55163, + "Ġsuites": 55164, + ".visitVarInsn": 55165, + "urus": 55166, + "ĠMinute": 55167, + "(manager": 55168, + "Ġbutterfly": 55169, + "Ġapare": 55170, + "Ġwolves": 55171, + "JWT": 55172, + "ĠSalon": 55173, + "ĉdelay": 55174, + "-eslint": 55175, + "isations": 55176, + ".rpc": 55177, + ")|(": 55178, + "ĠSnapchat": 55179, + "/mm": 55180, + "MN": 55181, + "ceries": 55182, + ".textAlignment": 55183, + "ĠFrankfurt": 55184, + "Ġado": 55185, + "(newValue": 55186, + "(access": 55187, + "(Expression": 55188, + "ĠSignIn": 55189, + "ĠHaiti": 55190, + "_tp": 55191, + ".setParameter": 55192, + "Minute": 55193, + "Ġmanuals": 55194, + "ricanes": 55195, + "ĠPTR": 55196, + "ĠOuter": 55197, + "Ġgetline": 55198, + "ocations": 55199, + "_CD": 55200, + "ĠLyon": 55201, + "/gui": 55202, + "_live": 55203, + "idan": 55204, + ".geom": 55205, + "ĠborderBottom": 55206, + "imuth": 55207, + "_checkpoint": 55208, + "Ġmeu": 55209, + "ĠIrving": 55210, + "Ġpeuvent": 55211, + "(MAX": 55212, + "ĠARCH": 55213, + "Ġpov": 55214, + ".sourceforge": 55215, + "Ġjamais": 55216, + "Ġark": 55217, + "ĠBaghdad": 55218, + "ĠCLEAR": 55219, + "MenuBar": 55220, + "Ġtrois": 55221, + "CHEDULE": 55222, + "Ġ#čĊ": 55223, + "(Call": 55224, + "$order": 55225, + "(Material": 55226, + "Ġencontrado": 55227, + "$list": 55228, + "ĠMETHODS": 55229, + ".beginTransaction": 55230, + "_MAG": 55231, + "StyleSheet": 55232, + "Ġmajors": 55233, + "Ġindefinitely": 55234, + "cleanup": 55235, + "Ġhomeland": 55236, + "(dto": 55237, + "Dates": 55238, + "Presentation": 55239, + "ĠDK": 55240, + "={`/": 55241, + "ĉKey": 55242, + "(Block": 55243, + "_checkbox": 55244, + "needs": 55245, + "ĠonComplete": 55246, + "rico": 55247, + "Ġgleich": 55248, + "Ġxm": 55249, + "OOD": 55250, + "Better": 55251, + "ĠSQLITE": 55252, + ".Book": 55253, + "xad": 55254, + "ĠGone": 55255, + "ĉdp": 55256, + "Ġdevotion": 55257, + "Ġstm": 55258, + "Ġobsess": 55259, + "ĠBackend": 55260, + "Queries": 55261, + "Ik": 55262, + "//****************************************************************": 55263, + "Ġdividends": 55264, + ".parentElement": 55265, + "}\")ĊĊ": 55266, + "ĠMaterialPageRoute": 55267, + ":num": 55268, + "Ġexplic": 55269, + "ĠOL": 55270, + "least": 55271, + "Oops": 55272, + "imentos": 55273, + "Ġinsurers": 55274, + "Ġheroic": 55275, + "ĉfields": 55276, + ".imgur": 55277, + ".btnCancel": 55278, + "ĠDetective": 55279, + "(sm": 55280, + "ĠMutableLiveData": 55281, + ".lab": 55282, + "(([": 55283, + "Ġhairst": 55284, + "ĠTransactions": 55285, + "å¼Ģå§ĭ": 55286, + "ĠstdClass": 55287, + "uento": 55288, + "GIS": 55289, + "_cod": 55290, + "Instructions": 55291, + "Calls": 55292, + "PointerType": 55293, + "ĠRw": 55294, + "Ġassortment": 55295, + "ĠDIG": 55296, + "+r": 55297, + "_CERT": 55298, + "Ġinstability": 55299, + "Ġvib": 55300, + "onas": 55301, + "Ġroku": 55302, + "apellido": 55303, + "Ġangl": 55304, + "preneur": 55305, + "Ġfluids": 55306, + "isease": 55307, + "Ġdeed": 55308, + "quist": 55309, + "_CONSTANT": 55310, + "Ġequilibrium": 55311, + "_delegate": 55312, + "ĠQuantum": 55313, + "rei": 55314, + "Capabilities": 55315, + "rectangle": 55316, + "?><": 55317, + "alien": 55318, + "ĠJug": 55319, + "DNA": 55320, + "Tickets": 55321, + "Occurs": 55322, + "ĠHawk": 55323, + ".setHorizontalGroup": 55324, + "\\Collection": 55325, + "ffiti": 55326, + "Ġrearr": 55327, + ".setVerticalGroup": 55328, + "Ġcavity": 55329, + "Ġadulte": 55330, + "Facade": 55331, + "-wh": 55332, + "ĠLOL": 55333, + "ذ": 55334, + "Ġgrandparents": 55335, + "Swift": 55336, + "ĉwx": 55337, + "æīĢæľī": 55338, + "ifen": 55339, + "ffset": 55340, + "Beyond": 55341, + "//}ĊĊ": 55342, + "Ġwager": 55343, + "Ġbury": 55344, + "Ġcommence": 55345, + "registro": 55346, + "scient": 55347, + "ĠPercent": 55348, + "Ġдолж": 55349, + "(identifier": 55350, + ".setModel": 55351, + "Ġseldom": 55352, + "nton": 55353, + "Ġappliance": 55354, + "amus": 55355, + "rysler": 55356, + "Ġpanties": 55357, + "enguins": 55358, + "Ġmimic": 55359, + "ĠonChanged": 55360, + "Ġalcoholic": 55361, + ".reloadData": 55362, + "Charge": 55363, + "ĠFax": 55364, + "ĠjScrollPane": 55365, + "Empresa": 55366, + "Ġshattered": 55367, + "xba": 55368, + "Fonts": 55369, + "?s": 55370, + "Ġpostseason": 55371, + "retain": 55372, + "_rates": 55373, + "ĠrequestCode": 55374, + ".todo": 55375, + "´s": 55376, + "CHK": 55377, + "ĠKeeping": 55378, + "engeance": 55379, + "Ġvscode": 55380, + "IPPING": 55381, + "DefaultCloseOperation": 55382, + "_raise": 55383, + "ĠOculus": 55384, + "ograms": 55385, + "raj": 55386, + "pci": 55387, + "Ġcorrosion": 55388, + ".handleSubmit": 55389, + "Accessible": 55390, + "ĠPiano": 55391, + "little": 55392, + "ACL": 55393, + "Äĩe": 55394, + ".unwrap": 55395, + "ĠConvers": 55396, + "ĠLeben": 55397, + "ioneer": 55398, + "ĠMerchant": 55399, + "ĠJorge": 55400, + "Ġembracing": 55401, + "Ġventa": 55402, + "ást": 55403, + "Ġviene": 55404, + "Ċ": 55556, + "-growing": 55557, + "Ġdeepcopy": 55558, + "Ack": 55559, + "eggies": 55560, + "Ġ__(\"": 55561, + "Ġnoir": 55562, + "terrorism": 55563, + "Ġanthem": 55564, + "agency": 55565, + "_PACKAGE": 55566, + "ĠClosure": 55567, + ".registry": 55568, + "Ġmammals": 55569, + "L": 55600, + "Ġbluetooth": 55601, + ".Deep": 55602, + "-standing": 55603, + "ácil": 55604, + "Ġrooft": 55605, + "ĠPaths": 55606, + "_iterations": 55607, + "InvalidArgumentException": 55608, + ".spi": 55609, + "ĠUIAlertAction": 55610, + "uye": 55611, + "signin": 55612, + ".priority": 55613, + "ĠEssays": 55614, + "='{$": 55615, + "Ġè¿ĶåĽŀ": 55616, + "_signed": 55617, + ".persist": 55618, + "Ġredesign": 55619, + "ToLower": 55620, + "ĠNewman": 55621, + "=start": 55622, + "ĠIsraelis": 55623, + "asiswa": 55624, + "Speech": 55625, + "Ġnumeros": 55626, + "handlers": 55627, + "ĠWong": 55628, + "ĠмеÑĤод": 55629, + "Weights": 55630, + "ĠGujar": 55631, + "teil": 55632, + "ĠNonetheless": 55633, + "_EFFECT": 55634, + "Ġvect": 55635, + "ĠOsc": 55636, + "Ġcoats": 55637, + "ĠWheat": 55638, + "Ġgeek": 55639, + "ĠPROPERTY": 55640, + "worm": 55641, + "_constants": 55642, + "ĠBoulder": 55643, + "ĠParm": 55644, + "cole": 55645, + "ĠdefaultCenter": 55646, + "ĠRouge": 55647, + ":A": 55648, + "xcf": 55649, + "ĠVenice": 55650, + "median": 55651, + "Ġredemption": 55652, + "Fresh": 55653, + "Ġcosm": 55654, + "Ġfigur": 55655, + "Ġrefurb": 55656, + "COPE": 55657, + ".cd": 55658, + "Ġchords": 55659, + "ĠSgt": 55660, + "Åį": 55661, + "VPN": 55662, + "ĠSEND": 55663, + "ainen": 55664, + "_accounts": 55665, + "Ġtenth": 55666, + "Ġdissolved": 55667, + "": 55907, + "Ġlegitimacy": 55908, + "Ġoo": 55909, + "Slinky": 55910, + "Ġnationals": 55911, + ".words": 55912, + ";p": 55913, + "trap": 55914, + "omanip": 55915, + "Ġcues": 55916, + "Ġgraduating": 55917, + "Ġsemaphore": 55918, + "\"]);ĊĊ": 55919, + "acey": 55920, + "REET": 55921, + "Grab": 55922, + "ĠFelix": 55923, + "(Id": 55924, + "_neighbors": 55925, + "Ġmeaningless": 55926, + "(del": 55927, + "Ġjeder": 55928, + "ĠContentValues": 55929, + ".absolute": 55930, + "/cl": 55931, + "Ġxb": 55932, + "datum": 55933, + "Ġtortured": 55934, + "Ġrubbing": 55935, + "Scores": 55936, + "ĠðŁĺī": 55937, + "Ġavons": 55938, + "Ġamsterdam": 55939, + "EOS": 55940, + "Hal": 55941, + "Ġtrustworthy": 55942, + "#=": 55943, + ".EXTRA": 55944, + "Ġmano": 55945, + "isicing": 55946, + "-support": 55947, + "ĉcursor": 55948, + "ĠSpo": 55949, + "aimassage": 55950, + "Mission": 55951, + "[]{\"": 55952, + "Ġprinters": 55953, + "GREEN": 55954, + "Ġteg": 55955, + "Ġabdominal": 55956, + "!ĊĊĊĊĊĊ": 55957, + ".Short": 55958, + "азв": 55959, + "ĠGifts": 55960, + "}\")": 55961, + "(binding": 55962, + "xce": 55963, + "âĢij": 55964, + "infos": 55965, + "FormData": 55966, + "Ġdart": 55967, + "Ġelems": 55968, + "(inv": 55969, + "YL": 55970, + "tin": 55971, + "GENER": 55972, + "ữ": 55973, + "ĠTaken": 55974, + "uckle": 55975, + ":e": 55976, + "Ġspectral": 55977, + ".baidu": 55978, + "/');Ċ": 55979, + "Ġgreedy": 55980, + "esion": 55981, + ",,,,,,,,": 55982, + "Ġ/>,Ċ": 55983, + "InternalServerError": 55984, + "NSNotificationCenter": 55985, + "ĠAi": 55986, + "Ġspit": 55987, + "Ġaugmented": 55988, + "ĠstandardUserDefaults": 55989, + "FINITY": 55990, + "Race": 55991, + ":C": 55992, + "ĠRECORD": 55993, + "ĠHighlight": 55994, + "Ġ'`": 55995, + "Ġdeficits": 55996, + "Ġnei": 55997, + "Ġresearched": 55998, + "Ta": 55999, + "Ġcopp": 56000, + ".GetHashCode": 56001, + "):čĊčĊ": 56002, + "OnClick": 56003, + "ĠWellington": 56004, + "Ġrevival": 56005, + "æ¯Ķ": 56006, + "éĹ®": 56007, + "ĠNSS": 56008, + "Ġforn": 56009, + "Ġinté": 56010, + "ĠKuwait": 56011, + "_flip": 56012, + "_bo": 56013, + "_\\": 56014, + "Ġoccurrences": 56015, + "ĠScientists": 56016, + "SRC": 56017, + "ogens": 56018, + "igrant": 56019, + "REMOTE": 56020, + "ĠSID": 56021, + ".opts": 56022, + "uve": 56023, + "()])Ċ": 56024, + "Ġlibertarian": 56025, + "ĠGlide": 56026, + "lesen": 56027, + "Ġforme": 56028, + "owania": 56029, + "Ġannoyed": 56030, + "Defs": 56031, + "ĠExecutor": 56032, + "Ġcasts": 56033, + ".setChecked": 56034, + "ĠSharing": 56035, + ".SerializeObject": 56036, + "Ġselectors": 56037, + "_OTHER": 56038, + "미": 56039, + "(super": 56040, + "(OS": 56041, + "_VERIFY": 56042, + "idunt": 56043, + "';Ċ": 56045, + "Ġvidéo": 56046, + "ĠNegro": 56047, + "ĠLords": 56048, + "ĠTours": 56049, + "Ġsoftly": 56050, + ".receive": 56051, + "ĠERC": 56052, + "ĠdataSet": 56053, + "Badge": 56054, + "ĉEvent": 56055, + "Ġperl": 56056, + "Ġ{}\\": 56057, + "(sentence": 56058, + "OrUpdate": 56059, + "Ġdiminish": 56060, + "PIN": 56061, + "(draw": 56062, + ".ToDateTime": 56063, + ".EqualTo": 56064, + "(pin": 56065, + "-pencil": 56066, + "luent": 56067, + "ĠCaller": 56068, + "Ġplayful": 56069, + "-'+": 56070, + "xca": 56071, + "swick": 56072, + "){}Ċ": 56073, + "}:${": 56074, + "ĠMeth": 56075, + ".getCell": 56076, + ".break": 56077, + "Ġymax": 56078, + "='Ċ": 56291, + "ĠHiro": 56292, + "(TRUE": 56293, + "asurer": 56294, + "Ġcuer": 56295, + "Uber": 56296, + ".Operation": 56297, + "Ġolan": 56298, + "Ġthrilling": 56299, + "'.": 56321, + "ĉvalid": 56322, + "\"\",": 56323, + "Instrument": 56324, + ">J": 56325, + "Ġnostr": 56326, + "ĠRift": 56327, + "_Port": 56328, + "Ġveces": 56329, + "[['": 56330, + "Ġrallies": 56331, + "-series": 56332, + "Ġvv": 56333, + ".uc": 56334, + "Ġrtn": 56335, + "StateChanged": 56336, + "(ins": 56337, + "ĠCla": 56338, + "------------Ċ": 56339, + "cus": 56340, + "ĠReload": 56341, + "//------------------------------------------------------------------------------------------------": 56342, + ".seconds": 56343, + "_destination": 56344, + "Ġscrewed": 56345, + ">c": 56346, + "Thickness": 56347, + "Designer": 56348, + "Ġgrids": 56349, + "nÄħ": 56350, + "(cookie": 56351, + "Trip": 56352, + "-Mobile": 56353, + "Ġvoll": 56354, + "Ġgenital": 56355, + "Ġconfisc": 56356, + "ĠConfederate": 56357, + "ĠwebView": 56358, + "Ġmise": 56359, + "Ġcler": 56360, + "(selection": 56361, + "$date": 56362, + "Ġsharpen": 56363, + "ragen": 56364, + "AndUpdate": 56365, + "Ġremix": 56366, + "Ġhtons": 56367, + "RW": 56368, + "MPI": 56369, + "Ġretrieval": 56370, + "Ġrichest": 56371, + ".Decode": 56372, + ":initComponents": 56373, + "ĠTValue": 56374, + "Saint": 56375, + "@include": 56376, + "ĠPERSON": 56377, + ".sep": 56378, + "ĠLDAP": 56379, + "gba": 56380, + "ĠgroÃŁe": 56381, + "Ġreliably": 56382, + "ĠDFS": 56383, + ".getItemId": 56384, + "Ġprésent": 56385, + ".getToken": 56386, + "Ġchinese": 56387, + "ĠMeal": 56388, + "YOU": 56389, + "\">>ĊĊ": 56948, + "bower": 56949, + "Ġswapped": 56950, + "/install": 56951, + "Ġsinks": 56952, + "etrize": 56953, + "Ġdeclines": 56954, + "ĉmysql": 56955, + "ĠCString": 56956, + "ĠMotionEvent": 56957, + ".Language": 56958, + "Road": 56959, + "ÑĤеÑĢ": 56960, + "ascimento": 56961, + "'))->": 56962, + ".about": 56963, + "(editor": 56964, + "ĠRatings": 56965, + "income": 56966, + "Å¡e": 56967, + ".dequeueReusableCell": 56968, + "ĠAustrian": 56969, + "Ġsulla": 56970, + "ĠTribunal": 56971, + "ĠDidn": 56972, + "оваÑĢ": 56973, + "Ġinspections": 56974, + "Boss": 56975, + "Ġcocktails": 56976, + "Ġapologized": 56977, + "_subplot": 56978, + "opal": 56979, + "+=(": 56980, + "Ġresonance": 56981, + "ibu": 56982, + "Ġ리": 56983, + "roma": 56984, + "reserve": 56985, + "pls": 56986, + "ĠTah": 56987, + "axies": 56988, + "OPLE": 56989, + "ĠDarren": 56990, + "ĠZombie": 56991, + "_Map": 56992, + "Ġ])ĊĊ": 56993, + "ĠQi": 56994, + "ĠSail": 56995, + "Ġrestrictive": 56996, + "Ġerosion": 56997, + "-par": 56998, + "WHITE": 56999, + "Ġoldu": 57000, + "Ġaperture": 57001, + "Ġbitcoins": 57002, + "texto": 57003, + "ĠComcast": 57004, + "Ġtimeless": 57005, + "enkins": 57006, + "Ġfeeder": 57007, + "/tmp": 57008, + "resden": 57009, + "+'_": 57010, + ".Destroy": 57011, + "Ġçok": 57012, + "ĠDOCUMENT": 57013, + ".lng": 57014, + ".tagName": 57015, + "Ġkullan": 57016, + "egrate": 57017, + "Ġ(*.": 57018, + "ç¼ĸè¾ij": 57019, + "Ġhandshake": 57020, + "soc": 57021, + "_geometry": 57022, + "ĠDamascus": 57023, + "Minor": 57024, + "ĠKafka": 57025, + "ìŬ": 57026, + "Florida": 57027, + "_compute": 57028, + ".expr": 57029, + "Ġparalle": 57030, + "ĠDiaz": 57031, + "cir": 57032, + "[target": 57033, + "Ġjoking": 57034, + "Ġglor": 57035, + "(setq": 57036, + "_handlers": 57037, + "Hang": 57038, + "Ġferr": 57039, + "riminal": 57040, + "ĉĠĠĠĠĉĉ": 57041, + "enties": 57042, + "defines": 57043, + "-tax": 57044, + "jsonp": 57045, + "ĠUPS": 57046, + "metro": 57047, + "__;Ċ": 57048, + "ĠUganda": 57049, + "])):Ċ": 57050, + "_td": 57051, + "xae": 57052, + "lw": 57053, + ".OS": 57054, + "ĠLogged": 57055, + "acid": 57056, + "ĠMayo": 57057, + "aspect": 57058, + "Ġvaginal": 57059, + "Ġinitializing": 57060, + "Ġsteroids": 57061, + "fiction": 57062, + "GRE": 57063, + "gend": 57064, + "Ġliabilities": 57065, + "ĠLets": 57066, + "Mech": 57067, + "(nc": 57068, + "(change": 57069, + "Ġconnectors": 57070, + ":k": 57071, + "Ġtast": 57072, + "!\");ĊĊ": 57073, + "things": 57074, + "rophy": 57075, + "luetooth": 57076, + "ĠSignUp": 57077, + ".ctrl": 57078, + "Ġtherein": 57079, + "orda": 57080, + ".escape": 57081, + "igator": 57082, + "Ġpetrol": 57083, + "Ġspecimen": 57084, + "Ġdebuted": 57085, + "-Pro": 57086, + "Ġcrises": 57087, + ".addView": 57088, + "ëıĻ": 57089, + "-door": 57090, + "Ġmonet": 57091, + "Ġmillis": 57092, + "Ġvier": 57093, + "InternalEnumerator": 57094, + "Ġadmins": 57095, + "ĠLair": 57096, + "zin": 57097, + "getQuery": 57098, + "umbles": 57099, + "LIMIT": 57100, + "ĠVig": 57101, + "_song": 57102, + "": 57415, + "Ġpasado": 57416, + "thank": 57417, + "_Delete": 57418, + "ĠBrighton": 57419, + ",unsigned": 57420, + "ä½ľèĢħ": 57421, + "Ġaspirations": 57422, + "-how": 57423, + "Rose": 57424, + "=((": 57425, + "_needed": 57426, + "_plural": 57427, + ">ĊĊ": 57545, + "Ġsurfaced": 57546, + "ĠìłĢìŀ¥": 57547, + "platz": 57548, + "ĉemail": 57549, + "ceptors": 57550, + "\">(": 57551, + "Ġepile": 57552, + "读": 57553, + "ĠDebt": 57554, + "åijĬ": 57555, + "NOP": 57556, + "\"https": 57557, + ":j": 57558, + "FormItem": 57559, + "_LICENSE": 57560, + ".getDouble": 57561, + "ĠAgenda": 57562, + "ĉfinally": 57563, + "(filters": 57564, + "(av": 57565, + "ç¾İ": 57566, + "APER": 57567, + "Ġlava": 57568, + "еÑĢж": 57569, + "))))ĊĊ": 57570, + "Ġfaulty": 57571, + "_nm": 57572, + "Ġtrava": 57573, + "(Bitmap": 57574, + "Ġspeeding": 57575, + ">').": 57576, + "Ġscreened": 57577, + "_roll": 57578, + "ĠMacBook": 57579, + "ĠAUD": 57580, + "Ġdiagnose": 57581, + ".Generate": 57582, + "Ġ^^": 57583, + "Ġstrs": 57584, + "[Test": 57585, + "Ġransom": 57586, + "ĠDHCP": 57587, + "elden": 57588, + "Ġinterpretations": 57589, + "()].": 57590, + "flatMap": 57591, + "ĠlineHeight": 57592, + "_mount": 57593, + "ĠWizards": 57594, + "Ġsluts": 57595, + "ehler": 57596, + "odal": 57597, + "Ġmilitia": 57598, + "å²": 57599, + "earned": 57600, + "Ġmisery": 57601, + "intval": 57602, + "fund": 57603, + "Ġhides": 57604, + "Ġdiarr": 57605, + "ĠWesley": 57606, + "Ġxmm": 57607, + "Ġquem": 57608, + "ĠArabs": 57609, + "ifth": 57610, + "ategorized": 57611, + "Disposable": 57612, + "Pure": 57613, + "_NOTIFY": 57614, + "snippet": 57615, + "ĠGarrett": 57616, + ".running": 57617, + ".weights": 57618, + "Ġ(--": 57619, + "Ġinvariant": 57620, + "äºĭä»¶": 57621, + "ĠAllowed": 57622, + "dirs": 57623, + "Ġpassions": 57624, + "Ġlad": 57625, + "ĠFlush": 57626, + "menus": 57627, + ":block": 57628, + "Ġcompra": 57629, + ".chomp": 57630, + "allocator": 57631, + "Ġcurated": 57632, + "ĠKnowing": 57633, + "ĠPatterson": 57634, + "Ġtelah": 57635, + "'ex": 57636, + "Ġdoomed": 57637, + "Ġphilanth": 57638, + "otty": 57639, + ".styles": 57640, + "Owned": 57641, + "Ġallergies": 57642, + "=params": 57643, + "ocese": 57644, + "itelist": 57645, + "ĠSending": 57646, + "bef": 57647, + "orrar": 57648, + "ĠNão": 57649, + "ĠFargo": 57650, + "ĠLub": 57651, + "ĠCombined": 57652, + "_given": 57653, + "ĉĉĉĉĉĠĠĠĠ": 57654, + "Ġreconciliation": 57655, + "Patterns": 57656, + "azard": 57657, + "Ġbiomass": 57658, + "ĠHouses": 57659, + "respuesta": 57660, + "cco": 57661, + "/topics": 57662, + "ĠYuk": 57663, + "Ġweakened": 57664, + "_calendar": 57665, + "Ġmulheres": 57666, + "ĠMarl": 57667, + "Ġsine": 57668, + "ĠTil": 57669, + "ĠSouls": 57670, + "ĠDeutsche": 57671, + "ĠFOLLOW": 57672, + "Ġpipelines": 57673, + "ĠBeverly": 57674, + "_DIPSETTING": 57675, + "\"#": 57676, + "ĠProto": 57677, + ".big": 57678, + "ĠSavings": 57679, + "ĠTanz": 57680, + "jun": 57681, + "ĠGamma": 57682, + "ĠSadd": 57683, + "Ġadvisors": 57684, + "Ġroast": 57685, + "Ġunters": 57686, + "udies": 57687, + "_lon": 57688, + "-pointer": 57689, + "ĠElementRef": 57690, + "\\Builder": 57691, + "exampleInput": 57692, + ".webdriver": 57693, + "dataType": 57694, + "ĠQuite": 57695, + "ĠCeltics": 57696, + "uil": 57697, + "-defense": 57698, + "bish": 57699, + "ĠUIWindow": 57700, + "ĠSuddenly": 57701, + ".hot": 57702, + ".reason": 57703, + "Ġgör": 57704, + "AMD": 57705, + ".Multi": 57706, + "authenticated": 57707, + "regions": 57708, + ";(": 57709, + "аÑĢам": 57710, + "ĠKirby": 57711, + "$route": 57712, + "PRECATED": 57713, + "ĠDurham": 57714, + "owo": 57715, + "ĠPerforms": 57716, + "Ġdisregard": 57717, + "nst": 57718, + "ĠPols": 57719, + "ĠgetP": 57720, + "\"]:": 57721, + "-colored": 57722, + "(Keys": 57723, + "ĠAlleg": 57724, + "_modify": 57725, + "_loading": 57726, + "strained": 57727, + "Ġatroc": 57728, + "_phr": 57729, + "": 58721, + "ceph": 58722, + ".DateTimePicker": 58723, + ".\";ĊĊ": 58724, + "ĠTie": 58725, + ",item": 58726, + "Ġmenn": 58727, + "Gas": 58728, + "ocha": 58729, + "_virtual": 58730, + "Ġmasterpiece": 58731, + "_sequences": 58732, + "LTE": 58733, + "ĠSubmission": 58734, + "Caller": 58735, + "$\\": 58736, + "Sport": 58737, + "agus": 58738, + "ConstraintMaker": 58739, + "Ġcoloc": 58740, + "Ġwig": 58741, + "ĠУ": 58742, + "ĉArray": 58743, + "Looks": 58744, + "ĠGTA": 58745, + ".steps": 58746, + "atchewan": 58747, + "_ranges": 58748, + "extAlignment": 58749, + "ĠBrennan": 58750, + "Ġabstraction": 58751, + "ulerAngles": 58752, + ".misc": 58753, + "Ġantibodies": 58754, + "Ġexponential": 58755, + "ĠCHANNEL": 58756, + "expense": 58757, + "'y": 58758, + "Ġdetectives": 58759, + "Ġpurported": 58760, + "YSTEM": 58761, + "Ġradioactive": 58762, + "ĠLatina": 58763, + ".Encoding": 58764, + ".TAG": 58765, + "xin": 58766, + "Degree": 58767, + "uracion": 58768, + "prices": 58769, + "ĠReferentialAction": 58770, + "Ġrarity": 58771, + "Ġpiles": 58772, + "gende": 58773, + "_projects": 58774, + "_globals": 58775, + ".startTime": 58776, + "Ġ구": 58777, + "SECTION": 58778, + "_publish": 58779, + "Fault": 58780, + "DDL": 58781, + "_prior": 58782, + "Mom": 58783, + "Ġthicker": 58784, + "Ġsequelize": 58785, + "Ġessentials": 58786, + "stras": 58787, + "intr": 58788, + ">(()": 58789, + ".management": 58790, + "eil": 58791, + "éĹŃ": 58792, + "Aware": 58793, + ".City": 58794, + "ĠArbit": 58795, + "_DM": 58796, + "_keyboard": 58797, + "LObject": 58798, + "-webpack": 58799, + "ĠNewport": 58800, + "ĠprincipalColumn": 58801, + "legant": 58802, + "Ġpallet": 58803, + "Ġfracture": 58804, + "Ġgmail": 58805, + ".Meta": 58806, + "Above": 58807, + ".KeyEvent": 58808, + "jit": 58809, + "_macro": 58810, + "_PUSH": 58811, + "ứ": 58812, + "/controller": 58813, + "åĬłè½½": 58814, + "Ġsuperficial": 58815, + "exterity": 58816, + "Ġmensagem": 58817, + "Wind": 58818, + "iston": 58819, + ".openapi": 58820, + "иÑĢов": 58821, + "ĠSerializer": 58822, + "uctive": 58823, + "Ġzar": 58824, + "Places": 58825, + ".Static": 58826, + "Ba": 58827, + "Ġinadvert": 58828, + "ĠIndonesian": 58829, + "_IPV": 58830, + "(horizontal": 58831, + "ĠgetTitle": 58832, + "idepress": 58833, + "ĠConsoleColor": 58834, + "ipers": 58835, + "$out": 58836, + "Ġfestive": 58837, + "Ġevenings": 58838, + ".GetData": 58839, + "uitka": 58840, + "ĠManuals": 58841, + "ussed": 58842, + "_Max": 58843, + ".Chat": 58844, + "ĠAircraft": 58845, + "=com": 58846, + "FOUND": 58847, + "apro": 58848, + "Ġtreasures": 58849, + "_alive": 58850, + "Ġgadget": 58851, + "eking": 58852, + "ButtonDown": 58853, + "Browsable": 58854, + ".PERMISSION": 58855, + "PASSWORD": 58856, + "ĠHASH": 58857, + "fé": 58858, + "\\TestCase": 58859, + "LOSS": 58860, + "others": 58861, + ",J": 58862, + "Ġasshole": 58863, + "werk": 58864, + "Ġmã": 58865, + ".ie": 58866, + "evil": 58867, + "kontakte": 58868, + "////////////////////////////////////////////////////////////////////////////////Ċ": 58869, + "=sys": 58870, + "ĉlock": 58871, + "--;ĊĊ": 58872, + "_FUN": 58873, + "FillColor": 58874, + "óa": 58875, + "prend": 58876, + "Ġcompressor": 58877, + "Mother": 58878, + "ĠArcher": 58879, + ".goto": 58880, + "Ġwürde": 58881, + "Ġbamboo": 58882, + "ï¼İ": 58883, + "ĠTrees": 58884, + "Ġbumper": 58885, + "Ġsausage": 58886, + "ĠElasticsearch": 58887, + "Ġhorizontally": 58888, + "ĠGul": 58889, + "Immutable": 58890, + "Ġloser": 58891, + "Ġaborted": 58892, + "-demo": 58893, + "ĠHatch": 58894, + "Ġunde": 58895, + "Ġprocesso": 58896, + "-call": 58897, + "Income": 58898, + "åĥ": 58899, + "_returns": 58900, + "'].\"'": 58901, + "(sw": 58902, + "CBS": 58903, + "amilies": 58904, + "ĠYourself": 58905, + "ĠHolt": 58906, + ".MON": 58907, + "à§ĩ": 58908, + "ÑĪе": 58909, + "anon": 58910, + "ĠFontAwesome": 58911, + "producer": 58912, + "jr": 58913, + "Ġmau": 58914, + "ĉinter": 58915, + "Ġdishonest": 58916, + "Ġmagna": 58917, + "ĠCollective": 58918, + "Ġvraiment": 58919, + "Ġchoix": 58920, + "stay": 58921, + "Ġwelding": 58922, + "rising": 58923, + ",min": 58924, + "ĠFate": 58925, + "glob": 58926, + "RGBA": 58927, + "Ġdette": 58928, + "Ven": 58929, + "Ġembarrassment": 58930, + ".DELETE": 58931, + "gregar": 58932, + "-render": 58933, + "(bucket": 58934, + "\">ĊĊĊ": 58935, + ".waitKey": 58936, + "Busy": 58937, + "Ġdifferentiation": 58938, + "ĠCST": 58939, + ".Constant": 58940, + "ĠlineNumber": 58941, + "(matches": 58942, + "Ġwebsocket": 58943, + "Ġbarred": 58944, + "Ġpuedes": 58945, + "Mono": 58946, + "CORE": 58947, + "IID": 58948, + "ĠĠĠĠčĊčĊ": 58949, + "Ġpúblico": 58950, + "leaning": 58951, + "Ġcleansing": 58952, + "Ġcris": 58953, + "ĠDevils": 58954, + "_SETTING": 58955, + "untary": 58956, + ".);Ċ": 58957, + "ĊĠĠĠĊ": 58958, + "[curr": 58959, + "tsy": 58960, + "ĠAlexis": 58961, + "ritel": 58962, + "Ġpetroleum": 58963, + ".preprocessing": 58964, + "matter": 58965, + "ForResult": 58966, + "-license": 58967, + "Ġtravellers": 58968, + "ĠDispatcher": 58969, + "ennifer": 58970, + "Ġdigestive": 58971, + "PED": 58972, + "hibition": 58973, + "MASConstraintMaker": 58974, + "ĠWatt": 58975, + "Benef": 58976, + ".setView": 58977, + "dto": 58978, + "TEE": 58979, + "ĠPelosi": 58980, + "_EXTRA": 58981, + "Ġmedals": 58982, + "xhr": 58983, + "forecast": 58984, + "Ġnargin": 58985, + "ouns": 58986, + "-fill": 58987, + "_CURSOR": 58988, + "Ġsupervised": 58989, + "Ġturf": 58990, + "ĠEdgar": 58991, + "POSITION": 58992, + "ĠcategoryId": 58993, + "âī": 58994, + "_ER": 58995, + "á»§a": 58996, + "Shown": 58997, + ".ll": 58998, + "_POLICY": 58999, + "(),'": 59000, + "ĠPrev": 59001, + "ĠStringField": 59002, + "ĉGlobal": 59003, + "assed": 59004, + "Throughout": 59005, + "ostringstream": 59006, + ".awtextra": 59007, + "Ġslopes": 59008, + "ĠSequential": 59009, + "Ġgiorn": 59010, + "Ġzelf": 59011, + "Ġversatility": 59012, + "leneck": 59013, + ".cgi": 59014, + "Ġdoubling": 59015, + "ĠBangkok": 59016, + "Ġbuurt": 59017, + "Ġusuário": 59018, + "studio": 59019, + "Ġjeunes": 59020, + "Ġmuted": 59021, + "Ġips": 59022, + "_fraction": 59023, + "&&(": 59024, + "Ġstunt": 59025, + "');?>čĊ": 59049, + "Ġevapor": 59050, + "bable": 59051, + "ĠPRICE": 59052, + "Ġæ³": 59053, + "lucent": 59054, + "Ġvamp": 59055, + "ĠTechnician": 59056, + "Ġuniqueness": 59057, + "Mes": 59058, + "urban": 59059, + ".parametrize": 59060, + "ĠReplay": 59061, + "Sessions": 59062, + "embr": 59063, + "-Americans": 59064, + "_PROXY": 59065, + "Ġpian": 59066, + "Ġtrie": 59067, + "ĠDestructor": 59068, + "GameState": 59069, + "ĠIMF": 59070, + "chin": 59071, + "Ġporte": 59072, + "ĠSwal": 59073, + "åŁİ": 59074, + "Substring": 59075, + "iming": 59076, + "/Library": 59077, + "Ġfrightened": 59078, + "writes": 59079, + "Ġrecursos": 59080, + "arResult": 59081, + "_INITIALIZ": 59082, + "ĠBadge": 59083, + "_crc": 59084, + "Eight": 59085, + "ĠDISTINCT": 59086, + "Ġthro": 59087, + "@Xml": 59088, + "ĠLegendary": 59089, + "-twitter": 59090, + "_easy": 59091, + "Ġ+++": 59092, + "(DATA": 59093, + ".Locale": 59094, + "Ġkä": 59095, + "Ġnurt": 59096, + "Ġcruis": 59097, + "_ios": 59098, + "Ġsensing": 59099, + "_Line": 59100, + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ": 59101, + "pong": 59102, + "oleon": 59103, + "Ġwildcard": 59104, + "ç͍æĪ·åIJį": 59105, + "Ġbegging": 59106, + "Rod": 59107, + "ĠÃİ": 59108, + "_CELL": 59109, + "Researchers": 59110, + ".selector": 59111, + "_ing": 59112, + "Ġaspiring": 59113, + "Ġimmortal": 59114, + "Ġymin": 59115, + "_robot": 59116, + "Ġplur": 59117, + "BTC": 59118, + "ĠDID": 59119, + "Ġpiercing": 59120, + "*u": 59121, + "_DEFINED": 59122, + "ĠThi": 59123, + "itaire": 59124, + "(media": 59125, + "-ons": 59126, + "Ġchefs": 59127, + "Ġ\"*.": 59128, + "/AP": 59129, + "Ġrazor": 59130, + "ĠsearchData": 59131, + "Ġ=&": 59132, + "ĠãĢĤ": 59133, + "Ġmourn": 59134, + "tingham": 59135, + "Ġoli": 59136, + "ĠVernon": 59137, + "_RS": 59138, + "ŀæĢ§": 59139, + "Ġfácil": 59140, + "angen": 59141, + "celain": 59142, + "Ġail": 59143, + "lest": 59144, + "ĠQCOMPARE": 59145, + "gain": 59146, + "Ġε": 59147, + "ĠKob": 59148, + "ĠFault": 59149, + "_configs": 59150, + "ç»ĵæŀľ": 59151, + ".+": 59152, + "calar": 59153, + "(colors": 59154, + "Mul": 59155, + "_ART": 59156, + "Ġexperimenting": 59157, + "ermen": 59158, + "ĠAnglo": 59159, + ".FixedSingle": 59160, + "Sea": 59161, + "Ġctxt": 59162, + ".slider": 59163, + "Collapse": 59164, + "Grey": 59165, + "Ġfld": 59166, + "-proof": 59167, + ".capacity": 59168, + "getParent": 59169, + "ĠCompliance": 59170, + "Ġburgl": 59171, + "-rec": 59172, + "Ġoverwritten": 59173, + "MU": 59174, + "Ġrouters": 59175, + "ĉModel": 59176, + "Ġfantasies": 59177, + "avian": 59178, + "_prec": 59179, + "ĠScandin": 59180, + "Ġ//<": 59181, + "/oct": 59182, + "Ġceremonies": 59183, + "Months": 59184, + "undy": 59185, + "Ġqued": 59186, + "ĠNou": 59187, + "ĠVibr": 59188, + ".rgb": 59189, + "Ġcitrus": 59190, + "Ġbraces": 59191, + "-uppercase": 59192, + "getTable": 59193, + "Ġdopo": 59194, + "ĠKerr": 59195, + "_CHILD": 59196, + "-cloud": 59197, + "ĉMatrix": 59198, + "Ġgardening": 59199, + "Sing": 59200, + "almost": 59201, + "Requirements": 59202, + "uguay": 59203, + "(Property": 59204, + "subscriber": 59205, + "FAST": 59206, + "reaction": 59207, + "(lp": 59208, + ")})Ċ": 59209, + "`).": 59210, + ".wallet": 59211, + "_exchange": 59212, + ".Maximum": 59213, + "ĠVerb": 59214, + "âĶģ": 59215, + "()<": 59216, + "ï¼ĽĊ": 59217, + "ROT": 59218, + "CARD": 59219, + "ubit": 59220, + "{@": 59221, + "_kel": 59222, + "ĠTooltip": 59223, + "MySQL": 59224, + "MainActivity": 59225, + "arf": 59226, + "Ġmalign": 59227, + "Ġseinen": 59228, + "apist": 59229, + "Ġ<%": 59230, + "MethodImpl": 59231, + "Mil": 59232, + "ĠMick": 59233, + ".depend": 59234, + ">&": 59267, + "ĉok": 59268, + "-low": 59269, + ".usuario": 59270, + "nested": 59271, + "XB": 59272, + "OURS": 59273, + ".BorderColor": 59274, + "Ġbrow": 59275, + "ĠÐķ": 59276, + "corr": 59277, + "ĠRedskins": 59278, + ".getTag": 59279, + ".getTransaction": 59280, + "Ġstigma": 59281, + "hardt": 59282, + "ĠPlayerPrefs": 59283, + "alsy": 59284, + "ucson": 59285, + "Languages": 59286, + "ĠOlivia": 59287, + "Ġtac": 59288, + "Ġbli": 59289, + "Ġcaval": 59290, + "Ġconsolidated": 59291, + "Ġperil": 59292, + "Ġdele": 59293, + "Ġformulated": 59294, + "Ġhighways": 59295, + ".spawn": 59296, + "==$": 59297, + "ĠNiet": 59298, + "Ġveggies": 59299, + "ypo": 59300, + "-rule": 59301, + "ĠVie": 59302, + "/epl": 59303, + "Ġenfants": 59304, + "stringLiteral": 59305, + "Ġtoughest": 59306, + "buyer": 59307, + "Ġcovariance": 59308, + "Ġili": 59309, + "ĠSophie": 59310, + "ĠBAB": 59311, + "Ġ\"),": 59312, + "ĠUk": 59313, + "currentIndex": 59314, + "_userdata": 59315, + ".codec": 59316, + "ĠPunjab": 59317, + "ĠSNP": 59318, + "lol": 59319, + "advance": 59320, + "Ġcomfy": 59321, + "JsonIgnore": 59322, + "Ġfashionable": 59323, + "ĠICON": 59324, + "Ġora": 59325, + "ĠPricing": 59326, + "E": 59384, + "tering": 59385, + "/screens": 59386, + "Ġheightened": 59387, + "аÑĢÑĤ": 59388, + "Authorities": 59389, + "_bbox": 59390, + "ünst": 59391, + ".fontSize": 59392, + "ĠBOOLEAN": 59393, + "divide": 59394, + "ĠSloven": 59395, + "ucer": 59396, + "ÙĴ": 59397, + "stub": 59398, + "Ġnavigating": 59399, + ":animated": 59400, + "_NOW": 59401, + "_vect": 59402, + "}{Ċ": 59403, + "@(": 59404, + "Ġtelecom": 59405, + "Ġcontracting": 59406, + "ĠAssange": 59407, + "Ġextracting": 59408, + "Ġgrö": 59409, + "cobra": 59410, + ".DIS": 59411, + "Ġcrab": 59412, + "Ġtwitch": 59413, + "Ġverts": 59414, + "Ġrejects": 59415, + "ĉformat": 59416, + "Ġregeneration": 59417, + ".Sys": 59418, + "solve": 59419, + "ĉdialog": 59420, + "shi": 59421, + "meter": 59422, + "(best": 59423, + "validators": 59424, + "Ġonwards": 59425, + "Ġguru": 59426, + "Ġmoderator": 59427, + "owied": 59428, + "experiment": 59429, + "rub": 59430, + "Ġmqtt": 59431, + "ĠCaucas": 59432, + "Ġnationalism": 59433, + "Ġmange": 59434, + "ĉImGui": 59435, + "/Edit": 59436, + "Ġinh": 59437, + "Ġintellig": 59438, + "erokee": 59439, + "ĉexport": 59440, + "Ġdiscriminate": 59441, + "subtract": 59442, + "ĠMoodle": 59443, + "enser": 59444, + "ĠGuides": 59445, + "RAP": 59446, + "-hot": 59447, + "_grp": 59448, + ".picture": 59449, + "XA": 59450, + "ĠinitView": 59451, + "_Comm": 59452, + "Ġoverdose": 59453, + "Ġ+ĊĊ": 59454, + "ĠSilent": 59455, + "shows": 59456, + "Ġinterpolate": 59457, + "Formation": 59458, + "Ġbisc": 59459, + "markets": 59460, + "(SC": 59461, + "Ze": 59462, + "ĠNetworking": 59463, + "Ġadrenal": 59464, + "ĠGuns": 59465, + "eteor": 59466, + "Declared": 59467, + "orgetown": 59468, + "Ġkarena": 59469, + "/password": 59470, + "_addresses": 59471, + "ITERAL": 59472, + "Buzz": 59473, + "ĠConway": 59474, + "(case": 59475, + "PWD": 59476, + "heiro": 59477, + "(act": 59478, + "**čĊ": 59479, + "());ĊĊĊ": 59480, + "Ġanv": 59481, + "Ġ..ĊĊ": 59482, + "(MenuItem": 59483, + "(mail": 59484, + "_sections": 59485, + "ĉnet": 59486, + "Ġplut": 59487, + "Ġwrench": 59488, + "/object": 59489, + "ĠIst": 59490, + "ĠVIS": 59491, + "/pub": 59492, + "alten": 59493, + "Ġguitars": 59494, + "Ġantibiotic": 59495, + "ï¼ĸ": 59496, + "¹": 59497, + "Ġ\"+\"": 59498, + "formula": 59499, + "Ġbabes": 59500, + "ĠPrompt": 59501, + "Ġenim": 59502, + "/player": 59503, + "ĉref": 59504, + "ĠbyÄĩ": 59505, + "Ġconsumes": 59506, + "ĠHast": 59507, + "ĠTao": 59508, + "Ġ'))Ċ": 59509, + "Ġclam": 59510, + "Ġthighs": 59511, + "Ġmotif": 59512, + "ApiOperation": 59513, + "ĠWL": 59514, + "getC": 59515, + "ĉflags": 59516, + "ointments": 59517, + "Ġeconomical": 59518, + "needle": 59519, + "xls": 59520, + "practice": 59521, + "utzer": 59522, + "timeofday": 59523, + "-output": 59524, + "ĠfindById": 59525, + "ĠBuddy": 59526, + "ÐŀÑĤ": 59527, + "Seven": 59528, + "ĠBark": 59529, + "Ġenvoy": 59530, + "_algorithm": 59531, + "åĪ©": 59532, + "Ġballistic": 59533, + "ç§»": 59534, + "rades": 59535, + "ĉdoc": 59536, + "roducing": 59537, + "ĠEating": 59538, + "Unmount": 59539, + "/dataTables": 59540, + "_bonus": 59541, + "Ġlitt": 59542, + "pps": 59543, + ")localObject": 59544, + "perf": 59545, + "ĠHelvetica": 59546, + "shutdown": 59547, + "/ml": 59548, + ".tokens": 59549, + "ĠHardcore": 59550, + ",row": 59551, + "/bg": 59552, + "Scaler": 59553, + "âĢĶas": 59554, + "_logits": 59555, + "âĢĻint": 59556, + "ĉApp": 59557, + "Implicit": 59558, + ".Fprintf": 59559, + "ETO": 59560, + "Ġterra": 59561, + "Ġpossessing": 59562, + ".rstrip": 59563, + ",),": 59564, + "=yes": 59565, + "ĠStripe": 59566, + "?=": 59567, + "neutral": 59568, + ".good": 59569, + "Ġkennen": 59570, + "ĠSung": 59571, + "fault": 59572, + "ystatechange": 59573, + "Canadian": 59574, + "','\".$": 59575, + "ĠMits": 59576, + "ænd": 59577, + "ĠSTRUCT": 59578, + "ĠURLWithString": 59579, + "ĠCompass": 59580, + "Ġ--ĊĊ": 59581, + "ĠNSLayoutConstraint": 59582, + "|min": 59583, + "-adjust": 59584, + "Ġrebuilt": 59585, + "LIGHT": 59586, + "/se": 59587, + "-mount": 59588, + "vpn": 59589, + "validated": 59590, + "(QObject": 59591, + "Ġignition": 59592, + "ĠChargers": 59593, + "RYPTO": 59594, + "]initWithFrame": 59595, + "ĠFluid": 59596, + "Ġcadre": 59597, + "Ġnominations": 59598, + "Neill": 59599, + "ĠHou": 59600, + "Ġcurrents": 59601, + "_gene": 59602, + "(inp": 59603, + "Paris": 59604, + "zÄĻ": 59605, + "aggregate": 59606, + "Ġassoc": 59607, + "weeted": 59608, + "errat": 59609, + "âĢĵĊĊ": 59610, + "Ġ'/',Ċ": 59611, + "fixture": 59612, + "ĠHighest": 59613, + "ambient": 59614, + "Ġchmod": 59615, + "Ġconte": 59616, + "Ġsensual": 59617, + "Ġgarment": 59618, + "zers": 59619, + "ĠPowered": 59620, + "domains": 59621, + "Reward": 59622, + "iomanip": 59623, + "Ġcockpit": 59624, + "outfile": 59625, + "Ġbuiltin": 59626, + "Ġinsisting": 59627, + ".vars": 59628, + "zipcode": 59629, + "Ġ����": 59630, + "fails": 59631, + "Ġconsolidation": 59632, + "_oid": 59633, + "Planet": 59634, + "Ġ=\",": 59635, + "ĉel": 59636, + "UILT": 59637, + "ätz": 59638, + "afari": 59639, + "ĠMcCl": 59640, + "Timeline": 59641, + "Esta": 59642, + "Ġfram": 59643, + "YE": 59644, + "Ġcerebral": 59645, + "OfMonth": 59646, + "ĠPregn": 59647, + "ĠклаÑģÑģ": 59648, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ": 59649, + "ĠFres": 59650, + "Approved": 59651, + ".Special": 59652, + "ĠProtestant": 59653, + "Ġallergy": 59654, + "_pcm": 59655, + "ĉCopyright": 59656, + "ĠsuperClass": 59657, + "\"strconv": 59658, + "ĠMohamed": 59659, + "Ġ'//": 59660, + "ForeColor": 59661, + "Arthur": 59662, + "ĠJungle": 59663, + "Ġveins": 59664, + "Sad": 59665, + "Ġbackups": 59666, + "ĠOpinion": 59667, + "ût": 59668, + "Ġintermitt": 59669, + "odyn": 59670, + "ĠChristina": 59671, + "Ġandre": 59672, + "Ġevacuation": 59673, + "palette": 59674, + "horse": 59675, + "ĠResident": 59676, + "ĠHassan": 59677, + ".Nil": 59678, + "Ġaisle": 59679, + "ĠGrowing": 59680, + "Ġbloginfo": 59681, + "/sql": 59682, + "_ioctl": 59683, + "Scaling": 59684, + "ĠMonad": 59685, + "_cpp": 59686, + "ĠHutch": 59687, + "ĠAppleWebKit": 59688, + "Expense": 59689, + "_JOB": 59690, + "Ġpointless": 59691, + "FromBody": 59692, + "antal": 59693, + "Ġdepicting": 59694, + "ĠCELL": 59695, + "Ġrefin": 59696, + "ĠCNC": 59697, + "ì¹ĺ": 59698, + "_dimensions": 59699, + "ĠSAN": 59700, + "Ġaft": 59701, + "Ġfootsteps": 59702, + "ccoli": 59703, + "_PHONE": 59704, + "/math": 59705, + "-kind": 59706, + "ĠMeans": 59707, + "ichael": 59708, + ".guna": 59709, + "Ġinauguration": 59710, + "-driving": 59711, + "(delete": 59712, + "ĠtotalCount": 59713, + "_MC": 59714, + ".Extension": 59715, + "Commercial": 59716, + "ĠzIndex": 59717, + "$": 59849, + "Ġebay": 59850, + "Ġcaptive": 59851, + "pliant": 59852, + "ĠCalculates": 59853, + "olta": 59854, + "esting": 59855, + "_revision": 59856, + "Ġmús": 59857, + "+m": 59858, + "\",\"\",\"": 59859, + "WHAT": 59860, + "Ġcompassionate": 59861, + "harga": 59862, + "[random": 59863, + "Ġmodulo": 59864, + "(sn": 59865, + "Ġoccupations": 59866, + "////Ċ": 59867, + "ĉboard": 59868, + "ĠBalk": 59869, + "wiÄħ": 59870, + "ĠWifi": 59871, + ".Profile": 59872, + ":maj": 59873, + "ĉmat": 59874, + "LOCKS": 59875, + "(jButton": 59876, + "Ġ('$": 59877, + "Mur": 59878, + "æĮī": 59879, + "bble": 59880, + "Ġfrog": 59881, + "-hide": 59882, + "Ġbroadcaster": 59883, + "à¸ŀ": 59884, + "haled": 59885, + "Ġamusing": 59886, + "_predictions": 59887, + "_intr": 59888, + "Ġeagle": 59889, + "аÑĤелÑĮ": 59890, + "ĠgetList": 59891, + "psilon": 59892, + "Ġcharacterization": 59893, + "ARDS": 59894, + "Ġrelocation": 59895, + "Ġrulers": 59896, + "PAY": 59897, + "ĠDefinitely": 59898, + "_Action": 59899, + "Ġclosures": 59900, + "Ġfactual": 59901, + "odynamic": 59902, + "Ġprecautions": 59903, + "niej": 59904, + "ĠParties": 59905, + "ĠSubaru": 59906, + "Ġcousins": 59907, + "arbeit": 59908, + ".money": 59909, + "gunta": 59910, + "(and": 59911, + "getitem": 59912, + ".StylePriority": 59913, + "Ġslid": 59914, + "singleton": 59915, + "Ġgarn": 59916, + "ĠPAS": 59917, + "Ġdazz": 59918, + "aż": 59919, + "Ġbogus": 59920, + "ĠMog": 59921, + "Ġrivalry": 59922, + "isol": 59923, + "Ġlandmarks": 59924, + "ñas": 59925, + "Bern": 59926, + "ĠSachs": 59927, + "Ġ\")ĊĊ": 59928, + "Ġhostility": 59929, + "_mex": 59930, + "mere": 59931, + "Mot": 59932, + "pictureBox": 59933, + "Defense": 59934, + "Ġaffidavit": 59935, + "otherwise": 59936, + ".directory": 59937, + "_UnityEngine": 59938, + "-blog": 59939, + ".skin": 59940, + "phem": 59941, + "Apellido": 59942, + "erchant": 59943, + "[class": 59944, + "Ġwart": 59945, + ".\"[": 59946, + "aleur": 59947, + "/back": 59948, + "ĠĠĠĠĉĠĠĠ": 59949, + "Ġprecipitation": 59950, + "Ġobstruction": 59951, + "ĠpObj": 59952, + "Ġrupt": 59953, + "UCKET": 59954, + "aye": 59955, + "æİĴ": 59956, + "gx": 59957, + "Ġecl": 59958, + "Ġsecrecy": 59959, + "/Header": 59960, + "ĠLesb": 59961, + "Ġlei": 59962, + "ĠBulletin": 59963, + "Ġgiveaway": 59964, + ".Home": 59965, + "_ROOM": 59966, + "\"W": 59967, + "Ġcowork": 59968, + "_ra": 59969, + "ĠCycling": 59970, + "ĠPaw": 59971, + "Ġpupil": 59972, + "/arch": 59973, + "ĠFileUtils": 59974, + "é¦ĸ": 59975, + "rsp": 59976, + "Ġfreedoms": 59977, + "ĠLear": 59978, + "}`).": 59979, + "Ġbowls": 59980, + "/block": 59981, + "_logging": 59982, + "Ġmethane": 59983, + "Ġhorns": 59984, + "Ġwonderfully": 59985, + "Ġalterations": 59986, + "Ġexile": 59987, + "lsen": 59988, + "_pause": 59989, + "_LANGUAGE": 59990, + "ĠUSDA": 59991, + "_mysql": 59992, + "_AMOUNT": 59993, + "ĠLIFE": 59994, + "Ġyoungsters": 59995, + "Ġriots": 59996, + "[E": 59997, + "Ġunforgettable": 59998, + ",},Ċ": 59999, + "Disposed": 60000, + "ĠAssassin": 60001, + "UNG": 60002, + "ĠNewsp": 60003, + "UserService": 60004, + ":aload": 60005, + "+',": 60006, + "Ġsettlers": 60007, + "Ġscreams": 60008, + "Ġinconvenience": 60009, + ".Rotate": 60010, + "Ġjars": 60011, + "ĠPuzzle": 60012, + "Ġmest": 60013, + "arsi": 60014, + "ĠSharma": 60015, + "|(": 60016, + ".ds": 60017, + "ĠSacred": 60018, + "_evt": 60019, + "Ġexpresses": 60020, + "Ġhoch": 60021, + "ĠDuch": 60022, + ".calls": 60023, + "thr": 60024, + "ĠSheffield": 60025, + ".AlertDialog": 60026, + "Ġradically": 60027, + "Ġtrous": 60028, + "Ġprevailing": 60029, + "ĠWWII": 60030, + "âĢĻn": 60031, + "ensely": 60032, + "ĠYesterday": 60033, + "ĠSirius": 60034, + "Ġkillers": 60035, + "ĠFFT": 60036, + "Ġoval": 60037, + "'):čĊ": 60038, + "Ġìłķë³´": 60039, + "ourage": 60040, + "ĠCheckbox": 60041, + "Workbook": 60042, + ".defer": 60043, + "_floor": 60044, + "Ġcouncill": 60045, + "Ġnorske": 60046, + "moil": 60047, + "orea": 60048, + "Ġmarketed": 60049, + "_SUR": 60050, + "xAA": 60051, + "Ġstained": 60052, + "eut": 60053, + "ĠMeng": 60054, + "Ġieee": 60055, + ".extern": 60056, + "egie": 60057, + "Ġrapp": 60058, + "ĠPyongyang": 60059, + "'class": 60060, + "Mob": 60061, + "ĠinitialValue": 60062, + "_wave": 60063, + "Ġjab": 60064, + "Ġmasculine": 60065, + "Ġamplifier": 60066, + "Ġtty": 60067, + "PathComponent": 60068, + "_xt": 60069, + "ĠGFP": 60070, + "/sec": 60071, + "ĉdispatch": 60072, + "markdown": 60073, + "ĠSchn": 60074, + "bole": 60075, + "··": 60076, + "mousemove": 60077, + "ĠerrMsg": 60078, + "Ġasign": 60079, + "_mono": 60080, + "ToSelector": 60081, + "ĠZu": 60082, + "(Rect": 60083, + "ĠErrorCode": 60084, + "latin": 60085, + "angible": 60086, + "vtk": 60087, + "CGSize": 60088, + "Pokemon": 60089, + "Ġclassmates": 60090, + "Ġattracts": 60091, + "ĠTatto": 60092, + "ultan": 60093, + "ológ": 60094, + "Ġhalted": 60095, + "न": 60096, + "ĠKart": 60097, + "Ġue": 60098, + "_InitStructure": 60099, + "TestClass": 60100, + "ĠAirbnb": 60101, + "_\",": 60102, + "Ġcharcoal": 60103, + "Ġipc": 60104, + "ĠStretch": 60105, + ".glide": 60106, + "latesAutoresizingMaskIntoConstraints": 60107, + "Ġpotion": 60108, + "ITTLE": 60109, + "Ġcountert": 60110, + "_hd": 60111, + "prepared": 60112, + "Ads": 60113, + "ĠVampire": 60114, + "robots": 60115, + ".CreateIndex": 60116, + "StatusLabel": 60117, + "Ġtucked": 60118, + "afür": 60119, + "Ut": 60120, + "Ġsweater": 60121, + "_FN": 60122, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĉ": 60123, + "ataka": 60124, + "Ġeyebrows": 60125, + "acoes": 60126, + "uden": 60127, + ".LinearLayoutManager": 60128, + "Ġsway": 60129, + "Ġmultin": 60130, + "())))Ċ": 60131, + "ĠNSUInteger": 60132, + "ĠMyBase": 60133, + "Partner": 60134, + "utschen": 60135, + "ĠCater": 60136, + ".setBackgroundColor": 60137, + "Ġaccomplishment": 60138, + "_problem": 60139, + ".dtd": 60140, + "ĠpageNumber": 60141, + "Ġjackets": 60142, + "Ġcropped": 60143, + "uels": 60144, + "ĠHep": 60145, + "Ġcapped": 60146, + "*Math": 60147, + "_callbacks": 60148, + "Ġpubb": 60149, + "ĠBrunswick": 60150, + ".respond": 60151, + "[\"_": 60152, + "Ġbedding": 60153, + "hythm": 60154, + "OX": 60155, + "(speed": 60156, + "Ġpesticides": 60157, + "Ġ-------": 60158, + ".Blue": 60159, + "Ġnoodles": 60160, + "ĠGoes": 60161, + "Ġsaver": 60162, + "oxy": 60163, + "_completion": 60164, + "ĠSwinger": 60165, + "ĠgetDate": 60166, + "Ġminded": 60167, + "integration": 60168, + "ĠLotus": 60169, + "(stop": 60170, + "(',');Ċ": 60171, + "Ġfloods": 60172, + "ĠWorkflow": 60173, + "Ġerupted": 60174, + "Macro": 60175, + "ĠSauce": 60176, + "ĠeventName": 60177, + "\\Input": 60178, + "Breaking": 60179, + "ĉwhen": 60180, + "_pw": 60181, + "INDER": 60182, + "ĠWellness": 60183, + "Ġvoxel": 60184, + "ĠMell": 60185, + "ĠMEDIA": 60186, + "SENS": 60187, + "ĠFunds": 60188, + "ĠMild": 60189, + "Ċ": 60198, + "Ġtempting": 60199, + "Ġtestament": 60200, + "Ġbible": 60201, + "Ġconsulted": 60202, + "ĠIndexError": 60203, + "è¨ĺ": 60204, + "Ġkeypad": 60205, + "izzo": 60206, + "(ok": 60207, + "Ġwhatsapp": 60208, + "ĠRemoteException": 60209, + "Ġteamed": 60210, + "âĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶ": 60211, + "»,": 60212, + "ĠgetTime": 60213, + "diag": 60214, + "issy": 60215, + "Ġhed": 60216, + "Ġknots": 60217, + "jom": 60218, + "Ġfunnel": 60219, + "-mails": 60220, + "Ġexporting": 60221, + "ĠVL": 60222, + "ĠKarn": 60223, + "ĠBuddhism": 60224, + "ĠAllan": 60225, + "_RADIUS": 60226, + "Ġwording": 60227, + "ĠForget": 60228, + "ĠCorona": 60229, + "iphy": 60230, + "Ġlimburg": 60231, + "uggy": 60232, + "ĠUserRepository": 60233, + "imin": 60234, + "(ele": 60235, + "Ġlabelled": 60236, + "社": 60237, + "ĠHerman": 60238, + ".qq": 60239, + "Ġ\"));Ċ": 60240, + "ieber": 60241, + ".Translate": 60242, + "ryn": 60243, + "Ġdesenv": 60244, + "umd": 60245, + "Simply": 60246, + "ĉmode": 60247, + "Rpc": 60248, + "ĠValencia": 60249, + "Ġstaffers": 60250, + "Ġselv": 60251, + "ĠSpike": 60252, + "Ġdelic": 60253, + "Ġeru": 60254, + "_DT": 60255, + "Judge": 60256, + "á»ķ": 60257, + "ĠBasin": 60258, + ".mutable": 60259, + "\"url": 60260, + "Ġtariff": 60261, + "ĠSleeve": 60262, + "Ġflare": 60263, + ".dropout": 60264, + "Ġbrides": 60265, + ")),čĊ": 60266, + "_constraints": 60267, + "destruct": 60268, + "Outline": 60269, + "Ġdisappears": 60270, + "_locked": 60271, + "ĠNSLocalizedString": 60272, + "cke": 60273, + "ĉnull": 60274, + "adresse": 60275, + "Ġtopping": 60276, + "ĠJoker": 60277, + "bishop": 60278, + "ноÑģÑĤÑĮ": 60279, + "andering": 60280, + "_amp": 60281, + "=time": 60282, + "_Space": 60283, + "_PULL": 60284, + "'=": 60285, + "Ġantiqu": 60286, + "Ġcach": 60287, + "___ĊĊ": 60288, + "ONES": 60289, + "оÑı": 60290, + "Ġunread": 60291, + ".policy": 60292, + "oooooooo": 60293, + "룬": 60294, + "Ġusted": 60295, + "ĠRece": 60296, + "Ġallem": 60297, + "ãĥ¼ãĤ¹": 60298, + "ĠThoughts": 60299, + "veillance": 60300, + "istrate": 60301, + "_lane": 60302, + "Ġfamed": 60303, + ".GetName": 60304, + "Ġsmoother": 60305, + "ĠQualified": 60306, + "azers": 60307, + "_geo": 60308, + "Fax": 60309, + "ĠMinds": 60310, + "ĠRaises": 60311, + "Ġtranscripts": 60312, + "Conversation": 60313, + "Ġremarked": 60314, + "ëĤĺ": 60315, + "dling": 60316, + "Ġdeploying": 60317, + "ĠsharedApplication": 60318, + "Ġkp": 60319, + "FontAwesomeIcon": 60320, + "_dummy": 60321, + "reiben": 60322, + "ĠJaneiro": 60323, + "Directions": 60324, + ".getBean": 60325, + "sass": 60326, + "Ġcommanders": 60327, + "vation": 60328, + "errorCode": 60329, + "ĠAlloy": 60330, + ".localized": 60331, + "Ðij": 60332, + "Ġdishwasher": 60333, + "ĠSoup": 60334, + "Nu": 60335, + "_Default": 60336, + "Ġuneven": 60337, + "Ġ/>\";Ċ": 60338, + "-Based": 60339, + "Ġseamlessly": 60340, + "-null": 60341, + "ĠXC": 60342, + "Ġstew": 60343, + "(delay": 60344, + "ATORS": 60345, + "ĠWheeler": 60346, + "\"H": 60500, + "east": 60501, + ".air": 60502, + "âĢľBut": 60503, + "ObjectContext": 60504, + "successfully": 60505, + "_land": 60506, + "Ġfolds": 60507, + "_COORD": 60508, + "Ġsubpo": 60509, + ".getAddress": 60510, + "instr": 60511, + "Materials": 60512, + "ÑĥÑģÑĤ": 60513, + "deposit": 60514, + "-last": 60515, + "_GRAY": 60516, + "=find": 60517, + "Ġmutant": 60518, + "Ġlesbienne": 60519, + "letcher": 60520, + "ROUGH": 60521, + "ureka": 60522, + ".capture": 60523, + "Ġenn": 60524, + "Ġ([[": 60525, + "ĠFlu": 60526, + "ĠtaskId": 60527, + "ĠHussein": 60528, + ".folder": 60529, + "Ġausterity": 60530, + "ISTRATION": 60531, + "_Impl": 60532, + "注æĦı": 60533, + "Ġdecree": 60534, + "-chat": 60535, + "Ġimplication": 60536, + "Ġguesses": 60537, + "ulkan": 60538, + "Analytics": 60539, + ".plus": 60540, + "COMMAND": 60541, + "ели": 60542, + "»ĊĊ": 60543, + "_SITE": 60544, + "ĠequalTo": 60545, + "SupportFragmentManager": 60546, + "ĠRecording": 60547, + "å®ĮæĪIJ": 60548, + "Ġbaggage": 60549, + "Ġpitchers": 60550, + "ĠEh": 60551, + "oque": 60552, + "ĉcnt": 60553, + "Ġ=>$": 60554, + "/foo": 60555, + "IRA": 60556, + "ĠSatellite": 60557, + "borah": 60558, + "Ġ}}\"Ċ": 60559, + "ĠEnds": 60560, + "ĠSpray": 60561, + ",param": 60562, + ".Chrome": 60563, + "*q": 60564, + "thought": 60565, + "ibrated": 60566, + "Ġthieves": 60567, + "Ġbeneficiaries": 60568, + "Entered": 60569, + "ottesville": 60570, + "Ġveterin": 60571, + "ByID": 60572, + "quipe": 60573, + "umption": 60574, + "-unit": 60575, + "ExecutionContext": 60576, + "@s": 60577, + "ĠGiov": 60578, + ".ToolTip": 60579, + "_friend": 60580, + "(attributes": 60581, + "Ġdumping": 60582, + "ĠJC": 60583, + "_DOCUMENT": 60584, + "ĠArmour": 60585, + "(insert": 60586, + ".HorizontalAlignment": 60587, + "ĠQed": 60588, + "ãģĦãģ¾ãģĻ": 60589, + "/git": 60590, + "ĠYYYY": 60591, + "ĠCardiff": 60592, + "Ġapa": 60593, + "organic": 60594, + "ĠWhereas": 60595, + "ĠæĿ": 60596, + "ĠMia": 60597, + "Ġdemolition": 60598, + "Ġscars": 60599, + "Ġpai": 60600, + "Ġretries": 60601, + "Ġrq": 60602, + "ĠDenis": 60603, + "(Utils": 60604, + "Ġalleviate": 60605, + "ĠPIC": 60606, + "idue": 60607, + "Ġacknowledging": 60608, + "Ġ//////////////////////////////////": 60609, + "ç¡®å®ļ": 60610, + "Ä«": 60611, + "\\Json": 60612, + ".binary": 60613, + "Ġxtype": 60614, + "signals": 60615, + "ĠAppearance": 60616, + "&r": 60617, + "}s": 60618, + "Ci": 60619, + "ĠIllum": 60620, + "porate": 60621, + "hog": 60622, + "ĠindexOf": 60623, + "\\Command": 60624, + "_parallel": 60625, + "ĠSherlock": 60626, + "íĥ": 60627, + "Ġ\"\")čĊ": 60628, + "////////////////////////////////////////////////////////////////////////////////////////////////": 60629, + "Ġcriticize": 60630, + "ĠSoap": 60631, + "ĠMatcher": 60632, + "Ġgrilled": 60633, + "*T": 60634, + "Ġadore": 60635, + "ulling": 60636, + "Ġjedoch": 60637, + "_refs": 60638, + "leanup": 60639, + "ĠJAXB": 60640, + "Ġroses": 60641, + "ĠLiam": 60642, + "sizei": 60643, + "Ġgetchar": 60644, + "Ġtarde": 60645, + "-tooltip": 60646, + "Ġqualifier": 60647, + "ĠIntermediate": 60648, + "_Window": 60649, + "ĠMalta": 60650, + "Disconnect": 60651, + "ewhere": 60652, + "Campo": 60653, + "Ġirrational": 60654, + "ledo": 60655, + "ĠDN": 60656, + "ARGV": 60657, + "Ġoutro": 60658, + "Ġthirteen": 60659, + "Joseph": 60660, + "MAR": 60661, + "/gl": 60662, + "Jess": 60663, + "ĠPsychiat": 60664, + "ĠpaddingBottom": 60665, + "-loop": 60666, + "/fonts": 60667, + "_seen": 60668, + "Teams": 60669, + "ReactDOM": 60670, + "(man": 60671, + "(xpath": 60672, + ".getSimpleName": 60673, + ">(*": 60674, + "ĠPvt": 60675, + "Ġelders": 60676, + "Ġpies": 60677, + ".userAgent": 60678, + "-region": 60679, + "ĠGreeks": 60680, + "(fragment": 60681, + "stu": 60682, + "Ġcouncils": 60683, + "Ġstamina": 60684, + "ĠGoddess": 60685, + "西": 60686, + "Ġphilosophers": 60687, + "Ġpersone": 60688, + "ĠLose": 60689, + "ĠCLR": 60690, + "ĠDocs": 60691, + "Ġsoak": 60692, + "ĠHOLDER": 60693, + "Ġbells": 60694, + "hashCode": 60695, + "RATE": 60696, + "_WEIGHT": 60697, + "inous": 60698, + "endra": 60699, + "ophobic": 60700, + "Ġprose": 60701, + "Ġfinely": 60702, + "/oauth": 60703, + "(space": 60704, + "adge": 60705, + "ĠMama": 60706, + "ĠstringBuffer": 60707, + "Ġstint": 60708, + "Ġmisma": 60709, + "Ġvillains": 60710, + "ĠCrimea": 60711, + "Ġdiploma": 60712, + "ĠпоÑģл": 60713, + "ĠBea": 60714, + "(join": 60715, + "Ġíķ´": 60716, + "CHAT": 60717, + "pering": 60718, + "ĠCros": 60719, + "Ġmonkeys": 60720, + "Ġpreds": 60721, + "yla": 60722, + ",,,": 60723, + "Ġvibrator": 60724, + "ĠNU": 60725, + "åħĪ": 60726, + "fant": 60727, + "zet": 60728, + "Ġbietet": 60729, + "unft": 60730, + "sworth": 60731, + ".Flow": 60732, + "Ġpsyched": 60733, + "ĠContinental": 60734, + ">t": 60735, + "Ġquilt": 60736, + ".UP": 60737, + "Ġexpansive": 60738, + "Dispose": 60739, + "(language": 60740, + "Caps": 60741, + "_ZONE": 60742, + "Ġrecycle": 60743, + "ĠManaged": 60744, + "currentColor": 60745, + ".broadcast": 60746, + "signIn": 60747, + ".prom": 60748, + "llu": 60749, + "ueblo": 60750, + "Ġpunches": 60751, + "Ġautomat": 60752, + "Ġassigning": 60753, + "ĠcreateUser": 60754, + "ĠAllied": 60755, + "Ġconductor": 60756, + "Ĥ¨": 60757, + "Ġsaddle": 60758, + "Ġdni": 60759, + "omedical": 60760, + "-West": 60761, + "PositiveButton": 60762, + "Ġitalic": 60763, + "?[": 60764, + "(trigger": 60765, + "Ġelephants": 60766, + "\":\"\",\"": 60767, + "Ġcaliber": 60768, + "rafted": 60769, + "digits": 60770, + "Ġmarshal": 60771, + "milliseconds": 60772, + "markers": 60773, + "mom": 60774, + "/place": 60775, + "Ġholistic": 60776, + ":t": 60777, + "#,": 60778, + "Ġboto": 60779, + "Ġnausea": 60780, + "ĠShooting": 60781, + "itech": 60782, + "ĠtextStatus": 60783, + "())Ċ": 61004, + "ADDRESS": 61005, + "BST": 61006, + "etzt": 61007, + "ĠQgs": 61008, + "Sense": 61009, + "ExceptionHandler": 61010, + "ĠChu": 61011, + ".getOwnProperty": 61012, + "Ġexercised": 61013, + "iotic": 61014, + "ĠReleases": 61015, + "Ġpinterest": 61016, + "olie": 61017, + "isoft": 61018, + "Ġsequencing": 61019, + "Ġpadre": 61020, + "]));čĊ": 61021, + "(radius": 61022, + ".med": 61023, + "ainties": 61024, + ".ObjectModel": 61025, + "Ġemple": 61026, + "Ġseguro": 61027, + "Stars": 61028, + "Ġqualitative": 61029, + "lemn": 61030, + "á»±": 61031, + ">\").": 61032, + "Ġgx": 61033, + "-cert": 61034, + "ĠASTM": 61035, + "Ġfullname": 61036, + "Ġtelemetry": 61037, + "ĠCambodia": 61038, + "_ul": 61039, + "ĠClare": 61040, + "CUSTOM": 61041, + "QC": 61042, + "ĠUns": 61043, + "ĠHTTPS": 61044, + "ĠParkinson": 61045, + "ancybox": 61046, + "','.": 61047, + "Tue": 61048, + ".getLast": 61049, + "Ġabi": 61050, + "Äħd": 61051, + "Ast": 61052, + "ĠEditing": 61053, + ".Unity": 61054, + "jmp": 61055, + "Ġmats": 61056, + "ĠsharedPreferences": 61057, + "Captain": 61058, + ".pageSize": 61059, + "Ġrtl": 61060, + "Ġanmeld": 61061, + "RuntimeObject": 61062, + "Ġdemande": 61063, + "(\";": 61064, + "seite": 61065, + "-headed": 61066, + "ĠKra": 61067, + "ĠFONT": 61068, + "`\\": 61069, + "ClassNotFoundException": 61070, + ".avg": 61071, + "atical": 61072, + "Aj": 61073, + "Ġpermitting": 61074, + "Proj": 61075, + "ERRQ": 61076, + "Ġcreampie": 61077, + "ĠBuyer": 61078, + "-modules": 61079, + "ĠSundays": 61080, + "|`Ċ": 61081, + "Ġdaytime": 61082, + "Ġ+(": 61083, + "Ġglitch": 61084, + "ĠOperand": 61085, + "Ġtoxins": 61086, + "inya": 61087, + "DNS": 61088, + "ĠSas": 61089, + "Cake": 61090, + "ĠNationals": 61091, + ".addTo": 61092, + "Ġsinking": 61093, + "Ġcomprehension": 61094, + "Ġscor": 61095, + "agements": 61096, + "Ġtard": 61097, + "Ġmarching": 61098, + "ĠMTV": 61099, + "Ġsane": 61100, + "CreateInfo": 61101, + "ắ": 61102, + "ĠendIndex": 61103, + "ĉlayout": 61104, + "ĠåIJį": 61105, + "SITE": 61106, + "ĠTHERE": 61107, + "Ġ[{'": 61108, + "opathic": 61109, + "Ġtransmitter": 61110, + "/body": 61111, + "Ġpund": 61112, + "ĠClosing": 61113, + "Ġsetattr": 61114, + "Ġbounded": 61115, + "Atlas": 61116, + "suming": 61117, + "(times": 61118, + "parer": 61119, + "ynom": 61120, + "feit": 61121, + "Ġfrem": 61122, + "-leg": 61123, + "ĠBras": 61124, + ">#": 61125, + "Ġì¶ľëł¥": 61126, + "ĠINSTANCE": 61127, + "ĠCouch": 61128, + "_hosts": 61129, + "likelihood": 61130, + ".Marker": 61131, + "ĠMasks": 61132, + "Ġcereal": 61133, + "utilities": 61134, + "Ġelemental": 61135, + "Ġdistorted": 61136, + "inactive": 61137, + "cry": 61138, + "WL": 61139, + "UPPORTED": 61140, + ".Throws": 61141, + "/schema": 61142, + "serie": 61143, + ".\"',": 61144, + "ĠBenedict": 61145, + "-picker": 61146, + "iggs": 61147, + "ĠPirate": 61148, + "åij¨æľŁ": 61149, + "ĠThema": 61150, + "ĠSouthampton": 61151, + "ĠarrayWith": 61152, + "ĠPaula": 61153, + "Ġpredictor": 61154, + "-Ass": 61155, + ".userid": 61156, + "Ġperi": 61157, + "Ġexaggerated": 61158, + "urate": 61159, + "arseille": 61160, + "ĠConcent": 61161, + "ĠPik": 61162, + "Ġ@_;ĊĊ": 61163, + "Ġformations": 61164, + "Ġdenomin": 61165, + "\"/>.Ċ": 61166, + "endedor": 61167, + "Ġpancre": 61168, + "Ġamt": 61169, + "ĠonResume": 61170, + "onDelete": 61171, + "ĠBCH": 61172, + ")(\"": 61173, + "movement": 61174, + "Ġpotassium": 61175, + "": 69726, + "ĠPPC": 69727, + "isz": 69728, + "akeFromNib": 69729, + "ĠDisp": 69730, + "ĠAthletics": 69731, + "Ġnightclub": 69732, + "GOOD": 69733, + ".setGeometry": 69734, + "+[": 69735, + "/send": 69736, + "Ġbinaries": 69737, + "Ġráp": 69738, + ":req": 69739, + "-consuming": 69740, + "ertime": 69741, + "UPDATED": 69742, + "_nullable": 69743, + "VIN": 69744, + "ulia": 69745, + "cyan": 69746, + "Ġmisunderstanding": 69747, + "orical": 69748, + "degrees": 69749, + "Leading": 69750, + ".AR": 69751, + "ickest": 69752, + "Nuevo": 69753, + "uforia": 69754, + "Ġgoodies": 69755, + "Ġfores": 69756, + "()<<\"": 69757, + "ademic": 69758, + "ActionCreators": 69759, + "servername": 69760, + "(nt": 69761, + "dbContext": 69762, + "Ġairborne": 69763, + "Ġexhibitions": 69764, + "cele": 69765, + "Ġtela": 69766, + "": 69782, + ".setPreferredSize": 69783, + "ĠMID": 69784, + "ĠAless": 69785, + "Ġhorsepower": 69786, + "Ġatm": 69787, + "ĠPackaging": 69788, + "Ġciphertext": 69789, + "RequestMethod": 69790, + "Ġbeiden": 69791, + "è£": 69792, + "ĠPOW": 69793, + ".WriteHeader": 69794, + "director": 69795, + "-but": 69796, + "ãģłãģķãģĦ": 69797, + "incer": 69798, + "_dn": 69799, + "!!!!!": 69800, + "Ġmanufactures": 69801, + ".TextUtils": 69802, + "Ġconsciously": 69803, + "Ġbounced": 69804, + "culture": 69805, + "ĠSpar": 69806, + "ĠPiper": 69807, + ".press": 69808, + "-owner": 69809, + "Ġevaluator": 69810, + "ĠSTREAM": 69811, + ".PictureBoxSizeMode": 69812, + "Ġsugars": 69813, + "ScreenWidth": 69814, + "ĠnextState": 69815, + "Ġivory": 69816, + "Ġbrunch": 69817, + "density": 69818, + "_OW": 69819, + "ĠCoronavirus": 69820, + "ĠCFR": 69821, + "bak": 69822, + "\\Category": 69823, + "æķ°ç»Ħ": 69824, + "Ġinvokevirtual": 69825, + "}()Ċ": 69826, + "Ġsujet": 69827, + "-marker": 69828, + "isdigit": 69829, + "ĠMobil": 69830, + "ĠJsonRequestBehavior": 69831, + "_REMOTE": 69832, + ".existsSync": 69833, + "Ġriches": 69834, + ".presenter": 69835, + "ĠglColor": 69836, + "Ġhanya": 69837, + "Ġfortress": 69838, + "Ġflashed": 69839, + "viz": 69840, + "requently": 69841, + "buat": 69842, + "$con": 69843, + ">|": 69844, + ".Func": 69845, + "Ġhumorous": 69846, + "uem": 69847, + ".ZERO": 69848, + "ĠSTL": 69849, + "ĠBuk": 69850, + "/sample": 69851, + "ĠGros": 69852, + "Recipes": 69853, + "Ġinflated": 69854, + "Ġswung": 69855, + ":F": 69856, + "Facing": 69857, + ".Theme": 69858, + "ник": 69859, + "Ġsplendid": 69860, + "ĠrequestId": 69861, + ".CenterScreen": 69862, + "/autoload": 69863, + "embedded": 69864, + "_depart": 69865, + "ĠPorts": 69866, + "à¹ĥ": 69867, + "айд": 69868, + "discussion": 69869, + "_consum": 69870, + "Ġscouts": 69871, + "Ġcolabor": 69872, + ".Stage": 69873, + ".nano": 69874, + "eldorf": 69875, + "Ġgemacht": 69876, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ": 69877, + "Ġpolicymakers": 69878, + "_PKT": 69879, + ",Th": 69880, + "oky": 69881, + "_UID": 69882, + "Ping": 69883, + "Ġorchest": 69884, + "Ġoptics": 69885, + "uhan": 69886, + "ĠXOR": 69887, + "Ġespañol": 69888, + "ĠAdidas": 69889, + "rng": 69890, + "mans": 69891, + ".vstack": 69892, + "Ġgetaway": 69893, + "Ġhierarchical": 69894, + "anoia": 69895, + "ĠBitmapFactory": 69896, + "realm": 69897, + "ĉap": 69898, + "_apps": 69899, + "-divider": 69900, + ".drawer": 69901, + "ĠHARD": 69902, + "'];?>Ċ": 69903, + "-packed": 69904, + "æ²»": 69905, + "_STRUCTURE": 69906, + "[Y": 69907, + "iParam": 69908, + "(eq": 69909, + "Ġencompasses": 69910, + "Ġ\\ĊĊ": 69911, + "->[": 69912, + "&utm": 69913, + "groupon": 69914, + "strate": 69915, + "DY": 69916, + "omorphic": 69917, + "':[": 69918, + "Ġgravitational": 69919, + "ĠMicha": 69920, + "ĠTencent": 69921, + "Ġcoached": 69922, + "ì¶ľ": 69923, + "ÑĥменÑĤ": 69924, + "/mobile": 69925, + "MouseDown": 69926, + "bud": 69927, + "ĠYas": 69928, + "ĠProviders": 69929, + "NZ": 69930, + "ĉreport": 69931, + "errmsg": 69932, + "ĠimagePath": 69933, + "acterial": 69934, + "ĠManga": 69935, + "wicklung": 69936, + "(usuario": 69937, + "\"));čĊčĊ": 69938, + "/***": 69939, + "Ġorganise": 69940, + "Indexed": 69941, + "_QUAL": 69942, + "(PyObject": 69943, + "Ġsurrendered": 69944, + "POCH": 69945, + "ĠNOTES": 69946, + "\\\\\"": 69947, + "-job": 69948, + "Ġseventy": 69949, + "####Ċ": 69950, + "ĠManor": 69951, + "Ġdownright": 69952, + "Ġtimeframe": 69953, + "insurance": 69954, + "checker": 69955, + "ĠSECRET": 69956, + "Ġechoes": 69957, + "ĠCarmen": 69958, + ".setHorizontalAlignment": 69959, + "ĠisChecked": 69960, + "ĠTOR": 69961, + "_nn": 69962, + "('(": 69963, + "FetchRequest": 69964, + "ĠPrinted": 69965, + "Fluid": 69966, + "ĠSTACK": 69967, + "GES": 69968, + "aigned": 69969, + "igor": 69970, + ".Unknown": 69971, + "CBC": 69972, + "ĠCarlson": 69973, + ".URI": 69974, + "Ġplight": 69975, + "/start": 69976, + "ĠPersonnel": 69977, + "ĠPREFIX": 69978, + ",**": 69979, + "Ġlimite": 69980, + "_heat": 69981, + "%ï¼Į": 69982, + "ĠDonne": 69983, + "getNode": 69984, + "ĠScientology": 69985, + "Ġcomet": 69986, + "Ġwenig": 69987, + "Aside": 69988, + "ĠMPEG": 69989, + "'?": 69990, + "variably": 69991, + ".endDate": 69992, + "Ġuncont": 69993, + "ĠScores": 69994, + "ĠLoginForm": 69995, + ".generated": 69996, + ",ch": 69997, + "-mar": 69998, + "ĠNed": 69999, + "ĠeventId": 70000, + "+p": 70001, + "ĠSIN": 70002, + "/reset": 70003, + ".REACT": 70004, + "ĠMessi": 70005, + "_RANK": 70006, + ".writeFile": 70007, + "Ġcripp": 70008, + "esthetic": 70009, + "ERSIST": 70010, + "Ġreimbursement": 70011, + "CurrentValue": 70012, + "Ġunin": 70013, + "DownLatch": 70014, + "ĠpaddingRight": 70015, + "Ġstocked": 70016, + "/'.": 70017, + "Ġrepayment": 70018, + "trak": 70019, + "/backend": 70020, + "Ġизмен": 70021, + "CSR": 70022, + "Ġpreventive": 70023, + "Ġpantalla": 70024, + "_trim": 70025, + "Pedido": 70026, + "hospital": 70027, + "Ġmanageable": 70028, + "routeParams": 70029, + "textures": 70030, + "......ĊĊ": 70031, + "Ġsélection": 70032, + "NameValuePair": 70033, + "Ġpollut": 70034, + "Modes": 70035, + "ĠLaud": 70036, + "jay": 70037, + "ĠUrs": 70038, + "Ġsigner": 70039, + "ĠJJ": 70040, + "ĠCherokee": 70041, + "_EXISTS": 70042, + "Ġdwar": 70043, + "Ġ($('#": 70044, + "Ġreef": 70045, + ">{$": 70046, + "ĠBaylor": 70047, + "ĠModelState": 70048, + "-_": 70049, + "ĠStructures": 70050, + "Ġsouvent": 70051, + "Specify": 70052, + "(pipe": 70053, + "Ġfracking": 70054, + "ĠGPA": 70055, + "Ġbele": 70056, + "ĉĉĉĉĉĉĉĠĠĠ": 70057, + "ĠMinority": 70058, + "Ġtud": 70059, + "Ġopenness": 70060, + "ĠIllustrated": 70061, + "Ġoxidation": 70062, + "ĠNK": 70063, + "ĉUpdate": 70064, + "ĠEMS": 70065, + "ĠTeddy": 70066, + "Ġgenerals": 70067, + "ĉMat": 70068, + "Ġradios": 70069, + "ĠAntique": 70070, + "conomy": 70071, + "ĠSquadron": 70072, + ")','": 70073, + "声": 70074, + "Ġyoure": 70075, + "ĠMainPage": 70076, + "Ġbehaviours": 70077, + "enght": 70078, + "(@\"%@\",": 70079, + "Ġtestcase": 70080, + "ĠCompilation": 70081, + "Ġflavours": 70082, + "ĠExtend": 70083, + "illator": 70084, + "Ġcoh": 70085, + "Ġspline": 70086, + "ĠKG": 70087, + "-pay": 70088, + "Ġcommunism": 70089, + "ĠBusinesses": 70090, + "ocking": 70091, + ".MaxLength": 70092, + "assandra": 70093, + "quiring": 70094, + "adden": 70095, + "ĠJeb": 70096, + "_fault": 70097, + "[file": 70098, + "Ġprominence": 70099, + "disciplinary": 70100, + "âĢĶthey": 70101, + "_extent": 70102, + "ĠVIC": 70103, + "Ġentails": 70104, + ".partner": 70105, + "Ġhippoc": 70106, + "League": 70107, + "çĶ·": 70108, + "wipe": 70109, + "-spinner": 70110, + "Ġsalute": 70111, + "ĠSurgical": 70112, + "(outputs": 70113, + "worked": 70114, + "[strlen": 70115, + "appointed": 70116, + "ĠHeg": 70117, + "ĠACPI": 70118, + "([^": 70119, + "uala": 70120, + "_tol": 70121, + "ĠRit": 70122, + ".Payment": 70123, + "kowski": 70124, + "Ġwalmart": 70125, + "requirements": 70126, + "ĠFINSEQ": 70127, + "_BACKGROUND": 70128, + "ĠOsborne": 70129, + "(errorMessage": 70130, + "Reporting": 70131, + "Ġauctions": 70132, + "Ġcombos": 70133, + "ĠNoticed": 70134, + "_oct": 70135, + "Ġprimero": 70136, + "taire": 70137, + "_hr": 70138, + "Ġмод": 70139, + "Ġcontradictory": 70140, + "=\"@": 70141, + "achines": 70142, + "(optarg": 70143, + "ĠPenguin": 70144, + "ĠAbbas": 70145, + "Ġsublime": 70146, + "Ġpageable": 70147, + "ĠDefensive": 70148, + "Ġdistinctly": 70149, + "ĠAutomatically": 70150, + "Understanding": 70151, + "EqualityComparer": 70152, + "gota": 70153, + "Ġ\"::": 70154, + "Ġpulver": 70155, + "ĠBattles": 70156, + "Ġunparalleled": 70157, + "TCHA": 70158, + "Ġconstrued": 70159, + "-aff": 70160, + "Ġprecursor": 70161, + "-lfs": 70162, + "Ġmaduras": 70163, + "ĠDaisy": 70164, + "ĠArbeits": 70165, + ".Management": 70166, + "ĉIn": 70167, + "Ġrobes": 70168, + "Ġspéc": 70169, + "âĢľ(": 70170, + "Ġmaternity": 70171, + "extent": 70172, + "ĠSpacer": 70173, + "DidAppear": 70174, + "ĉus": 70175, + ".getRequestDispatcher": 70176, + "(cols": 70177, + "Ġplummet": 70178, + "ìħ": 70179, + "Ġ{ĊĊĊĊ": 70180, + "érica": 70181, + "ĠSizes": 70182, + ".enum": 70183, + ".Highlight": 70184, + "Ġ!!}ĊĊĊ": 70193, + "Wenn": 70194, + "Ġclimax": 70195, + "Ġcrem": 70196, + "_that": 70197, + "[â̦": 70198, + "_domains": 70199, + "_REPLY": 70200, + "Ġcompleta": 70201, + "VEST": 70202, + "_particle": 70203, + "Ġsop": 70204, + "Ġfatalities": 70205, + "implify": 70206, + "ĠSKF": 70207, + "Ġinfusion": 70208, + "ĠJavier": 70209, + "Ġballet": 70210, + "Ġamigo": 70211, + ".want": 70212, + "Ġcollagen": 70213, + "ĠLawyer": 70214, + ".Statement": 70215, + ".rt": 70216, + "baar": 70217, + "EndPoint": 70218, + "ĠBek": 70219, + "SHIP": 70220, + "Ġpatriarch": 70221, + "ĠAunt": 70222, + "_TM": 70223, + "ĠmÃŃn": 70224, + "Ġmastered": 70225, + "WXYZ": 70226, + "Ġespos": 70227, + "=logging": 70228, + "Ġrighteousness": 70229, + "torrent": 70230, + "Ġbst": 70231, + "_CHAIN": 70232, + "Ġoutskirts": 70233, + "(rotation": 70234, + "Ġ'.')": 70235, + "igrants": 70236, + "+lsi": 70237, + "ĠCCTV": 70238, + "_PHASE": 70239, + ".azure": 70240, + "_Process": 70241, + "vae": 70242, + "ĠTropical": 70243, + "ĠAnkara": 70244, + "imageView": 70245, + "_RUNNING": 70246, + "Ġ*)__": 70247, + "ến": 70248, + "(cli": 70249, + "scatter": 70250, + "Ġsche": 70251, + "Registrar": 70252, + "Ġairing": 70253, + "Ġpyplot": 70254, + "isión": 70255, + "/customer": 70256, + "Ġsimplement": 70257, + "Ġclassy": 70258, + "ĠDWC": 70259, + "ĠBashar": 70260, + "ĠDEVELO": 70261, + "ĠVick": 70262, + "avail": 70263, + "ĠHö": 70264, + "_extend": 70265, + "drFc": 70266, + ".isNotBlank": 70267, + "Ġplais": 70268, + "|}Ċ": 70269, + "Ġpornofil": 70270, + "labs": 70271, + "Ġhaus": 70272, + "Ġoriginating": 70273, + "Ġsurrounds": 70274, + "ĠQUAL": 70275, + "meg": 70276, + "/logger": 70277, + "[obj": 70278, + "Ġirresponsible": 70279, + "ĠPublicKey": 70280, + "HONE": 70281, + ":'/": 70282, + "ibox": 70283, + "ĠFVector": 70284, + "|{Ċ": 70285, + "ataloader": 70286, + "hawks": 70287, + "HDR": 70288, + "Ġescalation": 70289, + "ĠPodsDummy": 70290, + "elite": 70291, + "Ġpresup": 70292, + "Cached": 70293, + ">G": 70294, + ".optimizer": 70295, + "ĠVisible": 70296, + "´Ģ": 70297, + "Ġnen": 70298, + "Ġpcs": 70299, + "ĠIdle": 70300, + "[Any": 70301, + "Ġkeyboards": 70302, + "ĠCOMPONENT": 70303, + "Ġtitanium": 70304, + "(mut": 70305, + "ĠLedger": 70306, + "Ġprosperous": 70307, + "etrofit": 70308, + "_LL": 70309, + "_patient": 70310, + "Ġpdata": 70311, + "Ġkontakte": 70312, + "Swipe": 70313, + "Ġcheerful": 70314, + "ĠHonduras": 70315, + "\"][$": 70316, + "Ġhemorrh": 70317, + "\":\"+": 70318, + "Ġleasing": 70319, + "Ġinstalls": 70320, + "ĠPax": 70321, + "ĠLogistics": 70322, + "Ġkinetic": 70323, + "ĠPhon": 70324, + "_movement": 70325, + "ĉbytes": 70326, + "Ġcinco": 70327, + "ĠMadness": 70328, + "\")+": 70329, + "ĠJE": 70330, + "_ij": 70331, + "SceneManager": 70332, + "ĠBust": 70333, + "ptest": 70334, + "aea": 70335, + "Ġbesser": 70336, + "ÃŃg": 70337, + "дин": 70338, + "(tasks": 70339, + "(\"(\"": 70340, + "setType": 70341, + "(outfile": 70342, + "ĉreset": 70343, + "ĠARC": 70344, + "Ġmúsica": 70345, + "ĠShelf": 70346, + "ĠminY": 70347, + "pch": 70348, + "Ġweiber": 70349, + "issor": 70350, + "Ġtrouve": 70351, + "ĉButton": 70352, + "Ġregenerated": 70353, + "Å£i": 70354, + "imachinery": 70355, + "blocking": 70356, + ".dataTables": 70357, + "_frac": 70358, + "ĠAdvantage": 70359, + ".visitMethod": 70360, + "éĩįæĸ°": 70361, + "Ġextrapol": 70362, + "Ġteasing": 70363, + "ĠHitch": 70364, + "ĠGeek": 70365, + "ESCO": 70366, + "Ġwich": 70367, + "ĉax": 70368, + "_decor": 70369, + "ĠscreenWidth": 70370, + "ĠSophia": 70371, + "Forgot": 70372, + ".uni": 70373, + "ĠVenture": 70374, + "_collision": 70375, + "Ġlawmaker": 70376, + "(Edit": 70377, + "blers": 70378, + "ĠgetNext": 70379, + "âĢĶyou": 70380, + "MediaPlayer": 70381, + "ĠHorde": 70382, + "ĠCongressman": 70383, + "observations": 70384, + "ĉproperty": 70385, + "Ġ<--": 70386, + "CreatedAt": 70387, + "ubyte": 70388, + "Ġquarantine": 70389, + "Ġdistressed": 70390, + "_APB": 70391, + "ĠGoodman": 70392, + "ãĤ«": 70393, + "Ġrecomend": 70394, + "_PRINTF": 70395, + "DONE": 70396, + "Bindable": 70397, + "rstrip": 70398, + "centaje": 70399, + "ĠUnexpected": 70400, + "ĠSCHOOL": 70401, + "ĠProfessionals": 70402, + "ĠGPUs": 70403, + "Lesson": 70404, + "Exclusive": 70405, + "Ġatrav": 70406, + "ĠDank": 70407, + "ĠLawyers": 70408, + "ĠWalton": 70409, + ">[]": 70410, + "Ġaloud": 70411, + "=\"../../../": 70412, + "Ġdebating": 70413, + "ĠAVG": 70414, + "_VOL": 70415, + "/cgi": 70416, + ".deg": 70417, + ":g": 70418, + ".Infof": 70419, + "MeasureSpec": 70420, + ".song": 70421, + "mtree": 70422, + "ulls": 70423, + "Jordan": 70424, + "ĠCovers": 70425, + "Ġattributable": 70426, + "Ġjedis": 70427, + "iatrics": 70428, + "Ġrotterdam": 70429, + "Ġmeld": 70430, + "ĠContentType": 70431, + "Ġmantle": 70432, + "Ġalice": 70433, + "_duplicate": 70434, + "/Internal": 70435, + "Ġfilesize": 70436, + "ĉfire": 70437, + "rese": 70438, + "ondere": 70439, + "Ġfamiliarity": 70440, + "ĠCrest": 70441, + "Ġkarma": 70442, + "Ġtorino": 70443, + "Ġmesa": 70444, + "/temp": 70445, + "Ġchir": 70446, + "ĠOverflow": 70447, + "Ġtenemos": 70448, + "unik": 70449, + "NEXT": 70450, + "Alle": 70451, + "Ġnxt": 70452, + "Mart": 70453, + "Ġatl": 70454, + "Ġperiodo": 70455, + "_you": 70456, + "Ġ})).": 70457, + "intestinal": 70458, + ".AdapterView": 70459, + "Ġhesitant": 70460, + "Ġcomparatively": 70461, + ".UInt": 70462, + "(viewModel": 70463, + "Ġsangat": 70464, + "ĠResponsive": 70465, + "ĠZack": 70466, + "âħ": 70467, + "JAVA": 70468, + "ĠFuller": 70469, + "ĠâĿ¤": 70470, + ".Consumer": 70471, + "Ġank": 70472, + "Ġreactors": 70473, + "fuck": 70474, + "_rat": 70475, + "ĠsessionFactory": 70476, + "_backward": 70477, + "Ġscrambled": 70478, + "ĉth": 70479, + "Ġinsensitive": 70480, + "Ġchamps": 70481, + "Ġnginx": 70482, + "Ġconhec": 70483, + "ĠJasper": 70484, + ".fm": 70485, + "StrictEqual": 70486, + "achsen": 70487, + "-Nov": 70488, + "lassen": 70489, + ".integration": 70490, + "(lbl": 70491, + "Compose": 70492, + "ĠFon": 70493, + "Ãļ": 70494, + "Gratis": 70495, + "ĠLime": 70496, + "ĠAdapterView": 70497, + "Ġpoisoned": 70498, + "anchors": 70499, + "设计": 70500, + "']?>\"": 70501, + "Ġprocur": 70502, + "Italy": 70503, + ".MONTH": 70504, + "ĠLUA": 70505, + "ĠLithuania": 70506, + "ĠHeads": 70507, + "_CHUNK": 70508, + "ĠPUSH": 70509, + "AspectRatio": 70510, + "Ġweg": 70511, + "Ġvids": 70512, + "ĠWein": 70513, + "ĉINT": 70514, + "sessionId": 70515, + "Industry": 70516, + "Ġdenounced": 70517, + "JKLM": 70518, + "ĠVanessa": 70519, + ".Identifier": 70520, + "propri": 70521, + "Ġиг": 70522, + "Ġtécn": 70523, + "Ġmosaic": 70524, + "StreamReader": 70525, + "-Th": 70526, + "forth": 70527, + "Ġadherence": 70528, + "bate": 70529, + "Ġknights": 70530, + "sounds": 70531, + "Ġsalle": 70532, + "OMET": 70533, + "ãĤ¹ãĥĪ": 70534, + "-tm": 70535, + "ĠRhe": 70536, + ".FileOutputStream": 70537, + "åĪĨç±»": 70538, + "ĠENG": 70539, + "holiday": 70540, + "ĠCongratulations": 70541, + ")(Ċ": 70542, + "Ġaggregates": 70543, + "HOOK": 70544, + "ewire": 70545, + "Senator": 70546, + "Ġembeddings": 70547, + "epy": 70548, + "(COM": 70549, + "Ġrobber": 70550, + "äter": 70551, + "wang": 70552, + "_teacher": 70553, + "Ġresentment": 70554, + "Ġlettuce": 70555, + "erreur": 70556, + "(ic": 70557, + "ĠTactical": 70558, + "ĠContracts": 70559, + "Ġmænd": 70560, + "Ġsitios": 70561, + "Ġbastante": 70562, + "Ġnuevos": 70563, + "ĉNdrFc": 70564, + "ĠprivateKey": 70565, + "ucch": 70566, + "MMdd": 70567, + "Ġè¾ĵåĩº": 70568, + "umba": 70569, + "@foreach": 70570, + ":\");ĊĊ": 70571, + "Ġslippery": 70572, + "ĠKeystone": 70573, + "Ġpioneering": 70574, + "_triangle": 70575, + "(\"Ċ": 70576, + "ĉĉĉĉĉĉĉĉĠĠ": 70577, + "ĠIntervention": 70578, + "SCI": 70579, + "ĠcJSON": 70580, + "Ġterminating": 70581, + "ë¹Ħ": 70582, + "Ġbabys": 70583, + "Subset": 70584, + "Ġë¡": 70585, + "Ġseulement": 70586, + "Ġmuestra": 70587, + "Entre": 70588, + "以ä¸Ĭ": 70589, + "ngo": 70590, + "\"bytes": 70591, + "QRST": 70592, + "Ġypos": 70593, + "persona": 70594, + "ĠDeploy": 70595, + "cee": 70596, + "Ġà®": 70597, + ".goal": 70598, + "Ġhabitats": 70599, + "ĠisAdmin": 70600, + "Ġexploiting": 70601, + "Ġventil": 70602, + "ĠBalls": 70603, + "اب": 70604, + "Ġmindfulness": 70605, + "(kwargs": 70606, + "Ġresembling": 70607, + "Ġchoir": 70608, + "ĠonBackPressed": 70609, + "ĠSECURITY": 70610, + "/gtest": 70611, + "Ġjustices": 70612, + "ĠintegerValue": 70613, + "blah": 70614, + "ĠAim": 70615, + "_finalize": 70616, + "keh": 70617, + "ĠComplexity": 70618, + "Ġaugust": 70619, + "getElementsByTagName": 70620, + "Ġpreach": 70621, + "Ġpronunciation": 70622, + "ĠTrash": 70623, + "-percent": 70624, + "_PRIV": 70625, + "ĠHunts": 70626, + "ĠCurse": 70627, + "uellen": 70628, + "Ġheavyweight": 70629, + "Xi": 70630, + "ĉselected": 70631, + "ĠMcCoy": 70632, + "å¼Ĥ常": 70633, + "|=Ċ": 70634, + "ĠBattlefield": 70635, + "ItemImage": 70636, + "Ġdeductions": 70637, + "ĠElemental": 70638, + "());//": 70639, + "ĠBurk": 70640, + "})čĊčĊ": 70641, + "swift": 70642, + "/function": 70643, + "Usually": 70644, + "_St": 70645, + "_feats": 70646, + "ĠIsValid": 70647, + "Ġzad": 70648, + "ImageContext": 70649, + "Ġclassname": 70650, + "Ġdonner": 70651, + "Ġ-->ĊĊĊ": 70652, + "Ġmotorcycles": 70653, + "+'/'+": 70654, + "ĠsetBackground": 70655, + "\\CMS": 70656, + ".AllArgsConstructor": 70657, + "ĠLexington": 70658, + ".examples": 70659, + "ĠPurs": 70660, + "PushMatrix": 70661, + "Ġ==============================================================": 70662, + ".addTarget": 70663, + "pora": 70664, + "Fullscreen": 70665, + "Ġgoof": 70666, + "hlen": 70667, + "äge": 70668, + "ĠCURL": 70669, + "ĠInteresting": 70670, + "Ġretrieves": 70671, + "_Obj": 70672, + "inness": 70673, + "-----ĊĊ": 70674, + ".tsv": 70675, + "(IM": 70676, + "ĠBraves": 70677, + "_ISR": 70678, + "osti": 70679, + "á»ĵ": 70680, + "ĠExterior": 70681, + "ĠCourtney": 70682, + "Ġresidues": 70683, + "Tier": 70684, + ".*;čĊčĊ": 70685, + ":black": 70686, + "webView": 70687, + "\"path": 70688, + "Ġmasa": 70689, + "]!='": 70690, + "ĠMatching": 70691, + "dur": 70692, + "Jvm": 70693, + "=context": 70694, + "_RING": 70695, + "Ġproponents": 70696, + "ĠQStringLiteral": 70697, + "Ġinflate": 70698, + "\">čĊ": 70931, + "_COST": 70932, + "ilinear": 70933, + "ĠWorkspace": 70934, + "Ġspel": 70935, + "agogue": 70936, + "ĠMillennium": 70937, + "ĠPopulate": 70938, + "Ġnid": 70939, + ".parseColor": 70940, + "Solar": 70941, + "ĠGad": 70942, + "Ġì¤ij": 70943, + "ĠKamp": 70944, + "ĉrm": 70945, + "Ġbenz": 70946, + "ĠHonestly": 70947, + "Ġelectrode": 70948, + "ĠPrairie": 70949, + "ĠPROFILE": 70950, + "ĠOriental": 70951, + "ĠOLED": 70952, + "/copyleft": 70953, + "awaii": 70954, + "(products": 70955, + ")\\<": 70956, + "-created": 70957, + ".ManyToMany": 70958, + "\"How": 70959, + "ĠвÑĭп": 70960, + "Ġmitochondrial": 70961, + "_testing": 70962, + "(created": 70963, + "ĠgetField": 70964, + "_EVAL": 70965, + "].\"": 70966, + "ĠFSM": 70967, + "ĠRita": 70968, + "ĠåıĤæķ°": 70969, + "Ġcôt": 70970, + "ĠInsight": 70971, + "ĉmysqli": 70972, + "_timing": 70973, + "IDO": 70974, + ")))))Ċ": 70975, + "COVERY": 70976, + ".imag": 70977, + "CDF": 70978, + "lust": 70979, + "ickt": 70980, + "_FP": 70981, + ".','": 70982, + "gcc": 70983, + "Ġkurz": 70984, + "_pwm": 70985, + "Ġodpowied": 70986, + "ĠBarrier": 70987, + "/***************************************************************************Ċ": 70988, + "pak": 70989, + "-Israel": 70990, + "ĠRutgers": 70991, + "ĠselectedItem": 70992, + "ĠRamirez": 70993, + "Farm": 70994, + "Ġcalendars": 70995, + "gzip": 70996, + "Ġblockbuster": 70997, + "ĠPlymouth": 70998, + "çľĮ": 70999, + "responses": 71000, + ".DialogInterface": 71001, + "-grand": 71002, + "ĠgetSource": 71003, + "Ġdejtings": 71004, + "Ġtieten": 71005, + "Ġcondemnation": 71006, + "Ġcontinuar": 71007, + ".MockMvc": 71008, + "/english": 71009, + "ĠMediaPlayer": 71010, + "computed": 71011, + "ĠClippers": 71012, + "(delegate": 71013, + ".Slf": 71014, + "Ġë¡ľ": 71015, + "ĠTide": 71016, + "Ġihrem": 71017, + "ĠWan": 71018, + "ÑĥÑİÑī": 71019, + "}><": 71020, + "Discussion": 71021, + "Ġwatts": 71022, + "-minus": 71023, + "ĠJuliet": 71024, + "éĽħ": 71025, + "Ġconcluding": 71026, + "andscape": 71027, + "Ġúltima": 71028, + "ĠDERP": 71029, + "ĠsignUp": 71030, + "ĠSecondly": 71031, + "WAIT": 71032, + "lds": 71033, + ".callbacks": 71034, + "(hour": 71035, + "imators": 71036, + "volent": 71037, + "AAF": 71038, + "edriver": 71039, + "ĠMathematic": 71040, + "'": 71042, + "{j": 71043, + "_ABORT": 71044, + "Ether": 71045, + "Ġeducator": 71046, + "Ġprecaution": 71047, + "Ġfingertips": 71048, + "getVar": 71049, + "camatan": 71050, + "-debug": 71051, + "ĠRAF": 71052, + "[arg": 71053, + "Ġraced": 71054, + "Ġtsunami": 71055, + ".flink": 71056, + "Ġglyc": 71057, + "uko": 71058, + "ĠMultiply": 71059, + "Ġredistribution": 71060, + "AGO": 71061, + "ĠRoutine": 71062, + "Ġopr": 71063, + "(lower": 71064, + "ĠFunktion": 71065, + ".dk": 71066, + "Ġegt": 71067, + "_BASIC": 71068, + "syscall": 71069, + "ĠLSD": 71070, + "ĠDuplicate": 71071, + "_sell": 71072, + "ĠerrorHandler": 71073, + "_ips": 71074, + "Ġerv": 71075, + "annie": 71076, + "(resourceName": 71077, + "Ġbottled": 71078, + "Ġcrawling": 71079, + "egment": 71080, + ".setTag": 71081, + "Ġrss": 71082, + "ĠQuarry": 71083, + "_exact": 71084, + ".jwt": 71085, + "ĠBoards": 71086, + "opi": 71087, + "Ġnasal": 71088, + "ĠXYZ": 71089, + ".ud": 71090, + "Northern": 71091, + "Ġactivating": 71092, + "edx": 71093, + "ovah": 71094, + "Ġindx": 71095, + "AlertDialog": 71096, + "Ġtienes": 71097, + "annya": 71098, + "_pan": 71099, + "(decimal": 71100, + ".Dict": 71101, + "Ġsubsidiaries": 71102, + "ProductName": 71103, + "Few": 71104, + "dato": 71105, + "odied": 71106, + "-under": 71107, + "Ġê²ĥ": 71108, + "çīĪæľ¬": 71109, + "atism": 71110, + "[Math": 71111, + ".'<": 71112, + "(infile": 71113, + "Ġdenotes": 71114, + "$class": 71115, + "_SECURITY": 71116, + "Ġsewage": 71117, + "melon": 71118, + "(Character": 71119, + "/github": 71120, + "Ġglaring": 71121, + ".Guid": 71122, + "_sparse": 71123, + "ĠMargin": 71124, + "_dns": 71125, + "Ġmeiner": 71126, + "Ġleftist": 71127, + "ĉloc": 71128, + "abytes": 71129, + "Ġequipments": 71130, + "expo": 71131, + "ĠSomerset": 71132, + "EK": 71133, + "æį¢": 71134, + "Ġlecturer": 71135, + "Ġmemiliki": 71136, + "æł¸": 71137, + "ç´ł": 71138, + "pron": 71139, + ":pointer": 71140, + "borrow": 71141, + "ĠProtective": 71142, + "_cf": 71143, + "ĠÐķÑģли": 71144, + "bpp": 71145, + "';ĊĊĊĊ": 71146, + "aturally": 71147, + "_NAV": 71148, + "Ġpeptide": 71149, + ">d": 71150, + "Ġifstream": 71151, + "_FACTORY": 71152, + "');//": 71153, + "joined": 71154, + "mong": 71155, + "Ġtimespec": 71156, + "Ġdestabil": 71157, + "Ġautop": 71158, + "-limit": 71159, + "publication": 71160, + "ĠDenn": 71161, + ".Memory": 71162, + "(skb": 71163, + "ĠAnaheim": 71164, + "_RETURNTRANSFER": 71165, + "oueur": 71166, + "(_('": 71167, + "legt": 71168, + "istingu": 71169, + "ĉpriv": 71170, + "Ġredirects": 71171, + "Mt": 71172, + "Ġalleen": 71173, + "ĠPointF": 71174, + "Ġomin": 71175, + "Ġcitt": 71176, + "ĠTage": 71177, + "ĠWalls": 71178, + "á»ī": 71179, + "Ġoccupying": 71180, + "xBF": 71181, + "rangle": 71182, + "Ġrelational": 71183, + "-org": 71184, + "Ġjpg": 71185, + "-derived": 71186, + "Ġmalfunction": 71187, + "ĠBenson": 71188, + "(scroll": 71189, + "ĠXD": 71190, + "Holy": 71191, + "(commands": 71192, + "Ġtipping": 71193, + "Ġprimitives": 71194, + "Ġsexle": 71195, + "CallCheck": 71196, + "ĠMASTER": 71197, + "_TEAM": 71198, + ".setRequestHeader": 71199, + "_specs": 71200, + "Ġserge": 71201, + ".Master": 71202, + "Ġims": 71203, + ".SpringBootTest": 71204, + "paypal": 71205, + "ĠWANT": 71206, + ".Inst": 71207, + "ĠCarpet": 71208, + "Ġwrongly": 71209, + "($('.": 71210, + "Ġbild": 71211, + ".Roll": 71212, + "ĠUrb": 71213, + "-can": 71214, + "ãģıãģłãģķãģĦ": 71215, + "oliberal": 71216, + "čĊčĊ": 71610, + "ĠMahm": 71611, + "}\";ĊĊ": 71612, + "Ġdq": 71613, + "ĠPublishers": 71614, + "ĠAmpl": 71615, + "ĠDanielle": 71616, + "Ġtern": 71617, + "èµ·": 71618, + "noÅĽÄĩ": 71619, + "ein": 71620, + "ĠAsyncStorage": 71621, + "unger": 71622, + "rouw": 71623, + "Ġscissors": 71624, + "/assert": 71625, + ".bucket": 71626, + "/archive": 71627, + "_Man": 71628, + "Ġintoler": 71629, + "Ġ()=>": 71630, + "ĠÐĴÑĭ": 71631, + "Ġsai": 71632, + ".xy": 71633, + ".\"čĊ": 71634, + "Ġurinary": 71635, + "esub": 71636, + "ISTICS": 71637, + "Ġκ": 71638, + "Ġcompliments": 71639, + "ĠtypingsJapgolly": 71640, + "ihar": 71641, + "Expansion": 71642, + "ĠServing": 71643, + "_students": 71644, + "ĠXBOOLE": 71645, + "(il": 71646, + "Ġì²ĺ": 71647, + "Ġjó": 71648, + "(tol": 71649, + "(JS": 71650, + "ĉCG": 71651, + "ĠDRAW": 71652, + "twig": 71653, + "Ġoat": 71654, + "_smooth": 71655, + "ĠCSL": 71656, + "Ġosob": 71657, + "Ġensuing": 71658, + "Ġbanker": 71659, + "ĠBackpack": 71660, + "_ping": 71661, + "Ġwishlist": 71662, + "=ax": 71663, + "ĉĠĠĠĊ": 71664, + "Disney": 71665, + "steady": 71666, + "\">%": 71667, + "Ġprophets": 71668, + "ĠZX": 71669, + "Ġminimalist": 71670, + ".PLAIN": 71671, + "Seattle": 71672, + ".ordinal": 71673, + "ĠPIPE": 71674, + "Ġretorna": 71675, + "Ġjugador": 71676, + "ĠBret": 71677, + "ĠâĶľ": 71678, + "Ġplush": 71679, + "ULATOR": 71680, + "Sorting": 71681, + ".gridy": 71682, + "ectomy": 71683, + "_activ": 71684, + "rack": 71685, + "Interactive": 71686, + "ĠAntarctica": 71687, + "Ġvengeance": 71688, + "enso": 71689, + "_known": 71690, + "upplier": 71691, + ".Modules": 71692, + "ĠConnectionState": 71693, + "éļIJèĹı": 71694, + "@FindBy": 71695, + "Ġplacer": 71696, + "\\model": 71697, + "<()>": 71698, + ".isSuccessful": 71699, + "-good": 71700, + "bz": 71701, + "ĠDraco": 71702, + "Assistant": 71703, + "-extra": 71704, + "аблиÑĨ": 71705, + "Ġhypocrisy": 71706, + "Ġtst": 71707, + "ĠAgr": 71708, + "$txt": 71709, + "Ġlogistic": 71710, + "licensed": 71711, + "ĠHof": 71712, + "Ġtat": 71713, + "(iv": 71714, + "Ġintoxic": 71715, + "postId": 71716, + "_strike": 71717, + "Ġhumiliation": 71718, + "pcodes": 71719, + "\"sync": 71720, + "(recipe": 71721, + "+N": 71722, + "rente": 71723, + "ĉClient": 71724, + "ycopg": 71725, + "ĠZurich": 71726, + "ĠProfiles": 71727, + "Countries": 71728, + "Ġpict": 71729, + "Ġrollout": 71730, + "requencies": 71731, + "Ġpatched": 71732, + "Ġcartridges": 71733, + "Ġshading": 71734, + "Jar": 71735, + "Ġsalvage": 71736, + "ĠTaxes": 71737, + "Ġstandby": 71738, + "aporan": 71739, + "Eigen": 71740, + ".angular": 71741, + "ĠNested": 71742, + "享": 71743, + "ĠisVisible": 71744, + "ĠDwight": 71745, + "_BRANCH": 71746, + ".Delay": 71747, + "Ġkend": 71748, + "Ġfacilitated": 71749, + ".flatMap": 71750, + "Ġsanta": 71751, + "ĉSend": 71752, + "/messages": 71753, + "ĠofType": 71754, + "ĉswap": 71755, + "#plt": 71756, + "ĠTurks": 71757, + "NES": 71758, + "Ġprogressively": 71759, + "ĠResidence": 71760, + "ĠTREE": 71761, + "Ġnoen": 71762, + "dio": 71763, + "Ġnelle": 71764, + "Ġsogar": 71765, + "itti": 71766, + "weekly": 71767, + "Ġambiguity": 71768, + "_Settings": 71769, + "Ware": 71770, + ".neo": 71771, + "_DST": 71772, + "Ġæĸ¹": 71773, + "prep": 71774, + "lobby": 71775, + "@email": 71776, + "/movie": 71777, + "Ġfunkc": 71778, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ": 71779, + "ÂŃs": 71780, + "Ġguardians": 71781, + "-pos": 71782, + "Ġconfiguring": 71783, + "ĠCPS": 71784, + "ĠDeus": 71785, + "Ġvidéos": 71786, + "_empresa": 71787, + "Ġslapped": 71788, + "',Ċ": 71820, + "_XDECREF": 71821, + "ĠBuzzFeed": 71822, + "_MARGIN": 71823, + "PLOY": 71824, + ".small": 71825, + "ĠmimeType": 71826, + "Ġholog": 71827, + "ĉcamera": 71828, + "lias": 71829, + "Ġsuspense": 71830, + "odynam": 71831, + "bau": 71832, + "Ġgraveyard": 71833, + "_named": 71834, + "\":\"'": 71835, + "Ġ************************************************": 71836, + "ĠgameOver": 71837, + "ĠLENGTH": 71838, + "ĉscreen": 71839, + "ĠdoInBackground": 71840, + "_dependencies": 71841, + "Ġrtc": 71842, + "/up": 71843, + "_ROM": 71844, + "Hall": 71845, + "Ġdeficiencies": 71846, + "(te": 71847, + "'#": 71848, + "_equiv": 71849, + "Ġpreorder": 71850, + "ĠAxe": 71851, + "омÑĥ": 71852, + ".sendFile": 71853, + "Ġfilt": 71854, + "ĠLimits": 71855, + "ĠCavaliers": 71856, + ".discount": 71857, + "âĨIJ": 71858, + "ĠWit": 71859, + "QRSTUV": 71860, + "Ġij": 71861, + "Ġtegen": 71862, + "Ġ:\",": 71863, + "difficulty": 71864, + "punkt": 71865, + "ĠEmails": 71866, + "chlor": 71867, + "(fun": 71868, + ".Uint": 71869, + "ĠStall": 71870, + "_verified": 71871, + "uD": 71872, + "FileType": 71873, + "Ġpleasures": 71874, + "Ġjudiciary": 71875, + "Ġsham": 71876, + "ipur": 71877, + "_PLUS": 71878, + "offers": 71879, + "(foo": 71880, + "_GT": 71881, + "ĉcore": 71882, + "ENTION": 71883, + "ĠLiberation": 71884, + "CommandLine": 71885, + "_department": 71886, + ".Ar": 71887, + "_neighbor": 71888, + "ĠSubmitted": 71889, + "ĠĊ": 96121, + "Ġdroits": 96122, + "Ġhomosexuals": 96123, + "Ġabduction": 96124, + "ĉwidget": 96125, + "$headers": 96126, + "ĠDAR": 96127, + "Ġfla": 96128, + "threat": 96129, + "Ġlouis": 96130, + ".GetProperty": 96131, + "\"Just": 96132, + "(frames": 96133, + "ryo": 96134, + "profession": 96135, + "|i": 96136, + "íķ´ìĦľ": 96137, + "(sv": 96138, + "Ġunrecognized": 96139, + "Ionic": 96140, + "Fashion": 96141, + "ScreenState": 96142, + "ĠIncoming": 96143, + "NotNil": 96144, + "Ġsyncing": 96145, + "emie": 96146, + "Ġthermo": 96147, + "_procs": 96148, + "Ġinconsistency": 96149, + "religious": 96150, + ".mj": 96151, + "Ġpersonn": 96152, + "Ġmomentos": 96153, + "orarily": 96154, + "ĠæĬ": 96155, + "_neurons": 96156, + "Illustr": 96157, + "imoto": 96158, + "ilik": 96159, + "ĠWoj": 96160, + "Trading": 96161, + "Ġappare": 96162, + "Ġentreprises": 96163, + "achat": 96164, + "Ġ¬": 96165, + "Ġneigh": 96166, + "BUTTONDOWN": 96167, + "ĠMaher": 96168, + "aghan": 96169, + "-hash": 96170, + "\"f": 96171, + "Ġclientele": 96172, + ".addButton": 96173, + "ĉSP": 96174, + "Qi": 96175, + "Ġgrated": 96176, + "POSITE": 96177, + ":>": 96178, + "ĠHowell": 96179, + "ĠComparative": 96180, + "ĠISC": 96181, + "ÂŃi": 96182, + "Ocean": 96183, + "Davis": 96184, + "ĠFilme": 96185, + "Wins": 96186, + "ĠJIT": 96187, + "occer": 96188, + "ĠCorm": 96189, + "ENCHMARK": 96190, + "rchive": 96191, + "icação": 96192, + "Ġmata": 96193, + "Ġchildbirth": 96194, + "ĠOptionally": 96195, + "Ens": 96196, + "Ġxhttp": 96197, + "Ġelucid": 96198, + "_OscInitStruct": 96199, + "))):Ċ": 96200, + "Ġintuit": 96201, + "ĠDonate": 96202, + "Ġcorrelates": 96203, + ">Delete": 96204, + "Ġequipe": 96205, + "Ġboca": 96206, + "Ġinflatable": 96207, + "erah": 96208, + "ĠDateTimeKind": 96209, + "Ġcalves": 96210, + "\\Lib": 96211, + "Ġemlrt": 96212, + "ĠTrilogy": 96213, + "ĠPanc": 96214, + "ĠDuis": 96215, + "ĠpelÃŃcula": 96216, + "WARDS": 96217, + "_DETECT": 96218, + "-sectional": 96219, + "dhcp": 96220, + "ForRow": 96221, + "-destruct": 96222, + "ĠPresenter": 96223, + "/slick": 96224, + ",on": 96225, + "ĠCitadel": 96226, + "loggedin": 96227, + "_subtype": 96228, + "Ġsigue": 96229, + "Ġcuring": 96230, + "ĠFirewall": 96231, + "Ġfluorescence": 96232, + "ĠItalians": 96233, + "иÑĤÑģÑı": 96234, + ".getStyle": 96235, + "InSeconds": 96236, + "jie": 96237, + "-Smith": 96238, + "Ġxlink": 96239, + "Ġsubmissive": 96240, + "онÑĤ": 96241, + "arbonate": 96242, + "ĠFaul": 96243, + "_goals": 96244, + "ĠCommissioners": 96245, + "chartInstance": 96246, + "_POSTFIELDS": 96247, + "Ġmedial": 96248, + "Ġmanos": 96249, + "Ġdelt": 96250, + "svm": 96251, + ".Apis": 96252, + "ephy": 96253, + "Ġasympt": 96254, + "ĠappDelegate": 96255, + "Ġimprobable": 96256, + "cka": 96257, + "simd": 96258, + "/Error": 96259, + ".âĢĵ": 96260, + "ĠPTS": 96261, + "deer": 96262, + "Ġsina": 96263, + "magnitude": 96264, + "IDADE": 96265, + "']}'": 96266, + "Ġmayores": 96267, + "ĉcomment": 96268, + "/console": 96269, + "\"@": 96270, + "volt": 96271, + ".sell": 96272, + "ĠMacy": 96273, + "Ġmelod": 96274, + "Ġimágenes": 96275, + "_chg": 96276, + "Ġinout": 96277, + "idente": 96278, + ")'),Ċ": 96279, + "dni": 96280, + ".blob": 96281, + "Ġtypography": 96282, + "Ġeerie": 96283, + "_OID": 96284, + "pesan": 96285, + "ajan": 96286, + "Ġchopping": 96287, + "Ġbluff": 96288, + "adf": 96289, + "_bases": 96290, + ".Formatter": 96291, + "Ġ\\%": 96292, + "ĠPageInfo": 96293, + "Carrier": 96294, + "ĠCalibration": 96295, + "como": 96296, + "-bodied": 96297, + "Ġfinancier": 96298, + "ĠINA": 96299, + ".ERR": 96300, + "Ġhoodie": 96301, + "ĠSanity": 96302, + "guarded": 96303, + ".opendaylight": 96304, + "ISMATCH": 96305, + "Highlights": 96306, + "ünk": 96307, + "aniem": 96308, + "angered": 96309, + "assignments": 96310, + "Ġregistrado": 96311, + "ĠUPPER": 96312, + "ampilkan": 96313, + "ashire": 96314, + "ĠNikola": 96315, + "ĠCFL": 96316, + "ĠHDC": 96317, + "Ġpoids": 96318, + "ĠIPs": 96319, + "Ġpreventative": 96320, + "ipsoid": 96321, + "ifix": 96322, + ".camel": 96323, + ".ga": 96324, + "Volumes": 96325, + "-ste": 96326, + "Yahoo": 96327, + "_sibling": 96328, + "Highest": 96329, + "optgroup": 96330, + "Ġkvinna": 96331, + "âĢĿãĢĤĊĊ": 96332, + "ĠAppliances": 96333, + "Ġ\"><": 96334, + "')\")Ċ": 96335, + "htt": 96336, + "ĠIdentified": 96337, + "Ġpencils": 96338, + "ĠmemberId": 96339, + "ĠappendString": 96340, + ".loadData": 96341, + "ĠmockMvc": 96342, + "Ġjub": 96343, + "ĠSlut": 96344, + "ĠTaipei": 96345, + "statt": 96346, + "Polit": 96347, + "Ġpartager": 96348, + "DidChange": 96349, + "Increases": 96350, + ")}.": 96351, + "ĠBaba": 96352, + "_CLIP": 96353, + "[unit": 96354, + "ĠклÑİÑĩ": 96355, + "Ġalcuni": 96356, + "ĠLola": 96357, + "Ġclinging": 96358, + "@PostMapping": 96359, + "(concat": 96360, + "Ġssid": 96361, + "ĠFauc": 96362, + "okit": 96363, + "ĠRecorded": 96364, + "ález": 96365, + "($('<": 96366, + ".assertIsNot": 96367, + "Ġkali": 96368, + "Volt": 96369, + "Ġwarmly": 96370, + "Ġscares": 96371, + "getti": 96372, + "führt": 96373, + "_does": 96374, + ".EMAIL": 96375, + "imations": 96376, + "Ġspringfox": 96377, + "ĠDecom": 96378, + "arcy": 96379, + "Ġglitches": 96380, + "ĠMoff": 96381, + "ĠVoll": 96382, + ".between": 96383, + "Ġcoorden": 96384, + "ĠParticularly": 96385, + "GBP": 96386, + "Ġsemble": 96387, + "Eastern": 96388, + "_MSB": 96389, + "]){čĊ": 96390, + "morgan": 96391, + "ĠEVAL": 96392, + "dere": 96393, + "HOUSE": 96394, + "moire": 96395, + "istique": 96396, + "_lstm": 96397, + "-commit": 96398, + "ysterious": 96399, + "Ġtwink": 96400, + "-thumbnails": 96401, + "enÃŃ": 96402, + ":'',": 96403, + "Ġblackout": 96404, + "ĠFloors": 96405, + "Ġsofas": 96406, + "Ġoui": 96407, + "leshoot": 96408, + "ĠRaq": 96409, + "-abs": 96410, + "Ġkra": 96411, + "Mining": 96412, + "shaft": 96413, + ".setColumns": 96414, + "Clazz": 96415, + "PRETTY": 96416, + ".playlist": 96417, + "éĸ¢": 96418, + "-Saharan": 96419, + "MING": 96420, + "ĉbl": 96421, + "è®®": 96422, + "jf": 96423, + "DOCKER": 96424, + "hopefully": 96425, + "(ignore": 96426, + "ĠUsersController": 96427, + "ĠMitarbeiter": 96428, + "ĠLES": 96429, + "Hamilton": 96430, + "-metadata": 96431, + "ĠKK": 96432, + "iktig": 96433, + "Ġwollte": 96434, + "egrator": 96435, + "]bool": 96436, + ",current": 96437, + "ĠvalueType": 96438, + "Ġexcavation": 96439, + "oland": 96440, + "Ġverv": 96441, + "/filepath": 96442, + "AuthProvider": 96443, + "Ġprocrast": 96444, + "ĉULONG": 96445, + "_MEMBERS": 96446, + "Ġuplift": 96447, + "ĠAutonomous": 96448, + "Ġartworks": 96449, + "ĠOutreach": 96450, + "Ġpore": 96451, + "Homepage": 96452, + "DialogTitle": 96453, + "ĠGenerating": 96454, + "PARSE": 96455, + "Ġsemanas": 96456, + "Ġhumano": 96457, + "JSGlobalScope": 96458, + "Ġvolte": 96459, + "Ġbella": 96460, + "(isinstance": 96461, + "Ġplc": 96462, + "\\Catalog": 96463, + "Ġesteemed": 96464, + "鼷": 96465, + "(suffix": 96466, + "Ġsweeps": 96467, + "ĉORDER": 96468, + "Ġdoivent": 96469, + "ĠSwarm": 96470, + "ĠCompiled": 96471, + "getPage": 96472, + "ADR": 96473, + ".RichTextBox": 96474, + "ĠNaming": 96475, + "agged": 96476, + "ĠGANG": 96477, + "rasing": 96478, + "odeled": 96479, + "Ġgala": 96480, + "ĠJSName": 96481, + "ddf": 96482, + "Ġillust": 96483, + "ĠLansing": 96484, + "[port": 96485, + "-death": 96486, + "Ġdinheiro": 96487, + "ĠEighth": 96488, + "Ġbian": 96489, + "stÃ¥": 96490, + "Ġversión": 96491, + "ĠLinearGradient": 96492, + "ĠHarding": 96493, + ".*)": 96494, + "eczy": 96495, + "$header": 96496, + "ĠvÃ¥r": 96497, + "Unchecked": 96498, + "Ġkoje": 96499, + "ĠPaladin": 96500, + "())),": 96501, + "Giving": 96502, + "()})Ċ": 96503, + "Ġdips": 96504, + "Friendly": 96505, + "Ġportrays": 96506, + "Ġhelium": 96507, + "Ġinsurgency": 96508, + "_expiry": 96509, + "ĠstringByAppendingString": 96510, + "Ġaantal": 96511, + "slope": 96512, + "mast": 96513, + ".getInteger": 96514, + "Ġ########################": 96515, + "_PIPELINE": 96516, + "Ġdensely": 96517, + "Ġmutating": 96518, + "midi": 96519, + "ĠSeit": 96520, + "ayne": 96521, + "NOWLED": 96522, + "ĠDesmond": 96523, + "ĠFName": 96524, + "ĠNairobi": 96525, + "\\Context": 96526, + "Ġcalcular": 96527, + "-den": 96528, + "Ġcott": 96529, + "]):čĊ": 96530, + "ĠRecommendation": 96531, + "ĠRolex": 96532, + "ĠvalidationResult": 96533, + ".pat": 96534, + "ĠnÃły": 96535, + "ĠRestClient": 96536, + "ĠGPI": 96537, + "ĠAsheville": 96538, + "ĠOSP": 96539, + "ĠPERMISSION": 96540, + "ÐĶаÑĤа": 96541, + "/notification": 96542, + "Knight": 96543, + "_Word": 96544, + "ĠBender": 96545, + "ranking": 96546, + "Ġpartida": 96547, + "_reservation": 96548, + "ÌĢ": 96549, + "ĠmName": 96550, + "Ġgetch": 96551, + "Ġborr": 96552, + "Ġdiligent": 96553, + "Discuss": 96554, + "æŃ£åľ¨": 96555, + "apeake": 96556, + "ioned": 96557, + "-Nazi": 96558, + ".cum": 96559, + "ĠKron": 96560, + "=$('#": 96561, + "/single": 96562, + "Ġerotisch": 96563, + "ĠVib": 96564, + "Ġratified": 96565, + "Ġconcerted": 96566, + "ĠREGARD": 96567, + "Ġdobr": 96568, + ".DriverManager": 96569, + "'r": 96570, + "Portable": 96571, + "ĉsuite": 96572, + "Ġrelaciones": 96573, + "ĠDop": 96574, + "emploi": 96575, + "DOB": 96576, + "Ġcrumbs": 96577, + "Ġxls": 96578, + "_Application": 96579, + "(':',": 96580, + "Ġ------------------------------------------------------------------------Ċ": 96581, + "mse": 96582, + "Ġberk": 96583, + "ĠReturnValue": 96584, + "ĠBelly": 96585, + "Ġcamar": 96586, + "ĠPeek": 96587, + "elsing": 96588, + "Ġnotifies": 96589, + "ĠTristan": 96590, + "ĠGAR": 96591, + "emme": 96592, + "ĠElevated": 96593, + "_CSV": 96594, + "(chalk": 96595, + "Ġtwenties": 96596, + "ĠSearchResult": 96597, + "=search": 96598, + "ĠMixing": 96599, + "ýt": 96600, + "Ġrecruiter": 96601, + "ĠIDEOGRAPH": 96602, + "ĠAgo": 96603, + "(Operation": 96604, + "$values": 96605, + "Ġworldly": 96606, + "ĠRosenberg": 96607, + "ĠConfigureServices": 96608, + ">*Ċ": 96705, + "Ġsnork": 96706, + "_opacity": 96707, + "ĠinitWithNibName": 96708, + "iado": 96709, + "AAC": 96710, + "Ġ]).": 96711, + ";z": 96712, + "_paragraph": 96713, + "Ġnoses": 96714, + "stands": 96715, + "ifr": 96716, + "_mE": 96717, + "Iraq": 96718, + ".Predicate": 96719, + "enaire": 96720, + "]]];Ċ": 96721, + "Ġunidad": 96722, + "Ġretirees": 96723, + "_hello": 96724, + "Ġmodele": 96725, + "ĠUITableViewController": 96726, + "fwrite": 96727, + "_numero": 96728, + "_visited": 96729, + "Ġrecebe": 96730, + "(Notification": 96731, + "Fantastic": 96732, + "_submenu": 96733, + "ĠPEM": 96734, + "ĠCupertino": 96735, + "approximately": 96736, + "classed": 96737, + ".ReadString": 96738, + "Ġdomicile": 96739, + "_PW": 96740, + "Ġballpark": 96741, + "ĠKale": 96742, + "contra": 96743, + "_favorite": 96744, + "/of": 96745, + "Quite": 96746, + "ĠOTA": 96747, + "Ġaccelerometer": 96748, + "didn": 96749, + "|^": 96750, + "ĠRohingya": 96751, + "ivicrm": 96752, + "annabin": 96753, + "обÑĭÑĤи": 96754, + "orado": 96755, + "')+": 96756, + "Haunted": 96757, + ",ID": 96758, + "(UIAlertAction": 96759, + "urv": 96760, + "_bel": 96761, + "ĠMexicans": 96762, + "/terms": 96763, + "ĠPainter": 96764, + "InputLabel": 96765, + "ĠVinci": 96766, + "ĠRosie": 96767, + "\\uc": 96768, + "": 96929, + "_gs": 96930, + "Ġcompil": 96931, + "nard": 96932, + "-exc": 96933, + "Ġrhyme": 96934, + "Ġbutto": 96935, + "says": 96936, + "antasy": 96937, + "ë¸": 96938, + "ĠcittÃł": 96939, + "Ġcheg": 96940, + "TimeString": 96941, + "Ġpositivity": 96942, + "ĠDabei": 96943, + "Ġwang": 96944, + "Ġescre": 96945, + "\"c": 96946, + "ĉvideo": 96947, + "ĠRanked": 96948, + ".strings": 96949, + ">>>(": 96950, + "ĠинÑĤеÑĢ": 96951, + "Ġresta": 96952, + "[:,:": 96953, + "Ġrendre": 96954, + "Ġdeser": 96955, + "Jos": 96956, + "Ġdisruptions": 96957, + "ĠопеÑĢ": 96958, + "sampling": 96959, + "suppress": 96960, + "ĠcontainerView": 96961, + "ĠSeamless": 96962, + "Ġairy": 96963, + "Ġonload": 96964, + ".WindowManager": 96965, + "ĠPLA": 96966, + "braco": 96967, + ".setPositiveButton": 96968, + "Ġpdu": 96969, + "Ġgsi": 96970, + "ĠCli": 96971, + "_gradients": 96972, + "Ñıд": 96973, + "ĠWhisper": 96974, + "cstdint": 96975, + "Ġläng": 96976, + "Ġformulations": 96977, + "énom": 96978, + "ournemouth": 96979, + "[$_": 96980, + "Ġordinarily": 96981, + ".setUsername": 96982, + "Ġfaculties": 96983, + "MITTED": 96984, + "/values": 96985, + "Ġweir": 96986, + "ĠApt": 96987, + "MZ": 96988, + "ĉcf": 96989, + "ucken": 96990, + "ĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉ": 96991, + "defense": 96992, + "[iVar": 96993, + "ĠBusinessException": 96994, + "Selectors": 96995, + "(coordinates": 96996, + "ĠResets": 96997, + "ĠDrinks": 96998, + "oleans": 96999, + "(stypy": 97000, + "_IOC": 97001, + ".xxx": 97002, + "ĠSlater": 97003, + "ĠBelize": 97004, + "Ġ/************************************************************************": 97005, + "addin": 97006, + "_episodes": 97007, + "Ġischem": 97008, + "legalArgumentException": 97009, + "Danny": 97010, + "Ġpared": 97011, + ".codehaus": 97012, + "ĠAssy": 97013, + "ĉRect": 97014, + "âŀ": 97015, + ".lista": 97016, + "ĠваÑĪ": 97017, + "Ġvets": 97018, + "HWND": 97019, + "isoner": 97020, + "Ġxo": 97021, + "Ġorally": 97022, + "ĠStmt": 97023, + ".rnn": 97024, + "ĠDPI": 97025, + "ĠStrikes": 97026, + ".setViewportView": 97027, + "ĠèĩªåĬ¨çĶŁæĪIJ": 97028, + "YELLOW": 97029, + "GLenum": 97030, + "partners": 97031, + "ĠImplicit": 97032, + "Ġtako": 97033, + "âĢĻelle": 97034, + "Ġermög": 97035, + "totalCount": 97036, + "Gil": 97037, + "ĉwork": 97038, + "Ġpratic": 97039, + "inati": 97040, + "abies": 97041, + "ĠSkinner": 97042, + "Ġspirited": 97043, + "Ġpancreatic": 97044, + "Ġhdf": 97045, + "'em": 97046, + "Ġpsychosis": 97047, + "olicit": 97048, + "Ġ\"{\"": 97049, + "_atual": 97050, + "Ġélect": 97051, + "TEAM": 97052, + "Ġdak": 97053, + "ĠSWAT": 97054, + ".FragmentManager": 97055, + "Ġprovisioning": 97056, + "lifetime": 97057, + "_EXTENSIONS": 97058, + "ĠCASCADE": 97059, + "Ġ![": 97060, + "(KP": 97061, + "Ġvem": 97062, + "ĠInterracial": 97063, + "']},Ċ": 97064, + "spacer": 97065, + "_kv": 97066, + "Warehouse": 97067, + "RDD": 97068, + "_fsm": 97069, + ".StretchImage": 97070, + ",Yes": 97071, + "ĠRefugee": 97072, + "ĠBringing": 97073, + "Ġválido": 97074, + ".intersection": 97075, + "Ġspooky": 97076, + "_portal": 97077, + "Ġmoth": 97078, + "ĠZodiac": 97079, + "ĠSOCIAL": 97080, + "MimeType": 97081, + "']}}": 97200, + "_Blue": 97201, + "Ġbotanical": 97202, + "Ġfrags": 97203, + "Ġfamilial": 97204, + "-du": 97205, + "Ġseizing": 97206, + "(blocks": 97207, + ".rd": 97208, + ".checkNotNull": 97209, + "Ġmiser": 97210, + "Ġmaxx": 97211, + "ĠKnee": 97212, + "ViewItem": 97213, + "InnerHTML": 97214, + "Danger": 97215, + "((__": 97216, + "Ġprzypad": 97217, + "createUrl": 97218, + "**,": 97219, + "ĠDecorating": 97220, + "ATEGY": 97221, + "?>/": 97222, + ".Designer": 97223, + "hexdigest": 97224, + "ĠEverywhere": 97225, + "alleries": 97226, + ".TEXTURE": 97227, + ".Blocks": 97228, + "zell": 97229, + "Ġpreço": 97230, + "Suddenly": 97231, + "inputEmail": 97232, + "(sync": 97233, + ".bd": 97234, + "golden": 97235, + ">');": 97236, + "ĠDickinson": 97237, + ">>(Ċ": 97238, + "ĠQUEUE": 97239, + "ĠgetColumn": 97240, + "ĠSAND": 97241, + ".piece": 97242, + "licer": 97243, + "Flutter": 97244, + "ĠgetVersion": 97245, + "ĠresourceId": 97246, + "ogl": 97247, + "ÅĤaw": 97248, + ".Branch": 97249, + "ĉweb": 97250, + "Ġframerate": 97251, + "PPP": 97252, + "Ġfray": 97253, + "CNT": 97254, + "Ġinformatie": 97255, + "']čĊčĊ": 97256, + "neas": 97257, + "HeaderCode": 97258, + "Ġæ¸": 97259, + "Ġtrg": 97260, + "rawtypes": 97261, + "Honda": 97262, + "Ġmarketer": 97263, + "ĠrequestData": 97264, + "ĠPg": 97265, + "ĉnot": 97266, + "ĠpageInfo": 97267, + "Ġaktuellen": 97268, + "ãģķãĤĵ": 97269, + "ĠAMS": 97270, + "pushViewController": 97271, + "ĉAL": 97272, + "Ġvests": 97273, + "produce": 97274, + "-même": 97275, + "ĠRahman": 97276, + "Funny": 97277, + "EZ": 97278, + "_Valid": 97279, + "Ġsquadron": 97280, + "Ġlash": 97281, + "Ġirm": 97282, + "iasco": 97283, + "ĠParan": 97284, + "Ġpetites": 97285, + "ĠDecay": 97286, + "Ġuninitialized": 97287, + "privileged": 97288, + "Ġmbedtls": 97289, + "å¤ĩ注": 97290, + "Ġ^.": 97291, + "Ġecstatic": 97292, + "Detroit": 97293, + "Ġparten": 97294, + "Ġsouvenir": 97295, + ".getLogin": 97296, + "моÑĤÑĢ": 97297, + "enção": 97298, + "ĠmÃŃnimo": 97299, + "ĠAccessed": 97300, + "rió": 97301, + "Mic": 97302, + "ĠVocal": 97303, + ".SetString": 97304, + "Ġmensajes": 97305, + "åĢį": 97306, + "Ġattravers": 97307, + "ĠAph": 97308, + "Ġ');čĊ": 97309, + "ünde": 97310, + "Ġenchanted": 97311, + "ĠRootState": 97312, + "ĠCLOSED": 97313, + "ĉĉĉĉĉĉĉĉčĊ": 97314, + "Ġcaliente": 97315, + "orris": 97316, + "Ġphysicists": 97317, + "hwnd": 97318, + "_vi": 97319, + "Ġrápido": 97320, + "Ġcapitalized": 97321, + "edBy": 97322, + "Ġmachining": 97323, + "Ġhubby": 97324, + "ĠStacy": 97325, + ".Bus": 97326, + "drink": 97327, + "Hur": 97328, + "Ġpropia": 97329, + "UnitTest": 97330, + "Ġmisconception": 97331, + "__));Ċ": 97332, + "/dc": 97333, + "ĠMayweather": 97334, + "_mC": 97335, + ".createFrom": 97336, + "ĠQPainter": 97337, + "ropsych": 97338, + "innitus": 97339, + "ayas": 97340, + "Ġgeg": 97341, + "(dw": 97342, + "Ġusado": 97343, + "Ġtrickle": 97344, + "Ġannihil": 97345, + "ĠPasta": 97346, + "Ġ++Ċ": 97347, + "(ExpectedConditions": 97348, + ".postValue": 97349, + "icap": 97350, + "ĠDonetsk": 97351, + "_soup": 97352, + "-publish": 97353, + "ĠPb": 97354, + "mentions": 97355, + "ACCEPT": 97356, + ".Pull": 97357, + ",âĢĻâĢĻ": 97358, + "Ġretarded": 97359, + "_ATOM": 97360, + "ĠTerminator": 97361, + "-court": 97362, + "ĠCLLocationCoordinate": 97363, + "Ġreverence": 97364, + "ĠSSC": 97365, + "utely": 97366, + "ĠWON": 97367, + "ĠGSL": 97368, + "frei": 97369, + ".getLongitude": 97370, + "ĠopenFileDialog": 97371, + ".Butter": 97372, + "-important": 97373, + "_MANY": 97374, + "ĠGong": 97375, + "âĢľHow": 97376, + "Ġgorge": 97377, + "=msg": 97378, + "ĠEzek": 97379, + "createCommand": 97380, + ":checked": 97381, + "Ġinfographic": 97382, + ".WEST": 97383, + "Dirs": 97384, + "Ġguarda": 97385, + "Ġbeetle": 97386, + "Loading": 97460, + "_mA": 97461, + ".getRandom": 97462, + "blings": 97463, + "Ġcheeses": 97464, + "tti": 97465, + ".âĢ¢": 97466, + "ĠBurgess": 97467, + "enderit": 97468, + ".',čĊ": 97469, + "(\"\"+": 97470, + "acb": 97471, + "%p": 97472, + "indexed": 97473, + "_predicate": 97474, + "nesia": 97475, + "Ġbied": 97476, + "ĠCIT": 97477, + "(Pos": 97478, + "_radi": 97479, + "ä»·æł¼": 97480, + "Biz": 97481, + "ĠAdolescent": 97482, + "Ġviên": 97483, + "cycl": 97484, + "_Cancel": 97485, + "Ġconclusive": 97486, + "Ġappellate": 97487, + "informatics": 97488, + "SJ": 97489, + "Ġelective": 97490, + "roleId": 97491, + "Fetcher": 97492, + "ĉCommand": 97493, + "(\"(%": 97494, + "Ġfart": 97495, + "ILA": 97496, + "getBlock": 97497, + "AUSE": 97498, + "Ġдан": 97499, + "ĠArte": 97500, + "Ġnotifying": 97501, + "Ġgele": 97502, + ".same": 97503, + "ĠRegel": 97504, + "ĠBaÅŁ": 97505, + ".creation": 97506, + "ĠVN": 97507, + "_community": 97508, + "Ġunsustainable": 97509, + "SEX": 97510, + "ĠgridSize": 97511, + "rescia": 97512, + "aversable": 97513, + "(',')[": 97514, + "ĠPhelps": 97515, + "á»ķi": 97516, + "ANCELED": 97517, + "-IS": 97518, + ".runners": 97519, + "ĠStokes": 97520, + ".Produ": 97521, + "Ġwhipping": 97522, + "_acquire": 97523, + "Ġinvestigación": 97524, + "fried": 97525, + ".copyWith": 97526, + "ĠHardcover": 97527, + "-Se": 97528, + "áŀ¶áŀ": 97529, + "invitation": 97530, + "lesai": 97531, + "ĠDorm": 97532, + "ĠÑģпиÑģка": 97533, + "Ġconcatenated": 97534, + "ophil": 97535, + "Ġthinker": 97536, + "/fontawesome": 97537, + "ĠLeopard": 97538, + "Ġ\"/\");Ċ": 97539, + "Ġresiduals": 97540, + "ĠMicrowave": 97541, + "Ġconforme": 97542, + "throp": 97543, + "Ġdisemb": 97544, + "ĠOMG": 97545, + "ĠDiscipline": 97546, + "ĠAcrobat": 97547, + "/repository": 97548, + "dfa": 97549, + "_MED": 97550, + "bufio": 97551, + "Ġméthode": 97552, + "_HOLD": 97553, + "iasi": 97554, + "_legacy": 97555, + ")ččĊ": 97556, + "æ£Ģ": 97557, + "GetProcAddress": 97558, + "Ġyay": 97559, + "otence": 97560, + "orderid": 97561, + "-tw": 97562, + "Ġdearly": 97563, + "Incoming": 97564, + "/il": 97565, + "Ġneurop": 97566, + "ucz": 97567, + ");čččĊ": 97568, + "ĠInnovative": 97569, + "Ġprofund": 97570, + "igmat": 97571, + "SelectionMode": 97572, + "relevant": 97573, + ".GO": 97574, + "Ġbruises": 97575, + "Ġsach": 97576, + "odef": 97577, + "Ġreimb": 97578, + "/desktop": 97579, + "-spot": 97580, + "undance": 97581, + "Entropy": 97582, + "\\core": 97583, + "Ġsuger": 97584, + "ĠMvc": 97585, + "ĠGNOME": 97586, + "_indx": 97587, + "ĠYYSTYPE": 97588, + "ĠMatlab": 97589, + "ĠCIF": 97590, + "Ġ*))": 97591, + "ĠproductList": 97592, + "ĠAlright": 97593, + "acemark": 97594, + "ÑĤив": 97595, + "modification": 97596, + "international": 97597, + "Ġhomers": 97598, + "Ġdicts": 97599, + "ĠQFont": 97600, + ".SQLite": 97601, + "Ġtransplantation": 97602, + "ĠMessageBoxButton": 97603, + "ĠElves": 97604, + "']])Ċ": 97605, + "(QIcon": 97606, + "Ġcinemas": 97607, + "COORD": 97608, + "-China": 97609, + "Ġkhẩu": 97610, + "æĪijçļĦ": 97611, + "Ġskulls": 97612, + "Ġpainstaking": 97613, + "fce": 97614, + ".XRLabel": 97615, + "Ġspecifier": 97616, + "Ġpreferring": 97617, + "/activity": 97618, + "(Photo": 97619, + "ált": 97620, + ".lot": 97621, + "''.": 97622, + "annonce": 97623, + ".googlecode": 97624, + "-pdf": 97625, + "ĠPoke": 97626, + "_ACL": 97627, + "Ġendowed": 97628, + "discover": 97629, + ".omg": 97630, + "Ġwoodland": 97631, + ".Magic": 97632, + "Ġvolont": 97633, + "NotAllowed": 97634, + "Ġchave": 97635, + "BMW": 97636, + "','=',": 97637, + "ĠSIX": 97638, + "æĪij们": 97639, + "Ġkosher": 97640, + "Ġaspiration": 97641, + "intl": 97642, + "_refptr": 97643, + "'+Ċ": 97644, + "mentor": 97645, + ".club": 97646, + "WindowState": 97647, + ".ARR": 97648, + "Ġzza": 97649, + "ĠmessageType": 97650, + ".equ": 97651, + "Thor": 97652, + "Ġinjust": 97653, + "Ġgums": 97654, + "ĠborderSide": 97655, + "/////": 97656, + "ĠTransmit": 97657, + "Ġbufsize": 97658, + "Ġhak": 97659, + "Ġellas": 97660, + "RANDOM": 97661, + "ĉmc": 97662, + "Ġpea": 97663, + "eko": 97664, + "documento": 97665, + "Ġhysteria": 97666, + "Ġarenas": 97667, + "Ġgunmen": 97668, + "Ġmike": 97669, + "Ġimpunity": 97670, + "atisation": 97671, + "_Zero": 97672, + "_COMPANY": 97673, + "ĠGors": 97674, + "ĠuseClass": 97675, + "(redis": 97676, + "ĠRUNNING": 97677, + "ĠBair": 97678, + "velte": 97679, + "Ġ','.": 97680, + "аÑĤÑĮÑģÑı": 97681, + "öst": 97682, + "encodeURIComponent": 97683, + "_restrict": 97684, + "Ġdecals": 97685, + "ĠPedido": 97686, + "Ġaltercation": 97687, + "Displays": 97688, + "ĠApplicants": 97689, + "CUS": 97690, + "Textarea": 97691, + "ĠAngola": 97692, + ".future": 97693, + "ĠUSHORT": 97694, + "Ġsuppressing": 97695, + "Ġsetzen": 97696, + "APolynomial": 97697, + "Ġtoch": 97698, + "Ġhallmark": 97699, + "Ġ$$$": 97700, + "ĠCHARSET": 97701, + ".rpm": 97702, + "ĠDich": 97703, + "--------------------": 97704, + "_parm": 97705, + "è¿ĺ": 97706, + "acciones": 97707, + "hait": 97708, + "WARDED": 97709, + "_routing": 97710, + "ĠNOM": 97711, + "Ġenclave": 97712, + "ĠLotto": 97713, + "ĉfr": 97714, + "complexContent": 97715, + "ĠBallard": 97716, + "kube": 97717, + "/win": 97718, + ".getColumnModel": 97719, + "_REPLACE": 97720, + "HeaderValue": 97721, + "Ġestudiantes": 97722, + "Ġapis": 97723, + "Ġbpm": 97724, + "ĠTypeName": 97725, + "AndGet": 97726, + "rita": 97727, + "Plans": 97728, + ">Note": 97729, + "Ġfetisch": 97730, + "Ġtoned": 97731, + "_goto": 97732, + "onsense": 97733, + "Ġmolds": 97734, + "Ġinfiltration": 97735, + "ĠGuerrero": 97736, + "ubbo": 97737, + "cki": 97738, + "($(\".": 97739, + "_activities": 97740, + "(changes": 97741, + "ĠofApp": 97742, + "ĠKepler": 97743, + "ĠDemp": 97744, + "ĠContinent": 97745, + ".Ticks": 97746, + "ĠUnsigned": 97747, + "ĠJahres": 97748, + "Ġfreshmen": 97749, + "ĠArchived": 97750, + "ĠкоÑĤоÑĢÑĭй": 97751, + "Ġ'::": 97752, + "Tutorial": 97753, + "Cc": 97754, + "ĠtableLayoutPanel": 97755, + "fromJson": 97756, + ".levels": 97757, + "_transient": 97758, + "Ġendorsing": 97759, + "ĠDIC": 97760, + "lauf": 97761, + "Ġshred": 97762, + "_EMIT": 97763, + "ificantly": 97764, + "ALA": 97765, + "/proto": 97766, + "Ġnarrowing": 97767, + "Utc": 97768, + "Factors": 97769, + "Ġsentient": 97770, + "æŀIJ": 97771, + "lixir": 97772, + "ĠCROSS": 97773, + "meteor": 97774, + "Ġgroin": 97775, + "Ġmdb": 97776, + "ĠRotterdam": 97777, + "Ġcomida": 97778, + "ĠOpCode": 97779, + "ĠDefaultValue": 97780, + "PermissionsResult": 97781, + "Ġheterogeneous": 97782, + "Ġmoot": 97783, + "Ġdeceived": 97784, + "-independent": 97785, + "ĠObjectOutputStream": 97786, + "Ġoverpower": 97787, + ".dup": 97788, + "Ġldb": 97789, + "Ġdomestically": 97790, + "Ġbestellen": 97791, + "Ġlov": 97792, + "ĠContractors": 97793, + "Triangles": 97794, + "Ġfodder": 97795, + "Ġfilmes": 97796, + "ä¼ģ": 97797, + "Ġrevolver": 97798, + "StartupScript": 97799, + "/validation": 97800, + "ĠResourceType": 97801, + "iÅŁ": 97802, + "ĠLaz": 97803, + "fef": 97804, + "Ġlstm": 97805, + "{*": 97806, + ".attachment": 97807, + ".hits": 97808, + "ewith": 97809, + "DOG": 97810, + "Alabama": 97811, + "Ġmediums": 97812, + ".mContext": 97813, + "-cols": 97814, + "åıĭ": 97815, + ".notice": 97816, + "Ġattn": 97817, + "ĠPacking": 97818, + "ĠLn": 97819, + "_COMPLEX": 97820, + "/Users": 97821, + ".savetxt": 97822, + "ĠRounds": 97823, + "?,?,?,?,": 97824, + "Ġingl": 97825, + "ĠROC": 97826, + "_female": 97827, + "ĠStard": 97828, + "]];": 97829, + "Ġwrestlers": 97830, + "Ġtorrents": 97831, + "Ġsinh": 97832, + "ĊĊ": 97833, + "ë³µ": 97834, + "sense": 97835, + "however": 97836, + ".Physics": 97837, + "Infrastructure": 97838, + "ĠSacr": 97839, + "Fel": 97840, + "ĠDISTRIBUT": 97841, + "éments": 97842, + "ĠValidates": 97843, + "############################################################": 97844, + "Ġ|/": 97845, + "Ġesl": 97846, + "Ġréseau": 97847, + "ĠBip": 97848, + "BYTES": 97849, + "_WATER": 97850, + "Turning": 97851, + "ELS": 97852, + "Ġjuxtap": 97853, + "Ġlesbische": 97854, + "ých": 97855, + "(Unknown": 97856, + "Neo": 97857, + "@JsonProperty": 97858, + "Ġalumnos": 97859, + "ĠRaqqa": 97860, + "imei": 97861, + ".getBounds": 97862, + ".MouseEventHandler": 97863, + "#######": 97864, + "GenericType": 97865, + "/cms": 97866, + "Ġturno": 97867, + "Ġмин": 97868, + "Ġfolklore": 97869, + "ĠEvo": 97870, + "Ġconductivity": 97871, + "Ġleben": 97872, + "Ġgearbox": 97873, + "-vs": 97874, + "ĠÏĨ": 97875, + "Ġdrinkers": 97876, + "Ġconexao": 97877, + "ĠTeeth": 97878, + "ĠgetArguments": 97879, + "ĠRAT": 97880, + "entious": 97881, + "Educ": 97882, + "+W": 97883, + "ĠInstitutional": 97884, + "ĠBord": 97885, + "isEqual": 97886, + "(pwd": 97887, + "Ġignited": 97888, + "ĠRousse": 97889, + "Ġimpactful": 97890, + "ĠMalk": 97891, + "Ġgeral": 97892, + "ĠPivot": 97893, + "Ġazt": 97894, + "Ġcsvfile": 97895, + "ĠRope": 97896, + "ĠSOLUTION": 97897, + "ĠArbitrary": 97898, + "Ġletto": 97899, + ".MouseAdapter": 97900, + "Ġ}}}": 97901, + "ĠSailor": 97902, + "dera": 97903, + "Putting": 97904, + "Ġconcentrates": 97905, + "ĠauthDomain": 97906, + "âĢĿçļĦ": 97907, + "-finals": 97908, + ",strlen": 97909, + "Muon": 97910, + "ĠOrdinary": 97911, + "firefox": 97912, + "ĠLaTeX": 97913, + "ĠHund": 97914, + "engineering": 97915, + "/blue": 97916, + "edTextBox": 97917, + "(\"\");": 97918, + "ĠCDDL": 97919, + "kept": 97920, + "ĠGetString": 97921, + "Kir": 97922, + "()='": 97923, + "ĠOCD": 97924, + "antium": 97925, + "$menu": 97926, + "ĠAppalachian": 97927, + "Secretary": 97928, + "ë¥ĺ": 97929, + "ีย": 97930, + "Semantic": 97931, + "Ġ*[": 97932, + "estone": 97933, + "ungkin": 97934, + "MaxY": 97935, + "-tone": 97936, + "\"};čĊ": 97937, + "_Part": 97938, + "ĊĊ": 98140, + "Lic": 98141, + "ĠMirage": 98142, + "ĠAssemblyFileVersion": 98143, + "TeV": 98144, + "ĠValueEventListener": 98145, + "-solving": 98146, + "Tho": 98147, + "roulette": 98148, + "_WP": 98149, + "Ġuninterrupted": 98150, + "ĠfieldType": 98151, + ".Typed": 98152, + "Ġamour": 98153, + "Ġmockery": 98154, + "(vol": 98155, + "ĠSubcommittee": 98156, + "ĠRuf": 98157, + "erox": 98158, + ":UIButtonTypeCustom": 98159, + "ĠBlur": 98160, + "Ġwykon": 98161, + "nces": 98162, + "ASHBOARD": 98163, + "!!\");Ċ": 98164, + "Ġmurderers": 98165, + ".daily": 98166, + "ĠDIAG": 98167, + "jing": 98168, + "Ġdolphin": 98169, + "Ġlòng": 98170, + "Ġbö": 98171, + "ĠVocabulary": 98172, + ".StObject": 98173, + "')\">": 98174, + "Ġzun": 98175, + "Ġscrimmage": 98176, + "tréal": 98177, + "ĠLig": 98178, + "[vi": 98179, + "Cole": 98180, + "Ġfrosting": 98181, + ".Players": 98182, + "-translate": 98183, + "Feels": 98184, + "=\\\"/": 98185, + ".ButterKnife": 98186, + "Ġ?>;Ċ": 98187, + "Ġavi": 98188, + "innie": 98189, + ".Failure": 98190, + "Ġspindle": 98191, + "ConfigurationException": 98192, + "_hop": 98193, + "Ġposição": 98194, + "ĠAwait": 98195, + "UIImagePickerController": 98196, + "ĉday": 98197, + "Ġgenom": 98198, + "Cab": 98199, + "ĠÑĢезÑĥлÑĮÑĤаÑĤ": 98200, + "ORIGINAL": 98201, + "Ġejaculation": 98202, + "(tcp": 98203, + "SECOND": 98204, + "Ġtonic": 98205, + "ĠListBox": 98206, + "ĠĉĉĊ": 98207, + "()>Ċ": 98208, + "Ġquatre": 98209, + "ượng": 98210, + "withErrors": 98211, + ".Maybe": 98212, + ",â̦": 98213, + "tokenId": 98214, + "_UNDEF": 98215, + "Ġfreshness": 98216, + "ĠAmendments": 98217, + ".mapbox": 98218, + ".CV": 98219, + "(blog": 98220, + "_gettime": 98221, + ".quest": 98222, + "sparse": 98223, + "Ġresale": 98224, + "Ġenthusiastically": 98225, + "ĠProstitutas": 98226, + "Wa": 98227, + "Cargo": 98228, + ".Parcelable": 98229, + "SENSOR": 98230, + "ĠRyu": 98231, + "Laughs": 98232, + "_Native": 98233, + "/pg": 98234, + "ysts": 98235, + "Ġphotoc": 98236, + "ç®Ģ": 98237, + "adopt": 98238, + ".species": 98239, + "conciliation": 98240, + "Adjusted": 98241, + ".FirebaseAuth": 98242, + "uttle": 98243, + "ordination": 98244, + "Ġmunch": 98245, + "ĠStake": 98246, + ".ping": 98247, + "anker": 98248, + "(QStringLiteral": 98249, + "Ġsubscript": 98250, + "ĠĠĉĊ": 98251, + "ĠMCC": 98252, + "_Cmd": 98253, + "sexy": 98254, + "iou": 98255, + "ĠMANY": 98256, + "Ġnanny": 98257, + "TRAIN": 98258, + "Ġflourishing": 98259, + "ĠWatches": 98260, + "ĠQMap": 98261, + "ĠFerm": 98262, + "Ġwasm": 98263, + "ĠAbed": 98264, + "_UD": 98265, + "ĠGlasses": 98266, + "+v": 98267, + "Attend": 98268, + ".Chain": 98269, + "Ġdecency": 98270, + "ĠSupplementary": 98271, + "hunter": 98272, + "-txt": 98273, + "Ġ\"}\";Ċ": 98274, + ".setWindowTitle": 98275, + "(\"": 98377, + "Ġmascara": 98378, + "(Profile": 98379, + "åĬŁèĥ½": 98380, + "imité": 98381, + "Ġwildfires": 98382, + "-ROM": 98383, + ".isOn": 98384, + "(groupId": 98385, + "Repair": 98386, + "accumulate": 98387, + "Ġ<\",": 98388, + "Ġhandwritten": 98389, + "Ġacheter": 98390, + "ĠMGM": 98391, + "ĠIrma": 98392, + "->{_": 98393, + "gee": 98394, + "criminal": 98395, + "Ġèĭ¥è¦ģ": 98396, + "Ġmomentarily": 98397, + "\")!=": 98398, + "_lit": 98399, + "ĠexpiresIn": 98400, + ".\").": 98401, + "éķ¿åº¦": 98402, + "Ġfrække": 98403, + "vlc": 98404, + "Ġorbs": 98405, + "),$": 98406, + "Ġventured": 98407, + "/>\\": 98408, + "charm": 98409, + "Nuitka": 98410, + "eldig": 98411, + "atonin": 98412, + "Witness": 98413, + "-lat": 98414, + "ĠsetHidden": 98415, + "Ġrelics": 98416, + "Ġconsulate": 98417, + ".IGNORE": 98418, + "\"After": 98419, + "ĠsetAddress": 98420, + "Ġbesteht": 98421, + "Ġ'')ĊĊ": 98422, + ".xaxis": 98423, + "Ġserão": 98424, + "Ġmisled": 98425, + "_UNIFORM": 98426, + "ĠVIA": 98427, + "incr": 98428, + "Ġzenith": 98429, + "Ġviscosity": 98430, + "Ġthinly": 98431, + ".getSharedPreferences": 98432, + ".ErrorCode": 98433, + "\"),\"": 98434, + "ĠMillionen": 98435, + "Ġ/>)Ċ": 98436, + "ScrollIndicator": 98437, + "-seeking": 98438, + "ĠPOLITICO": 98439, + "asca": 98440, + "_rl": 98441, + "Navig": 98442, + "(fullfile": 98443, + "Ġsolitude": 98444, + "Ġjuven": 98445, + "Ġhauling": 98446, + "ĠMacros": 98447, + "ĠGry": 98448, + "Ġexercitation": 98449, + "ĠATTACK": 98450, + "TickCount": 98451, + "Ġrites": 98452, + "Ġdoe": 98453, + "ParticleSystem": 98454, + "Ġslu": 98455, + "WindowText": 98456, + "ĠClassName": 98457, + "Ġslander": 98458, + "ĉPort": 98459, + "jong": 98460, + "?a": 98461, + ".Dial": 98462, + "âĢĶat": 98463, + "$objPHPExcel": 98464, + "Ġsoar": 98465, + "ENN": 98466, + "appeared": 98467, + "Ġquotid": 98468, + "emachine": 98469, + "Ġnip": 98470, + "Ġmicrotime": 98471, + "ĠAlma": 98472, + ";!": 98473, + "------------------------------------------------------------------------------------------------": 98474, + "ĠPassage": 98475, + "Ġdumpsters": 98476, + "ĠExclude": 98477, + "Ġsuggestive": 98478, + "ĠCircularProgressIndicator": 98479, + "_clr": 98480, + "ArrayType": 98481, + "ILLA": 98482, + "ElapsedTime": 98483, + "Driven": 98484, + "ĠresourceName": 98485, + "ĠGarrison": 98486, + "serir": 98487, + "-ahead": 98488, + "Ġpinnacle": 98489, + "ĠEspresso": 98490, + "Sparse": 98491, + "Ġassays": 98492, + "ĠGirlfriend": 98493, + "imid": 98494, + "]='\\": 98495, + "ONGLONG": 98496, + "Ġportraying": 98497, + "Lane": 98498, + "Ġbúsqueda": 98499, + "Ġreinforcements": 98500, + "ĠSpreadsheet": 98501, + "ĠArrayCollection": 98502, + ",arr": 98503, + "lightbox": 98504, + "icana": 98505, + "<\"": 98506, + "builders": 98507, + "Kid": 98508, + "ĠMatSnackBar": 98509, + "EXPR": 98510, + "odcast": 98511, + "ĠFoundations": 98512, + "Ġinds": 98513, + "='${": 98514, + "Fizz": 98515, + "-functional": 98516, + "(workspace": 98517, + "Ġstemmed": 98518, + "_patches": 98519, + "ĠJarvis": 98520, + "READING": 98521, + "Ġdisrespectful": 98522, + "ĠQDom": 98523, + "Ġ${Ċ": 98524, + "estatus": 98525, + "Reached": 98526, + "!.ĊĊ": 98527, + "ILT": 98528, + "ĠNDEBUG": 98529, + "ĠCourage": 98530, + "birthdate": 98531, + "ĠTing": 98532, + "Ġutilizado": 98533, + "ánchez": 98534, + "Outdoor": 98535, + "Ġhandguns": 98536, + "RefCount": 98537, + "ÉĻ": 98538, + "romo": 98539, + "Ġtts": 98540, + ".She": 98541, + "ĠPane": 98542, + "ãĢij,ãĢIJ": 98543, + "ĠIOCTL": 98544, + "/black": 98545, + "inscription": 98546, + "Ġbiopsy": 98547, + "ĠTimeInterval": 98548, + ".TestCheck": 98549, + "ĠGUIStyle": 98550, + "ĠCapability": 98551, + "ĠBeitrag": 98552, + "donnees": 98553, + "Treatment": 98554, + ".backup": 98555, + "Ġsignings": 98556, + "ĠBoca": 98557, + "drm": 98558, + ".MAIN": 98559, + "Ġgoede": 98560, + "ĠMarkup": 98561, + "GREE": 98562, + "ĠBaseService": 98563, + ".Creator": 98564, + "Ġjails": 98565, + "ĠKahn": 98566, + "IpAddress": 98567, + "ACHI": 98568, + "Ġinhibited": 98569, + "Ġ@$_": 98570, + "ĠAssass": 98571, + "Ġenviado": 98572, + "Heroes": 98573, + "ÐŁÐµÑĢ": 98574, + "ĠMaven": 98575, + ".ls": 98576, + "Ġive": 98577, + "|RF": 98578, + "ĠresizeMode": 98579, + "Ġrumpe": 98580, + "_attachments": 98581, + "TU": 98582, + "Ġtactile": 98583, + "Attempting": 98584, + "Ġrobin": 98585, + "yaw": 98586, + "Ġmercenaries": 98587, + "ĠHabitat": 98588, + "enddate": 98589, + "Ġoxy": 98590, + "ĉRandom": 98591, + "ohon": 98592, + "IsNull": 98593, + "ĠValidationResult": 98594, + "ãĥļ": 98595, + "umbed": 98596, + "ppv": 98597, + "Ġarp": 98598, + "ichick": 98599, + "_rnn": 98600, + "ĠTFT": 98601, + "TexImage": 98602, + "\"On": 98603, + "ĠSampler": 98604, + "topl": 98605, + "Ġjane": 98606, + "yling": 98607, + "ĠUNICODE": 98608, + "TabIndex": 98609, + "<{Ċ": 98610, + "suspend": 98611, + "uvian": 98612, + ",application": 98613, + "олиÑĩеÑģÑĤво": 98614, + "yat": 98615, + "ezier": 98616, + "ĠCHUNK": 98617, + "ĠAdler": 98618, + "/Add": 98619, + "ĠKeyValue": 98620, + "Ġsposób": 98621, + "Sampling": 98622, + "chers": 98623, + "_AMD": 98624, + "Ru": 98625, + ".MustCompile": 98626, + "Nation": 98627, + "Assoc": 98628, + "Managing": 98629, + "ĠEngl": 98630, + "_GB": 98631, + "Ġsuccinct": 98632, + "Ġdisliked": 98633, + "ĠIke": 98634, + "Bulletin": 98635, + "_ARCHIVE": 98636, + "Proposal": 98637, + "Ġjogging": 98638, + ".CREATED": 98639, + "Ġchol": 98640, + "è£ħ": 98641, + "Į¨": 98642, + "-push": 98643, + "Ġreserva": 98644, + "corev": 98645, + "ètre": 98646, + "THR": 98647, + "Ġincompetence": 98648, + "Ġcharisma": 98649, + "æĦŁ": 98650, + "Ġ\"==": 98651, + "BTN": 98652, + "ĠLocator": 98653, + "ivet": 98654, + "('.')Ċ": 98655, + "ĠforIndexPath": 98656, + "ôme": 98657, + "Ġcapacit": 98658, + "waters": 98659, + "ĠWRONG": 98660, + "hoa": 98661, + "ĠMIPS": 98662, + "Ġemiss": 98663, + "ĠJacqueline": 98664, + "(cmp": 98665, + "Ġeens": 98666, + "Leo": 98667, + ".timing": 98668, + "CLUSION": 98669, + "Ġ(\"-": 98670, + "åĵĪ": 98671, + ".kode": 98672, + "ĠUndert": 98673, + "Ġbewild": 98674, + "ĠEssen": 98675, + ".hd": 98676, + "Ġrenegot": 98677, + "Ġmower": 98678, + "Ġlsp": 98679, + "Ġpenchant": 98680, + "Ġmanoe": 98681, + "Ġagli": 98682, + "Ġrecal": 98683, + "ĠOPERATION": 98684, + "(^)(": 98685, + "Ġν": 98686, + "ĠScoped": 98687, + "Ġ@\"Ċ": 98688, + "=label": 98689, + "[loc": 98690, + "Intl": 98691, + "ĠNz": 98692, + "tablet": 98693, + ".ColumnName": 98694, + "ĠscreenSize": 98695, + "DBus": 98696, + "cooked": 98697, + "-registration": 98698, + "âĢľOne": 98699, + "-non": 98700, + "ĠwiÄĻc": 98701, + "Ġcosta": 98702, + ".addTab": 98703, + ".conditions": 98704, + "ĠHess": 98705, + "MEMORY": 98706, + "ĠAvalanche": 98707, + "()}}Ċ": 98708, + "Ġtriplet": 98709, + "Ġlabyrinth": 98710, + "ĠNodeList": 98711, + "ĠNYT": 98712, + "Ġyeni": 98713, + "dff": 98714, + ".HtmlControls": 98715, + "AVIS": 98716, + "/Math": 98717, + "Ġmemcmp": 98718, + "اء": 98719, + "оÑģÑĮ": 98720, + "crap": 98721, + "(pages": 98722, + "Ġlxml": 98723, + "ĠQDateTime": 98724, + "_tcb": 98725, + "Ġopenid": 98726, + "Ġsynaptic": 98727, + "ĠMDMA": 98728, + "(slug": 98729, + "igmatic": 98730, + "enor": 98731, + "Ġcramped": 98732, + "GOP": 98733, + "ŃIJ": 98734, + ".isFile": 98735, + "ĠDifferential": 98736, + "Ġ=\"\";Ċ": 98737, + "ĉĉĉĠĠĠĠĉ": 98738, + "ĠCooke": 98739, + "ĉUFUNCTION": 98740, + "Ġperseverance": 98741, + "RelativeLayout": 98742, + "IMPORTANT": 98743, + "Ġexon": 98744, + "Ġон": 98745, + "ibase": 98746, + "(CONT": 98747, + "novation": 98748, + "ä½ķ": 98749, + "[sub": 98750, + "AdminController": 98751, + "HTTPHeader": 98752, + "crear": 98753, + "ĠNIR": 98754, + "ĠDropDownList": 98755, + "Ġvalide": 98756, + "Ġdehydration": 98757, + ".']": 98758, + "(WIN": 98759, + "Ġ...\\": 98760, + "Ġphotoshop": 98761, + "ĉInit": 98762, + "_cou": 98763, + "ĠtimeZone": 98764, + "darwin": 98765, + "romatic": 98766, + "NavigationItemSelectedListener": 98767, + "brates": 98768, + "]--;Ċ": 98769, + "Ġtragedies": 98770, + "ĠPediatrics": 98771, + "SMART": 98772, + "-API": 98773, + "ĠMessageLookup": 98774, + "ĉvo": 98775, + "Ġprejudices": 98776, + "ĠmA": 98777, + "Ups": 98778, + "ĠMISSING": 98779, + "ĉad": 98780, + "Cream": 98781, + "ĠTb": 98782, + "ĠMona": 98783, + "_ghost": 98784, + "ĉtypes": 98785, + "Emb": 98786, + "ĠDocumentary": 98787, + "');ĊĊĊĊ": 98788, + "Ġlup": 98789, + "_Reference": 98790, + "ĠBATCH": 98791, + "Ġintertwined": 98792, + "": 98915, + "Ġfoyer": 98916, + "'utilisation": 98917, + "ĠMüller": 98918, + "ĠFetish": 98919, + "ĠdefaultManager": 98920, + "Ġbacktrack": 98921, + "Bah": 98922, + "Explicit": 98923, + "_ASCII": 98924, + "ĠmActivity": 98925, + "(Msg": 98926, + "Ġê²Į": 98927, + "ĠTERMS": 98928, + "ĠAngie": 98929, + "HSV": 98930, + "ĠMosque": 98931, + ".Names": 98932, + "íĬ¼": 98933, + "reste": 98934, + "_parms": 98935, + "Ġgaping": 98936, + "Ġcropping": 98937, + "DataFrame": 98938, + "Ġresponsiveness": 98939, + "_undo": 98940, + "_tran": 98941, + ".terminate": 98942, + "Ġitaliane": 98943, + "Ġwalkthrough": 98944, + "Ġattractiveness": 98945, + "де": 98946, + "_STS": 98947, + "_learn": 98948, + "Ġchocolates": 98949, + "ierarchical": 98950, + "-thinking": 98951, + "Ġ)))": 98952, + "ishments": 98953, + ".Logf": 98954, + "ĠTMZ": 98955, + "ĠCanary": 98956, + "foil": 98957, + "ĠVaccine": 98958, + ".vx": 98959, + "ĠSurround": 98960, + "Intermediate": 98961, + "Ġiov": 98962, + "vais": 98963, + "';\";Ċ": 98964, + "ï½ŀĊĊ": 98965, + "éĢģæĸĻ": 98966, + "â̦it": 98967, + "Seats": 98968, + "Clar": 98969, + "Wars": 98970, + "ĠHutchinson": 98971, + "ĠHasan": 98972, + "!')ĊĊ": 98973, + "ĠRichie": 98974, + "cheiden": 98975, + "($('": 98976, + "York": 98977, + "Ġlids": 98978, + "Ġalphanumeric": 98979, + "ĠGlock": 98980, + ".shapes": 98981, + "Ġsparking": 98982, + "_epsilon": 98983, + "uplicated": 98984, + ".dirty": 98985, + "])==": 98986, + "ĠìľĦì¹ĺ": 98987, + "Ġscn": 98988, + "Ġ/****************************************************************": 98989, + "_PREVIEW": 98990, + "_HC": 98991, + "ielding": 98992, + "fgets": 98993, + "ĠAddison": 98994, + "ĠproductService": 98995, + "-figure": 98996, + "(retval": 98997, + "zano": 98998, + "Ġautob": 98999, + "ĉsd": 99000, + "_numer": 99001, + "ĠSetLastError": 99002, + "ĠFior": 99003, + "ificance": 99004, + "Untitled": 99005, + "Ġinfield": 99006, + "Ġ{}));Ċ": 99007, + "Ġspac": 99008, + "Ġrookies": 99009, + "(describing": 99010, + "ngen": 99011, + "ிà®": 99012, + ".rdf": 99013, + ".Mutex": 99014, + "Ġkneeling": 99015, + "ĠQE": 99016, + "setMax": 99017, + "ReadStream": 99018, + "Ġventas": 99019, + "sut": 99020, + "cmpeq": 99021, + ".WriteAllText": 99022, + "ĠExperienced": 99023, + "$__": 99024, + "Ġkaum": 99025, + "ĠLIS": 99026, + "Ġdocumentos": 99027, + "_HEALTH": 99028, + "icontains": 99029, + "Ġartisans": 99030, + "OWNER": 99031, + "Ġblinked": 99032, + "getDisplay": 99033, + "Ġtoen": 99034, + "ĠrowNum": 99035, + "Ġavril": 99036, + "Ġinvis": 99037, + "ĠKear": 99038, + "toBeInTheDocument": 99039, + "apur": 99040, + "Ġracked": 99041, + "ĠMcMaster": 99042, + "_ATTRIB": 99043, + "Haz": 99044, + "Ġfactura": 99045, + "/ts": 99046, + "ĠÑĢазмеÑĢ": 99047, + "Ġzf": 99048, + "Ġshortfall": 99049, + ".fasta": 99050, + "ĠCONSTANT": 99051, + ".managed": 99052, + "gems": 99053, + "SharedPointer": 99054, + "Ġblurry": 99055, + "brightness": 99056, + "(components": 99057, + "Ġ...\"ĊĊ": 99058, + "SELL": 99059, + "ĠIllustrator": 99060, + ".getChannel": 99061, + "Ġtrouvé": 99062, + "ysters": 99063, + "Ġvois": 99064, + "ĠLinden": 99065, + "Ġemojis": 99066, + "Ġbrawl": 99067, + "ĠMSR": 99068, + "ĠElo": 99069, + "ĠCroatian": 99070, + "PopupMenu": 99071, + "Lewis": 99072, + ".JWT": 99073, + "Ġastonished": 99074, + "Bush": 99075, + "(itemId": 99076, + "Ġdetachment": 99077, + "ĠEncore": 99078, + "å°Ķ": 99079, + "Ġrekl": 99080, + "Ġcram": 99081, + ")$/": 99082, + ".getHost": 99083, + "_recommend": 99084, + "-HT": 99085, + "_calibration": 99086, + "Authenticate": 99087, + ".firebaseapp": 99088, + "UNIX": 99089, + "ĉCamera": 99090, + "ĠHEAP": 99091, + "Ideal": 99092, + ".office": 99093, + "Ġgoofy": 99094, + "(Symbol": 99095, + "Ġjouer": 99096, + "_partitions": 99097, + "Ġrapidement": 99098, + "ĠGNUNET": 99099, + "idUser": 99100, + "Ġsupervise": 99101, + "(Contact": 99102, + "AWN": 99103, + "ãģĺ": 99104, + "Ġnaam": 99105, + "Ġaust": 99106, + "åľ¨çº¿": 99107, + "_softmax": 99108, + "AllowAnonymous": 99109, + "ammable": 99110, + "ROUTE": 99111, + "*D": 99112, + "Ġaden": 99113, + "ĠCristina": 99114, + "ĠCristiano": 99115, + "Ġbloodstream": 99116, + "subclass": 99117, + "_persona": 99118, + "CHILD": 99119, + "-know": 99120, + "ĠnavigationOptions": 99121, + "ĠZukunft": 99122, + "ĠPixar": 99123, + "Tyler": 99124, + "Ġunderworld": 99125, + "Ġsincerity": 99126, + "Ġdispenser": 99127, + "Ġkter": 99128, + "idders": 99129, + ".addNode": 99130, + "-checked": 99131, + "Ġkeyst": 99132, + "ĠWTO": 99133, + ".signals": 99134, + "Ġadventurer": 99135, + "ĠPang": 99136, + "\\R": 99137, + "=pos": 99138, + "Ġdispensaries": 99139, + "ĠCloset": 99140, + "(\"{\\\"": 99141, + "ideon": 99142, + "Ġnécessaire": 99143, + "()\"Ċ": 99144, + "_RECEIVED": 99145, + "Ġrésultats": 99146, + "Ġmoden": 99147, + "ĠIcelandic": 99148, + ";d": 99149, + ".allowed": 99150, + "(newUser": 99151, + "Ġmerciless": 99152, + ".WaitFor": 99153, + "Ġdaycare": 99154, + "ĠConveyor": 99155, + "çĸ": 99156, + "ð¬": 99157, + "çĥ": 99158, + "çĹ": 99159, + "çł": 99160, + "èĦ": 99161, + "é²": 99162, + "å¦": 99163, + "çĿĢ": 99164, + "å¾Ī": 99165, + "éħ": 99166, + "çĭ": 99167, + "éª": 99168, + "æĤ": 99169, + "é¥": 99170, + "èħ": 99171, + "æĥ³": 99172, + "å¨": 99173, + "é¹": 99174, + "çĤ": 99175, + "åĴ": 99176, + "çĮ": 99177, + "è´¨": 99178, + "æ¢": 99179, + "æ°Ķ": 99180, + "ð«": 99181, + "æķĻ": 99182, + "çŁ": 99183, + "åĦ": 99184, + "åıijå±ķ": 99185, + "åĪĽ": 99186, + "èij": 99187, + "æħ": 99188, + "åŀ": 99189, + "åģļ": 99190, + "æĪĺ": 99191, + "æIJ": 99192, + "强": 99193, + "æ·±": 99194, + "åĩł": 99195, + "ç¿": 99196, + "å©": 99197, + "èŀ": 99198, + "å§Ķ": 99199, + "åIJĦ": 99200, + "èİ": 99201, + "é¸": 99202, + "éº": 99203, + "åıĹ": 99204, + "èģĮ": 99205, + "åĺ": 99206, + "æ½": 99207, + "é£İ": 99208, + "èIJ¥": 99209, + "åħļ": 99210, + "èľ": 99211, + "éĤ£": 99212, + "é¢Ĩ": 99213, + "çij": 99214, + "é³": 99215, + "æľ¯": 99216, + "ä»Ģ": 99217, + "æĪ¿": 99218, + "ç²¾": 99219, + "åª": 99220, + "éĨ": 99221, + "太": 99222, + "èĤ¡": 99223, + "èĽ": 99224, + "åħī": 99225, + "æŀģ": 99226, + "åĬŀ": 99227, + "èĵ": 99228, + "çĺ": 99229, + "å´": 99230, + "åĹ": 99231, + "èĬ±": 99232, + "çłĶ": 99233, + "å¿«": 99234, + "å¸Ī": 99235, + "è¶Ĭ": 99236, + "è§Ĥ": 99237, + "æ¤": 99238, + "æ¦": 99239, + "çŀ": 99240, + "èĤ²": 99241, + "çα": 99242, + "çϽ": 99243, + "ä¸ĸ": 99244, + "ä»Ģä¹Ī": 99245, + "çľ¼": 99246, + "å³": 99247, + "èĴ": 99248, + "æĵ": 99249, + "被": 99250, + "å¹²": 99251, + "çĹħ": 99252, + "士": 99253, + "çĴ": 99254, + "è¸": 99255, + "æ¾": 99256, + "å·¥ä½ľ": 99257, + "让": 99258, + "çĥŃ": 99259, + "è¾ĥ": 99260, + "åĦ¿": 99261, + "åĬ©": 99262, + "积": 99263, + "ç³": 99264, + "çĵ": 99265, + "ç£": 99266, + "åĤ": 99267, + "è¹": 99268, + "èļ": 99269, + "å·±": 99270, + "çϾ": 99271, + "åĬ¿": 99272, + "èµĽ": 99273, + "æ¨": 99274, + "æ¿": 99275, + "èĸ": 99276, + "æĿij": 99277, + "带": 99278, + "å¢ĥ": 99279, + "æĬ¤": 99280, + "éŃ": 99281, + "å«": 99282, + "èĩªå·±": 99283, + "æµİ": 99284, + "ä½İ": 99285, + "åĮ»": 99286, + "éĺ²": 99287, + "åĨľ": 99288, + "èĨ": 99289, + "çĨ": 99290, + "é«": 99291, + "åĨĽ": 99292, + "æĪı": 99293, + "åįĩ": 99294, + "æĸ¯": 99295, + "ä½ı": 99296, + "èIJ½": 99297, + "åħ»": 99298, + "èĩ´": 99299, + "çĬ": 99300, + "çĩ": 99301, + "çħ": 99302, + "èĶ": 99303, + "ä¼ģä¸ļ": 99304, + "åĽ¢": 99305, + "æīį": 99306, + "æł¡": 99307, + "åĩĨ": 99308, + "å¥ĩ": 99309, + "åī¯": 99310, + "é¼": 99311, + "æ¼Ķ": 99312, + "马": 99313, + "èµ°": 99314, + "ç¥ŀ": 99315, + "åħĭ": 99316, + "æľĽ": 99317, + "æ²¹": 99318, + "è¾¹": 99319, + "åįĥ": 99320, + "å¾Ģ": 99321, + "åĪĩ": 99322, + "æ©": 99323, + "ç¶": 99324, + "åĻ": 99325, + "éĻħ": 99326, + "çīĮ": 99327, + "社ä¼ļ": 99328, + "游æĪı": 99329, + "æĸ½": 99330, + "çħ§": 99331, + "æİ§": 99332, + "满": 99333, + "è¯Ĩ": 99334, + "éĩįè¦ģ": 99335, + "è¶³": 99336, + "çķĻ": 99337, + "ç»Ĩ": 99338, + "åįı": 99339, + "éĢĤ": 99340, + "æĩ": 99341, + "æ§": 99342, + "éĦ": 99343, + "èĿ": 99344, + "å¸Ĥåľº": 99345, + "ç»ıæµİ": 99346, + "ä¹ł": 99347, + "æĸĩåĮĸ": 99348, + "éļ¾": 99349, + "ä¹IJ": 99350, + "åĨ³": 99351, + "欢": 99352, + "è§ī": 99353, + "åĽŃ": 99354, + "åħ´": 99355, + "åħħ": 99356, + "举": 99357, + "æī¹": 99358, + "èķ": 99359, + "æĬĬ": 99360, + "æĬĢæľ¯": 99361, + "ç©¶": 99362, + "第ä¸Ģ": 99363, + "便": 99364, + "åĵį": 99365, + "çİ©": 99366, + "åĿļ": 99367, + "èŀį": 99368, + "åįĬ": 99369, + "åĸľ": 99370, + "å±Ĥ": 99371, + "离": 99372, + "ä»ħ": 99373, + "éŁ": 99374, + "åij³": 99375, + "念": 99376, + "åŃ£": 99377, + "ç´§": 99378, + "ä¹ħ": 99379, + "é¤": 99380, + "éŀ": 99381, + "è¤": 99382, + "åĢĻ": 99383, + "åĨµ": 99384, + "çŁ³": 99385, + "åģ¥": 99386, + "æĢİ": 99387, + "å®Ŀ": 99388, + "è¡Ģ": 99389, + "åŁŁ": 99390, + "æĹ©": 99391, + "çŁ¥éģĵ": 99392, + "è´Ł": 99393, + "åįļ": 99394, + "å·´": 99395, + "亲": 99396, + "å±ŀ": 99397, + "严": 99398, + "äºī": 99399, + "å¯Ł": 99400, + "èº": 99401, + "ç°": 99402, + "建设": 99403, + "产ä¸ļ": 99404, + "åIJĥ": 99405, + "åŃ©": 99406, + "æĹħ": 99407, + "æł¹": 99408, + "æĿIJ": 99409, + "ä¼Ĺ": 99410, + "éļı": 99411, + "å®ĺ": 99412, + "åºķ": 99413, + "彩": 99414, + "å¯Į": 99415, + "温": 99416, + "åį«": 99417, + "åī§": 99418, + "çĽĬ": 99419, + "æĬĹ": 99420, + "è´¢": 99421, + "纪": 99422, + "æĨ": 99423, + "çĶŁæ´»": 99424, + "红": 99425, + "çĶŁäº§": 99426, + "è¿ľ": 99427, + "éĴ±": 99428, + "åĶ®": 99429, + "群": 99430, + "çıŃ": 99431, + "楼": 99432, + "éĩĩ": 99433, + "èīº": 99434, + "å±ħ": 99435, + "åģĩ": 99436, + "è°Ī": 99437, + "æĻļ": 99438, + "é¬": 99439, + "èĪª": 99440, + "害": 99441, + "èĹ": 99442, + "çį": 99443, + "åµ": 99444, + "çİĭ": 99445, + "康": 99446, + "èİ·": 99447, + "ç»Ń": 99448, + "äºļ": 99449, + "é£Ł": 99450, + "åİĭ": 99451, + "æĭĽ": 99452, + "èĮĥ": 99453, + "许": 99454, + "åĽ´": 99455, + "é½": 99456, + "éĻį": 99457, + "纳": 99458, + "åĵª": 99459, + "æķĻèĤ²": 99460, + "å·²ç»ı": 99461, + "å¾·": 99462, + "æŀĹ": 99463, + "å®īåħ¨": 99464, + "é¾Ļ": 99465, + "大家": 99466, + "éĿĴ": 99467, + "åºľ": 99468, + "æ²³": 99469, + "åı¤": 99470, + "èį¯": 99471, + "åĿĩ": 99472, + "æĻº": 99473, + "乡": 99474, + "çķ¥": 99475, + "åĨ·": 99476, + "ç¦ı": 99477, + "室": 99478, + "ç»´": 99479, + "æī¿": 99480, + "å±Ĭ": 99481, + "è¯ī": 99482, + "åĪ»": 99483, + "èŁ": 99484, + "æª": 99485, + "å°±æĺ¯": 99486, + "è¿Ļ个": 99487, + "ä¸Ńå¿ĥ": 99488, + "ä¸ĸçķĮ": 99489, + "åŁİå¸Ĥ": 99490, + "éĿŀ常": 99491, + "åĪĴ": 99492, + "åıĮ": 99493, + "æĢİä¹Ī": 99494, + "åΰäºĨ": 99495, + "æľĥ": 99496, + "åı²": 99497, + "ä¾Ĩ": 99498, + "å¾ĭ": 99499, + "å¥ĸ": 99500, + "ç»Ī": 99501, + "åªĴ": 99502, + "å®ģ": 99503, + "课": 99504, + "èģĮä¸ļ": 99505, + "åħį": 99506, + "æµĭ": 99507, + "æĢ¥": 99508, + "æķij": 99509, + "çĭ¬": 99510, + "èѦ": 99511, + "é¤IJ": 99512, + "æĦ¿": 99513, + "è´«": 99514, + "çĸij": 99515, + "åļ": 99516, + "她": 99517, + "åıĪ": 99518, + "åĽłä¸º": 99519, + "ä¸įæĺ¯": 99520, + "å¤Ł": 99521, + "æĸ¹éĿ¢": 99522, + "éķĩ": 99523, + "äºĴ": 99524, + "éħĴ": 99525, + "讲": 99526, + "çĸĹ": 99527, + "æĺ¥": 99528, + "æ¹ĸ": 99529, + "å¤ľ": 99530, + "责任": 99531, + "人æ°ij": 99532, + "åħ°": 99533, + "çŁŃ": 99534, + "æķħ": 99535, + "åĩı": 99536, + "æĻ®": 99537, + "亮": 99538, + "ä¾Ŀ": 99539, + "åį°": 99540, + "éĿĻ": 99541, + "åĢĭ": 99542, + "å¾ģ": 99543, + "åIJ¸": 99544, + "缺": 99545, + "æĶ»": 99546, + "åĩĢ": 99547, + "åħ¸": 99548, + "åĽº": 99549, + "访": 99550, + "ç¹": 99551, + "çĢ": 99552, + "æıIJä¾Ľ": 99553, + "ç»ĩ": 99554, + "å¾Īå¤ļ": 99555, + "çłĶç©¶": 99556, + "è·Ł": 99557, + "主è¦ģ": 99558, + "æĥħåĨµ": 99559, + "çŃĸ": 99560, + "æŃ»": 99561, + "大åѦ": 99562, + "æĶ¿åºľ": 99563, + "å½±åĵį": 99564, + "ä¹°": 99565, + "åħŃ": 99566, + "éĻ©": 99567, + "åħ«": 99568, + "æŁIJ": 99569, + "è´¨éĩı": 99570, + "åįł": 99571, + "å·®": 99572, + "æĽ´å¤ļ": 99573, + "æľĭ": 99574, + "éĿ©": 99575, + "宣": 99576, + "çł´": 99577, + "è½»": 99578, + "座": 99579, + "æĺ¾": 99580, + "稳": 99581, + "è´µ": 99582, + "èĥĮ": 99583, + "èī¯": 99584, + "çĸ«": 99585, + "æ¯Ĵ": 99586, + "ä¹İ": 99587, + "åĢŁ": 99588, + "è¿·": 99589, + "çŃĶ": 99590, + "æ¿Ģ": 99591, + "åij¼": 99592, + "äºĨä¸Ģ": 99593, + "è¶£": 99594, + "ä¼´": 99595, + "ä¼Ļ": 99596, + "è¼": 99597, + "ð¬Ń": 99598, + "åĽ½å®¶": 99599, + "æ´»åĬ¨": 99600, + "çİ°åľ¨": 99601, + "ç§ijæĬĢ": 99602, + "åį¡": 99603, + "ä¸įåIJĮ": 99604, + "个人": 99605, + "è®°èĢħ": 99606, + "ä¸įæĸŃ": 99607, + "éĹ»": 99608, + "ä¹Ŀ": 99609, + "èijĹ": 99610, + "综": 99611, + "ä¸ĥ": 99612, + "æłij": 99613, + "æľĭåıĭ": 99614, + "åįĸ": 99615, + "伤": 99616, + "æ²Ļ": 99617, + "åĸĦ": 99618, + "å¥Ĺ": 99619, + "è½®": 99620, + "ç©¿": 99621, + "è¡¥": 99622, + "ä¸Ģå®ļ": 99623, + "çªģ": 99624, + "çĿ£": 99625, + "追": 99626, + "å¨ģ": 99627, + "åı¦": 99628, + "åĽ°": 99629, + "æŀ¶": 99630, + "ç»Ŀ": 99631, + "æķ£": 99632, + "æİ¢": 99633, + "æ´Ĺ": 99634, + "临": 99635, + "ä¼¼": 99636, + "è´¸": 99637, + "丰": 99638, + "æĺ¯ä¸Ģ": 99639, + "ç«ŀ": 99640, + "è¿İ": 99641, + "èģļ": 99642, + "è«": 99643, + "æįŁ": 99644, + "æī§": 99645, + "驾": 99646, + "è¿Ŀ": 99647, + "è¥": 99648, + "èł": 99649, + "ä»ĸ们": 99650, + "æĹ¶åĢĻ": 99651, + "å®ĥ": 99652, + "人åijĺ": 99653, + "è¿Ļæł·": 99654, + "å·¥ç¨ĭ": 99655, + "åĪĽæĸ°": 99656, + "åŃ©åŃIJ": 99657, + "å¸Į": 99658, + "éĥ¨åĪĨ": 99659, + "éĵ¶": 99660, + "代表": 99661, + "é¦Ļ": 99662, + "帮": 99663, + "æİ¨è¿Ľ": 99664, + "çĽĺ": 99665, + "积æŀģ": 99666, + "éĥ¨éŨ": 99667, + "åŁ¹": 99668, + "æŃ¦": 99669, + "ä¸įä¼ļ": 99670, + "çŃij": 99671, + "éĢĻ": 99672, + "çݩ家": 99673, + "æĭ¿": 99674, + "åİĤ": 99675, + "æ¯Ľ": 99676, + "çģµ": 99677, + "æŃĮ": 99678, + "绿": 99679, + "å¦Ī": 99680, + "缼": 99681, + "é¦Ĩ": 99682, + "顺": 99683, + "èĦ¸": 99684, + "å°¼": 99685, + "丽": 99686, + "奥": 99687, + "éģĩ": 99688, + "è¯į": 99689, + "å°ģ": 99690, + "ä¸Ŀ": 99691, + "好çļĦ": 99692, + "æĭħ": 99693, + "èĦ±": 99694, + "æģ¶": 99695, + "åİļ": 99696, + "åĬ³": 99697, + "缣": 99698, + "æĬĺ": 99699, + "åı¥": 99700, + "æĢĢ": 99701, + "æŁĵ": 99702, + "书记": 99703, + "åĨł": 99704, + "é²ľ": 99705, + "æ¦Ĥ": 99706, + "éļIJ": 99707, + "å¹ħ": 99708, + "èµŀ": 99709, + "å¹ķ": 99710, + "æ¥Ń": 99711, + "éģĹ": 99712, + "åΤ": 99713, + "èĺ": 99714, + "å¶": 99715, + "æĬķèµĦ": 99716, + "è¡Įä¸ļ": 99717, + "äºij": 99718, + "çݯå¢ĥ": 99719, + "åѦçĶŁ": 99720, + "åIJĪä½ľ": 99721, + "åģ¥åº·": 99722, + "é£ŀ": 99723, + "ä¸ĢæŃ¥": 99724, + "ä¸Ģ缴": 99725, + "åıijçĶŁ": 99726, + "éĺ¿": 99727, + "é¢Ĩ导": 99728, + "åĸľæ¬¢": 99729, + "åºĶ该": 99730, + "çĤº": 99731, + "è®Ń": 99732, + "æĿĢ": 99733, + "港": 99734, + "交éĢļ": 99735, + "éĺ¶": 99736, + "éĴ¢": 99737, + "令": 99738, + "å°½": 99739, + "æ¯į": 99740, + "è¡£": 99741, + "ç²ī": 99742, + "é¡¶": 99743, + "ä¹Łä¸į": 99744, + "æĬĵ": 99745, + "èĭ¦": 99746, + "幸": 99747, + "礼": 99748, + "第ä¸ī": 99749, + "大çļĦ": 99750, + "éģİ": 99751, + "çĥŁ": 99752, + "éģ¿": 99753, + "ä»į": 99754, + "åºĨ": 99755, + "æĢķ": 99756, + "è°¢": 99757, + "çĽĸ": 99758, + "å°Ħ": 99759, + "éľ²": 99760, + "æĸĹ": 99761, + "çĬ¶": 99762, + "åѸ": 99763, + "æ¯ķ": 99764, + "å·¨": 99765, + "çŁ¿": 99766, + "çļĩ": 99767, + "å¸Ń": 99768, + "çĹĩ": 99769, + "æī¬": 99770, + "å»¶": 99771, + "ä¾§": 99772, + "æ·¡": 99773, + "çļĦä¸Ģ": 99774, + "ç¶²": 99775, + "æ´ģ": 99776, + "ç¸": 99777, + "è§Ī": 99778, + "çѹ": 99779, + "ç§ĺ": 99780, + "è¯Ĭ": 99781, + "çı¾": 99782, + "èªī": 99783, + "毫": 99784, + "ð¨": 99785, + "åį´": 99786, + "æĪIJ为": 99787, + "èĥ½åĬĽ": 99788, + "é»Ħ": 99789, + "æĹħ游": 99790, + "èά": 99791, + "æ¯Ķè¾ĥ": 99792, + "èµ·æĿ¥": 99793, + "äºĨè§£": 99794, + "èĩªçĦ¶": 99795, + "ä¸Ģ次": 99796, + "åŁºæľ¬": 99797, + "æĽ¾": 99798, + "综åIJĪ": 99799, + "èıľ": 99800, + "è§īå¾Ĺ": 99801, + "第äºĮ": 99802, + "è·ij": 99803, + "æ³¢": 99804, + "åĢĴ": 99805, + "ç¡Ģ": 99806, + "åħµ": 99807, + "èįī": 99808, + "çͳ": 99809, + "çͰ": 99810, + "æĤ£": 99811, + "è§Ħå®ļ": 99812, + "èĥľ": 99813, + "èµĦ产": 99814, + "梦": 99815, + "æľĿ": 99816, + "è¿ĻéĩĮ": 99817, + "夫": 99818, + "æĮ¥": 99819, + "ä½Ľ": 99820, + "å®Ī": 99821, + "鼶": 99822, + "æĸ¼": 99823, + "ç¯ĩ": 99824, + "å²Ľ": 99825, + "åĵ¥": 99826, + "éŃĶ": 99827, + "ä¸įåΰ": 99828, + "æīĺ": 99829, + "åºĬ": 99830, + "欧": 99831, + "èį£": 99832, + "æ±ĩ": 99833, + "æī©": 99834, + "åģı": 99835, + "å¢Ļ": 99836, + "讯": 99837, + "å©ļ": 99838, + "æĥł": 99839, + "æ´ĭ": 99840, + "å®ľ": 99841, + "润": 99842, + "æħ¢": 99843, + "éĢı": 99844, + "宽": 99845, + "顾": 99846, + "ç´¯": 99847, + "污": 99848, + "çĪĨ": 99849, + "ç§Ł": 99850, + "æĥĬ": 99851, + "涨": 99852, + "饰": 99853, + "éĺµ": 99854, + "饮": 99855, + "æļĸ": 99856, + "åºŁ": 99857, + "æĹĹ": 99858, + "éļĶ": 99859, + "ç¶ĵ": 99860, + "åĭĻ": 99861, + "實": 99862, + "éĢĶ": 99863, + "æī«": 99864, + "çĥĪ": 99865, + "鼻": 99866, + "åĪij": 99867, + "éĹľ": 99868, + "éĹª": 99869, + "å¥ĭ": 99870, + "åĤ¨": 99871, + "缩": 99872, + "ä¾µ": 99873, + "å¬": 99874, + "ð¬¶": 99875, + "åĽ½éĻħ": 99876, + "ç»Ħç»ĩ": 99877, + "ä¸ĵä¸ļ": 99878, + "åıijçݰ": 99879, + "å¸ĮæľĽ": 99880, + "ç»ıèIJ¥": 99881, + "åı«": 99882, + "æĿ¥è¯´": 99883, + "éļľ": 99884, + "ä»»ä½ķ": 99885, + "交æĺĵ": 99886, + "éĩįçĤ¹": 99887, + "çļ®": 99888, + "ç»į": 99889, + "æ´¾": 99890, + "ç§ijåѦ": 99891, + "åºĶç͍": 99892, + "建çŃij": 99893, + "èĤī": 99894, + "æĶ¹éĿ©": 99895, + "åŁºç¡Ģ": 99896, + "æ±ī": 99897, + "åĩºæĿ¥": 99898, + "è¿Ļä¹Ī": 99899, + "åĪļ": 99900, + "åĿIJ": 99901, + "ä¸įä»ħ": 99902, + "ä¼ļè®®": 99903, + "éĿł": 99904, + "åªĴä½ĵ": 99905, + "æ°¸": 99906, + "åĨ²": 99907, + "èĭı": 99908, + "央": 99909, + "çζ": 99910, + "åłĤ": 99911, + "å®ŀéĻħ": 99912, + "è¡Ĺ": 99913, + "ç«¥": 99914, + "éĺħ": 99915, + "äºĭæĥħ": 99916, + "åİŁåĽł": 99917, + "éħ¸": 99918, + "以æĿ¥": 99919, + "娱": 99920, + "宫": 99921, + "åĿĹ": 99922, + "绩": 99923, + "éĩİ": 99924, + "ä¸įå¾Ĺ": 99925, + "ä¼łå¥ĩ": 99926, + "硬": 99927, + "åİħ": 99928, + "æĹ¢": 99929, + "ç»ĥ": 99930, + "èĦij": 99931, + "å¼±": 99932, + "æİĮ": 99933, + "è´´": 99934, + "æĮĤ": 99935, + "åħ³éĶ®": 99936, + "å°ļ": 99937, + "é¥Ń": 99938, + "åºĦ": 99939, + "çϼ": 99940, + "åľĭ": 99941, + "æİĪ": 99942, + "个æľĪ": 99943, + "äºĪ": 99944, + "å¸ģ": 99945, + "è·Ŀ": 99946, + "æ²ī": 99947, + "竣": 99948, + "åĨ¬": 99949, + "æĬ½": 99950, + "éĨĴ": 99951, + "å¼Ł": 99952, + "触": 99953, + "èģĺ": 99954, + "è±Ĩ": 99955, + "æļ´": 99956, + "åijĬè¯ī": 99957, + "豪": 99958, + "èµ¢": 99959, + "è·¨": 99960, + "è³ĩ": 99961, + "çΏ": 99962, + "æĬ±": 99963, + "浪": 99964, + "麻": 99965, + "仪": 99966, + "è¡¡": 99967, + "奶": 99968, + "çģ¾": 99969, + "èµ¶": 99970, + "èĤ¥": 99971, + "å§IJ": 99972, + "åĢº": 99973, + "éľĩ": 99974, + "订": 99975, + "æ¬Ĭ": 99976, + "ç·": 99977, + "å»ī": 99978, + "ä¿Ĺ": 99979, + "å¿ĺ": 99980, + "å¦ĩ": 99981, + "ç¼ĵ": 99982, + "åŃķ": 99983, + "漫": 99984, + "è£ģ": 99985, + "çĩĥ": 99986, + "é»ĺ": 99987, + "çī¢": 99988, + "çĪ·": 99989, + "æĬµ": 99990, + "宾": 99991, + "æľīä¸Ģ": 99992, + "迹": 99993, + "è¿«": 99994, + "è²Į": 99995, + "æľīçļĦ": 99996, + "ð¬ĺ": 99997, + "è¿ĺæĺ¯": 99998, + "æīĢ以": 99999, + "ä¹Łæĺ¯": 100000, + "è¿ĻäºĽ": 100001, + "对äºİ": 100002, + "åIJ§": 100003, + "缮åīį": 100004, + "èĩªå·±çļĦ": 100005, + "èĥ½å¤Ł": 100006, + "å¦Ĥä½ķ": 100007, + "æľºæŀĦ": 100008, + "åıªæĺ¯": 100009, + "ç½ijç«Ļ": 100010, + "åħ¨éĿ¢": 100011, + "为äºĨ": 100012, + "å¼Ģåıij": 100013, + "æĸ°éĹ»": 100014, + "éĩijèŀį": 100015, + "ç»§": 100016, + "客æĪ·": 100017, + "ä¸Ģèµ·": 100018, + "èĮ¶": 100019, + "åħ³æ³¨": 100020, + "æ°´å¹³": 100021, + "åİĨåı²": 100022, + "å¢ŀéķ¿": 100023, + "é±": 100024, + "åŁºéĩij": 100025, + "åºŃ": 100026, + "åı¶": 100027, + "ä¿ĥ": 100028, + "鼨": 100029, + "æ¶Īè´¹": 100030, + "èι": 100031, + "çŁ¥è¯Ĩ": 100032, + "æĪĺçķ¥": 100033, + "ç»ıéªĮ": 100034, + "å³°": 100035, + "æĽ²": 100036, + "èĦļ": 100037, + "åĨ°": 100038, + "å¤ı": 100039, + "å½Ĵ": 100040, + "ç¬Ķ": 100041, + "èĻij": 100042, + "çͲ": 100043, + "åľĪ": 100044, + "è¯Ĺ": 100045, + "é½IJ": 100046, + "容æĺĵ": 100047, + "çłĶåıij": 100048, + "骨": 100049, + "纸": 100050, + "è·µ": 100051, + "æĹ§": 100052, + "çķ¶": 100053, + "åΏ": 100054, + "è´·": 100055, + "åı¬": 100056, + "ç§ĭ": 100057, + "æ¶²": 100058, + "è¡ĮæĶ¿": 100059, + "çĮ®": 100060, + "èĤ¤": 100061, + "éĢIJ": 100062, + "è¶ĬæĿ¥": 100063, + "è¶ĬæĿ¥è¶Ĭ": 100064, + "æĦıè§ģ": 100065, + "èĪŀ": 100066, + "åīĤ": 100067, + "æ¶ī": 100068, + "ç¨ĭ度": 100069, + "åħ¬åħ±": 100070, + "械": 100071, + "æľ«": 100072, + "纯": 100073, + "åͱ": 100074, + "æ´²": 100075, + "æĬ¢": 100076, + "æ¤į": 100077, + "å¿Ļ": 100078, + "ä¼°": 100079, + "å¼¹": 100080, + "æ³ī": 100081, + "æľĢ大": 100082, + "è¶ĭ": 100083, + "å·§": 100084, + "ç¦ģ": 100085, + "æī¶": 100086, + "åį±": 100087, + "çıł": 100088, + "çĨŁ": 100089, + "æĭľ": 100090, + "主ä¹ī": 100091, + "æĿĤ": 100092, + "éĻĦ": 100093, + "éģį": 100094, + "æIJŃ": 100095, + "æĮ¯": 100096, + "å¤ļå¹´": 100097, + "æķ¬": 100098, + "æijĦ": 100099, + "纷": 100100, + "å¼ĥ": 100101, + "湿": 100102, + "å¨ĺ": 100103, + "æ¡£": 100104, + "é©¶": 100105, + "æľĹ": 100106, + "æ®ĸ": 100107, + "æ¦ľ": 100108, + "åĵ¡": 100109, + "ä¸Ģä½ĵ": 100110, + "æŁ¥çľĭ": 100111, + "ç¹ģ": 100112, + "æµĵ": 100113, + "åħ¬å®ī": 100114, + "æ½ľ": 100115, + "è´¯": 100116, + "éªĹ": 100117, + "æIJľ": 100118, + "å·¡": 100119, + "è¬": 100120, + "éĬ": 100121, + "å§Ķä¼ļ": 100122, + "æĤł": 100123, + "åī©": 100124, + "æıŃ": 100125, + "åŃ£åº¦": 100126, + "ð«ĺ": 100127, + "ð¬¬": 100128, + "ä´": 100129, + "ðª": 100130, + "ä½Ĩæĺ¯": 100131, + "éĥ½æĺ¯": 100132, + "å¹³åı°": 100133, + "åŃ¦ä¹ł": 100134, + "åĵģçīĮ": 100135, + "ä¸Ķ": 100136, + "è¿Ļç§į": 100137, + "æĶ¿çŃĸ": 100138, + "æĭ¬": 100139, + "认为": 100140, + "ä¸Ģèά": 100141, + "æłĩåĩĨ": 100142, + "æĶ¯æĮģ": 100143, + "模å¼ı": 100144, + "åħ³ç³»": 100145, + "çļĦæĺ¯": 100146, + "è¿Ļä¸Ģ": 100147, + "ä¸įè¦ģ": 100148, + "çĶļ": 100149, + "ç²¾ç¥ŀ": 100150, + "æĭ¥": 100151, + "åĪ©ç͍": 100152, + "ä¿ĿæĬ¤": 100153, + "ä½ľç͍": 100154, + "èĭ¥": 100155, + "åĽ½åĨħ": 100156, + "ä»ĭç»į": 100157, + "ä¸Ģä¸ĭ": 100158, + "å·¥ä¸ļ": 100159, + "缮æłĩ": 100160, + "æľĢåIJİ": 100161, + "ä»·å̼": 100162, + "å°į": 100163, + "éĵģ": 100164, + "è°ģ": 100165, + "ç»ĵæŀĦ": 100166, + "éĽª": 100167, + "æĻºèĥ½": 100168, + "ä¼łç»Ł": 100169, + "ä½ĵèĤ²": 100170, + "çĶŁæĢģ": 100171, + "æĭį": 100172, + "æİª": 100173, + "åĨľä¸ļ": 100174, + "çī¹èī²": 100175, + "è§Ħ模": 100176, + "æĹ¶ä»£": 100177, + "è¿ĩç¨ĭ": 100178, + "éĴĪ": 100179, + "æĿ¾": 100180, + "åĶIJ": 100181, + "åĮ»çĸĹ": 100182, + "çģ¯": 100183, + "åζéĢł": 100184, + "æł¸å¿ĥ": 100185, + "ä¸įåı¯": 100186, + "ç³»åĪĹ": 100187, + "åIJī": 100188, + "åľ£": 100189, + "åĢij": 100190, + "ä½³": 100191, + "æĿ¥çľĭ": 100192, + "æ¯ĶèµĽ": 100193, + "ä¸ĭæĿ¥": 100194, + "åĩºäºĨ": 100195, + "å¹²éĥ¨": 100196, + "微信": 100197, + "å½ĵåľ°": 100198, + "åį·": 100199, + "åį«çĶŁ": 100200, + "ä¼Ł": 100201, + "çĸ«æĥħ": 100202, + "è°·": 100203, + "åĩłä¸ª": 100204, + "éĺ´": 100205, + "çĶŁçī©": 100206, + "å°¤": 100207, + "ä¼Ĭ": 100208, + "èĤ¯": 100209, + "éĿ¢ç§¯": 100210, + "åĪĽéĢł": 100211, + "æı¡": 100212, + "åľĨ": 100213, + "æĻĵ": 100214, + "æĪIJäºĨ": 100215, + "åĩ¡": 100216, + "çĸ¾": 100217, + "ç«ŀäºī": 100218, + "讨": 100219, + "主é¢ĺ": 100220, + "é²ģ": 100221, + "迪": 100222, + "ä¿Ħ": 100223, + "æĢª": 100224, + "並": 100225, + "èĻļ": 100226, + "æ½®": 100227, + "çĥ§": 100228, + "è̳": 100229, + "æ±ł": 100230, + "éĢĤåIJĪ": 100231, + "æł¹æľ¬": 100232, + "åĬłçĽŁ": 100233, + "ç͵è§Ĩ": 100234, + "æ··": 100235, + "ç¼ĺ": 100236, + "çªĹ": 100237, + "çĬ¯": 100238, + "æĥ¯": 100239, + "æĦıä¹ī": 100240, + "åĬŀæ³ķ": 100241, + "ä¼ij": 100242, + "æ»ij": 100243, + "åĭĩ": 100244, + "æķ¢": 100245, + "寻": 100246, + "è¦Ĩ": 100247, + "éĢĥ": 100248, + "ç»ıçIJĨ": 100249, + "åĿı": 100250, + "æ³½": 100251, + "ä¹ĺ": 100252, + "åĪº": 100253, + "å±ı": 100254, + "é¡¿": 100255, + "亡": 100256, + "éĤĢ": 100257, + "åħ¼": 100258, + "åĭ¤": 100259, + "æ®ĭ": 100260, + "æĺł": 100261, + "æ¯ķä¸ļ": 100262, + "æĪª": 100263, + "è·Į": 100264, + "å£ģ": 100265, + "åı¦ä¸Ģ": 100266, + "羣å®ŀ": 100267, + "磨": 100268, + "è¯ļ": 100269, + "å¿ħè¦ģ": 100270, + "æģĭ": 100271, + "æĩĤ": 100272, + "å¾Ĵ": 100273, + "è°ĵ": 100274, + "æķı": 100275, + "æĻ¨": 100276, + "èĥ¸": 100277, + "æĭ¼": 100278, + "å¦Ļ": 100279, + "诸": 100280, + "èģĬ": 100281, + "æĤī": 100282, + "麼": 100283, + "åĩŃ": 100284, + "èĪĴ": 100285, + "æ¶Ĥ": 100286, + "è¿ģ": 100287, + "沿": 100288, + "å¡ij": 100289, + "æĽ¿": 100290, + "æ¾³": 100291, + "å¿į": 100292, + "èĢĹ": 100293, + "龸": 100294, + "åĩłå¹´": 100295, + "åĪĬ": 100296, + "èĦī": 100297, + "èħIJ": 100298, + "æ¡Į": 100299, + "çºł": 100300, + "æ»ļ": 100301, + "æĤ²": 100302, + "åĨĴ": 100303, + "妹": 100304, + "çķħ": 100305, + "纵": 100306, + "æijĩ": 100307, + "夺": 100308, + "è·¯ä¸Ĭ": 100309, + "忽": 100310, + "èĸª": 100311, + "æģIJ": 100312, + "æĦıæĢĿ": 100313, + "å«Į": 100314, + "æı´": 100315, + "æ°§": 100316, + "èĢĢ": 100317, + "éĺ»": 100318, + "轨": 100319, + "å¹»": 100320, + "æįķ": 100321, + "åĿ¦": 100322, + "åĵĪåĵĪ": 100323, + "çĭIJ": 100324, + "滨": 100325, + "è²»": 100326, + "è¿Ł": 100327, + "人éĥ½": 100328, + "ç»ĺ": 100329, + "åı¹": 100330, + "çµIJ": 100331, + "æī°": 100332, + "æ»ĭ": 100333, + "å¥ij": 100334, + "åĭŁ": 100335, + "確": 100336, + "ð¦": 100337, + "éĽĨåĽ¢": 100338, + "æĿİ": 100339, + "å¼Ģå±ķ": 100340, + "æıIJåįĩ": 100341, + "åħ¨åĽ½": 100342, + "汽车": 100343, + "åŃ¦æł¡": 100344, + "æł¹æį®": 100345, + "è¿Ļæĺ¯": 100346, + "åĩºçݰ": 100347, + "éĻĪ": 100348, + "ç½Ĺ": 100349, + "èİ·å¾Ĺ": 100350, + "åĪĺ": 100351, + "éĶĢåĶ®": 100352, + "æľªæĿ¥": 100353, + "éľĢæ±Ĥ": 100354, + "å®ŀæĸ½": 100355, + "åĿļæĮģ": 100356, + "åħ¨çIJĥ": 100357, + "éĵ¶è¡Į": 100358, + "æİ§åζ": 100359, + "é¡»": 100360, + "åľ°åĮº": 100361, + "æīĵéĢł": 100362, + "çļĦè¯Ŀ": 100363, + "帮åĬ©": 100364, + "ä½ĵç³»": 100365, + "è¾¾åΰ": 100366, + "è§ĦåĪĴ": 100367, + "åŁ¹è®Ń": 100368, + "两个": 100369, + "æĬ¥åijĬ": 100370, + "åľ°æĸ¹": 100371, + "å®Įåħ¨": 100372, + "æİī": 100373, + "ç»ĵåIJĪ": 100374, + "å®£ä¼ł": 100375, + "æ³ķå¾ĭ": 100376, + "èīºæľ¯": 100377, + "ç͵影": 100378, + "說": 100379, + "ä¸ĢçĤ¹": 100380, + "è¶ħè¿ĩ": 100381, + "ç͵åŃIJ": 100382, + "æĢĿæĥ³": 100383, + "æķĻåѦ": 100384, + "éĺ¶æ®µ": 100385, + "åķĨä¸ļ": 100386, + "çµģ": 100387, + "åĪĽä¸ļ": 100388, + "æĸ¹æ¡Ī": 100389, + "çݰ代": 100390, + "æ¡¥": 100391, + "èIJ½å®ŀ": 100392, + "带æĿ¥": 100393, + "产çĶŁ": 100394, + "ç§Ģ": 100395, + "æ³°": 100396, + "ä¹±": 100397, + "åħ·ä½ĵ": 100398, + "åĸĿ": 100399, + "èĵĿ": 100400, + "å®Ĺ": 100401, + "åįĩ级": 100402, + "æ·±åħ¥": 100403, + "ä¿ĿéĻ©": 100404, + "ç®Ģåįķ": 100405, + "çĹĽ": 100406, + "稳å®ļ": 100407, + "è¾Ĩ": 100408, + "å±ŀäºİ": 100409, + "å·Ŀ": 100410, + "ä¸įå°ij": 100411, + "åĴ¨": 100412, + "ä¸ľè¥¿": 100413, + "å½¢å¼ı": 100414, + "娱ä¹IJ": 100415, + "æŃ£å¸¸": 100416, + "鸡": 100417, + "åħħåĪĨ": 100418, + "å®ŀè·µ": 100419, + "éĩĮéĿ¢": 100420, + "è·³": 100421, + "èĻİ": 100422, + "æĪIJéķ¿": 100423, + "æļĹ": 100424, + "çĿ¡": 100425, + "罪": 100426, + "çIJĨ念": 100427, + "æĮij": 100428, + "èµĦæľ¬": 100429, + "å¤ļå°ij": 100430, + "ä¸ĭéĿ¢": 100431, + "å¸Ŀ": 100432, + "åħ¬å¼Ģ": 100433, + "æ¸IJ": 100434, + "éķ·": 100435, + "å±ĭ": 100436, + "欢è¿İ": 100437, + "å¿ĥçIJĨ": 100438, + "çĤİ": 100439, + "æ¹¾": 100440, + "è®ĵ": 100441, + "éĤĦ": 100442, + "ç³ĸ": 100443, + "ä¹Į": 100444, + "åĬ±": 100445, + "çīĻ": 100446, + "èħ¿": 100447, + "å²Ĺ": 100448, + "ä¼į": 100449, + "æĪIJåijĺ": 100450, + "åŃĶ": 100451, + "å°ıç¼ĸ": 100452, + "èij£": 100453, + "泡": 100454, + "åħĪè¿Ľ": 100455, + "åħ§": 100456, + "åĺ´": 100457, + "è´Ŀ": 100458, + "è»": 100459, + "æIJŀ": 100460, + "æ³Ľ": 100461, + "鸣": 100462, + "ç½²": 100463, + "èĽĭ": 100464, + "主任": 100465, + "缮çļĦ": 100466, + "ä¹ı": 100467, + "æ´¥": 100468, + "æĪ´": 100469, + "ä¸¥æł¼": 100470, + "çħ¤": 100471, + "çĮ«": 100472, + "å͝": 100473, + "å°Ĭ": 100474, + "çĶľ": 100475, + "åŀĥ": 100476, + "åľ¾": 100477, + "æĭŁ": 100478, + "çĦ¦": 100479, + "é«Ķ": 100480, + "å®ı": 100481, + "æ©Ł": 100482, + "é©»": 100483, + "æĹģ": 100484, + "å½»": 100485, + "éĥ½ä¸į": 100486, + "æij©": 100487, + "ä»ĵ": 100488, + "ä¹³": 100489, + "岸": 100490, + "è°ĭ": 100491, + "大å¤ļ": 100492, + "çģŃ": 100493, + "èħ¾": 100494, + "æŁľ": 100495, + "èĪį": 100496, + "åħļçļĦ": 100497, + "å°ĺ": 100498, + "åįģå¹´": 100499, + "æĭĴ": 100500, + "裡": 100501, + "æŁĶ": 100502, + "å¹¼": 100503, + "éĶģ": 100504, + "ä¸ĵ项": 100505, + "æīİ": 100506, + "驾驶": 100507, + "ç¢İ": 100508, + "è¢ĭ": 100509, + "éĶĭ": 100510, + "壮": 100511, + "å°ĸ": 100512, + "çĶµæ±ł": 100513, + "è¿Ķ": 100514, + "æ¼ı": 100515, + "循": 100516, + "èıĮ": 100517, + "èĥĥ": 100518, + "è¾ħ": 100519, + "éĢĴ": 100520, + "èĥİ": 100521, + "éĻª": 100522, + "寿": 100523, + "å¥Ķ": 100524, + "çĮĽ": 100525, + "纹": 100526, + "çŁ¥åIJį": 100527, + "å¿Ĩ": 100528, + "æ¡ĥ": 100529, + "æ£ĭ": 100530, + "éĢĨ": 100531, + "çĤ¼": 100532, + "ç±į": 100533, + "çī§": 100534, + "æł·çļĦ": 100535, + "è¾Ľ": 100536, + "åłĨ": 100537, + "å®ŀåľ¨": 100538, + "ä¼ı": 100539, + "宿": 100540, + "èµı": 100541, + "è£Ĥ": 100542, + "åįĬå¹´": 100543, + "å̾": 100544, + "满æĦı": 100545, + "梯": 100546, + "æĦıåij³": 100547, + "åѤ": 100548, + "ç¥Ŀ": 100549, + "æĻ¶": 100550, + "èµĶ": 100551, + "åģ¿": 100552, + "èĦĤ": 100553, + "ç½ļ": 100554, + "ç¢į": 100555, + "æ²ĥ": 100556, + "æĵį": 100557, + "å´ĩ": 100558, + "æļĤ": 100559, + "è·ĥ": 100560, + "æIJ¬": 100561, + "å©Ĩ": 100562, + "éī": 100563, + "éī´": 100564, + "åħ´è¶£": 100565, + "èIJ¥ä¸ļ": 100566, + "è®Ĭ": 100567, + "èĦı": 100568, + "è¾Ī": 100569, + "å·ŀå¸Ĥ": 100570, + "è´«åĽ°": 100571, + "ç©·": 100572, + "ä¸Ńå°ı": 100573, + "æ¼Ĥ": 100574, + "çĻĮ": 100575, + "èľľ": 100576, + "ä¼Ļä¼´": 100577, + "çīµ": 100578, + "æĤŁ": 100579, + "éĻ·": 100580, + "èµĽåŃ£": 100581, + "樣": 100582, + "åģ¶": 100583, + "æĺĨ": 100584, + "è¢Ń": 100585, + "æįIJ": 100586, + "èī°": 100587, + "æĤ¬": 100588, + "çĶ¢": 100589, + "èij¡": 100590, + "çĽĹ": 100591, + "å©´": 100592, + "å°İ": 100593, + "纽": 100594, + "åĢ¡": 100595, + "æī®": 100596, + "è¨Ń": 100597, + "æĬij": 100598, + "ç¡ķ": 100599, + "è¾ĸ": 100600, + "éĥģ": 100601, + "辩": 100602, + "éĤ»": 100603, + "çݰåĩº": 100604, + "è¦ı": 100605, + "å½¹": 100606, + "éĺĶ": 100607, + "åīµ": 100608, + "诱": 100609, + "æĥij": 100610, + "æ·Ģ": 100611, + "é¢Ī": 100612, + "侦": 100613, + "æģ°": 100614, + "æ£Ģå¯Ł": 100615, + "éĨ«": 100616, + "çĦ¶æĺ¯": 100617, + "åĭĥ": 100618, + "èĮ«": 100619, + "äĵ": 100620, + "ð¬¸": 100621, + "ä½ľä¸º": 100622, + "çļĦ人": 100623, + "éĤ£ä¹Ī": 100624, + "ç¾İåĽ½": 100625, + "è¿ĺæľī": 100626, + "æıIJé«ĺ": 100627, + "èϽ": 100628, + "åħ·æľī": 100629, + "åĮħæĭ¬": 100630, + "æĪĸèĢħ": 100631, + "ä¸įè¿ĩ": 100632, + "ä¸Ĭæµ·": 100633, + "åĮ»éĻ¢": 100634, + "èµĦéĩij": 100635, + "çĶļèĩ³": 100636, + "åĪ¶åº¦": 100637, + "è§£åĨ³": 100638, + "èģĶç½ij": 100639, + "ç»§ç»Ń": 100640, + "建ç«ĭ": 100641, + "è¿Ľä¸ĢæŃ¥": 100642, + "æĿIJæĸĻ": 100643, + "ä»Ĭ天": 100644, + "å¿ħé¡»": 100645, + "åIJĦç§į": 100646, + "çİ°åľº": 100647, + "ä»ĸçļĦ": 100648, + "å¢ŀåĬł": 100649, + "é¢ĨåŁŁ": 100650, + "åıĤä¸İ": 100651, + "æĮģç»Ń": 100652, + "ä¹ĭä¸Ģ": 100653, + "çī¹åĪ«": 100654, + "é±¼": 100655, + "åħ±åIJĮ": 100656, + "åĬª": 100657, + "çİī": 100658, + "人们": 100659, + "åħĪçĶŁ": 100660, + "ä¼ĺåĬ¿": 100661, + "ä¿ĿæĮģ": 100662, + "ä½ľåĵģ": 100663, + "çīĽ": 100664, + "æĪIJæľ¬": 100665, + "æĶ¶åħ¥": 100666, + "åıĬæĹ¶": 100667, + "è´Łè´£": 100668, + "æİ¥åıĹ": 100669, + "èįIJ": 100670, + "åıªè¦ģ": 100671, + "羣çļĦ": 100672, + "导èĩ´": 100673, + "æľºåζ": 100674, + "è¡ĮåĬ¨": 100675, + "æĸ°çļĦ": 100676, + "å®ĮåĸĦ": 100677, + "为ä»Ģä¹Ī": 100678, + "ä¸Ń央": 100679, + "æĪIJç«ĭ": 100680, + "æĦŁè§ī": 100681, + "åıĺåĮĸ": 100682, + "åıĹåΰ": 100683, + "å¹¶ä¸į": 100684, + "åŃĻ": 100685, + "æĸ½å·¥": 100686, + "æĺİæĺ¾": 100687, + "è¿ĩåİ»": 100688, + "åıijæĮ¥": 100689, + "羣æŃ£": 100690, + "åŁºåľ°": 100691, + "æĺİç¡®": 100692, + "èĥ¡": 100693, + "许å¤ļ": 100694, + "ä¸Ģå¹´": 100695, + "æĸ¹åIJij": 100696, + "æģ©": 100697, + "çĽ¸ä¿¡": 100698, + "åľ³": 100699, + "详ç»Ĩ": 100700, + "äºĭä¸ļ": 100701, + "çĶŁåij½": 100702, + "åĴ¨è¯¢": 100703, + "æĸĩæĺİ": 100704, + "çijŀ": 100705, + "绿èī²": 100706, + "èİ«": 100707, + "æĦıè¯Ĩ": 100708, + "æĬķåħ¥": 100709, + "åĬłå¿«": 100710, + "æ¢ħ": 100711, + "ç¿»": 100712, + "å¼ĢæĶ¾": 100713, + "æĻ®éĢļ": 100714, + "åįıä¼ļ": 100715, + "æĪIJ绩": 100716, + "ä»Ļ": 100717, + "å¯Ĵ": 100718, + "è¯ģåΏ": 100719, + "认è¯Ĩ": 100720, + "丹": 100721, + "大éĩı": 100722, + "è¿ħ": 100723, + "åģļåΰ": 100724, + "设æĸ½": 100725, + "è´¸æĺĵ": 100726, + "èĥ½æºIJ": 100727, + "æĹ¶æľŁ": 100728, + "ä¸Ģ天": 100729, + "æ²»çIJĨ": 100730, + "åĺī": 100731, + "å®ĩ": 100732, + "丰å¯Į": 100733, + "举è¡Į": 100734, + "æĪIJæŀľ": 100735, + "èĤ¯å®ļ": 100736, + "çĭĹ": 100737, + "åĬ¨åĬĽ": 100738, + "森": 100739, + "åĩłä¹İ": 100740, + "åĽłç´ł": 100741, + "æ°ijæĹı": 100742, + "æ´ŀ": 100743, + "ç½ijåıĭ": 100744, + "åIJĪçIJĨ": 100745, + "广大": 100746, + "æ®Ĭ": 100747, + "æ´Ľ": 100748, + "æĿ¯": 100749, + "èĴĻ": 100750, + "ç͍äºİ": 100751, + "èŀįèµĦ": 100752, + "ç¥ĸ": 100753, + "æľºæ¢°": 100754, + "举åĬŀ": 100755, + "èĩªåĬ¨": 100756, + "åĬŀåħ¬": 100757, + "é»ŀ": 100758, + "éĽĦ": 100759, + "å̼å¾Ĺ": 100760, + "çĮª": 100761, + "以为": 100762, + "æĺĮ": 100763, + "è·Ŀ离": 100764, + "åIJ¸å¼ķ": 100765, + "ç»ķ": 100766, + "éļĨ": 100767, + "计ç®Ĺ": 100768, + "éĺŁä¼į": 100769, + "大ä¼ļ": 100770, + "å¼ķèµ·": 100771, + "çī¹çĤ¹": 100772, + "èĥ¶": 100773, + "å¹´è½»": 100774, + "æľ¬èº«": 100775, + "æľºåħ³": 100776, + "å®ĺæĸ¹": 100777, + "éĥij": 100778, + "æµĻ": 100779, + "è§Ĵèī²": 100780, + "èij£äºĭ": 100781, + "为主": 100782, + "æĹłè®º": 100783, + "ä¹łæĥ¯": 100784, + "æ¥ļ": 100785, + "æĭĵ": 100786, + "ç»Łè®¡": 100787, + "åħĦ": 100788, + "å¹¿æ³Ľ": 100789, + "åįĢ": 100790, + "污æŁĵ": 100791, + "è«ĭ": 100792, + "èĬĤ缮": 100793, + "伦": 100794, + "è¦ĨçĽĸ": 100795, + "èĢIJ": 100796, + "æī¶è´«": 100797, + "ç»ıåİĨ": 100798, + "éĩįè¦ģçļĦ": 100799, + "èĤ¡ä¸ľ": 100800, + "æĭĽèģĺ": 100801, + "åĽĽä¸ª": 100802, + "æĩī": 100803, + "èĥŀ": 100804, + "æijĨ": 100805, + "é«ĺéĢŁ": 100806, + "麦": 100807, + "åİŁåĪĻ": 100808, + "èݱ": 100809, + "æĽ´å¥½": 100810, + "éķľ": 100811, + "åĩĮ": 100812, + "åŀĥåľ¾": 100813, + "é̲": 100814, + "çģ°": 100815, + "éĵº": 100816, + "äºĭæķħ": 100817, + "çĶĺ": 100818, + "空æ°Ķ": 100819, + "é¾Ħ": 100820, + "èı²": 100821, + "çĵ¶": 100822, + "æĺ¨": 100823, + "æĹ¥æĬ¥": 100824, + "æµ®": 100825, + "åľ°åĽ¾": 100826, + "åijĪ": 100827, + "大åĬĽ": 100828, + "绪": 100829, + "å¸ħ": 100830, + "æľįåĭĻ": 100831, + "ä¸įéĶĻ": 100832, + "乡æĿij": 100833, + "å±¥": 100834, + "å¹³æĸ¹": 100835, + "éĹ²": 100836, + "æī£": 100837, + "ç´łè´¨": 100838, + "èµ´": 100839, + "éģŃ": 100840, + "èIJ¨": 100841, + "èĩªä¸»": 100842, + "éĩijå±ŀ": 100843, + "èī¯å¥½": 100844, + "两年": 100845, + "æ³¥": 100846, + "é¢ľ": 100847, + "精彩": 100848, + "ä¸Ńåįİ": 100849, + "æĻĭ": 100850, + "ä¹łè¿ij": 100851, + "ä¹łè¿ijå¹³": 100852, + "æĪĺ士": 100853, + "åģļçļĦ": 100854, + "éªij": 100855, + "æ»´": 100856, + "çĵľ": 100857, + "çīĪæĿĥ": 100858, + "èĤł": 100859, + "æľĥåĵ¡": 100860, + "çıį": 100861, + "種": 100862, + "仿": 100863, + "çī©ä¸ļ": 100864, + "åĢĭ人": 100865, + "妻": 100866, + "伸": 100867, + "æ±Ĺ": 100868, + "æĹº": 100869, + "çIJĨæĥ³": 100870, + "æij¸": 100871, + "è¿Ŀæ³ķ": 100872, + "å®Įæķ´": 100873, + "åݦ": 100874, + "è¸ı": 100875, + "æĸij": 100876, + "æ¡Ĥ": 100877, + "ä½ĵåζ": 100878, + "師": 100879, + "æĿĨ": 100880, + "殿": 100881, + "æ¯ģ": 100882, + "é¦Ī": 100883, + "è§Ĵ度": 100884, + "欣": 100885, + "çĥ¦": 100886, + "èĤº": 100887, + "éĩĩ访": 100888, + "æijĺ": 100889, + "æĮ¡": 100890, + "æ·ĺ": 100891, + "åħ»èĢģ": 100892, + "çĤ¸": 100893, + "è¿Ī": 100894, + "åİī": 100895, + "åĿĬ": 100896, + "è¾£": 100897, + "åĩĿ": 100898, + "泪": 100899, + "çĸı": 100900, + "æİĺ": 100901, + "åĥıæĺ¯": 100902, + "éĽķ": 100903, + "ç¼Ŀ": 100904, + "èį·": 100905, + "æį·": 100906, + "åł¡": 100907, + "åı¥è¯Ŀ": 100908, + "çĸ¼": 100909, + "æłı": 100910, + "éģµ": 100911, + "碳": 100912, + "å·¥åķĨ": 100913, + "æIJº": 100914, + "åĪ¥": 100915, + "ä¹Ļ": 100916, + "æĹĭ": 100917, + "æĥľ": 100918, + "ä¸Ģ大": 100919, + "å±Ĥ次": 100920, + "èµĸ": 100921, + "æĬ¬": 100922, + "æ¨Ĥ": 100923, + "è¯ŀ": 100924, + "åħĴ": 100925, + "篮": 100926, + "èĤĥ": 100927, + "å§¿": 100928, + "æĬļ": 100929, + "çĵ·": 100930, + "ç͵åĬ¨": 100931, + "æĸ°åĨł": 100932, + "æ¶µ": 100933, + "ç¢ij": 100934, + "æ·®": 100935, + "æĹ¨": 100936, + "踪": 100937, + "æ¸Ķ": 100938, + "æĦĪ": 100939, + "åıĶ": 100940, + "åįĹçľģ": 100941, + "義": 100942, + "å§Ķ书记": 100943, + "貸": 100944, + "æ¶Į": 100945, + "è«ĸ": 100946, + "èIJĦ": 100947, + "æıı": 100948, + "å¿§": 100949, + "辦": 100950, + "å¦Ĩ": 100951, + "æīŃ": 100952, + "åijµ": 100953, + "éģ¥": 100954, + "許": 100955, + "ä»ĩ": 100956, + "åįģä¸ī": 100957, + "åī²": 100958, + "èªį": 100959, + "èΰ": 100960, + "é¢ĩ": 100961, + "饱": 100962, + "çĭł": 100963, + "é«ĺçļĦ": 100964, + "çµ±": 100965, + "æħİ": 100966, + "é¢ģ": 100967, + "åIJĪéĢĤ": 100968, + "æµ´": 100969, + "èµĭ": 100970, + "æĬ¼": 100971, + "妥": 100972, + "éĻ¢éķ¿": 100973, + "èĢķ": 100974, + "辨": 100975, + "æħ°": 100976, + "åįģåĽĽ": 100977, + "æľµ": 100978, + "èĵĦ": 100979, + "æŀ¢": 100980, + "å»·": 100981, + "æĤĦ": 100982, + "涯": 100983, + "磩": 100984, + "åŃIJéĩĮ": 100985, + "çĬ¹": 100986, + "å±Ģéķ¿": 100987, + "éIJ": 100988, + "å¥ł": 100989, + "ä¼ļéķ¿": 100990, + "æĵļ": 100991, + "ä¸įåıĬ": 100992, + "åįģä¹Ŀ": 100993, + "欺": 100994, + "躺": 100995, + "éĺIJ": 100996, + "çºĮ": 100997, + "註": 100998, + "åĨĬ": 100999, + "èŃĺ": 101000, + "é«ĺçŃī": 101001, + "èħº": 101002, + "å¤ķ": 101003, + "ç»ij": 101004, + "åͤ": 101005, + "èķ´": 101006, + "çķľ": 101007, + "æħĭ": 101008, + "åıĻ": 101009, + "åıĥ": 101010, + "峡": 101011, + "人大": 101012, + "éħ¿": 101013, + "éģ©": 101014, + "奢": 101015, + "åı£æ°Ķ": 101016, + "éĮĦ": 101017, + "éı": 101018, + "åĭĺ": 101019, + "è´¿": 101020, + "éļª": 101021, + "éĭ": 101022, + "éļ¶": 101023, + "ð¥": 101024, + "ð¬£": 101025, + "ð£": 101026, + "ð«į": 101027, + "ð¬³": 101028, + "ð«ĵ": 101029, + "ð«Ħ": 101030, + "ð«Ł": 101031, + "ð¨±": 101032, + "äĹ": 101033, + "以åıĬ": 101034, + "æľīéĻIJ": 101035, + "åij¢": 101036, + "åIJĹ": 101037, + "çľĭåΰ": 101038, + "计åĪĴ": 101039, + "è¿Ľåħ¥": 101040, + "缴æİ¥": 101041, + "åĪĨæŀIJ": 101042, + "åıªæľī": 101043, + "设å¤ĩ": 101044, + "åħ¶å®ŀ": 101045, + "åĬłå¼º": 101046, + "ä¸ŃçļĦ": 101047, + "ä¿Ŀéļľ": 101048, + "èĢģå¸Ī": 101049, + "人æīį": 101050, + "å¾Ĺåΰ": 101051, + "é£İéĻ©": 101052, + "ä¸Ģç§į": 101053, + "空éĹ´": 101054, + "æĪijåĽ½": 101055, + "ä¹ĭåīį": 101056, + "ä¸ĵå®¶": 101057, + "æĿ¨": 101058, + "æĹ¥æľ¬": 101059, + "群ä¼Ĺ": 101060, + "åıĤåĬł": 101061, + "æķĪæŀľ": 101062, + "æľīåħ³": 101063, + "å®¶åºŃ": 101064, + "åĮºåŁŁ": 101065, + "åĬªåĬĽ": 101066, + "éļıçĿĢ": 101067, + "æĹłæ³ķ": 101068, + "交æµģ": 101069, + "è¡Į为": 101070, + "æ£ĢæŁ¥": 101071, + "æľŁéĹ´": 101072, + "å¦ĤæŃ¤": 101073, + "èĤ¡ä»½": 101074, + "å½ĵæĹ¶": 101075, + "è£ħå¤ĩ": 101076, + "åĩĨå¤ĩ": 101077, + "éħĴåºĹ": 101078, + "è¿IJåĬ¨": 101079, + "æıIJåĩº": 101080, + "å·¦åı³": 101081, + "æİªæĸ½": 101082, + "é£Łåĵģ": 101083, + "æ¶Īè´¹èĢħ": 101084, + "åѦéĻ¢": 101085, + "æĮĩ导": 101086, + "è¿IJèIJ¥": 101087, + "éĩį大": 101088, + "åĨľæĿij": 101089, + "éĢłæĪIJ": 101090, + "æĶ¿æ²»": 101091, + "éĴĪ对": 101092, + "æŃ£å¼ı": 101093, + "åıĸå¾Ĺ": 101094, + "éĤ£ä¸ª": 101095, + "éĽĨä¸Ń": 101096, + "åıªèĥ½": 101097, + "å¿«éĢŁ": 101098, + "身ä½ĵ": 101099, + "åħļåijĺ": 101100, + "èģĶåIJĪ": 101101, + "åĬĽéĩı": 101102, + "éĥ½æľī": 101103, + "æħ§": 101104, + "å¡Ķ": 101105, + "åĪ«äºº": 101106, + "表çݰ": 101107, + "æķħäºĭ": 101108, + "ä¸ĢåĪĩ": 101109, + "å°ĩ": 101110, + "èµĦæĸĻ": 101111, + "åŁ¹åħ»": 101112, + "éĺħ读": 101113, + "æľī人": 101114, + "èIJ¥éĶĢ": 101115, + "çĽijçĿ£": 101116, + "çݯä¿Ŀ": 101117, + "èĢĥèĻij": 101118, + "æ·±åľ³": 101119, + "严éĩį": 101120, + "èĮĥåĽ´": 101121, + "å§Ķåijĺ": 101122, + "çĽij管": 101123, + "ä¸ī个": 101124, + "è£ħä¿®": 101125, + "åħ¬éĩĮ": 101126, + "åĪĨåĪ«": 101127, + "çIJĨè§£": 101128, + "飩": 101129, + "åĬłå·¥": 101130, + "è®¤çľŁ": 101131, + "ä¸į好": 101132, + "åݻ年": 101133, + "éĻįä½İ": 101134, + "æľºä¼ļ": 101135, + "åįıè®®": 101136, + "符åIJĪ": 101137, + "å¢ŀ强": 101138, + "æĬĢèĥ½": 101139, + "é¦ĸåħĪ": 101140, + "秦": 101141, + "ä¸ģ": 101142, + "å°¾": 101143, + "æľīäºĨ": 101144, + "åľ°äº§": 101145, + "æ¸ł": 101146, + "æĸ¹ä¾¿": 101147, + "ç§»åĬ¨": 101148, + "éĢŁåº¦": 101149, + "å°¤åħ¶": 101150, + "éĢļçŁ¥": 101151, + "åĿĽ": 101152, + "éģ¿åħį": 101153, + "æģ¢": 101154, + "è´¡": 101155, + "èģĮå·¥": 101156, + "å®ŀåĬĽ": 101157, + "æĺ¯ä¸Ģç§į": 101158, + "åIJ¯åĬ¨": 101159, + "çĸ¾çĹħ": 101160, + "æĿ¥äºĨ": 101161, + "çĽ¸å¯¹": 101162, + "çݰå®ŀ": 101163, + "èŀįåIJĪ": 101164, + "åIJĮæł·": 101165, + "åħ¬åijĬ": 101166, + "ç®Ĭ": 101167, + "ç´«": 101168, + "ä¸ĭåİ»": 101169, + "ä¼łæĴŃ": 101170, + "æľĢ好": 101171, + "ä¼ĺè´¨": 101172, + "æ²Ĵ": 101173, + "æĮº": 101174, + "æĹ¦": 101175, + "诺": 101176, + "ä¸ĢåIJį": 101177, + "éģĵè·¯": 101178, + "示èĮĥ": 101179, + "è¿ĩæĿ¥": 101180, + "åIJĮåѦ": 101181, + "é¼ĵ": 101182, + "æĿŃ": 101183, + "æľ¬æ¬¡": 101184, + "åIJĮæĦı": 101185, + "ä¸ĸ纪": 101186, + "ç¾Ĭ": 101187, + "欲": 101188, + "å·¥èīº": 101189, + "çĵ¦": 101190, + "人士": 101191, + "æľīæīĢ": 101192, + "ä»İäºĭ": 101193, + "æľīå¾Īå¤ļ": 101194, + "ä¸įäºĨ": 101195, + "å²Ĺä½į": 101196, + "åıĺå¾Ĺ": 101197, + "åĬ³åĬ¨": 101198, + "å¤Ħäºİ": 101199, + "å¹³åĿĩ": 101200, + "形象": 101201, + "å¡ŀ": 101202, + "åħ±äº«": 101203, + "çĿĽ": 101204, + "åĪ©æ¶¦": 101205, + "æŃ£æĺ¯": 101206, + "å¾Ģå¾Ģ": 101207, + "缸æ¯Ķ": 101208, + "横": 101209, + "åĪ·": 101210, + "æµĻæ±Ł": 101211, + "大éĥ¨åĪĨ": 101212, + "å¤ļ个": 101213, + "æĤ¨çļĦ": 101214, + "ç͵åķĨ": 101215, + "å¾®åįļ": 101216, + "å§ĭç»Ī": 101217, + "çĬ¯ç½ª": 101218, + "æĺ¯åľ¨": 101219, + "ç»ĦåIJĪ": 101220, + "åİŁæĿ¥": 101221, + "æ¸ħæ¥ļ": 101222, + "åIJĦåľ°": 101223, + "æĦŁåıĹ": 101224, + "å½ĵä¸Ń": 101225, + "è¶ĭåĬ¿": 101226, + "æĻ¯åĮº": 101227, + "羣æĺ¯": 101228, + "ä¾ĽåºĶ": 101229, + "转åŀĭ": 101230, + "çĭĤ": 101231, + "èĨľ": 101232, + "èĭĹ": 101233, + "å¿ł": 101234, + "å¾Ī大": 101235, + "èĤ¡æĿĥ": 101236, + "ç¾İåħĥ": 101237, + "æİĴåIJį": 101238, + "åĬ¨çī©": 101239, + "éĶħ": 101240, + "墨": 101241, + "主å¸Ń": 101242, + "å¾Ī好": 101243, + "ç»Ŀ对": 101244, + "æĿľ": 101245, + "转载": 101246, + "çĴĥ": 101247, + "æĿijæ°ij": 101248, + "åIJ¨": 101249, + "åĽŃåĮº": 101250, + "é«ĺ度": 101251, + "çī©è´¨": 101252, + "è¾ī": 101253, + "æĹ¥å¸¸": 101254, + "æıĴ": 101255, + "ä¸īå¹´": 101256, + "ä½ĵçݰ": 101257, + "æīįæĺ¯": 101258, + "代çIJĨ": 101259, + "ä¸į管": 101260, + "æģĴ": 101261, + "åľ°ä½į": 101262, + "ç²®": 101263, + "èĸĦ": 101264, + "æĺİçϽ": 101265, + "ä¸Ģèĩ´": 101266, + "æĽ¼": 101267, + "åĵŃ": 101268, + "åĩ¤": 101269, + "åĬ²": 101270, + "æķĮ": 101271, + "æĪĺæĸĹ": 101272, + "主ä½ĵ": 101273, + "åħ¬å¸ĥ": 101274, + "åıĤèĢĥ": 101275, + "èĪªç©º": 101276, + "寺": 101277, + "åѦä¼ļ": 101278, + "åıįæĺł": 101279, + "ç¾İ丽": 101280, + "太éĺ³": 101281, + "建æĪIJ": 101282, + "æħ¢æħ¢": 101283, + "åIJĦ个": 101284, + "éĤ¦": 101285, + "ç»ĦæĪIJ": 101286, + "ä¸ī大": 101287, + "éͦ": 101288, + "大å¤ļæķ°": 101289, + "æ¦Ĥ念": 101290, + "éŃĤ": 101291, + "åħ¬çĽĬ": 101292, + "èįĴ": 101293, + "身份": 101294, + "æ·±åĪ»": 101295, + "åħ©": 101296, + "ç»ıåħ¸": 101297, + "åIJĦ项": 101298, + "èĻķ": 101299, + "è¿ĽæŃ¥": 101300, + "åįģäºĮ": 101301, + "æī§æ³ķ": 101302, + "æĥ³åΰ": 101303, + "æĦŁæŁĵ": 101304, + "åķĨåĬ¡": 101305, + "å°ıç»Ħ": 101306, + "èͬ": 101307, + "çıŃåŃIJ": 101308, + "åIJĮå¿Ĺ": 101309, + "éĿ¢ä¸´": 101310, + "çĤĴ": 101311, + "å¤ļç§į": 101312, + "è§ĤçĤ¹": 101313, + "åĵªéĩĮ": 101314, + "å°Ŀ": 101315, + "å§Ĩ": 101316, + "èħ¹": 101317, + "åŁİåĮº": 101318, + "太å¤ļ": 101319, + "çĹħæ¯Ĵ": 101320, + "åľ¨äºİ": 101321, + "æīĢè°ĵ": 101322, + "æĻ°": 101323, + "æŀĿ": 101324, + "æĭĸ": 101325, + "å®ħ": 101326, + "æķ´æ²»": 101327, + "ä½ıæĪ¿": 101328, + "åģ·": 101329, + "çĨĬ": 101330, + "èµģ": 101331, + "æ°Ľ": 101332, + "æł¼å±Ģ": 101333, + "åŁºç¡Ģä¸Ĭ": 101334, + "èĥĨ": 101335, + "åħ½": 101336, + "鼶åĶ®": 101337, + "åĿ¡": 101338, + "女åŃ©": 101339, + "æĴŀ": 101340, + "åħ¨åĬĽ": 101341, + "åĴĸ": 101342, + "èĤ©": 101343, + "çľī": 101344, + "èĩ³äºİ": 101345, + "åħļç»Ħ": 101346, + "ä¸Ģä»¶": 101347, + "æĭĨ": 101348, + "äºĭå®ŀ": 101349, + "åĤ³": 101350, + "æ¹ĺ": 101351, + "ç¶²ç«Ļ": 101352, + "循çݯ": 101353, + "åIJĮæ¯Ķ": 101354, + "æĭĶ": 101355, + "åĮ»èį¯": 101356, + "åħ»æ®ĸ": 101357, + "åĽºå®ļ": 101358, + "å®ŀéĻħä¸Ĭ": 101359, + "è®°å¾Ĺ": 101360, + "åĪ©äºİ": 101361, + "æĤ¦": 101362, + "æĭ³": 101363, + "èĤĿ": 101364, + "æķĪçĽĬ": 101365, + "該": 101366, + "æ°ij主": 101367, + "çĹĩçĬ¶": 101368, + "風": 101369, + "å¹¼åĦ¿": 101370, + "å§ij": 101371, + "æĪĴ": 101372, + "ä¸ĭçļĦ": 101373, + "渡": 101374, + "å¹´åºķ": 101375, + "è®°å¿Ĩ": 101376, + "åIJIJ": 101377, + "大å¹ħ": 101378, + "å¾½": 101379, + "åħ¬ä¼Ĺ": 101380, + "ä¿¡å¿ĥ": 101381, + "çİĽ": 101382, + "ä¼ļä¸Ĭ": 101383, + "ä¹Ķ": 101384, + "æijĦå½±": 101385, + "æ£ĭçīĮ": 101386, + "éĻķ": 101387, + "åºĶæĢ¥": 101388, + "æĶ¶è´¹": 101389, + "æİ§èĤ¡": 101390, + "仪å¼ı": 101391, + "çŀ¬": 101392, + "æīĢåľ¨": 101393, + "碰": 101394, + "å§ĵ": 101395, + "é¡Į": 101396, + "æĶ¯éĥ¨": 101397, + "使åij½": 101398, + "çĤī": 101399, + "å¯Ħ": 101400, + "翼": 101401, + "åľ°ä¸ĭ": 101402, + "è¾ŀ": 101403, + "俱": 101404, + "主æĮģ": 101405, + "è´§å¸ģ": 101406, + "æģ¨": 101407, + "èĤĮ": 101408, + "çĽĪ": 101409, + "éĶ»": 101410, + "å¿ĹæĦ¿": 101411, + "类似": 101412, + "æĮĸ": 101413, + "éĢ»": 101414, + "總": 101415, + "纪念": 101416, + "åķ¥": 101417, + "弯": 101418, + "åIJįåŃĹ": 101419, + "åģ¥èº«": 101420, + "çļĦå¿ĥ": 101421, + "驱": 101422, + "èĥĮåIJİ": 101423, + "æ³ķå¸Ī": 101424, + "ç²Ĵ": 101425, + "èĥ½éĩı": 101426, + "è¾°": 101427, + "èī³": 101428, + "å½¼": 101429, + "段æĹ¶éĹ´": 101430, + "åIJĪæ³ķ": 101431, + "æĵ¦": 101432, + "ç¾½": 101433, + "åݨ": 101434, + "æĪij说": 101435, + "äºĭåĬ¡": 101436, + "åĩłå¤©": 101437, + "åħģ": 101438, + "ç¼´": 101439, + "åįĵ": 101440, + "两ç§į": 101441, + "çĭ¬çī¹": 101442, + "帶": 101443, + "éĴ»": 101444, + "æĥ©": 101445, + "é¢ĨåħĪ": 101446, + "è¶³å¤Ł": 101447, + "壳": 101448, + "æĦıåij³çĿĢ": 101449, + "åĪĨå¸ĥ": 101450, + "ä¹ĥ": 101451, + "éģĭ": 101452, + "佩": 101453, + "è°±": 101454, + "çģ£": 101455, + "èį¡": 101456, + "贯彻": 101457, + "å¹¾": 101458, + "ç£ģ": 101459, + "åħ¸åŀĭ": 101460, + "åīĩ": 101461, + "åĨ»": 101462, + "æ¬ł": 101463, + "ä¸įä¹ħ": 101464, + "浦": 101465, + "éŃħ": 101466, + "å¼ĢäºĨ": 101467, + "使ç͍èĢħ": 101468, + "è¿Ļ款": 101469, + "å°Ī": 101470, + "èĦ±è´«": 101471, + "æĶ»åĿļ": 101472, + "ç®Ĺæĺ¯": 101473, + "ç¨Ģ": 101474, + "æĹłäºº": 101475, + "åłµ": 101476, + "å¥ı": 101477, + "éĥ½å¸Ĥ": 101478, + "åı¯è§ģ": 101479, + "ä¸įåĩº": 101480, + "æ·»": 101481, + "äºı": 101482, + "ç¾İ好": 101483, + "èĥĸ": 101484, + "飵": 101485, + "æłĩå¿Ĺ": 101486, + "èĬĤèĥ½": 101487, + "æĬ«": 101488, + "å°º": 101489, + "寸": 101490, + "ä¸Ģ代": 101491, + "é¢Ĺ": 101492, + "è̶": 101493, + "èĴ¸": 101494, + "åĸ®": 101495, + "滿": 101496, + "çĮľ": 101497, + "æµĨ": 101498, + "åŁĥ": 101499, + "åįĥä¸ĩ": 101500, + "èµĮ": 101501, + "èģ²": 101502, + "ä½ľé£İ": 101503, + "質": 101504, + "寨": 101505, + "年人": 101506, + "åį°è±¡": 101507, + "æ¡¶": 101508, + "æĴ¤": 101509, + "åįģäºĶ": 101510, + "æ¯ħ": 101511, + "沪": 101512, + "åĽ½æľī": 101513, + "大éĩıçļĦ": 101514, + "御": 101515, + "å¯ĵ": 101516, + "è¦ĸ": 101517, + "æ¼Ĥ亮": 101518, + "çľł": 101519, + "çĤŃ": 101520, + "é»İ": 101521, + "èϹ": 101522, + "åĪ©äºļ": 101523, + "èŃī": 101524, + "æµı": 101525, + "åįģåħ«": 101526, + "丢": 101527, + "è¾½": 101528, + "æľīä¸ĢäºĽ": 101529, + "æħĪ": 101530, + "åģľè½¦": 101531, + "å®ł": 101532, + "è§£æĶ¾": 101533, + "æľīå¤ļ": 101534, + "éĤĬ": 101535, + "常è§ģ": 101536, + "æĬ¹": 101537, + "纤": 101538, + "親": 101539, + "æ¡Ĩ": 101540, + "èİŀ": 101541, + "æ°§åĮĸ": 101542, + "è¿Ļä»¶": 101543, + "åĩ°": 101544, + "æŁ´": 101545, + "åıijç͵": 101546, + "é¼ł": 101547, + "转åĮĸ": 101548, + "å¨ĥ": 101549, + "æĮ¤": 101550, + "罩": 101551, + "å¯ĨåĪĩ": 101552, + "æĪijä¸į": 101553, + "é«ĺæĸ°": 101554, + "ä¸Ģç¯ĩ": 101555, + "è¿Ľç¨ĭ": 101556, + "è¡°": 101557, + "è¿ĺä¸į": 101558, + "çħĮ": 101559, + "æĸ°åįİ": 101560, + "èĤ¿": 101561, + "滩": 101562, + "ä¸Ģæµģ": 101563, + "è¯Ī": 101564, + "å®ŀä½ĵ": 101565, + "å¤ĸåĽ½": 101566, + "躲": 101567, + "èµł": 101568, + "覺": 101569, + "æ¢Ŀ": 101570, + "ä¸įè§ģ": 101571, + "è¨Ĭ": 101572, + "åĮ¹": 101573, + "åįµ": 101574, + "çĩ¥": 101575, + "æħķ": 101576, + "齿": 101577, + "å®´": 101578, + "饼": 101579, + "èij¡èIJĦ": 101580, + "å°ıå¿ĥ": 101581, + "æģ¼": 101582, + "éĻĮ": 101583, + "æĺĤ": 101584, + "åĥ¹": 101585, + "èĬĿ": 101586, + "æ¯ı个人": 101587, + "åīįæıIJ": 101588, + "ä½ĵä¼ļ": 101589, + "æ¨Ļ": 101590, + "æIJľçĭIJ": 101591, + "对åħ¶": 101592, + "丧": 101593, + "èľĤ": 101594, + "浸": 101595, + "調": 101596, + "åĿª": 101597, + "é¢ĸ": 101598, + "åIJį为": 101599, + "笼": 101600, + "èĪĮ": 101601, + "æľ¬ä¹¦": 101602, + "èģ¯": 101603, + "纺": 101604, + "ç®Ģ缴": 101605, + "éĽ¢": 101606, + "ç¾İçļĦ": 101607, + "éļ¨": 101608, + "é«ĺå³°": 101609, + "è¿Ļå®¶": 101610, + "åĤ¬": 101611, + "å°¸": 101612, + "ç¡ķ士": 101613, + "èŃ·": 101614, + "è°¨": 101615, + "æĺı": 101616, + "æĶ¿åįı": 101617, + "è¡Ķ": 101618, + "ç¿Ĵ": 101619, + "åľĴ": 101620, + "åĽ½æ°ij": 101621, + "主è§Ĵ": 101622, + "è£ķ": 101623, + "伪": 101624, + "åºŀ": 101625, + "æ°ijèIJ¥": 101626, + "æĥ§": 101627, + "ç§ĺ书": 101628, + "çĹķ": 101629, + "çϾåĪĨ": 101630, + "溶": 101631, + "æĹłçĸij": 101632, + "çļĦçľ¼": 101633, + "æĵİ": 101634, + "ä¼Łå¤§": 101635, + "å½°": 101636, + "åħ¬å®īå±Ģ": 101637, + "ç³ķ": 101638, + "å¼¥": 101639, + "åĤĻ": 101640, + "ä¹¾": 101641, + "毫ä¸į": 101642, + "注æĺİ": 101643, + "å̻": 101644, + "æĦī": 101645, + "æķ¦": 101646, + "馨": 101647, + "æĶĢ": 101648, + "éĢĿ": 101649, + "åı¯éĿł": 101650, + "夸": 101651, + "åľĺ": 101652, + "éĿ¢ä¸Ĭ": 101653, + "æĬĸ": 101654, + "èĦĨ": 101655, + "é©°": 101656, + "ä¼IJ": 101657, + "妨": 101658, + "å®ļäºĨ": 101659, + "ç³Ĭ": 101660, + "æŃ¡": 101661, + "éĥ¨éķ¿": 101662, + "ç§ī": 101663, + "èĪĨ": 101664, + "åĪijäºĭ": 101665, + "åIJµ": 101666, + "æ¤Ĵ": 101667, + "è¡ĵ": 101668, + "豫": 101669, + "èı©": 101670, + "åѵ": 101671, + "饲": 101672, + "就好": 101673, + "åłª": 101674, + "ä¸īè§Ĵ": 101675, + "åľºæ¯ĶèµĽ": 101676, + "ä¸įåģľ": 101677, + "æĵħ": 101678, + "åħ¨æĸĩ": 101679, + "æ³ģ": 101680, + "åѦä½į": 101681, + "æ±°": 101682, + "éłĺ": 101683, + "åıł": 101684, + "éļĽ": 101685, + "å¸IJ": 101686, + "çľĭåĩº": 101687, + "åĮł": 101688, + "å±ĢéĿ¢": 101689, + "æ³Į": 101690, + "è°Ĭ": 101691, + "åIJĮæľŁ": 101692, + "æĬķæłĩ": 101693, + "奴": 101694, + "æĿ¥çľĭçľĭ": 101695, + "èĦ¾": 101696, + "èŀº": 101697, + "æŃī": 101698, + "çĽ¯": 101699, + "ç¨İåĬ¡": 101700, + "å»Ĭ": 101701, + "æİ©": 101702, + "æħ¨": 101703, + "çĽ¼": 101704, + "èĬĴ": 101705, + "è®Ģ": 101706, + "æĮ£": 101707, + "èĮħ": 101708, + "æĸ¥": 101709, + "æ¤ħ": 101710, + "åΰæĿ¥": 101711, + "èijĹä½ľ": 101712, + "çĭ±": 101713, + "äºĮæīĭ": 101714, + "ä»İæĿ¥": 101715, + "çĸ²": 101716, + "åºĬä¸Ĭ": 101717, + "æĸ°æµª": 101718, + "æ³Ħ": 101719, + "å¢ŀå̼": 101720, + "丼": 101721, + "æļij": 101722, + "ä»İä¸ļ": 101723, + "æ·ĭ": 101724, + "å¤ļæł·": 101725, + "æľ´": 101726, + "份é¢Ŀ": 101727, + "æŀ£": 101728, + "西çľģ": 101729, + "æľ¬è´¨": 101730, + "深深": 101731, + "èīĩ": 101732, + "绵": 101733, + "产å̼": 101734, + "æ¼ł": 101735, + "èħ»": 101736, + "çŃĽ": 101737, + "åİĮ": 101738, + "æģŃ": 101739, + "å«Įçĸij": 101740, + "æĪ¶": 101741, + "æ»ŀ": 101742, + "èĨĢ": 101743, + "åĬ£": 101744, + "座è°Ī": 101745, + "常æĢģ": 101746, + "çļĦæĥħ": 101747, + "覽": 101748, + "å¯Ĥ": 101749, + "åĮĨ": 101750, + "èĩº": 101751, + "顯": 101752, + "çķı": 101753, + "éģ£": 101754, + "åįľ": 101755, + "çŃīå¥ĸ": 101756, + "責": 101757, + "溯": 101758, + "éİ": 101759, + "çĤ¹å¤´": 101760, + "èĵ¬": 101761, + "決": 101762, + "éħ¬": 101763, + "éģĬ": 101764, + "è³¼": 101765, + "註åĨĬ": 101766, + "æľ¬æĬ¥": 101767, + "çµķ": 101768, + "æ´»æĢ§": 101769, + "åħij": 101770, + "éĮ¯": 101771, + "åĨ¶": 101772, + "åĸ»": 101773, + "æºĸ": 101774, + "èĤ¢": 101775, + "æºĥ": 101776, + "æĹ¬": 101777, + "åīĬ": 101778, + "çIJĨäºĭ": 101779, + "å±ł": 101780, + "æ²§": 101781, + "èļĢ": 101782, + "鼻åŃIJ": 101783, + "为æŃ¢": 101784, + "常å§Ķ": 101785, + "çµĤ": 101786, + "éĬ·": 101787, + "çĭĢ": 101788, + "ä¾£": 101789, + "èĥĢ": 101790, + "èѰ": 101791, + "çĶ¨è½¦": 101792, + "åĻª": 101793, + "æŃ·": 101794, + "åįĶ": 101795, + "åι": 101796, + "竣æĺ¯": 101797, + "é©Ĺ": 101798, + "èIJĿ": 101799, + "çĻ«": 101800, + "çĹ«": 101801, + "æŃ§": 101802, + "å¼Ĭ": 101803, + "媽": 101804, + "çıĬ": 101805, + "è¡·": 101806, + "éľī": 101807, + "åŁºçĿ£": 101808, + "éļ±": 101809, + "æ°¨": 101810, + "绸": 101811, + "å°¼æĸ¯": 101812, + "çĥĺ": 101813, + "æľŁåĨħ": 101814, + "è°ħ": 101815, + "éĽĩ": 101816, + "éļĻ": 101817, + "åĸī": 101818, + "åī¥": 101819, + "çĹĺ": 101820, + "æĮ½": 101821, + "çĵ£": 101822, + "æ¹Ľ": 101823, + "樱": 101824, + "æ¾İ": 101825, + "æ¹ĥ": 101826, + "åĨ¬å¥¥": 101827, + "棵": 101828, + "å®°": 101829, + "åŀĴ": 101830, + "æ§ĭ": 101831, + "ä¾Ī": 101832, + "èĮĦ": 101833, + "åĺ¿": 101834, + "èıĩ": 101835, + "çĻĤ": 101836, + "åĬĥ": 101837, + "éį": 101838, + "èͽ": 101839, + "çŀŃ": 101840, + "æķŀ": 101841, + "ä¹ĸ": 101842, + "飧": 101843, + "è¾ľ": 101844, + "æĩĪ": 101845, + "ä½£": 101846, + "çŀ»": 101847, + "åŁĶ": 101848, + "èĪħ": 101849, + "å®ŀäºĭ": 101850, + "é¨": 101851, + "å§¥": 101852, + "絡": 101853, + "åĺ»": 101854, + "çķ¢": 101855, + "æ²ĥå°Ķ": 101856, + "è¿Ħ": 101857, + "èĤĩ": 101858, + "æħij": 101859, + "ã§": 101860, + "äı": 101861, + "ðł": 101862, + "ð¬ĩ": 101863, + "ð«Ń": 101864, + "ð«IJ": 101865, + "ã³": 101866, + "©½": 101867, + "ð«ł": 101868, + "ãĽ": 101869, + "ð¬į": 101870, + "é¿": 101871, + "ð¬Ĵ": 101872, + "ãĻ": 101873, + "ð¬¤": 101874, + "ð¬´": 101875, + "ð«ĸ": 101876, + "ð¤": 101877, + "ã¬": 101878, + "ä²": 101879, + "ð«Ķ": 101880, + "ð«ļ": 101881, + "è¦ģæ±Ĥ": 101882, + "ä¸ĢäºĽ": 101883, + "å®ŀçݰ": 101884, + "èĢĮä¸Ķ": 101885, + "åĽłæŃ¤": 101886, + "çͱäºİ": 101887, + "åħ³äºİ": 101888, + "çĦ¶åIJİ": 101889, + "æİ¨åĬ¨": 101890, + "ä¸Ģæł·": 101891, + "æĮīçħ§": 101892, + "è¿Ļæł·çļĦ": 101893, + "å½¢æĪIJ": 101894, + "æľīäºĽ": 101895, + "æĽ´åĬł": 101896, + "ç»ıè¿ĩ": 101897, + "建议": 101898, + "æ²»çĸĹ": 101899, + "ä½łä»¬": 101900, + "æīįèĥ½": 101901, + "ä¿ĥè¿Ľ": 101902, + "åijĺå·¥": 101903, + "ä½ĵéªĮ": 101904, + "èĪĩ": 101905, + "åģļ好": 101906, + "ä¿Ŀè¯ģ": 101907, + "æķ´ä¸ª": 101908, + "æĺ¯ä¸Ģ个": 101909, + "éĩĩç͍": 101910, + "çIJĨ论": 101911, + "æ¯Ķå¦Ĥ": 101912, + "ä¸ĬçļĦ": 101913, + "æİ¨èįIJ": 101914, + "çĶ³è¯·": 101915, + "天空": 101916, + "éĥ¨èIJ½": 101917, + "åįģåĪĨ": 101918, + "æĿ¥èĩª": 101919, + "ä¹ĭéĹ´": 101920, + "è°ĥæķ´": 101921, + "æ¯ı天": 101922, + "è°ĥæŁ¥": 101923, + "æĤ£èĢħ": 101924, + "è¿ĩç¨ĭä¸Ń": 101925, + "é¦Ļ港": 101926, + "广åijĬ": 101927, + "éĿ¢å¯¹": 101928, + "满足": 101929, + "éķ¿æľŁ": 101930, + "è§ĦèĮĥ": 101931, + "æķ´ä½ĵ": 101932, + "æĶ¹åıĺ": 101933, + "æĻºæħ§": 101934, + "å¦Īå¦Ī": 101935, + "å¦Ĥä»Ĭ": 101936, + "åIJĪåIJĮ": 101937, + "éĥ½ä¼ļ": 101938, + "åĦ¿ç«¥": 101939, + "åĩıå°ij": 101940, + "éŁ³ä¹IJ": 101941, + "ç»ı常": 101942, + "ä¸Ĭå¸Ĥ": 101943, + "ä¼ĺç§Ģ": 101944, + "çļĦéĩįè¦ģ": 101945, + "ä¸ĢæĿ¡": 101946, + "æµ·å¤ĸ": 101947, + "åı¦å¤ĸ": 101948, + "ä¸Ģå®¶": 101949, + "åİĭåĬĽ": 101950, + "大åŀĭ": 101951, + "çľĭçĿĢ": 101952, + "åĪĢ": 101953, + "幸ç¦ı": 101954, + "æİ¨å¹¿": 101955, + "åIJĽ": 101956, + "å¾IJ": 101957, + "æī¾åΰ": 101958, + "äºİæĺ¯": 101959, + "èĩªèº«": 101960, + "ä¸Ģä½į": 101961, + "åľŁåľ°": 101962, + "åĬłåħ¥": 101963, + "æİ¢ç´¢": 101964, + "æ¢ģ": 101965, + "主åĬ¨": 101966, + "å°±ä¸ļ": 101967, + "女æĢ§": 101968, + "çªģçł´": 101969, + "ä¸įåIJĮçļĦ": 101970, + "è¿IJè¾ĵ": 101971, + "èĩªçͱ": 101972, + "å±ħæ°ij": 101973, + "æŃ¤æ¬¡": 101974, + "çļĦæĹ¶éĹ´": 101975, + "å®¶éķ¿": 101976, + "ä¸Ģ个人": 101977, + "æ£Ģæµĭ": 101978, + "åĨħéĥ¨": 101979, + "广å·ŀ": 101980, + "缴æĴŃ": 101981, + "ä»İèĢĮ": 101982, + "贷款": 101983, + "åı¬å¼Ģ": 101984, + "æĶ¹éĢł": 101985, + "人çĶŁ": 101986, + "å±ķ示": 101987, + "æ¯ıå¹´": 101988, + "女人": 101989, + "çļĦæĸ¹å¼ı": 101990, + "æķĪçİĩ": 101991, + "å±±ä¸ľ": 101992, + "æ¸łéģĵ": 101993, + "ä¼¼ä¹İ": 101994, + "æ¡Īä»¶": 101995, + "åĪ©çĽĬ": 101996, + "çľĭçľĭ": 101997, + "å¿ĥéĩĮ": 101998, + "ç»´æĬ¤": 101999, + "å®Ŀå®Ŀ": 102000, + "ç½ijä¸Ĭ": 102001, + "论åĿĽ": 102002, + "å°±åı¯ä»¥": 102003, + "ä¸įè¶³": 102004, + "æģ¢å¤į": 102005, + "å¸ĥå±Ģ": 102006, + "è´¡çĮ®": 102007, + "ä¸ĭéĻį": 102008, + "æİĮæı¡": 102009, + "çļ®èĤ¤": 102010, + "å·¥åħ·": 102011, + "éĩįåºĨ": 102012, + "åĵģè´¨": 102013, + "æİ¨åĩº": 102014, + "çĶ·äºº": 102015, + "æī¿æĭħ": 102016, + "çªģåĩº": 102017, + "èĢĮè¨Ģ": 102018, + "æ²Ł": 102019, + "åįıè°ĥ": 102020, + "æĺ¯ä»Ģä¹Ī": 102021, + "汤": 102022, + "æĴij": 102023, + "çĭ¬ç«ĭ": 102024, + "çݯèĬĤ": 102025, + "æī©å¤§": 102026, + "æ´ª": 102027, + "æĿ°": 102028, + "çĽIJ": 102029, + "ä»ģ": 102030, + "æ¶īåıĬ": 102031, + "èĢģ人": 102032, + "åį³ä½¿": 102033, + "åįĹ京": 102034, + "éħįåIJĪ": 102035, + "鬼": 102036, + "çĪ¶äº²": 102037, + "ç½Ĺæĸ¯": 102038, + "å°ıåĮº": 102039, + "æķĻæİĪ": 102040, + "åĨ³çŃĸ": 102041, + "é¢Ħ计": 102042, + "æľ¬äºº": 102043, + "伯": 102044, + "竹": 102045, + "åΰåºķ": 102046, + "å¸Ĥæ°ij": 102047, + "åĩºåı£": 102048, + "éĩĩè´Ń": 102049, + "æĢ»ç»ĵ": 102050, + "æŃ¦æ±ī": 102051, + "åĬłå¤§": 102052, + "å¹¿ä¸ľ": 102053, + "æµģç¨ĭ": 102054, + "人åı£": 102055, + "å¦Ĥæŀľä½ł": 102056, + "åĩºåİ»": 102057, + "åĩī": 102058, + "åĨľæ°ij": 102059, + "çݰ象": 102060, + "åĬĽåº¦": 102061, + "ç»ĻäºĪ": 102062, + "åħļå§Ķ": 102063, + "è¯Ńè¨Ģ": 102064, + "线ä¸Ĭ": 102065, + "æĢİæł·": 102066, + "åĦ¿åŃIJ": 102067, + "ç¡®å®ŀ": 102068, + "ä¹ĭå¤ĸ": 102069, + "éĥ½åľ¨": 102070, + "èī¾": 102071, + "çļĦæĥħåĨµ": 102072, + "éĩĮçļĦ": 102073, + "åĽ´ç»ķ": 102074, + "æĽ´å¤ļçļĦ": 102075, + "ä¾Ŀæ³ķ": 102076, + "åħ¬åĽŃ": 102077, + "å®¶éĩĮ": 102078, + "æ¯į亲": 102079, + "ä¸įåĨį": 102080, + "èĭ¹": 102081, + "æ³ķéĻ¢": 102082, + "éŁ©åĽ½": 102083, + "缸å½ĵ": 102084, + "ä¸įçŁ¥": 102085, + "è¯Ħä¼°": 102086, + "ä¸įç͍": 102087, + "顺åĪ©": 102088, + "éĩįè§Ĩ": 102089, + "è´¢åĬ¡": 102090, + "ä»ĸåĢij": 102091, + "åıijè¡Į": 102092, + "ä¸ĵéŨ": 102093, + "åħ·å¤ĩ": 102094, + "å¹¶ä¸įæĺ¯": 102095, + "è¶³çIJĥ": 102096, + "éŀĭ": 102097, + "åıij表": 102098, + "æ°¸è¿ľ": 102099, + "èIJ¥åħ»": 102100, + "éħįå¥Ĺ": 102101, + "æķ´åIJĪ": 102102, + "è´º": 102103, + "åĽŀçŃĶ": 102104, + "æĶ¶çĽĬ": 102105, + "ä¹Łè®¸": 102106, + "è»Ĭ": 102107, + "æİ¥è§¦": 102108, + "æĶ»åĩ»": 102109, + "åĽĽå·Ŀ": 102110, + "æĢ§èĥ½": 102111, + "åĽŀåΰ": 102112, + "èħ°": 102113, + "ä¹Łæ²¡æľī": 102114, + "å¼Ħ": 102115, + "设ç«ĭ": 102116, + "éĺ²æİ§": 102117, + "æĬĢå·§": 102118, + "éĢļ常": 102119, + "è´¢æĶ¿": 102120, + "éĥ¨ç½²": 102121, + "åľºæĻ¯": 102122, + "æ±Łèĭı": 102123, + "表达": 102124, + "åĸ·": 102125, + "女åĦ¿": 102126, + "èζ": 102127, + "給": 102128, + "ä¼ļåijĺ": 102129, + "æĪĸ许": 102130, + "亩": 102131, + "举æĸ¹": 102132, + "天津": 102133, + "è¿ijå¹´": 102134, + "çľĭæĿ¥": 102135, + "æ¯Ķä¾ĭ": 102136, + "岩": 102137, + "éĵľ": 102138, + "çİ»": 102139, + "å®ŀéªĮ": 102140, + "æĢĿç»´": 102141, + "æĭħå¿ĥ": 102142, + "æ²Ī": 102143, + "身边": 102144, + "æ·±åĮĸ": 102145, + "ç²¾åĩĨ": 102146, + "ç§ģæľį": 102147, + "æ¶Īéĺ²": 102148, + "åİ»äºĨ": 102149, + "ç»Ĩèĥŀ": 102150, + "çIJĥéĺŁ": 102151, + "æĺİæĺŁ": 102152, + "é£Łçī©": 102153, + "å¾Īå¿«": 102154, + "è®©ä½ł": 102155, + "ä¿¡ç͍": 102156, + "å͝ä¸Ģ": 102157, + "åħ¶å®ĥ": 102158, + "çŃīæĸ¹éĿ¢": 102159, + "å¾ĭå¸Ī": 102160, + "æŃ»äº¡": 102161, + "æŁ³": 102162, + "ä¸Ģæī¹": 102163, + "ä¸Ĭ涨": 102164, + "æľºåľº": 102165, + "å½¢åĬ¿": 102166, + "æĦ¿æĦı": 102167, + "éĽĨä½ĵ": 102168, + "æĸ°åŀĭ": 102169, + "æįŁå¤±": 102170, + "æĽ¸": 102171, + "ä¸ĭåįĪ": 102172, + "æ¯ı次": 102173, + "æĪIJå°±": 102174, + "åħ¬è·¯": 102175, + "èĻ«": 102176, + "åĴ±": 102177, + "西å®ī": 102178, + "æľĢä½³": 102179, + "ç§ijçłĶ": 102180, + "å¤įæĿĤ": 102181, + "æľºåύ": 102182, + "çαæĥħ": 102183, + "çħ§çīĩ": 102184, + "å¹´é¾Ħ": 102185, + "è³ĩæĸĻ": 102186, + "ç²Ĺ": 102187, + "åĩĨç¡®": 102188, + "åĬłä¸Ĭ": 102189, + "åĩºçīĪ": 102190, + "è°IJ": 102191, + "å®¶å±ħ": 102192, + "èĥĮæĻ¯": 102193, + "ä¸Ģ线": 102194, + "äºĭ项": 102195, + "åĬ¨ä½ľ": 102196, + "祥": 102197, + "æĢ»ä½ĵ": 102198, + "æĪ¿åŃIJ": 102199, + "ä¹Łå°±æĺ¯": 102200, + "大æ¦Ĥ": 102201, + "é«ĺæķĪ": 102202, + "åIJ¹": 102203, + "æİĪæĿĥ": 102204, + "éĻĦè¿ij": 102205, + "æ¡Īä¾ĭ": 102206, + "éĹ¹": 102207, + "çΏçΏ": 102208, + "彩票": 102209, + "æĢĴ": 102210, + "举æĬ¥": 102211, + "æĻ®éģį": 102212, + "çķĻä¸ĭ": 102213, + "è¡£æľį": 102214, + "æĹłè®ºæĺ¯": 102215, + "åħħ满": 102216, + "深度": 102217, + "æ¡ij": 102218, + "æĪªèĩ³": 102219, + "带æĿ¥çļĦ": 102220, + "éϵ": 102221, + "æĦŁæĥħ": 102222, + "èµļ": 102223, + "åĵªäºĽ": 102224, + "æķ´æĶ¹": 102225, + "æĪIJçĨŁ": 102226, + "å¨ľ": 102227, + "é¼»": 102228, + "磼": 102229, + "çĽ¾": 102230, + "好好": 102231, + "ç¬¬åĽĽ": 102232, + "åĨłåĨĽ": 102233, + "è´¢å¯Į": 102234, + "æľĢ好çļĦ": 102235, + "车åŀĭ": 102236, + "éĸĢ": 102237, + "åį³å°Ĩ": 102238, + "åĪĨ为": 102239, + "éĿĴå²Ľ": 102240, + "纷纷": 102241, + "ä»ĬæĹ¥": 102242, + "平衡": 102243, + "å¹³æĸ¹ç±³": 102244, + "éĤ£ç§į": 102245, + "åĩºçĶŁ": 102246, + "éĿĴæĺ¥": 102247, + "人群": 102248, + "人工": 102249, + "ä¹ĭä¸ĭ": 102250, + "æ¹ĸåĮĹ": 102251, + "åľ¨æŃ¤": 102252, + "åįļ士": 102253, + "æĹ¶åĪ»": 102254, + "æ²³åĮĹ": 102255, + "æĶ¾å¼ĥ": 102256, + "éĢļéģĵ": 102257, + "森æŀĹ": 102258, + "çĸĨ": 102259, + "æķ¸": 102260, + "èĬ³": 102261, + "æīĵåĩ»": 102262, + "æĽ¹": 102263, + "åĮĸåѦ": 102264, + "æĥ³è±¡": 102265, + "ä¸ĩ人": 102266, + "è´¢ç»ı": 102267, + "åħĥç´ł": 102268, + "ä¼ļ计": 102269, + "åħ¨ä½ĵ": 102270, + "æĦĽ": 102271, + "é«ĺä¸Ń": 102272, + "æľºéģĩ": 102273, + "å£°éŁ³": 102274, + "æĹħè¡Į": 102275, + "浩": 102276, + "æŁ±": 102277, + "å°ijå¹´": 102278, + "åĽ½å¤ĸ": 102279, + "èijĹåIJį": 102280, + "çĶŁåŃĺ": 102281, + "å§ľ": 102282, + "带é¢Ĩ": 102283, + "é¢ľèī²": 102284, + "ä¸Ĭä¸ĭ": 102285, + "产ä¸ļéĵ¾": 102286, + "æĽ´å¥½çļĦ": 102287, + "å²Ń": 102288, + "ä¼ĺæĥł": 102289, + "便æĺ¯": 102290, + "åħ§å®¹": 102291, + "ä¸Ģåıª": 102292, + "çIJ´": 102293, + "梦æĥ³": 102294, + "ç§Łèµģ": 102295, + "å¼ĢåIJ¯": 102296, + "è´Ńçī©": 102297, + "åĮħåIJ«": 102298, + "åĪ©çİĩ": 102299, + "èµ·äºĨ": 102300, + "æľīåĬĽ": 102301, + "éĤ£éĩĮ": 102302, + "审æī¹": 102303, + "对æīĭ": 102304, + "çݰéĩij": 102305, + "天çĦ¶": 102306, + "çĽĴ": 102307, + "çν": 102308, + "å¿ħçĦ¶": 102309, + "åĮĸå·¥": 102310, + "ä¸ĵåĪ©": 102311, + "åķ¡": 102312, + "å¼Ģå¿ĥ": 102313, + "人ä½ĵ": 102314, + "éģĵ士": 102315, + "æĢģ度": 102316, + "空è°ĥ": 102317, + "æĭĽåķĨ": 102318, + "å§»": 102319, + "第äºĶ": 102320, + "æ£Ĵ": 102321, + "ä¸Ģç³»åĪĹ": 102322, + "å᱿ľº": 102323, + "转åıĺ": 102324, + "åľºæīĢ": 102325, + "鸣": 102326, + "æĪ¿éĹ´": 102327, + "é̼": 102328, + "è¯ķçĤ¹": 102329, + "对å¤ĸ": 102330, + "åĩºåı°": 102331, + "åľ¨è¿Ļ": 102332, + "åİĤå®¶": 102333, + "巨大": 102334, + "ç®Ģä»ĭ": 102335, + "çľĭäºĨ": 102336, + "åħļ建": 102337, + "æĮĩæĮ¥": 102338, + "çŁ³æ²¹": 102339, + "ä¸įåı¯èĥ½": 102340, + "èݲ": 102341, + "ä¸į太": 102342, + "åĪĽæĦı": 102343, + "第ä¸Ģ个": 102344, + "è´µå·ŀ": 102345, + "è¿ĩäºĨ": 102346, + "æľ¬æĿ¥": 102347, + "éģĵå¾·": 102348, + "çŃĶæ¡Ī": 102349, + "é϶": 102350, + "ä¸Ģè·¯": 102351, + "èĤĸ": 102352, + "æ¸ħæ´ģ": 102353, + "æľīæľº": 102354, + "åIJįåįķ": 102355, + "æĿ±": 102356, + "åij¼åIJ¸": 102357, + "ä¸Ī": 102358, + "ç¦ı建": 102359, + "è¯ķéªĮ": 102360, + "å¼ķåıij": 102361, + "ä¹Łæ²¡": 102362, + "ä¸įä½ı": 102363, + "çĨŁæĤī": 102364, + "èIJ¬": 102365, + "ä¸įèī¯": 102366, + "çłĸ": 102367, + "èĩ´åĬĽ": 102368, + "çŃ¾è®¢": 102369, + "åIJĬ": 102370, + "侯": 102371, + "çĺ¦": 102372, + "å§ijå¨ĺ": 102373, + "æĸ¤": 102374, + "妻åŃIJ": 102375, + "æĺ¥èĬĤ": 102376, + "çά": 102377, + "æĽĿ": 102378, + "çĥŃæĥħ": 102379, + "éķ¿æ²Ļ": 102380, + "èIJ¥éĢł": 102381, + "éħ·": 102382, + "éĵĿ": 102383, + "åŁºæľ¬ä¸Ĭ": 102384, + "åij¨åĽ´": 102385, + "ä»Ģ麼": 102386, + "认åı¯": 102387, + "åĪĨåŃIJ": 102388, + "ä¸Ģæĸ¹éĿ¢": 102389, + "è½´": 102390, + "å¼·": 102391, + "马ä¸Ĭ": 102392, + "éĽ¾": 102393, + "èĩ£": 102394, + "å°¿": 102395, + "çĶŁæĦı": 102396, + "å®īå¾½": 102397, + "ç¥ŀç»ı": 102398, + "åĩºå¸Ń": 102399, + "èį¯åĵģ": 102400, + "çIJĨçͱ": 102401, + "åįıåIJĮ": 102402, + "æµģåĬ¨": 102403, + "åıijåĬ¨": 102404, + "åĿļå®ļ": 102405, + "表æĺİ": 102406, + "åIJİéĿ¢": 102407, + "ä¹īåĬ¡": 102408, + "å¦ĸ": 102409, + "æľīåı¯èĥ½": 102410, + "年轻人": 102411, + "大éĻĨ": 102412, + "å²³": 102413, + "ä¸įèµ·": 102414, + "çŀ¬éĹ´": 102415, + "ä¸įå¾Ĺä¸į": 102416, + "çŃ¾çº¦": 102417, + "åIJĪæł¼": 102418, + "åħļæĶ¯éĥ¨": 102419, + "æµİåįĹ": 102420, + "便åĪ©": 102421, + "éļıæĹ¶": 102422, + "å¥ī": 102423, + "称为": 102424, + "产æĿĥ": 102425, + "åIJķ": 102426, + "çĽĨ": 102427, + "课åłĤ": 102428, + "ç·ļ": 102429, + "æ£ī": 102430, + "线ä¸ĭ": 102431, + "èĩªè¡Į": 102432, + "举æİª": 102433, + "åݦéŨ": 102434, + "èĩªä¿¡": 102435, + "å½±è§Ĩ": 102436, + "ä»Ķ": 102437, + "çĶŁæ´»ä¸Ń": 102438, + "æĿĥçĽĬ": 102439, + "çϽèī²": 102440, + "å°±ä¸į": 102441, + "è¿Ľå±ķ": 102442, + "æ¯ıæĹ¥": 102443, + "ä¾Ľç»Ļ": 102444, + "æĿĥåĪ©": 102445, + "æĹłæķ°": 102446, + "çIJĨè´¢": 102447, + "ä¾ĿæĹ§": 102448, + "ä¸ĬåįĪ": 102449, + "è¯ĨåĪ«": 102450, + "çĽĪåĪ©": 102451, + "çłĤ": 102452, + "许åı¯": 102453, + "åIJĮäºĭ": 102454, + "åĺĽ": 102455, + "éģ¸": 102456, + "çĿĢåĬĽ": 102457, + "éŨåı£": 102458, + "ä¸įå¤ļ": 102459, + "åħ¶æ¬¡": 102460, + "碧": 102461, + "çī©çIJĨ": 102462, + "åĨħå¿ĥ": 102463, + "çϾå§ĵ": 102464, + "æĢ»ç»Ł": 102465, + "å¹²åĩĢ": 102466, + "积累": 102467, + "åıįé¦Ī": 102468, + "æłijç«ĭ": 102469, + "社交": 102470, + "ç§©": 102471, + "åįģä¸Ģ": 102472, + "éĤĵ": 102473, + "驱åĬ¨": 102474, + "å±ķè§Ī": 102475, + "èĪĴéĢĤ": 102476, + "åŁºåĽł": 102477, + "å·®å¼Ĥ": 102478, + "转让": 102479, + "å°ıå§IJ": 102480, + "æł·åŃIJ": 102481, + "ç¿Ķ": 102482, + "é«ĺåħ´": 102483, + "å½±åĵįåĬĽ": 102484, + "æīĭç»Ń": 102485, + "缸åIJĮ": 102486, + "缸åºĶ": 102487, + "æĻĴ": 102488, + "è§Ģ": 102489, + "å¸Ĥå§Ķ": 102490, + "èĬ¯": 102491, + "å±ķçݰ": 102492, + "åľ°çIJĥ": 102493, + "éĤª": 102494, + "ä¸Ģå®ļçļĦ": 102495, + "åħģ许": 102496, + "ä¿¡ä»»": 102497, + "æīij": 102498, + "éĻ¢æł¡": 102499, + "ç®Ģç§°": 102500, + "åģļæ³ķ": 102501, + "ä¹ĭè·¯": 102502, + "æĹĹä¸ĭ": 102503, + "èħĶ": 102504, + "æ¶Ī失": 102505, + "ä¸ĸçķĮä¸Ĭ": 102506, + "åŁİ乡": 102507, + "èĪŀåı°": 102508, + "å¾Ī大çļĦ": 102509, + "绣çѹ": 102510, + "åħ¬å¹³": 102511, + "èĤ¾": 102512, + "çļĦ好": 102513, + "æ±ģ": 102514, + "çľ¼åīį": 102515, + "éĽ£": 102516, + "å¹½": 102517, + "åħ±äº§": 102518, + "主åĬŀ": 102519, + "å¤Ħç½ļ": 102520, + "åºĻ": 102521, + "éģĵçIJĨ": 102522, + "å¼µ": 102523, + "æİ¥çĿĢ": 102524, + "çĮİ": 102525, + "çģĮ": 102526, + "çͱæŃ¤": 102527, + "人åĬĽ": 102528, + "æµģè¡Į": 102529, + "ä¾ł": 102530, + "åı¯ä»¥è¯´": 102531, + "èĴĭ": 102532, + "å½¢æĢģ": 102533, + "æĹ¥åŃIJ": 102534, + "æ¼Ĩ": 102535, + "çķĻåѦ": 102536, + "缸éĹľ": 102537, + "æľĢå¤ļ": 102538, + "åĩŃåĢŁ": 102539, + "åħ¬äº¤": 102540, + "æĮĸæİĺ": 102541, + "æĿĤå¿Ĺ": 102542, + "主人": 102543, + "éļľç¢į": 102544, + "æł¡éķ¿": 102545, + "æĸ¹ä½į": 102546, + "ä¸ĬçıŃ": 102547, + "å¤ļåħĥ": 102548, + "èĥģ": 102549, + "éŃħåĬĽ": 102550, + "èĮĤ": 102551, + "åħħç͵": 102552, + "强大": 102553, + "çĥ¤": 102554, + "å¥ĭæĸĹ": 102555, + "å®ŀç͍": 102556, + "éĺģ": 102557, + "ç»ĻäºĨ": 102558, + "æľ¬ç§ij": 102559, + "æłĭ": 102560, + "æĭ¨": 102561, + "æķĻç»ĥ": 102562, + "éĥ½çŁ¥éģĵ": 102563, + "æ¯ķä¸ļçĶŁ": 102564, + "ç¢Ĺ": 102565, + "åŀĤ": 102566, + "讼": 102567, + "å®ģæ³¢": 102568, + "åѦèĢħ": 102569, + "谢谢": 102570, + "åŁİéķĩ": 102571, + "æĢİä¹ĪåĬŀ": 102572, + "éģĶ": 102573, + "æĪIJ交": 102574, + "æ½ľåĬĽ": 102575, + "åį§": 102576, + "æĸ°å¼Ģ": 102577, + "éħįå¤ĩ": 102578, + "主åĬĽ": 102579, + "åij³éģĵ": 102580, + "çĥĤ": 102581, + "é£ŀè¡Į": 102582, + "å«ģ": 102583, + "大大": 102584, + "ç»Ļ大家": 102585, + "å¤ĸéĿ¢": 102586, + "éĨī": 102587, + "åıijè¨Ģ": 102588, + "æĹ©é¤IJ": 102589, + "åIJĦèĩª": 102590, + "å®Ļ": 102591, + "èį£èªī": 102592, + "æĬ«éľ²": 102593, + "é¡ŀ": 102594, + "åĨħçļĦ": 102595, + "èĤª": 102596, + "è¾IJ": 102597, + "æ³µ": 102598, + "æĬĽ": 102599, + "æĺŁæľŁ": 102600, + "ä¸Ģ带": 102601, + "çĶŁç´ł": 102602, + "ç»ıéĶĢ": 102603, + "åĩ¶": 102604, + "åľ°ä¸Ĭ": 102605, + "åij½è¿IJ": 102606, + "åĵ²": 102607, + "ä¸Ĭåİ»": 102608, + "æĸĩçī©": 102609, + "è¯ij": 102610, + "æĮ¯åħ´": 102611, + "éķ¿æĹ¶éĹ´": 102612, + "ç¥Ń": 102613, + "åIJĪèĤ¥": 102614, + "è¿Ŀè§Ħ": 102615, + "èģª": 102616, + "ä½İäºİ": 102617, + "éĢĤå½ĵ": 102618, + "æľīåºı": 102619, + "æľ¬ç½ij": 102620, + "çķĻè¨Ģ": 102621, + "æĥ³æ³ķ": 102622, + "çŃ¾ç½²": 102623, + "å§ļ": 102624, + "æĢ§æł¼": 102625, + "èĴĻåı¤": 102626, + "æŁı": 102627, + "åŀ«": 102628, + "åѦåİĨ": 102629, + "ä»ħä»ħ": 102630, + "讲è¯Ŀ": 102631, + "éĶIJ": 102632, + "æĢĸ": 102633, + "åīª": 102634, + "èĭį": 102635, + "åIJĵ": 102636, + "强çĥĪ": 102637, + "åģ¥åħ¨": 102638, + "çĸ¯": 102639, + "åı¤ä»£": 102640, + "å¥Ī": 102641, + "ä¸įçĦ¶": 102642, + "乡éķĩ": 102643, + "æľĭåıĭ们": 102644, + "åĤħ": 102645, + "èģ½": 102646, + "个æĢ§": 102647, + "æ³ķè§Ħ": 102648, + "å°ıéķĩ": 102649, + "çĶ»éĿ¢": 102650, + "第åħŃ": 102651, + "網路": 102652, + "åīįæĻ¯": 102653, + "åIJ¬è¯´": 102654, + "ä¼łåªĴ": 102655, + "æĿ¡ä¾ĭ": 102656, + "åĪ«çļĦ": 102657, + "ä¸įæĩĤ": 102658, + "顾éĹ®": 102659, + "强度": 102660, + "éĺ¿éĩĮ": 102661, + "èµ°åĬ¿": 102662, + "帽": 102663, + "çļĦç¡®": 102664, + "åĮºåĪ«": 102665, + "éĮ¢": 102666, + "主管": 102667, + "ä¸Ģçľĭ": 102668, + "æĸľ": 102669, + "åŃĺåľ¨çļĦ": 102670, + "仲": 102671, + "åį±å®³": 102672, + "éĵŃ": 102673, + "游æĪıä¸Ń": 102674, + "éħ±": 102675, + "é¾Ļ头": 102676, + "人å¿ĥ": 102677, + "éĢĢä¼ij": 102678, + "æµıè§Ī": 102679, + "åĬ«": 102680, + "éĺ²æ²»": 102681, + "ç®Ń": 102682, + "å±Ī": 102683, + "è¾½å®ģ": 102684, + "壤": 102685, + "è¿İæĿ¥": 102686, + "éŀį": 102687, + "ç͍æĿ¥": 102688, + "å¤§åľ°": 102689, + "ä»°": 102690, + "éĢļ讯": 102691, + "å¼Ģå·¥": 102692, + "裤": 102693, + "å¦ĤåIJĮ": 102694, + "骤": 102695, + "éĺŁåijĺ": 102696, + "轩": 102697, + "ç¾İæľ¯": 102698, + "èĻŁ": 102699, + "åIJĮä¸Ģ": 102700, + "åľĸ": 102701, + "书æ³ķ": 102702, + "æīĵåį°": 102703, + "åIJ«æľī": 102704, + "éĽĨæĪIJ": 102705, + "éĹ·": 102706, + "å¸Ĥåľºä¸Ĭ": 102707, + "æĹģè¾¹": 102708, + "åľ°æĿ¿": 102709, + "产çĶŁçļĦ": 102710, + "粤": 102711, + "éĩįç»Ħ": 102712, + "è¡Ģæ¶²": 102713, + "çŃĭ": 102714, + "åĬŀäºĭ": 102715, + "常è§ģçļĦ": 102716, + "ä¸ĬåįĬå¹´": 102717, + "å±ıå¹ķ": 102718, + "åIJīæŀĹ": 102719, + "å·©": 102720, + "åĸľçα": 102721, + "ç¿ł": 102722, + "ä¸īç§į": 102723, + "æ¡Ĩæŀ¶": 102724, + "举èİŀ": 102725, + "çĶĺèĤĥ": 102726, + "èĬ¬": 102727, + "åĽ¾ä¹¦": 102728, + "åĩ¤åĩ°": 102729, + "æ°ĶåĢĻ": 102730, + "å°´": 102731, + "å°¬": 102732, + "两天": 102733, + "è¾ħ导": 102734, + "åĢŁæ¬¾": 102735, + "æĹ¥èµ·": 102736, + "æ´Ĵ": 102737, + "ä¸Ģ度": 102738, + "è¹Ī": 102739, + "æ½Ń": 102740, + "æīĩ": 102741, + "çĻľ": 102742, + "æĸ°åħ´": 102743, + "åĤ²": 102744, + "诸å¤ļ": 102745, + "è´ª": 102746, + "éĻ·åħ¥": 102747, + "èĪŁ": 102748, + "èĤºçĤİ": 102749, + "ä¸Ģæł·çļĦ": 102750, + "åİĺ": 102751, + "åľ°çIJĨ": 102752, + "æĬķæ³¨": 102753, + "éļĬ": 102754, + "åħīä¼ı": 102755, + "ä¿Ŀåģ¥": 102756, + "åħĶ": 102757, + "åħ¬åĬ¡": 102758, + "æīĵçł´": 102759, + "çĶ·åŃ©": 102760, + "åĬ³åĬ¡": 102761, + "ä½łä¼ļ": 102762, + "çĶ¨åľ°": 102763, + "溢": 102764, + "åıijè¾¾": 102765, + "èĤļ": 102766, + "è¿ĩäºİ": 102767, + "èĩĤ": 102768, + "éĢĻæ¨£": 102769, + "轻轻": 102770, + "ä¸Ńåħ±": 102771, + "åIJĦåĽ½": 102772, + "åĶĩ": 102773, + "å®ŀä¹ł": 102774, + "èϾ": 102775, + "æ§½": 102776, + "ä¸įä¸Ĭ": 102777, + "åħįçĸ«": 102778, + "åįłæį®": 102779, + "å·¥ä¼ļ": 102780, + "åĽĬ": 102781, + "èĪªå¤©": 102782, + "åı¯çα": 102783, + "æĸĹäºī": 102784, + "çĺ¤": 102785, + "å¦Ĥæľī": 102786, + "éĽĸ": 102787, + "对æĪij": 102788, + "åĩºç§Ł": 102789, + "好çľĭ": 102790, + "太大": 102791, + "æ°´åĪ©": 102792, + "åĬ¿åĬĽ": 102793, + "åħ¨æ°ij": 102794, + "ç½¢": 102795, + "èµ¢å¾Ĺ": 102796, + "çĶµä¿¡": 102797, + "车éĹ´": 102798, + "æĻĤåĢĻ": 102799, + "å°ijæķ°": 102800, + "éĵ¸": 102801, + "åħ³èģĶ": 102802, + "ä¸įä»ħä»ħ": 102803, + "为æĤ¨": 102804, + "åĴ¸": 102805, + "æľºåĬ¨": 102806, + "è£Ļ": 102807, + "åĵįåºĶ": 102808, + "éģł": 102809, + "è²·": 102810, + "ç©´": 102811, + "å¢ħ": 102812, + "éĶ¡": 102813, + "çµĦ": 102814, + "çģ«è½¦": 102815, + "è³ĩè¨Ĭ": 102816, + "åĨ³èµĽ": 102817, + "污水": 102818, + "èªŀ": 102819, + "å´Ľ": 102820, + "ç´§å¯Ĩ": 102821, + "缺å°ij": 102822, + "å¤ļ人": 102823, + "æĢ»ä¹¦è®°": 102824, + "éĶĪ": 102825, + "èijĽ": 102826, + "å¿ĺè®°": 102827, + "éĻĮçĶŁ": 102828, + "éķ¿å¤§": 102829, + "åħĪè¿ĽçļĦ": 102830, + "ç¡ħ": 102831, + "åıijæĺİ": 102832, + "å©´åĦ¿": 102833, + "æīİå®ŀ": 102834, + "èĽĭçϽ": 102835, + "ä¸ĢçϾ": 102836, + "缮åħī": 102837, + "æħĮ": 102838, + "åĬłæ²¹": 102839, + "åIJŀ": 102840, + "ä¸Ģ群": 102841, + "ä¸Ńä»ĭ": 102842, + "å¸ĸ": 102843, + "å¿Į": 102844, + "èģĮèĥ½": 102845, + "广æĴŃ": 102846, + "çĽijå¯Ł": 102847, + "ç§ĺå¯Ĩ": 102848, + "çĭ®": 102849, + "è¿ĻæĿ¡": 102850, + "éĢ¢": 102851, + "æĢ¨": 102852, + "åįģåħŃ": 102853, + "試": 102854, + "说åΰ": 102855, + "åĩĿèģļ": 102856, + "æĮĩ示": 102857, + "æ°¢": 102858, + "å¼ĺ": 102859, + "éĺĢ": 102860, + "æĸ©": 102861, + "éłħ": 102862, + "ä¸Ģå¼Ģå§ĭ": 102863, + "æİĴè¡Į": 102864, + "åľ¨æĪij": 102865, + "纪å½ķ": 102866, + "æĬĦ": 102867, + "æłª": 102868, + "说æ³ķ": 102869, + "ä¸Ńèį¯": 102870, + "好å¤ļ": 102871, + "åıªä¸įè¿ĩ": 102872, + "çķĻåľ¨": 102873, + "个å°ıæĹ¶": 102874, + "è®¤çŁ¥": 102875, + "çķ«": 102876, + "è§ģè¿ĩ": 102877, + "å°ıå¾®": 102878, + "ä½Ľå±±": 102879, + "çľ¾": 102880, + "讲述": 102881, + "梳": 102882, + "ç§°åı·": 102883, + "æĹ¥æĻļ": 102884, + "è¢ĸ": 102885, + "åķ¤": 102886, + "æľªç»ı": 102887, + "æľĢæĹ©": 102888, + "æī®æ¼Ķ": 102889, + "è¡Ģ管": 102890, + "纱": 102891, + "æĥħèĬĤ": 102892, + "第ä¸ĥ": 102893, + "æį§": 102894, + "ä»Ĺ": 102895, + "æ¿ĢçĥĪ": 102896, + "æĹłçº¿": 102897, + "ä¸į容æĺĵ": 102898, + "å¼Ģå¹ķ": 102899, + "æĸ°çĶŁ": 102900, + "ä¸ĵ注": 102901, + "èij±": 102902, + "åįĹæµ·": 102903, + "çĩŁ": 102904, + "èµ·ä¾Ĩ": 102905, + "æ´¾åĩº": 102906, + "åĦĴ": 102907, + "侨": 102908, + "è¼ĥ": 102909, + "åįļè§Ī": 102910, + "é̾": 102911, + "åĮĢ": 102912, + "ç»ıæµİåѦ": 102913, + "æ¸Ĺ": 102914, + "ä¿ĿèŃ·": 102915, + "çīº": 102916, + "çī²": 102917, + "çİ«": 102918, + "çij°": 102919, + "æľĢåIJİä¸Ģ": 102920, + "æĶ¿åĬ¡": 102921, + "æ§Ľ": 102922, + "èĻķçIJĨ": 102923, + "éļIJæĤ£": 102924, + "æī¿åĮħ": 102925, + "極": 102926, + "æ¡©": 102927, + "çĽ²": 102928, + "导åIJij": 102929, + "èĩ´å¯Į": 102930, + "ç¼Ĩ": 102931, + "æģĭçα": 102932, + "ä¸įåĬ¨": 102933, + "ç»Ļ人": 102934, + "å·¢": 102935, + "表æĥħ": 102936, + "举åįĹ": 102937, + "åĨħå¤ĸ": 102938, + "è¾ĪåŃIJ": 102939, + "åıī": 102940, + "åįļä¼ļ": 102941, + "åĬŁæķĪ": 102942, + "渴": 102943, + "屬": 102944, + "æİĴéϤ": 102945, + "éĢĽ": 102946, + "ä¸Ģä¼ļ": 102947, + "ä¸įå¼Ģ": 102948, + "å¼Ģå¥ĸ": 102949, + "é»ijé¾Ļ": 102950, + "é»ijé¾Ļæ±Ł": 102951, + "å¿«ä¸ī": 102952, + "度åģĩ": 102953, + "åĿ¤": 102954, + "éĤ®ä»¶": 102955, + "æĩĴ": 102956, + "ä¾Ľç͵": 102957, + "廣": 102958, + "好è¯Ħ": 102959, + "ç§ĺ书éķ¿": 102960, + "æĪĺåľº": 102961, + "好å¥ĩ": 102962, + "ä¾µæĿĥ": 102963, + "æĨ¾": 102964, + "æľĢåĪĿ": 102965, + "æī¹åıij": 102966, + "åİķ": 102967, + "è¼ķ": 102968, + "æŀ¯": 102969, + "ä¸ļåĨħ": 102970, + "è´ŃæĪ¿": 102971, + "ä¸įåľ¨": 102972, + "纪å§Ķ": 102973, + "æīĢéľĢ": 102974, + "å¸Ĥéķ¿": 102975, + "è³½": 102976, + "å¼ķæĵİ": 102977, + "çģµéŃĤ": 102978, + "éĬĢ": 102979, + "滤": 102980, + "çĿIJ": 102981, + "å¤ļ项": 102982, + "åĽŀ头": 102983, + "èīĺ": 102984, + "å¤įå·¥": 102985, + "éĥ¨ä»¶": 102986, + "ç´§ç´§": 102987, + "æŁIJç§į": 102988, + "使åħ¶": 102989, + "æĸ°äºº": 102990, + "æŀļ": 102991, + "æ³ķå®ļ": 102992, + "å·´å·´": 102993, + "æ¶µçĽĸ": 102994, + "稻": 102995, + "æĭ¾": 102996, + "æĻķ": 102997, + "轿": 102998, + "éĢļè¡Į": 102999, + "åĵĢ": 103000, + "æ³Ĭ": 103001, + "温馨": 103002, + "éĽĨèģļ": 103003, + "çĨĻ": 103004, + "åĩij": 103005, + "åįģä¸ĥ": 103006, + "æ°Ķæģ¯": 103007, + "æıIJä¾ĽçļĦ": 103008, + "æ³³": 103009, + "奥è¿IJ": 103010, + "çģ¾å®³": 103011, + "åĩĢåĮĸ": 103012, + "è·¨è¶Ĭ": 103013, + "åĵªæĢķ": 103014, + "éŁ¿": 103015, + "å¢ŀæ·»": 103016, + "çĦĬ": 103017, + "æ®ĭçĸ¾": 103018, + "ç¢Į": 103019, + "æĤĶ": 103020, + "è§ģè¯ģ": 103021, + "è¾ĸåĮº": 103022, + "å¿ĥèĦı": 103023, + "éļ§": 103024, + "åį¸": 103025, + "åı¯èĥ½æĢ§": 103026, + "æľīè¶£": 103027, + "åī¯ä¹¦è®°": 103028, + "åĮĸå¦Ĩ": 103029, + "ä¿Ĥ": 103030, + "æ£ļ": 103031, + "éĨĩ": 103032, + "带头": 103033, + "éłĪ": 103034, + "追究": 103035, + "æijĶ": 103036, + "è¿Ļéĥ¨": 103037, + "ä¸į论": 103038, + "祸": 103039, + "å³»": 103040, + "éģķ": 103041, + "çĶŁèĤ²": 103042, + "å¤ł": 103043, + "å¤ĸ交": 103044, + "è¯Ħ为": 103045, + "ä»İå°ı": 103046, + "å°ıå°ı": 103047, + "饿": 103048, + "æĴ¼": 103049, + "è·¨å¢ĥ": 103050, + "被åijĬ": 103051, + "åįĹå®ģ": 103052, + "身å¿ĥ": 103053, + "åĨįçĶŁ": 103054, + "æīĢ说": 103055, + "æĹ¶éĹ´åĨħ": 103056, + "åĪĹåħ¥": 103057, + "éĿĴæµ·": 103058, + "çα好": 103059, + "çªĦ": 103060, + "èĪĪ": 103061, + "è¿ĩ渡": 103062, + "æ¿Ł": 103063, + "éĽĢ": 103064, + "审议": 103065, + "åĽ½èµĦ": 103066, + "æŃ¥ä¼IJ": 103067, + "轨éģĵ": 103068, + "信念": 103069, + "ä¸īåĪĨ": 103070, + "çĨ¬": 103071, + "åѵåĮĸ": 103072, + "ç¼ł": 103073, + "éĥĬ": 103074, + "èĪĴæľį": 103075, + "纪æ£Ģ": 103076, + "ä¸Ģä¸ĭåŃIJ": 103077, + "éĽ»è©±": 103078, + "è²ł": 103079, + "éĴ¥": 103080, + "åĮĻ": 103081, + "çĹ´": 103082, + "è¶ģ": 103083, + "绣": 103084, + "çε": 103085, + "è½°": 103086, + "éªĦ": 103087, + "姨": 103088, + "æĭĺ": 103089, + "çĮ´": 103090, + "è®¶": 103091, + "è¿Ļ座": 103092, + "çį¨": 103093, + "æ·ĺæ±°": 103094, + "çĹħä¾ĭ": 103095, + "æ²Ļåıij": 103096, + "è§Ĩ为": 103097, + "头æĿ¡": 103098, + "å¿ħè¦ģçļĦ": 103099, + "åı¯è°ĵ": 103100, + "è¯Ŀ说": 103101, + "ç¯Ħ": 103102, + "æĹ©çĤ¹": 103103, + "æŀ¢çº½": 103104, + "羡": 103105, + "çĪ±åĽ½": 103106, + "çªģåıij": 103107, + "éĢĬ": 103108, + "æ½į": 103109, + "èį£èĢĢ": 103110, + "èŁ¹": 103111, + "æ¦Ĥçİĩ": 103112, + "å¾Īä¹ħ": 103113, + "æĥķ": 103114, + "訴": 103115, + "åľĨ满": 103116, + "çļ±": 103117, + "åĪĨæ³Į": 103118, + "åħħè¶³": 103119, + "çľĭæ³ķ": 103120, + "è¾Ł": 103121, + "æĭ¦": 103122, + "æĭ©": 103123, + "对åºĶ": 103124, + "ä¸ºæł¸å¿ĥ": 103125, + "èħĬ": 103126, + "å¤ļä¹Ī": 103127, + "æµij": 103128, + "å®ıè§Ĥ": 103129, + "èĦĸ": 103130, + "åIJĪèµĦ": 103131, + "çĶŁæ¶¯": 103132, + "å®ŀè´¨": 103133, + "ä¼ĺçĤ¹": 103134, + "çĶ¨æ°´": 103135, + "寿åij½": 103136, + "沫": 103137, + "åIJģ": 103138, + "詹": 103139, + "åĽ½éĺ²": 103140, + "å´©": 103141, + "åĿİ": 103142, + "èĨı": 103143, + "ä¸Ģè½®": 103144, + "éģĹ产": 103145, + "æ¹¾åĮº": 103146, + "ç»İ": 103147, + "åįķ纯": 103148, + "æ¾Ħ": 103149, + "åīįåĪĹ": 103150, + "身影": 103151, + "é»ĺé»ĺ": 103152, + "æįī": 103153, + "çĴ°": 103154, + "èıĬ": 103155, + "æĢľ": 103156, + "åħĭæĢĿ": 103157, + "æĢ»å±Ģ": 103158, + "çĩĥæĸĻ": 103159, + "ä¸ļæĢģ": 103160, + "åIJĦæł·": 103161, + "åĴ½": 103162, + "åĩºèī²": 103163, + "åĪĿå¿ĥ": 103164, + "åıĽ": 103165, + "çłĶ讨": 103166, + "è¡«": 103167, + "åİĨç¨ĭ": 103168, + "禽": 103169, + "è¶³å¤ŁçļĦ": 103170, + "èįĨ": 103171, + "çľĭå¾ħ": 103172, + "è´©": 103173, + "åĨ³å¿ĥ": 103174, + "裹": 103175, + "å¸ĪèĮĥ": 103176, + "åŀĦ": 103177, + "æĿł": 103178, + "åĩ¸": 103179, + "çĬ¹è±«": 103180, + "çĥŃè¡Ģ": 103181, + "åIJĪä¼Ļ": 103182, + "éħµ": 103183, + "èIJ½åľ¨": 103184, + "åįłåľ°": 103185, + "衬": 103186, + "èĵī": 103187, + "æĦ¤": 103188, + "æ¸Ĭ": 103189, + "åĪĨæķ°": 103190, + "ç¬ijçĿĢ": 103191, + "太平": 103192, + "çĤ«": 103193, + "æİ¨ä»ĭ": 103194, + "æĸ¯åĿ¦": 103195, + "形容": 103196, + "æĵĬ": 103197, + "æĦŁåħ´è¶£": 103198, + "åĨĽäºº": 103199, + "åĩĮæĻ¨": 103200, + "对çħ§": 103201, + "åıijçĹħ": 103202, + "å·¾": 103203, + "èĪī": 103204, + "檢": 103205, + "ç¬ijäºĨ": 103206, + "ç¡®è¯Ĭ": 103207, + "è´ŁåĢº": 103208, + "壮大": 103209, + "æĪļ": 103210, + "äºĴèģĶ": 103211, + "課": 103212, + "èħ¦": 103213, + "æĹ±": 103214, + "åıĹæ¬¢è¿İ": 103215, + "åįī": 103216, + "éϢ士": 103217, + "æ©¡": 103218, + "ä¸Ģ对": 103219, + "è¾±": 103220, + "æ²Ĥ": 103221, + "åı²ä¸Ĭ": 103222, + "æIJı": 103223, + "å´ĸ": 103224, + "代谢": 103225, + "磷": 103226, + "é¡ĺ": 103227, + "æµĩ": 103228, + "常ç͍": 103229, + "åįij": 103230, + "åĩºåĽ½": 103231, + "è¯ł": 103232, + "稳æŃ¥": 103233, + "ç»ı纪": 103234, + "å¤ļå¤ļ": 103235, + "æīĢå¾Ĺ": 103236, + "为主é¢ĺ": 103237, + "ä¸ĢåĪĨ": 103238, + "æł½": 103239, + "é¡§": 103240, + "纲": 103241, + "åĥħ": 103242, + "å£ĵ": 103243, + "åĦª": 103244, + "ç¿°": 103245, + "æİĢ": 103246, + "人为": 103247, + "媳": 103248, + "æ´½": 103249, + "èĿ¶": 103250, + "å¤įåħ´": 103251, + "ä¼ļå½±åĵį": 103252, + "åIJĦçķĮ": 103253, + "éĤ£ä¸Ģ": 103254, + "颤": 103255, + "çĢı": 103256, + "çĢı覽": 103257, + "å¯ŀ": 103258, + "åı¯æĢķ": 103259, + "åį³æĹ¶": 103260, + "çķ´": 103261, + "ä¸ĭåįĬå¹´": 103262, + "ç¬Ķè®°": 103263, + "éĻĦåĬł": 103264, + "çĥŃæ°´": 103265, + "奸": 103266, + "ç£ħ": 103267, + "æĿī": 103268, + "æ¸ħåįİ": 103269, + "éĸ±": 103270, + "ç°¡": 103271, + "å¤Ħå¤Ħ": 103272, + "åIJĪéĩij": 103273, + "æ²³æµģ": 103274, + "ç´°": 103275, + "è´ŁéĿ¢": 103276, + "çļĦ羣å®ŀ": 103277, + "åĻ¨æ¢°": 103278, + "èĴIJ": 103279, + "西äºļ": 103280, + "å·ħ": 103281, + "ç²¹": 103282, + "åİŁæĸĩ": 103283, + "æŀķ": 103284, + "è¡Ģåİĭ": 103285, + "åļ´": 103286, + "å¸ĺ": 103287, + "åĨĢ": 103288, + "æĮ«": 103289, + "çĶµè·¯": 103290, + "å°ıä¼Ļä¼´": 103291, + "èĿ´": 103292, + "æľĢå¿«": 103293, + "æĭĮ": 103294, + "宪": 103295, + "æĸ·": 103296, + "ç¿ħ": 103297, + "åĴ³": 103298, + "åĹ½": 103299, + "ç¾ŀ": 103300, + "èººåľ¨": 103301, + "èµĽè½¦": 103302, + "æ²IJ": 103303, + "éĻIJ度": 103304, + "为ä¸Ģä½ĵ": 103305, + "èĴľ": 103306, + "幫": 103307, + "æIJħ": 103308, + "åĭĭ": 103309, + "åīĸ": 103310, + "纳ç¨İ": 103311, + "éķ¿æķĪ": 103312, + "ç½ķ": 103313, + "åľ¬": 103314, + "ç©į": 103315, + "éĴ©": 103316, + "ç¹¼": 103317, + "åĽ½åľŁ": 103318, + "è¼ī": 103319, + "ä¸įå¿ĺ": 103320, + "èŃ¦ç¤º": 103321, + "çģ¿": 103322, + "å¿ĥå¾Ĺ": 103323, + "æĦļ": 103324, + "忽çķ¥": 103325, + "åĽŀäºĭ": 103326, + "åįłæľī": 103327, + "æ·Ħ": 103328, + "çī¡": 103329, + "çĽijäºĭ": 103330, + "ç¿¡": 103331, + "éĴĪ对æĢ§": 103332, + "çªĥ": 103333, + "製": 103334, + "èĨĿ": 103335, + "ç³Ł": 103336, + "港澳": 103337, + "太太": 103338, + "澡": 103339, + "ç»ĨåĮĸ": 103340, + "åĶ®åIJİ": 103341, + "å®ŀåľ¨æĺ¯": 103342, + "ç«£": 103343, + "çį²": 103344, + "å̾åIJij": 103345, + "å¼ķç͍": 103346, + "é¹ħ": 103347, + "ç¬ij容": 103348, + "ä¹IJè¶£": 103349, + "æ°ijæĶ¿": 103350, + "éŨæĪ·": 103351, + "å±ģ": 103352, + "迷失": 103353, + "éĶĮ": 103354, + "å°ı康": 103355, + "åĭī": 103356, + "æ³¼": 103357, + "ä¾ĭåŃIJ": 103358, + "ä¸īä½į": 103359, + "å»ł": 103360, + "èĶĵ": 103361, + "广éĺĶ": 103362, + "èĢį": 103363, + "èĢģèĻİ": 103364, + "åĭŁéĽĨ": 103365, + "èĦļæŃ¥": 103366, + "æĭ¯": 103367, + "åŃĹåı·": 103368, + "çĦ°": 103369, + "é¢ł": 103370, + "èļĤ": 103371, + "èļģ": 103372, + "飯": 103373, + "人æĢ§": 103374, + "æĴ°": 103375, + "åİ¢": 103376, + "å±ĢéĻIJ": 103377, + "æľªæĪIJ": 103378, + "åĵªåĦ¿": 103379, + "大åıij": 103380, + "ä¸įå®ļ": 103381, + "å¾ģæ±Ĥ": 103382, + "éĥµ": 103383, + "åĢºæĿĥ": 103384, + "çĪ±ä½ł": 103385, + "èºģ": 103386, + "ä»ħä¾Ľ": 103387, + "è¿ľå¤Ħ": 103388, + "éĨĽ": 103389, + "åĥµ": 103390, + "积æŀģæĢ§": 103391, + "æİ¡": 103392, + "åīįä¸ī": 103393, + "äºİä¸Ģä½ĵ": 103394, + "çŀĦ": 103395, + "çĿģ": 103396, + "沸": 103397, + "åħ±èµ¢": 103398, + "éĢĢå½¹": 103399, + "è´Ŀå°Ķ": 103400, + "æİı": 103401, + "æĪ²": 103402, + "è¡į": 103403, + "éĶĤ": 103404, + "ä¸ĩä½Ļ": 103405, + "ç§ijåĪĽ": 103406, + "æ¼Ķåͱ": 103407, + "欧åħĥ": 103408, + "æ·¡æ·¡": 103409, + "éĿĴå±±": 103410, + "èĹĿ": 103411, + "绽": 103412, + "令çīĮ": 103413, + "éĽĨ群": 103414, + "ä½ľçī©": 103415, + "çĢij": 103416, + "夯": 103417, + "ç½ij游": 103418, + "åħ«å¤§": 103419, + "éªļ": 103420, + "èªĵ": 103421, + "ä¼ļå±ķ": 103422, + "åħļåı²": 103423, + "æ£Ģå¯ŁéĻ¢": 103424, + "åĸĺ": 103425, + "éĺ±": 103426, + "èĢĮåĩº": 103427, + "éĢļ车": 103428, + "éĴĵ": 103429, + "æĥħ人": 103430, + "æ¸Ľ": 103431, + "ä¸Ńç§ĭ": 103432, + "çĪŃ": 103433, + "åıªåī©": 103434, + "æĺĶ": 103435, + "éĩİçĶŁ": 103436, + "ç¡«": 103437, + "èIJĿåįľ": 103438, + "æĬµæĬĹ": 103439, + "çĻ«çĹ«": 103440, + "éĻĢ": 103441, + "èĶļ": 103442, + "å¸ľ": 103443, + "满满": 103444, + "èı±": 103445, + "éļĨéĩį": 103446, + "æĺŁçº§": 103447, + "æ½ĩ": 103448, + "åħ¬åħĥ": 103449, + "è°£": 103450, + "æ¯Ķäºļ": 103451, + "æ¡ĮåŃIJ": 103452, + "èµ£": 103453, + "è²¼": 103454, + "æĦ¿æľĽ": 103455, + "顽": 103456, + "æ´¾éģ£": 103457, + "ç¥Ľ": 103458, + "åªļ": 103459, + "éĺľ": 103460, + "èij«": 103461, + "èĬ¦": 103462, + "æ³»": 103463, + "å¡Į": 103464, + "çĭŃ": 103465, + "å»īæĶ¿": 103466, + "å¥ijæľº": 103467, + "æĹĹèΰ": 103468, + "æĥ«": 103469, + "严åİī": 103470, + "åıĭæĥħ": 103471, + "å¦Ĭ": 103472, + "å¨ł": 103473, + "åĵªå®¶": 103474, + "èĨ¨": 103475, + "è¶Ł": 103476, + "æĮª": 103477, + "èĻIJ": 103478, + "éłģ": 103479, + "çŀ©": 103480, + "éºŁ": 103481, + "稣": 103482, + "èģĶéĢļ": 103483, + "åı®": 103484, + "çİĭèĢħ": 103485, + "ä¸įç¡®å®ļ": 103486, + "çijľ": 103487, + "è°İ": 103488, + "çī¢è®°": 103489, + "碼": 103490, + "æĬ¤èĤ¤": 103491, + "é¡·": 103492, + "çĦķ": 103493, + "åģļ强": 103494, + "éļ±ç§ģ": 103495, + "éļ±ç§ģæ¬Ĭ": 103496, + "åıĹ害": 103497, + "ä¸įçͱ": 103498, + "çĥ¹": 103499, + "饪": 103500, + "驳": 103501, + "ä¼½": 103502, + "ä¸Ŀ绸": 103503, + "è¥Ħ": 103504, + "åįģä½Ļ": 103505, + "éºĹ": 103506, + "æ¬ĬåĪ©": 103507, + "èģŀ": 103508, + "åı¤èĢģ": 103509, + "éģı": 103510, + "åIJĦå¼ı": 103511, + "å°±è¡Į": 103512, + "åħ¥å¢ĥ": 103513, + "çĥģ": 103514, + "èľĺ": 103515, + "èĽĽ": 103516, + "纬": 103517, + "磫": 103518, + "è»Ł": 103519, + "æ´Ĺè¡£": 103520, + "æĦ§": 103521, + "é¢Ħæ¡Ī": 103522, + "éľĨ": 103523, + "æ·±åİļ": 103524, + "éĺ¿æĭī": 103525, + "åĨĻåŃĹ": 103526, + "åį¦": 103527, + "éķĢ": 103528, + "æ¨¡æł·": 103529, + "åĤį": 103530, + "æIJį": 103531, + "èĸ¯": 103532, + "åłħ": 103533, + "åħ¬ç§¯": 103534, + "è¨İ": 103535, + "ä¼łæŁĵ": 103536, + "毯": 103537, + "çIJĨå·¥": 103538, + "åĨ·éĵ¾": 103539, + "ç«ĭæĸ¹": 103540, + "æ¢Ń": 103541, + "åľ£è¯ŀ": 103542, + "综èīº": 103543, + "çİ©ç¬ij": 103544, + "æĥ³ä¸įåΰ": 103545, + "æijĩ头": 103546, + "æ·¹": 103547, + "åģĩæĹ¥": 103548, + "åĢĺ": 103549, + "è̽": 103550, + "èİĵ": 103551, + "åŁ·": 103552, + "èĩªè´¸": 103553, + "åįĬ天": 103554, + "æªĶ": 103555, + "æ¾İæ¹ĥ": 103556, + "éķij": 103557, + "丫": 103558, + "éĩĮç¨ĭ": 103559, + "å¼ĢèįĴ": 103560, + "èıı": 103561, + "å®Ŀè´µ": 103562, + "èѬ": 103563, + "åķŁ": 103564, + "æŁł": 103565, + "檬": 103566, + "é©Ń": 103567, + "æ±Ľ": 103568, + "çĨĬçĮ«": 103569, + "èķī": 103570, + "éļıä¹ĭ": 103571, + "å±ij": 103572, + "è¾ĥ强": 103573, + "èĥ³": 103574, + "èĨĬ": 103575, + "éĿĻéĿĻ": 103576, + "åĴª": 103577, + "æĭĽåij¼": 103578, + "代è¨Ģ": 103579, + "ä¿¡ç®±": 103580, + "è£ħéħį": 103581, + "æĤį": 103582, + "åįķ车": 103583, + "èIJİ": 103584, + "å¤ļ彩": 103585, + "éϏ": 103586, + "ä»İ严": 103587, + "æ©Ħ": 103588, + "æ¦Ħ": 103589, + "éĢ®": 103590, + "éĩĮæĸ¯": 103591, + "å§¿æĢģ": 103592, + "太æŀģ": 103593, + "éĩĿ": 103594, + "æºī": 103595, + "è¿Ń": 103596, + "秸": 103597, + "ç§Ĩ": 103598, + "å·¥å§Ķ": 103599, + "æ±ķ": 103600, + "èģĨ": 103601, + "佬": 103602, + "ç¼ħ": 103603, + "ç͏": 103604, + "åī¯å±Ģéķ¿": 103605, + "éĹº": 103606, + "誤": 103607, + "è¤IJ": 103608, + "ä¸įéĻIJ": 103609, + "èħķ": 103610, + "åijķ": 103611, + "磶": 103612, + "åĨľå®¶": 103613, + "管å§Ķä¼ļ": 103614, + "饺": 103615, + "èĬľ": 103616, + "æ¾Ī": 103617, + "è©¢": 103618, + "å¨ģå°¼æĸ¯": 103619, + "ä½ķåĨµ": 103620, + "å°ıä¼Ļ": 103621, + "奢ä¾Ī": 103622, + "è¿Ļç¯ĩ": 103623, + "诵": 103624, + "竳ç¨ĭ": 103625, + "ç´Ģ": 103626, + "éIJĺ": 103627, + "éĤ¢": 103628, + "ç³Ļ": 103629, + "ç¼Ģ": 103630, + "ä¹Ĵ": 103631, + "ä¹ĵ": 103632, + "çī¢åĽº": 103633, + "åĿŀ": 103634, + "å¼Ī": 103635, + "ä¾ĭå¤ĸ": 103636, + "廳": 103637, + "è§Ħ竳": 103638, + "èĬĻ": 103639, + "篷": 103640, + "躯": 103641, + "æłĪ": 103642, + "åĿļå®ŀ": 103643, + "åŁºå»º": 103644, + "çĿĢçľ¼": 103645, + "ç·´": 103646, + "èij©": 103647, + "ç¼ļ": 103648, + "æ¦Ĩ": 103649, + "主åĭķ": 103650, + "ç¥Ģ": 103651, + "äºĴéĢļ": 103652, + "尤为": 103653, + "å®Ľ": 103654, + "骼": 103655, + "æ±²": 103656, + "ä¾ĥ": 103657, + "æĤłä¹ħ": 103658, + "æij§": 103659, + "æĭĩ": 103660, + "é«ĵ": 103661, + "éºĴ": 103662, + "éĻĽ": 103663, + "æŀ¸": 103664, + "æĿŀ": 103665, + "è´¬": 103666, + "å°ıé¾Ļ": 103667, + "åĵ®": 103668, + "èĵ¬åĭĥ": 103669, + "åĮĪ": 103670, + "çķľçī§": 103671, + "娩": 103672, + "个å¤ļ": 103673, + "æ²¥": 103674, + "æĺ§": 103675, + "çĦļ": 103676, + "æĬijéĥģ": 103677, + "çĸ¡": 103678, + "èĺij": 103679, + "éģİç¨ĭ": 103680, + "橱": 103681, + "éĿĵ": 103682, + "大çIJĨ": 103683, + "髦": 103684, + "åĪĨ辨": 103685, + "渤": 103686, + "çĸ¤": 103687, + "åĬ¨èĥ½": 103688, + "å¼łå®¶": 103689, + "ä¸ĩåįĥ": 103690, + "滥": 103691, + "饥": 103692, + "åºŁå¼ĥ": 103693, + "帳": 103694, + "æ¼³": 103695, + "è±IJ": 103696, + "ä»ij": 103697, + "å«ī": 103698, + "å¦Ĵ": 103699, + "çŀĴ": 103700, + "è¡ħ": 103701, + "çĭ¸": 103702, + "å¾ģç¨ĭ": 103703, + "éĤ¯": 103704, + "éĥ¸": 103705, + "ç¥Ī": 103706, + "祷": 103707, + "è¶´": 103708, + "ç»ĵæŀĦæĢ§": 103709, + "è§ĨåIJ¬": 103710, + "è¬Ŀ": 103711, + "çĴĢ": 103712, + "çĴ¨": 103713, + "åĩºå¤Ħ": 103714, + "è¯Ģ": 103715, + "å¾ĺ": 103716, + "å¾Ĭ": 103717, + "羨": 103718, + "åĸĩ": 103719, + "åıŃ": 103720, + "åĺ²": 103721, + "çķ¸": 103722, + "å¹²äºĭ": 103723, + "æļ§": 103724, + "æ²Ľ": 103725, + "åĦĦ": 103726, + "å»ĵ": 103727, + "åİ¿éķ¿": 103728, + "èĥļ": 103729, + "çIJ¢": 103730, + "çŃ·": 103731, + "éĩĭ": 103732, + "ä¾®": 103733, + "åIJ©": 103734, + "åĴIJ": 103735, + "åĮ¿": 103736, + "æĬ¬èµ·": 103737, + "æ³£": 103738, + "涤": 103739, + "麽": 103740, + "æĽĻ": 103741, + "åī¯éĻ¢éķ¿": 103742, + "åħļåĴĮ": 103743, + "æķ£åıij": 103744, + "润æ»ij": 103745, + "åĵº": 103746, + "æĥ¬": 103747, + "漫éķ¿": 103748, + "ä¸įæĩĪ": 103749, + "åŁł": 103750, + "åĹĵ": 103751, + "èĢģçĪ·": 103752, + "讽": 103753, + "æĪĺç»ĦåIJĪ": 103754, + "æ£ł": 103755, + "åħ¨åŁŁ": 103756, + "èł¢": 103757, + "诡": 103758, + "åīįçŀ»": 103759, + "æķĽ": 103760, + "ä¸Ģå°ģ": 103761, + "å¹Ĥ": 103762, + "èİĨ": 103763, + "è¯Ŀè¯Ń": 103764, + "ç»ĨåĪĻ": 103765, + "屿": 103766, + "åµĮ": 103767, + "éĢį": 103768, + "åĺ±": 103769, + "渲": 103770, + "çĥ¯": 103771, + "çĿ¹": 103772, + "é¦Ĵ": 103773, + "èħ¥": 103774, + "æĬĹåĩ»": 103775, + "çĿ«": 103776, + "èįĶ": 103777, + "éļİ": 103778, + "æ³īæ°´": 103779, + "è¬Ĥ": 103780, + "çĤ¬": 103781, + "åĩıæİĴ": 103782, + "è¸Ĭ": 103783, + "è·»": 103784, + "æ·Į": 103785, + "éľ¾": 103786, + "å¥ĩ纳": 103787, + "å¯Ŀ": 103788, + "æ¤İ": 103789, + "æŁ¬": 103790, + "æĸ¯åŁº": 103791, + "åħ¬ç«ĭ": 103792, + "è¨ĵ": 103793, + "é£Ļ": 103794, + "é©¿": 103795, + "åĤµ": 103796, + "èĽĻ": 103797, + "ç¯ĩ竳": 103798, + "åĪĨæĶ¯": 103799, + "ä¸Ĭå¹´": 103800, + "çŃĿ": 103801, + "缤": 103802, + "èĢģæĹ§": 103803, + "åϬ": 103804, + "æľ¦": 103805, + "èĥ§": 103806, + "æ¶Īè²»": 103807, + "æĵĶ": 103808, + "榴": 103809, + "æ¿Ĵ": 103810, + "糯": 103811, + "泸": 103812, + "æįĨ": 103813, + "ç»ļ": 103814, + "èµİ": 103815, + "çIJIJ": 103816, + "èµĤ": 103817, + "æħ®": 103818, + "æ²Į": 103819, + "çĦĻ": 103820, + "æĴŃæĬ¥": 103821, + "æ·ĩ": 103822, + "åĪĩåħ¥": 103823, + "çijķ": 103824, + "çĸµ": 103825, + "éģ´": 103826, + "ç¨ļ": 103827, + "ç©©": 103828, + "èŀĥ": 103829, + "æ£ķ": 103830, + "æĨ§": 103831, + "æĨ¬": 103832, + "伺": 103833, + "æ¯Ĺ": 103834, + "æįį": 103835, + "æĬī": 103836, + "ç´Ĭ": 103837, + "å¼Ľ": 103838, + "æĭŃ": 103839, + "æĹıèĩªæ²»": 103840, + "åĿ·": 103841, + "ç«¶": 103842, + "詳": 103843, + "è¿Ħä»Ĭ": 103844, + "è°´": 103845, + "çŀŃè§£": 103846, + "æŁ¿": 103847, + "é¢Ĭ": 103848, + "ç°§": 103849, + "çĥŁèĬ±": 103850, + "ä¾¥": 103851, + "çĿ¦": 103852, + "éħĿ": 103853, + "æ°ĵ": 103854, + "çIJī": 103855, + "å§Ĭ": 103856, + "æ²®": 103857, + "æħ·": 103858, + "èľķ": 103859, + "çijļ": 103860, + "éĩĩçŁ¿": 103861, + "åł°": 103862, + "åºķèķ´": 103863, + "èĨ³": 103864, + "è¾ķ": 103865, + "éŁŃ": 103866, + "åĴĻ": 103867, + "ç²½": 103868, + "åīĶ": 103869, + "沦": 103870, + "èĤ´": 103871, + "éķ¶": 103872, + "æĺ¼": 103873, + "è¾Ĺ": 103874, + "婪": 103875, + "åĮ®": 103876, + "æĸĵ": 103877, + "æ±¶": 103878, + "éĥ´": 103879, + "éł»": 103880, + "çªĴ": 103881, + "袱": 103882, + "åĽ±": 103883, + "èĢĺ": 103884, + "èļĮ": 103885, + "çĭĻ": 103886, + "çĹ¹": 103887, + "ç¥ī": 103888, + "æı®": 103889, + "æ·Ĩ": 103890, + "ç£ĭ": 103891, + "éĺª": 103892, + "æ«": 103893, + "ã¸": 103894, + "϶": 103895, + "ãij": 103896, + "ð£²": 103897, + "ä¢": 103898, + "ãŃ": 103899, + "ð¬¨": 103900, + "ð¬Ģ": 103901, + "ð¬®": 103902, + "ð¬¯": 103903, + "ð¬ľ": 103904, + "ðª¨": 103905, + "ð«Ĺ": 103906, + "ð¬Ĭ": 103907, + "ð¬±": 103908, + "ð¬Ł": 103909, + "äİ": 103910, + "ð¡": 103911, + "äĥ": 103912, + "ãł": 103913, + "ð©": 103914, + "ð©¾": 103915, + "ð¬º": 103916, + "ð¬Ļ": 103917, + "ãĢĶ": 103918, + "ãĢķ": 103919, + "çļĦæĹ¶åĢĻ": 103920, + "æľīéĻIJåħ¬åı¸": 103921, + "ä¹ĭåIJİ": 103922, + "ä¸ļåĬ¡": 103923, + "åķĬ": 103924, + "èϽçĦ¶": 103925, + "æĭ¥æľī": 103926, + "äºĴèģĶç½ij": 103927, + "éĤ£äºĽ": 103928, + "ä½łçļĦ": 103929, + "åĨ³å®ļ": 103930, + "éϤäºĨ": 103931, + "åĽ¢éĺŁ": 103932, + "åı¯æĺ¯": 103933, + "以åIJİ": 103934, + "社åĮº": 103935, + "çļĦéĹ®é¢ĺ": 103936, + "å¹¶ä¸Ķ": 103937, + "æķĻå¸Ī": 103938, + "å°±ä¼ļ": 103939, + "天空éĥ¨èIJ½": 103940, + "æľĢç»Ī": 103941, + "å½ĵçĦ¶": 103942, + "ä¹Łæľī": 103943, + "ç¡®ä¿Ŀ": 103944, + "æĥ³è¦ģ": 103945, + "è´Ńä¹°": 103946, + "人çļĦ": 103947, + "åIJ´": 103948, + "çļĦåıijå±ķ": 103949, + "ä¸įçŁ¥éģĵ": 103950, + "软件": 103951, + "æĪij们çļĦ": 103952, + "çζæ¯į": 103953, + "åīij": 103954, + "èĢĮæĺ¯": 103955, + "å®īæİĴ": 103956, + "åIJİæĿ¥": 103957, + "çļĦåľ°æĸ¹": 103958, + "èµµ": 103959, + "èĢĥè¯ķ": 103960, + "çªģçĦ¶": 103961, + "ä¸Ģå®ļè¦ģ": 103962, + "åĪ¶ä½ľ": 103963, + "è¯Ħä»·": 103964, + "åħįè´¹": 103965, + "è´¹ç͍": 103966, + "绣ä¸Ģ": 103967, + "çĦ¶èĢĮ": 103968, + "è¿Ļ次": 103969, + "éĿĴå¹´": 103970, + "人类": 103971, + "亦": 103972, + "让人": 103973, + "è´Łè´£äºº": 103974, + "éĩĩåıĸ": 103975, + "çļĦäºĭæĥħ": 103976, + "ä¹Łä¼ļ": 103977, + "车è¾Ĩ": 103978, + "æĽ´æĺ¯": 103979, + "强åĮĸ": 103980, + "æĪijåĢij": 103981, + "以åīį": 103982, + "ä¼ĺåĮĸ": 103983, + "å§Ķåijĺä¼ļ": 103984, + "åĽ°éļ¾": 103985, + "年度": 103986, + "ä½įäºİ": 103987, + "æĮĩåĩº": 103988, + "åĨῬ¡": 103989, + "åĬŀçIJĨ": 103990, + "æ¯ı个": 103991, + "对æĸ¹": 103992, + "è¿Ľè¡ĮäºĨ": 103993, + "æľĢé«ĺ": 103994, + "课ç¨ĭ": 103995, + "身ä¸Ĭ": 103996, + "æĽ¾ç»ı": 103997, + "åĮ»çĶŁ": 103998, + "å®īè£ħ": 103999, + "æľ±": 104000, + "è¿IJè¡Į": 104001, + "åıĮæĸ¹": 104002, + "æľĢ大çļĦ": 104003, + "æŀĦ建": 104004, + "è¿ŀç»Ń": 104005, + "çļĦå°ı": 104006, + "她çļĦ": 104007, + "çŃīçŃī": 104008, + "æĶ¹åĸĦ": 104009, + "åIJĦç±»": 104010, + "éģĩåΰ": 104011, + "æľīçĿĢ": 104012, + "人çī©": 104013, + "æĢ»æĺ¯": 104014, + "è¿ħéĢŁ": 104015, + "åζå®ļ": 104016, + "å®ĥ们": 104017, + "å®ĺç½ij": 104018, + "è¿ĺè¦ģ": 104019, + "ç»Īäºİ": 104020, + "æĪ¿åľ°äº§": 104021, + "è¯ģæĺİ": 104022, + "èĤ¡ç¥¨": 104023, + "åºĶå½ĵ": 104024, + "èĭ±åĽ½": 104025, + "è¿IJç͍": 104026, + "æľĢæĸ°": 104027, + "享åıĹ": 104028, + "让æĪij": 104029, + "æĻļä¸Ĭ": 104030, + "å¾ŀ": 104031, + "å°ı说": 104032, + "å°¤åħ¶æĺ¯": 104033, + "è®Ńç»ĥ": 104034, + "åħ¨å¸Ĥ": 104035, + "æĮijæĪĺ": 104036, + "æľīçĤ¹": 104037, + "带çĿĢ": 104038, + "çļĦä¸ľè¥¿": 104039, + "é£İæł¼": 104040, + "é»Ħéĩij": 104041, + "å¼ķ导": 104042, + "æŃ¤å¤ĸ": 104043, + "æľĢè¿ij": 104044, + "追æ±Ĥ": 104045, + "强è°ĥ": 104046, + "ä¹Łåı¯ä»¥": 104047, + "æĦŁåΰ": 104048, + "èĩªæĪij": 104049, + "çī¹åĪ«æĺ¯": 104050, + "æĪIJéĥ½": 104051, + "éĢIJæ¸IJ": 104052, + "å¿«ä¹IJ": 104053, + "ä¹ĭä¸Ń": 104054, + "æĬķèµĦèĢħ": 104055, + "ä»ĸ们çļĦ": 104056, + "æ°ı": 104057, + "å·¥ä½ľäººåijĺ": 104058, + "äºĨä¸Ģ个": 104059, + "åķ¦": 104060, + "ä¸ĢåĢĭ": 104061, + "åŁºå±Ĥ": 104062, + "æ²ŁéĢļ": 104063, + "第ä¸Ģ次": 104064, + "并没æľī": 104065, + "çļĦå·¥ä½ľ": 104066, + "åľ¨è¿ĻéĩĮ": 104067, + "æŀª": 104068, + "æĶ¯æĴij": 104069, + "æĹ¶å°ļ": 104070, + "æĿ¥åΰ": 104071, + "æĶ¶è´Ń": 104072, + "éĿ©åij½": 104073, + "æĺ¯ä¸įæĺ¯": 104074, + "讨论": 104075, + "ä¸ļ绩": 104076, + "å°±èĥ½": 104077, + "ç«ĭåį³": 104078, + "è¡Ĺéģĵ": 104079, + "åľ¨ä¸Ģèµ·": 104080, + "æľĪ份": 104081, + "é«ĺ端": 104082, + "å¾Īéļ¾": 104083, + "ä¿Ħç½Ĺæĸ¯": 104084, + "æīĭ段": 104085, + "åģļåĩº": 104086, + "ä¼Ĺå¤ļ": 104087, + "å®ŀè¡Į": 104088, + "æīĵå¼Ģ": 104089, + "游客": 104090, + "ä¾ĿçĦ¶": 104091, + "å°±åĥı": 104092, + "离å¼Ģ": 104093, + "说éģĵ": 104094, + "æĸ°èĥ½æºIJ": 104095, + "溪": 104096, + "äºķ": 104097, + "令人": 104098, + "ä¸Ģåľº": 104099, + "æĪijæĥ³": 104100, + "两人": 104101, + "èĩ³å°ij": 104102, + "çļĦçĶŁæ´»": 104103, + "æĺ¯ä¸ª": 104104, + "èĭ±è¯Ń": 104105, + "æ²Ĵæľī": 104106, + "æĢĿèĢĥ": 104107, + "éĻIJåζ": 104108, + "åı°æ¹¾": 104109, + "ä¸ĢæĹ¦": 104110, + "çļĦä¸Ģ个": 104111, + "é«ĺ级": 104112, + "åĬŀåħ¬å®¤": 104113, + "å¾·åĽ½": 104114, + "æĪijå°±": 104115, + "å®ļä½į": 104116, + "éĢĤåºĶ": 104117, + "æĮĩæłĩ": 104118, + "åħ¨çľģ": 104119, + "ä¸Ĭè¿°": 104120, + "å®ĥçļĦ": 104121, + "åĽŀå®¶": 104122, + "欧洲": 104123, + "éĵģè·¯": 104124, + "é¼ĵåĬ±": 104125, + "çļĦå½±åĵį": 104126, + "é«ĺæł¡": 104127, + "天ä¸ĭ": 104128, + "é«ĺè´¨éĩı": 104129, + "æĿŃå·ŀ": 104130, + "èµĦ讯": 104131, + "æĶ¾åľ¨": 104132, + "æľīä¸Ģ个": 104133, + "å°±è¦ģ": 104134, + "ä¸ĬéĿ¢": 104135, + "è§£éĩĬ": 104136, + "éĢIJæŃ¥": 104137, + "尽管": 104138, + "æľīä»Ģä¹Ī": 104139, + "çļĦäºĭ": 104140, + "çĻ»è®°": 104141, + "人æ°ijå¸ģ": 104142, + "è§Ĥä¼Ĺ": 104143, + "è§Ĥå¯Ł": 104144, + "ç͵èĦij": 104145, + "çļĦåIJĮæĹ¶": 104146, + "ä½ľä¸ļ": 104147, + "宣å¸ĥ": 104148, + "çļĦä½ľç͍": 104149, + "åĽŀæĿ¥": 104150, + "éļ¾ä»¥": 104151, + "æīĢæľīçļĦ": 104152, + "å°ıåѦ": 104153, + "æıIJåīį": 104154, + "æ¤įçī©": 104155, + "åĩ¯": 104156, + "ä¸ĬäºĨ": 104157, + "å°±åľ¨": 104158, + "åħĪåIJİ": 104159, + "æīĭæľ¯": 104160, + "éĥŃ": 104161, + "éĿ¢åīį": 104162, + "æ¯ķ竣": 104163, + "äºĮæĺ¯": 104164, + "红èī²": 104165, + "éĺ³åħī": 104166, + "èĭ¹æŀľ": 104167, + "å¾Īå¤ļ人": 104168, + "ç»ĻæĪij": 104169, + "åĵ¦": 104170, + "çľ¼çĿĽ": 104171, + "éłŃ": 104172, + "ä¸Ģæĺ¯": 104173, + "åıijå±ķçļĦ": 104174, + "åıįåºĶ": 104175, + "æĪ¿å±ĭ": 104176, + "æľŁå¾ħ": 104177, + "ç§įæ¤į": 104178, + "æĸĩåѦ": 104179, + "åį³åı¯": 104180, + "é¦ĸ次": 104181, + "èĭ±éĽĦ": 104182, + "å¤ļ次": 104183, + "åĮħè£ħ": 104184, + "æ²³åįĹ": 104185, + "ä¹ĭéĹ´çļĦ": 104186, + "ä»įçĦ¶": 104187, + "åIJ¬åΰ": 104188, + "èij£äºĭéķ¿": 104189, + "è§ĦåĪĻ": 104190, + "ä¸Ģ份": 104191, + "大ä¼Ĺ": 104192, + "使å¾Ĺ": 104193, + "è¿Ľåı£": 104194, + "ä¸Ģçīĩ": 104195, + "æĢ§çļĦ": 104196, + "çļĦ大": 104197, + "æĪijæĺ¯": 104198, + "äºĴåĬ¨": 104199, + "æ°£": 104200, + "çļĨ": 104201, + "åħ¬åı¸çļĦ": 104202, + "ä¸Ģè¾¹": 104203, + "åıĬåħ¶": 104204, + "èī¯å¥½çļĦ": 104205, + "æĭĵå±ķ": 104206, + "å½ĵå¹´": 104207, + "å¹¿åľº": 104208, + "åģļäºĨ": 104209, + "åŁºäºİ": 104210, + "æıIJéĨĴ": 104211, + "åħĦå¼Ł": 104212, + "èĢģæĿ¿": 104213, + "è¿ijæĹ¥": 104214, + "çĬ¶åĨµ": 104215, + "注éĩį": 104216, + "åĪļåĪļ": 104217, + "è°ĥçłĶ": 104218, + "å¿ĥä¸Ń": 104219, + "æĬĬæı¡": 104220, + "éļıåIJİ": 104221, + "ä¸įå¤Ł": 104222, + "åĪĽä½ľ": 104223, + "ç«Ļåľ¨": 104224, + "缸äºĴ": 104225, + "çĸ«æĥħéĺ²æİ§": 104226, + "年代": 104227, + "带åĬ¨": 104228, + "伤害": 104229, + "竣çĦ¶": 104230, + "å¼ķè¿Ľ": 104231, + "累计": 104232, + "让æĪij们": 104233, + "åĽŀæĶ¶": 104234, + "æĬ¥åIJį": 104235, + "åĬ©åĬĽ": 104236, + "èģĶ缣": 104237, + "çŃĸçķ¥": 104238, + "åij¨è¾¹": 104239, + "åĭĴ": 104240, + "è¿ĺåľ¨": 104241, + "æµģéĩı": 104242, + "寻æī¾": 104243, + "ç͵åĬĽ": 104244, + "èιèζ": 104245, + "è¿ĺèĥ½": 104246, + "æĭħä»»": 104247, + "çļĦæĥħåĨµä¸ĭ": 104248, + "çļĦåİŁåĽł": 104249, + "缺ä¹ı": 104250, + "çIJĥåijĺ": 104251, + "å²ģçļĦ": 104252, + "çĶ·åŃIJ": 104253, + "å·¥èµĦ": 104254, + "è¿ijå¹´æĿ¥": 104255, + "åijĢ": 104256, + "æıIJä¾ĽäºĨ": 104257, + "她们": 104258, + "å®¶åħ·": 104259, + "çĩķ": 104260, + "è½»æĿ¾": 104261, + "æł¡åĽŃ": 104262, + "èĢĥæł¸": 104263, + "åį±éĻ©": 104264, + "åħļç»Ħç»ĩ": 104265, + "æĢ»ç»ıçIJĨ": 104266, + "çļĦæĸ°": 104267, + "çİ»çĴĥ": 104268, + "è¿Ļä½į": 104269, + "对æŃ¤": 104270, + "家人": 104271, + "çļĦè¦ģæ±Ĥ": 104272, + "温度": 104273, + "æĮĩæķ°": 104274, + "缴åΰ": 104275, + "æŃ¤æĹ¶": 104276, + "æ¹ĸåįĹ": 104277, + "éĥ½è¦ģ": 104278, + "ä½ľåĩº": 104279, + "åIJĦä½į": 104280, + "èĢĥçĶŁ": 104281, + "ä¾Ŀæį®": 104282, + "说è¯Ŀ": 104283, + "æĪijä¹Ł": 104284, + "å·¥åİĤ": 104285, + "åıĺæĪIJ": 104286, + "ä»ĸ人": 104287, + "æĪijè§īå¾Ĺ": 104288, + "åIJĦ级": 104289, + "ä¼łå¥ĩç§ģæľį": 104290, + "ä¸Ĭåįĩ": 104291, + "好åĥı": 104292, + "åĬłéĢŁ": 104293, + "äºĮåįģ": 104294, + "è¢ģ": 104295, + "è£ħ饰": 104296, + "éĥ½èĥ½": 104297, + "ä¸Ģå¼ł": 104298, + "åĬ¨æĢģ": 104299, + "å¹´çļĦ": 104300, + "è¿Ļå°±æĺ¯": 104301, + "ä¹Łè¦ģ": 104302, + "èµĦæł¼": 104303, + "æĪĺäºī": 104304, + "æĦŁè°¢": 104305, + "åŁ¹èĤ²": 104306, + "天æ°Ķ": 104307, + "女士": 104308, + "åı¯èĥ½ä¼ļ": 104309, + "çļĦ产åĵģ": 104310, + "ä¹Łå°±": 104311, + "主è¦ģæĺ¯": 104312, + "åĪºæ¿Ģ": 104313, + "ç»Ļä½ł": 104314, + "大æķ°æį®": 104315, + "åĮ»åѦ": 104316, + "åΤæĸŃ": 104317, + "ä»ĸ说": 104318, + "表æ¼Ķ": 104319, + "äºļæ´²": 104320, + "ä¸ĵé¢ĺ": 104321, + "ç«ŀäºīåĬĽ": 104322, + "éĤ£æł·": 104323, + "å±ķå¼Ģ": 104324, + "å¹³æĹ¶": 104325, + "æİ¥ä¸ĭæĿ¥": 104326, + "æī¿è¯º": 104327, + "æ³ķåĽ½": 104328, + "åħ³å¿ĥ": 104329, + "ä¼ļæľī": 104330, + "éĤĢ请": 104331, + "é¢Ħéĺ²": 104332, + "对æİ¥": 104333, + "好äºĨ": 104334, + "åĴ±ä»¬": 104335, + "çļĦæĦŁè§ī": 104336, + "æĢĿè·¯": 104337, + "éĥ½æ²¡æľī": 104338, + "çļĦæĸ¹æ³ķ": 104339, + "女åŃIJ": 104340, + "åı¸æ³ķ": 104341, + "è¿ĺä¼ļ": 104342, + "è¶ĬæĿ¥è¶Ĭå¤ļ": 104343, + "åĽłçĤº": 104344, + "æµ·åįĹ": 104345, + "人æķ°": 104346, + "å°Ĩä¼ļ": 104347, + "ä¸ļ主": 104348, + "é¤IJ饮": 104349, + "å±ħä½ı": 104350, + "åıijåĩº": 104351, + "è¿ijæľŁ": 104352, + "å¼ķé¢Ĩ": 104353, + "æľºåĻ¨äºº": 104354, + "åĩºæĿ¥çļĦ": 104355, + "çľĭè§ģ": 104356, + "ä¿Ĭ": 104357, + "让ä»ĸ": 104358, + "ä¸įæĥ³": 104359, + "å·¥ä½ľçļĦ": 104360, + "è¡¥åħħ": 104361, + "æµħ": 104362, + "çī¹å¾ģ": 104363, + "ä¸Ĭå¸Ĥåħ¬åı¸": 104364, + "ç¾İé£Ł": 104365, + "广西": 104366, + "æ¯ıä¸Ģ个": 104367, + "èIJ½åľ°": 104368, + "åĵģç§į": 104369, + "åĴĮè°IJ": 104370, + "å½»åºķ": 104371, + "é«ĺèĢĥ": 104372, + "æĺ¨å¤©": 104373, + "åīįå¾Ģ": 104374, + "çĽijæµĭ": 104375, + "çĻ¾åº¦": 104376, + "åľ¨ä¸ŃåĽ½": 104377, + "çļĦéľĢæ±Ĥ": 104378, + "亿ç¾İåħĥ": 104379, + "åŃ¦æľ¯": 104380, + "æĶ¶åΰ": 104381, + "æĿ¿åĿĹ": 104382, + "ä¸Ģ段": 104383, + "æŀĦæĪIJ": 104384, + "ä¼ģä¸ļçļĦ": 104385, + "表éĿ¢": 104386, + "æķ´çIJĨ": 104387, + "ç»ĵå©ļ": 104388, + "人家": 104389, + "åģľæŃ¢": 104390, + "åѦç§ij": 104391, + "æĺ¾å¾Ĺ": 104392, + "ä¼ijæģ¯": 104393, + "é¢ĦæľŁ": 104394, + "æĪĸæĺ¯": 104395, + "çļĦ主è¦ģ": 104396, + "åºĶ对": 104397, + "èµ°äºĨ": 104398, + "ä¸ŃéĹ´": 104399, + "èµ°è¿Ľ": 104400, + "åijĪçݰ": 104401, + "æIJŃéħį": 104402, + "é¹ı": 104403, + "æĺ¯åĽłä¸º": 104404, + "æĥħ绪": 104405, + "å®ļæľŁ": 104406, + "社ä¼ļ主ä¹ī": 104407, + "çŃī级": 104408, + "çŁĽçĽ¾": 104409, + "é£ŀæľº": 104410, + "èĩ³ä»Ĭ": 104411, + "æĶ¶éĽĨ": 104412, + "çļĦæķħäºĭ": 104413, + "åĪĩå®ŀ": 104414, + "å®ŀçݰäºĨ": 104415, + "å½¢æĪIJäºĨ": 104416, + "åįĹæĸ¹": 104417, + "ä¸ŃåѦ": 104418, + "æµ·æ´ĭ": 104419, + "åIJ¦åĪĻ": 104420, + "æĭįæijĦ": 104421, + "大åѦçĶŁ": 104422, + "åĩºçݰäºĨ": 104423, + "æĦıå¤ĸ": 104424, + "ä¹Łèĥ½": 104425, + "çļĦèĥ½åĬĽ": 104426, + "åĿIJåľ¨": 104427, + "åĪĻæĺ¯": 104428, + "èĢĥå¯Ł": 104429, + "å°Ĭéĩį": 104430, + "éĺ²æŃ¢": 104431, + "ç´§å¼ł": 104432, + "读书": 104433, + "åĩºè¡Į": 104434, + "å°±æľī": 104435, + "å±¥è¡Į": 104436, + "çݰ代åĮĸ": 104437, + "åĽ½åĬ¡": 104438, + "åĽ½åĬ¡éĻ¢": 104439, + "ç»´ä¿®": 104440, + "åİŁåĪĽ": 104441, + "æĺ¯æĮĩ": 104442, + "ä¼ijéĹ²": 104443, + "çĤ®": 104444, + "æĸ°æĹ¶ä»£": 104445, + "éĢĻåĢĭ": 104446, + "ä¸įæķ¢": 104447, + "å®Įç¾İ": 104448, + "ç»ĨèĬĤ": 104449, + "éŃı": 104450, + "èͬèıľ": 104451, + "é¢Ĩ导çıŃåŃIJ": 104452, + "è¶ħ级": 104453, + "è¡Įæĥħ": 104454, + "人工æĻºèĥ½": 104455, + "åį°åº¦": 104456, + "åŁºç¡Ģ设æĸ½": 104457, + "åıĪæĺ¯": 104458, + "èį¯çī©": 104459, + "åIJ¸æĶ¶": 104460, + "åį´æĺ¯": 104461, + "éĥİ": 104462, + "å¥ĸåĬ±": 104463, + "çļĦæľĭåıĭ": 104464, + "ä¿ĿçķĻ": 104465, + "è§Ħå¾ĭ": 104466, + "æĸ°çĸĨ": 104467, + "è¿ĺåı¯ä»¥": 104468, + "æİ¥è¿ij": 104469, + "æŃ¤åīį": 104470, + "æī¹åĩĨ": 104471, + "æĢİä¹Īæł·": 104472, + "çļĦä½įç½®": 104473, + "ä¸ĢåĿĹ": 104474, + "æĭĴç»Ŀ": 104475, + "顾客": 104476, + "ä¹Łåľ¨": 104477, + "ä¸ĢçĶŁ": 104478, + "éĥ¨éĺŁ": 104479, + "å¹´åīį": 104480, + "æĸ¹éĿ¢çļĦ": 104481, + "å°Ŀè¯ķ": 104482, + "羣æŃ£çļĦ": 104483, + "ç¦ģæŃ¢": 104484, + "è¿ĺ没æľī": 104485, + "æ°ijçĶŁ": 104486, + "èµ°åIJij": 104487, + "èĦ¸ä¸Ĭ": 104488, + "å½ĵ天": 104489, + "éĽĨåĽ¢åħ¬åı¸": 104490, + "çļĦä¸Ģç§į": 104491, + "西æĸ¹": 104492, + "åĽŀåºĶ": 104493, + "ä¸Ģ声": 104494, + "常常": 104495, + "æıIJåΰ": 104496, + "èħ¾è®¯": 104497, + "æľįè£ħ": 104498, + "为ä½ķ": 104499, + "äºijåįĹ": 104500, + "å°±ç®Ĺ": 104501, + "ä¼łæī¿": 104502, + "åıįèĢĮ": 104503, + "ä¸ĩåIJ¨": 104504, + "财产": 104505, + "å¦Ĥä¸ĭ": 104506, + "æĹ¥åīį": 104507, + "åİŁæľ¬": 104508, + "æľĢéĩįè¦ģçļĦ": 104509, + "认è¯ģ": 104510, + "ä¸Ģéģĵ": 104511, + "ä¿¡æģ¯åĮĸ": 104512, + "å¾ĹåΰäºĨ": 104513, + "é̲è¡Į": 104514, + "æĪijè¦ģ": 104515, + "éĢļä¿¡": 104516, + "室åĨħ": 104517, + "èµļéĴ±": 104518, + "æĶ¶èĹı": 104519, + "è§£åĨ³æĸ¹æ¡Ī": 104520, + "æĪ¿äº§": 104521, + "çĭ¼": 104522, + "æ´»åĬĽ": 104523, + "ç»ıæµİåıijå±ķ": 104524, + "çŃīå¾ħ": 104525, + "ä¹Łå¾Ī": 104526, + "åĿij": 104527, + "å¾Ī好çļĦ": 104528, + "éļ¾åº¦": 104529, + "ä¸įå¦Ĥ": 104530, + "人æ°ijæĶ¿åºľ": 104531, + "åĩºåıij": 104532, + "åīįæľŁ": 104533, + "æ¼Ķåijĺ": 104534, + "女çĶŁ": 104535, + "èģļçĦ¦": 104536, + "审计": 104537, + "é¢Ħæµĭ": 104538, + "ä¾Ŀæīĺ": 104539, + "äºĶå¹´": 104540, + "补贴": 104541, + "æ¸ħæĻ°": 104542, + "éªĤ": 104543, + "çľĭèµ·æĿ¥": 104544, + "çļĦåŃ©åŃIJ": 104545, + "é¢ijéģĵ": 104546, + "ä½ıå®ħ": 104547, + "éĿ¢åIJij": 104548, + "æľĢä½İ": 104549, + "æĹ¢çĦ¶": 104550, + "ä¸Ģå¥Ĺ": 104551, + "æķ°åѦ": 104552, + "群ä½ĵ": 104553, + "åĮĹ京å¸Ĥ": 104554, + "å±ħçĦ¶": 104555, + "æ°ĽåĽ´": 104556, + "éĢĶå¾Ħ": 104557, + "çļĦåŁºç¡Ģä¸Ĭ": 104558, + "èģĮè´£": 104559, + "åı¯èĥ½æĺ¯": 104560, + "åĨĽäºĭ": 104561, + "æĪIJæķĪ": 104562, + "åŃ©åŃIJ们": 104563, + "计ç®Ĺæľº": 104564, + "赤": 104565, + "产ä¸ļåıijå±ķ": 104566, + "巨大çļĦ": 104567, + "工人": 104568, + "çĶŁéķ¿": 104569, + "éĥ½åı¯ä»¥": 104570, + "çļĦæľºä¼ļ": 104571, + "èµĦè´¨": 104572, + "çĹĽèĭ¦": 104573, + "ç²īä¸Ŀ": 104574, + "å¢ĵ": 104575, + "å¹³å®ī": 104576, + "管éģĵ": 104577, + "è·ŁçĿĢ": 104578, + "é¥®é£Ł": 104579, + "åķĨå®¶": 104580, + "å¤ļå®¶": 104581, + "åı¸æľº": 104582, + "åºĶ该æĺ¯": 104583, + "éĢıéľ²": 104584, + "认å®ļ": 104585, + "è¡Įä¸ļçļĦ": 104586, + "çļĦä¼ģä¸ļ": 104587, + "æ¯ıä¸Ģ": 104588, + "èĮĥåĽ´åĨħ": 104589, + "è¾ĥ大": 104590, + "è´¤": 104591, + "å¤§èµĽ": 104592, + "å¤ļäºĨ": 104593, + "鸿": 104594, + "临åºĬ": 104595, + "åľ¨è¿Ļ个": 104596, + "çļĦåĨħ容": 104597, + "éĶĢéĩı": 104598, + "å¾Īå°ij": 104599, + "åŃŁ": 104600, + "ç»´æĮģ": 104601, + "åĴĸåķ¡": 104602, + "æľ¬åľ°": 104603, + "èī²å½©": 104604, + "å¹¶éĿŀ": 104605, + "èĢĮå·²": 104606, + "温æļĸ": 104607, + "èIJ§": 104608, + "æĬĵä½ı": 104609, + "èĢĮä¸įæĺ¯": 104610, + "åĸĬ": 104611, + "çļĦåħ³ç³»": 104612, + "çī©åĵģ": 104613, + "éĤ£æĺ¯": 104614, + "åĨľäº§åĵģ": 104615, + "è¿ĻæĹ¶": 104616, + "å©ļå§»": 104617, + "æ°´æŀľ": 104618, + "æĶ¶èİ·": 104619, + "ä»ĺåĩº": 104620, + "客æĪ·ç«¯": 104621, + "æ¼Ķåĩº": 104622, + "åħ¨æĸ°": 104623, + "è¿Ļä¹Łæĺ¯": 104624, + "æĺ¯çͱ": 104625, + "è§Ĥ念": 104626, + "æľī个": 104627, + "éĢłåŀĭ": 104628, + "èĥľåĪ©": 104629, + "ä¸īæĺ¯": 104630, + "è¶ħå¸Ĥ": 104631, + "åħļå»ºå·¥ä½ľ": 104632, + "æĶ¾å¿ĥ": 104633, + "线路": 104634, + "æĭĽçĶŁ": 104635, + "åIJĥé¥Ń": 104636, + "è½ī": 104637, + "å°½éĩı": 104638, + "è§ģåΰ": 104639, + "åIJĮæ¯Ķå¢ŀéķ¿": 104640, + "åįİ为": 104641, + "æĪijå¸Ĥ": 104642, + "æıIJåĩºäºĨ": 104643, + "æ°ijèѦ": 104644, + "åįļçī©": 104645, + "åįļçī©é¦Ĩ": 104646, + "è¯ļä¿¡": 104647, + "åīįéĿ¢": 104648, + "山西": 104649, + "è¾ħåĬ©": 104650, + "转移": 104651, + "æĽ´ä¸º": 104652, + "丰å¯ĮçļĦ": 104653, + "åį¢": 104654, + "å¿«éĢĴ": 104655, + "æĺ¾èijĹ": 104656, + "çī©èµĦ": 104657, + "åĪ°è¾¾": 104658, + "æľīåĪ©äºİ": 104659, + "åijĨ": 104660, + "åŃ©åŃIJçļĦ": 104661, + "ä¸įä½Ĩ": 104662, + "çłĶç©¶éĻ¢": 104663, + "çͳæĬ¥": 104664, + "æļ¨": 104665, + "æ°ijéĹ´": 104666, + "åį»": 104667, + "çļĦå£°éŁ³": 104668, + "å¸ĤåľºçļĦ": 104669, + "ä¸Ģåı¥": 104670, + "çľģ级": 104671, + "æĿ¥çļĦ": 104672, + "åĵªä¸ª": 104673, + "æīįä¼ļ": 104674, + "åĪĨéħį": 104675, + "èĶ¡": 104676, + "ä»ĸåľ¨": 104677, + "åħ±æľī": 104678, + "å¡ĺ": 104679, + "èĴĤ": 104680, + "éľį": 104681, + "åıĤè§Ĥ": 104682, + "ä¸Ī夫": 104683, + "ä¾ĿéĿł": 104684, + "æľīæĹ¶": 104685, + "äºĨå¾Īå¤ļ": 104686, + "ä¸ĸçķĮæĿ¯": 104687, + "å®¶æĹı": 104688, + "ä¸įéľĢè¦ģ": 104689, + "大å¸Ī": 104690, + "èŀįåħ¥": 104691, + "éĿŀæ³ķ": 104692, + "çĹħ人": 104693, + "åIJİæľŁ": 104694, + "大家éĥ½": 104695, + "ç½ijåĿĢ": 104696, + "åİŁæĸĻ": 104697, + "ä¾¿å®ľ": 104698, + "æ¶Ľ": 104699, + "ä»¿ä½Ľ": 104700, + "å·®è·Ŀ": 104701, + "åı¦ä¸Ģæĸ¹éĿ¢": 104702, + "产åĵģçļĦ": 104703, + "赫": 104704, + "æĥħåĨµä¸ĭ": 104705, + "éĴ¢éĵģ": 104706, + "æľ¬ç«Ļ": 104707, + "纳åħ¥": 104708, + "å·²æľī": 104709, + "æľī没æľī": 104710, + "估计": 104711, + "é£ĺ": 104712, + "æľŁè´§": 104713, + "åĢĭ人è³ĩæĸĻ": 104714, + "ä¸ĵä¸ļçļĦ": 104715, + "çĪĨåıij": 104716, + "èĩ´åĬĽäºİ": 104717, + "çİ°åľ¨çļĦ": 104718, + "æľīåĵªäºĽ": 104719, + "çł´åĿı": 104720, + "æķ°åŃĹåĮĸ": 104721, + "åľ°éĿ¢": 104722, + "é»ijèī²": 104723, + "å¹¼åĦ¿åĽŃ": 104724, + "çļĦç²¾ç¥ŀ": 104725, + "äºŃ": 104726, + "导æ¼Ķ": 104727, + "çݰæľī": 104728, + "æŃ¦åύ": 104729, + "èĭıå·ŀ": 104730, + "çİĦ": 104731, + "æ±Łè¥¿": 104732, + "延伸": 104733, + "论æĸĩ": 104734, + "è¾ĥ为": 104735, + "çİ©æ³ķ": 104736, + "é¼İ": 104737, + "åIJĮæŃ¥": 104738, + "éĩĬæĶ¾": 104739, + "æĽĿåħī": 104740, + "åĿļåĨ³": 104741, + "å§Ķæīĺ": 104742, + "å°Ĩåľ¨": 104743, + "äºĪ以": 104744, + "ä½ľæĸĩ": 104745, + "èĢĮåľ¨": 104746, + "ä¼ĺåħĪ": 104747, + "åĽŀåİ»": 104748, + "ä¿®å¤į": 104749, + "åĽ½åĨħå¤ĸ": 104750, + "çŃĸåĪĴ": 104751, + "åıijæĶ¾": 104752, + "å¿ĥæĥħ": 104753, + "çļĦåİĨåı²": 104754, + "éĿ¢è¯ķ": 104755, + "举åĮĹ": 104756, + "ä¿¡åı·": 104757, + "ç²®é£Ł": 104758, + "è¯ģ书": 104759, + "æŁIJäºĽ": 104760, + "è¿IJä½ľ": 104761, + "åĨ²åĩ»": 104762, + "çĥŃçĤ¹": 104763, + "æĹ¶æĹ¶": 104764, + "æĹ¶æĹ¶å½©": 104765, + "åľ°çĤ¹": 104766, + "ä¸Ģä½ĵåĮĸ": 104767, + "éļ¾é¢ĺ": 104768, + "æĽ°": 104769, + "ç«ĭåĪ»": 104770, + "æĺ¯éĿŀ常": 104771, + "åħ±åĴĮ": 104772, + "åħ±åĴĮåĽ½": 104773, + "æ¿ĢåĬ±": 104774, + "æľīæķĪçļĦ": 104775, + "å¤Ħç½®": 104776, + "该åħ¬åı¸": 104777, + "æ£ĢéªĮ": 104778, + "èѦæĸ¹": 104779, + "è´¾": 104780, + "äºĨä¸Ģä¸ĭ": 104781, + "ä»ĬåIJİ": 104782, + "çħ®": 104783, + "ç͍åĵģ": 104784, + "读èĢħ": 104785, + "æĪijåľ¨": 104786, + "åĽŀå¤į": 104787, + "ä¸Ģ座": 104788, + "è¿ĺ没": 104789, + "å®ļåζ": 104790, + "没æĥ³åΰ": 104791, + "夹": 104792, + "ä¼łéĢĴ": 104793, + "ä¸Ģ款": 104794, + "强大çļĦ": 104795, + "çļĦè¡Į为": 104796, + "å¤ı天": 104797, + "åıijåĬ¨æľº": 104798, + "é¢ĨåŁŁçļĦ": 104799, + "å®ŀéªĮ室": 104800, + "ä¸ĢæĬĬ": 104801, + "æĺ¯ä¸ºäºĨ": 104802, + "éĻķ西": 104803, + "æĭħä¿Ŀ": 104804, + "è¾¾æĪIJ": 104805, + "è¦ģæĺ¯": 104806, + "æĺİ天": 104807, + "ç»Ļä»ĸ": 104808, + "建ç«ĭäºĨ": 104809, + "ä¸įè¡Į": 104810, + "ä¸Ńæĸĩ": 104811, + "åľ°è¯´": 104812, + "åIJİçļĦ": 104813, + "çĽijæİ§": 104814, + "é̏": 104815, + "æĢ»éĥ¨": 104816, + "æľ¬æĸĩ": 104817, + "鹿": 104818, + "æĻ¯è§Ĥ": 104819, + "çļĦ缮æłĩ": 104820, + "èĽĩ": 104821, + "åĨ¯": 104822, + "ä¸ŃåĮ»": 104823, + "æķĪåºĶ": 104824, + "产éĩı": 104825, + "åŃĿ": 104826, + "è´¦æĪ·": 104827, + "è¿Ŀåıį": 104828, + "èij£äºĭä¼ļ": 104829, + "äº¬ä¸ľ": 104830, + "责任ç¼ĸè¾ij": 104831, + "åķıé¡Į": 104832, + "çαå¿ĥ": 104833, + "èŃ¦å¯Ł": 104834, + "é¤IJåİħ": 104835, + "å¸ĤæĶ¿åºľ": 104836, + "天天": 104837, + "æĸ°é²ľ": 104838, + "éĥijå·ŀ": 104839, + "è¶ħè¶Ĭ": 104840, + "å½Ń": 104841, + "çŁ¥è¯Ĩ产æĿĥ": 104842, + "åĽŀå¿Ĩ": 104843, + "路线": 104844, + "å»īæ´ģ": 104845, + "éĿĴå°ijå¹´": 104846, + "åıĸå¾ĹäºĨ": 104847, + "çľĭåΰäºĨ": 104848, + "馬": 104849, + "ç²¾åĵģ": 104850, + "åľ°éĵģ": 104851, + "æĮģæľī": 104852, + "ä¸ĭäºĨ": 104853, + "æľīæĹ¶åĢĻ": 104854, + "ä¸Ģ人": 104855, + "æĴĴ": 104856, + "ä»Ķç»Ĩ": 104857, + "èĢģåħ¬": 104858, + "äºĭå®ŀä¸Ĭ": 104859, + "èģĶèµĽ": 104860, + "ä¾ĽåºĶéĵ¾": 104861, + "é¢Ħç®Ĺ": 104862, + "åζéĢłä¸ļ": 104863, + "å®īåħ¨çĶŁäº§": 104864, + "俱ä¹IJ": 104865, + "俱ä¹IJéĥ¨": 104866, + "çļĦæł¸å¿ĥ": 104867, + "æīĵç®Ĺ": 104868, + "å½±çīĩ": 104869, + "æIJŃ建": 104870, + "ä¹Łä¸įä¼ļ": 104871, + "æĭħå½ĵ": 104872, + "å±ĤéĿ¢": 104873, + "åѦåijĺ": 104874, + "临æĹ¶": 104875, + "缸ç»ĵåIJĪ": 104876, + "对æ¯Ķ": 104877, + "ä»ĸæĺ¯": 104878, + "æĸ°åĮº": 104879, + "è¿Ľåİ»": 104880, + "çϾ年": 104881, + "ä¿©": 104882, + "尽快": 104883, + "ç͵åŃIJåķĨåĬ¡": 104884, + "æĽ´æľī": 104885, + "æ¸ħçIJĨ": 104886, + "åı¦ä¸Ģ个": 104887, + "åĤ»": 104888, + "ä»Ģä¹Īæł·çļĦ": 104889, + "æĺ¯æľĢ": 104890, + "åij¨å¹´": 104891, + "å¾Ī容æĺĵ": 104892, + "åĽ¢ç»ĵ": 104893, + "ç´Ħ": 104894, + "æĹ©å·²": 104895, + "çļĦåıĺåĮĸ": 104896, + "éľŀ": 104897, + "æĹ¥ä¸ĬåįĪ": 104898, + "失åİ»": 104899, + "ä¸Ńåľĭ": 104900, + "çļĦä¸ĢäºĽ": 104901, + "å°ıåŃ©": 104902, + "ä¸ĭè·Į": 104903, + "éĶ»çĤ¼": 104904, + "éij": 104905, + "éij«": 104906, + "å¿ĹæĦ¿èĢħ": 104907, + "èĤ¡å¸Ĥ": 104908, + "èµĽäºĭ": 104909, + "许åı¯è¯ģ": 104910, + "åı¯æĮģç»Ń": 104911, + "åijĬè¯īè®°èĢħ": 104912, + "éĢ»è¾ij": 104913, + "å¼ķåħ¥": 104914, + "çļĦè¿ĩç¨ĭä¸Ń": 104915, + "è§Ĩè§ī": 104916, + "èĩªæ²»åĮº": 104917, + "è¯ģæį®": 104918, + "è£ħç½®": 104919, + "第ä¸īæĸ¹": 104920, + "å¹´æĿ¥": 104921, + "å¹¿ä¸ľçľģ": 104922, + "带æĿ¥äºĨ": 104923, + "éķ¿æ±Ł": 104924, + "访éĹ®": 104925, + "å·®ä¸įå¤ļ": 104926, + "æĺ¯æĪij": 104927, + "éģŃéģĩ": 104928, + "æĬĵ好": 104929, + "é«ĺè¾¾": 104930, + "å¹¶åľ¨": 104931, + "èĩªè§ī": 104932, + "ä¾ĽåºĶåķĨ": 104933, + "æĥħæĦŁ": 104934, + "ä½ıäºĨ": 104935, + "çļĦèģĮä¸ļ": 104936, + "çļĩå¸Ŀ": 104937, + "西éĥ¨": 104938, + "åĴĮå¹³": 104939, + "çļĦåĬĽéĩı": 104940, + "汪": 104941, + "åħħåĪĨåıijæĮ¥": 104942, + "æĬķè¯ī": 104943, + "èµ·åΰ": 104944, + "äºĴ缸": 104945, + "æ¾³éŨ": 104946, + "æİ¥åΰ": 104947, + "æ°´æ³¥": 104948, + "模åŀĭ": 104949, + "ä¸ĢåįĬ": 104950, + "ç§©åºı": 104951, + "æĪijä»¬åľ¨": 104952, + "æī¿è®¤": 104953, + "ä¸Ģéĥ¨åĪĨ": 104954, + "åįłæ¯Ķ": 104955, + "å¦ĩ女": 104956, + "ç²ĺ": 104957, + "äºĨè§£åΰ": 104958, + "ä¸Ģå®ļä¼ļ": 104959, + "åIJĦ大": 104960, + "èµ°åĩº": 104961, + "为大家": 104962, + "é«ĺéĵģ": 104963, + "åı¯ä»¥åľ¨": 104964, + "ä½Ĩåľ¨": 104965, + "çĶŁæĢģçݯå¢ĥ": 104966, + "èı¯": 104967, + "çļĦä»·æł¼": 104968, + "麻çĥ¦": 104969, + "æ¿Ģåıij": 104970, + "éĤ£å°±": 104971, + "çļĦæł·åŃIJ": 104972, + "为æŃ¤": 104973, + "å¤©åľ°": 104974, + "çļĦ缮çļĦ": 104975, + "åĢºåΏ": 104976, + "å·²ç¶ĵ": 104977, + "åĽĽå¤§": 104978, + "åIJĮæĹ¶ä¹Ł": 104979, + "å½¼æŃ¤": 104980, + "æĭ¿åΰ": 104981, + "åIJ«éĩı": 104982, + "åįģ大": 104983, + "éļ¾éģĵ": 104984, + "å¼Ĺ": 104985, + "ä¸Ģ段æĹ¶éĹ´": 104986, + "çħ§é¡¾": 104987, + "æķ°æį®æĺ¾ç¤º": 104988, + "æĪIJ为äºĨ": 104989, + "èµ°åΰ": 104990, + "æľ¬åħ¬åı¸": 104991, + "ç»Ī端": 104992, + "ä¹Łä¸įæĺ¯": 104993, + "头åıij": 104994, + "大约": 104995, + "é£İæĻ¯": 104996, + "æ¶ĪèĢĹ": 104997, + "å®¡æŁ¥": 104998, + "äºīåıĸ": 104999, + "æ³ķæ²»": 105000, + "äºĭçī©": 105001, + "ç¼ĵè§£": 105002, + "æĥ¨": 105003, + "缸åºĶçļĦ": 105004, + "çļĦæķĪæŀľ": 105005, + "åıįå¤į": 105006, + "åıijçĶŁäºĨ": 105007, + "éĢĻäºĽ": 105008, + "ç»ĥä¹ł": 105009, + "åݨæĪ¿": 105010, + "å¼Ģæĭĵ": 105011, + "欣èµı": 105012, + "夫妻": 105013, + "ä¸įä¸Ģæł·": 105014, + "产èĥ½": 105015, + "èĬ¯çīĩ": 105016, + "è¦ģç´ł": 105017, + "åıį对": 105018, + "çİĩåħĪ": 105019, + "è´§çī©": 105020, + "æĹ¥ç͵": 105021, + "ä½ľå®¶": 105022, + "æĶ¹è¿Ľ": 105023, + "æĪIJåĪĨ": 105024, + "åĽłèĢĮ": 105025, + "åĩıèĤ¥": 105026, + "æ½ĺ": 105027, + "å±±ä¸ľçľģ": 105028, + "åĬĿ": 105029, + "åŁĭ": 105030, + "æŃ¦è£ħ": 105031, + "æ±ĩæĬ¥": 105032, + "ä¸Ģ个æľĪ": 105033, + "çĥŃéŨ": 105034, + "大éģĵ": 105035, + "æ´»åĭķ": 105036, + "éĥ½å¾Ī": 105037, + "çĶµæ¢¯": 105038, + "ç´§æĢ¥": 105039, + "åĢºåĬ¡": 105040, + "客æľį": 105041, + "ä¸Ģéĥ¨": 105042, + "ä½łæĺ¯": 105043, + "çݰçĬ¶": 105044, + "æŃ£ç¡®çļĦ": 105045, + "ä¹ĭå¤Ħ": 105046, + "ç¼ĸåζ": 105047, + "ä½łåı¯ä»¥": 105048, + "çŃīåľ°": 105049, + "èİī": 105050, + "对è¯Ŀ": 105051, + "æ·ĺå®Ŀ": 105052, + "è°ĥèĬĤ": 105053, + "æİĴæĶ¾": 105054, + "åºĵåŃĺ": 105055, + "ç´ļ": 105056, + "çļĦä¼ĺåĬ¿": 105057, + "æĿĥå¨ģ": 105058, + "以ä¸ĭç®Ģç§°": 105059, + "ä¸Ģ项": 105060, + "èģļéĽĨ": 105061, + "ä¼łç»ŁçļĦ": 105062, + "æ··åIJĪ": 105063, + "è¿Ļä¸ĢçĤ¹": 105064, + "ä¸Ģçľ¼": 105065, + "æĹłéĻIJ": 105066, + "èİ·å¾ĹäºĨ": 105067, + "éĢīæīĭ": 105068, + "åζåĵģ": 105069, + "åįıä½ľ": 105070, + "çĭ¬çī¹çļĦ": 105071, + "ä¸Ģ级": 105072, + "è¿Ļ个éĹ®é¢ĺ": 105073, + "æĸĮ": 105074, + "æĺ¯æĪij们": 105075, + "æķĮ人": 105076, + "æ¸ħæ´Ĺ": 105077, + "ä¸ĢçĽ´åľ¨": 105078, + "å°ıç±³": 105079, + "çļĦè¿ĩç¨ĭ": 105080, + "åľ¨åĮĹ京": 105081, + "ä¸ĢæĶ¯": 105082, + "æĹ©ä¸Ĭ": 105083, + "æĸĩèīº": 105084, + "ç¦ıåĪ©": 105085, + "é£Łç͍": 105086, + "æĦŁåĬ¨": 105087, + "åħ¨ç¨ĭ": 105088, + "æĶ¯åĩº": 105089, + "æĸ°å»º": 105090, + "å¸ķ": 105091, + "æĺ¾çĦ¶": 105092, + "羣çļĦæĺ¯": 105093, + "æĸ°éĹ»ç½ij": 105094, + "èĥ½åIJ¦": 105095, + "åįıåĬ©": 105096, + "亲èĩª": 105097, + "å¾Īæľī": 105098, + "çϼå±ķ": 105099, + "æĦı大": 105100, + "æĦı大åĪ©": 105101, + "ç͵ç½ij": 105102, + "æĹ¥çĽĬ": 105103, + "çĨ±": 105104, + "èĤĮèĤ¤": 105105, + "çĶ·æĢ§": 105106, + "ç»Ħ建": 105107, + "çŃīéĹ®é¢ĺ": 105108, + "æ¶ĪéϤ": 105109, + "æĬ¤çIJĨ": 105110, + "å¡ijæĸĻ": 105111, + "ä¹Įåħĭ": 105112, + "ä¹Įåħĭåħ°": 105113, + "åķĨæłĩ": 105114, + "çIJ³": 105115, + "æĸ°æīĭ": 105116, + "çļĦçī¹çĤ¹": 105117, + "åĴ¬": 105118, + "å½ĵä¸ĭ": 105119, + "设计å¸Ī": 105120, + "èµĶåģ¿": 105121, + "第åįģ": 105122, + "æĻºèĥ½åĮĸ": 105123, + "å¼ĢåıijåĮº": 105124, + "åı¯ä»¥éĢļè¿ĩ": 105125, + "åħ±äº§åħļ": 105126, + "åİī害": 105127, + "ç쵿´»": 105128, + "æĹ¶åħī": 105129, + "éĥ¨ä½į": 105130, + "人æĸĩ": 105131, + "è¿ĽæĿ¥": 105132, + "ä¹ĭæīĢ以": 105133, + "ä¸īåįģ": 105134, + "çļĦåѦçĶŁ": 105135, + "éĺ²æĬ¤": 105136, + "åĽ½äº§": 105137, + "æ·±åľ³å¸Ĥ": 105138, + "éĤ£å°±æĺ¯": 105139, + "åΰä½į": 105140, + "çľĹ": 105141, + "çľĹæĻ®": 105142, + "å®ŀæĹ¶": 105143, + "åı°çģ£": 105144, + "èĢĮä¸į": 105145, + "æĮĩå®ļ": 105146, + "åĿĿ": 105147, + "èħIJè´¥": 105148, + "çī¹å®ļ": 105149, + "å¢ŀéĢŁ": 105150, + "æłĩçѾ": 105151, + "æĪ¿ä»·": 105152, + "æĦģ": 105153, + "贯彻èIJ½å®ŀ": 105154, + "æĢ§è´¨": 105155, + "çłĶç©¶çĶŁ": 105156, + "ç¾İ容": 105157, + "æī¹è¯Ħ": 105158, + "究竣": 105159, + "人åĬĽèµĦæºIJ": 105160, + "éĸĭå§ĭ": 105161, + "åĽŀå½Ĵ": 105162, + "èIJ¥åķĨ": 105163, + "èIJ¥åķĨçݯå¢ĥ": 105164, + "ä¸ŃåĽ½äºº": 105165, + "çļĦåŁºæľ¬": 105166, + "è¯Ŀé¢ĺ": 105167, + "æłĩåĩĨåĮĸ": 105168, + "西èĹı": 105169, + "åĭ¾": 105170, + "çļĦ设计": 105171, + "ç®ĢåįķçļĦ": 105172, + "å¤įåζ": 105173, + "æ¸IJæ¸IJ": 105174, + "以å¤ĸ": 105175, + "èģĶåĬ¨": 105176, + "两次": 105177, + "æĢ§åĴĮ": 105178, + "æĽ´å¤§": 105179, + "çļĦåIJįåŃĹ": 105180, + "飦": 105181, + "ä½łè¦ģ": 105182, + "å¢ĥå¤ĸ": 105183, + "æĹ©æľŁ": 105184, + "åĪĿæŃ¥": 105185, + "è´¦åı·": 105186, + "害æĢķ": 105187, + "æĺ¨æĹ¥": 105188, + "åĪļæīį": 105189, + "ç¥ŀç§ĺ": 105190, + "ç²¾å¿ĥ": 105191, + "æµģéĢļ": 105192, + "åħ¨æĸ¹ä½į": 105193, + "以å¾Ģ": 105194, + "ä¹Łå°Ĩ": 105195, + "æĺ¯ä¸ŃåĽ½": 105196, + "åĽ½å®¶çº§": 105197, + "å°ĨåĨĽ": 105198, + "æijĬ": 105199, + "æľĢ为": 105200, + "第ä¸ĢæĹ¶éĹ´": 105201, + "æ¶Īæ¯Ĵ": 105202, + "å°Ĩäºİ": 105203, + "å¨ģèĥģ": 105204, + "èĭ±æĸĩ": 105205, + "æīĭä¸Ń": 105206, + "çIJĥè¿·": 105207, + "è§Ĥçľĭ": 105208, + "离å©ļ": 105209, + "æľ¬åľŁ": 105210, + "åĪĨæķ£": 105211, + "æĻ´": 105212, + "è¦ģ注æĦı": 105213, + "浪费": 105214, + "管æİ§": 105215, + "åĩºåĶ®": 105216, + "æĢ»è£ģ": 105217, + "ä¸Ģéĺµ": 105218, + "å¨ĩ": 105219, + "äºĶ个": 105220, + "å½ĵåĪĿ": 105221, + "çºłçº·": 105222, + "ä¸ĵç͍": 105223, + "å¤ĩæ¡Ī": 105224, + "åĪĿæľŁ": 105225, + "å®ĥæĺ¯": 105226, + "åĮºåĿĹ": 105227, + "åĮºåĿĹéĵ¾": 105228, + "大è¿ŀ": 105229, + "è¿Ļç±»": 105230, + "åıĺæĪIJäºĨ": 105231, + "éĤĦæĺ¯": 105232, + "åįļ客": 105233, + "çı¾åľ¨": 105234, + "ä¸Ģæĸ¹": 105235, + "å®ĮæĪIJäºĨ": 105236, + "è¿Ļ个æĹ¶åĢĻ": 105237, + "åħ¨å¹´": 105238, + "ä¸Ĭ线": 105239, + "ç½IJ": 105240, + "ç«ŀèµĽ": 105241, + "åĩºçīĪ社": 105242, + "åĵ¥åĵ¥": 105243, + "寫": 105244, + "å¾Ĺ以": 105245, + "èĬ±åĽŃ": 105246, + "äºĨèµ·æĿ¥": 105247, + "èĦ±è´«æĶ»åĿļ": 105248, + "çļĦåİŁåĪĻ": 105249, + "讲解": 105250, + "æ¶ĪåĮĸ": 105251, + "æįŁå®³": 105252, + "æļĤæĹ¶": 105253, + "å¾ĹçŁ¥": 105254, + "éĢĤç͍": 105255, + "éŨåºĹ": 105256, + "解读": 105257, + "æĻ®åıĬ": 105258, + "人æ°ijæ³ķéĻ¢": 105259, + "åī¯ä¸»ä»»": 105260, + "å¿ĥçģµ": 105261, + "è¯ĬæĸŃ": 105262, + "ç¾İ女": 105263, + "æŁ¯": 105264, + "年以æĿ¥": 105265, + "æ´»è·ĥ": 105266, + "åĢŁåĬ©": 105267, + "åħ±å»º": 105268, + "è¯ī讼": 105269, + "æĶ¾æĿ¾": 105270, + "çªĹåı£": 105271, + "ä¼ģæ¥Ń": 105272, + "åĬłæĭ¿": 105273, + "åĬłæĭ¿å¤§": 105274, + "ä¹°äºĨ": 105275, + "主æµģ": 105276, + "æĩĤå¾Ĺ": 105277, + "å°Ĩåħ¶": 105278, + "éĢıæĺİ": 105279, + "å·¥ä½ľä¸Ń": 105280, + "èĤ¡ä»·": 105281, + "æ¡£æ¡Ī": 105282, + "没æľīä»»ä½ķ": 105283, + "åijĬçŁ¥": 105284, + "å¹´åĪĿ": 105285, + "æĹ¥ä¸ĭåįĪ": 105286, + "åİĤåķĨ": 105287, + "èĬĤå¥ı": 105288, + "主导": 105289, + "è£Ŀ": 105290, + "åħ³éĶ®è¯į": 105291, + "èģĬ天": 105292, + "åĨĻä½ľ": 105293, + "æĶ¹éĿ©å¼ĢæĶ¾": 105294, + "æľīæľĽ": 105295, + "éĢļæĬ¥": 105296, + "èIJĮ": 105297, + "æĢ»é¢Ŀ": 105298, + "çŁŃæľŁ": 105299, + "ä¸Ģçķª": 105300, + "çĶŁæ´»çļĦ": 105301, + "åĮĸçļĦ": 105302, + "æĺ¥å¤©": 105303, + "è¿Ļåľº": 105304, + "æĸ°å¼Ģä¼łå¥ĩ": 105305, + "æĺ¯è¦ģ": 105306, + "å°ļæľª": 105307, + "åıĺæĽ´": 105308, + "ä¸Ģåij¨": 105309, + "客è§Ĥ": 105310, + "æĹ¥èĩ³": 105311, + "é¹°": 105312, + "çݲ": 105313, + "å°ĨæĿ¥": 105314, + "客人": 105315, + "åıĺéĿ©": 105316, + "说äºĨ": 105317, + "åİŁçIJĨ": 105318, + "èģĮåĬ¡": 105319, + "åıĪæľī": 105320, + "ä¸Ģåı¥è¯Ŀ": 105321, + "æĦŁåıĹåΰ": 105322, + "ç¬ĶèĢħ": 105323, + "ç§»æ°ij": 105324, + "西åįĹ": 105325, + "ä¹ĥèĩ³": 105326, + "æŃ£è§Ħ": 105327, + "åĪĿä¸Ń": 105328, + "çĬ¬": 105329, + "å½ĵäºĭ": 105330, + "å½ĵäºĭ人": 105331, + "æĪij们è¦ģ": 105332, + "åħ¥åı£": 105333, + "éĤ£æĹ¶": 105334, + "æľīéĻIJ责任": 105335, + "å°ij女": 105336, + "è¿Ļä¹Īå¤ļ": 105337, + "åĪĨåħ¬åı¸": 105338, + "å®ĩå®Ļ": 105339, + "çļĦéĢīæĭ©": 105340, + "å§IJå§IJ": 105341, + "åıijèµ·": 105342, + "è»į": 105343, + "æĽ´å¥½åľ°": 105344, + "éĻĨç»Ń": 105345, + "æľ¬æľįåĭĻ": 105346, + "å«©": 105347, + "èµ¶ç´§": 105348, + "èĦĤèĤª": 105349, + "第äºĮ天": 105350, + "æĪijä¼ļ": 105351, + "两ä½į": 105352, + "æķ²": 105353, + "åħ¬å®īæľºåħ³": 105354, + "ç§ijæĬĢåĪĽæĸ°": 105355, + "尺寸": 105356, + "è¾IJå°Ħ": 105357, + "å®ĹæķĻ": 105358, + "转æį¢": 105359, + "åĩºçİ°åľ¨": 105360, + "ä¸Ģé¢Ĺ": 105361, + "æľŁéĻIJ": 105362, + "åIJĮåѦ们": 105363, + "åĮĹæĸ¹": 105364, + "ä½łå°±": 105365, + "ä¸Ģ带ä¸Ģè·¯": 105366, + "èĢģå©Ĩ": 105367, + "游æĪıçݩ家": 105368, + "çļĦç»ĵæŀľ": 105369, + "è¡¥åģ¿": 105370, + "å¤ĸè´¸": 105371, + "对å¾ħ": 105372, + "ç»´çĶŁç´ł": 105373, + "ç»ıéĶĢåķĨ": 105374, + "è¿ĺå°Ĩ": 105375, + "åŃIJ女": 105376, + "æĽ´é«ĺ": 105377, + "ä¸į大": 105378, + "éī´å®ļ": 105379, + "让ä»ĸ们": 105380, + "æīĢè°ĵçļĦ": 105381, + "æŃ»äºĨ": 105382, + "帮æī¶": 105383, + "åĵ²åѦ": 105384, + "以ä¸ĬçļĦ": 105385, + "çļĦåħ³éĶ®": 105386, + "æĹ©å°±": 105387, + "æĬ¥ä»·": 105388, + "éģµå®Ī": 105389, + "æī©å¼ł": 105390, + "æĺ¯å¾Ī": 105391, + "å¼ĢéĢļ": 105392, + "æĸ°åĬł": 105393, + "æĸ°åĬłåĿ¡": 105394, + "ç¿»è¯ij": 105395, + "询éĹ®": 105396, + "é¸Ń": 105397, + "ä½ĵåĨħ": 105398, + "两个人": 105399, + "çι": 105400, + "éľľ": 105401, + "乡æĿijæĮ¯åħ´": 105402, + "çĿ¡è§ī": 105403, + "å®ĺåijĺ": 105404, + "åĪĽå§ĭ": 105405, + "åĪĽå§ĭ人": 105406, + "ä¼Ĺ人": 105407, + "åį³ä¾¿": 105408, + "çĸ«èĭĹ": 105409, + "ä¼ģä¸ļå®¶": 105410, + "渣": 105411, + "ç²¾åĬĽ": 105412, + "å¤ĸéĥ¨": 105413, + "èģªæĺİ": 105414, + "è¿Ļä¹Ł": 105415, + "å½ķåıĸ": 105416, + "åĨ²çªģ": 105417, + "åħ¨èº«": 105418, + "åŃ£èĬĤ": 105419, + "忽çĦ¶": 105420, + "çļĦæĢģ度": 105421, + "åĤ¨å¤ĩ": 105422, + "ä¿Ŀåħ»": 105423, + "çļĦæĥ³æ³ķ": 105424, + "ä¸Ĭæµ·å¸Ĥ": 105425, + "æIJºæīĭ": 105426, + "çļĦä¿¡æģ¯": 105427, + "åķĨåľº": 105428, + "çļĦæĢĿæĥ³": 105429, + "æĿĥåĬĽ": 105430, + "毫æĹł": 105431, + "æĢĢåŃķ": 105432, + "硬件": 105433, + "åĨħèĴĻåı¤": 105434, + "æİ¢è®¨": 105435, + "åħ»çĶŁ": 105436, + "çļĦ表çݰ": 105437, + "空ä¸Ń": 105438, + "æģIJæĢĸ": 105439, + "å¾Īé«ĺ": 105440, + "ç»ıæµİ社ä¼ļ": 105441, + "ä¸ĬæĿ¥": 105442, + "å»¶ç»Ń": 105443, + "éĩįå¤į": 105444, + "éĺ²èĮĥ": 105445, + "çļĦå½¢å¼ı": 105446, + "æľĪåºķ": 105447, + "èĢģ年人": 105448, + "绿åĮĸ": 105449, + "å±±åĮº": 105450, + "æĭ¿åĩº": 105451, + "æĹħ客": 105452, + "æĽ´æį¢": 105453, + "åħ¬ä¸»": 105454, + "èĬĤ约": 105455, + "åħ¨åİ¿": 105456, + "åĽŀæĬ¥": 105457, + "çIJĨæĢ§": 105458, + "çĸ¯çĭĤ": 105459, + "æ¶īå«Į": 105460, + "åī§æĥħ": 105461, + "åĨ¬åŃ£": 105462, + "åIJİç»Ń": 105463, + "è¿Ļæĺ¯ä¸Ģ个": 105464, + "æ¼Ķ讲": 105465, + "ä¸Ģå±Ĥ": 105466, + "æľīåħ³éĥ¨éŨ": 105467, + "æĹłå¥Ī": 105468, + "ç§įç±»": 105469, + "缸åħ³çļĦ": 105470, + "æĪĸèĢħæĺ¯": 105471, + "æī¶æĮģ": 105472, + "å¤ļæķ°": 105473, + "çļĦä½ľåĵģ": 105474, + "ä¸ĭä¸ĢæŃ¥": 105475, + "å¸ĪåĤħ": 105476, + "é«ĺéĢŁåħ¬è·¯": 105477, + "好åıĭ": 105478, + "ä¼ĺç§ĢçļĦ": 105479, + "è¿ĽäºĨ": 105480, + "æģIJæĢķ": 105481, + "äºĨåIJ§": 105482, + "大è§Ħ模": 105483, + "çļĦä¸ĸçķĮ": 105484, + "æĢĢçĸij": 105485, + "å··": 105486, + "åħ´å¥ĭ": 105487, + "æĪ°": 105488, + "æĿijéĩĮ": 105489, + "æľĭåıĭåľĪ": 105490, + "åĨ¬å¤©": 105491, + "ä¸Ńåįİ人æ°ij": 105492, + "åįıåķĨ": 105493, + "è¯ĦéĢī": 105494, + "æĹŃ": 105495, + "å¢ŀåĬłäºĨ": 105496, + "åıĹ伤": 105497, + "ä¸ĢèĤ¡": 105498, + "便æį·": 105499, + "ä¸ij": 105500, + "鹤": 105501, + "å¤ĸè§Ĥ": 105502, + "å·¥ç¨ĭå¸Ī": 105503, + "åĴĮåħ¶ä»ĸ": 105504, + "è¿Ļå°±": 105505, + "ä¸Ńå°ıä¼ģä¸ļ": 105506, + "西åĮĹ": 105507, + "åĽ½æľīä¼ģä¸ļ": 105508, + "èĭ¥æĺ¯": 105509, + "åı¯æĥľ": 105510, + "çĶŁæĹ¥": 105511, + "åĩ½": 105512, + "ä¹°åįĸ": 105513, + "ç¥Ŀç¦ı": 105514, + "人æ°ij群ä¼Ĺ": 105515, + "åħīæĺİ": 105516, + "åħ¬å¯ĵ": 105517, + "æĺ¯è°ģ": 105518, + "æĪijçŁ¥éģĵ": 105519, + "è¯Ńæĸĩ": 105520, + "æķıæĦŁ": 105521, + "ä¸įéĶĻçļĦ": 105522, + "æĿ¥è®²": 105523, + "æ³¢åĬ¨": 105524, + "çļĦ第ä¸Ģ": 105525, + "åľ°éľĩ": 105526, + "åľ¨åħ¨åĽ½": 105527, + "骨干": 105528, + "å®īç½®": 105529, + "å®¶ç͵": 105530, + "ä¸İæŃ¤": 105531, + "ä¸İæŃ¤åIJĮæĹ¶": 105532, + "åıĹçģ¾": 105533, + "çĥŃ线": 105534, + "çļĦæĬĢæľ¯": 105535, + "æµĭéĩı": 105536, + "ä¾Ŀèµĸ": 105537, + "ä¸ŃåĽ½çļĦ": 105538, + "ç̧": 105539, + "è¾ĥé«ĺ": 105540, + "踩": 105541, + "ä¼ļåľ¨": 105542, + "建éĢł": 105543, + "导èĪª": 105544, + "æĥ³èµ·": 105545, + "åħ¨ä¸ĸçķĮ": 105546, + "建æĿIJ": 105547, + "ç¯Ģ": 105548, + "çļĦåŁºç¡Ģ": 105549, + "èĩªåĬ¨åĮĸ": 105550, + "åīįåIJİ": 105551, + "çĿ¡çľł": 105552, + "æİ¨è¡Į": 105553, + "æį®äºĨè§£": 105554, + "ä»Ģä¹ĪæĹ¶åĢĻ": 105555, + "ä¸įåĸľæ¬¢": 105556, + "çħ¤çĤŃ": 105557, + "éĤ£ä¹Īå¤ļ": 105558, + "å¸ĤåľºåĮĸ": 105559, + "ä¸į管æĺ¯": 105560, + "ç«ĭåľº": 105561, + "éĥ½æ²¡": 105562, + "课é¢ĺ": 105563, + "æĪij们å°Ĩ": 105564, + "è¿ĩçļĦ": 105565, + "åĨįåĬłä¸Ĭ": 105566, + "çξ": 105567, + "身æĿIJ": 105568, + "çͷ女": 105569, + "è¿ľè¿ľ": 105570, + "çĶ·çĶŁ": 105571, + "èĩªèº«çļĦ": 105572, + "è´Łæĭħ": 105573, + "çϾä¸ĩ": 105574, + "西çıŃ": 105575, + "西çıŃçīĻ": 105576, + "åĩĢåĪ©æ¶¦": 105577, + "澳大": 105578, + "澳大åĪ©äºļ": 105579, + "ä¸įåİ»": 105580, + "æī¿åıĹ": 105581, + "楼çĽĺ": 105582, + "å¢ĥåĨħ": 105583, + "æ··åĩĿ": 105584, + "æ··åĩĿåľŁ": 105585, + "æĢĿæĥ³æĶ¿æ²»": 105586, + "å¸ĤåĮº": 105587, + "æĭĽæłĩ": 105588, + "åĽ¢ä½ĵ": 105589, + "è¿Ľåº¦": 105590, + "åĨĽéĺŁ": 105591, + "åıįå¼¹": 105592, + "äºĨä¸ĢäºĽ": 105593, + "æİ¥å¾ħ": 105594, + "çļĦåŃ¦ä¹ł": 105595, + "éħįéĢģ": 105596, + "é£Łåĵģå®īåħ¨": 105597, + "æĽ¿ä»£": 105598, + "æĺ¯ä»¥": 105599, + "éĢļç͍": 105600, + "çłĶç©¶æīĢ": 105601, + "ç¦ħ": 105602, + "æīĶ": 105603, + "éļĶ离": 105604, + "ä¸ĩå¹³æĸ¹ç±³": 105605, + "çļĦè§Ħå®ļ": 105606, + "ç»ĻæĪij们": 105607, + "æ¿Ģåħī": 105608, + "ä¼ļåĩºçݰ": 105609, + "çŁŃä¿¡": 105610, + "ç©¿çĿĢ": 105611, + "æ²Īéĺ³": 105612, + "æķĻæĿIJ": 105613, + "éĺ²çĸ«": 105614, + "ä¼ĺèī¯": 105615, + "约å®ļ": 105616, + "æĪijçľģ": 105617, + "åħ¬æ°ij": 105618, + "é쏿ĵ": 105619, + "é쏿ĵĩ": 105620, + "å·²æĪIJ为": 105621, + "ä¸įå¿ħ": 105622, + "ç¥ĸåĽ½": 105623, + "å¹¶æľª": 105624, + "åľŁå£¤": 105625, + "å¾®ç¬ij": 105626, + "äºĭä¸ļåįķä½į": 105627, + "çļĦ游æĪı": 105628, + "åħ¬ç¤º": 105629, + "åIJĪçIJĨçļĦ": 105630, + "çªĿ": 105631, + "æ°Ķ象": 105632, + "å®¶ä¸Ń": 105633, + "äº®çĽ¸": 105634, + "å᫿ĺŁ": 105635, + "è®°è½½": 105636, + "è§Ĩéĩİ": 105637, + "åľ°åĮºçļĦ": 105638, + "ä½Ĩä»ĸ": 105639, + "èĤĮèĤī": 105640, + "äºıæįŁ": 105641, + "åĬŀåѦ": 105642, + "ä¸Ģè¡Į": 105643, + "è¯ŀçĶŁ": 105644, + "åıijå¸ĥçļĦ": 105645, + "çļĦæľįåĬ¡": 105646, + "çļĦçłĶç©¶": 105647, + "åij¨æľ«": 105648, + "产ä¸ļåĽŃ": 105649, + "é«ĺ温": 105650, + "æĪIJåĬŁçļĦ": 105651, + "æŃ¥éª¤": 105652, + "åŃĺåĤ¨": 105653, + "åŃIJåħ¬åı¸": 105654, + "让她": 105655, + "ä¸Ńæľī": 105656, + "åĺī宾": 105657, + "妮": 105658, + "æĺİå¹´": 105659, + "äºĨåIJĹ": 105660, + "äºīè®®": 105661, + "æĪĪ": 105662, + "ä¸Ģæľ¬": 105663, + "ç¾İ丽çļĦ": 105664, + "ä½łè¯´": 105665, + "大人": 105666, + "æĶ»çķ¥": 105667, + "ä¸įæľĥ": 105668, + "å¾ħéģĩ": 105669, + "ä¸Ģè¾Ĩ": 105670, + "çīĪæĿĥæīĢæľī": 105671, + "æ°ijä¼Ĺ": 105672, + "åĬŁå¤«": 105673, + "å±ķä¼ļ": 105674, + "大èĦij": 105675, + "æ¯ıæľĪ": 105676, + "å°ı麦": 105677, + "æµĻæ±Łçľģ": 105678, + "çļĦæīĢæľī": 105679, + "ä¸ĭæ»ij": 105680, + "èĵĿèī²": 105681, + "è¦ģæĥ³": 105682, + "åѦçĶŁçļĦ": 105683, + "å½ĵä½ł": 105684, + "ä½ľæĪĺ": 105685, + "家乡": 105686, + "å¤ļåIJį": 105687, + "é«ĺäºİ": 105688, + "åĿļ强": 105689, + "è¿ŀéĶģ": 105690, + "åIJİæŀľ": 105691, + "人äºĭ": 105692, + "ç´ħ": 105693, + "æ¿ĢåĬ¨": 105694, + "è¿ĽæĶ»": 105695, + "ç©Ĩ": 105696, + "ä¸ĺ": 105697, + "让èĩªå·±": 105698, + "以æŃ¤": 105699, + "夫人": 105700, + "å¼Ģ设": 105701, + "æ°Ķè´¨": 105702, + "鸡èĽĭ": 105703, + "çĦ¡æ³ķ": 105704, + "åIJĥäºĨ": 105705, + "åĪĨåĪ«ä¸º": 105706, + "èģĶåIJĪåĽ½": 105707, + "å½ĵ代": 105708, + "å¦Ĥæŀľæĺ¯": 105709, + "è¿ľç¨ĭ": 105710, + "åĸĤ": 105711, + "è®°ä½ı": 105712, + "æ¸ħåįķ": 105713, + "åIJĪä½ľä¼Ļä¼´": 105714, + "åİ»åģļ": 105715, + "æķħéļľ": 105716, + "模æĭŁ": 105717, + "å¸ĪçĶŁ": 105718, + "åīįæĿ¥": 105719, + "ç͵è§Ĩåī§": 105720, + "çĥŃçα": 105721, + "éľ²åĩº": 105722, + "é«ĺå±Ĥ": 105723, + "ç͵åύ": 105724, + "纪å¾ĭ": 105725, + "å¼ĢåıijåķĨ": 105726, + "éķ¿å®ī": 105727, + "è½½ä½ĵ": 105728, + "çļĦå°±æĺ¯": 105729, + "被人": 105730, + "åıĹçIJĨ": 105731, + "篮çIJĥ": 105732, + "èİİ": 105733, + "交ç»Ļ": 105734, + "æľªæĿ¥çļĦ": 105735, + "两大": 105736, + "åIJķå¸ĥ": 105737, + "çŃī人": 105738, + "çļĦæĹ¥åŃIJ": 105739, + "åIJĪä½ľç¤¾": 105740, + "æĮijéĢī": 105741, + "åŃĺæ¬¾": 105742, + "ç³»ç»ŁçļĦ": 105743, + "æĬĬå®ĥ": 105744, + "没æľīä»Ģä¹Ī": 105745, + "ä»İæŃ¤": 105746, + "ä¸ŃåįĪ": 105747, + "çĸ¼çĹĽ": 105748, + "å·©åĽº": 105749, + "浪漫": 105750, + "缸åħ³éĥ¨éŨ": 105751, + "éķ¿åŁİ": 105752, + "纤维": 105753, + "ä¸ĬéŨ": 105754, + "çĪĨçĤ¸": 105755, + "èµ·çĤ¹": 105756, + "çļĦéĢļçŁ¥": 105757, + "èĢĮæĿ¥": 105758, + "çļĦèĢģ": 105759, + "æīĭéĩĮ": 105760, + "è¯ŃéŁ³": 105761, + "è¾Ľèĭ¦": 105762, + "æ±Łèĭıçľģ": 105763, + "ç͍äºĨ": 105764, + "身份è¯ģ": 105765, + "æľīåĬ©": 105766, + "æľīåĬ©äºİ": 105767, + "çī©èģĶç½ij": 105768, + "åĩºéŨ": 105769, + "å¼ŁåŃIJ": 105770, + "æĥ¹": 105771, + "è¿Ļä»¶äºĭ": 105772, + "æĪij们åı¯ä»¥": 105773, + "çļĦçĶŁåij½": 105774, + "æľīä¸Ģç§į": 105775, + "åºĹéĵº": 105776, + "åıĮæīĭ": 105777, + "çļĦæ¶Īæģ¯": 105778, + "èĢIJå¿ĥ": 105779, + "å°´å°¬": 105780, + "éĤ£å¤©": 105781, + "é¦ĸæī¹": 105782, + "æĺ¯ä¸Ģå®¶": 105783, + "人æ°Ķ": 105784, + "åıįæŃ£": 105785, + "æĪijåĴĮ": 105786, + "å®łçī©": 105787, + "ä¸į对": 105788, + "寻æ±Ĥ": 105789, + "çĽ¸ä¼¼": 105790, + "åľ¨ç¾İåĽ½": 105791, + "åı«åģļ": 105792, + "åĹİ": 105793, + "ç«ĭè¶³": 105794, + "ç͍éĢĶ": 105795, + "åħĨ": 105796, + "大æ°Ķ": 105797, + "åIJijä¸Ĭ": 105798, + "ä»ĸå°±": 105799, + "é¡¹çĽ®å»ºè®¾": 105800, + "èĭ¥å¹²": 105801, + "æĺ¯æľī": 105802, + "æ¿Ģæĥħ": 105803, + "çļĦæĦıä¹ī": 105804, + "æĺŃ": 105805, + "严éĩįçļĦ": 105806, + "å¯ĨéĽĨ": 105807, + "èĪŀè¹Ī": 105808, + "èį£èİ·": 105809, + "èİ·æĤī": 105810, + "æ±ŁåįĹ": 105811, + "åģĩå¦Ĥ": 105812, + "æĪ·å¤ĸ": 105813, + "线索": 105814, + "ç§ģ人": 105815, + "转åŀĭåįĩ级": 105816, + "çļĦä»·å̼": 105817, + "åįķçĭ¬": 105818, + "èĢģçϾå§ĵ": 105819, + "å°įæĸ¼": 105820, + "åĽ½éĻħåĮĸ": 105821, + "ä¼°å̼": 105822, + "æľįåĬ¡ä¸ļ": 105823, + "èĩŃ": 105824, + "æİīäºĨ": 105825, + "è§£åĨ³äºĨ": 105826, + "ä¹Łä¸įèĥ½": 105827, + "åħ¹": 105828, + "æĸ¯çī¹": 105829, + "æķħæĦı": 105830, + "è¿ĩ度": 105831, + "èĬĤæĹ¥": 105832, + "çϽçĻľ": 105833, + "çϽçĻľé£İ": 105834, + "ç»§æī¿": 105835, + "äºĨä¸įå°ij": 105836, + "äºĮ人": 105837, + "è§ģéĿ¢": 105838, + "æĥ³æĥ³": 105839, + "å¤įåIJĪ": 105840, + "康å¤į": 105841, + "åİ¿åŁİ": 105842, + "åľ¨åĽ½åĨħ": 105843, + "åľºåľ°": 105844, + "é϶çĵ·": 105845, + "è¿Ļ项": 105846, + "çľ¼ä¸Ń": 105847, + "糸": 105848, + "æĦŁè§īåΰ": 105849, + "æŀľçĦ¶": 105850, + "æĶ¾åħ¥": 105851, + "约æĿŁ": 105852, + "æİĴæŁ¥": 105853, + "车主": 105854, + "çļĦæĦıæĢĿ": 105855, + "æĸ°åŁİ": 105856, + "æĥ³çĿĢ": 105857, + "éģĤ": 105858, + "èĮ¶åı¶": 105859, + "ä¹°æĪ¿": 105860, + "åĨľæĪ·": 105861, + "é«ĺæīĭ": 105862, + "çİīç±³": 105863, + "æĸ°åĨłèĤºçĤİ": 105864, + "çħ§æĺİ": 105865, + "æĮĩåįĹ": 105866, + "踢": 105867, + "æķijæı´": 105868, + "æĻ¯çĤ¹": 105869, + "ç¨İæĶ¶": 105870, + "çļĦæīĭ": 105871, + "æŃ£å¥½": 105872, + "è¦ģæĬĬ": 105873, + "éļıæĦı": 105874, + "åħ¶å®ŀæĺ¯": 105875, + "ç»Ļèĩªå·±": 105876, + "è°ĪåΤ": 105877, + "æ¯ı天éĥ½": 105878, + "æĢģåĬ¿": 105879, + "é¢Ħ约": 105880, + "åİĨåı²ä¸Ĭ": 105881, + "å®Ŀè´Ŀ": 105882, + "åīįè¿Ľ": 105883, + "ä¹Łå°±æĺ¯è¯´": 105884, + "çļĦæĦıè§ģ": 105885, + "åı£ç½©": 105886, + "åİĺç±³": 105887, + "èĬ±è´¹": 105888, + "ä½ĵèĤ²æĬķæ³¨": 105889, + "åħ¬ä¼Ĺåı·": 105890, + "èijĹåIJįçļĦ": 105891, + "å¼ĢæĪ·": 105892, + "æĭįåįĸ": 105893, + "å²ģæľĪ": 105894, + "åĨħæ¶µ": 105895, + "å®Įæķ´çļĦ": 105896, + "é«ĺåİĭ": 105897, + "åħ¬åĬ¡åijĺ": 105898, + "使ç͍çļĦ": 105899, + "çĶŁäº§çº¿": 105900, + "妹妹": 105901, + "走访": 105902, + "æĺ¯åı¯ä»¥": 105903, + "åľ¨å®¶": 105904, + "æļ´åĬĽ": 105905, + "æ³°åĽ½": 105906, + "è´¨çĸij": 105907, + "ä¸įéģİ": 105908, + "天çĦ¶æ°Ķ": 105909, + "缺çĤ¹": 105910, + "å°ıåŀĭ": 105911, + "ä¸įä»ħæĺ¯": 105912, + "é»ijæļĹ": 105913, + "梨": 105914, + "æĸĩæĹħ": 105915, + "è¦ģæľī": 105916, + "ä¸Ńå±±": 105917, + "çļĦæķ°æį®": 105918, + "å¾Ĺå¾Ī": 105919, + "以便": 105920, + "对ä»ĸ": 105921, + "åĬłä»¥": 105922, + "çϼçı¾": 105923, + "设å®ļ": 105924, + "èĤļåŃIJ": 105925, + "éĿĸ": 105926, + "å¥īçĮ®": 105927, + "ä¸įåıĺ": 105928, + "åı£ç¢ij": 105929, + "åľ¨åĵªéĩĮ": 105930, + "ä½IJ": 105931, + "è¿Ļ两个": 105932, + "çļĦæĸ¹åIJij": 105933, + "æŀ«": 105934, + "äºĮ次": 105935, + "çīĩåĮº": 105936, + "éłIJ": 105937, + "ç£Ĭ": 105938, + "æĭ¿çĿĢ": 105939, + "å·²ç»ıæĪIJ为": 105940, + "ä¹ĭä¸Ĭ": 105941, + "å®ĹæĹ¨": 105942, + "奶奶": 105943, + "é«ĺæĸ°åĮº": 105944, + "社æľĥ": 105945, + "è·Łè¸ª": 105946, + "æľįåĬ¡ä¸Ńå¿ĥ": 105947, + "æī¯": 105948, + "æīĭæĮĩ": 105949, + "礼çī©": 105950, + "宿èĪį": 105951, + "ç͍å¿ĥ": 105952, + "æıIJé«ĺäºĨ": 105953, + "亮çĤ¹": 105954, + "ä¸įæĦ¿æĦı": 105955, + "æĴѿ;": 105956, + "å¤ļå°ijéĴ±": 105957, + "没ä»Ģä¹Ī": 105958, + "æķ°åįģ": 105959, + "æĢ»çĽij": 105960, + "çļĦåŁİå¸Ĥ": 105961, + "æī¾åΰäºĨ": 105962, + "åĨħåľ°": 105963, + "åΰçİ°åľ¨": 105964, + "æĪĺæĸĹåĬĽ": 105965, + "åİŁå§ĭ": 105966, + "åĥ§": 105967, + "åĢĴæĺ¯": 105968, + "æľĢåħ·": 105969, + "è´«åĽ°æĪ·": 105970, + "éĢģåΰ": 105971, + "级åĪ«": 105972, + "åĩºèµĦ": 105973, + "æĪªæŃ¢": 105974, + "ç§įåŃIJ": 105975, + "èĥ½ä¸įèĥ½": 105976, + "幸è¿IJ": 105977, + "èĸĩ": 105978, + "项éĵ¾": 105979, + "æĮĤçīĮ": 105980, + "ä¸Ģ樣": 105981, + "ä¹ĺ客": 105982, + "èIJ½åIJİ": 105983, + "ä½ĨæĪij": 105984, + "æĹ©åľ¨": 105985, + "åĬ¨æ¼«": 105986, + "å¹³çŃī": 105987, + "å¯¹ä½ł": 105988, + "ä¸įæĢķ": 105989, + "å¤ĸçķĮ": 105990, + "å¤ļå¹´æĿ¥": 105991, + "é¦ĸ个": 105992, + "æ²³åįĹçľģ": 105993, + "æĪĸåħ¶ä»ĸ": 105994, + "éķľå¤´": 105995, + "åįĹæĺĮ": 105996, + "ä¸ĢéĿ¢": 105997, + "éĢłæĪIJçļĦ": 105998, + "å´Ķ": 105999, + "çŃĴ": 106000, + "æķĻèĤ²éĥ¨": 106001, + "åľ°åŁŁ": 106002, + "æĺĨæĺİ": 106003, + "å·´é»İ": 106004, + "æīĭ游": 106005, + "ä¸ĢæĹ¶": 106006, + "çłį": 106007, + "顶级": 106008, + "åħ±è®¡": 106009, + "åİŁæ²¹": 106010, + "è¾īçħĮ": 106011, + "说æĺ¯": 106012, + "æĸ°åįİ社": 106013, + "ç»ıåİĨäºĨ": 106014, + "ä¸įæŃ¢": 106015, + "è¦ģä¹Ī": 106016, + "èĢħçļĦ": 106017, + "æĢ»æĬķèµĦ": 106018, + "è¡Įé©¶": 106019, + "ä¸Ĭå¸Ŀ": 106020, + "年纪": 106021, + "çIJ¼": 106022, + "ä¼łè¯´": 106023, + "ç²¾èĭ±": 106024, + "æĸ¹éĴĪ": 106025, + "æ±Łæ¹ĸ": 106026, + "æĪIJçĤº": 106027, + "æĢ»éĩı": 106028, + "æĬķæĶ¾": 106029, + "åĬ¨çĶ»": 106030, + "èŤ": 106031, + "ç͵æºIJ": 106032, + "éĴĻ": 106033, + "åIJĮè¡Į": 106034, + "æĻ®éĢļçļĦ": 106035, + "åĽ¾ä¹¦é¦Ĩ": 106036, + "è¯ĪéªĹ": 106037, + "æħĪåĸĦ": 106038, + "è¿Ļ份": 106039, + "主æĮģ人": 106040, + "å°±è¿Ļæł·": 106041, + "èĢĮæĪIJ": 106042, + "èĩªè¡Į车": 106043, + "ä¸ŃåĽ½çī¹èī²": 106044, + "èĤ¿çĺ¤": 106045, + "åIJ¾": 106046, + "å¼Łå¼Ł": 106047, + "åıĹçĽĬ": 106048, + "éĢīæĭ©äºĨ": 106049, + "æĺİæĺ¾çļĦ": 106050, + "æĬ¥èĢĥ": 106051, + "ç¬ijéģĵ": 106052, + "éĽĸçĦ¶": 106053, + "温å·ŀ": 106054, + "éĿŀæ´²": 106055, + "ç§įç§į": 106056, + "åıĤåĬłäºĨ": 106057, + "è´§è¿IJ": 106058, + "éļı便": 106059, + "就没æľī": 106060, + "縣": 106061, + "央è§Ĩ": 106062, + "ç©¿è¶Ĭ": 106063, + "çļĦçݰ象": 106064, + "åĩłæ¬¡": 106065, + "çļĦé£İéĻ©": 106066, + "æŃĮæĽ²": 106067, + "æľ¬å±Ĭ": 106068, + "å¹´åĨħ": 106069, + "ä¸įè¶ħè¿ĩ": 106070, + "è¿ĩå¤ļ": 106071, + "å¿ħé¡»è¦ģ": 106072, + "ç»ĵ论": 106073, + "åĢŁéī´": 106074, + "ç¥ŀå¥ĩ": 106075, + "æľŁæľĽ": 106076, + "ä¸ĵ享": 106077, + "éĿŀ常éĩįè¦ģ": 106078, + "æĦıè¯Ĩåΰ": 106079, + "åIJĪå¹¶": 106080, + "æĬĬèĩªå·±": 106081, + "å¥Ĺè£ħ": 106082, + "éŃĶæ³ķ": 106083, + "å¤ıåŃ£": 106084, + "ä¸įåĥı": 106085, + "å¢ĥçķĮ": 106086, + "æĥĬåĸľ": 106087, + "æľīä¸Ģ天": 106088, + "çĦ¦çĤ¹": 106089, + "æĪij认为": 106090, + "åħ°å·ŀ": 106091, + "ç͵æ°Ķ": 106092, + "èģĶç³»æĪij们": 106093, + "ç§ijæĻ®": 106094, + "她说": 106095, + "çļĦæĸĩ竳": 106096, + "å¥ĩæĢª": 106097, + "åıĭ好": 106098, + "饮æĸĻ": 106099, + "çļĦæĶ¯æĮģ": 106100, + "çŃĶåºĶ": 106101, + "éĩįéĩı": 106102, + "çij¶": 106103, + "åĩıè½»": 106104, + "ç§ijåѦ家": 106105, + "巴西": 106106, + "éĩijèŀįæľºæŀĦ": 106107, + "åħļå§Ķ书记": 106108, + "貸款": 106109, + "ç²¾èĩ´": 106110, + "ä»İæľª": 106111, + "åį°åĪ·": 106112, + "åĽŀ顾": 106113, + "é¦ĸéĥ½": 106114, + "åıijèĤ²": 106115, + "éĹ®éģĵ": 106116, + "è¾¾åΰäºĨ": 106117, + "å¿įä¸įä½ı": 106118, + "æīįæľī": 106119, + "æįIJèµł": 106120, + "ä½ĽæķĻ": 106121, + "ä¸įæ¸ħ": 106122, + "éĺŁéķ¿": 106123, + "缸åıį": 106124, + "æĬ¥èѦ": 106125, + "大åħ¨": 106126, + "æ¬§çĽŁ": 106127, + "帮å¿Ļ": 106128, + "çļĦæĻĤåĢĻ": 106129, + "缮å½ķ": 106130, + "足以": 106131, + "èī°éļ¾": 106132, + "ä»ĸä¹Ł": 106133, + "å·¥ä½ľèĢħ": 106134, + "头èĦij": 106135, + "缺éĻ·": 106136, + "æĪIJç«ĭäºĨ": 106137, + "å°±å¼Ģå§ĭ": 106138, + "认åIJĮ": 106139, + "é»Ħèī²": 106140, + "çĹħæĥħ": 106141, + "覺å¾Ĺ": 106142, + "è¿Ļ两": 106143, + "ä¿¡ä»°": 106144, + "åľĭå®¶": 106145, + "ä¸įä»ħä»ħæĺ¯": 106146, + "çĭ¬å®¶": 106147, + "èάçļĦ": 106148, + "æĿIJè´¨": 106149, + "æµ·ä¸Ĭ": 106150, + "çĤºäºĨ": 106151, + "æľºåĬ¨è½¦": 106152, + "缸å½ĵäºİ": 106153, + "å¤ļåħĥåĮĸ": 106154, + "æĽ´å¤§çļĦ": 106155, + "èĽ®": 106156, + "åģĩæľŁ": 106157, + "å¼ıçļĦ": 106158, + "交éĢļè¿IJè¾ĵ": 106159, + "çľģå§Ķ": 106160, + "ä¸įç®Ĺ": 106161, + "æĶ¾ä¸ĭ": 106162, + "éĹ¯": 106163, + "äººåľ¨": 106164, + "港åı£": 106165, + "æĹ¨åľ¨": 106166, + "åij½ä»¤": 106167, + "æŁIJ个": 106168, + "平稳": 106169, + "åıªå¥½": 106170, + "人人": 106171, + "äºŀ": 106172, + "äºĮç»´": 106173, + "äºĮç»´çłģ": 106174, + "æŀģ为": 106175, + "åĪ«å¢ħ": 106176, + "åħ¶ä½Ļ": 106177, + "大äºĭ": 106178, + "主管éĥ¨éŨ": 106179, + "æĹłéĶ¡": 106180, + "éŵ": 106181, + "éģŃåΰ": 106182, + "说è¿ĩ": 106183, + "ä¸ºä½ł": 106184, + "è§£çŃĶ": 106185, + "éªĮæĶ¶": 106186, + "çļĦç»ıéªĮ": 106187, + "åĮ¹éħį": 106188, + "çģ«ç®Ń": 106189, + "豪åįİ": 106190, + "æŁIJæŁIJ": 106191, + "çļĦæĹ¶ä»£": 106192, + "书éĿ¢": 106193, + "æģĴ大": 106194, + "å»¶éķ¿": 106195, + "ä¸ĢåIJĮ": 106196, + "æľªèĥ½": 106197, + "交æį¢": 106198, + "çĶ¢åĵģ": 106199, + "çŃīåΰ": 106200, + "åĪĨ离": 106201, + "æīĵç͵è¯Ŀ": 106202, + "å¹²çĩ¥": 106203, + "è¾ĥå¤ļ": 106204, + "å¤ļå¹´çļĦ": 106205, + "èĥĮæĻ¯ä¸ĭ": 106206, + "为ä¾ĭ": 106207, + "æijĺè¦ģ": 106208, + "å´Ľèµ·": 106209, + "æŃ¤åĪ»": 106210, + "æľīæľºä¼ļ": 106211, + "æĿ¡æ¬¾": 106212, + "é¢Ĩ导å°ıç»Ħ": 106213, + "çļĦ身ä½ĵ": 106214, + "åįķä¸Ģ": 106215, + "央è¡Į": 106216, + "ä¸įæĸŃæıIJé«ĺ": 106217, + "ä»·å̼è§Ĥ": 106218, + "èĬ½": 106219, + "èIJį": 106220, + "æ³ķå¾ĭæ³ķè§Ħ": 106221, + "ä¸įéĶĪ": 106222, + "ä¸įéĶĪéĴ¢": 106223, + "åĩºäºİ": 106224, + "èĻļæĭŁ": 106225, + "æį®æĤī": 106226, + "çĥ¦æģ¼": 106227, + "åħ¨æĸ°çļĦ": 106228, + "æī«æıı": 106229, + "çĻ»éĻĨ": 106230, + "èīºæľ¯å®¶": 106231, + "çļĦé£Łçī©": 106232, + "çļĦåŃĺåľ¨": 106233, + "客åİħ": 106234, + "æĪij们就": 106235, + "æŁ¥çľĭæĽ´å¤ļ": 106236, + "è¯Ħ审": 106237, + "å¸Ĥåł´": 106238, + "è¬Ľ": 106239, + "巨头": 106240, + "ä¸ŃåĽ½ç»ıæµİ": 106241, + "äºĨèĩªå·±çļĦ": 106242, + "åĨ³è®®": 106243, + "çĽijçĿ£ç®¡çIJĨ": 106244, + "æĬķ票": 106245, + "åĨį度": 106246, + "è¡ĮçĤº": 106247, + "注åħ¥": 106248, + "ä½ľä¸ºä¸Ģ个": 106249, + "æ¯ı个人éĥ½": 106250, + "åįķåħĥ": 106251, + "è¦ģçŁ¥éģĵ": 106252, + "被称为": 106253, + "ä¹ĭéĻħ": 106254, + "è§£éϤ": 106255, + "丸": 106256, + "溫": 106257, + "ä¸īæĺŁ": 106258, + "é²ľæĺİ": 106259, + "ä¹Łéĥ½": 106260, + "æĹ¶æľº": 106261, + "åĩºæīĭ": 106262, + "æĥħå½¢": 106263, + "åķĨè´¸": 106264, + "éĢī举": 106265, + "对èĩªå·±": 106266, + "çĶŁåĬ¨": 106267, + "åħĭæľį": 106268, + "个ä½ĵ": 106269, + "èĭij": 106270, + "稱": 106271, + "大åݦ": 106272, + "æĺ¯å¯¹": 106273, + "åĪ©æģ¯": 106274, + "è¿IJåĬ¨åijĺ": 106275, + "åĮĸè§£": 106276, + "åīįæ²¿": 106277, + "æĦŁæģ©": 106278, + "æĢ»ä¹ĭ": 106279, + "é«ĺæĸ°æĬĢæľ¯": 106280, + "åĿĩ为": 106281, + "åħ¨åĮº": 106282, + "æ°Ķæ°Ľ": 106283, + "åı¯ä»¥è¯´æĺ¯": 106284, + "ä½ı宿": 106285, + "åħļåijĺå¹²éĥ¨": 106286, + "åĹ¯": 106287, + "è·µè¡Į": 106288, + "çļĦä¸ĵä¸ļ": 106289, + "èĢĥéªĮ": 106290, + "èķ¾": 106291, + "åħ¬åŃIJ": 106292, + "çļĦçĬ¶æĢģ": 106293, + "æ½®æµģ": 106294, + "ä¿¡æīĺ": 106295, + "è´¼": 106296, + "åIJĦæĸ¹": 106297, + "æķijåĬ©": 106298, + "éĿŀ常çļĦ": 106299, + "æ¡¥æ¢ģ": 106300, + "åħ¬æĸ¤": 106301, + "ä¼¼çļĦ": 106302, + "çľĭ好": 106303, + "å±Ģéĥ¨": 106304, + "å®īéĿĻ": 106305, + "éħįä»¶": 106306, + "常è§Ħ": 106307, + "å¼Ģ车": 106308, + "第äºĮ次": 106309, + "ä¸Ĭ级": 106310, + "åıĤèµĽ": 106311, + "å®¶å±ŀ": 106312, + "强åĬ¿": 106313, + "åľ¨ä»ĸ": 106314, + "åIJijåīį": 106315, + "ä¹ĭåľ°": 106316, + "éĥ¡": 106317, + "è¡Įç¨ĭ": 106318, + "èѦåijĬ": 106319, + "è§Ħå®ļçļĦ": 106320, + "åķĨåŁİ": 106321, + "äºĶ大": 106322, + "æķĻ室": 106323, + "åįģè¶³": 106324, + "æīĢä»¥åľ¨": 106325, + "å°Ĩç»§ç»Ń": 106326, + "çŃīæĸ¹å¼ı": 106327, + "å®¶ä¼ģä¸ļ": 106328, + "交ä»ĺ": 106329, + "çĤ¹è¯Ħ": 106330, + "ç»ĵç®Ĺ": 106331, + "ä¹Łåı¯": 106332, + "å¤ĸæ±ĩ": 106333, + "è¿Ļç§įæĥħåĨµ": 106334, + "æİĪäºĪ": 106335, + "å¸ĥç½®": 106336, + "æĪIJç«ĭäºİ": 106337, + "é¢ĦèѦ": 106338, + "管çIJĨ人åijĺ": 106339, + "å©ļ礼": 106340, + "ç»ĵæĿŁåIJİ": 106341, + "åħ¥éĢī": 106342, + "æĹłæ¯Ķ": 106343, + "åĴĮåıijå±ķ": 106344, + "çϽéħĴ": 106345, + "çİ©åħ·": 106346, + "ä¸ĩç¾İåħĥ": 106347, + "çļĦæĪIJ绩": 106348, + "æĭįçħ§": 106349, + "èĢĥèĻijåΰ": 106350, + "ä¼ģä¸ļåıijå±ķ": 106351, + "äºĨ个": 106352, + "çĶŁæ°Ķ": 106353, + "çļĦ女人": 106354, + "äºĶåįģ": 106355, + "çĪ·çĪ·": 106356, + "纽约": 106357, + "éĥ½è¢«": 106358, + "ä¸Ĭ课": 106359, + "çĽ¡": 106360, + "ä¼łç»ŁæĸĩåĮĸ": 106361, + "æ½ľåľ¨": 106362, + "åıijå°Ħ": 106363, + "ä¸Ģ身": 106364, + "éĺ²å®Ī": 106365, + "åĪ®": 106366, + "é¢ĺ缮": 106367, + "åľ¨åĨħçļĦ": 106368, + "ç¾İ好çļĦ": 106369, + "è¿ĻéĩĮçļĦ": 106370, + "ä¸Ģä¸Ŀ": 106371, + "人åĿĩ": 106372, + "å̡坼": 106373, + "身åIJİ": 106374, + "æī©å±ķ": 106375, + "大éŨ": 106376, + "就被": 106377, + "è¯¥é¡¹çĽ®": 106378, + "æŀ¶æŀĦ": 106379, + "ä¸Ģåı£": 106380, + "ä¿¡æģ¯æĬĢæľ¯": 106381, + "å¼Ģä¸ļ": 106382, + "æĶ¶åıĸ": 106383, + "ç½ij页": 106384, + "æĶ¯æı´": 106385, + "å°ģéĹŃ": 106386, + "å¡ijéĢł": 106387, + "大èĥĨ": 106388, + "å¿«éĢŁåıijå±ķ": 106389, + "çľĭä¼¼": 106390, + "æ¸Ŀ": 106391, + "è¿Ļæł·ä¸Ģ个": 106392, + "模åĿĹ": 106393, + "注æĦıåΰ": 106394, + "çł´è§£": 106395, + "èĩªä»İ": 106396, + "åijµåijµ": 106397, + "ä¹ĭå¾Į": 106398, + "ä¹ĭæĹħ": 106399, + "è·ŁæĪij": 106400, + "æ³ķ人": 106401, + "æİĴè¡Įæ¦ľ": 106402, + "åĿļå®Ī": 106403, + "好å¤Ħ": 106404, + "çŁ³å¤´": 106405, + "å¹¶å°Ĩ": 106406, + "èα": 106407, + "æŃĩ": 106408, + "两岸": 106409, + "å¤ļä¹ħ": 106410, + "象å¾ģ": 106411, + "个æĢ§åĮĸ": 106412, + "çļĦè§Ĵ度": 106413, + "å¸Ĩ": 106414, + "ç¦ıå·ŀ": 106415, + "æŁ¥å¤Ħ": 106416, + "ä¸¤åĽ½": 106417, + "åIJ¸å¼ķäºĨ": 106418, + "é¦ĸå¸Ń": 106419, + "大åĵ¥": 106420, + "é¤Ĭ": 106421, + "涨å¹ħ": 106422, + "éĢīç͍": 106423, + "許å¤ļ": 106424, + "èIJ½æĪ·": 106425, + "åĵĪå°Ķ": 106426, + "åĵĪå°Ķ滨": 106427, + "åģļä»Ģä¹Ī": 106428, + "以åħį": 106429, + "é¾į": 106430, + "æĹłéľĢ": 106431, + "åΰåºķæĺ¯": 106432, + "æĢ¡": 106433, + "åijĬè¯īä½ł": 106434, + "éĺ²æ°´": 106435, + "è¿ĻæĹ¶åĢĻ": 106436, + "欢ä¹IJ": 106437, + "转åIJij": 106438, + "è¿Ļä¸ªåľ°åĽ¾": 106439, + "åħ¥é©»": 106440, + "èįīåİŁ": 106441, + "æĹ¶ä»£çļĦ": 106442, + "åıĺåĬ¨": 106443, + "åĬłå¼ºå¯¹": 106444, + "åģ¶å°Ķ": 106445, + "å®ĪæĬ¤": 106446, + "æ°Ķ温": 106447, + "人éĹ´": 106448, + "æľĿé²ľ": 106449, + "ç»ıè´¹": 106450, + "åĽŃæŀĹ": 106451, + "å·¥åľ°": 106452, + "è§Ħæł¼": 106453, + "åĩłåįģ": 106454, + "è¯ķåĽ¾": 106455, + "å¦ĥ": 106456, + "éĤ£æĹ¶åĢĻ": 106457, + "å¼ĺæī¬": 106458, + "ä¸ļçķĮ": 106459, + "çļĦéĢŁåº¦": 106460, + "ä¼ļä¸įä¼ļ": 106461, + "èIJ¥æĶ¶": 106462, + "å°ıå¾®ä¼ģä¸ļ": 106463, + "çľĭè¿ĩ": 106464, + "æĬĬä»ĸ": 106465, + "éģµå¾ª": 106466, + "è¿Ļè¾¹": 106467, + "没æľī人": 106468, + "壶": 106469, + "æ¹ĸåįĹçľģ": 106470, + "æŀģåħ¶": 106471, + "çļĦ人çĶŁ": 106472, + "ä»ĸè¿ĺ": 106473, + "转åĮĸ为": 106474, + "èµ°è¿ĩ": 106475, + "æĬ±çĿĢ": 106476, + "çīĽå¥¶": 106477, + "ä¸ĩ亩": 106478, + "å¿ĥæĢģ": 106479, + "æĹ¥å¸¸çĶŁæ´»": 106480, + "ä½ĵæ£Ģ": 106481, + "æĻĥ": 106482, + "çŃīé¢ĨåŁŁ": 106483, + "æĩī該": 106484, + "åı¯ä»¥çľĭåΰ": 106485, + "æī¾ä¸įåΰ": 106486, + "èĢģå¹´": 106487, + "æĬĬæĪij": 106488, + "积åĪĨ": 106489, + "梳çIJĨ": 106490, + "绳": 106491, + "çļĦæĶ¿æ²»": 106492, + "å¸ĿåĽ½": 106493, + "éĻªä¼´": 106494, + "æ´Ľéĺ³": 106495, + "åħ¬æŃ£": 106496, + "å¼Ģåı£": 106497, + "çī¹èī²çļĦ": 106498, + "åĽ°å¢ĥ": 106499, + "ä¸Ĭæľī": 106500, + "ç«ĭä½ĵ": 106501, + "æīĵå·¥": 106502, + "åķ¤éħĴ": 106503, + "åľ¨éĤ£éĩĮ": 106504, + "éĤ£è¾¹": 106505, + "个åĪ«": 106506, + "ä¸Ģå®ļæĺ¯": 106507, + "çļĦéĩįè¦ģæĢ§": 106508, + "ä¸»å¼ł": 106509, + "åĴĮæľįåĬ¡": 106510, + "ä¸Ĭç½ij": 106511, + "è¡¥åĬ©": 106512, + "åıªéľĢ": 106513, + "弦": 106514, + "éģ®": 106515, + "åĬĽäºī": 106516, + "度è¿ĩ": 106517, + "èij¬": 106518, + "é¡¿æĹ¶": 106519, + "éĦī": 106520, + "纺ç»ĩ": 106521, + "åľ°åĿĹ": 106522, + "ä¿¡ç͍åį¡": 106523, + "ç½ļ款": 106524, + "åijĬè¯īæĪij": 106525, + "éĽĻ": 106526, + "书çĶ»": 106527, + "è¨Ńè¨Ī": 106528, + "æĢ»ä¼ļ": 106529, + "åΤåĨ³": 106530, + "ä¿¡èªī": 106531, + "个èĤ¡": 106532, + "平常": 106533, + "æĢİ麼": 106534, + "ä½ĵçİ°åľ¨": 106535, + "é»Ħæ²³": 106536, + "åĽĽå·Ŀçľģ": 106537, + "羣缸": 106538, + "åIJĦé¡¹å·¥ä½ľ": 106539, + "åĬ¨åijĺ": 106540, + "å³°ä¼ļ": 106541, + "ä¸ĢæľŁ": 106542, + "æľīä¸Ģå®ļçļĦ": 106543, + "é«ĺ度éĩįè§Ĩ": 106544, + "ç¹ģèį£": 106545, + "åıijçݰäºĨ": 106546, + "ç½ij红": 106547, + "æīĭæ³ķ": 106548, + "å®¶åĽŃ": 106549, + "仪åύ": 106550, + "è¾ĥä½İ": 106551, + "çļĦå®īåħ¨": 106552, + "æ¡IJ": 106553, + "ä»ĺ款": 106554, + "æĬijåζ": 106555, + "åįĵè¶Ĭ": 106556, + "æŃ£éĿ¢": 106557, + "åĵij": 106558, + "强åζ": 106559, + "ä»Ĭ天çļĦ": 106560, + "æĪĺèĥľ": 106561, + "楼å¸Ĥ": 106562, + "æĭ¿ä¸ĭ": 106563, + "é¢ľå̼": 106564, + "举éĥ¨": 106565, + "çłĶåζ": 106566, + "çļĦæĪĺçķ¥": 106567, + "åľ¨ä¸Ģ个": 106568, + "ä¸ī人": 106569, + "å®ĮäºĨ": 106570, + "æĸ°æĬĢæľ¯": 106571, + "ç»ıæµİæķĪçĽĬ": 106572, + "å¯Įæľī": 106573, + "澳洲": 106574, + "åĬ©çIJĨ": 106575, + "é¢Ĩåıĸ": 106576, + "è°Ń": 106577, + "çĩĥçĥ§": 106578, + "ç´łåħ»": 106579, + "éĤĦæľī": 106580, + "è¿ĽèĢĮ": 106581, + "ä»Ģä¹Īæĺ¯": 106582, + "çłĶç©¶ä¸Ńå¿ĥ": 106583, + "éĢĤç͍äºİ": 106584, + "æİ¥æĶ¶": 106585, + "å¤±æľĽ": 106586, + "äºĮ级": 106587, + "éĹ´çļĦ": 106588, + "åİŁæłĩé¢ĺ": 106589, + "èªįçĤº": 106590, + "æį¡": 106591, + "对çĿĢ": 106592, + "对éĿ¢": 106593, + "ä¸ŃåİŁ": 106594, + "éĵĥ": 106595, + "çĶŁäº§çļĦ": 106596, + "åıijå¸ĥä¼ļ": 106597, + "士åħµ": 106598, + "è¿Ļåı¥è¯Ŀ": 106599, + "缴纳": 106600, + "ä¸Ģ个个": 106601, + "åѸçĶŁ": 106602, + "çĸijéĹ®": 106603, + "交èѦ": 106604, + "示èĮĥåĮº": 106605, + "天使": 106606, + "åľ¨ä¸Ĭæµ·": 106607, + "åIJĮæĻĤ": 106608, + "è½»æĺĵ": 106609, + "å͝ä¸ĢçļĦ": 106610, + "çĥŃéĹ¹": 106611, + "ä¹IJè§Ĥ": 106612, + "çļĦ身份": 106613, + "åĸĦäºİ": 106614, + "大åİħ": 106615, + "èĤ¯å®ļæĺ¯": 106616, + "éĺ²çģ«": 106617, + "å¤ĸåĩº": 106618, + "æį®è¯´": 106619, + "é¡¹çĽ®çļĦ": 106620, + "ä¸Ģåı°": 106621, + "èĻļåģĩ": 106622, + "ä¸Ģç¬Ķ": 106623, + "ç«ĭæ³ķ": 106624, + "严èĤĥ": 106625, + "æī¿åĬŀ": 106626, + "åįģåĩł": 106627, + "çļĦ空éĹ´": 106628, + "æľ¬ç½ijç«Ļ": 106629, + "åģļå¾Ĺ": 106630, + "ä¿Ŀ温": 106631, + "æľĪåĪĿ": 106632, + "åľ¨ç½ijä¸Ĭ": 106633, + "åIJĦæĸ¹éĿ¢": 106634, + "ä¸ī天": 106635, + "交æĺĵæīĢ": 106636, + "è§£æŀIJ": 106637, + "åħļä¸Ń央": 106638, + "è¿Ľåĩºåı£": 106639, + "åĴĮ社ä¼ļ": 106640, + "次æķ°": 106641, + "ä¹ĭå®¶": 106642, + "维度": 106643, + "æ´¾åĩºæīĢ": 106644, + "产çĶŁäºĨ": 106645, + "带æľī": 106646, + "å¾Ī强": 106647, + "æľīäºĽäºº": 106648, + "å¹´åIJİ": 106649, + "äºĨ许å¤ļ": 106650, + "å¯Ĩ度": 106651, + "åŃ¦æľŁ": 106652, + "çıłæµ·": 106653, + "æľĢå¤ļçļĦ": 106654, + "è¾¹ç¼ĺ": 106655, + "容éĩı": 106656, + "第äºĮ个": 106657, + "ä¸Ģ缴æĺ¯": 106658, + "ä¸įç¦ģ": 106659, + "æŃ²": 106660, + "ä»ĭç»įäºĨ": 106661, + "ä¼ĺéĽħ": 106662, + "æ¯Ķè¼ĥ": 106663, + "èģĮä½į": 106664, + "温æŁĶ": 106665, + "æľīéĴ±": 106666, + "æľĢé«ĺçļĦ": 106667, + "åįļè§Īä¼ļ": 106668, + "ä¸įæĪIJ": 106669, + "éĶĻäºĨ": 106670, + "è¯ģçĽij": 106671, + "è¯ģçĽijä¼ļ": 106672, + "æĪIJ人": 106673, + "åĿĩåĮĢ": 106674, + "æľīåĪ©": 106675, + "è¶ĬåįĹ": 106676, + "æīĵäºĨ": 106677, + "好åIJĥ": 106678, + "系統": 106679, + "è·Łéļı": 106680, + "çļĦåľ°ä½į": 106681, + "æŃ£å¦Ĥ": 106682, + "ç¨įå¾®": 106683, + "åį°åıij": 106684, + "åĪĽç«ĭ": 106685, + "é£İåħī": 106686, + "å°ĨæĪIJ为": 106687, + "ä¸įé«ĺ": 106688, + "é¢ijç¹ģ": 106689, + "设æľī": 106690, + "ä¼ŀ": 106691, + "æĭĨéϤ": 106692, + "å½±åĥı": 106693, + "æ¸ĹéĢı": 106694, + "å¹´å¼Ģå§ĭ": 106695, + "ç½ijæĺĵ": 106696, + "è¦ģåģļ": 106697, + "ç͵åĬ¨è½¦": 106698, + "羣å¿ĥ": 106699, + "æµ·åĨĽ": 106700, + "ä¼łæĿ¥": 106701, + "å·®åĪ«": 106702, + "è°¨æħİ": 106703, + "çĥŁåı°": 106704, + "åįĥå¹´": 106705, + "è¯ģå®ŀ": 106706, + "çIJª": 106707, + "çļĦåħ·ä½ĵ": 106708, + "åΰå¤Ħ": 106709, + "ä¸įå®ľ": 106710, + "èľĢ": 106711, + "èĥ½åĬĽåĴĮ": 106712, + "çīºçī²": 106713, + "çļĦéĴ±": 106714, + "大éĺŁ": 106715, + "é¦ĸè¦ģ": 106716, + "ä¸įæĦ¿": 106717, + "çİ«çij°": 106718, + "人æ°ijç½ij": 106719, + "è¿ĺæĺ¯è¦ģ": 106720, + "åĽĽå¹´": 106721, + "æįŁä¼¤": 106722, + "çļĦåģļæ³ķ": 106723, + "éĿĪ": 106724, + "è¡Ķæİ¥": 106725, + "åIJĪæĪIJ": 106726, + "没人": 106727, + "éĹ¨æ§Ľ": 106728, + "ä¿¡è´·": 106729, + "çļĦ缸åħ³": 106730, + "举é£İ": 106731, + "社ä¿Ŀ": 106732, + "ä¸ĭ游": 106733, + "åĿĹéĴ±": 106734, + "è¿ĩåIJİ": 106735, + "çļĦåºĶç͍": 106736, + "饶": 106737, + "é¢ģåıij": 106738, + "ä¸Ģå¤Ħ": 106739, + "åįİå¤ı": 106740, + "为ä¼ģä¸ļ": 106741, + "åıªä¼ļ": 106742, + "侵害": 106743, + "çļĦåĬŁèĥ½": 106744, + "åѸç¿Ĵ": 106745, + "ä¸Ńåįİæ°ijæĹı": 106746, + "åıijå¸ĥäºĨ": 106747, + "è¿İæİ¥": 106748, + "æĪijèĩªå·±": 106749, + "è¿ĺéľĢè¦ģ": 106750, + "太éĺ³èĥ½": 106751, + "åİ»ä¸ĸ": 106752, + "æĺ¯ä½ł": 106753, + "åIJĪåĬĽ": 106754, + "ç»ĺçĶ»": 106755, + "åı°åĮĹ": 106756, + "çĿ£ä¿ĥ": 106757, + "åĮĹéĥ¨": 106758, + "æľīå¤ļå°ij": 106759, + "å¾Īéĩįè¦ģ": 106760, + "åĪĴåĪĨ": 106761, + "åı·çº¿": 106762, + "æĶ¾å¤§": 106763, + "ä¼ļ被": 106764, + "èİ·å¥ĸ": 106765, + "ä¹ĭåĨħ": 106766, + "失åİ»äºĨ": 106767, + "çݩ家们": 106768, + "éĩĩéĽĨ": 106769, + "壹": 106770, + "å®¶ä¼Ļ": 106771, + "çϽ天": 106772, + "åĽłä¸ºä»ĸ": 106773, + "社ä¼ļæ²»çIJĨ": 106774, + "å¼ĢåĪĽ": 106775, + "ç͵ç¼Ĩ": 106776, + "æĸ°ä¸Ģ代": 106777, + "å¹¶è´Ń": 106778, + "就已ç»ı": 106779, + "çļĦ社ä¼ļ": 106780, + "éϤéĿŀ": 106781, + "åı¯ä»¥ç͍": 106782, + "å©ī": 106783, + "æ¯Ķè¾ĥ好": 106784, + "å®ŀä¸ļ": 106785, + "åĪĽåĬŀ": 106786, + "æıIJèµ·": 106787, + "é»ĥ": 106788, + "ä½ıåľ¨": 106789, + "å¸ĤæĶ¿": 106790, + "éĿ¢ä¸´çļĦ": 106791, + "èĥ½åľ¨": 106792, + "çŁŃçŁŃ": 106793, + "çľŁäºº": 106794, + "æĺİæĺİ": 106795, + "èµĦåĬ©": 106796, + "çļĦä¸įåIJĮ": 106797, + "å°ıæľĭåıĭ": 106798, + "é¢ĺæĿIJ": 106799, + "ç¾İåij³": 106800, + "æĺŁåº§": 106801, + "ä¸įä¸Ģæł·çļĦ": 106802, + "çľĭä¸Ĭåİ»": 106803, + "ä¸Ģæł¹": 106804, + "广å·ŀå¸Ĥ": 106805, + "åıijçĶŁçļĦ": 106806, + "é«ĺç§ijæĬĢ": 106807, + "ä¸Ģè¾ĪåŃIJ": 106808, + "交åıī": 106809, + "ä½ĵ系建设": 106810, + "åĽłä¸ºæĪij": 106811, + "çıįæĥľ": 106812, + "ä¸ĬåѦ": 106813, + "æĪĺæľ¯": 106814, + "æŃ¤ç±»": 106815, + "交å¾Ģ": 106816, + "æĮīæij©": 106817, + "人们çļĦ": 106818, + "åħ¶å¯¦": 106819, + "åİŁæĿIJæĸĻ": 106820, + "æ¸´æľĽ": 106821, + "缸å¤Ħ": 106822, + "微微": 106823, + "æ®·": 106824, + "ä¹ĺåĿIJ": 106825, + "å¼Ģå±ķäºĨ": 106826, + "é«ĺåĵģè´¨": 106827, + "æĹłäººæľº": 106828, + "ä¸įæĺ¯å¾Ī": 106829, + "çļĦæĬķèµĦ": 106830, + "èĬĤçľģ": 106831, + "èĩī": 106832, + "ç²¾éĢī": 106833, + "çļĦæłĩåĩĨ": 106834, + "åįĹéĥ¨": 106835, + "认è¯Ĩåΰ": 106836, + "å¹³éĿĻ": 106837, + "èĹ¥": 106838, + "æī«é»ij": 106839, + "æī«é»ijéϤ": 106840, + "æī«é»ijéϤæģ¶": 106841, + "éĢĻ種": 106842, + "建çŃijéĿ¢ç§¯": 106843, + "ç¡®ç«ĭ": 106844, + "管çIJĨåĬŀæ³ķ": 106845, + "æĦıå¿Ĺ": 106846, + "丨": 106847, + "让åŃ©åŃIJ": 106848, + "æķijçģ¾": 106849, + "å½ĵä»Ĭ": 106850, + "çģ«çģ¾": 106851, + "åIJĦéĥ¨éŨ": 106852, + "ä¾µçĬ¯": 106853, + "æ¯ıåij¨": 106854, + "æı½": 106855, + "ä¸Ģ次æĢ§": 106856, + "åħ¶ä»ĸ人": 106857, + "éĶĻè¿ĩ": 106858, + "ä¸İåħ¶": 106859, + "åĭĩæ°Ķ": 106860, + "çĩĥæ°Ķ": 106861, + "é¦ĸå±Ĭ": 106862, + "æľį饰": 106863, + "ç²¥": 106864, + "å®Įæ¯ķ": 106865, + "å°±æĬĬ": 106866, + "åĬŀäºĭå¤Ħ": 106867, + "ä¸Ģä¼ļåĦ¿": 106868, + "离ä¸įå¼Ģ": 106869, + "å¦ĤæŀľæĤ¨": 106870, + "ä»ĵåºĵ": 106871, + "导å¸Ī": 106872, + "åIJĪéĢĤçļĦ": 106873, + "毫米": 106874, + "å®īåħ¨æĢ§": 106875, + "ä¾Ŀçħ§": 106876, + "产ä¸ļåĮĸ": 106877, + "ä½łçľĭ": 106878, + "羣çļĦå¾Ī": 106879, + "åѤçĭ¬": 106880, + "éĺ²å¾¡": 106881, + "å¾Īç®Ģåįķ": 106882, + "é£İæ°´": 106883, + "ä½Ĩä¹Ł": 106884, + "æİ¨åĩºäºĨ": 106885, + "æ°ijèIJ¥ä¼ģä¸ļ": 106886, + "çłģ头": 106887, + "å¤įæĿĤçļĦ": 106888, + "ç»ĦæĪIJéĥ¨åĪĨ": 106889, + "åħħ满äºĨ": 106890, + "è¿ijåĩłå¹´": 106891, + "çľģæĶ¿åºľ": 106892, + "æľīå¿ħè¦ģ": 106893, + "éϳ": 106894, + "ä¹ĭç±»": 106895, + "ä¹ĭç±»çļĦ": 106896, + "æĢ§ä»·": 106897, + "æĢ§ä»·æ¯Ķ": 106898, + "åķĨåºĹ": 106899, + "å¸Ĥå̼": 106900, + "人æīįåŁ¹åħ»": 106901, + "æ·±åıĹ": 106902, + "管çIJĨå±Ģ": 106903, + "æģIJæĥ§": 106904, + "ä»ħæľī": 106905, + "æĬµè¾¾": 106906, + "æµ·åħ³": 106907, + "èµĭäºĪ": 106908, + "äºĭåĦ¿": 106909, + "ä»·éĴ±": 106910, + "æīĭä¸Ĭ": 106911, + "èĩªå¾ĭ": 106912, + "åħ³çα": 106913, + "享æľī": 106914, + "éģĹæĨ¾": 106915, + "å¾Īå¿«å°±": 106916, + "æĽ´å¿«": 106917, + "æłĩè¯Ĩ": 106918, + "åºĨç¥Ŀ": 106919, + "ä¹Łå¥½": 106920, + "ä¸įæĺĵ": 106921, + "æĪijå¾Ī": 106922, + "æĶ¹éĿ©åıijå±ķ": 106923, + "å¤ĸåľ°": 106924, + "æĬµæĬ¼": 106925, + "è¯Ĺ人": 106926, + "åİķæīĢ": 106927, + "æĸ°åªĴä½ĵ": 106928, + "èĸĽ": 106929, + "è°Īè¯Ŀ": 106930, + "ä¸Ģå®ļç¨ĭ度": 106931, + "èµ°åľ¨": 106932, + "æľĢ强": 106933, + "åĬŁçİĩ": 106934, + "åħ±è¯Ĩ": 106935, + "大桥": 106936, + "ä¸ĭæĸ¹": 106937, + "å¤ĸèµĦ": 106938, + "碱": 106939, + "å·¡è§Ĩ": 106940, + "æ¹ĸåĮĹçľģ": 106941, + "个çϾåĪĨ": 106942, + "个çϾåĪĨçĤ¹": 106943, + "çļĦ责任": 106944, + "çļĦåĵģçīĮ": 106945, + "åĬ©æİ¨": 106946, + "åĪĽéĢłäºĨ": 106947, + "ä»»èģĮ": 106948, + "å¿«æį·": 106949, + "æĿijåºĦ": 106950, + "åİ»çľĭ": 106951, + "æīįèĥ½å¤Ł": 106952, + "層": 106953, + "æĪijå®¶": 106954, + "æĺ¯ä¸Ģ款": 106955, + "ç¾ħ": 106956, + "åĨ°éĽª": 106957, + "æŀģ大": 106958, + "çģ¯åħī": 106959, + "éĨĭ": 106960, + "ä¸İåħ¶ä»ĸ": 106961, + "æıIJåĩºçļĦ": 106962, + "éĿłè¿ij": 106963, + "è°ĥåĬ¨": 106964, + "å°½åı¯èĥ½": 106965, + "åıijåĬĽ": 106966, + "ç»Ļ她": 106967, + "éĢĤéĩı": 106968, + "è·¨åĽ½": 106969, + "åħĪè¡Į": 106970, + "æĸ°æĿIJæĸĻ": 106971, + "ä½ľäºĨ": 106972, + "满äºĨ": 106973, + "ä¸į满": 106974, + "çļĦçľ¼çĿĽ": 106975, + "çľĭå¾Ĺ": 106976, + "è¿Ļä¸Ģ次": 106977, + "é½IJåħ¨": 106978, + "çļĦä¸Ģéĥ¨åĪĨ": 106979, + "ä¸Ļ": 106980, + "æ¸ħæĸ°": 106981, + "說æĺİ": 106982, + "身边çļĦ": 106983, + "æīĢæľī人": 106984, + "å½°æĺ¾": 106985, + "è±¹": 106986, + "åį¿": 106987, + "è¿IJ转": 106988, + "æĮĩå¼ķ": 106989, + "å¸Ĥåħ¬å®īå±Ģ": 106990, + "åıĤå±ķ": 106991, + "ä¹ĭæĹ¶": 106992, + "éĩijèŀįæľįåĬ¡": 106993, + "èµĦæľ¬å¸Ĥåľº": 106994, + "èĥ½è®©": 106995, + "å¿ĺäºĨ": 106996, + "天åłĤ": 106997, + "æ¯Ķå¦Ĥ说": 106998, + "éĬĢè¡Į": 106999, + "èĽĭç³ķ": 107000, + "çĶ©": 107001, + "æł¸å®ŀ": 107002, + "æĻ®äº¬": 107003, + "ä¼ĺç¾İ": 107004, + "åı£èħĶ": 107005, + "漫çĶ»": 107006, + "çľ¼éĩĮ": 107007, + "äºĨä¸ĭæĿ¥": 107008, + "æĪijä»¬ä¹Ł": 107009, + "ä¾į": 107010, + "为ä¸Ńå¿ĥ": 107011, + "å¥ĩ迹": 107012, + "éĿĴçĿIJ": 107013, + "æĪªèĩ³çĽ®åīį": 107014, + "åĩºä¾Ĩ": 107015, + "æĢ»åħ¬åı¸": 107016, + "弥补": 107017, + "ç®Ĺæ³ķ": 107018, + "å·¥ä½ľå®¤": 107019, + "æīĢ以æĪij": 107020, + "æ°´åĪĨ": 107021, + "æīĢå±ŀ": 107022, + "ä¸į说": 107023, + "ä½Ĩæĺ¯åľ¨": 107024, + "è¦ģåİ»": 107025, + "åĪĽä¸ļèĢħ": 107026, + "ä¸įæ¸ħæ¥ļ": 107027, + "åĽĽåij¨": 107028, + "æĺ¯ä»İ": 107029, + "çļĦæł¹æľ¬": 107030, + "çģ¶": 107031, + "æ¯Ľæ³½": 107032, + "æ¯Ľæ³½ä¸ľ": 107033, + "æµ·åı£": 107034, + "åĽĽåįģ": 107035, + "ä¹Łè¢«": 107036, + "èģ·": 107037, + "ä¸Ģæīĭ": 107038, + "绩æķĪ": 107039, + "çļĦçĶ·äºº": 107040, + "书ç±į": 107041, + "ä¸ĢèĦ¸": 107042, + "大äºİ": 107043, + "鼶éĥ¨ä»¶": 107044, + "åħ³æĢĢ": 107045, + "平米": 107046, + "æļ´éľ²": 107047, + "å¾Ĺå¤ļ": 107048, + "ä¸ī级": 107049, + "æľ¬åij¨": 107050, + "两èĢħ": 107051, + "对ä¸ŃåĽ½": 107052, + "åıªè§ģ": 107053, + "欧ç¾İ": 107054, + "å¦Ĥæŀľæľī": 107055, + "å·²ç»ıæĺ¯": 107056, + "çľĭå®Į": 107057, + "çģ«éĶħ": 107058, + "èµIJ": 107059, + "ä¸Ģéģį": 107060, + "æĦŁåĨĴ": 107061, + "ç»ĵå±Ģ": 107062, + "ä»ĵåĤ¨": 107063, + "å®ŀåľ°": 107064, + "å̻ç»ıçIJĨ": 107065, + "ä¹Łä¸įçŁ¥éģĵ": 107066, + "碰åΰ": 107067, + "åIJĪ计": 107068, + "客æĪ·çļĦ": 107069, + "ç½Ĺ马": 107070, + "æĦīå¿«": 107071, + "é£Ľ": 107072, + "çĥŃçĥĪ": 107073, + "伦æķ¦": 107074, + "åĮ»ä¿Ŀ": 107075, + "éĺ¿éĩĮå·´å·´": 107076, + "åĨį说": 107077, + "ä¸ºåŁºç¡Ģ": 107078, + "çĶŁäº§ç»ıèIJ¥": 107079, + "è¿ĻäºĽäºº": 107080, + "åĪĹ车": 107081, + "æ²³åĮĹçľģ": 107082, + "è¿Ļ段": 107083, + "æ´»åĬ¨ä¸Ń": 107084, + "å©·": 107085, + "çĶŁçIJĨ": 107086, + "ä¸ŃåĽ½äººæ°ij": 107087, + "éĦĤ": 107088, + "åIJ¬åıĸ": 107089, + "å¤įä¹ł": 107090, + "æľīçĽĬ": 107091, + "æĶ¶æĭ¾": 107092, + "å¾Īåı¯èĥ½": 107093, + "ç½ijç»ľæ¸¸æĪı": 107094, + "们çļĦ": 107095, + "èµĭèĥ½": 107096, + "éļ¾å¾Ĺ": 107097, + "åĪĨæīĭ": 107098, + "羣è¯ļ": 107099, + "åħ¬åı¸åľ¨": 107100, + "åĿĩè¡¡": 107101, + "åı£åij³": 107102, + "çīµå¤´": 107103, + "ä¸ĢèάçļĦ": 107104, + "轿车": 107105, + "çŃīäºİ": 107106, + "æ²īé»ĺ": 107107, + "æĪijéĥ½": 107108, + "å°ıç¨ĭåºı": 107109, + "ä¸Ģåī¯": 107110, + "æī¿è½½": 107111, + "åľ°è´¨": 107112, + "çķĮéĿ¢": 107113, + "çĶµæľº": 107114, + "çĦ¦èĻij": 107115, + "éĶĢåĶ®é¢Ŀ": 107116, + "æĸ°è½¦": 107117, + "ä¸Ĭ游": 107118, + "主æ¼Ķ": 107119, + "éļIJç§ģ": 107120, + "åıijå±ķæĪĺçķ¥": 107121, + "çļĦåĬªåĬĽ": 107122, + "å¼Ģåħ³": 107123, + "è§£åĨ³éĹ®é¢ĺ": 107124, + "çĿ£å¯¼": 107125, + "对æĬĹ": 107126, + "å¾Īå¤ļ人éĥ½": 107127, + "æĹłæķĪ": 107128, + "产åĵģè´¨éĩı": 107129, + "å®īå¿ĥ": 107130, + "åįİ人": 107131, + "ä¸į符åIJĪ": 107132, + "èĩªå®¶": 107133, + "éĺµå®¹": 107134, + "çļĦåIJĦç§į": 107135, + "çļĦçIJĨ念": 107136, + "çļĦæĸĩåĮĸ": 107137, + "为èĩªå·±": 107138, + "山水": 107139, + "游泳": 107140, + "éľĩèį¡": 107141, + "çĶŁæ´»æĸ¹å¼ı": 107142, + "è¿ľç¦»": 107143, + "çŁ³åĮĸ": 107144, + "æŃ¤äºĭ": 107145, + "æĺ¯çľŁçļĦ": 107146, + "çļĦæ¯Ķä¾ĭ": 107147, + "ç͍ç͵": 107148, + "奥è¿IJä¼ļ": 107149, + "ä¿Ŀå®ī": 107150, + "èĽĭçĻ½è´¨": 107151, + "çļĦå¿ĥçIJĨ": 107152, + "å·«": 107153, + "åı·çłģ": 107154, + "æ°Ķä½ĵ": 107155, + "åıijæĶ¹": 107156, + "åıijæĶ¹å§Ķ": 107157, + "åĮ»å¸Ī": 107158, + "æ¶ĤæĸĻ": 107159, + "æĺĬ": 107160, + "å¸Ĥ级": 107161, + "ä¸ĸçķĮçļĦ": 107162, + "åĪĨåĪ«æĺ¯": 107163, + "çł´äº§": 107164, + "ä¸ĢæĿ¯": 107165, + "æĭīå¼Ģ": 107166, + "å¹³åĩ¡": 107167, + "çļĦåıijçĶŁ": 107168, + "åĬ¨æīĭ": 107169, + "ä¸ĢçĽ´ä»¥æĿ¥": 107170, + "æīĭå·¥": 107171, + "éĩĮéĿ¢çļĦ": 107172, + "æĹłåħ³": 107173, + "ä»ĭåħ¥": 107174, + "èµ°ä¸Ĭ": 107175, + "å°±æĺ¯è¦ģ": 107176, + "å¹´éĹ´": 107177, + "åĩºçı¾": 107178, + "å½±éŁ¿": 107179, + "å¹ħ度": 107180, + "éĽģ": 107181, + "éģĵåħ·": 107182, + "缮çļĦåľ°": 107183, + "åIJİèĢħ": 107184, + "ä¸Ĭæ¼Ķ": 107185, + "äºĨåĩł": 107186, + "æ®ĭçĸ¾äºº": 107187, + "å¿Ļç¢Į": 107188, + "æĺ¯åIJ¦æľī": 107189, + "并对": 107190, + "ä¼ļ导èĩ´": 107191, + "æ°´åºĵ": 107192, + "ç»Ĩèĩ´": 107193, + "åIJİæĤĶ": 107194, + "å¿ĥæĢĿ": 107195, + "åģļäºĭ": 107196, + "åİĤæĪ¿": 107197, + "çĿ¿": 107198, + "è¿IJèIJ¥åķĨ": 107199, + "头éĥ¨": 107200, + "çļĦè§Ĵèī²": 107201, + "æĺ¯ä»ĸ": 107202, + "æĹ¢æľī": 107203, + "å°ıæĹ¶åĢĻ": 107204, + "强åĬ²": 107205, + "主æĴŃ": 107206, + "åħ¨åĽ½åIJĦåľ°": 107207, + "æįı": 107208, + "æįŁåĿı": 107209, + "åķĨä¼ļ": 107210, + "ä¿Ŀç½Ĺ": 107211, + "çľģå¸Ĥ": 107212, + "éļ§éģĵ": 107213, + "æľīä¸įå°ij": 107214, + "è¦ģåľ¨": 107215, + "å»ºè®¾é¡¹çĽ®": 107216, + "ç³ĸå°¿": 107217, + "ç³ĸå°¿çĹħ": 107218, + "æĿ¡ä»¶ä¸ĭ": 107219, + "ä¼ĺè´¨çļĦ": 107220, + "é¦ĸåıij": 107221, + "å½ĵæĹ¶çļĦ": 107222, + "丰çͰ": 107223, + "大çĽĺ": 107224, + "缸继": 107225, + "å®ģå¤ı": 107226, + "åħ¥ä½ı": 107227, + "æĪijè¿ĺ": 107228, + "åħĭæĸ¯": 107229, + "å®ļä»·": 107230, + "å¹³æĸ¹åħ¬éĩĮ": 107231, + "çļĦçŁ¥è¯Ĩ": 107232, + "æĪij们ä¼ļ": 107233, + "åħĥå®Ŀ": 107234, + "ä½ĵéĩį": 107235, + "è³£": 107236, + "对æĪij们": 107237, + "çŁ³å®¶": 107238, + "çŁ³å®¶åºĦ": 107239, + "ç²¾åįİ": 107240, + "å½¢çĬ¶": 107241, + "åıĹåΰäºĨ": 107242, + "修订": 107243, + "ç¾İåľĭ": 107244, + "é«ĺæ¸ħ": 107245, + "çľ¼éķľ": 107246, + "è§īå¾Ĺèĩªå·±": 107247, + "带ç»Ļ": 107248, + "åͮ价": 107249, + "éĹ¨ç¥¨": 107250, + "åŃķå¦ĩ": 107251, + "ç͵è§Ĩåı°": 107252, + "åıijä½ľ": 107253, + "çļĦåij³éģĵ": 107254, + "éķ¿è¿ľ": 107255, + "åħ¬åħ±æľįåĬ¡": 107256, + "æŃ£å¸¸çļĦ": 107257, + "æľīè¿ĩ": 107258, + "é£İæĥħ": 107259, + "æ¯Ķéĩį": 107260, + "åIJ»": 107261, + "管çIJĨå·¥ä½ľ": 107262, + "综åIJο̧": 107263, + "已被": 107264, + "说起": 107265, + "æİĴæ°´": 107266, + "ä¸įæĸŃåľ°": 107267, + "æĥħæĢĢ": 107268, + "è¾ĵéĢģ": 107269, + "è¿ĩæķı": 107270, + "çļĦåı¯èĥ½æĢ§": 107271, + "æľįç͍": 107272, + "æľī许å¤ļ": 107273, + "å§Ķåī¯ä¹¦è®°": 107274, + "åĮĸå¦Ĩåĵģ": 107275, + "æļĤåģľ": 107276, + "æĬķèµĦ人": 107277, + "çıŃ级": 107278, + "说çĿĢ": 107279, + "åįĹåĮĹ": 107280, + "åĪĨè¡Į": 107281, + "çıłå®Ŀ": 107282, + "寶": 107283, + "å¢ŀå¤ļ": 107284, + "被åĬ¨": 107285, + "ç®ĬçļĦ": 107286, + "éĹľä¿Ĥ": 107287, + "çļĦèĦ¸": 107288, + "æĥŁ": 107289, + "ä¸įä¸Ģå®ļ": 107290, + "ç¶Ń": 107291, + "çģ«çĪĨ": 107292, + "ç§Łéĩij": 107293, + "çŀ§": 107294, + "éĩį建": 107295, + "è·ª": 107296, + "ä¸Ģ種": 107297, + "çļĦåIJĪä½ľ": 107298, + "å®īæħ°": 107299, + "ä»įæĺ¯": 107300, + "ä¸ĵä¸ļåĮĸ": 107301, + "è°ĥè§£": 107302, + "ä¸į妨": 107303, + "éĢĻæĺ¯": 107304, + "å¿ħéłĪ": 107305, + "ä¼ĬæľĹ": 107306, + "å¾ĹäºĨ": 107307, + "æľįåĬ¡å¹³åı°": 107308, + "姬": 107309, + "åħĪéĶĭ": 107310, + "çİĭåŃIJ": 107311, + "çļĦä¸ĢåĪĩ": 107312, + "æĢ»çIJĨ": 107313, + "åĵ¼": 107314, + "çªij": 107315, + "çļĦå¿ĥæĥħ": 107316, + "çļĦéĩį大": 107317, + "çijŁ": 107318, + "ä¸Ģç¬ij": 107319, + "åıijå±ķä¸Ń": 107320, + "åģ¥åº·åıijå±ķ": 107321, + "åĵģçīĮçļĦ": 107322, + "禮": 107323, + "ä½Ļ人": 107324, + "ä»Ĭ年以æĿ¥": 107325, + "æķ°çłģ": 107326, + "çѾè¯ģ": 107327, + "åİ»æī¾": 107328, + "åŁºéĩijä¼ļ": 107329, + "æĬ±æĢ¨": 107330, + "æŃ£å½ĵ": 107331, + "çıŃåŃIJæĪIJåijĺ": 107332, + "ä¸įåIJĪæł¼": 107333, + "åζå®ļäºĨ": 107334, + "ç¼ĵæħ¢": 107335, + "åĪ¶çº¦": 107336, + "æłı缮": 107337, + "å¸Ĥåľºç»ıæµİ": 107338, + "ç»ĦæĪIJçļĦ": 107339, + "严峻": 107340, + "æĹ¥è®¯": 107341, + "ä¸ĢçĤ¹çĤ¹": 107342, + "æĺ¯æĢİä¹Ī": 107343, + "çļĦçħ§çīĩ": 107344, + "éĺ»æŃ¢": 107345, + "模ç³Ĭ": 107346, + "缸": 107347, + "éģķåıį": 107348, + "æIJ¬è¿ģ": 107349, + "éĩijéĴ±": 107350, + "彬": 107351, + "ä¸įå®ī": 107352, + "æĪĺçķ¥åIJĪä½ľ": 107353, + "å¡«åĨĻ": 107354, + "讲究": 107355, + "åħħåĪĨåĪ©ç͍": 107356, + "èĥ½å¤ł": 107357, + "èij¡èIJĦéħĴ": 107358, + "éĩĩç͍äºĨ": 107359, + "åľ¨ä»Ĭå¹´": 107360, + "ä¸Ńå°ıåѦ": 107361, + "åľ¨æĦı": 107362, + "çļĦåİĭåĬĽ": 107363, + "ä¸į幸": 107364, + "åζèį¯": 107365, + "åı¯ä»¥è®©": 107366, + "被è¯Ħ为": 107367, + "ç»ĨèıĮ": 107368, + "æĪıåī§": 107369, + "åįĬ导": 107370, + "åįĬ导ä½ĵ": 107371, + "è§Ĩè§Ĵ": 107372, + "åĸľæŃ¡": 107373, + "å¾ģæĶ¶": 107374, + "è°ĭåĪĴ": 107375, + "æŀģ大çļĦ": 107376, + "çĤ¹èµŀ": 107377, + "è®°èĢħä»İ": 107378, + "两åIJį": 107379, + "èĩªåĬ©": 107380, + "èµ·æŃ¥": 107381, + "æĬ¤å£«": 107382, + "å®Ŀ马": 107383, + "太åŃIJ": 107384, + "å°ıå°ıçļĦ": 107385, + "温æ³ī": 107386, + "åĩºç§Łè½¦": 107387, + "ç§ŁæĪ¿": 107388, + "两家": 107389, + "éľĩæĴ¼": 107390, + "ç§īæī¿": 107391, + "ä¸Ģä»¶äºĭ": 107392, + "çĥĪ士": 107393, + "å®ĺåħµ": 107394, + "转身": 107395, + "ä¹IJåĽŃ": 107396, + "çĻĮçĹĩ": 107397, + "模èĮĥ": 107398, + "æĦ£": 107399, + "è¿ĩåİ»çļĦ": 107400, + "代价": 107401, + "çļĦæ¦Ĥ念": 107402, + "åĩłçϾ": 107403, + "è´µéĺ³": 107404, + "æĭħå¿§": 107405, + "éĢĤå®ľ": 107406, + "çݯå¢ĥä¿ĿæĬ¤": 107407, + "çĥ«": 107408, + "ä½łæĥ³": 107409, + "æŃ¤åIJİ": 107410, + "ä½łä¹Ł": 107411, + "çįİ": 107412, + "éϤæŃ¤": 107413, + "éϤæŃ¤ä¹ĭå¤ĸ": 107414, + "è°ĥ度": 107415, + "ç§ij缮": 107416, + "æīĢ说çļĦ": 107417, + "åĬĩ": 107418, + "忽è§Ĩ": 107419, + "ä¸ī次": 107420, + "ä¸ĢæĹ¥": 107421, + "åŀĤ缴": 107422, + "ç«ŀæĬĢ": 107423, + "éĿ¢åĮħ": 107424, + "大æĪĺ": 107425, + "æIJºå¸¦": 107426, + "å¦Ĥæŀľæ²¡æľī": 107427, + "åħ»æĪIJ": 107428, + "åĩºè¡Ģ": 107429, + "çα好èĢħ": 107430, + "æīĵéĢļ": 107431, + "èµ·è¯ī": 107432, + "åijĪçݰåĩº": 107433, + "æŃĮæīĭ": 107434, + "åľ¨å¤ĸ": 107435, + "é¢Ĩ导干éĥ¨": 107436, + "åĨ¥": 107437, + "èĪĨ论": 107438, + "æıIJåıĸ": 107439, + "éĺ¿å°Ķ": 107440, + "æľĽçĿĢ": 107441, + "ä¸īäºļ": 107442, + "財": 107443, + "åĪ·æĸ°": 107444, + "æĻļæĬ¥": 107445, + "è¿ĺæľīä¸Ģ个": 107446, + "åĨ°ç®±": 107447, + "ç½ijçĤ¹": 107448, + "åĩºåħ·": 107449, + "强çĥĪçļĦ": 107450, + "æĪijçĽ¸ä¿¡": 107451, + "å¸ĮæľĽèĥ½": 107452, + "çīĻ齿": 107453, + "äºĭå®ľ": 107454, + "ä¸ļåĨħ人士": 107455, + "ä»£æĽ¿": 107456, + "åıĺå½¢": 107457, + "éĽ²": 107458, + "è°ĥæİ§": 107459, + "åĪĽæĸ°åĪĽä¸ļ": 107460, + "æĭĨè¿ģ": 107461, + "æł¸æŁ¥": 107462, + "éĢĹ": 107463, + "åħ¥åѦ": 107464, + "æĦıåIJij": 107465, + "æıĽ": 107466, + "ä¸ĭ次": 107467, + "ä¼łè¾ĵ": 107468, + "ä»ĸä»¬åľ¨": 107469, + "èĢĮä¸Ķè¿ĺ": 107470, + "æĹ¥åľ¨": 107471, + "æķĻè®Ń": 107472, + "æ´»çĿĢ": 107473, + "çļĦæľīæķĪ": 107474, + "å¤įå·¥å¤į": 107475, + "å¤įå·¥å¤į产": 107476, + "æĺ¯ä¸Ģä»¶": 107477, + "çŃīçĿĢ": 107478, + "復": 107479, + "åĭĩæķ¢": 107480, + "éģŃåıĹ": 107481, + "å¥Ķé©°": 107482, + "讲座": 107483, + "说å®Į": 107484, + "ç»Ļåĩº": 107485, + "è°¦": 107486, + "è¯ĬçĸĹ": 107487, + "çĽ²çĽ®": 107488, + "客è¿IJ": 107489, + "å°±è¿ŀ": 107490, + "å¼Ģåħĥ": 107491, + "å¼Ģåħĥæ£ĭçīĮ": 107492, + "ä¸įæĸŃæıIJåįĩ": 107493, + "ç͍æĪ·çļĦ": 107494, + "æĴķ": 107495, + "ä¾Ľæ°´": 107496, + "ç¶ĵæ¿Ł": 107497, + "ä¸ŃåĮ»èį¯": 107498, + "èģĶæĥ³": 107499, + "åħ¬äº¤è½¦": 107500, + "èĪªçıŃ": 107501, + "æĬĢè¡ĵ": 107502, + "å¼ķèµ·çļĦ": 107503, + "å°¹": 107504, + "èµĦæ·±": 107505, + "åĽ½èµĦå§Ķ": 107506, + "èĺŃ": 107507, + "é¼»åŃIJ": 107508, + "éĹ½": 107509, + "æİĴéĺŁ": 107510, + "è§Ĥåħī": 107511, + "éģĹåĿĢ": 107512, + "ä¸ľäº¬": 107513, + "é¥ŃåºĹ": 107514, + "ä¸įæĸŃçļĦ": 107515, + "å°±æĺ¯ä¸Ģ个": 107516, + "éķ¿ä¹ħ": 107517, + "çļĦè§ĤçĤ¹": 107518, + "娶": 107519, + "æĪijçİ°åľ¨": 107520, + "çķ°": 107521, + "å¾Ĺåĩº": 107522, + "å¿ħå®ļ": 107523, + "ä¸įåıĹ": 107524, + "åıªéľĢè¦ģ": 107525, + "åĽ°æī°": 107526, + "ç§ijåѦæĬĢæľ¯": 107527, + "çīĽèĤī": 107528, + "è¾ĥé«ĺçļĦ": 107529, + "è·ijæŃ¥": 107530, + "æ²¾": 107531, + "èı©èIJ¨": 107532, + "æľĢå¾Į": 107533, + "ä¿Ŀå¯Ĩ": 107534, + "æ²»å®ī": 107535, + "éĤ±": 107536, + "常è¯Ĩ": 107537, + "èĦ¸èī²": 107538, + "åĮĹ大": 107539, + "æ±ĩèģļ": 107540, + "æijĨèĦ±": 107541, + "é¾Ļ头ä¼ģä¸ļ": 107542, + "女åıĭ": 107543, + "çŃīå·¥ä½ľ": 107544, + "ä¸Ńç¾İ": 107545, + "èģĮåľº": 107546, + "èĦijè¢ĭ": 107547, + "åĨĻçļĦ": 107548, + "饲æĸĻ": 107549, + "åĬ³åĬ¨åĬĽ": 107550, + "屯": 107551, + "æĮģèĤ¡": 107552, + "åĽ¾åĥı": 107553, + "è¿ĩåİ»äºĨ": 107554, + "貨": 107555, + "è¾²": 107556, + "éĹ®æĪij": 107557, + "è·Łä½ł": 107558, + "çĶŁæŃ»": 107559, + "审ç¾İ": 107560, + "é¢Ĺç²Ĵ": 107561, + "ä¸Ńæĸ¹": 107562, + "åĬłçĥŃ": 107563, + "æĹħè¡Į社": 107564, + "çϼçĶŁ": 107565, + "ä¸įåłª": 107566, + "åĤ·": 107567, + "æ¥ł": 107568, + "åĬŀæ¡Ī": 107569, + "æŁĦ": 107570, + "æĹ¢æĺ¯": 107571, + "å¤ĦåĪĨ": 107572, + "羣å®ŀçļĦ": 107573, + "æĬ¥çº¸": 107574, + "å¸Īçζ": 107575, + "å®īå¾½çľģ": 107576, + "åī¯ä¸»å¸Ń": 107577, + "ä¹ĭéģĵ": 107578, + "导弹": 107579, + "åŃ¦æł¡çļĦ": 107580, + "åŁİå¸ĤçļĦ": 107581, + "è°Īåΰ": 107582, + "æ¢Ĺ": 107583, + "å¹³éĿ¢": 107584, + "说ä»Ģä¹Ī": 107585, + "é¢ijçİĩ": 107586, + "éķ¿ä¸īè§Ĵ": 107587, + "çļĦåĪ©çĽĬ": 107588, + "黨": 107589, + "è±ĨèħIJ": 107590, + "å®ŀéĻħæĥħåĨµ": 107591, + "æŀĹä¸ļ": 107592, + "纪æ£ĢçĽijå¯Ł": 107593, + "ä½ıéĻ¢": 107594, + "çļĦæķ´ä½ĵ": 107595, + "åīįè¡Į": 107596, + "æĮ¨": 107597, + "çħ¤çŁ¿": 107598, + "å̻è£ģ": 107599, + "å°ıåIJĥ": 107600, + "æŀģ端": 107601, + "å©Ĩå©Ĩ": 107602, + "çݰ货": 107603, + "è¯ĹæŃĮ": 107604, + "éĴ¥åĮĻ": 107605, + "缩çŁŃ": 107606, + "ä½Ĩè¿Ļ": 107607, + "æĸ°åĵģ": 107608, + "è¿Ļ对": 107609, + "çŁ¥åIJį度": 107610, + "å¿ĹæĦ¿æľįåĬ¡": 107611, + "大å±Ģ": 107612, + "è¡¡éĩı": 107613, + "ä½ĵçݰäºĨ": 107614, + "æ¡ĥèĬ±": 107615, + "åIJ¸å¼ķåĬĽ": 107616, + "åł¤": 107617, + "æĵħéķ¿": 107618, + "åĴĴ": 107619, + "çĽ¸æľº": 107620, + "ä¸Ģç«Ļ": 107621, + "ä¸Ģç«Ļå¼ı": 107622, + "æľĢç¾İ": 107623, + "æ°¸ä¹ħ": 107624, + "çļĦéĥ¨åĪĨ": 107625, + "åĪĨå·¥": 107626, + "å·¥ç¨ĭ建设": 107627, + "æIJŃè½½": 107628, + "æ°´ä¸Ń": 107629, + "èĮ¨": 107630, + "çļĦæĵįä½ľ": 107631, + "ç»Łæ²»": 107632, + "çķħéĢļ": 107633, + "åħļçļĦåįģ": 107634, + "輸": 107635, + "測": 107636, + "ç¾İè§Ĥ": 107637, + "ä¸įåĪ©": 107638, + "åıįæĢĿ": 107639, + "éªĦåĤ²": 107640, + "æłĩçļĦ": 107641, + "æĿĢ人": 107642, + "éĺ¿å§¨": 107643, + "é£ŁæĿIJ": 107644, + "åIJĥçļĦ": 107645, + "åIJİåĨį": 107646, + "çŁ£": 107647, + "两侧": 107648, + "æ¸ħæ°´": 107649, + "è¿ĽçIJĥ": 107650, + "å¼Ģå§ĭäºĨ": 107651, + "åIJ¬äºĨ": 107652, + "çĦĬæİ¥": 107653, + "磮": 107654, + "å¨Ł": 107655, + "为人": 107656, + "éĢģç»Ļ": 107657, + "åĨĴéĻ©": 107658, + "æķ·": 107659, + "ç»ĪæŃ¢": 107660, + "æīįçŁ¥éģĵ": 107661, + "è¿IJæ°Ķ": 107662, + "éĢļé£İ": 107663, + "æĥĬè®¶": 107664, + "ç§ijåѦéĻ¢": 107665, + "æıIJéĹ®": 107666, + "太åİŁ": 107667, + "缸åIJĮçļĦ": 107668, + "ä»ķ": 107669, + "èģĸ": 107670, + "æĥħæ³ģ": 107671, + "é¢Ĩ导人": 107672, + "åĩºæĿ¥äºĨ": 107673, + "沿线": 107674, + "éϽ": 107675, + "æĦŁè¦º": 107676, + "ä»įåľ¨": 107677, + "æ©Ļ": 107678, + "约为": 107679, + "åĸĿéħĴ": 107680, + "ç͍èį¯": 107681, + "ä¸ĭä¸Ģ": 107682, + "æ³ķå®ĺ": 107683, + "顺åºı": 107684, + "åģļä¸Ģ个": 107685, + "åĭ¢": 107686, + "æŃª": 107687, + "ç͵ç«ŀ": 107688, + "ä¼´éļıçĿĢ": 107689, + "ä¹ĭåĬĽ": 107690, + "ä¹ĭ人": 107691, + "äºij计ç®Ĺ": 107692, + "åĪ«äººçļĦ": 107693, + "ç§ijåѦåıijå±ķ": 107694, + "第åħ«": 107695, + "å¹²æī°": 107696, + "女ç¥ŀ": 107697, + "è¿Ļæł·åģļ": 107698, + "å¤Ħåľ¨": 107699, + "æ°´è´¨": 107700, + "éķ¿æĺ¥": 107701, + "å¸ĤåľºéľĢæ±Ĥ": 107702, + "ç»´æĿĥ": 107703, + "èĢ³æľµ": 107704, + "æĸĩåĮĸçļĦ": 107705, + "奶ç²ī": 107706, + "ä¼łè¾¾": 107707, + "æīĭæľºçīĪ": 107708, + "æĽ¾åľ¨": 107709, + "äºĮæľŁ": 107710, + "åİŁåĽłæĺ¯": 107711, + "æºIJ头": 107712, + "åıĪèĥ½": 107713, + "裸": 107714, + "æĬĢæľ¯åĪĽæĸ°": 107715, + "æĸĩåĮĸæĹħ游": 107716, + "åıij票": 107717, + "年级": 107718, + "ä½łä¸į": 107719, + "ä¹ĭå¿ĥ": 107720, + "æķ°çϾ": 107721, + "åIJijå¾Ģ": 107722, + "èĢģå®¶": 107723, + "åľĭéļĽ": 107724, + "çļĦé«ĺ度": 107725, + "æľĿéĺ³": 107726, + "æ¸ħéϤ": 107727, + "èĩªæľī": 107728, + "书ä¸Ń": 107729, + "游æĪıè£ħå¤ĩ": 107730, + "ä¸ĩå¤ļ": 107731, + "驾驶åijĺ": 107732, + "ä½łçŁ¥éģĵ": 107733, + "åĽ½åºĨ": 107734, + "é£ŁåłĤ": 107735, + "æİ¥åı£": 107736, + "æĢ»æķ°": 107737, + "åħ¶ä»ĸçļĦ": 107738, + "çĶŁåij½çļĦ": 107739, + "ä½łåľ¨": 107740, + "çļĦ缮åħī": 107741, + "è¿Ļæĸ¹éĿ¢": 107742, + "éĥ½è¯´": 107743, + "çĸĹæ³ķ": 107744, + "åĭĩ士": 107745, + "åľ¨åħ¨çIJĥ": 107746, + "ä¿ĿéĻ©åħ¬åı¸": 107747, + "çĿ£æŁ¥": 107748, + "åĸĦèī¯": 107749, + "表彰": 107750, + "è¹²": 107751, + "路段": 107752, + "æľĥåĵ¡è¦ı": 107753, + "æľĥåĵ¡è¦ıç¯Ħ": 107754, + "æĪ·åŀĭ": 107755, + "ä¿ĥ使": 107756, + "修建": 107757, + "é«ĺæ°´å¹³": 107758, + "åģļåĩºäºĨ": 107759, + "ä¸»åľº": 107760, + "è¡Įèµ°": 107761, + "空çϽ": 107762, + "æľī人说": 107763, + "è¿Ļ个ä¸ĸçķĮ": 107764, + "åIJįä¹ī": 107765, + "å®Įç¾İçļĦ": 107766, + "羡æħķ": 107767, + "åıĬåħ¶ä»ĸ": 107768, + "åı¯ç͍": 107769, + "æĭIJ": 107770, + "è¾ĥ大çļĦ": 107771, + "æĬĢæľ¯åĴĮ": 107772, + "å°¼äºļ": 107773, + "çĻ¾è´§": 107774, + "æıī": 107775, + "éĢīè´Ń": 107776, + "éĺŁåıĭ": 107777, + "ä¼łæĦŁ": 107778, + "ä¼łæĦŁåύ": 107779, + "åıªè¦ģä½ł": 107780, + "为ä»Ģä¹Īè¦ģ": 107781, + "ä¸ĵ注äºİ": 107782, + "ä½Ļé¢Ŀ": 107783, + "åħ¸åŀĭçļĦ": 107784, + "缮åīįå·²": 107785, + "æ¬²æľĽ": 107786, + "èģĶ绾": 107787, + "æµģä¼ł": 107788, + "çļĦå®¶åºŃ": 107789, + "åı·åı¬": 107790, + "çıįè´µ": 107791, + "ä¼Łå¤§çļĦ": 107792, + "éī´äºİ": 107793, + "è·Łä»ĸ": 107794, + "产çī©": 107795, + "ä¸įå·²": 107796, + "è¿Ŀæ³ķè¡Į为": 107797, + "头ä¸Ĭ": 107798, + "åĪĨè§£": 107799, + "åı¯ä»¥çľĭåĩº": 107800, + "æł¡åĮº": 107801, + "åŃĹä½ĵ": 107802, + "ä¿®çĤ¼": 107803, + "çĶļèĩ³æĺ¯": 107804, + "微信åħ¬ä¼Ĺ": 107805, + "åıĸ代": 107806, + "èIJ¥ä¸ļæĶ¶åħ¥": 107807, + "æ½įåĿĬ": 107808, + "ä½łèĥ½": 107809, + "社ä¼ļä¿Ŀéļľ": 107810, + "æ¯ĶèµĽä¸Ń": 107811, + "污水å¤ĦçIJĨ": 107812, + "夫å¦ĩ": 107813, + "ä¸Ģå¹ħ": 107814, + "沿海": 107815, + "åı£æĦŁ": 107816, + "ä½Ĩåį´": 107817, + "å½ĵæĹ¥": 107818, + "çļĦæľĢ大": 107819, + "æ¯ıä¸Ģä½į": 107820, + "没äºĭ": 107821, + "çī¹åĪ¥": 107822, + "å¼ĢåѦ": 107823, + "è·¯éĿ¢": 107824, + "å¿ĥçIJĨåѦ": 107825, + "æĶ¾ç½®": 107826, + "éĩįåºĨå¸Ĥ": 107827, + "ä½łèĩªå·±": 107828, + "æ¶Īè´¹èĢħçļĦ": 107829, + "ä¸Ģæ³¢": 107830, + "èѦæĥķ": 107831, + "åį§å®¤": 107832, + "注å°Ħ": 107833, + "é£İ鼨": 107834, + "沿çĿĢ": 107835, + "åijĬ訴": 107836, + "表çݰåĩº": 107837, + "åĽĽæĺ¯": 107838, + "åı¤åħ¸": 107839, + "æĽ´éĩįè¦ģçļĦ": 107840, + "好äºĭ": 107841, + "çľ¼æ³ª": 107842, + "æ¨ĵ": 107843, + "审åΤ": 107844, + "碰æĴŀ": 107845, + "车ç«Ļ": 107846, + "è¿Ľåħ¥äºĨ": 107847, + "éĽĨåIJĪ": 107848, + "æł¼å¤ĸ": 107849, + "宾é¦Ĩ": 107850, + "æĶ¯ä»ĺå®Ŀ": 107851, + "她æĺ¯": 107852, + "æĺ¯å¦Ĥä½ķ": 107853, + "人次": 107854, + "çļĦæĪIJåĬŁ": 107855, + "æĹłåĬĽ": 107856, + "æµ·æĭĶ": 107857, + "æĺ¥åŃ£": 107858, + "éĥ½ä¸įä¼ļ": 107859, + "çŃīå¤ļç§į": 107860, + "ä¸Ģ个å°ı": 107861, + "åģľè½¦åľº": 107862, + "è®©æĽ´å¤ļ": 107863, + "è¿ĻçĤ¹": 107864, + "æĪIJåĵģ": 107865, + "éĴī": 107866, + "éģĩè§ģ": 107867, + "çıŃ主任": 107868, + "æĦıæĦ¿": 107869, + "çļĦåIJĮåѦ": 107870, + "游è§Ī": 107871, + "åİĭ缩": 107872, + "åľ¨ä¼łå¥ĩ": 107873, + "å¼¹æĢ§": 107874, + "æĹ¥åĨħ": 107875, + "ç¦ı建çľģ": 107876, + "è§ĴèIJ½": 107877, + "åĪĨå¼Ģ": 107878, + "ä¼ļ让": 107879, + "å¤ĸåĽ´": 107880, + "çĨŁæĤīçļĦ": 107881, + "çĨĶ": 107882, + "ä¸ĩè¾Ĩ": 107883, + "å¤ľéĹ´": 107884, + "车身": 107885, + "ä¸ŃæľŁ": 107886, + "å®ĮåĸĦçļĦ": 107887, + "åĵģç±»": 107888, + "åıĭè°Ĭ": 107889, + "éĢīæĭĶ": 107890, + "éªij士": 107891, + "彦": 107892, + "çļĦçľĭæ³ķ": 107893, + "åĽ½çİĭ": 107894, + "è¾£æ¤Ĵ": 107895, + "åıijå¸ĥæĹ¶éĹ´": 107896, + "åı¤åŁİ": 107897, + "éļıæľº": 107898, + "ç«ĸ": 107899, + "å¼Ģè¾Ł": 107900, + "ä¼ĹçĶŁ": 107901, + "没åĬŀæ³ķ": 107902, + "åįĥéĩĮ": 107903, + "æĿ¥æºIJäºİ": 107904, + "çļĦæĿĥåĪ©": 107905, + "æ¯ĶåĪĨ": 107906, + "满æĦıçļĦ": 107907, + "ä¿®è¡Į": 107908, + "åĿł": 107909, + "大海": 107910, + "èݹ": 107911, + "åĩºèº«": 107912, + "è«ĩ": 107913, + "åħ³èĬĤ": 107914, + "åIJį人": 107915, + "éľĢè¦ģ注æĦı": 107916, + "æĹ©æĻ¨": 107917, + "å¤ĸåįĸ": 107918, + "åıĪè¦ģ": 107919, + "æ¶īæ¡Ī": 107920, + "çĶ³è¯·äºº": 107921, + "éĻĦè¿ijçļĦ": 107922, + "åĬłå¿«æİ¨è¿Ľ": 107923, + "æĸ°å¹´": 107924, + "大è¡Ĺ": 107925, + "ä¸Ģé»ŀ": 107926, + "èĭıå®ģ": 107927, + "æĤĦæĤĦ": 107928, + "èĦ¾æ°Ķ": 107929, + "å¸ĮèħĬ": 107930, + "éļıåį³": 107931, + "æķ¢äºİ": 107932, + "å®ŀè·µä¸Ń": 107933, + "æĺ¯æ²¡æľī": 107934, + "æľīè¶£çļĦ": 107935, + "æĿ¥èĩªäºİ": 107936, + "è£ģåΤ": 107937, + "女åŃ©åŃIJ": 107938, + "èĩ³åħ³": 107939, + "èĩ³åħ³éĩįè¦ģ": 107940, + "æĻºåĬĽ": 107941, + "èµ°åĩºåİ»": 107942, + "çŁŃæĿ¿": 107943, + "å¤§åĽ½": 107944, + "çļĦ认è¯Ĩ": 107945, + "å¹´å¤ľ": 107946, + "åĨįåΰ": 107947, + "åIJĮæł·çļĦ": 107948, + "å¯Ĩå°ģ": 107949, + "å¤ĸ交éĥ¨": 107950, + "çĶŁæķĪ": 107951, + "æĤ¨åı¯ä»¥": 107952, + "ä½łåĢij": 107953, + "è¿ĩå¹´": 107954, + "å¼ĵ": 107955, + "è¡ĮæĿİ": 107956, + "æ¯Ķèµ·": 107957, + "身é«ĺ": 107958, + "è¿Ļ个人": 107959, + "ä¸Ńå¤ĸ": 107960, + "éģĵæŃī": 107961, + "çĽ¯çĿĢ": 107962, + "亲åŃIJ": 107963, + "éŸ": 107964, + "çϽäºij": 107965, + "èĦĸåŃIJ": 107966, + "ä¸ĢåĪĩéĥ½": 107967, + "æ·ij": 107968, + "è°ľ": 107969, + "åģ¶çĦ¶": 107970, + "éĿłè°±": 107971, + "é«ĺ管": 107972, + "ä¸ĭåıij": 107973, + "æĶ¾åΰ": 107974, + "ç±»åĪ«": 107975, + "ä¸ĭåĪĹ": 107976, + "æ··ä¹±": 107977, + "åIJĪæ³ķæĿĥçĽĬ": 107978, + "çݯçIJĥ": 107979, + "æľīæķĪåľ°": 107980, + "åķĨæĪ·": 107981, + "æ¹ĸ人": 107982, + "海岸": 107983, + "æĬķ产": 107984, + "两个æľĪ": 107985, + "éĥ½éĿŀ常": 107986, + "å¢ŀ强äºĨ": 107987, + "æĿ¥åΰäºĨ": 107988, + "åī©ä½Ļ": 107989, + "æĤ¨çļĦåŃ©åŃIJ": 107990, + "æµģæ°´": 107991, + "æŃ£ä¹ī": 107992, + "天çĮ«": 107993, + "åģļè¿ĩ": 107994, + "ä½ķæĹ¶": 107995, + "æĪijåİ»": 107996, + "çľģ份": 107997, + "å¥ĸéĩij": 107998, + "该å¦Ĥä½ķ": 107999, + "ä¸ĭçıŃ": 108000, + "åģ¶åĥı": 108001, + "æijĨæĶ¾": 108002, + "æĸ°æ¨¡å¼ı": 108003, + "æĬķè³ĩ": 108004, + "è·¯åı£": 108005, + "åĨľæ°ijå·¥": 108006, + "大åѸ": 108007, + "ä»¶äºĭ": 108008, + "æł¹æľ¬ä¸į": 108009, + "æµĵ度": 108010, + "æµĵåİļ": 108011, + "è½®èĥİ": 108012, + "æĪ¿ä¼ģ": 108013, + "éĿŀ常好": 108014, + "ä»İä¸Ń": 108015, + "äººæł¼": 108016, + "ç¿ģ": 108017, + "æĹ¶éĹ´åĴĮ": 108018, + "è¿Ļä¸įæĺ¯": 108019, + "åΏåķĨ": 108020, + "æĥĬ人": 108021, + "åύå®ĺ": 108022, + "åĩĨåĪĻ": 108023, + "æĥħæĻ¯": 108024, + "æĽ´é«ĺçļĦ": 108025, + "åѦ家": 108026, + "泡沫": 108027, + "åľ°æĸ¹æĶ¿åºľ": 108028, + "å°±çŁ¥éģĵ": 108029, + "åij¼åIJģ": 108030, + "ç»ıè´¸": 108031, + "èĬ±éĴ±": 108032, + "æľīä¸Ģ次": 108033, + "æĦŁæħ¨": 108034, + "ä¸Ģåįĥ": 108035, + "å¤ľæĻļ": 108036, + "詹å§Ĩ": 108037, + "詹å§Ĩæĸ¯": 108038, + "è¦ģéĹ»": 108039, + "ç»Ĵ": 108040, + "æºIJäºİ": 108041, + "çļĦè´¨éĩı": 108042, + "注æĦıäºĭ项": 108043, + "æħ¢æĢ§": 108044, + "稳å®ļçļĦ": 108045, + "建设åĴĮ": 108046, + "æĻ¯è±¡": 108047, + "éĩıåĮĸ": 108048, + "çļĦ話": 108049, + "è¯Ħ级": 108050, + "æºľ": 108051, + "红åĮħ": 108052, + "éĢļéģİ": 108053, + "社ä¼ļ责任": 108054, + "æĸ°äº§åĵģ": 108055, + "åĨ·éĿĻ": 108056, + "çľĭä¸įåΰ": 108057, + "èģĶéĤ¦": 108058, + "éŃĦ": 108059, + "çļĦåīįæıIJ": 108060, + "çļĦåīįæıIJä¸ĭ": 108061, + "è¾ĥ好": 108062, + "çļĦæĦŁæĥħ": 108063, + "客æĪ·æıIJä¾Ľ": 108064, + "çĭ¬èĩª": 108065, + "å¢ŀæĶ¶": 108066, + "æĸĩçĮ®": 108067, + "æĭ¼åij½": 108068, + "管çIJĨåĴĮ": 108069, + "æµģåĬ¨æĢ§": 108070, + "åħ¨å®¶": 108071, + "ä¸Ĭæĸ¹": 108072, + "æİ¨åĩºçļĦ": 108073, + "ä¸īåĽ½": 108074, + "ä¸Ģ个æĺ¯": 108075, + "æĸ°ä¸Ģè½®": 108076, + "æĸĩåĮĸéģĹ产": 108077, + "殺": 108078, + "大湾åĮº": 108079, + "éĥ½éľĢè¦ģ": 108080, + "çļĦå®ŀéĻħ": 108081, + "ç·Ĭ": 108082, + "大å¥ĸ": 108083, + "åħīèĬĴ": 108084, + "便äºİ": 108085, + "çļĦ表æĥħ": 108086, + "æ¼Ķç»İ": 108087, + "红åĨĽ": 108088, + "å½ĵæĪij": 108089, + "æ²»æĦĪ": 108090, + "é¢Ŀ度": 108091, + "éĿľ": 108092, + "ä»»ä½ķ人": 108093, + "è¡Ĺ头": 108094, + "çĸ¯": 108095, + "çĸ¯æĭī": 108096, + "åĮ»çĸĹæľºæŀĦ": 108097, + "ç»ĻåŃ©åŃIJ": 108098, + "è§Ħ磩": 108099, + "è£ľ": 108100, + "çļĦ身影": 108101, + "ä¸ĵæłı": 108102, + "æĿ¥ä¸´": 108103, + "童年": 108104, + "å¤įèĭı": 108105, + "è¨Ĥ": 108106, + "åŀĭåı·": 108107, + "åĽ¾æ¡Ī": 108108, + "ç®ĢåİĨ": 108109, + "æĭ±": 108110, + "èį·åħ°": 108111, + "ä»»æĦı": 108112, + "æī¿æİ¥": 108113, + "è¿Ļæīį": 108114, + "客车": 108115, + "æľĿçĿĢ": 108116, + "éłħ缮": 108117, + "åı°é£İ": 108118, + "çļĦæĪ¿åŃIJ": 108119, + "éªı": 108120, + "æĿ±è¥¿": 108121, + "éģĹä¼ł": 108122, + "è¶Ĭå¤ļ": 108123, + "äºĨä»ĸçļĦ": 108124, + "ä¸Ĭåij¨": 108125, + "管çIJĨåĪ¶åº¦": 108126, + "失ä¸ļ": 108127, + "çĶ·åıĭ": 108128, + "æİ¥ç§į": 108129, + "å¨ģåIJį": 108130, + "çĴ°å¢ĥ": 108131, + "åıijçĶŁåľ¨": 108132, + "ä¸ªåĽ½å®¶": 108133, + "åĪĽæĸ°åıijå±ķ": 108134, + "æĶ¹åıĺäºĨ": 108135, + "åģ¥åº·çļĦ": 108136, + "å̼å¾Ĺä¸Ģ": 108137, + "å̼å¾Ĺä¸ĢæıIJ": 108138, + "åĽ¢ä¼Ļ": 108139, + "åģĩ设": 108140, + "åı°ä¸Ĭ": 108141, + "è§ĦèĮĥåĮĸ": 108142, + "éĻªåIJĮ": 108143, + "座æ¤ħ": 108144, + "åı¯æĢľ": 108145, + "åħĭæĢĿ主ä¹ī": 108146, + "æ³ķå¾ĭ责任": 108147, + "ä¸Ģé¡¿": 108148, + "æĬ¬å¤´": 108149, + "为éĩįçĤ¹": 108150, + "è¿ľæ´ĭ": 108151, + "éĢıè¿ĩ": 108152, + "åħ¨çIJĥåĮĸ": 108153, + "è¶£åij³": 108154, + "票æĪ¿": 108155, + "æ¯ı人": 108156, + "åIJĦç§įåIJĦæł·": 108157, + "äºĨåĩºæĿ¥": 108158, + "ç»Ŀ对æĺ¯": 108159, + "ä¸ĭå±ŀ": 108160, + "ä¸ĢåıĮ": 108161, + "è¿ĻåĿĹ": 108162, + "æĬĹçĸ«": 108163, + "è¦ģçĤ¹": 108164, + "å½¢æĪIJçļĦ": 108165, + "æĪijçľĭ": 108166, + "ä¸ĩéĩĮ": 108167, + "èĢĥçłĶ": 108168, + "为åħ¶": 108169, + "æ°ij宿": 108170, + "å¤ļä½į": 108171, + "大èĩ´": 108172, + "ä»ĺè´¹": 108173, + "åħ¥æīĭ": 108174, + "å±ħå®¶": 108175, + "æīĢåľ¨åľ°": 108176, + "人身": 108177, + "è¿ĩå¾Ĺ": 108178, + "è¯ķè¯ķ": 108179, + "访è°Ī": 108180, + "åĬłéĩį": 108181, + "å°±ä¸įä¼ļ": 108182, + "çĶŁäº§ä¼ģä¸ļ": 108183, + "åĽŀåĽ½": 108184, + "åºķ线": 108185, + "èµ¶åΰ": 108186, + "æĶ¯éĺŁ": 108187, + "æĪij们éĥ½": 108188, + "éĤ®æĶ¿": 108189, + "缴èĩ³": 108190, + "éĴ¢çIJ´": 108191, + "åħľ": 108192, + "çłĶ讨ä¼ļ": 108193, + "æľĪ亮": 108194, + "åĿļæĮģ以": 108195, + "åħ¬å®īéĥ¨": 108196, + "éĴ¢ç®¡": 108197, + "å°ıçϽ": 108198, + "ç½®ä¸ļ": 108199, + "èģĭ": 108200, + "书åĨĻ": 108201, + "æĿı": 108202, + "éħįæĸ¹": 108203, + "èĢĮåıĪ": 108204, + "çijŀ士": 108205, + "çķĮçļĦ": 108206, + "èĢģ大": 108207, + "æĪIJçĨŁçļĦ": 108208, + "å¹²ä»Ģä¹Ī": 108209, + "ä¸ĵ项æĸĹäºī": 108210, + "çŃīå¤ļ个": 108211, + "èĦ±ç¦»": 108212, + "ä¸ī个æľĪ": 108213, + "çłĶç©¶åijĺ": 108214, + "æĹĭ转": 108215, + "æŀģèĩ´": 108216, + "åħįè´£": 108217, + "åħį责声æĺİ": 108218, + "å¾Īå¤ļçݩ家": 108219, + "车ä¸Ĭ": 108220, + "交äºĴ": 108221, + "å·²æĺ¯": 108222, + "ä¸Ģå°ı": 108223, + "çļĦéĩįçĤ¹": 108224, + "èĬ±äºĨ": 108225, + "ä¸įæĺİ": 108226, + "æľīåħ³è§Ħå®ļ": 108227, + "çĬ¹å¦Ĥ": 108228, + "羸": 108229, + "寡": 108230, + "çļĦè¡£æľį": 108231, + "åĮħ裹": 108232, + "身åŃIJ": 108233, + "å¸ĪèĮĥ大åѦ": 108234, + "äºĭåħĪ": 108235, + "线æĿ¡": 108236, + "æ³ķåζ": 108237, + "åħ»æĬ¤": 108238, + "稳å®ļæĢ§": 108239, + "éĤµ": 108240, + "åŀĦæĸŃ": 108241, + "é¡į": 108242, + "èĢĥåı¤": 108243, + "æĿłæĿĨ": 108244, + "èĭıèģĶ": 108245, + "æ°´ç͵": 108246, + "åħ·ä½ĵçļĦ": 108247, + "æ¿Ģæ´»": 108248, + "æĪijæł¡": 108249, + "åĪļå¼Ģå§ĭ": 108250, + "åĩ¸æĺ¾": 108251, + "禾": 108252, + "åħ¼èģĮ": 108253, + "éĢıéģİ": 108254, + "åľ¨æ¸¸æĪıä¸Ń": 108255, + "社ä¼ļåıijå±ķ": 108256, + "好çİ©": 108257, + "å¹»æĥ³": 108258, + "ä¸į代表": 108259, + "注æĦıåĬĽ": 108260, + "æ£į": 108261, + "ç͍æīĭ": 108262, + "ç¾İ人": 108263, + "许å¤ļ人": 108264, + "å¾Īæĺ¯": 108265, + "çļĦçłĶåıij": 108266, + "æīĵåĩº": 108267, + "åIJĪä¼Ļ人": 108268, + "ä¸Ģå¤ľ": 108269, + "ç¼ĵç¼ĵ": 108270, + "ä¿®æŃ£": 108271, + "æĦŁçŁ¥": 108272, + "ç»Ī身": 108273, + "æ¿Ģç´ł": 108274, + "çݯå¢ĥä¸ĭ": 108275, + "次ä¼ļè®®": 108276, + "ç»ıæµİå¢ŀéķ¿": 108277, + "æīĽ": 108278, + "åıijéħµ": 108279, + "åĪĨæŀIJå¸Ī": 108280, + "åľ¨æľªæĿ¥": 108281, + "主è¦ģæľī": 108282, + "ä¸ĢåŃ£åº¦": 108283, + "çļĦ说æ³ķ": 108284, + "ä»İæĿ¥æ²¡æľī": 108285, + "货车": 108286, + "缩å°ı": 108287, + "太è¿ĩ": 108288, + "æķĪåĬĽ": 108289, + "ä¸įä¸ĭ": 108290, + "æĬķ稿": 108291, + "èį¯ä¸ļ": 108292, + "ç»Ħéķ¿": 108293, + "ç«ĻçĤ¹": 108294, + "å¾Īåĸľæ¬¢": 108295, + "éIJµ": 108296, + "åĬ¿å¤´": 108297, + "æ¼ıæ´ŀ": 108298, + "æĦ¤æĢĴ": 108299, + "åħħå®ŀ": 108300, + "åĪĽä¸ļæĿ¿": 108301, + "çĪª": 108302, + "æľªå¿ħ": 108303, + "åºķéĥ¨": 108304, + "å¾ĹåĪĨ": 108305, + "人æ°ijåĮ»éĻ¢": 108306, + "äºĮæīĭæĪ¿": 108307, + "å·²ç»ı被": 108308, + "大楼": 108309, + "æĸ°æĪ¿": 108310, + "辦æ³ķ": 108311, + "ç͍åĬĽ": 108312, + "æĭĵ宽": 108313, + "åĨħåľ¨": 108314, + "æĴŃåĩº": 108315, + "饰æ¼Ķ": 108316, + "ä¹Łè®©": 108317, + "ä½ľçĤº": 108318, + "çī©ä¸ļ管çIJĨ": 108319, + "åį´ä¸į": 108320, + "为ä¸ŃåĽ½": 108321, + "å±ĢåĬ¿": 108322, + "ä¸įèĤ¯": 108323, + "æľĢæĸ°çļĦ": 108324, + "åı¯ä»¥éĢīæĭ©": 108325, + "æĺ¾çݰ": 108326, + "å°±ç®Ĺæĺ¯": 108327, + "åľ¨æł¡": 108328, + "é¾Ł": 108329, + "两æĿ¡": 108330, + "çļĦå®ŀåĬĽ": 108331, + "è¶Ĭ好": 108332, + "å¥¹åľ¨": 108333, + "å¿łè¯ļ": 108334, + "ä¹ŁéľĢè¦ģ": 108335, + "游æĪıæĵįä½ľ": 108336, + "è¶ħåĩº": 108337, + "å¦Ĥæŀľä¸į": 108338, + "æīĢåľ¨çļĦ": 108339, + "ä½łè¿ĺ": 108340, + "以åĨħ": 108341, + "æľīä¸Ģå®ļ": 108342, + "åı¯è¾¾": 108343, + "è·ijåΰ": 108344, + "åīĽ": 108345, + "建ç«ĭåģ¥åħ¨": 108346, + "æķ´è½¦": 108347, + "åīįæĸ¹": 108348, + "éĹ´æİ¥": 108349, + "çѹå¤ĩ": 108350, + "çĸ²åĬ³": 108351, + "离å¼ĢäºĨ": 108352, + "æ±Ŀ": 108353, + "éĿ¢éĥ¨": 108354, + "ä¹ĭåīįçļĦ": 108355, + "åıĺ为": 108356, + "å¦Ĥæŀľè¯´": 108357, + "对ä»ĺ": 108358, + "åĿĩåı¯": 108359, + "被åijĬ人": 108360, + "ç²¾ç¾İ": 108361, + "èģļä¼ļ": 108362, + "çĿ̥̿": 108363, + "è°·æŃĮ": 108364, + "ä¸Ģåı·": 108365, + "红åĪ©": 108366, + "ä¼łå¥ĩ游æĪı": 108367, + "å»ĸ": 108368, + "è´ŀ": 108369, + "ä¹°åΰ": 108370, + "éŃļ": 108371, + "ä½ĵè´¨": 108372, + "å°ijäºĨ": 108373, + "æ³īå·ŀ": 108374, + "åIJŁ": 108375, + "ç»Ŀä¸į": 108376, + "é»ijæģ¶": 108377, + "é»ijæģ¶åĬ¿åĬĽ": 108378, + "ä¸Ĭæĺł": 108379, + "çļĦè¯Ŀé¢ĺ": 108380, + "ä¸ĩ人次": 108381, + "ä¸ĸéĹ´": 108382, + "ç͍工": 108383, + "贯穿": 108384, + "å®ĿçŁ³": 108385, + "ä½łå¥½": 108386, + "åĪĩåī²": 108387, + "å¼ºåĽ½": 108388, + "åĽŀèIJ½": 108389, + "æ°´æĻ¶": 108390, + "模仿": 108391, + "洪水": 108392, + "éĢĻ麼": 108393, + "åįģä¸īäºĶ": 108394, + "ä½ij": 108395, + "éĻĦä»¶": 108396, + "çļĦå¢ŀéķ¿": 108397, + "éĻĦå±ŀ": 108398, + "çݰ已": 108399, + "å¸®ä½ł": 108400, + "éĩijçīĮ": 108401, + "é«ĺåİŁ": 108402, + "åľ¨å®¶éĩĮ": 108403, + "éĺ²èħIJ": 108404, + "ç¡®å®ŀæĺ¯": 108405, + "宣讲": 108406, + "天æīį": 108407, + "ç»ıèIJ¥ç®¡çIJĨ": 108408, + "éĶħçĤī": 108409, + "åIJĪä¸Ģ": 108410, + "è§Ĥèµı": 108411, + "éķ¿è¾¾": 108412, + "主ä¹īæĢĿæĥ³": 108413, + "éĤ£éº¼": 108414, + "é£İäºij": 108415, + "为主çļĦ": 108416, + "æļijåģĩ": 108417, + "æĮģä¹ħ": 108418, + "å¼Ĥåľ°": 108419, + "å¼ĢéŨ": 108420, + "模æĿ¿": 108421, + "æī¹æ¬¡": 108422, + "ä¸į便": 108423, + "天çĶŁ": 108424, + "åĩłä¸ªæľĪ": 108425, + "ä¸ĵç§ij": 108426, + "åı¦æľī": 108427, + "åħ¬å¸ĥçļĦ": 108428, + "æĩ·": 108429, + "åľºåIJĪ": 108430, + "çļĦå¿ĥæĢģ": 108431, + "è¿ĺ好": 108432, + "å®ŀæĪĺ": 108433, + "èĢģå¸ĪçļĦ": 108434, + "åħ©åĢĭ": 108435, + "åı¯åľ¨": 108436, + "éĤ£ä½į": 108437, + "å¥łå®ļäºĨ": 108438, + "ä¿ĥéĶĢ": 108439, + "æı´åĬ©": 108440, + "ä¸ĩçī©": 108441, + "æĥħæĬ¥": 108442, + "é¦ĸåħĪè¦ģ": 108443, + "æĸĩåĮĸåĴĮ": 108444, + "éĥ½å·²ç»ı": 108445, + "ä¸Ĭä¸ĸ纪": 108446, + "åĨľåľº": 108447, + "大æī¹": 108448, + "æĺİçϽäºĨ": 108449, + "çļĦæĪIJéķ¿": 108450, + "çļĦæ¯ĶèµĽ": 108451, + "失误": 108452, + "åģļæĪIJ": 108453, + "ä»Ĭ天å°ıç¼ĸ": 108454, + "é¢Ĩè¢ĸ": 108455, + "æıIJåįĩäºĨ": 108456, + "å¾IJå·ŀ": 108457, + "ä»įæľī": 108458, + "è¿ĩ滤": 108459, + "å¹½é»ĺ": 108460, + "çĥŃéĩı": 108461, + "ä¸Ģé¦ĸ": 108462, + "æ¼Ĥ亮çļĦ": 108463, + "åĩłç§į": 108464, + "åĢ¡è®®": 108465, + "å°±åı¯ä»¥äºĨ": 108466, + "æİĴåĪĹ": 108467, + "éĩįéĩį": 108468, + "ä¼ģä¸ļåĴĮ": 108469, + "ä¸ĵå±ŀ": 108470, + "çħİ": 108471, + "亲æĪļ": 108472, + "çϾåĪĨä¹ĭ": 108473, + "稿件": 108474, + "è¿ĺå¾Ĺ": 108475, + "人åĵ¡": 108476, + "äºī夺": 108477, + "æĽ´å®¹æĺĵ": 108478, + "大èĩªçĦ¶": 108479, + "鼻èħ¦": 108480, + "太空": 108481, + "åľ°å¤Ħ": 108482, + "夢": 108483, + "ä»ĸ对": 108484, + "å¿ħå°Ĩ": 108485, + "ä¸įå½ĵ": 108486, + "严谨": 108487, + "åĩºåľº": 108488, + "å·²ç»ıæľī": 108489, + "é¢ĨåĨĽ": 108490, + "é«ĺæ¡£": 108491, + "ä¸ĢæīĢ": 108492, + "æłĹ": 108493, + "让åѦçĶŁ": 108494, + "æĽ¹æĵį": 108495, + "æŁIJä¸Ģ": 108496, + "伸åĩº": 108497, + "èĬ±åįī": 108498, + "æ¸ħéĨĴ": 108499, + "èģĶç³»æĸ¹å¼ı": 108500, + "åĪĨå±Ģ": 108501, + "èħ³": 108502, + "æ©¡èĥ¶": 108503, + "éķ¿å¾Ĺ": 108504, + "ç»¿åľ°": 108505, + "è¢į": 108506, + "çļĦèīºæľ¯": 108507, + "女æľĭåıĭ": 108508, + "ä¸Ńè¶ħ": 108509, + "离åŃIJ": 108510, + "å¤ļæł·åĮĸ": 108511, + "éĺ³åı°": 108512, + "ä½İ碳": 108513, + "ä¸Ģç±»": 108514, + "çŃīæĸ¹éĿ¢çļĦ": 108515, + "å¾Ĺ好": 108516, + "模åħ·": 108517, + "ä¸ĩ亿": 108518, + "çķĻæĦı": 108519, + "临æ²Ĥ": 108520, + "å°ijéĩı": 108521, + "çľĭåIJij": 108522, + "ç»ıèIJ¥èĢħ": 108523, + "çķĻä¸ĭäºĨ": 108524, + "åĿıäºĨ": 108525, + "åijĬåĪ«": 108526, + "羣çIJĨ": 108527, + "ç¼´è´¹": 108528, + "æĬĬä½ł": 108529, + "çļĦä»»åĬ¡": 108530, + "æĪij对": 108531, + "ä¹°åħ¥": 108532, + "çĻ»ä¸Ĭ": 108533, + "æľī两个": 108534, + "ä¸Ģ头": 108535, + "æĵįæİ§": 108536, + "åħ¨è¦ĨçĽĸ": 108537, + "çĿĢæīĭ": 108538, + "å¢ĻéĿ¢": 108539, + "å¤ļæĸ¹": 108540, + "åı¯çαçļĦ": 108541, + "ä¹Łåı¯èĥ½": 108542, + "æľĢæľī": 108543, + "è¿ĻäºĽéĥ½æĺ¯": 108544, + "æĥ¡": 108545, + "å®®": 108546, + "å¾Īå°ı": 108547, + "éĹ®é¢ĺæĺ¯": 108548, + "åĿĩæľī": 108549, + "å¾ģéĽĨ": 108550, + "说åĩº": 108551, + "æľīæĦı": 108552, + "é¢Ĥ": 108553, + "æī¬å·ŀ": 108554, + "åķĨä¸ļ模å¼ı": 108555, + "çĶŁèĤĸ": 108556, + "æįIJ款": 108557, + "å²Ĥ": 108558, + "ç¾İæĻ¯": 108559, + "è¿ĺ羣": 108560, + "æĭ¥æĬ±": 108561, + "身ä½ĵåģ¥åº·": 108562, + "æ·±å¤Ħ": 108563, + "çľ¼ç¥ŀ": 108564, + "çļĦ形象": 108565, + "ä¼ĺè¶Ĭ": 108566, + "å½ĵæĪIJ": 108567, + "åĮºåĪĨ": 108568, + "åİ»éϤ": 108569, + "注å®ļ": 108570, + "å§IJ妹": 108571, + "åĮºåĨħ": 108572, + "é©ļ": 108573, + "æļĹ示": 108574, + "æĺİ亮": 108575, + "æħ°éĹ®": 108576, + "å¸Ĥåľºä»½é¢Ŀ": 108577, + "çĮªèĤī": 108578, + "çļĦèµĦéĩij": 108579, + "åİĨç»ı": 108580, + "å§ĭç»ĪåĿļæĮģ": 108581, + "çĶŁæľº": 108582, + "ä¸į顾": 108583, + "éĩijåĪļ": 108584, + "大声": 108585, + "éĻķ西çľģ": 108586, + "é²į": 108587, + "åĨľä¸ļåĨľæĿij": 108588, + "æľī害": 108589, + "éŨè¯Ĭ": 108590, + "æ¯ıä¸Ģ次": 108591, + "çļĦåĽłç´ł": 108592, + "é¢Ŀå¤ĸ": 108593, + "åݿ级": 108594, + "çļĩåIJİ": 108595, + "åĽ½ä¼ģ": 108596, + "é¦ĸéĢī": 108597, + "ç¼ĸåĨĻ": 108598, + "æĭ¿èµ·": 108599, + "åģ·åģ·": 108600, + "ä¸İä¸ŃåĽ½": 108601, + "åįĸå®¶": 108602, + "ç»Ļä»ĸ们": 108603, + "ç¥ŀè¯Ŀ": 108604, + "åŃ¸æł¡": 108605, + "æĪijä¸Ģ缴": 108606, + "çŁ¥éģĵäºĨ": 108607, + "åįĴ": 108608, + "åĴĮåľ°åĮº": 108609, + "ä»Ģä¹Īéĥ½": 108610, + "çͻ家": 108611, + "æľ¬çĿĢ": 108612, + "ä½ĻåIJį": 108613, + "审çIJĨ": 108614, + "ä¸ĢåIJij": 108615, + "åıijå±ķè¶ĭåĬ¿": 108616, + "åĮºéĹ´": 108617, + "注åĨĮèµĦæľ¬": 108618, + "çIJ¦": 108619, + "ä¸įåı¯ä»¥": 108620, + "çļĦåĦ¿åŃIJ": 108621, + "å̼çıŃ": 108622, + "ä¸¥æł¼çļĦ": 108623, + "å®ŀä½ĵç»ıæµİ": 108624, + "æľīæĿĥ": 108625, + "æĪijåıĪ": 108626, + "éĵ¶æ²³": 108627, + "ç«ĭ马": 108628, + "æĿĢäºĨ": 108629, + "åĮħ容": 108630, + "管家": 108631, + "身é«Ķ": 108632, + "éĵħ": 108633, + "å°ıåŃIJ": 108634, + "管çIJĨç³»ç»Ł": 108635, + "æľīçļĦ人": 108636, + "é£İç͵": 108637, + "æĻºèĥ½åζéĢł": 108638, + "精确": 108639, + "æĭĽåķĨå¼ķ": 108640, + "æĭĽåķĨå¼ķèµĦ": 108641, + "äºĮæīĭ车": 108642, + "åİ¿å§Ķ": 108643, + "èīºäºº": 108644, + "å¥ķ": 108645, + "è¿İæĿ¥äºĨ": 108646, + "ç»ĵæĿŁäºĨ": 108647, + "çļĦä¼łç»Ł": 108648, + "æĭ¼æIJı": 108649, + "奥迪": 108650, + "çĸijæĥij": 108651, + "ä¹ĭæĹ¥èµ·": 108652, + "æłĩå¿ĹçĿĢ": 108653, + "åľ°åįĢ": 108654, + "è¯łéĩĬ": 108655, + "åĪ°æľŁ": 108656, + "åħ¨éĥ½": 108657, + "çŁŃæļĤ": 108658, + "æĺ¯æĪijåĽ½": 108659, + "æĪijå·²ç»ı": 108660, + "æ»´æ»´": 108661, + "天èµĭ": 108662, + "对她": 108663, + "åį«çĶŁéĹ´": 108664, + "çĶŁäº§åŁºåľ°": 108665, + "æĹ¥è®°": 108666, + "çļĦæķĻåѦ": 108667, + "åĵĩ": 108668, + "æ°ijäºĭ": 108669, + "è¿ĺåİŁ": 108670, + "æīĭä¸ŃçļĦ": 108671, + "çļĦèī¯å¥½": 108672, + "æ·«": 108673, + "ä¸Ńåħ±ä¸Ń央": 108674, + "åĪĥ": 108675, + "åĵĦ": 108676, + "åľ¨ä»ĸçļĦ": 108677, + "å°Īæ¥Ń": 108678, + "åľºéĿ¢": 108679, + "éĤ»å±ħ": 108680, + "çĹĴ": 108681, + "å¦Ħ": 108682, + "å¤ĸç§ij": 108683, + "ä¸įéĢĤ": 108684, + "举åĬŀçļĦ": 108685, + "éĤ¹": 108686, + "åħļçļĦ建设": 108687, + "çĻ¼è¡¨": 108688, + "è·¨çķĮ": 108689, + "æ²īæ·Ģ": 108690, + "大çīĩ": 108691, + "è¶Ĭé«ĺ": 108692, + "å°Ĩæĺ¯": 108693, + "è§īéĨĴ": 108694, + "åĤ¨åŃĺ": 108695, + "å¢ŀ大": 108696, + "ä¸į让": 108697, + "æķ´å½¢": 108698, + "å¹³åı°ä¸Ĭ": 108699, + "åĩłä½į": 108700, + "è¯īæ±Ĥ": 108701, + "好ä¸į好": 108702, + "åľį": 108703, + "æĸĩæľ¬": 108704, + "é̲åħ¥": 108705, + "ç´į": 108706, + "æł¹æĵļ": 108707, + "èįīæ¡Ī": 108708, + "åħŃ个": 108709, + "åĭ¿": 108710, + "åζæĪIJ": 108711, + "饮水": 108712, + "æ°¸æģĴ": 108713, + "èĩªæĿĢ": 108714, + "åı¸é©¬": 108715, + "éļ¾çĤ¹": 108716, + "为æĪij们": 108717, + "å¼§": 108718, + "åī©ä¸ĭçļĦ": 108719, + "åĩĨå¤ĩ好": 108720, + "çļĦæľĢä½³": 108721, + "èģĶåIJĪä¼ļ": 108722, + "æĤ£èĢħçļĦ": 108723, + "æĪijä¸įçŁ¥éģĵ": 108724, + "ä¸ĭä¸Ģ个": 108725, + "åıijå±ķæĸ¹åIJij": 108726, + "笨": 108727, + "æīĢ以æĪij们": 108728, + "åĨĻäºĨ": 108729, + "éĢłæĪIJäºĨ": 108730, + "æ²Ļæ¼ł": 108731, + "çŃĽéĢī": 108732, + "çģ¾åĮº": 108733, + "ä¸Ĭçľĭ": 108734, + "éħ¶": 108735, + "æ»ļåĬ¨": 108736, + "éļ¾åħį": 108737, + "åIJīåĪ©": 108738, + "ä¸Ģä¸Ģ": 108739, + "ç²¾å¯Ĩ": 108740, + "伸æīĭ": 108741, + "礼仪": 108742, + "åħ¨æĺ¯": 108743, + "è¶Ĭ大": 108744, + "ä¸Ńæłĩ": 108745, + "åıĸåĨ³": 108746, + "åıĸåĨ³äºİ": 108747, + "éĢĶä¸Ń": 108748, + "讨åİĮ": 108749, + "æīĭåĨĮ": 108750, + "第ä¹Ŀ": 108751, + "åŃĶåŃIJ": 108752, + "çĦ¶å¾Į": 108753, + "ä¸Ģåħ±": 108754, + "æµ·æĬ¥": 108755, + "款å¼ı": 108756, + "æķ´å¤©": 108757, + "è¾¹çķĮ": 108758, + "路边": 108759, + "æĻĭ级": 108760, + "åIJIJæ§½": 108761, + "çļĦåħ³æ³¨": 108762, + "æĪij没æľī": 108763, + "å°±æĺ¯åľ¨": 108764, + "缮çļĦæĺ¯": 108765, + "åį³ä½¿æĺ¯": 108766, + "é¡¶å°ĸ": 108767, + "å·²ç»ıåľ¨": 108768, + "å®īåħ¨éļIJæĤ£": 108769, + "æłĩæĿĨ": 108770, + "åįĹéĢļ": 108771, + "ä¼ļ对": 108772, + "座ä½į": 108773, + "èµ¢å¾ĹäºĨ": 108774, + "åİŁæĿ¥çļĦ": 108775, + "身为": 108776, + "书åºĹ": 108777, + "è¢Ńåĩ»": 108778, + "ä»ĬæĻļ": 108779, + "以èī²": 108780, + "以èī²åĪĹ": 108781, + "æĬĸéŁ³": 108782, + "åį´æ²¡æľī": 108783, + "丧失": 108784, + "çļĦå±ĢéĿ¢": 108785, + "åįģåĽĽäºĶ": 108786, + "çŃī缸åħ³": 108787, + "æ±ĩæĢ»": 108788, + "å¤ĸ表": 108789, + "为æ°ij": 108790, + "éľĩæĥĬ": 108791, + "å¥Ĺè·¯": 108792, + "çĬ¯ç½ªå«Įçĸij": 108793, + "å°Ĩ以": 108794, + "çİĩé¢Ĩ": 108795, + "éħĴåIJ§": 108796, + "è¡Įä¸ļåıijå±ķ": 108797, + "å¹´èĩ³": 108798, + "åύæĿIJ": 108799, + "åĴĮæĬĢæľ¯": 108800, + "æľĢå°ı": 108801, + "è¿Ļä¸ĢåĪĩ": 108802, + "èģĮç§°": 108803, + "å½ĵä½ľ": 108804, + "æİĢèµ·": 108805, + "åĴĭ": 108806, + "ä¸Ńéĥ¨": 108807, + "æīĭèĩĤ": 108808, + "ç½¢äºĨ": 108809, + "媳å¦ĩ": 108810, + "æ´½è°Ī": 108811, + "æĹ¶ä»£ä¸ŃåĽ½": 108812, + "人çĶŁçļĦ": 108813, + "æŀģéĻIJ": 108814, + "ç¦Ħ": 108815, + "åĮºæĶ¿åºľ": 108816, + "æľ¬éĴ±": 108817, + "礼åĵģ": 108818, + "çļĦéĤ£ä¸ª": 108819, + "ä¾¦æŁ¥": 108820, + "太å¤ļçļĦ": 108821, + "å®ŀæĸ½æĸ¹æ¡Ī": 108822, + "é«ĺæłĩåĩĨ": 108823, + "æĮĩæĮ¥éĥ¨": 108824, + "å̾æĸľ": 108825, + "çī¹èī²ç¤¾ä¼ļ": 108826, + "çµIJæŀľ": 108827, + "éĴ»çٳ": 108828, + "ç§»æ¤į": 108829, + "çī¹ç§į": 108830, + "èĩªæĦ¿": 108831, + "æĭľçĻ»": 108832, + "åįķ身": 108833, + "åį´åıĪ": 108834, + "åĪ¥äºº": 108835, + "åIJĪè§Ħ": 108836, + "æľºç͵": 108837, + "çĦı": 108838, + "å½ĵåīįä½įç½®": 108839, + "ä¹°å®¶": 108840, + "åIJĪ约": 108841, + "èĤ©èĨĢ": 108842, + "为åĩĨ": 108843, + "å®¶è£ħ": 108844, + "çļĦçĥŃæĥħ": 108845, + "éĿŀéģĹ": 108846, + "çļĦéŃħåĬĽ": 108847, + "åİŁåijĬ": 108848, + "社ä¼ļåIJĦçķĮ": 108849, + "ä¹°çļĦ": 108850, + "å¤ļåIJĥ": 108851, + "éĽķå¡ij": 108852, + "èµ·ä¹ī": 108853, + "åĬłåī§": 108854, + "éĤ£ä¸ĢåĪ»": 108855, + "å°Ĩè¿Ľä¸ĢæŃ¥": 108856, + "æ¡ĤæŀĹ": 108857, + "æĽ´å¼º": 108858, + "对ä¼ģä¸ļ": 108859, + "æĹłæĦı": 108860, + "ä¹łè¿ijå¹³æĸ°": 108861, + "æµģ失": 108862, + "微软": 108863, + "çĽ¸å¯¹äºİ": 108864, + "座è°Īä¼ļ": 108865, + "主èIJ¥ä¸ļ": 108866, + "主èIJ¥ä¸ļåĬ¡": 108867, + "ç§ģåĭŁ": 108868, + "å±ķ示äºĨ": 108869, + "常æĢģåĮĸ": 108870, + "è²´": 108871, + "符åı·": 108872, + "å¹´è½»çļĦ": 108873, + "å°±éľĢè¦ģ": 108874, + "ä¹ŁæĽ¾": 108875, + "çļĦæĥħ绪": 108876, + "è¾¾æłĩ": 108877, + "èĩ¨": 108878, + "ä½įå±ħ": 108879, + "ä»ħ为": 108880, + "é¦ĸå®¶": 108881, + "éĺ´éĺ³": 108882, + "ä¸įåĨįæĺ¯": 108883, + "åĽłä¸ºå®ĥ": 108884, + "ä¼ģä¸ļåľ¨": 108885, + "çĺ¾": 108886, + "åIJ¬è§ģ": 108887, + "åİŁæľī": 108888, + "åζè£ģ": 108889, + "å¯Ĥå¯ŀ": 108890, + "éĢļè¿ĩ对": 108891, + "æ»ijéĽª": 108892, + "è¿Ļå¼ł": 108893, + "çļĦçIJĨè§£": 108894, + "æĸ°ä¸ŃåĽ½": 108895, + "è¿ĻåĦ¿": 108896, + "ä½İä»·": 108897, + "æĥ³è¿ĩ": 108898, + "çļĦä¿¡å¿ĥ": 108899, + "建çŃijçī©": 108900, + "çļĦé¢ľèī²": 108901, + "ä¸įåºĶ该": 108902, + "æĹłçĸijæĺ¯": 108903, + "å¼ķèµ·äºĨ": 108904, + "åħ¨åijĺ": 108905, + "æĿ°åĩº": 108906, + "è¿Ļæĺ¯æĪij": 108907, + "誰": 108908, + "èĺĩ": 108909, + "éĺµåľ°": 108910, + "åħħå̼": 108911, + "çŁ¿ä¸ļ": 108912, + "çĿĢä»ĸ": 108913, + "信访": 108914, + "ä¸ĩè¾¾": 108915, + "æij©æĵ¦": 108916, + "å¼Ģ端": 108917, + "èı²å¾ĭ": 108918, + "èı²å¾ĭ宾": 108919, + "车åŃIJ": 108920, + "æľ¬èº«çļĦ": 108921, + "çģ«è½¦ç«Ļ": 108922, + "常å·ŀ": 108923, + "为代表": 108924, + "为代表çļĦ": 108925, + "广ç͵": 108926, + "亲人": 108927, + "åı³æīĭ": 108928, + "éĽĨè£ħ": 108929, + "éĽĨè£ħç®±": 108930, + "çļĦåį°è±¡": 108931, + "æ©Łæľĥ": 108932, + "åĮĨåĮĨ": 108933, + "åħīç͵": 108934, + "大æĸ¹": 108935, + "è¿ĺæľª": 108936, + "åΩ好": 108937, + "ç»Ŀ大å¤ļæķ°": 108938, + "åľ¨è¿Ļç§į": 108939, + "ä¸Ģç»Ħ": 108940, + "æĸ°èĤ¡": 108941, + "转åıij": 108942, + "æ³ķåºŃ": 108943, + "æĹłæīĢ": 108944, + "éģĵè·¯ä¸Ĭ": 108945, + "çŁ¿å±±": 108946, + "èijī": 108947, + "æĶ¶åĽŀ": 108948, + "ç§°ä¹ĭ": 108949, + "ç§°ä¹ĭ为": 108950, + "æıŃéľ²": 108951, + "åı£å²¸": 108952, + "åIJ¼": 108953, + "å¿ĥæĥ³": 108954, + "çļĦ梦æĥ³": 108955, + "éĽ¯": 108956, + "ä¹ĭåĪĿ": 108957, + "å¥ĸ项": 108958, + "订éĺħ": 108959, + "èĵĿ天": 108960, + "åĿ¦åħĭ": 108961, + "ç«ĭæ¡Ī": 108962, + "èģĶæīĭ": 108963, + "ä½Ĩæĺ¯æĪij": 108964, + "帮æĪij": 108965, + "ä»ħ代表": 108966, + "说æĪij": 108967, + "çļĦè¶ĭåĬ¿": 108968, + "æ¯Ķè¾ĥ大": 108969, + "èµ°å»Ĭ": 108970, + "éĩįçĤ¹é¡¹çĽ®": 108971, + "èµĮåľº": 108972, + "åIJįçīĩ": 108973, + "æĦŁåı¹": 108974, + "åľ¨åľ°ä¸Ĭ": 108975, + "åıijçĥŃ": 108976, + "èĮĥçķ´": 108977, + "çļĦéģĵè·¯": 108978, + "éĩijèī²": 108979, + "ä»ĸåıĪ": 108980, + "ä¼ļ产çĶŁ": 108981, + "æ°ijåĽ½": 108982, + "å®ĺæĸ¹ç½ijç«Ļ": 108983, + "æĶ¶çĽĬçİĩ": 108984, + "çļĦåΰæĿ¥": 108985, + "çļĦåĬŀæ³ķ": 108986, + "æĶ¹åζ": 108987, + "ä¸ĩç§ij": 108988, + "ä¸įäºĪ": 108989, + "è¿ĻäºĽéĹ®é¢ĺ": 108990, + "çαä¸Ĭ": 108991, + "çIJĥåľº": 108992, + "责令": 108993, + "æİĪ课": 108994, + "åľ¨é¦Ļ港": 108995, + "ç»Ĩèħ»": 108996, + "å¤ļä¸ĩ": 108997, + "åIJĮå¹´": 108998, + "大使": 108999, + "æĸĭ": 109000, + "ä¹Łä¸º": 109001, + "æĥłå·ŀ": 109002, + "åIJī祥": 109003, + "çͰåĽŃ": 109004, + "åĽ½å®¶éĺŁ": 109005, + "éĩįçĶŁ": 109006, + "åľ¨åħ¶": 109007, + "é¦Ļåij³": 109008, + "è´Łèį·": 109009, + "亲åĪĩ": 109010, + "èĩªè±ª": 109011, + "没éĶĻ": 109012, + "åĽłä¸ºåľ¨": 109013, + "æĺŁæĺŁ": 109014, + "éĤij": 109015, + "è¿ĺæľīå¾Īå¤ļ": 109016, + "æij©æīĺ": 109017, + "æij©æīĺ车": 109018, + "æŃ¥è¡Į": 109019, + "管çIJĨä½ĵç³»": 109020, + "èĦļä¸ĭ": 109021, + "éģİåİ»": 109022, + "æ±īè¯Ń": 109023, + "对ä¸įèµ·": 109024, + "çļĦç»ıåİĨ": 109025, + "åıĬ缸åħ³": 109026, + "ä¸įå°ij人": 109027, + "éĩįç£ħ": 109028, + "åĬ³åĬ¨èĢħ": 109029, + "大åĬĽåıijå±ķ": 109030, + "æĢİä¹Īåģļ": 109031, + "çĭĹçĭĹ": 109032, + "举åįĹäºļ": 109033, + "åĭĩäºİ": 109034, + "åħ¬éĸĭ": 109035, + "çĵ·çłĸ": 109036, + "åıĤçħ§": 109037, + "广æĴŃç͵è§Ĩ": 109038, + "举åĬ¨": 109039, + "æ±Łè¥¿çľģ": 109040, + "æķĪèĥ½": 109041, + "å͝æľī": 109042, + "éĿ¢è²Į": 109043, + "èĩªåĬ¨é©¾é©¶": 109044, + "æ¦ľåįķ": 109045, + "å½ĵæĪij们": 109046, + "仲è£ģ": 109047, + "æľ¨æĿIJ": 109048, + "ç±³åħ°": 109049, + "çϽéĵ¶": 109050, + "çļĦ人éĥ½": 109051, + "å°±åĥıæĺ¯": 109052, + "æŃ¥åħ¥": 109053, + "åįłç͍": 109054, + "åĩ»è´¥": 109055, + "让大家": 109056, + "ä¼ļè®©ä½ł": 109057, + "åİ¿æĶ¿åºľ": 109058, + "è¦ģç͍": 109059, + "çŃīå½¢å¼ı": 109060, + "åįĩé«ĺ": 109061, + "责任æĦŁ": 109062, + "å¤ĩç͍": 109063, + "ä»ĸ认为": 109064, + "æ¸ħåįİ大åѦ": 109065, + "ä»ĸèĩªå·±": 109066, + "éĸ±è®Ģ": 109067, + "太平æ´ĭ": 109068, + "éĶģå®ļ": 109069, + "çŃĨ": 109070, + "è¿Ļçīĩ": 109071, + "æī§æĶ¿": 109072, + "è¿ĶåĽŀæIJľçĭIJ": 109073, + "å°±æŃ¤": 109074, + "éģĩåΰäºĨ": 109075, + "å¼Ģå¹ķå¼ı": 109076, + "管çIJĨéĥ¨éŨ": 109077, + "å§¿åĬ¿": 109078, + "设æĥ³": 109079, + "åĽĽåŃ£": 109080, + "æĬĢæľ¯äººåijĺ": 109081, + "å·®çĤ¹": 109082, + "è¾ŀèģĮ": 109083, + "èĢģ師": 109084, + "çļĦæĦŁåıĹ": 109085, + "ä¹ŁéĿŀ常": 109086, + "å¹´ä¸ĬåįĬå¹´": 109087, + "æĢªçī©": 109088, + "èĮĥæĸĩ": 109089, + "æĪĺå½¹": 109090, + "åIJ«ä¹ī": 109091, + "åħ¨è¿ĩç¨ĭ": 109092, + "èĢĮéĿŀ": 109093, + "éĢļ讯åijĺ": 109094, + "è¿Ļæł·æīįèĥ½": 109095, + "æľºç»Ħ": 109096, + "è£ı": 109097, + "çķ¶çĦ¶": 109098, + "èµĮåįļ": 109099, + "åIJĦæľī": 109100, + "å·¥ä½ľæľºåζ": 109101, + "äºĭåIJİ": 109102, + "åī§éĻ¢": 109103, + "å±ĬæĹ¶": 109104, + "åĺ´éĩĮ": 109105, + "主线": 109106, + "ä¸ĢåľĪ": 109107, + "主è¦ģåİŁåĽł": 109108, + "å°¸ä½ĵ": 109109, + "åĮ»çĸĹåĻ¨æ¢°": 109110, + "ä½łæĢİä¹Ī": 109111, + "ä½Ĩçͱäºİ": 109112, + "æĹ¶ç©º": 109113, + "çĶ·æľĭåıĭ": 109114, + "çĶľèľľ": 109115, + "é«ĺåľ°": 109116, + "æĻĸ": 109117, + "èĴIJéĽĨ": 109118, + "åĩĿèģļåĬĽ": 109119, + "å¤ĩåıĹ": 109120, + "æĸĩåĪĽ": 109121, + "马æĿ¥": 109122, + "马æĿ¥è¥¿äºļ": 109123, + "æŁ´æ²¹": 109124, + "使人": 109125, + "æķĻä¼ļ": 109126, + "ç§ĭ天": 109127, + "æĺİçıł": 109128, + "åħŃåįģ": 109129, + "çݯå¢ĥä¸Ń": 109130, + "æ¸ħæĻ¨": 109131, + "积æŀģåıĤä¸İ": 109132, + "å·ħå³°": 109133, + "ä¸ºæľŁ": 109134, + "çѾåŃĹ": 109135, + "æĦŁæ¿Ģ": 109136, + "ç§ĭåŃ£": 109137, + "æĿijåŃIJ": 109138, + "æ¢ħ西": 109139, + "æļ´éĽ¨": 109140, + "çĶŁæ´»åľ¨": 109141, + "çªĹæĪ·": 109142, + "æģ¶åĬ£": 109143, + "纯粹": 109144, + "åľ¨æİ¥åıĹ": 109145, + "没èĥ½": 109146, + "è¡Į人": 109147, + "åĭº": 109148, + "æĭ¨æīĵ": 109149, + "ä½ľåĩºäºĨ": 109150, + "çļĦ主é¢ĺ": 109151, + "æľªä¾Ĩ": 109152, + "ä¸ŃæľĢ": 109153, + "æ¾ľ": 109154, + "é«ĺè¡Ģåİĭ": 109155, + "åħ´èµ·": 109156, + "æŃ£èĥ½éĩı": 109157, + "åŁ¹è®ŃçıŃ": 109158, + "æİ¥åħ¥": 109159, + "çĦ¶åIJİåĨį": 109160, + "åѦçĶŁä»¬": 109161, + "é¢ĨåħĪçļĦ": 109162, + "çģ«çĥŃ": 109163, + "ä¸ĵèģĮ": 109164, + "æĪĸèĢħ说": 109165, + "建è¨Ń": 109166, + "é»ı": 109167, + "对åħ¬åı¸": 109168, + "çľīçļĦ": 109169, + "åħīèį£": 109170, + "å½ĵåľº": 109171, + "éĿ¢åŃIJ": 109172, + "èµĦ产管çIJĨ": 109173, + "æĹ¶æľŁçļĦ": 109174, + "çŀİ": 109175, + "åįİ举": 109176, + "åıĪä¸Ģ次": 109177, + "èĥİåĦ¿": 109178, + "å®ļçĤ¹": 109179, + "头çĹĽ": 109180, + "æ¶²ä½ĵ": 109181, + "æĺ¯ä¸Ģä½į": 109182, + "帽åŃIJ": 109183, + "å¹´èµ·": 109184, + "ä¸įä½İäºİ": 109185, + "è¾ĥå°ij": 109186, + "éĿ¢ä¸´çĿĢ": 109187, + "å±Ĥå±Ĥ": 109188, + "èĿ´èĿ¶": 109189, + "èī°èĭ¦": 109190, + "éĺ¿æł¹": 109191, + "éĺ¿æł¹å»·": 109192, + "æ¦Ĥæĭ¬": 109193, + "请éĹ®": 109194, + "èµ·åºĬ": 109195, + "å±Ģå±Ģéķ¿": 109196, + "稳åģ¥": 109197, + "å¦ĤæŀľæĪij们": 109198, + "éħĴç²¾": 109199, + "æĪ·åı£": 109200, + "æĦŁæĤŁ": 109201, + "æĪij们éľĢè¦ģ": 109202, + "æĬĢèīº": 109203, + "èĩªåªĴä½ĵ": 109204, + "è¿ĽåĮĸ": 109205, + "æ¿ĢçĥĪçļĦ": 109206, + "ä½ĵ温": 109207, + "èļķ": 109208, + "èĩ´è¾ŀ": 109209, + "宪æ³ķ": 109210, + "ä¸ĢçŃīå¥ĸ": 109211, + "çĵ¶é¢Ī": 109212, + "æĥłæ°ij": 109213, + "èµ°è·¯": 109214, + "çݰ任": 109215, + "åķĨéĩı": 109216, + "ä¸ĭ车": 109217, + "åĪł": 109218, + "責任": 109219, + "èŀįåIJĪåıijå±ķ": 109220, + "ç´łæĿIJ": 109221, + "油价": 109222, + "åģļ人": 109223, + "çŀª": 109224, + "æĶ¹éĿ©åĪĽæĸ°": 109225, + "çļĦåĮºåĪ«": 109226, + "è·¨å¢ĥç͵åķĨ": 109227, + "æ¶īåıĬåΰ": 109228, + "æīĺ管": 109229, + "æĪijè¿ĺæĺ¯": 109230, + "åĿIJæłĩ": 109231, + "ç½ij讯": 109232, + "å½ĵåľ°çļĦ": 109233, + "追溯": 109234, + "åľŁè̳": 109235, + "åľŁè̳åħ¶": 109236, + "åºķä¸ĭ": 109237, + "åĩłåįģå¹´": 109238, + "ç©¿è¿ĩ": 109239, + "çĶŁæĢģæĸĩæĺİ": 109240, + "æİ¨èĸ": 109241, + "æİ¨èĸ¦": 109242, + "éłĨ": 109243, + "åĴ³åĹ½": 109244, + "åĪĨæĪIJ": 109245, + "çĹķ迹": 109246, + "æĪ·ç±į": 109247, + "éĥ½ä¸įèĥ½": 109248, + "æĻļä¼ļ": 109249, + "åĢ©": 109250, + "ä½ĵåĬĽ": 109251, + "è¿Ļ个èģĮä¸ļ": 109252, + "æĹłå½¢": 109253, + "åıªæĥ³": 109254, + "è¿Ľåıĸ": 109255, + "æĿ̿ѻ": 109256, + "èĦĬ": 109257, + "äºijåįĹçľģ": 109258, + "æľªçŁ¥": 109259, + "ç¾İèģĶ": 109260, + "ç¾İèģĶåĤ¨": 109261, + "å¤ĸå½¢": 109262, + "诱æĥij": 109263, + "çĽ£": 109264, + "è¡Į使": 109265, + "åłĨ积": 109266, + "çĨŁç»ĥ": 109267, + "éĺIJè¿°": 109268, + "æľĢ大éĻIJ度": 109269, + "å·¡æŁ¥": 109270, + "夺åĨł": 109271, + "ä¼ģä¸ļæĸĩåĮĸ": 109272, + "çĭ®åŃIJ": 109273, + "ä¿Ŀå®Ī": 109274, + "ä¸ºæł¸å¿ĥçļĦ": 109275, + "æī©æķ£": 109276, + "åζéĢłåķĨ": 109277, + "æŁĶ软": 109278, + "为ä¸Ģä½ĵçļĦ": 109279, + "游çİ©": 109280, + "çĶŁçĹħ": 109281, + "幫åĬ©": 109282, + "åͱæŃĮ": 109283, + "æīįåı¯ä»¥": 109284, + "宽æĿ¾": 109285, + "è¦ģæ¯Ķ": 109286, + "æĺ¯æĢİæł·": 109287, + "çģ°èī²": 109288, + "çİĭåĽ½": 109289, + "æIJħæĭĮ": 109290, + "计éĩı": 109291, + "åij¨åĽ´çļĦ": 109292, + "æĻºèĥ½æīĭæľº": 109293, + "常åĬ¡": 109294, + "常åĬ¡åī¯": 109295, + "é©´": 109296, + "å°Ĩè¿ij": 109297, + "寻常": 109298, + "ä¸ŃåĽ½å¸Ĥåľº": 109299, + "容åύ": 109300, + "å±±ä¸Ĭ": 109301, + "èĥĮåIJİçļĦ": 109302, + "亲å¯Ĩ": 109303, + "æīĢ以说": 109304, + "éİ®": 109305, + "çļĦçIJĨçͱ": 109306, + "大åŁİå¸Ĥ": 109307, + "常年": 109308, + "æĹħ游ä¸ļ": 109309, + "å°±æĺ¯è¿Ļæł·": 109310, + "åĨįæĿ¥": 109311, + "é«ĺä½į": 109312, + "åĨħ饰": 109313, + "æŀĦéĢł": 109314, + "ä¸Ģèµ·æĿ¥": 109315, + "çͳè«ĭ": 109316, + "å·²ç»ıå¼Ģå§ĭ": 109317, + "çļĦåĬ¨ä½ľ": 109318, + "被迫": 109319, + "éģįå¸ĥ": 109320, + "åīĸæŀIJ": 109321, + "å°ıäºĭ": 109322, + "å¿ĥä¸ŃçļĦ": 109323, + "ä½ĵåζæĶ¹éĿ©": 109324, + "çļĩå®¶": 109325, + "æķĻåłĤ": 109326, + "åIJĥå®Į": 109327, + "åĽ½æ°ijåħļ": 109328, + "æĺİç¡®äºĨ": 109329, + "åıijå±ķè§ĦåĪĴ": 109330, + "第ä¸ĢæŃ¥": 109331, + "å¾Ĺèµ·": 109332, + "åľ¨åĵª": 109333, + "çļĦè·¯ä¸Ĭ": 109334, + "é»Ķ": 109335, + "çķ¶æĻĤ": 109336, + "大åĬĽæĶ¯æĮģ": 109337, + "åıĮéĩį": 109338, + "çŁ¥éģĵèĩªå·±": 109339, + "åIJĪä½ľåįıè®®": 109340, + "æ°ĶåĬ¿": 109341, + "éķ¿æķĪæľºåζ": 109342, + "ç½ķè§ģ": 109343, + "åĽŀæĿ¥äºĨ": 109344, + "ä»ĸä¼ļ": 109345, + "ä¸Ńæĸ°": 109346, + "ä¸Ńæĸ°ç½ij": 109347, + "çļĦåķĨåĵģ": 109348, + "èµłéĢģ": 109349, + "決å®ļ": 109350, + "å¸ĤåľºçĽij管": 109351, + "çķĻåѦçĶŁ": 109352, + "ç͵åİĭ": 109353, + "äºļ马": 109354, + "äºļ马éĢĬ": 109355, + "è¿ĺæĺ¯æ¯Ķè¾ĥ": 109356, + "ä¿ĥè¿ĽäºĨ": 109357, + "æµģåħ¥": 109358, + "æijĦåĥı": 109359, + "æijĦåĥı头": 109360, + "æıIJåıĬ": 109361, + "åıijæİĺ": 109362, + "æī¾åĩº": 109363, + "æ¢Ŀä»¶": 109364, + "ç¹¼çºĮ": 109365, + "æĪijåĸľæ¬¢": 109366, + "å¥İ": 109367, + "æ¦ľæł·": 109368, + "å¼ĢèĬ±": 109369, + "æ²īéĩį": 109370, + "åŁºåĩĨ": 109371, + "ä»ħä»ħæĺ¯": 109372, + "轨éģĵ交éĢļ": 109373, + "åĶIJå±±": 109374, + "çŃīä¸Ģç³»åĪĹ": 109375, + "ä¸įè¿ĩæĺ¯": 109376, + "åŃĺåľ¨çĿĢ": 109377, + "èĬ±çĶŁ": 109378, + "夷": 109379, + "ç»Īç©¶": 109380, + "ä¹Łæĺ¯ä¸Ģ个": 109381, + "åįģåŃĹ": 109382, + "èĸªéħ¬": 109383, + "伤å¿ĥ": 109384, + "æĺ¥ç§ĭ": 109385, + "åĨ·åį´": 109386, + "ç²¾çģµ": 109387, + "çļĦåľ°åĽ¾": 109388, + "æ¯Ķçī¹": 109389, + "æ¯Ķçī¹å¸ģ": 109390, + "æĢ§åĪ«": 109391, + "ä½Ļä¸ĩåħĥ": 109392, + "ä¸įå¿ĺåĪĿå¿ĥ": 109393, + "å¿ĥçĸ¼": 109394, + "æĽ²çº¿": 109395, + "é«ĺä½İ": 109396, + "è¦ıå®ļ": 109397, + "æĻ¯èī²": 109398, + "è¦ģ说": 109399, + "åħ¬åı¸å°Ĩ": 109400, + "æ¶²åİĭ": 109401, + "è¿Ŀ约": 109402, + "åİļ度": 109403, + "åºŀ大çļĦ": 109404, + "è¿ĺæĺ¯å¾Ī": 109405, + "é¦ĸåħĪæĺ¯": 109406, + "çµ²": 109407, + "åĬ¡å®ŀ": 109408, + "並ä¸Ķ": 109409, + "å¢ŀè¿Ľ": 109410, + "ç»Ħç»ĩå¼Ģå±ķ": 109411, + "èµ·æĿ¥äºĨ": 109412, + "è¾ĥå°ı": 109413, + "导游": 109414, + "ä¸¤åľ°": 109415, + "ç¿ĺ": 109416, + "çģ¿çĥĤ": 109417, + "é£İéĩĩ": 109418, + "æĶ¯çº¿": 109419, + "æĶ¯çº¿ä»»åĬ¡": 109420, + "娱ä¹IJåľĪ": 109421, + "天津å¸Ĥ": 109422, + "åĮħåĽ´": 109423, + "æľ¬èµĽåŃ£": 109424, + "éĩįè¦ģ讲è¯Ŀ": 109425, + "åıĮåIJij": 109426, + "åįİ丽": 109427, + "éͤ": 109428, + "åĦ¿å¥³": 109429, + "åįĸåĩº": 109430, + "ä¾Ĩ說": 109431, + "ä»ĭç»įä¸Ģä¸ĭ": 109432, + "åIJ¦è®¤": 109433, + "åĭĿ": 109434, + "æĻ®éĢļ人": 109435, + "çļĦåĬ¨åĬĽ": 109436, + "涨åģľ": 109437, + "åŁºéĩij管çIJĨ": 109438, + "ä¸Ģ个éĩįè¦ģ": 109439, + "è¿IJæ²³": 109440, + "çħŀ": 109441, + "è´¢æĶ¿éĥ¨": 109442, + "è¡Įä¸ļåįıä¼ļ": 109443, + "éĥ½å°Ĩ": 109444, + "è¨Ģ论": 109445, + "ä¸ĭä¾Ĩ": 109446, + "墨西": 109447, + "墨西åĵ¥": 109448, + "åĽłä¸ºä»ĸ们": 109449, + "æĢİä¹ĪåĽŀäºĭ": 109450, + "åĬłå¤§å¯¹": 109451, + "èĬŃ": 109452, + "çīĮåŃIJ": 109453, + "ä¼ļ使": 109454, + "妹åŃIJ": 109455, + "ç«Ļéķ¿": 109456, + "å¿ħå¤ĩ": 109457, + "æłijæľ¨": 109458, + "æģ¶æĦı": 109459, + "æ²³éģĵ": 109460, + "å¯Įè£ķ": 109461, + "ç¹ģåįİ": 109462, + "ä»£è¡¨åĽ¢": 109463, + "æµij身": 109464, + "é¦ĸä½į": 109465, + "èĪªç©ºåħ¬åı¸": 109466, + "éĽ»å½±": 109467, + "ä¸ĵè¾ij": 109468, + "æ°´æºIJ": 109469, + "ä¸Ńæ¯Ĵ": 109470, + "並ä¸į": 109471, + "èĢĮåİ»": 109472, + "éĥĿ": 109473, + "äºİæŃ¤": 109474, + "æĸĩåĮĸ建设": 109475, + "èĤ¯å®ļä¼ļ": 109476, + "å¸ĮæľĽå¤§å®¶": 109477, + "æııåĨĻ": 109478, + "ä½İè°ĥ": 109479, + "æĸ°åħ´äº§ä¸ļ": 109480, + "æ·Ħåįļ": 109481, + "æĶ¾å¼Ģ": 109482, + "çļĦæĢ§æł¼": 109483, + "çĸ¾çĹħçļĦ": 109484, + "æķ´é¡¿": 109485, + "线ä¸Ĭ线ä¸ĭ": 109486, + "éĢī项": 109487, + "çļĦ认åı¯": 109488, + "æķ´é½IJ": 109489, + "çĶļä¹Ī": 109490, + "çľģåĨħ": 109491, + "åı¤äºº": 109492, + "æ°ijä¿Ĺ": 109493, + "çī¡ä¸¹": 109494, + "éŨçªĹ": 109495, + "éĤ£æł·çļĦ": 109496, + "çĽijäºĭä¼ļ": 109497, + "ç¿¡ç¿ł": 109498, + "禹": 109499, + "åįĥä¸ĩä¸įè¦ģ": 109500, + "æĶ¶ç¼©": 109501, + "çļĦæĸĩåŃĹ": 109502, + "åĴĮå°ļ": 109503, + "æĮĩ令": 109504, + "åħ±äº§åħļåijĺ": 109505, + "çļĦçĪ¶äº²": 109506, + "å®Įå·¥": 109507, + "åĬ¡å·¥": 109508, + "马æĭī": 109509, + "马æĭīæĿ¾": 109510, + "æµĭè¯Ħ": 109511, + "å²ļ": 109512, + "ä¸įåģļ": 109513, + "ä¸ĥå¹´": 109514, + "åĿĩä»·": 109515, + "主è§Ĥ": 109516, + "å¾Īä¸įéĶĻ": 109517, + "èĤ¡ä¸ľå¤§ä¼ļ": 109518, + "äºĶä¸Ģ": 109519, + "é£İåIJ¹": 109520, + "å¼Ģéĩĩ": 109521, + "è¿Ļä¹Ī大": 109522, + "èĥ½çľĭåΰ": 109523, + "èĢĥè¯Ħ": 109524, + "åį³ä¾¿æĺ¯": 109525, + "çݰ代åĨľä¸ļ": 109526, + "æ¯Ķè¾ĥé«ĺ": 109527, + "è¦ģçľĭ": 109528, + "没äºĨ": 109529, + "解決": 109530, + "çݯæ¯Ķ": 109531, + "åĨ²åĬ¨": 109532, + "æ·±å¤ľ": 109533, + "åĩłåįĥ": 109534, + "ä¿ı": 109535, + "ç½ijæ°ij": 109536, + "就没": 109537, + "ä»ĸ表示": 109538, + "éĩıåŃIJ": 109539, + "æĹ©é¤IJåĬłçĽŁ": 109540, + "åįĬå²Ľ": 109541, + "æIJŀç¬ij": 109542, + "ä¸ĬæĬ¥": 109543, + "審": 109544, + "é¢Ħ订": 109545, + "èľĤèľľ": 109546, + "æŁ¥æī¾": 109547, + "ä¼ĹæīĢ": 109548, + "ä¼ĹæīĢåij¨": 109549, + "ä¼ĹæīĢåij¨çŁ¥": 109550, + "æĹ©æĹ¥": 109551, + "åıijæī¬": 109552, + "åĴĮ个人": 109553, + "åĬłåħ¥äºĨ": 109554, + "åĸ®ä½į": 109555, + "åĪĨæĺİ": 109556, + "第ä¸Ģæī¹": 109557, + "ç¾İåĨĽ": 109558, + "æĿĢæīĭ": 109559, + "éŨå¤ĸ": 109560, + "åķĨåľĪ": 109561, + "ä¸ĢåĪ»": 109562, + "çļĦçľ¼ç¥ŀ": 109563, + "éľĦ": 109564, + "äºĽä»Ģä¹Ī": 109565, + "åĬłæ·±": 109566, + "æ¯ıä½į": 109567, + "å¸ĤéĿ¢ä¸Ĭ": 109568, + "åıĶåıĶ": 109569, + "çļĦéĤ£ç§į": 109570, + "粤港澳": 109571, + "è´´å¿ĥ": 109572, + "æĸĩåĮĸ产ä¸ļ": 109573, + "红æĹĹ": 109574, + "åĺīåħ´": 109575, + "æĶ¶çĽĺ": 109576, + "å®ĮæĪIJåIJİ": 109577, + "ä¼ģä¸ļ管çIJĨ": 109578, + "纵横": 109579, + "ä¸įä¿¡": 109580, + "æĪIJéĥ½å¸Ĥ": 109581, + "æ´Ĺ澡": 109582, + "举è¡ĮçļĦ": 109583, + "çĶ¢çĶŁ": 109584, + "ç©¿ä¸Ĭ": 109585, + "åĪļ好": 109586, + "åħī线": 109587, + "æīĵæŀ¶": 109588, + "è¿Ļæľ¬ä¹¦": 109589, + "åĶ®åIJİæľįåĬ¡": 109590, + "åĩłåĪĨ": 109591, + "ä¸Ĭ次": 109592, + "ä¸įåĪĨ": 109593, + "产åIJİ": 109594, + "éģ¿å¼Ģ": 109595, + "ç»Īæŀģ": 109596, + "代表大ä¼ļ": 109597, + "æ¼ĶæĬĢ": 109598, + "åĽŀè´Ń": 109599, + "åŃ¦è´¹": 109600, + "éĺ»ç¢į": 109601, + "ä¸Ģ大æī¹": 109602, + "竣工": 109603, + "åĨ³å®ļäºĨ": 109604, + "ä½Ĩå¦Ĥæŀľ": 109605, + "ç͵æµģ": 109606, + "ä¸Ŀ毫": 109607, + "èĥ½å¤Łåľ¨": 109608, + "éĶĢåĶ®æĶ¶åħ¥": 109609, + "åľ¨åŃ¦æł¡": 109610, + "æ°´åĩĨ": 109611, + "è§Ĩ线": 109612, + "èĩªåľ¨": 109613, + "åķĨä¸ļéĵ¶è¡Į": 109614, + "为äºĨ让": 109615, + "çį²å¾Ĺ": 109616, + "çݩ家æľĭåıĭ": 109617, + "éĿ¢èĨľ": 109618, + "åĪĨåī²": 109619, + "åī§æľ¬": 109620, + "ç«Ń": 109621, + "说å¾Ĺ": 109622, + "æĥ³çŁ¥éģĵ": 109623, + "çļĦ人çī©": 109624, + "èĮħåı°": 109625, + "åIJĮä¸Ģ个": 109626, + "æķ°æį®ä¸Ńå¿ĥ": 109627, + "çĶĦ": 109628, + "åĸľæĤ¦": 109629, + "ä¸ĭæĿ¥çļĦ": 109630, + "å®ļåIJij": 109631, + "æŀģåħ·": 109632, + "çļĦåľŁåľ°": 109633, + "éĤ£åĢĭ": 109634, + "æijĦåħ¥": 109635, + "äºĨæĪijçļĦ": 109636, + "马路": 109637, + "åħ¨ç¤¾ä¼ļ": 109638, + "è®®æ¡Ī": 109639, + "å±ĭåŃIJ": 109640, + "åIJįåı«": 109641, + "åĮª": 109642, + "åľ¨å¤ĸéĿ¢": 109643, + "åįİåįĹ": 109644, + "åıijè´§": 109645, + "å¯ĴåĨ·": 109646, + "é«ĺçŃīæķĻèĤ²": 109647, + "详ç»ĨçļĦ": 109648, + "ä¸ªé¡¹çĽ®": 109649, + "çĶŁäº§åĬĽ": 109650, + "æĹ¶å¸¸": 109651, + "å°±æľĥ": 109652, + "ä¸ĩèĤ¡": 109653, + "éĻĮçĶŁäºº": 109654, + "æııç»ĺ": 109655, + "å½ĵçĦ¶æĺ¯": 109656, + "æĭīåĬ¨": 109657, + "éĵ¾æĿ¡": 109658, + "æī£éϤ": 109659, + "ä¸Ģ缴éĥ½": 109660, + "å°ıåŃ©åŃIJ": 109661, + "伤åı£": 109662, + "第äºĮå±Ĭ": 109663, + "è´Ńç½®": 109664, + "çļĩ马": 109665, + "æĹłèģĬ": 109666, + "表åĨ³": 109667, + "诸å¦Ĥ": 109668, + "åĵįèµ·": 109669, + "é£İæļ´": 109670, + "ä¸ĢæµģçļĦ": 109671, + "ç·¨": 109672, + "è§£æĶ¾åĨĽ": 109673, + "室å¤ĸ": 109674, + "å°±è¿Ļä¹Ī": 109675, + "å³¶": 109676, + "æīĢæľī人éĥ½": 109677, + "æIJľç´¢å¼ķæĵİ": 109678, + "çļĦæĪIJæľ¬": 109679, + "åħļæĶ¿": 109680, + "åıijè¡Į人": 109681, + "çļĦäºĭå®ŀ": 109682, + "对该": 109683, + "åıĹæįŁ": 109684, + "ä¿Ħä¹Į": 109685, + "é²ľèĬ±": 109686, + "åĨľèį¯": 109687, + "æŀģéĢŁ": 109688, + "æĢ¥æĢ§": 109689, + "两ä¼ļ": 109690, + "ä¸ĢèάæĿ¥è¯´": 109691, + "æµ·é²ľ": 109692, + "åĨĪ": 109693, + "çĶ¨äºº": 109694, + "çĶ¨äººåįķä½į": 109695, + "åĢª": 109696, + "åĦªæĥł": 109697, + "æł¹æºIJ": 109698, + "åĽ¢è´Ń": 109699, + "ç¾İæ´²": 109700, + "ä¸ĭè¡Į": 109701, + "å¹´æľ«": 109702, + "èľ¡": 109703, + "è¯ģä»¶": 109704, + "åľ¨æĪijåĽ½": 109705, + "ä¸įåºĶ": 109706, + "æĮīæĹ¶": 109707, + "åłªç§°": 109708, + "åľºä¸Ĭ": 109709, + "å¹²éĥ¨èģĮå·¥": 109710, + "æľīå¾Ī大çļĦ": 109711, + "æķ°åŃĹç»ıæµİ": 109712, + "æ¼Ķç»ĥ": 109713, + "æį®ç»Łè®¡": 109714, + "å¾ĢæĿ¥": 109715, + "广åijĬæľįåĬ¡": 109716, + "çļĦè·Ŀ离": 109717, + "æŃ¸": 109718, + "è¨Ģè¯Ń": 109719, + "被èªī": 109720, + "被èªī为": 109721, + "åĭī强": 109722, + "å°Ĭæķ¬": 109723, + "ä¸ĩ亿åħĥ": 109724, + "ä¸ŃåĽ½åĽ½éĻħ": 109725, + "å¹²é¢Ħ": 109726, + "年产": 109727, + "èĢķåľ°": 109728, + "èĮİ": 109729, + "å᳿ĺ¯": 109730, + "æĺ¨æĻļ": 109731, + "æĪIJ为ä¸Ģ个": 109732, + "çºłæŃ£": 109733, + "åij½åIJį": 109734, + "é¢ģå¸ĥ": 109735, + "çĮľæµĭ": 109736, + "ä¿ĿèŃ·æĶ¿çŃĸ": 109737, + "æĭ¢": 109738, + "活泼": 109739, + "çŃīéĥ¨éŨ": 109740, + "åѦåΰ": 109741, + "å¢ŀå̼ç¨İ": 109742, + "èĪªçº¿": 109743, + "åĨ¤": 109744, + "åįģåĩłå¹´": 109745, + "æİ§èĤ¡èĤ¡ä¸ľ": 109746, + "ä¸ĢéŨ": 109747, + "ä¸ªå·¥ä½ľ": 109748, + "ä¸ªå·¥ä½ľæĹ¥": 109749, + "æĸ°è¥¿": 109750, + "æĸ°è¥¿åħ°": 109751, + "论è¯ģ": 109752, + "ä»Ĩ": 109753, + "åı¦å¤ĸä¸Ģ个": 109754, + "æĶ¹ç¼ĸ": 109755, + "严ç¦ģ": 109756, + "åĸľå¥½": 109757, + "个人信æģ¯": 109758, + "满æĦı度": 109759, + "åĵ¨": 109760, + "å¸ĪèµĦ": 109761, + "æĶ¹ä¸º": 109762, + "ç«ŀäºī对æīĭ": 109763, + "åĩºçĤī": 109764, + "åķĨ人": 109765, + "大æ£ļ": 109766, + "æĮĩ导ä¸ĭ": 109767, + "å¦ĩç§ij": 109768, + "輪": 109769, + "æīģ": 109770, + "åIJĮæĹ¶è¿ĺ": 109771, + "å¹¶éĢļè¿ĩ": 109772, + "æĪĺéĺŁ": 109773, + "èĶĵå»¶": 109774, + "ä¿ŀ": 109775, + "éĢĤå½ĵçļĦ": 109776, + "åīįè¾Ī": 109777, + "åĵģåij³": 109778, + "æ¹¿åľ°": 109779, + "æĪIJåŀĭ": 109780, + "ä¸įåıªæĺ¯": 109781, + "æĥ©ç½ļ": 109782, + "åĩºåı°äºĨ": 109783, + "çݩ游æĪı": 109784, + "æīįåıijçݰ": 109785, + "åºĶèģĺ": 109786, + "å¤ĸæĿ¥": 109787, + "åįłé¢Ĩ": 109788, + "å±ķæľĽ": 109789, + "å«Ĥ": 109790, + "港èĤ¡": 109791, + "æ¡Įä¸Ĭ": 109792, + "æĶ¯æŁ±": 109793, + "çļĦæĥħå½¢": 109794, + "广éĺĶçļĦ": 109795, + "æĶ¯è¡Į": 109796, + "å´©æºĥ": 109797, + "æľĪä¸Ń": 109798, + "æľĪä¸ŃæĹ¬": 109799, + "ç»įåħ´": 109800, + "临è¿ij": 109801, + "æĬ¤æłı": 109802, + "æļ®": 109803, + "åįķèģĮä¸ļ": 109804, + "è¾¹å¢ĥ": 109805, + "æĹ¥çħ§": 109806, + "ä¸ĢåłĨ": 109807, + "缴å¾Ħ": 109808, + "åħ±åIJĮä½ĵ": 109809, + "æĸ°åįİç½ij": 109810, + "æīĵ好": 109811, + "ç͵åĬ¨æ±½è½¦": 109812, + "ä¸įæĺİçϽ": 109813, + "éĢĻ裡": 109814, + "çĽĽå¤§": 109815, + "çİĭæľĿ": 109816, + "åĨįä¸Ģ次": 109817, + "åĬŀåħ¬åİħ": 109818, + "è´¨æĬ¼": 109819, + "åIJĪåĩ»": 109820, + "人们对": 109821, + "éĽ¶é£Ł": 109822, + "éĥ½ä¸įçŁ¥éģĵ": 109823, + "çļĦè¯Ńè¨Ģ": 109824, + "åĭŁéĽĨèµĦéĩij": 109825, + "åĬ¨èĦī": 109826, + "彤": 109827, + "è¿Ļåĩłå¹´": 109828, + "çŁŃè§Ĩé¢ij": 109829, + "太é«ĺ": 109830, + "常å§Ķä¼ļ": 109831, + "åĬłçıŃ": 109832, + "éĩįå¿ĥ": 109833, + "åªĴä½ĵæĬ¥éģĵ": 109834, + "没æ³ķ": 109835, + "éĹ»åIJį": 109836, + "çĥŃ度": 109837, + "å¹¿æ³ĽçļĦ": 109838, + "åħŃ大": 109839, + "çī©ä½ĵ": 109840, + "ä¸į该": 109841, + "é¢ĺ主": 109842, + "精彩çļĦ": 109843, + "ä¸ºè¿Ľä¸ĢæŃ¥": 109844, + "èĻŀ": 109845, + "åĽºçĦ¶": 109846, + "è´µå·ŀçľģ": 109847, + "çºłç»ĵ": 109848, + "代çIJĨ人": 109849, + "æ³ķå®ļ代表": 109850, + "åı¦ä¸Ģç§į": 109851, + "ä¸įåIJ«": 109852, + "æĭ¯æķij": 109853, + "ä¼ļç»Ļ": 109854, + "è¯Ĺè¯į": 109855, + "åIJĮç±»": 109856, + "å¾Ĺä¸įåΰ": 109857, + "æĬĵç´§": 109858, + "以åħ¶": 109859, + "åħ¥åħļ": 109860, + "è¿ĺåı¯": 109861, + "æľŁåĪĬ": 109862, + "å¾Īå¤ļæĹ¶åĢĻ": 109863, + "æĹ¥åIJİ": 109864, + "åħ¬çº¦": 109865, + "ä¸Ģ举": 109866, + "æ¯Ķè¾ĥå¤ļ": 109867, + "éĩijæ²Ļ": 109868, + "æįŀ": 109869, + "æİĴåĩº": 109870, + "æŃ¦æľ¯": 109871, + "ä¸įæĸ·": 109872, + "ä¸ŃèĢĥ": 109873, + "ä¿¡èµĸ": 109874, + "ä»İä¸ļ人åijĺ": 109875, + "çģ«çĦ°": 109876, + "éĨĴæĿ¥": 109877, + "ä½İ温": 109878, + "éĢ¾æľŁ": 109879, + "åĬ±å¿Ĺ": 109880, + "éħ¥": 109881, + "åı¯è°ĵæĺ¯": 109882, + "è¿ĻæĦıåij³çĿĢ": 109883, + "é¢łè¦Ĩ": 109884, + "åĮĹ京大åѦ": 109885, + "ä¸ĵ线": 109886, + "åıĬ以ä¸Ĭ": 109887, + "訪": 109888, + "èĢĮåIJİ": 109889, + "çŁ¥ä¹İ": 109890, + "ä¸Ģ对ä¸Ģ": 109891, + "å¨ĥå¨ĥ": 109892, + "çģ¾éļ¾": 109893, + "åħ¨å±Ģ": 109894, + "æīĢå¾Ĺç¨İ": 109895, + "å®ŀæĥł": 109896, + "èļĤèļģ": 109897, + "ä¹ŁçŁ¥éģĵ": 109898, + "温åĴĮ": 109899, + "èIJ½ä¸ĭ": 109900, + "åŀĭä¼ģä¸ļ": 109901, + "åĨįä¹Ł": 109902, + "ä¾ĽçĥŃ": 109903, + "é«ĺæ½®": 109904, + "çĢı覽åύ": 109905, + "çļĦ巨大": 109906, + "åħĪ天": 109907, + "å¹´ä¸ŃåĽ½": 109908, + "类似çļĦ": 109909, + "çIJĨäºĭä¼ļ": 109910, + "空éĸĵ": 109911, + "ç쵿ĦŁ": 109912, + "åĬĽæ°Ķ": 109913, + "带ä¸Ĭ": 109914, + "ä¸į好æĦıæĢĿ": 109915, + "æľīä½ķ": 109916, + "å·²åľ¨": 109917, + "åıĸåĩº": 109918, + "è¿Ŀæ³ķçĬ¯ç½ª": 109919, + "åŃ¦ä¹łè´¯å½»": 109920, + "åľ°å¸¦": 109921, + "楼梯": 109922, + "çŃīæĥħåĨµ": 109923, + "ä»İåīį": 109924, + "çļĦä¹łæĥ¯": 109925, + "ç³Łç³ķ": 109926, + "å°±èĥ½å¤Ł": 109927, + "è©ķ": 109928, + "ä¸Ģå¾ĭ": 109929, + "æĮ«æĬĺ": 109930, + "åİŁæĸĩåľ°åĿĢ": 109931, + "å½ĵå±Ģ": 109932, + "ä¸įéĢļ": 109933, + "æķ°åįĥ": 109934, + "éĺŁä¼į建设": 109935, + "æĹ¶èĬĤ": 109936, + "åģļèµ·": 109937, + "çļĦè®°å¿Ĩ": 109938, + "ç½ij绾å®īåħ¨": 109939, + "åĩ¡æĺ¯": 109940, + "æ°¯": 109941, + "éĽķåĪ»": 109942, + "åŁĥåıĬ": 109943, + "æĪijåı¯ä»¥": 109944, + "çĽijçIJĨ": 109945, + "æĽ´åħ·": 109946, + "åŁİ管": 109947, + "èĭ¯": 109948, + "åı¥åŃIJ": 109949, + "èĭ¥æľī": 109950, + "ä»İæĿ¥ä¸į": 109951, + "缸åħ³è´Łè´£": 109952, + "å®īåħ¨æĦŁ": 109953, + "æĽ´è¦ģ": 109954, + "çļĦæĥħæĦŁ": 109955, + "çī¢çī¢": 109956, + "è¾ĥ好çļĦ": 109957, + "æ°®": 109958, + "ç¬ijè¯Ŀ": 109959, + "车å±ķ": 109960, + "ä¹ĭç¾İ": 109961, + "ç®Ģ约": 109962, + "ç±»åŀĭçļĦ": 109963, + "èĢģåĮĸ": 109964, + "çľĭä½ł": 109965, + "è¿ĩåĪĨ": 109966, + "éŨåīį": 109967, + "ä¸ĢéĹ´": 109968, + "æĥ³åİ»": 109969, + "åªĽ": 109970, + "åľŁè±Ĩ": 109971, + "åıĪç§°": 109972, + "ä¸Ńä¿¡": 109973, + "åŃĺéĩı": 109974, + "马äºij": 109975, + "èĩ´ä½¿": 109976, + "åħĪåīį": 109977, + "èĢģåŃIJ": 109978, + "æīĵæī®": 109979, + "æ¯ķä¸ļäºİ": 109980, + "æ¯ķä¸ļåIJİ": 109981, + "ç¾İ好çĶŁæ´»": 109982, + "å·¥ä¸ļä¼ģä¸ļ": 109983, + "就好äºĨ": 109984, + "èħIJèļĢ": 109985, + "çıįçıł": 109986, + "åΰè¿ĻéĩĮ": 109987, + "æīĢéľĢçļĦ": 109988, + "è¿Ļæĺ¯åĽłä¸º": 109989, + "çIJĨæĥ³çļĦ": 109990, + "å·®å¼ĤåĮĸ": 109991, + "é®": 109992, + "é®®": 109993, + "äºļ太": 109994, + "æĹłç©·": 109995, + "æıIJçݰ": 109996, + "ä¸ĵä¸ļæĬĢæľ¯": 109997, + "çĶ¢æ¥Ń": 109998, + "åѦåŃIJ": 109999, + "ç§ijå¹»": 110000, + "åįłåľ°éĿ¢ç§¯": 110001, + "ä¸įåĩĨ": 110002, + "æľªæĪIJ年人": 110003, + "æĶ¶å½ķ": 110004, + "è¿ĺ款": 110005, + "éĴ¢çŃĭ": 110006, + "æ¼¢": 110007, + "å¾ĹæĦı": 110008, + "综åIJĪä½ĵ": 110009, + "æŀģé«ĺ": 110010, + "åįķè¯į": 110011, + "é«ĺæķĪçļĦ": 110012, + "骨头": 110013, + "æī§çĿĢ": 110014, + "缼ä¸ĸ": 110015, + "模çī¹": 110016, + "æĽ´èĥ½": 110017, + "ç»ĿæľĽ": 110018, + "对åºĶçļĦ": 110019, + "æ¨Ĭ": 110020, + "æĸ°ä¸ī": 110021, + "æĸ°ä¸īæĿ¿": 110022, + "æģ°æģ°": 110023, + "åIJįå®¶": 110024, + "æł¸å¿ĥæĬĢæľ¯": 110025, + "个å°ı": 110026, + "æĢİä¹Īä¼ļ": 110027, + "说ä¸įå®ļ": 110028, + "西çĵľ": 110029, + "åĵİ": 110030, + "ç¢Ł": 110031, + "å¿ħä¸įåı¯": 110032, + "å¿ħä¸įåı¯å°ij": 110033, + "ä¹ĭéĸĵ": 110034, + "åĪĨ管": 110035, + "交éĢļäºĭæķħ": 110036, + "å¼ĢåĬŀ": 110037, + "å¾ģæ±ĤæĦıè§ģ": 110038, + "亨": 110039, + "鼻åŃIJéĥµ": 110040, + "鼻åŃIJéĥµä»¶": 110041, + "ä¿¡æģ¯æľįåĬ¡": 110042, + "ä½łè§īå¾Ĺ": 110043, + "缴è§Ĥ": 110044, + "å·²å®ĮæĪIJ": 110045, + "åĪĨä¼ļ": 110046, + "åĽŀåįĩ": 110047, + "éļ»": 110048, + "好人": 110049, + "äºĨè§£ä¸Ģä¸ĭ": 110050, + "å᫿µ´": 110051, + "æľĢçα": 110052, + "åºŀ大": 110053, + "客æĪ¿": 110054, + "çijŀåħ¸": 110055, + "éĥ½ä¸įæĺ¯": 110056, + "館": 110057, + "èĹī": 110058, + "çļĦåIJĦ项": 110059, + "ä¸ºçĽ®æłĩ": 110060, + "çļĦè®¤çŁ¥": 110061, + "å½±åĵįåĬĽçļĦ": 110062, + "å¤¸å¼ł": 110063, + "佩æĪ´": 110064, + "æ±ĩçİĩ": 110065, + "çļĦçαæĥħ": 110066, + "æĺ¥é£İ": 110067, + "æĺ¯æĪijçļĦ": 110068, + "樹": 110069, + "åįĬå°ıæĹ¶": 110070, + "å±±åİ¿": 110071, + "山西çľģ": 110072, + "èĢĮè¿Ļ": 110073, + "æĽ´å¤ļä¿¡æģ¯": 110074, + "è¿ĺæľīä¸ĢäºĽ": 110075, + "ç²¾ç»ĨåĮĸ": 110076, + "ç¾İåѦ": 110077, + "çͱæĸ¼": 110078, + "ä»ħä¾ĽåıĤèĢĥ": 110079, + "å¾Īé«ĺçļĦ": 110080, + "åıłåĬł": 110081, + "è¿Ļä¹Ī说": 110082, + "å±ķåĩº": 110083, + "åĽĽå¤Ħ": 110084, + "ä¸ĩå®¶": 110085, + "æĭĽåĭŁ": 110086, + "çļĦ强大": 110087, + "æĤ£æľī": 110088, + "å°ıäºİ": 110089, + "ä¹Łè®¸æĺ¯": 110090, + "对èĩªå·±çļĦ": 110091, + "èģĮä¸ļæķĻèĤ²": 110092, + "æĿ¥è¿Ľè¡Į": 110093, + "档次": 110094, + "æīĵèµ¢": 110095, + "éĥ½æľīçĿĢ": 110096, + "庸": 110097, + "è¯Ńæ°Ķ": 110098, + "çͲéĨĽ": 110099, + "空åĨĽ": 110100, + "车åĨħ": 110101, + "åĽłä¸ºä½ł": 110102, + "å®ŀæķĪ": 110103, + "æĥħä¾£": 110104, + "åıijè¾¾åĽ½å®¶": 110105, + "éķľåŃIJ": 110106, + "æ¯įå©´": 110107, + "ä½Ĩæĺ¯ä»ĸ": 110108, + "积æŀģæİ¨è¿Ľ": 110109, + "大å¹ħ度": 110110, + "çļĦ女åĦ¿": 110111, + "é¤IJæ¡Į": 110112, + "åIJ¬å¾Ĺ": 110113, + "çļĦ积æŀģæĢ§": 110114, + "好åIJ§": 110115, + "æĹ¥æ¶Īæģ¯": 110116, + "æľīä»»ä½ķ": 110117, + "æ¯Ĵåĵģ": 110118, + "æĹ©çĤ¹åĬłçĽŁ": 110119, + "第ä¸Ģ天": 110120, + "å°½åĬĽ": 110121, + "æłĸ": 110122, + "主æīĵ": 110123, + "æĺ¯ä¸ĢåIJį": 110124, + "çĪĨæĸĻ": 110125, + "äºĭä¸ļåıijå±ķ": 110126, + "å¾®åķĨ": 110127, + "äºİä¸Ģä½ĵçļĦ": 110128, + "çĶŁçĮª": 110129, + "èĩªçĦ¶èµĦæºIJ": 110130, + "çŀĦåĩĨ": 110131, + "è§Ħ模åĮĸ": 110132, + "å¹¶ä¸İ": 110133, + "èĤ¥èĥĸ": 110134, + "å®¶ç͍": 110135, + "大çĪ·": 110136, + "é¢ĦåijĬ": 110137, + "æĿ¥åģļ": 110138, + "éĺ³åİ¿": 110139, + "æŀĦçŃij": 110140, + "é¢ģå¥ĸ": 110141, + "åİĨåı²æĸĩåĮĸ": 110142, + "æľįåĭĻæĪĸ": 110143, + "æĢ»åĨ³èµĽ": 110144, + "åıijåŀĭ": 110145, + "æĪij羣çļĦ": 110146, + "æĽ¦": 110147, + "åıĤä¼ļ": 110148, + "èĦĨå¼±": 110149, + "åĩĨåħ¥": 110150, + "èħ¹éĥ¨": 110151, + "åı¸ä»¤": 110152, + "æĤ²åī§": 110153, + "天ä¸Ĭ": 110154, + "åı£ä¸Ń": 110155, + "ä¸ĩ个": 110156, + "åѦä¸ļ": 110157, + "æıIJåĢ¡": 110158, + "两边": 110159, + "大èĤ¡ä¸ľ": 110160, + "åı¤éķĩ": 110161, + "è¡Ģç³ĸ": 110162, + "çļĦç¨ĭ度": 110163, + "æ£īèĬ±": 110164, + "åIJİåı°": 110165, + "å°±åĮ»": 110166, + "æķ´æķ´": 110167, + "èĴ²": 110168, + "çĽĪåĪ©èĥ½åĬĽ": 110169, + "ç±½": 110170, + "èĦ«": 110171, + "çľĭéĩį": 110172, + "å®¶éķ·": 110173, + "èģĺç͍": 110174, + "èµĽéģĵ": 110175, + "åīįèĢħ": 110176, + "建èѰ": 110177, + "å¾ĭå¸ĪäºĭåĬ¡": 110178, + "èīºæľ¯åĵģ": 110179, + "æľīèĩªå·±çļĦ": 110180, + "åIJ¦å®ļ": 110181, + "ç¤¾åĽ¢": 110182, + "åij¨äºĶ": 110183, + "带åΰ": 110184, + "å·¥ä½ľä¼ļè®®": 110185, + "èĤ¡æľ¬": 110186, + "å¤ĸåĮħ": 110187, + "å®¶åħ¬åı¸": 110188, + "çĽijçĭ±": 110189, + "èĪĬ": 110190, + "åIJįæł¡": 110191, + "西æ¹ĸ": 110192, + "è¶ħè¿ĩäºĨ": 110193, + "åįĹå±±": 110194, + "ç»Ħä»¶": 110195, + "å̼å¾Ĺ注æĦı": 110196, + "æĮ£æīİ": 110197, + "äºĭ迹": 110198, + "ç¶ĵçĩŁ": 110199, + "ç§ij室": 110200, + "好åIJĹ": 110201, + "æ¤ħåŃIJ": 110202, + "åľĪåŃIJ": 110203, + "ä½Ĩ她": 110204, + "æµģçķħ": 110205, + "åIJĦèĩªçļĦ": 110206, + "èģĮåijĺ": 110207, + "è¡įçĶŁ": 110208, + "åħ¨åľº": 110209, + "æĴ¤éĶĢ": 110210, + "åį´è¢«": 110211, + "å®ģéĿĻ": 110212, + "åīįæīĢ": 110213, + "åīįæīĢæľª": 110214, + "åīįæīĢæľªæľī": 110215, + "主ä¸ļ": 110216, + "åĮĹç¾İ": 110217, + "è¯Ħå®ļ": 110218, + "åĵģå°Ŀ": 110219, + "大家éĥ½åľ¨": 110220, + "主å¸ħ": 110221, + "ç»Ĩå¿ĥ": 110222, + "ä¿¡æģ¯æĬ«éľ²": 110223, + "çļĦç«ŀäºī": 110224, + "éĢĻæ¨£çļĦ": 110225, + "ç§ijåĪĽæĿ¿": 110226, + "éĩĩæijĺ": 110227, + "票æį®": 110228, + "éĢIJå¹´": 110229, + "èĭ±è¶ħ": 110230, + "è¡Įä¸ļåĨħ": 110231, + "人寿": 110232, + "åIJİåĭ¤": 110233, + "å¦ĤæĦı": 110234, + "ç¬Ķè¯ķ": 110235, + "æ·¡æ·¡çļĦ": 110236, + "ä¸įèĪĴæľį": 110237, + "ä½ĵ积": 110238, + "ä¹Łä¸įè¦ģ": 110239, + "éĿ¢æĸĻ": 110240, + "æł·æľ¬": 110241, + "ç¥ģ": 110242, + "æĮīè§Ħå®ļ": 110243, + "大æ¦Ĥæĺ¯": 110244, + "æĥħåĨµè¿Ľè¡Į": 110245, + "åIJĦåįķä½į": 110246, + "çļĦç¬ij容": 110247, + "åĩºèī²çļĦ": 110248, + "代表æĢ§": 110249, + "çļĦç¾İ好": 110250, + "éĴ¦": 110251, + "å¾®çĶŁçī©": 110252, + "è¶Ĭæĺ¯": 110253, + "æĸ¹åı¯": 110254, + "å¹²èĦĨ": 110255, + "éģĬæĪ²": 110256, + "çļĦåħ´è¶£": 110257, + "éĹ®è´£": 110258, + "åĽłä¸ºæĪij们": 110259, + "èĢĥéĩı": 110260, + "çĶŁçĶŁ": 110261, + "éĺ»åĬĽ": 110262, + "ä¸įåħģ许": 110263, + "æıIJè®®": 110264, + "åĩıæĮģ": 110265, + "åıªæĺ¯ä¸Ģ个": 110266, + "æĪijæĬĬ": 110267, + "åıijçݰèĩªå·±": 110268, + "å¢ŀå¹ħ": 110269, + "å¦į": 110270, + "èĹĿè¡ĵ": 110271, + "ä¸Ģ家人": 110272, + "åĪĨ级": 110273, + "çļĦæķ°éĩı": 110274, + "è½®èŀįèµĦ": 110275, + "çŃīåĽłç´ł": 110276, + "大夫": 110277, + "èģĺ请": 110278, + "é£İæľº": 110279, + "绽æĶ¾": 110280, + "ä»»ä½ķä¸Ģ个": 110281, + "éłĤ": 110282, + "éĺ¶çº§": 110283, + "æĬĬ她": 110284, + "è¿ĽåĨĽ": 110285, + "èĥ½åģļåΰ": 110286, + "åŁ¹è®ŃæľºæŀĦ": 110287, + "çĸĻ": 110288, + "ç«¥è¯Ŀ": 110289, + "æĮĩ导æĦıè§ģ": 110290, + "éĺ®": 110291, + "æ·±åħ¥æİ¨è¿Ľ": 110292, + "ä¸»æľº": 110293, + "æ¸Ķä¸ļ": 110294, + "ä¸įæľį": 110295, + "æµĵéĥģ": 110296, + "è¡Ĺä¸Ĭ": 110297, + "ä¾Ŀ次": 110298, + "æĹ¶æ®µ": 110299, + "梵": 110300, + "çļĦåĸľçα": 110301, + "å¾Īéķ¿": 110302, + "åĪĿ级": 110303, + "æŀľæĸŃ": 110304, + "æĬ¢æķij": 110305, + "é¼ĵèĪŀ": 110306, + "ä¾ĽéľĢ": 110307, + "æ·±åħ¥å¼Ģå±ķ": 110308, + "产ä¸ļéĽĨ群": 110309, + "åĻªéŁ³": 110310, + "åIJ¬çĿĢ": 110311, + "æ·±åĪ»çļĦ": 110312, + "å¿įåıĹ": 110313, + "ç͵ç£ģ": 110314, + "强èĢħ": 110315, + "æ»ĭåij³": 110316, + "æĽ¼èģĶ": 110317, + "åı¯ä»¥çĽ´æİ¥": 110318, + "大米": 110319, + "æŃ·åı²": 110320, + "æĶ¿åĬ¡æľįåĬ¡": 110321, + "åħ¬å¼ı": 110322, + "社群": 110323, + "éģĵ士èģĮä¸ļ": 110324, + "ä¹ĭæĥħ": 110325, + "æµ·æ°´": 110326, + "æ¼Ķå¥ı": 110327, + "åºĹéĩĮ": 110328, + "迹象": 110329, + "åıijå±ķçIJĨ念": 110330, + "é«ĺ空": 110331, + "åij¨åĪĬ": 110332, + "åĽŀåΰäºĨ": 110333, + "ä¸įéĢĤåIJĪ": 110334, + "åłµå¡ŀ": 110335, + "åĬĪ": 110336, + "æ°´ä¸Ĭ": 110337, + "çĢijå¸ĥ": 110338, + "纳ç¨İ人": 110339, + "çĩĥæ²¹": 110340, + "å·¥ç¨ĭé¡¹çĽ®": 110341, + "峡谷": 110342, + "æľīéĴĪ对æĢ§": 110343, + "åľĨå½¢": 110344, + "æľ¬å¸Ĥ": 110345, + "è¿Ļè¯Ŀ": 110346, + "管çIJĨèĢħ": 110347, + "ç¡®è¯ĬçĹħä¾ĭ": 110348, + "æĬĬæīĭ": 110349, + "彩èī²": 110350, + "ä¸Ĭåīį": 110351, + "夯å®ŀ": 110352, + "ç¾ĬèĤī": 110353, + "å¾Ģå¹´": 110354, + "æĵħèĩª": 110355, + "迷人": 110356, + "èĪªæ¯į": 110357, + "ç²¾ç»Ĩ": 110358, + "åľ¨æĪijçļĦ": 110359, + "åĪĽæĬķ": 110360, + "麦åħĭ": 110361, + "æľĪç»ı": 110362, + "åĮĹæµ·": 110363, + "ä¹ĭæĺŁ": 110364, + "åı¶åŃIJ": 110365, + "å¸Ĥåľºç«ŀäºī": 110366, + "è¿Ļäºĭ": 110367, + "åıĥèĪĩ": 110368, + "äº§åľ°": 110369, + "åĶī": 110370, + "åķĨåĵģæĪ¿": 110371, + "èĪªè¿IJ": 110372, + "ä¼ĺå¼Ĥ": 110373, + "ä»ĸ们æĺ¯": 110374, + "éĽ¨æ°´": 110375, + "è¯įæ±ĩ": 110376, + "åĨľçͰ": 110377, + "欧éĺ³": 110378, + "çŁŃ线": 110379, + "管ç½ij": 110380, + "æł¹åŁº": 110381, + "åıªæľīä¸Ģ个": 110382, + "éŀĭåŃIJ": 110383, + "å¸Ĥå§Ķ书记": 110384, + "åĪ»æĦı": 110385, + "è¡Į车": 110386, + "åıĪ被": 110387, + "åı¯éĿłæĢ§": 110388, + "è´±": 110389, + "ä»»åij½": 110390, + "åºĶåľ¨": 110391, + "å°±å¾Ĺ": 110392, + "æľįåĬ¡ä½ĵç³»": 110393, + "æĶ¿æĿĥ": 110394, + "åıijè¨Ģ人": 110395, + "è¿ĩå¾Ģ": 110396, + "两åıª": 110397, + "èĻ½è¯´": 110398, + "éĢģä¸Ĭ": 110399, + "ä»Ģä¹Īäºĭ": 110400, + "æķ£æĸĩ": 110401, + "æİĮæİ§": 110402, + "èĸĦå¼±": 110403, + "ä¸ĭéĿ¢å°±": 110404, + "主è¦ģåĨħ容": 110405, + "å¾Īéĩįè¦ģçļĦ": 110406, + "就说": 110407, + "çϽèī²çļĦ": 110408, + "éĤ£ä¸ªæĹ¶åĢĻ": 110409, + "ç»ı纪人": 110410, + "çļĦæ¯į亲": 110411, + "ç¬Ķè®°æľ¬": 110412, + "åºķå±Ĥ": 110413, + "è¿ij代": 110414, + "解说": 110415, + "è²łè²¬": 110416, + "æľĢ大åĮĸ": 110417, + "åķĨéĵº": 110418, + "æł¡åıĭ": 110419, + "æ²ģ": 110420, + "ä¸įåĩºæĿ¥": 110421, + "éĻ·éĺ±": 110422, + "ç¨ħ": 110423, + "åħ¬å¸ĥäºĨ": 110424, + "åĩĢå̼": 110425, + "çĽ¸å¯¹è¾ĥ": 110426, + "笼": 110427, + "æł¸ç®Ĺ": 110428, + "åįİ侨": 110429, + "æĢ¥æķij": 110430, + "æĮºå¥½": 110431, + "åħĴç«¥": 110432, + "äºĮèĥİ": 110433, + "åĩºèĩª": 110434, + "åĿŁ": 110435, + "æīĭä¸ĭ": 110436, + "屡": 110437, + "åĪĽéĢłæĢ§": 110438, + "ä¸¥æł¼æĮīçħ§": 110439, + "åĨįåİ»": 110440, + "举缣": 110441, + "人æµģ": 110442, + "äºĨä¸Ģ声": 110443, + "å°ıæĹ¶åīį": 110444, + "è´µæĹı": 110445, + "éľĸ": 110446, + "ä¹Łæĺ¯éĿŀ常": 110447, + "é̱": 110448, + "çľĭäºĨçľĭ": 110449, + "ç¹ģæ®ĸ": 110450, + "èĩ³æŃ¤": 110451, + "é¢Ħå¤ĩ": 110452, + "å¾Īæĺİæĺ¾": 110453, + "æ¼Ķèīº": 110454, + "åĿIJçĿĢ": 110455, + "ä¿ĦåĨĽ": 110456, + "åľ¨è¿ĩåİ»": 110457, + "ä¹ĭäºĭ": 110458, + "æĬĵèİ·": 110459, + "åĿIJä¸ĭ": 110460, + "çͱä¸ŃåĽ½": 110461, + "ä¹Łå¼Ģå§ĭ": 110462, + "çŃĶå¤į": 110463, + "åŀĥåľ¾åĪĨç±»": 110464, + "éĴĵé±¼": 110465, + "åIJĦ種": 110466, + "缸éģĩ": 110467, + "ä¸įåģľçļĦ": 110468, + "æī¹éĩı": 110469, + "éĩįè¦ģä½ľç͍": 110470, + "å§Ķå±Ī": 110471, + "åħŃå¹´": 110472, + "ä¸ĥåįģ": 110473, + "ä¹ĭæĪĺ": 110474, + "é£İéĻ©ç®¡çIJĨ": 110475, + "éŁ³æ¨Ĥ": 110476, + "è¡ĮæĶ¿å¤Ħç½ļ": 110477, + "æľ¬äºĭ": 110478, + "æĴ°åĨĻ": 110479, + "èģļåIJĪ": 110480, + "éĢĤæĹ¶": 110481, + "æIJ¬å®¶": 110482, + "ç¢İçīĩ": 110483, + "çĽĽå®´": 110484, + "ç®Ģæ´ģ": 110485, + "åı¬éĽĨ": 110486, + "ç®ĢåĮĸ": 110487, + "åĮĹ京æĹ¶éĹ´": 110488, + "第ä¸īå±Ĭ": 110489, + "æĿ¥åĽŀ": 110490, + "常ç͍çļĦ": 110491, + "京津": 110492, + "京津åĨĢ": 110493, + "梦幻": 110494, + "è¯ķè¡Į": 110495, + "æľºåºĬ": 110496, + "åΰæľĢåIJİ": 110497, + "åĬ©æīĭ": 110498, + "åĪĨ彩": 110499, + "åĩºåĵģ": 110500, + "åĪ¹è½¦": 110501, + "åIJ¯åıij": 110502, + "ä¾§éĿ¢": 110503, + "æ¯ıå½ĵ": 110504, + "缸åħ³è§Ħå®ļ": 110505, + "ä¸ĸ人": 110506, + "è´Ń车": 110507, + "å¿ĥ缮": 110508, + "å¿ĥ缮ä¸Ń": 110509, + "äºĶéĩij": 110510, + "è¿ĺè®°å¾Ĺ": 110511, + "ä¾ĿçĦ¶æĺ¯": 110512, + "æıIJæ¡Ī": 110513, + "ç͵åķĨå¹³åı°": 110514, + "åģļåΰäºĨ": 110515, + "æĿľç»Ŀ": 110516, + "å®īåįĵ": 110517, + "ä¸ĸçķĮåIJĦåľ°": 110518, + "åīįéĢĶ": 110519, + "æ´ĹåĩĢ": 110520, + "å¥ĭåĬĽ": 110521, + "åŁİå¸Ĥ建设": 110522, + "å¤ļåĬŁèĥ½": 110523, + "ä¼ļéĢłæĪIJ": 110524, + "åıijå¸ĥä¼ļä¸Ĭ": 110525, + "究竣æĺ¯": 110526, + "åĪĨ红": 110527, + "çŁ¥èŃĺ": 110528, + "éĿ¢æĿ¿": 110529, + "æĹłå£°": 110530, + "æĢ¥éľĢ": 110531, + "å¤±çľł": 110532, + "çΏå¦Ī": 110533, + "äºĤ": 110534, + "åħ¨æĻ¯": 110535, + "ç»ıåħ¸çļĦ": 110536, + "åī§ä¸Ń": 110537, + "é¢Ĩ导ä¸ĭ": 110538, + "åħļåĨħ": 110539, + "åħ¥ä¾µ": 110540, + "æĭīæĸ¯": 110541, + "ä¸Ģå¹ķ": 110542, + "åĬłä¹ĭ": 110543, + "èĤĨ": 110544, + "èĭ±æł¼": 110545, + "èĭ±æł¼åħ°": 110546, + "å·§åħĭ": 110547, + "å·§åħĭåĬĽ": 110548, + "ä¸Ģå¿ĥ": 110549, + "èģĤ": 110550, + "å¾Ģå¾Ģæĺ¯": 110551, + "管çIJĨå±Ĥ": 110552, + "çĻ»åħ¥": 110553, + "建ç«ĭèµ·": 110554, + "å»ºåĽ½": 110555, + "åŃIJ宫": 110556, + "åºĶä»ĺ": 110557, + "æİ¢ç©¶": 110558, + "第ä¸Ģä½į": 110559, + "ä½Ļå®¶": 110560, + "çŃīæ´»åĬ¨": 110561, + "æīĢèĩ´": 110562, + "è¾ĥå¿«": 110563, + "æĺ¯éĿŀ": 110564, + "æıIJåIJį": 110565, + "äºĮèĢħ": 110566, + "åıªåī©ä¸ĭ": 110567, + "åħ¶ä¸ŃåĮħæĭ¬": 110568, + "ç¼ĸç¨ĭ": 110569, + "çł´ç¢İ": 110570, + "ä¸Ń举": 110571, + "å·¥ä½ľæĬ¥åijĬ": 110572, + "çѾåIJį": 110573, + "éħĴä¸ļ": 110574, + "çŁ¥æĻĵ": 110575, + "çĥŃå¿ĥ": 110576, + "éĿŀåĩ¡": 110577, + "èIJ¥ä¸ļæī§": 110578, + "èIJ¥ä¸ļæī§çħ§": 110579, + "人大代表": 110580, + "ä¸Ģ个æĸ°çļĦ": 110581, + "å¨ģæµ·": 110582, + "éĤ£äºº": 110583, + "涨价": 110584, + "æ¶ĪçģŃ": 110585, + "éļ¾å¿ĺ": 110586, + "ç¶ĵé©Ĺ": 110587, + "åı£è¢ĭ": 110588, + "ç³»æķ°": 110589, + "æĸĩä¸Ń": 110590, + "好转": 110591, + "æĸ°éĽ¶åĶ®": 110592, + "讲述äºĨ": 110593, + "å¼ĢçĽĺ": 110594, + "çķĻç»Ļ": 110595, + "æħ¢æħ¢çļĦ": 110596, + "æĤ²ä¼¤": 110597, + "æľ¬æľŁ": 110598, + "äºĨå¤ļå°ij": 110599, + "è¿Ļ让": 110600, + "åIJĮçŃī": 110601, + "æ¸ħæĺİ": 110602, + "个åŁİå¸Ĥ": 110603, + "æºĸåĤĻ": 110604, + "åĩłä¹İæĺ¯": 110605, + "强åĬĽ": 110606, + "俯": 110607, + "水稻": 110608, + "åĽºå®ļçļĦ": 110609, + "æł¸åĩĨ": 110610, + "说æľį": 110611, + "顯示": 110612, + "è¿Ļå¥Ĺ": 110613, + "æĻºæħ§åŁİå¸Ĥ": 110614, + "å±ĭé¡¶": 110615, + "ä¸įæĿ¥": 110616, + "çĶŁé²ľ": 110617, + "çŁ¥æĥħ": 110618, + "æĬķ身": 110619, + "åijĬè¯īæĪij们": 110620, + "ä¸īåĽĽ": 110621, + "ä¸ĩä¸Ģ": 110622, + "è¾Ĩ车": 110623, + "为ä¹ĭ": 110624, + "åΰæĹ¶åĢĻ": 110625, + "è¿Ļæīįæĺ¯": 110626, + "åIJįçīĮ": 110627, + "åºŁæ°´": 110628, + "åݻ年åIJĮæľŁ": 110629, + "å¹´éĻIJ": 110630, + "éģĭåĭķ": 110631, + "åıĮçľ¼": 110632, + "è¦ģç´§": 110633, + "对çŃĸ": 110634, + "åľºé¦Ĩ": 110635, + "çϾç§ij": 110636, + "è¶Ĭéĩİ": 110637, + "å¯ĮåIJ«": 110638, + "大å¤ļæķ°äºº": 110639, + "æľĢå°ij": 110640, + "åı¬åͤ": 110641, + "åħ¸èĮĥ": 110642, + "åĨľæľº": 110643, + "æŃ£æĸĩ": 110644, + "åºĶç͍äºİ": 110645, + "æ·±èĢķ": 110646, + "ä¿Ń": 110647, + "ä»Ģä¹Īä¸ľè¥¿": 110648, + "å¥Ĺé¤IJ": 110649, + "å½ĵéĢī": 110650, + "å·¦æīĭ": 110651, + "è°ĥçIJĨ": 110652, + "æĻļé¤IJ": 110653, + "éļ¾åħ³": 110654, + "åĩŃè¯ģ": 110655, + "çĪ±äºº": 110656, + "æĮĩè´£": 110657, + "è´£ç¼ĸ": 110658, + "çļĦä¸Ģ款": 110659, + "éĵ²": 110660, + "åįģ个": 110661, + "èĢ»": 110662, + "æľįåĬ¡åķĨ": 110663, + "åľ°çĭ±": 110664, + "è¿ŀå¿Ļ": 110665, + "åĽ°æĥij": 110666, + "çļĵ": 110667, + "ä¸įåIJĥ": 110668, + "çİ°åľ¨å·²ç»ı": 110669, + "çĽĺçĤ¹": 110670, + "ä¸įåģľåľ°": 110671, + "管çIJĨ模å¼ı": 110672, + "è¿Ļ段æĹ¶éĹ´": 110673, + "椰": 110674, + "礼åĮħ": 110675, + "æµģ转": 110676, + "æī«çłģ": 110677, + "éĽĨä¸Ńåľ¨": 110678, + "æ±ĤåĬ©": 110679, + "åįĬ个": 110680, + "å¿«éĢŁå¢ŀéķ¿": 110681, + "å¾Ģä¸ĭ": 110682, + "è¯ĦåĪĨ": 110683, + "å°±æĥ³": 110684, + "åķĨåĬ¡éĥ¨": 110685, + "æľīéĹ®é¢ĺ": 110686, + "èİ·åĪ©": 110687, + "æ¯ĽçĹħ": 110688, + "æĦŁåºĶ": 110689, + "è̧": 110690, + "åĪĨæŃ§": 110691, + "åĨī": 110692, + "æĪij们çİ°åľ¨": 110693, + "è¦ģåĬłå¼º": 110694, + "å·§å¦Ļ": 110695, + "èŀºæĹĭ": 110696, + "åĪĩæį¢": 110697, + "çĭĦ": 110698, + "顺çķħ": 110699, + "å°¤åħ¶æĺ¯åľ¨": 110700, + "èĬĿ麻": 110701, + "éļ¾è¿ĩ": 110702, + "æĹĹå¸ľ": 110703, + "å¤įåį°": 110704, + "å¤įåį°ä»¶": 110705, + "å¿ħéľĢ": 110706, + "对å¤ĸå¼ĢæĶ¾": 110707, + "éļ¾åıĹ": 110708, + "åİŁæĿ¥æĺ¯": 110709, + "ç®ĹäºĨ": 110710, + "é«ĺå±±": 110711, + "离èģĮ": 110712, + "çµĦç¹": 110713, + "çµĦç¹Ķ": 110714, + "å±ģèĤ¡": 110715, + "çϾ家": 110716, + "éģĩä¸Ĭ": 110717, + "æĺĶæĹ¥": 110718, + "ä¸į容": 110719, + "çĽij管éĥ¨éŨ": 110720, + "主æĦı": 110721, + "æµģåŁŁ": 110722, + "è·Įå¹ħ": 110723, + "èĩ³ä¸Ĭ": 110724, + "åĪ«è¯´": 110725, + "æĺ¯æ¯Ķè¾ĥ": 110726, + "å®ıè§Ĥç»ıæµİ": 110727, + "å¸Ĥåľºä¸»ä½ĵ": 110728, + "污æŁĵçī©": 110729, + "æķijæ²»": 110730, + "丰æĶ¶": 110731, + "åŃĺæĶ¾": 110732, + "åĩĦ": 110733, + "éĩijå±±": 110734, + "æį¢äºĨ": 110735, + "ä¸ĵ人": 110736, + "éĹľæĸ¼": 110737, + "æĹ¢è¦ģ": 110738, + "åĽ½è¶³": 110739, + "éļĭ": 110740, + "åıįåĩ»": 110741, + "起身": 110742, + "åħĪæĺ¯": 110743, + "å¸ĮæľĽèĥ½å¤Ł": 110744, + "åĪ¶è®¢": 110745, + "åºĹéĿ¢": 110746, + "åĸĢ": 110747, + "æķĻä½ł": 110748, + "éĻ῏©": 110749, + "åĬĽæ±Ĥ": 110750, + "ä¸īçϾ": 110751, + "çī©ä»·": 110752, + "丢失": 110753, + "å¢Ļä¸Ĭ": 110754, + "éĥ¨ä»½": 110755, + "æł·æĿ¿": 110756, + "ä¹ĭæĦı": 110757, + "ç½ijå°ıç¼ĸ": 110758, + "ä¸ĸä¸Ĭ": 110759, + "è°ĥè¯ķ": 110760, + "污æŁĵéĺ²æ²»": 110761, + "å½±éĻ¢": 110762, + "å®Įåħ¨åı¯ä»¥": 110763, + "éĢļåħ³": 110764, + "ä¹īåĬ¡æķĻèĤ²": 110765, + "没æľīåĬŀæ³ķ": 110766, + "èĢ¿": 110767, + "妳": 110768, + "æĹłæĥħ": 110769, + "å¾ĹçĽĬ": 110770, + "å¾ĹçĽĬäºİ": 110771, + "æľŁçĽ¼": 110772, + "娱ä¹IJåľº": 110773, + "çͲæĸ¹": 110774, + "ä¸Ģæ±½": 110775, + "çŰ": 110776, + "çĸijä¼¼": 110777, + "æĸ°æµªå¾®åįļ": 110778, + "强è¡Į": 110779, + "å½ĵä»ĸ": 110780, + "èĥº": 110781, + "ç͍æĪ·æıIJä¾Ľ": 110782, + "åĮºå§Ķ": 110783, + "æĦ¿æĻ¯": 110784, + "æĬĺæī£": 110785, + "失踪": 110786, + "è¿«åĪĩ": 110787, + "åŃĹæ¯į": 110788, + "åĴ¯": 110789, + "èªįèŃĺ": 110790, + "ä»Ģä¹ĪæĦıæĢĿ": 110791, + "çĽĴåŃIJ": 110792, + "å½ķéŁ³": 110793, + "建设工ç¨ĭ": 110794, + "ä¸ļä½Ļ": 110795, + "å®ŀ践活åĬ¨": 110796, + "çľŁç©º": 110797, + "çĤĸ": 110798, + "åľ¨è·¯ä¸Ĭ": 110799, + "主è¦ģåĮħæĭ¬": 110800, + "该æĢİä¹Ī": 110801, + "æĢ»æľī": 110802, + "æĢ§æĦŁ": 110803, + "æ°ijèĪª": 110804, + "å¼ĢåºĹ": 110805, + "欺éªĹ": 110806, + "çªģåĩ»": 110807, + "缺失": 110808, + "æī§ä¸ļ": 110809, + "åľ°éģĵ": 110810, + "å¹¶æĹł": 110811, + "æ°ijåĬŀ": 110812, + "ç»Ħç»ĩçĶŁæ´»": 110813, + "æĪijå¦Ī": 110814, + "è¨ĺèĢħ": 110815, + "管åζ": 110816, + "æī¾ä¸ª": 110817, + "èĹ»": 110818, + "çĤİçĹĩ": 110819, + "äºĴåĬ©": 110820, + "æµıè§Īåύ": 110821, + "çݩ家æĿ¥è¯´": 110822, + "éĻįä½İäºĨ": 110823, + "è£Ķ": 110824, + "æĮ£éĴ±": 110825, + "åķĨæľº": 110826, + "æĶ¹è£ħ": 110827, + "æµģ浪": 110828, + "æĶ¿æ³ķ": 110829, + "èĢģ头": 110830, + "çĶŁäº§åĴĮ": 110831, + "ç©Ĺ": 110832, + "亲çα": 110833, + "亲çαçļĦ": 110834, + "å±¥èģĮ": 110835, + "åŁİéĩĮ": 110836, + "ç»ĨåĪĨ": 110837, + "åĬ³åĬ¨åIJĪåIJĮ": 110838, + "åľ¨æĹ¥æľ¬": 110839, + "å¨ģå°Ķ": 110840, + "åį«è§Ĩ": 110841, + "éĢ£çµIJ": 110842, + "çĿĢéĩį": 110843, + "æĬĺ磨": 110844, + "åĽ¾ä¸º": 110845, + "çľ·": 110846, + "å·¥åºı": 110847, + "æĵģ": 110848, + "æĵģæľī": 110849, + "ç½ijç«Ļåľ°åĽ¾": 110850, + "çļĦä¸Ģ大": 110851, + "ç»Ħç»ĩå®ŀæĸ½": 110852, + "æĬĽå¼ĥ": 110853, + "åĴĮæĶ¯æĮģ": 110854, + "æ³ķåĪĻ": 110855, + "浪潮": 110856, + "çݰæľīçļĦ": 110857, + "åĩłçİĩ": 110858, + "为客æĪ·": 110859, + "åįģä¸ĩ": 110860, + "è¹Ħ": 110861, + "çªģåĩºéĹ®é¢ĺ": 110862, + "åıĥåĬł": 110863, + "éĥ½ä¼ļæľī": 110864, + "缤": 110865, + "è°ģéĥ½": 110866, + "æīĭåĬ¨": 110867, + "çĽ´è¾¾": 110868, + "çĤ¹å¤ļ": 110869, + "éĺ¶å±Ĥ": 110870, + "ä¸įä½³": 110871, + "éĤ£æ®µ": 110872, + "滨海": 110873, + "æĺ¯åĽ½åĨħ": 110874, + "æĪijå¸ĮæľĽ": 110875, + "åIJĽåŃIJ": 110876, + "è§ĤéŁ³": 110877, + "åģļé¥Ń": 110878, + "æ±½è»Ĭ": 110879, + "åħ³ç¨İ": 110880, + "çľ¼åīįçļĦ": 110881, + "æ°´éĿ¢": 110882, + "èĢ³æľº": 110883, + "追踪": 110884, + "æİ¨éĢģ": 110885, + "éĴ±åĮħ": 110886, + "æģ¶å¿ĥ": 110887, + "æµ·åŁŁ": 110888, + "å·į": 110889, + "å¼ĢæĿ¥": 110890, + "表æĢģ": 110891, + "仪表": 110892, + "å¹³åİŁ": 110893, + "åįģå¤ļå¹´": 110894, + "ä¹ŁæĹłæ³ķ": 110895, + "åħ¼é¡¾": 110896, + "è¡£æŁľ": 110897, + "æł½åŁ¹": 110898, + "æĪ¿æºIJ": 110899, + "设ç«ĭäºĨ": 110900, + "ä¸ĩåIJį": 110901, + "æķ°é¢Ŀ": 110902, + "è¦ģåĿļæĮģ": 110903, + "åIJīæŀĹçľģ": 110904, + "请èģĶç³»": 110905, + "ç»ıåİĨè¿ĩ": 110906, + "çļĦæľ¬è´¨": 110907, + "åħ¥éŨ": 110908, + "æľ¬æ¡Ī": 110909, + "çİĩè¾¾åΰ": 110910, + "åı°éĺ¶": 110911, + "éĴŀ": 110912, + "æĪijèĥ½": 110913, + "èݲèĬ±": 110914, + "éĴł": 110915, + "ä¸Ģäºĭ": 110916, + "åİŁæľīçļĦ": 110917, + "æ¯ıåĢĭ": 110918, + "æ¯Ķäºļ迪": 110919, + "æ£ĭçīĮ游æĪı": 110920, + "ä¸įä¼ļæľī": 110921, + "å½ĴæĿ¥": 110922, + "äºĶçϾ": 110923, + "è¿ĩé«ĺ": 110924, + "éĽ·è¾¾": 110925, + "ä¸Ģèµ·åİ»": 110926, + "æķĻ导": 110927, + "å°±è¯Ĭ": 110928, + "å°±å¾Ī": 110929, + "ä¸įåIJĮäºİ": 110930, + "俺": 110931, + "å¸ĸåŃIJ": 110932, + "æĶ¿åįıå§Ķåijĺ": 110933, + "çĸ«æĥħå½±åĵį": 110934, + "åĪĨè£Ĥ": 110935, + "为ä»Ģä¹Īä¼ļ": 110936, + "äºĶæĺŁ": 110937, + "å°ijåĦ¿": 110938, + "æĬ¢éĻ©": 110939, + "梦è§ģ": 110940, + "è®°èĢħéĩĩ访": 110941, + "山路": 110942, + "æĪij个人": 110943, + "æ²Ļ滩": 110944, + "è¹Ń": 110945, + "æĶ¹è®Ĭ": 110946, + "æĸ°åŀĭåĨł": 110947, + "æĸ°åŀĭåĨłçĬ¶": 110948, + "åĮ»æĬ¤": 110949, + "åĮ»æĬ¤äººåijĺ": 110950, + "æµ·å°Ķ": 110951, + "åħ³äºİæĪij们": 110952, + "éϤå¤ĸ": 110953, + "åºļ": 110954, + "宣åijĬ": 110955, + "ä¸īåįĥ": 110956, + "榨": 110957, + "ç§ijæĬĢ大åѦ": 110958, + "ä¸ĥåħ«": 110959, + "顺åºĶ": 110960, + "çΏçΏå¦Īå¦Ī": 110961, + "éĢīåıĸ": 110962, + "åī§çĥĪ": 110963, + "乡æĿijæĹħ游": 110964, + "积æŀģæİ¢ç´¢": 110965, + "表çݰ为": 110966, + "å¾Īæ¸ħæ¥ļ": 110967, + "大åĨĽ": 110968, + "æĿ¥ç͵": 110969, + "å¥ĹæĪ¿": 110970, + "çݰè¡Į": 110971, + "享åıĹåΰ": 110972, + "çľĭçĤ¹": 110973, + "åĽºå®ļèµĦ产": 110974, + "以人为": 110975, + "ä»¥äººä¸ºæľ¬": 110976, + "ä¸įå®Į": 110977, + "éĻį鼨": 110978, + "åģļçļĦäºĭæĥħ": 110979, + "å¹¶äºİ": 110980, + "顽强": 110981, + "è̏": 110982, + "åĺ´å·´": 110983, + "缸åħ³ä¿¡æģ¯": 110984, + "æĪij没": 110985, + "æĪĺçķ¥æĢ§": 110986, + "æĢĿ念": 110987, + "åĪĺå¤ĩ": 110988, + "åĬ©æĶ»": 110989, + "é£İè²Į": 110990, + "éĿ¢å¯¹éĿ¢": 110991, + "积æŀģå¼Ģå±ķ": 110992, + "çĸĹæķĪ": 110993, + "çľĭ书": 110994, + "缺åı£": 110995, + "åĽ½æ°ijç»ıæµİ": 110996, + "使ç͍æĿĥ": 110997, + "éģ¥è¿ľ": 110998, + "å¡«è¡¥": 110999, + "第ä¸ī人": 111000, + "åįĬå¤ľ": 111001, + "æŃ¦æ±īå¸Ĥ": 111002, + "æĪijåıijçݰ": 111003, + "ä¼ĺæĥłæĶ¿çŃĸ": 111004, + "é£İåı£": 111005, + "å°±ä¸įèĥ½": 111006, + "为主è¦ģ": 111007, + "æµģåĩº": 111008, + "å´ĩæĭľ": 111009, + "å¹¶ä¸įèĥ½": 111010, + "é«ĺä¸ī": 111011, + "ä¸ĸçķĮä¸ĬæľĢ": 111012, + "æĥ³å¿ħ": 111013, + "åħ¶æīĢ": 111014, + "åĢĻéĢī": 111015, + "åĢĻéĢī人": 111016, + "ä¸įçα": 111017, + "åī¯ä½ľç͍": 111018, + "人æ°ijæĹ¥æĬ¥": 111019, + "æĪijä¸įæĺ¯": 111020, + "å®ŀçī©": 111021, + "ç͵åİĤ": 111022, + "ä¹Łç®Ĺæĺ¯": 111023, + "æľīéĹľ": 111024, + "æľīèĥ½åĬĽ": 111025, + "æĮĤåľ¨": 111026, + "çľ¼ä¸ĭ": 111027, + "约翰": 111028, + "å°ıåѦçĶŁ": 111029, + "èµ·åΰäºĨ": 111030, + "工夫": 111031, + "åIJĮå¿ĥ": 111032, + "åĿ¦è¨Ģ": 111033, + "çłĮ": 111034, + "åıijæĮ¥äºĨ": 111035, + "èģĮä¸ļéģĵå¾·": 111036, + "è¿ĻäºĽå¹´": 111037, + "念头": 111038, + "èĢģé¼ł": 111039, + "åħ¨èµĦ": 111040, + "åħ¨èµĦåŃIJ": 111041, + "ä¸Ģåij³": 111042, + "å¤ļä¸ĩåħĥ": 111043, + "æł¼æľĥ": 111044, + "éķ¿éĢĶ": 111045, + "带走": 111046, + "èĭ±å¯¸": 111047, + "æĸĩä½ĵ": 111048, + "对ä»ĸ们": 111049, + "åĵŃäºĨ": 111050, + "å¡«æĬ¥": 111051, + "çīĪæĿĥ声æĺİ": 111052, + "çĶµçº¿": 111053, + "è´Ńçī©ä¸Ńå¿ĥ": 111054, + "饱满": 111055, + "ä½İ头": 111056, + "强迫": 111057, + "ä¿Ŀæ´ģ": 111058, + "欧åĨł": 111059, + "缸è¿ŀ": 111060, + "认è´Ń": 111061, + "ç쫿ĺŁ": 111062, + "é«ĺå°Ķ": 111063, + "é«ĺå°Ķ夫": 111064, + "èij«èĬ¦": 111065, + "æłĩ注": 111066, + "çļĦçIJĨæĥ³": 111067, + "æł¸éħ¸": 111068, + "æł¸éħ¸æ£Ģæµĭ": 111069, + "åĬī": 111070, + "ä¸Ģèάæĺ¯": 111071, + "æĢĿç´¢": 111072, + "轨迹": 111073, + "çĥŃ带": 111074, + "éĻ£": 111075, + "åĩĨç¡®æĢ§": 111076, + "æĪ´çĿĢ": 111077, + "åľ¨çĶŁæ´»ä¸Ń": 111078, + "æīĢèĥ½": 111079, + "æľ¯åIJİ": 111080, + "å¸¦ä½ł": 111081, + "ç¥ł": 111082, + "æ®ĭéħ·": 111083, + "ä¹Łåıªæĺ¯": 111084, + "çͳè´Ń": 111085, + "举åĬŀäºĨ": 111086, + "æľīæĦıä¹ī": 111087, + "æĹºçĽĽ": 111088, + "åľ¨ç¶²": 111089, + "åľ¨ç¶²è·¯ä¸Ĭ": 111090, + "å¾Ī大ç¨ĭ度": 111091, + "管è¾ĸ": 111092, + "çĸ«æĥħæľŁéĹ´": 111093, + "触æij¸": 111094, + "éĺ¶æ®µæĢ§": 111095, + "ä¼ļè§īå¾Ĺ": 111096, + "çļĦçĶ»éĿ¢": 111097, + "æİ¥åıĹäºĨ": 111098, + "表达äºĨ": 111099, + "éĤĵå°ı": 111100, + "éĤĵå°ıå¹³": 111101, + "åħļé£İ": 111102, + "åħļé£İå»īæĶ¿": 111103, + "åķĨåѦéĻ¢": 111104, + "åħijæį¢": 111105, + "é£Łåĵģèį¯åĵģ": 111106, + "éĿŀ常好çļĦ": 111107, + "çľ¯": 111108, + "纳米": 111109, + "åĬ¨æijĩ": 111110, + "åĽŀéģ¿": 111111, + "çľĭèijĹ": 111112, + "款项": 111113, + "åħ«å¹´": 111114, + "åģļ个": 111115, + "æĸĩæ¡£": 111116, + "éĩijèŀįç§ijæĬĢ": 111117, + "åħ¶ä¸Ńæľī": 111118, + "äºĨä¸Ģç³»åĪĹ": 111119, + "æĹĹèΰåºĹ": 111120, + "ç§°èµŀ": 111121, + "éĽ¢éĸĭ": 111122, + "åζåĨ·": 111123, + "å®¶éŨåı£": 111124, + "åįģå¤ļ": 111125, + "ä¼´ä¾£": 111126, + "çľĭçĹħ": 111127, + "æĭīçĿĢ": 111128, + "æīĴ": 111129, + "çĸ²æĥ«": 111130, + "å°ijæķ°æ°ijæĹı": 111131, + "åĽ¾å½¢": 111132, + "è½§": 111133, + "å¢ŀéĩı": 111134, + "饲åħ»": 111135, + "çģ«å±±": 111136, + "æ¯ı个æľĪ": 111137, + "ä½ľä¸ºä¸ĢåIJį": 111138, + "è½´æī¿": 111139, + "æĸĩ书": 111140, + "ç¼ķ": 111141, + "åħ·ä½ĵæĥħåĨµ": 111142, + "çĹĽçĤ¹": 111143, + "缴éĶĢ": 111144, + "å¡Ĭ": 111145, + "ä¹Łæľĥ": 111146, + "çĥŃæ½®": 111147, + "å¹³æ°ij": 111148, + "æ¼Ķåͱä¼ļ": 111149, + "æķĻçłĶ": 111150, + "éĢĥéģ¿": 111151, + "ä¸Ģè´¯": 111152, + "å°±è¶Ĭ": 111153, + "å®ŀå®ŀåľ¨": 111154, + "å®ŀå®ŀåľ¨åľ¨": 111155, + "ä¹łè¿ijå¹³æĢ»": 111156, + "溺": 111157, + "å¿ĥåºķ": 111158, + "éķ¿å¾ģ": 111159, + "媽媽": 111160, + "第ä¸ī次": 111161, + "åĩºæ¼Ķ": 111162, + "çĭĢæ³ģ": 111163, + "å°Ķæĸ¯": 111164, + "代çIJĨåķĨ": 111165, + "çĨı": 111166, + "çļĦ对象": 111167, + "ç͵éĩı": 111168, + "è¡ĮåĪĹ": 111169, + "åĽ½äºº": 111170, + "è·ijäºĨ": 111171, + "åįĶåĬ©": 111172, + "èIJ¥è¿IJ": 111173, + "å¸ĪåħĦ": 111174, + "榮": 111175, + "æĥ³åĥı": 111176, + "æĢ§å¼º": 111177, + "ç§ijåѦçłĶç©¶": 111178, + "å»¶å®ī": 111179, + "ä¸¥æł¼èIJ½å®ŀ": 111180, + "é¢Ĩä¼ļ": 111181, + "çĽ¸å·®": 111182, + "路人": 111183, + "çĶ«": 111184, + "æľīä»·å̼": 111185, + "æľīä»·å̼çļĦ": 111186, + "ç¾İåĽ¢": 111187, + "æ°ij主çĶŁæ´»": 111188, + "æĪijæīį": 111189, + "ç¾İåĽ½äºº": 111190, + "æ°Ķåij³": 111191, + "åıįå°Ħ": 111192, + "çļĦåĨ³å¿ĥ": 111193, + "大è±Ĩ": 111194, + "交代": 111195, + "è¿Ľåĩº": 111196, + "åıįæĬĹ": 111197, + "æĮĩçļĦæĺ¯": 111198, + "ä»·ä½į": 111199, + "è¿Ľé©»": 111200, + "ä¸ĬçϾ": 111201, + "ä½įåĪĹ": 111202, + "ä¸ŃåĽ½ä¼ģä¸ļ": 111203, + "çļĦ好å¤Ħ": 111204, + "主ç¼ĸ": 111205, + "汽油": 111206, + "ä½ĨæĪij们": 111207, + "æĢİä¹Īçľĭ": 111208, + "é»Ħå±±": 111209, + "å¤ļåªĴä½ĵ": 111210, + "åIJİåį«": 111211, + "èİ·å¾ĹæĽ´å¤ļ": 111212, + "åĬ¡å¿ħ": 111213, + "为å¥ijæľº": 111214, + "é¦ĸ饰": 111215, + "ä¸ĩåįļ": 111216, + "è¶ĬæĿ¥è¶Ĭ大": 111217, + "ä¸ĵ项è¡ĮåĬ¨": 111218, + "å¥ĭè¿Ľ": 111219, + "ä»įçĦ¶æĺ¯": 111220, + "è´¨æĦŁ": 111221, + "å¦Ĥæŀľä¸įæĺ¯": 111222, + "ç«Ļèµ·æĿ¥": 111223, + "ä¹¾éļĨ": 111224, + "åı¯æĢķçļĦ": 111225, + "å¯Įè´µ": 111226, + "æ¸ħç®Ĺ": 111227, + "åIJijä¸ĭ": 111228, + "åĢļ": 111229, + "çļĦçŃĶæ¡Ī": 111230, + "èιä¸Ĭ": 111231, + "çļĦ羣å®ŀæĢ§": 111232, + "çŃīåĬŁèĥ½": 111233, + "åĸľåī§": 111234, + "å¨ģåĬĽ": 111235, + "æĸ°é¢ĸ": 111236, + "æł¸ç͵": 111237, + "æĬ¥éĶĢ": 111238, + "æķħ乡": 111239, + "ä¼´éļı": 111240, + "éŀŃ": 111241, + "å¦Ĭå¨ł": 111242, + "åĪĨåĮĸ": 111243, + "æľīå¾Ī大": 111244, + "æĢİä¹Ī说": 111245, + "æĻĤ代": 111246, + "产åĩº": 111247, + "ä»ĭç»į说": 111248, + "å¤ĦçIJĨåύ": 111249, + "èĨ¨èĥĢ": 111250, + "åī¯å¸Ĥéķ¿": 111251, + "çļĦ妻åŃIJ": 111252, + "æł·åĵģ": 111253, + "åIJĮæ¯Ķä¸ĭéĻį": 111254, + "åħĥå·¦åı³": 111255, + "ç͍èĩªå·±çļĦ": 111256, + "é«ĺéĽĦ": 111257, + "æĺ¥æĻļ": 111258, + "ä¹Łæľīå¾Īå¤ļ": 111259, + "çľ¼çIJĥ": 111260, + "æķ£æŃ¥": 111261, + "ä»ĸ们éĥ½": 111262, + "第ä¸Ģå®¶": 111263, + "åĬŀ好": 111264, + "å®īéĺ²": 111265, + "ä¸Ģä¸ĩ": 111266, + "åľ¨éĩĮéĿ¢": 111267, + "éŁ³é¢ij": 111268, + "åı£åı·": 111269, + "ä¸Ģè¶Ł": 111270, + "ç¦ıçī¹": 111271, + "é³ŀ": 111272, + "æĥĬèī³": 111273, + "æĸ°å¨ĺ": 111274, + "绿èī²åıijå±ķ": 111275, + "ä¸Ńå¼ı": 111276, + "ä¹Łåıªæľī": 111277, + "çݰ身": 111278, + "åı¯ä¾Ľ": 111279, + "æ¯ıä¸Ģ个人": 111280, + "第ä¸īèĢħ": 111281, + "åľ°å½¢": 111282, + "éĴ¢ç»ĵæŀĦ": 111283, + "çĽijçĿ£æ£ĢæŁ¥": 111284, + "åı«æĪij": 111285, + "èĩ´æķ¬": 111286, + "æ´Ĺæīĭ": 111287, + "ä¸ĭè°ĥ": 111288, + "康çĨĻ": 111289, + "æĪIJ交éĩı": 111290, + "ä¹ŁæĪIJ为": 111291, + "åħīæ»ij": 111292, + "å®Įæķ´æĢ§": 111293, + "çģ¼": 111294, + "ç¶²éłģ": 111295, + "éķ¿å¯¿": 111296, + "éģ©ç͍": 111297, + "çļĦä¸Ģ项": 111298, + "çŀ©çĽ®": 111299, + "æĬĬèĩªå·±çļĦ": 111300, + "éĵ¶è¡Įåį¡": 111301, + "å°±å¿ħé¡»": 111302, + "ç¾İçϽ": 111303, + "éŀįå±±": 111304, + "æľ¬é¢Ĩ": 111305, + "ä¸Ģç¢Ĺ": 111306, + "æīĵæ³ķ": 111307, + "æĤ¨å¥½": 111308, + "对åŃ©åŃIJ": 111309, + "æĬ¥éģĵç§°": 111310, + "ä¼łåĩº": 111311, + "大èĩ£": 111312, + "ç¬ĭ": 111313, + "çĽı": 111314, + "é¾ļ": 111315, + "çĽ´çº¿": 111316, + "æĻºåºĵ": 111317, + "ç§Łè½¦": 111318, + "é£İåij³": 111319, + "çľĭä¸Ģä¸ĭ": 111320, + "æİ¨éĶĢ": 111321, + "éĥ¨éĥ¨éķ¿": 111322, + "è´¨éĩıåĴĮ": 111323, + "åĪĬçĻ»": 111324, + "å·¥ä¸ļåĮĸ": 111325, + "çİĩ为": 111326, + "鼶件": 111327, + "硬åĮĸ": 111328, + "ä¸Ĭåįĥ": 111329, + "ç»ıéªĮå̼": 111330, + "å¹³è¡Į": 111331, + "声éģĵ": 111332, + "æľįåĬ¡è´¨éĩı": 111333, + "çĶŁçĶ¢": 111334, + "æľĢ容æĺĵ": 111335, + "ä¸Ģæŀļ": 111336, + "å¹´æĬ¥": 111337, + "åħ¬ç½ij": 111338, + "åħ¬ç½ijå®ī": 111339, + "åħ¬ç½ijå®īå¤ĩ": 111340, + "çļĦèĥ½éĩı": 111341, + "å®ŀéĻħè¡ĮåĬ¨": 111342, + "è¦ģä¸įè¦ģ": 111343, + "æĹ¥æľ¬äºº": 111344, + "èĢ¶ç¨£": 111345, + "ç¼ĸåī§": 111346, + "æ¶©": 111347, + "åį°å°¼": 111348, + "ä¸Ĭä¸ĭ游": 111349, + "åĩłåı¥": 111350, + "ä¸Ńéĵģ": 111351, + "ç°¡åĸ®": 111352, + "èĩªå¸¦": 111353, + "çĶŁäºİ": 111354, + "ä¸Ģåı£æ°Ķ": 111355, + "åĭ¤å¥ĭ": 111356, + "éĻįä»·": 111357, + "å±ķçݰäºĨ": 111358, + "å¸ĥæĭī": 111359, + "ä¼ļéĢīæĭ©": 111360, + "çļĦç»ıåħ¸": 111361, + "好æľĭåıĭ": 111362, + "车éģĵ": 111363, + "æķ´åĢĭ": 111364, + "åľĵ": 111365, + "éķ¿æľŁä»¥æĿ¥": 111366, + "æĬķå½±": 111367, + "çļĩåĨł": 111368, + "è¿ĩ大": 111369, + "åijĬè¯īä»ĸ": 111370, + "ä¼ģä¸ļæıIJä¾Ľ": 111371, + "æĬ½è±¡": 111372, + "éĢĤ度": 111373, + "çļĦ女åŃ©": 111374, + "èµ·ä¼ı": 111375, + "çļĦåĬŁæķĪ": 111376, + "ä¸ĵ项æķ´æ²»": 111377, + "åı¯éĢļè¿ĩ": 111378, + "ä¸įåIJĮç¨ĭ度": 111379, + "å¼Ĥè®®": 111380, + "åĩĢèµĦ产": 111381, + "åijĹ": 111382, + "ä»Ģä¹Īåij¢": 111383, + "å·¡éĢ»": 111384, + "è¸ıä¸Ĭ": 111385, + "ä½Ĩå®ĥ": 111386, + "精度": 111387, + "管å±Ģ": 111388, + "第ä¸ĢåIJį": 111389, + "åĨħåŃĺ": 111390, + "æijĨåľ¨": 111391, + "åī©ä¸ĭ": 111392, + "主ä½ĵ责任": 111393, + "çĤ¹åįĬ": 111394, + "以èĩ³äºİ": 111395, + "åħ»èĢģä¿ĿéĻ©": 111396, + "æĦŁåıĹåΰäºĨ": 111397, + "çŁ¥åIJįçļĦ": 111398, + "å¯Į豪": 111399, + "妥åĸĦ": 111400, + "åŃĻåŃIJ": 111401, + "éĵĤ": 111402, + "说èĩªå·±": 111403, + "让æĤ¨": 111404, + "æķ°æİ§": 111405, + "çļĦçľ¼åħī": 111406, + "注éĶĢ": 111407, + "çļĦçģµéŃĤ": 111408, + "è¿ĺä¸įéĶĻ": 111409, + "éĹ®ä»ĸ": 111410, + "èĩªä¸»çłĶåıij": 111411, + "èĵĭ": 111412, + "ç´«èī²": 111413, + "åĽ½å®¶å®īåħ¨": 111414, + "è¾½å®ģçľģ": 111415, + "ä¹Łæ¯Ķè¾ĥ": 111416, + "ç¾İèĤ¡": 111417, + "ä¸įç¡®å®ļæĢ§": 111418, + "å¿ĥ头": 111419, + "æĪ³": 111420, + "级åĪ«çļĦ": 111421, + "论述": 111422, + "çļĦåĽŀçŃĶ": 111423, + "ä¿Ŀè¯ģéĩij": 111424, + "çŃīè¡Įä¸ļ": 111425, + "幸ç¦ıæĦŁ": 111426, + "æŃ§è§Ĩ": 111427, + "æľºç¥¨": 111428, + "派人": 111429, + "èĩ´åij½": 111430, + "åĺ´è§Ĵ": 111431, + "æĸ°éĹ»ä¸Ńå¿ĥ": 111432, + "æĶ¾å¼ĥäºĨ": 111433, + "å®ľå±ħ": 111434, + "åĨĻä¸ĭ": 111435, + "éĹ®çŃĶ": 111436, + "è¿ĻéĩĮæĺ¯": 111437, + "å¤ļåľ°": 111438, + "åĮºåŁŁåĨħ": 111439, + "åĸ°": 111440, + "çľĭä»ĸ": 111441, + "æī§æ³ķ人åijĺ": 111442, + "åĬ¨æľº": 111443, + "éŁ³åĵį": 111444, + "çļĦåij½è¿IJ": 111445, + "é¡¶éĥ¨": 111446, + "åĵŁ": 111447, + "éĥ½æľĥ": 111448, + "æīĵéĢłæĪIJ": 111449, + "æĦıåĽ¾": 111450, + "çļĸ": 111451, + "åĢĴåħ¥": 111452, + "å·´èIJ¨": 111453, + "åĬ©åѦ": 111454, + "å¤įåı¤": 111455, + "åIJ¯ç͍": 111456, + "åĽ½éĻħå¸Ĥåľº": 111457, + "åĤ¨èĥ½": 111458, + "é»ijé¾Ļæ±Łçľģ": 111459, + "ä¹ĺ车": 111460, + "è¿IJåĬ¨ä¼ļ": 111461, + "ä¿ĿåĪ©": 111462, + "çŁ³æĿIJ": 111463, + "çµ®": 111464, + "çĤĴä½ľ": 111465, + "çļĦä¿¡ä»»": 111466, + "å°±æĪIJäºĨ": 111467, + "åı¯è§Ĥ": 111468, + "çļĩä¸Ĭ": 111469, + "è¿Ļåĩłå¤©": 111470, + "ä¸ĢéĶ®": 111471, + "åĨ·åĨ»": 111472, + "ä¿Ŀåį«": 111473, + "æł¸æ¡ĥ": 111474, + "åIJĪä½ľåħ³ç³»": 111475, + "éĢģåĩº": 111476, + "æĹĹä¸ĭçļĦ": 111477, + "åľ¨ä¹İ": 111478, + "为广大": 111479, + "åįĪé¤IJ": 111480, + "ä¸ĵ访": 111481, + "æĪĸå°Ĩ": 111482, + "éĿĴå²Ľå¸Ĥ": 111483, + "å¥Ķè·ij": 111484, + "æĹ¥æĬ¥éģĵ": 111485, + "å¥ijåIJĪ": 111486, + "æĸ°æĺ¥": 111487, + "ä¸įå°ıå¿ĥ": 111488, + "两ä¸ī": 111489, + "æĦıæĢĿæĺ¯": 111490, + "åĨ·èĹı": 111491, + "çļĦçĹĩçĬ¶": 111492, + "æĢ§åij½": 111493, + "è¶ħæłĩ": 111494, + "å¯Ĩ碼": 111495, + "ç§ijæĬĢèĤ¡ä»½": 111496, + "äºĨä¸Ģæī¹": 111497, + "çĿ£å¯Ł": 111498, + "åªĴä»ĭ": 111499, + "å°Ħæīĭ": 111500, + "ä¿®åħ»": 111501, + "çīĩåĪ»": 111502, + "éĢĤåIJĪèĩªå·±": 111503, + "åıªè¦ģæĺ¯": 111504, + "åIJĥè¿ĩ": 111505, + "éĩijéĵ¶": 111506, + "缴å±ŀ": 111507, + "åѦéĹ®": 111508, + "åİĭåζ": 111509, + "çªĹå¤ĸ": 111510, + "æĶ¶åΰäºĨ": 111511, + "åħ¨åĽ½äººå¤§": 111512, + "ä½Ĩæĺ¯å¯¹äºİ": 111513, + "åľ¨æķ´ä¸ª": 111514, + "çļĦèĥĮåIJİ": 111515, + "åĩıå°ijäºĨ": 111516, + "åıįèħIJ": 111517, + "åıįèħIJåĢ¡": 111518, + "åıįèħIJåĢ¡å»ī": 111519, + "æĹ·": 111520, + "åĪĨæľŁ": 111521, + "åľ¨æ·±åľ³": 111522, + "æīĵçĿĢ": 111523, + "æī«ä¸Ģ": 111524, + "æī«ä¸Ģæī«": 111525, + "æĶ¿åºľéĥ¨éŨ": 111526, + "æİ¥è¿ŀ": 111527, + "å±ŀäºİèĩªå·±": 111528, + "åŃIJå¼¹": 111529, + "åIJĮæł·æĺ¯": 111530, + "æĢ»åħ±": 111531, + "车ä¼ģ": 111532, + "æ¢ĵ": 111533, + "åħ¬é¡·": 111534, + "åıij声": 111535, + "éĴĽ": 111536, + "èµ°åĬ¿åĽ¾": 111537, + "主èIJ¥": 111538, + "åĸĶ": 111539, + "æķ°æį®åĪĨæŀIJ": 111540, + "ä¸įè¿ľ": 111541, + "æľīåIJį": 111542, + "æľīåIJįçļĦ": 111543, + "åģ¿è¿ĺ": 111544, + "å¾Īä½İ": 111545, + "è®ĵ人": 111546, + "èĿī": 111547, + "é«ĺè´µ": 111548, + "å°ij许": 111549, + "æ°Ł": 111550, + "å¹¢": 111551, + "亲æĥħ": 111552, + "è¿Ļä»¶äºĭæĥħ": 111553, + "ç͍é¤IJ": 111554, + "缸åħ³æĸ°éĹ»": 111555, + "å°±åºĶ该": 111556, + "ç»ĪçĤ¹": 111557, + "æĺ¯å¤ļå°ij": 111558, + "çĻ»åľº": 111559, + "è¯ķ管": 111560, + "è¯ķ管婴åĦ¿": 111561, + "åģļ大": 111562, + "åģļ大åģļ强": 111563, + "çļĦä¾ĭåŃIJ": 111564, + "åħ«ä¸ª": 111565, + "æĺİæĹ¥": 111566, + "çĤ³": 111567, + "èµ°åİ»": 111568, + "éģº": 111569, + "墩": 111570, + "ä½ĵä¼ļåΰ": 111571, + "åĴı": 111572, + "ä¸ĭè¾¾": 111573, + "å¤įåıij": 111574, + "追éĢIJ": 111575, + "æīĵåĵį": 111576, + "çļĦéļ±ç§ģæ¬Ĭ": 111577, + "åħ·æľīä¸Ģå®ļ": 111578, + "è¿Ļä¹Īå¤ļå¹´": 111579, + "æłijæŀĹ": 111580, + "æľĢéķ¿": 111581, + "åIJĮèĥŀ": 111582, + "åħīæ³½": 111583, + "åŁŁåIJį": 111584, + "æĮĩåIJij": 111585, + "åıĹ害èĢħ": 111586, + "æłijèĦĤ": 111587, + "æľīå¤ļ大": 111588, + "大éĿ¢ç§¯": 111589, + "æĹłç¼Ŀ": 111590, + "æĶ¹æŃ£": 111591, + "æĽ´å¤ļçļĦæĺ¯": 111592, + "æľŁæľ«": 111593, + "æŃ¼": 111594, + "ä¹īä¹Į": 111595, + "éĤ£ä½ł": 111596, + "çļĦ第ä¸Ģ个": 111597, + "èĮµ": 111598, + "å°§": 111599, + "èį«": 111600, + "ä¸įä»ħåı¯ä»¥": 111601, + "æ¶Įçݰ": 111602, + "æĢ»éĿ¢ç§¯": 111603, + "æĸ°éĹ»åıijå¸ĥ": 111604, + "æ°ijç͍": 111605, + "就读": 111606, + "æīĵè´¥": 111607, + "å¤ĸè¯Ń": 111608, + "æĪij们ä¸Ģèµ·": 111609, + "é¢Ħå®ļ": 111610, + "çĥ¹é¥ª": 111611, + "æľĢ主è¦ģ": 111612, + "æľĢ主è¦ģçļĦ": 111613, + "çīĮçħ§": 111614, + "åĽłåħ¶": 111615, + "ä½İä¸ĭ": 111616, + "ä¼ļåIJĮ": 111617, + "è§ģè§£": 111618, + "éĹ´éļĶ": 111619, + "æķĻç¨ĭ": 111620, + "å°ī": 111621, + "å¸Ĥä¸Ńå¿ĥ": 111622, + "åħ³éĶ®æĺ¯": 111623, + "æµ·åįĹçľģ": 111624, + "çī¹åĪ«æĺ¯åľ¨": 111625, + "ä¸ŃåĽ½å¤§éĻĨ": 111626, + "åħħè¶³çļĦ": 111627, + "æĹ¢èĥ½": 111628, + "åĤ³çµ±": 111629, + "çijľä¼½": 111630, + "åħ¥åĽ´": 111631, + "æħ¢æħ¢åľ°": 111632, + "æĬ¥éħ¬": 111633, + "æī¹å¤į": 111634, + "å·¥ä¸ļåĽŃåĮº": 111635, + "ä¸İåıijå±ķ": 111636, + "èĥ¸éĥ¨": 111637, + "åľ¨ç½ij绾": 111638, + "åľ¨ç½ij绾ä¸Ĭ": 111639, + "交è°Ī": 111640, + "æĽ´æĶ¹": 111641, + "åįłæľīçİĩ": 111642, + "ä¸Ŀ绸ä¹ĭè·¯": 111643, + "è¡Ľ": 111644, + "çłĶåΤ": 111645, + "åĪª": 111646, + "åĪªéϤ": 111647, + "è¿Ļåıª": 111648, + "çļĦæ°Ķæģ¯": 111649, + "åĬłå·ŀ": 111650, + "éĴ§": 111651, + "çIJĨäºĭéķ¿": 111652, + "ä¸ĸå®¶": 111653, + "æµģè¡ĮçļĦ": 111654, + "å¾Īæľīåı¯èĥ½": 111655, + "们éĥ½": 111656, + "ç»ıèIJ¥æ¨¡å¼ı": 111657, + "è¡Įä¸ļä¸Ń": 111658, + "éĢļçŁ¥ä¹¦": 111659, + "åij½é¢ĺ": 111660, + "æľ¬ç¶²ç«Ļ": 111661, + "æ²Ļçī¹": 111662, + "åıijåħī": 111663, + "é«ĺä»·": 111664, + "å·²çĦ¶": 111665, + "åıĮåįģä¸Ģ": 111666, + "ä¸Ĭè¯ī": 111667, + "ç¿ħèĨĢ": 111668, + "è¿Ļä¸Ģå¹´": 111669, + "大ä¼ļä¸Ĭ": 111670, + "éĩī": 111671, + "å®Įåħ¨æĺ¯": 111672, + "å¾Ĺ太": 111673, + "ä¸ĢèĪ¬äºº": 111674, + "è¿ĺç®Ĺ": 111675, + "æĬĺåıł": 111676, + "æĬķæľº": 111677, + "çĤ¹çĩĥ": 111678, + "çݰéĩijæµģ": 111679, + "åħĶåŃIJ": 111680, + "ç½ijæł¼": 111681, + "æİ¥è¿ĩ": 111682, + "ä¾Ľè´§": 111683, + "éĺ´å½±": 111684, + "åİŁåħĪ": 111685, + "æį£": 111686, + "左侧": 111687, + "åħĭæĭī": 111688, + "æīĵåį¡": 111689, + "ç§ijæ¯Ķ": 111690, + "æ±ĩéĽĨ": 111691, + "åľ°çIJĨä½įç½®": 111692, + "è¯Ħå§Ķ": 111693, + "ç»ĵåIJĪèµ·æĿ¥": 111694, + "è¿Ľåħ¥åΰ": 111695, + "åı¯è¡Į": 111696, + "åı¯è¡ĮæĢ§": 111697, + "让å®ĥ": 111698, + "åĪ¶åº¦æĶ¹éĿ©": 111699, + "çĶĺèĤĥçľģ": 111700, + "åĵĹ": 111701, + "åģıåģı": 111702, + "è¡£çī©": 111703, + "ç¥Ŀè´º": 111704, + "æºIJèĩª": 111705, + "å¹¶ä¸į代表": 111706, + "åĽ½åº¦": 111707, + "好åĿı": 111708, + "æĿĸ": 111709, + "æĿŃå·ŀå¸Ĥ": 111710, + "湿度": 111711, + "鲸": 111712, + "åįļ彩": 111713, + "æ³°å±±": 111714, + "æĿijèIJ½": 111715, + "æĸ°èģŀ": 111716, + "èĤĭ": 111717, + "åı¤èĢģçļĦ": 111718, + "çļĦç§ĺå¯Ĩ": 111719, + "ä¸Ģ个éĹ®é¢ĺ": 111720, + "éģıåζ": 111721, + "åįĥ亿": 111722, + "è¿ĩ硬": 111723, + "å°Ħåĩ»": 111724, + "èĩªçĦ¶æĺ¯": 111725, + "产åĮº": 111726, + "çĤ¹çĤ¹å¤´": 111727, + "åı¯ä»¥å¸®åĬ©": 111728, + "说å®ŀ": 111729, + "说å®ŀè¯Ŀ": 111730, + "æĪijåıªæĺ¯": 111731, + "ä¹ĭä½Ļ": 111732, + "åIJĮæĹ¶ä¹Łæĺ¯": 111733, + "ä¸ŃåĽ½éĺŁ": 111734, + "建æĪIJåIJİ": 111735, + "ä¹IJè§Ĩ": 111736, + "åij¨å²ģ": 111737, + "èį¯åºĹ": 111738, + "éĩijåįİ": 111739, + "严éĩįå½±åĵį": 111740, + "è´¨åľ°": 111741, + "æĹħéģĬ": 111742, + "åħµåύ": 111743, + "æķĻèĤ²æķĻåѦ": 111744, + "离åİ»": 111745, + "åIJĦå¼ıåIJĦæł·": 111746, + "ä»ĭç´": 111747, + "ä»ĭç´¹": 111748, + "å¼Ģ头": 111749, + "å°Ĩèĩªå·±çļĦ": 111750, + "åIJ¬åĬĽ": 111751, + "ä¿¡æģ¯ç³»ç»Ł": 111752, + "ä»İæł¹æľ¬": 111753, + "ä»İæł¹æľ¬ä¸Ĭ": 111754, + "æİĮ声": 111755, + "欢åĸľ": 111756, + "å±ķåĮº": 111757, + "åķ¸": 111758, + "太å¤ļäºĨ": 111759, + "éĹ²ç½®": 111760, + "èĥ¡èIJĿåįľ": 111761, + "å§Ķå®£ä¼ł": 111762, + "å§Ķå®£ä¼łéĥ¨": 111763, + "åįĹéĺ³": 111764, + "å·ŀåĮº": 111765, + "ä¸İæĹ¶": 111766, + "ä¸İæĹ¶ä¿±": 111767, + "ä¸İæĹ¶ä¿±è¿Ľ": 111768, + "å«Įçĸij人": 111769, + "èī¯å¿ĥ": 111770, + "头顶": 111771, + "è´¢æĬ¥": 111772, + "ä½Ľæ³ķ": 111773, + "å¾µ": 111774, + "åİŁä»¶": 111775, + "åĭŀ": 111776, + "çĶ·ç¯®": 111777, + "å¤ĸåĽ½äºº": 111778, + "è¿Ŀ纪": 111779, + "æī¾äºĨ": 111780, + "æįķæįī": 111781, + "缸è¯Ĩ": 111782, + "æIJľéĽĨ": 111783, + "çļĦä¼Łå¤§": 111784, + "ä¸īç»´": 111785, + "å°±è¡ĮäºĨ": 111786, + "çĭIJæľĪ": 111787, + "çĭIJæľĪå±±": 111788, + "å¸ĮæľĽéĢļè¿ĩ": 111789, + "èĢĮ对äºİ": 111790, + "éĿ¢å°į": 111791, + "åĨĽåĽ¢": 111792, + "è¡ĹåĮº": 111793, + "æĤ¬æĮĤ": 111794, + "便ç§ĺ": 111795, + "æľīä¸ĢçĤ¹": 111796, + "ä¼ļè®®ä¸Ĭ": 111797, + "ä¸ĭæīĭ": 111798, + "廣åijĬ": 111799, + "äºĶè¡Į": 111800, + "çŃīåĢĻ": 111801, + "ç´§ç´§åĽ´ç»ķ": 111802, + "æĭ¿äºĨ": 111803, + "æ¡ĮéĿ¢": 111804, + "ç¥ŀæĥħ": 111805, + "éĽĦåİļ": 111806, + "çŀ³": 111807, + "楼ä¸ĭ": 111808, + "彪": 111809, + "äºĭåıij": 111810, + "åĨįè§ģ": 111811, + "é¤ĺ": 111812, + "é¢ĦåĶ®": 111813, + "åİ»çľĭçľĭ": 111814, + "æĪij们åºĶ该": 111815, + "ä¸īå®¶": 111816, + "æµĬ": 111817, + "ä¹IJéĺŁ": 111818, + "çľĭä¸įè§ģ": 111819, + "èĦijåŃIJ": 111820, + "æĮģæľīçļĦ": 111821, + "çϽèıľ": 111822, + "éĹªçĥģ": 111823, + "åĸĿæ°´": 111824, + "æİ§åĪ¶ç³»ç»Ł": 111825, + "ä¸ĵåĮº": 111826, + "æľĿå»·": 111827, + "æĪijå¿ĥéĩĮ": 111828, + "å±ķåİħ": 111829, + "èľĺèĽĽ": 111830, + "åĨ»ç»ĵ": 111831, + "粪": 111832, + "åºIJ": 111833, + "åIJij社ä¼ļ": 111834, + "åĨ³çŃĸéĥ¨ç½²": 111835, + "çŁŃæľŁåĨħ": 111836, + "æĸ°ä¸ļæĢģ": 111837, + "æľĶ": 111838, + "æĹ¶æĬ¥": 111839, + "使ä¹ĭ": 111840, + "åĽłåŃIJ": 111841, + "åıĤä¸İèĢħ": 111842, + "çļĦ年轻人": 111843, + "æīĭ表": 111844, + "å°ģéĶģ": 111845, + "为ä»Ģä¹Īä¸į": 111846, + "åIJ¸çĥŁ": 111847, + "æ¯Ĵç´ł": 111848, + "åĪijæ³ķ": 111849, + "磫æŃ£": 111850, + "身æĹģ": 111851, + "åİŁè°ħ": 111852, + "çĽijæĬ¤": 111853, + "æŃ¤å¤Ħ": 111854, + "éĻĤ": 111855, + "æŀľå®ŀ": 111856, + "åĮ»çĸĹæľįåĬ¡": 111857, + "ä¸įåIJĪçIJĨ": 111858, + "æIJŀ好": 111859, + "çļĦèĦļæŃ¥": 111860, + "å¤ĸå¥Ĺ": 111861, + "ç¶ĵéģİ": 111862, + "æĶ¾ç¼ĵ": 111863, + "åģľçķĻ": 111864, + "æĺŁçIJĥ": 111865, + "çļĦä¸ĢéĿ¢": 111866, + "åĩłä½ķ": 111867, + "è½®åĽŀ": 111868, + "æ¯Ľå·¾": 111869, + "ä¿®çIJĨ": 111870, + "ä¸įçŁ¥ä¸į": 111871, + "ä¸įçŁ¥ä¸įè§ī": 111872, + "æķ´ä¸ªäºº": 111873, + "æ¯ģçģŃ": 111874, + "åı°å·ŀ": 111875, + "使çĶ¨å¯¿åij½": 111876, + "é»ijçϽ": 111877, + "æij¸ç´¢": 111878, + "é¼łæłĩ": 111879, + "éĿ©æĸ°": 111880, + "麵": 111881, + "ä¸ĵéĹ¨ä¸º": 111882, + "å¾Īå¤ļæľĭåıĭ": 111883, + "å·¥ä½ľç»Ħ": 111884, + "åIJĪå½±": 111885, + "çĤºä»Ģ麼": 111886, + "æŀģ度": 111887, + "çļĦè¿ĽæŃ¥": 111888, + "å½ĵä¹ĭ": 111889, + "å½ĵä¹ĭæĹł": 111890, + "å½ĵä¹ĭæĹłæĦ§": 111891, + "è´´è¿ij": 111892, + "尺度": 111893, + "åľ¨çİ°åľº": 111894, + "éĻį临": 111895, + "åħ»èĢģéĩij": 111896, + "ç£ķ": 111897, + "åı¯ä»¥ä½¿": 111898, + "管çIJĨæ°´å¹³": 111899, + "æľ¬æĬ¥è®°èĢħ": 111900, + "æ³ķ令": 111901, + "åį¡è½¦": 111902, + "ä¸ľæµ·": 111903, + "å¤ļéĩį": 111904, + "åħ¶éĹ´": 111905, + "ç´Ļ": 111906, + "éĩįå¤§é¡¹çĽ®": 111907, + "æ±Ĺæ°´": 111908, + "ç»Ħå§Ķä¼ļ": 111909, + "ä¿¡æģ¯åħ¬å¼Ģ": 111910, + "ä¸į论æĺ¯": 111911, + "ä¸ĢåIJ¬": 111912, + "èĴ¸æ±½": 111913, + "æıŃç§ĺ": 111914, + "è¶ħéģİ": 111915, + "触åıij": 111916, + "婦": 111917, + "åħ³èģĶ交æĺĵ": 111918, + "å°±ç»Ļ大家": 111919, + "好ä¹ħ": 111920, + "åĢŁè´·": 111921, + "游æĪıè§Ĵèī²": 111922, + "å¼ĢåIJ¯äºĨ": 111923, + "æİł": 111924, + "åħļçļĦåįģä¹Ŀ": 111925, + "ä¸ĭ鼨": 111926, + "çŁŃæĹ¶éĹ´åĨħ": 111927, + "å¯ħ": 111928, + "导åħ¥": 111929, + "å·¥ä½ľç»ıéªĮ": 111930, + "ä¹Łåıªèĥ½": 111931, + "鼷éľĨ": 111932, + "è·Łè¿Ľ": 111933, + "åį¡éĢļ": 111934, + "é¢ĩæľī": 111935, + "æľºä½ĵ": 111936, + "æĪĺ士èģĮä¸ļ": 111937, + "女主": 111938, + "ä½ĵåĪ¶æľºåζ": 111939, + "è¶³åįı": 111940, + "èĪĴéĢĤçļĦ": 111941, + "åĢŁåı£": 111942, + "æī¹åΤ": 111943, + "æķ°å̼": 111944, + "諾": 111945, + "éĺ¿æĭī伯": 111946, + "åĺİ": 111947, + "æħ¶": 111948, + "达人": 111949, + "å¼Ģæ°´": 111950, + "å¤§éĽ¨": 111951, + "温室": 111952, + "ä½İè¿·": 111953, + "ä»įæĹ§": 111954, + "éªĹåŃIJ": 111955, + "亲å±ŀ": 111956, + "çIJĨæĻº": 111957, + "æľ¬åŁºéĩij": 111958, + "å¨ħ": 111959, + "åĨĻåŃĹæ¥¼": 111960, + "å¢Ļå£ģ": 111961, + "宵": 111962, + "èϽçĦ¶æĺ¯": 111963, + "顺çĿĢ": 111964, + "åħ«åį¦": 111965, + "åķĨç͍": 111966, + "ä¸į失": 111967, + "è¿·èĮ«": 111968, + "顺便": 111969, + "æļijæľŁ": 111970, + "æ¬ºè´Ł": 111971, + "é¢ijé¢ij": 111972, + "è¯¥æł¡": 111973, + "æĸĻçIJĨ": 111974, + "æ·±æĥħ": 111975, + "åīįéĶĭ": 111976, + "ä¿ĿèŃī": 111977, + "èģĮä¸ļçĶŁæ¶¯": 111978, + "åħ¬å¼Ģåıij": 111979, + "åħ¬å¼Ģåıijè¡Į": 111980, + "åħ¥æĪ·": 111981, + "éłĵ": 111982, + "å̾åIJ¬": 111983, + "éŃģ": 111984, + "æĦīæĤ¦": 111985, + "åĽŀåIJĪ": 111986, + "åħ¨åĬĽä»¥": 111987, + "åħ¨åĬĽä»¥èµ´": 111988, + "åĥ¹å̼": 111989, + "èĥ½åĬĽå¼º": 111990, + "ç»ıå¼Ģ": 111991, + "ç»ıå¼ĢåĮº": 111992, + "è¿ľæĸ¹": 111993, + "çļĦéģĵçIJĨ": 111994, + "缴åįĩ": 111995, + "缴åįĩæľº": 111996, + "为主é¢ĺçļĦ": 111997, + "ç»ĻæĤ¨": 111998, + "è¿ĺæĥ³": 111999, + "æ¯ĶæĪij": 112000, + "åĨľçī§": 112001, + "æµ·åºķ": 112002, + "çŃ¾è®¢äºĨ": 112003, + "对äºİæĪij们": 112004, + "æĹ¶è®¸": 112005, + "éĶ®çĽĺ": 112006, + "å®ŀéĻħæİ§åζ": 112007, + "çļĦæ¨¡æł·": 112008, + "åıįæĺłäºĨ": 112009, + "代åĬŀ": 112010, + "åĮ»ç͍": 112011, + "éĽĨç»ĵ": 112012, + "åıijå±ķåīįæĻ¯": 112013, + "æĮĩçĿĢ": 112014, + "åįİåĮĹ": 112015, + "è¿Ļåĩłä¸ª": 112016, + "åIJįæ°Ķ": 112017, + "åĤįæĻļ": 112018, + "èĩªåıij": 112019, + "æ³¢åħ°": 112020, + "大åĬĽæİ¨è¿Ľ": 112021, + "èĩªç§°": 112022, + "èįĨå·ŀ": 112023, + "æIJį害": 112024, + "äºĨä¸Ģåı¥": 112025, + "æľĢåĪĿçļĦ": 112026, + "éĩijèŀįå᱿ľº": 112027, + "æĢĢ念": 112028, + "è¡Įåĭķ": 112029, + "女æİĴ": 112030, + "ä¸įè§£": 112031, + "ä¼łéĶĢ": 112032, + "转载请": 112033, + "饰åĵģ": 112034, + "åıªä¸º": 112035, + "ä¸İä¼Ĺ": 112036, + "ä¸İä¼Ĺä¸įåIJĮ": 112037, + "èĥ½èĢĹ": 112038, + "èı©æıIJ": 112039, + "è¿ij两年": 112040, + "è¿Ķ乡": 112041, + "马ä¸Ĭå°±": 112042, + "äºĮçŃīå¥ĸ": 112043, + "水管": 112044, + "æ³ķåѦ": 112045, + "çģŃçģ«": 112046, + "大å§IJ": 112047, + "åij¨è½¬": 112048, + "æľīæľŁ": 112049, + "æľīæľŁå¾Ĵ": 112050, + "æľīæľŁå¾ĴåĪij": 112051, + "å°įæĸ¹": 112052, + "ç¥ŀèī²": 112053, + "æ²¹èĦĤ": 112054, + "ä¸īçĤ¹": 112055, + "ä¸įåĪ©äºİ": 112056, + "äºĭä¸ļéĥ¨": 112057, + "å°±è·Ł": 112058, + "å¼ĢæĶ¯": 112059, + "å°ı女åŃ©": 112060, + "åħ±åIJĮåĬªåĬĽ": 112061, + "çĶļèĩ³è¿ĺ": 112062, + "è¿ĻåIJį": 112063, + "è¿Ļç¬Ķ": 112064, + "çݯåį«": 112065, + "æľīç§į": 112066, + "è§ĨåĬĽ": 112067, + "çĨŁçŁ¥": 112068, + "åħ¬ç§¯éĩij": 112069, + "æ¶Īéĺ²å®īåħ¨": 112070, + "é¢ĩ为": 112071, + "大èħ¿": 112072, + "éĿ¶": 112073, + "çķĪ": 112074, + "æľįåĬ¡åĮº": 112075, + "å¼Ģåĩº": 112076, + "深度èŀįåIJĪ": 112077, + "æĹłå¿§": 112078, + "æŁ¥éĺħ": 112079, + "ç»Īç»ĵ": 112080, + "ä¿Ŀç¨İ": 112081, + "è¨İè«ĸ": 112082, + "å½ĵåģļ": 112083, + "è·³èĪŀ": 112084, + "寧": 112085, + "女çİĭ": 112086, + "è®°èĢħåľ¨": 112087, + "åħ¨äº§ä¸ļéĵ¾": 112088, + "è´¯éĢļ": 112089, + "åħ´ä¸ļ": 112090, + "éĻįåΰ": 112091, + "å°ģéĿ¢": 112092, + "åħ¨éĿ¢æİ¨è¿Ľ": 112093, + "奶èĮ¶": 112094, + "éĢīåĿĢ": 112095, + "äºĨä¸Ģåľº": 112096, + "åIJĮä¼´": 112097, + "议论": 112098, + "æIJĵ": 112099, + "诸èijĽ": 112100, + "诸èijĽäº®": 112101, + "å¹²åĺĽ": 112102, + "æµģæĦŁ": 112103, + "ä¸ĵä¸ļçŁ¥è¯Ĩ": 112104, + "ç͵ç«Ļ": 112105, + "åĩıå¼±": 112106, + "åĩºåħ¥": 112107, + "åIJĦçľģ": 112108, + "éĿŀ常é«ĺ": 112109, + "åľ°æ¯¯": 112110, + "åıijæĸĩ": 112111, + "çĦī": 112112, + "çĥ§çĥ¤": 112113, + "å£ģ纸": 112114, + "æģ¶åĮĸ": 112115, + "èĬ¸": 112116, + "èĥĸåŃIJ": 112117, + "çĩĴ": 112118, + "çľģéĴ±": 112119, + "çĻ¾å¼º": 112120, + "çIJĨ工大åѦ": 112121, + "éĴ¢æĿIJ": 112122, + "åĽ½æľīèµĦ产": 112123, + "æĪĺæľº": 112124, + "æ³Ħéľ²": 112125, + "åIJİéĿ¢çļĦ": 112126, + "æ°´èµĦæºIJ": 112127, + "æ¢ħèĬ±": 112128, + "åĨĻçĿĢ": 112129, + "ä¹ĭ声": 112130, + "æĹłåı¯": 112131, + "æĺİæľĿ": 112132, + "ç«ĭæĸ¹ç±³": 112133, + "ç·£": 112134, + "æĶ¾è¿ĩ": 112135, + "ç¦ıçͰ": 112136, + "å¾Ĺä½ı": 112137, + "åıĹä¼Ĺ": 112138, + "ä¸Ń级": 112139, + "çĹħåıĺ": 112140, + "ä¸Ģçŀ¬éĹ´": 112141, + "æĿĥéĩį": 112142, + "人æĢ§åĮĸ": 112143, + "åĮ»çĸĹåį«çĶŁ": 112144, + "ä¸įåΰä½į": 112145, + "æĻºèĥ½å®¶å±ħ": 112146, + "饮ç͍": 112147, + "æ¼Ķåıĺ": 112148, + "é«ĺç´łè´¨": 112149, + "ä¹Ļæĸ¹": 112150, + "åģľçķĻåľ¨": 112151, + "èİ·æī¹": 112152, + "ç©¿æ¢Ń": 112153, + "å®¢åľº": 112154, + "æĮ½åĽŀ": 112155, + "京åŁİ": 112156, + "çĶŁåij½åĬĽ": 112157, + "實éļĽ": 112158, + "çĩĪ": 112159, + "åĨįçݰ": 112160, + "çݰå®ŀä¸Ń": 112161, + "æľīä¿¡å¿ĥ": 112162, + "çĸıéĢļ": 112163, + "åĺ´åĶĩ": 112164, + "鼷éĶĭ": 112165, + "èıľåįķ": 112166, + "éħ¯": 112167, + "è¶ħé«ĺ": 112168, + "å¾Īé«ĺåħ´": 112169, + "çĶŁæ®ĸ": 112170, + "éĢłä»·": 112171, + "误åĮº": 112172, + "æĨĭ": 112173, + "好æ¶Īæģ¯": 112174, + "å´Ń": 112175, + "以èĩ´": 112176, + "å¼Ģçİ©ç¬ij": 112177, + "çĽijè§Ĩ": 112178, + "å·¡å¯Ł": 112179, + "å¾·å·ŀ": 112180, + "æĹ©æĹ©": 112181, + "éĹªç͵": 112182, + "æĪªåĽ¾": 112183, + "åı¯ä»¥æł¹æį®": 112184, + "æīĭèīº": 112185, + "æİ¥è½¨": 112186, + "ç§įæĹı": 112187, + "æĢĢéĩĮ": 112188, + "åİ»åĮ»éĻ¢": 112189, + "ä¸ĢäºĮ": 112190, + "å¼ĢéĺĶ": 112191, + "åĩıéĢŁ": 112192, + "ä½Ĩä»İ": 112193, + "éĢĻä¸Ģ": 112194, + "åĩıåħį": 112195, + "主é¢ĺæķĻèĤ²": 112196, + "å¼Ģ工建设": 112197, + "蹦": 112198, + "æľĪ饼": 112199, + "ä¸ĭæ²ī": 112200, + "å°Ĭ严": 112201, + "éĻĩ": 112202, + "å®ŀæľ¨": 112203, + "å»łåķĨ": 112204, + "声称": 112205, + "èĢĥåľº": 112206, + "å¸ĥé²ģ": 112207, + "èĩªæĿ¥": 112208, + "èĩªæĿ¥æ°´": 112209, + "éĴ¾": 112210, + "年以ä¸Ĭ": 112211, + "大åıĶ": 112212, + "ä»ĸå·²ç»ı": 112213, + "åħ¨æĿij": 112214, + "èģĶç³»ç͵è¯Ŀ": 112215, + "为导åIJij": 112216, + "åΤå¤Ħ": 112217, + "对éĺµ": 112218, + "缮æ¨Ļ": 112219, + "åIJįé¢Ŀ": 112220, + "客æ°Ķ": 112221, + "横åIJij": 112222, + "çŃīåĨħ容": 112223, + "åĩłçĤ¹": 112224, + "è°Ī论": 112225, + "ä¸įä¹ı": 112226, + "å±ķçݰåĩº": 112227, + "è¾ĥéķ¿": 112228, + "éĢĨ转": 112229, + "å°ıæĻĤ": 112230, + "æĺ¯å¤ļä¹Ī": 112231, + "æľ¬æľĪ": 112232, + "è¿ijè§Ĩ": 112233, + "æĪIJç«ĭ以æĿ¥": 112234, + "代表çĿĢ": 112235, + "æĬ¥å¤į": 112236, + "æĪıæĽ²": 112237, + "è¨ŃåĤĻ": 112238, + "åħ¥èĤ¡": 112239, + "å¾ģæľį": 112240, + "é«ĺåĩº": 112241, + "èĪŀåı°ä¸Ĭ": 112242, + "å¿ĥåĬ¨": 112243, + "两çĤ¹": 112244, + "缸çķ¶": 112245, + "èĻĽ": 112246, + "主页": 112247, + "åĩłå®¶": 112248, + "æĹłä¸į": 112249, + "åįıå®ļ": 112250, + "æĸIJ": 112251, + "å¯ĵæĦı": 112252, + "åħ¨çº¿": 112253, + "æįķé±¼": 112254, + "åı¯ä»¥ä»İ": 112255, + "æľīè¿Ļæł·çļĦ": 112256, + "æģ¶éŃĶ": 112257, + "åĮħåŃIJ": 112258, + "æģ¤": 112259, + "å¼Ģå¥ĸç»ĵæŀľ": 112260, + "ä¸įæŃ»": 112261, + "èĹį": 112262, + "å¼¯æĽ²": 112263, + "海峡": 112264, + "éĶĢæ¯ģ": 112265, + "çļĦçĭ¬çī¹": 112266, + "示æĦı": 112267, + "ä¸įèĥ½åĨį": 112268, + "èĥ½æĬĬ": 112269, + "éĺ²çº¿": 112270, + "ä¸įå°ijäºİ": 112271, + "æ±Ģ": 112272, + "çļĦéĤ£ä¸Ģ": 112273, + "羣æĥħ": 112274, + "åŀ®": 112275, + "被æīĵ": 112276, + "åĽ½å®ī": 112277, + "ç¾İå¦Ļ": 112278, + "è¿Ļåĩł": 112279, + "åĩºéģĵ": 112280, + "æľįåĬ¡äºİ": 112281, + "æĪIJæŀľè½¬åĮĸ": 112282, + "æīįåįİ": 112283, + "天é¹ħ": 112284, + "åĩłä¸ªäºº": 112285, + "åĢĺèĭ¥": 112286, + "èĢ½è¯¯": 112287, + "æĬĹæĪĺ": 112288, + "è¡ĮéĬ·": 112289, + "æĿ¥è¢Ń": 112290, + "åĢŁéĮ¢": 112291, + "èįīèİĵ": 112292, + "ä¸¥æł¼æī§è¡Į": 112293, + "举è¡ĮäºĨ": 112294, + "å¤ĸç±į": 112295, + "已达": 112296, + "æĿijåħļæĶ¯éĥ¨": 112297, + "è¡Ŀ": 112298, + "éĻįèĩ³": 112299, + "æµ·éĩı": 112300, + "é¤IJé¦Ĩ": 112301, + "æĢ¥å¿Ļ": 112302, + "æ·±è¿ľ": 112303, + "å¾Ģè¿Ķ": 112304, + "ç¨İåĬ¡å±Ģ": 112305, + "å¹¿æ³ĽåºĶç͍": 112306, + "è®®åijĺ": 112307, + "æĹłæķĮ": 112308, + "çľ¼åħī": 112309, + "çĥŃè¡Ģä¼łå¥ĩ": 112310, + "æŃIJ": 112311, + "äºĨäºĽ": 112312, + "è¿ĿèĥĮ": 112313, + "è¿Ļæĺ¯ä¸Ģç§į": 112314, + "ä¸į稳å®ļ": 112315, + "大家åĪĨ享": 112316, + "表çı¾": 112317, + "åīįåįģ": 112318, + "è·¯è¿ĩ": 112319, + "æĴ©": 112320, + "åIJĮæĥħ": 112321, + "ä¹łä¿Ĺ": 112322, + "åıijè´¢": 112323, + "åºĶæľīçļĦ": 112324, + "æĿİæŁIJ": 112325, + "èĤĽ": 112326, + "马åħĭ": 112327, + "éĢļåijĬ": 112328, + "巨人": 112329, + "ä¸ĢåĽ¢": 112330, + "éĢĻæ¬¡": 112331, + "ä¸įäºĨè§£": 112332, + "æĸ½è¡Į": 112333, + "èij¡èIJĦçīĻ": 112334, + "åıĺå¾ĹæĽ´åĬł": 112335, + "æı£": 112336, + "åĪĽæĸ°èĥ½åĬĽ": 112337, + "çķħéĶĢ": 112338, + "表æī¬": 112339, + "æ¯ĶåĪ©": 112340, + "æ¯ĶåĪ©æĹ¶": 112341, + "åĮ»çĸĹä¿ĿéĻ©": 112342, + "æĵį纵": 112343, + "伤亡": 112344, + "æµİå®ģ": 112345, + "åıĺäºĨ": 112346, + "æľ¬æ¬¡æ´»åĬ¨": 112347, + "åľŁè±ª": 112348, + "æĥ³åĬŀæ³ķ": 112349, + "æĺķ": 112350, + "å½ĵæĻļ": 112351, + "åĩºå±Ģ": 112352, + "çĥŃè®®": 112353, + "è°Īè°Ī": 112354, + "æĻĭåįĩ": 112355, + "åĬ¿å¿ħ": 112356, + "çϻ山": 112357, + "éĤ£åĦ¿": 112358, + "åIJĥåΰ": 112359, + "ä¹ĭåŁİ": 112360, + "å¿«æĿ¥": 112361, + "æ¹Ľæ±Ł": 112362, + "第ä¸ī个": 112363, + "åħ¨éĿ¢æıIJåįĩ": 112364, + "å¥ĸåѦ": 112365, + "å¥ĸåѦéĩij": 112366, + "æĬķåħ¥ä½¿ç͍": 112367, + "é½IJé²ģ": 112368, + "åı¯ä»¥æĬĬ": 112369, + "åĴĮä»ĸçļĦ": 112370, + "è´ŃæĪ¿èĢħ": 112371, + "æŃ£å¼ıåIJ¯åĬ¨": 112372, + "åįİæ¶¦": 112373, + "ä¸įæĸŃå®ĮåĸĦ": 112374, + "éĴ¢æĿ¿": 112375, + "累积": 112376, + "满èĦ¸": 112377, + "åĽĽæĸ¹": 112378, + "è´¢çī©": 112379, + "ä»ĸ们ä¼ļ": 112380, + "å¤ıæĹ¥": 112381, + "éĤ£ä¸ªäºº": 112382, + "éĿłçĿĢ": 112383, + "çĤ¹äºĨ": 112384, + "çĤ¹äºĨçĤ¹å¤´": 112385, + "æ©ĭ": 112386, + "åıĪ好": 112387, + "åıĪ好åıĪ": 112388, + "åıĪ好åıĪå¿«": 112389, + "éĺµéĺµ": 112390, + "å°ģ建": 112391, + "æľ¬çͰ": 112392, + "çī©ä¸ļæľįåĬ¡": 112393, + "èĩªè´¸åĮº": 112394, + "åIJı": 112395, + "便åĪ©åºĹ": 112396, + "åĽ½å®¶æłĩåĩĨ": 112397, + "éĿ¢ç²ī": 112398, + "èī°è¾Ľ": 112399, + "æĶ»åħ³": 112400, + "æīĵåĮħ": 112401, + "车éĺŁ": 112402, + "人éĢī": 112403, + "åı¯ä¸įæĺ¯": 112404, + "äºĮåįģå¹´": 112405, + "åIJįå¸Ī": 112406, + "æµ¦ä¸ľ": 112407, + "åħ¬è¯ģ": 112408, + "è¿IJéĢģ": 112409, + "æĺ¯æľĢ好çļĦ": 112410, + "æŁĶåĴĮ": 112411, + "çİĭæŁIJ": 112412, + "çĹħæĪ¿": 112413, + "åĨ¶éĩij": 112414, + "ä¸Ģä»¶äºĭæĥħ": 112415, + "åį¤": 112416, + "åı¯æİ§": 112417, + "çīŁ": 112418, + "æĭĤ": 112419, + "å·²äºİ": 112420, + "人éĢł": 112421, + "çĶŁçī©åĮ»èį¯": 112422, + "ä½ĵçݰåĩº": 112423, + "èĤ²åĦ¿": 112424, + "èĢģå®ŀ": 112425, + "åľĸçīĩ": 112426, + "諸": 112427, + "ç´¯äºĨ": 112428, + "æĦŁåħ´è¶£çļĦ": 112429, + "åĽ¾çīĩæĿ¥æºIJ": 112430, + "ä¹Łæĺ¯ä¸Ģç§į": 112431, + "æ¾İæ¹ĥæĸ°éĹ»": 112432, + "æĹ¶è¡¨ç¤º": 112433, + "åħīè¾ī": 112434, + "æĬ¥åºŁ": 112435, + "å²ģæĹ¶": 112436, + "éħ®": 112437, + "æ£Ģä¿®": 112438, + "åıĺéĢŁ": 112439, + "åıĺéĢŁç®±": 112440, + "åľ¨èģĮ": 112441, + "éı¡": 112442, + "æįĤ": 112443, + "çĿ£åĬŀ": 112444, + "æ°¸ä¸į": 112445, + "åģļä¸ĢäºĽ": 112446, + "åİĨæĹ¶": 112447, + "å·¥ç¨ĭæľºæ¢°": 112448, + "æģ°å½ĵ": 112449, + "å°±åľ¨äºİ": 112450, + "ç§°åij¼": 112451, + "éĢļ常æĺ¯": 112452, + "æł·å¼ı": 112453, + "åij¨ä¸Ģ": 112454, + "èĭ±éķij": 112455, + "åĿĩ线": 112456, + "ä¼łéĹ»": 112457, + "ç͍æĪ·ä½ĵéªĮ": 112458, + "èµŀåIJĮ": 112459, + "骨æĬĺ": 112460, + "为主ä½ĵ": 112461, + "æ±Łå±±": 112462, + "æ¸ħæľĿ": 112463, + "æĶĢåįĩ": 112464, + "ä¸įçĽ¸ä¿¡": 112465, + "éĿ´": 112466, + "æŃ¦åĬŁ": 112467, + "åĭ¤åĬ³": 112468, + "æĿ¥æī¾": 112469, + "å°ĨæĮģç»Ń": 112470, + "丫头": 112471, + "æ¨Ļæºĸ": 112472, + "裴": 112473, + "深深çļĦ": 112474, + "åŃķèĤ²": 112475, + "è§ĦåĪĴ建设": 112476, + "æ¸ħçν": 112477, + "ç²¾åĩĨæī¶è´«": 112478, + "æīĵçł´äºĨ": 112479, + "è¿Ļä¸Ģ天": 112480, + "å·¥ä½ľæĢ»ç»ĵ": 112481, + "æĹħç¨ĭ": 112482, + "举èIJ¥": 112483, + "æĶ¾å°Ħ": 112484, + "æľīåĩłä¸ª": 112485, + "éĿŀçī©è´¨": 112486, + "åIJĥå¾Ĺ": 112487, + "åŨ": 112488, + "ä¼ļåıijçĶŁ": 112489, + "篮æĿ¿": 112490, + "å¼Ģå°ģ": 112491, + "麻å°Ĩ": 112492, + "èııæ³½": 112493, + "ä¸įåIJĪ": 112494, + "ç³»åĪĹ产åĵģ": 112495, + "èѬå¦Ĥ": 112496, + "ç¾İèªī": 112497, + "èĩªå·±åĸľæ¬¢": 112498, + "交æĺĵä¸Ńå¿ĥ": 112499, + "åIJĪåͱ": 112500, + "使æĪij": 112501, + "åĥıç´ł": 112502, + "带éĺŁ": 112503, + "ä½Ĩ对äºİ": 112504, + "æĬĬè¿Ļ个": 112505, + "èĤĿèĦı": 112506, + "åįķ纯çļĦ": 112507, + "æĶ»åĿļæĪĺ": 112508, + "缼ä¼ļ": 112509, + "åijµæĬ¤": 112510, + "æªĢ": 112511, + "èµ¶ä¸Ĭ": 112512, + "æ¥Ĭ": 112513, + "ä¹ħäºĨ": 112514, + "ç¡Ŀ": 112515, + "çŃĶé¢ĺ": 112516, + "ä¿ĿæĮģçĿĢ": 112517, + "è§ģè¯Ĩ": 112518, + "çĤ¹åĦ¿": 112519, + "åįĬ个æľĪ": 112520, + "æ»ĩ": 112521, + "浸泡": 112522, + "ä¼łéĢģ": 112523, + "åľ¨å¸Ĥåľºä¸Ĭ": 112524, + "ä¹ĭ乡": 112525, + "çī¹éķ¿": 112526, + "éĽŀ": 112527, + "èªł": 112528, + "身å¤Ħ": 112529, + "æŁłæª¬": 112530, + "身穿": 112531, + "çľģåħ¬å®ī": 112532, + "çľģåħ¬å®īåİħ": 112533, + "åıĻåĪ©äºļ": 112534, + "åĩłåĪĨéĴŁ": 112535, + "人åĢij": 112536, + "åľ°æ®µ": 112537, + "èĩªåѦ": 112538, + "ä¹Łè¶ĬæĿ¥è¶Ĭ": 112539, + "èģĮæĿĥ": 112540, + "æĸ§": 112541, + "èĩ»": 112542, + "å½Ĵ纳": 112543, + "驾é©Ń": 112544, + "éĥ¨åĪĨåľ°åĮº": 112545, + "没æľīæĥ³åΰ": 112546, + "æĴĩ": 112547, + "ä¹Įé²ģ": 112548, + "ä¹Įé²ģæľ¨": 112549, + "ä¹Įé²ģæľ¨é½IJ": 112550, + "èĤ²äºº": 112551, + "çļĦæŃ¥ä¼IJ": 112552, + "å»¶æľŁ": 112553, + "æ²¹æ°Ķ": 112554, + "åģļå®Į": 112555, + "åľ£åľ°": 112556, + "丰åİļ": 112557, + "宽带": 112558, + "åı¯éĿłçļĦ": 112559, + "åºŃéĻ¢": 112560, + "åŃľ": 112561, + "å°ı康社ä¼ļ": 112562, + "å®īåħ¨ç®¡çIJĨ": 112563, + "年第": 112564, + "æİĴ污": 112565, + "èĥĮåĮħ": 112566, + "å®¶ä½ı": 112567, + "åħ¶å®ŀå°±æĺ¯": 112568, + "ä¼ļè§ģ": 112569, + "帮åĬ©ä¼ģä¸ļ": 112570, + "ç½ijè´Ń": 112571, + "æĺ¯ä¸įä¼ļ": 112572, + "飯åºĹ": 112573, + "æŃ»åİ»": 112574, + "åħįçĸ«åĬĽ": 112575, + "æľķ": 112576, + "åĸĿäºĨ": 112577, + "轻微": 112578, + "个æľĪåĨħ": 112579, + "ç»ĦåĽ¢": 112580, + "åĴĮå®ĮåĸĦ": 112581, + "鸽": 112582, + "æıIJéĢŁ": 112583, + "西å®īå¸Ĥ": 112584, + "ä¸Ńå¿ĥ主任": 112585, + "æĹ¶éĹ´ä¸º": 112586, + "æľŁæĿĥ": 112587, + "è¶ķ": 112588, + "ä¸įä»ħè¦ģ": 112589, + "æľįä»İ": 112590, + "é¡ĺæĦı": 112591, + "ä¸įå°ı": 112592, + "ä¸įå°ıçļĦ": 112593, + "ç°ĩ": 112594, + "窦": 112595, + "åĪĩæĪIJ": 112596, + "åĵĪåĪ©": 112597, + "å¤©çľŁ": 112598, + "ä¸Ģ次次": 112599, + "éĩijå¸ģ": 112600, + "æĢİä¹Īèĥ½": 112601, + "ç½ijè´·": 112602, + "ä¼ļ计å¸Ī": 112603, + "çŁŃ缺": 112604, + "对æłĩ": 112605, + "åıĺå¾ĹæĽ´": 112606, + "åīįåĩłå¤©": 112607, + "éĺ²æ±Ľ": 112608, + "彩èϹ": 112609, + "åĵģä½į": 112610, + "è¡¨æł¼": 112611, + "严å¯Ĩ": 112612, + "æ¯ĽåĪ©çİĩ": 112613, + "çļĦåį±å®³": 112614, + "å½ķåζ": 112615, + "æ°´åĬ¡": 112616, + "èĥ½å¤Łè®©": 112617, + "å¹³æĿ¿": 112618, + "ä¹³æĪ¿": 112619, + "è¸ıå®ŀ": 112620, + "é¦ĸåĪĽ": 112621, + "é¦Ļèķī": 112622, + "æĬ¥è¡¨": 112623, + "ä¸ĢæĬ¹": 112624, + "åĩºçĶŁäºİ": 112625, + "è²»ç͍": 112626, + "åĩºè®©": 112627, + "åIJĪæ³ķæĢ§": 112628, + "å°¼åħĭ": 112629, + "åĨ°åĨ·": 112630, + "é¦Ļæ°Ķ": 112631, + "åı·ç§°": 112632, + "èµ·çłģ": 112633, + "åŁİåİ¿": 112634, + "çİ©èĢį": 112635, + "ä¸ĬéĻIJ": 112636, + "ä¼ļ议精ç¥ŀ": 112637, + "æĹģè¾¹çļĦ": 112638, + "便ä¼ļ": 112639, + "æıŃæĻĵ": 112640, + "çİ©æĦı": 112641, + "éĽªå±±": 112642, + "åIJijçĿĢ": 112643, + "ä½ĵèĤ²åľ¨çº¿": 112644, + "说æĺİ书": 112645, + "åĮĸèĤ¥": 112646, + "åħļç»Ħ书记": 112647, + "åĬ¨äºº": 112648, + "ä¹ĭæīĢ": 112649, + "æľĪèĩ³": 112650, + "æľĢå¿«çļĦ": 112651, + "èĬĤåģĩæĹ¥": 112652, + "ä¸ĵåľº": 112653, + "èĢĥä¸Ĭ": 112654, + "çªŁ": 112655, + "é²ľè¡Ģ": 112656, + "è¾ĥ强çļĦ": 112657, + "æĤĦçĦ¶": 112658, + "å¤ļä¸ªåĽ½å®¶": 112659, + "çªĹå¸ĺ": 112660, + "æŀģå¤§åľ°": 112661, + "ä¸įç͍æĭħå¿ĥ": 112662, + "è¿Ļä¹Īåģļ": 112663, + "åĥ¹æł¼": 112664, + "ç¾İ丽乡æĿij": 112665, + "å°ıæĹ¶åĨħ": 112666, + "ç´§è¿«": 112667, + "大çģ«": 112668, + "èĥ³èĨĬ": 112669, + "æĵįä½ľç³»ç»Ł": 112670, + "æ®ĭçķĻ": 112671, + "åĨĻåĩº": 112672, + "ç¦ģå¿Į": 112673, + "åĬłçĽŁåºĹ": 112674, + "è¿ijçϾ": 112675, + "便åı¯": 112676, + "æķ´æĶ¹æİªæĸ½": 112677, + "éĩĩ访æĹ¶": 112678, + "åĶIJ代": 112679, + "æ·±åĮĸæĶ¹éĿ©": 112680, + "çŁ¢": 112681, + "éĥ½åĸľæ¬¢": 112682, + "è¶ĬæĿ¥è¶Ĭé«ĺ": 112683, + "èĬ±æľµ": 112684, + "头çĸ¼": 112685, + "å®ī康": 112686, + "å¢ŀéķ¿çİĩ": 112687, + "çľ¼çľĭ": 112688, + "å°±æĺ¯ä¸ºäºĨ": 112689, + "èĢĮ导èĩ´": 112690, + "åĬłå¿«å»ºè®¾": 112691, + "èĬ±æł·": 112692, + "åĨħå¿ĥçļĦ": 112693, + "æĺĨå±±": 112694, + "è³ĩæºIJ": 112695, + "åĽŀåΰ家": 112696, + "èıĬèĬ±": 112697, + "æ°´éĩı": 112698, + "å¾ģä¿¡": 112699, + "è¡ĮæĶ¿åĮº": 112700, + "ä¹ĥæĺ¯": 112701, + "æĬķèµĦé¡¹çĽ®": 112702, + "å«ģç»Ļ": 112703, + "ç¥ŀåľ£": 112704, + "稳": 112705, + "æľ¬æĿ¥å°±": 112706, + "éĢIJä¸Ģ": 112707, + "èģĮä¸ļæĬĢæľ¯": 112708, + "ä¸įèī¯ä¿¡æģ¯": 112709, + "æīĺè¿IJ": 112710, + "åIJ¯ç¤º": 112711, + "ä¹ĭåħ§å®¹": 112712, + "飶": 112713, + "奢åįİ": 112714, + "æıŃ示": 112715, + "æĪIJ为ä¸ŃåĽ½": 112716, + "æ¶Īè´¹åĵģ": 112717, + "åħ¬ç͍": 112718, + "æIJŀå®ļ": 112719, + "è¯·ä½ł": 112720, + "æŁļ": 112721, + "åĨħè¡£": 112722, + "ä½Ĩä»ĸ们": 112723, + "ä¿Ŀ湿": 112724, + "该åİ¿": 112725, + "饱åĴĮ": 112726, + "æİ¨åIJij": 112727, + "èµĦæĸĻæĺ¾ç¤º": 112728, + "ä¸įå½±åĵį": 112729, + "人人éĥ½": 112730, + "åıijå±ķ壮大": 112731, + "åħ»èĢģæľįåĬ¡": 112732, + "çĶŁæ´»æ°´å¹³": 112733, + "åIJĦåİ¿": 112734, + "ä½łéľĢè¦ģ": 112735, + "说çļĦæĺ¯": 112736, + "å¤ĸåªĴ": 112737, + "æŃ¤äºº": 112738, + "次è¦ģ": 112739, + "追赶": 112740, + "åºĶ该å¦Ĥä½ķ": 112741, + "æĹ¥åĩĮæĻ¨": 112742, + "çķ¥æľī": 112743, + "éĥ½æĥ³": 112744, + "游ä¹IJ": 112745, + "è¿Ļ款游æĪı": 112746, + "平淡": 112747, + "æĺ¯ä¸ĢåĢĭ": 112748, + "å¤ĩèĢĥ": 112749, + "åζæŃ¢": 112750, + "ä¸Ģå®ļèĥ½": 112751, + "å¾Ĵå¼Ł": 112752, + "以çĤº": 112753, + "åįĥåħĥ": 112754, + "äºĶåħŃ": 112755, + "迪士": 112756, + "迪士尼": 112757, + "éĺ³æĢ§": 112758, + "åĨ¬å¥¥ä¼ļ": 112759, + "å°±æĺ¯åĽłä¸º": 112760, + "æĮĤéĴ©": 112761, + "æ¦ĤåĨµ": 112762, + "åıªè¦ģæľī": 112763, + "æ²¹çĶ»": 112764, + "åľ°æłĩ": 112765, + "ä¸Ĭè°ĥ": 112766, + "产ä¸ļåĽŃåĮº": 112767, + "åħ«åįģ": 112768, + "棱": 112769, + "æ¶²æĻ¶": 112770, + "æĿijå§Ķä¼ļ": 112771, + "çŃ¾çº¦ä»ªå¼ı": 112772, + "è¿Ļåħ¶ä¸Ń": 112773, + "åĨĻéģĵ": 112774, + "示èĮĥåŁºåľ°": 112775, + "éĩİçĶŁåĬ¨çī©": 112776, + "鼻åŃIJä¿¡ç®±": 112777, + "åĽ½éĻħè´¸æĺĵ": 112778, + "人æĿĥ": 112779, + "ä¿Ŀ管": 112780, + "èĭ¥æĤ¨": 112781, + "åİĭæĬij": 112782, + "黼": 112783, + "åľ°çľĭçĿĢ": 112784, + "éϰ": 112785, + "ä¸Ģå¹´å¤ļ": 112786, + "ä»İ容": 112787, + "ä¸ŃæĸŃ": 112788, + "å¯Łè§ī": 112789, + "移交": 112790, + "é͝": 112791, + "æĪĸ许æĺ¯": 112792, + "ç¶ł": 112793, + "两项": 112794, + "æľĢåĸľæ¬¢": 112795, + "æľĢåĸľæ¬¢çļĦ": 112796, + "å¤ľéĩĮ": 112797, + "åIJĮä»ģ": 112798, + "åĪĽæĸ°é©±åĬ¨": 112799, + "è°ģèĥ½": 112800, + "飾": 112801, + "åħīåѦ": 112802, + "åİĦ": 112803, + "èĦ±é¢ĸ": 112804, + "èĦ±é¢ĸèĢĮåĩº": 112805, + "迦": 112806, + "æĺ¯ä¸įåı¯èĥ½": 112807, + "窥": 112808, + "èĥ½æ»¡è¶³": 112809, + "宽度": 112810, + "伦çIJĨ": 112811, + "åı¯ä»¥èİ·å¾Ĺ": 112812, + "转ä¼ļ": 112813, + "å±±æĿij": 112814, + "éĵºè®¾": 112815, + "åĩºåĩ»": 112816, + "æĸĩåĮĸèīºæľ¯": 112817, + "ä¼ļ议室": 112818, + "æŃĮ声": 112819, + "æ»Ķ": 112820, + "èIJİ缩": 112821, + "æľįåĬ¡åijĺ": 112822, + "åıij表äºĨ": 112823, + "æĸ¼æĺ¯": 112824, + "æĺİç¡®è§Ħå®ļ": 112825, + "ç»´å¥ĩ": 112826, + "水产": 112827, + "æĬķä¿Ŀ": 112828, + "éĺ´éģĵ": 112829, + "èµ¶å¿«": 112830, + "夺å¾Ĺ": 112831, + "ä¸ĭåįķ": 112832, + "çµģåħ¬åı¸": 112833, + "çݯç»ķ": 112834, + "å½Ī": 112835, + "ä½ľé£İ建设": 112836, + "æĹħ游æĻ¯åĮº": 112837, + "æľīæĽ´å¤ļçļĦ": 112838, + "丰å¯Įå¤ļ彩": 112839, + "çIJĨ财产åĵģ": 112840, + "åĩºå·®": 112841, + "ä»İ严治": 112842, + "ä»İ严治åħļ": 112843, + "çĽ¸å¹²": 112844, + "æ»ĭ润": 112845, + "主åĬŀæĸ¹": 112846, + "åī§åľº": 112847, + "æ»ļçIJĥ": 112848, + "æ©Ħæ¦Ħ": 112849, + "èĩªä¸»åĪĽæĸ°": 112850, + "éĢļå¾Ģ": 112851, + "æł¼å°Ķ": 112852, + "çļĦä¼ĺçĤ¹": 112853, + "èĥĮä¸Ĭ": 112854, + "çªľ": 112855, + "çĪĨåĩº": 112856, + "å¹³æķ´": 112857, + "ä¸ĢèĦļ": 112858, + "åħ¨ä½ĵåijĺå·¥": 112859, + "éĻIJå®ļ": 112860, + "åŁİéķĩåĮĸ": 112861, + "æ·³": 112862, + "éĢ®æįķ": 112863, + "è¡ĮåĬ¨è®¡åĪĴ": 112864, + "æīĵå¾Ĺ": 112865, + "åİļéĩį": 112866, + "纪å½ķçīĩ": 112867, + "åĿļä¿¡": 112868, + "央ä¼ģ": 112869, + "åĨįä¹Łä¸į": 112870, + "天涯": 112871, + "åıĤèĢĥèµĦæĸĻ": 112872, + "æľīæ¯Ĵ": 112873, + "åIJ¸çº³": 112874, + "è¶Ĭåıij": 112875, + "éĩįè¦ģæĦıä¹ī": 112876, + "åĽ½éĺ²éĥ¨": 112877, + "è¿Ļ个è¡Įä¸ļ": 112878, + "æĻ®æŁ¥": 112879, + "å¼ĤæĢ§": 112880, + "å»¶è¿Ł": 112881, + "å°ıå¹ħ": 112882, + "èĥħ": 112883, + "综åIJĪæ²»çIJĨ": 112884, + "æŃ£æĺ¯åĽłä¸º": 112885, + "产ä¸ļç»ĵæŀĦ": 112886, + "çłĶç©¶æĬ¥åijĬ": 112887, + "åģľä¸ĭ": 112888, + "éķ¿èĢģ": 112889, + "éĩĿå°į": 112890, + "åįĹ京å¸Ĥ": 112891, + "çģĮæºī": 112892, + "转è¿IJ": 112893, + "欺è¯Ī": 112894, + "éĢłåģĩ": 112895, + "åĪĨå¸ĥå¼ı": 112896, + "æĦŁè§¦": 112897, + "æĪijå½ĵæĹ¶": 112898, + "åıijè§ī": 112899, + "åĽ¾çº¸": 112900, + "æĶ¹èī¯": 112901, + "çĭłçĭł": 112902, + "åĨ²åĪº": 112903, + "æĸ°äº¬": 112904, + "æĸ°äº¬æĬ¥": 112905, + "ç¥ŀåύ": 112906, + "秸ç§Ĩ": 112907, + "çĪº": 112908, + "å°Ĩè¿İæĿ¥": 112909, + "工信": 112910, + "工信éĥ¨": 112911, + "éĻIJéĩı": 112912, + "æŃ¢æįŁ": 112913, + "åѦä¼ļäºĨ": 112914, + "åįİ缼": 112915, + "åįİçĽĽé¡¿": 112916, + "å¾Įä¾Ĩ": 112917, + "ä¸ĭéĿ¢æĺ¯": 112918, + "ä¸ĭéĿ¢æĺ¯å°ı": 112919, + "æIJ¬è¿IJ": 112920, + "ç¾İæľ¯é¦Ĩ": 112921, + "æ¸ħåĩī": 112922, + "å¤ļå¹´åīį": 112923, + "è©ŀ": 112924, + "åįĥç±³": 112925, + "表述": 112926, + "æ±ŁéŨ": 112927, + "åĬłæ²¹ç«Ļ": 112928, + "æľ¬èĥ½": 112929, + "导读": 112930, + "åĽ´è§Ĥ": 112931, + "å¹¶åIJij": 112932, + "åŁºæľ¬æĥħåĨµ": 112933, + "æīĵå¼ĢäºĨ": 112934, + "è¿Ļä¸ī个": 112935, + "æ±ķ头": 112936, + "强æľīåĬĽ": 112937, + "强æľīåĬĽçļĦ": 112938, + "è¿Ľåľº": 112939, + "ä¹Ŀæ±Ł": 112940, + "çIJĥæĺŁ": 112941, + "好çľĭçļĦ": 112942, + "大æĪ·": 112943, + "湯": 112944, + "å¥ĩå¦Ļ": 112945, + "ä¹IJåύ": 112946, + "æĪijçļĦå¿ĥ": 112947, + "çľī头": 112948, + "åĨľä¸ļçĶŁäº§": 112949, + "ç¼ĸçłģ": 112950, + "åŁºç¤": 112951, + "åŁºç¤İ": 112952, + "天æĸĩ": 112953, + "åĢĭ人è³ĩè¨Ĭ": 112954, + "åİ»è¿ĩ": 112955, + "èģĨåIJ¬": 112956, + "æĶ¾åģĩ": 112957, + "ä¸įåħ·å¤ĩ": 112958, + "æ·Ģç²ī": 112959, + "大佬": 112960, + "åħ¨å¤©": 112961, + "åħ¨éĿ¢å»ºæĪIJ": 112962, + "éļIJå½¢": 112963, + "ç¼ħç͏": 112964, + "åIJ³": 112965, + "è¡ĮæĶ¿æī§æ³ķ": 112966, + "åŁİåł¡": 112967, + "èİ«æĸ¯": 112968, + "èİ«æĸ¯ç§ij": 112969, + "æīĢæľīæĿĥ": 112970, + "éĽĨåľĺ": 112971, + "å±Ģåī¯å±Ģéķ¿": 112972, + "åĩłä¹İ没æľī": 112973, + "æ´ģåĩĢ": 112974, + "ç͵影èĬĤ": 112975, + "åŃ©ç«¥": 112976, + "æīĢåģļçļĦ": 112977, + "æ¸ħ代": 112978, + "æĸ°çīĪ": 112979, + "éĵĿåIJĪéĩij": 112980, + "为æĬĵ": 112981, + "为æĬĵæīĭ": 112982, + "åΤå®ļ": 112983, + "çī¹äº§": 112984, + "æīĭæ©Ł": 112985, + "ä¸įåı¯æĪĸ": 112986, + "ä¸įåı¯æĪĸ缺": 112987, + "å¸Ĥåľºè§Ħ模": 112988, + "åĿ¯": 112989, + "åĮ»åѦéĻ¢": 112990, + "å¿«è¦ģ": 112991, + "èĮľ": 112992, + "æĬĺèħ¾": 112993, + "äºĨè¿ĩæĿ¥": 112994, + "æĬ¥åijĬæľŁåĨħ": 112995, + "çī©ç§į": 112996, + "ç»Łè®¡å±Ģ": 112997, + "æī©å»º": 112998, + "æ¶ħ": 112999, + "责任人": 113000, + "éĺİ": 113001, + "è¯Ħè®®": 113002, + "å¾Ģäºĭ": 113003, + "æīĢ示": 113004, + "æķ´æ´ģ": 113005, + "éĹºèľľ": 113006, + "æĹħéĢĶ": 113007, + "å®ŀè®Ń": 113008, + "ä¹ĭç§°": 113009, + "巴士": 113010, + "éĢŁåº¦å¿«": 113011, + "ä¸įä»ħå¦ĤæŃ¤": 113012, + "å®Ŀè´µçļĦ": 113013, + "åºŁçī©": 113014, + "河水": 113015, + "æİ¥çº³": 113016, + "ç²¾æ¹Ľ": 113017, + "åħ¶æ¬¡æĺ¯": 113018, + "顺德": 113019, + "åħ¬åħ±åį«çĶŁ": 113020, + "è¤IJèī²": 113021, + "ä¸įæĥľ": 113022, + "æĬĢæľ¯æľįåĬ¡": 113023, + "æİ·": 113024, + "æ±ĤèģĮ": 113025, + "ä¸ī峡": 113026, + "æĬķåħ¥åΰ": 113027, + "太åIJİ": 113028, + "åIJ¯åĬ¨ä»ªå¼ı": 113029, + "缴æİ¥å½±åĵį": 113030, + "æĸ°æ¬¾": 113031, + "个乡éķĩ": 113032, + "çĻ¾äº¿": 113033, + "庫": 113034, + "ä¹ŁæŃ£æĺ¯": 113035, + "åı¶çīĩ": 113036, + "æľĢæĹ©çļĦ": 113037, + "æĪĺ绩": 113038, + "å·¥æľŁ": 113039, + "æĻļæľŁ": 113040, + "è¿Ļæł·è¯´": 113041, + "è¯įè¯Ń": 113042, + "ä¾Ħ": 113043, + "æķ£çĥŃ": 113044, + "éĽĨæĪIJçĶµè·¯": 113045, + "åIJįè¯į": 113046, + "æĻºåķĨ": 113047, + "æĭ¥åłµ": 113048, + "çĭĤ欢": 113049, + "è¿Ļèά": 113050, + "浴室": 113051, + "åijķåIJIJ": 113052, + "æľªæĿ¥åıijå±ķ": 113053, + "ä¸īä½įä¸Ģä½ĵ": 113054, + "åªĴé«Ķ": 113055, + "ä¸įå¾Ĺ转载": 113056, + "åĽłä¸ºå¥¹": 113057, + "æĺ¾ç¤ºå±ı": 113058, + "ä¾Ľæļĸ": 113059, + "éĨ«éĻ¢": 113060, + "æľīæĦıæĢĿ": 113061, + "æľīæĦıæĢĿçļĦ": 113062, + "娱ä¹IJåŁİ": 113063, + "åįµå·¢": 113064, + "åĪĽéĢłåĬĽ": 113065, + "竳èĬĤ": 113066, + "人大常å§Ķ": 113067, + "èĢĮçİ°åľ¨": 113068, + "å¤ĸå©Ĩ": 113069, + "å¢ŀæĮģ": 113070, + "äºĶåįĥ": 113071, + "èĢģå¸Ī们": 113072, + "æ´ĽæĿī": 113073, + "æ´ĽæĿī磶": 113074, + "æİĮæı¡äºĨ": 113075, + "ä¸ŃåĽ½æĸĩåĮĸ": 113076, + "æĸ°æĶ¿": 113077, + "主è¦ģç͍äºİ": 113078, + "åıijçĥ§": 113079, + "类似äºİ": 113080, + "åĮĹæŀģ": 113081, + "æĪij们认为": 113082, + "弥漫": 113083, + "åħ¨çIJĥç»ıæµİ": 113084, + "é¢IJ": 113085, + "ä¸Ģèµ·è£ħä¿®": 113086, + "æĶĴ": 113087, + "æĭīèIJ¨": 113088, + "帶ä¾Ĩ": 113089, + "åĨ·æ°´": 113090, + "ä¸īåĨľ": 113091, + "æĿ¿æĿIJ": 113092, + "è¿ŀè¿ŀ": 113093, + "éĵ®": 113094, + "ç»ıèIJ¥çIJĨ念": 113095, + "山顶": 113096, + "å¾Īæĥ³": 113097, + "çĺ«": 113098, + "å§ĭç»Īä¿ĿæĮģ": 113099, + "åľ¨å¹¿å·ŀ": 113100, + "ä¸įåIJĮæĦı": 113101, + "åıĺåİĭ": 113102, + "åıĺåİĭåύ": 113103, + "产éĶĢ": 113104, + "表éĿ¢ä¸Ĭ": 113105, + "æīĢ以ä»ĸ": 113106, + "ç»ıéªĮ丰å¯Į": 113107, + "éĥ¨å§Ķ": 113108, + "åħµåĽ¢": 113109, + "æīĢè¿°": 113110, + "æķ¦çħĮ": 113111, + "ç»ıèIJ¥èĮĥåĽ´": 113112, + "åı£è¯Ń": 113113, + "失信": 113114, + "æ¯ı个人çļĦ": 113115, + "æīĭæĮģ": 113116, + "æģIJæħĮ": 113117, + "åł¡åŀĴ": 113118, + "é¦ħ": 113119, + "éĵ¸éĢł": 113120, + "æĭ¿åĩºæĿ¥": 113121, + "æİ¢æµĭ": 113122, + "大家ä¸Ģèµ·": 113123, + "奧": 113124, + "å®ŀè´¨æĢ§": 113125, + "å°ıåĦ¿": 113126, + "èĩºåįĹ": 113127, + "èĩºåįĹå¸Ĥ": 113128, + "å¼ĢåıijèĢħ": 113129, + "åı¯æł¹æį®": 113130, + "ç®±åŃIJ": 113131, + "饺åŃIJ": 113132, + "å¿ĻçĿĢ": 113133, + "æĿ¥ä¸įåıĬ": 113134, + "çĽ¸ä¼ł": 113135, + "åĽ½ç½ij": 113136, + "èħ¹æ³»": 113137, + "è¿ĻéĩĮæľī": 113138, + "é£İæĻ¯åĮº": 113139, + "åıĤä¿Ŀ": 113140, + "æŃ»èĢħ": 113141, + "æĪ´ä¸Ĭ": 113142, + "æ©Łæ§ĭ": 113143, + "è¯ķéªĮåĮº": 113144, + "ä¼łæİĪ": 113145, + "æµ·è¾¹": 113146, + "泪水": 113147, + "缸åħ³åĨħ容": 113148, + "éĥijå·ŀå¸Ĥ": 113149, + "åħijçݰ": 113150, + "两åij¨": 113151, + "èĬľæ¹ĸ": 113152, + "ç͵åŃIJä¿¡æģ¯": 113153, + "红å¤ĸ": 113154, + "æĹħ游å±Ģ": 113155, + "å¾Ģå¾Ģä¼ļ": 113156, + "è¿ħçĮĽ": 113157, + "ä¼łçľŁ": 113158, + "æ¸ħæ¾Ī": 113159, + "å°±è¿ij": 113160, + "微信群": 113161, + "ç³»åĪĹæ´»åĬ¨": 113162, + "ç»ı常ä¼ļ": 113163, + "è§Ĥæµĭ": 113164, + "å¿ĥå¾Ĺä½ĵä¼ļ": 113165, + "éĻĪåĪĹ": 113166, + "åĮĹæĸĹ": 113167, + "è«®": 113168, + "諮詢": 113169, + "è¿ĺæĺ¯ä¼ļ": 113170, + "æµĭç®Ĺ": 113171, + "æĺŁç©º": 113172, + "宽容": 113173, + "çī©ä¸ļåħ¬åı¸": 113174, + "æĪĴæĮĩ": 113175, + "å¸ħæ°Ķ": 113176, + "ä¸ĢæŃ¥æŃ¥": 113177, + "åħ±é¸£": 113178, + "åĨ³ä¸į": 113179, + "æİ¥ç®¡": 113180, + "å¦ĩèģĶ": 113181, + "æ¯Ķåĸ»": 113182, + "é²ģè¿ħ": 113183, + "æĮģçºĮ": 113184, + "çĽ¸äº²": 113185, + "å¨ģå°¼æĸ¯äºº": 113186, + "ç«ĭ项": 113187, + "åĪĿå§ĭ": 113188, + "èĩªåζ": 113189, + "è¿Īè¿Ľ": 113190, + "ä¸Ĭæ±½": 113191, + "å®ıä¼Ł": 113192, + "æł¹æľ¬æ²¡æľī": 113193, + "æĸ°åĨłçĹħæ¯Ĵ": 113194, + "åĵªç§į": 113195, + "康åħ»": 113196, + "è¡°èĢģ": 113197, + "å½ķåĥı": 113198, + "é«Ķé©Ĺ": 113199, + "ç»ijå®ļ": 113200, + "é¢Ŀ头": 113201, + "äºĶæľĪ": 113202, + "èĬ±å¼Ģ": 113203, + "ä¸Ģ线åŁİå¸Ĥ": 113204, + "åĪ°åľº": 113205, + "æĬķéĻį": 113206, + "çĹĺçĹĺ": 113207, + "åıĹä¸įäºĨ": 113208, + "æīİæł¹": 113209, + "æĽ´ä½ķåĨµ": 113210, + "æĬ½æŁ¥": 113211, + "åĩºè·¯": 113212, + "审议éĢļè¿ĩ": 113213, + "ä¸įåĥħ": 113214, + "èī²è°ĥ": 113215, + "çϾä½Ļ": 113216, + "èĤłéģĵ": 113217, + "æ·±åİļçļĦ": 113218, + "马åĬĽ": 113219, + "æĹ©æĻļ": 113220, + "æŃĮèĪŀ": 113221, + "éĺ²æĻĴ": 113222, + "æľĢåIJİä¸Ģ个": 113223, + "樱èĬ±": 113224, + "å°ıä¼ĻåŃIJ": 113225, + "åľ¨å½ĵåľ°": 113226, + "å°ıä¼Ļ伴们": 113227, + "èµ·æºIJ": 113228, + "åħ¨åªĴä½ĵ": 113229, + "ç°½": 113230, + "éħ±æ²¹": 113231, + "æĹłè®ºå¦Ĥä½ķ": 113232, + "裤åŃIJ": 113233, + "åģľäº§": 113234, + "ä¸įçͱå¾Ĺ": 113235, + "çīµå¼ķ": 113236, + "ä¼łåĬ¨": 113237, + "ä¹Ŀé¾Ļ": 113238, + "åĬłåĽº": 113239, + "ä¹Łä¸įæķ¢": 113240, + "æĬĢæľ¯æĶ¯æĮģ": 113241, + "ä¸Ĭå²Ĺ": 113242, + "ç»ıéªĮåĴĮ": 113243, + "æł¼æŀĹ": 113244, + "åIJ¸éĻĦ": 113245, + "æľªæĪIJå¹´": 113246, + "奢ä¾Īåĵģ": 113247, + "追æį§": 113248, + "好ä¸į容æĺĵ": 113249, + "èķ´åIJ«": 113250, + "ä¿Ŀå®ļ": 113251, + "æĬ¥ä¸ļ": 113252, + "æµ·åĨħå¤ĸ": 113253, + "ä½łçİ°åľ¨": 113254, + "æ²¹èĢĹ": 113255, + "è´¨éĩı管çIJĨ": 113256, + "æ½ľæ°´": 113257, + "ä¸½æ±Ł": 113258, + "转åħ¥": 113259, + "è¿Ļä¹Īä¹ħ": 113260, + "æĺİ代": 113261, + "责任åζ": 113262, + "éĩįå·¥": 113263, + "大巴": 113264, + "触åıĬ": 113265, + "èµ·åĪĿ": 113266, + "大å¦Ī": 113267, + "æĸ¯å¡Ķ": 113268, + "åĨĽå·¥": 113269, + "书éĻ¢": 113270, + "峨": 113271, + "æİ¨çIJĨ": 113272, + "è¿Ļç¯ĩæĸĩ竳": 113273, + "è¿ģç§»": 113274, + "åľ¨åIJĮä¸Ģ": 113275, + "ç»Ĩç»Ĩ": 113276, + "åīĬå¼±": 113277, + "书æĪ¿": 113278, + "ç¶ĵ常": 113279, + "è¯ķé¢ĺ": 113280, + "æĤ£ä¸Ĭ": 113281, + "çĻ«çĹ«çĹħ": 113282, + "åĨ²æ´Ĺ": 113283, + "å¤ĸæı´": 113284, + "åħĭåζ": 113285, + "åįģæľĪ": 113286, + "åģļä¸įåΰ": 113287, + "ç¾İåĮĸ": 113288, + "å¦ĤæľŁ": 113289, + "è¿ĺéľĢ": 113290, + "å¤©åºľ": 113291, + "å°±æĦıåij³çĿĢ": 113292, + "çļĦç¡®æĺ¯": 113293, + "éªĹå±Ģ": 113294, + "å°ıç»ĦèµĽ": 113295, + "è©©": 113296, + "ä¹Ŀå¹´": 113297, + "æĻĵå¾Ĺ": 113298, + "çłĶ究人åijĺ": 113299, + "大éħĴåºĹ": 113300, + "ç§ijåѸ": 113301, + "åħŃåIJĪ": 113302, + "çķĮå®ļ": 113303, + "车载": 113304, + "å¼ĢçĿĢ": 113305, + "毫æĹłçĸij": 113306, + "毫æĹłçĸijéĹ®": 113307, + "è¿IJç»´": 113308, + "ç¦ģåĮº": 113309, + "èĦ±èIJ½": 113310, + "讲å¸Ī": 113311, + "产ä¸ļåŁºåľ°": 113312, + "é«ĺæĢ§èĥ½": 113313, + "åħī彩": 113314, + "çݰéĺ¶æ®µ": 113315, + "åĩ¿": 113316, + "è¾ĥå·®": 113317, + "饮çĶ¨æ°´": 113318, + "éĸĭçϼ": 113319, + "ç½ijåIJ§": 113320, + "çĮ´åŃIJ": 113321, + "æŃ¦æŀĹ": 113322, + "å®īåİ¿": 113323, + "ä¸įåı¯æĢĿ": 113324, + "ä¸įåı¯æĢĿè®®": 113325, + "éĬ·åĶ®": 113326, + "è´«ç©·": 113327, + "为åķ¥": 113328, + "éºĵ": 113329, + "å¹¾åĢĭ": 113330, + "è§Ħ模以ä¸Ĭ": 113331, + "æıļ": 113332, + "è¢«åĽ°": 113333, + "缺å¸Ń": 113334, + "å¿«é¤IJ": 113335, + "æĬ¢åįł": 113336, + "æĻŁ": 113337, + "å¤įæ´»": 113338, + "æľ¬æĬ¥è®¯": 113339, + "åĪĽä¸ĭ": 113340, + "海滩": 113341, + "éĩı产": 113342, + "å¦Ĥä½ķåİ»": 113343, + "车ä½į": 113344, + "å¯ĩ": 113345, + "äºĮåįģåĽĽ": 113346, + "ç»ıæµİæįŁå¤±": 113347, + "éħįå¥Ĺ设æĸ½": 113348, + "åŁºæľ¬éĿ¢": 113349, + "äºī论": 113350, + "就好åĥı": 113351, + "çłĶç©¶æĪIJæŀľ": 113352, + "éĻĪè¿°": 113353, + "æīĵåĬ¨": 113354, + "ä¸ĭå·´": 113355, + "ç§ĴéĴŁ": 113356, + "对人ä½ĵ": 113357, + "æĬĢæľ¯çłĶåıij": 113358, + "åİŁåŃIJ": 113359, + "æĺ¯ä¸Ģ项": 113360, + "äºĨä¸Ģ份": 113361, + "æĮĩçͲ": 113362, + "ç͍éĩı": 113363, + "è¿ĺä¸įå¤Ł": 113364, + "æĶ¿åºľéĩĩè´Ń": 113365, + "çŁ¥è¯ĨçĤ¹": 113366, + "ä¸ŃåĽ½æ¢¦": 113367, + "å¾Īå¼Ģå¿ĥ": 113368, + "礼è²Į": 113369, + "éĿŀ常å¤ļ": 113370, + "éĿŀ常å¤ļçļĦ": 113371, + "åĽļ": 113372, + "æĹħé¦Ĩ": 113373, + "å°½æĥħ": 113374, + "æŃĮåͱ": 113375, + "æ²Ļé¾Ļ": 113376, + "车åİ¢": 113377, + "客æµģ": 113378, + "åģıå·®": 113379, + "积累äºĨ": 113380, + "æ¡Ķ": 113381, + "çĶ»çĶ»": 113382, + "ä¹ŁåºĶ该": 113383, + "åºĶç͍ç¨ĭåºı": 113384, + "èĥĥèĤł": 113385, + "以å¾Į": 113386, + "豪å®ħ": 113387, + "æ·±åĬłå·¥": 113388, + "缴è¨Ģ": 113389, + "åĮĸçŁ³": 113390, + "åĽ½éģĵ": 113391, + "ä¸ĥ个": 113392, + "ä»İèĢĮ使": 113393, + "èĤłèĥĥ": 113394, + "æĹ¥è¶ĭ": 113395, + "çζåŃIJ": 113396, + "ç·©": 113397, + "æĭĽçīĮ": 113398, + "产å¦ĩ": 113399, + "çķªèĮĦ": 113400, + "æĪijéĻ¢": 113401, + "建çŃijå·¥ç¨ĭ": 113402, + "å±ķè§Īä¼ļ": 113403, + "å®¶éķ¿ä»¬": 113404, + "åĨľä½ľçī©": 113405, + "æĹ¥å¤ľ": 113406, + "æĶ»æĵĬ": 113407, + "è§Ħéģ¿": 113408, + "èĪŁå±±": 113409, + "便æ°ij": 113410, + "åħ«åŃĹ": 113411, + "ä¸įæĽ¾": 113412, + "æĶ¯éħį": 113413, + "çĨ¬å¤ľ": 113414, + "人é¡ŀ": 113415, + "ç´ĢéĮĦ": 113416, + "ç»ıèIJ¥æ´»åĬ¨": 113417, + "大涨": 113418, + "å¸Ĥå§Ķ常å§Ķ": 113419, + "åĪĨéIJĺ": 113420, + "ä¸Ģ个èģĮä¸ļ": 113421, + "çĹħåĽł": 113422, + "è¿Ļ对äºİ": 113423, + "ä¸įå¾Ĺä¸į说": 113424, + "åıijçĶµæľº": 113425, + "æľīæīĢ帮åĬ©": 113426, + "缮æłĩä»»åĬ¡": 113427, + "åĽłåľ°": 113428, + "åĽłåľ°åζ": 113429, + "åĽłåľ°åĪ¶å®ľ": 113430, + "å°Ĩè¾¾åΰ": 113431, + "ç²Ĺç³Ļ": 113432, + "ç¨³åĽº": 113433, + "å«£": 113434, + "çİ°åľ¨å¾Īå¤ļ": 113435, + "ä¸ĸçķĮ级": 113436, + "å¼łæŁIJ": 113437, + "çĤ¹ç¼Ģ": 113438, + "èijµ": 113439, + "社ä¼ļç»Ħç»ĩ": 113440, + "å¾ĢåIJİ": 113441, + "åĬłæģ¯": 113442, + "åĻªå£°": 113443, + "æľīåħ´è¶£": 113444, + "为æĤ¨æıIJä¾Ľ": 113445, + "æ²¹æ¼Ĩ": 113446, + "ç¬¬åĽĽå±Ĭ": 113447, + "çļĩ宫": 113448, + "ä¹Ĵä¹ĵ": 113449, + "ä¹Ĵä¹ĵçIJĥ": 113450, + "éļ¨èijĹ": 113451, + "éģ©åIJĪ": 113452, + "åįĹéĿŀ": 113453, + "æĵ´": 113454, + "西æ´ĭ": 113455, + "åĬłå¯Ĩ": 113456, + "æĪIJåĬŁä¸¾åĬŀ": 113457, + "åı£æ°´": 113458, + "æĪIJ年人": 113459, + "æīĢæıIJä¾ĽçļĦ": 113460, + "éļĶå£ģ": 113461, + "åľ¨äº¬": 113462, + "å½ĵåľ°æĹ¶éĹ´": 113463, + "çŃīåIJĦç§į": 113464, + "é£İæ°Ķ": 113465, + "å±ĭéĩĮ": 113466, + "ä¸ĢåŃĹ": 113467, + "çļĦæĹ¶éĹ´éĩĮ": 113468, + "åĺ¿åĺ¿": 113469, + "快讯": 113470, + "ä¸Ńåľº": 113471, + "ä¸Ģçĵ¶": 113472, + "æ»ķ": 113473, + "é¢Ĩè·ij": 113474, + "好èݱ": 113475, + "好èݱåĿŀ": 113476, + "没åħ³ç³»": 113477, + "åĩºå¢ĥ": 113478, + "ä¸įæĺ¯ä¸Ģ个": 113479, + "éĥ½æĺ¯éĿŀ常": 113480, + "éľĩåĬ¨": 113481, + "èİ·èĥľ": 113482, + "åįļå¼Ī": 113483, + "æĬļåħ»": 113484, + "对ç«ĭ": 113485, + "æľįåĬ¡æľºæŀĦ": 113486, + "è°£è¨Ģ": 113487, + "社ä¼ļç§ijåѦ": 113488, + "åIJ¬è¯´è¿ĩ": 113489, + "æī³": 113490, + "æīĵ磨": 113491, + "åı£æľį": 113492, + "好åĥıæĺ¯": 113493, + "以åıĬåħ¶ä»ĸ": 113494, + "çī¹è´¨": 113495, + "亲è¿ij": 113496, + "ä¸Ģç»ı": 113497, + "æ¶Ŀ": 113498, + "éŃĶæľ¯": 113499, + "éģĵ路交éĢļ": 113500, + "è§Ħ模æľĢ大": 113501, + "å®ŀæĸ½æĦıè§ģ": 113502, + "ä¹ŀ": 113503, + "ä¸Ģä¸ĸ": 113504, + "åŁ·è¡Į": 113505, + "è±Ĩçĵ£": 113506, + "åĪĹ为": 113507, + "æķħ宫": 113508, + "çĶŁåij½åij¨æľŁ": 113509, + "ä¸īç§įèģĮä¸ļ": 113510, + "详ç»Ĩä»ĭç»į": 113511, + "å®Įå¤ĩ": 113512, + "å²©çŁ³": 113513, + "éļıæīĭ": 113514, + "飲": 113515, + "æķĪæŀľåĽ¾": 113516, + "ç§ĭåĨ¬": 113517, + "åĬŁå¾·": 113518, + "è§Ħ竳åĪ¶åº¦": 113519, + "æĹ¥æ¸IJ": 113520, + "æīĢéľĢè¦ģ": 113521, + "æīĢéľĢè¦ģçļĦ": 113522, + "å²Ľä¸Ĭ": 113523, + "åĩºåľŁ": 113524, + "åĽ¾æĸĩ": 113525, + "ç§ijæĬĢè¿ĽæŃ¥": 113526, + "éĢļèĥĢ": 113527, + "èĢģ太太": 113528, + "èĭĹæľ¨": 113529, + "éĵ¶å·Ŀ": 113530, + "å¸IJ篷": 113531, + "éĿŀè¦ģ": 113532, + "éħįç͵": 113533, + "å¤Ħå¢ĥ": 113534, + "èĤ¡æĿĥæĬķèµĦ": 113535, + "ä¸Ģ缴åΰ": 113536, + "åĿĩçͱ": 113537, + "æĬĹæĹ¥": 113538, + "æį®ä»ĭç»į": 113539, + "ä½łåĸľæ¬¢": 113540, + "åĪĽæĸ°åŀĭ": 113541, + "åıĺè¿ģ": 113542, + "è§Ĩå¯Ł": 113543, + "å®Įåħ¨æ²¡æľī": 113544, + "åħĥæĹ¦": 113545, + "åı¯ä¿¡": 113546, + "åı¦è¡Į": 113547, + "æĿij级": 113548, + "åħ¥åľº": 113549, + "æIJŃæ¡£": 113550, + "ä¹ŁåĽłæŃ¤": 113551, + "æį¢æĪIJ": 113552, + "ä¸įè´Ł": 113553, + "äºĨ大éĩıçļĦ": 113554, + "éģĶåΰ": 113555, + "å¸Ĥåİ¿": 113556, + "å¹´è¼ķ": 113557, + "å¿«æīĭ": 113558, + "å¸Įå°Ķ": 113559, + "èĩªèIJ¥": 113560, + "éĽªèĬ±": 113561, + "æIJģ": 113562, + "çľ¼ç§ij": 113563, + "æŃ£ç¢º": 113564, + "çļĦå§¿æĢģ": 113565, + "åĿļå®ŀçļĦ": 113566, + "æĮĩ纹": 113567, + "æªĶæ¡Ī": 113568, + "ç½®äºİ": 113569, + "佩æľį": 113570, + "豪éŨ": 113571, + "åĵĴ": 113572, + "æģ°å¥½": 113573, + "æª¢æŁ¥": 113574, + "åĪĿè¡·": 113575, + "大åĶIJ": 113576, + "约ä¼ļ": 113577, + "èĴ¸åıij": 113578, + "çѹåĪĴ": 113579, + "å¹´ç»Ī": 113580, + "è¡Įæ¥Ń": 113581, + "åħ±éĿĴ": 113582, + "åħ±éĿĴåĽ¢": 113583, + "ä¼ļå¼ķèµ·": 113584, + "ä¸Ńç§ij": 113585, + "ä¸Ńç§ijéĻ¢": 113586, + "æĮ¯åĬ¨": 113587, + "åį´åıijçݰ": 113588, + "ä¸įåĬ¨äº§": 113589, + "èĮ¹": 113590, + "æĪ¿éĹ´éĩĮ": 113591, + "è´§å¸ģæĶ¿çŃĸ": 113592, + "æ²»çĻĤ": 113593, + "æħİéĩį": 113594, + "å¡ŀå°Ķ": 113595, + "åĽ½ç±į": 113596, + "åĽłæŀľ": 113597, + "çŃīçī¹çĤ¹": 113598, + "山谷": 113599, + "ä¸ĭè¼ī": 113600, + "è®ĵæĪij": 113601, + "饮éħĴ": 113602, + "è¿Ļ个游æĪı": 113603, + "ç»Ŀ大éĥ¨åĪĨ": 113604, + "åĴ¨è¯¢æľįåĬ¡": 113605, + "干活": 113606, + "è®®ä¼ļ": 113607, + "æ¦Ĥè¿°": 113608, + "åĪĨåĮº": 113609, + "æŃ»åIJİ": 113610, + "ç«ĻçĿĢ": 113611, + "主è¦ģé¢Ĩ导": 113612, + "åIJĮåŁİ": 113613, + "大æłij": 113614, + "对åѦçĶŁ": 113615, + "社ä¼ļä¿ĿéĻ©": 113616, + "å¢ŀèµĦ": 113617, + "主人åħ¬": 113618, + "å®£ä¼łæķĻèĤ²": 113619, + "æĸĩåĮĸ交æµģ": 113620, + "客æĪ¶": 113621, + "çŁ¥åIJįåĵģçīĮ": 113622, + "æ»ŀåIJİ": 113623, + "äºĴè¡¥": 113624, + "æĦŁäºº": 113625, + "åī¿": 113626, + "åIJİ代": 113627, + "äºī龸": 113628, + "æķĻèĤ²åٹè®Ń": 113629, + "éĿĻèĦī": 113630, + "ä¹ıåĬĽ": 113631, + "说åĩºæĿ¥": 113632, + "çİĭèĢħèį£èĢĢ": 113633, + "åĢ«": 113634, + "åįĩèµ·": 113635, + "éķģ": 113636, + "åĩºæ¸¸": 113637, + "éĢļè¡Įè¯ģ": 113638, + "å·¥ä½ľå²Ĺä½į": 113639, + "åĮłå¿ĥ": 113640, + "æĭ¿æĿ¥": 113641, + "æ´Ĺè¡£æľº": 113642, + "æĪijä¸įæĥ³": 113643, + "é¢Ħè§ģ": 113644, + "æ¼Ķ示": 113645, + "ä¸ĢçĽ´æ²¡æľī": 113646, + "è·Łå¥¹": 113647, + "对çħ§æ£ĢæŁ¥": 113648, + "ç°¿": 113649, + "ä¸ĵå¿ĥ": 113650, + "è®®äºĭ": 113651, + "åīį端": 113652, + "åį¡å°Ķ": 113653, + "è¨Ńå®ļ": 113654, + "设置äºĨ": 113655, + "å©ļ纱": 113656, + "åľ¨åĽ½å¤ĸ": 113657, + "åı³ä¾§": 113658, + "è³¼çī©": 113659, + "å¥ĩèij©": 113660, + "å¢ŀåĬłå̼": 113661, + "好è¿IJ": 113662, + "åĽ½éĻħæľºåľº": 113663, + "ä¸ĭç§°": 113664, + "缮åīį为æŃ¢": 113665, + "ç¥ŀä»Ļ": 113666, + "å®ĥåı¯ä»¥": 113667, + "æ¾Ħæ¸ħ": 113668, + "èĥ½ä½¿": 113669, + "游åĩ»": 113670, + "游åĩ»éĺŁ": 113671, + "åĩ¹": 113672, + "ä¸įè¦ģåĨį": 113673, + "åĨ³èĥľ": 113674, + "åĨ³æĪĺ": 113675, + "æĭ½": 113676, + "缼åħ¸": 113677, + "å¾Īå¥½åľ°": 113678, + "æľĢç¾İçļĦ": 113679, + "åĥļ": 113680, + "å·´åŁº": 113681, + "å·´åŁºæĸ¯åĿ¦": 113682, + "æľĢéĢĤåIJĪ": 113683, + "é«ĺèģĮ": 113684, + "ä¿Ŀå§Ĩ": 113685, + "æİĪæ¬Ĭ": 113686, + "说åΰè¿ĻéĩĮ": 113687, + "æİ¨å¼Ģ": 113688, + "çİĩè¾¾": 113689, + "ä¸īåĪĨä¹ĭä¸Ģ": 113690, + "管çIJĨä¸Ńå¿ĥ": 113691, + "交æ±ĩ": 113692, + "森æŀĹåħ¬åĽŃ": 113693, + "å¾Ģä¸Ĭ": 113694, + "éªijè¡Į": 113695, + "æį®æŃ¤": 113696, + "纽带": 113697, + "ç»ŀ": 113698, + "ä¸īæĸ¹": 113699, + "æĦıä¹īä¸ĬçļĦ": 113700, + "æİ¨è¿Ł": 113701, + "å¤ļæł·æĢ§": 113702, + "æĥ³èµ·äºĨ": 113703, + "æİĴåIJį第": 113704, + "å·¨é¢Ŀ": 113705, + "æĿŁç¼ļ": 113706, + "å®īå®ļ": 113707, + "äºĭ實": 113708, + "çļĦæĦ¿æľĽ": 113709, + "è£ħå¤ĩåζéĢł": 113710, + "人å±ħ": 113711, + "人å±ħçݯå¢ĥ": 113712, + "å¿ĺè®°äºĨ": 113713, + "该游æĪı": 113714, + "楼ä¸Ĭ": 113715, + "å¼Ģä¼ļ": 113716, + "æģ³": 113717, + "åıĭæĥħéĵ¾æİ¥": 113718, + "ç¡Ĵ": 113719, + "ç»ĻäºĪäºĨ": 113720, + "åģı好": 113721, + "åĵī": 113722, + "交éĢļå®īåħ¨": 113723, + "éĽĮ": 113724, + "æ²»çĹħ": 113725, + "è§īå¾Ĺå¾Ī": 113726, + "衬衫": 113727, + "å¿ĥæĦ¿": 113728, + "æ´ŀå¯Ł": 113729, + "æ°ijæ£Ģå¯ŁéĻ¢": 113730, + "æıIJçĤ¼": 113731, + "è¦ģè¿Ľä¸ĢæŃ¥": 113732, + "驾车": 113733, + "æĻ®æĥł": 113734, + "æķĸ": 113735, + "ç¦ıéŁ³": 113736, + "éĢģè¾¾": 113737, + "è§ĦåĪĴ设计": 113738, + "æīĭå¥Ĺ": 113739, + "å®īä¿Ŀ": 113740, + "è¿ĺä¸įå¦Ĥ": 113741, + "åīįè¿°": 113742, + "æłĩè®°": 113743, + "ç´§æİ¥çĿĢ": 113744, + "æ§IJ": 113745, + "æ·±æ·±åľ°": 113746, + "满满çļĦ": 113747, + "æĺ¥è¿IJ": 113748, + "æĹ¥äº§": 113749, + "çαæĬ¤": 113750, + "åħ¨æĹ¥": 113751, + "åħ¨æĹ¥åζ": 113752, + "转åĬ¨": 113753, + "ç¥Ńç¥Ģ": 113754, + "ä¹°ä¸ľè¥¿": 113755, + "å¯¹æľªæĿ¥": 113756, + "æ¶Ī失äºĨ": 113757, + "åļ´éĩį": 113758, + "ä¸īæĿ¡": 113759, + "éħ¸å¥¶": 113760, + "éĽĨåĽ¢èĤ¡ä»½": 113761, + "西路": 113762, + "åıªå¾Ĺ": 113763, + "éĢģåİ»": 113764, + "çĭłæĬĵ": 113765, + "åĪ©ç͍çİĩ": 113766, + "ä¸ĭåij¨": 113767, + "å¥ĭæĪĺ": 113768, + "æĺ¥èĬĤæľŁéĹ´": 113769, + "è´Łè´£ä»»": 113770, + "æĺĤè´µ": 113771, + "尾巴": 113772, + "ç¯ĩæĸĩ竳": 113773, + "åħ®": 113774, + "è®ĬæĪIJ": 113775, + "å¹¹": 113776, + "çĻ»éĮĦ": 113777, + "ä½Ī": 113778, + "å·¥åĮł": 113779, + "åĵªæĢķæĺ¯": 113780, + "åıįåĵį": 113781, + "ç§ĥ": 113782, + "åĩºè½¨": 113783, + "æĹ¥åĨĽ": 113784, + "åIJįèªī": 113785, + "æķıéĶIJ": 113786, + "æľįåĬ¡æ°´å¹³": 113787, + "çħ§å°Ħ": 113788, + "ä¼Ĭæĭī": 113789, + "ä¼Ĭæĭīåħĭ": 113790, + "åĨħéĺģ": 113791, + "èĬĴæŀľ": 113792, + "ä¸ĩåĪĨ": 113793, + "éĢĢæ¬¾": 113794, + "缴æĴŃéĹ´": 113795, + "æĭ¿åΰäºĨ": 113796, + "å°İèĩ´": 113797, + "空æ°Ķä¸Ń": 113798, + "客æĪ·æľįåĬ¡": 113799, + "è¿IJåĬ¿": 113800, + "ç»ĵçŁ³": 113801, + "ä¸įå¿ħè¦ģçļĦ": 113802, + "èĥ¶åĽĬ": 113803, + "çIJĨä¼ļ": 113804, + "æĬ½åĩº": 113805, + "空æ°Ķè´¨éĩı": 113806, + "æ¯ķ竣æĺ¯": 113807, + "åĨ·æ¼ł": 113808, + "ä¸Ģå¦Ĥ": 113809, + "ä¸Ģå¦ĤæĹ¢": 113810, + "ä¸Ģå¦ĤæĹ¢å¾Ģ": 113811, + "æĤ£çĹħ": 113812, + "åĬłæĮģ": 113813, + "èµŀåĬ©": 113814, + "é«®": 113815, + "åij½ä¸Ń": 113816, + "æĦıä¹īä¸Ĭ": 113817, + "ä¸įèĪį": 113818, + "å쬦": 113819, + "æīĵæī«": 113820, + "æĺŁåħī": 113821, + "æĸŃè£Ĥ": 113822, + "åħ¨å¥Ĺ": 113823, + "è£ģå®ļ": 113824, + "马åħĭæĢĿ": 113825, + "骨骼": 113826, + "ä¸Ģè·¯ä¸Ĭ": 113827, + "å®ļæĹ¶": 113828, + "å·¥ç¨ĭæĬĢæľ¯": 113829, + "å½¼å¾Ĺ": 113830, + "æ±²åıĸ": 113831, + "ä¸Ģè§Ī": 113832, + "åIJµæŀ¶": 113833, + "ä¿Ĺç§°": 113834, + "æłªæ´²": 113835, + "åºŁæĹ§": 113836, + "è¡ĮæĺŁ": 113837, + "åıijçĶŁåıĺåĮĸ": 113838, + "é¦ĸä»ĺ": 113839, + "åįģåĪĨéĩįè¦ģ": 113840, + "æĬĬè¿ĻäºĽ": 113841, + "ç¥ŀå·ŀ": 113842, + "æıIJä¾ĽåķĨ": 113843, + "楷": 113844, + "å±İ": 113845, + "çĬ¶åħĥ": 113846, + "åŁİå¢Ļ": 113847, + "çľĭä¸Ģçľĭ": 113848, + "çĶŁäº§èĥ½åĬĽ": 113849, + "åŁºæľ¬ä¸Ĭéĥ½": 113850, + "æīĵæī°": 113851, + "åĪĿ次": 113852, + "åĩºç¤º": 113853, + "åħ¶ä¸Ńä¸Ģ个": 113854, + "çĶŁæĢģç³»ç»Ł": 113855, + "æīĭæİĮ": 113856, + "æµİåįĹå¸Ĥ": 113857, + "åľĭåħ§": 113858, + "æŃ£å̼": 113859, + "å¹¾ä¹İ": 113860, + "æİ¨èįIJéĺħ读": 113861, + "è¿Ń代": 113862, + "è°ĥä¾ĥ": 113863, + "饮åĵģ": 113864, + "å¢Ļä½ĵ": 113865, + "åıĺçݰ": 113866, + "äºĨ好": 113867, + "äºĨ好åĩł": 113868, + "ä¸įçķĻ": 113869, + "çβ": 113870, + "å°½æĹ©": 113871, + "æŃ£åľ¨è¿Ľè¡Į": 113872, + "åĩºéĻ¢": 113873, + "æĿĢ害": 113874, + "æıIJ款": 113875, + "åıijå±ķ空éĹ´": 113876, + "åīį身": 113877, + "ä¸įæĸŃå¢ŀ强": 113878, + "æ·±å±Ĥ次": 113879, + "容纳": 113880, + "éĤ£ä»½": 113881, + "å·¥ä½ľæķĪçİĩ": 113882, + "æľ¬åĽ½": 113883, + "失èIJ½": 113884, + "æŃ£åĽłä¸º": 113885, + "èĬĤæ°´": 113886, + "ä¸ĭä¸Ģ代": 113887, + "çłĶåıijä¸Ńå¿ĥ": 113888, + "ä¸įçIJĨ": 113889, + "å®Į好": 113890, + "ä¿ĿæĬ¤åĮº": 113891, + "ç»ĵæŀĦè°ĥæķ´": 113892, + "å¥łå®ļ": 113893, + "宣称": 113894, + "éĺ»æĮ¡": 113895, + "æĴ¤ç¦»": 113896, + "ä¸įæĸ¹ä¾¿": 113897, + "åĴķ": 113898, + "ç¬ijäºĨç¬ij": 113899, + "çݯå¢ĥ污æŁĵ": 113900, + "ä½ıæĪ·": 113901, + "ç»Ŀç¼ĺ": 113902, + "éϤå°ĺ": 113903, + "é«ĺå°ļ": 113904, + "æĢİä¹Īåı¯èĥ½": 113905, + "éĿ¢èī²": 113906, + "åķĨæ¥Ń": 113907, + "çĸ¹": 113908, + "èµĦæºIJä¼ĺåĬ¿": 113909, + "è¾ĸåĮºåĨħ": 113910, + "èĢĢçľ¼": 113911, + "æij§æ¯ģ": 113912, + "ä¸ĸçķĮç»ıæµİ": 113913, + "å¼ķæĿ¥": 113914, + "ä¸ĢåĪĻ": 113915, + "æĭĩæĮĩ": 113916, + "æĬµå¾¡": 113917, + "éĽį": 113918, + "åĩĨå¤ĩå·¥ä½ľ": 113919, + "çıłä¸īè§Ĵ": 113920, + "ç¨ĢåľŁ": 113921, + "èİ·å¾ĹæĦŁ": 113922, + "æĪIJåĬŁçİĩ": 113923, + "ç½ij约": 113924, + "ç½ij约车": 113925, + "èĦIJ": 113926, + "æķ¬ä¸ļ": 113927, + "éĩijä»·": 113928, + "ç²¾é«ĵ": 113929, + "买车": 113930, + "åħ³åı£": 113931, + "åĨįå¤ļ": 113932, + "æŀģåĵģ": 113933, + "åIJĦå®¶": 113934, + "举æĬ¥ç͵è¯Ŀ": 113935, + "èļĬ": 113936, + "æĸ¹å½¢": 113937, + "ç§ijæĬĢæĪIJæŀľ": 113938, + "æľĢ好æĺ¯": 113939, + "éĹ®åĢĻ": 113940, + "红éħĴ": 113941, + "åĽĽç§į": 113942, + "ç¿Ĵæħ": 113943, + "ç¿Ĵæħ£": 113944, + "åŀ¦": 113945, + "éĤ£åıª": 113946, + "é¢ĨæĤŁ": 113947, + "çľ¼éĥ¨": 113948, + "æ³°å®ī": 113949, + "ä»»æľŁ": 113950, + "磨æįŁ": 113951, + "æĽ¿æį¢": 113952, + "åħ¸ç¤¼": 113953, + "符åIJĪæĿ¡ä»¶": 113954, + "è¿ĺæľīä»Ģä¹Ī": 113955, + "åħ±äº«åįķ车": 113956, + "åı¯åĪĨ为": 113957, + "åŃ£åIJİ": 113958, + "åŃ£åIJİèµĽ": 113959, + "举èİŀå¸Ĥ": 113960, + "å¿ĥæĦı": 113961, + "æīŃæĽ²": 113962, + "ä½ľä¸ºä¸Ģç§į": 113963, + "è¿Ļéĥ¨åĪĨ": 113964, + "åıĤä¸İåΰ": 113965, + "ç½ijçIJĥ": 113966, + "實çı¾": 113967, + "ç»Ħè£ħ": 113968, + "åIJijå¤ĸ": 113969, + "å·¥ä½ľæĸ¹æ¡Ī": 113970, + "åįģæĿ¡": 113971, + "課ç¨ĭ": 113972, + "颤æĬĸ": 113973, + "åĵ©": 113974, + "éĤ®å¯Ħ": 113975, + "亢": 113976, + "åħįè²»": 113977, + "秤": 113978, + "åºĶæĢ¥ç®¡çIJĨ": 113979, + "åĽĽäºĶ": 113980, + "éºĴéºŁ": 113981, + "å¾ĴæŃ¥": 113982, + "è¨ĺå¾Ĺ": 113983, + "çĴIJ": 113984, + "æĺ¯åIJ¦ä¼ļ": 113985, + "æĦıè§ģåıįé¦Ī": 113986, + "éļ¾æĢª": 113987, + "çªį": 113988, + "交æİ¥": 113989, + "两åįĥ": 113990, + "æĩīç͍": 113991, + "æľŁéĸĵ": 113992, + "æIJ¬åΰ": 113993, + "è®®é¢ĺ": 113994, + "碧æ¡Ĥ": 113995, + "碧æ¡ĤåĽŃ": 113996, + "åģļçĶŁæĦı": 113997, + "éĻĽä¸ĭ": 113998, + "è·ĭ": 113999, + "èĢģ人家": 114000, + "带åĽŀ": 114001, + "æŀ¸æĿŀ": 114002, + "è¡Įéķ¿": 114003, + "åĨħ容ç®Ģä»ĭ": 114004, + "梢": 114005, + "æĮĩæİ§": 114006, + "éĩįçĹĩ": 114007, + "ç½ijåıĭ们": 114008, + "çı¾ä»£": 114009, + "类产åĵģ": 114010, + "å¥Ķæ³¢": 114011, + "渺": 114012, + "ç²īç¢İ": 114013, + "è¿Ļåıªæĺ¯": 114014, + "æ£Ģå¯Łæľºåħ³": 114015, + "é½Ĭ": 114016, + "æĪ¿ç§Ł": 114017, + "å¾·æĭī": 114018, + "å²ģ以ä¸Ĭ": 114019, + "纯åĩĢ": 114020, + "åĪĨå¸ĥåľ¨": 114021, + "èĥ½å¾Ĺåΰ": 114022, + "ä¸įå°½": 114023, + "ç«ŀä»·": 114024, + "çļĦ带é¢Ĩ": 114025, + "çļĦ带é¢Ĩä¸ĭ": 114026, + "ä¸Ńè᝿ĿIJ": 114027, + "æĿijéķĩ": 114028, + "ä¸įåı¯éģ¿åħį": 114029, + "éľ²å¤©": 114030, + "å°ıå§ijå¨ĺ": 114031, + "çī©ä»¶": 114032, + "èijĹä½ľæĿĥ": 114033, + "æĭĺçķĻ": 114034, + "éĥ½è§īå¾Ĺ": 114035, + "æĽ²æĬĺ": 114036, + "æ·»åĬłåīĤ": 114037, + "åı¬åĽŀ": 114038, + "æīİå®ŀæİ¨è¿Ľ": 114039, + "æĬĦè¢Ń": 114040, + "åĮĸ身": 114041, + "缴èIJ¥": 114042, + "ä¹Łå¸ĮæľĽ": 114043, + "èį£èªīç§°åı·": 114044, + "åįĸç»Ļ": 114045, + "æľīä¸įåIJĮçļĦ": 114046, + "å¥ĩçī¹": 114047, + "éĥ½è®¤ä¸º": 114048, + "å¦ŀ": 114049, + "æĪIJéķ¿ä¸º": 114050, + "辩æĬ¤": 114051, + "主æķĻç»ĥ": 114052, + "æ³ķå¸ĪèģĮä¸ļ": 114053, + "æ¤įåħ¥": 114054, + "索尼": 114055, + "åIJ¬è¿ĩ": 114056, + "ä¹łæĥ¯äºĨ": 114057, + "夺åıĸ": 114058, + "éŁĵ": 114059, + "æľ¬è´¨ä¸Ĭ": 114060, + "æİ¥åĬĽ": 114061, + "äºij端": 114062, + "è¦ģåģļ好": 114063, + "è·¯çģ¯": 114064, + "åįıåIJĮåıijå±ķ": 114065, + "æľīå¾ħ": 114066, + "æ°´åŁŁ": 114067, + "æIJľçĭIJé¦ĸ页": 114068, + "è´¨éĩıå®īåħ¨": 114069, + "åįģäºĮäºĶ": 114070, + "åĵ®åĸĺ": 114071, + "èĵ¬åĭĥåıijå±ķ": 114072, + "åIJį声": 114073, + "身亡": 114074, + "çİĭåºľ": 114075, + "åİŁåĪĻä¸Ĭ": 114076, + "çĥĺå¹²": 114077, + "éģĹæ¼ı": 114078, + "éĿ¢çĽ®": 114079, + "åĽ½ä¼ļ": 114080, + "ä¸Ģ缴éĥ½æĺ¯": 114081, + "æľīä¸Ģä½į": 114082, + "éħįæľī": 114083, + "éĻªçĿĢ": 114084, + "ä¼ģåĽ¾": 114085, + "æĮīä¸ĭ": 114086, + "èĵĿåĽ¾": 114087, + "æ©ĺ": 114088, + "大å¤ļæĺ¯": 114089, + "辩论": 114090, + "æĹĭå¾ĭ": 114091, + "æĬ¥éĢģ": 114092, + "æĿ¡è§Ħå®ļ": 114093, + "åĬ¨éĿĻ": 114094, + "åĮĪ奴": 114095, + "æĭľè®¿": 114096, + "ä¸ĢåĪĢ": 114097, + "ä»ĸçŁ¥éģĵ": 114098, + "主æĿĥ": 114099, + "ä»ĸæĽ¾": 114100, + "æĴŃç§į": 114101, + "å£ģåŀĴ": 114102, + "çī¢è®°ä½¿åij½": 114103, + "åľ¨è¿Ļæĸ¹éĿ¢": 114104, + "æīĭèħķ": 114105, + "æĶ¯æŀ¶": 114106, + "ä¾Ĩèĩª": 114107, + "éĩįå¡ij": 114108, + "å¤ļå±Ĥ次": 114109, + "ä»ĭè´¨": 114110, + "éĿ¢åŃĶ": 114111, + "潮湿": 114112, + "åİ¿åŁŁ": 114113, + "游æĪıå½ĵä¸Ń": 114114, + "å£ŀ": 114115, + "åĪĹåĩº": 114116, + "èµĽåĮº": 114117, + "å¤ļåįĬ": 114118, + "éĩįçĤ¹å·¥ä½ľ": 114119, + "æĪij们å¿ħé¡»": 114120, + "æŁıæŀĹ": 114121, + "é²ģèĥ½": 114122, + "æĸ½å±ķ": 114123, + "åIJĦåĮº": 114124, + "åħįç¨İ": 114125, + "èµĽåIJİ": 114126, + "æľĢéĩįè¦ģ": 114127, + "ä¸Ģ个好çļĦ": 114128, + "è¿Ŀæ³ķè¿Ŀè§Ħ": 114129, + "äºĨè§£æĽ´å¤ļ": 114130, + "æķ¬è¯·": 114131, + "ç¬ijçĿĢ说": 114132, + "ä¸įæĸŃåıijå±ķ": 114133, + "æijĦå½±å¸Ī": 114134, + "以éĺ²": 114135, + "çĤ¸å¼¹": 114136, + "声åĵį": 114137, + "ç¤ģ": 114138, + "æĩ¿": 114139, + "èĪĨæĥħ": 114140, + "èĩªçĶ±è´¸æĺĵ": 114141, + "æķıæį·": 114142, + "ä¸ī大éĺ¶æ®µ": 114143, + "èĭĶ": 114144, + "æĹºåŃ£": 114145, + "ä¸į满æĦı": 114146, + "微信åı·": 114147, + "修为": 114148, + "çł´è£Ĥ": 114149, + "éĢĥ离": 114150, + "æ¯ıèĤ¡": 114151, + "è¾¾ä¸įåΰ": 114152, + "æ¯ıå¹´éĥ½": 114153, + "çģ¯ç¬¼": 114154, + "æŃ¤åŁºç¡Ģä¸Ĭ": 114155, + "åĥı个": 114156, + "åĪĨ娩": 114157, + "æĻ¾": 114158, + "ä¸įèĩ³äºİ": 114159, + "红线": 114160, + "误解": 114161, + "ä¸ľè·¯": 114162, + "æ·®å®ī": 114163, + "产åѦ": 114164, + "产åѦçłĶ": 114165, + "è»ĭ": 114166, + "è»ĭçĹħ": 114167, + "åīįæıIJæĺ¯": 114168, + "æ¯ıä¸Ģ天": 114169, + "ä¸ĥ大": 114170, + "æłijåı¶": 114171, + "èµ°å¾Ĺ": 114172, + "è¿Ļ两ç§į": 114173, + "æİıåĩº": 114174, + "æİIJ": 114175, + "é¢Ĩ导èĢħ": 114176, + "ä¸Ģæľµ": 114177, + "个å¤ļæľĪ": 114178, + "ä¸Ńåħ³": 114179, + "ä¸Ńåħ³æĿij": 114180, + "课åłĤæķĻåѦ": 114181, + "大åĴĸ": 114182, + "éģĭç͍": 114183, + "è¯ļæĦı": 114184, + "ç»ĦåĽ¾": 114185, + "è¯ķçĿĢ": 114186, + "ä¹Ķæ²»": 114187, + "è¿ĺä¸įæĺ¯": 114188, + "æľīæĽ´å¥½çļĦ": 114189, + "åIJİå¤ĩ": 114190, + "æĸ°çĶŁåĦ¿": 114191, + "æ°Ķè¡Ģ": 114192, + "æ²¥éĿĴ": 114193, + "å±ıéļľ": 114194, + "æ¥ŃåĭĻ": 114195, + "æĪij以为": 114196, + "éķ¿çĽ¸": 114197, + "èĢģçΏ": 114198, + "éķĩæ±Ł": 114199, + "æľºæ¢°è®¾å¤ĩ": 114200, + "ä½Ĩæĺ¯å¦Ĥæŀľ": 114201, + "åĿļå®ļä¸į": 114202, + "åĿļå®ļä¸įç§»": 114203, + "åĨ²éĶĭ": 114204, + "ç®Ģ缴æĺ¯": 114205, + "åĤ¨èĵĦ": 114206, + "纯ç͵åĬ¨": 114207, + "漫æŃ¥": 114208, + "举起": 114209, + "æģ¶æĢ§": 114210, + "è¨ĺéĮĦ": 114211, + "èģĮèĥ½éĥ¨éŨ": 114212, + "åħ¨éķ¿": 114213, + "鼻è¦ĸ": 114214, + "ä¹³èħº": 114215, + "ä½ķå¤Ħ": 114216, + "æ¶Īæŀģ": 114217, + "æŃ£å¤Ħäºİ": 114218, + "å®īå®ģ": 114219, + "æĪIJéķ·": 114220, + "åıĻè¿°": 114221, + "æºĥçĸ¡": 114222, + "ä½Ĩçİ°åľ¨": 114223, + "女æĺŁ": 114224, + "å©´å¹¼åĦ¿": 114225, + "æĬķèŀįèµĦ": 114226, + "éĹ®éĹ®": 114227, + "æıŃå¼Ģ": 114228, + "è¯ı": 114229, + "åIJįå½ķ": 114230, + "èĺijèıĩ": 114231, + "åIJĬé¡¶": 114232, + "æ¹ĸåĮº": 114233, + "åįĸåľº": 114234, + "建ç¯": 114235, + "建ç¯ī": 114236, + "èݽ": 114237, + "åIJ¬åIJ¬": 114238, + "ç«ŀäºīä¼ĺåĬ¿": 114239, + "åĩºä»»": 114240, + "æľī两ç§į": 114241, + "æ©±æŁľ": 114242, + "褪": 114243, + "è¯ķåį·": 114244, + "ç»ıæµİæĬĢæľ¯": 114245, + "æ·±å±Ĥ": 114246, + "éĩįè¦ģåĨħ容": 114247, + "é£İæİ§": 114248, + "çĬ¶æĢģä¸ĭ": 114249, + "éĥ¨éĸĢ": 114250, + "广汽": 114251, + "è§Ĥæij©": 114252, + "éģĹçķĻ": 114253, + "转账": 114254, + "æĮģä»ĵ": 114255, + "æĢ»è®¡": 114256, + "åľĺéļĬ": 114257, + "æĪ¿ä¸ľ": 114258, + "éĺĢéŨ": 114259, + "åħ¬åħ³": 114260, + "åħ³åĪĩ": 114261, + "èĤĺ": 114262, + "æķ¸æĵļ": 114263, + "ä¸īåįģå¹´": 114264, + "è§ģè¯ģäºĨ": 114265, + "å±Ĩ": 114266, + "çģ°å°ĺ": 114267, + "æ¦ľé¦ĸ": 114268, + "è¦ĨçĽĸçİĩ": 114269, + "ä»Ļ女": 114270, + "çĶŁäº§æĢ»": 114271, + "çĶŁäº§æĢ»å̼": 114272, + "æĪ¿è´·": 114273, + "æ±ŁåĮº": 114274, + "åħħçĶµæ¡©": 114275, + "çϾåIJĪ": 114276, + "確èªį": 114277, + "转移åΰ": 114278, + "éĥ½æĹłæ³ķ": 114279, + "纪念é¦Ĩ": 114280, + "çŃ¾ç½²äºĨ": 114281, + "å¹¶ä¸įå¤ļ": 114282, + "æĮł": 114283, + "ä¸į太好": 114284, + "ä¸ĸ代": 114285, + "误导": 114286, + "é«ĺ峰论åĿĽ": 114287, + "åħ¼å®¹": 114288, + "龸æ°Ķ": 114289, + "æĿ¥è®¿": 114290, + "æīĢ带æĿ¥çļĦ": 114291, + "æĺ¯ä¸Ģéĥ¨": 114292, + "æĻļé¥Ń": 114293, + "åİĨ代": 114294, + "åIJ¦åīĩ": 114295, + "ä¹ħä¹ħ": 114296, + "æľīæķĪæľŁ": 114297, + "诱åıij": 114298, + "æĢ»èµĦ产": 114299, + "æľ¬èº«å°±æĺ¯": 114300, + "çĶŁäº§åİĤå®¶": 114301, + "æĹ¶é«¦": 114302, + "èĢIJç͍": 114303, + "ä»İå°ıå°±": 114304, + "æĿ¡çº¦": 114305, + "èĭ±åĭĩ": 114306, + "ä¿Ĺè¯Ŀ说": 114307, + "寺åºĻ": 114308, + "å¿ĥçIJĨåģ¥åº·": 114309, + "ä»Ģä¹Īäºĭæĥħ": 114310, + "æ±īåŃĹ": 114311, + "çķĻä½ı": 114312, + "åįĹè·¯": 114313, + "ä¸ī项": 114314, + "丢äºĨ": 114315, + "æĥ³åΰäºĨ": 114316, + "çѹéĽĨ": 114317, + "éĻĦåĬłå̼": 114318, + "西è£ħ": 114319, + "ä¹ĭä½ľ": 114320, + "åģļçļĦäºĭ": 114321, + "çķ¶æĤ¨": 114322, + "çķ¶æĤ¨åľ¨": 114323, + "é¦ĸ款": 114324, + "ä¸įåľ¨ä¹İ": 114325, + "å·¥ç¨ĭæĸ½å·¥": 114326, + "éļIJéļIJ": 114327, + "åıĺ身": 114328, + "沿éĢĶ": 114329, + "æĤłæĤł": 114330, + "ä¿Ŀæļĸ": 114331, + "çĶŁæ´»åŀĥåľ¾": 114332, + "渤海": 114333, + "æŃ¦ä¾ł": 114334, + "女主è§Ĵ": 114335, + "举ä¾ĭ": 114336, + "æ·¨": 114337, + "çϽé¢Ĩ": 114338, + "è£ĻåŃIJ": 114339, + "è¿Ķè¿ĺ": 114340, + "è¿Īåĩº": 114341, + "é¾ĻéŨ": 114342, + "ç»ıæµİä½ĵ": 114343, + "æĶ¶å®ĺ": 114344, + "çķĮéĻIJ": 114345, + "è·³åĩº": 114346, + "åįĩå̼": 114347, + "绵éĺ³": 114348, + "çĸ¤çĹķ": 114349, + "çľĭæ¸ħ": 114350, + "æĭĴçµķ": 114351, + "è¥Ħéĺ³": 114352, + "课å¤ĸ": 114353, + "åŃIJåŃĻ": 114354, + "æŃĮè¯į": 114355, + "æĪIJåIJį": 114356, + "溶液": 114357, + "åĦĴå®¶": 114358, + "åķĨä¸ļåĮĸ": 114359, + "辨åĪ«": 114360, + "å¤ļè¾¾": 114361, + "ç½ijåºĹ": 114362, + "ä¹Ŀ大": 114363, + "ä¹Ŀ大精ç¥ŀ": 114364, + "æŃ¤ä¸¾": 114365, + "è¿ŀè½½": 114366, + "ä¸ĢåĢĭ人": 114367, + "è³½": 114368, + "æ¶µçĽĸäºĨ": 114369, + "è¦ıåĬĥ": 114370, + "åĽ½æĥħ": 114371, + "åį«çĶŁåģ¥åº·": 114372, + "积æŀģåĵįåºĶ": 114373, + "æĭĻ": 114374, + "åζåĬ¨": 114375, + "æĥ³è±¡åĬĽ": 114376, + "çļĦä¹IJè¶£": 114377, + "å¼łå®¶çķĮ": 114378, + "å´İ": 114379, + "éĩįåŀĭ": 114380, + "å¤ĸå¢Ļ": 114381, + "æĶ¾åѦ": 114382, + "è®¤çľŁåŃ¦ä¹ł": 114383, + "è´¬å̼": 114384, + "æ³ķæ¡Ī": 114385, + "æĬ¤èĤ¤åĵģ": 114386, + "éĻ·åħ¥äºĨ": 114387, + "请æĤ¨": 114388, + "åŀ¢": 114389, + "æķĻèĤ²èµĦæºIJ": 114390, + "交æĺĵå¹³åı°": 114391, + "æĹ¶è£ħ": 114392, + "ä¼łæŁĵçĹħ": 114393, + "æ¹ĸæ³Ĭ": 114394, + "èµĦ管": 114395, + "åݨå¸Ī": 114396, + "éĹľéį": 114397, + "éĹľéįµ": 114398, + "åĵĪåĵĪåĵĪ": 114399, + "çĽĹçªĥ": 114400, + "çĶľç¾İ": 114401, + "åºĦåĽŃ": 114402, + "缮åīįå·²ç»ı": 114403, + "è¾¹ä¸Ĭ": 114404, + "çģ«èĬ±": 114405, + "æĬ¥è®°èĢħ": 114406, + "æģĭæĥħ": 114407, + "ç´§åĩij": 114408, + "æ°´æµģ": 114409, + "è¿Ļæĺ¯æĪij们": 114410, + "æ³¥åľŁ": 114411, + "æĽ¾ä»»": 114412, + "æĸ¹è¨Ģ": 114413, + "åij¨åħŃ": 114414, + "åı·æ¥¼": 114415, + "ä¼ijåģĩ": 114416, + "误ä¼ļ": 114417, + "åĽ½åĢº": 114418, + "åīįå¤ķ": 114419, + "ä¸¤å¼ł": 114420, + "éĹ«": 114421, + "éŃĶ鬼": 114422, + "æĬĬæĮģ": 114423, + "èĬĤèĥ½çݯä¿Ŀ": 114424, + "æ¸ħæ´ģèĥ½æºIJ": 114425, + "èĤ¥æĸĻ": 114426, + "é«ĺé¢ij": 114427, + "å°±æľīäºĨ": 114428, + "交ä¼ļ": 114429, + "没éĴ±": 114430, + "éĽħæĢĿ": 114431, + "è¦ģåıĬæĹ¶": 114432, + "åŁ¹åħ»åѦçĶŁ": 114433, + "欣åĸľ": 114434, + "çĥŃæ°´åύ": 114435, + "é¾Ļæ¹ĸ": 114436, + "äºĮ楼": 114437, + "æĸ°æµªè´¢ç»ı": 114438, + "æĸ°åĬ¨èĥ½": 114439, + "èµ£å·ŀ": 114440, + "æĭ³å¤´": 114441, + "æµģåIJij": 114442, + "ä¹Łæĺ¯å¾Ī": 114443, + "åıijåĶ®": 114444, + "ä¸ŃåIJ«æľī": 114445, + "åIJĵå¾Ĺ": 114446, + "å·¨æĺŁ": 114447, + "æĹłæīĢè°ĵ": 114448, + "æ¯ĽåŃĶ": 114449, + "åħ¬åħ±äº¤éĢļ": 114450, + "çĤİçĥŃ": 114451, + "èµ·èįī": 114452, + "åĬłçĽŁåķĨ": 114453, + "说ä¸įåĩº": 114454, + "大åѦæ¯ķä¸ļ": 114455, + "å·¥ä¸ļåĽŃ": 114456, + "éłĺåŁŁ": 114457, + "åºĨåħ¸": 114458, + "æµģ产": 114459, + "èģ²éٳ": 114460, + "ä¼¼ä¹İæĺ¯": 114461, + "è´§æºIJ": 114462, + "æ·±åĪĩ": 114463, + "æ²»çĸĹæĸ¹æ³ķ": 114464, + "èµĦæºIJéħįç½®": 114465, + "ç¶²åıĭ": 114466, + "çĶ£": 114467, + "亥": 114468, + "èº²åľ¨": 114469, + "社ç§ij": 114470, + "è»Łé«Ķ": 114471, + "女è£ħ": 114472, + "æŃ¡è¿İ": 114473, + "综åIJĪå®ŀåĬĽ": 114474, + "æł¼å°ĩ": 114475, + "åħļåı²åŃ¦ä¹ł": 114476, + "æľĢåŁºæľ¬": 114477, + "æľĢåŁºæľ¬çļĦ": 114478, + "çľĭæľĽ": 114479, + "åıĹè´¿": 114480, + "ä¸įä»ħèĥ½": 114481, + "ä½ķå¿ħ": 114482, + "ä¸Ģ个å°ıæĹ¶": 114483, + "ç¾Į": 114484, + "æĭĽæĶ¶": 114485, + "çĤĴèĤ¡": 114486, + "æĿijå¹²éĥ¨": 114487, + "缸çα": 114488, + "æ½ľèĥ½": 114489, + "ä¹į": 114490, + "æĹ¶è¾°": 114491, + "欣æħ°": 114492, + "éĵ¶è¡Įä¸ļ": 114493, + "çĭŃçªĦ": 114494, + "éĩįçĤ¹é¢ĨåŁŁ": 114495, + "çݰå®ŀçĶŁæ´»": 114496, + "éĮ¯èª¤": 114497, + "æĸ°è§Ħ": 114498, + "滥ç͍": 114499, + "æĹ¶ä¸į": 114500, + "æĹ¶ä¸įæĹ¶": 114501, + "帳èĻŁ": 114502, + "ç¨Ģ缺": 114503, + "åIJij举": 114504, + "ä¿Ŀåģ¥åĵģ": 114505, + "çıŃéķ¿": 114506, + "äºĴåĭķ": 114507, + "笼罩": 114508, + "æ½Ľ": 114509, + "æļĸå¿ĥ": 114510, + "è½°çĤ¸": 114511, + "åºĨ幸": 114512, + "è²Įä¼¼": 114513, + "æĵº": 114514, + "èĢIJ磨": 114515, + "ä¸ĵä¸ļ人士": 114516, + "ä¸Ģèάéĥ½æĺ¯": 114517, + "æ¼³å·ŀ": 114518, + "åħ¨èĩªåĬ¨": 114519, + "å½ķç͍": 114520, + "大è·Į": 114521, + "æľīæķο̧": 114522, + "èĩªåĭķ": 114523, + "ä¸ī个æĸ¹éĿ¢": 114524, + "港åĮº": 114525, + "信貸": 114526, + "éĢļè¯Ŀ": 114527, + "é«ĺ涨": 114528, + "æ³Ħæ¼ı": 114529, + "éħįä¸Ĭ": 114530, + "åħļå·¥å§Ķ": 114531, + "被认为": 114532, + "被认为æĺ¯": 114533, + "ä¸įä¼ļåĨį": 114534, + "è°ĥåīĤ": 114535, + "åıĤèĤ¡": 114536, + "èĦ±åıij": 114537, + "å¿łå®ŀ": 114538, + "åĨħåĪĨæ³Į": 114539, + "ç¹ģå¿Ļ": 114540, + "åıĮåĪĽ": 114541, + "é©»æĿij": 114542, + "åĪĴç®Ĺ": 114543, + "éģİä¾Ĩ": 114544, + "åľ£ç»ı": 114545, + "èıľé¸Ł": 114546, + "æĭ¼å¤ļå¤ļ": 114547, + "ä¸ŃåĽ½æ±½è½¦": 114548, + "çĥŁèįī": 114549, + "缴æµģ": 114550, + "äºĨä¸Ģåı£æ°Ķ": 114551, + "ä½İæĪIJæľ¬": 114552, + "æī¾åĽŀ": 114553, + "èĩªåįij": 114554, + "總æĺ¯": 114555, + "æĸĩåĮĸåĪĽæĦı": 114556, + "天河": 114557, + "樱æ¡ĥ": 114558, + "éªijåħµ": 114559, + "éĩĮéĿ¢æľī": 114560, + "çİ®": 114561, + "èĥ½æī¾åΰ": 114562, + "éĢĥè·ij": 114563, + "åĪĩå°Ķ": 114564, + "åĪĩå°Ķ西": 114565, + "以ä¸ĭæĺ¯": 114566, + "å²³éĺ³": 114567, + "çļĦæ¦Ĥçİĩ": 114568, + "æĬµåζ": 114569, + "å¸ĪäºĭåĬ¡": 114570, + "å¸ĪäºĭåĬ¡æīĢ": 114571, + "åĩĨæĹ¶": 114572, + "屬æĸ¼": 114573, + "订è´Ń": 114574, + "åįłæį®äºĨ": 114575, + "ä¸ŃéĢĶ": 114576, + "å°ĭ": 114577, + "é»ij马": 114578, + "åİ¿åħ¬å®īå±Ģ": 114579, + "ä¸ĥæľĪ": 114580, + "èī²ç´ł": 114581, + "å¿ĥèĦıçĹħ": 114582, + "æĹ¶éĻIJ": 114583, + "æ¯įåħ¬åı¸": 114584, + "å¹ķåIJİ": 114585, + "ä¸Ĭæ¦ľ": 114586, + "å̾åIJijäºİ": 114587, + "纸ä¸Ĭ": 114588, + "æ¡ĵ": 114589, + "éĽĨä½ĵç»ıæµİ": 114590, + "æĥħå¢ĥ": 114591, + "è¦ģåģļåΰ": 114592, + "ç©į極": 114593, + "åıªæĢķ": 114594, + "æ¹ĺ西": 114595, + "çļ±çº¹": 114596, + "åħ¨åľĭ": 114597, + "çĦ¡è«ĸ": 114598, + "好æĦŁ": 114599, + "åįķä»·": 114600, + "è¿Ľç¨ĭä¸Ń": 114601, + "æĺĨä»ij": 114602, + "åĪĽå®¢": 114603, + "åħħæĸ¥": 114604, + "åħĪæĬĬ": 114605, + "该æĢİä¹ĪåĬŀ": 114606, + "åĵģå¾·": 114607, + "åħ¨éĿ¢åıijå±ķ": 114608, + "è¨ĪåĬĥ": 114609, + "æĢ»å·¥ä¼ļ": 114610, + "ä½Ľå±±å¸Ĥ": 114611, + "æĬĹè¡¡": 114612, + "å¼Ģåľº": 114613, + "éĴ±å¸ģ": 114614, + "åıĭ们": 114615, + "å«īå¦Ĵ": 114616, + "ç´¢èµĶ": 114617, + "è®ĬåĮĸ": 114618, + "æĮ¤åİĭ": 114619, + "æĮijè¡ħ": 114620, + "çŃīä¸Ģæī¹": 114621, + "æĿ¨æ¬¢": 114622, + "ä¸ĵå®¶åѦèĢħ": 114623, + "èĥ½è¾¾åΰ": 114624, + "èµ°è¿ij": 114625, + "è´«åĽ°åľ°åĮº": 114626, + "éĻIJæľŁ": 114627, + "ä¸į平衡": 114628, + "åĽ½åĨħå¸Ĥåľº": 114629, + "èµĽåľº": 114630, + "éħįèµĦ": 114631, + "è¦ģèĢĥèĻij": 114632, + "ä¸ĩåı°": 114633, + "æľĪæľ«": 114634, + "éĶ¥": 114635, + "åŃ«": 114636, + "æİ¥è§¦åΰ": 114637, + "åĩºäº§": 114638, + "æķĻåѸ": 114639, + "ä½ľå¼Ĭ": 114640, + "çļĦæľĢåIJİä¸Ģ": 114641, + "ä¿ĥæĪIJ": 114642, + "åIJ¸åıĸ": 114643, + "æ½ľèīĩ": 114644, + "被éªĹ": 114645, + "è¾ĵäºĨ": 114646, + "çĭIJçĭ¸": 114647, + "åįĩéĻį": 114648, + "è¿ĻäºĽä¸ľè¥¿": 114649, + "æĬķèµĦåŁºéĩij": 114650, + "çĶŁçī©åѦ": 114651, + "ç½ij绾èIJ¥éĶĢ": 114652, + "åIJijè®°èĢħ": 114653, + "èįīåľ°": 114654, + "æĢ¯": 114655, + "æľįåĬ¡èĥ½åĬĽ": 114656, + "éĥģéĹ·": 114657, + "åįķåĵģ": 114658, + "å¾Ĺ罪": 114659, + "æĺĵäºİ": 114660, + "个å¤ļå°ıæĹ¶": 114661, + "éĩįä»»": 114662, + "ä¸Ĭå®ĺ": 114663, + "æľ¬éĩij": 114664, + "çı¾åł´": 114665, + "溢价": 114666, + "æĺŁè¾°": 114667, + "æ´»åĬ¨çİ°åľº": 114668, + "丹麦": 114669, + "å¸Ŀçİĭ": 114670, + "æŁ¥æĺİ": 114671, + "åŃĺåľ¨äºİ": 114672, + "é¦Ļæ°´": 114673, + "æĬ½æ£Ģ": 114674, + "å®ŀéĻħä¸Ĭæĺ¯": 114675, + "æĸ°å¾ģç¨ĭ": 114676, + "è´¢åĬ¡ç®¡çIJĨ": 114677, + "æİĽ": 114678, + "åĨľåİĨ": 114679, + "éĥ½èĥ½å¤Ł": 114680, + "éĤ¯éĥ¸": 114681, + "çľŁå¯¦": 114682, + "ç»Ĭ": 114683, + "åĨµä¸Ķ": 114684, + "置身": 114685, + "ç¥Ī祷": 114686, + "çĿģå¼Ģ": 114687, + "æĮĩçĤ¹": 114688, + "å¼Ģæľº": 114689, + "西å®ģ": 114690, + "åĮĹ约": 114691, + "积水": 114692, + "åĩºåĬ¨": 114693, + "åıijå±ķ模å¼ı": 114694, + "转æĬĺ": 114695, + "èĢĥçĤ¹": 114696, + "æľīç½ijåıĭ": 114697, + "è´«åĽ°æĿij": 114698, + "æĪijä»¬çŁ¥éģĵ": 114699, + "åĪĨéĶĢ": 114700, + "å±±èĦī": 114701, + "æ¯ĶæĭŁ": 114702, + "ä¼°ç®Ĺ": 114703, + "æĶ¹å»º": 114704, + "壮è§Ĥ": 114705, + "ç§īæĮģ": 114706, + "æıª": 114707, + "ç¦Ģ": 114708, + "åĮĸåѦåĵģ": 114709, + "ä¸ŃåĽ½åζéĢł": 114710, + "ä¸Ģæŀ¶": 114711, + "æīįè¡Į": 114712, + "æĭĽå¾ħ": 114713, + "åıĺæį¢": 114714, + "åīį线": 114715, + "幸好": 114716, + "è¿Ļæł·çļĦè¯Ŀ": 114717, + "å¿ĥè¡Ģ管": 114718, + "æĢ§çĸ¾çĹħ": 114719, + "åħ¨èĥ½": 114720, + "åĪij侦": 114721, + "ä¿¡æģ¯åıijå¸ĥ": 114722, + "æĺ¾çĦ¶æĺ¯": 114723, + "éĿĴéĵľ": 114724, + "åIJĥä»Ģä¹Ī": 114725, + "ç͵价": 114726, + "æ³ķå¾ĭè§Ħå®ļ": 114727, + "çħ²": 114728, + "çĵ·åύ": 114729, + "èĤīç±»": 114730, + "æıĴåħ¥": 114731, + "åĹľ": 114732, + "è¿Łè¿Ł": 114733, + "ä¸ĢçĤ¹éĥ½ä¸į": 114734, + "è¿ĺåĮħæĭ¬": 114735, + "èĪįä¸įå¾Ĺ": 114736, + "æłĩå¿ĹæĢ§": 114737, + "æľĪ以æĿ¥": 114738, + "ç³ĸæŀľ": 114739, + "éĥ½åºĶ该": 114740, + "çݯå¢ĥåį«çĶŁ": 114741, + "èĪªè¡Į": 114742, + "éĥijéĩį": 114743, + "ç½ijæĬķ": 114744, + "åįģä½³": 114745, + "ç§ģä¸ĭ": 114746, + "æļ´è·Į": 114747, + "åĬłå¿«åıijå±ķ": 114748, + "产åĵģçłĶåıij": 114749, + "åĪĽéĢłåĩº": 114750, + "æĢ»è§īå¾Ĺ": 114751, + "åºķçĽĺ": 114752, + "èķĬ": 114753, + "åĩºå¸Ńä¼ļè®®": 114754, + "主æĿ¿": 114755, + "æĹ¥æĻļéĹ´": 114756, + "å®ĺæĸ¹å¾®åįļ": 114757, + "å¼ķç͍æĹ¥æľŁ": 114758, + "åķĻæİĪ": 114759, + "ç͵åŃIJ产åĵģ": 114760, + "è¡°éĢĢ": 114761, + "çķĻåŃĺ": 114762, + "çģ«åĬĽ": 114763, + "çĴ§": 114764, + "çļĤ": 114765, + "åħ¼åħ·": 114766, + "éĩįè¿Ķ": 114767, + "é¢Ĩçķ¥": 114768, + "åĪĩéϤ": 114769, + "åĨįçĶŁèĥ½æºIJ": 114770, + "å®ŀåľ¨å¤ª": 114771, + "çIJĨ论ä¸Ĭ": 114772, + "ä¸īå±Ĥ": 114773, + "ä¸ĸçķĮåIJĦåĽ½": 114774, + "å®ľæĺĮ": 114775, + "èĢ³è¾¹": 114776, + "宽æķŀ": 114777, + "æ±īæĹı": 114778, + "çϽçϽ": 114779, + "è¿ĻéĩĮéĿ¢": 114780, + "çĶŁæ´»ä¹łæĥ¯": 114781, + "èµŀèµı": 114782, + "çͷ士": 114783, + "ä¸Ńä¿Ħ": 114784, + "车祸": 114785, + "åīĤéĩı": 114786, + "éϤåİ»": 114787, + "左边": 114788, + "çŃijçī¢": 114789, + "çīĽå¸Ĥ": 114790, + "å®¶åĬ¡": 114791, + "åķĥ": 114792, + "ç½®æį¢": 114793, + "ç´«å¤ĸ": 114794, + "ç´«å¤ĸ线": 114795, + "å¾Ģåīį": 114796, + "åĬĽåѦ": 114797, + "ç´§è·Ł": 114798, + "缮çļĦåľ¨äºİ": 114799, + "ç»®": 114800, + "ç¥Ĥ": 114801, + "宣è¨Ģ": 114802, + "äºĮæ°§åĮĸ": 114803, + "äºĮæ°§åĮĸ碳": 114804, + "æĹłç¼ĺ": 114805, + "ç²¾éĢļ": 114806, + "診": 114807, + "å¼ķåıijäºĨ": 114808, + "æľĢåħĪ": 114809, + "派驻": 114810, + "ä¸įå¿į": 114811, + "æĪijçΏ": 114812, + "å¹´ä¸ĭåįĬå¹´": 114813, + "æ·ĭå·´": 114814, + "没éĹ®é¢ĺ": 114815, + "åºĹåĨħ": 114816, + "è·ŁæĪij说": 114817, + "çĶŁäº§çĶŁæ´»": 114818, + "è§ĤæľĽ": 114819, + "æ¸į": 114820, + "被æī§è¡Į": 114821, + "被æī§è¡Į人": 114822, + "èĪľ": 114823, + "æİº": 114824, + "ä¸Ģç§Ĵ": 114825, + "èįīåĿª": 114826, + "åij¼åĴĮ": 114827, + "åij¼åĴĮ浩": 114828, + "åij¼åĴĮ浩çī¹": 114829, + "人æ°ijéĵ¶è¡Į": 114830, + "çĦķåıij": 114831, + "è¯ģåĪ¸äº¤æĺĵ": 114832, + "çķĶ": 114833, + "æľºèĥ½": 114834, + "妾": 114835, + "æĻļå¹´": 114836, + "å·¥åķĨèģĶ": 114837, + "åİŁåŀĭ": 114838, + "è§Ĵ度çľĭ": 114839, + "æĬ¥ç¤¾": 114840, + "è¯įæĿ¡": 114841, + "躲éģ¿": 114842, + "éĩįåIJ¯": 114843, + "å¤ķéĺ³": 114844, + "èĤ¡æĿĥ转让": 114845, + "åľ¨ä¸Ģ": 114846, + "åľ¨ä¸ĢæĹģ": 114847, + "社ä¼ļåĮĸ": 114848, + "åıijå±ķåİĨç¨ĭ": 114849, + "æĭĸæ¬ł": 114850, + "使èĢħ": 114851, + "ä¸İåIJ¦": 114852, + "æĸ°å±ĢéĿ¢": 114853, + "ä»Ĭ天æĪij们": 114854, + "é½IJèģļ": 114855, + "对æĪij说": 114856, + "éĢĴ交": 114857, + "æľªæĽ¾": 114858, + "èİĬ": 114859, + "éĸī": 114860, + "亲æīĭ": 114861, + "è§ĴéĢIJ": 114862, + "æľīé»ŀ": 114863, + "ç¨İçİĩ": 114864, + "ä½İ声": 114865, + "é»ĺå¥ij": 114866, + "æĻ®æ³ķ": 114867, + "大ä¸ĵ": 114868, + "第äºĮ大": 114869, + "ä½ıåĿĢ": 114870, + "æĶ¾è¿Ľ": 114871, + "äºĮæĪĺ": 114872, + "亲身": 114873, + "åĽºåĮĸ": 114874, + "ä¸ĭ乡": 114875, + "åħ³éĶ®æĬĢæľ¯": 114876, + "åĽŀæĥ³": 114877, + "æĬ¥åĪĬ": 114878, + "æ¶ĤæĬ¹": 114879, + "èĹıçĿĢ": 114880, + "ç¥ĿæĦ¿": 114881, + "åįĩ温": 114882, + "çĶļèĩ³è¿ŀ": 114883, + "åħ¬åħĥåīį": 114884, + "ç¾İæĸ¹": 114885, + "è¯ļå®ŀ": 114886, + "æĹłåģ¿": 114887, + "å¥Ń": 114888, + "å°ıå¿ĥ翼": 114889, + "å°ıå¿ĥ翼翼": 114890, + "两æīĭ": 114891, + "温馨æıIJ示": 114892, + "ä»¿çľŁ": 114893, + "æĥ¶": 114894, + "èĥ¡åŃIJ": 114895, + "å·¥ä½ľç«Ļ": 114896, + "硬çĽĺ": 114897, + "ç«¿": 114898, + "åĤ³éĢģ": 114899, + "åħ¨æł¡": 114900, + "é²ľæ´»": 114901, + "çĴĢçĴ¨": 114902, + "ç»ĵå°¾": 114903, + "æį¢æĿ¥": 114904, + "æĪĢ": 114905, + "ä½İä½į": 114906, + "ä¸ĩåħĥ以ä¸Ĭ": 114907, + "åĬłåĪĨ": 114908, + "æİ¨ä»ĭä¼ļ": 114909, + "çIJĨèµĶ": 114910, + "å¾·å°Ķ": 114911, + "æĬĹè®®": 114912, + "æ´¼": 114913, + "åĸ§": 114914, + "åŁİéĻħ": 114915, + "å¾Īæ£Ĵ": 114916, + "人æŃ»äº¡": 114917, + "ä¼ļå±ķä¸Ńå¿ĥ": 114918, + "äºĴèģĶäºĴéĢļ": 114919, + "èĸĦèĨľ": 114920, + "éĩįé»ŀ": 114921, + "ç¦ģæ¯Ĵ": 114922, + "åĨ·ç¬ij": 114923, + "大家åı¯ä»¥": 114924, + "é¦ĸ缸": 114925, + "è¿ijè·Ŀ离": 114926, + "æµ®çݰ": 114927, + "ç§ĺè¯Ģ": 114928, + "èµ·é£ŀ": 114929, + "æIJ¶": 114930, + "羣åģĩ": 114931, + "æģķ": 114932, + "å°ıåºĹ": 114933, + "æ°ijçľ¾": 114934, + "åıijå¸ĥåħ¬åijĬ": 114935, + "ä¾§éĩį": 114936, + "å¾ĺå¾Ĭ": 114937, + "æĢĶ": 114938, + "æªIJ": 114939, + "æķ°çĽ®": 114940, + "åī¯ç§ĺ书éķ¿": 114941, + "两åı¥": 114942, + "éļIJçŀĴ": 114943, + "åıĮåıĮ": 114944, + "æīĭæĦŁ": 114945, + "èij¡äº¬": 114946, + "éģĹå¿ĺ": 114947, + "鬥": 114948, + "è¿Ļä¸ªåľ°æĸ¹": 114949, + "说çļĦè¯Ŀ": 114950, + "å·¡åĽŀ": 114951, + "è¿Ŀ竳": 114952, + "æī¾å·¥ä½ľ": 114953, + "æĶ¯çIJĥéĺŁ": 114954, + "裡éĿ¢": 114955, + "æĺ¾ç¤ºåĩº": 114956, + "èĩ³å°Ĭ": 114957, + "两级": 114958, + "åīįæ®µæĹ¶éĹ´": 114959, + "çĺ¦èº«": 114960, + "èĤ¢ä½ĵ": 114961, + "æ¯į親": 114962, + "æīĭç»Ńè´¹": 114963, + "汽车è¡Įä¸ļ": 114964, + "æİ©çĽĸ": 114965, + "æİ§èĤ¡éĽĨåĽ¢": 114966, + "åı£å¾Ħ": 114967, + "æĶ¿çŃĸæİªæĸ½": 114968, + "海绵": 114969, + "åħ¨éķĩ": 114970, + "äºĭåħ³": 114971, + "å¸Ńæī§è¡Į": 114972, + "å¸Ńæī§è¡Įå®ĺ": 114973, + "éĤ£æ¬¡": 114974, + "åı¯èĥ½åĩºçݰ": 114975, + "ä¸Ńå¿ĥåŁİå¸Ĥ": 114976, + "翻身": 114977, + "ä¹Łç®Ĺ": 114978, + "ä¾µçķ¥": 114979, + "åĸĩåıŃ": 114980, + "æ¯ı次éĥ½": 114981, + "è§ħ": 114982, + "éĻ¢éĻ¢éķ¿": 114983, + "å§ĭäºİ": 114984, + "èѦåĬ¡": 114985, + "è᝿ĿIJ": 114986, + "å±łæĿĢ": 114987, + "æľ¬èº«å°±": 114988, + "éļıæĹ¶éļı": 114989, + "éļıæĹ¶éļıåľ°": 114990, + "åĶ®åįĸ": 114991, + "æĹłäººé©¾é©¶": 114992, + "é¢ħ": 114993, + "åĵģ質": 114994, + "åĺ²ç¬ij": 114995, + "è·ijåİ»": 114996, + "åħĭéĩĮæĸ¯": 114997, + "çķ¸å½¢": 114998, + "修饰": 114999, + "磩éĺµ": 115000, + "éŁ³ä¹IJä¼ļ": 115001, + "æŁ³å·ŀ": 115002, + "齡": 115003, + "ä¼ļè°Ī": 115004, + "æŃ£çīĪ": 115005, + "ä¹ŁåIJĮæł·": 115006, + "æļ§æĺ§": 115007, + "è¡ĮæĶ¿éĥ¨éŨ": 115008, + "ä¹ĸä¹ĸ": 115009, + "èĤ¤èī²": 115010, + "æĹ¶ä»»": 115011, + "羣åĪĩ": 115012, + "æľĪä¸ĭ": 115013, + "æľĪä¸ĭæĹ¬": 115014, + "举æĸ¹è´¢å¯Į": 115015, + "è£ħä¿®åħ¬åı¸": 115016, + "éĢĢè¿ĺ": 115017, + "åĭĺå¯Ł": 115018, + "åĵ¥ä¼¦": 115019, + "åĵ¥ä¼¦æ¯Ķäºļ": 115020, + "çĭ¬ä¸Ģ": 115021, + "çĭ¬ä¸ĢæĹł": 115022, + "çĭ¬ä¸ĢæĹłäºĮ": 115023, + "è°ĥåij³": 115024, + "åİĭè¿«": 115025, + "åħ¨çIJĥæľĢ大": 115026, + "åł¡éķ¿": 115027, + "æĽ´ä½İ": 115028, + "åĪĨéĴŁåIJİ": 115029, + "åĽŀä¾Ĩ": 115030, + "åζåīĤ": 115031, + "åijĬè¯ī大家": 115032, + "çĤ¹éĴŁ": 115033, + "åįģä¸īå±Ĭ": 115034, + "åij¨åĽĽ": 115035, + "è¿Ļæł·ä¸Ģ": 115036, + "è¿Ļæł·ä¸ĢæĿ¥": 115037, + "èĭŁ": 115038, + "æľĽåİ»": 115039, + "æĪIJè¯Ń": 115040, + "å½ĵåį³": 115041, + "ç¬ij声": 115042, + "ä¹ĭåĬ¿": 115043, + "åĪijäºĭæ¡Īä»¶": 115044, + "æĮĤçĿĢ": 115045, + "ä½ķç§į": 115046, + "å°ı游æĪı": 115047, + "åĽ½å®¶æĪĺçķ¥": 115048, + "åĨ·åĨ·": 115049, + "å®ľå®¾": 115050, + "æIJºç¨ĭ": 115051, + "è¶ĭäºİ": 115052, + "åıįçľģ": 115053, + "常说": 115054, + "ä¸ĩæĪ·": 115055, + "åĥµå°¸": 115056, + "åįĥä¸ĩåĪ«": 115057, + "åıijçݰéĹ®é¢ĺ": 115058, + "åı¯çŁ¥": 115059, + "éŨæĪ·ç½ijç«Ļ": 115060, + "åģ¥åº·äº§ä¸ļ": 115061, + "åı³è¾¹": 115062, + "æµ·è¿IJ": 115063, + "è¿ijä¹İ": 115064, + "åĮ»æ²»": 115065, + "æĢ»ç®Ĺ": 115066, + "ä¸ĢåĪĨéĴŁ": 115067, + "æĭ§": 115068, + "ä¹Łæľīä¸ĢäºĽ": 115069, + "ä¾Ľç͵åħ¬åı¸": 115070, + "å»īä»·": 115071, + "帮ä»ĸ": 115072, + "æŃ¤æ¬¡æ´»åĬ¨": 115073, + "åıªèĥ½è¯´": 115074, + "èĬĭ": 115075, + "çīĩ段": 115076, + "åŃĺåľ¨éĹ®é¢ĺ": 115077, + "ä½łä¼ļåıijçݰ": 115078, + "è½®å»ĵ": 115079, + "ç½ijéĢļ": 115080, + "æ»¨æ±Ł": 115081, + "æİĪä¿¡": 115082, + "é»İæĺİ": 115083, + "ä¸įå±ŀäºİ": 115084, + "约åįł": 115085, + "éķ¿æ²Ļå¸Ĥ": 115086, + "èĥļèĥİ": 115087, + "åħĥä»¶": 115088, + "éĻĨåĨĽ": 115089, + "購買": 115090, + "æĮĩæľĽ": 115091, + "å®ŀä¹łçĶŁ": 115092, + "çī¹çĤ¹æĺ¯": 115093, + "çıłæ±Ł": 115094, + "çľĭä¸įåĩº": 115095, + "ä¸įè§ģäºĨ": 115096, + "ç¼ī": 115097, + "éĺµèIJ¥": 115098, + "åĶIJæľĿ": 115099, + "没å¿ħè¦ģ": 115100, + "åĽ½åľŁèµĦæºIJ": 115101, + "ç»ıæµİåѦ家": 115102, + "åIJĪèĤ¥å¸Ĥ": 115103, + "çIJ¢ç£¨": 115104, + "ç¡®åĪĩ": 115105, + "åŁİå¸Ĥåıijå±ķ": 115106, + "çŃ·åŃIJ": 115107, + "人æ°ijæľįåĬ¡": 115108, + "满åĪĨ": 115109, + "è¿·ä¿¡": 115110, + "ä½ľèĢħæľ¬äºº": 115111, + "æĸĩ竳æĿ¥æºIJ": 115112, + "ç«Ļç«ĭ": 115113, + "æŀĦæĪIJäºĨ": 115114, + "è¾Ľåĭ¤": 115115, + "è¶ħ强": 115116, + "éĶļ": 115117, + "åīįä¸īåŃ£åº¦": 115118, + "å°±è§īå¾Ĺ": 115119, + "å´ĩé«ĺ": 115120, + "è¶Ĭä¾Ĩ": 115121, + "è¶Ĭä¾Ĩè¶Ĭ": 115122, + "å¸ĤåľºèIJ¥éĶĢ": 115123, + "综åIJĪç´łè´¨": 115124, + "åŃļ": 115125, + "侮辱": 115126, + "äºĮåŃĹ": 115127, + "å·¥ä½ľä»»åĬ¡": 115128, + "åı²ä¸ĬæľĢ": 115129, + "æľĢä¼ĺ": 115130, + "åIJ©åĴIJ": 115131, + "表çϽ": 115132, + "èİ«åIJį": 115133, + "èİ«åIJįåħ¶": 115134, + "èİ«åIJįåħ¶å¦Ļ": 115135, + "å¹£": 115136, + "åIJĮå¿Ĺ们": 115137, + "建设çĶ¨åľ°": 115138, + "åĦĢ": 115139, + "éħįåģ¶": 115140, + "弩": 115141, + "åͱçīĩ": 115142, + "æīĭèĦļ": 115143, + "åħ¼ä»»": 115144, + "åģľæĶ¾": 115145, + "æŃ£å®Ĺ": 115146, + "æĸ°åĨľæĿij": 115147, + "åĤ¬çĶŁ": 115148, + "æīĢåŃ¦æł¡": 115149, + "å¿µä½Ľ": 115150, + "åͤéĨĴ": 115151, + "åħ±åĪĽ": 115152, + "æĭīä¸ģ": 115153, + "èĥĮçĿĢ": 115154, + "çĶŁæĢģä¿ĿæĬ¤": 115155, + "åı£å¤´": 115156, + "æĸ¹åIJijçĽĺ": 115157, + "調æķ´": 115158, + "æĭĽèģĺä¿¡æģ¯": 115159, + "åħ¶ä»ĸåĽ½å®¶": 115160, + "ç®Ģæĺĵ": 115161, + "åĮ¿åIJį": 115162, + "è¯Ħæµĭ": 115163, + "æĺ¯ä¸Ģ座": 115164, + "çīĭ": 115165, + "足迹": 115166, + "çIJĨè§£åĴĮ": 115167, + "æľĢåıĹ": 115168, + "å¿ĥè·³": 115169, + "çĪ¶è¦ª": 115170, + "éĿŀ常åĸľæ¬¢": 115171, + "èĭ¦éļ¾": 115172, + "æĬĢå¸Ī": 115173, + "æ°ijæĦı": 115174, + "æĪĺåĽ½": 115175, + "æĽ¿è¡¥": 115176, + "津贴": 115177, + "ä¸ŃåĽ½ä¼łç»Ł": 115178, + "åIJĦè¡Į": 115179, + "åIJĦè¡ĮåIJĦ": 115180, + "åIJĦè¡ĮåIJĦä¸ļ": 115181, + "第äºĶå±Ĭ": 115182, + "èį·èĬ±": 115183, + "æĦıèŃĺ": 115184, + "票价": 115185, + "åĪĨæµģ": 115186, + "æĿİçϽ": 115187, + "æ±ŁåĮĹ": 115188, + "æİĴæĸ¥": 115189, + "ä½ĵéĩı": 115190, + "åĮħåIJ«äºĨ": 115191, + "åĪĺæŁIJ": 115192, + "çݰå¦Ĥä»Ĭ": 115193, + "å·¥èīºåĵģ": 115194, + "è¿Ļç§įæĸ¹æ³ķ": 115195, + "åĬŀåħ¬æ¥¼": 115196, + "ç͵工": 115197, + "çħĻ": 115198, + "åį¡çīĩ": 115199, + "å¹´å¹´åºķ": 115200, + "ä¸ĵ项èµĦéĩij": 115201, + "åĮ»ç§ij": 115202, + "åĮ»ç§ij大åѦ": 115203, + "åĽŀ头çľĭ": 115204, + "ä¸įå±ij": 115205, + "èĩªé©¾": 115206, + "没æĶ¶": 115207, + "æīĵçĮİ": 115208, + "èĦ¸éĥ¨": 115209, + "åıĥèĢĥ": 115210, + "å°Ĩ士": 115211, + "è´«åĽ°äººåı£": 115212, + "çIJĨæĥ³ä¿¡å¿µ": 115213, + "é£İå°ļ": 115214, + "人æīįéĺŁä¼į": 115215, + "çij¾": 115216, + "æĿ¥è¿ĻéĩĮ": 115217, + "æ´Ĺ涤": 115218, + "å¹´èĸª": 115219, + "èĭįçϽ": 115220, + "ä¸ĩäºĭ": 115221, + "è¯¾æľ¬": 115222, + "åºĵéĩĮ": 115223, + "ç´¾": 115224, + "ç´¾åijĺ": 115225, + "èµŀç¾İ": 115226, + "ç©¿æĪ´": 115227, + "è£½ä½ľ": 115228, + "èµŀæĪIJ": 115229, + "ä¸Ģä¾§": 115230, + "å½ĵåľ°äºº": 115231, + "æĭİ": 115232, + "纸质": 115233, + "ä½Ļ个": 115234, + "éĶĤçĶµæ±ł": 115235, + "æľºåŀĭ": 115236, + "éĻ¢éϢ士": 115237, + "åģļå·¥": 115238, + "å¼łè´´": 115239, + "ç¥Ľæĸij": 115240, + "æ®ĸæ°ij": 115241, + "å¥ij约": 115242, + "æ¹ĺæ½Ń": 115243, + "æIJĸ": 115244, + "åŃĺè´§": 115245, + "交éĢļ大åѦ": 115246, + "è¶ģçĿĢ": 115247, + "æĸĩçī©ä¿ĿæĬ¤": 115248, + "å¤ĩæĪĺ": 115249, + "éĩĩ纳": 115250, + "åįĬæľĪ": 115251, + "æľĢåħ³éĶ®": 115252, + "æľĢåħ³éĶ®çļĦ": 115253, + "æİ¥éĢģ": 115254, + "æĶ¶åī²": 115255, + "åıįåĢĴ": 115256, + "çĥĽ": 115257, + "æ½Ķ": 115258, + "ä¼Łå¤§å¤įåħ´": 115259, + "çļĦè¯Ŀè¯Ń": 115260, + "容å¿į": 115261, + "å®ļéĩı": 115262, + "æķĹ": 115263, + "åĵģçīĮ形象": 115264, + "æīŃ转": 115265, + "åĽ½å®¶éĩįçĤ¹": 115266, + "èĨĿçĽĸ": 115267, + "ä¸Ģ楼": 115268, + "大éϏ": 115269, + "éĤªæģ¶": 115270, + "åĽŀåij³": 115271, + "çĮ¿": 115272, + "çĿ¡åīį": 115273, + "æĹłè¾ľ": 115274, + "çĹħæ¯ĴæĦŁæŁĵ": 115275, + "æľºæ¢°åĮĸ": 115276, + "çĤ¹äº®": 115277, + "溶解": 115278, + "åĩłä¹İæīĢæľī": 115279, + "è·ijéģĵ": 115280, + "ç͵è§Ĩæľº": 115281, + "åı¨": 115282, + "æijĩäºĨ": 115283, + "æijĩäºĨæijĩ头": 115284, + "èĩªè´Ł": 115285, + "综åIJĪåĪ©ç͍": 115286, + "èĩªå¦Ĥ": 115287, + "åİŁä¾Ĩ": 115288, + "ä¹Łä¸įæĥ³": 115289, + "èĬĤ课": 115290, + "è¿ĩåī©": 115291, + "çͲçĬ¶": 115292, + "çͲçĬ¶èħº": 115293, + "æĸ°ä¸ĸ纪": 115294, + "èĩªä¸»åĵģçīĮ": 115295, + "é«ĺå±Ĥ次": 115296, + "ä¸Ģè§Ĵ": 115297, + "è¡Įäºĭ": 115298, + "ç¥ĸåħĪ": 115299, + "å©ļåIJİ": 115300, + "éĹ´éļĻ": 115301, + "ç¼ĿéļĻ": 115302, + "è¿ĻæĶ¯": 115303, + "ä¸įæĸŃåĪĽæĸ°": 115304, + "å¾®åŀĭ": 115305, + "æĽĻåħī": 115306, + "享ç͍": 115307, + "ä¸ŃåĽ½ç§»åĬ¨": 115308, + "éĹŃçݯ": 115309, + "æī§æĦı": 115310, + "åıijå±ķæł¼å±Ģ": 115311, + "æł¸å¿ĥåĮº": 115312, + "éªļæī°": 115313, + "åħļåĴĮåĽ½å®¶": 115314, + "ä¸ŃåĽ½æĶ¿åºľ": 115315, + "帶èijĹ": 115316, + "ä¸ĩåįĥçĵ¦": 115317, + "åħ©äºº": 115318, + "äºİæĺ¯æĪij": 115319, + "åĽºä½ĵ": 115320, + "çªģå¦Ĥ": 115321, + "çªģå¦Ĥåħ¶": 115322, + "çªģå¦Ĥåħ¶æĿ¥": 115323, + "éĩĮç¨ĭç¢ij": 115324, + "çαç¾İ": 115325, + "æŁ¥éªĮ": 115326, + "åıĮèµ¢": 115327, + "éĹªåħī": 115328, + "楼å®ĩ": 115329, + "æĻı": 115330, + "æľīè¶³å¤ŁçļĦ": 115331, + "æŁĶæĢ§": 115332, + "ä¿¡æģ¯å®īåħ¨": 115333, + "管线": 115334, + "å¹¶ä¸įä¼ļ": 115335, + "åύ件": 115336, + "ä½łåºĶ该": 115337, + "çĿĢå®ŀ": 115338, + "æĺİæ¸ħ": 115339, + "æĬĹçĶŁç´ł": 115340, + "æīĵæŃ»": 115341, + "å®Įåħ¨ä¸įåIJĮ": 115342, + "èĬ±æ¤Ĵ": 115343, + "æĶ¾å®½": 115344, + "ä½İ端": 115345, + "åĽĽèĤ¢": 115346, + "åĮĹäº¬èµĽè½¦": 115347, + "éĽĨå¸Ĥ": 115348, + "æľªå©ļ": 115349, + "大å¹ħæıIJåįĩ": 115350, + "建çŃij设计": 115351, + "çĭ¬æľīçļĦ": 115352, + "æİ¢éĻ©": 115353, + "æ²³æµģåŁŁ": 115354, + "æħķ容": 115355, + "被çĽĹ": 115356, + "åĵºä¹³": 115357, + "èıģ": 115358, + "æĥ¬æĦı": 115359, + "è¶ĬæĿ¥è¶Ĭ好": 115360, + "广大群ä¼Ĺ": 115361, + "å¾·èĤ²": 115362, + "å¸Ĥåľºä»·æł¼": 115363, + "奥巴": 115364, + "奥巴马": 115365, + "èĬĤ缮ä¸Ń": 115366, + "两款": 115367, + "ä¸ĩä½Ļåħĥ": 115368, + "ç»´å°Ķ": 115369, + "çĶŁçī©ç§ijæĬĢ": 115370, + "åIJ¬èµ·æĿ¥": 115371, + "çłļ": 115372, + "æĭŁå®ļ": 115373, + "æ²¹çͰ": 115374, + "声èªī": 115375, + "建çŃijä¸ļ": 115376, + "éĻIJè´Ń": 115377, + "çīĩåŃIJ": 115378, + "çķľç¦½": 115379, + "ç½ijé¦ĸ页": 115380, + "ä¼Ĺçѹ": 115381, + "æĴŀåĩ»": 115382, + "åīįä¸įä¹ħ": 115383, + "åīįä¸ĸ": 115384, + "åĽĽä¸ªæĦıè¯Ĩ": 115385, + "æµĭç»ĺ": 115386, + "éĺ²ç©º": 115387, + "漫éķ¿çļĦ": 115388, + "æ²IJæµ´": 115389, + "æ¯Ķè¾ĥç®Ģåįķ": 115390, + "æµĭå®ļ": 115391, + "åĽŀè°ĥ": 115392, + "让人们": 115393, + "èĴĭä»ĭ": 115394, + "èĴĭä»ĭçŁ³": 115395, + "ç»ĵæĻ¶": 115396, + "å¢ŀæ·»äºĨ": 115397, + "æĿ¡è¯Ħ论": 115398, + "åī¯ä¼ļéķ¿": 115399, + "ä½ıæīĢ": 115400, + "ç»ĻåĩºäºĨ": 115401, + "è°ĥéħį": 115402, + "æ²ĸ": 115403, + "æľīç͍": 115404, + "æľīç͍çļĦ": 115405, + "ä¸ĢæĿ¡é¾Ļ": 115406, + "éĩİå¤ĸ": 115407, + "ç¼ĺåĪĨ": 115408, + "æ°¸è¿ľä¸įä¼ļ": 115409, + "æŀľæłij": 115410, + "大åıijå¿«ä¸ī": 115411, + "麻éĨī": 115412, + "äºijéĽĨ": 115413, + "åİ»åĵªéĩĮ": 115414, + "åħ¥å¸Ĥ": 115415, + "ä»»æĢ§": 115416, + "建档": 115417, + "建档ç«ĭ": 115418, + "建档ç«ĭåį¡": 115419, + "ä¸Ģ棵": 115420, + "社åįĢ": 115421, + "çĽ¸ä¼´": 115422, + "åļ·": 115423, + "å¡«åħħ": 115424, + "ä¸ĢæĹı": 115425, + "ç¾ģ": 115426, + "åıĸè¯ģ": 115427, + "èΰéĺŁ": 115428, + "åİĤåĮº": 115429, + "è¡·å¿ĥ": 115430, + "åıijå±ķéĺ¶æ®µ": 115431, + "é«ĺ强度": 115432, + "åĹĵåŃIJ": 115433, + "é¢Ĩè¡Ķ": 115434, + "楼主": 115435, + "大èĴľ": 115436, + "æŀķ头": 115437, + "粮油": 115438, + "é»Ħçĵľ": 115439, + "æĵĴ": 115440, + "å°ıçĭĹ": 115441, + "æĶ¹éĿ©å§Ķ": 115442, + "åįģåĪĨéĴŁ": 115443, + "é²ľèī³": 115444, + "åħ³ç¾½": 115445, + "çĭĢæħĭ": 115446, + "å®ŀç͍æĢ§": 115447, + "å°ijè§ģ": 115448, + "é£ŀæī¬": 115449, + "çͰéĩİ": 115450, + "æIJĤ": 115451, + "è¿Ļ个è¯į": 115452, + "åºĶæĢ¥é¢Ħæ¡Ī": 115453, + "è§Ĵ度æĿ¥çľĭ": 115454, + "æķ¬çķı": 115455, + "æ³ķå®Ŀ": 115456, + "åĸĦæĦı": 115457, + "æīĵæĸŃ": 115458, + "对åĨ³": 115459, + "çµķå°į": 115460, + "åĢŁæŃ¤": 115461, + "å¼ĢæºIJ": 115462, + "å°ı說": 115463, + "祺": 115464, + "å²ģ以ä¸ĭ": 115465, + "éĢĢå½¹åĨĽäºº": 115466, + "ä¸įä¹ħåīį": 115467, + "åĩºåİĤ": 115468, + "讽åĪº": 115469, + "æĿ¥çľĭçľĭåIJ§": 115470, + "éŃĶåħ½": 115471, + "çķĻä¸ĭæĿ¥": 115472, + "å±ħ室": 115473, + "åłħæĮģ": 115474, + "çľĭäºĨä¸Ģ": 115475, + "çľĭäºĨä¸Ģçľ¼": 115476, + "éĽĨåĽ¢æĹĹä¸ĭ": 115477, + "æĪĺæĪĺç»ĦåIJĪ": 115478, + "è®¤çľŁèIJ½å®ŀ": 115479, + "汽车产ä¸ļ": 115480, + "çī©çIJĨåѦ": 115481, + "æķµ": 115482, + "éĴĿ": 115483, + "åĽ¢éķ¿": 115484, + "ä¸įæĸŃæī©å¤§": 115485, + "èĤ©è´Ł": 115486, + "åıijå±ķ缮æłĩ": 115487, + "è³ĩéĩij": 115488, + "åīįç½®": 115489, + "ä¸ŃåĽ½åı¤ä»£": 115490, + "æŃ»åĪij": 115491, + "åħħåĪĨä½ĵçݰ": 115492, + "åħ³éŨ": 115493, + "ç¾İæĦŁ": 115494, + "æīĵåħ¥": 115495, + "æĬijéĥģçĹĩ": 115496, + "å°ijçĪ·": 115497, + "æłijæŀĿ": 115498, + "æ¶Īæģ¯ç§°": 115499, + "æ´Ľåħĭ": 115500, + "åį¯": 115501, + "è¿ĪåIJij": 115502, + "æİ¨åĭķ": 115503, + "ä»İä¸ļèĢħ": 115504, + "åݻ买": 115505, + "欢快": 115506, + "æĭ¥æĮ¤": 115507, + "马桶": 115508, + "æĬĬæİ§": 115509, + "æĶ¿åħļ": 115510, + "å¼łæī¬": 115511, + "客æłĪ": 115512, + "红æĺŁ": 115513, + "éĢģæĿ¥": 115514, + "åħ¨åŁŁæĹħ游": 115515, + "èĩªç§ģ": 115516, + "åįģäºĮæĿ¡": 115517, + "åı¹æģ¯": 115518, + "ä¸Ģèīĺ": 115519, + "ä¿Ŀè´¹": 115520, + "æĸ½å·¥çİ°åľº": 115521, + "æľī幸": 115522, + "ç»ŃèĪª": 115523, + "åı¯èĥ½æľĥ": 115524, + "èĥĮåıĽ": 115525, + "ä½£éĩij": 115526, + "ä¸īçŃīå¥ĸ": 115527, + "å¾Ī满æĦı": 115528, + "游æĪıåľ¬": 115529, + "群éĩĮ": 115530, + "æŀĦä»¶": 115531, + "åºıå¹ķ": 115532, + "太æ¹ĸ": 115533, + "æľ¨è´¨": 115534, + "æĻĭæ±Ł": 115535, + "çµĤæĸ¼": 115536, + "è·³è·ĥ": 115537, + "åĢºæĿĥ人": 115538, + "çŃī诸å¤ļ": 115539, + "æĶ¾åĩº": 115540, + "åħ³éĶ®æĹ¶åĪ»": 115541, + "æĦŁæŁĵèĢħ": 115542, + "é£ŀè¡Įåijĺ": 115543, + "èĥĨåĽº": 115544, + "èĥĨåĽºéĨĩ": 115545, + "æĬ±æŃī": 115546, + "åij¨äºĮ": 115547, + "æĸ°æĹ¶æľŁ": 115548, + "åĨ·éĵ¾çµģ": 115549, + "è¿Ļç§įæĸ¹å¼ı": 115550, + "该æĿij": 115551, + "åĽŀé¦Ī": 115552, + "åŁºçĿ£æķĻ": 115553, + "人åıĤ": 115554, + "æŀ¯çĩ¥": 115555, + "æī¹åıijå¸Ĥåľº": 115556, + "åħħåĪĨèĤ¯å®ļ": 115557, + "å¸ĤæĶ¿åįı": 115558, + "äºĭæ¥Ń": 115559, + "龸çİĭ": 115560, + "çĥŃæIJľ": 115561, + "åįģä¹Ŀ大": 115562, + "ä¼´æľī": 115563, + "ç¾İåĽ½æĢ»ç»Ł": 115564, + "åŁİå¸Ĥ管çIJĨ": 115565, + "ä¸ĭ令": 115566, + "èĥ¸åı£": 115567, + "åıªçŁ¥éģĵ": 115568, + "åij¨ä¸ī": 115569, + "ç͍æĪ¶": 115570, + "éѝ": 115571, + "å¿ĥè¡Ģ": 115572, + "带头人": 115573, + "åĮ»åĬ¡": 115574, + "åĮ»åĬ¡äººåijĺ": 115575, + "æİ§åζåύ": 115576, + "ä½ľåĵģåĨħ容": 115577, + "æĪĺåıĭ": 115578, + "åİĨå¹´": 115579, + "ä¸įåħĭ": 115580, + "ä¸įåħĭä¸įåıĬ": 115581, + "æĹ¥æŃ£å¼ı": 115582, + "è±IJå¯Į": 115583, + "ç¨İè´¹": 115584, + "æĹ¶æķĪ": 115585, + "å±ķä½į": 115586, + "è¡¡éĺ³": 115587, + "æĪ¿è²¸": 115588, + "çĪĨ款": 115589, + "ä¹IJæĦı": 115590, + "çͷ䏻": 115591, + "寬": 115592, + "æľĥèѰ": 115593, + "ä¹ĭå¤ľ": 115594, + "åIJĮ樣": 115595, + "ä¸įè¦ģ太": 115596, + "ä¼Ĭæĸ¯": 115597, + "ä¼Ĭæĸ¯åħ°": 115598, + "åŁºæľ¬åİŁåĪĻ": 115599, + "åİ»æİī": 115600, + "ä½İä¿Ŀ": 115601, + "个交æĺĵ": 115602, + "个交æĺĵæĹ¥": 115603, + "èģĬèģĬ": 115604, + "åĽĽä½į": 115605, + "åħļç»ĦæĪIJåijĺ": 115606, + "主è¦ģä»İäºĭ": 115607, + "å½±éŁ³": 115608, + "åĨĴåĩº": 115609, + "åij¼åIJ¸éģĵ": 115610, + "è¾¾å°Ķ": 115611, + "æľ¨åľ°æĿ¿": 115612, + "诡å¼Ĥ": 115613, + "çģ¯åħ·": 115614, + "çģ«çĥ§": 115615, + "è§£èĦ±": 115616, + "æĦĪåıij": 115617, + "æ¹ĸå·ŀ": 115618, + "é£İä¿Ĺ": 115619, + "æĸ°å½¢åĬ¿": 115620, + "æĸ°å½¢åĬ¿ä¸ĭ": 115621, + "è²Ŀ": 115622, + "èĦĵ": 115623, + "åĬ¨åĬĽçĶµæ±ł": 115624, + "é£ŀèι": 115625, + "飧æĢ§": 115626, + "åĪ©çī©": 115627, + "åĪ©çµ¦": 115628, + "ä¸į认è¯Ĩ": 115629, + "ç¼ĸç»ĩ": 115630, + "ä½ľåĿĬ": 115631, + "èģĮä¸ļæĬĢèĥ½": 115632, + "çľĭè¦ĭ": 115633, + "åĽ´æ£ĭ": 115634, + "æĺıè¿·": 115635, + "å½Ĵå±ŀäºİ": 115636, + "æĤ¬å´ĸ": 115637, + "éĨ«çĻĤ": 115638, + "å®ĭ代": 115639, + "åºĦæĿij": 115640, + "èĹķ": 115641, + "çĮĽçĦ¶": 115642, + "çĩĥæĸĻçĶµæ±ł": 115643, + "å®ŀä½ĵåºĹ": 115644, + "ä¸į足以": 115645, + "æĥħç·": 115646, + "æĥħç·Ĵ": 115647, + "å»ĬåĿĬ": 115648, + "ç͵åı°": 115649, + "åºĶåĬĽ": 115650, + "ä¸Ńå°ıåѦçĶŁ": 115651, + "èĥ¡åIJĮ": 115652, + "éī´åĪ«": 115653, + "åĨħç½®": 115654, + "乱象": 115655, + "æ¬ĬçĽĬ": 115656, + "å¼ĢæĶ¾å¼ı": 115657, + "åįļæĸĩ": 115658, + "讲课": 115659, + "çŃīåİŁåĽł": 115660, + "穷人": 115661, + "äº¤æĽ¿": 115662, + "æĬ¤çħ§": 115663, + "åıijå±ķæľºéģĩ": 115664, + "客åķĨ": 115665, + "åıįä¹ĭ": 115666, + "ç±³é¥Ń": 115667, + "å¹¶åıij": 115668, + "å¹¶åıijçĹĩ": 115669, + "æ±īåŃIJ": 115670, + "æŀľåĽŃ": 115671, + "对æĪijæĿ¥è¯´": 115672, + "åģıåIJij": 115673, + "æī¹ç¤º": 115674, + "读åIJİ": 115675, + "读åIJİæĦŁ": 115676, + "æĺİæĻº": 115677, + "åĽ´çĿĢ": 115678, + "åıį转": 115679, + "æĿ¨å¹Ĥ": 115680, + "ä¸ĵåįĸ": 115681, + "ä¸ĵåįĸåºĹ": 115682, + "åıĹéĻIJ": 115683, + "åºŁè¯Ŀ": 115684, + "æŀģå°ij": 115685, + "åįĪåIJİ": 115686, + "è¿Ľä¿®": 115687, + "åīĬåĩı": 115688, + "æľ¬ç§ijçĶŁ": 115689, + "ä¼ĺéĢī": 115690, + "åħīçħ§": 115691, + "åıĻäºĭ": 115692, + "åıĸæļĸ": 115693, + "åĮĹè·¯": 115694, + "æ¦ķ": 115695, + "èİĨçͰ": 115696, + "楼å±Ĥ": 115697, + "天èĬ±": 115698, + "天èĬ±æĿ¿": 115699, + "çĤľ": 115700, + "å·²ç»ıæľīäºĨ": 115701, + "è¶¾": 115702, + "çͳåįļ": 115703, + "ç͵éĺ»": 115704, + "åĬŁè¯¾": 115705, + "æŃ¥æŃ¥": 115706, + "éĤ£ä¹Ī容æĺĵ": 115707, + "æŃ¤æĸĩ": 115708, + "ä½°": 115709, + "计è¾ĥ": 115710, + "çīĩéĿ¢": 115711, + "ç͵影éĻ¢": 115712, + "ä¸įåħ¬å¹³": 115713, + "ä¸īæľŁ": 115714, + "æĹħ游èµĦæºIJ": 115715, + "å¤ļç§įå½¢å¼ı": 115716, + "è£Ĥç¼Ŀ": 115717, + "åIJİæİĴ": 115718, + "硬度": 115719, + "åĽŀæļĸ": 115720, + "éģĵæķĻ": 115721, + "è´«è¡Ģ": 115722, + "æ¸ħé¦Ļ": 115723, + "伤çĹħ": 115724, + "æĦı義": 115725, + "çļĦç¼ĺ": 115726, + "çļĦç¼ĺæķħ": 115727, + "åºĦ严": 115728, + "åıªæĺ¯ä¸ºäºĨ": 115729, + "æīĵæĬĺ": 115730, + "以ä¾Ĩ": 115731, + "滿足": 115732, + "çİĽä¸½": 115733, + "風éļª": 115734, + "æĸĩç§ij": 115735, + "éħįå¤ĩäºĨ": 115736, + "è¿Ľé£Ł": 115737, + "æ¶¡": 115738, + "è·¯ç¨ĭ": 115739, + "åı«å£°": 115740, + "ä¸Ńå¿ĥåŁİåĮº": 115741, + "æľīæīĢä¸įåIJĮ": 115742, + "張貼": 115743, + "é¢ĦæĬ¥": 115744, + "æľīå¤ļä¹Ī": 115745, + "è¿Ľè¡Įåħ¨éĿ¢": 115746, + "æĽ¾ç¶ĵ": 115747, + "ä¸ī代": 115748, + "å®ı大": 115749, + "æ¸ħæī«": 115750, + "éĢīåĩº": 115751, + "åĵªä¸Ģ个": 115752, + "主義": 115753, + "ä¾Ŀæĵļ": 115754, + "çļ®éĿ©": 115755, + "èµ¶æĿ¥": 115756, + "çŃĽæŁ¥": 115757, + "æ¨Ł": 115758, + "ä¿ĿèįIJ": 115759, + "åIJĥæĥĬ": 115760, + "æľĭåıĭ们对": 115761, + "ä»ĸæĺ¯ä¸Ģ个": 115762, + "åºŁæ°Ķ": 115763, + "æ»ħ": 115764, + "è´¢ç¨İ": 115765, + "æĿijæĿijæ°ij": 115766, + "èµĦäº§è´ŁåĢº": 115767, + "å®īå¨ľ": 115768, + "缮åīįåĽ½åĨħ": 115769, + "æĦŁè§īèĩªå·±": 115770, + "çµIJåIJĪ": 115771, + "éͦæłĩ": 115772, + "éͦæłĩèµĽ": 115773, + "æĽ´æ·±": 115774, + "åŁºæķ°": 115775, + "éħ¿éħĴ": 115776, + "çī¹èī²äº§ä¸ļ": 115777, + "åİĭå®ŀ": 115778, + "ä¾Ŀæ³ķ追究": 115779, + "æ·¡å®ļ": 115780, + "ç®ĢçĽ´å°±æĺ¯": 115781, + "å£ĵåĬĽ": 115782, + "æ°ijå¿ĥ": 115783, + "ä¸įåIJĪéĢĤ": 115784, + "çͱæŃ¤åı¯è§ģ": 115785, + "èµŀèªī": 115786, + "澤": 115787, + "åĩłå¹´åīį": 115788, + "åIJīä»ĸ": 115789, + "çł´æįŁ": 115790, + "è½»è½»åľ°": 115791, + "å²Ľå±¿": 115792, + "æĦıå¢ĥ": 115793, + "ä»Ģä¹Īåı«": 115794, + "åģĩè£ħ": 115795, + "éĢģè´§": 115796, + "å¹ķå¢Ļ": 115797, + "妥åįı": 115798, + "åĽ½æĹĹ": 115799, + "äºĨå¾Īä¹ħ": 115800, + "åĪĨ辨çİĩ": 115801, + "ç´Ķ": 115802, + "éĺ³åĮº": 115803, + "åĩŃçĿĢ": 115804, + "åģľè½¦ä½į": 115805, + "京éĥ½": 115806, + "éĶ£": 115807, + "æĵ¾": 115808, + "è¿ĽéŨ": 115809, + "åĪĺæµ·": 115810, + "åĽĽçº§": 115811, + "女足": 115812, + "è¡ĮæĶ¿å®¡æī¹": 115813, + "éģ¥æİ§": 115814, + "ä¸įéĮ¯": 115815, + "å¾Ĺå¾Ī好": 115816, + "ä¸ºçĽ®çļĦ": 115817, + "ä»įæľª": 115818, + "ç²¾è£ħ": 115819, + "éĢįéģ¥": 115820, + "尽头": 115821, + "çºłç¼ł": 115822, + "éłĺå°İ": 115823, + "æĭħè´Ł": 115824, + "æĪĸèĢħåħ¶ä»ĸ": 115825, + "åıªä¸įè¿ĩæĺ¯": 115826, + "åı®åĺ±": 115827, + "åģĩåĨĴ": 115828, + "æļĸæ°Ķ": 115829, + "çĽIJåŁİ": 115830, + "被è§Ĩ为": 115831, + "诺è´Ŀå°Ķ": 115832, + "ç»ĻäºĨæĪij": 115833, + "è¿ijåįĥ": 115834, + "éĩįåĽŀ": 115835, + "éĨĴäºĨ": 115836, + "çĶµè§£": 115837, + "忽çķ¥äºĨ": 115838, + "èĥĮéĥ¨": 115839, + "æĸĩæĺİåŁİå¸Ĥ": 115840, + "æºħ": 115841, + "è²ĵ": 115842, + "æĬµæĮ¡": 115843, + "åĸľæ¬¢åIJĥ": 115844, + "éĿĻéĿĻåľ°": 115845, + "å¾Īæ·±": 115846, + "åŁºç¡ĢçŁ¥è¯Ĩ": 115847, + "è¿ĩéĶĻ": 115848, + "çIJĨç§ij": 115849, + "交æµģåIJĪä½ľ": 115850, + "èĪĶ": 115851, + "èª¿æŁ¥": 115852, + "æħĪæĤ²": 115853, + "éĴ°": 115854, + "èĩ´ç͵": 115855, + "å®£ä¼łæ´»åĬ¨": 115856, + "åıĺéĩı": 115857, + "çļĦ人æĿ¥è¯´": 115858, + "æĹ¶éļĶ": 115859, + "ä¸įç®¡ä½ł": 115860, + "缸è¿ij": 115861, + "è´µéĩijå±ŀ": 115862, + "ä¹Łä¸įåı¯èĥ½": 115863, + "ç²īæľ«": 115864, + "åįĹçĵľ": 115865, + "çϽ马": 115866, + "åħīæºIJ": 115867, + "éĩijå¥ĸ": 115868, + "çĭ¬è§Ĵ": 115869, + "çĭ¬è§Ĵåħ½": 115870, + "妨ç¢į": 115871, + "ç»ĻåĬĽ": 115872, + "ä½Ĩä»į": 115873, + "å¼łå®¶åı£": 115874, + "èIJ¬åħĥ": 115875, + "渲æŁĵ": 115876, + "éķ¿å¤§äºĨ": 115877, + "è®°èĢħäºĨè§£": 115878, + "æĢĢçĿĢ": 115879, + "è¦ģåѦä¼ļ": 115880, + "游æĪı代": 115881, + "游æĪı代ç»ĥ": 115882, + "äºĮçϾ": 115883, + "æĦıè¯Ĩå½¢æĢģ": 115884, + "çݺ": 115885, + "计åĪĴçĶŁèĤ²": 115886, + "æī¾åĩĨ": 115887, + "åħ°èĬ±": 115888, + "è¿Ļ座åŁİå¸Ĥ": 115889, + "污泥": 115890, + "å®ĺæĸ¹å¾®ä¿¡": 115891, + "å½Ĵå±ŀ": 115892, + "æ°§æ°Ķ": 115893, + "éģİç¨ĭä¸Ń": 115894, + "åį°è±¡æ·±åĪ»": 115895, + "稳妥": 115896, + "çµIJæĿŁ": 115897, + "åŃķæľŁ": 115898, + "çĿĥ": 115899, + "åĿļåĽº": 115900, + "顺åĬ¿": 115901, + "æŀľèͬ": 115902, + "éĨ«å¸«": 115903, + "åİ®": 115904, + "ä¹Łæĺ¯å¦ĤæŃ¤": 115905, + "é¦Ĵ头": 115906, + "缸åĬ©": 115907, + "干线": 115908, + "ä¸Ģæľ¬ä¹¦": 115909, + "绥": 115910, + "æĮ¯å¥ĭ": 115911, + "èĤ¾èĦı": 115912, + "åĭķçī©": 115913, + "é£ŀè·ĥ": 115914, + "èıľåĵģ": 115915, + "å¤ļä½Ļ": 115916, + "å¤ļä½ĻçļĦ": 115917, + "éĢĿä¸ĸ": 115918, + "æģĭ人": 115919, + "å¼ĢåıijåĪ©ç͍": 115920, + "顺丰": 115921, + "éĩİå¿ĥ": 115922, + "æł¡å¤ĸ": 115923, + "æģIJé¾Ļ": 115924, + "éĿ¢åħ·": 115925, + "éķ¿è¾Ī": 115926, + "éļıå¤Ħ": 115927, + "éļıå¤Ħåı¯è§ģ": 115928, + "紧缺": 115929, + "éĩįä¸Ń": 115930, + "éĩįä¸Ńä¹ĭ": 115931, + "éĩįä¸Ńä¹ĭéĩį": 115932, + "奥æĸ¯": 115933, + "奥æĸ¯åį¡": 115934, + "ä¸Ģ个å¤ļ": 115935, + "ä¸Ģ个å¤ļæľĪ": 115936, + "ä¸įåı¯ç¼ºå°ij": 115937, + "æĸ°æł¼å±Ģ": 115938, + "æıIJæĮ¯": 115939, + "è¡Įè´¿": 115940, + "æ¼Ĥæµģ": 115941, + "èģĬåŁİ": 115942, + "åħ´å»º": 115943, + "è´¨æ£Ģ": 115944, + "ç§ģæľį游æĪı": 115945, + "æĽ´éĩįè¦ģ": 115946, + "è´®": 115947, + "çħľ": 115948, + "转åıĺ为": 115949, + "è¿Ļ两年": 115950, + "ä¿Ŀé²ľ": 115951, + "æī§æķĻ": 115952, + "çĥ¨": 115953, + "å¼Ģåıij建设": 115954, + "è¿IJèIJ¥ç®¡çIJĨ": 115955, + "误差": 115956, + "京åī§": 115957, + "å¸IJåı·": 115958, + "å·¥ä½ľä½ľé£İ": 115959, + "ä¸ĸä¿Ĺ": 115960, + "çϽ宫": 115961, + "å¤©åĽ½": 115962, + "å¤©åĽ½ç»§ç»Ń": 115963, + "å·´æĸ¯": 115964, + "èIJ¥åĪ©": 115965, + "åĵģæł¼": 115966, + "æĿijæ°ij们": 115967, + "æĪ¿è½¦": 115968, + "çŃīçĹĩçĬ¶": 115969, + "å¦Ĥå®ŀ": 115970, + "宸": 115971, + "å±Ĥ级": 115972, + "éĶĻè¿ĩäºĨ": 115973, + "ç»ĵå®ŀ": 115974, + "ç¬ijèĦ¸": 115975, + "羣å®ŀæĢ§": 115976, + "éĥ½å¸ĤæĬ¥": 115977, + "é¥Ńèıľ": 115978, + "åºĶ注æĦı": 115979, + "æĬ½çĥŁ": 115980, + "伪éĢł": 115981, + "åīįä¸Ģ天": 115982, + "éŃĶé¾Ļ": 115983, + "éŃĶé¾Ļ令çīĮ": 115984, + "约è°Ī": 115985, + "绣çѹæİ¨è¿Ľ": 115986, + "让ç͍æĪ·": 115987, + "åħ¨éĿ¢èIJ½å®ŀ": 115988, + "å¼Ħå¾Ĺ": 115989, + "è°Īæģĭçα": 115990, + "鸣æĪIJéķ¿": 115991, + "鸣æĪIJéķ¿è®°": 115992, + "æ´ĭæ´ĭ": 115993, + "çĸıæķ£": 115994, + "éĿ¢ç§¯çº¦": 115995, + "æµĵ缩": 115996, + "æĸ¯é¡¿": 115997, + "çĶŁæĢģåľĪ": 115998, + "æī§å¯¼": 115999, + "ç§»éĢģ": 116000, + "齿轮": 116001, + "æł¹æľ¬å°±ä¸į": 116002, + "缩åĩı": 116003, + "èµ°ä¸ĭåİ»": 116004, + "çĿ«æ¯Ľ": 116005, + "ä¹Łä¸įéĶĻ": 116006, + "åıįæĺłåĩº": 116007, + "èĭ¦æģ¼": 116008, + "缸åħ³æĶ¿çŃĸ": 116009, + "é«ĺ楼": 116010, + "ç²īèī²": 116011, + "æĬķèµĦé¢Ŀ": 116012, + "ä¸įç»ı": 116013, + "ä¸įç»ıæĦı": 116014, + "å®ģæĦ¿": 116015, + "èĪĮ头": 116016, + "æ»ĭçĶŁ": 116017, + "å®ģåİ¿": 116018, + "åīįåĪĹèħº": 116019, + "åĩ³": 116020, + "é£Łæ¬²": 116021, + "åıĸèĥľ": 116022, + "éĻ¢åŃIJ": 116023, + "ç´łè´¨æķĻèĤ²": 116024, + "滨å·ŀ": 116025, + "æĬ¢æĬĵ": 116026, + "å¼Ĥåij³": 116027, + "åĴļ": 116028, + "åĬį": 116029, + "宽éĺĶ": 116030, + "æļ´æ¶¨": 116031, + "æĥłåıĬ": 116032, + "è§Ħç¨ĭ": 116033, + "ä¾Ľåħ»": 116034, + "éĢģå¾Ģ": 116035, + "å±±åºĦ": 116036, + "举äºļ": 116037, + "å±ķé¦Ĩ": 116038, + "è§£éĶģ": 116039, + "æĹłè§Ĩ": 116040, + "éĻįèIJ½": 116041, + "è¿ŀäºij": 116042, + "è¿ŀäºij港": 116043, + "åıĤè°ĭ": 116044, + "çİĸ": 116045, + "ç¬ĥ": 116046, + "èĢĹè´¹": 116047, + "æī¿å¾·": 116048, + "社ä¼ļæķĪçĽĬ": 116049, + "åįĹæµ·ç½ij": 116050, + "åĪĽä¼¤": 116051, + "èIJ±": 116052, + "åħħæ²Ľ": 116053, + "ç½ijç«Ļ建设": 116054, + "大åºĨ": 116055, + "åĨįéĢł": 116056, + "åŃĹæł·": 116057, + "åħ¨æ°ijåģ¥èº«": 116058, + "èĮ«èĮ«": 116059, + "æµ®åĬ¨": 116060, + "åīįåı°": 116061, + "å¢ŀ设": 116062, + "éĢĽè¡Ĺ": 116063, + "åĢĴéĹŃ": 116064, + "æ³ķå¾ĭ顾éĹ®": 116065, + "çĸ®": 116066, + "çĹħçĹĩ": 116067, + "空åīį": 116068, + "请æķĻ": 116069, + "èĥľä»»": 116070, + "æĿĢèıĮ": 116071, + "æĪĺæĸĹæľº": 116072, + "ç»ĺåζ": 116073, + "å¤Ħæĸ¹": 116074, + "çªģåĽ´": 116075, + "çĮ«åĴª": 116076, + "æĬ¥åijĬæĺ¾ç¤º": 116077, + "ç¿Ł": 116078, + "çķ¶åľ°": 116079, + "æľĢéļ¾": 116080, + "纪å§Ķ书记": 116081, + "ä½İåİĭ": 116082, + "èĻļ空": 116083, + "è¿Ļéĥ¨ç͵影": 116084, + "产ä¸ļåįĩ级": 116085, + "è°·çα": 116086, + "è°·çαåĩĮ": 116087, + "æĬ¼éĩij": 116088, + "女æĸ¹": 116089, + "éĴ»çłĶ": 116090, + "æļĹæļĹ": 116091, + "è¿·ä½ł": 116092, + "æīĢè¬Ĥ": 116093, + "å¨ģå»ī": 116094, + "å¼ĢæľĹ": 116095, + "å²Ķ": 116096, + "çģ«çĤ¬": 116097, + "åIJĪçIJĨæĢ§": 116098, + "åħ¬åĬŀ": 116099, + "ä¼ļä¼ļéķ¿": 116100, + "éĺ´è°ĭ": 116101, + "å¼Ģå±Ģ": 116102, + "æĻ®éĢļè¯Ŀ": 116103, + "å᡿ĭī": 116104, + "å°ijåIJĥ": 116105, + "éĹªèĢĢ": 116106, + "æŀľæ±ģ": 116107, + "æī§è¡ĮåĬĽ": 116108, + "è°Ľ": 116109, + "æĬ¢åĬ«": 116110, + "é«ĺéĢŁåıijå±ķ": 116111, + "飬": 116112, + "åįĹæ²Ļ": 116113, + "é«ĺçŃīåŃ¦æł¡": 116114, + "æį¢ä¸ª": 116115, + "åı¯èĥ½åŃĺåľ¨": 116116, + "æĬĴ": 116117, + "è°±åĨĻ": 116118, + "被æĬĵ": 116119, + "æĿ¯åŃIJ": 116120, + "èĬĤèĥ½åĩıæİĴ": 116121, + "æ°ĶåĢĻåıĺåĮĸ": 116122, + "åĪĨåĪ¥": 116123, + "ä¸Ńæŀ¢": 116124, + "欢åij¼": 116125, + "åħī纤": 116126, + "è¿Ļ群": 116127, + "çľ¼çķĮ": 116128, + "åħ±åIJĮåıijå±ķ": 116129, + "çݰä»Ĭ": 116130, + "éĹ»è¨Ģ": 116131, + "çī¹èī²å°ıéķĩ": 116132, + "æķij人": 116133, + "éĻįæ°´": 116134, + "ä¸ĸçķĮä¸Ģæµģ": 116135, + "å°±é¤IJ": 116136, + "çŀ¥": 116137, + "å¤įä»ĩ": 116138, + "ç¾½æ¯Ľ": 116139, + "ç¾½æ¯ĽçIJĥ": 116140, + "è´©åįĸ": 116141, + "æºIJæ³ī": 116142, + "æĢ»ä½ĵè§ĦåĪĴ": 116143, + "åĬ¨æĦŁ": 116144, + "ä¸Ģ审": 116145, + "åĢŁéĴ±": 116146, + "è§ģæķĪ": 116147, + "èĬ±èįī": 116148, + "åIJĮä¸ļ": 116149, + "æŁ¥è©¢": 116150, + "åĽ½éĻħåIJĪä½ľ": 116151, + "ä¾ĽåĽ¾": 116152, + "åģ´": 116153, + "æłĵ": 116154, + "缸éĢļ": 116155, + "è°ĪåıĬ": 116156, + "è¿ĩç¨ĭå½ĵä¸Ń": 116157, + "é¦Ļèıĩ": 116158, + "åįģåĽĽæĿ¡": 116159, + "ä¸Ģå¼Ģå§ĭå°±": 116160, + "ä¸ĵåijĺ": 116161, + "æĺİ顯": 116162, + "æīĵéĢłåĩº": 116163, + "ä¸ĭéĿ¢æĪij们": 116164, + "æľºæ²¹": 116165, + "åı°è¯į": 116166, + "åŃIJå¼Ł": 116167, + "æľĢ常è§ģçļĦ": 116168, + "æĪijè®°å¾Ĺ": 116169, + "ç»°": 116170, + "æĤ¬æµ®": 116171, + "è¿ĺ羣æĺ¯": 116172, + "æĮĤåı·": 116173, + "åıĭåĸĦ": 116174, + "éĩį伤": 116175, + "çħ§äº®": 116176, + "æŃ¦èѦ": 116177, + "åĩºçݰéĹ®é¢ĺ": 116178, + "è¸Ĭè·ĥ": 116179, + "åľ°çIJĥä¸Ĭ": 116180, + "å¸Ĥ人大": 116181, + "åıĹ害人": 116182, + "å²IJ": 116183, + "åIJĮåѸ": 116184, + "éĩijèŀįå¸Ĥåľº": 116185, + "æľīçļĦçݩ家": 116186, + "å¸ĤæķĻèĤ²": 116187, + "å¸ĤæķĻèĤ²å±Ģ": 116188, + "åIJĦå¼Ĥ": 116189, + "ç·ļä¸Ĭ": 116190, + "æģº": 116191, + "æľī大éĩıçļĦ": 116192, + "åķĨæĬ¥": 116193, + "åįķåįķ": 116194, + "åħ¨é¢Ŀ": 116195, + "ä¾ĿæĹ§æĺ¯": 116196, + "好åĩłä¸ª": 116197, + "åĸµ": 116198, + "éĩįæķ´": 116199, + "çĶŁæ´»è´¨éĩı": 116200, + "æİ¢è®¿": 116201, + "åį°èĬ±": 116202, + "缼è¡Į": 116203, + "å¾®è§Ĥ": 116204, + "èĪįå¾Ĺ": 116205, + "åºŁå¼ĥçī©": 116206, + "积èĵĦ": 116207, + "å®ļå±ħ": 116208, + "æĤ¼": 116209, + "èĮ¸": 116210, + "çļĦ帮åĬ©": 116211, + "çļĦ帮åĬ©ä¸ĭ": 116212, + "亿åIJ¨": 116213, + "åŃĶéĽĢ": 116214, + "è¿ĻæĿ¡è·¯": 116215, + "饵": 116216, + "æĦĪåĬł": 116217, + "éķį": 116218, + "ä½ľæ¡Ī": 116219, + "èįĶæŀĿ": 116220, + "太å°ij": 116221, + "跻身": 116222, + "åħ¬çĽĬæ´»åĬ¨": 116223, + "çϽæĸij": 116224, + "æĬĢæľ¯æ°´å¹³": 116225, + "帧": 116226, + "æĹłçŁ¥": 116227, + "åºĶ该æĢİä¹Ī": 116228, + "éĢĢå¸Ĥ": 116229, + "æ¸Ń": 116230, + "åħ»çĮª": 116231, + "驼": 116232, + "ç¾¤å²Ľ": 116233, + "大åį«": 116234, + "ä¹ĺçĶ¨è½¦": 116235, + "èı²å°Ķ": 116236, + "è´´åIJ§": 116237, + "åģľä¸ĭæĿ¥": 116238, + "æľīæľºç»ĵåIJĪ": 116239, + "åĪ»èĭ¦": 116240, + "çļĦåľ°": 116241, + "çļĦåľ°æŃ¥": 116242, + "è¯ĬæīĢ": 116243, + "å¼ĢæĪĺ": 116244, + "èĢģçīĮ": 116245, + "çѹçłģ": 116246, + "åħ«å¤§ä»¥æĿ¥": 116247, + "楼æĪ¿": 116248, + "åŃĻæĤŁ": 116249, + "åŃĻæĤŁç©º": 116250, + "åħĴåŃIJ": 116251, + "第ä¸ĢæĿ¡": 116252, + "社交åªĴä½ĵ": 116253, + "æĥ³èµ·æĿ¥": 116254, + "大æ´ĭ": 116255, + "æĭ¼éٳ": 116256, + "è¿Ľåįļä¼ļ": 116257, + "è¿ĩåħ³": 116258, + "æ²¼": 116259, + "ç©¿æIJŃ": 116260, + "éĤ£ä¸Ģ天": 116261, + "çł´éŨ": 116262, + "æĬķæłĩ人": 116263, + "赢家": 116264, + "èĻļå¼±": 116265, + "æ¿ĥ": 116266, + "å®īæ£Ģ": 116267, + "客家": 116268, + "çĭ¬ç«ĭèij£äºĭ": 116269, + "æīĭåĬ¿": 116270, + "åīµéĢł": 116271, + "åľĨ满å®ĮæĪIJ": 116272, + "为主线": 116273, + "好å¥ĩå¿ĥ": 116274, + "é¢ĨåľŁ": 116275, + "çªĸ": 116276, + "åħ¸åŀĭæ¡Īä¾ĭ": 116277, + "çªģåıijäºĭä»¶": 116278, + "åºķæ°Ķ": 116279, + "头æĻķ": 116280, + "å®Ľå¦Ĥ": 116281, + "觸": 116282, + "æ¸ħæ·¡": 116283, + "åļ¼": 116284, + "åģľç͵": 116285, + "ç²īå°ĺ": 116286, + "éĻįä½İæĪIJæľ¬": 116287, + "æĶ¾æīĭ": 116288, + "è®°èĢħ表示": 116289, + "æĭĸå»¶": 116290, + "éªĩ": 116291, + "æ®ĭå¿į": 116292, + "çľģæķĻèĤ²": 116293, + "çľģæķĻèĤ²åİħ": 116294, + "é«ĺé¢Ŀ": 116295, + "éĦĻ": 116296, + "æ¥ŀ": 116297, + "åĨħç§ij": 116298, + "èIJ¥ä¸ļé¢Ŀ": 116299, + "åŁºçŁ³": 116300, + "æµģæ·Į": 116301, + "主æĹ¨": 116302, + "éĺIJéĩĬ": 116303, + "建åįİ": 116304, + "æĥĬåı¹": 116305, + "çī¢åĽºæłijç«ĭ": 116306, + "æĺ¯åIJ¦åŃĺåľ¨": 116307, + "建åĨĽ": 116308, + "éĽ¾éľ¾": 116309, + "åħ¬è®¤": 116310, + "åħ¬è®¤çļĦ": 116311, + "æ°¨åŁº": 116312, + "æ°¨åŁºéħ¸": 116313, + "åīįåĩłå¹´": 116314, + "åιéĤ£": 116315, + "æ±Łä¸ľ": 116316, + "å·¥æ¥Ń": 116317, + "ä¸ĢçĤ¹ä¹Łä¸į": 116318, + "修士": 116319, + "äºĨä¸Ģéģį": 116320, + "åĪģ": 116321, + "æ»ļæ»ļ": 116322, + "åĪĨæł¡": 116323, + "羣çα": 116324, + "è¡ĢèĦī": 116325, + "æĢ¥åī§": 116326, + "ä¸Ģ群人": 116327, + "羯": 116328, + "æĪIJé¾Ļ": 116329, + "ç²¾ç¥ŀçĹħ": 116330, + "缸åħ³äººåijĺ": 116331, + "éĿĵ丽": 116332, + "ä¸īåŃ£åº¦": 116333, + "åĪĴå®ļ": 116334, + "ä¸ĸçķĮ第ä¸Ģ": 116335, + "éĢļä¿Ĺ": 116336, + "åķĨä¸ļåľ°äº§": 116337, + "åĬŁèĥ½æĢ§": 116338, + "èµĦæľ¬ä¸»ä¹ī": 116339, + "详è§ģ": 116340, + "æĬĵæįķ": 116341, + "æĸĩæĺĮ": 116342, + "å®Ŀå®ī": 116343, + "è£ħéħįå¼ı": 116344, + "æºIJæºIJ": 116345, + "æºIJæºIJä¸įæĸŃ": 116346, + "çĶŁæĢķ": 116347, + "纵åIJij": 116348, + "壽": 116349, + "çľ¼è¢ĭ": 116350, + "èĤīä½ĵ": 116351, + "åı¤ä»Ĭ": 116352, + "èŀįåªĴä½ĵ": 116353, + "åģī": 116354, + "æł¼æľĥåĵ¡": 116355, + "çĥ·": 116356, + "åĬŁç͍": 116357, + "æīŃ磩": 116358, + "绿èī²éĢļéģĵ": 116359, + "åī§ç»Ħ": 116360, + "å¼±åĬ¿": 116361, + "è´¨éĩıéĹ®é¢ĺ": 116362, + "éĻIJé¢Ŀ": 116363, + "éªĨ": 116364, + "éģµä¹ī": 116365, + "å¯Ŀ室": 116366, + "æĥ³å¿µ": 116367, + "åł±åijĬ": 116368, + "ä»ħ次": 116369, + "ä»ħ次äºİ": 116370, + "èŀįåĪĽ": 116371, + "æĭĽèģĺä¼ļ": 116372, + "åºĬåŀ«": 116373, + "转åŀĭåıijå±ķ": 116374, + "ä¸ŃåĽ½çĶµä¿¡": 116375, + "åIJ¬è¯Ŀ": 116376, + "è«ĭæ±Ĥ": 116377, + "大éĥ¨åĪĨ人": 116378, + "æ´»å¾Ĺ": 116379, + "åĵŃæ³£": 116380, + "è¶Ļ": 116381, + "åıijçĹħçİĩ": 116382, + "ä¸į符": 116383, + "åĨĽå®ĺ": 116384, + "é¢Īæ¤İ": 116385, + "æĸ°åĨłçĸ«æĥħ": 116386, + "æŁ¬åŁĶ": 116387, + "æŁ¬åŁĶ寨": 116388, + "ä»»ä½ķå½¢å¼ı": 116389, + "人éĻħ": 116390, + "人éĻħåħ³ç³»": 116391, + "æĢ»æī¿åĮħ": 116392, + "å¹³åĿĩæ¯ı": 116393, + "æģŃåĸľ": 116394, + "åĦĺ": 116395, + "åħµé©¬": 116396, + "è¿Łåΰ": 116397, + "工伤": 116398, + "çīĪæĿĥå½Ĵ": 116399, + "çīĪæĿĥå½ĴåİŁ": 116400, + "æĭ¥æĬ¤": 116401, + "ç³Ĭæ¶Ĥ": 116402, + "å¹²æ¶ī": 116403, + "å°ijä¸įäºĨ": 116404, + "æĥ³æī¾": 116405, + "è´¹çİĩ": 116406, + "该éĻ¢": 116407, + "èŀįåĮĸ": 116408, + "è¿İåIJĪ": 116409, + "è§ĨåIJ¬èĬĤ缮": 116410, + "æł¼ç¶²ç«Ļ": 116411, + "çľīæ¯Ľ": 116412, + "欢è¿İ大家": 116413, + "å®¶åºŃæķĻèĤ²": 116414, + "ä¾µèļĢ": 116415, + "ç»Ļä½łä»¬": 116416, + "è¡Ģ液循çݯ": 116417, + "å¯Ħæīĺ": 116418, + "å°ĸåı«": 116419, + "以ä¸ĭåĩłä¸ª": 116420, + "è¿ĺ以为": 116421, + "åħ¶ä»ĸçݩ家": 116422, + "ç¬ijç¬ij": 116423, + "æīĵåIJ¬": 116424, + "èĩªçĦ¶ç§ijåѦ": 116425, + "åŁºç«Ļ": 116426, + "ä¹Ŀå·ŀ": 116427, + "ä¿Ŀ驾": 116428, + "ä¿Ŀ驾æĬ¤": 116429, + "ä¿Ŀ驾æĬ¤èĪª": 116430, + "æĶ¾çľ¼": 116431, + "çŁ¥åIJįä¼ģä¸ļ": 116432, + "縮": 116433, + "稽": 116434, + "æļĩ": 116435, + "使çĶ¨ç¶²è·¯": 116436, + "é¢ĦçķĻ": 116437, + "大象": 116438, + "åıijæĺİä¸ĵåĪ©": 116439, + "æĸĩ娱": 116440, + "éĢłç¦ı": 116441, + "湿润": 116442, + "éĿ¢æĿ¡": 116443, + "æ¶Īè´¹åįĩ级": 116444, + "è®Ĭå¾Ĺ": 116445, + "åĩłåIJį": 116446, + "ä»Ħ": 116447, + "认æ¸ħ": 116448, + "è¿ľæĻ¯": 116449, + "æıĴ座": 116450, + "诸侯": 116451, + "åıĺæĢģ": 116452, + "ç¦ı彩": 116453, + "è´§æŀ¶": 116454, + "失æİ§": 116455, + "ç§»åĬ¨ç«¯": 116456, + "ä¸Ĭåı¸": 116457, + "éĢłçº¸": 116458, + "å¸ĥæľĹ": 116459, + "çĴĩ": 116460, + "åı°åįĹ": 116461, + "åĮĹ京åĨ¬å¥¥": 116462, + "èĵĿçīĻ": 116463, + "éķ¿çŁŃ": 116464, + "æĬĺå°Ħ": 116465, + "ç»ijæŀ¶": 116466, + "å¯Ĵåģĩ": 116467, + "è½¬åŁºåĽł": 116468, + "æĢ¥äºİ": 116469, + "æŃ£åĵģ": 116470, + "åħħ滿": 116471, + "大纲": 116472, + "æĬĹä½ĵ": 116473, + "è¨ĵç·´": 116474, + "æĶ¶ç´§": 116475, + "æ¯Ķè³½": 116476, + "åħµåĬĽ": 116477, + "æľ¬æĽ¸": 116478, + "äºĮ代": 116479, + "æĢ¥è¯Ĭ": 116480, + "æĸĩæ¡Ī": 116481, + "ç»ıåķĨ": 116482, + "æĻ¨æĬ¥": 116483, + "æ£ĺ": 116484, + "æĢ»ä¹¦è®°åľ¨": 116485, + "åıĹéĤĢ": 116486, + "äºĶåĽĽ": 116487, + "å²ŃåįĹ": 116488, + "çαåIJĥ": 116489, + "åŁĥå°Ķ": 116490, + "å¿ĥå¢ĥ": 116491, + "è¦ĨçĽĸéĿ¢": 116492, + "å®ŀåľ¨æĺ¯å¤ª": 116493, + "æł¹åºķ": 116494, + "纷纷表示": 116495, + "åĹħ": 116496, + "éļıçĿĢæĹ¶éĹ´": 116497, + "åİĨåı²æĤłä¹ħ": 116498, + "éħī": 116499, + "æĢ»éĺŁ": 116500, + "主é¢ĺæ´»åĬ¨": 116501, + "éĹ®åį·": 116502, + "é©¿ç«Ļ": 116503, + "æı¡ä½ı": 116504, + "åı¯èĥ½å¯¼èĩ´": 116505, + "æ°ijéĸĵ": 116506, + "éĸĭåķŁ": 116507, + "ä½Ĩä¸įéĻIJ": 116508, + "ä½Ĩä¸įéĻIJäºİ": 116509, + "åįģéĩĮ": 116510, + "娥": 116511, + "æįŁèĢĹ": 116512, + "çĸı导": 116513, + "çݯ氧": 116514, + "ç¥ŀéĢļ": 116515, + "çαå°Ķ": 116516, + "çαå°Ķåħ°": 116517, + "æľ´å®ŀ": 116518, + "å¿«æĬ¥": 116519, + "æĶ¶åıĹ": 116520, + "æĪĸ許": 116521, + "èĥĮéĿ¢": 116522, + "æĸĩåĮĸä¼łåªĴ": 116523, + "ä¸īåĢĭ": 116524, + "æĶ»åĬ¿": 116525, + "å®ī举": 116526, + "å®īä¸ľå°¼": 116527, + "åĿĩå·²": 116528, + "顾èĻij": 116529, + "éĦŃ": 116530, + "è¿Ļå®¶åħ¬åı¸": 116531, + "åħ¬åijĬç§°": 116532, + "æıIJä¾Ľä¼ĺè´¨": 116533, + "稳æŃ¥æİ¨è¿Ľ": 116534, + "å¤įè¯ķ": 116535, + "å°Ĩé¢Ĩ": 116536, + "è°Īèµ·": 116537, + "å¨Ħ": 116538, + "è¿ŀ线": 116539, + "æ©ŁéĹľ": 116540, + "åºĶçĶ¨åľºæĻ¯": 116541, + "çĶ»åĥı": 116542, + "è´¢è¿IJ": 116543, + "ä¿Ŀéļª": 116544, + "çĹħçIJĨ": 116545, + "æ¯Ľä¸»å¸Ń": 116546, + "ä¸Ŀ毫ä¸į": 116547, + "çαå¥ĩ": 116548, + "çαå¥ĩèīº": 116549, + "ä¸ĵå®¶ç»Ħ": 116550, + "åij¼åͤ": 116551, + "éĭ¼": 116552, + "çģ¸": 116553, + "é¢ĨåħĪåľ°ä½į": 116554, + "æıIJæĭĶ": 116555, + "龸éģĵ": 116556, + "å±±åĿ¡": 116557, + "èĿİ": 116558, + "沸èħ¾": 116559, + "该项": 116560, + "ä»ĬçĶŁ": 116561, + "ä¸Ģç¯ĩæĸĩ竳": 116562, + "æĸ¹å¼ıè¿Ľè¡Į": 116563, + "é»ij客": 116564, + "æĶ¹åĬ¨": 116565, + "主é¡Į": 116566, + "æķ£å¸ĥ": 116567, + "ä»Ģä¹Īåľ°æĸ¹": 116568, + "åĮĸåIJĪ": 116569, + "åĮĸåIJĪçī©": 116570, + "éĿĻç͵": 116571, + "æĢ»æĶ¶åħ¥": 116572, + "å§Ķç»Ħç»ĩ": 116573, + "å§Ķç»Ħç»ĩéĥ¨": 116574, + "éĿĻæĢģ": 116575, + "èĢģåŃĹåı·": 116576, + "室åıĭ": 116577, + "éĥ½ä¸įæķ¢": 116578, + "æŀ¶åŃIJ": 116579, + "ç쵿ķı": 116580, + "审è§Ĩ": 116581, + "æĤ£åĦ¿": 116582, + "山寨": 116583, + "èĸªèµĦ": 116584, + "é©°æı´": 116585, + "éĥ¨åĪĨåĨħ容": 116586, + "好似": 116587, + "æĪIJåijĺåĽ½": 116588, + "åľ¨æĪijçľĭæĿ¥": 116589, + "åħ³æ³¨åº¦": 116590, + "éĻĪæŁIJ": 116591, + "è¿Ļç§įäºĭæĥħ": 116592, + "éĢīå®ļ": 116593, + "ç²¾åŃIJ": 116594, + "å£ģçĶ»": 116595, + "æ±Łæ·®": 116596, + "é«ĺæĺĤ": 116597, + "æł¼åĬĽ": 116598, + "輩": 116599, + "åѦåłĤ": 116600, + "æĤ¨åIJĮæĦı": 116601, + "ä¸ĢåĪĩéĥ½æĺ¯": 116602, + "潤": 116603, + "éĸĥ": 116604, + "å¸ĮæľĽèĩªå·±": 116605, + "ä¿ĺ": 116606, + "æ±Łåİ¿": 116607, + "æ³¾": 116608, + "ç§ijæķĻ": 116609, + "æīĵè¿Ľ": 116610, + "ä¸įæħİ": 116611, + "å¯ĴåĨ¬": 116612, + "æ¸Ķæ°ij": 116613, + "鼷æĸ¯": 116614, + "主宰": 116615, + "æĹħ游度åģĩ": 116616, + "ç͵åŃIJéĤ®ä»¶": 116617, + "æ±Ĥå©ļ": 116618, + "éļİæ®µ": 116619, + "åģ¥èº«æĪ¿": 116620, + "注æĺİåĩºå¤Ħ": 116621, + "äºĭæķħåıijçĶŁ": 116622, + "级以ä¸Ĭ": 116623, + "åŃĺæ´»": 116624, + "æĸ½èĤ¥": 116625, + "èľľèľĤ": 116626, + "嵩": 116627, + "æĮĸæİĺæľº": 116628, + "æĬĹæĭĴ": 116629, + "ä¼łå¯¼": 116630, + "æĺ¯ä»Ģä¹Īåij¢": 116631, + "ä¸Ĭå¹´åIJĮæľŁ": 116632, + "建åħļ": 116633, + "çĶŁæħĭ": 116634, + "ä¿Ŀä½ı": 116635, + "款车åŀĭ": 116636, + "人èĦī": 116637, + "éļIJèͽ": 116638, + "失æķĪ": 116639, + "éģ¿åŃķ": 116640, + "ç®Ģ便": 116641, + "è°¢è°¢ä½ł": 116642, + "å®Īä½ı": 116643, + "æĶ¾æĺł": 116644, + "è¨Īçķ«": 116645, + "çݰ代çµģ": 116646, + "é¤IJ廳": 116647, + "æķħå±ħ": 116648, + "大大å°ı": 116649, + "大大å°ıå°ı": 116650, + "çī¹åΫ声æĺİ": 116651, + "éģįåıĬ": 116652, + "å¿ĥçIJĨåĴ¨è¯¢": 116653, + "è³´": 116654, + "çĮ®è¡Ģ": 116655, + "å·²ç»ıè¾¾åΰ": 116656, + "æīĵæĭĽåij¼": 116657, + "åıĮè¾¹": 116658, + "ä¸Ģæĸ¹éĿ¢æĺ¯": 116659, + "å´ĩå°ļ": 116660, + "éĺ¿å¯Į": 116661, + "éĺ¿å¯Įæ±Ĺ": 116662, + "æĮģæľī人": 116663, + "è±ģ": 116664, + "é£İçŃĿ": 116665, + "åĬ¨èį¡": 116666, + "äºĨä¸Ģä¼ļ": 116667, + "äºĨä¸Ģä¼ļåĦ¿": 116668, + "ä¸ĩ象": 116669, + "çľĭç͵è§Ĩ": 116670, + "åįģä¸īæĿ¡": 116671, + "çĮĽçĥĪ": 116672, + "è¦ģä¸įçĦ¶": 116673, + "太æŀģæĭ³": 116674, + "å¼ķçĪĨ": 116675, + "ç»ıè¿ĩå¤ļå¹´": 116676, + "游æĪıéĩĮçļĦ": 116677, + "é¾Ļæ³ī": 116678, + "æłĩéħį": 116679, + "è®ĵä»ĸåĢij": 116680, + "éĢłæŀĹ": 116681, + "åĮºåŁŁæĢ§": 116682, + "亿ä¸ĩ": 116683, + "æĪĺçķ¥å¸ĥå±Ģ": 116684, + "éķĩæĶ¿åºľ": 116685, + "åĶ®ç¥¨": 116686, + "çĶŁäº§å·¥èīº": 116687, + "éķĩåħļå§Ķ": 116688, + "ä¸Ńå°ıåŀĭ": 116689, + "æľ¨è̳": 116690, + "河边": 116691, + "èĦ¾èĥĥ": 116692, + "欢è¿İæĤ¨": 116693, + "åıĺå¼Ĥ": 116694, + "缤纷": 116695, + "åŀĥåľ¾æ¡¶": 116696, + "辩è¯ģ": 116697, + "车åºĵ": 116698, + "æ¯Ķçİĩ": 116699, + "åħ´æĹº": 116700, + "详ç»ĨäºĨè§£": 116701, + "å®īå±ħ": 116702, + "çħ§æĸĻ": 116703, + "æĸ¹æīį": 116704, + "赦": 116705, + "åĨķ": 116706, + "å¥Ķèµ´": 116707, + "å®Ŀ鸡": 116708, + "åľºåĿĩ": 116709, + "缮åīįæŃ£åľ¨": 116710, + "åIJŀåϬ": 116711, + "è¿°èģĮ": 116712, + "æĩµ": 116713, + "å¥ĩçijŀ": 116714, + "ä»įå°Ĩ": 116715, + "èĪī辦": 116716, + "å·¥åķĨå±Ģ": 116717, + "å¡ijèĥ¶": 116718, + "åĬŀå®ŀäºĭ": 116719, + "æĸ¹æĸ¹éĿ¢": 116720, + "æĸ¹æĸ¹éĿ¢éĿ¢": 116721, + "æĸĩåĮĸèĬĤ": 116722, + "åħ¥èģĮ": 116723, + "鸥": 116724, + "ç©¿éĢı": 116725, + "ä»¥ä¹łè¿ijå¹³": 116726, + "åį±éļª": 116727, + "æľ¦èĥ§": 116728, + "åİĨåı²æĢ§": 116729, + "æķŀå¼Ģ": 116730, + "ä¼Ļä¼´åħ³ç³»": 116731, + "çŁ¿åĮº": 116732, + "åĽ½éĻħåľ¨çº¿": 116733, + "ä¼łå¥ĩéĩĮéĿ¢": 116734, + "è¿ijäºĽ": 116735, + "è¿ijäºĽå¹´": 116736, + "åĬ£åĬ¿": 116737, + "æĶ»åĩ»åĬĽ": 116738, + "æĻºéĢł": 116739, + "禧": 116740, + "çİĭåħĪçĶŁ": 116741, + "éĨ«çĶŁ": 116742, + "åĽĽé¡¹": 116743, + "å®ŀæĻ¯": 116744, + "åĪĿåĪĽ": 116745, + "å¿ĥ裡": 116746, + "æĻ¶ä½ĵ": 116747, + "交éĻħ": 116748, + "让æ¶Īè´¹èĢħ": 116749, + "课æĸĩ": 116750, + "æİĴæ°Ķ": 116751, + "å¹¶ä¸įæĦıåij³": 116752, + "çĽ¸å£°": 116753, + "第ä¸Ģå±Ĭ": 116754, + "åİŁèijĹ": 116755, + "鼾": 116756, + "没æľī太大": 116757, + "补水": 116758, + "çµģä¼ģä¸ļ": 116759, + "第äºĮæī¹": 116760, + "åħ¶å®ĥéĹ®é¢ĺ": 116761, + "æİĮéŨ": 116762, + "责任å¿ĥ": 116763, + "é¤IJåħ·": 116764, + "ç¾Ĭæ¯Ľ": 116765, + "没æľīå¿ħè¦ģ": 116766, + "ä¹IJåĽ¢": 116767, + "è¿ĽåŁİ": 116768, + "ä¸ĢçĤ¹åĦ¿": 116769, + "身形": 116770, + "çļ®èĤ¤çĹħ": 116771, + "æĺ±": 116772, + "å¢ŀèĩ³": 116773, + "è첿ĺİ": 116774, + "æıIJè´¨": 116775, + "ä½ĵèĤ²åľº": 116776, + "çŃ¹å»º": 116777, + "é¬Ĩ": 116778, + "车çīĮ": 116779, + "éļĶéŁ³": 116780, + "è´Łè´£åIJĮå¿Ĺ": 116781, + "丰ç¡ķ": 116782, + "ä½ĽéĻĢ": 116783, + "äºīåIJµ": 116784, + "庶": 116785, + "æ·¡æ°´": 116786, + "å°ıçĶ·åŃ©": 116787, + "ç§ģèĩª": 116788, + "åĮĸè¿Ľç¨ĭ": 116789, + "æĪĺ士æĿ¥è¯´": 116790, + "æ²¹èħ»": 116791, + "èĦ±è´«èĩ´å¯Į": 116792, + "æĹ¥å¸¸å·¥ä½ľ": 116793, + "交èŀį": 116794, + "åĨľè´¸": 116795, + "åĨľè´¸å¸Ĥåľº": 116796, + "åĵĪçĻ»": 116797, + "çĶµè´¹": 116798, + "èµĺ": 116799, + "åıĮèħ¿": 116800, + "æĵĶå¿ĥ": 116801, + "æĿ¥å½¢å®¹": 116802, + "使åij½æĦŁ": 116803, + "éĤ£ä¹Īç®Ģåįķ": 116804, + "èĬĻèĵī": 116805, + "åĢŁæ¬¾äºº": 116806, + "ç§Ģ丽": 116807, + "è®ĵä»ĸ": 116808, + "严åİīæīĵåĩ»": 116809, + "è³ŀ": 116810, + "æļ«": 116811, + "çħ¤æ°Ķ": 116812, + "çάä¸Ĭ": 116813, + "æ½ĩæ´Ĵ": 116814, + "太ä¹ħ": 116815, + "åij½åIJį为": 116816, + "è·¯çͱ": 116817, + "è·¯çͱåύ": 116818, + "驯": 116819, + "æıIJæĹ©": 116820, + "æĬĹåĩ»çĸ«æĥħ": 116821, + "åĩĽ": 116822, + "交åıĭ": 116823, + "éĶĢåĶ®æ¸łéģĵ": 116824, + "毫ä¸įçĬ¹è±«": 116825, + "èIJ¥åľ°": 116826, + "çłĶ究表æĺİ": 116827, + "鱼类": 116828, + "æį¢å±Ĭ": 116829, + "æİ¡åıĸ": 116830, + "çīĨ": 116831, + "缼å¼Ģ": 116832, + "æ²§æ¡ij": 116833, + "åºŃ审": 116834, + "ç»ıæŁ¥": 116835, + "åĬłå¼·": 116836, + "缸æ¯Ķäºİ": 116837, + "ä¸ĵçıŃ": 116838, + "ä½ĵåŀĭ": 116839, + "被害": 116840, + "被害人": 116841, + "æĶ¶æ¬¾": 116842, + "åħ·æľīèī¯å¥½": 116843, + "é«ĺå³°æľŁ": 116844, + "åģıä½İ": 116845, + "åĦŁ": 116846, + "åĨľä¸ļç§ijæĬĢ": 116847, + "ç®ĬæĥħåĨµ": 116848, + "å¦Ĥæŀľçݩ家": 116849, + "éķ¿çº¦": 116850, + "第åħŃå±Ĭ": 116851, + "åħ¬å¼ĢæĭĽèģĺ": 116852, + "åĪĩæĸŃ": 116853, + "迫使": 116854, + "çĸĹç¨ĭ": 116855, + "第äºĮç§į": 116856, + "ä¸įåħį": 116857, + "å¹²èѦ": 116858, + "çŁ³æ¦´": 116859, + "åĹ£": 116860, + "两类": 116861, + "çε士": 116862, + "åŁİ乡å±ħæ°ij": 116863, + "æŃ¤é¡¹": 116864, + "缴è¾ĸ": 116865, + "缴è¾ĸå¸Ĥ": 116866, + "åij¼åºĶ": 116867, + "éĴ¯": 116868, + "ç¦ıå¾·": 116869, + "æľºèº«": 116870, + "æĵįåľº": 116871, + "æ¿Ĵ临": 116872, + "人群ä¸Ń": 116873, + "èĤ¡æ°ij": 116874, + "åѽ": 116875, + "æ³ķåħ°": 116876, + "é¨İ": 116877, + "糯米": 116878, + "æĢ»çļĦ": 116879, + "æĢ»çļĦæĿ¥è¯´": 116880, + "åħ¸éĽħ": 116881, + "æĸ°éĻĪ": 116882, + "æĸ°éĻĪ代谢": 116883, + "缮çĿ¹": 116884, + "é¢Ħè¨Ģ": 116885, + "è·Įçł´": 116886, + "æĸ°ç¯ĩ竳": 116887, + "æ¯ĴæĢ§": 116888, + "åĸĿèĮ¶": 116889, + "æŁ¥èİ·": 116890, + "亮丽": 116891, + "çĶŁäº§åķĨ": 116892, + "æĶ¹æĪIJ": 116893, + "为äºĨæĽ´å¥½": 116894, + "深交": 116895, + "深交æīĢ": 116896, + "æİĥ": 116897, + "ä¹ĻèĤĿ": 116898, + "泸å·ŀ": 116899, + "åħĪè¿ĽæĬĢæľ¯": 116900, + "è¾ĵç»Ļ": 116901, + "æķ£æĪ·": 116902, + "æĢĿç»´æĸ¹å¼ı": 116903, + "åºĹ主": 116904, + "è°ĭæ±Ĥ": 116905, + "游æĪıæĬĢå·§": 116906, + "ä¸Ģ年级": 116907, + "çľ¼è§Ĵ": 116908, + "ä¸Ńä»ĭæľºæŀĦ": 116909, + "å·§åIJĪ": 116910, + "éĺ²çĽĹ": 116911, + "导è´Ń": 116912, + "æĪĬ": 116913, + "æĽ´éĢĤåIJĪ": 116914, + "åŁºæľ¬ä¿¡æģ¯": 116915, + "马ä¸ģ": 116916, + "åħ»æ®ĸåľº": 116917, + "åıįè¿ĩæĿ¥": 116918, + "æİ¨å´ĩ": 116919, + "å¯ĨåĪĩåħ³æ³¨": 116920, + "åŁºéĩijç»ıçIJĨ": 116921, + "æĮīéĶ®": 116922, + "åĨħéĥ¨æİ§åζ": 116923, + "æĪIJåijĺåįķä½į": 116924, + "æľ¯è¯Ń": 116925, + "åζæľį": 116926, + "åĪļéľĢ": 116927, + "æ£Ģç´¢": 116928, + "大大æıIJé«ĺ": 116929, + "åģ¥åº·ç®¡çIJĨ": 116930, + "èĩªæŃ¤": 116931, + "客æĪ·éľĢæ±Ĥ": 116932, + "丰èĥ¸": 116933, + "èµ·éĩį": 116934, + "èµ·éĩįæľº": 116935, + "æ¬łç¼º": 116936, + "æ¡ĪåŃIJ": 116937, + "æĥħ人èĬĤ": 116938, + "åħļæł¡": 116939, + "è¢ľ": 116940, + "该åī§": 116941, + "è¿·å¤±ä¼łå¥ĩ": 116942, + "ç»ļ丽": 116943, + "åķª": 116944, + "æĹłç§ģ": 116945, + "é̲ä¸ĢæŃ¥": 116946, + "第ä¸Ģ竳": 116947, + "åύåħ·": 116948, + "åĨľèµĦ": 116949, + "確實": 116950, + "åºıåĪĹ": 116951, + "娱ä¹IJå¹³åı°": 116952, + "èŀįèµĦç§Łèµģ": 116953, + "èµĦæºIJåħ±äº«": 116954, + "èģ½åΰ": 116955, + "æIJŀå¾Ĺ": 116956, + "ç»§ç»Ńä¿ĿæĮģ": 116957, + "åIJ¯èĴĻ": 116958, + "çľº": 116959, + "ä¸Ŀè·¯": 116960, + "设æĸ½å»ºè®¾": 116961, + "æİ¥åľ°": 116962, + "æİ¥åľ°æ°Ķ": 116963, + "第ä¸īåŃ£åº¦": 116964, + "åŁºè°ĥ": 116965, + "åıijéŁ³": 116966, + "社ä¼ļèµĦæľ¬": 116967, + "éĽĩ主": 116968, + "è¿ŀèĥľ": 116969, + "没åķ¥": 116970, + "廢": 116971, + "èµ¶èµ´": 116972, + "æ¼ĶåĮĸ": 116973, + "åı¤æĢª": 116974, + "çİĭçĪ·": 116975, + "é¢ĦåħĪ": 116976, + "å¼Ģåħ·": 116977, + "åĽŀé¦ĸ": 116978, + "åľ°ä¸ĭæ°´": 116979, + "å°ıç¼ĸä¸Ģèµ·": 116980, + "èµİåĽŀ": 116981, + "åľ°è²Į": 116982, + "åĪĿä¸ī": 116983, + "åı¯ç͍äºİ": 116984, + "éģĹ迹": 116985, + "è¿Ļæī¹": 116986, + "èĸªæ°´": 116987, + "å¿ħçĦ¶ä¼ļ": 116988, + "æ²½": 116989, + "éįĭ": 116990, + "第ä¸Ģéĥ¨": 116991, + "åĪĬçī©": 116992, + "å®ŀä¾ĭ": 116993, + "æ¸ħåĩĢ": 116994, + "ä¸ĬèµĽåŃ£": 116995, + "åĽ¾è¡¨": 116996, + "éĤ®è½®": 116997, + "åĵªè£¡": 116998, + "缸è§ģ": 116999, + "æī°ä¹±": 117000, + "æ¯ıæ¯ı": 117001, + "è¿Ļè¾ĪåŃIJ": 117002, + "ç¡«éħ¸": 117003, + "äºī缸": 117004, + "溯æºIJ": 117005, + "åĩºä¼Ĺ": 117006, + "çİīçŁ³": 117007, + "åħ±çĶŁ": 117008, + "æĹ¶éĹ´æ®µ": 117009, + "éĩįè¦ģæĮĩ示": 117010, + "æ¶Īè´¹éľĢæ±Ĥ": 117011, + "éķ¿éķ¿": 117012, + "éķ¿éķ¿çļĦ": 117013, + "å®īæĬļ": 117014, + "å¢ŀé«ĺ": 117015, + "æľ¬è½®": 117016, + "äº²çľ¼": 117017, + "é£İæ³¢": 117018, + "èĢģå¦Ī": 117019, + "æĶ¶è´¹æłĩåĩĨ": 117020, + "åĨħéĻĨ": 117021, + "æĮ¥åıij": 117022, + "åįĩåѦ": 117023, + "èĥ¸åīį": 117024, + "åģıè¿ľ": 117025, + "纯æ´ģ": 117026, + "æĸ½å·¥åįķä½į": 117027, + "身价": 117028, + "è´¢åĬĽ": 117029, + "纶": 117030, + "è£ħçͲ": 117031, + "æĺ¾ç¤ºåύ": 117032, + "毫åįĩ": 117033, + "æ·±çŁ¥": 117034, + "è̶ç©": 117035, + "è̶ç©Į": 117036, + "è¾ĥéĩı": 117037, + "åľ¨è¿ĩ渡": 117038, + "åľ¨è¿ĩæ¸¡æľŁ": 117039, + "èĮĹ": 117040, + "ä¸Ģ个æĺŁæľŁ": 117041, + "èĬ·": 117042, + "è´¿èµĤ": 117043, + "æ¿ķ": 117044, + "æĩĤäºĭ": 117045, + "ç§§": 117046, + "åħħå½ĵ": 117047, + "åĽ½ç«ĭ": 117048, + "èĬ±çĵ£": 117049, + "éĤĦè¦ģ": 117050, + "åħ¬åľĴ": 117051, + "触åĬ¨": 117052, + "æ³°å·ŀ": 117053, + "ä»Ģä¹Īæł·": 117054, + "æ»ĭåħ»": 117055, + "è¯ĦåΤ": 117056, + "æĮ¥æīĭ": 117057, + "èĦĪ": 117058, + "姥姥": 117059, + "è¿IJè´¹": 117060, + "æ¯ħåĬĽ": 117061, + "å¿ĥæĻº": 117062, + "ä¸įæİĴéϤ": 117063, + "第ä¸ī代": 117064, + "éĢĢè´§": 117065, + "æĺŁéĻħ": 117066, + "æ°¸åĪ©": 117067, + "æĬ¤åį«": 117068, + "çıŃ车": 117069, + "è¨Ģè¡Į": 117070, + "繪": 117071, + "主åĬ¨æĢ§": 117072, + "å·¥ç¨ĭè´¨éĩı": 117073, + "éĥĬåĮº": 117074, + "ä¸Ģæłĭ": 117075, + "ä½Ĩå®ŀéĻħä¸Ĭ": 117076, + "ä¸ī大èģĮä¸ļ": 117077, + "åij¼åı«": 117078, + "女åħĴ": 117079, + "è¯ģåΏæĬķèµĦ": 117080, + "èĢĥæħ®": 117081, + "çĤ«èĢĢ": 117082, + "治好": 117083, + "åĺ¶": 117084, + "èĥ¤": 117085, + "åħīä¼ıåıijç͵": 117086, + "åĩłæŃ¥": 117087, + "æīĢæīĢ": 117088, + "æīĢæīĢéķ¿": 117089, + "çħ§æł·": 117090, + "åĵ¥ä»¬": 117091, + "è¯Ľ": 117092, + "è¿Ļä¸ĢåĪ»": 117093, + "çŁ¿çī©è´¨": 117094, + "ä¸įå¾Ĺå·²": 117095, + "åIJĮ缣": 117096, + "ç»Ĩå¾®": 117097, + "è·¯èĻİ": 117098, + "çϾèĬ±": 117099, + "æ··æ²Į": 117100, + "ä¸Ĭæµ·è¯ģåΏ": 117101, + "éĢĢç¨İ": 117102, + "èµŀåı¹": 117103, + "æī®æ¼Ķ游æĪı": 117104, + "åIJįåĪĹ": 117105, + "åIJįåĪĹåīį": 117106, + "åIJįåĪĹåīįèĮħ": 117107, + "ç±³å°Ķ": 117108, + "ä»Ģä¹ĪåİŁåĽł": 117109, + "å®īåħ¨ä¿Ŀéļľ": 117110, + "ä¸Ģåıªæīĭ": 117111, + "ä¹³ä¸ļ": 117112, + "ä¸įçĶĺ": 117113, + "æĥħåķĨ": 117114, + "æĮ¡ä½ı": 117115, + "åİŁåĽłä¹ĭä¸Ģ": 117116, + "è¿Ļ两天": 117117, + "çĥĺçĦĻ": 117118, + "豬": 117119, + "ä½łä»¥ä¸º": 117120, + "没è§ģè¿ĩ": 117121, + "åĵªå®¶å¥½": 117122, + "åīįä»»": 117123, + "è¿Ľè´§": 117124, + "éĢĢåĽŀ": 117125, + "串èģĶ": 117126, + "èĩ³æĸ¼": 117127, + "åĨ°æ·ĩ": 117128, + "åĨ°æ·ĩæ·ĭ": 117129, + "æŁ¥çľĭ详æĥħ": 117130, + "çı¾å¯¦": 117131, + "æİ¨æµĭ": 117132, + "æİ¥æīĭ": 117133, + "éļ¶å±ŀäºİ": 117134, + "åŁİå¸Ĥ群": 117135, + "æĿİåħĪçĶŁ": 117136, + "çŁ¿æ³īæ°´": 117137, + "çī¹ä»·": 117138, + "æĽ´å¤ļ精彩": 117139, + "ç¨ĭå¼ı": 117140, + "读æĩĤ": 117141, + "å±ıèͽ": 117142, + "奥æŀĹ": 117143, + "奥æŀĹåĮ¹": 117144, + "奥æŀĹåĮ¹åħĭ": 117145, + "红èĸ¯": 117146, + "奮": 117147, + "å®Ŀçİī": 117148, + "網絡": 117149, + "è²§": 117150, + "欧å¼ı": 117151, + "çϽç³ĸ": 117152, + "èĩªçĦ¶çģ¾å®³": 117153, + "åijĬè¯ī她": 117154, + "å»ļ": 117155, + "çĤ¹åĩ»æŁ¥çľĭ": 117156, + "é£İ湿": 117157, + "èµĦ产éĩįç»Ħ": 117158, + "ä¹Łä¸įä¾ĭå¤ĸ": 117159, + "åįĬ个å°ıæĹ¶": 117160, + "åIJ¸å¼ķæĽ´å¤ļ": 117161, + "æĹ¶éĹ´èĬĤçĤ¹": 117162, + "æĶ¶çº³": 117163, + "åIJ¸æ¯Ĵ": 117164, + "èĢģ乡": 117165, + "çIJħ": 117166, + "æľĢçµĤ": 117167, + "åıįæĦŁ": 117168, + "çĶ¨å¾®ä¿¡": 117169, + "çĶ¨å¾®ä¿¡æī«": 117170, + "éĢŁçİĩ": 117171, + "大çĨĬçĮ«": 117172, + "åı¯æĥ³": 117173, + "åı¯æĥ³èĢĮ": 117174, + "åı¯æĥ³èĢĮçŁ¥": 117175, + "åĴ§": 117176, + "èµ°åħ¥": 117177, + "碳éħ¸": 117178, + "èĮĥåĨ°": 117179, + "èĮĥåĨ°åĨ°": 117180, + "被åΤ": 117181, + "积æŀģæİ¨åĬ¨": 117182, + "足足": 117183, + "ç²ĴåŃIJ": 117184, + "大å®Ĺ": 117185, + "大å®ĹåķĨåĵģ": 117186, + "ç½ij绾ç§ijæĬĢ": 117187, + "æĽ¼åŁİ": 117188, + "å·²ä¹ħ": 117189, + "å·²ä¹ħçļĦ": 117190, + "秦çļĩ": 117191, + "秦çļĩå²Ľ": 117192, + "ä»»æķĻ": 117193, + "å͝ç¾İ": 117194, + "æ·¡åĮĸ": 117195, + "æ¡ĤèĬ±": 117196, + "çŁ¥è¯ĨåĪĨåŃIJ": 117197, + "æĩĴå¾Ĺ": 117198, + "主åħ¬": 117199, + "设计çIJĨ念": 117200, + "賺": 117201, + "æīĢæıIJä¾Ľ": 117202, + "æīĢæıIJä¾Ľä¹ĭ": 117203, + "æĶ»åħĭ": 117204, + "åĤ¾": 117205, + "è¯Ńæ³ķ": 117206, + "åįĥåı¤": 117207, + "éĸĭæĶ¾": 117208, + "第ä¸ĢèĬĤ": 117209, + "éĤĦæ²Ĵ": 117210, + "éĢĥçĶŁ": 117211, + "æ³Ĺ": 117212, + "åİ¿å§Ķ书记": 117213, + "ä½ľèĢħæīĢæľī": 117214, + "çħ½": 117215, + "ç»ħ": 117216, + "æłħ": 117217, + "æľ´ç´ł": 117218, + "çijķçĸµ": 117219, + "åĮħåĮħ": 117220, + "æ°ij主åħļ": 117221, + "ä¸įè¿ľå¤Ħ": 117222, + "å¥ĩå¼Ĥ": 117223, + "åĺ»åĺ»": 117224, + "æī¼": 117225, + "ç¿»å¼Ģ": 117226, + "æĢİèĥ½": 117227, + "éģ´éĢī": 117228, + "è§£éĩĭ": 117229, + "å¹¼ç¨ļ": 117230, + "è¦ģ好好": 117231, + "è¶´åľ¨": 117232, + "ç´¢åıĸ": 117233, + "ç»ĪçĶŁ": 117234, + "åħ¨æµģç¨ĭ": 117235, + "éģ©çķ¶": 117236, + "åįıè°ĥåıijå±ķ": 117237, + "æĬ¥ä»ĩ": 117238, + "ç§ijæĬĢåĽŃ": 117239, + "ä»Ģä¹Īéĥ½ä¸į": 117240, + "æľĢåIJİä¸Ģ次": 117241, + "ç»Ļ人ä¸Ģç§į": 117242, + "æł¸å®ļ": 117243, + "被åĪĹåħ¥": 117244, + "æĦıæĥ³ä¸įåΰ": 117245, + "èĢĥæŁ¥": 117246, + "åľ¨æŃ¤ä¹ĭåīį": 117247, + "æīĵçIJĥ": 117248, + "è¶ĬæĿ¥è¶Ĭå°ij": 117249, + "å®ļå¾ĭ": 117250, + "è¡ĮæĶ¿æľºåħ³": 117251, + "ä½ıæĪ¿åħ¬ç§¯": 117252, + "å°ıå§IJå§IJ": 117253, + "ä¸īèı±": 117254, + "修补": 117255, + "èŀĥèŁ¹": 117256, + "西çͲ": 117257, + "æĢł": 117258, + "çŃīå¤ļ项": 117259, + "产ä¸ļéĽĨèģļ": 117260, + "ä»·æł¼ä¸Ĭ涨": 117261, + "åħ¬åħ±åľºæīĢ": 117262, + "è¢ĭåŃIJ": 117263, + "æĨ§æĨ¬": 117264, + "çļĦæĸ¹å¼ıæĿ¥": 117265, + "åĪ°è´¦": 117266, + "çģ½": 117267, + "å·´èı²": 117268, + "å·´èı²çī¹": 117269, + "æ¼Ķä¹ł": 117270, + "èŃ¦ç¤ºæķĻèĤ²": 117271, + "çķıæĥ§": 117272, + "å¼ķæµģ": 117273, + "æĶ¶æĶ¯": 117274, + "å±Ĥåĩº": 117275, + "å±Ĥåĩºä¸į": 117276, + "å±Ĥåĩºä¸įç©·": 117277, + "æijĩæ»ļ": 117278, + "辦çIJĨ": 117279, + "纵è§Ĥ": 117280, + "æķijæµİ": 117281, + "å®¶éĥ½çŁ¥éģĵ": 117282, + "åĮ¯": 117283, + "å°ı鸣": 117284, + "ä»»åĭĻ": 117285, + "计åħ¥": 117286, + "ç«ŀéĢī": 117287, + "å¼ĢèįĴæĹ¶æľŁ": 117288, + "åij¨æģ©": 117289, + "åij¨æģ©æĿ¥": 117290, + "交ç»ĩ": 117291, + "çķ¢æ¥Ń": 117292, + "æł¹æį®èĩªå·±": 117293, + "æĸ°äººçݩ家": 117294, + "åѵåĮĸåύ": 117295, + "éĩĩæļĸ": 117296, + "å¹³åĿĩæ°´å¹³": 117297, + "åħ¬å¼Ģ课": 117298, + "失åĪ©": 117299, + "伺æľį": 117300, + "çĬģ": 117301, + "忽æĤł": 117302, + "主è¦ģéĽĨä¸Ń": 117303, + "æ¤įæłij": 117304, + "æ¯ĹéĤ»": 117305, + "èĩºçģ£": 117306, + "åĩºåĽ½çķĻåѦ": 117307, + "æĬĹéľĩ": 117308, + "æĥ©æĪĴ": 117309, + "å¹´åºķåīį": 117310, + "åĴ¸éĺ³": 117311, + "æ°ijå±ħ": 117312, + "大çIJĨçŁ³": 117313, + "éĿ³": 117314, + "éķĸ": 117315, + "æ¸ħè¿ľ": 117316, + "è£ħè½½": 117317, + "èĩĢ": 117318, + "å½±ä¸ļ": 117319, + "å¼ŁåħĦ": 117320, + "æĤ²è§Ĥ": 117321, + "çĿĢçľ¼äºİ": 117322, + "æįįåį«": 117323, + "åī¥å¤º": 117324, + "ç¯Ĩ": 117325, + "å¾Īéķ¿æĹ¶éĹ´": 117326, + "è¥Ł": 117327, + "第ä¸ĢçϾ": 117328, + "ä¸ĢåĪĨéĴ±": 117329, + "æĸ°éĹ»è®°èĢħ": 117330, + "éķ·æľŁ": 117331, + "æ³ķæĪĺç»ĦåIJĪ": 117332, + "è°ģçŁ¥éģĵ": 117333, + "èħ°éĥ¨": 117334, + "æ±īåł¡": 117335, + "åħ¥çĿ¡": 117336, + "åįĸæİī": 117337, + "æ¶Īè²»èĢħ": 117338, + "æĥ¯ä¾ĭ": 117339, + "æĥ³äºĨ": 117340, + "æĥ³äºĨæĥ³": 117341, + "èĢģæĹ§å°ıåĮº": 117342, + "ä¼łè¨Ģ": 117343, + "åĪĨæķ°çº¿": 117344, + "æµģ泪": 117345, + "ç»Ħç»ĩé¢Ĩ导": 117346, + "äºļåĨĽ": 117347, + "å¢ŀå̼æľįåĬ¡": 117348, + "å¾¹": 117349, + "ä¼¶": 117350, + "äºĽè®¸": 117351, + "å¸ĥèݱ": 117352, + "强æĤį": 117353, + "宫廷": 117354, + "绿èĮ¶": 117355, + "åĮ¡": 117356, + "å¾ĪæŃ£å¸¸": 117357, + "æĺ¥å¤ı": 117358, + "æ¯Ļ": 117359, + "è¯Ħæ¯Ķ": 117360, + "åĩ¡äºĭ": 117361, + "æĬīæĭ©": 117362, + "åĢĴéľī": 117363, + "éĩį度": 117364, + "åįıä¼ļä¼ļéķ¿": 117365, + "å¿§èĻij": 117366, + "ä¸ĭä¸Ģç¯ĩ": 117367, + "沪深": 117368, + "æĪİ": 117369, + "æīĵä»Ĺ": 117370, + "åįĪé¥Ń": 117371, + "å¹´é¾Ħ段": 117372, + "ä¸ŃåĽ½è¶³çIJĥ": 117373, + "设计æĸ¹æ¡Ī": 117374, + "åºĶçĶ¨æŁ¥çľĭ": 117375, + "é¢ĦæĸĻ": 117376, + "åĹ¡": 117377, + "ç¥ĸçζ": 117378, + "çļĦä¸Ģåijĺ": 117379, + "æ´Ĺå¹²åĩĢ": 117380, + "åİĨåı²æĸ°": 117381, + "åİĨåı²æĸ°é«ĺ": 117382, + "çĭ¬åħ·": 117383, + "æħĭ度": 117384, + "æīĵ交": 117385, + "æīĵ交éģĵ": 117386, + "é»ĦçŁ³": 117387, + "çĽ¼æľĽ": 117388, + "çī§åľº": 117389, + "转弯": 117390, + "åįĩåįİ": 117391, + "åĨįä¹Łæ²¡æľī": 117392, + "èĭ±æīį": 117393, + "æĽ´åIJį为": 117394, + "åĢŁç͍": 117395, + "çºłéĶĻ": 117396, + "ç»Ŀ对ä¸įä¼ļ": 117397, + "çİĭçīĮ": 117398, + "çĽĨåľ°": 117399, + "失è°ĥ": 117400, + "好象": 117401, + "é³¥": 117402, + "ä¿Ŀä¿®": 117403, + "åĽĽä¸ªèĩªä¿¡": 117404, + "头çļ®": 117405, + "åİŁåīĩ": 117406, + "æĬ¥æ¡Ī": 117407, + "奴éļ¶": 117408, + "å³Ļ": 117409, + "è°ĥæĸĻ": 117410, + "ä¹Łè¨±": 117411, + "èIJ½åΰ": 117412, + "èIJ½åΰå®ŀ": 117413, + "èIJ½åΰå®ŀå¤Ħ": 117414, + "çĦļçĥ§": 117415, + "çĶŁæ´»çݯå¢ĥ": 117416, + "åºĶåıĬæĹ¶": 117417, + "è¶Ĭè¿ĩ": 117418, + "æĦŁè¬Ŀ": 117419, + "æĻ¯å¾·": 117420, + "æĻ¯å¾·éķĩ": 117421, + "çĬĢ": 117422, + "身éĤĬ": 117423, + "ç¨İåĬ¡æĢ»å±Ģ": 117424, + "åĩĢåľŁ": 117425, + "ä¾µåįł": 117426, + "åĬ¨å·¥": 117427, + "å¹´ä¹ĭ": 117428, + "å¹´ä¹ĭä¹ħ": 117429, + "第äºĮèĬĤ": 117430, + "åĬ¨çī©åĽŃ": 117431, + "第ä¸Ģ书记": 117432, + "éħļ": 117433, + "çĶŁäº§è®¾å¤ĩ": 117434, + "æŁIJç§įç¨ĭ度": 117435, + "åľŃ": 117436, + "åĩŃåĢŁçĿĢ": 117437, + "éĺħè§Ī": 117438, + "çϽæ²Ļ": 117439, + "æ²¹çĥŁ": 117440, + "çªģçł´åı£": 117441, + "åıĹå½±åĵį": 117442, + "åı¯ä»¥æĽ´å¥½": 117443, + "å³°å̼": 117444, + "æĿĤè´¨": 117445, + "宿è¿ģ": 117446, + "çĽĺæ´»": 117447, + "æ¿Ģèµ·": 117448, + "åĦ¿ç§ij": 117449, + "åĿIJèIJ½åľ¨": 117450, + "æĮªå¨ģ": 117451, + "æµ·å²Ľ": 117452, + "绣绣": 117453, + "éύ": 117454, + "ä¼ĺäºİ": 117455, + "å°Īå®¶": 117456, + "ä¸ĢéĤĬ": 117457, + "èIJĬ": 117458, + "äºĨä¸Ģåı£": 117459, + "æ²ĥå°Ķæ²ĥ": 117460, + "æŃ£å¸¸ä½¿ç͍": 117461, + "æĻ®éģįåŃĺåľ¨": 117462, + "丰满": 117463, + "çĶ»åį·": 117464, + "åºĶæĶ¶": 117465, + "åºĶæĶ¶è´¦": 117466, + "åºĶæĶ¶è´¦æ¬¾": 117467, + "å®Įæķ´çĥŃ": 117468, + "å®Įæķ´çĥŃæ¦ľ": 117469, + "注è§Ĩ": 117470, + "çĨĦ": 117471, + "躬": 117472, + "éĶĢåĶ®äººåijĺ": 117473, + "è¶ĭåIJij": 117474, + "çĦ¦æĢ¥": 117475, + "åįģå¹´åīį": 117476, + "ä¼łç»Łäº§ä¸ļ": 117477, + "質éĩı": 117478, + "åĩ¤åĩ°ç½ij": 117479, + "èµĦæºIJæķ´åIJĪ": 117480, + "æ¶Įåħ¥": 117481, + "æĸĩåĮĸä¼łæĴŃ": 117482, + "çķĮ第ä¸Ģ": 117483, + "æ°´æ³µ": 117484, + "宫殿": 117485, + "æİ¢å¯»": 117486, + "ä¿®åīª": 117487, + "æĦıè¦ĭ": 117488, + "ç´Ĭä¹±": 117489, + "æĽī": 117490, + "çĻ½è¡£": 117491, + "èĻİåį«": 117492, + "ç´§æī£": 117493, + "å¤Ħå¤Ħéķ¿": 117494, + "åĪĽå»ºå·¥ä½ľ": 117495, + "红æŀ£": 117496, + "饼干": 117497, + "äºĨåįĬ天": 117498, + "ä¼ļå½±åĵįåΰ": 117499, + "çĽ¸ä¿¡å¤§å®¶": 117500, + "èħ¾é£ŀ": 117501, + "å°±å¦ĤåIJĮ": 117502, + "ä¸ĭéĿ¢å°ıç¼ĸ": 117503, + "æ°ijèIJ¥ç»ıæµİ": 117504, + "æĻ¦": 117505, + "è£ħæī®": 117506, + "é»ijå¤ľ": 117507, + "常德": 117508, + "å·¥ä¸ļ大åѦ": 117509, + "æĺİçŁ¥": 117510, + "éĺŁåijĺ们": 117511, + "åIJ¬è¯¾": 117512, + "æ¯ıéļĶ": 117513, + "羣æĺ¯å¤ª": 117514, + "åIJĪä½ľåħ±èµ¢": 117515, + "çIJĨåıij": 117516, + "æīįå¹²": 117517, + "çľĭèµ·ä¾Ĩ": 117518, + "殿ä¸ĭ": 117519, + "å®īéĺ³": 117520, + "æīĢ产çĶŁçļĦ": 117521, + "éĽĩä½£": 117522, + "æĬ¬èµ·å¤´": 117523, + "æį®æĬ¥éģĵ": 117524, + "éļĨéĩį举è¡Į": 117525, + "交éĶĻ": 117526, + "è¶ħé¢Ŀ": 117527, + "åĮĸçĸĹ": 117528, + "é¡Ĩ": 117529, + "纵深": 117530, + "çĪ±åĽ½ä¸»ä¹ī": 117531, + "éĻ¢åī¯éĻ¢éķ¿": 117532, + "讳": 117533, + "羣æŃ£åģļåΰ": 117534, + "åѤåįķ": 117535, + "èĩªçĦ¶èĢĮ": 117536, + "èĩªçĦ¶èĢĮçĦ¶": 117537, + "修身": 117538, + "èĬ¹": 117539, + "æģ¯æģ¯": 117540, + "æģ¯æģ¯çĽ¸åħ³": 117541, + "é©¾æł¡": 117542, + "æİ©é¥°": 117543, + "æ³½è¿ŀ": 117544, + "æ³½è¿ŀæĸ¯åŁº": 117545, + "举æŃ¢": 117546, + "管çIJĨä½ĵåζ": 117547, + "åħ¶ä¸Ńä¹ĭä¸Ģ": 117548, + "æĿ¾å¼Ľ": 117549, + "æĭ¦æĪª": 117550, + "åį«åģ¥": 117551, + "åį«åģ¥å§Ķ": 117552, + "ä»İåݻ年": 117553, + "åĤ¢": 117554, + "è´Ń票": 117555, + "åĽ¾æłĩ": 117556, + "河西": 117557, + "æ°ijæĶ¿å±Ģ": 117558, + "ç§ģèIJ¥": 117559, + "å¤ĸåĽ½è¯Ń": 117560, + "干货": 117561, + "æĵ¦æĭŃ": 117562, + "åľ°ä¸Ń": 117563, + "åľ°ä¸Ńæµ·": 117564, + "æµĵæµĵ": 117565, + "æµĵæµĵçļĦ": 117566, + "å§ĭ建": 117567, + "å§ĭ建äºİ": 117568, + "ç¶ĵæŃ·": 117569, + "è·¯æ¼Ķ": 117570, + "æļ´é£İ": 117571, + "åŁºè¾ħ": 117572, + "æī¶è´«å·¥ä½ľ": 117573, + "ä¸Ģ缴å¤Ħäºİ": 117574, + "æĥħè¶£": 117575, + "äºĮåŃ£åº¦": 117576, + "åİĮæģ¶": 117577, + "顺åĪ©å®ĮæĪIJ": 117578, + "æŁ¥å°ģ": 117579, + "顶端": 117580, + "ä¸įåŃķ": 117581, + "ä¸Ģ大åłĨ": 117582, + "被æ·ĺæ±°": 117583, + "æĺ¯ç͍æĿ¥": 117584, + "æľĢåIJĪéĢĤ": 117585, + "äº®çľ¼": 117586, + "å¹¶ä¸įæĺ¯å¾Ī": 117587, + "ç§ijçłĶéĻ¢": 117588, + "ç§ijçłĶéĻ¢æīĢ": 117589, + "ç²Ł": 117590, + "é¢Īéĥ¨": 117591, + "é»ĺé»ĺåľ°": 117592, + "é«ĺä¸ŃçĶŁ": 117593, + "æĹıèĩªæ²»åİ¿": 117594, + "æķĻåŃ¦è´¨éĩı": 117595, + "æĪĺçģ«": 117596, + "åĿİåĿ·": 117597, + "æIJŃä¹ĺ": 117598, + "è¯ĹæĦı": 117599, + "åĪijèѦ": 117600, + "åĩºæ±Ĺ": 117601, + "åįģåħŃæĿ¡": 117602, + "请åıĬæĹ¶": 117603, + "åĨľä¸ļ大åѦ": 117604, + "èIJ½åı¶": 117605, + "æĢ»èĢĮè¨Ģ": 117606, + "æĢ»èĢĮè¨Ģä¹ĭ": 117607, + "æĿľåħ°": 117608, + "æĿľåħ°çī¹": 117609, + "éĻªä½ł": 117610, + "åħ¬æĬ¥": 117611, + "çķĻè¨ĢæĿ¿": 117612, + "éĺħåİĨ": 117613, + "ç«¶çĪŃ": 117614, + "ç»ĻåĪ«äºº": 117615, + "æĹ¥æĬ¥ç¤¾": 117616, + "åĿIJèIJ½": 117617, + "åĿIJèIJ½äºİ": 117618, + "éĩijåŃĹ": 117619, + "éĩijåŃĹå¡Ķ": 117620, + "åĽ¤": 117621, + "è¯Ŀåī§": 117622, + "æĮģç»Ńæİ¨è¿Ľ": 117623, + "æ¼ıæ°´": 117624, + "詳細": 117625, + "æĢĢæĬ±": 117626, + "åıĺå¹»": 117627, + "饥饿": 117628, + "éļIJ身": 117629, + "ä¸ªèµĽåŃ£": 117630, + "åĵ¡å·¥": 117631, + "æģ¢å¤įæŃ£å¸¸": 117632, + "äºĨ好å¤ļ": 117633, + "æĺŁå·´": 117634, + "æĺŁå·´åħĭ": 117635, + "åħīçݯ": 117636, + "å¸ħåĵ¥": 117637, + "çĻ½éĽª": 117638, + "ç¨įç¨į": 117639, + "计æıIJ": 117640, + "æĦĽæĥħ": 117641, + "éİĸ": 117642, + "ä¿¡éĺ³": 117643, + "è§Ģå¯Ł": 117644, + "å¦Ĥæŀľä½łæĥ³": 117645, + "缸æ¯Ķä¹ĭä¸ĭ": 117646, + "è§£å¼Ģ": 117647, + "æīĵåį°æľº": 117648, + "身躯": 117649, + "ç²¾ç¥ŀæĸĩæĺİ": 117650, + "èĤ¡æĮĩ": 117651, + "å¾®åĪĽ": 117652, + "红èĮ¶": 117653, + "èĩ´çĻĮ": 117654, + "æģ©æĸ½": 117655, + "èħ¿éĥ¨": 117656, + "大åŀĭå¤ļ人": 117657, + "å®īåĢį": 117658, + "è¾ħ导åijĺ": 117659, + "èĪªéģĵ": 117660, + "å¸ĥå°Ķ": 117661, + "åįĹå®ģå¸Ĥ": 117662, + "ä¸ĬçıŃæĹı": 117663, + "ä¾§ç»ĵæŀĦæĢ§": 117664, + "追éļı": 117665, + "å½ĵåľ°æĶ¿åºľ": 117666, + "èµ°åĩºæĿ¥": 117667, + "éĩijèŀįä¸ļ": 117668, + "ä¸Ľä¹¦": 117669, + "é¡¹çĽ®ç»ıçIJĨ": 117670, + "è¿ĩæĪ·": 117671, + "骨æŀ¶": 117672, + "è¡Ļ": 117673, + "ä»Ģ麽": 117674, + "èħĭ": 117675, + "è¦ģ害": 117676, + "åľ¨åºĬä¸Ĭ": 117677, + "代è¨Ģ人": 117678, + "並å°ĩ": 117679, + "åIJĦ个æĸ¹éĿ¢": 117680, + "è°´è´£": 117681, + "åħ±æĮ¯": 117682, + "åį³å°ĨåΰæĿ¥": 117683, + "èĤºçĻĮ": 117684, + "ä¾ĽéĶĢ": 117685, + "丼æŀĹ": 117686, + "èµĥ": 117687, + "åįģä½Ļå¹´": 117688, + "åĭĺæİ¢": 117689, + "飵åij³": 117690, + "èĭ¦ç¬ij": 117691, + "æľĢ大ç¨ĭ度": 117692, + "éĩįçĤ¹åħ³æ³¨": 117693, + "ä¹ĭ举": 117694, + "满æĢĢ": 117695, + "åıĹåΰ影åĵį": 117696, + "æĭĽæĬķæłĩ": 117697, + "è¡¥é½IJ": 117698, + "西红": 117699, + "è¥¿çº¢æŁ¿": 117700, + "鬧": 117701, + "è£ħåį¸": 117702, + "éĤ»éĩĮ": 117703, + "èĤĩäºĭ": 117704, + "æİĴæ¯Ĵ": 117705, + "åѤåĦ¿": 117706, + "鼶è·Ŀ离": 117707, + "å®ŀå¹²": 117708, + "çľĭæŁ¥çľĭ": 117709, + "æĶ¶è´¹ç«Ļ": 117710, + "ç»·": 117711, + "åħ¬çĽĬæĢ§": 117712, + "éĢĴç»Ļ": 117713, + "æĶ»æīĵ": 117714, + "æĺŁçº§éħĴåºĹ": 117715, + "æĺİåªļ": 117716, + "çį¨ç«ĭ": 117717, + "è¯Ŀè¯ŃæĿĥ": 117718, + "ä¸ĢæŃ¥ä¸ĢæŃ¥": 117719, + "书æ³ķå®¶": 117720, + "æľªç»ıæİĪæĿĥ": 117721, + "çŁ³èĨı": 117722, + "åĩŃä»Ģä¹Ī": 117723, + "çļĦæĹ¥": 117724, + "çļĦæĹ¥åŃIJéĩĮ": 117725, + "诱人": 117726, + "çϾåĪĨçϾ": 117727, + "èĪĪè¶£": 117728, + "å¼łåħĪçĶŁ": 117729, + "èĢģçĪ·åŃIJ": 117730, + "æ³¢çī¹": 117731, + "åŁºéĩij份é¢Ŀ": 117732, + "æ²Ļåıijä¸Ĭ": 117733, + "å¥ĭæĸĹ缮æłĩ": 117734, + "æ°¢èĥ½": 117735, + "æ²ĥå°ĶçİĽ": 117736, + "義åĭĻ": 117737, + "éŁ³ç®±": 117738, + "æ²ī浸": 117739, + "æ²īæµ¸åľ¨": 117740, + "èĭ±åľĭ": 117741, + "çģ¯çģ«": 117742, + "è¿Ľé¡¹": 117743, + "两端": 117744, + "ä¹Ķ丹": 117745, + "èĦ¸é¢Ĭ": 117746, + "åıijå±ķæ½ľåĬĽ": 117747, + "åĭķä½ľ": 117748, + "åĵĪä½Ľ": 117749, + "å®´ä¼ļ": 117750, + "æ§į": 117751, + "ç«ĭå¿Ĺ": 117752, + "ç¡ķ士åѦä½į": 117753, + "åĭĭ竳": 117754, + "è¿Ļåľºæ¯ĶèµĽ": 117755, + "æĮģå¹³": 117756, + "éķĢéĶĮ": 117757, + "èĭ±çī¹": 117758, + "èĭ±çī¹å°Ķ": 117759, + "æķĻèģĮå·¥": 117760, + "åĬŁåĬĽ": 117761, + "该æ¡Ī": 117762, + "ä¸Ģæ¢Ŀ": 117763, + "åĺīå¹´": 117764, + "åĺīå¹´åįİ": 117765, + "è¿«ä¸įåıĬ": 117766, + "è¿«ä¸įåıĬå¾ħ": 117767, + "è¿Ļ个æĹ¶ä»£": 117768, + "精彩æĴŃæĬ¥": 117769, + "人èĦ¸": 117770, + "人èĦ¸è¯ĨåĪ«": 117771, + "æ£Ģå¯Łå®ĺ": 117772, + "å°ıèħ¿": 117773, + "éĨĴ缮": 117774, + "åħļæĢ»": 117775, + "åħļæĢ»æĶ¯": 117776, + "æĪŁ": 117777, + "èĮ«çĦ¶": 117778, + "è±ĨæµĨ": 117779, + "主治": 117780, + "éĿĴæµ·çľģ": 117781, + "åĪijäºĭ责任": 117782, + "çł°": 117783, + "ä¹ĭæ¬ĬåĪ©": 117784, + "äºĶå®ĺ": 117785, + "è¿·æĥij": 117786, + "åħ¥åºĵ": 117787, + "家纺": 117788, + "弹簧": 117789, + "åįģäºĶæĿ¡": 117790, + "ç»Ļå®Ŀå®Ŀ": 117791, + "èĪªç©ºèĪªå¤©": 117792, + "å¾Ģå¤ĸ": 117793, + "å¼ķåĬĽ": 117794, + "çľ¼çļ®": 117795, + "æ¶īè¶³": 117796, + "æĿ¥å®¾": 117797, + "åľ¨çº¿è§Ĵèī²": 117798, + "çĥŃéĶĢ": 117799, + "æµģéĢĿ": 117800, + "泡泡": 117801, + "éĻįå¹ħ": 117802, + "è´ŁéĿ¢å½±åĵį": 117803, + "红楼": 117804, + "红楼梦": 117805, + "éļĶçĿĢ": 117806, + "侥幸": 117807, + "许ä¹ħ": 117808, + "åĴĮçĿ¦": 117809, + "èѽ": 117810, + "使ç͍èĢħæĪĸ": 117811, + "ä¹°åįķ": 117812, + "è¿´": 117813, + "é£İæīĩ": 117814, + "æķĻ師": 117815, + "æ¡ĮåŃIJä¸Ĭ": 117816, + "å¾Īæ¼Ĥ亮": 117817, + "åł±å°İ": 117818, + "第ä¸ĢåŃ£åº¦": 117819, + "ç©©å®ļ": 117820, + "æĤ²åĵĢ": 117821, + "çĿĢåĬĽæīĵéĢł": 117822, + "æĮŁ": 117823, + "路桥": 117824, + "åijIJ": 117825, + "åľ£è¯ŀèĬĤ": 117826, + "çļĩåŃIJ": 117827, + "ä»ĩæģ¨": 117828, + "éħĿéħ¿": 117829, + "ä¸įéĹ´": 117830, + "ä¸įéĹ´æĸŃ": 117831, + "æĮĩå°ĸ": 117832, + "ä¸ŃåĽ½ç½ij游": 117833, + "åŀ£": 117834, + "æĦıè§ģ建议": 117835, + "æ¯ħçĦ¶": 117836, + "亮度": 117837, + "èģĶè°Ĭ": 117838, + "å½ķåħ¥": 117839, + "åĦ²": 117840, + "å¨ĺå®¶": 117841, + "ç§ijå°Ķ": 117842, + "ä¹Łæ²¡ä»Ģä¹Ī": 117843, + "æł¹æį®ä¸įåIJĮ": 117844, + "åı¶ä¿®": 117845, + "å̼å®Ī": 117846, + "æľ«ç«¯": 117847, + "å΍": 117848, + "åĤµåĭĻ": 117849, + "èģ¯åIJĪ": 117850, + "å¥ĩå¹»": 117851, + "èĻļæŀĦ": 117852, + "é»Ħæĺı": 117853, + "å¹³åĿ¦": 117854, + "æµģæ°ĵ": 117855, + "æĸ°åŁºå»º": 117856, + "æĮ½æķij": 117857, + "åįİå°Ķ": 117858, + "åįİå°Ķè¡Ĺ": 117859, + "æľĢåıĹæ¬¢è¿İ": 117860, + "ç»Ń约": 117861, + "å¼Ĭ端": 117862, + "éŃĶæ³ķå¸Ī": 117863, + "éŃĶæ³ķå¸ĪåĴĮ": 117864, + "åħ·ä½ĵåĨħ容": 117865, + "çIJīçĴĥ": 117866, + "æī©å®¹": 117867, + "èĮ¶åĽŃ": 117868, + "主ä¹īèĢħ": 117869, + "ç«ĭéĿ¢": 117870, + "æİ¥åıĹéĩĩ访": 117871, + "åĩºåħ¥å¢ĥ": 117872, + "ç§ijåįı": 117873, + "éĴ³": 117874, + "çµIJæ§ĭ": 117875, + "ç»ĵæŀľæĺ¾ç¤º": 117876, + "åı°è´¦": 117877, + "å°±æĿ¥çľĭçľĭ": 117878, + "èĩªæķij": 117879, + "åıįæĩī": 117880, + "åİ»åĵªåĦ¿": 117881, + "è¿Ļé¦ĸ": 117882, + "è¿Ļé¦ĸæŃĮ": 117883, + "åIJ¬ä¼Ĺ": 117884, + "å¤ĸ壳": 117885, + "ä½ĵèĤ²é¦Ĩ": 117886, + "實æĸ½": 117887, + "èŀºä¸Ŀ": 117888, + "æĭīåįĩ": 117889, + "çĮĽåľ°": 117890, + "åħ¨åĽ½äººæ°ij": 117891, + "æĤīå°¼": 117892, + "æĹı群": 117893, + "åĽ¢åijĺ": 117894, + "两个å°ıæĹ¶": 117895, + "åľ¨çݩ家": 117896, + "åľ¨çݩ家ä¸Ń": 117897, + "çĶľçĶľ": 117898, + "æĬķè¡Į": 117899, + "åįĶæľĥ": 117900, + "éĻ¡": 117901, + "åĬłå·¥åİĤ": 117902, + "æ¦ĨæŀĹ": 117903, + "æŃ»è§Ĵ": 117904, + "åĨħå¹ķ": 117905, + "æīĢæľīæĥħèĬĤ": 117906, + "åĪ·åį¡": 117907, + "æ°´èĤ¿": 117908, + "èĥĥåı£": 117909, + "å«Įå¼ĥ": 117910, + "沮丧": 117911, + "ä¸ī年级": 117912, + "æ¶Ĥå±Ĥ": 117913, + "å¿ĥ仪": 117914, + "å¿ĥ仪çļĦ": 117915, + "å¤Ń": 117916, + "é¦ĸè½®": 117917, + "æĹłè®ºæĺ¯åħ¶": 117918, + "éĢıæ°Ķ": 117919, + "äºĮåįģäºĶ": 117920, + "箫": 117921, + "åĬŁåĬ³": 117922, + "çѾä¸ĭ": 117923, + "æ²īè¿·": 117924, + "æķijåij½": 117925, + "éĹªéĹª": 117926, + "åIJĥäºı": 117927, + "å±ķåĵģ": 117928, + "åį³æĹ¶åıijçĶŁ": 117929, + "ç¶ľ": 117930, + "ç¶ľåIJĪ": 117931, + "æłĩæĺİ": 117932, + "çľĭç͵影": 117933, + "åħ¬ç«ł": 117934, + "éĺ¿æ£®": 117935, + "éĺ¿æ£®çº³": 117936, + "身åĪĽéĢł": 117937, + "身åĪĽéĢłçļĦ": 117938, + "æ¸Ľå°ij": 117939, + "å̼å¾Ĺåħ³æ³¨": 117940, + "鼶åĶ®åķĨ": 117941, + "æįĨç»ij": 117942, + "è¸ıåħ¥": 117943, + "èĽŁ": 117944, + "æŁ´çº³": 117945, + "èĢģåħµ": 117946, + "绿èī²çݯä¿Ŀ": 117947, + "é¹Ń": 117948, + "éº»æľ¨": 117949, + "æıŃçīĮ": 117950, + "è¿Ļ款车": 117951, + "ç¾İå¾·": 117952, + "ç¾İå¾·åħ¬åı¸": 117953, + "æ¶§": 117954, + "è°ģçŁ¥": 117955, + "æ´ĭèij±": 117956, + "æ¯įæł¡": 117957, + "ä¸ĢéĹª": 117958, + "çͷ䏻è§Ĵ": 117959, + "æĹłçº¿ç͵": 117960, + "å±łå®°": 117961, + "æĺ¯éŁ©åĽ½": 117962, + "æĺ¯éŁ©åĽ½å¨±": 117963, + "容è²Į": 117964, + "åĿĩ使åħ¶": 117965, + "太快": 117966, + "å¹´çͱ": 117967, + "å¹´çĶ±çĽĽ": 117968, + "èĭ¦èĭ¦": 117969, + "åĬĽè¿ĺæĺ¯": 117970, + "åĬĽè¿ĺæĺ¯èĩª": 117971, + "æĨ©": 117972, + "èģ¯çµ¡": 117973, + "å;": 117974, + "åħ·æľīæĪĺ士": 117975, + "追éĹ®": 117976, + "åłĨæĶ¾": 117977, + "åıį驳": 117978, + "å®ŀäºĭæ±Ĥ": 117979, + "å®ŀäºĭæ±Ĥæĺ¯": 117980, + "åѸéĻ¢": 117981, + "åįģåĩłä¸ª": 117982, + "æķijæĬ¤": 117983, + "æķijæĬ¤è½¦": 117984, + "ç½ijç»ľä¼łæĴŃ": 117985, + "åįģåħ«å±Ĭ": 117986, + "éĥ¨åī¯": 117987, + "éĥ¨åī¯éĥ¨éķ¿": 117988, + "çĹ´è¿·": 117989, + "管çIJĨæĿ¡ä¾ĭ": 117990, + "èŀį为ä¸Ģä½ĵ": 117991, + "æĢ»äº§å̼": 117992, + "è³ĵ": 117993, + "ä¸ĥæĺŁ": 117994, + "çıŃç»Ħ": 117995, + "绣é¢Ĩ": 117996, + "请大家": 117997, + "éĩijéϵ": 117998, + "èĪħèĪħ": 117999, + "æµ·æ¹¾": 118000, + "æĸ½çŃĸ": 118001, + "享èªī": 118002, + "麥": 118003, + "端åįĪ": 118004, + "绿åŁİ": 118005, + "確ä¿Ŀ": 118006, + "å·´æĭī": 118007, + "åĨĴçĿĢ": 118008, + "æħ·æħ¨": 118009, + "个人è§ĤçĤ¹": 118010, + "ä¹Ļçĥ¯": 118011, + "ç¡ħè°·": 118012, + "éĸĭå±ķ": 118013, + "å°ļ书": 118014, + "åĿļ飧": 118015, + "庵": 118016, + "èĢģé¾Ħ": 118017, + "èĢģé¾ĦåĮĸ": 118018, + "çľ¨çľ¼": 118019, + "绿水": 118020, + "绿水éĿĴå±±": 118021, + "书é¦Ļ": 118022, + "主åĬĽåĨĽ": 118023, + "æīįæĺ¯çľŁæŃ£": 118024, + "æĬ¢åħĪ": 118025, + "æĪIJå°±æĦŁ": 118026, + "éĩįæŀĦ": 118027, + "éĴ¢åİĤ": 118028, + "æĪIJ份": 118029, + "èĬ±çº¹": 118030, + "ä¹ĭäºī": 118031, + "å¹²ç»Ĩèĥŀ": 118032, + "æĹ¢åı¯ä»¥": 118033, + "ç¹ģçIJIJ": 118034, + "æĦļèł¢": 118035, + "éĿŀ常æĺİæĺ¾": 118036, + "ä½ĵ彩": 118037, + "æĬĢæ³ķ": 118038, + "æĿĨèıĮ": 118039, + "å¹¿æ³Ľåħ³æ³¨": 118040, + "åĮĹå®ĭ": 118041, + "å§Ĭ妹": 118042, + "åįıåĬŀ": 118043, + "æ·®åįĹ": 118044, + "çĥı": 118045, + "æ´ĹèĦ¸": 118046, + "åıĹ访": 118047, + "åıĹ访èĢħ": 118048, + "éĩįè¦ģåĽłç´ł": 118049, + "å½±è§Ĩåī§": 118050, + "综èīºèĬĤ缮": 118051, + "èľķåıĺ": 118052, + "äºĮ线": 118053, + "äºĮ线åŁİå¸Ĥ": 118054, + "ä¼Ĭå§ĭ": 118055, + "çıĬçijļ": 118056, + "èĩªæŁ¥": 118057, + "åħ¥åĽŃ": 118058, + "åĩ¶æīĭ": 118059, + "åħ¬è¯ī": 118060, + "éģĩéļ¾": 118061, + "éĩĩçŁ¿çŃī": 118062, + "èĩªçIJĨ": 118063, + "åĸ·æ¶Ĥ": 118064, + "æī©åħħ": 118065, + "éĢıè§Ĩ": 118066, + "é«ĺéĢŁå¢ŀéķ¿": 118067, + "åĽ¾çĶ»": 118068, + "ç¾¹": 118069, + "èĤĩåºĨ": 118070, + "è¾ľè´Ł": 118071, + "èµĶä»ĺ": 118072, + "è·¡": 118073, + "åģ¥åº·æĪIJéķ¿": 118074, + "以ä¸ĬåѦåİĨ": 118075, + "åıĸå¾Ĺ以åıĬ": 118076, + "æ²ī积": 118077, + "åįģä¹Ŀå±Ĭ": 118078, + "缸éĹľæľįåĭĻ": 118079, + "æī§åĭ¤": 118080, + "åī¯åİ¿éķ¿": 118081, + "寰": 118082, + "åģľæ»ŀ": 118083, + "淹没": 118084, + "çŁ³çģ°": 118085, + "çį¸": 118086, + "å̦": 118087, + "ç¾İåªĴ": 118088, + "æķĻæ¡Ī": 118089, + "åĬłçĽĸ": 118090, + "åħ¬å¼ĢèµĽ": 118091, + "å¥łåŁº": 118092, + "æĺĨèĻ«": 118093, + "çŀħ": 118094, + "磷éħ¸": 118095, + "äºīåĪĽ": 118096, + "çİĭæĻĵ": 118097, + "ç¼ĵåĨ²": 118098, + "åİļåİļ": 118099, + "åİļåİļçļĦ": 118100, + "æŀ£åºĦ": 118101, + "ç²¾çĽĬ": 118102, + "ç²¾çĽĬæ±Ĥ": 118103, + "ç²¾çĽĬæ±Ĥç²¾": 118104, + "åĪĨæĶ¯æľºæŀĦ": 118105, + "å®ŀæĸ½ç»ĨåĪĻ": 118106, + "æĸ°èµĽåŃ£": 118107, + "總統": 118108, + "éĢłè¡Ģ": 118109, + "é¢ĩåħ·": 118110, + "é»ĦåŁĶ": 118111, + "è¡ĢèĦĤ": 118112, + "交éĢļå·¥åħ·": 118113, + "å³¥": 118114, + "æĹıèĩªæ²»å·ŀ": 118115, + "寺éĻ¢": 118116, + "確å®ļ": 118117, + "æ¦Ĥ念èĤ¡": 118118, + "æĦŁå®ĺ": 118119, + "æŁľåı°": 118120, + "åĶĶ": 118121, + "çŀŃ解並": 118122, + "æĢ»ä»·": 118123, + "åIJ¸åħ¥": 118124, + "æĢ¼": 118125, + "æĻļéĹ´": 118126, + "å±Ĭæ¯ķä¸ļçĶŁ": 118127, + "çĶŁå§ľ": 118128, + "éĺħ读åħ¨æĸĩ": 118129, + "å¾ĹåΰæľīæķĪ": 118130, + "æIJľæķij": 118131, + "åİĨæĿ¥": 118132, + "èŃīæĺİ": 118133, + "åĥ»": 118134, + "èĨ³é£Ł": 118135, + "åĦĦåħĥ": 118136, + "æīĵåİĭ": 118137, + "宾客": 118138, + "åķ¼": 118139, + "ä¸ĢçϾå¤ļ": 118140, + "æ·±åħ¥äººå¿ĥ": 118141, + "æ¢ħå·ŀ": 118142, + "çłĶåѦ": 118143, + "åħ³ä¹İ": 118144, + "è¼Ľ": 118145, + "亲åıĭ": 118146, + "éħįæĸĻ": 118147, + "æĪijçĪ±ä½ł": 118148, + "è´¸æĺĵæĪĺ": 118149, + "æľīèī²": 118150, + "æľīèī²éĩijå±ŀ": 118151, + "æįIJåĬ©": 118152, + "为é¦ĸ": 118153, + "为é¦ĸçļĦ": 118154, + "å¯ĮåĬĽ": 118155, + "çĶ·ç¥ŀ": 118156, + "é³³": 118157, + "æµĩæ°´": 118158, + "åIJ±": 118159, + "æĺİç¡®æıIJåĩº": 118160, + "åı¹äºĨ": 118161, + "åı¹äºĨåı£æ°Ķ": 118162, + "礼æĭľ": 118163, + "è¿Ļ个åIJįåŃĹ": 118164, + "ä¿¡å¾Ĵ": 118165, + "å¿Ĺ强": 118166, + "éĻIJæĹ¶": 118167, + "æĶ¶è²»": 118168, + "åĨľå®¶ä¹IJ": 118169, + "å°ıé¾ĻèϾ": 118170, + "èIJ½å¹ķ": 118171, + "æ§Ł": 118172, + "åѦ龸": 118173, + "æĪĸå¤ļ": 118174, + "æĪĸå¤ļæĪĸ": 118175, + "æĪĸå¤ļæĪĸå°ij": 118176, + "座è°Īä¼ļä¸Ĭ": 118177, + "æ¶¼": 118178, + "éŃĶçİĭ": 118179, + "å²±": 118180, + "é¡¶å±Ĥ": 118181, + "é¡¶å±Ĥ设计": 118182, + "èĦijåŃIJéĩĮ": 118183, + "éĻ¢åŃIJéĩĮ": 118184, + "轩è¾ķ": 118185, + "身å¿ĥåģ¥åº·": 118186, + "èħij": 118187, + "éĹľæ³¨": 118188, + "åıĤåĬłä¼ļè®®": 118189, + "ä¸ŃåįİæĸĩåĮĸ": 118190, + "追寻": 118191, + "å®īçĦ¶": 118192, + "é£Ļåįĩ": 118193, + "éŁŃèıľ": 118194, + "鸦": 118195, + "åĤ¨éĩı": 118196, + "çĶ·æĸ¹": 118197, + "å¤ĩ份": 118198, + "æijĶåĢĴ": 118199, + "润æ»ijæ²¹": 118200, + "é̼è¿ij": 118201, + "çͳè¯ī": 118202, + "鸣类": 118203, + "çŁ³æ²¹åĮĸå·¥": 118204, + "åĿļæŀľ": 118205, + "è¿Ļå®¶ä¼Ļ": 118206, + "æĭĴä¸į": 118207, + "羣çļ®": 118208, + "è·ĿéĽ¢": 118209, + "è¿ĺæĮº": 118210, + "éĽķåĥı": 118211, + "åĪĿæģĭ": 118212, + "æıIJä¾ĽæĽ´å¤ļ": 118213, + "æŁ¥çľĭåħ¨æĸĩ": 118214, + "æķ°åŃĹè´§å¸ģ": 118215, + "åĸīåĴĻ": 118216, + "åı¦ä¸Ģä½į": 118217, + "åĤ¬åĮĸ": 118218, + "åĤ¬åĮĸåīĤ": 118219, + "ä»İæĿ¥æ²¡": 118220, + "å¯ĨåĪĩ缸åħ³": 118221, + "éĥ¨ä¸»ä»»": 118222, + "产åĵģç»ıçIJĨ": 118223, + "並åIJĮæĦı": 118224, + "èIJ½åħ¥": 118225, + "å±ıå¹ķä¸Ĭ": 118226, + "åħ¬åı¸ç«łç¨ĭ": 118227, + "æį¢åı¥è¯Ŀ": 118228, + "æį¢åı¥è¯Ŀ说": 118229, + "ä½įæĸ¼": 118230, + "ä½Ķ": 118231, + "åĩ»æĿĢ": 118232, + "缸è¾ĥ": 118233, + "缸è¾ĥäºİ": 118234, + "ç²½åŃIJ": 118235, + "åįĹæŀģ": 118236, + "宫é¢Ī": 118237, + "è£ģåijĺ": 118238, + "æĺİç»Ĩ": 118239, + "ä»·å̼éĵ¾": 118240, + "åĽĽä¸ªæĸ¹éĿ¢": 118241, + "æĥħåĨµæĿ¥çľĭ": 118242, + "æĮijåīĶ": 118243, + "æ®ĺ": 118244, + "æŀģåĬĽ": 118245, + "çĸijéļ¾": 118246, + "æĬµæĬĹåĬĽ": 118247, + "æĢ¥éĢŁ": 118248, + "æĪĮ": 118249, + "ä½İä¼°": 118250, + "éĹªè¿ĩ": 118251, + "æģ¬": 118252, + "èµŀæī¬": 118253, + "ä»ĸå¦Ī": 118254, + "æĪIJ为ä¸ĢåIJį": 118255, + "æ´Ĺ礼": 118256, + "é¢Ħ计å°Ĩ": 118257, + "åħĪè¿Ľåįķä½į": 118258, + "è¼Ķ": 118259, + "éĢĥèĦ±": 118260, + "çݰåŃĺ": 118261, + "èĢģèĻİæľº": 118262, + "åįģä¸ĥæĿ¡": 118263, + "åı¦ä¸ĢåįĬ": 118264, + "温æĥħ": 118265, + "åī¥ç¦»": 118266, + "ä¸ĸè´¸": 118267, + "å®ĺåı¸": 118268, + "å¾Īå·®": 118269, + "éĹ´è·Ŀ": 118270, + "请注æĦı": 118271, + "åı²è¯Ĺ": 118272, + "åĪ©åύ": 118273, + "è¿IJç®Ĺ": 118274, + "沦为": 118275, + "該使ç͍èĢħ": 118276, + "èĮ¬": 118277, + "éĶ¦ç»£": 118278, + "åı²æĸĻ": 118279, + "ç쵿´»æĢ§": 118280, + "èģĶ社": 118281, + "æĹłåĬ©": 118282, + "æĬĹæ°§åĮĸ": 118283, + "èıľèĤ´": 118284, + "éĢłèι": 118285, + "æİīèIJ½": 118286, + "å¤įæŁ¥": 118287, + "åĭĥåĭĥ": 118288, + "åij¼å£°": 118289, + "給äºĪ": 118290, + "åIJĮäºĭ们": 118291, + "ç½°": 118292, + "è¯ķæİ¢": 118293, + "åħ³éĶ®åŃĹ": 118294, + "æįIJçĮ®": 118295, + "ç»Łè®¡æķ°æį®": 118296, + "åĪĽä½ľèĢħ": 118297, + "ä¸ĭåįĬ": 118298, + "ä¸ĭåįĬåľº": 118299, + "æī¿æĭħ责任": 118300, + "端æŃ£": 118301, + "ç©¿è¡£": 118302, + "ä¼łçIJĥ": 118303, + "åĬ©éķ¿": 118304, + "åĩ±": 118305, + "éķ¶åµĮ": 118306, + "é£ŀç¿Ķ": 118307, + "è¾ĵåįµ": 118308, + "è¾ĵåįµç®¡": 118309, + "ä¸ĩåħ¬éĩĮ": 118310, + "æİ¨å¹¿åºĶç͍": 118311, + "å¿«æ¨Ĥ": 118312, + "ç§½": 118313, + "èī°å·¨": 118314, + "åIJ¬å®Į": 118315, + "åĿļ硬": 118316, + "å¥¥åľ°": 118317, + "å¥¥åľ°åĪ©": 118318, + "é¢ĵ": 118319, + "èĻIJå¾ħ": 118320, + "ä¾Ľæ±Ĥ": 118321, + "éľīç´ł": 118322, + "伪è£ħ": 118323, + "ä¹¡åľŁ": 118324, + "åĩ¡æľ¬ç½ij": 118325, + "åĩ¡æľ¬ç½ij注": 118326, + "ä¼ĬåĪ©": 118327, + "è¡¡æ°´": 118328, + "æĽ´åĥıæĺ¯": 118329, + "åĪĨéĴŁå·¦åı³": 118330, + "è¦ı模": 118331, + "äºĶåĪĨéĴŁ": 118332, + "åºĹåĬłçĽŁ": 118333, + "åĽ°éĽ£": 118334, + "åħ³åģľ": 118335, + "æĢĿ绪": 118336, + "åĴ½åĸī": 118337, + "缸符": 118338, + "çĥ¦èºģ": 118339, + "æĻĤæľŁ": 118340, + "åijĪçı¾": 118341, + "è§£æķ£": 118342, + "诱导": 118343, + "éļĶçĥŃ": 118344, + "çĮ¶": 118345, + "åįĹå®ĭ": 118346, + "æ·±åħ¥äºĨè§£": 118347, + "çŃĶçĸij": 118348, + "æĺ¼å¤ľ": 118349, + "åįĥä¼ı": 118350, + "åĬ³åĬ¡æ´¾éģ£": 118351, + "红è±Ĩ": 118352, + "åĿıäºĭ": 118353, + "çĤ¹æ»´": 118354, + "å°±ä¸ļå²Ĺä½į": 118355, + "约åIJĪ": 118356, + "åħįéϤ": 118357, + "éĢĨåĬ¿": 118358, + "éĩįéĩijå±ŀ": 118359, + "å®ĺ宣": 118360, + "ä½İå»ī": 118361, + "æģ¨ä¸įå¾Ĺ": 118362, + "å¾Ĺ天": 118363, + "å¾Ĺ天çĭ¬": 118364, + "å¾Ĺ天çĭ¬åİļ": 118365, + "ä¸Ģå°ģä¿¡": 118366, + "æĬ½å¥ĸ": 118367, + "è¾Ĺ转": 118368, + "çķĻå®Ī": 118369, + "çķĻå®ĪåĦ¿ç«¥": 118370, + "çŃĶåį·": 118371, + "å·¨åŀĭ": 118372, + "æľĢ好ä¸įè¦ģ": 118373, + "æµĻæ±Łå¤§åѦ": 118374, + "æĨ¨": 118375, + "æı¡æīĭ": 118376, + "éĴĪç»ĩ": 118377, + "æİĴ骨": 118378, + "çĤ½": 118379, + "å°ģè£ħ": 118380, + "åįĢåŁŁ": 118381, + "空æ°ĶåĩĢåĮĸ": 118382, + "åħīå½±": 118383, + "åĢĴå¡Į": 118384, + "å§ļæĺİ": 118385, + "æ¤į被": 118386, + "åѦåīį": 118387, + "åѦåīįæķĻèĤ²": 118388, + "èĬĿåĬł": 118389, + "èĬĿåĬłåĵ¥": 118390, + "缩水": 118391, + "ä½Ł": 118392, + "åľ¨çº¿åĴ¨è¯¢": 118393, + "èµıæŀIJ": 118394, + "éĿĴèĽĻ": 118395, + "æĬ±ä½ı": 118396, + "èĮĤåIJį": 118397, + "åħ¨åĬĽæīĵéĢł": 118398, + "åįļ士åѦä½į": 118399, + "æ²§å·ŀ": 118400, + "åĻ¢": 118401, + "æĿĤçī©": 118402, + "åĪ»çĶ»": 118403, + "æįħ": 118404, + "å¾®éĩı": 118405, + "å¾®éĩıåħĥç´ł": 118406, + "ä¸ĢåĽŀäºĭ": 118407, + "鸡èĤī": 118408, + "åĪ©æ¶¦çİĩ": 118409, + "æīįç®Ĺ": 118410, + "å¾®å¦Ļ": 118411, + "棵æłij": 118412, + "贪婪": 118413, + "åĩıå̼": 118414, + "梦å¢ĥ": 118415, + "åı¯è§Ĩ": 118416, + "åı¯è§ĨåĮĸ": 118417, + "广大å¸Ĥæ°ij": 118418, + "ä¸ĵä¸ļä»İäºĭ": 118419, + "ç»ı纬": 118420, + "ç´§çĽ¯": 118421, + "çŁ¥å·±": 118422, + "è¤ļ": 118423, + "æĸĩåĮĸåºķèķ´": 118424, + "åݦéŨå¸Ĥ": 118425, + "临港": 118426, + "对åħ¶çľŁå®ŀ": 118427, + "岸边": 118428, + "è¦ĸçĤº": 118429, + "æĬĹçĻĮ": 118430, + "åĶIJå®ĩ": 118431, + "ä¸įå¾Ĺè¶ħè¿ĩ": 118432, + "å¨ģæħij": 118433, + "æ¡Ĩæŀ¶åįıè®®": 118434, + "èµ°ç§ģ": 118435, + "åĽ¢å§Ķ": 118436, + "夸大": 118437, + "æ¬Ħ": 118438, + "ç¥ŀç»ıç³»ç»Ł": 118439, + "æijĦå½±ä½ľåĵģ": 118440, + "èĬ¥": 118441, + "å®īåºĨ": 118442, + "海滨": 118443, + "æŀĦæĢĿ": 118444, + "çĮĤ": 118445, + "åı©": 118446, + "éĺIJæĺİ": 118447, + "éģģ": 118448, + "精油": 118449, + "ç©´ä½į": 118450, + "æĬ¤èº«": 118451, + "æĬ¤èº«ç¬¦": 118452, + "æĮĩå°İ": 118453, + "åŃĺåľ¨ä¸Ģå®ļ": 118454, + "å¯ĤéĿĻ": 118455, + "æµ·å¤ĸå¸Ĥåľº": 118456, + "éĿ¡": 118457, + "综åIJĪå¾ģ": 118458, + "ä¿IJ": 118459, + "è¨Īç®Ĺ": 118460, + "æĺİæľĹ": 118461, + "äºļè¿IJ": 118462, + "äºļè¿IJä¼ļ": 118463, + "åīįçŀ»æĢ§": 118464, + "åĮ®ä¹ı": 118465, + "产ä¸ļæī¶è´«": 118466, + "èĦijæµ·": 118467, + "èĦijæµ·ä¸Ń": 118468, + "åħļçļĦé¢Ĩ导": 118469, + "åĪĺéĤ¦": 118470, + "æµģæĺŁ": 118471, + "æĵĤ": 118472, + "æĶĢçĻ»": 118473, + "åĴĶ": 118474, + "ä¸Ģä¸ĭåŃIJå°±": 118475, + "è¯Ĭæ²»": 118476, + "使åĬ²": 118477, + "åīµä½ľ": 118478, + "éĵŃè®°": 118479, + "éĴ±è´¢": 118480, + "æĹ¥æĬ¥è®°èĢħ": 118481, + "çĥŁçģ«": 118482, + "èĥľè´Ł": 118483, + "åįļ主": 118484, + "ä¸ŃåĽ½èģĶéĢļ": 118485, + "ç½ijç«Ļé¦ĸ页": 118486, + "å°±å¤Ł": 118487, + "å°±å¤ŁäºĨ": 118488, + "æīijåħĭ": 118489, + "å±ħå§Ķä¼ļ": 118490, + "è°¬": 118491, + "å®īåħ¨äºĭæķħ": 118492, + "åķĨçĶ¨è½¦": 118493, + "循çݯç»ıæµİ": 118494, + "æ·¤": 118495, + "èĢĥè¯ģ": 118496, + "å®ĿèĹı": 118497, + "å®Įç»ĵ": 118498, + "çłĶåıijæĬķåħ¥": 118499, + "å²ij": 118500, + "æģŃæķ¬": 118501, + "离éĢĢä¼ij": 118502, + "水墨": 118503, + "å©¶": 118504, + "è¯Ĺåı¥": 118505, + "å®ģæ³¢å¸Ĥ": 118506, + "å¼±çĤ¹": 118507, + "åģľçīĮ": 118508, + "奶油": 118509, + "å¥ĩ纳河": 118510, + "æĨĤ": 118511, + "社ä¼ļå®ŀè·µ": 118512, + "è´Ŀ壳": 118513, + "çłĤæµĨ": 118514, + "èιåıª": 118515, + "宣æī¬": 118516, + "综åIJĪæķ´æ²»": 118517, + "åĤij": 118518, + "æ°ijæĹıæĸĩåĮĸ": 118519, + "éĩįçݰ": 118520, + "积æ·Ģ": 118521, + "åħ¬çĦ¶": 118522, + "çħī": 118523, + "缸èģļ": 118524, + "æ±¾": 118525, + "纹çIJĨ": 118526, + "çĩĥçħ¤": 118527, + "æŃ¤ç§į": 118528, + "ç¾İå¦Ĩ": 118529, + "åįĥçĵ¦": 118530, + "çIJĽ": 118531, + "驾驶è¯ģ": 118532, + "éĺ¶æ¢¯": 118533, + "ä¸Ŀä¸Ŀ": 118534, + "å¾Īå¤ļäºĭæĥħ": 118535, + "åħīéĺ´": 118536, + "èijĹä½ľæ¬Ĭ": 118537, + "åħ§éĥ¨": 118538, + "çĽ¸å¯¹æĿ¥è¯´": 118539, + "éĸĴ": 118540, + "éľĩæħij": 118541, + "說話": 118542, + "æĨij": 118543, + "ç«¥è£ħ": 118544, + "ä½ıæĪ¿åĴĮ": 118545, + "ä½ıæĪ¿åĴĮåŁİ": 118546, + "å·²ç»ıè¶ħè¿ĩ": 118547, + "ä¾¦å¯Ł": 118548, + "çŁ¿çī©": 118549, + "ä¾Ľå¤§å®¶": 118550, + "çī¹éĤĢ": 118551, + "ç¨ĭåºıåijĺ": 118552, + "çķľçī§ä¸ļ": 118553, + "æ°ª": 118554, + "çijª": 118555, + "åĢĴåľ¨": 118556, + "åĢĴåľ¨åľ°": 118557, + "æ¯Ģ": 118558, + "梯éĺŁ": 118559, + "æİ¥èijĹ": 118560, + "æĬĹèıĮ": 118561, + "è¤ĩ": 118562, + "ç¬Ļ": 118563, + "æ¯Ķä¸Ĭå¹´": 118564, + "鸡汤": 118565, + "åŃ¦ä¹łæĪIJ绩": 118566, + "æĸijæĸĵ": 118567, + "åħĪ导": 118568, + "åĪĹ举": 118569, + "è°ĥæŁ¥æĺ¾ç¤º": 118570, + "æ©«": 118571, + "ä¹Ŀåįģ": 118572, + "è°¢éŁµ": 118573, + "è·¨è¶Ĭå¼ı": 118574, + "女æĢ§æľĭåıĭ": 118575, + "èIJ¥åħ»ä»·å̼": 118576, + "å®ŀè·µç»ıéªĮ": 118577, + "èĭıå·ŀå¸Ĥ": 118578, + "çĵ¶åŃIJ": 118579, + "æĸ°çļĦä¸Ģ": 118580, + "æĸ°çļĦä¸Ģå¹´": 118581, + "æĺİæĻ°": 118582, + "å®łçα": 118583, + "åŃĹ第": 118584, + "æľĹ诵": 118585, + "纳æĸ¯": 118586, + "éĢĨè¡Į": 118587, + "è«ĭæĤ¨": 118588, + "è«ĭæĤ¨æıIJä¾Ľ": 118589, + "èĥ¸æĢĢ": 118590, + "第ä¸ĥå±Ĭ": 118591, + "强壮": 118592, + "代åŃķ": 118593, + "æ±¶å·Ŀ": 118594, + "å®¶åĸ»": 118595, + "å®¶åĸ»æĪ·": 118596, + "å®¶åĸ»æĪ·æĻĵ": 118597, + "èħ®": 118598, + "åIJ¯è¿ª": 118599, + "æĹłéļľç¢į": 118600, + "èĻķçIJĨåıĬ": 118601, + "æĿ¥åİĨ": 118602, + "å®ŀåĬ¡": 118603, + "ä¹Łéļıä¹ĭ": 118604, + "æĬĢèĥ½åٹè®Ń": 118605, + "åѤç«ĭ": 118606, + "åīģ": 118607, + "éĥ´å·ŀ": 118608, + "æĶ¶æķĽ": 118609, + "éł»éģĵ": 118610, + "èį£å¹¸": 118611, + "èİ«è¿ĩäºİ": 118612, + "æŃ¤æĻĤ": 118613, + "纪å§ĶçĽij": 118614, + "纪å§ĶçĽijå§Ķ": 118615, + "缸éĤ»": 118616, + "åı¦ä¸Ģè¾¹": 118617, + "çªĴæģ¯": 118618, + "æľīå¾Īå¤ļç§į": 118619, + "æ¯ıéĢ¢": 118620, + "éĹ®ä¸ĸ": 118621, + "累累": 118622, + "éĿĴæĺ¥æľŁ": 118623, + "è·¯åĨµ": 118624, + "åħĭèݱ": 118625, + "è¿Ħä»Ĭ为æŃ¢": 118626, + "æĥĬå¥ĩ": 118627, + "跨度": 118628, + "éħ¿éĢł": 118629, + "åĩĭ": 118630, + "è¿ijä¸īå¹´": 118631, + "åĨħ马": 118632, + "åĨħ马å°Ķ": 118633, + "æıį": 118634, + "è¿Ľå±ķæĥħåĨµ": 118635, + "èĮ§": 118636, + "æľīåºıæİ¨è¿Ľ": 118637, + "æĢ»åĨłåĨĽ": 118638, + "æĪIJ绩åįķ": 118639, + "éĽ»è©±åıĬ": 118640, + "ç´§å¯Ĩç»ĵåIJĪ": 118641, + "åºĬä½į": 118642, + "é¹Ĭ": 118643, + "æķ£åıijçĿĢ": 118644, + "åĭŁèµĦ": 118645, + "æ°¨éħ¸": 118646, + "彩ç¥ŀ": 118647, + "è®Ģåıĸ": 118648, + "éĩ῏©": 118649, + "ä¸ŃåŃĺåľ¨çļĦ": 118650, + "ç¾İéºĹ": 118651, + "ä¸įæĸŃå¢ŀåĬł": 118652, + "è½®æµģ": 118653, + "æİ¥åIJ¬": 118654, + "年产å̼": 118655, + "åįĥåħĭ": 118656, + "æĪĺåľºä¸Ĭ": 118657, + "çħ§é¡§": 118658, + "å¹²éĥ¨éĺŁä¼į": 118659, + "åį°ç«ł": 118660, + "ä¸Ģèĩ´æĢ§": 118661, + "è¿ŀå¤ľ": 118662, + "åħħè£ķ": 118663, + "é»ijåIJįåįķ": 118664, + "åĩĢæ°´": 118665, + "ä¸Ģ大æĹ©": 118666, + "åĮħ袱": 118667, + "çĬ¯è§Ħ": 118668, + "çIJĨè«ĸ": 118669, + "æŀģæĺĵ": 118670, + "骸": 118671, + "å¨ĺå¨ĺ": 118672, + "åĽ¢åľĨ": 118673, + "亿åħĥ以ä¸Ĭ": 118674, + "åĪ©ç͍æĤ¨çļĦ": 118675, + "带æĿ¥æĽ´å¤ļ": 118676, + "ä¸Ń央空è°ĥ": 118677, + "æľĪèĸª": 118678, + "çĮľæĥ³": 118679, + "åĪºå®¢": 118680, + "ä½ľæģ¯": 118681, + "åįķè°ĥ": 118682, + "äºĴåĪ©": 118683, + "å¦Ĥæľīä¾µæĿĥ": 118684, + "å°ıå·§": 118685, + "åįģåł°": 118686, + "åĵĪåĵĪåĵĪåĵĪ": 118687, + "è¾¹éĻħ": 118688, + "æłĩè¯Ń": 118689, + "åĪĩåħ¥çĤ¹": 118690, + "éĢĨè¢Ń": 118691, + "è¯ķåīĤ": 118692, + "绿è±Ĩ": 118693, + "è®ļ": 118694, + "åŁºçĿ£å¾Ĵ": 118695, + "壬": 118696, + "åħ¨æĺİæĺŁ": 118697, + "éĢīç§Ģ": 118698, + "èĪĮå°ĸ": 118699, + "ä¸įåIJĮç±»åŀĭ": 118700, + "çĥŁåĽ±": 118701, + "ç쵿°Ķ": 118702, + "åĮºç®¡å§Ķä¼ļ": 118703, + "åĨľåī¯": 118704, + "åĨľåī¯äº§åĵģ": 118705, + "èĶļæĿ¥": 118706, + "沪æĮĩ": 118707, + "åħ»æ®ĸæĪ·": 118708, + "æĸĹå¿Ĺ": 118709, + "é¦ĸé¢Ĩ": 118710, + "è¡Ģèħ¥": 118711, + "åĬłç´§": 118712, + "ä¸Ģèĩ´å¥½è¯Ħ": 118713, + "第ä¸īèĬĤ": 118714, + "æī¬å°ĺ": 118715, + "交éĢļæŀ¢çº½": 118716, + "鼶ç¢İ": 118717, + "é»ijæ´ŀ": 118718, + "çľĭä¸įæĩĤ": 118719, + "å±ŀå®ŀ": 118720, + "主åŁİåĮº": 118721, + "å¨Ľ": 118722, + "å¨Ľæ¨Ĥ": 118723, + "ç¬ijæĦı": 118724, + "èĻ¹æ¡¥": 118725, + "åIJĦ个çݯèĬĤ": 118726, + "çķ¥å¾®": 118727, + "èĢķèĢĺ": 118728, + "æľ¬åľºæ¯ĶèµĽ": 118729, + "æĪIJè´¥": 118730, + "éĢīèĤ¡": 118731, + "èªŀè¨Ģ": 118732, + "çŃĶ辩": 118733, + "èĩªä¹ł": 118734, + "棺": 118735, + "ä¸ĩ欧åħĥ": 118736, + "åģľå·¥": 118737, + "对åħ¶è¿Ľè¡Į": 118738, + "积æŀģéħįåIJĪ": 118739, + "ä¹¾åĿ¤": 118740, + "å¦ĸæĢª": 118741, + "èļĮåŁł": 118742, + "èµĦ产è¯Ħä¼°": 118743, + "è°ĥçļ®": 118744, + "éϤå¤ķ": 118745, + "åĽ´å¢Ļ": 118746, + "æľįå½¹": 118747, + "æ·±æ¸Ĭ": 118748, + "é¢Ħåζ": 118749, + "çĥ½": 118750, + "å®ī稳": 118751, + "建æŀĦ": 118752, + "çĭĻåĩ»": 118753, + "主åĭķ註åĨĬ": 118754, + "éĥ½æľīèĩªå·±": 118755, + "æİĴåIJį第ä¸Ģ": 118756, + "麻辣": 118757, + "çĢļ": 118758, + "çĥŁèĬ±çĪĨ": 118759, + "çĥŁèĬ±çĪĨ竹": 118760, + "èĩªçĦ¶ä¿ĿæĬ¤": 118761, + "ä»Ļå¢ĥ": 118762, + "为äºĨéģ¿åħį": 118763, + "åĨ·åºĵ": 118764, + "è§£æĶ¾æĢĿæĥ³": 118765, + "åĪĿäºĮ": 118766, + "ä½ĵè´´": 118767, + "é¦ĸå¯Į": 118768, + "迪æĭľ": 118769, + "æļĤç¼ĵ": 118770, + "æĶ¯æĮģåĬĽåº¦": 118771, + "侦æİ¢": 118772, + "马åĪº": 118773, + "åĮĹæ±½": 118774, + "ç¹ŀ": 118775, + "è°İè¨Ģ": 118776, + "éĢ£çºĮ": 118777, + "å·³": 118778, + "ä»»ä½ķæĹ¶åĢĻ": 118779, + "车èģĶç½ij": 118780, + "åįķ项": 118781, + "å¸Ńåį·": 118782, + "建çŃijæĿIJæĸĻ": 118783, + "ä¸Ńç§ĭèĬĤ": 118784, + "ç¡ķ士çłĶç©¶": 118785, + "ç§ģç«ĭ": 118786, + "åħļåĴĮæĶ¿åºľ": 118787, + "æľ¬æ¬¡äº¤æĺĵ": 118788, + "èººåľ¨åºĬä¸Ĭ": 118789, + "ç½ijåıĭè¯Ħ论": 118790, + "å¦Ŀ": 118791, + "害ç¾ŀ": 118792, + "åħ¬ç«ĭåĮ»éĻ¢": 118793, + "ä¸ŀ": 118794, + "çĶŁçī©è´¨": 118795, + "åºĶéĤĢ": 118796, + "æĬ½åıĸ": 118797, + "åĩłå¼ł": 118798, + "æijĺç¼ĸ": 118799, + "ç»ĺæľ¬": 118800, + "详解": 118801, + "强硬": 118802, + "æľĢåħĪè¿ĽçļĦ": 118803, + "æĭĽèĤ¡": 118804, + "æĭĽèĤ¡ä¹¦": 118805, + "åįĥæĸ¹": 118806, + "åįĥæĸ¹çϾ": 118807, + "åįĥæĸ¹çĻ¾è®¡": 118808, + "éħįéŁ³": 118809, + "驾çħ§": 118810, + "å¾ģæĪĺ": 118811, + "èªĵè¨Ģ": 118812, + "æĭľå¸Ī": 118813, + "æĭľå¸ĪåѦ": 118814, + "æĭľå¸ĪåѦèīº": 118815, + "æĬ±åĽ¢": 118816, + "ç±³ç²ī": 118817, + "éĿŀ常éĢĤåIJĪ": 118818, + "èĪªæµ·": 118819, + "履约": 118820, + "åįģåħ«æĿ¡": 118821, + "éĶ»éĢł": 118822, + "éĩįè¦ģ举æİª": 118823, + "åıijæĮ¥ä½ľç͍": 118824, + "æ·ļ": 118825, + "人社": 118826, + "人社å±Ģ": 118827, + "è¯ķçĤ¹å·¥ä½ľ": 118828, + "éĺľéĺ³": 118829, + "æ¡ĥåľĴ": 118830, + "æ°ijä¼ģ": 118831, + "æ´ģçϽ": 118832, + "贵宾": 118833, + "åħ¬ç¤¾": 118834, + "è§īæĤŁ": 118835, + "è®°å¿ĨåĬĽ": 118836, + "æľĥåĵ¡è¨»åĨĬ": 118837, + "æŃ¤æ¡Ī": 118838, + "麻çĹ¹": 118839, + "çıĢ": 118840, + "æĸ©èİ·": 118841, + "çĶ·åŃ©åŃIJ": 118842, + "å±ĢéĻIJäºİ": 118843, + "åĭĺæŁ¥": 118844, + "åIJĥ饱": 118845, + "èĬ¬åħ°": 118846, + "æ£ķèī²": 118847, + "ç¦ıç¥ī": 118848, + "çͳèĬ±": 118849, + "æµ·çĽĹ": 118850, + "èĶij": 118851, + "æĸĩåѸ": 118852, + "æ´»æĢ§çĤŃ": 118853, + "缴éĢļ车": 118854, + "è°¢éĤĢ": 118855, + "躺çĿĢ": 118856, + "åľĥ": 118857, + "æ¯ıæĹ¥ç»ıæµİ": 118858, + "åħ¬åħ±æĸĩåĮĸ": 118859, + "讲æķħäºĭ": 118860, + "å¯Łçľĭ": 118861, + "æĤłéĹ²": 118862, + "åľ°åĿª": 118863, + "æ¶Įçݰåĩº": 118864, + "é«ĺçŃīéĻ¢æł¡": 118865, + "èĮĦåŃIJ": 118866, + "éĺ²åį«": 118867, + "ä¾ĭè¡Į": 118868, + "æĺ¾éľ²": 118869, + "æĸ°å¸¸æĢģ": 118870, + "ç»Ŀä½³": 118871, + "å¯Įæ°ij": 118872, + "以人æ°ij": 118873, + "以人æ°ij为": 118874, + "éĤ¢åı°": 118875, + "å±ķæ¼Ķ": 118876, + "çϼå¸ĥ": 118877, + "è´Łè½½": 118878, + "åģı离": 118879, + "æ°¸éģł": 118880, + "éĩįè¦ģåİŁåĽł": 118881, + "åįıä¼ļä¼ļåijĺ": 118882, + "é﾿°ij": 118883, + "çĶŁäº§è½¦éĹ´": 118884, + "çģµåĬ¨": 118885, + "两年åīį": 118886, + "æĸ¹åľĨ": 118887, + "æ´»ä¸ĭåİ»": 118888, + "ä¸ĸçķĮè§Ĥ": 118889, + "éªĹåıĸ": 118890, + "ç¾İè²Į": 118891, + "èĥ½çľĭåĩº": 118892, + "çϼæı®": 118893, + "è§Ĥå½±": 118894, + "åīĥ": 118895, + "åIJĪèµĦåħ¬åı¸": 118896, + "å©§": 118897, + "å¹²æĹ±": 118898, + "åħŃ个æľĪ": 118899, + "尤为éĩįè¦ģ": 118900, + "èĤ½": 118901, + "ç§¦åĽ½": 118902, + "æīĺç¦ı": 118903, + "建çŃijå¸Ī": 118904, + "åįĩ级æĶ¹éĢł": 118905, + "å°ıé¢Ŀ": 118906, + "å°ıé¢Ŀ贷款": 118907, + "两个维æĬ¤": 118908, + "æĭįæĭį": 118909, + "åı¯çĸij": 118910, + "æį¢åıĸ": 118911, + "æŃ¦å£«": 118912, + "èµĸ以": 118913, + "èµĸ以çĶŁåŃĺ": 118914, + "æĮļ": 118915, + "殿åłĤ": 118916, + "èĩªçĦ¶çķĮ": 118917, + "ç£ģåľº": 118918, + "å¦Ĥä½ķçľĭå¾ħ": 118919, + "ä»ĬæĹ¥å¤´æĿ¡": 118920, + "è¥¿åŁŁ": 118921, + "èİ·è¯Ħ": 118922, + "é¢¨æł¼": 118923, + "ä¿ĦåĽ½": 118924, + "æīĵæĭ¼": 118925, + "å®£ä¼łçīĩ": 118926, + "å¾Īæĸ¹ä¾¿": 118927, + "ä¾Ľç»Ļä¾§": 118928, + "纪念ç¢ij": 118929, + "毫åħĭ": 118930, + "èĬ³é¦Ļ": 118931, + "å·¥åķĨéĵ¶è¡Į": 118932, + "请çĤ¹åĩ»": 118933, + "缪": 118934, + "æĹłæķ°æ¬¡": 118935, + "èį¯å¸Ī": 118936, + "èħ¸": 118937, + "游èīĩ": 118938, + "åĮ¾": 118939, + "å·¡èĪª": 118940, + "æ²»çIJĨä½ĵç³»": 118941, + "èIJ¥éĢłèī¯å¥½": 118942, + "æ··æ·Ĩ": 118943, + "éĢļçķħ": 118944, + "åĬ³ç´¯": 118945, + "ä»ĵä½į": 118946, + "å¢ŀéķ·": 118947, + "éļIJ约": 118948, + "æĿĤå¿Ĺ社": 118949, + "åħ»èĤ²": 118950, + "åı¯èĥ½åıijçĶŁ": 118951, + "èĢĥ試": 118952, + "西侧": 118953, + "åĬłåĢį": 118954, + "主æĮģåı¬å¼Ģ": 118955, + "çķ¢ç«Ł": 118956, + "éĹ®è¯¢": 118957, + "æµ·æ£ł": 118958, + "èĹ©": 118959, + "注æĺİæĿ¥æºIJ": 118960, + "æ£Ģçĸ«": 118961, + "请åģĩ": 118962, + "æĬļæij¸": 118963, + "èĵĦçĶµæ±ł": 118964, + "è·Łä¸įä¸Ĭ": 118965, + "çݰ代社ä¼ļ": 118966, + "çѹèµĦ": 118967, + "ä½ĵèĤ²å½©ç¥¨": 118968, + "延误": 118969, + "è¾Ľè¾£": 118970, + "éĿ¢å®¹": 118971, + "åį°è®°": 118972, + "çģŃ亡": 118973, + "ç´łé£Ł": 118974, + "åħ´èĩ´": 118975, + "éľĢè¦ģç͍": 118976, + "éľĢè¦ģç͍åΰ": 118977, + "å®Ŀå¦Ī": 118978, + "ç£ĭåķĨ": 118979, + "éļ¶å±ŀ": 118980, + "è´¡çĮ®åĬĽéĩı": 118981, + "åħ¬åħ±èµĦæºIJ": 118982, + "大éĺª": 118983, + "åĨĽè®Ń": 118984, + "æĤ¬å¿µ": 118985, + "社ä¼ļ稳å®ļ": 118986, + "å¹²äºĭåĪĽä¸ļ": 118987, + "æľīæĿ¡ä»¶": 118988, + "æľīæĿ¡ä»¶çļĦ": 118989, + "ä¸Ģå¹´ä¸Ģ度": 118990, + "åİ¥": 118991, + "强奸": 118992, + "豪车": 118993, + "æİĮæŁľ": 118994, + "æ°´åΩ工ç¨ĭ": 118995, + "峪": 118996, + "积æŀģä½ľç͍": 118997, + "æµ·æ·Ģ": 118998, + "æµ·æ·ĢåĮº": 118999, + "çĥŃæĴŃ": 119000, + "åĿļæĮģä¸įæĩĪ": 119001, + "åıĮèĦļ": 119002, + "绣æĪĺ": 119003, + "ä»»ä½ķ人éĥ½": 119004, + "åľ°ä¸ĭ室": 119005, + "åĨ¶çĤ¼": 119006, + "è°ħè§£": 119007, + "æ¸Ķèι": 119008, + "太éĺ³åŁİ": 119009, + "被æįķ": 119010, + "计ç®Ĺåύ": 119011, + "西åĮ»": 119012, + "èĪĴå¿ĥ": 119013, + "桦": 119014, + "éģ²": 119015, + "åĬij": 119016, + "è¨Ĺ": 119017, + "èݺ": 119018, + "åĸ¬": 119019, + "çĵ¯": 119020, + "åĺĺ": 119021, + "åłķ": 119022, + "æķĿ": 119023, + "åij¦": 119024, + "èĭŀ": 119025, + "æŃ¹": 119026, + "æĵ¬": 119027, + "æ£Ħ": 119028, + "èε": 119029, + "奪": 119030, + "çļĭ": 119031, + "æĶ¸": 119032, + "åľ©": 119033, + "ç¤Ļ": 119034, + "ç¢ĺ": 119035, + "éıĪ": 119036, + "æĦķ": 119037, + "ç¹³": 119038, + "èĺ¸": 119039, + "è²Ĥ": 119040, + "æ¼²": 119041, + "æij¹": 119042, + "æĶĿ": 119043, + "åŃ¢": 119044, + "èķŃ": 119045, + "騰": 119046, + "æ½¼": 119047, + "éħ°": 119048, + "æĴ¥": 119049, + "蹬": 119050, + "é¨Ļ": 119051, + "踹": 119052, + "éģIJ": 119053, + "çĺĢ": 119054, + "èĽ¤": 119055, + "æĤĸ": 119056, + "çĴŀ": 119057, + "ç£IJ": 119058, + "æİ°": 119059, + "è¾Ĭ": 119060, + "å¾ij": 119061, + "æİĸ": 119062, + "éģŀ": 119063, + "éĤ¸": 119064, + "éĽı": 119065, + "æĨİ": 119066, + "æľ½": 119067, + "çį»": 119068, + "ç®Ķ": 119069, + "褶": 119070, + "æļ¢": 119071, + "æĺµ": 119072, + "çıĤ": 119073, + "æĤ¸": 119074, + "åģµ": 119075, + "åĻľ": 119076, + "壯": 119077, + "æĴ®": 119078, + "æģį": 119079, + "å©ķ": 119080, + "篱": 119081, + "éĺĻ": 119082, + "çīł": 119083, + "è£ĺ": 119084, + "è³¢": 119085, + "éĩľ": 119086, + "éĵł": 119087, + "èİĺ": 119088, + "æ®Ĩ": 119089, + "çϏ": 119090, + "è´ı": 119091, + "ç²±": 119092, + "å«¡": 119093, + "åĨ¢": 119094, + "è¤Ĵ": 119095, + "æĩĬ": 119096, + "éľĵ": 119097, + "塵": 119098, + "æĭ£": 119099, + "å»Ł": 119100, + "飽": 119101, + "é¢Į": 119102, + "åļİ": 119103, + "æ·º": 119104, + "èĨł": 119105, + "åİŃ": 119106, + "åļĩ": 119107, + "åijĥ": 119108, + "çĴĭ": 119109, + "çѱ": 119110, + "æĭ·": 119111, + "èį§": 119112, + "éͰ": 119113, + "åѰ": 119114, + "èĵĵ": 119115, + "èĨ½": 119116, + "æŀī": 119117, + "åĸ½": 119118, + "çĽĶ": 119119, + "çŃIJ": 119120, + "ç¾ļ": 119121, + "èħĮ": 119122, + "辫": 119123, + "æ³ĵ": 119124, + "çͬ": 119125, + "èŁ²": 119126, + "åĸª": 119127, + "å¦ĵ": 119128, + "è¬Ģ": 119129, + "çĤĬ": 119130, + "æĽľ": 119131, + "æ±IJ": 119132, + "è´Ī": 119133, + "èįĢ": 119134, + "æĬł": 119135, + "碾": 119136, + "æ«ĥ": 119137, + "éŀł": 119138, + "èijĨ": 119139, + "祯": 119140, + "å½Ŀ": 119141, + "é¦į": 119142, + "åĮ£": 119143, + "æľŃ": 119144, + "åĿĤ": 119145, + "ä¿ij": 119146, + "èĵ®": 119147, + "çijĽ": 119148, + "æīī": 119149, + "èĩŁ": 119150, + "貫": 119151, + "çİ¥": 119152, + "æ·¼": 119153, + "åݲ": 119154, + "é³Į": 119155, + "å³Ń": 119156, + "åijĽ": 119157, + "é§": 119158, + "é§IJ": 119159, + "éģ·": 119160, + "俪": 119161, + "æĢĤ": 119162, + "è¾į": 119163, + "å±į": 119164, + "åĭģ": 119165, + "å¥ļ": 119166, + "éļħ": 119167, + "éĴ´": 119168, + "è¼Ŀ": 119169, + "宦": 119170, + "èIJĥ": 119171, + "çĺĭ": 119172, + "æĨ¶": 119173, + "æĤħ": 119174, + "è¾Ļ": 119175, + "åijľ": 119176, + "çłº": 119177, + "éĢŀ": 119178, + "æµļ": 119179, + "éĸ£": 119180, + "èĸ©": 119181, + "éĻĭ": 119182, + "çĤĻ": 119183, + "èªķ": 119184, + "丣": 119185, + "é¹½": 119186, + "ç±Į": 119187, + "è´°": 119188, + "éĭª": 119189, + "çľ©": 119190, + "æĴIJ": 119191, + "èĨº": 119192, + "éŀĺ": 119193, + "ç¾²": 119194, + "窮": 119195, + "ç´IJ": 119196, + "æ®´": 119197, + "纾": 119198, + "èºį": 119199, + "ç´ĭ": 119200, + "çĦĸ": 119201, + "çĶº": 119202, + "çī½": 119203, + "çĤ¯": 119204, + "ç¼Ķ": 119205, + "æ¯ĵ": 119206, + "嬰": 119207, + "梧": 119208, + "äºŁ": 119209, + "è¢ħ": 119210, + "çįĦ": 119211, + "è¿¥": 119212, + "æ¼¾": 119213, + "çĿij": 119214, + "績": 119215, + "é¦ĭ": 119216, + "é¤ħ": 119217, + "æ¹Ħ": 119218, + "æĺĩ": 119219, + "æŀŃ": 119220, + "èĸ°": 119221, + "æŁij": 119222, + "榻": 119223, + "åĻĹ": 119224, + "åĻ´": 119225, + "棣": 119226, + "åͧ": 119227, + "çĨ¹": 119228, + "輯": 119229, + "å¢Ł": 119230, + "é²²": 119231, + "æĪĽ": 119232, + "èī¦": 119233, + "èĬ®": 119234, + "åĺŁ": 119235, + "帥": 119236, + "å¿»": 119237, + "çĮĿ": 119238, + "寵": 119239, + "賦": 119240, + "èĽ¾": 119241, + "滾": 119242, + "çĤķ": 119243, + "éĵ¬": 119244, + "èĴ¿": 119245, + "éĴ¨": 119246, + "çĥĻ": 119247, + "ç²ķ": 119248, + "æĥ¦": 119249, + "溧": 119250, + "é¢į": 119251, + "éħ£": 119252, + "峦": 119253, + "ç±ģ": 119254, + "çĥĥ": 119255, + "åĨĹ": 119256, + "åıģ": 119257, + "缧": 119258, + "ç½µ": 119259, + "éĴĹ": 119260, + "å¬ī": 119261, + "è°ı": 119262, + "ç³§": 119263, + "è¾Ń": 119264, + "æ·¬": 119265, + "èŁĴ": 119266, + "诩": 119267, + "è¦ĥ": 119268, + "çĻĸ": 119269, + "é½Ĵ": 119270, + "çĪIJ": 119271, + "ç®į": 119272, + "ç¼İ": 119273, + "磺": 119274, + "诫": 119275, + "褲": 119276, + "æĵł": 119277, + "èIJ¦": 119278, + "çĿ¬": 119279, + "è°į": 119280, + "éĦ°": 119281, + "æł¾": 119282, + "é¡ı": 119283, + "縱": 119284, + "桨": 119285, + "éĨ¬": 119286, + "襲": 119287, + "讪": 119288, + "婺": 119289, + "èįŁ": 119290, + "åĮĿ": 119291, + "çĨł": 119292, + "èĽĬ": 119293, + "æ¸ļ": 119294, + "å´½": 119295, + "鲤": 119296, + "åķ°": 119297, + "åĮķ": 119298, + "ä¸IJ": 119299, + "讥": 119300, + "åı½": 119301, + "åı¼": 119302, + "çļ¿": 119303, + "è¿Ĥ": 119304, + "åIJĨ": 119305, + "å±¹": 119306, + "èĩ¼": 119307, + "讹": 119308, + "é©®": 119309, + "纫": 119310, + "æ±ŀ": 119311, + "æĬ¡": 119312, + "èĭĩ": 119313, + "åIJł": 119314, + "åIJŃ": 119315, + "åIJ®": 119316, + "å²ĸ": 119317, + "ä½ĥ": 119318, + "çĭĪ": 119319, + "åºĩ": 119320, + "åIJĿ": 119321, + "éŰ": 119322, + "æ±¹": 119323, + "忱": 119324, + "æĭĦ": 119325, + "æĭĹ": 119326, + "èĮī": 119327, + "èĭĽ": 119328, + "èĮģ": 119329, + "çŁ¾": 119330, + "èĻı": 119331, + "åij»": 119332, + "åĴĦ": 119333, + "å¿¿": 119334, + "èĤ®": 119335, + "çĭŀ": 119336, + "çĸŁ": 119337, + "çĸĻ": 119338, + "çĸļ": 119339, + "æ³ŀ": 119340, + "å¸ļ": 119341, + "å±ī": 119342, + "è¿¢": 119343, + "驹": 119344, + "çİ·": 119345, + "çıĬó": 119346, + "çıĬół": 119347, + "çıĬółĦ": 119348, + "çıĬółĦģ": 119349, + "æĮİ": 119350, + "æĭ´": 119351, + "åŀĽ": 119352, + "èį¤": 119353, + "æ®ĥ": 119354, + "çĽ¹": 119355, + "åĵĨ": 119356, + "è´»": 119357, + "毡": 119358, + "çĭ°": 119359, + "çĭ¡": 119360, + "æŁĴ": 119361, + "æģĥ": 119362, + "诬": 119363, + "è¢Ħ": 119364, + "诲": 119365, + "èļ¤": 119366, + "èĢĻ": 119367, + "åŁĤ": 119368, + "æįİ": 119369, + "æįĮ": 119370, + "æ¢Ĩ": 119371, + "éħĮ": 119372, + "çł¾": 119373, + "æ®ī": 119374, + "åĶł": 119375, + "æĻĮ": 119376, + "èļ£": 119377, + "èļª": 119378, + "èļĵ": 119379, + "鸯": 119380, + "åĶģ": 119381, + "åĶĨ": 119382, + "åĢĶ": 119383, + "èĪĢ": 119384, + "豺": 119385, + "èĥ°": 119386, + "鸵": 119387, + "鸳": 119388, + "é¦ģ": 119389, + "ç¾Ķ": 119390, + "æ¶£": 119391, + "æ¶ķ": 119392, + "æĤ¯": 119393, + "诽": 119394, + "è°Ĩ": 119395, + "ç¥Ł": 119396, + "绢": 119397, + "æįº": 119398, + "æį¶": 119399, + "æį»": 119400, + "æİĤ": 119401, + "èıł": 119402, + "èIJ¤": 119403, + "éħĹ": 119404, + "çľ¶": 119405, + "åķĦ": 119406, + "èļ¯": 119407, + "èĽĢ": 119408, + "åͬ": 119409, + "帷": 119410, + "éĵIJ": 119411, + "éĵĽ": 119412, + "åģİ": 119413, + "å¾Ļ": 119414, + "èĦ¯": 119415, + "è±ļ": 119416, + "çĮĸ": 119417, + "çĹĬ": 119418, + "æ¶®": 119419, + "æĥŃ": 119420, + "æĤ´": 119421, + "æĥĭ": 119422, + "è°ļ": 119423, + "æı©": 119424, + "æIJĢ": 119425, + "æIJĶ": 119426, + "æ¦Ķ": 119427, + "æ¤Ń": 119428, + "éĽ³": 119429, + "åĸ³": 119430, + "è·Ľ": 119431, + "èľĵ": 119432, + "èľĴ": 119433, + "é¹ĥ": 119434, + "éĶĦ": 119435, + "çĶ¥": 119436, + "çŃı": 119437, + "çĮ©": 119438, + "çĮ¬": 119439, + "çĮ¾": 119440, + "çĹ¢": 119441, + "çĹª": 119442, + "æĥ°": 119443, + "çªĺ": 119444, + "è°¤": 119445, + "éļĺ": 119446, + "å©¿": 119447, + "é¹ī": 119448, + "çijĻ": 119449, + "æĸŁ": 119450, + "椿": 119451, + "éħª": 119452, + "éĽ¹": 119453, + "åŦ": 119454, + "è··": 119455, + "è·º": 119456, + "è·¤": 119457, + "èľĪ": 119458, + "èľĹ": 119459, + "å¹Į": 119460, + "é¦ı": 119461, + "èªĬ": 119462, + "æ¼ĵ": 119463, + "è¤Ĥ": 119464, + "èĶĹ": 119465, + "èͼ": 119466, + "åħ¢": 119467, + "裳": 119468, + "èľ»": 119469, + "èĿĩ": 119470, + "åĺĢ": 119471, + "é͹": 119472, + "ç®ķ": 119473, + "箩": 119474, + "çĺ©": 119475, + "çĺŁ": 119476, + "æ¼±": 119477, + "寥": 119478, + "骡": 119479, + "æĴµ": 119480, + "æĴ¬": 119481, + "è±Į": 119482, + "åĺ¹": 119483, + "èĿł": 119484, + "èĿĮ": 119485, + "èĿĹ": 119486, + "èĿĻ": 119487, + "éķIJ": 119488, + "稼": 119489, + "ç¯ĵ": 119490, + "èĨĽ": 119491, + "鲫": 119492, + "çĺª": 119493, + "鲨": 119494, + "æĨĶ": 119495, + "ç¿©": 119496, + "褥": 119497, + "ç¼Ń": 119498, + "åĻ©": 119499, + "çĵ¢": 119500, + "éľİ": 119501, + "踱": 119502, + "è¹Ĥ": 119503, + "èŁĨ": 119504, + "鹦": 119505, + "篡": 119506, + "çĺ¸": 119507, + "窿": 119508, + "ç¼°": 119509, + "èĹIJ": 119510, + "è¹ĭ": 119511, + "èŁĭ": 119512, + "èŁĢ": 119513, + "赡": 119514, + "èĩĬ": 119515, + "é³Ħ": 119516, + "ç³ł": 119517, + "æĩ¦": 119518, + "åļ£": 119519, + "éķ°": 119520, + "é³į": 119521, + "ç°¸": 119522, + "çĻ£": 119523, + "é³ĸ": 119524, + "é¬ĵ": 119525, + "èłķ": 119526, + "éľ¹": 119527, + "èºı": 119528, + "黯": 119529, + "çĵ¤": 119530, + "çŁĹ": 119531, + "ä¹Ĥ": 119532, + "ä¹ľ": 119533, + "åħĢ": 119534, + "å¼ĭ": 119535, + "åŃij": 119536, + "åŃĵ": 119537, + "幺": 119538, + "äºĵ": 119539, + "廿": 119540, + "ä¸ı": 119541, + "åįħ": 119542, + "ä»ĥ": 119543, + "ä»ī": 119544, + "ä»Ĥ": 119545, + "åĪĪ": 119546, + "çĪ»": 119547, + "åįŀ": 119548, + "éĹ©": 119549, + "讣": 119550, + "夬": 119551, + "çĪ¿": 119552, + "æ¯ĭ": 119553, + "éĤĹ": 119554, + "éĤĽ": 119555, + "èī½": 119556, + "èī¿": 119557, + "åıµ": 119558, + "ä¸ķ": 119559, + "åĮľ": 119560, + "åĬ¢": 119561, + "åįŁ": 119562, + "åı±": 119563, + "åı»": 119564, + "仨": 119565, + "代": 119566, + "仡": 119567, + "仫": 119568, + "ä»ŀ": 119569, + "åį®": 119570, + "æ°IJ": 119571, + "çĬ°": 119572, + "åĪį": 119573, + "éĤĿ": 119574, + "éĤĻ": 119575, + "讦": 119576, + "è®§": 119577, + "讫": 119578, + "å°»": 119579, + "éĺ¡": 119580, + "å°ķ": 119581, + "å¼ģ": 119582, + "èĢĴ": 119583, + "çİİ": 119584, + "çİij": 119585, + "åľ¬": 119586, + "æī¦": 119587, + "åľª": 119588, + "åľ¹": 119589, + "æīª": 119590, + "åľ®": 119591, + "åľ¯": 119592, + "èĬĬ": 119593, + "èĬį": 119594, + "èĬĦ": 119595, + "èĬ¨": 119596, + "èĬij": 119597, + "èĬİ": 119598, + "èĬĹ": 119599, + "äºĺ": 119600, + "åİį": 119601, + "夼": 119602, + "æĪį": 119603, + "å°¥": 119604, + "乩": 119605, + "æĹ¯": 119606, + "æĽ³": 119607, + "å²Į": 119608, + "屺": 119609, + "åĩ¼": 119610, + "åĽ¡": 119611, + "éĴĩ": 119612, + "ç¼¶": 119613, + "æ°ĺ": 119614, + "æ°ĸ": 119615, + "çīĿ": 119616, + "ä¼İ": 119617, + "ä¼Ľ": 119618, + "ä¼¢": 119619, + "佤": 119620, + "仵": 119621, + "ä¼¥": 119622, + "ä¼§": 119623, + "ä¼ī": 119624, + "伫": 119625, + "åĽŁ": 119626, + "æ±Ĩ": 119627, + "åĪĸ": 119628, + "å¤Ļ": 119629, + "æĹ®": 119630, + "åĪİ": 119631, + "çĬ·": 119632, + "çĬ¸": 119633, + "èĪĽ": 119634, + "åĩ«": 119635, + "éĤ¬": 119636, + "饧": 119637, + "æ±Ķ": 119638, + "æ±ľ": 119639, + "æ±Ĭ": 119640, + "å¿ĸ": 119641, + "å¿ı": 119642, + "è®´": 119643, + "讵": 119644, + "è®·": 119645, + "èģ¿": 119646, + "èī®": 119647, + "åݾ": 119648, + "å¦ģ": 119649, + "纡": 119650, + "纣": 119651, + "纥": 119652, + "纨": 119653, + "çİķ": 119654, + "çİĻ": 119655, + "æĬŁ": 119656, + "æĬĶ": 119657, + "åľ»": 119658, + "åĿį": 119659, + "æĬĥ": 119660, + "ã§IJ": 119661, + "èĬ«": 119662, + "èĬ¾": 119663, + "èĭĪ": 119664, + "èĭ£": 119665, + "èĭĭ": 119666, + "èĬ¼": 119667, + "èĭĮ": 119668, + "èĭģ": 119669, + "èĬ©": 119670, + "èĬª": 119671, + "èĬ¡": 119672, + "èĬŁ": 119673, + "èĭĦ": 119674, + "èĭİ": 119675, + "èĭ¡": 119676, + "æĿĮ": 119677, + "æĿĵ": 119678, + "æĿĪ": 119679, + "å¿ij": 119680, + "åŃĽ": 119681, + "éĤ´": 119682, + "éĤ³": 119683, + "å¥ģ": 119684, + "è±ķ": 119685, + "å¿Ĵ": 119686, + "欤": 119687, + "轫": 119688, + "è¿ĵ": 119689, + "éĤ¶": 119690, + "å¿IJ": 119691, + "åį£": 119692, + "éĤº": 119693, + "æĹ°": 119694, + "åijĭ": 119695, + "åijĴ": 119696, + "åijĵ": 119697, + "åijĶ": 119698, + "åijĸ": 119699, + "æĹ¸": 119700, + "åIJ¡": 119701, + "èϬ": 119702, + "åIJ½": 119703, + "åIJ£": 119704, + "åIJ²": 119705, + "å¸ı": 119706, + "å²Ī": 119707, + "å²ĺ": 119708, + "åħķ": 119709, + "åĽµ": 119710, + "åĽ«": 119711, + "éĴĬ": 119712, + "éĴĭ": 119713, + "éĴĮ": 119714, + "è¿ķ": 119715, + "æ°Ļ": 119716, + "æ°ļ": 119717, + "çī¤": 119718, + "ä½ŀ": 119719, + "ä½ļ": 119720, + "ä½Ŀ": 119721, + "ä½Ĺ": 119722, + "å½·": 119723, + "ä½ĺ": 119724, + "ä½¥": 119725, + "豸": 119726, + "åĿĮ": 119727, + "èĤŁ": 119728, + "å¥Ĥ": 119729, + "åĬ¬": 119730, + "çĭģ": 119731, + "鸳": 119732, + "饨": 119733, + "饩": 119734, + "饫": 119735, + "饬": 119736, + "åºij": 119737, + "åºĭ": 119738, + "çĸĶ": 119739, + "çĸĸ": 119740, + "èĤĵ": 119741, + "éű": 119742, + "éĹ³": 119743, + "çĤĢ": 119744, + "æ²£": 119745, + "æ²ħ": 119746, + "æ²Ķ": 119747, + "沤": 119748, + "æ²ı": 119749, + "æ²ļ": 119750, + "汩": 119751, + "汨": 119752, + "沨": 119753, + "æ±´": 119754, + "æ²Ĩ": 119755, + "沩": 119756, + "æ³IJ": 119757, + "æĢĥ": 119758, + "æĢĦ": 119759, + "å¿¡": 119760, + "忤": 119761, + "忾": 119762, + "æĢħ": 119763, + "忪": 119764, + "æĢĨ": 119765, + "å¿Ń": 119766, + "忸": 119767, + "è¯Ĥ": 119768, + "è¯ĥ": 119769, + "è¯ħ": 119770, + "è¯ĭ": 119771, + "è¯Į": 119772, + "è¯Ĵ": 119773, + "éĻĤ": 119774, + "éĻī": 119775, + "妩": 119776, + "妪": 119777, + "妣": 119778, + "å¦Ĺ": 119779, + "妫": 119780, + "å§Ĵ": 119781, + "妤": 119782, + "åĬŃ": 119783, + "åĪŃ": 119784, + "éĤ°": 119785, + "çºŃ": 119786, + "纰": 119787, + "纴": 119788, + "çİ¡": 119789, + "çİŃ": 119790, + "çİł": 119791, + "çİ¢": 119792, + "çݦ": 119793, + "çĽĤ": 119794, + "å¿Ŀ": 119795, + "åĮ¦": 119796, + "åĿ©": 119797, + "æĬ¨": 119798, + "æĭ¤": 119799, + "åĿ«": 119800, + "æĭĪ": 119801, + "åŀĨ": 119802, + "æĬ»": 119803, + "åĬ¼": 119804, + "æĭĥ": 119805, + "æĭĬ": 119806, + "åĿ¼": 119807, + "åĿ»": 119808, + "ã§Ł": 119809, + "åĿ¨": 119810, + "åĿŃ": 119811, + "æĬ¿": 119812, + "åĿ³": 119813, + "èĭ·": 119814, + "èĭ¤": 119815, + "èĮı": 119816, + "èĭ«": 119817, + "èĭľ": 119818, + "èĭ´": 119819, + "èĭĴ": 119820, + "èĭĺ": 119821, + "èĮĮ": 119822, + "èĭ»": 119823, + "èĭĵ": 119824, + "èĮļ": 119825, + "èĮĨ": 119826, + "èĮij": 119827, + "èĮĵ": 119828, + "èĮĶ": 119829, + "èĮķ": 119830, + "èĮĢ": 119831, + "èĭķ": 119832, + "æŀ¥": 119833, + "æŀĩ": 119834, + "æĿª": 119835, + "æĿ³": 119836, + "æŀ§": 119837, + "æĿµ": 119838, + "æŀ¨": 119839, + "æŀŀ": 119840, + "æŀĭ": 119841, + "æĿ»": 119842, + "æĿ·": 119843, + "æĿ¼": 119844, + "磸": 119845, + "çłĢ": 119846, + "åγ": 119847, + "å¥Ħ": 119848, + "æ®ģ": 119849, + "éĥı": 119850, + "è½Ń": 119851, + "éĥħ": 119852, + "鸢": 119853, + "缱": 119854, + "æĺĻ": 119855, + "æĿ²": 119856, + "æĺĥ": 119857, + "åĴĤ": 119858, + "åij¸": 119859, + "æĺĢ": 119860, + "æĹ»": 119861, + "æĺī": 119862, + "çĤħ": 119863, + "çķĢ": 119864, + "èĻ®": 119865, + "åĴĢ": 119866, + "åij·": 119867, + "黾": 119868, + "åij±": 119869, + "åij¤": 119870, + "åĴĨ": 119871, + "åĴĽ": 119872, + "åij¶": 119873, + "åij£": 119874, + "åĴĿ": 119875, + "å²¢": 119876, + "岿": 119877, + "岬": 119878, + "岫": 119879, + "å¸Ļ": 119880, + "å²£": 119881, + "å³ģ": 119882, + "åĪ¿": 119883, + "å²·": 119884, + "åīĢ": 119885, + "å¸Ķ": 119886, + "å³Ħ": 119887, + "æ²ĵ": 119888, + "åĽ¹": 119889, + "ç½Ķ": 119890, + "éĴį": 119891, + "éĴİ": 119892, + "éĴı": 119893, + "éĴĴ": 119894, + "éĴķ": 119895, + "éĤ¾": 119896, + "è¿®": 119897, + "çī¦": 119898, + "竺": 119899, + "迤": 119900, + "ä½¶": 119901, + "ä¾ij": 119902, + "ä¾ī": 119903, + "èĩ¾": 119904, + "ä¾Ĺ": 119905, + "ä¾ı": 119906, + "侩": 119907, + "ä½»": 119908, + "ä½¾": 119909, + "侪": 119910, + "ä½¼": 119911, + "佯": 119912, + "侬": 119913, + "å¸Ľ": 119914, + "ä¾Ķ": 119915, + "å¾Ĥ": 119916, + "åν": 119917, + "éĥĦ": 119918, + "ç±´": 119919, + "çĵ®": 119920, + "æĪĹ": 119921, + "èĤ¼": 119922, + "äıĿ": 119923, + "èĤ±": 119924, + "èĤ«": 119925, + "è¿©": 119926, + "éĥĩ": 119927, + "çĭİ": 119928, + "çĭį": 119929, + "çĭĴ": 119930, + "åĴİ": 119931, + "饯": 119932, + "饴": 119933, + "åĨ½": 119934, + "åĨ¼": 119935, + "åºĸ": 119936, + "çĸł": 119937, + "çĸĿ": 119938, + "åħĸ": 119939, + "åĬ¾": 119940, + "ð¬ī": 119941, + "ð¬ī¼": 119942, + "çĤĺ": 119943, + "çĤĿ": 119944, + "çĤĶ": 119945, + "æ³Ķ": 119946, + "æ²Ń": 119947, + "æ³·": 119948, + "æ³±": 119949, + "æ³ħ": 119950, + "æ³ł": 119951, + "泺": 119952, + "æ³ĸ": 119953, + "泫": 119954, + "æ³®": 119955, + "æ²±": 119956, + "泯": 119957, + "æĢĻ": 119958, + "æĢµ": 119959, + "æĢ¦": 119960, + "æĢĽ": 119961, + "æĢı": 119962, + "æĢį": 119963, + "ã¤": 119964, + "ã¤ĺ": 119965, + "æĢ©": 119966, + "æĢ«": 119967, + "æĢ¿": 119968, + "å®ķ": 119969, + "穹": 119970, + "å®ĵ": 119971, + "è¯ĵ": 119972, + "è¯Ķ": 119973, + "è¯ĸ": 119974, + "è¯ĺ": 119975, + "æĪ¾": 119976, + "è¯Ļ": 119977, + "æĪ½": 119978, + "éĥĵ": 119979, + "è¡©": 119980, + "ç¥Ĩ": 119981, + "ç¥İ": 119982, + "ç¥ĩ": 119983, + "è¯ľ": 119984, + "è¯Ł": 119985, + "诣": 119986, + "诤": 119987, + "诧": 119988, + "诨": 119989, + "æĪķ": 119990, + "éĻĶ": 119991, + "妲": 119992, + "妯": 119993, + "å§Ĺ": 119994, + "å¸ij": 119995, + "åŃ¥": 119996, + "驽": 119997, + "èϱ": 119998, + "迨": 119999, + "ç»Ģ": 120000, + "ç»ģ": 120001, + "ç»Ĥ": 120002, + "é©·": 120003, + "驸": 120004, + "ç»ī": 120005, + "ç»Į": 120006, + "éªĢ": 120007, + "ç;": 120008, + "çıı": 120009, + "çıIJ": 120010, + "çıij": 120011, + "çݳ": 120012, + "顸": 120013, + "çıī": 120014, + "çıĪ": 120015, + "æĭ®": 120016, + "åŀŃ": 120017, + "æĮĿ": 120018, + "æĮŀ": 120019, + "åŀ¤": 120020, + "èµ³": 120021, + "è´²": 120022, + "åŀ±": 120023, + "åŀĮ": 120024, + "åŀ§": 120025, + "åŀĵ": 120026, + "æĮ¦": 120027, + "åŀł": 120028, + "èįļ": 120029, + "èįij": 120030, + "è´³": 120031, + "èįľ": 120032, + "èİĴ": 120033, + "èĮ¼": 120034, + "èĮ´": 120035, + "èĮ±": 120036, + "èİĽ": 120037, + "èįŀ": 120038, + "èĮ¯": 120039, + "èįı": 120040, + "èįĩ": 120041, + "èįĥ": 120042, + "èįł": 120043, + "èĮŃ": 120044, + "åŀ©": 120045, + "èį¥": 120046, + "èį¦": 120047, + "èį¨": 120048, + "èį©": 120049, + "åīĭ": 120050, + "èįª": 120051, + "èį¬": 120052, + "èį®": 120053, + "æŁ°": 120054, + "æłī": 120055, + "æŁĺ": 120056, + "æłĬ": 120057, + "æŁ©": 120058, + "æŀ°": 120059, + "æłĮ": 120060, + "æŁĻ": 120061, + "æŀµ": 120062, + "æŀ³": 120063, + "æŁŀ": 120064, + "æŁĿ": 120065, + "æłĢ": 120066, + "æŁ¢": 120067, + "æłİ": 120068, + "æŁĪ": 120069, + "æŁģ": 120070, + "æŀ·": 120071, + "æŁ½": 120072, + "åīĮ": 120073, + "éħĬ": 120074, + "éĥ¦": 120075, + "çĶŃ": 120076, + "çłĹ": 120077, + "çłĺ": 120078, + "çłĴ": 120079, + "æĸ«": 120080, + "çłŃ": 120081, + "çłľ": 120082, + "èĢ·": 120083, + "èĻº": 120084, + "æ®Ĥ": 120085, + "æ®ĩ": 120086, + "æ®Ħ": 120087, + "è½±": 120088, + "è½²": 120089, + "è½³": 120090, + "è½¶": 120091, + "轸": 120092, + "èĻ¿": 120093, + "æ¯ĸ": 120094, + "è§ĩ": 120095, + "å°ľ": 120096, + "åĵIJ": 120097, + "çľĦ": 120098, + "çľį": 120099, + "ðł³": 120100, + "ðł³IJ": 120101, + "éĥ¢": 120102, + "çľĩ": 120103, + "çľĬ": 120104, + "çľĪ": 120105, + "禺": 120106, + "åĵĤ": 120107, + "åĴ´": 120108, + "æĽ·": 120109, + "æĺ´": 120110, + "åĴ¦": 120111, + "åĵĵ": 120112, + "åĵĶ": 120113, + "çķİ": 120114, + "åij²": 120115, + "èĥĦ": 120116, + "çķĭ": 120117, + "çķĪ": 120118, + "èϼ": 120119, + "èĻ»": 120120, + "çĽħ": 120121, + "åĴ£": 120122, + "åĵķ": 120123, + "åīIJ": 120124, + "éĥ§": 120125, + "åĴ»": 120126, + "åĽ¿": 120127, + "åĴ¿": 120128, + "åĵĮ": 120129, + "åĵĻ": 120130, + "åĵļ": 120131, + "åĴ©": 120132, + "åĴ¤": 120133, + "åĵĿ": 120134, + "åĵı": 120135, + "åĵŀ": 120136, + "å³£": 120137, + "ç½ĺ": 120138, + "å³Ĵ": 120139, + "峤": 120140, + "å³ĭ": 120141, + "è´¶": 120142, + "éĴļ": 120143, + "éĴ¡": 120144, + "éĴ£": 120145, + "éĴ¤": 120146, + "éĴ«": 120147, + "æ°¡": 120148, + "çī¯": 120149, + "éĥľ": 120150, + "ç§ķ": 120151, + "ç§Ń": 120152, + "竽": 120153, + "ç¬Ī": 120154, + "俦": 120155, + "俨": 120156, + "ä¿ħ": 120157, + "åıŁ": 120158, + "åŀ¡": 120159, + "çī®": 120160, + "ä¿£": 120161, + "ä¿ļ": 120162, + "çļĪ": 120163, + "ä¿Ł": 120164, + "éĢħ": 120165, + "å¾ĩ": 120166, + "å¾ī": 120167, + "èĪ¢": 120168, + "éĥĹ": 120169, + "ä¿İ": 120170, + "éĥ¤": 120171, + "çΰ": 120172, + "éĥĽ": 120173, + "çĵ´": 120174, + "èĥ¨": 120175, + "èĥª": 120176, + "èĥĽ": 120177, + "èĥĤ": 120178, + "èĥĻ": 120179, + "èĥį": 120180, + "èĥĹ": 120181, + "èĥĿ": 120182, + "æľIJ": 120183, + "èĥ«": 120184, + "鸨": 120185, + "åĮį": 120186, + "çĭ¨": 120187, + "çĭ¯": 120188, + "é£ij": 120189, + "çĭ©": 120190, + "çĭ²": 120191, + "è¨ĩ": 120192, + "éĢĦ": 120193, + "æĺĿ": 120194, + "饷": 120195, + "饸": 120196, + "饹": 120197, + "åŃª": 120198, + "å¨Ī": 120199, + "庥": 120200, + "çĸ¬": 120201, + "çĸ£": 120202, + "çĸ¥": 120203, + "çĸŃ": 120204, + "åºł": 120205, + "ç«ij": 120206, + "é£Ĵ": 120207, + "éĹ¼": 120208, + "éĹ¾": 120209, + "éĹ¿": 120210, + "éĺĤ": 120211, + "ç¾ij": 120212, + "迸": 120213, + "ç±¼": 120214, + "éħĭ": 120215, + "çĤ»": 120216, + "çĥĢ": 120217, + "çĤ·": 120218, + "æ´±": 120219, + "æ´¹": 120220, + "æ´§": 120221, + "æ´Į": 120222, + "æµĥ": 120223, + "æ´ĩ": 120224, + "æ´Ħ": 120225, + "æ´Ļ": 120226, + "æ¶İ": 120227, + "æ´İ": 120228, + "æ´«": 120229, + "æµį": 120230, + "æ´®": 120231, + "æ´µ": 120232, + "æµĴ": 120233, + "æµĶ": 120234, + "æµķ": 120235, + "æ´³": 120236, + "æģ¸": 120237, + "æģĵ": 120238, + "æģ¹": 120239, + "æģ«": 120240, + "æģ»": 120241, + "æģĤ": 120242, + "æģª": 120243, + "æģ½": 120244, + "宥": 120245, + "æīĥ": 120246, + "衲": 120247, + "衽": 120248, + "è¡¿": 120249, + "è¢Ĥ": 120250, + "ç¥ľ": 120251, + "ç¥ĵ": 120252, + "ç¥ļ": 120253, + "诮": 120254, + "ç¥Ĺ": 120255, + "祢": 120256, + "诰": 120257, + "诳": 120258, + "鸩": 120259, + "æĺ¶": 120260, + "åĴ«": 120261, + "å¼Ń": 120262, + "çīģ": 120263, + "èĥ¥": 120264, + "éĻŁ": 120265, + "å§®": 120266, + "å¨Ĩ": 120267, + "å§Ŀ": 120268, + "å§£": 120269, + "å§ĺ": 120270, + "å§¹": 120271, + "羿": 120272, + "çĤ±": 120273, + "磾": 120274, + "ç»Ķ": 120275, + "éªģ": 120276, + "éªħ": 120277, + "ç»Ĺ": 120278, + "综": 120279, + "éªĪ": 120280, + "èĢĸ": 120281, + "æĮĪ": 120282, + "çı¥": 120283, + "çıĻ": 120284, + "顼": 120285, + "çı°": 120286, + "çı©": 120287, + "çı§": 120288, + "çı£": 120289, + "çıŀ": 120290, + "çIJ¤": 120291, + "çı²": 120292, + "æģļ": 120293, + "åŁķ": 120294, + "åŁĺ": 120295, + "åŁĻ": 120296, + "åŁļ": 120297, + "æĮ¹": 120298, + "èĢĨ": 120299, + "èĢĦ": 120300, + "åŁĴ": 120301, + "æįĭ": 120302, + "è´½": 120303, + "åŀ¸": 120304, + "æįĥ": 120305, + "çĽį": 120306, + "èį¸": 120307, + "èݳ": 120308, + "èİ´": 120309, + "èݪ": 120310, + "èİł": 120311, + "èİľ": 120312, + "èİħ": 120313, + "èį¼": 120314, + "èİ©": 120315, + "èį½": 120316, + "èݸ": 120317, + "èį»": 120318, + "èݨ": 120319, + "鸪": 120320, + "èݼ": 120321, + "æł²": 120322, + "æł³": 120323, + "æ¡¡": 120324, + "æ¡İ": 120325, + "æ¡¢": 120326, + "桤": 120327, + "æ¢ĥ": 120328, + "æłĿ": 120329, + "æ¡ķ": 120330, + "æ¡ģ": 120331, + "æ¡§": 120332, + "æ¡ħ": 120333, + "æłŁ": 120334, + "æ¡ī": 120335, + "æł©": 120336, + "éĢij": 120337, + "éĢĭ": 120338, + "å½§": 120339, + "鬲": 120340, + "è±ĩ": 120341, + "éħIJ": 120342, + "é̦": 120343, + "åİĿ": 120344, + "åѬ": 120345, + "çłĿ": 120346, + "çł¹": 120347, + "çł§": 120348, + "çł·": 120349, + "糣": 120350, + "çł¼": 120351, + "çł¥": 120352, + "çł£": 120353, + "åīŀ": 120354, + "çł»": 120355, + "è½¼": 120356, + "è½¾": 120357, + "è¾Ĥ": 120358, + "鸫": 120359, + "趸": 120360, + "é¾Ģ": 120361, + "鸬": 120362, + "èĻĶ": 120363, + "羬": 120364, + "åĶĽ": 120365, + "çľĻ": 120366, + "åĵ§": 120367, + "åĵ½": 120368, + "æĻģ": 120369, + "鸮": 120370, + "è¶µ": 120371, + "è¶¿": 120372, + "çķĽ": 120373, + "èļ¨": 120374, + "èļľ": 120375, + "èļį": 120376, + "èļĭ": 120377, + "èļ¬": 120378, + "èļĿ": 120379, + "èļ§": 120380, + "åĶ¢": 120381, + "åľĦ": 120382, + "åĶ£": 120383, + "åĶı": 120384, + "çĽİ": 120385, + "åĶij": 120386, + "å´Ĥ": 120387, + "å´ĥ": 120388, + "罡": 120389, + "ç½Ł": 120390, + "è§Ĭ": 120391, + "èµħ": 120392, + "éĴ²": 120393, + "éĴµ": 120394, + "éĴ¹": 120395, + "éĴº": 120396, + "éĴ½": 120397, + "éĴ¼": 120398, + "éĴ¿": 120399, + "éĵĢ": 120400, + "éĵĦ": 120401, + "éĵĨ": 120402, + "éĵĪ": 120403, + "éĵī": 120404, + "éĵĬ": 120405, + "éĵĭ": 120406, + "éĵĮ": 120407, + "éĵį": 120408, + "ä¥": 120409, + "䥽": 120410, + "éĵİ": 120411, + "æ°©": 120412, + "æ°¤": 120413, + "æ°¦": 120414, + "毪": 120415, + "èĪIJ": 120416, + "ç§£": 120417, + "ç§«": 120418, + "çĽī": 120419, + "ç¬Ħ": 120420, + "ç¬ķ": 120421, + "ç¬Ĭ": 120422, + "ç¬ı": 120423, + "ç¬Ĩ": 120424, + "俸": 120425, + "俵": 120426, + "åģĮ": 120427, + "俳": 120428, + "ä¿¶": 120429, + "å̬": 120430, + "åĢı": 120431, + "æģģ": 120432, + "åĢŃ": 120433, + "俾": 120434, + "åĢľ": 120435, + "éļ¼": 120436, + "éļ½": 120437, + "åĢĮ": 120438, + "åĢ¥": 120439, + "èĩ¬": 120440, + "éĥ«": 120441, + "å̍": 120442, + "è¡Ħ": 120443, + "é¢Ģ": 120444, + "å¾ķ": 120445, + "èĪ«": 120446, + "衾": 120447, + "èĥ¯": 120448, + "èĥ±": 120449, + "èĥ´": 120450, + "èĥŃ": 120451, + "èĦį": 120452, + "èĥ¼": 120453, + "èĦĴ": 120454, + "鸱": 120455, + "鸲": 120456, + "çĭ·": 120457, + "çĮģ": 120458, + "çĭ³": 120459, + "çĮĥ": 120460, + "çĭº": 120461, + "éĢĸ": 120462, + "æ¡Ģ": 120463, + "饽": 120464, + "åĩĩ": 120465, + "æĮĽ": 120466, + "亳": 120467, + "çĸ³": 120468, + "çĸ´": 120469, + "çĸ¸": 120470, + "çĸ½": 120471, + "çĹĪ": 120472, + "çĸ±": 120473, + "çĹĤ": 120474, + "çĹī": 120475, + "è¡®": 120476, + "é¢ĥ": 120477, + "æģ£": 120478, + "æĹĨ": 120479, + "æĹĦ": 120480, + "æĹĥ": 120481, + "éĺĥ": 120482, + "éĺĦ": 120483, + "è¨ļ": 120484, + "éĺĨ": 120485, + "æģĻ": 120486, + "ç²ij": 120487, + "çĥľ": 120488, + "çĥ©": 120489, + "çĥĬ": 120490, + "åī¡": 120491, + "éĥ¯": 120492, + "çĥ¬": 120493, + "æ¶ij": 120494, + "浯": 120495, + "æ¶ŀ": 120496, + "æ¶Ł": 120497, + "å¨ij": 120498, + "æ¶ł": 120499, + "æµŀ": 120500, + "æ¶ĵ": 120501, + "æµ¥": 120502, + "æ¶Ķ": 120503, + "æµľ": 120504, + "æµł": 120505, + "æµ£": 120506, + "æĤļ": 120507, + "æĤŃ": 120508, + "æĤĿ": 120509, + "æĤĴ": 120510, + "æĤĮ": 120511, + "æĤĽ": 120512, + "çªĪ": 120513, + "åīľ": 120514, + "诹": 120515, + "诼": 120516, + "è¢Ĵ": 120517, + "袢": 120518, + "诿": 120519, + "è°Ģ": 120520, + "è°Ĥ": 120521, + "è°Ħ": 120522, + "è°ĩ": 120523, + "å±IJ": 120524, + "å±Ļ": 120525, + "éϬ": 120526, + "åĭIJ": 120527, + "å¥ĺ": 120528, + "çīĤ": 120529, + "èļ©": 120530, + "éϲ": 120531, + "å¨Į": 120532, + "å¨ī": 120533, + "娲": 120534, + "娴": 120535, + "娣": 120536, + "å¨ĵ": 120537, + "å©Ģ": 120538, + "çķļ": 120539, + "éĢ¡": 120540, + "绳": 120541, + "éªĬ": 120542, + "绡": 120543, + "éªĭ": 120544, + "绦": 120545, + "绨": 120546, + "éªİ": 120547, + "éĤķ": 120548, + "鸶": 120549, + "å½Ĺ": 120550, + "èĢľ": 120551, + "çĦĺ": 120552, + "èĪĤ": 120553, + "çIJı": 120554, + "çIJĩ": 120555, + "麸": 120556, + "æı¶": 120557, + "åŁ´": 120558, + "åŁ¯": 120559, + "æį¯": 120560, + "æİ³": 120561, + "æİ´": 120562, + "åŁ¸": 120563, + "åŁµ": 120564, + "èµ§": 120565, + "åŁ¤": 120566, + "æįŃ": 120567, + "é̵": 120568, + "åŁĿ": 120569, + "åłĭ": 120570, + "åłį": 120571, + "æİ¬": 120572, + "鸷": 120573, + "æį½": 120574, + "æİĬ": 120575, + "åłī": 120576, + "æİ¸": 120577, + "æį©": 120578, + "æİ®": 120579, + "æĤ«": 120580, + "åŁŃ": 120581, + "åŁ½": 120582, + "æİĩ": 120583, + "æİ¼": 120584, + "èģĥ": 120585, + "èIJģ": 120586, + "èıĺ": 120587, + "åłĩ": 120588, + "èIJĺ": 120589, + "èIJĭ": 120590, + "èı½": 120591, + "èıĸ": 120592, + "èIJľ": 120593, + "èIJ¸": 120594, + "èIJij": 120595, + "棻": 120596, + "èıĶ": 120597, + "èıŁ": 120598, + "èIJı": 120599, + "èı¹": 120600, + "èıª": 120601, + "èıħ": 120602, + "èıĢ": 120603, + "èı°": 120604, + "èı¡": 120605, + "梿": 120606, + "æ¢ı": 120607, + "è§ĭ": 120608, + "æ¡´": 120609, + "æ¡·": 120610, + "æ£ģ": 120611, + "æ¡«": 120612, + "æ£Ĥ": 120613, + "åķ¬": 120614, + "éĥ¾": 120615, + "æķķ": 120616, + "è±ī": 120617, + "éĦĦ": 120618, + "éħŀ": 120619, + "ç¡İ": 120620, + "ç¡Ń": 120621, + "ç¡ĸ": 120622, + "ç¡Ĺ": 120623, + "ç¡IJ": 120624, + "ç¡ĩ": 120625, + "ç¡Į": 120626, + "鸸": 120627, + "çĵł": 120628, + "åĮı": 120629, + "åİ©": 120630, + "æ®Ĵ": 120631, + "æ®ĵ": 120632, + "æ®į": 120633, + "èµī": 120634, + "鼩": 120635, + "è¾Ħ": 120636, + "åłij": 120637, + "çľŃ": 120638, + "羦": 120639, + "åķ§": 120640, + "æĻ¡": 120641, + "æĻ¤": 120642, + "çľµ": 120643, + "åľĬ": 120644, + "åĸı": 120645, + "åķī": 120646, + "åĭĸ": 120647, + "æĻŀ": 120648, + "å͵": 120649, + "æĻĹ": 120650, + "åķŃ": 120651, + "çķ¦": 120652, + "趺": 120653, + "åķ®": 120654, + "è·Ħ": 120655, + "èļ¶": 120656, + "èĽĦ": 120657, + "èĽİ": 120658, + "èĽĨ": 120659, + "èļ°": 120660, + "åľī": 120661, + "èļ±": 120662, + "èĽī": 120663, + "èĽı": 120664, + "èļ´": 120665, + "åķģ": 120666, + "åķķ": 120667, + "åĶ¿": 120668, + "åķIJ": 120669, + "åͼ": 120670, + "åĶ·": 120671, + "åķĸ": 120672, + "åķµ": 120673, + "åķ¶": 120674, + "åķ·": 120675, + "åͳ": 120676, + "åͰ": 120677, + "åķľ": 120678, + "帻": 120679, + "å´ļ": 120680, + "å´¦": 120681, + "帼": 120682, + "å´®": 120683, + "å´¤": 120684, + "å´Ĩ": 120685, + "èµĩ": 120686, + "èµĪ": 120687, + "èµĬ": 120688, + "éĵij": 120689, + "éĵĴ": 120690, + "éĵĹ": 120691, + "éĵĻ": 120692, + "éĵŁ": 120693, + "éĵ¡": 120694, + "éĵ¢": 120695, + "éĵ£": 120696, + "éĵ¤": 120697, + "éĵ§": 120698, + "éĵ¨": 120699, + "éĵ©": 120700, + "éĵª": 120701, + "éĵ«": 120702, + "éĵ¯": 120703, + "éĵ°": 120704, + "éĵ±": 120705, + "éĵ³": 120706, + "éĵµ": 120707, + "éĵ·": 120708, + "çī¾": 120709, + "鸹": 120710, + "ç§¾": 120711, + "é̶": 120712, + "笺": 120713, + "çŃĩ": 120714, + "笸": 120715, + "笪": 120716, + "笮": 120717, + "笳": 120718, + "笥": 120719, + "笤": 120720, + "笳": 120721, + "笾": 120722, + "ç¬ŀ": 120723, + "åģ¾": 120724, + "åģĥ": 120725, + "åģķ": 120726, + "åģĪ": 120727, + "åĤĢ": 120728, + "åģ¬": 120729, + "åģ»": 120730, + "çļij": 120731, + "çļİ": 120732, + "鸻": 120733, + "å¾ľ": 120734, + "èΏ": 120735, + "èĪ»": 120736, + "èĪ´": 120737, + "èĪ·": 120738, + "é¾Ľ": 120739, + "ç¿İ": 120740, + "èĦ¬": 120741, + "èĦĺ": 120742, + "èĦ²": 120743, + "åĮIJ": 120744, + "çĮĹ": 120745, + "çĮ¡": 120746, + "çĮŀ": 120747, + "æĸĽ": 120748, + "çĮķ": 120749, + "é¦Ĺ": 120750, + "é¦ĥ": 120751, + "é¦Ħ": 120752, + "鸾": 120753, + "庹": 120754, + "庾": 120755, + "çĹĶ": 120756, + "çĹį": 120757, + "ç¿Ĭ": 120758, + "æĹĮ": 120759, + "æĹİ": 120760, + "袤": 120761, + "éĺĩ": 120762, + "éĺĪ": 120763, + "éĺī": 120764, + "éĺĬ": 120765, + "éĺĭ": 120766, + "éĺį": 120767, + "éĺı": 120768, + "ç¾Ł": 120769, + "ç²Ŀ": 120770, + "çĦIJ": 120771, + "çĦĵ": 120772, + "çĦĹ": 120773, + "æ·ħ": 120774, + "æ·ŀ": 120775, + "æ¸İ": 120776, + "æ¶¿": 120777, + "æ·ĸ": 120778, + "æĮ²": 120779, + "æ·ł": 120780, + "涸": 120781, + "æ¸ij": 120782, + "æ·¦": 120783, + "æ·Ŀ": 120784, + "涪": 120785, + "æ·Ļ": 120786, + "æ¶«": 120787, + "æ¸Į": 120788, + "æĤ»": 120789, + "æĤ±": 120790, + "æĥĿ": 120791, + "æĥĺ": 120792, + "æĥĨ": 120793, + "æĥļ": 120794, + "æĥĩ": 120795, + "æĥ®": 120796, + "çªķ": 120797, + "è°Į": 120798, + "æīĪ": 120799, + "çļ²": 120800, + "è°ij": 120801, + "è£Ĩ": 120802, + "袷": 120803, + "è£ī": 120804, + "è°Ĵ": 120805, + "è°Ķ": 120806, + "è°ķ": 120807, + "è°ĸ": 120808, + "è°Ĺ": 120809, + "è°Ļ": 120810, + "è°Ŀ": 120811, + "é̝": 120812, + "éĥ¿": 120813, + "éļĪ": 120814, + "ç²ľ": 120815, + "éļį": 120816, + "éļĹ": 120817, + "å©Ĭ": 120818, + "娼": 120819, + "å©¢": 120820, + "婵": 120821, + "èĥ¬": 120822, + "è¢Ī": 120823, + "ç¿Į": 120824, + "æģ¿": 120825, + "欸": 120826, + "绫": 120827, + "éªIJ": 120828, + "绯": 120829, + "ç»±": 120830, + "éªĴ": 120831, + "绲": 120832, + "éªĵ": 120833, + "ç»¶": 120834, + "绺": 120835, + "ç»»": 120836, + "绾": 120837, + "éªĸ": 120838, + "ç¼ģ": 120839, + "èĢł": 120840, + "çIJ«": 120841, + "çIJµ": 120842, + "çIJ¶": 120843, + "çIJ¥": 120844, + "çIJ¨": 120845, + "çIJ°": 120846, + "çIJ®": 120847, + "çIJ¯": 120848, + "çIJ¬": 120849, + "çIJļ": 120850, + "è¾ĩ": 120851, + "é¼ĭ": 120852, + "æı³": 120853, + "åłŀ": 120854, + "æIJ½": 120855, + "æı¸": 120856, + "æıł": 120857, + "åłĻ": 120858, + "è¶Ħ": 120859, + "æıĸ": 120860, + "é¢ī": 120861, + "å¡Ħ": 120862, + "æı¿": 120863, + "èĢĭ": 120864, + "æıĦ": 120865, + "èĽ©": 120866, + "èĽ°": 120867, + "å¡Ĩ": 120868, + "æijĴ": 120869, + "æıĨ": 120870, + "æİ¾": 120871, + "èģĴ": 120872, + "èijij": 120873, + "èijļ": 120874, + "éĿ°": 120875, + "éĿ¸": 120876, + "èij³": 120877, + "èijº": 120878, + "èij¸": 120879, + "èIJ¼": 120880, + "èij¶": 120881, + "èĴĮ": 120882, + "èijŃ": 120883, + "楮": 120884, + "棼": 120885, + "æ¤Ł": 120886, + "棹": 120887, + "椤": 120888, + "棰": 120889, + "èµį": 120890, + "æ¤ĭ": 120891, + "æ¤ģ": 120892, + "椪": 120893, + "æ¤IJ": 120894, + "é¹ģ": 120895, + "éħ¤": 120896, + "éħ¢": 120897, + "éħ¡": 120898, + "é¹Ĥ": 120899, + "æ®ļ": 120900, + "æ®Ľ": 120901, + "鼱": 120902, + "è¾ĭ": 120903, + "æ¤ł": 120904, + "è¾İ": 120905, + "çĿĦ": 120906, + "çĿĩ": 120907, + "çĿĥ": 120908, + "æĪ¢": 120909, + "åĸĭ": 120910, + "åĹĴ": 120911, + "åĸĥ": 120912, + "åĸ±": 120913, + "åĸ¹": 120914, + "æĻ·": 120915, + "åĸĪ": 120916, + "è·ĸ": 120917, + "è·Ĺ": 120918, + "è·ŀ": 120919, + "è·ļ": 120920, + "è·İ": 120921, + "è·ı": 120922, + "è·Ĩ": 120923, + "èĽ±": 120924, + "èĽ²": 120925, + "èĽŃ": 120926, + "èĽ³": 120927, + "èĽIJ": 120928, + "èĽĶ": 120929, + "èĽŀ": 120930, + "èĽ´": 120931, + "èĽĺ": 120932, + "åĸģ": 120933, + "åĸŁ": 120934, + "åķ¾": 120935, + "åĹĸ": 120936, + "åĸij": 120937, + "åĹŁ": 120938, + "åĹŀ": 120939, + "åĸĻ": 120940, + "åµĺ": 120941, + "åµĸ": 120942, + "å´´": 120943, + "éģĦ": 120944, + "è©Ī": 120945, + "åµİ": 120946, + "嵬": 120947, + "åµĽ": 120948, + "嵯": 120949, + "åµĿ": 120950, + "嵫": 120951, + "å¹Ħ": 120952, + "åµĭ": 120953, + "èµķ": 120954, + "éĵ»": 120955, + "éĵ¼": 120956, + "éĵ¿": 120957, + "éĶĥ": 120958, + "éĶĨ": 120959, + "éĶĩ": 120960, + "éĶī": 120961, + "éĶı": 120962, + "éĶij": 120963, + "éĶĴ": 120964, + "éĶĶ": 120965, + "éĶķ": 120966, + "æİ£": 120967, + "磬": 120968, + "æ°°": 120969, + "毳": 120970, + "毽": 120971, + "çĬĬ": 120972, + "çĬĦ": 120973, + "çĬĭ": 120974, + "é¹Ħ": 120975, + "çĬį": 120976, + "åµĩ": 120977, + "é»į": 120978, + "ç¨ĥ": 120979, + "ç¨Ĥ": 120980, + "çŃļ": 120981, + "çѵ": 120982, + "çŃĮ": 120983, + "åĤ£": 120984, + "åĤĪ": 120985, + "èĪĦ": 120986, + "çīį": 120987, + "åĤ¥": 120988, + "åĤ§": 120989, + "éģij": 120990, + "åĤ©": 120991, + "徨": 120992, + "åªŃ": 120993, + "çķ²": 120994, + "å¼ij": 120995, + "ç¿ķ": 120996, + "é¹Ĩ": 120997, + "èħĪ": 120998, + "èħĵ": 120999, + "èħĨ": 121000, + "èħ´": 121001, + "èħļ": 121002, + "èħ±": 121003, + "鱿": 121004, + "é²Ģ": 121005, + "é²Ĥ": 121006, + "çĮ¢": 121007, + "çĮ¹": 121008, + "çĮ¥": 121009, + "é£ĵ": 121010, + "è§ŀ": 121011, + "è§ļ": 121012, + "çĮ±": 121013, + "é¢İ": 121014, + "飧": 121015, + "é¦ĩ": 121016, + "é¦Ĭ": 121017, + "亵": 121018, + "èĦĶ": 121019, + "è£Ĵ": 121020, + "çĹ£": 121021, + "çŨ": 121022, + "çŦ": 121023, + "çĹŀ": 121024, + "çŤ": 121025, + "çŧ": 121026, + "èµĵ": 121027, + "竦": 121028, + "çĵ¿": 121029, + "åķ»": 121030, + "é¢ı": 121031, + "é¹ĩ": 121032, + "éĺij": 121033, + "éĺĴ": 121034, + "éĺķ": 121035, + "ç²ŀ": 121036, + "éģĴ": 121037, + "åѳ": 121038, + "çĦ¯": 121039, + "çĦľ": 121040, + "çĦ±": 121041, + "é¹Ī": 121042, + "渫": 121043, + "æ¹®": 121044, + "æ¹İ": 121045, + "æ¹ľ": 121046, + "æ¹į": 121047, + "湫": 121048, + "溲": 121049, + "æ¹Ł": 121050, + "æºĨ": 121051, + "æ¹²": 121052, + "æ¹Ķ": 121053, + "æ¹ī": 121054, + "渥": 121055, + "æ»ģ": 121056, + "æĦł": 121057, + "æĥº": 121058, + "æĦ¦": 121059, + "æĥ´": 121060, + "æĦĢ": 121061, + "æĦİ": 121062, + "æĦĶ": 121063, + "åĸ¾": 121064, + "å¯IJ": 121065, + "è°Ł": 121066, + "裢": 121067, + "è£İ": 121068, + "裥": 121069, + "祾": 121070, + "è°ł": 121071, + "è°¡": 121072, + "è°¥": 121073, + "è°§": 121074, + "åѱ": 121075, + "å¼¼": 121076, + "å·½": 121077, + "éªĺ": 121078, + "媪": 121079, + "å·¯": 121080, + "ç¿ļ": 121081, + "çļ´": 121082, + "éªĽ": 121083, + "ç¼Ĥ": 121084, + "ç¼ĥ": 121085, + "ç¼Ħ": 121086, + "å½ĺ": 121087, + "ç¼ĩ": 121088, + "ç¼Ī": 121089, + "ç¼Į": 121090, + "ç¼ij": 121091, + "ç¼Ĵ": 121092, + "ç¼Ĺ": 121093, + "飨": 121094, + "èĢ¢": 121095, + "çijģ": 121096, + "çijĹ": 121097, + "çijĦ": 121098, + "éģ¨": 121099, + "éªľ": 121100, + "飫": 121101, + "é«¡": 121102, + "塬": 121103, + "éĦ¢": 121104, + "è¶Ķ": 121105, + "è¶ij": 121106, + "æijħ": 121107, + "æijģ": 121108, + "èľĩ": 121109, + "æIJĭ": 121110, + "æIJª": 121111, + "æIJIJ": 121112, + "æIJĽ": 121113, + "æIJł": 121114, + "æijĪ": 121115, + "å½Ģ": 121116, + "æ¯Ĥ": 121117, + "æIJ¦": 121118, + "æIJ¡": 121119, + "èĵģ": 121120, + "æĪ¡": 121121, + "èĵį": 121122, + "éĦŀ": 121123, + "èĵIJ": 121124, + "èĵ¦": 121125, + "é¹ĭ": 121126, + "èĴ½": 121127, + "èĵĸ": 121128, + "èĵĬ": 121129, + "èĴ¯": 121130, + "èĵŁ": 121131, + "èĵij": 121132, + "èĴº": 121133, + "èĵł": 121134, + "èĴŁ": 121135, + "èĴ¡": 121136, + "èĴ¹": 121137, + "èĴ´": 121138, + "èĴĹ": 121139, + "èĵ¥": 121140, + "æ¥Ķ": 121141, + "æ¥Ĥ": 121142, + "æ¥Ŀ": 121143, + "楫": 121144, + "楸": 121145, + "椴": 121146, + "æ§Į": 121147, + "楯": 121148, + "çļĻ": 121149, + "æ¦Ī": 121150, + "æ§İ": 121151, + "æ¦ī": 121152, + "楦": 121153, + "楣": 121154, + "楹": 121155, + "椽": 121156, + "åī½": 121157, + "éħ©": 121158, + "èľĥ": 121159, + "ç¢Ľ": 121160, + "ç¢ĵ": 121161, + "硼": 121162, + "ç¢ī": 121163, + "ç¢ļ": 121164, + "ç¢ĩ": 121165, + "ç¢ľ": 121166, + "é¹Į": 121167, + "è¾ı": 121168, + "é¾ĥ": 121169, + "é¾ħ": 121170, + "訾": 121171, + "ç²²": 121172, + "çĿļ": 121173, + "åĹª": 121174, + "éŁª": 121175, + "åĹ·": 121176, + "åĹī": 121177, + "çĿ¨": 121178, + "çĿ¢": 121179, + "éĽİ": 121180, + "çĿ¥": 121181, + "åĹij": 121182, + "åĹ«": 121183, + "åŬ": 121184, + "åĹĶ": 121185, + "åĹĿ": 121186, + "æĪ¥": 121187, + "åĹĦ": 121188, + "çħ¦": 121189, + "æļĦ": 121190, + "éģ¢": 121191, + "æļĮ": 121192, + "è·¬": 121193, + "è·¶": 121194, + "è·¸": 121195, + "è·IJ": 121196, + "è·£": 121197, + "è·¹": 121198, + "èĽ¸": 121199, + "èľĬ": 121200, + "èľį": 121201, + "èľī": 121202, + "èľ£": 121203, + "çķ¹": 121204, + "èĽ¹": 121205, + "åĹ¥": 121206, + "åĹ²": 121207, + "åĹ³": 121208, + "åĹĮ": 121209, + "åĹį": 121210, + "åĹIJ": 121211, + "åŤ": 121212, + "åŵ": 121213, + "罨": 121214, + "åµĬ": 121215, + "åµ´": 121216, + "骰": 121217, + "éĶĹ": 121218, + "éĶĽ": 121219, + "éĶľ": 121220, + "éĶĿ": 121221, + "éĶŀ": 121222, + "éĶŁ": 121223, + "éĶ¢": 121224, + "é͍": 121225, + "éĶ©": 121226, + "éĶŃ": 121227, + "éͱ": 121228, + "éĽī": 121229, + "æ°²": 121230, + "çĬı": 121231, + "æŃĥ": 121232, + "ç¨ŀ": 121233, + "ç¨Ĺ": 121234, + "ç¨Ķ": 121235, + "çŃł": 121236, + "çŃ¢": 121237, + "çŃ®": 121238, + "çѲ": 121239, + "çīĴ": 121240, + "æķ«": 121241, + "å¾Ń": 121242, + "æĦĨ": 121243, + "èīĦ": 121244, + "è§İ": 121245, + "毹": 121246, + "è²Ĭ": 121247, + "è²ħ": 121248, + "è²ī": 121249, + "é¢Ķ": 121250, + "èħł": 121251, + "èħ©": 121252, + "èħ¼": 121253, + "èħŃ": 121254, + "èħ§": 121255, + "å¡į": 121256, + "媵": 121257, + "é²ħ": 121258, + "é²Ĩ": 121259, + "é²ĩ": 121260, + "é²Ī": 121261, + "é²ĭ": 121262, + "é²IJ": 121263, + "èĤĦ": 121264, + "é¹IJ": 121265, + "é£ķ": 121266, + "è§¥": 121267, + "éģĽ": 121268, + "é¦IJ": 121269, + "é¹ij": 121270, + "亶": 121271, + "çĺĥ": 121272, + "çű": 121273, + "çĹ¼": 121274, + "çĹ¿": 121275, + "çĺIJ": 121276, + "çĺģ": 121277, + "çĺĨ": 121278, + "éºĤ": 121279, + "æŃĨ": 121280, + "æĹĴ": 121281, + "éĺĸ": 121282, + "éĺĹ": 121283, + "ç¾§": 121284, + "è±¢": 121285, + "ç²³": 121286, + "çĮ·": 121287, + "çħ³": 121288, + "çħ¨": 121289, + "çħħ": 121290, + "çħĬ": 121291, + "çħ¸": 121292, + "çħº": 121293, + "æ»Ł": 121294, + "溱": 121295, + "æºĺ": 121296, + "æ¼Ń": 121297, + "滢": 121298, + "溥": 121299, + "溽": 121300, + "è£Ł": 121301, + "溻": 121302, + "溷": 121303, + "æ»Ĺ": 121304, + "滫": 121305, + "溴": 121306, + "æ»ı": 121307, + "æ»ĥ": 121308, + "滦": 121309, + "æºı": 121310, + "æ»Ĥ": 121311, + "æ»ĵ": 121312, + "æºŁ": 121313, + "滪": 121314, + "æĦ«": 121315, + "æħĬ": 121316, + "é²İ": 121317, + "éªŀ": 121318, + "çªł": 121319, + "窣": 121320, + "裱": 121321, + "裨": 121322, + "裾": 121323, + "裰": 121324, + "ç¦Ĭ": 121325, + "è°©": 121326, + "è°ª": 121327, + "媾": 121328, + "å««": 121329, + "媲": 121330, + "å«Ĵ": 121331, + "å«Ķ": 121332, + "媸": 121333, + "ç¼Ļ": 121334, + "ç¼ľ": 121335, + "ç¼Ľ": 121336, + "è¾Ķ": 121337, + "éªĿ": 121338, + "ç¼Ł": 121339, + "缡": 121340, + "ç¼¢": 121341, + "ç¼£": 121342, + "éªŁ": 121343, + "èĢ¥": 121344, + "çĴĪ": 121345, + "çijŃ": 121346, + "çįĴ": 121347, + "è§ı": 121348, + "æħĿ": 121349, + "å«ł": 121350, + "åıĨ": 121351, + "æij½": 121352, + "å¢ģ": 121353, + "æĴĤ": 121354, + "æijŀ": 121355, + "æĴĦ": 121356, + "ç¿¥": 121357, + "è¸ħ": 121358, + "æijŃ": 121359, + "å¢ī": 121360, + "å¢Ĵ": 121361, + "æ¦ĸ": 121362, + "綦": 121363, + "èĶ«": 121364, + "èĶ·": 121365, + "éĿº": 121366, + "éĿ¼": 121367, + "éŀħ": 121368, + "éĿ¿": 121369, + "çĶį": 121370, + "è͏": 121371, + "èĶŁ": 121372, + "èĶº": 121373, + "æĪ¬": 121374, + "èķĸ": 121375, + "èĶ»": 121376, + "èĵ¿": 121377, + "æĸ¡": 121378, + "é¹ķ": 121379, + "èĵ¼": 121380, + "æ¦Ľ": 121381, + "榧": 121382, + "榫": 121383, + "æ¦Ń": 121384, + "æ§Ķ": 121385, + "榱": 121386, + "æ§ģ": 121387, + "æ§ł": 121388, + "榷": 121389, + "åĥ°": 121390, + "éħ½": 121391, + "éħ¹": 121392, + "碡": 121393, + "碴": 121394, + "碣": 121395, + "碲": 121396, + "èĩ§": 121397, + "豨": 121398, + "殡": 121399, + "éľģ": 121400, + "èľļ": 121401, + "é¾ĩ": 121402, + "é¾Ī": 121403, + "äģ": 121404, + "äģĸ": 121405, + "çĿ½": 121406, + "åĺŀ": 121407, + "åĺĪ": 121408, + "åĺĮ": 121409, + "åĺģ": 121410, + "æļĿ": 121411, + "è¸Į": 121412, + "è¸ī": 121413, + "èľŀ": 121414, + "èľ¥": 121415, + "èľ®": 121416, + "èĿĪ": 121417, + "èľ´": 121418, + "èľ±": 121419, + "èľ©": 121420, + "èľ·": 121421, + "èľ¿": 121422, + "èŀĤ": 121423, + "èľ¢": 121424, + "åĺ¡": 121425, + "é¹Ĺ": 121426, + "åĺ£": 121427, + "åĺ¤": 121428, + "åĺļ": 121429, + "åĹ¾": 121430, + "åĺ§": 121431, + "ç½´": 121432, + "ç½±": 121433, + "å¹Ķ": 121434, + "å¶Ĥ": 121435, + "å¹Ľ": 121436, + "èµĻ": 121437, + "ç½Ĥ": 121438, + "骷": 121439, + "骶": 121440, + "é¹ĺ": 121441, + "éͲ": 121442, + "éĶ´": 121443, + "éͶ": 121444, + "éĶ·": 121445, + "é͏": 121446, + "é͵": 121447, + "éķĤ": 121448, + "çĬĴ": 121449, + "ç®IJ": 121450, + "箦": 121451, + "ç®§": 121452, + "箸": 121453, + "箬": 121454, + "ç®ħ": 121455, + "箪": 121456, + "箾": 121457, + "箢": 121458, + "ç®ĵ": 121459, + "åĥĸ": 121460, + "åĦĨ": 121461, + "åĥ³": 121462, + "åĥŃ": 121463, + "åĬģ": 121464, + "åĥ®": 121465, + "éŃĥ": 121466, + "éŃĨ": 121467, + "çĿ¾": 121468, + "èīĭ": 121469, + "éĦ±": 121470, + "èĨĪ": 121471, + "èĨij": 121472, + "é²ij": 121473, + "é²Ķ": 121474, + "é²ļ": 121475, + "é²Ľ": 121476, + "é²Ł": 121477, + "çįIJ": 121478, + "è§«": 121479, + "éĽĴ": 121480, + "夤": 121481, + "é¦ij": 121482, + "éĬ®": 121483, + "塾": 121484, + "çĺĮ": 121485, + "çĺĬ": 121486, + "çĺĺ": 121487, + "çĺĻ": 121488, + "æĹĸ": 121489, + "èĨĤ": 121490, + "éĺļ": 121491, + "éĦ¯": 121492, + "é²ŀ": 121493, + "粿": 121494, + "ç²¼": 121495, + "ç³ģ": 121496, + "æ§Ĭ": 121497, + "é¹ļ": 121498, + "çĨĺ": 121499, + "çĨ¥": 121500, + "æ½¢": 121501, + "æ¼ķ": 121502, + "滹": 121503, + "漯": 121504, + "æ¼¶": 121505, + "æ½ĭ": 121506, + "æ½´": 121507, + "漪": 121508, + "æ¼ī": 121509, + "漩": 121510, + "æ¾ī": 121511, + "æħµ": 121512, + "æIJ´": 121513, + "窨": 121514, + "寤": 121515, + "ç¶®": 121516, + "è°®": 121517, + "褡": 121518, + "è¤Ļ": 121519, + "è¤ĵ": 121520, + "è¤Ľ": 121521, + "è¤Ĭ": 121522, + "è°¯": 121523, + "è°°": 121524, + "è°²": 121525, + "å±£": 121526, + "é¹Ľ": 121527, + "嫱": 121528, + "å«ĸ": 121529, + "嫦": 121530, + "å«ļ": 121531, + "å«ĺ": 121532, + "é¼IJ": 121533, + "çŀĢ": 121534, + "é¹ľ": 121535, + "éªł": 121536, + "ç¼¥": 121537, + "缦": 121538, + "ç¼§": 121539, + "缨": 121540, + "骢": 121541, + "缫": 121542, + "è̦": 121543, + "ȩ̀": 121544, + "çĴľ": 121545, + "çĴİ": 121546, + "çĴģ": 121547, + "å¥Ń": 121548, + "髯": 121549, + "é««": 121550, + "æĴ·": 121551, + "æĴħ": 121552, + "èµŃ": 121553, + "æĴ¸": 121554, + "éĭĨ": 121555, + "æĴĻ": 121556, + "æĴº": 121557, + "å¢Ģ": 121558, + "èģ©": 121559, + "è§IJ": 121560, + "éŀij": 121561, + "èķĻ": 121562, + "éŀĴ": 121563, + "èķĪ": 121564, + "èķ¨": 121565, + "èķ¤": 121566, + "èķŀ": 121567, + "èķº": 121568, + "çŀ¢": 121569, + "èķĥ": 121570, + "èķ²": 121571, + "èµľ": 121572, + "æ§¿": 121573, + "樯": 121574, + "æ§Ń": 121575, + "æ¨Ĺ": 121576, + "æ¨ĺ": 121577, + "æ§²": 121578, + "éĨĮ": 121579, + "éĨħ": 121580, + "éĿ¥": 121581, + "éŃĩ": 121582, + "é¤į": 121583, + "ç£Ķ": 121584, + "ç£Ļ": 121585, + "éľĪ": 121586, + "è¾ĺ": 121587, + "é¾ī": 121588, + "é¾Ĭ": 121589, + "è§ij": 121590, + "çŀĮ": 121591, + "çŀĭ": 121592, + "çŀij": 121593, + "åĺŃ": 121594, + "åĻİ": 121595, + "å϶": 121596, + "é¢Ļ": 121597, + "æļ¹": 121598, + "åĻĺ": 121599, + "è¸Ķ": 121600, + "è¸Ŀ": 121601, + "è¸Ł": 121602, + "è¸Ĵ": 121603, + "踬": 121604, + "踮": 121605, + "踯": 121606, + "踺": 121607, + "è¸ŀ": 121608, + "èĿ½": 121609, + "èĿ¾": 121610, + "èĿ»": 121611, + "èĿ°": 121612, + "èĿ®": 121613, + "èŀĭ": 121614, + "èĿĵ": 121615, + "èĿ£": 121616, + "èĿ¼": 121617, + "åĺ¬": 121618, + "é¢ļ": 121619, + "åĻį": 121620, + "åĻĻ": 121621, + "åĻĮ": 121622, + "åĻĶ": 121623, + "é¢Ľ": 121624, + "å¹ŀ": 121625, + "幡": 121626, + "å¶Ļ": 121627, + "å¶Ŀ": 121628, + "骺": 121629, + "éķĬ": 121630, + "éķī": 121631, + "éķĮ": 121632, + "éķı": 121633, + "éķĴ": 121634, + "éķĵ": 121635, + "éķĶ": 121636, + "稷": 121637, + "ç®´": 121638, + "ç¯ij": 121639, + "ç¯ģ": 121640, + "ç¯Į": 121641, + "çīĸ": 121642, + "åĦĭ": 121643, + "èĻ¢": 121644, + "é¹ŀ": 121645, + "èĨĺ": 121646, + "é²ł": 121647, + "鲡": 121648, + "é²¢": 121649, + "é²£": 121650, + "é²¥": 121651, + "é²§": 121652, + "鲩": 121653, + "çįĹ": 121654, + "çįł": 121655, + "觯": 121656, + "é¦ĵ": 121657, + "é¦Ķ": 121658, + "麾": 121659, + "å»Ľ": 121660, + "çĺĽ": 121661, + "çĺ¼": 121662, + "çĺ¢": 121663, + "çĺł": 121664, + "é½ij": 121665, + "ç¾°": 121666, + "ð¥»": 121667, + "ð¥»Ĺ": 121668, + "ç³Į": 121669, + "ç³į": 121670, + "ç³ħ": 121671, + "çĨľ": 121672, + "çĨµ": 121673, + "æ¾į": 121674, + "æ¾Į": 121675, + "潸": 121676, + "潦": 121677, + "æ½²": 121678, + "éĭĪ": 121679, + "æ½Ł": 121680, + "潺": 121681, + "寮": 121682, + "窳": 121683, + "è°³": 121684, + "褴": 121685, + "è¤Ł": 121686, + "褫": 121687, + "è°µ": 121688, + "çĨ¨": 121689, + "屦": 121690, + "åĭ°": 121691, + "æĪ®": 121692, + "èĿ¥": 121693, + "缬": 121694, + "ç¼®": 121695, + "缯": 121696, + "骣": 121697, + "çķ¿": 121698, + "èĢ©": 121699, + "è̍": 121700, + "èĢª": 121701, + "çĴŁ": 121702, + "éĿĽ": 121703, + "çĴł": 121704, + "çĴĺ": 121705, + "èģ±": 121706, + "èŀ¯": 121707, + "é«»": 121708, + "é«Ń": 121709, + "髹": 121710, + "æĵĢ": 121711, + "çĶı": 121712, + "æĵŀ": 121713, + "縳": 121714, + "磬": 121715, + "é¢ŀ": 121716, + "èķ»": 121717, + "é¢Ł": 121718, + "èĸ¤": 121719, + "èĸ¨": 121720, + "æªł": 121721, + "èĸı": 121722, + "èĸ®": 121723, + "èĸľ": 121724, + "èĸħ": 121725, + "樾": 121726, + "æ©Ľ": 121727, + "æ©ĩ": 121728, + "樵": 121729, + "æªİ": 121730, + "橹": 121731, + "樽": 121732, + "樨": 121733, + "橼": 121734, + "墼": 121735, + "æ©IJ": 121736, + "ç¿®": 121737, + "éĨIJ": 121738, + "éĨį": 121739, + "éĨļ": 121740, + "磲": 121741, + "èµĿ": 121742, + "殪": 121743, + "éľı": 121744, + "éĮ¾": 121745, + "è¾ļ": 121746, + "éģ½": 121747, + "æ°ħ": 121748, + "çŀŁ": 121749, + "çŀł": 121750, + "çŀ°": 121751, + "åļĦ": 121752, + "åļĨ": 121753, + "åϤ": 121754, + "æļ¾": 121755, + "è¹Ģ": 121756, + "踵": 121757, + "踽": 121758, + "è¹ī": 121759, + "è¹ģ": 121760, + "èŀ¨": 121761, + "èŀĪ": 121762, + "èŀħ": 121763, + "èŀŃ": 121764, + "èŀł": 121765, + "èŀŁ": 121766, + "åϱ": 121767, + "åĻ«": 121768, + "åĻ»": 121769, + "åϼ": 121770, + "ç½¹": 121771, + "åľľ": 121772, + "ä¦": 121773, + "ä¦ĥ": 121774, + "éķĹ": 121775, + "éķĺ": 121776, + "éķļ": 121777, + "éķĽ": 121778, + "éķĿ": 121779, + "éķŀ": 121780, + "éķł": 121781, + "æ°ĩ": 121782, + "æ°Ĩ": 121783, + "ç©ij": 121784, + "ç¯Ŀ": 121785, + "篥": 121786, + "篦": 121787, + "篪": 121788, + "ç¯Ļ": 121789, + "çĽ¥": 121790, + "åĬĵ": 121791, + "翱": 121792, + "éŃī": 121793, + "éŃĪ": 121794, + "å¾¼": 121795, + "æŃĻ": 121796, + "èĨ¦": 121797, + "èĨĻ": 121798, + "é²®": 121799, + "é²±": 121800, + "é²³": 121801, + "é²´": 121802, + "é²µ": 121803, + "é²·": 121804, + "é²»": 121805, + "çį´": 121806, + "çįŃ": 121807, + "çį¬": 121808, + "éĤĤ": 121809, + "é¹§": 121810, + "廨": 121811, + "èµŁ": 121812, + "çĺ°": 121813, + "廪": 121814, + "çĺ¿": 121815, + "çĺµ": 121816, + "çĺ´": 121817, + "çĻĥ": 121818, + "çĺ³": 121819, + "éºĩ": 121820, + "éºĪ": 121821, + "嬴": 121822, + "å£ħ": 121823, + "ç³Ĺ": 121824, + "çĶij": 121825, + "çĩİ": 121826, + "çĩł": 121827, + "çĩĶ": 121828, + "çĩ§": 121829, + "æ¿ij": 121830, + "æ¿ī": 121831, + "æ½ŀ": 121832, + "æ¾§": 121833, + "æ¾¹": 121834, + "æ¾¥": 121835, + "æ¾¶": 121836, + "æ¿Ĥ": 121837, + "褰": 121838, + "窸": 121839, + "å¬ĸ": 121840, + "çĬŁ": 121841, + "éļ°": 121842, + "å¬Ĺ": 121843, + "颡": 121844, + "ç¼±": 121845, + "ç¼²": 121846, + "ç¼³": 121847, + "çĴ©": 121848, + "çĴª": 121849, + "èŀ«": 121850, + "æĵ¤": 121851, + "å£ķ": 121852, + "è§³": 121853, + "ç½Ħ": 121854, + "æĵ¢": 121855, + "èĸ¹": 121856, + "éŀ¡": 121857, + "éŀ¬": 121858, + "èĸ·": 121859, + "èĹĵ": 121860, + "èĹģ": 121861, + "æªĦ": 121862, + "檩": 121863, + "æĩĭ": 121864, + "éĨ¢": 121865, + "翳": 121866, + "ç¤ħ": 121867, + "磴": 121868, + "鹩": 121869, + "é¾ĭ": 121870, + "é¾Į": 121871, + "è±³": 121872, + "å£ij": 121873, + "é»»": 121874, + "åļı": 121875, + "åļħ": 121876, + "è¹ij": 121877, + "è¹Ĵ": 121878, + "è¹Ĭ": 121879, + "èŁ¥": 121880, + "èŀ¬": 121881, + "èŀµ": 121882, + "çĸĥ": 121883, + "èŀ³": 121884, + "èŁij": 121885, + "åļĵ": 121886, + "ç½½": 121887, + "ç½¾": 121888, + "å¶·": 121889, + "黾": 121890, + "é»Ŀ": 121891, + "é«ģ": 121892, + "é«Ģ": 121893, + "éķ¡": 121894, + "éķ¢": 121895, + "éķ£": 121896, + "éķ¦": 121897, + "éķ§": 121898, + "éķ©": 121899, + "éķª": 121900, + "éķ«": 121901, + "ç½ħ": 121902, + "ç°Į": 121903, + "篾": 121904, + "篼": 121905, + "ç°ĸ": 121906, + "ç°ĭ": 121907, + "é¼¢": 121908, + "åĦ¡": 121909, + "鹪": 121910, + "é¼¾": 121911, + "çļ¤": 121912, + "éŃį": 121913, + "é¾ł": 121914, + "ç¹ĩ": 121915, + "è²ĺ": 121916, + "éĤĪ": 121917, + "è²Ķ": 121918, + "èĩĮ": 121919, + "èĨ»": 121920, + "èĩĨ": 121921, + "èĩĥ": 121922, + "é²¼": 121923, + "é²½": 121924, + "é³Ģ": 121925, + "é³ĥ": 121926, + "é³ħ": 121927, + "é³ĩ": 121928, + "é³Ĭ": 121929, + "èŀ½": 121930, + "çĩ®": 121931, + "鹫": 121932, + "ç³ľ": 121933, + "縻": 121934, + "çĻį": 121935, + "éºĭ": 121936, + "æĩij": 121937, + "æ¿¡": 121938, + "æ¿®": 121939, + "æ¿ŀ": 121940, + "æ¿ł": 121941, + "濯": 121942, + "è¹ĩ": 121943, + "è¬ĩ": 121944, + "éĤĥ": 121945, + "è¥ģ": 121946, + "æªĹ": 121947, + "æĵĺ": 121948, + "åŃº": 121949, + "éļ³": 121950, + "嬷": 121951, + "èŁĬ": 121952, + "鹬": 121953, + "éįª": 121954, + "éıĬ": 121955, + "é¬Ī": 121956, + "é¬ĥ": 121957, + "çŀ½": 121958, + "éŀ¯": 121959, + "éŀ¨": 121960, + "éŀ«": 121961, + "éŀ§": 121962, + "éŀ£": 121963, + "èĹľ": 121964, + "èĹł": 121965, + "éĨª": 121966, + "è¹Ļ": 121967, + "ç¤ĵ": 121968, + "çĩ¹": 121969, + "餮": 121970, + "çŀ¿": 121971, + "æĽĽ": 121972, + "颢": 121973, + "èºĩ": 121974, + "è¹ļ": 121975, + "èŁĽ": 121976, + "èŁª": 121977, + "èŁł": 121978, + "èŁ®": 121979, + "é¹®": 121980, + "黳": 121981, + "黣": 121982, + "é«ħ": 121983, + "é«Ĥ": 121984, + "éķ¬": 121985, + "éķŃ": 121986, + "éķ¯": 121987, + "馥": 121988, + "ç°Ł": 121989, + "ç°ª": 121990, + "鼬": 121991, + "鼳": 121992, + "èīŁ": 121993, + "é³İ": 121994, + "é³ı": 121995, + "é³IJ": 121996, + "çĻŀ": 121997, + "çĻĶ": 121998, + "糨": 121999, + "蹩": 122000, + "éİı": 122001, + "éĤĭ": 122002, + "é¬ı": 122003, + "æĶī": 122004, + "éŀ²": 122005, + "éŀ´": 122006, + "èĹ¿": 122007, + "èĺ§": 122008, + "èĺħ": 122009, + "éĨ®": 122010, + "éĨ¯": 122011, + "éħĥ": 122012, + "éľª": 122013, + "éľŃ": 122014, + "龨": 122015, + "黼": 122016, + "åļ¯": 122017, + "è¹°": 122018, + "è¹¶": 122019, + "è¹½": 122020, + "è¹¼": 122021, + "è¹´": 122022, + "è¹¾": 122023, + "蹿": 122024, + "èłĸ": 122025, + "èłĵ": 122026, + "èŁ¾": 122027, + "èłĬ": 122028, + "黢": 122029, + "é«ĭ": 122030, + "é«Į": 122031, + "éķ²": 122032, + "ç±Ģ": 122033, + "é½ģ": 122034, + "éŃij": 122035, + "èī¨": 122036, + "é³ĵ": 122037, + "é³Ķ": 122038, + "é³ķ": 122039, + "é³Ĺ": 122040, + "é³Ļ": 122041, + "éıĸ": 122042, + "羸": 122043, + "ã¸Ĩ": 122044, + "çĢ£": 122045, + "çĢĽ": 122046, + "襦": 122047, + "è°¶": 122048, + "è¥ŀ": 122049, + "骥": 122050, + "ç¼µ": 122051, + "çĵĴ": 122052, + "æĶĺ": 122053, + "èĺ©": 122054, + "èĺĸ": 122055, + "éĨ´": 122056, + "éľ°": 122057, + "éħĨ": 122058, + "çŁį": 122059, + "èºħ": 122060, + "é¼į": 122061, + "å·ī": 122062, + "黩": 122063, + "黥": 122064, + "黪": 122065, + "éķ³": 122066, + "éķ´": 122067, + "é»§": 122068, + "çºĤ": 122069, + "çĴº": 122070, + "鼯": 122071, + "èĩľ": 122072, + "é³ľ": 122073, + "é³Ŀ": 122074, + "é³Ł": 122075, + "çį¾": 122076, + "åŃĢ": 122077, + "骧": 122078, + "çĵĺ": 122079, + "é¼Ļ": 122080, + "éĨº": 122081, + "礴": 122082, + "颦": 122083, + "æĽ©": 122084, + "é³¢": 122085, + "éºĿ": 122086, + "å¤Ķ": 122087, + "çĪĿ": 122088, + "çģı": 122089, + "禳": 122090, + "éIJ¾": 122091, + "ç¾¼": 122092, + "èł¡": 122093, + "è̱": 122094, + "é¹³": 122095, + "æ°į": 122096, + "é¥ķ": 122097, + "èºIJ": 122098, + "é«ij": 122099, + "éķµ": 122100, + "ç©°": 122101, + "é¥Ķ": 122102, + "鬻": 122103, + "鬣": 122104, + "è¶±": 122105, + "æĶ«": 122106, + "æĶ¥": 122107, + "颧": 122108, + "èºľ": 122109, + "é¼¹": 122110, + "çϝ": 122111, + "èł²": 122112, + "èł¹": 122113, + "èºŀ": 122114, + "è¡¢": 122115, + "çģŀ": 122116, + "襻": 122117, + "çºĽ": 122118, + "鬣": 122119, + "æĶ®": 122120, + "åĽĶ": 122121, + "é¦ķ": 122122, + "æĪĨ": 122123, + "ç΍": 122124, + "é½ī": 122125, + "äºį": 122126, + "å°¢": 122127, + "å½³": 122128, + "åį¬": 122129, + "殳": 122130, + "ðłĻ¶": 122131, + "æ¯Į": 122132, + "éĤĺ": 122133, + "æĪĭ": 122134, + "åľ¢": 122135, + "æ°ķ": 122136, + "ä¼ĭ": 122137, + "ä»Ŀ": 122138, + "åĨ®": 122139, + "æ°¿": 122140, + "æ±Ī": 122141, + "æ°¾": 122142, + "å¿ī": 122143, + "å®Ħ": 122144, + "ð¬£Ļ": 122145, + "è®±": 122146, + "æīŀ": 122147, + "åľ²": 122148, + "åľ«": 122149, + "èĬı": 122150, + "èĬĥ": 122151, + "æľ³": 122152, + "æľ¸": 122153, + "ð¨Ļ": 122154, + "ð¨Ļ¸": 122155, + "éĤ¨": 122156, + "åIJĴ": 122157, + "åIJĸ": 122158, + "å±¼": 122159, + "å±¾": 122160, + "辿": 122161, + "éĴĨ": 122162, + "仳": 122163, + "ä¼£": 122164, + "ä¼Ī": 122165, + "çĻ¿": 122166, + "çĶª": 122167, + "éĤł": 122168, + "çĬ´": 122169, + "åĨ±": 122170, + "éĤ¡": 122171, + "ð¬ĩķ": 122172, + "æ±ĭ": 122173, + "äľ": 122174, + "äľ£": 122175, + "è®»": 122176, + "ð¬£ŀ": 122177, + "åŃĸ": 122178, + "ð¬ĺĵ": 122179, + "纩": 122180, + "çİĴ": 122181, + "çİĵ": 122182, + "çİĺ": 122183, + "çİļ": 122184, + "åά": 122185, + "ð«ŃŁ": 122186, + "åĿľ": 122187, + "åĿī": 122188, + "æī½": 122189, + "ð«Ń¢": 122190, + "åĿĭ": 122191, + "æīº": 122192, + "ã§ij": 122193, + "æ¯IJ": 122194, + "èĬ°": 122195, + "èĬ£": 122196, + "èĭĬ": 122197, + "èĭī": 122198, + "èĬĺ": 122199, + "èĬ´": 122200, + "èĬł": 122201, + "ð«ĩ": 122202, + "ð«ĩŃ": 122203, + "èĬ¤": 122204, + "æĿķ": 122205, + "æĿĻ": 122206, + "æĿĦ": 122207, + "æĿ§": 122208, + "æĿ©": 122209, + "å°ª": 122210, + "å°¨": 122211, + "轪": 122212, + "ð«IJĦ": 122213, + "åĿĴ": 122214, + "èĬĪ": 122215, + "æĹ´": 122216, + "æĹµ": 122217, + "åijĻ": 122218, + "ãķ": 122219, + "ãķ®": 122220, + "å²į": 122221, + "ð«µ": 122222, + "𫵷": 122223, + "å²ł": 122224, + "å²ľ": 122225, + "åijĩ": 122226, + "åĨı": 122227, + "è§ĥ": 122228, + "å²Ļ": 122229, + "ä¼¾": 122230, + "ãijĩ": 122231, + "ä¼Ń": 122232, + "ä½ĸ": 122233, + "ä¼²": 122234, + "ä½ģ": 122235, + "é£ı": 122236, + "çĭĥ": 122237, + "éŶ": 122238, + "æ±§": 122239, + "汫": 122240, + "ð£²ĺ": 122241, + "ð£²Ĺ": 122242, + "æ²Ħ": 122243, + "æ²ĺ": 122244, + "ð¬ĩĻ": 122245, + "æ±Ń": 122246, + "ã³ĩ": 122247, + "æ²ĩ": 122248, + "å¿®": 122249, + "忳": 122250, + "忺": 122251, + "𬣡": 122252, + "ç¥ĥ": 122253, + "è¯ĩ": 122254, + "éĤ²": 122255, + "è¯İ": 122256, + "è¯IJ": 122257, + "å±ĥ": 122258, + "ð«¸": 122259, + "𫸩": 122260, + "å²Ĭ": 122261, + "éĺ½": 122262, + "䢺": 122263, + "éĺ¼": 122264, + "妧": 122265, + "å¦ĺ": 122266, + "ð¨ļ": 122267, + "ð¨ļķ": 122268, + "纮": 122269, + "驲": 122270, + "ð«ĺľ": 122271, + "纻": 122272, + "ð¬ĺĺ": 122273, + "ð«ĺĿ": 122274, + "纼": 122275, + "çݤ": 122276, + "çİŀ": 122277, + "çݱ": 122278, + "çİŁ": 122279, + "éĤ½": 122280, + "éĤ¿": 122281, + "åĿ¥": 122282, + "åĿ°": 122283, + "åĿ¬": 122284, + "åĿ½": 122285, + "å¼Ĩ": 122286, + "è̵": 122287, + "䢼": 122288, + "ð¦Ń": 122289, + "ð¦Ńľ": 122290, + "èĮĭ": 122291, + "èĭ§": 122292, + "èĭ¾": 122293, + "èĭł": 122294, + "æŀħ": 122295, + "ãŃİ": 122296, + "æŀĺ": 122297, + "æŀį": 122298, + "çŁ¼": 122299, + "磻": 122300, + "åĮ¼": 122301, + "ð¬¨Ĥ": 122302, + "ð¬Ģ©": 122303, + "ð¬Ģª": 122304, + "æĹ¿": 122305, + "æĺĦ": 122306, + "æĺĴ": 122307, + "æĺĪ": 122308, + "åĴī": 122309, + "åĴĩ": 122310, + "åĴį": 122311, + "å²µ": 122312, + "å²½": 122313, + "岨": 122314, + "å²ŀ": 122315, + "å³Ĥ": 122316, + "ãŁ": 122317, + "ãŁĥ": 122318, + "åĽ·": 122319, + "𬬩": 122320, + "éĴIJ": 122321, + "éĴĶ": 122322, + "éĴĸ": 122323, + "çī¥": 122324, + "ä½´": 122325, + "åŀĪ": 122326, + "ä¾ģ": 122327, + "ä¾¹": 122328, + "佸": 122329, + "佺": 122330, + "éļ¹": 122331, + "ãijĬ": 122332, + "ä¾Ĥ": 122333, + "ä½½": 122334, + "ä¾ĺ": 122335, + "éĥĪ": 122336, + "èĪł": 122337, + "éĥIJ": 122338, + "éĥĥ": 122339, + "æĶ½": 122340, + "èĤŃ": 122341, + "èĤ¸": 122342, + "èĤ·": 122343, + "çĭī": 122344, + "çĭĿ": 122345, + "饳": 122346, + "å¿ŀ": 122347, + "çĤĮ": 122348, + "çĤĨ": 122349, + "æ³Ļ": 122350, + "沺": 122351, + "æ³Ĥ": 122352, + "æ³ľ": 122353, + "æ³ĥ": 122354, + "æ³ĩ": 122355, + "æĢĬ": 122356, + "å³ĥ": 122357, + "穸": 122358, + "ç¥ĭ": 122359, + "ç¥Ĭ": 122360, + "ð«į£": 122361, + "𬣳": 122362, + "𬩽": 122363, + "鸤": 122364, + "å¼¢": 122365, + "弨": 122366, + "éĻij": 122367, + "𬮿": 122368, + "éĻİ": 122369, + "ð¬¯Ģ": 122370, + "åįº": 122371, + "乸": 122372, + "å¦Ń": 122373, + "å§Ī": 122374, + "ð«°": 122375, + "ð«°Ľ": 122376, + "迳": 122377, + "åıķ": 122378, + "𬳵": 122379, + "驵": 122380, + "𬳶": 122381, + "äĮ": 122382, + "äĮ¹": 122383, + "驺": 122384, + "ð«łĬ": 122385, + "ç»ĭ": 122386, + "ç»IJ": 122387, + "çłī": 122388, + "èĢĶ": 122389, + "ãĽĥ": 122390, + "çݶ": 122391, + "çıĩ": 122392, + "çıħ": 122393, + "ð¬įĽ": 122394, + "çıĭ": 122395, + "çݹ": 122396, + "çıĮ": 122397, + "çİ¿": 122398, + "飨": 122399, + "åŀļ": 122400, + "åŀ¯": 122401, + "åŀĻ": 122402, + "åŀ²": 122403, + "åŁı": 122404, + "åŀį": 122405, + "èĢĩ": 122406, + "é¿į": 122407, + "åŀİ": 122408, + "åŀ´": 122409, + "åŀŁ": 122410, + "åŀŀ": 122411, + "æĮĵ": 122412, + "åŀµ": 122413, + "åŀı": 122414, + "æĭ¶": 122415, + "èįĸ": 122416, + "èįģ": 122417, + "èįĻ": 122418, + "èįĽ": 122419, + "èĮĪ": 122420, + "èĮ½": 122421, + "èįĦ": 122422, + "èĮº": 122423, + "ð¬ľ¬": 122424, + "èįĵ": 122425, + "èĮ³": 122426, + "ð¦°": 122427, + "𦰡": 122428, + "èĮĽ": 122429, + "èįŃ": 122430, + "ãŃķ": 122431, + "æŁ·": 122432, + "æŁĥ": 122433, + "æŁĬ": 122434, + "æŀ¹": 122435, + "æłIJ": 122436, + "æŁĸ": 122437, + "éĥļ": 122438, + "åīħ": 122439, + "ä´ĵ": 122440, + "迺": 122441, + "åİĸ": 122442, + "çłĨ": 122443, + "çłij": 122444, + "çłĦ": 122445, + "èĢı": 122446, + "å¥ĵ": 122447, + "ä¶": 122448, + "ä¶®": 122449, + "è½µ": 122450, + "è½·": 122451, + "è½¹": 122452, + "轺": 122453, + "æĺº": 122454, + "ðª¾": 122455, + "𪾢": 122456, + "æĺ½": 122457, + "缷": 122458, + "åĴ¡": 122459, + "åĴº": 122460, + "æĺ³": 122461, + "æĺ£": 122462, + "æĺ¤": 122463, + "æĺ«": 122464, + "æĺ¡": 122465, + "åĴ¥": 122466, + "æĺª": 122467, + "èĻ·": 122468, + "èϏ": 122469, + "åĵĥ": 122470, + "å³ĺ": 122471, + "èĢij": 122472, + "å³Ľ": 122473, + "𪨰": 122474, + "å³Ĺ": 122475, + "å³§": 122476, + "帡": 122477, + "éĴĺ": 122478, + "ð«ĵ§": 122479, + "éĴľ": 122480, + "𬬮": 122481, + "𬬱": 122482, + "ð¬¬Ń": 122483, + "éĴª": 122484, + "éĴ¬": 122485, + "éĴŃ": 122486, + "磧": 122487, + "秬": 122488, + "ä¿«": 122489, + "èĪģ": 122490, + "ä¿ľ": 122491, + "ä¿Ļ": 122492, + "ä¿į": 122493, + "åŀķ": 122494, + "è¡İ": 122495, + "èĪ£": 122496, + "å¼ĩ": 122497, + "ä¾´": 122498, + "鸧": 122499, + "äı¡": 122500, + "èĥł": 122501, + "ð¦Ļ¶": 122502, + "èĥĪ": 122503, + "èĥ©": 122504, + "èĥ£": 122505, + "æľı": 122506, + "é£IJ": 122507, + "è¨Ħ": 122508, + "饻": 122509, + "庤": 122510, + "çĸ¢": 122511, + "çĤ£": 122512, + "çĤŁ": 122513, + "ã¶": 122514, + "ã¶²": 122515, + "æ´Ń": 122516, + "æ´ĺ": 122517, + "æ´ĵ": 122518, + "æ´¿": 122519, + "ã³ļ": 122520, + "æ³ļ": 122521, + "æµĪ": 122522, + "æµī": 122523, + "æ´¸": 122524, + "æ´ij": 122525, + "æ´¢": 122526, + "æ´Ī": 122527, + "æ´ļ": 122528, + "æ´º": 122529, + "æ´¨": 122530, + "æµIJ": 122531, + "ã³ĺ": 122532, + "æ´´": 122533, + "æ´£": 122534, + "æģĶ": 122535, + "宬": 122536, + "çªĢ": 122537, + "æīĤ": 122538, + "è¢Ĩ": 122539, + "ç¥ı": 122540, + "ç¥IJ": 122541, + "ç¥ķ": 122542, + "åıļ": 122543, + "éϧ": 122544, + "éĻŀ": 122545, + "å¨Ģ": 122546, + "å§ŀ": 122547, + "å§±": 122548, + "姤": 122549, + "å§¶": 122550, + "å§½": 122551, + "æŀ²": 122552, + "ç»ĸ": 122553, + "éªĥ": 122554, + "ð¬ĺ¡": 122555, + "𬳽": 122556, + "ð¬ĺ©": 122557, + "ð«Ħ§": 122558, + "å½ĸ": 122559, + "éªī": 122560, + "æģĿ": 122561, + "çıª": 122562, + "çıĽ": 122563, + "çı¹": 122564, + "çIJĬ": 122565, + "çݼ": 122566, + "çıĸ": 122567, + "ðªŁ": 122568, + "ðªŁĿ": 122569, + "çı½": 122570, + "çı¦": 122571, + "çı«": 122572, + "çıĴ": 122573, + "ð¬į¤": 122574, + "çı¢": 122575, + "çıķ": 122576, + "çıĿ": 122577, + "ð«Ń¼": 122578, + "åŁĹ": 122579, + "åŀ¾": 122580, + "åŀº": 122581, + "åŁĨ": 122582, + "åŀ¿": 122583, + "åŁĮ": 122584, + "åŁĩ": 122585, + "èݰ": 122586, + "èĮĿ": 122587, + "ð¬ľ¯": 122588, + "éĦĢ": 122589, + "èݶ": 122590, + "èİĿ": 122591, + "äĵĸ": 122592, + "èİĻ": 122593, + "æł»": 122594, + "æ¡ł": 122595, + "ð¬Ĥ": 122596, + "ð¬Ĥ©": 122597, + "æ¡Ħ": 122598, + "æ¢ł": 122599, + "æł´": 122600, + "梴": 122601, + "æłĴ": 122602, + "éħİ": 122603, + "éħı": 122604, + "ð«łĨ": 122605, + "çłµ": 122606, + "çłł": 122607, + "çł«": 122608, + "糬": 122609, + "ç¡ģ": 122610, + "æģ§": 122611, + "ç¿ĥ": 122612, + "éĥª": 122613, + "ð¨IJ": 122614, + "ð¨IJĪ": 122615, + "è¾Ģ": 122616, + "è¾ģ": 122617, + "ð¬Į": 122618, + "ð¬ĮĹ": 122619, + "åīķ": 122620, + "èµĢ": 122621, + "åĵ¢": 122622, + "æĻħ": 122623, + "æĻĬ": 122624, + "åĶĿ": 122625, + "åĵ³": 122626, + "åĵ±": 122627, + "åĨĶ": 122628, + "æĻĶ": 122629, + "æĻIJ": 122630, + "çķĸ": 122631, + "èļĦ": 122632, + "èļĨ": 122633, + "ð«ij": 122634, + "ð«ij¡": 122635, + "帱": 122636, + "å´ģ": 122637, + "峿": 122638, + "𪨶": 122639, + "å´Ħ": 122640, + "帨": 122641, + "å´Ģ": 122642, + "èµĨ": 122643, + "𬬸": 122644, + "éĴ·": 122645, + "𬬻": 122646, + "𬬹": 122647, + "𬬿": 122648, + "ð¬Ńģ": 122649, + "çľļ": 122650, + "çĶ¡": 122651, + "笫": 122652, + "åĢ»": 122653, + "åĢ´": 122654, + "èĦ©": 122655, + "åĢ®": 122656, + "åĢķ": 122657, + "åĢŀ": 122658, + "ð«¢": 122659, + "𫢸": 122660, + "åĢĵ": 122661, + "å̧": 122662, + "è¡ĥ": 122663, + "èĻĴ": 122664, + "èĪŃ": 122665, + "èΝ": 122666, + "èĪ¥": 122667, + "çĵŀ": 122668, + "鬯": 122669, + "鸰": 122670, + "èĦİ": 122671, + "æľĵ": 122672, + "èĥ²": 122673, + "èĻĵ": 122674, + "é±½": 122675, + "çĭ´": 122676, + "å³±": 122677, + "çĭ»": 122678, + "çľ¢": 122679, + "ð«Ĺ§": 122680, + "åĭį": 122681, + "çĹĦ": 122682, + "çĸ°": 122683, + "çĹĥ": 122684, + "ç«ĺ": 122685, + "ç¾ĸ": 122686, + "ç¾ĵ": 122687, + "æ¡Ĭ": 122688, + "æķī": 122689, + "çĥł": 122690, + "çĥĶ": 122691, + "çĥ¶": 122692, + "çĥ»": 122693, + "ð¬ĬĪ": 122694, + "æ¶į": 122695, + "浡": 122696, + "æµŃ": 122697, + "浬": 122698, + "æ¶Ħ": 122699, + "æ¶¢": 122700, + "æ¶IJ": 122701, + "æµ°": 122702, + "æµŁ": 122703, + "æµĽ": 122704, + "æµ¼": 122705, + "æµ²": 122706, + "æ¶ĺ": 122707, + "æĤĪ": 122708, + "æĤĥ": 122709, + "æĤ¢": 122710, + "ð¬ĴĪ": 122711, + "å®§": 122712, + "çªħ": 122713, + "çªĬ": 122714, + "çªİ": 122715, + "æīħ": 122716, + "æīĨ": 122717, + "袪": 122718, + "è¢Ĺ": 122719, + "袯": 122720, + "祧": 122721, + "éļº": 122722, + "åł²": 122723, + "çĸį": 122724, + "ð¨º": 122725, + "ð¨ºĻ": 122726, + "éĻ´": 122727, + "çĥĿ": 122728, + "çł®": 122729, + "ãĽļ": 122730, + "åĵ¿": 122731, + "ç¿Ģ": 122732, + "ç¿Ĥ": 122733, + "åīŁ": 122734, + "𬳿": 122735, + "ð«Ħ¨": 122736, + "绤": 122737, + "éªį": 122738, + "ð¬ĺ«": 122739, + "äĤ": 122740, + "äĤ®": 122741, + "çIJİ": 122742, + "çı¸": 122743, + "çıµ": 122744, + "çIJĦ": 122745, + "çIJĪ": 122746, + "çIJĢ": 122747, + "çıº": 122748, + "æİŃ": 122749, + "åłİ": 122750, + "åłIJ": 122751, + "åŁ¼": 122752, + "æİİ": 122753, + "åŁ«": 122754, + "åłĮ": 122755, + "æĻ¢": 122756, + "ð«®": 122757, + "ð«®ĥ": 122758, + "æİŀ": 122759, + "åŁª": 122760, + "壸": 122761, + "ãĻį": 122762, + "èģį": 122763, + "èıĿ": 122764, + "èIJļ": 122765, + "èı¥": 122766, + "èİ¿": 122767, + "äĵ«": 122768, + "åĭļ": 122769, + "äĵ¬": 122770, + "èIJĨ": 122771, + "èıĤ": 122772, + "èıį": 122773, + "èı¼": 122774, + "èIJ£": 122775, + "äĵ¨": 122776, + "èıī": 122777, + "äĵĽ": 122778, + "梼": 122779, + "梽": 122780, + "桲": 122781, + "梾": 122782, + "桯": 122783, + "梣": 122784, + "æ¢Į": 122785, + "桹": 122786, + "æķĶ": 122787, + "åİ£": 122788, + "ç¡Ķ": 122789, + "é¿İ": 122790, + "ç¡Ļ": 122791, + "ç¡ļ": 122792, + "ç¡Ĭ": 122793, + "ç¡į": 122794, + "åĭĶ": 122795, + "ä´ķ": 122796, + "é¾ģ": 122797, + "éĢ´": 122798, + "åĶª": 122799, + "åķ«": 122800, + "ç¿Ī": 122801, + "ã«": 122802, + "ã«°": 122803, + "æĻĻ": 122804, + "çķ¤": 122805, + "ð¬±ĸ": 122806, + "è¶¼": 122807, + "è·Ĥ": 122808, + "èĽĥ": 122809, + "èļ²": 122810, + "ð¬Ł½": 122811, + "èļº": 122812, + "åķ´": 122813, + "äİĥ": 122814, + "å´§": 122815, + "å´Ł": 122816, + "å´ŀ": 122817, + "å´Ĵ": 122818, + "å´Į": 122819, + "å´¡": 122820, + "éĵı": 122821, + "ð«ĵ¯": 122822, + "ð«Ł¹": 122823, + "éĵķ": 122824, + "ð«Ł¼": 122825, + "éĵĸ": 122826, + "éĵĺ": 122827, + "éĵļ": 122828, + "éĵŀ": 122829, + "éĵ¥": 122830, + "éĵ´": 122831, + "çī»": 122832, + "çī¿": 122833, + "ç¨Ĩ": 122834, + "笱": 122835, + "笯": 122836, + "åģ°": 122837, + "åģ¡": 122838, + "鸺": 122839, + "åģŃ": 122840, + "åģ²": 122841, + "åģģ": 122842, + "ã¿": 122843, + "ã¿ł": 122844, + "éĦħ": 122845, + "åģĵ": 122846, + "å¾Ľ": 122847, + "è¡Ĵ": 122848, + "èγ": 122849, + "èβ": 122850, + "鸼": 122851, + "æĤĨ": 122852, + "éĦĥ": 122853, + "çĵ»": 122854, + "äĿ": 122855, + "äĿĻ": 122856, + "èĦ¶": 122857, + "èĦŀ": 122858, + "èĦŁ": 122859, + "äı²": 122860, + "é±¾": 122861, + "çĮĩ": 122862, + "çĮĬ": 122863, + "çĮĦ": 122864, + "è§ĸ": 122865, + "ðłħ": 122866, + "ðłħ¤": 122867, + "庱": 122868, + "庼": 122869, + "庳": 122870, + "çĹĵ": 122871, + "ä´Ķ": 122872, + "ç««": 122873, + "åłĥ": 122874, + "éĺĮ": 122875, + "ç¾Ŀ": 122876, + "ç¾ķ": 122877, + "çĦĨ": 122878, + "çĥº": 122879, + "çĦĮ": 122880, + "æ·ı": 122881, + "ð¬ĩ¹": 122882, + "æ·Ł": 122883, + "æ·ľ": 122884, + "æ·´": 122885, + "æ·¯": 122886, + "æ¹´": 122887, + "æ¶´": 122888, + "ð¬į¡": 122889, + "ã¥": 122890, + "ã¥Ħ": 122891, + "æĥĽ": 122892, + "æĥĶ": 122893, + "æĤ°": 122894, + "æĥĻ": 122895, + "å¯ģ": 122896, + "éĢŃ": 122897, + "ð¬¤ĩ": 122898, + "ð«į¯": 122899, + "袼": 122900, + "è£Ī": 122901, + "祲": 122902, + "ð¬¤Ĭ": 122903, + "ð«į²": 122904, + "è°ŀ": 122905, + "èī´": 122906, + "弸": 122907, + "å¼¶": 122908, + "ð¬¯İ": 122909, + "éļĥ": 122910, + "å©ŀ": 122911, + "娵": 122912, + "婼": 122913, + "åªĸ": 122914, + "婳": 122915, + "å©į": 122916, + "å©Į": 122917, + "å©«": 122918, + "婤": 122919, + "å©ĺ": 122920, + "å©ł": 122921, + "ð¬ĺ¬": 122922, + "ð¬ĺŃ": 122923, + "ð¬´Ĥ": 122924, + "ð«ĺ¦": 122925, + "绹": 122926, + "ð«Łħ": 122927, + "ð¬ĺ¯": 122928, + "éªķ": 122929, + "ð«ĺ§": 122930, + "絾": 122931, + "çı·": 122932, + "çIJ²": 122933, + "çIJ¡": 122934, + "çIJŁ": 122935, + "çIJĶ": 122936, + "çIJŃ": 122937, + "åł¾": 122938, + "åł¼": 122939, + "æıķ": 122940, + "ãĻĺ": 122941, + "åł§": 122942, + "åĸĨ": 122943, + "åł¨": 122944, + "å¡ħ": 122945, + "åłł": 122946, + "çµ·": 122947, + "ðª£": 122948, + "𪣻": 122949, + "ð¡İ": 122950, + "ð¡İļ": 122951, + "èijľ": 122952, + "æĥİ": 122953, + "èIJ³": 122954, + "èijĻ": 122955, + "éĿ¬": 122956, + "èij´": 122957, + "èĴĩ": 122958, + "èĴĪ": 122959, + "éĦļ": 122960, + "èĴī": 122961, + "èĵĩ": 122962, + "èIJ©": 122963, + "èij°": 122964, + "èijİ": 122965, + "éĦij": 122966, + "èĴİ": 122967, + "èijĸ": 122968, + "èĴĦ": 122969, + "èIJ¹": 122970, + "棤": 122971, + "棽": 122972, + "棫": 122973, + "æ¤ĵ": 122974, + "æ¤ij": 122975, + "ð¬ĥ": 122976, + "ð¬ĥĬ": 122977, + "é¹Ģ": 122978, + "æ¤Ĩ": 122979, + "æ£ĵ": 122980, + "棬": 122981, + "棪": 122982, + "æ¤Ģ": 122983, + "æ¥Ĺ": 122984, + "ð¬·": 122985, + "ð¬·ķ": 122986, + "çͦ": 122987, + "éħ¦": 122988, + "è§Į": 122989, + "奡": 122990, + "çļķ": 122991, + "硪": 122992, + "欹": 122993, + "è©Ł": 122994, + "ð«IJIJ": 122995, + "è¾Į": 122996, + "æ£IJ": 122997, + "é¾Ĥ": 122998, + "ð¬¹": 122999, + "𬹼": 123000, + "黹": 123001, + "çīļ": 123002, + "çĿİ": 123003, + "æĻ«": 123004, + "æĻª": 123005, + "æĻ±": 123006, + "ð§": 123007, + "ð§¿": 123008, + "ð§¿¹": 123009, + "èĽij": 123010, + "çķ¯": 123011, + "æĸĿ": 123012, + "åĸ¤": 123013, + "å´¶": 123014, + "åµģ": 123015, + "ð«¶": 123016, + "ð«¶ĩ": 123017, + "å´¾": 123018, + "åµħ": 123019, + "å´¿": 123020, + "åµļ": 123021, + "ç¿Ļ": 123022, + "ð«ĸ®": 123023, + "åľĮ": 123024, + "åľIJ": 123025, + "èµij": 123026, + "èµĴ": 123027, + "é¿ı": 123028, + "éĵ¹": 123029, + "ð¬ŃĬ": 123030, + "éĵ½": 123031, + "ð¨±ĩ": 123032, + "ð«ĵ¶": 123033, + "éĶĬ": 123034, + "éĶį": 123035, + "éĶİ": 123036, + "ð¬Ńİ": 123037, + "éĶĵ": 123038, + "çĬĩ": 123039, + "é¢ĭ": 123040, + "ç¨Į": 123041, + "çŃĢ": 123042, + "çŃĺ": 123043, + "çŃľ": 123044, + "çŃ¥": 123045, + "çŃħ": 123046, + "åĤĥ": 123047, + "åĤī": 123048, + "ç¿Ľ": 123049, + "åĤĴ": 123050, + "åĤķ": 123051, + "èξ": 123052, + "çķ¬": 123053, + "ð«ĸ¯": 123054, + "èĦ¿": 123055, + "èħĺ": 123056, + "äIJ": 123057, + "äIJĥ": 123058, + "èħĻ": 123059, + "èħĴ": 123060, + "ð¬±Ł": 123061, + "é²ĥ": 123062, + "çĮ°": 123063, + "ð«Ľ": 123064, + "ð«ĽŃ": 123065, + "çĮ¯": 123066, + "ãº": 123067, + "ãºĦ": 123068, + "é¦ī": 123069, + "åĩĵ": 123070, + "éĦĹ": 123071, + "ð«·": 123072, + "ð«··": 123073, + "å»ĭ": 123074, + "å»Ĩ": 123075, + "éĦĮ": 123076, + "ç²¢": 123077, + "éģĨ": 123078, + "æĹIJ": 123079, + "𬮱": 123080, + "çĦŀ": 123081, + "ð¬Ĭ¤": 123082, + "欻": 123083, + "ð£¸": 123084, + "𣸣": 123085, + "æºļ": 123086, + "æºģ": 123087, + "æ¹Ŀ": 123088, + "渰": 123089, + "æ¹ĵ": 123090, + "ã´": 123091, + "ã´Ķ": 123092, + "æ¸Ł": 123093, + "æºł": 123094, + "渼": 123095, + "æºĩ": 123096, + "æ¹£": 123097, + "æ¹ij": 123098, + "æºŀ": 123099, + "æĦIJ": 123100, + "æĦĥ": 123101, + "æķ©": 123102, + "ç͝": 123103, + "棨": 123104, + "æīĬ": 123105, + "裣": 123106, + "祼": 123107, + "å©»": 123108, + "åªĨ": 123109, + "åªŀ": 123110, + "ãĽ¹": 123111, + "åªĵ": 123112, + "åªĤ": 123113, + "åªĦ": 123114, + "毵": 123115, + "çŁŀ": 123116, + "ð¬´ĥ": 123117, + "ð«ĺ¨": 123118, + "ç¼Ĭ": 123119, + "ç¼IJ": 123120, + "éªĻ": 123121, + "çijĥ": 123122, + "çijĵ": 123123, + "çijħ": 123124, + "çijĨ": 123125, + "ä´ĸ": 123126, + "çijĸ": 123127, + "çijĿ": 123128, + "çijĶ": 123129, + "çijĢ": 123130, + "ð¤§": 123131, + "ð¤§Ľ": 123132, + "çij³": 123133, + "çijĤ": 123134, + "å¶ħ": 123135, + "çijij": 123136, + "éģĺ": 123137, + "é«¢": 123138, + "å¡¥": 123139, + "åł½": 123140, + "赪": 123141, + "æijĽ": 123142, + "å¡Ŀ": 123143, + "æIJĴ": 123144, + "æIJĮ": 123145, + "èĴ±": 123146, + "èĴ¨": 123147, + "èĵı": 123148, + "èĶĢ": 123149, + "èĵ¢": 123150, + "èĵĤ": 123151, + "èĴ»": 123152, + "èĵ£": 123153, + "椹": 123154, + "楪": 123155, + "æ¦ĥ": 123156, + "æ¦ħ": 123157, + "æ¥Ĵ": 123158, + "楩": 123159, + "æ¦ĩ": 123160, + "椸": 123161, + "æ¥Ļ": 123162, + "æŃħ": 123163, + "ð¬ª": 123164, + "𬪩": 123165, + "ç¢ĥ": 123166, + "ç¢ı": 123167, + "ð¬ĴĶ": 123168, + "ç¢Ī": 123169, + "äĥħ": 123170, + "ç¡¿": 123171, + "éĦł": 123172, + "è¾Ĵ": 123173, + "ð¬¨İ": 123174, + "ð«IJĵ": 123175, + "é¾Ĩ": 123176, + "è§ľ": 123177, + "ä£": 123178, + "ä£ĺ": 123179, + "æļķ": 123180, + "é¹į": 123181, + "ð««": 123182, + "ð««ĩ": 123183, + "ã¬Ĭ": 123184, + "æļħ": 123185, + "è·±": 123186, + "èľIJ": 123187, + "èľİ": 123188, + "åµ²": 123189, + "èµĹ": 123190, + "骱": 123191, + "éĶĸ": 123192, + "ð«ĵ¹": 123193, + "éĶĺ": 123194, + "éͳ": 123195, + "éͧ": 123196, + "éĶª": 123197, + "ð¬Ńļ": 123198, + "éĶ«": 123199, + "éͬ": 123200, + "ð¬ŃĽ": 123201, + "ç¨ij": 123202, + "ç¨Ļ": 123203, + "äħ": 123204, + "äħŁ": 123205, + "ð¬ķ": 123206, + "ð¬ķĤ": 123207, + "çŃ»": 123208, + "çѼ": 123209, + "çѶ": 123210, + "çѦ": 123211, + "çѤ": 123212, + "åĤº": 123213, + "é¹İ": 123214, + "åĥĩ": 123215, + "èīħ": 123216, + "èīī": 123217, + "è°¼": 123218, + "è²Ĩ": 123219, + "èħ½": 123220, + "èħ¨": 123221, + "èħ¯": 123222, + "é²ī": 123223, + "é²Ĭ": 123224, + "é²Į": 123225, + "ä²Ł": 123226, + "ð¬¶ĭ": 123227, + "ð¬¶į": 123228, + "é²ı": 123229, + "éĽĬ": 123230, + "çĮº": 123231, + "é£Ķ": 123232, + "è§Ł": 123233, + "ð¦Ŀ¼": 123234, + "é¦Į": 123235, + "è£Ľ": 123236, + "å»Ĵ": 123237, + "çĺħ": 123238, + "éĦĺ": 123239, + "é¹Ĵ": 123240, + "éĦľ": 123241, + "éºĢ": 123242, + "éĦ£": 123243, + "éĺĺ": 123244, + "ð«Ķ¶": 123245, + "çħģ": 123246, + "çħĥ": 123247, + "çħ´": 123248, + "çħĭ": 123249, + "çħŁ": 123250, + "çħĵ": 123251, + "æ»ł": 123252, + "æºį": 123253, + "溹": 123254, + "æ»Ĩ": 123255, + "æ»ī": 123256, + "溦": 123257, + "溵": 123258, + "æ¼·": 123259, + "æ»§": 123260, + "æ»ĺ": 123261, + "æ»į": 123262, + "æĦŃ": 123263, + "æħ¥": 123264, + "æħĨ": 123265, + "塱": 123266, + "ð«ĮĢ": 123267, + "裼": 123268, + "ç¦ĭ": 123269, + "ç¦Ķ": 123270, + "ç¦ĺ": 123271, + "ç¦Ĵ": 123272, + "è°«": 123273, + "é¹Ķ": 123274, + "ð«ĸ³": 123275, + "æĦį": 123276, + "å«Ħ": 123277, + "媱": 123278, + "æĪ¤": 123279, + "åĭł": 123280, + "æĪ£": 123281, + "ð«ĺª": 123282, + "ð«ĺ¬": 123283, + "ç¼ŀ": 123284, + "è̤": 123285, + "çij§": 123286, + "ð«ŀ": 123287, + "ð«ŀ©": 123288, + "çij¨": 123289, + "çij±": 123290, + "çij·": 123291, + "çij¢": 123292, + "æĸł": 123293, + "æijı": 123294, + "å¢ķ": 123295, + "å¢Ī": 123296, + "å¢IJ": 123297, + "å¢ĺ": 123298, + "æij´": 123299, + "éĬİ": 123300, + "ð¡IJ": 123301, + "ð¡IJĵ": 123302, + "å¢ļ": 123303, + "æĴĸ": 123304, + "ðª¤": 123305, + "ðª¤Ĺ": 123306, + "éĿ½": 123307, + "éŀģ": 123308, + "èĶĮ": 123309, + "èĶĪ": 123310, + "èĵ°": 123311, + "è͹": 123312, + "èĶĬ": 123313, + "åĺı": 123314, + "榰": 123315, + "æ¦ij": 123316, + "æ§ļ": 123317, + "ð£Ĺ": 123318, + "ð£Ĺĭ": 123319, + "æ§ľ": 123320, + "æ¦į": 123321, + "çĸIJ": 123322, + "ð¬¸ĺ": 123323, + "éħº": 123324, + "éħ¾": 123325, + "éħ²": 123326, + "éħ´": 123327, + "碶": 123328, + "äĥİ": 123329, + "ð¬ĴĹ": 123330, + "碨": 123331, + "ð¥Ķ": 123332, + "ð¥Ķ²": 123333, + "碹": 123334, + "碥": 123335, + "åĬĤ": 123336, + "ð«ļĸ": 123337, + "ä´Ĺ": 123338, + "夥": 123339, + "çŀį": 123340, + "é¹ĸ": 123341, + "ã¬İ": 123342, + "è·½": 123343, + "èľ¾": 123344, + "å¹ĸ": 123345, + "å¶į": 123346, + "åľĻ": 123347, + "ð¨±ı": 123348, + "éĶº": 123349, + "éͼ": 123350, + "éͽ": 123351, + "ð¬Ń¤": 123352, + "é;": 123353, + "éĶ¿": 123354, + "éķĥ": 123355, + "éķĦ": 123356, + "éķħ": 123357, + "é¦Ŀ": 123358, + "é¹Ļ": 123359, + "箨": 123360, + "ç®ĸ": 123361, + "åĬĦ": 123362, + "åĥ¬": 123363, + "åĥ¦": 123364, + "åĥĶ": 123365, + "åĥİ": 123366, + "æ§ĥ": 123367, + "ãϦ": 123368, + "é²Ĵ": 123369, + "é²ķ": 123370, + "ð«ļķ": 123371, + "é²ĸ": 123372, + "é²Ĺ": 123373, + "é²ĺ": 123374, + "é²Ļ": 123375, + "ð¬¶IJ": 123376, + "ð¬¶ı": 123377, + "ð©½": 123378, + "𩽾": 123379, + "å¤IJ": 123380, + "çįį": 123381, + "é£Ĺ": 123382, + "ð¬¸ļ": 123383, + "åĩĺ": 123384, + "å»ij": 123385, + "å»Ļ": 123386, + "çĺĹ": 123387, + "çĺ¥": 123388, + "çĺķ": 123389, + "é²Ŀ": 123390, + "éĦ«": 123391, + "çĨĩ": 123392, + "æ¼¹": 123393, + "æ¼ĸ": 123394, + "æ½Ĩ": 123395, + "漤": 123396, + "潩": 123397, + "æ¼¼": 123398, + "æ¼´": 123399, + "ã½": 123400, + "ã½ı": 123401, + "æ¼Ī": 123402, + "æ¼ĭ": 123403, + "æ¼»": 123404, + "æħ¬": 123405, + "窬": 123406, + "çªŃ": 123407, + "ã®": 123408, + "㮾": 123409, + "ð¬¤Ŀ": 123410, + "è¤ķ": 123411, + "禼": 123412, + "ç¦ļ": 123413, + "éļ©": 123414, + "å«ķ": 123415, + "å«Ń": 123416, + "å«ľ": 123417, + "嫪": 123418, + "ð¬ĻĤ": 123419, + "ã»": 123420, + "㻬": 123421, + "麹": 123422, + "çĴĨ": 123423, + "漦": 123424, + "åıĩ": 123425, + "墣": 123426, + "墦": 123427, + "墡": 123428, + "åĬIJ": 123429, + "èĸģ": 123430, + "èķ°": 123431, + "èĶĥ": 123432, + "é¼Ĵ": 123433, + "æ§±": 123434, + "é¹Ŀ": 123435, + "ç£ı": 123436, + "ç£ī": 123437, + "殣": 123438, + "æħŃ": 123439, + "éľħ": 123440, + "æļµ": 123441, + "æļ²": 123442, + "æļ¶": 123443, + "踦": 123444, + "踣": 123445, + "äĹĸ": 123446, + "èĿĺ": 123447, + "èĿ²": 123448, + "èĿ¤": 123449, + "åĻĩ": 123450, + "åĻĤ": 123451, + "åĻĢ": 123452, + "ç½¶": 123453, + "å¶²": 123454, + "å¶ĵ": 123455, + "ãłĩ": 123456, + "å¶Ł": 123457, + "å¶Ĵ": 123458, + "éķĨ": 123459, + "éķĪ": 123460, + "éķĭ": 123461, + "éķİ": 123462, + "ð¬Ń©": 123463, + "éķķ": 123464, + "稹": 123465, + "åĦĩ": 123466, + "çļŀ": 123467, + "çļĽ": 123468, + "ä´ĺ": 123469, + "èīİ": 123470, + "èīı": 123471, + "é¹Ł": 123472, + "ð©¾ĥ": 123473, + "鲦": 123474, + "鲪": 123475, + "鲬": 123476, + "æ©¥": 123477, + "è§Ń": 123478, + "é¹ł": 123479, + "鹡": 123480, + "ç³ĩ": 123481, + "ç³Ī": 123482, + "翦": 123483, + "é¹¢": 123484, + "é¹£": 123485, + "çĨĽ": 123486, + "æ½ĸ": 123487, + "æ½µ": 123488, + "ãµ": 123489, + "ãµIJ": 123490, + "æ¾Ĥ": 123491, + "æ¾Ľ": 123492, + "çij¬": 123493, + "æ½½": 123494, + "æ½¾": 123495, + "æ½ı": 123496, + "æĨŃ": 123497, + "æĨķ": 123498, + "𬸣": 123499, + "æĪŃ": 123500, + "褯": 123501, + "禤": 123502, + "ð«į½": 123503, + "嫽": 123504, + "éģ¹": 123505, + "ð¬´Ĭ": 123506, + "çĴ¥": 123507, + "çĴ²": 123508, + "çĴĴ": 123509, + "æĨĻ": 123510, + "æĵIJ": 123511, + "éĦ¹": 123512, + "èĸ³": 123513, + "éŀĶ": 123514, + "é»ĩ": 123515, + "ð¬ŀ": 123516, + "ð¬ŀŁ": 123517, + "èķĹ": 123518, + "èĸ¢": 123519, + "èķ¹": 123520, + "æ©ŀ": 123521, + "æ©ij": 123522, + "橦": 123523, + "éĨij": 123524, + "è§±": 123525, + "磡": 123526, + "ð¥ķ": 123527, + "ð¥ķ¢": 123528, + "ç£ľ": 123529, + "è±®": 123530, + "ð«Ł¦": 123531, + "ð¬ºĪ": 123532, + "ð«łľ": 123533, + "é¹¾": 123534, + "èϤ": 123535, + "æļ¿": 123536, + "æĽĮ": 123537, + "æĽĪ": 123538, + "ã¬ļ": 123539, + "è¹ħ": 123540, + "踶": 123541, + "äĹĽ": 123542, + "èŀĹ": 123543, + "çĸģ": 123544, + "ãłĵ": 123545, + "幪": 123546, + "ðª©": 123547, + "ðª©ĺ": 123548, + "嶦": 123549, + "ð¬Ń¬": 123550, + "ð¨±ij": 123551, + "ð¬Ń¯": 123552, + "é¦ŀ": 123553, + "ç©Ħ": 123554, + "ç¯ļ": 123555, + "篯": 123556, + "ç°ī": 123557, + "é¼½": 123558, + "è¡ł": 123559, + "缦": 123560, + "èŀ£": 123561, + "縢": 123562, + "é²Ń": 123563, + "鲯": 123564, + "é²°": 123565, + "鲺": 123566, + "é²¹": 123567, + "ð«Ĺ´": 123568, + "亸": 123569, + "çĻĢ": 123570, + "çĺŃ": 123571, + "𬸦": 123572, + "ç¾±": 123573, + "ç³Ĵ": 123574, + "çĩĭ": 123575, + "çĨ»": 123576, + "çĩĬ": 123577, + "çĩļ": 123578, + "çĩı": 123579, + "æ¿©": 123580, + "æ¿ĭ": 123581, + "澪": 123582, + "æ¾½": 123583, + "æ¾´": 123584, + "æ¾Ń": 123585, + "æ¾¼": 123586, + "æĨ·": 123587, + "æĨº": 123588, + "æĩĶ": 123589, + "é»ī": 123590, + "å¬Ľ": 123591, + "鹨": 123592, + "翯": 123593, + "ð«Ħ·": 123594, + "çĴ±": 123595, + "𤩽": 123596, + "çĴ¬": 123597, + "çĴ®": 123598, + "髽": 123599, + "æĵ¿": 123600, + "èĸ¿": 123601, + "èĸ¸": 123602, + "æªij": 123603, + "æ«Ĩ": 123604, + "æªŀ": 123605, + "éĨ¨": 123606, + "ç¹Ħ": 123607, + "磹": 123608, + "磻": 123609, + "çŀ«": 123610, + "çŀµ": 123611, + "è¹IJ": 123612, + "èŁı": 123613, + "ãĺ": 123614, + "ãĺİ": 123615, + "ð¬Ń³": 123616, + "éķ¤": 123617, + "ð¬Ń¶": 123618, + "ð«Ķį": 123619, + "éķ¥": 123620, + "éķ¨": 123621, + "ð¬Ń¸": 123622, + "ð¨±Ķ": 123623, + "ð¬Ń¼": 123624, + "ð«Ķİ": 123625, + "磰": 123626, + "ç©Ļ": 123627, + "穾": 123628, + "穣": 123629, + "ç°ķ": 123630, + "ç°ĥ": 123631, + "ç°ı": 123632, + "åĦ¦": 123633, + "éŃĭ": 123634, + "æĸ¶": 123635, + "èīļ": 123636, + "𬸪": 123637, + "è°¿": 123638, + "ä²ł": 123639, + "ð¬¶Ł": 123640, + "é²¾": 123641, + "ð¬¶ł": 123642, + "鲿": 123643, + "é³ģ": 123644, + "é³Ĥ": 123645, + "é³Ī": 123646, + "é³ī": 123647, + "çį¯": 123648, + "äĹª": 123649, + "é¦ĺ": 123650, + "è¥ķ": 123651, + "è¥ļ": 123652, + "𬶨": 123653, + "èŀ±": 123654, + "çĶĵ": 123655, + "嬬": 123656, + "嬥": 123657, + "ð¦Ī": 123658, + "ð¦Ī¡": 123659, + "ð«Ħ¸": 123660, + "çĵĢ": 123661, + "éĩIJ": 123662, + "鬶": 123663, + "çĪĩ": 123664, + "éŀ³": 123665, + "éŀ®": 123666, + "ð¬Łģ": 123667, + "èĹŁ": 123668, + "èŦ": 123669, + "èŨ": 123670, + "é¹²": 123671, + "檫": 123672, + "黡": 123673, + "ç¤ŀ": 123674, + "ç¤Į": 123675, + "ð¥ĸ": 123676, + "ð¥ĸ¨": 123677, + "è¹¢": 123678, + "è¹ľ": 123679, + "èŁ«": 123680, + "äĹ´": 123681, + "åļļ": 123682, + "é«ĥ": 123683, + "éķ®": 123684, + "éķ±": 123685, + "éħĤ": 123686, + "馧": 123687, + "ç°ł": 123688, + "ç°Ŀ": 123689, + "ç°°": 123690, + "鼫": 123691, + "鼩": 123692, + "çļ¦": 123693, + "èĩij": 123694, + "ä²¢": 123695, + "é³ij": 123696, + "é³Ĵ": 123697, + "é¹±": 123698, + "鹯": 123699, + "çĻĹ": 123700, + "ð¦Ĵ": 123701, + "ð¦Ĵį": 123702, + "æĹŀ": 123703, + "ç¿·": 123704, + "åĨģ": 123705, + "äİĸ": 123706, + "çĢĶ": 123707, + "çĢį": 123708, + "çĢĮ": 123709, + "è¥ľ": 123710, + "ä´Ļ": 123711, + "ð¬ĻĬ": 123712, + "åļŃ": 123713, + "ã°": 123714, + "ã°Ģ": 123715, + "鬷": 123716, + "éĨŃ": 123717, + "蹯": 123718, + "èłĭ": 123719, + "翾": 123720, + "é³ĺ": 123721, + "åĦ³": 123722, + "åĦ´": 123723, + "é¼Ĺ": 123724, + "ð¬¶Ń": 123725, + "ð©¾Į": 123726, + "é³ļ": 123727, + "é³Ľ": 123728, + "éºij": 123729, + "éºĸ": 123730, + "èłĥ": 123731, + "å½Ł": 123732, + "嬿": 123733, + "é¬Ĵ": 123734, + "èĺĺ": 123735, + "æ¬Ĥ": 123736, + "éĨµ": 123737, + "颥": 123738, + "çĶĹ": 123739, + "ð¨Ł": 123740, + "ð¨Łł": 123741, + "å·ĩ": 123742, + "éħħ": 123743, + "é«İ": 123744, + "çĬ¨": 123745, + "𬶮": 123746, + "ð¨Ń": 123747, + "ð¨Ńī": 123748, + "ã¸Į": 123749, + "çĪĶ": 123750, + "ç̱": 123751, + "ç̹": 123752, + "ç̼": 123753, + "ç̵": 123754, + "襫": 123755, + "åŃħ": 123756, + "骦": 123757, + "ð¬Ļĭ": 123758, + "ḛ̀": 123759, + "ð¤«": 123760, + "ð¤«ī": 123761, + "çĵĸ": 123762, + "é¬ĺ": 123763, + "趯": 123764, + "ð¬ºĵ": 123765, + "ç½į": 123766, + "é¼±": 123767, + "é³ł": 123768, + "鳡": 123769, + "é³£": 123770, + "çĪŁ": 123771, + "çĪļ": 123772, + "çģĪ": 123773, + "éŁĤ": 123774, + "ç³µ": 123775, + "èĺ¼": 123776, + "礵": 123777, + "é¹´": 123778, + "èºĶ": 123779, + "çļŃ": 123780, + "é¾¢": 123781, + "鳤": 123782, + "亹": 123783, + "ç±¥": 123784, + "é¼·": 123785, + "ð«ļŃ": 123786, + "çİĥ": 123787, + "éĨ¾": 123788, + "é½ĩ": 123789, + "è§¿": 123790, + "èł¼": 123791, + "×§": 123792, + "פ": 123793, + "׼": 123794, + "×ķת": 123795, + "ס": 123796, + "×Ļ×Ŀ": 123797, + "צ": 123798, + "×Ĵ": 123799, + "×ĺ": 123800, + "×ķר": 123801, + "×Ŀ": 123802, + "×ķ׾": 123803, + "×ĸ": 123804, + "à¹Ĥ": 123805, + "ïº": 123806, + "ðŁį": 123807, + "ðŁIJ": 123808, + "×Ļר": 123809, + "ï»": 123810, + "ðŁij": 123811, + "ðĿIJ": 123812, + "ðŁı": 123813, + "ðŁĶ": 123814, + "ðŁĮ": 123815, + "ðŁİ": 123816, + "ðŁĵ": 123817, + "ף": 123818, + "ðĿij": 123819, + "×ķ×ĵ": 123820, + "ï¦": 123821, + "Ġ×ķ": 123822, + "×ķ×ij": 123823, + "à¸Ńà¸ĩ": 123824, + "ðĿĺ": 123825, + "×Ļת": 123826, + "ðĿķ": 123827, + "à¸Ĺีà¹Ī": 123828, + "ائ": 123829, + "ð٤": 123830, + "×ķף": 123831, + "رÙĬ": 123832, + "×Ļ׾": 123833, + "ระ": 123834, + "าย": 123835, + "ï¯": 123836, + "ï®": 123837, + "าม": 123838, + "âĩ": 123839, + "ðŁ¥": 123840, + "ïŃ": 123841, + "ðĿĻ": 123842, + "×ķ׳": 123843, + "á½": 123844, + "Ġ׼": 123845, + "ðŁļ": 123846, + "âļ": 123847, + "ï§": 123848, + "×ijר": 123849, + "×Ļ׳": 123850, + "á´": 123851, + "Ġ×Ĺ": 123852, + "á¼": 123853, + "ðĿĹ": 123854, + "Ġ×¢": 123855, + "×Ļ×Ķ": 123856, + "ãģ£ãģŁ": 123857, + "ãģĵãģ¨": 123858, + "á¸": 123859, + "ÙĬÙĨ": 123860, + "ãģªãģĦ": 123861, + "اع": 123862, + "ศ": 123863, + "à¹Īà¸ĩ": 123864, + "×Ļ×ĵ": 123865, + "×ŀש": 123866, + "áĪ": 123867, + "׳×Ļ": 123868, + "×Ļ×ij": 123869, + "ï¥": 123870, + "ðĿĵ": 123871, + "Ġ×Ļ": 123872, + "×ļ": 123873, + "ัà¸ĩ": 123874, + "âĵ": 123875, + "ï¤": 123876, + "ĠاÙĦØ£": 123877, + "าà¸ģ": 123878, + "à¹īà¸Ļ": 123879, + "à¹Ģร": 123880, + "×ķ×Ŀ": 123881, + "á¹": 123882, + "ึ": 123883, + "×Ļ×§": 123884, + "à¸ĭ": 123885, + "à¸Ħร": 123886, + "à¸ĺ": 123887, + "ัà¸ģ": 123888, + "ðŁķ": 123889, + "ÙĪÙĨ": 123890, + "à¸Ńย": 123891, + "âĬ": 123892, + "ðĿĴ": 123893, + "ĠاÙĦع": 123894, + "าà¸Ļ": 123895, + "×Ļף": 123896, + "ÙĦÙĬ": 123897, + "×Ļש": 123898, + "à¸Ľà¸£à¸°": 123899, + "à¹Ģà¸Ľ": 123900, + "Ġ׳": 123901, + "×ķס": 123902, + "à¸ł": 123903, + "ÙħÙĨ": 123904, + "×ķ×¢": 123905, + "×ķ×ŀ": 123906, + "âĮ": 123907, + "ð٧": 123908, + "à¹ĩà¸Ļ": 123909, + "à¸į": 123910, + "ãİ": 123911, + "áµ": 123912, + "ĠاÙĦس": 123913, + "×ķ×§": 123914, + "หล": 123915, + "ðŁĩ": 123916, + "âı": 123917, + "ð٦": 123918, + "Ġ×Ķ×ŀ": 123919, + "ÙĪØ§": 123920, + "Ġת": 123921, + "ר×IJ": 123922, + "à¸Ńà¸Ļ": 123923, + "ษ": 123924, + "à¹Īว": 123925, + "×ķצ": 123926, + "íĹ": 123927, + "ãĦ": 123928, + "ï¨": 123929, + "ï¹": 123930, + "âİ": 123931, + "ï²": 123932, + "ðĿļ": 123933, + "ðIJ": 123934, + "à¸Ħว": 123935, + "หà¸Ļ": 123936, + "Ġר": 123937, + "بÙĬ": 123938, + "รà¹Į": 123939, + "را": 123940, + "شر": 123941, + "×ķ×Ĺ": 123942, + "×ķפ": 123943, + "×ķש": 123944, + "×ķ×Ĵ": 123945, + "íĿ": 123946, + "âĽ": 123947, + "à¸ķิ": 123948, + "à¹Ģà¸ģ": 123949, + "ï³": 123950, + "ï±": 123951, + "à¸Ķà¹ī": 123952, + "ë¹": 123953, + "ï¬": 123954, + "á¿": 123955, + "ðŁĽ": 123956, + "ðĿĸ": 123957, + "à¹Īาà¸ĩ": 123958, + "ูà¹ī": 123959, + "Ġ×Ķ×IJ": 123960, + "ĠاÙĦØŃ": 123961, + "פר": 123962, + "ÙĪÙħ": 123963, + "à¹Ģล": 123964, + "íĸ": 123965, + "×Ļ×¢": 123966, + "ìĪ": 123967, + "íĵ": 123968, + "ðŁħ": 123969, + "áł": 123970, + "à¸Ħวาม": 123971, + "à¸Īะ": 123972, + "׳×Ķ": 123973, + "Ġ×§": 123974, + "à¸Ł": 123975, + "à¹īà¸ĩ": 123976, + "หม": 123977, + "تÙħ": 123978, + "׾×Ļ": 123979, + "ÙĬد": 123980, + "à¹Īà¸Ļ": 123981, + "×Ĺר": 123982, + "שר": 123983, + "à¹Ģà¸Ĺ": 123984, + "×ŀר": 123985, + "ëĸ": 123986, + "عÙĦ": 123987, + "×ŀ×¢": 123988, + "â²": 123989, + "׾×Ķ": 123990, + "Ġפ": 123991, + "à¸Ńà¸ģ": 123992, + "سÙĦ": 123993, + "×Ļ×ŀ": 123994, + "ÙĤÙĬ": 123995, + "íİ": 123996, + "تØŃ": 123997, + "×Ļס": 123998, + "×Ļ×Ĺ": 123999, + "íĽ": 124000, + "ï°": 124001, + "â½": 124002, + "áī": 124003, + "áĬ": 124004, + "á¨": 124005, + "Ùĩا": 124006, + "Ġ׾×Ķ": 124007, + "×ķ×IJ": 124008, + "Ùħا": 124009, + "à¹īà¸Ńà¸ĩ": 124010, + "رب": 124011, + "ĠاÙĦج": 124012, + "×ŀ×ĵ": 124013, + "ÙħÙĦ": 124014, + "تر": 124015, + "à¹Ģà¸Ķ": 124016, + "קר": 124017, + "íħ": 124018, + "ì¼": 124019, + "ê¿": 124020, + "ãĪ": 124021, + "áIJ": 124022, + "ðŁĹ": 124023, + "ê¦": 124024, + "áĭ": 124025, + "ðĿĶ": 124026, + "à¹Ģà¸Ľà¹ĩà¸Ļ": 124027, + "à¹ĥห": 124028, + "มา": 124029, + "วà¹Īา": 124030, + "มี": 124031, + "ีà¹ī": 124032, + "à¹Ħมà¹Ī": 124033, + "ÙĨÙĬ": 124034, + "ؤ": 124035, + "รา": 124036, + "×ķ×Ļ": 124037, + "ãĤĪãģĨ": 124038, + "ิà¸Ķ": 124039, + "×Ļפ": 124040, + "×Ĺ׾": 124041, + "ÙĤد": 124042, + "à¹Ģส": 124043, + "×Ļ×ĺ": 124044, + "à¸ģล": 124045, + "ר׼": 124046, + "×ķ׼": 124047, + "×Ļ׼": 124048, + "ëĪ": 124049, + "ëĥ": 124050, + "ðŁĸ": 124051, + "áħ": 124052, + "â¼": 124053, + "ãī": 124054, + "à¹Ħà¸Ķà¹ī": 124055, + "ת×Ļ": 124056, + "×Ļ×IJ": 124057, + "ĠاÙĦØ¥": 124058, + "à¸łà¸²": 124059, + "ริ": 124060, + "ÙĤØ©": 124061, + "ØŃد": 124062, + "ê»": 124063, + "ì±": 124064, + "ת×Ĺ": 124065, + "ìº": 124066, + "âĭ": 124067, + "áĦ": 124068, + "á¾": 124069, + "âµ": 124070, + "â¾": 124071, + "ĠÙĪØ§ÙĦ": 124072, + "׳×ķ": 124073, + "ÙĢ": 124074, + "ÙĬا": 124075, + "à¸ģà¹ĩ": 124076, + "×ŀ×Ķ": 124077, + "ãģĦãĤĭ": 124078, + "عد": 124079, + "ĠاÙĦÙĨ": 124080, + "Ġ×Ķש": 124081, + "ئ": 124082, + "ัà¹īà¸ĩ": 124083, + "รัà¸ļ": 124084, + "ÙĪÙĤ": 124085, + "ãģ§ãģį": 124086, + "à¹Ģà¸ŀ": 124087, + "׼׾": 124088, + "×ĺר": 124089, + "ัà¸Ķ": 124090, + "à¸Ńา": 124091, + "ì¢": 124092, + "à¸Ńà¸ļ": 124093, + "à¸ķร": 124094, + "à¹Ģà¸Ĭ": 124095, + "ìĶ": 124096, + "ãģĹãģ¾": 124097, + "ëģ": 124098, + "ëķ": 124099, + "ðŁĻ": 124100, + "âĴ": 124101, + "á¶": 124102, + "à¹ģล": 124103, + "ÙĨا": 124104, + "à¹ĥหà¹ī": 124105, + "à¹Ħà¸Ľ": 124106, + "×£": 124107, + "ัว": 124108, + "าà¸ĩ": 124109, + "×ĵר": 124110, + "×ij׾": 124111, + "פ×Ļ": 124112, + "Ġ×ĵ": 124113, + "ĠاÙĦÙģ": 124114, + "à¹Ģà¸Ĥ": 124115, + "ש×Ķ": 124116, + "×IJר": 124117, + "ë¬": 124118, + "ãģ«ãģª": 124119, + "ÑĢо": 124120, + "วิ": 124121, + "Ùħر": 124122, + "×IJת": 124123, + "Ùĥر": 124124, + "سب": 124125, + "ÙĨت": 124126, + "ãģĹãģĦ": 124127, + "اج": 124128, + "à¸Ńรà¹Į": 124129, + "ÙĥÙĦ": 124130, + "سÙħ": 124131, + "สิ": 124132, + "×Ļצ": 124133, + "ëĿ": 124134, + "íľ": 124135, + "ìī": 124136, + "áĨ": 124137, + "ÙĩÙħ": 124138, + "à¸Ļีà¹ī": 124139, + "ãģĤãĤĭ": 124140, + "ãģĦãģ¦": 124141, + "سÙĬ": 124142, + "׾×IJ": 124143, + "در": 124144, + "ãģļ": 124145, + "ÙĪØ¬": 124146, + "ĠاÙĦØ®": 124147, + "صر": 124148, + "íı": 124149, + "à¹īาà¸ĩ": 124150, + "ุà¸Ķ": 124151, + "×ķ×ĺ": 124152, + "×ij×¢": 124153, + "íĨ": 124154, + "à¸Ĭา": 124155, + "รม": 124156, + "ש×ŀ": 124157, + "×ŀס": 124158, + "ê´": 124159, + "ì´": 124160, + "ëľ": 124161, + "ì¿": 124162, + "ì©": 124163, + "ë»": 124164, + "â¤": 124165, + "ðŁĨ": 124166, + "áĮ": 124167, + "áķ": 124168, + "ذا": 124169, + "à¸Ĺำ": 124170, + "à¸ķà¹Ī": 124171, + "ĠاÙĦÙĤ": 124172, + "ÙĦÙĥ": 124173, + "ูà¹Ī": 124174, + "à¸Ħุ": 124175, + "ÙĬÙħ": 124176, + "׳×Ļ×Ŀ": 124177, + "ืà¹Īà¸Ń": 124178, + "ÙĪØ¹": 124179, + "ãĤĩ": 124180, + "اÙĤ": 124181, + "Ġ×ij×¢": 124182, + "à¹Ģม": 124183, + "جÙħ": 124184, + "ừ": 124185, + "ãģĵãģ¨ãģĮ": 124186, + "بد": 124187, + "×ķ×Ķ": 124188, + "ש׾": 124189, + "Ùĩر": 124190, + "à¹Ģà¸Ļ": 124191, + "ãģ¹": 124192, + "íĭ": 124193, + "ì»": 124194, + "ì½": 124195, + "ëŃ": 124196, + "ìĮ": 124197, + "íĢ": 124198, + "ëĮ": 124199, + "ëº": 124200, + "ãĬ": 124201, + "à¹ĥà¸Ļ": 124202, + "Ġ×Ĵ": 124203, + "à¹Ĩ": 124204, + "à¸Īาà¸ģ": 124205, + "วย": 124206, + "à¹ĥà¸Ĭ": 124207, + "à¸ĩาà¸Ļ": 124208, + "ĠاÙĦØ´": 124209, + "اØŃ": 124210, + "à¹īาà¸Ļ": 124211, + "ืà¹Īà¸Ńà¸ĩ": 124212, + "×IJ×Ļ": 124213, + "بÙĦ": 124214, + "ã썿ĢĿ": 124215, + "×ł×¡": 124216, + "ãģ¾ãģĽ": 124217, + "ÙĥÙĨ": 124218, + "ער": 124219, + "ĠاÙĦد": 124220, + "שת": 124221, + "íŀ": 124222, + "Ùħس": 124223, + "صÙĦ": 124224, + "×ķ׳×Ķ": 124225, + "ارة": 124226, + "ÙĦÙħ": 124227, + "สม": 124228, + "Ø£ÙĨ": 124229, + "תר": 124230, + "×IJ×ŀ": 124231, + "عب": 124232, + "خت": 124233, + "ãĤĥ": 124234, + "ì¡": 124235, + "ì£": 124236, + "ива": 124237, + "สั": 124238, + "ึà¸ģ": 124239, + "ì¸": 124240, + "ëĨ": 124241, + "алÑĮн": 124242, + "ì³": 124243, + "ìį": 124244, + "ê¼": 124245, + "ê½": 124246, + "ìı": 124247, + "ãĮ": 124248, + "ãı": 124249, + "ï©": 124250, + "êª": 124251, + "áİ": 124252, + "Ġ×ĸ": 124253, + "à¸ģัà¸Ļ": 124254, + "×Ļ×ķ": 124255, + "à¸Ħà¸Ļ": 124256, + "׳×ķת": 124257, + "à¸ľà¸¹à¹ī": 124258, + "à¹ĥà¸Ī": 124259, + "ãģĦãģŁ": 124260, + "Ù쨱": 124261, + "×ĺ×Ļ": 124262, + "צ×Ļ": 124263, + "ãĤĤãģ®": 124264, + "ĠاÙĦص": 124265, + "ãģ¾ãģĽãĤĵ": 124266, + "دة": 124267, + "×ij×Ļ": 124268, + "ĠاÙĦر": 124269, + "Ġ×ŀ×IJ": 124270, + "สำ": 124271, + "à¹Ģห": 124272, + "عر": 124273, + "ãģªãģı": 124274, + "à¸ģระ": 124275, + "×ij×ĵ": 124276, + "à¹Ģà¸Ī": 124277, + "×Ļ×ļ": 124278, + "×Ĺ×Ļ": 124279, + "ÙĬع": 124280, + "ש×ij": 124281, + "ÙĨØ©": 124282, + "ÙĪØ¶": 124283, + "ÙĦÙģ": 124284, + "ÙĢÙĢ": 124285, + "פע": 124286, + "íĪ": 124287, + "×ŀ×§": 124288, + "à¸IJ": 124289, + "ØŃØ©": 124290, + "اص": 124291, + "Ñĭва": 124292, + "à¸Ħม": 124293, + "วั": 124294, + "à¸Ľà¸¥": 124295, + "ìŁ": 124296, + "íļ": 124297, + "ë´": 124298, + "ëij": 124299, + "ëī": 124300, + "ëĩ": 124301, + "ì¨": 124302, + "ë±": 124303, + "ëİ": 124304, + "â¬": 124305, + "á¥": 124306, + "áĹ": 124307, + "áĽ": 124308, + "áį": 124309, + "Å©": 124310, + "à¸Ķี": 124311, + "ôi": 124312, + "Ġס": 124313, + "׾×ķ": 124314, + "á»Ŀi": 124315, + "à¸Ħุà¸ĵ": 124316, + "ây": 124317, + "à¸Ļา": 124318, + "×Ĺ×ĵ": 124319, + "×ĵ×Ļ": 124320, + "หา": 124321, + "جÙĦ": 124322, + "à¹Ģว": 124323, + "ãĤĩãģĨ": 124324, + "ÙħØ©": 124325, + "ĠاÙĦÙĥ": 124326, + "Ġ×Ķ×¢": 124327, + "جر": 124328, + "×ĸר": 124329, + "اط": 124330, + "×Ľ×ª": 124331, + "×ķ׳×Ļ×Ŀ": 124332, + "ØŃÙħ": 124333, + "ê¶": 124334, + "رÙĥ": 124335, + "Ġ×ľ×¢": 124336, + "×ķ×ĸ": 124337, + "สร": 124338, + "צ׾": 124339, + "Ø¢": 124340, + "است": 124341, + "à¹Īม": 124342, + "خر": 124343, + "צע": 124344, + "×Ļר×ķת": 124345, + "ادة": 124346, + "شار": 124347, + "×ŀ×Ĺ": 124348, + "íĴ": 124349, + "à¹Ģรีย": 124350, + "×Ĺ×§": 124351, + "اث": 124352, + "รà¸ĩ": 124353, + "à¹Ģà¸ķ": 124354, + "à¸Īำ": 124355, + "à¸Ŀ": 124356, + "à¹Īาย": 124357, + "à¸Ħล": 124358, + "ÙĤÙĪ": 124359, + "иÑĩеÑģк": 124360, + "à¸ĵà¹Į": 124361, + "ัย": 124362, + "Ùħع": 124363, + "ë¨": 124364, + "ë¿": 124365, + "ë®": 124366, + "ï´": 124367, + "ì¥": 124368, + "ì«": 124369, + "ëµ": 124370, + "á¡": 124371, + "âį": 124372, + "ðĵ": 124373, + "â°": 124374, + "à¸Ĥà¸Ńà¸ĩ": 124375, + "Ùĭ": 124376, + "à¸ģัà¸ļ": 124377, + "ãģ®ãģ§": 124378, + "à¹īว": 124379, + "à¸Ńยà¹Īาà¸ĩ": 124380, + "ãģŃ": 124381, + "á»ĩt": 124382, + "à¸ķà¹īà¸Ńà¸ĩ": 124383, + "×ŀ×Ļ": 124384, + "à¹ģà¸ļ": 124385, + "×Ĵר": 124386, + "ÙĪÙģ": 124387, + "ÙĤÙĦ": 124388, + "à¸łà¸²à¸ŀ": 124389, + "ר×Ļ": 124390, + "ลา": 124391, + "ÙĬس": 124392, + "Ġצ": 124393, + "ÙĬÙģ": 124394, + "Ġ×ĺ": 124395, + "à¸ľà¸¥": 124396, + "áng": 124397, + "รว": 124398, + "Ġ×ŀש": 124399, + "×IJ×ķת": 124400, + "×ĸ×Ķ": 124401, + "ูà¸ģ": 124402, + "à¸Ļัà¸ģ": 124403, + "اÙĨÙĬ": 124404, + "دا": 124405, + "ãģ³": 124406, + "׼ף": 124407, + "ãĤīãĤĮ": 124408, + "ãĤĮãģ°": 124409, + "תק": 124410, + "úc": 124411, + "ÙĪØ²": 124412, + "×Ļר×Ķ": 124413, + "Ġngh": 124414, + "ánh": 124415, + "Ġ×ķ×IJ": 124416, + "á»ħ": 124417, + "สุà¸Ķ": 124418, + "ëį°": 124419, + "اض": 124420, + "اÙĦÙĬ": 124421, + "بار": 124422, + "عÙħ": 124423, + "à¸ļา": 124424, + "تج": 124425, + "à¸ŀร": 124426, + "×ķר×Ķ": 124427, + "ảng": 124428, + "Ø®ÙĦ": 124429, + "à¸ī": 124430, + "ắc": 124431, + "ש×Ļ×Ŀ": 124432, + "íĶ": 124433, + "Ù쨳": 124434, + "×Ļ×Ĵ": 124435, + "пÑĢ": 124436, + "ĠاÙĦØ«": 124437, + "سط": 124438, + "รูà¹ī": 124439, + "ีà¹Īย": 124440, + "à¸Ńà¸Ķ": 124441, + "ãģªãĤĬ": 124442, + "×Ĵ×ĵ": 124443, + "ãģĦãģ¾ãģĹãģŁ": 124444, + "סק": 124445, + "خص": 124446, + "laÅŁ": 124447, + "енно": 124448, + "بØŃ": 124449, + "สà¸Ļ": 124450, + "ฮ": 124451, + "ר×IJש": 124452, + "ÙħÙĪ": 124453, + "دÙĬد": 124454, + "ษา": 124455, + "×ķ×ļ": 124456, + "ãĥ§ãĥ³": 124457, + "à¸ķุ": 124458, + "Ġêµ": 124459, + "ĠÑģво": 124460, + "צ×ij": 124461, + "à¸Ńม": 124462, + "à¸Ľà¸£": 124463, + "تع": 124464, + "×Ķת": 124465, + "اÙħÙĦ": 124466, + "×ŀ׳": 124467, + "ç¶ļ": 124468, + "ฤ": 124469, + "íį": 124470, + "ëĺ": 124471, + "ë¤": 124472, + "ìij": 124473, + "â´": 124474, + "ãĭ": 124475, + "ĠباÙĦ": 124476, + "á»ģu": 124477, + "ĠاÙĦÙĦ": 124478, + "à¸ķัว": 124479, + "ذÙĩ": 124480, + "ึà¸ĩ": 124481, + "à¹ĥà¸Ĭà¹ī": 124482, + "á»ĵng": 124483, + "à¸Ļั": 124484, + "มาà¸ģ": 124485, + "ãĥŁ": 124486, + "×ŀ×ķ": 124487, + "à¸Ĺย": 124488, + "á»Ļi": 124489, + "ằ": 124490, + "ảo": 124491, + "à¹Ĥà¸Ķ": 124492, + "×IJ׾": 124493, + "สาม": 124494, + "ÙĪØ¨": 124495, + "à¸Ĺุ": 124496, + "ยัà¸ĩ": 124497, + "עת": 124498, + "×ķ׳×ķת": 124499, + "à¸Ĥึ": 124500, + "à¸Ĥึà¹īà¸Ļ": 124501, + "à¸ģà¹Ī": 124502, + "ẫ": 124503, + "á»ijc": 124504, + "ãģĹãĤĩãģĨ": 124505, + "á»ĭch": 124506, + "Ġ×IJ×ķת": 124507, + "Ġש×IJ": 124508, + "׼×ķ׾": 124509, + "á»Ļc": 124510, + "عة": 124511, + "à¸Ĺี": 124512, + "à¹Ģà¸Ń": 124513, + "Ùĥت": 124514, + "ãģ»": 124515, + "ẻ": 124516, + "ìĹħ": 124517, + "à¸Ńà¸Ńà¸ģ": 124518, + "اÙĨت": 124519, + "à¹Ħร": 124520, + "Ġ×IJ×Ĺר": 124521, + "طر": 124522, + "ÙĨد": 124523, + "ืà¹īà¸Ń": 124524, + "Ø·ÙĦ": 124525, + "×IJ×Ķ": 124526, + "uyên": 124527, + "íĸī": 124528, + "×ij×Ķ": 124529, + "à¸Ħà¹Ī": 124530, + "à¸Ĭà¹Īว": 124531, + "ãģĤãĤĬãģ¾ãģĻ": 124532, + "ÙĬب": 124533, + "ק׾": 124534, + "ãĥĻ": 124535, + "Ä©": 124536, + "سر": 124537, + "าว": 124538, + "ãĤ±": 124539, + "à¸ļริ": 124540, + "ר×Ĵ": 124541, + "á»ĥu": 124542, + "ØŃت": 124543, + "×ķ×ŀ×Ļ": 124544, + "بÙĨ": 124545, + "êµIJ": 124546, + "ÄŁu": 124547, + "ãģªãĤĵ": 124548, + "×ij×§": 124549, + "Ġפר": 124550, + "ắn": 124551, + "ØŃÙĦ": 124552, + "×ij×Ĺ": 124553, + "ấu": 124554, + "×ij×ķ×ĵ": 124555, + "ãĥ¯": 124556, + "Ġ׾ק": 124557, + "ัà¸į": 124558, + "à¸ŀิ": 124559, + "×Ĺ×Ķ": 124560, + "×ĸ׼": 124561, + "ãĥ¼ãĥł": 124562, + "ÑĤелÑĮ": 124563, + "×ŀ×Ļ×ĵ": 124564, + "ÙĬØ®": 124565, + "ẳ": 124566, + "تص": 124567, + "à¸ĺิ": 124568, + "è¾¼": 124569, + "ìĵ": 124570, + "ÙĥØ©": 124571, + "ÙĤب": 124572, + "à¸Ħà¹Į": 124573, + "à¹īาย": 124574, + "à¸ĵะ": 124575, + "าะ": 124576, + "ëĴ": 124577, + "ê¾": 124578, + "ë·": 124579, + "ìĩ": 124580, + "êº": 124581, + "ìģ": 124582, + "ëĢ": 124583, + "ì¾": 124584, + "ë½": 124585, + "ëļ": 124586, + "ìŃ": 124587, + "ìİ": 124588, + "áij": 124589, + "ëĹ": 124590, + "êĴ": 124591, + "à¡": 124592, + "à¬": 124593, + "ðIJĮ": 124594, + "ãĩ": 124595, + "ðĿĦ": 124596, + "Ġ׾×IJ": 124597, + "ãģ¨ãģĦãģĨ": 124598, + "Ġnhi": 124599, + "×Ļ×ķת": 124600, + "Ġש×Ķ": 124601, + "à¹ģลà¹īว": 124602, + "Æ°á»Ľc": 124603, + "à¸Ķà¹īวย": 124604, + "à¸Ĺาà¸ĩ": 124605, + "×ł×ª": 124606, + "פת": 124607, + "à¹ģà¸ķà¹Ī": 124608, + "ưng": 124609, + "à¸Ńยูà¹Ī": 124610, + "à¹īำ": 124611, + "Ġ×IJ׾": 124612, + "ÙĥÙħ": 124613, + "ấp": 124614, + "ลà¸ĩ": 124615, + "ãģŁãĤģ": 124616, + "×Ĵ׾": 124617, + "หร": 124618, + "ĠÑĢе": 124619, + "à¹Ģà¸Ĥà¹īา": 124620, + "ÙĤر": 124621, + "Ġ×Ķס": 124622, + "ÙĪÙĬ": 124623, + "สามาร": 124624, + "สามารà¸ĸ": 124625, + "Äĥn": 124626, + "à¸Ńี": 124627, + "פ×ķ": 124628, + "×Ļ׳×ķ": 124629, + "วัà¸Ļ": 124630, + "ặc": 124631, + "íķĻ": 124632, + "×ŀת": 124633, + "êu": 124634, + "ẹ": 124635, + "ÙģÙĬ": 124636, + "×ŀצ": 124637, + "à¸Ħา": 124638, + "ãģĿãģĨ": 124639, + "ãĢħ": 124640, + "از": 124641, + "اÙĩ": 124642, + "ר×Ļ×Ŀ": 124643, + "ấn": 124644, + "หาร": 124645, + "ạt": 124646, + "ÙĨÙĩ": 124647, + "à¹Ģà¸Ħร": 124648, + "جÙĩ": 124649, + "׼×Ļ": 124650, + "ắt": 124651, + "à¸Ħà¹īา": 124652, + "رة": 124653, + "ãĥı": 124654, + "ÙĥÙĪÙĨ": 124655, + "ứng": 124656, + "Ġìļ°": 124657, + "ยà¹Į": 124658, + "à¹Īวà¸Ļ": 124659, + "à¸ģำ": 124660, + "ثر": 124661, + "Ñģи": 124662, + "ĠاÙĦØ·": 124663, + "Ġ×Ķצ": 124664, + "ĠØ·": 124665, + "ĠاÙĦÙĪ": 124666, + "ê¹Į": 124667, + "ØŃÙĬ": 124668, + "ارات": 124669, + "à¹Ģà¸ĭ": 124670, + "با": 124671, + "гÑĢ": 124672, + "รี": 124673, + "ืà¸Ńà¸Ļ": 124674, + "عت": 124675, + "ÙĤاÙĦ": 124676, + "دÙħ": 124677, + "Ø¡": 124678, + "Ġ×ŀ×§": 124679, + "×ĵ×Ļ×Ŀ": 124680, + "×¢×ľ": 124681, + "ãģĴ": 124682, + "ëĭĺ": 124683, + "×¢×Ķ": 124684, + "Ġìĸ´": 124685, + "ÑģÑĮ": 124686, + "ÙĤØ·": 124687, + "ãĥĽ": 124688, + "èĢĥãģĪ": 124689, + "à¹ģà¸Ļ": 124690, + "ÙĪØ§Øª": 124691, + "âu": 124692, + "ĠìĤ¬ëŀ": 124693, + "หว": 124694, + "ĠاÙĦØ£Ùħ": 124695, + "Ġ×Ķ×ŀש": 124696, + "بÙĪ": 124697, + "à¸Ĭà¸Ļ": 124698, + "ãĤĵãģ§ãģĻ": 124699, + "วà¸Ļ": 124700, + "à¸ģรรม": 124701, + "×ŀ×ķ×ĵ": 124702, + "ÙĥاÙĨ": 124703, + "×ķ×£": 124704, + "олог": 124705, + "تÙĨ": 124706, + "à¸ķà¹Į": 124707, + "ê²ĥ": 124708, + "ר×ĺ": 124709, + "ừng": 124710, + "×ķ×ij×Ķ": 124711, + "ÙħØŃ": 124712, + "ĠЧ": 124713, + "פ×Ĵ": 124714, + "สà¸ĸ": 124715, + "ãģĭãĤĬ": 124716, + "ınız": 124717, + "à¹Ģย": 124718, + "ãĥ¼ãĥ³": 124719, + "ãģĬãĤĬ": 124720, + "פש": 124721, + "ิà¸ķ": 124722, + "Ø·ÙĨ": 124723, + "×Ļת×Ļ": 124724, + "×IJ׳": 124725, + "çek": 124726, + "ìª": 124727, + "×ŀ×ij": 124728, + "ศา": 124729, + "ãĤ¹ãĤ¿": 124730, + "à¸ļุ": 124731, + "×ĵ×ijר": 124732, + "ãģĦãģı": 124733, + "สะ": 124734, + "à¹Ģหล": 124735, + "ิà¸ĩ": 124736, + "à¸ŀัà¸Ļ": 124737, + "ãģĦãģŁãģł": 124738, + "ãĤĤãĤī": 124739, + "à¹īม": 124740, + "ãģĵãģ¨ãģĮãģ§ãģį": 124741, + "ารà¹Į": 124742, + "ุà¸ĩ": 124743, + "íij": 124744, + "ì¯": 124745, + "ë¼": 124746, + "íĤ": 124747, + "ì·": 124748, + "ê¡": 124749, + "áı": 124750, + "áĴ": 124751, + "ðĿľ": 124752, + "á©": 124753, + "ðŁĦ": 124754, + "ðIJ¤": 124755, + "Ġש׾": 124756, + "Ġ×ŀ×Ķ": 124757, + "à¹ģละ": 124758, + "Ġ׼׾": 124759, + "ẽ": 124760, + "á»Ļng": 124761, + "ذÙĬ": 124762, + "ле": 124763, + "×¥": 124764, + "ãģªãģ©": 124765, + "ĠÙĪØ£": 124766, + "หà¸Ļà¹īา": 124767, + "ãģ¾ãģ§": 124768, + "à¸ķà¹Īà¸Ń": 124769, + "à¸Ĺัà¹īà¸ĩ": 124770, + "ãģłãģij": 124771, + "à¹ģà¸ļà¸ļ": 124772, + "à¹Ģรา": 124773, + "פ׾": 124774, + "ãģŁãģĦ": 124775, + "à¹Ģลย": 124776, + "ãģ£ãģ¦ãģĦãĤĭ": 124777, + "ếp": 124778, + "ึà¹Īà¸ĩ": 124779, + "ê´Ģ": 124780, + "ê³Ħ": 124781, + "׼×ķ": 124782, + "à¹Ģรืà¹Īà¸Ńà¸ĩ": 124783, + "×§×Ļ": 124784, + "êµŃ": 124785, + "פס": 124786, + "تÙĬ": 124787, + "ãĥĦ": 124788, + "Ġ×Ķ×Ĺ": 124789, + "ги": 124790, + "ר×IJ׾": 124791, + "×ŀ׾": 124792, + "ĠØ£ÙĬ": 124793, + "ĠعÙĦÙĬ": 124794, + "ãģĭãģ£ãģŁ": 124795, + "ש×Ļ": 124796, + "дÑĥ": 124797, + "×ŀף": 124798, + "׳×ĺ": 124799, + "׳×Ļת": 124800, + "miÅŁ": 124801, + "׼×Ŀ": 124802, + "Ġ×ijר": 124803, + "Ġ׾×ij": 124804, + "ĠÐĽ": 124805, + "çe": 124806, + "×ķ׳×Ļ": 124807, + "ãĤĪãģĨãģ«": 124808, + "פ×ķר": 124809, + "ãĥį": 124810, + "ÙĥÙĬ": 124811, + "×Ĺת": 124812, + "ÙģÙĦ": 124813, + "Ġ×Ķ×§": 124814, + "Ġ×Ķ×ij": 124815, + "Ġ×ŀס": 124816, + "à¹Īาà¸Ļ": 124817, + "пеÑĢ": 124818, + "à¹Īาว": 124819, + "Ġ×ij×IJ": 124820, + "ĠÙĪÙĩ": 124821, + "à¸Ļำ": 124822, + "Ġ×ijש": 124823, + "׳ק": 124824, + "ãģ©ãģĨ": 124825, + "ש×ķת": 124826, + "×ĵ×Ķ": 124827, + "à¹Ģà¸ļ": 124828, + "ÙĨس": 124829, + "Ġìļ°ë¦¬": 124830, + "สà¹Īวà¸Ļ": 124831, + "ลัà¸ĩ": 124832, + "جز": 124833, + "Ġ×Ĺ×Ļ": 124834, + "Ùĥثر": 124835, + "ละ": 124836, + "Ùĩد": 124837, + "ĠÙĪØ¨": 124838, + "اÙĦÙħ": 124839, + "à¹ģม": 124840, + "Æ¡i": 124841, + "Ġ×ij×Ĺ": 124842, + "ữa": 124843, + "à¹Ģà¸Ĺศ": 124844, + "à¸ķัà¹īà¸ĩ": 124845, + "огда": 124846, + "׾ק": 124847, + "دد": 124848, + "สรà¹īาà¸ĩ": 124849, + "à¸Ĭี": 124850, + "Ù쨶": 124851, + "à¹ģห": 124852, + "uyá»ĩn": 124853, + "รัà¸ģ": 124854, + "á»ĩm": 124855, + "สา": 124856, + "פק": 124857, + "ียà¸ĩ": 124858, + "à¸ķà¹Īาà¸ĩ": 124859, + "à¸Ħรัà¹īà¸ĩ": 124860, + "ØŃÙĤ": 124861, + "à¹Ģà¸Ńà¸ĩ": 124862, + "ائÙĬ": 124863, + "×ĺ×¢": 124864, + "اÙĦØ©": 124865, + "ิà¹Īม": 124866, + "ãĤ½": 124867, + "دÙī": 124868, + "Ġר×IJ": 124869, + "ãģ£ãģ¨": 124870, + "ãĥĥãĥĹ": 124871, + "ÙĬرة": 124872, + "ê±´": 124873, + "×ŀ×IJ": 124874, + "×ķ×ķ": 124875, + "بع": 124876, + "ãģ²": 124877, + "ราย": 124878, + "×ĵ×Ŀ": 124879, + "تÙģ": 124880, + "à¸ķà¸ģ": 124881, + "ạng": 124882, + "ãĤĴè¦ĭ": 124883, + "à¸Ĭั": 124884, + "Æ°á»Ł": 124885, + "Æ°á»Łng": 124886, + "جب": 124887, + "×ķ×ŀר": 124888, + "ĠìĤ¬ëŀĮ": 124889, + "óng": 124890, + "รั": 124891, + "Ġ×Ķ×ĸ": 124892, + "רצ": 124893, + "Ġ×Ĺ×ĵ": 124894, + "ذÙĦÙĥ": 124895, + "×ķר×Ļ": 124896, + "ãģ¡ãĤĥ": 124897, + "Ù쨹": 124898, + "Ġ׾צ": 124899, + "ái": 124900, + "à¹ĩà¸ļ": 124901, + "ãģİ": 124902, + "à¸ģิ": 124903, + "ạc": 124904, + "ë©°": 124905, + "ãģªãĤĭ": 124906, + "×ķ׾×Ŀ": 124907, + "à¹ģà¸Ĺ": 124908, + "×ķ×¥": 124909, + "меÑĤ": 124910, + "Ã¼ÅŁ": 124911, + "ÑĢÑı": 124912, + "à¸Ĵ": 124913, + "ÑģÑĤоÑı": 124914, + "عÙĪØ¯": 124915, + "Ùħار": 124916, + "طة": 124917, + "à¸ŀื": 124918, + "кÑĢ": 124919, + "à¹ģà¸ģ": 124920, + "à¹Ĥรà¸ĩ": 124921, + "×ij×Ļ×ĺ": 124922, + "ê²ł": 124923, + "×ķ׾×Ķ": 124924, + "ØŃر": 124925, + "ืà¹Īà¸Ńà¸Ļ": 124926, + "×ķ×ijר": 124927, + "×Ĺש": 124928, + "ãĥķãĤ¡": 124929, + "×ŀ×ĺ": 124930, + "út": 124931, + "Ġdön": 124932, + "ắng": 124933, + "ëłĩ": 124934, + "ẳng": 124935, + "วà¸ģ": 124936, + "صد": 124937, + "خط": 124938, + "à¸Ńั": 124939, + "ãĤıãĤĮ": 124940, + "سÙĦاÙħ": 124941, + "à¹Ģรà¹ĩ": 124942, + "×Ļש×Ļ": 124943, + "جاÙĦ": 124944, + "ãģijãĤĭ": 124945, + "à¸Ĭาà¸ķิ": 124946, + "ÙĪØ§ÙĤ": 124947, + "à¹Ĥà¸Ļ": 124948, + "ãģ¦ãģĹãģ¾": 124949, + "اعة": 124950, + "ãĤŃãĥ£": 124951, + "à¸įา": 124952, + "ÙĦاÙĤ": 124953, + "ิà¸ģ": 124954, + "ĠÑģов": 124955, + "ÑĢак": 124956, + "×Ļ׳×Ļ": 124957, + "Ã¼ÄŁ": 124958, + "Ã¼ÄŁÃ¼": 124959, + "×§×ij": 124960, + "à¹Īà¸Ńà¸ĩ": 124961, + "Ġgerçek": 124962, + "à¸Ĺั": 124963, + "ованиÑı": 124964, + "×ŀ׼": 124965, + "سة": 124966, + "×Ļ×£": 124967, + "leÅŁ": 124968, + "Ùħؤ": 124969, + "ĠìĿĺ": 124970, + "à¸IJาà¸Ļ": 124971, + "ĠÑģоб": 124972, + "ĠêµŃ": 124973, + "עצ": 124974, + "зв": 124975, + "สà¸ĩ": 124976, + "زÙĦ": 124977, + "ãģıãĤĮ": 124978, + "иÑĢÑĥ": 124979, + "تأ": 124980, + "полн": 124981, + "ìĺĢ": 124982, + "ÙĨØ´": 124983, + "׼×IJ": 124984, + "ÙħØ´": 124985, + "à¸Ķà¹Į": 124986, + "ÙĪÙĬÙĦ": 124987, + "à¹ģà¸Ĥ": 124988, + "ãģ£ãģ¦ãģĹãģ¾": 124989, + "ноÑģÑĤ": 124990, + "вл": 124991, + "ÙħÙĤ": 124992, + "راج": 124993, + "å¤ī": 124994, + "ëĽ": 124995, + "â¸": 124996, + "ìIJ": 124997, + "à»": 124998, + "áļ": 124999, + "â»": 125000, + "êĻ": 125001, + "â§": 125002, + "ðĴ": 125003, + "ðĿĩ": 125004, + "Ġ×IJת": 125005, + "ĠÙĦÙĦ": 125006, + "ĠØ£ÙĨ": 125007, + "Ġ×ķ×Ķ": 125008, + "ãģ«ãģ¯": 125009, + "Ġ×Ļש": 125010, + "تÙĩ": 125011, + "ÃŃnh": 125012, + "ÙĬات": 125013, + "Ġ×ij×ŀ": 125014, + "à¸Ļัà¹īà¸Ļ": 125015, + "à¸Ļà¹īำ": 125016, + "Ãło": 125017, + "à¸ķาม": 125018, + "ãģ®ãģ¯": 125019, + "dır": 125020, + "Ġnghi": 125021, + "ặt": 125022, + "×ŀ×Ļ×Ŀ": 125023, + "ãģ¦ãģĦãĤĭ": 125024, + "Ġ×ijת": 125025, + "หรืà¸Ń": 125026, + "ĠسÙĬ": 125027, + "ãģªãĤī": 125028, + "à¹Ĥà¸Ķย": 125029, + "ıyor": 125030, + "à¸Ńีà¸ģ": 125031, + "á»ĩnh": 125032, + "Ñĭм": 125033, + "à¸Ĺุà¸ģ": 125034, + "Ġ׾×Ĺ": 125035, + "Ġ×Ķר": 125036, + "Ġ×Ķ×Ļ": 125037, + "à¸ŀระ": 125038, + "à¹Ģวลา": 125039, + "Ġغ": 125040, + "ẫn": 125041, + "mÄ±ÅŁ": 125042, + "׼×Ķ": 125043, + "á»ijn": 125044, + "ãģ§ãģĹãĤĩãģĨ": 125045, + "ãĥ¢": 125046, + "à¸Ľà¸µ": 125047, + "ס×Ļ": 125048, + "ãģĵãĤį": 125049, + "Ġ׾פ": 125050, + "รà¸ĸ": 125051, + "ê¸Ī": 125052, + "à¸ģวà¹Īา": 125053, + "무": 125054, + "á»įng": 125055, + "ãĤĵãģ§": 125056, + "ãĤĪãģĨãģª": 125057, + "á»ĵi": 125058, + "ãĤ¬": 125059, + "สà¹Īà¸ĩ": 125060, + "×Ļ׳×Ķ": 125061, + "à¸ĸูà¸ģ": 125062, + "à¸Īัà¸Ķ": 125063, + "Ġ×Ķ×Ĵ": 125064, + "ãĥľ": 125065, + "×ŀ×ķת": 125066, + "ÙĪÙĥ": 125067, + "ëĭ¨": 125068, + "ĠØ«": 125069, + "ãģ®ãģĮ": 125070, + "à¹Ģหà¹ĩà¸Ļ": 125071, + "عا": 125072, + "à¸Ļิ": 125073, + "Åŀ": 125074, + "à¸Ńะ": 125075, + "ãģĪãĤĭ": 125076, + "Ø«ÙĦ": 125077, + "ØŃÙħد": 125078, + "à¹Ģà¸ģิà¸Ķ": 125079, + "פשר": 125080, + "פ×Ķ": 125081, + "มิ": 125082, + "ئÙĬس": 125083, + "à¸Ĺำà¹ĥหà¹ī": 125084, + "×¢×ĵ": 125085, + "ìĭ¤": 125086, + "à¸Ĭà¹Īวย": 125087, + "ĠاÙĦÙħÙĨ": 125088, + "زÙĬ": 125089, + "عÙĬ": 125090, + "Ġ׼×IJ": 125091, + "ạnh": 125092, + "ỹ": 125093, + "ãĤĵãģª": 125094, + "สู": 125095, + "צר": 125096, + "Æ°á»Ľng": 125097, + "×ķ×ķ×Ķ": 125098, + "à¹Ĥล": 125099, + "ĠاÙĦÙĩ": 125100, + "วา": 125101, + "หลาย": 125102, + "Ñīе": 125103, + "à¸Ĥà¹īà¸Ń": 125104, + "à¹īà¸Ńย": 125105, + "بط": 125106, + "каÑı": 125107, + "ĠØ¢": 125108, + "ĠиÑģ": 125109, + "ĠاÙĦغ": 125110, + "à¸ģา": 125111, + "à¸Ļà¹Īา": 125112, + "ÙĬÙĪ": 125113, + "×ij×ķר": 125114, + "á»ħn": 125115, + "วà¸ĩ": 125116, + "×Ļ×ĸ": 125117, + "ì²Ń": 125118, + "ним": 125119, + "룰": 125120, + "×Ĵ×ķר": 125121, + "صØŃ": 125122, + "ÙĦÙĪ": 125123, + "×Ĺ×ķת": 125124, + "สุ": 125125, + "رÙĬÙĤ": 125126, + "ס×ĺ": 125127, + "Ġ×ŀ×¢": 125128, + "ãĥĨãĤ£": 125129, + "à¸Ħิà¸Ķ": 125130, + "ãĤįãģĨ": 125131, + "à¹Ħล": 125132, + "à¸Ļà¹Į": 125133, + "á»ıi": 125134, + "ÑģÑĤÑĢо": 125135, + "สà¸Ķ": 125136, + "สาร": 125137, + "ÙĪÙĦØ©": 125138, + "ầm": 125139, + "รà¹Īว": 125140, + "รà¹Īวม": 125141, + "รุ": 125142, + "ĠاÙĦسÙĬ": 125143, + "ìĺģ": 125144, + "Ġ×ŀ×ij": 125145, + "פ×ĺ": 125146, + "à¸ķิà¸Ķ": 125147, + "×ĺ×Ļ×Ŀ": 125148, + "Ġ무": 125149, + "ÙĤدÙħ": 125150, + "ĠdÃ¼ÅŁ": 125151, + "ائÙĦ": 125152, + "мÑĭ": 125153, + "ØŃس": 125154, + "ÙĪØµ": 125155, + "×Ļ×§×Ķ": 125156, + "ãģ§ãģ¯ãģªãģĦ": 125157, + "à¹Ģหม": 125158, + "оÑĢÑĤ": 125159, + "íĨµ": 125160, + "ãģIJ": 125161, + "кÑĢа": 125162, + "ียว": 125163, + "عار": 125164, + "ئة": 125165, + "íĥĢ": 125166, + "ãģ«ãģªãĤĬ": 125167, + "جة": 125168, + "ÙĪÙĤع": 125169, + "ÑĮÑı": 125170, + "×ķצ×Ķ": 125171, + "ש×Ŀ": 125172, + "بÙĤ": 125173, + "Ġ×Ļ×Ķ": 125174, + "ÙĬØ·": 125175, + "ımız": 125176, + "деÑĢж": 125177, + "×Ļשר×IJ׾": 125178, + "غÙĬر": 125179, + "รà¸Ńà¸ĩ": 125180, + "à¹Ģรียà¸Ļ": 125181, + "Ġ×Ķ×ĺ": 125182, + "หมาย": 125183, + "ÙħÙĩ": 125184, + "اÙ쨩": 125185, + "ĠоÑĢг": 125186, + "ÙĪÙī": 125187, + "ãĥ©ãĤ¤": 125188, + "×ŀ׳×Ķ": 125189, + "ĠÄijo": 125190, + "ĠгоÑĢ": 125191, + "اÙħØ©": 125192, + "楽": 125193, + "Ø«ÙĬر": 125194, + "à¸ģิà¸Ī": 125195, + "á»ĵn": 125196, + "ÙĨب": 125197, + "ÑĢÑĥд": 125198, + "ìĹĪ": 125199, + "Ġ×Ĺ×ijר": 125200, + "ÑĢаж": 125201, + "ạch": 125202, + "تÙĪ": 125203, + "à¹Ĥม": 125204, + "×ij×Ļ×ij": 125205, + "ĠíĨµ": 125206, + "acaģı": 125207, + "جÙĦس": 125208, + "à¹Ģà¸Ľà¸¥": 125209, + "วà¸Ķ": 125210, + "à¸Ńล": 125211, + "ãģŁãĤĬ": 125212, + "à¸Ľà¸±à¸į": 125213, + "ĠìķĮ": 125214, + "عرÙģ": 125215, + "à¹Ħà¸Ł": 125216, + "أخ": 125217, + "å¤ļãģĦ": 125218, + "à¸Ķัà¸ĩ": 125219, + "Ø´Ùģ": 125220, + "ãģ£ãģ¦ãģĦãģ¾ãģĻ": 125221, + "×Ľ×ł×¡": 125222, + "ÑĨе": 125223, + "еÑģп": 125224, + "ÙħاÙħ": 125225, + "à¸ŀืà¹īà¸Ļ": 125226, + "иÑĩеÑģки": 125227, + "خد": 125228, + "ÙĥÙĪÙħ": 125229, + "Ġ×Ķר×IJש": 125230, + "تاب": 125231, + "é£Łãģ¹": 125232, + "ืà¸Ļ": 125233, + "оÑĢо": 125234, + "Ġböl": 125235, + "×ķ×Ĺ×ĵ": 125236, + "دÙĬر": 125237, + "ắm": 125238, + "دع": 125239, + "ãģķãģĽ": 125240, + "à¸ĺร": 125241, + "à¸ĺรรม": 125242, + "ãģĭãĤĤ": 125243, + "å¤ļãģı": 125244, + "rä": 125245, + "سع": 125246, + "×Ļ׾×Ķ": 125247, + "ضر": 125248, + "ĠاÙĦشر": 125249, + "×ĸ×ķר": 125250, + "×¢×ijר": 125251, + "ạm": 125252, + "алÑĮно": 125253, + "رÙĨ": 125254, + "اÙħج": 125255, + "׼×ļ": 125256, + "dıģ": 125257, + "ден": 125258, + "ضا": 125259, + "ÙĦÙĬÙħ": 125260, + "Ġê·¸ëŁ¬": 125261, + "تÙħاع": 125262, + "ارÙĬØ®": 125263, + "à¹Ĥà¸ķ": 125264, + "ĠÑģÑĢед": 125265, + "Ġ׳×ķס": 125266, + "ÙĤبÙĦ": 125267, + "оÑĤов": 125268, + "leÅŁtir": 125269, + "ĠмеÑģÑĤ": 125270, + "سÙĦÙħ": 125271, + "Ġעצ": 125272, + "ĠاÙĦسÙĦ": 125273, + "еÑĤÑĮ": 125274, + "ابة": 125275, + "нак": 125276, + "สà¸ĸาà¸Ļ": 125277, + "Ġ×ij׳": 125278, + "à¸ļัà¸Ļ": 125279, + "׼׳": 125280, + "ĠÃ¶ÄŁ": 125281, + "ãģ¨è¨Ģ": 125282, + "uyến": 125283, + "diÄŁ": 125284, + "áºŃu": 125285, + "ÑĢаÑģ": 125286, + "ãĤ·ãĥ§ãĥ³": 125287, + "nız": 125288, + "×ķ×ĵ×Ķ": 125289, + "تس": 125290, + "ÙħاÙĦ": 125291, + "à¹Ģหà¸ķุ": 125292, + "ยว": 125293, + "à¸ŀัà¸ģ": 125294, + "ãģĦãģªãģĦ": 125295, + "ĠкаÑĩ": 125296, + "ลà¹Į": 125297, + "×¨×Ľ×ª": 125298, + "ÅŁtur": 125299, + "×ŀ×ķס": 125300, + "ãģ¥": 125301, + "бол": 125302, + "عÙħاÙĦ": 125303, + "×ķרת": 125304, + "ÑĨион": 125305, + "ศึà¸ģ": 125306, + "à¸ı": 125307, + "ÑĢен": 125308, + "اسÙĬ": 125309, + "ائر": 125310, + "à¹Ĥà¸Ľà¸£": 125311, + "Ġseç": 125312, + "غÙĬ": 125313, + "ÑįÑĤ": 125314, + "енн": 125315, + "ãģªãģ®": 125316, + "×Ļש×Ķ": 125317, + "×Ļפ×ķר": 125318, + "ãģŁãĤģãģ«": 125319, + "زة": 125320, + "Ġçoc": 125321, + "ãĤ¯ãĥª": 125322, + "ÑĪен": 125323, + "ãĤıãģij": 125324, + "رÙĬد": 125325, + "ĠÑĢаÑģÑģ": 125326, + "Ùĥات": 125327, + "สà¸Ńà¸ļ": 125328, + "ceÄŁi": 125329, + "ãĤ¿ãĤ¤": 125330, + "à¸ļร": 125331, + "ĠاÙĦبر": 125332, + "׳×ķ×¢": 125333, + "rün": 125334, + "راض": 125335, + "ศาส": 125336, + "à¸ķรà¹Į": 125337, + "ãģįãģŁ": 125338, + "×ķ׾×ĵ": 125339, + "еÑĢи": 125340, + "íĹĺ": 125341, + "ắp": 125342, + "تعÙĦ": 125343, + "Ùĥد": 125344, + "иÑĤелÑĮно": 125345, + "Ø·Ùģ": 125346, + "ĠавÑĤом": 125347, + "Ġ×ŀצ": 125348, + "ÑĪиÑħ": 125349, + "اتÙģ": 125350, + "ĠÑħоÑĤ": 125351, + "ÙİØ§": 125352, + "ãģıãĤĭ": 125353, + "×Ķפ": 125354, + "à¹Ĥà¸Ĺ": 125355, + "à¹ģà¸ŀ": 125356, + "à¹Īà¸Ńย": 125357, + "ĠاÙĦÙħØ´": 125358, + "à¸ģารà¸ĵà¹Į": 125359, + "аниз": 125360, + "×Ķ׾": 125361, + "ظÙħ": 125362, + "ยุ": 125363, + "liÄŁ": 125364, + "à¹Ħà¸Ĥ": 125365, + "à¸ĸืà¸Ń": 125366, + "öz": 125367, + "ãģijãģ¦": 125368, + "à¹Ģà¸ľ": 125369, + "ุม": 125370, + "ãĥĹãĥ¬": 125371, + "Ġ×Ķ×IJ×Ĺר": 125372, + "ختÙĦÙģ": 125373, + "à¸İ": 125374, + "ÙĦاØŃ": 125375, + "Ġdüzen": 125376, + "צ×Ķ": 125377, + "ساء": 125378, + "×ķר×ļ": 125379, + "×ķ×ĵ×Ļ": 125380, + "ÑĢаÑĦ": 125381, + "ÅŁtır": 125382, + "ãģ«åħ¥": 125383, + "ãģĪãģ°": 125384, + "صÙĪÙĦ": 125385, + "ĠÐľÐ¾Ñģ": 125386, + "اÙĩر": 125387, + "ãģ£ãģ": 125388, + "ĠлÑİб": 125389, + "×Ļ×¢×Ķ": 125390, + "Ġ×Ķ×ŀ×§": 125391, + "สิà¸Ĺ": 125392, + "สิà¸Ĺà¸ĺิ": 125393, + "×Ļ׳×Ŀ": 125394, + "ÙĦاÙģ": 125395, + "à¸ŀัà¸Ļà¸ĺ": 125396, + "×ķ×IJ×Ķ": 125397, + "มั": 125398, + "à¸Ĥà¸ĵะ": 125399, + "доÑĢ": 125400, + "ãģ¨ãģª": 125401, + "à¸ģระà¸Ĺ": 125402, + "acı": 125403, + "×ķ׾×ķ×Ĵ": 125404, + "ÑĥÑĪ": 125405, + "ãĥ¥ãĥ¼": 125406, + "ãĥ¦": 125407, + "Ùħست": 125408, + "ĠaÅŁ": 125409, + "שק": 125410, + "פת×Ĺ": 125411, + "ายà¸Ļ": 125412, + "íĩ": 125413, + "ë¢": 125414, + "ï·": 125415, + "íī": 125416, + "ìµ": 125417, + "ì¬": 125418, + "ðĿĽ": 125419, + "ìĴ": 125420, + "ëĻ": 125421, + "ê§": 125422, + "áĸ": 125423, + "â¨": 125424, + "â±": 125425, + "áĺ": 125426, + "ðĸ": 125427, + "àł": 125428, + "áĶ": 125429, + "ðIJŃ": 125430, + "ững": 125431, + "Å©ng": 125432, + "Ġ×Ķת": 125433, + "ĠاÙĦا": 125434, + "Ġ×ŀת": 125435, + "à¸ĸึà¸ĩ": 125436, + "òn": 125437, + "á»ĭnh": 125438, + "нÑĭм": 125439, + "Ġcả": 125440, + "à¸Ķู": 125441, + "Ġà¹ģà¸ķà¹Ī": 125442, + "Ġ×ij×Ķ": 125443, + "ói": 125444, + "ãģ¨ãģĹãģ¦": 125445, + "úng": 125446, + "Ġذ": 125447, + "Ġ×Ķ׳": 125448, + "ĠبÙĨ": 125449, + "ÙĦاÙĦ": 125450, + "à¹Ħà¸Ĺย": 125451, + "á»ĩp": 125452, + "tı": 125453, + "มัà¸Ļ": 125454, + "ằng": 125455, + "á»ijt": 125456, + "ком": 125457, + "à¸ĭึà¹Īà¸ĩ": 125458, + "à¸Ħรัà¸ļ": 125459, + "à¸ļà¹īาà¸Ļ": 125460, + "ĠاÙĦÙĬ": 125461, + "lü": 125462, + "ÙĪØ³": 125463, + "ãģłãģ£ãģŁ": 125464, + "à¹Ģà¸ĩ": 125465, + "Ġê³µ": 125466, + "нÑĥ": 125467, + "ãĤĪãĤĬ": 125468, + "мÑĥ": 125469, + "à¹Ģà¸Ĥา": 125470, + "ãĤĢ": 125471, + "ние": 125472, + "ãģ«ãģªãĤĭ": 125473, + "áºŃy": 125474, + "ĠÙĪØ§": 125475, + "볤": 125476, + "ש×ķ": 125477, + "áp": 125478, + "×ĵ×ķ": 125479, + "ãģ§ãģĹãģŁ": 125480, + "عض": 125481, + "Ñģкой": 125482, + "æĦŁãģĺ": 125483, + "ÑİÑĤÑģÑı": 125484, + "Ġ×Ļ׼×ķ׾": 125485, + "ãĤĵãģł": 125486, + "ви": 125487, + "à¹Ģลà¹Īà¸Ļ": 125488, + "ìĿ´ëĭ¤": 125489, + "ĠÙĦÙĩ": 125490, + "à¸Ħืà¸Ń": 125491, + "تÙĥ": 125492, + "ÙħÙĥÙĨ": 125493, + "aģı": 125494, + "׳×ĵ": 125495, + "민": 125496, + "à¹Ħว": 125497, + "สำห": 125498, + "สำหรัà¸ļ": 125499, + "Ñģлед": 125500, + "tır": 125501, + "ĠÙĦÙĬ": 125502, + "ĠاÙĦعÙħÙĦ": 125503, + "×ij×ķת": 125504, + "×ij×Ļ×Ŀ": 125505, + "à¸Ħำ": 125506, + "à¹Ģà¸Ħรืà¹Īà¸Ńà¸ĩ": 125507, + "lıģı": 125508, + "ืà¸Ńà¸ĩ": 125509, + "جد": 125510, + "íŀĪ": 125511, + "ìĭ¬": 125512, + "×¢×ķת": 125513, + "สิà¸Ļ": 125514, + "Ñĩи": 125515, + "رض": 125516, + "à¹Ģà¸Ľà¸´à¸Ķ": 125517, + "à¸Ħà¹Īา": 125518, + "ìĦł": 125519, + "ÙĪØ±Ø©": 125520, + "×§×ĺ": 125521, + "ìľł": 125522, + "عÙħÙĦ": 125523, + "×IJ×Ļ×Ŀ": 125524, + "׾×Ļ×Ŀ": 125525, + "à¹ĥหà¸į": 125526, + "à¹ĥหà¸įà¹Ī": 125527, + "ừa": 125528, + "á»įi": 125529, + "ãģ¶": 125530, + "ÃŃch": 125531, + "ãĥĩãĤ£": 125532, + "×ķר×Ļ×Ŀ": 125533, + "Ñģо": 125534, + "ìķ½": 125535, + "ова": 125536, + "ÑĩаÑģÑĤ": 125537, + "à¹Ģà¸Īà¹īา": 125538, + "пÑĢо": 125539, + "Ġ×ŀ×Ĺ": 125540, + "ãĥİ": 125541, + "×ķ×Ļ×ķת": 125542, + "Ġде": 125543, + "ë§Ī": 125544, + "ì§ģ": 125545, + "×Ļפ×Ķ": 125546, + "ĠاÙĦعاÙĦÙħ": 125547, + "르": 125548, + "ר×IJ×Ķ": 125549, + "uyá»ĥn": 125550, + "×¢×Ļ": 125551, + "มืà¸Ń": 125552, + "Ø¥ÙĨ": 125553, + "รู": 125554, + "Ġز": 125555, + "×Ļ×ķ×Ŀ": 125556, + "à¸ķà¹īà¸Ļ": 125557, + "ãģ¦ãģĦãģ¾ãģĻ": 125558, + "ÙħاÙĨ": 125559, + "ĠÐ¥": 125560, + "à¸Ľà¸£à¸°à¹Ģà¸Ĺศ": 125561, + "ỳ": 125562, + "׾×ij": 125563, + "à¹Ģà¸Ķà¹ĩ": 125564, + "ãģŁãģ¡": 125565, + "à¸Ĺีม": 125566, + "à¸Ļะ": 125567, + "ìŰ": 125568, + "ĠìłĢ": 125569, + "ÙĦÙĩ": 125570, + "ợi": 125571, + "ĠاÙĦز": 125572, + "دار": 125573, + "ãĤ³ãĥ³": 125574, + "мин": 125575, + "à¹ģหà¹Īà¸ĩ": 125576, + "à¸Ķัà¸ļ": 125577, + "׼ר": 125578, + "жа": 125579, + "íĸĪ": 125580, + "×ŀ×ĸ": 125581, + "ợi": 125582, + "à¸Ķา": 125583, + "Ġعبد": 125584, + "à¹ģร": 125585, + "×IJתר": 125586, + "×¢×ł×Ļ": 125587, + "à¹Ģà¸Ħ": 125588, + "×ķצר": 125589, + "ì§Ģë§Į": 125590, + "ائÙħ": 125591, + "أس": 125592, + "uyá»ģn": 125593, + "Ġ×IJ׳": 125594, + "×Ĺ׳×ķ": 125595, + "×ĸ×Ļ": 125596, + "รà¹īาà¸Ļ": 125597, + "ĠÐłÐ¾Ñģ": 125598, + "ĠÐłÐ¾ÑģÑģ": 125599, + "ربÙĬØ©": 125600, + "tür": 125601, + "ãĤĭãģĵãģ¨": 125602, + "ظر": 125603, + "бÑĭ": 125604, + "à¸Ĺีà¹Īสุà¸Ķ": 125605, + "Ġצר": 125606, + "èĩªåĪĨ": 125607, + "лаÑģ": 125608, + "ĠÑıв": 125609, + "ĠÑıвлÑı": 125610, + "à¸ŀรà¹īà¸Ńม": 125611, + "à¸Ńาà¸Ī": 125612, + "à¸ļริà¸ģาร": 125613, + "Ġçı": 125614, + "ëįĺ": 125615, + "ĠاÙĦÙħست": 125616, + "تش": 125617, + "ש×ķ×ij": 125618, + "ãĤ´": 125619, + "Ġyapıl": 125620, + "ĠاÙĦذ": 125621, + "ุà¹Īม": 125622, + "à¸ĸà¹īา": 125623, + "ìĦ¤": 125624, + "ì°¨": 125625, + "ваÑĢ": 125626, + "à¹Ģà¸ŀิà¹Īม": 125627, + "Æ°á»Ľi": 125628, + "Ùĥس": 125629, + "à¸Ńยาà¸ģ": 125630, + "ãģ¦ãĤĤ": 125631, + "Ġгод": 125632, + "ÙĬار": 125633, + "à¸ķà¸Ńà¸Ļ": 125634, + "ĠигÑĢ": 125635, + "à¹Ħà¸Ķà¹īรัà¸ļ": 125636, + "ĠاÙĦÙħر": 125637, + "ÙĤت": 125638, + "Ġëĺ": 125639, + "ĠëĺIJ": 125640, + "ẩn": 125641, + "ãģĻãĤĭãģĵãģ¨": 125642, + "×Ĵ×Ŀ": 125643, + "Ġ×ij×ij": 125644, + "تد": 125645, + "ÙĪØ§Ø±": 125646, + "ãĤ®": 125647, + "пол": 125648, + "Ġмог": 125649, + "ترÙĥ": 125650, + "ÙĪØ«": 125651, + "Ġçık": 125652, + "اة": 125653, + "à¹Ģà¸Ķียว": 125654, + "มีà¸Ħวาม": 125655, + "Ġ×ŀ×Ĵ": 125656, + "صÙģ": 125657, + "ĠТак": 125658, + "Ġ×Ľ×ª": 125659, + "×Ļ×ĵ×Ļ": 125660, + "овоÑĢ": 125661, + "ầy": 125662, + "สิà¹Īà¸ĩ": 125663, + "بت": 125664, + "ürü": 125665, + "ÙĨج": 125666, + "หลัà¸ģ": 125667, + "×Ļ×Ķ×Ŀ": 125668, + "ÙĤص": 125669, + "зÑĭ": 125670, + "×Ľ×ª×ij": 125671, + "ưu": 125672, + "mız": 125673, + "ĠìĦ¸": 125674, + "лог": 125675, + "ÙħÙĬÙĦ": 125676, + "ÙĬج": 125677, + "íĴĪ": 125678, + "à¸ŀà¸ļ": 125679, + "หัว": 125680, + "зна": 125681, + "רק": 125682, + "à¹Ĥร": 125683, + "Ġ×ijס": 125684, + "ĠBaÅŁkan": 125685, + "ĠëͰ": 125686, + "à¸Ńัà¸Ļ": 125687, + "ีà¹Īยว": 125688, + "неÑģ": 125689, + "à¹Ģà¸Ķิà¸Ļ": 125690, + "ÙĬاÙĨ": 125691, + "×ķ׾×Ļ": 125692, + "اخت": 125693, + "צ×ķת": 125694, + "ãģĵãģĵ": 125695, + "ĠاÙĦاÙĨ": 125696, + "ĠпÑĢоÑĨ": 125697, + "ãģ¾ãģł": 125698, + "×Ľ×¡": 125699, + "ĠاÙĦØ¢": 125700, + "ÙĬز": 125701, + "ĠاÙĦدÙĪÙĦ": 125702, + "ĠíķĺëĤĺ": 125703, + "ضع": 125704, + "ê»ĺ": 125705, + "ÅĽwi": 125706, + "ยิ": 125707, + "ãģ¡ãĤĥãĤĵ": 125708, + "ĠÙħØ´": 125709, + "à¸ĺี": 125710, + "ãģ¨ãģį": 125711, + "׳×Ļ×ķת": 125712, + "Ġë¯": 125713, + "Ġ미": 125714, + "Ġsı": 125715, + "ëĭĪê¹Į": 125716, + "Ġпл": 125717, + "غÙĦ": 125718, + "à¹ģรà¸ĩ": 125719, + "بÙĬر": 125720, + "ãģĤãĤĬãģ¾ãģĽãĤĵ": 125721, + "ê·¼": 125722, + "Ġyüz": 125723, + "ĠdeÄŁer": 125724, + "åł´åIJĪ": 125725, + "ỡ": 125726, + "маÑĤ": 125727, + "ราà¸Ĭ": 125728, + "ÙĪØ±ÙĬ": 125729, + "жен": 125730, + "ãģ¾ãĤĬ": 125731, + "ãģ®ä¸Ń": 125732, + "×Ļ×ĵ×¢": 125733, + "à¸Ńุ": 125734, + "à¸ļà¸Ńล": 125735, + "à¸Ľà¸±à¸įหา": 125736, + "زÙħ": 125737, + "ÄŁa": 125738, + "à¸Ńืà¹Ī": 125739, + "à¸Ńืà¹Īà¸Ļ": 125740, + "пл": 125741, + "ĠнеобÑħодим": 125742, + "׼×ij": 125743, + "à¹Ģศ": 125744, + "קר×Ķ": 125745, + "ì²ĺ": 125746, + "볨": 125747, + "×ŀ×§×ķ×Ŀ": 125748, + "jÄħc": 125749, + "ÙĩÙĦ": 125750, + "Ġ×¢×ij×ķ×ĵ": 125751, + "à¹Ħมà¹ī": 125752, + "à¸ģลัà¸ļ": 125753, + "×ķ׼׾": 125754, + "×§×ĵ": 125755, + "اÙĦÙĬØ©": 125756, + "رÙĩ": 125757, + "ãģijãĤĮãģ°": 125758, + "ĠÙĨÙ쨳": 125759, + "ãĤ¢ãĥ«": 125760, + "ìĹĪëĭ¤": 125761, + "×§×ķר": 125762, + "неÑĢ": 125763, + "باب": 125764, + "ãĤ¶": 125765, + "سبب": 125766, + "ÙĦÙĬÙĦ": 125767, + "صÙĨ": 125768, + "صدر": 125769, + "ếm": 125770, + "à¸Ĭà¹Īวà¸ĩ": 125771, + "ØŃÙĨ": 125772, + "Ġ×ij×Ĵ": 125773, + "×ŀ×ķ×¢": 125774, + "׾×Ĺ": 125775, + "大ãģį": 125776, + "تب": 125777, + "неÑĤ": 125778, + "×Ļ×ij×Ķ": 125779, + "бл": 125780, + "ãĥĹãĥª": 125781, + "اصة": 125782, + "ãģ¤ãģij": 125783, + "×Ļ×ŀ×ķש": 125784, + "ãģĮãģĤ": 125785, + "ëĭ´": 125786, + "ãģĭãĤĤãģĹ": 125787, + "ãģĭãĤĤãģĹãĤĮ": 125788, + "ãģ¡ãĤī": 125789, + "×ij×ĺ": 125790, + "ĠbaÄŁ": 125791, + "×Ļ×Ĺס": 125792, + "×ij×ķ×¢": 125793, + "ลี": 125794, + "פע×Ļ׾": 125795, + "ими": 125796, + "gÅĤ": 125797, + "Ġиме": 125798, + "خداÙħ": 125799, + "×IJ×Ļר": 125800, + "Ġyapt": 125801, + "ãģ¨ãģĦ": 125802, + "à¸ĩà¹Īาย": 125803, + "׾×Ļ×ķ": 125804, + "ØŃدث": 125805, + "راÙĤ": 125806, + "ĠÄIJi": 125807, + "ادر": 125808, + "ãģĵãģ¨ãĤĤ": 125809, + "×ij×Ļר": 125810, + "Ġвз": 125811, + "ضاÙģ": 125812, + "ת×ķ׼": 125813, + "ÑĢом": 125814, + "رات": 125815, + "à¹Ģà¸Ĺà¹Īา": 125816, + "ãģĺãĤĥ": 125817, + "ãģĿãģĵ": 125818, + "اجتÙħاع": 125819, + "à¹īà¸Ńà¸Ļ": 125820, + "ÙĤÙħ": 125821, + "본": 125822, + "Äŀ": 125823, + "ש×Ļ×ķ": 125824, + "×ij׳×Ļ": 125825, + "ìľĦìĽIJ": 125826, + "à¹ģà¸Ī": 125827, + "×Ĺ×ķר": 125828, + "دÙĬÙĨØ©": 125829, + "تط": 125830, + "ằm": 125831, + "òa": 125832, + "ยà¸Ńà¸Ķ": 125833, + "Ġëĭ¹": 125834, + "สุà¸Ĥ": 125835, + "×ĵר×ļ": 125836, + "دÙĨ": 125837, + "سÙĬÙĨ": 125838, + "ÙĪÙĤÙģ": 125839, + "ÑĨÑĭ": 125840, + "гоÑĤов": 125841, + "еждÑĥ": 125842, + "à¸ŀวà¸ģ": 125843, + "اÙĤتص": 125844, + "اÙĤتصاد": 125845, + "czÄĻ": 125846, + "niÄĻ": 125847, + "ÑĢеб": 125848, + "ØŃÙĪ": 125849, + "à¸Ĺà¹Į": 125850, + "ãĤĪãģŃ": 125851, + "дж": 125852, + "à¸ģลà¹Īาว": 125853, + "دÙĬØ«": 125854, + "ãĤ³ãĥŁ": 125855, + "ÙĤÙĪÙħ": 125856, + "ĠتØŃ": 125857, + "à¹Ģà¸ķิ": 125858, + "اÙ쨏": 125859, + "à¸Īุ": 125860, + "رÙĬاض": 125861, + "×ŀש×ļ": 125862, + "à¹Ĥย": 125863, + "еÑĢе": 125864, + "ãģ¿ãģŁãģĦ": 125865, + "ìĿ´ëĿ¼": 125866, + "ĠاÙĦÙħÙĪ": 125867, + "ĠÑģÑĤо": 125868, + "à¹Ģรà¹ĩว": 125869, + "ĠдеÑĤ": 125870, + "ĠÑģдел": 125871, + "à¹Ģà¸Ĭืà¹Īà¸Ń": 125872, + "פ׳×Ļ": 125873, + "ÙĪØ¶ÙĪØ¹": 125874, + "×ijס": 125875, + "à¹ģà¸Ķ": 125876, + "óc": 125877, + "ริม": 125878, + "ÑĢад": 125879, + "ìĪł": 125880, + "ãĥ¼ãĤº": 125881, + "ãģ«ãģĬ": 125882, + "ино": 125883, + "פ×Ļ׾": 125884, + "à¸Ĭัà¹Īà¸Ļ": 125885, + "×Ĺ×ĵש": 125886, + "à¹Ģà¸Ļืà¹Īà¸Ńà¸ĩ": 125887, + "׳×Ļס": 125888, + "غرب": 125889, + "ãĤ¸ãĥ£": 125890, + "สัà¸ĩ": 125891, + "à¹Ģà¸Ĺีà¹Ī": 125892, + "à¹Ģà¸Ĺีà¹Īยว": 125893, + "ëŁ¼": 125894, + "à¹ģà¸Ł": 125895, + "ãĥ¼ãĤ·": 125896, + "ãĥ¼ãĤ·ãĥ§ãĥ³": 125897, + "Ġвозмож": 125898, + "جÙħÙĪØ¹": 125899, + "×ijר×Ļ×Ŀ": 125900, + "ãĥĪãĥ©": 125901, + "ĠкаÑĩеÑģÑĤв": 125902, + "Ø·ÙĬ": 125903, + "ÑĤÑı": 125904, + "צ×ķ×¢": 125905, + "ģını": 125906, + "عÙĦÙī": 125907, + "اذ": 125908, + "ÙĪØ§ÙĤع": 125909, + "ÙħÙĪØ§": 125910, + "ائÙĬÙĦ": 125911, + "кол": 125912, + "á»ģm": 125913, + "à¸ľà¸¥à¸´à¸ķ": 125914, + "×Ļ׳×ĺר": 125915, + "سÙĥ": 125916, + "ש×Ļר": 125917, + "ศึà¸ģษา": 125918, + "à¸ļั": 125919, + "ÑĩаÑģ": 125920, + "×ķפ×Ķ": 125921, + "×Ļפ×ķ׾": 125922, + "ĠاÙĦساب": 125923, + "رÙĬب": 125924, + "ĠاÙĦبÙĬ": 125925, + "ãĤ¹ãĥĨ": 125926, + "Ñĩен": 125927, + "à¹ģà¸ľ": 125928, + "Ġ׳ש": 125929, + "زÙĬد": 125930, + "ØŃاد": 125931, + "ëįĶ": 125932, + "رÙĪØ¹": 125933, + "à¸Ĺุà¸Ļ": 125934, + "สมา": 125935, + "czeÅĦ": 125936, + "×Ļ×ĵ×Ķ": 125937, + "ãģ§ãģĤ": 125938, + "Ġçocuk": 125939, + "خب": 125940, + "à¸ļาย": 125941, + "à¸Ľà¸£à¸°à¸Ĭา": 125942, + "×ŀש׾": 125943, + "ãģªãģĭ": 125944, + "à¸ģาย": 125945, + "ãĥģãĥ£": 125946, + "аÑĢи": 125947, + "ĠÑĩа": 125948, + "à¸Ķำ": 125949, + "à¸Ĺัà¹Īว": 125950, + "ÑĥÑħ": 125951, + "Ġöz": 125952, + "Ġì¢ĭ": 125953, + "جرÙĬ": 125954, + "ائÙĤ": 125955, + "à¸łà¸±à¸¢": 125956, + "طار": 125957, + "دارة": 125958, + "Ä©nh": 125959, + "Ø«ÙĨ": 125960, + "zellik": 125961, + "اÙĦت": 125962, + "Ġgeli": 125963, + "ãĥķãĤ©": 125964, + "олод": 125965, + "ربع": 125966, + "שת×ŀש": 125967, + "à¸ļรร": 125968, + "íĿ¬": 125969, + "Ġürün": 125970, + "Ġê·¸ëłĩ": 125971, + "ศาสà¸ķรà¹Į": 125972, + "ãģľ": 125973, + "×Ļ×ij׾": 125974, + "ĠпÑĢедÑģÑĤав": 125975, + "سطÙĬÙĨ": 125976, + "ãĤĴ使": 125977, + "ĠпомоÑī": 125978, + "×ķקר": 125979, + "ãĥ¯ãĥ¼": 125980, + "Ġyönet": 125981, + "×Ļקר": 125982, + "à¸Ĥา": 125983, + "еÑĢиал": 125984, + "ØŃÙģ": 125985, + "Ġ×Ļצ": 125986, + "à¸Ĺิ": 125987, + "売": 125988, + "à¸Ļà¸Ńà¸ģ": 125989, + "×ķ׼ר": 125990, + "íĻľ": 125991, + "á»§y": 125992, + "ĠاÙĦÙĤر": 125993, + "×Ļ×ij×ķת": 125994, + "ÅĽni": 125995, + "Ùħشار": 125996, + "ượt": 125997, + "ĠÙĦدÙĬ": 125998, + "ÑĤел": 125999, + "ĠØ¥ÙĦÙĬ": 126000, + "عÙĦÙĪÙħ": 126001, + "ìķĺ": 126002, + "виÑĤ": 126003, + "à¸Ħะ": 126004, + "yrı": 126005, + "ãģ¨ãģ£ãģ¦": 126006, + "à¹Ģà¸ī": 126007, + "à¸ĸาม": 126008, + "ÙĤار": 126009, + "عÙĦاÙħ": 126010, + "ặng": 126011, + "ÙħÙĴ": 126012, + "×Ļ×ŀת": 126013, + "سبة": 126014, + "ãĤ¯ãĥ©": 126015, + "×ķסף": 126016, + "ĠпÑĢин": 126017, + "ãģĦãĤį": 126018, + "ساس": 126019, + "عتبر": 126020, + "วิà¸Ĺย": 126021, + "วิà¸Ĺยา": 126022, + "سÙĥر": 126023, + "ãĤ·ãĥ§": 126024, + "ãģģ": 126025, + "ัà¸ģษ": 126026, + "×ij×ķ×Ķ": 126027, + "หย": 126028, + "ãģ¾ãĤĮ": 126029, + "ĠоÑĢганиз": 126030, + "казал": 126031, + "ĠÑģвÑıз": 126032, + "uyết": 126033, + "ĠпÑĢоиз": 126034, + "Ġ×§×ĺ": 126035, + "à¹ģà¸ģà¹ī": 126036, + "пÑĥÑģ": 126037, + "Ġê·¸ê²ĥ": 126038, + "ëĬIJ": 126039, + "лекÑģ": 126040, + "ãĥ¼ãĥĹ": 126041, + "à¸ķำ": 126042, + "ת×Ĺ×Ļ׾": 126043, + "à¸Ńà¸ĩà¸Ħà¹Į": 126044, + "ẵ": 126045, + "׳צ": 126046, + "أش": 126047, + "Ø´Ùĩ": 126048, + "ยะ": 126049, + "à¸ģà¸İ": 126050, + "ĠاÙĦإسÙĦاÙħ": 126051, + "едÑĮ": 126052, + "ãģ²ãģ¨": 126053, + "ëıĦë¡Ŀ": 126054, + "ãģ©ãģ®": 126055, + "Ñĥв": 126056, + "еÑĩение": 126057, + "ĠاÙĦتج": 126058, + "ãģ«è¡Į": 126059, + "Ġпозв": 126060, + "ãĤıãĤĬ": 126061, + "ÙĦاث": 126062, + "íķĺìĺĢ": 126063, + "ĠмаÑĢ": 126064, + "ĠkonuÅŁ": 126065, + "ãĥ¬ãĤ¹": 126066, + "ãĤĴæĮģ": 126067, + "ĠоÑģнов": 126068, + "×Ĺ×ij": 126069, + "ÙĪØ¬ÙĪØ¯": 126070, + "פ×ķף": 126071, + "воÑĢ": 126072, + "Ġник": 126073, + "ãģĭãĤĭ": 126074, + "ÅŁtırma": 126075, + "×Ļס×ĺ": 126076, + "Ø£ÙĦ": 126077, + "หà¹Į": 126078, + "иона": 126079, + "лÑĮн": 126080, + "ĠгоÑģ": 126081, + "ĠÐľÐ¾Ñģк": 126082, + "ÑĢоб": 126083, + "×ķ×IJ×Ļ": 126084, + "ãģĬãĤĬãģ¾ãģĻ": 126085, + "ãģ£ãģ±": 126086, + "кл": 126087, + "à¸Ļà¸Ķà¹Į": 126088, + "رÙĬÙģ": 126089, + "اسب": 126090, + "ĠÑĢеÑĪ": 126091, + "Ġдол": 126092, + "ãģ¹ãģį": 126093, + "×Ļ×ij×ķר": 126094, + "меÑī": 126095, + "ĠнаÑĪ": 126096, + "à¹ģà¸Ľà¸¥": 126097, + "ÑĢиÑĤ": 126098, + "кÑĥÑģ": 126099, + "иÑĢа": 126100, + "аÑĤÑĥÑĢ": 126101, + "ÙĪØ§ØµÙĦ": 126102, + "à¹Ģà¸ľà¸¢": 126103, + "à¸Ńำ": 126104, + "à¹Ģà¸ģิà¸Ļ": 126105, + "غÙħ": 126106, + "ãģĻãģİ": 126107, + "lıkl": 126108, + "ÅĦsk": 126109, + "견": 126110, + "×Ļ׼×Ķ": 126111, + "×Ĺש×ij": 126112, + "ÙĪØ±ÙĬØ©": 126113, + "ĠдейÑģÑĤв": 126114, + "×Ĺ׾×ĺ": 126115, + "Ġ׾×ŀ×¢": 126116, + "צ׾×Ļ×Ĺ": 126117, + "еÑĩа": 126118, + "ÙģØ§Ø¹": 126119, + "×Ĵ×Ļ×ĵ": 126120, + "áºŃm": 126121, + "ÄĻb": 126122, + "شع": 126123, + "ãģıãĤĬ": 126124, + "à¸ŀุ": 126125, + "едеÑĢ": 126126, + "à¸Ĥà¸Ļ": 126127, + "à¸Ħาร": 126128, + "ĠболÑĮÑĪ": 126129, + "ãģıãģªãĤĬ": 126130, + "à¸ĵา": 126131, + "×ĵ×ķ×Ĵ": 126132, + "Ġмн": 126133, + "ä¸ĬãģĮ": 126134, + "ç¶ļãģį": 126135, + "ฤษ": 126136, + "à¸Ĩ": 126137, + "Ø®ÙĬ": 126138, + "à¹Ģà¸Ĺà¸ŀ": 126139, + "สัม": 126140, + "à¹Ģสà¸Ļ": 126141, + "à¹Ģสà¸Ļà¸Ń": 126142, + "ãĥ´": 126143, + "ĠиÑģÑĤ": 126144, + "باشر": 126145, + "ĠÑĥÑĢов": 126146, + "×ŀ×ķ×ĸ": 126147, + "abı": 126148, + "waż": 126149, + "×ķצ×IJ×Ķ": 126150, + "ÑĤвеÑĢ": 126151, + "à¸ŀัà¸Ļà¸ĺà¹Į": 126152, + "׳×Ĵ×ĵ": 126153, + "ãĤĭãģĵãģ¨ãģĮãģ§ãģį": 126154, + "ĠÑĤÑĢеб": 126155, + "à¸ģรุà¸ĩ": 126156, + "ØŃتاج": 126157, + "à¹Ģà¸Ħล": 126158, + "ãĨ": 126159, + "ÄĻtr": 126160, + "Ġszczeg": 126161, + "Ġרש": 126162, + "à¸Ĺà¸ĺ": 126163, + "Ġнек": 126164, + "ĠнекоÑĤоÑĢ": 126165, + "вÑĪ": 126166, + "Ь": 126167, + "à¹Īวย": 126168, + "ลุ": 126169, + "бÑĢÑı": 126170, + "หมูà¹Ī": 126171, + "à¹ģà¸ķà¸ģ": 126172, + "ר׼×Ļ×Ŀ": 126173, + "Ġíĸī": 126174, + "ãi": 126175, + "Ùĥرة": 126176, + "âŃ": 126177, + "íIJ": 126178, + "ãį": 126179, + "áģ": 126180, + "â®": 126181, + "â¥": 126182, + "ì®": 126183, + "à¿": 126184, + "â¿": 126185, + "áĤ": 126186, + "á¤": 126187, + "âł": 126188, + "íŁ": 126189, + "ðIJį": 126190, + "ðIJ°": 126191, + "ðĿĨ": 126192, + "ðŁĪ": 126193, + "Ġ×¢×ľ": 126194, + "ĠعÙĨ": 126195, + "ĠÙħع": 126196, + "Ġ×ĸ×Ķ": 126197, + "ĠÙħا": 126198, + "ĠmÃł": 126199, + "Ġdụ": 126200, + "á»ĩc": 126201, + "аÑħ": 126202, + "sı": 126203, + "íķĺê³ł": 126204, + "Ġ×ķ×ij": 126205, + "ĠÐŁÐ¾": 126206, + "×ķתר": 126207, + "ĠÙĦÙħ": 126208, + "Ġ×ķ׾": 126209, + "ãģĹãģ¦ãģĦãĤĭ": 126210, + "Ġ×ŀ×Ļ": 126211, + "ĠبÙĬÙĨ": 126212, + "за": 126213, + "ĠÙĥاÙĨ": 126214, + "Ġ×Ķ×Ļ×Ķ": 126215, + "ëħĦ": 126216, + "×IJ×ķ": 126217, + "ди": 126218, + "ĠпеÑĢе": 126219, + "dı": 126220, + "Ġ׾ש": 126221, + "Ġש×ŀ": 126222, + "ãģĮãģĤãĤĭ": 126223, + "ãģĦãģĦ": 126224, + "ÑĢе": 126225, + "×§×ķ": 126226, + "или": 126227, + "ме": 126228, + "ÙĬت": 126229, + "ãģ§ãģĤãĤĭ": 126230, + "Ġво": 126231, + "à¹ĥหม": 126232, + "à¹ĥหมà¹Ī": 126233, + "Ġש×ij": 126234, + "Ġà¹Ĥà¸Ķย": 126235, + "ÙĬÙĩ": 126236, + "ãģ§ãģĻãģĮ": 126237, + "ãģ¨ãģ¯": 126238, + "ר×ķ": 126239, + "Ġà¸ĭึà¹Īà¸ĩ": 126240, + "ãģ§ãģįãĤĭ": 126241, + "мо": 126242, + "à¹Ģà¸ŀืà¹Īà¸Ń": 126243, + "צ×ķ": 126244, + "×ĺ×ķ": 126245, + "ìķĪ": 126246, + "Ġhá»į": 126247, + "à¹Ģà¸ĩิà¸Ļ": 126248, + "ĠاÙĦب": 126249, + "Ġมี": 126250, + "물": 126251, + "Ñģе": 126252, + "ëĵ¤ìĿ´": 126253, + "Ġë§IJ": 126254, + "ĠlỼ": 126255, + "aÅĤ": 126256, + "×Ĺ×ijר": 126257, + "Ġdá»±": 126258, + "ÙĬØ«": 126259, + "Ġthá»ĭ": 126260, + "à¸ģà¹Īà¸Ńà¸Ļ": 126261, + "Ġ×ij׼׾": 126262, + "ãģ¸": 126263, + "ã썿ĢĿãģĦãģ¾ãģĻ": 126264, + "ảnh": 126265, + "ยา": 126266, + "Ù쨧": 126267, + "สี": 126268, + "à¸ķา": 126269, + "ë²ķ": 126270, + "ãĥªãĥ¼": 126271, + "ราà¸Ħา": 126272, + "Ġ×ķ׾×IJ": 126273, + "ãģ¨ãģĵãĤį": 126274, + "à¹Ģลืà¸Ń": 126275, + "diÄŁi": 126276, + "ÙĪØ§ÙĨ": 126277, + "Ġ׾×Ķת": 126278, + "รวม": 126279, + "פ×Ļ×Ŀ": 126280, + "à¸ľà¸¡": 126281, + "жи": 126282, + "cı": 126283, + "ÑĢод": 126284, + "ĠkarÅŁÄ±": 126285, + "×Ĵ×ķ": 126286, + "ãģ«ãģ¤": 126287, + "ãģ«ãģ¤ãģĦãģ¦": 126288, + "rÃł": 126289, + "×Ļ×ķתר": 126290, + "ĠìĨĮ": 126291, + "×§×Ķ": 126292, + "ÑģÑĤво": 126293, + "ãģijãģ©": 126294, + "gé": 126295, + "à¸Ķà¹īาà¸Ļ": 126296, + "çļĦãģ«": 126297, + "ĠÙĬÙħÙĥÙĨ": 126298, + "ìĨį": 126299, + "ÙĬÙĥ": 126300, + "à¹Ħวà¹ī": 126301, + "Ñģкий": 126302, + "ìm": 126303, + "Ġ׾×IJ×Ĺר": 126304, + "à¸Ńาหาร": 126305, + "Ġà¹Ģà¸ŀ": 126306, + "ราะ": 126307, + "ลูà¸ģ": 126308, + "ÑģÑĤа": 126309, + "Ġìľł": 126310, + "ÙĤÙĪÙĦ": 126311, + "боÑĢ": 126312, + "Ñģкого": 126313, + "หลัà¸ĩ": 126314, + "à¸Ĥà¹Īาว": 126315, + "à¹Ģมืà¸Ńà¸ĩ": 126316, + "ê°ģ": 126317, + "tÃł": 126318, + "ÙĬÙĬÙĨ": 126319, + "عرض": 126320, + "ë°©": 126321, + "ĠëıĻ": 126322, + "Ġà¹Ģà¸Ľ": 126323, + "Ġà¹Ģà¸Ľà¹ĩà¸Ļ": 126324, + "çi": 126325, + "liÄŁi": 126326, + "ìĹIJê²Į": 126327, + "ãĤ¿ãĥ¼": 126328, + "Ġ×ľ×ª": 126329, + "פ×ķת": 126330, + "à¸Ĥà¸Ń": 126331, + "رس": 126332, + "ìłIJ": 126333, + "à¸ľà¹Īาà¸Ļ": 126334, + "ÑĦи": 126335, + "جÙĨ": 126336, + "ì¢ħ": 126337, + "Ġ×Ķפ": 126338, + "Ġngo": 126339, + "á»ĭa": 126340, + "Ġtá»ķ": 126341, + "Ġ그리": 126342, + "à¹Ģมืà¹Īà¸Ń": 126343, + "ذÙĥر": 126344, + "ìĸij": 126345, + "ìĹŃ": 126346, + "×ĺ׾": 126347, + "kı": 126348, + "ĠعÙħÙĦ": 126349, + "ĠعÙĨد": 126350, + "à¸ĭืà¹īà¸Ń": 126351, + "Ġê±°": 126352, + "ве": 126353, + "rü": 126354, + "à¹Ģà¸Ńา": 126355, + "สà¹Į": 126356, + "à¸Īà¸Ļ": 126357, + "סת": 126358, + "Ġgiả": 126359, + "ãĤĭãģ¨": 126360, + "à¸ģำลัà¸ĩ": 126361, + "ней": 126362, + "à¸Īริ": 126363, + "à¸Īริà¸ĩ": 126364, + "Ġëį": 126365, + "ĠëįĶ": 126366, + "à¸Ħà¹Īะ": 126367, + "ìn": 126368, + "Ġsüre": 126369, + "Ġquy": 126370, + "à¸ļาà¸ĩ": 126371, + "åıĸãĤĬ": 126372, + "ר×Ĺ": 126373, + "×ijת": 126374, + "ãģĮãģĤãĤĬãģ¾ãģĻ": 126375, + "רש": 126376, + "ìĹIJëĬĶ": 126377, + "Ġ×IJפשר": 126378, + "ayı": 126379, + "ãģĮãĤī": 126380, + "ØŃب": 126381, + "анÑģ": 126382, + "سÙĪ": 126383, + "ĠпÑĢе": 126384, + "دÙĪ": 126385, + "ãģ«ãĤĪ": 126386, + "à¹Ģà¸ģม": 126387, + "สูà¸ĩ": 126388, + "makt": 126389, + "maktad": 126390, + "maktadır": 126391, + "Ġönem": 126392, + "×Ļ×ŀ×Ļ×Ŀ": 126393, + "бо": 126394, + "ÙĪÙĬØ©": 126395, + "à¸£à¸¹à¸Ľ": 126396, + "à¹Ĥลà¸ģ": 126397, + "ÙħÙĬع": 126398, + "ÑģÑĤÑĥп": 126399, + "à¹Ĥà¸Ń": 126400, + "دÙĬÙĨ": 126401, + "ì¤ij": 126402, + "ãģĹãģı": 126403, + "à¹Ģสีย": 126404, + "вÑĭ": 126405, + "Ùħت": 126406, + "íĺĦ": 126407, + "ãĥIJãĥ¼": 126408, + "اش": 126409, + "קס": 126410, + "Ġtụ": 126411, + "ลà¸Ķ": 126412, + "Ù쨩": 126413, + "íijľ": 126414, + "رج": 126415, + "kÅĤad": 126416, + "ĠÅŁey": 126417, + "ĠØ£Ùħ": 126418, + "Ġà¹Ģม": 126419, + "ĠبÙĦ": 126420, + "ÑģкаÑı": 126421, + "ãģ¨ãģ®": 126422, + "Ġìĭ¤": 126423, + "ấm": 126424, + "หà¹īà¸Ńà¸ĩ": 126425, + "à¸Ĭม": 126426, + "dü": 126427, + "Ġçek": 126428, + "Ġê³ł": 126429, + "×Ĵ×ij": 126430, + "à¸Ĭีวิ": 126431, + "à¸Ĭีวิà¸ķ": 126432, + "Ù쨶ÙĦ": 126433, + "ฯ": 126434, + "çı": 126435, + "Ġبش": 126436, + "ĠÙĩÙĨا": 126437, + "ãģįãģ¾ãģĹãģŁ": 126438, + "tü": 126439, + "Ġìĺģ": 126440, + "ĠTürk": 126441, + "кÑĤ": 126442, + "פרס": 126443, + "ãģ¨ãģĦãģĨãģĵãģ¨": 126444, + "íĶĦ": 126445, + "à¹ģรà¸ģ": 126446, + "ר×ķף": 126447, + "Ġaras": 126448, + "×ŀצ×IJ": 126449, + "Ġtá»ī": 126450, + "سا": 126451, + "à¸ŀà¸Ń": 126452, + "ĠاÙĦÙħØŃ": 126453, + "ãĥ¤": 126454, + "ĠاÙĦاست": 126455, + "ÙģÙĨ": 126456, + "×Ļ×ŀ×Ķ": 126457, + "رت": 126458, + "ãģ¨ãĤĤ": 126459, + "ĠнаÑģ": 126460, + "пÑĢи": 126461, + "Ġ×Ĺ×ķ": 126462, + "ила": 126463, + "ÙĬØ´": 126464, + "Ġgöz": 126465, + "Ġ×ij׳×Ļ": 126466, + "ımı": 126467, + "ĠÑĤеÑħ": 126468, + "Ġhá»Ļ": 126469, + "غر": 126470, + "кон": 126471, + "اØŃت": 126472, + "Ġà¸ŀ": 126473, + "à¸Ńà¸Ńà¸Ļ": 126474, + "à¸Ńà¸Ńà¸Ļà¹Ħล": 126475, + "à¸Ńà¸Ńà¸Ļà¹Ħลà¸Ļà¹Į": 126476, + "Ñħо": 126477, + "Ñıв": 126478, + "à¹ģสà¸Ķ": 126479, + "à¹ģสà¸Ķà¸ĩ": 126480, + "à¹Ģà¸ŀียà¸ĩ": 126481, + "ÑĤов": 126482, + "اÙĬ": 126483, + "Ġ×Ķ×ĵ": 126484, + "Ġ×ķ׼": 126485, + "ãĤīãģĦ": 126486, + "×ķפף": 126487, + "Ġë¶Ī": 126488, + "ลà¸Ńà¸ĩ": 126489, + "طاÙĦ": 126490, + "Ġни": 126491, + "ĠÙħست": 126492, + "ếc": 126493, + "Ġש׼": 126494, + "ĠëķĮ문": 126495, + "วัà¸Ļà¸Ĺีà¹Ī": 126496, + "×Ļ׾×ĵ": 126497, + "ØŃا": 126498, + "еÑĨ": 126499, + "Ġcứ": 126500, + "×ĵ×ķר": 126501, + "ĠÙħØŃ": 126502, + "ר׼×ij": 126503, + "بÙĬع": 126504, + "нии": 126505, + "ĠاÙĦØ£ÙĪÙĦ": 126506, + "à¸Ħวร": 126507, + "ã썿ĢĿãģĨ": 126508, + "ĠСо": 126509, + "ائÙĬØ©": 126510, + "راء": 126511, + "оÑģоб": 126512, + "ĠبأÙĨ": 126513, + "×¢×ķ×ĵ": 126514, + "ĠÑĤе": 126515, + "ãģĵãģĨ": 126516, + "ÑģÑĤÑĢа": 126517, + "айн": 126518, + "Ġsöz": 126519, + "تÙĨا": 126520, + "à¸Ńิ": 126521, + "ặp": 126522, + "ĠìķĦëĭĪ": 126523, + "íķŃ": 126524, + "Ġר×IJש": 126525, + "Ġà¹Ħà¸Ķà¹ī": 126526, + "Ġ×Ĵ×ĵ": 126527, + "Ġספר": 126528, + "обÑīе": 126529, + "ĠÙĪØ¥": 126530, + "adaÅŁ": 126531, + "ãģ¡ãĤĩ": 126532, + "×§×ķ׾": 126533, + "ÑĢез": 126534, + "ĠdÃ¼ÅŁÃ¼n": 126535, + "Ġ×ij×IJ×ŀ": 126536, + "Ġìĸ´ëĸ": 126537, + "ער×ij": 126538, + "нее": 126539, + "ĠÑģÑĤÑĢан": 126540, + "ساÙĨ": 126541, + "ynı": 126542, + "ĠاÙĦرئÙĬس": 126543, + "ãģĹãģª": 126544, + "Ġ×ł×ª": 126545, + "ãģ«ãģªãģ£ãģŁ": 126546, + "gü": 126547, + "åıĹãģij": 126548, + "×ľ×ª": 126549, + "ìłĪ": 126550, + "ëĬĶëį°": 126551, + "Ø®ÙĬر": 126552, + "à¸ķà¹īà¸Ńà¸ĩà¸ģาร": 126553, + "ĠÙĦØ£ÙĨ": 126554, + "Ġchá»ĭ": 126555, + "ÙĪØ©": 126556, + "à¹ĥส": 126557, + "ë¶ĢíĦ°": 126558, + "íķĺë©´": 126559, + "ữu": 126560, + "à¹Ģหมืà¸Ńà¸Ļ": 126561, + "беÑĢ": 126562, + "ĠìĿ´ìļ©": 126563, + "ĠÑģеб": 126564, + "wiÄĻks": 126565, + "Ġ×ł×¢": 126566, + "ÑĤÑĥÑĢ": 126567, + "ĠnghÄ©": 126568, + "ש×ķ×ĺ": 126569, + "tiÄŁi": 126570, + "ĠdeÄŁi": 126571, + "×IJ×ij": 126572, + "Ġ×ŀ×ŀ": 126573, + "ãĥĹãĥŃ": 126574, + "waÅĤ": 126575, + "à¸Īึà¸ĩ": 126576, + "خدÙħ": 126577, + "×IJ×Ŀ": 126578, + "Ä±ÅŁÄ±": 126579, + "czÄħ": 126580, + "ר×ĵ": 126581, + "ĠÑĢÑĥб": 126582, + "خرÙī": 126583, + "ã쮿ĸ¹": 126584, + "ĠденÑĮ": 126585, + "×Ĺ×Ļ×Ŀ": 126586, + "еÑĤе": 126587, + "ëĤľ": 126588, + "×IJ×Ĵ": 126589, + "×¢×ķר": 126590, + "ë³Ħ": 126591, + "åIJĮãģĺ": 126592, + "ãĤ²": 126593, + "ר×ļ": 126594, + "×ķש×IJ": 126595, + "ìľ¡": 126596, + "اخ": 126597, + "צ×Ļ×Ķ": 126598, + "á»±a": 126599, + "ãģĪãģ¦": 126600, + "ש×Ķ×ķ": 126601, + "анÑĤ": 126602, + "ลาà¸Ķ": 126603, + "инг": 126604, + "ë¡ł": 126605, + "اعد": 126606, + "ÙĪØ³Ø·": 126607, + "Ġвоп": 126608, + "ĠвопÑĢоÑģ": 126609, + "ÙħÙĬÙĨ": 126610, + "à¸Ħà¸ĩ": 126611, + "×Ļר×Ļ×Ŀ": 126612, + "ców": 126613, + "격": 126614, + "Ġê·¸ëŁ°": 126615, + "Ġì§Ħ": 126616, + "Ġש׾×Ķ": 126617, + "à¹Ģริà¹Īม": 126618, + "à¸Ĭà¸Ńà¸ļ": 126619, + "деÑĤ": 126620, + "ÑİÑīиÑħ": 126621, + "à¸ļà¸Ńà¸ģ": 126622, + "æĢĿãģĦ": 126623, + "عÙĬد": 126624, + "ס×ŀ": 126625, + "×Ĵ×Ļ×¢": 126626, + "צ×ĵ": 126627, + "بات": 126628, + "ĠëͰëĿ¼": 126629, + "à¸Īัà¸ĩ": 126630, + "ãģłãģijãģ§": 126631, + "×¢×Ļר": 126632, + "ĠÑĩел": 126633, + "ĠÑĩелов": 126634, + "ĠÑĩеловек": 126635, + "ãĥĥãĥģ": 126636, + "à¹Ģà¸ģีà¹Īยว": 126637, + "à¸Ķิ": 126638, + "Ġפע": 126639, + "×Ļ×ŀ×Ļ": 126640, + "ë°ĺ": 126641, + "خار": 126642, + "×ij×Ļת": 126643, + "×¢×Ļ×Ŀ": 126644, + "üyor": 126645, + "ãĤģãģ¦": 126646, + "клад": 126647, + "Ġà¸Īาà¸ģ": 126648, + "à¹Ģà¸Ħย": 126649, + "สà¸Ńà¸ĩ": 126650, + "à¹ģà¸Ħà¹Ī": 126651, + "ẫu": 126652, + "หà¸Ļัà¸ĩ": 126653, + "ש׾×ķ×Ŀ": 126654, + "اÙĨÙĬØ©": 126655, + "åĩºä¼ļ": 126656, + "åĩºä¼ļãģĦ": 126657, + "à¸łà¸²à¸¢": 126658, + "à¸ļาà¸Ĺ": 126659, + "à¸Ĭาว": 126660, + "muÅŁ": 126661, + "Ġ׾ק×ij׾": 126662, + "ãĤ·ãĥ£": 126663, + "ĠÄ°ÅŁ": 126664, + "×Ĵ×ĵ×ķ׾": 126665, + "جعÙĦ": 126666, + "ë³Ģ": 126667, + "ยิà¹Īà¸ĩ": 126668, + "à¸Ļาย": 126669, + "à¸Ļีà¹Ī": 126670, + "วิà¸ĺี": 126671, + "ãĤīãģªãģĦ": 126672, + "ëłĪ": 126673, + "Ġë¬¸ìłľ": 126674, + "Ġà¸ģ": 126675, + "à¸Ĺำà¸ĩาà¸Ļ": 126676, + "à¹Ģวà¹ĩà¸ļ": 126677, + "ÑĦе": 126678, + "楽ãģĹ": 126679, + "สำà¸Ħ": 126680, + "สำà¸Ħัà¸į": 126681, + "رÙħ": 126682, + "ãģķãĤĮãģ¦": 126683, + "Ġобла": 126684, + "ר×IJ×Ļ": 126685, + "หมà¸Ķ": 126686, + "ÙĨÙĬØ©": 126687, + "лин": 126688, + "ĠeÄŁ": 126689, + "itim": 126690, + "ëł¹": 126691, + "صاÙĦ": 126692, + "ÅĽl": 126693, + "à¸ľà¸´à¸Ķ": 126694, + "ãĥŀãĥ³": 126695, + "åħ¥ãĤĮ": 126696, + "à¹Ģà¸ķà¸Ńรà¹Į": 126697, + "ارÙĬ": 126698, + "ĠЦ": 126699, + "dür": 126700, + "สวย": 126701, + "립": 126702, + "رÙĥØ©": 126703, + "Ġhã": 126704, + "×Ļת×Ķ": 126705, + "à¸Ĥà¸Ļา": 126706, + "à¸Ĥà¸Ļาà¸Ķ": 126707, + "à¸Īำà¸Ļ": 126708, + "à¸Īำà¸Ļวà¸Ļ": 126709, + "ש×ķ×§": 126710, + "Ġдом": 126711, + "ì±ħ": 126712, + "ãģĭãģij": 126713, + "פ×ķ׾": 126714, + "à¸Ĭาย": 126715, + "ÑģмоÑĤÑĢ": 126716, + "ÑģлÑĥж": 126717, + "ש×IJ׾": 126718, + "кÑĢÑĭÑĤ": 126719, + "Ġìŀĺ": 126720, + "é«ĺãģĦ": 126721, + "ĠÑĢÑĥк": 126722, + "ÙĨص": 126723, + "дав": 126724, + "ưỡ": 126725, + "ưỡng": 126726, + "راÙħ": 126727, + "×Ļ׳×Ļ×Ŀ": 126728, + "ãĥ©ãĥ¼": 126729, + "ëĦ¤": 126730, + "Ġتع": 126731, + "lke": 126732, + "好ãģį": 126733, + "æĮģãģ¡": 126734, + "Ġë§İ": 126735, + "Ġyük": 126736, + "ĠÑģоÑģÑĤав": 126737, + "енÑĤÑĢ": 126738, + "peÅĤ": 126739, + "à¹Ģà¸Ľà¸¥à¸µà¹Īย": 126740, + "à¹Ģà¸Ľà¸¥à¸µà¹Īยà¸Ļ": 126741, + "íıī": 126742, + "ãĤĦãģĻ": 126743, + "×Ĺ×ĸ": 126744, + "×ijר×Ķ": 126745, + "루": 126746, + "ìĶĢ": 126747, + "بØŃØ«": 126748, + "à¹Ģà¸ķà¹ĩ": 126749, + "ówi": 126750, + "بÙĩ": 126751, + "ãģįãģ¾ãģĻ": 126752, + "Ġ×¢×ŀ": 126753, + "×Ĵ×ķ׾": 126754, + "езд": 126755, + "ÙĬÙ쨩": 126756, + "สà¸Ļà¹ĥà¸Ī": 126757, + "Ġ×ª×ľ": 126758, + "ÑıÑī": 126759, + "ĠسÙĨ": 126760, + "ĠÙĪØ§ØŃد": 126761, + "ĠÑģм": 126762, + "ladı": 126763, + "ıld": 126764, + "×Ļרת": 126765, + "ียà¸Ļ": 126766, + "ת×Ĺת": 126767, + "Ġжиз": 126768, + "à¸ŀั": 126769, + "à¸ŀัà¸Ĵ": 126770, + "à¸ŀัà¸Ĵà¸Ļา": 126771, + "à¸Ĭิ": 126772, + "اخÙĦ": 126773, + "ãģ£ãģ¦ãģĦãģŁ": 126774, + "รัà¸IJ": 126775, + "ãĤģãĤĭ": 126776, + "à¹Ĥà¸ģ": 126777, + "ĠTá»ķ": 126778, + "Ġhakk": 126779, + "رÙģ": 126780, + "ìłĢ": 126781, + "Ñģоб": 126782, + "ãģªãģijãĤĮãģ°": 126783, + "ÙĩÙĪ": 126784, + "Ġë²ķ": 126785, + "ãĤĨ": 126786, + "ĠاÙĦسعÙĪØ¯": 126787, + "Ġ×IJתר": 126788, + "اغ": 126789, + "Ġ׾×ĵ": 126790, + "à¹ģà¸ķ": 126791, + "à¹ģà¸ķà¹Īà¸ĩ": 126792, + "íĮĮ": 126793, + "ÑĥпиÑĤÑĮ": 126794, + "à¸ŀืà¹īà¸Ļà¸Ĺีà¹Ī": 126795, + "×ijת×Ļ": 126796, + "à¹ĩà¸ģ": 126797, + "ÅĤat": 126798, + "Ġê°ľìĿ¸": 126799, + "ìłķë³´": 126800, + "ÑĤал": 126801, + "Ġgüven": 126802, + "Ġİl": 126803, + "Ġê°ģ": 126804, + "Ġبت": 126805, + "×ŀ×ķ׳×Ķ": 126806, + "ĠاÙĦØŃÙĥÙĪÙħ": 126807, + "ÙĤات": 126808, + "à¹ģà¸ģà¹Ī": 126809, + "หาà¸ģ": 126810, + "нÑĮ": 126811, + "à¸Ľà¸£à¸±à¸ļ": 126812, + "มาà¸ĵ": 126813, + "ĠнеÑģк": 126814, + "Ġض": 126815, + "สมั": 126816, + "สมัà¸Ħร": 126817, + "ãģĮãģĤãĤĬ": 126818, + "меÑģÑĤ": 126819, + "Ġ×IJצ׾": 126820, + "Ġкомпани": 126821, + "סר": 126822, + "ÙĬÙħØ©": 126823, + "ĠÑħоÑĢо": 126824, + "ĠÑħоÑĢоÑĪ": 126825, + "Ġ×Ļ×ķ×ĵ": 126826, + "üs": 126827, + "×Ĵ×Ļש": 126828, + "à¸ļà¸Ĺ": 126829, + "تÙĨظ": 126830, + "วาà¸ĩ": 126831, + "มหา": 126832, + "Ġ׼×ķ׾": 126833, + "à¸Ĥà¹īาà¸ĩ": 126834, + "ë°ľ": 126835, + "год": 126836, + "дан": 126837, + "ãģĭãĤĤãģĹãĤĮãģ¾ãģĽãĤĵ": 126838, + "ãģĵãģ¡ãĤī": 126839, + "ãĥIJãĤ¤": 126840, + "eceÄŁi": 126841, + "دÙĬدة": 126842, + "ÙĨÙī": 126843, + "Ġëĭ¤ìĿĮ": 126844, + "วี": 126845, + "غا": 126846, + "лиз": 126847, + "à¹Ģà¸Ķิ": 126848, + "à¹Ģà¸Ķิม": 126849, + "ĠÙĬست": 126850, + "Ġyılı": 126851, + "koÅĦ": 126852, + "ãģ§ãģĹãĤĩãģĨãģĭ": 126853, + "ãģĤãģª": 126854, + "ãģĤãģªãģŁ": 126855, + "ÑĨен": 126856, + "ĠÙĪØ²": 126857, + "×IJ×Ļש": 126858, + "à¹Īà¸Ń": 126859, + "رØŃ": 126860, + "ê´ij": 126861, + "ÑĢаÑģÑĤ": 126862, + "Ġ×Ķ׾": 126863, + "ãģĹãģ¦ãĤĤ": 126864, + "×ŀר׼": 126865, + "×ŀר׼×ĸ": 126866, + "éģķãģĦ": 126867, + "ãģŁãģı": 126868, + "ĠÑģÑĥд": 126869, + "веÑģÑĤи": 126870, + "ĠíķĦìļĶ": 126871, + "ãĥķãĤ§": 126872, + "ÑĤелÑĮно": 126873, + "à¹Ģà¸ŀืà¹Īà¸Ńà¸Ļ": 126874, + "ÅĤuż": 126875, + "à¹Ģà¸Ķิà¸Ļà¸Ĺาà¸ĩ": 126876, + "ש×ķר": 126877, + "Ġ×ŀ×ĵ": 126878, + "×ķ×¢×ľ": 126879, + "ÙĦاÙħ": 126880, + "à¹Ħà¸ĭ": 126881, + "лей": 126882, + "кÑĥÑĢ": 126883, + "Ả": 126884, + "à¸Ĺาà¸Ļ": 126885, + "ì§ij": 126886, + "ĠгоÑĢод": 126887, + "רס": 126888, + "׾×ķ×Ĵ": 126889, + "masını": 126890, + "ĠлÑĥÑĩ": 126891, + "ลà¹Īา": 126892, + "ìļ¸": 126893, + "ש×ĺ": 126894, + "ĠÐĺн": 126895, + "íĤ¤": 126896, + "ÙĪÙĦا": 126897, + "ìķł": 126898, + "ĠØ£ÙĬضا": 126899, + "Ùĥار": 126900, + "ĠاÙĦتع": 126901, + "สูà¹Ī": 126902, + "ãĤ¼": 126903, + "×ij×Ļ×IJ": 126904, + "ยà¸ģ": 126905, + "ĠØŃÙĤ": 126906, + "ربÙĬ": 126907, + "ãģĺãĤĥãģªãģĦ": 126908, + "รัà¸ģษา": 126909, + "ÑħодиÑĤ": 126910, + "à¸ķà¸Ńà¸ļ": 126911, + "׳×ĺ×Ļ": 126912, + "ĠاÙĦÙħج": 126913, + "تÙħع": 126914, + "оваÑĤÑĮ": 126915, + "ÙĦÙĬÙĨ": 126916, + "×Ļ×ŀ×ķת": 126917, + "Ġmù": 126918, + "nÄĻ": 126919, + "ĠدÙĬ": 126920, + "׼ש×Ļ×ķ": 126921, + "Ġhiç": 126922, + "ëijIJ": 126923, + "ÙĪØ§Ø¡": 126924, + "ÙĪØ·": 126925, + "ĠاÙĦبÙĦ": 126926, + "à¹ģมà¹ī": 126927, + "×§×ķת": 126928, + "ÙĪØ¬Ø¯": 126929, + "å§ĭãĤģ": 126930, + "ÙĬئة": 126931, + "Ġ매": 126932, + "صبØŃ": 126933, + "פ×IJ": 126934, + "гоÑĢ": 126935, + "ס×Ķ": 126936, + "بÙĬÙĤ": 126937, + "ยาà¸ģ": 126938, + "Ġнад": 126939, + "ÙĬÙij": 126940, + "ĠبÙĪ": 126941, + "ס×ķר": 126942, + "ÙħÙĥاÙĨ": 126943, + "ר×ij": 126944, + "×Ĵ×ĸ": 126945, + "צת": 126946, + "bilit": 126947, + "лаг": 126948, + "ĠNgo": 126949, + "×IJ×ķר": 126950, + "à¸ķà¸Ļ": 126951, + "íĬ¹": 126952, + "à¸Ĺีà¹Īà¸Ķี": 126953, + "à¸Ľà¸£à¸°à¸Īำ": 126954, + "ование": 126955, + "ãģĦãģ¤": 126956, + "ãĥĥãĤ¯ãĤ¹": 126957, + "åIJĪãĤı": 126958, + "åIJĪãĤıãģĽ": 126959, + "×Ļ׳×ķ×Ļ": 126960, + "ạy": 126961, + "Ø«ÙĤ": 126962, + "ĠпÑĢоб": 126963, + "ĠпÑĢоблем": 126964, + "ÅŁeh": 126965, + "ÅŁehir": 126966, + "عادة": 126967, + "اÙĨÙĪÙĨ": 126968, + "à¸ķัวà¹Ģà¸Ńà¸ĩ": 126969, + "ì¶ķ": 126970, + "ılan": 126971, + "бан": 126972, + "ãĥ³ãĥī": 126973, + "à¸Īี": 126974, + "Ġ×Ķש׳×Ļ": 126975, + "поÑĤ": 126976, + "×ķ׾×Ļ×Ŀ": 126977, + "ลัà¸ļ": 126978, + "ĠÑįÑĤи": 126979, + "×ijקש": 126980, + "ë¹ĦìĬ¤": 126981, + "à¸Ńยà¹Īาà¸ĩà¹Ħร": 126982, + "×Ļ׾×Ļ": 126983, + "à¹ĥà¸Ĭà¹Ī": 126984, + "ĠاÙĦÙĥÙĦ": 126985, + "ãĥļãĥ¼ãĤ¸": 126986, + "صة": 126987, + "ÑĤиÑĢ": 126988, + "ãĤĵãģ©": 126989, + "зÑĭк": 126990, + "wyż": 126991, + "ÙĩÙĬ": 126992, + "ĠÙħÙĦÙĬ": 126993, + "Ġвиде": 126994, + "ظاÙħ": 126995, + "داÙĪÙĦ": 126996, + "×ŀת×Ļ": 126997, + "Ġsık": 126998, + "à¹Ģà¸ķิม": 126999, + "ãĤ¢ãĤ¤": 127000, + "каÑħ": 127001, + "צ×Ļ׾": 127002, + "à¹Ģà¸Ĭà¹Īà¸Ļ": 127003, + "маг": 127004, + "магаз": 127005, + "магазин": 127006, + "à¸Ľà¸±": 127007, + "à¸Ľà¸±à¸Ī": 127008, + "Ġש×Ļר×ķת": 127009, + "ียม": 127010, + "ãĥĸãĥ«": 127011, + "ĠدÙĪÙĦ": 127012, + "קר×Ļ×Ŀ": 127013, + "ÙĩÙı": 127014, + "ово": 127015, + "Ġüret": 127016, + "دÙĪÙĨ": 127017, + "à¹ģà¸Ļว": 127018, + "à¹Ģà¸Ļืà¹īà¸Ń": 127019, + "ĠÑĦоÑĤ": 127020, + "ãĥĺ": 127021, + "ãģ¤ãģĭ": 127022, + "ÑıÑģ": 127023, + "ĠíķĺëĤĺëĭĺ": 127024, + "ائع": 127025, + "ĠплаÑĤ": 127026, + "ìĺĪ": 127027, + "ĠdostÄĻp": 127028, + "ÙĪØ¬Ùĩ": 127029, + "Ġ×Ķ×Ĺ×Ļ": 127030, + "׳×Ļ×§": 127031, + "дей": 127032, + "íĽĦ": 127033, + "ıy": 127034, + "بØŃر": 127035, + "à¹Ģสริม": 127036, + "Ġ׾×Ĵ": 127037, + "ذÙĩب": 127038, + "جÙĬÙĦ": 127039, + "رÙĥز": 127040, + "Ġëħ": 127041, + "Ġëħ¸": 127042, + "פ×Ļ׾×ķ": 127043, + "ãģ¾ãģļ": 127044, + "iriÅŁ": 127045, + "ĠÙĥÙĬÙģ": 127046, + "Ġ×ijצ": 127047, + "ĠêµIJ": 127048, + "ÑĢоÑģÑģ": 127049, + "ĠØ´ÙĬ": 127050, + "Ġiçer": 127051, + "×Ĵ×ķ×ij×Ķ": 127052, + "менно": 127053, + "×¢×ij×Ļר": 127054, + "×ķ×ŀ×Ķ": 127055, + "ãĤīãģĹãģĦ": 127056, + "ãģ¼": 127057, + "Ñīин": 127058, + "è²·ãģĦ": 127059, + "جÙħÙĪØ¹Ø©": 127060, + "Ġdönem": 127061, + "Ġ×ij×IJר": 127062, + "веÑģÑĤ": 127063, + "×ķר×ķת": 127064, + "سÙģ": 127065, + "à¹ģà¸Ĺà¸Ļ": 127066, + "ĠдокÑĥменÑĤ": 127067, + "ĠاÙĬ": 127068, + "جاÙĨ": 127069, + "צ×ķ×¢×Ļ": 127070, + "ĠоÑģоб": 127071, + "ĠاÙĦÙħس": 127072, + "ÑĢаб": 127073, + "à¸łà¸¹": 127074, + "à¸Ķาว": 127075, + "лекÑĤ": 127076, + "عÙĤ": 127077, + "×ķ×ĵ×ķת": 127078, + "Ġolu": 127079, + "ĠoluÅŁtur": 127080, + "ãģ¾ãģ¾": 127081, + "един": 127082, + "à¹Ģà¸Ńà¸ģ": 127083, + "ãĤµãĤ¤": 127084, + "ëĦĪ": 127085, + "Ø·ÙĨÙĬ": 127086, + "Ø·ÙĤØ©": 127087, + "ĠÐłÐ°Ð·": 127088, + "ÙĦÙij": 127089, + "Ñĩем": 127090, + "Ġ׾×ĺ": 127091, + "สัà¹Īà¸ĩ": 127092, + "سرائÙĬÙĦ": 127093, + "Ġפר×ĺ×Ļ": 127094, + "деÑģÑĮ": 127095, + "Ġ׳׼": 127096, + "اÙĨب": 127097, + "ÙĬاة": 127098, + "Ùħبر": 127099, + "Ġkı": 127100, + "à¸Ľà¸ı": 127101, + "à¸Ľà¸ıิ": 127102, + "à¸ļัà¸ķิ": 127103, + "×ł×ª×Ļ": 127104, + "ìĨ¡": 127105, + "راب": 127106, + "à¹ĥà¸ķ": 127107, + "à¹ĥà¸ķà¹ī": 127108, + "×Ļ×ł×ª": 127109, + "ÙĪÙĬر": 127110, + "Ġ×Ķ×ŀ×Ļ": 127111, + "ейÑĩаÑģ": 127112, + "×§×ķ×ij": 127113, + "دراس": 127114, + "ĠÙħÙĤ": 127115, + "رÙĬÙĨ": 127116, + "خاص": 127117, + "ãģĬéĩij": 127118, + "Ġجدا": 127119, + "ãģĨãģ¡": 127120, + "ëħ¸": 127121, + "ırım": 127122, + "æ§ĺ": 127123, + "ãģ«å¯": 127124, + "ãģ«å¯¾": 127125, + "ÑĨев": 127126, + "Ġvard": 127127, + "ĠÐIJн": 127128, + "eÄŁ": 127129, + "ÑģÑĤвенно": 127130, + "Ш": 127131, + "سد": 127132, + "à¸ģุ": 127133, + "à¹ģà¸ľà¸Ļ": 127134, + "รูà¹īส": 127135, + "รูà¹īสึà¸ģ": 127136, + "اتØŃاد": 127137, + "ÑijÑĤ": 127138, + "×Ĺ×ķ×§": 127139, + "ãģĻãģIJ": 127140, + "Ø·ÙĦاÙĤ": 127141, + "Ġ×§×ķ×ĵ": 127142, + "à¹ĥà¸Ĭà¹īà¸ĩ": 127143, + "à¹ĥà¸Ĭà¹īà¸ĩาà¸Ļ": 127144, + "ãĥ¼ãĤ¿": 127145, + "Ġsür": 127146, + "ÑĢок": 127147, + "ë³ij": 127148, + "สมาà¸Ĭ": 127149, + "สมาà¸Ĭิà¸ģ": 127150, + "ãĥķãĥ¬": 127151, + "è¾¼ãģ¿": 127152, + "ãĤ»ãĥ³": 127153, + "Ġê°Ģì§Ģ": 127154, + "à¸ľà¹īา": 127155, + "ÑįÑĤомÑĥ": 127156, + "иÑĤел": 127157, + "à¸łà¸±": 127158, + "à¸ij": 127159, + "ãĥĸãĥ©": 127160, + "×Ľ×ª×ķ×ij": 127161, + "׳×Ŀ": 127162, + "еннÑĭе": 127163, + "×¢×¨×Ľ×ª": 127164, + "ĠìĤ": 127165, + "ĠìĤ´": 127166, + "à¸Ĥà¹īา": 127167, + "׳×ķס": 127168, + "ãĥ¬ãĥĵ": 127169, + "ÑĢеÑģ": 127170, + "à¹Ģลà¸Ĥ": 127171, + "ثاÙĦ": 127172, + "ìĹĨ": 127173, + "ĠÑĩаÑģÑĤ": 127174, + "าศ": 127175, + "ãĥªãĤ¢": 127176, + "uç": 127177, + "×Ļ׼×ķת": 127178, + "ลà¹īาà¸Ļ": 127179, + "ië": 127180, + "ãĤ¸ãĤ§": 127181, + "à¸Īà¸Ń": 127182, + "ÙĪØŃØ¯": 127183, + "×Ļצ×ķ×ij": 127184, + "Ġ×ijש׾": 127185, + "око": 127186, + "ضة": 127187, + "ذر": 127188, + "ĠÑĥд": 127189, + "İL": 127190, + "×ķצ×Ļ×Ŀ": 127191, + "×ĸ×ŀף": 127192, + "à¸Ľà¸ģ": 127193, + "íķĻêµIJ": 127194, + "ساÙħ": 127195, + "à¹Ħà¸Ķ": 127196, + "ละà¹Ģà¸Ń": 127197, + "ละà¹Ģà¸Ńีย": 127198, + "ละà¹Ģà¸Ńียà¸Ķ": 127199, + "ảy": 127200, + "аÑĨион": 127201, + "ãĤ¹ãĤ¯": 127202, + "פ×ķס": 127203, + "รà¹Īาà¸ĩ": 127204, + "еннÑĭй": 127205, + "عÙĨ": 127206, + "عÙĦÙĨ": 127207, + "ائÙģ": 127208, + "dÄĻ": 127209, + "ؤÙĪÙĦ": 127210, + "׾×ķ×ķ": 127211, + "Ġ×ijש×ij": 127212, + "ä»ĬåĽŀ": 127213, + "ĠاÙĦجÙĨ": 127214, + "داد": 127215, + "waÄĩ": 127216, + "ãĥªãĥ³": 127217, + "ĠìŀIJìĭł": 127218, + "اÙĨÙĬا": 127219, + "ãĥ¡ãĥª": 127220, + "ÙĦÙĪÙĨ": 127221, + "à¸Ĺà¹Īà¸Ńà¸ĩ": 127222, + "à¸Ĺà¹Īà¸Ńà¸ĩà¹Ģà¸Ĺีà¹Īยว": 127223, + "اÙģÙĬ": 127224, + "ĠлиÑĪ": 127225, + "ÙħÙĬØ©": 127226, + "оÑĤвеÑĤ": 127227, + "Ñĩин": 127228, + "ÃĬ": 127229, + "ãĥ¡ãĥ³": 127230, + "å®Ł": 127231, + "éļĽãģ«": 127232, + "ĠÑĢай": 127233, + "ãĤ¦ãĥ³": 127234, + "×Ļר×ķש": 127235, + "×Ļר×ķש׾×Ļ×Ŀ": 127236, + "มะ": 127237, + "Ġara": 127238, + "казаÑĤÑĮ": 127239, + "à¸ķัà¸Ķ": 127240, + "ÑĥÑİÑĤ": 127241, + "Ġüst": 127242, + "×Ĵ×ķ×ij": 127243, + "×Ĵ×ķ×ij×ķת": 127244, + "malı": 127245, + "егод": 127246, + "егоднÑı": 127247, + "اÙģÙĤ": 127248, + "à¸Ĭà¹Īà¸Ńà¸ĩ": 127249, + "Ġözellik": 127250, + "×Ļצ×ķר": 127251, + "ĠmiÄĻd": 127252, + "ĠiliÅŁ": 127253, + "ĠнаÑħод": 127254, + "×¢×ĸר": 127255, + "×ľ×Ľ×ª": 127256, + "ÙĨتاج": 127257, + "ĠÑģем": 127258, + "à¸Īà¹Īาย": 127259, + "à¸ķรว": 127260, + "à¸ķรวà¸Ī": 127261, + "פר×ķ": 127262, + "à¸Ĥัà¸ļ": 127263, + "ãģŀ": 127264, + "Ġпло": 127265, + "колÑĮ": 127266, + "×ŀ×¢×ĺ": 127267, + "íķĺìĭľ": 127268, + "jÄħce": 127269, + "ÙĨاÙĨ": 127270, + "ลีà¸ģ": 127271, + "нÑĥÑĤ": 127272, + "ĠобÑĢаз": 127273, + "Ùĥبر": 127274, + "ĠاÙĦÙĪØ·ÙĨ": 127275, + "ãģķãģĽãģ¦": 127276, + "ÙĤاء": 127277, + "×ŀ×ĵ×Ļ׳": 127278, + "yü": 127279, + "פ×Ļת": 127280, + "׳×ķף": 127281, + "ÙħÙĨظ": 127282, + "หà¸Ļัà¸ģ": 127283, + "ìŀĪ": 127284, + "ãĤ«ãĥ¼ãĥī": 127285, + "عÙĨÙĬ": 127286, + "под": 127287, + "ضاء": 127288, + "à¸Ļà¸ķà¹Į": 127289, + "×ŀשפ": 127290, + "วà¹Į": 127291, + "ר×ķ×§": 127292, + "สืà¹Īà¸Ń": 127293, + "פק×Ļ×ĵ": 127294, + "ãģªãĤīãģªãģĦ": 127295, + "ĠìŬ룬": 127296, + "ÙĦج": 127297, + "ÑīиÑĤ": 127298, + "ãĥĥãĤ·": 127299, + "ÙĦÙĬس": 127300, + "ĠÙĦÙħا": 127301, + "ìłij": 127302, + "×ij×Ļף": 127303, + "ãĥģãĤ§": 127304, + "Ġgüç": 127305, + "Ġchứ": 127306, + "×ķצ×IJ": 127307, + "קר×ij": 127308, + "à¹Ĥà¸ŀ": 127309, + "оÑĩно": 127310, + "סק×Ļ": 127311, + "ש׾×Ŀ": 127312, + "صرÙģ": 127313, + "ĠLÃł": 127314, + "×¢×Ļת": 127315, + "á»·": 127316, + "à¹Ĥà¸Ńà¸ģ": 127317, + "à¹Ĥà¸Ńà¸ģา": 127318, + "à¹Ĥà¸Ńà¸ģาส": 127319, + "Ġ×Ķ×ĵ×ijר": 127320, + "à¸Ļัà¹Īà¸Ļ": 127321, + "زر": 127322, + "нако": 127323, + "íļį": 127324, + "ãĤĤãģ¡": 127325, + "ãĤĤãģ¡ãĤį": 127326, + "ãĤĤãģ¡ãĤįãĤĵ": 127327, + "اÙħت": 127328, + "عداد": 127329, + "инÑĭ": 127330, + "ÅĤyw": 127331, + "à¸Ħà¸ĵะ": 127332, + "à¸Ĺะ": 127333, + "ktör": 127334, + "×Ļ×Ĺ×Ķ": 127335, + "Ġме": 127336, + "ĠмеÑģÑı": 127337, + "׳×Ķ×Ĵ": 127338, + "ĠÑģÑĥÑīеÑģÑĤв": 127339, + "à¸Ļัà¸Ļ": 127340, + "ÑĦÑĦ": 127341, + "екÑĤив": 127342, + "عÙĦÙĪÙħات": 127343, + "бÑĥд": 127344, + "à¸Ļัà¸ģà¸ĩาà¸Ļ": 127345, + "หà¸Ļà¹īาà¸Ĺีà¹Ī": 127346, + "ÙĤÙĬÙĤ": 127347, + "ãĤ·ãĥ³": 127348, + "ãģ«éĸ¢": 127349, + "×IJר×Ĵ": 127350, + "ĠпÑĢоÑĤ": 127351, + "ĠпÑĢоÑĤив": 127352, + "ĠìŀĪìĸ´": 127353, + "ÙĤÙĬÙĤØ©": 127354, + "ìĹĩ": 127355, + "kür": 127356, + "ãģ«ãģªãĤĬãģ¾ãģĹãģŁ": 127357, + "ĠдеÑıÑĤ": 127358, + "ĠдеÑıÑĤелÑĮ": 127359, + "פ×ķר×ĺ": 127360, + "à¸Łà¹īา": 127361, + "à¹Ģà¸ł": 127362, + "ĠавÑĤомаÑĤ": 127363, + "×ĸ×Ļ×§": 127364, + "Ġolduk": 127365, + "عاÙħ": 127366, + "ĠÑĤоÑĢ": 127367, + "yrıca": 127368, + "êÌ": 127369, + "ãĤŃãĥ³ãĤ°": 127370, + "ãģ«ãģ¨ãģ£ãģ¦": 127371, + "à¹Ģà¸īà¸ŀ": 127372, + "à¹Ģà¸īà¸ŀาะ": 127373, + "ãģ¯ãģļ": 127374, + "×ŀ×IJ×Ļ": 127375, + "สะà¸Ķ": 127376, + "สะà¸Ķวà¸ģ": 127377, + "ìľ¼ë©°": 127378, + "à¸ģี": 127379, + "ฬ": 127380, + "Ġ×¢×ķש": 127381, + "à¸łà¸²à¸©à¸²": 127382, + "à¸Ĺัà¸Ļ": 127383, + "acakt": 127384, + "acaktır": 127385, + "اعدة": 127386, + "ĠÑĥÑģлÑĥг": 127387, + "סר×ĺ": 127388, + "×ķ×ŀ×ķת": 127389, + "×Ķ×ķר": 127390, + "×ŀ×ķ×ij": 127391, + "×ŀ×ķ×ijף": 127392, + "سÙĬاس": 127393, + "اتÙ쨧ÙĤ": 127394, + "×Ķצ׾": 127395, + "Ùħؤس": 127396, + "Ġpó": 127397, + "Ġкни": 127398, + "×Ļ׼×ķ׾": 127399, + "à¹Ģหลืà¸Ń": 127400, + "׼׾׼": 127401, + "׳×ĸ": 127402, + "ÑĪие": 127403, + "rès": 127404, + "ĠاÙĦØŃÙĤ": 127405, + "лÑıÑĢ": 127406, + "หà¸į": 127407, + "หà¸įิà¸ĩ": 127408, + "ר×Ĵ×Ļש": 127409, + "à¹Ģสà¹īà¸Ļ": 127410, + "ש×ij×ķף": 127411, + "ôtel": 127412, + "апÑĢ": 127413, + "апÑĢимеÑĢ": 127414, + "ابÙĦ": 127415, + "ĠÑĢазвиÑĤ": 127416, + "ĠполÑĮз": 127417, + "ĠСеÑĢ": 127418, + "×ķ×ij×Ļ": 127419, + "róż": 127420, + "ìĭŃ": 127421, + "ãĤ¯ãĥĪ": 127422, + "ãģĹãĤĪãģĨ": 127423, + "à¸ģรม": 127424, + "ØŃÙĥÙĪÙħ": 127425, + "à¹Ĥà¸ļ": 127426, + "à¸Ĺà¹īาย": 127427, + "ĠMá": 127428, + "ĠÑĤÑĭ": 127429, + "à¸Ħรัว": 127430, + "ÑĢÑĥб": 127431, + "ạp": 127432, + "ĠmÅĤ": 127433, + "ĠmÅĤod": 127434, + "ĠgörÃ¼ÅŁ": 127435, + "ĠgeliÅŁ": 127436, + "ươi": 127437, + "×ŀשק": 127438, + "ÙĢÙĢÙĢÙĢ": 127439, + "ราว": 127440, + "ãģĹãģ£": 127441, + "ãģĹãģ£ãģĭãĤĬ": 127442, + "ĠÐļон": 127443, + "Ġkê": 127444, + "à¹Ĥà¸Ĺร": 127445, + "èIJ½ãģ¡": 127446, + "åĩºãģ¦": 127447, + "ลัà¸ģษ": 127448, + "Ġ×Ĵ×ij×ķ×Ķ": 127449, + "ãĥĻãĥ«": 127450, + "ê±°ëĤĺ": 127451, + "ë§IJ": 127452, + "×Ļ׾×ĵ×Ļ×Ŀ": 127453, + "ĠëĦĪ": 127454, + "×ŀר×Ļ": 127455, + "รส": 127456, + "ãĥŃãĥ³": 127457, + "ило": 127458, + "ноÑģÑĤÑĮÑİ": 127459, + "×ĸר×Ĺ": 127460, + "пон": 127461, + "Ġ×Ķש׾": 127462, + "ê²łìĬµëĭĪëĭ¤": 127463, + "ĠkiÅŁ": 127464, + "ĠÐļи": 127465, + "วร": 127466, + "داع": 127467, + "ÅŁim": 127468, + "ÙĨÙij": 127469, + "ваÑĤ": 127470, + "راÙĥ": 127471, + "باÙĦ": 127472, + "иде": 127473, + "Ġ×Ķ×ŀ×Ĺ": 127474, + "ìĸµ": 127475, + "تÙģØ§Ø¹": 127476, + "أت": 127477, + "ëĬĺ": 127478, + "ש×Ļת": 127479, + "ستÙħر": 127480, + "ĠÑĦак": 127481, + "ĠاÙĦØ£ÙħرÙĬ": 127482, + "ëŀ¨": 127483, + "اسÙħ": 127484, + "ĠaÄŁ": 127485, + "Ġçev": 127486, + "ÙĥÙĪØ±": 127487, + "ãģķãģ¾": 127488, + "Ġçöz": 127489, + "Ġرس": 127490, + "Äħda": 127491, + "สà¸Ļุ": 127492, + "ãģĹãģ¦ãģıãĤĮ": 127493, + "нÑİ": 127494, + "leÅŁme": 127495, + "ãĤªãĥ³": 127496, + "ãģ¨ãģªãĤĬ": 127497, + "avaÅŁ": 127498, + "×ĺ×Ļ×ij": 127499, + "ØŃض": 127500, + "×ķצ×IJ×ķת": 127501, + "ÙĨÙħÙĪ": 127502, + "ıt": 127503, + "ĠÑħа": 127504, + "ĠÑħаÑĢак": 127505, + "ĠÑħаÑĢакÑĤеÑĢ": 127506, + "ĠdÅĤ": 127507, + "ãĥĹãĥ©": 127508, + "à¸Ĭุม": 127509, + "à¹Īà¸Ńà¸Ļ": 127510, + "×ķ×ij׾": 127511, + "Ñģол": 127512, + "×ĵ×Ĵ": 127513, + "аÑĢаÑĤ": 127514, + "nivers": 127515, + "ĠgerçekleÅŁtir": 127516, + "ĠاÙĦÙĦÙĬ": 127517, + "ระยะ": 127518, + "ĠÙħختÙĦÙģ": 127519, + "Ġgönder": 127520, + "ÙģØ§Ø±": 127521, + "doÄŁ": 127522, + "doÄŁan": 127523, + "صÙĦاØŃ": 127524, + "Ġyayın": 127525, + "ãĥĨãĥ³": 127526, + "รวà¸Ī": 127527, + "×Ļ×Ĺ×Ļ×ĵ": 127528, + "ünkü": 127529, + "ÑĨиалÑĮн": 127530, + "à¸ļู": 127531, + "มุ": 127532, + "hä": 127533, + "Ø®Ùģ": 127534, + "å¢Ĺ": 127535, + "å¢ĹãģĪ": 127536, + "еÑĩно": 127537, + "ĠاÙĦسÙĨ": 127538, + "à¸Ĥาว": 127539, + "imdi": 127540, + "Ы": 127541, + "à¸Ļà¸Ńà¸ģà¸Īาà¸ģ": 127542, + "à¸ļาล": 127543, + "תש": 127544, + "Ġdüzenle": 127545, + "мÑĭÑģл": 127546, + "ãģıãģª": 127547, + "żu": 127548, + "ĠwspóÅĤ": 127549, + "Ġназ": 127550, + "ındaki": 127551, + "ترة": 127552, + "ÅŁek": 127553, + "Ġöd": 127554, + "ĠÙĪÙĥ": 127555, + "ĠпозволÑı": 127556, + "Ġת×ķ׼": 127557, + "ÙħÙĨتج": 127558, + "ë§ī": 127559, + "ĠاÙĦØ«ÙĦاث": 127560, + "аÑĨиÑİ": 127561, + "ÙĪØ±ÙĪ": 127562, + "ÑĭваеÑĤ": 127563, + "خصص": 127564, + "ĠاÙĦÙģÙĦ": 127565, + "ĠاÙĦÙģÙĦسطÙĬÙĨ": 127566, + "إجر": 127567, + "إجراء": 127568, + "اÙĨتخ": 127569, + "اÙĨتخاب": 127570, + "ارÙĬØ©": 127571, + "×ķÖ": 127572, + "Ø¢ÙĨ": 127573, + "×ŀ×¢×ķת": 127574, + "Ġмал": 127575, + "Ġ×IJ×Ĺ": 127576, + "à¸Ĺà¹īà¸Ńà¸ĩ": 127577, + "zeÅĽ": 127578, + "Ġë§Įëĵ¤": 127579, + "رÙĬع": 127580, + "äºĭãĤĴ": 127581, + "à¸ļริหาร": 127582, + "׾×ŀ×Ļ×ĵ": 127583, + "ĠмÑĥж": 127584, + "ترÙĪ": 127585, + "ĠباÙĦØ¥": 127586, + "פ×Ļ×§": 127587, + "زÙħØ©": 127588, + "ĠÃ¶ÄŁrenc": 127589, + "ãĥ¶": 127590, + "اÙħعة": 127591, + "×§×ij×ķצ": 127592, + "×ŀ׳×ķת": 127593, + "رÙĬÙħ": 127594, + "Ġоказ": 127595, + "ãģłãģijãģ©": 127596, + "Ġhız": 127597, + "Ġש×IJת": 127598, + "ãĤ¢ãĥ¼": 127599, + "Ġmożliwo": 127600, + "ìĦ¼": 127601, + "ÙĪØ§Ø¨": 127602, + "огÑĢаÑĦ": 127603, + "ĠعبداÙĦ": 127604, + "ãĤĴè¡Į": 127605, + "بÙĬÙĦ": 127606, + "Ġİç": 127607, + "ยาย": 127608, + "ĠÑĥÑĩаÑģÑĤ": 127609, + "ÑĦеÑģÑģ": 127610, + "ÑĦеÑģÑģиона": 127611, + "Ấ": 127612, + "ÙĨÙĬÙĨ": 127613, + "عدÙĦ": 127614, + "สรร": 127615, + "دÙĬÙĦ": 127616, + "×ij×Ļ×§": 127617, + "czyÅĤ": 127618, + "ÑĢоме": 127619, + "Ġмед": 127620, + "ìĻĶ": 127621, + "ãĥ©ãĤ¤ãĥ³": 127622, + "ĠÑĤеп": 127623, + "еÑĢÑĮ": 127624, + "iÄŁi": 127625, + "вели": 127626, + "ÑĢиÑģÑĤ": 127627, + "ס×ķפ": 127628, + "×ŀ׾×Ĺ": 127629, + "ĠاÙĦØ¥ÙĨ": 127630, + "Ġ׾×Ķש": 127631, + "è¶ĬãģĹ": 127632, + "ĠÑĢÑĭ": 127633, + "×ķ×IJר": 127634, + "رÙĩاب": 127635, + "פ×ķ×IJ×Ļ": 127636, + "ĠгоÑģÑĥд": 127637, + "ĠгоÑģÑĥдаÑĢ": 127638, + "ĠгоÑģÑĥдаÑĢÑģÑĤв": 127639, + "ĠاÙĦØ£ÙħÙĬر": 127640, + "Ùħج": 127641, + "à¹Ģหมาะ": 127642, + "ÑĢев": 127643, + "à¸Ĭีà¸ŀ": 127644, + "ãĥķãĥĪ": 127645, + "иÑĩно": 127646, + "ĠاÙĦÙħؤ": 127647, + "Ġiht": 127648, + "íħľ": 127649, + "دÙĨÙĬ": 127650, + "رص": 127651, + "лаÑģÑĤ": 127652, + "à¹Ģหลà¹Īา": 127653, + "ılır": 127654, + "รà¸ĵà¹Į": 127655, + "×ŀש×Ļ×ļ": 127656, + "Ġdá»ĭ": 127657, + "Ø·Ù쨧ÙĦ": 127658, + "×ĺ×ķף": 127659, + "Ġ×ij×Ļ׳": 127660, + "ãģ¾ãģ£ãģŁ": 127661, + "ложениÑı": 127662, + "تØŃر": 127663, + "باØŃ": 127664, + "à¹Ģสืà¹īà¸Ń": 127665, + "ãģĻãģĶ": 127666, + "ltür": 127667, + "à¸ĩาม": 127668, + "Ġtü": 127669, + "ĠпÑĢим": 127670, + "ĠпÑĢимен": 127671, + "Ġhayat": 127672, + "ëĥIJ": 127673, + "ëĭĮ": 127674, + "׳×Ļ×ķ": 127675, + "веден": 127676, + "ìħ¨": 127677, + "à¸Īัย": 127678, + "à¸ģà¹Īà¸Ń": 127679, + "Ġвод": 127680, + "оÑģÑĤоÑı": 127681, + "наÑĤ": 127682, + "à¹ģหล": 127683, + "سÙħÙĬ": 127684, + "à¸Ķำà¹Ģà¸Ļ": 127685, + "à¸Ķำà¹Ģà¸Ļิà¸Ļ": 127686, + "wód": 127687, + "öyle": 127688, + "ãĥĢãĤ¤": 127689, + "ÑĪий": 127690, + "меÑīен": 127691, + "ãģĹãģ¾ãģĨ": 127692, + "ãĥīãĥ©": 127693, + "ÙĪØ¶ØŃ": 127694, + "à¸Ńà¸Ļุ": 127695, + "ĠاÙĦاجتÙħاع": 127696, + "laÅŁma": 127697, + "à¸Ħà¸Ńà¸Ļ": 127698, + "×ŀר×Ļ×Ŀ": 127699, + "ÙĨاÙħج": 127700, + "שר×ķת": 127701, + "اÙĦØ£": 127702, + "ĠksiÄħż": 127703, + "Ġан": 127704, + "ÑĢай": 127705, + "اÙĩرة": 127706, + "×ŀ×ĵ×Ķ": 127707, + "ä¸Ģç·": 127708, + "ä¸Ģç·Ĵ": 127709, + "ä¸Ģç·Ĵãģ«": 127710, + "ÑĢиÑĤоÑĢ": 127711, + "dıkl": 127712, + "à¹ģà¸ĸ": 127713, + "à¹ģà¸Ĥà¹Īà¸ĩ": 127714, + "екÑĤоÑĢ": 127715, + "×ŀסע": 127716, + "ÑĢакÑĤи": 127717, + "uÄŁu": 127718, + "×ķ×ijת": 127719, + "สูà¸ķร": 127720, + "ĠçalÄ±ÅŁm": 127721, + "ĠçalÄ±ÅŁmalar": 127722, + "Ġана": 127723, + "ãĥĽãĥ¼ãĥł": 127724, + "Ġbölüm": 127725, + "Ġبص": 127726, + "олоÑģ": 127727, + "ĠìķĬëĬĶ": 127728, + "à¹Īะ": 127729, + "ÙĪØªØ±": 127730, + "ä¹Ĺ": 127731, + "ستخداÙħ": 127732, + "פ×Ļ×Ļס": 127733, + "פ×Ļ×Ļס×ij": 127734, + "פ×Ļ×Ļס×ij×ķ×§": 127735, + "ĠкÑĢаÑģ": 127736, + "лик": 127737, + "رÙĬØŃ": 127738, + "×ŀש׾×Ķ": 127739, + "à¹Ģยีà¹Īย": 127740, + "à¹Ģยีà¹Īยม": 127741, + "виÑģ": 127742, + "омн": 127743, + "ÄŁun": 127744, + "ãĥŃãĥ¼ãĥ³": 127745, + "أتÙĬ": 127746, + "à¸ķรี": 127747, + "çͳãģĹ": 127748, + "تÙħر": 127749, + "ìĹĪìĬµëĭĪëĭ¤": 127750, + "ĠÙĪØºÙĬر": 127751, + "redni": 127752, + "ĠاÙĦصÙģ": 127753, + "ĠнаÑģÑĤоÑı": 127754, + "ĠнаÑģÑĤоÑıÑī": 127755, + "à¸ķรา": 127756, + "ĠÑĥÑģлов": 127757, + "ĠÑĥÑģловиÑı": 127758, + "ÑĨеп": 127759, + "×Ķ×Ĺ׾×ĺ": 127760, + "Ø·ÙĬع": 127761, + "ĠBakan": 127762, + "ĠاÙĦرÙĪ": 127763, + "илÑĮно": 127764, + "ĠмеÑĤ": 127765, + "à¸Ķà¸Ńà¸ģ": 127766, + "ãģĭãĤīãģªãģĦ": 127767, + "ĠпоÑģÑĤоÑı": 127768, + "ĠпоÑģÑĤоÑıн": 127769, + "ĠÑĩаÑģ": 127770, + "üc": 127771, + "wró": 127772, + "бÑĥÑĢ": 127773, + "ãĥIJãĥĥãĤ¯": 127774, + "ãĥ©ãĥ³ãĥī": 127775, + "ĠогÑĢ": 127776, + "สัà¸į": 127777, + "สัà¸įà¸įา": 127778, + "มัà¹Īà¸Ļ": 127779, + "à¸Ħà¸Ńม": 127780, + "alık": 127781, + "Ġнед": 127782, + "ümüz": 127783, + "ĠÅĽwie": 127784, + "ério": 127785, + "×Ļ×IJ×Ķ": 127786, + "دÙħات": 127787, + "ırl": 127788, + "ĠоÑĤз": 127789, + "ĠоÑĤзÑĭв": 127790, + "ä»ĺãģį": 127791, + "Ġkażde": 127792, + "миниÑģÑĤ": 127793, + "ãĤ°ãĥ«": 127794, + "ë°ĸ": 127795, + "езн": 127796, + "اÙĦÙģ": 127797, + "Ġשק׾": 127798, + "Ùħض": 127799, + "ãĥĿãĥ¼ãĥĪ": 127800, + "ÙħÙĨت": 127801, + "ÙĤÙĬاÙħ": 127802, + "Ø´ÙĨ": 127803, + "×Ļר×ķ×¢": 127804, + "ãĤŃãĥ£ãĥ³": 127805, + "доÑĢов": 127806, + "×ŀ×Ļת×Ļ": 127807, + "ÙĪÙĦÙĪØ¬": 127808, + "ÙĥاÙģ": 127809, + "ĠÑĢазлиÑĩ": 127810, + "иÑĤеÑĤ": 127811, + "нолог": 127812, + "ลà¸ĩà¸Ĺุà¸Ļ": 127813, + "ĠyaklaÅŁ": 127814, + "ãĥ¬ãĤ¤": 127815, + "ê²łëĭ¤": 127816, + "æ±ĤãĤģ": 127817, + "رÙĪÙģ": 127818, + "ĠíĬ": 127819, + "ĠíĬ¹": 127820, + "ãģ£ãģıãĤĬ": 127821, + "à¸Ħวามà¸Ħิà¸Ķ": 127822, + "×Ķ×Ļס×ĺ": 127823, + "Ø¥ÙĤ": 127824, + "ãģ¦ãģĦ": 127825, + "à¹Ĥà¸Ĭ": 127826, + "ĠBüyük": 127827, + "ĠФедеÑĢ": 127828, + "ÑĨин": 127829, + "ÑĢова": 127830, + "ĠاÙĦاÙĤتصاد": 127831, + "Ġchá": 127832, + "à¸ĺาà¸Ļ": 127833, + "ë¥ł": 127834, + "à¹Ħà¸ķ": 127835, + "ÃŃpio": 127836, + "Ùĭا": 127837, + "ĠобÑıз": 127838, + "Ùĩج": 127839, + "Ġì¤ijìļĶ": 127840, + "ãģ®ãģ§ãģ¯ãģªãģĦ": 127841, + "باراة": 127842, + "ãĤ¤ãĥ«": 127843, + "ĠноÑĢм": 127844, + "á»īnh": 127845, + "mö": 127846, + "möglich": 127847, + "ÑĨип": 127848, + "ãĤ¢ãĤ¯": 127849, + "×Ķ×Ļ": 127850, + "ÑĨиалÑĮно": 127851, + "ĠÅĽwi": 127852, + "تÙĤ": 127853, + "ĠÑģÑĤоим": 127854, + "بÙĬعÙĬ": 127855, + "Ġ׾ש×ŀ": 127856, + "глÑı": 127857, + "глÑıд": 127858, + "ãģ¦ãģıãĤĮ": 127859, + "ÄĻdzi": 127860, + "à¸Ĥั": 127861, + "à¸Ĥัà¹īà¸Ļ": 127862, + "Ø·ÙĤ": 127863, + "ĠìĹŃ": 127864, + "ãģ£ãģ¦ãģĹãģ¾ãģĨ": 127865, + "ĠdeÄŁerl": 127866, + "ĠdeÄŁerlendir": 127867, + "Ġülk": 127868, + "Ġмног": 127869, + "à¹ĭ": 127870, + "ë¿IJ": 127871, + "ĠУкÑĢа": 127872, + "ÄŁini": 127873, + "Ġбезоп": 127874, + "ĠбезопаÑģ": 127875, + "à¸Ńà¸Ńà¸ģà¹ģà¸ļà¸ļ": 127876, + "اظ": 127877, + "ØŃداث": 127878, + "леÑĢ": 127879, + "×Ļ×¥": 127880, + "×Ļ׳×ĺר׳×ĺ": 127881, + "larınız": 127882, + "ØŃÙĬØŃ": 127883, + "żeli": 127884, + "à¸Ńัà¸ĩ": 127885, + "à¸Ńัà¸ĩà¸ģ": 127886, + "à¸Ńัà¸ĩà¸ģฤษ": 127887, + "ĠоÑĤлиÑĩ": 127888, + "ัส": 127889, + "ëŀį": 127890, + "ожно": 127891, + "ãĤ¹ãĥĿ": 127892, + "ĠÑħоÑĩ": 127893, + "Ġкап": 127894, + "еÑĩен": 127895, + "ØŃÙĦØ©": 127896, + "ÙĬاÙĩ": 127897, + "нал": 127898, + "×ķצר×Ļ×Ŀ": 127899, + "Ġkald": 127900, + "åĥį": 127901, + "ĠاÙĦشخص": 127902, + "Ġзна": 127903, + "Ġwzgl": 127904, + "życz": 127905, + "ê°Ŀ": 127906, + "à¸ŀลัà¸ĩ": 127907, + "íģ¼": 127908, + "Ġöl": 127909, + "Ġbụ": 127910, + "Ø´Ùĩر": 127911, + "Ġзам": 127912, + "Ġдев": 127913, + "×Ļ×ĺת": 127914, + "تعÙĦÙĤ": 127915, + "ÙĪÙħØ©": 127916, + "ãĤĴä½ľ": 127917, + "ãģįãģ¦": 127918, + "íĥĿ": 127919, + "rasında": 127920, + "ãĤĴæİ¢": 127921, + "ĠÙħباشر": 127922, + "راجع": 127923, + "Ġвозд": 127924, + "ÙħØŃا": 127925, + "×ķשר": 127926, + "ĠиÑģÑĤоÑĢ": 127927, + "มัà¸ģ": 127928, + "tıģ": 127929, + "ثار": 127930, + "ترÙĨت": 127931, + "à¹ģà¸Ĥà¹ĩ": 127932, + "à¹ģà¸Ĥà¹ĩà¸ĩ": 127933, + "поÑĩ": 127934, + "Ġ×ij×IJ×ķת": 127935, + "ë¯Ģ": 127936, + "ëĿ¼ëıĦ": 127937, + "à¸Ĭัà¸Ķ": 127938, + "สà¸ķà¹Į": 127939, + "ãĥĭãĥĥãĤ¯": 127940, + "иденÑĤ": 127941, + "ĠгÑĢÑĥпп": 127942, + "تخ": 127943, + "áºł": 127944, + "ยืà¸Ļ": 127945, + "ยัà¸Ļ": 127946, + "óry": 127947, + "TÃľ": 127948, + "ãģĹãĤĥ": 127949, + "ĠпÑĢовед": 127950, + "лÑıеÑĤ": 127951, + "ÙħØ®": 127952, + "ยà¸Ńม": 127953, + "×Ľ×ł×¡×ª": 127954, + "ĠاÙĦÙħÙĨت": 127955, + "Ġolmad": 127956, + "ר׼×ĸ×Ļ": 127957, + "ĠвÑģÑĤÑĢ": 127958, + "ĠиÑģÑģлед": 127959, + "ÑĤвеÑĢж": 127960, + "بدÙĪ": 127961, + "еÑĢÑĤ": 127962, + "ï»·": 127963, + "±ħ": 127964, + "สัมà¸ŀัà¸Ļà¸ĺà¹Į": 127965, + "ิà¹Īà¸Ļ": 127966, + "צ×Ļ×ij": 127967, + "wiÄĻt": 127968, + "Ġì°¸": 127969, + "ĠzwiÄħz": 127970, + "سبÙĪØ¹": 127971, + "ãĥĥãĤ°": 127972, + "à¸Ľà¸¥à¸Ńà¸Ķ": 127973, + "à¸Ľà¸¥à¸Ńà¸Ķà¸łà¸±à¸¢": 127974, + "ãĤĤãĤĬ": 127975, + "ÙĤدس": 127976, + "Ġsprz": 127977, + "Ġsprzeda": 127978, + "Ġistedi": 127979, + "Ġkhu": 127980, + "Ġден": 127981, + "ĠkoÅĦ": 127982, + "Ġ×ij×Ĺ×Ļ": 127983, + "à¹Ģà¸Ĺà¹īา": 127984, + "×ķס×Ļ×£": 127985, + "ãĥĭãĥ¥ãĥ¼": 127986, + "ĠпÑĢедоÑģÑĤ": 127987, + "ĠпÑĢедоÑģÑĤав": 127988, + "à¹Ĥà¸Ł": 127989, + "év": 127990, + "ĠاÙĦصØŃ": 127991, + "صØŃاب": 127992, + "à¹Ģà¸Īà¹ĩà¸ļ": 127993, + "влек": 127994, + "วัà¸ķ": 127995, + "à¸ĸุ": 127996, + "ãģĵãģ¨ãģĮãģ§ãģįãģ¾ãģĻ": 127997, + "ÙĤÙĬÙĤÙĬ": 127998, + "×ķ×Ĺר": 127999, + "ÑĭÑĪ": 128000, + "ĠоÑĤно": 128001, + "ĠоÑĤноÑĪ": 128002, + "обилÑĮ": 128003, + "ÙģØŃ": 128004, + "ınt": 128005, + "ıntı": 128006, + "Ġ׾×ij×ĵ": 128007, + "íİĺìĿ´ì§Ģ": 128008, + "ãĥĬãĥ«": 128009, + "ĠÙħساء": 128010, + "×Ļ×ĺ×ij": 128011, + "ÑĮеÑĢ": 128012, + "ëĦ·": 128013, + "ÑĭÑĤа": 128014, + "ĠоÑĩеÑĢ": 128015, + "à¸Ķืà¹Ī": 128016, + "à¸Ķืà¹Īม": 128017, + "ĠNgh": 128018, + "تعب": 128019, + "ÙĦاÙĤات": 128020, + "×ķ׾×ķ×Ĵ×Ļ×Ķ": 128021, + "ĠìĿ´ê²ĥ": 128022, + "Ġ×Ķ×ijר": 128023, + "ìľµ": 128024, + "à¹Ģà¸Ħลืà¹Īà¸Ńà¸Ļ": 128025, + "ÙĩØ©": 128026, + "à¸Īำà¹Ģà¸Ľà¹ĩà¸Ļ": 128027, + "å¤īãģĪ": 128028, + "wiÅĽcie": 128029, + "chod": 128030, + "chodzÄħ": 128031, + "вÑĢо": 128032, + "×ŀ×Ĺ×Ļר": 128033, + "Ġyı": 128034, + "Ġyıll": 128035, + "ì¡Į": 128036, + "à¹Ħหว": 128037, + "ãģªãģıãģª": 128038, + "ĠзавиÑģ": 128039, + "ĠìĺĪìĪĺ": 128040, + "Ù쨰": 128041, + "á»§ng": 128042, + "à¸ŀุà¸Ĺà¸ĺ": 128043, + "зн": 128044, + "layan": 128045, + "ãĤ¡": 128046, + "à¸ģà¹ĩà¸ķาม": 128047, + "ĠsaÄŁlam": 128048, + "รà¸ĵ": 128049, + "ĠÑģиÑĤ": 128050, + "ĠÑģиÑĤÑĥ": 128051, + "ĠاÙĦتÙĨ": 128052, + "×Ķ×ĸ": 128053, + "ĠØ·ÙĪÙĬÙĦ": 128054, + "taÅĤ": 128055, + "Ġgörd": 128056, + "å¤īãĤı": 128057, + "ëĥ¥": 128058, + "à¸Ħà¹Īà¸Ńย": 128059, + "×IJ×ķ×ĺ": 128060, + "ëħIJ": 128061, + "ãĥ©ãĥ³ãĤ¹": 128062, + "วัà¸Ĵ": 128063, + "วัà¸Ĵà¸Ļ": 128064, + "ĠoluÅŁ": 128065, + "פע×ķ׾": 128066, + "ĠszczegóÅĤ": 128067, + "à¸Ħาสิ": 128068, + "à¸Ħาสิà¹Ĥà¸Ļ": 128069, + "powied": 128070, + "ĠÑĤеб": 128071, + "หà¸Ļà¹Īวย": 128072, + "Ġмил": 128073, + "ØŃÙĥ": 128074, + "à¸Ĺà¸Ķ": 128075, + "ĠмаÑĤеÑĢиал": 128076, + "ÅĤow": 128077, + "à¹Ģà¸ģีย": 128078, + "ĠÑģовеÑĢ": 128079, + "ãĤ©": 128080, + "à¸Ľà¸£à¸´": 128081, + "ĠиÑİ": 128082, + "наÑĩен": 128083, + "ÑĢенд": 128084, + "muÅŁtur": 128085, + "ĠпÑĢодÑĥк": 128086, + "зд": 128087, + "ÑıÑĤи": 128088, + "ÑıÑĤиÑı": 128089, + "à¹Ģมีย": 128090, + "راتÙĬج": 128091, + "Ġamacı": 128092, + "ש×ķ׾": 128093, + "ש×ķ׾×Ĺ": 128094, + "สะà¸Ńา": 128095, + "สะà¸Ńาà¸Ķ": 128096, + "פ×Ĵ×¢": 128097, + "عبة": 128098, + "dın": 128099, + "íħĶ": 128100, + "Ġ×ŀש×Ĺ×§": 128101, + "Ġfiyat": 128102, + "ĠзаÑı": 128103, + "ĠзаÑıв": 128104, + "à¹Ĥหล": 128105, + "à¹Ĥหลà¸Ķ": 128106, + "à¸ģรุà¸ĩà¹Ģà¸Ĺà¸ŀ": 128107, + "צ×Ļ×Ļף": 128108, + "ìļ±": 128109, + "Ùħب": 128110, + "Ùħباد": 128111, + "landır": 128112, + "ĠвеÑģÑĮ": 128113, + "Ġhük": 128114, + "ĠÐĴоз": 128115, + "ÑĩиÑĤÑĭва": 128116, + "วล": 128117, + "×ķצע": 128118, + "à¸Ĥà¸ĵะà¸Ĺีà¹Ī": 128119, + "ĠaÅŁaģı": 128120, + "׾×IJ×ķ×ŀ×Ļ": 128121, + "trzym": 128122, + "Ã¤ÃŁig": 128123, + "owoÅĽci": 128124, + "ãģĿãĤĤ": 128125, + "ĠrozwiÄħz": 128126, + "ĠgÅĤówn": 128127, + "монÑĤ": 128128, + "×ŀ×ķ×ŀ": 128129, + "ĠÑģÑĤан": 128130, + "ÙĦاÙĤØ©": 128131, + "prowad": 128132, + "prowadzi": 128133, + "ĠÑģоÑģÑĤоÑı": 128134, + "×Ļ×IJ×ķת": 128135, + "rı": 128136, + "gı": 128137, + "ãĥijãĥij": 128138, + "ĠналиÑĩ": 128139, + "×Ķצע": 128140, + "Ġ׳×Ķ": 128141, + "à¸Ħัà¸ļ": 128142, + "عراض": 128143, + "иж": 128144, + "ÙĩائÙĬ": 128145, + "ãĤīãģı": 128146, + "ожеÑĤ": 128147, + "ĠобоÑĢ": 128148, + "ĠобоÑĢÑĥд": 128149, + "أسÙĦ": 128150, + "à¹ĩà¸Ķ": 128151, + "ÑĢÑĥÑĤ": 128152, + "دÙĬÙħÙĤ": 128153, + "دÙĬÙħÙĤرا": 128154, + "Ġjeste": 128155, + "×ķ×ķ×Ļר": 128156, + "×ij×ĵ×Ļ×§": 128157, + "деÑĢжива": 128158, + "ãģĬãģı": 128159, + "ewnÄĻtr": 128160, + "ewnÄĻtrzn": 128161, + "à¸ŀฤ": 128162, + "Ġ×IJ×ķ×Ķ": 128163, + "ת×Ĺ×ķש": 128164, + "Ġzob": 128165, + "дÑĥм": 128166, + "ĠÑģÑĭ": 128167, + "ÙĬرا": 128168, + "ĠwiÄĻks": 128169, + "à¹ģà¸ķà¸ģà¸ķà¹Īาà¸ĩ": 128170, + "lararas": 128171, + "lararası": 128172, + "íĺĢ": 128173, + "ëī´": 128174, + "×ķ×Ĵ׾": 128175, + "ĠоÑĤмеÑĤ": 128176, + "ĠÑĢан": 128177, + "تÙĥÙĦ": 128178, + "иÑĤелÑĮн": 128179, + "à¸Ľà¸£à¸°à¸§à¸±": 128180, + "à¸Ľà¸£à¸°à¸§à¸±à¸ķิ": 128181, + "ìŀĸ": 128182, + "можно": 128183, + "pieczeÅĦ": 128184, + "pieczeÅĦst": 128185, + "못": 128186, + "ìĬ¨": 128187, + "×ŀס×ŀ": 128188, + "Ủ": 128189, + "ศิ": 128190, + "ศิล": 128191, + "à¸¨à¸´à¸¥à¸Ľ": 128192, + "ĠÅļw": 128193, + "ãĥĥãĤ·ãĥ§ãĥ³": 128194, + "unitÃł": 128195, + "Ġmieszka": 128196, + "ĠmieszkaÅĦ": 128197, + "przed": 128198, + "przedsi": 128199, + "przedsiÄĻb": 128200, + "przedsiÄĻbior": 128201, + "à¸Ľà¸£à¸°à¸ªà¸´à¸Ĺà¸ĺิ": 128202, + "à¸Ľà¸£à¸°à¸ªà¸´à¸Ĺà¸ĺà¸´à¸łà¸²à¸ŀ": 128203, + "ยà¹Ī": 128204, + "ìķĻ": 128205, + "รวà¸Ķ": 128206, + "รวà¸Ķà¹Ģรà¹ĩว": 128207, + "å½ĵãģŁãĤĬ": 128208, + "älle": 128209, + "ÑĥеÑĤÑģÑı": 128210, + "ãn": 128211, + "ëłµ": 128212, + "thè": 128213, + "ãĤĴåĪ©ç͍": 128214, + "ìµľ": 128215, + "íĵ¨": 128216, + "à¸Ĺัà¸ļ": 128217, + "าà¸Ħม": 128218, + "ãģĩ": 128219, + "ëĤĮ": 128220, + "à¹Ģà¸Ľà¸¥à¹Īา": 128221, + "â¦": 128222, + "ë¾": 128223, + "êĢ": 128224, + "êĩ": 128225, + "â¡": 128226, + "ðŁŁ": 128227, + "ãIJ": 128228, + "âº": 128229, + "áŃ": 128230, + "áĻ": 128231, + "áĵ": 128232, + "á²": 128233, + "ðĵı": 128234, + "á¬": 128235, + "â¯": 128236, + "ä¨": 128237, + "êĿ": 128238, + "ê«": 128239, + "ðij": 128240, + "ðĵĥ": 128241, + "ðĿħ": 128242, + "": 128244, + "": 128245, + "": 128247, + "ĠعÙĦÙī": 128248, + "Ġmá»Ļt": 128249, + "ĠvỼi": 128250, + "Ġngưá»Ŀi": 128251, + "ĠØ¥ÙĦÙī": 128252, + "Ġnhững": 128253, + "Ġthá»ĥ": 128254, + "Ġ×IJ×ķ": 128255, + "Ġ×¢×Ŀ": 128256, + "اÙĭ": 128257, + "Ġà¹ģละ": 128258, + "ĠÙĦا": 128259, + "Ġnhư": 128260, + "ĠاÙĦتÙĬ": 128261, + "Ġ×Ķ×ķ×IJ": 128262, + "ĠÄijến": 128263, + "ĠØ£ÙĪ": 128264, + "Ġvá»ģ": 128265, + "ĠlÃłm": 128266, + "Ġsẽ": 128267, + "ĠcÅ©ng": 128268, + "Ġợ": 128269, + "ĠÄijó": 128270, + "Ġnhiá»ģu": 128271, + "Ġtại": 128272, + "Ġtrên": 128273, + "Ġ×Ĵ×Ŀ": 128274, + "ĠnhÃł": 128275, + "Ġ׼×Ļ": 128276, + "Ġsá»±": 128277, + "ĠÄijầu": 128278, + "Ġbá»ĭ": 128279, + "ĠÙĩذا": 128280, + "Ġnhất": 128281, + "Ġphải": 128282, + "Ġhiá»ĩn": 128283, + "Ġdụng": 128284, + "ĠÄijá»Ļng": 128285, + "ĠاÙĦÙĦÙĩ": 128286, + "ĠØĮ": 128287, + "ĠÙĥÙĦ": 128288, + "Ġviá»ĩc": 128289, + "ĠnÄĥm": 128290, + "Ġthì": 128291, + "Ġhá»įc": 128292, + "ĠÙĪØª": 128293, + "té": 128294, + "ĠاÙĨ": 128295, + "Ġtôi": 128296, + "Ġ×IJ׳×Ļ": 128297, + "Ġ׾×Ļ": 128298, + "Ġ×ŀ×ķ": 128299, + "ĠngÃły": 128300, + "ĠnÆ°á»Ľc": 128301, + "Ġ×Ķ×Ļ×IJ": 128302, + "Ġ×IJ×Ļ": 128303, + "ĠhÆ¡n": 128304, + "ĠÙĩذÙĩ": 128305, + "ĠÙĪÙĬ": 128306, + "ĠاÙĦذÙĬ": 128307, + "Ġ×ķ×ŀ": 128308, + "Ġgiá": 128309, + "Ġnhân": 128310, + "ĠchÃŃnh": 128311, + "Ġmình": 128312, + "ĠÐĿа": 128313, + "Ġthế": 128314, + "Ġ×Ļ×ķתר": 128315, + "Ġ×IJ×Ŀ": 128316, + "Ġnên": 128317, + "Ġhợ": 128318, + "Ġhợp": 128319, + "Ġcòn": 128320, + "ĠÙĩÙĪ": 128321, + "ĠcÆ¡": 128322, + "Ġrất": 128323, + "ĠViá»ĩt": 128324, + "Ġبعد": 128325, + "Ġש×Ļ": 128326, + "Ġthá»Ŀi": 128327, + "Ġcách": 128328, + "ĠÄijá»ĵng": 128329, + "Ġно": 128330, + "Ġtrưá»Ŀng": 128331, + "ØŁ": 128332, + "ĠÄijá»ĭnh": 128333, + "ĠÄijiá»ģu": 128334, + "×Ļ×Ļ×Ŀ": 128335, + "Ġthá»±c": 128336, + "nın": 128337, + "Ġhình": 128338, + "Ġnói": 128339, + "Ġcùng": 128340, + "Ġ×Ķ×Ķ": 128341, + "ĠØ¥ÙĨ": 128342, + "Ġ×IJ×ij׾": 128343, + "Ġnhưng": 128344, + "Ġbiết": 128345, + "Ġже": 128346, + "Ġchúng": 128347, + "ĠÄijang": 128348, + "ĠذÙĦÙĥ": 128349, + "Ġlên": 128350, + "Ġkhách": 128351, + "ĠnÃło": 128352, + "Ġsá»Ń": 128353, + "Ġkhác": 128354, + "Ġë°ı": 128355, + "Ġlý": 128356, + "×Ļ×Ļ": 128357, + "ĠÄijây": 128358, + "Ġ׾×ŀ": 128359, + "Ġcần": 128360, + "Ġtrình": 128361, + "Ġphát": 128362, + "ãģ«ãĤĤ": 128363, + "по": 128364, + "ĠnÄĥng": 128365, + "Ġbá»Ļ": 128366, + "Ġvụ": 128367, + "ĠÄijá»Ļ": 128368, + "Ñĩе": 128369, + "ĠnháºŃn": 128370, + "ĠtrÆ°á»Ľc": 128371, + "Ġ×¢×ĵ": 128372, + "ĠhÃłnh": 128373, + "ĠØ®ÙĦاÙĦ": 128374, + "Ġlượng": 128375, + "Ġcấp": 128376, + "Ġtá»±": 128377, + "Ġvì": 128378, + "Ġtư": 128379, + "Ġchất": 128380, + "Ġ׼×ŀ×ķ": 128381, + "Ġgì": 128382, + "Ġש׳": 128383, + "Ġtế": 128384, + "ת×ķ": 128385, + "Ġnghiá»ĩp": 128386, + "Ġmặt": 128387, + "ĠÙĥÙħا": 128388, + "Ġ×ij×Ļף": 128389, + "Ġרק": 128390, + "Ġthấy": 128391, + "Ġmáy": 128392, + "ĠÙģÙī": 128393, + "Ġdân": 128394, + "Ġ×IJ×Ĺ×ĵ": 128395, + "Ġtâm": 128396, + "Ġ׼×ļ": 128397, + "Ġ׾×ķ": 128398, + "во": 128399, + "Ġtác": 128400, + "ĠtoÃłn": 128401, + "ĠÙĪÙħ": 128402, + "Ġkết": 128403, + "Ġหรืà¸Ń": 128404, + "ĠÙĪØ§ÙĦÙħ": 128405, + "ĠÄijiá»ĥm": 128406, + "Ġ×ĸ×ķ": 128407, + "Ġ×ij×ķ": 128408, + "׼×ķת": 128409, + "Ġhá»Ļi": 128410, + "Ġbằng": 128411, + "تÙĩا": 128412, + "Ġ׼×ĵ×Ļ": 128413, + "Ġ×Ķ×Ŀ": 128414, + "Ġxuất": 128415, + "ĠÙĤد": 128416, + "Ġbảo": 128417, + "Ġtá»ijt": 128418, + "Ġtình": 128419, + "ĠÙĩÙĬ": 128420, + "ĠÄijá»iji": 128421, + "Ġthiết": 128422, + "Ġhiá»ĩu": 128423, + "Ġtiếp": 128424, + "Ġtạo": 128425, + "ת×Ķ": 128426, + "Ġchá»§": 128427, + "oÅĽÄĩ": 128428, + "Ġgiú": 128429, + "Ġgiúp": 128430, + "Ġý": 128431, + "Ġquả": 128432, + "Ġloại": 128433, + "Ġcô": 128434, + "Ġô": 128435, + "Ġông": 128436, + "Ġ×Ķ×ķ": 128437, + "ĠاÙĦÙĬÙĪÙħ": 128438, + "ĠtÃŃnh": 128439, + "га": 128440, + "Ġphòng": 128441, + "ĠÄĥn": 128442, + "ĠعاÙħ": 128443, + "Ġvá»ĭ": 128444, + "larını": 128445, + "rÃŃa": 128446, + "ĠtỼi": 128447, + "ĠÄijưá»Ŀng": 128448, + "ĠgiỼi": 128449, + "Ġbản": 128450, + "Ġcầu": 128451, + "Ġnhiên": 128452, + "Ġbá»ĩnh": 128453, + "Ġthưá»Ŀng": 128454, + "Ġ×IJ×Ļף": 128455, + "ĠÄijá»ģ": 128456, + "Ġhá»ĩ": 128457, + "Ġ×Ļשר×IJ׾": 128458, + "Ġquá": 128459, + "ĠÐĹа": 128460, + "ãģ®ãģ§ãģĻãģĮ": 128461, + "ĠÐŁÑĢи": 128462, + "Ġphần": 128463, + "ĠÙĪÙĦا": 128464, + "ĠlỼn": 128465, + "Ġtrá»ĭ": 128466, + "Ġcảm": 128467, + "Ġмо": 128468, + "Ġdùng": 128469, + "ĠاÙĦÙī": 128470, + "ĠعÙĦÙĬÙĩ": 128471, + "ĠìŀĪìĬµëĭĪëĭ¤": 128472, + "ÙĬÙĤ": 128473, + "ĠÙĤبÙĦ": 128474, + "Ġhoặc": 128475, + "ĠØŃÙĬØ«": 128476, + "Ġà¸Ĺีà¹Ī": 128477, + "ĠغÙĬر": 128478, + "ĠÄijại": 128479, + "Ġsá»ijng": 128480, + "нÑĭми": 128481, + "Ġthức": 128482, + "Ġפ×Ļ": 128483, + "ĠÄijiá»ĩn": 128484, + "ãģªãģĭãģ£ãģŁ": 128485, + "Ġgiải": 128486, + "Ġvẫn": 128487, + "ĠиÑħ": 128488, + "Ġönce": 128489, + "ĠváºŃy": 128490, + "Ġmuá»ijn": 128491, + "Ġảnh": 128492, + "à¹ĥà¸Ļà¸ģาร": 128493, + "ĠQuá»ijc": 128494, + "Ġkế": 128495, + "׳×IJ": 128496, + "Ġס×Ļ": 128497, + "Ġyêu": 128498, + "ãģ®ãģĭ": 128499, + "ĠÄijẹ": 128500, + "ĠÄijẹp": 128501, + "Ġchức": 128502, + "Ġyıl": 128503, + "ĠTürkiye": 128504, + "dé": 128505, + "ĠÙĤاÙĦ": 128506, + "Ġdá»ĭch": 128507, + "ĠolduÄŁu": 128508, + "Ġchá»įn": 128509, + "ĠتÙħ": 128510, + "หà¸Ļึà¹Īà¸ĩ": 128511, + "ãģķãĤĮãģŁ": 128512, + "Ġpháp": 128513, + "ìĽĶ": 128514, + "Ġtiá»ģn": 128515, + "ãģĹãģ¾ãģĹãģŁ": 128516, + "Ġש׾×IJ": 128517, + "ÙĦØ©": 128518, + "Ġ׾פ׳×Ļ": 128519, + "Ġ×ij×Ļת": 128520, + "ĠHÃł": 128521, + "ĠØŃت": 128522, + "ĠØŃتÙī": 128523, + "Ġ×¢×ķ×ĵ": 128524, + "Ġnó": 128525, + "Ġtháng": 128526, + "à¹Ģลืà¸Ńà¸ģ": 128527, + "ר×Ķ": 128528, + "ĠtÄĥng": 128529, + "Ġcái": 128530, + "Ġtriá»ĥn": 128531, + "Ġ×IJ×ķת×ķ": 128532, + "ìłģìĿ¸": 128533, + "ĠCông": 128534, + "Ġ׾×Ķ×Ļ×ķת": 128535, + "Ġгода": 128536, + "иÑİ": 128537, + "Ġبعض": 128538, + "Ġà¸ģาร": 128539, + "èī¯ãģĦ": 128540, + "ÙĪØª": 128541, + "Ġliên": 128542, + "ĠÐĿо": 128543, + "ĠÐĿе": 128544, + "çļĦãģª": 128545, + "ĠÙħت": 128546, + "ĠÑĤакже": 128547, + "ĠкоÑĤоÑĢÑĭе": 128548, + "Ġ×Ļ×ĵ×Ļ": 128549, + "Ġtrá»įng": 128550, + "ãĤµãĤ¤ãĥĪ": 128551, + "ìłģìľ¼ë¡ľ": 128552, + "ĠtáºŃp": 128553, + "Ġש׾×Ļ": 128554, + "íķĺê²Į": 128555, + "ĠtÃłi": 128556, + "ĠЯ": 128557, + "Ġrá»ĵi": 128558, + "اÙĥ": 128559, + "Ġthương": 128560, + "Ġ×Ķ×ĸ×Ķ": 128561, + "ĠÙĪÙħÙĨ": 128562, + "à¸Ĺีà¹Īมี": 128563, + "Ġcuá»Ļc": 128564, + "Ġbüyük": 128565, + "ãģ¨ãģĭ": 128566, + "Ġ×ij×Ļ×ķתר": 128567, + "Ġlần": 128568, + "Ġgöre": 128569, + "Ġtrợ": 128570, + "Ġ×ĺ×ķ×ij": 128571, + "ÑĤÑĮÑģÑı": 128572, + "Ġthá»ijng": 128573, + "Ġ׼ש": 128574, + "Ġtiêu": 128575, + "Ġ×ŀ×IJ×ķ×ĵ": 128576, + "ØĽ": 128577, + "kÄħ": 128578, + "Ġà¹ĥà¸Ļ": 128579, + "Ġvấn": 128580, + "Ġש׾×ķ": 128581, + "ĠÄijá»ģu": 128582, + "ÙģØª": 128583, + "Ġê²ĥìĿ´": 128584, + "Ġhóa": 128585, + "ĠاÙĦعاÙħ": 128586, + "ĠÙĬÙĪÙħ": 128587, + "кой": 128588, + "Ġbiá»ĩt": 128589, + "ÑģÑĤо": 128590, + "Ġ×Ķ×Ļ×ķ": 128591, + "à¸Ĺีà¹Īà¸Īะ": 128592, + "Ġ×ĵ×Ļ": 128593, + "Ġ×IJ×ļ": 128594, + "Ġán": 128595, + "صÙĪØ±": 128596, + "ĠtrÃŃ": 128597, + "ĠÐŁÑĢо": 128598, + "Ġlá»±c": 128599, + "ãģĹãģ¦ãģĦãģ¾ãģĻ": 128600, + "ĠbÃłi": 128601, + "Ġ×ĸ×IJת": 128602, + "Ġbáo": 128603, + "à¸ļà¸Ļ": 128604, + "ĠëĮĢíķľ": 128605, + "Ġtiế": 128606, + "Ġtiếng": 128607, + "Ġbên": 128608, + "ãģķãĤĮãĤĭ": 128609, + "sión": 128610, + "Ġtìm": 128611, + "×¢×ķ": 128612, + "mé": 128613, + "ниÑı": 128614, + "ãģ»ãģ©": 128615, + "Ġà¹Ģà¸ŀราะ": 128616, + "بة": 128617, + "Ġë¶Ħ": 128618, + "Ġ×IJ×ĸ": 128619, + "à¸Ĺà¹Īาà¸Ļ": 128620, + "ת×Ŀ": 128621, + "Ġthêm": 128622, + "Ġhoạt": 128623, + "yı": 128624, + "×ĸ×ķ": 128625, + "Ġgiá»Ŀ": 128626, + "Ġbán": 128627, + "à¸Ĥาย": 128628, + "Ñĩа": 128629, + "Ġà¹Ĩ": 128630, + "ĠاÙĦÙħت": 128631, + "ĠоÑĩенÑĮ": 128632, + "Ġbất": 128633, + "Ġtrẻ": 128634, + "ÑĤÑĢ": 128635, + "ĠØ£ÙĨÙĩ": 128636, + "ĠØ«Ùħ": 128637, + "Ġ׼×ŀ×Ķ": 128638, + "Ġkhó": 128639, + "Ġrằng": 128640, + "ĠÙĪÙģÙĬ": 128641, + "ний": 128642, + "ĠhoÃłn": 128643, + "tó": 128644, + "Ġ×IJשר": 128645, + "ĠìĥĿê°ģ": 128646, + "Ñģа": 128647, + "Ġ׼×ijר": 128648, + "ĠÑįÑĤом": 128649, + "larının": 128650, + "Ġchưa": 128651, + "зи": 128652, + "Ġdẫn": 128653, + "ĠÐļак": 128654, + "جÙĪ": 128655, + "ĠбÑĭло": 128656, + "ĠÙĬت": 128657, + "nı": 128658, + "ÅĤam": 128659, + "ĠÙĪÙĩÙĪ": 128660, + "×ij×ķ": 128661, + "пи": 128662, + "רת": 128663, + "Ġquá»ijc": 128664, + "жд": 128665, + "ĠÄijÆ¡n": 128666, + "Ùĥتب": 128667, + "Ġmắt": 128668, + "ระà¸ļ": 128669, + "ระà¸ļà¸ļ": 128670, + "ĠÙĥاÙĨت": 128671, + "Ġthân": 128672, + "สิà¸Ļà¸Ħà¹īา": 128673, + "×Ĵ×Ļ": 128674, + "Ġphương": 128675, + "à¹Ħมà¹Īà¹Ħà¸Ķà¹ī": 128676, + "ĠìĦ±": 128677, + "ĠCác": 128678, + "Ġ×Ķ×ŀ×ķ": 128679, + "ĠÑĤем": 128680, + "Ġ×ĵ×ķ": 128681, + "à¸Ńะà¹Ħร": 128682, + "ĠvÄĥn": 128683, + "ãģªãģ®ãģ§": 128684, + "ĠNá»Ļi": 128685, + "Ġ×¢×ķ": 128686, + "ãĤīãĤĮãĤĭ": 128687, + "Ġsáng": 128688, + "Ġgöster": 128689, + "ãģĵãģ¨ãĤĴ": 128690, + "Ġtarafından": 128691, + "Ġма": 128692, + "ĠпоÑģле": 128693, + "Ġ׳×Ļת": 128694, + "Ġ׳×Ļ×ª×Ł": 128695, + "ĠлеÑĤ": 128696, + "Ġ׾׳×ķ": 128697, + "ÑģÑģ": 128698, + "Ġ×Ļ×ķ": 128699, + "пе": 128700, + "ĠÙĪÙĦÙĥ": 128701, + "ĠÙĪÙĦÙĥÙĨ": 128702, + "ĠngoÃłi": 128703, + "ĠÄijá»ĭa": 128704, + "rzÄħd": 128705, + "dziaÅĤ": 128706, + "ĠÙħر": 128707, + "иÑĤÑĮÑģÑı": 128708, + "Ġ×IJ×Ĺר×Ļ": 128709, + "Ġ׾׼׾": 128710, + "à¸Ĥà¹īà¸Ńม": 128711, + "à¸Ĥà¹īà¸Ńมูล": 128712, + "Ġбол": 128713, + "Ġболее": 128714, + "جÙħع": 128715, + "леÑĤ": 128716, + "Ġlá»ĭch": 128717, + "ĠÙħØ«ÙĦ": 128718, + "Ġê·¸ë¦¬ê³ł": 128719, + "Ġthứ": 128720, + "ĠdeÄŁil": 128721, + "ÙĪØŃ": 128722, + "Ġש׾×ļ": 128723, + "ĠÙħØŃÙħد": 128724, + "Ġnếu": 128725, + "ĠÄijá»ķi": 128726, + "Ġvừa": 128727, + "Ġmá»įi": 128728, + "Ġони": 128729, + "Ġlúc": 128730, + "ĠÙĬÙĥÙĪÙĨ": 128731, + "ì§Ī": 128732, + "Ġש׾׳×ķ": 128733, + "ĠÐĶо": 128734, + "Ġש׳×Ļ": 128735, + "ลิ": 128736, + "×IJפשר": 128737, + "Ġsức": 128738, + "ê¶Į": 128739, + "Ġứng": 128740, + "à¹Ħมà¹Īมี": 128741, + "Ø·ÙĦب": 128742, + "ĠÑĩем": 128743, + "Ġchuyên": 128744, + "ĠthÃŃch": 128745, + "Ġ×ķ×Ļ": 128746, + "íķ©": 128747, + "ĠÙħصر": 128748, + "до": 128749, + "ĠÄijất": 128750, + "Ġchế": 128751, + "à¸Ĭืà¹Īà¸Ń": 128752, + "Ġìĭł": 128753, + "Ġإذا": 128754, + "ĠرئÙĬس": 128755, + "Ġש×Ļש": 128756, + "Ġgiảm": 128757, + "Ñģка": 128758, + "larında": 128759, + "Ġsợ": 128760, + "ĠtÃŃch": 128761, + "ĠÙĦÙĥÙĨ": 128762, + "ĠبÙħ": 128763, + "×¢×ķ×ij": 128764, + "×¢×ķ×ij×ĵ": 128765, + "ÅĤÄħcz": 128766, + "larına": 128767, + "Ġש×Ŀ": 128768, + "ĠÙĦت": 128769, + "Ġש×Ķ×ķ×IJ": 128770, + "tów": 128771, + "Ġëĭ¤ë¥¸": 128772, + "ĠØ£Ùĥثر": 128773, + "ãģ®ãģ§ãģĻ": 128774, + "׼×Ļ×Ŀ": 128775, + "ĠolduÄŁunu": 128776, + "ãģĭãģª": 128777, + "ãĤĤãģĨ": 128778, + "ÙĬØŃ": 128779, + "Ġnhìn": 128780, + "Ġnghá»ĩ": 128781, + "ãģ«ãģªãģ£ãģ¦": 128782, + "па": 128783, + "Ġquyết": 128784, + "ÙĦÙĤ": 128785, + "tá": 128786, + "Ġluôn": 128787, + "ĠÄijặc": 128788, + "Ġ×IJר": 128789, + "Ġtuá»ķi": 128790, + "são": 128791, + "ìϏ": 128792, + "رد": 128793, + "ĠبÙĩا": 128794, + "Ġ×Ķ×Ļ×ķ×Ŀ": 128795, + "×ķ×ķ×Ļ": 128796, + "ãģ§ãģĻãģŃ": 128797, + "ĠÑĤого": 128798, + "Ġthá»§": 128799, + "ãģĹãģŁãģĦ": 128800, + "رÙĤ": 128801, + "Ġbắt": 128802, + "гÑĥ": 128803, + "Ġtá»Ń": 128804, + "ÑĪа": 128805, + "Ġà¸Ľà¸µ": 128806, + "Ġ×Ķ×IJ×Ŀ": 128807, + "íı¬": 128808, + "ża": 128809, + "Ġ×IJת×Ķ": 128810, + "Ġná»Ļi": 128811, + "ĠphÃŃ": 128812, + "ĠÅŁekilde": 128813, + "Ġlá»Ŀi": 128814, + "dıģı": 128815, + "Ġ׼×IJף": 128816, + "Ġtüm": 128817, + "Ġmạnh": 128818, + "ĠMỹ": 128819, + "ãģĿãĤĵãģª": 128820, + "Ġnhá»ı": 128821, + "ãģªãģĮãĤī": 128822, + "Ġbình": 128823, + "ıp": 128824, + "à¸ŀา": 128825, + "ĠÄijánh": 128826, + "ĠÙĪÙĦ": 128827, + "ר×ķת": 128828, + "Ġ×IJ×Ļ×ļ": 128829, + "Ġchuyá»ĥn": 128830, + "Ùĥا": 128831, + "ãĤĮãĤĭ": 128832, + "à¹ģมà¹Ī": 128833, + "ãĤĪãģı": 128834, + "ĠÙĪÙĤد": 128835, + "íĸĪëĭ¤": 128836, + "ĠnÆ¡i": 128837, + "ãģ«ãĤĪãģ£ãģ¦": 128838, + "Ġviết": 128839, + "Ġà¹Ģà¸ŀืà¹Īà¸Ń": 128840, + "ëIJĺëĬĶ": 128841, + "ادÙĬ": 128842, + "ĠÙ쨥ÙĨ": 128843, + "ì¦Ŀ": 128844, + "ĠÄijặt": 128845, + "ĠhÆ°á»Ľng": 128846, + "Ġxã": 128847, + "Ġönemli": 128848, + "ãģłãģ¨": 128849, + "Ġmẹ": 128850, + "Ġ×ij×Ļ": 128851, + "Ġ×ĵ×ijר": 128852, + "ĠváºŃt": 128853, + "ĠÄijạo": 128854, + "Ġdá»±ng": 128855, + "ĠÑĤом": 128856, + "ĠÙģÙĬÙĩا": 128857, + "ĠجÙħÙĬع": 128858, + "ĠthuáºŃt": 128859, + "stÄĻp": 128860, + "Ġtiết": 128861, + "Ø´ÙĬ": 128862, + "ĠеÑīе": 128863, + "ãģĻãĤĭãģ¨": 128864, + "ĠmÃłu": 128865, + "ĠÑįÑĤого": 128866, + "Ġvô": 128867, + "ĠÐŃÑĤо": 128868, + "ĠtháºŃt": 128869, + "Ġnữa": 128870, + "Ġbiến": 128871, + "Ġnữ": 128872, + "Ġ׾׼×Ŀ": 128873, + "×Ļ×Ļף": 128874, + "Ġست": 128875, + "ĠÐŀÑĤ": 128876, + "Ġphụ": 128877, + "ê¹Įì§Ģ": 128878, + "Ġ׾×ļ": 128879, + "Ġkỳ": 128880, + "à¹ĥà¸Ħร": 128881, + "Ġgây": 128882, + "ĠÙĦÙĦÙħ": 128883, + "Ġtục": 128884, + "تÙĬÙĨ": 128885, + "Ġtrợ": 128886, + "Ġ׾פ×Ļ": 128887, + "Ġbá»ij": 128888, + "ĠÐļа": 128889, + "ĠÄijình": 128890, + "owÄħ": 128891, + "sında": 128892, + "Ġkhiến": 128893, + "sız": 128894, + "Ġкогда": 128895, + "×¡×ľ": 128896, + "ĠбÑĭл": 128897, + "à¸Ļà¹īà¸Ńย": 128898, + "обÑĢаз": 128899, + "Ġê²ĥìĿ´ëĭ¤": 128900, + "ëĵ¤ìĿĢ": 128901, + "ãģ¸ãģ®": 128902, + "Ġà¹Ģมืà¹Īà¸Ń": 128903, + "Ġphục": 128904, + "Ġ×Ĺ׾ק": 128905, + "Ġhết": 128906, + "ĠÄija": 128907, + "à¹Ģà¸Ķà¹ĩà¸ģ": 128908, + "íĺķ": 128909, + "lÃŃ": 128910, + "ê¸ī": 128911, + "Ġعدد": 128912, + "ĠÄijá»ĵ": 128913, + "Ġgần": 128914, + "Ġ×Ļ×ķ×Ŀ": 128915, + "ĠsÄ©": 128916, + "ÑĢÑıд": 128917, + "Ġquyá»ģn": 128918, + "Ġ×IJ׾×IJ": 128919, + "ÙĩÙħا": 128920, + "׳×Ļ×Ķ": 128921, + "׾×ķת": 128922, + "Ġ×Ķר×ij×Ķ": 128923, + "Ġtiên": 128924, + "Ġalın": 128925, + "Ġdá»ħ": 128926, + "人ãģĮ": 128927, + "ноÑģ": 128928, + "лÑģÑı": 128929, + "ĠÄijưa": 128930, + "สาว": 128931, + "иÑĢован": 128932, + "Ġ×ŀספר": 128933, + "×Ĵף": 128934, + "Ġkiến": 128935, + "ĠШ": 128936, + "pé": 128937, + "бÑĥ": 128938, + "овой": 128939, + "ба": 128940, + "ĠØ¥ÙĦا": 128941, + "×IJ׾×Ļ": 128942, + "Ġxây": 128943, + "Ġbợi": 128944, + "Ġש×ķ": 128945, + "人ãģ®": 128946, + "×§×Ļ×Ŀ": 128947, + "à¹Ģà¸Ķืà¸Ńà¸Ļ": 128948, + "Ġkhá": 128949, + "Ġ×ķ׾×Ķ": 128950, + "×ĵ×ķת": 128951, + "Ġ×¢×ij×ķר": 128952, + "ĠبشÙĥÙĦ": 128953, + "ĠÙĩÙĨاÙĥ": 128954, + "ÑĤÑĢа": 128955, + "ĠíķĺëĬĶ": 128956, + "รà¸Ńà¸ļ": 128957, + "owaÅĤ": 128958, + "hé": 128959, + "Ġdiá»ħn": 128960, + "Ġ×Ķ׼׾": 128961, + "Ġأس": 128962, + "Ġchuyá»ĩn": 128963, + "ระà¸Ķัà¸ļ": 128964, + "ĠNhững": 128965, + "Ġ×IJ×Ĺת": 128966, + "ĠØŃÙĪÙĦ": 128967, + "лов": 128968, + "׳ר": 128969, + "Ġ×ķ׳": 128970, + "ĠchÆ¡i": 128971, + "Ġiçinde": 128972, + "ÑģÑĤвÑĥ": 128973, + "Ġphá»ij": 128974, + "ĠÑģÑĥ": 128975, + "ç§ģãģ¯": 128976, + "Ġchứng": 128977, + "Ġvá»±c": 128978, + "à¹ģà¸Ń": 128979, + "ĠláºŃp": 128980, + "Ġtừng": 128981, + "å°ijãģĹ": 128982, + "ĠNguy": 128983, + "ĠNguyá»ħn": 128984, + "ĠÙģÙĬÙĩ": 128985, + "Ġба": 128986, + "×Ļ×Ļת": 128987, + "Ġ×ľ×¢×©×ķת": 128988, + "Ġ×ŀ׼": 128989, + "Ġnghiá»ĩm": 128990, + "Ġмного": 128991, + "Ġее": 128992, + "ëIJĺìĸ´": 128993, + "Ġlợi": 128994, + "Ġ׾׾×IJ": 128995, + "Ġ׼ף": 128996, + "ĠchÃŃ": 128997, + "ãģ§ãģ®": 128998, + "×Ĺ×ķ": 128999, + "ש×ķ×Ŀ": 129000, + "Ġ×ŀר": 129001, + "ĠÐĶлÑı": 129002, + "Åģ": 129003, + "Ġ׼×IJשר": 129004, + "ĠMá»Ļt": 129005, + "ĠÙĪØ§ÙĦت": 129006, + "ĠìĿ´ëٰ": 129007, + "ÅŁa": 129008, + "Ġchiến": 129009, + "Ġarasında": 129010, + "Ġ×ij×IJתר": 129011, + "ãģķãĤĮãģ¦ãģĦãĤĭ": 129012, + "Ø´ÙĥÙĦ": 129013, + "Ġtượng": 129014, + "Ġتت": 129015, + "ĠCó": 129016, + "Ġbá»ı": 129017, + "Ġtá»īnh": 129018, + "ĠkhÃŃ": 129019, + "ĠпÑĢоÑģÑĤ": 129020, + "ĠпÑĢоÑģÑĤо": 129021, + "ĠÙĪÙĤاÙĦ": 129022, + "Ġgiáo": 129023, + "ĠNếu": 129024, + "×IJ×ŀר": 129025, + "×¢×ł×Ļ×Ļף": 129026, + "íݸ": 129027, + "ÙĩدÙģ": 129028, + "ĠBá»Ļ": 129029, + "ĠbÃłn": 129030, + "Ġnguyên": 129031, + "Ġgüzel": 129032, + "สาย": 129033, + "ì²ľ": 129034, + "×ŀ×ķר": 129035, + "Ġphân": 129036, + "ספק": 129037, + "×§×ij׾": 129038, + "ĠاÙĦÙħتØŃ": 129039, + "ĠاÙĦÙħتØŃدة": 129040, + "ائد": 129041, + "Ġ×IJ×ŀר": 129042, + "ĠkiÅŁi": 129043, + "ì¤Ģ": 129044, + "Ġtruyá»ģn": 129045, + "ĠÙĦÙĩا": 129046, + "ĠÐľÐ°": 129047, + "à¸ļริษ": 129048, + "à¸ļริษั": 129049, + "à¸ļริษัà¸Ĺ": 129050, + "Ġש׳×Ļ×Ŀ": 129051, + "ĠменÑı": 129052, + "ÅŁe": 129053, + "Ġdiá»ĩn": 129054, + "Ġ×IJ׳×Ĺ׳×ķ": 129055, + "kü": 129056, + "Ġcá»ķ": 129057, + "Ġmá»Ĺi": 129058, + "wä": 129059, + "ÙħÙĬ": 129060, + "Ġhiá»ĥu": 129061, + "ëĭ¬": 129062, + "Ġ×Ķ×Ĺ׾": 129063, + "Ġtên": 129064, + "Ġkiá»ĩn": 129065, + "ÙĨÙĤÙĦ": 129066, + "Ġvá»ĩ": 129067, + "×ĵת": 129068, + "ĠÐłÐ¾ÑģÑģии": 129069, + "лÑĥ": 129070, + "ĠاÙĦعربÙĬØ©": 129071, + "ĠطرÙĬÙĤ": 129072, + "Ġ×Ķ×ij×Ļת": 129073, + "ÑģеÑĢ": 129074, + "Ġмне": 129075, + "äu": 129076, + "Ġtriá»ĩu": 129077, + "ĠÄijá»§": 129078, + "Ġר×ij": 129079, + "تÙĩÙħ": 129080, + "à¸ĭี": 129081, + "Ġì§Ģê¸Ī": 129082, + "liÅĽmy": 129083, + "دعÙħ": 129084, + "ãģłãĤįãģĨ": 129085, + "Ñģкие": 129086, + "Ġhá»ıi": 129087, + "Ġ×§×ķ": 129088, + "ÑĢÑĥÑģ": 129089, + "ÙĨظر": 129090, + "ãģ®ãĤĤ": 129091, + "Ġ×Ķ׼×Ļ": 129092, + "ĠìĽIJ": 129093, + "ÙĪÙĩ": 129094, + "ĠÙĪÙİ": 129095, + "ĠBạn": 129096, + "плаÑĤ": 129097, + "Ġ×ŀ×ŀש": 129098, + "лÑİб": 129099, + "ĠнÑĥжно": 129100, + "Ġthư": 129101, + "ãģµ": 129102, + "ãģıãĤīãģĦ": 129103, + "رش": 129104, + "ר×ķ×Ĺ": 129105, + "ĠÙĬتÙħ": 129106, + "Ġצר×Ļ×ļ": 129107, + "Ġphá": 129108, + "มà¸Ńà¸ĩ": 129109, + "Ġ×ij×IJ×ķפף": 129110, + "Ġcảnh": 129111, + "Ġíķľëĭ¤": 129112, + "Ġ×Ķ×ŀת": 129113, + "à¸ķà¹Īาà¸ĩà¹Ĩ": 129114, + "มีà¸ģาร": 129115, + "ÑģкиÑħ": 129116, + "ĠÐĴÑģе": 129117, + "ĠاÙĪ": 129118, + "جÙĬ": 129119, + "ãģĵãģ¨ãģ¯": 129120, + "ĠdÃłi": 129121, + "Ġhá»ĵ": 129122, + "èĩªåĪĨãģ®": 129123, + "à¹Ħหà¸Ļ": 129124, + "ëĵ¤ìĿĦ": 129125, + "ĠVÄĥn": 129126, + "Ġдаж": 129127, + "Ġдаже": 129128, + "Ñĭми": 129129, + "лаÑģÑĮ": 129130, + "ÙĬÙĪÙĨ": 129131, + "ÙĨÙĪ": 129132, + "có": 129133, + "ãģĹãģ¦ãģĦãģŁ": 129134, + "ãģłãģĭãĤī": 129135, + "طاÙĦب": 129136, + "Ġcá»Ńa": 129137, + "пÑĢоÑģ": 129138, + "ãģªãģ©ãģ®": 129139, + "รุà¹Īà¸Ļ": 129140, + "Ġchiếc": 129141, + "лÑĭ": 129142, + "ĠÑıвлÑıеÑĤÑģÑı": 129143, + "Ġná»ķi": 129144, + "ãģ®ãģĬ": 129145, + "Ġ×IJת×Ŀ": 129146, + "ĠëķĮ문ìĹIJ": 129147, + "à¸ģลาà¸ĩ": 129148, + "ĠbaÅŁka": 129149, + "ìĦĿ": 129150, + "ĠÑĨел": 129151, + "ÙģÙĤ": 129152, + "ãģ«ãĤĪãĤĭ": 129153, + "ÙĤا": 129154, + "Ġçıkar": 129155, + "Ġcứu": 129156, + "طا": 129157, + "Ġשת": 129158, + "à¹Ĥà¸Ħ": 129159, + "Ġ×ŀ׾": 129160, + "Ġ×Ķפר": 129161, + "Ġгде": 129162, + "Ġخط": 129163, + "åīįãģ«": 129164, + "cjÄĻ": 129165, + "Ġ×Ĺש×ķ×ij": 129166, + "ר×Ĵ×¢": 129167, + "Ġkhoảng": 129168, + "ĠÄijá»Ŀi": 129169, + "ĠÐłÐµ": 129170, + "Ġона": 129171, + "Ġ×IJ׳×ķ": 129172, + "ãģ®ãģ«": 129173, + "ĠاÙĦذÙĬÙĨ": 129174, + "кÑĥп": 129175, + "ãĤµãĥ¼ãĥ": 129176, + "ãĤµãĥ¼ãĥĵ": 129177, + "ãĤµãĥ¼ãĥĵãĤ¹": 129178, + "вал": 129179, + "ге": 129180, + "Ġgiữa": 129181, + "ĠKhông": 129182, + "ĠâĹĭ": 129183, + "à¸ģลุà¹Īม": 129184, + "ĠÙħÙĨذ": 129185, + "à¸Ńà¹Īาà¸Ļ": 129186, + "ĠÑģпоÑģоб": 129187, + "ĠÄijá»Ļi": 129188, + "ĠdiÄŁer": 129189, + "Ġà¸ĸà¹īา": 129190, + "ÙħØ«ÙĦ": 129191, + "Ġ×Ķ×IJ×Ļ": 129192, + "ĠدÙĪÙĨ": 129193, + "ÙĬراÙĨ": 129194, + "Ñīи": 129195, + "بÙĨاء": 129196, + "Ġآخر": 129197, + "ظÙĩر": 129198, + "Ġ×ij׼": 129199, + "ĠاÙĦÙħع": 129200, + "ãĥĴ": 129201, + "Ġtất": 129202, + "Ġmục": 129203, + "ĠdoÄŁru": 129204, + "ãģŁãĤī": 129205, + "Ġס×ķ": 129206, + "Ġxác": 129207, + "รà¸Ń": 129208, + "ĠcÄĥn": 129209, + "Ġонл": 129210, + "Ġонлайн": 129211, + "Ġký": 129212, + "Ġchân": 129213, + "Ġà¹Ħมà¹Ī": 129214, + "اØŃØ©": 129215, + "rán": 129216, + "׳×Ļ×Ļ×Ŀ": 129217, + "Ġ×ijף": 129218, + "ĠÐĸ": 129219, + "à¸ķรà¸ĩ": 129220, + "дÑĭ": 129221, + "Ġsắc": 129222, + "ÙĦت": 129223, + "ãĥŃãĥ¼": 129224, + "ĠÙĦÙĨ": 129225, + "Ġר×ķ": 129226, + "ĠdÆ°á»Ľi": 129227, + "à¹Ģà¸ĺ": 129228, + "à¹Ģà¸ĺà¸Ń": 129229, + "eÄŁi": 129230, + "Ġ×ķש": 129231, + "ĠÙĦØ£": 129232, + "Ġgặp": 129233, + "Ġcá»ij": 129234, + "ãģ¨ãģ¦ãĤĤ": 129235, + "رÙĪØ³": 129236, + "Ġ׾×Ķ×Ļ": 129237, + "Ġ본": 129238, + "ä¸ĬãģĴ": 129239, + "Ġmức": 129240, + "Ñħа": 129241, + "Ġìŀ¬": 129242, + "à¸īัà¸Ļ": 129243, + "ÑĢÑĥж": 129244, + "Ġaçık": 129245, + "ÙĪØ§ÙĦ": 129246, + "Ġ×ĸ×ŀף": 129247, + "人ãģ¯": 129248, + "عÙĬÙĨ": 129249, + "ÑıÑħ": 129250, + "Ġ×Ĵ×ĵ×ķ׾": 129251, + "ר×ķ×ij": 129252, + "gó": 129253, + "ëĿ¼ê³ł": 129254, + "ĠarkadaÅŁ": 129255, + "ÙĨشر": 129256, + "ĠгодÑĥ": 129257, + "ĠболÑĮÑĪе": 129258, + "ãģ¡ãĤĩãģ£ãģ¨": 129259, + "Ġcâu": 129260, + "Ġsát": 129261, + "íͼ": 129262, + "Ġtiến": 129263, + "íķ´ìķ¼": 129264, + "ĠÙĪØ£ÙĨ": 129265, + "à¸Ļาà¸Ļ": 129266, + "Ġ×ij×IJ×ŀצע": 129267, + "Ġ×ij×IJ×ŀצע×ķת": 129268, + "Ġ׾ר": 129269, + "Ġquản": 129270, + "ĠÙĪØ§ÙĦØ£": 129271, + "Ġ×IJ×ķת×Ķ": 129272, + "Ġìĸ´ëĸ¤": 129273, + "Ġê²ĥìĿĢ": 129274, + "ØŃسÙĨ": 129275, + "Ġmất": 129276, + "à¸Ħูà¹Ī": 129277, + "ãĥ¬ãĥ¼": 129278, + "ĠÐĶа": 129279, + "Ġolması": 129280, + "Ġthuá»Ļc": 129281, + "׳×Ĺ": 129282, + "íĨł": 129283, + "Ġsöyle": 129284, + "ãģĿãģĨãģ§ãģĻ": 129285, + "ĠتÙĥÙĪÙĨ": 129286, + "лÑĥÑĩ": 129287, + "׾×Ļ×ļ": 129288, + "ĠØ£ØŃد": 129289, + "лиÑģÑĮ": 129290, + "ĠвÑģего": 129291, + "Ġ×Ķר×ij": 129292, + "Ġ못": 129293, + "oÄŁ": 129294, + "oÄŁlu": 129295, + "ĠìĦł": 129296, + "ĠкаÑĢ": 129297, + "à¸łà¸²à¸Ħ": 129298, + "eÅĦ": 129299, + "Ġà¸ģà¹ĩ": 129300, + "Ġaynı": 129301, + "ĠbÃł": 129302, + "ãģªãĤĵãģ¦": 129303, + "Ġ모ëĵł": 129304, + "ÙĤرار": 129305, + "ãģĹãģªãģĦ": 129306, + "ĠÐĴо": 129307, + "ĠÙĪÙĩÙĬ": 129308, + "ники": 129309, + "ãĤĮãģŁ": 129310, + "Ġchuẩn": 129311, + "רע": 129312, + "Ù쨱ÙĬÙĤ": 129313, + "ãĤĴåıĹãģij": 129314, + "ĠÄijúng": 129315, + "бе": 129316, + "׼×ķ×Ĺ": 129317, + "пÑĥ": 129318, + "Ġ×ķ×Ĵ×Ŀ": 129319, + "×ŀ׳×Ļ": 129320, + "íĸ¥": 129321, + "צ×Ļ×Ŀ": 129322, + "à¸ĭิ": 129323, + "ÙĩÙĨ": 129324, + "нем": 129325, + "Ġ×ij×ij×Ļת": 129326, + "رع": 129327, + "Ġส": 129328, + "ĠÄIJÃł": 129329, + "íķĺëĭ¤": 129330, + "Ġấy": 129331, + "×Ĺ×ķ×ĵ": 129332, + "×Ĺ×ķ×ĵש": 129333, + "ĠÑĩеÑĢез": 129334, + "Ñĥл": 129335, + "ĠBình": 129336, + "Ġê²ĥìĿĦ": 129337, + "Ġ×Ĵר": 129338, + "ä»ĺãģij": 129339, + "×Ĺ׾ק": 129340, + "ĠتÙĦÙĥ": 129341, + "à¹ĥสà¹Ī": 129342, + "szÄħ": 129343, + "ÙĤاÙħ": 129344, + "دÙĪØ±": 129345, + "ĠÙģÙĤØ·": 129346, + "Ġhữu": 129347, + "ĠмогÑĥÑĤ": 129348, + "Ġgá»įi": 129349, + "Ġקר": 129350, + "à¸Īะมี": 129351, + "تÙĤدÙħ": 129352, + "Ġعبر": 129353, + "Ġ׾×Ķ×Ŀ": 129354, + "ĠÑģамо": 129355, + "ס×ĵר": 129356, + "ĠcÃłng": 129357, + "rÃŃ": 129358, + "Ġìŀ¥": 129359, + "ëĵ¤ìĿĺ": 129360, + "ĠÙĦÙĥ": 129361, + "поÑĢÑĤ": 129362, + "Ġkhả": 129363, + "ĠÑģебÑı": 129364, + "׳ף": 129365, + "ĠدÙĪØ±": 129366, + "Ġmợ": 129367, + "Ġcây": 129368, + "Ġfark": 129369, + "Ġfarklı": 129370, + "аÑİÑĤ": 129371, + "Ġtrá»±c": 129372, + "wiÄĻksz": 129373, + "Ġthuá»ijc": 129374, + "ĠتØŃت": 129375, + "تÙĦ": 129376, + "овÑĭе": 129377, + "ëĤł": 129378, + "Ġвам": 129379, + "بÙĦغ": 129380, + "Ġê°ĻìĿĢ": 129381, + "íĮIJ": 129382, + "ÙĦب": 129383, + "Ġnasıl": 129384, + "Ġодин": 129385, + "ман": 129386, + "ĠعÙĦÙĬÙĩا": 129387, + "би": 129388, + "Ġפש×ķ×ĺ": 129389, + "×ijר×Ļ": 129390, + "Ġש׳×Ķ": 129391, + "ĠëıĦ": 129392, + "ĠÄIJại": 129393, + "Ġ×IJ×ķת×Ŀ": 129394, + "ĠاÙĦØŃر": 129395, + "Ġбо": 129396, + "à¸Īุà¸Ķ": 129397, + "Ġrõ": 129398, + "ĠdeÄŁiÅŁ": 129399, + "Ġëĭ¨": 129400, + "ĠÑģлÑĥÑĩа": 129401, + "ĠÑģлÑĥÑĩае": 129402, + "Ġ×IJ׳ש×Ļ×Ŀ": 129403, + "×ĵ×£": 129404, + "ש×ijת": 129405, + "Ġש׾׼×Ŀ": 129406, + "Ġchú": 129407, + "ników": 129408, + "Ġtanı": 129409, + "Ġcáo": 129410, + "ĠÄijá": 129411, + "Ġ×IJ×ĵ×Ŀ": 129412, + "Ġê°ķ": 129413, + "Ġnhiá»ĩm": 129414, + "Ġ×ľ×¡": 129415, + "Ġ×Ľ×ª×ij": 129416, + "Ġ×Ķספר": 129417, + "ĠÄijÄĥng": 129418, + "ĠëijIJ": 129419, + "à¸ľà¸´": 129420, + "à¸ľà¸´à¸§": 129421, + "جا": 129422, + "Ġê°IJ": 129423, + "رأ": 129424, + "ستخدÙħ": 129425, + "ãģ«ãģªãĤĬãģ¾ãģĻ": 129426, + "Ġtá»·": 129427, + "×ĺ×ķר": 129428, + "говоÑĢ": 129429, + "ĠвоÑģ": 129430, + "ĠÙħÙĨÙĩا": 129431, + "иÑĢоваÑĤÑĮ": 129432, + "ĠÄijầy": 129433, + "׳×Ĵ": 129434, + "ĠÙħÙĪ": 129435, + "ĠÙħÙĪÙĤع": 129436, + "ר׼×Ļ": 129437, + "تÙı": 129438, + "모": 129439, + "Ġת×ķ": 129440, + "ÙĬاÙĭ": 129441, + "à¹ĥà¸Ķ": 129442, + "ãĤĬãģ¾ãģĻ": 129443, + "à¸Ńยูà¹Īà¹ĥà¸Ļ": 129444, + "ĠØ£ÙĪÙĦ": 129445, + "ĠأخرÙī": 129446, + "Ġcư": 129447, + "صار": 129448, + "×ŀ×Ĺש×ij": 129449, + "бÑĢа": 129450, + "ÅĦski": 129451, + "бÑĢ": 129452, + "ĠÙĬÙı": 129453, + "à¸ģิà¸Ļ": 129454, + "Ġchá»ijng": 129455, + "ÙħÙı": 129456, + "Ġà¸Ħืà¸Ń": 129457, + "ĠتÙĨ": 129458, + "tÃŃ": 129459, + "yÄĩ": 129460, + "Ġmạng": 129461, + "ÙģÙĪ": 129462, + "Ġdünya": 129463, + "קר×IJ": 129464, + "Ġק׾": 129465, + "ĠØŃاÙĦ": 129466, + "cÃŃa": 129467, + "Ġà¹Ģรา": 129468, + "Ġר×ķצ×Ķ": 129469, + "Ġáp": 129470, + "ë°ķ": 129471, + "اÙĤØ©": 129472, + "ниÑİ": 129473, + "Ġ×IJ׾×ķ": 129474, + "Ġ×ŀס×ķ": 129475, + "ãģ§ãģ¯ãģªãģı": 129476, + "Ġtrả": 129477, + "Ġקשר": 129478, + "miÅŁtir": 129479, + "Ġlưu": 129480, + "Ġhá»Ĺ": 129481, + "ĠбÑĭли": 129482, + "Ġlấy": 129483, + "عÙĦÙħ": 129484, + "Ġözel": 129485, + "æ°ĹãģĮ": 129486, + "Ġ×ĵר×ļ": 129487, + "Ùħد": 129488, + "sını": 129489, + "׳×ķש×IJ": 129490, + "rów": 129491, + "ÑĩеÑĢ": 129492, + "êµIJìľ¡": 129493, + "ĠÐľÐ¾": 129494, + "лег": 129495, + "ĠVỼi": 129496, + "วัà¸Ļà¸Ļีà¹ī": 129497, + "ÑİÑīие": 129498, + "ãģĬãģĻ": 129499, + "ãģĬãģĻãģĻ": 129500, + "ãģĬãģĻãģĻãĤģ": 129501, + "ëıħ": 129502, + "Ġ×Ļ×Ķ×Ļ×Ķ": 129503, + "×ŀ×ĺר": 129504, + "Ñıми": 129505, + "Ġlá»±a": 129506, + "ĠÄijấu": 129507, + "à¹Ģสียà¸ĩ": 129508, + "Ġtương": 129509, + "ëĵ±": 129510, + "ĠÑģÑĤаÑĢ": 129511, + "à¹ĥà¸ļ": 129512, + "วัà¸Ķ": 129513, + "Ġİstanbul": 129514, + "Ġà¸Īะ": 129515, + "à¸ķลาà¸Ķ": 129516, + "ĠبÙĬ": 129517, + "à¹ģà¸Ļะ": 129518, + "à¹ģà¸Ļะà¸Ļำ": 129519, + "ساعد": 129520, + "Ġبأ": 129521, + "Ġkiá»ĥm": 129522, + "ØŃسب": 129523, + "à¸Ĭัà¹īà¸Ļ": 129524, + "Ġ×ķ×¢×ķ×ĵ": 129525, + "овÑĭÑħ": 129526, + "оÑģнов": 129527, + "ĠtrÆ°á»Łng": 129528, + "צ×ij×¢": 129529, + "ĠÃŃt": 129530, + "Ġkỹ": 129531, + "cré": 129532, + "Ñıм": 129533, + "êµ°": 129534, + "ãģĮãģªãģĦ": 129535, + "ÙĬÙĦØ©": 129536, + "ãĥķãĤ£": 129537, + "رÙī": 129538, + "ĠÙĬجب": 129539, + "Ġ×IJ×£": 129540, + "Ġcá»±c": 129541, + "ãĤīãĤĮãģŁ": 129542, + "Ġà¸ľà¸¹à¹ī": 129543, + "Ġà¸Ń": 129544, + "larımız": 129545, + "Ġkadın": 129546, + "Ġê·¸ëŀĺ": 129547, + "Ġê·¸ëŀĺìĦľ": 129548, + "ĠëĺIJëĬĶ": 129549, + "ĠÄijả": 129550, + "ĠÄijảm": 129551, + "Ġ×IJ×ķ×ŀר": 129552, + "Ġyếu": 129553, + "ciÄħ": 129554, + "ciÄħg": 129555, + "Ġtá»ij": 129556, + "Ġש×IJ׳×Ļ": 129557, + "ĠdziaÅĤa": 129558, + "Ñīа": 129559, + "ĠÄijÃłn": 129560, + "sına": 129561, + "ãģĵãĤĮãģ¯": 129562, + "Ġ×ij׾×Ļ": 129563, + "Ġ×ij×Ļשר×IJ׾": 129564, + "лоÑģÑĮ": 129565, + "Ġgiữ": 129566, + "ê°IJ": 129567, + "ÑĢон": 129568, + "تجار": 129569, + "глав": 129570, + "вин": 129571, + "Ġhạn": 129572, + "Ġyapılan": 129573, + "بس": 129574, + "Ġà¸ŀรà¹īà¸Ńม": 129575, + "ê´Ģ리": 129576, + "mÄ±ÅŁtır": 129577, + "bü": 129578, + "rück": 129579, + "ĠBaÅŁkanı": 129580, + "ĠÙĦÙĬس": 129581, + "ĠsÆ¡": 129582, + "à¸Īัà¸ĩหว": 129583, + "à¸Īัà¸ĩหวัà¸Ķ": 129584, + "داء": 129585, + "Ġ×Ķ׼": 129586, + "vÃŃ": 129587, + "ש×IJר": 129588, + "ĠhÆ°á»Łng": 129589, + "Ġbóng": 129590, + "ĠChÃŃnh": 129591, + "Äħc": 129592, + "à¹Ģà¸ģีà¹Īยวà¸ģัà¸ļ": 129593, + "Ġtứ": 129594, + "Ġtức": 129595, + "ĠÑĨвеÑĤ": 129596, + "Ġtá»iji": 129597, + "ĠnghÄ©a": 129598, + "ÙĦاعب": 129599, + "دÙĦ": 129600, + "Ġפע×Ŀ": 129601, + "hör": 129602, + "à¸Ĭุà¸Ķ": 129603, + "à¸ŀู": 129604, + "à¸ŀูà¸Ķ": 129605, + "паÑģ": 129606, + "ĠÅŁu": 129607, + "ĠtÆ°á»Łng": 129608, + "خارج": 129609, + "Ġâm": 129610, + "ĠинÑĤеÑĢеÑģ": 129611, + "еннÑĭÑħ": 129612, + "×IJ׳×Ļ": 129613, + "بدأ": 129614, + "ëĿ¼ëĬĶ": 129615, + "ì¹´": 129616, + "æĸ¹ãģĮ": 129617, + "лив": 129618, + "Ġà¸Ħà¸Ļ": 129619, + "ער×ļ": 129620, + "à¸Ĥà¸Ńà¸ĩà¸Ħุà¸ĵ": 129621, + "пад": 129622, + "Ġcạnh": 129623, + "ĠëĤ¨": 129624, + "ĠÄijâu": 129625, + "Ġbiá»ĥu": 129626, + "ãĤĤãģĤãĤĭ": 129627, + "׾×Ĵ": 129628, + "Ġสำหรัà¸ļ": 129629, + "Ġxuá»ijng": 129630, + "ס×ķ": 129631, + "Ġذات": 129632, + "ĠÐľÐµ": 129633, + "عاÙĦÙħ": 129634, + "×IJס": 129635, + "بÙĬØ©": 129636, + "شا": 129637, + "ием": 129638, + "ĠNgưá»Ŀi": 129639, + "íĺij": 129640, + "Ñģлов": 129641, + "Ġпа": 129642, + "Ġmẫu": 129643, + "ĠпÑĢоÑĨеÑģÑģ": 129644, + "ĠNhÃł": 129645, + "пÑĢоиз": 129646, + "пÑĢоизвод": 129647, + "à¸łà¸²à¸¢à¹ĥà¸Ļ": 129648, + "Ġà¸ļาà¸Ĺ": 129649, + "×ŀ׳×ķ": 129650, + "ĠоÑĢган": 129651, + "רצ×ķ": 129652, + "×ķ×ŀ×Ļ×Ŀ": 129653, + "Ġyazı": 129654, + "Ġdù": 129655, + "ãĥ¬ãĥ³": 129656, + "ÙĪÙĦÙĬ": 129657, + "ยู": 129658, + "Ġtrò": 129659, + "à¹Ģà¸ŀลà¸ĩ": 129660, + "Ġ×ŀ׾×IJ": 129661, + "à¸ķล": 129662, + "à¸ķลà¸Ńà¸Ķ": 129663, + "ĠÄijạt": 129664, + "Ġ×Ĺ×ĵש": 129665, + "póÅĤ": 129666, + "Ġ×ŀ×ĵ×Ļ": 129667, + "ujÄħc": 129668, + "×ŀ׳×Ķ׾": 129669, + "Ġש×ij×ķ": 129670, + "Ġ×Ķ×ŀשפ×ĺ": 129671, + "Ġ×IJ׾×Ķ": 129672, + "ĠÙĪØ°ÙĦÙĥ": 129673, + "à¹Ģà¸ŀราะ": 129674, + "ĠÄijoÃłn": 129675, + "Ġíķ¨ê»ĺ": 129676, + "Ġdục": 129677, + "شت": 129678, + "Ġula": 129679, + "ĠulaÅŁ": 129680, + "Ġquý": 129681, + "Ġ×Ķ×Ĵ×ĵ×ķ׾": 129682, + "à¸ķัà¹īà¸ĩà¹ģà¸ķà¹Ī": 129683, + "Ġשר": 129684, + "Ø´Ùĩد": 129685, + "׳ש×Ļ×Ŀ": 129686, + "à¸ŀล": 129687, + "رÙĪØ§": 129688, + "ãĤĮãģ¦": 129689, + "ĠниÑħ": 129690, + "Ġдела": 129691, + "ãģ§ãģįãģªãģĦ": 129692, + "ÅĤoż": 129693, + "×IJ×Ĺר": 129694, + "ì½Ķ": 129695, + "ãĤ¢ãĥĥãĥĹ": 129696, + "دÙ쨹": 129697, + "Ġtiá»ĩn": 129698, + "Ġkhá»ı": 129699, + "Ġkhá»ıe": 129700, + "ĠاÙĦعاÙħØ©": 129701, + "ãģ«ãģĤãĤĭ": 129702, + "ĠÄijá»Ļc": 129703, + "족": 129704, + "Ġcụ": 129705, + "йÑĤе": 129706, + "Ġзакон": 129707, + "ĠпÑĢоекÑĤ": 129708, + "ìĸ¸": 129709, + "ÙĦØŃ": 129710, + "ĠçalÄ±ÅŁma": 129711, + "ãĤĴãģĻãĤĭ": 129712, + "Ñħи": 129713, + "عاد": 129714, + "Ġ׳×ŀצ×IJ": 129715, + "Ġר×Ļ": 129716, + "à¸Ńà¸Ńà¸ģมา": 129717, + "ĠTôi": 129718, + "Ġthần": 129719, + "ĠÙĬا": 129720, + "ลาย": 129721, + "ĠавÑĤо": 129722, + "Ġsıra": 129723, + "ĠÙĥØ«ÙĬر": 129724, + "ÙħÙĬز": 129725, + "ĠاÙĦعÙĦÙħ": 129726, + "æĸ¹ãģ¯": 129727, + "×ķ×¢×ĵ": 129728, + "ĠоблаÑģÑĤи": 129729, + "×Ļ׾×Ļ×Ŀ": 129730, + "ãģĮåĩº": 129731, + "à¸ĺุ": 129732, + "à¸ĺุร": 129733, + "à¸ĺุรà¸ģิà¸Ī": 129734, + "ÙĤتÙĦ": 129735, + "ר×IJ×ķ": 129736, + "Ġngu": 129737, + "Ġnguá»ĵn": 129738, + "Ġมา": 129739, + "Ġплан": 129740, + "tório": 129741, + "Ġcuá»iji": 129742, + "Ñģком": 129743, + "ĠاÙĦÙħاض": 129744, + "ĠاÙĦÙħاضÙĬ": 129745, + "Ġ×ij×¢×ľ": 129746, + "Ġר×ij×Ļ×Ŀ": 129747, + "ĠluáºŃn": 129748, + "ÙĥÙĪ": 129749, + "à¸Ĺัà¹īà¸ĩหมà¸Ķ": 129750, + "ван": 129751, + "Ġthoại": 129752, + "à¹Ħà¸Ń": 129753, + "биÑĢ": 129754, + "ĠاÙĦض": 129755, + "تا": 129756, + "ĠÑĢод": 129757, + "ĠVÃł": 129758, + "×ŀ×Ļף": 129759, + "ĠбÑĭла": 129760, + "ками": 129761, + "ĠÐĶе": 129762, + "tık": 129763, + "קר×Ļ": 129764, + "ĠeÄŁitim": 129765, + "ĠÙĥبÙĬر": 129766, + "بÙĥ": 129767, + "ĠÙĦÙĪ": 129768, + "вой": 129769, + "Ġãģĵãģ®": 129770, + "ĠÑĤÑĢÑĥд": 129771, + "myÅĽl": 129772, + "Ġsư": 129773, + "à¸ŀีà¹Ī": 129774, + "Ġà¹ģลà¹īว": 129775, + "×¢×§": 129776, + "Ġ×Ĺ×ijרת": 129777, + "ระหว": 129778, + "ระหวà¹Īาà¸ĩ": 129779, + "×Ļ×Ļ×Ķ": 129780, + "ĠاÙĦÙĨاس": 129781, + "ünü": 129782, + "Ġ׾×ŀ×Ķ": 129783, + "Ġchương": 129784, + "ĠHá»ĵ": 129785, + "ارت": 129786, + "ãĤĪãģĨãģ§ãģĻ": 129787, + "lá": 129788, + "×§×Ļ×Ļ×Ŀ": 129789, + "æľ¬å½ĵ": 129790, + "æľ¬å½ĵãģ«": 129791, + "ãģĵãĤĵãģª": 129792, + "Ñģов": 129793, + "Ġ×ķ×Ĺ": 129794, + "à¹Ģà¸ģà¹ĩà¸ļ": 129795, + "ĠкÑĤо": 129796, + "à¹Ĥรà¸Ħ": 129797, + "ĠشرÙĥØ©": 129798, + "عزÙĬ": 129799, + "عزÙĬز": 129800, + "Ø·ÙĦÙĤ": 129801, + "пÑĥÑģÑĤ": 129802, + "ÙģØªØŃ": 129803, + "ëŀĢ": 129804, + "Ġhãy": 129805, + "ضÙħ": 129806, + "린": 129807, + "åł´åIJĪãģ¯": 129808, + "ãĤªãĥ¼": 129809, + "Ġhắn": 129810, + "Ġ×IJ×ij×Ļ×ij": 129811, + "Ġש׾×Ķ×Ŀ": 129812, + "Ġ×Ķ×Ļ×Ļת×Ķ": 129813, + "ĠاÙĦدÙĪÙĦØ©": 129814, + "ĠاÙĦÙĪÙĤ": 129815, + "ĠاÙĦÙĪÙĤت": 129816, + "ãģĤãģ¾ãĤĬ": 129817, + "ĠtaÅŁÄ±": 129818, + "İN": 129819, + "עסק": 129820, + "ãģ¦ãģĦãģŁ": 129821, + "Ġtá»ķng": 129822, + "ĠاÙĦØ¥ÙĨس": 129823, + "ĠاÙĦØ¥ÙĨساÙĨ": 129824, + "ÑĢеÑĪ": 129825, + "Ġgái": 129826, + "ĠÑĨен": 129827, + "ĠÙģÙĤد": 129828, + "Ùħات": 129829, + "ãģķãĤĵãģ®": 129830, + "Ġphù": 129831, + "×ĺ×Ķ": 129832, + "ĠÙĪØ§ÙĦتÙĬ": 129833, + "ĠبÙĥ": 129834, + "ìĿ´ëĤĺ": 129835, + "кÑģ": 129836, + "ÙħÙĬر": 129837, + "Ġvùng": 129838, + "ĠاÙĦشعب": 129839, + "ĠNhưng": 129840, + "ãĥĢãĥ¼": 129841, + "Ġ×Ĺ×Ļ×Ļ×Ŀ": 129842, + "Ġشخص": 129843, + "×§×ķ×ĵ": 129844, + "ê²Ģ": 129845, + "עש": 129846, + "×¢×ķ׾×Ŀ": 129847, + "צ×ķר": 129848, + "عÙĤد": 129849, + "ĠiÅŁlem": 129850, + "Ġ×Ķ×ij×IJ": 129851, + "Ġdưỡng": 129852, + "à¸Łà¸£à¸µ": 129853, + "ĠphÃŃa": 129854, + "ãģ®ä¸Ńãģ§": 129855, + "Ġпи": 129856, + "ĠngÃłnh": 129857, + "нима": 129858, + "ĠÙĩÙĦ": 129859, + "Ġ×ķ×IJת": 129860, + "ĠÄijáng": 129861, + "équipe": 129862, + "ĠÑįÑĤоÑĤ": 129863, + "Ġgörev": 129864, + "매": 129865, + "Ġquân": 129866, + "å¼ķãģį": 129867, + "æĻĤãģ«": 129868, + "ĠبÙħا": 129869, + "×ŀ×Ļת": 129870, + "Ġülke": 129871, + "Ġ×ŀ×§×ķ×Ŀ": 129872, + "×ijף": 129873, + "æ°ĹæĮģãģ¡": 129874, + "Ġë§İìĿĢ": 129875, + "Ġyüksek": 129876, + "ÑĨенÑĤÑĢ": 129877, + "ĠÙħجÙĦس": 129878, + "ç§ģãģ®": 129879, + "ÙĤدر": 129880, + "Ġë¶Ģë¶Ħ": 129881, + "Ġì°¨": 129882, + "خرج": 129883, + "ãģĭãģªãĤĬ": 129884, + "ë³´ëĭ¤": 129885, + "Ġ×ŀ×Ļ×ĵ×¢": 129886, + "peÅĤni": 129887, + "Ġxá»Ń": 129888, + "ìĹIJìĦľëĬĶ": 129889, + "ĠباÙĦÙħ": 129890, + "ĠÙĪÙħا": 129891, + "ĠÑįÑĤой": 129892, + "بÙĬÙĨ": 129893, + "nü": 129894, + "ØŃز": 129895, + "ØŃزب": 129896, + "ĠÑĢабоÑĤа": 129897, + "ĠNháºŃt": 129898, + "ÙĦاء": 129899, + "Ġëĵ¤": 129900, + "Ġëĵ¤ìĸ´": 129901, + "ãĤĦãģĻãģĦ": 129902, + "×Ĺ×ĸ×§": 129903, + "Ġ×Ķ×Ĺ×ijר×Ķ": 129904, + "пиÑĤ": 129905, + "ãģĭãĤīãģ®": 129906, + "Ġë§IJìĶĢ": 129907, + "Ġפ×ķ": 129908, + "ÙĦÙİ": 129909, + "à¹Ģà¸ķà¹ĩม": 129910, + "ĠÐļо": 129911, + "Ġmówi": 129912, + "ĠtÃŃn": 129913, + "ר×Ĵש": 129914, + "פרק": 129915, + "Ġtrạng": 129916, + "ĠÐŀн": 129917, + "×Ĺ×ķ×¥": 129918, + "ĠعÙĨدÙħا": 129919, + "Ġبر": 129920, + "使ãģĦ": 129921, + "Ġrá»Ļng": 129922, + "ëĮĢë¡ľ": 129923, + "íά": 129924, + "Ġktórych": 129925, + "вид": 129926, + "ลูà¸ģà¸Ħà¹īา": 129927, + "ĠmogÄħ": 129928, + "Ġש×Ĺ": 129929, + "×ij×Ĺר": 129930, + "ãĥĸãĥŃãĤ°": 129931, + "ĠThÃłnh": 129932, + "Ġ×Ķר×Ļ": 129933, + "ĠÑģÑĤаÑĤÑĮ": 129934, + "ĠHá»Ļi": 129935, + "à¸ļà¹īาà¸ĩ": 129936, + "çī¹ãģ«": 129937, + "ĠÄIJức": 129938, + "èĢħãģ®": 129939, + "×¢×ŀ×ķ×ĵ": 129940, + "×ĺר×Ķ": 129941, + "Ð¥": 129942, + "ĠÙħÙħا": 129943, + "ĠeÅŁ": 129944, + "ĠнеобÑħодимо": 129945, + "ников": 129946, + "Ġüzerinde": 129947, + "aÅĤa": 129948, + "Ġchá»ĭu": 129949, + "ĠاÙĦدÙĬÙĨ": 129950, + "أخبار": 129951, + "ĠÄijau": 129952, + "ãģĮå¤ļãģĦ": 129953, + "jÄħcych": 129954, + "دخÙĦ": 129955, + "larınd": 129956, + "larından": 129957, + "Ġsẻ": 129958, + "à¸ŀิà¹Ģศ": 129959, + "à¸ŀิà¹Ģศษ": 129960, + "×ª×Ł": 129961, + "tıģı": 129962, + "ĠluáºŃt": 129963, + "ĠÅŀe": 129964, + "ãĤ«ãĥ¼": 129965, + "ãģ®ãģĤãĤĭ": 129966, + "Ġ×Ķ×IJתר": 129967, + "ĠاÙĦØ¢ÙĨ": 129968, + "ıldı": 129969, + "Ġáo": 129970, + "ĠнаÑĩал": 129971, + "Ġviá»ĩn": 129972, + "Ġ×ij×¢×ķ׾×Ŀ": 129973, + "знаÑĩ": 129974, + "×Ļ×ĺ×Ķ": 129975, + "кам": 129976, + "ĠÐĺз": 129977, + "à¹Ģà¸Ĥียà¸Ļ": 129978, + "à¸Ļà¹īà¸Ńà¸ĩ": 129979, + "ÑĤÑĢо": 129980, + "à¹Ģà¸Ł": 129981, + "Ġжизни": 129982, + "Ġสà¹Īวà¸Ļ": 129983, + "ĠváºŃn": 129984, + "Ġê´Ģ볨": 129985, + "Ġlâu": 129986, + "ס×ĺר": 129987, + "קש": 129988, + "سÙĬر": 129989, + "Ġ×IJ×ķת×Ļ": 129990, + "Ġmôi": 129991, + "ائب": 129992, + "ĠоÑģÑĤа": 129993, + "Ġmón": 129994, + "Ġ×ij×ŀ×§×ķ×Ŀ": 129995, + "ĠداخÙĦ": 129996, + "Ġ×IJ×ķר": 129997, + "ĠваÑģ": 129998, + "ÙĥØ´Ùģ": 129999, + "ìĺ¨": 130000, + "à¸ĸà¹Īาย": 130001, + "Ġkullanıl": 130002, + "Ġtô": 130003, + "ãģ«ãĤĪãĤĬ": 130004, + "ĠëĺIJíķľ": 130005, + "Ġ×¢×ij×ķ×ĵ×Ķ": 130006, + "Ġriê": 130007, + "Ġriêng": 130008, + "Ġyakın": 130009, + "زا": 130010, + "Å»": 130011, + "×IJ×ķ׼׾": 130012, + "شارÙĥ": 130013, + "ĠбеÑģ": 130014, + "×´": 130015, + "ĠابÙĨ": 130016, + "ĠTá»ķng": 130017, + "ÙĨظ": 130018, + "ÅĽwiad": 130019, + "ãĤµãĥ¼": 130020, + "หาย": 130021, + "ĠGün": 130022, + "Ġhakkında": 130023, + "à¹Ģà¸Ĥà¹īามา": 130024, + "زÙĨ": 130025, + "ĠÐłÐ¾": 130026, + "Ġbiá»ĥn": 130027, + "ãģ©ãģĵ": 130028, + "Ù쨹ÙĦ": 130029, + "زع": 130030, + "פר×ĺ": 130031, + "Ġ×Ķף": 130032, + "Ø£ÙĩÙĦ": 130033, + "Ġthất": 130034, + "ØŃÙħÙĦ": 130035, + "ÑĩÑĥ": 130036, + "ĠìĤ¬ìĭ¤": 130037, + "ì°¸": 130038, + "ĠìľĦíķ´": 130039, + "ÙĪØ¸": 130040, + "ĠÐŁÐ¾Ð´": 130041, + "Ġkhoản": 130042, + "ÑĤен": 130043, + "ĠÙ쨧ÙĦ": 130044, + "Ñģад": 130045, + "à¸Ļà¸Ńà¸Ļ": 130046, + "ĠاÙĦسعÙĪØ¯ÙĬØ©": 130047, + "\"ØĮ": 130048, + "ĠاÙĦÙĴ": 130049, + "ãĤīãģļ": 130050, + "Ġtoán": 130051, + "Ġchắc": 130052, + "׼×Ļר": 130053, + "méd": 130054, + "média": 130055, + "زÙĪ": 130056, + "Ġyanı": 130057, + "פ׳×Ļ×Ŀ": 130058, + "ØŃظ": 130059, + "ĠбеÑģп": 130060, + "ĠбеÑģплаÑĤ": 130061, + "ĠбеÑģплаÑĤно": 130062, + "ĠØ£ÙħاÙħ": 130063, + "à¸Ńาย": 130064, + "à¸Ńายุ": 130065, + "רשת": 130066, + "Ġgá»ĵ": 130067, + "Ġgá»ĵm": 130068, + "Ġuá»ijng": 130069, + "صب": 130070, + "kır": 130071, + "ãĥijãĥ¼": 130072, + "Ġ׾×ĵעת": 130073, + "ĠкÑĥпиÑĤÑĮ": 130074, + "׾×ķ×Ĺ": 130075, + "ÙĪØ¶Ø¹": 130076, + "ÙĤÙĬÙħ": 130077, + "à¸Ľà¸²": 130078, + "жив": 130079, + "à¸Ķิà¸Ļ": 130080, + "×IJ×ķפ": 130081, + "à¹Ģลà¹ĩà¸ģ": 130082, + "ãĥĥãĥī": 130083, + "иÑĩеÑģкиÑħ": 130084, + "ĠChá»§": 130085, + "кÑĢаÑģ": 130086, + "ÙĪØµÙĦ": 130087, + "pÅĤat": 130088, + "моÑĢ": 130089, + "Ġ×Ķ×IJ×ķ": 130090, + "à¸Ńิà¸Ļ": 130091, + "ĠíķľêµŃ": 130092, + "гÑĢе": 130093, + "Ġìłľê³µ": 130094, + "ì°½": 130095, + "Ġê°ľìĿ¸ìłķë³´": 130096, + "Ġnghá»ĭ": 130097, + "à¸ĭา": 130098, + "ØŃساب": 130099, + "ĠbyÅĤa": 130100, + "ÙħÙĦÙĥ": 130101, + "иÑĩеÑģкие": 130102, + "Ġbác": 130103, + "ضØŃ": 130104, + "길": 130105, + "ש×ŀ×¢": 130106, + "Ġìĸ´ëĸ»": 130107, + "Ġìĸ´ëĸ»ê²Į": 130108, + "ìĽĮ": 130109, + "اتÙĩ": 130110, + "à¹Ĥรà¸ĩà¹ģ": 130111, + "à¹Ĥรà¸ĩà¹ģรม": 130112, + "خدÙħØ©": 130113, + "ĠÐłÐ°": 130114, + "׼×ķ׾×Ŀ": 130115, + "×ŀש×Ĺ×§": 130116, + "ĠÙĪÙĥاÙĨ": 130117, + "ס×ķ×£": 130118, + "ĠاÙĦØŃÙĥÙĪÙħØ©": 130119, + "Ġ×ij×ĺ": 130120, + "ĠtráºŃn": 130121, + "Ġ×Ķ×¢×ķ׾×Ŀ": 130122, + "ĠÃŃch": 130123, + "tÄħ": 130124, + "ש×ŀ×ķ": 130125, + "Ġ×Ķר×IJש×ķף": 130126, + "Ġíķĺê³ł": 130127, + "ãģķãĤī": 130128, + "ãģķãĤīãģ«": 130129, + "ãģ«ãģĹãģ¦": 130130, + "Ġà¸ľà¸¡": 130131, + "ãģ®ãĤĪãģĨãģª": 130132, + "ĠÙĪÙĤت": 130133, + "ãĥįãĥĥãĥĪ": 130134, + "ÙĦعب": 130135, + "ÙĪØ´": 130136, + "ìĺ¬": 130137, + "Ġหาà¸ģ": 130138, + "ĠmiaÅĤ": 130139, + "à¸Ĺà¸Ńà¸ĩ": 130140, + "иÑĤа": 130141, + "اصر": 130142, + "илÑģÑı": 130143, + "зе": 130144, + "à¸Ľà¸£à¸°à¸¡à¸²à¸ĵ": 130145, + "ãģĿãĤĮãģ¯": 130146, + "Ġbır": 130147, + "Ġbırak": 130148, + "صÙĨاع": 130149, + "Ю": 130150, + "شعر": 130151, + "Ġ׳×Ĵ×ĵ": 130152, + "Ġبسبب": 130153, + "ãĥĿãĤ¤": 130154, + "ãĥĿãĤ¤ãĥ³ãĥĪ": 130155, + "ĠاÙĦجÙĪ": 130156, + "ĠнеÑģколÑĮко": 130157, + "Ġkiếm": 130158, + "ÙģÙİ": 130159, + "Ġضد": 130160, + "×ij×Ļ×ĺ×ķ×Ĺ": 130161, + "تابع": 130162, + "ÙĨز": 130163, + "ĠBản": 130164, + "Ġaçıkl": 130165, + "Ġaçıklama": 130166, + "Ġà¸Ħุà¸ĵ": 130167, + "à¸Ĺา": 130168, + "ÅĤów": 130169, + "طب": 130170, + "ÙĨØŃÙĨ": 130171, + "Ġ×ŀ×§×ķר": 130172, + "Ġİs": 130173, + "Ġдома": 130174, + "Ġวัà¸Ļ": 130175, + "ĠdÃłnh": 130176, + "Ñıн": 130177, + "миÑĢ": 130178, + "Ġmô": 130179, + "ĠvÃłng": 130180, + "صاب": 130181, + "sının": 130182, + "à¸Ħืà¸Ļ": 130183, + "خبر": 130184, + "×ĸ׼×ķ": 130185, + "Ġ×ŀש×Ķ×ķ": 130186, + "mü": 130187, + "Ġкомпании": 130188, + "Ġ×Ķ×¢×Ļר": 130189, + "ĠÙĥÙĪ": 130190, + "ÙĤÙĦب": 130191, + "ĠlỼp": 130192, + "ики": 130193, + "׳×ij": 130194, + "à¹Ĥà¸Ħร": 130195, + "à¹Ĥà¸Ħรà¸ĩ": 130196, + "à¹Ĥà¸Ħรà¸ĩà¸ģาร": 130197, + "×ŀ×ķ×¢×ĵ": 130198, + "ÑıÑĤÑģÑı": 130199, + "หลัà¸ĩà¸Īาà¸ģ": 130200, + "ениÑİ": 130201, + "Ġשע": 130202, + "ĠbÆ°á»Ľc": 130203, + "ãĥ¡ãĥ¼ãĥ«": 130204, + "ãĤĦãĤĬ": 130205, + "Ġ×Ļ×ķ×ĵ×¢": 130206, + "Ġê´Ģíķľ": 130207, + "ĠاÙĦØ£Ùħر": 130208, + "Ġbölge": 130209, + "ĠÑģвой": 130210, + "ÙĦس": 130211, + "Ġ×ŀ×Ļ×ķ×Ĺ×ĵ": 130212, + "ĠëĤ´ìļ©": 130213, + "ĠأجÙĦ": 130214, + "ĠÄIJông": 130215, + "Ġ×ŀ×ł×ª": 130216, + "Ġìĭľê°Ħ": 130217, + "ÙĥÙİ": 130218, + "ãģ¨ãģĦãģĨãģ®ãģ¯": 130219, + "Ġnależy": 130220, + "تÙĨظÙĬÙħ": 130221, + "ĠÑģозда": 130222, + "Ġphé": 130223, + "Ġphép": 130224, + "ãģ§ãģįãģ¾ãģĻ": 130225, + "ĠعÙĦÙħ": 130226, + "大ãģįãģª": 130227, + "ãĤ²ãĥ¼ãĥł": 130228, + "íħĮ": 130229, + "Ġ׼×ķ׾׾": 130230, + "ĠинÑĤеÑĢнеÑĤ": 130231, + "ĠTừ": 130232, + "ãģ¨ãģªãĤĭ": 130233, + "زاÙĦ": 130234, + "Ġktórym": 130235, + "Ġnhé": 130236, + "ìĪľ": 130237, + "нев": 130238, + "деÑĢ": 130239, + "ãĤ¢ãĥĹãĥª": 130240, + "iá»ĩu": 130241, + "×ij×Ļ׾": 130242, + "Ġتس": 130243, + "ĠÄIJây": 130244, + "ĠاÙĦخاصة": 130245, + "Ġà¹Ģà¸Ĭ": 130246, + "Ġà¹Ģà¸Ĭà¹Īà¸Ļ": 130247, + "صاد": 130248, + "Ġdạng": 130249, + "سعر": 130250, + "Ġש×Ļ×ŀ×ķש": 130251, + "×Ĵ×Ļ×Ŀ": 130252, + "ãģĮãģĤãģ£ãģŁ": 130253, + "пÑĢов": 130254, + "пÑĢовод": 130255, + "Ġ×IJ×Ļ׳×ķ": 130256, + "Ġ׾ר×IJ": 130257, + "Ġ׾ר×IJ×ķת": 130258, + "ĠØ£Ù쨶ÙĦ": 130259, + "ĠØŃÙĦ": 130260, + "ĠأبÙĪ": 130261, + "ê°ķ": 130262, + "Ġì§ij": 130263, + "ãģ®ãĤĪãģĨãģ«": 130264, + "Ġפ׳×Ļ": 130265, + "ס×Ļ×Ŀ": 130266, + "ĠÙĪÙĩذا": 130267, + "Ġkaç": 130268, + "Ġéén": 130269, + "Ġê±´": 130270, + "ë°Ķ": 130271, + "Ñĥз": 130272, + "à¸Ĥà¸Ńà¸ĩà¹Ģรา": 130273, + "iÅĤ": 130274, + "ĠÐľÑĭ": 130275, + "Ġchết": 130276, + "ĠاÙĦثاÙĨÙĬ": 130277, + "×IJ×§": 130278, + "Ġ×ķ×¢×ľ": 130279, + "ĠاÙĦطب": 130280, + "×ij×ĺ×Ĺ": 130281, + "ĠجدÙĬدة": 130282, + "ĠعدÙħ": 130283, + "عز": 130284, + "สิà¹Īà¸ĩà¸Ĺีà¹Ī": 130285, + "ãģĻãĤĮãģ°": 130286, + "ĠÄijô": 130287, + "ì£ł": 130288, + "دÙĤ": 130289, + "номÑĥ": 130290, + "Ġká»ĥ": 130291, + "ãĤ¢ãĥ³": 130292, + "å¤ļãģıãģ®": 130293, + "à¸Ľà¸£à¸°à¸ģ": 130294, + "à¸Ľà¸£à¸°à¸ģà¸Ńà¸ļ": 130295, + "פע×Ļ׾×ķת": 130296, + "ĠÑģÑĤол": 130297, + "mayı": 130298, + "ãģ¤ãģĦ": 130299, + "Ġyılında": 130300, + "Ġà¸Īึà¸ĩ": 130301, + "koÅĦcz": 130302, + "ĠThông": 130303, + "ĠакÑĤив": 130304, + "нÑģÑĤ": 130305, + "нÑģÑĤÑĢÑĥ": 130306, + "ĠÃĸz": 130307, + "Ġת×ŀ×Ļ×ĵ": 130308, + "ĠÙĥÙĨت": 130309, + "ÑģиÑģÑĤем": 130310, + "prés": 130311, + "présent": 130312, + "Ġnâ": 130313, + "Ġnâng": 130314, + "gÅĤos": 130315, + "ĠÙĪØ²ÙĬر": 130316, + "ØŃصÙĦ": 130317, + "ĠимееÑĤ": 130318, + "ØŃرÙĥØ©": 130319, + "à¸ŀà¹Īà¸Ń": 130320, + "ãĤĴãģĬ": 130321, + "ĠاستخداÙħ": 130322, + "×IJ×Ļר×ķ×¢": 130323, + "ä»ĸãģ®": 130324, + "Ġש×Ķ×Ŀ": 130325, + "ãģĹãģŁãĤī": 130326, + "ש×ŀ×Ļ": 130327, + "Ñģла": 130328, + "mı": 130329, + "Ġbazı": 130330, + "Ġíķĺì§Ģë§Į": 130331, + "×ĵ׾": 130332, + "Ġyaptıģı": 130333, + "ãĥĬãĥ¼": 130334, + "׾×Ļ׾×Ķ": 130335, + "ãģ¨ãģĦãģ£ãģŁ": 130336, + "ändig": 130337, + "ĠÅŁa": 130338, + "ĠÙģÙĬÙħا": 130339, + "иÑĤелÑı": 130340, + "×ŀ×ķש": 130341, + "à¸Ĥà¸Ńà¸ļ": 130342, + "lük": 130343, + "Ġhá»ĵi": 130344, + "Ġëªħ": 130345, + "ĠاÙĦÙĥØ«ÙĬر": 130346, + "צ×IJ": 130347, + "Ġhazır": 130348, + "طرÙģ": 130349, + "اÙĬا": 130350, + "ĠÄijôi": 130351, + "енд": 130352, + "ÙĦغ": 130353, + "×Ĺ×ĸ×ķר": 130354, + "ĠвÑģег": 130355, + "ĠвÑģегда": 130356, + "ëIJĺê³ł": 130357, + "×ĵ×ķ×ĵ": 130358, + "ана": 130359, + "دÙĪÙĦØ©": 130360, + "Ġhoạch": 130361, + "عÙĦا": 130362, + "عÙĦاج": 130363, + "Ġ×ķ×¢×ĵ": 130364, + "×Ķ×Ŀ": 130365, + "кий": 130366, + "ÙĦÙIJ": 130367, + "Ġ×¢×ľ×Ļ×ķ": 130368, + "ÑİÑīий": 130369, + "Ġngá»§": 130370, + "صÙĨع": 130371, + "ĠاÙĦعراÙĤ": 130372, + "à¸ķà¹Īà¸Ńà¹Ħà¸Ľ": 130373, + "ãģŁãģıãģķãĤĵ": 130374, + "Ġphạm": 130375, + "ÙĦاÙĨ": 130376, + "اتÙĩا": 130377, + "Ġböyle": 130378, + "تÙĨÙģÙĬ": 130379, + "تÙĨÙģÙĬذ": 130380, + "Ġש×Ķ×Ļ×IJ": 130381, + "ÑģÑĥ": 130382, + "ยาว": 130383, + "Ġש×ķ׳×Ļ×Ŀ": 130384, + "Ġ×ŀ×ķ׾": 130385, + "ĠÑģил": 130386, + "Ġ×IJ×Ĺר×Ļ×Ŀ": 130387, + "Ġphá»§": 130388, + "ÙĤطع": 130389, + "ĠThá»§": 130390, + "à¸Ľà¸£à¸°à¹Ģà¸Ĺศà¹Ħà¸Ĺย": 130391, + "ÙĨÙĤ": 130392, + "ĠÄijoạn": 130393, + "Ġبإ": 130394, + "пÑĢедел": 130395, + "×ķת×ķ": 130396, + "Ġyarı": 130397, + "пÑĢе": 130398, + "ĠczÄĻÅĽci": 130399, + "ØŃÙĥÙħ": 130400, + "×ķ׳×Ļת": 130401, + "×¤×¢×ľ": 130402, + "ãĤĴãģĹãģ¦": 130403, + "Ġktórzy": 130404, + "׾×Ŀ": 130405, + "ĠÄIJiá»ģu": 130406, + "ĠкоÑĤоÑĢаÑı": 130407, + "ĠìĿ´ìĥģ": 130408, + "ãģĤãģ£ãģŁ": 130409, + "Ġ×ŀ×ĵ×ķ×ijר": 130410, + "פ×ķ×¢×ľ": 130411, + "dım": 130412, + "éĢļãĤĬ": 130413, + "ĠбÑĥдÑĥÑĤ": 130414, + "à¹Ģวà¹ĩà¸ļà¹Ħà¸ĭ": 130415, + "à¹Ģวà¹ĩà¸ļà¹Ħà¸ĭà¸ķà¹Į": 130416, + "اخر": 130417, + "×Ĺ×Ļ׾": 130418, + "Ġ×Ļ׾": 130419, + "Ġ×Ļ׾×ĵ×Ļ×Ŀ": 130420, + "×Ĺ×Ļפ": 130421, + "×Ĺ×Ļפ×ķש": 130422, + "Ġdòng": 130423, + "Ġש×ĸ×Ķ": 130424, + "ÑĮе": 130425, + "ãģĤãģ¨": 130426, + "ìŀIJê°Ģ": 130427, + "×IJ×ĵ": 130428, + "Ġüz": 130429, + "Ġüzere": 130430, + "ظÙĦ": 130431, + "Ġ×IJ×ķ׾×Ļ": 130432, + "Ġ×ij×Ļ×ķ×Ŀ": 130433, + "ÙĦات": 130434, + "Ġmê": 130435, + "침": 130436, + "تØŃد": 130437, + "تØŃدث": 130438, + "Ġخاصة": 130439, + "ĠبرÙĨ": 130440, + "ĠبرÙĨاÙħج": 130441, + "ĠHÃłn": 130442, + "×Ĺס": 130443, + "ĠÙĪÙĦÙħ": 130444, + "×¢×Ŀ": 130445, + "Ġmı": 130446, + "à¸Łà¸±à¸ĩ": 130447, + "שע×Ķ": 130448, + "ÙĪÙģÙĤ": 130449, + "ס×ij×Ļר": 130450, + "алÑĮнÑĭй": 130451, + "×Ĺש×ķ×ij": 130452, + "ĠnÃłng": 130453, + "ë³¼": 130454, + "ĠкоÑĤоÑĢÑĭÑħ": 130455, + "Ġ×Ĺ×ķ×§": 130456, + "tör": 130457, + "ĠлÑĥÑĩÑĪе": 130458, + "ãĥijãĥ³": 130459, + "ลà¹Īาสุà¸Ķ": 130460, + "ĠجدÙĬد": 130461, + "ÙĬدة": 130462, + "à¸Ĺรà¸ĩ": 130463, + "ãĤĪãĤĬãĤĤ": 130464, + "ÙĦÙĦ": 130465, + "ãĤĤãģ£ãģ¨": 130466, + "ש×ĺ×Ĺ": 130467, + "Ġ×ķ×IJ×Ļ": 130468, + "Ġgiá»ijng": 130469, + "إضاÙģ": 130470, + "קת": 130471, + "ë§Ŀ": 130472, + "ĠzostaÅĤ": 130473, + "ÑĢоз": 130474, + "×Ļפ×Ļ×Ŀ": 130475, + "Ġ׼׾׾": 130476, + "ת×ķ׼ף": 130477, + "dıģını": 130478, + "ÙĤسÙħ": 130479, + "ĠÑģÑĩиÑĤ": 130480, + "ĠÑģÑĩиÑĤа": 130481, + "×ĺ×ķת": 130482, + "Ġưu": 130483, + "ĠØ¢ÙĦ": 130484, + "Ġмом": 130485, + "ĠмоменÑĤ": 130486, + "ĠاÙĦتعÙĦÙĬÙħ": 130487, + "×¢×ľ×ķת": 130488, + "Ġchữa": 130489, + "Ġyön": 130490, + "ĠtrÃł": 130491, + "ĠØŃÙĬÙĨ": 130492, + "à¸ĭั": 130493, + "ĠCá": 130494, + "×¢×ĸ": 130495, + "ĠاÙĦØ£ÙħÙĨ": 130496, + "cÃŃ": 130497, + "Ġvá»ijn": 130498, + "Ġà¸Ļาย": 130499, + "обÑĢа": 130500, + "×§×IJ": 130501, + "Ġthiếu": 130502, + "ãĥŀãĥ¼": 130503, + "สวà¸Ļ": 130504, + "Ġgá»Ń": 130505, + "Ġgá»Ńi": 130506, + "Ġê¹": 130507, + "Ġê¹Ģ": 130508, + "Ġthiá»ĩn": 130509, + "ÙĤع": 130510, + "wÄĻ": 130511, + "Ġнам": 130512, + "ÑĤол": 130513, + "Ġsân": 130514, + "ס×ķ×Ĵ": 130515, + "Ġgeçir": 130516, + "ÑĤон": 130517, + "ева": 130518, + "ĠÙĪØ¶Ø¹": 130519, + "Ġعشر": 130520, + "Ñģло": 130521, + "à¸Īัà¸ļ": 130522, + "ãĤ·ãĥ¼": 130523, + "ãĤĤãģĤãĤĬãģ¾ãģĻ": 130524, + "Ġvẻ": 130525, + "ĠÄIJá»ĥ": 130526, + "رÙ쨹": 130527, + "ĠاÙĦØ£ÙĪÙĦÙī": 130528, + "ÑĤаÑĢ": 130529, + "ãģªãģıãģ¦": 130530, + "ÙħÙİ": 130531, + "quÃŃ": 130532, + "×¢×ł×Ļ×Ļ׳": 130533, + "ген": 130534, + "Ġhôm": 130535, + "à¸Īา": 130536, + "ĠnhỼ": 130537, + "ĠاÙĦعربÙĬ": 130538, + "×IJף": 130539, + "Ġlá»Ļ": 130540, + "ĠjeÅĽli": 130541, + "à¹Ģà¸Ĺà¹Īาà¸Ļัà¹īà¸Ļ": 130542, + "ĠØ£ÙĨÙĩا": 130543, + "Ġtuy": 130544, + "Ġtuyá»ĩt": 130545, + "Ġتص": 130546, + "ĠتصÙĨÙĬ": 130547, + "ĠتصÙĨÙĬÙģ": 130548, + "Ġê·¸ëŁ¬ëĤĺ": 130549, + "оÑĨен": 130550, + "à¸ģิà¸Īà¸ģรรม": 130551, + "ãĤĦãģ£ãģ¦": 130552, + "Ġkhá»ıi": 130553, + "Ġlá»ĩ": 130554, + "ĠاÙĦÙħجتÙħع": 130555, + "à¸Ńาà¸Īà¸Īะ": 130556, + "à¸Īะà¹Ģà¸Ľà¹ĩà¸Ļ": 130557, + "овÑĭй": 130558, + "ר×Ŀ": 130559, + "รà¹īà¸Ńà¸Ļ": 130560, + "ש×ŀש": 130561, + "人ãģ«": 130562, + "Ġüzerine": 130563, + "פר×Ļ": 130564, + "duÄŁu": 130565, + "Ñĩик": 130566, + "Ġmùa": 130567, + "Ġ×ŀת×ķ×ļ": 130568, + "ĠcáºŃp": 130569, + "ĠتارÙĬØ®": 130570, + "×ij×ľ×ª×Ļ": 130571, + "Ġì¢Ģ": 130572, + "ÙĦع": 130573, + "باÙĨ": 130574, + "Ġchút": 130575, + "Ġ×Ķ×ĸ×ŀף": 130576, + "née": 130577, + "ĠLiên": 130578, + "ĠÙĦÙĦØ£": 130579, + "ØŃدÙĪØ¯": 130580, + "Ġ×¢×Ľ×©×Ļ×ķ": 130581, + "воз": 130582, + "Ġyaptı": 130583, + "Ġобо": 130584, + "à¹ĥหà¹īà¸ģัà¸ļ": 130585, + "Ġ×ij×Ķ×Ŀ": 130586, + "ãģıãģ¦": 130587, + "رأس": 130588, + "ĠÑģÑĢедÑģÑĤв": 130589, + "ĠBÃłi": 130590, + "ãģĵãģ¨ãģ«": 130591, + "ĠìĤ¬íļĮ": 130592, + "Ġ모ëijIJ": 130593, + "×ij×IJ": 130594, + "Ġtrắng": 130595, + "ĠاÙĦبÙĦد": 130596, + "ĠHoÃłng": 130597, + "либо": 130598, + "ĠдÑĢÑĥгиÑħ": 130599, + "İR": 130600, + "Ñĥма": 130601, + "ĠJeÅĽli": 130602, + "ãĤĤãģĹ": 130603, + "Ġvòng": 130604, + "Ġ×IJתר×Ļ×Ŀ": 130605, + "ĠÄijá»įc": 130606, + "ĠвоÑĤ": 130607, + "ãģłãģĮ": 130608, + "ë°°": 130609, + "à¸Ķูà¹ģล": 130610, + "Ġ×ŀ׼׾": 130611, + "ìĹIJëıĦ": 130612, + "газ": 130613, + "Ġ׳×ķספ×Ļ×Ŀ": 130614, + "ãģĵãģ¨ãģ§": 130615, + "ĠتÙĪ": 130616, + "ãģ§ãģĤãĤĬ": 130617, + "à¸Ļัà¹Īà¸ĩ": 130618, + "ĠможеÑĤе": 130619, + "szÄĻ": 130620, + "ãģ®ãģł": 130621, + "ĠÙħÙĨÙĩ": 130622, + "Ġbá»ķ": 130623, + "Ġbüt": 130624, + "Ġbütün": 130625, + "ë³´ê³ł": 130626, + "Ġchá»ĵng": 130627, + "à¹ģà¸Īà¹īà¸ĩ": 130628, + "ĠVì": 130629, + "ĠØŃر": 130630, + "Ġgiản": 130631, + "ĠÙħدÙĬÙĨØ©": 130632, + "تطبÙĬÙĤ": 130633, + "à¸Īิ": 130634, + "æĹ¥ãģ®": 130635, + "бил": 130636, + "à¸ģà¸Ńà¸ĩ": 130637, + "ê³³": 130638, + "ĠØ£Ùħا": 130639, + "ìĨIJ": 130640, + "Ġtrái": 130641, + "ĠвÑģем": 130642, + "ĠسÙĨØ©": 130643, + "ĠÑģайÑĤ": 130644, + "ĠгоÑĤов": 130645, + "пÑĭ": 130646, + "ĠëIJł": 130647, + "ĠاÙĦخط": 130648, + "ĠاÙĦرئÙĬسÙĬØ©": 130649, + "Ġíķ©ëĭĪëĭ¤": 130650, + "ĠìķĦëĭĪëĿ¼": 130651, + "ĠìĿ´ëłĩ": 130652, + "ĠìĿ´ëłĩê²Į": 130653, + ")ØĮ": 130654, + "hält": 130655, + "ĠØ£Ùħر": 130656, + "ĠعÙħر": 130657, + "à¸ģà¹ĩà¸Īะ": 130658, + "Ġà¸Ĺำà¹ĥหà¹ī": 130659, + "Ġcân": 130660, + "Ġ×ij׾": 130661, + "Ġ×ij׾×ij×ĵ": 130662, + "פסק": 130663, + "ĠÙĬÙĤÙĪÙĦ": 130664, + "нÑĥÑĤÑĮ": 130665, + "à¹ģà¸Ħ": 130666, + "Ġקצת": 130667, + "Ġnằm": 130668, + "Ġhòa": 130669, + "bilitÃł": 130670, + "ĠìĹĨëĭ¤": 130671, + "Ġ׼פ×Ļ": 130672, + "ÑĢож": 130673, + "лага": 130674, + "Ġ×Ķש×Ļ": 130675, + "ĠNgoÃłi": 130676, + "ĠÙĪØ¬": 130677, + "ĠÙĪØ¬ÙĪØ¯": 130678, + "ĠìľĦíķľ": 130679, + "ĠusÅĤug": 130680, + "Ġtuần": 130681, + "dź": 130682, + "×ŀ×ķף": 130683, + "ĠاÙĦعدÙĬد": 130684, + "Ġchẳng": 130685, + "สุà¸Ĥà¸łà¸²à¸ŀ": 130686, + "Ġ×ij×ĵר×ļ": 130687, + "ĠÑģебе": 130688, + "ĠìŀĪìĿĦ": 130689, + "ĠاÙĦØŃاÙĦ": 130690, + "Ġdá": 130691, + "Ġcưá»Ŀi": 130692, + "Ġnghiên": 130693, + "ieÅĦ": 130694, + "ĠDương": 130695, + "ï¼ħ": 130696, + "شد": 130697, + "ãģĦãģ¤ãĤĤ": 130698, + "ĠвÑĭбоÑĢ": 130699, + "Ġcá»Ļng": 130700, + "ש×Ļ׳×ķ×Ļ": 130701, + "Ġchạy": 130702, + "Ġ×ij×¢×ľ×Ļ": 130703, + "اخبار": 130704, + "íķĺë©°": 130705, + "żÄħ": 130706, + "جاز": 130707, + "Ġ׳ר×IJ×Ķ": 130708, + "ศู": 130709, + "ศูà¸Ļ": 130710, + "ศูà¸Ļยà¹Į": 130711, + "×Ĵ×¢": 130712, + "Ġ×¢×ĵ×Ļ": 130713, + "Ġ×¢×ĵ×Ļ×Ļף": 130714, + "برا": 130715, + "ÑĨий": 130716, + "ĠÄIJá»ĵng": 130717, + "ÙĤاÙĨÙĪÙĨ": 130718, + "ĠÄijứng": 130719, + "ãģĹãģŁãĤĬ": 130720, + "Ġ×Ĺ×Ļ×Ļ": 130721, + "ĠëIJľ": 130722, + "ĠëIJľëĭ¤": 130723, + "ĠмеждÑĥ": 130724, + "à¸ŀวà¸ģà¹Ģà¸Ĥา": 130725, + "ĠBắc": 130726, + "ลำ": 130727, + "ë°±": 130728, + "ĠíĻķ": 130729, + "มาà¸ģม": 130730, + "มาà¸ģมาย": 130731, + "банк": 130732, + "à¸Ńาà¸ģาร": 130733, + "ĠhÃł": 130734, + "Ġ׾׳": 130735, + "à¸Ńà¸Ń": 130736, + "Ġë°Ķë¡ľ": 130737, + "лом": 130738, + "mática": 130739, + "ĠØŃد": 130740, + "ابت": 130741, + "à¸Ĺีà¹Īà¸Ļีà¹Ī": 130742, + "ĠcoÅĽ": 130743, + "ÙģÙĬدÙĬ": 130744, + "ÙģÙĬدÙĬÙĪ": 130745, + "ĠмеÑģÑĤо": 130746, + "Ġphút": 130747, + "มาà¸ģà¸ģวà¹Īา": 130748, + "×IJפ": 130749, + "بÙIJ": 130750, + "ĠPhú": 130751, + "ì±Ħ": 130752, + "ĠÙĪØ³ÙĦÙħ": 130753, + "à¸Īีà¸Ļ": 130754, + "поÑĤÑĢеб": 130755, + "Ġ×Ĺ×ĵש×ķת": 130756, + "Ø´ÙĪ": 130757, + "Ġעצ×ŀ×ķ": 130758, + "ĠعÙħÙĦÙĬØ©": 130759, + "à¸Ħุà¸ĵà¸łà¸²à¸ŀ": 130760, + "ãģ¾ãģĻãģĮ": 130761, + "دعÙĪ": 130762, + "طرÙĤ": 130763, + "à¹Ħมà¹Īà¸ķà¹īà¸Ńà¸ĩ": 130764, + "ë²Ķ": 130765, + "ìĬ¹": 130766, + "ĠkÃŃch": 130767, + "ĠìĹĨëĬĶ": 130768, + "ĠÑĤам": 130769, + "ĠÙĨØŃÙĪ": 130770, + "ĠاÙĦÙĤاÙĨÙĪÙĨ": 130771, + "×Ĺ×ķ×Ŀ": 130772, + "Ġkız": 130773, + "Ġ×ĵ×Ļף": 130774, + "ĠвÑĢемени": 130775, + "ãģ£ãģŁãĤĬ": 130776, + "ĠØ´Ùĩر": 130777, + "ĠìĦľë¹ĦìĬ¤": 130778, + "עש×Ķ": 130779, + "Ġgiác": 130780, + "ĠاÙĦسÙĦاÙħ": 130781, + "Ġ×IJש": 130782, + "ĠполÑĥÑĩа": 130783, + "à¸Īัà¸Ķà¸ģาร": 130784, + "коÑĢ": 130785, + "Ġ×Ķ×ĺ×ķ×ij": 130786, + "รายà¸ģาร": 130787, + "주ìĿĺ": 130788, + "à¹ģà¸ķà¹Īละ": 130789, + "Ġê·¸ëŁ°ëį°": 130790, + "à¸Ĺีà¹Īà¹Ģà¸Ľà¹ĩà¸Ļ": 130791, + "Ġת×ķ×ļ": 130792, + "بÙĬاÙĨ": 130793, + "ÐĻ": 130794, + "oÅĽciÄħ": 130795, + "ÑĤок": 130796, + "ĠÃĶ": 130797, + "ĠÃĶng": 130798, + "à¹Ħมà¹Īà¹ĥà¸Ĭà¹Ī": 130799, + "ãģ¿ãģ¦": 130800, + "ÐŁÐ¾": 130801, + "ĠЧÑĤо": 130802, + "íĻ©": 130803, + "×ĺ×ij×¢": 130804, + "меÑĤÑĢ": 130805, + "Ġ×ij×ŀ×Ķ": 130806, + "Ġ×ij×ŀ×Ķ׾": 130807, + "Ġ×ij×ŀ×Ķ׾×ļ": 130808, + "ÑĩÑĮ": 130809, + "קש×Ķ": 130810, + "знак": 130811, + "знаком": 130812, + "ujÄĻ": 130813, + "×Ļצר": 130814, + "ĠاÙĦÙħÙĦÙĥ": 130815, + "ıyla": 130816, + "×IJ×ŀת": 130817, + "à¸Ľà¸´à¸Ķ": 130818, + "×IJ×Ĺ×ĵ": 130819, + "راد": 130820, + "ĠmáºŃt": 130821, + "ëĭ¤ëĬĶ": 130822, + "Ġlạnh": 130823, + "ש׾×ķש": 130824, + "ØŃدÙĬØ«": 130825, + "تز": 130826, + "å¹´ãģ®": 130827, + "ĠкваÑĢ": 130828, + "ĠкваÑĢÑĤиÑĢ": 130829, + "ä½ľãĤĬ": 130830, + "رÙĪØ¨": 130831, + "ован": 130832, + "ĠТе": 130833, + "à¸Īำà¸ģ": 130834, + "à¸Īำà¸ģัà¸Ķ": 130835, + "باط": 130836, + "×Ĵת": 130837, + "ĠмаÑĪ": 130838, + "ĠмаÑĪин": 130839, + "×Ļצ×Ķ": 130840, + "ãģ»ãģ¨": 130841, + "ãģ»ãģ¨ãĤĵãģ©": 130842, + "ÃŃdo": 130843, + "ĠÑıзÑĭк": 130844, + "à¸ļิà¸Ļ": 130845, + "สà¸ĸาà¸Ļà¸Ĺีà¹Ī": 130846, + "ĠìĹ´": 130847, + "ãĤ¦ãĤ§": 130848, + "ĠcÃł": 130849, + "пан": 130850, + "åı£ãĤ³ãĥŁ": 130851, + "Ġرد": 130852, + "اÙĤت": 130853, + "ĠÙĥب": 130854, + "ĠÙĥبÙĬرة": 130855, + "ÑģÑĤал": 130856, + "ש×ŀ×Ĺ": 130857, + "posición": 130858, + "ĠÙħÙĦÙĬÙĪÙĨ": 130859, + "ĠìĿ´ìķ¼": 130860, + "ĠìĿ´ìķ¼ê¸°": 130861, + "Ġhút": 130862, + "ĠÅĽwiat": 130863, + "Ġë°©ë²ķ": 130864, + "ĠÑģвеÑĤ": 130865, + "Ġвидео": 130866, + "ĠاÙĦÙĨظاÙħ": 130867, + "Ġtrá»Ŀi": 130868, + "ĠëĮĢíķ´ìĦľ": 130869, + "ר×ŀת": 130870, + "تداÙĪÙĦ": 130871, + "×ķר×ĵ": 130872, + "ת×ŀ": 130873, + "ת×ŀ×ķ׳×ķת": 130874, + "Ġ×ŀף": 130875, + "Ġдва": 130876, + "Ġ×Ķ×§×ķ": 130877, + "æĹ¥ãģ«": 130878, + "Ġ×Ķ×Ĵ×Ļ×¢": 130879, + "à¹Ģà¸ŀิà¹Īมà¹Ģà¸ķิม": 130880, + "Ùħارس": 130881, + "Ġê²ĥìŀħëĭĪëĭ¤": 130882, + "ãģªãģĦãģ¨": 130883, + "Ġnhiá»ĩt": 130884, + "ëIJ©ëĭĪëĭ¤": 130885, + "Ġ×ij׳×ķש×IJ": 130886, + "Ġê°Ģìŀ¥": 130887, + "Ġvợ": 130888, + "ĠÄijóng": 130889, + "צ×Ļ׾×ķ×Ŀ": 130890, + "ê´Ģê³Ħ": 130891, + "ваÑı": 130892, + "×IJ×Ļ×ĸ": 130893, + "×IJ×Ļ×ĸ×Ķ": 130894, + "ĠÙĨظاÙħ": 130895, + "ÙħØŃاÙ쨏": 130896, + "Ġtải": 130897, + "기ëıĦ": 130898, + "à¸Ľà¸±à¸Īà¸Īุ": 130899, + "à¸Ľà¸±à¸Īà¸Īุà¸ļัà¸Ļ": 130900, + "׼×ĵ×ķר": 130901, + "ĠìķĦìĿ´": 130902, + "׼׳×Ļס": 130903, + "à¹Ģà¸ķร": 130904, + "à¹Ģà¸ķรียม": 130905, + "Ġngoại": 130906, + "ĠدÙĪÙĦار": 130907, + "Ġrẻ": 130908, + "ĠkhÄĥn": 130909, + "عدد": 130910, + "شعب": 130911, + "czyÄĩ": 130912, + "ĠاÙĦÙĥر": 130913, + "ĠÑĩеловека": 130914, + "ĠÙĪØ¥ÙĨ": 130915, + "×IJ×ĺ": 130916, + "ĠthÆ¡": 130917, + "ĠاÙĦرÙĬاض": 130918, + "опÑĢедел": 130919, + "опÑĢеделен": 130920, + "×Ķ×ŀש×ļ": 130921, + "ĠÐĿово": 130922, + "зÑĭва": 130923, + "ĠاÙĦدÙĪÙĦÙĬ": 130924, + "ĠÄijáp": 130925, + "ĠкÑĢед": 130926, + "ĠкÑĢедиÑĤ": 130927, + "ового": 130928, + "Ġmôn": 130929, + "à¸Ľà¸£à¸°à¹Ĥย": 130930, + "à¸Ľà¸£à¸°à¹Ĥยà¸Ĭà¸Ļ": 130931, + "à¸Ľà¸£à¸°à¹Ĥยà¸Ĭà¸Ļà¹Į": 130932, + "ÑģÑĤе": 130933, + "ĠThá»ĭ": 130934, + "دÙĬØ©": 130935, + "×ŀצ×ķ": 130936, + "ÙģØ§Øª": 130937, + "×§×ĵ×Ŀ": 130938, + "ìĿ´ëĿ¼ê³ł": 130939, + "ÙĪØ®": 130940, + "Ġ×Ĺ×ĸ": 130941, + "ĠÑĦоÑĤо": 130942, + "׾×Ļת": 130943, + "تÙİ": 130944, + "ÙĪØ¨Ø±": 130945, + "йÑĤи": 130946, + "ĠÃ¶ÄŁren": 130947, + "Ġ×Ķ×ĸ×ķ": 130948, + "Ġvá»įng": 130949, + "ÙĤÙĪØ©": 130950, + "ĠTây": 130951, + "ĠÐĿи": 130952, + "Ġש×ķ×ij": 130953, + "ãģ¨è¨ĢãĤıãĤĮ": 130954, + "ãģ©ãĤĵãģª": 130955, + "×Ĺצ×Ļ": 130956, + "ï½ľ": 130957, + "Ġ×ķ×Ķ×ķ×IJ": 130958, + "ä¸Ģãģ¤": 130959, + "ĠÑģÑĤоиÑĤ": 130960, + "niÄħ": 130961, + "×ĺר×Ļ": 130962, + "ĠдеÑĤей": 130963, + "нÑıÑĤÑĮ": 130964, + "ĠÑģделаÑĤÑĮ": 130965, + "Ġë§İìĿ´": 130966, + "ä½ķãģĭ": 130967, + "ãģĽãĤĭ": 130968, + "à¹Ħหม": 130969, + "à¸ķิà¸Ķà¸ķà¹Īà¸Ń": 130970, + "Ġ×ijת×Ĺ": 130971, + "Ġ×ijת×Ĺ×ķ×Ŀ": 130972, + "ìĻĦ": 130973, + "ì§ĢëĬĶ": 130974, + "ÑģÑĤаÑĤ": 130975, + "ÑıÑģн": 130976, + "üb": 130977, + "Ġthả": 130978, + "Ġ×ij×IJ×ŀת": 130979, + "Ġtuyến": 130980, + "×ĵ×Ļר×Ķ": 130981, + "Ġ×IJ×Ļש×Ļ": 130982, + "×ĸ׼ר": 130983, + "ãģ°ãģĭãĤĬ": 130984, + "Ġxét": 130985, + "׼×Ļ×ķ": 130986, + "׼×Ļ×ķ×ķף": 130987, + "diÄŁini": 130988, + "ĠاÙĦÙħÙĪØ¶ÙĪØ¹": 130989, + "ĠháºŃu": 130990, + "à¸Īาà¸ģà¸ģาร": 130991, + "×ijס×Ļס": 130992, + "Ġ×ŀ×Ĵ×Ļ×¢": 130993, + "×ij×Ļ×¢": 130994, + "ĠÙĪØ¬Ùĩ": 130995, + "à¹ģà¸Ķà¸ĩ": 130996, + "à¸Ļาà¸ĩ": 130997, + "ĠÅŀa": 130998, + "ì¡´": 130999, + "ë¡Ģ": 131000, + "à¸ķะ": 131001, + "Ġ×Ķ×Ĺ×Ļ×Ļ×Ŀ": 131002, + "ÙģÙĬد": 131003, + "ãģ§ãģĻãģĭãĤī": 131004, + "ê·ľ": 131005, + "źni": 131006, + "ĠлÑİдей": 131007, + "Ġyüzde": 131008, + "ıyorum": 131009, + "ĠاÙĦبØŃر": 131010, + "eño": 131011, + "паÑĢ": 131012, + "ÙĬÙĤØ©": 131013, + "обÑĢ": 131014, + "ר×ķ×ļ": 131015, + "تÙĪÙĤع": 131016, + "ĠاÙĦØ´ÙĬØ®": 131017, + "åĪĿãĤģãģ¦": 131018, + "ĠÑĤелеÑĦ": 131019, + "ĠÑĤелеÑĦон": 131020, + "Ġthôi": 131021, + "Ġ×Ļ׼×ķ׾×Ļ×Ŀ": 131022, + "ĠÅŁirk": 131023, + "ĠÅŁirket": 131024, + "Ġìļ°ë¦¬ê°Ģ": 131025, + "ĠÄijông": 131026, + "Ġת×ķ×ĵ×Ķ": 131027, + "ÑģмоÑĤÑĢеÑĤÑĮ": 131028, + "ĠÙĦÙĩÙħ": 131029, + "Ġ׾׼": 131030, + "ĠNó": 131031, + "ĠØŃاÙĦØ©": 131032, + "ãģĦãģij": 131033, + "קר×ķ": 131034, + "azı": 131035, + "ãĤ³ãĥ¼": 131036, + "ĠÙĦÙĦت": 131037, + "sınız": 131038, + "ĠHải": 131039, + "기ìĪł": 131040, + "ยัà¸ĩà¹Ħมà¹Ī": 131041, + "ëĭ¤ê³ł": 131042, + "פ×Ĺ": 131043, + "Ġ׾×Ĵ×ij×Ļ": 131044, + "ĠعÙĨÙĩ": 131045, + "Ġказ": 131046, + "Ġказино": 131047, + "بÙĪØ±": 131048, + "ÑĦеÑĢ": 131049, + "Ġê°ĻìĿ´": 131050, + "تسجÙĬÙĦ": 131051, + "ĠاÙĦÙħرÙĥز": 131052, + "ĠThái": 131053, + "даÑĤÑĮ": 131054, + "×ŀ×Ļ×Ļ׾": 131055, + "ĠpaylaÅŁ": 131056, + "ãģ¤ãģ®": 131057, + "à¹Ģรืà¸Ń": 131058, + "nça": 131059, + "׳×ķ×Ĺ": 131060, + "Ġ×IJפ×Ļ׾×ķ": 131061, + "ãģ¨èĢĥãģĪ": 131062, + "ãģ¨ãģĹãģ¦ãģ¯": 131063, + "à¹Ģà¸Īà¸Ń": 131064, + "×ŀפ": 131065, + "ĠgiriÅŁ": 131066, + "лиÑĤ": 131067, + "ÑĤелÑı": 131068, + "Ñijн": 131069, + "æ°Ĺãģ«": 131070, + "Ġgó": 131071, + "Ġgóp": 131072, + "åĪĩãĤĬ": 131073, + "Ġ×Ķ×Ĺ×ĵש": 131074, + "жал": 131075, + "Ġ×ĵעת": 131076, + "éģķãģĨ": 131077, + "à¹Ģà¸Ĥà¹īาà¹Ħà¸Ľ": 131078, + "Ġסר×ĺ": 131079, + "eña": 131080, + "æĸ°ãģĹãģĦ": 131081, + "رÙİ": 131082, + "ĠÐIJÑĢ": 131083, + "Ġphản": 131084, + "à¸Īะà¹Ħà¸Ķà¹ī": 131085, + "Ġ×ijצ×ķר×Ķ": 131086, + "شاÙĩ": 131087, + "شاÙĩد": 131088, + "ÙĪØ±Ø¯": 131089, + "à¹Ģà¸Ļืà¹Īà¸Ńà¸ĩà¸Īาà¸ģ": 131090, + "илиÑģÑĮ": 131091, + "à¹ģละà¸ģาร": 131092, + "Ġ×Ķ×ĸ׼": 131093, + "Ġ×Ķ×ĸ׼×ķ×Ļ×ķת": 131094, + "eiÃŁ": 131095, + "ãĥ¨": 131096, + "ìĥĪ": 131097, + "ĠÃĩa": 131098, + "Ư": 131099, + "ש×Ĵ": 131100, + "ÙĬÙĨØ©": 131101, + "รà¹īà¸Ńà¸ĩ": 131102, + "ãĤµãĥ³": 131103, + "ÑĢоÑģÑģий": 131104, + "ÑĢоÑģÑģийÑģк": 131105, + "aÄŁa": 131106, + "ĠнаÑĩина": 131107, + "ĠصÙĦÙī": 131108, + "à¸Ĺุà¸ģà¸Ħà¸Ļ": 131109, + "íļĮìĤ¬": 131110, + "ĠлиÑĨ": 131111, + "Ø´ÙĬر": 131112, + "ĠØ´ÙĬØ¡": 131113, + "ÙĬÙĨا": 131114, + "Ġפ×Ĺ×ķת": 131115, + "Ġiçeris": 131116, + "Ġiçerisinde": 131117, + "ĠØ£ØŃÙħد": 131118, + "Ġżeby": 131119, + "ì´Ŀ": 131120, + "Ġпоказ": 131121, + "Ġименно": 131122, + "หà¸Ļัà¸ĩส": 131123, + "หà¸Ļัà¸ĩสืà¸Ń": 131124, + "ĠÑĤÑĢе": 131125, + "สัà¸ĩà¸Ħม": 131126, + "Ø¥ÙIJ": 131127, + "ãģĮå¿ħè¦ģ": 131128, + "ÙĬÙijØ©": 131129, + "פצ": 131130, + "íĭ°": 131131, + "ĠÙħجاÙĦ": 131132, + "׳פש": 131133, + "кан": 131134, + "×Ĺ×ķפ": 131135, + "×Ĺ×ķפש": 131136, + "ì²ĺëŁ¼": 131137, + "оваÑı": 131138, + "зов": 131139, + "Ġhạ": 131140, + "ĠdziÄĻki": 131141, + "×Ļר×ķ": 131142, + "Ġ׾×ŀצ": 131143, + "Ġ׾×ŀצ×ķ×IJ": 131144, + "×Ļ×ĵ×ķ": 131145, + "Ġsợ": 131146, + "Ġ׾×Ķ×Ĵ×Ļ×¢": 131147, + "×§×ij×¢": 131148, + "Ġchiá»ģu": 131149, + "ãĥŀãĤ¤": 131150, + "ĠdÃłng": 131151, + "à¹ģà¸Łà¸Ļ": 131152, + "Ġüye": 131153, + "×Ļ׳×Ĵ": 131154, + "à¹Ģรียà¸ģ": 131155, + "ç§ģãģĮ": 131156, + "thé": 131157, + "ĠÑĦилÑĮ": 131158, + "ĠÑĦилÑĮм": 131159, + "ĠNgÃły": 131160, + "Ġжен": 131161, + "ĠженÑīин": 131162, + "جÙĬد": 131163, + "nç": 131164, + "à¸Ľà¸£à¸²": 131165, + "×Ļ×ŀ×ķ": 131166, + "Ġná»ģn": 131167, + "×IJ×ķ׾×Ŀ": 131168, + "ĠвозможноÑģÑĤÑĮ": 131169, + "Ġëĭ¤ìĭľ": 131170, + "è¦ĭãģŁ": 131171, + "à¸ĸà¸Ļ": 131172, + "à¸ĸà¸Ļà¸Ļ": 131173, + "mızı": 131174, + "ĠÙħجÙħÙĪØ¹Ø©": 131175, + "cjÄħ": 131176, + "ĠÐłÐ¤": 131177, + "à¸ģำหà¸Ļ": 131178, + "à¸ģำหà¸Ļà¸Ķ": 131179, + "ĠìĹ¬ê¸°": 131180, + "landı": 131181, + "ниÑĨ": 131182, + "ÑģÑĤве": 131183, + "Ġ×ĵ×ijר×Ļ×Ŀ": 131184, + "ĠskÅĤad": 131185, + "ãĤĬãģ¾ãģĹãģŁ": 131186, + "ĠоÑĤкÑĢÑĭÑĤ": 131187, + "нÑıÑĤ": 131188, + "ĠÑģвоей": 131189, + "à¸Īิà¸ķ": 131190, + "ĠкаÑĩеÑģÑĤве": 131191, + "ĠettiÄŁi": 131192, + "ìĤ¬íķŃ": 131193, + "ĠاÙĦÙĬÙħÙĨ": 131194, + "иÑĩеÑģкий": 131195, + "ë¸Į": 131196, + "Ġ×ij×IJרץ": 131197, + "ĠاسÙħ": 131198, + "ĠизвеÑģÑĤ": 131199, + "rão": 131200, + "ĠattivitÃł": 131201, + "à¹Ģà¸Ľà¹ĩà¸Ļà¸ģาร": 131202, + "ĠاÙĦدÙĥت": 131203, + "ĠاÙĦدÙĥتÙĪØ±": 131204, + "ĠÙĪØ§ØŃدة": 131205, + "ĠÑģÑĩеÑĤ": 131206, + "ĠпÑĢиÑĩ": 131207, + "ĠпÑĢиÑĩин": 131208, + "ĠÙĪØ²Ø§Ø±Ø©": 131209, + "Ġhuyá»ĩn": 131210, + "ĠÙĥتاب": 131211, + "à¹ģà¸Ļà¹Īà¸Ļ": 131212, + "à¹ģà¸Ļà¹Īà¸Ļà¸Ńà¸Ļ": 131213, + "Ġgünü": 131214, + "гÑĢÑĥз": 131215, + "ĠاÙĦخاص": 131216, + "Ġgörül": 131217, + "׾×ŀ×ĵ": 131218, + "ĠìłķëıĦ": 131219, + "×ķ×ij×Ļ׾": 131220, + "Ġ×ŀקצ×ķ×¢×Ļ": 131221, + "ĠоÑģобенно": 131222, + "à¸Ľà¸£à¸°à¸ģา": 131223, + "à¸Ľà¸£à¸°à¸ģาศ": 131224, + "acaģını": 131225, + "ë¶ģ": 131226, + "à¸łà¸¹à¸¡à¸´": 131227, + "ĠÑįлекÑĤ": 131228, + "ĠÑįлекÑĤÑĢо": 131229, + "Ġקש×Ķ": 131230, + "سÙĦØ·": 131231, + "à¸Ĭà¸Ļะ": 131232, + "×¢×Ļ׾": 131233, + "ĠЧе": 131234, + "à¹ģà¸Ļà¹Ī": 131235, + "lıģ": 131236, + "lıģın": 131237, + "Ġ×ŀ×¢×¨×Ľ×ª": 131238, + "好ãģįãģª": 131239, + "มาà¸ģà¸Ĥึà¹īà¸Ļ": 131240, + "×ŀ×¢×ijר": 131241, + "ĠاÙĦÙħغرب": 131242, + "ĠпеÑĢи": 131243, + "ĠпеÑĢиод": 131244, + "Ġnhạc": 131245, + "اÙĪÙĬ": 131246, + "ĠÙĪØ¹ÙĦÙī": 131247, + "أخذ": 131248, + "ĠCô": 131249, + "תר×ij×ķת": 131250, + "×Ĵ×Ķ": 131251, + "Ġktórej": 131252, + "×IJ×Ļת": 131253, + "×ij×ķ×IJ": 131254, + "делÑĮ": 131255, + "รีวิ": 131256, + "รีวิว": 131257, + "жÑĥ": 131258, + "Ġ×ij×Ĺ×ķ": 131259, + "еÑĪÑĮ": 131260, + "ĠØ£ÙĦÙģ": 131261, + "ĠاÙĦÙĪØ·ÙĨÙĬ": 131262, + "ĠاÙĦÙħÙĨØ·ÙĤØ©": 131263, + "nÄħÄĩ": 131264, + "Ġthiên": 131265, + "иÑĩеÑģкой": 131266, + "ĠاÙĦÙħÙĦ": 131267, + "ĠعÙħ": 131268, + "ספר": 131269, + "Ġnhóm": 131270, + "ÙĪØµÙģ": 131271, + "ĠChúng": 131272, + "ĠرÙĤÙħ": 131273, + "ãģ¾ãģĹãģŁãģĮ": 131274, + "alité": 131275, + "ลม": 131276, + "ĠëĤ´ê°Ģ": 131277, + "׾ק×ķ×Ĺ": 131278, + "ĠSÆ¡n": 131279, + "posição": 131280, + "miÄĻ": 131281, + "Ġtránh": 131282, + "ĠÄIJá»Ļ": 131283, + "׼×Ĺ": 131284, + "ãģĤãģ£ãģ¦": 131285, + "à¸Ńยà¹Īา": 131286, + "Ġ×ŀ×Ĺ×Ļר": 131287, + "Ġ×Ķ×Ļת×Ķ": 131288, + "à¸Ľà¹Īา": 131289, + "à¸Ńืà¹Īà¸Ļà¹Ĩ": 131290, + "Ø´ÙĤ": 131291, + "×ł×¡×Ļ": 131292, + "림": 131293, + "ãģ¦ãģĹãģ¾ãģĨ": 131294, + "Ġ×ŀצ×ij": 131295, + "ãģ«åĩº": 131296, + "ÙħÙĪØ§Ø·ÙĨ": 131297, + "ยัà¸ĩมี": 131298, + "алÑĮнÑĭе": 131299, + "sanız": 131300, + "إسرائÙĬÙĦ": 131301, + "ĠvÃłi": 131302, + "ì¤Ħ": 131303, + "ã썿ĢĿãģ£ãģ¦": 131304, + "×Ļ×ķ׳×Ļ": 131305, + "çĶŁãģį": 131306, + "Ġsâu": 131307, + "ÑĩиÑģÑĤ": 131308, + "Ġlá»ħ": 131309, + "ĠGiá": 131310, + "à¸Ńà¸¸à¸Ľ": 131311, + "à¸Ńà¸¸à¸Ľà¸ģร": 131312, + "à¸Ńà¸¸à¸Ľà¸ģรà¸ĵà¹Į": 131313, + "Ġnhẹ": 131314, + "rö": 131315, + "ס×ĺ×Ļ": 131316, + "ãģķãĤĵãģĮ": 131317, + "Ġdầu": 131318, + "عÙİ": 131319, + "ترا": 131320, + "×Ĵ×ĵ׾": 131321, + "Ġtécnica": 131322, + "׼׳×Ļ×Ŀ": 131323, + "תקש": 131324, + "תקש×ķרת": 131325, + "Ġнего": 131326, + "était": 131327, + "Ġmá»ģm": 131328, + "ÑģеÑĤ": 131329, + "ĠnháºŃt": 131330, + "Ġ×ŀ×¢×ľ": 131331, + "Ġ×Ķ×¢×ij×ķ×ĵ": 131332, + "Ġ×Ķ×¢×ij×ķ×ĵ×Ķ": 131333, + "Ġ×Ĵ×Ļ׾": 131334, + "ãģ¯ãģªãģĦ": 131335, + "ائØŃ": 131336, + "ĠздеÑģÑĮ": 131337, + "×IJ×Ļ׳×ĺר": 131338, + "ÙħÙIJ": 131339, + "Ġ×Ļ×Ĺ×ĵ": 131340, + "راÙģ": 131341, + "ì²ĺ리": 131342, + "×ĵ×¢×ķת": 131343, + "ì¹ľ": 131344, + "ĠТо": 131345, + "ĠThế": 131346, + "ì¶©": 131347, + "Ġ׳׼×ķף": 131348, + "عÙĬØ´": 131349, + "низ": 131350, + "ĠجاÙĨب": 131351, + "×ŀקצ×ķ×¢": 131352, + "à¹Ĥà¸ĭ": 131353, + "ÑģÑĥÑĤ": 131354, + "ìĸ´ìļĶ": 131355, + "ãĤĴè¦ĭãģ¦": 131356, + "ارد": 131357, + "Ġaçıl": 131358, + "ĠاÙĦØŃÙĬاة": 131359, + "à¸ģà¹ĩà¹Ħà¸Ķà¹ī": 131360, + "ãģĿãĤĮãĤĴ": 131361, + "عضÙĪ": 131362, + "ĠгÑĢаж": 131363, + "ĠгÑĢаждан": 131364, + "à¸Īะà¸ķà¹īà¸Ńà¸ĩ": 131365, + "ĠìĿ´ë٬": 131366, + "ĠìĿ´ë٬íķľ": 131367, + "Ġtrách": 131368, + "ÙĨÙİ": 131369, + "Ġkısa": 131370, + "ÃĶ": 131371, + "ÑĪка": 131372, + "ãģ®äºº": 131373, + "ĠÐŁÐ¾Ñģ": 131374, + "ĠÐŁÐ¾Ñģле": 131375, + "ÑĥлÑĮ": 131376, + "ÙĪØ§Ø¬Ùĩ": 131377, + "ÙĤرب": 131378, + "à¸Ľà¸ıิà¸ļัà¸ķิ": 131379, + "ê°Ļ": 131380, + "Ġ×ŀ׳": 131381, + "ĠÑģвои": 131382, + "براÙħج": 131383, + "ĠرÙĪ": 131384, + "пÑĢод": 131385, + "пÑĢодаж": 131386, + "ĠbyÅĤy": 131387, + "วัย": 131388, + "Ġgörün": 131389, + "ĠÃĪ": 131390, + "ÑİÑīим": 131391, + "ĠÑĤакой": 131392, + "ÙģÙĪØ±": 131393, + "ĠÙ쨹ÙĦ": 131394, + "Ġбел": 131395, + "ëIJł": 131396, + "erÃŃa": 131397, + "ĠÑģвоÑİ": 131398, + "Ġlã": 131399, + "Ġlãnh": 131400, + "à¹Ģà¸ŀืà¹Īà¸Ńà¹ĥหà¹ī": 131401, + "ÙĤÙĨ": 131402, + "تطÙĪÙĬر": 131403, + "Ġsayı": 131404, + "ĠÑģейÑĩаÑģ": 131405, + "Ġ×IJ×Ĺרת": 131406, + "×§×ķפ×Ķ": 131407, + "×§×ķרס": 131408, + "ĠسÙħ": 131409, + "Ġ×ĺ×Ļפ×ķ׾": 131410, + "ìĿ´ëĿ¼ëĬĶ": 131411, + "دراسة": 131412, + "èµ·ãģĵ": 131413, + "×Ĺ×Ļ׳": 131414, + "×Ĺ×Ļ׳×ķ×ļ": 131415, + "×ĵ×§": 131416, + "Ġë§ŀ": 131417, + "Ġкоманд": 131418, + "ĠÐijо": 131419, + "ĠигÑĢÑĭ": 131420, + "à¸ļี": 131421, + "ĠØ£Ùİ": 131422, + "вен": 131423, + "ĠاÙĦجدÙĬد": 131424, + "ĠÙĦØ¥": 131425, + "Ġ×ķ×IJ׳×Ļ": 131426, + "Ġ×Ķס×Ļ": 131427, + "иÑĩеÑģкого": 131428, + "رÙĪØŃ": 131429, + "à¸ģารศึà¸ģษา": 131430, + "ĠTrưá»Ŀng": 131431, + "игÑĢа": 131432, + "ılması": 131433, + "ĠмаÑģÑģ": 131434, + "ãģ¨ãģįãģ«": 131435, + "à¸Ĺีà¹Īà¸ľà¹Īาà¸Ļ": 131436, + "à¸Ĺีà¹Īà¸ľà¹Īาà¸Ļมา": 131437, + "ĠاÙĦسابÙĤ": 131438, + "Ġ×ŀ×¢×ĺ": 131439, + "ваÑĤÑĮ": 131440, + "mÃ¼ÅŁ": 131441, + "Ġ׾׼×ļ": 131442, + "Ġtá»ĭch": 131443, + "ÙģÙĩÙħ": 131444, + "تدرÙĬب": 131445, + "Ø´Ùĥ": 131446, + "Ġ×ij×ŀ×Ļ": 131447, + "Ġ×ij×ŀ×Ļ×ķ×Ĺ×ĵ": 131448, + "ÙĤطاع": 131449, + "ãģªãģĹ": 131450, + "×ķצ×Ļ×IJ": 131451, + "ĠÙĪØ³ÙĬ": 131452, + "зÑĥ": 131453, + "Ġyat": 131454, + "Ġyatırım": 131455, + "ë§İ": 131456, + "Ġthắng": 131457, + "ãģĬ客": 131458, + "ãģĬ客æ§ĺ": 131459, + "ĠThiên": 131460, + "ãģ«å¯¾ãģĹãģ¦": 131461, + "ÑĢиÑģ": 131462, + "ÙĨتائ": 131463, + "ÙĨتائج": 131464, + "Ġ×ŀשר": 131465, + "Ġ×ŀשר×ĵ": 131466, + "ĠتعاÙĦ": 131467, + "ĠتعاÙĦÙī": 131468, + "ש׳×Ļ": 131469, + "ÙĩاÙħ": 131470, + "×IJ׳ש×Ļ×Ŀ": 131471, + "Ġżycia": 131472, + "ĠÑĢÑĥблей": 131473, + "ÙĬض": 131474, + "Ġkatıl": 131475, + "ĠÙħÙĪØ¶ÙĪØ¹": 131476, + "Ġvardır": 131477, + "ĠÙħÙĨØ·ÙĤØ©": 131478, + "ĠTrần": 131479, + "ĠвеÑģ": 131480, + "üp": 131481, + "ÙħÙĪÙĨ": 131482, + "ÑĪли": 131483, + "Ġnóng": 131484, + "Ø®ÙĦÙģ": 131485, + "ĠСÑĤа": 131486, + "ĠдоÑĢ": 131487, + "ĠдоÑĢог": 131488, + "ĠwÅĤaÅĽnie": 131489, + "eÄŁin": 131490, + "Ġhiá»ĥm": 131491, + "ĠСам": 131492, + "ê»ĺìĦľ": 131493, + "ĠÑĦа": 131494, + "ãģ»ãģĨ": 131495, + "ãģ»ãģĨãģĮ": 131496, + "×ķפ×Ļ×¢": 131497, + "ê°Ī": 131498, + "دÙĪÙĦ": 131499, + "Ġthuê": 131500, + "Ġchá»Ĺ": 131501, + "Ġëĭ¹ìĭł": 131502, + "ãģijãĤĮ": 131503, + "ãģijãĤĮãģ©": 131504, + "ë³´íĺ¸": 131505, + "ãģķãĤĮãģ¦ãģĦãģ¾ãģĻ": 131506, + "Ġнадо": 131507, + "ĠìĤ¬ëŀĮëĵ¤": 131508, + "à¹Ģà¸Ĥà¸ķ": 131509, + "สมัย": 131510, + "zÅĤ": 131511, + "تÙĪØ±": 131512, + "Ġשת×Ļ": 131513, + "vê": 131514, + "Ġ×ijת×ķ×ļ": 131515, + "à¸Ĭัย": 131516, + "ãģĦãģ£ãģŁ": 131517, + "ìĿij": 131518, + "Ġtầ": 131519, + "Ġtầng": 131520, + "ש׼ר": 131521, + "Ġê¸Ģ": 131522, + "Ġ×Ķש׳×Ķ": 131523, + "ĠاÙĨÙĩ": 131524, + "ç«ĭãģ¡": 131525, + "rés": 131526, + "führen": 131527, + "رØŃÙħ": 131528, + "ê·¹": 131529, + "ĠâĢ«": 131530, + "Ġsuất": 131531, + "à¸Łà¸´": 131532, + "ÙĬÙĩا": 131533, + "ĠاÙĦاتØŃاد": 131534, + "Ġtuyá»ĥn": 131535, + "ãģ¾ãĤĭ": 131536, + "Ġmại": 131537, + "Ġngân": 131538, + "ãĤ°ãĥ©": 131539, + "欲ãģĹãģĦ": 131540, + "سار": 131541, + "ãĤĤãģ®ãģ§ãģĻ": 131542, + "кие": 131543, + "Ġseçim": 131544, + "åħ¥ãĤĬ": 131545, + "ãģªãģ©ãĤĴ": 131546, + "ÑĤÑĢи": 131547, + "ĠÑģпеÑĨ": 131548, + "Ġأد": 131549, + "Ġодно": 131550, + "ÑĪел": 131551, + "ãĥĩãĥ¼ãĤ¿": 131552, + "ãĤ·ãĤ¹ãĥĨ": 131553, + "ãĤ·ãĤ¹ãĥĨãĥł": 131554, + "è¡Įãģį": 131555, + "ã썿ĢĿãģ£ãģŁ": 131556, + "à¹Ģà¸ģิà¸Ķà¸Ĥึà¹īà¸Ļ": 131557, + "ĠÑĤож": 131558, + "ĠÑĤоже": 131559, + "Ġsạch": 131560, + "ĠÑģÑĢок": 131561, + "ĠклиенÑĤ": 131562, + "ĠÙħشرÙĪØ¹": 131563, + "Ġaltında": 131564, + "Ġì·¨": 131565, + "ä¸Ńãģ®": 131566, + "ãģķãģĽãĤĭ": 131567, + "ãģĻãģ¹": 131568, + "ãģĻãģ¹ãģ¦": 131569, + "ê°ľë°ľ": 131570, + "ĠÄijêm": 131571, + "ãģªãģĦãģ®ãģ§": 131572, + "ì²ł": 131573, + "×¢×ij×ĵ": 131574, + "Ġdấu": 131575, + "à¸Ħà¸Ļà¸Ĺีà¹Ī": 131576, + "ĠCách": 131577, + "تعÙĦÙĬÙħ": 131578, + "Ġhại": 131579, + "ãĤ»ãĥķãĥ¬": 131580, + "ĠÙĨÙ쨳Ùĩ": 131581, + "ĠíĨµíķ´": 131582, + "ÑĪло": 131583, + "ĠнапÑĢав": 131584, + "ĠнапÑĢавлен": 131585, + "ÑĢÑĥÑĩ": 131586, + "íĶĮ": 131587, + "Ġ×ijר×Ļ×IJ": 131588, + "ãģ®ãģ¿": 131589, + "ãģ«ãģĬãģĦãģ¦": 131590, + "×ij׳ק": 131591, + "ãĤ¨ãĥ³": 131592, + "Ø«ÙĦاث": 131593, + "Ġmỹ": 131594, + "ĠÑģайÑĤе": 131595, + "ĠемÑĥ": 131596, + "تغÙĬ": 131597, + "تغÙĬÙĬر": 131598, + "خصÙĪØµ": 131599, + "ÑĤели": 131600, + "Ġ×ķ׾׼ף": 131601, + "פע×Ŀ": 131602, + "ĠпоÑįÑĤомÑĥ": 131603, + "راÙĨ": 131604, + "иÑĤелей": 131605, + "пиÑģан": 131606, + "×¢×¥": 131607, + "ĠìĤ¬ìĹħ": 131608, + "Ùħز": 131609, + "جÙħÙĬع": 131610, + "ë©´ìĦľ": 131611, + "à¸ľà¸¥à¸´à¸ķà¸łà¸±": 131612, + "à¸ľà¸¥à¸´à¸ķà¸łà¸±à¸ĵ": 131613, + "à¸ľà¸¥à¸´à¸ķà¸łà¸±à¸ĵà¸ij": 131614, + "à¸ľà¸¥à¸´à¸ķà¸łà¸±à¸ĵà¸ijà¹Į": 131615, + "ĠпÑĢимеÑĢ": 131616, + "ãĤŃãĥ¼": 131617, + "lâ": 131618, + "ĠchÄĥm": 131619, + "缮ãģ®": 131620, + "ãģĦãģĭ": 131621, + "ãģ¨è¨ĢãģĨ": 131622, + "×ĸ×ķ×Ĵ": 131623, + "Ġ×ij×ĵ×Ļ": 131624, + "Ġ×ij×ĵ×Ļ×ķ×§": 131625, + "ãģĬåºĹ": 131626, + "à¸ķà¸Ńà¸Ļà¸Ļีà¹ī": 131627, + "Ġphá»iji": 131628, + "пÑĤ": 131629, + "สà¸Ļาม": 131630, + "Ø·ÙĪ": 131631, + "صاØŃ": 131632, + "صاØŃب": 131633, + "ĠDü": 131634, + "ĠDünya": 131635, + "Ġпока": 131636, + "пал": 131637, + "ĠÄijảo": 131638, + "ĠاÙĦÙģÙĪØ±": 131639, + "ĠاÙĦÙģÙĪØ±Ùĥس": 131640, + "Ġmáu": 131641, + "кÑĢеп": 131642, + "ĠاÙĦساعة": 131643, + "ĠгоÑĢода": 131644, + "Ù쨵ÙĦ": 131645, + "айÑĤе": 131646, + "Ġдог": 131647, + "ĠдоговоÑĢ": 131648, + "Ġإذ": 131649, + "Ġ×ij׼׾׾": 131650, + "ÙĬتÙĩ": 131651, + "×Ĵ×ijר": 131652, + "Ġbirç": 131653, + "Ġbirçok": 131654, + "문íĻĶ": 131655, + "ãģĿãģĨãģª": 131656, + "راØŃ": 131657, + "ĠÙħرة": 131658, + "ĠденÑĮги": 131659, + "fä": 131660, + "à¸Ĥà¹īาว": 131661, + "ĠÑģовÑĢем": 131662, + "ĠÑģовÑĢеменн": 131663, + "׾×Ĺ×¥": 131664, + "èī¯ãģı": 131665, + "ĠÙ쨣": 131666, + "Ġ×ķ×ĸ×Ķ": 131667, + "Ġзани": 131668, + "Ġзанима": 131669, + "Ġê°Ģì§Ģê³ł": 131670, + "ĠhÆ¡i": 131671, + "ãģªãģ®ãģĭ": 131672, + "ãĥĨãĥ¬ãĥĵ": 131673, + "Ġר×ij×ķת": 131674, + "à¸ķี": 131675, + "Ġ×ij×©×ł×ª": 131676, + "ĠTại": 131677, + "ĠthuáºŃn": 131678, + "Ñģел": 131679, + "Ñijм": 131680, + "dziÄĩ": 131681, + "ĠÑģка": 131682, + "ĠÑģкаÑĩ": 131683, + "ĠÑģкаÑĩаÑĤÑĮ": 131684, + "×ķ×ŀ×ķ": 131685, + "гла": 131686, + "ĠминÑĥÑĤ": 131687, + "åĩºãģĻ": 131688, + "Ġ×Ĺ×Ļ×Ļ×ij": 131689, + "Ġת×Ĵ×ķ×ij×Ķ": 131690, + "à¸£à¸¹à¸Ľà¹ģà¸ļà¸ļ": 131691, + "ниÑĨа": 131692, + "Ġİn": 131693, + "Ġأع": 131694, + "ĠضÙħÙĨ": 131695, + "ÙħثاÙĦ": 131696, + "ĠyaÅŁan": 131697, + "ĠìĹ°êµ¬": 131698, + "ĠLê": 131699, + "ש׾×Ĺ": 131700, + "ãģıãģªãĤĭ": 131701, + "ìĹĨìĿ´": 131702, + "ĠÑĤÑĢи": 131703, + "ĠÑĩаÑģÑĤо": 131704, + "ĠобÑĢаÑĤ": 131705, + "пло": 131706, + "دخ": 131707, + "دخÙĪÙĦ": 131708, + "سÙĩ": 131709, + "à¸Ńาà¸ģ": 131710, + "à¸Ńาà¸ģาศ": 131711, + "Ġ׼×ĸ×Ķ": 131712, + "Ġ×Ķעסק": 131713, + "ĠاÙĦØ£ÙĨ": 131714, + "å¹´ãģ«": 131715, + "עש×ķ": 131716, + "Ġשע×ķת": 131717, + "ĠmÃłn": 131718, + "×IJר×Ļ": 131719, + "sıyla": 131720, + "Ù쨱ÙĤ": 131721, + "ниÑħ": 131722, + "Ġتست": 131723, + "è¦ĭãģ¦": 131724, + "ØŃاÙĪÙĦ": 131725, + "×IJ×Ļ׼×ķת": 131726, + "ĠbaÅŁladı": 131727, + "stÄħ": 131728, + "stÄħpi": 131729, + "à¸Ĺีà¹Īà¹Ģรา": 131730, + "ÙĤرر": 131731, + "جاب": 131732, + "Ġ×ijר×ķר": 131733, + "à¹Ģà¸Ĥà¹īาà¹ĥà¸Ī": 131734, + "×ŀ×Ĺקר": 131735, + "alım": 131736, + "Ġס×Ļפ×ķר": 131737, + "ãģ§ãģĤãĤĮãģ°": 131738, + "Ġש×ŀ×ķר×ķת": 131739, + "Ġ×ķ×ŀ×Ķ": 131740, + "ãģĵãģĿ": 131741, + "idée": 131742, + "ä¸ĭãģķãģĦ": 131743, + "تÙĨاÙĪÙĦ": 131744, + "Ġลà¹īาà¸Ļ": 131745, + "Ġìļ°ë¦¬ëĬĶ": 131746, + "اÙĨا": 131747, + "ÑģÑĤой": 131748, + "боÑĤ": 131749, + "ĠyaÅŁam": 131750, + "köy": 131751, + "Ø¥ÙĦ": 131752, + "ÑĢÑĭв": 131753, + "기ìĹħ": 131754, + "Ġ×Ķ×ŀ×ĵ": 131755, + "Ġ×Ķ×ŀ×ĵ×Ļ׳×Ķ": 131756, + "دب": 131757, + "×¢×Ļ׳×Ļ": 131758, + "×ŀת×Ĺ": 131759, + "Ġפר×Ļ": 131760, + "ãĥĭãĥ¼": 131761, + "اÙħÙĬ": 131762, + "Ġnhằm": 131763, + "ãĤĮãģªãģĦ": 131764, + "تعرÙģ": 131765, + "Ġë§ĪìĿĮ": 131766, + "ìĵ°": 131767, + "Ġhấp": 131768, + "ר×Ĵ×Ļ׾": 131769, + "بÙİ": 131770, + "ĠrÄĥng": 131771, + "glÄħd": 131772, + "ĠÑģиÑģÑĤемÑĭ": 131773, + "Ġkhóa": 131774, + "ãģ§ãģĻãĤĪãģŃ": 131775, + "大ãģįãģı": 131776, + "기를": 131777, + "Ġkéo": 131778, + "ÙĪØ¡": 131779, + "جاÙħ": 131780, + "جاÙħع": 131781, + "Ġ×¢×Ļצ×ķ×ij": 131782, + "téri": 131783, + "Ġתש": 131784, + "Ġ×IJ×ij×Ļ": 131785, + "ĠChương": 131786, + "à¸ļริà¹Ģว": 131787, + "à¸ļริà¹Ģวà¸ĵ": 131788, + "ãģ¤ãģı": 131789, + "Ġ×Ĺ×ķ׾": 131790, + "עת×Ļ×ĵ": 131791, + "ש×Ļ×ŀ×Ķ": 131792, + "ëĤ¨": 131793, + "Ġש×IJ×Ļף": 131794, + "ĠÙĪØ§ÙĦØ¥": 131795, + "ÑĦа": 131796, + "Ġkhám": 131797, + "Ġ×ĺ×ķ×ij×Ķ": 131798, + "ĠвÑĭÑģ": 131799, + "ĠвÑĭÑģоко": 131800, + "ĠاÙĦØŃدÙĬØ«": 131801, + "人ãĤĤ": 131802, + "dÃ¼ÄŁÃ¼": 131803, + "×Ļ×Ĺ×ķ×ĵ": 131804, + "تعÙĦÙĬ": 131805, + "تعÙĦÙĬÙĤ": 131806, + "lö": 131807, + "تØŃدÙĬد": 131808, + "него": 131809, + "ĠÑĥдоб": 131810, + "Ġ׾×ŀ×Ļ": 131811, + "Ġר×ķצ×Ļ×Ŀ": 131812, + "Ġجاء": 131813, + "Ġ×ij×ĸ×ŀף": 131814, + "à¸Ľà¸ģà¸ķิ": 131815, + "é«ĺãģı": 131816, + "à¸Ľà¸¥à¸²": 131817, + "Ġartık": 131818, + "Ġbugün": 131819, + "ק׳×Ļ": 131820, + "Ġkhoá": 131821, + "ĠÙħرÙĥز": 131822, + "ĠìŀIJ기": 131823, + "درجة": 131824, + "×ŀשר×ĵ": 131825, + "Ġgiấy": 131826, + "Ġchóng": 131827, + "קפ": 131828, + "ÙĬبة": 131829, + "ĠczÄĻsto": 131830, + "вали": 131831, + "Ùĥب": 131832, + "ìŁģ": 131833, + "สà¸ļาย": 131834, + "à¸Ľà¸£à¸°à¸Ĭาà¸Ĭà¸Ļ": 131835, + "×Ĵ×ķ×£": 131836, + "ëŁī": 131837, + "ãģ®ãģĵãģ¨": 131838, + "ลà¸Ń": 131839, + "Ġnghá»ī": 131840, + "åŃIJãģ©": 131841, + "åŃIJãģ©ãĤĤ": 131842, + "à¹Ħà¸Ķà¹īà¸Ńย": 131843, + "à¹Ħà¸Ķà¹īà¸Ńยà¹Īาà¸ĩ": 131844, + "×ĵ×¢": 131845, + "ĠاÙĦتÙī": 131846, + "ĠÑģовеÑĤ": 131847, + "ĠqualitÃł": 131848, + "åĩºãģĹ": 131849, + "ĠÑĢÑĥков": 131850, + "ĠÑĢÑĥковод": 131851, + "รายละà¹Ģà¸Ńียà¸Ķ": 131852, + "ãģªãģĭãģªãģĭ": 131853, + "기ê´Ģ": 131854, + "Ġ×Ĺ×ķש": 131855, + "Ġ×Ĺ×ķש×ij": 131856, + "лоÑĤ": 131857, + "à¸Ļะà¸Ħรัà¸ļ": 131858, + "×§×ij×ķצ×Ķ": 131859, + "Ġthái": 131860, + "Ġש×ij×Ķ": 131861, + "ĠÑĪкол": 131862, + "ĠÙĦÙĥÙĦ": 131863, + "à¹ĥà¸Ļà¸Ĭà¹Īวà¸ĩ": 131864, + "ĠÙħÙĥاÙĨ": 131865, + "ëķĮ": 131866, + "Ġcải": 131867, + "ĠChÃŃ": 131868, + "ÑĥÑĩа": 131869, + "ìĿµ": 131870, + "Ġxảy": 131871, + "à¸Ĭà¸Ļิà¸Ķ": 131872, + "ĠcáºŃu": 131873, + "кÑĢов": 131874, + "ssé": 131875, + "ĠÙĨÙĪØ¹": 131876, + "ĠТа": 131877, + "Ø®Ùħس": 131878, + "פ×ķס×ĺ": 131879, + "Ġmắc": 131880, + "ĠÄijem": 131881, + "à¸ģารà¹ĥà¸Ĭà¹ī": 131882, + "ר×ķס": 131883, + "ĠÐĽÐµ": 131884, + "Ġthá»Ń": 131885, + "รà¹Īาà¸ĩà¸ģาย": 131886, + "üzü": 131887, + "æĹ¥æľ¬ãģ®": 131888, + "ê³¼ìłķ": 131889, + "ש×Ļ×IJ": 131890, + "ĠìŀĪê³ł": 131891, + "×ij×ķ׾": 131892, + "ìķħ": 131893, + "ĠÙĪØ§ÙĦا": 131894, + "ĠÐĽÐ¸": 131895, + "ĠвÑģÑij": 131896, + "Ġużytkow": 131897, + "×Ĺ×ķ׾": 131898, + "رÙ쨶": 131899, + "Ġsonuç": 131900, + "ãģĦãģ¾ãģĽãĤĵ": 131901, + "ìĤ¬ìĹħ": 131902, + "ëĪĦ": 131903, + "ÑĤек": 131904, + "ĠudziaÅĤ": 131905, + "лез": 131906, + "Ġ×Ķ×Ļ×Ļת×Ļ": 131907, + "ãĤīãĤĮãģ¦": 131908, + "ÙħسؤÙĪÙĦ": 131909, + "رار": 131910, + "ÑĤан": 131911, + "ĠÄijÃło": 131912, + "Ġר×ķ×ij": 131913, + "Ġ×ijש×ij×Ļ׾": 131914, + "ä»ĬåĽŀãģ¯": 131915, + "ãĤ¸ãĥ¥": 131916, + "Ġ×¢×ijר": 131917, + "ãģĽãģ¦": 131918, + "полÑĮ": 131919, + "aklı": 131920, + "ĠkÃŃnh": 131921, + "دت": 131922, + "ложение": 131923, + "ĠاÙĦÙħص": 131924, + "ĠاÙĦÙħصرÙĬ": 131925, + "à¸Īริà¸ĩà¹Ĩ": 131926, + "ĠاÙĦشرÙĥØ©": 131927, + "ĠÄijá»ı": 131928, + "ãĥĽãĥĨ": 131929, + "ãĥĽãĥĨãĥ«": 131930, + "Ñįкон": 131931, + "Ñįконом": 131932, + "ĠÙĪØ¹ÙĨ": 131933, + "Ġ×ª×ł": 131934, + "Ġ×ª×ł×IJ×Ļ": 131935, + "ĠاÙĦدÙĪÙĦÙĬØ©": 131936, + "Ġì§ĢìĹŃ": 131937, + "ãģ§ãģĻãģĭ": 131938, + "ĠваÑĢи": 131939, + "ĠваÑĢианÑĤ": 131940, + "ĠاÙĦعرب": 131941, + "ела": 131942, + "ĠtÆ°á»Ľng": 131943, + "skÄħ": 131944, + "Ġmặc": 131945, + "สัà¸ģ": 131946, + "ãĥĵãĥ¼": 131947, + "Ġ×ij×Ĵ׾": 131948, + "Ġ×ij×Ĵ׾׾": 131949, + "ãĥķãĤ¡ãĥ³": 131950, + "×ij×Ļצ": 131951, + "×ij×Ļצ×ķ×¢": 131952, + "лиÑģÑĤ": 131953, + "à¸Łà¸¸": 131954, + "à¸Łà¸¸à¸ķ": 131955, + "à¸Łà¸¸à¸ķà¸ļà¸Ńล": 131956, + "à¸Ŀà¹Īาย": 131957, + "ìŀIJìĿĺ": 131958, + "ĠسÙĪÙģ": 131959, + "Ġש×Ķת": 131960, + "Ġ걸": 131961, + "×¢×ij×ķ×ĵ": 131962, + "ãģĻãĤĭãģĵãģ¨ãģĮ": 131963, + "ĠÑĩаÑģÑĤÑĮ": 131964, + "ãĤ¢ãĥ¡ãĥª": 131965, + "ãĤ¢ãĥ¡ãĥªãĤ«": 131966, + "Ġtakım": 131967, + "ĠsỼ": 131968, + "ĠsỼm": 131969, + "שר×Ķ": 131970, + "è¨ĢãģĨ": 131971, + "лан": 131972, + "커": 131973, + "׼׳×Ķ": 131974, + "ÙĪÙģÙĬ": 131975, + "íĹĪ": 131976, + "luÄŁu": 131977, + "ĠëĮĢíķ´": 131978, + "Ġ׾×ij×Ļת": 131979, + "Ġ×Ķר×IJש×ķ׳×Ķ": 131980, + "صÙħ": 131981, + "Ġsöyled": 131982, + "Ġsöyledi": 131983, + "à¸Ľà¸²à¸ģ": 131984, + "Ġardından": 131985, + "ãģĪãģŁ": 131986, + "à¸Ĺัà¹Īวà¹Ħà¸Ľ": 131987, + "Ġ׳×ķסף": 131988, + "болÑĮ": 131989, + "ãĤĵãģ§ãģĻãģijãģ©": 131990, + "ĠлиÑĪÑĮ": 131991, + "Ġ×ij×IJ×Ļ": 131992, + "ĠбÑĭÑģÑĤÑĢо": 131993, + "สัà¸Ļ": 131994, + "Ġ×ijפ׳×Ļ": 131995, + "леÑĩ": 131996, + "ĠاÙĦخبر": 131997, + "Ġsóc": 131998, + "Ġthú": 131999, + "ĠпÑıÑĤ": 132000, + "ãģĬé¡ĺ": 132001, + "ãģĬé¡ĺãģĦ": 132002, + "ÑĤин": 132003, + "ãģ«ãģ¤ãģĦãģ¦ãģ¯": 132004, + "פף": 132005, + "ĠдвÑĥÑħ": 132006, + "à¸įีà¹Ī": 132007, + "à¸įีà¹Īà¸Ľ": 132008, + "à¸įีà¹Īà¸Ľà¸¸": 132009, + "à¸įีà¹Īà¸Ľà¸¸à¹Īà¸Ļ": 132010, + "опеÑĢ": 132011, + "ĠاÙĦبشر": 132012, + "ĠاÙĦÙħاÙĦ": 132013, + "ıyoruz": 132014, + "تØŃÙħÙĬÙĦ": 132015, + "à¸ģะ": 132016, + "éĸĵãģ«": 132017, + "×Ĺ×ķש": 132018, + "ĠNguyên": 132019, + "ãģĦãģ¦ãģĦãĤĭ": 132020, + "дÑĥÑĪ": 132021, + "שפע": 132022, + "ÑĪÑĥ": 132023, + "å®ŁéļĽãģ«": 132024, + "ĠÑĢайон": 132025, + "ĠChá»ī": 132026, + "ÙĨصر": 132027, + "Ġìļ´": 132028, + "Ġìļ´ìĺģ": 132029, + "Ġ×Ķ×ĵ×Ļף": 132030, + "ØŃدد": 132031, + "رز": 132032, + "ĠاÙĦدÙħ": 132033, + "ĠPháp": 132034, + "ÑĤÑģÑı": 132035, + "è¦ĭãģĪ": 132036, + "Ġtiá»ĥu": 132037, + "Ġsá»Ńa": 132038, + "аÑİÑĤÑģÑı": 132039, + "ĠBá": 132040, + "Ġ×ķ׼׾": 132041, + "Ðĸ": 132042, + "ÑĪим": 132043, + "ìĿ´ëĬĶ": 132044, + "лев": 132045, + "dık": 132046, + "Ġprésente": 132047, + "Ġaraç": 132048, + "صدÙĤ": 132049, + "Ġпомог": 132050, + "ĠاÙĦشرÙĤ": 132051, + "ĠÙĪØ§ÙĦذÙĬ": 132052, + "رÙĬا": 132053, + "×ij׳×ķת": 132054, + "Ġngá»ĵi": 132055, + "ר×ķפ": 132056, + "ר×ķפ×IJ": 132057, + "Ġthấp": 132058, + "ãĤĦãģ¯": 132059, + "ãĤĦãģ¯ãĤĬ": 132060, + "ĠاÙĦجدÙĬدة": 132061, + "éĿŀ常ãģ«": 132062, + "ÙĬÙĦÙĬ": 132063, + "쪽": 132064, + "تعاÙħÙĦ": 132065, + "ãģłã썿ĢĿãģĦãģ¾ãģĻ": 132066, + "ÙħÙħ": 132067, + "иÑĤели": 132068, + "ãĤµãĤ¤ãĤº": 132069, + "ادات": 132070, + "ĠاÙĦÙħاÙĦÙĬØ©": 132071, + "Ùĥاتب": 132072, + "кли": 132073, + "веÑĢÑħ": 132074, + "ниÑĩ": 132075, + "Ġ×ľ×¢×ij×ķ×ĵ": 132076, + "׾×Ļ×Ķ": 132077, + "ØŃÙİ": 132078, + "ãĤ¤ãĥĻ": 132079, + "ãĤ¤ãĥĻãĥ³ãĥĪ": 132080, + "Ġת×Ĵ×ķ×ij×ķת": 132081, + "ÑĦон": 132082, + "ĠдÑĢÑĥгие": 132083, + "×IJ×ĸ×ķר": 132084, + "Ġperò": 132085, + "ìķŀ": 132086, + "åĢŁãĤĬ": 132087, + "רצ×Ļ": 132088, + "×IJ×ĸ": 132089, + "алÑĮнÑĭÑħ": 132090, + "Ġê²ĥìľ¼ë¡ľ": 132091, + "ĠпÑĢаво": 132092, + "ĠاÙĦأرض": 132093, + "à¹Ģà¸Ĺà¸Ħ": 132094, + "à¹Ģà¸Ĺà¸Ħà¹Ĥà¸Ļ": 132095, + "à¹Ģà¸Ĺà¸Ħà¹Ĥà¸Ļà¹Ĥล": 132096, + "à¹Ģà¸Ĺà¸Ħà¹Ĥà¸Ļà¹Ĥลย": 132097, + "à¹Ģà¸Ĺà¸Ħà¹Ĥà¸Ļà¹Ĥลยี": 132098, + "צר×Ļ": 132099, + "ĠÐļÑĥ": 132100, + "ılma": 132101, + "決ãĤģ": 132102, + "اÙĪ": 132103, + "Ġ×ĵ×§×ķת": 132104, + "à¸Ħรู": 132105, + "ĠÙħستÙĪÙī": 132106, + "à¸Ľà¹īà¸Ńà¸ĩ": 132107, + "à¸Ľà¹īà¸Ńà¸ĩà¸ģัà¸Ļ": 132108, + "×ĵ×ķ×ŀ×Ķ": 132109, + "ĠÑģегоднÑı": 132110, + "سÙĪÙĤ": 132111, + "ר×Ĺ×ķ×ij": 132112, + "Ġإدارة": 132113, + "Ñħож": 132114, + "éģİãģİ": 132115, + "à¸Ħà¸Ń": 132116, + "нÑĥл": 132117, + "×ķ׼×Ķ": 132118, + "ÙĪØ§ÙģÙĤ": 132119, + "׼׾׾": 132120, + "Ġ×Ķ×ĵ×ķ": 132121, + "ĠlÄ©nh": 132122, + "Ġkhảo": 132123, + "×IJ×ŀצע": 132124, + "머": 132125, + "Ġ׼×Ļצ": 132126, + "Ġ׼×Ļצ×ĵ": 132127, + "ĠдолжнÑĭ": 132128, + "หวัà¸ĩ": 132129, + "ãĥĩãĤ¶": 132130, + "ãĥĩãĤ¶ãĤ¤ãĥ³": 132131, + "Ġngá»Ŀ": 132132, + "ä¸Ńãģ«": 132133, + "à¸ģลัà¸ļมา": 132134, + "جÙħاÙĦ": 132135, + "à¸Ķัà¸ĩà¸ģลà¹Īาว": 132136, + "سÙĥÙĨ": 132137, + "سÙĨ": 132138, + "Ġözellikle": 132139, + "зеÑĢ": 132140, + "rzÄĻ": 132141, + "×ŀ×ķר×Ķ": 132142, + "Ġlạ": 132143, + "×ŀ×Ļ׳×Ļ": 132144, + "ר×Ļת": 132145, + "ãģĿãĤĮãģĮ": 132146, + "ãģĭãĤĮ": 132147, + "ĠÙĬÙħÙĥÙĨÙĥ": 132148, + "öffentlich": 132149, + "ган": 132150, + "ĠاÙĦØŃÙĦ": 132151, + "ĠmiÄĻdzy": 132152, + "ĠÑĩаÑģÑĤи": 132153, + "ujÄħcy": 132154, + "ĠbaÄŁlı": 132155, + "ĠiliÅŁki": 132156, + "ÙģØ§Ø¡": 132157, + "ãĥªãĥ³ãĤ°": 132158, + "Ġhãng": 132159, + "ĠконÑĤÑĢ": 132160, + "ĠконÑĤÑĢол": 132161, + "коп": 132162, + "ש×Ļ×¢": 132163, + "ש×Ļ×¢×ķר": 132164, + "ĠÐĴаÑĪ": 132165, + "Ġ×Ķתק": 132166, + "ÙħÙĨع": 132167, + "ĠpolÃŃtico": 132168, + "Ġголов": 132169, + "ĠØ¥ÙĬ": 132170, + "Ø¥ÙĨتاج": 132171, + "à¸ļิ": 132172, + "ĠговоÑĢ": 132173, + "ĠговоÑĢиÑĤ": 132174, + "Ġphá»ķ": 132175, + "ĠÑģемÑĮ": 132176, + "ãģ¯ãģĤãĤĬãģ¾ãģĽãĤĵ": 132177, + "ĠÙĪØ§Ø³Øª": 132178, + "×ŀשפ×ĺ": 132179, + "зем": 132180, + "×ŀ×ĵ×ijר": 132181, + "Ġíģ°": 132182, + "ĠìĿ´ë²Ī": 132183, + "ê°ĢëĬĶ": 132184, + "Ġì§ĢìĽIJ": 132185, + "ĠcaÅĤy": 132186, + "ĠgeliÅŁtir": 132187, + "Ñģкое": 132188, + "posé": 132189, + "Ġkhô": 132190, + "à¸ķิà¸Ķà¸ķาม": 132191, + "missão": 132192, + "Ġ׾×ŀר": 132193, + "Ġ׾×ŀר×ķת": 132194, + "Ġbó": 132195, + "à¸ķรวà¸Īสà¸Ńà¸ļ": 132196, + "Ġnghá»ģ": 132197, + "Ġбиз": 132198, + "ĠбизнеÑģ": 132199, + "ÑģÑĤеÑĢ": 132200, + "ÙĪÙİ": 132201, + "楽ãģĹãģ": 132202, + "楽ãģĹãģ¿": 132203, + "ãģĵãĤĮãģĭãĤī": 132204, + "wiÄħzan": 132205, + "สà¸Ńà¸Ļ": 132206, + "ÙħÙĪØ±": 132207, + "׳×ĵ׾": 132208, + "Ġ×Ķ×IJ×ĵ×Ŀ": 132209, + "Ġмолод": 132210, + "ØŃÙħا": 132211, + "ØŃÙħاÙĬØ©": 132212, + "ÑģÑĤÑĢан": 132213, + "Ġbuá»ķi": 132214, + "ת×Ļ×Ļ×Ŀ": 132215, + "abileceÄŁi": 132216, + "Lİ": 132217, + "à¹Ģยà¸Ńะ": 132218, + "à¸Īร": 132219, + "سÙĥاÙĨ": 132220, + "à¸Ļัà¸Ķ": 132221, + "Ġmấy": 132222, + "ĠÐijа": 132223, + "sÅĤaw": 132224, + "ĠÙģÙĦا": 132225, + "ĠкоÑĤоÑĢой": 132226, + "ĠплоÑī": 132227, + "ĠплоÑīад": 132228, + "ãĤĤãģĤãĤĬ": 132229, + "szczÄĻ": 132230, + "×Ļפ×ķ": 132231, + "ש×ŀת": 132232, + "owaÅĤa": 132233, + "Ġnông": 132234, + "צ×ij×IJ": 132235, + "ĠìŀĪìĹĪ": 132236, + "ãģ¾ãģ¨": 132237, + "ãģ¾ãģ¨ãĤģ": 132238, + "ÙĤÙĪØ§Øª": 132239, + "ãģ¿ãĤĵãģª": 132240, + "Ġ׼×ŀ×¢×ĺ": 132241, + "Ġxúc": 132242, + "ï¼Ĩ": 132243, + "rÄĻ": 132244, + "rÄĻcz": 132245, + "×ĵ×ŀ×Ļ": 132246, + "ĠtáºŃn": 132247, + "à¸Ķวà¸ĩ": 132248, + "ê²½ìłľ": 132249, + "пÑĥÑĤ": 132250, + "أربع": 132251, + "Ġ×ŀשת×ŀש": 132252, + "ãĤ¿ãĤ¤ãĥĹ": 132253, + "Ġìłľê°Ģ": 132254, + "Ġ׾׼ף": 132255, + "ĠобÑĢазом": 132256, + "ÙĬÙĥا": 132257, + "wÅĤ": 132258, + "wÅĤasn": 132259, + "ĠاÙĦÙĪØ·ÙĨÙĬØ©": 132260, + "بÙĬب": 132261, + "×ŀ׾×Ļ": 132262, + "кÑĢаÑĤ": 132263, + "기ìĹIJ": 132264, + "ÙĤاد": 132265, + "ĠÙĦدÙī": 132266, + "à¸Ħวามรูà¹ī": 132267, + "×ŀ×ĵ×Ļ׳×Ļ×ķת": 132268, + "겨": 132269, + "ĠíĺĦìŀ¬": 132270, + "שת×Ļ": 132271, + "мол": 132272, + "Ġmái": 132273, + "à¸ŀิม": 132274, + "à¸ŀิมà¸ŀ": 132275, + "à¸ŀิมà¸ŀà¹Į": 132276, + "หลวà¸ĩ": 132277, + "Ġxuyên": 132278, + "×Ĺסר": 132279, + "رÙĪÙĨ": 132280, + "ãģĿãģĨãģĦãģĨ": 132281, + "ãģĿãĤĮãģŀ": 132282, + "ãģĿãĤĮãģŀãĤĮ": 132283, + "Ġ׼ש×Ķ": 132284, + "ÐŁÑĢав": 132285, + "×ŀ×ijצע": 132286, + "عرب": 132287, + "Ġbüyü": 132288, + "פ×Ļת×ķ×Ĺ": 132289, + "à¸Īà¸ļ": 132290, + "ĠØ£Ùĥبر": 132291, + "שרת": 132292, + "×ŀ׼ש×Ļר": 132293, + "ĠÙĪÙħع": 132294, + "ãģ®ãģŁãĤģãģ«": 132295, + "à¸Ļัà¸ļ": 132296, + "ì°°": 132297, + "ãĥªãĥķãĤ©": 132298, + "ãĥªãĥķãĤ©ãĥ¼ãĥł": 132299, + "Ġcưá»Ŀng": 132300, + "ĠìłĢíĿ¬": 132301, + "ÙħÙĨظÙħØ©": 132302, + "Ġhiçbir": 132303, + "ãģ§ãģ¯ãģĤãĤĬãģ¾ãģĽãĤĵ": 132304, + "รà¸Ńย": 132305, + "ëIJľëĭ¤": 132306, + "ãģĻãģIJãģ«": 132307, + "кла": 132308, + "Ġürünler": 132309, + "Ġkiá»ĥu": 132310, + "ĠëĤĺëĬĶ": 132311, + "ÑĤки": 132312, + "Ñģим": 132313, + "Ġchá»īnh": 132314, + "ãĤĤãģªãģĦ": 132315, + "ศรี": 132316, + "æĽ¿ãģĪ": 132317, + "taÅŁ": 132318, + "ĠبÙĥÙĦ": 132319, + "Ġ×ķ×Ļש": 132320, + "visão": 132321, + "ä¼Ŀ": 132322, + "ä¼ĿãģĪ": 132323, + "ÙĦد": 132324, + "׾×Ļ×ŀ": 132325, + "׾×Ļ×ŀ×ķ×ĵ": 132326, + "tória": 132327, + "دÙij": 132328, + "اÙħر": 132329, + "Ġê·¸ëłĩê²Į": 132330, + "ĠmateriaÅĤ": 132331, + "à¸Ĺรา": 132332, + "à¸Ĺราà¸ļ": 132333, + "ã쮿ĸ¹ãģĮ": 132334, + "ãģ¦ãģįãģŁ": 132335, + "ضغ": 132336, + "ضغط": 132337, + "ĠÙĬعÙĨÙĬ": 132338, + "ело": 132339, + "×IJ×Ķ×ij×Ķ": 132340, + "×¢×ŀ": 132341, + "ÅŁÄ±k": 132342, + "ìŀIJëĬĶ": 132343, + "ãĤ¿ãĥ³": 132344, + "ĠbáºŃt": 132345, + "×ŀשפ×Ĺ×Ķ": 132346, + "кÑĢи": 132347, + "бли": 132348, + "สัà¸ķ": 132349, + "สัà¸ķวà¹Į": 132350, + "ĠسÙĨÙĪØ§Øª": 132351, + "ĠPhương": 132352, + "ãģ¦ãģĹãģ¾ãģ£ãģŁ": 132353, + "ãģªãģľ": 132354, + "Ġ×ij×IJ×ķ": 132355, + "Ġcán": 132356, + "سجÙĦ": 132357, + "Ġlẽ": 132358, + "ãĤ±ãĥ¼ãĤ¹": 132359, + "Ġ×§×Ļ×ij׾": 132360, + "à¸ļà¸Ĺà¸Ħวาม": 132361, + "Ġ×ķ׼ף": 132362, + "ĠпÑĢедÑģÑĤавлен": 132363, + "Ġná»iji": 132364, + "Ġcomentário": 132365, + "ением": 132366, + "Ġtá»ı": 132367, + "lÃł": 132368, + "Ġש×Ķ×Ļ×Ķ": 132369, + "Ñģлав": 132370, + "ĠاÙĦÙĪÙĦا": 132371, + "ĠاÙĦÙĪÙĦاÙĬات": 132372, + "ÙĦجÙĨØ©": 132373, + "×§×ķר×IJ": 132374, + "бÑĭÑĤ": 132375, + "Ġì¦": 132376, + "Ġì¦ī": 132377, + "ãģ§ãģĻãģĹ": 132378, + "หรืà¸Ńà¹Ħมà¹Ī": 132379, + "заÑīиÑĤ": 132380, + "ÙģÙĦسطÙĬÙĨ": 132381, + "Ġmiá»ħn": 132382, + "à¹Ģยà¹ĩà¸Ļ": 132383, + "ĠçalÄ±ÅŁan": 132384, + "×Ļ×Ĵ×Ķ": 132385, + "ĠEÄŁ": 132386, + "ĠEÄŁitim": 132387, + "ãĥĥãĤ·ãĥ¥": 132388, + "ĠопÑĭ": 132389, + "ĠопÑĭÑĤ": 132390, + "رغ": 132391, + "رغب": 132392, + "ĠÑģвоиÑħ": 132393, + "à¸Ľà¸£à¸°à¸ķ": 132394, + "à¸Ľà¸£à¸°à¸ķู": 132395, + "Ġ×ŀ×IJ×ĵ": 132396, + "׼×ķ׳×Ļ×Ŀ": 132397, + "à¸Ļี": 132398, + "ĠвÑĭÑħод": 132399, + "ãģ®ä¸Ńãģ«": 132400, + "פ׾×IJ": 132401, + "ĠÙĪÙĦÙĬس": 132402, + "פ×ķרס": 132403, + "פ×ķרס×Ŀ": 132404, + "ÙħسÙĦÙħ": 132405, + "Ġngôi": 132406, + "×ĵ×ŀ×ķת": 132407, + "ãĤĴ使ãģ£ãģ¦": 132408, + "ĠпомоÑīÑĮÑİ": 132409, + "أسر": 132410, + "блок": 132411, + "ÙĤÙĩ": 132412, + "ãģĹãģ¾ãģĦ": 132413, + "ãģ¨ãģĹãģŁ": 132414, + "ĠпеÑģ": 132415, + "ãĥīãĥ«": 132416, + "×Ĺ×Ŀ": 132417, + "ãģĹãģªãģĮãĤī": 132418, + "ĠÐŁÑĢед": 132419, + "ãĥģãĤ§ãĥĥãĤ¯": 132420, + "å¼·ãģĦ": 132421, + "ש×Ļר×ķת": 132422, + "даеÑĤ": 132423, + "×Ļ×ij×ķ": 132424, + "Ġgenç": 132425, + "илаÑģ": 132426, + "илаÑģÑĮ": 132427, + "ĠبÙĦد": 132428, + "æĤª": 132429, + "æĤªãģĦ": 132430, + "Ġ×ŀשת": 132431, + "æ§ĺãĢħ": 132432, + "æ§ĺãĢħãģª": 132433, + "à¸ĺรรมà¸Ĭาà¸ķิ": 132434, + "ĠÙĥاÙħÙĦ": 132435, + "ĠاÙĦسÙħ": 132436, + "×ij×ĺ×Ļ×Ĺ": 132437, + "cá": 132438, + "gência": 132439, + "ãĤ¹ãĤ¿ãĥ¼": 132440, + "à¸Ĺำà¸ģาร": 132441, + "×Ļ×ľ×ª": 132442, + "Ġ×Ļ×ķצ×IJ": 132443, + "wój": 132444, + "à¸ļุà¸Ħ": 132445, + "à¸ļุà¸Ħà¸Ħล": 132446, + "عتÙħ": 132447, + "عتÙħد": 132448, + "ãģĿãĤĮãģ«": 132449, + "ĠاÙĦتارÙĬØ®": 132450, + "ÙĤراء": 132451, + "Ġyönetim": 132452, + "קשר": 132453, + "ĠÑģпоÑĢÑĤ": 132454, + "Ġר×IJש×ķף": 132455, + "Ġseñal": 132456, + "Ġchắn": 132457, + "çĦ¡ãģĦ": 132458, + "ĠдоÑģÑĤаÑĤ": 132459, + "ĠдоÑģÑĤаÑĤоÑĩно": 132460, + "Ġágua": 132461, + "à¸ģรà¸ĵ": 132462, + "à¸ģรà¸ĵี": 132463, + "Ġ×ŀש×ķ": 132464, + "Ġtrải": 132465, + "ë²Į": 132466, + "ujÄħcych": 132467, + "ÙģØ±Ø¯": 132468, + "à¹ĥà¸ģล": 132469, + "à¹ĥà¸ģลà¹ī": 132470, + "ãĤĭãģ®ãģ¯": 132471, + "ר×ķ×ķ×Ĺ": 132472, + "ÙĨÙĥ": 132473, + "ĠاÙĦÙĨÙĤ": 132474, + "ãģ®ãģ§ãģĹãĤĩãģĨ": 132475, + "ãģ®ãģ§ãģĹãĤĩãģĨãģĭ": 132476, + "ÙħعرÙģ": 132477, + "ÙħعرÙ쨩": 132478, + "ÑĥÑīе": 132479, + "Ġ×ij×¢×Ļקר": 132480, + "تصÙĦ": 132481, + "Ġ×Ķ×IJר": 132482, + "Ġ×Ķ×IJרץ": 132483, + "ĠÅŀi": 132484, + "à¸Ĥาà¸Ķ": 132485, + "íŀĺ": 132486, + "ãģªãĤĵãģ¨": 132487, + "ĠìĤ¬ëŀij": 132488, + "lÃ¼ÄŁÃ¼": 132489, + "باء": 132490, + "ĠاÙĦآخر": 132491, + "ĠfamÃŃlia": 132492, + "ĠTháng": 132493, + "ÑīениÑı": 132494, + "ãĤ¯ãĥŃ": 132495, + "ĠThứ": 132496, + "æĽ¸ãģį": 132497, + "енной": 132498, + "ìŀ¡": 132499, + "благ": 132500, + "благо": 132501, + "пов": 132502, + "à¹ģว": 132503, + "à¸ĩà¸Ħà¹Į": 132504, + "à¸Ńัà¸Ļà¸Ķัà¸ļ": 132505, + "ãģĤãģĴ": 132506, + "รà¹īาย": 132507, + "ünün": 132508, + "Ġ×Ļ׼×ķ׾×Ķ": 132509, + "зон": 132510, + "ĠÐľÐ¸": 132511, + "маÑĤеÑĢиал": 132512, + "Ġë³´ë©´": 132513, + "ØŃÙ쨏": 132514, + "êÌģ": 132515, + "ãģ«ãģĻãĤĭ": 132516, + "Ġת×IJ": 132517, + "Ġ×Ķס×ķ": 132518, + "ĠÑģÑĤоÑĢ": 132519, + "ĠÑģÑĤоÑĢон": 132520, + "ãĥĪãĥĥãĥĹ": 132521, + "ÅĤoÅĽÄĩ": 132522, + "ëħ¼": 132523, + "ëĵĿ": 132524, + "ĠÙĪØ§ÙĦع": 132525, + "ì¶Ķ": 132526, + "Ġ×Ļצ×IJ": 132527, + "ĠÑĢаздел": 132528, + "алÑĮнаÑı": 132529, + "×IJ׳ש×Ļ": 132530, + "spoÅĤ": 132531, + "spoÅĤec": 132532, + "spoÅĤeczn": 132533, + "إعÙĦ": 132534, + "إعÙĦاÙĨ": 132535, + "ÙĤÙĪÙī": 132536, + "íķĺë©´ìĦľ": 132537, + "تطÙĪØ±": 132538, + "Ġsiêu": 132539, + "Ỽt": 132540, + "дви": 132541, + "движ": 132542, + "Ġquần": 132543, + "kıl": 132544, + "ĠпÑĢизна": 132545, + "ĠHã": 132546, + "ĠHãy": 132547, + "ĠباÙĦت": 132548, + "manın": 132549, + "ãĤ«ãĥ«": 132550, + "Ġká»·": 132551, + "ק׾×Ļ": 132552, + "ëIJĺì§Ģ": 132553, + "تعÙĦÙħ": 132554, + "ìĭľìĦ¤": 132555, + "ìĭ¶": 132556, + "íĺ¼": 132557, + "ÙĥÙĬÙģ": 132558, + "売ãĤĬ": 132559, + "วิà¸Ĭา": 132560, + "бал": 132561, + "ĠØ£ØŃ": 132562, + "Ġдолжен": 132563, + "ราà¸ĩ": 132564, + "ราà¸ĩวั": 132565, + "ราà¸ĩวัล": 132566, + "Ùħاء": 132567, + "جار": 132568, + "Åļ": 132569, + "Ġ×ŀ×IJ×ĸ": 132570, + "ר×ŀ×Ķ": 132571, + "ãģĭãĤĤãģĹãĤĮãģªãģĦ": 132572, + "étude": 132573, + "czÄħc": 132574, + "Ġgór": 132575, + "×ł×¡×Ķ": 132576, + "ÙħÙĬد": 132577, + "ĠÐŁÐµÑĢе": 132578, + "أخر": 132579, + "ãģĿãģ®å¾Į": 132580, + "à¹Ģà¸Ķียวà¸ģัà¸Ļ": 132581, + "×ŀ×Ĵ×ķ": 132582, + "×ŀ×Ĵ×ķ×ķף": 132583, + "дов": 132584, + "masına": 132585, + "×¢×ł×Ķ": 132586, + "ãĤ±ãĥĥãĥĪ": 132587, + "סע": 132588, + "סע×Ļ×£": 132589, + "ĠTư": 132590, + "Ġtóc": 132591, + "íĻľëıĻ": 132592, + "ĠÐŀд": 132593, + "ĠÐŀднако": 132594, + "Ġdolayı": 132595, + "ؤÙĥد": 132596, + "ê³Ħíļį": 132597, + "׾ר": 132598, + "веÑĩ": 132599, + "Ġkhợi": 132600, + "Ġthá»§y": 132601, + "×ĵף": 132602, + "รà¸ģ": 132603, + "à¸ļัà¸ķร": 132604, + "à¹Ģà¸ģà¹Īา": 132605, + "ĠاÙĦثاÙĦ": 132606, + "ĠاÙĦثاÙĦØ«": 132607, + "Ġpodrá": 132608, + "ער×Ļ": 132609, + "ÙĨجاØŃ": 132610, + "Ġkhắc": 132611, + "측": 132612, + "İM": 132613, + "ãĤ»ãĥĥãĥĪ": 132614, + "żenia": 132615, + "Ġ׾×Ĺ×ijר": 132616, + "erÃł": 132617, + "ì´Ī": 132618, + "Ġküç": 132619, + "Ġküçük": 132620, + "اتÙĩÙħ": 132621, + "à¸ĭà¹Į": 132622, + "ÙħشارÙĥØ©": 132623, + "ĠاÙĦبط": 132624, + "Ġdây": 132625, + "еннÑĭм": 132626, + "à¸Ĺีà¹Īà¹Ħมà¹Ī": 132627, + "ÙĤÙİ": 132628, + "Ġvượt": 132629, + "Ġtrì": 132630, + "ĠwpÅĤyw": 132631, + "AÅŀ": 132632, + "зо": 132633, + "ĠاÙĦسÙĬد": 132634, + "à¸Ĺะà¹Ģล": 132635, + "ĠÑģодеÑĢжа": 132636, + "عطÙĬ": 132637, + "ĠاÙĦعÙĨ": 132638, + "èĢħãģĮ": 132639, + "à¹Ģหà¸Ļ": 132640, + "à¹Ģหà¸Ļืà¸Ń": 132641, + "ĠbÃŃ": 132642, + "Ġüzerinden": 132643, + "ĠVÅ©": 132644, + "Ġnuôi": 132645, + "ÙĨÙħ": 132646, + "алÑĮного": 132647, + "×¢×Ļף": 132648, + "ØŃضر": 132649, + "ĠоÑĤдел": 132650, + "ëªĩ": 132651, + "ìķ¡": 132652, + "ĠÙĦدÙĬÙĩ": 132653, + "ìĻľ": 132654, + "Ġsektör": 132655, + "Ġвозможно": 132656, + "ĠÐĶж": 132657, + "Ġhô": 132658, + "äºĭãģĮ": 132659, + "иÑĢование": 132660, + "алÑĮной": 132661, + "Ġ미êµŃ": 132662, + "رØŃÙĦ": 132663, + "ĠÑįкÑģ": 132664, + "пÑĢавлÑı": 132665, + "Ġnhá»Ŀ": 132666, + "ĠÄijẩ": 132667, + "ĠÄijẩy": 132668, + "ÙģÙĥر": 132669, + "ĠÙĪØ£Ø¶Ø§Ùģ": 132670, + "ãĥIJãĤ¹": 132671, + "ת×ķ׼׳×Ļת": 132672, + "ÑĤелей": 132673, + "ĠØ¥ÙĦÙĬÙĩ": 132674, + "ãģ¨è¨Ģãģ£ãģ¦": 132675, + "Ġдве": 132676, + "Ġchấp": 132677, + "ĠLö": 132678, + "à¸Ħลิ": 132679, + "à¸Ħà¸¥à¸´à¸Ľ": 132680, + "ĠسÙĪØ±": 132681, + "ĠسÙĪØ±ÙĬا": 132682, + "×ŀ×Ĺ×ķ": 132683, + "stä": 132684, + "доб": 132685, + "Ġniá»ĩm": 132686, + "ãģ®å¤§": 132687, + "פר×ķ×Ļ×§": 132688, + "פר×ķ×Ļ×§×ĺ": 132689, + "ĠChâu": 132690, + "Ġ×ŀ×Ķ×Ŀ": 132691, + "Ñģким": 132692, + "ĠполÑĥÑĩиÑĤÑĮ": 132693, + "ÙĬÙĪÙħ": 132694, + "Ø«ÙĪØ±": 132695, + "פ×ķ׾×Ļ×ĺ": 132696, + "פ×ķ׾×Ļ×ĺ×Ļ": 132697, + "ĠмеÑģÑıÑĨ": 132698, + "åħ¨ãģ¦": 132699, + "ĠاÙĦÙħجÙĦس": 132700, + "ĠاÙĦتاÙĦÙĬ": 132701, + "Ġ×Ĺר": 132702, + "åIJijãģij": 132703, + "׼×ŀ×Ķ": 132704, + "бед": 132705, + "أعض": 132706, + "أعضاء": 132707, + "ÙĪÙĦد": 132708, + "วà¹Īาà¸Īะ": 132709, + "Ġbánh": 132710, + "à¸Ļิย": 132711, + "à¸Ļิยม": 132712, + "à¸Ľà¸£à¸°à¸ģัà¸Ļ": 132713, + "ÑģÑĤавиÑĤÑĮ": 132714, + "à¸ŀà¸Ļัà¸Ļ": 132715, + "ĠÑįÑĦÑĦ": 132716, + "ĠÑįÑĦÑĦекÑĤив": 132717, + "ĠавÑĤоÑĢ": 132718, + "ĠÄIJÄĥng": 132719, + "ĠthÆ°á»Łng": 132720, + "ãĤĴæĦŁãģĺ": 132721, + "à¸ģัà¸ļà¸ģาร": 132722, + "å¾Įãģ«": 132723, + "ĠyaÄŁ": 132724, + "ستاÙĨ": 132725, + "Ġliá»ģn": 132726, + "ãģĦãģ¾": 132727, + "iêu": 132728, + "à¹Ĥà¸Ķà¸Ļ": 132729, + "ĠÙĦذÙĦÙĥ": 132730, + "à¹Ĥรà¸ĩà¹Ģรียà¸Ļ": 132731, + "צ×Ļ×Ĵ": 132732, + "ĠاÙĦÙħعÙĦÙĪÙħات": 132733, + "ç§ģãģŁãģ¡": 132734, + "à¸Ĺีà¹Īà¸Ħุà¸ĵ": 132735, + "ãģ«ãģªãģ£ãģ¦ãģĦãĤĭ": 132736, + "×ŀ×ĵ×Ļ׳×Ķ": 132737, + "×¡×Ľ×Ŀ": 132738, + "Ġвне": 132739, + "à¸ŀà¸Ļัà¸ģà¸ĩาà¸Ļ": 132740, + "ÑĢей": 132741, + "à¹Ģà¸Īà¹īาหà¸Ļà¹īาà¸Ĺีà¹Ī": 132742, + "ĠHiá»ĩn": 132743, + "Ġmédico": 132744, + "ĠتØŃÙĤÙĬÙĤ": 132745, + "ÑĮÑĤе": 132746, + "miÅŁti": 132747, + "ÙĤÙĬادة": 132748, + "ãĤıãģĭãĤĬ": 132749, + "มาà¸Īาà¸ģ": 132750, + "ëħĢ": 132751, + "ãģ«éĸ¢ãģĻãĤĭ": 132752, + "×IJר×Ĵ×ķף": 132753, + "mètre": 132754, + "Ġעצ×ŀ×Ļ": 132755, + "ĠChúa": 132756, + "รูà¹īà¸Ī": 132757, + "รูà¹īà¸Īัà¸ģ": 132758, + "ì£Ħ": 132759, + "ëĭµ": 132760, + "à¹ģà¸Ĺà¹ī": 132761, + "Ġgeçen": 132762, + "Ġlança": 132763, + "ĠاÙĦبØŃØ«": 132764, + "×ĵ×ŀ×ķ": 132765, + "ãģ¯ãģĺ": 132766, + "ãģ¯ãģĺãĤģ": 132767, + "ĠdönÃ¼ÅŁ": 132768, + "è¿ijãģı": 132769, + "à¹Ģสม": 132770, + "à¹Ģสมà¸Ń": 132771, + "ëĿ½": 132772, + "Ġüç": 132773, + "á»ŀ": 132774, + "ÑĪаÑı": 132775, + "à¸Ĺร": 132776, + "ØŃÙĤÙĬÙĤØ©": 132777, + "à¸Ĥà¸Ńà¸ĩà¸ģาร": 132778, + "Ġ무ìĹĩ": 132779, + "Ġ×Ķ׼ר": 132780, + "ĠاÙĦصÙĬÙĨ": 132781, + "ĠлÑİди": 132782, + "à¸ķาย": 132783, + "بÙĪÙĦ": 132784, + "Ġviêm": 132785, + "Ġthiá»ĩu": 132786, + "à¸ģà¸Ķ": 132787, + "Ġ׾×ĵ×ijר": 132788, + "פ׳×Ķ": 132789, + "×IJר×ij×¢": 132790, + "سÙī": 132791, + "ĠاÙĦسÙĬاس": 132792, + "ĠاÙĦسÙĬاسÙĬØ©": 132793, + "ydı": 132794, + "ÙĪØŃØ¯Ø©": 132795, + "ĠдеÑıÑĤелÑĮноÑģÑĤи": 132796, + "Ġ×ķ×Ķ×ŀ": 132797, + "пеÑĩ": 132798, + "пеÑĩаÑĤ": 132799, + "иÑĢованиÑı": 132800, + "ĠÑģог": 132801, + "ĠÑģоглаÑģ": 132802, + "Ġ׼×ĵ": 132803, + "Ġ׼×ĵ×IJ×Ļ": 132804, + "ĠиÑģполÑĮзоваÑĤÑĮ": 132805, + "ספ×ķר×ĺ": 132806, + "Ġilçe": 132807, + "expérience": 132808, + "ĠThá»Ŀi": 132809, + "İK": 132810, + "à¹Ħà¸Łà¸Łà¹īา": 132811, + "ëĵ¤ìĹIJê²Į": 132812, + "à¸Ľà¸£à¸°à¹Ģà¸ł": 132813, + "à¸Ľà¸£à¸°à¹Ģà¸łà¸Ĺ": 132814, + "Ġmümk": 132815, + "Ġmümkün": 132816, + "Ġ×IJ×ķ×ª×ł×ķ": 132817, + "ìĦ±ìĿĦ": 132818, + "ĠìĿ´ìľł": 132819, + "زÙĬارة": 132820, + "Ġoldukça": 132821, + "rób": 132822, + "ĠØ£ÙĨا": 132823, + "Ġ×Ķ×ij×Ļ": 132824, + "Ñģен": 132825, + "×¢×Ļקר": 132826, + "×Ļ×ĵ×ķ×¢": 132827, + "dzÄħ": 132828, + "ÙħعÙĦÙĪÙħات": 132829, + "شاب": 132830, + "Ġparça": 132831, + "à¸Ļะà¸Ħะ": 132832, + "باس": 132833, + "ĠÑĤоÑĢг": 132834, + "ĠÑĤоÑĢгов": 132835, + "Ġ×Ĺ×ĵר": 132836, + "׼ר×ĺ": 132837, + "׼ר×ĺ×Ļס": 132838, + "ĠAyrıca": 132839, + "ệ": 132840, + "ìľ¨": 132841, + "ĠÑĤакие": 132842, + "Ġ×ŀצ×ķ×Ļ": 132843, + "ãĥ©ãĥ³ãĤŃãĥ³ãĤ°": 132844, + "ש×Ļ×ķ×ķ×§": 132845, + "åīįãģ®": 132846, + "ĠBảo": 132847, + "ÑīÑĥ": 132848, + "æĹ©ãģı": 132849, + "ĠPhòng": 132850, + "à¸ŀระราà¸Ĭ": 132851, + "פ×Ĺ×ķת": 132852, + "Ġгл": 132853, + "Ġглаз": 132854, + "à¸Ĺà¹Īา": 132855, + "Ġdạy": 132856, + "ÑĢоÑģÑĤ": 132857, + "à¹Ĥà¸Ķยà¹Ģà¸īà¸ŀาะ": 132858, + "ĠquáºŃn": 132859, + "Ġ×Ĺ×ijר×ķת": 132860, + "même": 132861, + "mÄ±ÅŁtı": 132862, + "ĠاÙĦتداÙĪÙĦ": 132863, + "Ġnạn": 132864, + "Ġ×Ķ×ĵ×Ļ": 132865, + "ĠاÙĦطرÙĬÙĤ": 132866, + "×Ĵ×ķת": 132867, + "Ġ×Ķ×ĵר×ļ": 132868, + "ujÄħce": 132869, + "Ġchữ": 132870, + "ãĤĤãģ®ãģ®": 132871, + "ë°Ľ": 132872, + "ãģķãĤĵãģ¯": 132873, + "Ġyardım": 132874, + "ĠاÙĦعÙħ": 132875, + "Ġì§Ħíĸī": 132876, + "Ġ×Ļ×Ĺ": 132877, + "Ġ×Ļ×Ĺס×Ļ": 132878, + "ĠاÙĦÙħدÙĬÙĨØ©": 132879, + "Ġcú": 132880, + "à¸ģีฬ": 132881, + "à¸ģีฬา": 132882, + "Ġniên": 132883, + "misión": 132884, + "׳×Ļס×Ļ": 132885, + "׳×Ļס×Ļ×ķף": 132886, + "ĠвозÑĢаÑģÑĤ": 132887, + "Ġ×¢×ķש×Ķ": 132888, + "ĠÙħدÙĬر": 132889, + "ÑıÑģÑĮ": 132890, + "ØŃجÙħ": 132891, + "íĻĺê²½": 132892, + "ĠاÙĦأخرÙī": 132893, + "uÃŁer": 132894, + "ĠاÙĦعاÙĦÙħÙĬØ©": 132895, + "ĠNgá»įc": 132896, + "êµIJíļĮ": 132897, + "ä¸Ĭãģ§": 132898, + "×Ļ×Ķ×ķ×ĵ": 132899, + "×Ļ×Ķ×ķ×ĵ×Ļ×Ŀ": 132900, + "Ùħساعدة": 132901, + "ĠжизнÑĮ": 132902, + "ĠпоÑĤомÑĥ": 132903, + "ĠاÙĦÙħÙħÙĦ": 132904, + "ĠاÙĦÙħÙħÙĦÙĥØ©": 132905, + "ĠGör": 132906, + "رÙIJ": 132907, + "×ŀ×§×ķ×ŀ×ķת": 132908, + "åĩºæĿ¥ãĤĭ": 132909, + "ÑĦÑĤ": 132910, + "ĠìĿ´ìłľ": 132911, + "ĠÑĢем": 132912, + "ĠÑĢемонÑĤ": 132913, + "ת×ķ×ļ": 132914, + "æĻĤãģ¯": 132915, + "ãĤīãĤĮãģªãģĦ": 132916, + "altı": 132917, + "å®¶ãģ®": 132918, + "ĠاÙĦإعÙĦاÙħ": 132919, + "리ëĬĶ": 132920, + "ãģĭãĤīãģ¯": 132921, + "ĠHạ": 132922, + "ãģĤãģ®": 132923, + "×ĵ×Ļ×ķף": 132924, + "رÙĬس": 132925, + "ĠsocietÃł": 132926, + "ĠاÙĦÙĥبÙĬر": 132927, + "Ġ×ij×ŀס": 132928, + "Ġ×ij×ŀס×Ĵר": 132929, + "Ġ×ij×ŀס×Ĵרת": 132930, + "ĠìŀĪìľ¼ë©°": 132931, + "Ġnặng": 132932, + "ÙĩÙī": 132933, + "ĠBÃł": 132934, + "×ŀר×ķ": 132935, + "ĠjÄĻ": 132936, + "ĠjÄĻzy": 132937, + "ĠjÄĻzyk": 132938, + "Ġ׼×ŀ×ķ×ijף": 132939, + "×¢×ľ×Ķ": 132940, + "à¸Ĺีà¹Īà¹Ħà¸Ķà¹ī": 132941, + "ãģ¾ãģĹãĤĩãģĨ": 132942, + "×ŀספר": 132943, + "ТÐŀ": 132944, + "سÙĬاسة": 132945, + "ĠкаждÑĭй": 132946, + "ë²ł": 132947, + "tım": 132948, + "yá»ĩn": 132949, + "รีà¹Ī": 132950, + "ĠдеÑĤÑģк": 132951, + "วิà¸ĺีà¸ģาร": 132952, + "mówi": 132953, + "×ĺ×¢×Ŀ": 132954, + "×Ķצ׾×Ĺ×Ķ": 132955, + "ضÙĬÙģ": 132956, + "ĠÑħоÑĤÑı": 132957, + "ãĤĵãģ§ãģĦãĤĭ": 132958, + "à¸Ħาà¸Ķ": 132959, + "à¸Ħรà¸ļ": 132960, + "ĠкÑĥÑĢÑģ": 132961, + "ĠbaÅŁarı": 132962, + "×ijר×ķ": 132963, + "ÙĬعة": 132964, + "ĠÐĿÑĥ": 132965, + "à¸Ħวามà¹Ģà¸Ľà¹ĩà¸Ļ": 132966, + "Ġ׾×ŀש׾": 132967, + "Ġì¢ĭìĿĢ": 132968, + "Ùħؤسس": 132969, + "Ùħؤسسات": 132970, + "Ġprécis": 132971, + "Ġthảo": 132972, + "à¸ģà¹ĩà¸Ħืà¸Ń": 132973, + "Ġש׼׾": 132974, + "führung": 132975, + "ãģĦãģ§": 132976, + "à¹ģละมี": 132977, + "à¸ģà¹ĩมี": 132978, + "Ġשש": 132979, + "мел": 132980, + "Ġкниг": 132981, + "ĠباÙĦÙĨ": 132982, + "ĠباÙĦÙĨسبة": 132983, + "Ġaldı": 132984, + "ÑĤай": 132985, + "Ġ×Ĺ×ĵש×Ļ×Ŀ": 132986, + "å®Łãģ¯": 132987, + "عÙĪØ§": 132988, + "ĠìĿĺ미": 132989, + "изм": 132990, + "ÑĢабоÑĤаÑĤÑĮ": 132991, + "Ù쨵": 132992, + "Ġ×ij׳×ķסף": 132993, + "ãģ¨ãģĹãģ¦ãĤĤ": 132994, + "à¹Ģà¸Ľà¹ĩà¸Ļà¸Ĺีà¹Ī": 132995, + "ĠÑģледÑĥеÑĤ": 132996, + "èĢĥãģĪãģ¦": 132997, + "Ġ׼×Ļ×ķ×Ŀ": 132998, + "ÑģÑĤÑĭ": 132999, + "׼׾׼׾×Ļ": 133000, + "æµģãĤĮ": 133001, + "ãĤĴãģ¤ãģij": 133002, + "ÑĩаÑĤ": 133003, + "×Ļ׼×ķף": 133004, + "×Ļר×Ļ": 133005, + "larıyla": 133006, + "ãĤ¤ãĥ¡": 133007, + "ãĤ¤ãĥ¡ãĥ¼ãĤ¸": 133008, + "׳×ĸ×§": 133009, + "Ġciò": 133010, + "Ġsın": 133011, + "Ġsınır": 133012, + "à¸Ļà¸Ħร": 133013, + "каÑĤ": 133014, + "Ġlá»Ĺi": 133015, + "ëŀĮ": 133016, + "تÙģØ§Øµ": 133017, + "تÙģØ§ØµÙĬÙĦ": 133018, + "ëĨĵ": 133019, + "ĠÙħض": 133020, + "ilmiÅŁ": 133021, + "بارÙĥ": 133022, + "ÐĿÐĺ": 133023, + "Ġthẩm": 133024, + "Ġ×IJ×ķת×ļ": 133025, + "ĠпÑĢиним": 133026, + "ĠпÑĢинима": 133027, + "Ġyönt": 133028, + "Ġyöntem": 133029, + "Ġ×ŀ×§×ij׾": 133030, + "Ġktórego": 133031, + "ê·Ģ": 133032, + "شرÙģ": 133033, + "داÙħ": 133034, + "ãģĦãĤįãģĦãĤį": 133035, + "ĠAlém": 133036, + "Ġgörü": 133037, + "Ġgörünt": 133038, + "Ġgörüntü": 133039, + "دس": 133040, + "ÑĪки": 133041, + "гÑĢад": 133042, + "Ġlạc": 133043, + "Ġsữa": 133044, + "ãĤīãĤĮãģ¾ãģĻ": 133045, + "oÃłi": 133046, + "Ñīен": 133047, + "ãģĭãģªãģĦ": 133048, + "Ġпоп": 133049, + "ĠпопÑĥ": 133050, + "ĠпопÑĥлÑıÑĢ": 133051, + "ĠاÙĦÙħÙĪÙĤع": 133052, + "räg": 133053, + "A": 133054, + "íķĦ": 133055, + "ãĤĴè¦ĭãĤĭ": 133056, + "اÙħا": 133057, + "ĠاÙĦØŃرب": 133058, + "ĠÐŁÐ°": 133059, + "Ġ׾×IJתר": 133060, + "Ġtá»ijc": 133061, + "×ij׾×Ķ": 133062, + "رئÙĬس": 133063, + "вÑĥ": 133064, + "ÙĬدÙĬ": 133065, + "казан": 133066, + "Ġ×Ĺש×ij×ķף": 133067, + "hôtel": 133068, + "×¢×ķ׳×Ķ": 133069, + "بÙĨÙĬ": 133070, + "×ŀ×ķ׾": 133071, + "ĠднÑı": 133072, + "éĽ£ãģĹãģĦ": 133073, + "ведениÑı": 133074, + "Ġ×ķ×ŀת": 133075, + "напÑĢимеÑĢ": 133076, + "ÙĤابÙĦ": 133077, + "Ġrésultat": 133078, + "ĠÑĢазвиÑĤиÑı": 133079, + "رÙij": 133080, + "ìłĦ문": 133081, + "ĠاÙĦÙħزÙĬد": 133082, + "ĠìľĦíķ´ìĦľ": 133083, + "ëĨį": 133084, + "íĻķ": 133085, + "ĠThiết": 133086, + "íĮ¨": 133087, + "malıdır": 133088, + "ĠczÅĤ": 133089, + "ĠczÅĤowie": 133090, + "ĠczÅĤowiek": 133091, + "ĠÙĦبÙĨ": 133092, + "ĠÙĦبÙĨاÙĨ": 133093, + "üsü": 133094, + "ãģªãĤĵãģł": 133095, + "Ġżycie": 133096, + "ĠÑħоÑĢоÑĪо": 133097, + "æĸ¹ãģ«": 133098, + "ëĭ¤ë©´": 133099, + "иÑĩеÑģкаÑı": 133100, + "ער×Ļ׼": 133101, + "ער×Ļ×Ľ×ª": 133102, + "ãģ¾ãģĽãĤĵãģ§ãģĹãģŁ": 133103, + "ĠÑģобой": 133104, + "Ġgá»Ĺ": 133105, + "ĠделаÑĤÑĮ": 133106, + "daÄĩ": 133107, + "аÑĢа": 133108, + "różni": 133109, + "à¹Ģลีà¹ī": 133110, + "à¹Ģลีà¹īย": 133111, + "à¹Ģลีà¹īยà¸ĩ": 133112, + "à¸Ŀาà¸ģ": 133113, + "ĠتÙĤ": 133114, + "ĠتÙĤدÙĬ": 133115, + "ĠتÙĤدÙĬÙħ": 133116, + "หà¸Ļุà¹Īม": 133117, + "Ġmücade": 133118, + "Ġmücadele": 133119, + "ì§Ģ를": 133120, + "ãĤ¤ãĤ¹": 133121, + "Ġأساس": 133122, + "jÄħcego": 133123, + "ĠÅŁeh": 133124, + "нÑĤеÑĢ": 133125, + "ÑĨиÑİ": 133126, + "ï»»": 133127, + "ÑİÑīего": 133128, + "à¹Ĥà¸Ľà¸£à¹ģ": 133129, + "à¹Ĥà¸Ľà¸£à¹ģà¸ģรม": 133130, + "ĠmieÄĩ": 133131, + "ØŃÙĥÙĪÙħØ©": 133132, + "ãģ§ãģĹãģŁãģĮ": 133133, + "×Ļס×Ķ": 133134, + "ãĤĤãģ®ãĤĴ": 133135, + "Ġ×ŀ×IJת": 133136, + "สุà¸Ķà¸Ĺà¹īาย": 133137, + "ĠcÅ©": 133138, + "ÙĨسب": 133139, + "ĠпÑĢоÑĩ": 133140, + "Ġдней": 133141, + "ĠÑįÑĤиÑħ": 133142, + "׾×ŀת": 133143, + "нÑıÑı": 133144, + "Ñįк": 133145, + "Ġì§ĢëĤľ": 133146, + "มหาวิà¸Ĺยา": 133147, + "มหาวิà¸Ĺยาล": 133148, + "มหาวิà¸Ĺยาลัย": 133149, + "dão": 133150, + "ĠMáy": 133151, + "ĠêµŃê°Ģ": 133152, + "à¸ļุรี": 133153, + "×Ĵ×Ļ׾": 133154, + "ĠÑĤÑĭÑģÑı": 133155, + "ĠÑĤÑĭÑģÑıÑĩ": 133156, + "ÙģÙĥ": 133157, + "ĠÐĺÑģ": 133158, + "è¡ĮãĤıãĤĮ": 133159, + "פר×ĵ": 133160, + "ãģ¤ãģį": 133161, + "à¸Ħรà¸Ńà¸ļ": 133162, + "à¸Ħรà¸Ńà¸ļà¸Ħรัว": 133163, + "à¸Ĥึà¹īà¸Ļมา": 133164, + "ä»ĬæĹ¥ãģ¯": 133165, + "ĠìĤ¬ëŀĮìĿ´": 133166, + "עצ×ŀ×Ķ": 133167, + "поÑĢ": 133168, + "ĠKỳ": 133169, + "ĠÆ¡n": 133170, + "ĠthÄĥm": 133171, + "Ù쨧ÙĤ": 133172, + "ãģļãģ«": 133173, + "Ġ׾קר": 133174, + "Ġ׾קר×ķ×IJ": 133175, + "اÙģÙĬØ©": 133176, + "ÙħÙİØ§": 133177, + "гаÑĢ": 133178, + "صÙĦا": 133179, + "صÙĦاة": 133180, + "Ġ×ŀ×ĸ×Ķ": 133181, + "lıģını": 133182, + "Ġ×IJ×Ļ׳×Ķ": 133183, + "кÑĢо": 133184, + "Ġngươi": 133185, + "Ġвним": 133186, + "Ġвнимание": 133187, + "jÄħcy": 133188, + "ÙĢÙĢÙĢÙĢÙĢ": 133189, + "ÑģÑħод": 133190, + "ãģªãĤĵãģĭ": 133191, + "×ŀ×Ļ׾": 133192, + "Ġ×Ķ×IJ×Ĺ": 133193, + "ãĤıãģªãģĦ": 133194, + "عسÙĥر": 133195, + "ĠìĦ¸ê³Ħ": 133196, + "ĠÑĩего": 133197, + "ĠÑģÑĢедÑģÑĤва": 133198, + "ĠÐłÐ°Ñģ": 133199, + "ãģªãģģ": 133200, + "ÙĨÙ쨳": 133201, + "ר×Ļ×ķף": 133202, + "ÑģÑĥд": 133203, + "ĠìĿ¸ê°Ħ": 133204, + "ĠاÙĦÙħÙĤبÙĦ": 133205, + "ÙĨعÙħ": 133206, + "تÙĪÙ쨱": 133207, + "ש×ij×¢": 133208, + "ılm": 133209, + "ılmÄ±ÅŁ": 133210, + "Ġ×ľ×ª×ª": 133211, + "تصÙģ": 133212, + "×Ķפ×ķ×ļ": 133213, + "à¹ĥà¸Ļà¸Ľà¸µ": 133214, + "ìĿ´ê³ł": 133215, + "ÙģÙĪØ²": 133216, + "à¸ľà¸¥à¸ĩาà¸Ļ": 133217, + "ĠGiáo": 133218, + "à¸ļà¸Ńà¸ģวà¹Īา": 133219, + "ĠdÄ±ÅŁ": 133220, + "ĠdÄ±ÅŁÄ±nda": 133221, + "죽": 133222, + "ĠdzieÅĦ": 133223, + "кÑĨии": 133224, + "иÑĨе": 133225, + "ãģ®ä¸Ģ": 133226, + "عش": 133227, + "пÑĢеÑģÑģ": 133228, + "หà¸Ļà¹Īà¸Ńย": 133229, + "ลัà¸ģษà¸ĵะ": 133230, + "ĠpossibilitÃł": 133231, + "à¹Ħà¸Ķà¹īรัà¸ļà¸ģาร": 133232, + "หยุà¸Ķ": 133233, + "Ġphiên": 133234, + "çĶŁãģ¾ãĤĮ": 133235, + "Ø·ÙĪÙĦ": 133236, + "ÑĦин": 133237, + "für": 133238, + "ØŃÙĬاة": 133239, + "íĸĪìĬµëĭĪëĭ¤": 133240, + "׼׳×ķת": 133241, + "à¸Ľà¸£à¸°à¸ª": 133242, + "à¸Ľà¸£à¸°à¸ªà¸ļ": 133243, + "à¸Ľà¸£à¸°à¸ªà¸ļà¸ģารà¸ĵà¹Į": 133244, + "ëIJĺìĹĪ": 133245, + "Ġkażdy": 133246, + "Ġluyá»ĩn": 133247, + "ĠоÑĢганизаÑĨии": 133248, + "å°ijãģªãģı": 133249, + "ÑģÑĤÑĢоен": 133250, + "Ġtécnico": 133251, + "×§×Ķ׾": 133252, + "Ġ×ķ×IJ×Ĺ": 133253, + "ĠعÙĦÙĬÙĥ": 133254, + "Ñīение": 133255, + "Ġ×Ķ×Ļ׾×ĵ×Ļ×Ŀ": 133256, + "ÙĪØ³Ø§Ø¦ÙĦ": 133257, + "Ġ×ķ×Ķת": 133258, + "تÙħÙĬز": 133259, + "ĠÑģказал": 133260, + "Ġполи": 133261, + "Ġ×Ķ×ŀס": 133262, + "ÙĦÙijÙİ": 133263, + "Ùħؤسسة": 133264, + "Ġ×ŀ×Ļ×ĵ": 133265, + "ãģ£ãģ¡": 133266, + "ĠëĦĪ무": 133267, + "à¸ŀี": 133268, + "Ġtặng": 133269, + "Ġtấn": 133270, + "רש×Ŀ": 133271, + "Ġmédica": 133272, + "Ġ×¢×ķ×ŀ": 133273, + "Ġ×¢×ķ×ŀ×ĵ": 133274, + "ÑĦоÑĢ": 133275, + "Ùħرة": 133276, + "Ġvatanda": 133277, + "ĠvatandaÅŁ": 133278, + "Ġдело": 133279, + "à¸Ļม": 133280, + "ãģ¨åIJĮãģĺ": 133281, + "ÙģÙī": 133282, + "ÑģоÑĢ": 133283, + "Ġ×Ķסר×ĺ": 133284, + "Ġépoca": 133285, + "ìłķì±ħ": 133286, + "ĠÑģвÑıзан": 133287, + "ضرب": 133288, + "ĠÙĦÙĨا": 133289, + "Ġużywa": 133290, + "ĠاÙĦجÙĬØ´": 133291, + "ÑİÑĢ": 133292, + "×ijס×ķ×£": 133293, + "ĠмÑĥ": 133294, + "ĠмÑĥзÑĭк": 133295, + "bilité": 133296, + "Ġmaç": 133297, + "سÙİ": 133298, + "تÙĦÙĥ": 133299, + "ãģ¬": 133300, + "ÙĬÙĦا": 133301, + "ÑĪла": 133302, + "ÙĢÙĢÙĢ": 133303, + "Ġодной": 133304, + "зван": 133305, + "ĠÑģÑĢаз": 133306, + "ĠÑģÑĢазÑĥ": 133307, + "ÙĨظÙħ": 133308, + "راÙĩ": 133309, + "ĠÙĦÙĩذا": 133310, + "׼×ķר": 133311, + "Ġ×Ķש×ij×ķ×¢": 133312, + "Ġ×Ķשת": 133313, + "ĠQuảng": 133314, + "ãĥ«ãĥ¼": 133315, + "ãģĪãģªãģĦ": 133316, + "×ĺ×IJ": 133317, + "Ġmiá»ģn": 133318, + "ĠPháºŃt": 133319, + "ĠاÙĦسÙĪÙĤ": 133320, + "ÄĤ": 133321, + "ĠاÙĦجÙħع": 133322, + "ĠاÙĦجÙħعة": 133323, + "ÑİÑīей": 133324, + "aÅĤem": 133325, + "عتÙĤد": 133326, + "Ø£ÙĦÙħ": 133327, + "Ñģке": 133328, + "ĠìĿ´íķ´": 133329, + "ÙĨسخ": 133330, + "è¨ĢãģĦ": 133331, + "добав": 133332, + "سبÙĤ": 133333, + "×¢×ķרר": 133334, + "ÑĤип": 133335, + "ãģĿãģĵãģ§": 133336, + "visión": 133337, + "عÙĪØ¯Ø©": 133338, + "먹": 133339, + "×ŀ×ĸר×Ĺ": 133340, + "ĠØ¥ØŃ": 133341, + "Ġ׾×ij×Ļף": 133342, + "Ġ׾צ×IJת": 133343, + "Ġyardı": 133344, + "Ġyardımc": 133345, + "Ġyardımcı": 133346, + "İZ": 133347, + "קפ×Ķ": 133348, + "tré": 133349, + "liÄŁini": 133350, + "клÑİÑĩа": 133351, + "Ġüretim": 133352, + "Ġayrı": 133353, + "ĠkiÅŁiler": 133354, + "à¸Ħà¹īà¸Ļ": 133355, + "à¸Ħà¹īà¸Ļหา": 133356, + "ĠSá»±": 133357, + "Ġ×Ľ×¡": 133358, + "Ġ×Ľ×¡×£": 133359, + "ĠÑĤакиÑħ": 133360, + "ĠXuân": 133361, + "Ġлег": 133362, + "Ġлегко": 133363, + "Ø«ÙĤاÙ쨩": 133364, + "ÐĿÐŀ": 133365, + "ãĤ¹ãĤ¿ãĥĥ": 133366, + "ãĤ¹ãĤ¿ãĥĥãĥķ": 133367, + "åIJĪãģĦ": 133368, + "Ġ×Ķש×Ļ×ŀ×ķש": 133369, + "manız": 133370, + "ĠÐĴаÑģ": 133371, + "gün": 133372, + "ìľĦìĽIJíļĮ": 133373, + "Ġwspóln": 133374, + "ĠÑģвое": 133375, + "íĥģ": 133376, + "à¹Ģà¸Ļีย": 133377, + "ÙĪØ¨Ø©": 133378, + "вÑıз": 133379, + "ıdır": 133380, + "ëIJĺìĹĪëĭ¤": 133381, + "ĠdeÄŁiÅŁtir": 133382, + "ãĤĭãģĵãģ¨ãģĮ": 133383, + "Ġ×Ĺ×ĵש×Ķ": 133384, + "ãĤīãĤĮãģ¦ãģĦãĤĭ": 133385, + "×Ĺ×Ļ×Ļ×ij": 133386, + "ĠÐļаÑĢ": 133387, + "׳×Ļת×ķ×Ĺ": 133388, + "Ġ×§×ĺף": 133389, + "ר×ĸ": 133390, + "ÙĪØº": 133391, + "èªŃãģ¿": 133392, + "ĠتÙĤÙĪÙħ": 133393, + "ĠÙĥاÙĦ": 133394, + "à¸Ŀึà¸ģ": 133395, + "Ġë°ľìĥĿ": 133396, + "ológico": 133397, + "راع": 133398, + "à¹ģà¸ģà¹īà¹Ħà¸Ĥ": 133399, + "ĠÑĢабоÑĤÑĥ": 133400, + "ÙĨÙijÙİ": 133401, + "à¸Ńยูà¹Īà¸Ĺีà¹Ī": 133402, + "ĠاÙĦثاÙĨÙĬØ©": 133403, + "ĠNhân": 133404, + "ÑħваÑĤ": 133405, + "öne": 133406, + "Ġعدة": 133407, + "à¹ģสà¸ĩ": 133408, + "ÑĤоп": 133409, + "пÑĥÑģка": 133410, + "شراء": 133411, + "ĠÐļом": 133412, + "Ġפע×ķ׾×Ķ": 133413, + "ìĤ¬ìĿ´": 133414, + "ìĤ¬ìĿ´íĬ¸": 133415, + "è¡Įãģ£ãģ¦": 133416, + "Ġ×Ķ×Ķת": 133417, + "ĠÑģÑĤоÑĢо": 133418, + "ĠÑģÑĤоÑĢонÑĭ": 133419, + "درس": 133420, + "à¸ĭู": 133421, + "à¸ķà¹Īำ": 133422, + "ĠأبÙĬ": 133423, + "подоб": 133424, + "ãģ«ãģ¦": 133425, + "ارتÙģØ§Ø¹": 133426, + "ĠÙħؤ": 133427, + "иков": 133428, + "geführt": 133429, + "มืà¸Ńà¸ĸืà¸Ń": 133430, + "ĠÙĦÙĤد": 133431, + "ĠØ£ÙĨÙij": 133432, + "سÙĬطر": 133433, + "ãģ¾ãģļãģ¯": 133434, + "ס×ĵ": 133435, + "ÑģколÑĮко": 133436, + "ãģ¿ãģŁãģĦãģª": 133437, + "×ĵר×Ĵ": 133438, + "×¢×Ļ×ĵ": 133439, + "à¹ĥหà¹īà¸ļริà¸ģาร": 133440, + "ĠÐĶи": 133441, + "×ij×¢×Ļ×ķת": 133442, + "Ġ×Ķ×Ĺ×ķ": 133443, + "пиÑģÑĮ": 133444, + "ĠاÙĦØ®ÙĦ": 133445, + "бав": 133446, + "Ġİlk": 133447, + "ĠاÙĦØ®Ùħ": 133448, + "ĠاÙĦØ®ÙħÙĬس": 133449, + "ĠÙĬÙĤÙĪÙħ": 133450, + "æĻĤãģ®": 133451, + "ĠsÅĤow": 133452, + "ĠØ£ÙĩÙħ": 133453, + "Ø®ÙĦÙĤ": 133454, + "ĠأصبØŃ": 133455, + "Ġchứa": 133456, + "Ġthác": 133457, + "Ù쨧ÙĦ": 133458, + "Ġchá»Ŀ": 133459, + "ĠاÙĦخار": 133460, + "ĠاÙĦخارج": 133461, + "ĠاÙĦخارجÙĬØ©": 133462, + "طائر": 133463, + "ĠtÃł": 133464, + "ĠtÃłu": 133465, + "à¸ģลà¹īà¸Ńà¸ĩ": 133466, + "ĠاÙĦÙħرأ": 133467, + "ĠاÙĦÙħرأة": 133468, + "åħ¨ãģı": 133469, + "ĠÃĸn": 133470, + "çļĦãģ«ãģ¯": 133471, + "Ġpièce": 133472, + "×Ĵ×Ļ×ij": 133473, + "ĠاÙĦÙĪØ§ÙĤع": 133474, + "ä»Ĭãģ®": 133475, + "ĠاÙĦÙħÙĤ": 133476, + "cznÄħ": 133477, + "ÙģØ¹Ø§ÙĦ": 133478, + "енного": 133479, + "ĠÑĦакÑĤ": 133480, + "ìĭłì²Ń": 133481, + "ĠÐŀни": 133482, + "ĠاÙĦبÙĦاد": 133483, + "овиÑĩ": 133484, + "ëıĮ": 133485, + "ÑĦÑĥнкÑĨи": 133486, + "Ġìĸ´ëĬIJ": 133487, + "ãĥķãĤ©ãĥ¼": 133488, + "dÃŃ": 133489, + "илоÑģÑĮ": 133490, + "ÙħÙī": 133491, + "ĠاÙĦØ£ÙħرÙĬÙĥ": 133492, + "ĠاÙĦØ£ÙħرÙĬÙĥÙĬØ©": 133493, + "×ĺ×Ļפ×ķ׾": 133494, + "íĶĦë¡ľê·¸": 133495, + "íĶĦë¡ľê·¸ëŀ¨": 133496, + "Ġש×ķ׳×ķת": 133497, + "Ø´ÙħÙĦ": 133498, + "ĠпаÑĢа": 133499, + "Ġ×Ķ×Ĺ×ķ×§": 133500, + "ÙĪØ²Ø§Ø±Ø©": 133501, + "ãģ¨ãģĻãĤĭ": 133502, + "Ġquảng": 133503, + "Ġaģır": 133504, + "ĠاÙĦÙĦج": 133505, + "ĠاÙĦÙĦجÙĨØ©": 133506, + "긴": 133507, + "ĠTân": 133508, + "جÙħÙĦ": 133509, + "дол": 133510, + "à¹ģà¸ŀà¸Ĺย": 133511, + "à¹ģà¸ŀà¸Ĺยà¹Į": 133512, + "Ġר×IJש×Ļ": 133513, + "Ñīей": 133514, + "Ġçevre": 133515, + "ĠкомплекÑģ": 133516, + "Ġ×ij×ŀש×ļ": 133517, + "Ġaltın": 133518, + "ĠأعÙħاÙĦ": 133519, + "ĠÑģвоего": 133520, + "ãĤĪãģĦ": 133521, + "×Ĺ׾×Ļ×ĺ": 133522, + "×ŀ×ł×¢": 133523, + "Ġר×ij×Ķ": 133524, + "ĠØ£ÙĬضاÙĭ": 133525, + "×ĸ׾": 133526, + "ĠاÙĦسÙĬاسÙĬ": 133527, + "æĢĿãģĨ": 133528, + "קרק": 133529, + "קרקע": 133530, + "ĠاÙĦÙ쨱ÙĬÙĤ": 133531, + "биÑĤ": 133532, + "ק׳×Ķ": 133533, + "ĠØ¥ÙĨÙĩ": 133534, + "ĠÐĴам": 133535, + "ÐłÐŀ": 133536, + "ãĥĪãĥª": 133537, + "å¿ħè¦ģãģª": 133538, + "Ġchâu": 133539, + "ç¶ļãģij": 133540, + "Ġçözüm": 133541, + "gÅĤow": 133542, + "عÙĤÙĦ": 133543, + "売ãĤĭ": 133544, + "iết": 133545, + "à¸Ĭิà¹īà¸Ļ": 133546, + "ĠØŃÙĤÙĪÙĤ": 133547, + "Ø·ÙĦع": 133548, + "ĠÄijen": 133549, + "ĠÙĥاÙ쨩": 133550, + "ãģ®ãģĶ": 133551, + "Ġë¬": 133552, + "Ġ물": 133553, + "Ġë¬¼ë¡ł": 133554, + "ĠرسÙĪÙĦ": 133555, + "зам": 133556, + "замен": 133557, + "Ġkullanıcı": 133558, + "×¢×ķ׾": 133559, + "èī²ãĢħ": 133560, + "ÑĪиÑĢ": 133561, + "Ġ×Ĺש": 133562, + "Ġwygl": 133563, + "ĠwyglÄħda": 133564, + "ש×Ļ×ŀ×ķש": 133565, + "å¿ĺãĤĮ": 133566, + "×¢×Ļצ×ķ×ij": 133567, + "ĠاÙĦسÙĪØ±ÙĬ": 133568, + "å°ijãģªãģĦ": 133569, + "ĠпоиÑģк": 133570, + "สำà¸Ļัà¸ģà¸ĩาà¸Ļ": 133571, + "Ġ×ŀצ×ĵ": 133572, + "ĠmÃ¼ÅŁ": 133573, + "ĠmÃ¼ÅŁter": 133574, + "ĠmÃ¼ÅŁteri": 133575, + "ĠÙħÙĨÙĩÙħ": 133576, + "à¸ķำà¹ģ": 133577, + "à¸ķำà¹ģหà¸Ļ": 133578, + "à¸ķำà¹ģหà¸Ļà¹Īà¸ĩ": 133579, + "ÅĽmie": 133580, + "Ġ×©×ł×ª": 133581, + "Ġ×Ķפ×Ļ": 133582, + "פרש": 133583, + "×¢×ijר×Ļת": 133584, + "สà¸Ļัà¸ļ": 133585, + "สà¸Ļัà¸ļสà¸Ļุ": 133586, + "สà¸Ļัà¸ļสà¸Ļุà¸Ļ": 133587, + "è¨Ģãģ£ãģ¦": 133588, + "à¸ģารà¸Īัà¸Ķ": 133589, + "ĠMoże": 133590, + "изаÑĨии": 133591, + "ứt": 133592, + "ĠÙĪØ¨Ø¹Ø¯": 133593, + "ĠdeÄŁild": 133594, + "ĠdeÄŁildir": 133595, + "Ġת×ŀ": 133596, + "Ġ×ŀ×ŀ׳×ķ": 133597, + "話ãĤĴ": 133598, + "ĠÑĨена": 133599, + "Ġthúc": 133600, + "×Ļ×ŀ×ķף": 133601, + "ĠBáo": 133602, + "ãĤĴåıĸãĤĬ": 133603, + "å®īãģĦ": 133604, + "Ġ×¢×ķש×Ļ×Ŀ": 133605, + "èĩªåĪĨãģĮ": 133606, + "lée": 133607, + "ãĤĭãģ®ãģ§": 133608, + "иÑĢÑĥеÑĤ": 133609, + "ãģ¦ãĤĭ": 133610, + "ستر": 133611, + "ĠاÙĦØŃÙĬ": 133612, + "×Ļ׾×ķת": 133613, + "Ġ×Ĺ×ij": 133614, + "ÙĤرأ": 133615, + "تÙħÙĥÙĨ": 133616, + "سائÙĦ": 133617, + "prüf": 133618, + "ãģĭãģijãģ¦": 133619, + "ĠÑģобÑģÑĤвенно": 133620, + "ĠìľĦíķĺìŬ": 133621, + "׾×Ļ×ĺ": 133622, + "ãģĮå¤ļãģı": 133623, + "ÙĬتÙĩا": 133624, + "ç«ĭãģ¦": 133625, + "มà¸Ńà¸ļ": 133626, + "ìĭľìŀ¥": 133627, + "оÑĢа": 133628, + "ĠsavaÅŁ": 133629, + "×ĺ×Ļ×ij×Ļ": 133630, + "×ij׳×ķ": 133631, + "Ùħاذا": 133632, + "기ê°Ħ": 133633, + "ãģªãģ©ãģ§": 133634, + "Ġ×ŀת×Ĺ×Ļ׾": 133635, + "Ġnhiá»ħ": 133636, + "Ġnhiá»ħm": 133637, + "каÑĢ": 133638, + "каÑĢÑĤ": 133639, + "Ġ׾×Ķשת×ŀש": 133640, + "׳×Ļ×Ĺ": 133641, + "ادÙĬØ©": 133642, + "รายà¸ĩาà¸Ļ": 133643, + "ĠprzykÅĤad": 133644, + "Ñīий": 133645, + "ØŃضÙĪØ±": 133646, + "Ġhôn": 133647, + "ÃĿ": 133648, + "ת×ķצ×IJ×ķת": 133649, + "رابط": 133650, + "Ġbếp": 133651, + "ĠполÑĥÑĩи": 133652, + "åĩºä¼ļãģĦç³»": 133653, + "à¸Ľà¸¥à¹Īà¸Ńย": 133654, + "ĠاÙĦشباب": 133655, + "اÙĩÙĦ": 133656, + "ä»Ĭãģ¾ãģ§": 133657, + "رجع": 133658, + "ãĤ¶ãĥ¼": 133659, + "ÙĤÙģ": 133660, + "ĠGroÃŁ": 133661, + "ĠíļĮìĽIJ": 133662, + "اجر": 133663, + "Ġ×ij×ŀקר×Ķ": 133664, + "Ġsegurança": 133665, + "fühl": 133666, + "ãģ¦ãģĦãģı": 133667, + "หมà¸Ń": 133668, + "ĠкоÑĤоÑĢом": 133669, + "ĠNÄĥm": 133670, + "ĠdÅĤugo": 133671, + "ÙħÙĨØŃ": 133672, + "ש×ķ×ķ×Ļ": 133673, + "ĠØ£ÙĬاÙħ": 133674, + "à¸ªà¸łà¸²à¸ŀ": 133675, + "rzÄħ": 133676, + "شرÙĥات": 133677, + "ãĤĴèĢĥãģĪ": 133678, + "даÑĢ": 133679, + "à¸Ľà¸£à¸°à¸Ĭุม": 133680, + "Ġ×ķ×IJ×ĸ": 133681, + "iá»ĩn": 133682, + "Ġtươi": 133683, + "ש×Ļ×Ĺ": 133684, + "à¸Ńà¹Īà¸Ńà¸Ļ": 133685, + "æĽ¸ãģĦãģ¦": 133686, + "Ġngữ": 133687, + "×ij×Ļ×ĺ×Ĺ": 133688, + "×ij×Ļ×ĺ×Ĺ×ķף": 133689, + "Ġsẵ": 133690, + "Ġsẵn": 133691, + "ì§ĢëıĦ": 133692, + "ĠпÑĢеп": 133693, + "ĠпÑĢепаÑĢаÑĤ": 133694, + "ĠнаÑĥÑĩ": 133695, + "ĠÃľnivers": 133696, + "ĠÃľniversites": 133697, + "ĠÃľniversitesi": 133698, + "Ġ×Ĵ×ĵ×ķ׾×Ķ": 133699, + "Ġ×Ķ×ł×ª": 133700, + "Ġ×Ķ×ł×ª×ij×¢": 133701, + "ãģ§ãģĤãģ£ãģŁ": 133702, + "ĠmiesiÄħ": 133703, + "ĠmiesiÄħc": 133704, + "гÑĢам": 133705, + "гÑĢамм": 133706, + "ĠبشأÙĨ": 133707, + "ĠÑħÑĢ": 133708, + "×§×Ļ×ĵ": 133709, + "×§×Ļ×ĵ×ķ×Ŀ": 133710, + "Ø´Ùĥر": 133711, + "Ġá»ķ": 133712, + "Ġá»ķn": 133713, + "ãģĮãģĤãģ£ãģ¦": 133714, + "ãģķãĤĮãģ¾ãģĻ": 133715, + "Ġ×Ĺ×ķ×ĵ": 133716, + "Ġ×Ĺ×ķ×ĵש×Ļ×Ŀ": 133717, + "ÙħÙĪØ§Ø¬Ùĩ": 133718, + "ÙħÙĪØ§Ø¬ÙĩØ©": 133719, + "أشخاص": 133720, + "بغ": 133721, + "à¹Ģรียà¸Ļรูà¹ī": 133722, + "ãģĹãģ¦ãģĦãģı": 133723, + "Ġsạn": 133724, + "å¿ħãģļ": 133725, + "׳×Ļ×Ĵ": 133726, + "׳×Ļ×Ĵ×ķ×ĵ": 133727, + "باÙĦغ": 133728, + "×Ĺש×ŀ": 133729, + "×Ĺש×ŀ׾": 133730, + "Ġnapraw": 133731, + "ĠnaprawdÄĻ": 133732, + "Ø´Ùĩاد": 133733, + "×IJ×ķ×Ķ": 133734, + "×IJ×ķ×Ķ×ij": 133735, + "иÑĨÑĭ": 133736, + "Ġ×Ķר׼×ij": 133737, + "ëŀij": 133738, + "Ġתע": 133739, + "Ġ×Ķ×Ļש": 133740, + "Ġ×Ķ×Ļשר×IJ": 133741, + "Ġ×Ķ×Ļשר×IJ׾×Ļ": 133742, + "Ø£ÙħÙĨ": 133743, + "ÑİÑīаÑı": 133744, + "skór": 133745, + "LERİ": 133746, + "Ġ×Ķ×IJ×Ĺר×ķף": 133747, + "×¢×ł×§": 133748, + "ĠÙĪÙĥÙĦ": 133749, + "ãģĵãģĵãģ§": 133750, + "Ġquán": 133751, + "liÄŁin": 133752, + "à¸ģà¸İหมาย": 133753, + "Ø·Ùħ": 133754, + "أجÙĩ": 133755, + "أجÙĩزة": 133756, + "ĠErdoÄŁan": 133757, + "ãģ§ãģĬ": 133758, + "ĠвÑĢа": 133759, + "ĠвÑĢаÑĩ": 133760, + "ĠPhó": 133761, + "à¸Ĭัà¹Īว": 133762, + "à¸Ĭัà¹Īวà¹Ĥม": 133763, + "à¸Ĭัà¹Īวà¹Ĥมà¸ĩ": 133764, + "Ġphúc": 133765, + "×Ļפ×ķת": 133766, + "×¢×Ļ×ķף": 133767, + "Ġdużo": 133768, + "ãĥģãĥ¼ãĥł": 133769, + "ĠÙĬÙİ": 133770, + "ĠзадаÑĩ": 133771, + "Ġ×Ĵ×ij×ķ×Ķ×Ķ": 133772, + "Ġ׼׼׾": 133773, + "ложен": 133774, + "état": 133775, + "ĠngÄĥn": 133776, + "èµ·ãģį": 133777, + "ĠTiến": 133778, + "صعب": 133779, + "Ġexperiência": 133780, + "Ø®Ùħ": 133781, + "à¸ģารà¸Ĺำà¸ĩาà¸Ļ": 133782, + "سÙĬد": 133783, + "ĠDá»±": 133784, + "ĠкоÑĤоÑĢого": 133785, + "ladıģı": 133786, + "Ġkhá»ķ": 133787, + "Ġê³ĦìĨį": 133788, + "Ñīик": 133789, + "สà¹Īวà¸Ļà¸ķัว": 133790, + "зоÑĢ": 133791, + "ÙĨÙı": 133792, + "Ġà¸Ķัà¸ĩ": 133793, + "Ġà¸Ķัà¸ĩà¸Ļัà¹īà¸Ļ": 133794, + "Ġcấu": 133795, + "ĠÄijá»ijc": 133796, + "оÑĦ": 133797, + "ĠاÙĦأعÙħاÙĦ": 133798, + "ãģªãģıãģ¦ãĤĤ": 133799, + "×ķ׼×Ļ×Ŀ": 133800, + "à¹ģà¸Ľ": 133801, + "ĠBên": 133802, + "ãĥ¯ãĥ³": 133803, + "Ġgiám": 133804, + "ĠÅŀu": 133805, + "Ġdáng": 133806, + "عÙĦÙĬ": 133807, + "à¹Ģà¸ģษ": 133808, + "à¹Ģà¸ģษà¸ķร": 133809, + "ÙĪØ¬Ø¨": 133810, + "ннÑĭе": 133811, + "ÙĤضاء": 133812, + "à¸Ħวà¸ļ": 133813, + "à¸Ħวà¸ļà¸Ħุ": 133814, + "à¸Ħวà¸ļà¸Ħุม": 133815, + "ãģ¤ãģ¤": 133816, + "ĠViá»ĩc": 133817, + "×ŀ×ij×ĺ": 133818, + "ש×Ļת×ķ×£": 133819, + "ĠведÑĮ": 133820, + "kaza": 133821, + "kazaÅĤ": 133822, + "à¸ķำรวà¸Ī": 133823, + "ãĤ¿ãĥ«": 133824, + "ĠповÑĭ": 133825, + "ĠповÑĭÑĪен": 133826, + "ĠSợ": 133827, + "ĠìĦ¤ëªħ": 133828, + "ĠÃĩünkü": 133829, + "ìĥĿíĻľ": 133830, + "Ö¾": 133831, + "ãĤĮãģ¦ãģĦãĤĭ": 133832, + "Ġ×ijר×IJש": 133833, + "ר×ķ×Ĵ": 133834, + "ĠоÑĦи": 133835, + "ĠоÑĦиÑĨиалÑĮн": 133836, + "ĠÑĥÑģÑĤанов": 133837, + "ĠÑĥÑģÑĤановлен": 133838, + "ĠاÙĦÙħصر": 133839, + "ĠاÙĦÙħصرÙĬØ©": 133840, + "ĠÐŁÐ¾ÑįÑĤомÑĥ": 133841, + "ÙĨصÙģ": 133842, + "ĠÙĪØ§ÙĦÙĨ": 133843, + "ĠhÃłi": 133844, + "à¸Ħิ": 133845, + "ĠAprès": 133846, + "ì³IJ": 133847, + "à¹Ģà¸ĭีย": 133848, + "×ĵ×ŀ×Ķ": 133849, + "activité": 133850, + "à¸Ħิà¸Ķวà¹Īา": 133851, + "ÑĤÑĢен": 133852, + "à¹Ģฮ": 133853, + "ãĥıãĤ¤": 133854, + "ãģĮå¢ĹãģĪ": 133855, + "еннаÑı": 133856, + "Ġìĺ¤ëĬĺ": 133857, + "ãĥ¢ãĥ³": 133858, + "ĠконеÑĩно": 133859, + "ĠÙħÙĤابÙĦ": 133860, + "clé": 133861, + "Ġhü": 133862, + "Ġthẳng": 133863, + "ìłģìĿ´": 133864, + "ĠÐIJлекÑģ": 133865, + "ĠÐIJлекÑģан": 133866, + "ĠÐIJлекÑģандÑĢ": 133867, + "ãĥŀãĥ³ãĤ·ãĥ§ãĥ³": 133868, + "ãģ²ãģ¨ãģ¤": 133869, + "ãģªãģĬ": 133870, + "à¹Ģà¸Īà¹īาà¸Ĥà¸Ńà¸ĩ": 133871, + "ëĵľë¦¬": 133872, + "شاء": 133873, + "ĠsaÄŁlık": 133874, + "ĠÅŁimdi": 133875, + "×Ļ×IJ׾": 133876, + "تأثÙĬر": 133877, + "أسب": 133878, + "أسباب": 133879, + "ĠвÑĭполнен": 133880, + "лок": 133881, + "ש×Ļ×ij×Ķ": 133882, + "Ġlắm": 133883, + "ĠTrÆ°á»Ľc": 133884, + "Ġ×Ķ×¢×ľ": 133885, + "리를": 133886, + "ĠÑĢеж": 133887, + "ĠÑĢежим": 133888, + "inté": 133889, + "intégr": 133890, + "×Ĵ׳×Ļ": 133891, + "ĠاÙĦشعر": 133892, + "Ġmilhões": 133893, + "Ġpequeño": 133894, + "ãĤ³ãĥ¼ãĤ¹": 133895, + "×ķ׼×Ĺ": 133896, + "à¹Ģà¸Ĭà¹īา": 133897, + "شرÙĤ": 133898, + "Ġhương": 133899, + "รัà¸IJà¸ļาล": 133900, + "à¸ģลาย": 133901, + "à¸ģลายà¹Ģà¸Ľà¹ĩà¸Ļ": 133902, + "ĠподÑħод": 133903, + "תש×ķ×ij×Ķ": 133904, + "ãģıãģªãģ£ãģ¦": 133905, + "ĠاÙĦØ£ÙħÙħ": 133906, + "ĠHá»įc": 133907, + "ĠwspóÅĤpr": 133908, + "ĠwspóÅĤprac": 133909, + "ÑĩÑĥв": 133910, + "ÑĩÑĥвÑģÑĤв": 133911, + "ÃŃstico": 133912, + "à¹Ģà¸ģาะ": 133913, + "ìĽĢ": 133914, + "Ġназад": 133915, + "ãĤĭãĤĪãģĨãģ«": 133916, + "ĠСШ": 133917, + "ĠСШÐIJ": 133918, + "мон": 133919, + "ĠAsÃŃ": 133920, + "×ķר×Ĵ": 133921, + "полнен": 133922, + "×ŀ×¡×ľ": 133923, + "×ŀ×¡×ľ×ķ׾": 133924, + "à¹Ģลืà¸Ńà¸Ķ": 133925, + "à¹Ģริà¹Īมà¸ķà¹īà¸Ļ": 133926, + "ĠاÙĦØ¥Ùħ": 133927, + "ĠاÙĦØ¥Ùħارات": 133928, + "צ×Ķר": 133929, + "ãĥ¡ãĥªãĥĥãĥĪ": 133930, + "ĠпоÑĤом": 133931, + "виз": 133932, + "ĠÙģØªØ±Ø©": 133933, + "å¾Įãģ®": 133934, + "ÐĿÐIJ": 133935, + "×ŀסר": 133936, + "ÙĬرÙĬ": 133937, + "pré": 133938, + "ĠteÅŁek": 133939, + "ĠteÅŁekkür": 133940, + "Ġödeme": 133941, + "داÙĨ": 133942, + "ãģ¾ãģĹãģ¦": 133943, + "缮ãģ«": 133944, + "ĠÑĤеÑĩение": 133945, + "lard": 133946, + "lardır": 133947, + "à¹Ģราà¸Īะ": 133948, + "ספ×Ļ": 133949, + "ĠÙĪÙĥذÙĦÙĥ": 133950, + "Ġhát": 133951, + "Ġtá»Ļc": 133952, + "à¸Ħุย": 133953, + "Ġbức": 133954, + "ØŃÙĬÙĨ": 133955, + "èģŀãģĦãģ¦": 133956, + "Ùħؤشر": 133957, + "ĠNhư": 133958, + "Ġменее": 133959, + "ละà¸Ħร": 133960, + "Ñģин": 133961, + "ĠÑĢек": 133962, + "ĠÑĢекл": 133963, + "ĠÑĢеклам": 133964, + "ĠÙģÙĩÙĪ": 133965, + "Ġ׾×ĸ": 133966, + "×Ļ׳×ķת": 133967, + "ĠÅŁart": 133968, + "ÑģÑĤавка": 133969, + "Ġíı¬íķ¨": 133970, + "ãģ«è¡Įãģı": 133971, + "ï¼Ŀ": 133972, + "ĠпозволÑıеÑĤ": 133973, + "Ġת×ķ׼׾×ķ": 133974, + "овал": 133975, + "صÙĦØ©": 133976, + "Ġ׾ש׳×ķת": 133977, + "ĠÐĺгÑĢ": 133978, + "ÙħÙĨتجات": 133979, + "ĠsatÄ±ÅŁ": 133980, + "Ñģко": 133981, + "ĠاÙĦØ«ÙĦاثاء": 133982, + "Ġ×Ķ×ĵ×ijר×Ļ×Ŀ": 133983, + "ãģĹãģ¾ãģĹãĤĩãģĨ": 133984, + "بÙĤÙī": 133985, + "åĬĽãĤĴ": 133986, + "ĠÃĩok": 133987, + "ãĥģãĥ¥": 133988, + "à¹Ģà¸Ĭืà¹īà¸Ń": 133989, + "ยุà¸Ħ": 133990, + "ศาล": 133991, + "Ġ×§×ķ×ĵ×Ŀ": 133992, + "×ĸר×Ļ×Ŀ": 133993, + "ãģ®åł´åIJĪ": 133994, + "ĠìķĬìķĺ": 133995, + "ãģĤãĤĬãģ¾ãģĻãģĮ": 133996, + "×IJשר": 133997, + "è¡Įãģı": 133998, + "ãģ»ãģĭ": 133999, + "æ°Ĺãģ«ãģªãĤĭ": 134000, + "йдеÑĤ": 134001, + "íķĺìĺĢëĭ¤": 134002, + "ستÙħرار": 134003, + "ĠÐŁÑĢе": 134004, + "ĠÑģбоÑĢ": 134005, + "ĠìķĦ무": 134006, + "ç§ģãĤĤ": 134007, + "عص": 134008, + "ĠниÑĩ": 134009, + "ĠниÑĩего": 134010, + "ĠпÑĢием": 134011, + "×§×ķ×ŀ": 134012, + "ĠìĪĺëıĦ": 134013, + "Ġì¡´": 134014, + "Ġì¡´ìŀ¬": 134015, + "ĠأثÙĨ": 134016, + "ĠأثÙĨاء": 134017, + "ĠÙĪØ§ÙĦØŃ": 134018, + "ãģĮãģ§ãģįãĤĭ": 134019, + "Ġת×Ķ": 134020, + "Ġת×Ķ×Ļ×Ķ": 134021, + "רף": 134022, + "ĠÑģвÑıзи": 134023, + "×Ĵשת": 134024, + "ÑģпекÑĤ": 134025, + "ס×ij×Ļ×ij": 134026, + "ס×ij×Ļ×ij×Ķ": 134027, + "ĠíķĦìļĶíķľ": 134028, + "تخصص": 134029, + "Ġжив": 134030, + "ĠживоÑĤ": 134031, + "ĠMayıs": 134032, + "تعا": 134033, + "تعاÙĪÙĨ": 134034, + "ĠعÙĨÙĩا": 134035, + "ówki": 134036, + "ĠاÙĦÙģÙĦسطÙĬÙĨÙĬ": 134037, + "ãģłãģijãģ§ãģªãģı": 134038, + "ìĿ¸ì§Ģ": 134039, + "ĠاÙĦسÙĪØ¯": 134040, + "ĠاÙĦسÙĪØ¯Ø§ÙĨ": 134041, + "إجراءات": 134042, + "Ġkötü": 134043, + "Ġ×Ļתר": 134044, + "×Ĵ×Ļש×Ķ": 134045, + "Ġצ×ķר×ļ": 134046, + "รà¸ĸย": 134047, + "รà¸ĸยà¸Ļà¸ķà¹Į": 134048, + "ÑħоÑĤ": 134049, + "ÐłÐIJ": 134050, + "ÙĪØ·ÙĨ": 134051, + "Ġsayısı": 134052, + "ס×Ĺר": 134053, + "ÙħÙĪÙĦ": 134054, + "ãĤĴæĮģãģ£ãģ¦": 134055, + "عاÙĨ": 134056, + "Ġtá»Ļi": 134057, + "ĠвÑĭÑĪе": 134058, + "Ġtầm": 134059, + "ãĥĪãĥ¬": 134060, + "×Ļצ×ķ": 134061, + "มุม": 134062, + "سÙĪØ¯": 134063, + "ìłĦìŀIJ": 134064, + "ãĤµãĥŃãĥ³": 134065, + "ìĤ°ìĹħ": 134066, + "ĠоÑģнован": 134067, + "Ø®Ù쨶": 134068, + "רצ×Ķ": 134069, + "بÙĬض": 134070, + "×ķÖ¹": 134071, + "ס×Ļ×Ļ×¢": 134072, + "Ġש×IJ×Ļ": 134073, + "ĠاÙĦÙĤرآÙĨ": 134074, + "ĠТакже": 134075, + "×ŀש×ŀ×¢×ķת": 134076, + "سÙĩÙĦ": 134077, + "Ġ×Ķ׳×Ķ": 134078, + "ãĤĴãģĹãģ¦ãģĦãĤĭ": 134079, + "×Ļ×Ļס": 134080, + "×Ķ×ķ×IJ": 134081, + "ĠBÃŃ": 134082, + "Ġмало": 134083, + "ĠëͰëĿ¼ìĦľ": 134084, + "Ġר×Ĺ×ij": 134085, + "ãģĮé«ĺãģĦ": 134086, + "ÙĪØ§Ø³": 134087, + "ìĤ¼": 134088, + "×ł×¢": 134089, + "ãģ£ãģ¡ãĤĥ": 134090, + "ĠTüm": 134091, + "à¸Ńีà¸ģà¸Ķà¹īวย": 134092, + "ãģĹãģ¦ãģıãģłãģķãģĦ": 134093, + "ÙĨشاط": 134094, + "ãĥĹãĥ©ãĥ³": 134095, + "алиÑģÑĮ": 134096, + "×ĵ×ľ×ª": 134097, + "ĠwczeÅĽ": 134098, + "ĠwczeÅĽniej": 134099, + "ĠÑįÑĤим": 134100, + "Ġthá»ĭt": 134101, + "à¸ļัà¸į": 134102, + "à¸ļัà¸įà¸Ĭี": 134103, + "ãģļãģ£ãģ¨": 134104, + "ÑĢин": 134105, + "ĠswojÄħ": 134106, + "íķĺëĬĶëį°": 134107, + "Ġë§Įëĵ¤ìĸ´": 134108, + "تشÙĥ": 134109, + "تشÙĥÙĬÙĦ": 134110, + "ائÙĩ": 134111, + "Ġ׾פ×Ĺ×ķת": 134112, + "ãĥĭãĥ¥": 134113, + "ãĥĭãĥ¥ãĥ¼ãĤ¹": 134114, + "׼×IJף": 134115, + "ãģ§ãģįãģŁ": 134116, + "звон": 134117, + "ĠstaÅĤ": 134118, + "×Ĺ×ijרת×Ļ": 134119, + "ĠأعÙĦÙĨ": 134120, + "à¹ģà¸ļà¸ļà¸Ļีà¹ī": 134121, + "بدء": 134122, + "ãĤģãģŁ": 134123, + "Ġ×ŀש×ŀ×¢×ķת": 134124, + "Ġ×ŀש×ŀ×¢×ķת×Ļ": 134125, + "örü": 134126, + "Ġhạnh": 134127, + "zähl": 134128, + "ĠLý": 134129, + "Ġ×ij×Ķת": 134130, + "Ġ×ij×Ķת×IJ×Ŀ": 134131, + "баÑĢ": 134132, + "ì¦Ī": 134133, + "ä»ĬåĽŀãģ®": 134134, + "Ġyü": 134135, + "Ġyüks": 134136, + "Ġyüksel": 134137, + "ãĤ½ãĥ¼": 134138, + "ãģĤãĤĮ": 134139, + "×ª×ľ×ŀ×Ļ×ĵ": 134140, + "ãģ¤ãģª": 134141, + "×ij׳×Ļ×Ŀ": 134142, + "Ġxếp": 134143, + "ĠмÑĥжÑĩин": 134144, + "ĠاÙĦÙĥتاب": 134145, + "׼×ŀ×ķת": 134146, + "Ġçe": 134147, + "ĠçeÅŁ": 134148, + "ĠçeÅŁit": 134149, + "ĠçeÅŁitli": 134150, + "×ĵ×Ļר×ķת": 134151, + "à¸ļุà¸į": 134152, + "ĠاÙĦØ¥ÙĦÙĥ": 134153, + "ĠاÙĦØ¥ÙĦÙĥترÙĪ": 134154, + "ĠاÙĦØ¥ÙĦÙĥترÙĪÙĨÙĬ": 134155, + "ĠباÙĦإض": 134156, + "ĠباÙĦإضاÙ쨩": 134157, + "Ġyönel": 134158, + "Ġyönelik": 134159, + "mysÅĤ": 134160, + "à¸Ķà¹īวยà¸ģาร": 134161, + "à¸ģารà¸Ĺำ": 134162, + "овÑĭм": 134163, + "أزÙħØ©": 134164, + "æİ¢ãģĹ": 134165, + "íļ¨": 134166, + "Ġ×ķ×IJ×Ŀ": 134167, + "Ġnghiêm": 134168, + "ÑĪин": 134169, + "кал": 134170, + "Ġcrianças": 134171, + "èĩªåĪĨãģ§": 134172, + "Ġнай": 134173, + "ĠнайÑĤи": 134174, + "ĠSá»ij": 134175, + "ĠÃ¶ÄŁrenciler": 134176, + "ãĥ¶æľĪ": 134177, + "Ñģан": 134178, + "ĠJá": 134179, + "ĠkonuÅŁma": 134180, + "شرط": 134181, + "ëĪĪ": 134182, + "arrière": 134183, + "ضرÙĪØ±Ø©": 134184, + "ãĥĶãĥ³": 134185, + "עשר": 134186, + "аÑĢÑĮ": 134187, + "جÙħاع": 134188, + "Ġdéco": 134189, + "Ġ×Ļ×Ķ×ķ×ĵ×Ļ": 134190, + "à¸ŀลาà¸Ķ": 134191, + "ĠÙĬÙĥÙĨ": 134192, + "ĠجاÙħعة": 134193, + "طبÙĤ": 134194, + "ĠboÅŁ": 134195, + "×ķ×ķ×IJ": 134196, + "×ŀ×ĵ×¢": 134197, + "×§×ij×ķצת": 134198, + "פ×Ļר": 134199, + "jÄħcym": 134200, + "Ùħشا": 134201, + "ÙħشاÙĥÙĦ": 134202, + "צפ×ķף": 134203, + "إست": 134204, + "×ŀ׼ר": 134205, + "سÙħع": 134206, + "Ġкакой": 134207, + "ÑĤвоÑĢ": 134208, + "ØŃج": 134209, + "ÙģØ±Ø¶": 134210, + "пÑĢавлен": 134211, + "Ġникак": 134212, + "Ġmiá»ĩ": 134213, + "Ġmiá»ĩng": 134214, + "Ã¼ÃŁ": 134215, + "иÑĢовал": 134216, + "׾×ŀ×ķת": 134217, + "次ãģ®": 134218, + "ÙĦØ·": 134219, + "à¸ķัà¸Ļ": 134220, + "×Ķת×Ĺ×Ļ׾": 134221, + "ĠfotoÄŁ": 134222, + "ĠfotoÄŁraf": 134223, + "طرØŃ": 134224, + "à¸Ńà¸Ńà¸ģà¹Ħà¸Ľ": 134225, + "Ġyên": 134226, + "Ġпок": 134227, + "ĠпокÑĥп": 134228, + "ĠпокÑĥпа": 134229, + "ÑĨÑĥ": 134230, + "ĠкомпÑĮÑİ": 134231, + "ĠкомпÑĮÑİÑĤеÑĢ": 134232, + "ĠاÙĦÙĥرÙĬÙħ": 134233, + "تصÙħ": 134234, + "تصÙħÙĬÙħ": 134235, + "Ġоказа": 134236, + "Ġzarówn": 134237, + "Ġzarówno": 134238, + "ëĮĢì¶ľ": 134239, + "ãĤ»ãĥ³ãĤ¿ãĥ¼": 134240, + "ĠjakoÅĽci": 134241, + "æĤ©": 134242, + "æĤ©ãģ¿": 134243, + "Ø£ÙĨÙĪ": 134244, + "Ø£ÙĨÙĪØ§Ø¹": 134245, + "ë¹ł": 134246, + "Ġìłķë§IJ": 134247, + "Ġkẻ": 134248, + "ĠÑģайÑĤа": 134249, + "Ġ×Ķער×ij": 134250, + "Ùĩز": 134251, + "presión": 134252, + "ĠÑģÑĤен": 134253, + "ãģ£ãģ¦ãĤĭ": 134254, + "Ġhızlı": 134255, + "ÐļÐIJ": 134256, + "×ŀשפ×Ĺת": 134257, + "ĠÙĨÙĩا": 134258, + "ĠÙĨÙĩاÙĬØ©": 134259, + "ãģ¾ãģĦ": 134260, + "оÑħÑĢан": 134261, + "รà¹īà¸Ńย": 134262, + "ลึà¸ģ": 134263, + "ĠÙĪØ¨Ø§ÙĦ": 134264, + "ãĤĤãģ®ãģĮ": 134265, + "ר׼×Ļ×ij": 134266, + "ãĤ¤ãĥ¤": 134267, + "سؤ": 134268, + "سؤاÙĦ": 134269, + "ĠÙĦØ£ÙĨÙĩ": 134270, + "ĠkonuÅŁtu": 134271, + "ÐļÑĥпиÑĤÑĮ": 134272, + "Ġש×IJת×Ķ": 134273, + "ĠÙĪØ§ÙĦس": 134274, + "ĠmożliwoÅĽci": 134275, + "Ġprób": 134276, + "ëͰ": 134277, + "ãģ©ãĤĮ": 134278, + "ĠÐľÐ¸Ð½": 134279, + "ĠоÑĢганизм": 134280, + "ãģ«å¯¾ãģĻãĤĭ": 134281, + "ĠPré": 134282, + "Ġprivé": 134283, + "chè": 134284, + "ãģĦãģŁãģłãģį": 134285, + "สà¸Ļุà¸ģ": 134286, + "ajÄħce": 134287, + "ĠDzi": 134288, + "ĠDziÄĻki": 134289, + "ÅĤatw": 134290, + "rän": 134291, + "ränk": 134292, + "æĿ¥ãģŁ": 134293, + "Ġ×Ķ×Ļ×Ķ×ķ×ĵ×Ļ": 134294, + "ãĤ¬ãĥ¼": 134295, + "ĠÑĢад": 134296, + "ĠÑĢади": 134297, + "кÑĤив": 134298, + "Ø£Ùĩد": 134299, + "Ø£ÙĩداÙģ": 134300, + "ש×IJ×Ļר": 134301, + "ãģ¦ãģĦãģªãģĦ": 134302, + "Ġfrüh": 134303, + "Ġокол": 134304, + "Ġоколо": 134305, + "Ġregião": 134306, + "ĠÑĩиÑģле": 134307, + "Ġponiew": 134308, + "Ġponieważ": 134309, + "ìĦ¼íĦ°": 134310, + "Ġbầu": 134311, + "Ġê·": 134312, + "Ġê·ľ": 134313, + "Ġê·ľìłķ": 134314, + "ĠHòa": 134315, + "ĠÑĤоÑĤ": 134316, + "ãĤĤå¤ļãģĦ": 134317, + "ĠاÙĦإسÙĦاÙħÙĬØ©": 134318, + "ãģĭãģĦ": 134319, + "Ñįн": 134320, + "ĠÑĥказан": 134321, + "ĠÑĤакое": 134322, + "ï¼³": 134323, + "ëĮĢíķĻ": 134324, + "ĠgeniÅŁ": 134325, + "ĠاÙĦØ®ÙĬ": 134326, + "ĠاÙĦØ®ÙĬارات": 134327, + "ãĤĴè¡ĮãģĨ": 134328, + "ש×ŀ×Ķ": 134329, + "ĠLÃłm": 134330, + "ÙĪÙĨÙĬ": 134331, + "Ġ×IJ׾×Ļ×ķ": 134332, + "Äĺ": 134333, + "à¹Ħมà¹Īสามารà¸ĸ": 134334, + "人ãģ¨": 134335, + "برز": 134336, + "×Ļס×ķ×ĵ": 134337, + "×Ĵ׾×Ļ": 134338, + "ĠÙĬÙĨا": 134339, + "ĠÙĬÙĨاÙĬر": 134340, + "ĠкаÑĢÑĤин": 134341, + "Ġtôn": 134342, + "à¹Ģà¸ģร": 134343, + "à¸Ħà¸Ķี": 134344, + "Ġ׾×IJ×ķר×ļ": 134345, + "ãĤĤãĤīãģĨ": 134346, + "ãģĭãģĭãĤĭ": 134347, + "ании": 134348, + "ĠaraÅŁtırma": 134349, + "ÙĦاØŃظ": 134350, + "ãģĦãĤĦ": 134351, + "ĠTÃłi": 134352, + "Ġà¸Ļà¸Ńà¸ģà¸Īาà¸ģ": 134353, + "Ġà¸Ļà¸Ńà¸ģà¸Īาà¸ģà¸Ļีà¹ī": 134354, + "ĠÄIJảng": 134355, + "ãģ£ãģ¦ãģįãģŁ": 134356, + "Ġà¸ĭึà¹Īà¸ĩà¹Ģà¸Ľà¹ĩà¸Ļ": 134357, + "Ġtả": 134358, + "ĠmożliwoÅĽÄĩ": 134359, + "ĠSản": 134360, + "Ġİki": 134361, + "Ġcắt": 134362, + "سأÙĦ": 134363, + "Ġbakım": 134364, + "شب": 134365, + "à¸ķีà¹ī": 134366, + "à¸ŀยาย": 134367, + "à¸ŀยายาม": 134368, + "à¸ªà¸±à¸Ľ": 134369, + "à¸ªà¸±à¸Ľà¸Ķา": 134370, + "à¸ªà¸±à¸Ľà¸Ķาหà¹Į": 134371, + "ë°Ģ": 134372, + "еÑĢÑĭ": 134373, + "Ġcánh": 134374, + "Ġthuế": 134375, + "تبع": 134376, + "ãģ«åħ¥ãĤĮ": 134377, + "ÑİÑģÑĮ": 134378, + "íļĮìĿĺ": 134379, + "ç°¡åį": 134380, + "ç°¡åįĺ": 134381, + "ç°¡åįĺãģ«": 134382, + "Ġtrúc": 134383, + "ĠاÙĦÙĥÙĪÙĬ": 134384, + "ĠاÙĦÙĥÙĪÙĬت": 134385, + "ãĤıãģijãģ§ãģĻ": 134386, + "ĠÑģвоб": 134387, + "ĠÑģвобод": 134388, + "ĠÑĥÑĩаÑģÑĤник": 134389, + "สิà¹īà¸Ļ": 134390, + "ĠпÑĢоÑĦеÑģÑģиона": 134391, + "ĠпÑĢоÑĦеÑģÑģионалÑĮн": 134392, + "ÑģпоÑĢ": 134393, + "×Ĺ×ķ×ij×Ķ": 134394, + "ÙħعÙĨÙī": 134395, + "ĠاÙĦÙģØªØ±Ø©": 134396, + "สูà¸ĩสุà¸Ķ": 134397, + "ãĤıãģļ": 134398, + "ĠÄijè": 134399, + "ĠÄijèn": 134400, + "æ¯Ķãģ¹": 134401, + "าà¸ĺิ": 134402, + "Ġmożemy": 134403, + "à¹ģà¸ĭ": 134404, + "à¸Īะà¹Ħมà¹Ī": 134405, + "Ġsắp": 134406, + "ÐļÐŀ": 134407, + "Ġpráctica": 134408, + "ÙĪÙĥاÙĦØ©": 134409, + "è¾¼ãĤĵãģ§": 134410, + "ológica": 134411, + "ĠеÑī": 134412, + "ĠеÑīÑij": 134413, + "تعدÙĬÙĦ": 134414, + "ĠØ£Ùĥد": 134415, + "Ġצר×Ļ׼": 134416, + "Ġצר×Ļ׼×Ļ×Ŀ": 134417, + "Ø«Ùħ": 134418, + "ĠкÑĢÑĥ": 134419, + "ĠкÑĢÑĥп": 134420, + "×ij×Ļ×§×ķרת": 134421, + "Ġì¡°ê¸Ī": 134422, + "ãģ¨ãģįãģ¯": 134423, + "Ġbạc": 134424, + "ĠÑĢаÑģпол": 134425, + "ĠÑĢаÑģполож": 134426, + "ĠÑĢаÑģположен": 134427, + "زÙĬÙĨ": 134428, + "ĠÐļÑĢоме": 134429, + "ĠاÙĦÙĨظر": 134430, + "×Ķ×ķ×ĵ": 134431, + "ĠاÙĦسبت": 134432, + "ã썿ĢĿãģĦ": 134433, + "ĠpaÅĦst": 134434, + "ĠpaÅĦstw": 134435, + "ĠÙĦÙĬست": 134436, + "ĠбÑĥдÑĥ": 134437, + "à¸Ĺัà¸Ļà¸Ĺี": 134438, + "ราม": 134439, + "ØŃصÙĪÙĦ": 134440, + "ãģĹãģ¦ãģıãĤĮãĤĭ": 134441, + "ĠاÙĦإسرائÙĬÙĦ": 134442, + "ĠاÙĦإسرائÙĬÙĦÙĬ": 134443, + "ãģĵãĤĮãģ¾ãģ§": 134444, + "ìĤ¬ë¥¼": 134445, + "Ġsürü": 134446, + "à¹Ģวà¸Ńรà¹Į": 134447, + "à¹Ģà¸ĭà¸Ńรà¹Į": 134448, + "Ġutilisé": 134449, + "ĠÑģиÑģÑĤема": 134450, + "Ġdwó": 134451, + "Ġdwóch": 134452, + "Ġpróprio": 134453, + "Ġëĵ±ìĿĦ": 134454, + "arrêt": 134455, + "ĠЧа": 134456, + "×IJ×ŀ׳×ķת": 134457, + "عارض": 134458, + "à¹Ģà¸ģมสà¹Į": 134459, + "Ġ׾×Ķ×ij×Ļף": 134460, + "Ġ׾×ij×Ĺ": 134461, + "Ġ׾×ij×Ĺ×ķר": 134462, + "สาà¸Ĥา": 134463, + "ĠÐľÐ¾Ñģкве": 134464, + "بعد": 134465, + "ĠاÙĦÙĤرار": 134466, + "ĠÄIJá»ĭa": 134467, + "Ġ×Ĺ×Ĵ": 134468, + "ÙģØªØ±": 134469, + "ÙĪÙĨØ©": 134470, + "Ġ×Ķ×ĸ×IJת": 134471, + "å¸Ĥãģ®": 134472, + "ãģ»ãģĹãģĦ": 134473, + "Ġ×ij×¢×Ļר": 134474, + "ĠÑĤепеÑĢÑĮ": 134475, + "ìĬµëĭĪê¹Į": 134476, + "à¹Ħมà¹Īว": 134477, + "à¹Ħมà¹Īวà¹Īา": 134478, + "à¹Ħมà¹Īวà¹Īาà¸Īะ": 134479, + "×ŀ×IJ×Ķ": 134480, + "æĥħåł±": 134481, + "æĥħåł±ãĤĴ": 134482, + "غÙĨ": 134483, + "ĠпоÑı": 134484, + "ĠпоÑıви": 134485, + "éģİãģĶ": 134486, + "تشغ": 134487, + "تشغÙĬÙĦ": 134488, + "вел": 134489, + "Ġ×Ĺ×ŀ": 134490, + "ãģ¨ãģªãĤĬãģ¾ãģĻ": 134491, + "ĠraÄŁ": 134492, + "ĠraÄŁmen": 134493, + "ãģĭãģ©ãģĨ": 134494, + "ãģĭãģ©ãģĨãģĭ": 134495, + "енко": 134496, + "ì§Ģê³ł": 134497, + "Ġ×IJ׾×Ļ×Ķ": 134498, + "ĠØ£ÙĦ": 134499, + "à¸Īำหà¸Ļ": 134500, + "à¸Īำหà¸Ļà¹Īาย": 134501, + "nızı": 134502, + "Ġ׾ק×Ĺת": 134503, + "Ø£ÙĩÙħ": 134504, + "Ø£ÙĩÙħÙĬØ©": 134505, + "تغÙĬر": 134506, + "ש×Ĺר": 134507, + "ס×ķפר": 134508, + "×ĵ×Ļר": 134509, + "èī¯ãģĭãģ£ãģŁ": 134510, + "×ŀ׾×Ĺ×ŀ×Ķ": 134511, + "ÑģÑĤвие": 134512, + "ÑĤÑĢаÑĤ": 134513, + "ĠاÙĦأخ": 134514, + "ĠاÙĦأخÙĬرة": 134515, + "ĠاÙĦØŃصÙĪÙĦ": 134516, + "Ġcrédito": 134517, + "צ×Ļ×¢": 134518, + "ãĥ¬ãĥĻãĥ«": 134519, + "برÙĬ": 134520, + "ëIJIJ": 134521, + "ãģłãģ£ãģ¦": 134522, + "ĠrealtÃł": 134523, + "سÙ쨱": 134524, + "×ķ׳×ķ": 134525, + "×Ĵ×ķ×ĵ": 134526, + "×Ĵ×ķ×ĵ׾": 134527, + "ฮา": 134528, + "ãģĹãģ¦ãģĬãĤĬãģ¾ãģĻ": 134529, + "ĠgÃł": 134530, + "Ġ׾×ijצע": 134531, + "å¼ķè¶ĬãģĹ": 134532, + "Ġ×ŀ×Ļ׾×Ļ": 134533, + "Ġ×ŀ×Ļ׾×Ļ×ķף": 134534, + "Ùħدر": 134535, + "Ùħدرسة": 134536, + "פ×ķ×ĺ": 134537, + "à¸Ļà¹īำมัà¸Ļ": 134538, + "ëģĿ": 134539, + "عÙĥس": 134540, + "ĠÙĤض": 134541, + "ĠÑĢÑĭб": 134542, + "خطط": 134543, + "×ŀ×ķס×ĵ": 134544, + "Ġ׼׾׾×Ļ": 134545, + "ĠкоÑĤоÑĢое": 134546, + "צ×Ļ×ķף": 134547, + "ĠмеÑģÑĤа": 134548, + "ãģĭãģ¤": 134549, + "гÑĢÑĥпп": 134550, + "׾×Ļ׾": 134551, + "ת×ķ×IJר": 134552, + "ë³µì§Ģ": 134553, + "à¹ģà¸ľà¹Īà¸Ļ": 134554, + "Ġ×ijעת": 134555, + "æĻĤéĸĵãĤĴ": 134556, + "ï¼£": 134557, + "ãģ¨ãģĦãģĨãģĵãģ¨ãģ§": 134558, + "Ġ׾×Ķ×§": 134559, + "Ġ׾×ĸ×Ķ": 134560, + "ĠìłĢëĬĶ": 134561, + "ĠاÙĦإرÙĩاب": 134562, + "ĠìŀĪëĬĶëį°": 134563, + "ĠÑĤогда": 134564, + "Ġ×Ķצ×Ļ": 134565, + "×ķ׾×ĺ": 134566, + "Ġרפ×ķ×IJ×Ļ": 134567, + "ãģĵãģ¨ãģ§ãģĻ": 134568, + "ĠÄijÃŃch": 134569, + "ØŃÙĬا": 134570, + "Ġ×Ķ×ŀש×Ĺ×§": 134571, + "ãģľãģ²": 134572, + "Ġ×ŀ×IJפשר": 134573, + "ãģ¿ãģ¾ãģĹãģŁ": 134574, + "ĠاÙĦØ£ÙħÙĬرÙĥÙĬ": 134575, + "ÙħجتÙħع": 134576, + "Ġساب": 134577, + "ĠسابÙĤ": 134578, + "׼×Ļ׾": 134579, + "Ế": 134580, + "ãĥªãĤ¹ãĥĪ": 134581, + "Ġìĥ": 134582, + "ĠìĥĪ": 134583, + "ĠìĥĪë¡ľ": 134584, + "ĠìĥĪë¡ľìļ´": 134585, + "ĠDá»ĭch": 134586, + "à¹Ģหมาะสม": 134587, + "ĠاÙĦÙĨبÙĬ": 134588, + "׾׾": 134589, + "ÙĨع": 134590, + "Ðĵлав": 134591, + "ÐĵлавнаÑı": 134592, + "Ùħرض": 134593, + "Ġ×ķ×ĵ": 134594, + "تÙĤÙĬ": 134595, + "تÙĤÙĬÙĬÙħ": 134596, + "Ġbảng": 134597, + "ĠÙģÙĤاÙĦ": 134598, + "×¢×ŀ×Ļ": 134599, + "дÑĢа": 134600, + "Ġsuá»ijt": 134601, + "سرعة": 134602, + "Ġcá»Ń": 134603, + "Ġ×Ķ×Ļ×Ĺ×Ļ×ĵ": 134604, + "سعÙĬد": 134605, + "à¸Ńาà¸Ĭีà¸ŀ": 134606, + "ĠسÙĪØ§Ø¡": 134607, + "ãĤ½ãĥķãĥĪ": 134608, + "ĠлиÑĩно": 134609, + "ĠÐļоÑĢ": 134610, + "اÙĩتÙħ": 134611, + "اÙĩتÙħاÙħ": 134612, + "à¸Ńà¸Ķี": 134613, + "à¸Ńà¸Ķีà¸ķ": 134614, + "ãģIJãĤīãģĦ": 134615, + "Ġihtiya": 134616, + "Ġihtiyaç": 134617, + "ãģ¾ãģ§ãģ®": 134618, + "ìĭľìĬ¤": 134619, + "ìĭľìĬ¤íħľ": 134620, + "ÑĢÑĥÑĪ": 134621, + "ãĤĦãģ£ãģ±": 134622, + "ãĤĦãģ£ãģ±ãĤĬ": 134623, + "кеÑĢ": 134624, + "Ġży": 134625, + "Ġżyw": 134626, + "клон": 134627, + "Ġlượt": 134628, + "þ": 134629, + "даÑĩи": 134630, + "türk": 134631, + "غÙĪ": 134632, + "ĠигÑĢок": 134633, + "Ġphê": 134634, + "Ġ×©×¢×ľ": 134635, + "ĠاÙĦÙħدÙĨÙĬ": 134636, + "ĠìŬ룬ë¶Ħ": 134637, + "ער×Ļ×Ŀ": 134638, + "ÑħодÑıÑĤ": 134639, + "Ġxứ": 134640, + "ÐĹа": 134641, + "ĠÙģØ±Øµ": 134642, + "à¸Īะà¸Ĺำà¹ĥหà¹ī": 134643, + "íģ´": 134644, + "×¢×ij×ķר": 134645, + "à¹Ģหลà¹Īาà¸Ļีà¹ī": 134646, + "èĢĥãģĪãĤĭ": 134647, + "ÑĢеÑģÑĤ": 134648, + "ннÑĭй": 134649, + "Ġcầm": 134650, + "داخÙĦ": 134651, + "ĠÙħÙĦÙĬار": 134652, + "ĠÐIJл": 134653, + "ĠвÑĢемен": 134654, + "à¸Ĭà¹Īวยà¹ĥหà¹ī": 134655, + "ר×Ļ×ķת": 134656, + "ëĵ¯": 134657, + "飲ãģ¿": 134658, + "׳׾": 134659, + "שתף": 134660, + "ĠاÙĦسعÙĪØ¯ÙĬ": 134661, + "uÃŁ": 134662, + "ìĿ¸ëį°": 134663, + "ĠìĿ¼ë°ĺ": 134664, + "ÅĤÄĻ": 134665, + "Ġmá»iji": 134666, + "×ŀ×Ļ׳": 134667, + "ĠاÙĦأطÙ쨧ÙĦ": 134668, + "Ġçıkan": 134669, + "école": 134670, + "×§×Ļש": 134671, + "×§×Ļש×ķר": 134672, + "ĠоÑģÑĥÑīеÑģÑĤв": 134673, + "ĠоÑģÑĥÑīеÑģÑĤвлÑı": 134674, + "×ij×IJר": 134675, + "à¹Ħà¸Ľà¸Ķà¹īวย": 134676, + "Ġ×¢×ķ׾×Ķ": 134677, + "à¸ģà¹ĩà¹Ħมà¹Ī": 134678, + "ãĥ¢ãĥĩ": 134679, + "ãĥ¢ãĥĩãĥ«": 134680, + "تØŃÙĪÙĦ": 134681, + "Ġодного": 134682, + "ת×Ĺ×Ļ×ľ×ª": 134683, + "Ġتخ": 134684, + "Ġchcia": 134685, + "ĠchciaÅĤ": 134686, + "ãĥIJãĥ³": 134687, + "èĢħãģ¯": 134688, + "ĠÙħØŃÙĦ": 134689, + "Ñģлож": 134690, + "Ñģложн": 134691, + "ĠtÄĻ": 134692, + "Ġçıkt": 134693, + "Ġçıktı": 134694, + "ĠCÆ¡": 134695, + "à¹Ħà¸Ķà¹īà¹Ģลย": 134696, + "ırken": 134697, + "à¹Ģà¸Ĥà¹īาสูà¹Ī": 134698, + "ÙħØŃÙĥ": 134699, + "ÙħØŃÙĥÙħØ©": 134700, + "à¸Ħุà¹īม": 134701, + "à¸Ļà¹Īาà¸Īะ": 134702, + "лÑİд": 134703, + "деÑģÑı": 134704, + "деÑģÑıÑĤ": 134705, + "ĠлÑİбой": 134706, + "تØŃرÙĬر": 134707, + "צע×ĵ": 134708, + "ĠеÑij": 134709, + "ĠاÙĦØŃÙĥÙħ": 134710, + "ĠصباØŃ": 134711, + "à¹Ģà¸ļà¸Ńรà¹Į": 134712, + "Ġróżnych": 134713, + "гиб": 134714, + "ĠÑģоÑĤ": 134715, + "ĠÑģоÑĤÑĢÑĥд": 134716, + "ĠÑģоÑĤÑĢÑĥдник": 134717, + "ĠобÑĬем": 134718, + "פ×ĺר": 134719, + "ãģĻãģĶãģı": 134720, + "ãģ«éĸ¢ãģĹãģ¦": 134721, + "вол": 134722, + "Ø«ÙħاÙĨ": 134723, + "Ġdần": 134724, + "æĬľ": 134725, + "æĬľãģij": 134726, + "Ġעש": 134727, + "Ġעש×ķ×Ļ": 134728, + "ס×ķף": 134729, + "ãģªãģ®ãģ§ãģĻ": 134730, + "ãģ¯ãģ©ãģĨ": 134731, + "×ŀער×ij": 134732, + "ï¼°": 134733, + "Ùħصر": 134734, + "ÙħÙĨاسب": 134735, + "ÙħÙĨاسبة": 134736, + "ä¸Ĭãģ®": 134737, + "×IJ×Ļש×ķר": 134738, + "ĠìĦ¤ì¹ĺ": 134739, + "×ŀ×ĵ×Ļ׳×ķת": 134740, + "×ŀרת": 134741, + "ãĤĭãģ®ãģĮ": 134742, + "دÙİ": 134743, + "ĠاÙĦشرÙĥات": 134744, + "ìĭľê°Ħ": 134745, + "ĠÑĢеÑĪение": 134746, + "ãģĻãĤĭãģ®ãģ¯": 134747, + "ĠìŀIJìĭłìĿĺ": 134748, + "׾×ŀ×ķ": 134749, + "ãģ¨ãģĵãĤįãģ§": 134750, + "Ġקצר": 134751, + "Ġmãi": 134752, + "Ġkültür": 134753, + "ãĥ©ãĤ¤ãĥĸ": 134754, + "à¸ľà¸¹à¹īหà¸įิà¸ĩ": 134755, + "æĻĤéĸĵãģĮ": 134756, + "клÑİÑĩи": 134757, + "diÄŁiniz": 134758, + "มาà¸ģà¹Ĩ": 134759, + "تØŃÙħÙĦ": 134760, + "Ġhạt": 134761, + "ãĤ¦ãĤ£": 134762, + "пле": 134763, + "×ŀ׾×IJ": 134764, + "ÅĤó": 134765, + "Ġgá»ijc": 134766, + "Ġ×IJ×ķ×ĵ×ķת": 134767, + "หวาà¸Ļ": 134768, + "ĠاÙĦÙĪØ²": 134769, + "ĠاÙĦÙĪØ²Ø±Ø§Ø¡": 134770, + "ëĵ¤ê³¼": 134771, + "ĠصØŃ": 134772, + "ĠصØŃÙĬÙ쨩": 134773, + "Ġмм": 134774, + "تدخÙĦ": 134775, + "Ġpersönlich": 134776, + "ĠزÙĬ": 134777, + "ĠزÙĬادة": 134778, + "ãĤ·ãĤ¢": 134779, + "Ġngắn": 134780, + "à¸Ħลิà¸ģ": 134781, + "Ġsông": 134782, + "Ġtüket": 134783, + "ÑįÑĦÑĦ": 134784, + "ÑįÑĦÑĦекÑĤ": 134785, + "ש×Ļ×ij": 134786, + "Ġاعت": 134787, + "تض": 134788, + "تضÙħÙĨ": 134789, + "ĠاÙĦÙħشرÙĪØ¹": 134790, + "Ġprodução": 134791, + "ĠпÑĢименÑı": 134792, + "ниÑĨÑĭ": 134793, + "주ëĬĶ": 134794, + "رÙı": 134795, + "ĠmÆ¡": 134796, + "Ġhayatı": 134797, + "ëŁ½": 134798, + "Ġücret": 134799, + "Ġyanında": 134800, + "Ġprática": 134801, + "×ij×Ļ×§×ķר": 134802, + "ÃľN": 134803, + "ÑģоÑĤ": 134804, + "ãĤıãģijãģ§": 134805, + "Ġдолго": 134806, + "×ª×Ľ×ķ": 134807, + "ĠìķĦëĭĮ": 134808, + "ëį°ìĿ´": 134809, + "Ġçiz": 134810, + "ĠchoÄĩ": 134811, + "Ġ×Ķ×Ļת": 134812, + "Ġ×Ķ×Ļתר": 134813, + "Ġsoát": 134814, + "׼×ij×ĵ": 134815, + "à¹Ģลà¹Īา": 134816, + "ĠдеÑĢ": 134817, + "ĠдеÑĢев": 134818, + "ãĤĴåħ¥ãĤĮ": 134819, + "×Ĺ×ķס": 134820, + "×Ĺ×ķסר": 134821, + "جÙĬÙĨ": 134822, + "tón": 134823, + "onné": 134824, + "ĠполноÑģÑĤÑĮÑİ": 134825, + "人ãģŁãģ¡": 134826, + "Ġprêt": 134827, + "본": 134828, + "Ġdécembre": 134829, + "cılar": 134830, + "Ġתת": 134831, + "Ġê²½ìļ°ìĹIJëĬĶ": 134832, + "ÙĪØ¹Ø¯": 134833, + "è¦ĭãĤĭ": 134834, + "วิà¸Īัย": 134835, + "ë¶Ī": 134836, + "زÙĪØ§": 134837, + "زÙĪØ§Ø¬": 134838, + "dì": 134839, + "ãģ§ãģĻãĤĪ": 134840, + "Ġводо": 134841, + "ĠÙĬÙĪØ¬Ø¯": 134842, + "ÑģоÑģÑĤоÑı": 134843, + "ÐŀС": 134844, + "ĠÄIJó": 134845, + "×Ĺפש": 134846, + "Ġצ×Ļ×ij×ķר": 134847, + "ĠاÙĦÙĤØ·": 134848, + "ĠاÙĦÙĤطاع": 134849, + "ĠимеÑİÑĤ": 134850, + "ĠpháºŃn": 134851, + "×Ľ×¡×¤×Ļ": 134852, + "полниÑĤелÑĮ": 134853, + "éĻIJãĤĬ": 134854, + "ĠÑģÑĢав": 134855, + "ĠÑģÑĢавн": 134856, + "ÙħاÙĦÙĥ": 134857, + "×ĵר×ķ×Ŀ": 134858, + "çļĨãģķãĤĵ": 134859, + "ØŃÙĤÙĤ": 134860, + "à¹ģหลà¹Īà¸ĩ": 134861, + "ĠاÙĦرسÙħÙĬ": 134862, + "оÑĩки": 134863, + "×ĺ×ij×Ĺ": 134864, + "Ġcanlı": 134865, + "Ġ׾׾": 134866, + "Ġ׾׾×ŀ×ķ×ĵ": 134867, + "×ŀ×ij×ķ": 134868, + "×ª×Ľ": 134869, + "×ª×Ľ×ł×Ļת": 134870, + "ĠاÙĦÙħشار": 134871, + "ĠاÙĦÙħشارÙĥØ©": 134872, + "İÅŀ": 134873, + "ĠسÙĬاسÙĬ": 134874, + "волÑĮ": 134875, + "ĠÑģпÑĢав": 134876, + "æĿ¥ãģ¦": 134877, + "פ×ķר×ķ×Ŀ": 134878, + "สำà¹Ģรà¹ĩ": 134879, + "สำà¹Ģรà¹ĩà¸Ī": 134880, + "ĠÅŁÃ¶yle": 134881, + "ĠzostaÅĤa": 134882, + "ĠHü": 134883, + "ר×ķש": 134884, + "دÙĦÙĬÙĦ": 134885, + "ÑĢид": 134886, + "שף": 134887, + "×ŀ×§×ķר": 134888, + "ĠÑĥÑĩ": 134889, + "ĠÑĥÑĩеб": 134890, + "ĠÑįÑĤа": 134891, + "кова": 134892, + "à¸ķà¸Ļà¹Ģà¸Ńà¸ĩ": 134893, + "ÙĨÙIJ": 134894, + "à¸Ńีà¸ģà¸Ħรัà¹īà¸ĩ": 134895, + "ระà¸ļุ": 134896, + "Ġdữ": 134897, + "ĠاÙĦØŃاÙĦÙĬ": 134898, + "׼×ķ׼": 134899, + "׼×ķ׼×ij": 134900, + "Ġ×ŀ×IJשר": 134901, + "Ġtrụ": 134902, + "ÑĤелем": 134903, + "Ġвли": 134904, + "ĠвлиÑı": 134905, + "Ġש×IJת×Ŀ": 134906, + "Ġuwag": 134907, + "ĠuwagÄĻ": 134908, + "×ĺ×Ļת": 134909, + "×IJ×ĵ×Ŀ": 134910, + "à¸Ķุ": 134911, + "Ġ×Ķ×IJ׾×Ķ": 134912, + "ĠkarÄ±ÅŁ": 134913, + "ĠÄIJá»iji": 134914, + "даÑİÑĤ": 134915, + "ãģªãģ®ãģ«": 134916, + "Äħcych": 134917, + "à¹Ģà¸Ļà¹īà¸Ļ": 134918, + "ãģĹãģ¦ãģĹãģ¾ãģĨ": 134919, + "intérieur": 134920, + "ĠfÃŃsica": 134921, + "ĠÐŁÐ¾Ð»": 134922, + "ãģĹãģķ": 134923, + "à¸Ĺำà¹Ħม": 134924, + "ĠLâm": 134925, + "ĠاÙĦÙħسÙĦÙħ": 134926, + "ĠاÙĦÙħسÙĦÙħÙĬÙĨ": 134927, + "صØŃØ©": 134928, + "ìĹĦ": 134929, + "à¹Ģà¸Ķà¹ĩà¸Ķ": 134930, + "ĠÑĥÑĩеÑĤ": 134931, + "âÌģ": 134932, + "ĠبÙĦا": 134933, + "ĠاÙĦاجتÙħاعÙĬ": 134934, + "פרס×Ŀ": 134935, + "ãĥķãĥ©": 134936, + "ĠÐļогда": 134937, + "mieÅĽci": 134938, + "ĠبÙĬÙĨÙħا": 134939, + "Ġ×ŀ×IJ×ŀר×Ļ×Ŀ": 134940, + "Ġ×ij×IJ×ĸ×ķר": 134941, + "×ķש×Ļ×Ŀ": 134942, + "ĠÑģдела": 134943, + "entrée": 134944, + "à¹Ģà¸Ħà¹īา": 134945, + "Ñĥгл": 134946, + "ĠاÙĦÙģÙĨÙĬ": 134947, + "ĠÐĴоÑĤ": 134948, + "à¸Ĺีà¹Īมา": 134949, + "×ķצ×Ĵ": 134950, + "ÙĤدرة": 134951, + "Ġ목": 134952, + "Ġ목ìłģ": 134953, + "íıīê°Ģ": 134954, + "ĠاÙĦأربع": 134955, + "ĠاÙĦأربعاء": 134956, + "פס×Ļ×§": 134957, + "ĠÑıвлÑıÑİÑĤÑģÑı": 134958, + "بÙĪÙĨ": 134959, + "ì°¾": 134960, + "×ŀ×¢×¨×Ľ": 134961, + "×ŀ×¢×¨×Ľ×ķת": 134962, + "ãĤ·ãĤ§": 134963, + "ĠباÙĦØ£": 134964, + "íĸĪëįĺ": 134965, + "ĠاÙĦبرÙĨاÙħج": 134966, + "ĠاÙĦØ£ØŃد": 134967, + "ĠmÅ©": 134968, + "ĠmÅ©i": 134969, + "паÑĤ": 134970, + "بث": 134971, + "ĠÑĨенÑĭ": 134972, + "Ġ×ij×ª×ľ": 134973, + "è¨ĢãĤıãĤĮ": 134974, + "ĠاÙĦÙħجاÙĦ": 134975, + "ĠìĦ¸ìĥģ": 134976, + "Ġ×Ĵ×ķפ": 134977, + "ĠнаÑĪей": 134978, + "ĠкомпаниÑı": 134979, + "бин": 134980, + "ölü": 134981, + "×Ļ×Ļ×ĺ": 134982, + "Ġ×ŀספ×Ļ×§": 134983, + "ยัà¸ĩà¸Ħà¸ĩ": 134984, + "ĠЧи": 134985, + "ĠанÑĤи": 134986, + "ĠÑģÑĢеди": 134987, + "สà¹Īวà¸Ļà¹ĥหà¸įà¹Ī": 134988, + "оÑĩка": 134989, + "íĬ¹ë³Ħ": 134990, + "วà¹Īาà¸ĩ": 134991, + "гоÑĢод": 134992, + "باÙĥ": 134993, + "à¹Ģสีà¹Īย": 134994, + "à¹Ģสีà¹Īยà¸ĩ": 134995, + "ãĤĤãĤīãģĦ": 134996, + "×§×ķ×Ŀ": 134997, + "ãģĽãģļ": 134998, + "ĠاÙĦÙĤاÙĩرة": 134999, + "Ġ×ij׼×ļ": 135000, + "ÙħشارÙĬع": 135001, + "باØŃØ«": 135002, + "ĠпоÑĩ": 135003, + "ĠпоÑĩÑĤи": 135004, + "ĠÑĦоÑĢма": 135005, + "Sİ": 135006, + "Ġ×ŀצ×Ļ×¢": 135007, + "ลื": 135008, + "ลืม": 135009, + "ĠÑĤеÑĢ": 135010, + "ĠÑĤеÑĢÑĢиÑĤоÑĢ": 135011, + "ĠÑĤеÑĢÑĢиÑĤоÑĢии": 135012, + "ĠвмеÑģÑĤ": 135013, + "ĠвмеÑģÑĤе": 135014, + "dıkları": 135015, + "opération": 135016, + "à¹Ĥห": 135017, + "صدÙĬ": 135018, + "صدÙĬÙĤ": 135019, + "íĸīìłķ": 135020, + "تجا": 135021, + "تجاÙĪØ²": 135022, + "Ġsuç": 135023, + "Ġarty": 135024, + "Ġartyku": 135025, + "ĠartykuÅĤ": 135026, + "ãĤ·ãĥ§ãĥĥãĥĹ": 135027, + "שפ": 135028, + "שפ×Ļ×¢": 135029, + "Ġ×Ķש×Ļר×ķת": 135030, + "à¹ģà¸ĸม": 135031, + "ë¸Ķ": 135032, + "ĠukÅĤad": 135033, + "Ġ×ķ׼×Ļ": 135034, + "หลาà¸ģ": 135035, + "หลาà¸ģหลาย": 135036, + "æĸ¹ãĤĤ": 135037, + "Ġpodróż": 135038, + "ĠEÄŁer": 135039, + "ĠкомнаÑĤ": 135040, + "ĠÑģамÑĭÑħ": 135041, + "ĠвкÑĥÑģ": 135042, + "беж": 135043, + "Ġ×ij×§×ķ": 135044, + "æİĽãģij": 135045, + "ãģ¿ãĤĭãģ¨": 135046, + "ĠiliÅŁkin": 135047, + "ĠÙĬعÙħÙĦ": 135048, + "ĠподаÑĢ": 135049, + "Ġyazılı": 135050, + "ãĤĴå¾Ĺ": 135051, + "ĠwystÄĻp": 135052, + "à¸Ĺีà¹Īà¹ĥà¸Ĭà¹ī": 135053, + "ØŃادث": 135054, + "ÙĪÙĬد": 135055, + "кÑĥлÑĮÑĤ": 135056, + "кÑĥлÑĮÑĤÑĥÑĢ": 135057, + "à¸ģารà¹ģà¸Ĥà¹Īà¸ĩ": 135058, + "à¸ģารà¹ģà¸Ĥà¹Īà¸ĩà¸Ĥ": 135059, + "à¸ģารà¹ģà¸Ĥà¹Īà¸ĩà¸Ĥัà¸Ļ": 135060, + "ÙħÙĪØ¸": 135061, + "ÙħÙĪØ¸Ùģ": 135062, + "ÙĬÙħÙĬ": 135063, + "ãĤĵãģ§ãģĻãģĮ": 135064, + "diÄŁim": 135065, + "diÄŁimiz": 135066, + "ĠÐŁÐµÑĢ": 135067, + "ĠÐŁÐµÑĢв": 135068, + "Ġmão": 135069, + "ĠÑģез": 135070, + "ĠÑģезон": 135071, + "Ġ×Ķ×ŀ×¢": 135072, + "ÙħجÙħÙĪØ¹Ø©": 135073, + "ĠинÑĦоÑĢмаÑĨии": 135074, + "iếc": 135075, + "ãng": 135076, + "ĠÄijấy": 135077, + "ãģĶç´": 135078, + "ãģĶç´¹": 135079, + "ãģĶç´¹ä»ĭ": 135080, + "Ġadım": 135081, + "à¹Ħหล": 135082, + "ĠпÑĢакÑĤи": 135083, + "ĠпÑĢакÑĤиÑĩ": 135084, + "ĠпÑĢакÑĤиÑĩеÑģ": 135085, + "ĠпÑĢакÑĤиÑĩеÑģки": 135086, + "ĠاÙĦÙĨÙ쨳": 135087, + "ĠÑĢабоÑĤе": 135088, + "ÙĦÙĬÙģ": 135089, + "ĠاÙĦجÙĨÙĪØ¨": 135090, + "ĠводÑĭ": 135091, + "ì¹Ļ": 135092, + "ĠмиÑĢа": 135093, + "ĠÄijừng": 135094, + "ĠпÑĢоÑĤиво": 135095, + "ĠÑģÑĤÑĢанÑĭ": 135096, + "ลู": 135097, + "ìĤ¶": 135098, + "kreÅĽl": 135099, + "Ġbulund": 135100, + "ĠbulunduÄŁu": 135101, + "à¹ģสà¸Ļ": 135102, + "ãĤ±ãĤ¢": 135103, + "ת×Ĺ×ķ×ŀ×Ļ": 135104, + "ר׼×Ķ": 135105, + "Ġ׾ק×ķ×Ĺ": 135106, + "Ġ׾ק×ķ×Ĺ×ķת": 135107, + "Ġ×Ľ×ª×ķ×ijת": 135108, + "ĠÙĦÙĥÙħ": 135109, + "بشر": 135110, + "ĠrÃłng": 135111, + "Ġ×ŀ×Ķ×ŀ": 135112, + "Ġ×IJ×Ĺר×ķת": 135113, + "Ġбон": 135114, + "ĠбонÑĥÑģ": 135115, + "ï½Ĺ": 135116, + "à¹ģยà¸ģ": 135117, + "ãģĤãģªãģŁãģ®": 135118, + "ĠÑĥÑĩаÑģÑĤие": 135119, + "ĠEyl": 135120, + "ĠEylül": 135121, + "ĠçalÄ±ÅŁmaları": 135122, + "خطر": 135123, + "ìĿ½": 135124, + "à¸ģารà¹ĥà¸Ĭà¹īà¸ĩาà¸Ļ": 135125, + "Ġанализ": 135126, + "תק×ij׾": 135127, + "нием": 135128, + "Ġİns": 135129, + "Ġİnsan": 135130, + "ĠبÙĪØ§Ø³": 135131, + "ĠبÙĪØ§Ø³Ø·Ø©": 135132, + "Ġ×ł×Ľ×ł×¡": 135133, + "Ġ×Ķ×ŀ×Ļ×ĵ×¢": 135134, + "Ġço": 135135, + "ĠçoÄŁu": 135136, + "á»ĺ": 135137, + "ĠêµŃ민": 135138, + "ãĤĤãģĦãģĦ": 135139, + "Ġ׼׾×Ļ": 135140, + "ĠÑģÑĢедне": 135141, + "gÅĤo": 135142, + "gÅĤoÅĽ": 135143, + "Ġnegó": 135144, + "Ġnegócio": 135145, + "ĠÑĢегиÑģÑĤ": 135146, + "ĠÑĢегиÑģÑĤÑĢа": 135147, + "ĠÑĢегиÑģÑĤÑĢаÑĨии": 135148, + "Ġtrá»ĵng": 135149, + "ĠпÑĢÑı": 135150, + "ĠпÑĢÑıмо": 135151, + "ëłĪìĿ´": 135152, + "Ġkém": 135153, + "кле": 135154, + "à¸Ļำมา": 135155, + "ĠÑĦин": 135156, + "ĠÑĦинанÑģ": 135157, + "ĠÑĦинанÑģов": 135158, + "Ġkiá»ĩm": 135159, + "ยัà¸ĩà¹Ħ": 135160, + "ยัà¸ĩà¹Ħà¸ĩ": 135161, + "ยิà¸ĩ": 135162, + "à¹Ĥà¸Ľ": 135163, + "ĠполÑĥÑĩил": 135164, + "×Ļ×ĸ×Ŀ": 135165, + "à¹ģละà¸Ħวาม": 135166, + "ĠвообÑīе": 135167, + "صÙĬر": 135168, + "ãĥıãĥ³": 135169, + "ĠاÙĦÙĤاد": 135170, + "ĠاÙĦÙĤادÙħ": 135171, + "ĠبدÙĪÙĨ": 135172, + "عظÙħ": 135173, + "×ª×ł×ķ×¢": 135174, + "×ª×ł×ķ×¢×Ķ": 135175, + "Ø£ÙħÙĦ": 135176, + "ãģķãģĪ": 135177, + "ÑĤем": 135178, + "ÑĤемпеÑĢ": 135179, + "ÑĤемпеÑĢаÑĤÑĥÑĢ": 135180, + "Ġ׾×Ļצ×ķר": 135181, + "ĠrÄĻk": 135182, + "رسÙĦ": 135183, + "ìŀIJ를": 135184, + "Ġ×Ļצ×Ļרת": 135185, + "ÙĨبÙĬ": 135186, + "ÑĩнаÑı": 135187, + "تØŃÙĦÙĬÙĦ": 135188, + "Ġмик": 135189, + "ĠмикÑĢо": 135190, + "ĠSöz": 135191, + "Ġforça": 135192, + "Ñģон": 135193, + "ĠاÙĦعرا": 135194, + "ĠاÙĦعراÙĤÙĬ": 135195, + "ĠHá»ĵng": 135196, + "ãģĻãĤĭãģŁãĤģãģ«": 135197, + "à¸Ĺีà¹Īà¸Ńยูà¹Ī": 135198, + "Ġ×ķ×IJ×£": 135199, + "صÙĬد": 135200, + "ĠìķĬê³ł": 135201, + "รัà¸ĩ": 135202, + "ĠاÙĦتÙĪØ§ØµÙĦ": 135203, + "à¹Ģมà¸ķร": 135204, + "ÑĥÑģÑĤÑĢой": 135205, + "ÑĥÑģÑĤÑĢойÑģÑĤв": 135206, + "mıyor": 135207, + "ĠباسÙħ": 135208, + "Ġ×ķ׼×ķ": 135209, + "ĠGül": 135210, + "á»IJ": 135211, + "Ãītat": 135212, + "غاÙĦ": 135213, + "Ø¥ÙĨØ´": 135214, + "Ø¥ÙĨشاء": 135215, + "Tİ": 135216, + "à¸Ĥà¹īาม": 135217, + "Ġtroch": 135218, + "ĠtrochÄĻ": 135219, + "إص": 135220, + "إصابة": 135221, + "ĠثاÙĨÙĬ": 135222, + "ĠاÙĦصØŃØ©": 135223, + "Ġ×ĸ×Ķ×ķ": 135224, + "jÄħcej": 135225, + "ãĥĢãĥ³": 135226, + "ìĿ¸ìĿ´": 135227, + "ĠволоÑģ": 135228, + "ëIJĺë©´": 135229, + "ĠzakÅĤad": 135230, + "ãģĻãģĵãģ¨": 135231, + "以ä¸Ĭãģ®": 135232, + "Ġ×Ķ×ŀ×§×ķ×Ŀ": 135233, + "ÙħشاÙĩ": 135234, + "ÙħشاÙĩدة": 135235, + "Ñĩив": 135236, + "بش": 135237, + "ยà¹īาย": 135238, + "Ġsürdür": 135239, + "ĠNẵ": 135240, + "ĠNẵng": 135241, + "ĠигÑĢаÑĤÑĮ": 135242, + "Ġê·¸ëŁ¬ë©´": 135243, + "ãĥķãĥ«": 135244, + "ลà¹Īะ": 135245, + "Ġtendrá": 135246, + "ĠbÃły": 135247, + "à¹Ģà¸Ľà¹ĩà¸Ļà¸ľà¸¹à¹ī": 135248, + "Ġoko": 135249, + "ĠokoÅĤo": 135250, + "wÅĤa": 135251, + "wÅĤaÅĽci": 135252, + "wÅĤaÅĽciw": 135253, + "æĢĿãĤı": 135254, + "ĠYaÅŁ": 135255, + "ĠBá»ĩnh": 135256, + "íıŃ": 135257, + "بÙĬد": 135258, + "קרף": 135259, + "à¹Ģศร": 135260, + "à¹Ģศรษ": 135261, + "à¹Ģศรษà¸IJ": 135262, + "à¹Ģศรษà¸IJà¸ģิà¸Ī": 135263, + "ĠاÙĦØ£ÙĪØ±ÙĪ": 135264, + "ĠاÙĦØ£ÙĪØ±ÙĪØ¨ÙĬ": 135265, + "fläche": 135266, + "ä¹ĹãĤĬ": 135267, + "Ġbá»ģn": 135268, + "Ùĩب": 135269, + "æľĢãĤĤ": 135270, + "Ġsaç": 135271, + "à¸Ńำà¹Ģà¸ł": 135272, + "à¸Ńำà¹Ģà¸łà¸Ń": 135273, + "Ġأج": 135274, + "ĠاÙĦداخÙĦ": 135275, + "ĠاÙĦداخÙĦÙĬØ©": 135276, + "×ĺ×ķ×ij": 135277, + "ãĤĤãģªãģı": 135278, + "ĠлиÑĨа": 135279, + "à¹ģลà¹īวà¸ģà¹ĩ": 135280, + "×ĸ׼×Ļר": 135281, + "ĠquÃł": 135282, + "ĠÙĥذÙĦÙĥ": 135283, + "صØŃÙģ": 135284, + "ĠÃĤu": 135285, + "ÙĪØ¨Ø§": 135286, + "à¹Ģà¸Ľà¸¥à¸µà¹Īยà¸Ļà¹ģà¸Ľà¸¥": 135287, + "à¹Ģà¸Ľà¸¥à¸µà¹Īยà¸Ļà¹ģà¸Ľà¸¥à¸ĩ": 135288, + "à¸ķัวà¸Ńยà¹Īาà¸ĩ": 135289, + "Ġrápida": 135290, + "Ġtasar": 135291, + "Ġtasarım": 135292, + "ĠعÙĦÙĬÙĩÙħ": 135293, + "ס×ķ׾": 135294, + "cılı": 135295, + "cılık": 135296, + "ĠرغÙħ": 135297, + "ìĭľíĤ¤": 135298, + "Ġ×IJ׾ק": 135299, + "Ġ×IJ׾ק×ĺר": 135300, + "Ġ×IJ׾ק×ĺר×ķ׳×Ļ": 135301, + "à¹ģà¸ļà¹Īà¸ĩ": 135302, + "Ġhạng": 135303, + "ãģ£ãģ¦ãģıãĤĮ": 135304, + "ĠÙĨتÙĬ": 135305, + "ĠÙĨتÙĬجة": 135306, + "ıklı": 135307, + "غاÙĨ": 135308, + "à¸Ĥà¹īà¸Ńà¸Ħวาม": 135309, + "à¸Ľà¸¥à¸²à¸¢": 135310, + "ĠØ£Ùħس": 135311, + "à¸Ĺีà¹Īà¹Ģà¸ģีà¹Īยว": 135312, + "à¸Ĺีà¹Īà¹Ģà¸ģีà¹Īยวà¸Ĥ": 135313, + "à¸Ĺีà¹Īà¹Ģà¸ģีà¹Īยวà¸Ĥà¹īà¸Ńà¸ĩ": 135314, + "Ġdéfin": 135315, + "Ġdéfini": 135316, + "ÙģÙĨاد": 135317, + "ÙģÙĨادÙĤ": 135318, + "à¹Ħà¸Ķà¹īวà¹Īา": 135319, + "ãģªãģĦãĤĪãģĨãģ«": 135320, + "Ġprópria": 135321, + "ĠPhát": 135322, + "ãĤĦãģĻãģı": 135323, + "สวยà¸ĩาม": 135324, + "ê³łìļĶ": 135325, + "ÑıеÑĤ": 135326, + "ãģĭãĤĤãģĹãĤĮãģ¾ãģĽãĤĵãģĮ": 135327, + "ترجÙħ": 135328, + "ĠкÑĢаÑģив": 135329, + "Ġ×ŀר×IJש": 135330, + "деж": 135331, + "ĠÙĬÙĪÙĨ": 135332, + "ĠÙĬÙĪÙĨÙĬÙĪ": 135333, + "ÑģкоÑĢ": 135334, + "ĠKasım": 135335, + "ê³Ħìķ½": 135336, + "коÑģ": 135337, + "ĠнаÑĢÑĥ": 135338, + "ĠнаÑĢÑĥÑĪен": 135339, + "Ġduże": 135340, + "accès": 135341, + "Ġhá»ĵng": 135342, + "ĠvÅ©": 135343, + "ãģĦãģŁãģĹãģ¾ãģĻ": 135344, + "Ġ×ĺ×Ļ": 135345, + "Ġ×ĺ×Ļ×ķ׾": 135346, + "lıkları": 135347, + "Ġquê": 135348, + "ëħ¸ëıĻ": 135349, + "ìķĶ": 135350, + "CIÃĵN": 135351, + "Ġtắc": 135352, + "pressão": 135353, + "ĠìŀĪìľ¼": 135354, + "สิà¸Ĺà¸ĺิà¹Į": 135355, + "íĥĦ": 135356, + "Ġ×Ķ×ŀ×ŀש׾×Ķ": 135357, + "å¬īãģĹãģĦ": 135358, + "ĠÄIJặc": 135359, + "ÙĨزÙĦ": 135360, + "ĠдÑĢÑĥгой": 135361, + "дÑĥÑĤ": 135362, + "ìĪĻ": 135363, + "Ġthụ": 135364, + "à¹Ģสร": 135365, + "à¹Ģสรà¹ĩ": 135366, + "à¹Ģสรà¹ĩà¸Ī": 135367, + "Ġtoplant": 135368, + "Ġtoplantı": 135369, + "×IJ×ŀף": 135370, + "×ķ×ľ×ª": 135371, + "помн": 135372, + "ĠyoÄŁun": 135373, + "ÅĦskiego": 135374, + "ì°©": 135375, + "ĠØ«ÙĦاث": 135376, + "ĠØ«ÙĦاثة": 135377, + "Ġlắng": 135378, + "릴": 135379, + "ราà¸Ĭà¸ģาร": 135380, + "ĠÑģлова": 135381, + "á»Ĩ": 135382, + "à¸Ķีà¸ģวà¹Īา": 135383, + "ãģĶãģĸãģĦãģ¾ãģĻ": 135384, + "Ġдиз": 135385, + "Ġдизайн": 135386, + "férence": 135387, + "lıklar": 135388, + "ãģªãĤĵãģ§ãģĻ": 135389, + "ajÄħcy": 135390, + "Ġëĭ¤ìĸij": 135391, + "Ġëĭ¤ìĸijíķľ": 135392, + "×§×Ļר": 135393, + "ØŃار": 135394, + "สูà¹ī": 135395, + "Ġzro": 135396, + "Ġzrobi": 135397, + "ĠzrobiÄĩ": 135398, + "×ŀ×Ļ׼×Ķ": 135399, + "à¸Ĭà¹Īวยà¹Ģหลืà¸Ń": 135400, + "ĠÑįÑĤÑĥ": 135401, + "ë´ī": 135402, + "楽ãģĹãģĦ": 135403, + "سÙĪØ±": 135404, + "íķĺê±°ëĤĺ": 135405, + "ÙħؤتÙħر": 135406, + "ĠpoczÄħ": 135407, + "ĠpoczÄħtk": 135408, + "ĠpoczÄħtku": 135409, + "ĠعربÙĬ": 135410, + "اÙĦأر": 135411, + "اÙĦأردÙĨ": 135412, + "à¸Ķร": 135413, + "Åĵuvre": 135414, + "ĠÙĪÙĥاÙĨت": 135415, + "ĠÅĽredni": 135416, + "خضر": 135417, + "Ġchuyến": 135418, + "нÑĤ": 135419, + "ĠìķĮê³ł": 135420, + "Ġvá»Ŀi": 135421, + "Ġ×ij×Ļ×ĵ×Ļ": 135422, + "×ŀ×ĵ×ķ×ijר": 135423, + "ÙĪÙ쨱": 135424, + "ÙĬØ¡": 135425, + "×ł×Ľ×¡": 135426, + "ĠÐĽÐ°": 135427, + "лон": 135428, + "Ġxấu": 135429, + "ÙģÙĬÙĨ": 135430, + "Ġfévrier": 135431, + "ĠÐŀна": 135432, + "ĠVá»ģ": 135433, + "ĠÅŁeyler": 135434, + "ĠполÑĥÑĩен": 135435, + "зад": 135436, + "Ġnét": 135437, + "à¹Ħà¸Ľà¸¢à¸±à¸ĩ": 135438, + "×Ĺש×ij×ķ": 135439, + "à¸ļัà¸Ļà¸Ĺ": 135440, + "à¸ļัà¸Ļà¸Ĺึà¸ģ": 135441, + "ĠgerçekleÅŁ": 135442, + "иÑĩеÑģкое": 135443, + "ìĪĺê°Ģ": 135444, + "ثبت": 135445, + "ãģ¤ãģ¾ãĤĬ": 135446, + "ĠÑĥÑģловиÑıÑħ": 135447, + "ëĭ¤ê°Ģ": 135448, + "รายà¹Ħà¸Ķà¹ī": 135449, + "׼×IJ×ij": 135450, + "à¹Ĥà¸Ľà¸£à¹Ĥม": 135451, + "à¹Ĥà¸Ľà¸£à¹Ĥมà¸Ĭัà¹Īà¸Ļ": 135452, + "jähr": 135453, + "jährige": 135454, + "ק׳×Ļ×Ŀ": 135455, + "×ŀ×ķ×§": 135456, + "×ŀ×ķ×§×ĵ": 135457, + "ãģ«è¡Įãģ£ãģ¦": 135458, + "Ø¢ÙĦ": 135459, + "ведение": 135460, + "Ġ×ľ×Ľ×ª×ķ×ij": 135461, + "جÙħÙĩ": 135462, + "جÙħÙĩÙĪØ±ÙĬØ©": 135463, + "à¸īà¸ļ": 135464, + "à¸īà¸ļัà¸ļ": 135465, + "ĠCòn": 135466, + "à¸ľà¸ªà¸¡": 135467, + "ãģªãģ©ãģĮ": 135468, + "×IJ×Ķ×ij": 135469, + "ĠдейÑģÑĤвиÑı": 135470, + "yız": 135471, + "à¹Ħมà¹Īà¹Ģà¸Ħย": 135472, + "جÙĪØ²": 135473, + "×Ķ×Ĺ׾×ĺ×Ķ": 135474, + "fällt": 135475, + "ãĥĵãĤ¸": 135476, + "ãĥĵãĤ¸ãĥį": 135477, + "ãĥĵãĤ¸ãĥįãĤ¹": 135478, + "Ġ×IJ×Ļ׳×Ŀ": 135479, + "ĠнаÑħодиÑĤÑģÑı": 135480, + "ĠdziÅĽ": 135481, + "ستطÙĬع": 135482, + "׾×Ļף": 135483, + "Ø®ÙĦاÙģ": 135484, + "ÙĩÙIJ": 135485, + "Ġatrás": 135486, + "íĺģ": 135487, + "ãĤĴãģĶ": 135488, + "Ġ×Ķ×ŀ×ķצר": 135489, + "ĠBakanlıģı": 135490, + "ÑİÑīее": 135491, + "ÙħÙĨاط": 135492, + "ÙħÙĨاطÙĤ": 135493, + "Ù쨝": 135494, + "à¸Ļำà¹Ħà¸Ľ": 135495, + "Ġваж": 135496, + "Ġважно": 135497, + "Ġmạch": 135498, + "׼׳×ķ": 135499, + "بعث": 135500, + "lanması": 135501, + "Ġayr": 135502, + "Ġayrıl": 135503, + "ìĤ¬íļĮ": 135504, + "dÃŃa": 135505, + "pÅĤyw": 135506, + "اÙħÙĬØ©": 135507, + "íĺľ": 135508, + "×IJ׳×Ĵ׾": 135509, + "×IJ׳×Ĵ׾×Ļת": 135510, + "ĠìŀĪëĭ¤ëĬĶ": 135511, + "Ġساعة": 135512, + "ĠëĤĺíĥĢ": 135513, + "bö": 135514, + "à¸Ħัà¸Ļ": 135515, + "ĠdziaÅĤania": 135516, + "Ø©Ùĭ": 135517, + "ĠngÅ©": 135518, + "׳צ×Ĺ": 135519, + "ãģ¯ãģĤãĤĭ": 135520, + "ĠyaÅŁÄ±nda": 135521, + "stück": 135522, + "caracter": 135523, + "caracterÃŃsticas": 135524, + "Ġrá»Ńa": 135525, + "ĠÙħختÙĦÙ쨩": 135526, + "ãģ«ãģĬãģijãĤĭ": 135527, + "à¹ģà¸ŀà¸ĩ": 135528, + "วิà¹Īà¸ĩ": 135529, + "תפ×ķ": 135530, + "ساÙĩÙħ": 135531, + "使ãģĨ": 135532, + "ÙĥرÙĬ": 135533, + "×IJפ×Ļ": 135534, + "...............": 135535, + "ĠÑĤаким": 135536, + "×Ļ׼×ķ×Ļ": 135537, + "شبÙĩ": 135538, + "جÙĬر": 135539, + "ãģĿãģ®ãģ¾ãģ¾": 135540, + "acjÄĻ": 135541, + "ĠاÙĦترÙĥ": 135542, + "ĠاÙĦترÙĥÙĬ": 135543, + "ĠпÑĢавилÑĮно": 135544, + "ĠتعÙħÙĦ": 135545, + "à¸ģลà¹īา": 135546, + "Ġbiên": 135547, + "Ġ×ij׳×Ļ×Ļת": 135548, + "ĠклÑĥб": 135549, + "Ġ×ŀש×Ķ": 135550, + "вÑĪий": 135551, + "ãģĵãģ¨ãģĮãģ§ãģįãĤĭ": 135552, + "à¸ŀัà¸Ļà¸ĺุ": 135553, + "à¸ŀัà¸Ļà¸ĺุà¹Į": 135554, + "ר×ķ×Ŀ": 135555, + "ĠاÙĦÙ쨱ÙĨ": 135556, + "ĠاÙĦÙ쨱ÙĨسÙĬ": 135557, + "à¹Ģà¸Ľà¹ĩà¸Ļà¸Ħà¸Ļ": 135558, + "ãģĹãģ¦ãģĬãĤĬ": 135559, + "Ġthầy": 135560, + "ãĤĵãģłãģijãģ©": 135561, + "ì͍": 135562, + "ÙħدÙĨ": 135563, + "تÙĪÙĨ": 135564, + "ĠмеÑĤал": 135565, + "ĠмеÑĤалл": 135566, + "ĠinÃŃcio": 135567, + "à¸Ńà¸Ńà¸ģà¸Īาà¸ģ": 135568, + "ëĴ¤": 135569, + "Ġcuá»ijn": 135570, + "Ġbuá»Ļc": 135571, + "ÙĨسÙĬ": 135572, + "ächt": 135573, + "×ŀ×Ļ׳×Ļ×Ŀ": 135574, + "ãģķãģ¦": 135575, + "ãģĮãģ§ãģį": 135576, + "ÑĬем": 135577, + "Ġtái": 135578, + "ĠЧÑĤ": 135579, + "ĠЧÑĤобÑĭ": 135580, + "à¸Ľà¸¥à¸¹à¸ģ": 135581, + "à¸Ĭุมà¸Ĭà¸Ļ": 135582, + "нÑģкий": 135583, + "Ġvững": 135584, + "Ġ×Ķ׾×ij": 135585, + "ële": 135586, + "Ġשע×ijר": 135587, + "ваÑĤÑĮÑģÑı": 135588, + "бой": 135589, + "عÙĪÙĨ": 135590, + "à¹ģà¸Ķà¸Ļ": 135591, + "Ġספר×Ļ×Ŀ": 135592, + "Ġtuyên": 135593, + "Ġnhiêu": 135594, + "ĠQuý": 135595, + "Ġhuyết": 135596, + "ãĤıãģĭãĤīãģªãģĦ": 135597, + "Ġ×ŀ׼ף": 135598, + "Ġ×Ķק׾": 135599, + "Ġ׾×IJ×ķר": 135600, + "ĠÄIJiá»ĩn": 135601, + "شؤ": 135602, + "شؤÙĪÙĨ": 135603, + "Ġ×ŀ×Ĺפש": 135604, + "ĠпоÑģÑĤоÑıнно": 135605, + "×ŀ×Ļר": 135606, + "ìħĶ": 135607, + "ÐŀÑģ": 135608, + "ÐŀÑģнов": 135609, + "×ĸ×Ļת": 135610, + "ĠHá": 135611, + "ĠÑĩаÑģов": 135612, + "×IJ×ķ׾×Ļ": 135613, + "Ġmát": 135614, + "خرÙĪ": 135615, + "خرÙĪØ¬": 135616, + "ÙĤضا": 135617, + "ÙĤضاÙĬا": 135618, + "à¹Ģà¸Ľà¸Ńรà¹Į": 135619, + "ĠÙĬÙĪÙĦ": 135620, + "ĠÙĬÙĪÙĦÙĬÙĪ": 135621, + "à¹Ĥà¸Ĺษ": 135622, + "׳פ׾": 135623, + "ת×ķש": 135624, + "ת×ķש×ij×Ļ": 135625, + "Ġvários": 135626, + "×ŀר×IJ×Ķ": 135627, + "ëĿ¼ìĿ´": 135628, + "ÙĨغ": 135629, + "×ijצע": 135630, + "гон": 135631, + "ĠÄIJược": 135632, + "عÙı": 135633, + "пÑĥÑģк": 135634, + "ĠÙĪØ§ÙĦÙģ": 135635, + "ücü": 135636, + "×Ļ×§×Ļ×Ŀ": 135637, + "ĠسبÙĬÙĦ": 135638, + "׾×ijף": 135639, + "ĠاÙĦÙĤرÙĨ": 135640, + "ס×ķת": 135641, + "ĠQuáºŃn": 135642, + "ãģĵãĤĮãģĮ": 135643, + "ãĥĸãĥ©ãĥ³ãĥī": 135644, + "×Ĵ×ŀר": 135645, + "ĠwartoÅĽci": 135646, + "ĠÙĪØ¨ÙĬÙĨ": 135647, + "Ġdạ": 135648, + "ÐIJв": 135649, + "ÐIJвÑĤо": 135650, + "Ġolacaktır": 135651, + "à¸Ļà¸Ĺà¹Į": 135652, + "Ùħطار": 135653, + "Ġ×¢×§×ij": 135654, + "Ġתפ": 135655, + "ãģĹãģ¦ãģĦãģ¦": 135656, + "צ×ŀ×Ĺ": 135657, + "à¸Īà¸Ńà¸ĩ": 135658, + "Ġöde": 135659, + "ìį¨": 135660, + "ÙĨاس": 135661, + "調ãģ¹": 135662, + "ĠогÑĢомн": 135663, + "ë³´íĹĺ": 135664, + "×ĺ×§": 135665, + "×ĺקס×ĺ": 135666, + "ĠbaÅŁv": 135667, + "ĠbaÅŁvuru": 135668, + "Ġpomys": 135669, + "ĠpomysÅĤ": 135670, + "ãģ«ä¹Ĺ": 135671, + "Ġש׼ף": 135672, + "ĠاÙĦÙħسؤÙĪÙĦ": 135673, + "Ġзан": 135674, + "ĠзанÑıÑĤ": 135675, + "Ġdương": 135676, + "ãĥĹãĥ¬ãĤ¤": 135677, + "ลà¸ļ": 135678, + "ÑĤика": 135679, + "ĠAralık": 135680, + "Ġнедо": 135681, + "Ġmá»Ļ": 135682, + "Ġoran": 135683, + "Ġoranı": 135684, + "Ġktór": 135685, + "ĠktórÄħ": 135686, + "Ġ×Ķ×IJ×Ĺר×ķ׳×ķת": 135687, + "ائÙĨ": 135688, + "ÅĦs": 135689, + "ÅĦska": 135690, + "åĽ½ãģ®": 135691, + "×ŀ×ĺ×Ļ": 135692, + "ĠвопÑĢоÑģÑĭ": 135693, + "à¸Ńà¸ĩà¸Ħà¹Įà¸ģร": 135694, + "×ŀ×ķצ×IJ": 135695, + "Ġpóź": 135696, + "Ġpóźniej": 135697, + "ש×ŀ×IJ׾": 135698, + "Ġkaps": 135699, + "Ġkapsam": 135700, + "Ġkapsamında": 135701, + "Ġmáquina": 135702, + "ĠÅĽwiecie": 135703, + "ĠhoÃłng": 135704, + "Ġözgü": 135705, + "×Ĵ×ķר×Ŀ": 135706, + "ãģĤãģŁãĤĬ": 135707, + "à¸ķัà¸Ķสิà¸Ļ": 135708, + "à¸ķัà¸Ķสิà¸Ļà¹ĥà¸Ī": 135709, + "бÑĢи": 135710, + "ãģ«ãģªãĤĭãģ¨": 135711, + "تÙĥÙĪÙĨ": 135712, + "Ġ×ķ×Ķ×Ļ×IJ": 135713, + "Ġchiếu": 135714, + "ÑģÑĤанав": 135715, + "ÑģÑĤанавли": 135716, + "ÑģÑĤанавлива": 135717, + "×ŀ×ķ×Ĵ": 135718, + "cité": 135719, + "ĠKörper": 135720, + "Ġש×Ĵ×Ŀ": 135721, + "عظ": 135722, + "عظÙĬÙħ": 135723, + "Ġ×Ķ×IJ×Ļש×Ļ": 135724, + "Ġmatière": 135725, + "ĠÙģÙĪÙĤ": 135726, + "Ġkto": 135727, + "ĠktoÅĽ": 135728, + "à¸Ļà¹Ĥย": 135729, + "à¸Ļà¹Ĥยà¸ļาย": 135730, + "å¾ħãģ¡": 135731, + "à¹Ģมà¸Ļ": 135732, + "à¹Ģมà¸Ļู": 135733, + "AÃĩÃĥO": 135734, + "Ġtù": 135735, + "Ġtùy": 135736, + "ãĥĪãĥ³": 135737, + "ĠоÑĤказ": 135738, + "Ġ×ŀ×ķצר": 135739, + "ülü": 135740, + "ãģķãĤĵãģ«": 135741, + "Ġ×Ĺ×ķ×ij": 135742, + "קר×Ļ×IJ×Ķ": 135743, + "ĠاÙĦخدÙħات": 135744, + "ĠÙĦÙħدة": 135745, + "رؤ": 135746, + "رؤÙĬØ©": 135747, + "ãĤĴè¦ĭãģ¤ãģij": 135748, + "à¸Łà¸²": 135749, + "Ġréussi": 135750, + "à¸Ļัà¸ģà¹Ģรียà¸Ļ": 135751, + "ĠÑĩиÑģл": 135752, + "à¸ģารà¹Ģลà¹Īà¸Ļ": 135753, + "Ġhazırl": 135754, + "Ġhazırlan": 135755, + "ĠпеÑĢвÑĭй": 135756, + "лим": 135757, + "ĠоÑĤзÑĭвÑĭ": 135758, + "ĠwyjÄħ": 135759, + "ĠwyjÄħtk": 135760, + "ĠØ£ÙĤÙĦ": 135761, + "ס×ļ": 135762, + "Ġê²°ìłķ": 135763, + "Ġ׾×ŀעש×Ķ": 135764, + "Ġlắp": 135765, + "à¹ģà¸ļร": 135766, + "à¹ģà¸ļรà¸Ļà¸Ķà¹Į": 135767, + "วà¹Īาà¹Ģà¸Ľà¹ĩà¸Ļ": 135768, + "Ġبدا": 135769, + "ĠبداÙĬØ©": 135770, + "ãģ¨ãģĦãģĨãģ®ãģĮ": 135771, + "иÑĩеÑģким": 135772, + "à¸ģารà¸ŀัà¸Ĵà¸Ļา": 135773, + "ĠbÃło": 135774, + "ĠmiaÅĤa": 135775, + "ywaÄĩ": 135776, + "ĠMärz": 135777, + "ĠÙĨسبة": 135778, + "Ġéconomique": 135779, + "×ĸ×ŀ": 135780, + "×ĸ×ŀ׳×Ļ×Ŀ": 135781, + "æŃ¢ãĤģ": 135782, + "Ġtá»§": 135783, + "íķĺìĭł": 135784, + "Ġkażdego": 135785, + "straÃŁe": 135786, + "à¸Ĭีà¹ī": 135787, + "à¹Ģà¸ļา": 135788, + "ÑĢеÑģÑĥÑĢÑģ": 135789, + "евой": 135790, + "شباب": 135791, + "à¸ķà¹Īาà¸ĩà¸Ľà¸£à¸°à¹Ģà¸Ĺศ": 135792, + "Ġ×IJ×Ļש": 135793, + "Ġ×IJ×Ļש×Ļת": 135794, + "×Ļ×ķפ": 135795, + "×Ļ×ķפ×Ļ": 135796, + "ĠìļĶ구": 135797, + "ì¡°ìĤ¬": 135798, + "ãģ£ãģŁãĤī": 135799, + "׾×Ļ×§": 135800, + "миниÑģÑĤÑĢ": 135801, + "ãĤĤãģ®ãģ¯": 135802, + "Ġlương": 135803, + "Ġнаи": 135804, + "Ġнаибол": 135805, + "Ġнаиболее": 135806, + "íİĺ": 135807, + "à¹ģà¸ŀà¹ī": 135808, + "ãĤŃãĥ¥": 135809, + "ĠкоÑĤоÑĢÑĭм": 135810, + "à¹ģà¸Ĺà¸ĩ": 135811, + "à¹ģà¸Ĺà¸ĩà¸ļà¸Ńล": 135812, + "Ġ׳×Ļ×Ķ": 135813, + "Ġ׳×Ļ×Ķ×ķ׾": 135814, + "âĤª": 135815, + "ĠGiải": 135816, + "ĠиÑģполÑĮзова": 135817, + "ëł¥ìĿĦ": 135818, + "ãģĹãģĭãĤĤ": 135819, + "à¸ģà¹ĩà¸ķà¹īà¸Ńà¸ĩ": 135820, + "ĠÑĢеб": 135821, + "ĠÑĢебен": 135822, + "ĠÑĢебенка": 135823, + "تÙĪØ§ØµÙĦ": 135824, + "ãĤ°ãĥ«ãĥ¼ãĥĹ": 135825, + "ãĤĦãĤī": 135826, + "à¹Ģà¸Ľà¸´à¸Ķà¸ķัว": 135827, + "бÑĢо": 135828, + "ë°ĸìĹIJ": 135829, + "ÙĨÙİØ§": 135830, + "×Ķ×Ĵ": 135831, + "×Ķ×Ĵ׳×Ķ": 135832, + "à¸Ĺรั": 135833, + "à¸Ĺรัà¸ŀ": 135834, + "à¸Ĺรัà¸ŀยà¹Į": 135835, + "Ġkhá»iji": 135836, + "עצ×ŀ×ķ": 135837, + "болезн": 135838, + "Ġë°ĽìķĦ": 135839, + "มà¸Ļ": 135840, + "มà¸Ļุ": 135841, + "มà¸Ļุษ": 135842, + "มà¸Ļุษยà¹Į": 135843, + "âĹĨ": 135844, + "×ŀצ׾×Ļ×Ĺ": 135845, + "Ñıвление": 135846, + "ÙħØ·ÙĦ": 135847, + "ÙħØ·ÙĦÙĪØ¨": 135848, + "خاÙĦÙģ": 135849, + "تÙĪÙĤÙģ": 135850, + "ãģ§ãģįãģ¾ãģĽãĤĵ": 135851, + "оÑģÑĤей": 135852, + "меÑĩа": 135853, + "기ëĬĶ": 135854, + "תשע": 135855, + "صÙĬب": 135856, + "Ġ×ij×¢×ķ×ĵ": 135857, + "à¸Ĥà¸Ńà¸ĩà¹Ģà¸Ĥา": 135858, + "ÑĤÑıж": 135859, + "ĠÑĥпÑĢав": 135860, + "ĠÑĥпÑĢавлениÑı": 135861, + "Ġgénér": 135862, + "ĠthÃŃ": 135863, + "פ×ļ": 135864, + "ĠرÙħض": 135865, + "ĠرÙħضاÙĨ": 135866, + "Ġtruyá»ĩn": 135867, + "إعداد": 135868, + "ãĤµãĥĿãĥ¼ãĥĪ": 135869, + "Ġполно": 135870, + "خاÙħ": 135871, + "ÐŁÐµÑĤ": 135872, + "ÐŁÐµÑĤеÑĢ": 135873, + "ÐŁÐµÑĤеÑĢбÑĥÑĢ": 135874, + "ÐŁÐµÑĤеÑĢбÑĥÑĢг": 135875, + "ÙħÙĨتدÙī": 135876, + "ãģķãĤĮãģ¾ãģĹãģŁ": 135877, + "ĠëĮĢíķĺìŬ": 135878, + "à¸ľà¸¹à¹īà¸Ĺีà¹Ī": 135879, + "Ġ×ŀ×IJ×ķ": 135880, + "׾׳×ĵ": 135881, + "оÑĩнÑĭе": 135882, + "ĠнаÑĩала": 135883, + "Ġ׾×Ļ׾×ĵ×Ļ×Ŀ": 135884, + "овое": 135885, + "ãģĻãĤĭãģĵãģ¨ãģ§": 135886, + "ĠاÙĦÙĨÙģ": 135887, + "ĠاÙĦÙĨÙ쨷": 135888, + "ìŀĪëĬĶ": 135889, + "غÙĨÙĬ": 135890, + "פ×ĵ": 135891, + "ãĤ¾": 135892, + "ĠCré": 135893, + "ãģ©ãģ¡ãĤī": 135894, + "ثاÙĨ": 135895, + "ÑĢабаÑĤ": 135896, + "ÑĢабаÑĤÑĭва": 135897, + "Ġê°Ļëĭ¤": 135898, + "à¸Īั": 135899, + "à¸Īัà¸ģร": 135900, + "Ġchụ": 135901, + "Ġchụp": 135902, + "ĠмаÑģÑĤ": 135903, + "ĠмаÑģÑĤеÑĢ": 135904, + "Ġnắm": 135905, + "ĠÑģÑĤали": 135906, + "Ġ×Ķ×IJ×Ļר×ķ×¢": 135907, + "ãĤ½ãĥ³": 135908, + "åĪĨãģĭãĤĬ": 135909, + "طبع": 135910, + "بدا": 135911, + "gráfico": 135912, + "геÑĢ": 135913, + "à¸Ķำà¹Ģà¸Ļิà¸Ļà¸ģาร": 135914, + "Ġsaldır": 135915, + "Ġsaldırı": 135916, + "вÑĪиÑħ": 135917, + "ãģĭãģ£ãģŁãģ§ãģĻ": 135918, + "Ġyapıyor": 135919, + "ĠاÙĦÙģØª": 135920, + "צרפת": 135921, + "здоÑĢов": 135922, + "×ij×¢×ľ": 135923, + "Ġ×IJ×ŀ×Ļת×Ļ": 135924, + "ĠобÑĭ": 135925, + "ĠобÑĭÑĩ": 135926, + "ĠобÑĭÑĩно": 135927, + "Ġ׾×ķ×ŀר": 135928, + "تÙĥÙĨ": 135929, + "تÙĥÙĨÙĪÙĦÙĪØ¬": 135930, + "تÙĥÙĨÙĪÙĦÙĪØ¬ÙĬا": 135931, + "Ġhakkı": 135932, + "ĠÑĢав": 135933, + "ĠÑĢавно": 135934, + "رÙĬÙĥ": 135935, + "Ġ×ij×ŀ×Ļ×ĵ": 135936, + "Ġ×ij×ŀ×Ļ×ĵ×Ķ": 135937, + "à¹ģà¸ģà¹īว": 135938, + "Ġìĸĺ": 135939, + "Ġìĸĺ기": 135940, + "ãģĹãģ¦ãģĦãģ¾ãģĹãģŁ": 135941, + "Ġkısm": 135942, + "Ġkısmı": 135943, + "걸": 135944, + "åĨħãģ®": 135945, + "ì§ķ": 135946, + "à¹Ģหมืà¸Ńà¸Ļà¸ģัà¸Ļ": 135947, + "ĠÙģÙIJ": 135948, + "ĠÙģÙIJÙĬ": 135949, + "ÙĤاعدة": 135950, + "Ġmożesz": 135951, + "ÙħصاÙĦ": 135952, + "ÙħصاÙĦØŃ": 135953, + "ãģ¾ãģŁãģ¯": 135954, + "бег": 135955, + "Ġsıc": 135956, + "Ġsıcak": 135957, + "ÑĩиÑģ": 135958, + "ÑĩиÑģлен": 135959, + "Ġног": 135960, + "ãĥģãĥ£ãĥ³": 135961, + "ãĥ«ãĥī": 135962, + "Ġgió": 135963, + "Ġsını": 135964, + "Ġsınıf": 135965, + "иваÑĤÑĮ": 135966, + "Ġquên": 135967, + "Ġìłģ": 135968, + "Ġìłģìļ©": 135969, + "ĠJoão": 135970, + "ÙģØ§Ø¯": 135971, + "ĠGlück": 135972, + "à¸Ĺà¸Ńà¸Ķ": 135973, + "Ġgói": 135974, + "ï¼Ĭ": 135975, + "Ġdétail": 135976, + "ĠدÙĬسÙħ": 135977, + "ĠدÙĬسÙħبر": 135978, + "ë¡ľìĦľ": 135979, + "×ŀ×ķ×Ĺ": 135980, + "à¹Ħฮ": 135981, + "ĠоÑĤд": 135982, + "ĠоÑĤдÑĭÑħ": 135983, + "Ġkhuyến": 135984, + "à¸Ħà¸Ńย": 135985, + "ĠجÙĨÙĬ": 135986, + "ĠجÙĨÙĬÙĩ": 135987, + "ĠاÙĦدÙģØ§Ø¹": 135988, + "à¸Ļà¹īำหà¸Ļัà¸ģ": 135989, + "ĠìĤ¬ëŀĮëĵ¤ìĿ´": 135990, + "Ġthừa": 135991, + "ĠÃ¶ÄŁrenci": 135992, + "ĠпомоÑīи": 135993, + "ĠczÄĻÅĽÄĩ": 135994, + "ש×ĺר": 135995, + "ĠNhi": 135996, + "ĠNhiá»ģu": 135997, + "׳צ×Ļ": 135998, + "ĠнаÑĪем": 135999, + "ĠkarÅŁÄ±laÅŁ": 136000, + "Ġ×Ķש׳×Ļ×Ŀ": 136001, + "ĠÄIJưá»Ŀng": 136002, + "Ġtrú": 136003, + "ĠÑĢазлиÑĩнÑĭÑħ": 136004, + "ĠاÙĦØ´Ùĩر": 136005, + "Ġ×ľ×¢×ķ׾×Ŀ": 136006, + "ØŃجر": 136007, + "ĠÄijá»ķ": 136008, + "ĠìĿĺíķ´": 136009, + "à¸ļà¹Īà¸Ńย": 136010, + "Ġ×Ķ×Ļ׾×ĵ": 136011, + "ãģ¨ãģªãģ£ãģŁ": 136012, + "Ġ×Ĺ×ķ×ķת": 136013, + "Ġש×Ļר×ķת×Ļ": 136014, + "Äħcy": 136015, + "سرÙĬ": 136016, + "Kİ": 136017, + "פ׳×ķ": 136018, + "ÑģÑĤÑĢÑĥкÑĤÑĥÑĢ": 136019, + "ÑĤÑĢÑĥд": 136020, + "Ġ×Ķקר": 136021, + "Ġ×Ķקר×ķ×ij": 136022, + "ĠtháºŃm": 136023, + "èģŀãģį": 136024, + "ÙĤÙĪÙĬ": 136025, + "клÑİÑĩен": 136026, + "ÑĤеÑħ": 136027, + "ÑĤеÑħнолог": 136028, + "è¡Įãģ£ãģŁ": 136029, + "Ġ×ķ×IJ×Ļף": 136030, + "ĠÅŁeklin": 136031, + "ĠÅŁeklinde": 136032, + "rô": 136033, + "ÑĢог": 136034, + "ĠновÑĭе": 136035, + "Ġס×ij×Ļ×ij": 136036, + "ĠtecnologÃŃa": 136037, + "×¡×Ľ": 136038, + "×¡×Ľ×ķ×Ŀ": 136039, + "ĠÅŀub": 136040, + "ĠÅŀubat": 136041, + "Ġ×Ķ×ŀ׾×IJ": 136042, + "Ġwypos": 136043, + "Ġwyposaż": 136044, + "ãģ¯ä½ķ": 136045, + "ãĤ¬ãĥ³": 136046, + "ê°ĸ": 136047, + "Ġкакие": 136048, + "Ġçocuklar": 136049, + "Ġ׾צ×ĵ": 136050, + "Ġkayıt": 136051, + "ĠмеÑģÑĤе": 136052, + "ÙħدÙĬÙĨØ©": 136053, + "Ġ׼×Ĵ": 136054, + "Ġ׼×Ĵ×ķף": 136055, + "ãģĹãģ¦ãĤĭ": 136056, + "ĠÙħاÙĬÙĪ": 136057, + "ãģ£ãģ¦ãģĹãģ¾ãģ£ãģŁ": 136058, + "ĠпÑĢогÑĢаммÑĭ": 136059, + "à¹ģลà¸Ļà¸Ķà¹Į": 136060, + "ãĥ¯ãĤ¤": 136061, + "ער×ķ×¥": 136062, + "Ñģид": 136063, + "ĠBöyle": 136064, + "Ġì²ĺìĿĮ": 136065, + "Ġתפק×Ļ×ĵ": 136066, + "ĠTrên": 136067, + "íĥĪ": 136068, + "ĠÐłÐ¾ÑģÑģий": 136069, + "ĠÐłÐ¾ÑģÑģийÑģкой": 136070, + "ĠsÃłn": 136071, + "Ġrègle": 136072, + "ĠyaklaÅŁÄ±k": 136073, + "à¹Ģลิà¸ģ": 136074, + "ĠدائÙħ": 136075, + "Ġ×ķ×Ĵ": 136076, + "ابر": 136077, + "Ġbè": 136078, + "ĠاÙĦÙĤدÙħ": 136079, + "ĠÑĢеÑĪениÑı": 136080, + "hiên": 136081, + "ÑĤик": 136082, + "ÄĦ": 136083, + "à¸ļรรยาà¸ģ": 136084, + "à¸ļรรยาà¸ģาศ": 136085, + "רצ×ķף": 136086, + "åĭķãģį": 136087, + "ĠGäste": 136088, + "Ġ기본": 136089, + "ĠÙĬعرÙģ": 136090, + "ĠSá»Ń": 136091, + "gÅĤÄĻb": 136092, + "à¹Ģà¸Ńส": 136093, + "×IJ×ŀ×Ļף": 136094, + "ĠпÑĥнк": 136095, + "ĠпÑĥнкÑĤ": 136096, + "Ġ×Ļ×ķ×ĵ×¢×Ļ×Ŀ": 136097, + "ãĤ«ãĥ©ãĥ¼": 136098, + "Ġ×ijס×ĵר": 136099, + "Ġbuá»ĵn": 136100, + "йÑĤ": 136101, + "йÑĤеÑģÑĮ": 136102, + "ãĤĴæ±ĤãĤģ": 136103, + "Ġ×IJ×ª×Ľ×Ŀ": 136104, + "Ġ모르": 136105, + "ظرÙĪÙģ": 136106, + "ÑĩеÑģÑĤво": 136107, + "ìĸ´ìĦľ": 136108, + "Ġодна": 136109, + "Ġkapı": 136110, + "Ġëħ¸ëł¥": 136111, + "ĠKüche": 136112, + "ĠاÙĦتش": 136113, + "Ø·ÙĬب": 136114, + "ĠíĬ¹íŀĪ": 136115, + "ĠвÑĭпÑĥÑģ": 136116, + "ĠвÑĭпÑĥÑģк": 136117, + "×ĵת×Ļ": 136118, + "ĠuÄŁ": 136119, + "ĠuÄŁra": 136120, + "ائÙĩا": 136121, + "Ġthoát": 136122, + "ãģªãĤĤãģ®": 136123, + "ÑijÑĢ": 136124, + "기ê°Ģ": 136125, + "ĠgeliÅŁme": 136126, + "تØŃÙĤ": 136127, + "تØŃÙĤÙĤ": 136128, + "ĠопаÑģ": 136129, + "бÑĢоÑģ": 136130, + "หุ": 136131, + "หุà¹īà¸Ļ": 136132, + "ì¼Ģ": 136133, + "ãĤ¹ãĥŀ": 136134, + "ãĤ¹ãĥŀãĥĽ": 136135, + "Ø£Ù쨱": 136136, + "Ø£ÙģØ±Ø§Ø¯": 136137, + "ĠThá»±c": 136138, + "Ġthắ": 136139, + "ãĥªãĥ³ãĤ¯": 136140, + "Ġniá»ģm": 136141, + "ĠHöhe": 136142, + "عÙħار": 136143, + "ÙĥÙĪØ±ÙĪÙĨ": 136144, + "ÙĥÙĪØ±ÙĪÙĨا": 136145, + "ĠÄIJến": 136146, + "ĠÑģамом": 136147, + "ĠÑĤеле": 136148, + "ĠÄijoán": 136149, + "à¸Ħวามà¸Ħิà¸Ķà¹Ģหà¹ĩà¸Ļ": 136150, + "ĠдиÑģк": 136151, + "أطÙ쨧ÙĦ": 136152, + "มารà¹Į": 136153, + "à¸Ĺหาร": 136154, + "à¸Ĺà¸Ļ": 136155, + "ĠبعÙĬد": 136156, + "ĠاÙĦÙĩÙĨد": 136157, + "åĩºãģĹãģ¦": 136158, + "Ġkarde": 136159, + "ĠkardeÅŁ": 136160, + "×Ķ×Ļס×ĺ×ķר": 136161, + "×Ķ×Ļס×ĺ×ķר×Ļ×Ķ": 136162, + "éģ¸ãģ³": 136163, + "عاÙħÙĦ": 136164, + "à¸Ĥยาย": 136165, + "Ġtürl": 136166, + "Ġtürlü": 136167, + "ĠìĿ¼ìĿ´": 136168, + "Ġmatéria": 136169, + "Ġ׼׾×ķ×ŀר": 136170, + "ãĥģãĥ£ãĥ¼": 136171, + "جÙħاعة": 136172, + "ĠÑģвоим": 136173, + "Ø¥ÙĤاÙħØ©": 136174, + "ä¾ĭãģĪãģ°": 136175, + "ساب": 136176, + "آخر": 136177, + "ÙĤدÙĬر": 136178, + "×IJ×ŀ×Ļ": 136179, + "ìĸ»": 136180, + "Ġ׳×ķספת": 136181, + "ĠÐĴлад": 136182, + "ĠÐĴладим": 136183, + "ĠÐĴладимиÑĢ": 136184, + "Ġestará": 136185, + "ãģĵãģĨãģĦãģĨ": 136186, + "ãĤĴ使ç͍": 136187, + "มาà¸ķร": 136188, + "มาà¸ķรà¸IJาà¸Ļ": 136189, + "ãģ£ãģ½": 136190, + "Ġnú": 136191, + "Ġnúi": 136192, + "ยาà¸ĩ": 136193, + "ĠاÙĦجÙĨس": 136194, + "Ġüstün": 136195, + "ëľ»": 136196, + "ãĤ»ãĥ«": 136197, + "ãģ¦ãģĦãģįãģ¾ãģĻ": 136198, + "Ġ×Ĺ×ķ×ĸ": 136199, + "Ġ×Ĺ×ķ×ĸר": 136200, + "ĠÐĵлав": 136201, + "à¹Ĥà¸Ĭà¸Ħ": 136202, + "íıIJ": 136203, + "ÙĨتظر": 136204, + "Ġ×Ĵ×ij×Ļ": 136205, + "عÙĤب": 136206, + "intér": 136207, + "intérêt": 136208, + "×ŀפ×Ĵ": 136209, + "×ŀפ×Ĵש": 136210, + "Ġthù": 136211, + "اÙģØª": 136212, + "Ġ×ŀשפ": 136213, + "Ġ×ŀשפ×ĺ×Ļ": 136214, + "ĠÙħÙĪØ§ÙĤع": 136215, + "è¦ļ": 136216, + "è¦ļãģĪ": 136217, + "×ĵ×Ļף": 136218, + "à¹Ģรืà¹Īà¸Ńà¸ĩราว": 136219, + "ãģ¾ãģĤ": 136220, + "Ġghế": 136221, + "иÑĢÑĥÑİÑĤ": 136222, + "à¸ģว": 136223, + "à¸ģวà¹īาà¸ĩ": 136224, + "ĠповеÑĢ": 136225, + "ĠповеÑĢÑħ": 136226, + "ĠповеÑĢÑħноÑģÑĤ": 136227, + "׳×ĵר": 136228, + "ĠконÑĨе": 136229, + "Ġдолжна": 136230, + "Ġ×Ļש×Ļר": 136231, + "acaģız": 136232, + "ìĹĶ": 136233, + "ĠnÃŃvel": 136234, + "Ġör": 136235, + "Ġörnek": 136236, + "ÙĥÙģ": 136237, + "ĠФедеÑĢаÑĨии": 136238, + "Ġ구ìĦ±": 136239, + "หัวà¹ĥà¸Ī": 136240, + "ĠVáºŃy": 136241, + "мед": 136242, + "меди": 136243, + "медиÑĨин": 136244, + "медиÑĨинÑģк": 136245, + "ازÙĬ": 136246, + "×Ĵ×ij×ķ׾": 136247, + "ÑĦÑĢ": 136248, + "Ġzusätzlich": 136249, + "à¸ģà¸ģ": 136250, + "ĠاÙĦاÙĤتصادÙĬØ©": 136251, + "Ġhè": 136252, + "luÄŁun": 136253, + "جÙİ": 136254, + "à¹Ħà¸Łà¸¥à¹Į": 136255, + "ÄIJT": 136256, + "ãģĿãģ®ä»ĸ": 136257, + "à¸Ĺิà¹īà¸ĩ": 136258, + "ĠاÙĦØ£ÙĪ": 136259, + "رسÙħ": 136260, + "æ°Ĺãģ¥": 136261, + "ìĿ´ë©°": 136262, + "ÑĮев": 136263, + "صط": 136264, + "ĠاÙĦاستث": 136265, + "ĠاÙĦاستثÙħار": 136266, + "à¸Ńาà¸Ħาร": 136267, + "ĠÑĤоÑĩно": 136268, + "ĠVân": 136269, + "à¸Ńร": 136270, + "à¸Ńรà¹Īà¸Ńย": 136271, + "ĠاÙĦسÙĨØ©": 136272, + "ĠcÆ°á»Ľi": 136273, + "×Ļ×Ķף": 136274, + "íį¼": 136275, + "話ãģĹ": 136276, + "âĹĭ": 136277, + "ĠìķĬìĿĢ": 136278, + "ãĥ¡ãĥ¼ãĤ": 136279, + "ãĥ¡ãĥ¼ãĤ«": 136280, + "ãĥ¡ãĥ¼ãĤ«ãĥ¼": 136281, + "ĠÑĤепло": 136282, + "å½¼ãĤī": 136283, + "Ġİz": 136284, + "Ġİzmir": 136285, + "íĻį": 136286, + "Ġrượ": 136287, + "Ġrượu": 136288, + "æĢĿãģĦåĩº": 136289, + "ĠPhạm": 136290, + "Ġcháu": 136291, + "צ×Ļ×ķת": 136292, + "ĠìĿ¼ë³¸": 136293, + "ìĤ¬ëĬĶ": 136294, + "ĠÑģоздан": 136295, + "Ġaracı": 136296, + "Ġער": 136297, + "Ġער×Ļ׼×Ķ": 136298, + "ĠíķĺëĤĺëĭĺìĿĺ": 136299, + "dziÅĤ": 136300, + "à¸Ľà¸£à¸°à¸ĺาà¸Ļ": 136301, + "ĠserÃŃa": 136302, + "ĠìŀĪëıĦë¡Ŀ": 136303, + "درج": 136304, + "íķľëĭ¤ëĬĶ": 136305, + "à¸Ńาà¸Ĺ": 136306, + "à¸Ńาà¸Ĺิà¸ķ": 136307, + "à¸Ńาà¸Ĺิà¸ķยà¹Į": 136308, + "ÑĤелÑĮнÑĭй": 136309, + "ĠخدÙħات": 136310, + "×ŀ׳×ĺ": 136311, + "Ġlược": 136312, + "ĠSÃłi": 136313, + "ĠÙĪØ§Ø¶": 136314, + "ĠÙĪØ§Ø¶ØŃ": 136315, + "غاز": 136316, + "ĠdoÄŁal": 136317, + "Ġ×ijש×Ŀ": 136318, + "Ġдлин": 136319, + "Ġإطار": 136320, + "Ġ×ijספר": 136321, + "ãĤĴä¸İ": 136322, + "ãĤĴä¸İãģĪ": 136323, + "Ġë²ķë¥ł": 136324, + "ĠÑĥвели": 136325, + "ĠÑĥвелиÑĩи": 136326, + "สà¹Ħà¸ķ": 136327, + "สà¹Ħà¸ķลà¹Į": 136328, + "à¹Ħà¸ģล": 136329, + "×ij×Ĺף": 136330, + "ĠìĿ´íĽĦ": 136331, + "Ġmunic": 136332, + "ĠmunicÃŃpio": 136333, + "تÙħØ«ÙĦ": 136334, + "ĠÄijáo": 136335, + "Hôtel": 136336, + "Ġlá»Ńa": 136337, + "ĠÄijẳng": 136338, + "Ñĩки": 136339, + "شرÙĪ": 136340, + "شرÙĪØ·": 136341, + "ĠìĿ´ë¥¼": 136342, + "ÙĬÙĭا": 136343, + "×ŀ׾×ļ": 136344, + "×ŀ×Ķ×Ļר×ķת": 136345, + "ĠобÑıзаÑĤелÑĮ": 136346, + "ĠобÑıзаÑĤелÑĮно": 136347, + "énergie": 136348, + "Ġmudança": 136349, + "Ġmụ": 136350, + "Ġmụn": 136351, + "Ġnº": 136352, + "ĠاÙĦتعا": 136353, + "ĠاÙĦتعاÙĪÙĨ": 136354, + "ĠاÙĦاجتÙħاعÙĬØ©": 136355, + "ĠплаÑģÑĤ": 136356, + "Ġëĵ±ìĿĺ": 136357, + "ãĥIJãĤ¤ãĤ¯": 136358, + "ÙĩجÙĪÙħ": 136359, + "ĠSaúde": 136360, + "Ġì¤ijìļĶíķľ": 136361, + "Ġ×Ķצ×Ļ×ij×ķר": 136362, + "×ª×§×Ł": 136363, + "ĠاÙĦعاÙĦÙħÙĬ": 136364, + "ĠболÑĮÑĪой": 136365, + "ĠÙĥÙĦÙħ": 136366, + "ĠÙĥÙĦÙħØ©": 136367, + "ãģ®ãģ§ãģ¯ãģªãģĦãģ§ãģĹãĤĩãģĨãģĭ": 136368, + "ĠÙħباراة": 136369, + "Ġש×IJ׳": 136370, + "Ġש×IJ׳×Ĺ׳×ķ": 136371, + "ãĤ¹ãĤ¿ãĤ¤ãĥ«": 136372, + "ĠSaÄŁ": 136373, + "ĠSaÄŁlık": 136374, + "Ġhư": 136375, + "׳×Ĺ×Ķ": 136376, + "Ġ×ijקר×ij": 136377, + "طعÙħ": 136378, + "หิà¸Ļ": 136379, + "à¸Ĺุà¸ģวัà¸Ļ": 136380, + "à¸Ħรัà¹īà¸ĩà¸Ĺีà¹Ī": 136381, + "ĠlÃłnh": 136382, + "Ġdonné": 136383, + "ãģĽãģĦ": 136384, + "جزÙĬرة": 136385, + "доÑĢож": 136386, + "ì¼ľ": 136387, + "تÙĨظÙĬÙģ": 136388, + "ãĥģãĥ§": 136389, + "Ġaldıģı": 136390, + "جاج": 136391, + "ĠÑĤомÑĥ": 136392, + "à¸Ľà¸´": 136393, + "Ġ×ijרשת": 136394, + "ãģıãģªãĤĬãģ¾ãģĻ": 136395, + "ĠпÑĢинÑĨип": 136396, + "Ġ×Ĺ׾×ķ": 136397, + "ëı¼": 136398, + "×ķ×Ĵש": 136399, + "سس": 136400, + "à¸Ľà¸¹": 136401, + "Ġhầu": 136402, + "æĦŁãģĺãĤĭ": 136403, + "ï¼´": 136404, + "دÙĪØ§": 136405, + "ĠÑģмог": 136406, + "scrição": 136407, + "ĠtháºŃn": 136408, + "Ġר×ķ×IJ×Ķ": 136409, + "обÑĢажен": 136410, + "ĠاÙĦتجارÙĬØ©": 136411, + "طبÙĬع": 136412, + "jÄħcÄħ": 136413, + "íĸīìľĦ": 136414, + "ĠновÑĭй": 136415, + "Ġ×ŀ×Ĺ×ĵש": 136416, + "æĮ¯ãĤĬ": 136417, + "gué": 136418, + "Ġ×IJ×Ļר×ķ×¢": 136419, + "Ġ×IJ×Ļר×ķ×¢×Ļ×Ŀ": 136420, + "ĠاÙĦذÙĩب": 136421, + "×ĵ×IJ": 136422, + "تاÙĨ": 136423, + "ãģłãģĹ": 136424, + "à¸Ńัà¸ķรา": 136425, + "à¹Ĥà¸Ī": 136426, + "بÙĦاد": 136427, + "×Ķ×Ļ×Ļ׳×ķ": 136428, + "ĠÑģпе": 136429, + "ĠÑģпеÑĨиалÑĮно": 136430, + "ĠÅĽwiata": 136431, + "ãĤĵãģ§ãģĻãĤĪ": 136432, + "شرÙĥØ©": 136433, + "ĠpÅĤyt": 136434, + "Ġsitué": 136435, + "Ġ׼×IJ׾×Ķ": 136436, + "ס×ijר": 136437, + "Ġkażd": 136438, + "Ġkażdym": 136439, + "ãĤĴæĮģãģ¤": 136440, + "׾×Ķ׾": 136441, + "׾×Ķ׾ף": 136442, + "ĠwÅĤas": 136443, + "ĠwÅĤasne": 136444, + "ĠsaÄŁlan": 136445, + "×ŀ×¢×ľ×Ķ": 136446, + "ĠاÙĦاÙĪÙĦ": 136447, + "ìĹIJìĦľëıĦ": 136448, + "×IJ×Ļר×ķפ×Ķ": 136449, + "تÙĤÙĨÙĬØ©": 136450, + "Ùħائ": 136451, + "Ùħائة": 136452, + "ĠcompañÃŃa": 136453, + "Ġsürek": 136454, + "Ġsürekli": 136455, + "ĠиÑģкÑĥÑģ": 136456, + "ĠиÑģкÑĥÑģÑģÑĤв": 136457, + "ĠBürger": 136458, + "ת×Ĺר": 136459, + "ת×Ĺר×ķת": 136460, + "à¸ŀรà¹īà¸Ńมà¸ģัà¸ļ": 136461, + "Ø´Ùħ": 136462, + "à¸ĸืà¸Ńวà¹Īา": 136463, + "è¾¼ãĤĢ": 136464, + "ä¼ijãģ¿": 136465, + "ĠاÙĦأب": 136466, + "ĠÑģÑĤоимоÑģÑĤÑĮ": 136467, + "ĠпÑĢава": 136468, + "mayın": 136469, + "หวย": 136470, + "ĠاÙĦطبÙĬعÙĬ": 136471, + "à¸Ĺีà¹Īà¸ŀัà¸ģ": 136472, + "ĠEstá": 136473, + "ÑĭваÑİÑĤ": 136474, + "بسÙĬ": 136475, + "بسÙĬØ·": 136476, + "Ġ×ij×¢×ijר": 136477, + "åı¯èĥ½ãģ§ãģĻ": 136478, + "Ġ×ĵ×ķ׾": 136479, + "Ġ×ĵ×ķ׾ר": 136480, + "ÙĩÙİØ§": 136481, + "воÑĢоÑĤ": 136482, + "ãģ¦ãģĦãģ¾ãģĹãģŁ": 136483, + "à¹Ĥà¸Ĺรศ": 136484, + "à¹Ĥà¸Ĺรศั": 136485, + "à¹Ĥà¸Ĺรศัà¸ŀ": 136486, + "à¹Ĥà¸Ĺรศัà¸ŀà¸Ĺà¹Į": 136487, + "Ġק׳": 136488, + "ĠاÙĦØ«ÙĨ": 136489, + "ĠاÙĦØ«ÙĨائÙĬØ©": 136490, + "Ġcoût": 136491, + "à¸ķิà¸Ķà¸ķัà¹īà¸ĩ": 136492, + "Ġörg": 136493, + "Ġörgüt": 136494, + "ĠاÙĦØ®ÙĦÙĬ": 136495, + "ĠاÙĦØ®ÙĦÙĬج": 136496, + "Ġbá»įn": 136497, + "×ķ׾×ķ×Ĵ×Ļ": 136498, + "ëŀľ": 136499, + "ĠÐijолÑĮ": 136500, + "ĠÐijолÑĮÑĪ": 136501, + "×Ĵ×ijר×Ļ×Ŀ": 136502, + "ÙĤÙĬد": 136503, + "×ij×Ļ×ĺ×ķ×Ļ": 136504, + "æīĵãģ¡": 136505, + "ĠolmuÅŁ": 136506, + "fäh": 136507, + "fähig": 136508, + "ลาà¸Ļ": 136509, + "ĠÙĤطر": 136510, + "שפ×Ķ": 136511, + "èªŃãĤĵãģ§": 136512, + "à¸Ĥวา": 136513, + "Ġchiếm": 136514, + "ãĤ¤ãĥ³ãĤ¿": 136515, + "ãĤ¤ãĥ³ãĤ¿ãĥ¼ãĥ": 136516, + "ãĤ¤ãĥ³ãĤ¿ãĥ¼ãĥį": 136517, + "ãĤ¤ãĥ³ãĤ¿ãĥ¼ãĥįãĥĥãĥĪ": 136518, + "Ġ׾ש×ŀ×ķר": 136519, + "ĠترÙĥ": 136520, + "ĠترÙĥÙĬا": 136521, + "ר×ķ×ĺ": 136522, + "ã썿ĢĿãģĦãģ¾ãģĹãģŁ": 136523, + "ĠاÙĦتÙĤ": 136524, + "Ġdư": 136525, + "ãģ¦ãģıãĤĮãĤĭ": 136526, + "ãģĹãģŁãģĵãģ¨": 136527, + "Ġróżne": 136528, + "ĠاÙĦØ·ÙģÙĦ": 136529, + "ĠPosté": 136530, + "Ġ×ŀש×ķ×Ŀ": 136531, + "ÑįÑĢ": 136532, + "ĠÑĢабоÑĤаеÑĤ": 136533, + "ãĤ·ãĥª": 136534, + "ãĤ·ãĥªãĥ¼ãĤº": 136535, + "Ġ×ij×Ķ×Ĺ׾×ĺ": 136536, + "×§×Ķ×Ļ׾×Ķ": 136537, + "ãĤ«ãĥ¡": 136538, + "ãĤ«ãĥ¡ãĥ©": 136539, + "O": 136540, + "ĠìĤ¬ìĿ´": 136541, + "Ġkì": 136542, + "ĠthÆ°á»Ľc": 136543, + "ضبط": 136544, + "ÙĤبÙĪÙĦ": 136545, + "åĪ¥ãģ®": 136546, + "Ġparticulière": 136547, + "ĠÑģвоем": 136548, + "Ġעסק": 136549, + "Ġעסק×Ļ×Ŀ": 136550, + "×ij×Ĺ×Ļר×ķת": 136551, + "×ij×Ļ׳×ķ": 136552, + "à¸ĭà¸Ń": 136553, + "Ġ×¢×ķ×ijר": 136554, + "ãģłãģ£ãģŁãģ®ãģ§": 136555, + "ıldıģı": 136556, + "Ùħدار": 136557, + "Ùħدارس": 136558, + "주ìĭľ": 136559, + "à¸Ńาศ": 136560, + "à¸Ńาศัย": 136561, + "Ġtấm": 136562, + "à¸ŀิà¸Ī": 136563, + "à¸ŀิà¸Īาร": 136564, + "à¸ŀิà¸Īารà¸ĵา": 136565, + "ÑĤелÑĮнÑĭе": 136566, + "ÑģкÑĥÑİ": 136567, + "ÐľÐĺ": 136568, + "à¹Ģà¸ģา": 136569, + "à¹Ģà¸ģาหล": 136570, + "à¹Ģà¸ģาหลี": 136571, + "×ĵ×Ĺ": 136572, + "à¹Ģà¸Ĭิà¸ĩ": 136573, + "ĠدÙĤÙĬÙĤØ©": 136574, + "íķĻìĥĿ": 136575, + "Ġש×IJ׾×Ķ": 136576, + "Ġcontrôle": 136577, + "Ġsituação": 136578, + "à¸Ĥà¸Ńà¸ĩà¸ľà¸¹à¹ī": 136579, + "ÙĨØ·ÙĤ": 136580, + "ê³¼íķĻ": 136581, + "หลายà¸Ħà¸Ļ": 136582, + "Ġnắng": 136583, + "ÙĤÙı": 136584, + "ì¡°ê±´": 136585, + "Ñķ": 136586, + "ãĥĥãģ¨": 136587, + "×ŀ×Ļ׾×Ķ": 136588, + "Grün": 136589, + "×Ļ×Ļ×¢": 136590, + "×Ļ×Ļ×¢×ķ×¥": 136591, + "×ŀ׳׼": 136592, + "ëŃIJ": 136593, + "×ŀ×¢×ŀ×ĵ": 136594, + "สำà¸Ļัà¸ģ": 136595, + "جدد": 136596, + "à¸Ħัà¸Ķ": 136597, + "Ġ×Ķ×ŀשפ": 136598, + "Ġ×Ķ×ŀשפ×Ĺ×Ķ": 136599, + "×ŀשק׾": 136600, + "ÙĦÙı": 136601, + "Ġtytu": 136602, + "ĠtytuÅĤ": 136603, + "ÑĪей": 136604, + "ĠìĿ¼ë¶Ģ": 136605, + "ÑĪение": 136606, + "Ġphóng": 136607, + "ĠìĹŃìĤ¬": 136608, + "ãĤ«ãĥ³": 136609, + "Ġtúi": 136610, + "ĠÙĨÙĪÙģ": 136611, + "ĠÙĨÙĪÙģÙħبر": 136612, + "grün": 136613, + "ĠاÙĦØ´ÙħاÙĦ": 136614, + "ÅĽwiadc": 136615, + "ÅĽwiadczenie": 136616, + "ער×Ķ": 136617, + "Ġ×¢×ķ×ij": 136618, + "Ġ×¢×ķ×ij×ĵ×Ļ×Ŀ": 136619, + "×ĵ×ķ×Ĵ×ŀ×IJ": 136620, + "ä»Ĭãģ¯": 136621, + "Ġvão": 136622, + "ĠТем": 136623, + "ÑģилÑĮ": 136624, + "Ġchợ": 136625, + "Ùħرا": 136626, + "ÙħراÙĤب": 136627, + "à¹Ħมà¹Īรูà¹ī": 136628, + "Ġرائع": 136629, + "×IJ׳×Ĺ׳×ķ": 136630, + "สà¹Īà¸ĩà¹Ģสริม": 136631, + "צ×Ĺ": 136632, + "ĠìŀĪìĸ´ìĦľ": 136633, + "Ġkurulu": 136634, + "ĠkuruluÅŁ": 136635, + "ĠÃĸzellik": 136636, + "ĠÃĸzellikle": 136637, + "Ġת×Ļ×§": 136638, + "Ġghé": 136639, + "ĠsprzÄĻ": 136640, + "ĠsprzÄĻt": 136641, + "ער×ķת": 136642, + "راØŃØ©": 136643, + "ãģ£ãģį": 136644, + "ãģ£ãģįãĤĬ": 136645, + "ĠìķĦëŀĺ": 136646, + "stituição": 136647, + "Ġдолжно": 136648, + "×Ķרש": 136649, + "×Ķרש×ŀ×Ķ": 136650, + "×Ķ׾×ļ": 136651, + "ãģ¡ãģª": 136652, + "ãģ¡ãģªãģ¿": 136653, + "ãģ¡ãģªãģ¿ãģ«": 136654, + "פ×Ĺ×ĵ": 136655, + "ĠاÙĦجÙħÙĬع": 136656, + "×ij×¢×ľ×Ļ": 136657, + "Ġtrùng": 136658, + "Ġפת×Ĺ": 136659, + "×ŀ׾×Ĺ×ŀת": 136660, + "ãĥĨãĥ¼ãĥ": 136661, + "ãĥĨãĥ¼ãĥŀ": 136662, + "Ùħتاب": 136663, + "Ùħتابعة": 136664, + "Ġ모ìĬµ": 136665, + "ÙĬص": 136666, + "åIJĪãģĨ": 136667, + "ĠYap": 136668, + "ĠYapı": 136669, + "ĠÑģказаÑĤÑĮ": 136670, + "몰": 136671, + "à¸Ĺีà¹Īสำà¸Ħัà¸į": 136672, + "ĠìĹĨìĬµëĭĪëĭ¤": 136673, + "Ġnhắc": 136674, + "Ġülkeler": 136675, + "Ġмногие": 136676, + "íķĺìħ¨": 136677, + "มาà¸ģà¸Ĺีà¹Īสุà¸Ķ": 136678, + "à¸ģà¹īา": 136679, + "à¸ģà¹īาว": 136680, + "Ġİyi": 136681, + "леж": 136682, + "лежа": 136683, + "ãĤ¸ãĥ§": 136684, + "à¸Ĺัà¸ŀ": 136685, + "اÙĪØ±": 136686, + "Ġ×Ĺ×ijר×Ļ": 136687, + "Ġ׾ש×Ŀ": 136688, + "첫": 136689, + "ĠTá»Ń": 136690, + "×ŀ×ķ׳×Ļ": 136691, + "ÙĤÙĪØ¯": 136692, + "à¸ģระà¹Ģà¸Ľ": 136693, + "à¸ģระà¹Ģà¸Ľà¹ĭ": 136694, + "à¸ģระà¹Ģà¸Ľà¹ĭา": 136695, + "ĠпÑĢоблемÑĭ": 136696, + "Ġaçıs": 136697, + "Ġaçısından": 136698, + "Ġ×Ķ×ŀ׼": 136699, + "ĠÙħعظÙħ": 136700, + "ÙĤÙĬاس": 136701, + "ĠпÑĢодолж": 136702, + "ĠпÑĢодолжа": 136703, + "ĠverdiÄŁi": 136704, + "ĠпÑĢедмеÑĤ": 136705, + "ãģĦãģ¾ãģĻãģĮ": 136706, + "ĠëĶ°ë¥¸": 136707, + "ĠاÙĦÙĤÙĬاÙħ": 136708, + "ĠØ¥ÙĦÙĬÙĩا": 136709, + "ТÐIJ": 136710, + "поз": 136711, + "ãĤ·ãĥ¥": 136712, + "ä¸ĬãģĮãĤĬ": 136713, + "à¹Ģà¸Ķิมà¸ŀัà¸Ļ": 136714, + "à¸ģุล": 136715, + "ØŃرÙĬØ©": 136716, + "×§×ij×ķצ×ķת": 136717, + "믿": 136718, + "ĠاÙĦÙħÙĨا": 136719, + "ĠاÙĦÙħÙĨاطÙĤ": 136720, + "ĠвÑĭпол": 136721, + "ĠвÑĭполнÑı": 136722, + "ãĥĭãĤ¢": 136723, + "Ġê²°êµŃ": 136724, + "×Ĺ×ķ×ŀ": 136725, + "×Ĺ×ķ×ŀר×Ļ×Ŀ": 136726, + "ĠУкÑĢаинÑĭ": 136727, + "หà¸Ńม": 136728, + "ר×Ļס": 136729, + "ĠÑħоÑĤел": 136730, + "ĠобÑĢазованиÑı": 136731, + "Ġkhẳng": 136732, + "Ġmưa": 136733, + "Ġgörme": 136734, + "Ġgüçlü": 136735, + "سعÙī": 136736, + "มัà¹Īà¸Ļà¹ĥà¸Ī": 136737, + "íķĺê²łìĬµëĭĪëĭ¤": 136738, + "ĠполÑĥ": 136739, + "Ġfünf": 136740, + "ã썿ĢĿãģ£ãģ¦ãģĦãģ¾ãģĻ": 136741, + "Ġê·¸ê²ĥìĿĢ": 136742, + "ĠdÃ¼ÅŁÃ¼nce": 136743, + "ìŀł": 136744, + "ĠHÆ°á»Ľng": 136745, + "ĠTiá»ĥu": 136746, + "Ġçift": 136747, + "ãģijãģ°": 136748, + "à¸Īà¸Ļà¸ĸึà¸ĩ": 136749, + "à¸Ĺำà¹Ħà¸Ķà¹ī": 136750, + "ĠìŀIJì²´": 136751, + "Ġdõ": 136752, + "Ġdõi": 136753, + "à¸Īัà¸Ļ": 136754, + "à¸Īัà¸Ļà¸Ĺ": 136755, + "à¸Īัà¸Ļà¸Ĺรà¹Į": 136756, + "eceÄŁini": 136757, + "׳×ķער": 136758, + "غار": 136759, + "ĠاÙĦØ£ÙħرÙĬÙĥÙĬ": 136760, + "داعش": 136761, + "ĠбезопаÑģноÑģÑĤи": 136762, + "ĠбÑİ": 136763, + "ĠбÑİдж": 136764, + "ĠбÑİджеÑĤ": 136765, + "ãĥĬãĤ¤": 136766, + "à¸ŀà¸ļวà¹Īา": 136767, + "daÄŁ": 136768, + "×IJ×ķפף": 136769, + "íĹĮ": 136770, + "ãĥĢãĤ¤ãĤ¨": 136771, + "ãĥĢãĤ¤ãĤ¨ãĥĥãĥĪ": 136772, + "ĠëĮĢíĨµ": 136773, + "ĠëĮĢíĨµëł¹": 136774, + "Dİ": 136775, + "Ø£ØŃداث": 136776, + "ĠAÄŁ": 136777, + "ĠAÄŁust": 136778, + "ĠAÄŁustos": 136779, + "ØŃÙĦÙĪÙĦ": 136780, + "ĠwÅĽ": 136781, + "ĠwÅĽród": 136782, + "ĠÑģооÑĤвеÑĤ": 136783, + "ĠÑģооÑĤвеÑĤÑģÑĤв": 136784, + "ĠÑģооÑĤвеÑĤÑģÑĤвии": 136785, + "ĠLuáºŃt": 136786, + "Ġ׼׾פ×Ļ": 136787, + "ĠвеÑī": 136788, + "ĠвеÑīеÑģÑĤв": 136789, + "×§×Ļ×¥": 136790, + "ĠبÙĩذا": 136791, + "عاش": 136792, + "à¹Ģà¸Ľà¹ĩà¸Ļà¹Ģรืà¹Īà¸Ńà¸ĩ": 136793, + "ТÐķ": 136794, + "Ġ×ij×IJ×Ļ׳×ĺר׳×ĺ": 136795, + "سعد": 136796, + "Ġ×Ķ×ĺ×Ļפ×ķ׾": 136797, + "פ×Ļס": 136798, + "à¸ĩà¹Īายà¹Ĩ": 136799, + "ĠGerät": 136800, + "׾×Ļ×ĵ×Ķ": 136801, + "ĠÑĢиÑģк": 136802, + "׾ק×Ĺ": 136803, + "ннаÑı": 136804, + "ר×Ļ×ĵ": 136805, + "пÑĢакÑĤи": 136806, + "пÑĢакÑĤик": 136807, + "à¸Ĥัà¹īà¸Ļà¸ķà¸Ńà¸Ļ": 136808, + "à¸Ļà¹Īารัà¸ģ": 136809, + "larınızı": 136810, + "à¸Ńà¸Ļุà¸įา": 136811, + "à¸Ńà¸Ļุà¸įาà¸ķ": 136812, + "ĠzdjÄĻcia": 136813, + "Ġbây": 136814, + "ÑģÑĢ": 136815, + "ÑģÑĢоÑĩ": 136816, + "ãĥĭãĥ³ãĤ°": 136817, + "Ġöner": 136818, + "Ġöneri": 136819, + "ĠновÑĭÑħ": 136820, + "دعÙĪØ©": 136821, + "Ġgắn": 136822, + "ĠاÙĦÙĦبÙĨ": 136823, + "ĠاÙĦÙĦبÙĨاÙĨÙĬ": 136824, + "ãĥĨãĤ£ãĥ¼": 136825, + "ĠصØŃÙĬØŃ": 136826, + "емÑĭÑħ": 136827, + "çĸ²ãĤĮ": 136828, + "ĠпÑĢоиÑģ": 136829, + "ĠпÑĢоиÑģÑħодиÑĤ": 136830, + "สà¸ķิ": 136831, + "ĠTết": 136832, + "Ġ×Ķ׾׾×ķ": 136833, + "à¹Ģรืà¹Īà¸Ńà¸ĩà¸Ļีà¹ī": 136834, + "×ŀ×ij׳×Ķ": 136835, + "Ġconteúdo": 136836, + "Ġاخت": 136837, + "ĠاختÙĬار": 136838, + "ÙħسÙĦ": 136839, + "ÙħسÙĦسÙĦ": 136840, + "ëıĪ": 136841, + "Ġ׾×Ļ×ĵ": 136842, + "à¸ŀิà¸ĺี": 136843, + "ĠÑģовÑģ": 136844, + "ĠÑģовÑģем": 136845, + "ãģĮãģĤãĤĬãģ¾ãģĹãģŁ": 136846, + "Ġsóng": 136847, + "إصÙĦاØŃ": 136848, + "ë§ģ": 136849, + "ÙģÙĬر": 136850, + "ĠJeżeli": 136851, + "ìłľëıĦ": 136852, + "dÅĤug": 136853, + "ìĥģìĿĦ": 136854, + "ĠcáºŃn": 136855, + "Ġhá»įp": 136856, + "أست": 136857, + "أستاذ": 136858, + "Ġ×ŀ×Ļש×Ķ": 136859, + "Ġ×ŀ×Ļש×Ķ×ķ": 136860, + "ĠdÃły": 136861, + "ĠchÃłng": 136862, + "ãģ¡ãĤĥãĤĵãģ¨": 136863, + "ĠÄijám": 136864, + "Ġswój": 136865, + "Ġpoderá": 136866, + "ĠоÑĤлиÑĩа": 136867, + "Ġpériode": 136868, + "ündig": 136869, + "×ĺ×¢×Ł": 136870, + "ÑģÑĤÑĢоиÑĤелÑĮ": 136871, + "רת×Ļ": 136872, + "Ġ×Ļ×Ķ×Ļ×ķ": 136873, + "×ľ×¡": 136874, + "ĠاÙĦÙħÙĨزÙĦ": 136875, + "à¸Ļิà¹īว": 136876, + "иÑĦика": 136877, + "иÑĦикаÑĨи": 136878, + "ðŁĺī": 136879, + "Ġadına": 136880, + "ãĢĤãĢĤãĢĤ": 136881, + "×IJ×Ļף": 136882, + "ס×Ļר": 136883, + "ĠÙĬعد": 136884, + "çŃĶãģĪ": 136885, + "اÙĦجز": 136886, + "اÙĦجزائر": 136887, + "енÑĮк": 136888, + "รห": 136889, + "รหัส": 136890, + "ĠTürkçe": 136891, + "꾸": 136892, + "Ġ×Ļ×ķ׼׾": 136893, + "Ġש×ķ׳×Ķ": 136894, + "Ġ×ij×ŀצ×ij": 136895, + "ĠдейÑģÑĤвиÑĤелÑĮно": 136896, + "ĠبأÙĨÙĩ": 136897, + "×ŀ×§×ĵ": 136898, + "Ġ×Ķשק": 136899, + "Ø®ÙĬارات": 136900, + "Ġfı": 136901, + "Ġfırs": 136902, + "Ġfırsat": 136903, + "ëijĺ": 136904, + "ĠìĦľìļ¸": 136905, + "Ġ×Ķ×Ĵ×ķ×£": 136906, + "رعا": 136907, + "رعاÙĬØ©": 136908, + "ĠKết": 136909, + "кÑģи": 136910, + "ĠÑĥÑģлÑĥги": 136911, + "ноÑģÑĤей": 136912, + "ìļ´ëıĻ": 136913, + "ĠобÑĬÑı": 136914, + "ĠобÑĬÑıвл": 136915, + "неж": 136916, + "×Ķפ×ļ": 136917, + "Ġ×ij×¢×Ļ׳×Ļ": 136918, + "ëĨĴ": 136919, + "ĠпÑĢоÑĨед": 136920, + "ĠпÑĢоÑĨедÑĥÑĢ": 136921, + "Ġihtiy": 136922, + "Ġihtiyacı": 136923, + "Ġë°Ķëŀį": 136924, + "Ġë°ĶëŀįëĭĪëĭ¤": 136925, + "à¸ģลัว": 136926, + "ĠÑģложно": 136927, + "×§×Ļ×Ļ×ŀת": 136928, + "ĠÄIJình": 136929, + "ĠÙħÙĦÙģ": 136930, + "Ġà¹Ĥà¸Ķยมี": 136931, + "Ġkatkı": 136932, + "تØŃÙĪÙĬÙĦ": 136933, + "à¹Ħà¸ŀ": 136934, + "ĠHá»į": 136935, + "ñe": 136936, + "ĠдоÑħод": 136937, + "Ġthoải": 136938, + "íķĺìŬìķ¼": 136939, + "ãĤ¹ãĥĿãĥ¼ãĥ": 136940, + "ãĤ¹ãĥĿãĥ¼ãĥĦ": 136941, + "ĠGòn": 136942, + "Ġkè": 136943, + "Ġkèm": 136944, + "é̲ãĤģ": 136945, + "ãĤ¹ãĥ¼ãĥ": 136946, + "ãĤ¹ãĥ¼ãĥij": 136947, + "ãĤ¹ãĥ¼ãĥijãĥ¼": 136948, + "ĠgiÃłu": 136949, + "Ġإعادة": 136950, + "Ġ׾×ķ×§": 136951, + "Ġ׾×ķ×§×Ĺ": 136952, + "ĠÑħоÑĩеÑĤ": 136953, + "×ĺ׾×ķ×ķ": 136954, + "×ĺ׾×ķ×ķ×Ļ×ĸ": 136955, + "×ĺ׾×ķ×ķ×Ļ×ĸ×Ļ×Ķ": 136956, + "Ġthuyết": 136957, + "ãģĿãĤĮãģ§": 136958, + "Ġvardı": 136959, + "à¹Ħรà¹ī": 136960, + "عبد": 136961, + "ĠRepública": 136962, + "ãĥ¼ãĤ¿ãĥ¼": 136963, + "Ġ×ŀ×IJ×ķת": 136964, + "à¹Ħà¸Ľà¹ģลà¹īว": 136965, + "Ġyapılacak": 136966, + "ãĤ¹ãĤ¿ãĥ¼ãĥĪ": 136967, + "ãģ»ãģ¼": 136968, + "ĠkoÅŁ": 136969, + "ĠмаÑĤеÑĢи": 136970, + "Ġsiècle": 136971, + "ĠاÙĦÙħختÙĦÙģ": 136972, + "ĠاÙĦÙħختÙĦÙ쨩": 136973, + "Ġ׾קר×IJ": 136974, + "Ġ׾קר×IJת": 136975, + "Ġ×Ķפ×ķ×¢×ľ": 136976, + "Ġtòa": 136977, + "ĠrÆ¡i": 136978, + "åij¨ãĤĬ": 136979, + "à¸Ŀà¸Ļ": 136980, + "jÅĽÄĩ": 136981, + "ĠìķĬìĿĦ": 136982, + "اÙĨتÙĤاÙĦ": 136983, + "ëĸł": 136984, + "иваеÑĤ": 136985, + "ãĥĪãĥ«": 136986, + "ĠاÙĦÙģÙĦسطÙĬÙĨÙĬØ©": 136987, + "à¸ģลà¹Īาววà¹Īา": 136988, + "اÙĥت": 136989, + "ĠÃĸl": 136990, + "ĠÑĢеÑĪи": 136991, + "ĠÑĢеÑĪил": 136992, + "Ġ׳×ķספ×ķת": 136993, + "Ġìłķì¹ĺ": 136994, + "влеÑĩен": 136995, + "ÙħرØŃÙĦØ©": 136996, + "Ġcomeça": 136997, + "Ġyık": 136998, + "ìĤ´": 136999, + "à¸ĺà¸Ļา": 137000, + "à¸ĺà¸Ļาà¸Ħาร": 137001, + "à¸Ńà¸Ļา": 137002, + "à¸Ńà¸Ļาà¸Ħ": 137003, + "à¸Ńà¸Ļาà¸Ħà¸ķ": 137004, + "Ġpequeña": 137005, + "ä»ķäºĭãĤĴ": 137006, + "ĠبذÙĦÙĥ": 137007, + "Ġнового": 137008, + "ãģĹãģ¦ãģĦãģªãģĦ": 137009, + "ĠاÙĦÙħÙĬاÙĩ": 137010, + "à¸ģà¹ĩà¹Ģà¸Ľà¹ĩà¸Ļ": 137011, + "ĠжÑĥÑĢ": 137012, + "ĠжÑĥÑĢнал": 137013, + "веÑģ": 137014, + "ختار": 137015, + "Ġ매ìļ°": 137016, + "ĠMã": 137017, + "ĠавÑĤомаÑĤÑĭ": 137018, + "ضعÙģ": 137019, + "ĠاÙĦÙģÙĥر": 137020, + "ãģ§ãģĻãģ®ãģ§": 137021, + "ãĥ¡ãĥ³ãĥIJãĥ¼": 137022, + "ĠкÑĢÑĥг": 137023, + "ĠاÙĦسÙĦطة": 137024, + "à¸Ħรัà¹īà¸ĩà¹ģรà¸ģ": 137025, + "à¸ģระà¸Ĺรว": 137026, + "à¸ģระà¸Ĺรวà¸ĩ": 137027, + "ÑĨов": 137028, + "éķ·ãģĦ": 137029, + "大ãģįãģĦ": 137030, + "ĠgeçmiÅŁ": 137031, + "ìĦ±ìĿ´": 137032, + "Ġצר×Ļ׼×Ķ": 137033, + "ĠмоÑī": 137034, + "ĠмоÑīн": 137035, + "Ġ×§×Ļש": 137036, + "Ġ×§×Ļש×ķר×Ļ×Ŀ": 137037, + "ĠNasıl": 137038, + "гÑĢан": 137039, + "Ġ×ŀ×ķצר×Ļ×Ŀ": 137040, + "Ġ×ŀס×ķ×Ĵ": 137041, + "Ġyür": 137042, + "Ġyürüt": 137043, + "Ġ׾×Ĺצ×ķ": 137044, + "×ķÖ¼": 137045, + "ĠìŀĪìĹĪëĭ¤": 137046, + "Ġterör": 137047, + "ĠThương": 137048, + "ĠÙĪÙĬÙħ": 137049, + "ĠÙĪÙĬÙħÙĥÙĨ": 137050, + "جÙĪÙĨ": 137051, + "ĠÙĪØºÙĬرÙĩا": 137052, + "×ŀפ×ķ": 137053, + "×Ĵ×ķר×ŀ×Ļ×Ŀ": 137054, + "׼×ij×Ļש": 137055, + "ĠاÙĦÙĦغ": 137056, + "ĠاÙĦÙĦغة": 137057, + "شرÙĥ": 137058, + "ĠاÙĦراب": 137059, + "ĠاÙĦرابع": 137060, + "ĠпÑĢек": 137061, + "ĠпÑĢекÑĢаÑģ": 137062, + "ĠпÑĢекÑĢаÑģн": 137063, + "ĠenergÃŃa": 137064, + "×§×ĵ×ŀ×Ļ": 137065, + "ãģıãģªãģ£ãģŁ": 137066, + "ĠÄijứ": 137067, + "ĠÄijứa": 137068, + "Servi": 137069, + "Serviço": 137070, + "Ġkaldır": 137071, + "åĥįãģį": 137072, + "Ġодеж": 137073, + "Ġодежд": 137074, + "물ìĿĦ": 137075, + "ãģĿãģĨãģ§": 137076, + "ãģĮãģĤãĤĮãģ°": 137077, + "ìĻķ": 137078, + "צ×ĵ×§": 137079, + "Ġartır": 137080, + "Ġileti": 137081, + "ĠiletiÅŁim": 137082, + "ãĤĪãģĨãģ§": 137083, + "ãĥĪãĥ¼": 137084, + "ãĤ¢ãĥĭ": 137085, + "ãĤ¢ãĥĭãĥ¡": 137086, + "×ĺ×Ļ×Ļ׾": 137087, + "ãĥķãĥªãĥ¼": 137088, + "ãĥĿãĥ³": 137089, + "ÐŁÑĢо": 137090, + "ĠعاÙĦÙĬØ©": 137091, + "ĠÃ¶ÄŁret": 137092, + "ĠÃ¶ÄŁretmen": 137093, + "ĠкаÑĩеÑģÑĤва": 137094, + "Ġ×Ķ×ĺ×ij×¢": 137095, + "ĠзнаÑİ": 137096, + "ãģ¦ãģıãĤĭ": 137097, + "Ġmừng": 137098, + "ÙħÙĪØª": 137099, + "ש×ķ×ŀר": 137100, + "×Ĺ׾×ij": 137101, + "ĠwzglÄĻ": 137102, + "ĠwzglÄĻdu": 137103, + "ë²Ī째": 137104, + "Ġtá»ĵ": 137105, + "Ġtá»ĵn": 137106, + "ãĥ¯ãĥ¼ãĤ¯": 137107, + "Ġpożycz": 137108, + "Ġpożyczk": 137109, + "×Ļ×ķצר×Ļ×Ŀ": 137110, + "ÙĥرÙħ": 137111, + "ĠгаÑĢ": 137112, + "ĠгаÑĢан": 137113, + "ĠгаÑĢанÑĤи": 137114, + "ลà¹īาà¸ĩ": 137115, + "ĠìĺģíĻĶ": 137116, + "×ĺ×Ļס": 137117, + "Ġthẻ": 137118, + "ĠìŀĪëĭ¤ê³ł": 137119, + "اÙĦتز": 137120, + "اÙĦتزاÙħ": 137121, + "ĠнаÑĪи": 137122, + "isée": 137123, + "ãģĵãĤĮãĤĴ": 137124, + "Ġmẽ": 137125, + "ضÙĦ": 137126, + "بÙĪØª": 137127, + "Ġ׼׼×Ķ": 137128, + "hợ": 137129, + "ĠاÙĦسÙĪØ±ÙĬØ©": 137130, + "Ġ×ľ×¢×ķ×ŀ": 137131, + "Ġ×ľ×¢×ķ×ŀת": 137132, + "ĠbaÅŁar": 137133, + "ĠbaÅŁarılı": 137134, + "еÑģÑĤÑĮ": 137135, + "à¸Ħรี": 137136, + "à¸Ħรีม": 137137, + "ĠìłĦì²´": 137138, + "ĠسÙĬÙĥÙĪÙĨ": 137139, + "Ġ×ŀ×ĵ×ķ×¢": 137140, + "ĠëķĮ문ìĿ´ëĭ¤": 137141, + "Ġcứng": 137142, + "gerät": 137143, + "ĠмиÑĢ": 137144, + "ĠмиÑĢе": 137145, + "ĠÙĥÙĬÙģÙĬØ©": 137146, + "Ġפר×ĺ×Ļ×Ŀ": 137147, + "ĠgoÅĽci": 137148, + "иÑĤеÑģÑĮ": 137149, + "ÑĥÑĪки": 137150, + "ؤÙħÙĨ": 137151, + "Ġ×IJ׼ף": 137152, + "ĠاÙĦرجÙĦ": 137153, + "Ġlá»įc": 137154, + "à¹Ģรียà¸ģวà¹Īา": 137155, + "ãģĵãģ®ãĤĪãģĨãģª": 137156, + "ë§Įíģ¼": 137157, + "ĠпеÑĩ": 137158, + "ÙĪÙĦات": 137159, + "ĠÃľye": 137160, + "liÄŁinde": 137161, + "à¸Ħะà¹ģà¸Ļ": 137162, + "à¸Ħะà¹ģà¸Ļà¸Ļ": 137163, + "ãĤĭãģĵãģ¨ãģ¯": 137164, + "วิà¹Ģà¸Ħร": 137165, + "วิà¹Ģà¸Ħราะ": 137166, + "วิà¹Ģà¸Ħราะหà¹Į": 137167, + "ĠвозможноÑģÑĤи": 137168, + "ĠاÙĦÙĨساء": 137169, + "ãĥīãĥ©ãĥŀ": 137170, + "Ġgüc": 137171, + "Ġgücü": 137172, + "Ġtưá»Ŀng": 137173, + "Ġacompaña": 137174, + "ãĤ¤ãĥ©": 137175, + "קצ×ij": 137176, + "ĠYö": 137177, + "ĠYönet": 137178, + "ĠYönetim": 137179, + "à¸ªà¸±à¸¡à¸ľ": 137180, + "à¸ªà¸±à¸¡à¸ľà¸±à¸ª": 137181, + "à¸Ļาม": 137182, + "ĠÄijợi": 137183, + "à¹ģหà¹Īà¸ĩà¸Ĭาà¸ķิ": 137184, + "ãģĿãĤĮãģ§ãĤĤ": 137185, + "ätig": 137186, + "ת×ķ×Ŀ": 137187, + "ĠbaÅŁlat": 137188, + "ĠвÑģей": 137189, + "ת×Ļ×§": 137190, + "ת×Ļ×§×ķף": 137191, + "ĠNgô": 137192, + "ĠGeschä": 137193, + "ĠGeschäfts": 137194, + "Ø£Ùħ": 137195, + "Ø£Ùħراض": 137196, + "à¹Ģà¸Ĺà¸Ħà¸Ļ": 137197, + "à¹Ģà¸Ĺà¸Ħà¸Ļิ": 137198, + "à¹Ģà¸Ĺà¸Ħà¸Ļิà¸Ħ": 137199, + "ĠменÑĮ": 137200, + "ĠменÑĮÑĪе": 137201, + "Ġölç": 137202, + "Ġölçü": 137203, + "ĠÙĬجعÙĦ": 137204, + "ĠÄijỡ": 137205, + "ש×Ļ׾": 137206, + "ש×Ļ׾×ķ×ij": 137207, + "ĠGrÃ¶ÃŁe": 137208, + "ĠÙĩاتÙģ": 137209, + "รà¹īาà¸Ļà¸Ńาหาร": 137210, + "×Ķ׾×Ļ׼": 137211, + "×Ķ׾×Ļ׼×Ļ": 137212, + "иÑĢÑĥÑİÑī": 137213, + "èĭ¥ãģĦ": 137214, + "ĠÃĸzel": 137215, + "ãģĦãģŁãĤī": 137216, + "à¸Ħำà¸ĸาม": 137217, + "ĠzostaÅĤy": 137218, + "Ġ×Ķס×Ļפ×ķר": 137219, + "×Ķ×ķ׾": 137220, + "×Ķ×ķ׾×ļ": 137221, + "à¹Ģà¸Ĭà¹Īà¸Ļà¸ģัà¸Ļ": 137222, + "à¹Ĥà¸Ĩ": 137223, + "à¹Ĥà¸Ĩษ": 137224, + "à¹Ĥà¸Ĩษà¸ĵา": 137225, + "×IJרצ×ķת": 137226, + "×Ĵרפ×Ļ": 137227, + "Ġaoût": 137228, + "ĠÙĬرÙĬد": 137229, + "تÙĪØ¬": 137230, + "تÙĪØ¬ÙĬÙĩ": 137231, + "ĠÑįÑĤап": 137232, + "ãĤ¹ãĤ¿ãĥ³": 137233, + "Ġkró": 137234, + "Ġkrótk": 137235, + "ãĤĴ使ãģĨ": 137236, + "ì·¨": 137237, + "éĸ¢ãĤı": 137238, + "à¸Ķà¹īวยà¸Ħวาม": 137239, + "à¸Ļำà¹Ģสà¸Ļà¸Ń": 137240, + "Ġayrıca": 137241, + "à¸Īà¹īาà¸ĩ": 137242, + "ĠÑĦоÑĤогÑĢаÑĦ": 137243, + "ĠвеÑĩ": 137244, + "ĠвеÑĩеÑĢ": 137245, + "åĩºãģĹãģŁ": 137246, + "ĠХо": 137247, + "Ġ×ŀר×Ĵ×Ļש": 137248, + "à¹ĥหà¹īà¹Ģà¸Ľà¹ĩà¸Ļ": 137249, + "ãĤĴ缮": 137250, + "ãĤĴ缮æĮĩ": 137251, + "׾×ŀ×Ļ×Ŀ": 137252, + "nÄħÅĤ": 137253, + "ĠÑģÑĤанд": 137254, + "ĠÑģÑĤандаÑĢÑĤ": 137255, + "ĠSüd": 137256, + "ĠTâm": 137257, + "اختبار": 137258, + "à¹Ģà¸ģà¸Ńรà¹Į": 137259, + "ÙħسرØŃ": 137260, + "Ġbiá»ĩn": 137261, + "بÙı": 137262, + "ĠصاÙĦ": 137263, + "ĠصاÙĦØŃ": 137264, + "ĠPhụ": 137265, + "íľ´": 137266, + "ãĥ¬ãĥĵãĥ¥ãĥ¼": 137267, + "Ġbụng": 137268, + "Ġrégime": 137269, + "ĠأشÙĩر": 137270, + "ĠÑĢабоÑĤник": 137271, + "à¸Ŀัà¸Ļ": 137272, + "اعتÙħ": 137273, + "اعتÙħاد": 137274, + "ĠзамеÑĤ": 137275, + "ãģ¾ãģ£ãģ¦": 137276, + "Ġchặt": 137277, + "æĿ¥ãĤĭ": 137278, + "ĠاÙĦÙĤÙĪØ§Øª": 137279, + "ãģ«åħ¥ãģ£ãģ¦": 137280, + "تØŃاÙĦÙģ": 137281, + "ÙħزÙĬد": 137282, + "ĠÙĬصÙĦ": 137283, + "ìĹ¼": 137284, + "à¹Ģà¸Ĭà¹ĩ": 137285, + "à¹Ģà¸Ĭà¹ĩà¸Ħ": 137286, + "Ġká»ĭ": 137287, + "Ġká»ĭp": 137288, + "ĠìķĦì§ģ": 137289, + "×IJ׳×Ĵ": 137290, + "ĠоблаÑģÑĤÑĮ": 137291, + "ĠpomocÄħ": 137292, + "Ġ×ķש׾": 137293, + "ëĵłì§Ģ": 137294, + "ĠGiám": 137295, + "ĠStück": 137296, + "Ġcháy": 137297, + "ĠëĤĺìĺ¤": 137298, + "ש×Ļ×ĺת": 137299, + "×ŀ×ĵר": 137300, + "×ŀ×ĵר×Ļ×ļ": 137301, + "Ġsüreç": 137302, + "ква": 137303, + "×ij׾×Ļ×Ŀ": 137304, + "×Ķת×Ļ": 137305, + "×Ķת×Ļ×Ļ×Ĺס": 137306, + "ÙĤباÙĦ": 137307, + "Ġס×ķ×Ĵ": 137308, + "Ġס×ķ×Ĵ×Ļ": 137309, + "ÑģÑĤолÑĮ": 137310, + "ä½ķãĤĤ": 137311, + "×ĸ׼×ķר": 137312, + "è²·ãģĨ": 137313, + "å®īãģı": 137314, + "à¸Ħรัà¹īà¸ĩà¸Ļีà¹ī": 137315, + "köp": 137316, + "ĠÑģеÑĢвиÑģ": 137317, + "оÑĩнÑĭÑħ": 137318, + "ê±°ëŀĺ": 137319, + "تأÙĥ": 137320, + "تأÙĥÙĬد": 137321, + "×ĵ׾ק": 137322, + "ĠпоÑĩем": 137323, + "ĠпоÑĩемÑĥ": 137324, + "пиÑģаÑĤÑĮ": 137325, + "×ijשר": 137326, + "ĠHÃłng": 137327, + "ĠTìm": 137328, + "Ġtrừ": 137329, + "ãĤ»ãĥĥãĤ¯ãĤ¹": 137330, + "×ķ׳×Ĵ": 137331, + "mızda": 137332, + "пÑģи": 137333, + "ĠìŀĪ기": 137334, + "Ġrút": 137335, + "زاÙĨ": 137336, + "تÙĨÙĪØ¹": 137337, + "ÙħÙĤا": 137338, + "ÙħÙĤاÙĪÙħØ©": 137339, + "Ġ׾צ×ķר×ļ": 137340, + "Ġ×ij×Ļר×ķש׾×Ļ×Ŀ": 137341, + "ãĥ´ãĤ£": 137342, + "ebile": 137343, + "ebileceÄŁi": 137344, + "ãĥ¦ãĥ¼ãĤ": 137345, + "ãĥ¦ãĥ¼ãĤ¶": 137346, + "ãĥ¦ãĥ¼ãĤ¶ãĥ¼": 137347, + "ãĤĴä½ľãĤĭ": 137348, + "ÑģмеÑĢ": 137349, + "ÑģмеÑĢÑĤ": 137350, + "Ġì§ģ": 137351, + "Ġì§ģìłij": 137352, + "ĠÐŁÐ°ÑĢ": 137353, + "ØŃاض": 137354, + "ØŃاضر": 137355, + "ÙħÙĥاÙģ": 137356, + "ÙħÙĥاÙģØŃØ©": 137357, + "ลิà¸Ļ": 137358, + "ãģ¦ãģįãģ¦": 137359, + "ÑĢоÑģл": 137360, + "ĠÄ°ÅŁte": 137361, + "ÙĤصÙĬر": 137362, + "Ġ×ij×Ĵ×Ļ׾": 137363, + "Ġ×ŀת×IJ×Ļ×Ŀ": 137364, + "Ġ×Ķ×Ĺ×ĵ": 137365, + "Ġ×Ķ×Ĺ×ĵש×Ķ": 137366, + "ר×ķ×¢": 137367, + "Ġproduktów": 137368, + "ĠÙħصدر": 137369, + "неÑĨ": 137370, + "ĠاÙĦعÙħÙĦات": 137371, + "Ġçıkma": 137372, + "ĠدبÙĬ": 137373, + "×§×Ļף": 137374, + "ת×IJר": 137375, + "ת×IJר×Ļ×ļ": 137376, + "׳×Ļ×Ļ×ĵ": 137377, + "صراع": 137378, + "lève": 137379, + "צ×Ļר": 137380, + "à¸Ķัà¸Ļ": 137381, + "à¹ĥหà¹īà¹Ħà¸Ķà¹ī": 137382, + "ãĤ¿ãĤ¤ãĥł": 137383, + "Ġgiảng": 137384, + "Ð¡ÐŁ": 137385, + "ĠاÙĦÙħØŃÙĦ": 137386, + "ĠاÙĦÙħØŃÙĦÙĬØ©": 137387, + "ĠTất": 137388, + "׾×ķ×ĺ": 137389, + "há»ķ": 137390, + "Ġaméric": 137391, + "Ġaméricain": 137392, + "Ġ×ijש׾×ij": 137393, + "Ġ׾×IJ×ķ×ŀ×Ļ": 137394, + "Ġpeça": 137395, + "ĠÑĢазнÑĭÑħ": 137396, + "ãģĦãĤĭãģ¨": 137397, + "ãĥĩãĥ³": 137398, + "סקר": 137399, + "Ġ×Ķ×ŀ×Ĺ×Ļר": 137400, + "ãģ¨ãģĦãģĨãĤĤãģ®": 137401, + "رتبط": 137402, + "ĠиÑģÑĤоÑĩ": 137403, + "ĠиÑģÑĤоÑĩник": 137404, + "สมัà¸Ħรสมาà¸Ĭิà¸ģ": 137405, + "Ġà¸Ĺัà¹īà¸ĩ": 137406, + "Ġà¸Ĺัà¹īà¸ĩà¸Ļีà¹ī": 137407, + "ĠTáºŃp": 137408, + "ãģ£ãģ¦ãģĦãģĨ": 137409, + "ĠاÙĦÙĪØµÙĪÙĦ": 137410, + "Ġdécada": 137411, + "ĠоÑĦоÑĢм": 137412, + "ĠоÑĦоÑĢмлен": 137413, + "สำหรัà¸ļà¸ģาร": 137414, + "Ġogóln": 137415, + "ãģĨãģ¡ãģ«": 137416, + "Ġvárias": 137417, + "ãģĻãģİãĤĭ": 137418, + "ÙĪÙĩا": 137419, + "à¹Ĥà¸Ľà¸£à¸Ķ": 137420, + "ĠÐłÐ¾ÑģÑģиÑı": 137421, + "人ãĢħ": 137422, + "ãģĹãģ¦ãģįãģŁ": 137423, + "Ġsırasında": 137424, + "Ġngôn": 137425, + "سÙĨØ©": 137426, + "تÙħتع": 137427, + "×ŀ׼×ij×Ļ": 137428, + "Ġnhấn": 137429, + "×¢×ŀ×Ļ×ĵ": 137430, + "Ứ": 137431, + "жиÑĤÑĮ": 137432, + "ãĤīãģĽ": 137433, + "gráf": 137434, + "gráfica": 137435, + "ĠÙĤÙĪÙĦ": 137436, + "ĠÙĤÙĪÙĦÙĩ": 137437, + "ëĭ¨ì²´": 137438, + "หà¹īา": 137439, + "หà¹īาม": 137440, + "使ãģ£ãģ¦": 137441, + "ת×Ļ×ij": 137442, + "ת×Ļ×ijת": 137443, + "iá»ĥu": 137444, + "à¹ģà¸Ĭม": 137445, + "à¹ģà¸Ĭà¸¡à¸Ľ": 137446, + "à¹ģà¸Ĭà¸¡à¸Ľà¹Į": 137447, + "Ậ": 137448, + "ĠëĤĺëĿ¼": 137449, + "ĠÙħباشرة": 137450, + "ĠtrÄĥm": 137451, + "سÙĥÙĪ": 137452, + "ĠاÙĦذÙī": 137453, + "Ġbiç": 137454, + "Ġbiçim": 137455, + "تراجع": 137456, + "ĠобеÑģп": 137457, + "ĠобеÑģпеÑĩ": 137458, + "ĠобеÑģпеÑĩива": 137459, + "ĠвоздÑĥÑħ": 137460, + "ÑĭваÑĤÑĮ": 137461, + "ÙĦØŃÙĤ": 137462, + "ĠMüdü": 137463, + "ĠMüdürl": 137464, + "ĠMüdürlÃ¼ÄŁÃ¼": 137465, + "Ġyaptır": 137466, + "Ġפרס": 137467, + "Ġפרס×ķ×Ŀ": 137468, + "Ø·ÙĪØ±": 137469, + "ÑģÑĤвоваÑĤÑĮ": 137470, + "ìŀ¥ìĿĦ": 137471, + "à¸Ĺีà¹Īà¸Ķีà¸Ĺีà¹Īสุà¸Ķ": 137472, + "à¸Ńัล": 137473, + "ÑĢÑİ": 137474, + "ÙħستÙĤبÙĦ": 137475, + "ÑģлÑĥÑĪ": 137476, + "ÑģлÑĥÑĪа": 137477, + "èªįãĤģ": 137478, + "Ġ׾×Ļ×ŀ": 137479, + "Ġ׾×Ļ×ŀ×ķ×ĵ×Ļ": 137480, + "תש×ķ×ij": 137481, + "תש×ķ×ij×ķת": 137482, + "ĠgerçekleÅŁtiril": 137483, + "ĠاÙĦاتÙ쨧ÙĤ": 137484, + "ĠÑĥÑĢовне": 137485, + "ĠÑĤÑĢав": 137486, + "Ġ×Ķ×ŀ×ķף": 137487, + "ØŃÙģØ§Ø¸": 137488, + "ĠÙħÙIJ": 137489, + "ĠÙħÙIJÙĨ": 137490, + "ĠÙħÙIJÙĨÙĴ": 137491, + "Ġdemás": 137492, + "×ŀ×ķ×ĸ×Ļ×§×Ķ": 137493, + "ש×Ļ×Ĺ×Ķ": 137494, + "Ġbú": 137495, + "алÑĮнÑĭм": 137496, + "ãĤıãģŁ": 137497, + "ãĤıãģŁãģĹ": 137498, + "ĠاÙĦÙħÙĪØ§Ø¯": 137499, + "×ª×Ľ×ł": 137500, + "×ª×Ľ×ł×ķף": 137501, + "ãĥŃãĥĥãĤ¯": 137502, + "hiếu": 137503, + "ĠÑĥме": 137504, + "ÙħØŃاÙĪÙĦØ©": 137505, + "×IJ×ķשר": 137506, + "ĠконкÑĥÑĢ": 137507, + "ĠконкÑĥÑĢÑģ": 137508, + "Ġ×ŀ×ij×Ĺ": 137509, + "Ġ×ŀ×ij×Ĺ×Ļ×ł×ª": 137510, + "Ġanlam": 137511, + "Ġanlamı": 137512, + "Ġliá»ĩt": 137513, + "ĠвÑħод": 137514, + "ĠHình": 137515, + "ĠÙĨÙĬ": 137516, + "ĠÙĨÙĬÙĪØ²": 137517, + "ãĤ¸ãĥ£ãĥ¼": 137518, + "×ij×Ļ×¥": 137519, + "ÑĤелÑĮнÑĭÑħ": 137520, + "à¸Ĺุà¸ģà¸Ńยà¹Īาà¸ĩ": 137521, + "ĠkiÅŁinin": 137522, + "Ø£Ùĥثر": 137523, + "ĠиÑģÑĤоÑĢии": 137524, + "Ġë³ĢíĻĶ": 137525, + "×¤×ľ×¡×ĺ": 137526, + "×¤×ľ×¡×ĺ×Ļ׳×Ļ": 137527, + "ĠÑģеÑĤ": 137528, + "ĠÑģеÑĤи": 137529, + "dıģımız": 137530, + "íķĺëıĦë¡Ŀ": 137531, + "×Ķר": 137532, + "×Ķר×ij×Ķ": 137533, + "ãģĻãĤĭãģĵãģ¨ãģ¯": 137534, + "Ġphiếu": 137535, + "تØŃسÙĬÙĨ": 137536, + "ĠÅĽrod": 137537, + "ĠÅĽrodow": 137538, + "ĠÅĽrodowisk": 137539, + "ĠÑĢаÑģÑħод": 137540, + "برÙĬد": 137541, + "ĠرÙĬ": 137542, + "ĠرÙĬاÙĦ": 137543, + "Ġ×ķ׼×ļ": 137544, + "ì§ĢìļĶ": 137545, + "׼×ŀ×ķ": 137546, + "Ġ×¢×ľ×Ļ×Ķ×Ŀ": 137547, + "fÃŃcio": 137548, + "Ġkararı": 137549, + "tıģını": 137550, + "ĠСов": 137551, + "ĠСовеÑĤ": 137552, + "ãģĬéĩijãĤĴ": 137553, + "междÑĥ": 137554, + "междÑĥна": 137555, + "междÑĥнаÑĢод": 137556, + "междÑĥнаÑĢодн": 137557, + "Ġmá»Ŀi": 137558, + "ĠاÙĦØ¥ÙĬر": 137559, + "ĠاÙĦØ¥ÙĬراÙĨÙĬ": 137560, + "ĠاÙĦرÙĪØ³ÙĬ": 137561, + "صÙĨد": 137562, + "صÙĨدÙĪÙĤ": 137563, + "ĠاÙĦØ¥ÙĨترÙĨت": 137564, + "Ġtắm": 137565, + "ĠÑĤакого": 137566, + "Ġ×ij׾×ķ×Ĵ": 137567, + "Ġücrets": 137568, + "Ġücretsiz": 137569, + "×Ĺ×ĸ×Ļר": 137570, + "ìĸ´ìķ¼": 137571, + "ĠPhần": 137572, + "ï¼ľ": 137573, + "Ġ×ĺ×ij×¢": 137574, + "Ġ×ĺ×ij×¢×Ļ": 137575, + "×IJ×ŀ×IJ": 137576, + "اÙĤÙĦ": 137577, + "Ġcondições": 137578, + "ÙĤاتÙĦ": 137579, + "ĠÑĢезÑĥлÑĮÑĤаÑĤе": 137580, + "ĠÑģвоими": 137581, + "צ×ij×Ļ×¢": 137582, + "géni": 137583, + "Ġzes": 137584, + "Ġzespo": 137585, + "ĠzespoÅĤ": 137586, + "ÑĪив": 137587, + "Ġפר×ĺ×Ļ×ķת": 137588, + "ÙħستشÙģ": 137589, + "ÙħستشÙģÙī": 137590, + "شرع": 137591, + "ĠkoÅĽci": 137592, + "Ġ×Ķ×IJ×Ļ׳×ĺר׳×ĺ": 137593, + "ĠЧеÑĢ": 137594, + "поÑĩÑĤ": 137595, + "Ġactivités": 137596, + "çŁ¥ãģ£ãģ¦": 137597, + "Ġ×ij×ĸ×Ķ": 137598, + "Ġyüzden": 137599, + "ãģªãĤĬãģ¾ãģĽãĤĵ": 137600, + "Ġíĺ¹": 137601, + "Ġíĺ¹ìĿĢ": 137602, + "Ġ×ŀש׳×Ķ": 137603, + "ĠÐĴеÑĢ": 137604, + "Ġ×ij×IJ×ķת×ķ": 137605, + "éĿ¢çϽ": 137606, + "éĿ¢çϽãģĦ": 137607, + "شرØŃ": 137608, + "gründe": 137609, + "Ù쨴": 137610, + "Ù쨴ÙĦ": 137611, + "Ġséjour": 137612, + "ë´IJ": 137613, + "Ġrôle": 137614, + "شعار": 137615, + "емÑĭе": 137616, + "ĠاÙĦجسÙħ": 137617, + "алÑĮное": 137618, + "Ġìĥģíĥľ": 137619, + "D": 137620, + "ë¯Ģë¡ľ": 137621, + "ĠÙĨÙĤØ·": 137622, + "ĠÙĨÙĤطة": 137623, + "ãģĿãģĨãģł": 137624, + "ãģĻãĤĭãģ®ãģĮ": 137625, + "หู": 137626, + "Ġnhá»ĭ": 137627, + "Ġeconómica": 137628, + "ס×ĺ×ķ×ĵ": 137629, + "ס×ĺ×ķ×ĵ׳×ĺ": 137630, + "มีà¹Ĥà¸Ńà¸ģาส": 137631, + "Ġgestão": 137632, + "รูà¹īวà¹Īา": 137633, + "Ġloạt": 137634, + "ĠاÙĦÙħÙı": 137635, + "ĠاÙĦØŃÙħÙĦ": 137636, + "ĠاÙĦعÙħÙĦÙĬØ©": 137637, + "Ġê²ĥëıĦ": 137638, + "ĠÐľÐ¾Ñģква": 137639, + "×§×ĺ×ķר": 137640, + "ĠподÑĢоб": 137641, + "ĠподÑĢобн": 137642, + "Ġlưng": 137643, + "تÙ쨳": 137644, + "تÙ쨳ÙĬر": 137645, + "ĠاÙĦبع": 137646, + "ĠاÙĦبعض": 137647, + "ئت": 137648, + "ÐķÐĿ": 137649, + "ìĹ°êµ¬": 137650, + "à¹ĥหà¹īà¸Ħุà¸ĵ": 137651, + "ãģĤãĤĬãģ¾ãģĹãģŁ": 137652, + "Ġbirka": 137653, + "Ġbirkaç": 137654, + "Ġİsl": 137655, + "Ġİslam": 137656, + "çĹĽãģ¿": 137657, + "Ġhảo": 137658, + "ĠмаÑı": 137659, + "ĠiÅŁÃ§i": 137660, + "ש×": 137661, + "ש×ģ": 137662, + "à¸ģารà¹Ģมืà¸Ńà¸ĩ": 137663, + "×ķ×Ķר": 137664, + "Ġchó": 137665, + "ëĨĢ": 137666, + "Ġyanlı": 137667, + "ĠyanlÄ±ÅŁ": 137668, + "幸ãģĽ": 137669, + "×IJר×Ĵ×ķ׳×Ļ": 137670, + "à¸Ńาà¸Īาร": 137671, + "à¸Ńาà¸Īารยà¹Į": 137672, + "ĠинÑĦоÑĢмаÑĨиÑİ": 137673, + "ÐĵÐŀ": 137674, + "׳×Ĺש": 137675, + "ĠìķĮìķĦ": 137676, + "ĠÑħаÑĢакÑĤеÑĢиÑģÑĤ": 137677, + "ĠÑħаÑĢакÑĤеÑĢиÑģÑĤик": 137678, + "à¸Ħุà¸ĵสามารà¸ĸ": 137679, + "è¦ĭãģĪãĤĭ": 137680, + "à¸Ĭัà¸Ķà¹Ģà¸Ī": 137681, + "à¸Ĭัà¸Ķà¹Ģà¸Īà¸Ļ": 137682, + "ĠdziaÅĤal": 137683, + "ĠdziaÅĤalnoÅĽci": 137684, + "à¹Ĥà¸ŀสà¸ķà¹Į": 137685, + "ĠÐļол": 137686, + "ĠÙģÙĩÙĬ": 137687, + "Ġ×ŀפ׳×Ļ": 137688, + "Ġ×Ķקשר": 137689, + "ÙħرÙĥ": 137690, + "ÙħرÙĥز": 137691, + "Ġhoá": 137692, + "Ġапп": 137693, + "ĠаппаÑĢаÑĤ": 137694, + "Ġpami": 137695, + "ĠpamiÄĻ": 137696, + "ĠpamiÄĻta": 137697, + "Ġçünkü": 137698, + "×ĵ×ķף": 137699, + "ãģ¯ãģĵãģ¡ãĤī": 137700, + "ĠMÃł": 137701, + "ĠÙĬÙĤدÙħ": 137702, + "ĠпÑĢез": 137703, + "ĠпÑĢезиденÑĤ": 137704, + "à¸Ńุà¸ķ": 137705, + "à¸Ńุà¸ķสา": 137706, + "à¸Ńุà¸ķสาห": 137707, + "à¸Ńุà¸ķสาหà¸ģรรม": 137708, + "ì§ĢìĽIJ": 137709, + "Ġ×IJפשר×ķת": 137710, + "schüt": 137711, + "schütz": 137712, + "ĠTiên": 137713, + "Ġsayılı": 137714, + "ĠгÑĢÑĥппÑĭ": 137715, + "оÑĩнÑĭй": 137716, + "Ġ×ľ×¢×ŀ×ķ×ĵ": 137717, + "ĠwrzeÅĽ": 137718, + "ĠwrzeÅĽnia": 137719, + "ĠÄIJầu": 137720, + "à¹Ģà¸Ĥà¹īารà¹Īวม": 137721, + "nızda": 137722, + "Ø®ÙĬص": 137723, + "Ġgünc": 137724, + "Ġgüncel": 137725, + "ĠÙĦÙĩذÙĩ": 137726, + "ĠÙĬعتبر": 137727, + "légi": 137728, + "ãĤıãģĭãĤĭ": 137729, + "Ġrừng": 137730, + "ظÙĩ": 137731, + "ظÙĩÙĪØ±": 137732, + "Ġ×ŀ×ij×Ļף": 137733, + "Ġ기íĥĢ": 137734, + "åĪĩãĤĮ": 137735, + "lanmÄ±ÅŁ": 137736, + "à¸Ĺีà¹Īมีà¸Ħวาม": 137737, + "Ġhá»ģ": 137738, + "تÙĪØ¬Ùĩ": 137739, + "ĠاÙĦإدارة": 137740, + "Ġútil": 137741, + "ספ×ķ": 137742, + "à¸Ħวามรัà¸ģ": 137743, + "à¹Ĥฮ": 137744, + "ĠполиÑĤ": 137745, + "ĠполиÑĤик": 137746, + "Ġsatın": 137747, + "ĠÅŀimdi": 137748, + "×ŀ×ķר×Ļ×Ŀ": 137749, + "ìķĺëĭ¤": 137750, + "×Ĺ×ķ×ķ": 137751, + "×Ĺ×ķ×ķ×Ļ×Ķ": 137752, + "à¸Ħà¸Ńมà¸ŀิ": 137753, + "à¸Ħà¸Ńมà¸ŀิว": 137754, + "à¸Ħà¸Ńมà¸ŀิวà¹Ģà¸ķà¸Ńรà¹Į": 137755, + "Ġاذا": 137756, + "تخاذ": 137757, + "ãĤ¨ãĥ«": 137758, + "Ġpossibilité": 137759, + "ยืà¸Ļยัà¸Ļ": 137760, + "Ġünivers": 137761, + "Ġüniversite": 137762, + "ĠاÙĦدÙĪØ±ÙĬ": 137763, + "ĠìķĬëĬĶëĭ¤": 137764, + "ĠìĦľë¡ľ": 137765, + "ØŃاÙĦ": 137766, + "Ġë¨": 137767, + "Ġ먼": 137768, + "Ġ먼ìłĢ": 137769, + "à¸Ĺีà¹Īà¸ĸูà¸ģ": 137770, + "ì§ľ": 137771, + "Ġskóry": 137772, + "лÑĮÑĨ": 137773, + "à¹ĥà¸Ĭà¹īà¹Ģวลา": 137774, + "×ijקשת": 137775, + "ĠذÙĪ": 137776, + "æĹ¥ãĢħ": 137777, + "ĠкоÑĤоÑĢÑĥÑİ": 137778, + "ĠÑĥÑĢовенÑĮ": 137779, + "깨": 137780, + "à¹Ħà¸Ĺ": 137781, + "ãĤµãĥĹãĥª": 137782, + "ãĤ¸ãĥ§ãĥ³": 137783, + "ãģĻãģ¹ãģį": 137784, + "ĠGór": 137785, + "ãĥĪãĤ¤": 137786, + "ãĥĪãĤ¤ãĥ¬": 137787, + "ĠyaÅŁama": 137788, + "Ġdá»ĭp": 137789, + "Ġbữa": 137790, + "à¸ĭุ": 137791, + "Ġölüm": 137792, + "ãģ£ãģ¦ãģıãĤĭ": 137793, + "à¸ģารà¸Ħà¹īา": 137794, + "שער": 137795, + "ĠÑĤипа": 137796, + "ĠгеÑĢ": 137797, + "ĠгеÑĢо": 137798, + "רקע": 137799, + "Ġuważ": 137800, + "Ġuważa": 137801, + "ש×ŀף": 137802, + "Ġhastalık": 137803, + "ãĤıãĤĮãĤĭ": 137804, + "baÅŁÄ±": 137805, + "ÑĩÑĤо": 137806, + "Ġ×ij×ŀר׼×ĸ": 137807, + "Ġìļ°ë¦¬ìĿĺ": 137808, + "ĠÙĥاÙĨÙĪØ§": 137809, + "Ġأبر": 137810, + "ĠأبرÙĬÙĦ": 137811, + "층": 137812, + "à¹Ħà¸Ĥà¹Ī": 137813, + "ĠÙĪÙĦÙĪ": 137814, + "à¸Ĺัว": 137815, + "à¸Ĺัวรà¹Į": 137816, + "ĠÙĪØ£Ùĥد": 137817, + "à¸Ĭวà¸Ļ": 137818, + "׾×ķ×§": 137819, + "æį¨": 137820, + "æį¨ãģ¦": 137821, + "Ġİçin": 137822, + "péri": 137823, + "Ġyal": 137824, + "Ġyalnız": 137825, + "ÑĮÑıн": 137826, + "Ġgắng": 137827, + "à¸ģà¹ĩยัà¸ĩ": 137828, + "ĠУкÑĢаин": 137829, + "ĠÑģами": 137830, + "ĠпÑĢоведен": 137831, + "à¸ķà¸ģà¹ģà¸ķà¹Īà¸ĩ": 137832, + "ĠQuân": 137833, + "éparation": 137834, + "ĠbaÅŁÄ±nda": 137835, + "Ġznale": 137836, + "Ġznaleź": 137837, + "ĠznaleźÄĩ": 137838, + "ãĤ±ãĥ¼": 137839, + "ãĥİãĥ¼": 137840, + "à¸ĸูà¸ģà¸ķà¹īà¸Ńà¸ĩ": 137841, + "몸": 137842, + "ĠëıĮ": 137843, + "ĠëıĮìķĦ": 137844, + "ĠSchüler": 137845, + "ĠподгоÑĤов": 137846, + "ĠподгоÑĤовк": 137847, + "عرÙĪ": 137848, + "عرÙĪØ¶": 137849, + "laÅŁtır": 137850, + "ĠÑģоÑģÑĤавлÑıеÑĤ": 137851, + "ĠпÑĢоизвод": 137852, + "ĠпÑĢоизводÑģÑĤва": 137853, + "ĠоÑģнове": 137854, + "ĠØ´ÙħاÙĦ": 137855, + "à¸ģรี": 137856, + "ĠgörÃ¼ÅŁme": 137857, + "оÑĩек": 137858, + "Ġ×Ĺ×ijר×Ļ×Ŀ": 137859, + "Ùħخاط": 137860, + "Ùħخاطر": 137861, + "ï¼Ń": 137862, + "רפ×IJ": 137863, + "ĠMẹ": 137864, + "ยà¸Ńมรัà¸ļ": 137865, + "Ġvết": 137866, + "خذ": 137867, + "ĠاÙĦتط": 137868, + "ĠاÙĦتطبÙĬÙĤ": 137869, + "à¸Ļึà¸ģ": 137870, + "Ġ×Ķ×Ľ×ł×¡×ª": 137871, + "ĠогÑĢани": 137872, + "ĠогÑĢаниÑĩен": 137873, + "ĠÃĩalÄ±ÅŁ": 137874, + "ĠاÙĦÙħÙĨتدÙī": 137875, + "à¸Īำà¸Ļวà¸Ļมาà¸ģ": 137876, + "ĠÑĤоÑĢÑĢ": 137877, + "ĠÑĤоÑĢÑĢенÑĤ": 137878, + "ĠìĤ´ìķĦ": 137879, + "à¸ŀลัà¸ĩà¸ĩาà¸Ļ": 137880, + "à¸Ĭัà¸Ļ": 137881, + "ĠÐIJндÑĢ": 137882, + "Ġréalisé": 137883, + "×ŀש×IJ": 137884, + "à¹ģà¸Ĭ": 137885, + "à¹ģà¸Ĭรà¹Į": 137886, + "Ġбог": 137887, + "มาà¹ģลà¹īว": 137888, + "ĠاÙĦÙĨار": 137889, + "Ġolmadıģı": 137890, + "×ĵ×¢×Ķ": 137891, + "ĠÑĥвеÑĢ": 137892, + "ĠÑĥвеÑĢен": 137893, + "ãĤĭãĤĤãģ®": 137894, + "أد": 137895, + "أدÙĪØ§Øª": 137896, + "Ġ×Ķ×ĸ×ķ×Ĵ": 137897, + "إعÙĦاÙħ": 137898, + "há»ı": 137899, + "ĠNähe": 137900, + "ĠÑĤеÑģÑĤ": 137901, + "Ġ×ŀ×ķ׼ר": 137902, + "Ġë¬¸ìłľê°Ģ": 137903, + "ת×ķצ×IJ×Ķ": 137904, + "mó": 137905, + "móvel": 137906, + "ĠاÙĦتجارة": 137907, + "ĠмногиÑħ": 137908, + "обÑīа": 137909, + "Ġעסק×Ļ": 137910, + "ĠEducação": 137911, + "קש×Ļ×Ŀ": 137912, + "établ": 137913, + "établissement": 137914, + "Ġделе": 137915, + "иÑĢÑĥеÑĤÑģÑı": 137916, + "آثار": 137917, + "Ġ×Ķ×ŀר׼×ĸ×Ļ": 137918, + "ãĥIJãĥ«": 137919, + "ĠвÑģÑĤÑĢеÑĩ": 137920, + "ãģĴãĤĭ": 137921, + "ĠciÄħ": 137922, + "ĠciÄħgu": 137923, + "ÙĬست": 137924, + "à¸łà¸²à¸§": 137925, + "à¸łà¸²à¸§à¸°": 137926, + "Ø£Ùħر": 137927, + "Ġожи": 137928, + "Ġожида": 137929, + "Ġá»§y": 137930, + "ãĥŀãĥ«": 137931, + "راس": 137932, + "оÑĩной": 137933, + "ת×Ĵ×ķ×ij×ķת": 137934, + "تعرÙĬÙģ": 137935, + "ĠÑģоÑĨиалÑĮно": 137936, + "ãĤĴéĸĭ": 137937, + "ĠиÑģÑģледова": 137938, + "Ġdú": 137939, + "Ġdúvida": 137940, + "ĠskÅĤ": 137941, + "ĠskÅĤada": 137942, + "Ġhäufig": 137943, + "ĠвÑĭбÑĢ": 137944, + "ĠвÑĭбÑĢаÑĤÑĮ": 137945, + "ãģ®ãģ§ãģ¯ãģªãģĦãģĭ": 137946, + "ĠÑģилÑĮно": 137947, + "ÑĤвеÑĢжден": 137948, + "רפ": 137949, + "רפ×ķ×IJ×Ķ": 137950, + "æĢĿãģĦãģ¾ãģĻ": 137951, + "ØŃرص": 137952, + "ש×ķתף": 137953, + "Ùħسجد": 137954, + "à¹Ĥà¸Ĭวà¹Į": 137955, + "емÑģÑı": 137956, + "вÑĪие": 137957, + "Ġмл": 137958, + "Ġмлн": 137959, + "Ġ׾×Ķ×ij×Ļ×IJ": 137960, + "ĠÙĬتعÙĦÙĤ": 137961, + "à¸ķูà¹ī": 137962, + "ĠпÑĢаз": 137963, + "ĠпÑĢазд": 137964, + "ĠпÑĢаздник": 137965, + "Ġнем": 137966, + "Ġнемного": 137967, + "ĠsÃłng": 137968, + "تÙĨسÙĬ": 137969, + "تÙĨسÙĬÙĤ": 137970, + "Ġtá»Ŀ": 137971, + "Ġмеди": 137972, + "ã쫿Ī": 137973, + "ã쫿λ": 137974, + "à¸Ħวà¹īา": 137975, + "ãģĭãģijãĤĭ": 137976, + "×ij׾×ķת": 137977, + "ĠÑįкÑģп": 137978, + "ĠÑįкÑģпеÑĢÑĤ": 137979, + "ĠдевÑĥÑĪ": 137980, + "ĠдевÑĥÑĪк": 137981, + "ĠØŃص": 137982, + "ÙĨشأ": 137983, + "ãģĮãģĤãĤĭãģ®ãģ§": 137984, + "ĠتراÙħ": 137985, + "ĠتراÙħب": 137986, + "أسÙĪØ§ÙĤ": 137987, + "Ġ׾פ׳×ķת": 137988, + "Ġاﻷ": 137989, + "ãģ«ãģı": 137990, + "ãģ«ãģıãģĦ": 137991, + "ĠأعÙĦÙī": 137992, + "Ġ׾×Ķ×ŀש×Ļ×ļ": 137993, + "räu": 137994, + "ש×ŀ×Ļ×Ŀ": 137995, + "åĪĨãģij": 137996, + "ãģĻãģ§": 137997, + "ãģĻãģ§ãģ«": 137998, + "×Ķ׾׼×Ķ": 137999, + "×Ĺ׾×Ļ×£": 138000, + "Ġì±ħ": 138001, + "Ġì±ħìŀĦ": 138002, + "à¹Ģà¸Īริ": 138003, + "à¹Ģà¸Īริà¸į": 138004, + "éģĬãģ³": 138005, + "جسد": 138006, + "สาà¸ĺ": 138007, + "สาà¸ĺาร": 138008, + "สาà¸ĺารà¸ĵ": 138009, + "Ġbasın": 138010, + "ÑĢаг": 138011, + "гад": 138012, + "ĠhoÅŁ": 138013, + "íķµ": 138014, + "×ij×Ĺ×Ļר×Ķ": 138015, + "×ŀס×ļ": 138016, + "ĠìłľíĴĪ": 138017, + "تÙħÙĪÙĬÙĦ": 138018, + "ĠLưu": 138019, + "ë¡ľë¶ĢíĦ°": 138020, + "Ġпоб": 138021, + "Ġпобед": 138022, + "ÙħÙĨذ": 138023, + "常ãģ«": 138024, + "ÙĤس": 138025, + "ĠاÙĦÙħصدر": 138026, + "ĠÙĪØ§ÙĦاست": 138027, + "Ġkhắp": 138028, + "ĠاÙĦجاÙĨب": 138029, + "Ġnguyá»ĩn": 138030, + "éĸĵéģķãģĦ": 138031, + "ĠÑģÑĤÑĢа": 138032, + "ĠÑģÑĤÑĢаÑħ": 138033, + "ĠÑģÑĤÑĢаÑħов": 138034, + "รีà¸ļ": 138035, + "Ġxương": 138036, + "Ġì°¾": 138037, + "Ġì°¾ìķĦ": 138038, + "Ġngại": 138039, + "гал": 138040, + "à¸ĭีà¹Ī": 138041, + "Ġ×ijפ×Ļ×Ļס×ij×ķ×§": 138042, + "ЦенÑĤÑĢ": 138043, + "Ġavaliação": 138044, + "Ġeconómico": 138045, + "×ĸף": 138046, + "ĠÐľÐ°Ðº": 138047, + "Ġinterés": 138048, + "à¸ģลิà¹Īà¸Ļ": 138049, + "ÑģÑĤÑĮÑİ": 138050, + "ĠÄijương": 138051, + "å¼·ãģı": 138052, + "ĠKhách": 138053, + "à¹Ģà¸Ļืà¹īà¸Ńหา": 138054, + "ĠYazı": 138055, + "è²·ãģ£ãģ¦": 138056, + "ÐłÐķ": 138057, + "à¹Ģà¸ŀิà¹Īมà¸Ĥึà¹īà¸Ļ": 138058, + "สมà¸ļู": 138059, + "สมà¸ļูรà¸ĵà¹Į": 138060, + "ĠмиÑĢов": 138061, + "×Ĵ׳×Ļ×Ŀ": 138062, + "ĠÄijức": 138063, + "à¸Ńารà¹Į": 138064, + "صاص": 138065, + "ãģĬãĤĪ": 138066, + "ãģĬãĤĪãģ³": 138067, + "êÌī": 138068, + "ĠاÙĦÙħؤتÙħر": 138069, + "ĠاÙĦÙħرØŃÙĦØ©": 138070, + "สà¸Ńà¸ļà¸ĸาม": 138071, + "Ġà¸Īาà¸ģà¸Ļัà¹īà¸Ļ": 138072, + "Ġتعد": 138073, + "ãģĿãģ®ãģŁãĤģ": 138074, + "Ġkháng": 138075, + "à¸Ļิà¸Ķ": 138076, + "ãĥĬãĥ³": 138077, + "ëĦ¤ìļĶ": 138078, + "ĠاÙĦاØŃت": 138079, + "ĠاÙĦاØŃتÙĦاÙĦ": 138080, + "ìļķ": 138081, + "Ġмодели": 138082, + "ĠпÑĢоÑĨенÑĤ": 138083, + "à¸ŀวà¸ģà¹Ģรา": 138084, + "Ġ×Ķצ×ĵ": 138085, + "Ġ×Ķצ×ĵ×ĵ×Ļ×Ŀ": 138086, + "stände": 138087, + "׳×Ĵר": 138088, + "Ġdotyc": 138089, + "ĠdotyczÄħ": 138090, + "ĠdotyczÄħce": 138091, + "ĠÅĽwiÄĻt": 138092, + "×ŀר×Ķ": 138093, + "ãģĻãģĶãģĦ": 138094, + "ãĥĩãĤ£ãĥ³ãĤ°": 138095, + "à¸ģารสรà¹īาà¸ĩ": 138096, + "ëĤ¬": 138097, + "Ġì°¸ìŬ": 138098, + "ÑģÑħ": 138099, + "ÑģÑħем": 138100, + "ÙħÙĪØ³": 138101, + "Ġnấu": 138102, + "Ġ׾×ŀ×¢×ľ×Ķ": 138103, + "à¹Ģà¸Ľà¹īา": 138104, + "à¹Ģà¸Ľà¹īาหมาย": 138105, + "Ġmùi": 138106, + "ائز": 138107, + "íĽĪ": 138108, + "×Ĺ×ij×ķר×Ķ": 138109, + "à¸ľà¸¹à¹īà¹ĥà¸Ĭà¹ī": 138110, + "Ġpaź": 138111, + "Ġpaździ": 138112, + "Ġpaździern": 138113, + "Ġpaździernika": 138114, + "ลà¸ĩà¹Ħà¸Ľ": 138115, + "ÙĤاع": 138116, + "ĠcháºŃm": 138117, + "Ġözellikleri": 138118, + "ĠÄIJo": 138119, + "ĠÄIJoÃłn": 138120, + "жение": 138121, + "Ġhẳ": 138122, + "Ġhẳn": 138123, + "ĠaÅŁk": 138124, + "ï½į": 138125, + "ãĥijãĤ¹": 138126, + "×Ķ×ķר×IJ×ķת": 138127, + "ĠÅ»": 138128, + "ĠÅ»y": 138129, + "×ŀ×ĸ׾": 138130, + "ĠÑĥкÑĢа": 138131, + "ĠÑĥкÑĢаин": 138132, + "à¹Ģà¸Ĭิ": 138133, + "à¹Ģà¸Ĭิà¸į": 138134, + "ÐłÐĺ": 138135, + "ĠzwiÄħzku": 138136, + "×Ķ×Ĺ׾×ĺת": 138137, + "ãĤĵãģ§ãģĻãĤĪãģŃ": 138138, + "ãģ¦ãģĬãĤĬ": 138139, + "ложиÑĤÑĮ": 138140, + "×ŀ×ķ׳×Ļ×Ŀ": 138141, + "ฮิ": 138142, + "ì°¬": 138143, + "ĠاÙĦÙħشترÙĥ": 138144, + "ĠdÃ¼ÅŁÃ¼k": 138145, + "агенÑĤ": 138146, + "ĠاÙĦأسبÙĪØ¹": 138147, + "ĠÙĤرÙĬب": 138148, + "инд": 138149, + "индив": 138150, + "индивид": 138151, + "индивидÑĥ": 138152, + "индивидÑĥалÑĮн": 138153, + "förder": 138154, + "Ġseçen": 138155, + "Ġseçenek": 138156, + "Ġétant": 138157, + "ĠлÑİбим": 138158, + "казÑĭваеÑĤ": 138159, + "วิà¸Ļ": 138160, + "Ġ×Ķ×ij×IJ×Ļ×Ŀ": 138161, + "Ġдов": 138162, + "ĠдоволÑĮ": 138163, + "ĠдоволÑĮно": 138164, + "×¢×ĵ×Ļ×£": 138165, + "Ġokre": 138166, + "ĠokreÅĽ": 138167, + "ĠokreÅĽlon": 138168, + "ĠترÙĬد": 138169, + "à¹Ģมืà¹Īà¸Ńวัà¸Ļà¸Ĺีà¹Ī": 138170, + "ãĤĪãģĭãģ£ãģŁ": 138171, + "Cumh": 138172, + "Cumhur": 138173, + "Cumhurba": 138174, + "CumhurbaÅŁ": 138175, + "CumhurbaÅŁkan": 138176, + "CumhurbaÅŁkanı": 138177, + "Ġnợ": 138178, + "à¸ľà¸¹à¹īà¹Ģลà¹Īà¸Ļ": 138179, + "Ġcomplète": 138180, + "à¹Ģà¸ŀศ": 138181, + "دÙIJ": 138182, + "Ġdüz": 138183, + "Ġdüzey": 138184, + "ãģ§ãģĤãĤĭãģĵãģ¨": 138185, + "extérieur": 138186, + "׳": 138187, + "Ġinformação": 138188, + "ãĤ¯ãĥªãĥĭãĥĥãĤ¯": 138189, + "ĠPubli": 138190, + "ĠPublié": 138191, + "ר×ķ×ĵ": 138192, + "à¸Ħà¸§à¸²à¸¡à¸Ľà¸¥à¸Ńà¸Ķà¸łà¸±à¸¢": 138193, + "ĠØ£ÙĬض": 138194, + "ĠØ£ÙĬضÙĭا": 138195, + "تسبب": 138196, + "ãģ¤ãĤĤãĤĬ": 138197, + "изма": 138198, + "à¸Ĥึà¹īà¸Ļà¹Ħà¸Ľ": 138199, + "ÙĥÙIJ": 138200, + "ÙĦÙĪÙħ": 138201, + "Ġשצר": 138202, + "Ġשצר×Ļ×ļ": 138203, + "ãģ¯ãĤĤãģ¡ãĤįãĤĵ": 138204, + "Ġкан": 138205, + "Ġканал": 138206, + "ãģ«ãģªãģ£ãģ¦ãģĦãģ¾ãģĻ": 138207, + "ĠاÙĦØ£Ùĥثر": 138208, + "تاØŃ": 138209, + "ÙĨتÙĩ": 138210, + "ÙĨتÙĩاء": 138211, + "اÙĪÙĬØ©": 138212, + "ĠBugün": 138213, + "нÑģкого": 138214, + "à¸Ķà¹Īวà¸Ļ": 138215, + "évolution": 138216, + "ãģ£ãģ¦ãģĦãģ¾ãģĹãģŁ": 138217, + "ãĤħ": 138218, + "ĠVương": 138219, + "à¸łà¸²à¸ŀย": 138220, + "à¸łà¸²à¸ŀยà¸Ļ": 138221, + "à¸łà¸²à¸ŀยà¸Ļà¸ķรà¹Į": 138222, + "Ġ×Ķצ׾×Ļ×Ĺ": 138223, + "ĠاÙĦإسÙĦاÙħÙĬ": 138224, + "ÙĦÙĬب": 138225, + "Ġedição": 138226, + "ÑģÑĤÑĢел": 138227, + "Ġkhúc": 138228, + "ÙĨÙħÙĪØ°": 138229, + "ÙĨÙħÙĪØ°Ø¬": 138230, + "׾צ×Ķ": 138231, + "ÑģÑĤавил": 138232, + "à¸ĸา": 138233, + "สรà¹īาà¸ĩà¸Ħวาม": 138234, + "ãģĦãģ£ãģ±": 138235, + "ãģĦãģ£ãģ±ãģĦ": 138236, + "ÑģÑĤавлен": 138237, + "ĠاÙĦÙĤدس": 138238, + "Ġngược": 138239, + "بخ": 138240, + "สหร": 138241, + "สหรั": 138242, + "สหรัà¸IJ": 138243, + "Ġأغ": 138244, + "Ġأغسط": 138245, + "Ġأغسطس": 138246, + "ãģĨãģ¾": 138247, + "ãģĨãģ¾ãģı": 138248, + "ĠêµŃìłľ": 138249, + "ØŃضار": 138250, + "Ġdừng": 138251, + "æĬ¼ãģĹ": 138252, + "تÙĪØ§": 138253, + "تÙĪØ§Ø¬Ø¯": 138254, + "ש×ŀ×Ĺ×Ķ": 138255, + "ãģıãĤĵ": 138256, + "Ġ×ijעצ": 138257, + "Ġ×ijעצ×Ŀ": 138258, + "×ŀ׳×Ļ×ķת": 138259, + "×ķ×Ļ×ĵ": 138260, + "×ķ×Ļ×ĵ×IJ×ķ": 138261, + "à¸Ĭิà¸ĩ": 138262, + "ĠpracÄĻ": 138263, + "ĠзаÑĤ": 138264, + "ĠзаÑĤем": 138265, + "ĠìŀIJìľł": 138266, + "Ġì¤Ģ": 138267, + "Ġì¤Ģë¹Ħ": 138268, + "ĠbáºŃ": 138269, + "ĠbáºŃc": 138270, + "Ġ×Ķ×ŀצ×ij": 138271, + "ĠÙĤÙĬÙħØ©": 138272, + "à¹Ģà¸Ńà¹Ģà¸Ĭ": 138273, + "à¹Ģà¸Ńà¹Ģà¸Ĭีย": 138274, + "Ġperchè": 138275, + "ĠاÙĦعسÙĥر": 138276, + "ĠاÙĦعسÙĥرÙĬØ©": 138277, + "جÙĬب": 138278, + "ëŀµ": 138279, + "ÙħÙĩر": 138280, + "ÙħÙĩرجاÙĨ": 138281, + "ÙħراÙĥ": 138282, + "ÙħراÙĥز": 138283, + "Ġоднако": 138284, + "à¸Ķีà¹Ĩ": 138285, + "Ġצפ×ķ": 138286, + "Ġkullanılan": 138287, + "Ġкино": 138288, + "ãĥĨãĤ£ãĥ³ãĤ°": 138289, + "ĠGiỼi": 138290, + "تÙĪØ²": 138291, + "تÙĪØ²ÙĬع": 138292, + "ยิà¸Ļ": 138293, + "ยิà¸Ļà¸Ķี": 138294, + "ĠcÅĵur": 138295, + "ĠiÅŁaret": 138296, + "Ġ×ij×¢×ĸר": 138297, + "Ġ×ij×¢×ĸרת": 138298, + "ĠпаÑĨи": 138299, + "ĠпаÑĨиенÑĤ": 138300, + "ãģ¿ãģŁãģĦãģ§ãģĻ": 138301, + "вез": 138302, + "лина": 138303, + "оде": 138304, + "Ġ×IJ×ķ×ª×Ł": 138305, + "dıģınız": 138306, + "ĠÐIJв": 138307, + "ĠÐIJвÑĤоÑĢ": 138308, + "ï¼®": 138309, + "ĠCần": 138310, + "ĠاÙĦاخ": 138311, + "ĠاÙĦاخبار": 138312, + "Ġê±°ìĿĺ": 138313, + "Ġatenção": 138314, + "ĠgeldiÄŁi": 138315, + "ãĤªãĤ¹": 138316, + "ãĤªãĤ¹ãĤ¹": 138317, + "ãĤªãĤ¹ãĤ¹ãĥ¡": 138318, + "евÑĭе": 138319, + "кÑĢÑĭл": 138320, + "à¹Ģà¸Ĭียà¸ĩ": 138321, + "à¹Ģà¸Ĭียà¸ĩà¹ĥหมà¹Ī": 138322, + "Ġmarço": 138323, + "ĠاÙĦÙħادة": 138324, + "Ġгол": 138325, + "Ġsprzedaży": 138326, + "Ġíķ´ê²°": 138327, + "ĠÐķго": 138328, + "ê¹Ģ": 138329, + "Ġ׾ק×ij×ľ×ª": 138330, + "ĠاÙĦÙģÙĨاÙĨ": 138331, + "Ġcomunicación": 138332, + "à¹Ģสà¹īà¸Ļà¸Ĺาà¸ĩ": 138333, + "íĺ¹": 138334, + "à¸Ĭำ": 138335, + "à¸Ĭำระ": 138336, + "Ġ׼×IJ×ŀ": 138337, + "Ġ׼×IJ×ŀ×ķר": 138338, + "à¸Ĭà¹Īาà¸ĩ": 138339, + "زÙĩر": 138340, + "Ġklientów": 138341, + "иваÑİÑĤ": 138342, + "анг": 138343, + "׳×ļ": 138344, + "Ġgá»įn": 138345, + "ÃľR": 138346, + "ìĺģìĥģ": 138347, + "Ġغزة": 138348, + "ìĿĮìĿĦ": 138349, + "Ġbezpo": 138350, + "ĠbezpoÅĽ": 138351, + "ĠbezpoÅĽredni": 138352, + "ĠاÙĦÙħÙĪØ§": 138353, + "ĠاÙĦÙħÙĪØ§Ø·ÙĨ": 138354, + "ĠاÙĦÙħÙĪØ§Ø·ÙĨÙĬÙĨ": 138355, + "ãĤĮãģ¾ãģĻ": 138356, + "ĠмаÑĤÑĩ": 138357, + "×IJ×ķף": 138358, + "ĠرسÙħÙĬ": 138359, + "ĠÑįкон": 138360, + "ĠÑįконом": 138361, + "ĠÑįкономиÑĩеÑģк": 138362, + "ãĥľãĥ¼": 138363, + "ĠдиÑĢ": 138364, + "ĠдиÑĢекÑĤоÑĢ": 138365, + "ĠÑģкоÑĢо": 138366, + "à¸ļำ": 138367, + "à¸ļำร": 138368, + "à¸ļำรุà¸ĩ": 138369, + "ĠÑĦÑĥÑĤ": 138370, + "ĠÑĦÑĥÑĤбол": 138371, + "Ġ×IJ×Ļ׾": 138372, + "Ġì¤ijêµŃ": 138373, + "ìľ¤": 138374, + "eÄŁe": 138375, + "à¹Ħà¸ģà¹Ī": 138376, + "traî": 138377, + "traîn": 138378, + "ĠÑĤÑĢÑĥб": 138379, + "à¹Ģà¸ļื": 138380, + "à¹Ģà¸ļืà¹īà¸Ńà¸ĩ": 138381, + "à¹ģมà¸Ļ": 138382, + "ĠتØŃدÙĬØ«": 138383, + "Ġ×Ľ×¢×ª": 138384, + "ØŃاسب": 138385, + "lıģa": 138386, + "×§×Ļ×Ļ×ŀ×Ļ×Ŀ": 138387, + "оÑģÑĤÑĮÑİ": 138388, + "à¸Ŀั": 138389, + "à¸Ŀัà¹Īà¸ĩ": 138390, + "شغÙĦ": 138391, + "ìĽ¹": 138392, + "Ġкаждого": 138393, + "Ġbölümü": 138394, + "หà¸Ļี": 138395, + "ĠistediÄŁi": 138396, + "Ġtrưng": 138397, + "ãĥĮ": 138398, + "ฮà¸Ń": 138399, + "Ø£ÙĨØ´": 138400, + "Ø£ÙĨشطة": 138401, + "ĠاÙĦÙħسÙĬ": 138402, + "ĠاÙĦÙħسÙĬØŃ": 138403, + "ลัà¸ģษà¸ĵà¹Į": 138404, + "Ġná»Ńa": 138405, + "à¸Ĺีà¹Īà¸ķà¹īà¸Ńà¸ĩà¸ģาร": 138406, + "ÑĪек": 138407, + "лÑij": 138408, + "Ġש×Ļ×Ķ": 138409, + "Ġש×Ļ×Ķ×Ļ×Ķ": 138410, + "Ġkhuôn": 138411, + "ĠÑĤÑĢебованиÑı": 138412, + "Ġ×ľ×¢×ĸ×ķר": 138413, + "ĠاÙĦعÙħر": 138414, + "ราà¸Ħาà¸ĸูà¸ģ": 138415, + "ÙĩÙıÙħÙĴ": 138416, + "üst": 138417, + "üstü": 138418, + "Ġденег": 138419, + "Ġnạ": 138420, + "à¸Ĥà¸Ļม": 138421, + "Ġблаг": 138422, + "Ġблагод": 138423, + "ĠблагодаÑĢ": 138424, + "ĠблагодаÑĢÑı": 138425, + "إسÙĦاÙħ": 138426, + "à¸Ļิว": 138427, + "çŁ¥ãĤīãģªãģĦ": 138428, + "Ø«ÙĤØ©": 138429, + "ĠголоÑģ": 138430, + "×IJ×ķר×Ĺ": 138431, + "Ġtrứng": 138432, + "Ġодном": 138433, + "ĠkoÅĦcu": 138434, + "Ġ×ķרק": 138435, + "WiÄĻ": 138436, + "WiÄĻcej": 138437, + "Ġ×IJ×Ļ׼×ķת": 138438, + "Ġ×IJ×Ļ׼×ķת×Ļ": 138439, + "ÑģоÑģ": 138440, + "Ġjeżeli": 138441, + "以ä¸ĭãģ®": 138442, + "å°ıãģķ": 138443, + "å°ıãģķãģª": 138444, + "ологии": 138445, + "ĠобÑģлÑĥж": 138446, + "ĠобÑģлÑĥжива": 138447, + "Ùĥتابة": 138448, + "Ġê´Ģìĭ¬": 138449, + "עש×Ļר": 138450, + "Ġarasındaki": 138451, + "ĠÑĢайона": 138452, + "ÙĪØ§Ø¬Ø¨": 138453, + "Ġ×ij×Ĺ×Ļ×Ļ": 138454, + "íķ´ì£¼": 138455, + "Ġgóc": 138456, + "айл": 138457, + "ĠTình": 138458, + "æļ®ãĤī": 138459, + "æļ®ãĤīãģĹ": 138460, + "æĻĤãģ«ãģ¯": 138461, + "ĠгоÑĢоде": 138462, + "Ġ׼×IJ×Ļ׾": 138463, + "Ġ׼×IJ×Ļ׾×ķ": 138464, + "ĠCá»Ļng": 138465, + "ãģ©ãģĨãģĹãģ¦ãĤĤ": 138466, + "×Ĺ×ķ×£": 138467, + "تØŃرÙĥ": 138468, + "ĠÑģловам": 138469, + "à¸Īะà¸Ĭà¹Īวย": 138470, + "ĠاÙĦÙħستÙĤبÙĦ": 138471, + "ÙĤض": 138472, + "ÙĤضÙĬ": 138473, + "×ijס×ķפ": 138474, + "×ijס×ķפ×ķ": 138475, + "iÄĻÄĩ": 138476, + "ĠYıl": 138477, + "Ø´ÙĬØ®": 138478, + "à¸Ħุà¸ĵà¸Īะ": 138479, + "ש×ŀ×ķת": 138480, + "Ġتعرض": 138481, + "Ġanálise": 138482, + "ĠÑģобиÑĢа": 138483, + "à¹Ģà¸ŀà¸Ĭ": 138484, + "à¹Ģà¸ŀà¸Ĭร": 138485, + "Ġвели": 138486, + "Ġвелик": 138487, + "สัà¹īà¸Ļ": 138488, + "Ġpopulação": 138489, + "รà¹Īวมà¸ģัà¸Ļ": 138490, + "×Ĺ×ŀ": 138491, + "×Ĺ×ŀ×Ļש×Ļ": 138492, + "ס×Ļס": 138493, + "åĨħãģ§": 138494, + "ĠsobÄħ": 138495, + "ĠYay": 138496, + "ĠYayın": 138497, + "ãĥ¡ãĥĭãĥ¥ãĥ¼": 138498, + "ĠпÑĢедоÑģÑĤавлÑı": 138499, + "ãģłã썿ĢĿãģĨ": 138500, + "Ġê³łê°Ŀ": 138501, + "Ġодним": 138502, + "à¹ĥà¸Ļà¹Ģรืà¹Īà¸Ńà¸ĩ": 138503, + "Ġsá»ķ": 138504, + "ĠÐĹдеÑģÑĮ": 138505, + "ĠизменениÑı": 138506, + "ĠìĿ¼ìĿĦ": 138507, + "ãģªãģ®ãģł": 138508, + "кладÑĭва": 138509, + "ÑĢма": 138510, + "Ġ×ķ×ij׼׾": 138511, + "تأÙħÙĬÙĨ": 138512, + "ĠпÑĢиÑıÑĤ": 138513, + "ĠпÑĢиÑıÑĤн": 138514, + "ÙħÙħار": 138515, + "ÙħÙħارسة": 138516, + "ãģ¨ãģªãģ£ãģ¦": 138517, + "ĠجÙħÙĬÙĦ": 138518, + "Ġì§Ī": 138519, + "Ġì§Ī문": 138520, + "Ġquestão": 138521, + "ié": 138522, + "iéndo": 138523, + "หà¹īà¸Ńà¸ĩà¸ŀัà¸ģ": 138524, + "ãĥijãĥ¼ãĥĪ": 138525, + "ÑĤвеÑĢжда": 138526, + "нÑģкой": 138527, + "зал": 138528, + "มุà¹Īà¸ĩ": 138529, + "á»Ĭ": 138530, + "Ġ×Ķ×IJ×Ĺר×ķ׳×Ķ": 138531, + "ĠThư": 138532, + "주민": 138533, + "ĠاÙĦعب": 138534, + "évén": 138535, + "événement": 138536, + "ÙĤÙĪØ§Ø¹Ø¯": 138537, + "دÙı": 138538, + "ĠìķĬìĬµëĭĪëĭ¤": 138539, + "Ġ보기": 138540, + "Ġyapılması": 138541, + "à¹Ģราà¸ģ": 138542, + "à¹Ģราà¸ģà¹ĩ": 138543, + "ØŃذر": 138544, + "ÙĤصر": 138545, + "ãģ¦ãģĹãģ¾ãģĦãģ¾ãģĹãģŁ": 138546, + "Ġà¹Ģà¸Ľà¹ĩà¸Ļà¸ķà¹īà¸Ļ": 138547, + "ãģ¨ãģ«": 138548, + "ãģ¨ãģ«ãģĭ": 138549, + "ãģ¨ãģ«ãģĭãģı": 138550, + "нÑĨе": 138551, + "звÑĥк": 138552, + "ãģĹãĤĪãģĨãģ¨": 138553, + "ĠاÙĦصØŃÙĬØ©": 138554, + "Ġש×Ķ×Ļ×ķ": 138555, + "ĠDiÄŁer": 138556, + "ÙĤÙĦÙĤ": 138557, + "ãĤ¸ãĥ£ãĥ³": 138558, + "Ġrá»Ŀi": 138559, + "ĠлеÑĩ": 138560, + "ĠлеÑĩениÑı": 138561, + "تباد": 138562, + "تبادÙĦ": 138563, + "צפ×Ķ": 138564, + "à¸Ħวามà¹Ģหà¹ĩà¸Ļ": 138565, + "Ġشب": 138566, + "ĠشبÙĥØ©": 138567, + "ר×Ļ×§": 138568, + "Ùħعد": 138569, + "Ùħعدات": 138570, + "dıģında": 138571, + "Ġ×ijש׳×Ļ×Ŀ": 138572, + "Ġ×Ķ×Ļשר×IJ׾": 138573, + "Ġ×Ķ×Ļשר×IJ׾×Ļת": 138574, + "Ġsınav": 138575, + "׳צ×Ļ×Ĵ": 138576, + "วัà¸ķà¸ĸุ": 138577, + "ĠاÙĦبرÙĦÙħ": 138578, + "ĠاÙĦبرÙĦÙħاÙĨ": 138579, + "tivitÃł": 138580, + "ãĤĵãģłãĤįãģĨ": 138581, + "×§×Ļ×Ļ×ŀ": 138582, + "ÙĦÙĬÙĥ": 138583, + "ĠÄijò": 138584, + "ĠÄijòi": 138585, + "ĠÐĺнÑĤеÑĢ": 138586, + "ĠÐĺнÑĤеÑĢнеÑĤ": 138587, + "ãģ«ãģ¨ãģ£ãģ¦ãģ¯": 138588, + "ãģ£ãģĵ": 138589, + "×§×ķס": 138590, + "ستØŃÙĤ": 138591, + "æķĻãģĪãģ¦": 138592, + "ãĥĢãĥ¡": 138593, + "ĠÙħÙĨزÙĦ": 138594, + "à¹Ģà¸ĭà¹ĩà¸Ļ": 138595, + "使ãģĪãĤĭ": 138596, + "è¦ĭç©į": 138597, + "è¦ĭç©įãĤĤãĤĬ": 138598, + "Ø£Ùģ": 138599, + "Ø£ÙģÙĥار": 138600, + "ĠигÑĢов": 138601, + "ĠигÑĢовÑĭе": 138602, + "ĠmÄĻż": 138603, + "ĠmÄĻżczy": 138604, + "ĠmÄĻżczyzn": 138605, + "ĠاÙĦØŃÙĤÙĬÙĤÙĬ": 138606, + "عبر": 138607, + "׼×ķ׾׳×ķ": 138608, + "íĿ¥": 138609, + "×ŀ×IJ×ķ×Ĺר": 138610, + "ختص": 138611, + "ãĥŀãĥŀ": 138612, + "Ġ×IJ×Ĺ×ķ×ĸ": 138613, + "íĮĢ": 138614, + "Ġrá»iji": 138615, + "ĠвÑĤоÑĢ": 138616, + "ĠвÑĤоÑĢой": 138617, + "Ġlẫn": 138618, + "пÑĢом": 138619, + "пÑĢомÑĭÑĪ": 138620, + "пÑĢомÑĭÑĪлен": 138621, + "пÑĢомÑĭÑĪленн": 138622, + "ĠоÑĤноÑĪениÑı": 138623, + "Ġsứ": 138624, + "ĠмобилÑĮ": 138625, + "ĠмобилÑĮн": 138626, + "ĠÑįÑĤомÑĥ": 138627, + "Ġtạp": 138628, + "ĠìĤ¬ê±´": 138629, + "ĠìķĮ볤": 138630, + "ÙĥÙı": 138631, + "ÙĥÙıÙħÙĴ": 138632, + "Ġ×§×ķר×Ķ": 138633, + "ĠÑĦиÑĢ": 138634, + "ĠÑĦиÑĢм": 138635, + "Ġsıkıntı": 138636, + "׳׼": 138637, + "׳׼×ķף": 138638, + "ÙĪÙĦÙĪØ¬ÙĬ": 138639, + "ØŃاÙĨ": 138640, + "Ġloạn": 138641, + "Ġ×IJ×ľ×£": 138642, + "Ġmắn": 138643, + "abhäng": 138644, + "abhängig": 138645, + "ĠÑĥÑĢовнÑı": 138646, + "Ġ׾×ij×ĵ×ķ×§": 138647, + "ÙĬÙħÙĨ": 138648, + "layın": 138649, + "Ġhải": 138650, + "Ġзавод": 138651, + "ĠìķĦ주": 138652, + "สà¸ĸา": 138653, + "สà¸ĸาà¸ļัà¸Ļ": 138654, + "Ġgüvenlik": 138655, + "à¹Ģà¸Ķà¹Īà¸Ļ": 138656, + "×ij×ĵ×§": 138657, + "ĠëĪ": 138658, + "ĠëĪĦ": 138659, + "ĠëĪĦ구": 138660, + "éĩįè¦ģãģª": 138661, + "รà¸Ńà¸ĩรัà¸ļ": 138662, + "schlie": 138663, + "schlieÃŁen": 138664, + "Ġìĸ¼": 138665, + "Ġìĸ¼ë§Ī": 138666, + "Ġìĸ¼ë§ĪëĤĺ": 138667, + "ÑĤики": 138668, + "íķľëĭ¤ê³ł": 138669, + "ãģłãģ£ãģŁãĤī": 138670, + "Ġ×Ķ×Ļ×ĺ×ij": 138671, + "ãģªãģijãĤĮãģ°ãģªãĤīãģªãģĦ": 138672, + "âÌ": 138673, + "ậ": 138674, + "Ġphạt": 138675, + "akÄ±ÅŁ": 138676, + "ãģ¦ãģĹãģ¾ãģĦãģ¾ãģĻ": 138677, + "à¹Ģà¸ĭà¹ĩ": 138678, + "ĠСегоднÑı": 138679, + "Ġinsanların": 138680, + "Ġdéveloppe": 138681, + "תפר": 138682, + "תפר×Ļ×ĺ": 138683, + "اÙĨتشار": 138684, + "ê°ij": 138685, + "François": 138686, + "Ø£ÙĦع": 138687, + "Ø£ÙĦعاب": 138688, + "ãĤĴè¶ħ": 138689, + "ãĤĴè¶ħãģĪ": 138690, + "Ġê°ĻìĬµëĭĪëĭ¤": 138691, + "ãĤ³ãĥ¬": 138692, + "ĠмеÑģÑıÑĨев": 138693, + "íĮħ": 138694, + "ĠاÙĦجاÙħعة": 138695, + "ìĿ¸íĦ°": 138696, + "ìĿ¸íĦ°ëĦ·": 138697, + "×ĵר×ķש": 138698, + "ĠÙĪØ£Ø´Ø§Ø±": 138699, + "ĠпÑĢавила": 138700, + "ãģĿãģĵãģ«": 138701, + "×Ĺ×ŀ×ĵ": 138702, + "à¹Ģหà¸ķุà¸ģารà¸ĵà¹Į": 138703, + "Ġê²½íĹĺ": 138704, + "ãģ¶ãĤĬ": 138705, + "׾ש": 138706, + "׾ש×ķף": 138707, + "à¹Ģà¸ĸ": 138708, + "ĠDoÄŁu": 138709, + "ĠиÑģполÑĮзование": 138710, + "ĠçocuÄŁu": 138711, + "магазине": 138712, + "ĠÄijiá»ĥn": 138713, + "Ġaslı": 138714, + "Ġaslında": 138715, + "Ġdoença": 138716, + "Ġساع": 138717, + "Ġساعات": 138718, + "ĠиÑģполÑĮзованиÑı": 138719, + "ר×ķצ×Ļ×Ŀ": 138720, + "ĠзнаÑĩиÑĤ": 138721, + "ĠÑĢам": 138722, + "ĠÑĢамкаÑħ": 138723, + "거리": 138724, + "ĠпÑĭÑĤа": 138725, + "ãĥģãĥ³": 138726, + "ĠпоÑģк": 138727, + "ĠпоÑģколÑĮ": 138728, + "ĠпоÑģколÑĮкÑĥ": 138729, + "إبر": 138730, + "إبراÙĩ": 138731, + "إبراÙĩÙĬÙħ": 138732, + "ĠÑĤÑĢеÑħ": 138733, + "ĠGenç": 138734, + "سÙĪÙģ": 138735, + "ĠveÃŃculo": 138736, + "ĠNgân": 138737, + "ĠоÑĩеÑĢедÑĮ": 138738, + "à¸Ħรึà¹Īà¸ĩ": 138739, + "×IJ×ij×Ļ": 138740, + "à¸ķà¹īม": 138741, + "ãĤĴè¡ĮãģĦ": 138742, + "ĠاÙĦسابÙĤØ©": 138743, + "наÑĨи": 138744, + "наÑĨиона": 138745, + "наÑĨионалÑĮн": 138746, + "Ġgestión": 138747, + "تÙĤد": 138748, + "ĠاÙĦبÙĬاÙĨ": 138749, + "ĠاÙĦبÙĬاÙĨات": 138750, + "ĠاÙĦاÙĨتخاب": 138751, + "ĠاÙĦاÙĨتخابات": 138752, + "à¹Ģà¸Ĭà¹Īา": 138753, + "×ĵ×IJ×Ĵ": 138754, + "Ġ׾×Ĵ×ŀר×Ļ": 138755, + "ĠتØŃتاج": 138756, + "Ġthôn": 138757, + "à¸ķà¹īà¸Ńà¸Ļ": 138758, + "à¸ķà¹īà¸Ńà¸Ļรัà¸ļ": 138759, + "女ãģ®": 138760, + "女ãģ®åŃIJ": 138761, + "Ġthợ": 138762, + "Ø·ØŃÙĨ": 138763, + "ารà¹Įà¸Ķ": 138764, + "ת×ŀ×Ļ×ĵ": 138765, + "ĠÑģамÑĭм": 138766, + "Ġìĭľíĸī": 138767, + "إصد": 138768, + "إصدار": 138769, + "ĠNghá»ĩ": 138770, + "ìķķ": 138771, + "سئ": 138772, + "سئÙĦ": 138773, + "à¸Ńาร": 138774, + "à¸Ńารม": 138775, + "à¸Ńารมà¸ĵà¹Į": 138776, + "à¹ģฮ": 138777, + "׳×ĺ׾": 138778, + "Ġì¢ĭìķĦ": 138779, + "×ķ׾׾": 138780, + "Ġ×ij×Ľ×ª×ij": 138781, + "ãĤ«ãĥ©": 138782, + "צע×Ļר×Ļ×Ŀ": 138783, + "تعبÙĬر": 138784, + "Ġ×ŀקר×Ķ": 138785, + "ĠÑĦакÑĤоÑĢ": 138786, + "ĠتÙħاÙħ": 138787, + "ĠتÙħاÙħا": 138788, + "ëįķ": 138789, + "Ġvưá»Ŀ": 138790, + "Ġvưá»Ŀn": 138791, + "ĠdÄ±ÅŁÄ±": 138792, + "ãģĦãģ¡": 138793, + "Ġ׾ק׳×ķת": 138794, + "ĠاÙĦعÙĦاÙĤات": 138795, + "пÑĥб": 138796, + "пÑĥбли": 138797, + "Ø¥ÙĬÙħ": 138798, + "Ø¥ÙĬÙħاÙĨ": 138799, + "à¸Ńำà¸Ļา": 138800, + "à¸Ńำà¸Ļาà¸Ī": 138801, + "åIJ«ãģ¾ãĤĮ": 138802, + "ãĤĭãģŁãĤģãģ«": 138803, + "ס×Ĵ": 138804, + "ס×Ĵ׳×ķף": 138805, + "تØŃدÙĬ": 138806, + "Ġauprès": 138807, + "ĠاÙĦجÙĩا": 138808, + "ĠاÙĦجÙĩاز": 138809, + "Ġ×ŀת×Ĺת": 138810, + "еннÑĥÑİ": 138811, + "Ġзим": 138812, + "à¸ģาà¹ģà¸Ł": 138813, + "Ġ×ijת×ķר": 138814, + "Ġnghè": 138815, + "Ġnghèo": 138816, + "ĠÐĽÑİ": 138817, + "ĠÐĽÑİб": 138818, + "תקצ×Ļ×ij": 138819, + "×ŀעש×Ķ": 138820, + "ĠاÙĦبÙĬت": 138821, + "צ×Ļפ": 138822, + "ĠобÑıзан": 138823, + "ĠMá»Ĺi": 138824, + "ĠТÑĥÑĢ": 138825, + "ĠÙĪØ¨Ø§ÙĦت": 138826, + "ĠÙĪØ¨Ø§ÙĦتاÙĦÙĬ": 138827, + "Ġdécision": 138828, + "Ġبد": 138829, + "Ġبدأت": 138830, + "Ġcục": 138831, + "Ġbask": 138832, + "Ġbaskı": 138833, + "Ġhatırl": 138834, + "Ġhatırla": 138835, + "å°ıãģķãģĦ": 138836, + "Ġgerçekten": 138837, + "à¸ľà¸±à¸ģ": 138838, + "åı¯èĥ½ãģª": 138839, + "×ŀ×IJס": 138840, + "ĠcrÃŃtica": 138841, + "ĠìĿĺìĽIJ": 138842, + "عÙĤÙĪØ¯": 138843, + "×ĺ׼׳": 138844, + "×ĺ׼׳×ķ׾×ķ×Ĵ×Ļ×Ķ": 138845, + "è¨ĢãģĪãģ°": 138846, + "ĠÙĤÙĨا": 138847, + "ĠÙĤÙĨاة": 138848, + "ĠìĿ´ê²ĥìĿĢ": 138849, + "تصر": 138850, + "à¸Łà¸±à¸Ļ": 138851, + "ĠÑĢеÑĨеп": 138852, + "ĠÑĢеÑĨепÑĤ": 138853, + "ĠبÙĨÙ쨳": 138854, + "ÑĢоÑĪ": 138855, + "ĠмаÑĢÑĤа": 138856, + "Ġsonras": 138857, + "Ġsonrası": 138858, + "×ķ×ijש": 138859, + "ãĥªãĤ¹ãĤ¯": 138860, + "ĠFrançais": 138861, + "á»ļ": 138862, + "ê°Ķ": 138863, + "Ġ×Ķ×ijר×Ļת": 138864, + "פ×Ļצ": 138865, + "פ×Ļצ×ķ×Ļ": 138866, + "ĠÙĦÙħاذا": 138867, + "ĠÐļиев": 138868, + "ĠÑģмÑĭÑģл": 138869, + "ê¸Īìľµ": 138870, + "ãĤ·ãĥ£ãĥ«": 138871, + "ãĥ©ãĤ¤ãĥĪ": 138872, + "ìĽĥ": 138873, + "×ŀ×Ĺר": 138874, + "ãĨį": 138875, + "Ġkullanım": 138876, + "Ġ×IJצ׾׳×ķ": 138877, + "ĠtÃłn": 138878, + "ãĥıãĥ¼": 138879, + "ãģ¨ãģ¨ãĤĤ": 138880, + "ãģ¨ãģ¨ãĤĤãģ«": 138881, + "ÑĢег": 138882, + "ÑĢеги": 138883, + "ÑĢегион": 138884, + "ãģªãģıãģªãĤĭ": 138885, + "Ġchảy": 138886, + "ĠجÙĩØ©": 138887, + "ÅĦskiej": 138888, + "à¸Ńีà¹Ģม": 138889, + "à¸Ńีà¹Ģมล": 138890, + "ãģįãģ£ãģ¨": 138891, + "ĠìĺĪìĤ°": 138892, + "Ġkitabı": 138893, + "Ġeducação": 138894, + "ĠbuluÅŁ": 138895, + "ологиÑı": 138896, + "ĠконкÑĢ": 138897, + "ĠконкÑĢеÑĤ": 138898, + "×Ĵ×Ļר": 138899, + "ĠпÑĢедлаг": 138900, + "ĠпÑĢедлагаеÑĤ": 138901, + "ĠYên": 138902, + "Ġíķľë²Ī": 138903, + "Ġ×ŀר׼×ĸ×Ļ": 138904, + "à¹Ģà¸Ľà¸´à¸Ķà¹Ģà¸ľà¸¢": 138905, + "ÑĤвеÑĢд": 138906, + "ĠHá»ĩ": 138907, + "ĠÐĵÑĢ": 138908, + "à¸Ŀà¹īา": 138909, + "×Ķשק": 138910, + "×Ķשקע×Ķ": 138911, + "ĠнаÑĥк": 138912, + "ìłIJìĿĦ": 138913, + "ĠнелÑĮ": 138914, + "ĠнелÑĮз": 138915, + "ĠнелÑĮзÑı": 138916, + "гин": 138917, + "ĠBöl": 138918, + "ĠBölge": 138919, + "Ġвла": 138920, + "ĠвлаÑģÑĤи": 138921, + "à¹Ģà¸Ļà¹ĩ": 138922, + "à¹Ģà¸Ļà¹ĩà¸ķ": 138923, + "골": 138924, + "Ġöld": 138925, + "Ġöldür": 138926, + "×Ľ×ł×¢": 138927, + "ĠاÙĦÙĩÙĬئة": 138928, + "تارÙĬØ®": 138929, + "ĠÐijÑĢ": 138930, + "ĠÑģмож": 138931, + "ĠÑģможеÑĤе": 138932, + "ĠLúc": 138933, + "à¹Ħà¸Ľà¸ĸึà¸ĩ": 138934, + "ĠBakanı": 138935, + "Ġerklärt": 138936, + "ĠÐIJна": 138937, + "Ġscène": 138938, + "åķıãģĦ": 138939, + "åķıãģĦåIJĪãĤıãģĽ": 138940, + "ÙħÙĩÙĨد": 138941, + "ÙħÙĩÙĨدس": 138942, + "Ġназвание": 138943, + "иваниÑı": 138944, + "ãĤĴå¤īãģĪ": 138945, + "ä»ĺãģįåIJĪ": 138946, + "ãĥijãĤ½": 138947, + "ãĥijãĤ½ãĤ³ãĥ³": 138948, + "æĺİãĤī": 138949, + "æĺİãĤīãģĭ": 138950, + "à¹Ģà¸Ńà¸ģสาร": 138951, + "à¹Ģà¸ģิà¸Ļà¹Ħà¸Ľ": 138952, + "леп": 138953, + "ãģĹãģŁãĤĤãģ®": 138954, + "ĠCâm": 138955, + "ĠCâmara": 138956, + "×§×ķ׾׳×ķ×¢": 138957, + "Ġ×ij×Ĵ×Ļף": 138958, + "Ġoczy": 138959, + "ĠoczywiÅĽcie": 138960, + "attivitÃł": 138961, + "ãĥĵãĥ¥ãĥ¼": 138962, + "Ġeducación": 138963, + "İYE": 138964, + "ê¹ĮìļĶ": 138965, + "ãĤ¨ãĥªãĤ¢": 138966, + "неÑģÑĤи": 138967, + "Ġmóg": 138968, + "ĠmógÅĤ": 138969, + "Ġ×§×ĺ׳×Ļ×Ŀ": 138970, + "ĠPrä": 138971, + "Ġ×ľ×¢×ij×ķר": 138972, + "بÙĨÙī": 138973, + "зол": 138974, + "золоÑĤ": 138975, + "ĠwnÄĻtr": 138976, + "ĠwnÄĻtrz": 138977, + "Ġconstrução": 138978, + "รัà¸ļรà¸Ńà¸ĩ": 138979, + "سجÙĨ": 138980, + "Ġ×§×ķ׳": 138981, + "ס×Ļפ×ķר": 138982, + "ĠÙħدÙī": 138983, + "رضÙī": 138984, + "плав": 138985, + "ï¼¥": 138986, + "Ġila": 138987, + "Ġilaç": 138988, + "ãĤĭãģ¹ãģį": 138989, + "ĠÙħÙĪÙĤÙģ": 138990, + "à¸ģรุ": 138991, + "à¸ģรุà¸ĵา": 138992, + "chodzÄħc": 138993, + "ĠÑĤÑĭÑģ": 138994, + "ÐķвÑĢо": 138995, + "ĠÙĬØŃدث": 138996, + "ãĥ¡ãĤ¤ãĥ³": 138997, + "ĠاÙĦصØŃÙĬ": 138998, + "ĠÐĶан": 138999, + "دعاء": 139000, + "ãĤ´ãĥ¼ãĥ«": 139001, + "×©×ł×ª×Ļ": 139002, + "×©×ł×ª×Ļ×Ļ×Ŀ": 139003, + "à¸Ķà¹īวยà¸ģัà¸Ļ": 139004, + "Ġolacaģı": 139005, + "Ġ×ij×ŀ×Ĺ×Ļר": 139006, + "×Ķ×§": 139007, + "×Ķ×§×ŀת": 139008, + "ãĥ¢ãĥİ": 139009, + "ĠçalÄ±ÅŁtı": 139010, + "Ġjóvenes": 139011, + "ãģĦãģıãĤī": 139012, + "ĠÙħعدÙĦ": 139013, + "ĠCÅ©ng": 139014, + "ĠSegún": 139015, + "Ġdönemde": 139016, + "Ġ׾×Ļ×ĵ×Ļ": 139017, + "ãģįãģ¡": 139018, + "ãģįãģ¡ãĤĵ": 139019, + "ãģįãģ¡ãĤĵãģ¨": 139020, + "Ù쨱ÙĨس": 139021, + "Ù쨱ÙĨسا": 139022, + "åIJijãģį": 139023, + "Ġcampaña": 139024, + "ĠÑģамоÑģÑĤоÑı": 139025, + "ĠÑģамоÑģÑĤоÑıÑĤелÑĮно": 139026, + "á»Ģ": 139027, + "ÙĤÙĪØ§": 139028, + "سÙĦاØŃ": 139029, + "à¸ģระà¹ģ": 139030, + "à¸ģระà¹ģส": 139031, + "ĠполÑĮзÑĥ": 139032, + "nqu": 139033, + "nquête": 139034, + "รà¹Īวมà¸ģัà¸ļ": 139035, + "ëĬIJëĥIJ": 139036, + "à¸Ĺีมà¸Ĭาà¸ķิ": 139037, + "Ġyıllık": 139038, + "ìĬ¬": 139039, + "ĠأصØŃاب": 139040, + "illé": 139041, + "Ġdóla": 139042, + "Ġdólares": 139043, + "Ġкож": 139044, + "Ġкожи": 139045, + "ลà¹īà¸Ń": 139046, + "à¹Ģรียà¸ļร": 139047, + "à¹Ģรียà¸ļรà¹īà¸Ńย": 139048, + "à¹Ģà¸ŀิ": 139049, + "à¹Ģà¸ŀิà¹Īà¸ĩ": 139050, + "ÑĢиÑĤоÑĢи": 139051, + "Ġíijľ": 139052, + "ĠíijľíĺĦ": 139053, + "ĠпеÑĢев": 139054, + "ĠпеÑĢевод": 139055, + "פ×Ĵ×Ļ×¢×Ķ": 139056, + "ĠdeÄŁerlendirme": 139057, + "ÙģØ§Ø¦": 139058, + "ĠвÑĭгод": 139059, + "ınızı": 139060, + "×ķ׼×Ļ×Ĺ": 139061, + "ĠдоÑģÑĤиг": 139062, + "ĠngÃłn": 139063, + "æĢĿãģ£ãģŁ": 139064, + "ĠÐķÑģÑĤÑĮ": 139065, + "ĠاÙĦرغÙħ": 139066, + "ĠzwiÄħzane": 139067, + "ربط": 139068, + "à¸Ļึà¸ĩ": 139069, + "Ġ׾×Ĺ×ķ×§": 139070, + "Ġszczególn": 139071, + "Ġszczególnie": 139072, + "ĠباستخداÙħ": 139073, + "ĠfÃŃsico": 139074, + "עס": 139075, + "עס×ķ×§": 139076, + "سÙĦÙĪÙĥ": 139077, + "ĠاØŃد": 139078, + "ÑĩÑijÑĤ": 139079, + "×ĸ׼×Ķ": 139080, + "Ġlá»ĩnh": 139081, + "ĠÙĪØŃØª": 139082, + "ĠÙĪØŃØªÙī": 139083, + "à¸Ħวามสามารà¸ĸ": 139084, + "à¸Ńยูà¹Īà¹ģลà¹īว": 139085, + "à¸ģารà¹Ģà¸Ķิà¸Ļà¸Ĺาà¸ĩ": 139086, + "تخذ": 139087, + "צ×Ļ×ķ×ĵ": 139088, + "ĠاÙĦأس": 139089, + "ĠاÙĦأسÙĩÙħ": 139090, + "Ġtá»ĩ": 139091, + "ãģ£ãģ¦ãģĦãģ¦": 139092, + "สรุ": 139093, + "à¸ªà¸£à¸¸à¸Ľ": 139094, + "ĠкомÑĦ": 139095, + "ĠкомÑĦоÑĢÑĤ": 139096, + "ìĺ¤ëĬĶ": 139097, + "ĠÑĢазв": 139098, + "ĠÑĢазвива": 139099, + "ланд": 139100, + "hänge": 139101, + "ĠبÙĨسبة": 139102, + "à¹Ģà¸Ĥียว": 139103, + "עצ×Ŀ": 139104, + "Ġ×ľ×ľ×Ľ×ª": 139105, + "ÑģоÑĨиалÑĮн": 139106, + "Ġëĭ¤ìĿĮê³¼": 139107, + "Ġרש×ķ×ŀ": 139108, + "×ŀר×Ĺ×ij": 139109, + "سÙĤØ·": 139110, + "Ġalanı": 139111, + "ĠÄijá»ĩ": 139112, + "é£Łãģ¹ãĤĭ": 139113, + "à¸Ķึà¸ĩ": 139114, + "Ġgegenüber": 139115, + "ĠبÙĩذÙĩ": 139116, + "à¸ĸืà¸Ńà¹Ģà¸Ľà¹ĩà¸Ļ": 139117, + "ëķħ": 139118, + "à¸Ħà¸Ļà¹Ħà¸Ĺย": 139119, + "ãĤ¢ãĤ¦": 139120, + "ãĤ¢ãĤ¦ãĥĪ": 139121, + "ศัà¸ģ": 139122, + "ศัà¸ģà¸Ķิ": 139123, + "ศัà¸ģà¸Ķิà¹Į": 139124, + "ÙĤÙĪØ§ÙĨ": 139125, + "ÙĤÙĪØ§ÙĨÙĬÙĨ": 139126, + "Ġhá»Ļp": 139127, + "ãģªãģıãģªãģ£ãģ¦": 139128, + "Ġ×IJ×ŀ׳": 139129, + "Ġ×IJ×ŀ׳×Ŀ": 139130, + "à¹Ģà¸ķืà¸Ńà¸Ļ": 139131, + "ĠзавиÑģим": 139132, + "ĠзавиÑģимоÑģÑĤи": 139133, + "ת×Ļ×IJ": 139134, + "ת×Ļ×IJ×ķר": 139135, + "å§ĭãĤģãģŁ": 139136, + "Ġngá»į": 139137, + "Ġngá»įt": 139138, + "íĴį": 139139, + "ê³¼ìŀ¥": 139140, + "Ġbại": 139141, + "ãģ§ãģįãģ¦": 139142, + "Ġcomeçar": 139143, + "à¸Ľà¸£à¸²à¸ģ": 139144, + "à¸Ľà¸£à¸²à¸ģà¸ı": 139145, + "ĠгодÑĭ": 139146, + "меÑģ": 139147, + "ĠاÙĦÙħستÙĪÙī": 139148, + "ĠÑģамÑĭе": 139149, + "ллеÑĢ": 139150, + "ãģ£ãģ¦ãģĹãģ¾ãģĦãģ¾ãģĻ": 139151, + "ãģ¨ãģ®ãģĵãģ¨": 139152, + "bió": 139153, + "à¸ģลà¹Īà¸Ńà¸ĩ": 139154, + "ĠاÙĦزÙĪØ¬": 139155, + "ãģ«è¡Įãģ£ãģŁ": 139156, + "à¸Ħà¹Īà¸Ńà¸Ļ": 139157, + "à¸Ħà¹Īà¸Ńà¸Ļà¸Ĥà¹īาà¸ĩ": 139158, + "ĠbaÄŁl": 139159, + "ĠbaÄŁlant": 139160, + "ĠbaÄŁlantı": 139161, + "確ãģĭ": 139162, + "確ãģĭãģ«": 139163, + "ãĥľãĥ¼ãĥ«": 139164, + "çµĤãĤıãĤĬ": 139165, + "ש×ŀר": 139166, + "à¸Ĺีà¹Īสามารà¸ĸ": 139167, + "ÙĦزÙħ": 139168, + "даеÑĤÑģÑı": 139169, + "รัà¸ļà¸Ľà¸£à¸°": 139170, + "รัà¸ļà¸Ľà¸£à¸°à¸Ĺาà¸Ļ": 139171, + "å¤īãĤıãĤĬ": 139172, + "ï¼¢": 139173, + "ĠìĺĪìĪĺëĭĺ": 139174, + "ãĤĪãģĨãģ¨": 139175, + "มัà¸ģà¸Īะ": 139176, + "ĠHương": 139177, + "ÙĨÙ쨰": 139178, + "×ŀ×ĵ×ĵ": 139179, + "ĠìĿ¸ìłķ": 139180, + "ÑħодиÑĤÑĮ": 139181, + "ĠзавиÑģиÑĤ": 139182, + "×ķ×ĵ×Ļ×¢": 139183, + "ãģĵãģ¨ãģĮãģĤãĤĬãģ¾ãģĻ": 139184, + "عراÙĤ": 139185, + "سطØŃ": 139186, + "à¸ģำà¹Ħร": 139187, + "ëĵ¤ëıĦ": 139188, + "×Ļצ×Ļר×Ķ": 139189, + "ãģĨãģĵãģ¨": 139190, + "ÙĦاØŃÙĤ": 139191, + "ãģĦãĤĮãģ°": 139192, + "ĠиÑģполÑĮзÑĥÑİÑĤ": 139193, + "ĠBợi": 139194, + "Ġשק׾×Ļ×Ŀ": 139195, + "ÑĨикл": 139196, + "ÐIJÐŀ": 139197, + "Ġ×ijש׳×Ķ": 139198, + "ÙĨشط": 139199, + "Ġש×Ļ׳×ķ×Ļ": 139200, + "Ġש×Ļ׳×ķ×Ļ×Ļ×Ŀ": 139201, + "Ġpoblación": 139202, + "ĠHưng": 139203, + "ระว": 139204, + "ระวัà¸ĩ": 139205, + "رÙĬاضة": 139206, + "رصد": 139207, + "تÙĤÙĦÙĬ": 139208, + "تÙĤÙĦÙĬد": 139209, + "Ġülkem": 139210, + "Ġülkemiz": 139211, + "à¸Ĭะ": 139212, + "ãĤ¯ãĥªãĥ¼ãĥł": 139213, + "èģŀãģĦãģŁ": 139214, + "Ġważ": 139215, + "Ġważne": 139216, + "ê±°ëĵł": 139217, + "ê±°ëĵłìļĶ": 139218, + "×ŀ×IJ×ij×§": 139219, + "×Ĺ×ĵש×ķת": 139220, + "ĠWroc": 139221, + "ĠWrocÅĤaw": 139222, + "ĠKültür": 139223, + "sist": 139224, + "sistência": 139225, + "×¢×ĸר×Ķ": 139226, + "Ġgương": 139227, + "รà¹īาà¸Ļà¸Ħà¹īา": 139228, + "ĠÙĪØ£ÙĪØ¶ØŃ": 139229, + "ándose": 139230, + "ãĤ·ãĥ¼ãĥ³": 139231, + "×IJ׳ר×Ĵ": 139232, + "×IJ׳ר×Ĵ×Ļ×Ķ": 139233, + "ãģªãģĦãģ§ãģĻ": 139234, + "Ġkhá»§ng": 139235, + "Ġ문ìĦľ": 139236, + "Ġ×ij×ĵ×ijר": 139237, + "×ĵ×Ļ×ķ": 139238, + "×ĵ×Ļ×ķ×ķ×Ĺ": 139239, + "Ġrégl": 139240, + "ÙħÙĪØ§Ø¯": 139241, + "обоÑĢ": 139242, + "обоÑĢоÑĤ": 139243, + "Ġ×Ķ×ij׾": 139244, + "Ġ×Ķ×ij׾×ķ×Ĵ": 139245, + "ØŃاÙħ": 139246, + "ĠاÙĦعاص": 139247, + "ĠاÙĦعاصÙħØ©": 139248, + "пеÑĢаÑĤоÑĢ": 139249, + "تخÙĦ": 139250, + "تخÙĦص": 139251, + "ãģŁãģłãģĹ": 139252, + "تسÙħ": 139253, + "à¹Ĥรà¸ĩà¸ŀ": 139254, + "à¹Ĥรà¸ĩà¸ŀยา": 139255, + "à¹Ĥรà¸ĩà¸ŀยาà¸ļาล": 139256, + "ĠYük": 139257, + "ĠYüksek": 139258, + "Ġש׳×Ļת": 139259, + "Ġש׳×Ļ×ª×Ł": 139260, + "liÄŁe": 139261, + "Ġפת": 139262, + "Ġפת×ķ×Ĺ": 139263, + "ĠbeÄŁ": 139264, + "ĠbeÄŁen": 139265, + "Ġ×ŀ×ķר": 139266, + "Ġ×ŀ×ķר׼×ij": 139267, + "ĠرساÙĦØ©": 139268, + "íĨµìĭł": 139269, + "Ġavalia": 139270, + "Ġavaliações": 139271, + "Ġmanh": 139272, + "Ġmanhã": 139273, + "Ġìķŀ": 139274, + "Ġìķŀìľ¼ë¡ľ": 139275, + "ÙĤتر": 139276, + "ÙĤترØŃ": 139277, + "à¹Ģà¸ģืà¸Ń": 139278, + "à¹Ģà¸ģืà¸Ńà¸ļ": 139279, + "Ġproposé": 139280, + "Ø£Ùħا": 139281, + "Ø£ÙħاÙĥÙĨ": 139282, + "ĠÐŀÐŀ": 139283, + "ĠÐŀÐŀÐŀ": 139284, + "ÙħÙĤار": 139285, + "ÙħÙĤارÙĨØ©": 139286, + "ëĦIJ": 139287, + "ãģĦãģŁãģłãģı": 139288, + "ÙĤÙĬÙĦ": 139289, + "ĠнаÑĪиÑħ": 139290, + "ãĤ«ãĥĥãĥĹ": 139291, + "×Ĺ×ľ×ª": 139292, + "Ġëĭ¤ë§Į": 139293, + "à¸Ĺัà¹Īวà¹Ĥลà¸ģ": 139294, + "ãĥįãĤ¿": 139295, + "ØŃساس": 139296, + "ãģ«ãģªãĤĮ": 139297, + "جائ": 139298, + "جائزة": 139299, + "échange": 139300, + "économ": 139301, + "économie": 139302, + "ТÐĺ": 139303, + "×¡×ª×Ľ×ľ": 139304, + "à¸Ĺัà¹īà¸ĩสà¸Ńà¸ĩ": 139305, + "ĠاÙĦخاÙħ": 139306, + "ĠاÙĦخاÙħس": 139307, + "×§×ĺ×¢": 139308, + "auważ": 139309, + "à¸ľà¸¹à¹īà¸Ĭาย": 139310, + "à¹ģà¸Ľà¸¥à¸ģ": 139311, + "åIJĮæĻĤãģ«": 139312, + "знаниÑı": 139313, + "ãģĦãģŁãģłãģįãģ¾ãģĹãģŁ": 139314, + "Ġ×ŀ×ij׾×Ļ": 139315, + "à¸Ĥà¸Ńà¹ĥหà¹ī": 139316, + "ĠاÙĦتربÙĬØ©": 139317, + "Ġdécouvert": 139318, + "Ġżyciu": 139319, + "après": 139320, + "Ġyab": 139321, + "Ġyabanc": 139322, + "Ġyabancı": 139323, + "ĠbaÅŁlayan": 139324, + "ìĹĪëįĺ": 139325, + "Ġhesabı": 139326, + "Ġë§Įìķ½": 139327, + "ë§Īëĭ¤": 139328, + "ĠThánh": 139329, + "ãĥ´ãĤ¡": 139330, + "à¸Ľà¸£à¸±à¸ļà¸Ľà¸£": 139331, + "à¸Ľà¸£à¸±à¸ļà¸Ľà¸£à¸¸à¸ĩ": 139332, + "ĠMặc": 139333, + "à¹Ģหà¸ķà¸¸à¸ľà¸¥": 139334, + "ĠÐijез": 139335, + "ĠcapacitÃł": 139336, + "ÅĤeÅĽ": 139337, + "ĠпÑĢеим": 139338, + "ĠпÑĢеимÑĥÑīеÑģÑĤв": 139339, + "ĠÅļwiÄĻt": 139340, + "Ġpublié": 139341, + "×ŀעצ×ij": 139342, + "ÙħشارÙĥات": 139343, + "à¸łà¸²à¸©": 139344, + "à¸łà¸²à¸©à¸µ": 139345, + "Ġdeuxième": 139346, + "ĠÙħØŃاÙ쨏": 139347, + "ĠÙħØŃاÙģØ¸Ø©": 139348, + "ĠSchön": 139349, + "、": 139350, + "Ġ×Ķ×ij×¢": 139351, + "Ġ×Ķ×ij×¢×Ļ×Ķ": 139352, + "ĠÙĪØ§ÙĦÙĦÙĩ": 139353, + "è¨Ģãģ£ãģŁ": 139354, + "à¸ķà¹īาà¸Ļ": 139355, + "วรรà¸ĵ": 139356, + "à¸Ĺิศ": 139357, + "ĠbaÅŁÄ±na": 139358, + "ĠmogÄĻ": 139359, + "ש×Ļפ×ķר": 139360, + "ĠÙĪØ¹Ø¯": 139361, + "ĠÙĪØ¹Ø¯Ùħ": 139362, + "Ġhistórico": 139363, + "Ġkısı": 139364, + "ĠìĿ´ê²Į": 139365, + "ĠPolÃŃtica": 139366, + "ĠÑģиÑĤÑĥаÑĨии": 139367, + "ĠkoÅĦca": 139368, + "×ij×ĵ×Ļ×§×Ķ": 139369, + "ĠاÙĦسÙĬارات": 139370, + "ãģªãĤīãģ°": 139371, + "ãĤµãĥ©": 139372, + "ãĤĭãģĵãģ¨ãģĮãģ§ãģįãĤĭ": 139373, + "Ġdecisão": 139374, + "×ķ×ķ×ĵ": 139375, + "läss": 139376, + "lässig": 139377, + "Ġ׾×Ļשר×IJ׾": 139378, + "ĠÙĬأتÙĬ": 139379, + "ר×ķ×ĸ": 139380, + "Ã¶ÄŁ": 139381, + "Ã¶ÄŁret": 139382, + "Ã¶ÄŁretim": 139383, + "Ġдек": 139384, + "Ġдекаб": 139385, + "ĠдекабÑĢÑı": 139386, + "Ġש×Ĺ×ķר": 139387, + "ãģ¦ãģıãĤĮãģŁ": 139388, + "عبارة": 139389, + "Ġélectrique": 139390, + "ĠاÙĦتÙĨÙħÙĬØ©": 139391, + "جرÙī": 139392, + "ĠìĪĺíĸī": 139393, + "à¸Ĺู": 139394, + "ĠÑĢеалÑĮно": 139395, + "ÑģпоÑģоб": 139396, + "à¸Ħลà¹īาย": 139397, + "ĠسعÙĪØ¯": 139398, + "önü": 139399, + "ĠÙģÙħÙĨ": 139400, + "تÙĥÙĪ": 139401, + "تÙĥÙĪÙĬÙĨ": 139402, + "ĠкаÑĩеÑģÑĤво": 139403, + "ĠконÑĤак": 139404, + "ĠконÑĤакÑĤ": 139405, + "ĠsözleÅŁme": 139406, + "à¸Ńà¹īาà¸ĩ": 139407, + "ĠتÙĪÙģ": 139408, + "ĠتÙĪÙģÙĬر": 139409, + "×Ķ×ĸ×ĵ": 139410, + "×Ķ×ĸ×ĵ×ŀ׳×ķת": 139411, + "ĠØ·ÙĪÙĬÙĦØ©": 139412, + "Ġtérmino": 139413, + "Ġ×IJ×Ļפ×Ķ": 139414, + "ãĥĵãĥ«": 139415, + "สà¹Ĥม": 139416, + "สà¹Ĥมสร": 139417, + "ĠاÙĦاث": 139418, + "ĠاÙĦاثÙĨÙĬÙĨ": 139419, + "евиÑĩ": 139420, + "Ġopinión": 139421, + "à¸Ľà¸§à¸Ķ": 139422, + "åı¤ãģĦ": 139423, + "รà¹Īา": 139424, + "ĠBiaÅĤ": 139425, + "ĠÑģÑĤал": 139426, + "ĠÑģÑĤало": 139427, + "ólogo": 139428, + "ĠìķĦëĭĪëĭ¤": 139429, + "Ġ×IJ×Ļת": 139430, + "Ġ×IJ×Ļת×ķ": 139431, + "à¹Ģหà¹ĩà¸Ļวà¹Īา": 139432, + "à¸ļารà¹Į": 139433, + "çĦ¼": 139434, + "çĦ¼ãģį": 139435, + "ĠìĿ´ìļ©ìŀIJ": 139436, + "ĠнекоÑĤоÑĢÑĭе": 139437, + "ksz": 139438, + "ksztaÅĤ": 139439, + "ksztaÅĤc": 139440, + "ãĤŃãĥ£ãĥĥãĤ·": 139441, + "ãĤŃãĥ£ãĥĥãĤ·ãĥ³ãĤ°": 139442, + "ĠroÅĽ": 139443, + "ĠroÅĽlin": 139444, + "ÑĢажа": 139445, + "×ij׳×Ļ×Ļ×Ķ": 139446, + "à¸Ľà¸£à¸ªà¸´": 139447, + "à¸Ľà¸£à¸ªà¸´à¸ķ": 139448, + "Ġgördü": 139449, + "×ŀ׳×Ķ×Ļ×Ĵ": 139450, + "å¤īãĤıãģ£ãģ¦": 139451, + "Ġ×IJ×Ķ": 139452, + "Ġ×IJ×Ķ×ijת×Ļ": 139453, + "à¹Ģรà¹Īà¸ĩ": 139454, + "Ġönünde": 139455, + "Ġê·¸ëĥ¥": 139456, + "полиÑĤ": 139457, + "полиÑĤиÑĩеÑģк": 139458, + "ãĥ¡ãĥĩãĤ£": 139459, + "ãĥ¡ãĥĩãĤ£ãĤ¢": 139460, + "ĠDetay": 139461, + "ĠDetaylı": 139462, + "ĠاÙĦصÙģØŃØ©": 139463, + "à¸ģารà¹Ģà¸ĩิà¸Ļ": 139464, + "Ġìµľê·¼": 139465, + "׼ש׾": 139466, + "I": 139467, + "вÑĪего": 139468, + "íķĺìĭ¤": 139469, + "ĠÐŃÑĤ": 139470, + "ĠÐŃÑĤоÑĤ": 139471, + "สื": 139472, + "สืà¸ļ": 139473, + "Ġngừng": 139474, + "ĠдокÑĥменÑĤов": 139475, + "даваÑĤÑĮ": 139476, + "ĠاÙĦشخصÙĬØ©": 139477, + "Ġצע×Ļר": 139478, + "درÙĥ": 139479, + "سØŃب": 139480, + "à¹Ħมà¹Īà¸Ħà¹Īà¸Ńย": 139481, + "Ġ×Ķ×ŀ×§×ķ×ŀ×Ļ": 139482, + "สัà¹Īà¸ĩà¸ĭืà¹īà¸Ń": 139483, + "Ġê·¸ê²ĥìĿĦ": 139484, + "ãģĤãĤĭãģĦ": 139485, + "ãģĤãĤĭãģĦãģ¯": 139486, + "×IJ×ķ×ĺ×ķ×ij": 139487, + "×IJ×ķ×ĺ×ķ×ij×ķס": 139488, + "кÑĨион": 139489, + "ĠÐľÐ¾Ð¶Ð½Ð¾": 139490, + "ãģıãģł": 139491, + "ãģıãģłãģķ": 139492, + "ĠинÑĦоÑĢмаÑĨиÑı": 139493, + "ï»Ł": 139494, + "ĠìŀijìĹħ": 139495, + "Ġ×Ļ×ķסף": 139496, + "إدارة": 139497, + "ĠاÙĦØŃاج": 139498, + "×ł×¡×Ļ×¢×Ķ": 139499, + "изаÑĨиÑı": 139500, + "×IJ׾×ij": 139501, + "×IJ׾×ij×ķ×Ŀ": 139502, + "пед": 139503, + "Ġ×§×ĺ׳×Ķ": 139504, + "ĠÙĨÙ쨳Ùĩا": 139505, + "ĠMinistério": 139506, + "Ġпен": 139507, + "ĠпенÑģи": 139508, + "ãĥIJãĥ©ãĥ³ãĤ¹": 139509, + "Ġ×Ķת×ķר×Ķ": 139510, + "Ġtạm": 139511, + "ĠìĹŃìĭľ": 139512, + "。": 139513, + "Ġthá»±": 139514, + "Ġısı": 139515, + "컨": 139516, + "ãģĹãģ£ãģĭãĤĬãģ¨": 139517, + "Ġxưa": 139518, + "Ġcặp": 139519, + "×Ĺ×Ļ×ij×ķר": 139520, + "วัà¸Ĵà¸Ļà¸ĺรรม": 139521, + "stär": 139522, + "stärke": 139523, + "ĠÑģамÑĭй": 139524, + "pisa": 139525, + "pisaÄĩ": 139526, + "ĠoluÅŁan": 139527, + "ĠاÙĦØ¥ÙħاÙħ": 139528, + "ĠcÄĥng": 139529, + "Ġgünl": 139530, + "Ġgünlük": 139531, + "Ġ׳ש×IJר": 139532, + "Ġkhiá»ĥn": 139533, + "ç¶ļãģijãĤĭ": 139534, + "stitución": 139535, + "Ġcapacité": 139536, + "Ġjaki": 139537, + "ĠjakiÅĽ": 139538, + "вÑĪиÑģ": 139539, + "вÑĪиÑģÑĮ": 139540, + "פע×ķ׾×ķת": 139541, + "ĠØŃÙĬات": 139542, + "ĠØŃÙĬاتÙĩ": 139543, + "Ġникогда": 139544, + "ÐĽÐ¬": 139545, + "Ġ×Ķ×¢×ķ×ij": 139546, + "Ġ×Ķ×¢×ķ×ij×ĵ×Ķ": 139547, + "ĠchÃło": 139548, + "หลายà¹Ĩ": 139549, + "ĠÑıн": 139550, + "ĠÑıнваÑĢ": 139551, + "ĠÑıнваÑĢÑı": 139552, + "à¸Īำà¹Ģà¸Ľà¹ĩà¸Ļà¸ķà¹īà¸Ńà¸ĩ": 139553, + "Ġhöher": 139554, + "ãģķãĤĮãģ¦ãģĦãģŁ": 139555, + "สà¸ĩสั": 139556, + "สà¸ĩสัย": 139557, + "ĠاÙĦاس": 139558, + "ĠاÙĦاسÙĦاÙħ": 139559, + "ĠاÙĦØ´Ùħس": 139560, + "สà¸ĸาà¸Ļี": 139561, + "ãĤ¯ãĥ©ãĤ¹": 139562, + "à¸ŀรร": 139563, + "à¸ŀรรà¸Ħ": 139564, + "põ": 139565, + "põe": 139566, + "Ġporém": 139567, + "à¸Ľà¸£à¸°à¸ªà¸ĩ": 139568, + "à¸Ľà¸£à¸°à¸ªà¸ĩà¸Ħà¹Į": 139569, + "powiedzie": 139570, + "powiedzieÄĩ": 139571, + "ĠмогÑĥ": 139572, + "Ġжел": 139573, + "Ġжелез": 139574, + "ĠاÙĦØ«ÙĤ": 139575, + "ĠاÙĦØ«ÙĤاÙģÙĬ": 139576, + "ĠпÑĢавило": 139577, + "Ġgdyż": 139578, + "פש×ķ×ĺ": 139579, + "ÑĢабоÑĤка": 139580, + "ĠÙĥرة": 139581, + "شدد": 139582, + "ÙħارÙĥ": 139583, + "ÙħÙĥØ©": 139584, + "ĠподпиÑģ": 139585, + "×ĺ×ķ×ķ×Ĺ": 139586, + "ĠÅĽc": 139587, + "ĠÅĽcian": 139588, + "ĠرجاÙĦ": 139589, + "Ġ×ª×ľ×ķ×Ļ": 139590, + "иÑĪ": 139591, + "иÑĪÑĮ": 139592, + "Ġmédec": 139593, + "Ġmédecin": 139594, + "ëįĶëĿ¼ëıĦ": 139595, + "ĠÑĤебÑı": 139596, + "Ġ׾×Ķ×ķס×Ļ×£": 139597, + "ãģĬ話": 139598, + "Ġà¹ģà¸ķà¹Īà¸ģà¹ĩ": 139599, + "داÙģ": 139600, + "داÙ쨹": 139601, + "ĠCùng": 139602, + "ãĥ»ãĥ»ãĥ»ãĥ»": 139603, + "ê¶ģ": 139604, + "ĠdeberÃŃa": 139605, + "หà¸Ļà¹Īวยà¸ĩาà¸Ļ": 139606, + "ĠvaÌĢ": 139607, + "Ġעצ×ŀ": 139608, + "Ġעצ×ŀ×Ŀ": 139609, + "à¹Ģà¸Ĭืà¹Īà¸Ńวà¹Īา": 139610, + "שקע": 139611, + "Ġ×Ķ׼×ķ׾": 139612, + "Ġ×Ķ׼×ķ׾׾": 139613, + "нибÑĥд": 139614, + "нибÑĥдÑĮ": 139615, + "ĠëĦĪíĿ¬": 139616, + "ĠобÑĢаÑī": 139617, + "ĠобÑĢаÑīа": 139618, + "Ġ×¢×ij×ķ×ĵת": 139619, + "ĠاÙĦÙħÙĨتخب": 139620, + "ıyord": 139621, + "ıyordu": 139622, + "ÙĪØ°": 139623, + "×Ĺש×Ļ×ij×ķת": 139624, + "Ġ×Ķ×¢×Ļ×§": 139625, + "Ġ×Ķ×¢×Ļקר×Ļ": 139626, + "ì¢Į": 139627, + "ยุà¹Ĥร": 139628, + "ยุà¹Ĥà¸£à¸Ľ": 139629, + "ĠапÑĢ": 139630, + "ĠапÑĢелÑı": 139631, + "szed": 139632, + "szedÅĤ": 139633, + "дон": 139634, + "à¹Ģà¸ķิà¸ļ": 139635, + "à¹Ģà¸ķิà¸ļà¹Ĥà¸ķ": 139636, + "коло": 139637, + "Ġkażdej": 139638, + "帰": 139639, + "帰ãĤĬ": 139640, + "Ġмилли": 139641, + "Ġмиллион": 139642, + "ç¾İåij³ãģĹãģĦ": 139643, + "تÙĤار": 139644, + "تÙĤارÙĬر": 139645, + "ĠìĿ´ë£¨": 139646, + "ĠìĿ´ë£¨ìĸ´": 139647, + "Ġsprzedaż": 139648, + "×Ķ×ķצ×IJ×ķת": 139649, + "ãĤ¢ãĤ¯ãĤ»": 139650, + "ãĤ¢ãĤ¯ãĤ»ãĤ¹": 139651, + "ר×ķ×¥": 139652, + "ĠгоÑģÑĥдаÑĢÑģÑĤвенн": 139653, + "Ø£ØŃÙĥ": 139654, + "Ø£ØŃÙĥاÙħ": 139655, + "ĠoluÅŁu": 139656, + "ĠAç": 139657, + "ĠAçık": 139658, + "ãĤ¸ãĥ¼": 139659, + "ç´łæĻ´": 139660, + "ç´łæĻ´ãĤīãģĹãģĦ": 139661, + "Ġ×ijש×ij×ķ×¢": 139662, + "بذ": 139663, + "بذÙĦ": 139664, + "สาà¹Ģหà¸ķุ": 139665, + "Ġpozosta": 139666, + "ĠpozostaÅĤ": 139667, + "ØŃرÙħ": 139668, + "Ġimportância": 139669, + "leÅŁtirme": 139670, + "ĠдÑĢев": 139671, + "Ġmóvil": 139672, + "ĠAynı": 139673, + "Ġналог": 139674, + "Ġналогов": 139675, + "Ġ×Ĺ×Ļפ×Ķ": 139676, + "ĠÑĦоÑĢмÑĥ": 139677, + "à¸Ĺà¸Ķสà¸Ńà¸ļ": 139678, + "ĠksiÄħżki": 139679, + "ĠmaÅĤe": 139680, + "ÙħسأÙĦ": 139681, + "ÙħسأÙĦØ©": 139682, + "^^": 139683, + "çãeste": 139684, + "éviter": 139685, + "ĠконÑģÑĤÑĢÑĥк": 139686, + "ĠконÑģÑĤÑĢÑĥкÑĨи": 139687, + "ï¾ŀ": 139688, + "Ġת×ķ׼׳": 139689, + "ãĤ¹ãĥĪãĥ¬ãĤ¹": 139690, + "ĠاÙĦاÙĤتصادÙĬ": 139691, + "×ŀ×ĵ×Ļ": 139692, + "ĠwÅĤad": 139693, + "ĠwÅĤadz": 139694, + "Ø®ÙĪÙģ": 139695, + "ĠмаÑĤеÑĢиалов": 139696, + "ãģ¨ãģ£ãģ¦ãĤĤ": 139697, + "Ġznajdu": 139698, + "ĠznajdujÄħ": 139699, + "ÙģØ¦Ø©": 139700, + "ãģ©ãģ®ãĤĪãģĨãģª": 139701, + "æĬijãģĪ": 139702, + "׳×Ĺ׾": 139703, + "Ġdüny": 139704, + "Ġdünyan": 139705, + "Ġdünyanın": 139706, + "гÑĢани": 139707, + "гÑĢаниÑĩ": 139708, + "Ġ×Ķש׾×Ļש×Ļ": 139709, + "Ġ×Ķ×IJש": 139710, + "åıĬãģ³": 139711, + "ìĭŃìĭľ": 139712, + "ìĭŃìĭľìĺ¤": 139713, + "Ġдолл": 139714, + "ĠдоллаÑĢ": 139715, + "ĠповÑĤоÑĢ": 139716, + "Ġ×Ĺ×Ļ׳×Ŀ": 139717, + "תפת×Ĺ": 139718, + "Ñĥвели": 139719, + "ÑĥвелиÑĩен": 139720, + "ãĤ«ãĥª": 139721, + "rawid": 139722, + "rawidÅĤow": 139723, + "×ķ×ķ׾": 139724, + "ãĥŁãĥ¥": 139725, + "ì½ĺ": 139726, + "ĠByÅĤ": 139727, + "ÐľÐIJ": 139728, + "عÙIJ": 139729, + "ĠÑģовеÑĢÑĪ": 139730, + "ĠÑģовеÑĢÑĪенно": 139731, + "Ġмой": 139732, + "Ġ×ķ׾×IJ×Ĺר": 139733, + "æħ£": 139734, + "æħ£ãĤĮ": 139735, + "ØŃاÙ쨏": 139736, + "Ġ무ë£Į": 139737, + "à¸Ħà¸ĵะà¸ģรรม": 139738, + "à¸Ħà¸ĵะà¸ģรรมà¸ģาร": 139739, + "Ġìĸ´ëĶĶ": 139740, + "Ġdiferen": 139741, + "Ġdiferença": 139742, + "ĠاÙĦأساس": 139743, + "ĠاÙĦأساسÙĬØ©": 139744, + "Ġ׾×IJ×Ĺר×ķ׳×Ķ": 139745, + "ê·ł": 139746, + "Ġ×Ķש׳×Ļ×Ļ×Ķ": 139747, + "ìľĦìĽIJìŀ¥": 139748, + "ลุà¸ģ": 139749, + "çiler": 139750, + "Ġ×Ķ×IJ׾×ķ": 139751, + "èģŀãģı": 139752, + "Ġ×ķ×IJפ×Ļ׾×ķ": 139753, + "ĠÑĢеализ": 139754, + "ĠÑĢеализаÑĨи": 139755, + "ระยะà¹Ģวลา": 139756, + "ĠجداÙĭ": 139757, + "تباع": 139758, + "ĠvehÃŃculo": 139759, + "Ġдолг": 139760, + "à¸Ľà¸£à¸´à¸¡à¸²à¸ĵ": 139761, + "ì¦IJ": 139762, + "Ġ׾×ŀ×§×ķ×Ŀ": 139763, + "ĠìĤ¬ì§Ħ": 139764, + "à¸Ĭà¹īา": 139765, + "Ġ×ŀ×¢×ķ׾×Ķ": 139766, + "Ġgörm": 139767, + "Ġgörmek": 139768, + "ĠÙĪÙĩذÙĩ": 139769, + "пеÑĢв": 139770, + "пеÑĢвÑĭÑħ": 139771, + "ê·¸ëŀĺ": 139772, + "ĠاÙĦبرÙĬØ·": 139773, + "ĠاÙĦبرÙĬطاÙĨÙĬ": 139774, + "ĠиÑİнÑı": 139775, + "ĠÐĵоÑĢ": 139776, + "Ġ׾ש׾×Ŀ": 139777, + "ÐIJÐĿ": 139778, + "ĠназнаÑĩен": 139779, + "ооÑĢ": 139780, + "ооÑĢÑĥж": 139781, + "Ġözelli": 139782, + "ĠözelliÄŁi": 139783, + "Ġниже": 139784, + "ç¶ļãģijãģ¦": 139785, + "ĠаÑĢенд": 139786, + "Ġkatılı": 139787, + "Ġkatılım": 139788, + "ĠإطÙĦاÙĤ": 139789, + "ĠÙĪØ¥Ø°Ø§": 139790, + "ĠокÑĤÑı": 139791, + "ĠокÑĤÑıбÑĢÑı": 139792, + "à¹Ĥà¸ķà¹": 139793, + "à¹Ĥà¸ķà¹Ĭ": 139794, + "à¹Ĥà¸ķà¹Ĭะ": 139795, + "Ġoldukları": 139796, + "ÙħÙĪÙĤع": 139797, + "ëĤ©": 139798, + "ã썿ĢĿãģ£ãģ¦ãģĦãĤĭ": 139799, + "Ġש×Ļ׼×ķ׾": 139800, + "วาà¸Ķ": 139801, + "سÙĬÙĦ": 139802, + "à¸Ĥวั": 139803, + "à¸Ĥวัà¸į": 139804, + "تØŃÙĥÙħ": 139805, + "ìĤŃ": 139806, + "Ġconnaît": 139807, + "×ł×¤×ª×Ĺ": 139808, + "Ġchặ": 139809, + "Ġchặn": 139810, + "ĠÙħØŃÙħ": 139811, + "ĠÙħØŃÙħÙĪØ¯": 139812, + "ãģ´": 139813, + "ĠпÑĢодÑĥкÑĨии": 139814, + "здÑĢав": 139815, + "ãģĶè¦": 139816, + "ãģĶ覧": 139817, + "×IJ×ij×IJ": 139818, + "Ġvéritable": 139819, + "ĠØ·ÙģÙĦ": 139820, + "ãĥĪãĥ©ãĥĸãĥ«": 139821, + "곡": 139822, + "Ġת×ŀ×ķ׳×Ķ": 139823, + "Ġkiên": 139824, + "ĠÙĤادر": 139825, + "Ø¥ÙĤÙĦÙĬÙħ": 139826, + "ĠпÑĢедпÑĢи": 139827, + "ĠпÑĢедпÑĢиÑıÑĤиÑı": 139828, + "ĠbÄĥng": 139829, + "Ġayında": 139830, + "Ġgấp": 139831, + "еÑħал": 139832, + "ĠgiÃłnh": 139833, + "Ġдав": 139834, + "Ġдавно": 139835, + "ìĺĢëĭ¤": 139836, + "à¸Ļัà¸ģà¹Ģà¸ķ": 139837, + "à¸Ļัà¸ģà¹Ģà¸ķะ": 139838, + "Ùħستشار": 139839, + "ستراتÙĬج": 139840, + "ستراتÙĬجÙĬ": 139841, + "رÙħز": 139842, + "ĠtÄ©nh": 139843, + "ë¡Ń": 139844, + "ĠÑĩеÑĤ": 139845, + "ĠÑĩеÑĤÑĭ": 139846, + "ĠÑĩеÑĤÑĭÑĢе": 139847, + "ĠEntão": 139848, + "Ġصغ": 139849, + "ĠصغÙĬرة": 139850, + "×ij×Ļ×ĺ×ķ׾": 139851, + "خطÙĪØ·": 139852, + "ĠÑĢазвиÑĤие": 139853, + "Ġamacıyla": 139854, + "à¸Ĺีวี": 139855, + "ĠоÑģÑĤ": 139856, + "ĠоÑģÑĤалÑĮн": 139857, + "ש×ķ׾×Ĺף": 139858, + "Ġ׼׳×Ļס": 139859, + "Ġ׼׳×Ļס×Ķ": 139860, + "ĠdáºŃy": 139861, + "ĠyaÅŁayan": 139862, + "Ġ×ŀ×Ķ×ķ×ķ×Ķ": 139863, + "ĠÑĥÑģи": 139864, + "ĠÑĥÑģили": 139865, + "×ŀפ×Ļ": 139866, + "ĠпÑĢоведениÑı": 139867, + "Ġرب": 139868, + "ĠربÙħا": 139869, + "ĠاÙĦØ£ÙĪØ³Ø·": 139870, + "Ġìľłì§Ģ": 139871, + "Ġpracownik": 139872, + "Ġpracowników": 139873, + "×ŀס×ķרת": 139874, + "ÙĤارب": 139875, + "à¸Ħวามรูà¹īสึà¸ģ": 139876, + "à¹ģหละ": 139877, + "ĠاÙĦÙĨÙĤد": 139878, + "Ġ×IJ׾פ×Ļ": 139879, + "Ùħسئ": 139880, + "ÙħسئÙĪÙĦ": 139881, + "евÑĭÑħ": 139882, + "клÑİÑĩениÑı": 139883, + "×ij×Ļ׳": 139884, + "×ij×Ļ׳×Ļ×Ķ×Ŀ": 139885, + "ש×ķ×IJ×Ķ": 139886, + "ĠÅŁark": 139887, + "ĠÅŁarkı": 139888, + "Ġsürec": 139889, + "Ġsürecin": 139890, + "à¹Ģà¸Ħรà¸Ķ": 139891, + "à¹Ģà¸Ħรà¸Ķิà¸ķ": 139892, + "ãĥIJãĥ¬": 139893, + "ĠشأÙĨ": 139894, + "à¹Ģà¸Ńาà¹Ħวà¹ī": 139895, + "niÄĻcie": 139896, + "רצ×Ĺ": 139897, + "ĠaÅŁama": 139898, + "׳פ×Ĵ×¢": 139899, + "Ġthá»Ŀ": 139900, + "Ġkhuẩn": 139901, + "diÄŁinde": 139902, + "ÑıÑīиÑħ": 139903, + "ãĥĺãĥ«": 139904, + "Ġüberh": 139905, + "Ġüberhaupt": 139906, + "ĠÑĤÑĢебова": 139907, + "ĠdÅĤugi": 139908, + "×ĺ×Ļף": 139909, + "à¸Ĥà¸Ļาà¸Ķà¹ĥหà¸įà¹Ī": 139910, + "ĠاÙĦØ£Ùĩ": 139911, + "ĠاÙĦØ£ÙĩÙĦÙĬ": 139912, + "ĠMüd": 139913, + "ĠMüdürü": 139914, + "Ġ×Ļ×Ķ×ķ×ĵ×Ķ": 139915, + "ÑĭваеÑĤÑģÑı": 139916, + "ساط": 139917, + "×Ķ×ª×ł×Ķ×Ĵ": 139918, + "×Ķ×ª×ł×Ķ×Ĵ×ķת": 139919, + "à¸ģà¸²à¸£à¸ľà¸¥à¸´à¸ķ": 139920, + "íĴĢ": 139921, + "สà¸ĸาà¸Ļà¸ģารà¸ĵà¹Į": 139922, + "ĠоÑĦ": 139923, + "ĠоÑĦиÑģ": 139924, + "ĠÙĦعبة": 139925, + "ĠstronÄĻ": 139926, + "Ġר×IJ×ķ×Ļ": 139927, + "×Ĺ×ij׾": 139928, + "ĠÑĢÑĭн": 139929, + "ĠÑĢÑĭнке": 139930, + "Ġ׾×ŀ×¢×Ł": 139931, + "اسÙĦ": 139932, + "หัà¸Ļ": 139933, + "Ġ×IJ×Ĺ×Ļ": 139934, + "ĠпÑĢодол": 139935, + "ê°Ģìŀħ": 139936, + "Ġ×ijר×Ĺ": 139937, + "Ġ×ijר×Ĺ×ij×Ļ": 139938, + "джеÑĢ": 139939, + "Ġ׾×Ĺ׾": 139940, + "Ġ׾×Ĺ׾×ķ×ĺ": 139941, + "Ġ׾×Ĺ׾×ķ×ĺ×Ļף": 139942, + "ศาสà¸Ļา": 139943, + "ãĤ¢ãĤ¤ãĥĨ": 139944, + "ãĤ¢ãĤ¤ãĥĨãĥł": 139945, + "Ġפר×ķפ": 139946, + "جزاء": 139947, + "ลà¸Ńย": 139948, + "ĠciaÅĤa": 139949, + "Ġgiết": 139950, + "ĠзнаÑĩиÑĤелÑĮно": 139951, + "Ġolmadıģ": 139952, + "Ġolmadıģını": 139953, + "нд": 139954, + "ндекÑģ": 139955, + "تأÙĥد": 139956, + "Ġìĸ¸": 139957, + "Ġìĸ¸ìłľ": 139958, + "aydın": 139959, + "ãĥīãĥ¬ãĤ¹": 139960, + "Ġsắt": 139961, + "Ġíĺ¸íħĶ": 139962, + "Ġë¶ģ": 139963, + "Ġë¶ģíķľ": 139964, + "ãĥijãĤ¤": 139965, + "Ġ×ŀש×Ĺ×§×Ļ": 139966, + "à¸Ħà¸Ļà¸Ńืà¹Īà¸Ļ": 139967, + "ĠизгоÑĤов": 139968, + "ĠизгоÑĤовлен": 139969, + "à¹Ģà¸ģียร": 139970, + "à¹Ģà¸ģียรà¸ķิ": 139971, + "תקשר": 139972, + "ĠÑĢаÑģÑĩеÑĤ": 139973, + "สà¹Ģà¸ķ": 139974, + "Ġlänger": 139975, + "ĠiÅŁlet": 139976, + "ĠiÅŁletme": 139977, + "ĠعÙĦÙĬÙĨ": 139978, + "ĠعÙĦÙĬÙĨا": 139979, + "élection": 139980, + "ĠاÙĦغربÙĬØ©": 139981, + "íĭĢ": 139982, + "ãĤĤãĤīãģĪ": 139983, + "Ġкниги": 139984, + "أسÙħ": 139985, + "أسÙħاء": 139986, + "Ġthá»ı": 139987, + "Ġthá»ıa": 139988, + "หà¸Ļู": 139989, + "Ġ×ł×¢×©×Ķ": 139990, + "à¸łà¸²à¸¢à¹ĥà¸ķà¹ī": 139991, + "à¸ŀืà¸Ĭ": 139992, + "رÙĬØ·": 139993, + "ÙģÙĪØ¶": 139994, + "ãģĤãĤĬãģĮãģ¨ãģĨãģĶãģĸãģĦãģ¾ãģĹãģŁ": 139995, + "ש×ĵ×Ķ": 139996, + "Ġngá»±c": 139997, + "ĠÑģеÑĢÑĮ": 139998, + "ĠÑģеÑĢÑĮезн": 139999, + "Tôi": 140000, + "Ġfiyatları": 140001, + "ĠвÑģÑİ": 140002, + "ĠCódigo": 140003, + "Ġ×Ķש×IJ": 140004, + "Ġ×Ķש×IJ׾×Ķ": 140005, + "ĠPública": 140006, + "إخ": 140007, + "إخÙĪØ§ÙĨ": 140008, + "ĠзаÑıвил": 140009, + "ãĥ¦ãĥ¼": 140010, + "ר×IJ×Ļת": 140011, + "volución": 140012, + "Ġszko": 140013, + "ĠszkoÅĤy": 140014, + "جرÙĬدة": 140015, + "Ġpensé": 140016, + "ìī¬": 140017, + "ĠBüyükÅŁehir": 140018, + "ĠØ£ÙħرÙĬ": 140019, + "ĠØ£ÙħرÙĬÙĥÙĬ": 140020, + "à¸Ļัà¸ģศึà¸ģษา": 140021, + "Ġtodav": 140022, + "ĠtodavÃŃa": 140023, + "ĠСан": 140024, + "ĠСанкÑĤ": 140025, + "íķĺìŀIJ": 140026, + "ØŃÙĪØ§ÙĦ": 140027, + "׼×ķשר": 140028, + "à¹Ģลยà¸Ħรัà¸ļ": 140029, + "Ġalgu": 140030, + "Ġalguém": 140031, + "Ù쨲": 140032, + "Ġçekil": 140033, + "Ġ×ĵר׼×Ļ×Ŀ": 140034, + "ãĥIJãĥ©": 140035, + "à¸ģà¹ĩสามารà¸ĸ": 140036, + "สà¹Īวà¸Ļลà¸Ķ": 140037, + "íı°": 140038, + "ĠPúb": 140039, + "ĠPúblico": 140040, + "à¹ģà¸Ļวà¸Ĺาà¸ĩ": 140041, + "×IJת×Ĵר": 140042, + "شاش": 140043, + "شاشة": 140044, + "ciÅĽni": 140045, + "ĠÃľrün": 140046, + "ÙĦÙĪØŃ": 140047, + "ĠاÙĦبÙĨ": 140048, + "ĠاÙĦبÙĨÙĥ": 140049, + "ì¡°ì¹ĺ": 140050, + "Ġorganización": 140051, + "ãģĤãĤĬãģĮãģ¨ãģĨãģĶãģĸãģĦãģ¾ãģĻ": 140052, + "sätze": 140053, + "ĠÑģемей": 140054, + "ÙĤصد": 140055, + "ÑģÑĤвеннÑĭе": 140056, + "Ġprécéd": 140057, + "Ġprécédent": 140058, + "à¸ģรุà¸ĩà¹Ģà¸Ĺà¸ŀฯ": 140059, + "ãģ¨è¨ĢãģĦ": 140060, + "×ij׳×Ļ×Ļף": 140061, + "ĠØŃÙĪ": 140062, + "ĠØŃÙĪØ§ÙĦÙĬ": 140063, + "סקס": 140064, + "ĠsaÄŁlamak": 140065, + "Ġ׾צ×Ļ×Ļף": 140066, + "×§×ĵש": 140067, + "Ġ×Ķ×ŀ×¢×¨×Ľ×ª": 140068, + "Ġ׾×Ķ×¢×ij×Ļר": 140069, + "Ġgünd": 140070, + "Ġgündem": 140071, + "ĠнаÑĪего": 140072, + "à¹ĥà¸Ļà¸ŀืà¹īà¸Ļà¸Ĺีà¹Ī": 140073, + "à¹Ģà¸Ħรืà¸Ń": 140074, + "à¹Ģà¸Ħรืà¸Ńà¸Ĥ": 140075, + "à¹Ģà¸Ħรืà¸Ńà¸Ĥà¹Īาย": 140076, + "ظاÙĩرة": 140077, + "ÙħÙĨظÙħ": 140078, + "ÙħÙĨظÙħات": 140079, + "Ùħتاز": 140080, + "追ãģĦ": 140081, + "dıkt": 140082, + "dıktan": 140083, + "ĠëįĶìļ±": 140084, + "ĠÐĿапÑĢимеÑĢ": 140085, + "twór": 140086, + "×ŀ×ķעצ×Ķ": 140087, + "ÙĥÙĪÙĥ": 140088, + "Щ": 140089, + "×ŀ×ĺפ׾": 140090, + "ólica": 140091, + "訪ãĤĮ": 140092, + "ĠëĮĢë¶Ģ": 140093, + "ĠëĮĢë¶Ģë¶Ħ": 140094, + "ãĤ¯ãĥªãĥĥãĤ¯": 140095, + "ãĤĴéģ¸": 140096, + "ãĤĴéģ¸ãģ¶": 140097, + "Ġpowsta": 140098, + "ĠpowstaÅĤ": 140099, + "Ġrazón": 140100, + "×ij×ķ×Ĺר": 140101, + "ĠÑģообÑīил": 140102, + "Ġ×§×ij×ķ×¢": 140103, + "rêt": 140104, + "à¸Ķีà¸Ĥึà¹īà¸Ļ": 140105, + "×ŀסע×ĵ": 140106, + "×ŀסע×ĵ×ķת": 140107, + "ĠÃĸsterreich": 140108, + "Ġ׳×Ĺש×ij": 140109, + "Ùħبادرة": 140110, + "ì´ī": 140111, + "×Ĵ׳×ĺ×Ļ": 140112, + "ä¿¡ãģĺ": 140113, + "duÄŁ": 140114, + "duÄŁunu": 140115, + "Ġphú": 140116, + "ĠاÙĦأخÙĬر": 140117, + "Ġتعتبر": 140118, + "landırıl": 140119, + "ãģ¨ãģ¯ãģĦ": 140120, + "ãģ¨ãģ¯ãģĦãģĪ": 140121, + "ĠاÙĦØ·ÙĦ": 140122, + "ĠاÙĦØ·ÙĦاب": 140123, + "ĠNº": 140124, + "éģ¿ãģij": 140125, + "اÙĦÙħع": 140126, + "اÙĦÙħعرÙĪÙģ": 140127, + "à¸ªà¸łà¸²": 140128, + "éĽ¢ãĤĮ": 140129, + "ĠпомоÑīÑĮ": 140130, + "ĠзнаеÑĤ": 140131, + "ãĥĹãĥ¬ãĤ¼": 140132, + "ãĥĹãĥ¬ãĤ¼ãĥ³ãĥĪ": 140133, + "Ġsupérieur": 140134, + "Ġש׾×Ļש×Ļ": 140135, + "ĠاÙĦÙĨÙĪØ¹": 140136, + "ãĤĵãģ§ãģĻãģŃ": 140137, + "à¸Ńà¸ļรม": 140138, + "Ġgiá»įng": 140139, + "ĠwzglÄĻd": 140140, + "ĠاÙĦÙģÙĤر": 140141, + "èrent": 140142, + "Ġ×ŀ×IJ×Ĺ": 140143, + "Ġ×ŀ×IJ×Ĺ×ķר×Ļ": 140144, + "×Ĵ×Ĵ": 140145, + "×Ļ×Ļ×ij": 140146, + "ÙħÙĦاب": 140147, + "ÙħÙĦابس": 140148, + "Ġhükü": 140149, + "Ġhükümet": 140150, + "Ġ×ŀ×Ĵ×Ļ×ij": 140151, + "ĠÐŀÑĩ": 140152, + "ĠÐŀÑĩенÑĮ": 140153, + "æĹ©ãģĦ": 140154, + "Ġconstrucción": 140155, + "Ġthượng": 140156, + "ï¼ĭ": 140157, + "Ġcoração": 140158, + "à¹Ģหลà¹ĩà¸ģ": 140159, + "ĠBaÅŁb": 140160, + "ĠBaÅŁbakan": 140161, + "éĢ£ãĤĮ": 140162, + "ãģĻãĤĭãģĵãģ¨ãģĮãģ§ãģįãģ¾ãģĻ": 140163, + "ĠÙĤاÙħت": 140164, + "ĠاÙĥثر": 140165, + "ÙģØ§Ø¹ÙĦ": 140166, + "ĠÑĦоÑĢ": 140167, + "ĠÑĦоÑĢÑĥм": 140168, + "غذÙĬ": 140169, + "ĠiÅŁle": 140170, + "ĠiÅŁleml": 140171, + "ĠiÅŁlemleri": 140172, + "ĠìĤ¬ëŀĮìĿĢ": 140173, + "ĠìŀijìĦ±": 140174, + "Ġë§Ī볨": 140175, + "ÙħجÙĦس": 140176, + "หมู": 140177, + "дв": 140178, + "двиг": 140179, + "двига": 140180, + "à¹Ģสียà¸Ĭีวิà¸ķ": 140181, + "×Ķתפת×Ĺ": 140182, + "×Ķתפת×Ĺ×ķת": 140183, + "ĠмеÑĤÑĢо": 140184, + "ĠÑģенÑĤ": 140185, + "ĠÑģенÑĤÑı": 140186, + "ĠÑģенÑĤÑıбÑĢÑı": 140187, + "ê³§": 140188, + "Ġ×ľ×¤×¢": 140189, + "Ġ×ľ×¤×¢×ŀ×Ļ×Ŀ": 140190, + "à¹Ģà¸ļีย": 140191, + "詳ãģĹãģı": 140192, + "çķ°ãģªãĤĭ": 140193, + "Ġİlçe": 140194, + "ĠAtat": 140195, + "ĠAtatür": 140196, + "ĠAtatürk": 140197, + "รุà¹Īà¸ĩ": 140198, + "Ġkaldı": 140199, + "Ġ주ìŀ¥": 140200, + "Ġprésence": 140201, + "Ġнаб": 140202, + "ĠнаблÑİ": 140203, + "ĠнаблÑİда": 140204, + "ĠÑģамого": 140205, + "×Ĵ×ķש": 140206, + "×ŀ×ĺ×ķפ": 140207, + "×ŀ×ĺ×ķפ׾": 140208, + "ĠвÑĭбиÑĢа": 140209, + "ĠìŀIJ리": 140210, + "åĪĨãģĭãĤīãģªãģĦ": 140211, + "ĠзÑĥб": 140212, + "Ġש׼×ijר": 140213, + "Ġدائ": 140214, + "ĠدائÙħا": 140215, + "ĠпаÑĢÑĤи": 140216, + "ï¼²": 140217, + "ĠاÙĬضا": 140218, + "ĠÑħоз": 140219, + "ĠÑħозÑı": 140220, + "ĠÑħозÑıй": 140221, + "ĠÑħозÑıйÑģÑĤв": 140222, + "ĠاÙĦأج": 140223, + "ĠاÙĦأجÙĨب": 140224, + "ĠاÙĦأجÙĨبÙĬØ©": 140225, + "ĠÐĹна": 140226, + "ĠApós": 140227, + "ĠÑįнеÑĢ": 140228, + "ĠÑįнеÑĢги": 140229, + "Ġyans": 140230, + "Ġyansı": 140231, + "ĠJusti": 140232, + "ĠJustiça": 140233, + "Ġprévu": 140234, + "มวล": 140235, + "ìŀ¥ëĭĺ": 140236, + "à¸ģระà¸ļ": 140237, + "à¸ģระà¸ļวà¸Ļ": 140238, + "à¸ģระà¸ļวà¸Ļà¸ģาร": 140239, + "×ŀ×ŀ": 140240, + "×ŀ×ŀ×ķצע": 140241, + "Ġhẹ": 140242, + "Ġhẹn": 140243, + "здание": 140244, + "ĠakÅŁ": 140245, + "ĠakÅŁam": 140246, + "×ĺ×ķפ": 140247, + "Ġgerekt": 140248, + "Ġgerekti": 140249, + "ĠgerektiÄŁini": 140250, + "Ġnarz": 140251, + "ĠnarzÄĻdzi": 140252, + "épo": 140253, + "époque": 140254, + "ĠThần": 140255, + "Ġwysoko": 140256, + "ĠwysokoÅĽci": 140257, + "à¸ľà¸¹à¹īà¸Ľ": 140258, + "à¸ľà¸¹à¹īà¸Ľà¹Īวย": 140259, + "ĠÙĬبدÙĪ": 140260, + "ÑĤелÑĮного": 140261, + "ĠвзглÑıд": 140262, + "ĠjednÄħ": 140263, + "ĠìĿĺ견": 140264, + "Ġà¸Ĥà¸ĵะà¸Ĺีà¹Ī": 140265, + "פ×Ļ×ĵ": 140266, + "ìĥģëĭ´": 140267, + "Ġmỡ": 140268, + "×Ķ×ŀ׾": 140269, + "×Ķ×ŀ׾צ×ķת": 140270, + "ĠÑģоÑģÑĤо": 140271, + "ĠÑģоÑģÑĤоиÑĤ": 140272, + "Ġави": 140273, + "Ġавиа": 140274, + "ĠLänder": 140275, + "تصÙĪÙĬر": 140276, + "×ŀ×ĵ×Ļ×Ķ": 140277, + "ìłĪì°¨": 140278, + "ãģ¨ãĤĬ": 140279, + "ãģ¨ãĤĬãģĤ": 140280, + "ãģ¨ãĤĬãģĤãģĪ": 140281, + "ãģ¨ãĤĬãģĤãģĪãģļ": 140282, + "ĠÑĢÑıд": 140283, + "ĠÑĢÑıдом": 140284, + "ĠNhất": 140285, + "ĠاÙĦÙĥاÙħÙĦ": 140286, + "×Ĺ׾׾": 140287, + "ĠGiấy": 140288, + "צ×ĺר": 140289, + "צ×ĺרף": 140290, + "Ġ׾×ij×ĺ׾": 140291, + "ĠимеÑĤÑĮ": 140292, + "ס×ŀ×ķ×ļ": 140293, + "Ġparticipação": 140294, + "íķľëĭ¤ë©´": 140295, + "ÙħÙĨتدÙĬ": 140296, + "ÙħÙĨتدÙĬات": 140297, + "ĠeÄŁlen": 140298, + "gänge": 140299, + "ربØŃ": 140300, + "ãĤ®ãĥ£": 140301, + "ĠاÙĦرÙĤÙħ": 140302, + "à¸ĭà¹īำ": 140303, + "ĠHóa": 140304, + "×ŀר×Ĺ×§": 140305, + "ØŃÙħاÙħ": 140306, + "بÙĪÙĥ": 140307, + "ĠArtÃŃculo": 140308, + "ãĥĦãĤ¢ãĥ¼": 140309, + "×Ķפ׼×Ķ": 140310, + "×Ĺ׾×ķף": 140311, + "ĠпеÑĢеÑħод": 140312, + "lenmiÅŁ": 140313, + "زراعة": 140314, + "Ġseñor": 140315, + "ãģ£ãģ¦ãģįãģ¦": 140316, + "إش": 140317, + "إشارة": 140318, + "ĠpodÃŃa": 140319, + "ĠÃľlke": 140320, + "нÑģкаÑı": 140321, + "Ġadapté": 140322, + "Ġdüzenlen": 140323, + "Ġdüzenlenen": 140324, + "ĠÑģÑĤала": 140325, + "ĠÙĬØŃتاج": 140326, + "Ġnier": 140327, + "Ġnieruch": 140328, + "Ġnieruchomo": 140329, + "ĠnieruchomoÅĽci": 140330, + "ãģĵãģ¨ãģĮãģĤãĤĭ": 140331, + "ยà¸Ńà¸Ķà¹Ģยีà¹Īยม": 140332, + "ĠÙħج": 140333, + "ĠÙħجاÙĨÙĬ": 140334, + "Ġзаб": 140335, + "Ġзабол": 140336, + "Ġзаболев": 140337, + "ĠзаболеваниÑı": 140338, + "ĠÅĽro": 140339, + "ĠÅĽrodk": 140340, + "ĠÅĽrodków": 140341, + "Ġ×Ķ׾×IJ×ķ×ŀ×Ļ": 140342, + "ĠdokÅĤad": 140343, + "ĠdokÅĤadnie": 140344, + "ãģŁãģıãģªãģĦ": 140345, + "ãģ¯ãģļãģ§ãģĻ": 140346, + "ã썿ĢĿãģ£ãģ¦ãģĦãģŁ": 140347, + "écran": 140348, + "ìĹħì²´": 140349, + "trzymaÅĤ": 140350, + "ÑģÑĤвеннÑĭй": 140351, + "ĠNotÃŃc": 140352, + "ĠNotÃŃcias": 140353, + "ÙħرÙĬ": 140354, + "ÙħرÙĬض": 140355, + "æ°Ĺè»": 140356, + "æ°Ĺ軽": 140357, + "æ°Ĺ軽ãģ«": 140358, + "ëĵ£": 140359, + "Ġ×ĵ×ķ×IJר": 140360, + "Ġ׾×ŀ׳": 140361, + "Ġ׾×ŀ׳×ķ×¢": 140362, + "ĠçalÄ±ÅŁÄ±yor": 140363, + "ĠÅŁidd": 140364, + "ĠÅŁiddet": 140365, + "ĠMặt": 140366, + "ĠateÅŁ": 140367, + "ĠполÑĥÑĩениÑı": 140368, + "à¹Ģà¸Ħรืà¹Īà¸Ńà¸ĩมืà¸Ń": 140369, + "ĠgrÃ¶ÃŁer": 140370, + "دائ": 140371, + "دائرة": 140372, + "Ġbulun": 140373, + "Ġbulunmaktadır": 140374, + "à¹Ģหร": 140375, + "à¹Ģหรีย": 140376, + "à¹Ģหรียà¸į": 140377, + "à¸Ļัà¸ģà¸Ĺà¹Īà¸Ńà¸ĩà¹Ģà¸Ĺีà¹Īยว": 140378, + "Ġalanında": 140379, + "ĠÑĥзна": 140380, + "ĠлеÑĩение": 140381, + "売ãĤĮ": 140382, + "Ġçevir": 140383, + "ĠdesteÄŁi": 140384, + "ĠheiÃŁt": 140385, + "âĸ²": 140386, + "ØŃØ·": 140387, + "à¸Ħำà¸ķà¸Ńà¸ļ": 140388, + "ãĤªãĥ³ãĥ©ãĤ¤ãĥ³": 140389, + "Ġ×ij×Ĺ×Ļ×Ļ×Ŀ": 140390, + "ãĥ¦ãĥĭ": 140391, + "Ġdüzenleme": 140392, + "ĠmodalitÃł": 140393, + "سرط": 140394, + "سرطاÙĨ": 140395, + "×ŀ׼×ķף": 140396, + "ĠданнÑĭй": 140397, + "ترت": 140398, + "ترتÙĬب": 140399, + "à¸ļาà¸ĩà¸Ħà¸Ļ": 140400, + "ĠÄIJá»ĭnh": 140401, + "มูล": 140402, + "มูลà¸Ħà¹Īา": 140403, + "ÙĨÙĤص": 140404, + "à¸ģารรัà¸ģษา": 140405, + "ĠÑĦон": 140406, + "ĠÑĦонд": 140407, + "ãĤĪãģĨãģ«ãģªãģ£ãģŁ": 140408, + "ÙħعاÙĦ": 140409, + "ÙħعاÙĦجة": 140410, + "ĠOsman": 140411, + "ĠOsmanlı": 140412, + "иÑĩеÑģком": 140413, + "à¸Ńยาà¸ģà¸Īะ": 140414, + "ãģķãģ¾ãģĸ": 140415, + "ãģķãģ¾ãģĸãģ¾": 140416, + "ãģķãģ¾ãģĸãģ¾ãģª": 140417, + "Ġת×ķ׼׾": 140418, + "עצ×ij": 140419, + "ĠاÙĦعسÙĥ": 140420, + "ĠاÙĦعسÙĥرÙĬ": 140421, + "Ġvéhic": 140422, + "Ġvéhicule": 140423, + "Ġ×Ļצ×Ĺ×§": 140424, + "ĠاÙĦÙĪØŃ": 140425, + "ĠاÙĦÙĪØŃÙĬد": 140426, + "ĠاÙĦعدÙĪ": 140427, + "ĠQuản": 140428, + "Ġê³µëıĻ": 140429, + "بدÙĦ": 140430, + "ĠÄijảng": 140431, + "Ġmá»ĩnh": 140432, + "Ġniezb": 140433, + "ĠniezbÄĻ": 140434, + "ĠniezbÄĻdn": 140435, + "Ġyayınlan": 140436, + "обÑīи": 140437, + "Ġgötür": 140438, + "צפ": 140439, + "צפ×ķ×Ļ": 140440, + "ĠÙĦÙĬبÙĬ": 140441, + "ĠÙĦÙĬبÙĬا": 140442, + "ØŃÙĪØ§": 140443, + "Ġдоб": 140444, + "ĠдобÑĢо": 140445, + "иÑĢÑĥем": 140446, + "ĠاÙĦØŃÙĥÙĪÙħÙĬØ©": 140447, + "mÃ¤ÃŁig": 140448, + "Ġedición": 140449, + "влекаÑĤелÑĮ": 140450, + "влекаÑĤелÑĮн": 140451, + "Ġ×ª×©×ľ×ķ×Ŀ": 140452, + "Ġ×Ķש×ķ׳×Ļ×Ŀ": 140453, + "มิà¸ĸุ": 140454, + "มิà¸ĸุà¸Ļ": 140455, + "มิà¸ĸุà¸Ļายà¸Ļ": 140456, + "é£Łãģ¹ãģ¦": 140457, + "ĠìĪĺì§ij": 140458, + "ס×ij×Ļ": 140459, + "ĠиÑİлÑı": 140460, + "Ġà¹Ħà¸Ķà¹īà¹ģà¸ģà¹Ī": 140461, + "׾×Ĺ×Ŀ": 140462, + "trä": 140463, + "trägt": 140464, + "ãģĿãĤĤãģĿãĤĤ": 140465, + "ÐĿÐķ": 140466, + "ĠвнÑĥÑĤ": 140467, + "ĠвнÑĥÑĤÑĢи": 140468, + "ãģ¨ä¸Ģç·Ĵãģ«": 140469, + "ãĤ«ãĥķãĤ§": 140470, + "Ġ×ij×Ĺ×ĵר": 140471, + "×Ĺ×ŀש": 140472, + "ãĤ¨ãĥį": 140473, + "ãĤ¨ãĥįãĥ«": 140474, + "ãĤ¨ãĥįãĥ«ãĤ®": 140475, + "ãĤ¨ãĥįãĥ«ãĤ®ãĥ¼": 140476, + "à¸Ĥà¸Ńà¸ĩà¸ķัวà¹Ģà¸Ńà¸ĩ": 140477, + "بÙĤاء": 140478, + "פס×Ļ׼": 140479, + "פס×Ļ׼×ķ׾×ķ×Ĵ": 140480, + "ãĥ¡ãĥĥ": 140481, + "ãĥ¡ãĥĥãĤ»": 140482, + "ãĥ¡ãĥĥãĤ»ãĥ¼ãĤ¸": 140483, + "ÙĦÙĤب": 140484, + "AÄŀ": 140485, + "שק×Ļ×¢": 140486, + "ÙĤساÙħ": 140487, + "×ĵ×ķ×Ĵ×ŀ×Ķ": 140488, + "æ·±ãģĦ": 140489, + "íĸĪëĬĶëį°": 140490, + "ĠrozwiÄħzanie": 140491, + "à¸Ļัà¹Īà¸Ļà¹Ģà¸Ńà¸ĩ": 140492, + "×Ļצ×ij": 140493, + "Ġtrông": 140494, + "à¹ĥà¸Ĭà¹īà¸ļริà¸ģาร": 140495, + "ĠاÙĦÙħÙĪØ³Ùħ": 140496, + "ĠдеÑĤи": 140497, + "ãģĹãģĭãģªãģĦ": 140498, + "ס×Ļף": 140499, + "Ġréférence": 140500, + "à¹ģหà¹īà¸ĩ": 140501, + "ãĤĤãĤīãģ£ãģŁ": 140502, + "Ġ׾ר׼": 140503, + "Ġ׾ר׼×ķש": 140504, + "شعÙĪØ±": 140505, + "ĠÐijог": 140506, + "Ġlazım": 140507, + "Ġ×Ļש׳×Ŀ": 140508, + "ĠпаÑĢÑĤ": 140509, + "ĠпаÑĢÑĤнеÑĢ": 140510, + "ĠÑĥника": 140511, + "ĠÑĥникалÑĮн": 140512, + "Ġmatériel": 140513, + "×ŀרק": 140514, + "Ġphưá»Ŀng": 140515, + "Ġзай": 140516, + "Ġзайм": 140517, + "ÙģÙĤد": 140518, + "UniversitÃł": 140519, + "×¢×¨×Ľ×Ļ×Ŀ": 140520, + "Ġbaño": 140521, + "ĠноÑı": 140522, + "ĠноÑıбÑĢÑı": 140523, + "à¸Ľà¹īาย": 140524, + "Ġtats": 140525, + "Ġtatsäch": 140526, + "Ġtatsächlich": 140527, + "ĠÑĤÑĢеÑĤÑĮ": 140528, + "Ñįм": 140529, + "ãĥĻãĥ¼ãĤ¹": 140530, + "Ġnhá»±a": 140531, + "ìĬ¤íģ¬": 140532, + "ĠعبداÙĦÙĦÙĩ": 140533, + "Ġת×ķר×Ķ": 140534, + "أشÙĬ": 140535, + "أشÙĬاء": 140536, + "ĠÙĦÙĦغا": 140537, + "ĠÙĦÙĦغاÙĬØ©": 140538, + "ÙħÙĪØ§ÙĤ": 140539, + "ÙħÙĪØ§ÙĤÙģ": 140540, + "ĠgÅĤówna": 140541, + "ĠartÄ±ÅŁ": 140542, + "Ġ×ŀ×§×ķ×ŀ×Ļ": 140543, + "ãĤ¯ãĥ©ãĥĸ": 140544, + "ĠسÙĪÙī": 140545, + "ĠìŬìĦ±": 140546, + "اسر": 140547, + "اسرائÙĬÙĦ": 140548, + "Ġ×ł×Ľ×ª×ij": 140549, + "ยà¹īà¸Ńà¸Ļ": 140550, + "Ġdeberá": 140551, + "Ġphẫu": 140552, + "ÑİÑīем": 140553, + "ĠÙĦدÙĬÙĨا": 140554, + "×ŀ×ĺ×Ķ": 140555, + "Ġ׳×ķ׾×ĵ": 140556, + "ĠвÑģÑĤÑĢеÑĩа": 140557, + "ãĤīãĤĮãģ¦ãģĦãģ¾ãģĻ": 140558, + "ĠcaÅĤej": 140559, + "ยึ": 140560, + "ยึà¸Ķ": 140561, + "поÑĤен": 140562, + "поÑĤенÑĨи": 140563, + "ĠлиÑĤ": 140564, + "ĠлиÑĤеÑĢ": 140565, + "ĠлиÑĤеÑĢаÑĤÑĥÑĢ": 140566, + "Ġкаждом": 140567, + "ĠíĮIJ": 140568, + "ĠíĮIJëĭ¨": 140569, + "à¸Īู": 140570, + "Ġpresença": 140571, + "ãģªãĤĵãģ§": 140572, + "ÙħÙĬاÙĩ": 140573, + "инÑĦоÑĢм": 140574, + "инÑĦоÑĢмаÑĨион": 140575, + "инÑĦоÑĢмаÑĨионн": 140576, + "ĠìŀIJìŰ": 140577, + "ר׼ש": 140578, + "Ġödül": 140579, + "ç¶ļãģı": 140580, + "ĠпÑģ": 140581, + "ĠпÑģиÑħ": 140582, + "ĠпÑģиÑħолог": 140583, + "تذÙĥر": 140584, + "Ġìŀħìŀ¥": 140585, + "ลà¸Ķà¹Į": 140586, + "ìĦłê±°": 140587, + "ãģ£ãģ¦ãģĬãĤĬãģ¾ãģĻ": 140588, + "Ġ×Ļ×¢": 140589, + "Ġ×Ļ×¢×§×ij": 140590, + "ĠاÙĦطعاÙħ": 140591, + "ãĥĨãĤ¹ãĥĪ": 140592, + "ĠTuấn": 140593, + "Ġparticipación": 140594, + "×ŀ×ķ×ŀ×Ĺ×Ķ": 140595, + "×Ĵרס×Ķ": 140596, + "ĠاÙĦتÙĨÙģÙĬ": 140597, + "ĠاÙĦتÙĨÙģÙĬذÙĬ": 140598, + "ĠбезопаÑģн": 140599, + "gef": 140600, + "gefähr": 140601, + "Ø´ÙĪØ±": 140602, + "ĠmyÅĽli": 140603, + "ÙĪØ§Ø´ÙĨ": 140604, + "ÙĪØ§Ø´ÙĨØ·ÙĨ": 140605, + "׳×ķסע": 140606, + "ÙĥÙĩ": 140607, + "ÙĥÙĩرب": 140608, + "ÙĥÙĩرباء": 140609, + "ĠmusiaÅĤ": 140610, + "ìĭ¸": 140611, + "ãĥĸãĥ©ãĥĥãĤ¯": 140612, + "Ġcréé": 140613, + "ÙĨÙĩار": 140614, + "owoÅĽÄĩ": 140615, + "ÙħØŃاÙĥÙħ": 140616, + "ĠwÅĤaÅĽ": 140617, + "ĠwÅĤaÅĽc": 140618, + "ĠwÅĤaÅĽciciel": 140619, + "ĠÙĬؤ": 140620, + "ĠÙĬؤدÙĬ": 140621, + "×ŀ×¢×ķ׳": 140622, + "×IJ×ij׾": 140623, + "خطأ": 140624, + "ĠÑħолод": 140625, + "×ĸ×ķ׾": 140626, + "ãģĵãĤĮãĤī": 140627, + "ãģĵãĤĮãĤīãģ®": 140628, + "Ġbásica": 140629, + "ฤà¸Ķ": 140630, + "ฤà¸Ķูà¸ģ": 140631, + "ฤà¸Ķูà¸ģา": 140632, + "ฤà¸Ķูà¸ģาล": 140633, + "èIJ½ãģ¡çĿĢ": 140634, + "ãģªãģĦãģĵãģ¨": 140635, + "صÙĪÙħ": 140636, + "ÙĨجØŃ": 140637, + "׳ק×ķ×ĵ": 140638, + "׳ק×ķ×ĵת": 140639, + "клаÑģÑģ": 140640, + "íķĺìĭľëĬĶ": 140641, + "ëĦĺ": 140642, + "Ġש×IJ×Ļ׳×ķ": 140643, + "ĠСейÑĩаÑģ": 140644, + "mayacaģı": 140645, + "Ġyapılır": 140646, + "ĠcategorÃŃa": 140647, + "عباد": 140648, + "ĠТеп": 140649, + "ĠТепеÑĢÑĮ": 140650, + "×Ķ×Ļס×ĺ×ķר×Ļ": 140651, + "hế": 140652, + "ãĤ³ãĥ¼ãĥī": 140653, + "Ġcabeça": 140654, + "جÙħا": 140655, + "جÙħاÙĩ": 140656, + "جÙħاÙĩÙĬر": 140657, + "ä½İãģĦ": 140658, + "ĠÑĤоваÑĢов": 140659, + "à¸Ĭาวà¸ļà¹īาà¸Ļ": 140660, + "ĠÑģÑĤанов": 140661, + "ĠÑģÑĤановиÑĤÑģÑı": 140662, + "ĠавÑĤомобилÑĮ": 140663, + "ĠÑģлÑĥÑĩай": 140664, + "à¸Ńัà¸ŀ": 140665, + "ĠGiriÅŁ": 140666, + "ĠìĿ¼ëĭ¨": 140667, + "ĠпÑĢоÑģ": 140668, + "ĠпÑĢоÑģмоÑĤÑĢ": 140669, + "ãģªãģıãģªãģ£ãģŁ": 140670, + "à¸¡à¸µà¸Ľà¸±à¸įหา": 140671, + "ïºİ": 140672, + "écoute": 140673, + "ĠÙħÙĪØ¬ÙĪØ¯": 140674, + "ĠسرÙĬع": 140675, + "ĠÙĪÙĩÙĨا": 140676, + "ĠÙĪÙĩÙĨاÙĥ": 140677, + "à¸Ħุà¸ĵสม": 140678, + "à¸Ħุà¸ĵสมà¸ļัà¸ķิ": 140679, + "Ġìļ°ìĦł": 140680, + "à¸ŀระà¸ŀุà¸Ĺà¸ĺ": 140681, + "好ãģ¿": 140682, + "ظÙĦÙħ": 140683, + "ĠмакÑģ": 140684, + "ĠмакÑģималÑĮ": 140685, + "ĠмакÑģималÑĮно": 140686, + "ãĥªãĤ¢ãĥ«": 140687, + "à¹ģมà¹īวà¹Īา": 140688, + "ĠاÙĦØŃÙĪØ§Ø±": 140689, + "ãĥĹãĥ©ãĤ¹": 140690, + "ĠعÙĦاÙĤØ©": 140691, + "ĠíĸīëıĻ": 140692, + "Ġgönderil": 140693, + "Ġlãi": 140694, + "ĠsaÄŁlıkl": 140695, + "ĠsaÄŁlıklı": 140696, + "ĠÑĪаг": 140697, + "Ġ×ij×IJר×Ķ": 140698, + "prowadziÄĩ": 140699, + "ãģĦãģıãģ¤ãģĭ": 140700, + "ĠبتارÙĬØ®": 140701, + "Ġ×ij×IJ×ķת×Ķ": 140702, + "Ġmóc": 140703, + "ĠÐľÐ½Ðµ": 140704, + "ãĥĹãĥ¬ãĥ¼": 140705, + "×IJ×ĸר×Ĺ": 140706, + "åł´åIJĪãģ«ãģ¯": 140707, + "使ãģĪ": 140708, + "à¹Ģรืà¸Ńà¸Ļ": 140709, + "ĠÐŁÐµÑĤ": 140710, + "ĠÐŁÐµÑĤÑĢ": 140711, + "ãģ«åħ¥ãĤĭ": 140712, + "Ùħادة": 140713, + "à¹Ģà¸ĩืà¹Īà¸Ńà¸Ļ": 140714, + "à¹Ģà¸ĩืà¹Īà¸Ńà¸Ļà¹Ħà¸Ĥ": 140715, + "ĠÑģоÑģÑĤоÑıние": 140716, + "ônica": 140717, + "ĠÑĦев": 140718, + "ĠÑĦевÑĢа": 140719, + "ĠÑĦевÑĢалÑı": 140720, + "Ġ×ķ×ĸ": 140721, + "Ġ×ķ×ĸ×IJת": 140722, + "à¸Ħริ": 140723, + "à¸Ħริส": 140724, + "ĠÐķÑīе": 140725, + "ãģ£ãģ¦ãģĹãģ¾ãģĦãģ¾ãģĹãģŁ": 140726, + "ĠпÑĢавиÑĤелÑĮ": 140727, + "ĠпÑĢавиÑĤелÑĮÑģÑĤв": 140728, + "Ġtäglich": 140729, + "Ġëĭ¹ìĭľ": 140730, + "×ŀ×ķ×¢×ŀ×ĵ": 140731, + "ĠдвоÑĢ": 140732, + "æīķ": 140733, + "æīķãģĦ": 140734, + "ĠÑģÑĤанеÑĤ": 140735, + "ĠвоздейÑģÑĤв": 140736, + "ĠвоздейÑģÑĤви": 140737, + "Ġfête": 140738, + "à¹Ģสา": 140739, + "תק×ķ×ķ×Ķ": 140740, + "Ġuyar": 140741, + "Ġuyarı": 140742, + "à¸ģลัà¸ļà¹Ħà¸Ľ": 140743, + "Ġgiưá»Ŀng": 140744, + "Ġва": 140745, + "ĠваÑĪи": 140746, + "ĠÄijáºŃu": 140747, + "ĠSpaÃŁ": 140748, + "ĠìķĦë§Ī": 140749, + "à¹Ħà¸Ķà¹īà¸ĩà¹Īาย": 140750, + "Ġ×Ķ×ŀ×ijקש": 140751, + "æĸ°ãģŁ": 140752, + "æĸ°ãģŁãģª": 140753, + "ılıyor": 140754, + "план": 140755, + "Ġ×Ķ×ijר×Ļ×IJ×ķת": 140756, + "ĠaÄŁrı": 140757, + "Ġsaygı": 140758, + "建ãģ¦": 140759, + "Ġnajwyż": 140760, + "Ġnajwyższ": 140761, + "سÙĬاسات": 140762, + "ãģĬå¾Ĺ": 140763, + "ĠاÙĦعÙĦÙĬ": 140764, + "ĠاÙĦعÙĦÙĬا": 140765, + "Ġcorazón": 140766, + "ì¹ĺë£Į": 140767, + "หัวà¸Ĥà¹īà¸Ń": 140768, + "ĠبØŃÙĬ": 140769, + "ĠبØŃÙĬØ«": 140770, + "звезд": 140771, + "بÙĪØ§Ø¨Ø©": 140772, + "ÐĽÐĺ": 140773, + "ÙĦازÙħ": 140774, + "Ġrozp": 140775, + "Ġrozpoc": 140776, + "ĠrozpoczÄĻ": 140777, + "触ãĤĮ": 140778, + "ĠاÙĦجÙħÙĩ": 140779, + "ĠاÙĦجÙħÙĩÙĪØ±": 140780, + "ĠspÄĻd": 140781, + "ĠspÄĻdz": 140782, + "วิà¸Ĺยาศาสà¸ķรà¹Į": 140783, + "иваеÑĤÑģÑı": 140784, + "Ġданной": 140785, + "Ġreprésente": 140786, + "ĠÄijá»ĭch": 140787, + "Ġ×¢×ŀ×ķ×§": 140788, + "à¸Ńัà¸Ļà¸ķร": 140789, + "à¸Ńัà¸Ļà¸ķราย": 140790, + "Ġestratég": 140791, + "Ġestratégia": 140792, + "padÅĤ": 140793, + "Ġвполн": 140794, + "Ġвполне": 140795, + "ĠпÑĢедоÑģÑĤавлен": 140796, + "×Ĺ׾×ķ×§": 140797, + "×Ĺ׾×ķקת": 140798, + "ãĤ¢ãĥĬ": 140799, + "ĠاÙĦغذ": 140800, + "ĠاÙĦغذائÙĬ": 140801, + "ĠÑĥзн": 140802, + "ĠÑĥзнаÑĤÑĮ": 140803, + "à¸ĭà¹īาย": 140804, + "å½ĵãģ¦": 140805, + "ØŃÙĬاء": 140806, + "Ġbásico": 140807, + "×§×ķ×ij×¢": 140808, + "ĠاÙĦÙħباراة": 140809, + "ĠاÙĦÙĩاتÙģ": 140810, + "Ġ׼׳×Ĵ×ĵ": 140811, + "à¸Ľà¸£à¸°à¸«à¸¢": 140812, + "à¸Ľà¸£à¸°à¸«à¸¢à¸±à¸Ķ": 140813, + "Ðļак": 140814, + "à¸Ĺีà¹Īà¸Ļà¹Īา": 140815, + "à¸Ĺีà¹Īà¸Ļà¹Īาสà¸Ļà¹ĥà¸Ī": 140816, + "ãģ¾ãģģ": 140817, + "ï½¢": 140818, + "Ñģкоп": 140819, + "Ġsonrasında": 140820, + "ĠurzÄħd": 140821, + "ĠurzÄħdzenia": 140822, + "׼×ķ×ķ׳": 140823, + "׼×ķ×ķ×ł×ª": 140824, + "Ġ׾×Ķת×ŀ×ķ×ĵ": 140825, + "Ġ׾×Ķת×ŀ×ķ×ĵ×ĵ": 140826, + "ĠÑģли": 140827, + "ĠÑģлиÑĪ": 140828, + "ĠÑģлиÑĪком": 140829, + "ĠÑģÑĤÑĥд": 140830, + "ĠÑģÑĤÑĥденÑĤ": 140831, + "Ġ×Ķ×ķ×ĵ": 140832, + "Ġ×Ķ×ķ×ĵ×¢×Ķ": 140833, + "ë¹Ħìļ©": 140834, + "à¸Ńยาà¸ģà¹ĥหà¹ī": 140835, + "Ġbá»ģ": 140836, + "ยุà¸Ĺà¸ĺ": 140837, + "ÐĺÐĿ": 140838, + "سائر": 140839, + "أصÙĪÙĦ": 140840, + "ĠاÙĦغرÙģ": 140841, + "ãģĵãģ¨ãĤĤãģĤãĤĬãģ¾ãģĻ": 140842, + "è¾¼ãģ¾ãĤĮ": 140843, + "ĠاÙĦسابع": 140844, + "Ġcá»§": 140845, + "ãģĦãģŁãģłãģĦãģŁ": 140846, + "ì§ĵ": 140847, + "ìĤ¬ë¬´": 140848, + "powiedź": 140849, + "تÙģÙĥ": 140850, + "تÙģÙĥÙĬر": 140851, + "иÑĢовки": 140852, + "ĠíĨµíķ´ìĦľ": 140853, + "ãĤ¨ãĤ¹ãĥĨ": 140854, + "ĠдеÑıÑĤелÑĮноÑģÑĤÑĮ": 140855, + "ĠданнÑĭм": 140856, + "Ġ×¢×ķר": 140857, + "Ġ×¢×ķר׼×Ļ": 140858, + "×ķ×ĵעת": 140859, + "Ġhayatını": 140860, + "ĠbÄħd": 140861, + "ĠbÄħdź": 140862, + "obsÅĤug": 140863, + "à¹Ģà¸ŀียà¸ĩà¹ģà¸Ħà¹Ī": 140864, + "à¸ĭà¹Īา": 140865, + "è²łãģij": 140866, + "ĠÑģÑĤÑĢем": 140867, + "ĠÄijá»īnh": 140868, + "ĠÐłÑĥÑģ": 140869, + "ĠNữ": 140870, + "Ġ׾×Ķש×Ļ×Ĵ": 140871, + "Ġjednoc": 140872, + "Ġjednocze": 140873, + "ĠjednoczeÅĽnie": 140874, + "Ġ×Ķ×Ĵ×ij×ķ×Ķ": 140875, + "أخÙĦاÙĤ": 140876, + "ĠнаÑģел": 140877, + "ĠнаÑģелениÑı": 140878, + "ĠÙĬÙĨب": 140879, + "ĠÙĬÙĨبغÙĬ": 140880, + "ãģĮãģĭ": 140881, + "ãģĮãģĭãģĭ": 140882, + "×Ĵעת": 140883, + "ÐŀÐł": 140884, + "ĠналиÑĩии": 140885, + "Ġë§Īì§Ģ": 140886, + "Ġë§Īì§Ģë§ī": 140887, + "ĠíĸīìĤ¬": 140888, + "ĠtreÅĽci": 140889, + "Ġê°Ģì¹ĺ": 140890, + "ì¦ĺ": 140891, + "Ġаналог": 140892, + "×Ķצעת": 140893, + "влад": 140894, + "владе": 140895, + "ĠÑģделал": 140896, + "Ġ׳×Ĵ×Ļש": 140897, + "Ġ׳×Ĵ×Ļש×ķת": 140898, + "полнение": 140899, + "à¸Ĩà¹Īา": 140900, + "ĠDön": 140901, + "׼׾׼׾×Ķ": 140902, + "×ŀ×ĸ×Ĵ": 140903, + "ÙħÙģ": 140904, + "ÙħÙģÙĩ": 140905, + "ÙħÙģÙĩÙĪÙħ": 140906, + "×Ķ×ĵ": 140907, + "×Ķ×ĵפס": 140908, + "×Ķ×ĵפס×Ķ": 140909, + "ãģĻãģİãģ¦": 140910, + "ĠгÑĢ": 140911, + "ĠгÑĢн": 140912, + "×ŀ×ĺ×ķס": 140913, + "Ġ기ìĸµ": 140914, + "ï¾Ł": 140915, + "ĠpÅĤyn": 140916, + "ĠGründe": 140917, + "ĠBücher": 140918, + "ĠwedÅĤug": 140919, + "ãģ¾ãģłãģ¾ãģł": 140920, + "Ġ׳×Ķ×ĵר": 140921, + "ĠÙĬستطÙĬع": 140922, + "ĠHiá»ĩp": 140923, + "ãĤŃãĥ£ãĥ³ãĥļ": 140924, + "ãĤŃãĥ£ãĥ³ãĥļãĥ¼ãĥ³": 140925, + "Ġthá»ķ": 140926, + "Ġeuropéenne": 140927, + "à¸ļัà¸ĩ": 140928, + "à¸ļัà¸ĩà¸Ħัà¸ļ": 140929, + "ĠszczegóÅĤowo": 140930, + "׳שק": 140931, + "ãĥķãĥ©ãĥ³ãĤ¹": 140932, + "×ŀ×ķ×ŀ×Ĺ×Ļ": 140933, + "Ġcomún": 140934, + "Ġçarp": 140935, + "ØŃتÙĬا": 140936, + "ØŃتÙĬاج": 140937, + "ØŃتÙĬاجات": 140938, + "ëĭ´ëĭ¹": 140939, + "ä½ķ度": 140940, + "ä½ķ度ãĤĤ": 140941, + "×ĵ×ij×§": 140942, + "ãģįãĤĮ": 140943, + "ãģįãĤĮãģĦ": 140944, + "Ġкам": 140945, + "ĠкамеÑĢ": 140946, + "ĠespecÃŃfico": 140947, + "Ġteléfono": 140948, + "à¸ķัà¹īà¸ĩà¸Ńยูà¹Ī": 140949, + "IÅŀ": 140950, + "ãģ©ãĤĵãģ©": 140951, + "ãģ©ãĤĵãģ©ãĤĵ": 140952, + "עצ×ŀ×IJ×Ļ": 140953, + "à¸Ķัà¸ĩà¸Ļีà¹ī": 140954, + "ĠÑĦоÑĢмиÑĢов": 140955, + "ĠÑĦоÑĢмиÑĢова": 140956, + "×ķ×ŀ×ij": 140957, + "Ġkullanımı": 140958, + "ÐľÐŀ": 140959, + "עש×Ļ": 140960, + "עש×Ļ×Ļ×Ķ": 140961, + "Ġönlem": 140962, + "à¹Ģà¸Ńà¹ĩ": 140963, + "à¹Ģà¸Ńà¹ĩม": 140964, + "×ŀשק×Ļ×¢": 140965, + "ר×Ļ×Ĺ": 140966, + "à¸Ĥัà¸Ķ": 140967, + "ĠíĻľ": 140968, + "ĠíĻľìļ©": 140969, + "à¸ĭะ": 140970, + "ãĤĪãģĨãģ«ãģªãĤĬãģ¾ãģĹãģŁ": 140971, + "ĠÑĢаÑģпÑĢ": 140972, + "ĠÑĢаÑģпÑĢоÑģÑĤ": 140973, + "ĠÑĢаÑģпÑĢоÑģÑĤÑĢан": 140974, + "ĠÑĢаÑģпÑĢоÑģÑĤÑĢанен": 140975, + "׼×Ļ×ķף": 140976, + "ÙĤبض": 140977, + "تصرÙĬØŃ": 140978, + "تصرÙĬØŃات": 140979, + "ĠоÑĢи": 140980, + "ĠоÑĢиг": 140981, + "ĠоÑĢигина": 140982, + "ĠоÑĢигинал": 140983, + "ĠاÙĦعاÙĦÙĬ": 140984, + "à¹ģหà¹Īà¸ĩà¸Ļีà¹ī": 140985, + "ãĥķãĤ¡ãĥ¼": 140986, + "ãģ¦ãģĦãģį": 140987, + "ãģ¦ãģĦãģįãģŁãģĦ": 140988, + "פתר": 140989, + "פתר×ķ׳×ķת": 140990, + "Ġ×ij×Ļ×Ĺ": 140991, + "Ġ×ij×Ļ×Ĺ×ĵ": 140992, + "Ġodby": 140993, + "ĠodbyÅĤ": 140994, + "ĠоÑĩеÑĢед": 140995, + "Ġtrương": 140996, + "ãĤŃãĥ³": 140997, + "×ŀ×ķפ": 140998, + "×ŀ×ķפע": 140999, + "ëĵľë¦½": 141000, + "ëĵľë¦½ëĭĪëĭ¤": 141001, + "à¸ŀืà¹īà¸Ļà¸IJาà¸Ļ": 141002, + "ìŀIJ격": 141003, + "ĠViá»ĩn": 141004, + "ĠDespués": 141005, + "Ġ×IJ׾×Ļ׳×ķ": 141006, + "Ġdurée": 141007, + "íĩ´": 141008, + "Ġmüzik": 141009, + "iếu": 141010, + "ĠÑĢазмеÑīен": 141011, + "ĠкÑĥд": 141012, + "ĠкÑĥда": 141013, + "غض": 141014, + "غضب": 141015, + "ĠTambém": 141016, + "à¸Īัà¸Ķสà¹Īà¸ĩ": 141017, + "à¸ģารà¹ģสà¸Ķà¸ĩ": 141018, + "onomÃŃa": 141019, + "Ġанг": 141020, + "Ġангли": 141021, + "Ġанглий": 141022, + "ĠанглийÑģк": 141023, + "Ġznal": 141024, + "Ġznalaz": 141025, + "ĠznalazÅĤ": 141026, + "תר×Ĵ": 141027, + "תר×Ĵ×ķ×Ŀ": 141028, + "ĠÑģнов": 141029, + "ĠÑģнова": 141030, + "ĠÑĩаÑģа": 141031, + "Ġcommunauté": 141032, + "ĠespecÃŃfica": 141033, + "ĠLá»ĭch": 141034, + "Ġlié": 141035, + "ÙģØ¬Ø±": 141036, + "à¹Ģà¸ģà¹Īà¸ĩ": 141037, + "عاÙĦ": 141038, + "عاÙĦج": 141039, + "Ø£ÙĨظ": 141040, + "Ø£ÙĨظÙħØ©": 141041, + "ESİ": 141042, + "ĠاÙĦØŃدÙĬد": 141043, + "à¸ŀระà¸Ńà¸ĩà¸Ħà¹Į": 141044, + "Ġפרשת": 141045, + "Ġдвиж": 141046, + "ĠдвижениÑı": 141047, + "ĠاÙĦجارÙĬ": 141048, + "à¸ĺาà¸Ļี": 141049, + "неÑģен": 141050, + "ĠاÙĦÙĨÙĩائÙĬ": 141051, + "ĠбеÑĢ": 141052, + "ĠбеÑĢем": 141053, + "ĠбеÑĢеменн": 141054, + "Ġdépartement": 141055, + "à¹Ģà¸Ĺีย": 141056, + "à¹Ģà¸Ĺียà¸ļ": 141057, + "ĠÐľÐ°ÑĢи": 141058, + "ĠнекоÑĤоÑĢÑĭÑħ": 141059, + "обеÑģп": 141060, + "обеÑģпеÑĩен": 141061, + "×Ĺ×ķ×ĸ": 141062, + "×Ĺ×ķ×ĸ×Ķ": 141063, + "ÙĨتج": 141064, + "à¸Īะà¹Ħà¸Ķà¹īรัà¸ļ": 141065, + "á»°": 141066, + "Ġéléments": 141067, + "عط": 141068, + "عطاء": 141069, + "Ġtắt": 141070, + "iá»ĩm": 141071, + "ÑİÑīиÑħÑģÑı": 141072, + "ãģĹãģ°": 141073, + "ãģĹãģ°ãĤīãģı": 141074, + "ĠпоможеÑĤ": 141075, + "à¸Ĥà¸ĵะà¸Ļีà¹ī": 141076, + "Ġעשר×ķת": 141077, + "éģķãģ£ãģ¦": 141078, + "ĠпÑĢог": 141079, + "ĠпÑĢогн": 141080, + "ĠпÑĢогноз": 141081, + "ĠtÅĤ": 141082, + "ĠtÅĤum": 141083, + "ĠtÅĤumacz": 141084, + "Tür": 141085, + "Türkiye": 141086, + "ãģįãģ£": 141087, + "ãģįãģ£ãģĭãģij": 141088, + "Ġ×Ķ׳×ķ׼": 141089, + "Ġ×Ķ׳×ķ׼×Ĺ×Ļ": 141090, + "ĠìĥĿìĤ°": 141091, + "ĠÑĦоÑĢмÑĭ": 141092, + "ç¾İãģĹãģĦ": 141093, + "à¸Ľà¸£à¸¶à¸ģ": 141094, + "à¸Ľà¸£à¸¶à¸ģษา": 141095, + "Ġlumière": 141096, + "ãĤªãĥ¼ãĥĹ": 141097, + "ãĤªãĥ¼ãĥĹãĥ³": 141098, + "à¸Ľà¸·à¸Ļ": 141099, + "วัสà¸Ķ": 141100, + "วัสà¸Ķุ": 141101, + "еÑĢÑĤв": 141102, + "ÙĥÙĦÙģ": 141103, + "ï½£": 141104, + "à¸ĺรรมà¸Ķา": 141105, + "׳×ĺר": 141106, + "ĠпÑĢедÑģÑĤавлÑıеÑĤ": 141107, + "Ġanálisis": 141108, + "Ġbãi": 141109, + "باÙĤÙĬ": 141110, + "à¸Ľà¸£à¸°à¹Ģà¸Ķ": 141111, + "à¸Ľà¸£à¸°à¹Ģà¸Ķà¹ĩà¸Ļ": 141112, + "ĠÑģлÑĥÑĩаÑı": 141113, + "ĠÑģлÑĥÑĩаÑıÑħ": 141114, + "ÐĽÐIJ": 141115, + "สัà¸ĩà¹Ģà¸ģ": 141116, + "สัà¸ĩà¹Ģà¸ģà¸ķ": 141117, + "Ġprzec": 141118, + "Ġprzecież": 141119, + "ÙħصÙĦ": 141120, + "ÙħصÙĦØŃØ©": 141121, + "ש×ķ×§×ķ׾×ĵ": 141122, + "ĠобоÑĢÑĥдованиÑı": 141123, + "ĠtrwaÅĤ": 141124, + "رÙĪÙħ": 141125, + "ìķĪëĤ´": 141126, + "ĠNghá»ĭ": 141127, + "خش": 141128, + "à¸ļาà¸Ħาร": 141129, + "à¸ļาà¸Ħารà¹Īา": 141130, + "ĠопÑĨион": 141131, + "ĠÑģозданиÑı": 141132, + "ãĤ³ãĤ¹ãĥĪ": 141133, + "Ġ×Ķ×¢×ľ×Ļ": 141134, + "Ġ×Ķ×¢×ľ×Ļ×ķף": 141135, + "läuft": 141136, + "ãĥĻãĤ¹ãĥĪ": 141137, + "Ġrê": 141138, + "Ġrêve": 141139, + "×IJ×ij×Ļ×ij": 141140, + "×Ļ×Ļ×ļ": 141141, + "ë¶Ļ": 141142, + "ãĤ¤ãĥ³ãĥī": 141143, + "ÅĤoży": 141144, + "ÅĤożyÄĩ": 141145, + "عائÙĦ": 141146, + "عائÙĦØ©": 141147, + "Ø£ÙĪØ±": 141148, + "Ø£ÙĪØ±Ø§ÙĤ": 141149, + "à¸Ĺà¹īà¸Ńà¸ĩà¸ĸ": 141150, + "à¸Ĺà¹īà¸Ńà¸ĩà¸ĸิà¹Īà¸Ļ": 141151, + "Ġähn": 141152, + "Ġähnlich": 141153, + "ãĥŁãĥĭ": 141154, + "à¸ľà¸¹": 141155, + "à¸ľà¸¹à¹īà¸Ļ": 141156, + "à¸ľà¸¹à¹īà¸Ļำ": 141157, + "ĠмаÑĤеÑĢиалÑĭ": 141158, + "ĠкапиÑĤ": 141159, + "ĠкапиÑĤал": 141160, + "F": 141161, + "Ġseçil": 141162, + "Ġhứng": 141163, + "Ġintéressant": 141164, + "ãģ£ãģ¦ãģĦãģı": 141165, + "ĠeÄŁer": 141166, + "ëIJĺìĹĪìĬµëĭĪëĭ¤": 141167, + "ĠanlaÅŁma": 141168, + "ãģĶåĪ©ç͍": 141169, + "Ġ×ij×ĸ׼": 141170, + "Ġ×ij×ĸ׼×ķת": 141171, + "ëĿ¼ë©´": 141172, + "ĠÙĬÙĪØ³": 141173, + "ĠÙĬÙĪØ³Ùģ": 141174, + "أسÙĦØŃØ©": 141175, + "ĠGefühl": 141176, + "ĠноÑĢмалÑĮн": 141177, + "ãĥĻãĥ³": 141178, + "ãģķãĤĮãĤĭãģĵãģ¨": 141179, + "ĠÐijеÑģ": 141180, + "ãģ¨ãģĦãģĪãģ°": 141181, + "ĠÙħÙĩÙħ": 141182, + "ĠÙħÙĩÙħØ©": 141183, + "ãģ§ãģĹãĤĩãģĨãģŃ": 141184, + "ĠêµŃëĤ´": 141185, + "à¹Ģมà¹ĩà¸Ķ": 141186, + "×ŀ×ijקר": 141187, + "ĠاÙĦدÙĨÙĬ": 141188, + "ĠاÙĦدÙĨÙĬا": 141189, + "à¸Ĭู": 141190, + "кÑĢÑĥÑĤ": 141191, + "Ġthoáng": 141192, + "Ġ׳×ĵר": 141193, + "Ġ׳×ĵרש": 141194, + "ĠÑĢаÑģÑģказал": 141195, + "ĠAuÃŁerdem": 141196, + "פ×IJר": 141197, + "פ×IJרק": 141198, + "Ġ×ŀש×Ĺ×§×Ļ×Ŀ": 141199, + "צר׼×Ļ×Ŀ": 141200, + "×ŀ×ĵ×ķ": 141201, + "×ŀ×ĵ×ķ×Ļ×§": 141202, + "èĭ¦ãģĹ": 141203, + "ĠÑģиг": 141204, + "ĠÑģигнал": 141205, + "ĠMá»įi": 141206, + "Ġtrữ": 141207, + "ĠnastÄĻp": 141208, + "ĠnastÄĻpnie": 141209, + "Ġì¶Ķì§Ħ": 141210, + "ĠاÙĦÙģÙĨد": 141211, + "ĠاÙĦÙģÙĨدÙĤ": 141212, + "koÅĦczyÅĤ": 141213, + "สีà¹Ī": 141214, + "×§×Ļ×ij": 141215, + "×§×Ļ×ij×ķ×¥": 141216, + "ĠнÑĥжнÑĭ": 141217, + "大åĪĩ": 141218, + "大åĪĩãģª": 141219, + "æıĽãģĪ": 141220, + "ת×ķס": 141221, + "ת×ķספת": 141222, + "ãģ£ãģ¦ãģĦãģªãģĦ": 141223, + "ĠмÑı": 141224, + "ĠмÑıг": 141225, + "ĠмÑıгк": 141226, + "Ġjakie": 141227, + "ĠjakieÅĽ": 141228, + "à¸ķำà¸ļ": 141229, + "à¸ķำà¸ļล": 141230, + "ĠìŀĪì§Ģ": 141231, + "×ij×ĺ×IJ": 141232, + "ĠоÑĤлиÑĩно": 141233, + "ÙĤÙIJ": 141234, + "ĠавÑĤомоб": 141235, + "ĠавÑĤомоби": 141236, + "ĠавÑĤомобилÑı": 141237, + "دÙĬÙħÙĤراطÙĬ": 141238, + "ĠاÙĦÙĪØ§": 141239, + "ĠاÙĦÙĪØ§ØŃد": 141240, + "ĠسÙĪØ±ÙĬØ©": 141241, + "أغÙĦ": 141242, + "أغÙĦب": 141243, + "ĠÑįкÑĢан": 141244, + "ãĥĹãĥ©ãĤ¤": 141245, + "ĠjesteÅĽ": 141246, + "ãĥIJãĥª": 141247, + "Ġ×Ķ×IJ×ķ×ķ×Ļר": 141248, + "ائÙĥ": 141249, + "à¸Ńยà¹Īาà¸ĩยิà¹Īà¸ĩ": 141250, + "ÑĢекÑĤ": 141251, + "Ġumo": 141252, + "Ġumoż": 141253, + "Ġumożli": 141254, + "Ġumożliw": 141255, + "Ġumożliwia": 141256, + "Ġnächste": 141257, + "ĠìŀĪì§Ģë§Į": 141258, + "ĠпÑĢедн": 141259, + "ĠпÑĢедназ": 141260, + "ĠпÑĢедназнаÑĩен": 141261, + "Ġmaçı": 141262, + "Ġpomi": 141263, + "ĠpomiÄĻd": 141264, + "ĠpomiÄĻdzy": 141265, + "ĠاÙĦÙĦÙĤاء": 141266, + "à¹Ģà¸Ķà¸Ńะ": 141267, + "ĠновоÑģÑĤи": 141268, + "×ŀ×Ĺ׾×Ķ": 141269, + "رÙĬاضÙĬ": 141270, + "à¸Ķà¸Ļ": 141271, + "à¸Ķà¸Ļà¸ķรี": 141272, + "بصر": 141273, + "ìĬ¤íĥĢ": 141274, + "scripción": 141275, + "Ġnapisa": 141276, + "ĠnapisaÅĤ": 141277, + "Ġ׳ש×ŀ×¢": 141278, + "ĠاÙĦÙħØŃÙĦÙĬ": 141279, + "Ġhiá»ĥn": 141280, + "×IJ×Ĺ": 141281, + "×IJ×Ĺר×IJ×Ļ": 141282, + "ĠгÑĢаниÑĨ": 141283, + "æīĭç¶ļãģį": 141284, + "Ùĥسب": 141285, + "Ġà¹ģà¸ķà¹Īà¸ĸà¹īา": 141286, + "à¸Ķาวà¸Ļà¹Į": 141287, + "à¸Ķาวà¸Ļà¹Įà¹Ĥหลà¸Ķ": 141288, + "ãĤĭãģĵãģ¨ãģĮãģ§ãģįãģ¾ãģĻ": 141289, + "åŁºæľ¬çļĦãģ«": 141290, + "ÙĪÙĦاد": 141291, + "räume": 141292, + "دÙģØ§Ø¹": 141293, + "×Ļצע": 141294, + "ĠOczy": 141295, + "ĠOczywiÅĽcie": 141296, + "ĠÅģ": 141297, + "ĠÅģa": 141298, + "اÙĦÙĬاب": 141299, + "اÙĦÙĬاباÙĨ": 141300, + "áºłI": 141301, + "ĠBirliÄŁi": 141302, + "×Ķ×ķצ": 141303, + "×Ķ×ķצ×IJת": 141304, + "ĠÄijua": 141305, + "Ġê·¸ëŁ¬ëĭĪê¹Į": 141306, + "Ġréalité": 141307, + "عÙĦاÙĤات": 141308, + "Jeste": 141309, + "JesteÅĽ": 141310, + "Ġмнож": 141311, + "ĠмножеÑģÑĤво": 141312, + "K": 141313, + "ãĥĹãĥŃãĤ¸ãĤ§": 141314, + "ãĥĹãĥŃãĤ¸ãĤ§ãĤ¯ãĥĪ": 141315, + "ĠÑĦл": 141316, + "ظÙĨ": 141317, + "×Ĵ׾×Ĵ׾": 141318, + "ĠmÅĤodzie": 141319, + "ĠmÅĤodzież": 141320, + "à¸Ļà¹īำà¸ķา": 141321, + "à¸Ļà¹īำà¸ķาล": 141322, + "ÐĽÐķ": 141323, + "×ij×ķ×ĺ": 141324, + "Ġ׾×Ķ×Ĵ×Ļ×ĵ": 141325, + "ãģĵãģ¨ãĤĤãģĤãĤĭ": 141326, + "زاد": 141327, + "×ŀ×Ļ×ĵ×¢": 141328, + "ĠgÅĤównie": 141329, + "ãĥıãĤ¦": 141330, + "ãĥıãĤ¦ãĤ¹": 141331, + "бел": 141332, + "Ġétape": 141333, + "ðŁĺĢ": 141334, + "ĠмоделÑĮ": 141335, + "aģını": 141336, + "ש×Ĺ×§": 141337, + "ש×Ĺקף": 141338, + "Ġniño": 141339, + "à¸Ĭà¹īาà¸ĩ": 141340, + "à¹Ģลีย": 141341, + "ĠÑĦоÑĢме": 141342, + "ĠاÙĦشرÙĬÙģ": 141343, + "ĠÑĥдаÑĢ": 141344, + "arriv": 141345, + "arrivée": 141346, + "ĠmiesiÄĻ": 141347, + "ĠmiesiÄĻcy": 141348, + "ØŃرÙĥ": 141349, + "ØŃرÙĥات": 141350, + "ĠDiá»ħn": 141351, + "ÐĿЫ": 141352, + "ãģ¾ãģ£ãģŁãģı": 141353, + "Ġ×Ļר×ķ×§": 141354, + "еÑģÑĤеÑģÑĤв": 141355, + "еÑģÑĤеÑģÑĤвенн": 141356, + "Ġê·¸ëŁ¼": 141357, + "ĠاÙĦÙħتÙĪ": 141358, + "ĠاÙĦÙħتÙĪØ³Ø·": 141359, + "Ġbénéfic": 141360, + "Ġbénéficie": 141361, + "Ġwybra": 141362, + "ĠwybraÄĩ": 141363, + "ĠاÙĦزÙħÙĨ": 141364, + "ĠпÑĢинÑı": 141365, + "ĠпÑĢинÑıл": 141366, + "Ù쨱ØŃ": 141367, + "Ġksz": 141368, + "ĠksztaÅĤ": 141369, + "ĠksztaÅĤt": 141370, + "ק׾×ĺ": 141371, + "×ij×ĵ×Ļקת": 141372, + "Ġgiấ": 141373, + "Ġgiấc": 141374, + "ĠproprietÃł": 141375, + "деÑĢжан": 141376, + "ĠKöln": 141377, + "ĠGüzel": 141378, + "×Ļפ×ķ×Ļ": 141379, + "ĠCuá»Ļc": 141380, + "ÑįÑĤаж": 141381, + "ترÙĥÙĬ": 141382, + "ترÙĥÙĬز": 141383, + "ложений": 141384, + "ĠпÑĥ": 141385, + "ĠпÑĥÑĤи": 141386, + "اختÙĦاÙģ": 141387, + "åĩºãģ¦ãģıãĤĭ": 141388, + "à¸ļุà¸ģ": 141389, + "âĿ¤": 141390, + "ÑĦан": 141391, + "פש×ĺ": 141392, + "à¸ļัà¸Ļà¹Ģà¸Ĺ": 141393, + "à¸ļัà¸Ļà¹Ģà¸Ĺิà¸ĩ": 141394, + "ĠاÙĦساد": 141395, + "ĠاÙĦسادس": 141396, + "ĠاÙĦÙĤÙĪÙħ": 141397, + "ĠاÙĦÙĤÙĪÙħÙĬ": 141398, + "Ġyönetici": 141399, + "ÙĩÙĪØ§Øª": 141400, + "ÙĩÙĪØ§ØªÙģ": 141401, + "Ġresponsável": 141402, + "ĠподдеÑĢжива": 141403, + "ĠاÙĦسÙĦØ·": 141404, + "ĠاÙĦسÙĦطات": 141405, + "ãģĹãģ¦ãģĬãģı": 141406, + "ãĥļãĥĥãĥĪ": 141407, + "à¸Ľà¸¸à¹Īม": 141408, + "ĠoglÄħda": 141409, + "ÙĨاÙĤ": 141410, + "ÙĨاÙĤØ´": 141411, + "à¸Ħà¸Ńà¸Ļà¹Ĥà¸Ķ": 141412, + "ĠMüsl": 141413, + "ĠMüslü": 141414, + "ĠMüslüman": 141415, + "ĠMoż": 141416, + "ĠMożna": 141417, + "Ġnumérique": 141418, + "Ġvá»ı": 141419, + "ĠسÙĬتÙħ": 141420, + "ĠyerleÅŁ": 141421, + "монÑĤаж": 141422, + "Ġgoût": 141423, + "ãģ¦ãģĬãĤĬãģ¾ãģĻ": 141424, + "ĠKhánh": 141425, + "Ġедин": 141426, + "ĠединÑģÑĤв": 141427, + "اÙĨØ®Ùģ": 141428, + "اÙĨØ®ÙģØ§Ø¶": 141429, + "ìĭľíĹĺ": 141430, + "Ġlặng": 141431, + "ĠÑĢолÑĮ": 141432, + "à¸ķัวà¹ģà¸Ĺà¸Ļ": 141433, + "à¸Ħà¹Īาà¹ĥà¸Ĭà¹ī": 141434, + "à¸Ħà¹Īาà¹ĥà¸Ĭà¹īà¸Īà¹Īาย": 141435, + "Ġverfüg": 141436, + "Ġverfügbar": 141437, + "ìĻĶëĭ¤": 141438, + "ãģĦãģļ": 141439, + "ãģĦãģļãĤĮ": 141440, + "ĠиÑģÑģледованиÑı": 141441, + "меÑīа": 141442, + "×Ķ×Ĺ": 141443, + "×Ķ×Ĺ×ĸר": 141444, + "à¹ģà¸Łà¸Ĭัà¹Īà¸Ļ": 141445, + "تصرÙģ": 141446, + "إرÙĩاب": 141447, + "ĠexercÃŃcio": 141448, + "Ġélev": 141449, + "Ġélevé": 141450, + "สัà¸įà¸įาà¸ĵ": 141451, + "ÃĸZ": 141452, + "ãĥĹãĥŃãĤ°": 141453, + "ãĥĹãĥŃãĤ°ãĥ©": 141454, + "ãĥĹãĥŃãĤ°ãĥ©ãĥł": 141455, + "ĠwewnÄĻtrzn": 141456, + "Ġhenüz": 141457, + "é£Ľãģ³": 141458, + "à¹Ģà¸Ķà¸Ńรà¹Į": 141459, + "ÑģÑĥж": 141460, + "ÑģÑĥжден": 141461, + "شعÙĪØ¨": 141462, + "ãģ²ãģ¨ãĤĬ": 141463, + "ĠwyÅĤÄħ": 141464, + "ĠwyÅĤÄħcznie": 141465, + "ĠплоÑħо": 141466, + "ÐĶÐķ": 141467, + "Ầ": 141468, + "ÙģØ¹Ø§ÙĦÙĬ": 141469, + "ÙģØ¹Ø§ÙĦÙĬات": 141470, + "ĠاÙĦعشر": 141471, + "ÑģÑĤÑĥпил": 141472, + "Ġyarg": 141473, + "Ġyargı": 141474, + "нÑİÑİ": 141475, + "×ķ×IJ×ij": 141476, + "Ġuç": 141477, + "Ġuçak": 141478, + "ë²½": 141479, + "تÙĪÙĤÙĬ": 141480, + "تÙĪÙĤÙĬع": 141481, + "Ġì¤ijìĭ¬": 141482, + "׳×Ļ×ķ×ķ×ĺ": 141483, + "Ø£ÙĥÙĦ": 141484, + "ç½®ãģĦãģ¦": 141485, + "éłĤãģį": 141486, + "Ġ×Ķת×ij": 141487, + "Ġ×Ķת×ij×Ļ×¢×Ķ": 141488, + "Ġdürfen": 141489, + "ÙħÙĤاÙĦ": 141490, + "ÙħÙĤاÙĦات": 141491, + "ĠزÙħÙĨ": 141492, + "à¸ŀฤศ": 141493, + "à¸ŀฤศà¸Ī": 141494, + "à¸ŀฤศà¸Īิà¸ģ": 141495, + "à¸ŀฤศà¸Īิà¸ģายà¸Ļ": 141496, + "ĠнеÑģколÑĮ": 141497, + "ĠнеÑģколÑĮки": 141498, + "ĠнеÑģколÑĮкиÑħ": 141499, + "Ġcriança": 141500, + "มิà¸ķร": 141501, + "×ŀ׼×Ļר×ķת": 141502, + "à¸ģารà¸ļริหาร": 141503, + "Ġtélécharg": 141504, + "Ġ×IJ×ķ×Ķ×ijת": 141505, + "ĠBüro": 141506, + "ä½ľãģ£ãģŁ": 141507, + "ĠKiÅŁi": 141508, + "ç¾İåij³ãģĹ": 141509, + "à¹Ģลยà¸Ħà¹Īะ": 141510, + "à¸ŀà¸ļà¸ģัà¸ļ": 141511, + "à¸Īà¹īา": 141512, + "Ġçer": 141513, + "Ġçerç": 141514, + "Ġçerçeve": 141515, + "ãĤĴä½ľãģ£ãģ¦": 141516, + "ĠпеÑĢвÑĥÑİ": 141517, + "×ŀצר×Ļ×Ŀ": 141518, + "×IJ׾×ķ×Ķ": 141519, + "×IJ׾×ķ×Ķ×Ļ×Ŀ": 141520, + "Ġagré": 141521, + "Ġagréable": 141522, + "Ġayır": 141523, + "İLİ": 141524, + "ãĤ¥": 141525, + "ĠíĺĦ": 141526, + "ĠíĺĦìĭ¤": 141527, + "ثاÙĦØ«": 141528, + "ת×ĸ": 141529, + "ת×ĸ×ķ׳×Ķ": 141530, + "ãģ¨ãģĦãģ£ãģ¦": 141531, + "ãģ¨ãģĦãģ£ãģ¦ãĤĤ": 141532, + "ĠابÙĪ": 141533, + "ĠÑģобак": 141534, + "é£Łãģ¹ãģŁ": 141535, + "Ġданном": 141536, + "à¹Ģลิ": 141537, + "à¹Ģลิศ": 141538, + "Ġíļ": 141539, + "Ġíļ¨": 141540, + "Ġíļ¨ê³¼": 141541, + "ãĤĤãĤīãģĪãĤĭ": 141542, + "׳צ׾": 141543, + "ÑĦик": 141544, + "ÑĦикÑģ": 141545, + "ĠjesteÅĽmy": 141546, + "ת×Ĺ×ķש×Ķ": 141547, + "à¹Ħมà¹Īà¸Ħวร": 141548, + "ĠØŃسÙĬÙĨ": 141549, + "à¸ģารลà¸ĩà¸Ĺุà¸Ļ": 141550, + "ë´¤": 141551, + "ĠÐĺменно": 141552, + "à¸ļà¸Ńรà¹Į": 141553, + "à¸ļà¸Ńรà¹Įà¸Ķ": 141554, + "ĠCảnh": 141555, + "ìĦľë¹ĦìĬ¤": 141556, + "Ġполов": 141557, + "Ġполовин": 141558, + "ĠзамеÑĩа": 141559, + "ãģĦãĤįãĤĵãģª": 141560, + "Ġ×ij×Ļ×§": 141561, + "Ġ×ij×Ļקש": 141562, + "лÑĥÑĪ": 141563, + "ãĤĴè¿İ": 141564, + "ãĤĴè¿İãģĪ": 141565, + "جرÙĬÙħØ©": 141566, + "Ġtây": 141567, + "ĠاÙĦÙĨÙĪ": 141568, + "ĠاÙĦÙĨÙĪÙĪÙĬ": 141569, + "ÃĤN": 141570, + "ì¿ł": 141571, + "หà¸Ļาว": 141572, + "Ġ×ij×Ĺש×ij×ķף": 141573, + "زار": 141574, + "à¸Ķาร": 141575, + "à¸Ķารา": 141576, + "ĠÅĽl": 141577, + "ĠÅĽlub": 141578, + "มีà¸Ħวามสุà¸Ĥ": 141579, + "Ġnhu": 141580, + "ĠnhuáºŃn": 141581, + "ÙħØŃطة": 141582, + "à¹Ģสืà¹īà¸Ńà¸ľà¹īา": 141583, + "ĠТолÑĮко": 141584, + "ĠÙĥس": 141585, + "ĠÙĥسارة": 141586, + "ÙħشرÙĪØ¹": 141587, + "niÄĻcia": 141588, + "×¢×Ľ×©×Ļ×ķ": 141589, + "تÙĦÙģ": 141590, + "تÙĦÙ쨲ÙĬ": 141591, + "تÙĦÙ쨲ÙĬÙĪÙĨ": 141592, + "ĠlÆ°á»Ľi": 141593, + "ĠÐľÐ¾ÑģквÑĭ": 141594, + "Ġréserve": 141595, + "ĠanlaÅŁ": 141596, + "ĠanlaÅŁÄ±l": 141597, + "ĠedeceÄŁi": 141598, + "รà¸Ńà¸ĩà¹Ģà¸Ĺà¹īา": 141599, + "Ġبط": 141600, + "ĠبطرÙĬ": 141601, + "ĠبطرÙĬÙĤØ©": 141602, + "ãģ¦ãģĹãģ¾ãģ£ãģ¦": 141603, + "ãĤĤãĤīãģ£ãģ¦": 141604, + "برج": 141605, + "æ±ļ": 141606, + "æ±ļãĤĮ": 141607, + "Ġchoc": 141608, + "Ġchocia": 141609, + "Ġchociaż": 141610, + "Ġzobac": 141611, + "ĠzobaczyÄĩ": 141612, + "пÑĢÑı": 141613, + "пÑĢÑıжен": 141614, + "ĠÑĨиÑĦ": 141615, + "ĠÑĨиÑĦÑĢ": 141616, + "Ġмам": 141617, + "ĠвзÑıÑĤÑĮ": 141618, + "Ġchạm": 141619, + "جسÙħ": 141620, + "ØŃÙħاس": 141621, + "à¹Ģลà¹Īม": 141622, + "à¸ŀิษ": 141623, + "×Ķפ׼×ķ": 141624, + "à¸Ĭà¹Īà¸Ńà¸ĩà¸Ĺาà¸ĩ": 141625, + "Ġвек": 141626, + "Ġвека": 141627, + "Æ¡Ìģ": 141628, + "Æ¡Ìģi": 141629, + "ĠTiá»ģn": 141630, + "Ġtrầm": 141631, + "мÑĭÑĪ": 141632, + "мÑĭÑĪл": 141633, + "ĠÑĤÑĥ": 141634, + "ĠÑĤÑĥÑĢиÑģÑĤ": 141635, + "Ġchc": 141636, + "ĠchcÄħ": 141637, + "Ġавг": 141638, + "ĠавгÑĥÑģÑĤ": 141639, + "ĠавгÑĥÑģÑĤа": 141640, + "ס×IJ×ķת": 141641, + "Ġר×Ĵ׾": 141642, + "à¸ľà¸¥à¸ģระà¸Ĺ": 141643, + "à¸ľà¸¥à¸ģระà¸Ĺà¸ļ": 141644, + "å¤īãĤıãĤĭ": 141645, + "Ġ×Ķ×IJ×Ĺר×ķ׳×Ļ×Ŀ": 141646, + "سÙģÙĬر": 141647, + "ĠÑĩаÑīе": 141648, + "ãģĦãĤī": 141649, + "ãģĦãĤīãģ£": 141650, + "ãģĦãĤīãģ£ãģĹãĤĥ": 141651, + "×ķ×ŀ׳×Ļ×Ŀ": 141652, + "Ġarttır": 141653, + "ĠChá»ĭ": 141654, + "Ġì¡°ì§ģ": 141655, + "ĠÑĥÑģпеÑħ": 141656, + "Ġ×¢×ķס": 141657, + "Ġ×¢×ķסק": 141658, + "ĠìĥĿëªħ": 141659, + "ÑĨиÑĤ": 141660, + "Ġregión": 141661, + "ÐŀÐĿ": 141662, + "ĠdoÄŁum": 141663, + "ĠyaÅŁad": 141664, + "ĠyaÅŁadıģı": 141665, + "à¸Ĺà¸Ķลà¸Ńà¸ĩ": 141666, + "Ġgözü": 141667, + "ש×Ļר×Ķ": 141668, + "дÑĥмал": 141669, + "Ġdaģı": 141670, + "Ġdaģıt": 141671, + "à¸Ĺีมà¸ĩาà¸Ļ": 141672, + "Ġtiá»ģm": 141673, + "ĠاÙĦÙĥبر": 141674, + "ĠاÙĦÙĥبرÙī": 141675, + "ì¹Ń": 141676, + "ĠGünc": 141677, + "ĠGüncelle": 141678, + "ĠGüncelleme": 141679, + "ê¹Ĭ": 141680, + "ĠобоÑĢÑĥдование": 141681, + "ĠÑĢеÑĪа": 141682, + "Ụ": 141683, + "ĠпиÑĤ": 141684, + "ĠпиÑĤаниÑı": 141685, + "à¹Ģรียà¸ļ": 141686, + "×Ľ×ª×Ļ×ij×Ķ": 141687, + "Ġпон": 141688, + "ĠпонÑĢав": 141689, + "ĠпонÑĢави": 141690, + "Ġ×Ķ×ķ׾×ĵ": 141691, + "Ġ×Ķ×ķ׾×ĵת": 141692, + "Ġê²ģ": 141693, + "Ġê²ģëĭĪëĭ¤": 141694, + "ĠпеÑĢвой": 141695, + "ãĥ©ãĤ¤ãĥķ": 141696, + "ĠÅŁiir": 141697, + "krÄĻ": 141698, + "krÄĻc": 141699, + "Ġthiá»ĥu": 141700, + "à¹Ģลยà¸Ĺี": 141701, + "à¹Ģลยà¸Ĺีà¹Ģà¸Ķียว": 141702, + "×ĺ×¢×ł×ķת": 141703, + "ائÙĩÙħ": 141704, + "Ġ×IJס×ķר": 141705, + "ĠплаÑĤеж": 141706, + "تردد": 141707, + "Ġmożliwe": 141708, + "ĠkhỼ": 141709, + "ĠkhỼp": 141710, + "تÙģØ§Ø¹ÙĦ": 141711, + "ĠÑĪколÑĮ": 141712, + "ĠÑĪколÑĮн": 141713, + "ĠÙĤصة": 141714, + "Ġmétier": 141715, + "nÄĻÅĤa": 141716, + "หลà¹Īà¸Ń": 141717, + "Ġá»§ng": 141718, + "Ġprzegl": 141719, + "ĠprzeglÄħd": 141720, + "ĠاÙĦÙħتعÙĦ": 141721, + "ĠاÙĦÙħتعÙĦÙĤØ©": 141722, + "ĠÑģÑĭн": 141723, + "Ġволн": 141724, + "ãĥĩãĥ¼ãĥĪ": 141725, + "ĠÐŃÑĤи": 141726, + "ĠкÑĢоме": 141727, + "à¸Ħารà¹Į": 141728, + "׳ק×ķ×ĵ×Ķ": 141729, + "Ġ׾ש×ŀ×ķ×¢": 141730, + "Ġ×ĸ×ķ׼ר": 141731, + "ï¼§": 141732, + "ÙĬÙİØ§": 141733, + "Ġgiá»ıi": 141734, + "åĥįãģı": 141735, + "ĠÑģни": 141736, + "ĠÑģнижен": 141737, + "à¹ģà¸Ķà¸Ķ": 141738, + "รุà¸Ļ": 141739, + "รุà¸Ļà¹ģรà¸ĩ": 141740, + "Ġhiá»ĩp": 141741, + "ografÃŃa": 141742, + "à¹Ģà¸Īà¸Ńรà¹Į": 141743, + "Ġдвиг": 141744, + "ĠдвигаÑĤ": 141745, + "ĠдвигаÑĤел": 141746, + "Ġüy": 141747, + "Ġüyeler": 141748, + "Ġüyeleri": 141749, + "ĠбÑĥк": 141750, + "ĠбÑĥкв": 141751, + "ãĤĤå¤ļãģı": 141752, + "Ġthiá»ĩt": 141753, + "ĠPaÃŃs": 141754, + "ĠطبÙĬعÙĬ": 141755, + "à¹ģà¸Īà¸ģ": 141756, + "ĠاÙĦصØŃÙĬØŃ": 141757, + "Ġappré": 141758, + "Ġappréci": 141759, + "Ġdecisión": 141760, + "Ġë°ĺëĵľ": 141761, + "Ġë°ĺëĵľìĭľ": 141762, + "ĠÑĤебе": 141763, + "ãĤ·ãĥ¼ãĤº": 141764, + "ãĤ·ãĥ¼ãĤºãĥ³": 141765, + "ĠдалÑĮн": 141766, + "ĠìĬ¤": 141767, + "ĠìĬ¤ìĬ¤": 141768, + "ĠìĬ¤ìĬ¤ë¡ľ": 141769, + "ĠThá»ĥ": 141770, + "ĠkarÅŁ": 141771, + "ĠkarÅŁÄ±s": 141772, + "ĠkarÅŁÄ±sında": 141773, + "ĠKön": 141774, + "ĠKönig": 141775, + "ивание": 141776, + "×ij×ķצע": 141777, + "глаÑģ": 141778, + "Ġtwó": 141779, + "Ġtwórc": 141780, + "à¸Ľà¸ģà¸Ħร": 141781, + "à¸Ľà¸ģà¸Ħรà¸Ńà¸ĩ": 141782, + "ĠGÅĤ": 141783, + "ĠGÅĤówn": 141784, + "ĠUnterstüt": 141785, + "ĠUnterstützung": 141786, + "ĠдÑĥÑħ": 141787, + "ĠдÑĥÑħов": 141788, + "Ø£ÙħاÙĨ": 141789, + "×Ĺשש": 141790, + "تظ": 141791, + "تظاÙĩر": 141792, + "ĠлÑİбом": 141793, + "à¸ķาร": 141794, + "à¸ķาราà¸ĩ": 141795, + "Ġkról": 141796, + "Ø£ØŃدث": 141797, + "ì¡Įëĭ¤": 141798, + "ÐļÑĥÑĢÑģ": 141799, + "ãĥĥãĥĦ": 141800, + "×ŀ×§×ķ×ij׾": 141801, + "ĠÑģимвол": 141802, + "Ġdésorm": 141803, + "Ġdésormais": 141804, + "wüns": 141805, + "wünsche": 141806, + "Ñĥни": 141807, + "ÑĥниÑĨип": 141808, + "ÑĥниÑĨипалÑĮн": 141809, + "หลัà¸ģสูà¸ķร": 141810, + "ÙĨتشر": 141811, + "Ġал": 141812, + "Ġалк": 141813, + "Ġалког": 141814, + "Ġалкогол": 141815, + "ĠÑĥÑĩиÑĤÑĭва": 141816, + "à¸ģำà¸ģัà¸ļ": 141817, + "Ġ×ľ×¤×¢×ķ׾": 141818, + "ĠìĹ°ê²°": 141819, + "sÄħd": 141820, + "ĠاÙĦØ£ÙĬ": 141821, + "ĠاÙĦØ£ÙĬاÙħ": 141822, + "غÙĬاب": 141823, + "ĠнаÑĢ": 141824, + "ĠнаÑĢко": 141825, + "×ŀ×ķ×ĵ×¢": 141826, + "ĠÑģеÑĢии": 141827, + "пиÑģÑĭва": 141828, + "สิว": 141829, + "ç¶ļãģĦãģ¦": 141830, + "çͳãģĹè¾¼ãģ¿": 141831, + "Ġ׾×Ĵר": 141832, + "Ġ׾×Ĵר×ķ×Ŀ": 141833, + "Ġдем": 141834, + "Ġдемо": 141835, + "Ġë³´ëĤ´": 141836, + "تÙĩدÙĬد": 141837, + "ĠÙħØ´ÙĬرا": 141838, + "Ġduy": 141839, + "Ġduyá»ĩt": 141840, + "ĠwiÄĻksze": 141841, + "ÙħعاÙĬ": 141842, + "ÙħعاÙĬÙĬر": 141843, + "ĠGda": 141844, + "ĠGdaÅĦsk": 141845, + "Ġrah": 141846, + "Ġrahats": 141847, + "Ġrahatsız": 141848, + "ר×ķצ×Ķ": 141849, + "lös": 141850, + "lösung": 141851, + "ĠТаким": 141852, + "ÑĪед": 141853, + "ÑĪедÑĪ": 141854, + "عزÙĦ": 141855, + "Ġרש×Ļ×ŀת": 141856, + "Ġ׾×Ķ×Ļ׼": 141857, + "Ġ׾×Ķ×Ļ×Ľ×ł×¡": 141858, + "ĠпÑĥÑĤ": 141859, + "ĠпÑĥÑĤеÑĪ": 141860, + "ĠпÑĥÑĤеÑĪеÑģÑĤв": 141861, + "ĠnotÃŃcia": 141862, + "ĠalÄ±ÅŁ": 141863, + "ĠalÄ±ÅŁver": 141864, + "ĠalÄ±ÅŁveriÅŁ": 141865, + "ĠwÅĤos": 141866, + "ĠwÅĤosów": 141867, + "Ġبغ": 141868, + "Ġبغداد": 141869, + "Ġveröffent": 141870, + "Ġveröffentlicht": 141871, + "ĠKhá": 141872, + "Ġtán": 141873, + "ëIJĺ기": 141874, + "Ġ방문": 141875, + "ÙģÙĬÙĦ": 141876, + "à¹Ģà¸ģิà¸Ķà¸Īาà¸ģ": 141877, + "åı¯æĦĽ": 141878, + "åı¯æĦĽãģĦ": 141879, + "à¸ĸุà¸ĩ": 141880, + "ĠzewnÄĻtrzn": 141881, + "à¸łà¸²à¸©à¸²à¸Ńัà¸ĩà¸ģฤษ": 141882, + "Ġmáxima": 141883, + "Ġulus": 141884, + "Ġuluslararası": 141885, + "Ġ׳×Ķ׳": 141886, + "à¸Ĥà¹Īาวสาร": 141887, + "ĠìĿĺìĤ¬": 141888, + "à¹Ģหลืà¸Ńà¸ĩ": 141889, + "ĠدÙĤ": 141890, + "ĠدÙĤائÙĤ": 141891, + "สืà¹Īà¸Ńสาร": 141892, + "먼": 141893, + "ĠÑģоÑģÑĤоÑıнии": 141894, + "สมาà¸Ħม": 141895, + "á»Ĥ": 141896, + "ĠÐľÐ¾Ñģков": 141897, + "ĠÐľÐ¾ÑģковÑģк": 141898, + "×ŀס×ķ×Ĵ׾": 141899, + "ãģĭãģĭãĤĬ": 141900, + "ĠTruyá»ģn": 141901, + "à¹ģà¸Ĥà¹ĩà¸ĩà¹ģรà¸ĩ": 141902, + "×ŀ×Ĺ×ĸ×Ļ×§": 141903, + "à¹Ĥà¸ģà¹ī": 141904, + "ÙĬسر": 141905, + "ìĶ©": 141906, + "×IJ×ķ×§": 141907, + "×IJ×ķ×§×ĺ": 141908, + "×IJ×ķ×§×ĺ×ķ×ijר": 141909, + "Ġproximité": 141910, + "ÙħÙĨÙĩج": 141911, + "ĠاÙĦجز": 141912, + "ĠاÙĦجزائ": 141913, + "ĠاÙĦجزائرÙĬ": 141914, + "ĠÄIJiá»ĥm": 141915, + "Ġденеж": 141916, + "Ġденежн": 141917, + "ÙģØŃص": 141918, + "Ù쨦": 141919, + "ĠÐijÑĥд": 141920, + "×Ĵ×Ļ×ĵ×ķ׾": 141921, + "ĠÐĴедÑĮ": 141922, + "عÙĦاÙħØ©": 141923, + "Ġ×IJ×Ĺר×ķ׳×ķת": 141924, + "ãģĦãģŁãģłãģĦãģ¦": 141925, + "سÙĦØŃ": 141926, + "ØŃÙĦÙħ": 141927, + "زÙĪØ§Ø±": 141928, + "Ùĥسر": 141929, + "×ĺקס": 141930, + "Ġбан": 141931, + "Ġбанков": 141932, + "ĠпÑĢож": 141933, + "ĠпÑĢожива": 141934, + "liwo": 141935, + "liwoÅĽci": 141936, + "ĠTiếp": 141937, + "ĠاÙĦÙħÙĨاسب": 141938, + "ĠاÙĦØ®ÙĬار": 141939, + "ãģĬãģĭ": 141940, + "ãģĬãģĭãģĴ": 141941, + "à¸Ķà¸Ńà¸ģà¹Ħมà¹ī": 141942, + "ämp": 141943, + "ämpfe": 141944, + "à¸ķัà¹īà¸ĩà¹ĥà¸Ī": 141945, + "ĠзаÑīиÑĤ": 141946, + "ĠзаÑīиÑĤÑĭ": 141947, + "ĠThưá»Ŀng": 141948, + "ĠصÙģ": 141949, + "ĠصÙģØŃØ©": 141950, + "×Ĺ×ķרף": 141951, + "ãĥIJãĥĥãĤ°": 141952, + "Ġ×ĵ×Ļ×Ĵ": 141953, + "Ġ×ĵ×Ļ×Ĵ×Ļ×ĺ": 141954, + "Ġ×ĵ×Ļ×Ĵ×Ļ×ĺ׾×Ļ": 141955, + "Ġ×Ķ×Ĺ×ķ׾×Ļ×Ŀ": 141956, + "веÑī": 141957, + "веÑīа": 141958, + "ĠкÑĥлÑĮÑĤ": 141959, + "ĠкÑĥлÑĮÑĤÑĥ": 141960, + "ĠкÑĥлÑĮÑĤÑĥÑĢÑĭ": 141961, + "ĠاÙĦاÙĨترÙĨت": 141962, + "Ġhöch": 141963, + "Ġhöchst": 141964, + "Ġíĺķ": 141965, + "Ġíĺķíĥľ": 141966, + "Ġвой": 141967, + "ĠвойнÑĭ": 141968, + "ÐĽÐŀ": 141969, + "ìĭłìļ©": 141970, + "Ġ×ŀ×ij×ķס": 141971, + "Ġ×ŀ×ij×ķסס": 141972, + "×ŀ׳×Ļ×¢": 141973, + "Ġfiyatı": 141974, + "ĠÑģлÑĥж": 141975, + "ĠÑģлÑĥжбÑĭ": 141976, + "à¸Ĺัศ": 141977, + "à¸Ĺัศà¸Ļ": 141978, + "ãģĵãģ¨ãģĮå¤ļãģĦ": 141979, + "Ġ×Ķ×ŀשת": 141980, + "Ġ×Ķ×ŀשת×ŀש": 141981, + "å¯ĦãģĽ": 141982, + "×ŀש׾×ķ×Ĺ": 141983, + "æĻĤçĤ¹": 141984, + "æĻĤçĤ¹ãģ§": 141985, + "à¸ŀรี": 141986, + "à¸ŀรีà¹Ģมีย": 141987, + "à¸ŀรีà¹Ģมียรà¹Į": 141988, + "à¸ŀรีà¹Ģมียรà¹Įลีà¸ģ": 141989, + "Ġdifficolt": 141990, + "ĠdifficoltÃł": 141991, + "ãĥ¬ãĤ¹ãĥĪ": 141992, + "ãĥ¬ãĤ¹ãĥĪãĥ©ãĥ³": 141993, + "สมà¹Ģà¸Ķà¹ĩ": 141994, + "สมà¹Ģà¸Ķà¹ĩà¸Ī": 141995, + "Ġжид": 141996, + "Ġжидк": 141997, + "ĠzupeÅĤ": 141998, + "ĠzupeÅĤnie": 141999, + "ĠÙħجر": 142000, + "ĠÙħجرد": 142001, + "ãģĮå§ĭ": 142002, + "ãģĮå§ĭãģ¾": 142003, + "ãĤŃãĥ£ãĥ©": 142004, + "Ġ×IJ×ķ×ķ×Ļר": 142005, + "ãģĬäºĴ": 142006, + "ãģĬäºĴãģĦ": 142007, + "ĠpotrÃł": 142008, + "ĠPaÅĦst": 142009, + "ĠPaÅĦstwo": 142010, + "ĠبÙĬاÙĨ": 142011, + "ĠبÙĬاÙĨات": 142012, + "Ġиногда": 142013, + "ĠÑĢа": 142014, + "ĠÑĢаÑģÑĤв": 142015, + "ĠÑĢаÑģÑĤвоÑĢ": 142016, + "Ġ×ĸ×ŀ׳": 142017, + "ยิà¹īม": 142018, + "ÄĨ": 142019, + "ãģ¾ãģķ": 142020, + "ãģ¾ãģķãģ«": 142021, + "ãĥķãĤ¡ãĤ¤ãĥ«": 142022, + "ĠgördÃ¼ÄŁÃ¼": 142023, + "สà¸ĩà¸Ħร": 142024, + "สà¸ĩà¸Ħราม": 142025, + "ĠArkadaÅŁ": 142026, + "ĠrozwiÄħzania": 142027, + "×ŀ×ķ×ĺ": 142028, + "piÄĻ": 142029, + "piÄĻt": 142030, + "صغر": 142031, + "สย": 142032, + "สยาม": 142033, + "ãĤĨãģ£ãģıãĤĬ": 142034, + "Ġtrần": 142035, + "ĠeconomÃŃa": 142036, + "Ġgehören": 142037, + "ãĤ·ãĥ§ãĥ¼": 142038, + "ĠsÅĤucha": 142039, + "à¸ŀà¸Ńà¹ĥà¸Ī": 142040, + "ĠоÑĤмеÑĤил": 142041, + "ÙĨتÙĤÙĦ": 142042, + "Ġpropósito": 142043, + "ĠваÑĪего": 142044, + "Ġnhắn": 142045, + "à¹ģà¸ĸว": 142046, + "ĠкомиÑģ": 142047, + "ĠкомиÑģÑģи": 142048, + "ważnie": 142049, + "ĠyavaÅŁ": 142050, + "×ŀ×Ļ×§": 142051, + "×ŀ×Ļ×§×ķ×Ŀ": 142052, + "ש×IJ×ľ×ª": 142053, + "Ġyıllarda": 142054, + "ĠЮ": 142055, + "ĠЮÑĢ": 142056, + "×ł×¡×Ļ×ij×ķת": 142057, + "תצ": 142058, + "תצ×ķ×Ĵ": 142059, + "ĠоднÑĥ": 142060, + "Ġà¸Ńยà¹Īาà¸ĩà¹Ħร": 142061, + "Ġà¸Ńยà¹Īาà¸ĩà¹Ħรà¸ģà¹ĩà¸ķาม": 142062, + "ëģ¼": 142063, + "à¹Ħลà¹Ī": 142064, + "تسÙĦÙĬÙħ": 142065, + "بÙĦاغ": 142066, + "Ġìī": 142067, + "Ġìī½": 142068, + "Ġìī½ê²Į": 142069, + "ãĥļãĥ³": 142070, + "звÑĥÑĩ": 142071, + "ĠWäh": 142072, + "ĠWährend": 142073, + "Ġ×Ļ×Ļת": 142074, + "Ġ×Ļ×Ļ×ª×Ľ×Ł": 142075, + "Ġkhuyên": 142076, + "Ġvẽ": 142077, + "ĠамеÑĢ": 142078, + "ĠамеÑĢик": 142079, + "ĠамеÑĢикан": 142080, + "ĠамеÑĢиканÑģк": 142081, + "عجب": 142082, + "ãĥĽãĥ¼ãĥłãĥļãĥ¼ãĤ¸": 142083, + "ĠникÑĤо": 142084, + "ĠÙĤÙİ": 142085, + "ĠÙĤÙİØ§ÙĦ": 142086, + "ĠÙĤÙİØ§ÙĦÙİ": 142087, + "ÐIJÐĹ": 142088, + "ÙħجÙħÙĪØ¹": 142089, + "ÙħجÙħÙĪØ¹Ø§Øª": 142090, + "ĠnecessitÃł": 142091, + "Ġpobli": 142092, + "Ġpobliżu": 142093, + "Ġphấn": 142094, + "ĠСообÑī": 142095, + "ÙħÙĤاط": 142096, + "ÙħÙĤاطع": 142097, + "Ġ×Ķצ×ķר×ļ": 142098, + "laÅŁtırma": 142099, + "วิà¸Ķ": 142100, + "วิà¸Ķี": 142101, + "วิà¸Ķีà¹Ĥà¸Ń": 142102, + "Ġ그리ìĬ¤": 142103, + "Ġ그리ìĬ¤ëıĦ": 142104, + "ãĤ¿ãĤ¤ãĥŁ": 142105, + "ãĤ¿ãĤ¤ãĥŁãĥ³ãĤ°": 142106, + "×§×ĺ×Ĵ×ķר": 142107, + "×§×ĺ×Ĵ×ķר×Ļ×Ķ": 142108, + "Ġ×Ĺ×ķפ": 142109, + "Ġ×Ĺ×ķפש×Ļ": 142110, + "أجر": 142111, + "Ġимени": 142112, + "ĠÑĢанее": 142113, + "à¹Ģà¸ŀืà¹Īà¸Ńà¸Ļà¹Ĩ": 142114, + "ĠJesús": 142115, + "Ñģоедин": 142116, + "Ñģоединен": 142117, + "Ġר×Ĺ×ķ×§": 142118, + "à¹Ĥà¸ļรา": 142119, + "à¹Ĥà¸ļราà¸ĵ": 142120, + "ĠHÆ¡n": 142121, + "ĠtháºŃp": 142122, + "تعÙĬÙĬÙĨ": 142123, + "ĠtartÄ±ÅŁ": 142124, + "ĠtartÄ±ÅŁma": 142125, + "ĠGespr": 142126, + "ĠGespräch": 142127, + "תר×ķפ": 142128, + "תר×ķפ×ķת": 142129, + "Ġcatégorie": 142130, + "ĠоказÑĭва": 142131, + "ĠналиÑĩие": 142132, + "Ġprésenté": 142133, + "Ġkull": 142134, + "Ġkulland": 142135, + "Ġkullandı": 142136, + "Ġünl": 142137, + "Ġünlü": 142138, + "ĠÙģÙĥرة": 142139, + "изаÑĤоÑĢ": 142140, + "×IJ×ķ׳": 142141, + "×IJ×ķ׳×Ļ×ij": 142142, + "×IJ×ķ׳×Ļ×ijרס": 142143, + "×IJ×ķ׳×Ļ×ijרס×Ļ×ĺת": 142144, + "ĠÑĢаÑģÑģмаÑĤ": 142145, + "ĠÑĢаÑģÑģмаÑĤÑĢ": 142146, + "ĠÑĢаÑģÑģмаÑĤÑĢива": 142147, + "تÙĥÙĦÙħ": 142148, + "ÙĥترÙĪ": 142149, + "ÙĥترÙĪÙĨÙĬ": 142150, + "ĠÑģоÑĩеÑĤ": 142151, + "ĠÑģоÑĩеÑĤа": 142152, + "ãĤĴè¦ĭãģĽ": 142153, + "Ġngừa": 142154, + "ĠÐłÐµÑģп": 142155, + "ĠÐłÐµÑģпÑĥб": 142156, + "ĠÐłÐµÑģпÑĥблик": 142157, + "ãĤ¦ãĤ©": 142158, + "ãĤ¦ãĤ©ãĥ¼": 142159, + "ĠÐľÐµÐ¶Ð´Ñĥ": 142160, + "ĠìŀĪê²Į": 142161, + "Ġmâ": 142162, + "ĠìļĶì²Ń": 142163, + "ضار": 142164, + "ลุà¹īà¸Ļ": 142165, + "ëĮĢíķĻêµIJ": 142166, + "×ĸ×Ļ׼": 142167, + "×ĸ×Ļ׼ר×ķף": 142168, + "ãĤ¹ãĥļ": 142169, + "ãĤ¹ãĥļãĥ¼ãĤ¹": 142170, + "ĠкÑĢаÑģоÑĤ": 142171, + "H": 142172, + "ê¼Ń": 142173, + "ãĤĴéĽĨ": 142174, + "ãĤĴéĽĨãĤģ": 142175, + "ë°Ŀ": 142176, + "Ġ×Ķ׳×IJ": 142177, + "Ġ×Ķ׳×IJש×Ŀ": 142178, + "Ġê°Ģìļ´": 142179, + "Ġê°Ģìļ´ëį°": 142180, + "تÙĥÙĦÙ쨩": 142181, + "ĠØŃÙĤÙĬÙĤÙĬ": 142182, + "Ġhalk": 142183, + "Ġhalkın": 142184, + "ÑİÑīÑĥÑİ": 142185, + "ĠÑģпин": 142186, + "סר×ĺף": 142187, + "ĠпеÑĢвого": 142188, + "Ġполож": 142189, + "ĠположиÑĤелÑĮн": 142190, + "Ġдл": 142191, + "ĠдлиÑĤелÑĮн": 142192, + "ĠVÄ©nh": 142193, + "ê´´": 142194, + "ĠÑģÑĭÑĢ": 142195, + "ĠíĨµíķĺìŬ": 142196, + "ë³ijìĽIJ": 142197, + "à¹Ĥรà¸ĩà¸ĩาà¸Ļ": 142198, + "รัà¸ļà¸ľà¸´à¸Ķ": 142199, + "รัà¸ļà¸ľà¸´à¸Ķà¸Ĭà¸Ńà¸ļ": 142200, + "تجÙĨب": 142201, + "sÅĤ": 142202, + "sÅĤuch": 142203, + "ãĤ¢ãĥ«ãĥIJ": 142204, + "ãĤ¢ãĥ«ãĥIJãĥł": 142205, + "ëī´ìĬ¤": 142206, + "Ġpatië": 142207, + "Ġpatiënt": 142208, + "Ġìĺ¤í": 142209, + "Ġìĺ¤íŀ": 142210, + "Ġìĺ¤íŀĪ": 142211, + "Ġìĺ¤íŀĪ볤": 142212, + "ĠDerne": 142213, + "ĠDerneÄŁi": 142214, + "wróci": 142215, + "wróciÄĩ": 142216, + "ĠобÑī": 142217, + "ĠобÑīеÑģÑĤв": 142218, + "ĠобÑīеÑģÑĤвенно": 142219, + "ĠêµIJìĪĺ": 142220, + "tıģımız": 142221, + "Ġ×Ķ×ŀש×Ļ×ij": 142222, + "körper": 142223, + "Ġпозвол": 142224, + "ĠпозволиÑĤ": 142225, + "ĠChiến": 142226, + "أخÙĪ": 142227, + "ĠAydın": 142228, + "à¸Ķà¹īาà¸Ļล": 142229, + "à¸Ķà¹īาà¸Ļลà¹Īาà¸ĩ": 142230, + "Ġdru": 142231, + "Ġdruż": 142232, + "Ġdrużyn": 142233, + "Ġë°ľíijľ": 142234, + "ĠThảo": 142235, + "جÙĩاد": 142236, + "à¸ģระà¸Ĺูà¹ī": 142237, + "ĠкÑĢов": 142238, + "ĠкÑĢови": 142239, + "Ġiçerik": 142240, + "Ġnadzie": 142241, + "ĠnadziejÄĻ": 142242, + "ĠСмоÑĤÑĢ": 142243, + "Ġphức": 142244, + "جتÙħاع": 142245, + "جتÙħاعÙĬØ©": 142246, + "компон": 142247, + "компоненÑĤ": 142248, + "Ġбил": 142249, + "ĠбилеÑĤ": 142250, + "ãĥIJãĥ³ãĥī": 142251, + "ĠPolÃŃcia": 142252, + "اÙĦتÙĩ": 142253, + "اÙĦتÙĩاب": 142254, + "ØŃرÙģ": 142255, + "تخط": 142256, + "تخطÙĬØ·": 142257, + "ãĤ³ãĥ¼ãĥ": 142258, + "ãĤ³ãĥ¼ãĥĴ": 142259, + "ãĤ³ãĥ¼ãĥĴãĥ¼": 142260, + "・・・": 142261, + "à¸ĭà¸Ńย": 142262, + "Ġcrédit": 142263, + "è²·ãģ£ãģŁ": 142264, + "ĠпоÑĢÑıд": 142265, + "ĠпоÑĢÑıдке": 142266, + "Ġphó": 142267, + "Ġwida": 142268, + "ĠwidaÄĩ": 142269, + "جرائÙħ": 142270, + "à¸ľà¸µ": 142271, + "ĠbÄĻdÄĻ": 142272, + "Ġ×ŀפת×Ĺ": 142273, + "ãĥijãĥ¼ãĥ": 142274, + "ãĥijãĥ¼ãĥĨ": 142275, + "ãĥijãĥ¼ãĥĨãĤ£": 142276, + "ãĥijãĥ¼ãĥĨãĤ£ãĥ¼": 142277, + "ĠKaż": 142278, + "ĠKażdy": 142279, + "ĠнеобÑħодимоÑģÑĤи": 142280, + "à¸Łà¸Ńรà¹Į": 142281, + "à¸Łà¸Ńรà¹Įม": 142282, + "ĠмалÑĭÑĪ": 142283, + "ĠплоÑĤ": 142284, + "ĠÑĥÑģÑĤÑĢой": 142285, + "ĠÑĥÑģÑĤÑĢойÑģÑĤва": 142286, + "à¸ĸà¸Ńà¸Ļ": 142287, + "ĠoluÅŁturul": 142288, + "ĠÅĽwiad": 142289, + "ĠÅĽwiadom": 142290, + "ÙħعÙĩد": 142291, + "ĠпÑĢоизведен": 142292, + "Æł": 142293, + "ר×Ļש": 142294, + "Ùħستث": 142295, + "ÙħستثÙħر": 142296, + "׳×Ļ×Ļר": 142297, + "pañ": 142298, + "Ġ;-)": 142299, + "Ġë°ľê²¬": 142300, + "Ġgörüyor": 142301, + "ÙħؤÙĦÙģ": 142302, + "ĠÄIJá»ģ": 142303, + "ĠاÙĦÙĨÙĪØ§Ø¨": 142304, + "×Ĺ×§×Ļר×Ķ": 142305, + "Ġmá»ıi": 142306, + "è¿°ãģ¹": 142307, + "ÐĿик": 142308, + "ìŀĸìķĦ": 142309, + "ìŀĸìķĦìļĶ": 142310, + "prowadziÅĤ": 142311, + "lóg": 142312, + "lógica": 142313, + "פס×ĺ": 142314, + "פס×ĺ×Ļ×ij׾": 142315, + "Ġ×ŀ×ĵ×Ķ": 142316, + "Ġ×ŀ×ĵ×Ķ×Ļ×Ŀ": 142317, + "ãģĵãģĵãģ¾ãģ§": 142318, + "×Ķת×Ĺ": 142319, + "×Ķת×Ĺ׾×Ķ": 142320, + "Ġפ×ķס": 142321, + "Ġפ×ķס×ĺ×Ļ×Ŀ": 142322, + "Ġнев": 142323, + "Ġневоз": 142324, + "Ġневозможно": 142325, + "ĠdostÄĻpny": 142326, + "ĠغاÙĦ": 142327, + "ĠغاÙĦب": 142328, + "ĠbezpieczeÅĦst": 142329, + "ĠbezpieczeÅĦstwa": 142330, + "åĪĨãģĭãĤĭ": 142331, + "ĠFührung": 142332, + "à¸ģีà¹ī": 142333, + "gemÃ¤ÃŁ": 142334, + "à¸Ĭà¹Īวà¸ĩà¹Ģวลา": 142335, + "Ġìļ°ë¦¬ëĤĺ": 142336, + "Ġìļ°ë¦¬ëĤĺëĿ¼": 142337, + "ãģ¥ãģıãĤĬ": 142338, + "ĠاÙĦÙħسÙĦ": 142339, + "ĠاÙĦÙħسÙĦØŃØ©": 142340, + "Ġliberté": 142341, + "клÑİÑĩение": 142342, + "Ġzamów": 142343, + "Ġzamówienia": 142344, + "รà¸ĸà¹Ħà¸Ł": 142345, + "Ø£ÙģÙĦ": 142346, + "Ø£ÙģÙĦاÙħ": 142347, + "Ùħراج": 142348, + "Ùħراجعة": 142349, + "Ġë¹ĦêµIJ": 142350, + "ĠاÙĦتاب": 142351, + "ĠاÙĦتابعة": 142352, + "Ġë§ĮëĤĺ": 142353, + "ĠбÑĥм": 142354, + "ĠбÑĥмаг": 142355, + "Ġgénero": 142356, + "Ġìŀĺ못": 142357, + "×ŀפ×ķר×ĺ": 142358, + "è²·ãģĦçī©": 142359, + "ĠÙĦدÙĬÙĥ": 142360, + "Ġ×ľ×¢×Ļת": 142361, + "Ġ×ľ×¢×Ļת×Ļ×Ŀ": 142362, + "ĠsÅĤab": 142363, + "ĠпÑĢедÑģÑĤавлÑı": 142364, + "ãĤ¿ãĤ¤ãĥĪ": 142365, + "ãĤ¿ãĤ¤ãĥĪãĥ«": 142366, + "Ùħص": 142367, + "ÙħصطÙģ": 142368, + "ÙħصطÙģÙī": 142369, + "Ġdifficulté": 142370, + "ãĥĨãĤ£ãĥĸ": 142371, + "ĠpewnoÅĽci": 142372, + "ĠpewnoÅĽciÄħ": 142373, + "Ġ무ìĬ¨": 142374, + "إرس": 142375, + "إرساÙĦ": 142376, + "ĠдалÑĮ": 142377, + "ĠдалÑĮÑĪе": 142378, + "Ġ×ľ×ł×¡": 142379, + "Ġ×ľ×ł×¡×ķת": 142380, + "หมูà¹Īà¸ļà¹īาà¸Ļ": 142381, + "×ŀס×ŀ׼×Ļ": 142382, + "أسÙĦÙĪØ¨": 142383, + "ĠzwÅĤ": 142384, + "ĠzwÅĤas": 142385, + "ĠzwÅĤaszc": 142386, + "ĠzwÅĤaszcza": 142387, + "ĠпÑĢеж": 142388, + "ĠпÑĢежде": 142389, + "ĠоÑĢганизаÑĨиÑı": 142390, + "Ġdönemin": 142391, + "Ġdöneminde": 142392, + "ĠỦ": 142393, + "ĠỦy": 142394, + "ä¸ĭãģĴ": 142395, + "ĠпоÑģледние": 142396, + "Ġgüne": 142397, + "ĠgüneÅŁ": 142398, + "Ġ×IJ×ĸר": 142399, + "Ġ×IJ×ĸר×Ĺ×Ļ": 142400, + "ãģ§ãģĤãĤįãģĨ": 142401, + "ĠÙĨÙĤ": 142402, + "ĠÙĨÙĤاط": 142403, + "æŃ£ãģĹãģĦ": 142404, + "ĠÑĢег": 142405, + "ĠÑĢегиона": 142406, + "ĠFörder": 142407, + "ê²½ìĺģ": 142408, + "dıklar": 142409, + "dıklarını": 142410, + "trzymaÄĩ": 142411, + "أشÙĥ": 142412, + "أشÙĥاÙĦ": 142413, + "×Ķת×IJ": 142414, + "×Ķת×IJ×ŀ×Ķ": 142415, + "à¸Ĺำà¹ĥหà¹īà¹Ģà¸ģิà¸Ķ": 142416, + "ĠGebä": 142417, + "ĠGebäude": 142418, + "ĠСеÑĢг": 142419, + "ĠСеÑĢгей": 142420, + "ĠздоÑĢов": 142421, + "ĠздоÑĢовÑĮÑı": 142422, + "Ġrãi": 142423, + "ĠпÑĢедÑĥÑģ": 142424, + "ĠпÑĢедÑĥÑģмоÑĤÑĢ": 142425, + "ĠпÑĢедÑĥÑģмоÑĤÑĢен": 142426, + "Ġ×Ķצ×Ļ×ij": 142427, + "Ġ×Ķצ×Ļ×ij×ķר×Ļ": 142428, + "Ġdésir": 142429, + "ĠноÑĩ": 142430, + "ĠноÑĩÑĮ": 142431, + "möglichkeiten": 142432, + "Ġ×IJ×Ĺר×ķ׳×Ļ×Ŀ": 142433, + "Ġsoirée": 142434, + "ĠNháºŃn": 142435, + "Ùª": 142436, + "à¸Ľà¸£à¸°à¸§à¸±à¸ķิศาสà¸ķรà¹Į": 142437, + "êµIJíĨµ": 142438, + "ĠأخÙĬ": 142439, + "Ġdécid": 142440, + "Ġdécidé": 142441, + "Ġwyja": 142442, + "ĠwyjaÅĽni": 142443, + "Ġสิ": 142444, + "Ġสิà¸ĩ": 142445, + "Ġสิà¸ĩหา": 142446, + "Ġสิà¸ĩหาà¸Ħม": 142447, + "à¹ģà¸Ńรà¹Į": 142448, + "หà¸Ļà¹īาà¸Īà¸Ń": 142449, + "סתר": 142450, + "Ġê¶": 142451, + "Ġê¶Į": 142452, + "Ġê¶Į리": 142453, + "plätze": 142454, + "بطÙĦ": 142455, + "ê±´ìĦ¤": 142456, + "Ġ×IJ×Ļ×ŀ×Ļ": 142457, + "Ġ×IJ×Ļ×ŀ×Ļ×Ļ׾": 142458, + "ãģ½": 142459, + "تراث": 142460, + "×IJ׾×Ļ×ŀ×ķת": 142461, + "ĠdisponÃŃveis": 142462, + "Ġzale": 142463, + "Ġzależy": 142464, + "à¸Ľà¸£à¸°à¸Ĭาสัมà¸ŀัà¸Ļà¸ĺà¹Į": 142465, + "ĠÅļwiat": 142466, + "Ġporówn": 142467, + "Ġporówna": 142468, + "Ġ׾×ĺ×ķ×ijת": 142469, + "×Ķ×ĸ×ŀ׳×Ķ": 142470, + "Ġ×Ľ×ª×ķצ×IJ×Ķ": 142471, + "Ġ×ijק׾": 142472, + "Ġ×ijק׾×ķת": 142473, + "ĠоÑĤкÑĢ": 142474, + "ĠоÑĤкÑĢÑĭва": 142475, + "ãĥijãĥ¯ãĥ¼": 142476, + "ë¿IJë§Į": 142477, + "ĠвÑģÑı": 142478, + "ĠвÑģÑıк": 142479, + "ãģ¨ãģªãģ£ãģ¦ãģĦãĤĭ": 142480, + "ĠgiáºŃn": 142481, + "ĠокÑĢÑĥ": 142482, + "ĠокÑĢÑĥжа": 142483, + "ĠокÑĢÑĥжаÑİÑī": 142484, + "ĠUniversität": 142485, + "ĠÑĢож": 142486, + "ĠÑĢожд": 142487, + "ĠÑĢождениÑı": 142488, + "Ø®ÙĬÙĦ": 142489, + "Ġкомпаний": 142490, + "ĠÑĢазлиÑĩнÑĭе": 142491, + "ĠЦена": 142492, + "׳×Ļ×ķ×ĸ": 142493, + "׳×Ļ×ķ×ĸ׾": 142494, + "׳×Ļ×ķ×ĸ׾×ĺר": 142495, + "Ġê³µê°Ħ": 142496, + "Ġê°ľëħIJ": 142497, + "landırma": 142498, + "ĠÑĥдален": 142499, + "à¸ŀัà¸ģà¸ľ": 142500, + "à¸ŀัà¸ģà¸ľà¹Īà¸Ńà¸Ļ": 142501, + "Ġprotección": 142502, + "ĠbÅĤ": 142503, + "ĠbÅĤÄĻd": 142504, + "ÃĪ": 142505, + "Ġíĸīë³µ": 142506, + "ĠÅŁÃ¼": 142507, + "ĠÅŁÃ¼phe": 142508, + "ĠíĶ": 142509, + "Ġíͼ": 142510, + "Ġíͼíķ´": 142511, + "Ġëĭ¤ë¥´": 142512, + "à¹Ħมà¹Īà¹Ģà¸ģิà¸Ļ": 142513, + "ãģ¿ãģª": 142514, + "ãģ¿ãģªãģķãĤĵ": 142515, + "ĠпоÑĤÑĢеб": 142516, + "ĠпоÑĤÑĢебиÑĤел": 142517, + "ĠاÙĦÙĥÙĦاÙħ": 142518, + "ìķĦë²Ħ": 142519, + "ìķĦë²Ħì§Ģ": 142520, + "ãĤĴ使ãģ£ãģŁ": 142521, + "Ġbụi": 142522, + "ĠпоÑĤеÑĢ": 142523, + "ĠпоÑĤеÑĢÑı": 142524, + "ĠØ¢ÙĦاÙģ": 142525, + "ĠнаÑģÑĤоÑıÑīее": 142526, + "ãģıãģªãĤĬãģ¾ãģĹãģŁ": 142527, + "clusão": 142528, + "ãĤ³ãĥĶãĥ¼": 142529, + "צפ×Ļ": 142530, + "צפ×Ļ×Ļ×Ķ": 142531, + "Ø®ÙĦا": 142532, + "Ø®ÙĦاص": 142533, + "ลà¹īำ": 142534, + "ãĥ¯ãĤ¤ãĥ³": 142535, + "Ġมีà¸Ļา": 142536, + "Ġมีà¸Ļาà¸Ħม": 142537, + "شخص": 142538, + "شخصÙĬات": 142539, + "Ġ×ĸ×§": 142540, + "Ġ×ĸ×§×ķ×§": 142541, + "×Ļ×Ļצ": 142542, + "×Ļ×Ļצ×Ĵ": 142543, + "èĢĥãģĪæĸ¹": 142544, + "Ġürünü": 142545, + "ĠиÑģпол": 142546, + "ĠиÑģполни": 142547, + "Ġcompañero": 142548, + "קצ×Ķ": 142549, + "×ŀ×¢×ł×Ļ×§": 142550, + "ÙħØŃÙħد": 142551, + "Ġcámara": 142552, + "Ġпед": 142553, + "Ġпедаг": 142554, + "Ġпедагог": 142555, + "маÑĢ": 142556, + "маÑĢк": 142557, + "×Ķ×ª×ł×Ĵ×ĵ": 142558, + "ĠìĨĮê°ľ": 142559, + "ĠcomunitÃł": 142560, + "곤": 142561, + "ĠNgÃłi": 142562, + "สà¸ĩà¸ļ": 142563, + "ĠmieszkaÅĦców": 142564, + "ĠÙĨÙĩائÙĬ": 142565, + "ivité": 142566, + "Ġиде": 142567, + "ĠидеалÑĮн": 142568, + "ĠأسبÙĪØ¹": 142569, + "Ġ×Ļ×¢×ľ": 142570, + "Ġ׾ר×IJש": 142571, + "Ġ׾ר×IJש×ķ׳×Ķ": 142572, + "ĠзапиÑģи": 142573, + "ĠкоÑĢпÑĥÑģ": 142574, + "วà¸ĩศ": 142575, + "วà¸ĩศà¹Į": 142576, + "ĠÐĶм": 142577, + "ĠÐĶмиÑĤ": 142578, + "ĠÐĶмиÑĤÑĢ": 142579, + "Ġkönnt": 142580, + "Ġbölges": 142581, + "Ġbölgesinde": 142582, + "׼×Ļ׼": 142583, + "׼×Ļ׼ר": 142584, + "ĠاÙĦإثÙĨ": 142585, + "ĠاÙĦإثÙĨÙĬÙĨ": 142586, + "Ġngá»Ļ": 142587, + "ì¹ł": 142588, + "دراج": 142589, + "Ġuda": 142590, + "ĠudaÅĤo": 142591, + "ìºIJ": 142592, + "برÙĨاÙħج": 142593, + "ĠÑģÑĥдеб": 142594, + "ĠÑģÑĥдебн": 142595, + "Ġzunächst": 142596, + "ĠEducación": 142597, + "ãģ¨ãģªãģ£ãģ¦ãģĦãģ¾ãģĻ": 142598, + "Ġ×Ķ×IJ×ŀ×Ļת×Ļ": 142599, + "Ġİnt": 142600, + "Ġİnternet": 142601, + "ĠcaÅĤego": 142602, + "ãĥĹãĥªãĥ³": 142603, + "إبد": 142604, + "إبداع": 142605, + "ĠпоÑĢÑĤал": 142606, + "à¹Ĥà¸ķà¹ī": 142607, + "Ġ×Ķקש×ķר": 142608, + "плод": 142609, + "ĠÙħد": 142610, + "ĠÙħدرÙĬد": 142611, + "×ŀסע×ĵ×Ķ": 142612, + "ĠØ´ÙĬئ": 142613, + "ĠØ´ÙĬئا": 142614, + "à¸ģà¹Īà¸Ńสรà¹īาà¸ĩ": 142615, + "Ġì°¸ê³ł": 142616, + "à¹Ģà¸Ĺร": 142617, + "à¹Ģà¸Ĺรà¸Ķ": 142618, + "Ġ×ij×ŀקר×Ļ×Ŀ": 142619, + "Ġbât": 142620, + "Ġbâtiment": 142621, + "åij¼ãģ³": 142622, + "ç´łæķµ": 142623, + "ç´łæķµãģª": 142624, + "przedsiÄĻbiorst": 142625, + "przedsiÄĻbiorstw": 142626, + "Ġ×ł×ª×ķ׳×Ļ×Ŀ": 142627, + "×Ĺ׾×ķ×Ŀ": 142628, + "รวย": 142629, + "ÙħÙĪØ¶ÙĪØ¹": 142630, + "ĠÑģобÑĢан": 142631, + "ведÑĥÑī": 142632, + "ĠÑĤеаÑĤ": 142633, + "ĠÑĤеаÑĤÑĢ": 142634, + "meye": 142635, + "meyeceÄŁi": 142636, + "ĠpieniÄħ": 142637, + "ĠpieniÄħd": 142638, + "ĠpieniÄħdze": 142639, + "ÑĢезиденÑĤ": 142640, + "ØŃصر": 142641, + "ìĺ¥": 142642, + "à¹Ģยืà¸Ńà¸Ļ": 142643, + "ĠÑĥни": 142644, + "ĠÑĥнивеÑĢ": 142645, + "ĠÑĥнивеÑĢÑģ": 142646, + "ĠÑĥнивеÑĢÑģиÑĤеÑĤ": 142647, + "ĠاÙĦرØŃ": 142648, + "ĠاÙĦرØŃÙħÙĨ": 142649, + "ĠÑĤеÑħнолог": 142650, + "ĠÑĤеÑħнологии": 142651, + "ìĹIJëĦĪ": 142652, + "ìĹIJëĦĪì§Ģ": 142653, + "ĠíķŃ": 142654, + "ĠíķŃìĥģ": 142655, + "à¸ĺา": 142656, + "à¸ĺาà¸ķุ": 142657, + "ĠEspañol": 142658, + "×ĵ×Ĵש": 142659, + "Ġêµī": 142660, + "Ġêµīìŀ¥": 142661, + "Ġêµīìŀ¥íŀĪ": 142662, + "ĠÅĤat": 142663, + "ĠÅĤatwo": 142664, + "Ġká»ĭch": 142665, + "إز": 142666, + "إزاÙĦØ©": 142667, + "ĠдейÑģÑĤвие": 142668, + "ĠsaÄŁlayan": 142669, + "สุà¸Ķยà¸Ńà¸Ķ": 142670, + "ĠzostaÄĩ": 142671, + "ĠdisponÃŃvel": 142672, + "ïºį": 142673, + "verständ": 142674, + "verständlich": 142675, + "twor": 142676, + "tworzyÄĩ": 142677, + "عجز": 142678, + "à¹Ģà¸Ĥà¹īม": 142679, + "ยà¹Īà¸Ńม": 142680, + "Ġstratég": 142681, + "Ġstratégie": 142682, + "à¸ľà¸¥à¹Ħมà¹ī": 142683, + "Ġê°ģì¢ħ": 142684, + "ĠÙħÙĪØ§": 142685, + "ĠÙħÙĪØ§Ø¶": 142686, + "ĠÙħÙĪØ§Ø¶ÙĬع": 142687, + "اØŃتج": 142688, + "اØŃتجاج": 142689, + "ĠẤ": 142690, + "ĠẤn": 142691, + "×ŀ×ŀש׾×Ķ": 142692, + "ĠÅŁekil": 142693, + "×ŀ×Ĺ׾": 142694, + "×ŀ×Ĺ׾×ķת": 142695, + "Ġà¸ĺ": 142696, + "Ġà¸ĺัà¸Ļ": 142697, + "Ġà¸ĺัà¸Ļวา": 142698, + "Ġà¸ĺัà¸Ļวาà¸Ħม": 142699, + "Ġìĭ¤ìłľ": 142700, + "Ġìĭ¤ìłľë¡ľ": 142701, + "ì¤ijìķĻ": 142702, + "ëįĶëĿ¼": 142703, + "ĠÑĪиÑĢ": 142704, + "ĠÑĪиÑĢоко": 142705, + "Ġsolución": 142706, + "วาà¸ĩà¹ģà¸ľà¸Ļ": 142707, + "×IJ×ķ×ĺ×ķ×ŀ": 142708, + "×IJ×ķ×ĺ×ķ×ŀ×ĺ×Ļ": 142709, + "ĠÑĢеÑģÑĤ": 142710, + "ĠÑĢеÑģÑĤоÑĢ": 142711, + "ĠÑĢеÑģÑĤоÑĢан": 142712, + "ëį¸": 142713, + "ÑĤÑĢад": 142714, + "ÑĤÑĢади": 142715, + "ÑĤÑĢадиÑĨион": 142716, + "ÑĤÑĢадиÑĨионн": 142717, + "มะà¹Ģรà¹ĩ": 142718, + "มะà¹Ģรà¹ĩà¸ĩ": 142719, + "à¹Ĥส": 142720, + "Ġolmasını": 142721, + "×ŀ×ķסר": 142722, + "ĠоÑĤноÑĪении": 142723, + "Ġê°ĢëĬ¥ìĦ±": 142724, + "Ġyuk": 142725, + "Ġyukarı": 142726, + "ìĨĶ": 142727, + "ĠÑģÑĦ": 142728, + "ĠÑģÑĦеÑĢе": 142729, + "Ġ×§×ķפ": 142730, + "ãĤ±ãĥ¼ãĤ": 142731, + "ãĤ±ãĥ¼ãĤŃ": 142732, + "âĢķâĢķ": 142733, + "ĠاÙĦØ£ÙĦÙħ": 142734, + "ĠاÙĦØ£ÙĦÙħاÙĨÙĬ": 142735, + "ẢN": 142736, + "ת×ķ׼׳×Ļ×ķת": 142737, + "ĠÑģÑĥÑīеÑģÑĤвÑĥеÑĤ": 142738, + "æĪijãĢħ": 142739, + "ĠاÙĦصادر": 142740, + "ĠTrá»įng": 142741, + "Ġад": 142742, + "ĠадминиÑģÑĤ": 142743, + "ĠадминиÑģÑĤÑĢа": 142744, + "ĠадминиÑģÑĤÑĢаÑĨи": 142745, + "ĠдÑĢÑĥгими": 142746, + "ÑģпеÑĪ": 142747, + "عÙĦاÙħات": 142748, + "Ġаб": 142749, + "ĠабÑģол": 142750, + "ĠабÑģолÑİÑĤ": 142751, + "ĠабÑģолÑİÑĤно": 142752, + "ฤà¸Ķู": 142753, + "étr": 142754, + "étranger": 142755, + "нÑıÑĤи": 142756, + "нÑıÑĤие": 142757, + "×¢×ķ׳": 142758, + "×¢×ķ׳ש": 142759, + "ĠÙĤائ": 142760, + "ĠÙĤائÙĦا": 142761, + "ĠмаÑģ": 142762, + "ĠмаÑģло": 142763, + "ãĥīãĤ¤": 142764, + "ãĥīãĤ¤ãĥĦ": 142765, + "å¿ħè¦ģãģĮãģĤãĤĬãģ¾ãģĻ": 142766, + "×ŀ×ķ×ĸ×Ļ×IJ": 142767, + "×ŀ×ķ×ĸ×Ļ×IJ×ķף": 142768, + "ĠNgoại": 142769, + "Ġkênh": 142770, + "à¸ģารà¸Ńà¸Ńà¸ģà¹ģà¸ļà¸ļ": 142771, + "×ŀפק": 142772, + "×ŀפק×ĵ": 142773, + "ÙħÙĨاز": 142774, + "ÙħÙĨازÙĦ": 142775, + "ë·°": 142776, + "íŤ": 142777, + "ÙħÙĩارات": 142778, + "Ġpropriété": 142779, + "פ×Ĵ×Ļש×Ķ": 142780, + "ÑĩÑĢ": 142781, + "ÑĩÑĢеж": 142782, + "ÑĩÑĢежден": 142783, + "×Ķ×ķצ×IJ×Ķ": 142784, + "ØŃÙĥÙĬÙħ": 142785, + "ĠíĻĪ": 142786, + "ĠíĻĪíİĺìĿ´ì§Ģ": 142787, + "åݳ": 142788, + "åݳãģĹãģĦ": 142789, + "×¢×ŀ×ĵ×Ķ": 142790, + "ĠAuÃŁen": 142791, + "سÙĪØ¡": 142792, + "ë¹Ī": 142793, + "ĠÙĪØ®": 142794, + "ĠÙĪØ®Ø§ØµØ©": 142795, + "инÑĤеÑĢ": 142796, + "инÑĤеÑĢеÑģ": 142797, + "èĩ´ãģĹãģ¾ãģĻ": 142798, + "Ġhüküm": 142799, + "à¹Ħà¸Ĥมัà¸Ļ": 142800, + "Ġdavran": 142801, + "ĠdavranÄ±ÅŁ": 142802, + "à¹Ģà¸ķียà¸ĩ": 142803, + "вÑĢем": 142804, + "вÑĢеменно": 142805, + "à¹Ģà¸Ĺศà¸ģา": 142806, + "à¹Ģà¸Ĺศà¸ģาล": 142807, + "å¼ķãģ£": 142808, + "å¼ķãģ£è¶ĬãģĹ": 142809, + "×IJר×ķ×Ĺ": 142810, + "×IJר×ķ×Ĺת": 142811, + "à¹Ģวิ": 142812, + "à¹Ģวิรà¹Į": 142813, + "à¸Ńยà¹Īาà¸ĩรวà¸Ķà¹Ģรà¹ĩว": 142814, + "ĠìŬíĸī": 142815, + "ĠÑĢанÑĮ": 142816, + "ĠÑĢанÑĮÑĪе": 142817, + "Ġzobow": 142818, + "ĠzobowiÄħ": 142819, + "ĠzobowiÄħz": 142820, + "Ġ×ķ׼×ŀ×ķ×ijף": 142821, + "ĠاÙĦÙħÙĩ": 142822, + "ĠاÙĦÙħÙĩÙĨÙĬ": 142823, + "ãĤ¢ãĤ¸": 142824, + "ãĤ¢ãĤ¸ãĤ¢": 142825, + "ë°©ìĨ¡": 142826, + "à¸Ńà¸Ńà¸ģà¸ģำลัà¸ĩ": 142827, + "à¸Ńà¸Ńà¸ģà¸ģำลัà¸ĩà¸ģาย": 142828, + "améli": 142829, + "améliorer": 142830, + "å½ĵãģŁãĤĬåīį": 142831, + "Ġregelm": 142832, + "ĠregelmÃ¤ÃŁig": 142833, + "ãģĬåĭ": 142834, + "ãģĬåĭ§": 142835, + "ãģĬåĭ§ãĤģ": 142836, + "Ġmưá»Ŀi": 142837, + "برÙħج": 142838, + "ĠNatürlich": 142839, + "ĠDÅ©ng": 142840, + "ĠاÙĦرجاÙĦ": 142841, + "Ġthép": 142842, + "ĠolmuÅŁtur": 142843, + "×ŀ×ķס×Ļ×§×Ķ": 142844, + "fälle": 142845, + "주íĥĿ": 142846, + "ĠاÙĦÙģØ±Øµ": 142847, + "ĠnajwiÄĻks": 142848, + "ĠnajwiÄĻkszy": 142849, + "ĠçaÄŁ": 142850, + "ĠçaÄŁrı": 142851, + "ì¸ł": 142852, + "ĠvÃŃct": 142853, + "ĠvÃŃctima": 142854, + "ĠÑģовеÑĢÑĪен": 142855, + "×Ķ×Ļ×Ļת×Ļ": 142856, + "à¹Ģà¸Ķี": 142857, + "à¹Ģà¸Ķีà¹ĭ": 142858, + "à¹Ģà¸Ķีà¹ĭยว": 142859, + "üyü": 142860, + "Ġдоп": 142861, + "Ġдополн": 142862, + "ĠдополниÑĤелÑĮно": 142863, + "à¹ģà¸ķà¸ģà¸ķà¹Īาà¸ĩà¸ģัà¸Ļ": 142864, + "Ġál": 142865, + "Ġálbum": 142866, + "à¸Ľà¸£à¸°à¸Īà¸³à¸Ľà¸µ": 142867, + "ĠÑĦедеÑĢ": 142868, + "ĠÑĦедеÑĢалÑĮн": 142869, + "ĠobsÅĤ": 142870, + "ĠobsÅĤugi": 142871, + "à¹Ģรืà¹Ī": 142872, + "à¹Ģรืà¹Īà¸Ńย": 142873, + "à¹Ģรืà¹Īà¸Ńยà¹Ĩ": 142874, + "ëģĮ": 142875, + "Ġnghìn": 142876, + "ĠBaÅŁkanlıģı": 142877, + "تأسÙĬ": 142878, + "تأسÙĬس": 142879, + "Ġ×ij×ij×ķקר": 142880, + "Ġ×¢×ij×ķ×ĵ×ķת": 142881, + "ĠبصÙĪØ±Ø©": 142882, + "ãĤıãģijãģ§ãģ¯ãģªãģĦ": 142883, + "führer": 142884, + "ãĤ¹ãĤŃ": 142885, + "ãĤ¹ãĤŃãĥ«": 142886, + "ĠاÙĦÙĤض": 142887, + "ĠاÙĦÙĤضÙĬØ©": 142888, + "ĠдолжноÑģÑĤ": 142889, + "ÙģØ§Ø±ÙĤ": 142890, + "Ġcomeçou": 142891, + "Ġorganisé": 142892, + "Ġxuân": 142893, + "ĠÑģообÑīаеÑĤ": 142894, + "ĠпÑĢид": 142895, + "ĠпÑĢидеÑĤÑģÑı": 142896, + "TÃľRK": 142897, + "ãĥ¬ãĥ¼ãĤ·ãĥ§ãĥ³": 142898, + "Không": 142899, + "استÙģ": 142900, + "استÙģØ§Ø¯Ø©": 142901, + "ä¸ĬãģĮãģ£ãģ¦": 142902, + "Ġumie": 142903, + "ĠumiejÄĻ": 142904, + "ĠumiejÄĻtn": 142905, + "ĠumiejÄĻtnoÅĽci": 142906, + "ëĤ¸": 142907, + "à¹Ģà¸Ļà¸Ńรà¹Į": 142908, + "×ĵ×ķ×ķ×Ĺ": 142909, + "ÃŃsimo": 142910, + "IÃĬ": 142911, + "IÃĬN": 142912, + "Ġalcanç": 142913, + "Ġà¸ķุ": 142914, + "Ġà¸ķุลา": 142915, + "Ġà¸ķุลาà¸Ħม": 142916, + "ש׾×ĺ×ķף": 142917, + "Ġélè": 142918, + "Ġélèves": 142919, + "ĠÄiju": 142920, + "ĠÄijuá»ķi": 142921, + "ĠØ£Ùģ": 142922, + "ĠØ£Ù쨱ÙĬ": 142923, + "ĠØ£Ù쨱ÙĬÙĤÙĬ": 142924, + "ĠØ£Ù쨱ÙĬÙĤÙĬا": 142925, + "ãĤĴæİ¢ãģĻ": 142926, + "ĠпÑĢедложениÑı": 142927, + "جاد": 142928, + "ĠÑħоÑĤÑĮ": 142929, + "Ñģал": 142930, + "Ñģалон": 142931, + "à¸Ľà¸£à¸°à¹Ģม": 142932, + "à¸Ľà¸£à¸°à¹Ģมิà¸Ļ": 142933, + "ãĤŃãĥĥãĥģ": 142934, + "ãĤŃãĥĥãĥģãĥ³": 142935, + "×ij×ĵ×Ļ×§×ķת": 142936, + "Ġchù": 142937, + "Ġchùa": 142938, + "ÐĴиде": 142939, + "ÐĴидео": 142940, + "иÑĢовка": 142941, + "ĠÑħоÑĤиÑĤе": 142942, + "Ġspécifique": 142943, + "รสà¸Ĭาà¸ķิ": 142944, + "è¾¼ãĤĵãģł": 142945, + "伸ãģ³": 142946, + "×Ķצ׾×Ĺת": 142947, + "ãģ©ãģ®ãĤĪãģĨãģ«": 142948, + "سعادة": 142949, + "Ġлид": 142950, + "ĠлидеÑĢ": 142951, + "มà¸ĩ": 142952, + "มà¸ĩà¸Ħล": 142953, + "ØŃاÙħÙĦ": 142954, + "หลุà¸Ķ": 142955, + "à¸Ńยà¹Īาà¸ĩà¸ķà¹Īà¸Ń": 142956, + "à¸Ńยà¹Īาà¸ĩà¸ķà¹Īà¸Ńà¹Ģà¸Ļืà¹Īà¸Ńà¸ĩ": 142957, + "ãģķãģĽãģ¦éłĤ": 142958, + "تسÙĪÙĬ": 142959, + "تسÙĪÙĬÙĤ": 142960, + "ĠaÅŁaģıd": 142961, + "ĠaÅŁaģıdaki": 142962, + "ĠÑĨелÑĮ": 142963, + "ĠÑĨелÑĮÑİ": 142964, + "ĠAraÅŁtırma": 142965, + "à¸Ĥัà¸ļรà¸ĸ": 142966, + "ÙĩذÙĩ": 142967, + "ลà¸ĩà¸Ĺะ": 142968, + "ลà¸ĩà¸Ĺะà¹Ģà¸ļ": 142969, + "ลà¸ĩà¸Ĺะà¹Ģà¸ļียà¸Ļ": 142970, + "تÙĥاÙħÙĦ": 142971, + "Ġcio": 142972, + "Ġcioè": 142973, + "ãģ¦ãģĬãģı": 142974, + "ĠاÙĦصØŃÙģÙĬ": 142975, + "ĠíĬ¹ìłķ": 142976, + "полниÑĤÑĮ": 142977, + "ãĤĵãģĺãĤĥãģªãģĦ": 142978, + "ãĤĵãģĺãĤĥãģªãģĦãģĭ": 142979, + "ĠاÙĦجÙĩ": 142980, + "ĠاÙĦجÙĩات": 142981, + "ĠÑĥÑģпеÑĪно": 142982, + "Ġвок": 142983, + "ĠвокÑĢÑĥг": 142984, + "ĠÑģиÑĤÑĥаÑĨиÑı": 142985, + "Ġ×Ķ×IJ×ŀר": 142986, + "Ġ×Ķ×IJ×ŀר×Ļ×§": 142987, + "Ġ×Ķ×IJ×ŀר×Ļ×§×IJ×Ļ": 142988, + "×ŀ×Ĵ×ĸ": 142989, + "×ŀ×Ĵ×ĸ×Ļף": 142990, + "ĠакÑĤÑĥ": 142991, + "ĠакÑĤÑĥалÑĮн": 142992, + "éta": 142993, + "étais": 142994, + "ĠmogÅĤa": 142995, + "ĠÑĤоÑĩки": 142996, + "Ġ×ŀ×Ķ×ŀ×¢": 142997, + "Ġ×ŀ×Ķ×ŀ×¢×¨×Ľ×ª": 142998, + "à¸¡à¸µà¸Ľà¸£à¸°à¸ªà¸´à¸Ĺà¸ĺà¸´à¸łà¸²à¸ŀ": 142999, + "×Ļר×Ļ×ĵ×Ķ": 143000, + "×Ĵר×ŀ׳": 143001, + "×Ĵר×ŀ׳×Ļ×Ķ": 143002, + "Ġглав": 143003, + "Ġглавное": 143004, + "Ġ미ëŀĺ": 143005, + "Ġ׳׼×ķ׳×Ķ": 143006, + "ĠÙĪØ·ÙĨÙĬ": 143007, + "opport": 143008, + "opportunitÃł": 143009, + "Ġhá»§y": 143010, + "ĠÙĦتØŃ": 143011, + "ĠÙĦتØŃÙĤÙĬÙĤ": 143012, + "Ġórg": 143013, + "Ġórgão": 143014, + "ãĤ¹ãĥĶ": 143015, + "ãĤ¹ãĥĶãĥ¼ãĥī": 143016, + "Ġönü": 143017, + "Ġönüne": 143018, + "ÙħعاÙħÙĦ": 143019, + "ש×ŀ×Ļר×Ķ": 143020, + "ĠвеÑģÑĮма": 143021, + "ĠwiÄĻkszo": 143022, + "ĠwiÄĻkszoÅĽÄĩ": 143023, + "ĠاستراتÙĬج": 143024, + "ĠاستراتÙĬجÙĬØ©": 143025, + "ĠÙ쨥": 143026, + "ĠÙģØ¥Ø°Ø§": 143027, + "à¹Ģà¸Ĭืà¹Īà¸Ńม": 143028, + "à¹Ģà¸Ĭืà¹Īà¸Ńมà¸ķà¹Īà¸Ń": 143029, + "Ġ׾פר": 143030, + "Ġ׾פר×ĺ×Ļ×Ŀ": 143031, + "ÙħضÙĬ": 143032, + "ĠGerçek": 143033, + "Ġçocukların": 143034, + "ÙĪØ«Ø§Ø¦ÙĤ": 143035, + "ĠÙħساءÙĭ": 143036, + "Ġunterstützt": 143037, + "Ġprést": 143038, + "Ġpréstamo": 143039, + "ĠÐłÐ°Ð·Ð¼ÐµÑĢ": 143040, + "ĠÅŁeker": 143041, + "Ġséculo": 143042, + "×ij×Ķ×Ļר": 143043, + "Ø´ÙĩÙĪØ±": 143044, + "Ġà¸Ńีà¸ģ": 143045, + "Ġà¸Ńีà¸ģà¸Ĺัà¹īà¸ĩ": 143046, + "Ġllegó": 143047, + "à¸¨à¸´à¸¥à¸Ľà¸°": 143048, + "æĪijãģĮ": 143049, + "æĪijãģĮå®¶": 143050, + "عÙĤÙĪ": 143051, + "عÙĤÙĪØ¨Ø§Øª": 143052, + "ĠFälle": 143053, + "ĠsÅĤuż": 143054, + "ĠsÅĤużb": 143055, + "ĠاÙĦØŃÙĤÙĪÙĤ": 143056, + "ĠплиÑĤ": 143057, + "ĠиноÑģÑĤ": 143058, + "ĠиноÑģÑĤÑĢан": 143059, + "ĠиноÑģÑĤÑĢанн": 143060, + "à¹ĥà¸Ļà¸Ĥà¸ĵะà¸Ĺีà¹Ī": 143061, + "ãĤ«ãĥĨ": 143062, + "ãĤ«ãĥĨãĤ´": 143063, + "ãĤ«ãĥĨãĤ´ãĥª": 143064, + "à¸Ńิส": 143065, + "à¸Ńิสระ": 143066, + "à¹Ģà¸ľà¸¢à¹ģ": 143067, + "à¹Ģà¸ľà¸¢à¹ģà¸ŀร": 143068, + "à¹Ģà¸ľà¸¢à¹ģà¸ŀรà¹Ī": 143069, + "ãģĬãģĦ": 143070, + "ãģĬãģĦãģĹãģĦ": 143071, + "استÙĤÙĦ": 143072, + "استÙĤÙĦاÙĦ": 143073, + "تØŃض": 143074, + "تØŃضÙĬر": 143075, + "åĬ©ãģij": 143076, + "ÙħراÙģÙĤ": 143077, + "Ġ×ĵ×ķר": 143078, + "Ġ×ĵ×ķרש": 143079, + "×ŀת×Ļ×Ļ×Ĺס": 143080, + "ס×Ļ׼": 143081, + "ס×Ļ׼×ķ×Ŀ": 143082, + "íĮĮíĬ¸": 143083, + "ĠwyÅĽ": 143084, + "ĠwyÅĽw": 143085, + "ĠwyÅĽwiet": 143086, + "ĠwyÅĽwietl": 143087, + "ĠاÙĦاÙĨساÙĨ": 143088, + "ĠStraÃŁen": 143089, + "L": 143090, + "ãģ«åŁº": 143091, + "ãģ«åŁºãģ¥": 143092, + "ĠcapÃŃtulo": 143093, + "ลุย": 143094, + "Ġ×Ķ×ŀקצ×ķ×¢×Ļ": 143095, + "ãģĤãĤĭç¨ĭ度": 143096, + "Ợ": 143097, + "ĠاÙĦÙĦا": 143098, + "ĠاÙĦÙĦازÙħØ©": 143099, + "æķĻãģĪ": 143100, + "Ġרש×IJ×Ļ": 143101, + "зав": 143102, + "завиÑģ": 143103, + "завиÑģим": 143104, + "à¸Ľà¸±à¸Īà¸Īัย": 143105, + "à¹Ģà¸ĭล": 143106, + "à¹Ģà¸ĭลลà¹Į": 143107, + "Ġdifférence": 143108, + "ĠAltın": 143109, + "ĠкÑĢай": 143110, + "ĠкÑĢайне": 143111, + "Ġзло": 143112, + "Ġgünümüz": 143113, + "ĠнаÑĤÑĥÑĢ": 143114, + "ĠнаÑĤÑĥÑĢалÑĮн": 143115, + "×Ĵ×ķ׾ש×Ļ×Ŀ": 143116, + "ĠкаÑĤегоÑĢ": 143117, + "ĠкаÑĤегоÑĢии": 143118, + "Ġзнак": 143119, + "à¸ģà¹Īà¸Ńà¸Ļหà¸Ļà¹īา": 143120, + "à¸ģà¹Īà¸Ńà¸Ļหà¸Ļà¹īาà¸Ļีà¹ī": 143121, + "ĠÙħÙĨت": 143122, + "ĠÙħÙĨتخب": 143123, + "ãĥĽãĥ¼ãĥ«": 143124, + "ĠевÑĢо": 143125, + "สว": 143126, + "สวม": 143127, + "ĠìľĦìĽIJ": 143128, + "ĠìľĦìĽIJëĭĺ": 143129, + "ĠاÙĦØŃÙĪØ«": 143130, + "ĠاÙĦØŃÙĪØ«ÙĬ": 143131, + "ĠÑģодеÑĢжиÑĤ": 143132, + "ãĥķãĤ¡ãĥĥãĤ·ãĥ§ãĥ³": 143133, + "Ġà¸ģัà¸Ļ": 143134, + "Ġà¸ģัà¸Ļย": 143135, + "Ġà¸ģัà¸Ļยายà¸Ļ": 143136, + "ãĤªãĥª": 143137, + "ãĤªãĥªãĤ¸": 143138, + "ãĤªãĥªãĤ¸ãĥĬãĥ«": 143139, + "ĠбÑĢенд": 143140, + "ãĤĴæĮģãģ£ãģ¦ãģĦãĤĭ": 143141, + "Ġinversión": 143142, + "Ġê°ĸ": 143143, + "Ġê°ĸê³ł": 143144, + "ĠnovitÃł": 143145, + "ê´Ģê´ij": 143146, + "Ġà¸ŀฤษ": 143147, + "Ġà¸ŀà¸¤à¸©à¸łà¸²": 143148, + "Ġà¸ŀà¸¤à¸©à¸łà¸²à¸Ħม": 143149, + "×ķר×Ĺ×Ļ×Ŀ": 143150, + "׼׾×ķ׾": 143151, + "Ġngạc": 143152, + "×Ļ×Ļש": 143153, + "×Ļ×Ļש×ķ×ij": 143154, + "fäll": 143155, + "fällig": 143156, + "ĠÑĤÑĢебÑĥеÑĤÑģÑı": 143157, + "Ġcará": 143158, + "Ġcarácter": 143159, + "ĠprincÃŃpio": 143160, + "ĠÅĤaz": 143161, + "ĠÅĤazien": 143162, + "ĠÅĤazienk": 143163, + "Ġgiãn": 143164, + "ÑģÑĤÑĢаива": 143165, + "Ùħساب": 143166, + "ÙħسابÙĤØ©": 143167, + "à¹Ģà¸Ħรืà¹Īà¸Ńà¸ĩà¸Ķืà¹Īม": 143168, + "ترÙĥÙĬب": 143169, + "volução": 143170, + "ĠÐŁÐ¾Ñĩ": 143171, + "ĠÐŁÐ¾Ñĩем": 143172, + "ĠÐŁÐ¾ÑĩемÑĥ": 143173, + "казалоÑģÑĮ": 143174, + "ĠпÑĢименениÑı": 143175, + "à¹Ģà¸Ĺียม": 143176, + "íĮĶ": 143177, + "à¸Ĥà¹īà¸Ńà¹Ģสà¸Ļà¸Ń": 143178, + "à¸Ľà¸±à¸įà¸įา": 143179, + "ĠобÑĥÑĩ": 143180, + "ĠобÑĥÑĩениÑı": 143181, + "ĠÑģеÑĢи": 143182, + "ĠÑģеÑĢиал": 143183, + "Ġinglés": 143184, + "ĠÙĦÙĥرة": 143185, + "Ġ×ĺ׾": 143186, + "Ġ×ĺ׾פ×ķף": 143187, + "Ġìłij": 143188, + "Ġìłijê·¼": 143189, + "×IJ×ķ×Ĵ": 143190, + "×IJ×ķ×Ĵ×ķס": 143191, + "×IJ×ķ×Ĵ×ķס×ĺ": 143192, + "ĠболÑĮÑĪое": 143193, + "ĠÐļонеÑĩно": 143194, + "×¢×Ļת×ķ׳": 143195, + "×¢×Ļת×ķ׳×IJ×Ļ": 143196, + "Ġкнопк": 143197, + "Ġзн": 143198, + "ĠзнаÑĤÑĮ": 143199, + "ĠÄijá»±": 143200, + "ĠÄijá»±ng": 143201, + "влаж": 143202, + "влажн": 143203, + "×ŀ×Ļ×ĺ×ij": 143204, + "ãĤ¬ãĤ¤": 143205, + "ãĤ¬ãĤ¤ãĥī": 143206, + "..........": 143207, + "Ġà¸ģุม": 143208, + "Ġà¸ģà¸¸à¸¡à¸łà¸²à¸ŀ": 143209, + "Ġà¸ģà¸¸à¸¡à¸łà¸²à¸ŀัà¸Ļ": 143210, + "Ġà¸ģà¸¸à¸¡à¸łà¸²à¸ŀัà¸Ļà¸ĺ": 143211, + "Ġà¸ģà¸¸à¸¡à¸łà¸²à¸ŀัà¸Ļà¸ĺà¹Į": 143212, + "bez": 143213, + "bezpieczeÅĦst": 143214, + "bezpieczeÅĦstw": 143215, + "ãĥijãĥijæ´»": 143216, + "عاط": 143217, + "عاطÙģ": 143218, + "ĠÄijáºŃm": 143219, + "ĠзÑĢ": 143220, + "ĠзÑĢениÑı": 143221, + "Ġborç": 143222, + "Ġнедел": 143223, + "ĠнеделÑİ": 143224, + "Ġhá»ı": 143225, + "Ġhá»ıng": 143226, + "ìŀ¥ìķł": 143227, + "ìŀ¥ìķłìĿ¸": 143228, + "ĠاÙĦعÙĦاÙĤØ©": 143229, + "Ġíģ¬": 143230, + "Ġíģ¬ê²Į": 143231, + "à¹Ħรà¹Ī": 143232, + "à¸ļาà¸Ķ": 143233, + "à¸ļาà¸Ķà¹Ģà¸Īà¹ĩà¸ļ": 143234, + "à¸Ŀรั": 143235, + "à¸Ŀรัà¹Īà¸ĩ": 143236, + "à¸Ŀรัà¹Īà¸ĩà¹Ģศ": 143237, + "à¸Ŀรัà¹Īà¸ĩà¹Ģศส": 143238, + "רע×Ļ": 143239, + "רע×Ļ×ķ׳×ķת": 143240, + "ĠëĮ": 143241, + "ĠëĮĵ": 143242, + "ĠëĮĵê¸Ģ": 143243, + "Ġnajb": 143244, + "Ġnajbli": 143245, + "Ġnajbliż": 143246, + "Ġnajbliższ": 143247, + "ĠиÑģполÑĮзÑĥеÑĤÑģÑı": 143248, + "ĠcientÃŃf": 143249, + "ĠcientÃŃfico": 143250, + "×¢×ŀ×§": 143251, + "Ġgợi": 143252, + "Ø´ØŃÙĨ": 143253, + "ĠÅĽm": 143254, + "ĠÅĽmier": 143255, + "ĠÅĽmierci": 143256, + "à¸Ħาสิà¹Ĥà¸Ļà¸Ńà¸Ńà¸Ļà¹Ħลà¸Ļà¹Į": 143257, + "×Ĺש×ijת×Ļ": 143258, + "Ġningu": 143259, + "Ġninguém": 143260, + "è¾¼ãĤģ": 143261, + "ãģ·": 143262, + "ĠÑĥг": 143263, + "ĠÑĥгол": 143264, + "ï½°": 143265, + "פת×Ļ×Ĺ": 143266, + "פת×Ļ×Ĺת": 143267, + "Ġ×Ķר×IJש×ķ׳×Ļ×Ŀ": 143268, + "pósito": 143269, + "ãĤŃãĥ¬ãĤ¤": 143270, + "ãģ©ãģĵãĤį": 143271, + "à¹Ģà¸Ĺà¹Īาà¹Ħ": 143272, + "à¹Ģà¸Ĺà¹Īาà¹Ħหร": 143273, + "à¹Ģà¸Ĺà¹Īาà¹Ħหรà¹Ī": 143274, + "ĠинÑĤеÑĢÑĮеÑĢ": 143275, + "ĠØŃاج": 143276, + "ĠØŃاجة": 143277, + "สีà¸Ĥาว": 143278, + "ìĸ¼": 143279, + "Ġná»Ļ": 143280, + "Ġná»Ļp": 143281, + "ĠÃŃnd": 143282, + "ĠÃŃndice": 143283, + "สำรวà¸Ī": 143284, + "Ġкаждой": 143285, + "Ġhotéis": 143286, + "ĠnastÄĻ": 143287, + "ĠnastÄĻpn": 143288, + "Ġ×Ķ×§×ķ×ĵ": 143289, + "Ġ×Ķ×§×ķ×ĵ×Ŀ": 143290, + "פ×ķפ": 143291, + "פ×ķפ×ķ׾": 143292, + "פ×ķפ×ķ׾ר×Ļ": 143293, + "вÑĪей": 143294, + "ãĤ·ãĥ³ãĥĹ": 143295, + "ãĤ·ãĥ³ãĥĹãĥ«": 143296, + "ĠzdjÄĻÄĩ": 143297, + "ĠгÑĢÑĥппа": 143298, + "ĠпомеÑī": 143299, + "ĠпомеÑīениÑı": 143300, + "ãģ©ãģĨãģĦãģĨ": 143301, + "ĠиÑģпÑĭÑĤа": 143302, + "ĠogÅĤ": 143303, + "ĠogÅĤos": 143304, + "ĠogÅĤoszen": 143305, + "ĠogÅĤoszeni": 143306, + "สรà¹īาà¸ĩสรร": 143307, + "สรà¹īาà¸ĩสรรà¸Ħà¹Į": 143308, + "à¸ŀรรà¸ĵ": 143309, + "ĠçıkÄ±ÅŁ": 143310, + "ĠÑĩаÑģÑĤноÑģÑĤи": 143311, + "Ġ×ķ×Ļ×ķתר": 143312, + "ç¶ļãģįãĤĴ": 143313, + "ç¶ļãģįãĤĴèªŃ": 143314, + "ç¶ļãģįãĤĴèªŃãĤĢ": 143315, + "à¸ģรั": 143316, + "à¸ģรัม": 143317, + "гÑĢаÑĦ": 143318, + "Ġвлад": 143319, + "ĠвладелÑĮ": 143320, + "ĠвладелÑĮÑĨ": 143321, + "ĠistediÄŁ": 143322, + "ĠistediÄŁiniz": 143323, + "×ij×ľ×¢": 143324, + "×ij×ľ×¢×ĵ×Ļ": 143325, + "ÙħÙĪØ§Ùģ": 143326, + "ÙħÙĪØ§ÙģÙĤØ©": 143327, + "Ġ×Ļ×ķר": 143328, + "Ġ×Ļ×ķרק": 143329, + "ãĤ«ãĥ¼ãĥīãĥŃãĥ¼ãĥ³": 143330, + "ĠاÙĦÙħØ´ÙĥÙĦ": 143331, + "ĠاÙĦÙħØ´ÙĥÙĦØ©": 143332, + "ĠêµŃíļĮ": 143333, + "ספ×ĺ": 143334, + "ספ×ĺ×ŀ": 143335, + "ספ×ĺ×ŀ×ijר": 143336, + "Ġìĸ´ëłµ": 143337, + "ÙĥاÙħ": 143338, + "ÙĥاÙħÙĬرا": 143339, + "schlü": 143340, + "schlüsse": 143341, + "ĠØ«ÙĨ": 143342, + "ĠØ«ÙĨائÙĬ": 143343, + "ìī½": 143344, + "ĠÐŀÑģоб": 143345, + "ĠÐŀÑģобенно": 143346, + "ĠинвеÑģÑĤи": 143347, + "ĠинвеÑģÑĤиÑĨи": 143348, + "اØŃتÙħ": 143349, + "اØŃتÙħاÙĦ": 143350, + "EÄŀ": 143351, + "EÄŀİ": 143352, + "íķĺê²łëĭ¤": 143353, + "Ġ×IJ×ijר×Ķ": 143354, + "Ġ×IJ×ijר×Ķ×Ŀ": 143355, + "Ġ×ij×Ĺ×Ļ׳×Ŀ": 143356, + "Ø£ÙĪØ¶": 143357, + "Ø£ÙĪØ¶Ø§Ø¹": 143358, + "Ġdél": 143359, + "Ġdélai": 143360, + "Ġ×IJ×ķ×Ķ×ij×Ļ×Ŀ": 143361, + "ĠÑģоÑħ": 143362, + "ĠÑģоÑħÑĢ": 143363, + "ĠÑģоÑħÑĢани": 143364, + "ĠдоÑģÑĤиж": 143365, + "ĠдоÑģÑĤижени": 143366, + "สิà¹Īà¸ĩà¹ģ": 143367, + "สิà¹Īà¸ĩà¹ģวà¸Ķ": 143368, + "สิà¹Īà¸ĩà¹ģวà¸Ķล": 143369, + "สิà¹Īà¸ĩà¹ģวà¸Ķลà¹īà¸Ńม": 143370, + "ĠاÙĦÙħباشر": 143371, + "ĠÑĦиг": 143372, + "ĠÑĦигÑĥÑĢ": 143373, + "можем": 143374, + "׾×ŀ×Ļ×ĵ×Ķ": 143375, + "Ġciné": 143376, + "Ġcinéma": 143377, + "Ġbada": 143378, + "ĠbadaÅĦ": 143379, + "جبÙĩØ©": 143380, + "Ġдеп": 143381, + "ĠдепÑĥÑĤ": 143382, + "ĠдепÑĥÑĤаÑĤ": 143383, + "Ġdistância": 143384, + "ĠاÙĦÙħعار": 143385, + "ĠاÙĦÙħعارضة": 143386, + "thèse": 143387, + "ünc": 143388, + "üncü": 143389, + "Ġданного": 143390, + "ĠBelgi": 143391, + "ĠBelgië": 143392, + "Ġ×ij×ij×§": 143393, + "Ġ×ij×ijקש×Ķ": 143394, + "ยà¹Īาà¸Ļ": 143395, + "Ġsolução": 143396, + "Ġ×Ķצ×ĺר": 143397, + "Ġ×Ķצ×ĺרפ×ķ": 143398, + "ĠØ£ÙĨØŃ": 143399, + "ĠØ£ÙĨØŃاء": 143400, + "ĠدÙħØ´": 143401, + "ĠدÙħØ´ÙĤ": 143402, + "มัà¹ī": 143403, + "มัà¹īย": 143404, + "Ùħغرب": 143405, + "استعÙħاÙĦ": 143406, + "ĠSÅĤow": 143407, + "ĠëıĻìĭľ": 143408, + "ĠëıĻìĭľìĹIJ": 143409, + "ĠÑģоÑģ": 143410, + "ĠÑģоÑģед": 143411, + "ì²ŃìĨĮ": 143412, + "ì²ŃìĨĮëħĦ": 143413, + "ĠгÑĢаÑĦ": 143414, + "ĠгÑĢаÑĦик": 143415, + "ĠìŀijìĿĢ": 143416, + "Ġyeti": 143417, + "ĠyetiÅŁtir": 143418, + "ĠìĿ´ê²ĥìĿ´": 143419, + "หà¹Īาà¸ĩ": 143420, + "Ø¥ÙħÙĥاÙĨ": 143421, + "Ø¥ÙħÙĥاÙĨÙĬØ©": 143422, + "استعراض": 143423, + "Ùħخدر": 143424, + "ĠÑĩÑĥÑĤÑĮ": 143425, + "ÙħدÙĬر": 143426, + "ÙħدÙĬرÙĬØ©": 143427, + "Ġà¹Ģมษ": 143428, + "Ġà¹Ģมษายà¸Ļ": 143429, + "ĠмеÑħ": 143430, + "ĠмеÑħаниз": 143431, + "ĠмеÑħанизм": 143432, + "ĠÑģÑĥм": 143433, + "ĠÑģÑĥммÑĥ": 143434, + "Ġvö": 143435, + "Ġvöll": 143436, + "Ġvöllig": 143437, + "ĠдÑĢÑĥз": 143438, + "ĠдÑĢÑĥзÑĮÑı": 143439, + "ãĤĴåĪ©ç͍ãģĹãģ¦": 143440, + "à¸ļรรà¸Īุ": 143441, + "pożycz": 143442, + "×ŀש׼": 143443, + "×ŀ×©×Ľ×ł×ª": 143444, + "×ŀ×©×Ľ×ł×ª×IJ": 143445, + "Ġeuropéen": 143446, + "Ġproprié": 143447, + "Ġpropriétaire": 143448, + "Ġkhấu": 143449, + "ãģĦãģŁãģłãģijãĤĭ": 143450, + "Ġtecrü": 143451, + "Ġtecrübe": 143452, + "×Ķ×ij": 143453, + "×Ķ×ij׳×Ķ": 143454, + "ĠcuÌ": 143455, + "ĠcuÌī": 143456, + "ĠcuÌīa": 143457, + "×IJ×ķ×ķ": 143458, + "×IJ×ķ×ķ×Ļר×Ķ": 143459, + "Ġ׼×ķ׾×ķ": 143460, + "Ulus": 143461, + "Uluslararası": 143462, + "Ġ׳×ķת": 143463, + "Ġ׳×ķ×ª×Ł": 143464, + "ãģ«åIJij": 143465, + "ãģ«åIJijãģijãģ¦": 143466, + "ë¹Ľ": 143467, + "à¸Ĺัà¸ģษ": 143468, + "à¸Ĺัà¸ģษะ": 143469, + "سÙĤÙĪ": 143470, + "سÙĤÙĪØ·": 143471, + "Ġвн": 143472, + "ĠвнеÑĪ": 143473, + "ĠвнеÑĪне": 143474, + "Ġurz": 143475, + "ĠurzÄĻd": 143476, + "Ġámb": 143477, + "Ġámbito": 143478, + "à¸Ńà¸ĺิ": 143479, + "à¸Ńà¸ĺิà¸ļาย": 143480, + "ĠÅĤad": 143481, + "ĠÅĤadn": 143482, + "ê±´ì¶ķ": 143483, + "wództ": 143484, + "wództw": 143485, + "Ġquestões": 143486, + "Ġשק": 143487, + "Ġשק×Ļ×ij׾": 143488, + "ĠmiejscowoÅĽci": 143489, + "Ġвал": 143490, + "ĠвалÑİÑĤ": 143491, + "häuser": 143492, + "หà¸Ļà¸Ńà¸ĩ": 143493, + "ãģ¨åħ±": 143494, + "ãģ¨åħ±ãģ«": 143495, + "ãĥıãĥ¼ãĥī": 143496, + "Ġê°ľìµľ": 143497, + "ĠоÑģновном": 143498, + "ĠмÑıÑģ": 143499, + "اعت": 143500, + "اعتÙĤاÙĦ": 143501, + "สà¸ĸิ": 143502, + "สà¸ĸิà¸ķิ": 143503, + "Ngu": 143504, + "Nguá»ĵn": 143505, + "ĠÙħجÙĦ": 143506, + "ĠÙħجÙĦØ©": 143507, + "à¹ģà¸Ĥà¸Ļ": 143508, + "ĠاÙĦÙĦÙĬبÙĬ": 143509, + "פע×Ļ׾×ķ×Ļ×ķת": 143510, + "Ġ×Ķרפ×ķ×IJ×Ļ": 143511, + "פר×ķפ": 143512, + "פר×ķפ×Ļ׾": 143513, + "ק׾×IJ": 143514, + "ק׾×IJס×Ļ": 143515, + "ÙĥتشÙģ": 143516, + "ãģ«ãģªãģ£ãģ¦ãģĹãģ¾ãģĨ": 143517, + "à¹Ģà¸Ħลà¹ĩà¸Ķ": 143518, + "à¹Ģà¸Ħลà¹ĩà¸Ķลัà¸ļ": 143519, + "Ġì»´": 143520, + "Ġì»´íĵ¨": 143521, + "Ġì»´íĵ¨íĦ°": 143522, + "Ġ×Ĺ×Ļ×ķ×ij×Ļ": 143523, + "Ġnäm": 143524, + "Ġnämlich": 143525, + "åij¼ãģ°": 143526, + "åij¼ãģ°ãĤĮ": 143527, + "ĠÑĢол": 143528, + "ĠÑĢоли": 143529, + "Ġspécialisé": 143530, + "à¸Ļวัà¸ķ": 143531, + "à¸Ļวัà¸ķà¸ģรรม": 143532, + "ÙĨصÙĪØµ": 143533, + "пеÑĢед": 143534, + "пеÑĢедаÑĩ": 143535, + "thèque": 143536, + "Ġר×IJ×Ļת×Ļ": 143537, + "ãĥĢãĤ¦ãĥ³": 143538, + "ãĤıãģĭ": 143539, + "ãĤıãģĭãģ£ãģ¦": 143540, + "беÑĢеж": 143541, + "ĠÑģек": 143542, + "ĠÑģекÑĢ": 143543, + "ĠÑģекÑĢеÑĤ": 143544, + "ĠпоÑģÑĤоÑıнн": 143545, + "à¸Ĥà¸Ļสà¹Īà¸ĩ": 143546, + "Ġmük": 143547, + "Ġmükem": 143548, + "Ġmükemmel": 143549, + "еÑĤеÑģÑĮ": 143550, + "ĠاÙĦسÙĨÙĪØ§Øª": 143551, + "ĠìłĦíĺĢ": 143552, + "Ġ×Ķ×ŀ×§×ķר×Ļ": 143553, + "Ġmüd": 143554, + "Ġmüdah": 143555, + "Ġmüdahale": 143556, + "Ġwyb": 143557, + "Ġwybór": 143558, + "Ġtendência": 143559, + "إدار": 143560, + "إدارÙĬØ©": 143561, + "Ġunterstützen": 143562, + "ת×ijר": 143563, + "ת×ijרר": 143564, + "Ġdiá": 143565, + "Ġdiálogo": 143566, + "ĠÃĸnce": 143567, + "ĠÃĸnceki": 143568, + "ãĤ¹ãĥĿãĥĥãĥĪ": 143569, + "ëĦ£": 143570, + "ĠGeli": 143571, + "ĠGeliÅŁ": 143572, + "ãĤĴéĢļ": 143573, + "ãĤĴéĢļãģĹãģ¦": 143574, + "ĠFuÃŁball": 143575, + "Ġsalari": 143576, + "Ġsalarié": 143577, + "ĠпÑĢодÑĥкÑĤов": 143578, + "صÙģÙĤØ©": 143579, + "รวà¸ļ": 143580, + "รวà¸ļรวม": 143581, + "à¹ĥà¸Ļà¸IJาà¸Ļ": 143582, + "à¹ĥà¸Ļà¸IJาà¸Ļะ": 143583, + "Ġkayna": 143584, + "Ġkaynaģı": 143585, + "ĠìŀijíĴĪ": 143586, + "ĠвÑĭÑĢаж": 143587, + "ĠвÑĭÑĢажен": 143588, + "ĠÑģÑĤеп": 143589, + "ĠÑģÑĤепени": 143590, + "ĠاÙĦÙħÙĪØ¬ÙĪØ¯": 143591, + "ĠاÙĦÙħÙĪØ¬ÙĪØ¯Ø©": 143592, + "ลà¹īม": 143593, + "ĠnajczÄĻ": 143594, + "ĠnajczÄĻÅĽcie": 143595, + "ĠnajczÄĻÅĽciej": 143596, + "Ġzwy": 143597, + "Ġzwyk": 143598, + "ĠzwykÅĤ": 143599, + "Ġê·¸ëłĩì§Ģ": 143600, + "à¸ģระà¸Ī": 143601, + "à¸ģระà¸Īาย": 143602, + "Ġëĭµ": 143603, + "Ġëĭµë³Ģ": 143604, + "ĠÑĢеак": 143605, + "ĠÑĢеакÑĨи": 143606, + "ĠÅĽwież": 143607, + "ĠÑģÑĤоимоÑģÑĤи": 143608, + "ÙħÙĨاÙĤ": 143609, + "ÙħÙĨاÙĤØ´": 143610, + "ÙħÙĨاÙĤشة": 143611, + "ĠÑħоÑĩÑĥ": 143612, + "ãĥľãĥ¼ãĥī": 143613, + "Ġróżnic": 143614, + "ĠкÑĢÑĭ": 143615, + "ĠкÑĢÑĭÑĪ": 143616, + "âľĵ": 143617, + "ãĤ³ãĥ³ãĥĨãĥ³": 143618, + "ãĤ³ãĥ³ãĥĨãĥ³ãĥĦ": 143619, + "ĠпÑĢедпоÑĩ": 143620, + "×ŀר×ij×Ļת": 143621, + "ĠØ´Ùĥ": 143622, + "ĠØ´Ùĥرا": 143623, + "Ġдал": 143624, + "Ġдалек": 143625, + "Ġдалеко": 143626, + "برÙĬØ·": 143627, + "برÙĬطاÙĨÙĬا": 143628, + "عÙĨا": 143629, + "عÙĨاÙĬØ©": 143630, + "ĠÑĢаÑģÑģказ": 143631, + "ĠÑĢаÑģÑģказÑĭва": 143632, + "Ø£ÙĦÙĪ": 143633, + "Ø£ÙĦÙĪØ§ÙĨ": 143634, + "æĮģãģ£ãģ¦": 143635, + "æĮģãģ£ãģ¦ãģĦ": 143636, + "Ùħبادئ": 143637, + "×Ķ×¢×ijר": 143638, + "×Ķ×¢×ijרת": 143639, + "Ġyayı": 143640, + "Ġyayıml": 143641, + "Ġyayımla": 143642, + "mát": 143643, + "máticos": 143644, + "à¸ģัà¸ĩ": 143645, + "à¸ģัà¸ĩวล": 143646, + "Ġ×ľ×¤×ª": 143647, + "Ġ×ľ×¤×ª×ķ×Ĺ": 143648, + "à¸ŀฤà¸ķิ": 143649, + "à¸ŀฤà¸ķิà¸ģรรม": 143650, + "íĤ¬": 143651, + "ĠокÑĢÑĥг": 143652, + "Ġ×ŀצ×ķ×ķ×Ķ": 143653, + "ÐĽÐµÐ½Ð¸": 143654, + "ÐĽÐµÐ½Ð¸Ð½": 143655, + "ĠTriá»ģu": 143656, + "ãĤ³ãĥŁãĥ¥": 143657, + "ãĤ³ãĥŁãĥ¥ãĥĭ": 143658, + "ãĤ³ãĥŁãĥ¥ãĥĭãĤ±": 143659, + "ãĤ³ãĥŁãĥ¥ãĥĭãĤ±ãĥ¼ãĤ·ãĥ§ãĥ³": 143660, + "ÙĥÙĨÙĬ": 143661, + "ÙĥÙĨÙĬسة": 143662, + "ãĤĴä¸Ńå¿ĥ": 143663, + "ãĤĴä¸Ńå¿ĥãģ«": 143664, + "ĠmiÄĻdz": 143665, + "ĠmiÄĻdzyn": 143666, + "ĠmiÄĻdzynar": 143667, + "ĠmiÄĻdzynarod": 143668, + "ĠmiÄĻdzynarodow": 143669, + "ÙĦÙĨ": 143670, + "ÙĦÙĨدا": 143671, + "برش": 143672, + "برشÙĦÙĪÙĨ": 143673, + "برشÙĦÙĪÙĨØ©": 143674, + "à¸ģระà¸ķุ": 143675, + "à¸ģระà¸ķุà¹īà¸Ļ": 143676, + "Ġgı": 143677, + "Ġgıda": 143678, + "à¸Ľà¸£à¸°à¸Ĺัà¸ļ": 143679, + "à¸Ľà¸£à¸°à¸Ĺัà¸ļà¹ĥà¸Ī": 143680, + "Ġë¶Ī구": 143681, + "Ġë¶Ī구íķĺê³ł": 143682, + "ĠÙĨØ·": 143683, + "ĠÙĨطاÙĤ": 143684, + "ĠÐľÐ¾Ð¶ÐµÑĤ": 143685, + "Präs": 143686, + "Präsident": 143687, + "ĠÑģкоÑĢ": 143688, + "ĠÑģкоÑĢоÑģÑĤÑĮ": 143689, + "Ġ×Ķ×ij×ķקר": 143690, + "еÑħаÑĤÑĮ": 143691, + "Ġgạo": 143692, + "Ġש×IJ×Ļ׳×Ŀ": 143693, + "Ġ×ij׳×ķ×Ĵ": 143694, + "Ġ×ij׳×ķ×Ĵ×¢": 143695, + "ĠопиÑģание": 143696, + "Ġuczni": 143697, + "Ġuczniów": 143698, + "à¹Ģà¸Ńà¹ĩà¸Ļ": 143699, + "Ġتش": 143700, + "ĠتشرÙĬÙĨ": 143701, + "Ġnhãn": 143702, + "빨": 143703, + "Ġcaractère": 143704, + "×¢×ľ×Ļ": 143705, + "×¢×ľ×Ļ×Ļ×Ķ": 143706, + "楽ãģĹãĤģãĤĭ": 143707, + "ĠÑģаÑħ": 143708, + "ĠÑģаÑħаÑĢ": 143709, + "дÑĥмаÑĤÑĮ": 143710, + "ĠÐĴозможно": 143711, + "صÙĬاÙĨ": 143712, + "صÙĬاÙĨØ©": 143713, + "ömür": 143714, + "สล": 143715, + "สลà¹ĩ": 143716, + "สลà¹ĩà¸Ń": 143717, + "สลà¹ĩà¸Ńà¸ķ": 143718, + "롯": 143719, + "Ġthói": 143720, + "grÃ¶ÃŁe": 143721, + "ĠksiÄĻ": 143722, + "ĠksiÄĻg": 143723, + "ĠÑĢом": 143724, + "ĠÑĢоман": 143725, + "ÙĤاسÙħ": 143726, + "×ŀ×ij×ķ×Ĵ": 143727, + "×ŀ×ij×ķ×Ĵר×Ļ×Ŀ": 143728, + "besch": 143729, + "beschäft": 143730, + "beschäftig": 143731, + "×Ķצע×Ķ": 143732, + "ĠÃģrea": 143733, + "ĠзаÑıвк": 143734, + "Ĺ": 143735, + "ĠлÑİбого": 143736, + "Ġม": 143737, + "Ġมà¸ģร": 143738, + "Ġมà¸ģราà¸Ħม": 143739, + "ÑĦиз": 143740, + "ÑĦизиÑĩеÑģк": 143741, + "инÑĦ": 143742, + "инÑĦек": 143743, + "инÑĦекÑĨи": 143744, + "اÙĦØ·": 143745, + "اÙĦطائÙģ": 143746, + "Ġколл": 143747, + "ĠколлекÑĤив": 143748, + "езжа": 143749, + "ĠسبØŃ": 143750, + "ĠسبØŃاÙĨ": 143751, + "ĠسبØŃاÙĨÙĩ": 143752, + "schlä": 143753, + "schläge": 143754, + "Ġди": 143755, + "Ġдиаг": 143756, + "ĠдиагноÑģÑĤ": 143757, + "ĠоÑĤмеÑĤиÑĤÑĮ": 143758, + "ТЬ": 143759, + "ĠاÙĦدر": 143760, + "ĠاÙĦدراسÙĬ": 143761, + "עצ×ŀ": 143762, + "עצ×ŀ×IJ×ķת": 143763, + "Ġdémarch": 143764, + "Ġdémarche": 143765, + "Ġ×ĺ×ķ×¢": 143766, + "Ġ×ĺ×ķ×¢×Ł": 143767, + "Ġfuncionários": 143768, + "ỵ": 143769, + "׾׼×IJ": 143770, + "׾׼×IJ×ķר×Ķ": 143771, + "à¸ĭà¹Ī": 143772, + "à¸ĭà¹Īà¸Ńม": 143773, + "ĠÑĩÑĥв": 143774, + "ĠÑĩÑĥвÑģÑĤво": 143775, + "âĸ¼": 143776, + "пÑĥÑī": 143777, + "пÑĥÑīен": 143778, + "ĠмеÑĢ": 143779, + "ĠмеÑĢоп": 143780, + "ĠмеÑĢопÑĢи": 143781, + "ĠмеÑĢопÑĢиÑıÑĤиÑı": 143782, + "Ġuçu": 143783, + "ĠuçuÅŁ": 143784, + "ãĤĴåĪ©ç͍ãģĻãĤĭ": 143785, + "aÄŁ": 143786, + "aÄŁlı": 143787, + "ìĺĪìĪł": 143788, + "à¹ģยà¹Ī": 143789, + "ĠاÙĦÙĥÙħ": 143790, + "ĠاÙĦÙĥÙħبÙĬ": 143791, + "ĠاÙĦÙĥÙħبÙĬÙĪØªØ±": 143792, + "تÙĪÙĬ": 143793, + "تÙĪÙĬتر": 143794, + "à¹Ģà¸Ĭีà¹Īยว": 143795, + "à¹Ģà¸Ĭีà¹Īยวà¸Ĭา": 143796, + "à¹Ģà¸Ĭีà¹Īยวà¸Ĭาà¸į": 143797, + "á»Ķ": 143798, + "Ġhiếm": 143799, + "ذاÙĥرة": 143800, + "Ġ×Ķ×ŀ×Ļ×ķ×Ĺ×ĵ": 143801, + "ĠìĪľ": 143802, + "ĠìĪľê°Ħ": 143803, + "ĠKı": 143804, + "ĠKısa": 143805, + "ĠgeleceÄŁi": 143806, + "пÑĢоÑĦеÑģÑģиона": 143807, + "пÑĢоÑĦеÑģÑģионал": 143808, + "Ġogó": 143809, + "Ġogóle": 143810, + "ĠgÅĤów": 143811, + "ĠgÅĤówne": 143812, + "ĠÑģÑĤилÑĮ": 143813, + "×IJפ׾": 143814, + "×IJפ׾×Ļ×§": 143815, + "×IJפ׾×Ļקצ×Ļ×Ķ": 143816, + "สมารà¹Į": 143817, + "สมารà¹Įà¸Ĺ": 143818, + "สมารà¹Įà¸Ĺà¹Ĥà¸Ł": 143819, + "สมารà¹Įà¸Ĺà¹Ĥà¸Łà¸Ļ": 143820, + "Ġthánh": 143821, + "ÐŁÐ¾Ð´": 143822, + "ÐŁÐ¾Ð´ÑĢоб": 143823, + "ÐŁÐ¾Ð´ÑĢобнее": 143824, + "ĠاÙĦتÙĪÙĨ": 143825, + "ĠاÙĦتÙĪÙĨسÙĬ": 143826, + "Ġbahçe": 143827, + "à¹ģà¸ģà¹īà¸Ľà¸±à¸įหา": 143828, + "éducation": 143829, + "europ": 143830, + "europä": 143831, + "europäische": 143832, + "ĠKsi": 143833, + "ĠKsiÄĻ": 143834, + "ĠëĦĺ": 143835, + "ĠëĦĺìĸ´": 143836, + "Ġvüc": 143837, + "Ġvücud": 143838, + "Ġyayg": 143839, + "Ġyaygın": 143840, + "Ġniekt": 143841, + "Ġniektóry": 143842, + "Ġniektórych": 143843, + "ãģŃãģĩ": 143844, + "Ġкаж": 143845, + "ĠкажеÑĤÑģÑı": 143846, + "каж": 143847, + "кажеÑĤ": 143848, + "ĠاÙĦدÙĬÙħÙĤرا": 143849, + "ĠاÙĦدÙĬÙħÙĤراط": 143850, + "ĠاÙĦدÙĬÙħÙĤراطÙĬØ©": 143851, + "æŃ©": 143852, + "æŃ©ãģĦãģ¦": 143853, + "Ġvaz": 143854, + "Ġvazge": 143855, + "Ġvazgeç": 143856, + "ĠминималÑĮ": 143857, + "ĠминималÑĮн": 143858, + "ãĥijãĤ¿": 143859, + "ãĥijãĤ¿ãĥ¼ãĥ³": 143860, + "ĠëĬ": 143861, + "ĠëĬIJ": 143862, + "ĠëĬIJëĤĮ": 143863, + "ãģ¡ãĤĩãģĨ": 143864, + "ãģ¡ãĤĩãģĨãģ©": 143865, + "Ġà¸ģร": 143866, + "Ġà¸ģรà¸ģà¸İ": 143867, + "Ġà¸ģรà¸ģà¸İาà¸Ħม": 143868, + "تجدÙĬد": 143869, + "ĠشاÙħÙĦ": 143870, + "หลัà¸ģà¸IJาà¸Ļ": 143871, + "ĠмаÑĢÑĪ": 143872, + "ĠмаÑĢÑĪÑĢÑĥÑĤ": 143873, + "ĠvÃŃt": 143874, + "ĠvÃŃtima": 143875, + "Ġquizá": 143876, + "aygı": 143877, + "×ĵ×ijר×Ļ×ķ": 143878, + "Ġизд": 143879, + "Ġиздели": 143880, + "ĠизделиÑı": 143881, + "пла": 143882, + "плаÑĩ": 143883, + "плаÑĩива": 143884, + "ä»»ãģĽ": 143885, + "Ġéquipé": 143886, + "ä¹ħãģĹãģ": 143887, + "ä¹ħãģĹãģ¶": 143888, + "ä¹ħãģĹãģ¶ãĤĬ": 143889, + "ĠкаÑĤ": 143890, + "ĠкаÑĤал": 143891, + "ĠкаÑĤалог": 143892, + "สà¹īม": 143893, + "ĠÑĢей": 143894, + "ĠÑĢейÑĤ": 143895, + "ĠÑĢейÑĤинг": 143896, + "Ġthuyá»ģn": 143897, + "ĠاÙĦÙħÙĤدس": 143898, + "espère": 143899, + "ãģ«åħ¥ãģ£ãģŁ": 143900, + "หมายà¹Ģลà¸Ĥ": 143901, + "ת×Ĺ×ķשת": 143902, + "à¸Ļà¹Īะ": 143903, + "ĠpeÅĤ": 143904, + "ĠpeÅĤne": 143905, + "Ġpérd": 143906, + "Ġpérdida": 143907, + "หมวà¸Ķ": 143908, + "หมวà¸Ķหมูà¹Ī": 143909, + "иÑĩеÑģкÑĥÑİ": 143910, + "çµĤãĤı": 143911, + "çµĤãĤıãģ£ãģŁ": 143912, + "Ġ×Ĵ×ķ×Ĵ׾": 143913, + "à¸Ĺำà¸Ħวาม": 143914, + "à¸Ĺำà¸Ħวามสะà¸Ńาà¸Ķ": 143915, + "Hotéis": 143916, + "ĠзаÑĢ": 143917, + "ĠзаÑĢегиÑģÑĤ": 143918, + "ĠзаÑĢегиÑģÑĤÑĢи": 143919, + "ĠзаÑĢегиÑģÑĤÑĢиÑĢова": 143920, + "ĠÑģобÑĭÑĤи": 143921, + "ĠÑģобÑĭÑĤиÑı": 143922, + "Ġ×ĸ׼×IJ": 143923, + "ÙħÙĨظÙĪÙħØ©": 143924, + "Ġ×Ķ×ŀצ": 143925, + "Ġ×Ķ×ŀצ×Ļ×IJ×ķת": 143926, + "ÙħÙĥÙĪÙĨ": 143927, + "ÙħÙĥÙĪÙĨات": 143928, + "ä¸ĬãģĮãĤĭ": 143929, + "ĠmÄĻ": 143930, + "ĠmÄĻsk": 143931, + "หรืà¸Ńà¹Ģà¸Ľà¸¥à¹Īา": 143932, + "ëĤ®": 143933, + "Ġnoktas": 143934, + "Ġnoktası": 143935, + "ĠболÑĮÑĪим": 143936, + "ĠлÑĥÑĩÑĪиÑħ": 143937, + "Ø´ÙĩÙĬد": 143938, + "à¸Ńำà¸Ļ": 143939, + "à¸Ńำà¸Ļวย": 143940, + "à¸Ńำà¸Ļวยà¸Ħวาม": 143941, + "à¸Ńำà¸Ļวยà¸Ħวามสะà¸Ķวà¸ģ": 143942, + "Ġев": 143943, + "ĠевÑĢ": 143944, + "ĠевÑĢоп": 143945, + "ĠевÑĢопей": 143946, + "à¸īาย": 143947, + "ìĦŃ": 143948, + "ÙħÙ쨧": 143949, + "ÙħÙ쨧ÙĪØ¶": 143950, + "ÙħÙ쨧ÙĪØ¶Ø§Øª": 143951, + "ë¹Į": 143952, + "赤ãģ¡ãĤĥãĤĵ": 143953, + "ĠÑĥдалоÑģÑĮ": 143954, + "ĠХоÑĤ": 143955, + "ĠХоÑĤÑı": 143956, + "przedsiÄĻbiorc": 143957, + "ĠHôm": 143958, + "íķĺìĺĢìĬµëĭĪëĭ¤": 143959, + "Ġнаг": 143960, + "ĠнагÑĢÑĥз": 143961, + "ĠнагÑĢÑĥзк": 143962, + "Ġ×ij×Ļ׳׾×IJ×ķ×ŀ×Ļ": 143963, + "Ġê°ĢëĬ¥íķľ": 143964, + "ĠHữu": 143965, + "à¸Ńุà¸Ķ": 143966, + "à¸Ńุà¸Ķม": 143967, + "ת×ķפ": 143968, + "ת×ķפע×Ķ": 143969, + "ĠmiÅĤo": 143970, + "ĠmiÅĤoÅĽci": 143971, + "ksiÄħż": 143972, + "ksiÄħżka": 143973, + "ĠاÙĦÙĦعبة": 143974, + "à¸īาà¸ģ": 143975, + "สะสม": 143976, + "×ŀתר": 143977, + "×ŀתר×Ĺש": 143978, + "Ġlégère": 143979, + "Ġ׾צפ": 143980, + "Ġ׾צפ×Ļ×Ķ": 143981, + "ĠиÑģÑĤоÑĢиÑı": 143982, + "ĠãĥĪãĥ©": 143983, + "ĠãĥĪãĥ©ãĥĥãĤ¯": 143984, + "ĠãĥĪãĥ©ãĥĥãĤ¯ãĥIJãĥĥãĤ¯": 143985, + "Ġка": 143986, + "ĠкаÑĦе": 143987, + "×ŀס×ŀ×ļ": 143988, + "Ġcüm": 143989, + "Ġcümle": 143990, + "à¹Ģà¸Ħลืà¹Īà¸Ńà¸Ļà¹Ħหว": 143991, + "ãģĬãģĿ": 143992, + "ãģĬãģĿãĤīãģı": 143993, + "ìŀIJëıĻ": 143994, + "ìŀIJëıĻì°¨": 143995, + "à¸Ńัà¸ķ": 143996, + "à¸Ńัà¸ķà¹Ĥà¸Ļ": 143997, + "à¸Ńัà¸ķà¹Ĥà¸Ļมั": 143998, + "à¸Ńัà¸ķà¹Ĥà¸Ļมัà¸ķิ": 143999, + "ĠÅŁik": 144000, + "ĠÅŁikay": 144001, + "ĠÅŁikayet": 144002, + "extrême": 144003, + "krä": 144004, + "kräfte": 144005, + "ëĤĻ": 144006, + "íķij": 144007, + "ì²Ļ": 144008, + "íĺĪ": 144009, + "ì°į": 144010, + "âĻ¡": 144011, + "ìŀĶ": 144012, + "뢰": 144013, + "íĿĶ": 144014, + "íĿIJ": 144015, + "âĩĴ": 144016, + "ë§Ľ": 144017, + "ìĬĪ": 144018, + "á»Ĵ": 144019, + "ìĺµ": 144020, + "âĹİ": 144021, + "íĤ¨": 144022, + "ê¿Ī": 144023, + "ì΍": 144024, + "ìĽ¨": 144025, + "ë§¥": 144026, + "ï½Ģ": 144027, + "J": 144028, + "Ẩ": 144029, + "ãħİ": 144030, + "ÑĹ": 144031, + "ìĦ¬": 144032, + "ì¹¼": 144033, + "ï¼¶": 144034, + "ìĽł": 144035, + "룴": 144036, + "Åĥ": 144037, + "ëĤ¼": 144038, + "ëĭIJ": 144039, + "â̹": 144040, + "ë¦Ń": 144041, + "ì§IJ": 144042, + "â̤": 144043, + "Ãħ": 144044, + "뾨": 144045, + "íĦ¸": 144046, + "íľĺ": 144047, + "ê²ģ": 144048, + "ë´ħ": 144049, + "Ãĺ": 144050, + "ëŃĶ": 144051, + "ëĺij": 144052, + "âĹĩ": 144053, + "ìĹĺ": 144054, + "ï»´": 144055, + "ë§¹": 144056, + "ï¾Ŀ": 144057, + "ìĬ·": 144058, + "íĥķ": 144059, + "ï¼ł": 144060, + "ì»´": 144061, + "ëłĮ": 144062, + "ì½ľ": 144063, + "ﻹ": 144064, + "ãħł": 144065, + "졸": 144066, + "ëħ¹": 144067, + "âĤº": 144068, + "âĸ¶": 144069, + "íĥIJ": 144070, + "êµ´": 144071, + "íij¸": 144072, + "ÑĶ": 144073, + "íͽ": 144074, + "Ðħ": 144075, + "ë°¤": 144076, + "Ôģ": 144077, + "첨": 144078, + "ì¶ĺ": 144079, + "ë²Ĺ": 144080, + "멸": 144081, + "ï¼»": 144082, + "ï¼½": 144083, + "ï¼·": 144084, + "ì°Į": 144085, + "ÃĴ": 144086, + "íı´": 144087, + "ìĵ¸": 144088, + "ì´Į": 144089, + "ëģĶ": 144090, + "ëĶ©": 144091, + "ëĩĮ": 144092, + "ë©Ģ": 144093, + "벨": 144094, + "ï¼µ": 144095, + "ë§¡": 144096, + "ëĭ«": 144097, + "฿": 144098, + "ãģ±": 144099, + "ìĩ¼": 144100, + "ìºł": 144101, + "뮤": 144102, + "ê±±": 144103, + "컬": 144104, + "âĦĥ": 144105, + "ëͱ": 144106, + "ëĥĪ": 144107, + "ìĭ±": 144108, + "íĻĪ": 144109, + "ëŀIJ": 144110, + "ìħĢ": 144111, + "ìłł": 144112, + "ÐĨ": 144113, + "ëłī": 144114, + "ï½ħ": 144115, + "ï½ı": 144116, + "íĻĢ": 144117, + "뼰": 144118, + "á»®": 144119, + "íĤ¹": 144120, + "ê½ĥ": 144121, + "ﻤ": 144122, + "ïºĶ": 144123, + "꺼": 144124, + "ìķī": 144125, + "âϦ": 144126, + "ï½ģ": 144127, + "ìĵ´": 144128, + "ãĢī": 144129, + "ì°®": 144130, + "ì¤ĺ": 144131, + "Ừ": 144132, + "ëģĦ": 144133, + "ëIJ¨": 144134, + "ìķĮ": 144135, + "íĿĺ": 144136, + "íħIJ": 144137, + "ãĢĪ": 144138, + "겪": 144139, + "ëĭ¥": 144140, + "ê²¼": 144141, + "á»Į": 144142, + "맨": 144143, + "ëģĬ": 144144, + "벤": 144145, + "ëijĶ": 144146, + "íĿ¡": 144147, + "Ử": 144148, + "ë¬ĺ": 144149, + "ãģī": 144150, + "ëŀ«": 144151, + "íĶĪ": 144152, + "íħį": 144153, + "ìŀĥ": 144154, + "ï½ī": 144155, + "ìģľ": 144156, + "âĸ½": 144157, + "묻": 144158, + "âĸ³": 144159, + "X": 144160, + "ìģĺ": 144161, + "ì¶°": 144162, + "ìĬ´": 144163, + "ìķ±": 144164, + "ìĩĦ": 144165, + "Ắ": 144166, + "ï´¿": 144167, + "ï´¾": 144168, + "âĤ½": 144169, + "ëĦĵ": 144170, + "룩": 144171, + "쳤": 144172, + "ê´ľ": 144173, + "ÃĻ": 144174, + "Ỿ": 144175, + "ï¿£": 144176, + "ëĵŃ": 144177, + "ë©ĺ": 144178, + "ê»´": 144179, + "ëł´": 144180, + "Ðĥ": 144181, + "묵": 144182, + "ì§Ŀ": 144183, + "ãģº": 144184, + "ðŁĺĤ": 144185, + "ëŀ¬": 144186, + "ìłĬ": 144187, + "ê´Ħ": 144188, + "ìŀĬ": 144189, + "íŀĮ": 144190, + "ìĦ¯": 144191, + "âĪĢ": 144192, + "âĸ¡": 144193, + "ëĢĮ": 144194, + "ëŀĻ": 144195, + "ï½ĥ": 144196, + "Ặ": 144197, + "ï¾Ħ": 144198, + "ïºĺ": 144199, + "ë¹¼": 144200, + "ÃĮ": 144201, + "âĸ·": 144202, + "ê¸į": 144203, + "ë©ĭ": 144204, + "ãģĥ": 144205, + "ìĺĨ": 144206, + "ìĺ®": 144207, + "몬": 144208, + "롤": 144209, + "볬": 144210, + "ëĬ¦": 144211, + "âĸª": 144212, + "ì¼ĵ": 144213, + "ìľĪ": 144214, + "ì§§": 144215, + "ï½½": 144216, + "ëĥī": 144217, + "ï¾Į": 144218, + "ëĺIJ": 144219, + "ï¼ĥ": 144220, + "á»Ħ": 144221, + "ì´¬": 144222, + "춤": 144223, + "ï¼¹": 144224, + "ï»Ń": 144225, + "âĤ«": 144226, + "ï½ĩ": 144227, + "ìĺ·": 144228, + "ëĸ¨": 144229, + "âī«": 144230, + "릿": 144231, + "⾨": 144232, + "Ù±": 144233, + "쯤": 144234, + "ê¹Ķ": 144235, + "ðŁĺĬ": 144236, + "ìĪ«": 144237, + "ê³±": 144238, + "êµ³": 144239, + "ï½ĭ": 144240, + "à¸Į": 144241, + "Äł": 144242, + "ë͏": 144243, + "ë°ij": 144244, + "ìħĭ": 144245, + "íİ´": 144246, + "âľħ": 144247, + "íĥij": 144248, + "ëĪĩ": 144249, + "íı¼": 144250, + "ðŁĺį": 144251, + "ìĺĽ": 144252, + "ﻣ": 144253, + "Ñĺ": 144254, + "ì©Į": 144255, + "ë¦ħ": 144256, + "ìĿį": 144257, + "ク": 144258, + "ëįľ": 144259, + "ãģħ": 144260, + "íݼ": 144261, + "ëĭĿ": 144262, + "ë¿Į": 144263, + "ì¼°": 144264, + "ìĭ«": 144265, + "ë°¥": 144266, + "íĽĮ": 144267, + "ì¨Į": 144268, + "ë¹Ļ": 144269, + "ï½İ": 144270, + "ë´Ħ": 144271, + "ìĦ¹": 144272, + "ï½²": 144273, + "ìĮĵ": 144274, + "Òij": 144275, + "ë°į": 144276, + "ëłĢ": 144277, + "íĨ¤": 144278, + "ッ": 144279, + "ë¤Ħ": 144280, + "꽤": 144281, + "ï½Ĵ": 144282, + "ìķ¨": 144283, + "ï½¼": 144284, + "ê¹IJ": 144285, + "íģIJ": 144286, + "âĦĸ": 144287, + "맺": 144288, + "ﺮ": 144289, + "ëħģ": 144290, + "겸": 144291, + "ï»ł": 144292, + "íĬľ": 144293, + "Ź": 144294, + "ë¥Ń": 144295, + "ëĪī": 144296, + "ï½Ķ": 144297, + "íĮ¬": 144298, + "ìŀĩ": 144299, + "ï¬ģ": 144300, + "ﻨ": 144301, + "ëij¥": 144302, + "ëŀĦ": 144303, + "Ù¬": 144304, + "íĭ´": 144305, + "ìŀī": 144306, + "Ú¾": 144307, + "ìĽħ": 144308, + "ï»®": 144309, + "ëĭī": 144310, + "âīª": 144311, + "âĹĦ": 144312, + "ëĪĮ": 144313, + "íĽ¼": 144314, + "ì¤į": 144315, + "Ÿ": 144316, + "줬": 144317, + "ì¾Į": 144318, + "ï½ĵ": 144319, + "ï¾Ĭ": 144320, + "ðŁı»": 144321, + "ï¾ī": 144322, + "Ðģ": 144323, + "íĺIJ": 144324, + "ï¾Ļ": 144325, + "꼬": 144326, + "íŀIJ": 144327, + "âĢ¥": 144328, + "ëŁŃ": 144329, + "ë§ŀ": 144330, + "ìĥ¤": 144331, + "ïºĴ": 144332, + "íĭ±": 144333, + "ë½ij": 144334, + "Ãķ": 144335, + "âĪļ": 144336, + "ëĤĦ": 144337, + "ê¹Ŀ": 144338, + "ëĨĪ": 144339, + "Ẻ": 144340, + "ìħĪ": 144341, + "ìĮį": 144342, + "âĢ¡": 144343, + "ï¼±": 144344, + "ìģ¨": 144345, + "âĺº": 144346, + "ëĴ·": 144347, + "ìĺ³": 144348, + "ðŁijį": 144349, + "몽": 144350, + "ëĤŃ": 144351, + "ïºŃ": 144352, + "ë©Ī": 144353, + "á»Ī": 144354, + "íķĢ": 144355, + "ëĭĻ": 144356, + "ë¦ĩ": 144357, + "ìķ¤": 144358, + "ìį¼": 144359, + "ãĥµ": 144360, + "Ñ£": 144361, + "ìľĹ": 144362, + "âŃIJ": 144363, + "ï¾ĺ": 144364, + "íŬ": 144365, + "ê¾¼": 144366, + "ìķĹ": 144367, + "ï»Į": 144368, + "ê±·": 144369, + "ëħķ": 144370, + "롱": 144371, + "ìķĬ": 144372, + "ï¾Ģ": 144373, + "ìĩł": 144374, + "íĮ©": 144375, + "ﺪ": 144376, + "ë§Ļ": 144377, + "_": 144378, + "ê¿Ķ": 144379, + "íİľ": 144380, + "룸": 144381, + "íĶĶ": 144382, + "ﻳ": 144383, + "ëıķ": 144384, + "ìĭ¼": 144385, + "á»İ": 144386, + "ë§ĺ": 144387, + "ì¢ĭ": 144388, + "íĨ¡": 144389, + "ï½±": 144390, + "íĿij": 144391, + "Ỹ": 144392, + "ì¦Į": 144393, + "칸": 144394, + "ëŃĺ": 144395, + "ï¾Ĺ": 144396, + "ï»ĭ": 144397, + "íĬĢ": 144398, + "ë¥Ļ": 144399, + "콩": 144400, + "ëģĹ": 144401, + "ëį´": 144402, + "ìħľ": 144403, + "¸": 144404, + "ë»IJ": 144405, + "ìĥµ": 144406, + "ê²IJ": 144407, + "ëĵ¬": 144408, + "룰": 144409, + "ãħĭ": 144410, + "ìĹī": 144411, + "á»ĸ": 144412, + "ëĦĮ": 144413, + "ï½¶": 144414, + "ë´ĩ": 144415, + "ëĤ³": 144416, + "ãĤľ": 144417, + "ëĸ»": 144418, + "íİĢ": 144419, + "ëį©": 144420, + "íķ¸": 144421, + "÷": 144422, + "ê¼¼": 144423, + "ëĶľ": 144424, + "ë°´": 144425, + "ë©į": 144426, + "âĹ¯": 144427, + "ìĹij": 144428, + "ìϼ": 144429, + "ïºij": 144430, + "ë¶ķ": 144431, + "롬": 144432, + "ï½Į": 144433, + "íĨ¨": 144434, + "ﺴ": 144435, + "ëłĺ": 144436, + "ê°¤": 144437, + "ìβ": 144438, + "Ñĵ": 144439, + "ìħī": 144440, + "ï»ĵ": 144441, + "ëĪĶ": 144442, + "ëį§": 144443, + "â̼": 144444, + "ﻲ": 144445, + "ê°±": 144446, + "ê¿Ģ": 144447, + "ëĭ·": 144448, + "Ẹ": 144449, + "Ẫ": 144450, + "ÆĴ": 144451, + "ëį¤": 144452, + "ìĪŃ": 144453, + "ï½Ĥ": 144454, + "ï½Ī": 144455, + "Åł": 144456, + "룬": 144457, + "ѵ": 144458, + "ëĸ¡": 144459, + "ëĥĦ": 144460, + "ìĦ°": 144461, + "ëĵĪ": 144462, + "ï¾ĥ": 144463, + "ëĩ¨": 144464, + "ï½IJ": 144465, + "êµ½": 144466, + "ìĹ½": 144467, + "ëĤĢ": 144468, + "묶": 144469, + "ï½·": 144470, + "ìıŁ": 144471, + "íĺĶ": 144472, + "ê¼Ī": 144473, + "ëģĪ": 144474, + "ì¥IJ": 144475, + "ïºĹ": 144476, + "ÄĮ": 144477, + "ëĪł": 144478, + "ëĸ¼": 144479, + "íĢ´": 144480, + "âī¥": 144481, + "ëĭŃ": 144482, + "ì±Ļ": 144483, + "ê»ı": 144484, + "멤": 144485, + "ìĥĺ": 144486, + "ëį®": 144487, + "룡": 144488, + "ìĤ½": 144489, + "ãĪľ": 144490, + "Ĩ": 144491, + "â̧": 144492, + "コ": 144493, + "Ä£": 144494, + "ì¦ī": 144495, + "ï¼¼": 144496, + "Û©": 144497, + "âĪĻ": 144498, + "ë°ı": 144499, + "ë¹ħ": 144500, + "ðŁĺĽ": 144501, + "íĪ´": 144502, + "ðŁĴķ": 144503, + "ãĢĴ": 144504, + "ìŀĺ": 144505, + "ﺤ": 144506, + "ï½ĸ": 144507, + "멾": 144508, + "ë²¼": 144509, + "ëĿĦ": 144510, + "ëļľ": 144511, + "ï»ĺ": 144512, + "ìĥĮ": 144513, + "ï½Ħ": 144514, + "ì©Ķ": 144515, + "ï½Ļ": 144516, + "ﺩ": 144517, + "Ûŀ": 144518, + "âĺİ": 144519, + "ìł¤": 144520, + "ëIJ©": 144521, + "ÅĿ": 144522, + "âŀ¡": 144523, + "ï»§": 144524, + "Ðı": 144525, + "ì«ĵ": 144526, + "ê³½": 144527, + "Éij": 144528, + "ãĥ²": 144529, + "ëĤ«": 144530, + "ë¦ī": 144531, + "ì¢ģ": 144532, + "ë°Ń": 144533, + "ðŁĺģ": 144534, + "ë¹µ": 144535, + "첩": 144536, + "컵": 144537, + "ðŁĺĺ": 144538, + "ë±ħ": 144539, + "âīĪ": 144540, + "ë¹ļ": 144541, + "ï»ľ": 144542, + "ðŁĻı": 144543, + "íģ°": 144544, + "ìĦŀ": 144545, + "ï¾ļ": 144546, + "ìĺ¹": 144547, + "ë¼Ī": 144548, + "ëĤ¯": 144549, + "ëŀ©": 144550, + "íļ¡": 144551, + "ï½ķ": 144552, + "íĥĵ": 144553, + "ëĿł": 144554, + "ê³ģ": 144555, + "ëĵĢ": 144556, + "ìĹł": 144557, + "Z": 144558, + "ë§ij": 144559, + "ëĭ¿": 144560, + "쿨": 144561, + "ãİ¡": 144562, + "ÐĬ": 144563, + "íĦ±": 144564, + "Ũ": 144565, + "ﺳ": 144566, + "ï¾ı": 144567, + "âĭħ": 144568, + "ê¼´": 144569, + "âī¤": 144570, + "íĮģ": 144571, + "Ω": 144572, + "궤": 144573, + "ìĪį": 144574, + "âľ¿": 144575, + "콤": 144576, + "ëĪħ": 144577, + "íĨ±": 144578, + "ãħľ": 144579, + "áIJħ": 144580, + "ÅĴ": 144581, + "ðŁijī": 144582, + "ﻦ": 144583, + "Ъ": 144584, + "ë¥ľ": 144585, + "íķ«": 144586, + "ï¾ĭ": 144587, + "âĻ«": 144588, + "ê¹ľ": 144589, + "ë°¸": 144590, + "ëĶĺ": 144591, + "íĿī": 144592, + "ï¾ģ": 144593, + "ï¾Ľ": 144594, + "볼": 144595, + "ê²¹": 144596, + "쿼": 144597, + "ﻬ": 144598, + "âŀ¤": 144599, + "ðŁĻģ": 144600, + "ïºł": 144601, + "ëĨ¨": 144602, + "믹": 144603, + "ê¸ĭ": 144604, + "ë»Ķ": 144605, + "ê¹ĥ": 144606, + "ëijij": 144607, + "íĭ¸": 144608, + "íİĻ": 144609, + "âŀĸ": 144610, + "ãĥ½": 144611, + "ì§ļ": 144612, + "ャ": 144613, + "ﻥ": 144614, + "íĮ½": 144615, + "âĢĴ": 144616, + "ìĮĢ": 144617, + "ìŃī": 144618, + "ëļ±": 144619, + "ãĤŀ": 144620, + "íĭĪ": 144621, + "ãĤIJ": 144622, + "ëīĺ": 144623, + "Σ": 144624, + "ê³°": 144625, + "ë¹Ĺ": 144626, + "ï¾İ": 144627, + "ðŁĺŃ": 144628, + "íĿł": 144629, + "ìĹ¿": 144630, + "ê°ļ": 144631, + "ì¤Į": 144632, + "ë§µ": 144633, + "ï½³": 144634, + "ãģ¢": 144635, + "ï»Ĺ": 144636, + "âī¦": 144637, + "Ú¤": 144638, + "ëłģ": 144639, + "ê¼½": 144640, + "ﻫ": 144641, + "âī§": 144642, + "ì´Ľ": 144643, + "ìłĿ": 144644, + "Ằ": 144645, + "âĻ£": 144646, + "ìºĺ": 144647, + "âĪĩ": 144648, + "ê²ī": 144649, + "ë°Ł": 144650, + "ï»Ķ": 144651, + "íĸĩ": 144652, + "âĸĴ": 144653, + "ðŁijı": 144654, + "Ãŀ": 144655, + "ðŁĺĨ": 144656, + "ﺼ": 144657, + "âĿĹ": 144658, + "ìºĶ": 144659, + "칩": 144660, + "ëĸ¤": 144661, + "ëĥħ": 144662, + "âĶľ": 144663, + "ï½»": 144664, + "ÎĶ": 144665, + "áĥ¦": 144666, + "ìŀİ": 144667, + "âĺĢ": 144668, + "âμ": 144669, + "ðŁĶ¥": 144670, + "ë°Į": 144671, + "ìłĸ": 144672, + "íĹĽ": 144673, + "Îķ": 144674, + "ïºĥ": 144675, + "ë¶ī": 144676, + "âĪŀ": 144677, + "íĥŃ": 144678, + "Ãĭ": 144679, + "âģĦ": 144680, + "ãħĩ": 144681, + "ëĦ¥": 144682, + "ëĭ®": 144683, + "ëł·": 144684, + "íĮĿ": 144685, + "캡": 144686, + "ë·Ķ": 144687, + "ì©į": 144688, + "íĤ´": 144689, + "ëļ«": 144690, + "âĵĴ": 144691, + "íķį": 144692, + "âĻĤ": 144693, + "ï¾Ĩ": 144694, + "âĨ©": 144695, + "ìį©": 144696, + "ïºķ": 144697, + "íĿĻ": 144698, + "Ñľ": 144699, + "íĤ·": 144700, + "íĿ°": 144701, + "íĥ±": 144702, + "ëķIJ": 144703, + "ï¾Ĵ": 144704, + "×ĥ": 144705, + "ëĮĦ": 144706, + "ìĺ´": 144707, + "ìķµ": 144708, + "ê¹¥": 144709, + "ëŀŃ": 144710, + "쪼": 144711, + "ãİĿ": 144712, + "ðŁĺħ": 144713, + "ëıĭ": 144714, + "몫": 144715, + "ﺸ": 144716, + "뮬": 144717, + "ë²ħ": 144718, + "ëijł": 144719, + "ìħ°": 144720, + "ì»·": 144721, + "ëĶª": 144722, + "ëħĶ": 144723, + "ãħ¡": 144724, + "ìĶ»": 144725, + "íķı": 144726, + "ëį±": 144727, + "ﺨ": 144728, + "ï¾į": 144729, + "ï½µ": 144730, + "ì¢Ģ": 144731, + "íİĮ": 144732, + "ï»°": 144733, + "ﺣ": 144734, + "Æ£": 144735, + "ðŁ¤£": 144736, + "ï·º": 144737, + "ëĤļ": 144738, + "âĭĨ": 144739, + "ë³į": 144740, + "ðŁĺĦ": 144741, + "ìĸĢ": 144742, + "ìĻł": 144743, + "ëĨĶ": 144744, + "íŨ": 144745, + "ï»Ľ": 144746, + "ï»Ŀ": 144747, + "á»¶": 144748, + "ìĸĺ": 144749, + "ìİĦ": 144750, + "ÚĨ": 144751, + "ï»ŀ": 144752, + "ëĢIJ": 144753, + "ê²Ķ": 144754, + "ﻵ": 144755, + "âŦ": 144756, + "íļŁ": 144757, + "ê¹ģ": 144758, + "ê°ĵ": 144759, + "ëĶ´": 144760, + "ìıĺ": 144761, + "ëļĿ": 144762, + "ỳ": 144763, + "ëŀ´": 144764, + "ëĦī": 144765, + "âĺŀ": 144766, + "ï½ĺ": 144767, + "Ž": 144768, + "ë¦İ": 144769, + "âĸ¬": 144770, + "ëŃī": 144771, + "âĩĽ": 144772, + "ìį¬": 144773, + "ïºŁ": 144774, + "Ëľ": 144775, + "ë¶ĵ": 144776, + "ìĽ°": 144777, + "Åľ": 144778, + "ëŃĩ": 144779, + "Ỳ": 144780, + "Ëļ": 144781, + "ëķĢ": 144782, + "âĺij": 144783, + "ðŁı¼": 144784, + "ìĸ½": 144785, + "âĮĴ": 144786, + "Ðİ": 144787, + "ɾ": 144788, + "íĮ¡": 144789, + "ï¾ħ": 144790, + "ìŀŃ": 144791, + "ィ": 144792, + "칫": 144793, + "ìľĮ": 144794, + "ÒĽ": 144795, + "굿": 144796, + "ëĭ¦": 144797, + "âĶĶ": 144798, + "ï¾ij": 144799, + "ì§ĸ": 144800, + "ìºĦ": 144801, + "ãĢĥ": 144802, + "ʼ": 144803, + "ê²Ł": 144804, + "ï½§": 144805, + "Ä¢": 144806, + "íİł": 144807, + "ë§·": 144808, + "ê°ĩ": 144809, + "ìĭ¹": 144810, + "ðŁĴ¦": 144811, + "ï¾ľ": 144812, + "ëĬĻ": 144813, + "벡": 144814, + "Å¿": 144815, + "ðŁĺĭ": 144816, + "ðŁĴª": 144817, + "ì¿Ħ": 144818, + "ë©ķ": 144819, + "ìѤ": 144820, + "ëĬĦ": 144821, + "ðŁĮ¸": 144822, + "ãĤĿ": 144823, + "Çİ": 144824, + "ï½ļ": 144825, + "ÄĹ": 144826, + "ëģĵ": 144827, + "ê¶IJ": 144828, + "áµī": 144829, + "ãĥĤ": 144830, + "ê»į": 144831, + "ðŁĺ¦": 144832, + "ãĢĿ": 144833, + "ð٤Ĺ": 144834, + "ÑŁ": 144835, + "ìĹİ": 144836, + "âľĮ": 144837, + "ìīIJ": 144838, + "ÃĨ": 144839, + "íĹIJ": 144840, + "ðŁİī": 144841, + "Îij": 144842, + "ï½Ń": 144843, + "ðŁĴĻ": 144844, + "ìĽ¬": 144845, + "íĢĺ": 144846, + "ﻢ": 144847, + "ðŁĺİ": 144848, + "íij¼": 144849, + "íĿ©": 144850, + "ï»Ħ": 144851, + "íħĢ": 144852, + "ëłIJ": 144853, + "쥬": 144854, + "Ðĭ": 144855, + "ìĥ·": 144856, + "뾬": 144857, + "ðŁĺĥ": 144858, + "ëĦ¬": 144859, + "륨": 144860, + "ìĽį": 144861, + "ï½Ĩ": 144862, + "ï½´": 144863, + "ãĥħ": 144864, + "Ãı": 144865, + "ﻪ": 144866, + "âĻł": 144867, + "ëĬ¬": 144868, + "ë±Ģ": 144869, + "ë°ĭ": 144870, + "ìĥĢ": 144871, + "ï½¾": 144872, + "ëĤ±": 144873, + "컸": 144874, + "ðŁĴĸ": 144875, + "ðŁijĮ": 144876, + "Ñŀ": 144877, + "ì§±": 144878, + "ËĨ": 144879, + "ðŁĵļ": 144880, + "âŃķ": 144881, + "ï¬Ĥ": 144882, + "ﻡ": 144883, + "ëij¬": 144884, + "íμ": 144885, + "âĸ¸": 144886, + "ê°¯": 144887, + "ê¹ħ": 144888, + "ï½®": 144889, + "ëĺ¥": 144890, + "Ä¡": 144891, + "íĮŁ": 144892, + "ÐĮ": 144893, + "ìĨŁ": 144894, + "ïºĵ": 144895, + "ﻼ": 144896, + "ÃĽ": 144897, + "ãĥ¾": 144898, + "ëĮĵ": 144899, + "íĴĭ": 144900, + "ìķĵ": 144901, + "ï½¹": 144902, + "ëĤ¡": 144903, + "ðŁijĩ": 144904, + "Ẽ": 144905, + "ãĢŁ": 144906, + "ðŁĮŁ": 144907, + "íĥł": 144908, + "ãĢĨ": 144909, + "âĢŁ": 144910, + "ë¸IJ": 144911, + "ðŁĮ¹": 144912, + "ìł¼": 144913, + "ðŁĵĮ": 144914, + "ìͬ": 144915, + "âĹĢ": 144916, + "ðŁĴĵ": 144917, + "ê¹İ": 144918, + "ìĤIJ": 144919, + "ìĶĮ": 144920, + "ÑĽ": 144921, + "âĶĪ": 144922, + "ë²³": 144923, + "ãİŀ": 144924, + "Õ¡": 144925, + "íĤµ": 144926, + "ð٤Ķ": 144927, + "ëĢĶ": 144928, + "ìĬIJ": 144929, + "íĻī": 144930, + "⾦": 144931, + "ëľ¯": 144932, + "ìł¯": 144933, + "ëͧ": 144934, + "Φ": 144935, + "ËĪ": 144936, + "ìī¼": 144937, + "âĹĬ": 144938, + "ëľ©": 144939, + "ëľ°": 144940, + "ï¾IJ": 144941, + "ë¿Ķ": 144942, + "ìĹ®": 144943, + "ì·Į": 144944, + "ﺧ": 144945, + "ÎĴ": 144946, + "ëµĻ": 144947, + "ï»Ĭ": 144948, + "ì°Ķ": 144949, + "íİĦ": 144950, + "ðŁĴĹ": 144951, + "Ẵ": 144952, + "ì°¢": 144953, + "íľ¼": 144954, + "ê½Ĥ": 144955, + "ì±Ķ": 144956, + "ìī´": 144957, + "âĸ¾": 144958, + "íΰ": 144959, + "ëĭĽ": 144960, + "âĿ£": 144961, + "ェ": 144962, + "ðŁĴľ": 144963, + "Ëĺ": 144964, + "ãħ¤": 144965, + "âĨĹ": 144966, + "íĸĦ": 144967, + "âϬ": 144968, + "ìķ°": 144969, + "ïºľ": 144970, + "âī¡": 144971, + "ãĢĵ": 144972, + "ìij¥": 144973, + "íĮį": 144974, + "íīģ": 144975, + "ë»Ĺ": 144976, + "íľł": 144977, + "íľ©": 144978, + "âľĪ": 144979, + "íĢĦ": 144980, + "ìĸĩ": 144981, + "ì¢ĩ": 144982, + "íŀĻ": 144983, + "몹": 144984, + "ãĤĽ": 144985, + "ðŁĺ±": 144986, + "ëįŁ": 144987, + "à¹ħ": 144988, + "êµ¶": 144989, + "Ù«": 144990, + "ìĶģ": 144991, + "âľª": 144992, + "ï¾Ī": 144993, + "ðŁĻĮ": 144994, + "âļ¡": 144995, + "Îļ": 144996, + "ì¼Ī": 144997, + "ï¾Ķ": 144998, + "ï¾Ĥ": 144999, + "êµī": 145000, + "ﺻ": 145001, + "ðŁĴĭ": 145002, + "á¹£": 145003, + "ÓĻ": 145004, + "ìĨľ": 145005, + "ìĹ£": 145006, + "âľ©": 145007, + "ìľĻ": 145008, + "ﺰ": 145009, + "Ẳ": 145010, + "ìŀ£": 145011, + "âĿĮ": 145012, + "âĺģ": 145013, + "ìķİ": 145014, + "Ľ": 145015, + "Ûģ": 145016, + "ãĦ±": 145017, + "ëŁ¿": 145018, + "íĮ¸": 145019, + "ê½ī": 145020, + "ìıł": 145021, + "ðŁįĢ": 145022, + "âĨĶ": 145023, + "ëŃ¡": 145024, + "ï»ģ": 145025, + "ï¼Ħ": 145026, + "ðŁĴ¥": 145027, + "âĺĽ": 145028, + "íĹ·": 145029, + "ëij¡": 145030, + "Îł": 145031, + "Τ": 145032, + "âĦĵ": 145033, + "ﺷ": 145034, + "ÎĻ": 145035, + "ëıĶ": 145036, + "짤": 145037, + "âĶĥ": 145038, + "ãĦ·": 145039, + "ÇĴ": 145040, + "ðŁ¥°": 145041, + "ëĶķ": 145042, + "ìļ¥": 145043, + "ì¸Ħ": 145044, + "íĽĶ": 145045, + "ïºĩ": 145046, + "ﺬ": 145047, + "ðŁĺ¢": 145048, + "빡": 145049, + "ì͹": 145050, + "ų": 145051, + "ËĿ": 145052, + "íİij": 145053, + "ï¾ĵ": 145054, + "ðŁĴļ": 145055, + "ëĬij": 145056, + "꺾": 145057, + "íĨ°": 145058, + "ÿ": 145059, + "ÐĦ": 145060, + "ëĮIJ": 145061, + "ë½Ģ": 145062, + "ì·Ħ": 145063, + "ðŁĵį": 145064, + "ðŁĻĪ": 145065, + "âĹĪ": 145066, + "ê¿ĩ": 145067, + "ì¼Ħ": 145068, + "íİ«": 145069, + "ðŁĩ·": 145070, + "âĶĭ": 145071, + "âļł": 145072, + "ë±ī": 145073, + "ìį°": 145074, + "ìĻĪ": 145075, + "ɪ": 145076, + "ïºĭ": 145077, + "ðŁĺľ": 145078, + "ÎŁ": 145079, + "ðŁĻĤ": 145080, + "âļ½": 145081, + "ÅĪ": 145082, + "ë¹Ķ": 145083, + "íĮľ": 145084, + "à¹ı": 145085, + "ìĸ¹": 145086, + "íĪŃ": 145087, + "ðŁ¥ĩ": 145088, + "ãĦ´": 145089, + "ëĶ¥": 145090, + "ìŃĪ": 145091, + "âĪĨ": 145092, + "ëĸ³": 145093, + "ë±ĥ": 145094, + "ìŀ¦": 145095, + "ï»IJ": 145096, + "Îľ": 145097, + "âľ§": 145098, + "Ïį": 145099, + "ìłĵ": 145100, + "âĹķ": 145101, + "ëĴĢ": 145102, + "ï»Ģ": 145103, + "ðŁĶ´": 145104, + "ê½ģ": 145105, + "ëĮĪ": 145106, + "ëİĮ": 145107, + "ãĤİ": 145108, + "â¦ģ": 145109, + "ì½§": 145110, + "ﯾ": 145111, + "âĿ¯": 145112, + "à¸ħ": 145113, + "ðŁĻĦ": 145114, + "âĿĢ": 145115, + "ðŁĶ¹": 145116, + "âĩIJ": 145117, + "êµµ": 145118, + "âĩĶ": 145119, + "ë¶IJ": 145120, + "ðŁĴĽ": 145121, + "ξ": 145122, + "íĥ¬": 145123, + "âĿĦ": 145124, + "Ò£": 145125, + "ã̰": 145126, + "âĪij": 145127, + "âĺ¼": 145128, + "âīł": 145129, + "Ò¯": 145130, + "ﺯ": 145131, + "꿨": 145132, + "âľĸ": 145133, + "Êĸ": 145134, + "íĢĢ": 145135, + "ê¾Ģ": 145136, + "íĹĿ": 145137, + "âĶ£": 145138, + "ãİľ": 145139, + "ëĶĽ": 145140, + "뾸": 145141, + "ﺫ": 145142, + "ê¿°": 145143, + "ðŁĩ¹": 145144, + "ÇIJ": 145145, + "ÛĴ": 145146, + "룻": 145147, + "ïºĸ": 145148, + "Ñļ": 145149, + "ëĬł": 145150, + "Ûķ": 145151, + "깡": 145152, + "ë¿ľ": 145153, + "ì²¼": 145154, + "ï¨ij": 145155, + "륵": 145156, + "ìį¸": 145157, + "íħħ": 145158, + "íij¹": 145159, + "ÖĢ": 145160, + "ï³Į": 145161, + "ãħ£": 145162, + "ìij¤": 145163, + "ì½ķ": 145164, + "ëķł": 145165, + "ðŁĮ¿": 145166, + "íĥĶ": 145167, + "ìĽģ": 145168, + "ζ": 145169, + "âŀľ": 145170, + "ìĬĺ": 145171, + "íĽĹ": 145172, + "ë©§": 145173, + "ìīĺ": 145174, + "Õ¶": 145175, + "á¹ĩ": 145176, + "ðŁİģ": 145177, + "ソ": 145178, + "ï¼Ĥ": 145179, + "á¼IJ": 145180, + "âľķ": 145181, + "âŀ¢": 145182, + "ëĦ¨": 145183, + "컫": 145184, + "ì¯Ķ": 145185, + "ì°ľ": 145186, + "ðŁĴ°": 145187, + "íħĿ": 145188, + "ãİı": 145189, + "ë³¶": 145190, + "Òĵ": 145191, + "âĨ³": 145192, + "ìĥ´": 145193, + "íģĺ": 145194, + "âĸĢ": 145195, + "ë²Ļ": 145196, + "à¸ĥ": 145197, + "á½¶": 145198, + "Äķ": 145199, + "â¬ĩ": 145200, + "ë¤ĺ": 145201, + "ðŁİµ": 145202, + "âľļ": 145203, + "ïºı": 145204, + "Ρ": 145205, + "âĹī": 145206, + "ðŁĴ«": 145207, + "ÐĪ": 145208, + "ìĸĦ": 145209, + "ì§Ļ": 145210, + "ï»ĥ": 145211, + "ðĿijĴ": 145212, + "ëŃĦ": 145213, + "âĿ¥": 145214, + "âĿĸ": 145215, + "âĺĿ": 145216, + "ʹ": 145217, + "ḥ": 145218, + "âĢ¿": 145219, + "ãħħ": 145220, + "ê¸ģ": 145221, + "ëķ¡": 145222, + "ëį¥": 145223, + "âĪ©": 145224, + "ê»Ħ": 145225, + "ë®Į": 145226, + "Ò±": 145227, + "âĪĹ": 145228, + "ëłĻ": 145229, + "ïºĮ": 145230, + "ËIJ": 145231, + "ðŁĺ³": 145232, + "ðŁij©": 145233, + "ðŁİ¶": 145234, + "쿵": 145235, + "ðŁ¤©": 145236, + "ê·¤": 145237, + "ëĮĶ": 145238, + "ïºIJ": 145239, + "Ïİ": 145240, + "ì¶¥": 145241, + "ï½Ĭ": 145242, + "á¹Ń": 145243, + "뤼": 145244, + "âĸ«": 145245, + "ì§ł": 145246, + "á¼Ģ": 145247, + "ê»ij": 145248, + "ëĮģ": 145249, + "í̏": 145250, + "âĻĽ": 145251, + "ðŁĴŀ": 145252, + "âĸ°": 145253, + "ðĿijĸ": 145254, + "ëĿ¤": 145255, + "द": 145256, + "ì´ĺ": 145257, + "ðŁĺĩ": 145258, + "ëͤ": 145259, + "ÎĹ": 145260, + "ðŁĻĩ": 145261, + "ËĽ": 145262, + "ì©¡": 145263, + "âΧ": 145264, + "Õ¥": 145265, + "ÑĻ": 145266, + "ëIJ¬": 145267, + "ëĸĦ": 145268, + "ðŁĮ·": 145269, + "ìĹĮ": 145270, + "ðŁĺ¥": 145271, + "ëĪ´": 145272, + "ï»ļ": 145273, + "ÉĽ": 145274, + "ïºĦ": 145275, + "ï»ı": 145276, + "ÅĮ": 145277, + "ë²ļ": 145278, + "ìĭ£": 145279, + "ïºĢ": 145280, + "Îĵ": 145281, + "ðŁĺĮ": 145282, + "ËĻ": 145283, + "ëŀı": 145284, + "ðŁĶ¸": 145285, + "ðŁĵ·": 145286, + "ëģ½": 145287, + "íģ½": 145288, + "ðŁĴ¡": 145289, + "ðŁĮ±": 145290, + "ëºı": 145291, + "ìģł": 145292, + "ìĥIJ": 145293, + "ëıĹ": 145294, + "츰": 145295, + "ëĪķ": 145296, + "ÎĿ": 145297, + "âģī": 145298, + "ðŁĮ¼": 145299, + "íĮł": 145300, + "âĭ¯": 145301, + "áĥĺ": 145302, + "⾤": 145303, + "ê±Ķ": 145304, + "íĮİ": 145305, + "ðŁĴ¯": 145306, + "ìıĻ": 145307, + "íĹī": 145308, + "ÙŃ": 145309, + "ì½°": 145310, + "ﺿ": 145311, + "ï»±": 145312, + "ì±Į": 145313, + "âĺķ": 145314, + "ðŁİĢ": 145315, + "ÄĿ": 145316, + "ë°§": 145317, + "ìĤ¿": 145318, + "áijķ": 145319, + "ðŁįĥ": 145320, + "âĩ¨": 145321, + "ÎĽ": 145322, + "ë§´": 145323, + "ë³ķ": 145324, + "áijIJ": 145325, + "âĸĵ": 145326, + "ðĿijľ": 145327, + "âĻ»": 145328, + "íĤ¥": 145329, + "Õ¸": 145330, + "ãα": 145331, + "ëºĢ": 145332, + "첸": 145333, + "ïºĽ": 145334, + "ðŁıĨ": 145335, + "ðŁĩª": 145336, + "âĿĵ": 145337, + "ÄĢ": 145338, + "ì½¥": 145339, + "ðŁĩ§": 145340, + "á½·": 145341, + "âľĤ": 145342, + "ìŀ¼": 145343, + "ï§¡": 145344, + "ðŁĵ¸": 145345, + "âϝ": 145346, + "ÉĶ": 145347, + "ὸ": 145348, + "âĮª": 145349, + "ï»ĸ": 145350, + "不": 145351, + "âļ«": 145352, + "âĶĹ": 145353, + "ðŁĮĪ": 145354, + "ﻩ": 145355, + "ðŁĵ²": 145356, + "ÏĪ": 145357, + "ðŁĺ¡": 145358, + "ðĿijİ": 145359, + "ìľ½": 145360, + "짬": 145361, + "ì§Ĭ": 145362, + "á½³": 145363, + "ìĮ¤": 145364, + "ëĤį": 145365, + "âīĴ": 145366, + "ðŁij¨": 145367, + "âĺĺ": 145368, + "Ó©": 145369, + "âĤĵ": 145370, + "âĪĤ": 145371, + "ï¹ģ": 145372, + "ðŁĴIJ": 145373, + "íħĥ": 145374, + "ðŁı½": 145375, + "ê·Ħ": 145376, + "ðŁĺı": 145377, + "ðŁĮº": 145378, + "ðŁĺĶ": 145379, + "ォ": 145380, + "âľİ": 145381, + "ëµĪ": 145382, + "ðŁĩ¸": 145383, + "âĢ£": 145384, + "âŀĶ": 145385, + "ëĺĺ": 145386, + "ìĥ¬": 145387, + "Êĥ": 145388, + "â¬ħ": 145389, + "ì©IJ": 145390, + "ðŁĻĨ": 145391, + "ðŁİĦ": 145392, + "ľ": 145393, + "⣶": 145394, + "áĥIJ": 145395, + "âĺ»": 145396, + "ì±ķ": 145397, + "ìģ©": 145398, + "ë½ķ": 145399, + "캣": 145400, + "ðŁijĪ": 145401, + "ðŁĻĭ": 145402, + "ï¾ĸ": 145403, + "Òļ": 145404, + "Õ«": 145405, + "ìĮĪ": 145406, + "ë²§": 145407, + "ðŁĩ®": 145408, + "ï½Ŀ": 145409, + "ðŁįģ": 145410, + "ìĹ¥": 145411, + "ij": 145412, + "ë½IJ": 145413, + "íį½": 145414, + "íĽij": 145415, + "âĤ¹": 145416, + "ãħģ": 145417, + "ìͽ": 145418, + "ðŁĶģ": 145419, + "य": 145420, + "ê¾¹": 145421, + "ëīľ": 145422, + "âĹ¡": 145423, + "íķĮ": 145424, + "Îĺ": 145425, + "룹": 145426, + "ìĻĵ": 145427, + "ðŁĩ¦": 145428, + "ðŁijĢ": 145429, + "âĶĮ": 145430, + "ῦ": 145431, + "ëĦĽ": 145432, + "ìĦ£": 145433, + "ìŃĻ": 145434, + "ï±ł": 145435, + "Îŀ": 145436, + "Ê»": 145437, + "á¿¶": 145438, + "âĿĿ": 145439, + "ê±Ģ": 145440, + "ëĸ´": 145441, + "ãĦ¹": 145442, + "ðŁĴİ": 145443, + "Ϲ": 145444, + "âĽħ": 145445, + "ï»ķ": 145446, + "ãĥ±": 145447, + "ï½Ľ": 145448, + "ëĮķ": 145449, + "ë¹½": 145450, + "ì¥Ķ": 145451, + "쿤": 145452, + "ðŁĸ¤": 145453, + "ÑĴ": 145454, + "ê¹į": 145455, + "ëİĢ": 145456, + "ìĭ¯": 145457, + "뻤": 145458, + "ðŁĵŀ": 145459, + "ðŁĵ£": 145460, + "ðŁĺĿ": 145461, + "ìį¹": 145462, + "ìĹ¡": 145463, + "ì°IJ": 145464, + "á½IJ": 145465, + "ï»Ī": 145466, + "âľį": 145467, + "Äı": 145468, + "ðŁĮŀ": 145469, + "âĦ¦": 145470, + "ê½Ŀ": 145471, + "ë»ĺ": 145472, + "ìα": 145473, + "âĶĺ": 145474, + "ðŁĮ»": 145475, + "âĤ´": 145476, + "âŀ¨": 145477, + "íIJģ": 145478, + "ê¶Ī": 145479, + "âĺ¢": 145480, + "ðŁĺĪ": 145481, + "ゥ": 145482, + "âĦĹ": 145483, + "ê°Ń": 145484, + "ê°¸": 145485, + "ë»ij": 145486, + "쥴": 145487, + "컥": 145488, + "ï¤Ĭ": 145489, + "ï»Ĵ": 145490, + "ðŁĺķ": 145491, + "âĺĶ": 145492, + "ìĺIJ": 145493, + "ðŁļĹ": 145494, + "ëĹĦ": 145495, + "ë§ı": 145496, + "Õ½": 145497, + "âĸ»": 145498, + "⣵": 145499, + "ìī°": 145500, + "ï»ij": 145501, + "âĻ©": 145502, + "Î¥": 145503, + "ðŁĺ£": 145504, + "âĬĤ": 145505, + "ãħĤ": 145506, + "ìħ¸": 145507, + "íıĦ": 145508, + "âľ½": 145509, + "ì¦Ļ": 145510, + "âĸ£": 145511, + "ê±į": 145512, + "ê¿ĭ": 145513, + "ì«Ħ": 145514, + "ìºĩ": 145515, + "ðŁĩµ": 145516, + "ðŁijij": 145517, + "âľĺ": 145518, + "ðĿijĽ": 145519, + "ìį½": 145520, + "ìºī": 145521, + "וּ": 145522, + "ðŁĶº": 145523, + "âĦ®": 145524, + "íĥ¤": 145525, + "ðŁĩº": 145526, + "ðŁĴµ": 145527, + "íħ¨": 145528, + "ï½ij": 145529, + "Ψ": 145530, + "ìĥ¹": 145531, + "ìĸķ": 145532, + "ì¹µ": 145533, + "ðŁĵ±": 145534, + "व": 145535, + "ðŁijĬ": 145536, + "ðŁĴĦ": 145537, + "ðŁĴĿ": 145538, + "ãĮĶ": 145539, + "ìĻģ": 145540, + "Ðĩ": 145541, + "à®IJ": 145542, + "âĸ¹": 145543, + "á´Ľ": 145544, + "âĹĺ": 145545, + "뺨": 145546, + "íĥī": 145547, + "ìĸĮ": 145548, + "ðŁIJ¶": 145549, + "ãĤij": 145550, + "Ëĩ": 145551, + "Åı": 145552, + "á½¹": 145553, + "ìħ§": 145554, + "ï¹°": 145555, + "ðĿij¡": 145556, + "ðŁĶĿ": 145557, + "ðŁĺ»": 145558, + "ðŁĴĥ": 145559, + "ðŁ¤¦": 145560, + "ðŁįĴ": 145561, + "í̵": 145562, + "âľĨ": 145563, + "ë¹´": 145564, + "理": 145565, + "ï»Ļ": 145566, + "á´Ĺ": 145567, + "ðŁĮ´": 145568, + ";": 145569, + "ëĮij": 145570, + "ì¨ĭ": 145571, + "쵸": 145572, + "ðŁİĪ": 145573, + "ðŁıł": 145574, + "á½±": 145575, + "ÛĨ": 145576, + "á¿ĸ": 145577, + "âĢĽ": 145578, + "ì°¼": 145579, + "íķ¥": 145580, + "íĹ´": 145581, + "ðŁĩ¬": 145582, + "ì°Ŀ": 145583, + "âĪł": 145584, + "ï¼ĩ": 145585, + "âĬĻ": 145586, + "âĿij": 145587, + "ëĦĭ": 145588, + "ëŀĹ": 145589, + "ë°ī": 145590, + "ìĹĬ": 145591, + "ì¢Ĩ": 145592, + "íĮ¥": 145593, + "ï°²": 145594, + "ðŁĵĸ": 145595, + "ðŁĺ®": 145596, + "âļª": 145597, + "ðŁĺļ": 145598, + "âĿŀ": 145599, + "ðĿijŁ": 145600, + "ðŁİĤ": 145601, + "Åķ": 145602, + "áIJĪ": 145603, + "꺽": 145604, + "ì±ł": 145605, + "ïºĿ": 145606, + "ê¿ī": 145607, + "áĥł": 145608, + "ðŁıĥ": 145609, + "ðŁĴ¸": 145610, + "âĿģ": 145611, + "âĹ¾": 145612, + "Úª": 145613, + "á¹ĥ": 145614, + "íĬ¬": 145615, + "ðŁĩ±": 145616, + "íİŃ": 145617, + "ðŁĺŀ": 145618, + "ë¾°": 145619, + "á¹Ľ": 145620, + "뼸": 145621, + "âĿĤ": 145622, + "êĴ³": 145623, + "âĶIJ": 145624, + "íĵ°": 145625, + "âŀł": 145626, + "ê´ĺ": 145627, + "ëħĺ": 145628, + "뻥": 145629, + "ì¾ħ": 145630, + "ðŁĺIJ": 145631, + "âĪª": 145632, + "ðŁijģ": 145633, + "âĪ´": 145634, + "âĹģ": 145635, + "ëºIJ": 145636, + "ìŀ¤": 145637, + "ì±Ĺ": 145638, + "ðŁı¾": 145639, + "Χ": 145640, + "á½»": 145641, + "âŀ¥": 145642, + "ìŁĪ": 145643, + "ï»ī": 145644, + "âĸĮ": 145645, + "ãĥ®": 145646, + "ðŁ¤¤": 145647, + "âĩĵ": 145648, + "ì¼ł": 145649, + "á´ı": 145650, + "맬": 145651, + "뻣": 145652, + "ðŁĴ¬": 145653, + "ðŁįĵ": 145654, + "ĸ": 145655, + "Ù¹": 145656, + "Ê¿": 145657, + "á½°": 145658, + "ëķľ": 145659, + "ì°¡": 145660, + "ì°»": 145661, + "íİį": 145662, + "ðŁİ¯": 145663, + "ðŁįĤ": 145664, + "ðŁij§": 145665, + "âĻ¢": 145666, + "áĨŀ": 145667, + "âϧ": 145668, + "âļľ": 145669, + "âľī": 145670, + "ëĵ¦": 145671, + "ëŃ£": 145672, + "ìĪı": 145673, + "ìĵ±": 145674, + "ÅŃ": 145675, + "ÊĬ": 145676, + "âĴ¸": 145677, + "âĩ©": 145678, + "ðŁĴĶ": 145679, + "Õµ": 145680, + "Ðī": 145681, + "Ò»": 145682, + "ë§£": 145683, + "ìĽľ": 145684, + "ì¿¡": 145685, + "íĽħ": 145686, + "íĽ¤": 145687, + "ﺢ": 145688, + "âľĭ": 145689, + "âĪĪ": 145690, + "ðŁĮį": 145691, + "Êľ": 145692, + "ëĬª": 145693, + "ëĴ¹": 145694, + "ﺲ": 145695, + "âĸĦ": 145696, + "ãħĪ": 145697, + "ëļ¤": 145698, + "íİ©": 145699, + "â΍": 145700, + "ðŁ¤ª": 145701, + "áĥļ": 145702, + "ê³¶": 145703, + "íĬķ": 145704, + "ðŁĺ¬": 145705, + "âĪ«": 145706, + "ðŁijĭ": 145707, + "ÒIJ": 145708, + "íĬ¿": 145709, + "ðŁĶµ": 145710, + "ðŁĴ¨": 145711, + "ðŁĮĻ": 145712, + "ëĩ©": 145713, + "âľ³": 145714, + "ë¨ģ": 145715, + "ëºĦ": 145716, + "ìĻij": 145717, + "ìºħ": 145718, + "íıĪ": 145719, + "ðĿijĻ": 145720, + "ðŁĴĺ": 145721, + "ãİ¥": 145722, + "âĿı": 145723, + "âľ°": 145724, + "ﯿ": 145725, + "ëµIJ": 145726, + "ì¼IJ": 145727, + "ﺱ": 145728, + "Õ´": 145729, + "ï¬Ģ": 145730, + "âľ´": 145731, + "ð٤Ń": 145732, + "ðŁijĨ": 145733, + "âĽĶ": 145734, + "ê·ĵ": 145735, + "ìĮĮ": 145736, + "ðŁ¤·": 145737, + "ÛĶ": 145738, + "ðŁ§¡": 145739, + "ðŁĺĵ": 145740, + "Îĸ": 145741, + "âı°": 145742, + "ê²ľ": 145743, + "ëĭ³": 145744, + "ëİħ": 145745, + "ë°Ī": 145746, + "ï®IJ": 145747, + "ðŁı¡": 145748, + "âĨª": 145749, + "âĵĶ": 145750, + "âľĬ": 145751, + "ϲ": 145752, + "ÜIJ": 145753, + "ðŁĩ³": 145754, + "ÖĤ": 145755, + "âľı": 145756, + "ìĸĹ": 145757, + "ì«Ļ": 145758, + "ðŁĺ²": 145759, + "ÄŃ": 145760, + "âĻŃ": 145761, + "âĶı": 145762, + "âĹĮ": 145763, + "ðŁĺ¯": 145764, + "áµĴ": 145765, + "íĬł": 145766, + "Ä·": 145767, + "Êģ": 145768, + "à¤Ł": 145769, + "á¹ģ": 145770, + "á¼°": 145771, + "á¿Ĩ": 145772, + "â«": 145773, + "⫸": 145774, + "ëį«": 145775, + "ì³ĩ": 145776, + "켤": 145777, + "íĽ¨": 145778, + "ðŁĴŁ": 145779, + "ÊĢ": 145780, + "ʳ": 145781, + "ëĵIJ": 145782, + "âķ°": 145783, + "âĿĩ": 145784, + "ÇĢ": 145785, + "ÇĶ": 145786, + "É´": 145787, + "âĺļ": 145788, + "âĺľ": 145789, + "ê¶Ĥ": 145790, + "ì«Ĵ": 145791, + "ì±Ī": 145792, + "ðŁĩ¨": 145793, + "ðŁİ¥": 145794, + "ðŁĵĿ": 145795, + "ħ": 145796, + "ðĿijIJ": 145797, + "ÛĪ": 145798, + "ब": 145799, + "ì¬IJ": 145800, + "íĹ¥": 145801, + "âύ": 145802, + "ðŁį´": 145803, + "ï¹ı": 145804, + "Ëĭ": 145805, + "ðŁ¥º": 145806, + "âĸ¨": 145807, + "íĻĭ": 145808, + "âĪħ": 145809, + "ëģĻ": 145810, + "ëŀł": 145811, + "ìĨ¥": 145812, + "âĢĸ": 145813, + "ð٤ĺ": 145814, + "ðŁIJ»": 145815, + "áµķ": 145816, + "ÇĿ": 145817, + "âĺı": 145818, + "ïºļ": 145819, + "ï»Ĥ": 145820, + "ðŁļ©": 145821, + "ìĪŁ": 145822, + "ËĬ": 145823, + "⤵": 145824, + "ðŁĴ§": 145825, + "ãħį": 145826, + "ë©©": 145827, + "Ƭ": 145828, + "Îĩ": 145829, + "âĩ§": 145830, + "âĵļ": 145831, + "ìĤ¯": 145832, + "ìΝ": 145833, + "ëĨĭ": 145834, + "âľ¯": 145835, + "ðŁļĢ": 145836, + "Úĺ": 145837, + "Ú¨": 145838, + "âľŃ": 145839, + "ê²ħ": 145840, + "íĮ°": 145841, + "íľĻ": 145842, + "ðŁĮĬ": 145843, + "ðŁİĵ": 145844, + "ðŁĺĻ": 145845, + "Ëĥ": 145846, + "ðŁĴģ": 145847, + "ðŁijİ": 145848, + "âĺ¹": 145849, + "ðŁĺ«": 145850, + "ðŁĴ»": 145851, + "ëĤµ": 145852, + "ìĿĬ": 145853, + "íĮ»": 145854, + "Ò³": 145855, + "á½²": 145856, + "âŀŀ": 145857, + "ëĤij": 145858, + "ëĿĪ": 145859, + "죤": 145860, + "ﻯ": 145861, + "ðŁĩ©": 145862, + "ðŁ¥³": 145863, + "âĴ¼": 145864, + "ð٦ĭ": 145865, + "âĺĤ": 145866, + "ðŁĺ°": 145867, + "ðŁĻĥ": 145868, + "ðŁĺĴ": 145869, + "Ûİ": 145870, + "Ïķ": 145871, + "Ḥ": 145872, + "룽": 145873, + "ìĬ¥": 145874, + "ðĿijī": 145875, + "ÉIJ": 145876, + "ðŁįİ": 145877, + "âķ¯": 145878, + "âķ¹": 145879, + "າ": 145880, + "ï¾ł": 145881, + "ë¹ķ": 145882, + "ïºĨ": 145883, + "ʺ": 145884, + "Ó§": 145885, + "âĨł": 145886, + "ëĥĩ": 145887, + "ìİĪ": 145888, + "ìŁ¤": 145889, + "ï±¢": 145890, + "âķ¬": 145891, + "âĺł": 145892, + "ðŁİĬ": 145893, + "ãįį": 145894, + "ãİİ": 145895, + "âĺ°": 145896, + "âľĥ": 145897, + "ãħī": 145898, + "ë¯Ī": 145899, + "빤": 145900, + "ìıŃ": 145901, + "ðĿij¢": 145902, + "ðŁIJ¾": 145903, + "Åĭ": 145904, + "ðŁij¶": 145905, + "âĶĽ": 145906, + "ï¿¢": 145907, + "áĥ¡": 145908, + "ļ": 145909, + "ÅĨ": 145910, + "ÑIJ": 145911, + "ìĥĽ": 145912, + "ìĺĮ": 145913, + "챤": 145914, + "íħģ": 145915, + "íļĥ": 145916, + "ï³Ĭ": 145917, + "ðĿijĶ": 145918, + "ðŁĩ«": 145919, + "âĭ°": 145920, + "ðŁĺ¨": 145921, + "âĤ©": 145922, + "Õ¬": 145923, + "á¸į": 145924, + "á»´": 145925, + "âĨĺ": 145926, + "âĺ¯": 145927, + "ãħı": 145928, + "ìł¬": 145929, + "âĻĶ": 145930, + "ðŁĶĶ": 145931, + "ðŁĺł": 145932, + "ðŁĻĬ": 145933, + "à®ľ": 145934, + "á¹ħ": 145935, + "âĹIJ": 145936, + "âĿĪ": 145937, + "âŀ½": 145938, + "ìĥħ": 145939, + "ðĿijł": 145940, + "Æ¢": 145941, + "âĭĻ": 145942, + "ê°Ľ": 145943, + "ëĿµ": 145944, + "ë£Ł": 145945, + "ìıľ": 145946, + "ïºģ": 145947, + "ðŁĴŃ": 145948, + "âĬĥ": 145949, + "ðŁIJ°": 145950, + "ãħĮ": 145951, + "Üĵ": 145952, + "âŀķ": 145953, + "á½ģ": 145954, + "ìķ³": 145955, + "ðĿijĿ": 145956, + "ðŁİ¬": 145957, + "É¡": 145958, + "à¤Ĺ": 145959, + "áIJī": 145960, + "ì©ľ": 145961, + "ì¶§": 145962, + "ï³ī": 145963, + "ï»ħ": 145964, + "ðĿIJŀ": 145965, + "श": 145966, + "ðŁĵ¢": 145967, + "ðŁįĭ": 145968, + "ðŁĴħ": 145969, + "ï¾ķ": 145970, + "â¬Ĩ": 145971, + "âε": 145972, + "ð٤ij": 145973, + "áĥ£": 145974, + "ÆĦ": 145975, + "ѹ": 145976, + "á¼Ķ": 145977, + "ê°ł": 145978, + "ê´Į": 145979, + "ê·IJ": 145980, + "뼴": 145981, + "ì±ĺ": 145982, + "ï®Ń": 145983, + "ﺹ": 145984, + "ﺾ": 145985, + "âľĹ": 145986, + "âĿ¦": 145987, + "ðŁij¦": 145988, + "áĥĹ": 145989, + "Ù²": 145990, + "á½´": 145991, + "âĪı": 145992, + "âľ®": 145993, + "ê¹°": 145994, + "ë²µ": 145995, + "ìĦĢ": 145996, + "ì©Ŀ": 145997, + "ïºŀ": 145998, + "ﺽ": 145999, + "ðŁĩŃ": 146000, + "ËĤ": 146001, + "ðŁįij": 146002, + "ðŁįĮ": 146003, + "ðŁĶ»": 146004, + "깬": 146005, + "ìĬŃ": 146006, + "ìľ·": 146007, + "ðŁĽij": 146008, + "ǧ": 146009, + "ë¼Ľ": 146010, + "ﺡ": 146011, + "ﺺ": 146012, + "ðĿijļ": 146013, + "ðŁĵ¦": 146014, + "ðŁĶİ": 146015, + "ðŁĹĵ": 146016, + "áĥĶ": 146017, + "âľĴ": 146018, + "âľ¡": 146019, + "ðŁĮµ": 146020, + "âĶķ": 146021, + "ëĢĿ": 146022, + "ðŁįĬ": 146023, + "âĺĥ": 146024, + "ìĺħ": 146025, + "ব": 146026, + "ð٦ģ": 146027, + "âݯ": 146028, + "ðŁIJķ": 146029, + "Ñ¿": 146030, + "।": 146031, + "à¼ĭ": 146032, + "ê·Ī": 146033, + "ì«Į": 146034, + "ðŁĩ°": 146035, + "âĿī": 146036, + "ì«Ģ": 146037, + "íĿĦ": 146038, + "ðĿIJ¢": 146039, + "ðŁļ¨": 146040, + "âϤ": 146041, + "ðŁĺ©": 146042, + "ðŁįį": 146043, + "ðŁĺij": 146044, + "ðŁļļ": 146045, + "ÖĦ": 146046, + "ë«": 146047, + "뫼": 146048, + "à¤ı": 146049, + "á¿·": 146050, + "âĮ©": 146051, + "âĺIJ": 146052, + "âŀ£": 146053, + "긱": 146054, + "꼿": 146055, + "ëĦĿ": 146056, + "ìı´": 146057, + "ìļ¤": 146058, + "쿱": 146059, + "íİIJ": 146060, + "ðŁĴ¢": 146061, + "ì´IJ": 146062, + "âĩij": 146063, + "âĶĵ": 146064, + "âģ¾": 146065, + "ÜĿ": 146066, + "ðŁį°": 146067, + "â´°": 146068, + "Æı": 146069, + "ÏŁ": 146070, + "Úº": 146071, + "Ûĥ": 146072, + "áĦĴ": 146073, + "âĪŁ": 146074, + "âĿį": 146075, + "ãĦ²": 146076, + "ìľħ": 146077, + "ì¤ı": 146078, + "ðŁĩ²": 146079, + "êºĦ": 146080, + "ðŁİ¤": 146081, + "âľ£": 146082, + "â¸Ŀ": 146083, + "︵": 146084, + "ວ": 146085, + "áĢĻ": 146086, + "âķł": 146087, + "Õ¯": 146088, + "âı©": 146089, + "ðĿij£": 146090, + "ðŁĴ£": 146091, + "Åĺ": 146092, + "à¥IJ": 146093, + "âģĥ": 146094, + "âĮĺ": 146095, + "ê»Į": 146096, + "ìĮĶ": 146097, + "ðĿijĺ": 146098, + "ð٤ĵ": 146099, + "Õ¿": 146100, + "à¤Ń": 146101, + "âĮļ": 146102, + "âľĿ": 146103, + "ðŁIJ¼": 146104, + "ËĮ": 146105, + "âķļ": 146106, + "ï¦Ĺ": 146107, + "âĿķ": 146108, + "âķ£": 146109, + "ðŁIJ±": 146110, + "த": 146111, + "Ѿ": 146112, + "à¤ļ": 146113, + "à¤ľ": 146114, + "ìĪĦ": 146115, + "ìļľ": 146116, + "ðŁİ®": 146117, + "ÉĴ": 146118, + "Ú·": 146119, + "àºį": 146120, + "âĨµ": 146121, + "âĪĺ": 146122, + "âĿĬ": 146123, + "ë¿į": 146124, + "ìIJĪ": 146125, + "ìļĺ": 146126, + "쯧": 146127, + "íĥ¯": 146128, + "ìĸı": 146129, + "︰": 146130, + "ðŁĩ¯": 146131, + "ð٧ļ": 146132, + "ðŁĺµ": 146133, + "ðŁĺ·": 146134, + "ðŁĮ³": 146135, + "ລ": 146136, + "Äī": 146137, + "Ä¥": 146138, + "âľ¶": 146139, + "῾": 146140, + "âĬ±": 146141, + "âĺ¾": 146142, + "ê°ī": 146143, + "ê¼°": 146144, + "ëºij": 146145, + "ðŁĶĬ": 146146, + "ðŁĸIJ": 146147, + "Ť": 146148, + "Ò«": 146149, + "à®®": 146150, + "âĮĪ": 146151, + "âĹĹ": 146152, + "ëĦµ": 146153, + "ëħľ": 146154, + "ëľ¹": 146155, + "ðĿij¥": 146156, + "ðŁĴ¿": 146157, + "ðŁĽĴ": 146158, + "ÊĴ": 146159, + "áŀĵ": 146160, + "ðŁIJĿ": 146161, + "ð٦Ħ": 146162, + "ðŁį·": 146163, + "âĺŁ": 146164, + "︶": 146165, + "ðŁ¤Ł": 146166, + "Ô±": 146167, + "âĨ²": 146168, + "âĪİ": 146169, + "âľ«": 146170, + "ëĩ½": 146171, + "ëıIJ": 146172, + "ëķĦ": 146173, + "靈": 146174, + "ï§Ŀ": 146175, + "ïºĻ": 146176, + "ðŁij»": 146177, + "ðŁĵº": 146178, + "êµ¼": 146179, + "ìĮ©": 146180, + "ðŁĮ²": 146181, + "ȱ": 146182, + "íĶķ": 146183, + "ðŁĺ¤": 146184, + "ãĮ¢": 146185, + "ÊĶ": 146186, + "ड": 146187, + "á¼Ī": 146188, + "ëİĥ": 146189, + "멱": 146190, + "ë®Ī": 146191, + "ðĿIJ«": 146192, + "âĬķ": 146193, + "ëĥł": 146194, + "뻬": 146195, + "íĭĶ": 146196, + "Õ¤": 146197, + "á¼±": 146198, + "âľ¥": 146199, + "âĺĦ": 146200, + "âĪ¥": 146201, + "âļķ": 146202, + "ðŁijĦ": 146203, + "ðŁİħ": 146204, + "àºĻ": 146205, + "âͬ": 146206, + "á½µ": 146207, + "Õ¾": 146208, + "Öģ": 146209, + "âĹĶ": 146210, + "ê¿į": 146211, + "ëĸµ": 146212, + "ë©İ": 146213, + "ë®´": 146214, + "ìķ´": 146215, + "áĥľ": 146216, + "ἡ": 146217, + "âĶĬ": 146218, + "âķ®": 146219, + "âĹ¼": 146220, + "ðŁį¾": 146221, + "ðŁĽį": 146222, + "ðŁijĹ": 146223, + "ð٤ŀ": 146224, + "âľĦ": 146225, + "ÕĢ": 146226, + "ল": 146227, + "Ëī": 146228, + "⣨": 146229, + "į": 146230, + "ÏĬ": 146231, + "á´ľ": 146232, + "ë¹³": 146233, + "ï³ĭ": 146234, + "ï¿ł": 146235, + "Ī": 146236, + "âĤ¸": 146237, + "âľ±": 146238, + "ê»IJ": 146239, + "ëĭ»": 146240, + "맸": 146241, + "ìŀ¿": 146242, + "쩨": 146243, + "ìŃIJ": 146244, + "ì°¿": 146245, + "íħŁ": 146246, + "ðĿIJ§": 146247, + "ðĿijij": 146248, + "ðŁĮİ": 146249, + "ðŁĵ®": 146250, + "ðŁķĶ": 146251, + "âĹĻ": 146252, + "âĹ»": 146253, + "âŀ§": 146254, + "ìŁĿ": 146255, + "⾬": 146256, + "ãĥ°": 146257, + "âģĪ": 146258, + "âĵĺ": 146259, + "ðŁĴĮ": 146260, + "ï¬ĥ": 146261, + "àºĶ": 146262, + "ìͰ": 146263, + "ðŁĺª": 146264, + "×Ģ": 146265, + "ìĥ¨": 146266, + "ïŃĭ": 146267, + "ðŁįķ": 146268, + "ðŁĺ´": 146269, + "ϳ": 146270, + "á¼Ħ": 146271, + "á½ħ": 146272, + "âĩ¢": 146273, + "âķŃ": 146274, + "ìĺ»": 146275, + "íĬ¤": 146276, + "Üĺ": 146277, + "⤴": 146278, + "âĹį": 146279, + "áŀŁ": 146280, + "ðŁįº": 146281, + "áŀļ": 146282, + "ðŁıĬ": 146283, + "ðŁIJ·": 146284, + "ÊĮ": 146285, + "ὺ": 146286, + "âģ»": 146287, + "ê½Į": 146288, + "ëĪĹ": 146289, + "ëĹı": 146290, + "ì¿°": 146291, + "í̼": 146292, + "íįħ": 146293, + "ï·²": 146294, + "ðŁĮı": 146295, + "ðŁį«": 146296, + "ðŁį³": 146297, + "ðŁİ°": 146298, + "ðŁij°": 146299, + "ðŁĴ²": 146300, + "á¥Ļ": 146301, + "ðŁIJŁ": 146302, + "ï¿¡": 146303, + "ðŁĹ£": 146304, + "ðŁįľ": 146305, + "âľ²": 146306, + "ãİ¢": 146307, + "ðŁĶ°": 146308, + "Ἰ": 146309, + "á½ij": 146310, + "Äİ": 146311, + "áĦĢ": 146312, + "âĻķ": 146313, + "ëłĿ": 146314, + "ìĪ´": 146315, + "ïŃŃ": 146316, + "Óľ": 146317, + "ÔĢ": 146318, + "ëĢľ": 146319, + "ëĥĶ": 146320, + "ìĬĽ": 146321, + "ì«ij": 146322, + "캥": 146323, + "캬": 146324, + "ðĿij¦": 146325, + "ðŁĶ¶": 146326, + "쾨": 146327, + "ðĿIJļ": 146328, + "ðŁį»": 146329, + "ðŁĴį": 146330, + "ðŁ¤¡": 146331, + "ðŁķĬ": 146332, + "â½ĩ": 146333, + "âĵIJ": 146334, + "ðŁįŃ": 146335, + "ðŁįª": 146336, + "ðŁĶĨ": 146337, + "Ò¡": 146338, + "á´ĩ": 146339, + "ÉĹ": 146340, + "ÜĶ": 146341, + "âĦİ": 146342, + "âĿĥ": 146343, + "ëĹĢ": 146344, + "ï²Ķ": 146345, + "ïºĪ": 146346, + "ðĿIJ»": 146347, + "ðŁĴĬ": 146348, + "ðŁļ«": 146349, + "Ѱ": 146350, + "ѳ": 146351, + "ष": 146352, + "âĹł": 146353, + "ðŁij¤": 146354, + "ï¾ĩ": 146355, + "âĺĵ": 146356, + "ðŁįµ": 146357, + "ðŁ¤¨": 146358, + "âĸŃ": 146359, + "à®´": 146360, + "Ü¢": 146361, + "ܬ": 146362, + "à´®": 146363, + "ðŁķº": 146364, + "Ô¹": 146365, + "Õ£": 146366, + "à´¯": 146367, + "á´Ģ": 146368, + "âĮī": 146369, + "âľIJ": 146370, + "âŀ¦": 146371, + "ê¹½": 146372, + "ëĮľ": 146373, + "ðŁı¥": 146374, + "ðŁĵ©": 146375, + "Ò¹": 146376, + "Óĺ": 146377, + "à¤ħ": 146378, + "âĿ§": 146379, + "ÆĹ": 146380, + "âĹ½": 146381, + "ðŁij«": 146382, + "ðŁİ§": 146383, + "ðŁij£": 146384, + "âľ»": 146385, + "ðŁĻħ": 146386, + "ðŁĺĸ": 146387, + "ðŁĴ®": 146388, + "ະ": 146389, + "ðŁĶľ": 146390, + "ðŁįĦ": 146391, + "ð٤Ŀ": 146392, + "áĥĿ": 146393, + "áŀĢ": 146394, + "âĩ¦": 146395, + "ʾ": 146396, + "Ò®": 146397, + "Õ¼": 146398, + "à¤Ĩ": 146399, + "âĹħ": 146400, + "âļĵ": 146401, + "âļĸ": 146402, + "ê¿©": 146403, + "ë¯Ħ": 146404, + "ìIJIJ": 146405, + "ìŀ°": 146406, + "ì§Ń": 146407, + "íĭĭ": 146408, + "íݨ": 146409, + "íϧ": 146410, + "ï²ij": 146411, + "ðŁİĹ": 146412, + "Ù³": 146413, + "ðŁij¸": 146414, + "ম": 146415, + "ðŁijķ": 146416, + "Úµ": 146417, + "â̾": 146418, + "âŀ°": 146419, + "ðŁij¯": 146420, + "ðŁİ¼": 146421, + "ðŁıģ": 146422, + "ĺ": 146423, + "Êı": 146424, + "Ú³": 146425, + "âı±": 146426, + "ê½Ī": 146427, + "ëĿĮ": 146428, + "ìĮī": 146429, + "ìĹ·": 146430, + "ìŀ´": 146431, + "íĹ¹": 146432, + "íľ¨": 146433, + "ðĿĹ²": 146434, + "ðŁĮIJ": 146435, + "ðŁİĻ": 146436, + "ðŁıµ": 146437, + "íĽĻ": 146438, + "ðĿijħ": 146439, + "ðŁĺ¶": 146440, + "âĵħ": 146441, + "âķ¥": 146442, + "ðŁįı": 146443, + "ï¦İ": 146444, + "Õ©": 146445, + "ðĿIJĦ": 146446, + "Ó£": 146447, + "Ú¿": 146448, + "âĻļ": 146449, + "ðŁĶĹ": 146450, + "ḫ": 146451, + "âĭ®": 146452, + "âĸ¦": 146453, + "âĽ½": 146454, + "âľµ": 146455, + "ãħĨ": 146456, + "ãħĬ": 146457, + "ëĦĻ": 146458, + "ëĿ¨": 146459, + "ë¥Ħ": 146460, + "ìĦ¦": 146461, + "ì§°": 146462, + "ì§¹": 146463, + "íīĪ": 146464, + "ï§ij": 146465, + "ï»ĩ": 146466, + "ðŁĮ¾": 146467, + "ðŁıĸ": 146468, + "ðŁIJij": 146469, + "ðŁĴ³": 146470, + "ðŁĵĨ": 146471, + "Ûĩ": 146472, + "Üķ": 146473, + "á½½": 146474, + "ëĦľ": 146475, + "à´²": 146476, + "à´³": 146477, + "àºŃ": 146478, + "áĥĽ": 146479, + "âĿĶ": 146480, + "âijħ": 146481, + "áĥ¥": 146482, + "ðŁĵħ": 146483, + "âŀ³": 146484, + "á´µ": 146485, + "﹡": 146486, + "ï¹¶": 146487, + "ÎĨ": 146488, + "थ": 146489, + "áīµ": 146490, + "âĿĻ": 146491, + "âĿ±": 146492, + "ëīł": 146493, + "ëİł": 146494, + "ëıĽ": 146495, + "ë¿ħ": 146496, + "ì͏": 146497, + "íij¯": 146498, + "íŀī": 146499, + "íŀĽ": 146500, + "ï§Ħ": 146501, + "ïŃĺ": 146502, + "ﺦ": 146503, + "ﻸ": 146504, + "ðĿijĤ": 146505, + "ðĿijı": 146506, + "Ïij": 146507, + "Úł": 146508, + "áĢĶ": 146509, + "áŀĶ": 146510, + "á¹¢": 146511, + "ëĦ¸": 146512, + "ðĿIJ¨": 146513, + "ðŁĩ´": 146514, + "Õ°": 146515, + "ðŁijł": 146516, + "ðŁįĨ": 146517, + "ðŁıĢ": 146518, + "ðŁijIJ": 146519, + "ðŁįĩ": 146520, + "ðŁIJ£": 146521, + "áĪŃ": 146522, + "ܪ": 146523, + "ðŁĮĢ": 146524, + "áŀĺ": 146525, + "âĩĦ": 146526, + "ðĿIJĢ": 146527, + "ÊĻ": 146528, + "âͼ": 146529, + "ðŁı¿": 146530, + "Æ·": 146531, + "Èł": 146532, + "ѽ": 146533, + "âĤ¨": 146534, + "ê´Ń": 146535, + "ê¹»": 146536, + "ë͍": 146537, + "ìĪĢ": 146538, + "ì¾°": 146539, + "íĨĪ": 146540, + "ï®§": 146541, + "ﯽ": 146542, + "ðŁĶħ": 146543, + "ðŁĶ®": 146544, + "Å¢": 146545, + "ʰ": 146546, + "Ѹ": 146547, + "ण": 146548, + "âĬĹ": 146549, + "ëªĦ": 146550, + "ï¹·": 146551, + "ïºħ": 146552, + "ðĿIJµ": 146553, + "ðŁĮ¶": 146554, + "ðŁĵ°": 146555, + "ðŁĶ·": 146556, + "ðŁĸĴ": 146557, + "ðŁ¤²": 146558, + "ëī©": 146559, + "ðŁİĨ": 146560, + "ð٧IJ": 146561, + "ðŁį®": 146562, + "âĨº": 146563, + "âĿ¢": 146564, + "ðŁijª": 146565, + "ðŁij±": 146566, + "âĨ¡": 146567, + "áŀı": 146568, + "Úķ": 146569, + "ðŁį¹": 146570, + "ðŁĴĢ": 146571, + "Ë®": 146572, + "Ó¨": 146573, + "Öħ": 146574, + "à¤ĩ": 146575, + "âĤ¡": 146576, + "âĪķ": 146577, + "âĺī": 146578, + "ê¹¼": 146579, + "ê¼IJ": 146580, + "콸": 146581, + "ðĿIJ¬": 146582, + "ðŁıħ": 146583, + "ðŁijĻ": 146584, + "ðŁĴī": 146585, + "ð٤Ļ": 146586, + "Èĺ": 146587, + "ɳ": 146588, + "ɹ": 146589, + "Ùº": 146590, + "áĢĦ": 146591, + "ῳ": 146592, + "âļĺ": 146593, + "âĿĨ": 146594, + "ëĨī": 146595, + "ìĸį": 146596, + "ìĺĩ": 146597, + "ì¥ĺ": 146598, + "íĸħ": 146599, + "íĻij": 146600, + "ï®Ĭ": 146601, + "ï¿Ń": 146602, + "ðĿĴIJ": 146603, + "ðĿĹ¢": 146604, + "ðŁĶĸ": 146605, + "ðŁĶ¨": 146606, + "ðŁļij": 146607, + "ðŁļ²": 146608, + "Ƹ": 146609, + "âĹ¥": 146610, + "ðĿIJŃ": 146611, + "ðŁį½": 146612, + "âĹij": 146613, + "âĵĩ": 146614, + "ðŁĶ±": 146615, + "âľ¼": 146616, + "ï¹ĥ": 146617, + "âķ±": 146618, + "ãĢĹ": 146619, + "ðŁıĭ": 146620, + "ðŁļ´": 146621, + "ðĿIJ®": 146622, + "Äļ": 146623, + "Õı": 146624, + "Ķ": 146625, + "áĥij": 146626, + "Ṭ": 146627, + "ÄĪ": 146628, + "ÄĴ": 146629, + "Ò°": 146630, + "Óķ": 146631, + "âIJ": 146632, + "âIJ£": 146633, + "âĹ¢": 146634, + "âļĻ": 146635, + "ãħĹ": 146636, + "ê°¬": 146637, + "곪": 146638, + "ê»Ģ": 146639, + "ëĦ´": 146640, + "ëİģ": 146641, + "ëĿĶ": 146642, + "묽": 146643, + "ëŃį": 146644, + "ìĩ³": 146645, + "ì°¹": 146646, + "íĮ¹": 146647, + "íŀĿ": 146648, + "ï®ĭ": 146649, + "ï¶Ī": 146650, + "ðĿĴĤ": 146651, + "ðŁ¥Ģ": 146652, + "ð٦ħ": 146653, + "Êĺ": 146654, + "á¼ij": 146655, + "âģİ": 146656, + "ðŁįŀ": 146657, + "âĨĸ": 146658, + "âĨĻ": 146659, + "ðŁİĥ": 146660, + "âĦ¡": 146661, + "âĭ±": 146662, + "ðŁĶį": 146663, + "ನ": 146664, + "áµĥ": 146665, + "âĶ«": 146666, + "⦿": 146667, + "ðŁĩ»": 146668, + "Ƥ": 146669, + "Òı": 146670, + "Ò·": 146671, + "Ûī": 146672, + "à®ķ": 146673, + "ḳ": 146674, + "בּ": 146675, + "ðŁĨĶ": 146676, + "ÚŃ": 146677, + "Û¦": 146678, + "áħ¡": 146679, + "âĦ¹": 146680, + "ê¿İ": 146681, + "ëķĶ": 146682, + "ë¼ī": 146683, + "ìļ§": 146684, + "ì²µ": 146685, + "ì´¨": 146686, + "íĬĪ": 146687, + "íĸIJ": 146688, + "ðĿĹĺ": 146689, + "ðŁĩ¿": 146690, + "ðŁİĸ": 146691, + "ðŁijħ": 146692, + "ðŁĵĺ": 146693, + "ðŁļĻ": 146694, + "ðŁĽµ": 146695, + "à¶½": 146696, + "⼵": 146697, + "ðĿIJ³": 146698, + "ðĿIJ¸": 146699, + "âļĶ": 146700, + "ðŁijŃ": 146701, + "Óij": 146702, + "â͝": 146703, + "ðŁħ¿": 146704, + "ðŁĺ¹": 146705, + "ï¿«": 146706, + "⼤": 146707, + "ðŁĴĩ": 146708, + "ðŁĵİ": 146709, + "ðŁĸĭ": 146710, + "স": 146711, + "ðĿIJį": 146712, + "IJ": 146713, + "Ïĭ": 146714, + "Ѭ": 146715, + "Ú¬": 146716, + "ÜĴ": 146717, + "á´¬": 146718, + "ï¨Ħ": 146719, + "É£": 146720, + "Ëij": 146721, + "ϵ": 146722, + "ÒĿ": 146723, + "Û¥": 146724, + "Üł": 146725, + "à¹Ľ": 146726, + "áĥķ": 146727, + "áĬķ": 146728, + "á¾¶": 146729, + "âĤ·": 146730, + "âĩ¾": 146731, + "âķ©": 146732, + "âĸIJ": 146733, + "âĺª": 146734, + "âĺ®": 146735, + "âĿļ": 146736, + "âĿŃ": 146737, + "âŀ±": 146738, + "âµİ": 146739, + "ãıĬ": 146740, + "ë©ĵ": 146741, + "ìĹ¾": 146742, + "ìªĦ": 146743, + "íĵĮ": 146744, + "íķ¼": 146745, + "ïѬ": 146746, + "ðĿijĨ": 146747, + "ðĿijŀ": 146748, + "ðĿĸĬ": 146749, + "ðŁİ¸": 146750, + "ðŁıĦ": 146751, + "ðŁijµ": 146752, + "ðŁĴł": 146753, + "ðŁĶĺ": 146754, + "ðŁ¥Ĥ": 146755, + "Ū": 146756, + "à·ĥ": 146757, + "á´¼": 146758, + "âĬ°": 146759, + "ë³ı": 146760, + "ë´£": 146761, + "ï¥ľ": 146762, + "ðŁĵĪ": 146763, + "ðŁķ¯": 146764, + "ð٧Ģ": 146765, + "âĻIJ": 146766, + "ðŁĨĹ": 146767, + "ðŁĵķ": 146768, + "ð٧ģ": 146769, + "Ü«": 146770, + "âĿIJ": 146771, + "Õķ": 146772, + "à½ķ": 146773, + "âŀĿ": 146774, + "à¦ķ": 146775, + "ðĿIJ¶": 146776, + "É¢": 146777, + "ÎĦ": 146778, + "áĨ¢": 146779, + "âĤ±": 146780, + "Õį": 146781, + "à¡ķ": 146782, + "á´°": 146783, + "ḩ": 146784, + "⼷": 146785, + "âĿ®": 146786, + "ê¡ĵ": 146787, + "ëı¤": 146788, + "ëĹIJ": 146789, + "ëµĮ": 146790, + "ìijĪ": 146791, + "íı¿": 146792, + "íŵ": 146793, + "ðĿIJİ": 146794, + "ðŁĨĺ": 146795, + "ðŁıŁ": 146796, + "É¥": 146797, + "Õ»": 146798, + "à¡Ķ": 146799, + "à¤ĸ": 146800, + "á´¸": 146801, + "âİĻ": 146802, + "âİ¥": 146803, + "âı³": 146804, + "ëģķ": 146805, + "ëĬī": 146806, + "ì¡į": 146807, + "칡": 146808, + "禮": 146809, + "ï¬Ł": 146810, + "ﮫ": 146811, + "ﮯ": 146812, + "ï±ĥ": 146813, + "ï·»": 146814, + "ﺵ": 146815, + "ðĿĹĶ": 146816, + "ðĿĹ¡": 146817, + "ðŁİ¨": 146818, + "ðŁĶĴ": 146819, + "ÚĽ": 146820, + "ध": 146821, + "âŀ¹": 146822, + "áĢĢ": 146823, + "ðŁįħ": 146824, + "âŤ": 146825, + "à¤ł": 146826, + "ðŁIJ¥": 146827, + "áĥĴ": 146828, + "ðŁıĿ": 146829, + "ðŁį¼": 146830, + "ãĮ§": 146831, + "âĿĽ": 146832, + "ðŁIJĪ": 146833, + "য": 146834, + "áĢŀ": 146835, + "ãĢĸ": 146836, + "áŀĻ": 146837, + "প": 146838, + "ÕĨ": 146839, + "âĬĨ": 146840, + "âľ¾": 146841, + "ðŁIJĹ": 146842, + "ﹿ": 146843, + "Ħ": 146844, + "ÜŁ": 146845, + "à²ł": 146846, + "ಥ": 146847, + "áŀī": 146848, + "á´¥": 146849, + "á´©": 146850, + "á½Ģ": 146851, + "ὡ": 146852, + "âĨķ": 146853, + "âŀ¯": 146854, + "ê¡ij": 146855, + "ëij£": 146856, + "ë±Į": 146857, + "ìĪij": 146858, + "ìľĶ": 146859, + "ìŀ½": 146860, + "ì¨į": 146861, + "ðĿijĢ": 146862, + "ðŁĮĮ": 146863, + "ðŁį¦": 146864, + "ðŁį©": 146865, + "ðŁIJļ": 146866, + "ðŁĵĴ": 146867, + "ðŁĵ¹": 146868, + "ðŁ¥ij": 146869, + "Äĭ": 146870, + "ËĹ": 146871, + "Ñ«": 146872, + "Õ¢": 146873, + "Ú°": 146874, + "âĮĢ": 146875, + "âĹĤ": 146876, + "âĹ£": 146877, + "⾼": 146878, + "âĿĴ": 146879, + "âĿĺ": 146880, + "âŀĻ": 146881, + "âŀ²": 146882, + "ãİį": 146883, + "ê¡IJ": 146884, + "ëŀĸ": 146885, + "ìĬĿ": 146886, + "ìĽ¤": 146887, + "ì¡ĭ": 146888, + "쨰": 146889, + "íĹĻ": 146890, + "兩": 146891, + "ï³į": 146892, + "ï»İ": 146893, + "ðĿijĵ": 146894, + "ðŁĵĬ": 146895, + "ðŁļ¼": 146896, + "ï¦ģ": 146897, + "ðĿķĴ": 146898, + "ðŁijľ": 146899, + "ðŁij¿": 146900, + "ðŁĩ½": 146901, + "à·Ħ": 146902, + "âĸ´": 146903, + "ãįī": 146904, + "âĬĩ": 146905, + "ðŁ§¸": 146906, + "Ú¡": 146907, + "â¾ĥ": 146908, + "ðŁĹ»": 146909, + "âĵij": 146910, + "ðŁ¤¸": 146911, + "ðŁ¤¯": 146912, + "êĴ°": 146913, + "ðĿIJĵ": 146914, + "âĶ´": 146915, + "êĴ±": 146916, + "áĢĺ": 146917, + "âĽĦ": 146918, + "ï¹¹": 146919, + "ÓĶ": 146920, + "áĥ±": 146921, + "Ü¡": 146922, + "ßŀ": 146923, + "âĻı": 146924, + "⾸": 146925, + "ìij¨": 146926, + "ðĿIJĿ": 146927, + "ðĿIJ¥": 146928, + "ðŁįī": 146929, + "ðŁij¼": 146930, + "ðŁ¥Ŀ": 146931, + "ÆĶ": 146932, + "ݬ": 146933, + "फ": 146934, + "àºļ": 146935, + "á´´": 146936, + "á½ĸ": 146937, + "âĤ¶": 146938, + "âİ¢": 146939, + "âĿħ": 146940, + "⣫": 146941, + "ãİĽ": 146942, + "뮨": 146943, + "ëºĮ": 146944, + "ë¼ĺ": 146945, + "ìĨĿ": 146946, + "ìľ³": 146947, + "ìŀĮ": 146948, + "ì£Ĺ": 146949, + "ìªĺ": 146950, + "컹": 146951, + "ï·¼": 146952, + "ïºĤ": 146953, + "ðĿIJ´": 146954, + "ðĿIJ¼": 146955, + "ðŁĮļ": 146956, + "ðŁı«": 146957, + "ðŁĴ¤": 146958, + "ðŁĴ¶": 146959, + "ðŁĴ¼": 146960, + "Êķ": 146961, + "ʽ": 146962, + "â²Ł": 146963, + "ãīł": 146964, + "ê¡Ĵ": 146965, + "ëľĢ": 146966, + "ìĥ¾": 146967, + "츤": 146968, + "ï¥ģ": 146969, + "ðĿļĬ": 146970, + "ðŁļĥ": 146971, + "âŀĽ": 146972, + "ìħ´": 146973, + "áĦĭ": 146974, + "âĩĹ": 146975, + "ï§·": 146976, + "âĺĸ": 146977, + "ðŁIJ¦": 146978, + "⸾": 146979, + "ðŁĴ´": 146980, + "ð٤ļ": 146981, + "ãĬĹ": 146982, + "âĮĽ": 146983, + "áĪĽ": 146984, + "༺": 146985, + "â½ī": 146986, + "ðŁı¢": 146987, + "âĵŀ": 146988, + "âĺ½": 146989, + "ãĢĻ": 146990, + "ðŁ¤®": 146991, + "ÅIJ": 146992, + "áĥ¬": 146993, + "ðĿĹ»": 146994, + "ðŁįĸ": 146995, + "ÆĬ": 146996, + "ÊŁ": 146997, + "ßĭ": 146998, + "à¤ĭ": 146999, + "áµĶ": 147000, + "á¿ĥ": 147001, + "âĦī": 147002, + "âĮĭ": 147003, + "âı²": 147004, + "âĵĪ": 147005, + "âĵ¢": 147006, + "âķĶ": 147007, + "âļij": 147008, + "âĿĭ": 147009, + "âĿİ": 147010, + "⵾": 147011, + "âµ£": 147012, + "ëĴĪ": 147013, + "ëľģ": 147014, + "ë¶ĩ": 147015, + "ìį»": 147016, + "ìĺŃ": 147017, + "ì§¢": 147018, + "íĹĢ": 147019, + "ï§Ĭ": 147020, + "טּ": 147021, + "ﱡ": 147022, + "ðĿIJº": 147023, + "ðĿij§": 147024, + "ðĿĺ¦": 147025, + "ðŁĵ¥": 147026, + "ðŁĺŁ": 147027, + "ðŁ¥IJ": 147028, + "Äĸ": 147029, + "ɨ": 147030, + "áĢIJ": 147031, + "áĥĵ": 147032, + "áºĵ": 147033, + "á¼¶": 147034, + "á½Ħ": 147035, + "âĤ¤": 147036, + "âĮľ": 147037, + "âĮŁ": 147038, + "âİł": 147039, + "⼸": 147040, + "âµį": 147041, + "âµı": 147042, + "âµĵ": 147043, + "ãĢĺ": 147044, + "ë·¸": 147045, + "íħ¼": 147046, + "ï¦Į": 147047, + "ïŃĦ": 147048, + "ïŃİ": 147049, + "ðĿĻļ": 147050, + "ðĿļĺ": 147051, + "à¼ĵ": 147052, + "ëŃħ": 147053, + "áIJĽ": 147054, + "ãݾ": 147055, + "ï¨Ģ": 147056, + "ðŁĹ½": 147057, + "âĻŀ": 147058, + "Ëĸ": 147059, + "âĹŀ": 147060, + "ðŁ¤«": 147061, + "ðŁĺĹ": 147062, + "ヲ": 147063, + "ðŁ¤¢": 147064, + "âģĩ": 147065, + "ã̵": 147066, + "ðŁįĶ": 147067, + "áĬł": 147068, + "ðŁĺ¼": 147069, + "ðĿĹ®": 147070, + "ðŁIJ³": 147071, + "ðĿIJĭ": 147072, + "ðŁĨļ": 147073, + "ðŁĶĽ": 147074, + "Ñ»": 147075, + "ܨ": 147076, + "ல": 147077, + "âľŀ": 147078, + "âµĻ": 147079, + "êµ£": 147080, + "츨": 147081, + "ðĿIJľ": 147082, + "ðĿĺ°": 147083, + "ðŁĶ½": 147084, + "Ç»": 147085, + "Ç¿": 147086, + "Êĩ": 147087, + "ÎIJ": 147088, + "ÐĢ": 147089, + "Ñ¡": 147090, + "Ѳ": 147091, + "ÒĴ": 147092, + "Ù¶": 147093, + "ßķ": 147094, + "à¶±": 147095, + "áIJģ": 147096, + "âģŀ": 147097, + "âĸ§": 147098, + "âĽĪ": 147099, + "âľľ": 147100, + "âľ¹": 147101, + "âŁ¹": 147102, + "â¤ĩ": 147103, + "ê²Ĭ": 147104, + "ê¾ľ": 147105, + "ë¯IJ": 147106, + "ë³IJ": 147107, + "ìħ©": 147108, + "ìIJ¬": 147109, + "ìij¹": 147110, + "ï¤Ķ": 147111, + "ï¦ļ": 147112, + "ï¬ł": 147113, + "ïŃĶ": 147114, + "ﺶ": 147115, + "ðĿĴı": 147116, + "ðĿĸĨ": 147117, + "ðĿŶ": 147118, + "ðŁıĤ": 147119, + "ðŁIJ½": 147120, + "ðŁĴ©": 147121, + "ðŁĵ½": 147122, + "ðŁĹ¨": 147123, + "ðŁĹº": 147124, + "ðŁĺ¸": 147125, + "ðŁ¥§": 147126, + "ÅĹ": 147127, + "Êİ": 147128, + "ÒĻ": 147129, + "ײ": 147130, + "à¤Ī": 147131, + "á¼´": 147132, + "á¿ij": 147133, + "âµī": 147134, + "ãħĵ": 147135, + "ì½´": 147136, + "ðĿĸĵ": 147137, + "ðŁĵĹ": 147138, + "ðŁĶª": 147139, + "ðŁĸį": 147140, + "ÏĴ": 147141, + "ðŁij¬": 147142, + "áĥĻ": 147143, + "âĨ¬": 147144, + "âͤ": 147145, + "âĽ¹": 147146, + "âĻŁ": 147147, + "ðŁļ¶": 147148, + "ðŁij¾": 147149, + "âĪĭ": 147150, + "ðŁIJ¯": 147151, + "à¼İ": 147152, + "âľ·": 147153, + "ï¨Ļ": 147154, + "âĶ»": 147155, + "ðŁij¹": 147156, + "áĦī": 147157, + "ສ": 147158, + "â¾ı": 147159, + "â½ħ": 147160, + "ãİĸ": 147161, + "Ñ´": 147162, + "Õ®": 147163, + "Ú¼": 147164, + "áĢķ": 147165, + "áĨ¼": 147166, + "ëŃı": 147167, + "ðŁIJ¸": 147168, + "ðŁļ£": 147169, + "ÆĿ": 147170, + "Ô»": 147171, + "áĥ¢": 147172, + "ðŁį¯": 147173, + "ɦ": 147174, + "Õ¦": 147175, + "âĻĭ": 147176, + "שׂ": 147177, + "ðĿŦ": 147178, + "Çļ": 147179, + "ɱ": 147180, + "à¤ī": 147181, + "á´Ħ": 147182, + "âĻĵ": 147183, + "⼰": 147184, + "âŁª": 147185, + "ëĥĺ": 147186, + "뢸": 147187, + "ìĤij": 147188, + "ï®Ķ": 147189, + "ðĿķĸ": 147190, + "ðĿŧ": 147191, + "ðŁĩ¼": 147192, + "ðŁĵĭ": 147193, + "ðŁļľ": 147194, + "ðŁ¥¤": 147195, + "Ä®": 147196, + "Å·": 147197, + "ßĬ": 147198, + "॥": 147199, + "ப": 147200, + "áŀĦ": 147201, + "áµĢ": 147202, + "á¸ħ": 147203, + "á¼¢": 147204, + "âĪĿ": 147205, + "âĬ¹": 147206, + "âĴ¶": 147207, + "âķ´": 147208, + "⼱": 147209, + "âĽ³": 147210, + "âĽº": 147211, + "âŀŁ": 147212, + "ãıĦ": 147213, + "ê¸Ķ": 147214, + "ê¹Ł": 147215, + "ëĩ°": 147216, + "ë¹»": 147217, + "ìĤ¥": 147218, + "ìĽ»": 147219, + "ì°Ł": 147220, + "íĥ°": 147221, + "íĨº": 147222, + "íļ½": 147223, + "老": 147224, + "量": 147225, + "ï³Ŀ": 147226, + "ðĿIJ¦": 147227, + "ðĿĴľ": 147228, + "ðĿĴŁ": 147229, + "ðĿļĹ": 147230, + "ðŁİŃ": 147231, + "ðŁıĵ": 147232, + "ðŁı³": 147233, + "ðŁıº": 147234, + "ðŁIJį": 147235, + "ðŁijĥ": 147236, + "ðŁĴı": 147237, + "ð٤ĸ": 147238, + "ðŁ¤µ": 147239, + "Õ²": 147240, + "âµĶ": 147241, + "ëĺ¬": 147242, + "念": 147243, + "ÊĤ": 147244, + "áĨ«": 147245, + "áŀij": 147246, + "ðĿĸİ": 147247, + "ðĿĹĸ": 147248, + "áĦĥ": 147249, + "âĩł": 147250, + "áĢ¡": 147251, + "à½Ħ": 147252, + "âŀ¸": 147253, + "ï¦Ļ": 147254, + "âĩļ": 147255, + "ðŁIJ¬": 147256, + "ðŁIJ¢": 147257, + "â¾Ĵ": 147258, + "ðŁIJ¤": 147259, + "ðŁĶ«": 147260, + "ãĢŀ": 147261, + "︺": 147262, + "ðŁĺº": 147263, + "â½´": 147264, + "ðŁĨķ": 147265, + "âģ¿": 147266, + "ðŁį¨": 147267, + "à²ķ": 147268, + "ðŁļĺ": 147269, + "áŀħ": 147270, + "à¦ħ": 147271, + "áŀ¢": 147272, + "à¨ľ": 147273, + "âļĮ": 147274, + "ã̽": 147275, + "à·´": 147276, + "âĵĽ": 147277, + "áĢľ": 147278, + "ìĨ¨": 147279, + "Ë©": 147280, + "ÜĹ": 147281, + "âĭ¼": 147282, + "ðŁĻī": 147283, + "ÅĬ": 147284, + "Éĵ": 147285, + "ʲ": 147286, + "ΰ": 147287, + "Ѽ": 147288, + "Ô¿": 147289, + "à¡IJ": 147290, + "à¼ľ": 147291, + "ས": 147292, + "á¶ľ": 147293, + "âĤ²": 147294, + "âĨ¨": 147295, + "âĬ¥": 147296, + "âķ§": 147297, + "âĻľ": 147298, + "ãĭ¡": 147299, + "ë´¬": 147300, + "ë¶ij": 147301, + "ìī¿": 147302, + "ìİħ": 147303, + "ìł±": 147304, + "ì°§": 147305, + "ﲡ": 147306, + "ðĿĴĽ": 147307, + "ðĿķ£": 147308, + "ðĿĹľ": 147309, + "ðŁį²": 147310, + "ðŁİ©": 147311, + "ðŁIJIJ": 147312, + "ðŁIJł": 147313, + "ðŁij½": 147314, + "ðŁĴij": 147315, + "ðŁĵľ": 147316, + "ðŁķµ": 147317, + "ðŁļĮ": 147318, + "ðŁĽ£": 147319, + "Êĭ": 147320, + "Ó¯": 147321, + "Ù¸": 147322, + "ßĶ": 147323, + "ßĻ": 147324, + "à¡ĵ": 147325, + "á´į": 147326, + "ḿ": 147327, + "âıº": 147328, + "âĸ¥": 147329, + "뤽": 147330, + "íľij": 147331, + "ðĿIJ¹": 147332, + "ðĿĸĶ": 147333, + "ðĿļİ": 147334, + "ðŁĵĦ": 147335, + "ðŁ¦·": 147336, + "Æĥ": 147337, + "à¦Ł": 147338, + "âĮĤ": 147339, + "âĺŃ": 147340, + "â²ļ": 147341, + "ëĿķ": 147342, + "ðŁİ£": 147343, + "à®ĩ": 147344, + "à½Ĩ": 147345, + "áħµ": 147346, + "áĹľ": 147347, + "â̽": 147348, + "âĮ£": 147349, + "âģ½": 147350, + "ðŁĵ¬": 147351, + "ðŁ¤§": 147352, + "âĩª": 147353, + "â½£": 147354, + "âĹŁ": 147355, + "ï¨Ĺ": 147356, + "êĴª": 147357, + "ðŁĽĢ": 147358, + "ÇĤ": 147359, + "ðŁ¥¶": 147360, + "ðŁİį": 147361, + "ï¿©": 147362, + "ðŁijĴ": 147363, + "áµĪ": 147364, + "︿": 147365, + "áħ©": 147366, + "⾦": 147367, + "à°¤": 147368, + "á´ĸ": 147369, + "ਬ": 147370, + "àºĹ": 147371, + "༻": 147372, + "Ѻ": 147373, + "ਪ": 147374, + "á´³": 147375, + "ðĿIJĪ": 147376, + "à»Ģ": 147377, + "á´¿": 147378, + "âĤį": 147379, + "âĩ¡": 147380, + "âĽª": 147381, + "ðĿIJĤ": 147382, + "ðĿĴķ": 147383, + "ðŁIJľ": 147384, + "Êį": 147385, + "ѱ": 147386, + "à½ĥ": 147387, + "ë®IJ": 147388, + "ìĽ¡": 147389, + "ìľģ": 147390, + "ðĿIJ¿": 147391, + "ðĿķł": 147392, + "ðŁijĽ": 147393, + "ƪ": 147394, + "Ϻ": 147395, + "Ó¬": 147396, + "Ù¿": 147397, + "Ý£": 147398, + "àªī": 147399, + "ஹ": 147400, + "à½ij": 147401, + "áĨ¯": 147402, + "áµĩ": 147403, + "âĩ¥": 147404, + "âıª": 147405, + "âϰ": 147406, + "âļŃ": 147407, + "âļ¾": 147408, + "ãħĦ": 147409, + "ḛ̂": 147410, + "ê°Ĺ": 147411, + "ê²ĭ": 147412, + "ê²»": 147413, + "ê¶ľ": 147414, + "ê¼ĩ": 147415, + "ê½¹": 147416, + "ëĤŁ": 147417, + "ëħĪ": 147418, + "ëĭ¢": 147419, + "ë§Ł": 147420, + "ëªĨ": 147421, + "ëµĢ": 147422, + "ì½±": 147423, + "íĩĺ": 147424, + "íľľ": 147425, + "ï§¾": 147426, + "ï±µ": 147427, + "ï²¢": 147428, + "ﲤ": 147429, + "ðĿĴĬ": 147430, + "ðĿĺ¯": 147431, + "ðŁįĹ": 147432, + "ðŁıį": 147433, + "ðŁIJĺ": 147434, + "ðŁĵ¡": 147435, + "ðŁĶŀ": 147436, + "ðŁ¤³": 147437, + "ðŁ¥ģ": 147438, + "ðŁ¥Ĺ": 147439, + "ð٦Ĭ": 147440, + "ĵ": 147441, + "Ʀ": 147442, + "ǵ": 147443, + "ɯ": 147444, + "Îı": 147445, + "ÕĦ": 147446, + "Ü¥": 147447, + "à½ģ": 147448, + "ᨳ": 147449, + "âķ«": 147450, + "ãİī": 147451, + "ë·´": 147452, + "ìĨİ": 147453, + "ìİĮ": 147454, + "죵": 147455, + "íĽł": 147456, + "離": 147457, + "ï³ı": 147458, + "ﻺ": 147459, + "ðĿijģ": 147460, + "ðĿijĩ": 147461, + "ðĿĴĨ": 147462, + "ðŁİł": 147463, + "ðŁIJĶ": 147464, + "ðŁijŁ": 147465, + "Åĸ": 147466, + "à¤Į": 147467, + "á¾½": 147468, + "ê¦Ĵ": 147469, + "à®Ł": 147470, + "á´±": 147471, + "ðŁı°": 147472, + "ðŁIJŀ": 147473, + "à½Ģ": 147474, + "áĢħ": 147475, + "âĬ¿": 147476, + "ðŁIJ§": 147477, + "áĽģ": 147478, + "â¼Ī": 147479, + "âĶ¿": 147480, + "ðŁ¥´": 147481, + "⼿": 147482, + "ðŁ§ľ": 147483, + "ãħ¿": 147484, + "âĦ«": 147485, + "ã̳": 147486, + "ãĬĻ": 147487, + "â¼Ģ": 147488, + "怜": 147489, + "ðŁı¬": 147490, + "ðŁĵ»": 147491, + "áĬĽ": 147492, + "áĦħ": 147493, + "àºĬ": 147494, + "àºĽ": 147495, + "áħ³": 147496, + "ðŁij®": 147497, + "à®±": 147498, + "âĺĩ": 147499, + "ðĿIJı": 147500, + "à´µ": 147501, + "à»ģ": 147502, + "à½ı": 147503, + "ར": 147504, + "ᥱ": 147505, + "âĤ£": 147506, + "復": 147507, + "ïŃĻ": 147508, + "ï´©": 147509, + "ï¹Ĥ": 147510, + "ðŁį£": 147511, + "ðŁķ¹": 147512, + "Ïĸ": 147513, + "ම": 147514, + "ຢ": 147515, + "áĭŃ": 147516, + "âİĿ": 147517, + "âĹĿ": 147518, + "âĻĪ": 147519, + "âĻİ": 147520, + "ê½¥": 147521, + "ì³Ķ": 147522, + "ì¼ij": 147523, + "ï±°": 147524, + "ðĿijĥ": 147525, + "ðŁĮª": 147526, + "ðŁį¡": 147527, + "Åİ": 147528, + "ʦ": 147529, + "ѧ": 147530, + "Óİ": 147531, + "Ô´": 147532, + "ÚĪ": 147533, + "ßĵ": 147534, + "ß§": 147535, + "à¤Ķ": 147536, + "áĪ«": 147537, + "áε": 147538, + "áĹ©": 147539, + "á´ł": 147540, + "á¼ł": 147541, + "âĢĹ": 147542, + "âģij": 147543, + "âĦı": 147544, + "âĸĩ": 147545, + "â²£": 147546, + "ãĦ³": 147547, + "ãī®": 147548, + "ê³Ĺ": 147549, + "ëĦĴ": 147550, + "ëĸ«": 147551, + "ë¡Ħ": 147552, + "ë¹°": 147553, + "ë½ģ": 147554, + "ìĦģ": 147555, + "ìĮĺ": 147556, + "ìŁĮ": 147557, + "ì³ī": 147558, + "ì¼ķ": 147559, + "כּ": 147560, + "ï³İ": 147561, + "ﹸ": 147562, + "ï¹¾": 147563, + "ðĿIJĨ": 147564, + "ðĿij·": 147565, + "ðĿĽ¼": 147566, + "ðŁİı": 147567, + "ðŁİŀ": 147568, + "ðŁIJĻ": 147569, + "ðŁijĤ": 147570, + "ðŁĵģ": 147571, + "ðŁĸ±": 147572, + "ðŁļį": 147573, + "ðŁļ§": 147574, + "ðŁĽ¡": 147575, + "ð٤Ĵ": 147576, + "ðŁ¥ŀ": 147577, + "ðŁ¥©": 147578, + "ð٦Ģ": 147579, + "ð٦ĸ": 147580, + "Ë¢": 147581, + "Üļ": 147582, + "வ": 147583, + "áĢģ": 147584, + "áī°": 147585, + "âıŃ": 147586, + "âĻ¿": 147587, + "ê³ĺ": 147588, + "ëıĿ": 147589, + "ëķĥ": 147590, + "ìħĮ": 147591, + "ìĴ¸": 147592, + "ìĽŁ": 147593, + "íħĦ": 147594, + "íľ«": 147595, + "ï§ĺ": 147596, + "↓": 147597, + "ðŁı·": 147598, + "ðŁĶ§": 147599, + "ðŁ¥Ī": 147600, + "Æĸ": 147601, + "áŀĩ": 147602, + "áŀĸ": 147603, + "âģº": 147604, + "âĹľ": 147605, + "âŀ©": 147606, + "ê¦Ń": 147607, + "ëϤ": 147608, + "ïѼ": 147609, + "ðĿĻĸ": 147610, + "ðĿĻ£": 147611, + "ðĿϤ": 147612, + "ðŁĮĿ": 147613, + "ðŁĶij": 147614, + "ðŁĽł": 147615, + "àºĩ": 147616, + "âĺ£": 147617, + "ãĦ¨": 147618, + "ðĿĸĹ": 147619, + "Óĵ": 147620, + "âĨ£": 147621, + "ðŁ¥ī": 147622, + "ðŁĮł": 147623, + "ðŁĺ½": 147624, + "ãİł": 147625, + "ŧ": 147626, + "ðŁIJĴ": 147627, + "ï§IJ": 147628, + "ðŁĺ¿": 147629, + "âά": 147630, + "ðŁIJ®": 147631, + "⣱": 147632, + "ಡ": 147633, + "â¾¼": 147634, + "à°²": 147635, + "˶": 147636, + "âĸ¿": 147637, + "ÕĪ": 147638, + "áŀİ": 147639, + "áħ¥": 147640, + "áŀĹ": 147641, + "Õ§": 147642, + "ð٤IJ": 147643, + "ðŁįł": 147644, + "ত": 147645, + "ය": 147646, + "âĻį": 147647, + "ìĺĻ": 147648, + "íĺĵ": 147649, + "ﹺ": 147650, + "ðŁĽ³": 147651, + "Åī": 147652, + "á´İ": 147653, + "âıľ": 147654, + "âͳ": 147655, + "긷": 147656, + "ì¡Ķ": 147657, + "ðĿĴĪ": 147658, + "ðĿĴį": 147659, + "ðĿĴ¹": 147660, + "ðĿĵĩ": 147661, + "ðĿķŁ": 147662, + "ðĿĹ¹": 147663, + "ðŁĮħ": 147664, + "ðŁı´": 147665, + "ÄĶ": 147666, + "Ĥ": 147667, + "ŵ": 147668, + "Ǿ": 147669, + "Ïŀ": 147670, + "϶": 147671, + "Ô³": 147672, + "ÜĨ": 147673, + "ß©": 147674, + "à¡Ĵ": 147675, + "à¤ĺ": 147676, + "à¶ļ": 147677, + "à½ĸ": 147678, + "áģĬ": 147679, + "áĥŀ": 147680, + "áĦĤ": 147681, + "áĭ«": 147682, + "á´º": 147683, + "ḣ": 147684, + "Ḫ": 147685, + "á¹Ĥ": 147686, + "á¼·": 147687, + "á¿ĩ": 147688, + "âĩĮ": 147689, + "âı¬": 147690, + "âĻĮ": 147691, + "⮣": 147692, + "â´»": 147693, + "ⵣ": 147694, + "ê¦ķ": 147695, + "ꦪ": 147696, + "ꦮ": 147697, + "ê²Ħ": 147698, + "ê¾IJ": 147699, + "ëĥij": 147700, + "ëķĭ": 147701, + "롸": 147702, + "ë¬Ģ": 147703, + "ìĩ¤": 147704, + "ìĪ©": 147705, + "ìľķ": 147706, + "ìŃĺ": 147707, + "ì·°": 147708, + "ì·¸": 147709, + "íľĢ": 147710, + "藍": 147711, + "ï§į": 147712, + "ï±Ħ": 147713, + "ï³ij": 147714, + "ðĿIJ¤": 147715, + "ðĿĴĵ": 147716, + "ðĿĴ¶": 147717, + "ðĿĹ¼": 147718, + "ðĿĻĬ": 147719, + "ðŁĩ¾": 147720, + "ðŁĮĽ": 147721, + "ðŁĮ®": 147722, + "ðŁİĩ": 147723, + "ðŁİ²": 147724, + "ðŁıĽ": 147725, + "ðŁij¥": 147726, + "ðŁij´": 147727, + "ðŁĴĨ": 147728, + "ðŁĵĤ": 147729, + "ðŁĵ§": 147730, + "ðŁķIJ": 147731, + "ðŁĸķ": 147732, + "ðŁĺ§": 147733, + "ðŁĻĢ": 147734, + "ðŁļĴ": 147735, + "ðŁĽ«": 147736, + "ðŁ¤ł": 147737, + "ðŁ¥ļ": 147738, + "ðŁ¥Ľ": 147739, + "ðŁ¥£": 147740, + "ǯ": 147741, + "ȧ": 147742, + "ÎĬ": 147743, + "Ò²": 147744, + "×°": 147745, + "Ûij": 147746, + "áĥ©": 147747, + "áĦĮ": 147748, + "áĪį": 147749, + "áī¥": 147750, + "áıĤ": 147751, + "âģ±": 147752, + "âĬ¢": 147753, + "âĹĵ": 147754, + "âĿ°": 147755, + "ë¿¡": 147756, + "ìĽ©": 147757, + "íģŃ": 147758, + "íĨ³": 147759, + "íĬĦ": 147760, + "íĵ¸": 147761, + "北": 147762, + "若": 147763, + "ï±IJ": 147764, + "ﱯ": 147765, + "ï³ļ": 147766, + "ðĿĸĺ": 147767, + "ðĿĺĢ": 147768, + "ðŁIJĬ": 147769, + "ðŁIJĮ": 147770, + "ðŁijļ": 147771, + "ðŁĵĥ": 147772, + "ðŁļĽ": 147773, + "ðŁļª": 147774, + "ðŁ¤°": 147775, + "Ä´": 147776, + "áĥ®": 147777, + "áŨ": 147778, + "âĻ®": 147779, + "â²ŀ": 147780, + "ãĪĶ": 147781, + "ìħį": 147782, + "ãħĥ": 147783, + "率": 147784, + "ມ": 147785, + "Õİ": 147786, + "Õº": 147787, + "⬼": 147788, + "⽤": 147789, + "ðĿIJ²": 147790, + "âŀµ": 147791, + "áĢĽ": 147792, + "âĶħ": 147793, + "âĨŁ": 147794, + "â¼Ĭ": 147795, + "ðŁĮ½": 147796, + "ðŁļ¿": 147797, + "ï¦Ĭ": 147798, + "ãĦ£": 147799, + "⼩": 147800, + "ï©Ľ": 147801, + "ðŁį±": 147802, + "⾨": 147803, + "à´¤": 147804, + "áŀģ": 147805, + "àºŀ": 147806, + "Êļ": 147807, + "ðĿIJĴ": 147808, + "à´±": 147809, + "áŀľ": 147810, + "ன": 147811, + "à°Ĺ": 147812, + "à´ļ": 147813, + "âĩ£": 147814, + "ï¦ķ": 147815, + "Õħ": 147816, + "Æĺ": 147817, + "âĤ¦": 147818, + "âĶĦ": 147819, + "ï¦Ł": 147820, + "嶺": 147821, + "ðĿIJģ": 147822, + "ðĿIJĥ": 147823, + "ðŁį¸": 147824, + "ðŁIJ²": 147825, + "Ŷ": 147826, + "Éĸ": 147827, + "ßĺ": 147828, + "ฦ": 147829, + "à½Ķ": 147830, + "áĨ·": 147831, + "âģķ": 147832, + "âĵĤ": 147833, + "âĿľ": 147834, + "便": 147835, + "אַ": 147836, + "ðĿĹĿ": 147837, + "ðĿĹ¿": 147838, + "ðŁİ¾": 147839, + "ðŁĹĿ": 147840, + "ð٦Į": 147841, + "Æħ": 147842, + "Ǫ": 147843, + "ÒĹ": 147844, + "ÜĽ": 147845, + "ßł": 147846, + "à¡ij": 147847, + "áī£": 147848, + "áĬŃ": 147849, + "ṡ": 147850, + "âŀ¼": 147851, + "âŀ¾": 147852, + "â´±": 147853, + "ãī¡": 147854, + "곯": 147855, + "ë½Ī": 147856, + "ìĤĺ": 147857, + "ìīij": 147858, + "ì«ĺ": 147859, + "íĮĥ": 147860, + "íϰ": 147861, + "ï¤Ĺ": 147862, + "ðŁĮ¬": 147863, + "ðŁĮ°": 147864, + "ðŁį¤": 147865, + "Ä»": 147866, + "Åĩ": 147867, + "ƨ": 147868, + "Éķ": 147869, + "Ò¢": 147870, + "Òº": 147871, + "Öį": 147872, + "×±": 147873, + "Ú±": 147874, + "Ú½": 147875, + "ÛIJ": 147876, + "à¤Ľ": 147877, + "à·Ģ": 147878, + "à¹ļ": 147879, + "ຫ": 147880, + "á´¹": 147881, + "á½Ķ": 147882, + "á¾³": 147883, + "âĤĴ": 147884, + "âĨ´": 147885, + "âĩĿ": 147886, + "âīħ": 147887, + "âĮ¨": 147888, + "âĵĵ": 147889, + "âĸ¢": 147890, + "âļ¬": 147891, + "âŀŃ": 147892, + "â²Ĵ": 147893, + "ãİ¿": 147894, + "ê¿´": 147895, + "ëα": 147896, + "ëį¬": 147897, + "ëİIJ": 147898, + "ëIJ«": 147899, + "ëĶ«": 147900, + "ë±ģ": 147901, + "ìĥ¥": 147902, + "íĮ¼": 147903, + "ïŃĵ": 147904, + "ﮥ": 147905, + "ï²°": 147906, + "ðĿIJĩ": 147907, + "ðĿIJij": 147908, + "ðĿijĮ": 147909, + "ðĿĵª": 147910, + "ðĿķļ": 147911, + "ðĿĺª": 147912, + "ðĿĺ¼": 147913, + "ðĿļĽ": 147914, + "ðŁĩ¶": 147915, + "ðŁĮĦ": 147916, + "ðŁĮķ": 147917, + "ðŁĮ¤": 147918, + "ðŁĮ§": 147919, + "ðŁį¬": 147920, + "ðŁİĭ": 147921, + "ðŁİ»": 147922, + "ðŁı¨": 147923, + "ðŁIJĩ": 147924, + "ðŁijĵ": 147925, + "ðŁĵIJ": 147926, + "ðŁĵĻ": 147927, + "ðŁĶ¼": 147928, + "ðŁķĴ": 147929, + "ðŁĸı": 147930, + "ðŁĸ¥": 147931, + "ðŁ¤¬": 147932, + "ðŁ¥Ĭ": 147933, + "ðŁ¥Ĵ": 147934, + "ßĮ": 147935, + "àºĦ": 147936, + "á¼µ": 147937, + "âķ¡": 147938, + "Ⲥ": 147939, + "â´¼": 147940, + "âµ¢": 147941, + "ãΝ": 147942, + "ëĵ¸": 147943, + "ëŁĩ": 147944, + "ëºį": 147945, + "ðĿϧ": 147946, + "ðŁįĪ": 147947, + "ðŁĶ¬": 147948, + "ðŁĸĬ": 147949, + "ðŁ¤¾": 147950, + "Ë¡": 147951, + "Ü©": 147952, + "âĮ¡": 147953, + "âŃij": 147954, + "Ⲧ": 147955, + "ë©ī": 147956, + "ì¼Ń": 147957, + "¦": 147958, + "ðĿĴİ": 147959, + "ðĿĹ¥": 147960, + "ðŁIJµ": 147961, + "ðŁķ¶": 147962, + "ðŁķ¸": 147963, + "ðŁ¤ľ": 147964, + "Õª": 147965, + "áĪĭ": 147966, + "ðŁ¥µ": 147967, + "ï°ģ": 147968, + "áµIJ": 147969, + "âķĵ": 147970, + "áĢĸ": 147971, + "âĭĪ": 147972, + "Éŀ": 147973, + "âŀ®": 147974, + "॰": 147975, + "ãĨģ": 147976, + "ðŁĴ±": 147977, + "ðŁıŃ": 147978, + "áĨ¨": 147979, + "ðŁįļ": 147980, + "ð٦IJ": 147981, + "á´»": 147982, + "âĺĮ": 147983, + "à´ķ": 147984, + "Õ±": 147985, + "áħ®": 147986, + "ðĿIJĮ": 147987, + "Ŧ": 147988, + "àºķ": 147989, + "âľĻ": 147990, + "˳": 147991, + "Ôµ": 147992, + "âķĴ": 147993, + "ðĿĹĹ": 147994, + "ðĿĹł": 147995, + "Úļ": 147996, + "ধ": 147997, + "âĨĿ": 147998, + "âĻī": 147999, + "ãĮ»": 148000, + "ì¹Ĭ": 148001, + "ðĿĹº": 148002, + "ð٧ĺ": 148003, + "ì³£": 148004, + "ï¬Ŀ": 148005, + "ðŁijº": 148006, + "ÇŁ": 148007, + "ÎĪ": 148008, + "Ϋ": 148009, + "Ñ¥": 148010, + "Ô²": 148011, + "Õ¨": 148012, + "ܦ": 148013, + "à¦Ĩ": 148014, + "থ": 148015, + "áIJ¢": 148016, + "á¼ģ": 148017, + "á¼ĺ": 148018, + "ἦ": 148019, + "âĵĿ": 148020, + "ãΰ": 148021, + "ãİĹ": 148022, + "겡": 148023, + "ë¨Ģ": 148024, + "ì£Ķ": 148025, + "ì´¤": 148026, + "ìµĿ": 148027, + "ï§´": 148028, + "ïŃĬ": 148029, + "ï²Ł": 148030, + "ðĿIJ·": 148031, + "ðĿijĭ": 148032, + "ðĿĵī": 148033, + "ðĿĺµ": 148034, + "ðŁĴ·": 148035, + "ðŁĽ©": 148036, + "ðŁ§¹": 148037, + "ÅĶ": 148038, + "Êŀ": 148039, + "Ë¥": 148040, + "ÎĮ": 148041, + "Ñ©": 148042, + "ÓIJ": 148043, + "Ół": 148044, + "Úij": 148045, + "ÚĴ": 148046, + "ߨ": 148047, + "àªĪ": 148048, + "áIJĥ": 148049, + "ṯ": 148050, + "âĤĭ": 148051, + "âĤµ": 148052, + "âĦħ": 148053, + "âĦł": 148054, + "âĪ£": 148055, + "âīº": 148056, + "âī»": 148057, + "âĬĽ": 148058, + "âĮIJ": 148059, + "âİĵ": 148060, + "âĺ¸": 148061, + "âĻĴ": 148062, + "âļĴ": 148063, + "âľĩ": 148064, + "âľł": 148065, + "â´·": 148066, + "âµĸ": 148067, + "ãĦ¸": 148068, + "ãī¢": 148069, + "ãī°": 148070, + "êĩ´": 148071, + "ê´¸": 148072, + "êºł": 148073, + "ëĤı": 148074, + "ëĤ¢": 148075, + "ëIJĢ": 148076, + "뺴": 148077, + "ìĥľ": 148078, + "ìįħ": 148079, + "줫": 148080, + "챦": 148081, + "ìºij": 148082, + "ì¼ģ": 148083, + "쿳": 148084, + "íĤģ": 148085, + "íħ¡": 148086, + "íĴĤ": 148087, + "íĴī": 148088, + "íľĦ": 148089, + "ïŃª": 148090, + "ﮬ": 148091, + "ﯦ": 148092, + "ﱪ": 148093, + "ï²ı": 148094, + "ï´Ģ": 148095, + "ï»Ĩ": 148096, + "₩": 148097, + "ðĿijĹ": 148098, + "ðĿĸĻ": 148099, + "ðŁĮ¡": 148100, + "ðŁįĿ": 148101, + "ðŁį§": 148102, + "ðŁİ«": 148103, + "ðŁıĺ": 148104, + "ðŁıª": 148105, + "ðŁIJĭ": 148106, + "ðŁIJĽ": 148107, + "ðŁIJº": 148108, + "ðŁijĸ": 148109, + "ðŁijŀ": 148110, + "ðŁij·": 148111, + "ðŁĵĢ": 148112, + "ðŁĶĦ": 148113, + "ðŁĶĮ": 148114, + "ðŁķĻ": 148115, + "ðŁĻį": 148116, + "ðŁĻİ": 148117, + "ð٦į": 148118, + "ǰ": 148119, + "ÉŁ": 148120, + "ÊĨ": 148121, + "Ô¼": 148122, + "Úľ": 148123, + "ড": 148124, + "শ": 148125, + "áĴĥ": 148126, + "Ἡ": 148127, + "âĵķ": 148128, + "â²Ī": 148129, + "ê°°": 148130, + "ê¹ł": 148131, + "êºħ": 148132, + "ëĦ¹": 148133, + "ë¯ĵ": 148134, + "íIJĪ": 148135, + "ï§¶": 148136, + "ï®ij": 148137, + "ﲨ": 148138, + "ðĿĴī": 148139, + "ðĿĴĶ": 148140, + "ðĿŨ": 148141, + "ðĿĻŀ": 148142, + "ðĿļĴ": 148143, + "ðĿļķ": 148144, + "ðŁIJİ": 148145, + "ð٤ķ": 148146, + "ð٧Ķ": 148147, + "ϰ": 148148, + "ÔĿ": 148149, + "âĮĬ": 148150, + "âĴ¾": 148151, + "ãī£": 148152, + "ïŃ©": 148153, + "ðĿļŀ": 148154, + "Êij": 148155, + "দ": 148156, + "áĦĩ": 148157, + "âīĥ": 148158, + "â²Ģ": 148159, + "ìŁİ": 148160, + "ðĿij¶": 148161, + "ðĿĵ²": 148162, + "ðŁİ·": 148163, + "ðŁļ¹": 148164, + "àºģ": 148165, + "áłł": 148166, + "ãĦļ": 148167, + "ðŁIJ¿": 148168, + "áĽļ": 148169, + "âķ³": 148170, + "ðŁIJŃ": 148171, + "âĴ¹": 148172, + "ðĿĸļ": 148173, + "âĻĸ": 148174, + "ãβ": 148175, + "âĨ¾": 148176, + "áĦĨ": 148177, + "âķĽ": 148178, + "ð٤į": 148179, + "â½¥": 148180, + "ðŁĮ¨": 148181, + "âĪ®": 148182, + "ãĮĺ": 148183, + "ãįij": 148184, + "ï¹Ģ": 148185, + "âĵĹ": 148186, + "âĬĦ": 148187, + "ðŁı¹": 148188, + "ËĴ": 148189, + "ðŁ¤±": 148190, + "ãıľ": 148191, + "ðŁİĮ": 148192, + "ï¥Ń": 148193, + "ণ": 148194, + "ðŁİ¹": 148195, + "ãĬŁ": 148196, + "à´°": 148197, + "ðĿIJĶ": 148198, + "à´¨": 148199, + "à½ļ": 148200, + "âľº": 148201, + "Õ·": 148202, + "ðŁij³": 148203, + "à¦ľ": 148204, + "âĺĭ": 148205, + "âĻĬ": 148206, + "ãĢĽ": 148207, + "Èĭ": 148208, + "à®°": 148209, + "áĥ¨": 148210, + "âĦķ": 148211, + "íijĢ": 148212, + "ðĿĵĥ": 148213, + "ð٦Ķ": 148214, + "Ä¿": 148215, + "ÅĢ": 148216, + "Ƴ": 148217, + "Éļ": 148218, + "Öĥ": 148219, + "Ü£": 148220, + "ߣ": 148221, + "à¦Ń": 148222, + "à§¡": 148223, + "à¶»": 148224, + "ຣ": 148225, + "à½ĩ": 148226, + "Ḩ": 148227, + "á½Ī": 148228, + "⽬": 148229, + "ê¡Ķ": 148230, + "ì³Ħ": 148231, + "ï¨ī": 148232, + "ðĿIJ¡": 148233, + "ðĿĺ¢": 148234, + "ðŁį¿": 148235, + "ðŁİŁ": 148236, + "ðŁıī": 148237, + "ðŁĶIJ": 148238, + "ðŁļħ": 148239, + "ðŁ¤½": 148240, + "Æį": 148241, + "Ç«": 148242, + "ǽ": 148243, + "Èļ": 148244, + "Îī": 148245, + "Ó¤": 148246, + "Óª": 148247, + "ÕĬ": 148248, + "Ù¼": 148249, + "Ú´": 148250, + "ßĿ": 148251, + "à¶ľ": 148252, + "á¼ķ": 148253, + "á¿¥": 148254, + "âİŀ": 148255, + "ãĢļ": 148256, + "ãī¤": 148257, + "곸": 148258, + "ê·ģ": 148259, + "ëĵĦ": 148260, + "ëĵķ": 148261, + "ì¨Ķ": 148262, + "챨": 148263, + "ðĿIJ¾": 148264, + "ðĿij»": 148265, + "ðĿͼ": 148266, + "ðĿķĿ": 148267, + "ðĿĺŃ": 148268, + "ðŁĨĻ": 148269, + "ðŁĵ¤": 148270, + "ðŁĶŁ": 148271, + "ðŁĹ¼": 148272, + "Äľ": 148273, + "Æģ": 148274, + "Æ¿": 148275, + "dz": 148276, + "Ç·": 148277, + "Éĥ": 148278, + "Éł": 148279, + "Êī": 148280, + "ʧ": 148281, + "˲": 148282, + "Ï´": 148283, + "Õģ": 148284, + "Õŀ": 148285, + "Öĩ": 148286, + "ÛĤ": 148287, + "Ûĵ": 148288, + "ßĹ": 148289, + "ߦ": 148290, + "হ": 148291, + "ள": 148292, + "à´¸": 148293, + "à»Ĥ": 148294, + "áĪĿ": 148295, + "áĪª": 148296, + "áĭµ": 148297, + "áIJĬ": 148298, + "áĴª": 148299, + "áļĸ": 148300, + "áŀĽ": 148301, + "á´¢": 148302, + "áµı": 148303, + "áµŃ": 148304, + "á¶«": 148305, + "á¸ı": 148306, + "áºĴ": 148307, + "á¼¥": 148308, + "á½ķ": 148309, + "á½¼": 148310, + "âĤĬ": 148311, + "âĦĤ": 148312, + "âĦ©": 148313, + "âĩī": 148314, + "âī£": 148315, + "âĮł": 148316, + "âİŁ": 148317, + "âı®": 148318, + "âķĺ": 148319, + "âĹĸ": 148320, + "âĺ©": 148321, + "âĻij": 148322, + "âϲ": 148323, + "âļĽ": 148324, + "ãĦŁ": 148325, + "ãī±": 148326, + "ãİļ": 148327, + "ê¡ķ": 148328, + "êªĸ": 148329, + "ê°¹": 148330, + "ê²Ĩ": 148331, + "êµĦ": 148332, + "ëĩ¬": 148333, + "ëĭ¯": 148334, + "ëıł": 148335, + "ëĴ¬": 148336, + "ëĸĪ": 148337, + "ëĸ½": 148338, + "ëĺĶ": 148339, + "ëŀ¸": 148340, + "ë¸ħ": 148341, + "뻳": 148342, + "ë¿Ł": 148343, + "ìĤµ": 148344, + "ìĬī": 148345, + "ìľ°": 148346, + "ìłĭ": 148347, + "ìłĶ": 148348, + "쥡": 148349, + "ìŃĿ": 148350, + "켬": 148351, + "íĪĩ": 148352, + "íīľ": 148353, + "íįĦ": 148354, + "íĽ¾": 148355, + "íĿ£": 148356, + "朗": 148357, + "勞": 148358, + "ï¦ľ": 148359, + "獵": 148360, + "ï§ľ": 148361, + "ï¨Ī": 148362, + "שׁ": 148363, + "הּ": 148364, + "ïѽ": 148365, + "ï®ī": 148366, + "ï¯ŀ": 148367, + "ï°Ĵ": 148368, + "ï±ĩ": 148369, + "ï¿Ħ": 148370, + "ðĿIJħ": 148371, + "ðĿijĦ": 148372, + "ðĿijº": 148373, + "ðĿĴĹ": 148374, + "ðĿĵ®": 148375, + "ðĿķĽ": 148376, + "ðĿķŀ": 148377, + "ðĿĸij": 148378, + "ðĿĺģ": 148379, + "ðĿĺĨ": 148380, + "ðĿĺ¶": 148381, + "ðĿĻ¢": 148382, + "ðĿļľ": 148383, + "ðŁĮĥ": 148384, + "ðŁĮ¦": 148385, + "ðŁįŁ": 148386, + "ðŁİİ": 148387, + "ðŁıĻ": 148388, + "ðŁIJ©": 148389, + "ðŁIJ«": 148390, + "ðŁIJ´": 148391, + "ðŁijĶ": 148392, + "ðŁĵī": 148393, + "ðŁĵĽ": 148394, + "ðŁĶī": 148395, + "ðŁĸ¼": 148396, + "ðŁĹĥ": 148397, + "ðŁĹ¯": 148398, + "ðŁļĩ": 148399, + "ðŁļIJ": 148400, + "ðŁļµ": 148401, + "ðŁ¤¶": 148402, + "ðŁ¥ĭ": 148403, + "ðŁ¥ĵ": 148404, + "ðŁ¥®": 148405, + "ð٦İ": 148406, + "ðŁ¦ł": 148407, + "ð٧Ĵ": 148408, + "ðŁ§¨": 148409, + "ÆIJ": 148410, + "Çį": 148411, + "ÓĢ": 148412, + "ÔĽ": 148413, + "ರ": 148414, + "à´Ļ": 148415, + "áĢĴ": 148416, + "ê²Ŀ": 148417, + "ê¹¹": 148418, + "ë©¥": 148419, + "ìĸĶ": 148420, + "ï¤ģ": 148421, + "ï¤ı": 148422, + "ï¦ī": 148423, + "ï¦ĵ": 148424, + "ï§ī": 148425, + "ï²Ŀ": 148426, + "ðĿĹŀ": 148427, + "ðĿű": 148428, + "ðŁĮĭ": 148429, + "ðŁį¶": 148430, + "à¦ļ": 148431, + "ìķľ": 148432, + "ðĿIJ¯": 148433, + "ðĿļĿ": 148434, + "à°¨": 148435, + "à½ĺ": 148436, + "à½ł": 148437, + "á¡¥": 148438, + "á¾°": 148439, + "âģį": 148440, + "âͰ": 148441, + "⬾": 148442, + "ðĿIJł": 148443, + "ðĿij¯": 148444, + "ðĿĹĽ": 148445, + "ðĿĵ»": 148446, + "ðĿĸĪ": 148447, + "âŀ»": 148448, + "áŀł": 148449, + "⡱": 148450, + "â»ij": 148451, + "ðŁ§µ": 148452, + "廉": 148453, + "ðŁijĺ": 148454, + "ãĤĶ": 148455, + "â¼Ł": 148456, + "ãĬ¤": 148457, + "ï¦Ŀ": 148458, + "ãĮ¦": 148459, + "â̏": 148460, + "ðŁĶĻ": 148461, + "ã¹": 148462, + "㹦": 148463, + "ï¹ħ": 148464, + "ï©Į": 148465, + "ãī¨": 148466, + "︽": 148467, + "âį¥": 148468, + "ðŁļī": 148469, + "ðŁ¥ľ": 148470, + "âĵľ": 148471, + "â»Ŀ": 148472, + "ï¨ľ": 148473, + "ðŁĴĴ": 148474, + "áĦij": 148475, + "â¾ŀ": 148476, + "ï¨ģ": 148477, + "à´ª": 148478, + "áĦİ": 148479, + "âŀ´": 148480, + "ষ": 148481, + "áħ¬": 148482, + "áŀ§": 148483, + "âĨ¢": 148484, + "âķ¦": 148485, + "âľij": 148486, + "ˬ": 148487, + "ÕIJ": 148488, + "à¼Ķ": 148489, + "ʤ": 148490, + "˨": 148491, + "à¤ŀ": 148492, + "à»ĥ": 148493, + "à¼ļ": 148494, + "âĵ¥": 148495, + "âķľ": 148496, + "ðŁIJĸ": 148497, + "á¼Ļ": 148498, + "ἤ": 148499, + "ìĨ°": 148500, + "ÈĤ": 148501, + "ʱ": 148502, + "à®ļ": 148503, + "áĥ§": 148504, + "á´ĭ": 148505, + "á´®": 148506, + "âĿ¡": 148507, + "âŀ·": 148508, + "ëĿ¡": 148509, + "ï§¢": 148510, + "ﯡ": 148511, + "ðĿķķ": 148512, + "ðŁħ°": 148513, + "ðŁ¦¸": 148514, + "Ǹ": 148515, + "Óŀ": 148516, + "Ô¶": 148517, + "ÖĨ": 148518, + "Úģ": 148519, + "Ûĭ": 148520, + "áİ¥": 148521, + "᾿": 148522, + "âĶŃ": 148523, + "âĶ®": 148524, + "êĢĢ": 148525, + "ê±ĺ": 148526, + "ëIJŃ": 148527, + "ë½Ħ": 148528, + "ìĶIJ": 148529, + "ì¸Į": 148530, + "íģł": 148531, + "íϱ": 148532, + "ï¥ī": 148533, + "ï¨ĸ": 148534, + "ðĿij´": 148535, + "ðĿĸĴ": 148536, + "ðĿĺ¨": 148537, + "ðĿļĮ": 148538, + "ðŁIJ¡": 148539, + "ðŁij¢": 148540, + "ðŁĵĶ": 148541, + "Åħ": 148542, + "Æİ": 148543, + "È©": 148544, + "Òª": 148545, + "Ôĥ": 148546, + "áĥ«": 148547, + "á¸ĩ": 148548, + "⼣": 148549, + "ê»Ń": 148550, + "ë¨Ħ": 148551, + "ìŁĢ": 148552, + "줴": 148553, + "íļIJ": 148554, + "盧": 148555, + "ðŁŁ¢": 148556, + "Ƨ": 148557, + "ȼ": 148558, + "ÊĿ": 148559, + "ËĦ": 148560, + "Ëħ": 148561, + "Ëį": 148562, + "˧": 148563, + "Ò¥": 148564, + "ÕĶ": 148565, + "Øı": 148566, + "ؼ": 148567, + "ßIJ": 148568, + "ßľ": 148569, + "à¤ĵ": 148570, + "à¦Ļ": 148571, + "à®ĵ": 148572, + "à¶´": 148573, + "à¼į": 148574, + "à¼Ĵ": 148575, + "ལ": 148576, + "áĢĤ": 148577, + "áĢĬ": 148578, + "áĦĦ": 148579, + "áĪĺ": 148580, + "áĭĬ": 148581, + "áĮį": 148582, + "áijĭ": 148583, + "áŀĤ": 148584, + "áł¢": 148585, + "á¡Ŀ": 148586, + "á´¦": 148587, + "áµį": 148588, + "ᵨ": 148589, + "ḡ": 148590, + "ḯ": 148591, + "á¼£": 148592, + "âģĤ": 148593, + "âĦĺ": 148594, + "âĦľ": 148595, + "âĦ³": 148596, + "âĦµ": 148597, + "âĨ¦": 148598, + "âĩĨ": 148599, + "âĪ·": 148600, + "âĬļ": 148601, + "âĮ«": 148602, + "âĮ¯": 148603, + "âİĽ": 148604, + "âİľ": 148605, + "âݤ": 148606, + "âݦ": 148607, + "âİ®": 148608, + "âijī": 148609, + "âĶī": 148610, + "âķĻ": 148611, + "âĸĤ": 148612, + "âĹŃ": 148613, + "âĺĬ": 148614, + "âĺį": 148615, + "âĺĴ": 148616, + "âļĨ": 148617, + "⼧": 148618, + "âĽ²": 148619, + "âŀĺ": 148620, + "â¥Ħ": 148621, + "â´³": 148622, + "â´½": 148623, + "âµĪ": 148624, + "ãī¯": 148625, + "ãİij": 148626, + "㧬": 148627, + "êϬ": 148628, + "ê§ģ": 148629, + "곬": 148630, + "ê´ŀ": 148631, + "ê»ľ": 148632, + "ëħĵ": 148633, + "ëĭ¼": 148634, + "ëįĸ": 148635, + "ëĸ±": 148636, + "ëĿ°": 148637, + "롹": 148638, + "뢴": 148639, + "ë£Ģ": 148640, + "뤳": 148641, + "ë¨ķ": 148642, + "ëŃ¥": 148643, + "ìĦ¶": 148644, + "ìħ¤": 148645, + "ìĮķ": 148646, + "ìįª": 148647, + "ìı©": 148648, + "ìĴĢ": 148649, + "ì͝": 148650, + "ìĿĶ": 148651, + "ìĿľ": 148652, + "ìłŃ": 148653, + "짦": 148654, + "쨩": 148655, + "첬": 148656, + "ì³¥": 148657, + "켯": 148658, + "íĢ«": 148659, + "íĢŃ": 148660, + "íĥ¸": 148661, + "íĵģ": 148662, + "íķ¬": 148663, + "íŸ": 148664, + "íĽķ": 148665, + "íľŃ": 148666, + "íĿĹ": 148667, + "ï¤Į": 148668, + "浪": 148669, + "ï§¿": 148670, + "ï¬Ħ": 148671, + "ï¬ħ": 148672, + "ïŃij": 148673, + "ïŃ«": 148674, + "ïŃº": 148675, + "ï®Ĥ": 148676, + "ﮢ": 148677, + "ﮨ": 148678, + "ï°İ": 148679, + "ï°ł": 148680, + "ï²£": 148681, + "ï³IJ": 148682, + "ï³Ĵ": 148683, + "ï³ĺ": 148684, + "ï³ľ": 148685, + "ï¹¼": 148686, + "│": 148687, + "ðĿIJ©": 148688, + "ðĿĴļ": 148689, + "ðĿķĶ": 148690, + "ðĿķ¤": 148691, + "ðĿĸĮ": 148692, + "ðĿĹ£": 148693, + "ðĿŰ": 148694, + "ðĿĹ´": 148695, + "ðĿĺĤ": 148696, + "ðĿĺ¥": 148697, + "ðĿĺ®": 148698, + "ðĿĺ¸": 148699, + "ðĿĻĢ": 148700, + "ðĿĽ¾": 148701, + "ðĿľı": 148702, + "ðŁĮģ": 148703, + "ðŁĮľ": 148704, + "ðŁĮ¥": 148705, + "ðŁĮ¯": 148706, + "ðŁįIJ": 148707, + "ðŁİĴ": 148708, + "ðŁıĶ": 148709, + "ðŁıķ": 148710, + "ðŁı®": 148711, + "ðŁIJĤ": 148712, + "ðŁIJī": 148713, + "ðŁIJ¹": 148714, + "ðŁĶķ": 148715, + "ðŁĶļ": 148716, + "ðŁķij": 148717, + "ðŁķ£": 148718, + "ðŁĹŀ": 148719, + "ðŁĹ¡": 148720, + "ðŁĹ¿": 148721, + "ðŁļĨ": 148722, + "ðŁļĬ": 148723, + "ðŁļĵ": 148724, + "ðŁļķ": 148725, + "ðŁļ¾": 148726, + "ðŁĽģ": 148727, + "ðŁĽİ": 148728, + "ðŁĽı": 148729, + "ðŁ¤´": 148730, + "ðŁ¥ķ": 148731, + "ðŁ¥ĸ": 148732, + "ðŁ¥ł": 148733, + "ðŁ¥¥": 148734, + "ð٦Ĩ": 148735, + "ð٦ī": 148736, + "ð٦ļ": 148737, + "ð٧ij": 148738, + "ðŁ§¥": 148739, + "ðŁ§¿": 148740, + "Ű": 148741, + "ƺ": 148742, + "ɧ": 148743, + "àªĩ": 148744, + "ண": 148745, + "áĪĪ": 148746, + "áĬ¤": 148747, + "áĭ®": 148748, + "áĮĪ": 148749, + "áĮµ": 148750, + "ᥲ": 148751, + "âĵŁ": 148752, + "êϳ": 148753, + "ê°Ĭ": 148754, + "ëķģ": 148755, + "ëķ¨": 148756, + "ìĬģ": 148757, + "例": 148758, + "גּ": 148759, + "ðĿĸį": 148760, + "ðĿĺĮ": 148761, + "ðĿĺ³": 148762, + "ðĿĻ©": 148763, + "ðŁįĻ": 148764, + "ðŁĸĸ": 148765, + "áī³": 148766, + "áĭ¨": 148767, + "áĸĩ": 148768, + "áŀĮ": 148769, + "á¹§": 148770, + "âķª": 148771, + "âŀļ": 148772, + "â²ĺ": 148773, + "êķ": 148774, + "êķ¥": 148775, + "路": 148776, + "ﮣ": 148777, + "ï¯ł": 148778, + "ðĿĴĸ": 148779, + "ðĿķĺ": 148780, + "ðĿĸĩ": 148781, + "ðĿĹŁ": 148782, + "ðĿĹª": 148783, + "ðĿĹ¯": 148784, + "ðĿĻł": 148785, + "ðŁĵı": 148786, + "à¦Ĺ": 148787, + "âĴ»": 148788, + "â²ł": 148789, + "ðĿĵµ": 148790, + "Ê£": 148791, + "à°ľ": 148792, + "áĬ¢": 148793, + "áŀIJ": 148794, + "ḷ": 148795, + "âĦĽ": 148796, + "âĩĢ": 148797, + "âĩĬ": 148798, + "êĴ¦": 148799, + "ê¦ł": 148800, + "ﮤ": 148801, + "ðŁįĽ": 148802, + "ðŁ¤Ľ": 148803, + "ᨾ": 148804, + "âŀº": 148805, + "áķ¯": 148806, + "áĽı": 148807, + "âĩĤ": 148808, + "â͹": 148809, + "âĻĹ": 148810, + "ðŁĸ¨": 148811, + "ê¦ı": 148812, + "ર": 148813, + "áļ¨": 148814, + "ðŁ¤¥": 148815, + "ðŁ§¢": 148816, + "ãIJĤ": 148817, + "ãĦ¥": 148818, + "ðŁĸĮ": 148819, + "â¼Ĵ": 148820, + "ãĬ§": 148821, + "âį©": 148822, + "ð٦ij": 148823, + "âĶ·": 148824, + "ï©IJ": 148825, + "ï©¡": 148826, + "ðĵĪ": 148827, + "ðĵĪĴ": 148828, + "â»Ħ": 148829, + "ï¨Ĵ": 148830, + "âĦª": 148831, + "Ò§": 148832, + "ÚĮ": 148833, + "â̶": 148834, + "âºł": 148835, + "â»ģ": 148836, + "âĨ¸": 148837, + "áĦIJ": 148838, + "ãħIJ": 148839, + "à»Ħ": 148840, + "áĹª": 148841, + "âĨ¼": 148842, + "âĩĭ": 148843, + "âĩĺ": 148844, + "âĮij": 148845, + "âĸ©": 148846, + "ðĿIJĹ": 148847, + "ÄĬ": 148848, + "à¦ī": 148849, + "ìīł": 148850, + "ɤ": 148851, + "ßį": 148852, + "ßı": 148853, + "áµĹ": 148854, + "âĤ¥": 148855, + "âĵī": 148856, + "âĶł": 148857, + "â͍": 148858, + "âķĦ": 148859, + "ä¤": 148860, + "ä¤Ģ": 148861, + "껸": 148862, + "ï®ģ": 148863, + "ðĵĤ": 148864, + "ðĵĤĥ": 148865, + "ð٦ķ": 148866, + "ÆĽ": 148867, + "à¦ĩ": 148868, + "ãıĺ": 148869, + "﮼": 148870, + "Úĵ": 148871, + "ÚĿ": 148872, + "à¦ĵ": 148873, + "ද": 148874, + "á´ħ": 148875, + "á½Ļ": 148876, + "âģ¼": 148877, + "âĸİ": 148878, + "⼩": 148879, + "äĶ": 148880, + "äĶĢ": 148881, + "뻡": 148882, + "ìĽ½": 148883, + "íģĦ": 148884, + "良": 148885, + "ï±ī": 148886, + "ï¹»": 148887, + "ðĿĸĭ": 148888, + "ðĿĻĪ": 148889, + "ðĿĻª": 148890, + "ðĿ϶": 148891, + "ðŁIJĦ": 148892, + "ðŁIJĨ": 148893, + "áİ¢": 148894, + "á¸Į": 148895, + "âĿ´": 148896, + "ðŁı¸": 148897, + "ÈĿ": 148898, + "ɸ": 148899, + "Îħ": 148900, + "Ïľ": 148901, + "Ó¢": 148902, + "Õ¹": 148903, + "à´ħ": 148904, + "àºĪ": 148905, + "áĭ°": 148906, + "áijİ": 148907, + "áłµ": 148908, + "á¡ł": 148909, + "á´ī": 148910, + "ḵ": 148911, + "á¿´": 148912, + "âĵ£": 148913, + "âͶ": 148914, + "⽯": 148915, + "ê²¥": 148916, + "ê¿ĺ": 148917, + "ëģİ": 148918, + "ëİĪ": 148919, + "ë͝": 148920, + "ë²°": 148921, + "ìĺ¯": 148922, + "ìĽ¸": 148923, + "ìŀĹ": 148924, + "ì§ĺ": 148925, + "쬬": 148926, + "ì·¬": 148927, + "íģħ": 148928, + "íĵĶ": 148929, + "íĽĿ": 148930, + "冷": 148931, + "魯": 148932, + "沈": 148933, + "ï¯ĸ": 148934, + "ðĿĵħ": 148935, + "ðĿĻĦ": 148936, + "ðŁĵ¶": 148937, + "ðŁĹĴ": 148938, + "ðŁ¥Ķ": 148939, + "ðŁ¥Ń": 148940, + "Å®": 148941, + "Å´": 148942, + "Æī": 148943, + "Æ«": 148944, + "Çģ": 148945, + "Ç£": 148946, + "Ǻ": 148947, + "Ǽ": 148948, + "Èį": 148949, + "ȯ": 148950, + "Éľ": 148951, + "ʬ": 148952, + "Ëģ": 148953, + "ˤ": 148954, + "˵": 148955, + "ÏĽ": 148956, + "Ò¤": 148957, + "Ò¬": 148958, + "Óı": 148959, + "ÓĽ": 148960, + "Ó¡": 148961, + "Ó³": 148962, + "ÔĮ": 148963, + "Ô¬": 148964, + "Õ³": 148965, + "Ù»": 148966, + "Úī": 148967, + "Ú§": 148968, + "Üľ": 148969, + "ߪ": 148970, + "à¤Ŀ": 148971, + "à¦Ľ": 148972, + "à¨Ĩ": 148973, + "àªķ": 148974, + "ડ": 148975, + "à®İ": 148976, + "à°¬": 148977, + "ൻ": 148978, + "ർ": 148979, + "à¶ł": 148980, + "à¶Ń": 148981, + "à¶¶": 148982, + "à·Ĩ": 148983, + "༽": 148984, + "áĢļ": 148985, + "áħ¢": 148986, + "áĨ¸": 148987, + "áĪĢ": 148988, + "áĪķ": 148989, + "áΰ": 148990, + "áī¡": 148991, + "áī¤": 148992, + "áĬ¦": 148993, + "áĬ«": 148994, + "áĭĭ": 148995, + "áĭį": 148996, + "áݯ": 148997, + "áijŃ": 148998, + "áķĹ": 148999, + "᣼": 149000, + "á¥Ĵ": 149001, + "á©ī": 149002, + "áŃº": 149003, + "á´¡": 149004, + "áµĺ": 149005, + "ᵼ": 149006, + "á¶ł": 149007, + "á¸ģ": 149008, + "á¸ĭ": 149009, + "á¹Ļ": 149010, + "á¹Ŀ": 149011, + "Ṧ": 149012, + "áºħ": 149013, + "á¼Ĥ": 149014, + "á½ĥ": 149015, + "á½į": 149016, + "á½§": 149017, + "á¾·": 149018, + "â̵": 149019, + "âĤİ": 149020, + "âĦĿ": 149021, + "âħĢ": 149022, + "âĨŀ": 149023, + "âĨ§": 149024, + "âĩħ": 149025, + "âĪĥ": 149026, + "âīı": 149027, + "âī½": 149028, + "âĬŀ": 149029, + "âĬ¡": 149030, + "âĬ§": 149031, + "âĬ¶": 149032, + "âĭĦ": 149033, + "âİĴ": 149034, + "âİ¡": 149035, + "âİ£": 149036, + "âݪ": 149037, + "âıİ": 149038, + "âĵĥ": 149039, + "âĵĸ": 149040, + "âĵ¨": 149041, + "âķĭ": 149042, + "âķĸ": 149043, + "âķ¢": 149044, + "âķ²": 149045, + "âĸĨ": 149046, + "âĸĬ": 149047, + "âĸį": 149048, + "âĸ®": 149049, + "âĺ¡": 149050, + "âĺ¦": 149051, + "âĺ±": 149052, + "âĺ¿": 149053, + "âĻĺ": 149054, + "âĻĿ": 149055, + "âļ°": 149056, + "âĽij": 149057, + "âŀª": 149058, + "â¤Ŀ": 149059, + "⤢": 149060, + "⤷": 149061, + "â§«": 149062, + "â¨Ń": 149063, + "⨯": 149064, + "â±£": 149065, + "â²İ": 149066, + "⵼": 149067, + "ãħĶ": 149068, + "ãĪı": 149069, + "ãī²": 149070, + "ãī³": 149071, + "ãĬij": 149072, + "ãĭĽ": 149073, + "ãİIJ": 149074, + "겤": 149075, + "ê·¿": 149076, + "ê¹ŀ": 149077, + "껨": 149078, + "ê¼į": 149079, + "꿸": 149080, + "ëĥ¬": 149081, + "ëĩIJ": 149082, + "ëĭł": 149083, + "ëį¯": 149084, + "ëĹĮ": 149085, + "ëĹij": 149086, + "ë¥Ģ": 149087, + "ëªĥ": 149088, + "몯": 149089, + "뱡": 149090, + "ë³ĵ": 149091, + "ë³½": 149092, + "뵾": 149093, + "ìĤ³": 149094, + "ìħ¥": 149095, + "ìĩ½": 149096, + "ìı¨": 149097, + "ìı¸": 149098, + "ìķį": 149099, + "ìĸĸ": 149100, + "ìŁ¨": 149101, + "ì¢ĥ": 149102, + "ì¢į": 149103, + "ì¥ij": 149104, + "ì§¼": 149105, + "ì©ĥ": 149106, + "ì®ľ": 149107, + "쮸": 149108, + "ì³ij": 149109, + "ì´¥": 149110, + "ì¾ĥ": 149111, + "íħ¦": 149112, + "íĪ¿": 149113, + "íĵ½": 149114, + "íķ³": 149115, + "íĸı": 149116, + "íĹł": 149117, + "íĿ«": 149118, + "ï¤ĵ": 149119, + "ï¤ĺ": 149120, + "ï¥İ": 149121, + "略": 149122, + "ï¦ħ": 149123, + "尿": 149124, + "ï§ĩ": 149125, + "ï¬Ĩ": 149126, + "דּ": 149127, + "ï®ĩ": 149128, + "ï®Ī": 149129, + "ï®Ŀ": 149130, + "ﮩ": 149131, + "ï®±": 149132, + "ï¯ĺ": 149133, + "ï¯Ļ": 149134, + "ﯢ": 149135, + "ﯣ": 149136, + "ﯤ": 149137, + "ﯥ": 149138, + "ï±Ĥ": 149139, + "ï²Ĩ": 149140, + "ﲪ": 149141, + "ï´¼": 149142, + "ïºī": 149143, + "ïºĬ": 149144, + "ﺥ": 149145, + "ðĿij¨": 149146, + "ðĿij©": 149147, + "ðĿij²": 149148, + "ðĿĴĮ": 149149, + "ðĿĴª": 149150, + "ðĿĴ®": 149151, + "ðĿĵĤ": 149152, + "ðĿĵĪ": 149153, + "ðĿĵ¯": 149154, + "ðĿ͍": 149155, + "ðĿķĢ": 149156, + "ðĿķĨ": 149157, + "ðĿķ¦": 149158, + "ðĿķ§": 149159, + "ðĿķ«": 149160, + "ðĿķ·": 149161, + "ðĿŵ": 149162, + "ðĿŸ": 149163, + "ðĿĺĦ": 149164, + "ðĿĺĻ": 149165, + "ðĿĺł": 149166, + "ðĿĺ¬": 149167, + "ðĿĻį": 149168, + "ðĿĻij": 149169, + "ðĿĻ¡": 149170, + "ðĿύ": 149171, + "ðĿĻ·": 149172, + "ðĿļį": 149173, + "ðĿĽ¿": 149174, + "ðŁĥ": 149175, + "ðŁĥı": 149176, + "ðŁħĺ": 149177, + "ðŁī": 149178, + "ðŁīij": 149179, + "ðŁİ¡": 149180, + "ðŁİª": 149181, + "ðŁİ±": 149182, + "ðŁİ³": 149183, + "ðŁİº": 149184, + "ðŁıİ": 149185, + "ðŁıĹ": 149186, + "ðŁıļ": 149187, + "ðŁıŀ": 149188, + "ðŁı¦": 149189, + "ðŁı§": 149190, + "ðŁIJģ": 149191, + "ðŁIJħ": 149192, + "ðŁIJĵ": 149193, + "ðŁĴĤ": 149194, + "ðŁĵij": 149195, + "ðŁĵĵ": 149196, + "ðŁĵ¨": 149197, + "ðŁĵ«": 149198, + "ðŁĶĭ": 149199, + "ðŁĶŃ": 149200, + "ðŁĶ¯": 149201, + "ðŁķĹ": 149202, + "ðŁļĤ": 149203, + "ðŁļ¢": 149204, + "ðŁļ¦": 149205, + "ðŁļ¬": 149206, + "ðŁĽĭ": 149207, + "ðŁĽĮ": 149208, + "ðŁĽ¬": 149209, + "ðŁĽ¶": 149210, + "ðŁŁ¡": 149211, + "ðŁ¥ĺ": 149212, + "ðŁ¥Ł": 149213, + "ðŁ¥¦": 149214, + "ð٦ĩ": 149215, + "ð٦Ī": 149216, + "ð٧Ĭ": 149217, + "ð٧Ĺ": 149218, + "ðŁ§¤": 149219, + "Ê·": 149220, + "˹": 149221, + "á¹ļ": 149222, + "á½¥": 149223, + "âĦŁ": 149224, + "겯": 149225, + "껫": 149226, + "ë°·": 149227, + "ìĥĨ": 149228, + "ìĽĿ": 149229, + "ì¨ī": 149230, + "ì«ı": 149231, + "ï¯ķ": 149232, + "ðĿľĭ": 149233, + "ɲ": 149234, + "ÒŃ": 149235, + "ÓĪ": 149236, + "à½Ľ": 149237, + "áĭĵ": 149238, + "áĻŃ": 149239, + "áł©": 149240, + "á¹®": 149241, + "âĦĴ": 149242, + "âĨ»": 149243, + "âµĥ": 149244, + "ë̍": 149245, + "ëł§": 149246, + "ìī¥": 149247, + "ìĮľ": 149248, + "ìŶ": 149249, + "ì¨Ī": 149250, + "쪾": 149251, + "íı½": 149252, + "íļĶ": 149253, + "íĽµ": 149254, + "露": 149255, + "ï¦IJ": 149256, + "ï§Ĺ": 149257, + "ï§ļ": 149258, + "אָ": 149259, + "ðĿIJĬ": 149260, + "ðĿķĹ": 149261, + "ðĿĹļ": 149262, + "ðĿļĸ": 149263, + "ðŁħ´": 149264, + "Èĥ": 149265, + "ÉĿ": 149266, + "ϱ": 149267, + "ÓĹ": 149268, + "ढ": 149269, + "áħł": 149270, + "áī¦": 149271, + "áijĮ": 149272, + "áĴ¼": 149273, + "áŀ¡": 149274, + "᳨": 149275, + "áłŃ": 149276, + "á¨ħ": 149277, + "á¨Ķ": 149278, + "á´ĺ": 149279, + "ᶦ": 149280, + "á¸İ": 149281, + "á¼ħ": 149282, + "á¼¹": 149283, + "âĨ¯": 149284, + "âĵİ": 149285, + "ãıĮ": 149286, + "êī": 149287, + "êīĤ": 149288, + "ëĨ§": 149289, + "ëĿ±": 149290, + "좡": 149291, + "íν": 149292, + "ï¤ĩ": 149293, + "ï¤Ľ": 149294, + "ðĿIJķ": 149295, + "ðĿĵ¸": 149296, + "ðĿĵ¼": 149297, + "ðĿĹķ": 149298, + "ðĿĺĪ": 149299, + "ðŁı£": 149300, + "ðŁı¤": 149301, + "ðŁĹĦ": 149302, + "Ñ·": 149303, + "Òł": 149304, + "áµĸ": 149305, + "Ἠ": 149306, + "ë¬Ħ": 149307, + "ï°´": 149308, + "âν": 149309, + "ÕŃ": 149310, + "Ú¹": 149311, + "à¥Ł": 149312, + "áĢĨ": 149313, + "áŀĴ": 149314, + "ã̶": 149315, + "ꦫ": 149316, + "ï¸ĵ": 149317, + "ðĿIJĽ": 149318, + "ðĿĺĹ": 149319, + "ðŁıľ": 149320, + "ì«Ń": 149321, + "ð٧ŀ": 149322, + "à½Ĥ": 149323, + "âĨ¿": 149324, + "âĩı": 149325, + "âĵģ": 149326, + "âͧ": 149327, + "âķģ": 149328, + "âķ¤": 149329, + "ê¦Ĺ": 149330, + "ꦤ": 149331, + "ðŁıĪ": 149332, + "áŀķ": 149333, + "Ô½": 149334, + "àªĹ": 149335, + "à¬Ĩ": 149336, + "âķķ": 149337, + "ï½ł": 149338, + "⼦": 149339, + "⼯": 149340, + "â¾·": 149341, + "âĶĸ": 149342, + "à¬ĵ": 149343, + "âĺĹ": 149344, + "âįĭ": 149345, + "ï¨Ŀ": 149346, + "â¼¥": 149347, + "寧": 149348, + "âĦĬ": 149349, + "ãĢ´": 149350, + "âį¢": 149351, + "ð¡Ī": 149352, + "ð¡Ī½": 149353, + "難": 149354, + "ãĢ»": 149355, + "ãıĥ": 149356, + "說": 149357, + "ï¨ĺ": 149358, + "ðŁIJĥ": 149359, + "ðŁĨĸ": 149360, + "ðŁĹ¾": 149361, + "ãĦĩ": 149362, + "Þĭ": 149363, + "â¼¼": 149364, + "ï¨Ń": 149365, + "ÞĢ": 149366, + "ÞĦ": 149367, + "ÞĪ": 149368, + "ÞIJ": 149369, + "âĮĦ": 149370, + "â»ĺ": 149371, + "ãŁ¢": 149372, + "áħ§": 149373, + "ðIJĮ¿": 149374, + "Ë»": 149375, + "à²Ĺ": 149376, + "áĢĩ": 149377, + "áŀĬ": 149378, + "âķĩ": 149379, + "ãĩ¼": 149380, + "ãݰ": 149381, + "ÕĴ": 149382, + "ÜĪ": 149383, + "ߥ": 149384, + "à¿IJ": 149385, + "áĢŁ": 149386, + "âĨ¥": 149387, + "âķĮ": 149388, + "â½Ģ": 149389, + "â½°": 149390, + "â¾Ĭ": 149391, + "äĦ": 149392, + "äĦĢ": 149393, + "ðĵIJ": 149394, + "ðĵIJį": 149395, + "ðŁİ¦": 149396, + "âĤ¯": 149397, + "âĬĺ": 149398, + "âĦį": 149399, + "ʵ": 149400, + "Ѷ": 149401, + "Úĥ": 149402, + "à¦Ķ": 149403, + "à´¦": 149404, + "áݶ": 149405, + "áĵķ": 149406, + "Ṩ": 149407, + "âĤł": 149408, + "âĩ°": 149409, + "âĹĴ": 149410, + "â¿Ĭ": 149411, + "ê·±": 149412, + "ì¹ķ": 149413, + "íĪ©": 149414, + "ïŃĢ": 149415, + "ðĿĴ¸": 149416, + "ðĿĵĬ": 149417, + "ðĿĺ©": 149418, + "Ǧ": 149419, + "É«": 149420, + "áĬ¨": 149421, + "ȹ": 149422, + "ʯ": 149423, + "Ϊ": 149424, + "ÚĢ": 149425, + "áĮ¸": 149426, + "áİ»": 149427, + "áıķ": 149428, + "áı´": 149429, + "á²Ĥ": 149430, + "Ὠ": 149431, + "âıĿ": 149432, + "âĺĻ": 149433, + "ëĥ¨": 149434, + "ëĦ¼": 149435, + "ëĪĻ": 149436, + "ë£ħ": 149437, + "ìͼ": 149438, + "ìķĿ": 149439, + "ìļ¬": 149440, + "ìľ±": 149441, + "ï¥Ĥ": 149442, + "惡": 149443, + "יּ": 149444, + "ïŃģ": 149445, + "ï³Ī": 149446, + "ðĿĶħ": 149447, + "ðĿĺ¤": 149448, + "ðĿĻı": 149449, + "ðĿĻĻ": 149450, + "ðŁķī": 149451, + "ð٧Ļ": 149452, + "á¸ij": 149453, + "ê´¼": 149454, + "ëģį": 149455, + "ëĹ´": 149456, + "ëĿ³": 149457, + "ë°ŀ": 149458, + "ë°¢": 149459, + "ëµĺ": 149460, + "ìĤĶ": 149461, + "ìĦĦ": 149462, + "ì¼ļ": 149463, + "íĢł": 149464, + "íĬ±": 149465, + "íĮĸ": 149466, + "ï¤ij": 149467, + "領": 149468, + "隸": 149469, + "ï´į": 149470, + "ðĿĺ·": 149471, + "Ĭ": 149472, + "Ŭ": 149473, + "ÆĢ": 149474, + "Æĭ": 149475, + "Æľ": 149476, + "Çij": 149477, + "Çĺ": 149478, + "Çŀ": 149479, + "Ç¥": 149480, + "Ç®": 149481, + "ɰ": 149482, + "ɶ": 149483, + "É·": 149484, + "ɽ": 149485, + "ÊĪ": 149486, + "ÊIJ": 149487, + "Ëİ": 149488, + "ËŁ": 149489, + "˦": 149490, + "˯": 149491, + "ÏIJ": 149492, + "Ïĵ": 149493, + "Ï¢": 149494, + "Ϥ": 149495, + "Ϫ": 149496, + "ÏŃ": 149497, + "Ï®": 149498, + "Ï»": 149499, + "Ñł": 149500, + "ÑŃ": 149501, + "Ò¨": 149502, + "ÓĿ": 149503, + "Ô¡": 149504, + "Ô·": 149505, + "Õī": 149506, + "Õĵ": 149507, + "Õĸ": 149508, + "Õļ": 149509, + "ÕĿ": 149510, + "Öİ": 149511, + "Ø¿": 149512, + "Úħ": 149513, + "Úį": 149514, + "ÚĶ": 149515, + "ÛĬ": 149516, + "Û¾": 149517, + "ÜĻ": 149518, + "ÝĴ": 149519, + "Ýĺ": 149520, + "ßĴ": 149521, + "ßĸ": 149522, + "à¤Ĭ": 149523, + "à¤IJ": 149524, + "à¦ı": 149525, + "à¦ĸ": 149526, + "à§Ł": 149527, + "મ": 149528, + "હ": 149529, + "à®ħ": 149530, + "à®Ĩ": 149531, + "à°¡": 149532, + "à°°": 149533, + "à²ļ": 149534, + "ಮ": 149535, + "ಯ": 149536, + "à´Ł": 149537, + "à´·": 149538, + "ൾ": 149539, + "à¶ij": 149540, + "à¶ŀ": 149541, + "༼": 149542, + "à½ĵ": 149543, + "áĢĵ": 149544, + "áĤ¦": 149545, + "áĥĸ": 149546, + "áĥŃ": 149547, + "áĥ¯": 149548, + "áħ¨": 149549, + "áħª": 149550, + "áĨ°": 149551, + "áĪģ": 149552, + "áĪİ": 149553, + "áĪĵ": 149554, + "áĪ¥": 149555, + "áβ": 149556, + "áĪ´": 149557, + "áĪ»": 149558, + "áīł": 149559, + "áī²": 149560, + "áī¶": 149561, + "áĬ£": 149562, + "áĬ¥": 149563, + "áĬª": 149564, + "áĭĺ": 149565, + "áĭ²": 149566, + "áĭ¶": 149567, + "áĮ£": 149568, + "áį¡": 149569, + "áį£": 149570, + "áݬ": 149571, + "áݾ": 149572, + "áIJ¡": 149573, + "áķķ": 149574, + "áĸ±": 149575, + "áĹIJ": 149576, + "áĹŃ": 149577, + "áĺī": 149578, + "áļ±": 149579, + "ἣ": 149580, + "áŀ¥": 149581, + "áŁĶ": 149582, + "áł£": 149583, + "áłª": 149584, + "áł°": 149585, + "áł´": 149586, + "á¤ĸ": 149587, + "ᥣ": 149588, + "á®": 149589, + "᮳": 149590, + "á¯": 149591, + "á¯Ļ": 149592, + "á°": 149593, + "á°į": 149594, + "á´Ĭ": 149595, + "á´¾": 149596, + "áµģ": 149597, + "áµİ": 149598, + "áµŀ": 149599, + "ᵤ": 149600, + "á¶ħ": 149601, + "á¶ĺ": 149602, + "á¶Ł": 149603, + "á¶¢": 149604, + "ᶤ": 149605, + "á¶±": 149606, + "á¶»": 149607, + "á¸ī": 149608, + "á¸ŀ": 149609, + "Ḻ": 149610, + "á¹ĵ": 149611, + "á¹Ĺ": 149612, + "Ṫ": 149613, + "áºĬ": 149614, + "áºı": 149615, + "áºĽ": 149616, + "á¼ĥ": 149617, + "á¼Į": 149618, + "Ἷ": 149619, + "á½Ĥ": 149620, + "á½ĵ": 149621, + "á½Ĺ": 149622, + "ὦ": 149623, + "á¾±": 149624, + "á¾´": 149625, + "á¿ĺ": 149626, + "á¿Ł": 149627, + "Ὸ": 149628, + "âģĺ": 149629, + "âĤij": 149630, + "âĤĽ": 149631, + "âĤ¿": 149632, + "âĦĩ": 149633, + "âĦŀ": 149634, + "âĦ±": 149635, + "âĩŁ": 149636, + "âĩ²": 149637, + "âΤ": 149638, + "âζ": 149639, + "âīĤ": 149640, + "âī¾": 149641, + "âĬ¨": 149642, + "âĬ³": 149643, + "âĬ·": 149644, + "âĭĮ": 149645, + "âĭĺ": 149646, + "âĮķ": 149647, + "âĮ¥": 149648, + "âĮµ": 149649, + "âĮº": 149650, + "âį£": 149651, + "âį²": 149652, + "âįµ": 149653, + "âİĩ": 149654, + "âıĥ": 149655, + "âıIJ": 149656, + "âıł": 149657, + "âı¤": 149658, + "âı¶": 149659, + "âı¸": 149660, + "âı¹": 149661, + "âijĤ": 149662, + "âĴ·": 149663, + "âĴº": 149664, + "âĵ¡": 149665, + "âĵ¤": 149666, + "â;": 149667, + "âĸĺ": 149668, + "âĸµ": 149669, + "âĹª": 149670, + "âĹ·": 149671, + "âĺ¨": 149672, + "âĺ«": 149673, + "âĺ²": 149674, + "âĺ³": 149675, + "âĻĨ": 149676, + "âļ¤": 149677, + "âļ¥": 149678, + "âĽĵ": 149679, + "⼴": 149680, + "âĽ¾": 149681, + "âŀ«": 149682, + "âŀ¿": 149683, + "⣷": 149684, + "â¤ij": 149685, + "⤫": 149686, + "⤶": 149687, + "⤽": 149688, + "⧪": 149689, + "â¨Ģ": 149690, + "⩽": 149691, + "⬡": 149692, + "⬢": 149693, + "⬤": 149694, + "â²ĸ": 149695, + "Ⲫ": 149696, + "âµĢ": 149697, + "⸮": 149698, + "⸽": 149699, + "ãĢł": 149700, + "ãĢ·": 149701, + "ãĦĮ": 149702, + "ãĦĺ": 149703, + "ãħij": 149704, + "ãĪİ": 149705, + "ãĪIJ": 149706, + "ãĬľ": 149707, + "ãĮĵ": 149708, + "ãĮł": 149709, + "ãİŁ": 149710, + "ãݤ": 149711, + "ãݧ": 149712, + "㬮": 149713, + "äĪ": 149714, + "äĪĢ": 149715, + "ä°": 149716, + "ä°Ģ": 149717, + "êħ": 149718, + "êħī": 149719, + "êĩĹ": 149720, + "êĪ": 149721, + "êĪį": 149722, + "ê§Ĥ": 149723, + "ê§Ĭ": 149724, + "êªĢ": 149725, + "ê²Ī": 149726, + "ê²į": 149727, + "ê³Ģ": 149728, + "êµł": 149729, + "ê½IJ": 149730, + "ê¾Ī": 149731, + "꿱": 149732, + "ëĥı": 149733, + "ëĦij": 149734, + "ëħ¤": 149735, + "ëĩ¸": 149736, + "ëμ": 149737, + "ëīħ": 149738, + "ëĬ£": 149739, + "ëĭº": 149740, + "ëįŀ": 149741, + "ëIJĮ": 149742, + "ëķ¸": 149743, + "ëĺł": 149744, + "ëĻĩ": 149745, + "ëĻĪ": 149746, + "ëľ½": 149747, + "ëŀĶ": 149748, + "ëłľ": 149749, + "ë£IJ": 149750, + "ë§Ģ": 149751, + "ë§Ĭ": 149752, + "ëªĢ": 149753, + "ë¬Ń": 149754, + "믾": 149755, + "ë³ľ": 149756, + "ë´Ĭ": 149757, + "ëµī": 149758, + "ë·ľ": 149759, + "ë¸Ģ": 149760, + "ë¹ĭ": 149761, + "ìģĦ": 149762, + "ìĤ£": 149763, + "ìĤ»": 149764, + "ìĦµ": 149765, + "ìħĴ": 149766, + "ìīĪ": 149767, + "ìīĶ": 149768, + "ìĬĮ": 149769, + "ìĬĻ": 149770, + "ìIJ´": 149771, + "ìĵº": 149772, + "ìķļ": 149773, + "ìķº": 149774, + "ìĸľ": 149775, + "ìĹª": 149776, + "ìĺľ": 149777, + "ìϤ": 149778, + "ìļĽ": 149779, + "ìļº": 149780, + "ìĿħ": 149781, + "ìĿı": 149782, + "ìĿŃ": 149783, + "ìĿ¶": 149784, + "ìłĽ": 149785, + "ì¡Ī": 149786, + "ì¢ī": 149787, + "ì¢Ķ": 149788, + "ì©ł": 149789, + "ìŃĮ": 149790, + "쯩": 149791, + "ì´£": 149792, + "ì¸ķ": 149793, + "ì¹Ł": 149794, + "쾡": 149795, + "ì¿Ļ": 149796, + "íģĩ": 149797, + "íģī": 149798, + "íĩĢ": 149799, + "íζ": 149800, + "íĸij": 149801, + "íĸ¤": 149802, + "íĹħ": 149803, + "íľı": 149804, + "íĿĿ": 149805, + "ï¤Ĵ": 149806, + "ï¤ķ": 149807, + "郎": 149808, + "ï¥ħ": 149809, + "ï¥ĩ": 149810, + "ï¥ı": 149811, + "ï¥ļ": 149812, + "ï¥Ł": 149813, + "ï¦Ħ": 149814, + "ï¦Ī": 149815, + "令": 149816, + "囹": 149817, + "零": 149818, + "ï§ģ": 149819, + "ï§ĥ": 149820, + "ï§Ķ": 149821, + "ï§ł": 149822, + "ï§£": 149823, + "ï§®": 149824, + "ïŃIJ": 149825, + "ïŃĸ": 149826, + "ïѦ": 149827, + "ïŃ´": 149828, + "ïѵ": 149829, + "ïѶ": 149830, + "ïѸ": 149831, + "ï®Į": 149832, + "ï®İ": 149833, + "ï®ŀ": 149834, + "ï®Ł": 149835, + "ﮡ": 149836, + "ﮪ": 149837, + "ï¯Ķ": 149838, + "ï¯Ĺ": 149839, + "ï¯ļ": 149840, + "ï¯Ľ": 149841, + "ï¯Ŀ": 149842, + "ï¯Ł": 149843, + "ﯧ": 149844, + "ﯨ": 149845, + "ﯫ": 149846, + "ﯯ": 149847, + "ﯰ": 149848, + "ﯱ": 149849, + "ﯲ": 149850, + "ﯳ": 149851, + "ﯴ": 149852, + "ﯵ": 149853, + "ﯶ": 149854, + "ï°Ģ": 149855, + "ï±ħ": 149856, + "ï±Ķ": 149857, + "ï±´": 149858, + "ï²ģ": 149859, + "ï³ķ": 149860, + "ï·½": 149861, + "ï¸ķ": 149862, + "︱": 149863, + "ï¹£": 149864, + "ï¹½": 149865, + "ï»į": 149866, + "ï¾±": 149867, + "ðĿIJĻ": 149868, + "ðĿIJ½": 149869, + "ðĿij¤": 149870, + "ðĿij®": 149871, + "ðĿijµ": 149872, + "ðĿĴĥ": 149873, + "ðĿĴĦ": 149874, + "ðĿĵŃ": 149875, + "ðĿĵ·": 149876, + "ðĿĶĸ": 149877, + "ðĿĶŀ": 149878, + "ðĿĶ¢": 149879, + "ðĿͦ": 149880, + "ðĿͬ": 149881, + "ðĿķĦ": 149882, + "ðĿķĬ": 149883, + "ðĿķİ": 149884, + "ðĿķĻ": 149885, + "ðĿķľ": 149886, + "ðĿķŃ": 149887, + "ðĿķ³": 149888, + "ðĿķ¸": 149889, + "ðĿķ¾": 149890, + "ðĿĸī": 149891, + "ðĿĸı": 149892, + "ðĿĺĩ": 149893, + "ðĿĺī": 149894, + "ðĿĺĸ": 149895, + "ðĿĺĽ": 149896, + "ðĿĺŀ": 149897, + "ðĿĺ«": 149898, + "ðĿĺ¾": 149899, + "ðĿĻĩ": 149900, + "ðĿĻī": 149901, + "ðĿĻĭ": 149902, + "ðĿĻİ": 149903, + "ðĿĻĺ": 149904, + "ðĿĻ¥": 149905, + "ðĿļĥ": 149906, + "ðĿļIJ": 149907, + "ðĿļĶ": 149908, + "ðĿľĥ": 149909, + "ðŁĦ·": 149910, + "ðŁħĿ": 149911, + "ðŁħ¾": 149912, + "ðŁĨĤ": 149913, + "ðŁĨĵ": 149914, + "ðŁĮĤ": 149915, + "ðŁĮĨ": 149916, + "ðŁĮī": 149917, + "ðŁĮij": 149918, + "ðŁĮĺ": 149919, + "ðŁĮ©": 149920, + "ðŁĮ«": 149921, + "ðŁį¢": 149922, + "ðŁį¥": 149923, + "ðŁİĽ": 149924, + "ðŁİ¢": 149925, + "ðŁİ´": 149926, + "ðŁij¡": 149927, + "ðŁĴ¾": 149928, + "ðŁĵŃ": 149929, + "ðŁĶĪ": 149930, + "ðŁĶ¦": 149931, + "ðŁĶ²": 149932, + "ðŁĶ³": 149933, + "ðŁķĵ": 149934, + "ðŁķķ": 149935, + "ðŁķĺ": 149936, + "ðŁķŁ": 149937, + "ðŁķ·": 149938, + "ðŁĹ³": 149939, + "ðŁļĦ": 149940, + "ðŁļĶ": 149941, + "ðŁļĸ": 149942, + "ðŁĽIJ": 149943, + "ðŁĽ¤": 149944, + "ðŁĽ¸": 149945, + "ðŁł": 149946, + "ðŁł³": 149947, + "ðŁ¤¹": 149948, + "ðŁ¥ĥ": 149949, + "ðŁ¥¨": 149950, + "ðŁ¥ª": 149951, + "ðŁ¥¾": 149952, + "ð٦ĥ": 149953, + "ð٦Ĵ": 149954, + "ð٦Ļ": 149955, + "ðŁ¦¶": 149956, + "ðŁ§ł": 149957, + "ðŁ§ª": 149958, + "ð٧Ń": 149959, + "ðŁ§²": 149960, + "ð£·": 149961, + "ð£·Ń": 149962, + "ð¦ĺ": 149963, + "ð¦ĺĴ": 149964, + "Æij": 149965, + "ÇĻ": 149966, + "È®": 149967, + "Øł": 149968, + "ÚĦ": 149969, + "ÜĢ": 149970, + "ߢ": 149971, + "áīĢ": 149972, + "áĬIJ": 149973, + "áİł": 149974, + "áºŀ": 149975, + "ëĪŀ": 149976, + "ëķŁ": 149977, + "ë£ģ": 149978, + "ë¤Ĺ": 149979, + "ìĦ¥": 149980, + "ìħij": 149981, + "ìĸIJ": 149982, + "ìĽĽ": 149983, + "ì£ķ": 149984, + "íİı": 149985, + "íĽĵ": 149986, + "梁": 149987, + "ï³Ľ": 149988, + "ï´«": 149989, + "ðĸ§": 149990, + "ðĸ§·": 149991, + "ðĿķģ": 149992, + "ðŁIJª": 149993, + "ðŁĴĪ": 149994, + "ðŁĵł": 149995, + "ðŁķĽ": 149996, + "ðŁķ´": 149997, + "ÑĿ": 149998, + "ÓĬ": 149999, + "ॲ": 150000, + "પ": 150001, + "áĥ¤": 150002, + "áįIJ": 150003, + "á¶°": 150004, + "á¼Ŀ": 150005, + "Ὡ": 150006, + "âĭĭ": 150007, + "âĴ½": 150008, + "âϾ": 150009, + "â½Ķ": 150010, + "⾯": 150011, + "ãĦĴ": 150012, + "ãħļ": 150013, + "ëIJį": 150014, + "ë·ģ": 150015, + "ìĭĢ": 150016, + "ìļĿ": 150017, + "쥰": 150018, + "캴": 150019, + "íĭī": 150020, + "íĿ½": 150021, + "ï¦Ģ": 150022, + "樂": 150023, + "ï§ħ": 150024, + "ï§ĵ": 150025, + "ïѝ": 150026, + "ï®Ĩ": 150027, + "ðIJ¤ķ": 150028, + "ðĿIJŁ": 150029, + "ðĿĴħ": 150030, + "ðĿĵľ": 150031, + "ðĿͰ": 150032, + "ðĿĶ»": 150033, + "ðĿĺį": 150034, + "ðĿϝ": 150035, + "ðŁĦ½": 150036, + "ðŁħĤ": 150037, + "ðŁħĶ": 150038, + "ðŁħ½": 150039, + "ðŁĵ´": 150040, + "ð٧ĸ": 150041, + "ÓĴ": 150042, + "Ḳ": 150043, + "ëī¼": 150044, + "Çı": 150045, + "Èĵ": 150046, + "ʸ": 150047, + "ÕĤ": 150048, + "Ûħ": 150049, + "ß¡": 150050, + "ߣ": 150051, + "ய": 150052, + "à°Ī": 150053, + "ಸ": 150054, + "ຮ": 150055, + "à¼ķ": 150056, + "áĢİ": 150057, + "áĨ¡": 150058, + "áIJĭ": 150059, + "áIJķ": 150060, + "áij¯": 150061, + "áŀĨ": 150062, + "á¨ķ": 150063, + "á©Ī": 150064, + "âģħ": 150065, + "âĨļ": 150066, + "âĶİ": 150067, + "âł©": 150068, + "â²Ĥ": 150069, + "â²Ķ": 150070, + "Ⲩ": 150071, + "ãĬļ": 150072, + "íĵ²": 150073, + "ðĿijĪ": 150074, + "ðĿij¬": 150075, + "ðĿij¹": 150076, + "ðĿĴ¾": 150077, + "ðĿĵ±": 150078, + "ðĿĵ½": 150079, + "ðĿķ¯": 150080, + "ðĿķ»": 150081, + "ðĿĺ½": 150082, + "ðĿļĨ": 150083, + "ðŁĦ°": 150084, + "ðŁIJ¨": 150085, + "Òķ": 150086, + "à²ħ": 150087, + "ï¨Ĩ": 150088, + "ðĿij°": 150089, + "ðŁĦ¸": 150090, + "Ôİ": 150091, + "Øį": 150092, + "Ùµ": 150093, + "ಶ": 150094, + "áĢĪ": 150095, + "áĺĹ": 150096, + "᳸": 150097, + "á¡¡": 150098, + "ᨲ": 150099, + "á©ģ": 150100, + "á´·": 150101, + "áµ§": 150102, + "âķ¨": 150103, + "âļģ": 150104, + "â¾Ŀ": 150105, + "ã̼": 150106, + "ãĦı": 150107, + "êĴ«": 150108, + "ꦥ": 150109, + "ꦩ": 150110, + "ꦲ": 150111, + "ìĺ¼": 150112, + "íĵIJ": 150113, + "ðĵĩ": 150114, + "ðĵĩ¼": 150115, + "ðĿķ¿": 150116, + "ðŁĽ´": 150117, + "먾": 150118, + "ವ": 150119, + "à´İ": 150120, + "à¼Ģ": 150121, + "âĩĸ": 150122, + "ãĪ«": 150123, + "âĵĢ": 150124, + "áħ´": 150125, + "áļ¾": 150126, + "áĽŀ": 150127, + "Ἣ": 150128, + "ᥴ": 150129, + "âĨĽ": 150130, + "âĨ¶": 150131, + "âĩ¤": 150132, + "âķŁ": 150133, + "âĺ·": 150134, + "âļIJ": 150135, + "ðŁ§´": 150136, + "á¹³": 150137, + "âĶį": 150138, + "âĶĴ": 150139, + "âĶ©": 150140, + "âͦ": 150141, + "â¾µ": 150142, + "àªľ": 150143, + "ત": 150144, + "âĩĻ": 150145, + "âͱ": 150146, + "âķĢ": 150147, + "â½Ĭ": 150148, + "ï½Ł": 150149, + "ଡ": 150150, + "ðł®": 150151, + "ðł®·": 150152, + "âķĥ": 150153, + "â°Ķ": 150154, + "ãĬ¦": 150155, + "ðŁİIJ": 150156, + "ãĩ°": 150157, + "â¼Ŀ": 150158, + "â¾Ķ": 150159, + "â½Ĵ": 150160, + "âłĴ": 150161, + "都": 150162, + "ï©Ĵ": 150163, + "免": 150164, + "ï©ĸ": 150165, + "ðĵı¸": 150166, + "ãĮĥ": 150167, + "ðĸ¤": 150168, + "ðĸ¤IJ": 150169, + "ï¦Ń": 150170, + "âĬħ": 150171, + "â¾³": 150172, + "ä´¥": 150173, + "ï©ķ": 150174, + "ðŁĮĶ": 150175, + "áŀĭ": 150176, + "âļį": 150177, + "â¼ĭ": 150178, + "ãİĺ": 150179, + "ðIJĮ²": 150180, + "É©": 150181, + "áİij": 150182, + "âĨ®": 150183, + "âĩĥ": 150184, + "âļİ": 150185, + "ãĩ±": 150186, + "ãĭ©": 150187, + "ãĮ¶": 150188, + "êĻª": 150189, + "ëݬ": 150190, + "ï¨IJ": 150191, + "ï¨Ľ": 150192, + "ï©Ĭ": 150193, + "ï©į": 150194, + "ðĵħ": 150195, + "ðĵħº": 150196, + "Ï¡": 150197, + "Èij": 150198, + "ÉĤ": 150199, + "Ôĵ": 150200, + "ßİ": 150201, + "à´§": 150202, + "áĢī": 150203, + "áĢĭ": 150204, + "áĢij": 150205, + "áĢł": 150206, + "áļĻ": 150207, + "á¨Ħ": 150208, + "ᨩ": 150209, + "ᨹ": 150210, + "á©ĵ": 150211, + "ᬾ": 150212, + "á´Ļ": 150213, + "áµij": 150214, + "âĤŃ": 150215, + "âĨ°": 150216, + "âľģ": 150217, + "â½IJ": 150218, + "ãĭ¯": 150219, + "ãĮ½": 150220, + "íĨ¢": 150221, + "錄": 150222, + "ðŁĤ": 150223, + "ðŁĤ»": 150224, + "ÈĴ": 150225, + "ͺ": 150226, + "Ô¥": 150227, + "Õij": 150228, + "Ú¶": 150229, + "à§İ": 150230, + "à¶®": 150231, + "àºĸ": 150232, + "àºľ": 150233, + "ຽ": 150234, + "áĥ»": 150235, + "áħ¯": 150236, + "áĭŀ": 150237, + "áĸķ": 150238, + "á´Ī": 150239, + "á¶Ĩ": 150240, + "Ḿ": 150241, + "á¹¼": 150242, + "Ῠ": 150243, + "âĦĭ": 150244, + "âĦŃ": 150245, + "âα": 150246, + "âĮĵ": 150247, + "âĶĩ": 150248, + "âĶ¢": 150249, + "â±®": 150250, + "â²Ħ": 150251, + "ãĩ¾": 150252, + "ãά": 150253, + "븡": 150254, + "ìIJī": 150255, + "íĻĽ": 150256, + "ðĿķª": 150257, + "ƹ": 150258, + "Ͳ": 150259, + "Óģ": 150260, + "Û¼": 150261, + "ফ": 150262, + "áħŁ": 150263, + "áīĨ": 150264, + "áįĪ": 150265, + "áºĸ": 150266, + "á½ī": 150267, + "â͏": 150268, + "⽩": 150269, + "êľ": 150270, + "êľ¥": 150271, + "êµħ": 150272, + "ëĤĶ": 150273, + "ëĦł": 150274, + "ëĩĹ": 150275, + "ëĻĿ": 150276, + "ìļ¯": 150277, + "ìļ·": 150278, + "ìŁĽ": 150279, + "ì·IJ": 150280, + "íŁ¬": 150281, + "íŁ®": 150282, + "íŁ°": 150283, + "ï¦Ĩ": 150284, + "鈴": 150285, + "ï²ŀ": 150286, + "ﳤ": 150287, + "ï³¥": 150288, + "ðIJĮ¸": 150289, + "ðĿĶı": 150290, + "ðĿķ®": 150291, + "ðĿĺ£": 150292, + "à¦Ī": 150293, + "âıı": 150294, + "ãĦĸ": 150295, + "ê²ĩ": 150296, + "ëĸĺ": 150297, + "ëľ·": 150298, + "ëŀĴ": 150299, + "ë¡ĵ": 150300, + "ë¢ī": 150301, + "ë£ĥ": 150302, + "ë§ĭ": 150303, + "ë²ĭ": 150304, + "ìĤ·": 150305, + "ìĪķ": 150306, + "ìĮ¨": 150307, + "ìĵ»": 150308, + "ìĸĬ": 150309, + "ìϬ": 150310, + "ìĿ»": 150311, + "ì¦ģ": 150312, + "쵤": 150313, + "ì·ĥ": 150314, + "íĢľ": 150315, + "íħī": 150316, + "íįł": 150317, + "íıħ": 150318, + "íij±": 150319, + "íķķ": 150320, + "íĸł": 150321, + "íĿķ": 150322, + "ÆĻ": 150323, + "Æļ": 150324, + "Æŀ": 150325, + "Çĥ": 150326, + "ÇĬ": 150327, + "Çľ": 150328, + "Ǥ": 150329, + "ÇŃ": 150330, + "ǹ": 150331, + "ÈĢ": 150332, + "Èģ": 150333, + "Èħ": 150334, + "Èī": 150335, + "ÈĹ": 150336, + "ÈŁ": 150337, + "Ȥ": 150338, + "È¥": 150339, + "Ȩ": 150340, + "ȵ": 150341, + "Ⱥ": 150342, + "È»": 150343, + "ÉĮ": 150344, + "É®": 150345, + "Êħ": 150346, + "Ê¥": 150347, + "ʨ": 150348, + "Ëĵ": 150349, + "ËĶ": 150350, + "Ëł": 150351, + "Ë£": 150352, + "˸": 150353, + "Í´": 150354, + "ÏĹ": 150355, + "Ïĺ": 150356, + "ÏĻ": 150357, + "Ïļ": 150358, + "ÏĿ": 150359, + "Ϩ": 150360, + "Ϭ": 150361, + "Ͼ": 150362, + "Ï¿": 150363, + "Ѫ": 150364, + "ÒĢ": 150365, + "Òľ": 150366, + "Ò¼": 150367, + "Ò½": 150368, + "ÓĤ": 150369, + "Óħ": 150370, + "Óĩ": 150371, + "Óį": 150372, + "Óĸ": 150373, + "ÓŁ": 150374, + "Ó«": 150375, + "Ó±": 150376, + "ÔĨ": 150377, + "Ôĩ": 150378, + "Ôº": 150379, + "Õĭ": 150380, + "Öī": 150381, + "ØĪ": 150382, + "ØĬ": 150383, + "ؽ": 150384, + "ؾ": 150385, + "Ù·": 150386, + "ÚĤ": 150387, + "ÚĬ": 150388, + "Úĸ": 150389, + "ÚĹ": 150390, + "Ú£": 150391, + "Ú«": 150392, + "Ú¸": 150393, + "ÛĢ": 150394, + "Ûį": 150395, + "Û½": 150396, + "Üī": 150397, + "ܤ": 150398, + "ݧ": 150399, + "Ý´": 150400, + "Þĥ": 150401, + "Þ¤": 150402, + "Þ¥": 150403, + "ßļ": 150404, + "߼": 150405, + "ߤ": 150406, + "àłį": 150407, + "àłĵ": 150408, + "àł³": 150409, + "à¡¢": 150410, + "à¥ł": 150411, + "à§ł": 150412, + "৺": 150413, + "à¨Ĭ": 150414, + "à¨IJ": 150415, + "ਮ": 150416, + "ਯ": 150417, + "ਰ": 150418, + "ਸ": 150419, + "àªĨ": 150420, + "ળ": 150421, + "વ": 150422, + "ઽ": 150423, + "à¬Į": 150424, + "à¬ĺ": 150425, + "ଽ": 150426, + "à®ĥ": 150427, + "ஸ": 150428, + "à°Ĩ": 150429, + "à°ķ": 150430, + "à°¦": 150431, + "à²Ĩ": 150432, + "à²Ĭ": 150433, + "à²Į": 150434, + "à²IJ": 150435, + "à²Ľ": 150436, + "ತ": 150437, + "ದ": 150438, + "ಪ": 150439, + "ಲ": 150440, + "ಹ": 150441, + "à´Ĩ": 150442, + "à´ı": 150443, + "à´Ĺ": 150444, + "à´«": 150445, + "à´¹": 150446, + "ൺ": 150447, + "ൽ": 150448, + "à¶ħ": 150449, + "à¶Ĭ": 150450, + "à¶Ķ": 150451, + "à¶§": 150452, + "à¶«": 150453, + "à¶°": 150454, + "à¼Ħ": 150455, + "à¼ħ": 150456, + "à¼Ĭ": 150457, + "à½Ļ": 150458, + "ཡ": 150459, + "ཧ": 150460, + "à¿Ģ": 150461, + "à¿Ļ": 150462, + "áĢĿ": 150463, + "á̧": 150464, + "áĢ©": 150465, + "áĢ¿": 150466, + "áģµ": 150467, + "áĤģ": 150468, + "áĤ½": 150469, + "áĥĤ": 150470, + "áĥª": 150471, + "áĦĬ": 150472, + "áĦ¢": 150473, + "áħ¦": 150474, + "áħŃ": 150475, + "áĨ®": 150476, + "áĨ±": 150477, + "áĨ»": 150478, + "áĩ": 150479, + "áĩĤ": 150480, + "áĪħ": 150481, + "áĪī": 150482, + "áĪĮ": 150483, + "áĪIJ": 150484, + "áĪĴ": 150485, + "áĪĻ": 150486, + "áĪļ": 150487, + "áĪľ": 150488, + "áĪŀ": 150489, + "áĪ©": 150490, + "áγ": 150491, + "áĪº": 150492, + "áν": 150493, + "áīħ": 150494, + "áī¢": 150495, + "áī±": 150496, + "áī´": 150497, + "áĬĥ": 150498, + "áĬį": 150499, + "áĬĸ": 150500, + "áĬ®": 150501, + "áĬ¸": 150502, + "áĭĽ": 150503, + "áĭĿ": 150504, + "áĭ³": 150505, + "áĮģ": 150506, + "áĮħ": 150507, + "áĮ¥": 150508, + "áĮ¦": 150509, + "áĮ¨": 150510, + "áįĬ": 150511, + "áįį": 150512, + "áįķ": 150513, + "áįĸ": 150514, + "áį¢": 150515, + "áį¤": 150516, + "áİĴ": 150517, + "áݪ": 150518, + "áıģ": 150519, + "áıIJ": 150520, + "áıŁ": 150521, + "áIJĤ": 150522, + "áIJĸ": 150523, + "áIJĿ": 150524, + "áIJŀ": 150525, + "áIJŁ": 150526, + "áIJł": 150527, + "áijĸ": 150528, + "áĴĭ": 150529, + "áĴį": 150530, + "áĴ¡": 150531, + "áĵ«": 150532, + "áĶķ": 150533, + "áķĭ": 150534, + "áķij": 150535, + "áķĻ": 150536, + "áķļ": 150537, + "áķĽ": 150538, + "áķ¤": 150539, + "áķ¦": 150540, + "áķ®": 150541, + "áķ¼": 150542, + "áĸĵ": 150543, + "áĹĹ": 150544, + "áĹ¢": 150545, + "áĹ¯": 150546, + "áĹ·": 150547, + "áĺĦ": 150548, + "áĺij": 150549, + "áĽĤ": 150550, + "áĽĻ": 150551, + "áŀį": 150552, + "áłĨ": 150553, + "áł¡": 150554, + "᳦": 150555, + "áł®": 150556, + "áł¯": 150557, + "áł²": 150558, + "áł·": 150559, + "á¡į": 150560, + "á¡ŀ": 150561, + "ᡤ": 150562, + "á¡´": 150563, + "ᡵ": 150564, + "á¤ĵ": 150565, + "á¥ĸ": 150566, + "ᥰ": 150567, + "ᨦ": 150568, + "ᨧ": 150569, + "ᨨ": 150570, + "ᨪ": 150571, + "ᨬ": 150572, + "ᨯ": 150573, + "ᨳ": 150574, + "ᨵ": 150575, + "á©ĥ": 150576, + "á¬ķ": 150577, + "áŃ£": 150578, + "á±": 150579, + "á±ļ": 150580, + "á²ł": 150581, + "á´ĵ": 150582, + "á´¶": 150583, + "áµĤ": 150584, + "áµĮ": 150585, + "áµ¥": 150586, + "áµ´": 150587, + "á¶ĩ": 150588, + "á¸Ī": 150589, + "ḳ": 150590, + "ḧ": 150591, + "Ḵ": 150592, + "Ḿ": 150593, + "á¹Ģ": 150594, + "á¹ĸ": 150595, + "á¹Ł": 150596, + "á¹ł": 150597, + "ṫ": 150598, + "á¹±": 150599, + "á¹·": 150600, + "ṿ": 150601, + "áºĦ": 150602, + "áºį": 150603, + "áºij": 150604, + "áºĹ": 150605, + "á¼ī": 150606, + "á¼ĵ": 150607, + "á¼Ń": 150608, + "á½ĭ": 150609, + "á½Ĵ": 150610, + "á½ł": 150611, + "á½£": 150612, + "á¾Ħ": 150613, + "á¾ı": 150614, + "á¾ij": 150615, + "á¾Ĺ": 150616, + "ᾦ": 150617, + "á¾§": 150618, + "á¾¾": 150619, + "á¿Ħ": 150620, + "á¿ĵ": 150621, + "á¿¡": 150622, + "Ῥ": 150623, + "âģļ": 150624, + "âĤĮ": 150625, + "âĦģ": 150626, + "âĦĶ": 150627, + "âĦ£": 150628, + "âĦ§": 150629, + "âĦ¯": 150630, + "âĦ°": 150631, + "âĦ´": 150632, + "âħħ": 150633, + "âĨľ": 150634, + "âĨ«": 150635, + "âĨŃ": 150636, + "âĨ±": 150637, + "âĨ¹": 150638, + "âĨ½": 150639, + "âĩĩ": 150640, + "âĩľ": 150641, + "âĩµ": 150642, + "âĪī": 150643, + "âĪĬ": 150644, + "âĪĸ": 150645, + "âĪľ": 150646, + "âξ": 150647, + "âīĢ": 150648, + "âīĭ": 150649, + "âīĮ": 150650, + "âīĵ": 150651, + "âīľ": 150652, + "âī´": 150653, + "âī¿": 150654, + "âĬĬ": 150655, + "âĬĭ": 150656, + "âĬĶ": 150657, + "âĬĸ": 150658, + "âĬ£": 150659, + "âĬ¦": 150660, + "âĭİ": 150661, + "âĭª": 150662, + "âĭ²": 150663, + "âĮ¦": 150664, + "âĮ§": 150665, + "âįº": 150666, + "âİĪ": 150667, + "âݨ": 150668, + "âݬ": 150669, + "âݳ": 150670, + "âݼ": 150671, + "âݾ": 150672, + "âıĮ": 150673, + "âıļ": 150674, + "âı«": 150675, + "âı¯": 150676, + "âıµ": 150677, + "âĴľ": 150678, + "âĴĿ": 150679, + "âĴ«": 150680, + "âĵĦ": 150681, + "âĵĬ": 150682, + "âĵĻ": 150683, + "âĵ©": 150684, + "âĶij": 150685, + "âĶĻ": 150686, + "âĶļ": 150687, + "âĶ¥": 150688, + "âķħ": 150689, + "âķī": 150690, + "âķį": 150691, + "âķı": 150692, + "âķŀ": 150693, + "âĸļ": 150694, + "âĸ¯": 150695, + "âĹĥ": 150696, + "âĹļ": 150697, + "âŬ": 150698, + "âĹ´": 150699, + "âĺĪ": 150700, + "âĺ¤": 150701, + "âĺ¥": 150702, + "âĺ§": 150703, + "âĺ¬": 150704, + "âĻģ": 150705, + "âϱ": 150706, + "âļĥ": 150707, + "âļĦ": 150708, + "âļħ": 150709, + "âļı": 150710, + "âļļ": 150711, + "âļŀ": 150712, + "âļŁ": 150713, + "âļ±": 150714, + "âļ²": 150715, + "âľĢ": 150716, + "⾣": 150717, + "âľ¢": 150718, + "âĿµ": 150719, + "âŁ¡": 150720, + "⣦": 150721, + "⣧": 150722, + "âŁ³": 150723, + "âŁ¾": 150724, + "âŁ¿": 150725, + "âłĩ": 150726, + "â¤Ħ": 150727, + "⤺": 150728, + "â¥Ĥ": 150729, + "⥹": 150730, + "â§ī": 150731, + "â§¼": 150732, + "â§½": 150733, + "â¨į": 150734, + "â¬Ĭ": 150735, + "⬣": 150736, + "âŃŀ": 150737, + "â®ŀ": 150738, + "⮳": 150739, + "â¯Ī": 150740, + "â¯ij": 150741, + "ⱳ": 150742, + "â±±": 150743, + "â²Ń": 150744, + "â´¹": 150745, + "âµķ": 150746, + "⸾": 150747, + "⺫": 150748, + "â¼Ĩ": 150749, + "â¼ł": 150750, + "â½Ł": 150751, + "â½¼": 150752, + "â¾Ľ": 150753, + "â¾§": 150754, + "â¿ĥ": 150755, + "â¿»": 150756, + "ãĤķ": 150757, + "ãĤŁ": 150758, + "ãĦĽ": 150759, + "ãĦ¡": 150760, + "ãĦ¶": 150761, + "ãĦº": 150762, + "ãħĴ": 150763, + "ãħŁ": 150764, + "ãĨĢ": 150765, + "ãĩ»": 150766, + "ãĪij": 150767, + "ãĪŃ": 150768, + "ãĪ®": 150769, + "ãγ": 150770, + "ãι": 150771, + "ãī¥": 150772, + "ãī¦": 150773, + "ãī¹": 150774, + "ãī¿": 150775, + "ãĬŀ": 150776, + "ãĬ¨": 150777, + "ãĭij": 150778, + "ãĭ¥": 150779, + "ãĭ´": 150780, + "ãĭº": 150781, + "ãİĦ": 150782, + "ãİķ": 150783, + "ãݯ": 150784, + "ãıĤ": 150785, + "ãıĪ": 150786, + "ãıĵ": 150787, + "ãıĸ": 150788, + "ãı±": 150789, + "ãIJ±": 150790, + "ãŁģ": 150791, + "ã¢": 150792, + "㢨": 150793, + "ã¨": 150794, + "㨳": 150795, + "㫪": 150796, + "ã«´": 150797, + "ã¶³": 150798, + "㺾": 150799, + "äĢ": 150800, + "äĢĢ": 150801, + "äĭ": 150802, + "äĭĮ": 150803, + "äĮĢ": 150804, + "äIJĢ": 150805, + "äłĢ": 150806, + "äł": 150807, + "äł¼": 150808, + "ä§": 150809, + "ä§ŀ": 150810, + "䨰": 150811, + "䨺": 150812, + "ä´Ģ": 150813, + "ä·": 150814, + "ä·ħ": 150815, + "ä·¸": 150816, + "êĤ": 150817, + "êĤ«": 150818, + "êĮ": 150819, + "êĮ¼": 150820, + "êį": 150821, + "êį²": 150822, + "êĴµ": 150823, + "êĵ": 150824, + "êĵ½": 150825, + "êĻŃ": 150826, + "êĿĽ": 150827, + "êĿ¥": 150828, + "êŀ": 150829, + "êŀĬ": 150830, + "ê¦Ĩ": 150831, + "ê¦ĩ": 150832, + "ê¦Ł": 150833, + "ꦨ": 150834, + "ê§Ī": 150835, + "ê©": 150836, + "ê©Ł": 150837, + "êªĭ": 150838, + "êªij": 150839, + "êªķ": 150840, + "êªĹ": 150841, + "êªľ": 150842, + "ꪮ": 150843, + "ꪱ": 150844, + "ꪻ": 150845, + "ꪼ": 150846, + "ê«Ģ": 150847, + "ê«Ŀ": 150848, + "ê°ĥ": 150849, + "ê°ĺ": 150850, + "ê±ľ": 150851, + "ê²ĵ": 150852, + "ê²ļ": 150853, + "ê³Ļ": 150854, + "ê³¾": 150855, + "ê´Ĺ": 150856, + "ê´Ļ": 150857, + "êµĽ": 150858, + "ê¶ĥ": 150859, + "ê¶ķ": 150860, + "궨": 150861, + "긩": 150862, + "긿": 150863, + "ê¹Ħ": 150864, + "ê¹Ĩ": 150865, + "ê¹ī": 150866, + "ê¹ĵ": 150867, + "ê¹¢": 150868, + "ê¹£": 150869, + "깸": 150870, + "꺳": 150871, + "ê¿ı": 150872, + "ê¿ķ": 150873, + "ê¿§": 150874, + "ëĢ©": 150875, + "ëģħ": 150876, + "ëĥµ": 150877, + "ëĦĸ": 150878, + "ëĦĹ": 150879, + "ëĦ¢": 150880, + "ëħĤ": 150881, + "ëĨIJ": 150882, + "ëĩľ": 150883, + "ëĪĭ": 150884, + "ëĪļ": 150885, + "ëīį": 150886, + "ëī¨": 150887, + "ëĬļ": 150888, + "ëĬ¡": 150889, + "ëĭľ": 150890, + "ëĭª": 150891, + "ëĮĺ": 150892, + "ëĮ¤": 150893, + "ëĮ¸": 150894, + "ëİŁ": 150895, + "ëı¨": 150896, + "ëIJĦ": 150897, + "ëIJı": 150898, + "ëIJ´": 150899, + "ëIJ¸": 150900, + "ëijģ": 150901, + "ëij¿": 150902, + "ëĴ¨": 150903, + "ëĵ·": 150904, + "ëĶ®": 150905, + "ëͲ": 150906, + "ëķ§": 150907, + "ëĸĶ": 150908, + "ëĸª": 150909, + "ëĺŃ": 150910, + "ëļĢ": 150911, + "ëļł": 150912, + "ëĽĶ": 150913, + "뼩": 150914, + "ëľħ": 150915, + "ëŀķ": 150916, + "ëŀ°": 150917, + "ëŁIJ": 150918, + "ëł¡": 150919, + "ë¡ŀ": 150920, + "ë¡£": 150921, + "롵": 150922, + "ë£Ħ": 150923, + "ë£į": 150924, + "뤳": 150925, + "ë¦į": 150926, + "ë¦ı": 150927, + "릳": 150928, + "ë§Ħ": 150929, + "ë§Ĩ": 150930, + "ë§į": 150931, + "ë§ľ": 150932, + "ë§«": 150933, + "ë§»": 150934, + "먮": 150935, + "ë©Ĥ": 150936, + "ë©Ń": 150937, + "몴": 150938, + "묾": 150939, + "묳": 150940, + "묫": 150941, + "묾": 150942, + "ëѬ": 150943, + "ë®ĺ": 150944, + "뮹": 150945, + "ë¯ķ": 150946, + "ë¯ľ": 150947, + "ë°¨": 150948, + "ë°ª": 150949, + "ë±Ķ": 150950, + "ë²ĺ": 150951, + "ë²Ľ": 150952, + "ë²±": 150953, + "ë²´": 150954, + "ë´½": 150955, + "뵤": 150956, + "뵨": 150957, + "ë·Ĺ": 150958, + "ë·ĺ": 150959, + "ë¸ĵ": 150960, + "븾": 150961, + "빪": 150962, + "ëºĥ": 150963, + "ëºĺ": 150964, + "뺵": 150965, + "ë»´": 150966, + "ë¼IJ": 150967, + "ë¾Ķ": 150968, + "ìģŃ": 150969, + "ìĤł": 150970, + "ìĤ®": 150971, + "ìĥı": 150972, + "ìĥĻ": 150973, + "ìĦº": 150974, + "ìħ¢": 150975, + "ìĨĢ": 150976, + "ìĨħ": 150977, + "ìĨ¤": 150978, + "ìĨ¦": 150979, + "ìĨ¬": 150980, + "ìĩ±": 150981, + "ìε": 150982, + "ìĭ¨": 150983, + "ìĭ´": 150984, + "ìĮ°": 150985, + "ìįľ": 150986, + "ìİĹ": 150987, + "ìİĺ": 150988, + "ìݼ": 150989, + "ìijī": 150990, + "ìijĿ": 150991, + "ìij»": 150992, + "ìĴĶ": 150993, + "ìĴ¯": 150994, + "ìĵ©": 150995, + "ìķIJ": 150996, + "ìķĸ": 150997, + "ìĸł": 150998, + "ìĸ¾": 150999, + "ìĹĥ": 151000, + "ìĹĹ": 151001, + "ìĹľ": 151002, + "ìŨ": 151003, + "ìĺĤ": 151004, + "ìĺĦ": 151005, + "ìĺı": 151006, + "ìĺ¾": 151007, + "ìĺ¿": 151008, + "ìľ§": 151009, + "ìĿIJ": 151010, + "ìĿĸ": 151011, + "ìĿ·": 151012, + "ìŀį": 151013, + "ìŀı": 151014, + "ìŀ¨": 151015, + "ìŀª": 151016, + "ìŀ³": 151017, + "ìł¡": 151018, + "ìł´": 151019, + "ìł¹": 151020, + "ì¡Ģ": 151021, + "졪": 151022, + "졵": 151023, + "ì¢IJ": 151024, + "좨": 151025, + "ì£Į": 151026, + "ì£Ļ": 151027, + "죳": 151028, + "ì¦ij": 151029, + "ì§¥": 151030, + "ì§´": 151031, + "ì§¾": 151032, + "ì¨ĵ": 151033, + "ì¨ķ": 151034, + "ì©°": 151035, + "ì©»": 151036, + "쩼": 151037, + "ìªĹ": 151038, + "ì¬Ķ": 151039, + "ì¬ĺ": 151040, + "ì®®": 151041, + "ì¯ķ": 151042, + "ì¯ĺ": 151043, + "ì°İ": 151044, + "ì°¯": 151045, + "ì±ĥ": 151046, + "ì±µ": 151047, + "ì²§": 151048, + "ì²®": 151049, + "첯": 151050, + "쳬": 151051, + "ì´ĭ": 151052, + "ì´¢": 151053, + "ìµ¥": 151054, + "ì¶£": 151055, + "ì¸Ī": 151056, + "ì¸Ļ": 151057, + "캤": 151058, + "ìºŃ": 151059, + "컽": 151060, + "ì¼Ļ": 151061, + "콬": 151062, + "ì¾Ģ": 151063, + "ì¿ħ": 151064, + "쿽": 151065, + "íĢħ": 151066, + "íģ¦": 151067, + "íĤħ": 151068, + "íĥ¶": 151069, + "íĥ¹": 151070, + "íĦĶ": 151071, + "íħ£": 151072, + "íĨĦ": 151073, + "íĨ§": 151074, + "íĨ¹": 151075, + "íĩ¼": 151076, + "íī¤": 151077, + "íĬ½": 151078, + "íĭĤ": 151079, + "íĭij": 151080, + "íįĪ": 151081, + "íįĻ": 151082, + "íį¿": 151083, + "íݶ": 151084, + "íIJĿ": 151085, + "íĴľ": 151086, + "íĵĿ": 151087, + "íĵª": 151088, + "íĵ±": 151089, + "íĵ·": 151090, + "íĵ¼": 151091, + "íĶĻ": 151092, + "íĶł": 151093, + "íķļ": 151094, + "íķĽ": 151095, + "íķŀ": 151096, + "íķŁ": 151097, + "íķ§": 151098, + "íķ¶": 151099, + "íĸĬ": 151100, + "íĸĭ": 151101, + "íĸį": 151102, + "íĸĶ": 151103, + "íĸĺ": 151104, + "íĸ¡": 151105, + "íĸ¬": 151106, + "íĹ£": 151107, + "íĹ¿": 151108, + "íĺĸ": 151109, + "íĺŃ": 151110, + "íļ°": 151111, + "íĽį": 151112, + "íĽ½": 151113, + "íĿŁ": 151114, + "íĿŃ": 151115, + "íĿ´": 151116, + "íŀľ": 151117, + "ï¤ī": 151118, + "ï¤Ń": 151119, + "爐": 151120, + "蘆": 151121, + "祿": 151122, + "ï¥Ģ": 151123, + "ï¥ij": 151124, + "ï¥Ĵ": 151125, + "ï¥ķ": 151126, + "ï¥ĺ": 151127, + "ï¥Ļ": 151128, + "參": 151129, + "塞": 151130, + "殺": 151131, + "勵": 151132, + "ï¦ĭ": 151133, + "ï¦ı": 151134, + "ï¦Ķ": 151135, + "ï¦ĸ": 151136, + "ï¦ĺ": 151137, + "ï¦Ľ": 151138, + "ï¦ł": 151139, + "瑩": 151140, + "羚": 151141, + "了": 151142, + "僚": 151143, + "料": 151144, + "ï§Ĩ": 151145, + "ï§ĸ": 151146, + "ï§Ľ": 151147, + "ï§ŀ": 151148, + "ï§Ł": 151149, + "ï§§": 151150, + "ï§³": 151151, + "狀": 151152, + "ï§½": 151153, + "ï¨ĥ": 151154, + "ï¨ļ": 151155, + "諸": 151156, + "ï©Ł": 151157, + "ﬤ": 151158, + "שּׁ": 151159, + "לּ": 151160, + "ïŃĴ": 151161, + "ïŃķ": 151162, + "ïŃĽ": 151163, + "ïŃĿ": 151164, + "ïŃŀ": 151165, + "ïŃŁ": 151166, + "ïѤ": 151167, + "ïѧ": 151168, + "ïѨ": 151169, + "ïŃ®": 151170, + "ïѰ": 151171, + "ïѱ": 151172, + "ïŃ·": 151173, + "ïѹ": 151174, + "ïŃ»": 151175, + "ï®Ģ": 151176, + "ï®ĥ": 151177, + "ï®Ħ": 151178, + "ï®ħ": 151179, + "ï®į": 151180, + "ï®Ĵ": 151181, + "ï®ĵ": 151182, + "ï®ķ": 151183, + "ﮦ": 151184, + "ï®®": 151185, + "ï®°": 151186, + "ï¯ĵ": 151187, + "ï¯ľ": 151188, + "ﯩ": 151189, + "ﯪ": 151190, + "ﯬ": 151191, + "ï¯Ń": 151192, + "ﯮ": 151193, + "ﯷ": 151194, + "ﯹ": 151195, + "ﯻ": 151196, + "ﯼ": 151197, + "ï°ĥ": 151198, + "ï°Į": 151199, + "ï°IJ": 151200, + "ï°ĺ": 151201, + "ï°Ļ": 151202, + "ï°ľ": 151203, + "ï°ŀ": 151204, + "ï°¢": 151205, + "ï°®": 151206, + "ï°°": 151207, + "ï°¼": 151208, + "ï°¿": 151209, + "ï±Ģ": 151210, + "ï±ģ": 151211, + "ï±Ī": 151212, + "ï±ĭ": 151213, + "ï±ı": 151214, + "ï±Ń": 151215, + "ï²Ģ": 151216, + "ï²ĩ": 151217, + "ï²Ī": 151218, + "ï²ĭ": 151219, + "ï²İ": 151220, + "ï²Ĵ": 151221, + "ï²ľ": 151222, + "ï²ł": 151223, + "ﲬ": 151224, + "ï²»": 151225, + "ï³ĩ": 151226, + "ï³Ķ": 151227, + "ï³£": 151228, + "ﳫ": 151229, + "ï´ĺ": 151230, + "ï´°": 151231, + "ï´½": 151232, + "ï¶": 151233, + "ï¶°": 151234, + "ï¸ĸ": 151235, + "︴": 151236, + "︹": 151237, + "ï¹į": 151238, + "ï¹Ĺ": 151239, + "ï¹¢": 151240, + "﹤": 151241, + "﹩": 151242, + "ï¹±": 151243, + "ï¾°": 151244, + "ï¿Ĥ": 151245, + "ï¿®": 151246, + "ðIJĮ°": 151247, + "ðIJĮ¹": 151248, + "ðIJĮº": 151249, + "ðIJĮ½": 151250, + "ðIJįĤ": 151251, + "ðIJįĥ": 151252, + "ðIJįĦ": 151253, + "ðIJİ": 151254, + "ðIJݹ": 151255, + "ðIJ¤Ĥ": 151256, + "ðIJ¤į": 151257, + "ðIJ¤ı": 151258, + "ðIJ¤ĵ": 151259, + "ðIJŃī": 151260, + "ðIJŃį": 151261, + "ðIJ°ĩ": 151262, + "ðIJ°°": 151263, + "ðijĤ": 151264, + "ðijĤĦ": 151265, + "ðijĺ": 151266, + "ðijĺģ": 151267, + "ðĴĢ": 151268, + "ðĴ̏": 151269, + "ðĴģ": 151270, + "ðĴģº": 151271, + "ðĴĦ": 151272, + "ðĴĦ·": 151273, + "ðĴĬ": 151274, + "ðĴĬij": 151275, + "ðĴĭ": 151276, + "ðĴĭĹ": 151277, + "ðĴĮ": 151278, + "ðĴĮ¨": 151279, + "ðĵĥ¢": 151280, + "ðĵĥ°": 151281, + "ðĸł": 151282, + "ðĸłļ": 151283, + "ðĿĦĥ": 151284, + "ðĿĦħ": 151285, + "ðĿĦķ": 151286, + "ðĿĦĻ": 151287, + "ðĿĦ±": 151288, + "ðĿĦ´": 151289, + "ðĿĦ¹": 151290, + "ðĿħİ": 151291, + "ðĿħª": 151292, + "ðĿĨ£": 151293, + "ðĿĨ³": 151294, + "ðĿĨ¹": 151295, + "ðĿĩĬ": 151296, + "ðĿĩĹ": 151297, + "ðĿĩļ": 151298, + "ðĿĩľ": 151299, + "ðĿĩł": 151300, + "ðĿIJī": 151301, + "ðĿIJĸ": 151302, + "ðĿIJĺ": 151303, + "ðĿIJ£": 151304, + "ðĿIJ±": 151305, + "ðĿijĬ": 151306, + "ðĿijŃ": 151307, + "ðĿij¼": 151308, + "ðĿij½": 151309, + "ðĿĴ°": 151310, + "ðĿĴ·": 151311, + "ðĿĴ¿": 151312, + "ðĿĵģ": 151313, + "ðĿĵĭ": 151314, + "ðĿĵİ": 151315, + "ðĿĵĴ": 151316, + "ðĿĵĺ": 151317, + "ðĿĵ¢": 151318, + "ðĿĵ¦": 151319, + "ðĿĵ«": 151320, + "ðĿĵ¿": 151321, + "ðĿĶİ": 151322, + "ðĿͱ": 151323, + "ðĿĶ´": 151324, + "ðĿĶ·": 151325, + "ðĿ͏": 151326, + "ðĿͽ": 151327, + "ðĿķĤ": 151328, + "ðĿķĥ": 151329, + "ðĿķĭ": 151330, + "ðĿķı": 151331, + "ðĿķIJ": 151332, + "ðĿķ¥": 151333, + "ðĿķ´": 151334, + "ðĿķº": 151335, + "ðĿĸIJ": 151336, + "ðĿĸĽ": 151337, + "ðĿĸĿ": 151338, + "ðĿĸŀ": 151339, + "ðĿĹ©": 151340, + "ðĿĹ³": 151341, + "ðĿĹ½": 151342, + "ðĿĺĬ": 151343, + "ðĿĺĭ": 151344, + "ðĿĺĶ": 151345, + "ðĿĺ±": 151346, + "ðĿĺ´": 151347, + "ðĿĺ¿": 151348, + "ðĿĻĴ": 151349, + "ðĿĻĿ": 151350, + "ðĿĻŁ": 151351, + "ðĿϬ": 151352, + "ðĿĻŃ": 151353, + "ðĿĻ»": 151354, + "ðĿϾ": 151355, + "ðĿļĪ": 151356, + "ðĿļĭ": 151357, + "ðĿļij": 151358, + "ðĿļŁ": 151359, + "ðĿļł": 151360, + "ðĿļ£": 151361, + "ðĿĽ½": 151362, + "ðĿľĤ": 151363, + "ðĿľĶ": 151364, + "ðĿľĻ": 151365, + "ðŁĢ": 151366, + "ðŁĢĦ": 151367, + "ðŁĦ²": 151368, + "ðŁĦ¶": 151369, + "ðŁħIJ": 151370, + "ðŁħĸ": 151371, + "ðŁħļ": 151372, + "ðŁħĽ": 151373, + "ðŁħ¦": 151374, + "ðŁħ¶": 151375, + "ðŁħ»": 151376, + "ðŁħ¼": 151377, + "ðŁĨĥ": 151378, + "ðŁĨĨ": 151379, + "ðŁĨİ": 151380, + "ðŁĪ¯": 151381, + "ðŁĪ²": 151382, + "ðŁĪ¹": 151383, + "ðŁĮĩ": 151384, + "ðŁĮĵ": 151385, + "ðŁįĺ": 151386, + "ðŁİij": 151387, + "ðŁİ¿": 151388, + "ðŁıı": 151389, + "ðŁıĴ": 151390, + "ðŁı©": 151391, + "ðŁı¯": 151392, + "ðŁIJĢ": 151393, + "ðŁijĿ": 151394, + "ðŁĴ¹": 151395, + "ðŁĴº": 151396, + "ðŁĵŁ": 151397, + "ðŁĵª": 151398, + "ðŁĵ¼": 151399, + "ðŁĶĢ": 151400, + "ðŁĶĤ": 151401, + "ðŁĶĥ": 151402, + "ðŁĶĩ": 151403, + "ðŁĶĵ": 151404, + "ðŁĶ¢": 151405, + "ðŁĶ¤": 151406, + "ðŁĶ©": 151407, + "ðŁķĸ": 151408, + "ðŁķļ": 151409, + "ðŁķľ": 151410, + "ðŁķĿ": 151411, + "ðŁķŀ": 151412, + "ðŁķł": 151413, + "ðŁķ¢": 151414, + "ðŁķ³": 151415, + "ðŁĸĩ": 151416, + "ðŁĸij": 151417, + "ðŁĸ¶": 151418, + "ðŁĹģ": 151419, + "Ѩ": 151420, + "Úİ": 151421, + "á¡Į": 151422, + "Ḱ": 151423, + "áºĢ": 151424, + "á¼®": 151425, + "á½Ŀ": 151426, + "âĦ¬": 151427, + "âļ§": 151428, + "⼤": 151429, + "㳬": 151430, + "êĻĭ": 151431, + "ê¸ij": 151432, + "ëĶī": 151433, + "ëĹį": 151434, + "ë¡ij": 151435, + "ë¯ij": 151436, + "ë»ħ": 151437, + "ë¼Ŀ": 151438, + "ìĦIJ": 151439, + "ìī¡": 151440, + "ìĭ²": 151441, + "ìı±": 151442, + "ìŤ": 151443, + "ìĿ©": 151444, + "ìĿ¿": 151445, + "ìŁĻ": 151446, + "ìł°": 151447, + "ì¥ī": 151448, + "íĬŃ": 151449, + "íķ®": 151450, + "ï®ı": 151451, + "ðŁħ±": 151452, + "ðŁĨĴ": 151453, + "ðŁķĭ": 151454, + "Éĺ": 151455, + "Êĵ": 151456, + "Õĥ": 151457, + "à´´": 151458, + "à½ħ": 151459, + "áĨº": 151460, + "áĪĬ": 151461, + "á΍": 151462, + "áξ": 151463, + "áīIJ": 151464, + "áĮĥ": 151465, + "áĮ½": 151466, + "áĶŃ": 151467, + "áłĤ": 151468, + "ᳬ": 151469, + "ᨸ": 151470, + "á©ĭ": 151471, + "á¶ı": 151472, + "á¾Ķ": 151473, + "á¿IJ": 151474, + "á¿ļ": 151475, + "âĻĻ": 151476, + "âļĤ": 151477, + "âļĹ": 151478, + "â¡¢": 151479, + "⤦": 151480, + "ëĸ°": 151481, + "ë¤Ĥ": 151482, + "ë§ł": 151483, + "ë±ĭ": 151484, + "ë±IJ": 151485, + "ìĽ¢": 151486, + "ìľ¾": 151487, + "ì³ħ": 151488, + "ì»ģ": 151489, + "íģ»": 151490, + "íĥĻ": 151491, + "íĵĸ": 151492, + "íĵŃ": 151493, + "íķ±": 151494, + "íĽľ": 151495, + "ï¤ħ": 151496, + "ï¤Ĩ": 151497, + "ï¦ĥ": 151498, + "ï§©": 151499, + "ï¨Ĥ": 151500, + "ðIJ¤Ķ": 151501, + "ðIJŃĵ": 151502, + "ðIJ°¼": 151503, + "ðĿĵŀ": 151504, + "ðĿĵ°": 151505, + "ðĿĻľ": 151506, + "ðĿļģ": 151507, + "ðŁħ¢": 151508, + "ðŁıĩ": 151509, + "Ȳ": 151510, + "ʶ": 151511, + "ÔĪ": 151512, + "Ôij": 151513, + "Ýĵ": 151514, + "Ý¥": 151515, + "à¤ij": 151516, + "ॱ": 151517, + "à¬ī": 151518, + "à°³": 151519, + "à°µ": 151520, + "à²Ł": 151521, + "áĢı": 151522, + "áģ¼": 151523, + "áī¨": 151524, + "áĬĴ": 151525, + "áĭ©": 151526, + "áĮĦ": 151527, + "áĮĶ": 151528, + "áIJ§": 151529, + "áĴĮ": 151530, + "áĶħ": 151531, + "áĶĬ": 151532, + "áłĦ": 151533, + "á¨ģ": 151534, + "á¸ĥ": 151535, + "ḻ": 151536, + "âĶŀ": 151537, + "âĺµ": 151538, + "âļ£": 151539, + "â²¢": 151540, + "ãĪª": 151541, + "ä¶µ": 151542, + "ê²Ļ": 151543, + "ê²´": 151544, + "ê³Ĥ": 151545, + "롼": 151546, + "ìĨĬ": 151547, + "ì¼ĩ": 151548, + "íĭį": 151549, + "íĵ¬": 151550, + "íĵ®": 151551, + "íĵ¶": 151552, + "íĵ»": 151553, + "臘": 151554, + "ï¥ł": 151555, + "辰": 151556, + "ïѲ": 151557, + "ðIJŃĬ": 151558, + "ðIJ±ħ": 151559, + "ðĸ¥": 151560, + "ðĸ¥¨": 151561, + "ðĿij³": 151562, + "ðĿĵķ": 151563, + "ðĿĵ¬": 151564, + "ðĿĵ¹": 151565, + "ðĿĵ¾": 151566, + "ðĿĶĵ": 151567, + "ðĿķį": 151568, + "ðĿķ¡": 151569, + "ðĿķ±": 151570, + "ðĿĸĸ": 151571, + "ðĿĺı": 151572, + "ðĿĺIJ": 151573, + "ðĿĺļ": 151574, + "ðĿĻ®": 151575, + "ðĿϰ": 151576, + "ðĿϏ": 151577, + "ðĿĻº": 151578, + "ðĿϼ": 151579, + "ðĿϽ": 151580, + "ðĿĻ¿": 151581, + "ðĿļĦ": 151582, + "ðĿļı": 151583, + "ðŁħħ": 151584, + "ðŁħĵ": 151585, + "ÆĪ": 151586, + "àłĮ": 151587, + "áϳ": 151588, + "áļĮ": 151589, + "áĽħ": 151590, + "áĽIJ": 151591, + "á¤Ĭ": 151592, + "á¸Ĭ": 151593, + "âͽ": 151594, + "âķĬ": 151595, + "âĽĩ": 151596, + "âĽı": 151597, + "âĿª": 151598, + "âĿ«": 151599, + "⣰": 151600, + "ãĦį": 151601, + "ãĦĵ": 151602, + "ãĦ§": 151603, + "ãħĸ": 151604, + "ãī«": 151605, + "ê¦Ķ": 151606, + "ï±Ĭ": 151607, + "àºĤ": 151608, + "áħ£": 151609, + "á¥Ķ": 151610, + "ᥤ": 151611, + "âĨ¤": 151612, + "âĨ·": 151613, + "âĩŀ": 151614, + "âĸ¤": 151615, + "âŀ¶": 151616, + "ãμ": 151617, + "嘆": 151618, + "ðĵı§": 151619, + "âͲ": 151620, + "âĢ´": 151621, + "âĴŁ": 151622, + "âĴ¡": 151623, + "â°Ĥ": 151624, + "â°į": 151625, + "â°İ": 151626, + "â°IJ": 151627, + "â°ij": 151628, + "â°Ł": 151629, + "â°ł": 151630, + "â°¡": 151631, + "â¼Ń": 151632, + "ãĬ¥": 151633, + "âĴł": 151634, + "⽺": 151635, + "ãĩº": 151636, + "ãĩ½": 151637, + "ï¨Ĭ": 151638, + "áķ·": 151639, + "âį¨": 151640, + "âºŁ": 151641, + "â½Ĺ": 151642 + }, + "merges": [ + "Ġ Ġ", + "ĠĠ ĠĠ", + "i n", + "Ġ t", + "ĠĠĠĠ ĠĠĠĠ", + "e r", + "ĠĠ Ġ", + "o n", + "Ġ a", + "r e", + "a t", + "s t", + "e n", + "o r", + "Ġt h", + "Ċ Ċ", + "Ġ c", + "l e", + "Ġ s", + "i t", + "a n", + "a r", + "a l", + "Ġth e", + "; Ċ", + "Ġ p", + "Ġ f", + "o u", + "Ġ =", + "i s", + "ĠĠĠĠ ĠĠĠ", + "in g", + "e s", + "Ġ w", + "i on", + "e d", + "i c", + "Ġ b", + "Ġ d", + "e t", + "Ġ m", + "Ġ o", + "ĉ ĉ", + "r o", + "a s", + "e l", + "c t", + "n d", + "Ġ in", + "Ġ h", + "en t", + "i d", + "Ġ n", + "a m", + "ĠĠĠĠĠĠĠĠ ĠĠĠ", + "Ġt o", + "Ġ re", + "- -", + "Ġ {", + "Ġo f", + "o m", + ") ;Ċ", + "i m", + "č Ċ", + "Ġ (", + "i l", + "/ /", + "Ġa nd", + "u r", + "s e", + "Ġ l", + "e x", + "Ġ S", + "a d", + "Ġ \"", + "c h", + "u t", + "i f", + "* *", + "Ġ }", + "e m", + "o l", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "t h", + ") Ċ", + "Ġ{ Ċ", + "Ġ g", + "i g", + "i v", + ", Ċ", + "c e", + "o d", + "Ġ v", + "at e", + "Ġ T", + "a g", + "a y", + "Ġ *", + "o t", + "u s", + "Ġ C", + "Ġ st", + "Ġ I", + "u n", + "u l", + "u e", + "Ġ A", + "o w", + "Ġ '", + "e w", + "Ġ <", + "at ion", + "( )", + "Ġf or", + "a b", + "or t", + "u m", + "am e", + "Ġ is", + "p e", + "t r", + "c k", + "â Ģ", + "Ġ y", + "i st", + "-- --", + ". ĊĊ", + "h e", + "Ġ e", + "l o", + "Ġ M", + "Ġb e", + "er s", + "Ġ on", + "Ġc on", + "a p", + "u b", + "Ġ P", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "as s", + "in t", + "> Ċ", + "l y", + "ur n", + "Ġ $", + "; ĊĊ", + "a v", + "p ort", + "i r", + "- >", + "n t", + "ct ion", + "en d", + "Ġd e", + "it h", + "ou t", + "t urn", + "ou r", + "ĠĠĠĠ Ġ", + "l ic", + "re s", + "p t", + "= =", + "Ġth is", + "Ġw h", + "Ġ if", + "Ġ D", + "v er", + "ag e", + "Ġ B", + "h t", + "ex t", + "= \"", + "Ġth at", + "** **", + "Ġ R", + "Ġ it", + "es s", + "Ġ F", + "Ġ r", + "o s", + "an d", + "Ġa s", + "e ct", + "k e", + "ro m", + "Ġ //", + "c on", + "Ġ L", + "( \"", + "q u", + "l ass", + "Ġw ith", + "i z", + "d e", + "Ġ N", + "Ġa l", + "o p", + "u p", + "g et", + "Ġ} Ċ", + "i le", + "Ġa n", + "at a", + "o re", + "r i", + "Ġp ro", + "; čĊ", + "ĉĉ ĉĉ", + "t er", + "a in", + "Ġ W", + "Ġ E", + "Ġc om", + "Ġre turn", + "ar t", + "Ġ H", + "a ck", + "im port", + "ub lic", + "Ġ or", + "e st", + "m ent", + "Ġ G", + "ab le", + "Ġ -", + "in e", + "il l", + "in d", + "er e", + ": :", + "it y", + "Ġ +", + "Ġt r", + "el f", + "ig ht", + "( '", + "or m", + "ul t", + "st r", + ". .", + "\" ,", + "Ġy ou", + "y pe", + "p l", + "Ġn ew", + "Ġ j", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "Ġf rom", + "Ġ ex", + "Ġ O", + "l d", + "Ġ [", + "o c", + ": Ċ", + "Ġs e", + "Ġ le", + "---- ----", + ". s", + "{ Ċ", + "' ,", + "an t", + "Ġa t", + "as e", + ". c", + "Ġc h", + "< /", + "av e", + "an g", + "Ġa re", + "Ġin t", + "âĢ Ļ", + "_ t", + "er t", + "i al", + "a ct", + "} Ċ", + "iv e", + "od e", + "o st", + "Ġc lass", + "Ġn ot", + "o g", + "or d", + "al ue", + "al l", + "f f", + "( );Ċ", + "on t", + "im e", + "a re", + "Ġ U", + "Ġp r", + "Ġ :", + "i es", + "iz e", + "u re", + "Ġb y", + "i re", + "Ġ} ĊĊ", + ". p", + "Ġs h", + "ic e", + "a st", + "pt ion", + "tr ing", + "o k", + "_ _", + "c l", + "# #", + "Ġh e", + "ar d", + ") .", + "Ġ @", + "i ew", + "ĉĉ ĉ", + "Ġw as", + "i p", + "th is", + "Ġ u", + "ĠT he", + "id e", + "a ce", + "i b", + "a c", + "r ou", + "Ġw e", + "j ect", + "Ġp ublic", + "a k", + "v e", + "at h", + "o id", + "Ġ= >", + "u st", + "q ue", + "Ġre s", + ") )", + "' s", + "Ġ k", + "an s", + "y st", + "un ction", + "**** ****", + "Ġ i", + "Ġ us", + "p p", + "on e", + "a il", + "== ==", + "n ame", + "Ġst r", + "Ġ /", + "Ġ &", + "a ch", + "d iv", + "yst em", + "el l", + "Ġh ave", + "er r", + "ou ld", + "ul l", + "p on", + "Ġ J", + "_ p", + "Ġ= =", + "ig n", + "S t", + ". Ċ", + "Ġp l", + ") ;ĊĊ", + "f orm", + "p ut", + "ou nt", + "} ĊĊ", + "d d", + "it e", + "Ġg et", + "r r", + "om e", + "Ġ âĢ", + "ar am", + "c c", + "Ġ* /", + "E R", + "I n", + "le s", + "_ s", + "on g", + "i e", + "Ġc an", + "Ġ V", + "er v", + "p r", + "Ġ un", + "ro w", + "b er", + "Ġd o", + "l l", + "Ġ el", + "Ġs elf", + "at ed", + "ar y", + "Ġ .", + "' ]", + "u d", + "Ġ en", + "ĠT h", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "t e", + "_ c", + "u ct", + "Ġa b", + "or k", + ". get", + "Ġ #", + "a w", + "res s", + "o b", + "N ame", + "ap p", + "[ '", + "Ġal l", + "or y", + "it ion", + "an ce", + "e ar", + "Ġcon t", + "v ent", + "i a", + "Ġw ill", + "I N", + "ĠĠĠĠĠĠĠĠ Ġ", + "re turn", + "Ġ< /", + "d ata", + ") ĊĊ", + "R e", + "p le", + "il d", + "th er", + "Ġy our", + "\" Ċ", + "( $", + "Ġ out", + ") ,", + "Ġh as", + "S tring", + "s o", + "Ġ up", + "a x", + "Ġde f", + "Ġb o", + "g e", + "al se", + "O N", + "p er", + "ic h", + "Ġb ut", + "Ġ Ċ", + "Ġ _", + "_ m", + "ad d", + "que st", + "od el", + "s elf", + "er y", + "f t", + "en s", + "// //", + "a ke", + ". C", + "Ġg o", + "Ġf unction", + "Ġ K", + "iv ate", + "Ġ im", + "Ġcon st", + ". t", + "Ġ*/ Ċ", + ") ;čĊ", + "Ġv oid", + "Ġs et", + "ĠS ystem", + "c ri", + "( )Ċ", + "l i", + "ĉ if", + ". m", + "al ly", + "s et", + "e p", + "âĢĻ s", + "b o", + "de f", + "' ,Ċ", + "Ġm e", + "Ġ !", + "at ch", + "\" >", + "\" ,Ċ", + "e c", + "ĠI n", + "p h", + "Ġ |", + "_ f", + "Ġv ar", + "en ce", + "I d", + "re e", + "in k", + "le ct", + "u g", + "et h", + "Ġel se", + "-------- --------", + "con t", + "Ġs o", + "at ic", + "Ġl o", + "p ro", + "t on", + "s s", + "ow n", + "ab el", + "o int", + "ou s", + "el d", + "S T", + "T he", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "R E", + "\" :", + "ol or", + "t p", + "e g", + "ke y", + "u de", + "ĠS t", + "ou nd", + "Ġa r", + "\" );Ċ", + "en er", + "s er", + "b ject", + "ess age", + "f er", + "Ġm ore", + "ation s", + "ent s", + "Ġh is", + "Ġthe y", + ". S", + "Ġ Y", + "u se", + "n e", + "is h", + "ol d", + "_ d", + "i o", + "i eld", + "Ġp er", + "C ont", + "ing s", + "## ##", + "Ġd ata", + "Ġs a", + "e f", + "f o", + "Ġon e", + "en g", + "Ġd is", + "A T", + "Ġn ame", + "Ġtr ue", + "v al", + "le d", + ". f", + "Ġn e", + "Ġ end", + ". T", + "c re", + "ar k", + "lo g", + "E x", + "err or", + "_ id", + "ur re", + "ang e", + "Ġn ull", + "rr ay", + "Ġm y", + "p an", + "ic t", + "at or", + "V iew", + "L ist", + "ĉ return", + "âĢ Ŀ", + "Ġp re", + "Ġ x", + "cl ude", + "ar g", + "o v", + ". h", + "Ġ >", + "Ġthe ir", + "' )", + "ir st", + "ic k", + "g h", + "L E", + "O R", + "Ġpr ivate", + "t em", + "čĊ čĊ", + "us er", + "Ġ )", + "c om", + ". A", + "\" ;Ċ", + "Ġ id", + "re ad", + "Ġwh o", + "_ b", + "\" >Ċ", + "Ġt ime", + "Ġm an", + "r y", + "==== ====", + "rou p", + "ro p", + "p ublic", + "v el", + "um ber", + "b le", + "Ġwh ich", + "******** ********", + "Ġan y", + "Ġf alse", + "w e", + "Ġv alue", + "Ġl i", + "\" )", + "nd er", + "g r", + "Ġn o", + "p aram", + "f ig", + ".c om", + "Ġa pp", + "_ l", + "ion s", + ". D", + "ĠC h", + "Ġab out", + "Ġa dd", + "Ġs u", + "Ġstr ing", + "I D", + "Ġo ver", + "str ing", + ". l", + "our ce", + "_ C", + "] Ċ", + "Ġ qu", + "ĠS tring", + "c a", + "S E", + "Ġ ro", + "s h", + "u al", + "T ype", + "s on", + "n ew", + "er n", + "Ġa g", + "A R", + "] ;Ċ", + "] .", + "Ġ ?", + "ic al", + "Ġd es", + "ut h", + "i x", + "ay s", + "Ġt ype", + "' t", + "a ult", + "Ġin ter", + "v ar", + ". b", + "Ġp art", + ". d", + "urre nt", + "I T", + "E N", + "en c", + "( f", + "r a", + "v alue", + "ch o", + "ut ton", + "o se", + "Ġ! =", + "at er", + "à ©", + "re ate", + "ol l", + "p os", + "y le", + "n g", + "A L", + "us ing", + "am es", + "Ġ{ čĊ", + "at es", + "el y", + "Ġw ork", + "Ġ em", + "in al", + "Ġs p", + "Ġwh en", + ".s et", + "ĠĠĠĠ ĠĠ", + ") :Ċ", + "t o", + "qu ire", + "ind ow", + "le ment", + "pe ct", + "as h", + "[ i", + "Ġu se", + ". F", + "pe c", + "Ġa d", + "o ve", + "ce ption", + "eng th", + "in clude", + "ad er", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "at us", + "T h", + "it le", + "r it", + "v oid", + "() .", + "( Ċ", + "Ġof f", + "Ġo ther", + "Ġ& &", + "' ;Ċ", + "m s", + "Ġbe en", + "Ġt e", + "m l", + "c o", + "n c", + "erv ice", + "Ġ %", + "** Ċ", + "an n", + "ad e", + "ĊĊ ĊĊ", + "lo ck", + "con st", + "pon se", + "Ġs up", + "+ +", + "d ate", + "Ġa cc", + "Ġh ad", + "Ġb u", + "ĠR e", + "Ġw ere", + "Ġf ile", + "Ġw ould", + "ĠâĢ ľ", + "v en", + "is s", + "Ġ our", + "c lass", + "r aw", + "Ġy ear", + "D ata", + "Ġv al", + "Ġs ome", + "f ter", + "y s", + "Ġ// /", + "rou nd", + "v iew", + "Ġp e", + "Ġth ere", + "Ġsa id", + "d u", + "o f", + "l ine", + "/ *", + "d uct", + "Ġh er", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "R es", + "Ġc o", + "Ġcom m", + "is e", + "m in", + "ĠĠĠĠ Ċ", + "# include", + "eth od", + ". P", + "ut e", + "Ġas s", + "I nt", + "as k", + "lo c", + "Ġli ke", + "od y", + "Ġle t", + "lo ad", + "Ġa m", + "ro l", + "Ġg r", + "y p", + "Ġal so", + "ĠI t", + "ur l", + "if ic", + "or s", + "_ P", + "_ n", + "ig h", + "Ġth an", + "C om", + "A N", + "U L", + "at ing", + "ĠTh is", + "re f", + "_ S", + "Ġst atic", + "ro ll", + "Ġj ust", + "Ġres ult", + "i an", + "id th", + "Ġthe m", + ") );Ċ", + "d er", + "re ak", + "C on", + ": //", + "u le", + ".. .", + "ar ch", + "em ent", + "Ġ< <", + "us h", + "en se", + "ar r", + "Ġint o", + "c ess", + "am p", + "i ed", + "um ent", + "Ġ \\", + "] ,", + "w o", + "al s", + "Ġwh at", + "an c", + "V alue", + "= '", + "ol um", + "Ġp os", + "ag es", + "ay er", + "Ġs c", + "u es", + "\" )Ċ", + "_ T", + "Ġl ist", + "( s", + "Ġc ase", + "C h", + "ĉĉĉĉ ĉ", + "//// ////", + "pon ent", + "Ġ z", + "Ġk n", + "le t", + "D E", + "re d", + "Ġf e", + "Ġ} ,Ċ", + "Ġ ,", + "( t", + "Ġf irst", + "' );Ċ", + "w ord", + "Ġ import", + "Ġa ct", + "Ġch ar", + "C T", + "ĠT r", + "op le", + "= {", + "ĉ f", + "i ent", + "c ent", + ". j", + "le ction", + ") )Ċ", + "Ġon ly", + "Ġpr int", + "m er", + ". W", + "o ck", + "Ġ --", + "T ext", + "Ġo p", + "an k", + "Ġit s", + "Ġb ack", + "[ \"", + "Ġne ed", + "Ġc l", + "Ġs ub", + "Ġl a", + "( (", + ". \"", + "O bject", + "Ġst art", + "f ile", + "( self", + "n er", + "e y", + "Ġus er", + "Ġ ent", + "ĠC om", + "it s", + "ĠC on", + "ou ble", + "ow er", + "it em", + "ver y", + "ĠW e", + "lic k", + "Ġ Q", + "ph p", + "t tp", + "' :", + "ic s", + "Ġu nder", + "Ġ* Ċ", + ". L", + ") ;", + "ic es", + "Ġre g", + ") čĊ", + "ĉ public", + "S S", + "Ġth en", + "re at", + "i ous", + ". G", + "e k", + "ire ct", + "he ck", + "cri pt", + "n ing", + "ĠU n", + "Ġm ay", + "ĠW h", + "B o", + "I tem", + "str uct", + ". st", + "re am", + "ib le", + "lo at", + "Ġor g", + "u nd", + "s um", + "_ in", + ".. /", + "_ M", + "Ġh ow", + "r ite", + "' Ċ", + "T o", + "w w", + "Ġpe ople", + "ind ex", + ". n", + "ht tp", + "( m", + "ect or", + "Ġin d", + "Ġj av", + "] ,Ċ", + "ĠH e", + "_ st", + "f ul", + "o le", + ") {Ċ", + "Ġsh ould", + "op y", + "el p", + "i er", + "_ name", + "ers on", + "I ON", + "ot e", + "Ġt est", + "Ġb et", + "rr or", + "ul ar", + "ã Ģ", + "Ġ Ð", + "b s", + "t ing", + "Ġm ake", + "T r", + "Ġa fter", + "ar get", + "R O", + "olum n", + "r c", + "_ re", + "def ine", + "Ġr ight", + "r ight", + "d ay", + "Ġl ong", + "[ ]", + "( p", + "t d", + "con d", + "ĠP ro", + "Ġre m", + "ption s", + "v id", + ". g", + "Ġ ext", + "Ġ __", + "' )Ċ", + "p ace", + "m p", + "Ġm in", + "st ance", + "a ir", + "a ction", + "w h", + "t ype", + "ut il", + "a it", + "< ?", + "I C", + "t ext", + "Ġp h", + "Ġf l", + ". M", + "cc ess", + "b r", + "f ore", + "ers ion", + ") ,Ċ", + ". re", + "ate g", + "Ġl oc", + "in s", + "- s", + "tr ib", + "ĠI nt", + "Ġa rray", + ", \"", + "P ro", + "( c", + "ess ion", + "> ĊĊ", + "Ġs he", + "\" ]", + "ap h", + "Ġex p", + "ert y", + "ĠS e", + "Ġp ar", + "un c", + "E T", + "Ġre ad", + "pr int", + "Ġre l", + "Ġfor m", + "Ġd r", + "Ex ception", + "in put", + "Ġtr ans", + "#### ####", + "ord er", + "B y", + "Ġa w", + "it ies", + "u ff", + "pl ay", + ". add", + "ĠâĢ ĵ", + "Ġw ant", + "Ġcom p", + "ment s", + "Ġ| |", + "a z", + "b e", + "Ġn umber", + "Ġre quire", + "ĠE x", + "Ġc ol", + "Ġ key", + "em ber", + "Ġt wo", + "Ġs ize", + "Ġwh ere", + "U T", + "res ult", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ou gh", + "or ld", + "o od", + "u ch", + "at ive", + "g er", + "are nt", + "Ġ/ *", + "Ġar g", + "Ġwh ile", + "( this", + "Ġre c", + "Ġd if", + "St ate", + "Ġs pec", + "r ide", + "_ F", + "Ġlo ok", + "A M", + "il ity", + "et er", + "âĢĻ t", + "ĊĊ Ċ", + "ay out", + "---------------- ----------------", + "ag er", + "Ġc ould", + "Ġb r", + "end s", + "u res", + "Ġkn ow", + "et s", + "ĠI f", + "ĠS h", + ". w", + "b ack", + "Ġs er", + "Ġ+ =", + "Ġf r", + "() );Ċ", + "Ġh and", + "I nd", + "UL L", + "I m", + "() ;ĊĊ", + "Ġm ost", + "Ġtr y", + "Ġn ow", + "rou gh", + "> čĊ", + "ack age", + "Ġh im", + ". _", + "if y", + "Ġb reak", + "Ġ );Ċ", + "re n", + "# define", + "it t", + "Ġa p", + "ĉ c", + "( n", + "ĠY ou", + ": ĊĊ", + "- m", + "Ġe very", + "ust om", + "li ent", + "oc ument", + "cri ption", + "E rror", + "- b", + "Ð ¾", + "] [", + "tr ans", + "Ġp oint", + "Ġst d", + "Ġf il", + "T ime", + "Ġm od", + "Ġ ->", + "Ġ error", + "a h", + "Ġt ext", + "roll er", + "lo se", + "q l", + "Ġp ol", + "> <", + ". B", + "- c", + "Ġop en", + "Ġe st", + "ĠĠĠĠĠĠĠĠ Ċ", + "Ġn ext", + "I M", + "Ñ Ĥ", + "O T", + "à ³", + "Ġf ollow", + "cont ent", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "Ġin clud", + "H E", + "ĠR es", + "Ġh ref", + "Ð ¸", + "Ġc ar", + "yp es", + "im age", + "U n", + "Ġbo ol", + "A D", + "Ġg ame", + ".F orm", + "row s", + "* /", + "vel op", + ".D rawing", + "Ġp ath", + "is ion", + "Ġe ach", + "ĠP l", + "_t ype", + "P ath", + "ne ction", + "Ġa v", + "' ).", + "Ġsup port", + "EN T", + "re m", + "\" ).", + "Ġo wn", + "Ġc or", + "c ount", + "m iss", + "u ally", + "Ġm em", + "st d", + "i ence", + "se arch", + "\" ĊĊ", + "F orm", + "Ġs ex", + "en ame", + "Ġs ign", + "Ġ et", + "ĠĠĠĠĠĠĠĠ ĠĠ", + "', '", + "ĠA pp", + "Ġth ose", + "o ff", + "Ġ err", + "Ġs ystem", + "Ġbe st", + "c ode", + "Ġs ame", + "Ġd i", + "us s", + "Ġc reate", + "ath er", + "A rray", + ". in", + "f e", + "S ervice", + "U N", + "at s", + "Ġ Z", + "al th", + "Ġm ade", + "tr ue", + "A B", + "Ġm ark", + "r id", + "if ied", + ", čĊ", + "y n", + "p ress", + "Ġg roup", + "Ġf in", + "ĠL icense", + "F ield", + "eg er", + "Ġw orld", + "in ess", + "t y", + "Ġpro cess", + "( b", + "Ġc re", + "ar n", + "iv es", + "Ġm ain", + "ide o", + "_ g", + "A G", + "val id", + "im g", + "P I", + "Ġc olor", + "Ġre port", + "Ġt ake", + "ri b", + "O M", + "Ġd ay", + "Re quest", + "Ġs k", + "b ers", + "ĉ s", + ".A dd", + "o ot", + "Im age", + "Ġcom ple", + "ol lection", + "Ġto p", + "Ġf ree", + "A S", + "D e", + "ĠO n", + "I G", + "et a", + "D ate", + "Ġa ction", + "O ver", + "it or", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "n ot", + "Ġind ex", + "h er", + "ic on", + "O n", + ";čĊ čĊ", + "iv ity", + "m and", + ".W indows", + "O L", + "Ġre al", + "Ġm ax", + "l and", + ".. ..", + "r aph", + "Ġbu ild", + "le g", + "ass word", + "? ĊĊ", + "âĢ ¦", + "o ok", + "u ck", + "Ġm essage", + "t est", + "iv ers", + "Ġin put", + "Ġar t", + "Ġbet ween", + "G et", + "ent er", + "g round", + "en e", + "à ¡", + ".l ength", + "N ode", + "( i", + "C lass", + "f or", + "ĠâĢ Ķ", + "t en", + "o in", + "Ġ ke", + "u i", + "ĠI N", + "Ġt able", + "s ub", + "ĠL e", + "Ġhe ad", + "Ġm ust", + "//////// ////////", + ". util", + "Cont ext", + "Ġor der", + "Ġm ov", + "o ver", + "Ġcont in", + "Ġs ay", + "st atic", + ".T ext", + "Ġclass Name", + "pan y", + "Ġt er", + "he ad", + "r g", + "Ġpro duct", + "Th is", + ". âĢĿ", + "ĠB ut", + "lo y", + "Ġd ouble", + "s g", + "Ġpl ace", + ". x", + "m essage", + "Ġin formation", + "pr ivate", + "Ġo per", + "c ed", + "d b", + "\"> ", + "ater ial", + "ile d", + "Ġp ut", + "Q u", + "Ñ Ģ", + "un g", + "m ap", + "ĉĉĉĉ ĉĉĉĉ", + "Ġle vel", + "Com ponent", + "bo ok", + "cre en", + "_ RE", + "Ġcon fig", + "ã ģ", + "O r", + ". data", + "Ġd ocument", + "\", \"", + "trib ute", + "u x", + "L og", + "fer ence", + "p ost", + "_ e", + "Ġloc al", + "and om", + "ass ert", + "V al", + "lect ed", + "in a", + "atab ase", + "A dd", + "Ġcont ent", + ".p rint", + "s igned", + "r ic", + ".\" ĊĊ", + "Ġf a", + "! ĊĊ", + "- f", + "iv ed", + "Ġ quest", + ". ex", + "Ġf loat", + "Ġde velop", + "о Ð", + "M ap", + "ad ing", + "Ġpos s", + "U E", + "n amespace", + "_ O", + "ĉ b", + ".G et", + "> (", + "j son", + "etail s", + "Ġto o", + "Ġext ends", + "ĠN one", + "Ġf ore", + "( String", + "form at", + "Ġg reat", + "int er", + "ca le", + "Ñ ģ", + "r on", + "iv ing", + "E nt", + "enc y", + "x t", + "o y", + "Ġmon th", + "Ġh app", + "Ġsup er", + "b ar", + "def ault", + "_ de", + "ord s", + "l n", + "( {Ċ", + "ĠI nd", + "as es", + "Ġt itle", + "Ġcont ext", + "o h", + "- p", + "E m", + "Ġm et", + "T est", + "Ġl ife", + "_ v", + "ĠU S", + "U I", + "oc ation", + "m d", + "Ġ[ Ċ", + "Ġ ]", + "s w", + "Ġin cre", + "s cript", + "ent ial", + "w ays", + ". de", + "Ġs rc", + "Ġc atch", + "ĠA meric", + "// Ċ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "Ġp ay", + "pl it", + "âĢ Ķ", + "Ġc oun", + "ob j", + ".ph p", + "Ġch ange", + "eth ing", + "' re", + "ast er", + "lo s", + "l ation", + "ĠĠ Ċ", + "L e", + "à ¤", + "( {", + "read y", + "ĠN o", + "Ġpos ition", + "Ġo ld", + "Ġbo ok", + "able d", + "b ug", + "H and", + "} ;ĊĊ", + "is play", + "av ing", + "Ġgo ver", + "Ġv ersion", + "S ystem", + "n ect", + "res ponse", + "St yle", + "U p", + "ang u", + "Ġth ree", + "in it", + "er o", + "Ġl aw", + "end if", + "Ġb ase", + "em ail", + "( l", + "_ V", + "Ġcon f", + "AT E", + "Ġd uring", + "t es", + "Ġcon sole", + "ĠP r", + "Ġs pe", + "v es", + "p ath", + "ial og", + "d ition", + "_t o", + "ard s", + "Ġagain st", + "et work", + "ĠP h", + "_ L", + "c ur", + "im it", + "W ith", + "Ġp ower", + "i um", + "' ;ĊĊ", + "Ġw om", + "le ft", + "our ces", + "at ri", + "ĠI m", + "ĠM an", + "or th", + "$ {", + "qu als", + "es e", + "_s ize", + "Ġis s", + "ot al", + "- g", + "i que", + "r ame", + "Ġw idth", + "er g", + ") (", + "itt le", + "T R", + "ĠThe y", + "enc es", + "r l", + "on s", + "Ġl abel", + ". y", + "- t", + "up date", + "an el", + "s c", + ".t o", + "Ġpro ject", + "à ¼", + "Ġe lement", + "Ġsu ccess", + "ĉĉ Ċ", + ".s h", + "r am", + "ch ed", + "() )Ċ", + "Ġ( Ċ", + "Ġd ate", + "Ġto t", + "_ ST", + "A ll", + "ific ation", + "ĉ var", + "Ġt ri", + "ch em", + "m y", + "Ġb ig", + "ĠA d", + "ĠA t", + "ot s", + "n um", + "A ct", + "Ġm ap", + "er a", + "co pe", + ". $", + ", âĢĿ", + "Ġp op", + "Ġf ew", + "Ġl en", + "u id", + "et ers", + "u les", + "à Ń", + "s ource", + "http s", + "Ġd em", + "Ġe ar", + "######## ########", + "Ġm atch", + "or ies", + "ac es", + "ĠC l", + "Ġn ode", + "ir c", + "loc al", + "un ity", + "} ;Ċ", + "Ġan other", + "< <", + "og le", + "Ġs it", + "ew ork", + "T E", + ". I", + "N S", + "olog y", + "ou ght", + ".C ont", + "> >", + "Ġc are", + "st ate", + "ĉ private", + "Ġe ffect", + "++ )", + "_f ile", + "end ing", + "L ine", + "F or", + "i or", + "ĠS c", + "Ġf un", + ".S ize", + "ĉ else", + "] )", + "st art", + "v ious", + "Ġ} ,", + "our s", + "Ġle g", + "Ġs ervice", + "Ġs ince", + "ir on", + "L abel", + "Ġn on", + "Ġl os", + "ict ion", + "Ġf ull", + "act er", + "bo ard", + "g ress", + "Ġt urn", + "ith er", + ".s ize", + "Ġb ody", + "res h", + "et urn", + "( _", + "y les", + "orm al", + "p i", + "Ġsom ething", + "! --", + "u int", + "Ġpro du", + "Ġst and", + "Ġpro ble", + "Ġav ailable", + "m t", + "ĠB l", + "Ġ ...", + "Ġb lock", + "In put", + "Ġke ep", + "C ount", + "op en", + "Ġ[ '", + "Ġth row", + "uild er", + "A ction", + "Ġth ings", + "Tr ue", + "Ġ url", + "ĠB o", + "print f", + "Ġre d", + "j s", + ".c reate", + "ĠO r", + "St atus", + "In stance", + "Ġcont rol", + "Ġcom e", + "Ġc ustom", + "loc ation", + "m odel", + "Ġ čĊ", + "Ġs ource", + "Ġe as", + ". out", + "] ĊĊ", + "one y", + "Ġaw ait", + "Ġpart ic", + "A P", + "ub lish", + "od es", + "_p ro", + "p ly", + "rit er", + "Ġpro v", + "Ġm ill", + "H T", + "] )Ċ", + "Ġch ang", + "Ġas k", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "Ġout put", + "Ġem ail", + ".p ush", + "Ġ} čĊčĊ", + "in ation", + "atri x", + "T able", + "u ccess", + "] );Ċ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "Ġdis c", + "( [", + "Ġb usiness", + "he ight", + ". html", + "t a", + "f ield", + "Ġrequire d", + "_ R", + "Ġgover n", + "} čĊčĊ", + "le x", + ". ,", + "ĠS et", + "ur ch", + "// /", + "t s", + "a f", + "Ġm ight", + "ist ory", + "S tr", + "Ġne ver", + "Res ponse", + "ar se", + "ad a", + "ĠH ow", + "Ġ* )", + "Ġ ;", + "Ġh ard", + "A d", + "Ġinter n", + "us ed", + "( data", + "m od", + "ann el", + "Ġn p", + "ug g", + "Ġ/ >Ċ", + "Ġcal led", + "b ody", + "Ġch o", + "( r", + "_s et", + "ir d", + "Ġ> =", + "Ġ} ;Ċ", + "Ġo ptions", + "ĠG ener", + "Ġhe ight", + "P oint", + "Y ou", + "et y", + "C lick", + "Ġsm all", + "Ġ ide", + "Ġacc ess", + "angu age", + "Ġprot ected", + "Ġj ob", + "ĠTh ere", + "D ef", + "Ġadd ress", + "Ġu int", + "N ot", + "o o", + "ap s", + "< div", + "ain ed", + "at ur", + "Ġs um", + "- w", + "ĠD ate", + "Ġl ittle", + "Ġf ri", + "Y PE", + "Ġp ort", + "e h", + "pr ing", + "_p ath", + "Ġst atus", + "a im", + "bo ol", + "Ġap pe", + "Ġo s", + ". name", + "ens ion", + "_ G", + "Ġup date", + "Con fig", + "a ff", + "ER R", + "Ġ< =", + "at ely", + "# if", + "u ction", + "ĠT e", + "Ġl ink", + "ĠU ser", + ".f ind", + ". org", + "m e", + "Ġg iven", + "O ut", + "# endif", + "Ġbet ter", + "P age", + "Ġfe el", + "en n", + "M L", + "Ġal ready", + "Ġinclud ing", + "o ogle", + "r u", + "ic ally", + "pro p", + "le an", + "out er", + "Ġal ways", + "ord ing", + "I f", + "or age", + "Ġp arent", + "v is", + "ĉĉĉĉ ĉĉĉ", + "Ġg ot", + "st and", + "Ġle ss", + "/ s", + "ĠA ss", + "ap t", + "ire d", + "ĠA dd", + "Ġacc ount", + "p loy", + "Ġd er", + "res ent", + "Ġl ot", + "Ġval id", + "ĉ d", + "Ġb it", + "pon ents", + "Ġfollow ing", + "_ ex", + "S ON", + "Ġs ure", + "oc ial", + "Ġp rom", + "ert ies", + "he ader", + ".p ro", + "Ġbo olean", + "Ġse arch", + "k en", + "Ġor ig", + "Ġ er", + "E d", + "E M", + "a ut", + "l ing", + "al ity", + "By Id", + "b ed", + "ĉc ase", + "eth er", + "pos it", + "Ġinv est", + "ĠO R", + "Ġs ays", + "miss ion", + "AM E", + "Ġtem p", + "o ad", + "Ġre st", + "in fo", + "Ġinter est", + "A rg", + "Ġper form", + "pon s", + "ĠV iew", + "Ġv er", + "l ib", + "( const", + "U til", + "List ener", + "ar ge", + "Ġm ult", + "Ġd ie", + "Ġs ite", + "../ ../", + "E L", + "Ġval ues", + "Ġ} )Ċ", + "p en", + "N o", + "ic ro", + "Ġbe h", + "Ġ' ./", + "ac y", + "re c", + "() ->", + "ĉ ĠĠĠ", + "\" ))", + "Cont ent", + "_ W", + "ple ment", + "Ġw on", + "Ġv ideo", + "ad i", + "p oint", + "% %", + "Ġg l", + "erv ed", + "v iron", + "I F", + "ut ed", + "ã ĥ", + "' m", + "Ġc ert", + "Ġpro f", + "Ġc ell", + "ar i", + "Ġpl ayer", + "a is", + "Ġc ost", + "Ġh um", + "( R", + "Ġoff ic", + "k s", + ".t ext", + "at ures", + "Ġtot al", + "Ġ*/ ĊĊ", + "o pe", + "Ġst at", + "U M", + "Ġlo ad", + "ight s", + "Ġc lear", + "u ro", + "Ġte chn", + "up port", + "I R", + "Ġ row", + "Ġse em", + "Ġ q", + "Ġsh ort", + "ĠN ot", + "ip p", + "G roup", + "se ction", + "m ax", + "ir l", + "Ġover ride", + "Ġcom pany", + "Ġd one", + "\" );čĊ", + "Ġg re", + ". Re", + "Ġbel ie", + "r ist", + "Ġhe alth", + "AN T", + "() ĊĊ", + "ĠB e", + ". value", + "ĠG r", + "ott om", + "Ġarg s", + "P T", + "st atus", + "f unc", + "um ents", + "- h", + "N umber", + ": čĊ", + "ĠL og", + "er ver", + "Ġ) ,Ċ", + "am ent", + "Ġob j", + "in c", + "Ġchild ren", + "ic y", + "I Z", + "and s", + "ab ly", + "Ġdist rib", + "Ġc ur", + "er ial", + "Ġd ays", + "re ated", + "re ct", + "- l", + "ir m", + "idd en", + "om b", + "Ġin itial", + ".j s", + "Ġ â", + "Qu ery", + "Ġon line", + "im al", + ". con", + "a u", + "U rl", + "cont rol", + "ire ction", + "Ġin stance", + "OR T", + "ĠF r", + "wh ere", + "Ġjav ax", + "Ġorg an", + "ap ter", + "Ġre ason", + "o ptions", + "ĠM ar", + "( a", + "Ġwith in", + ".âĢĿ ĊĊ", + "O DE", + "_ DE", + "ad min", + "end ed", + "Ġdes ign", + "ĠD ata", + "un e", + "ĠF ile", + "ro ot", + "Ġc ent", + "Ġa rr", + "_ add", + "l en", + "p age", + ", '", + "_ str", + "Ġb ro", + "ab ility", + "ou th", + "/ c", + "p ose", + "irt ual", + "ear ch", + "_ url", + "arg in", + "H ttp", + "Ġs chool", + "av a", + "Ġcons ider", + ".l abel", + "ĠA rray", + "we b", + "o pt", + ".print ln", + "ul ation", + "Ġf unc", + "P L", + "Ġ\" \\", + "ĠT ext", + "act ory", + "(f unction", + "n ull", + "Ġen g", + "d own", + "Ġin clude", + "ĠE n", + "ĠD r", + "Ġd b", + "! !", + "s ide", + "Ġin it", + "quire d", + "ĠS he", + "C olumn", + "re act", + "Ġan n", + "Ġst op", + "Ġl ater", + "ĠTh at", + "ent ion", + "d f", + "U G", + "I LE", + "Ġc lient", + "ra ft", + "ff er", + "PO ST", + "el per", + "Ġlo ve", + "qu ote", + "ou d", + "Ġj son", + "Ġab le", + "Ġm en", + "A X", + "ĠC opyright", + "à ¶", + "av ig", + "re q", + "C lient", + "} );Ċ", + ".C om", + "er c", + "il t", + "pec ial", + "_c om", + "ro om", + ". Name", + "Ġg ive", + "am b", + "i ke", + "Ġcon dition", + "cl ient", + "ator s", + ": \"", + "Ġc opy", + "ut ure", + "ivers ity", + "ern al", + "{ {", + "ĠC an", + "ou nc", + "d o", + "Ġo cc", + "Ġapp ro", + "th ers", + "z e", + "Ġe ither", + "ĠF l", + "Ġimport ant", + "Ġle ad", + "at tr", + "AR T", + "E qual", + "Ġd a", + "et ch", + "ent ity", + "Ġfam ily", + "add ing", + "Ġo ption", + "Ġex ist", + "ic a", + "ĠO bject", + "' ve", + "v ers", + "ition al", + "out put", + "ĠTr ue", + "ĠO F", + "_t ime", + "Ġof fer", + "Ġ} );ĊĊ", + "H ER", + "eg in", + "\" \"", + "Ġw ater", + "Ġc he", + "ĠM y", + "ore d", + "Ġst ep", + "anc es", + "C K", + "A Y", + "à ¸", + "str uction", + "( C", + "ou ch", + "St ream", + "act ive", + "am a", + "Ent ity", + "pro duct", + "() {Ċ", + "Ġgovern ment", + "ĠI D", + "aj or", + "A nd", + "Ġdis play", + "Ð »", + "Ġt imes", + "Ġf our", + "Ġf ar", + "Ġpres ent", + "ĠN S", + "Ġ\\ Ċ", + "ue st", + "Ġb as", + "e cho", + "ch ild", + "if ier", + "Hand ler", + "Ġl ib", + "Prop erty", + "trans lation", + "Ġro om", + "Ġon ce", + "Ġ[ ]", + "cent er", + "================ ================", + "Ġresult s", + "Ġcontin ue", + "Ġt alk", + "_ get", + "Ġg row", + ".s w", + "e b", + "ĠP ublic", + "O P", + "ec ute", + "ol s", + "Ġ **", + "\" );ĊĊ", + "Ġm ass", + "ure d", + ".c lass", + "om ic", + "Ġme an", + "ip s", + "Ġa ut", + ");čĊ čĊ", + "Ġun til", + "Ġmark et", + "Ġare a", + "u it", + "Ġl ength", + "ĠW ith", + "struct or", + "e vent", + "\"> <", + "ĠS p", + "I V", + "Ġm us", + "if f", + "Ġk ind", + "a uthor", + "ound s", + "m b", + "_ key", + "w idth", + "posit ory", + "Ġl ight", + "u k", + "R ow", + "oh n", + "al f", + "viron ment", + "app er", + "ollection s", + "Ġs ide", + "_in fo", + "Ġex ample", + "im ary", + "Ġw r", + "Ġc amp", + "cri be", + "\" /", + "Ġm iss", + "w ay", + "Ġb ased", + "Ġpl an", + "V is", + "om ain", + "un k", + "Ġaw ay", + "U P", + "< T", + "O S", + "i od", + "ĠM on", + "âĢĻ re", + "Ġli k", + "à §", + "iv ely", + ". v", + "im er", + "iz er", + "S ub", + "Ġbut ton", + "ĠU p", + "Ġexper ience", + "C L", + "Ġre nder", + "_ value", + "Ġn ear", + "UR L", + "al t", + "Ġcoun try", + "ib ility", + "() ,Ċ", + "e ad", + "Ġa uthor", + "Ġspec ific", + "b ase", + "( name", + "on es", + "ĠD o", + "Ġal ong", + "y ear", + "Ġexp ress", + ". '", + "en v", + "Ġbeg in", + "Ġso ftware", + "Ġim p", + "Ġw in", + "ó n", + "Ġth ing", + "Tr ans", + "ĠT HE", + "Ġ< ?", + "Ġwh y", + "Ġdoes n", + "i j", + "g ing", + "ĉ g", + "Ġs ingle", + "off set", + "ar ning", + "og raph", + "le y", + "_c ount", + "Ġan al", + "cre ate", + "/ m", + "ĠR eg", + "un ch", + "= $", + "is k", + "Ġright s", + "( M", + "Ġ\"\" \"Ċ", + "ap er", + ".m odel", + "Ġp o", + "em pty", + "art ment", + "Ġa nt", + "ĠWh en", + "Ġwom en", + "ĠE d", + "Ġse ason", + "Ġde st", + "à £", + "( h", + "Ġposs ible", + "Ġse ver", + "Ġb tn", + "Ġdid n", + "Ġs ent", + "Ġen c", + "Ġcomm and", + "Ġ ],Ċ", + "_ x", + "Ġre cent", + "ol ution", + "v ector", + "ĠB y", + "ĠM ay", + "ĠA ct", + "» ¿", + "Ġm oney", + "IN T", + "bs ite", + "ĉ p", + ". čĊ", + "ï »¿", + "s l", + "atter n", + "ĠC lass", + "Ġto ld", + "ud io", + "c urrent", + "Ġe qu", + "Ġa uto", + "ĠSt ate", + "d a", + "ms g", + ")) ;ĊĊ", + "Ġwork ing", + "Ġqu ery", + "ĠB r", + "Ġw indow", + "a uth", + "on ly", + "ĉ t", + "Ġle ast", + "ag n", + "Ġex pl", + "it ter", + "ar ing", + "Ġc olumn", + "ĠGener al", + "\": \"", + "er al", + "ri or", + "Ġrec ord", + "I B", + "E X", + "Ġd at", + "Ġm aking", + "u ed", + "ĠC ar", + "em p", + "\" .", + "ĠM ed", + "Ġc lose", + "Ġper cent", + "Ġp ast", + "( g", + ": (", + "Ġw rite", + "Ġm ove", + "Ġp at", + "Cont rol", + ".T o", + "Ġv i", + "*/ Ċ", + "in ate", + "' ll", + "ag ed", + "N ull", + "Ġspec ial", + "IZ E", + "Ġc ity", + "/* Ċ", + "ĠE ng", + "ix ed", + "in ary", + "p y", + "Ġe ff", + "ar io", + "Ġt ell", + "av or", + "Ġse lect", + "le vel", + "im um", + "op er", + "B uilder", + "I P", + "') ,Ċ", + "es c", + "Ġf ont", + "\" ;ĊĊ", + "ĠA m", + "ish ed", + "ill s", + "Int er", + "O W", + "Ġcour se", + "Ġl ate", + "idd le", + "Ġam ount", + "Ġas ync", + "in o", + "c ul", + "Ġ ì", + "and le", + "_ user", + "Ġb en", + "ĠC al", + "Ġ$ _", + "ĠR ep", + "Ġen ough", + "T oken", + ". user", + "( j", + "S c", + "W idth", + "n ow", + "at form", + "Ġlook ing", + "Ġh old", + "M odule", + "IT Y", + "v o", + "is on", + ".D ata", + "y c", + "Ġp ot", + "ĠTr ump", + "id ual", + "id es", + "r t", + "Ġprop erty", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "am ework", + "g o", + "Ġl ow", + "Ġpar a", + "Ġpr ice", + "ur y", + "Ġto day", + "ro y", + "Ġ' /", + "Ġpol it", + "Ġ' '", + "ym b", + "P h", + "Ġad v", + "Ġatt ack", + "ĠS te", + "RO M", + "an a", + "Ġme ans", + "Ġst ory", + "id s", + "ak en", + "Ġme et", + "Ġm om", + "ĠâĢ ĺ", + "Ġ? >", + "Ġd en", + "ob ile", + "ch ange", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĊ", + "ic i", + "n a", + "ĠF orm", + "Ġs ort", + "Se lect", + "p are", + "Ġth ought", + "_ con", + "Ġt ask", + "oc us", + "ĠD E", + "ĠM in", + "Ġo pt", + "ĉb reak", + "um er", + "K E", + "th en", + "Ġd et", + "ĠT est", + "port s", + "Ġre view", + "(' /", + "m ove", + "Ġsw itch", + "ER T", + "p atch", + "ann ot", + "ã Ĥ", + "Ġab ove", + "it ive", + "Ġquest ion", + "ĠQ u", + "ãĢĤ ĊĊ", + "g le", + "Ġw ord", + "Ġprov ide", + "ĠR eturn", + "Ġre search", + "ã o", + "u str", + "Ġp ublish", + "chem a", + "} }", + "ĠC ON", + "- in", + "all back", + "Ġco ver", + "\\ \\", + "c olor", + "ĠI S", + "Ġwh ether", + "im ate", + "is c", + "B ar", + "Ġd iv", + "B e", + "our n", + "Ġh aving", + "le m", + "pl ayer", + "ab s", + "am era", + "ne y", + "Ġex c", + "get her", + "pl ied", + "a o", + "[ $", + "Ġ+ +", + "i pe", + "sh ow", + "/ d", + "[ :", + "ag ement", + "le v", + "_ ID", + "r ary", + "ad es", + "_ se", + "a use", + "Ġem ploy", + "Ġ*/ čĊ", + "Ġf re", + "Ġ' @", + "Ġcomple t", + "Ġl arge", + "r al", + "\\ x", + "Ġf ac", + "< String", + "Ġcre ated", + "up er", + ".st ate", + "Ġh ost", + "ener ic", + "/ b", + "( !", + "wh ile", + "i as", + "B UG", + "Ġ );ĊĊ", + "Ġro le", + "Re g", + "ĠC olor", + "St art", + "Ġp orn", + "t op", + "Ġwe b", + "Ġde v", + "Ġde al", + "++ )Ċ", + "Int eger", + "pos ition", + ". on", + "Ġ( \"", + "ä ¸", + "Ġproble m", + "s v", + "Ġp ress", + "AB LE", + "AT ION", + "ĠSe e", + "an ch", + "Ġth ough", + "le ep", + "Ġ< !--", + "Ġpoint s", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + ". J", + "Ġ ::", + "p tr", + "D B", + "++ ;Ċ", + ".p ng", + "n ode", + "so ft", + "pon d", + "Ġe ver", + "-------------------------------- --------------------------------", + "M enu", + "(' #", + "Ġs ervices", + "p g", + "} )Ċ", + "param s", + "Ġact ually", + "Ġ\" /", + "Em pty", + "M ethod", + "Ġid ent", + "un ic", + "Ġmill ion", + "Ġa ff", + "st yle", + "Ġcon c", + "i os", + "ign ment", + "UL T", + "P r", + "\" ;čĊ", + "Ġunder stand", + "u ary", + "Ġhapp en", + "Ġser ver", + "ĠC o", + "S C", + "Ġle s", + "Ġfile s", + "G rid", + "s ql", + "Ġof ten", + "Ġin fo", + "_ tr", + "s rc", + "on y", + "Ġsp ace", + "um b", + "Ġpass word", + "Ġst ore", + ", ĊĊ", + "ĠWh at", + "g ed", + "ĠF alse", + "U s", + "sw er", + "_ index", + "Ġform at", + "m ost", + "s m", + "N ew", + "Ġd etails", + "Ġpro b", + "ĠAN D", + "() čĊ", + "il ar", + "Ġ$ {", + "ry pt", + ".C ollections", + "$ this", + "ĠF ree", + "_ of", + "(f alse", + "d ated", + "Ġ> >", + "Ġf ace", + "CT ION", + "Ġs ave", + "Ġt yp", + "de v", + "(\" #", + "AG E", + "cont ainer", + "ed it", + "Q L", + "Ġitem s", + "Ġs ocial", + "i en", + "ĠRe act", + ") .ĊĊ", + "Ġm ar", + "Ġre du", + "ĠR E", + ".p ut", + "Ġm ajor", + "C ell", + "n ext", + "Ġexpect ed", + "Ġy et", + "Ġin div", + "trib utes", + "at is", + "am ed", + "Ġf ood", + "S ource", + "( string", + "Ġ+ Ċ", + "it es", + "d r", + "Ġmem bers", + "Ġcom b", + "item s", + "ĠP er", + "T H", + "= True", + "Ġb ar", + "_ SE", + "com m", + "( w", + ")ĊĊ Ċ", + "Ġs end", + "Ġin c", + "un signed", + "F A", + "Ġparam s", + "app ing", + "ro s", + "ug in", + "f a", + "Ġcon nection", + "Ġ} ;ĊĊ", + "Ġbe come", + "M ode", + "Ġe v", + "Ġdif f", + "ĠUn ited", + "He ight", + "ful ly", + "im ages", + "Ġm akes", + "Ġg lobal", + "Ġcont act", + "' :Ċ", + "Ġab s", + "а Ð", + "f loat", + "Ġex cept", + "ĠP ol", + "Ch ild", + "t yp", + "Ġcert ain", + "i ón", + "O UT", + "Ġim pro", + "ile s", + "Ġ-- >Ċ", + "ĠP art", + "val ues", + "os s", + "/ **", + "il it", + "ĠE vent", + "cur ity", + "st er", + "Ġchar acter", + "Ġnew s", + "Ġ\" ,", + "Ġde vice", + "c el", + "log in", + "he et", + "Def ault", + "@ \"", + "ĉ Ġ", + "c lick", + "( value", + "ĠA b", + "Ġpre vious", + "ERR OR", + "oc al", + "Ġm aterial", + "Ġbel ow", + "ĠCh rist", + "Ġmed ia", + "co ver", + "ĠU I", + "Ġf ail", + "Ġbl ack", + "Ġcom ponent", + "ĠAmeric an", + "Ġadd ed", + "Ġbu y", + "st it", + "Ġc ame", + "Ġde lete", + "prop erty", + "od ing", + "Ġc ard", + "rop s", + "Ġhttp s", + "Ġro ot", + "Ġhand le", + "C C", + "B ack", + "em plate", + "Ġget ting", + "_b y", + "m ail", + "_s h", + ". assert", + "ĠD ec", + "( true", + "Ġcom put", + "Ġcl aim", + "' =>", + "ĠS ub", + "Ġa ir", + "op s", + "n av", + "em ents", + "( id", + "Ġent er", + "ang ed", + "E nd", + "Ġloc ation", + "Ġn ight", + "Ġdo ing", + "ĠR ed", + "l in", + "}ĊĊ Ċ", + "vid er", + "Ġp ick", + "Ġw atch", + "ess ages", + "Ġhum an", + "Ġd am", + "p end", + "d ir", + "Ġt ax", + "Ġg irl", + "re et", + "Ġbo x", + "Ġstr ong", + "( v", + "re l", + "Ġinter face", + "Ġm sg", + "f ect", + "_ at", + "Ġh ouse", + "Ġtr ack", + "' );ĊĊ", + "j e", + "ĠJ ohn", + "ist r", + "( S", + "ub e", + "Ġc e", + "itt ed", + "V ER", + "* )", + "p arent", + "Ġapp lication", + "an y", + ".sw ing", + "Ġp ack", + "\\ u", + "Ġpr act", + "Ġse ction", + "ct x", + "Ġun signed", + ".P oint", + "ĠO ne", + "Ä ±", + "ip le", + "a id", + "Ñ ĥ", + "V ector", + "by te", + "Ġw ait", + "Ġà ł", + "à ¥", + "Ġto gether", + "Ġth rows", + "F O", + "' ))", + "h ost", + "is ing", + ". view", + "Ġter ms", + "fr amework", + "- r", + "Ġapp ly", + "Ġs ession", + "O ptions", + "ugg est", + "Ġo thers", + "w itter", + "Ġf und", + "In it", + "__ (", + "ens or", + "G ET", + "Ġsever al", + "i i", + "[ j", + "I O", + "Ġtem plate", + "P osition", + "Ġe con", + "ach ine", + "Ġ il", + ".s pring", + "m ain", + "el t", + "im ent", + "Re c", + "m m", + "ĠUn iversity", + "urs or", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "G L", + "ict ure", + "ith ub", + "c er", + "c ast", + "F rom", + "a les", + "Ġsub ject", + "p assword", + "n y", + "Ġes c", + ".w rite", + "ï¼ Į", + "Wh at", + ". H", + "Ġh istory", + "ĠF e", + "Ġindiv idual", + "un it", + "Ġ-- >", + "Ġd u", + "I ST", + "Ġus ers", + "f s", + "f alse", + "un t", + "T itle", + "Ġm ot", + "Ġf uture", + "ach ed", + "Ġstart ed", + "Ġm ode", + "Ġ' <", + "_ array", + "Ġa x", + "'] ;Ċ", + "i res", + "Th ere", + "ug ht", + "t ml", + "pos ed", + "ic ult", + "Ġto ok", + "Ġg ames", + "Ġ} }", + "Ġ? >Ċ", + "Ġproduct s", + "I s", + "Ġb ad", + "ĠD es", + ".p ath", + "' ĊĊ", + "ĠP ost", + "av el", + "( :", + "Ġneed s", + "Ġkn own", + "F l", + "Ġex ec", + "Ġse en", + "um e", + "Ġb order", + "Ġl ive", + "tem p", + "P er", + "Ġvar iable", + "i et", + "ĠD ef", + "Ġg e", + "em e", + "_b ack", + "f irst", + "Ġprovid ed", + "//////////////// ////////////////", + "Ġfil ename", + "Ġh ope", + "ul y", + "a uto", + "f ind", + "_ string", + "b tn", + "it ude", + "At tribute", + "Ġyou ng", + ".t xt", + "Ġwe bsite", + "ĠP rop", + "Ġe y", + "> ();Ċ", + "ion al", + "AR R", + "iction ary", + "ur ther", + ". ", + "t x", + "Ġp ur", + "u el", + "ymb ol", + "u ation", + "ang er", + "Ġback ground", + "ec ess", + "ef ined", + ".... ....", + "Ġdes cription", + "Ġrep resent", + "\") );Ċ", + "press ion", + "row ser", + "Ġser ies", + "ward s", + "($ _", + "a ise", + "Ġh ot", + "ac ity", + "ri es", + "action s", + "C reate", + "ad io", + "amp les", + "Ġorig inal", + "ens ive", + "f ont", + "st ream", + " using", + ".spring framework", + "ser ver", + "Ġb ill", + "AC K", + "il ename", + "Ġfr ame", + "Ġ= Ċ", + "Ed it", + "adi us", + "Ġd raw", + "ank s", + "Ġd eter", + "Ġcom es", + "_ int", + "Ġfore ach", + "ang le", + "Ġe lect", + "pect ed", + "He ader", + "ist ration", + "F alse", + "ĠG ame", + "Ġfil ter", + "Act ivity", + "Ġl arg", + "in ition", + "Ġ\" <", + "is ed", + "Ġrem ove", + "ĠTr ans", + "m et", + "se e", + "Form at", + "Com mand", + "ĠE X", + "N one", + "Ġfr ont", + "A SE", + "ĠR ec", + "ound ation", + "Ġv o", + "= \\\"", + "( *", + "Ch ange", + ".W rite", + "g roup", + "i ents", + "u y", + "******************************** ********************************", + "Ġd ig", + "h r", + "( -", + "Ġg en", + "n umber", + "ve c", + "uro pe", + "ent ry", + "L L", + "Ġst e", + "Val id", + "'] ,", + "_p aram", + "Ġse lected", + "Ġacc ording", + "ĠD is", + "Ġ util", + "B uffer", + "_ error", + "Ġass oci", + "_S IZE", + "Ġw or", + "Ġprint f", + "r ag", + " ł", + "D D", + "ĠV al", + "Ġact iv", + "E ng", + "et ime", + "Ġv irtual", + "a ign", + "a ur", + "ĠP res", + "ĠEx ception", + "Ġany thing", + "ĠO ff", + "Ġh ours", + "Ġw ar", + "Arg s", + "ag ing", + "Ġmodel s", + "ĠT ime", + "O b", + "am s", + "j oy", + "Ġear ly", + ". read", + "Ġc enter", + "ĠIn itial", + "Ġl anguage", + "l ength", + "x y", + "Ġs n", + "Ġin f", + "P ost", + "Ġag o", + "Ġeas y", + "_c ode", + "ĠAN Y", + "_ ch", + "Ġdown load", + "( T", + "av ed", + "âĢ ĵ", + "Ġstud ents", + "Ġf ig", + "l ight", + "x x", + "Ġbu ffer", + "ĠD ep", + "ĠM ath", + "IT H", + "Ġvar i", + "Ġd ue", + "F actory", + "Ġp or", + "Ġe p", + "ot ype", + "Ġcan not", + "Ġwh ite", + "< int", + "ter n", + "Ġreg ister", + "Ġpre d", + "cl us", + "_d ate", + "Ġ/ **", + "Ġa uth", + "Ġ[ ]Ċ", + "Ġper iod", + "n own", + "Ġv ot", + "Ġs creen", + "' d", + "T ypes", + "Ġt mp", + "е Ð", + "ur al", + "Ġben ef", + "_ y", + "Ġn et", + "ĠSt ates", + "'] ['", + "ĠN e", + "ĠN OT", + "Ġn eg", + "Ġcomm on", + "s cope", + "Ġc red", + "g es", + "_T YPE", + "Ġs uggest", + "o om", + ".ĊĊ Ċ", + "Ġac cept", + "Ġr andom", + "er m", + "ĠV ector", + "w ith", + "T ER", + "( str", + "Ġres pons", + "Ġh it", + ".S et", + "gr id", + "ri a", + "Ġc lick", + "und le", + "C ase", + "ins ert", + "Util s", + "Ġ\"\" \"", + "Ġim plement", + "at al", + "tem pt", + "tem plate", + "oc r", + "return s", + "Ġplay ers", + "us ers", + "ed ef", + "ĠTh ese", + "Ġam ong", + "Ġde b", + "h a", + ".get Element", + "Ġc irc", + "Ġan swer", + "Ġw alk", + "Ġt reat", + "ĠG e", + "ĠC reate", + "Ġa ge", + "Ġre q", + "O ST", + "ang ular", + "Ñ ı", + "Ġf ive", + "Ġdistrib uted", + "Ġfri end", + "T P", + "Ġc lean", + "ow s", + ".Control s", + "d is", + "Ġw ords", + ". io", + "z y", + "Ġhe ader", + "ĠC heck", + "âĢĻ m", + "j ust", + "h older", + "=\" čĊ", + ". annot", + "Ġcol lection", + "' .", + "Ġsim ilar", + "Ġt aken", + "(\" %", + "Or der", + "'] Ċ", + "-m d", + "ĠT H", + "ac ed", + "Ġis n", + "/ j", + "Ġs on", + "gr aph", + "ĠInt eger", + "Ġn ecess", + "re en", + "Ġ um", + "Ġ\\ <", + "Ġmom ent", + "Ġbr ing", + "Ġind ic", + "ys is", + "Le vel", + "ver se", + "urre nc", + "_t est", + "Ġent ire", + "D own", + "Ġ}ĊĊ Ċ", + "( result", + "ĠRe ad", + "à ¨", + "M od", + "Ġtry ing", + "\") ,Ċ", + "Ġm ember", + "ĠC or", + "OD O", + "- control", + "un time", + "ĠS im", + "D ialog", + "pl ot", + "_ on", + "Ġph ys", + "} /", + "Ġn amespace", + "ĉ čĊ", + "ac c", + "Pl ayer", + "A RE", + "Ġf oot", + "Ġbo ard", + "p art", + "Ġs us", + "w ise", + "ĠM c", + "Ġp ush", + "AT A", + "Ġp lease", + "ri ed", + "we et", + "b it", + "id ed", + "V E", + "ĠS w", + "U B", + "Ġt ypes", + "ed ia", + "Ġc los", + "ace book", + "Wh en", + "Ġed it", + "ig ger", + "Ġen erg", + "Cont ainer", + "Ġph ot", + "ĠC ount", + "ĠE urope", + ".I s", + "ĠR uss", + "pe ed", + "ĠS tr", + "Ġp y", + "Ġc ult", + "Ġdef ined", + "cc ount", + "Ġob t", + ".L ocation", + "Ġth read", + "il le", + "Ġinst ead", + "str ong", + "ĠS ec", + "U RE", + "Ġide a", + ". se", + "em y", + "select ed", + "Con nection", + "ac ing", + "th read", + ".n ext", + "Ġc oll", + "Ġfil m", + "ist ic", + "Ġcomp et", + "Ġcon n", + "th ough", + "Ġcom pan", + "ock et", + "Ġte ach", + "= (", + "Ġph one", + "Ġact ive", + "de lete", + "tr ies", + "Ġm o", + "Ġde ath", + "} );ĊĊ", + "oc ol", + "W idget", + "Ġart icle", + "ro du", + "and id", + "Ñ ĭ", + "ĠC r", + "k a", + "() :", + "lo od", + "ĉĉĉ Ċ", + "Ġal most", + "Ġs ell", + "erv let", + "ri p", + "Un it", + "Ġapp lic", + "Ġcon nect", + "Ġfe ature", + "Ġv ia", + "' ),", + "Ġl im", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠG u", + "Eng ine", + "Ġen s", + "Ġen vironment", + "b lock", + "HER E", + "N ULL", + "g y", + "t ag", + ") ).", + "ex p", + "Ġcom pl", + "Ġinst all", + "Ġcomple te", + "que ue", + "atur al", + "Ġgener al", + "th on", + "Ġask ed", + "o res", + "( res", + "Ġres erved", + "S P", + "ĠâĢ ¦", + "Å Ĥ", + "Ġsign ific", + "O ff", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠA g", + "ĠJ ust", + "ĠE rror", + "Ġin fl", + "ad ata", + "Ġ icon", + "ask s", + "' '", + "_ LO", + "? .", + "ac count", + "Ġ( *", + "' )ĊĊ", + "r ap", + "_ var", + "ĠF OR", + "Ġpart y", + "ĠY our", + "c at", + "str y", + ". new", + "bo ot", + "ĠN ov", + "Ġv ector", + "Ġn ormal", + "Ġf urther", + "Re pository", + "Ġd atabase", + "att le", + "Ġmus ic", + "Ġspe ed", + "Ġd oc", + "pro cess", + "IG HT", + ".p arse", + "Ġt aking", + "Ġvi ol", + "ce ed", + "ĠA fter", + "Ġfor ward", + "Ġc rit", + "\"/ >Ċ", + "ro t", + "Ġfa iled", + "ef ore", + "Ġconc ern", + "o e", + "b a", + "Ġs ender", + "Ġter m", + "h as", + "=\" #", + "Ġpot ential", + "N um", + "Ġpublish ed", + ".c lose", + "ĠIm age", + "str aint", + "U D", + "ĠO b", + "Ġprob ably", + "l im", + "\" :Ċ", + "olum e", + "Ġcon sum", + "ag ue", + "ens ions", + "Ġinvest ig", + "- year", + "') ;", + "-s m", + "Ġen joy", + "or ig", + "er ing", + "c p", + "le ased", + "ple ments", + "Ġreturn s", + "p at", + "B O", + "ĠH ouse", + ".L abel", + "Ġwe ight", + "igh b", + "Ġcondition s", + "Ġex ception", + "d escription", + "Ġtr ad", + "- to", + "Ġ{ }", + "Ġmod ule", + "EN D", + ". ap", + ".p rops", + "Ġcon structor", + "av es", + "Ġf avor", + "ĠN ow", + "; i", + "ĠM ain", + "_ k", + "er ies", + "âĢĻ ll", + "trans form", + "imest amp", + "P re", + "Ġm er", + ". res", + "st ant", + "L ocation", + "_N AME", + "Ġlos s", + "Ġ ĊĊ", + "n et", + "Ġeng ine", + "B lock", + "Ġiss ues", + "Ġpar se", + "ĠB ar", + "Ġst ay", + "ĠJ SON", + "Ġd om", + "air s", + "w ner", + "Ġl ower", + "\", čĊ", + "ĠD em", + "uf act", + "Ġp s", + "Ġper fect", + "R L", + "Ġed uc", + "l s", + "em ory", + "ARR ANT", + "u ge", + "Ġex act", + ". key", + "al led", + "e ch", + "ie f", + "\\ /", + "o ke", + "Ġfor mer", + "al loc", + "Ġs ix", + "id a", + "Ġm argin", + "Ġhe art", + "al d", + "p ack", + ".getElement ById", + "ĠW ARRANT", + "Ġr ather", + "Ġbuild ing", + "er man", + "lic e", + "Ġquest ions", + "iz es", + "le ge", + "irect ory", + "Ġj e", + "Ġc as", + "pro ps", + "ut f", + "Ġse curity", + "Ġhow ever", + "we ight", + "Ġins ide", + "Ġpres ident", + "Ch ar", + "ĠW ITH", + ".m ap", + "Ġgr aph", + "Ġt ag", + "_st atus", + "Ġat tempt", + "op p", + "us es", + "ĉ const", + "Ġr ound", + ", $", + "Ġfri ends", + "Em ail", + "? >", + "Res ource", + "KE Y", + "os p", + ". query", + "ĠN orth", + "able s", + "ist rib", + "_c lass", + "el lo", + "Th at", + "Ð º", + "pecial ly", + "ĠPres ident", + "Ġcamp aign", + "Ġal t", + "are a", + "Ġch all", + "Ġop port", + ".C on", + "Ġenerg y", + "li ke", + ". string", + "ing ton", + ") *", + "y y", + "Ġprof ession", + "ir th", + "Ġse g", + "æ ľ", + "Ġh or", + "i ers", + "c an", + "Ġbeh ind", + "Pro duct", + "f g", + "ĠS k", + ".j pg", + "? :", + "] ;ĊĊ", + "Ġcall back", + "ĠH ttp", + "Ñ Į", + "l ong", + "M S", + "AT H", + "Ġr aise", + "Ġwant ed", + "row n", + "ut or", + "l t", + "] =", + "el ine", + "M A", + "Ġse par", + "c s", + "se mb", + "D is", + "bs erv", + "ĠW ill", + "Ġpol icy", + "Ġth ird", + "ph one", + "Ġb ed", + "/ g", + ". __", + "ĠIn c", + "iz ing", + ".re move", + "in stance", + ".t ype", + "Ġs erv", + "E ach", + "Ġh ar", + "ĠM essage", + "( key", + "SE LECT", + "P os", + ")) ;čĊ", + "Ġre comm", + "Ġtr aining", + "ĠE nt", + "ĠCh ar", + "ic ht", + "(f ile", + "Ġp rior", + "G ame", + "Ġex it", + "Param s", + ".c ore", + "P C", + "n es", + "anc ed", + "( request", + "P assword", + "} >Ċ", + "Ġm ag", + "Ġre lease", + "Ġsh all", + "ud ent", + "ĠS outh", + "and o", + ": '", + ".Tab Index", + "s k", + "ann er", + "is set", + "Ġout side", + "led ge", + "Ġ å", + "ĠR ob", + "Ġim m", + "! Ċ", + "ĠWe b", + "D es", + "B C", + "anc ial", + "R oute", + "D ec", + "fer ences", + "Ġp urch", + "ĠM odel", + "ct or", + "g n", + "_st art", + "_ un", + ". *", + "is es", + "Ġg round", + "Ġun ique", + "Ġbe aut", + "{ \"", + "Ġp our", + "ĠO ct", + "Ġt ree", + "set s", + "_ res", + "') ->", + "_re g", + "(\" \\", + "Ġby te", + "B l", + "Ġd ating", + "Ġm atter", + "ĠR em", + "Ġ' ../", + "ĠA ug", + "ĠL a", + "Ġ$ (", + "ourn al", + "i am", + "Ġshow s", + "w rite", + "Ġb all", + "Ġsim ply", + "Ġf ast", + "Ġmem ory", + "A SS", + "ĠO f", + "ov ed", + "ant e", + "a ul", + "ist ry", + ")) );Ċ", + "Ġf it", + "< string", + "Ġpolit ical", + "anc el", + "_ .", + "c ard", + ".c urrent", + "o ch", + "_ image", + "\\ t", + "# Ċ", + "( L", + "Ġindu stry", + "com ing", + "Ġex tra", + "Ġreport ed", + ".st art", + "Ġres ources", + "Ġim g", + "fl ow", + "_E X", + "(n ull", + "ĠP re", + "Ġwr ong", + "inter face", + "Param eter", + "n ers", + "á »", + "t ure", + "ers ist", + "oun try", + "Ġseem s", + "al ance", + "de st", + "ĉ String", + "Ġm aint", + "Ġun it", + "act ers", + "ĠT R", + "if ul", + "export s", + "pro ject", + "App lication", + "leg ate", + "Ġt akes", + "ter m", + "Ġet c", + "ust er", + "Ġappe ar", + "add ress", + "Ġf em", + "h s", + "Ġh om", + ", -", + "Ġdiff icult", + "Ġcom ing", + "O pen", + "Ġset tings", + "ĠW ar", + "ĠTh en", + "Ġaut om", + "ĠF oundation", + "Ġqu ite", + "D escription", + "Ġb log", + "i qu", + "P S", + "_f ield", + "J son", + "SS ION", + "ĠS ch", + "ĠL O", + "Ġdes cri", + "Ġevery one", + "Ġpret ty", + "Ġlong er", + "Ġm enu", + "Ġcurrent ly", + "se c", + "Ġrelations hip", + "################ ################", + "ĠM ap", + "as et", + "Ġparam eters", + "Ġcr ush", + "\" čĊ", + "IL ITY", + "ig ration", + "Ġc out", + "t otal", + "Ġn ames", + "nd ef", + "\") ;", + "ri end", + "yn amic", + "Ġeff ort", + "Ġact ual", + "Ġfield s", + "O UN", + "t ers", + "Ġf ix", + "_m odel", + "Ġc ases", + "C A", + "M y", + "Inter face", + "ĠS E", + "] ]", + "al le", + "ĠN ational", + "ĠArray List", + "in line", + ". V", + "ar a", + "ref ix", + "as c", + "Re ader", + "ĠÐ ¿", + "ast ic", + "( ()", + "C l", + ".annot ation", + "Ġperform ance", + "ail y", + ".to String", + ".n et", + "view s", + ". end", + "ay ers", + "l ate", + "ĠA pr", + "ed eral", + "'] )", + ".b ody", + "Ġhigh er", + "_f l", + "c r", + "al ert", + "_n ode", + "ĠG oogle", + "Ġit self", + "A uth", + "urrenc y", + "Ġsignific ant", + "app end", + "Ġres pect", + "str ap", + "Ġun a", + "riter ia", + "P ORT", + ".ap ache", + "Out put", + "Ġpro gress", + "Ġm id", + "ĠM icrosoft", + "Ġres ource", + "ab lish", + "Ġd im", + ". load", + ".A pp", + "Ġd irection", + "Ġadd itional", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "Ġnum bers", + "Ġcompan ies", + ".T h", + "Ġs ound", + "user name", + "Ġstat ement", + "Ġal ert", + "Ġcon tract", + "h ome", + "_l ength", + ".Com ponent", + "e v", + ". Ex", + "ï¼ ļ", + "\" ;", + "ĠH igh", + "Ġ )ĊĊ", + "ĠP oint", + "op h", + "Ġl ines", + "-> _", + "\" )ĊĊ", + "o x", + "app lication", + "Ġ ]Ċ", + "ĊĊĊĊ ĊĊ", + "Ġso on", + "ction s", + "ing er", + "Ġj oin", + "ĠP e", + "Ġ ë", + "Ġl as", + ". E", + "c ss", + "/ or", + "ĠSt art", + "ĠT O", + "Ġsub s", + "con n", + "com ponents", + "DE BUG", + "qu are", + "F unction", + "end ar", + ". index", + "Ġf ill", + "Ä Ļ", + "Ġcho ose", + "h ow", + "ĠAmeric a", + "ass ets", + "-------- ----", + "ĠV alue", + "Ġoff ice", + "Ġv eh", + "Ġtrans form", + "ĠAr t", + "Ġin de", + "Ġf n", + "Ġim plements", + "ang o", + "ple te", + "+ \"", + "t mp", + "am ily", + "Ġhas h", + "miss ions", + "E ST", + "g t", + "Pro vider", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "Ġfl ag", + "Ġpartic ip", + "d en", + "ĠReturn s", + "Ġnot e", + "ü r", + "p m", + "ide os", + "Ġspec ified", + "ĠE N", + "est er", + "ol id", + "Ġup on", + "( std", + "ĉ v", + "Ġ' \\", + "u z", + "Ġv ert", + "Ġv ict", + "ĉ self", + "Ġ\" $", + ". k", + "Ġgroup s", + "g ithub", + "l ang", + "Ġm ut", + "T O", + "Ġv e", + "ĠP lease", + ";ĊĊ Ċ", + "ac cess", + "Ġ{ \"", + "re a", + "Ġr isk", + "ick er", + "og gle", + "ĉ while", + "AN G", + ".s end", + "Ġwom an", + "Ġget s", + "Ġ ign", + "ĠI d", + "_ log", + "ON E", + "Ġe vid", + "ĠH ar", + "_s ub", + "Ġend l", + "Ġinclud ed", + "() );ĊĊ", + "ĠA p", + "ig r", + "Ġs em", + "ĠBl ack", + "d oc", + "_t able", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "- up", + "Ġca use", + "Ġ ..", + "Ġv an", + "_d ict", + "Ġf ocus", + "IN D", + "CE SS", + ".L og", + "Ġmult iple", + "id o", + "Ġreg ard", + "- M", + "and ler", + "our se", + "Ġde g", + ". U", + "Ġadd ition", + "Ġvar ious", + "Ġrece ive", + "е н", + "ĠH T", + "Ob j", + "D F", + "Ġincre ase", + "ĠO pen", + "] ;", + "Ġcomm it", + "? Ċ", + "ateg ories", + "at ory", + "sh ip", + "ĠM ich", + "Ġh tml", + "rom ise", + "Ġle ave", + "Ġstr ateg", + "av en", + "ĠCon sole", + "k nown", + "- n", + "_ LE", + ".com ponent", + "Ġb re", + "S ession", + "i ance", + "Ġal ign", + "typ edef", + "_ result", + "ĠW HERE", + ".s plit", + "Ġread ing", + "FA ULT", + "Ġc lo", + "Ġnot ice", + "_p r", + "ar ter", + "Ġlo ck", + "Ġstand ard", + "et ic", + "ell ow", + "Ġp adding", + "ĠH is", + "Ġst ates", + "_c ast", + "( P", + "a a", + "Ġintern al", + "e an", + "ĠP RO", + "ĠK ey", + "Ġes pecially", + "m ing", + "Ġc ross", + "Ġn ational", + "_ object", + "f ilter", + "Ġs cript", + ". update", + "_ i", + "ĠAss ert", + "/ core", + "%% %%", + "Ġproble ms", + "ist or", + "Ġ. =", + "Ġar ch", + "Ġwrit ten", + "Ġm ilit", + "M ENT", + ". ch", + "ca pe", + "ĠM us", + "_ config", + "ĠA PI", + "fo ot", + "Ġim ages", + "end l", + ". In", + "F irst", + "Ġpl atform", + ".pro t", + "O ption", + "st e", + "ĠT ODO", + "Ġfor ce", + ". cont", + "ĉ echo", + "ĠD av", + "P tr", + "( B", + "R T", + "ĠB ase", + "] ['", + "Ġann ounc", + "con sole", + "ĠP y", + "d s", + ". as", + "Ġpre vent", + "ap an", + "Ġ{ '", + "} '", + "Ġde ad", + "V AL", + "Q UE", + "**************************************************************** ********", + "Ġch arg", + "R eturn", + "Ġf ul", + "d om", + "Ġr ules", + "Ġmod ify", + "Ġe val", + "h am", + "at ement", + "\\ <", + "ul a", + "= False", + "R A", + "Ġcont ains", + "Ġst ack", + "m ar", + "Ġ{ }Ċ", + "Ġund efined", + "A ss", + "ĠCh ina", + "ve y", + "* Ċ", + "Ġplay ing", + ") /", + "act or", + "Ġb ottom", + "li er", + "ĠN umber", + "Ġcou ple", + "D C", + "ĠS O", + "g or", + ".set Text", + "s uccess", + "com mand", + "F ilter", + "ĠO ur", + "_ item", + "Ġc tx", + "Ġro ad", + "V ersion", + "c ase", + "ur t", + "av ior", + "y ch", + "semb ly", + "ĠPro duct", + "Ġh eld", + "a fe", + "Ġinclud es", + "< quote", + "Ġa void", + "ĠF in", + "ĠM od", + "Ġt ab", + "an o", + "à ±", + "ipp ing", + "- e", + "Ġins ert", + "t arget", + "ch an", + ".M odel", + "IM E", + "\\ Ċ", + "Ġm achine", + "av y", + "ĠN O", + "ĠInt er", + "Ġoper ation", + "mod al", + "T ag", + "] :", + "Ġprodu ction", + "Ġare as", + "Ġre n", + "_f rom", + "n bsp", + "Ġoper ator", + "m en", + "app ed", + "_p er", + "z en", + "(\" .", + ".s ave", + "=\" {{", + "Ġt or", + "( response", + "Ġc andid", + "Ġcon v", + "a iled", + "ĠL ib", + "com p", + "ur a", + "ï¿ ½", + "ĠH ere", + "Ġarg ument", + "h ood", + "Ġest ablish", + "ograph y", + "Ġon Click", + "amb da", + "Ġs ch", + "Ġmov ie", + "Ġse c", + "Ġact ivity", + "Ø §", + "Ġs ql", + "_ all", + "inc ip", + "Ġprovid es", + "Ġs ys", + "ack et", + "Ġwas n", + "Ġus es", + "ĠF unction", + ".g oogle", + "ĠRes ult", + "Vis ible", + "ag ma", + "el come", + "ĠS y", + "ĠC ent", + "AL SE", + "ac ión", + "EX T", + "Ġl icense", + "ĠL ong", + "Ġacc om", + "Ġab ility", + ". height", + "Act ive", + "olog ical", + "ol y", + ")) ,", + ".S e", + "Ġparam eter", + "pr ite", + "AB ILITY", + ".s ervice", + "ĠG roup", + "_ query", + "ĠI tem", + "in ing", + "Ġj ud", + "im s", + "f ix", + "ind er", + "ag ram", + "Ġfunction s", + "Ġexper i", + "ĠE m", + "Ġro t", + "Ġp en", + ".b tn", + "ĠA S", + "#if def", + "Ġcho ice", + "ĠP age", + "_P RO", + "Q U", + "å ı", + "ant ity", + " Ń", + "word s", + "Ġread only", + "Ġf lex", + "prot ected", + "ĠAn y", + "Ġchar acters", + "enc ed", + "ĠJ uly", + "il er", + "C ard", + "ur ance", + "Ġre v", + ".e vent", + "al y", + "Ġwon der", + "ĠP ort", + "Ġleg al", + "ro le", + "Ġt en", + "Ġgo es", + "M P", + "wh ite", + "): čĊ", + ")) čĊ", + "Ġre ference", + "Ġm is", + "ĠPro ject", + "ick s", + "> &", + "C ON", + "Ġre pl", + "Ġreg ular", + "St orage", + "ram ework", + "Ġgo al", + "Ġt ouch", + ".w idget", + "Ġbu ilt", + "d es", + "P art", + "( re", + "Ġw orth", + "h ib", + "g ame", + "ĠÐ ²", + "ac ion", + "ĠWh ite", + "(t ype", + "( `", + "Ġn atural", + "Ġin j", + "Ġcal cul", + "ĠApr il", + ". List", + "Ġassoci ated", + "ĉ System", + "~ ~", + "= [", + "Ġst orage", + "Ġby tes", + "Ġtr avel", + "Ġs ou", + "Ġpass ed", + "! =", + "as cript", + ". open", + "Ġgr id", + "Ġb us", + "Ġrec ogn", + "A b", + "Ġh on", + "ĠC enter", + "Ġpre c", + "b uild", + "HT ML", + "ĠS an", + "Ġcoun tries", + "a led", + "t oken", + "k t", + "Ġqu al", + "L ast", + "ad ow", + "Ġman ufact", + "id ad", + "j ango", + "N ext", + "x f", + ". a", + "Ġporn o", + "ĠP M", + "er ve", + "it ing", + "_ th", + "c i", + "= None", + "g s", + "Ġlog in", + "at ives", + "'] );Ċ", + "Ä ħ", + "Ġ ill", + "I A", + "child ren", + "D O", + "Ġlevel s", + "Ġ{ {", + "Ġlook s", + "Ġ\" #", + "To String", + "Ġnecess ary", + "ĠĠĠ Ċ", + "c ell", + "En try", + "Ġ' #", + "Ġext rem", + "Select or", + "Ġplace holder", + "L oad", + "Ġre leased", + "O RE", + "En umer", + "ĠT V", + "SE T", + "in q", + "P ress", + "ĠDep artment", + "Ġprop erties", + "Ġres pond", + "S earch", + "a el", + "Ġre qu", + "ĠB ook", + "/ Ċ", + "( st", + "Ġfin ancial", + "ick et", + "_in put", + "Ġth reat", + "( in", + "Str ip", + "ì Ŀ", + "ç ão", + "Ġevid ence", + ")) ;", + "ĠB ro", + "Ġ[ ];Ċ", + "Ġ ou", + "b uf", + "S cript", + "d at", + "Ġr ule", + "# import", + "=\" /", + "S erial", + "Ġstart ing", + "[ index", + "a e", + "Ġcon trib", + "s ession", + "_ new", + "ut able", + "o ber", + "Ġ\" ./", + "Ġlog ger", + "Ġrecent ly", + "Ġreturn ed", + "č čĊ", + ")) )Ċ", + "ition s", + "Ġse ek", + "Ġcomm unic", + "Ġ\" .", + "Ġuser name", + "E CT", + "D S", + "Ġother wise", + "ĠG erman", + ". aw", + "Ad apter", + "ix el", + "Ġsystem s", + "Ġd rop", + "Ġstruct ure", + "Ġ$ (\"#", + "enc ies", + "ann ing", + "ĠL ink", + "ĠRes ponse", + "Ġst ri", + "Å ¼", + "ĠD B", + "æ Ĺ", + "and roid", + "sub mit", + "ot ion", + "( @", + ".t est", + "ĊĊĊĊ ĊĊĊĊ", + "] ;čĊ", + "Ġdirect ly", + "Ġ\" %", + "r is", + "el ta", + "A IL", + ") {čĊ", + "m ine", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "( k", + "b on", + "as ic", + "p ite", + "__ _", + "M ax", + "Ġerror s", + "ĠWh ile", + "Ġarg uments", + "Ġens ure", + "R ight", + "-b ased", + "We b", + "Ġ- =", + "Ġint rodu", + "ĠIn st", + "ĠW ash", + "ord in", + "j oin", + "D atabase", + "Ġgr ad", + "Ġus ually", + "IT E", + "Prop s", + "? >Ċ", + "ĠG o", + "@ Override", + "RE F", + "Ġ ip", + "ĠA ustral", + "Ġ ist", + "View ById", + "Ġser ious", + "Ġcustom er", + ".prot otype", + "od o", + "c or", + "Ġdo or", + "ĠWITH OUT", + "Ġpl ant", + "Ġbeg an", + "Ġdist ance", + "() ).", + "Ġch ance", + "Ġor d", + "c ame", + "pr agma", + "Ġprot ect", + "rag ment", + "ĠN ode", + "en ing", + "Ñ ĩ", + "Ġr oute", + "ĠS chool", + "h i", + "Ġne ighb", + "A fter", + "lic it", + "Ġcon tr", + "Ġpr imary", + "A A", + ".Write Line", + "util s", + "Ġb i", + "R ed", + ".L inq", + ". object", + "Ġlead ers", + "un ities", + "Ġg un", + "on th", + "ĠDe v", + "F ILE", + "Ġcom ments", + "_l en", + "ar row", + "am ount", + "R ange", + "s ert", + "Grid View", + "Ġup dated", + "ĠM o", + "Ġin form", + "oci ety", + "al a", + "A ccess", + "Ġh ab", + "Ġc reat", + "_ arg", + "ĠJan uary", + "ĠD ay", + "\") čĊ", + "up le", + "d ocument", + "gor ith", + "m enu", + "ĠO ver", + "b b", + ".t itle", + "_ out", + "Ġle d", + "ur i", + "Ġ? >Ċ", + "r un", + "Ġsc ene", + "( array", + "de vice", + "_t itle", + "ag on", + "] čĊ", + "ab y", + "Ġbe came", + "bo olean", + "Ġp ark", + "ĠC ode", + "up load", + "rid ay", + "ĠSept ember", + "F e", + "Ġs en", + "c ing", + "F L", + "C ol", + "ut s", + "_p age", + "in n", + "Ġim plied", + "al ing", + "Ġyour self", + ".C ount", + "con f", + "Ġa ud", + "_in it", + ". )", + "Ġw rote", + "N G", + ". Error", + "ä »", + ".f or", + "Ġe qual", + "ĠRe quest", + "Ġser ial", + "Ġallow s", + "X X", + "Ġm iddle", + "ch or", + "à ¸", + "erv al", + ".C olumn", + "read ing", + "Ġesc ort", + "ĠAug ust", + "Ġquick ly", + "Ġwe ap", + "ĠC G", + "rop ri", + "h o", + "Ġc op", + "( struct", + "ĠB ig", + "Ġv s", + "Ġfre qu", + ". Value", + "Ġaction s", + "Ġpro per", + "Ġin n", + "Ġobject s", + "Ġm atrix", + "av ascript", + "Ġon es", + ".g roup", + "Ġgre en", + "Ġp aint", + "ool s", + "y cl", + "enc ode", + "ol t", + "com ment", + ". api", + "D ir", + "Ġun e", + "iz ont", + ".p osition", + "Ġdes igned", + "_ val", + "av i", + "ir ing", + "t ab", + "Ġl ayer", + "Ġview s", + "Ġre ve", + "ra el", + "ĠO N", + "r ics", + "n p", + "Ġc ore", + "() );čĊ", + "M ain", + "Ġexp ert", + "ĉĉ čĊ", + "_ en", + "Ġ/ >", + "ut ter", + "I AL", + "ail s", + "ĠK ing", + "*/ ĊĊ", + "ĠM et", + "_ end", + "add r", + "or a", + "Ġ ir", + "M in", + "Ġsur pr", + "Ġre pe", + "Ġdirect ory", + "P UT", + "- S", + "Ġe lection", + "h aps", + ".p re", + "c m", + "Val ues", + "Ġ\" Ċ", + "c olumn", + "iv il", + "Log in", + "in ue", + "Ġbeaut iful", + "Ġse cret", + "(e vent", + "Ġch at", + "um s", + "Ġorig in", + "Ġeffect s", + "Ġman agement", + "ill a", + "t k", + "Ġset ting", + "ĠC our", + "Ġmass age", + "ĉ end", + "Ġhapp y", + "Ġfin ish", + "Ġc amera", + "ĠV er", + "ĠDem ocr", + "ĠH er", + "( Q", + "con s", + "it a", + "Ġ' .", + "{ }", + "ĉ C", + "Ġst uff", + "Ġ :Ċ", + "ĠA R", + "T ask", + "h idden", + "er os", + "IG N", + "at io", + "ĠHe alth", + "ol ute", + "Ent er", + "' >", + "ĠT witter", + "ĠCount y", + "s cribe", + "Ġ= >Ċ", + "Ġh y", + "f it", + "Ġmilit ary", + "Ġsa le", + "re quired", + "n on", + "boot strap", + "h old", + "r im", + "- old", + "ĠD own", + "Ġm ention", + "cont act", + "_g roup", + "od ay", + "Ġto wn", + "Ġsol ution", + "u ate", + "ell ing", + "] ->", + "ot es", + "ent al", + "om en", + "osp ital", + "ĠS up", + "_ EN", + "Ġsl ow", + "SE SSION", + "Ġbl ue", + "ag o", + "Ġl ives", + "Ġ ^", + ". un", + "in st", + "en ge", + "Ġcustom ers", + "Ġc ast", + "ud get", + "ï¼ ģ", + "ic ens", + "Ġdeter min", + "Se lected", + "_ pl", + "ue ue", + "Ġd ark", + "// ĊĊ", + "s i", + "ther n", + "ĠJ apan", + "/ w", + "P U", + "ĠE ast", + "ov ie", + "Ġp ackage", + "Ġn or", + "Ġap i", + "b ot", + "\" ];Ċ", + "_p ost", + "ul ate", + "Ġcl ub", + "') );Ċ", + "Ġlo op", + "PI O", + "ion e", + "sh ot", + "In itial", + "Ġplay ed", + "reg ister", + "rou ght", + "_m ax", + "ac ement", + "m atch", + "raph ics", + "A ST", + "Ġexist ing", + "Ġcomple x", + "D A", + ".C h", + ".com mon", + "m o", + "Ġ' ../../", + "it o", + "Ġanal ysis", + "Ġdel iver", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ċ", + "id x", + "à ł", + "ong o", + "ĠEng lish", + "< !--", + "Ġcomput er", + "EN SE", + "Ġp as", + "Ġr ais", + "H ash", + "Ġm obile", + "Ġo wner", + "F IG", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "th es", + "Ġat tr", + "w d", + ".t ime", + "aw n", + "Ġtreat ment", + "ĠA c", + ". View", + "im pl", + "m ore", + "p ass", + "Ġh a", + ".f rom", + "Ġle ading", + "FF FF", + "( error", + ". ui", + "at ar", + "ad ers", + "d ates", + "Ġz u", + "Ġfl ow", + "T arget", + "Ġinvol ved", + "Ġi o", + "par se", + "$ _", + "he st", + ". int", + "- item", + "as y", + "S p", + "Ġsh ift", + "N T", + "Ġt f", + "_T R", + ". web", + "C S", + "Ġ} )", + "Ġey es", + "_ z", + "' );čĊ", + "if orn", + "Ġ{ @", + "Ġn ice", + ".l ist", + "ĠĠĠĠ čĊ", + "Ġf loor", + "Ġred irect", + "ĠU K", + "( ['", + "Ġw ish", + "Ġcap t", + "leg al", + "ĠI O", + "Ġst age", + ". String", + "ĠA fr", + "ig en", + "ĠS H", + "De lete", + "ell s", + "Ġsol id", + "Ġmeet ing", + "Ġwork ed", + "Ġed itor", + "in y", + "Ð ¼", + "_ read", + ". Id", + "e ff", + "Off set", + "ch a", + "US ER", + "ĉĉ ĠĠĠ", + "ipp ed", + "Ġd ict", + "ĠR un", + ".h pp", + "Ġan g", + "x ml", + "im ple", + "Ġmed ical", + "_t oken", + "con nect", + "Ġh our", + "Ġcont roller", + "_m essage", + "U ID", + "G r", + "and ed", + "_C H", + "Ġbook s", + "Ġspe ak", + "am ing", + "Ġm ount", + "Rec ord", + "ĉ struct", + ".W eb", + "ond on", + "Ġ// Ċ", + "Ġf elt", + ".A uto", + "id ge", + "_p os", + "P R", + "Ġmod ern", + "C ollection", + "_m sg", + "C D", + "ĠL o", + "Ġsecond s", + "ib ly", + ".e quals", + "Ġintern ational", + "# pragma", + "oo th", + "W riter", + "i ate", + "Ġce le", + "ĠB it", + "iv o", + "iv ery", + "r d", + "HE CK", + "Ġc ache", + ".c ount", + "Ġro ll", + ".Re ad", + "RE D", + "Ġset up", + "izont al", + "model s", + "arg v", + "Ġconsider ed", + "=\" ../", + "set tings", + "ĠR el", + "Ġgrow th", + "Ġm ix", + "ĠWash ington", + "Ġpl t", + "ĠI M", + "á º", + "Ġturn ed", + "ĠDate Time", + "ĠW ed", + "( url", + "Ġ\" -", + "Ġlet ter", + "As ync", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠOct ober", + "_l ine", + "Ġatt ention", + "Ġcol lect", + "ĠH ash", + "Ġim ag", + "T ree", + "Ġsit uation", + "et te", + "_n o", + "IV E", + "Ġv on", + ".t arget", + "Ġknow ledge", + "Ġdr ive", + ".p ost", + "Ġb lood", + "Ġc it", + "pr imary", + "Ġconfig uration", + "te e", + "Ġph oto", + "is ode", + "Tr ace", + "Ġg ave", + "Ġsh ot", + "ĠA ir", + "Ġm other", + "pr ice", + "Ġmor ning", + ")) {Ċ", + "- x", + "Ġtr ade", + "Ġdes c", + "Ġ&& Ċ", + "Ġparent s", + "A pi", + "å Ī", + "t ed", + "w er", + "Ġ æ", + "Ġs y", + "ĠK e", + "Par ser", + "å ħ", + "anc y", + "Ġpie ce", + "iforn ia", + "to String", + "r an", + "id ing", + "PT ION", + "com es", + "/ lic", + ".c lient", + "E l", + "L ong", + "Ġprofession al", + "ru pt", + "v a", + "Ġcomplet ely", + "Ġpract ice", + "Ġse lection", + "R em", + "in i", + "Ġc am", + "RE E", + "Ġsit es", + "p a", + "AT US", + "Ñģ ÑĤ", + "arr ant", + "* (", + "_ KEY", + "ĠB utton", + "ĠF riday", + "se qu", + "Ġre ader", + "Ġm essages", + "è ¯", + "Ġbu f", + "K e", + "Ġn ov", + "H P", + "M sg", + "al ign", + "ar ily", + "Ġ' ,", + "_w ith", + "Ġd as", + "Ġhe ard", + "at omic", + "ri al", + ") [", + "Ġdis e", + "@ end", + "Ġg old", + "Ġf air", + "Ġsa les", + ". Button", + "str ict", + "s ave", + "Ġme asure", + "Ġ\" +", + "ec ause", + "View Controller", + "ĠT able", + ".p aram", + "Ġdec ided", + "(( (", + "IN FO", + "Ġopport unity", + "T e", + "IC ENSE", + "cc ording", + "k i", + "ĠU N", + "Ġcont ain", + "Ġman ager", + "Ġp ain", + "ĠF ire", + "rom e", + "Ġpl ans", + "F ound", + "l ay", + "ĠDec ember", + "Ġinfl u", + "à º", + "ren ch", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "az ing", + "b rief", + "c all", + "wo od", + "Ġload ed", + "Ġgr and", + "/ f", + "im p", + "_ U", + "ST R", + "âĢ ¢", + "Ġcred it", + ".C olor", + "or ge", + "QUE ST", + "Ġdiffer ence", + "ĠP C", + "w args", + "Ġp ub", + "und ay", + "Ġf ra", + ".m ax", + "Ġtri ed", + "ann els", + "s end", + "Ġreport s", + "Ġad ult", + "ä º", + "Ġcons ist", + "ĠSt reet", + "ĠPro gram", + "S QL", + "M atrix", + "ounc il", + "- A", + "ĉ w", + "Ġwho se", + "Ġrel ig", + "ĠS ex", + "Ġg ives", + "n one", + ".m essage", + "( G", + ".aw t", + "- right", + "ĠNov ember", + "ell ig", + "ut ive", + "Ä ĥ", + "over n", + "Ġeas ily", + "Ġide as", + "ĠÐ ½", + "/c ss", + "ly ing", + "el le", + "C an", + "_c olor", + "оР²", + "Ġp air", + "ng th", + "Ġs plit", + "d rop", + "art y", + "on a", + "Ġcap ital", + "Ġhe ar", + "Ġex ists", + "ĉ log", + "em o", + "R un", + "o i", + "Ġpar ser", + "ĠM ethod", + "Ġeduc ation", + "[ k", + "Ġlib rary", + "> \";Ċ", + "_ UN", + "ĉ std", + "od ed", + "Ġcall s", + "h ere", + "R el", + "Ġbr and", + "back ground", + "g a", + "_add ress", + "_param s", + "C ategory", + "ĠInd ia", + "_e vent", + "Ġ ing", + "R ender", + ".c l", + "ump y", + "Ġp et", + "F C", + "ĠA nt", + "Ex t", + "Ġchar ge", + "en ed", + "gr ad", + "E O", + "Ġdep end", + "Ġ .ĊĊ", + "fr ame", + "Ġd f", + "Ġh uge", + "ĠP ART", + "ed s", + "; ;", + "ĠA M", + "Ġbas ic", + "ĠL et", + "lic h", + "Ġar m", + "Ġst ar", + "Ġf ederal", + "W ork", + "Ġcar ry", + "ĠIs rael", + "( obj", + "={ {", + "Ġs aved", + "Ġs yn", + "Ġconst ant", + "V ENT", + "Ġpos itive", + "Ġcon duct", + "Ġsk in", + "Ġear lier", + "Ġl ayout", + "ĠI P", + "O UR", + "Ġt im", + "styles heet", + "_ cl", + "ĠC ard", + "++ ){Ċ", + "Ġtem per", + "ĠDav id", + "ĉ try", + ".d art", + "Ġwant s", + "Ġp icture", + "Ġv ideos", + "ĠCom m", + "is ions", + "_M AX", + "M apping", + "- content", + "ĠE ar", + "- de", + "Ġpre m", + "br uary", + "Ġcom ponents", + "Ġthrough out", + "Ġp ull", + "Ġp ages", + "ent e", + "res pond", + "Ġg as", + "cript or", + "Ġed ge", + "Ġb ound", + "A CT", + "**** **", + "Ġcre ating", + "ĠC H", + "Ġnull ptr", + "B r", + "+ '", + ".c o", + "> ::", + "Ġle arning", + ".L ength", + "_S H", + "Ġpat ients", + "A IN", + "Ġk ids", + "Ġcom fort", + "Ġsh own", + "ug ins", + "ĠB ack", + "ell a", + "_C L", + "Ġl at", + "Ġdis patch", + "Ġclass es", + ". at", + ".b egin", + "Ġsuccess ful", + "b an", + "Ġobt ain", + "ĠS l", + "Ġl ack", + "iter ator", + "Th read", + "(s ize", + "Ġn one", + ".h as", + "_ X", + "s ort", + "n ap", + "p et", + "b in", + "ĠCan ada", + "The y", + "Ġd ans", + "ĠM at", + "< td", + "Ġh air", + "Ġ' ',Ċ", + "Ġc u", + "Ġlaw s", + "let ed", + "p ed", + "Ġp ow", + "Ġk new", + "_C OM", + "_ ,", + "ĠM ag", + "id ents", + "( req", + "Ġ ),", + "- center", + "Ġw ide", + "ĠA uthor", + "st ants", + "Ġjob s", + "Ġm ath", + "et imes", + "Bo olean", + "Ġs cope", + "_ is", + "Ġme as", + "Ġkey s", + "el ay", + "Ġexact ly", + "'=> '", + "ĠP aul", + "m as", + "ĉ print", + "(l en", + "f d", + "Ġ) ;", + ". Event", + "q li", + "ir it", + "ield s", + "om an", + "ĠT op", + "Ġv ote", + "Ġm ask", + "Ġthem e", + "- Ċ", + "Ġpro ps", + "Ġf ine", + "Ġwrit er", + "_ offset", + "c ar", + "Ġal tern", + "Ġc opyright", + "Ġdest roy", + "pp er", + "Ġgener ate", + "pp ed", + "âĢĻ d", + "ĠĠĠĠĠĠ Ċ", + "m ake", + "ĠSh ow", + "Ġb rowser", + "Ġfavor ite", + "Ġcare er", + "Ġhappen ed", + "( char", + "Ġrecomm end", + "Ġl iter", + ".f ilter", + "gr ade", + "Ġ £", + "Ph one", + "om s", + "Ġn amed", + "- label", + "ip o", + "ĠO ther", + "Ġp anel", + "Ġro ck", + "S cale", + "ĉ assert", + "Ð ´", + "Ġtr ust", + "fr ont", + "Ġdem on", + "A r", + "N et", + "Ġecon omic", + "foot er", + "Ġr ace", + "(n ode", + "ĠO ption", + "s plit", + "Ġphys ical", + "if est", + "Ġrem oved", + ". http", + ")) ,Ċ", + "Ġlook ed", + "' ;", + "d ing", + "g est", + "atur day", + "/lic enses", + "Pr ice", + "Ġd ro", + "Ġto wards", + "Ġun s", + "ĠC L", + "ĉ static", + "Ġ rows", + "Ġdef ine", + ".re place", + "Ġf ather", + "ĠDes ign", + "ass ign", + "m ut", + "De vice", + "D id", + "') )Ċ", + "omet ry", + "ay load", + "Ġh istor", + "ĠP aram", + "ĠBo olean", + "Ġn ature", + "Ġj s", + "Ġn ation", + "i h", + "Ġdis cover", + "se m", + "Hand le", + "ĉ r", + "ĠTe chn", + "Ġw all", + "{ $", + "@ property", + "Ġ\" ../", + "Ġex am", + ".d raw", + "opp ing", + "Ġnear ly", + "Ġco ol", + "Ġinde pend", + "RE S", + "Ġhand ler", + "ĠMon day", + "Ġs un", + "St yles", + "ous ly", + "Ġ ĉ", + "v est", + "D isplay", + "( y", + "atic ally", + "Ġpred ict", + "y ing", + "Ġsom etimes", + "\" ]Ċ", + "Ġdr ink", + "Ġb ul", + "ific ations", + ". insert", + ".re g", + "Ġtest s", + "Al ignment", + "Ġal leg", + "Ġat tribute", + "ĠN ote", + "Ġmy self", + "art s", + "N ow", + "Ġinterest ing", + "li ents", + "Ġpop ulation", + "ĠCal ifornia", + "\" I", + "å ¹", + "Ġgre ater", + "ues day", + "Ġth ous", + "Ġcost s", + "Ġla unch", + "\\ Http", + "k er", + "b and", + "ĠPl ay", + "Ġb and", + ".sh ape", + "es ome", + "art icle", + ".r f", + "Ġw er", + "á s", + "em bers", + "us r", + "B A", + "ic an", + "et t", + "valid ate", + "ult i", + "Ġimmedi ately", + "z er", + "Ġfig ure", + "o es", + "ell er", + "irc le", + "ĠS ign", + ".d b", + "Ġr ank", + "By tes", + "Ġproject s", + "_re c", + "UL AR", + "A PI", + "ĠL ine", + "P ort", + "Ġp oll", + "Ġg iving", + "id ence", + "-- Ċ", + "Ġpl ot", + "ic ial", + "Ġw arrant", + "IT ION", + "ĠD ouble", + "Ġbill ion", + "gorith m", + "Ġequ ipment", + "D ATE", + "Ġ@ \"", + "E E", + "Ġp le", + "i ation", + "Ġhead ers", + "Ġpro ced", + ".Component Model", + "ĠOb ama", + "Ġp a", + "ĠB est", + "im ately", + ".get String", + ". \\", + "mp loy", + "Ġr aw", + "_b lock", + "und red", + "\" },Ċ", + ".Group Layout", + "Ġb rought", + "NS String", + "th row", + "cre ated", + ".N ew", + "_ view", + "C P", + "ep s", + "O p", + "Ġgr atis", + "Ġ' \"", + "Ġinter view", + "\"\" \"Ċ", + "Ġpart ial", + "Ġa ria", + "b ing", + "A uthor", + "Bo ok", + "ĠP at", + "um an", + "Us ers", + "pl us", + "ĠD irect", + "ven ue", + "al pha", + "UC CESS", + "ĠC all", + "Ġ );čĊ", + "im ated", + "Ġrem ain", + "Ġant i", + "ĠL ondon", + "Ġsaf ety", + "PO SE", + "o les", + "cont roller", + "By te", + "ĠCour t", + "ĠPh il", + "ĠAss oci", + "en a", + "å IJ", + "_ST R", + "co in", + "resh old", + "Ġb atch", + "_C lick", + "entic ation", + "> ';Ċ", + "ent y", + "Ġbegin ning", + "Ġz ero", + "ĠCon vert", + "Ġt err", + "Ġp aid", + "Ġincre ased", + "c atch", + "-s ize", + "act ivity", + "e quals", + "Ġque ue", + "Ġ\" '", + "ĠIntern ational", + "Ġf ür", + "urs day", + "Ġsc ient", + "all ow", + "ax is", + "Ġapp ropri", + "ed ge", + "Ġid x", + "S uccess", + "ent ifier", + ": \\", + "x is", + "Ġmax imum", + "ark s", + "Ġb irth", + "( index", + "Ġmay be", + ".p y", + "file s", + "Ġlim ited", + "_ check", + "lo ok", + "pl ies", + "Ġmov ement", + "'] .", + "Ġbro ad", + "ĠB E", + "ĠUn ityEngine", + ".c pp", + "ĠE very", + "Ad min", + "Ġf ans", + "p ared", + "Ċ ĠĠĠĠĊ", + "Ġfore ign", + "Ġp an", + "Ġt our", + "ĠOr der", + "Ġmov ing", + "Ġa uf", + "C all", + "c b", + "Å Ł", + "vent ory", + "ĠS ql", + "Ġful ly", + "Click Listener", + "W ORD", + "Ġannounc ed", + ") čĊčĊ", + "Ġagre ed", + "ri e", + "Ġe arn", + "_l ink", + ". array", + "(t ext", + "Ġmaterial s", + ", p", + "ff ff", + "v g", + "Ġ ©", + "Ġun less", + "aj ax", + "LO G", + "Ġsex ual", + "Ġ\\ \"", + "- time", + "Ġco ach", + "Ġsupport ed", + "Ġphot os", + "if orm", + ".C reate", + ") ]", + "ri er", + "Ġd ialog", + "av er", + "ig e", + ") +", + "_id x", + ": [", + "_m in", + "ĠC ong", + "Ġpress ure", + "Ġteam s", + "S ign", + "b egin", + "ri an", + "NE SS", + "L S", + "Ġimpro ve", + "ĠS unday", + "Ġdef inition", + "ig er", + "roll ers", + "Ġthink ing", + "T emplate", + "- F", + "Ġem erg", + "pl ates", + "ĠUS A", + ".set State", + "ĠAl so", + "re v", + "Ġen able", + "ĠC O", + "PE CT", + "Ġcon cept", + ") -", + "ĠâĢ ¢", + "Ġset s", + "Ġmean ing", + "em on", + "ĠCon s", + "c mp", + "ed er", + "ann ed", + "icens ed", + "ĠS uper", + "Ġd aily", + "Ġmult i", + "_ u", + "Ġchall eng", + "_m ode", + "ĠP romise", + "Ġstr ict", + "j o", + "int on", + "( list", + "On ly", + "> {", + "Ġveh icle", + "í ķ", + "ĠPl ayer", + "ĠD el", + "Ġp ool", + ". url", + "nes day", + "();čĊ čĊ", + "Ġ\" );Ċ", + "L ocal", + ". \");Ċ", + "Ġorgan ization", + "re nder", + "ĠApp lication", + "Ġsum mer", + "ex pected", + "N A", + "Ġr ap", + "_ obj", + "Ġsur face", + "ĠP UR", + "Ġ}, ĊĊ", + "Ġvariable s", + "(m essage", + "Ġop in", + ".b ack", + "а н", + "Ġwork ers", + "v m", + "C o", + "ught er", + "Ġm aster", + "Ġ\" \",", + "Ġst ories", + ". User", + "Ġcele br", + "ines e", + "B S", + "ĠCom mand", + "ash board", + "Ġo g", + "k g", + ". image", + ".st yle", + "Ġstep s", + "ĠB en", + "( args", + "ĠP erson", + ", y", + "Ġofficial s", + "| Ċ", + "Ġsk ills", + "v c", + "Ġbuild er", + "Ġg ar", + "A ccount", + "ĠA uth", + "ç Ķ", + "'] )Ċ", + "ĠA T", + "n n", + ". Int", + "SS ERT", + "Ġeffect ive", + "LE TE", + "Ġto ols", + "AR D", + "Ġdig ital", + "D ouble", + "ĠF ind", + "R C", + "Ġin line", + "/ r", + "AR AM", + "AS K", + "Ġint ent", + "a ight", + "_add r", + "Ġrequest s", + ".f irst", + "Ġde bug", + "Ġsp ent", + "() ));Ċ", + "Å Ľ", + "Ġpr incip", + "Log ger", + "clud es", + ". use", + "Ġsur v", + "med ia", + "ĠFe bruary", + "ĠM ac", + "Ġmiss ing", + "Ġw ife", + "Ġtalk ing", + "ĠM ake", + "Ġc art", + "Ġloc ated", + "E nc", + "- a", + "ch ron", + "Ġc ards", + "Ġgu y", + "Ġp ers", + "ĠY es", + "ate ver", + "ĠA ng", + "ol ar", + "ĠE ven", + "Ġacc ur", + "ĠP ower", + "ĠG old", + "c lear", + "Pro cess", + "Ġrec ords", + "Ġk illed", + ".c lear", + "ĠWARRANT IES", + "Ġpur pose", + "pan el", + "J ECT", + "ÃŃ a", + "Ġex erc", + "W S", + "/ L", + ". exports", + "Ġ__ _", + "Ġs in", + "S ervlet", + "Ġd é", + ".de lete", + "ro ke", + "S l", + "ug h", + "ear s", + "Ġpoint er", + "Ġh op", + "all ery", + "Ġo bs", + "co very", + "ĉ char", + "ĉĉĉĉ ĉĉĉĉĉĉ", + "ĉ def", + "oc ity", + "itch en", + "ul ations", + "ĠF IT", + "Ġ ).", + "straint s", + "vent ion", + "Ġrequ ires", + "ĠO per", + "M E", + "OUN T", + "al let", + "Ġn orm", + "I RE", + "ex as", + "Ġprogram s", + "Ġwe ak", + "' .$", + "u ing", + "ĉ ĠĠĠĠĠĠĠ", + "Ġm il", + "Ġf irm", + "init ely", + "_VAL UE", + "ap se", + "atis f", + "Ġdem and", + "_m od", + "Ġdescri bed", + "Ġpl aces", + "V ID", + "Ġal one", + "Ġex port", + "Ġv ec", + "ĠM ax", + "Ġactiv ities", + "ict ures", + "g ener", + "Ġm a", + "Ĥ ¬", + "Ġexpress ion", + "C allback", + "_ content", + "ĠM ost", + "Ġtest ing", + "E C", + "CH ANT", + "Ġad just", + ".Th reading", + "( ctx", + "Ġag ree", + "ig hest", + "Ġu i", + "ĠL aw", + ". Y", + "> ĊĊ", + ".ex ample", + "ber g", + "Ġmov ed", + "ĉ e", + "ĠS aturday", + "Ġpay load", + "Ä ĩ", + ") :ĊĊ", + "Ġbe y", + "ur er", + "< script", + "Ġs ymbol", + "Ġass um", + "Ġp ul", + "E ffect", + "Ġh undred", + "To ol", + "ak ed", + "con nection", + "Ġvo ice", + "Ġp d", + "Ġtrans action", + "Ġlink s", + "E rr", + "ĠInd ian", + "T C", + "atal og", + "n i", + "s ign", + "<< \"", + "j i", + "y a", + "Ġdemon str", + "ul ated", + ". St", + "Ġinst it", + "Ġbo ost", + "Ġcell s", + "ol ic", + ".P ro", + ": ,", + "\"> \\", + "Ġth us", + "ĠReg ister", + "h ol", + "ĠCh inese", + "Ġpost ed", + "Ġm agn", + "ab ilities", + "Ġdise ase", + "Ġrem ains", + "ĠPro f", + "- form", + "Ġc in", + "org an", + "ic ate", + "Ġst ress", + "] *", + "Ġ ----------------------------------------------------------------", + "_ context", + "or ry", + "Ġd ied", + "m at", + "Ġstart s", + ".M essage", + "Ġrun s", + "Ġgu ide", + "Ġwarrant y", + "ential s", + "d ict", + "ĠS ize", + "ul er", + "Ġrespons ible", + "_SE T", + "Ġcont aining", + "ĠPr ice", + "| |", + "F S", + "Ġem p", + "_b utton", + "( uint", + "Ġsu ff", + "p th", + "Ġdef initely", + "put e", + "Ġmarket ing", + "ĠW H", + "ĠS ie", + "+ =", + "OL OR", + "Ġcons ult", + "Ġs igned", + "Ġse quence", + "le e", + "Ġrequire ments", + "h y", + "Ex press", + "M T", + "se y", + "Ġ ult", + "å ®", + "ellig ence", + "Ġanal y", + "Ġd ress", + "eng ine", + "ĠG reat", + "ĠAnd roid", + "ĠA lex", + "m ode", + "D ictionary", + ".D ate", + "ä ½", + "V ICE", + "Ġfam ilies", + "ĠRuss ian", + "ĠT imes", + ".c all", + "$ (", + "Pro file", + "Ġf older", + "ch es", + "Ġleg is", + "_ row", + "un es", + "Ù Ħ", + "Ġ} ).", + "Ass ert", + "ag en", + "ĠH and", + "I ter", + "Ġbig gest", + "ore ach", + "Ġpol ic", + "Ġper missions", + "Ġshow ed", + "ĠE lement", + "Ġtop ic", + "âĢĶ âĢĶ", + "ro ad", + "ĠB ank", + "rec ord", + "Ġpart ners", + "ĠR ef", + "ess ions", + "Ġass ess", + "U ST", + "ĠPart y", + "pro du", + "L C", + "Ġ ul", + ". form", + "h ide", + "c opy", + "UT F", + "ĠSO FTWARE", + "čĊčĊ čĊ", + "ĠL in", + "un a", + "ug ar", + "Ġadmin istration", + "Ġopen ing", + "Ġsc an", + "Ġcontin ued", + "com ponent", + ".s p", + "Ġhapp ens", + "um my", + "ĠP R", + ".F ile", + "ĠDown load", + "Lo ading", + "d i", + "Ġwait ing", + "_A DD", + "T ab", + ".query Selector", + "Ġecon omy", + "ĠF rench", + "t xt", + "Ġf ant", + "_ ;Ċ", + "H older", + "S H", + "Ġn umpy", + "Ġst reet", + "Ġm ale", + "\\ Model", + "ang ing", + "ĠB ill", + "Ġprevious ly", + "B I", + "ĠSec ret", + "Ġm ist", + "ĠF ield", + "up s", + "ĠPro cess", + "Ġke pt", + "ĠO T", + "Ġtrad itional", + ". i", + "am in", + "Ġhelp s", + "An y", + "orig in", + "ilt ers", + "j u", + "d esc", + "ĠA ccount", + "Ġ) čĊ", + "k top", + "ol ly", + "Ġf s", + "Ġ ê", + "Ġ ut", + "Ġcent ral", + "(t est", + ".A n", + "Ġs atisf", + "G R", + "ĠF ull", + "Ġhe at", + "ib er", + "Ġon to", + "m os", + "S chema", + "Ġfact ory", + "\" .$", + "aw s", + "St atement", + "(t arget", + "ĉ new", + ".b e", + "Ġg uest", + "Ġm al", + "AR Y", + "Ġre ached", + "Ġm ouse", + "Ġchall enge", + "ĉd ouble", + "ĠT em", + "Ġt error", + "Ġex tract", + "_T O", + "Ġsepar ate", + "Ġm ir", + "h elp", + "Ġcap acity", + "ĠProp erty", + "k an", + "_c reate", + "ĠL ight", + ".p arent", + "Ġunderstand ing", + "Ġeas ier", + "Ġ| =", + "Ġen h", + "Ġf at", + "Ġprot est", + "am m", + "_ AT", + "- of", + "il s", + "ĠO h", + "Ġps ych", + "Ġ$ .", + "ind s", + "Ġrel ative", + "sh op", + "sh ort", + "ĠS and", + "uest ion", + "Ġf ear", + "/ ĊĊ", + ". context", + "Ġschool s", + "Ġser ve", + "z one", + "_d b", + "Ġmajor ity", + "ex ample", + "Ġl ang", + "ĉ ĠĠ", + "Reg ister", + "end o", + "Ġprocess ing", + "_t emplate", + "- user", + "Ġe g", + "C OM", + "ĠBl ue", + "i ro", + "Ġrem ote", + "ĠI T", + "#! /", + "Ġred istrib", + "ra z", + "ĠS ince", + "ĠT ur", + "Back ground", + "== =", + "Ġref lect", + "Ġpro s", + "c md", + "Ġwh om", + "Com pat", + "ĠA re", + "Id entifier", + "ĠTh om", + "_ port", + "g u", + "Ġmon itor", + "r m", + "Ġpat ient", + "ver ter", + "Ġg ain", + "- ui", + "In st", + "Ġd ies", + "A rea", + "_f ilter", + "Ġgr at", + "Ġreal ity", + "ord inate", + "ol ved", + "Cont act", + "Ġcompl iance", + "_ or", + "ĠV ar", + "d l", + "Ġapp end", + "G ER", + "(m ax", + ".re nder", + "Ġd ynamic", + "ordin ates", + "_ options", + "_c olumn", + "Ġb atter", + "s pace", + "L a", + "ĠS ource", + "/b in", + "Ġd os", + "ĠBo ard", + "ĠTh read", + "ĠA L", + "( config", + "ĠM er", + "Ġm iles", + "_ header", + "ETH OD", + "iz z", + "Ġbenef it", + "Ġinteg r", + "(c urrent", + "ul o", + ". default", + "ĠD iv", + "Ġt on", + "o th", + "erv ation", + "ed om", + "Ġb aby", + "ce ived", + ".t op", + "rior ity", + "ĠL ocal", + "ri age", + "Ġattack s", + "Ġh ospital", + "Ġfem ale", + "ĠLog in", + "ĠFl or", + "Ġch ain", + "ash ion", + "Text ure", + "S ave", + "Ġf arm", + ".cont ains", + ".T est", + "Ġknow s", + "Ġgener ally", + "ip eline", + "Ġme ant", + "enc ia", + "Ġn icht", + "Ġcont ents", + "P M", + "ched ule", + "( line", + "C G", + "j ob", + "ĠRe al", + "u er", + "f irm", + "Ġ Ø", + "et ro", + "\" `Ċ", + "Ġspe ech", + "Ġth r", + "fore ach", + "Ġw arn", + "ĉ l", + "Ġhe avy", + "< li", + "N e", + "Ġinvestig ation", + "M ath", + "- title", + "Ġch urch", + "Ġdes pite", + "ch ain", + "Ġwh atever", + "ar ian", + "f n", + "Ġm eta", + "} )ĊĊ", + "U FF", + "Ġregard ing", + "_S UCCESS", + "m es", + "ĠInt ent", + "Ġres olve", + "pos s", + "ir a", + "for ce", + "o ice", + "à ¢", + "Ġp m", + "Ġup dates", + "A rr", + "Ġ Ñ", + "test ing", + "Ġto ward", + "nt ax", + "ë ĭ", + "Ġlist en", + "Ġgo als", + "Instance State", + "D r", + "Ġr are", + "Ġtr ail", + "Ke ys", + "C al", + "C ar", + "ĠPe ople", + "ĉ local", + "class es", + "Re ference", + ".for Each", + "em b", + "act iv", + "Ġpr im", + "red ict", + "Ġr ad", + "æķ °", + ".B ack", + "Ġsp read", + "Ġc lock", + "Ġv ir", + "ed itor", + "Ġeffort s", + "Ġbr anch", + "Ġind ust", + "Ġmot or", + "Ġam b", + "Ġdat etime", + "Ġren cont", + "ĠChrist ian", + "ĠAmeric ans", + "f ull", + "Ġf mt", + ".m ain", + "Ġca used", + "_ update", + "ĠCont ent", + "AT CH", + "Ġb ath", + "ĠE ach", + "Ġr adio", + "ach ment", + "uz z", + "Sub mit", + "Ġre strict", + "ab in", + "ĠL oad", + "Ġext ension", + "Ġess ay", + "Ġh at", + "avi our", + "to Be", + "\": [", + "Ġoffer ed", + "Ġv ill", + "(d ouble", + "æĹ ¥", + "b c", + "_f ree", + "ĠM iss", + "ĠB er", + "Ġ è", + "ĠL ike", + "Ġhelp ed", + ".get Name", + "_ AL", + "Ġsp irit", + "ĠAp ache", + "w s", + "Ġthere fore", + "( params", + "_ img", + "Ġpe ace", + "Ġinc or", + "ĠEX PECT", + "Ġmin or", + "ip es", + "ĉ data", + "select or", + "c ity", + "tr ie", + ".b ase", + "_f rame", + "Ġopen ed", + "/ json", + "L Y", + "n u", + ".D e", + "t f", + "m argin", + ".P arse", + "Ġp i", + "Ġe q", + "b d", + "Field s", + "ĠT ree", + "Ġb an", + "ist an", + "Ċ ĠĠĠĠĠĠĠĠĊ", + "ĉg l", + "Ġprodu ced", + "s ystem", + "M ark", + "_h ash", + "Ġb g", + "Ġconst it", + "ĠLe ague", + "Ġmiss ion", + "_ format", + "([ Ċ", + "clus ion", + "! \"", + "Ð ·", + "b reak", + "ĉs witch", + "Ġth er", + "Trans form", + "Ġfoot ball", + "- link", + "r oute", + ". auth", + "Ġb ag", + "ov ers", + "Ġen abled", + "Ġr ac", + "( I", + "C R", + "anc ing", + "Ġman aged", + "_ q", + "NG TH", + "Ġm ac", + "ĠA uto", + "ament e", + "Ġ' ',", + ".App end", + "Ġp in", + ". item", + "ack ing", + "Ġocc as", + "p erson", + "Ġt i", + ".Re g", + "Ġh aven", + "Ġg lass", + "Ġ\" )", + "_ char", + "res ource", + "Ġep isode", + "Ġ' _", + "ĠE s", + "ĠEar th", + "Âł Âł", + "UP DATE", + "ĠS ou", + "u is", + "t ypes", + "Ġm as", + "Ġf av", + "Ġcon struct", + "_r ate", + "er as", + "Ġ| Ċ", + "rop erties", + "Ġext ernal", + "Ġap plied", + "Ġpre fix", + "ot ed", + "l ers", + "Ġc old", + "ĠS P", + "ĠCh urch", + "ĠOut put", + "los ed", + "ç ļ", + "ific ate", + "oper ation", + "her it", + "x FF", + ". env", + "_ err", + "os h", + "D irection", + "C ancel", + "ĠFr ank", + "Ġfind ing", + ". )ĊĊ", + "Ġr outer", + "ãĥ »", + "s es", + "Ġc row", + "== '", + "Ġs and", + "Ġr id", + "it ure", + "Ġent re", + "Ġo bserv", + "Ġv ac", + "ð Ł", + "- T", + "A rt", + "n ight", + ". search", + "Ġex change", + "Ġdistr ict", + ". os", + "Ġdep artment", + "Ġdoc uments", + "Ġcent ury", + "ĠN ext", + "H ost", + "ĠK IND", + "Ġsus p", + "- P", + "re nd", + ". em", + "u ite", + "ist ers", + "( json", + "ĠAn n", + "w t", + "at i", + "ĠHT ML", + "wh en", + "D irectory", + "Ġsh ut", + "< a", + "ed y", + "Ġhealth y", + "Ġtemper ature", + "ĠG en", + "Ġmet al", + "Ġsub mit", + "ĠD O", + "Ġat tract", + "Ġ{ };Ċ", + "ĠW ord", + "Ġl l", + "Ġseem ed", + "k o", + "I ED", + "Ġl abor", + ".Cont ext", + "Ġas set", + "y ou", + "Ġc ars", + "ĠC olumn", + "Ġr é", + "Ġs quare", + "ĠNS String", + "âĢĿ ,", + "ap es", + ".. .Ċ", + "Ġthan ks", + "( props", + "Ġt ick", + "Ġexper iment", + "Ġpr ison", + "t ree", + "- text", + "ĠIO Exception", + "-w idth", + "_ST ATUS", + "f ast", + "-b ody", + "- header", + "Ġgu ar", + "cre te", + "ĠT im", + "Ġclear ly", + "ĠRepublic an", + "Ġjust ify", + "и ÑĤ", + "ĉ ĠĠĠĠ", + "c ache", + "; //", + "Ġpres ence", + "Ġfact ors", + "Ġemploy ee", + "] ))", + "M ember", + "Ġselect or", + "b or", + "ĠM ex", + "çļ Ħ", + "ut ex", + "_t ag", + "ail ure", + "ĠN et", + "Ġre li", + "E G", + "Ġf printf", + "Ġte en", + "lo ss", + "Ġle aving", + "De legate", + "Ġbe at", + "Ġmin ute", + "sub scribe", + "Ġredistrib ute", + "Con stants", + "Ġcan cer", + "/ {", + "B L", + "Ġs pan", + "ĠCh ild", + "C enter", + "Ġear th", + "Y S", + "ĠLe vel", + "Ġse a", + ".s upport", + ".in ner", + ". Item", + "ill ing", + "ĠĠĠĠĊ ĠĠĠĠĊ", + "ĠL abel", + "ĠE st", + "( arg", + "bo Box", + "ĉf oreach", + "c os", + "F ailed", + "sw ers", + "Ed itor", + "r ont", + "ĠM P", + "ex pr", + "ĠL ife", + "Ġ? ?", + "ö r", + "Ġatt end", + "ĠQ ue", + "Ġspec ies", + "- D", + "Ġa us", + "Str uct", + "Ġadvant age", + "ost on", + "-b lock", + "in itial", + "C RE", + "Ġtr uly", + "Ġcomp are", + "or ney", + "Ġs pect", + "F ull", + "b es", + "Ġvis ible", + "Ġm ess", + "st ances", + "Ġcl oud", + "_v ersion", + "Ġf urn", + "ic ago", + "LO W", + "Ġtraff ic", + "Ġf ol", + "rypt o", + "Ġdecl ar", + "Ġsl ot", + "ĠEx t", + "ĠEng land", + "ĠU nder", + "Ġt a", + "let ter", + "Ġoffic er", + "ĠDon ald", + "Y es", + "_ json", + "IT ableView", + "ĠU SE", + "mploy ee", + "Ġopin ion", + "ĠA ut", + "b order", + "Ġad vice", + "Ġautom atically", + "is co", + "Ġm m", + ". vis", + "am l", + "Ġinitial ize", + "Ġ( {", + "Ġ ;ĊĊ", + "Ġgener ation", + "Ġb its", + "clip se", + "Ġun f", + "ut ors", + "pl t", + "Ġdel ta", + "est roy", + "is is", + "< br", + "Ġlimit ations", + "Ġend ed", + "ĠM ad", + "il m", + "Th ese", + "ĠMin ister", + "Ġch art", + "F ragment", + "Ġindepend ent", + "Y ear", + "Ġin str", + "Ġt ags", + "A VE", + "ĠAr ch", + "st op", + "Pro gress", + "Ġm i", + "Ġlearn ed", + "G e", + "Ġhot el", + "S M", + "T YPE", + "Ġc y", + "ERS ION", + "un ately", + "l imit", + "s el", + "Ġmov ies", + "Ġste el", + "o z", + "g b", + "ĠC amp", + "s ite", + "ĠLog ger", + "P LE", + "оР´", + ". right", + "ĠC ore", + "Ġm ixed", + "st ep", + "Ġput s", + "s uper", + "R outer", + ". Http", + "ly ph", + "ĠColor s", + "Ġandroid x", + ". str", + "Ġinn ov", + "Ġde ck", + "' >Ċ", + "ap ers", + "] (", + "cont inue", + "s pec", + "ĠR oad", + "AS H", + "ili ar", + "Ġcontin ues", + "Ġapp oint", + "Ġ# Ċ", + "ĠV ir", + "Ġ?> \"", + "Ġb in", + "} \",", + "go ing", + "e ach", + "B D", + "ĠA ccess", + "D oc", + "ĠMan agement", + "B ER", + "ask et", + ".get Instance", + "Ġestablish ed", + "so cket", + "IN S", + "ĉv irtual", + "ĉ result", + "RE AD", + "_ height", + "ĠF ont", + "Ġ( );Ċ", + "_ html", + "Ġneighb or", + "l or", + "Ġg ather", + "Ġ} )ĊĊ", + "Ġid entity", + "Ġf ab", + "p adding", + "ĠR oute", + "Enumer able", + "à ´", + "Ġfor ced", + "/j query", + ".ĊĊ ĊĊĊĊ", + "res ents", + "_ left", + ".P aram", + "ĉ throw", + "ĠH am", + "Ġevent ually", + "ac er", + "p ub", + "Ġtr a", + "un ique", + "d el", + "ĠFlor ida", + "ĠC lean", + "x a", + "Ġ ·", + "Ġvalid ate", + "Vis ual", + "Ex pression", + "_f unc", + "m ember", + "ĉ h", + "tr l", + "ĉ G", + "nap shot", + "ĠProp Types", + "v in", + "] )ĊĊ", + "ow l", + "if ies", + "Ġ$ ('.", + "ĠCont ext", + "ĠTo ast", + ". Key", + "Ġoffic ers", + "/ n", + "s n", + "und efined", + ". items", + "ut ow", + "am age", + "Ġaccount s", + "ook ie", + "Se ction", + "ici ans", + "Ġad vis", + "( is", + "[: ,", + "ĠFr ance", + "F unc", + "ic ious", + "Ġto k", + "Ch annel", + "ĠA D", + "_N UM", + "Ġtime out", + "lem ma", + "rem e", + "u j", + ".A l", + "uc lear", + "( os", + "(\" <", + "[ Ċ", + "f etch", + "Ġb al", + "Ġgu id", + "- align", + "ĠW rite", + "ĠOn ce", + "utow ired", + "OD ULE", + "Ġp itch", + "C F", + "by tes", + "ĠCom mission", + "Ġincre d", + "P ER", + "_ response", + "ĠL os", + "par ser", + "Ġass ume", + ". Request", + "ĠT oken", + "_p osition", + "Ġn om", + "- term", + "Ġrem aining", + "i ostream", + "Ġpie ces", + "ap y", + "ĠL ess", + "r ange", + "umb n", + "pr ise", + "_ option", + "Im pl", + "k wargs", + "Ġbusiness es", + "Al ert", + "Ġpart ies", + "ĠCont ainer", + "ĠPr ivate", + "ĠPl an", + "Ġregister ed", + "Ġj our", + "ack er", + "ен и", + "/ >", + "ch at", + "se ct", + "Ġcre ation", + "olut ely", + "Ġinst ant", + "Ġdel ivery", + "ick en", + "y es", + "ĠFr anc", + "bl ing", + "end a", + "[ (", + "_r ange", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "Ġsched ule", + "Con n", + "Ġthan k", + "x d", + "Ġh ook", + "Ġdocument ation", + "Param eters", + "H ello", + "v t", + "Ġart icles", + "Ġw est", + "def ined", + ". select", + "ok ens", + "ĠV AL", + ".f ile", + "res et", + "Ġmy s", + "ĠM A", + "] ),", + "Ġc ities", + "rel ated", + "å Ľ", + "Ġappe ared", + "Ġw id", + ".p anel", + "ĠIn s", + ". entity", + "Ġde cre", + "ĠL ou", + "(t ime", + "ĠTh ank", + ".create Element", + "Ġmention ed", + "oun ce", + "ĠT ry", + "ĠW all", + "/ images", + "ĠM enu", + "' čĊ", + "ĠE r", + "Ġcrit ic", + "ĠY ear", + "( param", + "Ġf lo", + "N N", + "oot er", + "Ġ ];Ċ", + "ĠA ff", + "\" github", + "room s", + "Ġh yp", + "g lobal", + "Ġa vec", + "æľ Ī", + "Ġcomplet ion", + "Ġcon d", + "onym ous", + "( temp", + "Ġst ars", + "Ġre levant", + "Ġcover ed", + "Ġel im", + "_t ypes", + "( bool", + "Ġt u", + "_ex ists", + "Ġsec ure", + "Ġst ored", + "] /", + "x F", + "ĠCont roller", + "Ġm igr", + "M I", + "ĠD en", + "Ġann ual", + "U IL", + "- and", + "Ġcr ime", + "b el", + "Ġk itchen", + "@ g", + "_p h", + "ourn ament", + "ĠS ocial", + "ĠS pecial", + "log ger", + "Ġt ail", + "Ġun known", + "d ed", + "Ġapp rec", + "(d b", + "c f", + "Ġass ign", + "- out", + "ĠM ont", + "d p", + "w idget", + "Ġst one", + "- primary", + ". grid", + "Result s", + "az z", + "Ġda ughter", + "Ġcur r", + "Ġl in", + "Ġs outh", + "form s", + "ĠO UT", + "let te", + "ak s", + "ig ure", + "ĠE U", + "var iable", + "Ġb rief", + "ĠSc ott", + "Ġcon ference", + "and a", + "_ lock", + "or al", + "Ġe ine", + "OR S", + "//////////////////////////////// ////////////////////////////////", + "ess o", + "Ġr is", + "Ġg ender", + "est ic", + "L icense", + "( out", + "Ġm s", + "Se e", + "Ġwill ing", + "az e", + "Ġs ports", + "Ġy es", + "l u", + "Ġp urs", + "/j avascript", + "- pro", + "nav bar", + "_pro duct", + "/ bootstrap", + "Ġdr iving", + "Ġ Ä", + "Ġpro pos", + "ult ip", + "up lic", + ". email", + "Ġappro x", + "( cl", + "Ġwe ar", + "Ġrep ly", + "ass et", + "Ġ ice", + "Ġt x", + "k r", + "ĠGerman y", + "ĠGe orge", + "Ġc b", + "ĉ err", + "M ove", + "Ġpol y", + "vo ice", + "} \"", + "Ġan imal", + "A v", + "ĠL ocation", + "Ġn ative", + "] [\"", + "< double", + "Ġm ais", + ", int", + "Ġpre par", + "Ġinter val", + "plement ation", + "_ ERR", + "Ġb ug", + "> \"", + "st at", + "Ġ} ,čĊ", + "< span", + "Ġfa ith", + "Ġ rom", + "pre v", + "ĠE lect", + "F ind", + "Ġg od", + "ot or", + "// ----------------------------------------------------------------", + "orig inal", + "C pp", + "ĠSen ate", + "Ġposition s", + "Ġweap ons", + "Ġco ff", + "Ġpur poses", + "p ol", + "Ġim press", + "Ġanim als", + ". Entity", + "(n p", + "Ġmur der", + "Ġ` `", + "fl ag", + "Ġsol utions", + "ĠAct ive", + "Ġb right", + ".d ate", + "Ġsit u", + "ï¼ Ī", + ". ID", + "Ġs ie", + "), čĊ", + "ak t", + "S pace", + ".d at", + ".index Of", + "h an", + "az ine", + "ĠZ e", + "Ġcr ash", + "( /", + "> =", + "Ð ±", + "iv a", + ".Auto Size", + "ĠL at", + "_ ext", + "Initial ize", + ".reg ister", + "OP Y", + "Ġre verse", + "_d is", + "'] [", + "Ġprom pt", + "ont o", + "ĠJ ournal", + "r outer", + "Ġmys qli", + "# else", + ") \"", + "-x s", + "let s", + "ph an", + ". LE", + "W ill", + "Ġaff ord", + "Ġsk ill", + "-t oggle", + "N C", + "B ind", + "T S", + "J ust", + "iter al", + "Y P", + "ĉ unsigned", + "Ġw ind", + ")) :Ċ", + "Ġw arning", + "ĠW ater", + "Ġd raft", + "Ġc m", + "Ġs am", + "Ġhold ing", + "z ip", + "ĠSc ience", + "Ġsup posed", + "G en", + "Ġdi et", + "< h", + "ĠP ass", + "v i", + "Ġhus band", + "� �", + "n ote", + "ĠAb out", + "ĠIn stitute", + "Ġcl imate", + ".Form at", + "Ġn ut", + "est ed", + "Ġapp arent", + "Ġhold s", + "f i", + "new s", + "C M", + "v ideo", + "': '", + "D ITION", + "p ing", + "Ġsen ior", + "w a", + "-- >Ċ", + "_ default", + "ĠD atabase", + "re p", + "E SS", + "ner gy", + ".F ind", + "_m ask", + "Ġr ise", + "Ġk ernel", + ":: $", + ". Q", + "Ġoffer ing", + "de cl", + "ĠC S", + "Ġlist ed", + "Ġmost ly", + "eng er", + "Ġblock s", + "ol o", + "Ġgover ning", + "\\ F", + "Ġcon cent", + ".get Text", + "Ġm b", + "Ġocc urred", + "Ġchang ing", + "Sc ene", + "_C ODE", + "B eh", + "\" The", + "Ġt ile", + "ĠAssoci ation", + "ĉ P", + "al ty", + "_ ad", + "od ies", + "i ated", + "Ġpre pared", + "poss ible", + "Ġm ort", + "TE ST", + "Ġign ore", + "Ġcal c", + "Ġr s", + "Ġassert Equals", + "Ġs z", + "ĠTH IS", + ". \"Ċ", + "Ġcan vas", + "j ava", + "Ġd ut", + "VAL ID", + ".s ql", + ". input", + "Ġa ux", + "S up", + "Ġart ist", + "V ec", + "_T IME", + ".string ify", + "et ween", + "ĠC ategory", + "Ġ[ -", + "ĠDev Express", + "ĠJ ul", + "Ġr ing", + ". ed", + "Y Y", + "L et", + "Text Field", + "Ġfl at", + "_p rint", + "ĠOT HER", + "ad ian", + "Ġcheck ed", + "e le", + "Al ign", + "stand ing", + "Ġ[ ],", + "Ġl ab", + "uck y", + "ĠChrist mas", + "( image", + ".m odule", + "Ġl ots", + "Ġslight ly", + "(f inal", + "er ge", + "è ¿", + "ĠPol ice", + "ĠR ight", + "Ġaw ard", + "ĠO S", + "Ġ{ }ĊĊ", + "Ġp tr", + "ov es", + "ic ated", + "еР¼", + "Ġman age", + "olid ay", + "Am ount", + "ool Strip", + "t body", + "N av", + "w rap", + "B B", + "Ġwatch ing", + "ari os", + "Ġoption al", + "_ K", + "ĠL icensed", + ".M ap", + "T imer", + "ĠA P", + "ĠRe v", + "( o", + ", c", + "um in", + "eta iled", + "ĠH y", + "Ġbl ank", + "ag ger", + "ĠS elf", + "() [", + ".m ake", + "ear n", + "ch annel", + "< pre", + "ble m", + "_p assword", + "_s p", + "ic ing", + "e z", + "Ġthe ory", + "ĠT er", + ", n", + "log o", + "ĠHT TP", + "() ))", + ".h andle", + "> ;Ċ", + "W orld", + "Ġpy thon", + "Ġl if", + "Ġtr av", + "Ġcon ven", + "com pany", + "ĠCl ub", + "V er", + "B tn", + "Ġz one", + "product s", + "ĠE duc", + "Ġver ify", + "ĠM il", + "on o", + "] );ĊĊ", + "EN CE", + "Ġpack et", + "Ġc er", + "Ġen umer", + "Ġpar s", + "form ed", + "Ġocc up", + "t re", + "Ġexerc ise", + "D ay", + "_s um", + "Ġask ing", + "apt ion", + "Ġord ers", + "Ġsp ending", + "ĠE RR", + ".D is", + "ĠU til", + "âĢľ I", + "\\ '", + "? )", + "/ >Ċ", + "Ġem ot", + "Ġinflu ence", + "ĠAfr ica", + "att ers", + "Ù ħ", + ".s ession", + "Ġch ief", + "ĉĉĉĉĉĉĉĉ ĉĉĉ", + "Ġto m", + "clud ed", + "ser ial", + "_h andler", + ".T ype", + "ap ed", + "Ġpolic ies", + "- ex", + "- tr", + "bl ank", + "mer ce", + "Ġcover age", + "Ġr c", + "_m atrix", + "_ box", + "Ġcharg es", + "ĠB oston", + "P e", + "Ġcirc um", + "Ġfil led", + "Ġn orth", + "icture Box", + "ĉ res", + "è ®", + "Ġter min", + "Ġ[ â̦", + "IRE CT", + "Ġb er", + "Ġ\" ../../", + "ret ch", + ".c ode", + "_c ol", + "ĠGovern ment", + "Ġarg v", + "ĠL ord", + "as i", + "Ex ec", + "ĉ let", + "vert is", + "Ġdiscuss ion", + "en ance", + "out ube", + "type of", + "Ġs erved", + "ĠP ut", + "ĉ x", + "Ġs weet", + "B efore", + "ateg y", + ". of", + "ĠM aterial", + "S ort", + "ON T", + "ig ital", + "Wh y", + "Ġs ust", + "Ġ ç", + "ab et", + "Ġseg ment", + "Ġ[ ],Ċ", + "ĠMus lim", + "Ġfind ViewById", + "c ut", + "_T EXT", + "ĠM ary", + "Ġlo ved", + "Ġl ie", + "ĠJ O", + "Ġis set", + "mon th", + "Ġpr ime", + "t i", + "ĠCar ol", + "U se", + "ĠP op", + "ĠS ave", + "Int erval", + "ex ecute", + "d y", + "ĠI ran", + "_ cont", + "ĉ T", + "Ġph ase", + "check box", + "we ek", + "Ġh ide", + "Ġt il", + "Ġj u", + "C ustom", + "b urg", + "/ M", + "T ON", + "Ġqu ant", + "Ġr ub", + "ix els", + "Ġinst alled", + "Ġd ump", + "Ġproper ly", + "( List", + "Ġdec ide", + "app ly", + "H as", + "Ġkeep ing", + "Ġcitiz ens", + "Ġj oint", + "p ool", + "S ocket", + "_ op", + "Ġweap on", + "gn ore", + "ĠEx ec", + "ott en", + "ĠM S", + "Ġ( -", + "ĠRe view", + "Ġex amples", + "Ġt ight", + "! (", + "D P", + "ĠMessage Box", + "Ġphot ograph", + "UR I", + "é t", + "l ow", + "ĠGr and", + ".p ersistence", + "Ġmaint ain", + "Ġnum s", + "Ġz ip", + "ial s", + "ĠG ets", + "pe g", + "ĠB uffer", + "~~ ~~", + "ra structure", + "ĠP L", + "u en", + "ob by", + "size of", + "Ġp ic", + "Ġse ed", + "Ġexperi enced", + "Ġo dd", + "Ġk ick", + "Ġproced ure", + "avig ator", + "- on", + ", j", + "ĠAl though", + "Ġuser Id", + "ac cept", + "Bl ue", + "IC olor", + "l ayer", + "av ailable", + "Ġend s", + ".t able", + "Ġdat aset", + "b us", + "Ġexpl ain", + "( pro", + "ĠCommit tee", + "Ġnot ed", + "] :Ċ", + "D im", + "std io", + ". \",Ċ", + "_s ource", + "ĠWe ek", + "ĠEd ge", + "Ġoper ating", + "Ġest e", + "i pl", + "ag ination", + "Ġpro ceed", + "Ġanim ation", + ".Model s", + "ĠW atch", + "i at", + "Ġopp on", + "/ A", + "Re port", + "Ġs ounds", + "_b uf", + "IEL D", + "Ġbu nd", + "ĉ get", + ".p r", + "(t mp", + "Ġk id", + ">ĊĊ Ċ", + "Ġy ang", + "Not Found", + "Ñ Ĩ", + "m ath", + "@g mail", + "ĠL IMIT", + "red ients", + "Ġv ent", + "avig ate", + "L ook", + "Ġrelig ious", + "Ġr and", + "ri o", + "( GL", + "_ ip", + "u an", + "ici ency", + "ĠCh ange", + "> čĊčĊ", + "ĠEnt ity", + "Ġrencont re", + "ĠR et", + "pl an", + "é n", + "BO OL", + "ur ies", + "tr ain", + "Def inition", + "======== ====", + "z z", + "An imation", + "ĠO K", + "_m enu", + ".b l", + "_s core", + "Ġac ad", + "( System", + "Ġref resh", + "'=> $", + ".G raphics", + "ament o", + "p id", + "t c", + "Ġt ips", + "Ġhom es", + "Ġf uel", + "â ĸ", + "_h elper", + "ĠĠ čĊ", + "ĠR oom", + ".C lose", + "_ attr", + "ĠM ount", + "ĠE v", + "ar ser", + "_t op", + "e ah", + "ĠDe lete", + "ãĢ į", + "u ke", + "Ġus age", + "ar ia", + "_de v", + "Ġtext ure", + "Ġconvers ation", + "e per", + "Be an", + "d one", + "non atomic", + "ĠSe cond", + "Ġshoot ing", + "_p re", + "Com ponents", + "Ġ] ĊĊ", + "__ ,", + "stit ution", + ".Ch ar", + "> ();ĊĊ", + "Ġpresent ed", + "Ġw a", + "ok er", + "- ĊĊ", + "in er", + "Ġbe coming", + "Ġinc ident", + "At t", + "Ġreve aled", + "for c", + "Ġbo ot", + ".p age", + "Enumer ator", + "_ ->", + "Ph oto", + "Ġs pring", + ". \",", + "ĠD ictionary", + "B JECT", + "Ġloc ations", + "Ġs amples", + "Input Stream", + "ĠB rown", + "Ġst ats", + "qual ity", + "Ñ ħ", + "-d is", + "Ġhelp ing", + "Ġp ed", + "( se", + "ĠWh o", + "al ian", + "int ernal", + "Ġf t", + "> ().", + "-> {", + "Ġm ine", + "Ġs ector", + "Ġg ro", + "Ġopport unities", + "Ġà ¼", + "Ġm p", + "Ġalleg ed", + "Ġdoub t", + "M ouse", + "Ab out", + "_p art", + "Ġch air", + "Ġstop ped", + "lo op", + "ent ities", + "Ġapp s", + "ans ion", + "Ġm ental", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "F R", + "Ġdef end", + "c are", + "Ġide al", + "/ api", + "ur face", + "Ġe le", + "ul ator", + "ĠR ights", + "angu ages", + "Ġfund s", + "Ġad apt", + "At tributes", + "Ġdep loy", + "opt s", + "Ġvalid ation", + "Ġconcern s", + "u ce", + ".n um", + "ult ure", + "il a", + "Ġc up", + "Ġp ure", + ".F ore", + "ĠHash Map", + ".value Of", + "as m", + "M O", + "Ġc s", + "Ġst ores", + "Ġ ************************************************************************", + "Ġcommunic ation", + "m em", + ".Event Handler", + ". Status", + "_ right", + ".set On", + "S heet", + "Ġident ify", + "ener ated", + "order ed", + "Ġ\" [", + "Ġs we", + "Con dition", + "ĠA ccording", + "Ġpre pare", + "Ġro b", + "P ool", + "Ġs port", + "r v", + "ĠR outer", + "Ġaltern ative", + "( []", + "ĠCh icago", + "ip her", + "is che", + "ĠDirect or", + "k l", + "ĠW il", + "key s", + "Ġmy sql", + "Ġw elcome", + "k ing", + "ĠMan ager", + "Ġca ught", + ") }Ċ", + "S core", + "_P R", + "Ġsur vey", + "h ab", + "He aders", + "AD ER", + "Ġdec or", + "Ġturn s", + "Ġr adius", + "err upt", + "C or", + "Ġm el", + "Ġin tr", + "( q", + "ĠA C", + "am os", + "M AX", + "ĠG rid", + "ĠJes us", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + ".D E", + "Ġt s", + "Ġlink ed", + "f ree", + "ĠQ t", + "Ġ/** čĊ", + "Ġf aster", + "ct r", + "_ J", + "D T", + ".C heck", + "Ġcomb ination", + "Ġint ended", + "- the", + "- type", + "ect ors", + "am i", + "ut ing", + "Ġum a", + "X ML", + "U CT", + "A p", + "ĠR andom", + "Ġr an", + ".s ort", + "Ġsort ed", + ". Un", + "_P ER", + "it ory", + "Ġprior ity", + "ĠG al", + "ĠO ld", + "h ot", + "ĠD isplay", + "(s ub", + "_T H", + "_ Y", + "ĠC are", + "load ing", + "K ind", + "_h andle", + ", ,", + "r ase", + "_re place", + ".add EventListener", + "ĠR T", + "Ġenter ed", + "g ers", + "Ġ ich", + "( start", + "/ app", + "Ġbro ther", + "M emory", + "Out let", + "Ġ utf", + "pre c", + "Ġn avigation", + "OR K", + "Ġd st", + "D etail", + "Ġaud ience", + "Ġd ur", + "Ġcl uster", + "un ched", + "Ġ ],", + "Ġcomfort able", + ". values", + "ĠT otal", + "Ġsn ap", + "Ġstand ards", + "Ġperform ed", + "h and", + "(\" @", + "å Ń", + "Ġph il", + "ib r", + "tr im", + "Ġfor get", + "Ġdo ctor", + ".Text Box", + "icon s", + ", s", + "ĠO p", + "S m", + "St op", + "ĉ List", + "ĉ u", + "Com ment", + "_V ERSION", + ".X tra", + "P erson", + "r b", + "LO B", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĊ", + "ĠCent ral", + "IC K", + "ra q", + "Ġput ting", + "Ġm d", + "ĠL ove", + "Pro gram", + "B order", + "o or", + "Ġallow ing", + "a fter", + "Ġent ries", + "ĠMay be", + "] ).", + "ĠSh ort", + ") \\", + ".n ow", + "f riend", + "Ġpre fer", + "ĠG PIO", + "os is", + "ĠGame Object", + "Ġsk ip", + "Ġcompet ition", + "_m atch", + "lic ations", + "_CON T", + ".group Box", + "Ġal s", + "\" We", + "_e q", + "l an", + "_ search", + "ĠMus ic", + "as is", + "Ġb ind", + "ĠIs land", + "r um", + "( E", + "Ġse at", + "V ideo", + "Ġa ck", + "ree k", + "={ ()", + "Ġr ating", + "Ġrestaur ant", + "DE X", + "(b uf", + "pp ing", + "ual ity", + "Ġle ague", + "Ġfoc used", + "ap on", + "$ data", + "CL UD", + "CLUD ING", + "Ġabs olute", + "( query", + "Ġtell s", + "A ng", + "Ġcomm unities", + "Ġhon est", + "ok ing", + "Ġap art", + "ar ity", + "/ $", + "_m odule", + "ĠE nc", + ". an", + ".Con fig", + "C re", + "Ġsh ock", + "ĠAr ab", + "I ENT", + "/ re", + "Ġre trie", + "ycl er", + "is a", + "ĠO rgan", + ". graph", + "Ġ í", + "ĠB AS", + "En um", + "Ġposs ibly", + "ÑĢ Ð°Ð", + "ĠJapan ese", + "Ġc raft", + "ĠPl ace", + "Ġtal ent", + "Ġfund ing", + "Ġconf irmed", + "Ġc ycle", + "/ x", + "G E", + "Ġhe aring", + "Ġpl ants", + "Ġm outh", + "p ages", + "or ia", + "ĠRem ove", + "_t otal", + "Ġo d", + "oll apse", + "do or", + "Ġb ought", + "Ġadd r", + "AR CH", + "_d im", + "dd en", + "Ġdec ades", + "RE QUEST", + "Ġvers ions", + "f ire", + "Ġmov es", + "f b", + "Ġcoff ee", + ".con nect", + "ĠR ow", + "Ġs chema", + "S cope", + "- Type", + "Ġfight ing", + "Ġret ail", + "Ġmod ified", + "T F", + "File s", + "n ie", + "_com mand", + "st one", + "Ġ ÑĤ", + "_ thread", + "Ġb ond", + "ĠDevelop ment", + "Ġp t", + "F ORM", + "ple t", + "Ġident ified", + "c pp", + "Ġc oding", + "ok ed", + "ĠM aster", + "ID TH", + "Ġres idents", + "red it", + "ĠPh oto", + "= -", + "un te", + "ate ur", + "_ST ATE", + "ĠS ing", + "Ġshe et", + ". val", + "or se", + "Ġh ers", + "Ġdetermin ed", + "Com mon", + "Ġw ed", + "_ queue", + "P H", + "ĠAt l", + "cre d", + "/L ICENSE", + "Ġm es", + "Ġadv anced", + ".j ava", + ".S h", + "G o", + "k ill", + "f p", + "_set tings", + "Ġp al", + "Ġtr uck", + "Ġcomb ined", + "Ġ\" ${", + "ĠCor por", + "Ġjo ined", + "ĠJ ose", + "ĠC up", + "un s", + "est ival", + "lev ision", + "Ġbro ken", + "Ġmar riage", + "ĠWest ern", + "Ġrep resents", + "ĠT itle", + "Ġs s", + ".A ss", + "ongo ose", + "ient o", + "< >();Ċ", + "Ġabs olutely", + "Ġsm ooth", + "TER N", + "ĠUn less", + "W ord", + "Ġmer ge", + "ig an", + "ĠV ol", + "Ġn n", + ".get Id", + "ĠÐ ·", + "Ġsex y", + "Ġseek ing", + "S ingle", + ". this", + "Ġk om", + "b ound", + "; \"", + "Ġfont Size", + "_d f", + "Ġinj ury", + "( H", + "Ġiss ued", + "_ END", + ": self", + "Ġp atch", + "Ġle aves", + "Ġad opt", + "File Name", + "ãĢ IJ", + "Ġexec utive", + "ĠBy te", + "] ))Ċ", + "Ġn u", + "out ing", + "clud ing", + "- R", + ". options", + "Ġsub stant", + "av ax", + "ĠB UT", + "Ġtechn ical", + "Ġtw ice", + "Ġm ás", + "Ġun ivers", + "y r", + "Ġdr ag", + "ĠD C", + "Ġs ed", + "Ġb ot", + "ĠP al", + "ĠH all", + "forc ement", + "Ġa uch", + ".m od", + "not ation", + "_file s", + ".l ine", + "_fl ag", + "[ name", + "Ġres olution", + "Ġb ott", + "(\" [", + "end e", + "( arr", + "F ree", + "( @\"", + "ĠD istrict", + "PE C", + ": -", + "P icker", + "ĠJ o", + "ĠĠĠĠĠ Ċ", + "ĠR iver", + "_ rows", + "Ġhelp ful", + "Ġmass ive", + "--- Ċ", + "Ġmeas ures", + "ĠR untime", + "Ġwor ry", + "ĠS pec", + "ĉ D", + "ãĢ ij", + "Ġ) {Ċ", + "Ġwor se", + "(f ilename", + "Ġl ay", + "Ġmag ic", + "ĠThe ir", + "ou l", + "st roy", + "ĠWh ere", + "Ġsu dden", + "Ġdef e", + "Ġb inding", + "Ġfl ight", + "ĠOn Init", + "ĠW omen", + "ĠPol icy", + "Ġdrug s", + "ish ing", + "(' ../", + "ĠM el", + "pe at", + "t or", + "Ġpro posed", + "Ġst ated", + "_RE S", + "Ġe ast", + "ĠCON DITION", + "_d esc", + "Ġwin ning", + "fol io", + "M apper", + "ĠP an", + "ĠAn ge", + ".s ervlet", + "Ġcop ies", + "L M", + "Ġv m", + "å į", + "Ġd ictionary", + "S eg", + "el ines", + "ĠS end", + "Ġ iron", + "ĠF ort", + ".d omain", + "Ġdeb ate", + "Not Null", + "e q", + "ach er", + "l f", + "ĉf mt", + "Ġlaw y", + "Ä Ł", + "ĠM en", + "Ġtr im", + "( NULL", + "Ġ! !", + "Ġp ad", + "Ġfollow s", + "\"] [\"", + "re qu", + "ĠE p", + ".g ithub", + "( img", + "et o", + "(' \\", + "S ervices", + "umbn ail", + "_m ain", + "ple ted", + "fort unately", + "Ġw indows", + "Ġpl ane", + "ĠCon nection", + ". local", + "u ard", + "} \\", + "== \"", + "and on", + "ĠR oy", + "w est", + "ig inal", + "em ies", + "it z", + "') :Ċ", + "ĠP eter", + "Ġt ough", + "Ġredu ced", + "Ġcalcul ate", + "Ġrap id", + "c ustomer", + "Ġeff icient", + "Ġmed ium", + "Ġf ell", + ". ref", + "ĠC as", + "Ġfeed back", + "S peed", + "( output", + "aj e", + "Ġc ategories", + "Ġfe e", + "} ;", + "Ġde leted", + "re h", + "Ġpro of", + "D esc", + "B uild", + "Ġs ides", + ".Array List", + "- %", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "Ø ±", + ".m atch", + "л и", + "Ġfe els", + "Ġachie ve", + "Ġcl im", + "_ ON", + "ĠC D", + "Ġteach er", + "_c urrent", + "b n", + "_P L", + "ist ing", + "En able", + "G EN", + "Ġt v", + "Ġso ck", + "Ġpl ays", + "Ġdis count", + "ĠK E", + "ĠDe bug", + "F ore", + "ĠI raq", + "Ġappear ance", + "M on", + "Ġst yled", + "ĠH uman", + "i ot", + "ĠH istory", + "Ġs ac", + "ĠC ollection", + "Ġrecomm ended", + ".Se lected", + "Ġorgan izations", + "Ġdiscover ed", + "co hol", + "ad as", + "ĠThom as", + "M ay", + "Ġcons erv", + "Ġdom in", + "ĠF ollow", + "ĠSe ction", + "ĠTh anks", + "User name", + "Ġrec ipe", + "Ġwonder ful", + ".s leep", + "_ if", + "ĉĊ ĉĊ", + "orn o", + "Ġr u", + "_t arget", + ".\" \"", + "à ¦", + "Event Args", + "Ġinput s", + "Ġf if", + "Ġv ision", + "c y", + "ĠS eries", + ") (((", + "Ġtr ading", + "Ġmark er", + "B egin", + "Ġtyp ically", + "Ġca uses", + "drop down", + "_DE BUG", + "Ġdet ect", + "c ountry", + "! \");Ċ", + "ĉ R", + "app y", + "Ġc ref", + "(' <", + "\" =>", + "ĠL E", + "read er", + "Ġadmin istr", + "à µ", + "uck et", + "Ġf ashion", + ". char", + "iz ar", + "Ġdis able", + "Ġsu c", + "ĠL ive", + "iss ue", + "Ġmet adata", + "fl ags", + "Ġ ðŁ", + "Ġcomm itted", + "Ġv a", + "Ġr ough", + "Ġ'' 'Ċ", + "Ġhigh light", + "_var s", + "V O", + "Ġenc oding", + "- Z", + "_s ign", + "$ (\"#", + "Ġr ain", + "reate st", + "ĠEN D", + "Se lection", + "Ġcandid ates", + "Ġs av", + ". Empty", + "Ġdec isions", + "Ġcoll abor", + "rid ge", + "fe ed", + "ress ion", + "Ġperson s", + "V M", + "eg a", + "_B IT", + "A ccording", + "ack ed", + "Ġdoll ars", + "_lo ss", + "ĠC ost", + "} \"Ċ", + "Not ification", + "Ġpro stit", + "Ġauthor ity", + ".re c", + "Ġsp okes", + "ĠT oday", + "ist ant", + "ĠHe ad", + "âĢĿ .", + "ertain ment", + "ce an", + "cul ate", + "Ġv en", + "How ever", + "_ arr", + "Ġtok ens", + "G raph", + "ĠJ ud", + "ĠVir gin", + "ĠS erial", + "un ning", + "M utable", + "ag ers", + ".c sv", + "Ġdevelop ing", + "Ġinstruction s", + "Ġprom ise", + "Ġrequest ed", + "_ encode", + "/ \"", + "ĠI con", + "u ilt", + "- day", + "Ġint elligence", + ". IS", + "ĠO bservable", + "ĠH ard", + "Bo ol", + "ident ial", + ".An chor", + "Ġsell ing", + "C I", + "AG ES", + "t le", + "b ur", + "UFF ER", + "R Y", + "Ġbig ger", + "Ġr at", + "Ġfam ous", + "Ġtyp ename", + "Ġexpl ained", + "} }Ċ", + "Ġn uclear", + "- N", + "Ġcr isis", + "ĠEnt er", + "Ġan swers", + "/ ${", + "/ pl", + "Ġse qu", + "_n ext", + "m ask", + "Ġstand ing", + "Ġpl enty", + "ĠC ross", + "ĉ ret", + "d ro", + "ĠC ast", + "= true", + "ĠCh ris", + "ic io", + "ĠM ike", + "Dec imal", + "add Component", + "L en", + "Ġco ck", + "Ġ# {", + "UR N", + "< tr", + "Ġauthor ities", + "Res ources", + "- H", + "B ottom", + "_ qu", + "put er", + "ester day", + "Dis patch", + "s ince", + "Ġfam iliar", + ", i", + "V C", + "Ġm ent", + ", C", + "Ġfre edom", + "Ġr outes", + "ĠB uy", + "Ġcomm ands", + "Ġm esh", + "/ C", + "ĠSet tings", + "- style", + "Ġw itness", + "Ġc le", + "Ġun ion", + "ef ault", + "are t", + "Ġthought s", + "Ġ ----", + "_pro cess", + "_ us", + "ing ly", + "U ES", + "T ouch", + "ĠÐ ¼", + "_ open", + "ĠV ec", + "Ġre ward", + ".C lick", + "/ :", + "Ġn ie", + "Ch anges", + "M onth", + "ï¼ Ł", + "Ġexec ution", + "Ġbe ach", + "( Integer", + "ĉ a", + "/ '", + ".Font Style", + "Ġab ort", + "ĠS ingle", + "( isset", + "Ġd p", + "Ġ}} ", + "Ġ* =", + "ĠP S", + "Ġdanger ous", + "[ p", + "OM E", + "O ther", + "ĠString Builder", + "Point s", + "head ing", + "Ġc urrency", + "Ġpercent age", + "_A PI", + "Ġclass ic", + "the ad", + "ĠM O", + "F E", + "Id x", + "aw ait", + "Ġà ¨", + "Ġacc ident", + "Ġvari ant", + "Ġm yst", + "ĠL and", + "ĠB re", + "Ġh arm", + "ĠA cc", + "Ġcharg ed", + "ion es", + "Vis ibility", + "ar ry", + "ĠL anguage", + "Ġwalk ing", + "\" .ĊĊ", + "if er", + "Ġleaders hip", + ".F rom", + "yn am", + "Ġt imestamp", + "i pt", + "ĠH as", + "REF ER", + "ĠIt s", + "Ġlist ener", + "UT E", + "_d escription", + "Ġexperi ences", + "Ġcre ates", + "R S", + "c art", + "bl ack", + "Ġcho ices", + "w ar", + "Ġ'' '", + "Ġorder ed", + "Ġeven ing", + "Ġp il", + "Ġt un", + "ĠB ad", + "( app", + "r andom", + "Ġexp licit", + "Ġarr ived", + "Ġf ly", + "Ġecon om", + "-m ail", + "Ġlist s", + "Ġarch itect", + "ĠP ay", + "Ġd s", + "ĠS ol", + "Ġveh icles", + "H z", + "- com", + "Ġk ing", + "_e qual", + "ĠH elp", + "Ġab use", + "-- ;Ċ", + "Ġex tr", + "Ġchem ical", + "ä ¿", + "Ġor ient", + "Ġbre ath", + "ĠS pace", + "(e lement", + "w ait", + "DE D", + "ig ma", + "Ġent r", + "Ġs ob", + "- name", + "Ġaff ected", + "ik a", + "Ġco al", + "_w ork", + "Ġhundred s", + "Ġpolit ics", + "sub ject", + "Ġconsum er", + "ANG E", + "Ġrepe ated", + "S end", + "Ġ# [", + "Ġprot ocol", + "Ġlead s", + "use um", + "E very", + "Im port", + "(c ount", + "Ġchalleng es", + "Ġnov el", + "Ġdep art", + "b its", + ".C urrent", + "Ġ` ${", + "ot ing", + "( \\", + "Ġcreat ive", + "Ġbu ff", + "Ġintrodu ced", + "us ic", + "mod ules", + "A re", + "-d oc", + "l anguage", + "_c ache", + "Ġto d", + "? > {{", + "ĠRes ource", + "ĠSt andard", + "ĠP rem", + "up dated", + "ival ent", + "Ġas sets", + "_t emp", + "Ġinterest s", + "Ġhard ware", + "ĠR om", + "ĠSh are", + "Ġ' 'Ċ", + "Ġ* ,", + "ĠT ake", + "ĠIm ages", + "_C HECK", + "(type of", + "ĠJ un", + "\\< ^", + "Ġli qu", + "Ġwor st", + "ymb ols", + "ĉĉĉ ĠĠĠ", + "Ġdr ivers", + "ĠD ocument", + "en o", + "ĠTechn ology", + "Ġappro ved", + "ump s", + "Ġs now", + "form ance", + "_A SSERT", + "u its", + "Ù Ĩ", + "Ġdiffer ences", + ". Visible", + "ĉĉĉ čĊ", + "ĠP s", + "_f etch", + "Ġto do", + ". ',Ċ", + "Ġs el", + "ur ers", + "in valid", + "Ġt weet", + "V EL", + "Ġresearch ers", + "Ġs printf", + "ĠR O", + "Ġp el", + ".Tr ans", + "Ġil legal", + "d ialog", + "sm arty", + "l g", + "_M IN", + "Ġher o", + "f inal", + "Ġp p", + ".L e", + "Ġc i", + "ĉ RT", + "Ġsuggest ed", + "p df", + "ach ing", + "ĠR o", + "ĠProp erties", + "ĠS i", + "Ġbuy ing", + "Ġm u", + "Ġl ands", + "if iers", + "ĠF ILE", + "RO UP", + "Ġh older", + "ĠS on", + "Ġsym pt", + ".r oute", + ") ?", + "Ġarg c", + "Ġfor t", + "Ġcas ino", + "_c ategory", + "Ġfor um", + "p refix", + "apt ure", + "T ube", + "em s", + "im ize", + "Ġn ue", + "a us", + "c ourse", + "AT OR", + "() ),", + "Ad vertis", + "ING S", + "Ġack now", + "ĠKore a", + "pl ing", + "Ġwork er", + "PL IED", + "h al", + "ĠRich ard", + "Element s", + "ĉĉĉ Ġ", + "st ar", + "Ġrelationship s", + "Ġche ap", + "AC H", + "ĠX ML", + ", &", + "ĠLou is", + "Ġr ide", + "_F AIL", + "Ġch unk", + "[ s", + "_O UT", + "Ġch osen", + "_ [", + "/ (", + "ĠJ eff", + "_s l", + "pr iv", + "ĠCan adian", + "Ġun able", + "_F LAG", + "Ġn os", + "h igh", + "Ġl ift", + "f un", + "() {", + "el ly", + "ycler View", + "_ as", + "_L IST", + "Ġr adi", + ".get Value", + "ĠAnge les", + "ĠS pan", + "_in stance", + "it ors", + "Ġm igration", + "A K", + "O h", + " ®", + ". selected", + "ĠG T", + "Ġadv ance", + "ĠSt yle", + ".Data GridView", + "e ction", + "Ñ İ", + "p io", + "ro g", + "Ġsh opping", + "ĠR ect", + "I lluminate", + "O U", + "ĉ array", + "Ġsubstant ial", + "Ġpre gn", + "Ġprom ote", + "IE W", + ".L ayout", + "Ġsign s", + "/ .", + "Ġlet ters", + "Bo ard", + "ct rl", + "\" \\", + "ĠJ ones", + "Ġvert ex", + "Ġj a", + "Ġaff ili", + "Ġwe alth", + "ĉ default", + "Ġsignificant ly", + "Ġe c", + "Ġx s", + "act ual", + ".p er", + "_st ep", + "an vas", + "m ac", + "Ġtrans l", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "Iter ator", + "Ġo ch", + "agnost ic", + "ĠD uring", + "ĠDE FAULT", + "Ġt ill", + "Ġsign ature", + "Ġb ird", + "ĠO l", + "ĠI r", + "H S", + "av atar", + "ESS AGE", + "Ġe lev", + "Ġm t", + "ĠN av", + "Ġrel ax", + "Ġpl ate", + "IT EM", + "( date", + ".n ot", + "Ġgr ade", + "Ġ} ),Ċ", + "? \"ĊĊ", + "i ences", + "H igh", + "ĠD IS", + "dis abled", + "Q UI", + "Ġno ise", + "a ux", + "ĠU P", + "os a", + "Ġv oc", + "Ġ ))", + "oc om", + "_O FF", + "ĠD b", + "L ock", + ".e clipse", + ", d", + "ĠD raw", + "Ġ\" (", + "Ġvis ited", + "Ġâ Ī", + "Ġsuc ceed", + "Ġim possible", + "a ire", + "ĠT urn", + "Ġd ish", + "F G", + "Ġs ensor", + "AN N", + "ab a", + "Ġsur g", + "] );čĊ", + "Ġf p", + "_ an", + "- J", + "- G", + "ĠJ ob", + "Con vert", + "ĠKE Y", + "Ġauth ors", + "_s erver", + "\\ r", + "Ġ-* -", + "f lex", + "Ġs oc", + "R et", + "Ġs alt", + "Ġâ̦ ĊĊ", + "ĠC lear", + "(p age", + "-d anger", + "Ġroom s", + "con v", + "# {", + ". op", + "ĠA rea", + "_S C", + "h en", + "Ġbeg ins", + "- y", + "Ġexc ited", + "Ġign ored", + "Ġbon us", + "st udent", + "ĠM ember", + "Ġrel atively", + "ĠL ow", + "ĠPro du", + "ate way", + "pos ure", + "Ġth ick", + "ani el", + "( view", + "ĠCr ush", + "Ext ension", + "I l", + "e ed", + "LO C", + ". im", + ". Items", + "Ġconflic t", + ".pre vent", + "Ġon Create", + "u v", + "is er", + "Ġw ave", + "M ar", + "ĠComm unity", + "ic he", + "ĠNo thing", + "[ m", + "ĠLe e", + "ri ends", + "è re", + "!! !", + "an z", + ". result", + "ĠS K", + "_P ARAM", + "Ġdem ocr", + "Back Color", + ".ex ists", + "\" It", + "( options", + "ra zy", + "as er", + "\\ Database", + "al endar", + "_ ass", + "; }Ċ", + "vert ex", + "ine craft", + "W arning", + "arg o", + "Ġact or", + "ĠInst ead", + "ĠUs ing", + "S elf", + "@ interface", + "Ġspe aking", + "ĠPar is", + "ĠL ICENSE", + ".n ode", + "ĠF ood", + "E IF", + "ĠB i", + ". Start", + "ĠI B", + "Ġun iversity", + "ĠHe ader", + ".pro duct", + "C opy", + "et c", + "r ical", + "Ġ> >>", + "book s", + "Ġal gorithm", + "Ġ' __", + "(j avax", + "Ġnumer ous", + "Sh are", + "H ave", + "Ġrec ru", + "Ġpro ve", + ".sub string", + "he alth", + "е л", + "Ġdec imal", + "Ġcomm ission", + "s cription", + "x C", + "Ġsum mary", + "att ed", + "Ġclo ser", + "fin ished", + "() ){Ċ", + "ĠW ood", + "_field s", + "k u", + "_ items", + "Fl ag", + "Ġconf idence", + "ĠF ederal", + "du x", + "Ġcomp at", + "Ġvert ical", + "Ð ¹", + "è s", + "; \">Ċ", + "_m anager", + "() ))Ċ", + "ID E", + ": \",", + "__ Ċ", + "ĠW ay", + "Ñ Ī", + "T emp", + "ĠS TR", + "rit ten", + "S ync", + "ĠA V", + "ĠC EO", + "ĠG uid", + "Ġenvironment al", + "Ġcorrespond ing", + "ĉ console", + "Ġjust ice", + "ĠJ S", + "Ġl ived", + "g ar", + "ĠG raph", + "ĠSt at", + "Ġi Phone", + ". al", + "ĠH D", + "Ġocc ur", + "Ġth reshold", + "Ġon click", + "RE G", + ".Graphics Unit", + "M eta", + "Å ¾", + "Ġc um", + ".g nu", + "à «", + "Ġobt ained", + "Ġcompl aint", + "Ġe ating", + "Ġt ar", + "_t ask", + "Ġopt s", + "( to", + "P ass", + "Ġpl astic", + "t ility", + "ĠW in", + ".prevent Default", + "p ile", + "ĠG ar", + "Ġqu antity", + "_l ast", + "Ġg reatest", + "D ao", + "_D IS", + "ĠUs ed", + "ĠH P", + "rit ing", + "S ION", + "bl ue", + "d omain", + "Ġs cores", + "N ormal", + "_ admin", + "ĠA SSERT", + "Th en", + "** *", + "d ist", + "l on", + "Ġh ate", + "sh al", + "Image View", + "d atabase", + "Ġp and", + "Ġlog ic", + "= false", + "b g", + "ĠConfig uration", + "Ġn ur", + "O G", + "Ġmar ried", + ": +", + "Ġdro pped", + "Ġreg istration", + "оР¼", + "ult iple", + "iz ers", + "sh ape", + ".c opy", + "Ġwe aring", + "ĠC ath", + "Ġded icated", + "Ġ.. .Ċ", + "Ġadv oc", + "ĠF amily", + "Ġstat ements", + "em atic", + "ampions hip", + "Ġmot iv", + "ĠH ave", + "Ġbl ow", + "J ob", + "c ert", + "_v ector", + "inst all", + "ĠC OPY", + "em bed", + "D IR", + "ĠS pring", + "Ġex hib", + "cd n", + "ĠCom ment", + "ĠOption al", + ". player", + "ĠD ark", + "( pos", + "ĠSh ould", + "Ġcent re", + "ĠGu ard", + "ó w", + "Ġtr ouble", + "EN ER", + "( unsigned", + "_s ervice", + "Ġn s", + "ul ing", + "ĠMex ico", + "ĠN Y", + "mys ql", + "Ġl ic", + "å ľ", + "M r", + "- fl", + "ĠC ustomer", + "id i", + "Ġ? >ĊĊ", + "ri ble", + "Ġп ÑĢ", + "Ġs izes", + "_STR ING", + "valid ation", + "ĠJ on", + "( Http", + "add Class", + "N odes", + "Ġfrag ment", + "Ġsp oke", + "Ġw aste", + "J oin", + "Ġill ustr", + "el i", + "c ient", + "Ġa id", + "Ġpro sec", + "') {Ċ", + "Ġpass ing", + "Ġf aces", + "Sh ape", + "_ Z", + "it i", + "Ġal le", + "Ġro bot", + "ĠĠĠĠĠĠĠ Ċ", + "ĠS pe", + "Ġrece iving", + "ĠD etails", + "Ġ\" )", + "m g", + "_RE F", + "Ġcompar ison", + "* ,", + "ĠF ound", + "_s ession", + "( U", + "/ F", + "Ġx xx", + "N etwork", + "d ers", + "Ġcap ture", + "Ġcor re", + "ĠL td", + "ĠAd v", + "[ @", + "Ġcl ip", + "M ill", + "ĠPro file", + "Ġend if", + "Ġob lig", + "des cribe", + ".e lement", + "riter ion", + "L D", + "er ed", + "Ġfav our", + "s core", + "ĠF ilter", + "at tributes", + "Ġcheck s", + "In flater", + "ĠPl us", + "Ġscient ific", + "Ġpriv acy", + "He ad", + "Ġfe at", + "Ġdeg rees", + "ĠP ale", + "; \">", + "Ġfil ms", + "ĠA udio", + "ĠT ag", + "ĠE nergy", + "it ar", + "par ator", + "Ġf ellow", + "Ġev t", + "ĠT ri", + "ĠD AM", + "cl oud", + "ĠP assword", + "ĠDemocr ats", + "ĠAc ad", + "$ lang", + "Ġre b", + "() )ĊĊ", + "н Ñĭ", + "ĠB ur", + "read cr", + "Ġh ex", + "Con sole", + "ct l", + "ous el", + "ĠWill iam", + "Ġa z", + "_P ORT", + "Ġpract ices", + "Ġany where", + "ĠP osition", + "Ġ- >Ċ", + "i ams", + ".user name", + "place holder", + "Ġo der", + "ĠSecret ary", + "Ġi T", + "mon d", + "event s", + "? âĢĿ", + ".S ub", + "Ġatt ached", + "Ġn ão", + "Ġest ate", + ". action", + "Ġfig ures", + "Ġ} );čĊ", + "Ġsubs cri", + ".t ag", + "n am", + ". plot", + "no on", + "li ament", + "Char acter", + ".t ab", + "Ġw inter", + "ĠVar iable", + "Ġtre es", + "Ġpr oud", + "( V", + "_ load", + "Ġh ier", + "ĠE con", + "Ġf d", + "Ġvict ims", + "R est", + "ian a", + "Ġf ake", + ".Print ln", + "Ġstr len", + "Ġs ad", + "Ġb le", + "Pro t", + "Ġbutton s", + "Ġte levision", + "Ġlog o", + "ext ension", + "ĉ j", + "ste in", + "acion es", + "Ġ\"\" \"ĊĊ", + "Ġsim p", + "Ġrecord ed", + "Ġbr ings", + "Ġprincip al", + "Ġfe es", + "(s ource", + "k dir", + "Ġutil s", + "Ġcorrect ly", + "f il", + "Ġw el", + "P air", + "-b utton", + "s cale", + "ver ify", + "[ c", + "Ġ-- -", + "Ġes cape", + "ik es", + "Lower Case", + "ic ian", + "Ġch apter", + "ĠT YPE", + "Ġsh adow", + "Ġaw esome", + "W E", + "el if", + "Ġl ambda", + "Ġdist inct", + "Ġb are", + "- off", + "Ġcol our", + ".append Child", + "ole c", + "ag a", + ".f ill", + "ĉs uper", + "Ġad j", + "( position", + ".get Item", + "Sh ort", + "Ġtot ally", + "V D", + "ĠT re", + "_ ep", + "v ements", + "ĠS olution", + "Ġfund ament", + "F ollow", + "Ġfac ility", + "Ġhappen ing", + "O F", + ".text Box", + "S pan", + "Ġ «", + "id en", + "Ġex ceed", + "(p arent", + "Ġc p", + "ç »", + "Ġhas n", + "Ġp ri", + "Ġcon sequ", + "n en", + "ĠIN TO", + "I gnore", + "ĠF uture", + "Ġcar bon", + "ĠSte el", + "f mt", + "ok ie", + "Ġs pl", + "(t itle", + "- info", + "Ġde als", + "Ġfix ture", + "e a", + "D iv", + "Ġtest ed", + "_ return", + ")ĊĊ ĊĊ", + "upport ed", + "ĠC ook", + "Ġpay ing", + "ĠI ll", + "Ġarrest ed", + "ĠPr ime", + "_c allback", + "> ,Ċ", + "dr iver", + "On ce", + "ab b", + "_by tes", + "ĠS ets", + "( Object", + "Ġc c", + "Ġsh ell", + "al o", + "); //", + "( log", + "ct ors", + ") ", + "Ġ$ (\".", + ".p os", + "Ġbo ys", + "Ġwed ding", + "Ġag ents", + "=\" _", + "ĠAr my", + "Ġh int", + "v ision", + "Ġte ch", + "ĠCon nect", + "Ġleg end", + "ĠB et", + ".B ase", + "Sub ject", + "Ġl it", + "Rem ove", + "Ġ\" :", + "ĠF inal", + "pear ance", + "ĠiT unes", + "Ġparticip ants", + "ĠPy thon", + "Ġbus y", + "i el", + "vert ices", + "Ġtemplate Url", + "ĠC lose", + "Im g", + "ĠCorpor ation", + "t imestamp", + "Ġext end", + "Ġwe bsites", + "Ġposs ibility", + "о ÑĤ", + "Ġk ö", + "Ġme at", + "Ġrepresent ation", + "Ġ ĉĉ", + "_ST ART", + ".app ly", + "ĠVal ley", + "ĠS uccess", + "H i", + "Ġn ob", + "ĠI Enumerable", + "_ select", + "ge o", + ". \")Ċ", + "Ġturn ing", + "Ġfab ric", + "(\" \");Ċ", + "Ġpers pective", + "é Ĺ", + "ĠS n", + "Th ank", + "; j", + ".Param eters", + "ĉ ĠĠĠĠĠĠĠĠĠĠĠ", + "Ġfact s", + "Ġun t", + ".in stance", + "################################ ################################", + "- end", + "ĠJO IN", + "ĠH en", + "Ġur i", + "åIJ į", + "Ġн а", + "ĠIn fo", + "Ġconduct ed", + "Ġà ¥", + "OUR CE", + "Ġw ine", + "J ohn", + ".Error f", + "ĠA ge", + "ound ed", + "Ġreal ize", + "Ġ] ;", + "Ġsub sequ", + ", m", + "( User", + "ian o", + "Ġaccom pl", + "is p", + ".st d", + "é ĩ", + "ĠB ed", + ".set Attribute", + "B R", + "ke ep", + "ĠA LL", + "Ġis ol", + "am ma", + "P ackage", + "Ġoccas ion", + "-s uccess", + "еР´", + "ĠLIMIT ED", + "st rip", + "() ĊĊĊ", + "istrib ution", + "Color s", + "Ġ+ :+", + "Did Load", + "al er", + "Ġt id", + "ĠL ED", + "ĠLink ed", + "ĠC art", + "() )čĊ", + "_RE AD", + "Ġkill ing", + "ĠP HP", + "fe ction", + "Ġinst ances", + "c v", + "\"/ >", + "Ġs f", + "Ġtax es", + "_ location", + "ĠBit coin", + "u able", + "r ank", + "ign ore", + "tr ack", + "к а", + "Ġshould n", + "ĠO P", + "=> {Ċ", + "Ġk m", + "Ġh elper", + "_ head", + "ĠWh ether", + "oc o", + "_b l", + "Ġstat istics", + "Ġbeaut y", + "Ġto g", + "t ip", + "ëĭ ¤", + "Ġc sv", + "(s ql", + "std lib", + "we ak", + "Ġlik es", + "Ä į", + "Ġrepe at", + "Ġap artment", + "Ġem ph", + "_ edit", + "Ġv it", + "ĉ type", + "E ven", + "ut en", + "Ġcircum stances", + "b ian", + "Ġs ugar", + "W indows", + "ì ŀ", + "Ġobs erved", + "/ data", + "Ġcal endar", + "Ġstri ke", + "ĠR ES", + "_s c", + "f ony", + "ore m", + "( z", + "p ower", + "et ect", + "ĠS at", + ".d escription", + "Ġg ang", + "ĠS ports", + "ong s", + "ĠB undle", + ".s um", + "on ce", + "Ġacc used", + "Ġexplo re", + "Ġapprox imately", + "Ġlos ing", + "thes is", + "ĠF und", + "Ġdi agn", + "A utowired", + "prop erties", + "Ġ_ .", + "Ġc nt", + "ced ure", + "Ġy y", + "Ġgr ant", + "so ck", + ".inner HTML", + "Ġ] );Ċ", + "ĠCON FIG", + "=' $", + "] ];Ċ", + "UN D", + "Ġg lob", + "Ġd ire", + "uff le", + "_M EM", + "Ġauth entic", + "> (\"", + "Ġdec ade", + "ĠIm port", + "Ġorigin ally", + "Ġj Query", + "Ġindic ate", + "Ġours elves", + "S w", + ".l bl", + "ener ate", + "Ġbas ically", + "ĠH om", + "Ġ+ #+", + "ĠBrit ain", + "ĠK ar", + "to Equal", + ".st op", + "Ġmod al", + "is i", + "Ġsuggest s", + "Ġd type", + "Ġt ur", + "b f", + "Ġconnection s", + "ĠB efore", + "ist ed", + "m ouse", + "Ġpul led", + ".b uild", + "Ġlegis lation", + "Ġfor th", + "p ad", + "eg o", + ".N ow", + "Ġexc iting", + "}ĊĊ ĊĊ", + "Ġcom pr", + "Ġsh ares", + "Ġr ig", + "g reen", + "_ vec", + "Ġenumer ate", + "A uto", + "ic ator", + "ĠR ay", + "as se", + "Ġh oliday", + "Ġnull able", + "g un", + "_d etails", + "Ġwr apper", + "se q", + "ĠYou ng", + "ju ana", + "Ġ\" __", + "lic ense", + "ser ve", + "^ (", + "id ers", + ".Rem ove", + "rop down", + "' S", + "p in", + "(t oken", + ".D efault", + "Ġreason able", + "amp ion", + "ĠS ociety", + "Ġbe i", + "erv es", + "r ad", + "ĠF ox", + "_ images", + "Ġw heel", + "') [", + "Ġc fg", + "( By", + "Con structor", + "Ġv ary", + ".sw ift", + "Ġpro xy", + "ĉ H", + "ĠAn other", + "ĠP en", + "Ġcheck ing", + "Ġj est", + "man ager", + "Or igin", + "ug s", + "o ir", + ">< !--", + "Ġexpress ed", + "Ġmod er", + "Ġag encies", + "Ġi h", + "-h idden", + "ious ly", + "ĠR od", + "Ġso le", + "M ed", + ".A ny", + "Ġp c", + "b al", + "Ex ample", + "ĠS ale", + "Ġst rip", + "ĠCom p", + "Ġpresident ial", + "M ost", + "put ation", + "( ref", + "ĠF our", + "_f ilename", + "Ġen forcement", + "Ø ¯", + "ĠGe org", + "we ights", + "/ l", + "Ġag gress", + "Ġd rawing", + "and y", + "< I", + "- j", + "ak a", + "h ref", + "Ġteach ers", + "_ Q", + "( it", + "ĠM B", + "Ġtemp orary", + "ire base", + "str a", + "æĹ ¶", + "è ´", + "( label", + "ou p", + "Ġtop ics", + "Ġport ion", + "id os", + "ĠJew ish", + "Ġre covery", + "Ġstand s", + "# [", + "Ġafter noon", + "ĠArt icle", + "_ att", + "Ġexpl an", + "ĠP ak", + ".setOn ClickListener", + ". children", + "Ġi k", + "+ (", + "l ag", + "Ġdis k", + "Ġcont rovers", + "\"> &", + "as p", + "Ġw ie", + "ĠAustral ian", + "ĠYou Tube", + "At tr", + "cont ains", + "du ce", + "ĠM att", + "at ern", + "Ġvol unte", + "Ġnew sp", + "V P", + "olt ip", + "Ġde legate", + "_m eta", + "Ġaccur ate", + "ĠEx ample", + "% ,", + "ĠD aily", + "Ġc abin", + "ĠS W", + "Ġlim its", + "k ip", + "Ġar my", + "Ġend ing", + "Ġb oss", + "ĠD ialog", + "Al so", + "=\"# \"", + "ord an", + "row se", + "- min", + "Ġ\" &", + "_ loc", + "U X", + "Ġdevelop ers", + "Ġaccur acy", + "Ġmaint enance", + "Ġhe av", + "Ġfil ters", + ".T oolStrip", + "Ġn arr", + "ĠE mp", + "ORD ER", + "ĠM obile", + ".S erial", + ".out put", + ".c ol", + "M aterial", + "um a", + "Ġconsum ers", + "sh ift", + "Ġp ued", + "Ġmin i", + "c ollection", + "Ġk an", + ".c enter", + "H istory", + "Ġben ch", + "() );", + "itor ies", + "Ġcrow d", + "_c all", + "Ġpow ers", + "- E", + "Ġdis miss", + "Ġtalk s", + "ĠCh annel", + "for ward", + "_ control", + "/s rc", + "i est", + "**************** ********", + "Ġbet a", + "(c olor", + "_O BJECT", + "ĠA pi", + "Ġeffect ively", + "C amera", + "s d", + "uss y", + "D ict", + "ĠE ffect", + "ib ilities", + "Ġreturn ing", + "ĠF ar", + "Ġ' ')", + "Ġmod ules", + "il ation", + "Ġ( %", + "TR GL", + "Ġst orm", + "on na", + "ĠEX P", + "Ġs pons", + "Ġdis pl", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "f all", + "å Į", + "ign Key", + "_ US", + "et rics", + "Ġhand les", + "T L", + "_ amount", + "ow a", + "br and", + "ĠT ool", + "Ġus ual", + ". Z", + "cre ment", + "ad ium", + "st ock", + "Ġserv ing", + "ĠB on", + "Ġline ar", + "ĠT arget", + "ĠR adio", + "H L", + "Sh ader", + "om atic", + "ag ues", + "in ity", + "d iff", + "_ iterator", + "qu ot", + "Ġ ,Ċ", + "c allback", + "Ġsympt oms", + "[ _", + "ĠB ul", + "ĠF eb", + "und o", + "_ account", + "Ġtyp edef", + "и Ñģ", + "tr as", + "User Id", + "ĠP enn", + "ĠSup reme", + "} >", + "user Id", + "ĠK im", + "Ġg a", + "Ġart ists", + "å ¸", + "ĠAb stract", + "ok emon", + "Ġh am", + "o val", + "Ġch a", + "at en", + "å Ĩ", + "F ixed", + "Ġvul ner", + "ĠParam eters", + "qu antity", + ".C lear", + "Servlet Request", + "Ġy a", + "Ġsou l", + "trans action", + "Ġsol o", + "Ġp airs", + "æ Ķ", + "ĠG re", + "_ word", + "ĠC C", + "Ġg i", + "z ie", + "Ġsched uled", + "rot ation", + "gy pt", + "ul ous", + ":: _", + "ĠE ll", + "< !", + "ĉĉ ĠĠ", + "l p", + "ah a", + "C opyright", + "Ġdr am", + "Ġdi agram", + "ĠM em", + "Ġg arden", + "Com p", + "Ġattempt s", + "uff ix", + "> ()", + "Ġphil osoph", + "_re l", + "å ¼", + "Ġs v", + ".se cond", + "ant o", + ".J son", + "ĠTe le", + "_ local", + "_s end", + "Ġas pects", + "ì Ĺ", + "IB LE", + "Ġr ail", + "Ġwid ely", + "ash ed", + "i ar", + "in f", + "up per", + "d jango", + "_result s", + "iss ing", + "Ġequ ivalent", + "OUN D", + "Ġt y", + "Ġpotential ly", + "Advertis ement", + "ĠRec ord", + "resent ation", + "_w idget", + "ound ing", + "Ġrelig ion", + "Ġcons c", + "ĠL im", + ". am", + "H tml", + "Ġ' :", + "P ATH", + "_s pec", + "ort ed", + "id ades", + "_sh ape", + "Ġkeep s", + ".S ave", + "ĠL oc", + "or i", + "ĠT EST", + "unic ip", + "Ġreg ions", + "Ġbelie ves", + "/ en", + "pos ite", + "{ '", + "pre pare", + "_ const", + "s ample", + "ĠWill iams", + "Ġstr t", + "_ Get", + "ĠAnd rew", + ". active", + "Ġl ayers", + "Visual Style", + "az y", + "ĠK n", + "Ġac id", + "ĠAs ia", + "Ġex cess", + "ĉm y", + "Ġkey board", + "ens us", + "Ġcre w", + "Ġmiss ed", + "m aster", + "ĠW ild", + "Ġnew ly", + "Ġwin ner", + "Ġst ub", + "ic ode", + ".m ove", + "D omain", + "ĠS ar", + "Ġfore st", + "LE D", + "claim er", + ".ex it", + "ĠW indow", + "Ġres istance", + "ĠC HECK", + "(\" -", + "ĠR yan", + "Ġp ipe", + "Ġco ast", + "DE F", + "// !", + "_ off", + "ex it", + "Ġult imately", + "imit ive", + "ĠKe ep", + "Ġhistor ical", + "Ġany way", + "ĠJack son", + "ock er", + "ER N", + "ĠU INT", + "y ntax", + "ER Y", + "is ms", + "Ġc n", + "Ġocc urs", + "Ġ; ;", + "Text View", + "A E", + "/ img", + "Ġy esterday", + "- default", + "Ġt iny", + "Ġpro c", + "Ġal ive", + "ĠRE G", + ". th", + "ear ing", + ".get Logger", + "< link", + "_ login", + "F older", + "ab c", + "lyph icon", + "н о", + "Ġnot iced", + "od igo", + "Ġed ition", + "im ator", + ". Enabled", + ".parse Int", + "Ġy ards", + "ĉĉĉĉĉĉĉĉ ĉĉĉĉ", + "Ġver bose", + "л Ñı", + "_B Y", + ".log in", + ".* ;Ċ", + "ĠM id", + "é es", + "Ġg lo", + "Ġbuild ings", + "Ġz e", + "ĠI ter", + "Ġt ube", + "ĠP ot", + "\\ M", + "< th", + "br idge", + "ĠS cript", + "ĠM odule", + "Ġv acc", + "Ġinstall ation", + "v y", + "VisualStyle BackColor", + "ĠS M", + ".t otal", + "b at", + "Ġfind s", + "Ġat mos", + "Sub view", + "iz ard", + "Ġrepl acement", + "lic ated", + "ap is", + "Ġlog ged", + "ĠLe ft", + "G ui", + "_ Type", + "t m", + "P ad", + "Ġhouse hold", + "Ġre le", + "Ġpropos al", + "_CL ASS", + ":: ::", + "Ġinf rastructure", + "In ject", + "/ html", + "Ġad s", + "iz za", + "Ġm g", + "ctr ine", + "% Ċ", + "< html", + "- image", + "Ġatt orney", + "< m", + "(' ,", + "Ġcan n", + "Ġprint ln", + "o ose", + "Ġy ellow", + ".ex p", + "p ayment", + "Ġtable View", + "aw ay", + "Ġopp osition", + "ĠAg ain", + "ĠH andle", + "Ġex clusive", + "in ar", + "é r", + "оР±", + "ĠC ODE", + "emp orary", + "Ġre act", + "pi pe", + "c z", + ". activity", + "Ġlarg ely", + "Ġdis s", + "ax y", + "es is", + "ĠR en", + "Ġc orn", + ".Use VisualStyleBackColor", + "d ays", + "Ġfr uit", + "In sert", + "_ enc", + "E st", + "_de c", + "ĠL uc", + "Ġü ber", + "param eters", + "P ERT", + "ex press", + "_pro file", + "Un known", + "Ġrev olution", + ".add ress", + "_re quire", + "Ġun iform", + "ĠP ack", + "l ar", + "ĠU ITableView", + "Ġdep ends", + "Valid ation", + "conf irm", + "O wner", + "Ġt rib", + "h et", + "ĠI de", + "ans as", + "L anguage", + "u et", + "ĠP o", + "ĠSte ve", + "Ġcont est", + "_DE FAULT", + "Ġapparent ly", + "RE EN", + "Ġfrequ ently", + "Ġtrad ition", + "ocol ate", + "S I", + "ĠArg ument", + "F ocus", + "ert e", + "ĠL ayout", + "Ġd x", + "Ġgener ator", + "ĠW ait", + "P olicy", + "l ights", + ".Ex ecute", + "P y", + "Ġbed room", + "ed a", + "ra id", + "ĉs ize", + "Ġan cient", + "Ġp ump", + "Ġd w", + "Ġ(! (", + "Ġspec ify", + "( status", + "ĠF BI", + ".ex ception", + "Ġrem ark", + "ly mp", + "ant ee", + "Up load", + "ern et", + "é ¡", + "in ent", + "ĠR ender", + "d m", + "ĠM emory", + "r ich", + "ĠT ools", + "Ġk ne", + "Ġper m", + "b ad", + "Ġd inner", + ".res et", + "Ġj Label", + "Fe ature", + ".S ervice", + "Ġ( {Ċ", + "Ġre ferred", + ".class List", + "Ġinit With", + "ĠText View", + "Ġne ither", + "Ġcount y", + "Ġ\" {", + "ç §", + "Ġt ack", + "class Name", + "ĠUS ER", + "Ġre new", + "` `", + "get Name", + "Ġb rown", + "Err ors", + "ert o", + "Ġsust ain", + "S O", + "let es", + "ĠIn valid", + "Ġen emies", + "un ge", + "Ġexist ence", + "err a", + "Ċ ĠĠĊ", + "utor ial", + "# a", + "p ay", + "char ge", + "ĠI re", + "ate st", + "Ġexp los", + "Ġf ired", + "N ER", + "ĠT y", + "ic ion", + "U ri", + "Ġobvious ly", + "ĠC olum", + "Ġ' +", + "ĠDe vice", + "- related", + "_ ARG", + "Ġv or", + "ĠLess er", + "_O P", + "Serial izer", + "Ġup grade", + "L ight", + "Ġc odes", + "++ ;čĊ", + "Ġwrit es", + "fo od", + "Ġé t", + "@ section", + "Ġtrack s", + "Ġserious ly", + "ch t", + "(size of", + "Ġimmedi ate", + "Ġscient ists", + "Ġ{ $", + "_ ne", + ".Anchor Styles", + "Ġaccom mod", + "ĠHar ry", + "Ġs ight", + "ĠPale st", + "ersist ent", + "Ġ Ñĥ", + "- input", + "Ġco ordinates", + " ·", + "W elcome", + ".con f", + "Ġgre w", + "Ġb old", + "ĠC PU", + "(m y", + "Ġperfect ly", + "Ġmom ents", + "ĠM ovie", + "- data", + "yst al", + "_W IDTH", + "ĠS creen", + "æ Ŀ", + "Ġdis ap", + "Ġredu ction", + ".Get Component", + "_M ODULE", + "Ġgener ic", + "Ġd y", + "all er", + "Ġc url", + "ĠB ody", + "Ġb anks", + ", t", + "av g", + "Ġev il", + "Ġmanufact urer", + "Ġrece iver", + "Column s", + "Ġing redients", + "ĉ out", + "qu es", + ".L oad", + "Ġslow ly", + "ĠT own", + "ĠC ell", + "_n ormal", + "_p refix", + "ĠAl ert", + "(\" {", + "ä r", + "âĢľ The", + "ĠM D", + "Ġcour ses", + "ath an", + "é Ļ", + "oc c", + "ĠS ER", + "es ign", + "Add r", + "= ['", + "(\" ./", + "] }", + ".f ont", + "ĠInst agram", + "ĠB order", + "od a", + "Ġh all", + "Ġr um", + "_b it", + "Ġs aving", + "_d own", + "R andom", + "_reg ister", + "( Context", + "Ġoppos ite", + "R oom", + "Y ES", + "ан и", + "Ġenjoy ed", + "_r un", + "C lear", + "âĢ ĺ", + "ĠF ord", + "on ic", + "ost en", + "\"] )", + "_ auth", + "// čĊ", + "Ġsuff icient", + "LE S", + "Ġph en", + "Ġo h", + "_c sv", + "Ġrout ine", + ".Are Equal", + "ay lor", + "Ġb asket", + "_COM M", + "rypt ed", + "S im", + "ĠSh op", + "Ġstud io", + "at os", + "( W", + "[ string", + "ä t", + "og a", + "Ġsh r", + "Ġs ick", + "An other", + "Ġdo ors", + "_N E", + "ĠTH REE", + ". order", + "raz il", + "Ġmap s", + "_TR UE", + "trans late", + "Ġnear by", + "Ġn ach", + "LO AT", + "b atch", + "Ġl ux", + "ash es", + "ang ers", + "â̦ â̦", + "_E VENT", + "_ UP", + "Ġact s", + "in v", + "_M ETHOD", + "cc ion", + "Ġret ain", + "ut ch", + "ĠÐ ±", + "Ġknow ing", + "Ġrepresent ing", + "N OT", + "p ng", + "Con tract", + "Ġtr ick", + "ĠE dition", + "uplic ate", + "Ġcontrol led", + "c fg", + "j avascript", + "Ġmil k", + "Wh ite", + "Se quence", + "aw a", + "Ġdiscuss ed", + "ĠB ush", + "ĠY ES", + ".f actory", + "t ags", + "Ġt act", + "Ġs id", + "$ $", + "ĠE num", + "Ġfr ames", + "} );", + "Ġreg ul", + "'] ;čĊ", + "Reg ion", + "ff f", + "Ġc ro", + "( com", + "=\" +", + "St udent", + "Ġdis appoint", + "RES ULT", + "Count er", + "Ġbut ter", + "ĠH a", + "ĠD igital", + "Ġb id", + "\"> {{", + "ing ers", + "ĠC ountry", + "_t pl", + "\"] )Ċ", + "/ k", + "d ating", + ": #", + "ĠD ATA", + "yn chron", + "_b ody", + "olly wood", + "Ġval or", + "ip ient", + "o ft", + "UB L", + "doc s", + "Ġsyn chron", + "Ġform ed", + "ru ption", + "Ġlist a", + "Request Mapping", + "Ġvill age", + "Ġkn ock", + "oc s", + "\" {", + "_fl ags", + "Ġtrans actions", + "Ġhab it", + "ĠJ e", + "ed en", + "Ġa ircraft", + "ir k", + "ĠA B", + "Ġfair ly", + ". inter", + ".A ct", + "Ġinstr ument", + "remove Class", + ".com mand", + "Ñ ī", + "ĉm em", + "( min", + "Ġo t", + "Ġcol le", + "= s", + "time out", + "Ġid s", + "ĠM atch", + "ij n", + "z ero", + "Ġnetwork s", + ".g ov", + "Ġint el", + "Ġsection s", + "out ine", + "(c md", + "(d ir", + "ĠLI ABILITY", + "ĠB log", + "Ġbr idge", + "ĠC V", + "con vert", + "Ġ\" )Ċ", + "ĠB ern", + "_P O", + "e val", + "( set", + "to ol", + "Ġpay ments", + "Beh aviour", + "Ġcon crete", + "Ġel ig", + "Ġacc eler", + "Ġh ole", + "_ o", + "TE GER", + "Ġgraph ics", + "O wn", + "Form atter", + "on der", + "Ġpack ages", + "/ a", + "ĠK now", + "Or Default", + "Ġdut y", + "W ait", + "н а", + "_rec ord", + "[ t", + "M esh", + "Ġon going", + ".be ans", + "Ġt an", + "Ġinter pret", + "ast ers", + "QU AL", + "Ġleg s", + "\\ Request", + "- file", + "_m utex", + "ĠS aint", + "// #", + "Ġpro hib", + "( info", + ": =", + "lin ux", + "Ġb lo", + "ot ic", + "ĉf inal", + "_ex p", + "ĠSt op", + "ap ing", + "(s aved", + "_p ush", + "Ġe ase", + "_F R", + "pons ive", + "str cmp", + ": ĊĊĊĊ", + "ä» ¶", + "ol i", + "Ġextrem e", + "Ġprof essor", + "Im ages", + ".IO Exception", + "Ġaddress es", + "plement ed", + "Ġincor por", + "Ġuse Effect", + "_O F", + "ĠD a", + "n ombre", + "IR ST", + "Ġdisc rim", + "Ġcomp ens", + "greg ate", + "anc ell", + "ach es", + "ĠC riteria", + "$ result", + "D estroy", + "Ġsecond ary", + "W atch", + "ĠS em", + "ĠMc C", + "Ġacad emic", + "U pper", + ":: ~", + "ut ral", + "ĠD og", + "ad ed", + "Valid ator", + "Ġder ived", + "Ġset Timeout", + "ĠK en", + "Ġtyp ical", + "ĠB ob", + "Ġb ounds", + "ĠSe ason", + "Ġc razy", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "-r outer", + "itt est", + "ĠM ir", + "Ġemot ional", + ", v", + "c n", + "/ st", + "å ½", + "on om", + "Ġdecl ared", + "> .", + "ail ing", + "Ġ/* <<<", + "Ġnorm ally", + "(M e", + "ev in", + "lik ely", + "Ġpoint ed", + "ĠSt ack", + "Ġw alls", + ". Vector", + "me an", + "] ]Ċ", + "Ġlist ening", + "ad v", + "Ġsw ap", + "IF T", + "Ø ª", + ". argv", + "ul s", + "< option", + "not ations", + "Ġemail s", + "ĠU kr", + "ast a", + "ĠTh us", + "ĠSt one", + "Ġappe al", + ". âĢĻ", + "Ġreg ulations", + "Pre ferences", + "ĠPh one", + "ul f", + "ĠD R", + "Ġtechn ologies", + "Ġpar agraph", + "Ġnecess arily", + ".e ach", + "< float", + "res a", + "Ġunder st", + "Ġf inger", + "press ed", + "-b y", + "if fer", + "w atch", + "ĠB a", + "A IM", + "Ġwe ights", + "ĠR on", + "') }}", + "[ self", + "-------- --Ċ", + "per iment", + "Ġto String", + "x ic", + "ĠC amera", + "! ĊĊĊĊ", + "aur ant", + "P refix", + "Ġinstit utions", + ": int", + "Ġex posure", + "p attern", + "ĠLin ux", + ".n umber", + "red ient", + "Argument Exception", + "ĠCh ief", + "\" },", + "Ġelect ronic", + "r ong", + "er d", + "sp Net", + "ra it", + "/ ',", + "ĠOh io", + "Cont rollers", + "Ġcontin uing", + "ĠT emplate", + "ĠE th", + "s z", + "/ env", + "En v", + "% .", + "art ers", + ") ((", + "ĠT ABLE", + "Ġà ®", + "per ature", + "pro gress", + "P res", + "ê °", + "im plementation", + "Ġb ien", + "Ġstre ets", + "_M SG", + "New s", + "## #", + ": /", + "Ġcut ting", + "x B", + "ress ed", + "_EN ABLE", + "l ab", + "Ġca using", + "] ));Ċ", + "b ra", + "x FFFF", + "il ly", + "plet ion", + "w ill", + "_b ar", + "Ġstruct ures", + "ĠI mp", + "Û Į", + "Ġ< >", + "Ġ ----------------", + "_B UFFER", + ".d ir", + "Ġpl ain", + "Ġpe er", + "g g", + "oint s", + "Ġsomew hat", + "Ġw et", + "Ġemploy ment", + "Ġtick ets", + "ir ms", + "Ġt uple", + "s is", + "$ sql", + "r ig", + "Ġcon version", + "Ġg es", + "Ġconfig ure", + "eg r", + "ĠC a", + "Ġ__ ('", + "ou ston", + ".t oken", + "Bl ack", + "Ġmag azine", + "A W", + ". IN", + "os ing", + "Ġbro ke", + "ĠC ru", + "DE LETE", + "Ġdestroy ed", + "(M ath", + "Ġappro val", + "-d om", + "ĠI II", + "table View", + "Ġdesign s", + "Ġcrush ing", + "Ġcons ent", + "dir name", + "om p", + "Ġc rypt", + "? (", + "or ough", + ". o", + "ĉ list", + "ams ung", + ".\"\" \"Ċ", + "err ing", + "G oogle", + "_p air", + "_IN IT", + "rem arks", + "Ġg ear", + "F ill", + "l ife", + "} \")Ċ", + "Ġsuit able", + "Ġsurpr ised", + "_RE QUEST", + "Ġman ifest", + "att en", + "Ġfr ustr", + "ov ement", + ".c lick", + "Ġi i", + "Ġexp ansion", + "ig s", + "P arse", + ".Reg ular", + "R ob", + "_l ayout", + "ì ł", + "Ġtrans lation", + "ĠBe aut", + "B est", + "_C OLOR", + "< label", + "Ġliqu id", + "IT S", + "Ġpro d", + "Ġoper ate", + "UI Kit", + "Ġn atur", + "arg ument", + "_d etail", + "ĠCent re", + "Ġ\" --", + "Ġ}} \"", + "lo cale", + ".t v", + "_se q", + "Ġup coming", + "Ch art", + "ĠDiv ision", + "Ġclin ical", + "Com pany", + "S epar", + "l as", + "ĠH un", + ": s", + "Ġhead ing", + "оР³", + "Ġ\" \");Ċ", + "[ id", + "b ia", + "Ġst retch", + "ic ide", + "Ġre produ", + ".pro ject", + "leg end", + "end ers", + "Ġrespons es", + "Ġon t", + "rit ical", + "Ġref uge", + "ĠL i", + "Ġ: ĊĊ", + "ĠTh ree", + ".cont roller", + "_IN DEX", + "_F OR", + "\\Model s", + "j ax", + "ĉex it", + "Ġâ ĸ", + "Ġc overs", + "ĉ y", + "- .", + "IND OW", + "Ġfail s", + "in cludes", + "Ġf ault", + "Ġl y", + "ñ o", + ".s lice", + "ILE D", + "ĠP ur", + "ĠAs ian", + "_b atch", + ".M ax", + "v l", + "ĠCOPY RIGHT", + "Ġg iant", + "ĠMan ual", + "ĠC opy", + "Class Name", + "He alth", + "C ursor", + "IB Outlet", + "Ġt we", + "æ ³", + "_label s", + "Ġcol lected", + "Ġfurn iture", + "Ġdeal ing", + "Control s", + "ĠHot el", + "ck s", + "Ġch ose", + "âĶ Ģ", + "od d", + "S R", + "Ù Ĭ", + "ì Ħ", + "Ġacc ord", + "ĠM ove", + "ĠM ode", + "ĠM ock", + "Ġthread s", + "++ ++", + "ĠO ptions", + "Ref resh", + "ĠD id", + "'] ->", + "u cc", + "_ch annel", + ". abs", + "Ġ{ },Ċ", + "ĠW al", + "er ior", + "Ġmain ly", + "ĠDr iver", + "NotFound Exception", + "Ġcount s", + "e am", + "Ġ& =", + "Q uestion", + "ĠA li", + "Ġany more", + "d etail", + "t ail", + "Ġm ile", + "ĠF air", + "Ġs orry", + "Ġsurround ing", + "Ġad m", + "De v", + "Ġmari juana", + "ĠS ound", + "ĠA sh", + "F D", + "Te am", + ". port", + "Ġ[ ]ĊĊ", + "ub ble", + "Ġas c", + "Ġint ention", + "A cc", + "ch i", + "ust ers", + "Ġins pired", + "se g", + "CL U", + "Ġman ip", + "M etadata", + "Con nect", + "ĠB eh", + "Ġfind ings", + "Ġas sembly", + "w orld", + "Ġrem ained", + "Ġu id", + "( .", + "Ġm x", + "Lo op", + "ĊĊĊĊ Ċ", + "Ġfant astic", + "wh o", + "ak i", + "ĠB asic", + "ĠY et", + "ĠUs ers", + "ik ip", + "Ġhead s", + "ĠMich igan", + "_ it", + "ĠTor onto", + "Ġrec ording", + "Ġsub mitted", + "_var iable", + "medi ate", + ".graph ics", + "Ġst ood", + "Ġre ar", + "vel ocity", + "_M ESSAGE", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ro les", + "ĠT our", + "_ year", + "end ment", + "amp s", + "ĠIre land", + "m al", + "Ġyoung er", + "Ġstrugg le", + "Ġc able", + "ĠSD L", + "(' -", + "an es", + "ĠNe ed", + ".R ow", + "P ol", + "ĠP H", + "_s cript", + "ag em", + "ĠB as", + "_s pace", + ". loc", + ": i", + "ad r", + "Ġengine ering", + "it en", + ") &", + "Ġu k", + "ĠL ittle", + "_C OUNT", + "x A", + "Array List", + "æ į", + "Ġ\" \")Ċ", + "An chor", + "Ġh ang", + "t witter", + "Ġcompet itive", + ".s rc", + "ãģ Ĺ", + "Ġtrans late", + "ĠCre ates", + "ook s", + "ĠR oll", + "'' 'Ċ", + "/ sh", + "s ome", + "Enc oding", + ".res olve", + "Ġdesign er", + "ĠSt orage", + "Ġz a", + "ĠN ever", + "Ġsomew here", + "Ġbox es", + ".s ource", + "Ġpy game", + "Ġgrow n", + ".t w", + "() ),Ċ", + "', ['", + "Ġoppon ent", + "(s rc", + ".l ayer", + "AP P", + "ĠAct iv", + "Ġguest s", + "ĠVAL UES", + "};ĊĊ Ċ", + ".n ative", + "Ġamount s", + ". RE", + "Ġcl one", + "Ġwer en", + "Ġ\" <<", + "_ ac", + "Ġbreak ing", + "Ġreli able", + ".P OST", + "ĠSk y", + "Ġ' &", + "Ġsaved InstanceState", + "ast ing", + "ill ion", + "com ments", + "ult y", + ".m enu", + "/ config", + "Ġ ĊĊĊ", + "T ODO", + "Ġpurch ased", + "_c or", + "ĉ auto", + "Compat Activity", + "com plete", + "_ graph", + "is odes", + "Ġsitu ations", + "ĠH or", + "Re ceive", + "âĢľ We", + "Ġent ities", + ".assert Equals", + "оРº", + "ĠS ans", + "v ince", + "rom pt", + "= Ċ", + "Ġ/ .", + ".Se lect", + "yl v", + "Ġb att", + "A udio", + "Ġincreasing ly", + ".B undle", + "Ġexpl ains", + "the ast", + ". offset", + "Ġh al", + "Ġtechn ique", + "_l imit", + "Ġdraw n", + "AY ER", + "Ġfeature d", + "yy yy", + "at in", + "ph en", + "ach el", + "! \\", + "l ower", + "ĠG R", + "Ġp ag", + "ĠP arse", + "Ġt ou", + "ä¸ Ģ", + "D istance", + "Index Path", + "Ġh ell", + "s im", + "UT TON", + "Us age", + "elen ium", + "ĠF all", + "Ġ\" .$", + "ĠM u", + "Ġcr uc", + "Ġs ont", + "REF IX", + "Ġinter ior", + "ĠO lymp", + ".Auto Scale", + "par a", + "Axis Alignment", + "Ġr iver", + "D to", + "Ġwith draw", + "Re act", + "- class", + "b efore", + "_ alloc", + "Cont ents", + "ĠW as", + "I CT", + "Ġform ula", + "Ġindic ates", + "ĠĠĠĠ ĊĊ", + "_st ore", + "it ting", + "ĠIt alian", + "_S et", + "_re port", + "Ġp id", + "_V ER", + "Ġw ins", + "ĠCl oud", + "\") {Ċ", + "ch ester", + "Ġden ied", + "Ġw ird", + "ĠSte p", + "Ġinvest ors", + "b old", + "_d isplay", + "ou ver", + "or er", + "Res et", + "Ġsurg ery", + "Ġstrateg ies", + "/m aterial", + "_ unit", + "Ġc ouncil", + ".P er", + "ĠâĢ ŀ", + "Ġre form", + "F ramework", + "Ġlist ing", + "_b tn", + "Ġb is", + "% d", + "eg as", + "Ġsudden ly", + "_S ER", + "Ġa o", + "_d irectory", + "f as", + "Ġprem ium", + "Ġtrack ing", + "ĠB L", + "Ġm ature", + "Ġbath room", + "Ġ'/ '", + "ĠÄ ij", + "Per formed", + "Ġsold iers", + "arn ings", + "Ġwalk ed", + "- con", + "b ottom", + "Ġsurpr ising", + "Ġg ene", + "Us uario", + ".DE FAULT", + "ĠM IT", + "C ODE", + "ĠE gypt", + "p icker", + "ys ql", + "AT URE", + "d etails", + "ĠCon ference", + "In formation", + "ĠM ail", + "-d own", + "r aries", + "b ro", + "Ġsubject s", + "Ġ' *", + "è¯ ·", + "or ient", + ": @", + "ver bose", + "E F", + "Ġto ler", + "eng ers", + "Ġend point", + "Ġstr ange", + "Ġcol on", + "Ġpre ferred", + "de p", + "ĠE V", + "ARR AY", + "Ġw he", + "Ġp up", + "_n odes", + "Ġtalk ed", + "Ġinstit ution", + "db c", + "Ġex posed", + "te en", + "ĠFr ont", + "T T", + "_N ONE", + "\\/ \\/", + "pro gram", + "Ġencour age", + ". `", + "sh ire", + "ĠIsl am", + "e en", + "N I", + "' \"", + ".W idth", + "Ġlik ed", + "Ġ{ ...", + "ĠSystem s", + "Ġvot re", + "Ġmanufact uring", + "Con verter", + "ĠIn f", + "ì ļ", + "D TO", + "Ġin ches", + "Ġ à¤", + "à ¹", + "ĠChar les", + "B U", + "\")) ;ĊĊ", + "ĠL abor", + "un n", + "Ġest im", + "m obile", + "ĠL earn", + "_C ALL", + "â Ħ", + "Ġind ices", + "Ġt ub", + "ikip edia", + "C ost", + "row able", + "ë ¡", + "g age", + "Ġfunction ality", + "uzz le", + "em os", + ".l ib", + "Ġd ass", + "еРº", + "enn a", + "Ġsh ots", + "Ġrest ore", + "/ D", + "For Key", + "], [", + "al ias", + "l int", + ".st ream", + "æ ł", + "_FORM AT", + "Ġsil ver", + ".re pository", + "Ġlegis l", + ".B order", + "_fe atures", + "Per mission", + "Ġhous es", + "ĠW ars", + "_COM P", + "Ġinj uries", + "Ġconstant ly", + "fl utter", + "EN U", + "ĠCon f", + "Ġrecogn ized", + "Ġpract ical", + "Ġde cent", + "B J", + "] );", + "ast y", + "ĠAct ivity", + "-m ode", + "Ġsl ide", + ".IsNullOr Empty", + "ĠY OU", + "P ower", + "ind ices", + "Ġqual ified", + "Ġthrow n", + "h ello", + "ĠN ick", + "l ah", + "as sembly", + "ĠSm all", + "old ing", + "Sh ould", + "ĠSil ver", + "(saved InstanceState", + "Ġtog gle", + ".N ot", + "C trl", + ": nil", + "ĠCont inue", + "ĠB oot", + "æ ī", + "ĠM ur", + "d on", + "ĠF A", + "S napshot", + "Ġassoci ation", + "fo x", + ", a", + "az ione", + "] )čĊ", + "CT YPE", + "Ġf ade", + "ĠD ar", + ".n avigation", + "Ġl uck", + "SC RI", + "ĠDe ad", + "Ġterm inal", + "_LE NGTH", + "Ġeff iciency", + "Ġun w", + "Ġn arrow", + "iment o", + "( Color", + "ĠSe a", + "_ area", + ", A", + "_ opt", + "ĠHill ary", + ".t ask", + "ĠJ ac", + "ast ed", + "ĠAd am", + "ĠIl legal", + "Ġsearch ing", + "Instance Of", + "J ava", + "ĠForm at", + "Ġreal ized", + "ĠChild ren", + "Ġk il", + "(f rame", + "âĢĿ .ĊĊ", + "Ġscen ario", + "\"] );Ċ", + "Ġincred ible", + "li x", + "IO Exception", + "ĠQ uest", + "il ty", + "Ġun lock", + "â Ĥ¬", + "Ġre ferences", + "ĠV ert", + "B inding", + "eg ative", + "Ġwr ap", + ".d atabase", + "( content", + "B uf", + "ĠTr ad", + "ĠA ud", + "tr ace", + ".m ock", + "Ġther apy", + "ĉ L", + ".To Int", + "ĠKing dom", + "B us", + "ha ust", + "\"\" \"ĊĊ", + "( end", + ".draw able", + "[ ];Ċ", + "ĠH ospital", + "Ġph arm", + "---- -", + "ĠA G", + "é d", + "> \");Ċ", + "Ġw allet", + "at able", + ") $", + "Ġmonth ly", + "Ġdi agnostic", + "S ymbol", + "Ġiter ator", + "un finished", + "Ġimm igration", + "s r", + "RO W", + "(g ame", + "Ġclo thes", + "ĠU nt", + "Ġactiv ation", + "_C on", + ".h ash", + "Ġinitial ly", + ".H ash", + "Ġcut s", + "f ound", + "ĠSt ory", + "ÑĨ и", + "ac ao", + "_T YP", + "pro to", + "est r", + "-p age", + "ah r", + "Ġincor rect", + "ĠJose ph", + "TextBox Column", + "_st yle", + "ĠD aniel", + "s heet", + "Ġl iv", + "l ined", + "Ġr a", + "R untime", + "_ empty", + "sl ug", + "_ struct", + "ë Ĭ", + "m u", + "Ġper mitted", + "Ġreg ional", + "Ġsob re", + "ĠS uch", + "Ġ[ _", + "Ġro of", + ".Al ignment", + "t imes", + ".m sg", + "Ġche st", + "ĠT ab", + "Ġest a", + "ä n", + "Ġsubs cription", + "( command", + "s pecial", + "Ġme al", + "\") :Ċ", + "_ ctx", + "Ġclos ely", + "et ry", + "- be", + "ad el", + "ĠR am", + "ig est", + "ĠSpan ish", + "Ġcommit ment", + "Ġw ake", + "* >(", + "P HP", + "_ {", + "ck er", + "< List", + "_n ull", + "ĠRes erved", + "Ġin her", + ".Column s", + ".A spNet", + "_IN VALID", + "ĠParam eter", + "Ġex pr", + "} {", + "Cell Style", + "Ġval uable", + "Ġfun ny", + "In v", + "Ġst able", + "* t", + "Ġp ill", + "pl iers", + "ĠC SS", + "ĠCon dition", + "ĠS peed", + "ublish er", + "Ġoff ensive", + "ce st", + "ic as", + "Ġsp ark", + "ĠPro te", + "set up", + "IF Y", + "ĠT ax", + "Wh o", + "F amily", + "- for", + ". uk", + "Ġf asc", + "sv g", + "\") ).", + "Ġbirth day", + "âĸ Ī", + "ve h", + "el led", + "Ġimport s", + "ĠIsl amic", + "T A", + "ĠSt an", + "we ather", + "Ġsus pect", + "e ature", + "enn es", + "W M", + ".m inecraft", + "av id", + "è ½", + ".se curity", + "in os", + "G ood", + "Ġm arch", + "Ġposs ess", + "us uario", + "Con s", + "am ber", + "ched uler", + "Ġhor se", + "ç ½", + "(b ody", + "ĠTrans form", + "_de code", + ".s vg", + "Ġf oo", + "Ġd ella", + "ext ends", + "am er", + "Ġprocess ed", + "ĠH arr", + "ĠA I", + "Ġk o", + "CH AR", + "( %", + "Ġt ap", + "({ '", + "c roll", + "D OM", + "Ġte a", + "Ġre in", + "Ġworld wide", + "_f n", + "sh a", + "Ġb ir", + "ç ões", + "=\"# \">", + "Ġrepresent ed", + "ill er", + "(ex pected", + "Ġd ance", + "Ġvisit ors", + ".con cat", + "-b it", + "UR RE", + "ĠR og", + "v p", + "ip h", + "ĠL LC", + "it led", + "iam i", + "C oll", + "_re al", + "_sh ow", + "_f older", + "Ġd ar", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "Ġl atter", + "arch y", + "Ġb ow", + "Ġout come", + "ĠPost ed", + "Ġris ks", + "ĠThere fore", + "Ġowners hip", + "Ġpar allel", + "Ġp ending", + "ge ometry", + "Ġrecogn ize", + "ST EM", + "ĠC P", + "Ġimm igr", + "IT LE", + "ĠĠĠĠ ĉĉ", + "conn ected", + "Ġsm ile", + "(d ocument", + "\\ Component", + "vert ical", + "Ġconsum ption", + "Ġsh oes", + ". impl", + "un ks", + ". \";Ċ", + "Ġfood s", + "_ );Ċ", + ".assert True", + "Ġp ipeline", + "Ġcollection s", + "Ġearn ed", + "ĠC ert", + "Ġpartners hip", + "( action", + "Ġc d", + "ĠV ery", + "Option al", + "Ġscre ens", + "Ġtit les", + "ener ator", + "Ġab andon", + "k ind", + "IL TER", + "Ġclos ing", + "lic a", + "_ inter", + "Ġcamp us", + "set ting", + "S prite", + "ãģ ¯", + "_re ply", + "To List", + ": \\/\\/", + "ed e", + "Ġfol ks", + "Ġbo at", + "( argv", + "Ġperman ent", + "Ġcarry ing", + "Ġconserv ative", + "import ant", + ". img", + "ĠIm m", + "Ġdim ensions", + "al and", + "s ingle", + "Ex it", + "-------- --", + "ari ant", + "tern al", + "Se conds", + "ĠIt aly", + "ot lin", + ".Res ume", + "=' \"", + ") ==", + "cept or", + "Ġs ca", + "/m ain", + "Sec urity", + "_d at", + "Ġlet s", + "Ġa qu", + "Ġwhen ever", + "b erry", + "Ġact ing", + "ant i", + "p d", + "& gt", + "æ Ń", + "Z one", + "T oday", + "! .", + "To Props", + "ab is", + "it able", + "Ġg al", + "] {", + "iz ona", + "Ġin contri", + "N ET", + "/// Ċ", + "[ in", + "_s ave", + "Ġex em", + "ĠK enn", + "Ġev olution", + "var s", + "_st ats", + "- only", + "ĠColor ado", + "Ġwatch ed", + "b our", + "Ġsever e", + "Ġprofession als", + "port ion", + "Ġguar ante", + "Ð ³", + "Ġpush ed", + "ĠG i", + "ï ½", + "Ġt um", + "ĠA z", + "ĠEdge Insets", + "\")) ;čĊ", + "is se", + ". ac", + "Set ting", + "Ġapprec iate", + "ĠValue Error", + "Ġsur ve", + "ĠR ole", + ". Inter", + "plot lib", + "j et", + "d am", + "Ġplatform s", + "te le", + "UT O", + "ĠInt ernal", + "+ :", + "} ;čĊ", + "Gener al", + "\\ Entity", + "Ġlawy er", + "qu iv", + "ĠPost s", + "is o", + "Ġacc um", + "ob e", + "Ġmark s", + "Ġ] ;ĊĊ", + "ĉ text", + ".s uccess", + "cur r", + "as a", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "Ġth in", + "_ over", + "are st", + "ĠO s", + "( address", + "Ġvel ocity", + "Ġ[] ;ĊĊ", + "=\" ../../", + "ĠPr iv", + "b ow", + "Ġguar antee", + "% ĊĊ", + "Ġeval uate", + ".LE NGTH", + "Ġin ventory", + "q a", + "_de bug", + ".On ClickListener", + "Ġl ies", + "Ġassess ment", + "dat etime", + ".background Color", + "Ġ*/ čĊčĊ", + "ra f", + "un wrap", + "ĠF oot", + "Ġnot ify", + "Ġlow est", + "DO CTYPE", + "Ġl anguages", + "ex tra", + "- back", + "Ġein en", + "tem plates", + "_p ass", + "ĠM ust", + "Ġest á", + "_c ore", + "ĠSc ot", + "A I", + "Ġb ias", + "ations hip", + "Con stant", + "Ġprogram ming", + "In s", + "uspend Layout", + "ĠPRO VID", + "ant es", + "Ġsh irt", + "in ated", + ". OK", + "[ a", + "Ġthink s", + "? ĊĊĊĊ", + "Ġregard less", + "ĠMag ic", + "ul ating", + "ĉ class", + "add Group", + "RE ATE", + "ĠS U", + "Ġsim pl", + "c opyright", + "Ġb unch", + "Ġun iverse", + "ĠE rr", + "Ġpresent ation", + "c ategories", + "Ġatt ach", + ".s ign", + "_A C", + "Ġdisc ipl", + "Ġregular ly", + "Ġprim arily", + "ink s", + "[ [", + ".r and", + ".sh ould", + "ownt own", + "=\" '", + "Ġs ans", + "Ġsupport ers", + "se quence", + "G O", + ". .ĊĊ", + "ĠS pr", + "Ġcare fully", + "U IColor", + "dest roy", + "Ġtod os", + "ĠOR DER", + "ott ed", + "Ġd ont", + "aud i", + "_ player", + "g re", + "ĠO il", + "< body", + "_st ack", + ".P adding", + "ĠProduct s", + "Ġpriv ile", + "Ġinj ured", + "ĠF urther", + "Ġal ias", + ".Resume Layout", + "_LE N", + "Ġs es", + "'] ;ĊĊ", + "cre ens", + "Ġdirect ed", + ".S uspendLayout", + "od ge", + ".A t", + "mark s", + "ĠUn ivers", + "ert s", + "ĠE sc", + "Ġnav bar", + "Ġutil ity", + "agnost ics", + "Ġin ject", + "ĠD NA", + "Ġ\" ,\"", + "am ar", + "Ġe u", + "Ġrestaur ants", + "_p ut", + "ut ers", + "Tool Strip", + "t w", + "ist ro", + "Ġz oom", + "Ġleg it", + "pec ific", + "ĠC ome", + "Ġlocal Storage", + "Ġabs or", + ".P anel", + "ĠDesign er", + "Ġo w", + "IC AL", + "_ uri", + "(f ield", + "Ġsup erv", + "Ex ists", + "Ġrespect ively", + "ĠSt and", + "Con f", + "uss ian", + "Ġar c", + "Ġ nd", + "uck s", + "Ġre str", + "Ġseason s", + "ĠCh apter", + "ĠSw itch", + "p ic", + "Ġh i", + "load ed", + "Ġfl uid", + "-b tn", + "Ġrun time", + ". it", + "B N", + "Op acity", + "as ant", + "ry ption", + "-n ative", + "Ġta ught", + "å ¯", + "ag ment", + "Ġm ul", + "Reg istry", + "_ grid", + "ĠBro ok", + ": Set", + "Ġm ongoose", + "AM ES", + "inner HTML", + "Ġs oci", + "ĠInt el", + "get Id", + "C md", + "Ġaccess ible", + "r ames", + "le ton", + "Ġ__ (", + "ĉ delete", + "ĠS quare", + "\" ĊĊĊ", + "Ġbu cket", + "avor ite", + "ĠB reak", + "++ ]", + "Ġbr ush", + "Ġt ensor", + "/ http", + "T ile", + "Ġfunction al", + "Ġ\" *", + "wh el", + "Ġt ent", + "ĠChar acter", + "Ġse es", + ". ST", + "B ig", + "Ġext ern", + "Url s", + ")) )),", + "ĠJ r", + ".B uilder", + ". ;", + "n l", + "_ Init", + "ĠH ER", + "ż e", + "mys qli", + "_ icon", + "v an", + "Ġfeel ings", + "Ġle an", + "Ġhop ing", + "T V", + "=\"čĊ", + "b est", + "all as", + "ent ed", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĊ", + "_con nection", + "Ġrep o", + "en abled", + "аРº", + "Ġsh a", + "Ġmembers hip", + "Status Code", + "in ating", + "_s m", + "_c ustom", + "_ weight", + "Ġc ss", + "St at", + "_ env", + "link s", + "TR L", + "ĠH it", + ", r", + "up id", + "Ġop ens", + "Ġg ent", + "_v is", + "Ġj oy", + "< w", + "_c ost", + "ĠPy Object", + "ren ce", + "ĠGeorg ia", + "ĠBro ad", + "m ma", + "â Ĥ", + "p f", + "Ġ\" \\\"", + "Ġ( &", + "om o", + "Ġliter ally", + "Ī ĺ", + "met ric", + "Ġb ars", + "z ed", + "(w indow", + "ĠIsrael i", + "Ġform al", + "ident ifier", + ".d ao", + "ĠDe ath", + "% ;Ċ", + "Ġdecl are", + "ar ms", + "RE AM", + "PERT Y", + "Ġconsequ ences", + "to ols", + "Pe ople", + "ĠWh ich", + "> ();čĊ", + ".de code", + "_A CT", + "Button s", + ".f loat", + ".F irst", + "ë ¥", + "ĠPol it", + "ĠX CT", + "T ags", + "ĠCG Float", + "= str", + "Ġle af", + "- check", + "ĠI ss", + ".s ystem", + "log out", + "ach t", + "Ang le", + "s in", + "ch art", + "INT ER", + "ĠN UM", + "B asic", + ".P roperties", + "ä¸ Ń", + "_ change", + "ĠB razil", + "Ab stract", + "Ġ: +:", + "_ use", + "а л", + "ĠL y", + "IB UT", + "Ġout er", + "Ġ-- >čĊ", + "Ġrel ief", + "l ap", + "qu er", + "_p arent", + "he ap", + "LO SE", + "Ġcomb ine", + "ĠR ose", + "ow ers", + "Ġproced ures", + "ĠS ort", + "an im", + "var iant", + "eh icle", + "Ġsign ing", + "Pr imary", + "c urrency", + "Ġsex e", + "o en", + "th eta", + "em an", + "Ġimpress ive", + "(' _", + "ĉ U", + "ĠText Style", + "_c nt", + "Ġs lice", + "(' :", + "Ġunderst ood", + "H is", + "Ġinform ed", + "Ġn ick", + "(T AG", + "h d", + "Ġelection s", + "est ure", + "ĠS anta", + "ĠCo ast", + ".p df", + "inc iple", + ".cl one", + "b orn", + "ut a", + "Ġl icensed", + "C r", + "Ġb read", + "ĠH ouston", + "Ġn od", + "Ġhop es", + "ĠCG Rect", + "Ġgu ilty", + ".g if", + "Ġro se", + ".Com mon", + "T ip", + "AN K", + "ĠF C", + "D uring", + "ĠSym fony", + "Ġdef ensive", + "k m", + ") >", + "arch ive", + "ĠU RI", + "ycl ing", + "- o", + "ĠWe bsite", + "AM P", + "ish ment", + "Ġdo ctors", + "D irect", + "AR I", + "ĠRed irect", + "ier en", + "_d ist", + "y o", + "ĠPro gress", + "Ġz um", + "Ġmem or", + "ĠE D", + "Ġj ur", + "æį ®", + "_T ABLE", + "Ġu uid", + "Ex pr", + ". head", + "(' %", + "point er", + "Ġest imate", + "ĠG reg", + "Ġlo ader", + "Ġi OS", + "Ġm ens", + "[ y", + "Ġref used", + "Ġprec ision", + "is ch", + "ĠA CTION", + "Cl oud", + "s With", + "( ret", + "_ADD R", + "_con f", + "(d f", + "Ġlock ed", + "Ġr ising", + "ãĥ» ãĥ»", + "ĠM s", + "Ġscen es", + "_EX T", + "_ raw", + "_ the", + "pe ople", + "Ġre con", + "ĠF un", + "Ġb less", + "ĠUp dated", + "ü n", + "ĠĠĠĠĠĠĠĠĠĠĠĠ čĊ", + "pe ction", + "Re lease", + ".log ger", + "ĠS Y", + "Ġcoun sel", + "ur d", + "_ true", + "Ġevery body", + "iv ot", + "Ġh ence", + "ĠN AS", + "Ġoppos ed", + "unk nown", + "ĠDES C", + "ĠCh air", + "fa iled", + "ĠIN CLUDING", + "Ġwrit ers", + "{ }Ċ", + "ÃŃ t", + "_c opy", + "} :", + "ĠB at", + "Ġconvert ed", + "ed ing", + "pl acement", + "ĠH ost", + "S ound", + "и м", + "Ġs ought", + "m id", + "Ġsal ary", + "og g", + "âĦ ¢", + "b ul", + "Ġw ir", + "valid ator", + "_ST AT", + ".st ore", + "ĠB attle", + "ı n", + "Ġ-- >ĊĊ", + "Tr ump", + "d ot", + "ĠCON T", + ".f etch", + "Ġcontin u", + "w as", + "Ġfra ud", + "_t mp", + "mit ter", + ".p ictureBox", + "G A", + "Ġt ournament", + ". Input", + "[ r", + "ex ion", + "cent age", + "ĠKore an", + "und ef", + "ĠAv ailable", + "resh ape", + "Ġk it", + "ĠStr uct", + "ĠS UB", + "An swer", + "_l ib", + ".t witter", + "Ġo re", + "ĠDr agon", + ".Ex t", + ", k", + "Ġexplan ation", + "ref s", + "ĠDr ive", + "ĠTr aining", + ".H as", + "int age", + "b ig", + "olog ist", + "enn is", + "Ù ĩ", + "Ġch icken", + "ĠĠĠĠĠĠĠĠĠĠ Ċ", + "ç Ľ", + "ãģ §", + "Ġpe ak", + "Ġdrink ing", + "Ġen code", + "ĠNE W", + "m alloc", + "ĉf printf", + "Ġ= ================================================================", + "in cluding", + "Ġprincip les", + "ĠM ah", + "st orage", + "- key", + "Ġkey word", + "% ;", + "Ġtr ained", + ".con trib", + "Ġk v", + "__ ':Ċ", + "ĠB oy", + "param eter", + "Ġsu ite", + "Ġthous and", + "Ġco ordinate", + "-g enerated", + "íķ ĺ", + "gener ated", + "Ġad mitted", + "Ġp ussy", + "# w", + "Ġsw im", + "un ion", + "N a", + "ĠRoy al", + ".ch annel", + "Up dated", + "_RO OT", + "Ġv ital", + "ra ction", + "ĠCrush er", + "Ġpre ced", + "Ġhor izontal", + "Blue print", + "Ġattr s", + "Ġsm oke", + "Ð Ĵ", + ". Equals", + "F B", + "ĠRes ources", + "roll ing", + "Ġpass es", + "ĠN um", + "rot ate", + "et ype", + "\\ \",", + "Ġsens itive", + "Ġt all", + "? âĢĿĊĊ", + "Pro xy", + "i y", + "_ section", + "âĢĶâĢĶ âĢĶâĢĶ", + "br id", + "Ġcirc uit", + "at an", + "EN C", + "Ġdr iven", + "Ġvot ed", + "Ġeduc ational", + "Ġinter action", + "abet es", + "Ġt one", + "ĠInitialize Component", + "Ġmer ely", + "Ġì ŀ", + "co okie", + "_ div", + "ĠUIL abel", + "vel y", + "} );čĊ", + "_ ENT", + "#+ #+", + "art icles", + "ĠSou thern", + "Ġstrong er", + "ĠG iven", + "ĠE ric", + "ĠI R", + "ab stract", + "U nder", + "n able", + "Ġincre ment", + "ov en", + "Ġco in", + "_t imer", + "Ġsuffer ed", + "ĠF REE", + "'] .\"", + "ĠQue en", + "st ats", + "Ġmeet ings", + "Ġenter ing", + "Ġalong side", + "(s ession", + "it als", + "Ġfound ation", + "ĠC redit", + ". div", + "_ ALL", + "pc ion", + "_st at", + "ick ing", + "Default s", + "_s rc", + "Ġoutput s", + "/ B", + "Ġent hus", + "-b l", + ".Fore Color", + "ĉ temp", + "F ace", + "Ġinter act", + "Ġwe ird", + "M ount", + "re ll", + "ud ents", + "Ġrequire ment", + "ĠS us", + "I ER", + "Ġe lected", + "re ference", + "ĠM E", + "Ġserv ers", + ".w ait", + "Ġsnap shot", + "il ton", + "Ġtri es", + "Ġt ipo", + ".T ime", + "> w", + "Ġmount ain", + "Ġp ounds", + "Ġ[ ...", + "ex ists", + "Ġng On", + "_M AP", + "Ġf lying", + "xi ety", + "ĉ value", + "_D B", + "un o", + "Ġse ats", + "T URN", + ". author", + "! )", + "or ce", + "Ġindic ated", + ".s in", + "Ġass ignment", + "im iento", + "ĠF rame", + "_g en", + "in ery", + "_ )", + "m essages", + ".set tings", + "ĠMe an", + "ĠM useum", + "ir q", + "att ach", + "ĠPalest in", + "_ QU", + "_t ags", + "Ġcas ual", + "em en", + "ASS WORD", + "$ s", + "ĠC irc", + "оР¹", + "et ric", + "/ P", + "Ġep och", + "< head", + "_C MD", + "Ġg it", + "Ġpen alty", + "or ph", + "_ users", + "ours es", + ".Date Time", + "atern ion", + "_pro ject", + "Ġsuper ior", + "ĠD am", + "ĠSe attle", + "X Y", + "> The", + "ĠA k", + "Ġgr ass", + "/* čĊ", + "(d is", + "Ġgun s", + "Ġt b", + "ĠK evin", + ". args", + "ĠA h", + "op ed", + "( J", + "column s", + "arg uments", + "ĠWith Events", + "_f ull", + "ĠDef ense", + "S imple", + "Ġdeath s", + "Ġext ensive", + "ĠSt ill", + "ĠEx pression", + "ĠAg ency", + "Ġperform ing", + "F X", + "Ġus uario", + "U AL", + "S ide", + "od os", + "apt op", + "Ġcred entials", + "_c ap", + "at ient", + "ĠDis ney", + "Ġa i", + "Ġch ip", + "Ġvol t", + ".make Text", + "%%%%%%%% %%%%%%%%", + "Ġbelie f", + "_LO C", + "ĠC ivil", + "N avigation", + "Ġreve al", + "Ġviol ent", + "ĠF il", + "Ġc atalog", + "em ed", + "sc an", + ". control", + "Ġconstit ution", + "C ountry", + "Separ ator", + "_A PP", + "top ic", + "uet ooth", + "M IN", + "Ġdes criptor", + "y t", + "ET HER", + "Ġdistrib ute", + "' }Ċ", + ".tr im", + ".L ine", + "Ġl bl", + "assert Equals", + "ĠD et", + "omb ok", + "( width", + "Ġt ort", + "ĠEXP RESS", + "ac o", + "Us ing", + "ĠBr and", + "w all", + "EM ENT", + "ĠComm unic", + "< uint", + "ĠG UI", + "EG IN", + "ĠR ange", + "/ i", + "ĠT aylor", + "c ost", + "Ġrespond ed", + "ĠTh eme", + "n ce", + "IS H", + "Ġfeat uring", + "Return s", + "ĠK r", + "Ġ .Ċ", + "Ġn am", + "_c b", + "Test ing", + "Ġ{ },", + "y al", + ".f ield", + "Ġ/ =", + "_SH ORT", + "m ates", + "Test Case", + "ain less", + "Ġeval uation", + "_ ITEM", + "ĠPac ific", + "ĉ k", + "Ġc ant", + "ĠR os", + ") s", + "Ġf et", + "STR ING", + "ĠDis pose", + "g al", + "ĠJ oin", + "ĠP orn", + "ĠCath olic", + "AR GET", + "cp u", + "ç łģ", + ".sc roll", + "IS ING", + "ifest yle", + "anc ement", + "Ġm erc", + "ĠB rowser", + "eter min", + "Ġover flow", + "Av ailable", + "Ġbott le", + ": UI", + "ific ial", + "Ġco ord", + "clar ation", + "Ġcon j", + "G LOBAL", + "ok u", + "Ġk wargs", + "cond itions", + "ul um", + "Ġg enu", + "ĠH ero", + "å İ", + "Ġun expected", + "ĠDAM AGES", + "Ġk a", + "ĠC ould", + "UP PORT", + "ĠPh otos", + "Ġconf ident", + "Ġdet ected", + "de g", + "rg b", + "Ġstrong ly", + "Ġ} ;čĊ", + "Ġ) :", + "Ġle ct", + "urs ive", + "RO L", + "ĠWe ight", + "Ġent ertainment", + "Ġ) );Ċ", + "Ġg onna", + "Ġb b", + ".d o", + "G S", + "Ġmist ake", + "D L", + "ĠPROVID ED", + "ear ning", + "L imit", + "iss ions", + "[ v", + "ä¸ į", + "ir ty", + "D el", + "Ġunder lying", + "pre ne", + "Ġj aw", + "ĠD I", + "pe er", + "Ġobject ive", + "Ġde posit", + "Ġk on", + "Ġes p", + ".set Visibility", + "/ login", + "< typename", + "Ġfr anch", + "/ e", + "Par allel", + "Ġsc ored", + "ĠH on", + "ĠV ill", + "ig a", + "Ġant icip", + "_ assert", + "ĠO pt", + "Ġdescri bes", + "w an", + "m ount", + "Ġmonitor ing", + "Ġt out", + "ëĬ Ķ", + "}, {", + "................ ................", + "= int", + "Ġc ust", + "---- --", + "Ġatmos phere", + "P AR", + "ort e", + "IS IBLE", + "ĠI ron", + "ĠNot ification", + ".log ging", + "ĠBO OL", + "-p oint", + "Ġaf raid", + "ent a", + "Ġtom orrow", + "@ implementation", + "Ġeng age", + "ĠAn th", + "ĠF loor", + "ĠU l", + "To ols", + "Ġb ab", + "Ġcare ful", + "ãģ Ħ", + "Ġcruc ial", + "Ġcalcul ated", + "ĠS A", + "Ġw y", + "D X", + "_T AG", + "ind ed", + "Ġj et", + "ĠEngine ering", + ".M AX", + "en z", + "v d", + "Ġpublic ation", + "Ġ## #", + "Ġfac ed", + "ra ham", + "ĠC apt", + "As set", + "ĠCon stants", + "Ġlo ans", + "_ IP", + "ĠF ish", + "Red uc", + "_m at", + "Date Format", + "_m e", + "[] []", + "Ġintegr ity", + "ĠC ourse", + "lob als", + "Ġfac ilit", + "Ġem br", + "ĠN g", + ".S ystem", + "Ġmanufact urers", + "Ġpro ven", + ".on Create", + "Ġal arm", + "Ġ §", + "Ġcomm only", + "ic os", + "æĸ °", + "ĠSt ation", + "} ).", + "ĠF ilm", + "w i", + "ç ī", + "Ġeng aged", + "St ats", + "Ġgovern ments", + "Ġafford able", + "_p roperty", + "Ġag es", + "(' --", + "Ġf ör", + "ĠProf essor", + "Ġhy dro", + "P ush", + "Ġorgan ized", + "Ac cept", + "é m", + "_c ell", + "Ġn b", + "p b", + "Art icle", + "Ġrem oval", + "Ġauth entication", + "ĠF R", + "l ide", + "Ġple asure", + "ap ol", + "Ġpart ition", + "ĠS ide", + "Ġcr imes", + "Ġdem o", + "hold ers", + "ĠPak istan", + "In struction", + "Ġexpect ations", + ".sc ene", + "Ġ' )", + "h es", + "ino is", + "_P ro", + "Ġm olec", + "and al", + "_sh ort", + "Ġdefault s", + "Ġn ations", + "in en", + "Ġr t", + "O CK", + "P acket", + "S B", + "ĠSH ALL", + "_cont ents", + "ise conds", + "vert y", + "á t", + "G uid", + "n om", + "Ġcon clusion", + ". Update", + "Ġlo vely", + "Ġem it", + "b ec", + "ĉĉĉĉ Ġ", + "Ġintel lect", + "Ġb rew", + "ec ycle", + "F ire", + "Ġad mit", + "Ġar bit", + "Ġarr ang", + "ĠM IN", + "M ail", + "ĠN ative", + "C ur", + "Ġcon vent", + ".R untime", + "\" }Ċ", + ".R un", + "Ġprint ed", + "Ġconven ient", + ". ar", + "m ock", + "ĠAdmin istration", + "ãģ ¾", + "Ġelect ron", + "fl ate", + "Ġl ombok", + "Ġjava fx", + "n h", + "Ġsup plies", + "Ġvisit ing", + "ah l", + "Ġpow der", + "Ġult imate", + "Ġorient ation", + "ut as", + "_s cale", + "Con firm", + "ph ones", + "ĠOper ation", + "/ T", + "_IN TER", + "Ġair port", + "Ġmet rics", + "Ġphen omen", + "a udio", + "Ġm ai", + "( K", + "h u", + "all ing", + "rodu ction", + "ĠTrans port", + "ĠNOT E", + "æĸ ĩ", + "Ġfew er", + "_T IM", + "ì §", + "к и", + "A ge", + "F IN", + "Ġì Ŀ", + "ĠAt tribute", + "group s", + "er k", + "at to", + ". define", + ".AspNet Core", + "ategor ia", + "ĠS ir", + "( form", + "< User", + ". round", + "_d ay", + ".A ll", + "Servlet Response", + ".N o", + "l arge", + "IG H", + "qu ent", + "Ġvir us", + "Ġret ro", + "Ġim per", + "Bit map", + "Ġv ice", + "Ġoff ense", + "ist e", + "ĠA UTH", + "Ġê °", + "ToolStrip MenuItem", + "G u", + "Ġr ape", + "ĠDav is", + "Ġover whel", + ": flutter", + "- table", + "ĠCon structor", + "Pr ivate", + "e ven", + "ch r", + "Ġap plies", + "_at tribute", + "Ġcon tribute", + "E VER", + "L ines", + "ĠAf ghan", + "Vis itor", + "ĠS L", + "se ason", + "C U", + "Ġintrodu ction", + "Ġmat plotlib", + "Å ij", + "Ġnewsp aper", + "âĢĶ and", + "< tag", + "Ġin i", + "Ġd iverse", + "Ignore Case", + "ĠU r", + "Ag ent", + "Ġb ull", + ".em it", + "( Exception", + "ar Layout", + "Ġincred ibly", + "ĠTr ust", + "={ (", + "- nav", + "Ġe quals", + "Ġl ady", + "ĠP od", + "d isc", + "al am", + "ĠI V", + "â Ļ", + "iv idual", + "ph i", + "add ed", + "Ġdifficult y", + "Ġcomp act", + "ĠAction Result", + "c ers", + "_class es", + "Non Null", + "Ġqu it", + "Ġp ou", + "S witch", + "ir s", + "- test", + "ĠK ind", + "ĠCal endar", + "Ġstream ing", + "} ',", + "S W", + "Ġst ead", + "oc a", + "Ġprov ince", + "Ġcol span", + "Ġperson nel", + "ĠE mployee", + "Ġprodu cer", + "Ġevery where", + "od b", + "Ð Ł", + "bs olute", + "act ivate", + "Ġgr inding", + "ĠBuild ing", + "ĠSand ers", + "(s c", + "ĠOff set", + "//////// ////", + "} ;čĊčĊ", + "({ \"", + "Ġscan f", + "ĠY Y", + "ĉdef er", + "Ġj ew", + "Ġrestrict ions", + ".m p", + "[ l", + "ä¸ ĭ", + "label s", + "red icate", + "aw esome", + "Ġw aves", + "Ġcon front", + "Ġmeas ured", + "Ġdat as", + "_ex it", + "ot ton", + "Ġshould er", + "ask a", + "+ #", + "ĠĠĠĠĠĠĠĠĊ ĠĠĠĠĠĠĠĠĊ", + "Ġtro ops", + "ĠU nd", + "_c ard", + "w ich", + "Ġn ous", + "Ġ\"/ \"", + "s b", + "Ġcommunic ations", + "Ex port", + "Ġdec ode", + "th s", + "inter pret", + "By Name", + "ĠSp irit", + "ed ges", + "O LE", + "ĠE M", + "t it", + "ĠTh rough", + "Ġb io", + "ĠP ackage", + "or ne", + "Ġ} .", + "` ;Ċ", + "Ġok ay", + "ĠZe aland", + "ident ity", + "(n ext", + "ĠB ang", + "Lib rary", + "Ġheav ily", + "il on", + "Ġdi pl", + "Ġrot ate", + "put s", + ") ',Ċ", + "ĠData Table", + "Ġmay or", + ".to LowerCase", + "Ġsome how", + "ĠNor thern", + "al c", + "Ġcap abilities", + "Ġv ibr", + "+ Ċ", + "ĠS u", + "ĠRes et", + "_m ean", + "Ġc ig", + ".cl oud", + "ĠB and", + "ĠF actory", + "ĠAr izona", + "_ io", + "op her", + "Ġconsc ious", + "Ġà ¶", + "\\ Controllers", + "_s peed", + "ĠF ac", + "_C om", + "ĠB ible", + "w en", + "ED IT", + "Ġun n", + "ĠSt aff", + "ĠIn n", + "Ġmechan ism", + "ĠM embers", + "Ġmigration Builder", + "'] .'", + ".get Int", + "< void", + "ĉf ree", + "oid s", + "\\ Support", + "Ġautom atic", + "Ġch ances", + "Ð ¶", + "Ġcomp licated", + "[ row", + "ah oo", + "Ġ}ĊĊ ĊĊ", + "Model s", + "W in", + "Ġt ape", + "ir us", + "iz on", + "on omy", + "(\" _", + ": .", + ".st ereotype", + "( env", + "_re ct", + "(w ith", + "Ġassert That", + "Ġcon straints", + "put y", + "E mployee", + "T D", + "Ġgu itar", + "ĠJew s", + ".pro cess", + "Ġf iction", + "ĠSh ared", + "âĶĢ âĶĢ", + "Ġprop ag", + ".N et", + "Ġachie ved", + "ĉ Q", + "Ġn urs", + "Sh ared", + "_FAIL URE", + "Ġbeh aviour", + "Ġcol s", + "ism o", + "Ġfem in", + "Ġchalleng ing", + "Ġpost ing", + "enc il", + "Ġcapt ured", + "ĠD ou", + "( word", + "ĠTur key", + "pan ies", + "Ġre putation", + "ORM AL", + "Ġelig ible", + "prot ocol", + "id as", + "(f rom", + "Ġfin ance", + "- per", + "Ġg otten", + "H A", + "d uration", + "ĠP arent", + "Ġin vent", + "Ġre start", + "ол ÑĮ", + "r ition", + "(r s", + "< bool", + "i ert", + "Ġmod ification", + "ĠT X", + "readcr umb", + "b ank", + "$ /", + "ĠMill er", + "] ),Ċ", + ".Check ed", + "Ġsac r", + "se curity", + "Ġp ose", + "ĠBr ad", + "Ġfit ness", + "Ġannounc ement", + "ation Token", + "Ġserv es", + "ne ed", + "Ġge ometry", + "AR S", + "æ Ģ", + "andid ate", + "Ġs prite", + "_s plit", + "We ek", + "ad ies", + "> (Ċ", + "?> \"", + "Ġ/// Ċ", + "Ġein er", + "Ġweek ly", + "ĉlog ger", + "_p op", + "_m an", + "Ġmigr ations", + "Ġask s", + "Ġb s", + "Ġfall s", + ".W here", + "- height", + "_fe ature", + ".M in", + "Ġhy per", + "Ġvol atile", + "Ġtw enty", + "Typ ography", + "Un able", + "D et", + ", f", + "-m od", + "Ġsett lement", + "Ġcontract s", + "n ome", + "B ad", + "ĠB rian", + "(user name", + "!! !!", + "Ġh ack", + ".F ield", + "H R", + "ĠJ ordan", + "iz a", + "Ġ ł", + "ĠSh er", + ". header", + "( other", + "ĠD ub", + "( op", + "ĠR ound", + "Ġv ie", + "Ġap pl", + "ĉ J", + "ĠIn sert", + "ĠL P", + "reg on", + "ĠM PI", + "Ġan chor", + "ac a", + "ø r", + "Ġa de", + "anch or", + "que e", + "ĠTree Node", + "Ġtarget ed", + "Ġla id", + "AB EL", + "v et", + "ĠOr igin", + "A nt", + ". ');Ċ", + "ex pect", + "ed Reader", + "ĠM ajor", + "Ġin ch", + "Com par", + "Ġpre view", + "Ġill ness", + "ĠCONTR ACT", + "ĠInd epend", + "u uid", + "Ġn ome", + "Ġt c", + "ĠA venue", + "is an", + "Ġph rase", + "_m ove", + "\") [", + "Ġprov ision", + "Ġconcent r", + "_ IR", + "ĠU t", + "() +", + "Ġn as", + "! ,", + "ĠRob in", + "i ations", + "at itude", + "Ġp x", + "ĠWith out", + "/b ash", + "ek t", + "re ement", + "Ob server", + "ĠReg ion", + "UBL IC", + "Ġ{ //", + "K N", + "å ·", + "Game Object", + "å ¾", + "enc oding", + "Ġ** *", + "project s", + "Ġt k", + "Ġche ese", + "EM PL", + "ar o", + "Ġا ÙĦ", + "Ġcons ists", + "ref resh", + "ure au", + "ĠSc anner", + "Ġso il", + "Ġfl avor", + "Data Source", + "Ex ecute", + "ени е", + "Ġsh it", + "åĪ Ĩ", + "< any", + "Ġretrie ve", + "Ġbelong s", + ".st rip", + "abs olute", + "Ġexp anded", + "bo y", + "): -", + "Ġresc ue", + ".J Label", + "Ġre ly", + "Ġal ignment", + "-f amily", + "Ġre nd", + "OLUM N", + "Ġb orrow", + "Ġqu otes", + "ĠL ew", + "Ġsh ower", + "ĠDE LETE", + "_lo op", + "! \"ĊĊ", + "ĉ re", + "Ġattempt ed", + "aver age", + "ĠP aint", + "quis ition", + "ol en", + "Ġliter ature", + "ĠRe ference", + "_TEXT URE", + "ĠS eg", + "ĠInd ust", + "ct ype", + "D UCT", + "_H OST", + "ĠTr ade", + "Ġpl ugins", + "Ġbre ast", + "ul se", + "Ġcreat ure", + "ãģ Ļ", + "ĠW i", + "Ġsup plied", + "c oll", + "! (\"", + "Ġfuck ing", + "ĠCh rome", + "ĠU ri", + "ĠN ation", + "Ġvert ices", + "T HE", + "ĠOr iginal", + "on de", + "Ġsh arp", + "Ġcook ing", + "Ġ{ /*", + "ĠPs ych", + "ĠH ollywood", + "=$ _", + ".D ock", + "Ġg er", + "Ġb one", + "_con n", + "_se c", + "ys ics", + "Ġ= \"", + "S al", + "s f", + "Ġdeep ly", + "ang les", + "T erm", + "b ell", + "ĠQu ick", + "ener ation", + "adio Button", + "åħ ¥", + "}čĊčĊ čĊ", + "Ġcapt ion", + "l c", + "ĠE L", + ", [", + "ĠĠĠĠĠĠ čĊ", + "ret t", + "(m ethod", + "ĠFl ash", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "W ISE", + ".s cale", + "Ġrough ly", + "_ child", + "m emory", + "ay ing", + "Ġinitial ized", + "in ator", + "а ÑĢ", + "Ġsc alar", + "ĠH o", + "ai res", + "(c olumn", + ".de stroy", + "P ACK", + "Ġh em", + "ang el", + "_S UB", + ". qu", + "Ġ ×", + "DE FAULT", + "pos itories", + "ĠL ength", + "ĠF ast", + "Ġsign als", + "Ġ// $", + "ri ers", + "Ġd ummy", + "AN Y", + "Ġperson ality", + "Ġa gricult", + "Pl atform", + "ER O", + "ĠT ra", + "Ġen orm", + "ĉ W", + "Action Result", + "Ġa ver", + "[ str", + "Ġ' --", + ".S printf", + "Ġdeb ut", + "Ġ Ñĩ", + "h ex", + "_ utils", + "Ġp b", + "U ITableView", + "Ġz ur", + ". encode", + "Ġv ag", + ".error s", + "о н", + "Ġm r", + "ĠA ward", + "Ġc pu", + "Ġpress ed", + "' est", + "ĠF estival", + "' T", + "Ġa k", + "res olve", + ".m e", + "Ġn ic", + "Ġgen re", + "Ġat trib", + "ĠMo on", + "Ġarr ive", + "ĠD ating", + "Ġt m", + ".Config uration", + ". red", + "Ġgl m", + "Ġst ations", + "sw itch", + "Ġt ied", + "äº º", + "Ġ/ >Ċ", + "Ġsubsequ ent", + "pos able", + "-fl uid", + "Ġth orough", + "Ġpublic ly", + "apt ers", + "ĠWil son", + "_P RE", + "y ard", + "ä ¼", + "ĉ in", + "Ġre vers", + "Ġbul let", + "cri bed", + "nes ota", + "Ġ($ _", + "ann on", + "c ursor", + "Ġclo thing", + "ĠM ulti", + ": ',", + "Ġv ess", + "ordin ator", + "Ġein em", + "C annot", + "Ġar med", + "ĉ V", + "ä¸ Ĭ", + ".F lat", + "ĠS ep", + "ĠSub ject", + "_f ont", + "Ġcharacter istics", + "D one", + "el n", + "######## ####", + "PO S", + "Ġd ensity", + "ĠPl atform", + "- items", + "Ġo vers", + "Ġpush ing", + "ç ¤", + ".Con nection", + "_ term", + "Ġinitial ization", + "________________ ________________", + "ç ¬", + ".d ocument", + "les h", + "ĉd ocument", + "ĠP in", + "ç a", + "Ġdefinition s", + ".P ath", + "_W RITE", + "Ġ ĉĊ", + "? >ĊĊ", + "Ġter rible", + "be an", + "ick ets", + "ĠS V", + "B uy", + "(t ask", + "Ġreg ime", + "g oogle", + "Ġcr ack", + ".vis it", + "N UM", + "ener gy", + "Ġstr uck", + "_s ample", + ".p ayload", + "Ġre vis", + "ĠSc ene", + "Ġp g", + "Ġbreak fast", + "URRE NT", + ".char At", + "_ex ception", + "ĠAnt on", + "Ġguid elines", + "Ġex haust", + "ĠFin ancial", + "Ġind ent", + "Ġdes ktop", + "H idden", + "F ailure", + "Ġpr inciple", + "Ġ iv", + "Ġse ks", + "n etwork", + "Ġnumber Of", + "ĠAl bert", + "ĉ long", + ", .", + "Ġz eros", + "f ade", + "ĠT yp", + "ĠT erm", + "ĠAr ts", + ".App lication", + "Ġbeh alf", + "æĪ ·", + "Ġm ere", + "(` ${", + "Ġaware ness", + "elp ers", + "f lix", + "Ġwe igh", + "Ġestim ates", + ". child", + "/ O", + "ĠBit map", + ".b ottom", + "Ġ************************************************************************ **", + "Ex pect", + "ent o", + "ĠFor um", + "ver al", + "Ġj ail", + "Ġab ilities", + "ĠH OLD", + "ĠC it", + "Ġd ynam", + "Ġgr ay", + "ĉĉĉĉĉĉĉĉ ĉĉĉĉĉ", + ".next Int", + "ant ly", + "ĠAR ISING", + "( private", + "Ġreject ed", + "ĠN ic", + "Ġle ather", + "= {Ċ", + "aly tics", + "th etic", + ".T op", + ".P age", + "={ `", + "Ġ ;čĊ", + "de pth", + "m ann", + "W D", + "ĠS om", + ".R ight", + "Ġ) }Ċ", + "Ġtr ait", + "à Ĺ", + "i ac", + "Ġr v", + "S ample", + ".X ml", + "opp ed", + "ĠÑ Ħ", + "list s", + "Ġt ear", + "ivers ary", + ".c ollection", + "ĠCon stitution", + "ĠHttp Response", + "Ġbr ill", + "ĠP rom", + "h over", + "ĠM iami", + "Ġarg ue", + "_f loat", + "Ġ ãĤ", + "Ġn at", + "ĠT al", + "Ġinteg ration", + "(c ur", + "Ġrem oving", + "Ġco eff", + "ĠTh ough", + "Ġfore cast", + "ĠV egas", + "S ite", + "Ġtr ab", + "ĠHen ry", + "- i", + "Ġinvol ves", + "B T", + "Ġs lo", + "In voke", + "Ġl ucky", + "r at", + "Ġ? Ċ", + "Ġhand led", + "(f d", + "cont ents", + "ĠO FF", + "R F", + "Ġst y", + "ĠM otor", + "ter y", + "t ax", + "M AP", + "ĠMr s", + "Ġph ones", + "ĠUI View", + "\")) );Ċ", + "( dev", + "ĠIr ish", + "Ġw s", + "D I", + "_OFF SET", + "ĠEvent s", + "Ġst ages", + "Ġ} //", + "Ġhab en", + "ST ANCE", + "ĠS in", + "ĠM oney", + "(t op", + "Ġappoint ment", + "VER SION", + "met adata", + "_com ment", + "Ġcolle agues", + "map s", + "â ĺ", + "Ċ ĉĊ", + "( al", + "_re q", + "Ġf ut", + "Ġarchitect ure", + "ĠWH ETHER", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "_s creen", + "Ġstyle Urls", + "Ġmon ster", + ". up", + "ph ia", + "Ġprocess or", + "ĠT err", + "= ',", + "ĠMan ufact", + "ĠN T", + "k el", + "ib ern", + "ĉf ile", + "A li", + "rient ation", + "Ġ// !", + "ap ore", + "ane ous", + "ĠC reat", + "f older", + "Ġh ay", + "Sup press", + "( left", + "Ġe uro", + "Ġdis claimer", + "ustr y", + "sh ips", + "_f d", + "ĠF a", + "_in sert", + "Ġro l", + "if ting", + "ĠCom ments", + "_b r", + "Ġloss es", + "ĠAdd ed", + "ch arg", + "Ġп о", + "_s ystem", + "ĠS ometimes", + "ĠSp ain", + "(g roup", + "ial is", + "Ġdoll ar", + "ĠAr gs", + "qu ires", + "ĠT en", + ".s css", + "Ġsurv ive", + "us age", + "Ġj un", + "im iter", + "ï¼ģ ĊĊ", + "Ġfif th", + "t oggle", + "Ġdecl ine", + "($ \"", + "(L ong", + "ing e", + "Ġpil ot", + "-l ight", + "-r adius", + "Ġpod cast", + "Ġnatur ally", + "P ages", + "ä¸ º", + "ĠDes pite", + "Ġlight ing", + "Ġcr ate", + "ĠB inary", + "Ġredu cing", + "Ġe leg", + "ĠM ouse", + "ĠTest Bed", + "Ġbefore Each", + "_ ARRAY", + "Red irect", + "Ġf lood", + "Ġsh ips", + "Ġelectric ity", + ")* (", + "ê ¸", + "ĠV iet", + "her o", + "Ġd ia", + "ĠK ent", + "he art", + "Ġthreat s", + "_ acc", + "Ġs ymbols", + "is chen", + "_in st", + "C riterion", + "ĠT IM", + ". Height", + "Ġ âĢĻ", + "();ĊĊ Ċ", + "Product s", + "_S P", + "ĠC y", + "Ġdepend ent", + "est e", + "Ġdat os", + "d it", + "аР²", + "IGN AL", + "Ġless on", + "\"> '", + "ĠC over", + "ĠH ope", + "ĠT imer", + "Ġd ad", + "vid ers", + "ĠPh ot", + "/ ?", + "rop y", + "om ing", + "as ion", + "Ġ\\ (", + "ĠE T", + "ĠRe ading", + "Ġep isodes", + "l m", + "ech a", + "Ġne uro", + "Ġhar mon", + "Ġlib eral", + "- ind", + "D ATA", + "Ġevery day", + "Ġdiv ided", + "ĠActive Record", + "fig ure", + "U A", + "ä ¹", + "riend ly", + "te ch", + ".game Object", + "иÑĤ ÑĮ", + "Ġmo on", + "ft ime", + "Ġno ch", + "ĠT ORT", + "ĠV M", + ".in itial", + "( child", + "Ġmus ical", + "Ġo c", + "b as", + "ĠH ay", + "_l ong", + "Ġmem set", + "ile y", + "adel phia", + "S V", + "ro at", + "_t x", + "Ġl on", + "ĠngOn Init", + "b p", + "ĠGold en", + "AC HE", + "Ġwor ried", + "az i", + "E ar", + "T ake", + "(f p", + "bur gh", + "_ Data", + "g res", + "ĠO nt", + "p us", + "Ġtrans parent", + "Ġp ocket", + "Ġr am", + "igr ations", + ". čĊčĊ", + "Ġ[ (", + "Ġadopt ed", + "Ġreported ly", + "ĠD ream", + "Ġ} ));Ċ", + "los ing", + "Ġte eth", + "ĠBook s", + "\", &", + "enn y", + "LE MENT", + "Ġg el", + "ĠPl ant", + "! âĢĿ", + ".h ost", + "ĠRep ly", + "re ngth", + "Ġrecogn ition", + "Ġ}} >Ċ", + "L A", + "Ġmir ror", + "Ġassist ant", + "( device", + "Ġspirit ual", + "b uilder", + " §", + "Ġou tr", + "Ġt t", + "ĠP ER", + "Ġrad ical", + "Method s", + "Ġp ace", + "ud y", + "Ġg ut", + "ĠG reek", + "Ġnon atomic", + "ĠP aper", + "_G PIO", + "Ġob st", + ".A d", + "viron ments", + "ĠS ov", + "( con", + "ĠTrans action", + ". assign", + "ĉc atch", + "el ter", + "Ġbit coin", + "_G R", + "ĠčĊ", + "met ic", + "Ġtrans formation", + "åı ·", + "Ġr gb", + "istrib utions", + "Ġimp licit", + "/ in", + "dest ination", + "аÑĤ ÑĮ", + "Z ero", + "Ġun set", + ". where", + ".g o", + "Ġform ation", + "Ġdeclar ation", + "() čĊčĊ", + "ĠEx pl", + "ĉĉĉ ĠĠ", + "/ pro", + ".J SON", + "Ġdes k", + ".sub str", + "//---------------------------------------------------------------- ------------", + "ly n", + "p son", + "dis able", + "ĠF unc", + "ĉ Assert", + "ĠM ARK", + "Ġdefe at", + "Ġbl ind", + "Ġconst ants", + ". headers", + "UIL D", + "Ġexp enses", + "P ixel", + "Ġh r", + "Ġf el", + "ĠEast ern", + "_d el", + "ĠC ub", + "Ġs q", + "ĉc ount", + "ĠD irectory", + "Ġex clus", + "Ġhistor ic", + "Ġ ------------------------------------------------", + "Ġcom position", + "Ġdata GridView", + "ĠB urn", + "ĠB C", + "M aster", + "Ġsp awn", + "Ġbe aring", + ".Set Active", + "il o", + "Ġg allery", + "Ġfound ed", + "Ġav ailability", + ".s qrt", + "Ġp es", + "ĠD OM", + "m ate", + "O ct", + "Ġmatch ed", + "it ivity", + "Ġan xiety", + ".pr ice", + "ĠIn stant", + "ì Ĭ", + "Ġt ut", + "IC ollection", + ".sh ared", + "_s ql", + "t bl", + "lib rary", + "_de stroy", + "erm al", + "ĠNot es", + "ĠE in", + "Ġsou thern", + "ĠOTHER WISE", + "Ġmac ro", + ".l ower", + "cl s", + "Content View", + ".l ink", + "const ant", + "ĠB es", + "Ġsome body", + "n b", + "\"> {", + "( local", + ".. ...", + "ĠN ull", + "m x", + "Ġà §", + "Ġp ause", + "-------- ---", + "_M O", + "ĠC M", + "Ġfor Key", + "ĠD VD", + "Ġclose st", + "_DE VICE", + "ĠSte phen", + "ĠB BC", + "ĠTr avel", + "P aint", + "ĠResult s", + "ĠR ule", + "Ġt p", + "Ġrat ings", + "c in", + "c sv", + "> /", + "ĠG OP", + "l ad", + "Ġ ÑĢ", + "Ġindex Path", + "m atrix", + "= f", + "ars ed", + "Ġ} );", + "ĠC os", + "ĠS core", + "Ġt ak", + "ĠE SP", + "ĠIN C", + "_N ULL", + "-f lex", + "\"] [", + "int o", + "el and", + "Author ization", + "_F ALSE", + "Ġg ate", + "Ġv id", + "ist ent", + "T IME", + "Ġre write", + "Ġt ie", + "Ġarch ive", + ".event s", + ".get Parameter", + "ĠPer mission", + "Ġprogram me", + "Ġ é", + "j ud", + "Ġcam eras", + "(s ys", + "ĠSy rian", + "Ġimpro vements", + "Ġh ip", + "Ġsu icide", + "Ġsch olar", + "Ġcompat ible", + "rem ote", + ".d own", + "F UNCTION", + "Ġman aging", + "ĠUI Kit", + ". raw", + ">> >>", + "Ġdem ands", + "ell ite", + "Ġd ent", + "ĠM icro", + "åı ĸ", + "'] [$", + "ĠI E", + "im ension", + "Ġt rem", + "Ġg ained", + ".w ith", + ". ok", + "h ou", + "Ġb om", + "amp aign", + "Ġjoin ing", + "f ish", + "Ġadd Subview", + "Ġnor thern", + ".c or", + "ore t", + "D ie", + "in ish", + "_com p", + "Ġatt ended", + "Ġcoll apse", + "ĠS S", + "ac ent", + "_E QUAL", + "ĠDe ep", + "R GB", + "ĉ test", + "ol ves", + "us et", + "Un ityEngine", + "w riter", + "Res olver", + ", %", + "if ference", + "_re move", + "ond a", + "Ġfem me", + "de code", + "Br anch", + "Ġfl ush", + "Ġinnov ative", + "Test s", + "Ġ[' ./", + "Ġcover ing", + ". admin", + "ultip art", + "(l ambda", + " namespace", + "ĠS port", + "Ġ! (", + "ac les", + "Ġde pression", + "ĠK ong", + "Ġp ert", + "ĠCon n", + "ĠOther wise", + "/ home", + "s upported", + "Ġp ink", + "Ġinv ited", + "ñ os", + "_en abled", + "Ġ- Ċ", + "F W", + "en ers", + "ĠM Y", + "Ġsuggest ions", + "Can vas", + "Ġf er", + "ĠMarket ing", + "@ Test", + "unt u", + "ĠV en", + "ĠC ou", + "iv als", + "Don ald", + "lim ited", + "ĉĉĉĉĉĉ Ċ", + "Ġanal yst", + "( entry", + "Ġrepresent ative", + "_at tributes", + "Ġf ur", + ".h ide", + "res p", + "ado res", + "rid es", + "ĠJ osh", + "ro bot", + "ĠN AT", + "Ġs esso", + "Ġintegr ated", + ": true", + "part s", + "Ġst upid", + ": event", + "@end section", + "Ġp u", + ".T able", + "ĠY ii", + "` ;ĊĊ", + "Ġcl ang", + "=\" \">", + "eng an", + "_param eters", + ".int ernal", + "ĠMod ern", + "Ġmet ric", + "Ġsem i", + "={ {Ċ", + ".am azon", + "ĠB B", + "aint y", + "view port", + "Ġstart Activity", + "dis patch", + "**** *", + "Ġfl av", + "iffer ent", + "[ this", + "Ġst ake", + "Ġarg ued", + "vious ly", + ".w ork", + "ĠO ak", + "O ld", + "( async", + "not es", + "Ġfl ip", + "Ġdis ag", + "ĠT E", + "ĉ error", + "< '", + "Ġ» ĊĊ", + "Ġfilter ed", + "ĠM ach", + "Ġh ung", + "_d ump", + "_s amples", + "-dis miss", + "Ġr ay", + "Im plemented", + "D K", + "Ġj ed", + "Ġbreak s", + "Ġf its", + ". gr", + "ĠZ ero", + "or o", + "Ġequ ally", + "Ġ' [", + "Ġconcern ing", + "< meta", + "play ers", + "_P OS", + "_s im", + "J an", + "Ġyour s", + "ĉ N", + "Ġsp ir", + "Ġch ampion", + "ĠAn alysis", + "ap a", + "ĠNS Log", + "_l ines", + "ñ a", + "ĉĉ ĠĠĠĠĠĠĠ", + ".S c", + "Re p", + "etro it", + "ur able", + "M IT", + "com pat", + "own ed", + "_ind ices", + "], čĊ", + "Ġdis covery", + "ĠDie go", + "ob i", + ". Index", + "Ġtrend s", + "PL AY", + ".n o", + "Ġl ens", + "_c fg", + "Ġan no", + "ag an", + "Ġperiod s", + "ter ms", + "y z", + "Ġattack ed", + "ib ration", + "PEC IAL", + "_ grad", + "Ġaccord ance", + ".Read Line", + ".de vice", + "ri x", + ". container", + "m ay", + "erc ise", + "ĠL u", + "Ġr g", + "ĠÑģ ÑĤ", + "ĉĉĊ ĉĉĊ", + "( un", + "TERN AL", + "Ġless ons", + "Ġalleg ations", + "Ġtrans mission", + ".Re f", + "M obile", + "ĠT ournament", + "ĠN ut", + "ĠG a", + "ĠCap ital", + "def inition", + "- exp", + "c lean", + "Ġfant asy", + "Ġenh ance", + "ent ence", + "'] :Ċ", + "ack ets", + "Ġcelebr ate", + "@ \",", + "Serialize Field", + "Ġarray s", + "t b", + "ĉ st", + "[ assembly", + "( reg", + ".c ategory", + "Ġimpro ving", + "Ġsal ope", + "Byte Array", + "Or iginal", + "Ġ[ {Ċ", + "åĽ ŀ", + "ĠCl in", + "oen ix", + "ĠS amsung", + "Ġmaint ained", + "Ġag enda", + "f ail", + "Ġpres ents", + "Ġtim ing", + ".m ark", + "' ><", + "Ġprom ot", + "Ġin cl", + "_ only", + "ë¥ ¼", + "ĠAtt orney", + "- date", + "Ġlands cape", + "Ġf u", + "S Y", + ".p rop", + "ĠA rr", + "p ag", + "Parallel Group", + "': čĊ", + "Ġlog s", + "a unch", + "unc i", + "n ama", + "Table Cell", + "iss ues", + ". {", + "ec urity", + "_ex ec", + "old s", + "Ġhost s", + "Ġpro to", + "_ import", + "_s ort", + "ĠB ow", + "ĠN ormal", + "ĠF arm", + ".create ParallelGroup", + "R otation", + ". err", + "Ġp leased", + "it age", + ".W h", + "ĉĉ ĠĠĠĠ", + "M R", + "ĠM ORE", + "ĠN atural", + "_ transform", + "B ASE", + "ener al", + "ut down", + ".common s", + "W T", + "Ġa an", + ". Result", + "d og", + "Ġclick ing", + "), ĊĊ", + "# line", + "Oper ator", + "Ġc iv", + "Ġm erg", + "ob uf", + "ng then", + "Ġ[ {", + "Ġcan cell", + "tr igger", + ". :", + "W ORK", + "decl are", + "Ġdecre ase", + "ÅĽ ci", + "lo om", + ".N one", + "ĠM I", + "ĠJ ason", + "Ġhealth care", + "iam ond", + "s ylvania", + "* x", + "ĠR a", + "[ b", + "Ġprint ing", + "ph abet", + "ĠLab our", + "op per", + "Ġz ijn", + "-t arget", + "_F UNCTION", + "Ġo ct", + "ени Ñı", + "åľ ¨", + "Ġwest ern", + "Ġcomput ers", + "ĠR ET", + "Hash Map", + "[ String", + "get Value", + "_D ATE", + ".N ext", + "ĠF if", + "é l", + "ick ed", + "æ İ", + "-M M", + "Ġ{ ĊĊĊ", + "Ġcontact s", + "Ġdig its", + "Pro du", + "Ġunus ual", + "Ġrapid ly", + "t ures", + "Ġang ry", + "c ancel", + "xx xx", + "_p arser", + "id ity", + "_P REFIX", + "Ġme hr", + "Ġrare ly", + "et he", + "op es", + "Ġ% .", + "work s", + "Ġthe ta", + "Ġcontrib ution", + "ĠT ony", + "Ġsqu ad", + "аР¹", + "Ġî n", + "th ere", + "out ed", + "ĉ q", + "Ļ Ĥ", + "g ood", + "L I", + "é¡ µ", + "ĠL iving", + "iz abeth", + "Ġk t", + "ĠD allas", + "] ],Ċ", + "Ġ/ >ĊĊ", + "Ġrais ing", + "/r outer", + "_g ame", + "ĠC UR", + "z ens", + ". es", + "Ġfont Weight", + "(f unc", + "not ification", + "Ġ'../../ ../", + "Ġbl ame", + "ãĢĤ ĊĊĊĊ", + "an co", + "Id entity", + "f ollow", + "Ġart s", + "x s", + "Ġofficial ly", + "ĠSt udio", + "Ġrecommend ations", + "Ġloc ale", + "Ġam ateur", + "ĠEn able", + "Ġcap s", + ". End", + "- add", + "_g shared", + "ĠC T", + "For ce", + "Ċ ĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "Ġor ange", + "Ġl p", + "Ġanswer ed", + ".G rid", + "Ġd ual", + "Ġstrateg ic", + "Ġnob ody", + "Ġf atal", + "_ est", + "( el", + "Ġì ł", + "ĠB udd", + "A IT", + "_f actor", + "- one", + "ĠH AVE", + "\" čĊčĊ", + "Pro f", + "Ġä r", + "str ings", + "Ġdir ty", + "ĠF ace", + "ĠB egin", + "ĠB us", + "Ġw is", + "åŃ Ĺ", + "Ġspe aker", + "Ġcar rier", + "ĠO m", + "Ġhad n", + "All ow", + ":: __", + "Ġver b", + "ĠCom plete", + "ĠE asy", + "Ġb ills", + "ĠĠ ĊĊ", + "Vert ical", + "Ġpr on", + "ĠDef ine", + "Ġlook up", + "variable s", + "Ġpand as", + "um es", + "Ġinn oc", + "Ġset Up", + "ĠCh ampionship", + "art ist", + "ĠC Type", + "F oundation", + "๠Ī", + "ĠSet up", + "Ġrec ipes", + "ĠU IColor", + "ĠF ight", + "Ġauthor ized", + "_c lick", + "_s uccess", + "ang an", + "ĠMount ain", + "ĠDo ctor", + "Ġeg g", + "ĠMedic ine", + "c les", + "` .Ċ", + "[ int", + "d ashboard", + "ĠApp ro", + "-d r", + "Ġprodu ces", + "Ġrent al", + "Ġre load", + "Ġarr ival", + "sp ot", + "Ġund ert", + "Ġequ ipped", + "Ġpro ved", + "Ġcent ers", + "Ġdef ines", + "al so", + "Ġop acity", + "ĠUn fortunately", + "ĠIll inois", + "Ġн е", + "ĠTem ple", + "ĠTr ail", + "ĠK elly", + "Ġmeasure ment", + "Ġsepar ated", + "-c ircle", + "H ey", + "ĠRE AD", + "ig its", + "Ġ ib", + "ĠM OD", + "atter y", + "аР·", + "Ġv end", + "ен ÑĤ", + "ĠHttp Client", + "s afe", + "_A SS", + "ic it", + "ĠCon struct", + "ĠC lo", + "ĠS ix", + "_T OKEN", + "(b lock", + "Ġwarn ed", + "/* !", + "! Ċ", + "Ġinnov ation", + "_ \"", + "Ġ );čĊčĊ", + "Ġsp ots", + "Ġcho osing", + ".c s", + "Ġflex ible", + "U Int", + "Ġscr atch", + "- al", + "Ġf estival", + "Ġout standing", + "================================ ================", + "M ean", + "ĠO regon", + "s ymbol", + ". account", + "d ney", + "'' '", + "! \",", + "Ġpart icle", + "à ĥ", + "[ MAX", + "IV ER", + "ER ENCE", + "NS Mutable", + "ĠColum bia", + "_ ĊĊ", + ".f r", + "Ġc ogn", + "V R", + "ĠMethod s", + "ĠM ade", + "ĠB R", + "ĠEl se", + "Ġeg gs", + "Ġsw ing", + "ĠIn v", + "Ġdise ases", + "Ġf irms", + "Ġle mma", + "}` );Ċ", + "l ings", + "Ġg ym", + "umin um", + ".T rim", + "M em", + "Ġcritic ism", + "ibern ate", + "_T X", + "ion i", + "Ġguid ance", + "Ġrepeated ly", + "Ġsup plier", + "Ġpaint ing", + ".F ragment", + "ed Exception", + "Ġw iring", + "Ġcour ts", + "W EB", + "æľ ī", + "\\ .", + "ill ance", + "Ġb rows", + "ĠP attern", + "PL ICATION", + "ĠSum mer", + "Ch ain", + "Ġc ute", + "mer cial", + "Ġd il", + "ĠFrank lin", + "ĉg lobal", + "IN CLUDING", + "h istory", + "Ġl st", + "Q t", + "SD L", + "al ia", + "i ere", + "( ...", + "ĉc in", + "iff s", + "vel ope", + "ĠR oot", + "cl uster", + "User Name", + "ign e", + "< S", + "Ġf est", + "Ġindic ating", + "ke eper", + "Ġc ada", + "é g", + "cons in", + "ĠG B", + "Ġl b", + "em ony", + "-icon s", + "_d oc", + "Act or", + "e lem", + ".De lete", + "Ġin fection", + "ĠPriv acy", + "Ġgreat ly", + "ĠP os", + "ĠT reat", + "Fl ow", + "Ġattract ive", + "ĠMar c", + "s udo", + "tes y", + "- an", + "ab ama", + "ĠW ould", + "Ġsu ck", + "index Path", + "ĠE t", + "T imes", + "Ġclub s", + "_ass oc", + "Ġac quired", + "(\" :", + "Ġint ense", + ".m aps", + "Ex pected", + "T oggle", + "Ġa y", + "Ġl ifestyle", + "-c alled", + "ĠS now", + "V olume", + "Ġcann abis", + "ĠD irection", + "ĠLim ited", + "-s pecific", + "Ġd owntown", + "/ icons", + "Ġre ven", + "L eg", + "= null", + "Key board", + "') ).", + "Ġ\"\" ;čĊ", + "Ġatt itude", + ".n avigate", + "- error", + "AM PLE", + "ĠJ ay", + "v r", + "c ow", + ".com pile", + "Ġmem ories", + "_m ark", + "ĠMin nesota", + "Ġk osten", + "Ġprob ability", + "w arning", + "Ġgen etic", + "F ixture", + "ĠHash Set", + "N ombre", + "_m onth", + "Æ °", + "- start", + "xy gen", + "ĉ ft", + "i agnostics", + "ĠMat thew", + "Ġconcept s", + "Ġcon str", + ". State", + "и н", + "N ov", + "Î ±", + "ĠP anel", + "ä¸ ª", + "com pare", + "> ()Ċ", + "Ġapply ing", + "Ġprom ised", + "Ġo x", + "nc ia", + "ĠValid ation", + "ort s", + "_c ur", + "e lect", + "ey e", + "( Data", + "Ġreport er", + "ĠB uff", + "Ġs r", + "Ġ\" ;", + "ick y", + "Ġtemp or", + "S N", + "Ġres ident", + "pi res", + "ys ical", + "Ġend orse", + "ĠS ong", + "is Empty", + "le et", + "_ util", + "Ġdist ingu", + "ĠT alk", + "ĠM ot", + "( default", + ".A rg", + "gorith ms", + "_ words", + "im mer", + "_res et", + "f amily", + "W W", + "Ġsav ings", + "ĠâĢ Ŀ", + "_en able", + "side bar", + "Run ning", + "Ġal i", + "Ġtest im", + "Ġwarn ings", + "ĠCh em", + "ĠEx it", + "Ġfound er", + "pect or", + "Ġr m", + "_d ataset", + "ĠD as", + "Ġh an", + "Get ty", + "á l", + "Ġn y", + "Ġpo verty", + "Ġresult ed", + ".b y", + "ĠVis it", + "Ġobt aining", + "/ '.$", + "ĠĠĠĠĠĠĠĠĠĠĠ Ċ", + "sh all", + "_LE FT", + "UI Image", + "_ Name", + "h ave", + "ĠN ob", + "l r", + "- footer", + "Ġn aked", + "ĠG arden", + "\\F acades", + "Ġgrad uate", + "Ġfranch ise", + "pl ane", + "Ġcontrib utions", + "Ġstring With", + "Ġc rypto", + "Ġmov ements", + "ath ers", + "Ġlif etime", + "Ġcommunic ate", + "j ar", + "ĠFr agment", + "_ IF", + "ĠN avy", + "ĠF igure", + "Ġsim ulation", + "_st op", + "Ġreport ers", + "Ġvers us", + "aj a", + "ĠÎ ±", + "Ġgovern or", + "List Item", + "Ġse aled", + ".Back ground", + "ed i", + "ash ing", + "Ġl ip", + "ĠI h", + "mer ge", + "Ġn ec", + "el ocity", + "ATE G", + "Ġse eds", + "Ġflo ating", + "_F A", + "w alk", + "ĉ user", + "_de pth", + "Ġw age", + "@ app", + "N il", + "( [\"", + "( vector", + "Ġsecret ary", + "Ġj Panel", + "ve z", + "³³ ³³", + "d irection", + "ĠE P", + "Ġh unt", + "Json Property", + "ĠP ORT", + "] \",", + "аР¿", + "ĠFore ign", + "pan ic", + "Ġtri als", + "ĠA le", + "Ġr ural", + "- value", + "author ized", + "ĠScot land", + ".d rop", + "ĠM T", + "ç ±", + "row th", + "File Path", + "Ġrec all", + "if le", + "Ġc el", + "ĠSE LECT", + "k n", + "_c ase", + "Ġc rop", + "s ure", + "p ot", + "IC S", + "Ġst em", + "Ġindust ries", + "P ut", + "Ġa ber", + "road cast", + "Icon s", + ") \")Ċ", + "æĪIJ åĬŁ", + "g ui", + "Ġassum ed", + "Ġr x", + "E A", + "è §", + "EL L", + "Ġdo se", + "Ġin e", + "Ġde eper", + "l ider", + "Ġord inary", + "Ġg olf", + "_IM AGE", + "ĠN AME", + "(m odule", + "Ġat om", + "Ġbel t", + "Ġoff ices", + "b eta", + "Ġphilosoph y", + "( JSON", + "-f ield", + "Ġintrodu ce", + "Ġconven ience", + "opt im", + "> \"Ċ", + "ath y", + "Ġemploy er", + "qu ate", + "Ġed ited", + "Arg uments", + "ĠN ations", + "__ )", + "Ġno se", + "ĠS ample", + "' )ĊĊĊ", + "Ġc ake", + ".get Attribute", + "H D", + "Mod ified", + "Ġpredict ed", + "Å Ħ", + "an ie", + "S orry", + "(d oc", + "w ind", + "ie ve", + "Ġprov isions", + "AT ER", + "OT E", + "M Y", + ".A utowired", + "ĠB ath", + ". Boolean", + "Ġback end", + ".M ouse", + "ater al", + "p aper", + "Con st", + "ĠV R", + "_ entity", + "_C TRL", + "ĠProte ction", + "ĠG M", + "ĠStud y", + "Ġsou p", + "ot ime", + "' use", + "] \"", + "/ users", + "a ug", + "ĠH ong", + "_n orm", + "ãģ ¨", + "Ġse cre", + "(B uild", + "ĠCon tract", + "ol as", + "Ġsa uce", + "Ġaggress ive", + "Ġrac ial", + "char acter", + "@ @", + "Ġcomp ile", + "ĠV oid", + "_re m", + "_m emory", + "k k", + "Ġm ic", + "S ame", + "U tility", + "ĠH tml", + "ĠX ml", + "Read y", + "Ġg all", + "Ġalleged ly", + "ĉĉĉĉ ĠĠĠ", + "ĠMet al", + "ĠPerson al", + "Ġborder Radius", + "rx js", + "object s", + "Ġwant ing", + "Ġb owl", + "v endor", + "offset of", + "ĠR s", + "ĠR ating", + "Ġr ally", + "_N ODE", + "ĠM ix", + "Ġadvert is", + "Ġnarr ative", + "s al", + "Ġm c", + "SE rror", + "Ġf ingers", + "Ġaccom pany", + "Ġt ired", + "Ġstr ide", + "Ġgu i", + "el ist", + "Loc ale", + "Ġrele ases", + "ik ing", + "Ġan ger", + ")) )ĊĊ", + "alle st", + "Sum mary", + "( O", + "(f or", + "Ġbasket ball", + "Ġroad s", + "ĠInst all", + "ĠF ab", + "it map", + "Ġ) )Ċ", + "Ġinter section", + "ighb or", + "ĠB ry", + "ĠHER E", + "So ftware", + "elf are", + "ac s", + "Ġtrail er", + ".get Class", + "ch ars", + "Ġreg ulation", + "Ġref ers", + "Ġde struction", + "Ġcontin uous", + "ĠAust in", + "é ¢", + "ak an", + ".w indow", + "ĠTem plates", + "Ġabs ence", + ": n", + "Ġdis order", + "fl ash", + "Ġde let", + "bo ards", + "ĠĠ ĉ", + "RO P", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "Ġac qu", + "Ġlaws uit", + "ĠRe views", + "Ġgar age", + "t imer", + "Ġe j", + "ĠRect angle", + "Ġflow ers", + "il st", + "ĠIn stance", + "S uper", + "d et", + "dis posing", + "ĠE S", + "ĠI C", + "ver e", + "S k", + "_ch annels", + "put ed", + "/ null", + "nn en", + "ĠG allery", + "_g lobal", + "Auth entication", + "ĠR ank", + "Ġblock ed", + "Ġcal m", + "mark et", + "ĉ val", + "Ġa ug", + "per iod", + "ĠCon stant", + "Ġ?> \">Ċ", + "Ġl obby", + "p al", + "Ġs ink", + "ia h", + "Ð ¡", + "urn ame", + "Ġcon ver", + "Ġinvestig ate", + "Ch rist", + "H ub", + "ĠIN D", + "ĠP ed", + "ur as", + "ĉ url", + "ĠT ro", + "Ġpre ferences", + "Ġguarante ed", + "` ĊĊ", + "Ġport ions", + "Ġeval u", + "' > ;ĊĊ", + ".AutoScale Mode", + "Ġc ats", + "Ġreg istry", + "ul us", + "F I", + "p ayload", + "- search", + "Ġstay ing", + "ac ious", + "Dec oration", + "Re view", + "In f", + "Ke ep", + "it is", + ", String", + "Co ord", + "Ġper o", + "S ex", + "ĠAtl anta", + "uest a", + "Arg b", + "> *", + "} _", + "F ooter", + "Ġemploy ed", + "_b ound", + "v ide", + ".f unc", + "$ scope", + "Ġsp o", + "ĠAn al", + "ounc ed", + "ar ound", + "Ġrestr iction", + "Ġsh ops", + "å Ģ", + "ĠLat in", + "-c ol", + "Ġbare ly", + "ĠE uro", + "E r", + "Ġfa ire", + "_d istance", + "_un lock", + "Qu ote", + "IV ATE", + "Ġå Ī", + "Ġaim ed", + "ĠRet rie", + ". iter", + "Ġwr apped", + "Ġagre ements", + "str ument", + "( product", + "Ġstud ied", + ".set Value", + "Ġy e", + "ĠC ache", + "MB OL", + "Ġquarter back", + "Ġsy ntax", + ".getElements By", + ".v ersion", + "we bsite", + "Run ner", + "_s ingle", + "at iv", + "ĠAl tern", + "ĠBeaut iful", + "right arrow", + "Ġd iversity", + "pl ash", + "( co", + ".F ill", + "Ġtyp ing", + "Ġcl ar", + "H it", + "O O", + "ac co", + "w orth", + "Ġscript s", + "ĠMuslim s", + "ĠL L", + "erv ing", + "( boolean", + "Ġbase ball", + "ĠC AN", + "MA IL", + "de pend", + "Ġrespect ive", + "Ġconst expr", + ".* ;ĊĊ", + "'] ))Ċ", + "Ġy ard", + "Ġident ical", + "if ecycle", + "US H", + "up iter", + ". validate", + "cl i", + "IST ER", + "Ind icator", + "F ail", + "Ġdemocr acy", + ". var", + "Ġsatisf ied", + "------------ -", + "enc er", + "h or", + "Ġr ounds", + "DA O", + "o a", + "Ġfl ask", + "= c", + "[ ]Ċ", + "/d ist", + "Ġpart e", + "Ġconfirm ation", + "er on", + "aw are", + "", + "Ġdepend encies", + "ĠV ideos", + "- row", + "Ġ** /Ċ", + "Ġn ou", + "Ġh over", + "æ ŀ", + "Ġn in", + "ĠUS D", + "M ac", + "_L oad", + "Ġout comes", + "_s ocket", + "Ġqu eries", + "w m", + "Ġhit ting", + "in ux", + "M ich", + "ud ge", + "AT AB", + "Ġvulner able", + "ä ¾", + "Ġport folio", + ": YES", + "ĉm ap", + "B ound", + "Ġiter ation", + "in cess", + "Ġact ors", + "ĠQ ual", + "_c lean", + "ãĢij ãĢIJ", + "MS G", + "G reen", + "ĠOff icer", + "Ġsm oking", + "> ',", + "ĠF lo", + "++ ;", + "oly gon", + "Ġbul k", + "Ġdr ama", + "Ġexception s", + "os ed", + "Ġ+ čĊ", + "Ġleg acy", + "C V", + "Ġcontrib uted", + "ĠTer ms", + "Ġb t", + "Ġunt uk", + "Ġal ien", + "=== Ċ", + "ĉ Vector", + "Ġl s", + "On line", + ".f acebook", + "num eric", + "ock ets", + "A ut", + "b ury", + "-re dux", + "ĠRed istributions", + "GLOBAL S", + "urrenc ies", + "Ġt ons", + "âĢĻ ,", + "Ġà ª", + "(c ol", + "ĠS ymbol", + "Ġstay ed", + "ĠM L", + "Ġm unicip", + "Ġsex o", + "S en", + "n r", + "Ġg ains", + "Ġshort ly", + ".M enu", + "à ½", + "KN OWN", + "Ġoper ators", + "- V", + "ĠPat rick", + "/ add", + "_C O", + "ir ation", + "(p ost", + "Post s", + "/ _", + "Ġpl ug", + "Ġintellect ual", + "Ġmet ab", + "Ġpregn ancy", + "ĠPrem ier", + "n m", + "Ġpred iction", + "ĠMin istry", + "Th ree", + "val uate", + "ĠMin i", + "b u", + "оР·", + "< ul", + "Ġd d", + "ol ving", + "ĠC ut", + "Ġs chem", + ".tr ain", + "it ate", + "Ġr ice", + "Ġbird s", + "ãģ «", + "m iddle", + "struction s", + "Ġn erv", + "a que", + "Ġfl u", + "Ġsurv ival", + "ĠGal axy", + "ĠF ant", + ". Order", + "At trib", + "irt s", + "é c", + "M ovie", + "Ġcon ce", + "qu arters", + "Ġm ood", + ".Add Range", + "Ġres olved", + "ãĥ Ī", + "Ġburn ing", + "ĉĉĉĉ čĊ", + "ĠW E", + "Ġhost ing", + "L AB", + "Ġman agers", + "Ġstre ngthen", + "< const", + "ĠFire base", + "on ed", + "ĠJ ean", + "' \";čĊ", + "ĠS av", + ".B old", + "Ġen ables", + "ĉt mp", + "Ġman ually", + "ĠS qu", + "user id", + ".f unction", + ".c ache", + "LO PT", + ".S ervices", + "dd it", + "t im", + "< img", + "ĠTh ings", + "ĠEvery thing", + "Ġa pt", + "em and", + "Ġroll ing", + "ë ¦", + ". level", + "Ġst om", + "ĠW inter", + "Ġview ing", + "( values", + "ocom plete", + "v ia", + "up o", + "Ġabort ion", + "i ère", + "ï¼ ij", + "_B UTTON", + "_d omain", + "Ġb ra", + "ĠA st", + "in as", + "Ġstat ist", + "c od", + "L R", + "Ġdr ives", + "Ġfollow ers", + "Ġall ies", + "ĉc urrent", + "ecess ary", + "Ġdam aged", + "_ pt", + "and les", + "oun tries", + "Ġsim ult", + "e u", + "Ġcontrovers ial", + "_G ROUP", + "Ġr ib", + ". Info", + ": mm", + ".n ormal", + "_ADD RESS", + "Ġ íķ", + "add le", + "ĠD ur", + ". Element", + "W arnings", + "Ġcred its", + "Ġin hib", + "Ġem issions", + "Ġh az", + ".y outube", + "ugg ed", + "Ġbo ther", + "ĠK ansas", + "ĠF ixed", + "ĠTest s", + "ĠF IX", + "Un iform", + "Ġk ont", + ">> >", + "st ation", + "lo re", + "at ype", + "ish op", + "/ ****************************************************************", + "Com boBox", + "Ġvac ation", + "Ġiniti ative", + "Ġdefault Value", + "con cat", + "ĠK h", + "ĠW elcome", + "ized Name", + "M igration", + "Ġgrad ient", + "H ot", + "Ġhard ly", + "el o", + "ĠStud ents", + "Ġlo ose", + "at z", + ".S end", + "' /", + "Ġunivers al", + "Ġenter prise", + "Ġreg ex", + "Ġvis itor", + "ĠF ly", + "Se q", + "ภĻ", + "ĠVis ual", + "Ġlib raries", + "ato es", + "P ayment", + "Ġp ent", + "Ġgather ed", + "VRT X", + "ĠD M", + "S plit", + "Ġlet ting", + "Ð Ŀ", + "_error s", + "ep och", + "P ARAM", + "c u", + "ÑģÑĤ в", + "ol utions", + "Edit ing", + "font s", + "Ġalloc ated", + "ĠB ased", + "( Y", + "ĠJud ge", + "Ġbro thers", + "FILE S", + "ç o", + "w b", + "_P I", + "' ^", + "Ġs word", + ".s ervices", + "Ġn l", + "T im", + "ig g", + "ĠMo ore", + "Ġcrypt oc", + "åĩ º", + "_post s", + "ot ate", + "? '", + "... .ĊĊ", + "Ġk l", + "=\" $", + "Ġdec oration", + "Ạ¡", + "ĠD IRECT", + "G UI", + ") =>{Ċ", + "Ġnews letter", + "Ġprec is", + "(p oint", + "ĠEqu ipment", + "ut y", + "ĠD ave", + "Ġparticip ation", + "u arios", + "x it", + ".A s", + "ET ER", + "or ous", + "Ġsh ield", + "[] >", + "ilit ary", + ". origin", + "Ġprom otion", + "U nt", + "Ġc t", + "TR A", + "View Holder", + "Ġsig ma", + "d elta", + "are house", + "con tract", + "( Vector", + "Ġcompet e", + "/ form", + "/ components", + "Ġn r", + "ĠInd ones", + "Ġо ÑĤ", + "ĠV olume", + ".f iles", + "(res p", + "/ models", + "Ġsur f", + "stand ard", + "/ o", + "ĠXCT Assert", + "V ICES", + ".C ode", + "SE D", + "Ġact ivate", + "D elta", + "Ġlimit ation", + "ri j", + "Ġpregn ant", + ": ^(", + "Ġs our", + "p ie", + "Ġexp ense", + "ic ation", + "ĠL arge", + "Ġ ±", + "ĠB owl", + "(model s", + "/ N", + "P a", + ".re load", + "Ġwonder ing", + "Exec ution", + "ĉ ĠĠĠĠĠĠ", + "ĠG raphics", + "ĠCont in", + "_j ob", + "Ġget Name", + "ĠM agn", + "ĠD WORD", + "m ad", + "Ġn h", + "fe atures", + "} \");Ċ", + "he ets", + "(tr ain", + "z n", + "Ġrecru it", + ".con nection", + "Ġbar rel", + "Ġste am", + "_set ting", + "Ġang ular", + "ane ously", + "Ġb il", + "ĠN orm", + "(! $", + "ib t", + "% (", + "Ġpos it", + "ĠF ather", + "int endo", + "L ive", + "Ġport s", + "Ġme j", + "Ġland ing", + "pon der", + "Ġc od", + "_HE ADER", + ".M argin", + "Ġball s", + "Ġdiscuss ions", + "Ġbl end", + "H ex", + "Ġfarm ers", + "Ġmaint aining", + "ĠĠĠ čĊ", + "s yn", + "[ T", + "r us", + "uff ers", + "Ġcontrib utors", + "_s ys", + ".De bug", + "Ġconstruct ed", + "om es", + "? id", + "sl ider", + "Ġsup pliers", + "scri ber", + "p es", + "Ð ŀ", + "\": čĊ", + "\\ Controller", + ")) ĊĊĊ", + "Ġl ua", + "M ulti", + "EN S", + "S rc", + "Ġpet ition", + "Ġsl ave", + "look ing", + "V ERT", + "ĉ vector", + "S pecial", + "h h", + "an ne", + "ĠN iger", + "/ views", + "z ing", + "end ant", + "< C", + "s peed", + "Ġ{ };ĊĊ", + "Begin Init", + "Ġf open", + "@ RequestMapping", + "End Init", + "Ġp unch", + "S ender", + "é Ķ", + "get Message", + "/t ypes", + ".P I", + "(' ');Ċ", + "oc used", + "( all", + "Ġdrop down", + "). __", + "ĠV in", + ".Fore ignKey", + "can f", + "ou red", + "ĠOrgan ization", + "ĠÐ °", + "ĠC ulture", + "(cl s", + ", _", + "rg ba", + "ìĿ ĺ", + ".data GridView", + "Ġdo zen", + "ĠG es", + "_sh ared", + "n ick", + "Ġh osp", + "om eter", + "Ġclaim ing", + "ib les", + "ri k", + "æĺ ¯", + "en ario", + "Ġd engan", + "ob b", + "m ont", + "_r ank", + "('/ ',", + "Ġap olog", + "P s", + "_p ower", + "ĠG ree", + "Ġful fill", + "Ġfire base", + "Ġf are", + "ĠH im", + "Ġbe an", + "â̦ .", + "ĠS PI", + "_R X", + "Ġper ception", + "rel ative", + "comp ile", + "u um", + "ut os", + "a uc", + "ĠAs k", + "Ġindic ator", + "/ th", + ".set String", + "ĠWis consin", + ".D omain", + "Ġart ificial", + "De velop", + "ĠSar ah", + "Ġl ying", + "( search", + "ĠEmp ire", + "urr ing", + "æĹ¶ éĹ´", + "=\" ${", + "Ġget Id", + "ĠP ayment", + "trans ition", + "Ġ ].", + "ix in", + "V T", + "- select", + "Ġdemonstr ated", + "Ġlast Name", + "employ ment", + ".get Property", + "Ġf ought", + "file Name", + "ĠP ers", + "-c ard", + "a str", + "attr s", + "Ġprom inent", + "Des ign", + "anc ouver", + "ãģĹ ãģ", + "ard o", + "se cret", + "Ġr ag", + "Ġpo ison", + "-m an", + ", omitempty", + "ĉ un", + "it zer", + "ĠCas ino", + "ĠR oss", + "- foot", + "(result s", + "Pl an", + "Ġlas er", + "ê¸ °", + "_D R", + "F acebook", + "Ġbo ards", + "st a", + "] ],", + "Ġt iles", + "S IZE", + "Ġ= ~", + "Ġprem ier", + "oc ab", + "Ġenc oded", + "Ġres erve", + "ĠAfghan istan", + "ĠList Node", + "url s", + "Ġsub mission", + "Ġne u", + "Ġ# +#", + "_P OST", + "Ġmo ist", + "ell i", + "ellig ent", + ". alert", + "ó d", + "b re", + "ĠCol lect", + "Ġgraph ic", + "Ġlong itude", + "ĠPro vid", + "ĠCal culate", + "x ffff", + "c riteria", + "Ġw aters", + "ro ck", + "lo quent", + "ĠT rib", + "Ġbur st", + "Ġsuff ix", + ".Ext ensions", + "ish es", + "iv el", + "ĠLI KE", + "ĠGet ty", + ".Action Event", + ".s lf", + "ĠH AL", + "up al", + "E AR", + "ud i", + "_time out", + "U F", + "ĠSing apore", + "ĠAd vent", + "_int erval", + "cha ft", + "ĠE mer", + "Ġtele phone", + "ĠTur k", + "_ interface", + "ĠO wn", + "Ġencour aged", + "< Object", + "_T ext", + "ĠOnt ario", + "ĠApp ly", + ".f irebase", + "Ġant ib", + "P riority", + "ene z", + "D ays", + "c id", + "urre nce", + "; /", + "inn ed", + "Ñģ Ñı", + "Ġve z", + "f w", + "// $", + "att ack", + "Ġstart up", + "ain ers", + ".f ragment", + "op acity", + "( conn", + "he im", + ".n etwork", + "( stream", + "ĠN ON", + "t ol", + "ĠX box", + "ĠD S", + "Ġc ached", + "Ġprostit utas", + "ĠB alt", + "(' [", + "Ġno except", + "\" '", + "Ġs d", + ". valid", + "_ ag", + "Ġr aces", + "Ġro d", + "itud es", + "< >(", + ".Pro duct", + "Form s", + "NE W", + "P ay", + "ĉ boolean", + "_ contact", + "ĠElect ric", + "sk ip", + "Ġw ur", + "Ġch ronic", + "_d river", + "ĠS ab", + "ĠU lt", + "ĠR ad", + "ST ATUS", + "ĠLew is", + "O B", + "Ġgift s", + ".Re c", + "TR UE", + "Ġint ensity", + "Mark er", + ".com pare", + "ff ic", + "C ookie", + "ĠB aby", + "ĠBig Decimal", + "ile t", + "ĠHOLD ERS", + "ĠL ady", + "Ġl ung", + "ĠAl abama", + "Ġd ess", + "` );Ċ", + "ĠB uilder", + "_reg ion", + "Ġne utral", + "Bo th", + "Ġh p", + "Ġh orn", + "Ġseg ments", + "ĠE C", + "\"=> \"", + "( rec", + "ĠP i", + "G M", + "Ġl aptop", + "Sc alar", + "is d", + "-d ialog", + "ĠAnd erson", + "Ġmist akes", + "ĠH an", + "j es", + "est ination", + "Ġprom ises", + "b id", + "ĠSc ient", + "G IN", + "ĠPer formance", + "b age", + ". users", + "le ading", + "Ġor al", + "G raphics", + "_P TR", + "h ang", + "Ġin ev", + "process ing", + "F actor", + "ĠN A", + "$ string", + "Ġground s", + ".Save Changes", + "c lock", + "cri pcion", + "ĠNew ton", + "g c", + ".in cludes", + "Ġbl ast", + "Ġ'- '", + "Ġpued e", + ".S ession", + "Ġgre p", + "_f inal", + "ĠG ay", + "ĠG ive", + "ir i", + "-st ar", + "ĠUI Image", + "_ep och", + "ub b", + "ent h", + "Ġel ite", + "Ġcampaign s", + "ĠP orno", + "_ assign", + "Prot ocol", + "ĠBe ing", + "ĠAir port", + "Ġconvent ional", + "ĠW at", + "ĠC I", + "ET A", + "ĠAnth ony", + "Ġtable t", + "( format", + "Ġconsist ently", + "ĠI owa", + "Ġav atar", + ".c ursor", + "! [", + "Ġh anging", + "H er", + "S uch", + "';ĊĊ Ċ", + "orge ous", + "() ==", + "Ġview Model", + "Ġ ãĥ", + "Ġel s", + "ĠAg ent", + "F etch", + "ap or", + "Ġc x", + "p read", + "ĠP ier", + "oe ff", + "S n", + "ĠV irtual", + "A pr", + ".Wh ite", + "_M OD", + "ĠPoint s", + "å¤ ±", + "Ġgen es", + "Ġv endor", + "Ġmain stream", + "< src", + "ĠEl izabeth", + "Dec oder", + "- state", + "ĠG lass", + "nc y", + "adi ans", + "_m on", + "ĠRem ote", + "Ġwire less", + "ĠM i", + "å ī", + "è¡ ¨", + "st age", + "ĠT ile", + "ll ib", + "V ariant", + "== Ċ", + "Ġgold en", + "(Q String", + ".put Extra", + "ĠD om", + "ĠAn imation", + "Ġinter active", + "if act", + "éĻ ¤", + "LE T", + "Ġfrequ ent", + "Ġ< >Ċ", + "F ilename", + "Ġs ne", + "ĠFoot ball", + "Ġr ival", + "Ġdis aster", + "ion ic", + "ĠD amage", + ". Resource", + "- en", + "ĠT ypes", + "get String", + "( board", + "Ġb ol", + "pl ain", + "z ym", + "ภ²", + "Ġsc anner", + "ild er", + "_msg s", + "æ ı", + "(int ent", + "Ġde struct", + "Ġb ust", + "ĠE mploy", + "on i", + "ĠUI ViewController", + "Ġodd s", + "ear er", + "Ge ometry", + "Ġy ii", + "_EX PORT", + "ĠAtt ack", + "Ġn iet", + "Ġim pression", + "ĠG il", + "_pro b", + "ĠC F", + "ĠEx perience", + "/pl ugins", + ".M ethod", + "Ġbelie fs", + "N ative", + "_b uild", + "Ġv ig", + "Ġr anks", + "cover ed", + "s uch", + "G uard", + ".p ack", + "add er", + "iv ia", + "l ng", + "Ġв Ñĭ", + "T imestamp", + "_n ow", + "Ġp oker", + "Ġun c", + "Ġsh apes", + "-t ypes", + "_per iod", + "p k", + "Ġveter an", + "Ġson o", + "Ġappoint ed", + "over flow", + ".d river", + "_c at", + "ut t", + "pl ant", + "im b", + "ĠAc cept", + "Ġconc ert", + "ĉ node", + "ĉ z", + "? >čĊ", + "Ġb anned", + "ĉ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "Ġto xic", + "Ġdisap pe", + "È Ľ", + "Ġgr ace", + "ate ful", + "Re ply", + "ĠCru z", + "Ġsc rap", + "Ġkey words", + "s imp", + "Ġmort gage", + "Ġcy ber", + "ĠEx ecute", + "Ġlat itude", + "if u", + ".C OM", + "d bo", + "Ġsort s", + "ĠG as", + "om ial", + ".L ocal", + "Cell s", + ".Re place", + "String s", + ".f it", + "ĠTh ird", + "% \",Ċ", + "Ġ{} \".", + "ĠS ony", + "Ġ[ :", + "Ġfall en", + ". ')Ċ", + "in h", + "ĠM C", + "Ġred is", + "C odes", + "Ġprofile s", + "h ook", + "Reduc er", + "_F UNC", + "Ġn avigate", + "str len", + "Ġh orm", + "á ŀ", + "ĠS R", + ". boot", + "Ġdig est", + "ĉ header", + ".find One", + "æ ģ", + "Db Type", + "n ia", + "_m erge", + "Ġdon ne", + "/ Getty", + "_CH AR", + "Ġb ands", + ". URL", + "art ial", + "Ġf req", + "Ġs ist", + "N g", + "Ġrender ing", + "\\ Core", + "Widget s", + "ĠV A", + "Ġactiv ists", + "St e", + "= _", + "all a", + "St amp", + "Ġload s", + "Ġx x", + "ĠL earning", + ".M vc", + "u ir", + "(\" $", + "Ġconnect ing", + "Read Only", + "ur u", + "ĠE ag", + "B IT", + "_DE L", + "å §", + "arr ass", + "ext ernal", + "ĠY OUR", + "ĠB rew", + "ĠF ive", + "Ġres ize", + "ig id", + "er ation", + "ĠÑ į", + "åĬ ł", + "ĠC atch", + "Ù ģ", + "ĠLe on", + "am il", + ".B ody", + "Cl ip", + "/ list", + ".b r", + "Edit Text", + "ĉ db", + ".G ame", + "(Build Context", + "back end", + ".R ed", + "face book", + ".url s", + "m r", + "rol led", + "---- ---", + "Ġinter vention", + "Ġretire ment", + "ĠK it", + "ĠP RE", + "Upper Case", + "ĠS ocket", + "Ġ: -", + "Ġstudy ing", + "ĠMet ro", + "ard ed", + "Ġconvers ations", + "C alled", + "Ġexam ine", + "ert ificate", + ".g z", + "-res ponsive", + "Ġref und", + "_n etwork", + "allow ed", + "em pt", + "Ġme als", + "C ategories", + "Ġtravel ing", + "Ġk g", + "Ġsh ame", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "Ġexplicit ly", + "Ġmath ematic", + "ĠS uite", + "ĠR GB", + "****** /", + "Ġmix ture", + "lear ning", + ".t emplate", + "att s", + "w x", + "ĉ ctx", + ".p roperties", + "Ġdrink s", + "ĠE ither", + "set Text", + ".get Data", + ".z ip", + "Ġreve als", + "< table", + ".Hash Map", + "ĠH ur", + ") \");Ċ", + ".f ramework", + "ĠST ART", + "feed back", + "Ġsaf ely", + ". icon", + "config ure", + ". lock", + ".l ayers", + "/> .Ċ", + "Ġrank ed", + "_ impl", + "ĠHand les", + "Ġhost ed", + "Ġup dating", + "al bum", + "é Ŀ", + "Ġsh ader", + "Edit ors", + "- round", + "[] {", + "Ġse p", + "ĠH i", + "TE M", + "look up", + ".m an", + "_IN PUT", + "Ġthreat ened", + "_IM PORT", + "Ġd rops", + "ru it", + "s id", + "bo th", + "ĠEx cel", + "Ġj er", + "ord inary", + "еР¹", + "V IEW", + "re ply", + "Ġ) :Ċ", + "color s", + "ver ified", + "_T r", + "_p arse", + "Ġcon gress", + "P romise", + "int s", + "ĠM other", + ".A pi", + "ĠD uration", + "Ġfirst Name", + "inherit doc", + "ĠM ars", + "Ġa pr", + "OD Y", + "Ġvis its", + "Ġhe aling", + "let ters", + ")) );čĊ", + "f uture", + ".F ramework", + "Ġk iss", + "Ġinv olve", + "Ġsil ent", + "ad ows", + "Ġany body", + "s ch", + "Ġsole ly", + "- img", + "Ġprop ri", + "Ġin struct", + "Ġlic enses", + "Ġm eth", + "Ġcond em", + "ĠD omain", + "ĠHarr is", + "Ġs Ã¥", + "CE PT", + "B atch", + "@ extends", + "ĠCONTR IBUT", + ".Data Frame", + "_p acket", + "rec ision", + "Ġfoc using", + ". ht", + "__ \":Ċ", + ": Get", + "ĠK C", + "Ġpass age", + "Seg ment", + "_c enter", + "-z A", + "_B L", + "Ġconv in", + "Ġclass ified", + "ĠNS Mutable", + "_ ap", + "t ile", + "Rect angle", + "(n ums", + "v ens", + "ĠUI Button", + "ĠF eder", + "am o", + "Ġout line", + "ĠPar ser", + "Ġâ ī", + "ĠWork s", + ".S chema", + "Ġeng ines", + "_com mon", + "_ old", + "Ġset ContentView", + "Ġ/// <", + "ĠB T", + "f m", + "Ġd ivers", + "_ weights", + "em ark", + "ĠA CT", + "Ġpro portion", + "over lay", + ".dir name", + "ĠG it", + "_REF ERENCE", + "< >", + "l b", + "_r ule", + "è´ ¥", + "ĠPut in", + "Ġsleep ing", + "() :čĊ", + "Ġpres erve", + "Ġpar liament", + "ĠLook ing", + "Ġpick ing", + "ĠDis patch", + "Ġsl ip", + "ë ĵ", + "ĠL yn", + "_sign al", + "config uration", + "ĠP itt", + "ad en", + "pro cedure", + "Ġenthus i", + "f ight", + "ĠCons ider", + "Ġt orn", + "Conn ected", + ".c os", + "_group s", + "ĠTh ink", + "Ġdel iber", + "Ġres id", + "work ing", + ".column s", + "ĠCal led", + "Ġes lint", + "> \",", + "_D OWN", + "h ist", + "ĠAdv anced", + "Ġre wards", + "act ors", + "Ġsil ence", + "Ġmy th", + "Ġne ur", + "Ġa uction", + ".Get String", + "ek s", + "( project", + "ĉ msg", + "ĉ output", + "Ġcomplaint s", + ", S", + "Ġt bl", + "Ġ, ĊĊ", + "ri ors", + "ah ren", + "Ġlawy ers", + "re dux", + "_s ymbol", + "off ee", + "_RES ULT", + "( Name", + "UT C", + ".current Time", + "Ġorgan is", + ". arg", + "Ġmin im", + "w ick", + "Ġrece ives", + "B alance", + "Ġspeak s", + "ĠD ays", + "ĠBel ow", + "t ipo", + "P resent", + "Ġres erv", + "h p", + "Ġr it", + "_R IGHT", + "-- )", + "Ġchair man", + "D IS", + "ĠBO OST", + "Ġexper iments", + "__ );Ċ", + "Ġst amp", + "Ġf ert", + "Ġf ond", + "T er", + "el ve", + "ure n", + "+ i", + "end ency", + "Ġvirt ually", + "... \"", + "ï½ ŀ", + "- cent", + "_un ique", + "Ġpr icing", + "m ic", + "RES H", + "Ġ:: :", + "Ġan notation", + "ĠC ircle", + "ong odb", + "it as", + "Ġ% (", + "( component", + "Ġо б", + "( port", + "-h our", + ". obj", + "L BL", + "Ġj ury", + "GB T", + "Ġsp y", + "ĠProf essional", + "Ġ\"\" ;ĊĊ", + "Ġstri king", + "Ġdiscrim ination", + "Ġp ays", + "lic t", + "ent es", + "Ġthrow ing", + "ĠPl ugin", + "( def", + "ĠRuntime Exception", + "ĠM igration", + "Ġd ic", + "b ag", + "on ia", + "Ġcor ruption", + "( Map", + "Ġpr z", + ".d to", + "Ġac quire", + "State ToProps", + "Ġlo ving", + "оР¶", + "_p attern", + "Ġemot ions", + "Ġpublish er", + "_b e", + "Ġcoup les", + "o j", + "ĠCh art", + "Ġt rop", + ".t ool", + "Ġestablish ment", + "Ġd ol", + "Ġto wer", + "Ġl ane", + "ĠSy dney", + "Ġfill ing", + "claim ed", + "Ġdialog ue", + "Ġcon vention", + "book ing", + "pare ncy", + "æ ±", + "ĠGener ic", + "\\ Schema", + "Ġr anges", + "/ ch", + "Ġpan els", + "Ġr uled", + "çĶ Ł", + ".t s", + "_s ets", + "Ġclean up", + "Pre vious", + "ĠAn imal", + "($ (", + "ĠA ve", + "oll ar", + "_e val", + "ĉ Name", + "(t ree", + "Ġ\" ]", + "Ġdut ies", + "=' /", + "Click ed", + "Ġdifferent ly", + "ĠCl ark", + "Ġd it", + "olog ists", + "Ġsy nd", + "Ġs ends", + "- known", + "k b", + "ĠMod al", + "it ative", + "Ġr acing", + "Ġhigh lights", + "ĠSim on", + "ĠCapt ain", + "ä¿ ¡", + "ĠC B", + "cont in", + "ar an", + "Ġphys ics", + "ret ty", + "et al", + ".m d", + "ax ios", + "Ġspeak ers", + "Ġpre p", + "Ġaward ed", + "ì§ Ģ", + "ĠC orn", + "ĠN ature", + "UD IO", + "Ġpro j", + "- pre", + "[ u", + "Fe atures", + "Ġis Equal", + "B inary", + "s ig", + "Ġconf usion", + "ĠH at", + "Ġkt ó", + ".config ure", + "M ON", + "/ edit", + "_A dd", + ", true", + "Ġc li", + "Error Message", + "- loader", + "Dim ensions", + "ultip ly", + "Ġ{ !!", + "ĠSql Command", + "Ġsp oken", + "Ġp ics", + "Ġto y", + "( Key", + "ĠLo op", + "Ø ¨", + "E ATURE", + "in ction", + "_set up", + "w rapper", + "Ġt ong", + "c ular", + "O pt", + ".P l", + "=\" ,", + "(l ength", + "um n", + "Ġch rom", + "Ġse vent", + "ĠIllegal ArgumentException", + "ĉ start", + "Ġbeg un", + "CE PTION", + "dat aset", + "ĠF ailed", + "col s", + "Ġkne e", + "im ore", + ".sp lice", + "sh ell", + "ig gers", + "Ġthem es", + "ĠD J", + "ĠAss istant", + "- $", + "May be", + "Ġorder ing", + "ĠInt elligence", + "ĠMass achusetts", + "Ġfail ing", + "el son", + "G reat", + "= i", + ".re st", + "Ġinv ite", + "-dis able", + ".Group Box", + "âĢĻ est", + "Ġtack le", + "g v", + "et ter", + "Ġ), čĊ", + "_r ules", + ".w arn", + "function s", + "ĠChrist ians", + "Ġback ed", + "Ġsl ider", + "Ġenjoy ing", + "n est", + "Ġh ij", + "_m s", + "// *", + "An notations", + "ĠVariable s", + "< V", + "( server", + "ĠOr acle", + "element s", + "Ġorgan isation", + "_point er", + "ĠHe aders", + "[ d", + "Ġdead line", + "iss a", + "Ġkn ife", + "ĠNAS A", + "ĠHe ight", + "ĠAs ync", + "Ġven ue", + ".d om", + "bour ne", + "ĠHaw ai", + "Ġmem o", + "ict ions", + "Ġsurve illance", + "om i", + "/ assets", + "Ġed u", + "Ä Ľ", + "Ġro ster", + "Ġh ired", + "ĠT ok", + "Ġpl acement", + "ur ations", + "Ġset State", + "ĠMag azine", + "Ġhor ror", + "T ry", + "Ġl ag", + "ĠEvery one", + "th ur", + ")) ;čĊčĊ", + ". return", + "Ġsy mp", + "âĸĪ âĸĪ", + "Ġn ights", + "work er", + "Ġa le", + "ennes see", + ".st ep", + "Ġsynchron ized", + "our i", + "Do es", + ". change", + "f on", + ".set Background", + "irc ular", + "+ -", + "ĠC IA", + "ĠJ ane", + "ĠSim ilar", + "- I", + "level and", + "Ġpros pect", + "_f ound", + "ĉc olor", + ".D iagnostics", + "Ġann ounce", + "Ġassum es", + "/ tr", + "Ġb d", + "ĠCar bon", + "Ġanal ys", + ".de st", + "n ik", + "ĠL ie", + "- index", + "Draw able", + "ĠT AG", + "Ġtri angle", + "_F LOAT", + "ĉĉ ĠĠĠĠĠ", + ".bl ack", + "v ue", + "cur acy", + "Ġaffect s", + "Ġsure ly", + "Sl ider", + "uk i", + "c ery", + "Ġun ter", + ".pro file", + "ord on", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "le ave", + "Ġsmart phone", + "g ie", + "Ġcons pir", + "Ġt utorial", + "ç± »", + "Ġc ab", + "ĠSum mary", + "* ĊĊ", + "ä h", + "\" This", + "Ġsl ides", + "\" ", + "c ycle", + "ĠB ull", + "path s", + "Ġun p", + "Ġview DidLoad", + "_M odel", + "Ġassert True", + "Ġr ated", + "De cl", + "vert ed", + "ĠD at", + "b rew", + "Ġpoint ing", + "M s", + "ĠPoint er", + ") '", + "_n on", + "ĠSE C", + "Ġy eah", + "g ency", + "initial ize", + "f ly", + "[ pos", + ", g", + "Te le", + "Ġj oke", + "Ġcl ause", + ".find ById", + "en es", + "( instance", + " £", + "Ġs lic", + "_h ome", + "Ġ*/ }Ċ", + "_p ages", + "(s ervice", + "R P", + "ĠAm ong", + ".get Current", + "ãĤ ¹", + "Ġs lee", + "= [Ċ", + "ol er", + "Ġlib ert", + "Ġ` Ċ", + "Ġw enn", + "l ated", + "Ġimm une", + "( Node", + "ĠPro blem", + "ĠA bs", + "log s", + "Ġ ../", + "ĠA DC", + "Ġ}} \">Ċ", + "> ');Ċ", + "= b", + "ĠW ind", + "lah oma", + "Ġalloc ate", + "or ian", + "Ġpres cription", + "- quality", + "ĠMay or", + "in ely", + "end foreach", + "ĠCom plex", + "k om", + "T Y", + "] ].", + ". Style", + "_m any", + "',' $", + "Ġbar rier", + "ĠF etch", + "ĠMar vel", + "Ġres ist", + "ог о", + "b idden", + "ĠRun nable", + ": false", + "Ġbuild s", + "ĠSt age", + "Ġd ub", + "emp o", + ".s ite", + ";ĊĊ ĊĊ", + "ĠDen ver", + "Ġre vel", + "Ġtrigger ed", + "Ġd ice", + "_f ail", + "Ġg c", + "ĉ X", + "ĠTh rowable", + ".r outer", + "ĠRev olution", + "ÑĢ Ð°", + "_N ON", + "Ł ¥", + "Ġel der", + "Ġab road", + "ĠÐ µ", + "ĠAd ult", + "bl r", + "g lyphicon", + "Ġprom oting", + "Ġ iz", + "ĠS olid", + "_lo ader", + "ear ly", + ".en abled", + "- edit", + "ĠU L", + "_ play", + "ĠInt errupt", + "Ġadvant ages", + "uc le", + "Ġmechan ical", + ".table LayoutPanel", + "ĠWork ing", + "Ġan onymous", + "R ating", + "ig ious", + "_ph one", + ".addAction Listener", + "Ġfr an", + "und en", + "Ġ*) &", + "_ bool", + "ul ative", + "Ġcon e", + "ĠM ult", + "Ġm ö", + "ĠFor ward", + "] ):Ċ", + "Ġconvin ced", + "act ed", + "ãģ ĵ", + "ĠConfig ure", + "Ġce iling", + "D er", + "Ġpass engers", + "Group s", + "Ġsoc cer", + "/ W", + "avi ors", + "sw ith", + "ĠZ one", + ". Options", + "ĠM om", + "ied er", + "Array s", + "Ġtreat ments", + "Ġprotect ing", + "f ac", + "Ġpick le", + "Button Item", + "Ġblock ing", + "str ar", + "à ²", + "ĠEx port", + "Ġth rew", + "ott a", + "ĠB ASE", + ".w s", + ".LE ADING", + "order By", + "_d elay", + "ĠP u", + ".d ll", + "ĠCh oose", + "Pol ice", + "ĠBE GIN", + "box es", + "Ġdiam ond", + ", l", + "Ġ ĉĉĉ", + "Ġcur ious", + "t v", + "Ġerot ische", + "ack ages", + "ĉ Set", + "T ick", + ".b order", + "static method", + "Ġch er", + "in voice", + "Ġcr u", + "Ġdef ect", + "_m etadata", + "re lation", + "ik an", + "[ N", + "(Q t", + "( Base", + "æģ ¯", + "be at", + "ĠEm pty", + "ĉ o", + "_sh ift", + "Ġreg ret", + "Th ose", + "C ent", + "ĠPort ug", + "ĠIs lands", + "ĠT IME", + "Man agement", + "-s p", + "ê me", + "Ġnot ion", + "un ifu", + "P K", + "è¡ Į", + "ĠCUR LOPT", + "\\\" \\", + "U V", + "ç º", + "d ra", + "c ou", + "= `", + "ĠD estroy", + "r p", + ".c ancel", + "G G", + "r untime", + "ĠV ue", + "Ġprogress ive", + "/s ervices", + "Ġrun ner", + "_FR AME", + ".ToolStrip MenuItem", + "Ġ' ,'", + "d elay", + "= utf", + "Ġscreen ing", + "Ġpull ing", + "om as", + "Ġan th", + "- new", + "/ local", + "Ġi Pad", + "Ġt witter", + "Ġd ying", + "Ġhe aven", + "ĠU Int", + "ĠSen ator", + "Ġpres um", + "ĠWalk er", + "Ġover come", + "ete ction", + "Ġemb arrass", + "Ch ina", + "In clude", + "RO LL", + "Ġdata Type", + "D avid", + "ภ£", + "lo p", + "-m onth", + "Ġsc ar", + "ĠS afe", + "Ġ ****************************************************************", + "Ġaccess ories", + "Ġr amp", + "_U SE", + "Ġcontr ad", + ")) ]Ċ", + "Ġpre st", + "ĠH R", + "ĠR ap", + "Ġus ize", + "Ġcap ability", + "Ġc ort", + "- next", + "Ġbur den", + "_read er", + "Ġ@ @", + "reg ular", + "ĠK a", + "M AN", + "Ġa str", + "Ġ' ')Ċ", + "Ġf ed", + "Ġpars ing", + "ĠY ears", + "Ġbro ker", + "\": {\"", + "Ġa kt", + "In ventory", + "abe led", + "Ġarg parse", + "****** *Ċ", + "vers ation", + "Ġc ord", + "ĠT i", + "Ġhope fully", + "Ġa h", + "ver b", + "Ġst olen", + ". Entry", + "Ġexpect ing", + "O rientation", + "Ġpower ed", + "Ġp ersist", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "'] );", + "')) ,Ċ", + "ĠC ash", + "ĉ item", + "gr ades", + "rop ol", + "b asic", + "Ġ\" );čĊ", + "Ġaw ards", + "(r ange", + "- all", + "ĠIB Outlet", + "ĠInd eed", + "---------------------------------------------------------------- ------------", + "Ġstom ach", + "Ġfl ower", + "Ġs ew", + "_t imes", + "av is", + "Q String", + "ĠR outes", + "_pro t", + "Ġcom edy", + "Ġlog out", + "Ġwood en", + "Ġpost er", + "p iece", + ".J oin", + "ĠP ok", + "cel ona", + "mut ex", + ";čĊ čĊčĊ", + "Ġstri kes", + "Load ed", + ") arg", + "es a", + "Un ited", + "E p", + "PE LL", + "ĠAtl antic", + "ul let", + "app le", + "Ġsett led", + "a con", + "Ġprint er", + "ĠG C", + "å® ļ", + "Ġrender ed", + ", âĢĻ", + "he it", + "s ocial", + ". ge", + "ĠR ick", + "ĠUt ah", + "g ot", + "on ical", + "ĠSc roll", + "ĠSc iences", + "Ġj ug", + "Ġam pl", + "ent i", + "LE FT", + "Ġt abs", + "Ġenorm ous", + ".get Key", + "loc ate", + ". EX", + ".st orage", + ".W e", + "Ġto ast", + "ĠAdd itionally", + "ĠN OW", + "_ UPDATE", + "Ġtrans ferred", + "th a", + ".D isplay", + "_ ui", + "ID EO", + "Ġmeaning ful", + "ĠMos cow", + ", this", + "ĠVict oria", + "æĶ ¹", + "ĠÐ Ł", + ".st ack", + "ĠB arn", + "pared Statement", + ": string", + "Ġb ij", + "ĠST ATE", + "Ġemploy ers", + "ĉ input", + "( |", + "Ġle x", + "in voke", + "ĉ num", + "++ ,", + "at ial", + "ors es", + "Ġfor k", + "_t xt", + "ĠAnton io", + "Ġ( <", + "aver se", + "Ġdev ast", + "ãĢ Ģ", + ".D ec", + "ĠG ard", + "/ ui", + ". %", + "tr i", + "Ġrol led", + "Value Pair", + "itt en", + "ĠTh er", + "Ġv rou", + "ĠFl ow", + "ĠFin ance", + "ĠCom b", + "H C", + ".set Visible", + "is l", + "Ġp k", + "Ġup set", + "( raw", + "ĠV ice", + "e atures", + "ĠL ang", + "Look ing", + "ĠA ST", + "Ġtri ps", + "ĠJust in", + "b rowser", + "=\" '.$", + ". vertices", + "- co", + "}/ {", + "Ġ? ,", + "ĠD omin", + "ĠBel g", + "\" <", + "Ġsup pose", + "add y", + "Ġwalk s", + "ERR U", + "_f ilters", + "Pre ferred", + "sc ene", + "е Ñģ", + "ĠAff airs", + "Ġ\"# {", + "Ġon Submit", + "Ġstock s", + "/ view", + "g ree", + "- get", + "h it", + "J o", + ".get C", + "Initial ized", + "ÑĤ и", + "c uts", + "( Type", + "ĠAg reement", + "ĠViet nam", + "Ġ/* !", + "Ġp izza", + "- view", + "_ em", + "Ġl hs", + "Ġm uy", + "ĠId ent", + "ĠF riends", + "Ġab und", + "_A D", + ".t imestamp", + "- '", + "Ġd uplicate", + "Ġhun ting", + "Ġregul atory", + "ia o", + "am ous", + "ĠEnt ertainment", + "[ A", + "iat ric", + "_CL IENT", + "ĠK ids", + "/p kg", + "B reak", + ")) );ĊĊ", + "ĠSh ape", + "Ġrel ating", + "Int errupt", + "able Opacity", + "emb re", + "Ġmyst ery", + "Ġjournal ists", + "rit able", + ".L ink", + "Ġstop ping", + "CRE T", + ".D B", + "Ġpopular ity", + "Ġg ew", + "Ġim pr", + "set Value", + "FL AG", + "ĉm ax", + "Ġb ake", + "w y", + "ĠEcon omic", + "Ġen contr", + "Ġf name", + "/ de", + "R ank", + "Ġbug s", + ".s m", + "Ġmed ian", + "D OWN", + "ĠS ure", + "At Index", + "ĠD ick", + "Ġ( __", + ".d elta", + "F r", + "Ġsuggest ing", + "ĠRec yclerView", + ", e", + "ST ART", + "/************************************************************************ ****", + "xf ord", + "Ġrece ipt", + "CL AIM", + "read only", + "Ġeng aging", + "C a", + "as ma", + "Ġens uring", + "Eng lish", + "ĠV ancouver", + "hy th", + "Ġpurch asing", + "ĠP I", + ". word", + "(s p", + ".h ome", + ": def", + "Ġg ig", + "ĠV e", + "for um", + "ĠM itch", + "B ay", + "_F L", + "Ġs oll", + "_column s", + "Ġminor ity", + "b ird", + "Ġhand ed", + "SS L", + "ST AT", + "Ġnerv ous", + "ĥ ½", + "Ġfile Path", + "CRE ATE", + "A w", + "Ġp ens", + "se ed", + "ĠCom pute", + "ol k", + "ĠAs set", + "re ach", + "'), čĊ", + "n avigation", + "L F", + "/ util", + "ĠP ub", + "Ġâ Ķ", + "c ion", + "## Ċ", + "II I", + "Tag Name", + "Ġam id", + "per mission", + "if iable", + "xFFFF FFFF", + "н и", + ".B uffer", + "_ irq", + "d ark", + "Ġret val", + ".f ire", + "produ ction", + ".list en", + "ĠWe ather", + "Ġbuy ers", + ". ne", + "er p", + "ĠP ent", + "Ġw elfare", + "Ġpage Size", + "ĠSt adium", + "ert a", + "Ġle v", + "amp a", + "P ager", + "Ġcharg ing", + "ĠNet flix", + "| null", + "_r andom", + ".x path", + "Ġst ere", + "ĠIS IS", + "pons es", + "( loc", + "ey ond", + "ĠOff icial", + "ĠMary land", + "Data Type", + "_p ar", + "{ },", + "ĠEn joy", + "_SH IFT", + "ĠA wards", + "_ENT RY", + "Ġseem ingly", + "entic ate", + "Ġheart s", + "_ ;ĊĊ", + "ĠH IV", + "Ġindiv id", + "ĠFl ag", + "_ ctrl", + "ĠC allback", + ", z", + "ĠG PU", + "ĉ obj", + "ĠPh oenix", + "ĠB US", + "Ġrub ber", + "_A UTH", + "ĠSol utions", + "( location", + "Variable s", + ".set Enabled", + "_h igh", + "W O", + "G esture", + "Ġre try", + "Ġobject ForKey", + "allow een", + "Ġm os", + "ĠC ele", + "Ġik ke", + "(c ell", + "ĠM ODE", + "ren a", + "Ġdescri bing", + "Ġph i", + "Ġr d", + "Ġdes erve", + "Ġwhe els", + "å¸ Ĥ", + "Ġcrit ics", + "N amespace", + "ĠF ra", + "Ġ ĊĊĊĊ", + "Ġall a", + "Ġrequ iring", + "æľ Ł", + "ut ation", + "Ġdelay ed", + "Ġadministr ative", + "Ġb ay", + ".h idden", + "T ex", + "Ġbound aries", + "Ġ] );ĊĊ", + "ĠFollow ing", + "~ /", + "F i", + "_con v", + "_T ITLE", + "Ġdes de", + "ICollection View", + "Ali as", + "Ġb ite", + "pat ient", + "_COMM AND", + "Com pleted", + "ĉ elif", + "( <", + "B usiness", + "ĠP ool", + "Ġpurs ue", + "ĠB an", + "_st eps", + "_DE CL", + "um ble", + "Ġcom bo", + "ĠL ayer", + ".x r", + "Ġd up", + "-------- -", + "Ġmod ifier", + "ro b", + "re z", + "Ġath letes", + "Us ed", + "w ear", + "Ġlegit imate", + "Ġ\" ĊĊ", + "Ġh v", + "St d", + "ĠH old", + "Ġsurv iv", + "ĠAll iance", + "ĠEar ly", + "Beh avior", + "(f ont", + "/lib s", + "Ġrect angle", + "Ġs inger", + "Ġam p", + "Equal To", + "Ġ\" .\"", + "Ġgirl friend", + "å ±", + "line ar", + "obs erv", + "Ġpi ù", + "Ġcomple ment", + "With Value", + "(p assword", + "t ake", + "Bl ank", + "ĠCom par", + "' \",", + "_p olicy", + "m ongoose", + "_FA ILED", + ".re port", + "R atio", + ".Perform Layout", + "us able", + "m ers", + "_re nder", + "PE ED", + "Ġles b", + "ĉ E", + "_t ool", + "Ġl adies", + "о Ñģ", + ")) ))Ċ", + ";; ;;", + ".d ot", + "Ġn est", + "pe ak", + "uk kit", + "ec a", + "_S W", + "Ġ& (", + "ĠOk lahoma", + "Ġbank ing", + "ĠN intendo", + "Ġreprodu ce", + "_element s", + "_m ac", + "pro xy", + "Ġremark able", + "}/ ${", + "Ġout s", + ".has Next", + "M ODE", + "Ġan ime", + ".con n", + "Un ique", + "D om", + "Ġimportant ly", + "itt y", + "Ġju ice", + "T w", + "ĠPart ners", + "Ġattack ing", + "Ġport able", + "am iento", + ".P ictureBox", + ".g en", + "Ġopt imal", + "Ġre cre", + "Ġjournal ist", + "ĠEx tract", + "ĠMore over", + "Ġmargin Top", + ".A p", + "Ġf iring", + "Na N", + "ĉ template", + "аР´", + ". En", + "Ġdef ence", + "ĠT el", + "il en", + "j an", + "= data", + "ĠU rl", + "ĠRe uters", + "(t otal", + "ĠFif th", + "Ġess ays", + "Ġinterpret ation", + "Ġchar ity", + "ĠR ules", + "Ġsub section", + "st yled", + "az er", + "l ags", + "L IST", + "Ġupload ed", + "Ġtr ash", + "Ġreg istr", + "Ġsell er", + ">' ;čĊ", + "Ġstart Time", + "ç Ļ", + "s y", + "(Http ServletRequest", + "Ġtr ap", + "G C", + "Ġembed ded", + "Ġsurround ed", + "im its", + "T X", + "yl inder", + "ĠF al", + "Ġsent ences", + "ĠJ a", + "IF ICATION", + "we apon", + "ov ation", + "Ġco at", + "Ġinter pol", + "Ġl ips", + "ĠK y", + "Ġv ectors", + "_ am", + "Ġint ake", + ".w orld", + "Ġin box", + "ĠM AC", + "_ ab", + "(name of", + "Ġent ert", + "Ġgather ing", + "ĠS IM", + "++ .", + "ny a", + "' }}", + "ĠUP DATE", + "Ġp ac", + "( html", + "ĠS ant", + "i ating", + "ĠIde as", + "Ġspr ay", + "ĠH art", + "Ġver ification", + "ades h", + "/ modules", + "ĠM ind", + "ĠSized Box", + "Ġsh elter", + "Ġher oes", + "att y", + "Ġcert ified", + "s j", + "Ġê tre", + "ÅĤ o", + "Ġpublish ing", + "ĠMal ays", + ".get User", + "ĠPro vider", + "ĠLinked List", + "ĠB or", + "RO UND", + "d id", + "t ain", + "p ire", + "ĠJ enn", + "t el", + "and e", + "_f ront", + "ĠMc G", + "Test Method", + "ภŃ", + "Ġoccasion ally", + "ĠW ales", + "Ġexerc ises", + "ĠÐ Ĵ", + "- plus", + "Ġvalid ator", + "Ġpr ayer", + "L ATED", + "_ author", + "Ġlab our", + "++ Ċ", + "-e quiv", + "ĠG PL", + "Ġface book", + "s imple", + "g ly", + "Process or", + "ip y", + "Ġ* >", + "Ġcle ared", + "ĠP ush", + "Ġpen is", + "Struct ure", + "li j", + "ĠM organ", + "Ġhand ful", + "\" .Ċ", + "| \\", + "Ġ ********************************", + "ĠA qu", + "_ IC", + ".load s", + "Ġm eter", + "ĠMar ine", + ":: {", + "ĠT S", + "ĠArray s", + ".T itle", + "GR AM", + "ter min", + "Ġco inc", + "El se", + "_st ates", + "-r un", + "m embers", + "ast ro", + "Ġon Press", + "Ġbe ings", + "Ġabandon ed", + "Ġtax p", + "own ers", + ".m ode", + "Ġdiagn osis", + "Ġ_ Ċ", + "ĠK night", + "ĉ A", + "Ġob serve", + "), '", + "! \")Ċ", + "ĠPar a", + "Ġvari ation", + "( False", + "ĠAnt i", + "Ġg ri", + "Ġhome less", + "? v", + "Ġbe z", + ".S erver", + "re lease", + "ĠP atri", + "Ġchar s", + "Ġrank ing", + "activ ation", + "Ġw ides", + "q r", + ".S ql", + "ac ular", + "ĠB ot", + "_s ync", + "Ġhapp iness", + "Ġvolunte ers", + "Ġs its", + "/ <", + "[ e", + "(file Name", + "Ġcap ac", + "ĠMar ia", + "f ather", + "Ġgr am", + "* i", + "Ġcas o", + "_d raw", + "ĠR aw", + "ĠIter ator", + "ĠP adding", + "P D", + "BO X", + "ĠS PECIAL", + "Ġfe cha", + "Ġv ide", + "ĠLe ader", + "ä» ¥", + "$ (\".", + "Ġdiam eter", + "Ġm ild", + "Ġrock s", + "app ings", + "d irectory", + ".fl ush", + "ĠJ ess", + "UN IT", + "ĠP ear", + "Ġmand atory", + "S ur", + "q t", + "Ġstream s", + "Ġco operation", + "ĠS ac", + "Ġche aper", + "ĉ ch", + "an imation", + "f are", + "( height", + "( True", + "N Y", + "Ġw rest", + "Ġpoll s", + "Ġencounter ed", + "ĠMarket able", + "_P ASSWORD", + "_SE LECT", + "ĠArab ia", + "_c lock", + "Ġv oy", + "Ġи з", + "Ġst ir", + "is ible", + "-e ffect", + ".c reated", + "Ġto ys", + "ĠTrad able", + "Ġr ust", + "Ġstr cpy", + "_t imestamp", + "Ġtalent ed", + ", null", + "ĠJ obs", + "ĠPort land", + "Ġweak ness", + "Th row", + "ĠAng el", + "ä¿ ®", + "Ġun cert", + "ï¼ī Ċ", + "ĠìĿ ´", + "Wh ich", + "Ġ[- ]:", + "S omething", + "Ġconv icted", + "k le", + "ed ium", + "Ġbranch es", + "Ġb ases", + "ç ®", + "Ġcomplex ity", + "ĠF ig", + ". reshape", + "$ db", + "_CON ST", + "ĠT es", + ".r untime", + "Ġden y", + "ĠB SD", + "Ġk r", + "h att", + "ĠSt atic", + "Ġunivers ities", + "Re place", + "Ġdro ve", + "Ġad oles", + "_pl ugin", + "ĠL GBT", + "Ġt ex", + "du ction", + "ED I", + "ĠT ed", + "_ URI", + "Ġre ception", + "art en", + ".S ingle", + "r ice", + "sc ious", + "_b g", + "Ġw ages", + "ĠS ervlet", + "UIL ayout", + "Ġform atted", + ".M od", + "< class", + "is en", + "Ġrepresent atives", + "\"] =", + "Ġport al", + "ĠHun ter", + "Ġh iring", + "__ )Ċ", + "ric ulum", + "u o", + "li est", + "Ġt ears", + "L at", + "Ġliter al", + ".In sert", + "Ġc urs", + "ĠCom put", + "Ġterror ism", + "Ġswe ep", + "Ġ[] čĊ", + "Ġpass enger", + "Ġeast ern", + "Ġtwe ets", + "Ġoper ated", + "w nd", + "ĠS yn", + ".t ools", + "ĠW M", + "ul ates", + "Ġbacter ia", + "( bytes", + ".set Data", + "Ġvis ibility", + "// ================================================================", + "el m", + "Ġgener ating", + "Ġm v", + "Ġk h", + "j en", + "/ search", + "Ġaccount ing", + "se gment", + "act ic", + ". ip", + "Ġdeploy ment", + "Ġfoot er", + "> ',Ċ", + "Ġexpand ing", + "ĠHam ilton", + "ĠCon trib", + ".T ables", + "Act iv", + "H H", + "ocom merce", + "_ ;", + "Ġamong st", + "ow ing", + "ĠC old", + "AP H", + "Ġpsych ological", + "_t ensor", + "Ġpack aging", + "ĠSw eden", + "Ġp are", + "Ġag gregate", + "Ġmoder ate", + "_h and", + "Ġdesign ated", + "Ġdr um", + "Ġget User", + "ĠC reek", + "_s cope", + "ĠTrans fer", + "ĠM arg", + "Ġfight ers", + "W nd", + "ĠS el", + "ĠLa unch", + "Ġemerg ing", + "if rame", + "ĠAdd itional", + "Ġf ears", + "Ġsat ellite", + "_ :", + "Ġdis posing", + "Get Value", + "Http Post", + "AT IVE", + "ul ary", + "View s", + "Ġatt ending", + "ĠT ennessee", + "ĠM ission", + "Ġmedic ation", + "ĠW y", + "ĠAn na", + "Ø ¹", + "ĠVert ex", + ".t ypes", + "O rgan", + ".DataGridView TextBoxColumn", + "ĠR S", + "Ġtemp o", + "( App", + "Version UID", + ".p oint", + "ĠD utch", + "H ours", + "L U", + "Ġqu oted", + ".b uilder", + "ĠPer fect", + "ĠAl ways", + "_t wo", + "Ġexclus ively", + "ĠC ra", + "ific ar", + "ĠA WS", + "ing ham", + "com plex", + "k ernel", + "Ġgr avity", + "Ġw i", + "Ġover view", + "ĠW ant", + "ĠW P", + "( sh", + ". rotation", + "St ates", + "ĠTe en", + "_com ponents", + "ì Īĺ", + "Re ceived", + "Ġly rics", + "rit es", + "ĉĉĉĉĉ Ġ", + "-A merican", + "[ num", + "/ python", + "ĠU ART", + "Ġapp le", + "ĠJon athan", + "Ġmoment um", + "ภ±", + "Ĥ ¹", + "Ġm ich", + "and ra", + "Ġbi ological", + "ĠM ens", + "Ġ% %", + "else a", + "ĠMex ican", + ".rand int", + "Ġt ale", + "ĠValid ate", + "Ġdefe ated", + ".ht m", + "Ġcop per", + "= /", + "cos ystem", + "Ġr ip", + "dec imal", + ".V ISIBLE", + "ĠT a", + "ĉĉĉĉĉĉĉĉ ĉĉĉĉĉĉ", + "Ġdownload ed", + "en vironment", + "Ġnom ine", + "build ing", + "ĠSp ot", + "ipher al", + "Ġal to", + "qu et", + "ĠF T", + "/ get", + "/m aster", + "W IN", + "åħ ĥ", + "W est", + "arg c", + "Ġprodu cers", + "ĠM uch", + "_st orage", + "cred it", + "CON T", + "Ġv et", + "Ġvo ices", + "(' ',", + "Ġinstr uments", + "ĠM SG", + "es se", + "re pository", + "om ics", + "Ġdeal er", + "St ill", + "Ġb anner", + "asc ii", + "Ġrem arks", + "[ js", + "Ġshort er", + "g ulp", + "Ġmyst er", + "Ġk un", + "ĠB ird", + "Ġti ene", + "n ut", + "ĠU m", + "Ġw ise", + "Y eah", + "INE SS", + "_b egin", + "- heading", + "C ourse", + "Ġ čĊčĊ", + "omb ie", + "grad ed", + "ĠG PS", + "Ġ że", + "F it", + "c aption", + "ö n", + "/ image", + "l ia", + "(m od", + "Ġle ak", + "en za", + "/ H", + "ĠH appy", + "D ist", + "n x", + "ĠGovern or", + "(l ast", + "te acher", + "ĠS ent", + "s upport", + "ject ory", + "Ġ Ùħ", + "Reg istration", + "ĠGr ay", + ", false", + "Ġadjust ed", + "( settings", + "< R", + "ĠM age", + "Ġpl aint", + "_ )Ċ", + "ĉ it", + "omet ric", + ". bootstrap", + "Ġcar ries", + "I p", + "Ġ! $", + "Ġswim ming", + "ĠMar io", + "ĠQuest ions", + "P ACE", + "æĸ ¹", + "e or", + "}} \"", + "Ġo ven", + "ĠK on", + "Ġwis dom", + "Ġac quisition", + "ess ment", + "ag ine", + "Ġexpress ions", + "Sequential Group", + "F ront", + "ul pt", + "aw k", + "'] )ĊĊ", + "_ AR", + "Ġanal og", + "ul in", + "_PR INT", + "ĠL G", + "Ġb lob", + "ĠFurther more", + "_com ponent", + "ĠC ole", + "L AN", + "SCRI PTION", + "Ġl ap", + "icens ing", + "_TIME OUT", + "ĠF ro", + "Ġli ability", + "Ġcom posed", + ".create SequentialGroup", + "_p erson", + "Ġbe am", + "ĉ ĠĠĠĠĠĠĠĠ", + "ĠNot Found", + ". 'Ċ", + "ÃŃ s", + ".Text View", + "P DF", + "Ġk ar", + "__ ('", + "Ġ\" :\"", + "_m essages", + "Ġhar vest", + ".h istory", + "> 'Ċ", + "-f old", + "æ Ĭ", + "ĠBet ter", + "Ġ\"\\ <", + "sp acing", + "Ġfurn ished", + "os er", + "] }Ċ", + "Ġ$ \"", + "p ull", + ".P ost", + "( ip", + "Ĺ ı", + ".f ront", + "nt e", + "ĠF M", + "g uid", + "Ġnegot iations", + "agon al", + "Ġtrem end", + "unge on", + "Ad v", + "car ousel", + "ÃŁ e", + "_DE SC", + "Ġham mer", + "ẠŃ", + "ĠĠĠĠĠĠĠĠ ĊĊ", + "-c ore", + "-s ervice", + "Ġcorn ers", + "ĠS F", + "p red", + "> A", + "ĠJ Label", + "Ġrom antic", + "Ġtestim ony", + "os c", + "ĠGener ation", + "as ures", + "_int ernal", + "Ġprint s", + "Ġ] )Ċ", + "ĠC leveland", + "re po", + "D isc", + "Ġ\" >Ċ", + "�� ��", + "Ġne arest", + "_t b", + "( require", + "EO F", + "- child", + "Ġbu dd", + ".Xtra Editors", + "alt ies", + "\\\": \\\"", + "W ords", + "Ġloc ally", + "Ġpurch ases", + "Draw er", + "ex tract", + "Ġexec ut", + "} '.", + "user data", + "Ġfocus es", + "-min ute", + "ĠP ublish", + "og o", + "Ġmount ains", + "B ot", + "} >{", + "Ġt ension", + "ro d", + "m esh", + "Ġtransform ed", + ", R", + "() }Ċ", + ".l ong", + "Ġg orgeous", + "ĠS chedule", + "Ġol dest", + "Ġsub process", + "( IN", + "y ect", + "ĠCo oper", + "arn ess", + "ĠMon itor", + ".p art", + "ĠN BC", + "Ġc otton", + "Ġh ol", + "Ġrg ba", + "ĠB io", + "Cont inue", + "P od", + "Ġparticip ating", + "clus ions", + "(By Val", + "à ¬", + "ĠH OW", + "_set opt", + "Ġaccompany ing", + "at on", + "Ġ/ \\", + "ĠAuth entication", + "i én", + "ĠBar ack", + "/* .", + "Ġe ager", + "ĠC ancel", + "< lemma", + "ep h", + "ĉ window", + "Ġinc idents", + "), (", + ".D es", + "ib e", + "ĠFunction s", + "Ġhosp itals", + "Ġo xygen", + "root Scope", + "Ġd rew", + "ĉ request", + "not ice", + "ak u", + "am ents", + "f ar", + "Ġprec ise", + "_w rapper", + "Ġlisten ers", + "A Z", + ".b ounds", + "ĠA verage", + "field set", + "_ axis", + "Ġexam ination", + "' .Ċ", + "mon s", + "++) {čĊ", + "ĠForm s", + "íķ ľ", + "Cpp Method", + "_tr ace", + "Ġengine er", + "ĠFl at", + "Ġrev ision", + "Ġhe ating", + "/ profile", + ".r u", + "p riority", + "Ġin fer", + "_ST REAM", + "Ġ* )(", + "> $", + "OLE AN", + "OK IE", + "IB ILITY", + "U AGE", + "ĠSur vey", + "Ġres ign", + "w ing", + "Ġsecre ts", + "Ġch ips", + "JSON Object", + "Des ktop", + "_SY MBOL", + "(res ource", + "ĠĊ", + "Ġnew est", + "ul i", + "Ġdes ert", + "Ġd ip", + "ĠP ow", + "Ġequ ation", + "Ġposs ibilities", + "ĠF ed", + "os ph", + "Ġ[ %", + "Ġb ubble", + "ether lands", + "Ġc ement", + ". auto", + "_ AN", + "âĢĻ .", + "se lection", + "ĠB ond", + "D en", + "- O", + ".get Type", + ".W indow", + "p res", + "Ġsw inger", + "\" })Ċ", + "Ġp ip", + "Ġm ice", + "Ġcomp ound", + "- plugin", + "ik o", + "Ġcent uries", + "ic ular", + "-in line", + "ĉ key", + "> \\<", + "EN SION", + "Ġ[ čĊ", + "Ġprecis ely", + "Ġét é", + "ĠP ast", + "ĠCam bridge", + "-f ull", + "Ġanaly ze", + "ĠSte ven", + "Ġn em", + "d ue", + "ore n", + "Ġmus cles", + "ij ing", + "/ -", + "ĠKenn edy", + "R M", + "oss ible", + "Ġact ress", + "Ġd olor", + "å½ ķ", + "Ne ed", + ".t oggle", + "ĠR ace", + "w ers", + ".m aterial", + "ĠD ue", + "ĠP el", + "# print", + "Ġindepend ence", + "ex us", + "Sh adow", + "Ġenc oder", + "( level", + "ĠSw ift", + ".d oc", + "_se lection", + "Ġserial VersionUID", + "Label s", + "Ġperform ances", + ".T ag", + "ĠN HL", + "iz en", + "/ UIKit", + "_CONT ROL", + "Ġearn ings", + "ĠAl t", + "_H ANDLE", + "C tx", + "Ġpers u", + "Ġtr an", + "ç ¨", + "_CH ANNEL", + "Ġsatisf action", + "ĠG P", + "io x", + "m itt", + "land o", + "Ġp ig", + "inal s", + "ê ncia", + "S urface", + "ĠU UID", + "Ġbenef icial", + "Ġsequ ences", + "ĉmem set", + "Ġmag ical", + " «", + "Ġw orn", + "AS C", + "pop up", + "COM P", + "_b efore", + "en ess", + "U i", + "L es", + ".re quire", + ".Serial izable", + "add Gap", + "Ġauthor ization", + ".py plot", + "urr ay", + "lat itude", + "fr ames", + "aj s", + "Ġcomp ass", + "Ġobserv ations", + "_s up", + ".en viron", + "Ġtri ple", + "ĠRub y", + "Ġdr ain", + "_F ILTER", + "S an", + "UM P", + "Null Exception", + "ĠG ab", + "ow e", + "ĠTurk ish", + "_se quence", + "ĠGr ant", + "uel a", + "Ġw o", + "Ġc ube", + "i q", + "Ġdis orders", + "Ġextra ordinary", + "Ġc trl", + "ĠSe q", + "ent r", + "Ġsan ctions", + "uts ch", + "Re ports", + "Ġin herit", + "Per iod", + "Ġphot ography", + "ĠF ramework", + "Ġspecial ist", + "Ġ? ĊĊ", + "_ selected", + ".P layer", + "Ġal location", + "( account", + "Ġstruct ural", + "v able", + "- offset", + ".App CompatActivity", + "аР¼", + ".Add WithValue", + "Ġicon s", + "Ġshut down", + "_l ow", + "ĠCom pare", + "ĠC e", + "= head", + "l am", + ".p redict", + "_DE C", + "ĠS leep", + "ĠGr atis", + "Ġsuggest ion", + "ĠD EL", + "ca ff", + "av irus", + "No thing", + "ŀ ĭ", + "Ġwides pread", + "Ġmechan isms", + "Ġtext Align", + "occ up", + "ĠR ail", + ": NS", + "Ġf iber", + "Ġm k", + "Ġv intage", + "-l ong", + ".re duce", + ". Entities", + "( record", + "Ġple asant", + "FR ING", + ".C ells", + "OT T", + "ĉelse if", + "_con firm", + "ĠView Group", + "s ym", + "Ġpr ay", + "Ġsus pected", + "Cont ains", + "Ġb orders", + "Ġcomponent Did", + "ASS ERT", + "Ġinf inite", + "- order", + "Ġh ello", + "ĠGr ade", + ".currentTime Millis", + "apol is", + "z h", + "ĉ Object", + ": \\\\", + "H O", + "val uation", + "Ġvoc ab", + "Ġcou pon", + "atab ases", + ".Get Type", + "L earn", + "] =\"", + "ĠG ary", + "ot ive", + "Ġas h", + "Ġb ib", + "XX XX", + "Ġbal anced", + "VAL UE", + "ĠN at", + "_A d", + "< E", + "åĮ º", + "ĠMethod Info", + "L IB", + "Ġconsider able", + "ĠInd ustry", + "test s", + ".set Title", + "ĠBl uetooth", + "Ġm apped", + "ĠBru ce", + "ĠMain Window", + "ĉ status", + "Ġr az", + "ĠM and", + "Ġclass ification", + "Per missions", + "Ġ---------------------------------------------------------------- ------------", + "Ġcontain ers", + ": set", + "_x ml", + "Ġwh ilst", + "Th rough", + "Ġval ign", + "Ġworld s", + "C ORD", + "ED IA", + "ÑĢ Ð¾Ð²", + "Ġsp are", + "ĠH ad", + "ĠDE F", + "(p tr", + "Ġwarm ing", + "ठ¾", + "Ġcons ensus", + "ag ne", + "CT L", + "Ġì ķ", + ".M ain", + "web Element", + "Ġp ist", + "Fl ash", + "App end", + ".tw img", + "T ap", + "Ġveget ables", + "al g", + ".s ample", + "Ġcoach ing", + "( ind", + "Cell Value", + "Check Box", + "ĠH ell", + "RO OT", + "Ġst adium", + "Ġinvestig ating", + ") %", + "st ed", + "ĠW riting", + "Ġê ²", + "Ġun o", + "Ġ{{ --", + "Ġco ords", + "Ġun ser", + "organ ization", + "ĠCr ime", + "ĠDemocr at", + "Ġv in", + "/ file", + "- api", + "ĠA y", + "Ġfund ed", + "ĠBre xit", + "ĠG h", + "ent ina", + "c ases", + "Ġd ash", + "Ġ!! }Ċ", + "H I", + "Off ice", + "Ġcapt ain", + "Ġwor ship", + "\\ C", + "Ġglo be", + "_ board", + "Ġbab ies", + "Ġconsec utive", + "Ġenh anced", + "ere um", + "ĠAd vis", + "Ġgr ain", + "Ġc raw", + "ancell ationToken", + ". alpha", + "_W ITH", + "ĠO tt", + "ĠC ool", + ".b atch", + "Ġver ified", + "(c allback", + "Ġreg ards", + "ĠInt Ptr", + "ouch er", + "Ġk in", + "Ġtou ched", + "it Ãł", + "ath on", + "Ġadj acent", + "Ġaccom panied", + "LE AR", + "Ġim plies", + "Ġh ill", + "ĠBalt imore", + "=\" -", + "Fin ally", + "S am", + "ic opt", + "Ġs od", + "Ġm aj", + "ĠSh ipping", + "Ġget All", + "Ġcoach es", + "Ġdon ations", + "il ot", + "ĠT ar", + "c err", + "Ġbad ge", + "Ġmark ers", + "ĠR and", + "ais ed", + "iss ance", + "Ġexpl oring", + "uc ed", + "ĠIndones ia", + "Ġbene ath", + "Ġmagn etic", + "Ġm useum", + "match Condition", + "Ġdis rupt", + "Ġrem ind", + "ĠT M", + "Ġ/ ><", + "Ġf ool", + "Ġes k", + ".N ull", + "ĠD ies", + "_OUT PUT", + "_TYP ED", + "Ġpaint ed", + "Ġsoph istic", + "ĠB ear", + "* n", + "_P ACK", + "Ġdeliver ing", + "ĠC OUNT", + "åį ķ", + "Ġj eg", + "-c ar", + "f name", + "Ġr anging", + "ĠN eg", + "/ ******/", + "ĠCH AR", + "Ġul tra", + "Gr ad", + "= t", + "Ġjud ges", + "ĠD ise", + "ann ers", + "Ġsc al", + "_c al", + "ĠCON NECTION", + "_ embed", + "(f n", + "ĠC raft", + "ĠP as", + "\") ->", + ".con vert", + ".res ource", + "ĠST ATUS", + "ô ng", + "ĠT it", + "Ġclass room", + "ĠArch itect", + "ĠK ings", + "Ġstead y", + "/* !Ċ", + "ĠG ene", + ") \";Ċ", + "ic ia", + "st an", + "ĠCon struction", + "um per", + "w c", + "ĠC BS", + "ing ing", + "-p arty", + "(d river", + "M ARK", + "Ġn ested", + "ew ard", + "Ġdepend ency", + "Ġm ales", + "ĠO NE", + "ĠProdu ction", + "][ $", + "ãĥ¼ ãĥ", + "_LO AD", + "ĠB ol", + "el ry", + "ł éϤ", + "ĠRe quire", + "Ġpl acing", + "xx x", + "CA LE", + "Ġth umb", + "Ch oose", + "Ġprot otype", + "VO ID", + "Ġles bian", + "Ġtra its", + "Sh arp", + "Ġconsum e", + "Tr uth", + "Ġaction Performed", + "ĠEnvironment al", + "ĠDe an", + "Ġest ado", + "s ame", + "Ġnumer ic", + "Ġtrans it", + ". Email", + "-s ide", + "_R UN", + "ĠVill age", + "_OP EN", + "è ¦", + ".re m", + "-w arning", + "any a", + "Property Changed", + "Ġ(! _", + "( check", + "il ia", + "ĠSo ft", + "st eps", + "ĠMad rid", + "Memory Warning", + "Ġhand lers", + "Ġexperi encing", + "Ġins pect", + "button s", + "Receive MemoryWarning", + "chem y", + "Link s", + "Ġur llib", + ".System Colors", + "ĠE igen", + "Ġpun ishment", + ":UI Control", + "bar a", + "- set", + "Ġ}čĊčĊ čĊ", + "Ġtoler ance", + "Ġinter faces", + ". redirect", + "ighb ors", + "cs rf", + "_back ground", + ". Utils", + "_H T", + "ĠInter est", + "im os", + "Ġgr ants", + "Ġexam ined", + "Ð Ķ", + "Ġc f", + "for ge", + "back s", + "ĠObject s", + "_s ent", + ". entry", + "ĠTH EN", + "ell ido", + "c ia", + ", res", + "/std c", + ". nd", + "( Int", + "ĠAuth ors", + "ĠApp CompatActivity", + "' {", + "Ġmed i", + "M usic", + "ig m", + "ce ipt", + "Ġa uss", + "Ġtarget ing", + "ĠKe ys", + "h n", + ": ]Ċ", + "Ġmin eral", + "à ®", + ".c a", + "om ed", + "Ġshe ets", + "Ġc amb", + "Ġdead ly", + ".in ject", + "( unit", + "ĠSe lection", + ".g ms", + "( connection", + "Ġ$ (\"", + "é mon", + "ĠCurrent ly", + "pt e", + "_path s", + "le af", + "Ġimp lications", + "pos al", + "ä½ į", + "[ /", + "anc ia", + "é Ľ", + "m ul", + "c ie", + "Ġge ile", + "im als", + "UI View", + "Ġs urre", + "serial ize", + "IS O", + "Ġarbit rary", + "Ġsock addr", + ".f n", + "ĠM erc", + "Ġcast ing", + "Key Down", + "Ġnew Value", + "op ens", + "T odo", + "Ġflex ibility", + "ĉĉĉĉ ĠĠ", + "V elocity", + "ú n", + "row ing", + "Ġcomput ed", + "` )Ċ", + "st atement", + "Ġr i", + "_c art", + "L ow", + "trans fer", + ".n av", + "Ġgr ave", + "ĠDo or", + "ĉ alert", + ".sub scribe", + "- profile", + "ĉb ase", + "ĠâĪ Ĵ", + "__ ĊĊ", + "Ġengine ers", + "Ġexplos ion", + "Ġd ari", + "ĉ Log", + "on al", + "Ġisol ated", + "{ i", + "ĠM sg", + "F uture", + "Ġrac ist", + "-w rap", + "ĠV ers", + "b org", + "IS ION", + "Ġ ÑĢаÐ", + "ĠY an", + "init With", + "Ġn omin", + "( empty", + "ÃŃ n", + "ãĤ ¤", + "ĉ width", + "Ġch amber", + "/ ajax", + "EM P", + "Ġnec es", + "iv os", + "log ic", + "*) &", + "cript s", + "Row At", + "ib lings", + "Ġe ars", + "Ġcomput ing", + "Ġm aker", + "ĠNe ither", + "b readcrumb", + "Ġserial ize", + "ĠWith in", + "Ġd ell", + "_TR ACE", + "= a", + "Ġwish es", + "-in ch", + "ĠD or", + "Ġinnoc ent", + "ĠD ol", + "Ġint ens", + "for ced", + "ĠB IT", + "Ġphotograph s", + "Ġcas a", + "ĠL en", + "\\F ramework", + ".S imple", + "Ġde ar", + ")/ (", + "ip pi", + "Ġown s", + "Pl ayers", + "Ġpropos als", + ".p i", + "us alem", + "D amage", + "Ġcal ories", + "ĠCreat ive", + "Ġ[ $", + "Ġ// čĊ", + "And View", + "è me", + ".c ustom", + "_f actory", + "command s", + "_lo ok", + "Ġstr cmp", + "Y N", + "a ired", + "Ġaud it", + "о ÑģÑĤ", + "ĠRe verse", + "ropri ate", + "et ics", + "< vector", + ".s elenium", + ". or", + "Ġpred icate", + "Ġfinish ing", + "Ġk le", + "ĠRep os", + "ĠK han", + "ĠM aking", + "ĠF S", + "Ġp ute", + "ĉ state", + "_S UPPORT", + "' -", + "orient ation", + "Ġexist ed", + "atur a", + "Ġexpect s", + "ĠSh adow", + "Ġorgan iz", + "å ŀĭ", + "Ġsusp ension", + "Ġu it", + "Ġsimult aneously", + "ĠAff ero", + ": \");Ċ", + "Ġro cket", + "c as", + "eter mine", + "ace ut", + "x l", + "ĠA MD", + "( graph", + "ass oci", + "_C R", + ".ar ange", + "(j Label", + "Ġbe ef", + "Qu ick", + ".c ard", + "] ):", + "- gr", + ".G ONE", + "_C LOSE", + "ĠNe v", + "ÃŃ as", + "Ġste pped", + "ĠFre edom", + "ĠW R", + "NS Array", + "_r x", + "_d ialog", + "Ġhot els", + "Ġ( \\<", + "ĠD iamond", + "Ġassum ption", + "um i", + "( items", + "č ččĊ", + "æ³ ķ", + "Ġn el", + "Book s", + "åİ ¿", + "us b", + "ĠF IN", + "æ ¬", + "Ġcorpor ations", + "US A", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + ".p roperty", + "ew ise", + "_ plot", + "\"> ';Ċ", + "Ġpe pper", + "Ġsh ed", + "ĠMed ium", + "ĠC ookie", + "Ġoverse as", + "ed or", + "asure ment", + "åŃ ĺ", + "Ġ' .'", + "Ġph p", + "ĠPRO C", + "Ġexception al", + "( th", + "ĠJ et", + "Ġoccup ied", + ".set Image", + "ĠRel ated", + "uck er", + "M embers", + "PR INT", + "ĠG lo", + "_V IEW", + "} \",Ċ", + "Ġad option", + "[] )Ċ", + "ĠMiss ouri", + "ĠLin coln", + "eral d", + "Pop up", + "Ġf ate", + "- bootstrap", + "fe ctions", + "ĠP oll", + "_ARG S", + "in ance", + "-h ome", + ". ),", + "_d one", + ": ĊĊĊ", + "Ġdiscuss ing", + "ĠSQL Exception", + "Ġelect ro", + "ĉ req", + "Ġz w", + "Ġl ui", + "Ġover night", + "$ user", + "ĠW AY", + "Ġall erg", + "Ġdisappoint ed", + "Ġradi ation", + "Ġimpress ed", + "ific ates", + "Ġto b", + "CL ASS", + "Ġc uda", + "_d et", + "- post", + "ul u", + "Trans lation", + "-h and", + ".y ear", + "ĠM ongo", + "Ġun clear", + ". engine", + "WEB PACK", + "r ices", + "_AC CESS", + "Ġh olidays", + "per cent", + ".Id entity", + "ĠG ov", + "Ġpassion ate", + "!! .", + "ĠGree ce", + "plus plus", + "')) ;", + "G P", + "Ġexc it", + ".tab Page", + "_ cond", + "Ġspons or", + "M ODULE", + "_pro c", + "Ġ$ Ċ", + "Ġr ational", + ".T ool", + "Ġi hr", + "cc a", + "åĵ ģ", + "ĠE state", + "IB UTE", + "Action Performed", + "ĠS olar", + "¦ Ĥ", + "Ġequ ity", + "t id", + "Ġrec ip", + ".s imple", + "m k", + "ĠL uke", + "ĠGuard ian", + "Ġenc rypted", + "Ġdomin ant", + ". place", + "ĠN V", + "Ġtong ue", + "( Get", + "Ġst ainless", + ".P lay", + "Ġe b", + "ac i", + ".b uffer", + "readcr umbs", + "Ġvacc ine", + "p rom", + "Ġuser Info", + "Ġsl ug", + "Serial izedName", + "-w ide", + "Ġre actions", + "ĠY ang", + "ĠAdd s", + "(user Id", + "Ġpl ates", + "ĠM EM", + "Ġb ail", + "In side", + "et ed", + "Ġels if", + "Ġs ake", + "Ġc ycles", + "Ġì Ĺ", + "ĉ I", + "-c ollapse", + "ĠG MT", + "De claration", + "Ġg ros", + "Ġreach es", + "Ġcust ody", + "Unt il", + "t u", + "ĠCh en", + "Ġn x", + "( addr", + "ĠO ffer", + "Ġcol leg", + "ass ador", + "Ġm apper", + "ĠS IGNAL", + "ĠB loom", + "ĠH oll", + "ĠIm per", + "-d es", + "_s ite", + "Pro c", + "E qu", + "Ġat omic", + "ĠW oman", + "s ent", + "sc ar", + "Ġint elligent", + "ĠGet ting", + "ĠReg istration", + "ĠPh ill", + "Ġkill er", + "unic ode", + "Ċ ĉĉĊ", + "ĠJac ob", + "ĠCon st", + "Ġloc ate", + "Ġca us", + "ĠSch olar", + "Ġconstitution al", + "Ġinfl ation", + "ĠG ot", + "= array", + "end um", + "Ġtransl ated", + "Ġdiv orce", + "En tries", + "Ġs or", + "ĠQu ote", + "irl ines", + "U K", + "Ġexc el", + "( opt", + "ĠAD V", + ",: ,", + "Ġcontact ed", + "ĠD A", + "Ġr ings", + "ĠIndust rial", + ".get Context", + "Ġforg otten", + "ĠT an", + "Ġp ants", + "Ġo v", + "Ġdec oder", + "ĠPart ial", + "Ġv c", + "Ġbatt les", + "A rial", + "FRING EMENT", + "ir ates", + ", w", + "aint enance", + "ĠO d", + "ĠTechn ologies", + "åī į", + "ĠCar ter", + ".find All", + "N ome", + "B en", + "ĠUs age", + "ĠP icture", + "Ġbad ly", + "_p anel", + "Ġpat ent", + "ĠProt ocol", + "lot te", + "ĉ player", + "je ctions", + "Ġd ou", + "_re lease", + "urn iture", + "_t ax", + "ĠF ields", + ".d ataset", + "_m aster", + "CLU DE", + "ĠPh arm", + "b st", + "Ġoper ational", + ".c ell", + "Ġident ifying", + "Ġj wt", + "t uple", + "ĠT C", + "ĠC ro", + "ix map", + "- components", + "gener al", + "Ġo z", + "_D e", + "_d ouble", + "ĠTo o", + ".View Group", + "g ate", + "d ings", + "ph otos", + "Ġgrand e", + "ol lect", + "_l in", + "Ġaw ful", + "f ilters", + "Ġaltern ate", + "es p", + "Ġcomp ress", + "e o", + "ĠS cale", + "Ġind irect", + "Ġinv oice", + "ĊĊĊĊĊĊĊĊ ĊĊĊĊĊĊĊĊ", + "Start ing", + "ĠPl ayers", + "ie le", + ". then", + "Or d", + "ĠT uple", + "Ġb out", + "ĠStat istics", + "Pre view", + "Ġp uzzle", + "ĠW idth", + "ST ATE", + "Ġover lay", + "ĉ on", + "Ġin fr", + "Ġsm allest", + "lock ed", + "ÑĤ о", + "ss l", + "Ġde emed", + "Ġs co", + "re ck", + "Ġj Button", + "Ġmiss ions", + "ç§ °", + ".Selected Index", + "T ABLE", + "Se pt", + "Ġacknow ledge", + "Ġstrt otime", + "ĠT ell", + "ĠD ak", + "Ġal uminum", + "Ġf ence", + "ĠSt ars", + "CON FIG", + "Ġretro fit", + "Ġemph asis", + "/ header", + "ĠS omething", + "in ished", + "=' \".$", + "ĠValid ators", + "Ġpol ar", + "section s", + ".as px", + "Ġas pir", + ".M ock", + "Code Gen", + "Ġpe ut", + "Ġaccept ing", + "Ġback ing", + "P icture", + "/ ap", + "еР³", + "_SE C", + "- use", + "annot ation", + "Ġcogn itive", + "Ġg rip", + "h our", + "ĠLeg al", + "Ġep ic", + ".t oolStrip", + ".not ify", + ".L ast", + "OR IZ", + "M iddleware", + "cri ptions", + "l ash", + "_F OUND", + "ĠLiver pool", + "Ġ{} \",", + "Inst all", + "Ġn it", + "Ġfig ured", + "[ len", + ".W in", + ".pl atform", + "Ġgam bling", + "(d t", + "av ery", + "ĉ include", + "Wh ether", + "R outing", + "Ġther ap", + "Rem ote", + "ĠL oss", + "y ll", + "Ġappro ached", + "ĠV ehicle", + "ĠAl pha", + "Ġvoc ê", + "ans wers", + "NS Dictionary", + "cons ider", + "un used", + "ĠF an", + "or able", + "f re", + "ĠDIS CLAIM", + "ĠAct or", + ". ]", + "to Have", + ".user Id", + "Ġspeed s", + "ew ay", + "Ġrec urs", + "ĠÐ ³", + "_pr iv", + "! âĢĿĊĊ", + "Ch oice", + "Ġsett le", + "Ġplan es", + "' },", + "T om", + "IT ER", + "! \"Ċ", + "å »", + "achel or", + "Ġsepar ation", + "Ġd al", + "ad j", + "Ġreg isters", + "r iz", + "ĠNot ice", + "Ġl u", + "Ġcour age", + "Ġax es", + "cell ent", + ".as ync", + "Ġcompat ibility", + "ç «", + "Ġ! ĊĊ", + "ĉ title", + "Y LE", + "ĉ message", + "U UID", + "OLD ER", + "ĠH H", + "ĠStyle Sheet", + "Ġaccess ed", + ". validation", + "t asks", + "Ġpoll ution", + ".c anvas", + "Ġing redient", + "ĠC abin", + "A h", + "old own", + "ĠNO I", + "Ġà Ĺ", + "[ f", + "ed uc", + "y alty", + "(n ot", + "_ State", + "am en", + "Ġda o", + "ud ad", + "ell ers", + "} &", + "lic ity", + "_W INDOW", + "Ġt atto", + "val or", + ".R ange", + "Ġrefer enced", + "ĠRes erve", + "M oney", + "SCRI PT", + "/ product", + "cho ices", + "Ġt in", + "ãĤ ĵ", + "Ġsepar ator", + "Ġp kg", + "am med", + "ĠM AT", + "! !ĊĊ", + "Ġr aid", + "Ġmotiv ation", + "ĠX P", + "ĠBack ground", + "ĠQu aternion", + ".define Property", + "ik er", + "ĉp arent", + "ĠOrigin ally", + "ant age", + "ĠH ans", + "Ġtim eline", + ".c ur", + "op ic", + "ĠSe qu", + "m ust", + "ĠCo al", + "Ġform atter", + "_R GB", + "Ġ_ (\"", + "'} ),Ċ", + "Ġ= ================", + "ĠF UNCTION", + "Ġl ng", + "ic ates", + "l ive", + "_ engine", + "Ġtown s", + "')) ĊĊ", + "ĠP K", + "( api", + "ĉs canf", + "pack et", + ".ph one", + "á Ģ", + "ĠAnd y", + "_N AMES", + "PL Y", + "Ġmin s", + "im i", + "Ġbr ick", + "Ġbl ade", + ".std out", + "}` ;Ċ", + "Sh ift", + "ĉs b", + "ĠCheck s", + "Ġphenomen on", + "Av atar", + "Ġmin istry", + "ro se", + "ĉ File", + "Ġtit led", + "( LOG", + "Ġg an", + "des ign", + "(), čĊ", + "Ġb ones", + "st m", + "ÅĽ Äĩ", + "ĠInput Stream", + "Ġvol unt", + "ĠSerial izable", + "Ġfight er", + "ĠDr ag", + "T witter", + "Ġsubs id", + "ç ¼", + "Ġfor ums", + ".load ing", + "log ged", + "_ this", + "Ġterr ain", + "Ġir re", + "ĠIn g", + "ĠC N", + "_object s", + ". uid", + "Ġconscious ness", + "T INGS", + "ĠG all", + "Ġport ray", + "ĠDevelop er", + "Ġparticip ant", + "Ġ\" ;čĊ", + "/ model", + "ĠOper ations", + "^ \\", + "ĠL ater", + "Ġrais es", + "-n one", + ".m eta", + "=' .$", + "Fin ished", + "Ġrepl acing", + "Ġsam pling", + "ĠJ en", + "\" There", + "RE AL", + "A LE", + "ìĬ ¤", + "Or ders", + "_param eter", + "ĠOlymp ic", + "Ġtr ès", + "Ġare na", + "i ol", + "; ?>", + "Ġimpact s", + "ĠW S", + ": get", + "Ġfl ights", + "ĠRuss ell", + "c amera", + "F n", + "s igma", + "Ġfor cing", + "Ġloc als", + "Ġdepart ure", + "Ġcelebr ation", + "ĠS ay", + "ï¼ Ĵ", + "ĠH ills", + ".has OwnProperty", + "Ġtyp ings", + ".A PI", + "Ġdon ation", + "Operation Exception", + ".Act ivity", + "c plusplus", + "ĠChar lie", + "Ġimport ed", + "Ġd ann", + "Ġoccas ions", + "Ġimplement ing", + "Ġpur ple", + ".d ialog", + "SQL Exception", + "ern o", + "Ġw ars", + "Ġpast e", + "Ġdecre ased", + "Ġhar sh", + "Ġel abor", + "input s", + "ĠView s", + "Ġerror Message", + "_m ul", + "ĉ write", + "ĠC op", + "ĠAnn ual", + "(b utton", + "Ġv ida", + "b ars", + "ĠHar vard", + "ĉex pect", + "Ġindex es", + "Ġdocument ary", + "Ġf lesh", + "OR LD", + "ĠD elta", + "M AND", + "Br ush", + "-c olumn", + "Ġdevelop ments", + "method Visitor", + "s lice", + "ĠP DO", + "Ġinvest ing", + "ir able", + "Ġxml ns", + "ï¼ Ľ", + "art a", + "Ġthe ories", + "_c ity", + "Ġ$ __", + "Cre ating", + "( pr", + "D ropdown", + "ism atch", + "ĠN ET", + "'] )){Ċ", + "ĠVal ues", + "ĠSE O", + "ĠST AT", + "Ġe cosystem", + "Ġtem pt", + "Ġ\\ \\", + "Ġ// {Ċ", + "ĠChrist opher", + "ĠKent ucky", + "ĠHttp ServletResponse", + "Ġhy brid", + "y on", + "Ġfeed ing", + "ĠEx tra", + "N orm", + "IT CH", + "ĠSe an", + "ĠUp load", + "m un", + "p ur", + "Ġp ersistent", + "ĠID C", + "ĠPer form", + ".m erge", + "_ room", + "Mean while", + "! ='", + "ĠW el", + "Args Constructor", + ".D atabase", + "Ġcount ing", + "() *", + "Ķ åĽŀ", + "ĠT OP", + "m ill", + "ĠD T", + "IGN ED", + "ĠK B", + "Ġcomp ly", + "S outh", + "_c ollection", + "Ch apter", + "Ġexpl aining", + "_ AM", + "_t s", + "c ards", + "Ġqu el", + "Ġp ole", + "Ġtouch down", + "ĠO thers", + "Ġpe ers", + "ĠType Error", + "Ġsix th", + "Ġche er", + "Ġdis pute", + "us c", + ") ],", + "th umb", + "Ġh iding", + "ĠS IG", + "lik es", + "ĠP AGE", + ".Ref lection", + "Ġhead quarters", + "T ING", + "ĠG host", + "M LE", + "$ Ċ", + "Ġcontr ary", + "ext end", + "'] ).", + "FF ECT", + "ĠP interest", + "úmer o", + "ric ane", + "ĉs ession", + "Ġcr ystal", + "- Control", + "overn ment", + "og raf", + "- action", + "v olume", + "ft en", + "Ġun con", + "Ġan imate", + "Ġle ase", + "sc r", + "Ġref use", + "ãĢ ĭ", + "ft p", + "in formation", + "Ġeval uated", + "Ġin jection", + "Ġj ack", + "Ġwork shop", + "æ³ ¨", + "PT H", + "ĠT s", + "off er", + "ĉ os", + "Ġking dom", + "M issing", + "Ġlaw makers", + "ext Field", + "Ġsing ing", + "ab i", + "/ client", + ".m edia", + "ATEG ORY", + "Sign ature", + "% ',Ċ", + "ĠF uck", + "][ :", + "Ġsens ors", + "/ com", + "ĠPr imary", + ".S QL", + "_pro gram", + "Ġp ills", + "Ġinteg ral", + "Ġfle et", + "Ġdro pping", + ".s l", + "Be en", + "Ġp ets", + "Ġadvis ed", + "Ġdr agon", + "_ EDIT", + "( im", + "F ER", + "ĠDr ug", + "(r andom", + "Ġcomp ression", + "ou st", + "[ %", + "Ġbuy er", + "h op", + "R oles", + "man age", + "Ġpain ful", + "ĠBr anch", + "-mod al", + "en ant", + "ĠM esh", + "/ font", + "ĠG raham", + "Ġâ ĺ", + "Ġn c", + "ĠFranc is", + "Ġspec ification", + "Ġdam ages", + "- config", + "Ġthe oret", + "sec ure", + "_m ulti", + "aceut ical", + "Ġdemand ing", + "en ne", + "IST S", + "() ));ĊĊ", + "Re ason", + "Re cent", + "ph ase", + "Ġps y", + "_M AN", + "Ġvolunte er", + "å ¿", + "istrib uted", + "li o", + "Ġproduct ivity", + "_com m", + "S pring", + "n is", + ". weight", + "ĠC ancer", + "Al loc", + "ĠT weet", + "Ġsepar ately", + "ĉ check", + "_p roperties", + ". Unit", + "_CL K", + "Ġg t", + "Ġ( );ĊĊ", + "Ġhand y", + "ĠThom pson", + "Ġunn ecessary", + "ĠRe ader", + "G N", + "= request", + "ĠU tility", + ".Re pository", + "ĠA x", + "hy dr", + "ie u", + "Ġth y", + "Ġl t", + "_m ail", + "ä¿® æĶ¹", + "ail and", + "ĠPhil ip", + "Ġbit ter", + "Ġbet ting", + "Ġtim ed", + "ock s", + "' a", + "Ġal gorithms", + "Ġre interpret", + "Ġto ss", + "ro gen", + "Ġhop ed", + "( selected", + "Ġvent ure", + "TE X", + "ĠLe ave", + ".Sub string", + "Ġgr ateful", + "uk a", + "ĠCon sumer", + "Ġag greg", + "C ircle", + "ภģ", + "_block s", + "Ġleg ally", + "Ġ\" |", + "ãĥ ĥ", + ". board", + ".A b", + "Function s", + "rec ipe", + "è ĩ", + "ĠO xford", + "Ġwho les", + ".B uild", + "_ch anged", + "h ai", + "Ġdepart ments", + "I mp", + "Ġcoal ition", + "IN FRINGEMENT", + "Ġemp ower", + "itch es", + "N orth", + "Ġinfl amm", + "ON SE", + "Ġmiss ile", + "ĠR aj", + "ĠIss ue", + "Ġat oi", + "ca led", + ".Cont rollers", + "ĠW olf", + "Ġcrush ers", + "á» ĩ", + ".A uth", + ".add Attribute", + "h is", + "Ġbo ots", + ".c lean", + "c amp", + "Ġten ant", + "Ġt une", + "Ġ{} '.", + "Ġwork out", + "Re po", + "Ġpartial ly", + "MI SSION", + "j amin", + "ĠS B", + "Ġdetermin ation", + "Ġ' ');Ċ", + "ĠB eng", + "Ġv os", + "Ġin hab", + "/ lang", + "s burgh", + "Exec utor", + "h one", + "ĠCh allenge", + "_link s", + ".Le vel", + "Ġunder ground", + "-c ode", + "Ġoptim ization", + "log ging", + "_de st", + "Ġsn ake", + "Ġchemical s", + "_IMPORT ED", + "ado op", + "ĠTH AT", + "man aged", + "Ġredu ces", + "ĠRE AL", + "ĠG uy", + "_GENER IC", + "/ ********************************", + ". amount", + "Ġd ere", + "get Time", + "Ġp ant", + "an onymous", + "Ġharmon y", + "ĠAl an", + "Ġscen arios", + "Ġd irt", + "ht ags", + "M c", + "Sh ell", + "r in", + "{ čĊčĊ", + ".p ow", + "ĉ client", + "Ġconspir acy", + "Ġad mission", + "ĠReg ional", + "ĠView Controller", + "ĠPhilipp ines", + "Ġde pos", + "Ġp ap", + "ĠP ad", + "P aul", + ".Com boBox", + "Ġt utor", + "ĠRec ipe", + "w riting", + "Ġcontrib utor", + "OT H", + "Sm all", + "V I", + "Ġh acer", + "e qu", + "ĠEx amples", + "h uman", + ".m essages", + "ĉt yp", + "Ġ( čĊ", + "ĠS SL", + "LE N", + "ĠRom ney", + "( grid", + "ĉ min", + "Ġ> ĊĊ", + "Ġfr uits", + "Ġvot er", + "In line", + "pan e", + "ĠC ollections", + "char set", + "Ġsp am", + "z b", + "item ap", + "Ġsucceed ed", + "_C OL", + "Ġel apsed", + "im eter", + "Ġrecover ed", + "T ensor", + "hatt an", + ".set up", + "ist o", + "( head", + "ĠS IZE", + "Ġtact ics", + "Ġdist ur", + "Ġpre val", + "ici os", + "( Value", + "_c ols", + "ĠF at", + "Ġse al", + "Ġs ons", + "Ġens ures", + "Ġpress ing", + "= &", + "igen ous", + "Ġharass ment", + "_ JSON", + "Ġign or", + "yn omial", + "om er", + "_st atic", + "Ġsignific ance", + "Ġcirc les", + "_S ystem", + "Ġdiscipl ine", + "Ġdress ed", + "Ġs phere", + "Ġclim b", + "_ actions", + "ĠB ab", + "Ġ' =',", + "_s chema", + "\" use", + "Ġund ers", + "Ġc ups", + ".s creen", + "/ new", + "Ġappe aring", + "T OP", + "vis ed", + "cl ang", + "Ġinvestig ators", + "Ġmyster ious", + "Ġprom ising", + "Ġqual ify", + "Ġc ave", + "Ġequ ip", + "= x", + "G T", + "( link", + ". velocity", + ". erase", + "ot er", + "++++ ++++", + "pro fit", + "Ġz ones", + "_ uid", + "- ser", + "Ġobject ives", + "Ġmil f", + "web kit", + "(m atch", + "ne h", + "ĠAssoci ated", + "ĠT odo", + "= d", + "C am", + "Ġv ocal", + "Ġs udo", + "( EX", + "Ġtr ou", + "AB C", + ".b ean", + "ĠG round", + "ĠRE ST", + "we ets", + "In g", + "im on", + "_b us", + "ĠC OLOR", + "un to", + "Ġf oss", + "ĠLink s", + "ä ng", + "/ forms", + "pr ises", + "Ġachie vement", + "C ALL", + "ел ÑĮ", + "ĠVer ify", + "_S OURCE", + "apt cha", + "ID D", + "_re ference", + "G old", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "Re ceiver", + "Ġa j", + "_d irection", + "} ]", + "ĠCom pet", + "Ġb ang", + "ĠC ass", + "- url", + "te chn", + "ĠJer usalem", + "long itude", + "' );čĊčĊ", + "Ġwin ners", + "T asks", + "ĠD MA", + "Ġtool tip", + "İ ·", + "ĠB ra", + "_d uration", + "cur y", + "parent s", + "---- >(", + "ĠK ir", + "Ġint ros", + "Ġsk etch", + "Ġsk illed", + "Ġim mer", + "Ġade quate", + "_re p", + "( header", + "_ like", + "Ġper ceived", + "ss h", + "Ġassum ing", + "Ġf f", + "_u uid", + "ul as", + "Ġdemocr atic", + ". entities", + "S eries", + "aph ore", + "Ġnew er", + "} (", + "SE C", + "ai ro", + "Ġcomm od", + "Ġprivile ge", + "Ġde ux", + "ĠH op", + ".' /", + "ct ic", + ". ';Ċ", + " C", + "ĠWar ren", + "Ġoptim izer", + "ĠSER VICES", + "_ oper", + "get Attribute", + "ĠMc K", + "_s elf", + ".r s", + "\" )ĊĊĊ", + "Get Component", + "er ce", + "Ġt ous", + "un its", + "'] );čĊ", + "Z oom", + "/ E", + "Ġobs c", + "Ġfast est", + "on line", + "Ġpeace ful", + "ff en", + "Ġc argo", + "ĉ pr", + "Ġseek s", + "z u", + "Tr im", + "Ġw ard", + "Ġver d", + "Ġblog s", + ".exception s", + "ĠPrem ium", + "ĠN etherlands", + "S afe", + "Fin ish", + "ĠAl bum", + "_A CC", + "= this", + "v irtual", + "] >", + "_L ABEL", + "ĠN ich", + "_w in", + "ĠA aron", + "W P", + "; $", + "aim s", + "ĠImage View", + "Ġend less", + "ER A", + "_DIS ABLE", + "Ġcancel led", + "- us", + "Ġins pection", + "em in", + "ĠG rey", + "- open", + "Ġiter ations", + ". owner", + "Ġk eras", + ".P assword", + "ĠR y", + "ĠIN S", + "A ir", + "ĠSe veral", + ".Tab Stop", + "ING LE", + "ĠH air", + "ĠCan vas", + "AA AA", + "Ġfl aw", + "ced es", + ".Re port", + "í Ĭ", + "ĠT ips", + "cript ors", + ".trans action", + ".S pring", + "Ġview er", + "Ġins ights", + "è¾ ĵ", + "ord ion", + "U INT", + "se ek", + "ĠA uf", + "ìŀ IJ", + "Ġstr ain", + "To oltip", + "Ġd z", + "ign al", + "ad t", + "Ġu c", + "fin ite", + "Ġn m", + ".c md", + "ĠMy Sql", + "[ data", + ".j ackson", + ".t ree", + "Request Param", + "_ agent", + "\") ]čĊ", + "Ġass ass", + "( Constants", + ": ss", + "ĠM AN", + "+- +-", + "ĠB ottom", + "print s", + "ĠS ame", + "@ Autowired", + "sw ap", + "ici ón", + "Ġprotest ers", + "Ġh oney", + "ĠV eter", + "(C alendar", + "- ad", + "ĠBrook lyn", + "L ife", + "_V AR", + "ze ch", + "ĠC ALL", + "_C AST", + "ĠE lection", + "Ġthick ness", + "V ery", + "_IN TEGER", + "- dev", + ")) ))", + "ap at", + "oo oo", + "d emo", + "Ġparse Float", + "ĠR ather", + "ST IT", + "m aker", + "[ current", + "chron o", + "Ġch rist", + "ãģ ª", + "ĠD etail", + "ư á»", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "Ġs ul", + "id ency", + "Q ue", + "Ġeleg ant", + "ap ons", + "Ġdish es", + "Ġinteg ers", + "( read", + "find ViewById", + "ĠAm ount", + "ĠSk ip", + "Ġhab its", + "* )(", + "Ġmon sters", + "M AC", + ": end", + "Ġfr ank", + "As sembly", + "Ġd fs", + "Ġne ut", + "_TYP ES", + "e qual", + "loy d", + "( uri", + "Ġch i", + "Ġdefend ant", + "Ġconflic ts", + "Ġv il", + "- js", + "ĠPe ace", + "Ġmut able", + ") sender", + "ĠF ocus", + "å» º", + "Ġapprec iated", + "s leep", + "ĠR ED", + "C ulture", + "Ġdesign ers", + "_g enerator", + "c odes", + "/ ex", + ".Get Value", + "umb led", + ".scal ajs", + "per or", + "Ġveter ans", + "Ġ} )čĊ", + "Ġun fortunately", + "_C REATE", + "M ass", + "ĠCL AIM", + "ĠMe et", + "_s upport", + "B ank", + "() .Ċ", + "D ark", + "_LO W", + "ĠMin ing", + "ĠO wner", + "ier a", + "Client e", + "Ġencour aging", + "> S", + "Ġboy friend", + "ĠH alf", + "ĠA CC", + "A ff", + "_ ar", + "-l ife", + "c x", + ".J Button", + "iz ado", + ".z ero", + ".open qa", + "ot on", + ".text Content", + "Ġto ll", + "at ie", + "Ġball ot", + "- number", + ". Exception", + "ĉ params", + "c ircle", + "-m ap", + "Ġn ap", + "ĠRob ot", + "ĠI ch", + "reg istration", + "Am azon", + "roll ment", + "( exp", + "Ġt anks", + "ĠG ordon", + "Ġmach inery", + "Ġbas eline", + "æ ĭ", + "Ø ©", + "ĠCon vention", + "ĉ config", + "ook ies", + "m ult", + "Rec ords", + "ĠE ST", + "Ġgar bage", + "Ġcon form", + "id al", + "Ġb arg", + "Ġsurv ived", + "Ġinvestig ations", + ".contains Key", + "---------------------------------------------------------------- ----------Ċ", + "ort ion", + "Ġhor r", + "_ http", + "Ġm ant", + "] ;čĊčĊ", + "b inary", + "em pl", + "Ġin quiry", + "ĠMean while", + "Ġcollect ing", + ".Entity Framework", + "\", ĊĊ", + "ĠP ic", + "@ Inject", + "ick ness", + "ĠB inding", + "Ġcont rolling", + "re verse", + "Ġch airs", + "semb led", + "( add", + "Dis abled", + "an as", + ".trans late", + "-------- ---Ċ", + "Ġref lected", + "\"] ĊĊ", + "Ex ternal", + "Ar row", + "Single ton", + "% x", + "Ġ Å", + "Ġan cest", + "ĠOr leans", + "ĉc md", + "Ġprohib ited", + "ith metic", + "(ch annel", + "_c ss", + "For ward", + ".s ocket", + "Ġl uc", + "â Ĩ", + "ĠFire fox", + "ĠM ovies", + ") _", + ". ends", + "( shape", + "Ġde alt", + "Ġs aves", + "Ġgl ory", + "Ġmej or", + "Ġbreath ing", + "Ġ eller", + "get Data", + "Ġang les", + "Ġtool bar", + "Ġsp acing", + "IP S", + "Ġflo ors", + "_ACT IVE", + "Ġsh uffle", + "/ shared", + "ĠE le", + "ed ish", + "Ġweb cam", + ".ex pect", + "il oc", + "ĠIn cludes", + "Ġtweet ed", + "Ġ: )", + "ĠEss ay", + "F ix", + "-b etween", + "_ web", + ".con v", + "Ġrac ism", + "Ġreflect s", + "um m", + "иÑĤ е", + "_f ooter", + "/d ocs", + "ĠP our", + "Ng Module", + ".initial ize", + "pattern s", + "_ In", + "ĠAb b", + "* čĊ", + "Ġsent iment", + "b uff", + "_count s", + "Ġre use", + "ch unk", + "Ġim posed", + "Primary Key", + "Fore ground", + "Ġconsum ed", + "? !", + "Ġd ick", + "Ġch ron", + "ĠF ern", + "Ġrespons ive", + "Ġin sect", + "icult y", + "Ġr w", + "Ġal ike", + "Ġsub set", + "ĠCook ies", + "ĠP air", + "Ġt ier", + "IF O", + "av our", + "ĠQ U", + ", sizeof", + "Ġmerg ed", + "m v", + "it ol", + "yl on", + "Ġjump ed", + ". role", + "ens aje", + "R ules", + "Ġb rowse", + "An imator", + "Ġy oga", + "Ġvari ants", + "Ġcour tesy", + "ur an", + "p bs", + "else if", + "Al t", + "ĠL ane", + "CL K", + "IM ARY", + "_PRO PERTY", + "ï¼ IJ", + "Ġch an", + "Ġgrad ually", + "Ġsh ake", + "Ġbl onde", + "... \");Ċ", + "-se x", + "Ġgame play", + "ac ies", + ".ref resh", + "US B", + "ĠPl ot", + "W as", + "iss ippi", + "ĠT ensor", + "Ġcryptoc urrency", + "Ġdifficult ies", + "De leted", + "With out", + "_ append", + "_ ver", + "\")) čĊ", + "Ġhonest ly", + "Ġp ivot", + "Ġtem ps", + "_p s", + "ĠUn like", + "[: -", + "V S", + "_in f", + "Ġjun ior", + "Ġanim ations", + "Ġfile path", + "? {{ $", + "Ġun icode", + "pl aces", + "ĠC offee", + ".S E", + "ĠP AR", + "(t xt", + "ge bra", + "Ġf ires", + "Main Window", + "med ium", + "Ġ( âĢľ", + "Ġl g", + "Ġc mp", + "/ base", + "_l ayers", + "_ entries", + "Ġadmin ister", + "ĠSU CH", + "B P", + "ĠScott ish", + "ĉčĊ ĉčĊ", + "gu ard", + "ĠStr ong", + "In sn", + "ĠC AP", + "as ury", + "ĠSE E", + "C lock", + "er ie", + "\\ models", + "Ġ$ $", + "ĠC ab", + "Ġwur de", + "Ġsold ier", + "Ġcl ips", + "Ġarrang ement", + "ĠW onder", + "ĠH orn", + "Ġsc ared", + "Ġc ure", + "m kdir", + "Ġal igned", + "ĠP ink", + "Ġland ed", + "Dim ension", + "Scroll Pane", + ".ch at", + ".W ith", + "ĠTr ain", + "] .Ċ", + "Ġth irty", + "Ġdur able", + "Ġl d", + "Ġlate init", + "Ġch arts", + "Ġins ult", + ".F atal", + "_ ct", + "Ġm asks", + "CLU DED", + "Pres ident", + "Ġcol ours", + "g ments", + ".at tributes", + "ĠF lex", + "ĠC lock", + "ÃŃ cul", + "im en", + "J O", + "ĠReg ex", + "_L INK", + "Ġc ouch", + "ĠIN PUT", + "Ġbe ating", + "b usiness", + "pre ced", + ". unit", + "ĠF el", + "N ever", + "osp el", + ".start swith", + "ĠE PA", + ". only", + "Ġprevent ing", + "y er", + "Column Name", + "Ġelev ation", + "fl u", + "icy cle", + "Ġoff line", + "Tool bar", + "Ġcompet ing", + ") ].", + "Ġm og", + "Ġis Valid", + "As k", + "_ av", + "_l at", + "AN C", + "ĠJ oh", + "k ers", + "Ġgu ards", + "Ġch ains", + "ĠSimple DateFormat", + ".st atic", + "Ġvess el", + "Ġm ud", + "Ġst abil", + "Ġst ret", + "g m", + "am ation", + "ç ľ", + "-w ith", + "Ġro s", + "_P A", + "Ġresult ado", + "Ġconf idential", + "ĠTok yo", + "ĉ using", + "ĠMath f", + "omb ine", + "ĠESP N", + "Ġdeal ers", + "Ġdismiss ed", + "TR Y", + "Ġte ens", + "rec ords", + "Ġw ings", + "g allery", + "account s", + "_L IB", + "Ġj acket", + "ĠNS Object", + "Ġst ones", + "ĠDel ivery", + "ĠD iet", + "/w atch", + "Ġto ilet", + "ĠG uest", + ".d ay", + "Ġint val", + "Vis it", + "Ġinvestig ated", + "Ġpent ru", + "ĠThe atre", + "andid ates", + "L ang", + "ĠS erv", + "Ġcont rollers", + "Ġset Title", + "N P", + "am y", + "fl at", + "( ui", + "_d ocument", + "è ĥ½", + "ĠC oin", + "ĠAd ams", + "pt ic", + "Ġproduct ive", + "Ġaccompl ished", + "čĊčĊ čĊčĊ", + "Ġdefer red", + "ient es", + "Ġs inc", + "ol ars", + "Right arrow", + "Ġvari ations", + "( offset", + ".Layout Inflater", + "Ġsus pend", + "Ġprevent ion", + "_pr ivate", + "_ js", + "âĺ ħ", + "Ġw ieder", + "at um", + "Ĵ Į", + "Ġappear ances", + ".D ocument", + "Ġvalid ates", + "cal endar", + "} \";Ċ", + ".d emo", + "con ut", + "Ġcorre ction", + "ĠDe al", + "Ġbatter ies", + ".d uration", + ", \\", + "_m arker", + "m ulti", + "Ġh alt", + "Ġc ms", + "Ġsh aped", + "B ro", + "re duce", + "Ġ ####", + "CT OR", + "ĠBen ef", + "Ġicon ic", + "Ġp iano", + "Ġeffect iveness", + "| .Ċ", + "Ġa jax", + "Ġv olumes", + "ภ¡", + "Ġcl js", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ċ", + "ath s", + "ra its", + "å¤ §", + "Ñ ĸ", + "_m ult", + "Ġfasc inating", + "A verage", + "Ġpr é", + "ĠChair man", + ".find Element", + "_p in", + "Ġcomp aring", + "Ġdark ness", + "-F i", + "- server", + "Ġselect ing", + "ster dam", + "ĠPart s", + "FORM ATION", + "Ġnot ing", + "Ġp ile", + "og s", + "Ġpa lette", + "_d o", + "it ize", + "() (", + "Ġdef ining", + "Ġremain der", + "Un its", + "_T ASK", + "Http Client", + "S ocial", + "Ġfund ra", + "N R", + "ch est", + "C urrency", + ".ad apter", + "Ġd op", + "un ting", + "ANG UAGE", + "\" He", + "ĉ index", + "_p ackage", + ".I con", + "Ġrep et", + "m ass", + "=\" .$", + "ĠS ud", + "Ġl id", + "pro vince", + "ì ľ", + "G PIO", + "Ð ļ", + "ĠMy SQL", + "Ġdoc s", + "ĠG A", + "Ġip sum", + "K ernel", + "Ġaccept s", + "Ġfit ting", + "Ġcu ando", + "Ġd uplic", + "ĠBro ther", + "ĠK le", + "num s", + "Ġmor ph", + "Ġ ########", + "ĠCG Point", + "< unsigned", + "ä¾ ĭ", + "ĠD uke", + ".set Bounds", + "q s", + "or ic", + "j er", + "Ġregard ed", + "Http Request", + "Ġbond s", + "Ġthorough ly", + "enc ent", + "Ġhighlight ed", + "Ġac res", + "Ġwork place", + "ĠL ux", + "Ġqu ot", + ".in flate", + "Ġdocument ed", + "Ġadd iction", + "Ġmut ation", + ".c ity", + "Ġbott les", + "ĠRepos itory", + "on n", + "err no", + "ARI ABLE", + "åº ¦", + "_B EGIN", + "gl as", + "' })Ċ", + "ĠMass age", + "ĠWh it", + "reg ex", + "W A", + "Ġout let", + "- head", + "Ġexp ired", + "ĠTh ai", + "/ include", + "grad ient", + "scan f", + "Ġse am", + "w al", + "ĉb uf", + "B earer", + "Ġprec ious", + "if acts", + "co ord", + "Ġexpl oration", + ".get Y", + "(h andle", + "Top ic", + "ĠV ent", + "r hs", + "---- --Ċ", + "ĠB right", + "Ġg uild", + "m other", + "st orm", + "Ġmunicip al", + "Ġin k", + ".T YPE", + "w l", + "... manual", + "ĠTechn ical", + "Ġcorpor ation", + "ĠH W", + "ank a", + "T AIL", + "ist as", + "Ġperform s", + "ĠBeh avior", + ".F or", + "_ ORDER", + "ĠK ick", + "Ġcallback s", + "_d r", + "ue go", + "h ub", + "uff icient", + "sk y", + "Ġb p", + "ht able", + "ĠON LY", + "ĠAUTH ORS", + ".Arg ument", + "\" };Ċ", + "ĠTh under", + "ĠK om", + ".Sh ould", + "A UTH", + "ah u", + "_p ayment", + "Ġst arter", + "ìĦ ľ", + "ìļ ©", + "B log", + ".p atch", + "Ġgovern ed", + "ass y", + "-f ound", + "Ġthe ater", + "ĠFont Weight", + "ĠBat man", + "\" If", + ".R andom", + "_d elta", + "ĠC E", + "Auth enticated", + "Ġdr one", + "Ġc ous", + "r adius", + "M er", + "( None", + "ĠN J", + "_ headers", + "Ġam er", + "py test", + "ĠA ctions", + "ĉĉĉ ĠĠĠĠ", + "Ġet t", + "Ġh oly", + "Ġun comfort", + "ĠN in", + "ĠDec imal", + "ĠM essages", + ".s ender", + "] ])Ċ", + "Ġembr ace", + "Th ough", + "/ sp", + "Ġcult ures", + "Ġhigh way", + "t ar", + ".f ail", + "_h idden", + "ĠcomponentDid Mount", + "ĠW right", + "Ġj ag", + "_ il", + "../../ ../", + "ig u", + "F ood", + "Ġa ce", + "Ġa ños", + "US D", + "Ġmut ual", + "Log ic", + "Ġtem ple", + "Ġbrief ly", + "ĠT rip", + "class method", + "default s", + "Ġch unks", + ",, ,,", + "ĠRe ason", + "$ id", + "-up s", + "Ġdam n", + "Ġtruck s", + "Ġun limited", + "Ġsc ulpt", + "ĠC ards", + "Ġaut or", + "ĠTest ing", + "Ġdies e", + "sh ops", + "ç ´", + "(p ayload", + "ĠP ATH", + "ĠMem orial", + "Ġridic ulous", + "eg ree", + "-w inning", + "Ġre hab", + "Ġsophistic ated", + "wp db", + "ĉ path", + "! \";Ċ", + "_S YS", + ".s peed", + "Ġso ap", + "s uffix", + "W rap", + "Ġenh ancement", + "à ī", + "ú b", + "Ġplay list", + "Ġmix ing", + "ant idad", + "=\" \";Ċ", + "ĠRev ision", + "ĠBe at", + ".in c", + "-w ay", + "enc ias", + "ul ers", + "C at", + "id el", + "ĠSh ip", + ".set Color", + "Ġthreat ening", + ".mod ules", + "Ġafter wards", + "ĠD ashboard", + "Ċ ĠĊ", + "Sign al", + "Ġpr imer", + "orne ys", + "ici ary", + "Ġl igne", + "_p redict", + "Ġa est", + "_ https", + "> :", + "ĠL ex", + "Ġrencont res", + "eg ral", + "sc ala", + "_f amily", + "ÃŁ en", + "_s ym", + "Ġuncert ainty", + "ĠVAL UE", + "Ġ} ;čĊčĊ", + "Ġbro ader", + "Ġh orses", + "ãģ Ŀ", + "ĠK al", + "ob a", + "_IN ET", + "ĠK ill", + "j query", + "am ination", + "[ @\"", + "Ġm uj", + "## #Ċ", + "First OrDefault", + "then Return", + "C he", + "/ footer", + "Ġpark s", + "as je", + "ĠG ulf", + "Ġmod est", + ". Init", + "ï¼Ł ĊĊ", + "Ġpros pects", + "Ġs vg", + "Ġå ı", + ".D ialog", + "_N ET", + "Ġ( ($", + "Ġe k", + "ĠW arning", + "ĠM K", + "< LM", + "Ġ' čĊ", + "i em", + "h etic", + "Ġi x", + "th ink", + "-sh adow", + "ĠE ld", + "ĠNev ada", + "ĠLe af", + "ĠG ROUP", + "Ġprom o", + "ent ine", + "ĉ Map", + "ĠModel s", + "ĠK rist", + "_k ernel", + "-m ade", + "Ġc err", + "As sets", + "ell ar", + "Ġinv oked", + ".v ue", + "Ġcult iv", + "C losed", + "Ġgener ates", + "ffff ff", + "thes ize", + "s qrt", + "ĠCast le", + ".c ar", + "Ġke en", + "und a", + "ĠC row", + "ĠSing h", + "y thon", + "Ġbe ans", + "l arg", + "æĸĩ ä»¶", + "Aw esome", + "unc ate", + "Path s", + "o ji", + "(c urr", + "CON DS", + "Ġm im", + "Ġshould ers", + "H ard", + "ast es", + "а еÑĤ", + "Ġconv ince", + "de cess", + "m ade", + "ĠC MD", + ". Im", + "Ġcha os", + "ens ively", + "Ġcool ing", + "Ġbur ied", + "(' @", + "_S e", + "ĉĉĉĉĉĉĉĉ ĉĉĉĉĉĉĉĉ", + ".com pany", + ".sub mit", + "ph ant", + "Ġboot strap", + "_h elp", + "à §", + ".d ump", + "Ġdif er", + "_m apping", + "Ġcirc ular", + "Ġescort s", + "Ġb ere", + "Ġgrad u", + "ĠLeg end", + "im edia", + "ĠBar celona", + "Ġbed s", + "åĪ °", + "ãĢ Ĭ", + "_v olume", + "Ġtremend ous", + "Ġsc aling", + "Ġp ins", + "en as", + "type param", + "D ashboard", + "render er", + "Ġsp i", + "Ġ& $", + "ĠSk in", + "alm art", + "Ġh ockey", + "Ġ'\" .$", + "Ġerr no", + "Ġb ew", + "Follow ing", + ".M odule", + "er able", + "ĠM ilitary", + "ĠR io", + "_ available", + "ĠSur face", + "Ġst ab", + "IF IER", + "ĠL IST", + "Ġd ashboard", + "Ġcl usters", + ".pl ugin", + "Ġj ou", + "ĠDec or", + "F our", + "Ġdel le", + "****** /Ċ", + "ia z", + "in de", + "ch ing", + "Ġget Item", + ".Add ress", + "ment ed", + "A meric", + "Pl ain", + "Ġus b", + "ĠPract ice", + "_ ment", + ".bl ue", + "H int", + "ÑĢаР²", + "Ġconn ector", + "Ġinher ited", + "и в", + "Ġinterval s", + "Ġc ere", + "Ġu d", + "Ġin con", + ".Ex ists", + "ĠM ic", + "F K", + "(c ard", + ".Set tings", + "Ġexhib ition", + "Ġon Pressed", + "Ġrest ored", + "eng u", + ". def", + "Ġrec v", + ".\" );čĊ", + "enc oder", + "ather ine", + "( dest", + "az ed", + "# endregion", + "sem bl", + ", M", + "ob y", + "Ġп еÑĢ", + ".C all", + "Ġattend ance", + "-b order", + "Ġaddress ing", + "ê n", + "ĠLe v", + "Ġb ash", + "ben ch", + "C redentials", + "Sp acing", + "( of", + "_RE SET", + "ig uous", + "Ġcr uel", + "Ġcross ed", + "Ġle ur", + "ĠG olf", + "or rect", + "Ġpack ets", + "ĠData Set", + "Ġpart ly", + "SEQU ENTIAL", + "Ġindic ation", + "ĠS alt", + "ac ia", + "Ġ* );Ċ", + "ĉ info", + "ĠView Bag", + "on z", + "Ġeditor ial", + "ĠA rena", + "Ġs ir", + "_ Static", + "( socket", + "s u", + "cho ose", + ".m onth", + ".M y", + "é ri", + "; font", + "do es", + "Ġcon verter", + "Ġsal v", + "Ġl r", + "Ġinflu enced", + "(f eature", + "ĠQue ens", + "let t", + "_M ON", + "& amp", + "Touch ableOpacity", + "O FF", + "Ġmetab ol", + "( iter", + "Ġvit amin", + "ĠIND IRECT", + "aut om", + "_p ublic", + "Ġadjust ment", + "Ġspecial ized", + "w indows", + ".add All", + "Ġaccording ly", + "ĠJ OptionPane", + "Ġcell spacing", + "Ġqu ad", + "Ġcre ep", + "Ġout lets", + "}` )Ċ", + "Ġpri est", + "_TH READ", + "ĠMar x", + "ĠBy Val", + "Ġc ual", + "éĿ ¢", + "Ġtempor arily", + "An n", + "ke leton", + "å ¥", + "ĠLO C", + "au er", + "der ive", + "Ġbeh aviors", + "as ename", + "ĠCent ury", + "Ġhor rible", + "ME SS", + "_ List", + "we i", + "P at", + "ĠCh oice", + "_F ROM", + "ĉ line", + ".in voke", + ".B ottom", + "Ġnow here", + ".\" ĊĊĊĊ", + "_ export", + "Ġstrugg led", + ".Ap pearance", + "ĠJ Button", + "ĠJer emy", + "([ [", + "Ġkick ed", + "mar shal", + "st aff", + "es ity", + "Ġqu iz", + "_e ffect", + "Ġ} ));ĊĊ", + "m el", + "b anner", + "ĠP IN", + "Ġin vention", + "Ġcons olid", + "Ġop s", + "ĠB etween", + "j ack", + "ern ational", + "Ġsacr ifice", + "ag ation", + "ĠJ oy", + "Ġam endment", + "ĠS old", + "Ġprison ers", + "ан нÑĭ", + "Doc uments", + ") ])Ċ", + "ust ed", + "ĠLine arLayout", + "os o", + "_E M", + ".s elf", + ".M iddle", + ") //", + "Ġ\\ '", + "Ġfuck ed", + "ĠM urray", + "Ġprof ound", + "_E LEMENT", + "ult a", + "il ers", + "port folio", + "J une", + "t cp", + "mod ified", + "ĠTr ace", + "ĠK el", + "aly zer", + ") =>", + "ĠRep air", + "_B E", + "Br and", + "u art", + "pre view", + "Ġiniti atives", + "run ning", + "b ang", + "ĉ update", + "ĠCo ach", + "R ich", + "Ġy outube", + "Ġrit ual", + "app a", + "ĠRobin son", + "prec ision", + "//////////////////////////////////////////////////////////////// ////////////", + "=[ ]Ċ", + "Ġcelebr ated", + "OT O", + "Ġin clusion", + "J P", + "' ;čĊčĊ", + "Ġnot able", + "(_ .", + "Man aged", + "Ġgu ides", + "& nbsp", + "ated Route", + "ĠAd just", + "Ġcol ored", + "_s cores", + "ĠTes la", + "_pro gress", + ".in st", + "[' _", + ".fl ags", + "Ġf close", + "_O PER", + "ż y", + "_n ote", + "Ġtrans gender", + "å ķ", + "RI PT", + "Ġabs ent", + "Ġam et", + "Ġoper and", + "ë ©", + "Ġh ood", + "to LowerCase", + "av o", + "ĠCirc uit", + "ĠL ind", + "-- }}Ċ", + "= m", + "Ġsup press", + "ĠM AP", + "i ang", + "- admin", + "Ġside bar", + "ĠB u", + "ĠH ex", + ", F", + "ĠSign al", + "Ġtrans parency", + "ĠFeder ation", + "/ V", + "Re q", + "Ġpul se", + "Ġt ends", + "Num bers", + "% '", + "Ġde port", + "dat as", + "_U INT", + "_ tra", + "ok o", + "Ġ\" ?", + "comp et", + "sole te", + "und ry", + "Ġover lap", + "}` ,Ċ", + ". ly", + "_sum mary", + "ĠL ost", + ".C enter", + "Ġdis ability", + ".Serial ization", + "Ġge om", + "Ġ? :", + "ĠW o", + "Ġsh ipped", + "Ĥ æķ°", + "Ġu gly", + "Ġexcit ement", + "Ġext erior", + "Ġcheck out", + "Ġk ur", + ", D", + "ĠAl aska", + "Ġsyn thetic", + "ĠB udget", + "ĠSub scribe", + "Ġ& Ċ", + "ÈĻ i", + "ĠY u", + "ĉ query", + "} .Ċ", + "Ġtr aged", + "ass en", + "Ġaccommod ation", + "Ġphys ician", + "Ġren amed", + "Ġtid ak", + "z Äħ", + "Ġmin us", + "ny ch", + "_EX CEPTION", + "thread s", + "Ġt ire", + "_c reated", + "ens ure", + "Ġworth y", + "Ġexc use", + "Ġclo th", + ".parent Node", + "/pl atform", + "ĠU FC", + "ĠG tk", + "un ny", + "Ġg ibt", + "ke ley", + "h um", + "(t x", + "ĉ dev", + "Ġout fit", + "do ors", + "Ġf on", + "ic ut", + "vol atile", + "Ġhom osex", + "Max imum", + "Ġexp end", + "Ġ});ĊĊ Ċ", + "E q", + "ond ers", + "dep artment", + "ĠPhys ics", + "\" });Ċ", + "Ġpar ad", + ".S tr", + "Ġse le", + "IF IED", + "Ġdel ivers", + "iv an", + "Ġrespons ibilities", + "Ġadvoc ates", + "è µ", + "ĠR ID", + ".param eters", + "M etrics", + "ron ics", + "ĠUITableView Cell", + "A bsolute", + "ip se", + "yl um", + "MLE lement", + "_VAL ID", + "< title", + "D lg", + "p aces", + "Ġsynd rome", + "be ans", + "_d atabase", + "oz illa", + "ĠM eg", + "DB G", + "Ġl ub", + "Bag Constraints", + "ab ad", + "Ġproject ed", + "_BY TE", + ".Size F", + "st reet", + "ĊĊĊĊ ĊĊĊĊĊĊ", + "ĠLO SS", + "Ġdirect ors", + "/ news", + "Ġnurs ing", + "ĠD one", + ". HTTP", + "dis count", + "ĠR ot", + "To Many", + "Ġen abling", + "Ġauss i", + "ost a", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ čĊ", + "è½ ½", + "Ġhel icopt", + "ĠIn side", + "ä¿¡ æģ¯", + "is per", + "ĠAll ah", + "ARCH AR", + "Ġroll s", + "Com pare", + "X P", + "Index Of", + "S UM", + "Ġass ured", + "ĠPhys ical", + "End point", + ".G lobal", + ".d etail", + "Ġthe ft", + ".j upiter", + "Ġhum or", + ".R ender", + "A lex", + ".c ap", + "Ġbuff ers", + "Ġdis pose", + "t ion", + ".p resent", + "z el", + ", P", + "Ġdesper ate", + ".get Column", + "Ġtw in", + "ì ĸ", + ".c an", + "Ġf lee", + "ĠIran ian", + "Ġstick y", + "ĠU TC", + "L T", + "//////////////////////////////// ////////////////", + "Ġl icensing", + "_PO INT", + "ĠM aps", + "Ġl ol", + "= models", + "-t ab", + "ĠN ash", + "_log ger", + "tor ch", + "ĠCON SEQUENTIAL", + "Not Empty", + "/ react", + "Ġp f", + "Ġassert ion", + "Ġsubsequ ently", + "_c an", + "Ġpand emic", + "og ue", + "\"+ Ċ", + "_ ent", + "_P aram", + ".ĊĊ ĊĊĊĊĊĊ", + "Res earch", + "C apture", + "Ġbel oved", + "d em", + "Ġextract ed", + "Ġf ights", + "ER C", + "(a uth", + "position s", + "Ġrevers ed", + "(st ack", + "Ġ_ )", + "uto ff", + "_fl ow", + "ç Ĥ¹", + "( Game", + "Ġex cluded", + "ĠCS V", + "c g", + "ĠT itan", + "p ause", + "Ġcer ca", + "Ġdump ster", + "L ess", + "Ġkotlin x", + "aster xml", + "Ġpoint ers", + "Ġfl ows", + "ĠT un", + "ĠMain Activity", + "Ġdis cret", + "Ġcomb inations", + "vis it", + "_b ind", + "oot ing", + "d ater", + "_look up", + ".n io", + "Ġswe at", + "ĠR d", + "Ġscient ist", + "ĠP ixel", + "@ NgModule", + "Play ing", + "Ġunf old", + "Trans late", + "ĠLaw rence", + "ĠFIX ME", + "B ill", + "ĠR IGHT", + "Ġwhere ver", + "Ġo ok", + "vid ence", + "Ġ] ];", + "ĠSk ill", + "unist d", + "ĠðŁ ĻĤ", + "Ġfem ales", + "-- )Ċ", + "İ· åıĸ", + "ĠF red", + "Over all", + "Ù Ĥ", + "Ġess ence", + "Ġthere by", + "Ġw ounded", + "ĠD OWN", + "les son", + "text ure", + "R ound", + "Ġautom ated", + "ĠÐ ¡", + "ĠUp dates", + "Ġsh ade", + "p ublish", + "ĠG ear", + "= lambda", + "Ġle ver", + ") +\"", + "h ill", + "Ġrad ar", + "ry ing", + "Ġ\" ).", + "f illed", + "Ġline up", + "Ġd l", + "Ġworks pace", + "V o", + "_d t", + "ë ²", + "_ Item", + "NS URL", + ". verify", + "ĠHawai i", + "G od", + "M arch", + "Ġ[â̦ ]", + "Ġpel o", + "ur ious", + "ĠPitt sburgh", + ". It", + "C lean", + "> \\<^", + "Ġi os", + "s ound", + "\"] ;", + "Ġfre ed", + "rot tle", + "ĠL ower", + "[ count", + "å Ŀ", + "Ġp ale", + "ĠWay ne", + "ear th", + "_c ategories", + "U CK", + ".m etadata", + "Ġsum mon", + "H OME", + "олÑĮ з", + "Ġmanufact ured", + "Ġdo ck", + "Ġcompet itors", + "_MODE L", + "ok ia", + "ĠH ey", + "Î ¿", + "Ġback ward", + "ĠPO SS", + "rop a", + "Ġc ri", + "_O BJ", + "Trans port", + "-h igh", + "Ġerot ik", + "_s lot", + "Ġart ic", + "_f ramework", + "-ser if", + "ĠSql DbType", + "') (", + "+ \"/", + "Ġw ore", + "S il", + "Ġst oring", + "ĠPh ase", + "u ant", + "Ġb ump", + "in ho", + "Ġd ign", + "Ġback s", + "q q", + "(h ash", + "Ġge o", + "Ġt ender", + "Log o", + "! )Ċ", + "ĠM X", + "ĠAr thur", + "esso a", + "_C h", + "Ġbed rooms", + "=\"# \"><", + "Ġth roat", + "ins ic", + ".int eger", + "Ġpr imitive", + "Truth y", + "Ġfacilit ate", + "Ġcreat ivity", + "ĠD NS", + "Ġg ra", + "ue z", + "Ġcount less", + "ĠPol and", + "' M", + "ĠD ist", + "Ġv est", + "Ġcert ification", + "á» ij", + "h eld", + "ext ensions", + "( static", + "Ġgr ades", + "ĠU ber", + "ãģ Ł", + "Ġ[ ])Ċ", + "dat os", + "Ġget Data", + "ĠCh arg", + "ĠB S", + ".m icrosoft", + ".v ideo", + ".d irection", + "->{ '", + "l ua", + "ape st", + "Ġbo iler", + "ere k", + "Ġdec ides", + ".j ar", + "IS C", + "ĠW ords", + "(C ON", + "EMPL ATE", + "ree ze", + "sh ots", + "app s", + "unt ed", + ".set Name", + ":: <", + "-b old", + "ê ²", + "å¯ Ĩ", + "Long rightarrow", + "Ġunf air", + "Ġear ning", + "Ġsh elf", + "URE MENT", + "Ġid le", + "_M ENU", + ".C ustom", + "AG ER", + "- \"", + "_s witch", + "b ecause", + ") view", + "m are", + "_ condition", + "ĠStart ing", + "M vc", + "(p re", + "d ump", + "_LO CK", + "at etime", + ".c allback", + "ĠC er", + "op ol", + "ib rary", + "Ġres ervation", + "ĉĉĉĉĉĉĉ Ċ", + "lect or", + "grad uate", + "Ġgener ous", + "Ġ ion", + "ric ao", + "m q", + "_com plete", + "(c ursor", + "ĠForm Control", + ": center", + "Ġsub stitute", + "ĠPl anning", + "Ġp ension", + "Ġrecommend ation", + "ĠT ags", + "Ġg ef", + "Ġalbum s", + "Ġwash ing", + "ro c", + "Ġtr ains", + "at ings", + "Ġex ponent", + "ack bar", + "- ln", + "á g", + ".Data Annotations", + "ĠE IF", + "ĠMalays ia", + "ĉ PORT", + "on us", + "Ġcle ver", + "Ġpe u", + "> ĊĊĊĊ", + "ĠArg uments", + "Ġdebug ging", + "( right", + "' D", + "com pute", + "Ġfin est", + "OR AGE", + "Ġspect acular", + "ph rase", + "Ġind ia", + "Ġlegend ary", + "b irth", + "Ġcom posite", + "Ġg rows", + "ĠT D", + "Ġep id", + "Ġlaunch ing", + "] ][", + "Min utes", + "ĠCh a", + "Ġclean ed", + "Ġwitness es", + "uk an", + "ĉ Type", + "Ġhab e", + "par agraph", + "ĠJ Panel", + "ĠH ann", + "Ġvar ied", + "ĠP okemon", + "ĠM UST", + "åĬ ¨", + ".vis ibility", + "op up", + "^ [", + ".exp and", + "Ġ\" ',", + ".f asterxml", + "_ auto", + "ĠShe et", + "mark er", + "Par cel", + "ew s", + "ĠStr ategy", + "-m aking", + "Ġun ve", + "Ġtrail ing", + "Ġclick s", + "ĠGet Component", + "ĉ content", + "IG ENCE", + "ERN EL", + "NSMutable Array", + "Ġb reat", + "Ġharm ful", + "¶ Ī", + "Ġbes ides", + "Ġb oring", + "Ġbrut al", + "v ang", + "(p arse", + "qu ick", + "Ġpy test", + "Ġswitch ing", + "() ]Ċ", + "Ġì Ħ", + "L ER", + "ĉf ont", + "Ġnet t", + ") ]ĊĊ", + "(/ \\", + "æŀ ľ", + "to Array", + "Ġbre ed", + "ĠC AR", + "ĠWe apon", + "A bs", + "t ot", + "Ġset Name", + "apt ive", + "Ġ: ,", + "Ġesc aped", + "ord en", + "ĠP ri", + "th umbnail", + "Ġdescri ptions", + "/ styles", + "ĠPC I", + "Ġal phabet", + "astic search", + "NOT E", + "Ġc ialis", + "ĠGr iff", + "Ġpor que", + "Ġprote ins", + "pl ays", + "Ġst ating", + "Ġimag ination", + "Ġfac ial", + "ĠMe chan", + "Ġarr anged", + "_ used", + "Ġarrang ements", + "ĠP ipe", + "host name", + "Ġprov inc", + "T it", + ".Flat Style", + "ĠS plit", + "ĠLo ader", + ".c c", + "Ġclin ic", + "---------------- ------------", + "Ġb aking", + "ĠEN T", + "ne ath", + "ãĢģ ĊĊ", + "AN E", + ".EntityFramework Core", + "app ers", + ". ic", + "ĠNg Module", + "ĠF ORM", + "Ġ' ;", + "-pro fit", + "h w", + "en emy", + "ĠE ye", + "Ġca ution", + "t own", + "Ġur ged", + "ĠJim my", + "ynchron ous", + "-s ized", + "m aking", + ", {", + "] ',", + "_ Object", + "ah oma", + "Ġactiv ist", + "IN VAL", + "ĠCom mercial", + "ĠOr lando", + "(t ab", + "ĠØ ¨", + "Al gorithm", + "Ġher itage", + "Get Mapping", + "Ġfail ures", + "ri os", + "at iva", + "Ġt et", + "Ġcar pet", + "( Z", + "th ree", + "Ġdisc losure", + ". ERROR", + "_c alled", + "Ġd ial", + "Ġoccas ional", + ".E rr", + "Ġfunc ion", + "caff old", + "Ġrele asing", + "ï¼ī ĊĊ", + "_ Value", + "ĠV ari", + "y ellow", + "Ġstrugg les", + ".c al", + "ĠDak ota", + "ĉc lose", + "Ġsand wich", + "Ġanaly tics", + "Ġ** )", + "& #", + "ĠJ os", + "Ġpass ive", + "AT TR", + "Th rowable", + "ĠM un", + "ĠU int", + "(dis posing", + "ar ak", + "ĠLe aders", + "Ġaffect ing", + "Ġitem View", + "Ġeconom ics", + "f v", + "๠Ģ", + ".r b", + "ĠOver all", + "Ġwealth y", + "Ġev olved", + "nd a", + "ĠH us", + "re strict", + "um en", + "ĠA gricult", + "! ĊĊĊ", + "Ġexp ires", + "Ġspokes person", + "int erval", + "Ġà ¢", + "Ġque en", + "(n il", + "ing o", + "He ap", + "Ù İ", + "Ġcompl ain", + "S ym", + "ĠCl one", + "ĠR u", + "ĠW ILL", + "ĠCr ystal", + "/ content", + "ing en", + "oint ment", + "Last Name", + "av icon", + "ĠIB M", + "ĠDim ension", + "an h", + "icip ants", + "ĠAn ne", + ".pro gress", + "Ġal go", + "ob il", + "ĠV oice", + "ĠF E", + "Ġg li", + "Ġv ed", + "Ġprevent s", + "\\ Column", + "Ġfol k", + "ett i", + "Ġm n", + "ĠCL ASS", + "Ġdisplay ing", + "ĠK l", + "ĠF err", + "d uto", + ". ib", + "Ġd ados", + "' name", + "-s pace", + "Ġit alian", + "Ġin verse", + "Ġd ense", + "ut er", + "ĠI Enumerator", + "-s ign", + "Ġnation wide", + "Ġperson a", + "Ġsol ved", + "Ġdram atically", + "Log out", + "Ġgr av", + "Ġanalys es", + "ol lo", + "Ġl amp", + ". team", + "ĠE rot", + "= [\"", + "Ġd ancing", + "Ġ?> /", + "Ġc ater", + "ff e", + "ĠSh a", + "ĠB os", + "ĠRE QUIRE", + "ĠMon ster", + "ĠR B", + "ĠI DE", + "Ġsu its", + "Ġform Data", + "( theta", + "Ġsp atial", + "= NULL", + "ĠSql Connection", + "Ġ à", + "ĠV enez", + "ĠMor ning", + "Ġpublic ations", + "ĠNON INFRINGEMENT", + "first Name", + "ud s", + "W ould", + "_HE AD", + "Ġinvest ed", + "st able", + "f red", + "Ġcommand er", + "SE S", + "âĢĶ a", + "an che", + "ĠM ovement", + "ë ³", + "S uite", + "Ġjur isdiction", + "ë¦ ¬", + "ĠB eth", + "j Query", + "ĠIs a", + "Ġd ental", + ", *", + "ĠL imit", + "ili ation", + "=\" {", + "b ast", + "Ġt urb", + "is y", + "O OK", + "Ġadvoc ate", + "im ag", + "LE CTION", + "л ÑĮ", + "(c ategory", + ".de c", + "Ġun iqu", + "_s n", + "Ġattract ed", + "Ġà ī", + "ĠRun ning", + "_ edges", + "ĠDis able", + "_A S", + "åĽ ¾", + "Ġnetwork ing", + "_br anch", + "H aving", + "toBe Truthy", + "G I", + "Ġcamp s", + "se p", + "-p art", + "Ġ)ĊĊ ĊĊĊĊĊĊ", + "ustral ia", + "ĠRe ports", + "rit o", + "Ġwa ist", + "_pl us", + "ĠW W", + "-p erson", + "Apr il", + "Ġs ar", + ".t ar", + "Ġagricult ural", + "t ic", + "Ġt cp", + "Ġset Value", + "agent o", + "ĠAp pe", + "p iler", + "CA DE", + "Ġan che", + "atch er", + "Ġcom ics", + "Ġl bs", + "_se gment", + "'] =$", + "itt ers", + "ich er", + "G INE", + "Ġutil ize", + "ĠC ursor", + "_ex pression", + "Ġd ag", + "< long", + "Ġr hyth", + "æı IJ", + "Ġconsult ation", + "Y et", + "\")) ĊĊ", + "_M AC", + "c ould", + "Ġ' \\\\", + "ĠV o", + "ĉ http", + "Ġg s", + "ph er", + "- grid", + "J ames", + "J ul", + "Ġsch on", + "Ġtensor flow", + "ĠLOG GER", + "am as", + "Ġsc ipy", + "Ġconv iction", + ". ag", + "Ġadministr ator", + ")) {čĊ", + "Ġn un", + "\" group", + "P or", + "Ġnur se", + "ex pression", + "ak y", + "ĠHe avy", + ". opt", + ".get All", + "Ġover l", + "/ \",", + "_c ountry", + "ç İ", + "ĠG ENER", + "_r oute", + "ĠD al", + " ´", + "ol oad", + "Ġuncomfort able", + "(m enu", + "Ġhost name", + "' \");Ċ", + "Ġcalcul ations", + "-c lick", + "Ġprotect ive", + "ãĤ ¯", + "_F orm", + "ung s", + "Act ual", + "m f", + "ĠProcess ing", + "ĠIn ventory", + "(m atrix", + "app ropriate", + "w eg", + "ij a", + "Ġch r", + "Ġr ifle", + "-w sj", + "k ar", + "Ġindepend ently", + "I OS", + "Ġconsist ency", + "v n", + "/s ystem", + "ĠCh anges", + "Ġexp ose", + "ici ents", + "Ġrel ate", + "ĉ next", + "è ¨", + "ud es", + "Ġglass es", + "F XML", + ".... ..", + "ĠP df", + "Ġappro ve", + "Ġ{ \\", + "Ġexist e", + ")) (", + "ARE NT", + "оР¿", + "ĠL atest", + "ĠNiger ia", + ".Inter faces", + "Ġrem oves", + "En emy", + "Ġen force", + "vert s", + "ĉ pos", + "_text ure", + "W ARD", + "ĠINC IDENT", + "( container", + "Ġdef ending", + "ĠR X", + "ĠH ook", + "br is", + "ĠFl ask", + "Gr ay", + ". )Ċ", + "vis ibility", + "ĠRedirectTo Action", + "err al", + "_e lem", + "Ġres on", + "front end", + "_variable s", + "ater ia", + "Ġ+ \"", + "ave led", + "RI X", + "Ġdef icit", + "_C heck", + "YY YY", + "To One", + "sp y", + "Ġun ited", + "end ent", + "Ġp ode", + "ãģ Į", + "C AT", + "(f mt", + "ĠBon us", + "Ġre ck", + " º", + "Mod ules", + "Ġvac uum", + "R adio", + "ĠDAM AGE", + "P en", + "ĠPark er", + "; ;Ċ", + "ĠRe ally", + "_n eg", + "p ending", + "Ġnomine e", + "ĠC ategories", + "ĠUl tra", + "We apon", + "Ġdef ender", + "I ss", + "ĠG ender", + "ĠD ress", + "Ġimpr ison", + "Ġbank rupt", + "imension al", + "PH A", + "ĠStr ateg", + "ĠPROF ITS", + "Ġp atri", + "//////////////////////////////////////////////////////////////// ////////////////", + "de legate", + "Ġfor State", + "Ġdev oted", + "_m ake", + "Ġterror ists", + "ĠS nap", + "_n av", + "ĠA A", + "ĠI an", + "ĉ app", + "Pl acement", + "_h dr", + "< K", + "Ġs ang", + "st roke", + "- Q", + "> x", + ".T ask", + "m oney", + "ib aba", + "' });Ċ", + "ĠSpec ific", + "ĠLine ar", + "_O PT", + "Hash Code", + "( Player", + ".Contains Key", + "Ġcoll apsed", + "trans parent", + "_R ANGE", + "View er", + "(c fg", + "Ġsort ing", + "Ġinf ected", + "ĠN ach", + "Ġaccommod ate", + ".element s", + "_P ART", + "ĠSex y", + "= get", + "( year", + "Ġx hr", + ": ]", + "ows ki", + "Ġsum mar", + "Ġ ¿", + "Ġint e", + "Ġwork flow", + "ĠTai wan", + "vers ions", + "åı ij", + "Ġsurprising ly", + "Ġopt ical", + "Ġpro ces", + "Ġdisag ree", + "Ġnue vo", + "ĠC AM", + "sort ed", + "le ases", + "ist le", + "Id ent", + "ĉ event", + "ject ed", + "Ch unk", + "V ars", + ".pro vider", + "Ġproceed ings", + "Ġin clusive", + "Ġart work", + "end ants", + "ï¼ļ Ċ", + "se en", + "Ġl ig", + "Ġm akers", + "_f un", + "Ġlength s", + "Path Variable", + "[ item", + "ภµ", + "De ad", + "FFFF FF", + "ĠUr ban", + "up les", + "ich en", + "(null ptr", + ".s pec", + ", System", + "UR ATION", + "(j ob", + "å¼ ı", + "Ġtrack er", + "Å Ļ", + "ĠM R", + "ĠSQL ite", + "Ġd to", + "Ġ; ;Ċ", + "Ġm int", + "ĠInt roduction", + "ca o", + "Ġquestion ed", + "Ġf itted", + "rev ision", + "s q", + "Ġm ig", + "_un its", + "_ async", + "Ġf lick", + "});ĊĊ Ċ", + "Ġnot re", + "}` ,", + "F ilters", + "Ġm undo", + "_d ays", + "Ġfr m", + "ut c", + "Ġval s", + "ew idth", + "ĠGener ator", + "ĠArt ist", + "ĠID s", + "ĠArt icles", + "re ater", + "ĠComponent Fixture", + ". =", + "Ġr ou", + "- no", + ".b ukkit", + "eg g", + "ĠD iff", + "atic s", + "Ñĥ Ñĩ", + "âĢĶ ĊĊ", + "ĠChar lotte", + "by e", + "Ġ} );čĊčĊ", + "ĠV ik", + "ĠB row", + "Ġl v", + "ĠG ib", + "-w ing", + "GL IGENCE", + "(I l", + "ĠEngine er", + ".W ait", + "ĠP ictures", + "Ġr het", + "Ġth ermal", + "Ġpr aise", + "< >();ĊĊ", + "ĠSp ider", + "P ause", + "ĠB aker", + "Ġsl ower", + "Ġ} ]Ċ", + "_en queue", + "Ġdisappe ared", + "ĠT icket", + "IN UX", + "_LOC AL", + "аÑģ Ñģ", + "@Inject able", + "comm unity", + "Gesture Recognizer", + "åĽ ½", + "Ġsca les", + "Ġ- (", + "/ '+", + "ĠS it", + "Ġexecut ives", + "ard ing", + "Ġad vers", + "Ġback wards", + "ĉ context", + "ĠH amp", + "ĠP F", + "ĠDe ck", + "ĠCra ig", + "A merican", + "Ġb ell", + "Ġpro l", + "uf en", + "Ġr ng", + "ar shal", + "ĠSim ply", + "first name", + "sh ore", + "J uly", + "Ġmort ality", + "ĠâĨĴ ĊĊ", + "Help ers", + "Ġbench mark", + "em ade", + "Ġorganis ations", + ".g son", + "ĠText Field", + "Ġciv ilians", + ".Array s", + "ĠMiss issippi", + "Ġinter mediate", + "get User", + "_cl uster", + "Rel ative", + "fore ign", + ".querySelector All", + "Fore ignKey", + "Ġreason ably", + "-------- -Ċ", + "C ards", + "ĠK am", + "ĠTh or", + "Ġroll er", + "-e lement", + "ĠC urrency", + "dd ie", + "ALL Y", + "ĠR A", + "Ġper met", + "aa aa", + "Ġhom ework", + "ĠV it", + "Ġm old", + "ĠF er", + "[ start", + "Ġstatist ical", + "Ġsc ary", + "_H OME", + ".B egin", + "Con struct", + "ogen ic", + "ĠDEAL INGS", + "Ġtamb ién", + "ix on", + ". ind", + "ac re", + "Ġtransform s", + "ĠN ap", + ".B lock", + "uss ia", + "pir ation", + "ul ent", + "Ġce il", + "Cl ause", + "na ire", + "T ES", + "Ġne at", + "ST D", + "ĠReg Exp", + "per form", + ": )", + "Ġun ions", + "Ġs ublic", + "Ġw inds", + "lo ating", + "g lich", + "Ġp agination", + "S kill", + "App ly", + "ĠOper ator", + "ist ogram", + "Ġqual ities", + "C ross", + "Ġde com", + "], \"", + "ĠJ uan", + ".mod al", + ".Ch ild", + "ĠRog er", + "STIT UTE", + ":CGRect Make", + "a lette", + "Ġst a", + "as ide", + "Ġbl ur", + "ĠW a", + "if etime", + "re ed", + "control s", + "Ġb ins", + "Ġп ол", + "*/ ,Ċ", + "U IS", + "ĠR ou", + "ĠDem o", + "- awesome", + "ĠCh ain", + "Ġh asta", + "ĠB art", + ". KEY", + "Ġvend ors", + "nof ollow", + "ĠD est", + "_b uilder", + "Ġarg ues", + "_ answer", + "g oto", + "ĠRES ULT", + "ĠM ON", + "Ġp oder", + "o ons", + "_C ASE", + "Ġrep lic", + "Ġfin ancing", + "ĠD ATE", + "c ern", + "_tr ack", + "t ies", + "/ logo", + "ĠNE GLIGENCE", + "get Type", + "> T", + "b et", + "g irl", + "ĠINCIDENT AL", + "-s ite", + ".tr igger", + "ĠL isa", + "_input s", + "Ġrel atives", + "Logged In", + "Config ure", + "I K", + ". accept", + "Res ume", + "ĠD raft", + "Ġ* >(", + "ĠW A", + "ed ian", + "ern ess", + "ĠLayout Inflater", + "*/ čĊčĊ", + "oth y", + "Ġoblig ation", + "Sub scribe", + "Ġth umbnail", + "ex ist", + "Ġins isted", + "ĠU ICollectionView", + "ĠAng ular", + "Ġtable ts", + "ĠImp act", + "ãĢį ĊĊ", + "ah o", + "Ġcharacter istic", + "g d", + "Ġ= ================================================", + "our t", + "` .", + "App ro", + "Co ordinate", + "Rem ember", + "Ġmar ine", + "] =='", + "ĠAdmin istrator", + ".get Default", + "Ġforg ot", + "ĠStruct ure", + "V ue", + "ars ing", + "m oment", + "k w", + "_c ursor", + "Att ack", + "Ġath letic", + "Ġdiagn osed", + "Ġend e", + "åĪ łéϤ", + "H ouse", + "ĠP ARAM", + "Ġw iki", + "ĠO pp", + "Ġcons ervation", + "Ġs nd", + "_t em", + "sub str", + "ĠC ape", + ".s im", + "UT ION", + "an an", + "âĢĻ un", + "Ġg y", + "- work", + "Ġcomp elling", + "=' #", + "ĉs ub", + "Ġdirect ories", + "íĬ ¸", + "Ġtouch es", + "out ines", + ".C ollection", + "s chedule", + ".l at", + "ĠDo ctrine", + "CA A", + "ĠRe fer", + "Ġshift s", + "Ġlik elihood", + "pre ter", + "ĠF emale", + "Ġinter cept", + "Ġl ou", + "çĻ »", + "Ġr ug", + "ĠC rown", + "Ġ************************************************************************ ****", + "- product", + "Ġprompt ed", + "ung le", + "d ocker", + "ĠT u", + "ĠUn ique", + "_ Error", + "ul os", + "Ġâ Ħ", + "Ġ( `", + "Get ting", + "_s cal", + "ĠEn h", + "ü t", + "Ġsust ained", + "Ġp atches", + "Ġpros per", + "ĠG aza", + "_l ight", + "Ġin cons", + "-------- Ċ", + "ĉĉ ĠĠĠĠĠĠ", + "S F", + "C N", + ": \";Ċ", + "ĠColl ins", + "( *)", + "Ġcomp ilation", + "'] čĊ", + "Ġcon sequence", + ", ...", + "Ġd m", + "ĠB LOCK", + "Cl uster", + "Ġsk i", + "(arg c", + "T uple", + "Ġjo ins", + "ĠSher iff", + "W ar", + "ind i", + "Ġcomment ed", + "H OST", + "Ġinv itation", + "apan ese", + "Ġperm its", + "preced ented", + "_z one", + "ĠA my", + "_R D", + "Min imum", + "Ġinv ocation", + ".en able", + "icht en", + "- owned", + "\" id", + "_PO INTER", + "F ac", + "Ġspecific ations", + "Ġnom ination", + "Ġg p", + "< (", + "Ġrob ots", + "ĠJ erry", + "Ġhold ers", + "Ġw and", + "c ms", + "Ġ} ))Ċ", + ".To ast", + "ĠI List", + "B ased", + "z oom", + "/ style", + "ĠBe ck", + "M en", + "Ġcontrib uting", + "Ġund o", + "ĠO H", + "Ġadd Object", + "Ġe igen", + "sign up", + "éĶ Ļ", + "Ġdist ant", + "PAR ATOR", + "ĠM ari", + "Ġm á", + "E mp", + "ó s", + "Ġì Īĺ", + "ev t", + "+ j", + "p ark", + "ĠSt ay", + "ĠD un", + "Ġso y", + "> %", + "az ines", + "Ġti empo", + "(m e", + "p resent", + ".Th is", + "Ġedit ors", + "F IELD", + ".W ork", + "ĠUn iverse", + "Ġdr unk", + ".t imer", + "Ġalter ed", + "ĠN ar", + "ëł ¥", + ".Act ive", + "id or", + "ç Ń", + ".delta Time", + "Ġawk ward", + "& quot", + "ĠSaf ari", + "Ġtr icks", + "MENT S", + "div ision", + "Ġvary ing", + "ĠHigh way", + "Ġphotograph er", + "ĠSt ewart", + "Ġlast ing", + ".P re", + ".amazon aws", + "ĠL uck", + ".D escription", + "ĠN az", + "n eg", + "Ġc ó", + "<<\" \\", + "ĠSur v", + "ĠU nc", + "Rec ipe", + ".Border Style", + "Ġmod ifications", + "- at", + "AT FORM", + "h dr", + "ak o", + "Ġsublic ense", + "ĠJ ump", + "Ġbe im", + "ĠMan hattan", + ". bool", + "_h w", + "ÑĤ ÑĮ", + "B in", + "Ġg ateway", + "\" \":", + "ĠU IS", + ":\" +", + "- def", + "ĠReg ular", + "/ testing", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "string stream", + "Ġdis par", + "Ġmob il", + "- read", + "ĠAd apter", + "ĠCh ampions", + "Ġsched uler", + "Ġk ills", + "ĠM ultiple", + "ir ror", + "Ġgod s", + "AD O", + "ak te", + "ĠUs uario", + ".c ircular", + "Ġre cept", + "ĠEx pr", + "Ġelder ly", + "Ġnic ely", + "Ġbest e", + "W ant", + "Ġclass ical", + ".s prite", + "obj c", + "ĠM ason", + "Ġsist ema", + ".Bl ack", + "es o", + "ĠZe it", + "Ġdiv id", + "Ġent ers", + "_sub ject", + "ĠPlan et", + ".w arning", + "ĠG ram", + "_t okens", + "Ġhousehold s", + "_c ustomer", + "user Name", + "c ross", + "Ġp ione", + "Ġass ists", + "_S M", + "ib o", + "Ġlo yal", + "Ġuse less", + "# elif", + "ĠUlt imate", + "C ome", + "g el", + "Ġd ich", + "xy z", + "ik el", + "ob ra", + "_s can", + "ĠInter ior", + "ĠN ice", + "Ġpl ac", + "ĉt arget", + "Ġvir al", + "ass o", + "() /", + "und e", + "ĠAd obe", + "O s", + "vis ited", + "ĠO W", + "ĠFe ed", + "ĠSe quence", + "Ġman ages", + "in son", + "ĠLouis iana", + "{ })", + "ĠH ab", + "ĠL D", + "Ġb ip", + "pr ites", + "(e lem", + ".h ibernate", + "él é", + "Ġoh ne", + "_trans action", + "Ġann unci", + "P ublished", + "ĠH onda", + "ĠT am", + "ĠP acket", + "_ selector", + "Ġchalleng ed", + "Process ing", + "-h over", + "Ġtr ainer", + "_c ancel", + "ĠNS Dictionary", + "ab ric", + "ĠM LS", + "_s ensor", + "Ġshr ink", + "ĠF X", + "th reshold", + "ĉH X", + "-m ark", + "` .`", + "S cheme", + "(f ull", + "_w riter", + "ĠS ys", + "Ġf led", + "ĠC in", + "-w idget", + "ĠPre vious", + "G ender", + "_ question", + "Fe ed", + "Ġscr ut", + "(p refix", + "ãĢĤ ãĢĤ", + "Ġin fections", + "Part s", + "Ġhier archy", + "_DE LETE", + "ĠPat ient", + "_p ay", + "Ġprom oted", + "Ġì ĭ", + "Ġcivil ian", + "Ġagricult ure", + "ĠP iece", + "Ġst ance", + "uts che", + "Ass ign", + ".A CTION", + "F ig", + "_r adius", + "ĠS ync", + "du cer", + "f ailure", + "ens ed", + "pt ime", + "B M", + "_dat etime", + "qu ivo", + "QUE UE", + "èĢ ħ", + "Ap pear", + "Ġsum mit", + ": void", + "Ġv ine", + "è® ¤", + "on ne", + "_TR ANS", + ".g reen", + "_ cc", + "Ġhung ry", + "Ġ\" >", + "() );čĊčĊ", + "Ex tract", + "iz ens", + "Ġsol ver", + "Not ify", + "Ġeng lish", + "ĠSh opping", + "inter faces", + "RE Q", + "Ġil leg", + "ĠUI ImageView", + "Ġdis connect", + "ĠUnt il", + "ĠConserv ative", + "@ Column", + "Ġshift ed", + "Ġ: čĊ", + "Ġf ich", + "Ġd la", + "Ġsh oe", + "\"), čĊ", + "ular ity", + "_RE SP", + "We ather", + "UI Application", + ". iterator", + "Ġag ing", + ".P arent", + "ow ie", + "(e qual", + "ĠCon v", + "/ default", + "Ġmeas uring", + ".pre v", + ".Is Valid", + ".F at", + "Ġs Äĥ", + "key words", + "with out", + "Ġso vere", + "Ġex changes", + "Ġm elt", + "Ġis lands", + "ĠInt egr", + "Ġjump ing", + "Ġg le", + "Ġjournal ism", + "Ġd ated", + "Local ized", + "ĠRef resh", + "Part icle", + "Ġa a", + "ĠSTR ICT", + "Ġb od", + ".Pro cess", + "_A UTO", + "ĠP ublished", + "e very", + "Ġtechn ological", + "ls x", + "Ġir rit", + "Add itional", + "Ġdel imiter", + "_l anguage", + "- area", + "bo ys", + "ĠT ube", + "Ġw at", + "Ġmechan ics", + "_ owner", + "Sp ell", + "ĠSt ories", + ".Append Line", + "Table View", + "h em", + "st ick", + "oll ower", + "I FF", + "ĠU V", + "oll ision", + "S UB", + "Ġcompar able", + "Ġdon de", + "s ales", + "ll vm", + "Ġ} ],Ċ", + "OTT OM", + "ĠPur pose", + "L ab", + "Ġinterview ed", + "o is", + "as il", + ".set Id", + "ĠIn struction", + "-- >", + "ĠMod ified", + "ation ally", + "ĠMe eting", + "è¯ ¯", + "# region", + "Ġrout ing", + ".f ocus", + "ĠYou th", + "< D", + "ĠN ag", + "contact s", + "Ġform ing", + "Ġm ie", + "',[' ../", + "ĠB P", + "Ġapp et", + "ĠTe acher", + "ĠT P", + "Ġann ually", + "outed EventArgs", + "ĠSpe aker", + "Ġre name", + "CF G", + "(\" //", + "æİ ¥", + "/p ages", + "Ġpr és", + "ĠSp ell", + ".All ow", + "ĠINT ERRU", + "Ġ( #", + "âĢĻ ĊĊ", + "_G eneric", + ".im show", + "_t im", + "- face", + "(& (", + "atin um", + "Ġrevolution ary", + "ĠH ours", + "r ain", + "Ġany time", + "Ġab b", + ".j sp", + "Scroll View", + "ĠTr uth", + "Ġanticip ated", + "Ġacc ent", + ". checked", + "Ġspec ifies", + "Ġca f", + "Ġcell padding", + "Ġcook ed", + "ĠH ugh", + "pe ek", + "_R ATE", + "Ġd orm", + "/ čĊ", + "IV ITY", + ".Cont roller", + "(p art", + ".con straint", + "Ġinv asion", + "MO VE", + "Ġgl uc", + "l ename", + "Ġam en", + "eng lish", + "ĠSw itzerland", + "\";ĊĊ Ċ", + "pe st", + ".col lect", + "N ib", + "ĠD ict", + "ĠE mb", + "(sub ject", + "Ġoutr age", + "Ġdec iding", + "Ġsent enced", + "F echa", + "\" A", + "Ġqu er", + "Ġfont Family", + "Ġqu adr", + "- Y", + "_C ACHE", + "Ġanaly zed", + "Ġg aining", + "ĠAgain st", + "ĠSou l", + "ta u", + "Ġlight weight", + "ĠT F", + "ĠEffect s", + ".T ypes", + ".add Class", + "Ġv egan", + "é ģ", + ".' \"", + "ĠExpl orer", + ".d etect", + ".sh ift", + "Ġoblig ations", + "last Name", + "Ġassoci ations", + "ĠTime Span", + "un ter", + "ĠF resh", + "Compat ible", + "P ub", + "id ges", + ". option", + "var i", + ".hash Code", + "Ġg eb", + ". section", + "- not", + "ĠSub mit", + "T N", + "reg istry", + "_m edia", + "Ġn aj", + "ff t", + "Ġm ate", + "-th ird", + "Ġp ockets", + "est a", + "Ġb ent", + "ĠN ord", + "Ġretail ers", + "ĠMor ris", + ".\"\" \"ĊĊ", + "W rong", + "Ġ ÅĽ", + "R ay", + ". ec", + "ĠB ind", + "_H AND", + "(n on", + "is Valid", + "Ġsimilar ly", + "_L IMIT", + "Ġdynam ics", + "Ġdist inction", + "ãģ Ĩ", + "< N", + "Ġor th", + "ĠToy ota", + "ĠK ate", + "ĠL S", + "or ie", + "ĠSpr ings", + "Ġf reak", + "last name", + "_M ULT", + "-st ep", + "\" (", + "AD DR", + "Ġentert aining", + "_CON F", + "Ġdec oded", + "Ġst reak", + "Ġwait ed", + "Ġnot ified", + "rodu ced", + "vis ual", + ".Layout Params", + "æ °", + "es ian", + "f its", + "s pring", + "ĠBern ie", + "User Defaults", + "Ġped est", + "Ap pearance", + "ĠW iki", + "ĠNOT ICE", + "Ġs sh", + "Ġdur ante", + "ĠZ ip", + "ı r", + "ĠNAT O", + "Ġtw elve", + "Ġro yal", + "ï ¸", + "Ġmer chant", + "ĠF urniture", + "'] ),Ċ", + ", X", + "Ġfold ers", + "ĠG ate", + "ĉf unc", + "p ick", + "_us uario", + "ĠV erm", + "ment ion", + "ur pose", + "Ġalert s", + "x ious", + "_s ig", + "ĠF u", + "Ġ( :", + "Ġd umb", + "åħ ³", + "Ġaccur ately", + "éĩ į", + "R B", + "-s creen", + "ĠV ER", + "j our", + "Ġrom ance", + "uc ceed", + ". choice", + "Ġad ip", + "_d ims", + "Serial izable", + "ãĤ ĭ", + ".j ob", + "Ġpro g", + "uch ar", + "Ġg ently", + "ĠR SS", + "ict ured", + "_ENABLE D", + "ĉ label", + "aw ks", + "ĠEn sure", + "rem ember", + "ìł ķ", + "Ġtrans mit", + "{{ $", + ".Trans action", + "ur se", + "_rel ative", + "Ġs ized", + "ĠX X", + "ĠPr incess", + "ĠL arry", + "Ġpr ó", + "ĠÑģÑĤ ÑĢ", + "Ġs isters", + "estr uct", + "Ġcheck point", + ": length", + "ĠCar los", + "/ icon", + "_T ARGET", + "T okens", + "Ġpat ience", + "ĠSe lected", + "q ty", + ".show Message", + "Ġwild life", + "ĠP rops", + "b m", + "- arrow", + "Ġpar cel", + "fire base", + "ĠBen jamin", + "cess o", + ".t im", + "ĠG arc", + ". any", + "ĠHOW EVER", + "ĠK o", + "Ġgrab bed", + "_f rames", + "Ġobject AtIndex", + "ĠADV ISED", + "Ġsub ur", + "ĉ GL", + "Ġ}) }Ċ", + "-l ength", + "ìĭ ľ", + "ĠPot ter", + "_b uff", + ".g ui", + "ĠEnc oding", + "E lect", + "-m essage", + "Ġ �", + "Ġ ÈĻi", + "ĠArgument NullException", + "а ÑĨи", + "Ġmin imize", + "Ġrespond ing", + "$_ ['", + "ĠInd ividual", + "á c", + "ĠIN TER", + "Ġmast urb", + "ĠB in", + "(' $", + "ëĵ ľ", + "Ġopen ly", + "Ġ> <", + "Ġun to", + "olog ically", + "ĠM ul", + "VID IA", + "Ġsl im", + "ĠCommission er", + "( on", + "Ġunder neath", + "/ db", + "v ote", + "( Message", + "ĠP ope", + "Def ined", + "Ġsw ift", + "ur f", + "Ġadapt ed", + "SE L", + "Ġreven ues", + "Ġdiv ine", + "= y", + "Grad ient", + "_ act", + "Ġ/*! <", + "Ġpoly gon", + "ĠF DA", + "ĠC arr", + "at ables", + "(std out", + "Ġrefr iger", + "Ġco ordin", + "avor ites", + "ÑĪ Ð¸", + "Ġcompass ion", + "ĠPOSS IBILITY", + "- secondary", + "ur acy", + "Ġcomp romise", + "_A V", + "_ os", + "Ġbes ide", + "ĥ Ŀ", + "Ġl n", + ".pl ugins", + "Cap acity", + "al ah", + ".b in", + "ĠC RC", + "_b alance", + "Ġflex Direction", + "Ġam bit", + "Ġnick name", + "ĠFor ces", + "C LE", + "ĠSh ell", + "Ġs ail", + "ĠW riter", + "ĠA lice", + "d w", + "ĠInd ians", + "ĠMar shall", + "_S RC", + "Ġnormal ized", + "ĠJ ag", + "ãĤ Ĵ", + "ze it", + "r pc", + "ÃŃ c", + ".in line", + "Ġtrav ers", + "_n umeric", + "Ġutil ities", + "Ġev ac", + "IN PUT", + "ĉ register", + "M X", + "ĠCamp bell", + "Ġdatas ets", + "Ġdem anded", + "Ġinitial State", + "g an", + "Ġe i", + "Un expected", + "- web", + "tr ait", + ", Y", + "ĠT odd", + "Ġske leton", + "Ġoptim ize", + "ç¬ ¬", + "ĠU pon", + "ĠSt Object", + "Ġap lic", + ".' P", + "v ron", + ". UN", + "Ġpaint er", + "izar re", + "Ġl av", + "Ġp om", + "p reg", + "= function", + "( serial", + "ific a", + "um ing", + "åľ °", + "ãģ Ĥ", + "- op", + "U CH", + "ĠH end", + ".prop Types", + "Ġy o", + "Ġrout ines", + "Ġcar ing", + "S em", + "Ġres erves", + "Ġprior ities", + "red its", + "IST R", + "Content Type", + "ĠSch w", + "/ media", + "Ġe str", + "Ġclim bing", + "- week", + "cher che", + "s ensor", + "To Array", + "ĠMont real", + "Ġcloud s", + "ĠInject able", + "ĠR ice", + "Ġpropag anda", + "_pro vider", + "Ġind oor", + "Ġin aug", + "Ġdipl om", + "Ġmess aging", + "_m ut", + "å ¦Ĥ", + "Ġk w", + "ON S", + "ari ans", + "R PC", + ") ]čĊ", + "-r ay", + "ĠS or", + "m all", + "Ġmarket place", + "Ġv tk", + "M a", + "og an", + "ig i", + "Ġspons ored", + "ĠD ani", + ".S EVER", + ">' .$", + "m ultipart", + "ĠW ol", + "Ġtable Name", + "ĠUser name", + "Background Color", + "Ġf right", + "_E MAIL", + "Sept ember", + "_val s", + "op ia", + "Ġsp otted", + "- Ch", + "Ġdata Source", + "/ \"Ċ", + "ек ÑĤ", + "ĠRequest Method", + "ĠRe place", + "-d o", + "ah n", + "ĠPh D", + "] .ĊĊ", + "N ON", + "g ement", + "ĠTh r", + "Ġquiet ly", + "Ġtort ure", + "Ġte as", + "ĠC Y", + "Ġa tr", + "develop ment", + "-d etail", + "Ġlight er", + "Ġarg uing", + "Ġdes erves", + "Ġcur riculum", + "_CON TEXT", + "ÅĤ y", + "H ITE", + "ĉ ID", + "/ uploads", + "Ġt its", + "re o", + "_d rop", + ". UTF", + "Ġpick up", + "Ġgro cery", + "ĠP ure", + "Ġeas iest", + "Ph il", + ".f eature", + "(\" *", + "Ġinvest or", + "t ok", + "Ġj ar", + "L os", + "âĢĶâĢĶâĢĶâĢĶ âĢĶâĢĶâĢĶâĢĶ", + ". queue", + "-s peed", + "M al", + "um blr", + "ĠCON ST", + "ĠH RESULT", + "ĠD ance", + "(file Path", + "Ġattrib uted", + "ॠį", + "ĠB und", + "co ins", + "Ġs ão", + "Ġp ir", + "person al", + "Ġpre lim", + "Ġprop ose", + "ĠT L", + "] ])", + "ĠSub scription", + "ĠK re", + ", len", + ".First OrDefault", + ") --", + "_product s", + ".Get Bytes", + "Sh ip", + "Ġenc rypt", + "ĠS G", + "ĠM yst", + "h ir", + "Ġiter ate", + "Ġint end", + ".mock ito", + "Ġch apters", + "( angle", + "ĠV lad", + "è® ¾", + "' .ĊĊ", + "Response Body", + "ĠAb d", + "de al", + "Ġbar riers", + "-out line", + "b ill", + "ĠF alls", + "_se cond", + ". include", + ". ceil", + "Ġoccup ation", + "ph ony", + ".move To", + "ĠJenn ifer", + "AST ER", + "; \"><", + "ĠEn abled", + "Ġtermin ate", + "ĠI o", + "l ations", + "ĠTHE ORY", + "Ġear liest", + "Ġr ack", + "ĠSc ar", + "sh ake", + "ch ip", + "Ġu v", + "Ġall iance", + "п иÑģ", + "ĠGOOD S", + "z ione", + "ĠV I", + "Ġ{ -", + "Ġfilter ing", + "Ġmis con", + ".Dock Style", + "Ġb ush", + "Ġj unk", + "æ Į", + "ĠQ UE", + "Ġhook s", + "Ġfirm ware", + "Ġmiddle ware", + "d ic", + "ĠOak land", + "Ġarr ives", + "P ayload", + "p ixel", + "] |", + "Ġstart Date", + ".P RO", + "_a udio", + "Ġmid field", + "igid body", + "ĠSw iss", + "ĠCl ip", + "ĠD ump", + "ĠText Box", + "Ġg eh", + "y ield", + "od s", + "Ġrefer endum", + "Back end", + "ĠC ream", + "Ġdomin ated", + "ĠArch ive", + "Ġrid ers", + ".prepare Statement", + "Ġqu ando", + "Ġche f", + "w iki", + "in el", + "am pling", + "(\" \\\\", + "Ġs ag", + "_pro xy", + "ãģ ķ", + "p do", + ".getElementsBy TagName", + "Ġdemonstr ation", + "ĠN PC", + "Ġarch ivo", + "end ance", + "Ġefficient ly", + "( actual", + ".t ableView", + "Ġm ush", + "Ġbe ars", + "_thread s", + "j as", + "ah un", + "Ġne ural", + "Ġdesign ing", + "ĠG DP", + "Ġlift ed", + "çĽ ®", + "ĠJ oint", + "ĠIn clude", + "ĠGi ants", + "Ġwithdraw al", + "ĠR ent", + "n ative", + "ĠSe ek", + "gress ion", + "_C PU", + "\\ S", + "ĠSh ield", + "Ġsol ic", + "Ġbo om", + "yect o", + "Ġmanufact ure", + "ĠâĢ ĭ", + "Ġb box", + "Ġearth qu", + "ollect ors", + ":@\" %", + "Ġlo ops", + "J e", + "alk ing", + "ĠWh ats", + "ĠBo ys", + ". book", + "ARG E", + "_p ixel", + "Ġsus pects", + "Î ¹", + "us p", + "ĠBM W", + "ie ces", + "(p erson", + "å¼ Ģ", + "é »", + "ĠPod cast", + "Ġb ou", + "( Item", + "à »", + "( Input", + "Http Get", + "Ġb urg", + ") ^", + "BO ARD", + "*/ ,", + "Ġg ulp", + "ĠB enn", + "Ġdeck s", + ".status Code", + "Ġac ute", + "Ġh ug", + "ug u", + "Ġp led", + ",\" %", + "h ape", + "Ġз ап", + "ĠMain e", + ".re al", + "Ġd alam", + "ĠMin or", + ".F loat", + "dis p", + "Ġt l", + "Ġen count", + "=> $", + "Ġf g", + "te es", + "ĠRec omm", + "ä l", + "Ġchem istry", + "Block s", + "O ID", + "Ġfore x", + "ĠApp end", + "Ġ{ *", + "ĠSup ply", + "CG Float", + "(b l", + "Ġat e", + "ador a", + "Ġg ust", + "Ass oci", + "> .Ċ", + "F ETCH", + ".s erial", + "widget s", + "ard less", + "ie fs", + "_F ULL", + "ernet es", + "ĠP red", + "Ø Ń", + "äº ĭ", + "ub ernetes", + "ĠL aura", + "Ġl abeled", + "High light", + "Ġanno ying", + "/ update", + "(d escription", + "Ġintim id", + "$ c", + "\")) )Ċ", + ".A P", + "Ġ[] *", + "ĠEX IT", + ".H ost", + "ĠOP EN", + ".send Message", + "_c amera", + "_t ile", + "Ġth erm", + "onom ous", + "Ġdis adv", + "Ġna ar", + "index Of", + "ĠP P", + ".prot ocol", + "AF E", + "Ġtext ures", + "################################ ################", + "umb ai", + ".st ats", + "ĠG E", + "Ġi e", + "ĠST D", + "ĠM ann", + ".ref lect", + "K B", + "Ġd ive", + ".w av", + "/* ----------------------------------------------------------------", + "/ settings", + ".l ifecycle", + "Ġda ughters", + "or us", + "ub er", + "N ING", + "st ri", + "ĠT ip", + "Ġz n", + "Ġswitch ed", + "in et", + "uff y", + "ĠTransport ation", + "( conf", + "fr ica", + "ĠX L", + "ĠLe ad", + "_per cent", + "< Map", + "Ġthr ust", + "or b", + "ik k", + "Ġtra uma", + "Access or", + "ĠF it", + "ĠString Buffer", + "ex pl", + "(s creen", + "Ġaud iences", + "ĠO PTION", + "_ round", + "[ node", + "be h", + "-> __", + "per missions", + "ĠD etermine", + ".M an", + "Ġadv ances", + ". InputStream", + "Ġstrong est", + "Ġe Bay", + "Ġ# -", + "Ġdir name", + "ĠS MS", + "Ġmedic ations", + "Ġam ended", + "Ġchurch es", + "ĠImper ial", + "$ row", + "ĠMad ison", + "ĠIn sp", + "Ġaff air", + "Ġpsych ology", + "v h", + "Ġsever ity", + "âĢ IJ", + "Ġstri ps", + "A H", + "vert ising", + "Ġcon se", + "IM AGE", + "ĠSt ats", + "ĉs c", + ".C ursor", + "Ġfree ze", + "ss on", + "(x ml", + "ĠSus an", + ".t ile", + "ed ed", + "ĠĠĠĠ ĉĉĉ", + "uel le", + "ĠMitch ell", + "b ased", + "Oper and", + "½ æķ°", + "ĠF F", + "ĉstr cpy", + "ounc es", + "ild o", + ".execute Query", + "Ġapproach ing", + "ĠSe ven", + "Ġn uts", + "Ġr ic", + "ass ignment", + "Ġcalcul ator", + "ĠMur phy", + "ĠB ou", + "í Ħ", + "Ġbut t", + "Ġt icks", + "Project s", + "il ib", + ".text Color", + "m ov", + "_log o", + "( template", + "ĠIN IT", + "Ġimage View", + "scri ptions", + "OR ITY", + "Con sumer", + "Ġun precedented", + "Ġtour ist", + "Ġbr on", + "Ġcontract or", + "Ġlic ence", + "ĠN am", + "æ ¯", + "( transform", + "_AT T", + "P ref", + "ĠG am", + "Ġvess els", + "Ġh av", + "L ater", + ".To Lower", + "Ġurl s", + "Ġbreak down", + "Ġpen alties", + "Ġf oster", + "ĠU E", + "Ġcl ue", + "com ed", + "åIJį ç§°", + "-m ain", + "Ġp ts", + "Ġcount ed", + "ict s", + "/ post", + "Ġget attr", + "Ġp ing", + "ANCE L", + "Ġp ec", + "Ñħ од", + "ant om", + "ĠBlue print", + "ĠEvent Emitter", + "Ġl ä", + "æ ²", + "Ġstr aw", + "( comp", + "' une", + "> N", + "- client", + "es Module", + "-b ase", + "Ġret reat", + "_s imple", + "ĉĉĉĉĉĉ Ġ", + "fe e", + "') čĊčĊ", + "Control Item", + "Ġsubscri bers", + "ple ase", + "ĠE ff", + "Ġp ound", + "ĠBy tes", + "ĠTe a", + "_ activity", + "Ġmax im", + "Ġop code", + "B SD", + ". constant", + "; }", + "omb res", + "Ġcare ers", + ") .ĊĊĊĊ", + "Ġsp reading", + "-exp anded", + "ĠOr d", + "amar in", + "Ġmob ility", + "Un fortunately", + "ak k", + "N L", + "_ redirect", + "ĠP G", + "ĠS ensor", + "b ol", + "t ap", + "_MEM ORY", + "ĠUI Alert", + "plit ude", + "We bsite", + "ĠLog o", + "lo ve", + "[ ind", + "Ġalto gether", + "Ġwonder ed", + "Ġes per", + "ĠLib eral", + "Ġo ss", + "Ġel it", + "Ġst iff", + "od ox", + "_ment ions", + "ĠDou glas", + "_p id", + "ĠC K", + "ĠinitWith Frame", + ".b log", + "p kg", + "ang hai", + "QUI RED", + "u u", + "Ġm kdir", + "AT AL", + "Ġun h", + "in ces", + "st h", + "Ġhypo thesis", + "Ġc ata", + "ĠT B", + "ĠCl ar", + "Ġpre decess", + "Ġsitu ated", + "-w orld", + ")) /", + "Ġhead lines", + ".st at", + "Ġout break", + "sp ath", + "_FLAG S", + "ĠServlet Exception", + "S un", + "F ROM", + "ĠD ir", + "ãĥ»ãĥ» ãĥ»", + "_co ord", + "ĠOpt im", + "Mon itor", + ".b it", + "XX X", + "Ġtod as", + "f eld", + "ÑĢ Ð¸", + "im ir", + "Ġpolit ically", + "Ġmolec ular", + "Ġtrad ed", + "Ġ{{ $", + "ĠSw edish", + "Ġ'@ /", + "_RE AL", + "Ġw arehouse", + "t oday", + ", L", + "or p", + "< section", + "- br", + "ym e", + "ĠUser Service", + "Ġlib erty", + "Ġmoment o", + "( Image", + "< size", + "S ch", + "Ġj og", + "i ology", + "arent ly", + "Ġquant um", + "ĠAb u", + "Ġr im", + "Ġman a", + "Font Size", + "Build ing", + "st airs", + "AIL ABLE", + "Ġ& '", + "Ġs ect", + "Ġs igh", + "(b atch", + ".I Container", + "p oll", + "ĠCor ps", + "Î µ", + "ar u", + "ĠK ay", + ".r ange", + "_click ed", + "ĠRobert s", + ".N etwork", + "fin ish", + "- Man", + "Ġcolleg es", + "ĠF ine", + "\")) ,Ċ", + "f ilm", + "Ġrem inded", + "Ġgest ure", + "out il", + "Ġthread ing", + "Ġobj et", + "Ġt ours", + "activ ated", + ".m kdir", + "= user", + "Ġre de", + "f ü", + "_SY STEM", + "p v", + "Ġcon gr", + "Ġmass asje", + "Ġpract ition", + "Un iversity", + "Ġtab index", + "Ð ĺ", + "S ets", + "Ġcount ies", + "g uest", + "f an", + "Ġword en", + ".d i", + "на Ñĩ", + " ¿", + "ig Decimal", + "Ġsh ore", + "Ġg ö", + "Ġrep airs", + "Ġhelp ers", + "Ġcenter ed", + "OL LOW", + "Ġmap StateToProps", + "Ġc ents", + "< A", + "Ġexpect ation", + "Oct ober", + "Ġbg color", + "ca les", + ".C ON", + "ĠV el", + "Ġcry ing", + "-se ason", + "Ġfunction ing", + "_LOC ATION", + "ü ss", + "ber y", + "Par a", + "omin ator", + "- le", + "Ġeth ical", + "has htags", + "emp lo", + "Ġn úmero", + "( activity", + ".St op", + ".str ftime", + "IL D", + "Ġto e", + "ĉ Node", + "\") čĊčĊ", + "ĠPu erto", + "Ġexec uting", + "ĠG UID", + "Ġoppos ing", + "al ph", + "Ġexhib it", + "_fl ash", + "Ġme ille", + "Ġjson Object", + "H ero", + "aint ed", + "_D OM", + "Ġw il", + "Ġslo pe", + "Ġm Ã¥", + "ĠIraq i", + "Ġorgan ize", + "ĉj Query", + "H UD", + "sh ine", + ". we", + "ĠSk ills", + "pons or", + "Ġcon clusions", + "Ġre forms", + "Ġrel uct", + "n amed", + "ĠOl iver", + "Ġ// }Ċ", + "- looking", + "Ġf og", + "ĠH O", + "ĠF ried", + "Ġinev itable", + "ĠData GridView", + "H our", + "il les", + "log ical", + "Ġconnect ivity", + ".tw ig", + "ĠK yle", + "(d st", + "- Sh", + "ĠStud ios", + "( Level", + ".j et", + "_PRO TO", + "-de coration", + "OT HER", + "Ġread ily", + ".Param eter", + "Ġmultip ly", + "ĠL IB", + "ar med", + "Ġsoon er", + "æ Ħ", + "_ ES", + "Ġfoss il", + "ĠA nc", + "âĢľ This", + "l odash", + "Py thon", + "Ġhist ogram", + "west ern", + "Ġinf ant", + "Ġco ordinator", + "Ġn ib", + ": m", + "Ġres pected", + "Ġdef init", + "& T", + "_p ad", + "ĠTr igger", + "th al", + "Ġimage Named", + "Ġbeat en", + "ĉ rc", + "ĠPal ace", + "Ġhaz ard", + "Ġisol ation", + "_ rc", + "cont re", + "OUT PUT", + "Ġre ign", + "ĠPl ate", + "AT ES", + "Ġfl ux", + "Ġpack s", + ".get Selected", + "Ġparticip ated", + "Ġneed le", + "-de pth", + ":::: ::", + "-l aw", + "ins pace", + "on itor", + "= no", + "ĠAt omic", + "ĠBr ain", + "Edit able", + "-s c", + "red ential", + "ĠP erry", + "k ie", + "Ġ ----------Ċ", + ".st roke", + "( Intent", + "Ġun ity", + "um lah", + "F urther", + "Ġpr ze", + "Ġs ø", + "ãĤ Ĭ", + "ĠPROC UREMENT", + "ĠH ousing", + "Ġatt orneys", + "Ġcomp ose", + "atter ing", + "\" What", + "dra ul", + "Ġstraight forward", + "In stant", + ".J TextField", + "Ġtr ades", + "л а", + "Ġ{ !", + "Ġl ately", + "IM G", + "ĠA ld", + "ĠIN NER", + "Ġcart oon", + ".S ource", + "F ALSE", + "Ġd ough", + "f en", + "( rect", + "Data Table", + "N ick", + "ĠBut ter", + "read s", + "_com ments", + "EN V", + "ĠConnect icut", + "-F IRST", + "ĉĉĉ ĠĠĠĠĠ", + "ach i", + ".M sg", + "re ction", + "Ġrelax ed", + "Ġsha ft", + "Ġe f", + "ĠAdd ing", + "Ġbre ach", + "Ġ ï¼ļ", + "ram a", + "Ġconduct ing", + "Ġ( ;", + "(g l", + "ĠCA USED", + "ash i", + "ĠF LAG", + "ĠCom merce", + "ĠIN TEGER", + "h ours", + "ĠSchool s", + "Ġn ucle", + "Ag ain", + "pro j", + "Ġsevent h", + "EMPL ARY", + "(m ock", + "'] ,čĊ", + "_S PEED", + "> false", + "Ġsp a", + "ĠN ear", + "ì ķ", + "Ġintr ig", + "_m embers", + "w ave", + "Ġanalyst s", + "_O S", + "ed in", + "ĠF ri", + "Ġretrie ved", + "Reg ular", + "_ obs", + "EX PORT", + "')}} \"", + "\" class", + "__ ((", + "b ucket", + "Ġst ro", + "ĠP atch", + "yst ick", + "ful ness", + "ap os", + "D a", + "ĉĉĉĉĉ ĠĠĠ", + "Ġen rich", + "un ordered", + "h ole", + "C ong", + "< Product", + "ĠC urt", + "( the", + "_l ower", + "Ġavoid ing", + "Ġbu zz", + "Ġv iable", + "ub a", + "- is", + "are l", + "Ġact ed", + "-d etails", + "ภĩ", + "ĠThe ory", + "ĠP un", + "ĠAn onymous", + "... \"Ċ", + "è res", + "åı ¯", + "ĠV ision", + "_se m", + "ash a", + "Ġcelebr ity", + "Ġend Date", + "Ġpop ulate", + "Ġcu is", + "qu ant", + "f loor", + "Ġglob ally", + "Ġcru ise", + "ĠStan ley", + "Ġb ikes", + ".get Connection", + "Ġpoor ly", + "_ other", + "amp ing", + ".\" );ĊĊ", + "od i", + "_A DMIN", + ".color s", + "ĠG aming", + "> ';ĊĊ", + "STR UCT", + "Q R", + "ID s", + "(arg uments", + "_a ux", + "( Event", + "_PR IVATE", + "ĠTre k", + "Ġdownload s", + "m utable", + "_STR UCT", + "(w x", + "Ġdom ains", + "js px", + "ĠVi agra", + "Command s", + "J s", + ".c fg", + "Content Pane", + "ĠEdit Text", + "à¥į à¤", + "Att ach", + "ĠAR M", + "posit ive", + "ĠGener ated", + "Ġse ized", + "= :", + "Ġelectron ics", + "ĠApp Component", + "/ ',Ċ", + ".equals IgnoreCase", + "Do ctrine", + "d isk", + "ĠPolit ical", + "CH O", + "< F", + "ĉ height", + "ĠB ug", + ". le", + "ik h", + "Ġmill iseconds", + "Ġconstit u", + "m ag", + ".n l", + "-r ange", + "ang gal", + "', [", + "ropol itan", + "Ġà ľ", + "ĠU C", + ".d esc", + "-L AST", + "f stream", + "ib il", + "Ġf ier", + "VER Y", + "Ġë ³", + "IR T", + "_ UI", + "( abs", + "Ġkne es", + "Ġro okie", + "ĠV ac", + "are na", + "comm end", + "- \\", + "ĠSUB STITUTE", + "So ft", + "Ġpart ir", + "we alth", + "è¦ ģ", + "(d ataset", + "ĠCl imate", + "- show", + "Ġreli ability", + "_ch unk", + "ä» £", + "_st ock", + "ĠEX EMPLARY", + "ï¸ ı", + "Ġv ÃŃ", + "Ġsm iled", + "Ġdr ill", + ".F unction", + "ĠS I", + "Ġreg ression", + "- X", + "ĠJ ar", + "p ref", + "ĉs uccess", + "ĠHit ler", + "Ġinst inct", + "Ġfem mes", + "Ġlo ver", + "< Ċ", + "Ġmulti plier", + "r il", + "Res ize", + "ĠAuthor ization", + "ĠK an", + "Dispatch ToProps", + "Ġc rops", + "t okens", + "ec n", + "ential ly", + "ĠINTERRU PTION", + "f ake", + "Und efined", + "ĠA K", + "ĠTest Case", + "Ġr ab", + "Ġtor rent", + "ĠO t", + "B ars", + "Ġlect ure", + "Ġen jo", + "Ġrespond s", + "Ġindex ed", + "Of Work", + "_ch ain", + ")) ->", + "ĠBeaut y", + "Ġ` <", + "Ġtouch ing", + "Ġ| --", + "ĉf lag", + "normal ize", + "Ġtr apped", + "Ġestablish ing", + "/b uild", + "A J", + "f y", + "- react", + "av n", + "RI PTION", + "Ġk ut", + "ĠF ashion", + "ĠIn form", + "cur ities", + "< byte", + "ĠUkr ain", + "Ġs ug", + "Ġconsist ing", + "ood le", + ". ctx", + ".To List", + "Ġcomment ary", + "Ġtransf ers", + "Ġn ost", + "ih ad", + "ĠU pper", + "Ġconf using", + "miss ing", + "- cl", + "Ġbound ing", + "Ġcongress ional", + "Ġreve aling", + "d h", + "r up", + "Ġt res", + "re peat", + ", ĊĊĊĊ", + "_t ac", + "Ġexp ed", + "G irl", + "h orizontal", + "Ġ\"../../ ../", + "( option", + "Ġwe iter", + "ĉs ql", + "Ġ=> {Ċ", + "Ġgar lic", + "Ġre pr", + "Ġrepl ies", + "( prop", + "Ġspir its", + "Ġins pire", + "Ġbas ement", + ".re ject", + "Ġhint s", + "Ġpoll ing", + "ĉ ĠĊ", + "_r ating", + "Ġc ath", + "av ier", + "Ġcomp ressed", + "ĠV S", + "] '", + "Ġjud icial", + "ĠT rend", + "tr aining", + "EST AMP", + "ogn ition", + "Ä ģ", + "SE NT", + "vent ions", + "Ġconsult ant", + "um ph", + "Ġuser Service", + ", NULL", + "k h", + "D ear", + "_B AD", + "it ations", + "Ġmet aph", + "' é", + "and ise", + "-f ont", + ".ch art", + "Ġs g", + "_ Controller", + ".j peg", + "ĠUL ONG", + "ĉg ame", + "( ss", + "ĠM aj", + "ĉg o", + "ĠS ad", + "ĠB erg", + "ĠM ine", + "P ack", + "Ġres istant", + "ĠR OM", + "Ġp eg", + "ĠStan ford", + "ĠY ahoo", + "Ġsca led", + "Ġl an", + "= []", + "\"/ > ččĊ", + "Ġs ud", + "ĉ background", + "Ġsch olars", + "-m uted", + "ar á", + "Ġ= ====", + "Ġ__ __", + "C reat", + "ene ver", + "/w p", + "ĠV PN", + "Error Code", + ") ],Ċ", + "(b uilder", + "ĠEn emy", + "S ensor", + "us a", + "Ġtr iggers", + "Ġplayoff s", + "_RE Q", + "Ġ( ~", + "ĠBar ry", + "Ġperman ently", + "ĠR UN", + "Ġb ure", + ".Fat alf", + "Ġch ick", + "ĉ panic", + "ps i", + "ok a", + "éĢ ī", + "> [", + "Ġunderstand s", + "ĠJun ior", + "ĠIN FO", + "= mysqli", + "ust ain", + "-s ource", + "s erv", + "ĠC REATE", + ". au", + "Ġsell s", + "ĠĠĊ ĠĠĊ", + "E urope", + "z w", + "pre h", + "ĠNS A", + "Ġx y", + "ภ´", + "ĠB eyond", + "Inst ead", + "Non Query", + "Ġar ise", + "Ġavoid ed", + ".em place", + "_model s", + "} ),Ċ", + "Ġh id", + "Ġ& _", + ".p oints", + ".get Width", + ".Ex ec", + "Ġ// //", + "ĠS essions", + "... \\", + "ĠCol omb", + "Ġacceler ation", + "rest ore", + "Ġ ile", + "ob ic", + "< Node", + "ĠD X", + "ĠBes ides", + ". age", + "ĠCont ains", + "N ational", + "ĠIm plementation", + "Ġeff ic", + "ĠR M", + "H y", + "ĠWed ding", + "ok ies", + "Ġrec ursive", + "Ġprosec utors", + ".Se lection", + "ĠForm ula", + "Been Called", + "[i i", + "ĠFr an", + "Ġtraged y", + "_F EATURE", + "Ļ ¨", + "comp ass", + "ĠB h", + "? ĊĊĊ", + ".w riter", + "ĠH our", + "Db Context", + "io v", + "am on", + "re pr", + "é ĥ", + "ĉf i", + "'] ]", + "ĠD ry", + ". ro", + "ĠO bserv", + "æł ĩ", + "Form er", + "ĠB alance", + "ĉ json", + "Ġpr zy", + "I SS", + "( sock", + "ĠL INE", + "Ġde ce", + "Ġal ly", + "Ġtend ency", + "F un", + "Ġschem es", + "Ġinter ven", + "æĺ İ", + "Ġad verse", + "quote lev", + "Ġsacr ific", + "_s ide", + "Ġmut ex", + "AG IC", + "Ġocc urring", + "ĠCommunic ation", + "um ar", + "ç¼ ĸ", + "ĠTreat ment", + ".p erson", + "ĠL C", + "Ġe ch", + "( (\"", + "ĠDise ase", + "ä d", + "ĠA Z", + ".A ccount", + "Ġcontinu ously", + "END ING", + "ĠRET URN", + "- string", + ".f ilename", + "syn thesize", + "Res ponder", + "( opts", + "reg s", + "Ġn uest", + "Pe er", + "// ------------------------------------------------", + "Ġg auge", + "ĠK in", + ".s chema", + "Ġarr ange", + "ĠBl ake", + "_Type Info", + "C over", + "ĠHamp shire", + "P aper", + "-in ner", + "util ity", + "Ġcross origin", + "F OR", + "Ġign oring", + "ĠD D", + "av an", + "Ġtrad itions", + "Ġget String", + "Ġeth ics", + "ĠMaterial s", + "DE SC", + "Ġen zym", + "io let", + "ĠCh ip", + "ĠMc Donald", + "Ġn erve", + "ç Ħ", + "\") ]", + "æ± Ĥ", + "ĠS ugar", + "_S IM", + "j peg", + "Ġdiscret ion", + "ĠT N", + "bo ve", + "ĠMin imum", + "ĠForm Group", + "Ġwork force", + "ĠExec ution", + "err er", + "ĉ ĠĠĠĠĉ", + "Ġpres cribed", + ".Text Align", + "OP EN", + "ĠP B", + "im ity", + "ĠEx ternal", + "° C", + "ĠApplication Controller", + "Ġb arr", + "imp licit", + "_d ot", + "ĠCol on", + "C OLOR", + ".Pro ject", + "* }Ċ", + "pl aint", + "get Text", + "Ġindivid ually", + "Ġcheck box", + "U Y", + "ĠL amb", + "Ġdys function", + "ĠL ar", + "à °", + "ĠCre ating", + "');ĊĊ Ċ", + "\" They", + "loc ations", + "_C ORE", + "Inter action", + "umbn ails", + "ĠPart ner", + "b rit", + "Ġless er", + "ĠSl ot", + "set Attribute", + "ĠW ave", + ".p o", + "/ store", + "Ġbrows ing", + "_p d", + "sum e", + "s ed", + "Cur ve", + "Ġpl asma", + "Ġsusp icious", + "ìĿ ¸", + "ĠB ah", + "ĠExp licit", + "_C C", + ".Client Size", + "\\ View", + "Ġsub stit", + "lo on", + "ĠG AME", + "ĠB rid", + "Ľ 建", + "_ User", + "Ġsqu ares", + "f one", + "Ġsac red", + "ug hs", + "] interface", + "ĠTh row", + "ĠK irk", + "Ġemp ire", + "Ġassess ed", + "T ax", + "ĠHe aven", + "-b uffer", + "_STAT IC", + "én é", + "-b ordered", + "Ġpun ct", + "(m ode", + "Ġke ine", + "S ent", + "ĠCal cul", + "ĠE ve", + "Ġsty lish", + "Ġoil s", + ".Test Case", + "Ġtrad emark", + "Ġliter ary", + "Ġconcentr ations", + "ĠRel ations", + "( Class", + "Ġstd in", + "Ġv æ", + "back up", + ". VERSION", + ".AutoScale Dimensions", + "st arter", + "Transaction al", + "- panel", + "St udio", + "k c", + "ĠCh amber", + "ĠSpi el", + "Ġr ho", + "ا ÙĦ", + "! '", + ".At tributes", + "Ġmurder ed", + "apeut ic", + "Ġint imate", + "Ġtext Field", + "ĠBuff alo", + "d ummy", + "\" %", + "ĠLib erty", + "ob ar", + "ĠT ank", + "ĠPop ular", + "erv isor", + "ĠIn iti", + "ĠM all", + "ĠP rior", + "C AP", + "ĠCl ay", + "ĠCert ificate", + ".L ock", + "-st rip", + "-dr iven", + "/ all", + "ĠMessageBox Buttons", + "_SE CRET", + "_p b", + "Ġr ats", + "ा à¤", + "Ġn t", + ".R outer", + "_top ic", + "Ġt ennis", + "ĠP UBLIC", + "ĠActiv atedRoute", + "Ġ' ,Ċ", + "Ġcost ume", + "Ġj okes", + ". Handle", + "ĉ byte", + "Ġflav ors", + "( cc", + "Ġperson as", + "ĉ image", + "ĠN azi", + "Ġgram mar", + "Ġú lt", + "Ġval ve", + "Ġv ic", + "ĠR achel", + "_in valid", + "P refs", + "std int", + "(r oute", + "Ġhtml specialchars", + "Ġpe oples", + "pl ine", + "Ġn v", + "ĠQu ant", + "opp ers", + "Ġcurrent User", + "ĠC atal", + "Ġrecon c", + "Ġconj unction", + "l x", + "amb urg", + "Ġinflu ential", + "d anger", + "ind ers", + "Ġ% @\",", + ".config uration", + "os ome", + ". identity", + "Ġpick er", + "n ost", + "ĠDI Y", + "Aug ust", + "ab lo", + "Le af", + "ĠRec o", + "ck o", + "DO C", + "ĠH erm", + ": any", + "ĠInt erview", + "ĠT ex", + "x fe", + "( work", + "Ġle ap", + "He ading", + "Ġqu arters", + "\\ Bundle", + "re b", + "Per haps", + "ĠG mbH", + "B irth", + "ĉ sum", + "ĠWat son", + ".n il", + "ç ¡", + "{ }ĊĊ", + "ica id", + "Get ter", + "\" name", + "Ġ\" čĊ", + "_n one", + "z m", + "ac ute", + "uest o", + "Ġs ous", + "Ġre build", + "Ġnewsp apers", + "ĠH az", + "Ġk its", + "if o", + "Bl ur", + "Ġsu ited", + "- In", + "à ¯", + "ĠKe ith", + "ĠNor way", + "IN IT", + "ire ccion", + "iet ies", + "_us age", + "ĠDou g", + "r ise", + "Ġtr illion", + "im ited", + "ĠR EL", + "al ic", + "Ġcritic ized", + "the orem", + "Ġce ase", + "Ġsid ew", + "ĠT erry", + "Ġsubs idi", + "Ġfirm ly", + "Ġaw s", + "Ġh ott", + "Ġdress ing", + "bad ge", + "ĠApp lications", + "è¿ ĶåĽŀ", + "Ġlaugh ed", + "Ġh obby", + "Ġmus icians", + "Ġ* .", + ". placeholder", + "Ġcount ers", + "ĠCap itol", + "SD K", + "Ġhel met", + "and box", + "qu it", + "Ġcriminal s", + "Ġteen ager", + "( update", + "G l", + ".se lection", + "Ġdis charge", + "Ġpresent ing", + "ufact urer", + "_UN KNOWN", + "Ġstress ed", + "å ύ", + "Pro to", + "_cor rect", + "ha us", + "Ġren ov", + "Ġfire arms", + "Ġtechn ically", + "-b rowser", + "Ġc andy", + "St roke", + "Ġexec utor", + "Ġocc urrence", + "ĠIP v", + "_INTER FACE", + "ĠRetrie ve", + ".b ad", + "Ex change", + "Nav bar", + "ĠK id", + "(get ApplicationContext", + "_ST OP", + "ĠB oss", + "List eners", + "Ġshoot er", + "ĠAl b", + "ä ch", + "Ġp ix", + ".key Code", + "al one", + "Ġabs urd", + "ĠC um", + "ĠNewton soft", + "ik t", + "Ġlaugh ing", + "Ġcapital ism", + "ree Node", + "T x", + "_QU ERY", + ".S leep", + "( login", + "Web Element", + "Ġcelebr ating", + "Ġde precated", + "Ġma ar", + "Ġart istic", + "_ASS OC", + "ĠBorder Radius", + "ĉw p", + "Ġsurviv ors", + "In ner", + "- red", + "Ġprosec ution", + "_ pp", + "(\" $", + "Ġcomm a", + "un checked", + "graph ics", + "r ors", + "G ROUND", + "( public", + "Ġcustom ized", + "ĠArk ansas", + "ĠR ew", + "Ġexp iration", + "× ķ", + "ĠC ul", + "Ġn ons", + ".F ilter", + "Ġsen ator", + "_def inition", + "ash ington", + "ym ph", + "/ J", + "Ġf use", + "ram id", + "ĠSup plier", + "Ġaut ocomplete", + "Ġ} ),", + ".\" ĊĊĊ", + "_function s", + "ĉ to", + ".e val", + "ĠT Object", + "Re ferences", + "Ġhe ated", + "H AL", + "Ġ)) }Ċ", + "} $", + "ĠB arr", + "_UN IT", + "+ $", + "Ġget Value", + "ip ed", + "ch ied", + "(v m", + "c ue", + "_int eger", + "_c ourse", + "th ird", + "Ġrevis ed", + "** /Ċ", + "_D IRECT", + "Out Of", + "(\" (", + "ĠFe el", + "Ġre ass", + "Ġsub title", + "per i", + "n f", + "Ġenjo ys", + "Ġtreat s", + ") this", + "-t abs", + "anc ers", + "Ġcontin ent", + "Ġcard io", + "S er", + ". question", + "Ġph rases", + "Valid ators", + "Ġpop ul", + "Ġl ÃŃ", + "s ong", + "_IN TERNAL", + "Ġadvis er", + "Ġp uzz", + "Ġambit ious", + "ĠT ob", + "ĠD P", + "Ġpres idency", + "Ġsurre nder", + "Ġwatch es", + "_b inary", + "ĠSo on", + "Ġcan ada", + "(\" \")Ċ", + "] ='", + "ĠBr andon", + "eps ilon", + "r w", + ".add Child", + ".C opy", + "Pr incipal", + "Ph otos", + "Ġmarg inal", + "Ġbas ics", + "e ing", + "M ust", + "_ String", + "Ġo le", + "M agento", + ".c ustomer", + "(p rev", + "ภ¥", + "Ġlo yalty", + "C og", + "Ġprot ocols", + "ĠCom panies", + "Ġtheoret ical", + "Ġaccess ing", + "ĠZ en", + ". ones", + "att ice", + "_w orld", + "z es", + "Ġtatto o", + "Ġmen os", + "Ġinter sect", + "\"] ;ĊĊ", + "bel ie", + "Ġin active", + ".read line", + "-label led", + ".d one", + "lick r", + "ĠW ORK", + "Ġderiv ative", + "Ġd atabases", + "âĤ Ĥ", + "Ġs x", + ".is Array", + "Ġy s", + "Ġp ada", + "ĠBul let", + "(` /", + "is Active", + "ĠCG Size", + "(equal To", + "ĠColum bus", + "Ġmar ry", + "DE V", + "_l imits", + "ron es", + "I AS", + "Ġt au", + "min o", + "_W rite", + "ĠW ine", + "Ġ[ ['", + "ĠP ull", + "rit ers", + "ri ents", + "Ġsh ifting", + "up p", + "_TIM ER", + "ĠCondition s", + "Ạ¥", + "ĠOr ders", + "ĠSt rength", + "æī Ģ", + "Ġvalid ity", + "Ġf ot", + "et ur", + "Ġb olt", + "åĨ ħ", + "ĠAl ong", + "os hi", + "Ġassum ptions", + "Ġmag azines", + "_S PI", + "Ġp unt", + "_PRO DUCT", + "Ġrel ay", + "ĠJ avascript", + ". te", + "- es", + "Ġwidget s", + "(f s", + "< Item", + "_ex tra", + "Ġrecru iting", + "E t", + "Ġnecess ity", + "p w", + "Ġnov els", + "uss els", + "Cre ator", + "ĠM VP", + "ĠO C", + "th ood", + "cl ients", + ")) *", + "Ġcharacter ized", + "_SE ND", + "ut i", + "T y", + ".from Json", + "@ Service", + "ãĤ Ĥ", + "Ch ris", + "_ Is", + "ĠJohn ny", + "Ġclean er", + "ĠInitial izes", + "UN K", + "( axis", + "еР·", + "ie val", + "ĠWar riors", + "} )(", + "DM I", + "âĻ Ģ", + "ĠTre asury", + "Ġfe as", + "Ġsl a", + "_EN UM", + "l hs", + "ĠIn stit", + "ipp ers", + "Line ar", + "Re ading", + "quir ies", + "-c ell", + "ch rome", + ".S earch", + "IN A", + "ç±» åŀĭ", + "ĠĊ ĠĊ", + "ĠSam uel", + "Ġmill s", + "Ġdon ate", + "ĠGe o", + "( rows", + "Ġshe ep", + "Ġé l", + "ä½ ĵ", + "Ġb em", + "_UN USED", + "ĠR CC", + "Ġintrodu cing", + "att a", + "ĠP riority", + "ĠF B", + "ĠSer ge", + "> \";", + "atch ing", + "ĠKnow ledge", + "ĉ The", + "; margin", + "less ness", + "op ard", + "um atic", + "() ));čĊ", + "Ġf als", + "(c ache", + "Type Id", + "éĢ ļ", + "_ choice", + "ĠGo th", + "ĠS ites", + "M G", + "_b order", + "Ind ices", + "Compar er", + "ĠRed istribution", + "Ġclo set", + "Ġvers atile", + "Input s", + "**************** ****", + "Ġob esity", + "qu iz", + "gr a", + "(g lobal", + "åĬ ¡", + "Ġcollect or", + "Ġk or", + "ov able", + "AD C", + "ĠEvent Handler", + ". nc", + "Ġplay back", + "ient os", + "_p erm", + "_W ARNING", + "ĠOlymp ics", + ".n orm", + "ĠBroad cast", + "_sm all", + "dr ive", + ". iloc", + "Ġtyp ed", + "M EM", + "_con s", + "DM ETHOD", + "Ġl un", + ".d istance", + "(p ar", + "po on", + "Ġb ast", + "activ ities", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + ": čĊčĊ", + "S ER", + ") &&", + "_l st", + "ĠPol ish", + "Ġknock ed", + "Ġfrustr ation", + "au kee", + "Ġph osph", + "iqu id", + "_c oeff", + "æŃ ¤", + "L atest", + "ĠD ust", + "T ipo", + "Ġmaint ains", + "Ġmar sh", + "inc inn", + "l bl", + "C are", + "Ġneighborhood s", + "_g pio", + "ĠAr senal", + "D em", + "ĠW he", + "_h ook", + "Ġl dc", + "ĠHar per", + "ĠBer keley", + "Ġgrad uated", + "Per cent", + "Ġarr iving", + "ĠAdvent ure", + "(s cope", + "(' *", + "qu arter", + "ĠMar ie", + "Spe aking", + "_code gen", + "Ġimm un", + "c aster", + "ãĤ Į", + "åķ Ĩ", + "ĠDim ensions", + ".rec ord", + "Ġtext o", + "ĠMich elle", + "P ending", + "( by", + "_P AR", + "uch t", + "be e", + ".Th read", + "amp ire", + "k now", + "ĠClin ical", + "Ġmargin Bottom", + "Ġdistingu ish", + ".F ull", + ". undefined", + "ĠSequ elize", + "################################################################ ############", + "Ġeduc ated", + "_O VER", + "åº ı", + "ĠÂł ĠÂł", + "_e ach", + "Ġur ge", + "de part", + "Ġdon ors", + "ĠA u", + "Ġbill ions", + "Ġbelong ing", + "_ age", + "_ Int", + "Ġsub stances", + "m achine", + "!! !ĊĊ", + "Ġjson ify", + "ib bean", + "ĠC ad", + "Ġend Time", + "Ġc ycling", + "ĠUIT extField", + "Ġle verage", + "Ġvan illa", + "e at", + "La unch", + "( pt", + "st ates", + "ĠControl s", + "ĠRes pons", + "ĠJ ake", + "Ġas leep", + "fort unate", + ".next Line", + "Size Mode", + "ìĿ ¼", + "Testing Module", + "G erman", + "ĠInvest ig", + ".re verse", + "ĠB ACK", + "( DateTime", + "Ġnon profit", + "ĠEx pect", + "Ġt anto", + "'] ),", + "ĉ the", + "M ultiple", + "(get Activity", + "_W AIT", + "Ġj á", + "de cor", + "lev ance", + "ĠGit Hub", + "min ation", + "_qu antity", + ".Sc anner", + "ĠL ion", + "éĶĻ è¯¯", + "Ġd re", + "Ġtan tra", + "Ġcontent Type", + "Ġf id", + "_ alt", + "NS IndexPath", + "- pl", + "åĮ ĸ", + "Ġantib iot", + "table s", + "ac ial", + "ĠReg istry", + "Ġol ive", + "ig ers", + "Ġsubscri ber", + "_p res", + "ĠSy ntax", + "Ġlo vers", + ". Byte", + "old ers", + "_for ward", + "al ways", + "C aption", + "Pr iv", + "ĠT ampa", + "is ateur", + "-labelled by", + "ĠTo String", + "Ġì Ĥ¬", + "Ġinit iated", + "W F", + "Ġinstitution al", + "in ject", + "ĠSc r", + "Ġdo ctrine", + "Ġsp acious", + "is ure", + "ĠAn a", + "\" time", + "ess aging", + "Ġc id", + "ĠN an", + "Ġin complete", + "T AG", + "-b uild", + "Dec ember", + "Ġres idual", + "(P DO", + "ĠList en", + "Ġg lyph", + "Ġg aps", + "ne a", + ".R ect", + "Ġsa u", + "ĠPhot ograph", + "Ġexec utable", + "ĠExp ert", + "Cor outine", + "_s izes", + "ĠN L", + ".is Valid", + "); }Ċ", + "- reg", + "Ġc iting", + "c wd", + "ĠOtt awa", + "ĠB att", + "Ġrenew able", + "Ġprelim inary", + "Ġas ylum", + "Ġw rist", + "Ġutil iz", + "Ġdet ention", + "F ast", + "Ġan ge", + "incinn ati", + "Ġste ering", + "ĠNa N", + "ios ity", + "/ page", + "Ġè ¿", + "ster ol", + "Ġdis g", + "( DB", + "ĠDESC RIPTION", + "Ġ_ $", + "Ġobst acle", + "Ġb izarre", + "Ġextr action", + "_ex pected", + "Ġlos es", + "ĠCele br", + "Ġhtml For", + "Ġexplo it", + "олÑĮз ов", + "XY Z", + "Ġmagn et", + "amp ed", + "Ġat oms", + "S ources", + "pect ives", + "Ñģ ли", + "Ġ= čĊ", + "Ġd are", + "ĠWal ter", + "Ġbright ness", + "Ġan notations", + "ë ı", + "is ke", + "S chedule", + ". images", + "ros so", + "Ġ\" ..", + "g amma", + "Ġin structor", + "Ġover write", + "- am", + "Ġdevast ating", + "ĠSaint s", + "Ġh s", + "Ġbon uses", + "$ output", + "ij d", + "(Action Event", + "mon itor", + "Ġmatt ress", + "Jan uary", + ".j p", + "Ġcar acter", + "Ġim pose", + "_re st", + "ĠSign ature", + "Ġcoron avirus", + "ãģ Ĭ", + "_com pare", + "Me asure", + "it ated", + "el ijk", + "ig os", + "es ar", + "Ġrush ed", + "met ry", + "_SE PARATOR", + "_W E", + "_ATTR IBUTE", + "Ġy aml", + "Ġspec s", + "ĠR ah", + "ph eric", + "ĠInvest ment", + "ä ll", + "Ġappe aling", + "Ġview port", + "ç ©", + "Ġmargin Left", + "Ġsub tract", + "ĠED IT", + "ĉ ArrayList", + "gr ading", + "ĠF ailure", + "as per", + "EE K", + "(n ow", + "< object", + "ĠAl ignment", + "ple ado", + "q tt", + "( ERROR", + "ĠIN VALID", + "Ġuser id", + "ra ises", + "ID I", + "Ġvari ance", + "ĠN il", + "/ delete", + "_M AIN", + ".T oken", + ".C ategory", + "> )Ċ", + "Coll ision", + "ĠGre ater", + "ĠR acing", + "al an", + "Ġmon etary", + ", new", + "ĠS orry", + ". Enable", + "ĠInstant iate", + "oll en", + "ë© ´", + "ĠCall ing", + "_h our", + "AD A", + "Ġsh y", + ") **", + "Ġ== >", + "Ġes pecial", + "Ġinterpre ted", + "! =\"", + "Ġpharm acy", + ".s ingle", + "ĠC ialis", + "Ġpar as", + ".to UpperCase", + "ĠDem on", + "Pr ime", + "Ġrank ings", + "Add ing", + "_H ASH", + "ĠEx am", + "Ú ©", + "ĠVict or", + "Ok ay", + "\"] ;čĊ", + "Ġfort une", + "ĠF ETCH", + "exp and", + ".Inter op", + "Ġb arn", + "æ ¶Ī", + "ue vo", + "Ġspec ulation", + "âĶĢâĶĢ âĶĢâĶĢ", + "ĠN u", + "ĠBl ues", + "(f name", + "Ġinhab it", + "Ġ\\\" %", + "C ES", + "ular io", + "_c r", + "Ġvalid ated", + "Ġmid night", + "ank ing", + "Ġincorpor ate", + "Ġpurs uit", + "EX P", + "pr ime", + "P id", + "- US", + "ĠN urs", + "ĠW heel", + "é ĺ", + "Ġin p", + "Ġsupport ive", + ".m ember", + "ĠSh ot", + ".Check Box", + "Ġaff irm", + "T or", + "Full Year", + "Ġconsider ably", + "cred entials", + "_ opts", + "R oll", + "( round", + "Ġcom ent", + "_U ART", + "Ġext ending", + "R G", + "result ado", + "it u", + ".get Session", + "Ġattr action", + "& D", + "$ html", + "ĠJess ica", + "ĠAssoci ate", + "a ñ", + "_ ed", + "ĠL ag", + "Ġorig ins", + "()) ->", + "add EventListener", + "IAL OG", + "åIJ ¦", + ".Com pare", + "Al bum", + "ĠK u", + "< Q", + "arg est", + "Ġpro long", + "Ġconfig urations", + "Ġaccident ally", + "_ph oto", + "Ġ'' ;čĊ", + "Ġver se", + "B ob", + "Ġfarm ing", + "del ivery", + "ĠM ack", + "Ġuse Selector", + ".bootstrap cdn", + "keep ing", + "en y", + ". upload", + "ĠM ETHOD", + "cre ator", + "< _", + "ĠE aster", + ". --", + "UI Button", + "ãĤ ī", + "om eters", + "Ġsh ine", + "Ġh ogy", + "\\ s", + "Ġh arness", + ".C ell", + "Ġlif ting", + "Ġcomb ines", + "ĠOcc up", + "ex clude", + "pat ial", + "Ġres pir", + "_f it", + "Ġfif ty", + "ĠM ol", + "Ġtun ed", + "-d imensional", + "Ġq s", + "Ġto ps", + "> \";ĊĊ", + "quis ite", + "ch annels", + "/ res", + "ĠAn alytics", + ".app compat", + "/ to", + "Ġon Error", + "( attr", + "IR M", + "Ġrag az", + "- as", + ".Se cond", + "orient ed", + "Ġdon n", + "Ġlight ning", + "f id", + "ĠP le", + "ãģ¾ ãģĻ", + "t ro", + ".Tr ue", + "O bservable", + "× Ļ", + "umb ing", + "Ġpros pective", + "-f ilter", + "Ġpurs uant", + "(p oints", + ".B ind", + "Ġp alm", + "clear fix", + "ö s", + "ĠG onz", + "Ġwe aken", + "Dr ive", + "en ido", + "l ld", + "ob ox", + "ane an", + "G ot", + "ä¿ Ŀ", + "Reg ex", + "æ ĥ", + "Ġsal ad", + "ass is", + "\" net", + "inherit Doc", + "ĠR V", + "qu ier", + "Ġcl azz", + "ı ÅŁ", + "oster one", + "Ġair line", + ".list dir", + "Ġdownload ing", + "ĠP alm", + "w aukee", + "& lt", + ".B L", + "_IN LINE", + "off s", + "<< (", + "_new s", + "Ġch ase", + "/ ><", + "Ġeuro s", + "ĠEgypt ian", + "ĠSt ainless", + "_BO OL", + "ĠG uild", + "ĠD ynam", + "[index Path", + "Ġ ï", + "Ġmemor able", + "ĠCh ampion", + "Resource Manager", + ".Log in", + "ĠForm er", + "yp ed", + "Ġl leg", + "; \",", + "D WORD", + "Ġtax i", + "Ġbom bs", + "ra h", + ".t ags", + "_test s", + "st ones", + "âĢĿ )", + "[ g", + "r type", + "Ġv u", + "Ġhost ile", + "Ch ars", + "ĠPatri ots", + "/ status", + "< B", + "ĠIn come", + "ĠD ad", + "Ġpat rol", + "_CH ANGE", + "Ġup graded", + "Ġch ina", + "set q", + "Start ed", + ".U ndef", + "Ġcheck sum", + "Ġfrustr ated", + "{ o", + "Ġen f", + "Ġwood s", + "ĠAny one", + "Enc ode", + "ĠQt Widgets", + "are as", + "Ġshe er", + "sk i", + "end point", + "_T est", + "S oup", + "~~~~~~~~ ~~~~~~~~", + "(f iles", + "ĉĉĉĉĉ čĊ", + ".sp ark", + "Ġval ued", + "Ġ% Ċ", + ".control s", + "ĠXCTAssert Equal", + "Ġf ame", + "ĠR ic", + "D OT", + "ĠAlbert a", + "ä½ ¿", + "os al", + ".Web Controls", + "Ġ ------------", + "ĠM is", + "ĠS YS", + "Non null", + "= item", + "Ġexp ire", + "Dec ode", + "_ operation", + "ĠValid ator", + ".C ENTER", + "uff s", + "* m", + "Ġav ant", + "æ¬ ¡", + "âĢľ You", + ".per mission", + "... )", + "ĠL ic", + "_co ords", + ".n ombre", + "c lo", + ".Int ernal", + "ĠCh o", + "_s w", + "ĉ Il", + "cl k", + "Ġcast le", + "(l ayer", + "p it", + "Ġgu ided", + "Ġâĸ Ī", + "Ġsuper b", + "Ġsup plements", + "_c ent", + "Ġpe ek", + "IN ARY", + ".Content Alignment", + "f alls", + "\")) ;", + "W all", + "). čĊ", + "ĠD anny", + "irm ingham", + "IAL IZ", + "( create", + "\" In", + "Service Provider", + "Ġpr iced", + "mac ro", + "am ac", + ". box", + "---- Ċ", + "ãĥ «", + "ĠS uit", + "ur st", + "br u", + "ourn als", + "num ero", + "__ ()Ċ", + "D as", + "ĠM itt", + "ud er", + "? \\", + "f u", + "[ B", + "Ġ: )ĊĊ", + "(int er", + "br ains", + "Ġatt itudes", + "Ver ify", + "Ġsign atures", + "ack Bar", + "Ġg d", + "J ack", + ".c at", + "Ġz z", + "war f", + "FT ER", + "\");ĊĊ Ċ", + "Al ive", + "IC LE", + "ĠWh atever", + "Ġout lined", + "s prite", + "еР²", + "_A B", + "_DE PTH", + "Ġcrush ed", + "aa a", + "(e v", + "æľ º", + "Ant i", + "IC O", + "is EqualTo", + ".s un", + "ic ulo", + "s ale", + "_h ex", + "ĠV k", + "apt or", + "Un ion", + "ĠDis count", + "list a", + ".Undef Or", + "Ġautom ation", + "N or", + "å¯ ¹", + "åı Ĥæķ°", + "Ġref lex", + "ĠLa ure", + ".showMessage Dialog", + ".t emp", + "Ġa kan", + "Ġ__ ____", + ".Is True", + "ARE D", + "ag le", + "E nergy", + "Ġquant ities", + "âĢĻ Ã©", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "Ġcitizens hip", + "m outh", + "Ġin appropriate", + "ĠOut door", + "White Space", + "An onymous", + "load s", + "webElement Properties", + "T en", + "Ġacc idents", + "Ġadvertis ement", + "ĠY emen", + "(c all", + "Ġsl avery", + "Ñģ п", + "ĠL am", + "_BIT S", + "ome ga", + "ĠO le", + "Ġkid n", + "_A n", + "ĠR aid", + "Cre ation", + "s aved", + "Ġpro port", + "W ARNING", + "\\ P", + "Ġp wd", + "Data Reader", + "is cher", + "ade on", + "ĠP redict", + "Ġreason ing", + "Ġdestroy ing", + "H el", + "* d", + "ĠLeg isl", + "_P r", + "ĉĉĉ ĠĠĠĠĠĠĠ", + "Ġsymp ath", + "Ġch ess", + "Ġm am", + ": hover", + "Ġconvert s", + "Ġp ela", + "Ġprogress ion", + "Ġ\"_ \"", + "ĠG ill", + "ĉ show", + "Ġsupposed ly", + "ac curacy", + "el in", + "Ġunf olding", + "ĠHy per", + "Ġw anna", + "Ġup s", + "( #", + "ĠCr iminal", + "( Point", + "at Lng", + "act ly", + "Ġcontract ors", + "'] }", + "draul ic", + "ód igo", + "ĠT T", + "ĠW ide", + "ĠAR G", + "_ ic", + "FLAG S", + "S chool", + "Ġclear ing", + "-be ing", + "={ [", + ", const", + "man ent", + "Over lay", + "(' \"", + "éĩ ı", + "ĠT imestamp", + "Ġmail ing", + "ĠC ake", + ".Th at", + "Ġmed itation", + "q p", + "Ġemp resa", + "ĠL ions", + "Ġw eld", + "ĠLinked In", + "Ġc ush", + "Ġgen ome", + ".Index Of", + "ag ain", + "Ġf allback", + "Ġcamp ing", + "re dd", + "-strip ed", + "Ġd v", + "Fe bruary", + "ĠPro xy", + "us k", + "Ġdies el", + "W RITE", + "RE AK", + "L orem", + ".In voke", + "- div", + "Inter ceptor", + "ĠD H", + "ia les", + "Ġvill ages", + "Ø ´", + "ĠEN V", + "S ys", + ".X R", + "Ġpo em", + "à Ĥ", + "c ade", + "pl ots", + "Ġ{ (", + ".g it", + "/s vg", + "nc mp", + "ĠÄ į", + "ain es", + "åĩ ½æķ°", + "Ġ( )ĊĊ", + "ops is", + "ĠRel ationship", + "_ aut", + "ĠB omb", + "ĉ com", + "* sizeof", + "off icial", + "_p ayload", + "ĉĉĉĉĉ ĠĠ", + ".m anager", + "ĠA round", + "ĉs end", + "ĠEx ercise", + "ĠB illy", + "iv i", + "Ġneed ing", + "_url s", + "_t asks", + "ĠH em", + "Ġtear Down", + "enc rypt", + ".t ie", + "Ġas m", + "IC H", + "ĠCGRect Make", + "ìĦ ±", + "ul ong", + "Ġit r", + "ĠG ST", + "Ġoffer ings", + "ro be", + "EE E", + "oper ators", + "_PRO P", + "ind ent", + "A DE", + "or f", + "ë IJ", + "Ġbless ed", + "vas cular", + "Ġcon oc", + "H appy", + "B ridge", + "ilit ation", + "j oint", + "ĠAdmin istr", + "- transform", + "Ġmeant ime", + "/ K", + "ĠBed room", + "Ġrig id", + "Ġbrows ers", + "EM PTY", + ".S erialize", + "_ ED", + "Ġst itch", + "Ġj an", + "ell t", + "Ġbr ace", + "Ġtr ails", + "p ublished", + "å¯Ĩ çłģ", + "} ')Ċ", + "Ġac ids", + "Ġ! !!", + "_d irect", + "> ());Ċ", + "aj Äħ", + "_O CC", + "Ġplan ets", + "æ Ł¥", + "ĠDub lin", + "Ġser ie", + ".print f", + "de ep", + "` )", + "Ġ\\ $", + "ĠÎ ¼", + "_V IDEO", + "end ors", + "ĠC rypto", + "F ar", + ".Trans parent", + ".T R", + "ias m", + "_tr aining", + "Ġteach es", + "ĠB elt", + "Ġlimit ing", + "ĠK ath", + "ĠIndex Path", + "Ġachie vements", + "Ġser á", + "interop Require", + "Ġdis se", + ".I f", + "arm ing", + "uls ion", + "P o", + "_DE TAIL", + "Prot otype", + "ĠC AL", + "Ġagre es", + ".v o", + ".Execute NonQuery", + "ĠTop ic", + "Ġ' {}", + "Ar m", + "Ġe cc", + "M ag", + "Ġserial ized", + "ĉ conn", + "c ached", + "= tf", + "ĠByte Array", + "prot obuf", + "var char", + "ĉ ASSERT", + "Ġlist e", + "_tr igger", + "· ¸", + "Fe el", + "T ahoma", + "ĠL ik", + "Ġstruct ured", + "erg us", + ".In itial", + "_ ge", + "cl js", + ".cont act", + "Ġand ere", + "$ stmt", + "_C URRENT", + "ĠDis cover", + "$ res", + "form atter", + "H a", + "vang st", + "Ġem erge", + "ãĢĤ âĢĿ", + "ĠCabin et", + "-s quare", + "éĥ ¨", + "Ġr age", + "ĠA J", + "ĠV T", + "sh adow", + "ĠFa ith", + "en ames", + "pret ty", + "has il", + "part y", + "Ġvar char", + "Ġf otos", + "Ġal um", + "ĠBelg ium", + ".y label", + "Ġde j", + "_num bers", + "Ġh u", + ".set Adapter", + "ĠUs ually", + "(s ample", + ".Sh ared", + "Ġbook ed", + "Ġ>> =", + "Ġmin erals", + "\">", + "pro g", + "bo o", + "_m d", + "_p ack", + "(ex press", + "ut z", + "\\ Auth", + ", id", + "ĠCh ile", + "act ice", + "Ġrecruit ment", + "Ġpos es", + "Ġvulner ability", + "inst anc", + "or um", + "d ess", + "Ġx l", + "%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%", + "( fig", + "Ġdelet ing", + ".d el", + ") ')Ċ", + "ĠWeek ly", + "?? ?", + "(str cmp", + "sm ith", + "Ġpurs uing", + "- so", + "ĠApp s", + "/ 'Ċ", + "Ġdec is", + "FO RE", + "Every one", + "Ġl anes", + "V irtual", + ". attach", + "( Log", + "ĠMed icaid", + "( Path", + "ĠTurn er", + "/ application", + "Ġport rait", + "Ġopp ose", + "check out", + "Ġfinish es", + "_M E", + "Bar rier", + "S ong", + "V AR", + "Ear lier", + "rell a", + "Ġh ast", + "az ar", + "Ġpull s", + "ng x", + "Ġinspir ing", + "Ñĥ Ñİ", + "-d irection", + "Ġexplos ive", + "Ġcreated At", + "st o", + "Ġwhe at", + "ĠB uilt", + "' ai", + "Ġtrack ed", + "ham mad", + "RowAt IndexPath", + "_ heap", + "D ue", + "Ġconnect s", + ".p ublish", + "em u", + "Ġbul lets", + "B AR", + "ol ate", + "Ġintern ally", + "Ġcatch ing", + "-p assword", + "ou ched", + "æĢ §", + "e ous", + "Ġx range", + "Q uality", + "v v", + "Man age", + "( ($", + "ac ements", + "ĠBro thers", + "ĠHE AD", + "ĠUn supported", + "s an", + "es i", + "** *Ċ", + "Ġadapt ation", + "ĠWork er", + "'] /", + ".save fig", + "( trans", + "Ø ¬", + "ne e", + "Cor rect", + "... \")Ċ", + "Ġsubmit ting", + "-p ath", + "ĉ last", + "iss an", + ".x label", + "ĠS epar", + "/ no", + "_b est", + "ĠM ills", + "_s ock", + "(f lag", + "Ġdest inations", + "em ption", + "ĠF AIL", + "å ĴĮ", + "Ġr p", + "f act", + "ĉ len", + "D AY", + "Ġse iz", + "_d st", + "l ip", + ".Line ar", + "ĠB asket", + "$ t", + "$ i", + "- brand", + "ĠNe il", + "ĠE q", + "Ġth ou", + "og ene", + "Ġscholar ship", + "æĽ ´", + "Ġs wo", + "ag inator", + "en i", + "( book", + "Ġbl ink", + "th us", + "Ġcancell ationToken", + "ĠPalestin ians", + "Ġprofit able", + "Ġback pack", + "ens on", + "< Long", + "Ġp ools", + "Ġst icks", + "Ġspokes woman", + "Be ing", + "ĠHer itage", + "ĠN ike", + "SH A", + "ĠNotImplemented Exception", + "$ core", + "ĠR ico", + "/ latest", + "ĠC zech", + "ner Radius", + "(l ines", + "Ġsem ester", + "Ġw ounds", + "Pro cedure", + ".m ail", + "() ):Ċ", + "Ġcor rid", + "ter ed", + "ĠN CAA", + "Ġgal axy", + "_k ind", + "il k", + "Ġtr as", + "_P OL", + "ĠH et", + "Ġrefuge e", + "Ġteen age", + ".b inding", + "post al", + "Ġiç in", + "ĠData Type", + "é ĸ", + "ycl erview", + ", value", + "_id entifier", + "< b", + "Ġout file", + "čĊ ĠĠĠĠčĊ", + "Ġcr é", + "Ġrespond ents", + "ĠBe ast", + "ce led", + "Ġinter f", + "-th eme", + "g if", + "ĠR angers", + "IT AL", + "Ġauthentic ate", + "Com pletion", + "urs ors", + "Ġcin ema", + "Ġdisc our", + "ĠJ aw", + "OCK ET", + "Ġpr ayers", + "ĠL uis", + "fr ag", + "=[ Ċ", + "Ġbr ave", + "_p ose", + "C ertificate", + "- fe", + "ifer ay", + "ĠFl ags", + "Container Gap", + "ĠC rit", + "Result Set", + "ĉc ur", + "Ġcorrespond s", + "St aff", + ".Http ServletRequest", + "Ġneur ons", + "ĠMain AxisAlignment", + "ed ar", + "Ġg ad", + "_p arts", + "ĠÎ ²", + "Ġf x", + "/ files", + "ĠB ros", + "hip s", + "Ġgluc ose", + "Ġfar ms", + "Ġment ally", + "rest aurant", + "Table Name", + "ĠMer cedes", + ". Visual", + "Ġan ch", + "inal g", + "_r untime", + "Ġpropri etary", + "Ġintent ions", + "iz i", + "S lice", + "; \"> true", + "ĠNY C", + "Ġb ored", + "ĠD etect", + "Ġapp ar", + "Ġje ans", + "ĠT ak", + "I OD", + "ĠH orse", + "( FILE", + "( ?", + "ri que", + "optim izer", + "n at", + "lo ys", + "ĉ Token", + "oub ted", + "u ess", + "oco a", + "Data Member", + "_P OWER", + "class List", + "Push Button", + "ĠWi Fi", + ". Stream", + ".g uild", + "Ġn og", + "ĠPortug al", + "ĠUnt er", + "Pr imitive", + "b oss", + "ĠDe utsch", + "Ġerot ic", + "Ġstr conv", + ".Try Parse", + "Ġgr ams", + ".S uccess", + "_p k", + "ĠHar vey", + "-m inded", + ".c ountry", + "[] \"", + "Ġang el", + "Ġbe ats", + "ĠV or", + "il io", + ".m aster", + "s omething", + "ĠP ACK", + "( if", + "Request Body", + "Ġant es", + "/w idget", + "Ġmod o", + "ĠA W", + "find er", + "Ġoptim ized", + "Ġmiss iles", + "N B", + "ĉint ernal", + "t ex", + "ĠS ri", + "Ġdam aging", + "ĠM ais", + "- Allow", + "ĠZ h", + "- alt", + "Ġ ));ĊĊ", + "è ī", + "Ġinflu ences", + "Ġc atal", + "_REG ISTER", + "ĠAPI s", + "-cent ury", + "Ġbi ology", + "ĠAct ual", + "Ġhe els", + "TR ACE", + "_D IG", + "D ataset", + "ĠM atter", + "Ġclass ifier", + ".w ikipedia", + "ĠRog ers", + "Ġdon ated", + "raw ler", + "en en", + "Ġcas inos", + "ort al", + "Ġpr ive", + "s pe", + "duc ers", + ". ep", + "Ġgr asp", + "ac ji", + "Ġd airy", + "Ġb uses", + ".com m", + ". ins", + "ĠI RS", + "ĠBe er", + "ad c", + "o ard", + "_M ET", + "Ġ' +'", + "r ans", + "Ġkind a", + "ĠâĶ Ĥ", + "ĠM aur", + "аР³", + "Ġband width", + "ib us", + "ĠD ifferent", + "(m at", + "ĠRes ume", + "_UN S", + "est ablish", + "Ġfon ction", + "Sub scription", + "_com pany", + "Ġlight ly", + ".con firm", + ".y aml", + "ĠBo ost", + "Com merce", + "- template", + "_DEL AY", + "ĠH I", + "Ġn avig", + "(S ender", + "ĠH S", + "_ \"+", + "ĠRE QUEST", + "Ġw ifi", + "=\" \"Ċ", + "]) ->", + "Ġro pe", + "Ġviol ated", + "Ġgl ance", + "ĠK urd", + "Ġè ®", + "de ck", + "ĠIS BN", + "Ġin fect", + "ĠF oo", + "Ġget ter", + "Ġt ener", + "ap pe", + ".h h", + "_h ot", + "< AM", + "p oly", + "! \",Ċ", + "Ġconver ting", + "ĠW WE", + "RO S", + "(' {", + "Com mit", + ") L", + "ĠO re", + "Ġsp arse", + "Ġdis posal", + "Ġcan celed", + "åIJ İ", + "Ġa er", + "Ġvin yl", + "á» ĥ", + "rec ogn", + "ark ing", + "Ġtrick y", + "* s", + "Ġproceed s", + "Ġis o", + "Ġco conut", + "Ġcraft ed", + "IEL DS", + "Ġquest o", + "Ġcomm un", + "_CON NECT", + "Ġtraff icking", + "De ep", + "a ções", + "c odigo", + "ve au", + "Ġbet ray", + "int a", + "T ED", + "æ r", + "m art", + "_B US", + "/ sc", + "ial ly", + "Ġcigaret tes", + "è¯ ģ", + "(n n", + "Ġmodel ing", + "/ products", + "w arn", + "Ġmet ro", + "ĠI v", + "& )", + "ĠC able", + "Î »", + "Compar ison", + "g ary", + "ĠB A", + "P ART", + "Ġp v", + "_up dated", + "C redit", + "orth y", + "observ able", + "Ġthe atre", + "B LE", + "; }ĊĊ", + "la unch", + "_str ings", + "ug o", + "ĠR PG", + "- auth", + "Ð ł", + "hol m", + "ĠP and", + "U id", + "Ġim ply", + "ìľ ¼", + "'] ='", + "/ User", + "Ġstr cat", + "нÑĭ й", + "Data Adapter", + "Ġland sc", + "Ġdipl omatic", + "ï¼ ĵ", + "************************************************************************ ****", + "ĠCh icken", + "Ġbc rypt", + ".In f", + "[ col", + "ĠQu antity", + "- position", + "Ġdiet ary", + "Ġfil mm", + "Is rael", + "Pre v", + "ĠMill ion", + "Ġrem ed", + "Ġbill ing", + "Ġout doors", + ".t m", + "Ġn ad", + "F org", + "Z Z", + "Ġs sl", + "], '", + "K T", + "f req", + "= document", + "bl ur", + "¬ ¸", + "ĠJeff erson", + "C s", + "(s ave", + "Ġstr ap", + "Ind ia", + "Ġide ology", + "BO SE", + "ĠF P", + "( ans", + "Ġfe ver", + "ĠY am", + "K ing", + "à ²", + "AT ING", + "bo hydr", + "roll back", + "Ġnew Node", + "ĠN VIDIA", + "Ġhon our", + "ĠCon firm", + "xb d", + "Ġsuccess or", + "/ u", + "l iv", + "ourn aments", + "Att achment", + "Ġgr up", + "Ġtri be", + "Ġca res", + "e ft", + "_s ame", + "' label", + "Ġ ãĢIJ", + "M otor", + "Ġin exp", + "Ġ\" (\"", + "_POS ITION", + "Ġval ley", + "ĠResult Set", + "Ġpres erved", + "Ġmut ations", + "Ġquestion ing", + "mun ition", + "parse Int", + "ĠS r", + "ĠMet adata", + "âĢĿ ï¼Į", + "timestamp s", + "Ġtrans itions", + "í Ļ", + "Ñ Ĭ", + "i om", + ".D o", + "Ġp ine", + "Ġf ung", + "Ġtrans mitted", + "ct ime", + "ĠF am", + "Re vision", + "B as", + "UP ER", + "D estination", + "toHave BeenCalled", + "Ġun fortunate", + "IN ES", + "_pro f", + "Am ong", + "ĠCy ber", + "ĠB attery", + "gen re", + "ĠView Model", + "- =", + "Ġutil ized", + "p aint", + ".Integer Field", + "ern ity", + "comp iler", + "âĢĭ ĊĊ", + "ĠM asters", + ".To Array", + "Ġstrt ol", + "ĠUkrain ian", + "} ));Ċ", + "Ġsh emale", + "\" That", + "for all", + "/ download", + "Ġrhet oric", + ".l atitude", + "ĠWH EN", + "Ġshock ing", + "IF IC", + ".N ormal", + "_F OLDER", + "Ġdr ift", + "Ġmount ing", + "- book", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ċ", + "ĠWire less", + "> \".$", + "Ġrel ies", + "( Console", + "Int ernational", + "-> {$", + "M id", + "Ġdis sert", + "dd s", + "Ġdepos its", + "ĉd river", + "# ga", + "pr ising", + "print ln", + "Ġpres enter", + "Ġmin es", + "C SS", + "ĠD ual", + "(! (", + "Ġk am", + "Ġis Loading", + "ĠProt ect", + ". upper", + "ar ium", + "]: ĊĊĊ", + "Y ii", + "-sh irt", + "ĠIM AGE", + "_color s", + "Ġur gent", + ".Cont ainer", + "! (Ċ", + "S aturday", + "Ġsoci eties", + "ĠTh an", + "ĠC od", + "= @", + "Ġattach ments", + ".m obile", + "Ġsp ite", + "Ġb ounce", + "raw l", + "instanc etype", + "ĠTr uck", + "Ġmanip ulation", + "( Config", + "-in st", + "Ġst or", + "it ution", + "Preferred Gap", + "Ġmain AxisAlignment", + "Ġlist ened", + "'' 'ĊĊ", + "ott age", + "- project", + ".AP PLICATION", + "ĉ root", + "Ġwh it", + "Ġb ilder", + "Ġk er", + "Ġappl iances", + "row ave", + "ìĿ Ģ", + "ematic s", + "ĠO rg", + "op ing", + "_SE ARCH", + "Ġch am", + "add ContainerGap", + "Ġ( ).", + "ĠAr row", + "Il legal", + "Current ly", + "Ġus a", + "Ġpassword s", + "Ġre nown", + "av ern", + "ĠEv il", + "Ġconc at", + "Ġdu o", + "Ġv ale", + "ĠBe an", + "Ġindic ators", + "cm ath", + "ĠP ump", + "Nov ember", + "ific ant", + "_DOM AIN", + "reg ar", + "ĠPort al", + "\" $", + "Ġformer ly", + "\"] :Ċ", + "ĠVis ibility", + ".getElementsBy ClassName", + "_RE D", + "Ġch ampions", + "à ´", + "Val or", + "_ es", + "* a", + "-re peat", + "B and", + ".st age", + "Ġbure auc", + "C nt", + "et en", + "- function", + "Ġm uito", + "P ID", + "_ editor", + "Ġcrash ed", + "de ad", + "k at", + "ag h", + "ĠEX T", + "ass er", + "-sm all", + "Ġreal iz", + "( Entity", + "ú s", + "ĠAct ually", + "ĠEl ite", + "Ġhel m", + "(non atomic", + "ash er", + "Comm unity", + "all eng", + "ir y", + "ĠG rowth", + "Ġs ue", + "Ġfrequ encies", + "_des criptor", + ".At tribute", + "Ġrecip ients", + "_N S", + "/ \"+", + "ib an", + "Ġath lete", + "ĠI gn", + "_D MA", + "(d s", + "ĠRequire ments", + "AD I", + "ere z", + "\\ Admin", + "br aska", + "ĠR ust", + "Rel ation", + "C OD", + "ĠV ERSION", + "em ma", + ")) {", + ".D uration", + "ĠC amb", + "- logo", + "Ġread able", + "Ġcre ators", + "() ];Ċ", + "Up Down", + "-h alf", + ".get Month", + "(s f", + "P ic", + "Ġhun ger", + ".t x", + "Ġexceed ed", + "_se ed", + "( ^", + "_s k", + ".per form", + "Ġ> ::", + "Ġm ongo", + "= float", + "bind Param", + "Sm art", + "if a", + "Ġse curities", + "Ġpre jud", + "Ġ, \"", + "Ġcor ps", + "Ġv ra", + "amac are", + "it err", + "(M edia", + "uch e", + "Ġc ob", + "Ġlib er", + ". geometry", + "Loc ator", + "Ġsl iding", + "Ġsurg ical", + "_C UR", + "Ġcon sect", + "[ *", + "ĠRes ort", + "St ub", + "_DO UBLE", + "ĠS oph", + "Ġelect oral", + "_dis able", + "ĠÑģ о", + "ĠLight ning", + "Ġment ions", + "oc y", + "Ġle aked", + "Ġrelax ing", + "Pres enter", + "v sp", + "Ġgu ilt", + "=- =-", + ".re ply", + "ĠMir ror", + "C amp", + "Ġ+#+ #+#+", + "Ġ+#+#+#+ #+#+", + ".A uthor", + "Ġdirect ive", + "-h ook", + "íĦ °", + "}ĊĊ ĊĊĊ", + "@ pytest", + "_r and", + "m is", + "Ġcolor ful", + "u je", + "lass es", + "ĠClass es", + ".h ave", + "% ),", + "é¢ ĺ", + "Ġdistur bing", + "sub string", + "ĠK oh", + "In vest", + "p urchase", + "Ġrec ycling", + "ĠA RT", + "ier archy", + "Ġf ps", + ".check Box", + "íķ ´", + "_m aterial", + "duc ation", + "Ġf w", + "ud it", + "Ġreview ing", + "ĠS id", + "S yntax", + "ĠW ritten", + "arg ar", + "UM E", + "/ q", + "Class ifier", + "Off icial", + "Ġj azz", + "Ġom ega", + "Ph ysics", + "Ġl ugar", + "_access or", + ".command s", + "Ab ility", + "ĠB atch", + "R AM", + "Ġencount ers", + ". Qu", + "BY TE", + "ĠD istribution", + "Ġus o", + "ĠReco very", + "appro ved", + "Ġden ial", + "/sh are", + "Linked List", + ")čĊčĊ čĊ", + "udd y", + "Ġf ines", + "Ġr y", + "Un icode", + "ĉ render", + "Ġprem ises", + "Ġp on", + "ali ases", + "/F oundation", + "c uda", + "ĠC ock", + ",: )", + "(f older", + "Ġm éd", + "dr ag", + "Ġtal ents", + "ĠĠĠ ĊĊ", + "е ÑģÑĤв", + "m ob", + ".y ml", + "Ġa ster", + "Ġdis cre", + "go al", + "ĠGT X", + "ĠS UCCESS", + "ĠL ONG", + "(f ind", + "Ġsing ular", + "_s z", + "ĠEth ereum", + ".. Ċ", + "Ġir res", + "')) {Ċ", + "Ġmin isters", + "St eps", + "ivers al", + "ĠNever theless", + "- led", + "Ġ( %)", + "ç¡ ®", + "Ġtime zone", + "Ġstr anger", + "(re nder", + "Ġsh util", + "Ġm ph", + "Ġtri o", + "pp y", + "Ġpred omin", + "Ġend ors", + "ĠRuss ians", + "ĉ row", + "Ġw izard", + ".s erialize", + "Ġcompl ained", + "Ġs ido", + "Ġdelight ed", + "-m e", + "ĠR av", + "H uman", + "ad ays", + "rec v", + "Work ing", + "J ump", + "ĠÃ¥ r", + "ĠAut omatic", + "_B ase", + "æł ¼", + "aur ants", + " ¯", + "æ ¸", + "(C Type", + "IF I", + "( amount", + "Ġbelie ving", + "= mysql", + "Ġf ir", + "Ġrest oration", + "ere co", + "Ð ¢", + "_ '+", + "Ġe book", + "Ġde bris", + "(input s", + "AY OUT", + "Ġscre aming", + "av ia", + "land er", + "Ġdist ress", + "Ġas sembled", + "ĠA void", + "( thread", + "ĠR PC", + "_EX IT", + "( queue", + "и ÑģÑĤ", + "D ll", + "Ġsk ull", + "_p ub", + "che z", + "min ate", + "ens en", + "Ġins ane", + "b ounds", + "ĠR osen", + "Ġcondition ing", + "process ed", + "v ideos", + "f our", + ".Con v", + "| ;Ċ", + "Person al", + "cer pt", + ":UIControlState Normal", + "Ġdos es", + "ĠKar l", + "ĠFre qu", + ".B ASE", + "ĠV ote", + "Ġcon current", + "ĠMessageBox Icon", + "Ġà ĸ", + "ĠDub ai", + "ĠR etail", + ": number", + "ĠOb server", + "ĠBig Integer", + "_ origin", + "_W ORK", + "F rames", + "Ġnot ably", + ". âĢľ", + "Ġtrop ical", + "Ġn iche", + "am ina", + ".s ys", + "(t okens", + "mod ify", + "os it", + "st rom", + "ĠCom ics", + "O PTION", + "T icket", + "Ġfact ories", + "Ġdis put", + "_F ile", + "ĠFin n", + "ee e", + "ĠDisc ord", + "_m oney", + ".t pl", + "_s afe", + "L B", + "Ġgl ut", + "J K", + ".fl ow", + "- cont", + "g os", + "Ġhor izon", + "ĠR ush", + ":: *", + "P ipe", + "ull a", + "bor ough", + "he imer", + "(m ove", + "( Text", + "} );čĊčĊ", + "w elcome", + "ĠCom ponents", + "Ġgovern ance", + "c losed", + "ĉm argin", + "Ġla undry", + "ĠTerm inal", + "iz ards", + ". âĢĶ", + ".rem ote", + ".r adius", + "ĠQue bec", + "Ġd h", + "T ech", + "ĠM ist", + "s eller", + "_l iteral", + "Ġgen ius", + "Ġbr ains", + "g em", + "ĠMe asure", + "Ġcata st", + "r ance", + ".Text Field", + "Ġconsum ing", + "Ġ'\\ ''", + "oubted ly", + "ĠC ertain", + "E v", + "ert i", + "be ing", + "Ex perience", + "Ġ// [", + "ĠArab ic", + "ĠC rist", + "ĠAz ure", + "Ġhor a", + "l adesh", + "\\ Blueprint", + "d ar", + ".re l", + "Ġsup rem", + "ĠRe agan", + "ĠAt tributes", + "-s idebar", + "Ġuse Styles", + "ĠA irlines", + "Ġh ills", + "/x html", + "v inc", + "_m ock", + "Ċ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠP ill", + ".Layout Style", + "ĠCommand er", + "] <", + "sign ature", + "Ġ{ }čĊ", + "Ġhat red", + "Ġë ĭ", + "ole sterol", + "Ġ ********", + "ancell or", + "c rop", + "T IM", + "ĉĉ ĊĊ", + "ys qli", + "uit ive", + "ĉun set", + "_s el", + "Ġmen us", + "t ick", + "Ġconstit ute", + "ĠElement s", + "ĠRed is", + "agg io", + "_f p", + "_de pend", + "em as", + "CA ST", + "or ange", + "j on", + "ĠEm ily", + "Ġpot atoes", + "Ġre ceptor", + "ĠElect ronic", + "ĠL ights", + "Ġcomb ining", + "ĠSome one", + "Ġ######## .", + "ĠT OD", + "/ show", + "X d", + ".\" '", + "af x", + "Ġtr agic", + "St yled", + "ĠMar co", + "G allery", + "d ale", + ".âĢĿ ĊĊĊĊ", + "é rie", + "/s ervice", + "äº Ĩ", + "Ġamb ient", + "_SET TINGS", + ".Ad apter", + "l ene", + "Ġtrav els", + "Not ice", + "Ġcle ans", + "ĠF em", + "ch air", + "Ñĥ н", + "/ my", + "_b ad", + "ĠEcon omics", + "IS A", + "_C NT", + "(M enu", + "äº İ", + "ĠR idge", + "Ġlength y", + "D ot", + "Ġjump s", + "Ġhe y", + "$ pdf", + "Ġw orm", + "Ġs ut", + "Ġsh er", + "iam o", + "ĠCal c", + "trie ve", + "Ġc ops", + "ĠCh rom", + "Ġreg ulated", + "reat ment", + "ĠHigh er", + "ok s", + "Ġde ze", + "LOC ATION", + "ongs To", + "Ġfin ite", + "Ġvar ies", + "Ġposition ed", + "' il", + "éĩ ij", + "Ġh ike", + "(d one", + "play list", + "Ġad a", + "Ġcoast al", + "ĠN ancy", + ".DateTime Field", + "Cpp CodeGen", + "ĠSimilar ly", + "re ur", + "ĠCon tr", + "ĠH idden", + "ĠB eta", + "atch ed", + "_inst all", + ". Output", + "Look up", + "ĠRich mond", + "qu ared", + "Ġm anga", + "-control s", + "ĠBern ard", + "L arge", + "Ġslic es", + "Ġoff ence", + "ĠM ega", + "Ġest ar", + "Ġjoint s", + "Ġsum m", + "_pl atform", + "B uff", + ".add Subview", + "Ġret ained", + "Let ter", + ".d im", + "Ġess ere", + "ĠS caffold", + "EX PECT", + "ĉ RE", + ".long itude", + "ü nd", + "Ġstat ue", + ".add Widget", + "ĠCar ibbean", + "add PreferredGap", + "il de", + "UIL abel", + "ĠOp port", + "Ġimper ial", + "urs ion", + "Ġmand ate", + "Ġpromot ional", + "Ġv k", + "ia ÅĤ", + "Ġp yl", + "ĠCre ation", + "оз д", + "Ġsim pler", + ". what", + "ĠRec ent", + "St orm", + ". quantity", + "ĠL ov", + "\" -", + "ubb les", + "_not ification", + "(w orld", + "ur ger", + "* (-", + ": \"Ċ", + "h m", + "ans hip", + "ĠAl most", + "Ġmotor cycle", + "_f ee", + "Ġabsor b", + "ĠVin cent", + "Ġsound ed", + "ÃŃ st", + "Ġpharm aceutical", + "ht ag", + "ĠKind le", + "ital ize", + "ĠEm peror", + "oust ic", + "Ġspecial ists", + "åħ ¬", + "Border Style", + "/ \\", + "RE LATED", + "(', ',", + "(ex pr", + "Ġh t", + "åį Ī", + "_C reate", + "Ġspecial ly", + "Ġ[] ;čĊ", + "Ġhe el", + "Ġse pt", + "_ arch", + "(in itial", + "% .ĊĊ", + "\\\", \\\"", + "Ġdiscuss es", + "Ġu pt", + "Ġ[ &", + "Ġman us", + ".h and", + "ĠM AIN", + "ĠDen mark", + "Ġ], čĊ", + "Ġcr yst", + "Ġn ack", + "Co ords", + "_in ner", + "Ġmid st", + "Ġaw ake", + "ĠÐ ŀ", + "-b reak", + "ÃŃ vel", + "_P ASS", + "ĠParam s", + "Ġdet r", + "Ġsp ider", + "ĠCon cept", + "Ġpre nd", + "CH ED", + ".Ex it", + "Ġpop ulated", + "Ġvirt ue", + "_SE SSION", + "Ġnou vel", + "o auth", + "Ġд аннÑĭ", + "r ink", + ".Header Text", + "atur ated", + "Ġer st", + "Ġå ħ", + "ॠĩ", + "_vis ible", + "ey er", + "Ġli able", + "Ġde be", + "Ġb w", + "{- #", + "_W IN", + "df s", + "H over", + "ĠP UT", + "- angle", + "Ġnob le", + "Ġtr aces", + "enc v", + "Ġuser Data", + "_in s", + "ĠS uz", + "Ġnews letters", + "ĠMod i", + "Ġentreprene urs", + "Ġtrib ute", + "Ġrum ors", + "Ġr r", + "ĠQu arter", + "ê³ ł", + "Ġfeed s", + "ó g", + "Ġen velope", + "Ġle ar", + "Ġk ø", + "develop er", + "Sim ilar", + ": \")Ċ", + "sub scription", + "Mod ifier", + "ital ic", + "Ġn asty", + "Ġtermin ation", + "Ġchar ming", + "Ġâ Ł", + "ton s", + ".tr ace", + "h ots", + "ĠU R", + "M ont", + "Ġjust ified", + "ĠG ang", + "ine a", + "Ġb og", + "( ap", + "_ $", + "Ġcont amin", + ".D ot", + "ĉ Debug", + "( exports", + "Ġpa ired", + "ĠAss ignment", + "Ġautom obile", + "ĵ į", + "Ġph ases", + "v w", + "@ SuppressWarnings", + "= \\", + "r ant", + "- ed", + "ĉ await", + "Ġcert ificates", + "'> \"", + "Ġint act", + "CT RL", + "M ike", + "greg ation", + "AT TERN", + "Ġre public", + "_up per", + "ili ary", + "Ġcomput ation", + "h ire", + "ĠSh in", + "_ ANY", + "ĠManufact urer", + "ĠC arm", + "Ġbear ings", + "_c omb", + "c ad", + "ur istic", + "Ġwholes ale", + "Ġdon or", + ".inter faces", + "press o", + "ĠBr un", + "-c lose", + "pro ve", + "_S K", + "ĉf rame", + "et ros", + "ĠP ain", + "_EX P", + "ĠL T", + "_f s", + ".dat as", + "ĉ ss", + "vo ir", + "ĠA xis", + "M ajor", + "=\" <", + "[ h", + "Ġprof ess", + "igr ate", + "(s core", + "Key word", + "\" os", + "ĠĠĠĠ ĉĊ", + "an alysis", + "Ġre play", + ".p ass", + "\\ d", + "t ls", + "Ġsan ct", + ".l ight", + "_m obile", + "ÑģÑĤ ÑĮ", + "ĉt otal", + "u ity", + "Ġpa used", + "N AS", + "Ġen core", + "lo e", + "Ġ-* -ĊĊ", + ".h igh", + "am pler", + "ĠSec ure", + "Ġfrag ments", + "_ vel", + "ill ary", + "ĠSte in", + "ĠD awn", + "Ġmax imize", + "ภ¢", + "Ġ/ ^", + "Ġcontin ually", + "Ġsh adows", + "ĉ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠI ActionResult", + "Ġinform ación", + "C HECK", + ".Selected Item", + "b undle", + "ol ley", + "< Int", + "AIN ER", + "ĠW ing", + "tit les", + "ount ain", + "C Y", + "ĠLoc ale", + "form er", + "< context", + "R adioButton", + "_s chedule", + "Ġfab ulous", + "Rob ert", + "_PRO FILE", + "Ġg ates", + "IM P", + "ĠPent agon", + "g old", + "b ach", + "employ ees", + "R otate", + "Ġch amp", + "Ġsel bst", + "Al tern", + "Ġconvert View", + "/ ,", + "Ġ~ (", + "St reet", + "_ place", + "Ġpersonal ized", + "P ublisher", + "ĠSO CK", + "_NAMES PACE", + "ĠStand ards", + "so ever", + "_C ENTER", + "Inter est", + "ô t", + "tem perature", + "View port", + "get Resource", + "Ġeat en", + "Ġsem pre", + "Ġab normal", + "Ġc ylinder", + "Ġtroub les", + "n od", + "Ñĭ в", + "g ames", + "_g l", + "Pl ane", + "g rey", + "_t bl", + ".Component Placement", + "ĠCh ase", + "Log ging", + "man y", + "ì Ĩ", + "Ġfl ame", + "=\"<", + "Ġtra jectory", + "_r ing", + "Ġhydro gen", + "tr on", + "Ġstat ute", + "Ġcondition al", + "Ġtr ay", + "-s chool", + "(w idget", + "$ config", + "Ġrequest ing", + ". uint", + "et on", + "brit ies", + "Of Type", + "AD MIN", + "p redict", + "Ġg egen", + "ĠH app", + "OC UMENT", + "ĠA part", + "Ġ---- -", + "ro e", + "u ide", + "just ify", + "ĠSqu ad", + "Ġprof es", + ".b ot", + "_c urrency", + "inn en", + "ĠM umbai", + "ĠNum bers", + "avana ugh", + "agn itude", + "âĢľ There", + "= http", + "çī ĩ", + "Ġv b", + "+' {{ $", + "Ġin ode", + "s il", + "Ġh ace", + "Ġsever ely", + "ĠOver view", + "Ġspr aw", + "Ġbeach es", + ": left", + "· »", + "($ {", + "ĠF IRST", + "ĠSp a", + "- ass", + "Ġb aise", + "ĠN ODE", + "ĠP izza", + "P et", + "(se q", + "\\ \">Ċ", + "CppMethod Pointer", + "Ġv p", + "Ġi a", + "_se conds", + "em et", + "/b lob", + "_TH RESH", + "... čĊ", + "D est", + "ĠN H", + ".data Source", + "it és", + "ĠJ ak", + "s ell", + "Ġwork shops", + "< u", + "Ġr ivals", + "ĠEX ISTS", + "h om", + "-t oken", + "compat ible", + ".J Panel", + "Ġphys icians", + "art in", + "Ġdes irable", + "Ġdistinct ive", + ".D ep", + "g id", + "ili ate", + ", max", + "Ġprem iere", + "Ġq Debug", + "Ġadvoc acy", + "Ġwh isper", + "P t", + "Ġun changed", + "_q ty", + "请 æ±Ĥ", + "Se ason", + "avel ength", + "ĠP ul", + "Ġd ÃŃa", + "'] ]],Ċ", + "al is", + "(\" &", + "bor o", + "Ġb m", + "ĠR adi", + "w rong", + "ĠGo ing", + "ime Type", + "ij i", + "- feedback", + "ĠN ames", + "ĠB apt", + "Ġprob able", + "ĠE ther", + "ĠPolit ics", + "_prot ocol", + "lin ing", + "S at", + "Ġcor rel", + ".Pr imary", + "(null able", + "RI ORITY", + "Ġcolor ing", + "Ġutil izing", + "d as", + "Ġexport ed", + "Ġcar riers", + "Con v", + ". editor", + "i ó", + "(h andles", + "Ġapprec iation", + ". import", + "ĠAust ria", + "ĠStr ip", + "il ight", + "Ġappropri ately", + "ĠP rest", + "ĠW ir", + "ĠUI Application", + "al chemy", + "ĠM ob", + "ĠD etermin", + "ergus on", + "register ed", + "_con vert", + "ĠVlad imir", + ".Show Dialog", + "ref lect", + "Ġsh ook", + "Ġass ure", + "ĠO ften", + "Ġcivil ization", + "Ġvocab ulary", + "fore ground", + "ĠS cope", + "Ġunw anted", + "act ing", + "Ġ( []", + "Ġmark ing", + ". original", + "ĠMO VE", + "Ġsport ing", + "ception s", + "NS Number", + "S izes", + "Ġprovinc ial", + "_Tr ans", + "Ġproblem atic", + "d igit", + "ĠEm ma", + "lock s", + "ĠC rew", + "ib a", + "') :", + "ish a", + "Ġm amm", + "Ġocc ured", + "w cs", + "(r ule", + "Ġmerch andise", + "es pecially", + "ĠT win", + "Ġn aming", + "Ġs log", + "Ġimpro ves", + "Ġad her", + ": text", + ".h adoop", + "_HT TP", + ".to List", + ".dis abled", + "Ġl enses", + ".in i", + "ĠR are", + "ĠUb untu", + "Ġsc ram", + "ol ation", + "tit ulo", + "Every thing", + "Ġnod ded", + "icht ig", + "_const ant", + "z c", + "l ift", + "ĠNot ify", + "ond o", + "ĠIN F", + "(\" +", + "ĠK az", + "Ġd read", + ".m apper", + "le ur", + "ĠCome y", + "ĠN B", + "ic ers", + ".P ush", + "ĠH ack", + "ĠBrazil ian", + "_pro d", + "Ġ// ĊĊ", + "Ġb icycle", + "Ġun available", + "Ġadoles cent", + "bl k", + "Ġmit ig", + "_bl ue", + "ì ĺ", + "fade In", + "ĠUtil ities", + "ĠM N", + "; k", + "< style", + "- status", + "ind o", + "Ġinn ings", + "Ġg j", + "Ġ|| =", + ".e u", + ": Number", + "Ġcuis ine", + "ĠURL s", + "ie k", + "Ġw ires", + "ĉ ps", + "ie g", + ".m k", + "so ap", + "Ġsom etime", + "Ġst ap", + "_s eries", + ".T arget", + "æ º", + ".dest ination", + "OUN TER", + "R aises", + "& A", + "Ġsmart phones", + "NI Env", + ".s dk", + "Ġhelicopt er", + "Ġim pe", + "ĠB irth", + "A U", + "b readcrumbs", + "co ords", + "Ġexplo red", + "Ġl od", + "ĠI p", + "g able", + "ian e", + "Ġart ifacts", + "Box Layout", + "ا ر", + "list ener", + ".c art", + "ĠH uff", + "ĠHind u", + "ĠData Types", + "ĠDr upal", + "IGN ORE", + "Ġoffset s", + "ĠR TC", + "- login", + "æ ®", + "ĠQ Object", + "Ġprosec utor", + "R ock", + "_ch at", + "W ay", + "ì ²", + "Ġneg lig", + "Ġd ude", + "; <", + "Ġdeleg ates", + "_f ailed", + "/ dev", + "/ work", + "( New", + "et able", + "() \"", + "( Icons", + "Ġp ork", + "ĠModel AndView", + "ĠV IP", + "ĠK or", + "m ix", + "Ġox id", + "ĠSC REEN", + "ĠFour th", + "/ \",Ċ", + "Ġte e", + "ĠSte vens", + "t icks", + "Ġp ledge", + "ib bon", + "ĠLo an", + "Ġne o", + "n umpy", + "ĠShared Preferences", + "- oriented", + "ĠLogger Factory", + "ĠGraph QL", + "zen ia", + "\" _", + "W omen", + ".c ast", + "Ġdeliber ately", + "+ b", + "ĠAr n", + "font Size", + "Ġm aze", + "Ġbl amed", + ".m as", + "} )čĊ", + "eler ik", + "Ġsc anning", + "ĠWork shop", + "Ġfind en", + "Ġca ut", + "UI Font", + "( return", + "al in", + "cast le", + "//////////////////////////////////////////////////////////////// ////////", + "Ġincent ive", + "op ath", + "b lob", + "Ġcigaret te", + "Ġfert il", + "*/ ĊĊĊ", + "ĠSh ar", + "Ċ ĠĠĠĠĠĠĊ", + "Ġunc ertain", + "ĠS ton", + "Oper ations", + "ĠSp encer", + "Ġdef in", + "ĠS olo", + "on est", + "·» åĬł", + "Ġu omo", + "G ive", + "Ġdent ro", + "; padding", + "ent ai", + "ĠC ars", + "Ġenthus iasm", + "ĠOper ating", + "S kip", + "par ation", + "Ġprotect s", + "Ġre ver", + "d g", + "ĠC incinnati", + "Ġconsect etur", + "Ġm uss", + "employ ed", + "a uses", + "ink le", + ". Values", + "£ ¼", + "lo v", + "_W ARN", + "Ġbook mark", + "ĠAp ollo", + ". axis", + "Ġm ét", + "Ġop ener", + "Ġtum or", + "d an", + "Ġelement ary", + "Ġsk ipped", + "ĠK er", + "as ia", + "_res p", + "Ġdem ol", + "ĠCan adians", + "Ġt astes", + "U Integer", + "Ġ' ${", + ".aw s", + "RO ID", + "ri ans", + "M Q", + "ord able", + "Ġcous in", + "Prop agation", + "(S ession", + "ph alt", + "UL D", + "ĠSc alar", + "Ġblo ody", + "Ġ à¦", + ".m ask", + ", q", + "ĠUn its", + "Ġcent res", + "ĠPr im", + ". ]ĊĊ", + "ĠSh aw", + "P rom", + "ĠTh ought", + "Check er", + "_output s", + "( chan", + "E INVAL", + "Ġb ob", + "_c mp", + "P ed", + "Ġmat rices", + "Ġvrou wen", + "Ġgenu inely", + "high light", + "(d isplay", + ") !=", + "Ġdel icate", + "ĠL uther", + "ĠM iles", + "Ġuser ID", + "% =", + "ate urs", + "_B UF", + "---- ---Ċ", + "imit ives", + "Ġsh elves", + "sl ow", + "_in formation", + "LE G", + "W r", + ".form s", + "cel and", + "/ un", + ": &", + ".âĢĻ ĊĊ", + "=\" %", + "Ġpro st", + "Ġfont size", + "uc ión", + "get ic", + "am t", + "=\" .", + "Dec or", + "B rit", + "Ġ\"\" ).", + "Ġfound ing", + ".File Name", + "ĠT ier", + "Ġdisc lose", + "á m", + ".s yn", + ".View Holder", + "lic ant", + "_st age", + "Mon day", + "Ġdes erialize", + "t alk", + "Ġtradition ally", + "æĢ ģ", + "Ø ®", + "LE X", + "Ġe h", + "ĉ ROM", + "Ġ{ })Ċ", + "Quest ions", + "nc py", + "Ġfix ing", + "к Ñĥ", + "_ Key", + ": x", + "ĠSTR ING", + "ĠÑĦ ай", + "ĉ left", + "ĠBen ch", + "ell ij", + "UR RED", + "ĠDi agram", + "} catch", + "/ time", + "ĠMiss ing", + "db name", + "Ġs ore", + "ĠW alt", + "ugg ing", + "rep resent", + "ĠG S", + "ne ys", + "ĉ page", + "Ġvol can", + "(b tn", + "Ġexceed s", + "Ġ erg", + "Ġpil ots", + "ĠS ed", + "ers ions", + "Ġpat ron", + "R V", + "/ top", + ". asset", + "_c ross", + ". Editor", + ".t b", + "Ġwel coming", + "SC REEN", + ") findViewById", + "C oder", + " \",Ċ", + "_P in", + "ues e", + "Ġover rides", + "_ ready", + "Adv anced", + "Ġop i", + "-c art", + "(\"/ \",", + "ĠDe b", + "CR Y", + "ĠVert ical", + "ĠO VER", + "ĠCorpor ate", + "Ġ\"\" ;", + "Ġste pping", + "e j", + "Ġaccus ations", + "Ġor az", + "_t ail", + "Ġindu ced", + "Ġel astic", + "Ġbl own", + ", //", + "Ġbackground s", + "âĢĻ une", + "-s dk", + "Ġset Interval", + "Ġincent ives", + "Ġveget able", + "_ On", + "exp anded", + "p ix", + "_sh ader", + "ĠSP DX", + "@ example", + "ĠW rapper", + ".Z ero", + "Pos itive", + "Ġsp inner", + "Ġinvent ed", + "ĠG ates", + "оÑĤ оÑĢ", + "Ġcompar isons", + "è ·", + ".pr imary", + "data Provider", + "add itional", + "ĉ options", + "s napshot", + ".set Horizontal", + "Ġ\" {}", + "ĠFish er", + "hal ten", + "< Type", + "Ġmax Length", + "ĠM t", + "Ġê° Ģ", + ".jet brains", + "Ġident ifies", + "Ġflow ing", + "ĠDisc ussion", + "ats by", + "Ġsch w", + "ught y", + "Ġr ivers", + ".un ique", + "_PH Y", + "ed ral", + "( ll", + "Ġcs rf", + "pp ers", + "ü l", + "ĠEs pecially", + "port ed", + "ĠHarr ison", + "****** */Ċ", + "Text Color", + "ìĬ µ", + "w ire", + "Ġstatus Code", + "ĠFin ish", + "c ence", + "ĠMcC ain", + "ĠW or", + "( await", + "Ġ) ->", + "ĠRegister ed", + "IN ED", + "k al", + "par ison", + "Ġobj eto", + "V i", + "mand a", + "Ġrenew ed", + "ĠS of", + "ess el", + ".nd array", + "Ġcr ap", + "ç® ¡", + ".ab spath", + "( up", + "Ġclear ance", + "ĠT W", + "_C OPY", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĉ", + "Ġforest s", + "Ġarg uably", + "ĠA SS", + "he y", + "am el", + "_f ore", + "ĠSou theast", + "Ġab used", + "Ġpract icing", + "aked irs", + "ä¸ »", + "_res ources", + "Ġp ond", + ".F ixed", + "Last Error", + "ĠPsych ology", + "Ġ\" //", + "! :", + "Re usable", + "Ġmens aje", + "Ġro spy", + "Ġb our", + "Ġvar ieties", + "Ġem path", + "(( {", + "_ org", + "ĠM es", + "ĠMag ento", + "IST ORY", + "Un less", + "Ġh j", + "ĠD uty", + "J un", + ", size", + "Ġpaint ings", + "Ġdisp ens", + "d art", + "Ġbehavior al", + "Ġr pc", + "cal culate", + "fr uit", + "_m m", + "ĉp thread", + "Max Length", + "Ġc urrencies", + "_cap acity", + "ĠO z", + "Ġfire arm", + "Ġcoeff icient", + "Ġbankrupt cy", + "w art", + "Ġfat igue", + "AV A", + "Ġes pa", + "_p c", + "ĠQu otes", + "_L IGHT", + "ĠT ickets", + "Ġrel ates", + "Ġpublish ers", + "Ġunlock ed", + "Ġ// ----------------------------------------------------------------", + "ĠInterrupt edException", + "Ġout look", + "r n", + "Ġreb els", + "W ritten", + "Ġas ian", + "ot to", + "Ġ ĉĉĉĉ", + "_g pu", + "T xt", + ".Image View", + "Ġsu is", + "_t ables", + ".Rec yclerView", + "Ġwhat soever", + "è ģ", + "] ++;Ċ", + "assert True", + "_ verify", + "ĠR ivers", + "Ġ ][", + "J et", + "id ian", + "S ibling", + "Ġgen res", + ".A ccess", + "OP S", + "Ġtr ivial", + "ภª", + "al en", + "в ед", + "ĠS word", + "Ġscrut iny", + "(c b", + "Ġcomm erce", + "Ġguarante es", + "_ad v", + "ĠL ET", + "rec io", + "Ġh ilar", + "Ġback yard", + "ãĢ ı", + "Ġillustr ated", + "/v endor", + ". Util", + "Ġw ow", + "LO Y", + "ĠMar shal", + "\"> '.$", + "ĠB ak", + "Ġmod ifiers", + "d ictionary", + "ĠSt re", + "m ultiple", + "\")) ,", + "ĠC ort", + "'] \").", + "( admin", + "ĠCre ator", + "Int ernet", + "( ms", + "log y", + "DECL ARE", + "ĠMarc us", + "<< <<", + "ãģ ł", + "_m y", + "(in st", + "Ġsc iences", + "ND ER", + ". enter", + "Ġit u", + "Ġbeh ave", + "P an", + "omb ies", + "=' <", + "')) ;čĊ", + "ĠM ENU", + "ĠWork ers", + ".No Error", + "Ġbind ings", + "Ġdis abilities", + "{ \\", + "ĠM unicip", + "Ġco res", + "ur ple", + "ĠN okia", + "us ions", + "ĠF itness", + ".handle Change", + "Ġjav ascript", + "ìļ Ķ", + "( dec", + "Ġpack ing", + "-de pend", + "Ġtrans cript", + "z eros", + "_ alert", + "? \",Ċ", + "lib s", + "± оÑĤ", + "Ġ| ĊĊ", + "tr ained", + "ĠG ent", + "ĠR ab", + "x p", + "_config uration", + "å¤ ©", + "_ accept", + ".rec yclerview", + ": url", + "ĠMu hammad", + "Ġprivile ges", + "_b ank", + "uk u", + "w allet", + "ĠRO OT", + "Ġenc uent", + "? family", + "ĉ position", + "Ġc g", + "Ġprec ip", + "method s", + "_f ast", + "in crement", + "ĠT iger", + "_OCC URRED", + "qu ip", + "ĠH AS", + "_d om", + "Ġw reck", + "b j", + "Ġd ern", + "Ġorg ans", + ". entries", + "Ġ_ ('", + "ram ento", + "ĠJam ie", + "Ġp unk", + "IP P", + "Ġprogram a", + "Ġatt ain", + "Ġpro ves", + "/s ign", + "Ġanswer ing", + "Ġl adder", + "************************ ****", + "ĠW almart", + "ĠCONT ENT", + "duct or", + "Ġver bal", + "ĠP ID", + "c rypto", + "_CALL BACK", + "Ġ= ================================", + "Ġpot ent", + "Ġshort s", + ".U ri", + ".un iform", + "; border", + "ĠW er", + "Ġhere in", + "ll a", + "ĠI hr", + "P ixmap", + "l iteral", + "! )ĊĊ", + "g eneric", + "r ust", + "_script s", + "ost o", + "it us", + "ĠCoal ition", + "Ġrem ot", + "de ploy", + "ĠEag le", + "ãĢģ ãĢĮ", + "Ġimportant e", + "ĉ object", + "Ġseason al", + "ne j", + "aid u", + "Bind View", + "ĠSi erra", + "-b g", + "Ġmake Styles", + "[ offset", + "G ames", + "Ġhorm one", + "AR IO", + "head s", + "( select", + "ĠStart ed", + "@ param", + "_de cl", + "_b log", + "Ġa ño", + "\\ Api", + "ĠMil waukee", + "Pro vid", + "An imated", + "Ġcool er", + "ĠSe ed", + ". Edit", + "Ï Ħ", + "ĠT aking", + "Ġborder Color", + "-found er", + ".Logger Factory", + "Ġ\"\" ĊĊ", + "AL T", + "ĠL ate", + "EDI ATE", + "Ġ);ĊĊ Ċ", + "af a", + "Ġcancell ation", + "At om", + "ĠB irmingham", + "emp resa", + "HE MA", + "asc al", + "Ġup side", + ".V ersion", + "ĠF older", + "ĠE ight", + "ĠV intage", + "ĠApp Delegate", + "ĠPre vention", + ".se parator", + "ST M", + "( room", + "gener ator", + "Ġc attle", + "ĉ Z", + "ĠPart icle", + "' };Ċ", + "Ġneighb ours", + "ĠState less", + "Ġalt itude", + "Ġsa int", + "об ав", + "Ġconv inc", + "ĠCont ents", + "Ġje une", + "(t s", + "Serial ization", + "(c ollection", + "ĠJ azz", + "ĠD od", + "ĠR och", + "ac io", + "comm ended", + "DEF INE", + ".on load", + "Ġspecial ty", + "PL ACE", + "_MO VE", + "Ġaccount able", + "Re uters", + "Ġf icken", + "Ġde pr", + "W ow", + "V oid", + ".s pace", + "ภĹ", + "Ġt q", + "ĠP ets", + "< $", + "(C urrent", + "ber ries", + "plan ation", + "Ġlist Of", + "ĠTh u", + "ĠPR INT", + "Ġm ismo", + "Ġdo i", + "ch k", + "ĠUn icode", + "( role", + "Ġvir gin", + "< Point", + "_RESP ONSE", + "-h ouse", + "ĠVenez uela", + "EM AIL", + "Ġp úb", + "_ex ist", + "B all", + ".C L", + "re ferences", + "ĠBeautiful Soup", + "ĉ Expect", + "TH IS", + "Ñĥ д", + "b ane", + "Ġtemp oral", + "ER IC", + "et as", + "Ġrefresh ing", + "Ġsec ular", + "@ synthesize", + "ac cur", + "Ġn ella", + "ĠS OL", + ".p ipe", + "Ch annels", + "èĩ ª", + "Ġinsert ion", + "á» ĭ", + "el ia", + "Ġadjust able", + "Can ada", + "ĠI TEM", + "Ġcur ves", + "ĠChe ap", + "let ing", + "Ġoptim istic", + "al lo", + "Ġpolit ician", + "_down load", + "= edge", + "ORT H", + "Ġmodel o", + "art o", + ". rotate", + "Ġs elenium", + "æĪ ij", + "_al ias", + "Ġrenown ed", + ".' .", + "Ġc zy", + "Ġal les", + ".Com piler", + "ĠB ass", + "Conn ector", + ".R ole", + "L INK", + "Ġc riterion", + "lem etry", + "Success fully", + "/p ng", + "Ġey eb", + "asp berry", + "( gr", + "Ġd angers", + "Ġcorrect ed", + "Ġgl ow", + "Ġelabor ate", + "ĠB ears", + "aw ai", + "=\" '+", + "Ġpromot ions", + "Ġmathematic al", + "Ġ\" `", + "_Generic Class", + "ĠChe f", + ".S ort", + "table Name", + "R IC", + "Ġvolunt ary", + "ĠBl ade", + "-e lect", + "ĠCom bat", + "ĠAb ility", + "Ġab dom", + "Ġd uck", + "T mp", + "åħ ¨", + "Ġer ase", + ".P h", + "ĠDefault s", + "p artment", + "_US B", + "ê te", + "; '", + "Ġp ads", + "ĠOb amacare", + ".T otal", + "Ġdiv ert", + "Ġcr icket", + "Ġrecre ational", + "( red", + "ĠC le", + "R U", + "Ġmist aken", + "ĠMont ana", + "Ġstr ive", + "_sl ider", + "ĠPl astic", + "Ġdecor ated", + "ĠV P", + "lic o", + "ĉf alse", + "Ġpre fs", + "( \\\"", + "_f alse", + "i endo", + "Ġ@ $", + "B ucket", + "act ical", + "ĠZ hang", + ".c ols", + ".B inding", + "Ġw ax", + "_ST ORAGE", + "Ġlaw n", + "Ġr f", + ".Sc ene", + "ĠCal culator", + ".d esign", + "Ġres il", + "л ем", + "E mploy", + "ĠPr ices", + "ĠP WM", + "ag i", + ".e valuate", + "ĉ param", + "Ġbr ass", + "bb en", + "Ġinflamm ation", + "ull ivan", + "Ġan not", + "Ġp H", + "iam eter", + "ĠB TC", + "( box", + "Story board", + "Ġcl ay", + ".assert Raises", + "| string", + ".App ly", + "Ġmatch er", + "und ed", + "Ġsatisf ying", + "Ġìł ķ", + "Render ing", + "_app ro", + "ind rome", + "AN EL", + "_f ix", + "br ush", + ".M atch", + "Ġsm iling", + "on aut", + "S unday", + "Ġdelet ion", + "Ġencour ages", + "P ull", + "Ġreven ge", + "Ġqu arry", + "tr ade", + "Ġc ables", + "(d elta", + "ites pace", + "Ġf h", + ".b unifu", + "Ġvi el", + "_IN CLUDED", + "ĠT ail", + "ad ar", + "of s", + "Ġmet als", + "g om", + "_method s", + "Ġn j", + ".St d", + "(w in", + "$ ('", + "Ġt urtle", + "ur on", + "Ġen rolled", + "ĠH z", + "ĠBox Decoration", + "Ġp ont", + "rel ationship", + "B i", + "³ »", + "Ġmas cul", + "Ġsh ades", + "Ġv r", + "ĠLog ic", + "Ġa in", + "ĠD IST", + "Ġcoll ar", + "\" profile", + "Generated Value", + "ĠP ossible", + "Ġe ines", + "ĥ ģ", + ".time out", + "ĠE c", + "Ġjer sey", + ".D ouble", + "Ġqual ifying", + "v or", + "CRE EN", + "_A pp", + "_rec v", + "Ġali ens", + "It s", + "E sc", + "i ator", + "ĠE clipse", + "Ġg h", + "V ict", + "ĉ html", + "to o", + ". const", + "Ġant erior", + "ĠW u", + "(key s", + "Ġul tr", + "_p oly", + "ĠT ap", + "ĠB ud", + "A WS", + "Ġcrash es", + "_t ot", + "Cont in", + "-h anded", + "alth ough", + "ภļ", + "ific ent", + "Ġde ve", + "ut ory", + "ĠW orth", + "_M S", + "Ġfloor ing", + "Ġsell ers", + "ĠThank sgiving", + "Ġp ng", + "Ġval ores", + "Ġslee ve", + "Ġfil le", + "Ð IJ", + "Ġappoint ments", + "Ġv im", + "User Info", + "BO OST", + "Ġpos ed", + "initial ized", + ".product s", + "ĠLeaders hip", + "man uel", + "' %", + "em arks", + "Per centage", + "(d ist", + ". avatar", + "(h Object", + "ä» Ĭ", + "_ iff", + "ic one", + "; )", + "_n il", + "Ġab ol", + "е ÑģÑĤ", + "Ġven ues", + ".Con vert", + "! ')Ċ", + ".B itmap", + "sk in", + "_C OLUMN", + "Re v", + "G RESS", + "g ow", + "Ġw ished", + "tract s", + ".assert False", + "Ġscreens hot", + "Ġfo is", + "Com b", + "Line Width", + "ĠGr ab", + "Ġint ensive", + "ĉ sh", + "+ )", + ".first Name", + "_PRO CESS", + "Ġt ilt", + "it ored", + ".L OG", + "Ġb ak", + "Ġintention ally", + ".play ers", + "(c anvas", + ")) )čĊ", + ".Pro vider", + "_P UBLIC", + "T alk", + "ĠL iv", + "ched ulers", + "Ġl c", + "ad ic", + "feature d", + ".res ources", + "Full Name", + "Ġmean while", + "B uffers", + "Ġres olver", + "ĠS AP", + "_T E", + "G NU", + "ĠForms Module", + "_ wh", + "ĠS we", + ".widget s", + "Ġcabin ets", + "Ġsus cept", + "ĠB ott", + "activ ex", + "av ar", + "ant ics", + "Ġ\" =\"", + "_k wargs", + "Ġgame Object", + "ĠAng le", + ".I ter", + "mar sh", + "ĠB irthday", + "ĠC MS", + "request s", + "ĠPear l", + "_E OL", + "Ġlin ux", + "( org", + "_M ouse", + ".con structor", + "Ġz d", + "Ġk icks", + "art isan", + "Ġe ax", + "K n", + "pon ge", + "ĠFin land", + "Ġmet res", + "ĠAss essment", + "part ner", + "/ pre", + "! ',Ċ", + "[ Int", + "Ġos lo", + "date picker", + "/ String", + "op lay", + "ĠHe brew", + ", double", + "Ġtrab al", + "+\" \\", + "ĉ EIF", + "/ text", + "_F IRST", + "ĠP ete", + "Ġe go", + "Ġextr as", + "P DO", + "Ġreg ulate", + "ĠQ Widget", + "st s", + "ĠSh ows", + "ĠN HS", + ".c ourse", + "p thread", + "ĠF uel", + ".t imes", + "Ġ °", + "Ġstr ides", + "($ ('#", + "( words", + "Ġrhyth m", + "Ġsp ont", + "Ġsens ation", + "Ġsp ike", + "C losing", + "页 éĿ¢", + "N umeric", + "Ġbreat he", + "Ġfin ale", + "_F ACT", + "in ion", + "Ġch ill", + "Ġform ally", + "ANG ED", + "Ġ' :'", + "ĠпÑĢ Ð¸", + "a q", + "ĠFab ric", + "(l at", + "ĠPr incipal", + "Ġer ro", + "oc ale", + "N om", + "Ġf ost", + "_C USTOM", + ".int ellij", + "ert ools", + "Ġcl asse", + "adi ents", + "Ġfundra ising", + "EN E", + "_OPTION S", + "_ ob", + "// }Ċ", + "Ġprote ctions", + ".se ed", + "N V", + "term inal", + ";; ;", + "P redicate", + "Ġì ¶", + "Ġbomb ing", + "G F", + "Ġch ew", + ")) ).", + "qual ified", + "] ={", + "list en", + "C ENT", + "d igest", + "E ast", + "Ġd iver", + "Ġend points", + "Ġe e", + "Ġcolle ague", + "Ġdissert ation", + "_com mit", + "_D AT", + ". rc", + "Ġbre asts", + "ĠR ug", + "ĠP il", + "Contract s", + "ĠBry an", + "Web View", + "Ġconcent rate", + "ĠIn ner", + "Ġ' |", + "std out", + "_S ub", + "> -->Ċ", + "V ol", + "ĠS SD", + ")) ),", + ". Optional", + "Ġnurs es", + "Ġor b", + "_ pe", + ");čĊ čĊčĊ", + "pl aced", + "ess er", + "Ġther apeutic", + "Ġwhites pace", + "Ġa ston", + "Success ful", + "Ġpr aised", + "ĠW es", + "Ġe ighth", + "ir al", + "Ġvrou w", + "Ġf action", + "_b ias", + "Ġw itch", + "Ġnp c", + "(s b", + "ĠRod rig", + "_b ig", + "Dep endency", + "ĠAb raham", + "ard i", + "C AR", + "n os", + "Ġabund ance", + "Ġnut rients", + "in stein", + ".V ert", + "ĠI SS", + "< U", + "Ġsum s", + "_h ist", + "Ġfar mer", + "ĠA br", + "Sh ot", + "ĠBad Request", + "Ġh ass", + "ĠR ails", + "Ġaffili ated", + "æĿ ¥", + "Ġer f", + "IN F", + "ĠView Holder", + "min i", + "ĠR oth", + "Ġfaith ful", + "ĠPhill ips", + "AND OM", + "]. [", + "_P AY", + "ĠAr ctic", + "f aker", + "D igit", + "M ale", + "std err", + "se ys", + "Ġ Å¡", + "_rem ote", + "li que", + "Ġin def", + "ĠIndust ries", + "it ra", + "_p airs", + "< iostream", + "Ġsal aries", + "ik en", + ".F rame", + "PL IC", + "_S PEC", + "ĠMed iterr", + "Ġsystem atic", + "Ġinter rog", + "Icon Button", + "se a", + "int ro", + "ĠIss ues", + "enc rypted", + "Ġintern ationally", + "Ġsn printf", + "Ġpast a", + "ĠBrad ley", + "_ Status", + "AL K", + "_P AD", + ".l aunch", + "< select", + "Ġhar dest", + "Ġph y", + "Ġ(( *", + "-s lide", + "ĠNob ody", + "S u", + "Ġas ÃŃ", + "close st", + "_initial izer", + "Ġsupport er", + "-g en", + "Ġt ales", + "Ġcor p", + "_f u", + "s at", + "ne ighbor", + ".M igrations", + "Ġal gun", + "Ġsin on", + ".S pec", + "? ,Ċ", + ".G L", + "m ale", + "Ġmon itors", + "yl an", + "-L icense", + ".m atches", + "ĠA BS", + "ĠM ast", + "ĠW allet", + "($ (\"#", + "Dir ty", + "Ġco pe", + "Ġinterpol ation", + "ous ed", + "ĠJ ets", + ".F LAG", + ".C ancel", + ".Event s", + "ne ver", + "ĠM Hz", + "> D", + "Ġs ervlet", + "bast ian", + "Ġ> &", + "S ID", + "_cl k", + "Ġdiv isions", + "} ',Ċ", + "Ġd ildo", + "Ġpar ade", + "m ajor", + "Ġab oard", + "; ++", + "Ġf usion", + "\"}, {\"", + "ĠDialog Result", + "ĉ arr", + "- em", + "_n r", + "(h andler", + ".N ET", + ".Xtra Reports", + "ĠSh ah", + "ĠB rief", + "- ,", + "Ġprec io", + "ĉĉĉ ĠĠĠĠĠĠ", + "Ġt ant", + "ĠGrand e", + "/ xml", + "_IC ON", + "ĠR etro", + "un que", + "Ġn ag", + "to Fixed", + "X L", + "Ġdecl aring", + "ĠCon crete", + "ĠAm azing", + "ĉprint k", + "Ġdeb ates", + "D ATED", + "Ġaest hetic", + "emet ery", + "Routing Module", + "ĠNash ville", + "W AYS", + "Ġw olf", + "Ġobserv ers", + "OT A", + "ans on", + "Ġe a", + "Ġgreen house", + "ĵį ä½ľ", + "Ġst air", + "Ġimmigr ant", + "_app ly", + "pe are", + "ĠBloom berg", + "_PL AYER", + "Res p", + "æŃ £", + "Cho oser", + "ĠI Collection", + "P eter", + "Er ro", + ".detect Changes", + "Map s", + "Ġs queeze", + "ĠHom es", + "weg ian", + "Ġformat ting", + "Ġnegot iate", + "ul d", + "ĠN ep", + "ĠQ B", + "Ġeconom ies", + "Ġ*/ ,", + "Ġredu nd", + "ĠA ber", + ".IsNullOr WhiteSpace", + "yc led", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĊ", + "_S h", + "Ġske pt", + "Ġre created", + "Ġget Type", + "Ġmarg ins", + "Ġcolon ial", + "ch arts", + "// @", + "Ġprocess ors", + "è¯ ´", + "b atis", + "æĦ ı", + "ator io", + "mention ed", + "P atient", + "Ġpre y", + "Check box", + "_x path", + ".s kip", + "ĠMorm on", + "ĠMemory Stream", + "CRE MENT", + "Ġk u", + "m eld", + "\\ Data", + "ĠK ernel", + "il tr", + "éĢ ģ", + "( profile", + "Car bon", + "RO LE", + "( pl", + "] *(", + ".m emory", + "Ġmed al", + "Ġadvis or", + "it ät", + "Ġh dr", + "ier ung", + "ĠProvid es", + "( alpha", + "Ġteen agers", + "- parser", + ".L atLng", + "] ()Ċ", + "Ġfel ony", + "ĉĉĉĊ ĉĉĉĊ", + "BO OK", + "Ġsl ash", + "Ġclear fix", + "ĠPro phet", + "å® ¹", + "right ness", + "-f i", + ".k ind", + "ert on", + "J im", + "Ġmanip ulate", + "Ġworks heet", + "ol in", + "st ars", + "Ġart ifact", + "_EM PTY", + "ĉm ain", + "------------- ' ;", + "Ġexpress ing", + "ĠI Q", + "ĠF act", + "/************************************************************************ *******Ċ", + "_m ass", + ")) :", + "Ġcon dom", + "Ġcreate State", + "omet own", + "Ġir r", + "Ġ> (", + "> B", + "iter ation", + "ãĥ ª", + "Ġshirt s", + "ount y", + "-> $", + "_S IGN", + "ĠD ale", + "Ġj j", + "E asy", + "F re", + "ĠN y", + "Ġch lor", + "match ed", + "ĠG erm", + "- UA", + "ĠN athan", + "educ ation", + "-y ard", + "- che", + "h ouses", + "r itional", + "Ġprox imity", + "Ġdies em", + "áºŃ p", + "Ġd rought", + ".a udio", + "ĠLe o", + "Ġfavor able", + "in ch", + "ĠD aw", + "rib ly", + "_st udent", + "id able", + "O VE", + "Ġlack s", + "ounc ing", + ".b usiness", + "Ġre open", + "may be", + "_G LOBAL", + "Ġdress es", + "ĠEd wards", + "ens ible", + "ĠHard ware", + "ĠEx cellent", + "ĠTime Unit", + "CTION S", + "Ġsched ules", + "Ġseg ue", + "Op ens", + "am men", + "- Identifier", + "Ġst aring", + "Ġhapp ily", + "ĠH ob", + "' _", + "Ġ\" );", + "ament os", + "et ched", + "Ġ/> }Ċ", + ". Users", + "Ġinterrupt ed", + "Contact s", + "Ġreg istro", + "in burgh", + "CH A", + "_ imp", + "ph is", + "s ay", + "Ġretail er", + ".N ODE", + "/ maps", + "_L AST", + "ĠCh arge", + "_g uard", + "Coll ider", + "ĠStateless Widget", + "\": [\"", + "(\" ../../", + "iox ide", + "ĠS und", + "Ġ'' ;", + "un set", + "add Widget", + "л Ñİ", + "el les", + "alk er", + "A rc", + "Ġded uct", + "G UILayout", + "ĠV illa", + "Ġfor bidden", + "_ where", + "Ġ\\ /", + "ĠT ib", + "_A X", + "] čĊčĊ", + "ĠB ir", + "Ġb end", + "ĠMA KE", + "ĠM ET", + "Ġfut ures", + "Ġweight ed", + "\"\" \"čĊ", + "Ġauthor ize", + "(pro gram", + "}, {\"", + "Ġcoeff icients", + "ê s", + "Per Page", + "ĠBath room", + "ĠPublish ing", + "G PL", + "Ġsub missions", + "ĠNUM BER", + "j Äħ", + "Ġaddition ally", + "em pre", + "ĠSh el", + "ot yp", + "S olution", + "Ġth under", + "_ ec", + "ĠĊ ĠĠĠĠĊ", + "ĠF ellow", + "Ġk ay", + "Ġnew State", + "ONT AL", + "Im plementation", + ".L ook", + "Ġ ents", + "Ġl ors", + "ĠB IG", + "f ab", + "Ġaver aged", + "ĠFe edback", + "ĠW ells", + "Ġm artial", + "Ġind ul", + "ĠComm unist", + "ĠFore x", + "ĠAgricult ure", + "\" [", + "Ġqu ar", + "ĠK ont", + "ĉ view", + ". Bytes", + "des ktop", + "ĠM akes", + "akes peare", + ".Null able", + "Ġspot light", + "V B", + "ow y", + "(t orch", + "tr idge", + "_b ounds", + "Ġapolog ize", + ".add Item", + "ant d", + "* );Ċ", + ", u", + "(g en", + "ç» ĵ", + "re ator", + "ĠC ord", + "ou pper", + ".m etro", + "Ġ ew", + "ĠW ORD", + ".A fter", + "Ġdet ained", + "ĠHam mer", + "ex isting", + "Ġo st", + "Ġmon ument", + "-c ustom", + "User ID", + "ĠN om", + "Ġre jection", + "(d im", + "Ġsingle ton", + "ĉd ie", + "ari ance", + "re ports", + "] !=", + "eld a", + "Ġpreval ence", + "_reg s", + ".\" .", + "Ġfemin ist", + "Code c", + "Ġ **Ċ", + "(label s", + "_M ARK", + "FA ILED", + "Ġadminister ed", + "W N", + "ĠĠĠĠĠĠĠĠ ĉĉ", + "Ġn oun", + "w ig", + "Ġg otta", + "Ġr if", + "- im", + "ĠPaul o", + "ĠCommand Type", + "] ))ĊĊ", + "-z ero", + "Tr aining", + "Ġl ord", + "_ art", + "re ddit", + "C ert", + "Ġpes o", + "R ot", + "Ġend anger", + ".d r", + "user Info", + "un ts", + "n v", + "ĠTrail er", + "-f irst", + "(m ake", + "Ġbenef ici", + "-bl ack", + "i ÃŁ", + "Ġund oubtedly", + "Ġm ex", + "ĠAnc ient", + "( as", + "Ġdes cent", + "P ick", + "Ġrep lica", + "$ obj", + "ä hr", + "Ġar rows", + "ft y", + "ĠLib ya", + "ug a", + "charg ed", + "T ur", + "Ġh omic", + "iss en", + "ĠF ake", + "Ġbe ers", + "Ġsc attered", + "( Time", + "UT IL", + "Ġbureauc r", + "/pl ain", + "Ġstick ing", + "FA IL", + "ĠC ovid", + "Th ird", + "_p resent", + "ĠPier re", + "Ġë ª", + "Ġ[... ]ĊĊ", + "Pro b", + "ĠTra ffic", + "ica o", + "do ctor", + "Ġ), ĊĊ", + "T abs", + "al u", + "ï¼ļ âĢľ", + "Ġinher ent", + "_N o", + "rit is", + "ĠPro of", + ".b asename", + "ä¼ ļ", + "Ġch im", + "ĠProt ected", + "c rit", + "Ġpr one", + "Ġк он", + "ĠHero es", + "Ġan xious", + "Ġan os", + "Ġweek ends", + "Ġs ext", + "Ġredu cer", + "= UTF", + "h alf", + "ĠS aw", + ".m m", + "Ġnue va", + ".current Target", + ".l ua", + "_EXT ENSION", + "ĉ reg", + "ĠC trl", + "_ align", + "accept able", + "Ġrush ing", + "fr ac", + "Ġbo asts", + "F ive", + " ±", + "ĠTem perature", + "> ):", + "Ġchar ter", + "RE ATED", + "Ġsubject ed", + "Ġop c", + "health y", + "使 ç͍", + "ĠScient ific", + "Ġfra u", + "ri ages", + "ภĶ", + ".in ventory", + "ation ale", + "M ad", + "min utes", + ">> ();Ċ", + "ĠEn v", + "Ġrecord ings", + "Ġsusp icion", + "sql ite", + "ĉ read", + "ãģ ¦", + "Ġwor ries", + ".put String", + "ĠSh anghai", + "( uid", + "r er", + "ĠvÃŃ de", + "\") :", + "Ġmethod ology", + "Ġк оÑĤоÑĢ", + "cc c", + "av ad", + "Ġindu ction", + "ĉ Thread", + ", string", + "ạ i", + "neh men", + "u ition", + "Ġ* __", + ".em f", + "Ġì ľ", + "/th emes", + "ĠN ine", + ". One", + "ĠEm bed", + "Ġf az", + "u ations", + "Ġpriv ately", + "Ġl ing", + "[ F", + "ush i", + "Ġlaunch es", + "( KEY", + "G MT", + "Ġaim ing", + "pat ible", + "ĠB iden", + "i w", + "ĠD egree", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "Ġ$ ('<", + "á rios", + "to UpperCase", + "ìł ľ", + "ĠE UR", + "Ġovers ight", + "Ġtable sp", + "Up dates", + ".m akedirs", + "Ġhum idity", + "/ template", + "Al ways", + "( IS", + "_c ert", + "D ig", + "Ġunder way", + "ort on", + "ĠHur ricane", + "Ġsp ends", + "ĠSeg ment", + "Ġfl ies", + "ĠT oggle", + "ĠLyn ch", + "Ġs enses", + "ĠK os", + "set Enabled", + "ist ically", + "Ġtest er", + "Ġadministr ators", + "Ġtag ged", + "Ð ĵ", + "Ġshort cut", + "ĠRes olution", + "Ġsuperv ision", + "ĠAsh ley", + "Tr acking", + "ul atory", + "and el", + "ist en", + "Ġun re", + "(d iff", + "ANT S", + "Ġr ider", + "Ġs Äħ", + ".S eries", + "_ orders", + "ORIZ ONTAL", + "Ġret ention", + "ãĢĤ čĊčĊ", + "Ġdi agonal", + "ĠC ancellationToken", + "_ Internal", + "Ġru in", + ".Q t", + "ocr atic", + "T el", + "ĠAn swers", + "m atic", + "Ġx p", + "at em", + "_j obs", + "_ any", + "Ġsen iors", + "Ġland mark", + "ĠQ List", + "Ġman eu", + "ot ify", + "/ \";Ċ", + "/ server", + "ĠPhil osoph", + "uten ant", + "( io", + "h z", + "Ġauthentic ated", + "d v", + "- Compatible", + "Origin ally", + ", function", + "ãĢĤ čĊ", + "ĠRepresent ative", + "as ily", + "irc uit", + ".d t", + "(m ath", + ".M arshal", + "[ ,", + "ĠC ities", + "_ turn", + "| )Ċ", + "Ġcant idad", + "al ter", + "ĉ ui", + "ĠNe braska", + "Ġsk irt", + ".b g", + "Shared Preferences", + "( style", + "Ġg rief", + "g ew", + "Ġsaf eg", + "ol ang", + "_l ists", + "ì Ľ", + "Ġgran ite", + "Ġhott est", + ".j dbc", + ".C ustomer", + "Ġâī ¤", + "Ġwa ar", + "_sc ene", + "+' /", + "ĠJ TextField", + "Ġse ating", + "Ġwe ars", + "Ġ` /", + "C ases", + "ĠY outube", + "ı m", + "Ġbal con", + ", G", + "Meta Data", + "- price", + "SC R", + "Un ity", + "Ġtr unk", + "={` ${", + "Ġearthqu ake", + "Part ial", + "Ġsub st", + "Ġelim in", + "=\" '.", + "//* [@", + "Ġsuperv isor", + "vro let", + "_ article", + "Ġp ane", + "b io", + "Ġmot ors", + "N M", + "F rank", + "Ġon ion", + "- word", + "Item ClickListener", + "Ġb rit", + "end encies", + "Com puter", + "_r unning", + "( day", + "- he", + "(n amed", + "ĠS ach", + "о Ñĩ", + "c ampaign", + ".Ab stract", + "(w rapper", + ".p ay", + "Ġu w", + "Ge o", + "r ails", + "/ select", + "icht e", + "son s", + "E VENT", + "Ġal iment", + "Pro viders", + "A wait", + "_INTER VAL", + ". off", + "Ġgl uten", + "_cl oud", + "Ġw en", + ".ex tract", + "ĉ button", + "/ MM", + "Part y", + "Ġdem ographic", + "_err no", + "Ġh iking", + "(' ')Ċ", + "\", @\"", + "Ġw it", + "r á", + "olog ie", + "ĠSt yles", + "ĠBrowser Module", + ".Request Mapping", + "ic ans", + "P AGE", + "cre ation", + "ĠF erguson", + "ud ed", + "num bers", + "ĠGT K", + "Ġpresent ations", + "ĠB obby", + "_s pan", + "est yle", + "Ġilleg ally", + "abel a", + "Ġbattle field", + "cap acity", + "ter ror", + "] \");Ċ", + "Ġwar rior", + "le ader", + "ĠDB G", + "ĠRe venue", + "Ġvig il", + "Ġcounter parts", + "( Error", + "ACT ER", + "Ġhe eft", + "Ġselection s", + "ze ug", + "t om", + "-t wo", + ". ;Ċ", + "_st atement", + "ĠA id", + "ĠV ul", + "_r gb", + "Ġpr izes", + "Ġedit able", + "ĉ form", + "ın ı", + ".de cor", + "D emo", + "lic es", + "Ġen ctype", + "rat ulations", + "ĠR OS", + "_ch ars", + "ĠJ ahr", + "part ial", + "Ñĥ ÑĤ", + "ĠRe ceive", + "ĠL ands", + "AP TER", + "Ġch opped", + ".. \"", + "ĠAn aly", + "ĠU ID", + "ĠR adeon", + "ĠB ee", + "Ġun m", + "> M", + ".find all", + "Token izer", + "ĠWH AT", + "Ġs j", + "D rawing", + "E ss", + "ON D", + "Ĭ ¶", + "(p acket", + "âĢĶ but", + "Inv ocation", + "ĠN uclear", + "? ;Ċ", + "Ġgrand es", + "ĠC rypt", + "rem ark", + "Ġ'../../ ../../", + "Ġin ability", + "m agic", + "c ats", + "Ġsim ulate", + ": ${", + "in flate", + "Ġen er", + ": NO", + "ip les", + "Ġmer it", + "ĠR ated", + "Ġgl ue", + "/b log", + "Ġg ren", + "Ġthr illed", + ".C H", + "unc an", + "ĠPR IMARY", + "Ġper sec", + "Ġfe ared", + ".M IN", + "ĠThe ater", + "é Ĵ", + "ategor ie", + "æ® µ", + "Ġappet ite", + "s quare", + "ĠAlex and", + ".User Id", + "_g t", + "_ enter", + "Ġgradu ates", + "Fragment Manager", + "Author ize", + "-N LS", + "(M y", + "Ġtri umph", + "ust ing", + "_PARAM S", + "Char acters", + "(: ,:,", + "_B UILD", + "M Hz", + "Ġwash ed", + "Ġun cle", + "Ste ve", + "ard own", + " ${", + "_confirm ation", + "Ġtro phy", + "Work s", + "ĠElect ronics", + "ĠMediterr anean", + "_m etrics", + "Ġannounc ing", + "ĠD AY", + "_pro to", + "Ġp ear", + "base Url", + "ĉĉĉĉĉĉĉĉ Ċ", + "Ġcoord ination", + ": N", + ".an imate", + "ĠC otton", + "_h it", + "â ľ", + "Ġjet zt", + "if ter", + "(f ields", + "own load", + "ific acion", + ".c uda", + "ĠLi u", + "> equals", + "ĠA ce", + "ÑĢаР¼", + "ĠSuper man", + "ĠGarc ia", + "Ġarrest s", + "ag ar", + "Ġ{} )", + "Ġmac ros", + "rou pe", + "ê tre", + "Ġtw isted", + "str uments", + "_ (\"", + "_ vertices", + "ĠTrans ition", + "и к", + "[ max", + "m ind", + "Ġaccess Token", + "Ġun le", + "m us", + "c op", + "ĠF actor", + "Ġcon ced", + "Ġre tr", + ".l inalg", + "-s lider", + "ob l", + "_Static Fields", + "Ġz ombie", + "s elling", + "Ġch ap", + "Ġsh aking", + "ĠTrans late", + "ĠAm sterdam", + "ĠE TH", + "_EX TERN", + "k d", + "_d isc", + "Ġpreced ing", + "Ġpri x", + "Object Name", + "_mod ified", + "ard ware", + "Ġ?> \">", + "ĠD W", + "` ${", + "Ġ?> \">ĊĊ", + "Ġspin ning", + "_p ending", + "Match ers", + ". Keys", + "ĠP V", + "en us", + "ant is", + "Ġdisc ard", + "Ġh aul", + "Ġem pir", + "Ġpath way", + "Ġo ak", + "м ен", + "-ind uced", + "Ġimp air", + "ĠCal gary", + ".is Hidden", + "d z", + "_ include", + "Ġg m", + "Ġ' ('", + "P Y", + "uggest ions", + "Ġcommod ity", + "c ro", + "/ sub", + "Ġget Instance", + "ĠLeg acy", + "ĠK il", + "B al", + "( short", + "In form", + "+ x", + "* r", + "ĠHope fully", + "or ate", + "Ġmach en", + "Ġtreat y", + "ĠO ri", + ".p ublic", + "-h orizontal", + "Ġtact ic", + "Ġb ord", + "w ares", + "Ġam mo", + "ĠL ists", + "Ġequ ations", + "/ her", + "ĠNS W", + "B ounding", + "_C ollections", + "Ġav ail", + ".Drop Down", + "è °", + "Ġh h", + "Ġl Ãł", + ".p b", + "Ġmemor ial", + "ĠAT TR", + "Ġexhaust ed", + "Ġt sp", + "ĉ redirect", + "Ġlik ewise", + "ST ER", + "L java", + "Ġcondem ned", + "oca ust", + "(str ict", + "Ġexem pt", + "Ġs ms", + "Ġex agger", + "S YS", + "Ġl ounge", + ": ^", + "Ġto dd", + "de b", + "ator ial", + "ĠPort er", + "Ġtu ition", + "Ġexem pl", + "Ġp aren", + ".line To", + "Ġkid ney", + "Ġç a", + "Ġc ui", + "ï¼Į 请", + "X C", + "Ġmo ż", + "Ġnomin ated", + "l ung", + "Im Gui", + "ĠB uzz", + "Ġstere o", + "port al", + "res as", + "Ġk lass", + "Ġdraft ed", + "Ġproject ile", + "/g pl", + "(param eters", + "* )Ċ", + "Ġassist ed", + "ĠNS Integer", + "s itemap", + ":n th", + ".View s", + ".Argument Parser", + "Ġme er", + "z ier", + "ĠD ig", + "Ċ", + "Ġpl ag", + "p ine", + "Ġblank et", + "Ġ: -", + "Ġl cd", + "------------ ---", + "(\" \"", + "Ġtact ical", + "ĠRon ald", + "ex tr", + "ĠF est", + "Ġf uer", + "-n avigation", + "Ġk b", + "gh ost", + "Ġhandle Change", + "_cl s", + "() !=", + "Com parator", + ".v m", + "ĠCo x", + "_re view", + "/ @", + "_c ookie", + "Ġrecogn ised", + "ld ap", + "Thread s", + "ĠSex ual", + "ĠB earing", + "(S QL", + "Ġx r", + "Ġth igh", + "URL Connection", + "ĠSU V", + "Ġm Context", + "Ġinc idence", + "ĠE ste", + ".s up", + "_t e", + "(EX IT", + "C MD", + "/ \">", + "Al most", + "ĠU ne", + "Ġand eren", + "ĠSingle ton", + "Ġb ore", + "Th ink", + "Ġn arc", + "] initWith", + "_sh op", + "(str ategy", + "! ',", + "her its", + "ĠDes k", + "_m achine", + ".net ty", + "ı nda", + "= <", + "ĠQ R", + "ĠS idebar", + ".split Container", + "Ġon Success", + "Ġmon key", + "En joy", + "(n odes", + "pect rum", + "Ġ(* (", + "ĉU INT", + ", height", + "ĠNetwork s", + ".t ail", + ".l inspace", + "Ġ\" ...", + "List en", + "Æ ¡", + ".Ch annel", + "- defined", + "Re peat", + "ad just", + "ER M", + "_ application", + ".assert NotNull", + "- stream", + "Ġr abbit", + "Ġposition ing", + "Ġw oke", + "Ġf ing", + "Ġmulti player", + "Ġregister ing", + "un til", + "Ã¥ n", + "( ::", + "uss ions", + "Ġpot ato", + "ĠE quals", + ".S up", + "/ap ache", + "Ġ( =", + ". \")", + ".p tr", + "ĠSpe ech", + ".cl ip", + "ĠGab riel", + "Ġmusic ian", + "/ issues", + ".sh op", + "ĠH ier", + "_RE T", + "_b ucket", + "ãĥ ¡", + "av s", + "Ġro z", + "fl ower", + "Write Barrier", + "ĠMil an", + "Ġlegisl ature", + "ĠD oll", + "Ġprov ing", + ".concat enate", + "âķ IJ", + "Ġg char", + "cdn js", + "b les", + "ĠList ing", + "л о", + ".xr Label", + "ĠS ak", + "just ice", + "ĠVal entine", + "un less", + "Ġp iger", + "(r un", + "Ġtest ified", + "AN A", + "ĠRem oves", + ")) ));Ċ", + "rec ated", + "ĠRuntime Method", + "Ġcon qu", + "ãĤ ¢", + "Ġt issues", + "ail er", + "ét é", + "- Star", + "Ġfl ames", + ".set Icon", + "Ġsup ern", + "Ġvag ina", + "- variable", + "Ġwell ness", + "C UR", + "Ġbel le", + ".get Request", + "Ġp oco", + "ben h", + "ag ens", + "Ġsp ill", + "ĠJ ur", + "Ġdispatch er", + "н ого", + "emon ic", + "(dir name", + "ĠÐ Ķ", + "Ġpas se", + "Ġg anz", + "ric ing", + "E U", + "Ġmuj eres", + "ess en", + ".at tribute", + "j j", + "ĉĉ ĠĊ", + "[ ^", + "Ġstrtol ower", + "lex er", + "ect ar", + "hot el", + ".s quare", + "Ġr all", + "Ġlower ed", + "hand led", + "Mark et", + "ĠUs es", + "iv as", + ".B usiness", + "ãģĹãģ ¦", + "D IV", + "Ġw asted", + "Ġav oir", + "ê m", + "_ACC OUNT", + ". et", + "ĉ SDL", + "k ap", + "Ġf ox", + "up pet", + "{ },Ċ", + "\", '", + "F avorite", + "P END", + "ĠA ES", + "} ),", + "Ġded uction", + "Ġpol ÃŃt", + "Ġcomponent Will", + "ĠT elerik", + "_SE LF", + "Ġm use", + "C raft", + "Ġd ens", + "ठ¿", + "( tp", + "Ġt asty", + "Ġbal ances", + "Ġded ication", + "ĠWall ace", + "Ġun law", + "\\\"> \\", + "Ġm um", + "- update", + "ement e", + "Ġs oda", + "Re public", + "as mine", + "é ric", + "( Status", + "ĠJson Convert", + "ĠD isk", + ".Red irect", + "Ġfilm ing", + "/m ol", + "R o", + "Ġv ille", + "Ġtrab aj", + "Ġsyn thesis", + "reg a", + "Ġr l", + "S cheduler", + "ISH ED", + "current User", + "(error s", + "' h", + "_b ot", + "x imo", + "ĠUS ART", + "_s uper", + "_DEC REF", + "н ой", + "_RO W", + "Ġprom otes", + "ĠT A", + "Ġhor as", + "ĠRep resents", + "Ġname of", + "ĠEx c", + "ĠGar age", + "Ġse ine", + ", #", + "Ġher b", + "/ resources", + "Ġple aded", + ".r adioButton", + "Ġæ ĺ", + "O ps", + "ĠN est", + "c string", + "ĠDef ence", + "Ġref ere", + "_le af", + "Ġrevel ation", + "ë §", + ".execute Update", + "_W ORLD", + "Ġexp ans", + "(\" \\\"", + "j ab", + "Ġdoub ts", + "ĠGe ometry", + "Ġintrodu ces", + "Ġsen ators", + "Ġcan al", + ".h elper", + "ĠBi ology", + "_SE NS", + ".pre vious", + "-t ouch", + "ab it", + "Ġimpact ed", + "Ġbr ackets", + ".d irect", + "acc um", + "Ġtest osterone", + "ĉ action", + "ĠCh ance", + "Ġpe aks", + "CppCodeGen WriteBarrier", + "Ġun belie", + "_p ress", + ".R el", + "ang led", + "/ templates", + "-- >čĊ", + "l ime", + "Ġsufficient ly", + "_ nt", + "Exp and", + ".is file", + "Ġis Empty", + "Ġq t", + "Ġmul her", + "ac ob", + "Ge orge", + "å¸ ¸", + "Ġass im", + "as o", + "Ġcompr ised", + "O V", + "(CON FIG", + "ĉw riter", + "Ġdes p", + "Ġten ure", + "(c r", + ".p ool", + "ĠB rend", + "Ġc ensor", + "(time out", + "Ġple a", + ".W rap", + "Ġtight ly", + "ĠW ere", + "ĠI gnore", + "abe i", + "Ġbr idges", + "Ġcondem n", + "Ġsimp licity", + "Ġrout inely", + "Ġblack s", + "j b", + "ĠP it", + "U tf", + "Ġ/ Ċ", + "re load", + "Ġset Object", + "/g lobal", + "Ġf atty", + "Ġsock s", + "Could n", + "Ġerot isk", + "æĿ ¡", + "ĠPress ure", + "ĠM az", + "n pos", + "tol ower", + "ĠE Q", + "ute ur", + "ĠM oment", + "Ġet a", + "{{ --", + "Ġgraph s", + "ĠGu ar", + "r ine", + "( --", + "ĠHttp Status", + "(st udent", + "* np", + "Ġrail way", + "Ġas ynchronous", + "_v m", + "'] ,'", + ", text", + "mer chant", + "(G uid", + "ĠG ra", + "ix er", + "fetch All", + ".add Listener", + "fl ip", + "* $", + "> (),", + "Ġsun light", + "ass igned", + "Ġab c", + "ĠC OLUMN", + "ĠðŁĻĤ ĊĊ", + ") ...", + "Ġen semble", + "Ġnew line", + "_S INGLE", + "ied ad", + "Ġdark er", + "orm ap", + "Ġl ion", + "pl its", + "Ġillustr ation", + "ĠI EEE", + "Ġv ista", + "ous ands", + "****** *", + "ĠTom my", + "Ġh ue", + "S el", + "Ġa ura", + "ĠTher apy", + "Ġanim ator", + ".con straints", + "Ġv ague", + "(\" \")", + "Ġvill ain", + "Ġbless ing", + "Ġstring Builder", + "ĠM isc", + "ĠD IR", + "f ax", + "- node", + "ĠWalk ing", + "ĠA U", + "s ess", + "Ġgr ill", + "VERT ISE", + "ĠF oods", + "Ġt ournaments", + "à ĵ", + "ĠMar sh", + "Ġw onders", + "Long itude", + ".Command Text", + "= input", + "_enc oder", + "page Size", + "Ġget State", + "> >Ċ", + ".g rey", + "p od", + "Ġread ings", + "Ġre consider", + "Start up", + "Ġexc er", + ".b alance", + "_c ycle", + "_T ime", + "LOC AL", + "ĠE FI", + "ĠRe yn", + ".set Foreground", + "by n", + "Ġdis connected", + "ACT IVE", + "Ġembed ding", + "ick ers", + "Ġsurround ings", + "* c", + "Ġgar ant", + "Ġb f", + "Ġw ipe", + "Ġ ä¸ĭ", + "_T RA", + "ado x", + "ç ķ", + "Ġsu cks", + "ĠS ongs", + "ĠAssoci ates", + "ĠB ald", + "ĠB rett", + "ven ile", + "Ġv t", + "Ġin ade", + "Ġres igned", + "ĠGl enn", + ".p attern", + ".Data Bind", + "Ñĥ м", + "Layout Inflater", + "ch et", + "ĠTest ament", + ".m s", + "Ġp av", + "ĠReact DOM", + "ur dy", + "AD ATA", + "M u", + "/ actions", + "ĠJ s", + "_ex tract", + "ĠBr ing", + ": id", + "str t", + "iv ation", + "Ġoutr ight", + "az u", + "loy ment", + "и Ñı", + "al do", + "ĠP ublisher", + "E ducation", + "Pa lette", + "_d rv", + "Ġ($ (", + "ĠAnd a", + "Ġrem edy", + "Ġincons istent", + "te ction", + "Ġregul ators", + "Ġshort est", + "(p air", + "ĠInstall ation", + "Ġdefend ants", + "Ġ( );", + "-l arge", + "M el", + "Ġthreat en", + "н Ñı", + "Ġfet ish", + "ot ine", + "_d ic", + "Ġ< $", + "Ġst agger", + "sp i", + "$ response", + "S erv", + "-b orn", + "j os", + "ĉ img", + "ĉW HERE", + "_l t", + "å½ ĵ", + ".c ost", + "ĠT ue", + ".label s", + "ĠL V", + "wcs store", + "ĠJes se", + "ภ«", + "Tr ade", + "Ġpredecess or", + "ë Ĥ", + "fin ally", + "_g eneral", + "ogg ler", + "_REG ION", + "n ement", + "Ġblog ger", + "ĠHar bor", + "ĠD ataset", + "[ w", + "Ġattend ees", + ". ico", + "max imum", + ".Un lock", + "_SY NC", + "ág ina", + "Ġdown s", + "ĠW ii", + "]) /", + "Ġkick ing", + "unic ation", + "ĠD AC", + "ĠID S", + "ĠR ental", + "Ġcurrent Time", + "Ġvacc ines", + "ĠDev il", + "Ġn ors", + "_m ouse", + "urre ction", + "(n o", + "Ġ> čĊ", + "Ġaggress ion", + "Ġbre eding", + ".s ymbol", + "im an", + "Absolute Path", + "ĠWH O", + "_fl ush", + "- root", + "arn a", + "& M", + "Ġf athers", + "ĠR ocket", + "ive au", + "Ġw ander", + "Ġcom pos", + "ĠWar rior", + "ĠSe at", + "ĠClin ic", + "_in voice", + "(dis patch", + "Product o", + "at uring", + "oss ier", + "ĠM AY", + "Ġd agger", + "Ġsanit ized", + "ĠR FC", + "Ġpro ph", + "Ġur ine", + "Ġgr ind", + "ĠExp anded", + "des cripcion", + "-f w", + "ĠK erry", + "= name", + "Ġch k", + "Ġnation ally", + "Ġthe e", + "In c", + "Ġ? >>", + ".R adioButton", + ".Http ServletResponse", + "/ Y", + "ĉf ield", + "Ġhom me", + "y per", + "Ph ysical", + "= v", + "Ġdr iv", + "ĠErr ors", + "Ġc Äĥ", + "De ath", + "ĠW INDOW", + "Ġpo et", + "ĠSh arp", + "ĠImm utable", + "ĉ create", + "Ġge ht", + "ĠRe form", + "ais er", + "ĠInitial ization", + "Ġimm unity", + ".com pose", + "Ġlat ency", + "ĠLeban on", + "ĠPar ad", + "Ġfu els", + "ĠEx hib", + "co h", + "% \">Ċ", + "ĠCL I", + ") initWith", + "-Z a", + "_C LEAR", + "reg n", + "Ġfin ances", + ".st andard", + "_C ATEGORY", + ".lib rary", + "Ġtravel ers", + "_w p", + "ĠE valuation", + "start ing", + "Ġ )),Ċ", + "ep isode", + "ĠV ariant", + "Ġda emon", + "ĠJul ia", + "ĠN R", + "Ġdoub les", + "< v", + "/r untime", + "Ġinterpre ter", + "ĠIN DEX", + "ĠHol mes", + "_D IM", + "Ġp addle", + "_ex ample", + "Ġfore ground", + ".r outes", + "Ġs owie", + "S UCCESS", + "ĠC DC", + "ĠB D", + "_ -", + "as ured", + "W riting", + "Ġcurrent Page", + "( answer", + "ĠASC II", + "à ¨", + "Ġsocial ly", + "yy y", + "ĠSpecial ist", + "(c ustomer", + "ist ani", + "ke st", + "ĠM ak", + "Ġth o", + ". pt", + "( comment", + "ĠCon verter", + "g am", + "b ins", + ". tele", + "ĠVeter ans", + "_AL LOC", + "олÑĮзов аÑĤ", + "inn amon", + "; width", + "oh l", + "Ġfant as", + "Ġs ung", + "ĉ K", + "( Json", + "Ġneighbour hood", + "Ġv ow", + "Ġs ins", + "on acci", + "Ġepoch s", + "im agen", + ".Ch ange", + ".my batis", + "Se ek", + "W ER", + "管 çIJĨ", + "Ġinter ess", + "_ Event", + "eder land", + "Ġterr itor", + "Ġci udad", + "uck ed", + "Ġsn ack", + "Ġtransport ed", + "ĠMan ifest", + "ĠD AT", + "_th eta", + "Ġw ont", + ".ĊĊ ĊĊĊĊĊĊĊĊ", + "Ĭ¶ æĢģ", + "ĠEp ic", + "De ck", + "l tra", + "_Z ERO", + "Ġ[] ;", + "/ scripts", + "Ġ---------------------------------------------------------------- ----------------", + "æĥ ħ", + "Ġwe ed", + "N BC", + "Ġrap ed", + "ĠG ateway", + "[ M", + "ĠTime out", + "ench mark", + ".View Model", + "Ġporn os", + "ĠY a", + "th ritis", + "ĠFly nn", + "Ġme ga", + "ac in", + "Ġtrib al", + ".app le", + "ĠB lo", + "â n", + "ib i", + "ro v", + "ĠL ives", + "^ .", + "get Request", + "ĠEst ablish", + "cont ainers", + "Ġst arring", + "Ġcele brities", + "ĠRel ative", + "ĠHe ights", + "Ġtq dm", + "ĠNorth west", + "iv ic", + "ĉ cl", + "Ġautom otive", + "ent ric", + "Ġfort unate", + "Ġfire place", + "se ud", + "nick name", + "; s", + "_C AL", + "h alt", + "(n s", + "_de leted", + "Develop ment", + "m ovies", + "Ġident ities", + "Ġprompt ly", + "ا ÙĨ", + "Ġant e", + "Ġ\" ','", + "åı £", + "imp se", + "Ġy ap", + "Type Name", + "Ġb itch", + "Ġassoci ates", + "HE ME", + "- empty", + "ĠØ ª", + "ol vers", + "Ġpist ol", + "Sc oped", + "ag ner", + "'] =='", + "ĠI MP", + "ex c", + "Ġo mitted", + "Ġmind set", + "Ġ[] (", + "Ġor n", + "_C AM", + "A vg", + "Localized String", + "ĠN atur", + "Ġcom poser", + "ĠPlay ing", + "Ġover d", + "_ utf", + ".s k", + "ĠF ol", + "$ page", + ", Object", + "Ġbe es", + "al ary", + "bul let", + "_lib rary", + "O ffer", + "loc ated", + "Ġ(_ ,", + "âĢľ He", + "ĠOwn ers", + ") ).Ċ", + "Ġb ri", + ".Ad min", + "kt ion", + "лÑİ Ñĩ", + "Ġerot ici", + "Cancel led", + "Ġa gr", + "re views", + "_d ma", + "RI CT", + "Ġg fx", + "mp i", + "pp o", + "Ġ// @", + "Ġupper case", + "Ġcommit ting", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "User Data", + "Ġv ai", + "ĉs ort", + "Ġcongr at", + "Ġd ioxide", + "д а", + ". area", + "ĠJosh ua", + "ĠK och", + "_b reak", + "az ure", + "ist ical", + "_AL PHA", + "_ views", + "Ġelim inating", + "OM B", + "en umer", + "ĠHy dro", + "(* (", + "ERT ICAL", + "Ġinev itably", + "Ġst ole", + "-e ast", + "ier on", + "Ġl inger", + "/d oc", + "Å º", + "ĠAl ready", + "as io", + "Ġ-- Ċ", + "Ġabb rev", + "ĠAt om", + "h im", + "ĠINS ERT", + "s un", + "âĻ ª", + "CON NECT", + "er ator", + "ĠM anning", + "Ġ: (", + "g as", + "=> '", + "Ġquery set", + "; }čĊ", + "ĠPop ulation", + "uted String", + "res ident", + "_F ONT", + "ĠRes pond", + "Ġobsc ure", + "Ġo bservable", + "ĠContrib utors", + "k on", + "ĠMus k", + "ex ao", + "ĠT ub", + "Boot Application", + "S OR", + ".H orizontal", + ".find By", + ".p ower", + "Ġposit ively", + "ven ience", + "ĠJ ong", + "Ġwh istle", + "Ġз наÑĩ", + "Ġl ending", + "Ġdestruct ive", + "Ġon Delete", + "author ization", + "(); ?>", + "_ original", + "sc ience", + "at ra", + "?, ?,", + "ĠAs c", + "Ġconvinc ing", + "$ a", + "org en", + "_D ate", + "ĠPro vide", + "Ġlon ely", + ") 'Ċ", + "ex change", + "; ?>Ċ", + ".f ast", + "S amples", + "L ondon", + "'] )čĊ", + "ĠI onic", + "Ġp esso", + "ĠKn ights", + "ĠR af", + "_attr s", + "Ġrepe al", + "> Main", + "ĠOrder ed", + "_N ew", + "=\" \"> \";Ċ", + "ĠS ERVER", + "ĠHE ADER", + "_ velocity", + "ĠIn voke", + ".timestamp s", + "Ġs ulf", + "I QUE", + "Ġinhabit ants", + "ph ins", + "azz o", + "Ġmon o", + "Leg end", + "Ġnon ce", + "IF E", + "; \";Ċ", + "- create", + "\" \",Ċ", + "per mit", + "ĠImm igration", + "Ġpath name", + "ffect ive", + "âĻĢ âĻĢ", + "Ġex ams", + "- event", + "ĠT ill", + "[m id", + "F IX", + "; color", + "( Order", + "_tra its", + "Ġorder By", + "Ġs unt", + "ĠNich olas", + "Ø ²", + "Ġsun ny", + "in ers", + "Ġaccess ibility", + "ĠH B", + ".com p", + "ĉ op", + "Ġminor ities", + "ethe us", + "Ġcollabor ative", + "pr it", + "H IR", + "Ġwr aps", + "ĉd raw", + "g od", + "ĠI X", + ".app s", + "ĠN M", + "Ġirre levant", + "ĠT igers", + "Ġdi ag", + "G V", + "ĠAccess ories", + "k ont", + "Ġsimpl ify", + "ĠF avorite", + "_t ools", + "([] );Ċ", + "Ġtow ers", + "B es", + "Ġhun ter", + "Ġsal on", + "(b uff", + "ĉ debug", + "Ġmal ware", + "M oving", + "- options", + ") +'", + "ĠLO VE", + "_S OCKET", + "_f in", + "ĠDel aware", + "Ġsher iff", + "-in valid", + "ĠF ULL", + "Ġп од", + "el as", + "\" strings", + "ĠRepresent atives", + "s urface", + "res olved", + "ht docs", + ")) :čĊ", + "Ġpress ures", + "Ġnorm s", + "Ġpl a", + "Ġs urname", + "Ġpost al", + "ĠDep art", + "Ġsla ughter", + "or ida", + "Ġhe bben", + "Ġdes ar", + "comp act", + "_L ANG", + "åIJ Ī", + "op oly", + "_r ad", + "ĠST DMETHOD", + "L azy", + "ĠĠĠ ĉ", + "... ,", + "( web", + "ĠP ont", + "Ġet was", + "Ġup ward", + "_h at", + "Ġ], ĊĊ", + "Ġbase Url", + "Ġworry ing", + "-add on", + "(get Class", + "S PI", + "Ġcapt uring", + ") },Ċ", + "Effect s", + "Ġcompet ent", + "Ġf oul", + "Ġsubscri bing", + "ĠO BJECT", + "IX EL", + "b ucks", + "( edge", + "(p ass", + "ĠPet erson", + "Ġbo obs", + "ĠD elay", + "_s quare", + "el im", + "ot ers", + "_P C", + "% E", + "on click", + "ĠSV G", + "Ġto pped", + "Ġf ist", + "sm art", + "ĠR alph", + "( owner", + "j ours", + "Ġbron ze", + "ĠArgument Exception", + "( original", + "_S CALE", + "_c p", + "Ġrecomm ends", + ".set Style", + "S ure", + "L AND", + "Ġrepe ating", + "M att", + ". Visibility", + "Ġenter prises", + ".Set up", + "(sc ene", + "ĠRe active", + "ur ge", + "b w", + ".P ut", + "p ersist", + ".c ookie", + "ĠAud i", + "` s", + "sup plier", + "( Form", + " ¡", + "_s o", + "Į Ģ", + "ĠLeg ion", + "t te", + "N d", + "L oss", + "( attrs", + ".sc atter", + "Ġg room", + "Ġgl impse", + "Ġn ails", + "Ġcum ulative", + "Ġf azer", + "_s ervices", + ".N um", + "ib ilit", + "_res olution", + "ĠT x", + "umin ium", + "op a", + ".s chedule", + "sm tp", + "ภķ", + "ur ry", + "ü k", + "go og", + "_sign ature", + ".int o", + "ĠSte ps", + "Ġhome owners", + "ĠNS URL", + "ĠP AC", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĊĊ", + "> ')Ċ", + "en h", + "Ġinc ap", + "$ MESS", + "Ġmo ins", + "ĠF i", + "Ġoff season", + "press ions", + "> .Ċ", + "ĠGr ass", + "ĠGo al", + "_p df", + "Hand lers", + "Ġstack s", + ".get FullYear", + "=[ ];Ċ", + "è½ ¦", + ", V", + "(s plit", + "Ñĥн к", + "Ġbake ca", + "Ġ~ /.", + "pe z", + "t ails", + "ĠG len", + "Ġset Image", + "ĠCom ic", + "B LOCK", + "ĉ This", + "o ader", + "Ġcapital ist", + "_ST EP", + "( Boolean", + "ĠCor rect", + "r ina", + "Ġconc aten", + "å® ŀ", + "() :ĊĊ", + "Ġun anim", + "ll i", + "al ars", + "- ne", + "Ġdiv or", + "ĠKick starter", + "]. _", + "< number", + "/m enu", + "GR APH", + "vis itor", + "Ġimpro per", + "_N EXT", + "Ġb isa", + "background Color", + "/ input", + "Ġmo i", + "Go al", + "li qu", + "Ġmiscon duct", + "Ġcompr ises", + "aw ns", + "ĠP ie", + "ra is", + "role um", + "Ġcur se", + "y u", + "_p oll", + ".current User", + "ES H", + "]) [", + "Ġstory t", + ")? ;Ċ", + "* =", + "ĠB urg", + "/ layout", + "_back end", + "; ?> * '+", + "åĿ Ģ", + "ac ency", + "( URL", + "_h alf", + "= l", + "Ġlist View", + "( section", + ".to Array", + "+ /", + "ĠRodrig uez", + "ist ream", + "Ġelig ibility", + ":: -", + ".new Instance", + "P B", + "ĠAs sets", + "ĠCom posite", + "ĠL abs", + "ĠHam as", + "++ );Ċ", + "Ġbl k", + "ĠNe o", + "L uc", + "@ login", + "Ġun aware", + ".m et", + "_RE LEASE", + "( ST", + "AM IL", + "ri ke", + "Ġ( ){Ċ", + "(s printf", + "ĠAccount s", + "ĠV IEW", + "ĠA j", + "ãĤ °", + "Ġwh isk", + "Ġid i", + "Ġro de", + "Ġih n", + "ĠElement ary", + "Q ty", + "Ġintrig uing", + "Ġå ¤", + "J obs", + "ĉ offset", + "ĠAh med", + "ĠTal iban", + "Ġè İ·åıĸ", + "Ġinject ed", + ".Auth entication", + "_line ar", + ".Dec imal", + "Ġapp les", + "Ġshare holders", + "Ġb aked", + ".d iff", + "ĠE ddie", + "ok ers", + "Ġconfront ed", + "vo ices", + "Ġt us", + "ĠSp in", + "N ODE", + "_ Un", + "CT X", + "/g oogle", + "Tem perature", + "Ġ' ').", + "Ġmagn ificent", + "Ġstart Index", + "semb les", + "Any one", + "z k", + "eh en", + "ĠD ame", + ". strict", + "Ġrepl aces", + "Ġline back", + "Ġpush es", + "Ġche ek", + "ĠSh i", + "_BY TES", + "RE A", + "ả n", + "_CON NECTION", + "G ateway", + "ĠTr avis", + "ĠA X", + "ĠBas ically", + "ĠUp grade", + "à ª", + "th emes", + "erm o", + "k or", + "F emale", + "_att ach", + "ĠìĤ¬ ìļ©", + "Ġpo z", + "============ ==Ċ", + "(s ymbol", + "ĠS ector", + "__ )ĊĊ", + "_p adding", + "ï¼ļ \"", + "Ġf abs", + "Ġr anged", + "set Name", + "Ġp error", + "â Ĺ", + "ĠFile Reader", + "Ġful filled", + "_C urrent", + "Ġdom inate", + "Ġsm ugg", + "Post Mapping", + "_for ce", + "Ġb loc", + "ĠG iant", + "(v ideo", + "ĠC U", + "System Service", + "Ġ elf", + "Ġkont akt", + "ë ª", + "ke es", + "gt k", + "Ġparam Int", + "Ġmark up", + "u ales", + "Ġaccount ed", + "Ġgang bang", + "RY PT", + "ĠW rong", + "Ġcred ited", + "ĠM ESSAGE", + "Ġfl aws", + "Ġbb w", + "Ġmetab olic", + "ĠO EM", + "/ event", + "(C ollectors", + "mont on", + "ap pear", + "Ġopt ed", + "Ġche at", + "Ġd av", + "ĠPro ceed", + "Ġê ¸", + "ank ed", + "и з", + "ans k", + "ĠH ang", + "ĠC ler", + "Ġdis gu", + "Ġc map", + ".cl js", + "Ġa ument", + "le z", + "ĠJo ined", + "_re ceived", + "Ġa erial", + "ot el", + "Ġgre et", + "\" s", + "ĠGen esis", + "ĠCal if", + "pan ion", + "Ġtail ored", + "m apping", + "and Expect", + ".tr ack", + "at omy", + "ĠO w", + "ull ah", + ".Y es", + "ĠSimple Name", + "db h", + "' en", + "Ġnons ense", + "Ġphilosoph ical", + "(get Context", + "Ġis so", + "ĠA CE", + "start Date", + "Ġb ÄĻd", + "ĠAUTH OR", + "ĠGlo be", + "Ġinsect s", + "_A l", + "ush ing", + "è® °", + "/ Home", + "ĠLocal Date", + "need ed", + "hes ive", + "Ġill usion", + "äº Į", + "Ġtr at", + "x o", + "/d etail", + "_M ATCH", + "Ġbroad band", + "Ġw al", + "ĠIllegal StateException", + "IRE CTION", + "Ġnor theast", + "es ium", + "ĠClient e", + "ul ance", + "nt y", + "Ġt ecn", + "Dev ices", + "Ġgr ains", + "ĠO g", + "ĠS EL", + "ud iant", + "Ġ++ ;Ċ", + "Ġexplan ations", + "oc co", + "Ġdi ets", + "Ġco hort", + "( controller", + ".Iter ator", + "-r ich", + "ro cess", + "G D", + "Ġcar bohydr", + "Ġfri ed", + "ĠEmploy ment", + "ìŀ ¥", + "ĠLeon ard", + "_ ${", + "qu ares", + "Ġcompan ions", + "Ġpar is", + "Ġstim ulation", + "ĠZ oo", + "Ġre levance", + "ĠCol our", + "Ġspe ar", + "ot ional", + "ĠL ite", + "ĠK osten", + "Ġà ³", + "_att achment", + "orph ic", + "Ġdam it", + "Ġd lg", + "Ġthr ive", + "CH ANGE", + "ĠApp arently", + "Ġat ual", + "Ġroot ed", + "( images", + "aw i", + "ari at", + "Ġch erry", + "STAT IC", + "m nt", + "ĠUser Id", + "il let", + "ĠHis panic", + "Ġn ak", + "Ġcent ro", + "Ġdim s", + "_initial ize", + "ı k", + "ĠCent ers", + "RE N", + "Ġevolution ary", + "ĠTop ics", + "_d amage", + "em er", + "Ġr und", + "Ġpun ished", + "Ġcub ic", + "f air", + "[] ;ĊĊ", + "Ġinstant iate", + "Ġover see", + "- delete", + "unte er", + "start Time", + "ĠP ipeline", + "_G AME", + "ĠC ir", + "ĉ Null", + ".Format ting", + "uc umber", + "ĠR ide", + "Ġz oo", + "Ġcheck er", + "åIJ Į", + "= C", + "Ġg rit", + "\"); //", + "_x y", + "ĠDe claration", + "Ġcall able", + "F oo", + "ĠList Item", + "Ġin accur", + "ml in", + "ĉ Data", + "Ġev olving", + "aw an", + "Ġca fe", + "fol k", + "_ID X", + "ĠAny thing", + "ĠPalest ine", + "ĠGrid View", + "Ġcol ony", + "ĠGerm ans", + "( +", + ".p id", + ".js x", + "ĠSuper ior", + "Christ ian", + "ĠL ect", + "ĉ Game", + "Ġinstrument al", + "Anim ations", + "д ал", + "ĠMos es", + "ĉĉčĊ ĉĉčĊ", + "z s", + "k te", + "ä¸ ļ", + "_D IST", + "bit map", + "d B", + "Ġp ersistence", + "ÑĢ Ð¾Ñģ", + "$ l", + "B ron", + "Ġ{ |", + "_ch art", + "ĠCon sum", + "Ġh emp", + "Ġ\" ))Ċ", + "Ġattack ers", + "Ġknowledge able", + "Ġc et", + "Ġvir uses", + "' I", + "Ġpitch er", + "Ġsweep ing", + "= list", + "apt ops", + ".de pth", + "Ġinstruct ed", + "ĠR us", + "benh avn", + "Ġи н", + "S ports", + "Ġon set", + "æĿ ĥ", + ". RED", + "_s i", + "ĠP ST", + ".on Change", + "> tag", + "ĠR oh", + "_char acter", + "ĠLaw s", + "ĠB achelor", + "_s wap", + ".re activex", + "Ġreward ing", + "Med ium", + "- [", + "ĠRec ently", + "J oint", + "part ition", + "ĠMin utes", + "Ġind o", + "Ġabsor bed", + "ĠG N", + "_IN D", + "Ġsab er", + "Sp awn", + "output s", + "ĠJeff rey", + "Ġmed ieval", + "h ed", + "Gu ide", + "Ġpsy cho", + "Ġgl am", + "E lim", + "äd chen", + "_pl ain", + "ĠS au", + "-f our", + "Ġanaly zing", + "QU ERY", + "Ġtom ato", + "_button s", + "V EN", + ".set Status", + ". Url", + "+ ĊĊ", + "Ġcompl aining", + "deg ree", + "conf irmed", + "Ġsub t", + "p arsed", + "Ġtor que", + "Ġtroub led", + "ĠT ARGET", + "Ġtrad emarks", + "ĠCo ordinate", + "ĠV iv", + "Ġ// }ĊĊ", + "Ġapr ès", + ".get Position", + "(Key Code", + "ĠSil va", + "Ġmet eor", + "Ġendorse ment", + "Over view", + "ĠP oss", + ".In ject", + "Ġeven ly", + "Ġvisual ization", + "Ġw char", + "ĠH DMI", + "Ġfun ct", + "ick name", + "',' ','", + "Ġfor wards", + "Managed Object", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĉ server", + "ĠOut look", + "ĠChron icle", + "Ġdub bed", + "Ġd ok", + "ĠW ear", + ".A L", + "pare n", + ". Interface", + "Inter faces", + ".c od", + "Ġd ib", + ".Global ization", + "ĠAcad emic", + "Ġass ms", + "Aut om", + "Ġl w", + "ĠN W", + "Ġ&& čĊ", + "Ġproble ma", + "ĠManufact uring", + "lim its", + "-m obile", + "Ġfil me", + "/ map", + "Ġdo it", + "ĠIn k", + "Ġsu ed", + ". arr", + "Ġunder min", + "ĠPro c", + "croll View", + "__ $", + "Ġsidew alk", + "( that", + "ภ·", + "[ q", + "gram mar", + "Ġt ë", + "qu ito", + "Ġspir al", + "ext ended", + "Ġf ocal", + "Ġdig ging", + "p as", + "ĠT all", + ".pro xy", + "it ures", + "TR ACT", + "ĠRe alm", + "Ġf eder", + "Ġorient ed", + "ĠAltern ative", + "Ġo we", + "Ġsour ced", + "ink er", + ".d et", + "S ep", + "ĠQ ui", + "ĠPal mer", + "(_ ,", + "s amples", + "oy er", + "ull an", + "que z", + "Ed ges", + "Ġsh out", + "ĠA chie", + "Ġha ar", + "_Con struct", + "Ġprem ature", + "Ġre vert", + "'). Ċ", + "Ġs chn", + "filter ed", + "null ptr", + "S aved", + "itect ure", + "CL A", + "Ġv l", + "st ell", + "ĉ Me", + "ĠL ip", + "n ational", + "Ġwh olly", + "Ġspr ings", + ".T imer", + "ĉs rc", + "els en", + "åħ ¶", + "Ġcommunic ating", + "ĠQu iz", + "Ġt eng", + "Ġge z", + "ĠOut side", + ".S ign", + "(c s", + "Ġdisput es", + "ĠWe iss", + "ann es", + "> No", + "ĠB ach", + ".remove All", + "re fer", + "/d ashboard", + "ĠA jax", + "Index Changed", + "ĠWe ak", + "' \"Ċ", + "Ġs ights", + "access Token", + "ĠJ oi", + "(d omain", + "ĉc v", + "Ġcontin uation", + "Ġpl um", + "ad ir", + ".set Message", + "Ġ ï¼Į", + "Ġsw allow", + "ĠL amp", + "Ġq w", + "Ġu u", + "C oin", + "ub ic", + "ĠDe als", + "r ace", + "Ġdict ator", + "Ġmem e", + "turn ed", + "ĠJul ie", + ".grid Column", + "Ġpup py", + "Ġp am", + "Ġ) {čĊ", + "Ġinv iting", + "Ġf rench", + "v im", + "Ġwr apping", + "Ġ#- }Ċ", + "([ -", + "Ear ly", + "Ġsh iny", + ".f aces", + "Ġreb ell", + "abc def", + "ä lt", + "Ġest imation", + "ph ys", + "los ures", + "_RE L", + "Ġex clusion", + "ĠSk ype", + "we ise", + "-st op", + "no thing", + "ĠE gg", + "is ors", + "Rich ard", + "Ġcounsel ing", + "Ġcomm em", + "ĠQ MessageBox", + "ĠSy nd", + "ĠFro st", + "ĠCompet ition", + "ĠAw ake", + "Ġt ed", + "ic iones", + "ĠDev Components", + "VERTISE MENT", + "ott i", + ".run ner", + "Ġuniqu ely", + ".fl ag", + "ĉ rs", + "_g eneric", + "Ġ`` `Ċ", + "ACH INE", + "Ġme in", + "( Application", + "( br", + "Ġrat ios", + ": ,", + "ĠXCT est", + "ustain able", + "- www", + "it les", + "_T EMP", + "Ġs yst", + "umeric UpDown", + "ĉassert True", + "Ġw f", + ". peek", + "ĠBul g", + "Ġterr ifying", + ".M ODE", + "ĠG W", + "á r", + "Ġf ic", + "Ġcommit ments", + "- tech", + "ĠL iquid", + "ope z", + "z heimer", + "a ña", + "-m edia", + "( animated", + "_go al", + "Ġg um", + "yst one", + ".S ET", + "ĠW end", + "set CellValue", + "Ġmsg s", + "c ash", + "AL LOC", + "/ aws", + "Ġmic rowave", + ".Point er", + "ĉ Console", + "_s orted", + "ĠFil ip", + "Pro d", + "Ġ//! <", + "ing roup", + "Ġk s", + "_T RI", + "Ġteas poon", + "ĠAT T", + "Ġrecover ing", + "ĠG LOBAL", + ".P ar", + "Ġ/> ;Ċ", + "Ġmar ble", + "ul ators", + "ĠC ycle", + "Ġher bs", + "_m etric", + ") !", + "_C LOCK", + "_ Button", + "H arry", + "è¿ Ľ", + "Ġstr ains", + "ĠApp Bar", + "ĠCh an", + "/v ideo", + "Ġb am", + ".Pro gress", + "$ f", + "lem en", + "Ġir regular", + "ĠD uncan", + "ĠM int", + "-v ideo", + "ঠ¾", + "ó wn", + "ĠEM PTY", + "Ġstack ed", + "ĠH A", + "_c ut", + "Ġwhere in", + "ĠW ays", + "(count er", + "è¯ ķ", + "Form Group", + "Ġble w", + "c ourses", + "Ġproduct os", + "ry s", + "ĠRest r", + "Ġsty ling", + "> s", + "Ġp iv", + "Ġit ertools", + "get Repository", + "ĠI k", + "_dev ices", + "lay ui", + "Ġhalf way", + "Ġfran ç", + "Ġtun ing", + "O A", + "_N ode", + "ar de", + "Ġfier ce", + "lic ted", + "# čĊ", + "Ġbreak through", + "ĠE rik", + "Ġb ride", + "Ġ. \"", + "cul us", + "ins ide", + "ĠIndian apolis", + "ĠE E", + "Ġy og", + "urre t", + ".f s", + ". grad", + "_c ards", + "_ac curacy", + "_ep i", + "qu eda", + "/ org", + "é ªĮ", + "Ġcom pte", + ")) [", + "Out side", + "G reater", + "ĠRender er", + ". actor", + "Account s", + "Id le", + "_h ours", + "ern er", + "Jo ined", + "Ġmen j", + "requ ires", + "ĠO PER", + ".remove Child", + "ĉs p", + "Ġes se", + "r ift", + "xF E", + "ĠSh akespeare", + "________ ____", + "Ġbudget s", + "Model State", + "fill able", + "- component", + "oc os", + "ĠBUT TON", + "/ io", + ", out", + "s ms", + "Th omas", + "ĠAr med", + "res ume", + "Ġrot ating", + "ĠV ault", + "Ġse us", + ". (*", + "Ġa mino", + "Ġ[] );ĊĊ", + "Ġprov oc", + "no x", + ".Get Enumerator", + "==== ===Ċ", + "æĸ Ļ", + "_sc roll", + "Ġfil med", + "ĠS oci", + "g ap", + "g ro", + "V ote", + "\" But", + "_R C", + "An imal", + " Ģ", + "ib ile", + "Ġaw aken", + "ore st", + "in ja", + "ĠI van", + "( Command", + "Ġ *****", + "Î ·", + "Ġkv inder", + "/h elpers", + "_c ases", + "t g", + "ìĦ ¸", + "Register ed", + "ĉp ass", + "_d igits", + "Ġcont our", + "Ġinf ants", + "Ġjust ification", + "ĠFort unately", + "Con tr", + "ĠonCreate View", + "_S AMPLE", + "Ġallow Null", + "Ġn ud", + "Ġfet ched", + "_e qu", + "ĠUn able", + "=\\\" \"", + "> {Ċ", + "Ġcommit tees", + "ist ema", + "+ \".", + "ÃŃ an", + "m ant", + "Ġsou theast", + "ï¼Į Ċ", + "dialog s", + "PRO JECT", + "charg er", + "- port", + "(u uid", + ". export", + "S ix", + "ĠR P", + "P rem", + "Ġconsc ience", + "Ġmargin Right", + "_d istribution", + "y aml", + "res izing", + "D ock", + "ĠLoc ations", + "G Y", + "Se ed", + "B UFFER", + "oss ip", + "ull en", + "Th ings", + "- self", + ".p oll", + "PL AYER", + "Ġå ®", + "G ROUP", + "ĠA way", + "Ġg ospel", + "xf d", + "M ary", + "ĠPort able", + "T URE", + "Ġutil is", + "Ġse it", + "Ġstr and", + "Ġtrans c", + "Ġ( ^", + "ĠAl fred", + ".m em", + ".c ircle", + "Ġ~ /", + "for cing", + "Ġr iot", + "pro x", + "TH ON", + "iz ación", + "ĠN I", + "ro st", + "Ġdis pro", + "_in stances", + "ï¼Į âĢľ", + "ograph er", + "end as", + "ĠIsa ac", + "ĠP ine", + "/d is", + "Ġcolor With", + "iter ate", + "_str ide", + "Ġpun to", + ".Event Args", + "( center", + "Ġneighb oring", + "ĠPr ison", + "ĠMess enger", + "Ġepid emic", + "da o", + "_com plex", + "Ġgr avel", + "_D IP", + "é ment", + "ĠA ri", + "_bit map", + ".qu it", + "( valid", + "Ġp end", + "Ġrespir atory", + "Ġre bound", + "Default Value", + "ãĥ Ń", + "Ġcomm its", + ".test s", + "_f r", + "it et", + ".s f", + "Ġspace craft", + "c ritical", + "Ġde pressed", + "ĠAny Object", + "Ġun b", + "Ġdisc ern", + "(m ysql", + "L atin", + "ĠB og", + "ĠWild life", + "To File", + "iox id", + "@ RestController", + "Ġ\"$ (", + "Ġ<< \"", + "Ġdefect s", + "Ġdat um", + "h in", + "Ġreal izar", + "any ahu", + "ĠS ig", + "@ Data", + "ad aptive", + "ĠC atherine", + ".c r", + "ĠCO OKIE", + "Ġp ictured", + "ĠFight er", + "Query able", + "ĠAny way", + "ĠGL FW", + "_n amespace", + "_ ft", + "Ġ] )", + "Organ ization", + "Ġconstit utes", + "Ġqu and", + "(ch unk", + "\"/ >čĊ", + "ĠL akes", + "main window", + "Car thy", + "sp in", + "(c sv", + ": red", + "-com merce", + "ภ¹", + "Ġdiscover ing", + "Ġe co", + "_f ac", + "inc eton", + "ĠGre ens", + "j wt", + "Ø µ", + "ĠBron cos", + "ĠGood s", + "(G TK", + "Ġreturn Value", + "Ġsi empre", + "Ġneut r", + "w ent", + "ĠN atal", + "Ġenthusi astic", + "á» į", + "F N", + "/d atabase", + "C atalog", + "Ġbr un", + "ĠK ash", + "_P l", + "isc rim", + ", width", + "Ġin mates", + "Ass ignment", + "ĠH aven", + "Ġplay ground", + "ex am", + "@ Controller", + "ul iar", + ".get Parent", + "Ġ\" ;ĊĊ", + ": size", + "iss ors", + "Ġf is", + "Ġal c", + "ens ation", + "ĠN ixon", + "Ġmight y", + "- str", + "_s pecial", + "_A DC", + "ĠTw ig", + "um bling", + "- address", + "Ġher oin", + "Y TE", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĊ", + "F riend", + "Ġa ve", + "ĠP NG", + "ĠKurd ish", + "DataSet Changed", + "Ġbl ades", + "br al", + "St eam", + "Ġsig u", + "IRT UAL", + "ac os", + "UD P", + "(d atabase", + "he c", + "ĠString s", + "_scal ar", + "ĉd esc", + "ĠT LS", + "; \"Ċ", + "ĠCor byn", + "Simple Name", + "u ell", + "ĠEnt re", + "ell ites", + "- place", + "Ġfrank ly", + "ĠE rf", + "CE L", + "Ġpa ÃŃs", + "Ġh edge", + "Ġlat ent", + "ĠIR Q", + "ĠH erald", + "ĠP rec", + "ë³ ´", + ".T EXT", + "Sal ary", + "Ġaut umn", + "Ġtrav ail", + ".S um", + "Ġc ared", + "M or", + "Ġint uitive", + "Ġj ournals", + "_ IT", + "ĠT rou", + "ä¼ ł", + "Has ColumnName", + "Com posite", + "Ġsp ice", + "_d isk", + "_CODE S", + "ĠInt roduced", + "ion a", + "Ġnue stra", + "o ct", + "ĠĠĠĠĊĠĠĠĠĊ ĠĠĠĠĊ", + "(param eter", + "Ġstud ios", + "Ġproject Id", + "Ġbd sm", + ".Sql Client", + "im izer", + "ĠC ARD", + "+ t", + "a an", + ".s ol", + "_Ad just", + "Ġright eous", + "ĠLog ging", + ".f ilters", + "_T AB", + "ĉs ys", + "roph ic", + "other apy", + "ĠB rowse", + "key board", + "R ON", + "+ \\", + "ro pped", + "Ġext ensively", + "f k", + "Ġl ime", + "year s", + "Ex c", + "Ġs ph", + "Ġche ating", + "and ro", + "ÃŃ o", + "Ġpr ince", + "o ire", + "ĠD estination", + "ĠConvert s", + "Ġup stream", + "o led", + "Ġserv ants", + "Ġsem antic", + "Ġcr unch", + "Ġevent ual", + "run ner", + "/ error", + "Sp in", + "Ġsecret ly", + "Ġas semble", + ".P erson", + "end error", + "_ <", + "Ġp endant", + "S leep", + "ĠChem istry", + "Ġboss es", + "l k", + ")) ),Ċ", + "Block ly", + "DE VICE", + "Ġreflect ing", + "Ġam ple", + "Mill iseconds", + "ĠPresident ial", + "Ġus uarios", + "ĠN Z", + "ĠSal ary", + "ĠA manda", + "_n p", + "j ury", + "Ġkö n", + "Ġtherap ist", + "Ġhomosex ual", + "ĠDr ake", + "-w indow", + "ĠLoc ated", + ".D river", + "ĠV IDEO", + "Ġmerch ants", + "ĠC hest", + "- lock", + "/ php", + "Ġmil ano", + "_ST YLE", + "arg er", + "ide a", + "G UID", + "adv anced", + "me al", + "Options ItemSelected", + "=' %", + "ĠCh am", + ": data", + "(st at", + "Will Appear", + "Ġinform al", + "aj i", + "Ġre productive", + "ĠC AS", + "ãģ £", + "F UNC", + "ĠR uth", + ")+ (", + "CON ST", + "ĠF ans", + "Ġgroup Id", + "xffff ffff", + "Ġsam pler", + "Ġ}} \">", + ". the", + "Ġh ollow", + "W AY", + "ĠFac ulty", + "Attrib utedString", + "ĠLook s", + "ĠR ex", + "j k", + "ĠM IL", + "Ġb ard", + ".L ong", + "Ġliv est", + "Ġsk al", + "ic ism", + "MA IN", + "Ġmu cho", + "B ODY", + "Ġes e", + "ĉ use", + "F oot", + ".SQL Exception", + "Ġinherit ance", + "re ceived", + "Ġput as", + "ed is", + "als a", + "ĠError Message", + "Book ing", + "Ġtr act", + "ac z", + "ĠC ant", + "_reg ex", + "Ġide ological", + "Ġj ihad", + "h os", + "/s ys", + "col m", + "(p ool", + "Ġest án", + "ĠP ending", + "em ás", + "Ġktó ry", + "));ĊĊ Ċ", + "trans actions", + "Ġw ield", + "it ere", + "ert ure", + "_s s", + "Ġstretch ing", + "Ġprison er", + ".Read All", + "Ġbes ch", + "-- ;čĊ", + "Ġcr isp", + "_SC AN", + "Ġa e", + "Str ict", + "ĠMin neapolis", + "ĠBo eing", + "ar is", + "re k", + "_p ipe", + "Ġpri ests", + "(E IF", + "eh icles", + "ĠInter active", + "b etween", + "ĉNull Check", + "ĠBl air", + "ĠL t", + "_in line", + "eth yl", + " ¼", + "_p ackages", + "Ġbarrel s", + "_ he", + "Ġreg exp", + "_ pts", + "_H andler", + "ing ular", + "ĠN issan", + "ĠR anch", + "Ġper ch", + "Un supported", + "Sm ith", + "ĠLeg ends", + "M i", + "Ġg f", + "st eder", + "Ġacqu iring", + "Ġsim ulator", + "() ,\"", + "re ceive", + "Ġin place", + "A CTION", + "ĠWeb Driver", + "files ystem", + "< Order", + "lo pen", + "ĠHE IGHT", + ".set Border", + "į °", + "__ [\"", + "Ġcl amp", + "Seg oe", + "b ands", + "to List", + "amb a", + ">' +Ċ", + "Ġcred ible", + "am at", + "play ing", + ".setImage Resource", + "qu el", + "Ġpod r", + "ge om", + "E k", + "ĠQ atar", + "Ġg eld", + "? ',Ċ", + "Ġc yl", + "( ax", + "ĠW I", + "ur ally", + "ĠBr asil", + "Ġsen za", + "ale y", + "on en", + "Ġb ah", + "Ġmolec ule", + "R ad", + "è¿ °", + "AN CH", + "- background", + "- agent", + "Ġprol ifer", + ": boolean", + "Ġt ide", + "erial izer", + "_ ;čĊ", + "F ee", + "** )", + "erg y", + "ĠHon or", + ".Log ging", + "ir is", + "Ġunder mine", + "ĠD y", + "Ġt yr", + "Ġde que", + "Ġdam er", + "([] )Ċ", + ".layout ControlItem", + "pe ated", + "C AN", + "rag ments", + "L and", + ") ]);Ċ", + "ĠS ah", + "ĠDE CL", + "With in", + "ĠN amespace", + "an other", + "sem bling", + ".des cribe", + "Con sum", + "ĠF ear", + "g iven", + "Or ange", + "< boolean", + "Ġstead ily", + "pa Repository", + "Ġresult Set", + "_ ENTER", + "_re peat", + "Ġt ones", + "ĠPRO P", + "n al", + "part icle", + "Ġsign aling", + "Ġaccess ory", + "ĉĉĉĉĉĉ ĠĠ", + "Ġvie le", + "ĠNo ah", + "- ag", + "Ġmur ders", + "Ġa ired", + "ĠPL AY", + "ĠS ullivan", + "_C ore", + "Ġul ong", + "Ġblog ging", + "> This", + "Ġdata Index", + "Ġprint able", + "ĠE yes", + "_target s", + "(P y", + ". over", + "Ġbr u", + "am pton", + "Ġplaint iff", + "< Key", + "b ull", + "Ġ⣠¨", + "Iss ue", + ".cor nerRadius", + "C ritical", + "_p hi", + ". angle", + "Ġdynam ically", + "! \");čĊ", + "> );Ċ", + "in vest", + ".* ĊĊ", + "Ġt élé", + "Ġsuper f", + "Ġcas cade", + "DT D", + "Ġviv id", + "Ġsubsid ies", + "ĠH ass", + "Ġcoll aps", + "Ġcer amic", + "{} \".", + "ĠLeak age", + "-tr ash", + "coll apsed", + "-s ocial", + "ĠCh ad", + "Ġincl ined", + "Ġst o", + "Ġstory board", + ".p ayment", + "stack overflow", + "ĠRaid ers", + "Ġ# '", + "olic ies", + "ìľ¼ ë¡ľ", + "em ap", + "Ġk j", + "Ġqu ota", + "ĠGard ens", + "ë² Ī", + "ĠAng els", + "Ġof t", + "Ġlower case", + "Ġi Param", + "Ġche apest", + "un ta", + "_p kt", + "ic ators", + "Ġle urs", + "Ġdecre ases", + "ĉ define", + "PRE C", + "amm ers", + "ĠPre paredStatement", + "(d irection", + "Ġcre ws", + "ark ed", + "ĠMem phis", + "ĠS ell", + "G TK", + "Ġm aid", + ": disable", + "éĽ Ĩ", + "ĠP f", + "Ġal beit", + "open h", + "?> \">Ċ", + ".get Source", + "(s cale", + "D u", + "ĠP IL", + "_ref resh", + "Ġbet s", + "(c ar", + "ĠV on", + "| --------------------------------------------------------------------------Ċ", + "ĠGr at", + "M uch", + "( Dialog", + ".stop Propagation", + "Ġte k", + "Ġex its", + "'], $", + "Ġphone Number", + "uc s", + "ec imal", + "------------ --", + "in p", + ".po jo", + "Ġcor pus", + "Ġpractition ers", + ".p ic", + "\" testing", + "Ġstring By", + ".Not Null", + "Ġr ang", + ".D ynamic", + "_R ender", + "аÑĤ а", + "Wait ing", + "ĠW ik", + "Ġoverwhel med", + "% \">", + "ĠA E", + "}} >Ċ", + "u w", + "_t yp", + "Ġbuck ets", + "Ġgre eting", + "Ġla ughter", + "Ġant agon", + "uggest ion", + "- email", + "ĉt op", + "Ġer os", + "_tr i", + "Ġiss uing", + "Ġh á", + "Ġisol ate", + "Over flow", + ", E", + "Ġnut ritional", + "ĠAbb ott", + "Ġn f", + ".t ouch", + ".fetch all", + "_z ip", + "\") }Ċ", + "Ġam at", + "ĠC isco", + "Ġn Ã¥", + "PLE X", + "Ġse i", + "f oto", + ".to Json", + "å¤ ļ", + "ĠKle in", + "Ġlib c", + "Ġmin ers", + "å ¢", + "- print", + "ĠP ride", + "T odos", + "Ġmask ed", + "Ġset Data", + "Ġtele fon", + "Ġunh appy", + "ĠT ables", + "ge b", + "( debug", + "_all owed", + "- access", + "Ġlog istics", + "Ġg ems", + "ĠM ature", + "Ġr sp", + "ĠAl le", + ".get Bytes", + "\\ web", + "ynchron ized", + "Par agraph", + "Ġth rottle", + ".sql ite", + "cons ulta", + "ĠSe ah", + "C e", + "Ġsub mar", + "ER E", + "V ous", + "Ġre ddit", + "Ġsql alchemy", + "-m ile", + "oc ide", + "P our", + "}} \">Ċ", + "st ead", + "Ġ@ (", + "Ġ[ ])", + "ĠAd s", + "Ġover load", + "r idden", + "ĠDes ert", + "ĠW rap", + "ĠPortug uese", + "et z", + "ĉf irst", + "Ġmile stone", + "æĹ ł", + "Ñĥ Ñī", + "(s uccess", + "< Vector", + "co ol", + "Ġ[ ]);Ċ", + "erv als", + "Ġin vert", + "\" io", + "cur so", + "fr agment", + "Ġfeas ible", + ".set Position", + "Ġel m", + "Ġimag in", + "@ Spring", + "Ġb ats", + "pu és", + "ga lement", + "ns ic", + "gi ene", + "ell ation", + "ĠBa iley", + "Sh ar", + "ĠT ul", + "ĠH K", + "Ġfree zing", + "gl m", + "ce ans", + "-c ut", + "_c ircle", + "åij ĺ", + "n egative", + "Ġind ian", + "s alt", + "Ġt ing", + "ĉm od", + "Ġs int", + "ak in", + "um l", + "ĠText Input", + "Ġpop ped", + "T MP", + "Ġpark ed", + "×Ļ ×", + "ĠF usion", + "Ġhe ater", + "ET F", + "ro zen", + "h all", + "ĠM ik", + "lev ard", + "- heart", + "ĉ order", + "M aking", + "Ġpled ged", + "Ġdir s", + "$ post", + "ĠH err", + "stant iate", + ", \"Ċ", + ".get Color", + "ĠS AT", + "Ġtimed elta", + "ĠM ai", + "ĉm ethod", + "Ġid iot", + "ĠTr av", + "ident ified", + "ĠDiv ine", + ".get Path", + "D ash", + "Ġinf iltr", + "Ġhandle Submit", + "bro ok", + ".g eneric", + ".short cuts", + "................................ ................................", + "Ġdat ings", + "ĠM V", + " #", + "} \"ĊĊ", + "Ġimprison ment", + "ason ic", + "rou d", + "uc ion", + "æĬ ¥", + "Ġdia lect", + "Ġon Mouse", + "const expr", + ".label Control", + "Ġwe aker", + "Ġman kind", + "ĠRE CE", + "Ġd iz", + "Ġapp Bar", + "Ġqu é", + "f ra", + "_default s", + "Ġal iqu", + "_at om", + ": indexPath", + "Ġmiss es", + "Ġvis ually", + "ĠH ands", + "STR U", + "i ates", + "_ asset", + "F inder", + "mid t", + "Ġsn acks", + "(__ ('", + ". uri", + "ĠIn strument", + "ven ir", + "($ __", + ".Dot NetBar", + "Ġconfig s", + "Ġguess ed", + "ि à¤", + "Ġinitial izer", + "Ġ? \",", + "ĠVer izon", + "man ifest", + "ge ben", + ".d etails", + "G ate", + "pons ible", + "ĠEl im", + ", str", + "Ġwrit ings", + "ĠD erek", + "ĠCo ordinator", + "Ġpill ow", + "Ġnotice able", + "R s", + "Ġduplic ates", + "ern els", + "k J", + ".z z", + "oll and", + "ĠSE CTION", + "_f name", + "uff led", + "'].' \")Ċ", + "ĠD ollar", + "Ġem oji", + "Car ousel", + "- player", + "Ġadjust ing", + "Ġjug a", + "alleng es", + "g ene", + "(body Parser", + "lop edia", + "ĠBeh ind", + "Ġslee ves", + "Ġdrag ging", + "ĠChe vrolet", + "Ġb iz", + "iv ities", + "ĠFrequ ency", + ", char", + ".W HITE", + "_pre view", + ") ';Ċ", + "_ ax", + "ION S", + ".c pu", + ".input s", + "UB E", + "_fe ed", + "ĠSup plement", + "! ).", + "es us", + "ĠU DP", + "Ġmicro phone", + "Ġconf irms", + ".is NotEmpty", + "\":\" \",Ċ", + "_S CREEN", + "ĉ expected", + "+-+- +-+-", + "ĠH ait", + "fast call", + "Ġdep ict", + "v b", + "_p icture", + "ĉd escription", + "ĠW ife", + "uc i", + "Ġv icious", + "ä» ĸ", + "ue ba", + "Ġset User", + "ãģ ¡", + "Ġd iving", + "Ġoper a", + "user content", + "ar ah", + ") },", + "y un", + "vel t", + "Ġun covered", + "Ġh ips", + "Ġosc ill", + "Ġassert ing", + "ĠX i", + ".re store", + "ke a", + "Ġsp elling", + "Ġder ive", + "ab we", + "ĠD ow", + ".set Type", + "_v s", + "Ġco zy", + ".c ategories", + "O rg", + "_m gr", + "Ġd ungeon", + "collection View", + "ĠBl ank", + "ac ias", + "ä ä", + "_clean up", + "_ACT IVITY", + "Ġtri angles", + ".Menu Item", + "Ġip hone", + "ĠW on", + "] ]ĊĊ", + "ĠCompar ison", + ".D oc", + "Ġcan onical", + "ĠSud an", + "') {", + "Up Inside", + "b uiltin", + "ENC Y", + "x be", + "Ġch uck", + "Ġcontrad ict", + "Ġnuest ro", + "Ġarchitect ural", + "ĠF ib", + "Ġcomp ares", + "* k", + "C fg", + "çĦ ¡", + "nt en", + "Match es", + "ĠDOWN LOAD", + "_HAND LER", + "man agement", + "[ S", + "EN G", + "ÂĢ Â", + "f ang", + "Ġsl ipped", + "ĠL anka", + "esc aping", + "Ġtack les", + "ĠPed ro", + ".P rop", + ".' '", + ".G enerated", + ".New Guid", + "at rigesimal", + "ill on", + "Ġstat istic", + "spec ies", + "hold ing", + "Dr upal", + "Ġfundament ally", + "Ġbond age", + "Ġres olutions", + "Inline Data", + "\\ Type", + "est ion", + ".w rap", + "Ġwar riors", + "ĠLOC AL", + "Arch ive", + "Ġembr aced", + "á» §", + ".V er", + "ĠAff ordable", + "oles ale", + "ĠAp plied", + "ĠCon version", + "m ega", + "_c am", + "Ġcer emon", + "aur us", + "ĠVol k", + ".op ens", + "/ about", + "ĠSt d", + "j ournal", + "()) {čĊ", + ",\" \\", + "( Arrays", + "ĠD ense", + "ase ña", + "än ner", + "/ stat", + "user Data", + "Ġg erman", + "Ġt z", + "worth y", + "Format Exception", + "ph erd", + "Ġsm iles", + "ĠWh enever", + "( adapter", + ".bad logic", + "Ġbrief ing", + ".Grid Column", + "- char", + "dim ension", + "ĠC opper", + "Ġnin th", + "Ġ' {{", + "Ġr av", + "_T able", + "Ġderiv atives", + "ĠR aise", + "ĠF ut", + "arm or", + "-p adding", + "Ġre min", + "ĉ style", + "ĠMembers hip", + "Ġspread s", + "Ġgall eries", + "ĠClar ke", + "Ġcon ception", + "min ute", + "Ġab usive", + "_ad j", + "Ġterr ific", + "Ġover t", + "our cing", + "Ġentr ada", + "level s", + "Ġcrit ique", + "Ġrespect s", + "ĠM MA", + "i ene", + "Ġenc aps", + "ĠRay mond", + "Div ider", + "iv able", + "b az", + "Ġ@ _;Ċ", + "ĠCl aire", + "Ġur ging", + "CE E", + "Ġtransform er", + "disc ord", + "ĠJ ourney", + "t os", + "Ġcompet itions", + "ĠO BJ", + "ĠB is", + "Ġrelax ation", + "id y", + "_IN STANCE", + "ĠP ref", + "d ados", + "ici encies", + "ĠMedia Query", + "ĠC ube", + "ĠStr ange", + "g pu", + "(d ays", + "_Init Struct", + "Ġfinger print", + "em at", + "ĠGe cko", + "Ġr ails", + "ĠL um", + "str action", + "ig ung", + "(m ovie", + "_d ictionary", + "_int errupt", + "ĠQ C", + "ik ed", + "append Child", + "rec ipient", + "r é", + "V e", + "Ġtow el", + ".last IndexOf", + "Ġplace bo", + "ĠW ie", + ".es p", + "( Debug", + "oper ative", + "Ġdece ased", + "& id", + "ĉm utex", + "el ic", + "Ġb apt", + "ĉ čĊčĊ", + "Ġfar ther", + "H alf", + ".dis able", + ".menu Strip", + "le ccion", + "Ġresult Code", + "Ġc ans", + "-e lection", + "f emale", + "_F IX", + "aus ible", + "ĠP OWER", + "Ġrecon struction", + "Ġsc ans", + ".Xtra Bars", + "âĢĺ s", + "Rem oved", + "Ġparagraph s", + "_m argin", + "Ġl ymph", + "Ġb os", + "ling ton", + "ĠBapt ist", + "Ġadvertis ements", + "ĠMan age", + "/ yyyy", + "IO US", + "ENC ES", + "ĠF iction", + "ĉm enu", + "ĠFile OutputStream", + "ov an", + "ĠF eng", + "Ġsk ipping", + "get Class", + "ann i", + "Ġreb ounds", + "Ġpublic ity", + "Ġing res", + "use ment", + "Ġthought ful", + ".Ch art", + "Ġhat te", + "pass port", + "Ġhook ed", + "ĠL ens", + "Ġflag ship", + "Ġst ip", + "ĠG EN", + "Ġcl ues", + "ip v", + "ĠR ise", + "ĠG ew", + "tab lename", + "Ġfore most", + "_ validate", + "_an alysis", + "oll a", + "Ġqual ifications", + "Ġdistrib utions", + "ĠFl ower", + "Ġt ense", + "Ġthank ful", + "Ġcl utch", + "Ġun ified", + "ro ads", + "Ġsit i", + "Ġst all", + "_P RIORITY", + "c stdlib", + "_USER NAME", + ".by tes", + "? page", + "ermal ink", + "ĠVe get", + "/v nd", + "- author", + ".N ONE", + "ĠCon current", + "ĠC ry", + "Ġstart ers", + "ĠInter action", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠLE VEL", + "E ll", + "Ġcom boBox", + "ĠTh eresa", + "te k", + "_H andle", + "Ġab y", + ".g dx", + ", end", + "(L ocal", + "O l", + "kn ife", + "ar ial", + "ĠH off", + "Ġprostituer ade", + "Do ctor", + "Inst ances", + ".Set Value", + "ĉf rom", + "Ġlux urious", + "Ind ent", + "Alloc ator", + "_D RAW", + "(\", \",", + "ĠFr ances", + "Ġgroup Box", + "(s chema", + "Print f", + "OR IES", + "- gradient", + "Ġre put", + "ar in", + "_D ONE", + "in cre", + "ig nty", + "Ġex ert", + "Ġ- .", + "/ App", + "-th rough", + "Ġdecl ining", + "Ġdess ert", + "Ġinc umb", + "Ġdesign ation", + ".P ORT", + ", strong", + "Ġsand box", + "Ġw ines", + "ĠP av", + "$ str", + "ask ell", + "Ġh ö", + "ĠP Y", + "Get Instance", + "Text Input", + "game Object", + "/ events", + "created At", + "Ġlocal Var", + "ĠWH ITE", + "per ed", + "ile ge", + "eff icient", + ", color", + "c ate", + "ĠC afe", + "Ġsimilar ities", + "Ġp umps", + "ĠHung ary", + ".User name", + "Ġsk ate", + "Ġtouchdown s", + "Ġacceler ate", + "ĠH elen", + "OM EM", + "ĠK un", + "_v ol", + "Ġfind All", + "ĠMens chen", + "a head", + "); \"", + "kom men", + "Ġpossess ed", + ".arg max", + ".trans ition", + "AR P", + "OLUM E", + "(s cript", + "ĠÐ ĺ", + "ĠF inding", + "on ces", + "I o", + "B old", + "Ġrenew al", + "_D IALOG", + "Ġdis reg", + "INT ERN", + "Ġt oute", + "Ġelect r", + "ĠG ross", + "ĉ true", + ".F ields", + "ĠW IDTH", + "ĠD ent", + "Ġà ģ", + "NS Notification", + "Ġa os", + "Ġme lee", + ". Validation", + "ĠDE C", + "-depend ent", + "Ġsu ic", + "T raits", + "$ message", + "ĠD ear", + "ĉ FILE", + "l anguages", + ".P rot", + ".add r", + "-g eneration", + "IC ON", + "Ġtrans plant", + "-d escription", + "Ġch asing", + "Ġche es", + "Ġ} */Ċ", + "Tr ad", + "qu eries", + "/widget s", + "sub package", + "Ġes pec", + "Ġcr acked", + "Ġcompet itor", + "P urchase", + "- team", + "olec ular", + "or Thunk", + "& P", + "Ġrel ent", + "/ #{", + "Ġproduct Id", + "Ġè ¾", + "ĠL av", + "ĠAl ter", + ".M ode", + "AD IO", + "gr p", + "æ ·»åĬł", + "Qu it", + "Ġdepth s", + "-c ategory", + "ĠD ATABASE", + "S PELL", + "ĠFal con", + "ĠQString List", + "Ġ'' .", + "ĠIn stitution", + "d amage", + "az or", + "bel ongsTo", + "ver ages", + "ĠN ONE", + "ipp ets", + ", \\Ċ", + "Ġfoot print", + "_ archive", + "n ak", + ".get Field", + "ĠRef lection", + "Ġ' ]", + "ĠH BO", + "_dis count", + "Ġin cest", + "ĠD odge", + "ĠW ade", + ".N O", + "\" encoding", + "ĠBlock chain", + "Ġlaws uits", + "ĠM aint", + "ch ten", + "Ġét ait", + "Ġktó re", + "_ ctl", + "(t imer", + "B attle", + "iz o", + "ay ed", + "I OR", + "ĠGlas gow", + "Ġsyn th", + "_log s", + ".p ose", + "_Adjust orThunk", + "(( &", + "Ġuns ure", + "yst ate", + "íķĺ ëĬĶ", + "O ULD", + ". ng", + "Ġdefault dict", + "work space", + "Ġselect ive", + "Picker Controller", + "YNAM IC", + ".method s", + "Ġpath ways", + "ĠF ew", + "K G", + "CRY PT", + "follow ing", + "ĠD LC", + "ĠS ara", + "Ġpres et", + "estruct or", + "ĠK urt", + "Ġair plane", + "Ġo mp", + "ĠParent s", + "ĠMart inez", + ".com plete", + "Ġbroad ly", + "Ġsc are", + "ĠM é", + "Ġelim ination", + "Ġpou red", + "/ sw", + "Ġcom un", + "Ġm asc", + "ĠOrgan ic", + "ĠString Utils", + "il ateral", + "Ġreluct ant", + "- age", + "Ġn z", + ".\" \\", + "Ġpast or", + "ale z", + "Ġe fect", + "pro v", + "/ init", + "Ġp enn", + "und s", + "Ġs size", + "ĠPro j", + "bas ename", + "Ġsh ells", + "ĠNe ck", + "ĠEn forcement", + "vid ed", + "st own", + "S phere", + "$ r", + "uss en", + "af il", + "ĠTele gram", + "Ġanaly tical", + "нÑĭ е", + "us ually", + "x n", + "Ġhistor ian", + "ĠGreg ory", + "ol ph", + "ĠUn a", + "Ġcon tributes", + "% -", + "anti ago", + "ÑĢ ÐµÐ´", + ".reg ion", + "Ġab rupt", + "ĠUnsupported OperationException", + "ĠT ASK", + "_f inish", + "Ġnot orious", + "ĠV s", + "ĠM Q", + "Ġsun set", + "Ġun acceptable", + "ar cer", + "Ġill umin", + "ĠOr b", + "Ġb h", + "E ste", + "_dis patch", + "Ġr ipped", + "Ġtou jours", + "ĠPar cel", + "_ ll", + ".user Name", + ".class es", + "S OURCE", + "( Number", + "ел Ñı", + "Ġhead phones", + "(s ide", + "const itution", + "ann ah", + "čĊ ĠĠĠĠĠĠĠĠčĊ", + "Ġcl iff", + "- ref", + "Ġmo strar", + "ĠPow ell", + "+ y", + "ĠB G", + "_f ragment", + ".P ort", + "Ġreal izing", + "param ref", + "Ġh ometown", + "@ Table", + "+\" --}}Ċ", + "F rench", + "Entity Manager", + "ĠPl ain", + "//////////////////////////////////////////////////////////////// ////", + " ³", + "( RE", + "c apt", + "Ġorgan isms", + "Ġj ets", + "ol ocation", + "ĠApp RoutingModule", + "Ġgl orious", + "æľ į", + "Ġdisc arded", + "ĉĉĉĉ ĠĠĠĠĠ", + "ĠArn old", + "l ug", + "Ġpar l", + "Ġhorm ones", + "Ġm ah", + "ĠSon ic", + "Ġorgan izers", + "_PL ATFORM", + ".in v", + "Ġch ord", + "vent ional", + "ĉ of", + "Ep isode", + ". Enum", + "unk t", + "ĠD h", + "ĠJ ared", + "ĠN ak", + "Ġint ends", + "End ian", + "Ġa ustralia", + "_c v", + "(res olve", + "Ġclin ics", + "lik ed", + "ASH INGTON", + "in ha", + "' *", + "ĠN P", + "_b eh", + "Ġh f", + "Ġw ür", + "c ategoria", + "$ form", + "Ġsub way", + "Ġis Active", + "pop ular", + "C our", + "Ġco oldown", + "Ġa insi", + "ĠGL uint", + "ere al", + "Ġarray Of", + "Ġh atch", + "======== ==", + "ress es", + "_P P", + ". ^", + "_dec ay", + "ĠB less", + "met rics", + "ĠCOPY ING", + "ĠDump ster", + "ĠJos é", + "ĠDesign s", + "<", + "Ġ\" }Ċ", + "time zone", + "Ġe er", + "max cdn", + "ĠE SC", + "ig aret", + "_conn ected", + "_re verse", + "Ġquestion able", + "ĠUS C", + "Ġtut ti", + "Ġdrop out", + "ĠActiv ities", + "ĠW inds", + "')) );Ċ", + "Ġcon gest", + "ÄŁ ı", + "Ġprolong ed", + "è¿ Ļ", + "ĠCross AxisAlignment", + "LE EP", + "ĠVAL ID", + "ĠG az", + "Ġdepend ence", + "ĠP rix", + ".Compiler Services", + "j ump", + "Ġstr at", + "c irc", + "ĠC USTOM", + "x aa", + "Ġb mp", + "Ġb ureau", + "Ġw aren", + "N X", + "( Window", + "ĠChrist ie", + "_F E", + "Ġt n", + "ĠOm ega", + "communic ations", + "Home Page", + "com pletion", + "Ġsupply ing", + "YP ES", + "á vel", + "åĪ ¶", + "(c lick", + "\\ Contracts", + "/ questions", + "Ġe z", + "AM S", + ".m esh", + "Ġ' \\Ċ", + "Rob ot", + "Json Object", + "ĠD F", + "ĠProcess or", + "_sh ould", + ".prot obuf", + "- users", + "Ġemb ry", + "F ONT", + "Ġstart ups", + "ĠData Source", + ") #", + "uro s", + "_C olor", + "Ġstand alone", + "} [", + "j d", + "Ġforg ive", + "Ġng x", + "ĠGener ally", + "Ġconfig urable", + "/ order", + "Ġv as", + "') \";Ċ", + "ĠR R", + "ĠT roy", + "Ġcomprom ised", + "ĠSw an", + "int endent", + "Cent ral", + "_ keeper", + "Ġar quivo", + "ĠRead Only", + "_cur ve", + "k v", + "ent in", + "è ±", + "ĠE y", + ".im read", + "ĠP am", + "if fe", + "at ivity", + "xb c", + "Ġgr im", + "-f illed", + "names e", + "'] :", + "Ġa ur", + "ĠGib son", + ".Mouse Event", + "Ġl ado", + "avad oc", + "Ġfam il", + "ĠM oder", + "f ps", + "ãĢĢ ãĢĢ", + "- example", + "ĠAl zheimer", + "ĠU tf", + "_arg uments", + "Con clusion", + "text Content", + "rem aining", + "Ġinterrupt s", + "ĠBack up", + "ĠM ong", + "Ġrecept ors", + "h istor", + ".cor outines", + "Ġsh outed", + "Al arm", + "Ġcomb ust", + "Ġg rote", + "ult ural", + "( ids", + "---------------------------------------------------------------- ----------------", + "ipl inary", + "O pts", + "ĠY ale", + "local Storage", + "Ġequ ival", + "ĠF leet", + "\\ b", + "* pi", + "ĠQ Label", + "æ ¡", + "Ġv x", + "ĠA CL", + "Ġsu cesso", + "Ġper c", + "ĠNot re", + "Ġan arch", + "R ing", + "sp b", + "Ġstr pos", + "st ores", + "ĠMap le", + "(Main Activity", + "(\" \"))", + "Ġview Holder", + "Qu ad", + "Ġig ual", + "ors che", + ".m argin", + "Ġind ie", + "Ġfr anc", + "ĠForm Builder", + "ĠPart icip", + ".fl ash", + "Ġstorm s", + "U lt", + "Ġf en", + "[ new", + "E ver", + "=\" Ċ", + "Ġlocal ized", + "_f ollow", + "Ġn ave", + "Ġdomin ance", + "(t ile", + "J ournal", + "ĠV C", + "Ġpenet ration", + "ï¼ ķ", + "Ġcomp artment", + "Ġb ids", + "Form atted", + "****** /ĊĊ", + "(c ity", + "âĢĶ it", + "[ C", + "Ġuse Callback", + "a ub", + ") ?.", + "ĠV AR", + "ĠSe bastian", + "ĠM oss", + "Ġabund ant", + "G reg", + "ÑĤ а", + "_c i", + "Ġbib li", + "CR M", + "ĠAt tempt", + "ism e", + "d ash", + "ãĢ İ", + "_m u", + ".Formatting Enabled", + "Ind eed", + "-d irect", + "Ġsuck ing", + "Ġp ne", + "ocab ulary", + "ĠPack ers", + ".N avigation", + "Ġp ied", + "cri bing", + "ĠSt uart", + ".To Double", + "ĠSecond ary", + "S aving", + "ĠD ut", + "ĠM add", + "M agic", + ", H", + ".document Element", + "ĠB ST", + "Ġdiff ers", + "Ġmore over", + "_ nd", + "SE ARCH", + "п ÑĢав", + "æ ´", + "to Match", + "Ġdecre asing", + "-m ember", + "amp us", + "( boost", + "D aily", + "Data GridView", + "ĠHttp Context", + "Ġh ipp", + "_work ers", + "-l anguage", + "é ĵ", + "Ġconsist ed", + "ath ing", + "ĠMer cury", + "$ content", + "Ġpract iced", + "ĠMod ules", + "_D AY", + "Ġweakness es", + "ĠL odge", + "Ġn ar", + "ĠM ate", + "Ġj p", + "ĠHttp Headers", + "Ġsm o", + "ĠT OKEN", + "] )(", + "Ġaqu i", + "sw agen", + "Ġs rv", + "ĉ ans", + "A round", + "ĠMan uel", + "Ġfiction al", + "ĠIM G", + "Ġ. '", + "ĠB erry", + "Ġwall paper", + "sex ual", + "ier o", + "Ġ çļĦ", + "ìĨ Į", + "Backing Field", + "ĠAd rian", + "BASE PATH", + "Ġrepe ats", + "Ġbl ues", + "Ġunp redict", + "_c oll", + "st acle", + "ĠT umblr", + "ĠEl f", + "Ġass urance", + "Ġc ensus", + "ĠIM PORT", + "END ER", + "an os", + "Ġ= (", + "ĠEll is", + "\" ĊĊĊĊ", + ".w in", + "ĠA bove", + "al on", + "_t ick", + "Ġrepresent ations", + "Ġæ ķ", + "w id", + "ĠAr ms", + "List a", + "_f ailure", + "_c m", + ".Flat Appearance", + "Ġthr one", + "P atch", + "ĠV oy", + "eng l", + "Ġnegot iating", + "> `", + "Ġshoot s", + "ĠF PS", + ".Y ear", + "ĠK iss", + "enc ión", + "reet ing", + "From File", + "Ġresign ation", + "Ø ·", + "Ġtw ins", + "ưỠ£", + "Ġge bru", + ".get Content", + ".T ree", + "ĠEmploy ees", + "ĠF IFA", + "Ġcert ainty", + "(C l", + "Ġtot als", + "edit able", + "ॠĢ", + ".Report ing", + "M as", + "qu iet", + ".r ules", + "ĠV O", + "con exion", + ", K", + "Ġalloc ator", + "ĠPow der", + "\\ Repository", + "Be at", + "_t ipo", + "Ġ[' ',", + "_IN TR", + "Ġ<< <", + "< hr", + "\") ==", + "ugg age", + "ĠC raw", + "Ġé galement", + "Ġg inger", + "Ġprim era", + "Ġprod uto", + "lt k", + ".User Name", + "Ġstr error", + "m ith", + "_n b", + "Ġdis comfort", + "']; ?> \");čĊ", + "drop IfExists", + "ĠB eg", + "_H AL", + "Ġcross AxisAlignment", + "ĠE vidence", + "Ġpec uliar", + "Ġinstit ute", + "ve is", + "Ġf ft", + "à ģ", + "Ġzo ekt", + "an aly", + "ĠHom eland", + "Ġpen etr", + "udden ly", + "ĉ element", + "ĠB ren", + "ĠTr udeau", + "ĠCub an", + "j am", + "us lim", + "_e v", + "Ġst ems", + "} %", + "Ŀ å§ĭ", + "Ġbrand ing", + "Ġcorrespond ence", + ".j query", + "¢ åįķ", + "ĠRead s", + "(Http StatusCode", + "ass in", + "(s lot", + "ĠGrad uate", + "/// <", + "Ġinform ations", + "EN ABLE", + "Ġp uis", + "Ġfind er", + "ĠBr is", + "Ġnett steder", + "_m id", + "Ġo gs", + "ĠSter ling", + "Ġar rog", + "str ftime", + "| ĊĊ", + "Ġvo x", + "ĠReg ardless", + "Ġes o", + "ĠCom fort", + ".Boolean Field", + "Ġu h", + "AC Y", + "Ġsque ez", + "ĠV ic", + "cont ro", + ". lo", + "Ġ ire", + "ĠCom edy", + "ë ¶", + "Ġorigin ated", + "Ġsh ipment", + "| max", + "_g uid", + "lev ation", + "на Ñı", + "( undefined", + "ĠD DR", + "Ġshoot ings", + "ĠLat ino", + "END OR", + "Ġaver aging", + "Ġgre eted", + "Ġthe aters", + "о е", + "Ġd B", + "Ġg st", + "Ġdef inite", + ". Storage", + ".h er", + "Ġa fore", + "ĠRe ality", + "ĠGod s", + "vers ed", + "Ġhands ome", + "Ġex cluding", + "( ad", + "Qu otes", + "ĠS cheme", + "? q", + "ĠT amil", + "T icks", + "Ġp est", + "' n", + "Ġporn ography", + "_mod al", + "Ġ ----------", + "Ġdis posable", + "F REE", + "Ġsh ark", + "C HE", + "Ġdep icted", + "Ġdemonstr ations", + "ĠK illed", + "ĠR ULE", + "Ġobs essed", + "Ġsimpl ified", + "Post al", + "Ġconcept ual", + "Ġp st", + "L as", + "_PRO JECT", + "ucceed ed", + "ol u", + "ÄŁ i", + "Ġpersonal ities", + "Ġres hape", + "Ġenc losed", + "ĉp tr", + "Ġtutor ials", + "Ġexpl oded", + "_DIRECT ORY", + "åĨħ 容", + "Ġcan on", + "Ġrecogn ise", + "P AD", + "ĠAppro x", + "ĠRest ore", + "ĠImport ant", + "Ġheav ier", + ".Se quential", + "Ear th", + "ĠMil k", + ".set Request", + ".t em", + "Ġre construct", + "Ġskept ical", + "_Pr ivate", + "BU F", + "qu a", + ": a", + "Ġse k", + "Ġd well", + "oss a", + "Ġreward ed", + "и й", + "(top ic", + "_part ition", + "Ġ__ ________________", + "Key words", + "ĠFr anco", + "L ite", + "Ġn aken", + "Ġз а", + "O BJECT", + "Ġcraft s", + "ĠSw ap", + ".X na", + ".Con nect", + "Ġbalcon y", + "(re al", + "ĠBarn es", + "b ir", + "ĠTw enty", + "ay an", + "at ars", + "ĠProp el", + "ĠIh nen", + "Up grade", + "Ġcur b", + "- second", + "Ġn eph", + ".p res", + "ìŀ ħ", + ".se q", + "Ġp added", + "\" ?", + "j l", + "ãĥ ¬", + "') a", + "Co ordinates", + "Ġen acted", + "ENT S", + "Ġl ac", + ".f inal", + "ĠPhp Storm", + "c alled", + "Ġin quiries", + ".m iddleware", + "ĠD owntown", + "/ ';Ċ", + "Ġkil omet", + "ac cel", + "Ġqu ien", + "w string", + "set Data", + "Ġman era", + "Ġmod ular", + "rim p", + "Ġtar iffs", + "âĢĻ il", + "_TH ROW", + "/c olor", + "ĠHT MLElement", + "Ġcar ro", + "Ġpr ere", + "Ġplot ting", + "ĠPos itive", + "ĠMach ines", + "OT ES", + "á» Ľ", + "ple asant", + "Ġal te", + "Ġa inda", + "th ese", + "Ġc ors", + "ip ay", + "ĠAdvis ory", + "ĠRub io", + "j q", + "Ġl imestone", + "Ġdet ached", + "设 ç½®", + "ten ant", + "ĠDep th", + "al ore", + "ĠÑģÑĤÑĢ Ð¾Ðº", + "ĠF ORE", + "ĠL ay", + "p resentation", + ") ');Ċ", + ".sub plots", + "Ï ĥ", + "N OW", + "G ar", + "hand les", + "ab ra", + "put ies", + "ĠElect rical", + "M iddle", + "rop ic", + "ĠJ D", + "ĠD yn", + "ĠB ristol", + "ĠMc Carthy", + "Ġstri ker", + "Ġenumer able", + "ĠEv an", + ".default s", + "qu ences", + ") ||", + "ĉt oken", + "â Ĺı", + "-d ropdown", + "ST ORE", + "ĠGraph ic", + "( pp", + "Ex pl", + "Ġup wards", + "ĠD istributed", + "ĠW EB", + "J er", + "is NaN", + "çĶŁ æĪIJ", + "> R", + "üss en", + "ef s", + "Ġun cover", + "Ġl ud", + ".cal culate", + "Ġint ptr", + "Ġmidfield er", + ". Headers", + "Ġm f", + "ere f", + ".M etro", + "ĠSpe aking", + ": b", + "Ġcryptoc urrencies", + "Ġdem ons", + "ĉ EXPECT", + "Ġw icked", + "y outube", + ": Int", + "ĠHind i", + "ĠC AT", + "ĠØ ¹", + "r ar", + "om ore", + "/ per", + "/lic ense", + "Ġre im", + "Ġawait ing", + "Ġle thal", + "ĠE F", + "round ed", + "ĠPl atinum", + "ĠвÑģ е", + ".co ords", + ".De vice", + "/ item", + "ĠW enn", + "compile Components", + "ĠK inder", + ".remove Item", + "Ġand a", + "bn b", + "Ġpr a", + "( transaction", + "Ġembarrass ing", + "ĉ BOOL", + ".content View", + "Ġevent data", + "at ore", + "Ġprovided In", + "ir ma", + "Ġz ona", + "_H W", + "æ Ļ", + "Ġst ove", + "Ġcounter part", + "_Pro duct", + "_MAN AGER", + "Ġinfr ing", + "ĠE RA", + "_p arty", + "Ñ ij", + "Ġin ici", + "_ Request", + "Ġmir acle", + "Ġcancel Button", + "S py", + "at ó", + "Ġpol ish", + "ĠNic ole", + ".display Name", + "\\Request s", + "Ġuse History", + "Router Module", + "Ġst ared", + "ID ER", + "Ñĥнк ÑĨи", + "Ġnot a", + "$ arr", + "pec ified", + "Ġto pp", + "_DR IVER", + "/ ng", + "å ł", + "_t m", + "% timeout", + "< s", + "Ġ( *)", + "ĠHttp Request", + "_TR ACK", + "(n ote", + "ĠExp lore", + "_s erv", + "Ġç »", + "B inder", + "+ \",", + ". att", + "ĠEth i", + "Ġc ódigo", + "=' \\", + ".l ines", + "( Of", + "å° Ĩ", + "miss ible", + "Ġv é", + "Ġac oustic", + "Ġcraft ing", + "n it", + ".b a", + "ĠLuc y", + "Ġi Pod", + "Ġpup ils", + "-m ax", + "_w r", + "(c p", + "ĠRE PORT", + "Ġd ns", + "ĠRe ferences", + "Ġundert aken", + "Ġkø benhavn", + "Ġch ai", + "ĠC roat", + "_ Log", + "rown ed", + "_m ed", + "ĉ date", + "# __", + "Ġcost umes", + "ĠRe quires", + "aff le", + "ç Ĭ¶æĢģ", + "-S emit", + "ela ide", + "еÑĤ од", + "Ġp estic", + "Ġd ra", + "DOC UMENT", + "Ġ... čĊ", + "}` }Ċ", + "ĠA uction", + "ĠD ock", + "xxxx xxxx", + "(get String", + "ħ į", + "Ġborder Width", + "ĠMach inery", + "Ġpredict able", + ".S H", + "Ġam plitude", + ".for Root", + "IN avigation", + "Table Model", + "at trib", + "Ġmaneu ver", + "Ġexc av", + "B ERS", + "Ġd apat", + "Ġinstall ations", + ".A sync", + "Ġr ays", + "= âĢĿ", + "; ččĊ", + ".c rypto", + "_db g", + "ĠEnum erable", + "Of Size", + "_epoch s", + "m w", + "M ENU", + "out line", + "ĠP apers", + "============ Ċ", + "Ġuniform s", + "ĠG ig", + "- package", + "ĠJen kins", + "ĠHome Page", + ".is Selected", + "Ġmechan ic", + "M K", + "ĠS ounds", + "//---------------------------------------------------------------------------- -Ċ", + "Ġresearch ing", + "Ġinf os", + "ograph ics", + "ers et", + "([' /", + "ĠTim ber", + ". agent", + ".to JSON", + "_command s", + "par ing", + "_ad just", + ".n ome", + "(g lm", + "Status Bar", + "file path", + "? âĢĻ", + "Ġdetect ive", + "Ġunser er", + "ĠTib et", + "EN DED", + "(se ed", + "Ġsne ak", + "Ġam or", + "=\" //", + "ĠPan thers", + "all ax", + "ĠL IVE", + "ĉD WORD", + "]= -", + "Ġtorn ado", + "/ min", + "Ġlung s", + "-c urrent", + "ĠBook ing", + "åĪĹ è¡¨", + "Ġenjoy ment", + "ठ°", + "J A", + "typ ed", + ".B tn", + "f at", + "ug al", + "ĠSh ares", + "Ġdis gr", + "ĠB AR", + "ĠFO X", + "Op code", + "ĠS z", + "key down", + "iction aries", + "Ġdetail ing", + "} ))Ċ", + "Ġp ok", + "Ġdemonstr ating", + "Ġnot ation", + "l ayers", + "@ if", + "ĠN PR", + ".strict Equal", + "ĠRec ipes", + ".T ensor", + "Ġliqu or", + "Ġdeb ts", + ".ends With", + "W heel", + ".P os", + "CS V", + "$ arity", + "Ġun stable", + "( loss", + "ENS OR", + "Ġele ven", + "ĠL opez", + "ĠHop kins", + "con om", + "ĠS eth", + "Ġpo ems", + "Qu ant", + "Ġg sl", + "Ġsy rup", + "Ġs ibling", + "Ġc ass", + "-v ous", + "ö t", + "_P ATTERN", + "_SE CTION", + "est imated", + "up grade", + ".m ongodb", + "ĠBo at", + "_C TX", + "Ġfetch ing", + "ust in", + "pi el", + "M arg", + "Ref lection", + "Ġd uct", + "ĠMunicip al", + "Ġb x", + ".Get Current", + "ml ink", + "ĠAccount ing", + "ĠGene va", + "_P os", + "Ġpass er", + "Ġhear ings", + "com pan", + "Ġfrag ile", + "Initial izer", + "walk er", + ".M aterial", + "ĠHun ting", + "trys ide", + "Ġk at", + "Ġcl erk", + "á Ł", + "do ing", + "ĉg roup", + "Ġsan ction", + ".l b", + "ĠL azy", + "ĠCon straint", + "P agination", + "Ġpou vez", + "ĠInd icates", + "M ER", + "Ġcour s", + "Ġyear ly", + "Ġgros se", + "abb rev", + "ĠD ON", + "Ġproceed ed", + "ent lich", + "Ġproperty Name", + "ĠTe aching", + "st adt", + "Ġc utoff", + "orn ers", + "Ġa frica", + "Ġrend ers", + "ĠYan kees", + "ĠTool bar", + "sp aces", + ".fill Style", + "Ġseg undo", + "_str len", + ".F irebase", + "å¤ Ħ", + "Ġmention ing", + "\\ (", + "ĠVal ve", + "Set ter", + "Ġsp ans", + "ĠAl cohol", + "ĠLet ters", + "\\x e", + "ĠT K", + "_B LE", + ".get Result", + "< Player", + "ĠP att", + "Ġeas ing", + "Ġtur key", + "ĠF en", + "') \"", + "Ġconf ined", + "Ġin clus", + "Sup erview", + "(with Identifier", + "enc ial", + "Ġstuff ed", + "Th eta", + "Ġeconom ists", + "} ));ĊĊ", + "co okies", + "ĠRo ose", + "ĠChe ese", + "Ġfich ier", + "Ġen forced", + "AB B", + "no ÅĽci", + "_AL LOW", + "Ġrecru ited", + "Ġexpend iture", + "-n ight", + "Ġassert NotNull", + "_ex ecute", + "ĠØ ¯", + "IN DEX", + "_F MT", + "Ġresc ued", + "ĠMonth ly", + "ĠCons ervation", + "ĠG eb", + "Ob ama", + "Ep och", + "ic ies", + "ĠOr t", + "Ġso it", + "( icon", + "F riends", + "m ol", + "Ġground ed", + "ĠC ause", + "ad ena", + "WE EN", + "ĠL un", + "IT IVE", + ". loop", + "_un til", + "Ġcor r", + ".ed ges", + "Ġhyp oth", + "ched uling", + "trans lator", + "ĠÐ ľ", + "R om", + "ãĢij ĊĊ", + "ĠX amarin", + "Ġviol ating", + ". anchor", + "--- ĊĊ", + "Ġtr ader", + "AD VERTISEMENT", + "Ġuns ere", + "ĠD AO", + "Ġbl ond", + "ĠP AT", + ".g lob", + "Ġè¾ ĵ", + "Ġsplit ting", + "Ġun subscribe", + "Ġatmos pheric", + "ĠTr im", + "Ġcit ation", + "Ġin ference", + "ĠF t", + "ĠDar win", + "find One", + "ĠG el", + "( Convert", + "Ġaccess or", + "; text", + "(s orted", + "Ġjud ged", + "); \\", + ": p", + "Ġme ine", + "ĠS lim", + ".Command s", + "Ġper ceive", + "coh olic", + "< Data", + ".entry Set", + "Ġassert False", + "ĠPat rol", + "ense m", + "ÅĤ Äħ", + "¨ ¡", + "W IDTH", + "ĠRes cue", + "ĠU IF", + "_THRESH OLD", + "ĠMich el", + "ATER IAL", + "opens ource", + "ĠD iana", + "Ġinv ites", + "_B ODY", + "Ġreserv oir", + "Ġro i", + "c ust", + "(t c", + "ï¼ģ \");Ċ", + "Ġfest ivals", + "Ġperform ers", + "Ġclim bed", + "Ġj ungle", + "String Length", + "Ġunlaw ful", + "ier re", + "vertis ement", + "Ġst akes", + "Ġh ats", + "Mod ify", + "ĠLET TER", + ".H ide", + "Ġstat utory", + "_ white", + "ĠPer l", + "uten berg", + "em ple", + ".W orld", + "Ġoverlook ed", + "Ġcon cludes", + "/* ================================================================", + "-w ise", + "ĉ stream", + "pop ulation", + "Ġevent o", + "Ġillustr ations", + "ft s", + "Ġaut of", + "ĠPro cedure", + "Ġdes erved", + "-t imes", + "Ġg ol", + "N SError", + "cre st", + "ĠPak istani", + "any ch", + "get Current", + "Ġl ar", + "nt l", + "ĠRe becca", + "Ġm ateria", + "Ġfind By", + "/ ad", + "Callback s", + "ĠAl s", + "ĠKat ie", + "ĠObservable Collection", + "ĠDocument ation", + "Typ ed", + "ĠCulture Info", + "ĠTim othy", + "Ġlater al", + "\" type", + "Ġun authorized", + "Ġteach ings", + "Ġdebug ger", + "[ value", + "Ġal ors", + "Ġu z", + "Ġsc atter", + "Ġdown ward", + "Ġmig li", + "status Code", + "Ġ( ))", + "ĠM W", + "Ġм ож", + "RO SS", + ".b uf", + "Ġfair y", + "ĠInf rastructure", + "=> \"", + "t lement", + "$ (\"", + "From String", + "ĠB ild", + "Ġconvent ions", + "_n ative", + "ĠIns pector", + "ĠP ist", + "ub ar", + "Ġreg s", + "ĠP ilot", + "Th us", + ">' +", + "Ġc ela", + ".new s", + "( Product", + "L iving", + "R ussia", + "Ġfac et", + "et ical", + "Ġ[' $", + "/ [", + "ĠD ire", + "Ġg ases", + "ĠIN FORMATION", + "ĠE at", + "ĠFor ums", + "ĠChar acters", + "_m et", + "Ġìĭ ľ", + "Ġk ings", + "ach ie", + "ĠL ambda", + "Ġtim ers", + "ĠLight ing", + "ĠCase y", + "add ir", + "and ex", + ". answer", + "ĠH ip", + "ĠPr incip", + "Start Date", + "Ġ ãĢĮ", + "t res", + "Ġ& #", + ".Max Value", + "ĠPro blems", + "Ġlat ex", + "Of Class", + "ĠLyn n", + "// '", + "Ġvoy age", + "Ġshut tle", + "ĠRoll er", + "ĠRuntime Error", + "uy a", + "D ic", + "ĉb uilder", + "Ġbul lying", + "Ġsimple st", + ".c alled", + "ĠL R", + "Ġmor ality", + "Ġst urdy", + "tr acking", + ".sw agger", + "_B IND", + "IT OR", + "-url encoded", + "ĠÑ ħ", + "ĠTr inity", + "Ġtr aps", + "Ġ| -", + "Ġset Text", + "Ġbarg ain", + "Ġbr akes", + ".get Code", + "Ġmigr ate", + "Ġrib bon", + ") return", + "Ġcharg er", + "ac om", + "ADI US", + "ĠAmb assador", + "-a fter", + "Ġann i", + "ĉs pin", + "Con cept", + "ĠHend erson", + "ĠH OST", + ".r ank", + "ĠNor theast", + "Ġber lin", + "Ġrequ is", + ".f eed", + "Ġsource Mapping", + "ĠRen contre", + ". ajax", + "nest js", + "Ġtre k", + "ĠN acional", + "Ġ& [", + "Ġpay able", + "ort ex", + "Ġde pt", + "field Name", + "Ġcomple tes", + "ĠR VA", + "Ġon ions", + "al ignment", + "Form ats", + "Ġ' {$", + "Hash Set", + "ĠB od", + ".Invariant Culture", + "Ġsettlement s", + "Ġhy dr", + ". updated", + "vent h", + "( seconds", + "=\"/ \"", + "Ġweb page", + "( ĊĊ", + "Ġt ir", + "Ġto es", + "ĠBr ick", + "Ġamb ition", + "P ot", + "= max", + "ET IME", + "Ġdep ot", + "c alls", + "ĠNor wegian", + "` :", + "Ġbur ger", + "Ġprofess ors", + "ĠAl locate", + "-third s", + "-ch art", + "Ġfor d", + "* N", + ".k otlin", + "Ġpaper work", + "ĠDE VICE", + "% @\",", + "res pect", + "(m p", + "é «ĺ", + "- if", + "Ġcush ion", + "ob ot", + "Ġpar c", + "SP ACE", + "ĠNet anyahu", + "Ġself ish", + "fe at", + "Ġclient es", + "-to ols", + "Ġpor ch", + "Ġj q", + ". verbose", + "Ġlib erals", + "] )ĊĊĊ", + "p ies", + "Not Blank", + "( term", + "ÈĽ i", + "_Param s", + ".normal ize", + "B ullet", + "AS IC", + "(h ex", + "_client e", + "+ ,", + "_D I", + "Ġforth coming", + "} \")]Ċ", + "se o", + "U m", + "> Name", + "Ġcomfort ably", + "irection al", + "W ITH", + "/ pr", + "ĠP oor", + "ĠVit amin", + "v ic", + "G H", + "Ġprior it", + "ĠN N", + "ĠC losed", + "¤ í", + "Ġis Open", + "\\ Console", + "And Feel", + ".S UCCESS", + "_OPER ATION", + "pol ation", + "ĠT as", + "ps z", + "> '.", + "C URRENT", + "V endor", + "host s", + "ĠE rd", + ">tag ger", + "ĠsourceMapping URL", + "Ġmar athon", + "_c losed", + "Ġexem ption", + "Ġrecogn izes", + "ides how", + "' $", + "('/ ');Ċ", + "m its", + "war z", + "ĠCh erry", + "µ ¬", + "n or", + "port e", + "Ġw l", + "_back up", + ".get Boolean", + ".get Resource", + "Ġdefinit ive", + ". EditText", + "Ġs ÃŃ", + ".C ONT", + "ĠPL AYER", + ".c ards", + "ĠSh ore", + "('/ ')Ċ", + "cl uir", + "Web Driver", + "(m onth", + "-re lease", + "Ġins pector", + "å £", + "ĠN F", + "_cl ip", + "åŃ IJ", + "Ġinteract ing", + ".t mp", + "Ġ'' 'ĊĊ", + "Ġde e", + "Ġfro st", + "\"] ))Ċ", + "ĠPl aces", + "Th rows", + "f ork", + "/ day", + "i Phone", + "ĠM IC", + "Ġfold ing", + "Ġcro re", + "ĠCh iefs", + "pher ical", + "( price", + ".Write String", + "Ġexit ing", + "] ',Ċ", + "ight ing", + "Ing redient", + "( vertex", + "Ġscroll View", + "h f", + ": new", + "SE N", + "se ctor", + "Ġsp ins", + "ĠS cheduler", + "ote chn", + "sem icolon", + "Font OfSize", + "ĠSpecific ally", + "fl amm", + ".Object Id", + "Ġcont a", + "_per missions", + "ĉF ROM", + "IC ODE", + "/ kg", + "ĠHot els", + "-m ed", + "ĠD in", + "Ġn avy", + "get Param", + "Ġm end", + "Ġportray ed", + "ĠMet ropolitan", + "Paint er", + "Ġref erral", + "_g ood", + "Ġmar vel", + "osa ic", + "> (&", + ". ur", + "Ġest os", + "Will iam", + "Ġtim ber", + "Ġquel ques", + "ĠDoc uments", + ".X aml", + "Ġbatch es", + "éģ ĵ", + "ĠRe leased", + "T ail", + "CO OKIE", + "he id", + "_st ation", + "ĠV ia", + "S ale", + "ĠRe peat", + "Ġprom in", + "ĠZ o", + "- forward", + "ĠI on", + "it ary", + "Ġj us", + "- request", + "Ġproud ly", + "ĠStream ing", + "(Mouse Event", + "ĠS print", + "_ rotation", + "Re positories", + "Ġt art", + "ĠÑģ в", + "Ġm appings", + "è ª", + "C u", + "C ycle", + "Ġb un", + "ĉl ua", + "ãĥ ī", + "Ġ(( !", + "Ġcollect ively", + "ĠCon d", + "Ġwsz yst", + "(l ib", + "openh agen", + "_s kip", + ".Column Header", + "é Ĥ", + "peri enced", + "ı è¿°", + "_p rops", + "Ġcontr ace", + "Ġmatch up", + "ab etic", + ".m embers", + "RE CT", + "(d at", + "Ġs og", + "ren om", + "_M ethod", + "Custom ers", + "full name", + "Z N", + "re try", + "Ġk ap", + "ĠNe u", + "è Ĭ", + "add Child", + "will Return", + "_p ermalink", + "Ġener getic", + "ĠW et", + "ĠMor r", + "Ġg cd", + "count s", + ", type", + "d ig", + "( Login", + "Ġcr acks", + "Ġbacter ial", + "ĠMe at", + "ĠArm strong", + "ĠBron ze", + "Ġapprox imate", + "_dir s", + "lig a", + "ÅĤ ad", + "Ġkind ness", + "Ġcont re", + "ĠE VERY", + "M ET", + "Ġannounc ements", + "g pio", + "ĠWaitFor Seconds", + "ĠPhotos hop", + "Ġdis contin", + "/ dd", + "Ġtop ology", + "an ical", + ". interface", + "auc oup", + ".Hash Set", + "ARI ANT", + "(r outes", + "ĠT eh", + "Ġh ype", + "] \").", + "Ġsl am", + "Ġbro th", + "- inter", + "ĠR id", + "-m anager", + "Cancel ar", + "ĠP agination", + "Ġsound track", + "Ġpost erior", + "Ġscr ub", + "cre ating", + "- *", + "ir teen", + ".d y", + ".s ymmetric", + "Ġ\"\" .", + "============ ===", + "Ġch assis", + "ĠnumberOf Rows", + "Develop er", + "_b ins", + "ĠO UR", + "ri eb", + "Pro s", + "Ġwi ÄĻ", + "\" d", + "Ġasync io", + "ze igen", + "_s pi", + ".A LL", + "Ġscre ws", + "Ch inese", + "Ġapi Key", + "Ġun successful", + "ĠSeah awks", + "OR G", + "ç« ł", + "Ġprofession ally", + "ĠCou pon", + "åŃĹ æ®µ", + "Con vention", + "Ġpol ym", + "æī ĭ", + "Ġsalv ation", + "Ġengine ered", + "ĠW rest", + "ĠG CC", + "Ġwar mer", + "Layout Constraint", + "Ġag grav", + "Script s", + "vent ure", + "Ġrefriger ator", + "Ġinnov ations", + "ĠRun ner", + "N IC", + "ĠRoll ing", + "Control Events", + "Ġlo os", + "p ac", + "ĉ panel", + "ef e", + "ĠBudd ha", + "------------ --Ċ", + "åº ĵ", + "(for Key", + "Ġl umin", + "Ġ( ?", + "ĠA IDS", + ", user", + "im ientos", + "content Type", + "ant lr", + "é ¦", + "ĠW elt", + "Produ ction", + "m ight", + "ĠV II", + "\", (", + "Ġobserv ing", + "Ġdeliber ate", + "( control", + "Ġwith d", + "Ġsem ana", + "ST ACK", + "uch en", + "N ice", + "ĠDeutsch land", + "ĠSpec ifies", + "d ma", + "iz io", + "ĠF acts", + "_pop up", + "ĠDirect ors", + "{ :", + "[ R", + "ĠÑį леменÑĤ", + "Ġpl at", + "Ġdirect ing", + "ä¸ ī", + "ĠGil bert", + "â̦ .ĊĊ", + ".q ml", + "Ġthere after", + "Ġdis position", + "d raft", + "Ġsurge on", + "ĠIns ider", + "Bl end", + "ĠT rev", + "tr insic", + "Top ics", + "rie ve", + "_FILE NAME", + "Ġaut res", + "J ose", + "Produ cer", + "er us", + "Ġpet it", + "ĠN EXT", + "ĠF ilters", + "Ġreplic ate", + "\"] ).", + "Ġl enders", + "] \",Ċ", + "; charset", + "Cpp Object", + "Ġfl oral", + "ĠT ipo", + "Ġcirc uits", + "e asy", + "(& $", + "itt a", + "ery l", + "_COMM ON", + "'}} >Ċ", + "-back ed", + "(var iable", + "( Index", + "Ġvo ir", + "_loc ations", + "++) {", + "ĠLouis ville", + "Ġgrat itude", + ".Mock ito", + "ĠP owers", + "ie urs", + "Ġge ographic", + "ra le", + "Ġc ra", + "ĠSp urs", + "iph ertext", + "AC ION", + "- common", + "Ġvict ories", + "ĠFinal s", + ".sh uffle", + "-m illion", + "_PRO C", + "ass ume", + "Ġil s", + "DB C", + "Boot Test", + "Ġl avor", + ".test ing", + ". ast", + "\"] /", + "m oid", + "Ġqual ification", + "ges ch", + "ĉ put", + "Ġair ports", + "J I", + "Te acher", + "_un iform", + "Ġn ama", + "ĠB ast", + "ert ype", + "c apture", + "get All", + "ĠReyn olds", + "oo led", + ".com ments", + "Ġch in", + "). *", + "Ġи ли", + "t gl", + "ud os", + "Ġd ÃŃas", + "ch ai", + ".pro gram", + "Ġps z", + "ĉ icon", + "ph il", + "ent ral", + "_WR AP", + "ov i", + "Ġnost alg", + "In finity", + "ĉy ield", + "Ġvit amins", + "Qu aternion", + "S ink", + "_g oods", + "Ġ ........", + "ĠW ings", + "ur idad", + "-st ory", + "\"] )ĊĊ", + "idel ity", + "Type Def", + "G tk", + "Ġí Į", + "_M ain", + "Ġche z", + "ĠR aven", + "Ġpay roll", + "Ġfreel ance", + "LL U", + "ĠM end", + "ed ay", + "Api ModelProperty", + ".Form BorderStyle", + "Ġeconom ist", + "stan bul", + "Ġfre ight", + "-A gent", + "(m eta", + "Ġsym metry", + "Ġ' ..", + ".C alendar", + "- aut", + "g f", + "p ent", + "yc lopedia", + "Ġwish ing", + "ĊĊĊĊĊĊĊĊ ĊĊĊĊ", + "Ġgentle man", + "Ġê ³", + "= #", + "Ġlect ures", + "âĢľ In", + "Ġ! _", + "Ġh b", + "ĠV endor", + "Recent ly", + "_n otes", + "æıIJ 示", + "\" My", + "Headers Height", + "_S O", + "Ġunw illing", + "Ġsuper hero", + "g io", + "ps y", + "ĠPe er", + "j avax", + "& apos", + "ĠCr isis", + "ord inal", + "Mem cpy", + "++++++++ ++++++++", + "- val", + "Ġwork book", + "- ap", + "= k", + "Ġmetal lic", + "_ peer", + "By PrimaryKey", + "_S D", + "u ator", + "_SH ADER", + ") Math", + ".Trans form", + "Ġc ows", + "Ph i", + "ĠC lem", + "(_ (\"", + "ĠL ud", + "-d elay", + "ĠSec urities", + "ĠOrth odox", + "Sym fony", + "(re port", + "Ġent ertain", + "E PS", + "iz oph", + "ex ual", + "IR D", + "ä» İ", + "Ġl ith", + "Ġsanit ize", + "Ġfemin ine", + "IS BN", + ".auth entication", + "_p ipeline", + "/ constants", + "ĠCON F", + "Ġluc r", + "ric ia", + ".t tf", + ".set Content", + "Ġst an", + "ore an", + "ĠL loyd", + ".raw Value", + "Ġg or", + "ĠBrow ns", + "Re gression", + "Ġlower ing", + "na issance", + "Ġbl ows", + "Ġam azed", + "Ġun related", + "Re views", + "Ġrub y", + "ĠMod ifier", + "Ġgi ants", + ". thread", + "Ġcontain ment", + "ĠStart Coroutine", + "um at", + "ore lease", + "ĠR andy", + "@ endif", + "D igest", + "Ġsubur ban", + "=\" );Ċ", + "Ġann once", + ". variable", + "\\F oundation", + "Ġa cre", + "V an", + "Ġt uples", + "d ns", + "ĠStand ing", + "_l arge", + "Ġbox ing", + "Support ActionBar", + "ĠFort une", + "ĠR um", + "_m ultiple", + "arch ical", + "Ġf write", + "_ quote", + "Ġfool ish", + "Ġcompr ising", + "Ġо п", + "- selected", + "v f", + "ma id", + "N ama", + "(d atetime", + "Ġindirect ly", + "g art", + "fix tures", + "ch os", + "ĠH alo", + "Ġrec urring", + "- news", + "v il", + "ĠNurs ing", + "- produ", + "ĠH Q", + "\\Http Foundation", + "enc i", + "au en", + "Ġv y", + "ocr acy", + "Ġdeleg ation", + "Ġas phalt", + "Ġset Selected", + "k ok", + "/ rest", + "met ics", + "ĠNS Date", + "Ġtravel led", + "Ġrec ib", + "Ġm ime", + "CL IENT", + "ĠG U", + "ĠH ANDLE", + "/ Q", + "[ z", + "Ġbother ed", + "ĠBB Q", + "ç as", + "_ex amples", + "_F IN", + "Ġwhite Color", + "Ġastr onom", + "-d ir", + "Ġsovere ign", + "Ġb reeze", + "Ġin ning", + "ĠEd monton", + "g li", + ".blog spot", + "js x", + "Ġvers a", + "ĠMoh ammed", + ".J ob", + "-t oggler", + "Ġп олÑĮзоваÑĤ", + "ard on", + "Ġnew born", + "Ġnav al", + "note q", + "Ġtum blr", + "Ġh entai", + "ĠTyp ically", + "Ġlo ot", + ".S prite", + "Fl ight", + "Ġw avelength", + "-s k", + "ĠEl le", + "_ exports", + "Ġ Ñı", + "ĠI H", + "izoph ren", + "Ġí ģ", + "_pr imary", + "Ġmo is", + "ĠB N", + "Ġsystem ic", + "Ġdifer entes", + "IN CT", + "Ġ'' ĊĊ", + "$ q", + "Widget Item", + "cl ide", + "$ file", + "L emma", + "/ table", + "ag rid", + "ĠMongo DB", + "int e", + "Ġapp rent", + "ÂŃ ing", + ".D b", + "Ġà Ĥ", + "ham mer", + "=' ';Ċ", + "Ġbro kers", + "it lement", + "sembl ies", + "E le", + "{ x", + "Ġlast name", + "< -", + "Ġfl atten", + "_b and", + ".R oot", + ".read FileSync", + "==== ==", + ".r x", + "? čĊ", + "Ġmetaph or", + "T i", + "con te", + "Ġdeb it", + "Ġcont empt", + "Cpp Type", + "æĶ ¯", + "Form Field", + "r atio", + "os opher", + "Ġimpl ant", + "P URE", + "Ġal ta", + "_man agement", + "Ġref ine", + "ĠCheck Box", + "ĠChar l", + "- version", + "cond itional", + "ven ues", + "Ġrif les", + "Ġoff spring", + "Ġmill ing", + "Ġshar ply", + "Ġunder water", + "( origin", + "_ Control", + "Ġ. $", + "Pl ugins", + "Ġdry ing", + "Ġillustr ates", + "- u", + "Ġveget arian", + "n pc", + "He art", + "; ',Ċ", + "com ma", + "te enth", + "as an", + "/s pec", + "_m oves", + "-m argin", + "Ġing en", + "³³ Âł", + "Ġpro jet", + "Ġo tra", + "Ġbr as", + ". utc", + "Ġsle pt", + "= sub", + "ab ilit", + "post er", + "Ġs dk", + "ounc ill", + "Ġw d", + "Pre paredStatement", + "ĠDr um", + "( attribute", + "ĠEther net", + "ĉ DB", + "Cal ifornia", + "c ube", + "[ I", + ".C reated", + "ĠH M", + "Ġtr acing", + "Forms Module", + "- you", + ".c urrency", + "feed ing", + "Ġt body", + "L i", + "acc ion", + "n as", + "Ġtr ouver", + "N ONE", + "\"} ,čĊ", + "Ġf tp", + "With Identifier", + "pol ate", + "File Info", + "Ġpurs ued", + "ĠĠĠĠčĊ ĠĠĠĠčĊ", + "DE SCRIPTION", + "} */Ċ", + "From Nib", + "Ġdecor ative", + "_S SL", + "(ch at", + "T LS", + "Ġsurpr ises", + "al culate", + "ĠS plash", + "( Configuration", + "ĠS EM", + "im son", + "/lib rary", + "< Double", + ". robot", + "³³³³ ³³³³", + "ĠCP F", + "ĠUnder standing", + "Ġcos metic", + "ĠX t", + "t ips", + "+ k", + "(\" '", + "ĠP DT", + "W AR", + ".get Object", + "ĠTrad itional", + ".sl ug", + "ĠDi pl", + "=\" \",", + "ĠFil ms", + "ĠAn im", + ".h elp", + "Ġemb assy", + "ĠBoot s", + "Ġb unk", + "-r isk", + "Ġp ci", + "Ġ/ \\.", + "ĠI PT", + "Ġcrash ing", + "Ġip v", + "_ ke", + "ĠRES P", + ".Log Error", + "Ġinade quate", + "I on", + "ĠF ür", + "ric ula", + "Ġshould Be", + "al ready", + "'].\" ", + "G ED", + "fa q", + "Ġoption ally", + "_D is", + "ĠSuccess ful", + "ĠC ensus", + "Ġinc arcer", + "_C ARD", + "Ġav iation", + "ĠG ym", + "Author ity", + ".B ean", + "sh ader", + "Not Exist", + "_Text Changed", + "ĠST OP", + "( team", + "\" H", + "w g", + "Ġgr inder", + "Ġstri pe", + "Ġpres ervation", + "Cl aim", + "avers al", + "ware house", + "target s", + "Tr ust", + "Ġal lev", + ", www", + "ous se", + "_ch an", + "_S ize", + "system s", + "Ġobj ection", + "ĠK ane", + "Ġcor ros", + "ĠD SL", + "Ġu a", + "ĠM H", + "ĠStrateg ic", + "_t cp", + "Ġê° Ĵ", + "Ġborrow ed", + "ĠA ch", + "ĉ command", + "Ġg ps", + "le ston", + "iche ver", + "ĠU A", + "Ġassault ed", + "Ġspecial izes", + "ĉ search", + "Hot el", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ čĊ", + "ĠP itch", + "Ġ Ùģ", + "READ Y", + "Ġparent al", + "Ġg éné", + "Ġdonn ées", + "Ġdet ain", + "T ARGET", + "Ġprotagon ist", + "Ġclear Interval", + "ĠIcon Button", + "ĠGet All", + "Type Info", + "E H", + "âĢľ They", + "Ġ{ [", + "Ġg ag", + "Ġ Ú©", + "ĠD ropdown", + ".f ree", + "g one", + "im ens", + "Ġinst al", + "ĉc url", + "_C AN", + "ĠB one", + "ï¼ Ķ", + "ony ms", + "-g overnment", + ".binding Navigator", + "ĠD ans", + "ĠMc L", + "( en", + ">( _", + "ÐĴ Ñĭ", + ".* ;čĊ", + "= j", + "-c or", + "S on", + ".ToolStrip Item", + "- around", + "_X ML", + "end Date", + "Ġsl ack", + "Ġrot ated", + "Ġno qa", + "Ġc ottage", + "Ġencontr ar", + "_s kill", + "hou ette", + "! čĊ", + ". weather", + "Ġemphas ized", + "å® ¶", + "ĠÑģ пиÑģ", + "ĠComp iler", + "( android", + "ĠâĢ º", + ". turn", + "Ġsup pression", + "_c alls", + "Ġ* @", + "(str len", + ".h ex", + "ĠB ills", + "ĠR SA", + "Ï Ĥ", + "ĠEs cape", + "ement ia", + "Ġfront end", + "Ġp int", + "_ex c", + "zz o", + "[ ],Ċ", + "Ġ\"',' \"", + ". Environment", + "Ġafore mentioned", + "Ġend ure", + "prot otype", + "ther apy", + "ss i", + "D eg", + "_pl ugins", + ".user Info", + "Print er", + "ĠPRO GRAM", + "Ġru ins", + "Ġempir ical", + "Ġcraw l", + "ĠBo iler", + "- comment", + ".sub plot", + "_ et", + "Ġ'. ',", + "min or", + "ĠCustom s", + "Ġy aw", + "under line", + "ĠCom o", + "( ('", + "(m ean", + "Ġcha que", + "ĠBlock s", + ".r ad", + "ilib rium", + "Ġweb driver", + "Ġmel hor", + "d ana", + "ĠAb use", + "ĠSouth west", + "ĠP aren", + "PERT IES", + "ĉ IL", + "Ġscre am", + "v u", + "Ġin comes", + "Ġn im", + "Ġl ace", + "Ġcompens ate", + "Re verse", + "D at", + "_att ack", + "Ġn our", + "ach en", + "ce k", + "< Func", + "w ie", + "com pressed", + "-m atch", + "(\" \")]Ċ", + "im ized", + ". orientation", + ".compare To", + "Ġmass aggi", + "Ġìľ Ħ", + "Ġel bow", + "Ġant ioxid", + "undred s", + "/ tools", + "ĠR OW", + "an mar", + "ĠW ow", + "_t icket", + "Program ming", + "Ġthe or", + "-re view", + "() )));Ċ", + "ĠRichard son", + "ĠP ocket", + "] []", + "am pp", + "_ health", + "ĠP OP", + "ĠNav al", + "Gu ess", + "Ġancest or", + ".Get All", + ".local Scale", + "ĠM apper", + "Ġaccum ulation", + "Ġsim ulated", + "ĠDr ivers", + "Ġd és", + "cur ring", + "Ġele phant", + "Ġadvert ised", + "Ġmail box", + "SH IFT", + "ĠMon ica", + "Ġan c", + "Ġward robe", + "Ing redients", + "Ġ|| čĊ", + "ipp y", + "Ġantibiot ics", + "av ings", + "(c x", + "ĠFerr ari", + "ĠAn imator", + ".d type", + "rem oved", + "order by", + "Ġc res", + "oc ê", + "Ġp ym", + "ĠCirc ular", + "@ index", + "ĠW arm", + "S ay", + "ĠAss istance", + "Ġcur tain", + "ĠMont e", + "IL ER", + "ĠC VE", + "ĠD uck", + "ĠAll ows", + "_f ire", + "ĠDer by", + "Ġre pos", + "Ġhttp Client", + "Ġpsych iat", + "Ġnow adays", + "Ġcaut ious", + "ĠComput ing", + "Ġcompletion Handler", + "ĠWel sh", + "ĠB EST", + "Ġstress ful", + "_P E", + "æĹ¥ æľŁ", + "ĠData Frame", + "ĉ Integer", + "_P rint", + "M oves", + "Ġtransform ing", + ".B atch", + "y ahoo", + "Position s", + "ze j", + "Ġno od", + "io res", + "_ *", + "Ġcl k", + "ĠF loyd", + "Ġh ap", + "font size", + "Ġn az", + ".not ification", + "ĠDep ression", + "Ġac ne", + "*** ĊĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĊ", + ".cont ents", + "yn th", + "ĠStra ight", + "')}} \"> \"+", + "Ġtoken izer", + "Ġsovere ignty", + "ĠP ence", + "() \");Ċ", + "Ġpesso as", + ".G e", + "ĠIn cluded", + "Ġpag ina", + "Ġex posing", + "е ÑĪ", + "_SC RIPT", + "/$ ',", + "Th umbnail", + "× Ķ", + "webElement X", + "webElementX paths", + "press ure", + "ĠCur ry", + "_C P", + "OL UTION", + "ILE S", + "prot ect", + "ool a", + "Work space", + "{ };Ċ", + "ĠU NS", + "Ġsymp athy", + "ro ker", + "Ġrem odel", + "ĉc ell", + "Ġat op", + ".Full Name", + "Ġfa ut", + "ĠE asily", + "_d ynamic", + "Ġfr amed", + "Ġmot ive", + "è· ¯", + "s am", + "Ġmar ca", + "ĠText EditingController", + "Ġde structor", + "cre am", + "Ġr ude", + "ĠB old", + "ĠInd igenous", + "Ġg ens", + "Ġrel acion", + "(s ystem", + "ĠUIF ont", + "_char ge", + "UST ER", + "E V", + ".N amespace", + "Ġmer ger", + "Ġcal loc", + "g ang", + "Bad Request", + "Ġs per", + "-d esign", + "Ġâ ĩ", + "Ch an", + "Ġorgan ism", + ", )", + "= id", + "_pl ane", + "ĠC ases", + "elf ast", + "ĠLegisl ature", + "ĠF aker", + "Ġinv oking", + "- utils", + "(). '", + ".f ace", + "Ġguard ian", + "my Modal", + "Ġclip board", + "ĠAT M", + "Ġpe as", + "ĠS ylv", + ".c alc", + "ĠContact s", + "int Value", + "Ġmodify ing", + "ĠBar b", + ". loss", + "_per centage", + "Ask ed", + "(l st", + "ategor ical", + "- files", + "ĠRoman ia", + ".A c", + "Ġh ai", + "ĠF lying", + "Ġ ż", + "j p", + "ĠTr ainer", + ". arc", + "_de g", + "Ġtrace back", + "Or Fail", + "F LOW", + ". old", + "oy a", + "g mt", + "is empty", + "Ġvacc ination", + "Ġob solete", + "recogn ized", + "Ġru ined", + "ĠRe in", + "ĠTr acking", + "xf b", + "ا ÛĮ", + "Ġvæ re", + "Ġbr yster", + "ĠIT S", + "Ġdest iny", + "Ġsw ear", + "Ġred es", + "Ġcl f", + "Ġfl ipped", + "ĉ head", + "Bl uetooth", + "ĠOver rides", + ": Boolean", + "_ =", + "_l r", + "sp awn", + ": index", + "VAL UES", + "is key", + "? \");Ċ", + ".syn thetic", + "ĠCheck ing", + "struct ures", + "ip ing", + "Ġvoc als", + "- Up", + "ĠManufact urers", + "ĠMar riage", + "代 çłģ", + "Ġgar ner", + "_C lient", + "par allel", + "RI END", + "Ġvine gar", + "seg ue", + "J B", + "Ġcontact ing", + "ĠCar roll", + "Ġout reach", + "t ensor", + "_var iant", + "Ġthe at", + "lic able", + "{ |", + "t iny", + "_ letter", + "Ġp encil", + "HeadersHeight SizeMode", + "ilt ro", + ".auto configure", + ".d rag", + ".use State", + "ĠB MI", + "h int", + "Com pile", + "* \\", + "en ary", + "Ġl vl", + ".C ache", + "+ =\"", + "_t v", + "ruit ment", + "Ġf read", + "Art icles", + "f ila", + "Ġpack aged", + "âĺ Ĩ", + "AT HER", + "ĠPl anned", + "s cheme", + "Ġdi ary", + "Ġoff enses", + "/ F", + "ĠSt ick", + "Ġc erc", + "ĠS lee", + "ĉĉ ĠĠĠĠĠĠĠĠ", + "< Image", + "Ġè® ¾", + "- editor", + "pie ces", + "ĠD rama", + "Ġ// ////////////////", + "ĠT asks", + "AR C", + "g ateway", + ".get cwd", + ".M etadata", + "Ġguess ing", + "åľ° åĿĢ", + "Ġsm arter", + "ĠGet Enumerator", + "Ġe fter", + "/ operators", + "ĠGL float", + "Ġf ør", + "Ġop aque", + "ä¿Ŀ åŃĺ", + "Sp read", + "SY STEM", + "Ġinv ersion", + "ĠBasket ball", + "Ġsim ulations", + "Ġden ies", + "Ġa vez", + "_list ener", + "Ġenh ancing", + "ĠMy th", + "ĠL akers", + "_M D", + "Nd Ex", + "D ATABASE", + "Ġt á»", + "ar th", + "[ left", + "Ġcontest s", + "st ile", + "(K ERN", + "_f c", + "_p m", + "Ġpres idents", + "Ġhospital ity", + "Ġfade In", + "RO PERTY", + "_m aps", + "ĠDefinition s", + "Ġassess ing", + "Ġus ar", + "Ġquant itative", + "mo z", + "Be autiful", + "[ ((", + "b ons", + "f requency", + "Cont ain", + "Ġpuzz les", + "ĠCast ro", + "Ġv illa", + "Ġkind ly", + "Font Awesome", + "ern a", + "epoch s", + "_dat as", + "ĉ ip", + ".p adding", + "ĠCont est", + "Ġed itions", + "Ġdispro portion", + "ĠI CO", + "Ġcome back", + "= value", + "ri ad", + "-s ort", + "Sub mitted", + "(n etwork", + "ĠC el", + "Ġinstall ment", + "l ashes", + ".List View", + "ĠV atican", + "(Media Type", + "IV ED", + "reach able", + ": Is", + "ĠC ITY", + "äº ¬", + "ĠHelp ful", + "Ġba ÅŁ", + "% čĊ", + "Ġpsych iatric", + "Ġrec ycled", + "FORM AT", + "ĠG row", + "b ine", + "G it", + ".s s", + "ĠWe apons", + "ĠSt y", + "_ arrow", + "* self", + "ire ment", + "Ġdeg li", + "App Delegate", + "_b anner", + "Ġcoordin ated", + "ĠWeb cam", + "Ġcelebr ations", + ". act", + "******************************** ****************", + "( show", + "Ġweek day", + "Ġconc erts", + "ол н", + "cl in", + "Ġcr on", + "ĠN im", + ".set Vertical", + "ĠEll en", + "س ت", + "ĠS AM", + "E ff", + "g z", + "ste am", + "Ġant ique", + "ph ysical", + "ĠForm Data", + ".set ter", + "ĠPO INT", + "B on", + "Ġflav our", + "erv ention", + "_ENT ITY", + "ĉ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "Ġintr insic", + "Ġæ İ", + "append To", + "aram el", + ") ])", + "ĠRecomm end", + ") m", + "OutOf Range", + "Ġkn ight", + "Ġsat ellites", + "ĠTit ans", + "Ġweigh ed", + "ĠD ana", + "e ase", + "Ġs ip", + "S IM", + "ĠDevelop ers", + "mal ink", + "/ check", + "_P LL", + "n ung", + "Ġdry er", + "= A", + ".d w", + "_S QL", + "Ġsub plot", + "D ROP", + "Ġprot otypes", + "Ġhour ly", + "display Name", + "Ġas i", + "ĠViol ence", + "Ġastr onaut", + "Ġdat atype", + "Ġinformation al", + "Ġinvestig ative", + "etermin ed", + "ren al", + "; '>", + "ĉc ol", + "V G", + "_ boolean", + "re cent", + "Ġ* )ĊĊ", + "ĠRain bow", + "om men", + "Ġl ur", + "Ġopp ression", + "(\", \");Ċ", + "ĠFac ility", + "DEF INED", + "Ġne on", + "Ġoff ender", + "AF P", + "ĠClean ing", + "[] ):", + "Ġund ocumented", + ".Re positories", + "ĠG uitar", + "аÑģÑģ ив", + "Sk ills", + "Ġtestim on", + "rypt ography", + "ĠAm ber", + "ĠSt alin", + "Ġl one", + "Ġap enas", + "Ġdies es", + "ĠAr duino", + "è½ ¬", + "== -", + "_A ct", + "Ġc oded", + "âĸ ł", + "amb urger", + "-link s", + "Ġarm our", + ".H igh", + "get Content", + "st ag", + "Ġhe ck", + "ĠìĹ Ĩ", + "ĠMc Connell", + "ĠCon cert", + "ĠAl loc", + "ä re", + ".replace All", + "Ġpart itions", + "rot t", + "ĠF le", + "_T REE", + "reason able", + "ĠReport ing", + "Ġbillion aire", + "s cores", + "min s", + "- eye", + "M ORE", + "ab ort", + "ĠSW T", + "Ġin verted", + "ĠTe achers", + "; n", + "Ġast ro", + "н ов", + "ани ÑĨ", + "product o", + "c ountries", + "ĠO wen", + "Ġcont amination", + "Ġv ibe", + "ĠEll i", + ".s cript", + "ĠOl ive", + "D MA", + "v ier", + ": semicolon", + "-m odule", + "gress ive", + "ag u", + "_ players", + "Ġresult ados", + "start ed", + "scroll Top", + "==== =", + "Ġweigh ing", + "Ġ[[ [", + "z ahl", + "( NS", + "ĠAssert ion", + "le ague", + ".setText Color", + "ĉ Message", + "Ġmom s", + "_A F", + ". wh", + "AL S", + "Ġaut re", + "] ĊĊĊĊ", + ".op acity", + "ĠBudd hist", + "Ġde af", + "ĠOrgan isation", + "(G lobal", + "ens ch", + "Ġhead ache", + "ĠAli en", + "_in ode", + "ĠSt ark", + "Ġæ ī", + "-l nd", + "ore f", + "_fe at", + "Ġpedest rian", + "Ġnom inal", + "Ġbal loon", + "Ġspr ites", + "Prototype Of", + "ĠA post", + "ĠF EATURE", + "O H", + "Ġre cess", + "ĠDon na", + "con sumer", + "$ GLOBALS", + "ĠG IF", + "- frame", + "In icio", + "Ġpass ages", + "Date String", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + ".by te", + "B ug", + "initial izer", + "p kt", + "od ium", + "ĠD ER", + ". ops", + "ler i", + "Ġgift ed", + "Ġdet ach", + "ter rain", + "elt ers", + "ãģ ı", + ". loader", + "ĠN GO", + "str ncmp", + "K h", + "(font Size", + "ro cket", + "Ġpreced ent", + "ĠAur ora", + "ĠEx periment", + "is phere", + "Enc oded", + "ĠâĢĵ ĊĊ", + "Ġpy ramid", + "ĠAnn iversary", + "of il", + "ë Ł", + "( plugin", + "C oeff", + "Ġcooper ate", + "Ġpredomin antly", + "IS M", + "Ph rase", + "_DEF INE", + "Fl ip", + "AMIL Y", + "ĠMark ets", + "ĠStream Reader", + "ĠComb ine", + "Ġmanus cript", + "z za", + ", tp", + "Wh atever", + "IT ICAL", + "ighb our", + "Data Provider", + ".Text ure", + "priv acy", + ".S DK", + "Ġre charge", + "Ġc pp", + "ĠC FG", + "(h older", + "(p y", + "m ot", + "Ġsav oir", + "ĠR osa", + "ĠPC s", + "Ġí Ļ", + ".her oku", + "Ġf ren", + "ĠR iley", + "ag ate", + "Ġs ond", + ".x lsx", + "Ġh acked", + "st ad", + "G i", + "Ġsan ity", + "ĠSql DataAdapter", + "... \",", + "ĠP ussy", + "Ġ ****************", + "Ġhass le", + "_P ARENT", + "ĠU AE", + "Ġbegin ners", + "( Client", + "Ġstatist ically", + ".h our", + "ed elta", + "Ġtr action", + "uel ve", + "ar at", + "Ġsa una", + "IN VALID", + "Ġindict ment", + "AL LE", + "Ġdiss ent", + "ĠTyp ography", + "Ġintention al", + "s it", + "ĠAn imals", + "Ġcoun tryside", + "Ġu art", + "} \\\"", + "Ġseam less", + "¾ 示", + "Ġaut os", + "Ġ\"' \";Ċ", + "Fl ush", + "ANN OT", + "Ġal gebra", + "ass oc", + "ĠW aters", + "Ġprepar ations", + "ron ym", + "[, ]", + "S ans", + "Ġarm ies", + "ipe g", + "Ġcream y", + ". art", + "et re", + "ĠAn imated", + "Ġun pleasant", + "eme an", + "g reat", + "i Äħ", + "ĠEar lier", + "Ġch ic", + "Ġpres erving", + "(ex ec", + "ĠInvest igation", + "ĉG PIO", + "Ġrig orous", + "ij o", + "= num", + "Ġtool Strip", + ") set", + "+\" &", + "ĠAcc eler", + "Ġdevelopment al", + "is posable", + "Ġflaw ed", + "re ne", + "Up dating", + "Ġwatch dog", + "Ġden ominator", + "Ġsubur bs", + "Ġ... )", + "Ġconv ictions", + "c losure", + ".I P", + "Ġtransl ates", + ".sw t", + ".Tr ace", + "Ġmet tre", + ".is Enabled", + "ĠEffect ive", + ".to Int", + "Ġen chant", + "Ġst unned", + "Ġpo i", + "/ code", + "ad m", + ".datab inding", + "ĠL orem", + "________________________________ ________________________________", + "Ġled ger", + "Ġcar a", + "ĠG ir", + "Ġwa its", + "Un o", + "Ġc wd", + "è¾ ij", + "ĠT Result", + "Ġre jo", + "Ġem itted", + "ĠWest minster", + "ä¸Ģ 个", + "ne k", + "_T is", + "Ġen act", + "ĉ with", + "org ia", + "Ġj ue", + "Per form", + "SP ATH", + ".top ic", + "ĠD aten", + "Ạ§", + "Ġsit io", + "_M M", + "\" So", + "b ial", + "Ġsc oped", + "Re quires", + "ĠT OTAL", + "ĠCh ancellor", + "( contents", + "Ġste alth", + "dev ices", + "-p ass", + "ili h", + "ĠMal colm", + "ĠDep ot", + "Ġconfig ur", + "a ussian", + "_con straint", + "в еÑĤ", + "G RA", + "ĠR ates", + ".dataGridView TextBoxColumn", + "ĠNob el", + "it ics", + "Ġignor ant", + "ĠReport er", + "ĠEb ola", + "ĠSh ock", + "_re lation", + "ĠNin ja", + ") c", + "Ġt icker", + ".is Checked", + "ĠSup pliers", + "ĠRap id", + "Level s", + "âĤ¬ âĦ¢", + "ĉ queue", + "Ġch op", + "ĠUn ix", + "re ject", + "-c alendar", + "(s ort", + "è ne", + "erc icio", + "Ġh ect", + "CALL TYPE", + "rou pon", + "Ġrent als", + "auth ors", + "{ name", + "ĠF IFO", + "Ġl assen", + "ĠN ous", + "Ġsn apped", + "Ġfert ility", + "\" log", + "click ed", + "Ġplant ing", + "Ġg b", + "/ output", + "PE AT", + "Ġc ategoria", + "Ġb ach", + "Prof essor", + "in th", + "\"] čĊ", + "Rec order", + "ser de", + "ĠTrans mission", + "tr ad", + "Ġtur bo", + "_VER TEX", + "\\ Event", + "il ver", + "Ġbod ily", + "ĠS ources", + "Ġkill ings", + ".xr TableCell", + "Ġfold ed", + "/ legal", + "un er", + "ĠR ifle", + "ĠM IDI", + "_Selected IndexChanged", + ".Size Type", + "ĠWeb Socket", + "Ġsele ccion", + "S and", + "ot ros", + "Ġenv ision", + "/ etc", + "ĠMel issa", + "Sp ot", + "но е", + "_ ARM", + "At tempt", + "ĠB I", + "ãģ Ķ", + "ĠD U", + "Ġback lash", + "str ide", + "/ classes", + "Ġtext Color", + "_st aff", + "ob lin", + "agent a", + ".c ollections", + "ill age", + "' čĊčĊ", + "fl atten", + "_s ales", + "_M ASTER", + "T W", + "_d a", + "P itch", + "ph ies", + "Ġz ombies", + "ĠV ERY", + "ĠPharm acy", + "Ġprogress Bar", + "Ġhas htag", + "S idebar", + "@ stop", + "(p c", + "ол ж", + "MA KE", + "ĠCor on", + "Ġkv inner", + "ĠM aid", + "b ob", + ".title Label", + "Ġsuccess es", + "ĠDemocr acy", + "ĠSurg ery", + "Ġcou gar", + "Ġcur so", + "Ġl oro", + "ist ency", + "Sen ior", + "æ k", + "ĠA AA", + "ĠBO OK", + "к о", + "W STR", + "Ġ*/ ,Ċ", + "oy al", + ".v ector", + "ĠS PEC", + "SS F", + "Ġcomp uls", + "ĠAppe als", + "ĠW inston", + "ĠMock ito", + "con trib", + ". available", + "entity Manager", + "ari as", + "_s ale", + "_r s", + "Ġdec oding", + "Ġloc ator", + "ol ith", + "Ġk ol", + "Ġasc ii", + "ĠR ut", + "/ interface", + "ĉĉĉĉĉĉ ĠĠĠ", + "ĠN umer", + ".fl ip", + "-d el", + "Ġbol ster", + "on omic", + "Ġz m", + "L G", + "Find By", + "Ġadapt ive", + "lo o", + "Ġv ue", + "(re verse", + "_c anvas", + ". roles", + "ific ado", + "ven ient", + "\" As", + "ĠEn tr", + "al igned", + "Ġbere its", + "/// ĊĊ", + ".g wt", + ". employee", + "_cl i", + "Ġanticip ate", + "éĻ IJ", + "Ġp ik", + "Ġmush rooms", + "(t t", + "Ġo ma", + "ĠSan chez", + "_g oogle", + ". Valid", + "ĠFile Name", + "iv ative", + "k ed", + "-w ar", + "Ġm aturity", + "и д", + "Ġmin er", + "Reduc ers", + "ĠLat Lng", + "_ST D", + "D igits", + "Cal c", + "-up load", + "Ġhand ic", + "ี à¹Ī", + "egr ated", + "ĠST M", + "C lients", + "ĠTur bo", + "SY NC", + "Ġphotograph ers", + ". Out", + ".char acter", + "B UILD", + ".un lock", + "Ġar ises", + "ĠCommand s", + "(\" \");čĊ", + "_F ORE", + "; ',", + "+\" '", + ". Images", + "\") {", + "ĠM eyer", + "Ġneg atively", + "ĠD LL", + "Ġex e", + "Ġdef iciency", + "Ġwild ly", + "-s witch", + "con struction", + "Ġexception ally", + "ĠL iz", + "/j ava", + "Ġtheir s", + "ĠCont emporary", + "l is", + ".fill Rect", + "ĠN FC", + "Ġre he", + "(num bers", + "Ġr aster", + "Ġfig uring", + "Ġshow c", + "ĠJ ill", + "Ġarc ade", + "ĠConstruct s", + "md l", + "(' |", + "Ġident ifiers", + "Ġst ellar", + "( Connection", + "Ġ\" {{", + "y or", + "(m ysqli", + "Ġdo ve", + "Of Birth", + ".dis connect", + "_h i", + "Ġzw ischen", + "ĠGr und", + "i ros", + "_A rray", + ".on click", + "ans om", + "An swers", + "ĉ remove", + "F a", + "Ġhur ry", + "-in f", + "Ġget Class", + "ĠReg ulation", + "ĠFLAG S", + "m isc", + "K en", + "_ heading", + "G Hz", + "- entry", + "Ġbi ography", + "S ig", + "-m f", + "Watch er", + "âĢľ A", + "} px", + "Ġsp icy", + "_s q", + "L ost", + "(tr ack", + "а ли", + "Desc ending", + "< bits", + "qu ine", + "ĠAdv oc", + "_S N", + "ĠHann ah", + "PO P", + "Ġem itter", + "Ġc yn", + "ĠC AD", + "? ).", + "/ set", + "ĠS ister", + "ĠEnd point", + "Ġmen or", + "Ġinter p", + "r k", + "id le", + "Ġout fits", + ". vertex", + "Ġc lic", + "ARE N", + "Ġpost ure", + "ĠOpport unity", + "v x", + "ĠFor bes", + ".D irection", + "Ġres ide", + "Ġremember ing", + "nest y", + "Auto resizing", + "pro viders", + "ĠA H", + "Ġhur ting", + "ĠL ily", + "eval uate", + "lij k", + "p apers", + "ĠSm ash", + "ĠL AST", + "Ġwell s", + "w asher", + "_RO LE", + "ĠD anger", + "* ((", + "_re pository", + "ĠRes olve", + "ĠRoom s", + "_R G", + "ĠQ T", + "o op", + "ĠHe ap", + "Ġslow ing", + "Ġgrat uite", + "_c atalog", + "Ġpol ynomial", + "L y", + "pc s", + "F ox", + "ĠC yr", + "Ġdim in", + "/ month", + "S alt", + "Ġh ind", + ".P ER", + "For um", + "c en", + "_p ol", + "íĺ ¸", + "Ġin ser", + "( ~", + "@ test", + "ĠGold man", + "Ġupload ing", + "F c", + "Ġkom mer", + "Ġm itt", + "_log ged", + "Ġbu cks", + "-l ayer", + ") };Ċ", + "ĠO M", + "Ġv eg", + "col our", + "Ġоб ÑĬ", + "Std String", + "_ que", + "ĠT ian", + "Ġspecial ize", + "и п", + "Ġк л", + "tr ial", + "- edge", + "Ġm ars", + "OG LE", + "Ġempath y", + "ĠB om", + "Ġcoll isions", + "Ġcart e", + "ĠTe il", + "ĠM PL", + "Ġporn ô", + "Ġa irlines", + "A ws", + "N s", + "ĠSp awn", + "( use", + "é» ĺ认", + "Ġy acc", + "st or", + "Ġconf ess", + "Ġpe que", + "r age", + "? \"Ċ", + "/dat atables", + "ĠSh ower", + "__ /", + "Ġcryst als", + "Ġbus car", + "ĠH aus", + "iz ação", + "_ entities", + "ķ Į", + "ļ Į", + "x cc", + "v irt", + "-che vron", + "( Result", + "c ake", + "COM E", + "Ġprohib it", + "ĠCh ess", + "Ġbe aucoup", + "ĠÑĩ ÑĤо", + "R UN", + "ĠI K", + "ó ÅĤ", + "_ Update", + "Ġsle ek", + "ĠSpec ify", + "_c redentials", + "ÅŁ t", + "ĠUser Name", + "ĉ Value", + "Ġarray List", + "Ġex changed", + "ips is", + ".re lated", + "ĠSe ite", + "_B AR", + "ĠL em", + "ĠW ATCH", + "ĠC lients", + "Ġ. *", + "ĠEar l", + "-re port", + "Ġforeign ers", + "Ġstrengthen ing", + "ĉ Description", + "(g o", + ".tool bar", + "Ġcalcul ates", + "ĉs ource", + "Ġcz as", + "Ġre cl", + "ab o", + "Ġlocal host", + "Ġ^ {Ċ", + ".P op", + "ĠDes igned", + "\\ Abstract", + "H old", + "ĠGuid elines", + "ipl ine", + "Ġc aching", + ".Re ader", + "_ext ernal", + ".str ptime", + "ĠWeek end", + "-M ar", + "ĠBe i", + "Ġ{* }", + "ĠR ud", + "Ġexpl or", + "ĠBou levard", + "C ash", + "Ġprep ares", + "Ġserial ization", + "ew ater", + "Ġad c", + ": ĊĊĊĊĊĊ", + "Re fer", + "Ġsc anned", + "} }ĊĊ", + "ĠF ul", + "Ġtour ing", + "ãĥĥ ãĤ¯", + "> ((", + "sur vey", + "Ġí ĺ", + "... ')Ċ", + "ĠDiv ider", + "os l", + "_C ANCEL", + "_pre pare", + "st in", + "ĠHe ath", + ".Primary Key", + "ĠâĨ IJ", + "ĠLocal DateTime", + "Ġcooper ative", + "L earning", + ".en queue", + "Ġgo og", + "ĠReg ression", + "im ates", + "Ġvoy eur", + "ĠDr ink", + "pl ug", + "Ġl ender", + "man a", + "Ġperson nes", + "yp se", + "Ġun link", + "ĠRav ens", + "Ġhur d", + "Ġperiod ically", + "ARG S", + "ĠG H", + "char acters", + "... \"ĊĊ", + "- establish", + "Ġd n", + "( condition", + "ĠGr avity", + "Ġest as", + "_f ocus", + "Creat ure", + "(s ite", + "Ġc arr", + "ĠR L", + "ĠR I", + "ĠM oto", + "AS F", + "ĠLuck ily", + "ĉ Route", + "Ġent ropy", + "(\" ,\"", + "Col lect", + "( contact", + "ĠFlo rence", + "Ġpremium s", + "Ġlif ecycle", + "Ġb ans", + "x ef", + "Web Kit", + "ĠFlo ating", + "Ġcos a", + "Spec ific", + "ĠLo ans", + "b read", + "Ġdes criptors", + "Ġ{ :.", + "TH READ", + "ĠT rent", + "Ġsc op", + "Q A", + "ĠAnt ar", + "p el", + "_d ifference", + "_ch anges", + "(... )", + "ĠR otation", + "ĠLG PL", + "ĠJ UST", + "(T ask", + "_sub set", + "ĠTR ANS", + "åĬ Ľ", + "ĠSc out", + "-p opup", + "Ġsm oked", + "_C lass", + "Ġturn over", + "br akk", + "ĠRock y", + "t as", + ".Regular Expressions", + "ĠElli ott", + "ĠSp inner", + "DU CTION", + "Ġlib re", + "Ġmol to", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠF TP", + "m peg", + "(f eatures", + "Ġb ald", + "ĠV id", + "Ġsh outing", + "L int", + "Ġsock ets", + "Ġpro w", + "Ġnouvel le", + "isc ard", + "ĠS ponsor", + "Ġconsult a", + ")) );", + "Ind ian", + "ĠR aspberry", + "Ġteam mate", + "ĠJ WT", + "ĠGh ana", + "Ġc akes", + "pr imer", + "form a", + "erg arten", + "_M anager", + "Ġpre season", + "G AME", + "| \"", + "ĠBro ck", + "Ġoccup y", + "Ġdecor ations", + "á nd", + "Ġc ot", + "Ġpar an", + "D isk", + "rem ain", + "> ?", + "Str ong", + "Ġfr ance", + "ĠE ra", + "-c r", + ".Buffer edReader", + "ĠParad ise", + "ĠV AT", + "ĠAnd ers", + "Ġlim b", + "amp oo", + "Ġimper ative", + "UT ILITY", + "ĠRec ognition", + "Ġragaz ze", + "Ġpop s", + "yp ress", + "Ġemb argo", + "// {Ċ", + "Ġsy ll", + "P TR", + "åŃĺ åľ¨", + "Ġdid nt", + "Mail er", + "Ġacad emics", + "ĠFra uen", + "ne ider", + "- rel", + "Ġrain bow", + "( In", + "Ġslic ed", + "============ =Ċ", + "(s end", + "NSMutable Dictionary", + "v os", + "(p ackage", + "Ġord inance", + "view er", + "ĠSant os", + "-s elling", + "Ġgo v", + "ett le", + "Ġfound ers", + "Ġw aking", + "sl ashes", + "-p ound", + "re cht", + "ا ت", + ".on Click", + "Ġn ord", + "st änd", + "_ when", + "UT ERS", + "ic c", + "Ġcaps ule", + "ĠW id", + "M arc", + "ภ¸", + "ro red", + "UG E", + "LO UD", + "ĠAud it", + "ip ients", + "op ian", + "ĠS ue", + "Ġwur den", + ".H elpers", + "Ġf actions", + "[ np", + "-th an", + "Ġre co", + "Ġk as", + "Ġcmd s", + "/n etwork", + "xb f", + "get Color", + "Ġbi ased", + "ĠL ak", + "D atas", + "vent s", + "Ġë ²", + "_P S", + ". Validate", + "Inv oker", + "Ġne uen", + "Ġju venile", + "V ISION", + "Ġdev ote", + "Ġlin ha", + "Ġdiscount ed", + "\\ Config", + "Ġworth while", + "Ġskin ny", + "ĠC ourses", + "le ys", + "ĠMort gage", + "K evin", + "Ġannounc es", + "]) *", + "res ervation", + "Ġæķ °", + "Ġprejud ice", + "ĠString Comparison", + "Ġbe ard", + "-w in", + "ĠS ão", + "ĉ ms", + "j al", + "ĠE arn", + "_ ports", + "ĠN ombre", + "_C OR", + "ĠB UILD", + ".s ound", + "Y ellow", + "Ġlineback er", + "Ġchar itable", + "j ug", + "_NON NULL", + "ĠD ental", + "\"> ${", + "ĉm atch", + "R ussian", + "Ġvers ch", + "Ġp inned", + "Ġadopt ing", + "Options Menu", + "P ag", + "Ġpair ing", + "Ġt read", + "erc ises", + "ĠSp read", + ") i", + "ĠB AD", + "_t f", + "UI ImageView", + "pop ulate", + "b ab", + "ĠÏ ĥ", + "[ ++", + "Ġopi oid", + "Ġ## Ċ", + "d type", + "ĠStart s", + "('/ ')", + "Ġperson als", + "-mark et", + "Ġredund ant", + "ĠEss ential", + "Ġscrap y", + "Ġи м", + "a cl", + "Ġcre ar", + "ĠB end", + "Ġrel ieve", + "- room", + "w ife", + "Ġv Ãł", + "ĠQ Point", + "Ġqu asi", + "Ġmethod Name", + "\\x c", + "ĠPer u", + "/ The", + ". orm", + "Ġv iz", + "/p df", + "Loc ated", + "Ġconfront ation", + "ĠChampionship s", + "Ġhyp ert", + "Ġd j", + "ĠUser Info", + "ĠåĪ Ľå»º", + "\\x b", + "(s im", + "Ġ== Ċ", + "Ġst aging", + "Ġdr astically", + "åŃ ¦", + "l ords", + ". less", + "вед иÑĤе", + "ĠB ucket", + "ĠM am", + ". term", + "_p i", + "c zy", + ".p ub", + "prec io", + "ĠV irt", + "Ġrom an", + "it at", + "L ex", + "_inf os", + "Ä °", + ". other", + "VE LO", + "Ġp onder", + "Ġh anno", + "( Page", + "do i", + "Ġpol ite", + "Ġprogram mer", + "D ies", + "$ d", + "Ġrep lication", + "add Column", + "fr ican", + "Ġl eng", + "be er", + "o it", + "Ġw asting", + "yl im", + "me asure", + "N eg", + "Ġpart ie", + ".con sole", + "ĠGu inea", + "TE L", + "_f act", + ".ch unk", + "Ġl ent", + "Ġall er", + "Ġठķ", + "_id le", + "Ġad missions", + "JSON Array", + "Ġv ibration", + ".h elpers", + "å¤ ĸ", + "Ġh en", + "j ohn", + "Ġì ĥĿ", + "Ġjud gement", + "Ġge en", + "ter ra", + "^ {", + "ĠI z", + "Ġc â", + "inst ances", + "Ġthreat ens", + "Ġm üssen", + "Kind OfClass", + "Ġstoryt elling", + "_d emo", + "ri as", + "Priv acy", + "h ift", + "ĠY i", + "es or", + "íķ ł", + "ens itivity", + ".W riter", + "ภĤ", + "D istrict", + ".get JSONObject", + "Im pro", + "(get Resources", + "ĠS PELL", + "rodu ce", + "Ġslow ed", + "Ġlin ewidth", + "Ġhonest y", + "ĠCo ord", + "ĠF ork", + "ĠDispatch Queue", + "ĠCl iff", + "ĠW iring", + "_TIM ESTAMP", + "oll ah", + "av oid", + "++ ];Ċ", + "sem antic", + "-c ss", + "Ġv eto", + "ĠM err", + "Ġlegisl ators", + "CEE DED", + "Ġquestion naire", + "ĠP ills", + "Cal culate", + "(c ore", + "' e", + "Ġdis like", + "ĠPre ferences", + "_EX TERNAL", + "è° ĥ", + "Ġd odge", + "æľį åĬ¡", + ".n ames", + ".draw Image", + "_p rom", + "uck land", + "Ġ<$ >", + "ı z", + "/s ite", + "é¡ ¹", + "rop he", + "Ġcomp elled", + "Ġl aptops", + "Ġun i", + "C LOSE", + "Ġcasual ties", + "ĠUn iform", + "Term inal", + ". \",\"", + "D AT", + "(T reeNode", + "ĠGand hi", + "(st mt", + "AX B", + "* M", + "Ġumb rella", + "an imal", + "Ġgr pc", + "Ġwhere by", + "Ġfloat s", + "ĉ arg", + "Ġdb g", + "Ġexceed ing", + "Event Type", + ".SaveChanges Async", + "Ġ{ {{", + "Ġow ed", + "ahren heit", + "Ġì §", + "Ġequ ipo", + "ur ai", + "Ġid ol", + "] \")Ċ", + "_m ajor", + "Ġentire ty", + "inger print", + "ç os", + "/ account", + "ĉ right", + "urs os", + "ĠE DT", + "_INS ERT", + "Ġsh ining", + "Ġ< :", + "Edge Insets", + "Ġcolon ies", + ". IM", + "ĉĠ ĉ", + "RO AD", + "CC CC", + "pl acing", + "Ġget Activity", + "em acs", + "' %(", + ".click ed", + "ĠTh em", + "is ia", + "Bus car", + ".re name", + "Ġo ath", + "Ġafter ward", + "ĠU FO", + "AP S", + "ĠJackson ville", + ".s ome", + "Conf irmed", + ".s can", + "ig Integer", + "Decor ator", + "sh ield", + "ress ive", + ".d id", + "请 è¾ĵåħ¥", + "Ġsh utter", + "D am", + "Ġparent ing", + "ey ed", + "$ item", + "-de velop", + "Ġextract s", + "Ġdecentral ized", + "ĠEl sa", + "_sp in", + "]) +", + "-in itial", + "Ġmult itude", + "Ġsens ory", + "ĠMODE L", + "Ġsafeg uard", + "ì ¹", + "Ġhunt ers", + "ĠT iny", + "IN O", + "decor ate", + "ĠNo Such", + "H o", + "( Response", + "Ġr uler", + "ĉ short", + "Ġc aster", + "Ġclient Id", + "Ġp db", + "ëı Ħ", + "it ic", + "ĠGame State", + "Ġnew Item", + ")ĊĊ ĊĊĊĊ", + "ou is", + "n oc", + ".BL ACK", + "_V ECTOR", + "---------- ();", + ".get P", + "any e", + "Ġneur on", + "if old", + "ĠK nown", + "Bit coin", + "Any way", + "ay ette", + "Ġ' ['", + "Ãł nh", + "m gr", + "Ġcor related", + "Ġn ause", + "Ġment ality", + "has Many", + "ĠF G", + "amp ie", + "IT U", + "F s", + ".S p", + "_b etween", + "Dep endencies", + "ou g", + "Place holder", + "= text", + "ĠMan aging", + "ocal ypse", + "åĮ Ĺ", + "_m ag", + "f ld", + "â ij", + "C AM", + "ĠHelp ers", + "Ġd ost", + "/ out", + "Ġassass ination", + ".get Image", + "ĠKenn y", + ".' )ĊĊ", + "){ //", + "ĠR anger", + "Ġg ek", + "Ġsinc ere", + "< Value", + "ĠD OT", + "ĠVict ory", + "Ġleg ends", + "Ġpr isons", + "(ex pression", + "ĠR abbit", + "_s entence", + "Ġbit es", + "Ġon Failure", + "ĠâĪ Ī", + "K im", + ".g ender", + "ĠÎ »", + "Ġ[ .", + "\"] );", + "land ing", + "-d igit", + "TE MP", + "ĉ entry", + "Ġstrt ok", + "Ġdesc endants", + "um no", + "Ġlean ing", + "Ġspecific s", + "q n", + "ĠSp art", + "Ġpor r", + "EDIATE K", + "Ġse per", + "' aut", + "ĠSTE P", + "ĠBorder Layout", + "Ġret ros", + "ĠSalv ador", + "ĠEN GINE", + "x dc", + "T weet", + "v k", + "Ġì ²", + "] <<", + "het ics", + "c oding", + "Re ach", + ".re q", + "gu ide", + ".s cope", + "sh irt", + "rog ate", + "SET TING", + "ĠProte in", + "Ġe ing", + ". EMPTY", + ".d f", + "Ġclear er", + "Ġc rossover", + "ĠTo ys", + "Ġco ated", + ".M onth", + "ĠAtt ach", + "/ run", + ".t abs", + "Ġogs Ã¥", + "B rown", + ".D ATE", + "Ġf os", + "åŃŠ符", + "W ood", + "-th ree", + "her ited", + "Ġ rop", + "( ac", + "Ġembod iment", + "ĠKenn eth", + "Ġcan non", + "Ġb idding", + "čĊ", + ".get Resources", + "Ġl ump", + "_const s", + "( ext", + "ĉd ir", + "â Ŀ", + "Ġpadding Top", + "Ġobs ession", + "Ġb anning", + "ĠApp Module", + "Ġpart isan", + "Ġcatalog ue", + "Ġmin ors", + "Ġpitch es", + "we ep", + "Ġundert ake", + "Ġthem ed", + "aud it", + ".scroll Top", + "Ġr er", + "Ġsympt om", + "Ġopen ings", + ".block s", + "open id", + "Ġas sh", + "-s ave", + "ĠP ig", + "Ġreg ain", + "Ġin icial", + "/f avicon", + "ĉ exp", + "Ġsp ices", + "isk a", + "claim s", + "m ak", + "definition s", + "Ġcorrespond ent", + "ĠCann abis", + "__ ,Ċ", + "ĠL ucky", + "ĠGa ussian", + "ĠN early", + "C AD", + "'] ]Ċ", + "Ġadequ ately", + "ĠT ITLE", + "constitution al", + "-m m", + "_ override", + "Ġbl as", + ".ready State", + "Ġremin is", + "Ġrein forced", + "ĠColl abor", + "Ġdecor ating", + "Ġb achelor", + "ERRU PT", + "Ġup right", + "ip ation", + "ĠNob le", + "Ġvalue ForKey", + "Ġset Loading", + ".I gnore", + "å ģ", + "G lobals", + "ĠM ent", + "AS SES", + "Ġlim bs", + "ĠH UD", + "inc i", + ". iv", + "ĠQ ModelIndex", + "F use", + "Ġped al", + "_F REQ", + "( verbose", + "Ġlong itud", + "ĠChar ter", + "ê ·¸", + "Ġbund les", + ". ignore", + "um bo", + "EM A", + ".... ...", + "s x", + ".C ard", + "Ġhe ute", + "Ġste er", + "j umlah", + "Ġ{ _", + "_Check ed", + "Ġf ax", + "ĠG ust", + "itch ens", + "Ġ ))ĊĊ", + "Ġremark ably", + "/ XML", + "- remove", + "_b t", + "Ġinc ub", + ".p ackage", + ".current Thread", + "ĠHigh lander", + ".s ide", + "s plash", + "Ġ ici", + "= D", + "Ġp uck", + "Ġball ots", + "Ġhug ely", + "co eff", + "Ġp Data", + ".C OLUMN", + "ĠHe aling", + "Ġord in", + "! ),", + "Ġ' ',čĊ", + "(m d", + "ĠS ask", + "< strong", + "Ġsurviv or", + ".s eries", + "Ġcaffe ine", + "Ġ` (", + ".TRA ILING", + "_ Input", + "(\" ^", + "z d", + "& );Ċ", + "ĠP ing", + "Ġv oucher", + ".r ating", + "-sh irts", + "ĠRetrie ves", + ".al ibaba", + "Or acle", + "_MO V", + "Old Data", + "Ġ/* čĊ", + "Ġg boolean", + "Ġ=> čĊ", + "Ġr á", + "Ġbl unt", + "ĠImage Icon", + "if ik", + "RT C", + "Ġfib ers", + "Ġto ile", + ".s ent", + "ĠPy Qt", + "$ app", + "Ġmed io", + "Ġgrant ing", + "Ġtsl int", + "ĠM ö", + "(fig size", + "Ġhur ricane", + "Ġlif es", + "Ġà Ħ", + "rocess ing", + "_st andard", + "- option", + "')) )", + "Ġvac ant", + "å· ¥", + "ĠH ollow", + "handle Change", + "Ġdiv ider", + "ĠEngine ers", + "Ġsv ens", + "Ġcompl iant", + "t anggal", + "ĠC redits", + "ĠEm irates", + "Rule Context", + "Ġreal ization", + "Ġdistr acted", + "]+ =", + "Ġaug ment", + "ĠD w", + "ot p", + "or rent", + "Edit ar", + ".st ock", + "St udy", + "pe ctions", + "ĠGame Manager", + "= cut", + "Ġf lock", + "ĠRom ans", + "th em", + "-h op", + "Ġscreens hots", + "Ġ/* !Ċ", + "Ġconvers ions", + "Ġnormal ization", + "(config uration", + "Ġa eros", + "_se curity", + "! 'Ċ", + "B onus", + "ĠDR IVER", + "ĉ Date", + "t ie", + "ĠWy oming", + "St and", + "it re", + "Ġsh oppers", + "Ġdisadv antage", + "Ġlik ing", + "ç¬ ij", + "Ġunderstand able", + "SE E", + "Ġh oy", + "Ġnin ete", + "Ġcon fer", + "Ġnow rap", + "ĠV ern", + ", čĊčĊ", + "imest ep", + "Layout Manager", + "à ·", + "ĉw ait", + "PLE TED", + "J apan", + "Ġindu ce", + "Ġå ¯", + "оз в", + "_END POINT", + ".h orizontal", + "Ġacceler ated", + "rim on", + "IV ES", + "Trans actions", + "Le an", + "ĠSO UR", + "wh ether", + "y g", + "Ġo id", + "ĠEntity Manager", + "OUN TRY", + "Ġfil a", + "OLUM NS", + "IN UE", + "ĠAn chor", + "TR AN", + "wo o", + "block quote", + "ĠN urse", + "ĠCar p", + "Ġrede em", + ". try", + "ĠJ P", + "Ġtimestamp s", + "Ġ?> \"><", + "ĠREM OVE", + "ĠStar bucks", + "Re ally", + "Ġflood ed", + ".C allback", + "Drop Down", + "ip ro", + "Ġt ended", + "l te", + "Ġproport ions", + "- te", + "ĠR ena", + "lic ate", + "for ces", + ".ex tra", + ".auth enticate", + "в од", + "¡ °", + "Ġfor ControlEvents", + "Ġsen ha", + "Ġke in", + "Ġmin ist", + "ĠPre ference", + "ĠTele graph", + "Ñĥ п", + "str pos", + "Ġillness es", + "Ġp igs", + "Ġget Intent", + "S ol", + "Ġ ¡", + "(c pu", + "[ prop", + "s creens", + "'); ?>", + "ĠAct s", + "Ġstr dup", + "Ġaver ages", + "an al", + "ĠCas ual", + "Group Box", + "ĠHand book", + "/ comments", + "Ġnumber ed", + "Ġbroadcast ing", + "çĽ ij", + ".native Element", + ".m u", + "Ġupdated At", + "ĠDoes n", + ".A C", + ".c oll", + "Ġrec order", + "_sh a", + "B g", + "b il", + "Ġbol ts", + "Ġç ¬", + "Ġim posing", + "ĠInformation en", + "_flash data", + "e conomic", + "Rem ark", + "uc as", + "ĠOff icers", + "ĠT ER", + "W alk", + "Ġmerc ado", + "_g enerate", + "H Y", + "Call ing", + "s nap", + "script Id", + ". operation", + "ĠFl ame", + "l iness", + "Ġrent ed", + "_t oggle", + "-ch anging", + "ĠT Y", + "' util", + "EE P", + "Ġgraph ql", + "ĠUn i", + "Ġimp ulse", + ".B asic", + "Ġenerg ies", + "M ARY", + "ĠMar cel", + "Ġmort al", + "Ġf res", + "m ens", + "m otion", + "Ġsample d", + "âĢľ That", + "id ay", + "qu ipment", + "get Int", + "ĠA bsolute", + ",' \"", + "un ed", + ".sh are", + "Ġ} )(", + "mm m", + "ĠR ising", + "ä» »", + "Ġun employed", + "x fa", + ".f ollow", + "ĉĉĉĉ ĠĠĠĠĠĠ", + "sl t", + ".P hone", + "Ġkn ives", + "Ġe ve", + "on Click", + "] ))čĊ", + "ĠW itness", + "ĉ NS", + "ĠE OS", + "ĠSte fan", + "ĠPri est", + "âĢĶ which", + "Get String", + ". By", + "Ġup stairs", + "Ġdetr iment", + "bro ken", + "emb ro", + "Ġnic otine", + "il ion", + "Ġaston ishing", + "_ aff", + "ĠLess on", + "Ġaccident al", + "od or", + "Ġdec ir", + "Ġnew Name", + "+ .", + "çĽ ¸", + "igs list", + "ĠG ithub", + "Ġsuccess ive", + "rac ial", + "Ġen viron", + "éªĮ è¯ģ", + "Ġredirect ed", + "T OTAL", + "Ġgrab bing", + "ĠL ance", + "Ġfor fe", + "_C B", + "å¾ ®", + "El apsed", + "_w ay", + "(Dialog Interface", + "_me asure", + "x bb", + "D og", + "Dep art", + "-s rc", + "res olver", + "with standing", + "_sh ell", + "ĠLast Name", + "ĠAv iation", + "Ġbegin ner", + "(\"% .", + "(to ol", + "Ġн ов", + ": init", + "(A PI", + "ĠMorr ison", + "vt Color", + "Ġstap le", + "/ INFO", + "Ġsupern atural", + "Ġste ak", + "tim eline", + "zz le", + "\" `ĊĊ", + "Second ary", + "ĠNep al", + ".String Utils", + "Ġad am", + "Ġ( ...", + "Ġsub stitution", + "Ġboard ing", + "ĠKey word", + "ĠAss ault", + "dbc Template", + "Ġorder Id", + "( engine", + ".assert That", + "ĠVen us", + "Ġhomic ide", + "ĠA val", + "Ġg utter", + "ĠSupport ed", + "/p art", + "Ġac claimed", + "H istor", + "Ġmes es", + "ü ber", + "ĠRen ew", + "Ġgr as", + "ĠE k", + "Ġin file", + "ind y", + ".m usic", + ".S croll", + "ĠA ges", + "ĠNar uto", + "ĠG ather", + "Ġconfirm ing", + "= (\"", + "Ġpitch ed", + "ole y", + "Fr ance", + "+' \"", + "$ total", + "Ġon de", + "Ġd itch", + "_s igma", + "Ġcontinu ity", + "re ward", + "- load", + "Ġproces o", + "Lock ed", + "st aw", + "Ġsp inal", + "l azy", + "! ==", + "j est", + "Ġd un", + "ĠRod gers", + "ĉ grid", + "Ġlog os", + "ĠBeng al", + ".s uper", + "Provid es", + "Ġnut rient", + ".T imestamp", + "IZ ATION", + "åĨ Į", + "Ġf ats", + "ĠX xx", + "ct ica", + "Target s", + "Ġcont ours", + "Ġre ordered", + ": Array", + "Ġtoler ate", + "V ir", + "Ġter ribly", + "Ġbr icks", + "(& _", + "h b", + "Port al", + "ĠB read", + ". which", + "ÂŃ t", + "as InstanceOf", + "Ġj object", + "ĉ length", + "_M T", + "; \">čĊ", + "_EX IST", + "Ġmat ernal", + "RE L", + "Ġê²½ ìļ°", + "he e", + "Ġlayout s", + "ĠL ap", + "ais y", + "Ġst umbled", + "ĠU IG", + "ĠS co", + "Ġimp aired", + "RES SED", + "Ġab uses", + "V F", + "AR B", + ".N AME", + "r ch", + "prim ir", + "_com pleted", + "Ġp enny", + "Ch rome", + "(b egin", + "ern en", + "- checkbox", + "Plain OldData", + "ĠL PC", + "r ade", + "sp ir", + "Ġcon ceived", + "T ips", + "ĠIo T", + "ĠG an", + "èģ Ķ", + "Ġbi ases", + "Ġconsult ants", + "ple d", + "_ ht", + "associ ated", + "], ĊĊ", + "Ġdelight ful", + "ĠÑĤ ек", + "Hel vetica", + "( load", + "-exp and", + "_W IDGET", + "to a", + "ĠA kt", + "Ġom n", + "Ġcl auses", + "Int el", + "*/ }Ċ", + "_reg istration", + "Ġold Value", + "Ġrest oring", + "Ġun real", + "O VER", + "ĉĊĉĊ ĉĊ", + "AT S", + "_pro be", + "Ġdiv isor", + ".update Dynamic", + "å¹ ³", + "Produ ces", + "st amp", + ".j boss", + "ĉt ask", + "! (:", + "Ġpsych ic", + "@ class", + "M artin", + "ĠPass ed", + "clar ations", + "h el", + "а Ñĩ", + "ĉc opy", + "-b in", + "z an", + "ig ram", + "া à¦", + "(s ig", + "ĠC aval", + "_ ##", + "Ġ% =", + "out lined", + "ĠAc id", + "Ġunpredict able", + "-d ashboard", + "Hex String", + "+ c", + ".P ublic", + "Ạ©", + "Ġconvey or", + "ĠE B", + "Ġselect s", + "Ġknock ing", + "ĠC ec", + "IBUT ES", + "owa Äĩ", + "g atsby", + "* v", + "ent ropy", + "Ġdispatch ed", + "Ġcam el", + "ĠSat urn", + "Ġover weight", + "( phone", + "par able", + "% B", + "_v ectors", + "Ġbrew ing", + "ĠT k", + "ĠDownload s", + "ĠS aved", + ".Pr ice", + "Ġcur ved", + "ĠParen thood", + "è ¶", + ".p nl", + "plet ely", + ".D ay", + "Ġadvertis ers", + "Ġej ec", + "Ġpr zed", + "ë ¯", + "! ';Ċ", + "ĠK ush", + "ĠT AB", + "Ġquest s", + "Ġcoinc idence", + "umm ies", + "ĠKash mir", + "ĠEth ics", + "_g rowth", + "Ġakt iv", + "Ġgroup ing", + "å¢ ŀ", + "_tr uth", + "åIJ ¬", + "t odos", + "is et", + "Tex Coord", + "ä tt", + "ĠZ ur", + "ro ys", + "_M AGIC", + "Ġbrew ery", + "( State", + "ĠSM ALL", + "ĠPl ants", + "it bart", + "each er", + "ĠAd elaide", + "L u", + "Ġf ick", + "und les", + "_load ed", + "и е", + "P oll", + "rit ic", + "EL Y", + "Ġ+ '", + "ĠProf ession", + "Ġst amps", + "ĠS ew", + "scroll View", + "Ġcomm unist", + "/pro blems", + "}čĊčĊ čĊčĊ", + ", o", + "Ġu dp", + "Ġob ese", + "appro ve", + "ancell ation", + "_G ame", + "ĠHas htable", + "adaptive Styles", + "Ġpossess es", + ".match er", + "function al", + "M rs", + "ĉs ave", + "ĠDb Type", + "Ġk en", + "get Context", + "Ġm ans", + "( rel", + "ĠBrother hood", + ") `Ċ", + "è§ £", + ".In formation", + "OutOfRange Exception", + "ĠS ek", + "C as", + "Ġblog gers", + "E ither", + "(\" \"\"", + "Ġpin ch", + "Ġco arse", + ") p", + "ĠP ulse", + "Ġlear nt", + "Ġdent ist", + "Ġon change", + "Ġdirect ives", + "( actions", + "ny der", + "ĠSh ir", + "T rait", + "_de p", + "ĠP ET", + "ĠRE P", + ".App Settings", + "cu ador", + "iden av", + "Ġenv i", + "Ġsl ammed", + "ĠSh oot", + "Ġdate Format", + ".j oda", + "ve ys", + "Ġ) .ĊĊ", + "Ġcare g", + "ĠPar allel", + "_ translation", + ".function s", + ". obs", + "Runtime Exception", + "[] =", + "over view", + "ĠSch l", + "Ġno isy", + "ĠOn PropertyChanged", + "S ending", + "Ġunf amiliar", + "U pon", + "ĠPrint s", + ".t yp", + "Ġflee ing", + "ĉm ove", + "( Un", + "Ġq r", + "× ľ", + "_b eta", + "Ġsk ies", + "ĉm e", + "W ND", + "Ġstick ers", + "bl as", + "Ġinsert s", + "Ġvers es", + "ĠD ew", + "Ġtang ible", + "Ġhe cho", + "P OL", + "Ġte ardown", + "om nia", + "IB E", + ".c over", + "_str ategy", + "^ -", + "set Position", + "u ale", + "S igned", + "Ġif ace", + "as eline", + ".set Time", + "ĠMin eral", + "ĠFight ing", + "sk ins", + "Ġdiscrim in", + "Ġdans k", + "ĠPr inceton", + "ac ist", + "Ġ( ));Ċ", + "tr acks", + "imon ial", + "ad ecimal", + "EP ROM", + "ugg le", + ".Not ification", + "$ mail", + "c antidad", + "ĠJ ung", + "Ġseek ers", + "Ġpl ausible", + "t ier", + "еР¶", + "Ġr apper", + "ĠMan a", + "ĠHttp StatusCode", + "Ġburn t", + "los es", + "ĠF oto", + "ĠJson Object", + "Inst agram", + "Ġsys call", + "Ġreal ities", + "ĠMAT LAB", + ":^ {Ċ", + "TER M", + "ĠC bd", + "ĠPar agraph", + "Ġtrav és", + "Ġconstruct ing", + "Ġsw al", + "Ġp ige", + "LL LL", + "-ex isting", + "G ets", + "Ġmelt ed", + "Ġmitig ate", + "H en", + "Ġh m", + "im as", + "ĠA o", + "ĠP erez", + "ĠD AL", + "Ġëĭ ¤", + "Ġdiv is", + "Storyboard Segue", + "ĠMod ify", + "ĠÃľ ber", + "_O VERRIDE", + ".p em", + "unt os", + "Ġespa ñ", + "Ġ{ ?", + "ĠP AY", + "_ip v", + "ĠF ury", + "__ .__", + "el ow", + "-center ed", + "check s", + "_ Reg", + "-J avadoc", + "ĉ load", + "ĠLik ewise", + "ا Ùħ", + "UN E", + ".se m", + "x cb", + "ĠC ave", + "_s leep", + "Ġsil ently", + "ĠExt reme", + ".To Upper", + "ĉC HECK", + "Ġc ue", + "ĠQ ByteArray", + "Ġcorrupt ed", + "ĠD é", + "Ġimp ed", + "Get Name", + "Ġinaccur ate", + "Ġso ber", + "е е", + "Ġbar code", + "-- ){Ċ", + "ink i", + "Ġé p", + "Ġd ri", + "ĠAL T", + ">>>> >>>>", + "ont a", + "[ L", + "Ġinter es", + "ver ting", + "Ġdi agnostics", + "p dev", + "è ©", + "ĠIntegr ated", + "). '", + "_g c", + "$ text", + ".g ames", + "ĠT erra", + "' Re", + ".trans fer", + "_F IFO", + "get Model", + "Ġbl and", + "ĠCole man", + "Ġpr imes", + "Ġæ Ī", + "Ġcross es", + "n k", + "G ING", + "Ġ' ^", + "ĠB lob", + "Ġinter course", + "ĠBl vd", + "Ġweigh s", + "_reg ular", + "ĠPer th", + "Ġsepar ating", + "Ġb illed", + ".tab Control", + "Ġpup pet", + "Ġutil ization", + "Ġâĸ ł", + "Ġsucc es", + "Ġl amps", + "_pro j", + "E ric", + "Ġren ovation", + "ĠFam ilies", + "ĠB its", + "part ials", + "-M en", + "s olution", + "Ġd warf", + ".IN TEGER", + "ĠLO CK", + ". ct", + "Ġexcer pt", + "ĠP ix", + "ĠFirst Name", + "ANT ED", + "ĠAd mir", + "-h elp", + "P rior", + "ĠAl ign", + ".IN STANCE", + "Line Edit", + "('/ :", + "Ġin et", + "od us", + ".p kl", + "ĠK Y", + "up ert", + "Ġn erves", + "_grad ient", + "} ','", + "_un ref", + "Ġs aturated", + "ĠConn ected", + "ĠF N", + "EX IT", + "Ġtele port", + "Ġav ait", + "Page Route", + "Ġdivor ced", + "(l ang", + "f st", + "ĠT yr", + "Ġmess enger", + "if stream", + "X S", + "ĠBank ing", + "Ġinfect ious", + "ĠM ons", + "_LO OP", + "Ġzur ück", + "Ġobt ener", + "/re pos", + "V el", + "ac ro", + "Ġuser Repository", + "style Type", + "ĠS RC", + "VML INUX", + "rec ursive", + "/ bar", + "_ch ip", + "omin ated", + "ĠN it", + "âĢĶ to", + "ĠBudd h", + "ом еÑĢ", + "ĠM AG", + "ĠC HE", + "_d en", + ". raises", + "_de gree", + "Ġpump kin", + "_tem plates", + "_M EDIA", + "ĠTim eline", + "Ġb ots", + "Object Type", + "Ġbu ys", + ".post s", + "C AL", + "wait ing", + "ĠDani els", + "Ġd abei", + "ĠS igma", + "il or", + "ig el", + ", W", + "AD S", + "( panel", + "ì² ´", + "it ating", + ".p alette", + "Ġmos quito", + "Ġt ego", + "(parse Int", + "Ġdes pués", + "p romise", + "Ġw ij", + "types cript", + "ĠT v", + "_IDENT IFIER", + ").ĊĊ Ċ", + "_fl at", + "its u", + "US R", + "ex perience", + "-f it", + "ph inx", + "_th resh", + "Ġide ally", + "ĠFre eman", + ", DB", + "_r w", + "çŃ ī", + "U b", + "_stat istics", + "=\" \"><", + "Ġch ore", + "Ġy ork", + "inst alled", + "Add itionally", + "Ġp stmt", + "yl ko", + ":: Ċ", + "Fore st", + "Ġhead set", + "Ġgall on", + "ÑĢ ÐµÐ¼", + "Ġwithdraw n", + "ĠC andidate", + "Ġmel ting", + "Ġfree zer", + "Ġh l", + "_HE LP", + "m ime", + "( /*", + "Ġth irst", + "$ return", + "member of", + "еР±", + "ĠHttp ServletRequest", + "( ob", + "_ Result", + "Ġassert ed", + "Ġfulfill ing", + "Ġstret ches", + "par ated", + "-f unded", + "Ġå Ľ", + "ing les", + "_c a", + ". condition", + "ĠDis plays", + "Ġor ang", + "ĠC RE", + "Ġgl Bind", + "ĠSelect or", + "/ type", + "ĠAlex a", + "ched ules", + "ĠPen insula", + "Ġpar ity", + "ĉ dest", + "ĠDo ors", + "čĊ ĉčĊ", + "_dim ension", + "Ġa load", + ".St oredProcedure", + "(p aren", + "ĠBur ke", + "') ]Ċ", + "- engine", + "Ġqu ir", + "ĠHy brid", + "ĠDo e", + "Ġout lines", + "ĠTrend s", + "_N V", + "per iments", + "ĠH in", + "? ',", + "ĉ Text", + "F UL", + "Ġsm ells", + "Ġs lick", + "Ġmis erable", + "ĠArray Adapter", + "Ġparam String", + "H om", + "_l iterals", + "us uarios", + "Ġprompt ing", + "_l azy", + "ĠActiv ation", + "_ oc", + "We ak", + "Ġan ecd", + "ĠU CLA", + "= re", + "isse ment", + "ĠEsc orts", + "Ex cellent", + "ĠP ause", + "Ġre positories", + "T OR", + "ari ate", + "_is o", + "up dates", + "hal b", + "udi ante", + "ë¡ Ŀ", + "Ġna ive", + "ĠP eg", + "ĠL ounge", + "ARG IN", + "(b in", + "On ClickListener", + "ĠFA ILED", + "Ġl ite", + "Ġd zie", + "ĠL iteral", + "iv or", + "fc ntl", + "Ġe ats", + "Ġq ed", + "Un lock", + "rid ing", + "und ai", + "= M", + "AT TER", + "Configure Await", + "ici as", + "ustom ed", + "Ġsuccess ion", + "end Time", + "ĠJ upiter", + "Ġjud ging", + "d ration", + "_d ocs", + ".m o", + "Ġeduc ators", + "ĠV ine", + "Con d", + "[ out", + "q b", + "\\ Validator", + "Ġmean ings", + "Ġpresent ly", + "Ġdiv iding", + "otten ham", + "asc ular", + "Ġtrail ers", + "ĠC LOSE", + "ам и", + "âĢĻ ai", + "ĠG ain", + "w or", + "Ġpl anner", + "Ġdistrib uting", + "v at", + "month s", + "x label", + "H F", + "V iol", + ".BASE LINE", + "еÑĤ ÑģÑı", + "ĠR otate", + "Ġtx n", + ": bold", + "Ġb loss", + "Forg ery", + "( embed", + "Ġjak o", + "s printf", + "the ir", + "Ġexhib its", + "- static", + "he cy", + "get ActiveSheet", + ".c lients", + "ãģ į", + "_h ide", + "[ word", + "C b", + "add Item", + "ax e", + "_r adio", + "al ion", + "mod ifier", + "Ġsat uration", + "Ġden om", + "_p ixels", + "m ess", + "(f l", + "at if", + "Ġse cs", + "Ġpro stitution", + "Ġgrand children", + "Ġparad ise", + "ĠF eld", + "_B INARY", + "it ous", + "๠Ħ", + "Ġflash ing", + "-s ided", + "Ġcontrad iction", + "/* ĊĊ", + "y label", + "ĠT et", + "Ġadm ire", + "res o", + "Ġlet z", + "ĠSE ARCH", + "sl ots", + "ĠRew ards", + "ĠH og", + "ĠNS Data", + "st ash", + "F all", + "ĠA mer", + "Line arLayout", + "/ photos", + "Ġfe ather", + "Ġ| čĊ", + "Download s", + ".Start sWith", + "Ġ// #", + "ine Transform", + "Ġaff id", + "V tbl", + "ĠRog ue", + "scri bed", + "Ġfa uc", + "ĠMon roe", + "Ġdecl ares", + "mod ern", + "re on", + "ay be", + "P ASS", + "f ers", + "_MULT I", + "ĠMath ematics", + "Ġsud ah", + "_ATT ACH", + "Ġnumber With", + "ĠSol omon", + "j in", + "ograf ia", + "ö l", + "_d esign", + "cul ated", + "ĠL una", + "ies z", + "Ġ=> '", + "Ġrevel ations", + "Al ong", + "( ed", + "ĠF ilename", + "Ġy label", + "Sec ure", + "Ġbus ca", + "agn osis", + "_RE CE", + "Ġoverl apping", + "Ext ent", + "Ġanticip ation", + "Check s", + "ĠALS O", + "or c", + "iling ual", + "it ational", + "Ġadv ancement", + "ou ro", + "ĠP redicate", + "å¾ Ĺ", + "er ia", + "ĠPier ce", + "or io", + "Ġmer its", + "Ġpe anut", + ".P ackage", + "ĠCon duct", + "_SENS OR", + "Ġbo iling", + "Ġin tra", + "ĠI GN", + "ĠF ur", + ".Ref resh", + "ĠRe ach", + "_dec oder", + ".Ex p", + "ĠÑĤ ак", + "p ill", + ", Q", + "ĠGr ill", + "Ġpop ping", + ".A g", + "Ġpro yecto", + "Ġmile age", + "Ġec ological", + "] ]);Ċ", + "Ġ Ń", + "sub plot", + "ac ad", + "ĠTry ing", + "rec ipes", + "$ criteria", + "ĠPers ian", + "-b ound", + "M ASK", + "ĠG esture", + "Ġk k", + "ĠP VC", + "Ġprohib ition", + "Ġcom ando", + "ĠLO OK", + "Sh opping", + "Ġdist ortion", + "< Boolean", + ".Get Length", + "um pt", + "\\ Product", + "ell ery", + "Ġfire wall", + "form atted", + ".red is", + "Ġes a", + "ĠRh ode", + "S om", + ".n on", + "Ġ' ).", + "Ġget View", + "ạ n", + "pr us", + "Mat thew", + "Ġs ia", + "ĠF ors", + "G PU", + "ient ras", + "_IN ST", + "Ġol arak", + "Ġimport ing", + "T CP", + "/ \");Ċ", + "e ither", + "Ġfresh ly", + "c ascade", + "(char acter", + "ĠJe ep", + "ot ics", + "_ UTIL", + ".Xtra Printing", + ".first Child", + "ĠEx cell", + "Ġd vd", + "Ġt aller", + "Ġr as", + "yp ass", + "Ġassign s", + "Ġgri ev", + "-m ore", + "J D", + "ĠBurn s", + "' >čĊ", + ".D ependency", + ".Query String", + ".O wner", + "Ġexp iry", + "Th u", + "( Vec", + "Ġhazard ous", + "Ġr pm", + "AP ON", + "Ġadd Target", + "sv ille", + "p Net", + "ĠIm g", + "ĠTIM ER", + ".An imation", + "Ġbe k", + "Ġass ort", + "Ġle bih", + "Ġbody Parser", + "Ġvibr ating", + "ID L", + "Ġbutter knife", + "int ers", + "Ġpersu ade", + "ĠLGBT Q", + "è ĭ", + ".s oft", + "Ġbe ams", + "_s ur", + ".D ef", + "Ġl abs", + "ĉ plt", + "Ġsk ins", + "Ġtransf erring", + "Ġimag inary", + "_E nd", + "; background", + "Ġl aps", + "_COM MENT", + "(S DL", + "ond s", + ".Rec ord", + "ĠIm plements", + "_t icks", + "() ))ĊĊ", + "Ġa rose", + "] ?", + "ĠM p", + "ĠI Command", + "Ġsculpt ure", + "Ġcontract ed", + "< HTML", + "Ġcal end", + "at y", + "/ Sub", + "Ġkv inn", + "_ IGNORE", + "ĠSh ane", + "ML S", + "Ġstim ulate", + "Part ition", + "Ġm un", + "ó m", + "eral a", + "- account", + ".B inary", + "c é", + "Ġse ize", + "connection s", + "ĠĊ ĠĠĠĠĠĠĠĠĊ", + "ĠDi agnostic", + "V ISIBLE", + "ĠRun s", + "Ġimpress ions", + "s uite", + "ob le", + "~ -", + "ak ukan", + "< Person", + "ĠN os", + "ĠG ui", + ".wait For", + "RE SET", + "Ġpost pon", + "Dis cover", + "arr ison", + "sh aw", + "b lood", + "AJ OR", + "æĽ´ æĸ°", + "ĠM use", + "æĶ ¶", + "Ġret aining", + "ot te", + "Ġmos que", + "ĠS ne", + "Ġstandard ized", + "Ġmain land", + "_th ree", + "unge ons", + "get Doctrine", + "Ġwh ale", + "Ġag g", + "ĠP orsche", + "now led", + "lat ent", + "ĠRel ation", + "Ġ// '", + "Ġshut ting", + "ĠRem ix", + "_c ov", + "Ġs ailing", + "Ġv owed", + "Ġp ots", + "out u", + "Ġhair y", + "cast s", + "Rel oad", + "Ġre connect", + "ter a", + ".child Nodes", + "ĠR ack", + "Ġcurrent Index", + "Ġall en", + "Ġ ç͍æĪ·", + "ĠC ubs", + "[ X", + "_SE Q", + "_RE MOVE", + ".get Action", + "(/ ^", + "err ar", + "Ġ ether", + "cur ve", + "Ġsl ap", + "Ġu om", + "O thers", + "Ġen gr", + "Dis position", + "Ġst aged", + "E ye", + "ĠA ux", + "auth enticate", + "Ġ$ ?", + "ĠAndre as", + "Ġset w", + ".A rt", + "Ġforecast s", + "Ġa unt", + "-m iddle", + "Ġmis d", + "des k", + "Ġescort e", + "ĠCas a", + "rop ical", + "Ġexem ple", + "plan et", + "(U INT", + "Ġwh ip", + "ĠPC B", + "clide an", + "=\" \\", + "Ġox ide", + "Ġsucceed s", + "der ived", + "ĠEcon om", + "_co ordinates", + "ir as", + "D raft", + "Ġvisual ize", + "B rian", + "_ASS UME", + "ĠObject Id", + "Ġtrain ers", + "_FOR CE", + "Ġcon soles", + "- process", + "lic her", + "ĠSim mons", + "T aking", + "ĠCl aims", + "Ġdiffé rent", + "Activity Result", + "Ġsn s", + "éĢī æĭ", + "ĠCr us", + "Ġll am", + "r ab", + "ĠJo an", + "AA A", + "ĉf ilter", + "ish ops", + "get ting", + "à µ", + "Ġquant o", + "P ast", + "ov ich", + "Ġin justice", + "ĠF LOAT", + "Ġal right", + "\\ DB", + "( GameObject", + "u ish", + "(b ot", + "Ġgall ons", + "ĠR é", + "ĠS aid", + "ĠSTDMETHOD CALLTYPE", + "ais ing", + "_process or", + "ell idos", + "ter dam", + "ĠBe am", + "Text Area", + "Ġret orno", + ".M ake", + "Ġ$ (\"<", + "Ġlock down", + "Ġremed ies", + "Ġve el", + "x ee", + "do ctype", + "F il", + "ĠExp and", + "Ġemp loys", + "Ġsession Storage", + "Ph p", + "P ublish", + "Ġret al", + "f abs", + "ynam ics", + "Ġtoss ed", + "ĠnumberOfRows InSection", + "x path", + "\\ modules", + "Ġdis astr", + "ĠM ULT", + ".M esh", + "-st age", + "Ġs df", + "it ung", + "ug es", + "Ġ?> \">'", + "kin son", + "Ġк ол", + "ogn itive", + "_ li", + "Ġim minent", + "Ġaff inity", + ".sign al", + "Ġnot ch", + "ĠSteel ers", + "max length", + "K K", + "ĠEug ene", + "_P WM", + "ro i", + "Ġâ Ĺı", + "ĠH amburg", + ".M ust", + "Ġax e", + "en ef", + "Ġamb itions", + "ĠSpec ies", + "ĠSt ress", + "Ġa while", + "Ġб Ñĥд", + "Ġwith stand", + "ĠDec oder", + "_in ventory", + "Ġ{ ččĊ", + "Ġt gt", + "Ġrail road", + "W ASHINGTON", + "Ġnegot iated", + "N ST", + "- phone", + ", U", + "Ġexerc ising", + "á» ¥", + "_P IXEL", + "av ors", + "iter ated", + "Ġv ampire", + "ad al", + "In grese", + "Ġun g", + "ject ive", + ".c ells", + "Ġn ano", + "Ġmark down", + "_R ULE", + "(event s", + "Ġl uggage", + "MESS AGE", + "ig keit", + "$ count", + "Attribute Name", + "IG INAL", + "_E nt", + "ĠB F", + "ĠCOM MENT", + "_in i", + "ĠEurope ans", + "ĠB elle", + "åij ½", + ") ['", + "åº Ķ", + "ĠUse ful", + ".re ference", + "() \",", + "_ grade", + "ĠK aw", + "Ġsent encing", + "Ġsocial ism", + "mon ster", + "_L AYER", + "Ġdee pest", + "w k", + "ĠNo ise", + "### ĊĊ", + "Ġpr éc", + "ot le", + "ÑĤ е", + "a uf", + "ib al", + "Ġcon quer", + "> Email", + "Ġamb ulance", + "O AD", + "Ġ(\" %", + "ĠF I", + ".f ixture", + "Ġter se", + "ĠĠĠĠ ĉĉĉĉ", + "Ġsanct uary", + "ug i", + "ĠCom parator", + "Definition s", + "Ġast hma", + "Ġl act", + "Ġhard wood", + ".c lock", + "Ġattract ing", + "ĠM our", + "(d istance", + "ic its", + "Ġbon ne", + "ĠAC CESS", + ".Deserialize Object", + "ĠTyp ed", + "Ġje u", + "Ġapp Id", + "ĠCl ara", + "ĠH F", + "ĠRe ich", + "ipp les", + "//---------------------------------------------------------------- ----------------", + "_del ivery", + "erial ization", + "Ġplaint iffs", + "Sc ient", + "sh opping", + "ĠD ummy", + "ĠW ald", + "Group Name", + "Ġins cription", + "el og", + ":::: ::::", + "_ ld", + "Back Pressed", + ".R aw", + "ĠOn Trigger", + "Ġmuse ums", + "ĠBe en", + "ĠAdvent ures", + "Ġsl ate", + "Ġlet t", + "Ġsu nd", + "ĠG in", + "ĠMechan ical", + ".s hip", + "App Component", + "Ġdest ined", + "Ġdw elling", + "Prof iler", + "Pre pare", + "ze ich", + "Ġsil icon", + "(h as", + "Ġ# %", + "VID EO", + "Ġcollabor ate", + "L in", + "Ġsc opes", + "( className", + "(s d", + "and in", + ".h am", + "Service Impl", + "-des cribed", + "Ġiron y", + "st ial", + "ĠHu awei", + "(re po", + "Ġunexpected ly", + "ĠK ai", + ".inst all", + "\\x f", + "Ġexhib ited", + "_T CP", + "ĠO x", + "_CH O", + "Ġprostitu erte", + "Ġv ä", + "Ġsit o", + "Ġconstitu ents", + "ĠContin ued", + "ĠS AVE", + "r ss", + "/ message", + "ub es", + "Ġmisd emean", + "Ġtax ation", + "Ġstory line", + "h air", + "ĠFind s", + "S IG", + "ver ification", + "~ =", + ".h p", + "Iter able", + "Ñĭ е", + "ator i", + "Ġc tr", + "R x", + "_ );ĊĊ", + "d ag", + ".p in", + "Ġp seud", + "Ġinv o", + "ÑģÑĤ ÑĢ", + "_p ix", + "为 空", + "Ġsw orn", + "âĢĶ or", + "_reg istry", + "Ġdis asters", + "ĠRO I", + "ĠâĢ ķ", + "akt u", + "fore st", + "be iten", + "âĢĶ I", + "ue va", + "eg t", + "Ġsp ikes", + "URE S", + "ĠRecomm ended", + "Ġexplo ited", + "ĠFreder ick", + "_COMP LETE", + "ĠDr ugs", + "!!!! !!!!", + "ĠR iv", + "ST OP", + "RO OM", + "ĠP ASSWORD", + "C ookies", + ".E l", + "á» Ń", + "ĠB ert", + "Ġhash ed", + "ic ester", + "Ġdecor ator", + "Ġquery String", + ": ;Ċ", + "Ġ\" [\"", + "oto pe", + "-A meric", + "ĠMatthew s", + "UR AL", + "âĢľ ,", + "Sum mer", + "f os", + "_CONT AINER", + "_A CK", + "Ġfil tr", + "_dis p", + "_ Re", + "Ġfac ile", + "а ÑĪ", + "Ġìķ Ĭ", + "Ġe ben", + "Ġspr ink", + "ĠQ uint", + "> V", + "Ġhistor ians", + "our met", + "ĠMonitor ing", + "led ger", + "c ott", + "Ġw are", + "GG LE", + "c ars", + "ĠM EDIATEK", + "Ġvol upt", + "_ View", + "HE L", + "(c opy", + "(st ats", + "Ġchrom osome", + "ĠCurt is", + "- conf", + "( asset", + "Ġhv or", + "File System", + "< >();čĊ", + "oc oder", + "ĠC annon", + ") x", + "ĠSm ooth", + "ĠS AS", + "_ ce", + "ĉ prev", + "_m ovie", + "E c", + "_w all", + "< Button", + "ĠF AST", + "Ġon View", + "ul an", + "ĠS UPPORT", + "Ġgesch ichten", + "ĠS ons", + "Im m", + "$ IFn", + "Ġfair ness", + "Ġd pi", + "ats u", + "J osh", + "Equal ity", + "Ġ} ()Ċ", + "_ less", + "ĠR atio", + "ĠC ats", + "ĠS tern", + "Mon ster", + "Ġmer cury", + "ü hr", + "Ġplus ieurs", + ".des erialize", + "sc opy", + ".F alse", + ") animated", + "ĠExp erts", + "Ġ\"\") {Ċ", + ".W hen", + "see also", + ".un pack", + "LE M", + ".select All", + "Ġperception s", + "ud ing", + "ir ling", + "ĠPrint ing", + "gram s", + "ĠFile Stream", + "erv ille", + "il og", + "ic mp", + "_C ount", + "Ġlivest ock", + "- ca", + "doc uments", + "Ġpo les", + "ĉw ant", + "Ġflu ores", + "Ġstand point", + "ĠH uge", + "Ġradi ans", + "ĠUIB ar", + "EDI UM", + "ĠHistor ic", + "_h older", + "ĠMar ines", + "Ġt ä", + ".L ight", + "quir er", + "ason ry", + "div ider", + "ĠFl utter", + "_f b", + "restrict ed", + "ĠEvery body", + "N ão", + "Ġkn ot", + "ĠT witch", + "Ġhall way", + "(C ollider", + "Input Element", + "? )Ċ", + "/ off", + "/ )", + "play ed", + "[ OF", + "Ġbat ting", + "_d l", + "Ġcom edian", + "Ġé v", + "ĠD EM", + "ĠEd en", + ": white", + "' ',", + "Con struction", + "acer b", + "Ġtask ed", + ".man age", + "Rel ationship", + "Ġph on", + "n z", + "_B GR", + "Validate AntiForgeryToken", + "_ air", + "âĢľ When", + "Ġgl fw", + "ĠCon versation", + "_T OTAL", + ", Z", + "Ġg raz", + "Ġiter able", + "ĠP ASS", + "Ġadvert ise", + "Ġmö glich", + "/ train", + "ĠVolk swagen", + "Ġcreep y", + "Ġ\" )čĊ", + "QU ENCE", + "Ġalt ar", + "Ġed its", + "comp iled", + "aw ning", + "ĠD ungeon", + "Ġo sg", + "Navigation Bar", + "Ġtrend ing", + "ĠE co", + "ogg les", + "cd ot", + "| -", + "S ie", + "ec ret", + "ĠN egative", + "ĠL ing", + "ĠD IM", + "ĠC WE", + "ĠCar rier", + "Ġcar tridge", + "_us b", + "= os", + "ĠJack ie", + "Ġo tras", + "Ġcommod ities", + "ĠP resentation", + ")&& (", + "ĠMar tha", + "ĠCath olics", + "ĠM ond", + "об Ñĭ", + "_ absolute", + "Ġash amed", + "pons ors", + "t al", + "Ġsad ness", + "Ġpu ò", + "F ade", + "-pre view", + "ĠRequest s", + "ĠCal vin", + "h orn", + "Reuse Identifier", + "(pro vider", + "/app s", + "ime o", + "ĉ Class", + "S amsung", + "ĠW ORLD", + "Ġc innamon", + "dot env", + "ĠI User", + "ĠDE V", + "_C har", + ".ib atis", + "et i", + "/ me", + "s st", + ".s ym", + "ĠRug by", + "-m aster", + "aj ar", + "ĠY EAR", + "Ġo dp", + "ĠR oles", + "Ġbip artisan", + "ail le", + "Ġblock er", + "Ġgre ens", + ".SE CONDS", + "Ġbelie vers", + "ĠL ikes", + "F LOAT", + "Ġm ak", + "Ġg cc", + "âķIJ âķIJ", + "(\" ~/", + "SCRIPT OR", + "Ġton nes", + "ĠS ang", + "Ġtrans pose", + "enn ai", + "P red", + "Ġsoll te", + ".github usercontent", + "( print", + "ĠH ole", + "çľ ĭ", + "ad get", + "Ġprompt s", + "Ġgen etically", + "ĠH od", + "Ġvert ically", + "_control s", + "ÑģÑĤ ан", + "\") {čĊ", + "$ title", + "Ġ} ),ĊĊ", + "Ġstate wide", + "ĠCor respond", + "ĠAt tr", + "it ant", + "Element Type", + "Ġout ward", + "Ġfam ilia", + "( article", + "Ġbl at", + "Âł Ċ", + "Ġgl Get", + "ĠRe ceiver", + "Ġ% -", + "ad am", + "W inner", + "Ġtail or", + "_p wd", + "ert en", + "St an", + "ĉ all", + "al ive", + "strt otime", + "� s", + "s essions", + "$ conn", + "ass ist", + "Ġchat ting", + "ĠM ant", + "Ġ% @", + "Ġ\"\" );ĊĊ", + "Ġd gv", + "Ġíķ ¨", + ".re peat", + "_M essage", + "Ġadvis ers", + "/ path", + "Ġk es", + ") } .ĊĊ", + "ogen esis", + "ĠOPTION S", + "upt ools", + "Ġmilit ant", + "Ġex ited", + "ig ar", + "ĠCOM M", + "ĠDis posable", + "ay cast", + "Ġrow span", + "Ġsyn thes", + "Ġsond ern", + "ĠĊ", + "ĠJ acket", + "R ATION", + ".getSelected Item", + "- init", + "ĠReg isters", + "_se p", + "ĠTool kit", + ".d ict", + "Ġx label", + "\\ Table", + "t oc", + "_com bo", + "ĠComp act", + "Ġr ugged", + "à¥ĩ à¤", + "-man agement", + "')}} \">Ċ", + "ĠSt amp", + "ı l", + "ro x", + "Ġlandsc apes", + "_NOT E", + "mon ary", + "c ab", + "Ġmo et", + "x af", + "rc ode", + "- cli", + "_g ate", + "[ event", + "SP ORT", + "g ia", + "ĠS UPER", + "/ Login", + "_sh utdown", + "int errupt", + "Ġpret ending", + "Ġfr inge", + "ĠRed s", + "ĠC UDA", + "ĠUN IX", + "v it", + "Ġbr ig", + "dr v", + "ĠConn ector", + "There fore", + "Ġl ia", + "D etection", + "_ actor", + "Ġtemp file", + "Ġecc entric", + "- role", + "Ġpad x", + "d ent", + "West ern", + "Ġê ·¸", + "ĠApplication Record", + "Ġcampaign ing", + "_run ner", + "ĠC ivic", + "ale igh", + "Ġdire kt", + ".s ul", + "ĠĠ ĉĉĉ", + "ant en", + "Ġiss uer", + "Ġassert ions", + "( orig", + "AT IO", + "Ġlean ed", + "ä s", + ".D TO", + "expl ode", + ".O bservable", + "Ġstagger ing", + "Ġkidn apped", + "Ġprogram mers", + "ĠInn ov", + ".param eter", + "Ġdom ination", + "Ġske ptic", + "Ġæĺ ¯", + "Ġavoid s", + ".Ver ify", + "ub by", + "ĠAS N", + "Ġformat o", + "ĠBeat les", + "_b rand", + "Ġin set", + "y outu", + "Ġto c", + "-f inal", + "Show ing", + "ĠD oub", + "ĠM esa", + "Ad j", + "_m edium", + "Cre ates", + "(end point", + "ĉ UP", + "bb ie", + "Ġst alk", + ".datab ind", + ".S can", + "ag ents", + "$ ,", + "ind ividual", + "+ )/", + "ĉv m", + "(not ification", + "Ġin ex", + "ĠClass ification", + "ren o", + "Ġo lig", + "-r ated", + "Ġform ulation", + "', {", + "Ġa cept", + "_un pack", + "_C A", + ".P ow", + "ĉ im", + "Ġal uminium", + "AN O", + "Ġx n", + "Ġcó mo", + "ĠIng redient", + "Ġseiz ures", + "åħ ±", + "ific ador", + "Ġsigu iente", + "ĠIn fragistics", + "Ġduplic ated", + "ĠDe e", + "Ġn ø", + "ĠAC CEPT", + "(c rate", + "иÑĤ елÑĮ", + "- less", + "Ġinf inity", + "An alyzer", + "-D ay", + "rit t", + "(c in", + "ĠG y", + "Ġmulti plied", + "uch i", + "ĠBald win", + "/ ip", + "Ġshort cuts", + ".A DD", + "Ġvig or", + "_in struction", + "( ;", + "_ eta", + "è¿ ŀ", + "utor ials", + "Ġboost ing", + "b v", + "Ġacknowled ges", + "List ening", + "FA Q", + "; b", + "(( -", + "Ġarchitect s", + "Ġz we", + "Ġpul s", + "Ġget Count", + "ver bs", + "ãĢ ľ", + "(C ollection", + "k re", + "Ġjuris dictions", + "_b ridge", + "ĠCr ack", + "ĠDiff iculty", + "K O", + "Res ervation", + "_re quires", + "T our", + "ãģĹãģ Ł", + ".set Current", + "Ġk y", + "ĠAlb any", + "Ġè §", + "ll er", + "agn a", + "work ers", + ".bl ank", + "ĠPr ayer", + "M IC", + "Ġresil ience", + "Te X", + "ĠL anguages", + "st udy", + "ĉc urr", + "Ġenzym es", + "Sl ug", + "ĠíĮ Į", + "str al", + "Ġtum ors", + "Ġseg unda", + "=' {", + "in struction", + "ĠL isp", + "/ info", + "Ġ\" {$", + ",: ),", + "Ġg v", + "( ErrorMessage", + "Ġ' =", + "}- ${", + ".Doc uments", + "\" Well", + "Ġreminis cent", + "Ġg az", + "iro pr", + "eh r", + "Ġsup pressed", + "ers h", + ".scroll To", + "Ġcad ena", + "Ġgame State", + "ÃŃ m", + "( conv", + "ĠTom orrow", + "ĠC CT", + "M ongo", + "ul g", + ".C amera", + ".hand lers", + "m ph", + "Ġst k", + "Ġgen etics", + "AC ING", + "Tr ivia", + "ĠB am", + "(m arker", + ".St retch", + "ĠSun ni", + "ĠBet ty", + ".t olist", + "un likely", + ".Rect angle", + "ob solete", + "IL ON", + "inner Text", + "emb ourg", + "a N", + "ĠV ehicles", + "un lock", + ": utf", + "n ob", + "ĠSee ing", + "ĠNE VER", + "Ġt ls", + "Ġfil les", + "Ġbenef ited", + "ĠCl int", + "*/ ),", + ".f old", + "Ġpos ible", + "A DED", + "th ouse", + ".D AL", + "ĠO dd", + "ro kes", + "ĠSun ny", + "ĠPartial Eq", + "_B uffer", + "ĠLe vi", + "long rightarrow", + "eld on", + "g ages", + "_w arn", + ".Create Table", + "ĠD ip", + "_ questions", + ".log ic", + "Ġ# \"", + "={() =>", + "Ġt ep", + "Ġju icy", + "ì Ĥ¬", + "en ko", + "ia lect", + "Ù ī", + "Ġon board", + "Ġæ ı", + "ĉ rt", + "_ UTF", + "ĠQ Action", + "âĢ ŀ", + "( Component", + "(a udio", + ".h it", + "g te", + "Ġprogram med", + "state Params", + "Ġpoly ester", + "f ires", + "by ss", + "] =(", + "_ quality", + "Of Day", + "ĠFair y", + "Ġy elled", + "op l", + "(user Name", + "ĠD ifference", + "Ġevalu ations", + "iff any", + "Ġcycl ists", + "Ġc idade", + "Ġtext book", + "Ġprof iling", + "__ ),", + "de a", + ". activate", + "Ġindic ations", + "Ð ķ", + "Touch UpInside", + "Ġinval uable", + "ĠM ASK", + "Ġcont end", + "F req", + "Ġrecru its", + "(int erval", + "ĠUser Profile", + "Ġ'./ ../", + "ed u", + "_C allback", + "Ġanal ogy", + "ĠTro phy", + "app hire", + "V ideos", + "ĠCh er", + "ĠH av", + "â̦ \"", + ". validator", + "g fx", + "ĠU Object", + "class names", + "tri angle", + "ĠEnc oder", + ".s py", + "Ġpred ators", + "= status", + "-s afe", + ": \",Ċ", + "ĠIn cluding", + "Ġ{} ;čĊ", + "* cos", + "Ġend ured", + ".sul ake", + "Ġnurs ery", + "Ġfrag rance", + "Ġre building", + "Ġn th", + "ĠFr aser", + ".set Date", + "ĠV ince", + "_RE ST", + "Ġvent ilation", + "æµ ·", + "cri bes", + ".as m", + "lp Vtbl", + "ĠA be", + "uis ine", + ", array", + "ĉ className", + "err als", + "Ġ' ĊĊ", + "Check out", + "Ġsol icit", + "A ux", + "_c apture", + "Ġrib s", + "rag on", + "vi ol", + "top ics", + "Function Flags", + "ĠM arty", + "b ike", + "ĠT ucker", + "(k ernel", + "ĠO ps", + "Close Operation", + "/d emo", + "ild a", + "ĠlÃŃ nea", + "APP ING", + "Ġsu ites", + ".visit VarInsn", + "ur us", + "ĠMin ute", + "(m anager", + "Ġbutter fly", + "Ġap are", + "Ġw olves", + "J WT", + "ĠSal on", + "ĉd elay", + "-es lint", + "is ations", + ".r pc", + ")| (", + "ĠSnap chat", + "/m m", + "M N", + "cer ies", + ".text Alignment", + "ĠFrank furt", + "Ġad o", + "(new Value", + "( access", + "( Expression", + "ĠSign In", + "ĠHait i", + "_t p", + ".set Parameter", + "Min ute", + "Ġmanual s", + "ric anes", + "ĠP TR", + "ĠOut er", + "Ġget line", + "oc ations", + "_C D", + "ĠLy on", + "/g ui", + "_l ive", + "id an", + ".ge om", + "Ġborder Bottom", + "im uth", + "_check point", + "Ġme u", + "ĠIr ving", + "Ġpeu vent", + "(M AX", + "ĠAR CH", + "Ġp ov", + ".source forge", + "Ġjam ais", + "Ġar k", + "ĠBaghd ad", + "ĠC LEAR", + "Menu Bar", + "Ġtro is", + "CHED ULE", + "Ġ# čĊ", + "(C all", + "$ order", + "(M aterial", + "Ġencontr ado", + "$ list", + "ĠMETHOD S", + ".begin Transaction", + "_M AG", + "Style Sheet", + "Ġmaj ors", + "Ġindef initely", + "clean up", + "Ġhom eland", + "(d to", + "D ates", + "P resentation", + "ĠD K", + "={` /", + "ĉ Key", + "( Block", + "_check box", + "ne eds", + "Ġon Complete", + "ric o", + "Ġgle ich", + "Ġx m", + "O OD", + "B etter", + "ĠSQL ITE", + ". Book", + "x ad", + "ĠG one", + "ĉd p", + "Ġdev otion", + "Ġst m", + "Ġobs ess", + "ĠBack end", + "Qu eries", + "I k", + "// ****************************************************************", + "Ġdivid ends", + ".parent Element", + "} \")ĊĊ", + "ĠMaterial PageRoute", + ": num", + "Ġexp lic", + "ĠO L", + "le ast", + "O ops", + "iment os", + "Ġins urers", + "Ġhero ic", + "ĉf ields", + ".img ur", + ".btn Cancel", + "ĠDetect ive", + "(s m", + "ĠMutable LiveData", + ".l ab", + "(( [", + "Ġha irst", + "ĠTrans actions", + "å¼Ģ å§ĭ", + "Ġstd Class", + "uent o", + "G IS", + "_c od", + "Instruction s", + "C alls", + "Pointer Type", + "ĠR w", + "Ġassort ment", + "ĠD IG", + "+ r", + "_C ERT", + "Ġinst ability", + "Ġv ib", + "on as", + "Ġro ku", + "ap ellido", + "Ġan gl", + "prene ur", + "Ġfluid s", + "ise ase", + "Ġde ed", + "qu ist", + "_CONST ANT", + "Ġequ ilibrium", + "_de legate", + "ĠQuant um", + "re i", + "Cap abilities", + "rect angle", + "? ><", + "al ien", + "ĠJ ug", + "D NA", + "T ickets", + "Occ urs", + "ĠHaw k", + ".setHorizontal Group", + "\\ Collection", + "ff iti", + "Ġre arr", + ".setVertical Group", + "Ġc avity", + "Ġadult e", + "Fac ade", + "- wh", + "ĠL OL", + "Ø °", + "Ġgrand parents", + "Sw ift", + "ĉw x", + "æīĢ æľī", + "if en", + "ff set", + "B eyond", + "// }ĊĊ", + "Ġw ager", + "Ġb ury", + "Ġcomm ence", + "reg istro", + "sc ient", + "ĠPer cent", + "Ġд олж", + "( identifier", + ".set Model", + "Ġs eldom", + "nt on", + "Ġappl iance", + "am us", + "rys ler", + "Ġpant ies", + "engu ins", + "Ġmim ic", + "Ġon Changed", + "Ġal coholic", + ".reload Data", + "Ch arge", + "ĠF ax", + "Ġj ScrollPane", + "Emp resa", + "Ġsh attered", + "x ba", + "Font s", + "? s", + "Ġpost season", + "ret ain", + "_r ates", + "Ġrequest Code", + ".t odo", + "´ s", + "CH K", + "ĠKeep ing", + "enge ance", + "Ġvs code", + "IPP ING", + "Default CloseOperation", + "_ raise", + "ĠO culus", + "ogram s", + "ra j", + "pc i", + "Ġcorros ion", + ".handle Submit", + "Access ible", + "ĠP iano", + "l ittle", + "AC L", + "Äĩ e", + ".un wrap", + "ĠCon vers", + "ĠLe ben", + "ione er", + "ĠMer chant", + "ĠJ orge", + "Ġembr acing", + "Ġvent a", + "á st", + "Ġvi ene", + "< QString", + "Ġexplos ions", + "Ġdistur bed", + ".\" <", + "m emo", + "ĠAb original", + "Ġcomple to", + "Tex Parameter", + "Ġuom ini", + "( agent", + "Ñĥ ÑĢ", + "ĠWh olesale", + "/ am", + "ĠBook mark", + "dr agon", + "Ġglo ve", + "Ġ\" \"));Ċ", + "iv ariate", + "now rap", + "In Children", + ".B r", + "Ġcon exion", + "Ġback bone", + "Ġe clipse", + "Ġpersec ution", + "': ĊĊ", + "/ link", + "ĠP ero", + "and as", + "ĠT ek", + ". \");", + "-an alysis", + "Ġer ad", + "Mar shal", + "Ġanch ors", + "og er", + "Ġconver gence", + "st icky", + "Ġnave g", + "int ern", + "_DE SCRIPTOR", + "ĠConsult ant", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ċ", + "ĠA uch", + "Ġer re", + "ÅĽ li", + "ĠHor izon", + "col a", + "Install ation", + "hot mail", + "C NN", + ".C ollectors", + "ch s", + "(tr ace", + "ĠEnc rypt", + "Ġ---- --", + "ĠBase Controller", + "Ġag ua", + "Ġre active", + "id l", + "Ġclass Names", + "ĉ Session", + "ĠDod gers", + "H ad", + "_l v", + "Is Valid", + "ĠHEL P", + "ut to", + "ĠVer ification", + "Ġget env", + "_p a", + ".b mp", + ": f", + "ĠLou ise", + "(' ;", + "/ socket", + "Gr anted", + ".c alendar", + "( IP", + "ĠP X", + ".R oom", + "Ġprogram m", + "ens i", + "Ġtablesp oons", + "Ġle ve", + "Ġmo str", + ".t ipo", + "/ an", + "(d i", + "Ġb iod", + "Ġdb Context", + "ĠJS X", + "ĉ results", + ". END", + "ht e", + "l ify", + "P recision", + "èĬ Ĥ", + "ARS ER", + ")did ReceiveMemoryWarning", + "at tempt", + "IS P", + "& a", + "_P OP", + "ĠT ac", + "Ġprepared Statement", + "Ġзап иÑģ", + "Ġow ing", + ", start", + "Ġreview er", + "Ġr st", + "Ġprop Types", + "Ġrock y", + "_lo cale", + "ĠStrateg ies", + "ĠWe ber", + ".C ascade", + "_equal To", + "Ġcos as", + "ĠDe letes", + "ĠMax im", + "Ġsh rimp", + "re trieve", + ".In clude", + "IG IN", + "ĠO E", + "] );čĊčĊ", + ".en umer", + "Ġco ef", + "_N ull", + "R a", + "ty ard", + "ĠSh awn", + "keep ers", + "Ġq q", + "_s b", + "om ens", + "ĠExec utes", + "# \"", + "TT Y", + "ĠValue Type", + "); */Ċ", + "ĠAbs olutely", + "ĠT ottenham", + "/ art", + "Ġbless ings", + "Ġswift ly", + "b uster", + "Ġa vid", + "COM M", + ", temp", + "Ġ} ?>Ċ", + "-g rowing", + "Ġdeep copy", + "A ck", + "egg ies", + "Ġ__ (\"", + "Ġno ir", + "terror ism", + "Ġanth em", + "ag ency", + "_PACK AGE", + "ĠC losure", + ".reg istry", + "Ġmamm als", + "< L", + "U ICollectionView", + "ĠLED s", + "Ġvol ley", + "( Buffer", + "_N ATIVE", + "lib c", + "impl ode", + "Scroll Bar", + "ĠMar ion", + ".Con tracts", + "_A t", + "ĠWe instein", + "compare To", + "ĠH ose", + "en ity", + ".create Query", + "_r outer", + "Ġstim uli", + "Ġ++ )", + "ĠCh amp", + "ĠBay ern", + "ass a", + ".v a", + "Ġdistrib utors", + "Ġfile private", + "Ġdepart ed", + "cc cc", + "@ click", + "ĠL unch", + "> L", + "Ġbl uetooth", + ".De ep", + "- standing", + "ác il", + "Ġro oft", + "ĠPath s", + "_iter ations", + "Invalid ArgumentException", + ".s pi", + "ĠUIAlert Action", + "uy e", + "sign in", + ".p riority", + "ĠEss ays", + "=' {$", + "Ġè¿ ĶåĽŀ", + "_s igned", + ".p ersist", + "Ġred esign", + "To Lower", + "ĠNew man", + "= start", + "ĠIsrael is", + "asis wa", + "Spe ech", + "Ġnum eros", + "hand lers", + "ĠW ong", + "Ġм еÑĤод", + "We ights", + "ĠGu jar", + "te il", + "ĠNon etheless", + "_E FFECT", + "Ġv ect", + "ĠO sc", + "Ġco ats", + "ĠW heat", + "Ġge ek", + "ĠPRO PERTY", + "w orm", + "_const ants", + "ĠB oulder", + "ĠP arm", + "co le", + "Ġdefault Center", + "ĠRou ge", + ": A", + "xc f", + "ĠVen ice", + "med ian", + "Ġred emption", + "F resh", + "Ġcos m", + "Ġfig ur", + "Ġref urb", + "CO PE", + ".c d", + "Ġch ords", + "ĠS gt", + "Å į", + "VP N", + "ĠS END", + "ain en", + "_account s", + "Ġtent h", + "Ġdiss olved", + "< App", + "ĠCover age", + "use State", + "é ro", + ".. <", + "Ġì £¼", + "Ġdream ing", + "ĠFore cast", + ".C ursors", + "Ġvis as", + "/ script", + "_start ed", + "Ġga str", + "(P RO", + "]; //", + ".T ile", + "* sin", + "( Adapter", + "ĠSand ra", + "_S IG", + "ard ash", + "ĠO val", + "Ġdescri pcion", + "(s l", + "ĠDes criptor", + "Ġ` $", + "/f ree", + "ĠKey words", + "Ġt udo", + "ion ale", + "(f ound", + ".x yz", + "ĠGeneration Type", + "_DISABLE D", + "( area", + "Ġel ites", + "Ġh ombre", + "(m essages", + "ĠR ac", + "Ġext ingu", + "ĠEst a", + "op o", + ". vel", + "mouse out", + "Ġconv olution", + "ĠHand ling", + "Ġceil ings", + "T ek", + "ĠAre as", + ".writer ow", + "< View", + "ĠCorn ell", + "_B IN", + ".in valid", + "'' 'čĊ", + "ie ż", + "_P osition", + "Ġk idding", + "PC ODE", + "Ġwatch er", + "lo x", + "Ġâ Ĺ", + "D ave", + "_all ow", + "Ġbis exual", + "Ġun ordered", + "ĠSch we", + "_se gments", + "Ġt earing", + "IN LINE", + "Ġund es", + ".g oods", + ".c am", + "ĠL W", + "ĉ where", + "Cal culator", + "-th reat", + "- alert", + "ĠSuz uki", + "ĠIP A", + "ĠAtt achment", + "AC CESS", + "(d type", + "O pp", + "_s ymbols", + "Ġdans ke", + "l age", + "or get", + "res olution", + "е Ñĩ", + "ĠQ Color", + "ĠBar rett", + "аÑĨи Ñı", + "= \\'", + "ĠNav Controller", + "/ ref", + "(c ountry", + "_H DR", + "Ġterse but", + "pet ition", + "Ġsu f", + "cred its", + "๠Į", + "x m", + "ĠDav ies", + ".re ddit", + "Ġw oven", + "ĠO bl", + "ĠK M", + "ĠConsider ing", + "ens ored", + ".per iod", + "Ġd dl", + "$ wp", + "Ġextrem ist", + "; \\Ċ", + "Ġk im", + "al ers", + "Ġspan ning", + "Ġco herent", + "Ġconse gu", + ".text Label", + ".g eneral", + "_d ashboard", + "л ение", + "k ick", + "_P ID", + "ĠExt ensions", + "reg exp", + "ĠCl ause", + "_m ov", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠR eward", + "ĠLEG O", + "A k", + "=-=- =-=-", + "ĉ parser", + "Ġon ze", + "éĢ Ģ", + "âĢĿ ãĢĤ", + "_b all", + "(r hs", + "Ġch orus", + "< count", + "as urable", + "Ġwirk lich", + "ĠEr in", + "ĠMS NBC", + "Ġet ter", + "ĠC ron", + "_F LOW", + "Ġ, čĊ", + "Ġcal idad", + "ĠFile Writer", + "ĉ stmt", + "( Byte", + "_p at", + "Ġte lescope", + "Ġgre ed", + "ĠT ort", + "(w rite", + "\\ application", + "ĉRT LR", + "ĠConfiguration Manager", + "Un ix", + "End Time", + "In cludes", + "ĠHar vest", + "en berg", + "ĠAustral ians", + "Ġë ĵ", + "Ġr n", + "Ġreput able", + "Ġbl ending", + "UL ATION", + "ĠBrend an", + "d ad", + "Ġm ø", + "ĠW oo", + "_d c", + "U ne", + "Ġr ue", + "with in", + "ang ep", + "Ġp ouch", + "\\\" \",", + "ĠS ic", + "âĢĿ ),", + "aly ze", + "ĠG ef", + "c overs", + "Ġd bo", + "replace All", + "ĉ Logger", + "Try ing", + "[ state", + "-p iece", + "éĸ ĵ", + "beh avior", + "all ows", + "l rt", + "_p ython", + "ert ura", + "-c ountry", + "ĠT G", + ".UI Manager", + "b ens", + "ale x", + "ĠBre itbart", + "b ac", + "Ġpredict s", + "Ġg ab", + "Ġcard inal", + ".Time Unit", + "ĠVis itor", + "ĠM ing", + "Ġliv re", + "Ġparent Id", + "port un", + "Ġdimension al", + "ĠV est", + "en ic", + "à ³", + "Ġ Ùĩ", + "ĠBL UE", + "Ġitem Count", + "Ġfe athers", + "ĉp stmt", + "ĠPol ar", + "{ //", + "und i", + "Ñĥ ж", + "z ar", + "Error Response", + "ì ĥģ", + "Rep resentation", + "* _", + "+ ]", + "pre pend", + "Ġ' >", + "Ġlegitim acy", + "Ġo o", + "S linky", + "Ġnation als", + ". words", + "; p", + "tr ap", + "oman ip", + "Ġc ues", + "Ġgradu ating", + "Ġsem aphore", + "\"] );ĊĊ", + "ace y", + "RE ET", + "Gr ab", + "ĠFel ix", + "( Id", + "_ne ighbors", + "Ġmeaning less", + "(d el", + "Ġj eder", + "ĠContent Values", + ".abs olute", + "/ cl", + "Ġx b", + "dat um", + "Ġtort ured", + "Ġrub bing", + "S cores", + "ĠðŁĺ ī", + "Ġav ons", + "Ġam sterdam", + "E OS", + "H al", + "Ġtrust worthy", + "# =", + ".EX TRA", + "Ġman o", + "is icing", + "-s upport", + "ĉc ursor", + "ĠSp o", + "aim assage", + "M ission", + "[] {\"", + "Ġprint ers", + "G REEN", + "Ġt eg", + "Ġabdom inal", + "! ĊĊĊĊĊĊ", + ".Sh ort", + "аз в", + "ĠGift s", + "} \")", + "(b inding", + "x ce", + "âĢ ij", + "inf os", + "Form Data", + "Ġd art", + "Ġele ms", + "(in v", + "Y L", + "t in", + "GEN ER", + "á» ¯", + "ĠT aken", + "uck le", + ": e", + "Ġspect ral", + ".b aidu", + "/ ');Ċ", + "Ġgre edy", + "es ion", + ",,,, ,,,,", + "Ġ/> ,Ċ", + "Internal ServerError", + "NSNotification Center", + "ĠA i", + "Ġsp it", + "Ġaug mented", + "Ġstandard UserDefaults", + "FIN ITY", + "R ace", + ": C", + "ĠRE CORD", + "ĠHigh light", + "Ġ' `", + "Ġdef icits", + "Ġne i", + "Ġresearch ed", + "T a", + "Ġc opp", + ".Get HashCode", + "): čĊčĊ", + "On Click", + "ĠWell ington", + "Ġrev ival", + "æ¯ Ķ", + "éĹ ®", + "ĠN SS", + "Ġfor n", + "Ġint é", + "ĠKu wait", + "_fl ip", + "_ bo", + "_ \\", + "Ġocc urrences", + "ĠScient ists", + "S RC", + "og ens", + "igr ant", + "RE MOTE", + "ĠS ID", + ". opts", + "u ve", + "() ])Ċ", + "Ġlibert arian", + "ĠGl ide", + "les en", + "Ġform e", + "ow ania", + "Ġannoy ed", + "Def s", + "ĠExec utor", + "Ġcast s", + ".set Checked", + "ĠSh aring", + ".Serialize Object", + "Ġselect ors", + "_ OTHER", + "ë¯ ¸", + "(s uper", + "( OS", + "_VER IFY", + "id unt", + "< header", + "Ġ/> ';Ċ", + "Ġvidé o", + "ĠNeg ro", + "ĠL ords", + "ĠT ours", + "Ġsoft ly", + ".re ceive", + "ĠE RC", + "Ġdata Set", + "Bad ge", + "ĉ Event", + "Ġper l", + "Ġ{} \\", + "(s entence", + "Or Update", + "Ġdim inish", + "P IN", + "(d raw", + ".To DateTime", + ".Equal To", + "(p in", + "-p encil", + "lu ent", + "ĠCall er", + "Ġplay ful", + "- '+", + "x ca", + "sw ick", + "){ }Ċ", + "}: ${", + "ĠM eth", + ".get Cell", + ".b reak", + "Ġy max", + "=' Ċ", + "ĠH iro", + "( TRUE", + "as urer", + "Ġcu er", + "U ber", + ". Operation", + "Ġol an", + "Ġthr illing", + "< Response", + "ĠF emin", + "Ġtravers al", + "Ġp oc", + "Ġset Status", + "decl ar", + "std afx", + "Ġaddict ive", + "ĠB tn", + "Ġexplos ives", + "ĠCook ing", + "ĠPl aint", + "Ġaccum ulator", + "ĠApp ointment", + ", password", + "ĠF AR", + "lu et", + "Further more", + "decl spec", + "_Static s", + ".D ictionary", + "\"> '.", + "ĉ valid", + "\" \",", + "In strument", + "> J", + "Ġno str", + "ĠR ift", + "_P ort", + "Ġvec es", + "[ ['", + "Ġrall ies", + "- series", + "Ġv v", + ". uc", + "Ġr tn", + "State Changed", + "( ins", + "ĠCl a", + "------------ Ċ", + "c us", + "ĠRel oad", + "//---------------------------------------------------------------- --------------------------------", + ".se conds", + "_dest ination", + "Ġscrew ed", + "> c", + "Th ickness", + "Design er", + "Ġgr ids", + "n Äħ", + "( cookie", + "T rip", + "-M obile", + "Ġv oll", + "Ġgen ital", + "Ġconf isc", + "ĠConfeder ate", + "Ġweb View", + "Ġm ise", + "Ġcl er", + "(se lection", + "$ date", + "Ġshar pen", + "rag en", + "And Update", + "Ġrem ix", + "Ġh tons", + "R W", + "M PI", + "Ġretrie val", + "Ġric hest", + ".Dec ode", + ":init Components", + "ĠT Value", + "S aint", + "@ include", + "ĠPER SON", + ".se p", + "ĠLD AP", + "g ba", + "Ġgro ÃŁe", + "Ġreli ably", + "ĠD FS", + ".getItem Id", + "Ġprés ent", + ".get Token", + "Ġch inese", + "ĠMe al", + "Y OU", + "\"> >ĊĊ", + "b ower", + "Ġsw apped", + "/ install", + "Ġs inks", + "etr ize", + "Ġdecl ines", + "ĉm ysql", + "ĠC String", + "ĠMotion Event", + ".L anguage", + "R oad", + "ÑĤ еÑĢ", + "asc imento", + "')) ->", + ". about", + "( editor", + "ĠR atings", + "in come", + "Å¡ e", + ".de queueReusableCell", + "ĠAust rian", + "Ġs ulla", + "ĠTrib unal", + "ĠDid n", + "ов аÑĢ", + "Ġins pections", + "B oss", + "Ġcock tails", + "Ġapolog ized", + "_sub plot", + "op al", + "+ =(", + "Ġreson ance", + "ib u", + "Ġë ¦¬", + "rom a", + "res erve", + "pl s", + "ĠT ah", + "ax ies", + "OP LE", + "ĠDar ren", + "ĠZ ombie", + "_M ap", + "Ġ] )ĊĊ", + "ĠQ i", + "ĠS ail", + "Ġrestrict ive", + "Ġeros ion", + "- par", + "WH ITE", + "Ġold u", + "Ġap erture", + "Ġbit coins", + "text o", + "ĠCom cast", + "Ġtime less", + "en kins", + "Ġfeed er", + "/ tmp", + "res den", + "+' _", + ".D estroy", + "Ġç ok", + "ĠD OCUMENT", + ".l ng", + ".tag Name", + "Ġk ullan", + "eg rate", + "Ġ(* .", + "ç¼ĸ è¾ij", + "Ġhand shake", + "s oc", + "_ geometry", + "ĠDam ascus", + "Min or", + "ĠK afka", + "ìĹ ¬", + "Fl orida", + "_com pute", + ".ex pr", + "Ġpar alle", + "ĠD iaz", + "c ir", + "[ target", + "Ġj oking", + "Ġgl or", + "(set q", + "_hand lers", + "H ang", + "Ġf err", + "rim inal", + "ĉĠĠĠĠ ĉĉ", + "ent ies", + "def ines", + "-t ax", + "json p", + "ĠU PS", + "met ro", + "__ ;Ċ", + "ĠUg anda", + "])) :Ċ", + "_t d", + "x ae", + "l w", + ". OS", + "ĠLog ged", + "ac id", + "ĠMay o", + "as pect", + "Ġvag inal", + "Ġinitial izing", + "Ġster oids", + "f iction", + "G RE", + "g end", + "Ġli abilities", + "ĠL ets", + "M ech", + "( nc", + "( change", + "Ġconnect ors", + ": k", + "Ġt ast", + "! \");ĊĊ", + "th ings", + "ro phy", + "luet ooth", + "ĠSign Up", + ". ctrl", + "Ġthere in", + "ord a", + ". escape", + "ig ator", + "Ġpet rol", + "Ġspec imen", + "Ġdeb uted", + "- Pro", + "Ġcr ises", + ".add View", + "ëı Ļ", + "-d oor", + "Ġmon et", + "Ġmill is", + "Ġv ier", + "Internal Enumerator", + "Ġadmin s", + "ĠL air", + "z in", + "get Query", + "umb les", + "L IMIT", + "ĠV ig", + "_s ong", + "< Character", + ":: .", + "_h om", + "_b p", + "ĠSup ervisor", + "sub mission", + "ab ile", + "Ġno i", + "Or Create", + "Ġpe el", + "Ġon Start", + "Ġsent iments", + "veh icles", + "Ġclass rooms", + "Ġs zer", + "Ġb ending", + "Ġlong evity", + "Ġa cl", + "ĠAle ppo", + "ĠU M", + "ĠR icht", + "Ġmultip rocessing", + "DOM AIN", + "\",\" +", + "_Y EAR", + "Ġsc rape", + "Ġsol itary", + "Ġ\"] \";Ċ", + "/ errors", + "ìŀ ¬", + "ľ ëł¥", + "b etter", + "ĉ number", + "ĠL F", + "ĠAc ross", + "Pub Med", + "\\\" \"", + "ĠExcell ence", + "Ġus ando", + "ĠU IP", + "Activity Indicator", + "_V OID", + "Ġbre eds", + "ï½ ¥", + "uest as", + "ĠTre asure", + "ustral ian", + "(f ace", + "ĠT ennis", + "ĉ Int", + "ĠHans en", + "ç µ", + ": I", + "Ġâľ Ķ", + "GR AY", + "O USE", + "Ġhe pat", + "ł í", + "A IR", + "ó ż", + "Ġque ued", + "vinc ia", + "ĠChrom ium", + "Ġcompet ence", + "ung al", + "ill i", + "Ġget By", + "ĠF inder", + "Ġincap able", + "Ġs add", + "Ġc ites", + "ĠChurch ill", + "S dk", + "More over", + "As pNet", + "( Float", + "$ password", + "ĠConn or", + "-s ession", + "_d m", + "* ))", + "Ġde utsch", + "ĠN X", + "Ġper ks", + "_S ORT", + "_TO OL", + "_V ISIBLE", + ".as p", + "æĪ ĸ", + "ĠBre ath", + "D etect", + "ĠD uel", + ".c mb", + "[ it", + ".Set Bool", + "Ġnarc iss", + "Ġab ide", + "Ġej emplo", + "ĠâĦ ķ", + "Ġm ornings", + "Ġcomput es", + ".s sl", + "j t", + "Ġmuch os", + "_S S", + "[ end", + "Ġbas in", + "Ġalgun os", + "ĠCroat ia", + "lin ewidth", + "(t ags", + "(h idden", + "ÃŃc io", + "Ġap ar", + "ĠÐ ¶", + "ä¸ İ", + ". food", + "ĠR ural", + "Ġbread th", + "å½ ±", + "(s ess", + "+ \")", + "ĠP aste", + "Ġserv idor", + "ĠBit Set", + "ĠTr an", + "la us", + "v ette", + "ey es", + "ĠCL ICK", + "ĠV III", + "ĠTurn s", + "ĠLe Bron", + "ĠM uj", + "ĠD eg", + "ĠAdult s", + "_s uite", + "process able", + "ĠPH Y", + "g hest", + ".F ail", + "ĠSl ack", + "ce j", + "\\ Carbon", + "Ġsuper star", + "Ġhold ings", + "( forms", + "Ġ'# '", + "M ultip", + "(\"[ %", + "-s olid", + "/ url", + "-t ier", + "[ length", + "ĠStream Writer", + "ĠMarket place", + "get text", + "_T ICK", + "ĠFor ge", + "Ġblack jack", + "ĠDO ES", + "ĠM atters", + "w aves", + "Ġwhisper ed", + "Ġl ush", + "ìĺ ¤", + "d igital", + "Ġwr ink", + "ĠH ogan", + "Ġrust ic", + ".Apply Resources", + "ĠHard y", + "os omes", + "A UT", + ".ST ATE", + "Ġnarr atives", + "ĉ store", + "b ib", + "ĉ Scanner", + "ĠC ody", + "\\ Repositories", + "Ġre union", + "and um", + "âĢĻ h", + "Ġsn iff", + "NS Bundle", + "Ġcompreh end", + "_US AGE", + "_ occ", + "URRE NCY", + "J NI", + "Ġspecial izing", + "Ġvis ions", + "Ġdol ore", + "Ġv á", + "ĠChe vy", + "ĠSt yled", + "imp act", + "all en", + "Ġk art", + "ĠTable t", + "st uff", + "re esome", + "аÑĤ оÑĢ", + "//---------------------------------------------------------------- -----------Ċ", + "_Ad min", + "Ġcell phone", + "Ġaut oplay", + "Ġcamb io", + "Ġmar itime", + "_BO OT", + "- quarter", + "Ġlat ina", + "ĠAJ AX", + "e quiv", + "ĠFront ier", + "ĠX Y", + "} ]Ċ", + "ĠR ough", + ".pro to", + "Ġcorrect ness", + "Ġfac il", + "ĠRe ached", + "ãģĿ ãģ®", + "V IS", + ".p s", + "Ġstr ncpy", + "Ġdiff usion", + ".start Activity", + "�� �", + "Ġaccom p", + "AMES PACE", + "imon ials", + "ĠBl ast", + "aby rin", + "Ġd ome", + "Ġextr av", + "Ġy en", + "Ġcul inary", + "P RI", + "ĠComm unities", + "n id", + "_oper ations", + ".h s", + "ĠMil ton", + "Ġno ises", + "Autoresizing Mask", + "(c id", + "}ĊĊ ĊĊĊĊ", + "] },Ċ", + "ĠD etection", + "tab la", + "Ġlib erties", + "_D YNAMIC", + "w get", + "ĠT ür", + "ĠP ascal", + "Trans parent", + "Delay ed", + "] ()", + "ĠHer bert", + "< ActionResult", + "ch allenge", + "Ġmush room", + ".insert Before", + "ĠR in", + "Ġhum our", + "Ġf ø", + "api Key", + "alloc ated", + "Ġconf ession", + ". \",čĊ", + "ĉassert That", + "ĠS ORT", + "ĠL ORD", + "Ġexport er", + ".set Level", + "p okemon", + "ash tra", + "Ġf é", + "ur ator", + "(M SG", + "Ġt up", + "ĠH ull", + "Ġyield ed", + ".Sub ject", + "\\ Route", + "! ?", + "ĠÑĥ дал", + "\\ Security", + "- ar", + "Ġalleg ation", + "( Settings", + "ä nder", + "Ġell ipse", + "ĠRetro fit", + "Ġregul ating", + "ĠM olly", + "ĠL ok", + "_C ustom", + "ĠProm o", + "is in", + "Ġres umed", + "Ġmet ropolitan", + ".error Message", + ": -------------", + "Ġpas ado", + "th ank", + "_De lete", + "ĠBright on", + ", unsigned", + "ä½ľ èĢħ", + "Ġaspir ations", + "-h ow", + "R ose", + "= ((", + "_ne eded", + "_pl ural", + "< Application", + "ĠW EEK", + "ĠUn lock", + "ĠT EMP", + "S ou", + "Ġschizophren ia", + "Ġt roll", + "Ġcomplement ary", + "ĠNET WORK", + "Ġbl ir", + "Ġprogress Dialog", + "\" %(", + "ĠAttribute Set", + "ĉ ts", + ".iter items", + "è¯ Ŀ", + "Ġesc rit", + "v ous", + "_pl aces", + "H K", + "Ġseg uir", + "_f w", + "ĠR ounded", + "Ġdis posit", + "è§ Ĩ", + "par m", + "w ow", + "STRU CTION", + ". allow", + "ĠChar Sequence", + "ĉ extern", + "Ġprosec uted", + "Ġmort ar", + "ĠJ uda", + "- msg", + "Ġest ud", + ".get Description", + "Ġs ow", + "amb re", + "Ġrom a", + "En h", + "bon us", + "Ġsqu at", + "Ġdist ra", + "ed Image", + "Ġpe ppers", + "-per formance", + ", ĊĊĊ", + ", file", + "ĠM IME", + "_con cat", + "AB S", + "-f ashion", + "Ġunder cover", + "One ToMany", + "Ġre claim", + "C OPY", + "Ġb inds", + "ĠT ape", + "Ġg ossip", + "ĠEqu ity", + "/ Card", + ". activ", + "' am", + "Ġdrain age", + "< Scalars", + "ĠonBind ViewHolder", + "() ?.", + "Ġs orrow", + "ĠI b", + "up y", + "_U UID", + "ĠCh arm", + "ĠElection s", + ".on Destroy", + "ĠInterest ingly", + "ounding Box", + "_d etection", + "-h eld", + "_ unknown", + "Ġrefr ain", + "Ġmét odo", + "Ġe Book", + "EN OMEM", + "Ġd ang", + "Prof essional", + "Ġd ictionaries", + "/m ysql", + "ĠST UD", + "Ġmas se", + "s cape", + "Ġdre i", + ": name", + ".log o", + "Sign Up", + "Ġt ahun", + "( theme", + "ĠFem me", + "Ġbom ber", + "ĠJ ade", + "ĠT ay", + "Ġsubmar ine", + "_cl ause", + "zy ch", + "Ġsimult aneous", + "Ġcas os", + ". boolean", + "(l hs", + "Ġcontin ental", + "-s ale", + "ĉ env", + "ĠC ute", + "ĠFactory Girl", + "ab us", + "/ value", + "Ġj adx", + "Ġst ern", + "> >ĊĊ", + "Ġsurf aced", + "Ġìł Ģìŀ¥", + "pl atz", + "ĉ email", + "cept ors", + "\"> (", + "Ġep ile", + "è¯ »", + "ĠDe bt", + "åij Ĭ", + "N OP", + "\" https", + ": j", + "Form Item", + "_L ICENSE", + ".get Double", + "ĠAg enda", + "ĉf inally", + "(f ilters", + "( av", + "ç¾ İ", + "AP ER", + "Ġl ava", + "еÑĢ Ð¶", + ")) ))ĊĊ", + "Ġfault y", + "_n m", + "Ġtr ava", + "(B itmap", + "Ġspeed ing", + "> ').", + "Ġscreen ed", + "_ roll", + "ĠMac Book", + "ĠA UD", + "Ġdiagn ose", + ".G enerate", + "Ġ^ ^", + "Ġstr s", + "[ Test", + "Ġr ansom", + "ĠDH CP", + "eld en", + "Ġinterpret ations", + "() ].", + "flat Map", + "Ġline Height", + "_m ount", + "ĠW izards", + "Ġsl uts", + "eh ler", + "od al", + "Ġmilit ia", + "å ²", + "earn ed", + "Ġmis ery", + "int val", + "f und", + "Ġh ides", + "Ġdi arr", + "ĠWes ley", + "Ġx mm", + "Ġqu em", + "ĠAr abs", + "if th", + "ategor ized", + "Dis posable", + "P ure", + "_NOT IFY", + "sn ippet", + "ĠGar rett", + ".run ning", + ". weights", + "Ġ( --", + "Ġin variant", + "äºĭ ä»¶", + "ĠAll owed", + "dir s", + "Ġpass ions", + "Ġl ad", + "ĠFl ush", + "men us", + ": block", + "Ġcompr a", + ".ch omp", + "alloc ator", + "Ġcur ated", + "ĠKnow ing", + "ĠPatt erson", + "Ġtel ah", + "' ex", + "Ġdo omed", + "Ġphil anth", + "ott y", + ".st yles", + "Own ed", + "Ġallerg ies", + "= params", + "oc ese", + "it elist", + "ĠS ending", + "b ef", + "orr ar", + "ĠN ão", + "ĠF argo", + "ĠL ub", + "ĠComb ined", + "_g iven", + "ĉĉĉĉĉ ĠĠĠĠ", + "Ġreconc iliation", + "Pattern s", + "az ard", + "Ġbiom ass", + "ĠH ouses", + "resp uesta", + "cc o", + "/top ics", + "ĠY uk", + "Ġweaken ed", + "_c alendar", + "Ġmulher es", + "ĠMar l", + "Ġs ine", + "ĠT il", + "ĠSou ls", + "ĠDe utsche", + "ĠF OLLOW", + "Ġpip elines", + "ĠBever ly", + "_DIP SETTING", + "\" #", + "ĠPro to", + ".b ig", + "ĠSav ings", + "ĠT anz", + "j un", + "ĠG amma", + "ĠS add", + "Ġadvis ors", + "Ġro ast", + "Ġun ters", + "ud ies", + "_l on", + "-point er", + "ĠElement Ref", + "\\ Builder", + "example Input", + ".web driver", + "data Type", + "ĠQu ite", + "ĠCelt ics", + "u il", + "-def ense", + "b ish", + "ĠUI Window", + "ĠS uddenly", + ".h ot", + ".re ason", + "Ġg ör", + "AM D", + ".M ulti", + "auth enticated", + "reg ions", + "; (", + "а ÑĢам", + "ĠKir by", + "$ route", + "PREC ATED", + "ĠDur ham", + "ow o", + "ĠPer forms", + "Ġdisreg ard", + "n st", + "ĠP ols", + "Ġget P", + "\"] :", + "-col ored", + "( Keys", + "ĠAl leg", + "_mod ify", + "_ loading", + "str ained", + "Ġat roc", + "_p hr", + "< Sprite", + "Ġsatisf actory", + "m anship", + ".p ipeline", + "T ony", + "Ġth ief", + "pol ator", + "( lock", + "bur st", + "ĠOptim ization", + "Ġsurf ing", + "\" Yes", + "Ġdesc ended", + "æ Ĵ", + "_C lear", + "Ġc ries", + "ĠFro zen", + "D IRECT", + "- Con", + "ĠLe icester", + "å¥ ³", + "O OM", + "= db", + "Ġget Message", + "< Student", + "_b atches", + ".M ask", + "_ eth", + "\\ )", + "Ġsom a", + "C atch", + "[ ch", + "Own ers", + "ind le", + ": auto", + ". vert", + "iv r", + ".set Location", + "Ġfl uent", + "_END IAN", + "ĠCar lo", + "cept s", + "add Action", + ".o auth", + "< UnityEngine", + "re ements", + ".S kip", + "? )ĊĊ", + ".default Props", + "Ġc abe", + "ĠSh en", + "eros is", + "ĠPro fit", + "Ġpo is", + "_C REATED", + "Ġremove From", + "(w s", + "? action", + "( Field", + "Ġerr one", + ".min imum", + "ĠRetrie ved", + "Ġd ado", + "ĠPR IVATE", + "-s pec", + "Ġg zip", + "p data", + "Ġpos Y", + "(l ow", + "Ġqual quer", + "/ cloud", + "ê² Į", + "( common", + "ĠAr beit", + "organ isation", + "Ġtid y", + "ĠRol and", + "( ph", + ".z one", + "Ġgent lemen", + "ượ c", + "å± ±", + "Ġenc losure", + "ĠMan afort", + "ĉ Color", + "St encil", + "N ic", + "Ġthe orem", + "ĠV G", + "Ġcol oured", + "V BoxLayout", + "uls ive", + "Drag on", + "c ff", + "et est", + "ens a", + "of day", + ".A zure", + ":UIControlEvent TouchUpInside", + "_up dates", + "Ġtrend y", + "ug as", + "weak Self", + "Ġr idge", + "ib ri", + "Ġì¶ Ķ", + "(C G", + "ĠMon key", + ".write Int", + ".tim edelta", + "ViewController Animated", + "ĠProvid ence", + "ãģ Ī", + "Ġbl ends", + "/Sub threshold", + "ĠAp pl", + "Ġat an", + "Ġreload Data", + "umb otron", + "st üt", + "O Auth", + "ĠG iving", + "ĠìĦ ¤", + "ĠFinn ish", + "check ing", + ". Embed", + "sequ elize", + "Ġinitial izes", + "ĠOs lo", + "Ø ¶", + "get Extension", + "_AL T", + "(bl ank", + "Ġfatal Error", + "Ġdem ise", + "**** *Ċ", + "ĠX S", + "(A F", + "ĠEn s", + "an tha", + "ĠP OR", + "Ġn ich", + ".N amed", + "Ġgig antic", + "ĠObserv atory", + ".Res olve", + "ĠPay ments", + "g uild", + "Ġcurrent State", + "============ ===Ċ", + "ĠS ey", + "p Data", + "Ġdead lines", + "Ġcentral ized", + "ĠScholar ship", + "_s upported", + ".ch rome", + "() ]);Ċ", + "Ġc yan", + "ĠC age", + "Auth ors", + "_ čĊ", + "/ os", + "k im", + "de e", + ".t ex", + "Ġyours elves", + "Ġm gr", + "Ġal k", + "-inst all", + "Ġdraft ing", + "Ġrum or", + "Ġstat ues", + "Pool ing", + "ol ina", + "AAAA AAAA", + "/* ----------------------------------------------------------------------------", + "Ġextrem ists", + "Cal cul", + "ighth ouse", + "In set", + "(IN PUT", + "Ġsynchron ization", + "iv irus", + ". axes", + "ĠG ap", + "- An", + "_T emplate", + "Ġgam er", + "ĠCr icket", + "Ġl int", + "Ġauthor itarian", + "NS UInteger", + "Ġred o", + "Ġadip iscing", + "_F ETCH", + "che id", + "ĠF ang", + ". indices", + "t one", + "д ел", + "Ġ{{-- <", + "bra him", + "Ġsal a", + "get Code", + "Ġcommunic ated", + "start sWith", + "ert z", + "Read able", + "Item Id", + "oref errer", + "cred ible", + "á ria", + "Ġcombine Reducers", + "** /ĊĊ", + "Ġbl iss", + "Ġad orn", + "dep ends", + "ĠRO OM", + "Ġfr aming", + "Ġ? ',", + "aut y", + "_p ot", + "_t abs", + "Ex act", + ", \",", + "Ġ'} ';Ċ", + "Ġarbit r", + "ahr ain", + ".getString Extra", + "Ġ$ \\", + "Ġoutput Stream", + "Ġcomm enc", + "an us", + "ch y", + "< Employee", + "Ġhex atrigesimal", + "Ġn acional", + "(serial izers", + "_put char", + "_S AFE", + "ential Action", + "ItemSelected Listener", + ".Dis patch", + "Conf lict", + "_ about", + "os aur", + "Bound ary", + "Ġclear Color", + "( Location", + "ĠMON TH", + "ĠT aste", + "- General", + "ĠW AR", + "Ġer halten", + "-s aving", + "Ġcou pling", + "-tr igger", + "m otor", + "Ġy yyy", + "ĠPat ent", + "pt o", + "Ġmisdemean or", + "vas ion", + "ĠAdmir al", + "à¹ī า", + "_P WR", + "Ġdevast ated", + "fol ios", + "ITU DE", + "urre ct", + "Ġrobot ic", + "ĠSan ct", + "ĠHawai ian", + ".R oute", + "- condition", + "Ġr k", + "/**************************************************************************** Ċ", + "create Element", + "ĠK op", + "ign ant", + ". rollback", + "Ġsal ud", + "_ ',", + "ĠAN SI", + "Ex cept", + "ĠDraw able", + ".Utc Now", + "\":[ {Ċ", + "Ġk ole", + "L ua", + "ĠBel ieve", + "Com put", + "Ġhall uc", + "ĠSign s", + "r st", + ".h u", + "ĠKN OW", + "W i", + "ĠBr ass", + "ĠR as", + "@ hotmail", + "Ġsed iment", + "Ġap k", + "Ġì ĥģ", + "_reg ions", + "Ġpod ium", + "< Book", + "ж е", + "Ġsix teen", + "ĠAli as", + "Ġinfr ared", + "ĠV ander", + "ĠLe ading", + "uc ing", + ",: ,:", + "_h or", + "w at", + "Ġdé cou", + "_W idget", + "S ounds", + "_n avigation", + "Ġschn ell", + "(g enerator", + "uc ene", + "Ġrem ake", + "IP v", + "Ġré al", + "_IN CREMENT", + "Ġhypoth etical", + "_ ang", + "Ġof s", + "Ġ! Ċ", + ".com pleted", + "Get Type", + "Ġkom men", + "ál ido", + "add On", + "Ġz ÅĤ", + "UL A", + "_ind icator", + "'] ĊĊĊ", + "ap ache", + "_S elect", + "ĠGre ene", + "Wh ats", + "_an im", + "Ġrepet itive", + "m uch", + "ĠTh reshold", + "Ġl f", + "(C ategory", + "con e", + "M ix", + "_MET ADATA", + "ays ia", + "Ne ighbors", + "ĉĊ ĉĉĊ", + "IP HER", + "ĠFr ag", + "ĠC ells", + "Ġnames paces", + "( back", + "ĠRest aurants", + "sv c", + "Ġл и", + "ote ch", + "-s l", + "¥ ¿", + "ĠW T", + "ĠRed uction", + "Ġd otted", + "ĉf ound", + "ĠTE AM", + "B orn", + "ĠM ush", + "ĠCompar able", + "Ġh itch", + "AT O", + "Ġmax Height", + "begin Transaction", + "ÃŃ v", + "_b n", + "Ġher d", + "Ġrevers al", + "ĠH ond", + "del imiter", + "Ġconf use", + "Ġh ops", + "Ġcent roid", + "Ġcourt room", + ".decor ators", + "Ġm pi", + "ĠImpro ved", + "IN NER", + "ĠBang alore", + "ĠT amb", + "Ġbo ast", + "() ))čĊ", + "Ġil licit", + "ĠMor occo", + "greg ator", + "_res ume", + "Ġcrack down", + "Ġport raits", + "/h igh", + "( \\'", + "Ġay ud", + "_fe edback", + "Ġc ate", + "/ avatar", + "Ġhe b", + "Point Cloud", + "Ġå ĴĮ", + "Ġ< ![", + "Ġget Resources", + "} :{", + "Oper ating", + "ĠF og", + "ĉt ab", + "ĠResearch ers", + "Ġfabric ation", + ".datas ets", + "ĠCamp o", + "ĠKa uf", + "Ġd ll", + "lig t", + "] ));ĊĊ", + "st ellen", + "ACK ET", + "l vl", + "ĠGl ory", + ".date Time", + "Ġcomm ute", + "ĠonCreate ViewHolder", + "ĠX Element", + "ĠT okens", + "< thead", + "_p ick", + "ì ¤", + "v on", + "depart ure", + "(render er", + "phone Number", + "(P erson", + "gen es", + "ĠL ars", + "Ġ) {ĊĊ", + "ĠJson Result", + "Ġmet odo", + "VO KE", + ".get UserId", + "Acc eler", + "ĉ required", + "Ġchampionship s", + "Build Context", + "/t ask", + "/re leases", + "C ategoria", + "_over lay", + "Ġscar ce", + "_l im", + "n gr", + "ah len", + "ĠArt ificial", + "sp read", + "Ġbow ling", + ".an alysis", + "SM TP", + "ĉp assword", + "Ġbath s", + "] )){Ċ", + "current ly", + "ac iente", + "_se parator", + "Ġde ber", + "ĠDis abled", + "i ères", + "Ġâ ķ", + "_process ing", + "Ġprotest ing", + "ĠR OT", + "gr ab", + "Ġз ак", + "Ġpro active", + "word press", + "ĠSe ver", + "ind en", + "Ġw ikipedia", + "){ čĊčĊ", + "_w indows", + "is lation", + "Ġun rest", + "Ġdismiss al", + ".N UM", + "_F AST", + "iss ued", + "ĠF ACE", + "_u nder", + "Ġpl ugged", + "Ġå °", + "ĠbÄĻd zie", + "ĠI CC", + "Ġcombust ion", + "Ġkiss ed", + "Ġstar red", + "ĠW atts", + "Ġspi elen", + "-p urpose", + "ĠE val", + "arg es", + ", result", + "techn ology", + "Ġnational ity", + "ic us", + "ĠN ug", + "ĠÑĤ о", + "ĉĉĉĉĉĉĉ ĠĠ", + "col o", + "Ġg astro", + "ante ed", + "OL ID", + ".b ias", + "_t ele", + ".ins pect", + "Ġve il", + ". footer", + "Ġneglig ence", + "Ġjud gments", + "Room s", + "yn n", + "ĉcount er", + "occup ation", + "Ġ çĶŁ", + "un as", + "Ġ(^ )(", + "L ambda", + "f el", + ".Param s", + "Ġд обав", + "set Layout", + "Ġdeport ation", + "Ġlocal Object", + "ĠPharm aceutical", + "cept ive", + "ĠN ome", + "Equ ipment", + "F an", + "Un iversal", + "ĉ socket", + "Ġgr in", + "Ġex poses", + "Ġhab er", + "Ġsincer ely", + "Ġc ams", + "Ġm ü", + "en ia", + "E mer", + "C rypto", + "Sl ow", + "(x hr", + "! =(", + "-s ervices", + "ĠP W", + "Ġprend re", + "Ġm ädchen", + "em ons", + "озв ÑĢаÑī", + ".M anager", + "ì Ļ", + "Ġg raf", + "- ra", + "met rical", + "/ fl", + "Ġc emetery", + "g ens", + "Ġp ÅĻ", + "ĠMySql Command", + "- To", + "Ġv Ã¥", + "Ġa irst", + "oment um", + "Ġserv o", + "m illion", + "ĠMir anda", + "\" She", + "Ġadvoc ating", + "-c aption", + "ĠAt tribution", + "Ġwel che", + "_v endor", + "ĉ Status", + "arr is", + "Ġprint k", + "\",\" #", + "Ġrel ativ", + "if ferences", + "izz es", + "Ġdec imals", + "ĠPro v", + ".max imum", + "Ar n", + "Ġhelicopt ers", + "_B OTTOM", + "ch ure", + "od ings", + "' (", + "\")) );čĊ", + "( bean", + ".f d", + "F und", + "Ġhang s", + "app id", + "/k ernel", + ".p oi", + ".Min Value", + "- validation", + "L uke", + "c df", + "ĠFun eral", + "ĠS amples", + "ĉ de", + "Ġto astr", + "Ġtax able", + "Ġcl ustering", + "Ġ'\\ '", + "Ġre straint", + "ec ed", + "ch ains", + "ãĢĤ ï¼Ī", + "_GR APH", + "Ġfue led", + "éľ Ģ", + "H p", + "å¤ į", + "T iles", + "Ġa unque", + "J C", + "Ġhost age", + "ĠE sk", + "Ġm av", + "Ġgest ion", + "Ġb anners", + "} {$", + ".int Value", + ".' \"ĊĊ", + "_M ATRIX", + "Ġce ased", + "ĠG OD", + "_CAM ERA", + ".Allow User", + "tr acked", + "C ook", + "b airro", + "( company", + "Ġview point", + ".get Writer", + "ĠN ets", + "w ives", + "Ġ( ))Ċ", + "example Modal", + "ĉ child", + "Ġmyth ology", + "Ġ// \"", + "_ axes", + "ib old", + ".D ark", + "ĠMax well", + "Ġg pointer", + "olic itud", + "B at", + "ul ner", + "bal anced", + "mail er", + "Ġcont empor", + "æīĭ æľº", + "(\" __", + "Ġ\" )\"", + "re ar", + "ĠHu ang", + "] ')Ċ", + "× ©", + "FT A", + "ĠCalling Convention", + "ĠOutput s", + "P k", + ".Re ference", + "lect ual", + "Ġ) :ĊĊ", + "Ġbrace let", + "ug er", + "ĉ Error", + "S weet", + "(\"/ \");Ċ", + "h x", + "Ġun reasonable", + "Inter preter", + "Ġlo ft", + "_product o", + "Ġsoci etal", + ".P arser", + "ĠAd apt", + ". foo", + "( where", + ".F eature", + "ĠYam aha", + "g lass", + "For ge", + "Ġprohib its", + "Ġcapac ities", + "Ġíķ¨ ìĪĺ", + "Ġper mutation", + "Ġih m", + "F ld", + "el ial", + "======== ===Ċ", + "@ Configuration", + "Ġge ared", + "ios o", + "iest a", + "trans lations", + "Input Change", + "Pop ular", + "ĠPL US", + "Ġv f", + "_F ree", + "b box", + "Ġcaus al", + "PI LE", + "Ġsch ö", + "Ġiron ic", + "M ir", + ". @", + "åį Ĺ", + "Ġè ĩ", + "R ew", + "ul ence", + "fl en", + "Ġcan Activate", + "- response", + "Ġacc ents", + "ign ored", + "° F", + ".Dependency Injection", + "ĉ point", + "Ġconting ent", + "Ġsqu ash", + "Ġpar ms", + "ĠC emetery", + "Ġdelta Time", + "ĠD OS", + "Ġvan ished", + "аÑĢам еÑĤ", + "ĠD PS", + "t foot", + "ĠZ us", + "_IN STALL", + "G AN", + "Ġar b", + "Ġmunicipal ities", + "Into Constraints", + "AutoresizingMask IntoConstraints", + ", image", + "_ ignore", + "Ġdanger ously", + "quis a", + "pl uck", + "Ġhar us", + "up pe", + "Http Exception", + "Br acket", + ".' 'ĊĊ", + "ĠT ol", + "ĠView er", + "zb ollah", + ".Code Analysis", + "ì nh", + "Ġcorrect amente", + ".d a", + "ĠAl ger", + "× IJ", + "ba um", + "ĠPan ther", + "part icipant", + "å¿ ħ", + "-s up", + "Ġem ulator", + "Ġf ading", + "ĠW olver", + "cre ates", + "Ġbook ings", + ".Q uestion", + "§ è¡Į", + "Ġstress es", + "Ġre written", + ".PI PE", + "ed es", + "Ġc bd", + "\": \"/", + "Ġenh ancements", + "_s y", + "B IN", + "ĠSl ip", + "Ins pect", + "ĠW eg", + "Ġcon gregation", + "Ġ_ :", + "_r m", + "Frame buffer", + "Ġ'& #", + "ĠFall out", + "Is Required", + "ĠPear son", + "ĠF ACT", + "Ġrel ie", + "ĉ box", + "ĠShe pherd", + "ĠWiki Leaks", + "ĠCollect or", + "Ġres ized", + "method Name", + "Ġevent Type", + "ĠA then", + "Des criptors", + "Ġb ers", + "- oper", + "ĠInitial ly", + "å ¡", + "_B TN", + "ĠĠĠĠĠĠĠĠĠ čĊ", + "á b", + "_c ampaign", + "_w atch", + "F ord", + "-date picker", + "Ġvis c", + "Ġsat u", + "_s ms", + "Ġcont ador", + "-s vg", + "ĠDO I", + "$ args", + "Ġkn ob", + ".B OLD", + "Ġdeb ated", + "img s", + "sock opt", + "tr uth", + "ĠFe es", + "Ġh Wnd", + "_f ood", + "Ġab ras", + "Ġnot ions", + "ĠT od", + ": create", + "ĠConf lict", + "Us uarios", + "OT OS", + "Ġm sm", + "K HTML", + "([ (", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "Ġ} ]", + "w izard", + "Ġm ientras", + "Ġdata List", + "Ġemerg es", + "Äĥ ng", + ".Read Int", + "PG A", + "ILL ISE", + "I Enumerator", + "(t uple", + "Christ mas", + "Look AndFeel", + "og enerated", + "Ġ# ĊĊ", + "control led", + "Ġex quisite", + "Ġa cest", + "Read Write", + "G ain", + "ãĢį ãĢĮ", + "Ġcopyright ed", + "Ġdo om", + ".Table LayoutPanel", + "ĠD ort", + "Ġch ili", + "Ġwer k", + "ĠEVENT S", + "ĠBe acon", + "Ġship ments", + "Ġse bagai", + "up on", + "ut om", + ".con verter", + ".Drop Table", + "={ }Ċ", + "f ic", + "~ ĊĊ", + "Ġlesb ians", + "_n a", + "Fore ign", + "ĉ then", + "/ ms", + "Ġor i", + "get Property", + "ĉsn printf", + "hes ion", + "ãģ ¤", + "\"} ,\"", + "Ġac rylic", + "P ers", + "@ Enable", + "I sl", + "(C ard", + ". Stack", + "L icensed", + "_G UID", + ": title", + "Ġh ust", + "Ġprincipal Table", + "an itize", + "/ embed", + "Ġens ured", + "ĠE GL", + "ÙĪ Ø±", + "ĠåĪ Ĩ", + "/ ,Ċ", + "Ġfundra iser", + "Key Name", + "Ġmarch ed", + "_VAL UES", + "ĠSc enario", + "Ġmet ic", + "_ass oci", + "ĠPast or", + "ĉĉĉĉĉĉĉĉ ĉĉĉĉĉĉĉĉĉĉ", + "er ate", + "Ġinv itations", + "quo ise", + "Ġbl aming", + "Ġd aring", + "UM MY", + "Ġrich er", + "em aker", + "ĠIdent ification", + "ĠìĿ ¸", + "ĠBinding Flags", + "ch as", + "Ġresil ient", + "_p g", + "Ġre leg", + "ĠI RA", + "ST E", + "Ġtr actor", + "- loading", + "ĠPre viously", + "ĠV acc", + "/ be", + "Ġn Ã¥r", + "Ġurl encode", + "ĠNor folk", + ".Re lease", + "ĠNe utral", + "ä¸Ń åĽ½", + "ĠAr lington", + "Ġalleg es", + "ĠW riters", + "Test er", + "ĠR ally", + "Ġc á", + "ĉ Print", + "Ġâĩ Ĵ", + "ĠUser Controller", + "ĠSeek ing", + ".V AL", + "List Node", + "_ ff", + "ĠPhill ip", + "FA CT", + "Ġc aramel", + "ĠM ultip", + "ĠCom pared", + "ĠSer bia", + "Ł ³", + "Ġrev ive", + "ĠK anye", + "Ġver ge", + "ĠBulg aria", + "get Body", + "Ġ| >", + "ce ph", + ".DateTime Picker", + ".\" ;ĊĊ", + "ĠT ie", + ", item", + "Ġm enn", + "G as", + "och a", + "_v irtual", + "Ġmaster piece", + "_se quences", + "L TE", + "ĠSub mission", + "Call er", + "$ \\", + "S port", + "ag us", + "Constraint Maker", + "Ġcol oc", + "Ġw ig", + "ĠÐ £", + "ĉ Array", + "Look s", + "ĠGT A", + ".st eps", + "atch ewan", + "_r anges", + "ext Alignment", + "ĠBren nan", + "Ġab straction", + "uler Angles", + ".m isc", + "Ġantib odies", + "Ġexponent ial", + "ĠCH ANNEL", + "exp ense", + "' y", + "Ġdetect ives", + "Ġpur ported", + "Y STEM", + "Ġradio active", + "ĠLat ina", + ".Enc oding", + ".T AG", + "x in", + "D egree", + "ur acion", + "pr ices", + "ĠRefer entialAction", + "Ġr arity", + "Ġp iles", + "g ende", + "_project s", + "_g lobals", + ".start Time", + "Ġê µ¬", + "SE CTION", + "_p ublish", + "F ault", + "DD L", + "_p rior", + "M om", + "Ġth icker", + "Ġsequ elize", + "Ġessential s", + "str as", + "in tr", + ">( ()", + ".man agement", + "e il", + "éĹ Ń", + "A ware", + ".C ity", + "ĠAr bit", + "_D M", + "_key board", + "L Object", + "- webpack", + "ĠNew port", + "Ġprincipal Column", + "leg ant", + "Ġp allet", + "Ġfract ure", + "Ġg mail", + ".M eta", + "A bove", + ".Key Event", + "j it", + "_mac ro", + "_P USH", + "á» ©", + "/ controller", + "åĬł è½½", + "Ġsuperf icial", + "exter ity", + "Ġmens agem", + "W ind", + "ist on", + ".open api", + "и ÑĢов", + "ĠSerial izer", + "uct ive", + "Ġz ar", + "Pl aces", + ".St atic", + "B a", + "Ġin advert", + "ĠIndones ian", + "_IP V", + "(h orizontal", + "Ġget Title", + "ide press", + "ĠConsole Color", + "ip ers", + "$ out", + "Ġfest ive", + "Ġeven ings", + ".Get Data", + "uit ka", + "ĠManual s", + "uss ed", + "_M ax", + ".Ch at", + "ĠA ircraft", + "= com", + "FO UND", + "ap ro", + "Ġtre asures", + "_al ive", + "Ġgad get", + "ek ing", + "Button Down", + "B rowsable", + ".PER MISSION", + "P ASSWORD", + "ĠH ASH", + "f é", + "\\ TestCase", + "LO SS", + "o thers", + ", J", + "Ġassh ole", + "wer k", + "Ġm ã", + ". ie", + "ev il", + "kont akte", + "//////////////////////////////////////////////////////////////////////////////// Ċ", + "= sys", + "ĉ lock", + "-- ;ĊĊ", + "_F UN", + "Fill Color", + "ó a", + "pre nd", + "Ġcompress or", + "M other", + "ĠAr cher", + ".g oto", + "Ġwür de", + "Ġbam boo", + "ï¼ İ", + "ĠT rees", + "Ġb umper", + "Ġsa usage", + "ĠEl asticsearch", + "Ġhor izontally", + "ĠG ul", + "Im mutable", + "Ġlos er", + "Ġabort ed", + "-d emo", + "ĠH atch", + "Ġund e", + "Ġprocess o", + "-c all", + "In come", + "å ĥ", + "_ returns", + "'].\" '", + "(s w", + "C BS", + "am ilies", + "ĠYour self", + "ĠH olt", + ".M ON", + "à§ ĩ", + "ÑĪ Ðµ", + "an on", + "ĠFont Awesome", + "produ cer", + "j r", + "Ġm au", + "ĉint er", + "Ġdish onest", + "Ġmagn a", + "ĠCollect ive", + "Ġvra iment", + "Ġcho ix", + "st ay", + "Ġweld ing", + "r ising", + ", min", + "ĠF ate", + "g lob", + "RGB A", + "Ġdet te", + "V en", + "Ġembarrass ment", + ".DE LETE", + "greg ar", + "-re nder", + "(b ucket", + "\"> ĊĊĊ", + ".wait Key", + "Bus y", + "Ġdifferent iation", + "ĠC ST", + ".Con stant", + "Ġline Number", + "(m atches", + "Ġweb socket", + "Ġbar red", + "Ġpued es", + "M ono", + "C ORE", + "I ID", + "ĠĠĠĠ čĊčĊ", + "Ġpúb lico", + "lean ing", + "Ġcleans ing", + "Ġcr is", + "ĠDev ils", + "_SET TING", + "unt ary", + ". );Ċ", + "Ċ ĠĠĠĊ", + "[ curr", + "ts y", + "ĠAlex is", + "rit el", + "Ġpet roleum", + ".pre processing", + "m atter", + "For Result", + "- license", + "Ġtrav ellers", + "ĠDispatch er", + "enn ifer", + "Ġdigest ive", + "P ED", + "hib ition", + "MAS ConstraintMaker", + "ĠW att", + "Ben ef", + ".set View", + "d to", + "TE E", + "ĠPel osi", + "_EX TRA", + "Ġmed als", + "x hr", + "fore cast", + "Ġn argin", + "oun s", + "-f ill", + "_CUR SOR", + "Ġsuperv ised", + "Ġtur f", + "ĠEd gar", + "POS ITION", + "Ġcategory Id", + "â ī", + "_ ER", + "á»§ a", + "Sh own", + ". ll", + "_POL ICY", + "(), '", + "ĠPre v", + "ĠString Field", + "ĉG lobal", + "ass ed", + "Through out", + "o stringstream", + ".awt extra", + "Ġslo pes", + "ĠSe quential", + "Ġgi orn", + "Ġz elf", + "Ġvers atility", + "lene ck", + ".c gi", + "Ġdou bling", + "ĠBang kok", + "Ġbu urt", + "Ġusu ário", + "st udio", + "Ġje unes", + "Ġm uted", + "Ġ ips", + "_f raction", + "&& (", + "Ġst unt", + "'); ?>čĊ", + "Ġev apor", + "b able", + "ĠPR ICE", + "Ġæ ³", + "lu cent", + "Ġv amp", + "ĠTechn ician", + "Ġuniqu eness", + "M es", + "ur ban", + ".param etrize", + "ĠRe play", + "S essions", + "em br", + "-Americ ans", + "_PRO XY", + "Ġp ian", + "Ġtri e", + "ĠD estructor", + "Game State", + "ĠIM F", + "ch in", + "Ġport e", + "ĠSw al", + "åŁ İ", + "Sub string", + "im ing", + "/L ibrary", + "Ġfright ened", + "w rites", + "Ġrecurs os", + "ar Result", + "_INIT IALIZ", + "ĠBad ge", + "_c rc", + "E ight", + "ĠDIST INCT", + "Ġth ro", + "@ Xml", + "ĠLegend ary", + "-t witter", + "_e asy", + "Ġ+ ++", + "(D ATA", + ".L ocale", + "Ġk ä", + "Ġn urt", + "Ġcr uis", + "_ ios", + "Ġsens ing", + "_L ine", + "Ċ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "pon g", + "ole on", + "Ġwild card", + "ç͍æĪ· åIJį", + "Ġbeg ging", + "R od", + "Ġà İ", + "_C ELL", + "Research ers", + ". selector", + "_ ing", + "Ġaspir ing", + "Ġimm ortal", + "Ġy min", + "_ robot", + "Ġpl ur", + "B TC", + "ĠD ID", + "Ġpier cing", + "* u", + "_DEFIN ED", + "ĠTh i", + "ita ire", + "(m edia", + "- ons", + "Ġche fs", + "Ġ\"* .", + "/ AP", + "Ġraz or", + "Ġsearch Data", + "Ġ= &", + "Ġ ãĢĤ", + "Ġm ourn", + "ting ham", + "Ġo li", + "ĠVern on", + "_R S", + "ŀ æĢ§", + "Ġf ácil", + "ang en", + "cel ain", + "Ġa il", + "le st", + "ĠQ COMPARE", + "g ain", + "ĠÎ µ", + "ĠK ob", + "ĠF ault", + "_config s", + "ç»ĵ æŀľ", + ". +", + "cal ar", + "(color s", + "M ul", + "_ ART", + "Ġexperiment ing", + "erm en", + "ĠAng lo", + ".Fixed Single", + "Se a", + "Ġc txt", + ".s lider", + "C ollapse", + "G rey", + "Ġf ld", + "-pro of", + ".cap acity", + "get Parent", + "ĠCom pliance", + "Ġburg l", + "- rec", + "Ġover written", + "M U", + "Ġrout ers", + "ĉ Model", + "Ġfantas ies", + "av ian", + "_p rec", + "ĠSc andin", + "Ġ// <", + "/o ct", + "Ġceremon ies", + "Month s", + "und y", + "Ġqu ed", + "ĠN ou", + "ĠV ibr", + ".r gb", + "Ġcit rus", + "Ġbr aces", + "-upper case", + "get Table", + "Ġdop o", + "ĠK err", + "_CH ILD", + "- cloud", + "ĉ Matrix", + "Ġgard ening", + "S ing", + "al most", + "Require ments", + "ugu ay", + "( Property", + "sub scriber", + "FA ST", + "re action", + "(l p", + ") })Ċ", + "` ).", + ".w allet", + "_ex change", + ".Max imum", + "ĠVer b", + "âĶ ģ", + "() <", + "ï¼Ľ Ċ", + "RO T", + "C ARD", + "ub it", + "{ @", + "_k el", + "ĠTool tip", + "My SQL", + "Main Activity", + "ar f", + "Ġm align", + "Ġse inen", + "ap ist", + "Ġ< %", + "Method Impl", + "M il", + "ĠM ick", + ".de pend", + "< ID", + "Ġpredict ive", + "ĠAP PLICATION", + "le f", + "dim ensions", + "Ġconoc er", + "/ conf", + "ĠTr acy", + "F oto", + "_rem aining", + "= file", + "Ġpage Index", + "ĠPar ish", + "Ġt exas", + "ĠM AGIC", + "ĠH ew", + "d ifference", + "Ġalt ura", + "c um", + "ĉdata Type", + "Ġcaracter es", + "avi ours", + "ĠV OID", + "è¿ ij", + "P UBLIC", + "B io", + "ĠstringBy Appending", + "Parse Exception", + "ĠS uff", + "ĠN orton", + "/d etails", + ".n ull", + ">> &", + "ĉ ok", + "-l ow", + ". usuario", + "n ested", + "X B", + "OUR S", + ".Border Color", + "Ġb row", + "ĠÐ ķ", + "cor r", + "ĠRed skins", + ".get Tag", + ".get Transaction", + "Ġst igma", + "hard t", + "ĠPlayer Prefs", + "als y", + "uc son", + "L anguages", + "ĠOl ivia", + "Ġt ac", + "Ġb li", + "Ġc aval", + "Ġconsolid ated", + "Ġper il", + "Ġde le", + "Ġform ulated", + "Ġhigh ways", + ".sp awn", + "== $", + "ĠN iet", + "Ġv eggies", + "yp o", + "-r ule", + "ĠV ie", + "/e pl", + "Ġenf ants", + "string Literal", + "Ġtou ghest", + "buy er", + "Ġcov ariance", + "Ġil i", + "ĠSoph ie", + "ĠB AB", + "Ġ\" ),", + "ĠU k", + "current Index", + "_user data", + ".code c", + "ĠPun jab", + "ĠSN P", + "l ol", + "adv ance", + "Ġcom fy", + "Json Ignore", + "Ġfashion able", + "ĠI CON", + "Ġor a", + "ĠP ricing", + "< num", + "ĠI RC", + "ER V", + "ĠMe in", + "ĠID ictionary", + "AD OW", + "is New", + "ĠDev on", + "at l", + "(request Code", + "ĉ PreparedStatement", + "IM PORT", + "Ġmar ital", + "_SELECT ED", + "get Response", + "ar Down", + "B V", + "ib Name", + "ĠP ATCH", + "ä än", + "Ġda ar", + "ĠFile Mode", + "Ġm arty", + ".Spring Application", + "c ene", + "amp oline", + "get Size", + "Rest art", + "æķ Ī", + ".project s", + "ĠEthi opia", + "Ġstatus es", + "T ION", + "(b g", + "ĠX unit", + "Temp orary", + "ĠEng agement", + "Ġx f", + "Ġprox ies", + "Ġgen esis", + "Pager Adapter", + "ĠSl ave", + "Ġsung lasses", + "ĠCh loe", + "Ġko ji", + "ad em", + "ĉ JSONObject", + "Î ³", + "Ġh ors", + "* w", + "ó r", + "es ch", + "Ġcritic ised", + "z ial", + "ĠSale m", + ".Vert ical", + "ĠR ash", + "> E", + "ter ing", + "/s creens", + "Ġheight ened", + "аÑĢ ÑĤ", + "Author ities", + "_b box", + "ün st", + ".font Size", + "ĠBO OLEAN", + "div ide", + "ĠSlo ven", + "uc er", + "Ù Ĵ", + "st ub", + "Ġnavig ating", + ": animated", + "_N OW", + "_v ect", + "} {Ċ", + "@ (", + "Ġtele com", + "Ġcontract ing", + "ĠAss ange", + "Ġextract ing", + "Ġgr ö", + "c obra", + ".D IS", + "Ġcr ab", + "Ġtw itch", + "Ġvert s", + "Ġreject s", + "ĉ format", + "Ġreg eneration", + ".S ys", + "s olve", + "ĉd ialog", + "sh i", + "m eter", + "(b est", + "valid ators", + "Ġon wards", + "Ġg uru", + "Ġmoder ator", + "ow ied", + "ex periment", + "r ub", + "Ġm qtt", + "ĠCa ucas", + "Ġnational ism", + "Ġm ange", + "ĉ ImGui", + "/ Edit", + "Ġin h", + "Ġint ellig", + "ero kee", + "ĉ export", + "Ġdiscrim inate", + "sub tract", + "ĠM oodle", + "ens er", + "ĠGuid es", + "R AP", + "-h ot", + "_gr p", + ".p icture", + "X A", + "Ġinit View", + "_Com m", + "Ġoverd ose", + "Ġ+ ĊĊ", + "ĠSil ent", + "show s", + "Ġinterpol ate", + "Form ation", + "Ġb isc", + "mark ets", + "( SC", + "Z e", + "ĠNetwork ing", + "Ġad renal", + "ĠG uns", + "ete or", + "Decl ared", + "orget own", + "Ġk arena", + "/ password", + "_address es", + "ITER AL", + "B uzz", + "ĠCon way", + "(c ase", + "P WD", + "he iro", + "( act", + "** čĊ", + "());ĊĊ Ċ", + "Ġan v", + "Ġ. .ĊĊ", + "(Menu Item", + "(m ail", + "_section s", + "ĉ net", + "Ġpl ut", + "Ġw rench", + "/ object", + "ĠI st", + "ĠV IS", + "/p ub", + "al ten", + "Ġguit ars", + "Ġantibiot ic", + "ï¼ ĸ", + " ¹", + "Ġ\" +\"", + "form ula", + "Ġbab es", + "ĠP rompt", + "Ġen im", + "/ player", + "ĉ ref", + "Ġby Äĩ", + "Ġconsum es", + "ĠH ast", + "ĠT ao", + "Ġ' ))Ċ", + "Ġcl am", + "Ġthigh s", + "Ġmot if", + "Api Operation", + "ĠW L", + "get C", + "ĉf lags", + "oint ments", + "Ġeconom ical", + "need le", + "x ls", + "pr actice", + "ut zer", + "time ofday", + "- output", + "Ġfind ById", + "ĠBudd y", + "Ðŀ ÑĤ", + "Se ven", + "ĠB ark", + "Ġenv oy", + "_al gorithm", + "åĪ ©", + "Ġball istic", + "ç§ »", + "r ades", + "ĉd oc", + "rodu cing", + "ĠE ating", + "Un mount", + "/data Tables", + "_b onus", + "Ġl itt", + "pp s", + ") localObject", + "per f", + "ĠHel vetica", + "sh utdown", + "/ ml", + ".t okens", + "ĠHard core", + ", row", + "/b g", + "Sc aler", + "âĢĶ as", + "_log its", + "âĢĻ int", + "ĉ App", + "Imp licit", + ".F printf", + "ET O", + "Ġterr a", + "Ġpossess ing", + ".r strip", + ", ),", + "= yes", + "ĠStr ipe", + "? =", + "ne utral", + ".g ood", + "Ġk ennen", + "ĠS ung", + "f ault", + "ystate change", + "Can adian", + "',' \".$", + "ĠM its", + "æ nd", + "ĠSTR UCT", + "ĠURL WithString", + "ĠCom pass", + "Ġ-- ĊĊ", + "ĠNS LayoutConstraint", + "| min", + "-ad just", + "Ġreb uilt", + "L IGHT", + "/ se", + "-m ount", + "vp n", + "valid ated", + "(Q Object", + "Ġign ition", + "ĠCharg ers", + "RYPT O", + "]initWith Frame", + "ĠFl uid", + "Ġcad re", + "Ġnomin ations", + "Ne ill", + "ĠH ou", + "Ġcurrent s", + "_g ene", + "(in p", + "Par is", + "z ÄĻ", + "ag gregate", + "Ġass oc", + "weet ed", + "err at", + "âĢĵ ĊĊ", + "Ġ'/ ',Ċ", + "fix ture", + "ĠH ighest", + "amb ient", + "Ġch mod", + "Ġcon te", + "Ġsens ual", + "Ġgar ment", + "z ers", + "ĠPower ed", + "dom ains", + "R eward", + "i omanip", + "Ġcock pit", + "out file", + "Ġbuilt in", + "Ġins isting", + ". vars", + "zip code", + "Ġ ����", + "f ails", + "Ġconsolid ation", + "_ oid", + "Plan et", + "Ġ= \",", + "ĉ el", + "UIL T", + "ät z", + "af ari", + "ĠMc Cl", + "Tim eline", + "Est a", + "Ġfr am", + "Y E", + "Ġcere bral", + "Of Month", + "ĠP regn", + "Ġкл аÑģÑģ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠF res", + "Appro ved", + ".S pecial", + "ĠProtest ant", + "Ġallerg y", + "_p cm", + "ĉC opyright", + "Ġsuper Class", + "\" strconv", + "ĠMoh amed", + "Ġ' //", + "Fore Color", + "Ar thur", + "ĠJ ungle", + "Ġve ins", + "S ad", + "Ġback ups", + "ĠOp inion", + "û t", + "Ġinter mitt", + "ody n", + "ĠChrist ina", + "Ġand re", + "Ġevac uation", + "pa lette", + "h orse", + "ĠRes ident", + "ĠHass an", + ".N il", + "Ġa isle", + "ĠG rowing", + "Ġblog info", + "/s ql", + "_io ctl", + "Sc aling", + "ĠMon ad", + "_c pp", + "ĠH utch", + "ĠApple WebKit", + "Exp ense", + "_J OB", + "Ġpoint less", + "From Body", + "ant al", + "Ġdepict ing", + "ĠC ELL", + "Ġref in", + "ĠC NC", + "ì¹ ĺ", + "_dim ensions", + "ĠS AN", + "Ġa ft", + "Ġfoot steps", + "cc oli", + "_PH ONE", + "/m ath", + "-k ind", + "ĠMe ans", + "ich ael", + ".g una", + "Ġinaug uration", + "-dr iving", + "( delete", + "Ġtotal Count", + "_M C", + ".Ext ension", + "Com mercial", + "Ġz Index", + "< Customer", + "\" g", + "-sh are", + "Ġp act", + "ag ara", + "ĠS IL", + "_m odes", + "ĠM olecular", + "Ġsystem atically", + "< G", + "_s cr", + "ĠO ro", + "as ers", + "Ġb ic", + "Ġdest roys", + "PI PE", + ".Start Position", + "Ġc á»§a", + "ire z", + ".B unifu", + "_F unction", + "Ġs ü", + "_f uture", + "ĠWe alth", + "ĠNatur ally", + "æĢ »", + "_y es", + "Ġabrupt ly", + "String Encoding", + "ĠCGPoint Make", + "Ġz h", + "Ġimp erson", + "Ġpiv otal", + "ĠSom alia", + "Ġsegment ation", + "_AN AL", + "ĠLogin Component", + "Cons ult", + "Ġtr uncated", + "] \";Ċ", + ".get Config", + "Ġintern ship", + "B aby", + "ê° ľ", + "Ġstrengthen ed", + "_M I", + "b asket", + "Ġnicht s", + "ĠTV s", + "ĠSh an", + "ãĤ µ", + "rac use", + ".Re LU", + "/ interfaces", + "ĠgetItem Count", + "Ġret iring", + "Ġspecial s", + "Ġentity Manager", + "bel ief", + "Ġs older", + "da ughter", + "ij kl", + "Ġutil izes", + ".f ixed", + "S U", + "Ġdr astic", + "Ġh acks", + "gr und", + "ĠM U", + "ĠSt arter", + ".Com ponents", + "_m otor", + "Gold en", + "Ġl odge", + "Ġ ));", + "ĠCor inth", + "иÑĩ еÑģÑĤво", + "ón ico", + "gre SQL", + "ĠFl uent", + "Ġmar c", + ".Load Scene", + ".Group s", + "Ġer h", + "ĠAut umn", + "St opped", + "Ġitalian o", + "Ġmin ions", + "ĠAssert ions", + "Ġm ux", + "B u", + "Ġ---------------------------------------------------------------- --------------------------------", + "ĉ up", + "read ystatechange", + "_M eta", + "Ġcurrent Date", + "ĠChap man", + "Und o", + "Se an", + "ap r", + "Ġpar m", + "_ icons", + "ĠSt a", + "á z", + "Ġsub division", + "Ġalter ing", + "P NG", + "ponent ial", + "Ġpost gres", + "ĠB DS", + "-ex istent", + "ĠBrad ford", + "ĠO MX", + "_W HITE", + "_PRO GRAM", + "q c", + "Ġtypings Slinky", + "ĠP ics", + "_M ETA", + "IT TER", + "_sub scription", + "IRON MENT", + "ĠHy undai", + "();ĊĊ ĊĊ", + "ĠØ ³", + "Ġj ac", + "Ġelimin ates", + ") });Ċ", + "Ġcomp rend", + "ĉ insert", + "_f aces", + "\"> $", + "Ġeb ay", + "Ġcapt ive", + "pl iant", + "ĠCalcul ates", + "ol ta", + "est ing", + "_re vision", + "Ġm ús", + "+ m", + "\",\" \",\"", + "WH AT", + "Ġcompassion ate", + "h arga", + "[ random", + "Ġmod ulo", + "(s n", + "Ġoccup ations", + "//// Ċ", + "ĉ board", + "ĠB alk", + "wi Äħ", + "ĠW ifi", + ".Pro file", + ":m aj", + "ĉm at", + "LOCK S", + "(j Button", + "Ġ(' $", + "M ur", + "æĮ ī", + "b ble", + "Ġf rog", + "-h ide", + "Ġbroad caster", + "ภŀ", + "ha led", + "Ġam using", + "_predict ions", + "_in tr", + "Ġe agle", + "аÑĤ елÑĮ", + "Ġget List", + "ps ilon", + "Ġcharacter ization", + "AR DS", + "Ġre location", + "Ġr ulers", + "P AY", + "ĠDef initely", + "_A ction", + "Ġclos ures", + "Ġfact ual", + "odyn amic", + "Ġpreca utions", + "nie j", + "ĠPart ies", + "ĠSub aru", + "Ġcous ins", + "ar beit", + ".m oney", + "gun ta", + "( and", + "get item", + ".Style Priority", + "Ġsl id", + "single ton", + "Ġg arn", + "ĠP AS", + "Ġd azz", + "a ż", + "Ġbog us", + "ĠM og", + "Ġrival ry", + "is ol", + "Ġland marks", + "ñ as", + "B ern", + "ĠSach s", + "Ġ\" )ĊĊ", + "Ġhost ility", + "_m ex", + "m ere", + "M ot", + "p ictureBox", + "Def ense", + "Ġaffid avit", + "other wise", + ".d irectory", + "_ UnityEngine", + "-b log", + ".s kin", + "ph em", + "Ap ellido", + "er chant", + "[ class", + "Ġw art", + ".\" [", + "ale ur", + "/ back", + "ĠĠĠĠ ĉĠĠĠ", + "Ġprecip itation", + "Ġob struction", + "Ġp Obj", + "Ġr upt", + "UCK ET", + "ay e", + "æİ Ĵ", + "g x", + "Ġe cl", + "Ġsecre cy", + "/ Header", + "ĠLes b", + "Ġle i", + "ĠBullet in", + "Ġgive away", + ".H ome", + "_RO OM", + "\" W", + "Ġcow ork", + "_ ra", + "ĠC ycling", + "ĠP aw", + "Ġpup il", + "/ arch", + "ĠFile Utils", + "é¦ ĸ", + "r sp", + "Ġfreed oms", + "ĠL ear", + "}` ).", + "Ġbow ls", + "/b lock", + "_log ging", + "Ġmeth ane", + "Ġhorn s", + "Ġwonder fully", + "Ġalter ations", + "Ġex ile", + "ls en", + "_p ause", + "_L ANGUAGE", + "ĠUS DA", + "_m ysql", + "_AM OUNT", + "ĠL IFE", + "Ġyoung sters", + "Ġri ots", + "[ E", + "Ġun forgettable", + ", },Ċ", + "Dis posed", + "ĠAss assin", + "UN G", + "ĠNew sp", + "User Service", + ": aload", + "+ ',", + "Ġsett lers", + "Ġscre ams", + "Ġincon venience", + ".R otate", + "Ġj ars", + "ĠP uzzle", + "Ġm est", + "ars i", + "ĠSh arma", + "| (", + ".d s", + "ĠSac red", + "_e vt", + "Ġexpress es", + "Ġh och", + "ĠD uch", + ".c alls", + "th r", + "ĠShe ffield", + ".Alert Dialog", + "Ġrad ically", + "Ġtr ous", + "Ġprev ailing", + "ĠWW II", + "âĢĻ n", + "ens ely", + "ĠY esterday", + "ĠSir ius", + "Ġkill ers", + "ĠF FT", + "Ġo val", + "') :čĊ", + "Ġìłķ ë³´", + "our age", + "ĠCheck box", + "Work book", + ".def er", + "_f loor", + "Ġc ouncill", + "Ġnors ke", + "mo il", + "ore a", + "Ġmarket ed", + "_S UR", + "x AA", + "Ġst ained", + "e ut", + "ĠM eng", + "Ġi eee", + ". extern", + "eg ie", + "Ġr app", + "ĠPy ongyang", + "' class", + "M ob", + "Ġinitial Value", + "_w ave", + "Ġj ab", + "Ġmascul ine", + "Ġampl ifier", + "Ġt ty", + "Path Component", + "_ xt", + "ĠG FP", + "/ sec", + "ĉdis patch", + "mark down", + "ĠS chn", + "bo le", + "· ·", + "mouse move", + "Ġerr Msg", + "Ġas ign", + "_m ono", + "To Selector", + "ĠZ u", + "(R ect", + "ĠError Code", + "lat in", + "ang ible", + "v tk", + "CG Size", + "P okemon", + "Ġclass mates", + "Ġattract s", + "ĠT atto", + "ult an", + "ol óg", + "Ġhalt ed", + "ठ¨", + "ĠK art", + "Ġ ue", + "_Init Structure", + "Test Class", + "ĠAir bnb", + "_ \",", + "Ġchar coal", + "Ġip c", + "ĠSt retch", + ".g lide", + "lates AutoresizingMaskIntoConstraints", + "Ġpot ion", + "ITT LE", + "Ġcount ert", + "_h d", + "pre pared", + "Ad s", + "ĠV ampire", + "rob ots", + ".Create Index", + "Status Label", + "Ġt ucked", + "af ür", + "U t", + "Ġswe ater", + "_F N", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĉ", + "ata ka", + "Ġeyeb rows", + "ac oes", + "ud en", + ".LinearLayout Manager", + "Ġsw ay", + "Ġmult in", + "() )))Ċ", + "ĠNS UInteger", + "ĠMy Base", + "Part ner", + "uts chen", + "ĠC ater", + ".setBackground Color", + "Ġaccompl ishment", + "_pro blem", + ".d td", + "Ġpage Number", + "Ġj ackets", + "Ġcro pped", + "u els", + "ĠH ep", + "Ġc apped", + "* Math", + "_callback s", + "Ġpub b", + "ĠBrun swick", + ".res pond", + "[\" _", + "Ġbed ding", + "hyth m", + "O X", + "(s peed", + "Ġpestic ides", + "Ġ---- ---", + ".Bl ue", + "Ġnood les", + "ĠGo es", + "Ġs aver", + "o xy", + "_com pletion", + "ĠSw inger", + "Ġget Date", + "Ġmind ed", + "int egration", + "ĠLot us", + "(st op", + "(', ');Ċ", + "Ġflood s", + "ĠWork flow", + "Ġerupt ed", + "Mac ro", + "ĠSau ce", + "Ġevent Name", + "\\ Input", + "Break ing", + "ĉ when", + "_p w", + "IND ER", + "ĠWell ness", + "Ġvox el", + "ĠM ell", + "ĠM EDIA", + "SE NS", + "ĠFund s", + "ĠM ild", + "< Array", + "- this", + "ump ed", + "/f w", + "ĠDb Context", + "W I", + "girl s", + "H OW", + "'); ?>Ċ", + "Ġtempt ing", + "Ġtest ament", + "Ġb ible", + "Ġconsult ed", + "ĠIndex Error", + "è¨ ĺ", + "Ġkey pad", + "izz o", + "( ok", + "Ġwhats app", + "ĠRemote Exception", + "Ġteam ed", + "âĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶ âĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶ", + "» ,", + "Ġget Time", + "di ag", + "iss y", + "Ġh ed", + "Ġkn ots", + "j om", + "Ġfun nel", + "-m ails", + "Ġexport ing", + "ĠV L", + "ĠK arn", + "ĠBuddh ism", + "ĠAll an", + "_R ADIUS", + "Ġw ording", + "ĠFor get", + "ĠCor ona", + "ip hy", + "Ġlim burg", + "ugg y", + "ĠUser Repository", + "im in", + "(e le", + "Ġlabel led", + "ç¤ ¾", + "ĠH erman", + ".q q", + "Ġ\" ));Ċ", + "ie ber", + ".Trans late", + "ry n", + "Ġdes env", + "um d", + "Sim ply", + "ĉm ode", + "R pc", + "ĠVal encia", + "Ġstaff ers", + "Ġsel v", + "ĠSpi ke", + "Ġdel ic", + "Ġer u", + "_D T", + "J udge", + "á» ķ", + "ĠBas in", + ".m utable", + "\" url", + "Ġtar iff", + "ĠSlee ve", + "Ġfl are", + ".drop out", + "Ġbr ides", + ")) ,čĊ", + "_con straints", + "de struct", + "Out line", + "Ġdisappe ars", + "_lock ed", + "ĠNS LocalizedString", + "ck e", + "ĉ null", + "ad resse", + "Ġto pping", + "ĠJ oker", + "b ishop", + "но ÑģÑĤÑĮ", + "and ering", + "_ amp", + "= time", + "_S pace", + "_P ULL", + "' =", + "Ġant iqu", + "Ġc ach", + "___ ĊĊ", + "ON ES", + "о Ñı", + "Ġun read", + ".p olicy", + "oooo oooo", + "ëŁ ¬", + "Ġu sted", + "ĠRe ce", + "Ġal lem", + "ãĥ¼ ãĤ¹", + "ĠThought s", + "ve illance", + "istr ate", + "_l ane", + "Ġfam ed", + ".Get Name", + "Ġsmo other", + "ĠQual ified", + "az ers", + "_ geo", + "F ax", + "ĠM inds", + "ĠR aises", + "Ġtrans cripts", + "Con versation", + "Ġremark ed", + "ëĤ ĺ", + "d ling", + "Ġdeploy ing", + "Ġshared Application", + "Ġk p", + "FontAwesome Icon", + "_d ummy", + "reib en", + "ĠJane iro", + "Direction s", + ".get Bean", + "s ass", + "Ġcommand ers", + "v ation", + "error Code", + "ĠAl loy", + ".local ized", + "Ð ij", + "Ġdish washer", + "ĠSou p", + "N u", + "_D efault", + "Ġune ven", + "Ġ/> \";Ċ", + "-B ased", + "Ġseam lessly", + "- null", + "ĠX C", + "Ġst ew", + "(d elay", + "AT ORS", + "ĠWhe eler", + "\" H", + "e ast", + ". air", + "âĢľ But", + "Object Context", + "success fully", + "_l and", + "Ġfold s", + "_CO ORD", + "Ġsub po", + ".get Address", + "in str", + "Material s", + "Ñĥ ÑģÑĤ", + "de posit", + "-l ast", + "_GR AY", + "= find", + "Ġmut ant", + "Ġlesb ienne", + "let cher", + "RO UGH", + "ure ka", + ".c apture", + "Ġen n", + "Ġ([ [", + "ĠFl u", + "Ġtask Id", + "ĠHus sein", + ".f older", + "Ġa usterity", + "ISTR ATION", + "_ Impl", + "注 æĦı", + "Ġdec ree", + "- chat", + "Ġimp lication", + "Ġguess es", + "ul kan", + "An alytics", + ". plus", + "COM MAND", + "е ли", + "» ĊĊ", + "_S ITE", + "Ġequal To", + "Support FragmentManager", + "ĠRec ording", + "å®Į æĪIJ", + "Ġbag gage", + "Ġpitch ers", + "ĠE h", + "o que", + "ĉc nt", + "Ġ=> $", + "/ foo", + "IR A", + "ĠSat ellite", + "bor ah", + "Ġ}} \"Ċ", + "ĠEnd s", + "ĠSpr ay", + ", param", + ".Ch rome", + "* q", + "th ought", + "ibr ated", + "Ġth ieves", + "Ġbenefici aries", + "Enter ed", + "ottes ville", + "Ġveter in", + "By ID", + "qu ipe", + "um ption", + "- unit", + "Execution Context", + "@ s", + "ĠG iov", + ".Tool Tip", + "_f riend", + "( attributes", + "Ġdump ing", + "ĠJ C", + "_D OCUMENT", + "ĠArm our", + "( insert", + ".Horizontal Alignment", + "ĠQ ed", + "ãģĦ ãģ¾ãģĻ", + "/g it", + "ĠY YYY", + "ĠCard iff", + "Ġap a", + "organ ic", + "ĠWhere as", + "Ġæ Ŀ", + "ĠM ia", + "Ġdemol ition", + "Ġsc ars", + "Ġp ai", + "Ġre tries", + "Ġr q", + "ĠDen is", + "( Utils", + "Ġallev iate", + "ĠP IC", + "id ue", + "Ġacknowled ging", + "Ġ// ////////////////////////////////", + "ç¡® å®ļ", + "Ä «", + "\\ Json", + ".b inary", + "Ġx type", + "sign als", + "ĠAp pearance", + "& r", + "} s", + "C i", + "ĠI llum", + "por ate", + "h og", + "Ġindex Of", + "\\ Command", + "_par allel", + "ĠSher lock", + "í ĥ", + "Ġ\" \")čĊ", + "//////////////////////////////////////////////////////////////// ////////////////////////////////", + "Ġcritic ize", + "ĠSo ap", + "ĠMatch er", + "Ġgr illed", + "* T", + "Ġad ore", + "ull ing", + "Ġjed och", + "_ref s", + "lean up", + "ĠJ AXB", + "Ġro ses", + "ĠL iam", + "size i", + "Ġget char", + "Ġtar de", + "-to oltip", + "Ġqual ifier", + "ĠInter mediate", + "_W indow", + "ĠMal ta", + "Dis connect", + "ew here", + "Camp o", + "Ġirr ational", + "led o", + "ĠD N", + "ARG V", + "Ġout ro", + "Ġth irteen", + "Jose ph", + "M AR", + "/g l", + "J ess", + "ĠPsych iat", + "Ġpadding Bottom", + "- loop", + "/ fonts", + "_se en", + "Te ams", + "React DOM", + "(m an", + "(x path", + ".get SimpleName", + ">( *", + "ĠP vt", + "Ġel ders", + "Ġp ies", + ".user Agent", + "- region", + "ĠGree ks", + "(f ragment", + "st u", + "Ġcouncil s", + "Ġst amina", + "ĠGod dess", + "è ¥¿", + "Ġphilosoph ers", + "Ġpers one", + "ĠL ose", + "ĠCL R", + "ĠD ocs", + "Ġso ak", + "ĠHOLD ER", + "Ġb ells", + "hash Code", + "R ATE", + "_WE IGHT", + "in ous", + "end ra", + "oph obic", + "Ġpro se", + "Ġfin ely", + "/o auth", + "(s pace", + "ad ge", + "ĠM ama", + "Ġstring Buffer", + "Ġst int", + "Ġmis ma", + "Ġvill ains", + "ĠCrime a", + "Ġdipl oma", + "Ġпо Ñģл", + "ĠBe a", + "(j oin", + "Ġíķ ´", + "CH AT", + "per ing", + "ĠC ros", + "Ġmon keys", + "Ġpred s", + "yl a", + ",, ,", + "Ġvibr ator", + "ĠN U", + "åħ Ī", + "f ant", + "z et", + "Ġb ietet", + "un ft", + "sw orth", + ".F low", + "Ġpsy ched", + "ĠContin ental", + "> t", + "Ġqu ilt", + ". UP", + "Ġexpans ive", + "Dis pose", + "(l anguage", + "C aps", + "_Z ONE", + "Ġrec ycle", + "ĠMan aged", + "current Color", + ".b roadcast", + "sign In", + ".p rom", + "ll u", + "ue blo", + "Ġpunch es", + "Ġautom at", + "Ġassign ing", + "Ġcreate User", + "ĠAll ied", + "Ġconduct or", + "Ĥ ¨", + "Ġs addle", + "Ġd ni", + "omed ical", + "-W est", + "Positive Button", + "Ġit alic", + "? [", + "(tr igger", + "Ġele phants", + "\":\" \",\"", + "Ġcal iber", + "raft ed", + "d igits", + "Ġmar shal", + "mill iseconds", + "mark ers", + "m om", + "/ place", + "Ġhol istic", + ": t", + "# ,", + "Ġb oto", + "Ġnause a", + "ĠSh ooting", + "ite ch", + "Ġtext Status", + "< Class", + "ĠDes cribe", + "Ġbuff et", + "g il", + "Ġlog its", + "std call", + "mod s", + "ĠSk ull", + "ĠB are", + "h ope", + "ĠIn tr", + "F air", + "ĉ pt", + "Ġacompan h", + "Ġf kk", + "_r pc", + "Inst alled", + "_ ans", + ".get Minutes", + "â̦ \"ĊĊ", + "- thread", + "Ġpres chool", + "AIL S", + "Ġdiff ic", + "( convert", + "ĠN ath", + "ĠDO J", + "Ġreg imes", + "Ġenthusi ast", + "Ġwarrant ies", + "Ġfasc inated", + "_b inding", + "_N ot", + "oft en", + "_R W", + "/m ail", + "Ġtitle Label", + "Ġvill agers", + "ĠJ iang", + "Ġsw agger", + ".Row Index", + "_img s", + "rap y", + "VER AGE", + ". Up", + "Ġno op", + "c io", + "ĉ ST", + "Ġdecre ment", + "Ġmagn esium", + "_ rotate", + "S it", + "Ġnieu we", + "Ġter med", + "íķ ©ëĭĪëĭ¤", + "Ġur g", + "_t ouch", + "Ġsw arm", + "Ġcl ave", + "th est", + "ĠL af", + "H X", + "ĠH ulk", + "Ġplaint ext", + "ĠSof a", + "get Session", + "L ed", + "Ġecosystem s", + "he i", + "ĠK ills", + "Ġhus bands", + "Ñħ ÑĢан", + "(d om", + "_t iles", + "Nib Name", + "Ġdon ating", + ". acc", + "Ġlifes pan", + ".b n", + "_RG CTX", + "æ ¥", + "ans en", + "Ġmod elling", + "Layout Params", + "ĠonChange Text", + "rs a", + "- location", + ".P e", + "(b us", + "(s ong", + "Ġprodu k", + "ĠSH OULD", + "ĠC J", + "Ġs os", + "ĠHome Controller", + ".load ed", + "(D ocument", + ".s ocial", + "t iles", + "Ġl ame", + "= df", + ".parse Long", + "Ġpr ac", + "Ġdet ox", + "ĠV E", + "Ġpunt os", + "Ġdo ctr", + "Ġan cor", + "CA PE", + "Ġc mb", + "çĦ ¶", + "*) \"", + ":// /", + "Value Type", + "Ġmort gages", + "; q", + "ĠRock ets", + "s port", + "UG C", + "ct s", + "ãĤ ģ", + "ie ur", + "ĠAppe al", + "(n b", + "//////////////////////////////////////////////// ////////", + "IM ATION", + "ĠC res", + "ĠMan ip", + "C ause", + "at ypes", + "man ufacturer", + "# ----------------------------------------------------------------------------", + "Ġsp or", + "es on", + "Ġpun ched", + "Ġbook marks", + "ĠBul k", + "Complete Listener", + "ĠTalk ing", + "ĠEr nest", + "Ġrub bish", + "k ills", + "ĠDE FIN", + "Ġneighbour ing", + "ar lo", + "ĠP CA", + "ĉm atrix", + "lo k", + "Ġat las", + "ĠG ur", + "Ġw yn", + "-n egative", + "Ġt ul", + "Ġre lic", + "ĠV oltage", + "ĠPre is", + "ĠJ NICALL", + "ĠPM ID", + "ak et", + "ĉ attr", + "Ġet iqu", + "ĠM J", + "ĠG mail", + "cl r", + "_exec ution", + "éĶ ®", + "pos itor", + ". af", + "N r", + "Ge orgia", + "Top ology", + "Ġperch é", + "Ġmus lim", + "Ġepid emi", + "Ġsab ot", + "act us", + "Ġë ĮĢ", + "ĠIO Error", + ". est", + "p refs", + "ĠKr ish", + ".Read Key", + "NAS A", + "u ção", + "_D b", + "umer ator", + "W ide", + "(st atement", + ".end point", + ".... .....", + "Ġ[ *", + "stream s", + "m time", + "P x", + "at r", + "Ġt pl", + "R oman", + "Ġscen ic", + ".n z", + "ĠSe conds", + "sub menu", + "Ġìĭ ¤í", + "_b undle", + "Ġde ÄŁ", + "ĠS isters", + "pre ferences", + "Ġport a", + "Ad visor", + "max Length", + "ĠG REAT", + "__ (Ċ", + "ole st", + "ĠLabel s", + "Ġen fer", + "ĠĠĠĠĠĠ ĊĊ", + "ĠThe ft", + "_F ILL", + "ĠW ise", + ") application", + "un ami", + "> ())Ċ", + "ADD RESS", + "B ST", + "et zt", + "ĠQ gs", + "S ense", + "Exception Handler", + "ĠCh u", + ".get OwnProperty", + "Ġexerc ised", + "iot ic", + "ĠRe leases", + "Ġp interest", + "ol ie", + "is oft", + "Ġsequ encing", + "Ġpad re", + "] ));čĊ", + "(r adius", + ".m ed", + "aint ies", + ".Object Model", + "Ġem ple", + "Ġseg uro", + "St ars", + "Ġqual itative", + "lem n", + "á» ±", + "> \").", + "Ġg x", + "-c ert", + "ĠAST M", + "Ġfull name", + "Ġte lemetry", + "ĠCamb odia", + "_ ul", + "ĠCl are", + "C USTOM", + "Q C", + "ĠUn s", + "ĠHTTP S", + "ĠPark inson", + "ancy box", + "',' .", + "T ue", + ".get Last", + "Ġab i", + "Äħ d", + "A st", + "ĠEd iting", + ".Un ity", + "j mp", + "Ġm ats", + "Ġshared Preferences", + "Capt ain", + ".page Size", + "Ġr tl", + "Ġan meld", + "Runtime Object", + "Ġdemand e", + "(\" ;", + "se ite", + "-head ed", + "ĠK ra", + "ĠF ONT", + "` \\", + "Class NotFoundException", + ". avg", + "atic al", + "A j", + "Ġpermit ting", + "Pro j", + "ERR Q", + "Ġcre ampie", + "ĠBuy er", + "-mod ules", + "ĠSund ays", + "| `Ċ", + "Ġday time", + "Ġ+ (", + "Ġgl itch", + "ĠOper and", + "Ġtox ins", + "iny a", + "D NS", + "ĠS as", + "C ake", + "ĠNation als", + ".add To", + "Ġs inking", + "Ġcompreh ension", + "Ġsc or", + "ag ements", + "Ġt ard", + "Ġmarch ing", + "ĠM TV", + "Ġs ane", + "Create Info", + "Ạ¯", + "Ġend Index", + "ĉ layout", + "ĠåIJ į", + "S ITE", + "ĠT HERE", + "Ġ[ {'", + "opath ic", + "Ġtrans mitter", + "/ body", + "Ġp und", + "ĠC losing", + "Ġset attr", + "Ġbound ed", + "At las", + "sum ing", + "(t imes", + "par er", + "yn om", + "fe it", + "Ġf rem", + "- leg", + "ĠBr as", + "> #", + "Ġì¶ ľëł¥", + "ĠIN STANCE", + "ĠC ouch", + "_host s", + "lik elihood", + ".M arker", + "ĠM asks", + "Ġcere al", + "util ities", + "Ġelement al", + "Ġdist orted", + "in active", + "c ry", + "W L", + "UPPORT ED", + ".Th rows", + "/s chema", + "ser ie", + ".\" ',", + "ĠBened ict", + "-p icker", + "ig gs", + "ĠPir ate", + "åij¨ æľŁ", + "ĠTh ema", + "ĠSouth ampton", + "Ġarray With", + "ĠPaul a", + "Ġpredict or", + "- Ass", + ".user id", + "Ġper i", + "Ġexagger ated", + "ur ate", + "arse ille", + "ĠCon cent", + "ĠP ik", + "Ġ@ _;ĊĊ", + "Ġform ations", + "Ġden omin", + "\"/> .Ċ", + "ended or", + "Ġpan cre", + "Ġam t", + "Ġon Resume", + "on Delete", + "ĠB CH", + ") (\"", + "m ovement", + "Ġpot assium", + " čĊčĊ", + "ĠMah m", + "} \";ĊĊ", + "Ġd q", + "ĠPublish ers", + "ĠAm pl", + "ĠDani elle", + "Ġt ern", + "èµ ·", + "no ÅĽÄĩ", + "e in", + "ĠAsync Storage", + "un ger", + "rou w", + "Ġsc issors", + "/ assert", + ".b ucket", + "/ archive", + "_M an", + "Ġint oler", + "Ġ() =>", + "ĠÐĴ Ñĭ", + "Ġsa i", + ".x y", + ".\" čĊ", + "Ġur inary", + "es ub", + "IST ICS", + "ĠÎ º", + "Ġcompl iments", + "Ġtypings Japgolly", + "ih ar", + "Exp ansion", + "ĠS erving", + "_st udents", + "ĠX BOOLE", + "( il", + "Ġì² ĺ", + "Ġj ó", + "(t ol", + "( JS", + "ĉC G", + "ĠD RAW", + "tw ig", + "Ġo at", + "_sm ooth", + "ĠC SL", + "Ġos ob", + "Ġens uing", + "Ġbank er", + "ĠBack pack", + "_p ing", + "Ġwish list", + "= ax", + "ĉĠĠĠ Ċ", + "Dis ney", + "stead y", + "\"> %", + "Ġproph ets", + "ĠZ X", + "Ġminimal ist", + ".PL AIN", + "Se attle", + ". ordinal", + "ĠPI PE", + "Ġret orna", + "Ġjug ador", + "ĠB ret", + "ĠâĶ ľ", + "Ġpl ush", + "UL ATOR", + "Sort ing", + ".grid y", + "ect omy", + "_ activ", + "r ack", + "Inter active", + "ĠAntar ctica", + "Ġv engeance", + "en so", + "_k nown", + "up plier", + ".Mod ules", + "ĠConnection State", + "éļ IJèĹı", + "@ FindBy", + "Ġpl acer", + "\\ model", + "< ()>", + ".is Successful", + "-g ood", + "b z", + "ĠDr aco", + "Ass istant", + "-ex tra", + "аб лиÑĨ", + "Ġhyp ocrisy", + "Ġt st", + "ĠA gr", + "$ txt", + "Ġlog istic", + "lic ensed", + "ĠH of", + "Ġt at", + "( iv", + "Ġinto xic", + "post Id", + "_st rike", + "Ġhum iliation", + "pc odes", + "\" sync", + "(rec ipe", + "+ N", + "rent e", + "ĉ Client", + "ycop g", + "ĠZur ich", + "ĠPro files", + "C ountries", + "Ġp ict", + "Ġroll out", + "requ encies", + "Ġpatch ed", + "Ġcar tridges", + "Ġsh ading", + "J ar", + "Ġsalv age", + "ĠTax es", + "Ġstand by", + "apor an", + "E igen", + ". angular", + "ĠN ested", + "äº «", + "Ġis Visible", + "ĠDw ight", + "_BR ANCH", + ".D elay", + "Ġk end", + "Ġfacilit ated", + ".flat Map", + "Ġs anta", + "ĉS end", + "/m essages", + "Ġof Type", + "ĉs wap", + "# plt", + "ĠTur ks", + "N ES", + "Ġprogress ively", + "ĠRes idence", + "ĠT REE", + "Ġno en", + "d io", + "Ġn elle", + "Ġsog ar", + "itt i", + "week ly", + "Ġambigu ity", + "_Set tings", + "W are", + ".ne o", + "_D ST", + "Ġæĸ ¹", + "pre p", + "lob by", + "@ email", + "/m ovie", + "Ġfun kc", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ċ", + "ÂŃ s", + "Ġguard ians", + "- pos", + "Ġconfig uring", + "ĠC PS", + "ĠDe us", + "Ġvidé os", + "_ empresa", + "Ġsl apped", + "< Model", + "Ġunders cores", + "U h", + ".access Token", + "SET S", + "ĠS parse", + "ĠCal d", + ": path", + "ĠS ervers", + "= batch", + "Ġkn itting", + "Ġx a", + "Ġsearch Bar", + "Ġsn ag", + "Ġinf used", + ".b am", + "le ver", + "Ġtax onomy", + "à İ", + "Ġatt aching", + "Ġh ern", + "_N OP", + "Click able", + "(P arse", + "ĠDynam o", + "-b uilder", + "Ġdere g", + "Ġsc attering", + "è¿Ľ è¡Į", + "an zi", + "ĠShe pard", + "\"> ',Ċ", + "_X DECREF", + "ĠBuzz Feed", + "_M ARGIN", + "P LOY", + ".sm all", + "Ġm imeType", + "Ġh olog", + "ĉc amera", + "li as", + "Ġsusp ense", + "ody nam", + "b au", + "Ġgrave yard", + "_n amed", + "\":\" '", + "Ġ******************************** ****************", + "Ġgame Over", + "ĠLENG TH", + "ĉs creen", + "Ġdo InBackground", + "_depend encies", + "Ġr tc", + "/ up", + "_ ROM", + "H all", + "Ġdef iciencies", + "( te", + "' #", + "_e quiv", + "Ġpre order", + "ĠA xe", + "ом Ñĥ", + ".send File", + "Ġfil t", + "ĠLim its", + "ĠCaval iers", + ".dis count", + "âĨ IJ", + "ĠW it", + "QRST UV", + "Ġi j", + "Ġt egen", + "Ġ: \",", + "diff iculty", + "p unkt", + "ĠEmail s", + "ch lor", + "(f un", + ".U int", + "ĠSt all", + "_ verified", + "u D", + "File Type", + "Ġple asures", + "Ġjud iciary", + "Ġsh am", + "ip ur", + "_PL US", + "off ers", + "( foo", + "_G T", + "ĉc ore", + "ENT ION", + "ĠLib eration", + "Command Line", + "_de partment", + ".A r", + "_ne ighbor", + "ĠSub mitted", + "ĠĊ", + "Ġdro its", + "Ġhomosexual s", + "Ġab duction", + "ĉw idget", + "$ headers", + "ĠD AR", + "Ġfl a", + "th reat", + "Ġlou is", + ".Get Property", + "\" Just", + "(f rames", + "ry o", + "prof ession", + "| i", + "íķ´ ìĦľ", + "(s v", + "Ġun recognized", + "I onic", + "F ashion", + "Screen State", + "ĠIn coming", + "Not Nil", + "Ġsync ing", + "em ie", + "Ġtherm o", + "_pro cs", + "Ġincons istency", + "rel igious", + ".m j", + "Ġperson n", + "Ġmoment os", + "or arily", + "Ġæ Ĭ", + "_ne urons", + "Ill ustr", + "im oto", + "il ik", + "ĠW oj", + "Tr ading", + "Ġapp are", + "Ġentre prises", + "ach at", + "Ġ ¬", + "Ġne igh", + "BUTTON DOWN", + "ĠMah er", + "ag han", + "-h ash", + "\" f", + "Ġclient ele", + ".add Button", + "ĉ SP", + "Q i", + "Ġgr ated", + "POS ITE", + ": >", + "ĠHow ell", + "ĠCompar ative", + "ĠIS C", + "ÂŃ i", + "O cean", + "D avis", + "ĠFil me", + "W ins", + "ĠJ IT", + "oc cer", + "ĠC orm", + "ENCH MARK", + "rch ive", + "ica ção", + "Ġm ata", + "Ġchild birth", + "ĠOption ally", + "En s", + "Ġx http", + "Ġel ucid", + "_Osc InitStruct", + ")) ):Ċ", + "Ġint uit", + "ĠDon ate", + "Ġcorrel ates", + "> Delete", + "Ġequ ipe", + "Ġb oca", + "Ġinfl atable", + "er ah", + "ĠDateTime Kind", + "Ġcal ves", + "\\ Lib", + "Ġem lrt", + "ĠTr ilogy", + "ĠP anc", + "ĠD uis", + "ĠpelÃŃcul a", + "WAR DS", + "_DE TECT", + "-section al", + "dh cp", + "For Row", + "-de struct", + "ĠPres enter", + "/s lick", + ", on", + "ĠCit adel", + "logged in", + "_sub type", + "Ġsig ue", + "Ġc uring", + "ĠFire wall", + "Ġfluores cence", + "ĠItal ians", + "иÑĤ ÑģÑı", + ".get Style", + "In Seconds", + "j ie", + "-S mith", + "Ġx link", + "Ġsub missive", + "он ÑĤ", + "arbon ate", + "ĠF aul", + "_go als", + "ĠCommission ers", + "chart Instance", + "_POST FIELDS", + "Ġmed ial", + "Ġman os", + "Ġdel t", + "sv m", + ".Ap is", + "ep hy", + "Ġasym pt", + "Ġapp Delegate", + "Ġimpro bable", + "ck a", + "sim d", + "/ Error", + ". âĢĵ", + "ĠP TS", + "de er", + "Ġs ina", + "m agnitude", + "ID ADE", + "'] }'", + "Ġmay ores", + "ĉ comment", + "/ console", + "\" @", + "v olt", + ".s ell", + "ĠM acy", + "Ġmel od", + "Ġim ágenes", + "_ch g", + "Ġin out", + "ident e", + ") '),Ċ", + "d ni", + ".b lob", + "Ġtyp ography", + "Ġe erie", + "_O ID", + "pes an", + "aj an", + "Ġch opping", + "Ġbl uff", + "ad f", + "_b ases", + ".Form atter", + "Ġ\\ %", + "ĠPage Info", + "Car rier", + "ĠCal ibration", + "com o", + "-b odied", + "Ġfinanc ier", + "ĠIN A", + ". ERR", + "Ġhood ie", + "ĠSan ity", + "gu arded", + ".opend aylight", + "ISM ATCH", + "High lights", + "ün k", + "ani em", + "anger ed", + "assign ments", + "Ġregistr ado", + "ĠU PPER", + "ampil kan", + "ash ire", + "ĠNik ola", + "ĠC FL", + "ĠH DC", + "Ġp oids", + "ĠIP s", + "Ġprevent ative", + "ips oid", + "if ix", + ".c amel", + ".g a", + "V olumes", + "- ste", + "Y ahoo", + "_s ibling", + "H ighest", + "opt group", + "Ġkvin na", + "âĢĿ ãĢĤĊĊ", + "ĠAppl iances", + "Ġ\" ><", + "') \")Ċ", + "ht t", + "ĠIdent ified", + "Ġpenc ils", + "Ġmember Id", + "Ġappend String", + ".load Data", + "Ġmock Mvc", + "Ġj ub", + "ĠSl ut", + "ĠTai pei", + "st att", + "Pol it", + "Ġpart ager", + "Did Change", + "Incre ases", + ") }.", + "ĠB aba", + "_CL IP", + "[ unit", + "Ġк лÑİÑĩ", + "Ġalc uni", + "ĠL ola", + "Ġcl inging", + "@ PostMapping", + "(con cat", + "Ġss id", + "ĠFa uc", + "ok it", + "ĠRecord ed", + "á lez", + "($ ('<", + ".assertIs Not", + "Ġk ali", + "V olt", + "Ġwarm ly", + "Ġsca res", + "get ti", + "füh rt", + "_d oes", + ". EMAIL", + "im ations", + "Ġspring fox", + "ĠDec om", + "arc y", + "Ġgl itches", + "ĠM off", + "ĠV oll", + ".b etween", + "Ġcoord en", + "ĠPart icularly", + "GB P", + "Ġsem ble", + "East ern", + "_M SB", + "]) {čĊ", + "m organ", + "ĠE VAL", + "d ere", + "HO USE", + "mo ire", + "ist ique", + "_l stm", + "-com mit", + "yster ious", + "Ġtw ink", + "-th umbnails", + "en ÃŃ", + ":' ',", + "Ġblack out", + "ĠFlo ors", + "Ġso fas", + "Ġou i", + "lesh oot", + "ĠRa q", + "- abs", + "Ġk ra", + "M ining", + "sha ft", + ".set Columns", + "Cl azz", + "PRE TTY", + ".play list", + "éĸ ¢", + "-Sah aran", + "M ING", + "ĉ bl", + "è® ®", + "j f", + "DO CKER", + "hope fully", + "( ignore", + "ĠUsers Controller", + "ĠMitar beiter", + "ĠL ES", + "Ham ilton", + "-m etadata", + "ĠK K", + "ikt ig", + "Ġwoll te", + "egr ator", + "] bool", + ", current", + "Ġvalue Type", + "Ġexcav ation", + "ol and", + "Ġv erv", + "/file path", + "Auth Provider", + "Ġpro crast", + "ĉ ULONG", + "_MEM BERS", + "Ġup lift", + "ĠAut onomous", + "Ġart works", + "ĠOut reach", + "Ġp ore", + "Home page", + "Dialog Title", + "ĠGener ating", + "PAR SE", + "Ġsem anas", + "Ġhuman o", + "JSGlobal Scope", + "Ġvol te", + "Ġb ella", + "(is instance", + "Ġpl c", + "\\C atalog", + "Ġeste emed", + "éĽ ·", + "(s uffix", + "Ġswe eps", + "ĉ ORDER", + "Ġdo ivent", + "ĠSw arm", + "ĠComp iled", + "get Page", + "AD R", + ".R ichTextBox", + "ĠN aming", + "ag ged", + "ĠG ANG", + "r asing", + "ode led", + "Ġg ala", + "ĠJS Name", + "dd f", + "Ġill ust", + "ĠLans ing", + "[ port", + "-de ath", + "Ġdin heiro", + "ĠE ighth", + "Ġb ian", + "st Ã¥", + "Ġvers ión", + "ĠLinear Gradient", + "ĠHard ing", + ". *)", + "ec zy", + "$ header", + "Ġv Ã¥r", + "Un checked", + "Ġko je", + "ĠPal adin", + "() )),", + "G iving", + "() })Ċ", + "Ġd ips", + "F riendly", + "Ġport rays", + "Ġhel ium", + "Ġinsurg ency", + "_ex piry", + "ĠstringByAppending String", + "Ġa antal", + "s lope", + "m ast", + ".get Integer", + "Ġ################ ########", + "_PIPE LINE", + "Ġdens ely", + "Ġmut ating", + "m idi", + "ĠSe it", + "ay ne", + "NOW LED", + "ĠDes mond", + "ĠF Name", + "ĠN airobi", + "\\ Context", + "Ġcalc ular", + "-d en", + "Ġc ott", + "] ):čĊ", + "ĠRecommend ation", + "ĠRole x", + "Ġvalidation Result", + ".p at", + "Ġn Ãły", + "ĠRest Client", + "ĠG PI", + "ĠAshe ville", + "ĠO SP", + "ĠPER MISSION", + "ÐĶ Ð°ÑĤа", + "/ notification", + "K night", + "_W ord", + "ĠB ender", + "rank ing", + "Ġpart ida", + "_res ervation", + "Ì Ģ", + "Ġm Name", + "Ġget ch", + "Ġb orr", + "Ġdilig ent", + "Disc uss", + "æŃ£ åľ¨", + "ape ake", + "ion ed", + "-N azi", + ".c um", + "ĠK ron", + "=$ ('#", + "/s ingle", + "Ġerot isch", + "ĠV ib", + "Ġrat ified", + "Ġconcert ed", + "ĠREG ARD", + "Ġdo br", + ".Driver Manager", + "' r", + "Port able", + "ĉs uite", + "Ġrel aciones", + "ĠD op", + "emplo i", + "DO B", + "Ġcr umbs", + "Ġx ls", + "_App lication", + "(': ',", + "Ġ---------------------------------------------------------------- --------Ċ", + "m se", + "Ġber k", + "ĠReturn Value", + "ĠBel ly", + "Ġcam ar", + "ĠPe ek", + "els ing", + "Ġnot ifies", + "ĠTr istan", + "ĠG AR", + "em me", + "ĠElev ated", + "_C SV", + "(ch alk", + "Ġtw enties", + "ĠSearch Result", + "= search", + "ĠMix ing", + "ý t", + "Ġrecru iter", + "ĠIDE OGRAPH", + "ĠA go", + "( Operation", + "$ values", + "Ġworld ly", + "ĠRosen berg", + "ĠConfigure Services", + ">* Ċ", + "Ġsn ork", + "_op acity", + "ĠinitWith NibName", + "i ado", + "A AC", + "Ġ] ).", + "; z", + "_par agraph", + "Ġnos es", + "stand s", + "if r", + "_m E", + "I raq", + ".P redicate", + "ena ire", + "]] ];Ċ", + "Ġun idad", + "Ġretire es", + "_h ello", + "Ġmode le", + "ĠUIT ableViewController", + "f write", + "_num ero", + "_vis ited", + "Ġrece be", + "( Notification", + "Fant astic", + "_sub menu", + "ĠP EM", + "ĠCup ertino", + "approx imately", + "class ed", + ".Read String", + "Ġdomic ile", + "_P W", + "Ġball park", + "ĠK ale", + "con tra", + "_f avorite", + "/ of", + "Qu ite", + "ĠOT A", + "Ġacceler ometer", + "did n", + "| ^", + "ĠRohing ya", + "ivic rm", + "ann abin", + "обÑĭ ÑĤи", + "or ado", + "') +", + "Ha unted", + ", ID", + "( UIAlertAction", + "ur v", + "_b el", + "ĠMex icans", + "/ terms", + "ĠPaint er", + "Input Label", + "ĠV inci", + "ĠRos ie", + "\\ uc", + "< Menu", + "Ġcool ant", + "(current User", + "_d ual", + ") \"},Ċ", + "& p", + "Ġconver ged", + "Ġrestr ain", + "ĠYugosl avia", + "= target", + "Ġimp uls", + "ds a", + "Search Tree", + "Ġh box", + "ĠImp ress", + "§ Ãĥ", + "get FullYear", + "(d a", + "ĠY YS", + ".al ignment", + ".Get Text", + ".token ize", + "ĠOlymp us", + "Ġmur ky", + "ore station", + "Ġdiss atisfaction", + "ĉT Array", + "_ kses", + ".Add Singleton", + "ĠStart Time", + "Ġfan atic", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĉ", + "Ġentity Type", + ". override", + "Ġ -------------", + "ĠDat agram", + "f out", + "(with Id", + "Ġ# __", + "Ł èĥ½", + "ek yll", + ".f riends", + "ame leon", + "Ġz ach", + ".simple Button", + "ret orno", + "Ġkon k", + "/s mall", + "ĠQuick ly", + "un read", + "Don ate", + "Detail View", + "Ġdu a", + "Ġpenetr ated", + "OM UX", + "Ġn ir", + "_p data", + "\"], [\"", + "Ġlow es", + "Ġdop ing", + "Ġas ymmetric", + "Ġneed less", + "our cem", + "Ġup ro", + "ĠGu zzle", + "af b", + "Ġsext reffen", + "-c ollar", + "Ġcol ossal", + "Mon key", + "n ish", + "Ġhandle Message", + "Incre ased", + "* dx", + "ĠChatt anooga", + "f org", + "ĠOr den", + "Ġsh ri", + "ĠV and", + "Ġ\" @\"", + "Image Sharp", + "ĠWild cats", + "pon ible", + ".sc enes", + "Ġpaint ers", + "ĠPf izer", + "ĠZ ah", + "To Local", + "ĠFl am", + "Ġé taient", + ")) ^", + "ĠSand box", + "ĠTR ADE", + "Ġchrom ium", + "Ġac claim", + "Ġpac man", + "´ t", + ") reader", + "M ari", + ".Dispatch er", + ".A DMIN", + "ĠRem ed", + "Sw eden", + "Ġoverl ays", + ". er", + "Ġp ang", + "Ġclean ly", + "aven port", + "Toy ota", + "patch es", + "Ġv tx", + "ĠE is", + "cl ado", + "ĠR itch", + "RO LS", + "Ġh ade", + "Ġconspic uous", + "Ġdo cks", + "(j q", + "ĠPrem iership", + "ĠBe z", + "ĠâĦ ĸ", + "ĠÑĥ Ñģл", + "_tot als", + "Ġprov a", + "ĠC ue", + "Ġsa úde", + "ĠGame Controller", + "IM IZE", + ", port", + "ãĢĤ (", + ".C decl", + "Instant iationException", + "Ġcoll age", + "ĠIO C", + "Ġb ais", + "Ġon Finish", + "-st ars", + "set Size", + "Ġmog ul", + "Ġdis illusion", + "Ġche vy", + "(S chedulers", + "( IR", + "_loc s", + "Ġcann ons", + "Ġcancell ing", + "/b us", + "Ġbuf io", + "ĠY ours", + "ĠPik achu", + "Ġter me", + "r Ã¥", + "f ahren", + "Ġowner Id", + "Ġoblig atory", + "Ġcul p", + "Ġacid ity", + "-m ult", + "ĠBam boo", + "Ġ' \">", + "_g s", + "Ġcomp il", + "n ard", + "-ex c", + "Ġrh yme", + "Ġbut to", + "s ays", + "ant asy", + "ë ¸", + "Ġcitt Ãł", + "Ġche g", + "Time String", + "Ġpos itivity", + "ĠD abei", + "Ġw ang", + "Ġes cre", + "\" c", + "ĉv ideo", + "ĠRank ed", + ".str ings", + ">> >(", + "Ġин ÑĤеÑĢ", + "Ġrest a", + "[: ,:", + "Ġrend re", + "Ġdes er", + "J os", + "Ġdis ruptions", + "Ġоп еÑĢ", + "s ampling", + "sup press", + "Ġcontainer View", + "ĠSeam less", + "Ġair y", + "Ġon load", + ".Window Manager", + "ĠPL A", + "br aco", + ".set PositiveButton", + "Ġp du", + "Ġg si", + "ĠC li", + "_gr adients", + "Ñı д", + "ĠWh isper", + "c stdint", + "Ġl äng", + "Ġform ulations", + "én om", + "ourn emouth", + "[$ _", + "Ġordin arily", + ".set Username", + "Ġfacult ies", + "MIT TED", + "/ values", + "Ġwe ir", + "ĠA pt", + "M Z", + "ĉc f", + "uck en", + "ĉĉĉĉĉĉĉĉ ĉĉĉĉĉĉĉĉĉĉĉĉ", + "def ense", + "[i Var", + "ĠBusiness Exception", + "Select ors", + "(co ordinates", + "ĠRes ets", + "ĠDr inks", + "ole ans", + "(st ypy", + "_IO C", + ".x xx", + "ĠSl ater", + "ĠBel ize", + "Ġ/ ************************************************************************", + "add in", + "_ep isodes", + "Ġis chem", + "legal ArgumentException", + "D anny", + "Ġp ared", + ".code haus", + "ĠAss y", + "ĉ Rect", + "â ŀ", + ".list a", + "Ġв аÑĪ", + "Ġv ets", + "HW ND", + "ison er", + "Ġx o", + "Ġor ally", + "ĠSt mt", + ".r nn", + "ĠD PI", + "ĠStr ikes", + ".setViewport View", + "Ġèĩª åĬ¨çĶŁæĪIJ", + "Y ELLOW", + "GL enum", + "part ners", + "ĠImp licit", + "Ġtak o", + "âĢĻ elle", + "Ġerm ög", + "total Count", + "G il", + "ĉ work", + "Ġpr atic", + "in ati", + "ab ies", + "ĠSk inner", + "Ġspir ited", + "Ġpancre atic", + "Ġh df", + "' em", + "Ġpsych osis", + "olic it", + "Ġ\" {\"", + "_at ual", + "Ġé lect", + "TE AM", + "Ġd ak", + "ĠSW AT", + ".Fragment Manager", + "Ġprovision ing", + "l ifetime", + "_EXTENSION S", + "ĠC ASCADE", + "Ġ! [", + "(K P", + "Ġv em", + "ĠInterr acial", + "'] },Ċ", + "sp acer", + "_k v", + "W arehouse", + "R DD", + "_f sm", + ".Stretch Image", + ", Yes", + "ĠRefuge e", + "ĠBr inging", + "Ġv álido", + ".inter section", + "Ġsp ooky", + "_port al", + "Ġmo th", + "ĠZ odiac", + "ĠSOC IAL", + "M imeType", + "'] }}", + "_Bl ue", + "Ġbot anical", + "Ġfr ags", + "Ġfamil ial", + "- du", + "Ġse izing", + "(block s", + ".r d", + ".check NotNull", + "Ġmis er", + "Ġmax x", + "ĠK nee", + "View Item", + "Inner HTML", + "D anger", + "(( __", + "Ġprz ypad", + "create Url", + "** ,", + "ĠDecor ating", + "ATEG Y", + "?> /", + ".Design er", + "hex digest", + "ĠEvery where", + "all eries", + ".TEXT URE", + ".Block s", + "z ell", + "Ġpre ço", + "S uddenly", + "input Email", + "(s ync", + ".b d", + "gold en", + "> ');", + "ĠDick inson", + ">> (Ċ", + "ĠQUE UE", + "Ġget Column", + "ĠS AND", + ".p iece", + "lic er", + "Fl utter", + "Ġget Version", + "Ġresource Id", + "og l", + "ÅĤ aw", + ".Br anch", + "ĉ web", + "Ġfr amerate", + "PP P", + "Ġfr ay", + "C NT", + "Ġinformat ie", + "'] čĊčĊ", + "ne as", + "Header Code", + "Ġæ ¸", + "Ġtr g", + "raw types", + "H onda", + "Ġmark eter", + "Ġrequest Data", + "ĠP g", + "ĉ not", + "Ġpage Info", + "Ġakt uellen", + "ãģķ ãĤĵ", + "ĠA MS", + "push ViewController", + "ĉ AL", + "Ġv ests", + "produ ce", + "-m ême", + "ĠRah man", + "F unny", + "E Z", + "_ Valid", + "Ġsquad ron", + "Ġl ash", + "Ġ irm", + "ias co", + "ĠPar an", + "Ġpet ites", + "ĠDec ay", + "Ġun initialized", + "priv ileged", + "Ġm bedtls", + "å¤ĩ 注", + "Ġ^ .", + "Ġec static", + "D etroit", + "Ġpart en", + "Ġsou venir", + ".get Login", + "моÑĤ ÑĢ", + "en ção", + "ĠmÃŃn imo", + "ĠAccess ed", + "ri ó", + "M ic", + "ĠV ocal", + ".Set String", + "Ġmens ajes", + "åĢ į", + "Ġattr avers", + "ĠA ph", + "Ġ' );čĊ", + "ünd e", + "Ġench anted", + "ĠRoot State", + "ĠCLOSE D", + "ĉĉĉĉĉĉĉĉ čĊ", + "Ġcal iente", + "or ris", + "Ġphysic ists", + "h wnd", + "_v i", + "Ġráp ido", + "Ġcapital ized", + "ed By", + "Ġmach ining", + "Ġhub by", + "ĠSt acy", + ".B us", + "dr ink", + "H ur", + "Ġprop ia", + "Unit Test", + "Ġmiscon ception", + "__ ));Ċ", + "/d c", + "ĠMay weather", + "_m C", + ".create From", + "ĠQ Painter", + "rops ych", + "inn itus", + "ay as", + "Ġg eg", + "(d w", + "Ġus ado", + "Ġtrick le", + "Ġann ihil", + "ĠP asta", + "Ġ++ Ċ", + "(Expected Conditions", + ".post Value", + "ic ap", + "ĠDon etsk", + "_s oup", + "-p ublish", + "ĠP b", + "ment ions", + "AC CEPT", + ".P ull", + ",âĢĻ âĢĻ", + "Ġret arded", + "_AT OM", + "ĠTermin ator", + "-c ourt", + "ĠCLLocation Coordinate", + "Ġrever ence", + "ĠS SC", + "ut ely", + "ĠW ON", + "ĠG SL", + "fre i", + ".get Longitude", + "Ġopen FileDialog", + ".B utter", + "- important", + "_M ANY", + "ĠG ong", + "âĢľ How", + "Ġg orge", + "= msg", + "ĠEz ek", + "create Command", + ": checked", + "Ġinf ographic", + ".W EST", + "Dir s", + "Ġguard a", + "Ġbeet le", + "< small", + "- android", + "Ġcred itor", + "ĠM éd", + "Ġfinal ist", + "Ġab l", + "ne v", + "_inter action", + "ĠMonter ey", + "j ah", + "Ġcand ies", + "ĠQu incy", + "èª Ń", + "Ġbatch Size", + "ak it", + "Ġo be", + "(p ara", + "Ġexperiment ed", + "Ġcouncill ors", + "Ġcl ashed", + "s qu", + "-st rokes", + "ĠG K", + "ĠEx pires", + "Ġprosec utions", + "ĠCreat ures", + "Ġy ö", + "x lim", + "_IM P", + "Entry Point", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + ".Default CellStyle", + "Ġbre ve", + "ĠBrit ann", + "Ġsweat y", + "Ġle th", + "Ġflash back", + "per manent", + "ĠJ DK", + "_D etails", + "E uro", + "p pt", + "Ġrich TextBox", + "/ board", + "Ġtr ance", + ".c ycle", + "'); \");Ċ", + "Ġtox in", + "_de init", + "Ġover arching", + "Ġconfig parser", + "ĠKaw asaki", + ".th umb", + "Ġplay a", + "ĠJose f", + "+ _", + "Ġzero es", + "Ġa up", + "ĠH ari", + "comm itted", + "N it", + ".file Path", + "ĠDis abilities", + "man ufact", + "-al igned", + ".RE SET", + "Ġrust y", + "E y", + "Ġou sted", + "cos a", + "Struct ured", + ".get D", + "Ġs ábado", + "> Loading", + "_m A", + ".get Random", + "bl ings", + "Ġchees es", + "tt i", + ". âĢ¢", + "ĠBurg ess", + "ender it", + ". ',čĊ", + "(\" \"+", + "ac b", + "% p", + "index ed", + "_pred icate", + "nes ia", + "Ġb ied", + "ĠC IT", + "( Pos", + "_r adi", + "ä»· æł¼", + "B iz", + "ĠAdoles cent", + "Ġvi ên", + "c ycl", + "_C ancel", + "Ġcon clusive", + "Ġappell ate", + "inform atics", + "S J", + "Ġelect ive", + "role Id", + "Fetch er", + "ĉ Command", + "(\" (%", + "Ġf art", + "IL A", + "get Block", + "A USE", + "Ġд ан", + "ĠAr te", + "Ġnot ifying", + "Ġge le", + ".s ame", + "ĠReg el", + "ĠBa ÅŁ", + ".c reation", + "ĠV N", + "_comm unity", + "Ġuns ustainable", + "SE X", + "Ġgrid Size", + "res cia", + "avers able", + "(', ')[", + "ĠPh elps", + "á»ķ i", + "ANCE LED", + "- IS", + ".run ners", + "ĠSt okes", + ".P rodu", + "Ġwh ipping", + "_ac quire", + "Ġinvestig ación", + "f ried", + ".copy With", + "ĠHard cover", + "- Se", + "áŀ¶ áŀ", + "inv itation", + "les ai", + "ĠD orm", + "ĠÑģпиÑģ ка", + "Ġconcaten ated", + "oph il", + "Ġthink er", + "/font awesome", + "ĠLe opard", + "Ġ\"/ \");Ċ", + "Ġresidual s", + "ĠMic rowave", + "Ġconform e", + "th rop", + "Ġdis emb", + "ĠO MG", + "ĠDisc ipline", + "ĠAc robat", + "/re pository", + "df a", + "_M ED", + "buf io", + "Ġméth ode", + "_H OLD", + "ias i", + "_ legacy", + ") ččĊ", + "æ£ Ģ", + "Get ProcAddress", + "Ġy ay", + "ot ence", + "order id", + "-t w", + "Ġdear ly", + "In coming", + "/ il", + "Ġneu rop", + "uc z", + "); čččĊ", + "ĠInnov ative", + "Ġprof und", + "ig mat", + "Selection Mode", + "re levant", + ".G O", + "Ġbru ises", + "Ġs ach", + "ode f", + "Ġre imb", + "/d esktop", + "-s pot", + "und ance", + "Ent ropy", + "\\ core", + "Ġsug er", + "ĠM vc", + "ĠGN OME", + "_ind x", + "ĠYY STYPE", + "ĠMat lab", + "ĠC IF", + "Ġ* ))", + "Ġproduct List", + "ĠAl right", + "ac emark", + "ÑĤи в", + "mod ification", + "int ernational", + "Ġhom ers", + "Ġdict s", + "ĠQ Font", + ".SQL ite", + "Ġtransplant ation", + "ĠMessageBox Button", + "ĠEl ves", + "'] ])Ċ", + "(Q Icon", + "Ġcin emas", + "CO ORD", + "- China", + "Ġkh ẩu", + "æĪij çļĦ", + "Ġskull s", + "Ġpain staking", + "f ce", + ".XR Label", + "Ġspec ifier", + "Ġpref erring", + "/ activity", + "( Photo", + "á lt", + ".l ot", + "' '.", + "ann once", + ".google code", + "-p df", + "ĠP oke", + "_A CL", + "Ġend owed", + "dis cover", + ".om g", + "Ġwood land", + ".M agic", + "Ġvol ont", + "Not Allowed", + "Ġch ave", + "BM W", + "',' =',", + "ĠS IX", + "æĪij 们", + "Ġkos her", + "Ġaspir ation", + "int l", + "_ref ptr", + "'+ Ċ", + "ment or", + ".cl ub", + "Window State", + ".A RR", + "Ġz za", + "Ġmessage Type", + ".e qu", + "Th or", + "Ġin just", + "Ġg ums", + "Ġborder Side", + "//// /", + "ĠTrans mit", + "Ġbuf size", + "Ġh ak", + "Ġell as", + "R ANDOM", + "ĉm c", + "Ġpe a", + "ek o", + "document o", + "Ġhyster ia", + "Ġaren as", + "Ġgun men", + "Ġm ike", + "Ġimp unity", + "atis ation", + "_Z ero", + "_COMP ANY", + "ĠG ors", + "Ġuse Class", + "( redis", + "ĠRUN NING", + "ĠB air", + "vel te", + "Ġ',' .", + "аÑĤÑĮ ÑģÑı", + "ö st", + "encode URIComponent", + "_re strict", + "Ġdec als", + "ĠPed ido", + "Ġalter cation", + "Dis plays", + "ĠApp licants", + "C US", + "Text area", + "ĠAng ola", + ".f uture", + "ĠUS HORT", + "Ġsuppress ing", + "Ġset zen", + "AP olynomial", + "Ġto ch", + "Ġhall mark", + "Ġ$ $$", + "ĠCHAR SET", + ".r pm", + "ĠD ich", + "---------------- ----", + "_p arm", + "è¿ ĺ", + "acc iones", + "h ait", + "WAR DED", + "_r outing", + "ĠN OM", + "Ġen clave", + "ĠLot to", + "ĉf r", + "complex Content", + "ĠBall ard", + "k ube", + "/w in", + ".getColumn Model", + "_RE PLACE", + "Header Value", + "Ġest udiantes", + "Ġap is", + "Ġb pm", + "ĠType Name", + "And Get", + "rit a", + "Pl ans", + "> Note", + "Ġfet isch", + "Ġton ed", + "_g oto", + "ons ense", + "Ġm olds", + "Ġinfiltr ation", + "ĠGuerr ero", + "ub bo", + "ck i", + "($ (\".", + "_ activities", + "(ch anges", + "Ġof App", + "ĠKe pler", + "ĠD emp", + "ĠCont inent", + ".T icks", + "ĠUn signed", + "ĠJah res", + "Ġfresh men", + "ĠArch ived", + "ĠкоÑĤоÑĢ Ñĭй", + "Ġ' ::", + "T utorial", + "C c", + "Ġtable LayoutPanel", + "from Json", + ".level s", + "_trans ient", + "Ġendors ing", + "ĠD IC", + "la uf", + "Ġsh red", + "_E MIT", + "ific antly", + "AL A", + "/ proto", + "Ġnarrow ing", + "U tc", + "Fact ors", + "Ġsent ient", + "æŀ IJ", + "lix ir", + "ĠC ROSS", + "met eor", + "Ġgro in", + "Ġm db", + "ĠRot terdam", + "Ġcom ida", + "ĠOp Code", + "ĠDefault Value", + "Permissions Result", + "Ġheter ogeneous", + "Ġm oot", + "Ġde ceived", + "-in dependent", + "ĠObject OutputStream", + "Ġover power", + ".d up", + "Ġl db", + "Ġdomest ically", + "Ġbest ellen", + "Ġlo v", + "ĠContract ors", + "Tri angles", + "Ġfod der", + "Ġfilm es", + "ä¼ ģ", + "Ġrev olver", + "Startup Script", + "/ validation", + "ĠResource Type", + "i ÅŁ", + "ĠL az", + "f ef", + "Ġlst m", + "{ *", + ". attachment", + ".h its", + "ew ith", + "DO G", + "Al abama", + "Ġmedium s", + ".m Context", + "-c ols", + "åı ĭ", + ".not ice", + "Ġat tn", + "ĠP acking", + "ĠL n", + "_COM PLEX", + "/ Users", + ".sav etxt", + "ĠR ounds", + "?,?, ?,?,", + "Ġing l", + "ĠR OC", + "_f emale", + "ĠSt ard", + "]] ;", + "Ġwrest lers", + "Ġtorrent s", + "Ġsin h", + " ĊĊ", + "ë³ µ", + "s ense", + "how ever", + ".Ph ysics", + "Inf rastructure", + "ĠSac r", + "F el", + "ĠD ISTRIBUT", + "é ments", + "ĠValid ates", + "################################################ ############", + "Ġ| /", + "Ġes l", + "Ġré seau", + "ĠB ip", + "BY TES", + "_W ATER", + "Turn ing", + "EL S", + "Ġj uxtap", + "Ġlesb ische", + "ý ch", + "( Unknown", + "Ne o", + "@ JsonProperty", + "Ġal umnos", + "ĠRaq qa", + "ime i", + ".get Bounds", + ".Mouse EventHandler", + "#### ###", + "Generic Type", + "/c ms", + "Ġturn o", + "Ġм ин", + "Ġfolk lore", + "ĠE vo", + "Ġconduct ivity", + "Ġle ben", + "Ġgear box", + "-v s", + "ĠÏ Ĩ", + "Ġdrink ers", + "Ġcon exao", + "ĠTe eth", + "Ġget Arguments", + "ĠR AT", + "ent ious", + "E duc", + "+ W", + "ĠInstitution al", + "ĠB ord", + "is Equal", + "(p wd", + "Ġign ited", + "ĠR ousse", + "Ġimpact ful", + "ĠM alk", + "Ġg eral", + "ĠP ivot", + "Ġa zt", + "Ġcsv file", + "ĠR ope", + "ĠSOL UTION", + "ĠArbit rary", + "Ġlet to", + ".Mouse Adapter", + "Ġ} }}", + "ĠSail or", + "der a", + "Put ting", + "Ġconcentr ates", + "Ġauth Domain", + "âĢĿ çļĦ", + "-f inals", + ", strlen", + "Mu on", + "ĠOrd inary", + "fire fox", + "ĠLa TeX", + "ĠH und", + "engine ering", + "/ blue", + "ed TextBox", + "(\" \");", + "ĠC DDL", + "ke pt", + "ĠGet String", + "K ir", + "() ='", + "ĠO CD", + "ant ium", + "$ menu", + "ĠAppalach ian", + "Secret ary", + "ë¥ ĺ", + "ี ย", + "Sem antic", + "Ġ* [", + "est one", + "ung kin", + "Max Y", + "-t one", + "\"} ;čĊ", + "_P art", + "< Member", + "tr am", + "Ġtrans istor", + "Ġ---------------------------------------------------------------- ----------Ċ", + "ĠDes de", + "Ġright ful", + "ĠCorn el", + "æ ij", + ".H OUR", + "Ġsidel ined", + "ref errer", + "m aze", + "Ġhol ster", + "Ġcripp led", + "ĠDate Formatter", + "oph age", + "_m D", + "Ġdes elect", + "ra ud", + "ĠPK K", + "row Data", + "Ġlock smith", + ".res ponses", + "(product Id", + "_ST MT", + "Key Type", + ".Th en", + "z ee", + "Ġcr t", + "ĠGrand ma", + "@ Resource", + "Ġbit wise", + "-c mpr", + "ãĢĤ www", + "zeit ig", + "& display", + "Cart Item", + "- No", + "Ġnum éro", + "Ġm aur", + "Ġinst ancia", + "ĉd t", + "_n pc", + "Ġskate board", + "âĢľ All", + "ĠCrow d", + "Ġä n", + "Ġb raz", + "ca e", + "yn et", + "/p m", + "/s creen", + "OPT ARG", + "ĠV Box", + "Ġle opard", + "_g reater", + "c pt", + "< dd", + "Ġmechan ically", + "osp els", + ") f", + ".l wjgl", + ".get Port", + "ĠP REF", + ".Add Transient", + "pp ard", + "Ġí ļĮ", + "Ether net", + "Ġsal ine", + "(level s", + "Ġservice Provider", + ".A ngle", + "alt itude", + "illa ume", + "Ġs cape", + "_CAL C", + "_ quest", + "ĠDiss ertation", + "ĠE DM", + "-C ds", + "Ġhon orary", + "st ops", + "Ġsub dir", + "ĠV H", + "ĠChe at", + "Ġright fully", + "Q E", + ".Write Byte", + "fig ures", + "enn ie", + "( DBG", + "Ġvoks ne", + "Ġexp ended", + "UN ICATION", + "il inx", + "ĠRec ap", + "_ verts", + "Ġtra umat", + "Ġget Player", + "Ġverb ess", + "Ġcultiv ating", + "Ġiniti ator", + "Th ông", + "find First", + "_per ms", + "Ġbu c", + "Ġ\"\"\" čĊčĊ", + "T YPES", + "object Manager", + "(Configuration Manager", + "Ġtim id", + "Ġsnap chat", + "Ġcon seg", + "ĉd istance", + "_right s", + "_D es", + "ĠF lesh", + "- ver", + "Ġa fl", + "fra uen", + "Ġblas ph", + "ĠQual ität", + "ma f", + "Monitor ing", + ".D iff", + "Ġshore line", + "Ġresponse Body", + "mem set", + "< decimal", + "Smarty HeaderCode", + "Ġin sets", + "ĠBinary Tree", + "amed a", + "Ġn ihil", + "ĠN ay", + "ym ology", + "ĠW G", + "Ġt api", + "ĠInst alled", + "m aintenance", + ")} \"Ċ", + "ĠX O", + "-per iod", + "s ar", + "Ġning una", + "ORM AT", + ".set PrototypeOf", + "ĠK b", + "ĠHen rik", + "ét ique", + "ĠLah ore", + "ĉ Address", + "Ġmel ts", + "N y", + "_adv ance", + "Ġveloc idad", + "Ġalum no", + "Ġsanit izer", + "Ġph ishing", + "ĠCom et", + "Ġch iar", + "ĉs pec", + "trim med", + "(state arr", + "on nen", + "Re venue", + "L ens", + "Ġcha ired", + "ĠAss umes", + "Tr ash", + "_un set", + "\\ Bridge", + "Point Size", + "ĠPol ic", + "Ġsex uales", + "ĉd fs", + "ĠWide String", + "Ġaccru ed", + "Y W", + "_S CHEDULE", + "Ġk ite", + "Ġparach ute", + "[ table", + "Ġactive ClassName", + ".Qu ad", + "Israel i", + "ĠÅ ĵ", + "Ġho og", + "Ġch á»ī", + "ew ear", + "Ġtire lessly", + "set Error", + ".get Amount", + ".set Items", + "ĠM anson", + "ĠBay esian", + "_F lag", + "AC HER", + "/ original", + "Ġimm ac", + "ĠLos ing", + "' >ĊĊ", + "L ic", + "ĠMir age", + "ĠAssembly FileVersion", + "Te V", + "ĠValue EventListener", + "-s olving", + "Th o", + "rou lette", + "_W P", + "Ġunint errupted", + "Ġfield Type", + ".T yped", + "Ġam our", + "Ġmock ery", + "(v ol", + "ĠSub committee", + "ĠR uf", + "ero x", + ":UIButtonType Custom", + "ĠBl ur", + "Ġwy kon", + "nc es", + "ASH BOARD", + "!! \");Ċ", + "Ġmurder ers", + ".d aily", + "ĠDI AG", + "j ing", + "Ġdol phin", + "Ġl òng", + "Ġb ö", + "ĠV ocabulary", + ".St Object", + "') \">", + "Ġz un", + "Ġscrim mage", + "tr éal", + "ĠL ig", + "[ vi", + "C ole", + "Ġfrost ing", + ".Pl ayers", + "- translate", + "Fe els", + "=\\\" /", + ".Butter Knife", + "Ġ?> ;Ċ", + "Ġav i", + "inn ie", + ".F ailure", + "Ġsp indle", + "Configuration Exception", + "_h op", + "Ġpos ição", + "ĠA wait", + "UIImage PickerController", + "ĉ day", + "Ġgen om", + "C ab", + "ĠÑĢ ÐµÐ·ÑĥлÑĮÑĤаÑĤ", + "OR IGINAL", + "Ġejac ulation", + "(t cp", + "SE COND", + "Ġton ic", + "ĠList Box", + "Ġ ĉĉĊ", + "() >Ċ", + "Ġqu atre", + "ượ ng", + "with Errors", + ".M aybe", + ", â̦", + "token Id", + "_UN DEF", + "Ġfresh ness", + "ĠAmend ments", + ".map box", + ".C V", + "(b log", + "_get time", + ". quest", + "s parse", + "Ġres ale", + "Ġenthusi astically", + "ĠProstit utas", + "W a", + "C argo", + ".Parcel able", + "SENS OR", + "ĠRy u", + "La ughs", + "_N ative", + "/ pg", + "yst s", + "Ġphot oc", + "ç® Ģ", + "ado pt", + ".spec ies", + "conc iliation", + "Adjust ed", + ".Firebase Auth", + "ut tle", + "ord ination", + "Ġm unch", + "ĠSt ake", + ".p ing", + "ank er", + "(QString Literal", + "Ġsub script", + "ĠĠ ĉĊ", + "ĠM CC", + "_C md", + "se xy", + "i ou", + "ĠM ANY", + "Ġn anny", + "TR AIN", + "Ġflour ishing", + "ĠW atches", + "ĠQ Map", + "ĠF erm", + "Ġwas m", + "ĠA bed", + "_ UD", + "ĠGlass es", + "+ v", + "Att end", + ".Ch ain", + "Ġdec ency", + "ĠSupplement ary", + "h unter", + "-t xt", + "Ġ\" }\";Ċ", + ".set WindowTitle", + "(\" ", + "Ġmasc ara", + "( Profile", + "åĬŁ èĥ½", + "imit é", + "Ġwild fires", + "- ROM", + ".is On", + "(group Id", + "Re pair", + "accum ulate", + "Ġ< \",", + "Ġhand written", + "Ġach eter", + "ĠM GM", + "ĠIr ma", + "->{ _", + "ge e", + "cr iminal", + "Ġèĭ¥ è¦ģ", + "Ġmoment arily", + "\") !=", + "_l it", + "Ġexpires In", + ".\" ).", + "éķ¿ åº¦", + "Ġfr ække", + "vl c", + "Ġor bs", + "), $", + "Ġvent ured", + "/ >\\", + "char m", + "N uitka", + "eld ig", + "aton in", + "W itness", + "-l at", + "Ġset Hidden", + "Ġrelic s", + "Ġcons ulate", + ". IGNORE", + "\" After", + "Ġset Address", + "Ġbeste ht", + "Ġ'' )ĊĊ", + ".x axis", + "Ġser ão", + "Ġmis led", + "_UN IFORM", + "ĠV IA", + "inc r", + "Ġzen ith", + "Ġvis cosity", + "Ġthin ly", + ".get SharedPreferences", + ".Error Code", + "\"), \"", + "ĠMillion en", + "Ġ/> )Ċ", + "Scroll Indicator", + "-se eking", + "ĠPOLIT ICO", + "as ca", + "_r l", + "N avig", + "(full file", + "Ġsol itude", + "Ġju ven", + "Ġhaul ing", + "ĠMac ros", + "ĠG ry", + "Ġexerc itation", + "ĠATT ACK", + "Tick Count", + "Ġr ites", + "Ġdo e", + "Particle System", + "Ġsl u", + "Window Text", + "ĠClass Name", + "Ġsl ander", + "ĉ Port", + "j ong", + "? a", + ".D ial", + "âĢĶ at", + "$obj PHPExcel", + "Ġso ar", + "EN N", + "appe ared", + "Ġquot id", + "em achine", + "Ġn ip", + "Ġmicro time", + "ĠAl ma", + "; !", + "---------------------------------------------------------------- --------------------------------", + "ĠPass age", + "Ġdump sters", + "ĠEx clude", + "Ġsuggest ive", + "ĠCircularProgress Indicator", + "_cl r", + "Array Type", + "ILL A", + "Elapsed Time", + "Dr iven", + "Ġresource Name", + "ĠG arrison", + "ser ir", + "-a head", + "Ġp innacle", + "ĠEs presso", + "S parse", + "Ġass ays", + "ĠGirl friend", + "im id", + "]=' \\", + "ONGL ONG", + "Ġportray ing", + "L ane", + "Ġb úsqueda", + "Ġrein forcements", + "ĠSpread sheet", + "ĠArray Collection", + ", arr", + "light box", + "ic ana", + "< \"", + "build ers", + "K id", + "ĠMat SnackBar", + "EX PR", + "od cast", + "ĠFound ations", + "Ġind s", + "=' ${", + "F izz", + "-function al", + "(work space", + "Ġstem med", + "_p atches", + "ĠJar vis", + "READ ING", + "Ġdisrespect ful", + "ĠQ Dom", + "Ġ$ {Ċ", + "est atus", + "Re ached", + "! .ĊĊ", + "IL T", + "ĠN DEBUG", + "ĠCour age", + "birth date", + "ĠT ing", + "Ġutil izado", + "án chez", + "Out door", + "Ġhand guns", + "Ref Count", + "É Ļ", + "rom o", + "Ġt ts", + ".S he", + "ĠP ane", + "ãĢij, ãĢIJ", + "ĠIO CTL", + "/ black", + "ins cription", + "Ġbi opsy", + "ĠTime Interval", + ".Test Check", + "ĠGUI Style", + "ĠCap ability", + "ĠBeit rag", + "don nees", + "T reatment", + ".back up", + "Ġsign ings", + "ĠB oca", + "dr m", + ".M AIN", + "Ġgo ede", + "ĠMark up", + "G REE", + "ĠBase Service", + ".C reator", + "Ġj ails", + "ĠK ahn", + "Ip Address", + "ACH I", + "Ġinhib ited", + "Ġ@ $_", + "ĠAss ass", + "Ġenvi ado", + "Hero es", + "ÐŁ еÑĢ", + "ĠM aven", + ".l s", + "Ġ ive", + "| RF", + "Ġresize Mode", + "Ġrum pe", + "_attach ments", + "T U", + "Ġtact ile", + "Attempt ing", + "Ġro bin", + "y aw", + "Ġmerc enaries", + "ĠHab itat", + "end date", + "Ġo xy", + "ĉR andom", + "oh on", + "Is Null", + "ĠValidation Result", + "ãĥ ļ", + "um bed", + "pp v", + "Ġar p", + "ich ick", + "_r nn", + "ĠT FT", + "Tex Image", + "\" On", + "ĠSam pler", + "top l", + "Ġj ane", + "y ling", + "ĠUN ICODE", + "Tab Index", + "< {Ċ", + "s uspend", + "uv ian", + ", application", + "ол иÑĩеÑģÑĤво", + "y at", + "ez ier", + "ĠCH UNK", + "ĠAd ler", + "/ Add", + "ĠKey Value", + "Ġspos ób", + "Sam pling", + "ch ers", + "_AM D", + "R u", + ".Must Compile", + "N ation", + "Ass oc", + "Man aging", + "ĠEng l", + "_G B", + "Ġsucc inct", + "Ġdis liked", + "ĠI ke", + "Bullet in", + "_ARCH IVE", + "Prop osal", + "Ġjog ging", + ".C REATED", + "Ġch ol", + "è£ ħ", + "Į ¨", + "-p ush", + "Ġreserv a", + "core v", + "è tre", + "TH R", + "Ġincompet ence", + "Ġchar isma", + "æĦ Ł", + "Ġ\" ==", + "BT N", + "ĠLoc ator", + "iv et", + "('. ')Ċ", + "Ġfor IndexPath", + "ô me", + "Ġcapac it", + "w aters", + "ĠWR ONG", + "ho a", + "ĠM IPS", + "Ġem iss", + "ĠJacqu eline", + "(c mp", + "Ġe ens", + "Le o", + ".tim ing", + "CLUS ION", + "Ġ(\" -", + "åĵ Ī", + ".k ode", + "ĠUnd ert", + "Ġbew ild", + "ĠEss en", + ".h d", + "Ġren egot", + "Ġm ower", + "Ġl sp", + "Ġpen chant", + "Ġman oe", + "Ġag li", + "Ġrec al", + "ĠOPER ATION", + "(^ )(", + "ĠÎ ½", + "ĠSc oped", + "Ġ@ \"Ċ", + "= label", + "[ loc", + "Int l", + "ĠN z", + "table t", + ".Column Name", + "Ġscreen Size", + "DB us", + "co oked", + "- registration", + "âĢľ One", + "-n on", + "ĠwiÄĻ c", + "Ġcost a", + ".add Tab", + ". conditions", + "ĠH ess", + "MEM ORY", + "ĠAval anche", + "() }}Ċ", + "Ġtri plet", + "Ġl abyrinth", + "ĠNode List", + "ĠNY T", + "Ġy eni", + "d ff", + ".Html Controls", + "AV IS", + "/ Math", + "Ġmem cmp", + "Ø§Ø ¡", + "оÑģ ÑĮ", + "c rap", + "(p ages", + "Ġl xml", + "ĠQ DateTime", + "_t cb", + "Ġopen id", + "Ġsyn aptic", + "ĠMD MA", + "(s lug", + "igm atic", + "en or", + "Ġcr amped", + "G OP", + "Ń IJ", + ".is File", + "ĠD ifferential", + "Ġ=\" \";Ċ", + "ĉĉĉ ĠĠĠĠĉ", + "ĠC ooke", + "ĉU FUNCTION", + "Ġpersever ance", + "Relative Layout", + "IMPORT ANT", + "Ġex on", + "Ġо н", + "ib ase", + "(C ONT", + "n ovation", + "ä½ ķ", + "[ sub", + "Admin Controller", + "HTTP Header", + "cre ar", + "ĠN IR", + "ĠDrop DownList", + "Ġval ide", + "Ġde hydration", + ". ']", + "(W IN", + "Ġ... \\", + "Ġphotos hop", + "ĉ Init", + "_c ou", + "Ġtime Zone", + "dar win", + "rom atic", + "Navigation ItemSelectedListener", + "br ates", + "] --;Ċ", + "Ġtraged ies", + "ĠPed iatrics", + "SM ART", + "-A PI", + "ĠMessage Lookup", + "ĉ vo", + "Ġprejud ices", + "Ġm A", + "U ps", + "ĠMISS ING", + "ĉ ad", + "C ream", + "ĠT b", + "ĠMon a", + "_ ghost", + "ĉt ypes", + "Em b", + "ĠDocument ary", + "');ĊĊ ĊĊ", + "Ġl up", + "_ Reference", + "ĠB ATCH", + "Ġintertw ined", + "< Cell", + "ĠCab r", + "n ation", + "Ġis Connected", + ".remove Listener", + "Ġcon g", + "_t i", + "ĠSil icone", + "Ġê²° ê³¼", + "ĠW AN", + "ĠG ibraltar", + "/ response", + "ĉp erson", + "ch ants", + "V IP", + "em ergency", + "Pixel Format", + "- Am", + "Ġsouth western", + "_pl l", + "if ers", + "_ON CE", + "ĠF ayette", + ".nc bi", + "_P anel", + ".Q ual", + "Ġpol ys", + "Ġcreate StackNavigator", + "� t", + "Ġlay offs", + "ĠBl anco", + "Fe at", + "ĠV imeo", + "_ch i", + "_l ifetime", + "POINT S", + ", private", + "Ġunb earable", + "print ing", + "Ġc gi", + ".B ACK", + "Ġintern s", + "ĠNew ly", + "inf eld", + "( IB", + "ĠK ata", + "ĠDef endants", + "Th r", + "é¢ Ħ", + "_V F", + "FFFF FFFF", + "Ġdavid jl", + "Ġbitter ly", + "S uggestions", + ".set Cancelable", + "FIN AL", + "ason s", + "_rw lock", + "_WRAP PER", + "Ġhapp iest", + "(row Index", + "ós ito", + "TOT YPE", + "Autom ation", + "Log File", + "Ġcons olation", + "ãĥ Ģ", + "Ġt êm", + "Ġpr er", + "rg yz", + "ĠG eg", + "ĉd to", + ".default Value", + "ĠK ami", + "ĠA SE", + "optim ized", + "Ġíı ¬", + "Ġorigin ates", + "err Msg", + "Ġespa ço", + "(S YS", + "ĠMc B", + "d ance", + "_det ected", + "Ġfr ü", + "ĉĉ ĠĠĠĠĉĉ", + "< Date", + "(com b", + "ĠDec ide", + "\\ Field", + "ĠProp osed", + "R ib", + "Ġdis likes", + "ĠW ien", + "ĉ Document", + "Ġtr af", + "Ġst oria", + "ĠT ells", + "') ==", + "C ri", + "( VALUE", + "ĠBurn ett", + ", void", + "Ġdan h", + "Ġc cp", + "Block chain", + ":\"- \"`Ċ", + "IC lient", + "IS ODE", + "Iss uer", + ") }čĊ", + ", but", + "ĠU ph", + "( Sub", + "Ġtélé phone", + "ĠonData Change", + "Ġmarsh aller", + "-an alytics", + ", content", + "Ġdeb acle", + "_Value Changed", + "Ġfa una", + "Ġ# =>", + "Ġf oyer", + "'util isation", + "ĠMü ller", + "ĠFet ish", + "Ġdefault Manager", + "Ġback track", + "B ah", + "Exp licit", + "_A SCII", + "Ġm Activity", + "(M sg", + "Ġê² Į", + "ĠTER MS", + "ĠAng ie", + "HS V", + "ĠMos que", + ".N ames", + "íĬ ¼", + "rest e", + "_p arms", + "Ġgap ing", + "Ġcro pping", + "Data Frame", + "Ġrespons iveness", + "_ undo", + "_tr an", + ". terminate", + "Ġitalian e", + "Ġwalk through", + "Ġattract iveness", + "д е", + "_ST S", + "_ learn", + "Ġchocol ates", + "ier archical", + "-th inking", + "Ġ )))", + "ish ments", + ".Log f", + "ĠTM Z", + "ĠCan ary", + "fo il", + "ĠVacc ine", + ".v x", + "ĠSur round", + "Inter mediate", + "Ġi ov", + "v ais", + "'; \";Ċ", + "ï½ŀ ĊĊ", + "éĢģ æĸĻ", + "â̦ it", + "Se ats", + "Cl ar", + "W ars", + "ĠHutch inson", + "ĠHas an", + "! ')ĊĊ", + "ĠRich ie", + "che iden", + "($ ('", + "Y ork", + "Ġl ids", + "Ġal phanumeric", + "ĠG lock", + ".sh apes", + "Ġspark ing", + "_ epsilon", + "uplic ated", + ".dir ty", + "]) ==", + "ĠìľĦ ì¹ĺ", + "Ġsc n", + "Ġ/ ****************************************************************", + "_PRE VIEW", + "_H C", + "ield ing", + "f gets", + "ĠAdd ison", + "Ġproduct Service", + "- figure", + "(ret val", + "z ano", + "Ġaut ob", + "ĉs d", + "_n umer", + "ĠSet LastError", + "ĠF ior", + "ific ance", + "Unt itled", + "Ġin field", + "Ġ{} ));Ċ", + "Ġsp ac", + "Ġro okies", + "(des cribing", + "ng en", + "ி à®", + ".r df", + ".M utex", + "Ġkne eling", + "ĠQ E", + "set Max", + "Read Stream", + "Ġvent as", + "s ut", + "cm peq", + ".WriteAll Text", + "ĠEx perienced", + "$ __", + "Ġka um", + "ĠL IS", + "Ġdocument os", + "_HE ALTH", + "icont ains", + "Ġart isans", + "OWN ER", + "Ġblink ed", + "get Display", + "Ġto en", + "Ġrow Num", + "Ġav ril", + "Ġinv is", + "ĠK ear", + "toBe InTheDocument", + "ap ur", + "Ġr acked", + "ĠMc Master", + "_ATTR IB", + "H az", + "Ġfact ura", + "/ ts", + "ĠÑĢаз меÑĢ", + "Ġz f", + "Ġshort fall", + ".f asta", + "ĠCONST ANT", + ".man aged", + "g ems", + "Shared Pointer", + "Ġblur ry", + "b rightness", + "( components", + "Ġ... \"ĊĊ", + "SE LL", + "ĠIllustr ator", + ".get Channel", + "Ġtrou vé", + "yst ers", + "Ġvo is", + "ĠLind en", + "Ġem ojis", + "Ġb rawl", + "ĠMS R", + "ĠE lo", + "ĠCroat ian", + "Popup Menu", + "L ewis", + ".J WT", + "Ġaston ished", + "B ush", + "(item Id", + "Ġdet achment", + "ĠEnc ore", + "å° Ķ", + "Ġre kl", + "Ġcr am", + ")$ /", + ".get Host", + "_re commend", + "- HT", + "_cal ibration", + "Auth enticate", + ".firebase app", + "UN IX", + "ĉC amera", + "ĠHE AP", + "I deal", + ". office", + "Ġgoof y", + "(S ymbol", + "Ġjou er", + "_part itions", + "Ġrapid ement", + "ĠGN UNET", + "id User", + "Ġsuperv ise", + "( Contact", + "AW N", + "ãģ ĺ", + "Ġna am", + "Ġa ust", + "åľ¨ 线", + "_soft max", + "Allow Anonymous", + "amm able", + "RO UTE", + "* D", + "Ġad en", + "ĠCrist ina", + "ĠCrist iano", + "Ġblood stream", + "sub class", + "_person a", + "CH ILD", + "-k now", + "Ġnavigation Options", + "ĠZuk unft", + "ĠPix ar", + "Ty ler", + "Ġunder world", + "Ġsincer ity", + "Ġdispens er", + "Ġk ter", + "idd ers", + ".add Node", + "- checked", + "Ġke yst", + "ĠW TO", + ".sign als", + "Ġadvent urer", + "ĠP ang", + "\\ R", + "= pos", + "Ġdispens aries", + "ĠClo set", + "(\"{ \\\"", + "ide on", + "Ġnécess aire", + "() \"Ċ", + "_RECE IVED", + "Ġrésult ats", + "Ġmod en", + "ĠIceland ic", + "; d", + ". allowed", + "(new User", + "Ġmerc iless", + ".Wait For", + "Ġday care", + "ĠCon veyor", + "ç ĸ", + "ð ¬", + "ç ĥ", + "ç Ĺ", + "ç ł", + "è Ħ", + "é ²", + "å ¦", + "çĿ Ģ", + "å¾ Ī", + "é ħ", + "ç ĭ", + "é ª", + "æ Ĥ", + "é ¥", + "è ħ", + "æĥ ³", + "å ¨", + "é ¹", + "ç Ĥ", + "å Ĵ", + "ç Į", + "è´ ¨", + "æ ¢", + "æ° Ķ", + "ð «", + "æķ Ļ", + "ç Ł", + "å Ħ", + "åıij å±ķ", + "åĪ Ľ", + "è ij", + "æ ħ", + "å ŀ", + "åģ ļ", + "æĪ ĺ", + "æ IJ", + "å¼ º", + "æ· ±", + "åĩ ł", + "ç ¿", + "å ©", + "è ŀ", + "å§ Ķ", + "åIJ Ħ", + "è İ", + "é ¸", + "é º", + "åı Ĺ", + "èģ Į", + "å ĺ", + "æ ½", + "é£ İ", + "èIJ ¥", + "åħ ļ", + "è ľ", + "éĤ £", + "é¢ Ĩ", + "ç ij", + "é ³", + "æľ ¯", + "ä» Ģ", + "æĪ ¿", + "ç² ¾", + "å ª", + "é Ĩ", + "å¤ ª", + "èĤ ¡", + "è Ľ", + "åħ ī", + "æŀ ģ", + "åĬ ŀ", + "è ĵ", + "ç ĺ", + "å ´", + "å Ĺ", + "èĬ ±", + "çł Ķ", + "å¿ «", + "å¸ Ī", + "è¶ Ĭ", + "è§ Ĥ", + "æ ¤", + "æ ¦", + "ç ŀ", + "èĤ ²", + "çĪ ±", + "çĻ ½", + "ä¸ ĸ", + "ä»Ģ ä¹Ī", + "çľ ¼", + "å ³", + "è Ĵ", + "æ ĵ", + "è¢ «", + "å¹ ²", + "çĹ ħ", + "å£ «", + "ç Ĵ", + "è ¸", + "æ ¾", + "å·¥ ä½ľ", + "è® ©", + "çĥ Ń", + "è¾ ĥ", + "åĦ ¿", + "åĬ ©", + "ç§ ¯", + "ç ³", + "ç ĵ", + "ç £", + "å Ĥ", + "è ¹", + "è ļ", + "å· ±", + "çĻ ¾", + "åĬ ¿", + "èµ Ľ", + "æ ¨", + "æ ¿", + "è ĸ", + "æĿ ij", + "å¸ ¦", + "å¢ ĥ", + "æĬ ¤", + "é Ń", + "å «", + "èĩª å·±", + "æµ İ", + "ä½ İ", + "åĮ »", + "éĺ ²", + "åĨ ľ", + "è Ĩ", + "ç Ĩ", + "é «", + "åĨ Ľ", + "æĪ ı", + "åį ĩ", + "æĸ ¯", + "ä½ ı", + "èIJ ½", + "åħ »", + "èĩ ´", + "ç Ĭ", + "ç ĩ", + "ç ħ", + "è Ķ", + "ä¼ģ ä¸ļ", + "åĽ ¢", + "æī į", + "æł ¡", + "åĩ Ĩ", + "å¥ ĩ", + "åī ¯", + "é ¼", + "æ¼ Ķ", + "é© ¬", + "èµ °", + "ç¥ ŀ", + "åħ ĭ", + "æľ Ľ", + "æ² ¹", + "è¾ ¹", + "åį ĥ", + "å¾ Ģ", + "åĪ ĩ", + "æ ©", + "ç ¶", + "å Ļ", + "éĻ ħ", + "çī Į", + "社 ä¼ļ", + "游 æĪı", + "æĸ ½", + "ç ħ§", + "æİ §", + "æ» ¡", + "è¯ Ĩ", + "éĩį è¦ģ", + "è¶ ³", + "çķ Ļ", + "ç» Ĩ", + "åį ı", + "éĢ Ĥ", + "æ ĩ", + "æ §", + "é Ħ", + "è Ŀ", + "å¸Ĥ åľº", + "ç»ı æµİ", + "ä¹ ł", + "æĸĩ åĮĸ", + "éļ ¾", + "ä¹ IJ", + "åĨ ³", + "æ¬ ¢", + "è§ ī", + "åĽ Ń", + "åħ ´", + "åħ ħ", + "ä¸ ¾", + "æī ¹", + "è ķ", + "æĬ Ĭ", + "æĬĢ æľ¯", + "ç© ¶", + "第 ä¸Ģ", + "ä¾ ¿", + "åĵ į", + "çİ ©", + "åĿ ļ", + "èŀ į", + "åį Ĭ", + "åĸ ľ", + "å± Ĥ", + "ç¦ »", + "ä» ħ", + "é Ł", + "åij ³", + "å¿ µ", + "åŃ £", + "ç´ §", + "ä¹ ħ", + "é ¤", + "é ŀ", + "è ¤", + "åĢ Ļ", + "åĨ µ", + "ç Ł³", + "åģ ¥", + "æĢ İ", + "å® Ŀ", + "è¡ Ģ", + "åŁ Ł", + "æĹ ©", + "çŁ¥ éģĵ", + "è´ Ł", + "åį ļ", + "å· ´", + "äº ²", + "å± ŀ", + "ä¸ ¥", + "äº ī", + "å¯ Ł", + "è º", + "ç °", + "建 设", + "产 ä¸ļ", + "åIJ ĥ", + "åŃ ©", + "æĹ ħ", + "æł ¹", + "æĿ IJ", + "ä¼ Ĺ", + "éļ ı", + "å® ĺ", + "åº ķ", + "å½ ©", + "å¯ Į", + "æ¸ ©", + "åį «", + "åī §", + "çĽ Ĭ", + "æĬ Ĺ", + "è´ ¢", + "çº ª", + "æ Ĩ", + "çĶŁ æ´»", + "çº ¢", + "çĶŁ 产", + "è¿ ľ", + "éĴ ±", + "åĶ ®", + "ç¾ ¤", + "çı Ń", + "æ¥ ¼", + "éĩ ĩ", + "èī º", + "å± ħ", + "åģ ĩ", + "è° Ī", + "æĻ ļ", + "é ¬", + "èĪ ª", + "å® ³", + "è Ĺ", + "ç į", + "å µ", + "çİ ĭ", + "åº ·", + "è İ·", + "ç» Ń", + "äº ļ", + "é£ Ł", + "åİ ĭ", + "æĭ Ľ", + "èĮ ĥ", + "è® ¸", + "åĽ ´", + "é ½", + "éĻ į", + "çº ³", + "åĵ ª", + "æķĻ èĤ²", + "å·² ç»ı", + "å¾ ·", + "æŀ Ĺ", + "å®ī åħ¨", + "é¾ Ļ", + "大 å®¶", + "éĿ Ĵ", + "åº ľ", + "æ² ³", + "åı ¤", + "èį ¯", + "åĿ ĩ", + "æĻ º", + "ä¹ ¡", + "çķ ¥", + "åĨ ·", + "ç¦ ı", + "å® ¤", + "ç» ´", + "æī ¿", + "å± Ĭ", + "è¯ ī", + "åĪ »", + "è Ł", + "æ ª", + "å°± æĺ¯", + "è¿Ļ 个", + "ä¸Ń å¿ĥ", + "ä¸ĸ çķĮ", + "åŁİ å¸Ĥ", + "éĿŀ 常", + "åĪ Ĵ", + "åı Į", + "æĢİ ä¹Ī", + "åΰ äºĨ", + "æľ ĥ", + "åı ²", + "ä¾ Ĩ", + "å¾ ĭ", + "å¥ ĸ", + "ç» Ī", + "åª Ĵ", + "å® ģ", + "è¯ ¾", + "èģĮ ä¸ļ", + "åħ į", + "æµ ĭ", + "æĢ ¥", + "æķ ij", + "çĭ ¬", + "èŃ ¦", + "é¤ IJ", + "æĦ ¿", + "è´ «", + "çĸ ij", + "å ļ", + "å¥ ¹", + "åı Ī", + "åĽł 为", + "ä¸į æĺ¯", + "å¤ Ł", + "æĸ¹ éĿ¢", + "éķ ĩ", + "äº Ĵ", + "éħ Ĵ", + "è® ²", + "çĸ Ĺ", + "æĺ ¥", + "æ¹ ĸ", + "å¤ ľ", + "è´£ ä»»", + "人 æ°ij", + "åħ °", + "çŁ Ń", + "æķ ħ", + "åĩ ı", + "æĻ ®", + "äº ®", + "ä¾ Ŀ", + "åį °", + "éĿ Ļ", + "åĢ ĭ", + "å¾ ģ", + "åIJ ¸", + "ç¼ º", + "æĶ »", + "åĩ Ģ", + "åħ ¸", + "åĽ º", + "è® ¿", + "ç ¹", + "ç Ģ", + "æıIJ ä¾Ľ", + "ç» ĩ", + "å¾Ī å¤ļ", + "çłĶ ç©¶", + "è· Ł", + "主 è¦ģ", + "æĥħ åĨµ", + "çŃ ĸ", + "æŃ »", + "大 åѦ", + "æĶ¿ åºľ", + "å½± åĵį", + "ä¹ °", + "åħ Ń", + "éĻ ©", + "åħ «", + "æŁ IJ", + "è´¨ éĩı", + "åį ł", + "å· ®", + "æĽ´ å¤ļ", + "æľ ĭ", + "éĿ ©", + "å® £", + "çł ´", + "è½ »", + "åº §", + "æĺ ¾", + "ç¨ ³", + "è´ µ", + "èĥ Į", + "èī ¯", + "çĸ «", + "æ¯ Ĵ", + "ä¹ İ", + "åĢ Ł", + "è¿ ·", + "çŃ Ķ", + "æ¿ Ģ", + "åij ¼", + "äºĨ ä¸Ģ", + "è¶ £", + "ä¼ ´", + "ä¼ Ļ", + "è ¼", + "ð¬ Ń", + "åĽ½ å®¶", + "æ´» åĬ¨", + "çݰ åľ¨", + "ç§ij æĬĢ", + "åį ¡", + "ä¸į åIJĮ", + "个 人", + "è®° èĢħ", + "ä¸į æĸŃ", + "éĹ »", + "ä¹ Ŀ", + "èij Ĺ", + "ç» ¼", + "ä¸ ĥ", + "æł ij", + "æľĭ åıĭ", + "åį ĸ", + "ä¼ ¤", + "æ² Ļ", + "åĸ Ħ", + "å¥ Ĺ", + "è½ ®", + "ç© ¿", + "è¡ ¥", + "ä¸Ģ å®ļ", + "çª ģ", + "çĿ £", + "è¿ ½", + "å¨ ģ", + "åı ¦", + "åĽ °", + "æŀ ¶", + "ç» Ŀ", + "æķ £", + "æİ ¢", + "æ´ Ĺ", + "ä¸ ´", + "ä¼ ¼", + "è´ ¸", + "ä¸ °", + "æĺ¯ ä¸Ģ", + "ç« ŀ", + "è¿ İ", + "èģ ļ", + "è «", + "æį Ł", + "æī §", + "é© ¾", + "è¿ Ŀ", + "è ¥", + "è ł", + "ä»ĸ 们", + "æĹ¶ åĢĻ", + "å® ĥ", + "人 åijĺ", + "è¿Ļ æł·", + "å·¥ ç¨ĭ", + "åĪĽ æĸ°", + "åŃ© åŃIJ", + "å¸ Į", + "éĥ¨ åĪĨ", + "éĵ ¶", + "代 表", + "é¦ Ļ", + "å¸ ®", + "æİ¨ è¿Ľ", + "çĽ ĺ", + "积 æŀģ", + "éĥ¨ éŨ", + "åŁ ¹", + "æŃ ¦", + "ä¸į ä¼ļ", + "çŃ ij", + "éĢ Ļ", + "çİ© å®¶", + "æĭ ¿", + "åİ Ĥ", + "æ¯ Ľ", + "çģ µ", + "æŃ Į", + "ç »¿", + "å¦ Ī", + "çĽ Ľ", + "é¦ Ĩ", + "é¡ º", + "èĦ ¸", + "å° ¼", + "ä¸ ½", + "å¥ ¥", + "éģ ĩ", + "è¯ į", + "å° ģ", + "ä¸ Ŀ", + "好 çļĦ", + "æĭ ħ", + "èĦ ±", + "æģ ¶", + "åİ ļ", + "åĬ ³", + "çĽ Ł", + "æĬ ĺ", + "åı ¥", + "æĢ Ģ", + "æŁ ĵ", + "书 è®°", + "åĨ ł", + "é² ľ", + "æ ¦Ĥ", + "éļ IJ", + "å¹ ħ", + "èµ ŀ", + "å¹ ķ", + "æ¥ Ń", + "éģ Ĺ", + "åĪ ¤", + "è ĺ", + "å ¶", + "æĬķ èµĦ", + "è¡Į ä¸ļ", + "äº ij", + "çݯ å¢ĥ", + "åѦ çĶŁ", + "åIJĪ ä½ľ", + "åģ¥ åº·", + "é£ ŀ", + "ä¸Ģ æŃ¥", + "ä¸Ģ 缴", + "åıij çĶŁ", + "éĺ ¿", + "é¢Ĩ 导", + "åĸľ 欢", + "åºĶ 该", + "çĤ º", + "è® Ń", + "æĿ Ģ", + "æ¸ ¯", + "交 éĢļ", + "éĺ ¶", + "éĴ ¢", + "ä» ¤", + "å° ½", + "æ¯ į", + "è¡ £", + "ç² ī", + "é¡ ¶", + "ä¹Ł ä¸į", + "æĬ ĵ", + "èĭ ¦", + "å¹ ¸", + "ç¤ ¼", + "第 ä¸ī", + "大 çļĦ", + "éģ İ", + "çĥ Ł", + "éģ ¿", + "ä» į", + "åº Ĩ", + "æĢ ķ", + "è° ¢", + "çĽ ĸ", + "å° Ħ", + "éľ ²", + "æĸ Ĺ", + "ç Ĭ¶", + "åŃ ¸", + "æ¯ ķ", + "å· ¨", + "çŁ ¿", + "çļ ĩ", + "å¸ Ń", + "çĹ ĩ", + "æī ¬", + "å» ¶", + "ä¾ §", + "æ· ¡", + "çļĦ ä¸Ģ", + "ç¶ ²", + "æ´ ģ", + "ç ¸", + "è§ Ī", + "çŃ ¹", + "ç§ ĺ", + "è¯ Ĭ", + "çı ¾", + "èª ī", + "æ¯ «", + "ð ¨", + "åį ´", + "æĪIJ 为", + "èĥ½ åĬĽ", + "é» Ħ", + "æĹħ 游", + "èĪ ¬", + "æ¯Ķ è¾ĥ", + "èµ· æĿ¥", + "äºĨ è§£", + "èĩª çĦ¶", + "ä¸Ģ 次", + "åŁº æľ¬", + "æĽ ¾", + "综 åIJĪ", + "èı ľ", + "è§ī å¾Ĺ", + "第 äºĮ", + "è· ij", + "æ³ ¢", + "åĢ Ĵ", + "ç¡ Ģ", + "åħ µ", + "èį ī", + "çĶ ³", + "çĶ °", + "æĤ £", + "è§Ħ å®ļ", + "èĥ ľ", + "èµĦ 产", + "æ¢ ¦", + "æľ Ŀ", + "è¿Ļ éĩĮ", + "å¤ «", + "æĮ ¥", + "ä½ Ľ", + "å® Ī", + "éĽ ¶", + "æĸ ¼", + "ç¯ ĩ", + "å² Ľ", + "åĵ ¥", + "éŃ Ķ", + "ä¸į åΰ", + "æī ĺ", + "åº Ĭ", + "æ¬ §", + "èį £", + "æ± ĩ", + "æī ©", + "åģ ı", + "å¢ Ļ", + "è® ¯", + "å© ļ", + "æĥ ł", + "æ´ ĭ", + "å® ľ", + "æ¶ ¦", + "æħ ¢", + "éĢ ı", + "å® ½", + "é¡ ¾", + "ç´ ¯", + "æ± ¡", + "çĪ Ĩ", + "ç§ Ł", + "æĥ Ĭ", + "æ¶ ¨", + "é¥ °", + "éĺ µ", + "é¥ ®", + "æļ ĸ", + "åº Ł", + "æĹ Ĺ", + "éļ Ķ", + "ç¶ ĵ", + "åĭ Ļ", + "å¯ ¦", + "éĢ Ķ", + "æī «", + "çĥ Ī", + "éĽ »", + "åĪ ij", + "éĹ ľ", + "éĹ ª", + "å¥ ĭ", + "å Ĥ¨", + "ç¼ ©", + "ä¾ µ", + "å ¬", + "𬠶", + "åĽ½ éĻħ", + "ç»Ħ ç»ĩ", + "ä¸ĵ ä¸ļ", + "åıij çݰ", + "å¸Į æľĽ", + "ç»ı èIJ¥", + "åı «", + "æĿ¥ 说", + "éļ ľ", + "ä»» ä½ķ", + "交 æĺĵ", + "éĩį çĤ¹", + "çļ ®", + "ç» į", + "æ´ ¾", + "ç§ij åѦ", + "åºĶ ç͍", + "建 çŃij", + "èĤ ī", + "æĶ¹ éĿ©", + "åŁº ç¡Ģ", + "æ± ī", + "åĩº æĿ¥", + "è¿Ļ ä¹Ī", + "åĪ ļ", + "åĿ IJ", + "ä¸į ä»ħ", + "ä¼ļ è®®", + "éĿ ł", + "åªĴ ä½ĵ", + "æ° ¸", + "åĨ ²", + "èĭ ı", + "å¤ ®", + "çĪ ¶", + "åł Ĥ", + "å®ŀ éĻħ", + "è¡ Ĺ", + "ç« ¥", + "éĺ ħ", + "äºĭ æĥħ", + "åİŁ åĽł", + "éħ ¸", + "以 æĿ¥", + "å¨ ±", + "å® «", + "åĿ Ĺ", + "ç» ©", + "éĩ İ", + "ä¸į å¾Ĺ", + "ä¼ł å¥ĩ", + "ç¡ ¬", + "åİ ħ", + "æĹ ¢", + "ç» ĥ", + "èĦ ij", + "å¼ ±", + "æİ Į", + "è´ ´", + "æĮ Ĥ", + "åħ³ éĶ®", + "å° ļ", + "é¥ Ń", + "åº Ħ", + "çĻ ¼", + "åľ ĭ", + "æİ Ī", + "个 æľĪ", + "äº Ī", + "å¸ ģ", + "è· Ŀ", + "æ² ī", + "ç« Ł", + "åĨ ¬", + "æĬ ½", + "éĨ Ĵ", + "å¼ Ł", + "è§ ¦", + "èģ ĺ", + "è± Ĩ", + "æļ ´", + "åijĬ è¯ī", + "è± ª", + "èµ ¢", + "è· ¨", + "è³ ĩ", + "çĪ ¸", + "æĬ ±", + "æµ ª", + "éº »", + "ä» ª", + "è¡ ¡", + "å¥ ¶", + "çģ ¾", + "èµ ¶", + "èĤ ¥", + "å§ IJ", + "åĢ º", + "éľ ĩ", + "è® ¢", + "æ¬ Ĭ", + "ç ·", + "å» ī", + "ä¿ Ĺ", + "å¿ ĺ", + "å¦ ĩ", + "ç¼ ĵ", + "åŃ ķ", + "æ¼ «", + "è£ ģ", + "çĩ ĥ", + "é» ĺ", + "çī ¢", + "çĪ ·", + "æĬ µ", + "å® ¾", + "æľī ä¸Ģ", + "è¿ ¹", + "è¿ «", + "è² Į", + "æľī çļĦ", + "ð¬ ĺ", + "è¿ĺ æĺ¯", + "æīĢ ä»¥", + "ä¹Ł æĺ¯", + "è¿Ļ äºĽ", + "对 äºİ", + "åIJ §", + "缮 åīį", + "èĩªå·± çļĦ", + "èĥ½ å¤Ł", + "å¦Ĥ ä½ķ", + "æľº æŀĦ", + "åıª æĺ¯", + "ç½ij ç«Ļ", + "åħ¨ éĿ¢", + "为 äºĨ", + "å¼Ģ åıij", + "æĸ° éĹ»", + "éĩij èŀį", + "ç» §", + "客 æĪ·", + "ä¸Ģ èµ·", + "èĮ ¶", + "åħ³ 注", + "æ°´ å¹³", + "åİĨ åı²", + "å¢ŀ éķ¿", + "é ±", + "åŁº éĩij", + "åº Ń", + "åı ¶", + "ä¿ ĥ", + "éĽ ¨", + "æ¶Ī è´¹", + "èĪ ¹", + "çŁ¥ è¯Ĩ", + "æĪĺ çķ¥", + "ç»ı éªĮ", + "å³ °", + "æĽ ²", + "èĦ ļ", + "åĨ °", + "å¤ ı", + "å½ Ĵ", + "ç¬ Ķ", + "èĻ ij", + "çĶ ²", + "åľ Ī", + "è¯ Ĺ", + "é½ IJ", + "容 æĺĵ", + "çłĶ åıij", + "éª ¨", + "çº ¸", + "è· µ", + "æĹ §", + "çķ ¶", + "åĪ ¸", + "è´ ·", + "åı ¬", + "ç§ ĭ", + "æ¶ ²", + "è¡Į æĶ¿", + "çĮ ®", + "èĤ ¤", + "éĢ IJ", + "è¶Ĭ æĿ¥", + "è¶ĬæĿ¥ è¶Ĭ", + "æĦı è§ģ", + "èĪ ŀ", + "åī Ĥ", + "æ¶ ī", + "ç¨ĭ 度", + "åħ¬ åħ±", + "æ¢ °", + "æľ «", + "çº ¯", + "åĶ ±", + "æ´ ²", + "æĬ ¢", + "æ¤ į", + "å¿ Ļ", + "ä¼ °", + "å¼ ¹", + "æ³ ī", + "æľĢ 大", + "è¶ ĭ", + "å· §", + "ç¦ ģ", + "æī ¶", + "åį ±", + "çı ł", + "çĨ Ł", + "æĭ ľ", + "主 ä¹ī", + "æĿ Ĥ", + "éĻ Ħ", + "éģ į", + "æIJ Ń", + "æĮ ¯", + "å¤ļ å¹´", + "æķ ¬", + "æij Ħ", + "çº ·", + "å¼ ĥ", + "æ¹ ¿", + "å¨ ĺ", + "æ¡ £", + "é© ¶", + "æľ Ĺ", + "æ® ĸ", + "æ¦ ľ", + "åĵ ¡", + "ä¸Ģ ä½ĵ", + "æŁ¥ çľĭ", + "ç¹ ģ", + "æµ ĵ", + "åħ¬ å®ī", + "æ½ ľ", + "è´ ¯", + "éª Ĺ", + "æ IJľ", + "å· ¡", + "è ¬", + "é Ĭ", + "å§Ķ ä¼ļ", + "æĤ ł", + "åī ©", + "æı Ń", + "åŃ£ 度", + "ð «ĺ", + "𬠬", + "ä ´", + "ð ª", + "ä½Ĩ æĺ¯", + "éĥ½ æĺ¯", + "å¹³ åı°", + "åѦ ä¹ł", + "åĵģ çīĮ", + "ä¸ Ķ", + "è¿Ļ ç§į", + "æĶ¿ çŃĸ", + "æĭ ¬", + "认 为", + "ä¸Ģ èά", + "æłĩ åĩĨ", + "æĶ¯ æĮģ", + "模 å¼ı", + "åħ³ ç³»", + "çļĦ æĺ¯", + "è¿Ļ ä¸Ģ", + "ä¸į è¦ģ", + "çĶ ļ", + "ç²¾ ç¥ŀ", + "æĭ ¥", + "åĪ© ç͍", + "ä¿Ŀ æĬ¤", + "ä½ľ ç͍", + "èĭ ¥", + "åĽ½ åĨħ", + "ä»ĭ ç»į", + "ä¸Ģ ä¸ĭ", + "å·¥ ä¸ļ", + "缮 æłĩ", + "æľĢ åIJİ", + "ä»· å̼", + "å° į", + "éĵ ģ", + "è° ģ", + "ç»ĵ æŀĦ", + "éĽ ª", + "æĻº èĥ½", + "ä¼ł 绣", + "ä½ĵ èĤ²", + "çĶŁ æĢģ", + "æĭ į", + "æİ ª", + "åĨľ ä¸ļ", + "çī¹ èī²", + "è§Ħ 模", + "æĹ¶ 代", + "è¿ĩ ç¨ĭ", + "éĴ Ī", + "æĿ ¾", + "åĶ IJ", + "åĮ» çĸĹ", + "çģ ¯", + "åζ éĢł", + "æł¸ å¿ĥ", + "ä¸į åı¯", + "ç³» åĪĹ", + "åIJ ī", + "åľ £", + "åĢ ij", + "ä½ ³", + "æĿ¥ çľĭ", + "æ¯Ķ èµĽ", + "ä¸ĭ æĿ¥", + "åĩº äºĨ", + "å¹² éĥ¨", + "å¾® ä¿¡", + "å½ĵ åľ°", + "åį ·", + "åį« çĶŁ", + "ä¼ Ł", + "çĸ« æĥħ", + "è° ·", + "åĩł 个", + "éĺ ´", + "çĶŁ çī©", + "å° ¤", + "ä¼ Ĭ", + "èĤ ¯", + "éĿ¢ 积", + "åĪĽ éĢł", + "æı ¡", + "åľ Ĩ", + "æĻ ĵ", + "æĪIJ äºĨ", + "åĩ ¡", + "çĸ ¾", + "ç«ŀ äºī", + "è® ¨", + "主 é¢ĺ", + "é² ģ", + "è¿ ª", + "ä¿ Ħ", + "æĢ ª", + "ä¸ ¦", + "èĻ ļ", + "æ½ ®", + "çĥ §", + "èĢ ³", + "æ± ł", + "éĢĤ åIJĪ", + "æł¹ æľ¬", + "åĬł 缣", + "ç͵ è§Ĩ", + "æ· ·", + "ç¼ ĺ", + "çª Ĺ", + "çĬ ¯", + "æĥ ¯", + "æĦı ä¹ī", + "åĬŀ æ³ķ", + "ä¼ ij", + "æ» ij", + "åĭ ĩ", + "æķ ¢", + "å¯ »", + "è¦ Ĩ", + "éĢ ĥ", + "ç»ı çIJĨ", + "åĿ ı", + "æ³ ½", + "ä¹ ĺ", + "åĪ º", + "å± ı", + "é¡ ¿", + "äº ¡", + "éĤ Ģ", + "åħ ¼", + "åĭ ¤", + "æ® ĭ", + "æĺ ł", + "æ¯ķ ä¸ļ", + "æĪ ª", + "è· Į", + "å£ ģ", + "åı¦ ä¸Ģ", + "羣 å®ŀ", + "ç£ ¨", + "è¯ ļ", + "å¿ħ è¦ģ", + "æģ ĭ", + "æĩ Ĥ", + "å¾ Ĵ", + "è° ĵ", + "æķ ı", + "æ ύ", + "èĥ ¸", + "æĭ ¼", + "å¦ Ļ", + "è¯ ¸", + "èģ Ĭ", + "æĤ ī", + "éº ¼", + "åĩ Ń", + "èĪ Ĵ", + "æ¶ Ĥ", + "è¿ ģ", + "æ² ¿", + "å¡ ij", + "æĽ ¿", + "æ¾ ³", + "å¿ į", + "èĢ Ĺ", + "éľ ¸", + "åĩł å¹´", + "åĪ Ĭ", + "èĦ ī", + "èħ IJ", + "æ¡ Į", + "çº ł", + "æ» ļ", + "æĤ ²", + "åĨ Ĵ", + "å¦ ¹", + "çķ ħ", + "çº µ", + "æij ĩ", + "å¤ º", + "è·¯ ä¸Ĭ", + "å¿ ½", + "èĸ ª", + "æģ IJ", + "æĦı æĢĿ", + "å« Į", + "æı ´", + "æ° §", + "èĢ Ģ", + "éĺ »", + "è½ ¨", + "å¹ »", + "æį ķ", + "åĿ ¦", + "åĵĪ åĵĪ", + "çĭ IJ", + "æ» ¨", + "è² »", + "è¿ Ł", + "人 éĥ½", + "ç» ĺ", + "åı ¹", + "çµ IJ", + "æī °", + "æ» ĭ", + "å¥ ij", + "åĭ Ł", + "ç¢ º", + "ð ¦", + "éĽĨ åĽ¢", + "æĿ İ", + "å¼Ģ å±ķ", + "æıIJ åįĩ", + "åħ¨ åĽ½", + "æ±½ 车", + "åѦ æł¡", + "æł¹ æį®", + "è¿Ļ æĺ¯", + "åĩº çݰ", + "éĻ Ī", + "ç½ Ĺ", + "èİ· å¾Ĺ", + "åĪ ĺ", + "éĶĢ åĶ®", + "æľª æĿ¥", + "éľĢ æ±Ĥ", + "å®ŀ æĸ½", + "åĿļ æĮģ", + "åħ¨ çIJĥ", + "éĵ¶ è¡Į", + "æİ§ åζ", + "é¡ »", + "åľ° åĮº", + "æīĵ éĢł", + "çļĦ è¯Ŀ", + "帮 åĬ©", + "ä½ĵ ç³»", + "è¾¾ åΰ", + "è§Ħ åĪĴ", + "åŁ¹ è®Ń", + "两 个", + "æĬ¥ åijĬ", + "åľ° æĸ¹", + "å®Į åħ¨", + "æİ ī", + "ç»ĵ åIJĪ", + "宣 ä¼ł", + "æ³ķ å¾ĭ", + "èīº æľ¯", + "ç͵ å½±", + "èª ª", + "ä¸Ģ çĤ¹", + "è¶ħ è¿ĩ", + "ç͵ åŃIJ", + "æĢĿ æĥ³", + "æķĻ åѦ", + "éĺ¶ æ®µ", + "åķĨ ä¸ļ", + "çī© æµģ", + "åĪĽ ä¸ļ", + "æĸ¹ æ¡Ī", + "çݰ 代", + "æ¡ ¥", + "èIJ½ å®ŀ", + "带 æĿ¥", + "产 çĶŁ", + "ç§ Ģ", + "æ³ °", + "ä¹ ±", + "åħ· ä½ĵ", + "åĸ Ŀ", + "èĵ Ŀ", + "å® Ĺ", + "åįĩ 级", + "æ·± åħ¥", + "ä¿Ŀ éĻ©", + "ç®Ģ åįķ", + "çĹ Ľ", + "稳 å®ļ", + "è¾ Ĩ", + "å±ŀ äºİ", + "å· Ŀ", + "ä¸į å°ij", + "åĴ ¨", + "举 西", + "å½¢ å¼ı", + "娱 ä¹IJ", + "æŃ£ 常", + "é¸ ¡", + "åħħ åĪĨ", + "å®ŀ è·µ", + "éĩĮ éĿ¢", + "è· ³", + "èĻ İ", + "æĪIJ éķ¿", + "æļ Ĺ", + "çĿ ¡", + "ç½ ª", + "çIJĨ 念", + "æĮ ij", + "èµĦ æľ¬", + "å¤ļ å°ij", + "ä¸ĭ éĿ¢", + "å¸ Ŀ", + "åħ¬ å¼Ģ", + "æ¸ IJ", + "éķ ·", + "å± ĭ", + "欢 è¿İ", + "å¿ĥ çIJĨ", + "çĤ İ", + "æ¹ ¾", + "è® ĵ", + "éĤ Ħ", + "ç³ ĸ", + "ä¹ Į", + "åĬ ±", + "çī Ļ", + "èħ ¿", + "å² Ĺ", + "ä¼ į", + "æĪIJ åijĺ", + "åŃ Ķ", + "å°ı ç¼ĸ", + "èij £", + "æ³ ¡", + "åħĪ è¿Ľ", + "åħ §", + "åĺ ´", + "è´ Ŀ", + "è »", + "æIJ ŀ", + "æ³ Ľ", + "é¸ Ł", + "ç½ ²", + "èĽ ĭ", + "主 ä»»", + "缮 çļĦ", + "ä¹ ı", + "æ´ ¥", + "æĪ ´", + "严 æł¼", + "çħ ¤", + "çĮ «", + "åĶ ¯", + "å° Ĭ", + "çĶ ľ", + "åŀ ĥ", + "åľ ¾", + "æĭ Ł", + "çĦ ¦", + "é« Ķ", + "å® ı", + "æ© Ł", + "é© »", + "æĹ ģ", + "å½ »", + "éĥ½ ä¸į", + "æij ©", + "ä» ĵ", + "ä¹ ³", + "å² ¸", + "è° ĭ", + "大 å¤ļ", + "çģ Ń", + "èħ ¾", + "æŁ ľ", + "èĪ į", + "åħļ çļĦ", + "å° ĺ", + "åįģ å¹´", + "æĭ Ĵ", + "è£ ¡", + "æŁ Ķ", + "å¹ ¼", + "éĶ ģ", + "ä¸ĵ 项", + "æī İ", + "驾 é©¶", + "ç¢ İ", + "è¢ ĭ", + "éĶ ĭ", + "å£ ®", + "å° ĸ", + "ç͵ æ±ł", + "è¿ Ķ", + "æ¼ ı", + "å¾ ª", + "èı Į", + "èĥ ĥ", + "è¾ ħ", + "éĢ Ĵ", + "èĥ İ", + "éĻ ª", + "å¯ ¿", + "å¥ Ķ", + "çĮ Ľ", + "çº ¹", + "çŁ¥ åIJį", + "å¿ Ĩ", + "æ¡ ĥ", + "æ£ ĭ", + "éĢ Ĩ", + "çĤ ¼", + "ç± į", + "çī §", + "æł· çļĦ", + "è¾ Ľ", + "åł Ĩ", + "å®ŀ åľ¨", + "ä¼ ı", + "å® ¿", + "èµ ı", + "è£ Ĥ", + "åįĬ å¹´", + "åĢ ¾", + "满 æĦı", + "æ¢ ¯", + "æĦı åij³", + "åŃ ¤", + "ç¥ Ŀ", + "æĻ ¶", + "èµ Ķ", + "åģ ¿", + "èĦ Ĥ", + "ç½ ļ", + "ç¢ į", + "æ² ĥ", + "æ ĵį", + "å´ ĩ", + "æļ Ĥ", + "è· ĥ", + "æIJ ¬", + "å© Ĩ", + "é ī", + "éī ´", + "åħ´ è¶£", + "èIJ¥ ä¸ļ", + "è® Ĭ", + "èĦ ı", + "è¾ Ī", + "å·ŀ å¸Ĥ", + "è´« åĽ°", + "ç© ·", + "ä¸Ń å°ı", + "æ¼ Ĥ", + "çĻ Į", + "èľ ľ", + "ä¼Ļ ä¼´", + "çī µ", + "æĤ Ł", + "éĻ ·", + "èµĽ åŃ£", + "æ¨ £", + "åģ ¶", + "æĺ Ĩ", + "è¢ Ń", + "æį IJ", + "èī °", + "æ Ĥ¬", + "çĶ ¢", + "èij ¡", + "çĽ Ĺ", + "å© ´", + "å° İ", + "çº ½", + "åĢ ¡", + "æī ®", + "è¨ Ń", + "æĬ ij", + "ç¡ ķ", + "è¾ ĸ", + "éĥ ģ", + "è¾ ©", + "éĤ »", + "çݰ åĩº", + "è¦ ı", + "å½ ¹", + "éĺ Ķ", + "åī µ", + "è¯ ±", + "æĥ ij", + "æ· Ģ", + "é¢ Ī", + "ä¾ ¦", + "æģ °", + "æ£Ģ å¯Ł", + "éĨ «", + "çĦ¶ æĺ¯", + "åĭ ĥ", + "èĮ «", + "ä ĵ", + "𠬸", + "ä½ľ 为", + "çļĦ 人", + "éĤ£ ä¹Ī", + "ç¾İ åĽ½", + "è¿ĺ æľī", + "æıIJ é«ĺ", + "èĻ ½", + "åħ· æľī", + "åĮħ æĭ¬", + "æĪĸ èĢħ", + "ä¸į è¿ĩ", + "ä¸Ĭ æµ·", + "åĮ» éĻ¢", + "èµĦ éĩij", + "çĶļ èĩ³", + "åζ 度", + "è§£ åĨ³", + "èģĶ ç½ij", + "ç»§ ç»Ń", + "建 ç«ĭ", + "è¿Ľ ä¸ĢæŃ¥", + "æĿIJ æĸĻ", + "ä»Ĭ 天", + "å¿ħ é¡»", + "åIJĦ ç§į", + "çݰ åľº", + "ä»ĸ çļĦ", + "å¢ŀ åĬł", + "é¢Ĩ åŁŁ", + "åıĤ ä¸İ", + "æĮģ ç»Ń", + "ä¹ĭ ä¸Ģ", + "çī¹ åĪ«", + "é± ¼", + "åħ± åIJĮ", + "åĬ ª", + "çİ ī", + "人 们", + "åħĪ çĶŁ", + "ä¼ĺ åĬ¿", + "ä¿Ŀ æĮģ", + "ä½ľ åĵģ", + "çī Ľ", + "æĪIJ æľ¬", + "æĶ¶ åħ¥", + "åıĬ æĹ¶", + "è´Ł è´£", + "æİ¥ åıĹ", + "èį IJ", + "åıª è¦ģ", + "羣 çļĦ", + "导 èĩ´", + "æľº åζ", + "è¡Į åĬ¨", + "æĸ° çļĦ", + "å®Į åĸĦ", + "为 ä»Ģä¹Ī", + "ä¸Ń 央", + "æĪIJ ç«ĭ", + "æĦŁ è§ī", + "åıĺ åĮĸ", + "åıĹ åΰ", + "å¹¶ ä¸į", + "åŃ Ļ", + "æĸ½ å·¥", + "æĺİ æĺ¾", + "è¿ĩ åİ»", + "åıij æĮ¥", + "羣 æŃ£", + "åŁº åľ°", + "æĺİ ç¡®", + "èĥ ¡", + "许 å¤ļ", + "ä¸Ģ å¹´", + "æĸ¹ åIJij", + "æģ ©", + "缸 ä¿¡", + "åľ ³", + "详 ç»Ĩ", + "äºĭ ä¸ļ", + "çĶŁ åij½", + "åĴ¨ 询", + "æĸĩ æĺİ", + "çij ŀ", + "绿 èī²", + "èİ «", + "æĦı è¯Ĩ", + "æĬķ åħ¥", + "åĬł å¿«", + "æ¢ ħ", + "ç¿ »", + "å¼Ģ æĶ¾", + "æĻ® éĢļ", + "åįı ä¼ļ", + "æĪIJ 绩", + "ä» Ļ", + "å¯ Ĵ", + "è¯ģ åΏ", + "认 è¯Ĩ", + "ä¸ ¹", + "大 éĩı", + "è¿ ħ", + "åģļ åΰ", + "设 æĸ½", + "è´¸ æĺĵ", + "èĥ½ æºIJ", + "æĹ¶ æľŁ", + "ä¸Ģ 天", + "æ²» çIJĨ", + "åĺ ī", + "å® ĩ", + "丰 å¯Į", + "举 è¡Į", + "æĪIJ æŀľ", + "èĤ¯ å®ļ", + "çĭ Ĺ", + "åĬ¨ åĬĽ", + "æ£ ®", + "åĩł ä¹İ", + "åĽł ç´ł", + "æ°ij æĹı", + "æ´ ŀ", + "ç½ij åıĭ", + "åIJĪ çIJĨ", + "广 大", + "æ® Ĭ", + "æ´ Ľ", + "æĿ ¯", + "èĴ Ļ", + "ç͍ äºİ", + "èŀį èµĦ", + "ç¥ ĸ", + "æľº 械", + "举 åĬŀ", + "èĩª åĬ¨", + "åĬŀ åħ¬", + "é» ŀ", + "éĽ Ħ", + "å̼ å¾Ĺ", + "çĮ ª", + "以 为", + "æĺ Į", + "è·Ŀ 离", + "åIJ¸ å¼ķ", + "ç» ķ", + "éļ Ĩ", + "计 ç®Ĺ", + "éĺŁ ä¼į", + "大 ä¼ļ", + "å¼ķ èµ·", + "çī¹ çĤ¹", + "èĥ ¶", + "å¹´ è½»", + "æľ¬ 身", + "æľº åħ³", + "å®ĺ æĸ¹", + "éĥ ij", + "æµ Ļ", + "è§Ĵ èī²", + "èij£ äºĭ", + "为 主", + "æĹł 论", + "ä¹ł æĥ¯", + "æ¥ ļ", + "æĭ ĵ", + "绣 计", + "åħ Ħ", + "广 æ³Ľ", + "åį Ģ", + "污 æŁĵ", + "è« ĭ", + "èĬĤ 缮", + "ä¼ ¦", + "è¦Ĩ çĽĸ", + "èĢ IJ", + "æī¶ è´«", + "ç»ı åİĨ", + "éĩįè¦ģ çļĦ", + "èĤ¡ 举", + "æĭĽ èģĺ", + "åĽĽ 个", + "æĩ ī", + "èĥ ŀ", + "æij Ĩ", + "é«ĺ éĢŁ", + "éº ¦", + "åİŁ åĪĻ", + "èİ ±", + "æĽ´ 好", + "éķ ľ", + "åĩ Į", + "åŀĥ åľ¾", + "éĢ ²", + "çģ °", + "éĵ º", + "äºĭ æķħ", + "çĶ ĺ", + "空 æ°Ķ", + "é¾ Ħ", + "èı ²", + "çĵ ¶", + "æĺ ¨", + "æĹ¥ æĬ¥", + "æµ ®", + "åľ° åĽ¾", + "åij Ī", + "大 åĬĽ", + "ç» ª", + "å¸ ħ", + "æľį åĭĻ", + "ä¸į éĶĻ", + "乡 æĿij", + "å± ¥", + "å¹³ æĸ¹", + "éĹ ²", + "æī £", + "ç´ł è´¨", + "èµ ´", + "éģ Ń", + "èIJ ¨", + "èĩª 主", + "éĩij å±ŀ", + "èī¯ å¥½", + "两 å¹´", + "æ³ ¥", + "é¢ ľ", + "ç²¾ 彩", + "ä¸Ń åįİ", + "æĻ ĭ", + "ä¹ł è¿ij", + "ä¹łè¿ij å¹³", + "æĪĺ 士", + "åģļ çļĦ", + "éª ij", + "æ» ´", + "çĵ ľ", + "çīĪ æĿĥ", + "èĤ ł", + "æľĥ åĵ¡", + "çı į", + "ç¨ ®", + "ä »¿", + "çī© ä¸ļ", + "åĢĭ 人", + "å¦ »", + "ä¼ ¸", + "æ± Ĺ", + "æĹ º", + "çIJĨ æĥ³", + "æij ¸", + "è¿Ŀ æ³ķ", + "å®Į æķ´", + "åİ ¦", + "è¸ ı", + "æĸ ij", + "æ¡ Ĥ", + "ä½ĵ åζ", + "å¸ «", + "æĿ Ĩ", + "æ® ¿", + "æ¯ ģ", + "é¦ Ī", + "è§Ĵ 度", + "æ¬ £", + "çĥ ¦", + "èĤ º", + "éĩĩ 访", + "æij ĺ", + "æĮ ¡", + "æ· ĺ", + "åħ» èĢģ", + "çĤ ¸", + "è¿ Ī", + "åİ ī", + "åĿ Ĭ", + "è¾ £", + "åĩ Ŀ", + "æ³ ª", + "çĸ ı", + "æİ ĺ", + "åĥı æĺ¯", + "éĽ ķ", + "ç¼ Ŀ", + "èį ·", + "æį ·", + "åł ¡", + "åı¥ è¯Ŀ", + "çĸ ¼", + "æł ı", + "éģ µ", + "ç¢ ³", + "å·¥ åķĨ", + "æIJ º", + "åĪ ¥", + "ä¹ Ļ", + "æĹ ĭ", + "æĥ ľ", + "ä¸Ģ 大", + "å±Ĥ 次", + "èµ ĸ", + "æĬ ¬", + "æ¨ Ĥ", + "è¯ ŀ", + "åħ Ĵ", + "ç¯ ®", + "èĤ ĥ", + "å§ ¿", + "æĬ ļ", + "çĵ ·", + "ç͵ åĬ¨", + "æĸ° åĨł", + "æ¶ µ", + "ç¢ ij", + "æ· ®", + "æĹ ¨", + "è¸ ª", + "æ¸ Ķ", + "æĦ Ī", + "åı Ķ", + "åįĹ çľģ", + "ç¾ ©", + "å§Ķ 书记", + "è² ¸", + "æ¶ Į", + "è« ĸ", + "èIJ Ħ", + "æı ı", + "å¿ §", + "è¾ ¦", + "å¦ Ĩ", + "æī Ń", + "åij µ", + "éģ ¥", + "è¨ ±", + "ä» ĩ", + "åįģ ä¸ī", + "åī ²", + "èª į", + "èĪ °", + "é¢ ĩ", + "é¥ ±", + "çĭ ł", + "é«ĺ çļĦ", + "çµ ±", + "æħ İ", + "é¢ ģ", + "åIJĪ éĢĤ", + "æµ ´", + "èµ ĭ", + "æĬ ¼", + "å¦ ¥", + "éĻ¢ éķ¿", + "èĢ ķ", + "è¾ ¨", + "æħ °", + "åįģ åĽĽ", + "æľ µ", + "èĵ Ħ", + "æŀ ¢", + "å» ·", + "æĤ Ħ", + "æ¶ ¯", + "çŁ ©", + "åŃIJ éĩĮ", + "çĬ ¹", + "å±Ģ éķ¿", + "é IJ", + "å¥ ł", + "ä¼ļ éķ¿", + "æĵ ļ", + "ä¸į åıĬ", + "åįģ ä¹Ŀ", + "æ¬ º", + "èº º", + "éĺ IJ", + "çº Į", + "è¨ »", + "åĨ Ĭ", + "èŃ ĺ", + "é«ĺ çŃī", + "èħ º", + "å¤ ķ", + "ç» ij", + "åĶ ¤", + "èķ ´", + "çķ ľ", + "æħ ĭ", + "åı Ļ", + "åı ĥ", + "å³ ¡", + "人 大", + "éħ ¿", + "éģ ©", + "å¥ ¢", + "åı£ æ°Ķ", + "éĮ Ħ", + "é ı", + "åĭ ĺ", + "è´ ¿", + "éļ ª", + "é ĭ", + "éļ ¶", + "ð ¥", + "𬠣", + "ð £", + "ð« į", + "𬠳", + "ð« ĵ", + "ð« Ħ", + "ð« Ł", + "𨠱", + "ä Ĺ", + "以 åıĬ", + "æľī éĻIJ", + "åij ¢", + "åIJ Ĺ", + "çľĭ åΰ", + "计 åĪĴ", + "è¿Ľ åħ¥", + "缴 æİ¥", + "åĪĨ æŀIJ", + "åıª æľī", + "设 å¤ĩ", + "åħ¶ å®ŀ", + "åĬł 强", + "ä¸Ń çļĦ", + "ä¿Ŀ éļľ", + "èĢģ å¸Ī", + "人 æīį", + "å¾Ĺ åΰ", + "é£İ éĻ©", + "ä¸Ģ ç§į", + "空 éĹ´", + "æĪij åĽ½", + "ä¹ĭ åīį", + "ä¸ĵ å®¶", + "æĿ ¨", + "æĹ¥ æľ¬", + "群 ä¼Ĺ", + "åıĤ åĬł", + "æķĪ æŀľ", + "æľī åħ³", + "å®¶ åºŃ", + "åĮº åŁŁ", + "åĬª åĬĽ", + "éļı çĿĢ", + "æĹł æ³ķ", + "交 æµģ", + "è¡Į 为", + "æ£Ģ æŁ¥", + "æľŁ éĹ´", + "å¦Ĥ æŃ¤", + "èĤ¡ 份", + "å½ĵ æĹ¶", + "è£ħ å¤ĩ", + "åĩĨ å¤ĩ", + "éħĴ åºĹ", + "è¿IJ åĬ¨", + "æıIJ åĩº", + "å·¦ åı³", + "æİª æĸ½", + "é£Ł åĵģ", + "æ¶Īè´¹ èĢħ", + "åѦ éĻ¢", + "æĮĩ 导", + "è¿IJ èIJ¥", + "éĩį 大", + "åĨľ æĿij", + "éĢł æĪIJ", + "æĶ¿ æ²»", + "éĴΠ坹", + "æŃ£ å¼ı", + "åıĸ å¾Ĺ", + "éĤ£ 个", + "éĽĨ ä¸Ń", + "åıª èĥ½", + "å¿« éĢŁ", + "身 ä½ĵ", + "åħļ åijĺ", + "èģĶ åIJĪ", + "åĬĽ éĩı", + "éĥ½ æľī", + "æ ħ§", + "å¡ Ķ", + "åĪ« 人", + "表 çݰ", + "æķħ äºĭ", + "ä¸Ģ åĪĩ", + "å° ĩ", + "èµĦ æĸĻ", + "åŁ¹ åħ»", + "éĺħ 读", + "æľī 人", + "èIJ¥ éĶĢ", + "çĽij çĿ£", + "çݯ ä¿Ŀ", + "èĢĥ èĻij", + "æ·± åľ³", + "严 éĩį", + "èĮĥ åĽ´", + "å§Ķ åijĺ", + "çĽij 管", + "ä¸ī 个", + "è£ħ ä¿®", + "åħ¬ éĩĮ", + "åĪĨ åĪ«", + "çIJĨ è§£", + "éŁ ©", + "åĬł å·¥", + "认 羣", + "ä¸į 好", + "åİ» å¹´", + "éĻį ä½İ", + "æľº ä¼ļ", + "åįı è®®", + "符 åIJĪ", + "å¢ŀ 强", + "æĬĢ èĥ½", + "é¦ĸ åħĪ", + "ç§ ¦", + "ä¸ ģ", + "å° ¾", + "æľī äºĨ", + "åľ° 产", + "æ¸ ł", + "æĸ¹ 便", + "ç§» åĬ¨", + "éĢŁ 度", + "å°¤ åħ¶", + "éĢļ çŁ¥", + "åĿ Ľ", + "éģ¿ åħį", + "æģ ¢", + "è´ ¡", + "èģĮ å·¥", + "å®ŀ åĬĽ", + "æĺ¯ä¸Ģ ç§į", + "åIJ¯ åĬ¨", + "çĸ¾ çĹħ", + "æĿ¥ äºĨ", + "缸 对", + "çݰ å®ŀ", + "èŀį åIJĪ", + "åIJĮ æł·", + "åħ¬ åijĬ", + "çī¹ æ®Ĭ", + "ç´ «", + "ä¸ĭ åİ»", + "ä¼ł æĴŃ", + "æľĢ 好", + "ä¼ĺ è´¨", + "æ² Ĵ", + "æĮ º", + "æĹ ¦", + "è¯ º", + "ä¸Ģ åIJį", + "éģĵ è·¯", + "示 èĮĥ", + "è¿ĩ æĿ¥", + "åIJĮ åѦ", + "é¼ ĵ", + "æĿ Ń", + "æľ¬ 次", + "åIJĮ æĦı", + "ä¸ĸ 纪", + "ç¾ Ĭ", + "æ¬ ²", + "å·¥ èīº", + "çĵ ¦", + "人 士", + "æľī æīĢ", + "ä»İ äºĭ", + "æľī å¾Īå¤ļ", + "ä¸į äºĨ", + "å²Ĺ ä½į", + "åıĺ å¾Ĺ", + "åĬ³ åĬ¨", + "å¤Ħ äºİ", + "å¹³ åĿĩ", + "å½¢ 象", + "å¡ ŀ", + "åħ± 享", + "çĿ Ľ", + "åĪ© 润", + "æŃ£ æĺ¯", + "å¾Ģ å¾Ģ", + "缸 æ¯Ķ", + "æ¨ ª", + "åĪ ·", + "æµĻ æ±Ł", + "大 éĥ¨åĪĨ", + "å¤ļ 个", + "æĤ¨ çļĦ", + "ç͵ åķĨ", + "å¾® åįļ", + "å§ĭ ç»Ī", + "çĬ¯ 罪", + "æĺ¯ åľ¨", + "ç»Ħ åIJĪ", + "åİŁ æĿ¥", + "æ¸ħ æ¥ļ", + "åIJĦ åľ°", + "æĦŁ åıĹ", + "å½ĵ ä¸Ń", + "è¶ĭ åĬ¿", + "æĻ¯ åĮº", + "羣 æĺ¯", + "ä¾Ľ åºĶ", + "转 åŀĭ", + "çĭ Ĥ", + "èĨ ľ", + "èĭ Ĺ", + "å¿ ł", + "å¾Ī 大", + "èĤ¡ æĿĥ", + "ç¾İ åħĥ", + "æİĴ åIJį", + "åĬ¨ çī©", + "éĶ ħ", + "å¢ ¨", + "主 å¸Ń", + "å¾Ī 好", + "ç»Ŀ 对", + "æĿ ľ", + "转 è½½", + "çĴ ĥ", + "æĿij æ°ij", + "åIJ ¨", + "åĽŃ åĮº", + "é«ĺ 度", + "çī© è´¨", + "è¾ ī", + "æĹ¥ 常", + "æı Ĵ", + "ä¸ī å¹´", + "ä½ĵ çݰ", + "æīį æĺ¯", + "代 çIJĨ", + "ä¸į 管", + "æģ Ĵ", + "åľ° ä½į", + "ç² ®", + "èĸ Ħ", + "æĺİ çϽ", + "ä¸Ģ èĩ´", + "æĽ ¼", + "åĵ Ń", + "åĩ ¤", + "åĬ ²", + "æķ Į", + "æĪĺ æĸĹ", + "主 ä½ĵ", + "åħ¬ å¸ĥ", + "åıĤ èĢĥ", + "èĪª 空", + "å¯ º", + "åѦ ä¼ļ", + "åıį æĺł", + "ç¾İ 丽", + "太 éĺ³", + "建 æĪIJ", + "æħ¢ æħ¢", + "åIJĦ 个", + "éĤ ¦", + "ç»Ħ æĪIJ", + "ä¸ī 大", + "éĶ ¦", + "大å¤ļ æķ°", + "æ¦Ĥ 念", + "éŃ Ĥ", + "åħ¬ çĽĬ", + "èį Ĵ", + "身 份", + "æ·± åĪ»", + "åħ ©", + "ç»ı åħ¸", + "åIJĦ 项", + "èĻ ķ", + "è¿Ľ æŃ¥", + "åįģ äºĮ", + "æī§ æ³ķ", + "æĥ³ åΰ", + "æĦŁ æŁĵ", + "åķĨ åĬ¡", + "å°ı ç»Ħ", + "èĶ ¬", + "çıŃ åŃIJ", + "åIJĮ å¿Ĺ", + "éĿ¢ 临", + "çĤ Ĵ", + "å¤ļ ç§į", + "è§Ĥ çĤ¹", + "åĵª éĩĮ", + "å° Ŀ", + "å§ Ĩ", + "èħ ¹", + "åŁİ åĮº", + "太 å¤ļ", + "çĹħ æ¯Ĵ", + "åľ¨ äºİ", + "æīĢ è°ĵ", + "æĻ °", + "æŀ Ŀ", + "æĭ ĸ", + "å® ħ", + "æķ´ æ²»", + "ä½ı æĪ¿", + "åģ ·", + "çĨ Ĭ", + "èµ ģ", + "æ° Ľ", + "æł¼ å±Ģ", + "åŁºç¡Ģ ä¸Ĭ", + "èĥ Ĩ", + "åħ ½", + "鼶 åĶ®", + "åĿ ¡", + "女 åŃ©", + "æĴ ŀ", + "åħ¨ åĬĽ", + "åĴ ĸ", + "èĤ ©", + "çľ ī", + "èĩ³ äºİ", + "åħļ ç»Ħ", + "ä¸Ģ ä»¶", + "æĭ Ĩ", + "äºĭ å®ŀ", + "åĤ ³", + "æ¹ ĺ", + "ç¶² ç«Ļ", + "循 çݯ", + "åIJĮ æ¯Ķ", + "æĭ Ķ", + "åĮ» èį¯", + "åħ» æ®ĸ", + "åĽº å®ļ", + "å®ŀéĻħ ä¸Ĭ", + "è®° å¾Ĺ", + "åĪ© äºİ", + "æĤ ¦", + "æĭ ³", + "èĤ Ŀ", + "æķĪ çĽĬ", + "è© ²", + "æ°ij 主", + "çĹĩ çĬ¶", + "é¢ ¨", + "å¹¼ åĦ¿", + "å§ ij", + "æĪ Ĵ", + "ä¸ĭ çļĦ", + "æ¸ ¡", + "å¹´ åºķ", + "è®° å¿Ĩ", + "åIJ IJ", + "大 å¹ħ", + "å¾ ½", + "åħ¬ ä¼Ĺ", + "ä¿¡ å¿ĥ", + "çİ Ľ", + "ä¼ļ ä¸Ĭ", + "ä¹ Ķ", + "æijĦ å½±", + "æ£ĭ çīĮ", + "éĻ ķ", + "åºĶ æĢ¥", + "æĶ¶ è´¹", + "æİ§ èĤ¡", + "仪 å¼ı", + "çŀ ¬", + "æīĢ åľ¨", + "ç¢ °", + "å§ ĵ", + "é¡ Į", + "æĶ¯ éĥ¨", + "使 åij½", + "çĤ ī", + "å¯ Ħ", + "ç¿ ¼", + "åľ° ä¸ĭ", + "è¾ ŀ", + "ä¿ ±", + "主 æĮģ", + "è´§ å¸ģ", + "æģ ¨", + "èĤ Į", + "çĽ Ī", + "éĶ »", + "å¿Ĺ æĦ¿", + "ç±» ä¼¼", + "æĮ ĸ", + "éĢ »", + "ç¸ ½", + "纪 念", + "åķ ¥", + "å¼ ¯", + "åIJį åŃĹ", + "åģ¥ èº«", + "çļĦ å¿ĥ", + "é© ±", + "èĥĮ åIJİ", + "æ³ķ å¸Ī", + "ç² Ĵ", + "èĥ½ éĩı", + "è¾ °", + "èī ³", + "å½ ¼", + "段 æĹ¶éĹ´", + "åIJĪ æ³ķ", + "æĵ ¦", + "ç¾ ½", + "åİ ¨", + "æĪij 说", + "äºĭ åĬ¡", + "åĩł 天", + "åħ ģ", + "ç¼ ´", + "åį ĵ", + "两 ç§į", + "çĭ¬ çī¹", + "å¸ ¶", + "éĴ »", + "æĥ ©", + "é¢Ĩ åħĪ", + "è¶³ å¤Ł", + "å£ ³", + "æĦıåij³ çĿĢ", + "åĪĨ å¸ĥ", + "ä¹ ĥ", + "éģ ĭ", + "ä½ ©", + "è° ±", + "çģ £", + "èį ¡", + "è´¯ å½»", + "å¹ ¾", + "ç£ ģ", + "åħ¸ åŀĭ", + "åī ĩ", + "åĨ »", + "æ¬ ł", + "ä¸į ä¹ħ", + "æµ ¦", + "éŃ ħ", + "å¼Ģ äºĨ", + "使ç͍ èĢħ", + "è¿Ļ 款", + "å° Ī", + "èĦ± è´«", + "æĶ» åĿļ", + "ç®Ĺ æĺ¯", + "ç¨ Ģ", + "æĹł 人", + "åł µ", + "å¥ ı", + "éĥ½ å¸Ĥ", + "åı¯ è§ģ", + "ä¸į åĩº", + "æ ·»", + "äº ı", + "ç¾İ 好", + "èĥ ĸ", + "éŁ µ", + "æłĩ å¿Ĺ", + "èĬĤ èĥ½", + "æĬ «", + "å° º", + "å¯ ¸", + "ä¸Ģ 代", + "é¢ Ĺ", + "èĢ ¶", + "èĴ ¸", + "åĸ ®", + "æ »¿", + "çĮ ľ", + "æµ Ĩ", + "åŁ ĥ", + "åįĥ ä¸ĩ", + "èµ Į", + "èģ ²", + "ä½ľ é£İ", + "è³ ª", + "å¯ ¨", + "å¹´ 人", + "åį° è±¡", + "æ¡ ¶", + "æĴ ¤", + "åįģ äºĶ", + "æ¯ ħ", + "æ² ª", + "åĽ½ æľī", + "大éĩı çļĦ", + "å¾ ¡", + "å¯ ĵ", + "è¦ ĸ", + "æ¼Ĥ 亮", + "çľ ł", + "ç ĤŃ", + "é» İ", + "èĻ ¹", + "åĪ© äºļ", + "èŃ ī", + "æµ ı", + "åįģ åħ«", + "ä¸ ¢", + "è¾ ½", + "æľīä¸Ģ äºĽ", + "æħ Ī", + "åģľ è½¦", + "å® ł", + "è§£ æĶ¾", + "æľī å¤ļ", + "éĤ Ĭ", + "常 è§ģ", + "æĬ ¹", + "çº ¤", + "è¦ ª", + "æ¡ Ĩ", + "èİ ŀ", + "æ°§ åĮĸ", + "è¿Ļ ä»¶", + "åĩ °", + "æŁ ´", + "åıij ç͵", + "é¼ ł", + "转 åĮĸ", + "å¨ ĥ", + "æĮ ¤", + "ç½ ©", + "å¯Ĩ åĪĩ", + "æĪij ä¸į", + "é«ĺ æĸ°", + "ä¸Ģ ç¯ĩ", + "è¿Ľ ç¨ĭ", + "è¡ °", + "è¿ĺ ä¸į", + "ç ħĮ", + "æĸ° åįİ", + "èĤ ¿", + "æ» ©", + "ä¸Ģ æµģ", + "è¯ Ī", + "å®ŀ ä½ĵ", + "å¤ĸ åĽ½", + "èº ²", + "èµ ł", + "è¦ º", + "æ¢ Ŀ", + "ä¸į è§ģ", + "è¨ Ĭ", + "åĮ ¹", + "åį µ", + "çĩ ¥", + "æħ ķ", + "é½ ¿", + "å® ´", + "é¥ ¼", + "èij¡ èIJĦ", + "å°ı å¿ĥ", + "æģ ¼", + "éĻ Į", + "æĺ Ĥ", + "åĥ ¹", + "èĬ Ŀ", + "æ¯ı 个人", + "åīį æıIJ", + "ä½ĵ ä¼ļ", + "æ¨ Ļ", + "æIJľ çĭIJ", + "对 åħ¶", + "ä¸ §", + "èľ Ĥ", + "æµ ¸", + "èª ¿", + "åĿ ª", + "é¢ ĸ", + "åIJį 为", + "ç¬ ¼", + "èĪ Į", + "æľ¬ 书", + "èģ ¯", + "çº º", + "ç®Ģ 缴", + "éĽ ¢", + "ç¾İ çļĦ", + "éļ ¨", + "é«ĺ å³°", + "è¿Ļ å®¶", + "å Ĥ¬", + "å° ¸", + "ç¡ķ 士", + "èŃ ·", + "è° ¨", + "æĺ ı", + "æĶ¿ åįı", + "è¡ Ķ", + "ç¿ Ĵ", + "åľ Ĵ", + "åĽ½ æ°ij", + "主 è§Ĵ", + "è£ ķ", + "ä¼ ª", + "åº ŀ", + "æ°ij èIJ¥", + "æĥ §", + "ç§ĺ 书", + "çĹ ķ", + "çϾ åĪĨ", + "æº ¶", + "æĹł çĸij", + "çļĦ çľ¼", + "æĵ İ", + "ä¼Ł 大", + "å½ °", + "åħ¬å®ī å±Ģ", + "ç³ ķ", + "å¼ ¥", + "åĤ Ļ", + "ä¹ ¾", + "毫 ä¸į", + "注 æĺİ", + "åī¯ æĢ»", + "æĦ ī", + "æķ ¦", + "é¦ ¨", + "æĶ Ģ", + "éĢ Ŀ", + "åı¯ éĿł", + "å¤ ¸", + "åľ ĺ", + "éĿ¢ ä¸Ĭ", + "æĬ ĸ", + "èĦ Ĩ", + "é© °", + "ä¼ IJ", + "å¦ ¨", + "å®ļ äºĨ", + "ç³ Ĭ", + "æŃ ¡", + "éĥ¨ éķ¿", + "ç§ ī", + "èĪ Ĩ", + "åĪij äºĭ", + "åIJ µ", + "æ¤ Ĵ", + "è¡ ĵ", + "è± «", + "èı ©", + "åŃ µ", + "é¥ ²", + "å°± 好", + "åł ª", + "ä¸ī è§Ĵ", + "åľº æ¯ĶèµĽ", + "ä¸į åģľ", + "æĵ ħ", + "åħ¨ æĸĩ", + "æ³ ģ", + "åѦ ä½į", + "æ± °", + "éł ĺ", + "åı ł", + "éļ Ľ", + "å¸ IJ", + "çľĭ åĩº", + "åĮ ł", + "å±Ģ éĿ¢", + "æ³ Į", + "è° Ĭ", + "åIJĮ æľŁ", + "æĬķ æłĩ", + "å¥ ´", + "æĿ¥çľĭ çľĭ", + "èĦ ¾", + "èŀ º", + "æŃ ī", + "çĽ ¯", + "ç¨İ åĬ¡", + "å» Ĭ", + "æİ ©", + "æħ ¨", + "çĽ ¼", + "èĬ Ĵ", + "è® Ģ", + "æĮ £", + "èĮ ħ", + "æĸ ¥", + "æ¤ ħ", + "åΰ æĿ¥", + "èijĹ ä½ľ", + "çĭ ±", + "äºĮ æīĭ", + "ä»İ æĿ¥", + "çĸ ²", + "åºĬ ä¸Ĭ", + "æĸ° 浪", + "æ³ Ħ", + "å¢ŀ å̼", + "ä¸ Ľ", + "æļ ij", + "ä»İ ä¸ļ", + "æ· ĭ", + "å¤ļ æł·", + "æľ ´", + "份 é¢Ŀ", + "æŀ £", + "西 çľģ", + "æľ¬ è´¨", + "æ·± æ·±", + "èī ĩ", + "ç» µ", + "产 å̼", + "æ¼ ł", + "èħ »", + "çŃ Ľ", + "åİ Į", + "æģ Ń", + "å«Į çĸij", + "æĪ ¶", + "æ» ŀ", + "èĨ Ģ", + "åĬ £", + "座 è°Ī", + "常 æĢģ", + "çļĦ æĥħ", + "è¦ ½", + "å¯ Ĥ", + "åĮ Ĩ", + "èĩ º", + "é¡ ¯", + "çķ ı", + "éģ £", + "åį ľ", + "çŃī å¥ĸ", + "è² ¬", + "æº ¯", + "é İ", + "çĤ¹ 头", + "èĵ ¬", + "æ± º", + "éħ ¬", + "éģ Ĭ", + "è³ ¼", + "註 åĨĬ", + "æľ¬ æĬ¥", + "çµ ķ", + "æ´» æĢ§", + "åħ ij", + "éĮ ¯", + "åĨ ¶", + "åĸ »", + "æº ĸ", + "èĤ ¢", + "æº ĥ", + "æĹ ¬", + "åī Ĭ", + "çIJĨ äºĭ", + "å± ł", + "æ² §", + "èļ Ģ", + "鼻 åŃIJ", + "为 æŃ¢", + "常 å§Ķ", + "çµ Ĥ", + "éĬ ·", + "çĭ Ģ", + "ä¾ £", + "èĥ Ģ", + "èŃ °", + "ç͍ 车", + "åĻ ª", + "æŃ ·", + "åį Ķ", + "åĪ ¹", + "竣 æĺ¯", + "é© Ĺ", + "èIJ Ŀ", + "çĻ «", + "çĹ «", + "æŃ §", + "å¼ Ĭ", + "åª ½", + "çı Ĭ", + "è¡ ·", + "éľ ī", + "åŁº çĿ£", + "éļ ±", + "æ° ¨", + "ç» ¸", + "å°¼ æĸ¯", + "çĥ ĺ", + "æľŁ åĨħ", + "è° ħ", + "éĽ ĩ", + "éļ Ļ", + "å ĸī", + "åī ¥", + "çĹ ĺ", + "æĮ ½", + "çĵ £", + "æ¹ Ľ", + "æ¨ ±", + "æ¾ İ", + "æ¹ ĥ", + "åĨ¬ 奥", + "æ£ µ", + "å® °", + "åŀ Ĵ", + "æ§ ĭ", + "ä¾ Ī", + "èĮ Ħ", + "åĺ ¿", + "èı ĩ", + "ç ĻĤ", + "åĬ ĥ", + "é į", + "èĶ ½", + "çŀ Ń", + "æķ ŀ", + "ä¹ ĸ", + "éŁ §", + "è¾ ľ", + "æĩ Ī", + "ä½ £", + "çŀ »", + "åŁ Ķ", + "èĪ ħ", + "å®ŀ äºĭ", + "é ¨", + "å§ ¥", + "çµ ¡", + "åĺ »", + "çķ ¢", + "æ²ĥ å°Ķ", + "è¿ Ħ", + "èĤ ĩ", + "æħ ij", + "ã §", + "ä ı", + "ð ł", + "ð¬ ĩ", + "ð« Ń", + "ð« IJ", + "ã ³", + "© ½", + "ð« ł", + "ã Ľ", + "ð¬ į", + "é ¿", + "ð¬ Ĵ", + "ã Ļ", + "𬠤", + "ð ¬´", + "ð« ĸ", + "ð ¤", + "ã ¬", + "ä ²", + "ð« Ķ", + "ð« ļ", + "è¦ģ æ±Ĥ", + "ä¸Ģ äºĽ", + "å®ŀ çݰ", + "èĢĮ ä¸Ķ", + "åĽł æŃ¤", + "çͱ äºİ", + "åħ³ äºİ", + "çĦ¶ åIJİ", + "æİ¨ åĬ¨", + "ä¸Ģ æł·", + "æĮī çħ§", + "è¿Ļæł· çļĦ", + "å½¢ æĪIJ", + "æľī äºĽ", + "æĽ´ åĬł", + "ç»ı è¿ĩ", + "建 è®®", + "æ²» çĸĹ", + "ä½ł 们", + "æīį èĥ½", + "ä¿ĥ è¿Ľ", + "åijĺ å·¥", + "ä½ĵ éªĮ", + "èĪ ĩ", + "åģļ 好", + "ä¿Ŀ è¯ģ", + "æķ´ 个", + "æĺ¯ ä¸Ģ个", + "éĩĩ ç͍", + "çIJĨ 论", + "æ¯Ķ å¦Ĥ", + "ä¸Ĭ çļĦ", + "æİ¨ èįIJ", + "çͳ 请", + "天 空", + "éĥ¨ èIJ½", + "åįģ åĪĨ", + "æĿ¥ èĩª", + "ä¹ĭ éĹ´", + "è°ĥ æķ´", + "æ¯ı 天", + "è°ĥ æŁ¥", + "æĤ£ èĢħ", + "è¿ĩç¨ĭ ä¸Ń", + "é¦Ļ 港", + "广 åijĬ", + "éĿ¢ 对", + "满 è¶³", + "éķ¿ æľŁ", + "è§Ħ èĮĥ", + "æķ´ ä½ĵ", + "æĶ¹ åıĺ", + "æĻº æħ§", + "å¦Ī å¦Ī", + "å¦Ĥ ä»Ĭ", + "åIJĪ åIJĮ", + "éĥ½ ä¼ļ", + "åĦ¿ ç«¥", + "åĩı å°ij", + "éŁ³ ä¹IJ", + "ç»ı 常", + "ä¸Ĭ å¸Ĥ", + "ä¼ĺ ç§Ģ", + "çļĦ éĩįè¦ģ", + "ä¸Ģ æĿ¡", + "æµ· å¤ĸ", + "åı¦ å¤ĸ", + "ä¸Ģ å®¶", + "åİĭ åĬĽ", + "大 åŀĭ", + "çľĭ çĿĢ", + "åĪ Ģ", + "幸 ç¦ı", + "æİ¨ 广", + "åIJ Ľ", + "å¾ IJ", + "æī¾ åΰ", + "äºİ æĺ¯", + "èĩª 身", + "ä¸Ģ ä½į", + "åľŁ åľ°", + "åĬł åħ¥", + "æİ¢ ç´¢", + "æ¢ ģ", + "主 åĬ¨", + "å°± ä¸ļ", + "女 æĢ§", + "çªģ çł´", + "ä¸įåIJĮ çļĦ", + "è¿IJ è¾ĵ", + "èĩª çͱ", + "å±ħ æ°ij", + "æŃ¤ 次", + "çļĦ æĹ¶éĹ´", + "å®¶ éķ¿", + "ä¸Ģ个 人", + "æ£Ģ æµĭ", + "åĨħ éĥ¨", + "广 å·ŀ", + "缴 æĴŃ", + "ä»İ èĢĮ", + "è´· 款", + "åı¬ å¼Ģ", + "æĶ¹ éĢł", + "人 çĶŁ", + "å±ķ 示", + "æ¯ı å¹´", + "女 人", + "çļĦ æĸ¹å¼ı", + "æķĪ çİĩ", + "å±± 举", + "æ¸ł éģĵ", + "ä¼¼ ä¹İ", + "æ¡Ī ä»¶", + "åĪ© çĽĬ", + "çľĭ çľĭ", + "å¿ĥ éĩĮ", + "ç»´ æĬ¤", + "å®Ŀ å®Ŀ", + "ç½ij ä¸Ĭ", + "论 åĿĽ", + "å°± åı¯ä»¥", + "ä¸į è¶³", + "æģ¢ å¤į", + "å¸ĥ å±Ģ", + "è´¡ çĮ®", + "ä¸ĭ éĻį", + "æİĮ æı¡", + "çļ® èĤ¤", + "å·¥ åħ·", + "éĩį åºĨ", + "åĵģ è´¨", + "æİ¨ åĩº", + "çĶ· 人", + "æī¿ æĭħ", + "çªģ åĩº", + "èĢĮ è¨Ģ", + "æ² Ł", + "åįı è°ĥ", + "æĺ¯ ä»Ģä¹Ī", + "æ± ¤", + "æĴ ij", + "çĭ¬ ç«ĭ", + "çݯ èĬĤ", + "æī© 大", + "æ´ ª", + "æĿ °", + "çĽ IJ", + "ä» ģ", + "æ¶ī åıĬ", + "èĢģ 人", + "åį³ ä½¿", + "åįĹ äº¬", + "éħį åIJĪ", + "é¬ ¼", + "çζ 亲", + "ç½Ĺ æĸ¯", + "å°ı åĮº", + "æķĻ æİĪ", + "åĨ³ çŃĸ", + "é¢Ħ 计", + "æľ¬ 人", + "ä¼ ¯", + "ç« ¹", + "åΰ åºķ", + "å¸Ĥ æ°ij", + "åĩº åı£", + "éĩĩ è´Ń", + "æĢ» ç»ĵ", + "æŃ¦ æ±ī", + "åĬł 大", + "广 举", + "æµģ ç¨ĭ", + "人 åı£", + "å¦Ĥæŀľ ä½ł", + "åĩº åİ»", + "åĩ ī", + "åĨľ æ°ij", + "çݰ 象", + "åĬĽ 度", + "ç»Ļ äºĪ", + "åħļ å§Ķ", + "è¯Ń è¨Ģ", + "线 ä¸Ĭ", + "æĢİ æł·", + "åĦ¿ åŃIJ", + "ç¡® å®ŀ", + "ä¹ĭ å¤ĸ", + "éĥ½ åľ¨", + "èī ¾", + "çļĦ æĥħåĨµ", + "éĩĮ çļĦ", + "åĽ´ ç»ķ", + "æĽ´å¤ļ çļĦ", + "ä¾Ŀ æ³ķ", + "åħ¬ åĽŃ", + "å®¶ éĩĮ", + "æ¯į 亲", + "ä¸į åĨį", + "èĭ ¹", + "æ³ķ éĻ¢", + "飩 åĽ½", + "缸 å½ĵ", + "ä¸į çŁ¥", + "è¯Ħ ä¼°", + "ä¸į ç͍", + "顺 åĪ©", + "éĩį è§Ĩ", + "è´¢ åĬ¡", + "ä»ĸ åĢij", + "åıij è¡Į", + "ä¸ĵ éŨ", + "åħ· å¤ĩ", + "å¹¶ ä¸įæĺ¯", + "è¶³ çIJĥ", + "é ŀĭ", + "åıij 表", + "æ°¸ è¿ľ", + "èIJ¥ åħ»", + "éħį å¥Ĺ", + "æķ´ åIJĪ", + "è´ º", + "åĽŀ çŃĶ", + "æĶ¶ çĽĬ", + "ä¹Ł 许", + "è» Ĭ", + "æİ¥ 触", + "æĶ» åĩ»", + "åĽĽ å·Ŀ", + "æĢ§ èĥ½", + "åĽŀ åΰ", + "èħ °", + "ä¹Ł 没æľī", + "å¼ Ħ", + "设 ç«ĭ", + "éĺ² æİ§", + "æĬĢ å·§", + "éĢļ 常", + "è´¢ æĶ¿", + "éĥ¨ ç½²", + "åľº æĻ¯", + "æ±Ł èĭı", + "表 è¾¾", + "åĸ ·", + "女 åĦ¿", + "èĪ ¶", + "çµ ¦", + "ä¼ļ åijĺ", + "æĪĸ 许", + "äº ©", + "举 æĸ¹", + "天 æ´¥", + "è¿ij å¹´", + "çľĭ æĿ¥", + "æ¯Ķ ä¾ĭ", + "å² ©", + "éĵ ľ", + "çİ »", + "å®ŀ éªĮ", + "æĢĿ ç»´", + "æĭħ å¿ĥ", + "æ² Ī", + "身 è¾¹", + "æ·± åĮĸ", + "ç²¾ åĩĨ", + "ç§ģ æľį", + "æ¶Ī éĺ²", + "åİ» äºĨ", + "ç»Ĩ èĥŀ", + "çIJĥ éĺŁ", + "æĺİ æĺŁ", + "é£Ł çī©", + "å¾Ī å¿«", + "让 ä½ł", + "ä¿¡ ç͍", + "å͝ ä¸Ģ", + "åħ¶ å®ĥ", + "çŃī æĸ¹éĿ¢", + "å¾ĭ å¸Ī", + "æŃ» 亡", + "æ Ł³", + "ä¸Ģ æī¹", + "ä¸Ĭ 涨", + "æľº åľº", + "å½¢ åĬ¿", + "æĦ¿ æĦı", + "éĽĨ ä½ĵ", + "æĸ° åŀĭ", + "æį٠失", + "æĽ ¸", + "ä¸ĭ åįĪ", + "æ¯ı 次", + "æĪIJ å°±", + "åħ¬ è·¯", + "èĻ «", + "åĴ ±", + "西 å®ī", + "æľĢ ä½³", + "ç§ij çłĶ", + "å¤į æĿĤ", + "æľº åύ", + "çα æĥħ", + "çħ§ çīĩ", + "å¹´ é¾Ħ", + "è³ĩ æĸĻ", + "ç² Ĺ", + "åĩĨ ç¡®", + "åĬł ä¸Ĭ", + "åĩº çīĪ", + "è° IJ", + "å®¶ å±ħ", + "èĥĮ æĻ¯", + "ä¸Ģ 线", + "äºĭ 项", + "åĬ¨ ä½ľ", + "ç¥ ¥", + "æĢ» ä½ĵ", + "æĪ¿ åŃIJ", + "ä¹Ł å°±æĺ¯", + "大 æ¦Ĥ", + "é«ĺ æķĪ", + "åIJ ¹", + "æİ ĪæĿĥ", + "éĻĦ è¿ij", + "æ¡Ī ä¾ĭ", + "éĹ ¹", + "çΏ çΏ", + "彩 票", + "æĢ Ĵ", + "举 æĬ¥", + "æĻ® éģį", + "çķĻ ä¸ĭ", + "è¡£ æľį", + "æĹłè®º æĺ¯", + "åħħ 满", + "æ·± 度", + "æ¡ ij", + "æĪª èĩ³", + "带æĿ¥ çļĦ", + "éĻ µ", + "æĦŁ æĥħ", + "èµ ļ", + "åĵª äºĽ", + "æķ´ æĶ¹", + "æĪIJ çĨŁ", + "å¨ ľ", + "é¼ »", + "çŁ Ľ", + "çĽ ¾", + "好 好", + "第 åĽĽ", + "åĨł åĨĽ", + "è´¢ å¯Į", + "æľĢ 好çļĦ", + "车 åŀĭ", + "éĸ Ģ", + "åį³ å°Ĩ", + "åĪĨ 为", + "éĿĴ å²Ľ", + "纷 纷", + "ä»Ĭ æĹ¥", + "å¹³ è¡¡", + "å¹³æĸ¹ ç±³", + "éĤ£ ç§į", + "åĩº çĶŁ", + "éĿĴ æĺ¥", + "人 群", + "人 å·¥", + "ä¹ĭ ä¸ĭ", + "æ¹ĸ åĮĹ", + "åľ¨ æŃ¤", + "åįļ 士", + "æĹ¶ åĪ»", + "æ²³ åĮĹ", + "æĶ¾ å¼ĥ", + "éĢļ éģĵ", + "森 æŀĹ", + "çĸ Ĩ", + "æķ ¸", + "èĬ ³", + "æīĵ åĩ»", + "æĽ ¹", + "åĮĸ åѦ", + "æĥ³ 象", + "ä¸ĩ 人", + "è´¢ ç»ı", + "åħĥ ç´ł", + "ä¼ļ 计", + "åħ¨ ä½ĵ", + "æĦ Ľ", + "é«ĺ ä¸Ń", + "æľº éģĩ", + "声 éŁ³", + "æĹħ è¡Į", + "æµ ©", + "æŁ ±", + "å°ij å¹´", + "åĽ½ å¤ĸ", + "èijĹ åIJį", + "çĶŁ åŃĺ", + "å§ ľ", + "带 é¢Ĩ", + "é¢ľ èī²", + "ä¸Ĭ ä¸ĭ", + "产ä¸ļ éĵ¾", + "æĽ´ 好çļĦ", + "å² Ń", + "ä¼ĺ æĥł", + "便 æĺ¯", + "åħ§ 容", + "ä¸Ģ åıª", + "çIJ ´", + "梦 æĥ³", + "ç§Ł èµģ", + "å¼Ģ åIJ¯", + "è´Ń çī©", + "åĮħ åIJ«", + "åĪ© çİĩ", + "èµ· äºĨ", + "æľī åĬĽ", + "éĤ£ éĩĮ", + "审 æī¹", + "对 æīĭ", + "çݰ éĩij", + "天 çĦ¶", + "çĽ Ĵ", + "çĪ ½", + "å¿ħ çĦ¶", + "åĮĸ å·¥", + "ä¸ĵ åĪ©", + "åķ ¡", + "å¼Ģ å¿ĥ", + "人 ä½ĵ", + "éģĵ 士", + "æĢģ 度", + "空 è°ĥ", + "æĭĽ åķĨ", + "å§ »", + "第 äºĶ", + "æ£ Ĵ", + "ä¸Ģ ç³»åĪĹ", + "åį± æľº", + "转 åıĺ", + "åľº æīĢ", + "é¸ £", + "æĪ¿ éĹ´", + "éĢ ¼", + "è¯ķ çĤ¹", + "对 å¤ĸ", + "åĩº åı°", + "åľ¨ è¿Ļ", + "åİĤ å®¶", + "å·¨ 大", + "ç®Ģ ä»ĭ", + "çľĭ äºĨ", + "åħļ 建", + "æĮĩ æĮ¥", + "çŁ³ æ²¹", + "ä¸į åı¯èĥ½", + "èİ ²", + "ä¸į 太", + "åĪĽ æĦı", + "第 ä¸Ģ个", + "è´µ å·ŀ", + "è¿ĩ äºĨ", + "æľ¬ æĿ¥", + "éģĵ å¾·", + "çŃĶ æ¡Ī", + "éĻ ¶", + "ä¸Ģ è·¯", + "èĤ ĸ", + "æ¸ħ æ´ģ", + "æľī æľº", + "åIJį åįķ", + "æĿ ±", + "åij¼ åIJ¸", + "ä¸ Ī", + "ç¦ı 建", + "è¯ķ éªĮ", + "å¼ķ åıij", + "ä¹Ł 没", + "ä¸į ä½ı", + "çĨŁ æĤī", + "èIJ ¬", + "ä¸į èī¯", + "çł ĸ", + "èĩ´ åĬĽ", + "çѾ 订", + "åIJ Ĭ", + "ä¾ ¯", + "çĺ ¦", + "å§ij å¨ĺ", + "æĸ ¤", + "妻 åŃIJ", + "æĺ¥ èĬĤ", + "çĪ ¬", + "æĽ Ŀ", + "çĥŃ æĥħ", + "éķ¿ æ²Ļ", + "èIJ¥ éĢł", + "éħ ·", + "éĵ Ŀ", + "åŁºæľ¬ ä¸Ĭ", + "åij¨ åĽ´", + "ä»Ģ 麼", + "认 åı¯", + "åĪĨ åŃIJ", + "ä¸Ģ æĸ¹éĿ¢", + "è½ ´", + "å¼ ·", + "马 ä¸Ĭ", + "éĽ ¾", + "èĩ £", + "å° ¿", + "çĶŁ æĦı", + "å®ī å¾½", + "ç¥ŀ ç»ı", + "åĩº å¸Ń", + "èᝠåĵģ", + "çIJĨ çͱ", + "åįı åIJĮ", + "æµģ åĬ¨", + "åıij åĬ¨", + "åĿļ å®ļ", + "表 æĺİ", + "åIJİ éĿ¢", + "ä¹ī åĬ¡", + "å¦ ĸ", + "æľī åı¯èĥ½", + "å¹´è½» 人", + "大 éĻĨ", + "å² ³", + "ä¸į èµ·", + "çŀ¬ éĹ´", + "ä¸įå¾Ĺ ä¸į", + "çѾ 约", + "åIJĪ æł¼", + "åħļ æĶ¯éĥ¨", + "æµİ åįĹ", + "便 åĪ©", + "éļı æĹ¶", + "å¥ ī", + "ç§° 为", + "产 æĿĥ", + "åIJ ķ", + "çĽ Ĩ", + "课 åłĤ", + "ç· ļ", + "æ£ ī", + "线 ä¸ĭ", + "èĩª è¡Į", + "举 æİª", + "åݦ éŨ", + "èĩª ä¿¡", + "å½± è§Ĩ", + "ä» Ķ", + "çĶŁæ´» ä¸Ń", + "æĿĥ çĽĬ", + "çϽ èī²", + "å°± ä¸į", + "è¿Ľ å±ķ", + "æ¯ı æĹ¥", + "ä¾Ľ ç»Ļ", + "æĿĥ åĪ©", + "æĹł æķ°", + "çIJĨ è´¢", + "ä¾Ŀ æĹ§", + "ä¸Ĭ åįĪ", + "è¯Ĩ åĪ«", + "çĽĪ åĪ©", + "çł Ĥ", + "许 åı¯", + "åIJĮ äºĭ", + "åĺ Ľ", + "éģ ¸", + "çĿĢ åĬĽ", + "éŨ åı£", + "ä¸į å¤ļ", + "åħ¶ 次", + "ç¢ §", + "çī© çIJĨ", + "åĨħ å¿ĥ", + "çϾ å§ĵ", + "æĢ» 绣", + "å¹² åĩĢ", + "积 ç´¯", + "åıį é¦Ī", + "æłij ç«ĭ", + "社 交", + "ç§ ©", + "åįģ ä¸Ģ", + "éĤ ĵ", + "驱 åĬ¨", + "å±ķ è§Ī", + "èĪĴ éĢĤ", + "åŁº åĽł", + "å·® å¼Ĥ", + "转 让", + "å°ı å§IJ", + "æł· åŃIJ", + "ç¿ Ķ", + "é«ĺ åħ´", + "å½±åĵį åĬĽ", + "æīĭ ç»Ń", + "缸 åIJĮ", + "缸 åºĶ", + "æĻ Ĵ", + "è§ Ģ", + "å¸Ĥ å§Ķ", + "èĬ ¯", + "å±ķ çݰ", + "åľ° çIJĥ", + "éĤ ª", + "ä¸Ģå®ļ çļĦ", + "åħģ 许", + "ä¿¡ ä»»", + "æī ij", + "éĻ¢ æł¡", + "ç®Ģ ç§°", + "åģļ æ³ķ", + "ä¹ĭ è·¯", + "æĹĹ ä¸ĭ", + "èħ Ķ", + "æ¶Ī 失", + "ä¸ĸçķĮ ä¸Ĭ", + "åŁİ 乡", + "èĪŀ åı°", + "å¾Ī 大çļĦ", + "绣 çѹ", + "åħ¬ å¹³", + "èĤ ¾", + "çļĦ 好", + "æ± ģ", + "çľ¼ åīį", + "éĽ £", + "å¹ ½", + "åħ± 产", + "主 åĬŀ", + "å¤Ħ ç½ļ", + "åº Ļ", + "éģĵ çIJĨ", + "å¼ µ", + "æİ¥ çĿĢ", + "çĮ İ", + "çģ Į", + "çͱ æŃ¤", + "人 åĬĽ", + "æµģ è¡Į", + "ä¾ ł", + "åı¯ä»¥ 说", + "èĴ ĭ", + "å½¢ æĢģ", + "æĹ¥ åŃIJ", + "æ¼ Ĩ", + "çķĻ åѦ", + "缸 éĹľ", + "æľĢ å¤ļ", + "åĩŃ åĢŁ", + "åħ¬ 交", + "æĮĸ æİĺ", + "æĿĤ å¿Ĺ", + "主 人", + "éļľ ç¢į", + "æł¡ éķ¿", + "æĸ¹ ä½į", + "ä¸Ĭ çıŃ", + "å¤ļ åħĥ", + "è ĥģ", + "éŃħ åĬĽ", + "èĮ Ĥ", + "åħħ ç͵", + "强 大", + "çĥ ¤", + "å¥ĭ æĸĹ", + "å®ŀ ç͍", + "éĺ ģ", + "ç»Ļ äºĨ", + "æľ¬ ç§ij", + "æł ĭ", + "æĭ ¨", + "æķĻ ç»ĥ", + "éĥ½ çŁ¥éģĵ", + "æ¯ķä¸ļ çĶŁ", + "ç¢ Ĺ", + "åŀ Ĥ", + "è® ¼", + "å®ģ æ³¢", + "åѦ èĢħ", + "è°¢ è°¢", + "åŁİ éķĩ", + "æĢİä¹Ī åĬŀ", + "éģ Ķ", + "æĪIJ 交", + "æ½ľ åĬĽ", + "åį §", + "æĸ° å¼Ģ", + "éħį å¤ĩ", + "主 åĬĽ", + "åij³ éģĵ", + "çĥ Ĥ", + "é£ŀ è¡Į", + "å« ģ", + "大 大", + "ç»Ļ 大家", + "å¤ĸ éĿ¢", + "éĨ ī", + "åıij è¨Ģ", + "æĹ© é¤IJ", + "åIJĦ èĩª", + "å® Ļ", + "èᣠèªī", + "æĬ« éľ²", + "é¡ ŀ", + "åĨħ çļĦ", + "èĤ ª", + "è¾ IJ", + "æ³ µ", + "æĬ Ľ", + "æĺŁ æľŁ", + "ä¸Ģ 带", + "çĶŁ ç´ł", + "ç»ı éĶĢ", + "åĩ ¶", + "åľ° ä¸Ĭ", + "åij½ è¿IJ", + "åĵ ²", + "ä¸Ĭ åİ»", + "æĸĩ çī©", + "è¯ ij", + "æĮ¯ åħ´", + "éķ¿ æĹ¶éĹ´", + "ç¥ Ń", + "åIJĪ èĤ¥", + "è¿Ŀ è§Ħ", + "èģ ª", + "ä½İ äºİ", + "éĢĤ å½ĵ", + "æľī åºı", + "æľ¬ ç½ij", + "çķĻ è¨Ģ", + "æĥ³ æ³ķ", + "çѾ ç½²", + "å§ ļ", + "æĢ§ æł¼", + "èĴĻ åı¤", + "æŁ ı", + "åŀ «", + "åѦ åİĨ", + "ä»ħ ä»ħ", + "讲 è¯Ŀ", + "éĶ IJ", + "æĢ ĸ", + "åī ª", + "èĭ į", + "åIJ ĵ", + "强 çĥĪ", + "åģ¥ åħ¨", + "çĸ ¯", + "åı¤ 代", + "å¥ Ī", + "ä¸į çĦ¶", + "乡 éķĩ", + "æľĭåıĭ 们", + "åĤ ħ", + "èģ ½", + "个 æĢ§", + "æ³ķ è§Ħ", + "å°ı éķĩ", + "çĶ» éĿ¢", + "第 åħŃ", + "ç¶² è·¯", + "åīį æĻ¯", + "åIJ¬ 说", + "ä¼ł åªĴ", + "æĿ¡ ä¾ĭ", + "åĪ« çļĦ", + "ä¸į æĩĤ", + "顾 éĹ®", + "强 度", + "éĺ¿ éĩĮ", + "èµ° åĬ¿", + "å¸ ½", + "çļĦ ç¡®", + "åĮº åĪ«", + "éĮ ¢", + "主 管", + "ä¸Ģ çľĭ", + "æĸ ľ", + "åŃĺåľ¨ çļĦ", + "ä» ²", + "åᱠ害", + "éĵ Ń", + "游æĪı ä¸Ń", + "éħ ±", + "é¾Ļ 头", + "人 å¿ĥ", + "éĢĢ ä¼ij", + "æµı è§Ī", + "åĬ «", + "éĺ² æ²»", + "ç® Ń", + "å± Ī", + "è¾½ å®ģ", + "å£ ¤", + "è¿İ æĿ¥", + "éŀ į", + "ç͍ æĿ¥", + "大 åľ°", + "ä» °", + "éĢļ 讯", + "å¼Ģ å·¥", + "è£ ¤", + "å¦Ĥ åIJĮ", + "éª ¤", + "éĺŁ åijĺ", + "è½ ©", + "ç¾İ æľ¯", + "èĻ Ł", + "åIJĮ ä¸Ģ", + "åľ ĸ", + "书 æ³ķ", + "æīĵ åį°", + "åIJ« æľī", + "éĽĨ æĪIJ", + "éĹ ·", + "å¸Ĥåľº ä¸Ĭ", + "æĹģ è¾¹", + "åľ° æĿ¿", + "产çĶŁ çļĦ", + "ç² ¤", + "éĩį ç»Ħ", + "è¡Ģ æ¶²", + "çŃ ĭ", + "åĬŀ äºĭ", + "常è§ģ çļĦ", + "ä¸Ĭ åįĬå¹´", + "å±ı å¹ķ", + "åIJī æŀĹ", + "å· ©", + "åĸľ çα", + "ç¿ ł", + "ä¸ī ç§į", + "æ¡Ĩ æŀ¶", + "举 èİŀ", + "çĶĺ èĤĥ", + "èĬ ¬", + "åĽ¾ 书", + "åĩ¤ åĩ°", + "æ°Ķ åĢĻ", + "å° ´", + "å° ¬", + "两 天", + "è¾ħ 导", + "åĢŁ 款", + "æĹ¥ èµ·", + "æ´ Ĵ", + "ä¸Ģ 度", + "è¹ Ī", + "æ½ Ń", + "æī ĩ", + "çĻ ľ", + "æĸ° åħ´", + "åĤ ²", + "诸 å¤ļ", + "è´ ª", + "éĻ· åħ¥", + "èĪ Ł", + "èĤº çĤİ", + "ä¸Ģ æł·çļĦ", + "åİ ĺ", + "åľ° çIJĨ", + "æĬķ æ³¨", + "éļ Ĭ", + "åħī ä¼ı", + "ä¿Ŀ åģ¥", + "åħ Ķ", + "åħ¬ åĬ¡", + "æīĵ çł´", + "çĶ· åŃ©", + "åĬ³ åĬ¡", + "ä½ł ä¼ļ", + "ç͍ åľ°", + "æº ¢", + "åıij è¾¾", + "èĤ ļ", + "è¿ĩ äºİ", + "èĩ Ĥ", + "éĢĻ æ¨£", + "è½» è½»", + "ä¸Ń åħ±", + "åIJĦ åĽ½", + "åĶ ĩ", + "å®ŀ ä¹ł", + "èĻ ¾", + "æ§ ½", + "ä¸į ä¸Ĭ", + "åħį çĸ«", + "åįł æį®", + "å·¥ ä¼ļ", + "åĽ Ĭ", + "èĪª 天", + "åı¯ çα", + "æĸĹ äºī", + "çĺ ¤", + "å¦Ĥ æľī", + "éĽ ĸ", + "对 æĪij", + "åĩº ç§Ł", + "好 çľĭ", + "太 大", + "æ°´ åĪ©", + "åĬ¿ åĬĽ", + "åħ¨ æ°ij", + "ç½ ¢", + "èµ¢ å¾Ĺ", + "ç͵ ä¿¡", + "车 éĹ´", + "æĻĤ åĢĻ", + "å°ij æķ°", + "éĵ ¸", + "åħ³ èģĶ", + "ä¸įä»ħ ä»ħ", + "为 æĤ¨", + "åĴ ¸", + "æľº åĬ¨", + "è£ Ļ", + "åĵį åºĶ", + "éģ ł", + "è² ·", + "ç© ´", + "å¢ ħ", + "éĶ ¡", + "çµ Ħ", + "çģ« è½¦", + "è³ĩ è¨Ĭ", + "åĨ³ èµĽ", + "污 æ°´", + "èª ŀ", + "å´ Ľ", + "ç´§ å¯Ĩ", + "缺 å°ij", + "å¤ļ 人", + "æĢ» 书记", + "éĶ Ī", + "èij Ľ", + "å¿ĺ è®°", + "éĻĮ çĶŁ", + "éķ¿ å¤§", + "åħĪè¿Ľ çļĦ", + "ç¡ ħ", + "åıij æĺİ", + "å©´ åĦ¿", + "æīİ å®ŀ", + "èĽĭ çϽ", + "ä¸Ģ çϾ", + "缮 åħī", + "æ ħĮ", + "åĬł æ²¹", + "åIJ ŀ", + "ä¸Ģ 群", + "ä¸Ń ä»ĭ", + "å¸ ĸ", + "å¿ Į", + "èģĮ èĥ½", + "广 æĴŃ", + "çĽij å¯Ł", + "ç§ĺ å¯Ĩ", + "çĭ ®", + "è¿Ļ æĿ¡", + "éĢ ¢", + "æĢ ¨", + "åįģ åħŃ", + "è© ¦", + "说 åΰ", + "åĩĿ èģļ", + "æĮĩ 示", + "æ° ¢", + "å¼ ĺ", + "éĺ Ģ", + "æĸ ©", + "éł ħ", + "ä¸Ģ å¼Ģå§ĭ", + "æİĴ è¡Į", + "åľ¨ æĪij", + "纪 å½ķ", + "æĬ Ħ", + "æł ª", + "说 æ³ķ", + "ä¸Ń èį¯", + "好 å¤ļ", + "åıª ä¸įè¿ĩ", + "çķĻ åľ¨", + "个 å°ıæĹ¶", + "认 çŁ¥", + "çķ «", + "è§ģ è¿ĩ", + "å°ı å¾®", + "ä½Ľ å±±", + "çľ ¾", + "讲 è¿°", + "æ¢ ³", + "ç§° åı·", + "æĹ¥ æĻļ", + "è¢ ĸ", + "åķ ¤", + "æľª ç»ı", + "æľĢ æĹ©", + "æī® æ¼Ķ", + "è¡Ģ 管", + "çº ±", + "æĥħ èĬĤ", + "第 ä¸ĥ", + "æį §", + "ä» Ĺ", + "æ¿Ģ çĥĪ", + "æĹł 线", + "ä¸į 容æĺĵ", + "å¼Ģ å¹ķ", + "æĸ° çĶŁ", + "ä¸ĵ 注", + "èij ±", + "åįĹ æµ·", + "çĩ Ł", + "èµ· ä¾Ĩ", + "æ´¾ åĩº", + "åĦ Ĵ", + "ä¾ ¨", + "è¼ ĥ", + "åįļ è§Ī", + "éĢ ¾", + "åĮ Ģ", + "ç»ıæµİ åѦ", + "æ¸ Ĺ", + "ä¿Ŀ èŃ·", + "çī º", + "çī ²", + "çİ «", + "çij °", + "æľĢåIJİ ä¸Ģ", + "æĶ¿ åĬ¡", + "æ§ Ľ", + "èĻķ çIJĨ", + "éļIJ æĤ£", + "æī¿ åĮħ", + "æ¥ µ", + "æ¡ ©", + "çĽ ²", + "导 åIJij", + "èĩ´ å¯Į", + "ç¼ Ĩ", + "æģĭ çα", + "ä¸į åĬ¨", + "ç»Ļ 人", + "å· ¢", + "表 æĥħ", + "举 åįĹ", + "åĨħ å¤ĸ", + "è¾Ī åŃIJ", + "åı ī", + "åįļ ä¼ļ", + "åĬŁ æķĪ", + "æ¸ ´", + "å± ¬", + "æİĴ éϤ", + "éĢ Ľ", + "ä¸Ģ ä¼ļ", + "ä¸į å¼Ģ", + "å¼Ģ å¥ĸ", + "é»ij é¾Ļ", + "é»ijé¾Ļ æ±Ł", + "å¿« ä¸ī", + "度 åģĩ", + "åĿ ¤", + "éĤ® ä»¶", + "æĩ Ĵ", + "ä¾Ľ ç͵", + "å» £", + "好 è¯Ħ", + "ç§ĺ书 éķ¿", + "æĪĺ åľº", + "好 å¥ĩ", + "ä¾µ æĿĥ", + "æĨ ¾", + "æľĢ åĪĿ", + "æī¹ åıij", + "åİ ķ", + "è¼ ķ", + "æŀ ¯", + "ä¸ļ åĨħ", + "è´Ń æĪ¿", + "ä¸į åľ¨", + "纪 å§Ķ", + "æīĢ éľĢ", + "å¸Ĥ éķ¿", + "è³ ½", + "å¼ķ æĵİ", + "çģµ éŃĤ", + "éĬ Ģ", + "æ» ¤", + "çĿ IJ", + "å¤ļ 项", + "åĽŀ 头", + "èī ĺ", + "å¤į å·¥", + "éĥ¨ ä»¶", + "ç´§ ç´§", + "æŁIJ ç§į", + "使 åħ¶", + "æĸ° 人", + "æŀ ļ", + "æ³ķ å®ļ", + "å·´ å·´", + "æ¶µ çĽĸ", + "ç¨ »", + "æĭ ¾", + "æĻ ķ", + "è½ ¿", + "éĢļ è¡Į", + "åĵ Ģ", + "æ³ Ĭ", + "温 馨", + "éĽĨ èģļ", + "çĨ Ļ", + "åĩ ij", + "åįģ ä¸ĥ", + "æ°Ķ æģ¯", + "æıIJä¾Ľ çļĦ", + "æ³ ³", + "奥 è¿IJ", + "çģ¾ å®³", + "åĩĢ åĮĸ", + "è·¨ è¶Ĭ", + "åĵª æĢķ", + "éŁ ¿", + "å¢ŀ æ·»", + "çĦ Ĭ", + "æ®ĭ çĸ¾", + "ç¢ Į", + "æĤ Ķ", + "è§ģ è¯ģ", + "è¾ĸ åĮº", + "å¿ĥ èĦı", + "éļ §", + "åį ¸", + "åı¯èĥ½ æĢ§", + "æľī è¶£", + "åī¯ ä¹¦è®°", + "åĮĸ å¦Ĩ", + "ä¿ Ĥ", + "æ£ ļ", + "éĨ ĩ", + "带 头", + "éł Ī", + "追 ç©¶", + "æij Ķ", + "è¿Ļ éĥ¨", + "ä¸į 论", + "ç¥ ¸", + "å ³»", + "éģ ķ", + "çĶŁ èĤ²", + "å¤ ł", + "å¤ĸ 交", + "è¯Ħ 为", + "ä»İ å°ı", + "å°ı å°ı", + "é ¥¿", + "æĴ ¼", + "è·¨ å¢ĥ", + "被 åijĬ", + "åįĹ å®ģ", + "身 å¿ĥ", + "åĨį çĶŁ", + "æīĢ è¯´", + "æĹ¶éĹ´ åĨħ", + "åĪĹ åħ¥", + "éĿĴ æµ·", + "çα 好", + "çª Ħ", + "èĪ Ī", + "è¿ĩ 渡", + "æ¿ Ł", + "éĽ Ģ", + "审 è®®", + "åĽ½ èµĦ", + "æŃ¥ ä¼IJ", + "轨 éģĵ", + "ä¿¡ 念", + "ä¸ī åĪĨ", + "çĨ ¬", + "åѵ åĮĸ", + "ç¼ ł", + "éĥ Ĭ", + "èĪĴ æľį", + "纪 æ£Ģ", + "ä¸Ģä¸ĭ åŃIJ", + "鼻 話", + "è² ł", + "éĴ ¥", + "åĮ Ļ", + "çĹ ´", + "è¶ ģ", + "ç» £", + "çĪ µ", + "è½ °", + "éª Ħ", + "å§ ¨", + "æĭ ĺ", + "çĮ ´", + "è® ¶", + "è¿Ļ 座", + "çį ¨", + "æ·ĺ æ±°", + "çĹħ ä¾ĭ", + "æ²Ļ åıij", + "è§Ĩ 为", + "头 æĿ¡", + "å¿ħè¦ģ çļĦ", + "åı¯ è°ĵ", + "è¯Ŀ 说", + "ç¯ Ħ", + "æĹ© çĤ¹", + "æŀ¢ 纽", + "ç¾ ¡", + "çα åĽ½", + "çªģ åıij", + "éĢ Ĭ", + "æ½ į", + "èᣠèĢĢ", + "èŁ ¹", + "æ¦Ĥ çİĩ", + "å¾Ī ä¹ħ", + "æĥ ķ", + "è¨ ´", + "åľĨ 满", + "çļ ±", + "åĪĨ æ³Į", + "åħħ è¶³", + "çľĭ æ³ķ", + "è¾ Ł", + "æĭ ¦", + "æĭ ©", + "对 åºĶ", + "为 æł¸å¿ĥ", + "èħ Ĭ", + "å¤ļ ä¹Ī", + "æµ ij", + "å®ı è§Ĥ", + "èĦ ĸ", + "åIJĪ èµĦ", + "çĶŁ 涯", + "å®ŀ è´¨", + "ä¼ĺ çĤ¹", + "ç͍ æ°´", + "寿 åij½", + "æ² «", + "åIJ ģ", + "è© ¹", + "åĽ½ éĺ²", + "å´ ©", + "åĿ İ", + "èĨ ı", + "ä¸Ģ è½®", + "éģĹ äº§", + "æ¹¾ åĮº", + "ç» İ", + "åįķ 纯", + "æ¾ Ħ", + "åīį åĪĹ", + "身 å½±", + "é»ĺ é»ĺ", + "æį ī", + "çĴ °", + "èı Ĭ", + "æĢ ľ", + "åħĭ æĢĿ", + "æĢ» å±Ģ", + "çĩĥ æĸĻ", + "ä¸ļ æĢģ", + "åIJĦ æł·", + "åĴ ½", + "åĩº èī²", + "åĪĿ å¿ĥ", + "åı Ľ", + "çłĶ 讨", + "è¡ «", + "åİĨ ç¨ĭ", + "ç¦ ½", + "è¶³å¤Ł çļĦ", + "èį Ĩ", + "çľĭ å¾ħ", + "è´ ©", + "åĨ³ å¿ĥ", + "è£ ¹", + "å¸Ī èĮĥ", + "åŀ Ħ", + "æĿ ł", + "åĩ ¸", + "çĬ¹ 豫", + "çĥŃ è¡Ģ", + "åIJĪ ä¼Ļ", + "éħ µ", + "èIJ½ åľ¨", + "åįł åľ°", + "è¡ ¬", + "èĵ ī", + "æĦ ¤", + "æ¸ Ĭ", + "åĪĨ æķ°", + "ç¬ij çĿĢ", + "太 å¹³", + "çĤ «", + "æİ¨ ä»ĭ", + "æĸ¯ åĿ¦", + "å½¢ 容", + "æĵ Ĭ", + "æĦŁ åħ´è¶£", + "åĨĽ 人", + "åĩĮ æĻ¨", + "对 çħ§", + "åıij çĹħ", + "å· ¾", + "èĪ ī", + "æª ¢", + "ç¬ij äºĨ", + "ç¡® è¯Ĭ", + "è´Ł åĢº", + "壮 大", + "æĪ ļ", + "äºĴ èģĶ", + "èª ²", + "èħ ¦", + "æĹ ±", + "åıĹ æ¬¢è¿İ", + "åį ī", + "éĻ¢ 士", + "æ© ¡", + "ä¸Ģ 对", + "è¾ ±", + "æ² Ĥ", + "åı² ä¸Ĭ", + "æIJ ı", + "å´ ĸ", + "代 è°¢", + "ç£ ·", + "é¡ ĺ", + "æµ ĩ", + "常 ç͍", + "åį ij", + "åĩº åĽ½", + "è¯ ł", + "稳 æŃ¥", + "ç»ı 纪", + "å¤ļ å¤ļ", + "æīĢ å¾Ĺ", + "为 主é¢ĺ", + "ä¸Ģ åĪĨ", + "æł ½", + "é¡ §", + "çº ²", + "åĥ ħ", + "å£ ĵ", + "åĦ ª", + "ç¿ °", + "æİ Ģ", + "人 为", + "åª ³", + "æ´ ½", + "èĿ ¶", + "å¤į åħ´", + "ä¼ļ å½±åĵį", + "åIJĦ çķĮ", + "éĤ£ ä¸Ģ", + "é¢ ¤", + "çĢ ı", + "çĢı 覽", + "å¯ ŀ", + "åı¯ æĢķ", + "åį³ æĹ¶", + "çķ ´", + "ä¸ĭ åįĬå¹´", + "ç¬Ķ è®°", + "éĻĦ åĬł", + "çĥŃ æ°´", + "å¥ ¸", + "ç£ ħ", + "æĿ ī", + "æ¸ħ åįİ", + "éĸ ±", + "ç° ¡", + "å¤Ħ å¤Ħ", + "åIJĪ éĩij", + "æ²³ æµģ", + "ç´ °", + "è´Ł éĿ¢", + "çļĦ 羣å®ŀ", + "åύ 械", + "èĴ IJ", + "西 äºļ", + "å· ħ", + "ç² ¹", + "åİŁ æĸĩ", + "æŀ ķ", + "è¡Ģ åİĭ", + "åļ ´", + "å¸ ĺ", + "åĨ Ģ", + "æĮ «", + "ç͵ è·¯", + "å°ı ä¼Ļä¼´", + "èĿ ´", + "æľĢ å¿«", + "æĭ Į", + "å® ª", + "æĸ ·", + "ç¿ ħ", + "åĴ ³", + "åĹ ½", + "ç¾ ŀ", + "躺 åľ¨", + "èµĽ 车", + "æ² IJ", + "éĻIJ 度", + "为 ä¸Ģä½ĵ", + "èĴ ľ", + "å¹ «", + "æIJ ħ", + "åĭ ĭ", + "åī ĸ", + "纳 ç¨İ", + "éķ¿ æķĪ", + "ç½ ķ", + "åī¯ æľ¬", + "ç© į", + "éĴ ©", + "ç¹ ¼", + "åĽ½ åľŁ", + "è¼ ī", + "ä¸į å¿ĺ", + "èѦ 示", + "çģ ¿", + "å¿ĥ å¾Ĺ", + "æĦ ļ", + "忽 çķ¥", + "åĽŀ äºĭ", + "åįł æľī", + "æ· Ħ", + "çī ¡", + "çĽij äºĭ", + "ç¿ ¡", + "éĴĪ对 æĢ§", + "çª ĥ", + "è£ ½", + "èĨ Ŀ", + "ç³ Ł", + "港 æ¾³", + "太 太", + "æ¾ ¡", + "ç»Ĩ åĮĸ", + "åĶ® åIJİ", + "å®ŀåľ¨ æĺ¯", + "ç« £", + "çį ²", + "å̾ åIJij", + "å¼ķ ç͍", + "é¹ ħ", + "ç¬ij 容", + "ä¹IJ è¶£", + "æ°ij æĶ¿", + "éŨ æĪ·", + "å± ģ", + "è¿· 失", + "éĶ Į", + "å°ı 康", + "åĭ ī", + "æ³ ¼", + "ä¾ĭ åŃIJ", + "ä¸ī ä½į", + "å» ł", + "èĶ ĵ", + "广 éĺĶ", + "èĢ į", + "èĢģ èĻİ", + "åĭŁ éĽĨ", + "èĦļ æŃ¥", + "æĭ ¯", + "åŃĹ åı·", + "çĦ °", + "é¢ ł", + "èļ Ĥ", + "èļ ģ", + "é£ ¯", + "人 æĢ§", + "æĴ °", + "åİ ¢", + "å±Ģ éĻIJ", + "æľª æĪIJ", + "åĵª åĦ¿", + "大 åıij", + "ä¸į å®ļ", + "å¾ģ æ±Ĥ", + "éĥ µ", + "åĢº æĿĥ", + "çα ä½ł", + "èº ģ", + "ä»ħ ä¾Ľ", + "è¿ľ å¤Ħ", + "éĨ Ľ", + "åĥ µ", + "积æŀģ æĢ§", + "æİ ¡", + "åīį ä¸ī", + "äºİ ä¸Ģä½ĵ", + "çŀ Ħ", + "çĿ ģ", + "æ² ¸", + "åħ± èµ¢", + "éĢĢ å½¹", + "è´Ŀ å°Ķ", + "æİ ı", + "æĪ ²", + "è¡ į", + "éĶ Ĥ", + "ä¸ĩ ä½Ļ", + "ç§ij åĪĽ", + "æ¼Ķ åͱ", + "欧 åħĥ", + "æ·¡ æ·¡", + "éĿĴ å±±", + "èĹ Ŀ", + "ç» ½", + "令 çīĮ", + "éĽĨ 群", + "ä½ľ çī©", + "çĢ ij", + "å¤ ¯", + "ç½ij 游", + "åħ« 大", + "éª ļ", + "èª ĵ", + "ä¼ļ å±ķ", + "åħļ åı²", + "æ£Ģå¯Ł éĻ¢", + "åĸ ĺ", + "éĺ ±", + "èĢĮ åĩº", + "éĢļ 车", + "éĴ ĵ", + "æĥħ 人", + "æ¸ Ľ", + "ä¸Ń ç§ĭ", + "çĪ Ń", + "åıª åī©", + "æĺ Ķ", + "éĩİ çĶŁ", + "ç¡ «", + "èIJĿ åįľ", + "æĬµ æĬĹ", + "çĻ« çĹ«", + "éĻ Ģ", + "èĶ ļ", + "å¸ ľ", + "满 满", + "èı ±", + "éļĨ éĩį", + "æĺŁ çº§", + "æ½ ĩ", + "åħ¬ åħĥ", + "è° £", + "æ¯Ķ äºļ", + "æ¡Į åŃIJ", + "èµ £", + "è² ¼", + "æĦ¿ æľĽ", + "é¡ ½", + "æ´¾ éģ£", + "ç¥ Ľ", + "åª ļ", + "éĺ ľ", + "èij «", + "èĬ ¦", + "æ³ »", + "å¡ Į", + "çĭ Ń", + "å»ī æĶ¿", + "å¥ij æľº", + "æĹĹ èΰ", + "æĥ «", + "严 åİī", + "åıĭ æĥħ", + "å¦ Ĭ", + "å¨ ł", + "åĵª å®¶", + "èĨ ¨", + "è¶ Ł", + "æĮ ª", + "èĻ IJ", + "é łģ", + "çŀ ©", + "éº Ł", + "ç¨ £", + "èģĶ éĢļ", + "åı ®", + "çİĭ èĢħ", + "ä¸į ç¡®å®ļ", + "ç ijľ", + "è° İ", + "çī¢ è®°", + "ç¢ ¼", + "æĬ¤ èĤ¤", + "é¡ ·", + "çĦ ķ", + "åģļ 强", + "éļ± ç§ģ", + "éļ±ç§ģ æ¬Ĭ", + "åıĹ å®³", + "ä¸į çͱ", + "çĥ ¹", + "é¥ ª", + "é© ³", + "ä¼ ½", + "ä¸Ŀ 绸", + "è¥ Ħ", + "åįģ ä½Ļ", + "éº Ĺ", + "æ¬Ĭ åĪ©", + "èģ ŀ", + "åı¤ èĢģ", + "éģ ı", + "åIJĦ å¼ı", + "å°± è¡Į", + "åħ¥ å¢ĥ", + "ç ĥģ", + "èľ ĺ", + "èĽ Ľ", + "çº ¬", + "çŁ «", + "è» Ł", + "æ´Ĺ è¡£", + "æĦ §", + "é¢Ħ æ¡Ī", + "éľ Ĩ", + "æ·± åİļ", + "éĺ¿ æĭī", + "åĨĻ åŃĹ", + "åį ¦", + "éķ Ģ", + "模 æł·", + "åĤ į", + "æIJ į", + "èĸ ¯", + "åł ħ", + "åħ¬ 积", + "è¨ İ", + "ä¼ł æŁĵ", + "æ¯ ¯", + "çIJĨ å·¥", + "åĨ· éĵ¾", + "ç«ĭ æĸ¹", + "æ¢ Ń", + "åľ£ è¯ŀ", + "综 èīº", + "çİ© ç¬ij", + "æĥ³ ä¸įåΰ", + "æijĩ 头", + "æ· ¹", + "åģĩ æĹ¥", + "åĢ ĺ", + "èĢ ½", + "èİ ĵ", + "åŁ ·", + "èĩª è´¸", + "åįĬ 天", + "æª Ķ", + "æ¾İ æ¹ĥ", + "éķ ij", + "ä¸ «", + "éĩĮ ç¨ĭ", + "å¼Ģ èįĴ", + "èı ı", + "å®Ŀ è´µ", + "èŃ ¬", + "åķ Ł", + "æŁ ł", + "æª ¬", + "é© Ń", + "æ± Ľ", + "çĨĬ çĮ«", + "èķ ī", + "éļı ä¹ĭ", + "å± ij", + "è¾ĥ 强", + "èĥ ³", + "èĨ Ĭ", + "éĿĻ éĿĻ", + "åĴ ª", + "æĭĽ åij¼", + "代 è¨Ģ", + "ä¿¡ ç®±", + "è£ħ éħį", + "æĤ į", + "åįķ 车", + "èIJ İ", + "å¤ļ 彩", + "éĻ ¸", + "ä»İ 严", + "æ© Ħ", + "æ¦ Ħ", + "éĢ ®", + "éĩĮ æĸ¯", + "å§¿ æĢģ", + "太 æŀģ", + "éĩ Ŀ", + "æº ī", + "è¿ Ń", + "ç§ ¸", + "ç§ Ĩ", + "å·¥ å§Ķ", + "æ± ķ", + "èģ Ĩ", + "ä½ ¬", + "ç¼ ħ", + "çĶ ¸", + "åī¯ å±Ģéķ¿", + "éĹ º", + "èª ¤", + "è¤ IJ", + "ä¸į éĻIJ", + "èħ ķ", + "åij ķ", + "çŁ ¶", + "åĨľ å®¶", + "管 å§Ķä¼ļ", + "é¥ º", + "èĬ ľ", + "æ¾ Ī", + "è© ¢", + "å¨ģ å°¼æĸ¯", + "ä½ķ åĨµ", + "å°ı ä¼Ļ", + "奢 ä¾Ī", + "è¿Ļ ç¯ĩ", + "è¯ µ", + "竳 ç¨ĭ", + "ç´ Ģ", + "éIJ ĺ", + "éĤ ¢", + "ç³ Ļ", + "ç¼ Ģ", + "ä¹ Ĵ", + "ä¹ ĵ", + "çī¢ åĽº", + "åĿ ŀ", + "å¼ Ī", + "ä¾ĭ å¤ĸ", + "å» ³", + "è§Ħ 竳", + "èĬ Ļ", + "ç¯ ·", + "èº ¯", + "æł Ī", + "åĿļ å®ŀ", + "åŁº 建", + "çĿĢ çľ¼", + "ç· ´", + "èij ©", + "ç¼ ļ", + "æ¦ Ĩ", + "主 åĭķ", + "ç¥ Ģ", + "äºĴ éĢļ", + "å°¤ 为", + "å® Ľ", + "éª ¼", + "æ± ²", + "ä¾ ĥ", + "æĤł ä¹ħ", + "æij §", + "æĭ ĩ", + "é« ĵ", + "éº Ĵ", + "éĻ Ľ", + "æŀ ¸", + "æĿ ŀ", + "è´ ¬", + "å°ı é¾Ļ", + "åĵ ®", + "èĵ¬ åĭĥ", + "åĮ Ī", + "çķľ çī§", + "å¨ ©", + "个 å¤ļ", + "æ² ¥", + "æĺ §", + "çĦ ļ", + "æĬij éĥģ", + "çĸ ¡", + "èĺ ij", + "éģİ ç¨ĭ", + "æ© ±", + "éĿ ĵ", + "大 çIJĨ", + "é« ¦", + "åĪĨ 辨", + "æ¸ ¤", + "çĸ ¤", + "åĬ¨ èĥ½", + "å¼ł å®¶", + "ä¸ĩ åįĥ", + "æ» ¥", + "é¥ ¥", + "åºŁ å¼ĥ", + "å¸ ³", + "æ¼ ³", + "è± IJ", + "ä» ij", + "å« ī", + "å¦ Ĵ", + "çŀ Ĵ", + "è¡ ħ", + "çĭ ¸", + "å¾ģ ç¨ĭ", + "éĤ ¯", + "éĥ ¸", + "ç¥ Ī", + "ç¥ ·", + "è¶ ´", + "ç»ĵæŀĦ æĢ§", + "è§Ĩ åIJ¬", + "è¬ Ŀ", + "çĴ Ģ", + "çĴ ¨", + "åĩº å¤Ħ", + "è¯ Ģ", + "å¾ ĺ", + "å¾ Ĭ", + "çľ ¨", + "åĸ ĩ", + "åı Ń", + "åĺ ²", + "çķ ¸", + "å¹² äºĭ", + "æļ §", + "æ² Ľ", + "åĦ Ħ", + "å» ĵ", + "åİ¿ éķ¿", + "èĥ ļ", + "çIJ ¢", + "çŃ ·", + "éĩ ĭ", + "ä¾ ®", + "åIJ ©", + "åĴ IJ", + "åĮ ¿", + "æĬ¬ èµ·", + "æ³ £", + "æ¶ ¤", + "éº ½", + "æĽ Ļ", + "åī¯ éĻ¢éķ¿", + "åħļ åĴĮ", + "æķ£ åıij", + "润 æ»ij", + "åĵ º", + "æĥ ¬", + "漫 éķ¿", + "ä¸į æĩĪ", + "åŁ ł", + "åĹ ĵ", + "èĢģ çĪ·", + "è® ½", + "æĪĺ ç»ĦåIJĪ", + "æ£ ł", + "åħ¨ åŁŁ", + "èł ¢", + "è¯ ¡", + "åīį çŀ»", + "æķ Ľ", + "ä¸Ģ å°ģ", + "å¹ Ĥ", + "èİ Ĩ", + "è¯Ŀ è¯Ń", + "ç»Ĩ åĪĻ", + "å± ¿", + "åµ Į", + "éĢ į", + "åĺ ±", + "æ¸ ²", + "çĥ ¯", + "çĿ ¹", + "é¦ Ĵ", + "èħ ¥", + "æĬĹ åĩ»", + "çĿ «", + "èį Ķ", + "éļ İ", + "æ³ī æ°´", + "è¬ Ĥ", + "ç Ĥ¬", + "åĩı æİĴ", + "è¸ Ĭ", + "è ·»", + "æ· Į", + "éľ ¾", + "å¥ĩ 纳", + "å¯ Ŀ", + "æ¤ İ", + "æŁ ¬", + "æĸ¯ åŁº", + "åħ¬ ç«ĭ", + "è¨ ĵ", + "é£ Ļ", + "é© ¿", + "åĤ µ", + "èĽ Ļ", + "ç¯ĩ 竳", + "åĪĨ æĶ¯", + "ä¸Ĭ å¹´", + "çŃ Ŀ", + "ç¼ ¤", + "èĢģ æĹ§", + "åĻ ¬", + "æľ ¦", + "èĥ §", + "æ¶Ī è²»", + "æĵ Ķ", + "æ¦ ´", + "æ¿ Ĵ", + "ç³ ¯", + "æ³ ¸", + "æį Ĩ", + "ç» ļ", + "èµ İ", + "çIJ IJ", + "èµ Ĥ", + "æħ ®", + "æ² Į", + "çĦ Ļ", + "æĴŃ æĬ¥", + "æ· ĩ", + "åĪĩ åħ¥", + "çij ķ", + "çĸ µ", + "éģ ´", + "ç¨ ļ", + "ç© ©", + "èŀ ĥ", + "æ£ ķ", + "æĨ §", + "æĨ ¬", + "ä¼ º", + "æ¯ Ĺ", + "æį į", + "æĬ ī", + "ç´ Ĭ", + "å¼ Ľ", + "æĭ Ń", + "æĹı èĩªæ²»", + "åĿ ·", + "ç« ¶", + "è© ³", + "è¿Ħ ä»Ĭ", + "è° ´", + "çŀŃ è§£", + "æŁ ¿", + "é¢ Ĭ", + "ç° §", + "çĥŁ èĬ±", + "ä¾ ¥", + "çĿ ¦", + "éħ Ŀ", + "æ° ĵ", + "çIJ ī", + "å§ Ĭ", + "æ² ®", + "æħ ·", + "èľ ķ", + "çij ļ", + "éĩĩ çŁ¿", + "åł °", + "åºķ èķ´", + "èĨ ³", + "è¾ ķ", + "éŁ Ń", + "åĴ Ļ", + "ç² ½", + "åī Ķ", + "æ² ¦", + "èĤ ´", + "éķ ¶", + "æĺ ¼", + "è¾ Ĺ", + "å© ª", + "åĮ ®", + "æĸ ĵ", + "æ± ¶", + "éĥ ´", + "éł »", + "çª Ĵ", + "è¢ ±", + "åĽ ±", + "èĢ ĺ", + "è ļĮ", + "çĭ Ļ", + "çĹ ¹", + "ç¥ ī", + "æı ®", + "æ· Ĩ", + "ç£ ĭ", + "éĺ ª", + "æ «", + "ã ¸", + "Ļ ¶", + "ã ij", + "𣠲", + "ä ¢", + "ã Ń", + "𬠨", + "ð¬ Ģ", + "𬠮", + "𬠯", + "ð¬ ľ", + "𪠨", + "ð« Ĺ", + "ð¬ Ĭ", + "𬠱", + "ð¬ Ł", + "ä İ", + "ð ¡", + "ä ĥ", + "ã ł", + "ð ©", + "ð© ¾", + "𬠺", + "ð¬ Ļ", + "ãĢ Ķ", + "ãĢ ķ", + "çļĦ æĹ¶åĢĻ", + "æľīéĻIJ åħ¬åı¸", + "ä¹ĭ åIJİ", + "ä¸ļ åĬ¡", + "åķ Ĭ", + "èϽ çĦ¶", + "æĭ¥ æľī", + "äºĴ èģĶç½ij", + "éĤ£ äºĽ", + "ä½ł çļĦ", + "åĨ³ å®ļ", + "éϤ äºĨ", + "åĽ¢ éĺŁ", + "åı¯ æĺ¯", + "以 åIJİ", + "社 åĮº", + "çļĦ éĹ®é¢ĺ", + "å¹¶ ä¸Ķ", + "æķĻ å¸Ī", + "å°± ä¼ļ", + "天空 éĥ¨èIJ½", + "æľĢ ç»Ī", + "å½ĵ çĦ¶", + "ä¹Ł æľī", + "ç¡® ä¿Ŀ", + "æĥ³ è¦ģ", + "è´Ń ä¹°", + "人 çļĦ", + "åIJ ´", + "çļĦ åıijå±ķ", + "ä¸į çŁ¥éģĵ", + "软 ä»¶", + "æĪij们 çļĦ", + "çζ æ¯į", + "åī ij", + "èĢĮ æĺ¯", + "å®ī æİĴ", + "åIJİ æĿ¥", + "çļĦ åľ°æĸ¹", + "èµ µ", + "èĢĥ è¯ķ", + "çªģ çĦ¶", + "ä¸Ģå®ļ è¦ģ", + "åζ ä½ľ", + "è¯Ħ ä»·", + "åħį è´¹", + "è´¹ ç͍", + "绣 ä¸Ģ", + "çĦ¶ èĢĮ", + "è¿Ļ 次", + "éĿĴ å¹´", + "人 ç±»", + "äº ¦", + "让 人", + "è´Łè´£ 人", + "éĩĩ åıĸ", + "çļĦ äºĭæĥħ", + "ä¹Ł ä¼ļ", + "车 è¾Ĩ", + "æĽ´ æĺ¯", + "强 åĮĸ", + "æĪij åĢij", + "以 åīį", + "ä¼ĺ åĮĸ", + "å§Ķåijĺ ä¼ļ", + "åĽ° éļ¾", + "å¹´ 度", + "ä½į äºİ", + "æĮĩ åĩº", + "åĨį æ¬¡", + "åĬŀ çIJĨ", + "æ¯ı 个", + "对 æĸ¹", + "è¿Ľè¡Į äºĨ", + "æľĢ é«ĺ", + "课 ç¨ĭ", + "身 ä¸Ĭ", + "æĽ¾ ç»ı", + "åĮ» çĶŁ", + "å®ī è£ħ", + "æľ ±", + "è¿IJ è¡Į", + "åıĮ æĸ¹", + "æľĢ 大çļĦ", + "æŀĦ 建", + "è¿ŀ ç»Ń", + "çļĦ å°ı", + "她 çļĦ", + "çŃī çŃī", + "æĶ¹ åĸĦ", + "åIJĦ ç±»", + "éģĩ åΰ", + "æľī çĿĢ", + "人 çī©", + "æĢ» æĺ¯", + "è¿ħ éĢŁ", + "åζ å®ļ", + "å®ĥ 们", + "å®ĺ ç½ij", + "è¿ĺ è¦ģ", + "ç»Ī äºİ", + "æĪ¿ åľ°äº§", + "è¯ģ æĺİ", + "èĤ¡ 票", + "åºĶ å½ĵ", + "èĭ± åĽ½", + "è¿IJ ç͍", + "æľĢ æĸ°", + "享 åıĹ", + "让 æĪij", + "æĻļ ä¸Ĭ", + "å¾ ŀ", + "å°ı 说", + "å°¤åħ¶ æĺ¯", + "è®Ń ç»ĥ", + "åħ¨ å¸Ĥ", + "æĮij æĪĺ", + "æľī çĤ¹", + "带 çĿĢ", + "çļĦ ä¸ľè¥¿", + "é£İ æł¼", + "é»Ħ éĩij", + "å¼ķ 导", + "æŃ¤ å¤ĸ", + "æľĢ è¿ij", + "追 æ±Ĥ", + "强 è°ĥ", + "ä¹Ł åı¯ä»¥", + "æĦŁ åΰ", + "èĩª æĪij", + "çī¹åĪ« æĺ¯", + "æĪIJ éĥ½", + "éĢIJ æ¸IJ", + "å¿« ä¹IJ", + "ä¹ĭ ä¸Ń", + "æĬķèµĦ èĢħ", + "ä»ĸ们 çļĦ", + "æ° ı", + "å·¥ä½ľ 人åijĺ", + "äºĨ ä¸Ģ个", + "åķ ¦", + "ä¸Ģ åĢĭ", + "åŁº å±Ĥ", + "æ²Ł éĢļ", + "第ä¸Ģ 次", + "å¹¶ 没æľī", + "çļĦ å·¥ä½ľ", + "åľ¨ è¿ĻéĩĮ", + "æŀ ª", + "æĶ¯ æĴij", + "æĹ¶ å°ļ", + "æĿ¥ åΰ", + "æĶ¶ è´Ń", + "éĿ© åij½", + "æĺ¯ ä¸įæĺ¯", + "讨 论", + "ä¸ļ 绩", + "å°± èĥ½", + "ç«ĭ åį³", + "è¡Ĺ éģĵ", + "åľ¨ ä¸Ģèµ·", + "æľĪ 份", + "é«ĺ 端", + "å¾Ī éļ¾", + "ä¿Ħ ç½Ĺæĸ¯", + "æīĭ 段", + "åģļ åĩº", + "ä¼Ĺ å¤ļ", + "å®ŀ è¡Į", + "æīĵ å¼Ģ", + "游 客", + "ä¾Ŀ çĦ¶", + "å°± åĥı", + "离 å¼Ģ", + "说 éģĵ", + "æĸ° èĥ½æºIJ", + "æº ª", + "äº ķ", + "令 人", + "ä¸Ģ åľº", + "æĪij æĥ³", + "两 人", + "èĩ³ å°ij", + "çļĦ çĶŁæ´»", + "æĺ¯ 个", + "èĭ± è¯Ń", + "æ²Ĵ æľī", + "æĢĿ èĢĥ", + "éĻIJ åζ", + "åı° æ¹¾", + "ä¸Ģ æĹ¦", + "çļĦ ä¸Ģ个", + "é«ĺ 级", + "åĬŀåħ¬ 室", + "å¾· åĽ½", + "æĪij å°±", + "å®ļ ä½į", + "éĢĤ åºĶ", + "æĮĩ æłĩ", + "åħ¨ çľģ", + "ä¸Ĭ è¿°", + "å®ĥ çļĦ", + "åĽŀ å®¶", + "欧 æ´²", + "éĵģ è·¯", + "é¼ĵ åĬ±", + "çļĦ å½±åĵį", + "é«ĺ æł¡", + "天 ä¸ĭ", + "é«ĺ è´¨éĩı", + "æĿŃ å·ŀ", + "èµĦ 讯", + "æĶ¾ åľ¨", + "æľī ä¸Ģ个", + "å°± è¦ģ", + "ä¸Ĭ éĿ¢", + "è§£ éĩĬ", + "éĢIJ æŃ¥", + "å°½ 管", + "æľī ä»Ģä¹Ī", + "çļĦ äºĭ", + "çĻ» è®°", + "人æ°ij å¸ģ", + "è§Ĥ ä¼Ĺ", + "è§Ĥ å¯Ł", + "ç͵ èĦij", + "çļĦ åIJĮæĹ¶", + "ä½ľ ä¸ļ", + "宣 å¸ĥ", + "çļĦ ä½ľç͍", + "åĽŀ æĿ¥", + "éļ¾ ä»¥", + "æīĢæľī çļĦ", + "å°ı åѦ", + "æıIJ åīį", + "æ¤į çī©", + "åĩ ¯", + "ä¸Ĭ äºĨ", + "å°± åľ¨", + "åħĪ åIJİ", + "æīĭ æľ¯", + "éĥ Ń", + "éĿ¢ åīį", + "æ¯ķ 竣", + "äºĮ æĺ¯", + "红 èī²", + "éĺ³ åħī", + "èĭ¹ æŀľ", + "å¾Īå¤ļ 人", + "ç»Ļ æĪij", + "åĵ ¦", + "çľ¼ çĿĽ", + "éł Ń", + "ä¸Ģ æĺ¯", + "åıijå±ķ çļĦ", + "åıį åºĶ", + "æĪ¿ å±ĭ", + "æľŁ å¾ħ", + "ç§į æ¤į", + "æĸĩ åѦ", + "åį³ åı¯", + "é¦ĸ 次", + "èĭ± éĽĦ", + "å¤ļ 次", + "åĮħ è£ħ", + "æ²³ åįĹ", + "ä¹ĭéĹ´ çļĦ", + "ä»į çĦ¶", + "åIJ¬ åΰ", + "èij£äºĭ éķ¿", + "è§Ħ åĪĻ", + "ä¸Ģ 份", + "大 ä¼Ĺ", + "使 å¾Ĺ", + "è¿Ľ åı£", + "ä¸Ģ çīĩ", + "æĢ§ çļĦ", + "çļĦ 大", + "æĪij æĺ¯", + "äºĴ åĬ¨", + "æ° £", + "çļ Ĩ", + "åħ¬åı¸ çļĦ", + "ä¸Ģ è¾¹", + "åıĬ åħ¶", + "èī¯ å¥½çļĦ", + "æĭĵ å±ķ", + "å½ĵ å¹´", + "广 åľº", + "åģļ äºĨ", + "åŁº äºİ", + "æıIJ éĨĴ", + "åħĦ å¼Ł", + "èĢģ æĿ¿", + "è¿ij æĹ¥", + "çĬ¶ åĨµ", + "注 éĩį", + "åĪļ åĪļ", + "è°ĥ çłĶ", + "å¿ĥ ä¸Ń", + "æĬĬ æı¡", + "éļı åIJİ", + "ä¸į å¤Ł", + "åĪĽ ä½ľ", + "ç«Ļ åľ¨", + "缸 äºĴ", + "çĸ«æĥħ éĺ²æİ§", + "å¹´ 代", + "带 åĬ¨", + "伤 害", + "竣 çĦ¶", + "å¼ķ è¿Ľ", + "ç´¯ 计", + "让 æĪij们", + "åĽŀ æĶ¶", + "æĬ¥ åIJį", + "åĬ© åĬĽ", + "èģĶ çĽŁ", + "çŃĸ çķ¥", + "åij¨ è¾¹", + "åĭ Ĵ", + "è¿ĺ åľ¨", + "æµģ éĩı", + "寻 æī¾", + "ç͵ åĬĽ", + "èι èζ", + "è¿ĺ èĥ½", + "æĭħ ä»»", + "çļĦæĥħåĨµ ä¸ĭ", + "çļĦ åİŁåĽł", + "缺 ä¹ı", + "çIJĥ åijĺ", + "å²ģ çļĦ", + "çĶ· åŃIJ", + "å·¥ èµĦ", + "è¿ijå¹´ æĿ¥", + "åij Ģ", + "æıIJä¾Ľ äºĨ", + "她 们", + "å®¶ åħ·", + "çĩ ķ", + "è½» æĿ¾", + "æł¡ åĽŃ", + "èĢĥ æł¸", + "åį± éĻ©", + "åħļ ç»Ħç»ĩ", + "æĢ» ç»ıçIJĨ", + "çļĦ æĸ°", + "çİ» çĴĥ", + "è¿Ļ ä½į", + "对 æŃ¤", + "å®¶ 人", + "çļĦ è¦ģæ±Ĥ", + "温 度", + "æĮĩ æķ°", + "缴 åΰ", + "æŃ¤ æĹ¶", + "æ¹ĸ åįĹ", + "éĥ½ è¦ģ", + "ä½ľ åĩº", + "åIJĦ ä½į", + "èĢĥ çĶŁ", + "ä¾Ŀ æį®", + "说 è¯Ŀ", + "æĪij ä¹Ł", + "å·¥ åİĤ", + "åıĺ æĪIJ", + "ä»ĸ 人", + "æĪij è§īå¾Ĺ", + "åIJĦ 级", + "ä¼łå¥ĩ ç§ģæľį", + "ä¸Ĭ åįĩ", + "好 åĥı", + "åĬł éĢŁ", + "äºĮ åįģ", + "è¢ ģ", + "è£ħ 饰", + "éĥ½ èĥ½", + "ä¸Ģ å¼ł", + "åĬ¨ æĢģ", + "å¹´ çļĦ", + "è¿Ļ å°±æĺ¯", + "ä¹Ł è¦ģ", + "èµĦ æł¼", + "æĪĺ äºī", + "æĦŁ è°¢", + "åŁ¹ èĤ²", + "天 æ°Ķ", + "女 士", + "åı¯èĥ½ ä¼ļ", + "çļĦ 产åĵģ", + "ä¹Ł å°±", + "主è¦ģ æĺ¯", + "åĪº æ¿Ģ", + "ç»Ļ ä½ł", + "大 æķ°æį®", + "åĮ» åѦ", + "åĪ ¤æĸŃ", + "ä»ĸ 说", + "表 æ¼Ķ", + "äºļ æ´²", + "ä¸ĵ é¢ĺ", + "ç«ŀäºī åĬĽ", + "éĤ£ æł·", + "å±ķ å¼Ģ", + "å¹³ æĹ¶", + "æİ¥ ä¸ĭæĿ¥", + "æī¿ 诺", + "æ³ķ åĽ½", + "åħ³ å¿ĥ", + "ä¼ļ æľī", + "éĤĢ è¯·", + "é¢Ħ éĺ²", + "对 æİ¥", + "好 äºĨ", + "åĴ± 们", + "çļĦ æĦŁè§ī", + "æĢĿ è·¯", + "éĥ½ 没æľī", + "çļĦ æĸ¹æ³ķ", + "女 åŃIJ", + "åı¸ æ³ķ", + "è¿ĺ ä¼ļ", + "è¶ĬæĿ¥è¶Ĭ å¤ļ", + "åĽł çĤº", + "æµ· åįĹ", + "人 æķ°", + "å°Ĩ ä¼ļ", + "ä¸ļ 主", + "é¤IJ 饮", + "å±ħ ä½ı", + "åıij åĩº", + "è¿ij æľŁ", + "å¼ķ é¢Ĩ", + "æľºåύ 人", + "åĩºæĿ¥ çļĦ", + "çľĭ è§ģ", + "ä¿ Ĭ", + "让 ä»ĸ", + "ä¸į æĥ³", + "å·¥ä½ľ çļĦ", + "è¡¥ åħħ", + "æµ ħ", + "çī¹ å¾ģ", + "ä¸Ĭå¸Ĥ åħ¬åı¸", + "ç¾İ é£Ł", + "广 西", + "æ¯ı ä¸Ģ个", + "èIJ½ åľ°", + "åĵģ ç§į", + "åĴĮ è°IJ", + "å½» åºķ", + "é«ĺ èĢĥ", + "æĺ¨ 天", + "åīį å¾Ģ", + "çĽij æµĭ", + "çϾ 度", + "åľ¨ ä¸ŃåĽ½", + "çļĦ éľĢæ±Ĥ", + "亿 ç¾İåħĥ", + "åѦ æľ¯", + "æĶ¶ åΰ", + "æĿ¿ åĿĹ", + "ä¸Ģ 段", + "æŀĦ æĪIJ", + "ä¼ģä¸ļ çļĦ", + "表 éĿ¢", + "æķ´ çIJĨ", + "ç»ĵ å©ļ", + "人 å®¶", + "åģľ æŃ¢", + "åѦ ç§ij", + "æĺ¾ å¾Ĺ", + "ä¼ij æģ¯", + "é¢Ħ æľŁ", + "æĪĸ æĺ¯", + "çļĦ 主è¦ģ", + "åºĶ 对", + "èµ° äºĨ", + "ä¸Ń éĹ´", + "èµ° è¿Ľ", + "åijĪ çݰ", + "æIJŃ éħį", + "é¹ ı", + "æĺ¯ åĽłä¸º", + "æĥħ 绪", + "å®ļ æľŁ", + "社ä¼ļ 主ä¹ī", + "çŃī 级", + "磼 çĽ¾", + "é£ŀ æľº", + "èĩ³ ä»Ĭ", + "æĶ¶ éĽĨ", + "çļĦ æķħäºĭ", + "åĪĩ å®ŀ", + "å®ŀçݰ äºĨ", + "å½¢ æĪIJäºĨ", + "åįĹ æĸ¹", + "ä¸Ń åѦ", + "æµ· æ´ĭ", + "åIJ¦ åĪĻ", + "æĭį æijĦ", + "大åѦ çĶŁ", + "åĩºçݰ äºĨ", + "æĦı å¤ĸ", + "ä¹Ł èĥ½", + "çļĦ èĥ½åĬĽ", + "åĿIJ åľ¨", + "åĪĻ æĺ¯", + "èĢĥ å¯Ł", + "å°Ĭ éĩį", + "éĺ² æŃ¢", + "ç´§ å¼ł", + "读 书", + "åĩº è¡Į", + "å°± æľī", + "å±¥ è¡Į", + "çݰ代 åĮĸ", + "åĽ½ åĬ¡", + "åĽ½åĬ¡ éĻ¢", + "ç»´ ä¿®", + "åİŁ åĪĽ", + "æĺ¯ æĮĩ", + "ä¼ij éĹ²", + "çĤ ®", + "æĸ° æĹ¶ä»£", + "éĢĻ åĢĭ", + "ä¸į æķ¢", + "å®Į ç¾İ", + "ç»Ĩ èĬĤ", + "éŃ ı", + "èͬ èıľ", + "é¢Ĩ导 çıŃåŃIJ", + "è¶ħ 级", + "è¡Į æĥħ", + "人工 æĻºèĥ½", + "åį° åº¦", + "åŁºç¡Ģ 设æĸ½", + "åıĪ æĺ¯", + "èᝠçī©", + "åIJ¸ æĶ¶", + "åį´ æĺ¯", + "éĥ İ", + "å¥ĸ åĬ±", + "çļĦ æľĭåıĭ", + "ä¿Ŀ çķĻ", + "è§Ħ å¾ĭ", + "æĸ° çĸĨ", + "è¿ĺ åı¯ä»¥", + "æİ¥ è¿ij", + "æŃ¤ åīį", + "æī¹ åĩĨ", + "æĢİä¹Ī æł·", + "çļĦ ä½įç½®", + "ä¸Ģ åĿĹ", + "æĭĴ ç»Ŀ", + "顾 客", + "ä¹Ł åľ¨", + "ä¸Ģ çĶŁ", + "éĥ¨ éĺŁ", + "å¹´ åīį", + "æĸ¹éĿ¢ çļĦ", + "å°Ŀ è¯ķ", + "羣æŃ£ çļĦ", + "ç¦ģ æŃ¢", + "è¿ĺ 没æľī", + "æ°ij çĶŁ", + "èµ° åIJij", + "èĦ¸ ä¸Ĭ", + "å½ĵ 天", + "éĽĨåĽ¢ åħ¬åı¸", + "çļĦä¸Ģ ç§į", + "西 æĸ¹", + "åĽŀ åºĶ", + "ä¸Ģ 声", + "常 常", + "æıIJ åΰ", + "èħ¾ 讯", + "æľį è£ħ", + "为 ä½ķ", + "äºij åįĹ", + "å°± ç®Ĺ", + "ä¼ł æī¿", + "åıį èĢĮ", + "ä¸ĩ åIJ¨", + "è´¢ 产", + "å¦Ĥ ä¸ĭ", + "æĹ¥ åīį", + "åİŁ æľ¬", + "æľĢ éĩįè¦ģçļĦ", + "认 è¯ģ", + "ä¸Ģ éģĵ", + "ä¿¡æģ¯ åĮĸ", + "å¾Ĺ åΰäºĨ", + "é̲ è¡Į", + "æĪij è¦ģ", + "éĢļ ä¿¡", + "室 åĨħ", + "èµļ éĴ±", + "æĶ¶ èĹı", + "è§£åĨ³ æĸ¹æ¡Ī", + "æĪ¿ 产", + "çĭ ¼", + "æ´» åĬĽ", + "ç»ıæµİ åıijå±ķ", + "çŃī å¾ħ", + "ä¹Ł å¾Ī", + "åĿ ij", + "å¾Ī 好çļĦ", + "éļ¾ åº¦", + "ä¸į å¦Ĥ", + "人æ°ij æĶ¿åºľ", + "åĩº åıij", + "åīį æľŁ", + "æ¼Ķ åijĺ", + "女 çĶŁ", + "èģļ çĦ¦", + "审 计", + "é¢Ħ æµĭ", + "ä¾Ŀ æīĺ", + "äºĶ å¹´", + "è¡¥ è´´", + "æ¸ħ æĻ°", + "éª Ĥ", + "çľĭ èµ·æĿ¥", + "çļĦ åŃ©åŃIJ", + "é¢ij éģĵ", + "ä½ı å®ħ", + "éĿ¢ åIJij", + "æľĢ ä½İ", + "æĹ¢ çĦ¶", + "ä¸Ģ å¥Ĺ", + "æķ° åѦ", + "群 ä½ĵ", + "åĮĹ京 å¸Ĥ", + "å±ħ çĦ¶", + "æ°Ľ åĽ´", + "éĢĶ å¾Ħ", + "çļĦ åŁºç¡Ģä¸Ĭ", + "èģĮ è´£", + "åı¯èĥ½ æĺ¯", + "åĨĽ äºĭ", + "æĪIJ æķĪ", + "åŃ©åŃIJ 们", + "计ç®Ĺ æľº", + "èµ ¤", + "产ä¸ļ åıijå±ķ", + "å·¨ 大çļĦ", + "å·¥ 人", + "çĶŁ éķ¿", + "éĥ½ åı¯ä»¥", + "çļĦ æľºä¼ļ", + "èµĦ è´¨", + "çĹĽ èĭ¦", + "ç²ī ä¸Ŀ", + "å¢ ĵ", + "å¹³ å®ī", + "管 éģĵ", + "è·Ł çĿĢ", + "饮 é£Ł", + "åķĨ å®¶", + "å¤ļ å®¶", + "åı¸ æľº", + "åºĶ该 æĺ¯", + "éĢı éľ²", + "认 å®ļ", + "è¡Įä¸ļ çļĦ", + "çļĦ ä¼ģä¸ļ", + "æ¯ı ä¸Ģ", + "èĮĥåĽ´ åĨħ", + "è¾ĥ 大", + "è´ ¤", + "大 èµĽ", + "å¤ļ äºĨ", + "é¸ ¿", + "临 åºĬ", + "åľ¨ è¿Ļ个", + "çļĦ åĨħ容", + "éĶĢ éĩı", + "å¾Ī å°ij", + "åŃ Ł", + "ç»´ æĮģ", + "åĴĸ åķ¡", + "æľ¬ åľ°", + "èī² å½©", + "å¹¶ éĿŀ", + "èĢĮ å·²", + "温 æļĸ", + "èIJ §", + "æĬĵ ä½ı", + "èĢĮ ä¸įæĺ¯", + "åĸ Ĭ", + "çļĦ åħ³ç³»", + "çī© åĵģ", + "éĤ£ æĺ¯", + "åĨľ 产åĵģ", + "è¿Ļ æĹ¶", + "å©ļ å§»", + "æ°´ æŀľ", + "æĶ¶ èİ·", + "ä»ĺ åĩº", + "客æĪ· 端", + "æ¼Ķ åĩº", + "åħ¨ æĸ°", + "è¿Ļ ä¹Łæĺ¯", + "æĺ¯ çͱ", + "è§Ĥ 念", + "æľī 个", + "éĢł åŀĭ", + "èĥľ åĪ©", + "ä¸ī æĺ¯", + "è¶ħ å¸Ĥ", + "åħļ建 å·¥ä½ľ", + "æĶ¾ å¿ĥ", + "线 è·¯", + "æĭĽ çĶŁ", + "åIJĥ é¥Ń", + "è½ ī", + "å°½ éĩı", + "è§ģ åΰ", + "åIJĮæ¯Ķ å¢ŀéķ¿", + "åįİ ä¸º", + "æĪij å¸Ĥ", + "æıIJ åĩºäºĨ", + "æ°ij èѦ", + "åįļ çī©", + "åįļçī© é¦Ĩ", + "è¯ļ ä¿¡", + "åīį éĿ¢", + "å±± 西", + "è¾ħ åĬ©", + "转 ç§»", + "æĽ´ 为", + "丰å¯Į çļĦ", + "åį ¢", + "å¿« éĢĴ", + "æĺ¾ èijĹ", + "çī© èµĦ", + "åΰ è¾¾", + "æľī åĪ©äºİ", + "åij Ĩ", + "åŃ©åŃIJ çļĦ", + "ä¸į ä½Ĩ", + "çłĶç©¶ éĻ¢", + "çͳ æĬ¥", + "æļ ¨", + "æ°ij éĹ´", + "åį »", + "çļĦ å£°éŁ³", + "å¸Ĥåľº çļĦ", + "ä¸Ģ åı¥", + "çľģ 级", + "æĿ¥ çļĦ", + "åĵª 个", + "æīį ä¼ļ", + "åĪĨ éħį", + "èĶ ¡", + "ä»ĸ åľ¨", + "åħ± æľī", + "å¡ ĺ", + "èĴ Ĥ", + "éľ į", + "åıĤ è§Ĥ", + "ä¸Ī 夫", + "ä¾Ŀ éĿł", + "æľī æĹ¶", + "äºĨ å¾Īå¤ļ", + "ä¸ĸçķĮ æĿ¯", + "å®¶ æĹı", + "ä¸į éľĢè¦ģ", + "大 å¸Ī", + "èŀį åħ¥", + "éĿŀ æ³ķ", + "çĹħ 人", + "åIJİ æľŁ", + "大家 éĥ½", + "ç½ij åĿĢ", + "åİŁ æĸĻ", + "便 å®ľ", + "æ¶ Ľ", + "仿 ä½Ľ", + "å·® è·Ŀ", + "åı¦ä¸Ģ æĸ¹éĿ¢", + "产åĵģ çļĦ", + "èµ «", + "æĥħåĨµ ä¸ĭ", + "éĴ¢ éĵģ", + "æľ¬ ç«Ļ", + "纳 åħ¥", + "å·² æľī", + "æľī 没æľī", + "ä¼° 计", + "é£ ĺ", + "æľŁ è´§", + "åĢĭ人 è³ĩæĸĻ", + "ä¸ĵä¸ļ çļĦ", + "çĪĨ åıij", + "èĩ´åĬĽ äºİ", + "çİ°åľ¨ çļĦ", + "æľī åĵªäºĽ", + "çł´ åĿı", + "æķ°åŃĹ åĮĸ", + "åľ° éĿ¢", + "é»ij èī²", + "å¹¼åĦ¿ åĽŃ", + "çļĦ ç²¾ç¥ŀ", + "äº Ń", + "导 æ¼Ķ", + "çݰ æľī", + "æŃ¦ åύ", + "èĭı å·ŀ", + "çİ Ħ", + "æ±Ł 西", + "å»¶ 伸", + "论 æĸĩ", + "è¾ĥ 为", + "çİ© æ³ķ", + "é¼ İ", + "åIJĮ æŃ¥", + "éĩĬ æĶ¾", + "æĽĿ åħī", + "åĿļ åĨ³", + "å§Ķ æīĺ", + "å°Ĩ åľ¨", + "äºĪ 以", + "ä½ľ æĸĩ", + "èĢĮ åľ¨", + "ä¼ĺ åħĪ", + "åĽŀ åİ»", + "ä¿® å¤į", + "åĽ½åĨħ å¤ĸ", + "çŃĸ åĪĴ", + "åıij æĶ¾", + "å¿ĥ æĥħ", + "çļĦ åİĨåı²", + "éĿ¢ è¯ķ", + "举 åĮĹ", + "ä¿¡ åı·", + "ç²® é£Ł", + "è¯ģ 书", + "æŁIJ äºĽ", + "è¿IJ ä½ľ", + "åĨ² åĩ»", + "çĥŃ çĤ¹", + "æĹ¶ æĹ¶", + "æĹ¶æĹ¶ 彩", + "åľ° çĤ¹", + "ä¸Ģä½ĵ åĮĸ", + "éļ¾ é¢ĺ", + "æĽ °", + "ç«ĭ åĪ»", + "æĺ¯ éĿŀ常", + "åħ± åĴĮ", + "åħ±åĴĮ åĽ½", + "æ¿Ģ åĬ±", + "æľīæķĪ çļĦ", + "å¤Ħ ç½®", + "该 åħ¬åı¸", + "æ£Ģ éªĮ", + "èѦ æĸ¹", + "è´ ¾", + "äºĨä¸Ģ ä¸ĭ", + "ä»Ĭ åIJİ", + "çħ ®", + "ç͍ åĵģ", + "读 èĢħ", + "æĪij åľ¨", + "åĽŀ å¤į", + "ä¸Ģ 座", + "è¿ĺ 没", + "å®ļ åζ", + "没 æĥ³åΰ", + "å¤ ¹", + "ä¼ł éĢĴ", + "ä¸Ģ 款", + "强 大çļĦ", + "çļĦ è¡Į为", + "å¤ı 天", + "åıijåĬ¨ æľº", + "é¢ĨåŁŁ çļĦ", + "å®ŀéªĮ 室", + "ä¸Ģ æĬĬ", + "æĺ¯ 为äºĨ", + "éĻķ 西", + "æĭħ ä¿Ŀ", + "è¾¾ æĪIJ", + "è¦ģ æĺ¯", + "æĺİ å¤©", + "ç»Ļ ä»ĸ", + "建ç«ĭ äºĨ", + "ä¸į è¡Į", + "ä¸Ń æĸĩ", + "åľ° 说", + "åIJİ çļĦ", + "çĽij æİ§", + "éĢ ¸", + "æĢ» éĥ¨", + "æľ¬ æĸĩ", + "é¹ ¿", + "æĻ¯ è§Ĥ", + "çļĦ 缮æłĩ", + "èĽ ĩ", + "åĨ ¯", + "ä¸Ń åĮ»", + "æķĪ åºĶ", + "产 éĩı", + "åŃ Ŀ", + "è´¦ æĪ·", + "è¿Ŀ åıį", + "èij£äºĭ ä¼ļ", + "京 举", + "责任 ç¼ĸè¾ij", + "åķı é¡Į", + "çα å¿ĥ", + "èѦ å¯Ł", + "é¤IJ åİħ", + "å¸Ĥ æĶ¿åºľ", + "天 天", + "æĸ° é²ľ", + "éĥij å·ŀ", + "è¶ħ è¶Ĭ", + "å½ Ń", + "çŁ¥è¯Ĩ 产æĿĥ", + "åĽŀ å¿Ĩ", + "è·¯ 线", + "å»ī æ´ģ", + "éĿĴ å°ijå¹´", + "åıĸå¾Ĺ äºĨ", + "çľĭ åΰäºĨ", + "é¦ ¬", + "ç²¾ åĵģ", + "åľ° éĵģ", + "æĮģ æľī", + "ä¸ĭ äºĨ", + "æľī æĹ¶åĢĻ", + "ä¸Ģ 人", + "æĴ Ĵ", + "ä»Ķ ç»Ĩ", + "èĢģ åħ¬", + "äºĭå®ŀ ä¸Ĭ", + "èģĶ èµĽ", + "ä¾ĽåºĶ éĵ¾", + "é¢Ħ ç®Ĺ", + "åζéĢł ä¸ļ", + "å®īåħ¨ çĶŁäº§", + "俱 ä¹IJ", + "俱ä¹IJ éĥ¨", + "çļĦ æł¸å¿ĥ", + "æīĵ ç®Ĺ", + "å½± çīĩ", + "æIJŃ å»º", + "ä¹Ł ä¸įä¼ļ", + "æĭħ å½ĵ", + "å±Ĥ éĿ¢", + "åѦ åijĺ", + "临 æĹ¶", + "缸 ç»ĵåIJĪ", + "对 æ¯Ķ", + "ä»ĸ æĺ¯", + "æĸ° åĮº", + "è¿Ľ åİ»", + "çϾ å¹´", + "ä¿ ©", + "å°½ å¿«", + "ç͵åŃIJ åķĨåĬ¡", + "æĽ´ æľī", + "æ¸ħ çIJĨ", + "åı¦ ä¸Ģ个", + "åĤ »", + "ä»Ģä¹Ī æł·çļĦ", + "æĺ¯ æľĢ", + "åij¨ å¹´", + "å¾Ī 容æĺĵ", + "åĽ¢ ç»ĵ", + "ç´ Ħ", + "æĹ© å·²", + "çļĦ åıĺåĮĸ", + "éľ ŀ", + "æĹ¥ ä¸ĬåįĪ", + "失 åİ»", + "ä¸Ń åľĭ", + "çļĦä¸Ģ äºĽ", + "å°ı åŃ©", + "ä¸ĭ è·Į", + "éĶ» çĤ¼", + "é ij", + "éij «", + "å¿ĹæĦ¿ èĢħ", + "èĤ¡ å¸Ĥ", + "èµĽ äºĭ", + "许åı¯ è¯ģ", + "åı¯ æĮģç»Ń", + "åijĬè¯ī è®°èĢħ", + "éĢ» è¾ij", + "å¼ķ åħ¥", + "çļĦ è¿ĩç¨ĭä¸Ń", + "è§Ĩ è§ī", + "èĩªæ²» åĮº", + "è¯ģ æį®", + "è£ħ ç½®", + "第ä¸ī æĸ¹", + "å¹´ æĿ¥", + "å¹¿ä¸ľ çľģ", + "带æĿ¥ äºĨ", + "éķ¿ æ±Ł", + "访 éĹ®", + "å·® ä¸įå¤ļ", + "æĺ¯ æĪij", + "éģŃ éģĩ", + "æĬĵ 好", + "é«ĺ è¾¾", + "å¹¶ åľ¨", + "èĩª è§ī", + "ä¾ĽåºĶ åķĨ", + "æĥħ æĦŁ", + "ä½ı äºĨ", + "çļĦ èģĮä¸ļ", + "çļĩ å¸Ŀ", + "西 éĥ¨", + "åĴĮ å¹³", + "çļĦ åĬĽéĩı", + "æ± ª", + "åħħåĪĨ åıijæĮ¥", + "æĬķ è¯ī", + "èµ· åΰ", + "äºĴ 缸", + "æ¾³ éŨ", + "æİ¥ åΰ", + "æ°´ æ³¥", + "模 åŀĭ", + "ä¸Ģ åįĬ", + "ç§© åºı", + "æĪij们 åľ¨", + "æī¿ 认", + "ä¸Ģ éĥ¨åĪĨ", + "åįł æ¯Ķ", + "å¦ĩ 女", + "ç² ĺ", + "äºĨè§£ åΰ", + "ä¸Ģå®ļ ä¼ļ", + "åIJĦ 大", + "èµ° åĩº", + "为 大家", + "é«ĺ éĵģ", + "åı¯ä»¥ åľ¨", + "ä½Ĩ åľ¨", + "çĶŁæĢģ çݯå¢ĥ", + "èı ¯", + "çļĦ ä»·æł¼", + "麻 çĥ¦", + "æ¿Ģ åıij", + "éĤ£ å°±", + "çļĦ æł·åŃIJ", + "为 æŃ¤", + "天 åľ°", + "çļĦ 缮çļĦ", + "åĢº åΏ", + "å·² ç¶ĵ", + "åĽĽ 大", + "åIJĮæĹ¶ ä¹Ł", + "å½¼ æŃ¤", + "æĭ¿ åΰ", + "åIJ« éĩı", + "åįģ 大", + "éļ¾ éģĵ", + "å¼ Ĺ", + "ä¸Ģ 段æĹ¶éĹ´", + "çħ§ 顾", + "æķ°æį® æĺ¾ç¤º", + "æĪIJ为 äºĨ", + "èµ° åΰ", + "æľ¬ åħ¬åı¸", + "ç»Ī 端", + "ä¹Ł ä¸įæĺ¯", + "头 åıij", + "大 约", + "é£İ æĻ¯", + "æ¶Ī èĢĹ", + "审 æŁ¥", + "äºī åıĸ", + "æ³ķ æ²»", + "äºĭ çī©", + "ç¼ĵ è§£", + "æĥ ¨", + "缸åºĶ çļĦ", + "çļĦ æķĪæŀľ", + "åıį å¤į", + "åıijçĶŁ äºĨ", + "éĢĻ äºĽ", + "ç»ĥ ä¹ł", + "åݨ æĪ¿", + "å¼Ģ æĭĵ", + "欣 èµı", + "夫 妻", + "ä¸į ä¸Ģæł·", + "产 èĥ½", + "èĬ¯ çīĩ", + "è¦ģ ç´ł", + "åıį 对", + "çİĩ åħĪ", + "è´§ çī©", + "æĹ¥ ç͵", + "ä½ľ å®¶", + "æĶ¹ è¿Ľ", + "æĪIJ åĪĨ", + "åĽł èĢĮ", + "åĩı èĤ¥", + "æ½ ĺ", + "å±±ä¸ľ çľģ", + "åĬ Ŀ", + "åŁ ĭ", + "æŃ¦ è£ħ", + "æ±ĩ æĬ¥", + "ä¸Ģ个 æľĪ", + "çĥŃ éŨ", + "大 éģĵ", + "æ´» åĭķ", + "éĥ½ å¾Ī", + "ç͵ 梯", + "ç´§ æĢ¥", + "åĢº åĬ¡", + "客 æľį", + "ä¸Ģ éĥ¨", + "ä½ł æĺ¯", + "çݰ çĬ¶", + "æŃ£ç¡® çļĦ", + "ä¹ĭ å¤Ħ", + "ç¼ĸ åζ", + "ä½ł åı¯ä»¥", + "çŃī åľ°", + "èİ ī", + "对 è¯Ŀ", + "æ·ĺ å®Ŀ", + "è°ĥ èĬĤ", + "æİĴ æĶ¾", + "åºĵ åŃĺ", + "ç´ ļ", + "çļĦ ä¼ĺåĬ¿", + "æĿĥ å¨ģ", + "以ä¸ĭ ç®Ģç§°", + "ä¸Ģ 项", + "èģļ éĽĨ", + "ä¼łç»Ł çļĦ", + "æ·· åIJĪ", + "è¿Ļä¸Ģ çĤ¹", + "ä¸Ģ çľ¼", + "æĹł éĻIJ", + "èİ·å¾Ĺ äºĨ", + "éĢī æīĭ", + "åζ åĵģ", + "åįı ä½ľ", + "çĭ¬çī¹ çļĦ", + "ä¸Ģ 级", + "è¿Ļ个 éĹ®é¢ĺ", + "æĸ Į", + "æĺ¯ æĪij们", + "æķĮ 人", + "æ¸ħ æ´Ĺ", + "ä¸Ģ缴 åľ¨", + "å°ı ç±³", + "çļĦ è¿ĩç¨ĭ", + "åľ¨ åĮĹ京", + "ä¸Ģ æĶ¯", + "æĹ© ä¸Ĭ", + "æĸĩ èīº", + "ç¦ı åĪ©", + "é£Ł ç͍", + "æĦŁ åĬ¨", + "åħ¨ ç¨ĭ", + "æĶ¯ åĩº", + "æĸ° 建", + "å¸ ķ", + "æĺ¾ çĦ¶", + "羣 çļĦæĺ¯", + "æĸ°éĹ» ç½ij", + "èĥ½ åIJ¦", + "åįı åĬ©", + "亲 èĩª", + "å¾Ī æľī", + "çϼ å±ķ", + "æĦı 大", + "æĦı大 åĪ©", + "ç͵ ç½ij", + "æĹ¥ çĽĬ", + "çĨ ±", + "èĤĮ èĤ¤", + "çĶ· æĢ§", + "ç»Ħ 建", + "çŃī éĹ®é¢ĺ", + "æ¶Ī éϤ", + "æĬ¤ çIJĨ", + "å¡ij æĸĻ", + "ä¹Į åħĭ", + "ä¹Įåħĭ åħ°", + "åķĨ æłĩ", + "çIJ ³", + "æĸ° æīĭ", + "çļĦ çī¹çĤ¹", + "åĴ ¬", + "å½ĵ ä¸ĭ", + "设计 å¸Ī", + "èµĶ åģ¿", + "第 åįģ", + "æĻºèĥ½ åĮĸ", + "å¼Ģåıij åĮº", + "åı¯ä»¥ éĢļè¿ĩ", + "åħ±äº§ åħļ", + "åİī 害", + "çģµ æ´»", + "æĹ¶ åħī", + "éĥ¨ ä½į", + "人 æĸĩ", + "è¿Ľ æĿ¥", + "ä¹ĭ æīĢ以", + "ä¸ī åįģ", + "çļĦ åѦçĶŁ", + "éĺ² æĬ¤", + "åĽ½ 产", + "æ·±åľ³ å¸Ĥ", + "éĤ£ å°±æĺ¯", + "åΰ ä½į", + "çī¹ æľĹ", + "çľĹ æĻ®", + "å®ŀ æĹ¶", + "åı° çģ£", + "èĢĮ ä¸į", + "æĮĩ å®ļ", + "åĿ Ŀ", + "èħIJ è´¥", + "çī¹ å®ļ", + "å¢ŀ éĢŁ", + "æłĩ çѾ", + "æĪ¿ ä»·", + "æĦ ģ", + "贯彻 èIJ½å®ŀ", + "æĢ§ è´¨", + "çłĶç©¶ çĶŁ", + "ç¾İ 容", + "æī¹ è¯Ħ", + "ç©¶ 竣", + "人åĬĽ èµĦæºIJ", + "éĸĭ å§ĭ", + "åĽŀ å½Ĵ", + "èIJ¥ åķĨ", + "èIJ¥åķĨ çݯå¢ĥ", + "ä¸ŃåĽ½ 人", + "çļĦ åŁºæľ¬", + "è¯Ŀ é¢ĺ", + "æłĩåĩĨ åĮĸ", + "西 èĹı", + "åĭ ¾", + "çļĦ 设计", + "ç®Ģåįķ çļĦ", + "å¤į åζ", + "æ¸IJ æ¸IJ", + "以 å¤ĸ", + "èģĶ åĬ¨", + "两 次", + "æĢ§ åĴĮ", + "æĽ´ 大", + "çļĦ åIJįåŃĹ", + "éŁ ¦", + "ä½ł è¦ģ", + "å¢ĥ å¤ĸ", + "æĹ© æľŁ", + "åĪĿ æŃ¥", + "è´¦ åı·", + "害 æĢķ", + "æĺ¨ æĹ¥", + "åĪļ æīį", + "ç¥ŀ ç§ĺ", + "ç²¾ å¿ĥ", + "æµģ éĢļ", + "åħ¨ æĸ¹ä½į", + "以 å¾Ģ", + "ä¹Ł å°Ĩ", + "æĺ¯ ä¸ŃåĽ½", + "åĽ½å®¶ 级", + "å°Ĩ åĨĽ", + "æij Ĭ", + "æľĢ 为", + "第ä¸Ģ æĹ¶éĹ´", + "æ¶Ī æ¯Ĵ", + "å°Ĩ äºİ", + "å¨ģ èĥģ", + "èĭ± æĸĩ", + "æīĭ ä¸Ń", + "çIJĥ è¿·", + "è§Ĥ çľĭ", + "离 å©ļ", + "æľ¬ åľŁ", + "åĪĨ æķ£", + "æĻ ´", + "è¦ģ 注æĦı", + "浪 è´¹", + "管 æİ§", + "åĩº åĶ®", + "æĢ» è£ģ", + "ä¸Ģ éĺµ", + "å¨ ĩ", + "äºĶ 个", + "å½ĵ åĪĿ", + "çºł 纷", + "ä¸ĵ ç͍", + "å¤ĩ æ¡Ī", + "åĪĿ æľŁ", + "å®ĥ æĺ¯", + "åĮº åĿĹ", + "åĮºåĿĹ éĵ¾", + "大 è¿ŀ", + "è¿Ļ ç±»", + "åıĺ æĪIJäºĨ", + "éĤĦ æĺ¯", + "åįļ 客", + "çı¾ åľ¨", + "ä¸Ģ æĸ¹", + "å®ĮæĪIJ äºĨ", + "è¿Ļ个 æĹ¶åĢĻ", + "åħ¨ å¹´", + "ä¸Ĭ 线", + "ç½ IJ", + "ç«ŀ èµĽ", + "åĩºçīĪ ç¤¾", + "åĵ¥ åĵ¥", + "å¯ «", + "å¾Ĺ 以", + "èĬ± åĽŃ", + "äºĨ èµ·æĿ¥", + "èĦ±è´« æĶ»åĿļ", + "çļĦ åİŁåĪĻ", + "讲 è§£", + "æ¶Ī åĮĸ", + "æį٠害", + "æļĤ æĹ¶", + "å¾Ĺ çŁ¥", + "éĢĤ ç͍", + "éŨ åºĹ", + "è§£ 读", + "æĻ® åıĬ", + "人æ°ij æ³ķéĻ¢", + "åī¯ ä¸»ä»»", + "å¿ĥ çģµ", + "è¯Ĭ æĸŃ", + "ç¾İ 女", + "æŁ ¯", + "å¹´ 以æĿ¥", + "æ´» è·ĥ", + "åĢŁ åĬ©", + "åħ± 建", + "è¯ī 讼", + "æĶ¾ æĿ¾", + "çªĹ åı£", + "ä¼ģ æ¥Ń", + "åĬł æĭ¿", + "åĬłæĭ¿ 大", + "ä¹° äºĨ", + "主 æµģ", + "æĩĤ å¾Ĺ", + "å°Ĩ åħ¶", + "éĢı æĺİ", + "å·¥ä½ľ ä¸Ń", + "èĤ¡ ä»·", + "æ¡£ æ¡Ī", + "没æľī ä»»ä½ķ", + "åijĬ çŁ¥", + "å¹´ åĪĿ", + "æĹ¥ ä¸ĭåįĪ", + "åİĤ åķĨ", + "èĬĤ å¥ı", + "主 导", + "è£ Ŀ", + "åħ³éĶ® è¯į", + "èģĬ 天", + "åĨĻ ä½ľ", + "æĶ¹éĿ© å¼ĢæĶ¾", + "æľī æľĽ", + "éĢļ æĬ¥", + "èIJ Į", + "æĢ» é¢Ŀ", + "çŁŃ æľŁ", + "ä¸Ģ çķª", + "çĶŁæ´» çļĦ", + "åĮĸ çļĦ", + "æĺ¥ 天", + "è¿Ļ åľº", + "æĸ°å¼Ģ ä¼łå¥ĩ", + "æĺ¯ è¦ģ", + "å°ļ æľª", + "åıĺ æĽ´", + "ä¸Ģ åij¨", + "客 è§Ĥ", + "æĹ¥ èĩ³", + "é¹ °", + "çİ ²", + "å°Ĩ æĿ¥", + "客 人", + "åıĺ éĿ©", + "说 äºĨ", + "åİŁ çIJĨ", + "èģĮ åĬ¡", + "åıĪ æľī", + "ä¸Ģ åı¥è¯Ŀ", + "æĦŁ åıĹåΰ", + "ç¬Ķ èĢħ", + "ç§» æ°ij", + "西 åįĹ", + "ä¹ĥ èĩ³", + "æŃ£ è§Ħ", + "åĪĿ ä¸Ń", + "çĬ ¬", + "å½ĵ äºĭ", + "å½ĵäºĭ 人", + "æĪij们 è¦ģ", + "åħ¥ åı£", + "éĤ£ æĹ¶", + "æľīéĻIJ 责任", + "å°ij 女", + "è¿Ļä¹Ī å¤ļ", + "åĪĨ åħ¬åı¸", + "å®ĩ å®Ļ", + "çļĦ éĢīæĭ©", + "å§IJ å§IJ", + "åıij èµ·", + "è» į", + "æĽ´å¥½ åľ°", + "éĻĨ ç»Ń", + "æľ¬ æľįåĭĻ", + "å« ©", + "èµ¶ ç´§", + "èĦĤ èĤª", + "第äºĮ 天", + "æĪij ä¼ļ", + "两 ä½į", + "æķ ²", + "åħ¬å®ī æľºåħ³", + "ç§ijæĬĢ åĪĽæĸ°", + "å°º 寸", + "è¾IJ å°Ħ", + "å®Ĺ æķĻ", + "转 æį¢", + "åĩº çİ°åľ¨", + "ä¸Ģ é¢Ĺ", + "æľŁ éĻIJ", + "åIJĮåѦ 们", + "åĮĹ æĸ¹", + "ä½ł å°±", + "ä¸Ģ带 ä¸Ģè·¯", + "èĢģ å©Ĩ", + "游æĪı çݩ家", + "çļĦ ç»ĵæŀľ", + "è¡¥ åģ¿", + "å¤ĸ è´¸", + "对 å¾ħ", + "ç»´ çĶŁç´ł", + "ç»ıéĶĢ åķĨ", + "è¿ĺ å°Ĩ", + "åŃIJ 女", + "æĽ´ é«ĺ", + "ä¸į 大", + "éī´ å®ļ", + "让 ä»ĸ们", + "æīĢè°ĵ çļĦ", + "æŃ» äºĨ", + "帮 æī¶", + "åĵ² åѦ", + "以ä¸Ĭ çļĦ", + "çļĦ åħ³éĶ®", + "æĹ© å°±", + "æĬ¥ ä»·", + "éģµ å®Ī", + "æī© å¼ł", + "æĺ¯ å¾Ī", + "å¼Ģ éĢļ", + "æĸ° åĬł", + "æĸ°åĬł åĿ¡", + "ç¿» è¯ij", + "询 éĹ®", + "é¸ Ń", + "ä½ĵ åĨħ", + "两 个人", + "çĪ ¹", + "éľ ľ", + "乡æĿij æĮ¯åħ´", + "çĿ¡ è§ī", + "å®ĺ åijĺ", + "åĪĽ å§ĭ", + "åĪĽå§ĭ 人", + "ä¼Ĺ 人", + "åį³ ä¾¿", + "çĸ« èĭĹ", + "ä¼ģä¸ļ å®¶", + "æ¸ £", + "ç²¾ åĬĽ", + "å¤ĸ éĥ¨", + "èģª æĺİ", + "è¿Ļ ä¹Ł", + "å½ķ åıĸ", + "åĨ² çªģ", + "åħ¨ 身", + "åŃ£ èĬĤ", + "忽 çĦ¶", + "çļĦ æĢģ度", + "åĤ¨ å¤ĩ", + "ä¿Ŀ åħ»", + "çļĦ æĥ³æ³ķ", + "ä¸Ĭæµ· å¸Ĥ", + "æIJº æīĭ", + "çļĦ ä¿¡æģ¯", + "åķĨ åľº", + "çļĦ æĢĿæĥ³", + "æĿĥ åĬĽ", + "毫 æĹł", + "æĢĢ åŃķ", + "硬 ä»¶", + "åĨħ èĴĻåı¤", + "æİ¢ 讨", + "åħ» çĶŁ", + "çļĦ 表çݰ", + "空 ä¸Ń", + "æģIJ æĢĸ", + "å¾Ī é«ĺ", + "ç»ıæµİ 社ä¼ļ", + "ä¸Ĭ æĿ¥", + "å»¶ ç»Ń", + "éĩį å¤į", + "éĺ² èĮĥ", + "çļĦ å½¢å¼ı", + "æľĪ åºķ", + "èĢģ 年人", + "绿 åĮĸ", + "å±± åĮº", + "æĭ¿ åĩº", + "æĹħ 客", + "æĽ´ æį¢", + "åħ¬ 主", + "èĬĤ 约", + "åħ¨ åİ¿", + "åĽŀ æĬ¥", + "çIJĨ æĢ§", + "çĸ¯ çĭĤ", + "æ¶ī å«Į", + "åī§ æĥħ", + "åĨ¬ åŃ£", + "åIJİ ç»Ń", + "è¿Ļæĺ¯ ä¸Ģ个", + "æ¼Ķ 讲", + "ä¸Ģ å±Ĥ", + "æľīåħ³ éĥ¨éŨ", + "æĹł å¥Ī", + "ç§į ç±»", + "缸åħ³ çļĦ", + "æĪĸèĢħ æĺ¯", + "æī¶ æĮģ", + "å¤ļ æķ°", + "çļĦ ä½ľåĵģ", + "ä¸ĭ ä¸ĢæŃ¥", + "å¸Ī åĤħ", + "é«ĺéĢŁ åħ¬è·¯", + "好 åıĭ", + "ä¼ĺç§Ģ çļĦ", + "è¿Ľ äºĨ", + "æģIJ æĢķ", + "äºĨ åIJ§", + "大 è§Ħ模", + "çļĦ ä¸ĸçķĮ", + "æĢĢ çĸij", + "å· ·", + "åħ´ å¥ĭ", + "æĪ °", + "æĿij éĩĮ", + "æľĭåıĭ åľĪ", + "åĨ¬ 天", + "ä¸Ńåįİ äººæ°ij", + "åįı åķĨ", + "è¯Ħ éĢī", + "æĹ Ń", + "å¢ŀåĬł äºĨ", + "åıĹ ä¼¤", + "ä¸Ģ èĤ¡", + "便 æį·", + "ä¸ ij", + "é¹ ¤", + "å¤ĸ è§Ĥ", + "å·¥ç¨ĭ å¸Ī", + "åĴĮ åħ¶ä»ĸ", + "è¿Ļ å°±", + "ä¸Ńå°ı ä¼ģä¸ļ", + "西 åĮĹ", + "åĽ½æľī ä¼ģä¸ļ", + "èĭ¥ æĺ¯", + "åı¯ æĥľ", + "çĶŁ æĹ¥", + "åĩ ½", + "ä¹° åįĸ", + "ç¥Ŀ ç¦ı", + "人æ°ij 群ä¼Ĺ", + "åħī æĺİ", + "åħ¬ å¯ĵ", + "æĺ¯ è°ģ", + "æĪij çŁ¥éģĵ", + "è¯Ń æĸĩ", + "æķı æĦŁ", + "ä¸įéĶĻ çļĦ", + "æĿ¥ 讲", + "æ³¢ åĬ¨", + "çļĦ 第ä¸Ģ", + "åľ° éľĩ", + "åľ¨ åħ¨åĽ½", + "骨 å¹²", + "å®ī ç½®", + "å®¶ ç͵", + "ä¸İ æŃ¤", + "ä¸İæŃ¤ åIJĮæĹ¶", + "åıĹ çģ¾", + "çĥŃ çº¿", + "çļĦ æĬĢæľ¯", + "æµĭ éĩı", + "ä¾Ŀ èµĸ", + "ä¸ŃåĽ½ çļĦ", + "çī¹ æĢ§", + "è¾ĥ é«ĺ", + "è¸ ©", + "ä¼ļ åľ¨", + "建 éĢł", + "导 èĪª", + "æĥ³ èµ·", + "åħ¨ ä¸ĸçķĮ", + "建 æĿIJ", + "ç¯ Ģ", + "çļĦ åŁºç¡Ģ", + "èĩªåĬ¨ åĮĸ", + "åīį åIJİ", + "çĿ¡ çľł", + "æİ¨ è¡Į", + "æį® äºĨè§£", + "ä»Ģä¹Ī æĹ¶åĢĻ", + "ä¸į åĸľæ¬¢", + "çħ¤ çĤŃ", + "éĤ£ä¹Ī å¤ļ", + "å¸Ĥåľº åĮĸ", + "ä¸į管 æĺ¯", + "ç«ĭ åľº", + "éĥ½ 没", + "课 é¢ĺ", + "æĪij们 å°Ĩ", + "è¿ĩ çļĦ", + "åĨį åĬłä¸Ĭ", + "çĪ ¾", + "身 æĿIJ", + "çĶ· 女", + "è¿ľ è¿ľ", + "çĶ· çĶŁ", + "èĩªèº« çļĦ", + "è´Ł æĭħ", + "çϾ ä¸ĩ", + "西 çıŃ", + "西çıŃ çīĻ", + "åĩĢ åĪ©æ¶¦", + "æ¾³ 大", + "澳大 åĪ©äºļ", + "ä¸į åİ»", + "æī¿ åıĹ", + "楼 çĽĺ", + "å¢ĥ åĨħ", + "æ·· åĩĿ", + "æ··åĩĿ åľŁ", + "æĢĿæĥ³ æĶ¿æ²»", + "å¸Ĥ åĮº", + "æĭĽ æłĩ", + "åĽ¢ ä½ĵ", + "è¿Ľ 度", + "åĨĽ éĺŁ", + "åıį å¼¹", + "äºĨä¸Ģ äºĽ", + "æİ¥ å¾ħ", + "çļĦ åŃ¦ä¹ł", + "éħį éĢģ", + "é£Łåĵģ å®īåħ¨", + "æĽ¿ 代", + "æĺ¯ 以", + "éĢļ ç͍", + "çłĶç©¶ æīĢ", + "ç¦ ħ", + "æī Ķ", + "éļĶ ç¦»", + "ä¸ĩ å¹³æĸ¹ç±³", + "çļĦ è§Ħå®ļ", + "ç»Ļ æĪij们", + "æ¿Ģ åħī", + "ä¼ļ åĩºçݰ", + "çŁŃ ä¿¡", + "ç©¿ çĿĢ", + "æ²Ī éĺ³", + "æķĻ æĿIJ", + "éĺ² çĸ«", + "ä¼ĺ èī¯", + "约 å®ļ", + "æĪij çľģ", + "åħ¬ æ°ij", + "éģ¸ æĵ", + "é쏿ĵ ĩ", + "å·² æĪIJ为", + "ä¸į å¿ħ", + "ç¥ĸ åĽ½", + "å¹¶ æľª", + "åľŁ 壤", + "å¾® ç¬ij", + "äºĭä¸ļ åįķä½į", + "çļĦ 游æĪı", + "åħ¬ 示", + "åIJĪçIJĨ çļĦ", + "çª Ŀ", + "æ°Ķ 象", + "å®¶ ä¸Ń", + "亮 缸", + "åį« æĺŁ", + "è®° è½½", + "è§Ĩ éĩİ", + "åľ°åĮº çļĦ", + "ä½Ĩ ä»ĸ", + "èĤĮ èĤī", + "äºı æįŁ", + "åĬŀ åѦ", + "ä¸Ģ è¡Į", + "è¯ŀ çĶŁ", + "åıijå¸ĥ çļĦ", + "çļĦ æľįåĬ¡", + "çļĦ çłĶç©¶", + "åij¨ æľ«", + "产ä¸ļ åĽŃ", + "é«ĺ 温", + "æĪIJåĬŁ çļĦ", + "æŃ¥ 骤", + "åŃĺ åĤ¨", + "åŃIJ åħ¬åı¸", + "让 她", + "ä¸Ń æľī", + "åĺī 宾", + "å¦ ®", + "æĺİ å¹´", + "äºĨ åIJĹ", + "äºī è®®", + "æĪ Ī", + "ä¸Ģ æľ¬", + "ç¾İ丽 çļĦ", + "ä½ł 说", + "大 人", + "æĶ» çķ¥", + "ä¸į æľĥ", + "å¾ħ éģĩ", + "ä¸Ģ è¾Ĩ", + "çīĪæĿĥ æīĢæľī", + "æ°ij ä¼Ĺ", + "åĬ٠夫", + "å±ķ ä¼ļ", + "大 èĦij", + "æ¯ı æľĪ", + "å°ı 麦", + "æµĻæ±Ł çľģ", + "çļĦ æīĢæľī", + "ä¸ĭ æ»ij", + "èĵĿ èī²", + "è¦ģ æĥ³", + "åѦçĶŁ çļĦ", + "å½ĵ ä½ł", + "ä½ľ æĪĺ", + "å®¶ 乡", + "å¤ļ åIJį", + "é«ĺ äºİ", + "åĿļ 强", + "è¿ŀ éĶģ", + "åIJİ æŀľ", + "人 äºĭ", + "ç´ ħ", + "æ¿Ģ åĬ¨", + "è¿Ľ æĶ»", + "ç© Ĩ", + "ä¸ ĺ", + "让 èĩªå·±", + "以 æŃ¤", + "夫 人", + "å¼Ģ 设", + "æ°Ķ è´¨", + "鸡 èĽĭ", + "çĦ¡ æ³ķ", + "åIJĥ äºĨ", + "åĪĨåĪ« 为", + "èģĶåIJĪ åĽ½", + "å½ĵ 代", + "å¦Ĥæŀľ æĺ¯", + "è¿ľ ç¨ĭ", + "åĸ Ĥ", + "è®° ä½ı", + "æ¸ħ åįķ", + "åIJĪä½ľ ä¼Ļä¼´", + "åİ» åģļ", + "æķħ éļľ", + "模 æĭŁ", + "å¸Ī çĶŁ", + "åīį æĿ¥", + "ç͵è§Ĩ åī§", + "çĥŃ çα", + "éľ² åĩº", + "é«ĺ å±Ĥ", + "ç͵ åύ", + "纪 å¾ĭ", + "å¼Ģåıij åķĨ", + "éķ¿ å®ī", + "è½½ ä½ĵ", + "çļĦ å°±æĺ¯", + "被 人", + "åıĹ çIJĨ", + "篮 çIJĥ", + "èİ İ", + "交 ç»Ļ", + "æľªæĿ¥ çļĦ", + "两 大", + "åIJķ å¸ĥ", + "çŃī 人", + "çļĦ æĹ¥åŃIJ", + "åIJĪä½ľ 社", + "æĮij éĢī", + "åŃĺ æ¬¾", + "ç³»ç»Ł çļĦ", + "æĬĬ å®ĥ", + "没æľī ä»Ģä¹Ī", + "ä»İ æŃ¤", + "ä¸Ń åįĪ", + "çĸ¼ çĹĽ", + "å·© åĽº", + "浪 漫", + "缸åħ³ éĥ¨éŨ", + "éķ¿ åŁİ", + "纤 ç»´", + "ä¸Ĭ éŨ", + "çĪĨ çĤ¸", + "èµ· çĤ¹", + "çļĦ éĢļçŁ¥", + "èĢĮ æĿ¥", + "çļĦ èĢģ", + "æīĭ éĩĮ", + "è¯Ń éŁ³", + "è¾Ľ èĭ¦", + "æ±Łèĭı çľģ", + "ç͍ äºĨ", + "身份 è¯ģ", + "æľī åĬ©", + "æľīåĬ© äºİ", + "çī© èģĶç½ij", + "åĩº éŨ", + "å¼Ł åŃIJ", + "æĥ ¹", + "è¿Ļä»¶ äºĭ", + "æĪij们 åı¯ä»¥", + "çļĦ çĶŁåij½", + "æľīä¸Ģ ç§į", + "åºĹ éĵº", + "åıĮ æīĭ", + "çļĦ æ¶Īæģ¯", + "èĢIJ å¿ĥ", + "å°´ å°¬", + "éĤ£ 天", + "é¦ĸ æī¹", + "æĺ¯ä¸Ģ å®¶", + "人 æ°Ķ", + "åıį æŃ£", + "æĪij åĴĮ", + "å®ł çī©", + "ä¸į 对", + "寻 æ±Ĥ", + "缸 ä¼¼", + "åľ¨ ç¾İåĽ½", + "åı« åģļ", + "åĹ İ", + "ç«ĭ è¶³", + "ç͍ éĢĶ", + "åħ Ĩ", + "大 æ°Ķ", + "åIJij ä¸Ĭ", + "ä»ĸ å°±", + "é¡¹çĽ® 建设", + "èĭ¥ å¹²", + "æĺ¯ æľī", + "æ¿Ģ æĥħ", + "çļĦ æĦıä¹ī", + "æĺ Ń", + "严éĩį çļĦ", + "å¯Ĩ éĽĨ", + "èĪŀ è¹Ī", + "èᣠèİ·", + "èİ· æĤī", + "æ±Ł åįĹ", + "åģĩ å¦Ĥ", + "æĪ· å¤ĸ", + "线 ç´¢", + "ç§ģ 人", + "转åŀĭ åįĩ级", + "çļĦ ä»·å̼", + "åįķ çĭ¬", + "èĢģ çϾå§ĵ", + "å°į æĸ¼", + "åĽ½éĻħ åĮĸ", + "ä¼° å̼", + "æľįåĬ¡ ä¸ļ", + "èĩ Ń", + "æİī äºĨ", + "è§£åĨ³ äºĨ", + "ä¹Ł ä¸įèĥ½", + "åħ ¹", + "æĸ¯ çī¹", + "æķħ æĦı", + "è¿ĩ 度", + "èĬĤ æĹ¥", + "çϽ çĻľ", + "çϽçĻľ é£İ", + "ç»§ æī¿", + "äºĨ ä¸įå°ij", + "äºĮ 人", + "è§ģ éĿ¢", + "æĥ³ æĥ³", + "å¤į åIJĪ", + "康 å¤į", + "åİ¿ åŁİ", + "åľ¨ åĽ½åĨħ", + "åľº åľ°", + "é϶ çĵ·", + "è¿Ļ 项", + "çľ¼ ä¸Ń", + "çł ¸", + "æĦŁè§ī åΰ", + "æŀľ çĦ¶", + "æĶ¾ åħ¥", + "约 æĿŁ", + "æİĴ æŁ¥", + "车 主", + "çļĦ æĦıæĢĿ", + "æĸ° åŁİ", + "æĥ³ çĿĢ", + "éģ Ĥ", + "èĮ¶ åı¶", + "ä¹° æĪ¿", + "åĨľ æĪ·", + "é«ĺ æīĭ", + "çİī ç±³", + "æĸ°åĨł èĤºçĤİ", + "çħ§ æĺİ", + "æĮĩ åįĹ", + "è¸ ¢", + "æķij æı´", + "æĻ¯ çĤ¹", + "ç¨İ æĶ¶", + "çļĦ æīĭ", + "æŃ£ 好", + "è¦ģ æĬĬ", + "éļı æĦı", + "åħ¶å®ŀ æĺ¯", + "ç»Ļ èĩªå·±", + "è°Ī åΤ", + "æ¯ı天 éĥ½", + "æĢģ åĬ¿", + "é¢Ħ 约", + "åİĨåı² ä¸Ĭ", + "å®Ŀ è´Ŀ", + "åīį è¿Ľ", + "ä¹Łå°±æĺ¯ 说", + "çļĦ æĦıè§ģ", + "åı£ 罩", + "åİĺ ç±³", + "èĬ± è´¹", + "ä½ĵèĤ² æĬķæ³¨", + "åħ¬ä¼Ĺ åı·", + "èijĹåIJį çļĦ", + "å¼Ģ æĪ·", + "æĭį åįĸ", + "å²ģ æľĪ", + "åĨħ æ¶µ", + "å®Įæķ´ çļĦ", + "é«ĺ åİĭ", + "åħ¬åĬ¡ åijĺ", + "使ç͍ çļĦ", + "çĶŁäº§ 线", + "妹 妹", + "èµ° 访", + "æĺ¯ åı¯ä»¥", + "åľ¨ å®¶", + "æļ´ åĬĽ", + "æ³° åĽ½", + "è´¨ çĸij", + "ä¸į éģİ", + "天çĦ¶ æ°Ķ", + "缺 çĤ¹", + "å°ı åŀĭ", + "ä¸įä»ħ æĺ¯", + "é»ij æļĹ", + "æ¢ ¨", + "æĸĩ æĹħ", + "è¦ģ æľī", + "ä¸Ń å±±", + "çļĦ æķ°æį®", + "å¾Ĺ å¾Ī", + "以 便", + "对 ä»ĸ", + "åĬł 以", + "çϼ çı¾", + "设 å®ļ", + "èĤļ åŃIJ", + "éĿ ĸ", + "å¥ī çĮ®", + "ä¸į åıĺ", + "åı£ ç¢ij", + "åľ¨ åĵªéĩĮ", + "ä½ IJ", + "è¿Ļ 两个", + "çļĦ æĸ¹åIJij", + "æŀ «", + "äºĮ 次", + "çīĩ åĮº", + "éł IJ", + "ç£ Ĭ", + "æĭ¿ çĿĢ", + "å·²ç»ı æĪIJ为", + "ä¹ĭ ä¸Ĭ", + "å®Ĺ æĹ¨", + "奶 奶", + "é«ĺæĸ° åĮº", + "社 æľĥ", + "è·Ł 踪", + "æľįåĬ¡ ä¸Ńå¿ĥ", + "æī ¯", + "æīĭ æĮĩ", + "礼 çī©", + "宿 èĪį", + "ç͍ å¿ĥ", + "æıIJé«ĺ äºĨ", + "亮 çĤ¹", + "ä¸į æĦ¿æĦı", + "æĴŃ æĶ¾", + "å¤ļå°ij éĴ±", + "没 ä»Ģä¹Ī", + "æķ° åįģ", + "æĢ» çĽij", + "çļĦ åŁİå¸Ĥ", + "æī¾ åΰäºĨ", + "åĨħ åľ°", + "åΰ çİ°åľ¨", + "æĪĺæĸĹ åĬĽ", + "åİŁ å§ĭ", + "åĥ §", + "åĢĴ æĺ¯", + "æľĢ åħ·", + "è´«åĽ° æĪ·", + "éĢģ åΰ", + "级 åĪ«", + "åĩº èµĦ", + "æĪª æŃ¢", + "ç§į åŃIJ", + "èĥ½ ä¸įèĥ½", + "幸 è¿IJ", + "èĸ ĩ", + "项 éĵ¾", + "æĮĤ çīĮ", + "ä¸Ģ 樣", + "ä¹ĺ 客", + "èIJ½ åIJİ", + "ä½Ĩ æĪij", + "æĹ© åľ¨", + "åĬ¨ 漫", + "å¹³ çŃī", + "对 ä½ł", + "ä¸į æĢķ", + "å¤ĸ çķĮ", + "å¤ļå¹´ æĿ¥", + "é¦ĸ 个", + "æ²³ åįĹçľģ", + "æĪĸ åħ¶ä»ĸ", + "éķľ å¤´", + "åįĹ æĺĮ", + "ä¸Ģ éĿ¢", + "éĢłæĪIJ çļĦ", + "å´ Ķ", + "çŃ Ĵ", + "æķĻèĤ² éĥ¨", + "åľ° åŁŁ", + "æĺĨ æĺİ", + "å·´ é»İ", + "æīĭ 游", + "ä¸Ģ æĹ¶", + "çł į", + "é¡¶ 级", + "åħ± 计", + "åİŁ æ²¹", + "è¾ī çħĮ", + "说 æĺ¯", + "æĸ°åįİ ç¤¾", + "ç»ıåİĨ äºĨ", + "ä¸į æŃ¢", + "è¦ģ ä¹Ī", + "èĢħ çļĦ", + "æĢ» æĬķèµĦ", + "è¡Į é©¶", + "ä¸Ĭ å¸Ŀ", + "å¹´ 纪", + "çIJ ¼", + "ä¼ł 说", + "ç²¾ èĭ±", + "æĸ¹ éĴĪ", + "æ±Ł æ¹ĸ", + "æĪIJ çĤº", + "æĢ» éĩı", + "æĬķ æĶ¾", + "åĬ¨ çĶ»", + "èĹ ¤", + "ç͵ æºIJ", + "éĴ Ļ", + "åIJĮ è¡Į", + "æĻ®éĢļ çļĦ", + "åĽ¾ä¹¦ é¦Ĩ", + "è¯Ī éªĹ", + "æħĪ åĸĦ", + "è¿Ļ 份", + "主æĮģ 人", + "å°± è¿Ļæł·", + "èĢĮ æĪIJ", + "èĩªè¡Į 车", + "ä¸ŃåĽ½ çī¹èī²", + "èĤ¿ çĺ¤", + "åIJ ¾", + "å¼Ł å¼Ł", + "åıĹ çĽĬ", + "éĢīæĭ© äºĨ", + "æĺİæĺ¾ çļĦ", + "æĬ¥ èĢĥ", + "ç¬ij éģĵ", + "éĽĸ çĦ¶", + "温 å·ŀ", + "éĿŀ æ´²", + "ç§į ç§į", + "åıĤåĬł äºĨ", + "è´§ è¿IJ", + "éļı 便", + "å°± 没æľī", + "ç¸ £", + "央 è§Ĩ", + "ç©¿ è¶Ĭ", + "çļĦ çݰ象", + "åĩł 次", + "çļĦ é£İéĻ©", + "æŃĮ æĽ²", + "æľ¬ å±Ĭ", + "å¹´ åĨħ", + "ä¸į è¶ħè¿ĩ", + "è¿ĩ å¤ļ", + "å¿ħé¡» è¦ģ", + "ç»ĵ 论", + "åĢŁ éī´", + "ç¥ŀ å¥ĩ", + "æľŁ æľĽ", + "ä¸ĵ 享", + "éĿŀ常 éĩįè¦ģ", + "æĦıè¯Ĩ åΰ", + "åIJĪ å¹¶", + "æĬĬ èĩªå·±", + "å¥Ĺ è£ħ", + "éŃĶ æ³ķ", + "å¤ı åŃ£", + "ä¸į åĥı", + "å¢ĥ çķĮ", + "æĥĬ åĸľ", + "æľīä¸Ģ 天", + "çĦ¦ çĤ¹", + "æĪij 认为", + "åħ° å·ŀ", + "ç͵ æ°Ķ", + "èģĶç³» æĪij们", + "ç§ij æĻ®", + "她 说", + "çļĦ æĸĩ竳", + "å¥ĩ æĢª", + "åıĭ 好", + "饮 æĸĻ", + "çļĦ æĶ¯æĮģ", + "çŃĶ åºĶ", + "éĩį éĩı", + "çij ¶", + "åĩı è½»", + "ç§ijåѦ å®¶", + "å·´ 西", + "éĩijèŀį æľºæŀĦ", + "åħļ å§Ķ书记", + "貸 款", + "ç²¾ èĩ´", + "ä»İ æľª", + "åį° åĪ·", + "åĽŀ 顾", + "é¦ĸ éĥ½", + "åıij èĤ²", + "éĹ® éģĵ", + "è¾¾ åΰäºĨ", + "å¿į ä¸įä½ı", + "æīį æľī", + "æįIJ èµł", + "ä½Ľ æķĻ", + "ä¸į æ¸ħ", + "éĺŁ éķ¿", + "缸 åıį", + "æĬ¥ èѦ", + "大 åħ¨", + "欧 缣", + "帮 å¿Ļ", + "çļĦ æĻĤåĢĻ", + "缮 å½ķ", + "è¶³ 以", + "èī° éļ¾", + "ä»ĸ ä¹Ł", + "å·¥ ä½ľèĢħ", + "头 èĦij", + "缺 éĻ·", + "æĪIJç«ĭ äºĨ", + "å°± å¼Ģå§ĭ", + "认 åIJĮ", + "é»Ħ èī²", + "çĹħ æĥħ", + "覺 å¾Ĺ", + "è¿Ļ 两", + "ä¿¡ ä»°", + "åľĭ å®¶", + "ä¸įä»ħä»ħ æĺ¯", + "çĭ¬ å®¶", + "èά çļĦ", + "æĿIJ è´¨", + "æµ· ä¸Ĭ", + "çĤº äºĨ", + "æľºåĬ¨ 车", + "缸å½ĵ äºİ", + "å¤ļåħĥ åĮĸ", + "æĽ´ 大çļĦ", + "èĽ ®", + "åģĩ æľŁ", + "å¼ı çļĦ", + "交éĢļ è¿IJè¾ĵ", + "çľģ å§Ķ", + "ä¸į ç®Ĺ", + "æĶ¾ ä¸ĭ", + "éĹ ¯", + "人 åľ¨", + "港 åı£", + "æĹ¨ åľ¨", + "åij½ 令", + "æŁIJ 个", + "å¹³ 稳", + "åıª 好", + "人 人", + "äº ŀ", + "äºĮ ç»´", + "äºĮç»´ çłģ", + "æŀģ 为", + "åĪ« å¢ħ", + "åħ¶ ä½Ļ", + "大 äºĭ", + "主管 éĥ¨éŨ", + "æĹł éĶ¡", + "éĹ µ", + "éģŃ åΰ", + "说 è¿ĩ", + "为 ä½ł", + "è§£ çŃĶ", + "éªĮ æĶ¶", + "çļĦ ç»ıéªĮ", + "åĮ¹ éħį", + "çģ« ç®Ń", + "豪 åįİ", + "æŁIJ æŁIJ", + "çļĦ æĹ¶ä»£", + "书 éĿ¢", + "æģĴ 大", + "å»¶ éķ¿", + "ä¸Ģ åIJĮ", + "æľª èĥ½", + "交 æį¢", + "çĶ¢ åĵģ", + "çŃī åΰ", + "åĪĨ 离", + "æīĵ ç͵è¯Ŀ", + "å¹² çĩ¥", + "è¾ĥ å¤ļ", + "å¤ļå¹´ çļĦ", + "èĥĮæĻ¯ ä¸ĭ", + "为 ä¾ĭ", + "æijĺ è¦ģ", + "å´Ľ èµ·", + "æŃ¤ åĪ»", + "æľī æľºä¼ļ", + "æĿ¡ 款", + "é¢Ĩ导 å°ıç»Ħ", + "çļĦ 身ä½ĵ", + "åįķ ä¸Ģ", + "央 è¡Į", + "ä¸įæĸŃ æıIJé«ĺ", + "ä»·å̼ è§Ĥ", + "èĬ ½", + "èIJ į", + "æ³ķå¾ĭ æ³ķè§Ħ", + "ä¸į éĶĪ", + "ä¸įéĶĪ éĴ¢", + "åĩº äºİ", + "èĻļ æĭŁ", + "æį® æĤī", + "çĥ¦ æģ¼", + "åħ¨ æĸ°çļĦ", + "æī« æıı", + "çĻ» éĻĨ", + "èīºæľ¯ å®¶", + "çļĦ é£Łçī©", + "çļĦ åŃĺåľ¨", + "客 åİħ", + "æĪij们 å°±", + "æŁ¥çľĭ æĽ´å¤ļ", + "è¯Ħ 审", + "å¸Ĥ åł´", + "è¬ Ľ", + "å·¨ 头", + "ä¸ŃåĽ½ ç»ıæµİ", + "äºĨ èĩªå·±çļĦ", + "åĨ³ è®®", + "çĽijçĿ£ 管çIJĨ", + "æĬķ 票", + "åĨį 度", + "è¡Į çĤº", + "注 åħ¥", + "ä½ľä¸º ä¸Ģ个", + "æ¯ı个人 éĥ½", + "åįķ åħĥ", + "è¦ģ çŁ¥éģĵ", + "被 称为", + "ä¹ĭ éĻħ", + "è§£ éϤ", + "ä¸ ¸", + "æº «", + "ä¸ī æĺŁ", + "é²ľ æĺİ", + "ä¹Ł éĥ½", + "æĹ¶ æľº", + "åĩº æīĭ", + "æĥħ å½¢", + "åķĨ è´¸", + "éĢī 举", + "对 èĩªå·±", + "çĶŁ åĬ¨", + "åħĭ æľį", + "个 ä½ĵ", + "èĭ ij", + "ç¨ ±", + "大 åݦ", + "æĺ¯ 对", + "åĪ© æģ¯", + "è¿IJåĬ¨ åijĺ", + "åĮĸ è§£", + "åīį æ²¿", + "æĦŁ æģ©", + "æĢ» ä¹ĭ", + "é«ĺæĸ° æĬĢæľ¯", + "åĿĩ 为", + "åħ¨ åĮº", + "æ°Ķ æ°Ľ", + "åı¯ä»¥è¯´ æĺ¯", + "ä½ı 宿", + "åħļåijĺ å¹²éĥ¨", + "åĹ ¯", + "è·µ è¡Į", + "çļĦ ä¸ĵä¸ļ", + "èĢĥ éªĮ", + "èķ ¾", + "åħ¬ åŃIJ", + "çļĦ çĬ¶æĢģ", + "æ½® æµģ", + "ä¿¡ æīĺ", + "è´ ¼", + "åIJĦ æĸ¹", + "æķij åĬ©", + "éĿŀ常 çļĦ", + "æ¡¥ æ¢ģ", + "åħ¬ æĸ¤", + "ä¼¼ çļĦ", + "çľĭ 好", + "å±Ģ éĥ¨", + "å®ī éĿĻ", + "éħį ä»¶", + "常 è§Ħ", + "å¼Ģ 车", + "第äºĮ 次", + "ä¸Ĭ 级", + "åıĤ èµĽ", + "å®¶ å±ŀ", + "强 åĬ¿", + "åľ¨ ä»ĸ", + "åIJij åīį", + "ä¹ĭ åľ°", + "éĥ ¡", + "è¡Į ç¨ĭ", + "èѦ åijĬ", + "è§Ħå®ļ çļĦ", + "åķĨ åŁİ", + "äºĶ 大", + "æķĻ å®¤", + "åįģ è¶³", + "æīĢ以 åľ¨", + "å°Ĩ ç»§ç»Ń", + "çŃī æĸ¹å¼ı", + "å®¶ ä¼ģä¸ļ", + "交 ä»ĺ", + "çĤ¹ è¯Ħ", + "ç»ĵ ç®Ĺ", + "ä¹Ł åı¯", + "å¤ĸ æ±ĩ", + "è¿Ļç§į æĥħåĨµ", + "æİĪ äºĪ", + "å¸ĥ ç½®", + "æĪIJç«ĭ äºİ", + "é¢Ħ èѦ", + "管çIJĨ 人åijĺ", + "å©ļ 礼", + "ç»ĵæĿŁ åIJİ", + "åħ¥ éĢī", + "æĹł æ¯Ķ", + "åĴĮ åıijå±ķ", + "çϽ éħĴ", + "çİ© åħ·", + "ä¸ĩ ç¾İåħĥ", + "çļĦ æĪIJ绩", + "æĭį çħ§", + "èĢĥèĻij åΰ", + "ä¼ģä¸ļ åıijå±ķ", + "äºĨ 个", + "çĶŁ æ°Ķ", + "çļĦ 女人", + "äºĶ åįģ", + "çĪ· çĪ·", + "纽 约", + "éĥ½ 被", + "ä¸Ĭ 课", + "çĽ ¡", + "ä¼łç»Ł æĸĩåĮĸ", + "æ½ľ åľ¨", + "åıij å°Ħ", + "ä¸Ģ 身", + "éĺ² å®Ī", + "åĪ ®", + "é¢ĺ 缮", + "åľ¨ åĨħçļĦ", + "ç¾İ 好çļĦ", + "è¿ĻéĩĮ çļĦ", + "ä¸Ģ ä¸Ŀ", + "人 åĿĩ", + "åĢ¡ 导", + "身 åIJİ", + "æī© å±ķ", + "大 éŨ", + "å°± 被", + "该 é¡¹çĽ®", + "æŀ¶ æŀĦ", + "ä¸Ģ åı£", + "ä¿¡æģ¯ æĬĢæľ¯", + "å¼Ģ ä¸ļ", + "æĶ¶ åıĸ", + "ç½ij 页", + "æĶ¯ æı´", + "å°ģ éĹŃ", + "å¡ij éĢł", + "大 èĥĨ", + "å¿«éĢŁ åıijå±ķ", + "çľĭ ä¼¼", + "æ¸ Ŀ", + "è¿Ļæł· ä¸Ģ个", + "模 åĿĹ", + "注æĦı åΰ", + "çł´ è§£", + "èĩª ä»İ", + "åijµ åijµ", + "ä¹ĭ å¾Į", + "ä¹ĭ æĹħ", + "è·Ł æĪij", + "æ³ķ 人", + "æİĴè¡Į æ¦ľ", + "åĿļ å®Ī", + "好 å¤Ħ", + "çŁ³ 头", + "å¹¶ å°Ĩ", + "èĪ ±", + "æŃ ĩ", + "两 岸", + "å¤ļ ä¹ħ", + "象 å¾ģ", + "个æĢ§ åĮĸ", + "çļĦ è§Ĵ度", + "å¸ Ĩ", + "ç¦ı å·ŀ", + "æŁ¥ å¤Ħ", + "两 åĽ½", + "åIJ¸å¼ķ äºĨ", + "é¦ĸ å¸Ń", + "大 åĵ¥", + "é¤ Ĭ", + "涨 å¹ħ", + "éĢī ç͍", + "許 å¤ļ", + "èIJ½ æĪ·", + "åĵĪ å°Ķ", + "åĵĪå°Ķ 滨", + "åģļ ä»Ģä¹Ī", + "以 åħį", + "é¾ į", + "æĹł éľĢ", + "åΰåºķ æĺ¯", + "æĢ ¡", + "åijĬè¯ī ä½ł", + "éĺ² æ°´", + "è¿Ļ æĹ¶åĢĻ", + "欢 ä¹IJ", + "转 åIJij", + "è¿Ļ个 åľ°åĽ¾", + "åħ¥ é©»", + "èįī åİŁ", + "æĹ¶ä»£ çļĦ", + "åıĺ åĬ¨", + "åĬłå¼º 对", + "åģ¶ å°Ķ", + "å®Ī æĬ¤", + "æ°Ķ 温", + "人 éĹ´", + "æľĿ é²ľ", + "ç»ı è´¹", + "åĽŃ æŀĹ", + "å·¥ åľ°", + "è§Ħ æł¼", + "åĩł åįģ", + "è¯ķ åĽ¾", + "å¦ ĥ", + "éĤ£ æĹ¶åĢĻ", + "å¼ĺ æī¬", + "ä¸ļ çķĮ", + "çļĦ éĢŁåº¦", + "ä¼ļ ä¸įä¼ļ", + "èIJ¥ æĶ¶", + "å°ıå¾® ä¼ģä¸ļ", + "çľĭ è¿ĩ", + "æĬĬ ä»ĸ", + "éģµ å¾ª", + "è¿Ļ è¾¹", + "没æľī 人", + "å£ ¶", + "æ¹ĸ åįĹçľģ", + "æŀģ åħ¶", + "çļĦ人 çĶŁ", + "ä»ĸ è¿ĺ", + "转åĮĸ 为", + "èµ° è¿ĩ", + "æĬ± çĿĢ", + "çīĽ å¥¶", + "ä¸ĩ 亩", + "å¿ĥ æĢģ", + "æĹ¥å¸¸ çĶŁæ´»", + "ä½ĵ æ£Ģ", + "æĻ ĥ", + "çŃī é¢ĨåŁŁ", + "æĩī 該", + "åı¯ä»¥ çľĭåΰ", + "æī¾ ä¸įåΰ", + "èĢģ å¹´", + "æĬĬ æĪij", + "积 åĪĨ", + "梳 çIJĨ", + "ç» ³", + "çļĦ æĶ¿æ²»", + "å¸Ŀ åĽ½", + "éĻª ä¼´", + "æ´Ľ éĺ³", + "åħ¬ æŃ£", + "å¼Ģ åı£", + "çī¹èī² çļĦ", + "åĽ° å¢ĥ", + "ä¸Ĭ æľī", + "ç«ĭ ä½ĵ", + "æīĵ å·¥", + "åķ¤ éħĴ", + "åľ¨ éĤ£éĩĮ", + "éĤ£ è¾¹", + "个 åĪ«", + "ä¸Ģå®ļ æĺ¯", + "çļĦéĩįè¦ģ æĢ§", + "主 å¼ł", + "åĴĮ æľįåĬ¡", + "ä¸Ĭ ç½ij", + "è¡¥ åĬ©", + "åıª éľĢ", + "å¼ ¦", + "éģ ®", + "åĬĽ äºī", + "度 è¿ĩ", + "èij ¬", + "é¡¿ æĹ¶", + "éĦ ī", + "纺 ç»ĩ", + "åľ° åĿĹ", + "ä¿¡ç͍ åį¡", + "ç½ļ 款", + "åijĬè¯ī æĪij", + "éĽ Ļ", + "书 çĶ»", + "è¨Ń è¨Ī", + "æĢ» ä¼ļ", + "åΤ åĨ³", + "ä¿¡ èªī", + "个 èĤ¡", + "å¹³ 常", + "æĢİ éº¼", + "ä½ĵ çİ°åľ¨", + "é»Ħ æ²³", + "åĽĽå·Ŀ çľģ", + "羣 缸", + "åIJĦ项 å·¥ä½ľ", + "åĬ¨ åijĺ", + "å³° ä¼ļ", + "ä¸Ģ æľŁ", + "æľī ä¸Ģå®ļçļĦ", + "é«ĺ度 éĩįè§Ĩ", + "ç¹ģ èį£", + "åıijçݰ äºĨ", + "ç½ij 红", + "æīĭ æ³ķ", + "å®¶ åĽŃ", + "仪 åύ", + "è¾ĥ ä½İ", + "çļĦ å®īåħ¨", + "æ¡ IJ", + "ä»ĺ 款", + "æĬij åζ", + "åįĵ è¶Ĭ", + "æŃ£ éĿ¢", + "åĵ ij", + "强 åζ", + "ä»Ĭ天 çļĦ", + "æĪĺ èĥľ", + "楼 å¸Ĥ", + "æĭ¿ ä¸ĭ", + "é¢ľ å̼", + "举 éĥ¨", + "çłĶ åζ", + "çļĦ æĪĺçķ¥", + "åľ¨ ä¸Ģ个", + "ä¸ī 人", + "å®Į äºĨ", + "æĸ° æĬĢæľ¯", + "ç»ıæµİ æķĪçĽĬ", + "å¯Į æľī", + "æ¾³ æ´²", + "åĬ© çIJĨ", + "é¢Ĩ åıĸ", + "è° Ń", + "çĩĥ çĥ§", + "ç´ł åħ»", + "éĤĦ æľī", + "è¿Ľ èĢĮ", + "ä»Ģä¹Ī æĺ¯", + "çłĶç©¶ ä¸Ńå¿ĥ", + "éĢĤ ç͍äºİ", + "æİ¥ æĶ¶", + "失 æľĽ", + "äºĮ 级", + "éĹ´ çļĦ", + "åİŁ æłĩé¢ĺ", + "èªį çĤº", + "æį ¡", + "对 çĿĢ", + "对 éĿ¢", + "ä¸Ń åİŁ", + "éĵ ĥ", + "çĶŁäº§ çļĦ", + "åıijå¸ĥ ä¼ļ", + "士 åħµ", + "è¿Ļ åı¥è¯Ŀ", + "ç¼´ 纳", + "ä¸Ģ个 个", + "åѸ çĶŁ", + "çĸij éĹ®", + "交 èѦ", + "示èĮĥ åĮº", + "天 使", + "åľ¨ ä¸Ĭæµ·", + "åIJĮ æĻĤ", + "è½» æĺĵ", + "å͝ä¸Ģ çļĦ", + "çĥŃ éĹ¹", + "ä¹IJ è§Ĥ", + "çļĦ 身份", + "åĸĦ äºİ", + "大 åİħ", + "èĤ¯å®ļ æĺ¯", + "éĺ² çģ«", + "å¤ĸ åĩº", + "æį® 说", + "é¡¹çĽ® çļĦ", + "ä¸Ģ åı°", + "èĻļ åģĩ", + "ä¸Ģ ç¬Ķ", + "ç«ĭ æ³ķ", + "严 èĤĥ", + "æī¿ åĬŀ", + "åįģ åĩł", + "çļĦ 空éĹ´", + "æľ¬ ç½ijç«Ļ", + "åģļ å¾Ĺ", + "ä¿Ŀ 温", + "æľĪ åĪĿ", + "åľ¨ ç½ijä¸Ĭ", + "åIJĦ æĸ¹éĿ¢", + "ä¸ī 天", + "交æĺĵ æīĢ", + "è§£ æŀIJ", + "åħļ ä¸Ń央", + "è¿Ľ åĩºåı£", + "åĴĮ 社ä¼ļ", + "次 æķ°", + "ä¹ĭ å®¶", + "ç»´ 度", + "æ´¾åĩº æīĢ", + "产çĶŁ äºĨ", + "带 æľī", + "å¾Ī 强", + "æľīäºĽ 人", + "å¹´ åIJİ", + "äºĨ 许å¤ļ", + "å¯Ĩ 度", + "åѦ æľŁ", + "çıł æµ·", + "æľĢå¤ļ çļĦ", + "è¾¹ ç¼ĺ", + "容 éĩı", + "第äºĮ 个", + "ä¸Ģ缴 æĺ¯", + "ä¸į ç¦ģ", + "æŃ ²", + "ä»ĭç»į äºĨ", + "ä¼ĺ éĽħ", + "æ¯Ķ è¼ĥ", + "èģĮ ä½į", + "温 æŁĶ", + "æľī éĴ±", + "æľĢ é«ĺçļĦ", + "åįļè§Ī ä¼ļ", + "ä¸į æĪIJ", + "éĶĻ äºĨ", + "è¯ģ çĽij", + "è¯ģçĽij ä¼ļ", + "æĪIJ 人", + "åĿĩ åĮĢ", + "æľī åĪ©", + "è¶Ĭ åįĹ", + "æīĵ äºĨ", + "好 åIJĥ", + "ç³» çµ±", + "è·Ł éļı", + "çļĦ åľ°ä½į", + "æŃ£ å¦Ĥ", + "ç¨į å¾®", + "åį° åıij", + "åĪĽ ç«ĭ", + "é£İ åħī", + "å°Ĩ æĪIJ为", + "ä¸į é«ĺ", + "é¢ij ç¹ģ", + "设 æľī", + "ä¼ ŀ", + "æĭĨ éϤ", + "å½± åĥı", + "æ¸Ĺ éĢı", + "å¹´ å¼Ģå§ĭ", + "ç½ij æĺĵ", + "è¦ģ åģļ", + "ç͵åĬ¨ 车", + "羣 å¿ĥ", + "æµ· åĨĽ", + "ä¼ł æĿ¥", + "å·® åĪ«", + "è°¨ æħİ", + "çĥŁ åı°", + "åįĥ å¹´", + "è¯ģ å®ŀ", + "çIJ ª", + "çļĦ åħ·ä½ĵ", + "åΰ å¤Ħ", + "ä¸į å®ľ", + "èľ Ģ", + "èĥ½åĬĽ åĴĮ", + "çīº çī²", + "çļĦ éĴ±", + "大 éĺŁ", + "é¦ĸ è¦ģ", + "ä¸į æĦ¿", + "çİ« çij°", + "人æ°ij ç½ij", + "è¿ĺæĺ¯ è¦ģ", + "åĽĽ å¹´", + "æį٠伤", + "çļĦ åģļæ³ķ", + "éĿ Ī", + "è¡Ķ æİ¥", + "åIJĪ æĪIJ", + "没 人", + "éŨ æ§Ľ", + "ä¿¡ è´·", + "çļĦ 缸åħ³", + "举 é£İ", + "社 ä¿Ŀ", + "ä¸ĭ 游", + "åĿĹ éĴ±", + "è¿ĩ åIJİ", + "çļĦ åºĶç͍", + "é¥ ¶", + "é¢ģ åıij", + "ä¸Ģ å¤Ħ", + "åįİ å¤ı", + "为 ä¼ģä¸ļ", + "åıª ä¼ļ", + "ä¾µ 害", + "çļĦ åĬŁèĥ½", + "åѸ ç¿Ĵ", + "ä¸Ńåįİ æ°ijæĹı", + "åıijå¸ĥ äºĨ", + "è¿İ æİ¥", + "æĪij èĩªå·±", + "è¿ĺ éľĢè¦ģ", + "太éĺ³ èĥ½", + "åİ» ä¸ĸ", + "æĺ¯ ä½ł", + "åIJĪ åĬĽ", + "ç»ĺ çĶ»", + "åı° åĮĹ", + "çĿ£ ä¿ĥ", + "åĮĹ éĥ¨", + "æľī å¤ļå°ij", + "å¾Ī éĩįè¦ģ", + "åĪĴ åĪĨ", + "åı· 线", + "æĶ¾ 大", + "ä¼ļ 被", + "èİ· å¥ĸ", + "ä¹ĭ åĨħ", + "失 åİ»äºĨ", + "çݩ家 们", + "éĩĩ éĽĨ", + "å£ ¹", + "å®¶ ä¼Ļ", + "çϽ 天", + "åĽłä¸º ä»ĸ", + "社ä¼ļ æ²»çIJĨ", + "å¼Ģ åĪĽ", + "ç͵ ç¼Ĩ", + "æĸ° ä¸Ģ代", + "å¹¶ è´Ń", + "å°± å·²ç»ı", + "çļĦ 社ä¼ļ", + "éϤ éĿŀ", + "åı¯ä»¥ ç͍", + "å© ī", + "æ¯Ķè¾ĥ 好", + "å®ŀ ä¸ļ", + "åĪĽ åĬŀ", + "æıIJ èµ·", + "é» ĥ", + "ä½ı åľ¨", + "å¸Ĥ æĶ¿", + "éĿ¢ä¸´ çļĦ", + "èĥ½ åľ¨", + "çŁŃ çŁŃ", + "羣 人", + "æĺİ æĺİ", + "èµĦ åĬ©", + "çļĦ ä¸įåIJĮ", + "å°ı æľĭåıĭ", + "é¢ĺ æĿIJ", + "ç¾İ åij³", + "æĺŁ åº§", + "ä¸į ä¸Ģæł·çļĦ", + "çľĭ ä¸Ĭåİ»", + "ä¸Ģ æł¹", + "广 å·ŀå¸Ĥ", + "åıijçĶŁ çļĦ", + "é«ĺ ç§ijæĬĢ", + "ä¸Ģ è¾ĪåŃIJ", + "交 åıī", + "ä½ĵç³» 建设", + "åĽłä¸º æĪij", + "çıį æĥľ", + "ä¸Ĭ åѦ", + "æĪĺ æľ¯", + "æŃ¤ ç±»", + "交 å¾Ģ", + "æĮī æij©", + "人们 çļĦ", + "åħ¶ 實", + "åİŁ æĿIJæĸĻ", + "渴 æľĽ", + "缸 å¤Ħ", + "å¾® å¾®", + "æ® ·", + "ä¹ĺ åĿIJ", + "å¼Ģå±ķ äºĨ", + "é«ĺ åĵģè´¨", + "æĹłäºº æľº", + "ä¸įæĺ¯ å¾Ī", + "çļĦ æĬķèµĦ", + "èĬĤ çľģ", + "èĩ ī", + "ç²¾ éĢī", + "çļĦ æłĩåĩĨ", + "åįĹ éĥ¨", + "认è¯Ĩ åΰ", + "å¹³ éĿĻ", + "èĹ ¥", + "æī« é»ij", + "æī«é»ij éϤ", + "æī«é»ijéϤ æģ¶", + "éĢĻ ç¨®", + "建çŃij éĿ¢ç§¯", + "ç¡® ç«ĭ", + "管çIJĨ åĬŀæ³ķ", + "æĦı å¿Ĺ", + "ä¸ ¨", + "让 åŃ©åŃIJ", + "æķij çģ¾", + "å½ĵ ä»Ĭ", + "çģ« çģ¾", + "åIJĦ éĥ¨éŨ", + "ä¾µ çĬ¯", + "æ¯ı åij¨", + "æı ½", + "ä¸Ģ次 æĢ§", + "åħ¶ä»ĸ 人", + "éĶĻ è¿ĩ", + "ä¸İ åħ¶", + "åĭĩ æ°Ķ", + "çĩĥ æ°Ķ", + "é¦ĸ å±Ĭ", + "æľį 饰", + "ç² ¥", + "å®Į æ¯ķ", + "å°± æĬĬ", + "åĬŀäºĭ å¤Ħ", + "ä¸Ģä¼ļ åĦ¿", + "离 ä¸įå¼Ģ", + "å¦Ĥæŀľ æĤ¨", + "ä»ĵ åºĵ", + "导 å¸Ī", + "åIJĪéĢĤ çļĦ", + "毫 ç±³", + "å®īåħ¨ æĢ§", + "ä¾Ŀ çħ§", + "产ä¸ļ åĮĸ", + "ä½ł çľĭ", + "羣çļĦ å¾Ī", + "åѤ çĭ¬", + "éĺ² å¾¡", + "å¾Ī ç®Ģåįķ", + "é£İ æ°´", + "ä½Ĩ ä¹Ł", + "æİ¨ åĩºäºĨ", + "æ°ijèIJ¥ ä¼ģä¸ļ", + "çłģ 头", + "å¤įæĿĤ çļĦ", + "ç»ĦæĪIJ éĥ¨åĪĨ", + "åħħ满 äºĨ", + "è¿ij åĩłå¹´", + "çľģ æĶ¿åºľ", + "æľī å¿ħè¦ģ", + "éĻ ³", + "ä¹ĭ ç±»", + "ä¹ĭç±» çļĦ", + "æĢ§ ä»·", + "æĢ§ä»· æ¯Ķ", + "åķĨ åºĹ", + "å¸Ĥ å̼", + "人æīį åŁ¹åħ»", + "æ·± åıĹ", + "管çIJĨ å±Ģ", + "æģIJ æĥ§", + "ä»ħ æľī", + "æĬµ è¾¾", + "æµ· åħ³", + "èµĭ äºĪ", + "äºĭ åĦ¿", + "ä»· éĴ±", + "æīĭ ä¸Ĭ", + "èĩª å¾ĭ", + "åħ³ çα", + "享 æľī", + "éģĹ æĨ¾", + "å¾Īå¿« å°±", + "æĽ´ å¿«", + "æłĩ è¯Ĩ", + "åºĨ ç¥Ŀ", + "ä¹Ł 好", + "ä¸į æĺĵ", + "æĪij å¾Ī", + "æĶ¹éĿ© åıijå±ķ", + "å¤ĸ åľ°", + "æĬµ æĬ¼", + "è¯Ĺ 人", + "åİķ æīĢ", + "æĸ° åªĴä½ĵ", + "èĸ Ľ", + "è°Ī è¯Ŀ", + "ä¸Ģå®ļ ç¨ĭ度", + "èµ° åľ¨", + "æľĢ 强", + "åĬŁ çİĩ", + "åħ± è¯Ĩ", + "大 æ¡¥", + "ä¸ĭ æĸ¹", + "å¤ĸ èµĦ", + "ç¢ ±", + "å·¡ è§Ĩ", + "æ¹ĸåĮĹ çľģ", + "个 çϾåĪĨ", + "个çϾåĪĨ çĤ¹", + "çļĦ 责任", + "çļĦ åĵģçīĮ", + "åĬ© æİ¨", + "åĪĽéĢł äºĨ", + "ä»» èģĮ", + "å¿« æį·", + "æĿij åºĦ", + "åİ» çľĭ", + "æīį èĥ½å¤Ł", + "å± ¤", + "æĪij å®¶", + "æĺ¯ä¸Ģ 款", + "ç¾ ħ", + "åĨ° éĽª", + "æŀģ 大", + "çģ¯ åħī", + "éĨ ĭ", + "ä¸İ åħ¶ä»ĸ", + "æıIJåĩº çļĦ", + "éĿł è¿ij", + "è°ĥ åĬ¨", + "å°½ åı¯èĥ½", + "åıij åĬĽ", + "ç»Ļ 她", + "éĢĤ éĩı", + "è·¨ åĽ½", + "åħĪ è¡Į", + "æĸ° æĿIJæĸĻ", + "ä½ľ äºĨ", + "满 äºĨ", + "ä¸į 满", + "çļĦçľ¼ çĿĽ", + "çľĭ å¾Ĺ", + "è¿Ļ ä¸Ģ次", + "é½IJ åħ¨", + "çļĦä¸Ģ éĥ¨åĪĨ", + "ä¸ Ļ", + "æ¸ħ æĸ°", + "說 æĺİ", + "身边 çļĦ", + "æīĢæľī 人", + "å½° æĺ¾", + "è± ¹", + "åį ¿", + "è¿IJ 转", + "æĮĩ å¼ķ", + "å¸Ĥ åħ¬å®īå±Ģ", + "åıĤ å±ķ", + "ä¹ĭ æĹ¶", + "éĩijèŀį æľįåĬ¡", + "èµĦæľ¬ å¸Ĥåľº", + "èĥ½ 让", + "å¿ĺ äºĨ", + "天 åłĤ", + "æ¯Ķå¦Ĥ 说", + "éĬĢ è¡Į", + "èĽĭ ç³ķ", + "çĶ ©", + "æł¸ å®ŀ", + "æĻ® 京", + "ä¼ĺ ç¾İ", + "åı£ èħĶ", + "漫 çĶ»", + "çľ¼ éĩĮ", + "äºĨ ä¸ĭæĿ¥", + "æĪij们 ä¹Ł", + "ä¾ į", + "为 ä¸Ńå¿ĥ", + "å¥ĩ 迹", + "éĿĴ çĿIJ", + "æĪªèĩ³ 缮åīį", + "åĩº ä¾Ĩ", + "æĢ» åħ¬åı¸", + "å¼¥ è¡¥", + "ç®Ĺ æ³ķ", + "å·¥ä½ľ 室", + "æīĢ以 æĪij", + "æ°´ åĪĨ", + "æīĢ å±ŀ", + "ä¸į 说", + "ä½Ĩæĺ¯ åľ¨", + "è¦ģ åİ»", + "åĪĽä¸ļ èĢħ", + "ä¸į æ¸ħæ¥ļ", + "åĽĽ åij¨", + "æĺ¯ ä»İ", + "çļĦ æł¹æľ¬", + "çģ ¶", + "æ¯Ľ æ³½", + "æ¯Ľæ³½ 举", + "æµ· åı£", + "åĽĽ åįģ", + "ä¹Ł 被", + "èģ ·", + "ä¸Ģ æīĭ", + "绩 æķĪ", + "çļĦ çĶ·äºº", + "书 ç±į", + "ä¸Ģ èĦ¸", + "大 äºİ", + "鼶 éĥ¨ä»¶", + "åħ³ æĢĢ", + "å¹³ ç±³", + "æļ´ éľ²", + "å¾Ĺ å¤ļ", + "ä¸ī 级", + "æľ¬ åij¨", + "两 èĢħ", + "对 ä¸ŃåĽ½", + "åıª è§ģ", + "欧 ç¾İ", + "å¦Ĥæŀľ æľī", + "å·²ç»ı æĺ¯", + "çľĭ å®Į", + "çģ« éĶħ", + "èµ IJ", + "ä¸Ģ éģį", + "æĦŁ åĨĴ", + "ç»ĵ å±Ģ", + "ä»ĵ åĤ¨", + "å®ŀ åľ°", + "å̻ ç»ıçIJĨ", + "ä¹Łä¸į çŁ¥éģĵ", + "碰 åΰ", + "åIJĪ è®¡", + "客æĪ· çļĦ", + "ç½Ĺ 马", + "æĦī å¿«", + "é£ Ľ", + "çĥŃ çĥĪ", + "伦 æķ¦", + "åĮ» ä¿Ŀ", + "éĺ¿éĩĮ å·´å·´", + "åĨį 说", + "为 åŁºç¡Ģ", + "çĶŁäº§ ç»ıèIJ¥", + "è¿ĻäºĽ 人", + "åĪĹ è½¦", + "æ²³åĮĹ çľģ", + "è¿Ļ 段", + "æ´»åĬ¨ ä¸Ń", + "å© ·", + "çĶŁ çIJĨ", + "ä¸ŃåĽ½ 人æ°ij", + "éĦ Ĥ", + "åIJ¬ åıĸ", + "å¤į ä¹ł", + "æľī çĽĬ", + "æĶ¶ æĭ¾", + "å¾Ī åı¯èĥ½", + "ç½ij绾 游æĪı", + "们 çļĦ", + "èµĭ èĥ½", + "éļ¾ å¾Ĺ", + "åĪĨ æīĭ", + "羣 è¯ļ", + "åħ¬åı¸ åľ¨", + "åĿĩ è¡¡", + "åı£ åij³", + "çīµ å¤´", + "ä¸Ģèά çļĦ", + "轿 车", + "çŃī äºİ", + "æ²ī é»ĺ", + "æĪij éĥ½", + "å°ı ç¨ĭåºı", + "ä¸Ģ åī¯", + "æī¿ è½½", + "åľ° è´¨", + "çķĮ éĿ¢", + "ç͵ æľº", + "çĦ¦ èĻij", + "éĶĢåĶ® é¢Ŀ", + "æĸ° 车", + "ä¸Ĭ 游", + "主 æ¼Ķ", + "éļIJ ç§ģ", + "åıijå±ķ æĪĺçķ¥", + "çļĦ åĬªåĬĽ", + "å¼Ģ åħ³", + "è§£åĨ³ éĹ®é¢ĺ", + "çĿ£ 导", + "对 æĬĹ", + "å¾Īå¤ļ 人éĥ½", + "æĹł æķĪ", + "产åĵģ è´¨éĩı", + "å®ī å¿ĥ", + "åįİ äºº", + "ä¸į 符åIJĪ", + "èĩª å®¶", + "éĺµ å®¹", + "çļĦ åIJĦç§į", + "çļĦ çIJĨ念", + "çļĦ æĸĩåĮĸ", + "为 èĩªå·±", + "å±± æ°´", + "游 æ³³", + "éľĩ èį¡", + "çĶŁæ´» æĸ¹å¼ı", + "è¿ľ 离", + "çŁ³ åĮĸ", + "æŃ¤ äºĭ", + "æĺ¯ 羣çļĦ", + "çļĦ æ¯Ķä¾ĭ", + "ç͍ ç͵", + "奥è¿IJ ä¼ļ", + "ä¿Ŀ å®ī", + "èĽĭçϽ è´¨", + "çļĦ å¿ĥçIJĨ", + "å· «", + "åı· çłģ", + "æ°Ķ ä½ĵ", + "åıij æĶ¹", + "åıijæĶ¹ å§Ķ", + "åĮ» å¸Ī", + "æ¶Ĥ æĸĻ", + "æĺ Ĭ", + "å¸Ĥ 级", + "ä¸ĸçķĮ çļĦ", + "åĪĨåĪ« æĺ¯", + "çł´ 产", + "ä¸Ģ æĿ¯", + "æĭī å¼Ģ", + "å¹³ åĩ¡", + "çļĦ åıijçĶŁ", + "åĬ¨ æīĭ", + "ä¸Ģ缴 以æĿ¥", + "æīĭ å·¥", + "éĩĮéĿ¢ çļĦ", + "æĹł åħ³", + "ä»ĭ åħ¥", + "èµ° ä¸Ĭ", + "å°±æĺ¯ è¦ģ", + "å¹´ éĹ´", + "åĩº çı¾", + "å½± éŁ¿", + "å¹ħ 度", + "éĽ ģ", + "éģĵ åħ·", + "缮çļĦ åľ°", + "åIJİ èĢħ", + "ä¸Ĭ æ¼Ķ", + "äºĨ åĩł", + "æ®ĭçĸ¾ 人", + "å¿Ļ ç¢Į", + "æĺ¯åIJ¦ æľī", + "å¹¶ 对", + "ä¼ļ 导èĩ´", + "æ°´ åºĵ", + "ç»Ĩ èĩ´", + "åIJİ æĤĶ", + "å¿ĥ æĢĿ", + "åģļ äºĭ", + "åİĤ æĪ¿", + "çĿ ¿", + "è¿IJèIJ¥ åķĨ", + "头 éĥ¨", + "çļĦ è§Ĵèī²", + "æĺ¯ ä»ĸ", + "æĹ¢ æľī", + "å°ıæĹ¶ åĢĻ", + "强 åĬ²", + "主 æĴŃ", + "åħ¨åĽ½ åIJĦåľ°", + "æį ı", + "æįŁ åĿı", + "åķĨ ä¼ļ", + "ä¿Ŀ ç½Ĺ", + "çľģ å¸Ĥ", + "éļ§ éģĵ", + "æľī ä¸įå°ij", + "è¦ģ åľ¨", + "建设 é¡¹çĽ®", + "ç³ĸ å°¿", + "ç³ĸå°¿ çĹħ", + "æĿ¡ä»¶ ä¸ĭ", + "ä¼ĺè´¨ çļĦ", + "é¦ĸ åıij", + "å½ĵæĹ¶ çļĦ", + "丰 çͰ", + "大 çĽĺ", + "缸 ç»§", + "å®ģ å¤ı", + "åħ¥ ä½ı", + "æĪij è¿ĺ", + "åħĭ æĸ¯", + "å®ļ ä»·", + "å¹³æĸ¹ åħ¬éĩĮ", + "çļĦ çŁ¥è¯Ĩ", + "æĪij们 ä¼ļ", + "åħĥ å®Ŀ", + "ä½ĵ éĩį", + "è³ £", + "对 æĪij们", + "çŁ³ å®¶", + "çŁ³å®¶ åºĦ", + "ç²¾ åįİ", + "å½¢ çĬ¶", + "åıĹ åΰäºĨ", + "ä¿® 订", + "ç¾İ åľĭ", + "é«ĺ æ¸ħ", + "çľ¼ éķľ", + "è§īå¾Ĺ èĩªå·±", + "带 ç»Ļ", + "åĶ® ä»·", + "éŨ 票", + "åŃķ å¦ĩ", + "ç͵è§Ĩ åı°", + "åıij ä½ľ", + "çļĦ åij³éģĵ", + "éķ¿ è¿ľ", + "åħ¬åħ± æľįåĬ¡", + "æŃ£å¸¸ çļĦ", + "æľī è¿ĩ", + "é£İ æĥħ", + "æ¯Ķ éĩį", + "åIJ »", + "管çIJĨ å·¥ä½ľ", + "综åIJĪ æĢ§", + "å·² 被", + "说 èµ·", + "æİĴ æ°´", + "ä¸įæĸŃ åľ°", + "æĥħ æĢĢ", + "è¾ĵ éĢģ", + "è¿ĩ æķı", + "çļĦ åı¯èĥ½æĢ§", + "æľį ç͍", + "æľī 许å¤ļ", + "å§Ķ åī¯ä¹¦è®°", + "åĮĸå¦Ĩ åĵģ", + "æļĤ åģľ", + "æĬķèµĦ 人", + "çıŃ çº§", + "说 çĿĢ", + "åįĹ åĮĹ", + "åĪĨ è¡Į", + "çıł å®Ŀ", + "å¯ ¶", + "å¢ŀ å¤ļ", + "被 åĬ¨", + "ç®Ĭ çļĦ", + "éĹľ ä¿Ĥ", + "çļĦ èĦ¸", + "æĥ Ł", + "ä¸į ä¸Ģå®ļ", + "ç¶ Ń", + "çģ« çĪĨ", + "ç§Ł éĩij", + "çŀ §", + "éĩį 建", + "è· ª", + "ä¸Ģ 種", + "çļĦ åIJĪä½ľ", + "å®ī æħ°", + "ä»į æĺ¯", + "ä¸ĵä¸ļ åĮĸ", + "è°ĥ è§£", + "ä¸į 妨", + "éĢĻ æĺ¯", + "å¿ħ éłĪ", + "ä¼Ĭ æľĹ", + "å¾Ĺ äºĨ", + "æľįåĬ¡ å¹³åı°", + "å§ ¬", + "åħĪ éĶĭ", + "çİĭ åŃIJ", + "çļĦä¸Ģ åĪĩ", + "æĢ» çIJĨ", + "åĵ ¼", + "çª ij", + "çļĦå¿ĥ æĥħ", + "çļĦ éĩį大", + "çij Ł", + "ä¸Ģ ç¬ij", + "åıijå±ķ ä¸Ń", + "åģ¥åº· åıijå±ķ", + "åĵģçīĮ çļĦ", + "ç¦ ®", + "ä½Ļ 人", + "ä»Ĭå¹´ 以æĿ¥", + "æķ° çłģ", + "çѾ è¯ģ", + "åİ» æī¾", + "åŁºéĩij ä¼ļ", + "æĬ± æĢ¨", + "æŃ£ å½ĵ", + "çıŃåŃIJ æĪIJåijĺ", + "ä¸į åIJĪæł¼", + "åζ å®ļäºĨ", + "ç¼ĵ æħ¢", + "åζ 约", + "æłı 缮", + "å¸Ĥåľº ç»ıæµİ", + "ç»ĦæĪIJ çļĦ", + "严 å³»", + "æĹ¥ 讯", + "ä¸ĢçĤ¹ çĤ¹", + "æĺ¯ æĢİä¹Ī", + "çļĦ çħ§çīĩ", + "éĺ» æŃ¢", + "模 ç³Ĭ", + "ç¼ ¸", + "éģķ åıį", + "æIJ¬ è¿ģ", + "éĩij éĴ±", + "å½ ¬", + "ä¸į å®ī", + "æĪĺçķ¥ åIJĪä½ľ", + "å¡« åĨĻ", + "讲 ç©¶", + "åħħåĪĨ åĪ©ç͍", + "èĥ½ å¤ł", + "èij¡èIJĦ éħĴ", + "éĩĩç͍ äºĨ", + "åľ¨ ä»Ĭå¹´", + "ä¸Ńå°ı åѦ", + "åľ¨ æĦı", + "çļĦ åİĭåĬĽ", + "ä¸į 幸", + "åζ èį¯", + "åı¯ä»¥ 让", + "被 è¯Ħ为", + "ç»Ĩ èıĮ", + "æĪı åī§", + "åįĬ 导", + "åįĬ导 ä½ĵ", + "è§Ĩ è§Ĵ", + "åĸľ æŃ¡", + "å¾ģ æĶ¶", + "è°ĭ åĪĴ", + "æŀģ 大çļĦ", + "çĤ¹ èµŀ", + "è®°èĢħ ä»İ", + "两 åIJį", + "èĩª åĬ©", + "èµ· æŃ¥", + "æĬ¤ 士", + "å®Ŀ 马", + "太 åŃIJ", + "å°ıå°ı çļĦ", + "温 æ³ī", + "åĩºç§Ł 车", + "ç§Ł æĪ¿", + "两 å®¶", + "éľĩ æĴ¼", + "ç§ī æī¿", + "ä¸Ģä»¶ äºĭ", + "çĥΠ士", + "å®ĺ åħµ", + "转 身", + "ä¹IJ åĽŃ", + "çĻĮ çĹĩ", + "模 èĮĥ", + "æĦ £", + "è¿ĩåİ» çļĦ", + "代 ä»·", + "çļĦ æ¦Ĥ念", + "åĩł çϾ", + "è´µ éĺ³", + "æĭħ å¿§", + "éĢĤ å®ľ", + "çݯå¢ĥ ä¿ĿæĬ¤", + "çĥ «", + "ä½ł æĥ³", + "æŃ¤ åIJİ", + "ä½ł ä¹Ł", + "çį İ", + "éϤ æŃ¤", + "éϤæŃ¤ ä¹ĭå¤ĸ", + "è°ĥ 度", + "ç§ij 缮", + "æīĢ说 çļĦ", + "åĬ ĩ", + "忽 è§Ĩ", + "ä¸ī 次", + "ä¸Ģ æĹ¥", + "åŀĤ 缴", + "ç«ŀ æĬĢ", + "éĿ¢ åĮħ", + "大 æĪĺ", + "æIJº 带", + "å¦Ĥæŀľ 没æľī", + "åħ» æĪIJ", + "åĩº è¡Ģ", + "çα好 èĢħ", + "æīĵ éĢļ", + "èµ· è¯ī", + "åijĪ çݰåĩº", + "æŃĮ æīĭ", + "åľ¨ å¤ĸ", + "é¢Ĩ导 å¹²éĥ¨", + "åĨ ¥", + "èĪĨ 论", + "æıIJ åıĸ", + "éĺ¿ å°Ķ", + "æľĽ çĿĢ", + "ä¸ī äºļ", + "è² ¡", + "åĪ ·æĸ°", + "æĻļ æĬ¥", + "è¿ĺæľī ä¸Ģ个", + "åĨ° ç®±", + "ç½ij çĤ¹", + "åĩº åħ·", + "强çĥĪ çļĦ", + "æĪij çĽ¸ä¿¡", + "å¸ĮæľĽ èĥ½", + "çīĻ é½¿", + "äºĭ å®ľ", + "ä¸ļåĨħ 人士", + "代 æĽ¿", + "åıĺ å½¢", + "éĽ ²", + "è°ĥ æİ§", + "åĪĽæĸ° åĪĽä¸ļ", + "æĭĨ è¿ģ", + "æł¸ æŁ¥", + "éĢ Ĺ", + "åħ¥ åѦ", + "æĦı åIJij", + "æı Ľ", + "ä¸ĭ 次", + "ä¼ł è¾ĵ", + "ä»ĸ们 åľ¨", + "èĢĮä¸Ķ è¿ĺ", + "æĹ¥ åľ¨", + "æķĻ è®Ń", + "æ´» çĿĢ", + "çļĦ æľīæķĪ", + "å¤įå·¥ å¤į", + "å¤įå·¥å¤į 产", + "æĺ¯ä¸Ģ ä»¶", + "çŃī çĿĢ", + "å¾ ©", + "åĭĩ æķ¢", + "éģŃ åıĹ", + "å¥Ķ é©°", + "讲 座", + "说 å®Į", + "ç»Ļ åĩº", + "è° ¦", + "è¯Ĭ çĸĹ", + "çĽ² 缮", + "客 è¿IJ", + "å°± è¿ŀ", + "å¼Ģ åħĥ", + "å¼Ģåħĥ æ£ĭçīĮ", + "ä¸įæĸŃ æıIJåįĩ", + "ç͍æĪ· çļĦ", + "æĴ ķ", + "ä¾Ľ æ°´", + "ç¶ĵ æ¿Ł", + "ä¸Ń åĮ»èį¯", + "èģĶ æĥ³", + "åħ¬äº¤ 车", + "èĪª çıŃ", + "æĬĢ è¡ĵ", + "å¼ķèµ· çļĦ", + "å° ¹", + "èµĦ æ·±", + "åĽ½èµĦ å§Ķ", + "èĺ Ń", + "é¼» åŃIJ", + "éĹ ½", + "æİĴ éĺŁ", + "è§Ĥ åħī", + "éģĹ åĿĢ", + "举 京", + "é¥Ń åºĹ", + "ä¸įæĸŃ çļĦ", + "å°±æĺ¯ ä¸Ģ个", + "éķ¿ ä¹ħ", + "çļĦ è§ĤçĤ¹", + "å¨ ¶", + "æĪij çİ°åľ¨", + "çķ °", + "å¾Ĺ åĩº", + "å¿ħ å®ļ", + "ä¸į åıĹ", + "åıª éľĢè¦ģ", + "åĽ° æī°", + "ç§ijåѦ æĬĢæľ¯", + "çīĽ èĤī", + "è¾ĥ é«ĺçļĦ", + "è·ij æŃ¥", + "æ² ¾", + "èı© èIJ¨", + "æľĢ å¾Į", + "ä¿Ŀ å¯Ĩ", + "æ²» å®ī", + "éĤ ±", + "常 è¯Ĩ", + "èĦ¸ èī²", + "åĮĹ å¤§", + "æ±ĩ èģļ", + "æijĨ èĦ±", + "é¾Ļ头 ä¼ģä¸ļ", + "女 åıĭ", + "çŃī å·¥ä½ľ", + "ä¸Ń ç¾İ", + "èģĮ åľº", + "èĦij è¢ĭ", + "åĨĻ çļĦ", + "饲 æĸĻ", + "åĬ³ åĬ¨åĬĽ", + "å± ¯", + "æĮģ èĤ¡", + "åĽ¾ åĥı", + "è¿ĩåİ» äºĨ", + "è² ¨", + "è¾ ²", + "éĹ® æĪij", + "è·Ł ä½ł", + "çĶŁ æŃ»", + "审 ç¾İ", + "é¢Ĺ ç²Ĵ", + "ä¸Ń æĸ¹", + "åĬł çĥŃ", + "æĹħè¡Į 社", + "çϼ çĶŁ", + "ä¸į åłª", + "åĤ ·", + "æ¥ ł", + "åĬŀ æ¡Ī", + "æŁ Ħ", + "æĹ¢ æĺ¯", + "å¤Ħ åĪĨ", + "羣å®ŀ çļĦ", + "æĬ¥ 纸", + "å¸Ī çζ", + "å®īå¾½ çľģ", + "åī¯ ä¸»å¸Ń", + "ä¹ĭ éģĵ", + "导 å¼¹", + "åŃ¦æł¡ çļĦ", + "åŁİå¸Ĥ çļĦ", + "è°Ī åΰ", + "æ¢ Ĺ", + "å¹³ éĿ¢", + "说 ä»Ģä¹Ī", + "é¢ij çİĩ", + "éķ¿ ä¸īè§Ĵ", + "çļĦ åĪ©çĽĬ", + "é» ¨", + "è±Ĩ èħIJ", + "å®ŀéĻħ æĥħåĨµ", + "æŀĹ ä¸ļ", + "纪æ£Ģ çĽijå¯Ł", + "ä½ı éĻ¢", + "çļĦ æķ´ä½ĵ", + "åīį è¡Į", + "æĮ ¨", + "çħ¤ çŁ¿", + "å̻ è£ģ", + "å°ı åIJĥ", + "æŀģ 端", + "å©Ĩ å©Ĩ", + "çݰ è´§", + "è¯Ĺ æŃĮ", + "éĴ¥ åĮĻ", + "缩 çŁŃ", + "ä½Ĩ è¿Ļ", + "æĸ° åĵģ", + "è¿Ļ 对", + "çŁ¥åIJį 度", + "å¿ĹæĦ¿ æľįåĬ¡", + "大 å±Ģ", + "è¡¡ éĩı", + "ä½ĵçݰ äºĨ", + "æ¡ĥ èĬ±", + "åIJ¸å¼ķ åĬĽ", + "åł ¤", + "æĵħ éķ¿", + "åĴ Ĵ", + "缸 æľº", + "ä¸Ģ ç«Ļ", + "ä¸Ģç«Ļ å¼ı", + "æľĢ ç¾İ", + "æ°¸ ä¹ħ", + "çļĦ éĥ¨åĪĨ", + "åĪĨ å·¥", + "å·¥ç¨ĭ 建设", + "æIJŃ è½½", + "æ°´ ä¸Ń", + "èĮ ¨", + "çļĦ æĵįä½ľ", + "绣 æ²»", + "çķħ éĢļ", + "åħļçļĦ åįģ", + "è¼ ¸", + "æ¸ ¬", + "ç¾İ è§Ĥ", + "ä¸į åĪ©", + "åıį æĢĿ", + "éªĦ åĤ²", + "æłĩ çļĦ", + "æĿĢ äºº", + "éĺ¿ å§¨", + "é£Ł æĿIJ", + "åIJĥ çļĦ", + "åIJİ åĨį", + "çŁ £", + "两 ä¾§", + "æ¸ħ æ°´", + "è¿Ľ çIJĥ", + "å¼Ģå§ĭ äºĨ", + "åIJ¬ äºĨ", + "çĦĬ æİ¥", + "çŁ ®", + "å¨ Ł", + "为 人", + "éĢģ ç»Ļ", + "åĨĴ éĻ©", + "æķ ·", + "ç»Ī æŃ¢", + "æīį çŁ¥éģĵ", + "è¿IJ æ°Ķ", + "éĢļ é£İ", + "æĥĬ è®¶", + "ç§ijåѦ éĻ¢", + "æıIJ éĹ®", + "太 åİŁ", + "缸åIJĮ çļĦ", + "ä» ķ", + "èģ ĸ", + "æĥħ æ³ģ", + "é¢Ĩ导 人", + "åĩºæĿ¥ äºĨ", + "沿 线", + "éĻ ½", + "æĦŁ è¦º", + "ä»į åľ¨", + "æ© Ļ", + "约 为", + "åĸĿ éħĴ", + "ç͍ èį¯", + "ä¸ĭ ä¸Ģ", + "æ³ķ å®ĺ", + "顺 åºı", + "åģļ ä¸Ģ个", + "åĭ ¢", + "æŃ ª", + "ç͵ ç«ŀ", + "ä¼´ éļıçĿĢ", + "ä¹ĭ åĬĽ", + "ä¹ĭ 人", + "äºij 计ç®Ĺ", + "åĪ«äºº çļĦ", + "ç§ijåѦ åıijå±ķ", + "第 åħ«", + "å¹² æī°", + "女 ç¥ŀ", + "è¿Ļæł· åģļ", + "å¤Ħ åľ¨", + "æ°´ è´¨", + "éķ¿ æĺ¥", + "å¸Ĥåľº éľĢæ±Ĥ", + "ç»´ æĿĥ", + "è̳ æľµ", + "æĸĩåĮĸ çļĦ", + "奶 ç²ī", + "ä¼ł è¾¾", + "æīĭæľº çīĪ", + "æĽ¾ åľ¨", + "äºĮ æľŁ", + "åİŁåĽł æĺ¯", + "æºIJ 头", + "åıĪ èĥ½", + "è£ ¸", + "æĬĢæľ¯ åĪĽæĸ°", + "æĸĩåĮĸ æĹħ游", + "åıij 票", + "å¹´ 级", + "ä½ł ä¸į", + "ä¹ĭ å¿ĥ", + "æķ° çϾ", + "åIJij å¾Ģ", + "èĢģ å®¶", + "åľĭ éļĽ", + "çļĦ é«ĺ度", + "æľĿ éĺ³", + "æ¸ħ éϤ", + "èĩª æľī", + "书 ä¸Ń", + "游æĪı è£ħå¤ĩ", + "ä¸ĩ å¤ļ", + "驾驶 åijĺ", + "ä½ł çŁ¥éģĵ", + "åĽ½ åºĨ", + "é£Ł åłĤ", + "æİ¥ åı£", + "æĢ» æķ°", + "åħ¶ä»ĸ çļĦ", + "çĶŁåij½ çļĦ", + "ä½ł åľ¨", + "çļĦ 缮åħī", + "è¿Ļ æĸ¹éĿ¢", + "éĥ½ 说", + "çĸĹ æ³ķ", + "åĭĩ 士", + "åľ¨ åħ¨çIJĥ", + "ä¿ĿéĻ© åħ¬åı¸", + "çĿ£ æŁ¥", + "åĸĦ èī¯", + "表 å½°", + "è¹ ²", + "è·¯ 段", + "æľĥåĵ¡ è¦ı", + "æľĥåĵ¡è¦ı ç¯Ħ", + "æĪ· åŀĭ", + "ä¿ĥ 使", + "ä¿® 建", + "é«ĺ æ°´å¹³", + "åģļ åĩºäºĨ", + "主 åľº", + "è¡Į èµ°", + "空 çϽ", + "æľī人 说", + "è¿Ļ个 ä¸ĸçķĮ", + "åIJį ä¹ī", + "å®Į ç¾İçļĦ", + "羡 æħķ", + "åıĬ åħ¶ä»ĸ", + "åı¯ ç͍", + "æĭ IJ", + "è¾ĥ 大çļĦ", + "æĬĢæľ¯ åĴĮ", + "å°¼ äºļ", + "çϾ è´§", + "æı ī", + "éĢī è´Ń", + "éĺŁ åıĭ", + "ä¼ł æĦŁ", + "ä¼łæĦŁ åύ", + "åıªè¦ģ ä½ł", + "为ä»Ģä¹Ī è¦ģ", + "ä¸ĵ注 äºİ", + "ä½Ļ é¢Ŀ", + "åħ¸åŀĭ çļĦ", + "缮åīį å·²", + "欲 æľĽ", + "èģĶ ç»ľ", + "æµģ ä¼ł", + "çļĦ å®¶åºŃ", + "åı· åı¬", + "çıį è´µ", + "ä¼Ł 大çļĦ", + "éī´ äºİ", + "è·Ł ä»ĸ", + "产 çī©", + "ä¸į å·²", + "è¿Ŀæ³ķ è¡Į为", + "头 ä¸Ĭ", + "åĪĨ è§£", + "åı¯ä»¥ çľĭåĩº", + "æł¡ åĮº", + "åŃĹ ä½ĵ", + "ä¿® çĤ¼", + "çĶļèĩ³ æĺ¯", + "微信 åħ¬ä¼Ĺ", + "åıĸ 代", + "èIJ¥ä¸ļ æĶ¶åħ¥", + "æ½į åĿĬ", + "ä½ł èĥ½", + "社ä¼ļ ä¿Ŀéļľ", + "æ¯ĶèµĽ ä¸Ń", + "污水 å¤ĦçIJĨ", + "夫 å¦ĩ", + "ä¸Ģ å¹ħ", + "沿 æµ·", + "åı£ æĦŁ", + "ä½Ĩ åį´", + "å½ĵ æĹ¥", + "çļĦ æľĢ大", + "æ¯ı ä¸Ģä½į", + "没 äºĭ", + "çī¹ åĪ¥", + "å¼Ģ åѦ", + "è·¯ éĿ¢", + "å¿ĥçIJĨ åѦ", + "æĶ¾ ç½®", + "éĩįåºĨ å¸Ĥ", + "ä½ł èĩªå·±", + "æ¶Īè´¹èĢħ çļĦ", + "ä¸Ģ æ³¢", + "èѦ æĥķ", + "å᧠室", + "注 å°Ħ", + "é£İ 鼨", + "沿 çĿĢ", + "åijĬ 訴", + "表 çݰåĩº", + "åĽĽ æĺ¯", + "åı¤ åħ¸", + "æĽ´ éĩįè¦ģçļĦ", + "好 äºĭ", + "çľ¼ 泪", + "æ¨ ĵ", + "审 åΤ", + "碰 æĴŀ", + "车 ç«Ļ", + "è¿Ľåħ¥ äºĨ", + "éĽĨ åIJĪ", + "æł¼ å¤ĸ", + "宾 é¦Ĩ", + "æĶ¯ä»ĺ å®Ŀ", + "她 æĺ¯", + "æĺ¯ å¦Ĥä½ķ", + "人 次", + "çļĦ æĪIJåĬŁ", + "æĹł åĬĽ", + "æµ· æĭĶ", + "æĺ¥ åŃ£", + "éĥ½ ä¸įä¼ļ", + "çŃī å¤ļç§į", + "ä¸Ģ个 å°ı", + "åģľè½¦ åľº", + "让 æĽ´å¤ļ", + "è¿Ļ çĤ¹", + "æĪIJ åĵģ", + "éĴ ī", + "éģĩ è§ģ", + "çıŃ ä¸»ä»»", + "æĦı æĦ¿", + "çļĦ åIJĮåѦ", + "游 è§Ī", + "åİĭ 缩", + "åľ¨ ä¼łå¥ĩ", + "å¼¹ æĢ§", + "æĹ¥ åĨħ", + "ç¦ı建 çľģ", + "è§Ĵ èIJ½", + "åĪĨ å¼Ģ", + "ä¼ļ 让", + "å¤ĸ åĽ´", + "çĨŁæĤī çļĦ", + "çĨ Ķ", + "ä¸ĩ è¾Ĩ", + "å¤ľ éĹ´", + "车 身", + "ä¸Ń æľŁ", + "å®ĮåĸĦ çļĦ", + "åĵģ ç±»", + "åıĭ è°Ĭ", + "éĢīæĭ Ķ", + "éªij 士", + "å½ ¦", + "çļĦ çľĭæ³ķ", + "åĽ½ çİĭ", + "è¾£ æ¤Ĵ", + "åıijå¸ĥ æĹ¶éĹ´", + "åı¤ åŁİ", + "éļı æľº", + "ç« ĸ", + "å¼Ģ è¾Ł", + "ä¼Ĺ çĶŁ", + "没 åĬŀæ³ķ", + "åįĥ éĩĮ", + "æĿ¥æºIJ äºİ", + "çļĦ æĿĥåĪ©", + "æ¯Ķ åĪĨ", + "满æĦı çļĦ", + "ä¿® è¡Į", + "åĿ ł", + "大 æµ·", + "èİ ¹", + "åĩº 身", + "è« ĩ", + "åħ³ èĬĤ", + "åIJį 人", + "éľĢè¦ģ 注æĦı", + "æĹ© æĻ¨", + "å¤ĸ åįĸ", + "åıĪ è¦ģ", + "æ¶ī æ¡Ī", + "çĶ³è¯· 人", + "éĻĦè¿ij çļĦ", + "åĬłå¿« æİ¨è¿Ľ", + "æĸ° å¹´", + "大 è¡Ĺ", + "ä¸Ģ é»ŀ", + "èĭı å®ģ", + "æĤĦ æĤĦ", + "èĦ¾ æ°Ķ", + "å¸Į èħĬ", + "éļı åį³", + "æķ¢ äºİ", + "å®ŀè·µ ä¸Ń", + "æĺ¯ 没æľī", + "æľīè¶£ çļĦ", + "æĿ¥èĩª äºİ", + "è£ģ åΤ", + "女 åŃ©åŃIJ", + "èĩ³ åħ³", + "èĩ³åħ³ éĩįè¦ģ", + "æĻº åĬĽ", + "èµ° åĩºåİ»", + "çŁŃ æĿ¿", + "大 åĽ½", + "çļĦ 认è¯Ĩ", + "å¹´ å¤ľ", + "åĨį åΰ", + "åIJĮ æł·çļĦ", + "å¯Ĩ å°ģ", + "å¤ĸ交 éĥ¨", + "çĶŁ æķĪ", + "æĤ¨ åı¯ä»¥", + "ä½ł åĢij", + "è¿ĩ å¹´", + "å¼ ĵ", + "è¡Į æĿİ", + "æ¯Ķ èµ·", + "身 é«ĺ", + "è¿Ļ个 人", + "ä¸Ń å¤ĸ", + "éģĵ æŃī", + "çĽ¯ çĿĢ", + "亲 åŃIJ", + "éĹ ¸", + "çϽ äºij", + "èĦĸ åŃIJ", + "ä¸ĢåĪĩ éĥ½", + "æ· ij", + "è° ľ", + "åģ¶ çĦ¶", + "éĿł è°±", + "é«ĺ 管", + "ä¸ĭ åıij", + "æĶ¾ åΰ", + "ç±» åĪ«", + "ä¸ĭ åĪĹ", + "æ·· ä¹±", + "åIJĪæ³ķ æĿĥçĽĬ", + "çݯ çIJĥ", + "æľīæķĪ åľ°", + "åķĨ æĪ·", + "æ¹ĸ 人", + "æµ· 岸", + "æĬķ 产", + "两 个æľĪ", + "éĥ½ éĿŀ常", + "å¢ŀ强 äºĨ", + "æĿ¥ åΰäºĨ", + "åī© ä½Ļ", + "æĤ¨çļĦ åŃ©åŃIJ", + "æµģ æ°´", + "æŃ£ ä¹ī", + "天 çĮ«", + "åģļ è¿ĩ", + "ä½ķ æĹ¶", + "æĪij åİ»", + "çľģ 份", + "å¥ĸ éĩij", + "该 å¦Ĥä½ķ", + "ä¸ĭ çıŃ", + "åģ¶ åĥı", + "æijĨ æĶ¾", + "æĸ° 模å¼ı", + "æĬķ è³ĩ", + "è·¯ åı£", + "åĨľæ°ij å·¥", + "大 åѸ", + "ä»¶ äºĭ", + "æł¹æľ¬ ä¸į", + "æµĵ 度", + "æµĵ åİļ", + "è½® èĥİ", + "æĪ¿ ä¼ģ", + "éĿŀ常 好", + "ä»İ ä¸Ń", + "人 æł¼", + "ç¿ ģ", + "æĹ¶éĹ´ åĴĮ", + "è¿Ļ ä¸įæĺ¯", + "åΏ åķĨ", + "æĥĬ 人", + "åύ å®ĺ", + "åĩĨ åĪĻ", + "æĥħ æĻ¯", + "æĽ´ é«ĺçļĦ", + "åѦ å®¶", + "泡 沫", + "åľ°æĸ¹ æĶ¿åºľ", + "å°± çŁ¥éģĵ", + "åij¼ åIJģ", + "ç»ı è´¸", + "èĬ± éĴ±", + "æľī ä¸Ģ次", + "æĦŁ æħ¨", + "ä¸Ģ åįĥ", + "å¤ľ æĻļ", + "詹 å§Ĩ", + "詹å§Ĩ æĸ¯", + "è¦ģ éĹ»", + "ç» Ĵ", + "æºIJ äºİ", + "çļĦ è´¨éĩı", + "注æĦı äºĭ项", + "æħ¢ æĢ§", + "稳å®ļ çļĦ", + "建设 åĴĮ", + "æĻ¯ 象", + "éĩı åĮĸ", + "çļĦ 話", + "è¯Ħ 级", + "æº ľ", + "红 åĮħ", + "éĢļ éģİ", + "社ä¼ļ 责任", + "æĸ° 产åĵģ", + "åĨ· éĿĻ", + "çľĭ ä¸įåΰ", + "èģĶ éĤ¦", + "éŃ Ħ", + "çļĦ åīįæıIJ", + "çļĦåīįæıIJ ä¸ĭ", + "è¾ĥ 好", + "çļĦ æĦŁæĥħ", + "客æĪ· æıIJä¾Ľ", + "çĭ¬ èĩª", + "å¢ŀ æĶ¶", + "æĸĩ çĮ®", + "æĭ¼ åij½", + "管çIJĨ åĴĮ", + "æµģåĬ¨ æĢ§", + "åħ¨ å®¶", + "ä¸Ĭ æĸ¹", + "æİ¨åĩº çļĦ", + "ä¸ī åĽ½", + "ä¸Ģ个 æĺ¯", + "æĸ° ä¸Ģè½®", + "æĸĩåĮĸ éģĹ产", + "æ® º", + "大 æ¹¾åĮº", + "éĥ½ éľĢè¦ģ", + "çļĦ å®ŀéĻħ", + "ç· Ĭ", + "大 å¥ĸ", + "åħī èĬĴ", + "便 äºİ", + "çļĦ 表æĥħ", + "æ¼Ķ ç»İ", + "红 åĨĽ", + "å½ĵ æĪij", + "æ²» æĦĪ", + "é¢Ŀ 度", + "éĿ ľ", + "ä»»ä½ķ 人", + "è¡Ĺ 头", + "çī¹ æĸ¯", + "çĸ¯ æĭī", + "åĮ»çĸĹ æľºæŀĦ", + "ç»Ļ åŃ©åŃIJ", + "è§Ħ 磩", + "è£ ľ", + "çļĦ 身影", + "ä¸ĵ æłı", + "æĿ¥ 临", + "ç«¥ å¹´", + "å¤į èĭı", + "è¨ Ĥ", + "åŀĭ åı·", + "åĽ¾ æ¡Ī", + "ç®Ģ åİĨ", + "æĭ ±", + "èį· åħ°", + "ä»» æĦı", + "æī¿ æİ¥", + "è¿Ļ æīį", + "客 车", + "æľĿ çĿĢ", + "éłħ 缮", + "åı° é£İ", + "çļĦ æĪ¿åŃIJ", + "éª ı", + "æĿ± 西", + "éģĹ ä¼ł", + "è¶Ĭ å¤ļ", + "äºĨ ä»ĸçļĦ", + "ä¸Ĭ åij¨", + "管çIJĨ åĪ¶åº¦", + "失 ä¸ļ", + "çĶ· åıĭ", + "æİ¥ ç§į", + "å¨ģ åIJį", + "çĴ° å¢ĥ", + "åıijçĶŁ åľ¨", + "个 åĽ½å®¶", + "åĪĽæĸ° åıijå±ķ", + "æĶ¹åıĺ äºĨ", + "åģ¥åº· çļĦ", + "å̼å¾Ĺ ä¸Ģ", + "å̼å¾Ĺä¸Ģ æıIJ", + "åĽ¢ ä¼Ļ", + "åģĩ 设", + "åı° ä¸Ĭ", + "è§ĦèĮĥ åĮĸ", + "éĻª åIJĮ", + "座 æ¤ħ", + "åı¯ æĢľ", + "åħĭæĢĿ 主ä¹ī", + "æ³ķå¾ĭ 责任", + "ä¸Ģ é¡¿", + "æĬ¬ 头", + "为 éĩįçĤ¹", + "è¿ľ æ´ĭ", + "éĢı è¿ĩ", + "åħ¨çIJĥ åĮĸ", + "è¶£ åij³", + "票 æĪ¿", + "æ¯ı 人", + "åIJĦç§į åIJĦæł·", + "äºĨ åĩºæĿ¥", + "ç»Ŀ对 æĺ¯", + "ä¸ĭ å±ŀ", + "ä¸Ģ åıĮ", + "è¿Ļ åĿĹ", + "æĬĹ çĸ«", + "è¦ģ çĤ¹", + "å½¢æĪIJ çļĦ", + "æĪij çľĭ", + "ä¸ĩ éĩĮ", + "èĢĥ çłĶ", + "为 åħ¶", + "æ°ij 宿", + "å¤ļ ä½į", + "大 èĩ´", + "ä»ĺ è´¹", + "åħ¥ æīĭ", + "å±ħ å®¶", + "æīĢåľ¨ åľ°", + "人 身", + "è¿ĩ å¾Ĺ", + "è¯ķ è¯ķ", + "访 è°Ī", + "åĬł éĩį", + "å°± ä¸įä¼ļ", + "çĶŁäº§ ä¼ģä¸ļ", + "åĽŀ åĽ½", + "åºķ 线", + "èµ¶ åΰ", + "æĶ¯ éĺŁ", + "æĪij们 éĥ½", + "éĤ® æĶ¿", + "缴 èĩ³", + "éĴ¢ çIJ´", + "åħ ľ", + "çłĶ讨 ä¼ļ", + "æľĪ 亮", + "åĿļæĮģ 以", + "åħ¬å®ī éĥ¨", + "éĴ¢ 管", + "å°ı çϽ", + "ç½® ä¸ļ", + "èģ ĭ", + "书 åĨĻ", + "æĿ ı", + "éħį æĸ¹", + "èĢĮ åıĪ", + "çijŀ 士", + "çķĮ çļĦ", + "èĢģ 大", + "æĪIJçĨŁ çļĦ", + "å¹² ä»Ģä¹Ī", + "ä¸ĵ项 æĸĹäºī", + "çŃī å¤ļ个", + "èĦ± 离", + "ä¸ī 个æľĪ", + "çłĶç©¶ åijĺ", + "æĹĭ 转", + "æŀģ èĩ´", + "åħį è´£", + "åħįè´£ 声æĺİ", + "å¾Īå¤ļ çݩ家", + "车 ä¸Ĭ", + "交 äºĴ", + "å·² æĺ¯", + "ä¸Ģ å°ı", + "çļĦ éĩįçĤ¹", + "èĬ± äºĨ", + "ä¸į æĺİ", + "æľīåħ³ è§Ħå®ļ", + "çĬ¹ å¦Ĥ", + "çľ ¸", + "å¯ ¡", + "çļĦ è¡£æľį", + "åĮħ 裹", + "身 åŃIJ", + "å¸ĪèĮĥ 大åѦ", + "äºĭ åħĪ", + "线 æĿ¡", + "æ³ķ åζ", + "åħ» æĬ¤", + "稳å®ļ æĢ§", + "éĤ µ", + "åŀĦ æĸŃ", + "é¡ į", + "èĢĥ åı¤", + "æĿł æĿĨ", + "èĭı èģĶ", + "æ°´ ç͵", + "åħ·ä½ĵ çļĦ", + "æ¿Ģ æ´»", + "æĪij æł¡", + "åĪļ å¼Ģå§ĭ", + "åĩ¸ æĺ¾", + "ç¦ ¾", + "åħ¼ èģĮ", + "éĢı éģİ", + "åľ¨ 游æĪıä¸Ń", + "社ä¼ļ åıijå±ķ", + "好 çİ©", + "å¹» æĥ³", + "ä¸į 代表", + "注æĦı åĬĽ", + "æ£ į", + "ç͍ æīĭ", + "ç¾İ 人", + "许å¤ļ 人", + "å¾Ī æĺ¯", + "çļĦ çłĶåıij", + "æīĵ åĩº", + "åIJĪä¼Ļ 人", + "ä¸Ģ å¤ľ", + "ç¼ĵ ç¼ĵ", + "ä¿® æŃ£", + "æĦŁ çŁ¥", + "ç»Ī 身", + "æ¿Ģ ç´ł", + "çݯå¢ĥ ä¸ĭ", + "次 ä¼ļè®®", + "ç»ıæµİ å¢ŀéķ¿", + "æī Ľ", + "åıij éħµ", + "åĪĨæŀIJ å¸Ī", + "åľ¨ æľªæĿ¥", + "主è¦ģ æľī", + "ä¸Ģ åŃ£åº¦", + "çļĦ 说æ³ķ", + "ä»İæĿ¥ 没æľī", + "è´§ 车", + "缩 å°ı", + "太 è¿ĩ", + "æķĪ åĬĽ", + "ä¸į ä¸ĭ", + "æĬķ 稿", + "èᝠä¸ļ", + "ç»Ħ éķ¿", + "ç«Ļ çĤ¹", + "å¾Ī åĸľæ¬¢", + "éIJ µ", + "åĬ¿ 头", + "æ¼ı æ´ŀ", + "æĦ¤ æĢĴ", + "åħħ å®ŀ", + "åĪĽä¸ļ æĿ¿", + "çĪ ª", + "æľª å¿ħ", + "åºķ éĥ¨", + "å¾Ĺ åĪĨ", + "人æ°ij åĮ»éĻ¢", + "äºĮæīĭ æĪ¿", + "å·²ç»ı 被", + "大 楼", + "æĸ° æĪ¿", + "辦 æ³ķ", + "ç͍ åĬĽ", + "æĭĵ 宽", + "åĨħ åľ¨", + "æĴŃ åĩº", + "饰 æ¼Ķ", + "ä¹Ł 让", + "ä½ľ çĤº", + "çī©ä¸ļ 管çIJĨ", + "åį´ ä¸į", + "为 ä¸ŃåĽ½", + "å±Ģ åĬ¿", + "ä¸į èĤ¯", + "æľĢ æĸ°çļĦ", + "åı¯ä»¥ éĢīæĭ©", + "æĺ¾ çݰ", + "å°± ç®Ĺæĺ¯", + "åľ¨ æł¡", + "é¾ Ł", + "两 æĿ¡", + "çļĦ å®ŀåĬĽ", + "è¶Ĭ 好", + "她 åľ¨", + "å¿ł è¯ļ", + "ä¹Ł éľĢè¦ģ", + "游æĪı æĵįä½ľ", + "è¶ħ åĩº", + "å¦Ĥæŀľ ä¸į", + "æīĢåľ¨ çļĦ", + "ä½ł è¿ĺ", + "以 åĨħ", + "æľī ä¸Ģå®ļ", + "åı¯ è¾¾", + "è·ij åΰ", + "åī Ľ", + "建ç«ĭ åģ¥åħ¨", + "æķ´ 车", + "åīį æĸ¹", + "éĹ´ æİ¥", + "çѹ å¤ĩ", + "çĸ² åĬ³", + "离 å¼ĢäºĨ", + "æ± Ŀ", + "éĿ¢ éĥ¨", + "ä¹ĭåīį çļĦ", + "åıĺ 为", + "å¦Ĥæŀľ 说", + "对 ä»ĺ", + "åĿĩ åı¯", + "被åijĬ 人", + "ç²¾ ç¾İ", + "èģļ ä¼ļ", + "çĿĢ æĢ¥", + "è°· æŃĮ", + "ä¸Ģ åı·", + "红 åĪ©", + "ä¼łå¥ĩ 游æĪı", + "å» ĸ", + "è´ ŀ", + "ä¹° åΰ", + "éŃ ļ", + "ä½ĵ è´¨", + "å°ij äºĨ", + "æ³ī å·ŀ", + "åIJ Ł", + "ç»Ŀ ä¸į", + "é»ij æģ¶", + "é»ijæģ¶ åĬ¿åĬĽ", + "ä¸Ĭ æĺł", + "çļĦè¯Ŀ é¢ĺ", + "ä¸ĩ人 次", + "ä¸ĸ éĹ´", + "ç͍ å·¥", + "è´¯ ç©¿", + "å®Ŀ çŁ³", + "ä½ł 好", + "åĪĩ åī²", + "强 åĽ½", + "åĽŀ èIJ½", + "æ°´ æĻ¶", + "模 仿", + "æ´ª æ°´", + "éĢĻ éº¼", + "åįģä¸ī äºĶ", + "ä½ ij", + "éĻ Ħä»¶", + "çļĦ å¢ŀéķ¿", + "éĻĦ å±ŀ", + "çݰ å·²", + "帮 ä½ł", + "éĩij çīĮ", + "é«ĺ åİŁ", + "åľ¨ å®¶éĩĮ", + "éĺ² èħIJ", + "ç¡®å®ŀ æĺ¯", + "宣 讲", + "天 æīį", + "ç»ıèIJ¥ 管çIJĨ", + "éĶħ çĤī", + "åIJĪ ä¸Ģ", + "è§Ĥ èµı", + "éķ¿ è¾¾", + "主ä¹ī æĢĿæĥ³", + "éĤ£ 麼", + "é£İ äºij", + "为主 çļĦ", + "æļij åģĩ", + "æĮģ ä¹ħ", + "å¼Ĥ åľ°", + "å¼Ģ éŨ", + "模 æĿ¿", + "æī¹ 次", + "ä¸į 便", + "天 çĶŁ", + "åĩł 个æľĪ", + "ä¸ĵ ç§ij", + "åı¦ æľī", + "åħ¬å¸ĥ çļĦ", + "æĩ ·", + "åľº åIJĪ", + "çļĦå¿ĥ æĢģ", + "è¿ĺ 好", + "å®ŀ æĪĺ", + "èĢģå¸Ī çļĦ", + "åħ© åĢĭ", + "åı¯ åľ¨", + "éĤ£ ä½į", + "å¥ł å®ļäºĨ", + "ä¿ĥ éĶĢ", + "æı´ åĬ©", + "ä¸ĩ çī©", + "æĥħ æĬ¥", + "é¦ĸåħĪ è¦ģ", + "æĸĩåĮĸ åĴĮ", + "éĥ½ å·²ç»ı", + "ä¸Ĭ ä¸ĸ纪", + "åĨľ åľº", + "大 æī¹", + "æĺİçϽ äºĨ", + "çļĦ æĪIJéķ¿", + "çļĦ æ¯ĶèµĽ", + "失 误", + "åģļ æĪIJ", + "ä»Ĭ天 å°ıç¼ĸ", + "é¢Ĩ è¢ĸ", + "æıIJåįĩ äºĨ", + "å¾IJ å·ŀ", + "ä»į æľī", + "è¿ĩ 滤", + "å¹½ é»ĺ", + "çĥŃ éĩı", + "ä¸Ģ é¦ĸ", + "æ¼Ĥ亮 çļĦ", + "åĩł ç§į", + "åĢ¡ è®®", + "å°±åı¯ä»¥ äºĨ", + "æİĴ åĪĹ", + "éĩį éĩį", + "ä¼ģä¸ļ åĴĮ", + "ä¸ĵ å±ŀ", + "çħ İ", + "亲 æĪļ", + "çϾåĪĨ ä¹ĭ", + "稿 ä»¶", + "è¿ĺ å¾Ĺ", + "人 åĵ¡", + "äºī 夺", + "æĽ´ 容æĺĵ", + "大 èĩªçĦ¶", + "鼻 èħ¦", + "太 空", + "åľ° å¤Ħ", + "å¤ ¢", + "ä»ĸ 对", + "å¿ħ å°Ĩ", + "ä¸į å½ĵ", + "严 è°¨", + "åĩº åľº", + "å·²ç»ı æľī", + "é¢Ĩ åĨĽ", + "é«ĺ æ¡£", + "ä¸Ģ æīĢ", + "æł Ĺ", + "让 åѦçĶŁ", + "æĽ¹ æĵį", + "æŁIJ ä¸Ģ", + "伸 åĩº", + "èĬ± åįī", + "æ¸ħ éĨĴ", + "èģĶç³» æĸ¹å¼ı", + "åĪĨ å±Ģ", + "èħ ³", + "æ©¡ èĥ¶", + "éķ¿ å¾Ĺ", + "绿 åľ°", + "è¢ į", + "çļĦ èīºæľ¯", + "女 æľĭåıĭ", + "ä¸Ń è¶ħ", + "离 åŃIJ", + "å¤ļæł· åĮĸ", + "éĺ³ åı°", + "ä½İ 碳", + "ä¸Ģ ç±»", + "çŃīæĸ¹éĿ¢ çļĦ", + "å¾Ĺ 好", + "模 åħ·", + "ä¸ĩ 亿", + "çķĻ æĦı", + "临 æ²Ĥ", + "å°ij éĩı", + "çľĭ åIJij", + "ç»ıèIJ¥ èĢħ", + "çķĻä¸ĭ äºĨ", + "åĿı äºĨ", + "åijĬ åĪ«", + "羣 çIJĨ", + "ç¼´ è´¹", + "æĬĬ ä½ł", + "çļĦ ä»»åĬ¡", + "æĪij 对", + "ä¹° åħ¥", + "çĻ» ä¸Ĭ", + "æľī 两个", + "ä¸Ģ 头", + "æĵį æİ§", + "åħ¨ è¦ĨçĽĸ", + "çĿĢ æīĭ", + "å¢Ļ éĿ¢", + "å¤ļ æĸ¹", + "åı¯çα çļĦ", + "ä¹Ł åı¯èĥ½", + "æľĢ æľī", + "è¿ĻäºĽ éĥ½æĺ¯", + "æĥ ¡", + "å® ®", + "å¾Ī å°ı", + "éĹ®é¢ĺ æĺ¯", + "åĿĩ æľī", + "å¾ģ éĽĨ", + "说 åĩº", + "æľī æĦı", + "é¢ Ĥ", + "æī¬ å·ŀ", + "åķĨä¸ļ 模å¼ı", + "çĶŁ èĤĸ", + "æįIJ 款", + "å² Ĥ", + "ç¾İ æĻ¯", + "è¿ĺ 羣", + "æĭ¥ æĬ±", + "身ä½ĵ åģ¥åº·", + "æ·± å¤Ħ", + "çľ¼ ç¥ŀ", + "çļĦ 形象", + "ä¼ĺ è¶Ĭ", + "å½ĵ æĪIJ", + "åĮº åĪĨ", + "åİ» éϤ", + "注 å®ļ", + "å§IJ 妹", + "åĮº åĨħ", + "é© ļ", + "æļĹ ç¤º", + "æĺİ äº®", + "æħ° éĹ®", + "å¸Ĥåľº 份é¢Ŀ", + "çĮª èĤī", + "çļĦ èµĦéĩij", + "åİĨ ç»ı", + "å§ĭç»Ī åĿļæĮģ", + "çĶŁ æľº", + "ä¸į 顾", + "éĩij åĪļ", + "大 声", + "éĻķ 西çľģ", + "é² į", + "åĨľä¸ļ åĨľæĿij", + "æľī 害", + "éŨ è¯Ĭ", + "æ¯ı ä¸Ģ次", + "çļĦ åĽłç´ł", + "é¢Ŀ å¤ĸ", + "åİ¿ 级", + "çļĩ åIJİ", + "åĽ½ ä¼ģ", + "é¦ĸ éĢī", + "ç¼ĸ åĨĻ", + "æĭ¿ èµ·", + "åģ· åģ·", + "ä¸İ ä¸ŃåĽ½", + "åįĸ å®¶", + "ç»Ļ ä»ĸ们", + "ç¥ŀ è¯Ŀ", + "åѸ æł¡", + "æĪij ä¸Ģ缴", + "çŁ¥éģĵ äºĨ", + "åį Ĵ", + "åĴĮ åľ°åĮº", + "ä»Ģä¹Ī éĥ½", + "çĶ» å®¶", + "æľ¬ çĿĢ", + "ä½Ļ åIJį", + "审 çIJĨ", + "ä¸Ģ åIJij", + "åıijå±ķ è¶ĭåĬ¿", + "åĮº éĹ´", + "注åĨĮ èµĦæľ¬", + "çIJ ¦", + "ä¸į åı¯ä»¥", + "çļĦ åĦ¿åŃIJ", + "å̼ çıŃ", + "ä¸¥æł¼ çļĦ", + "å®ŀä½ĵ ç»ıæµİ", + "æľī æĿĥ", + "æĪij åıĪ", + "éĵ¶ æ²³", + "ç«ĭ 马", + "æĿĢ äºĨ", + "åĮħ 容", + "管 å®¶", + "身 é«Ķ", + "éĵ ħ", + "å°ı åŃIJ", + "管çIJĨ ç³»ç»Ł", + "æľīçļĦ 人", + "é£İ ç͵", + "æĻºèĥ½ åζéĢł", + "ç²¾ ç¡®", + "æĭĽåķĨ å¼ķ", + "æĭĽåķĨå¼ķ èµĦ", + "äºĮæīĭ 车", + "åİ¿ å§Ķ", + "èīº äºº", + "å¥ ķ", + "è¿İ æĿ¥äºĨ", + "ç»ĵæĿŁ äºĨ", + "çļĦ ä¼łç»Ł", + "æĭ¼ æIJı", + "奥 迪", + "çĸij æĥij", + "ä¹ĭ æĹ¥èµ·", + "æłĩå¿Ĺ çĿĢ", + "åľ° åįĢ", + "è¯ł éĩĬ", + "åΰ æľŁ", + "åħ¨ éĥ½", + "çŁŃ æļĤ", + "æĺ¯ æĪijåĽ½", + "æĪij å·²ç»ı", + "æ»´ æ»´", + "天 èµĭ", + "对 她", + "åį«çĶŁ éĹ´", + "çĶŁäº§ åŁºåľ°", + "æĹ¥ è®°", + "çļĦ æķĻåѦ", + "åĵ ĩ", + "æ°ij äºĭ", + "è¿ĺ åİŁ", + "æīĭ ä¸ŃçļĦ", + "çļĦ èī¯å¥½", + "æ· «", + "ä¸Ńåħ± ä¸Ń央", + "åĪ ĥ", + "åĵ Ħ", + "åľ¨ ä»ĸçļĦ", + "å°Ī æ¥Ń", + "åľº éĿ¢", + "éĤ» å±ħ", + "çĹ Ĵ", + "å¦ Ħ", + "å¤ĸ ç§ij", + "ä¸į éĢĤ", + "举åĬŀ çļĦ", + "é Ĥ¹", + "åħļçļĦ 建设", + "çϼ 表", + "è·¨ çķĮ", + "æ²ī æ·Ģ", + "大 çīĩ", + "è¶Ĭ é«ĺ", + "å°Ĩ æĺ¯", + "è§ī éĨĴ", + "åĤ¨ åŃĺ", + "å¢ŀ 大", + "ä¸į 让", + "æķ´ å½¢", + "å¹³åı° ä¸Ĭ", + "åĩł ä½į", + "è¯ī æ±Ĥ", + "好 ä¸į好", + "åľ į", + "æĸĩ æľ¬", + "é̲ åħ¥", + "ç´ į", + "æł¹ æĵļ", + "èįī æ¡Ī", + "åħŃ ä¸ª", + "åĭ ¿", + "åζ æĪIJ", + "饮 æ°´", + "æ°¸ æģĴ", + "èĩª æĿĢ", + "åı¸ 马", + "éļ¾ çĤ¹", + "为 æĪij们", + "å¼ §", + "åī© ä¸ĭçļĦ", + "åĩĨå¤ĩ 好", + "çļĦ æľĢä½³", + "èģĶåIJĪ ä¼ļ", + "æĤ£èĢħ çļĦ", + "æĪijä¸į çŁ¥éģĵ", + "ä¸ĭ ä¸Ģ个", + "åıijå±ķ æĸ¹åIJij", + "ç¬ ¨", + "æīĢ以 æĪij们", + "åĨĻ äºĨ", + "éĢł æĪIJäºĨ", + "æ²Ļ æ¼ł", + "çŃĽ éĢī", + "çģ¾ åĮº", + "ä¸Ĭ çľĭ", + "éħ ¶", + "æ»ļ åĬ¨", + "éļ¾ åħį", + "åIJī åĪ©", + "ä¸Ģ ä¸Ģ", + "ç²¾ å¯Ĩ", + "伸 æīĭ", + "礼 仪", + "åħ¨ æĺ¯", + "è¶Ĭ 大", + "ä¸Ń æłĩ", + "åıĸ åĨ³", + "åıĸåĨ³ äºİ", + "éĢĶ ä¸Ń", + "讨 åİĮ", + "æīĭ åĨĮ", + "第 ä¹Ŀ", + "åŃĶ åŃIJ", + "çĦ¶ å¾Į", + "ä¸Ģ åħ±", + "æµ· æĬ¥", + "款 å¼ı", + "æķ´ 天", + "è¾¹ çķĮ", + "è·¯ è¾¹", + "æĻĭ 级", + "åIJIJ æ§½", + "çļĦ åħ³æ³¨", + "æĪij 没æľī", + "å°±æĺ¯ åľ¨", + "缮 çļĦæĺ¯", + "åį³ä½¿ æĺ¯", + "é¡¶ å°ĸ", + "å·²ç»ı åľ¨", + "å®īåħ¨ éļIJæĤ£", + "æłĩ æĿĨ", + "åįĹ éĢļ", + "ä¼ļ 对", + "座 ä½į", + "èµ¢å¾Ĺ äºĨ", + "åİŁæĿ¥ çļĦ", + "身 为", + "书 åºĹ", + "è¢Ń åĩ»", + "ä»Ĭ æĻļ", + "以 èī²", + "以èī² åĪĹ", + "æĬĸ éŁ³", + "åį´ æ²¡æľī", + "丧 失", + "çļĦ å±ĢéĿ¢", + "åįģåĽĽ äºĶ", + "çŃī 缸åħ³", + "æ±ĩ æĢ»", + "å¤ĸ 表", + "为 æ°ij", + "éľĩ æĥĬ", + "å¥Ĺ è·¯", + "çĬ¯ç½ª å«Įçĸij", + "å°Ĩ 以", + "çİĩ é¢Ĩ", + "éħĴ åIJ§", + "è¡Įä¸ļ åıijå±ķ", + "å¹´ èĩ³", + "åύ æĿIJ", + "åĴĮ æĬĢæľ¯", + "æľĢ å°ı", + "è¿Ļä¸Ģ åĪĩ", + "èģĮ ç§°", + "å½ĵ ä½ľ", + "æİĢ èµ·", + "åĴ ĭ", + "ä¸Ń éĥ¨", + "æīĭ èĩĤ", + "ç½¢ äºĨ", + "媳 å¦ĩ", + "æ´½ è°Ī", + "æĹ¶ä»£ ä¸ŃåĽ½", + "人çĶŁ çļĦ", + "æŀģ éĻIJ", + "ç¦ Ħ", + "åĮº æĶ¿åºľ", + "æľ¬ éĴ±", + "礼 åĵģ", + "çļĦ éĤ£ä¸ª", + "侦 æŁ¥", + "太å¤ļ çļĦ", + "å®ŀæĸ½ æĸ¹æ¡Ī", + "é«ĺ æłĩåĩĨ", + "æĮĩæĮ¥ éĥ¨", + "å̾ æĸľ", + "çī¹èī² ç¤¾ä¼ļ", + "çµIJ æŀľ", + "éĴ» çŁ³", + "ç§» æ¤į", + "çī¹ ç§į", + "èĩª æĦ¿", + "æĭľ çĻ»", + "åįķ 身", + "åį´ åıĪ", + "åĪ¥ 人", + "åIJĪ è§Ħ", + "æľº ç͵", + "çī¹ æĦı", + "å½ĵåīį ä½įç½®", + "ä¹° å®¶", + "åIJĪ çº¦", + "èĤ© èĨĢ", + "为 åĩĨ", + "å®¶ è£ħ", + "çļĦ çĥŃæĥħ", + "éĿŀ éģĹ", + "çļĦ éŃħåĬĽ", + "åİŁ åijĬ", + "社ä¼ļ åIJĦçķĮ", + "ä¹° çļĦ", + "å¤ļ åIJĥ", + "éĽķ å¡ij", + "èµ· ä¹ī", + "åĬł åī§", + "éĤ£ä¸Ģ åĪ»", + "å°Ĩ è¿Ľä¸ĢæŃ¥", + "æ¡Ĥ æŀĹ", + "æĽ´ 强", + "对 ä¼ģä¸ļ", + "æĹł æĦı", + "ä¹łè¿ijå¹³ æĸ°", + "æµģ 失", + "å¾® 软", + "缸 对äºİ", + "座è°Ī ä¼ļ", + "主 èIJ¥ä¸ļ", + "主èIJ¥ä¸ļ åĬ¡", + "ç§ģ åĭŁ", + "å±ķ示 äºĨ", + "常æĢģ åĮĸ", + "è² ´", + "符 åı·", + "å¹´è½» çļĦ", + "å°± éľĢè¦ģ", + "ä¹Ł æĽ¾", + "çļĦæĥħ 绪", + "è¾¾ æłĩ", + "èĩ ¨", + "ä½į å±ħ", + "ä»ħ 为", + "é¦ĸ å®¶", + "éĺ´ éĺ³", + "ä¸įåĨį æĺ¯", + "åĽłä¸º å®ĥ", + "ä¼ģä¸ļ åľ¨", + "çĺ ¾", + "åIJ¬ è§ģ", + "åİŁ æľī", + "åζ è£ģ", + "å¯Ĥ å¯ŀ", + "éĢļè¿ĩ 对", + "æ»ij éĽª", + "è¿Ļ å¼ł", + "çļĦ çIJĨè§£", + "æĸ° ä¸ŃåĽ½", + "è¿Ļ åĦ¿", + "ä½İ ä»·", + "æĥ³ è¿ĩ", + "çļĦ ä¿¡å¿ĥ", + "建çŃij çī©", + "çļĦ é¢ľèī²", + "ä¸į åºĶ该", + "æĹłçĸij æĺ¯", + "å¼ķèµ· äºĨ", + "åħ¨ åijĺ", + "æĿ° åĩº", + "è¿Ļæĺ¯ æĪij", + "èª °", + "èĺ ĩ", + "éĺµ åľ°", + "åħħ å̼", + "çŁ¿ ä¸ļ", + "çĿĢ ä»ĸ", + "ä¿¡ 访", + "ä¸ĩ è¾¾", + "æij© æĵ¦", + "å¼Ģ 端", + "èı² å¾ĭ", + "èı²å¾ĭ 宾", + "车 åŃIJ", + "æľ¬èº« çļĦ", + "çģ«è½¦ ç«Ļ", + "常 å·ŀ", + "为 代表", + "为代表 çļĦ", + "广 ç͵", + "亲 人", + "åı³ æīĭ", + "éĽĨ è£ħ", + "éĽĨè£ħ ç®±", + "çļĦ åį°è±¡", + "æ©Ł æľĥ", + "åĮĨ åĮĨ", + "åħī ç͵", + "大 æĸ¹", + "è¿ĺ æľª", + "åĪ© 好", + "ç»Ŀ 大å¤ļæķ°", + "åľ¨ è¿Ļç§į", + "ä¸Ģ ç»Ħ", + "æĸ° èĤ¡", + "转 åıij", + "æ³ķ åºŃ", + "æĹł æīĢ", + "éģĵ è·¯ä¸Ĭ", + "çŁ¿ å±±", + "èij ī", + "æĶ¶ åĽŀ", + "ç§° ä¹ĭ", + "ç§°ä¹ĭ 为", + "æıŃ éľ²", + "åı£ 岸", + "åIJ ¼", + "å¿ĥ æĥ³", + "çļĦ 梦æĥ³", + "éĽ ¯", + "ä¹ĭ åĪĿ", + "å¥ĸ 项", + "订 éĺħ", + "èĵĿ 天", + "åĿ¦ åħĭ", + "ç«ĭ æ¡Ī", + "èģĶ æīĭ", + "ä½Ĩæĺ¯ æĪij", + "帮 æĪij", + "ä»ħ 代表", + "说 æĪij", + "çļĦ è¶ĭåĬ¿", + "æ¯Ķè¾ĥ 大", + "èµ° å»Ĭ", + "éĩįçĤ¹ é¡¹çĽ®", + "èµĮ åľº", + "åIJį çīĩ", + "æĦŁ åı¹", + "åľ¨ åľ°ä¸Ĭ", + "åıij çĥŃ", + "èĮĥ çķ´", + "çļĦ éģĵè·¯", + "éĩij èī²", + "ä»ĸ åıĪ", + "ä¼ļ 产çĶŁ", + "æ°ij åĽ½", + "å®ĺæĸ¹ ç½ijç«Ļ", + "æĶ¶çĽĬ çİĩ", + "çļĦ åΰæĿ¥", + "çļĦ åĬŀæ³ķ", + "æĶ¹ åζ", + "ä¸ĩ ç§ij", + "ä¸į äºĪ", + "è¿ĻäºĽ éĹ®é¢ĺ", + "çα ä¸Ĭ", + "çIJĥ åľº", + "è´£ 令", + "æİĪ è¯¾", + "åľ¨ é¦Ļ港", + "ç»Ĩ èħ»", + "å¤ļ ä¸ĩ", + "åIJĮ å¹´", + "大 使", + "æĸ ĭ", + "ä¹Ł 为", + "æĥł å·ŀ", + "åIJī 祥", + "çͰ åĽŃ", + "åĽ½å®¶ éĺŁ", + "éĩį çĶŁ", + "åľ¨ åħ¶", + "é¦Ļ åij³", + "è´Ł èį·", + "亲 åĪĩ", + "èĩª 豪", + "没 éĶĻ", + "åĽłä¸º åľ¨", + "æĺŁ æĺŁ", + "éĤ ij", + "è¿ĺæľī å¾Īå¤ļ", + "æij© æīĺ", + "æij©æīĺ 车", + "æŃ¥ è¡Į", + "管çIJĨ ä½ĵç³»", + "èĦļ ä¸ĭ", + "éģİ åİ»", + "æ±ī è¯Ń", + "对 ä¸įèµ·", + "çļĦ ç»ıåİĨ", + "åıĬ 缸åħ³", + "ä¸įå°ij 人", + "éĩį ç£ħ", + "åĬ³åĬ¨ èĢħ", + "大åĬĽ åıijå±ķ", + "æĢİä¹Ī åģļ", + "çĭĹ çĭĹ", + "举åįĹ äºļ", + "åĭĩ äºİ", + "åħ¬ éĸĭ", + "çĵ· çłĸ", + "åıĤ çħ§", + "广æĴŃ ç͵è§Ĩ", + "举 åĬ¨", + "æ±Ł 西çľģ", + "æķĪ èĥ½", + "å͝ æľī", + "éĿ¢ è²Į", + "èĩªåĬ¨ 驾驶", + "æ¦ľ åįķ", + "å½ĵ æĪij们", + "仲 è£ģ", + "æľ¨ æĿIJ", + "ç±³ åħ°", + "çϽ éĵ¶", + "çļĦ 人éĥ½", + "å°± åĥıæĺ¯", + "æŃ¥ åħ¥", + "åįł ç͍", + "åĩ» è´¥", + "让 大家", + "ä¼ļ è®©ä½ł", + "åİ¿ æĶ¿åºľ", + "è¦ģ ç͍", + "çŃī å½¢å¼ı", + "åįĩ é«ĺ", + "责任 æĦŁ", + "å¤ĩ ç͍", + "ä»ĸ 认为", + "æ¸ħåįİ å¤§åѦ", + "ä»ĸ èĩªå·±", + "éĸ± è®Ģ", + "太平 æ´ĭ", + "éĶģ å®ļ", + "çŃ Ĩ", + "è¿Ļ çīĩ", + "æī§ æĶ¿", + "è¿ĶåĽŀ æIJľçĭIJ", + "å°± æŃ¤", + "éģĩ åΰäºĨ", + "å¼Ģå¹ķ å¼ı", + "管çIJĨ éĥ¨éŨ", + "å§¿ åĬ¿", + "设 æĥ³", + "åĽĽ åŃ£", + "æĬĢæľ¯ 人åijĺ", + "å·® çĤ¹", + "è¾ŀ èģĮ", + "èĢģ 師", + "çļĦ æĦŁåıĹ", + "ä¹Ł éĿŀ常", + "å¹´ ä¸ĬåįĬå¹´", + "æĢª çī©", + "èĮĥ æĸĩ", + "æĪĺ å½¹", + "åIJ« ä¹ī", + "åħ¨ è¿ĩç¨ĭ", + "èĢĮ éĿŀ", + "éĢļ讯 åijĺ", + "è¿Ļæł· æīįèĥ½", + "æľº ç»Ħ", + "è£ ı", + "çķ¶ çĦ¶", + "èµĮ åįļ", + "åIJĦ æľī", + "å·¥ä½ľ æľºåζ", + "äºĭ åIJİ", + "åī§ éĻ¢", + "å±Ĭ æĹ¶", + "åĺ´ éĩĮ", + "主 线", + "ä¸Ģ åľĪ", + "主è¦ģ åİŁåĽł", + "å°¸ ä½ĵ", + "åĮ»çĸĹ åĻ¨æ¢°", + "ä½ł æĢİä¹Ī", + "ä½Ĩ çͱäºİ", + "æĹ¶ 空", + "çĶ· æľĭåıĭ", + "çĶľ èľľ", + "é«ĺ åľ°", + "æĻ ĸ", + "èĴIJ éĽĨ", + "åĩĿèģļ åĬĽ", + "å¤ĩ åıĹ", + "æĸĩ åĪĽ", + "马 æĿ¥", + "马æĿ¥ 西äºļ", + "æŁ´ æ²¹", + "使 人", + "æķĻ ä¼ļ", + "ç§ĭ 天", + "æĺİ çıł", + "åħŃ åįģ", + "çݯå¢ĥ ä¸Ń", + "æ¸ħ æĻ¨", + "积æŀģ åıĤä¸İ", + "å·ħ å³°", + "为 æľŁ", + "çѾ åŃĹ", + "æĦŁ æ¿Ģ", + "ç§ĭ åŃ£", + "æĿij åŃIJ", + "æ¢ħ 西", + "æļ´ 鼨", + "çĶŁæ´» åľ¨", + "çªĹ æĪ·", + "æģ¶ åĬ£", + "纯 ç²¹", + "åľ¨ æİ¥åıĹ", + "没 èĥ½", + "è¡Į 人", + "åĭ º", + "æĭ¨ æīĵ", + "ä½ľ åĩºäºĨ", + "çļĦ 主é¢ĺ", + "æľª ä¾Ĩ", + "ä¸Ń æľĢ", + "æ¾ ľ", + "é«ĺ è¡Ģåİĭ", + "åħ´ èµ·", + "æŃ£ èĥ½éĩı", + "åŁ¹è®Ń çıŃ", + "æİ¥ åħ¥", + "çĦ¶åIJİ åĨį", + "åѦçĶŁ 们", + "é¢ĨåħĪ çļĦ", + "çģ« çĥŃ", + "ä¸ĵ èģĮ", + "æĪĸèĢħ 说", + "建 è¨Ń", + "é» ı", + "对 åħ¬åı¸", + "çī¹ æľīçļĦ", + "åħī èį£", + "å½ĵ åľº", + "éĿ¢ åŃIJ", + "èµĦ产 管çIJĨ", + "æĹ¶æľŁ çļĦ", + "çŀ İ", + "åįİ ä¸ľ", + "åıĪ ä¸Ģ次", + "èĥİ åĦ¿", + "å®ļ çĤ¹", + "头 çĹĽ", + "æ¶² ä½ĵ", + "æĺ¯ä¸Ģ ä½į", + "帽 åŃIJ", + "å¹´ èµ·", + "ä¸į ä½İäºİ", + "è¾ĥ å°ij", + "éĿ¢ä¸´ çĿĢ", + "å±Ĥ å±Ĥ", + "èĿ´ èĿ¶", + "èī° èĭ¦", + "éĺ¿ æł¹", + "éĺ¿æł¹ å»·", + "æ¦Ĥ æĭ¬", + "请 éĹ®", + "èµ· åºĬ", + "å±Ģ å±Ģéķ¿", + "稳 åģ¥", + "å¦Ĥæŀľ æĪij们", + "éħĴ ç²¾", + "æĪ· åı£", + "æĦŁ æĤŁ", + "æĪij们 éľĢè¦ģ", + "æĬĢ èīº", + "èĩª åªĴä½ĵ", + "è¿Ľ åĮĸ", + "æ¿ĢçĥĪ çļĦ", + "ä½ĵ 温", + "èļ ķ", + "èĩ´ è¾ŀ", + "宪 æ³ķ", + "ä¸Ģ çŃīå¥ĸ", + "çĵ¶ é¢Ī", + "æĥł æ°ij", + "èµ° è·¯", + "çݰ ä»»", + "åķĨ éĩı", + "ä¸ĭ 车", + "åĪ ł", + "責 ä»»", + "èŀįåIJĪ åıijå±ķ", + "ç´ł æĿIJ", + "æ²¹ ä»·", + "åģļ 人", + "çŀ ª", + "æĶ¹éĿ© åĪĽæĸ°", + "çļĦ åĮºåĪ«", + "è·¨å¢ĥ ç͵åķĨ", + "æ¶īåıĬ åΰ", + "æīĺ 管", + "æĪij è¿ĺæĺ¯", + "åĿIJ æłĩ", + "ç½ij 讯", + "å½ĵåľ° çļĦ", + "追 溯", + "åľŁ è̳", + "åľŁè̳ åħ¶", + "åºķ ä¸ĭ", + "åĩł åįģå¹´", + "ç©¿ è¿ĩ", + "çĶŁæĢģ æĸĩæĺİ", + "æİ¨ èĸ", + "æİ¨èĸ ¦", + "éł Ĩ", + "åĴ³ åĹ½", + "åĪĨ æĪIJ", + "çĹķ 迹", + "æĪ· ç±į", + "éĥ½ ä¸įèĥ½", + "æĻļ ä¼ļ", + "åĢ ©", + "ä½ĵ åĬĽ", + "è¿Ļ个 èģĮä¸ļ", + "æĹł å½¢", + "åıª æĥ³", + "è¿Ľ åıĸ", + "æĿĢ æŃ»", + "èĦ Ĭ", + "äºij åįĹçľģ", + "æľª çŁ¥", + "ç¾İ èģĶ", + "ç¾İèģĶ åĤ¨", + "å¤ĸ å½¢", + "诱 æĥij", + "çĽ £", + "è¡Į 使", + "åłĨ 积", + "çĨŁ ç»ĥ", + "éĺIJ è¿°", + "æľĢ大 éĻIJ度", + "å·¡ æŁ¥", + "夺 åĨł", + "ä¼ģä¸ļ æĸĩåĮĸ", + "çĭ® åŃIJ", + "ä¿Ŀ å®Ī", + "ä¸ºæł¸å¿ĥ çļĦ", + "æī© æķ£", + "åζéĢł åķĨ", + "æŁĶ 软", + "为ä¸Ģä½ĵ çļĦ", + "游 çİ©", + "çĶŁ çĹħ", + "幫 åĬ©", + "åͱ æŃĮ", + "æīį åı¯ä»¥", + "宽 æĿ¾", + "è¦ģ æ¯Ķ", + "æĺ¯ æĢİæł·", + "çģ° èī²", + "çİĭ åĽ½", + "æIJħ æĭĮ", + "计 éĩı", + "åij¨åĽ´ çļĦ", + "æĻºèĥ½ æīĭæľº", + "常 åĬ¡", + "常åĬ¡ åī¯", + "é© ´", + "å°Ĩ è¿ij", + "寻 常", + "ä¸ŃåĽ½ å¸Ĥåľº", + "容 åύ", + "å±± ä¸Ĭ", + "èĥĮåIJİ çļĦ", + "亲 å¯Ĩ", + "æīĢ以 说", + "éİ ®", + "çļĦ çIJĨçͱ", + "大 åŁİå¸Ĥ", + "常 å¹´", + "æĹħ游 ä¸ļ", + "å°±æĺ¯ è¿Ļæł·", + "åĨį æĿ¥", + "é«ĺ ä½į", + "åĨħ 饰", + "æŀĦ éĢł", + "ä¸Ģ èµ·æĿ¥", + "çͳ è«ĭ", + "å·²ç»ı å¼Ģå§ĭ", + "çļĦ åĬ¨ä½ľ", + "被 è¿«", + "éģį å¸ĥ", + "åīĸ æŀIJ", + "å°ı äºĭ", + "å¿ĥ ä¸ŃçļĦ", + "ä½ĵåζ æĶ¹éĿ©", + "çļĩ å®¶", + "æķĻ åłĤ", + "åIJĥ å®Į", + "åĽ½æ°ij åħļ", + "æĺİç¡® äºĨ", + "åıijå±ķ è§ĦåĪĴ", + "第ä¸Ģ æŃ¥", + "å¾Ĺ èµ·", + "åľ¨ åĵª", + "çļĦ è·¯ä¸Ĭ", + "é» Ķ", + "çķ¶ æĻĤ", + "大åĬĽ æĶ¯æĮģ", + "åıĮ éĩį", + "çŁ¥éģĵ èĩªå·±", + "åIJĪä½ľ åįıè®®", + "æ°Ķ åĬ¿", + "éķ¿æķĪ æľºåζ", + "ç½ķ è§ģ", + "åĽŀ æĿ¥äºĨ", + "ä»ĸ ä¼ļ", + "ä¸Ń æĸ°", + "ä¸Ńæĸ° ç½ij", + "çļĦ åķĨåĵģ", + "èµł éĢģ", + "決 å®ļ", + "å¸Ĥåľº çĽij管", + "çķĻ åѦçĶŁ", + "ç͵ åİĭ", + "äºļ 马", + "äºļ马 éĢĬ", + "è¿ĺæĺ¯ æ¯Ķè¾ĥ", + "ä¿ĥè¿Ľ äºĨ", + "æµģ åħ¥", + "æijĦ åĥı", + "æijĦåĥı 头", + "æıIJ åıĬ", + "åıij æİĺ", + "æī¾ åĩº", + "æ¢Ŀ ä»¶", + "ç¹¼ çºĮ", + "æĪij åĸľæ¬¢", + "å¥ İ", + "æ¦ľ æł·", + "å¼Ģ èĬ±", + "æ²ī éĩį", + "åŁº åĩĨ", + "ä»ħä»ħ æĺ¯", + "轨éģĵ 交éĢļ", + "åĶIJ å±±", + "çŃī ä¸Ģç³»åĪĹ", + "ä¸įè¿ĩ æĺ¯", + "åŃĺåľ¨ çĿĢ", + "èĬ± çĶŁ", + "å¤ ·", + "ç»Ī ç©¶", + "ä¹Łæĺ¯ ä¸Ģ个", + "åįģ åŃĹ", + "èĸª éħ¬", + "伤 å¿ĥ", + "æĺ¥ ç§ĭ", + "åĨ· åį´", + "ç²¾ çģµ", + "çļĦ åľ°åĽ¾", + "æ¯Ķ çī¹", + "æ¯Ķçī¹ å¸ģ", + "æĢ§ åĪ«", + "ä½Ļ ä¸ĩåħĥ", + "ä¸įå¿ĺ åĪĿå¿ĥ", + "å¿ĥ çĸ¼", + "æĽ² 线", + "é«ĺ ä½İ", + "è¦ı å®ļ", + "æĻ¯ èī²", + "è¦ģ 说", + "åħ¬åı¸ å°Ĩ", + "æ¶² åİĭ", + "è¿Ŀ 约", + "åİļ 度", + "åºŀ 大çļĦ", + "è¿ĺæĺ¯ å¾Ī", + "é¦ĸåħĪ æĺ¯", + "çµ ²", + "åĬ¡ å®ŀ", + "並 ä¸Ķ", + "å¢ŀ è¿Ľ", + "ç»Ħç»ĩ å¼Ģå±ķ", + "èµ·æĿ¥ äºĨ", + "è¾ĥ å°ı", + "导 游", + "两 åľ°", + "ç¿ ĺ", + "çģ¿ çĥĤ", + "é£İ éĩĩ", + "æĶ¯ 线", + "æĶ¯çº¿ ä»»åĬ¡", + "娱ä¹IJ åľĪ", + "天津 å¸Ĥ", + "åĮħ åĽ´", + "æľ¬ èµĽåŃ£", + "éĩįè¦ģ 讲è¯Ŀ", + "åıĮ åIJij", + "åįİ ä¸½", + "éĶ ¤", + "åĦ¿ 女", + "åįĸ åĩº", + "ä¾Ĩ 說", + "ä»ĭç»į ä¸Ģä¸ĭ", + "åIJ¦ 认", + "åĭ Ŀ", + "æĻ®éĢļ 人", + "çļĦ åĬ¨åĬĽ", + "涨 åģľ", + "åŁºéĩij 管çIJĨ", + "ä¸Ģ个 éĩįè¦ģ", + "è¿IJ æ²³", + "çħ ŀ", + "è´¢æĶ¿ éĥ¨", + "è¡Įä¸ļ åįıä¼ļ", + "éĥ½ å°Ĩ", + "è¨Ģ 论", + "ä¸ĭ ä¾Ĩ", + "墨 西", + "墨西 åĵ¥", + "åĽłä¸º ä»ĸ们", + "æĢİä¹Ī åĽŀäºĭ", + "åĬłå¤§ 对", + "èĬ Ń", + "çīĮ åŃIJ", + "ä¼ļ 使", + "妹 åŃIJ", + "ç«Ļ éķ¿", + "å¿ħ å¤ĩ", + "æłij æľ¨", + "æģ¶ æĦı", + "æ²³ éģĵ", + "å¯Į è£ķ", + "ç¹ģ åįİ", + "代表 åĽ¢", + "æµij 身", + "é¦ĸ ä½į", + "èĪªç©º åħ¬åı¸", + "鼻 å½±", + "ä¸ĵ è¾ij", + "æ°´ æºIJ", + "ä¸Ń æ¯Ĵ", + "並 ä¸į", + "èĢĮ åİ»", + "é ĥĿ", + "äºİ æŃ¤", + "æĸĩåĮĸ 建设", + "èĤ¯å®ļ ä¼ļ", + "å¸ĮæľĽ 大家", + "æıı åĨĻ", + "ä½İ è°ĥ", + "æĸ°åħ´ 产ä¸ļ", + "æ·Ħ åįļ", + "æĶ¾ å¼Ģ", + "çļĦ æĢ§æł¼", + "çĸ¾çĹħ çļĦ", + "æķ´ é¡¿", + "线ä¸Ĭ 线ä¸ĭ", + "éĢī 项", + "çļĦ 认åı¯", + "æķ´ é½IJ", + "çĶļ ä¹Ī", + "çľģ åĨħ", + "åı¤ 人", + "æ°ij ä¿Ĺ", + "çī¡ ä¸¹", + "éŨ çªĹ", + "éĤ£ æł·çļĦ", + "çĽijäºĭ ä¼ļ", + "ç¿¡ ç¿ł", + "ç¦ ¹", + "åįĥä¸ĩ ä¸įè¦ģ", + "æĶ¶ 缩", + "çļĦ æĸĩåŃĹ", + "åĴĮ å°ļ", + "æĮĩ 令", + "åħ±äº§ åħļåijĺ", + "çļĦ çĪ¶äº²", + "å®Į å·¥", + "åĬ¡ å·¥", + "马 æĭī", + "马æĭī æĿ¾", + "æµĭ è¯Ħ", + "å² ļ", + "ä¸į åģļ", + "ä¸ĥ å¹´", + "åĿĩ ä»·", + "主 è§Ĥ", + "å¾Ī ä¸įéĶĻ", + "èĤ¡ä¸ľ 大ä¼ļ", + "äºĶ ä¸Ģ", + "é£İ åIJ¹", + "å¼Ģ éĩĩ", + "è¿Ļä¹Ī 大", + "èĥ½ çľĭåΰ", + "èĢĥ è¯Ħ", + "åį³ ä¾¿æĺ¯", + "çݰ代 åĨľä¸ļ", + "æ¯Ķè¾ĥ é«ĺ", + "è¦ģ çľĭ", + "没 äºĨ", + "è§£ 決", + "çݯ æ¯Ķ", + "åĨ² åĬ¨", + "æ·± å¤ľ", + "åĩł åįĥ", + "ä¿ ı", + "ç½ij æ°ij", + "å°± 没", + "ä»ĸ 表示", + "éĩı åŃIJ", + "æĹ©é¤IJ åĬłçĽŁ", + "åįĬ å²Ľ", + "æIJŀ ç¬ij", + "ä¸Ĭ æĬ¥", + "å¯ ©", + "é¢Ħ 订", + "èľĤ èľľ", + "æŁ¥ æī¾", + "ä¼Ĺ æīĢ", + "ä¼ĹæīĢ åij¨", + "ä¼ĹæīĢåij¨ çŁ¥", + "æĹ© æĹ¥", + "åıij æī¬", + "åĴĮ 个人", + "åĬłåħ¥ äºĨ", + "åĸ® ä½į", + "åĪĨ æĺİ", + "第ä¸Ģ æī¹", + "ç¾İ åĨĽ", + "æĿĢ æīĭ", + "éŨ å¤ĸ", + "åķĨ åľĪ", + "ä¸Ģ åĪ»", + "çļĦçľ¼ ç¥ŀ", + "éľ Ħ", + "äºĽ ä»Ģä¹Ī", + "åĬł æ·±", + "æ¯ı ä½į", + "å¸Ĥ éĿ¢ä¸Ĭ", + "åıĶ åıĶ", + "çļĦ éĤ£ç§į", + "粤 港澳", + "è´´ å¿ĥ", + "æĸĩåĮĸ 产ä¸ļ", + "红 æĹĹ", + "åĺī åħ´", + "æĶ¶ çĽĺ", + "å®ĮæĪIJ åIJİ", + "ä¼ģä¸ļ 管çIJĨ", + "纵 横", + "ä¸į ä¿¡", + "æĪIJ éĥ½å¸Ĥ", + "æ´Ĺ 澡", + "举è¡Į çļĦ", + "çĶ¢ çĶŁ", + "ç©¿ ä¸Ĭ", + "åĪļ 好", + "åħī 线", + "æīĵ æŀ¶", + "è¿Ļ æľ¬ä¹¦", + "åĶ®åIJİ æľįåĬ¡", + "åĩł åĪĨ", + "ä¸Ĭ 次", + "ä¸į åĪĨ", + "产 åIJİ", + "éģ¿ å¼Ģ", + "ç»Ī æŀģ", + "代表 大ä¼ļ", + "æ¼Ķ æĬĢ", + "åĽŀ è´Ń", + "åѦ è´¹", + "éĺ» ç¢į", + "ä¸Ģ大 æī¹", + "ç«£ å·¥", + "åĨ³ å®ļäºĨ", + "ä½Ĩ å¦Ĥæŀľ", + "ç͵ æµģ", + "ä¸Ŀ 毫", + "èĥ½å¤Ł åľ¨", + "éĶĢåĶ® æĶ¶åħ¥", + "åľ¨ åŃ¦æł¡", + "æ°´ åĩĨ", + "è§Ĩ 线", + "èĩª åľ¨", + "åķĨä¸ļ éĵ¶è¡Į", + "为äºĨ 让", + "çį² å¾Ĺ", + "çݩ家 æľĭåıĭ", + "éĿ¢ èĨľ", + "åĪĨ åī²", + "åī§ æľ¬", + "ç« Ń", + "说 å¾Ĺ", + "æĥ³ çŁ¥éģĵ", + "çļĦ人 çī©", + "èĮħ åı°", + "åIJĮ ä¸Ģ个", + "æķ°æį® ä¸Ńå¿ĥ", + "çĶ Ħ", + "åĸľ æĤ¦", + "ä¸ĭæĿ¥ çļĦ", + "å®ļ åIJij", + "æŀģ åħ·", + "çļĦ åľŁåľ°", + "éĤ£ åĢĭ", + "æijĦ åħ¥", + "äºĨ æĪijçļĦ", + "马 è·¯", + "åħ¨ 社ä¼ļ", + "è®® æ¡Ī", + "å±ĭ åŃIJ", + "åIJį åı«", + "åĮ ª", + "åľ¨ å¤ĸéĿ¢", + "åįİ åįĹ", + "åıij è´§", + "å¯Ĵ åĨ·", + "é«ĺçŃī æķĻèĤ²", + "详ç»Ĩ çļĦ", + "个 é¡¹çĽ®", + "çĶŁäº§ åĬĽ", + "æĹ¶ 常", + "å°± æľĥ", + "ä¸ĩ èĤ¡", + "éĻĮçĶŁ 人", + "æıı ç»ĺ", + "å½ĵ çĦ¶æĺ¯", + "æĭī åĬ¨", + "éĵ¾ æĿ¡", + "æī£ éϤ", + "ä¸Ģ缴 éĥ½", + "å°ı åŃ©åŃIJ", + "伤 åı£", + "第äºĮ å±Ĭ", + "è´Ń ç½®", + "çļĩ 马", + "æĹł èģĬ", + "表 åĨ³", + "诸 å¦Ĥ", + "åĵį èµ·", + "é£İ æļ´", + "ä¸Ģæµģ çļĦ", + "ç ·¨", + "è§£æĶ¾ åĨĽ", + "室 å¤ĸ", + "å°± è¿Ļä¹Ī", + "å³ ¶", + "æīĢæľī 人éĥ½", + "æIJľç´¢ å¼ķæĵİ", + "çļĦ æĪIJæľ¬", + "åħļ æĶ¿", + "åıijè¡Į 人", + "çļĦ äºĭå®ŀ", + "对 该", + "åıĹ æįŁ", + "ä¿Ħ ä¹Į", + "é²ľ èĬ±", + "åĨľ èį¯", + "æŀģ éĢŁ", + "æĢ¥ æĢ§", + "两 ä¼ļ", + "ä¸Ģèά æĿ¥è¯´", + "æµ· é²ľ", + "åĨ Ī", + "ç͍ 人", + "çĶ¨äºº åįķä½į", + "åĢ ª", + "åĦª æĥł", + "æł¹ æºIJ", + "åĽ¢ è´Ń", + "ç¾İ æ´²", + "ä¸ĭ è¡Į", + "å¹´ æľ«", + "èľ ¡", + "è¯ģ ä»¶", + "åľ¨ æĪijåĽ½", + "ä¸į åºĶ", + "æĮī æĹ¶", + "åłª ç§°", + "åľº ä¸Ĭ", + "å¹²éĥ¨ èģĮå·¥", + "æľī å¾Ī大çļĦ", + "æķ°åŃĹ ç»ıæµİ", + "æ¼Ķ ç»ĥ", + "æį® ç»Łè®¡", + "å¾Ģ æĿ¥", + "广åijĬ æľįåĬ¡", + "çļĦ è·Ŀ离", + "æŃ ¸", + "è¨Ģ è¯Ń", + "被 èªī", + "被èªī 为", + "åĭī 强", + "å°Ĭ æķ¬", + "ä¸ĩ 亿åħĥ", + "ä¸ŃåĽ½ åĽ½éĻħ", + "å¹² é¢Ħ", + "å¹´ 产", + "èĢķ åľ°", + "èĮ İ", + "åį³ æĺ¯", + "æĺ¨ æĻļ", + "æĪIJ为 ä¸Ģ个", + "çºł æŃ£", + "åij½ åIJį", + "é¢ģ å¸ĥ", + "çĮľ æµĭ", + "ä¿ĿèŃ· æĶ¿çŃĸ", + "æĭ ¢", + "æ´» æ³¼", + "çŃī éĥ¨éŨ", + "åѦ åΰ", + "å¢ŀå̼ ç¨İ", + "èĪª 线", + "åĨ ¤", + "åįģ åĩłå¹´", + "æİ§èĤ¡ èĤ¡ä¸ľ", + "ä¸Ģ éŨ", + "个 å·¥ä½ľ", + "ä¸ªå·¥ä½ľ æĹ¥", + "æĸ° 西", + "æĸ°è¥¿ åħ°", + "论 è¯ģ", + "ä» Ĩ", + "åı¦å¤ĸ ä¸Ģ个", + "æĶ¹ ç¼ĸ", + "严 ç¦ģ", + "åĸľ 好", + "个人 ä¿¡æģ¯", + "满æĦı 度", + "åĵ ¨", + "å¸Ī èµĦ", + "æĶ¹ 为", + "ç«ŀäºī 对æīĭ", + "åĩº çĤī", + "åķĨ 人", + "大 æ£ļ", + "æĮĩ导 ä¸ĭ", + "å¦ĩ ç§ij", + "è¼ ª", + "æī ģ", + "åIJĮæĹ¶ è¿ĺ", + "å¹¶ éĢļè¿ĩ", + "æĪĺ éĺŁ", + "èĶĵ å»¶", + "ä¿ ŀ", + "éĢĤå½ĵ çļĦ", + "åīį è¾Ī", + "åĵģ åij³", + "湿 åľ°", + "æĪIJ åŀĭ", + "ä¸į åıªæĺ¯", + "æĥ© ç½ļ", + "åĩºåı° äºĨ", + "çİ© 游æĪı", + "æīį åıijçݰ", + "åºĶ èģĺ", + "å¤ĸ æĿ¥", + "åįł é¢Ĩ", + "å±ķ æľĽ", + "å« Ĥ", + "港 èĤ¡", + "æ¡Į ä¸Ĭ", + "æĶ¯ æŁ±", + "çļĦæĥħ å½¢", + "广éĺĶ çļĦ", + "æĶ¯ è¡Į", + "å´© æºĥ", + "æľĪ ä¸Ń", + "æľĪä¸Ń æĹ¬", + "ç»į åħ´", + "临 è¿ij", + "æĬ¤ æłı", + "æļ ®", + "åįķ èģĮä¸ļ", + "è¾¹ å¢ĥ", + "æĹ¥ çħ§", + "ä¸Ģ åłĨ", + "缴 å¾Ħ", + "åħ±åIJĮ ä½ĵ", + "æĸ°åįİ ç½ij", + "æīĵ 好", + "ç͵åĬ¨ 汽车", + "ä¸į æĺİçϽ", + "éĢĻ è£¡", + "缼 大", + "çİĭ æľĿ", + "åĨį ä¸Ģ次", + "åĬŀåħ¬ åİħ", + "è´¨ æĬ¼", + "åIJĪ åĩ»", + "人们 对", + "鼶 é£Ł", + "éĥ½ä¸į çŁ¥éģĵ", + "çļĦ è¯Ńè¨Ģ", + "åĭŁéĽĨ èµĦéĩij", + "åĬ¨ èĦī", + "å½ ¤", + "è¿Ļ åĩłå¹´", + "çŁŃ è§Ĩé¢ij", + "太 é«ĺ", + "常 å§Ķä¼ļ", + "åĬł çıŃ", + "éĩį å¿ĥ", + "åªĴä½ĵ æĬ¥éģĵ", + "没 æ³ķ", + "éĹ» åIJį", + "çĥŃ åº¦", + "å¹¿æ³Ľ çļĦ", + "åħŃ å¤§", + "çī© ä½ĵ", + "ä¸į 该", + "é¢ĺ 主", + "精彩 çļĦ", + "为 è¿Ľä¸ĢæŃ¥", + "èĻ ŀ", + "åĽº çĦ¶", + "è´µå·ŀ çľģ", + "çºł ç»ĵ", + "代çIJĨ 人", + "æ³ķå®ļ 代表", + "åı¦ä¸Ģ ç§į", + "ä¸į åIJ«", + "æĭ¯ æķij", + "ä¼ļ ç»Ļ", + "è¯Ĺ è¯į", + "åIJĮ ç±»", + "å¾Ĺ ä¸įåΰ", + "æĬĵ ç´§", + "以 åħ¶", + "åħ¥ åħļ", + "è¿ĺ åı¯", + "æľŁ åĪĬ", + "å¾Īå¤ļ æĹ¶åĢĻ", + "æĹ¥ åIJİ", + "åħ¬ 约", + "ä¸Ģ 举", + "æ¯Ķè¾ĥ å¤ļ", + "éĩij æ²Ļ", + "æį ŀ", + "æİĴ åĩº", + "æŃ¦ æľ¯", + "ä¸į æĸ·", + "ä¸Ń èĢĥ", + "ä¿¡ èµĸ", + "ä»İä¸ļ 人åijĺ", + "çģ« çĦ°", + "éĨĴ æĿ¥", + "ä½İ 温", + "é̾ æľŁ", + "åĬ± å¿Ĺ", + "éħ ¥", + "åı¯è°ĵ æĺ¯", + "è¿Ļ æĦıåij³çĿĢ", + "é¢ł è¦Ĩ", + "åĮĹ京 大åѦ", + "ä¸ĵ 线", + "åıĬ 以ä¸Ĭ", + "è¨ ª", + "èĢĮ åIJİ", + "çŁ¥ ä¹İ", + "ä¸Ģ对 ä¸Ģ", + "å¨ĥ å¨ĥ", + "çģ¾ éļ¾", + "åħ¨ å±Ģ", + "æīĢå¾Ĺ ç¨İ", + "å®ŀ æĥł", + "èļĤ èļģ", + "ä¹Ł çŁ¥éģĵ", + "温 åĴĮ", + "èIJ½ ä¸ĭ", + "åŀĭ ä¼ģä¸ļ", + "åĨį ä¹Ł", + "ä¾Ľ çĥŃ", + "é«ĺ æ½®", + "çĢı覽 åύ", + "çļĦ 巨大", + "åħΠ天", + "å¹´ ä¸ŃåĽ½", + "类似 çļĦ", + "çIJĨäºĭ ä¼ļ", + "空 éĸĵ", + "çģµ æĦŁ", + "åĬĽ æ°Ķ", + "带 ä¸Ĭ", + "ä¸į好 æĦıæĢĿ", + "æľī ä½ķ", + "å·² åľ¨", + "åıĸ åĩº", + "è¿Ŀæ³ķ çĬ¯ç½ª", + "åŃ¦ä¹ł 贯彻", + "åľ° 带", + "楼 梯", + "çŃī æĥħåĨµ", + "ä»İ åīį", + "çļĦ ä¹łæĥ¯", + "ç³Ł ç³ķ", + "å°± èĥ½å¤Ł", + "è© ķ", + "ä¸Ģ å¾ĭ", + "æĮ« æĬĺ", + "åİŁæĸĩ åľ°åĿĢ", + "å½ĵ å±Ģ", + "ä¸į éĢļ", + "æķ° åįĥ", + "éĺŁä¼į 建设", + "æĹ¶ èĬĤ", + "åģļ èµ·", + "çļĦ è®°å¿Ĩ", + "ç½ij绾 å®īåħ¨", + "åĩ¡ æĺ¯", + "æ° ¯", + "éĽķ åĪ»", + "åŁĥ åıĬ", + "æĪij åı¯ä»¥", + "çĽij çIJĨ", + "æĽ´ åħ·", + "åŁİ 管", + "èĭ ¯", + "åı¥ åŃIJ", + "èĭ¥ æľī", + "ä»İæĿ¥ ä¸į", + "缸åħ³ è´Łè´£", + "å®īåħ¨ æĦŁ", + "æĽ´ è¦ģ", + "çļĦæĥħ æĦŁ", + "çī¢ çī¢", + "è¾ĥ 好çļĦ", + "æ° ®", + "ç¬ij è¯Ŀ", + "车 å±ķ", + "ä¹ĭ ç¾İ", + "ç®Ģ 约", + "ç±»åŀĭ çļĦ", + "èĢģ åĮĸ", + "çľĭ ä½ł", + "è¿ĩ åĪĨ", + "éŨ åīį", + "ä¸Ģ éĹ´", + "æĥ³ åİ»", + "åª Ľ", + "åľŁ è±Ĩ", + "åıĪ ç§°", + "ä¸Ń ä¿¡", + "åŃĺ éĩı", + "马 äºij", + "èĩ´ 使", + "åħĪ åīį", + "èĢģ åŃIJ", + "æīĵ æī®", + "æ¯ķä¸ļ äºİ", + "æ¯ķä¸ļ åIJİ", + "ç¾İ好 çĶŁæ´»", + "å·¥ä¸ļ ä¼ģä¸ļ", + "就好 äºĨ", + "èħIJ èļĢ", + "çıį çıł", + "åΰ è¿ĻéĩĮ", + "æīĢéľĢ çļĦ", + "è¿Ļæĺ¯ åĽłä¸º", + "çIJĨæĥ³ çļĦ", + "å·®å¼Ĥ åĮĸ", + "é ®", + "é® ®", + "äºļ 太", + "æĹł ç©·", + "æıIJ çݰ", + "ä¸ĵä¸ļ æĬĢæľ¯", + "çĶ¢ æ¥Ń", + "åѦ åŃIJ", + "ç§ij å¹»", + "åįłåľ° éĿ¢ç§¯", + "ä¸į åĩĨ", + "æľªæĪIJ 年人", + "æĶ¶ å½ķ", + "è¿ĺ 款", + "éĴ¢ çŃĭ", + "æ¼ ¢", + "å¾Ĺ æĦı", + "综åIJĪ ä½ĵ", + "æŀģ é«ĺ", + "åįķ è¯į", + "é«ĺæķĪ çļĦ", + "骨 头", + "æī§ çĿĢ", + "缼 ä¸ĸ", + "模 çī¹", + "æĽ´ èĥ½", + "ç»Ŀ æľĽ", + "对åºĶ çļĦ", + "æ¨ Ĭ", + "æĸ° ä¸ī", + "æĸ°ä¸ī æĿ¿", + "æģ° æģ°", + "åIJį å®¶", + "æł¸å¿ĥ æĬĢæľ¯", + "个 å°ı", + "æĢİä¹Ī ä¼ļ", + "说 ä¸įå®ļ", + "西 çĵľ", + "åĵ İ", + "ç¢ Ł", + "å¿ħ ä¸įåı¯", + "å¿ħä¸įåı¯ å°ij", + "ä¹ĭ éĸĵ", + "åĪĨ 管", + "交éĢļ äºĭæķħ", + "å¼Ģ åĬŀ", + "å¾ģæ±Ĥ æĦıè§ģ", + "äº ¨", + "鼻åŃIJ éĥµ", + "鼻åŃIJéĥµ ä»¶", + "ä¿¡æģ¯ æľįåĬ¡", + "ä½ł è§īå¾Ĺ", + "缴 è§Ĥ", + "å·² å®ĮæĪIJ", + "åĪĨ ä¼ļ", + "åĽŀ åįĩ", + "éļ »", + "好 人", + "äºĨè§£ ä¸Ģä¸ĭ", + "åį« æµ´", + "æľĢ çα", + "åºŀ 大", + "客 æĪ¿", + "çijŀ åħ¸", + "éĥ½ ä¸įæĺ¯", + "é¤ ¨", + "èĹ ī", + "çļĦ åIJĦ项", + "为 缮æłĩ", + "çļĦ è®¤çŁ¥", + "å½±åĵįåĬĽ çļĦ", + "夸 å¼ł", + "佩 æĪ´", + "æ±ĩ çİĩ", + "çļĦ çαæĥħ", + "æĺ¥ é£İ", + "æĺ¯ æĪijçļĦ", + "æ¨ ¹", + "åįĬ å°ıæĹ¶", + "å±± åİ¿", + "å±± 西çľģ", + "èĢĮ è¿Ļ", + "æĽ´å¤ļ ä¿¡æģ¯", + "è¿ĺ æľīä¸ĢäºĽ", + "ç²¾ ç»ĨåĮĸ", + "ç¾İ åѦ", + "çͱ æĸ¼", + "ä»ħä¾Ľ åıĤèĢĥ", + "å¾Ī é«ĺçļĦ", + "åıł åĬł", + "è¿Ļä¹Ī 说", + "å±ķ åĩº", + "åĽĽ å¤Ħ", + "ä¸ĩ å®¶", + "æĭĽ åĭŁ", + "çļĦ 强大", + "æĤ£ æľī", + "å°ı äºİ", + "ä¹Łè®¸ æĺ¯", + "对 èĩªå·±çļĦ", + "èģĮä¸ļ æķĻèĤ²", + "æĿ¥ è¿Ľè¡Į", + "æ¡£ 次", + "æīĵ èµ¢", + "éĥ½æľī çĿĢ", + "åº ¸", + "è¯Ń æ°Ķ", + "çͲ éĨĽ", + "空 åĨĽ", + "车 åĨħ", + "åĽłä¸º ä½ł", + "å®ŀ æķĪ", + "æĥħ ä¾£", + "åıijè¾¾ åĽ½å®¶", + "éķľ åŃIJ", + "æ¯į å©´", + "ä½Ĩæĺ¯ ä»ĸ", + "积æŀģ æİ¨è¿Ľ", + "大å¹ħ 度", + "çļĦ 女åĦ¿", + "é¤IJ æ¡Į", + "åIJ¬ å¾Ĺ", + "çļĦ 积æŀģæĢ§", + "好 åIJ§", + "æĹ¥ æ¶Īæģ¯", + "æľī ä»»ä½ķ", + "æ¯Ĵ åĵģ", + "æĹ©çĤ¹ åĬłçĽŁ", + "第ä¸Ģ 天", + "å°½ åĬĽ", + "æł ĸ", + "主 æīĵ", + "æĺ¯ä¸Ģ åIJį", + "çĪĨ æĸĻ", + "äºĭä¸ļ åıijå±ķ", + "å¾® åķĨ", + "äºİä¸Ģä½ĵ çļĦ", + "çĶŁ çĮª", + "èĩªçĦ¶ èµĦæºIJ", + "çŀĦ åĩĨ", + "è§Ħ模 åĮĸ", + "å¹¶ ä¸İ", + "èĤ¥ èĥĸ", + "å®¶ ç͍", + "大 çĪ·", + "é¢Ħ åijĬ", + "æĿ¥ åģļ", + "éĺ³ åİ¿", + "æŀĦ çŃij", + "é¢ģ å¥ĸ", + "åİĨåı² æĸĩåĮĸ", + "æľįåĭĻ æĪĸ", + "æĢ» åĨ³èµĽ", + "åıij åŀĭ", + "æĪij 羣çļĦ", + "æĽ ¦", + "åıĤ ä¼ļ", + "èĦĨ å¼±", + "åĩĨ åħ¥", + "èħ¹ éĥ¨", + "åı¸ 令", + "æĤ² åī§", + "天 ä¸Ĭ", + "åı£ ä¸Ń", + "ä¸ĩ 个", + "åѦ ä¸ļ", + "æıIJ åĢ¡", + "两 è¾¹", + "大 èĤ¡ä¸ľ", + "åı¤ éķĩ", + "è¡Ģ ç³ĸ", + "çļĦ ç¨ĭ度", + "æ£ī èĬ±", + "åIJİ åı°", + "å°± åĮ»", + "æķ´ æķ´", + "èĴ ²", + "çĽĪåĪ© èĥ½åĬĽ", + "ç± ½", + "èĦ «", + "çľĭ éĩį", + "å®¶ éķ·", + "èģĺ ç͍", + "èµĽ éģĵ", + "åīį èĢħ", + "建 èѰ", + "å¾ĭå¸Ī äºĭåĬ¡", + "èīºæľ¯ åĵģ", + "æľī èĩªå·±çļĦ", + "åIJ¦ å®ļ", + "社 åĽ¢", + "åij¨ äºĶ", + "带 åΰ", + "å·¥ä½ľ ä¼ļè®®", + "èĤ¡ æľ¬", + "å¤ĸ åĮħ", + "å®¶ åħ¬åı¸", + "çĽij çĭ±", + "èĪ Ĭ", + "åIJį æł¡", + "西 æ¹ĸ", + "è¶ħè¿ĩ äºĨ", + "åįĹ å±±", + "ç»Ħ ä»¶", + "å̼å¾Ĺ 注æĦı", + "æĮ£ æīİ", + "äºĭ 迹", + "ç¶ĵ çĩŁ", + "ç§ij 室", + "好 åIJĹ", + "æ¤ħ åŃIJ", + "åľĪ åŃIJ", + "ä½Ĩ 她", + "æµģ çķħ", + "åIJĦèĩª çļĦ", + "èģĮ åijĺ", + "è¡į çĶŁ", + "åħ¨ åľº", + "æĴ¤ éĶĢ", + "åį´ è¢«", + "å®ģ éĿĻ", + "åīį æīĢ", + "åīįæīĢ æľª", + "åīįæīĢæľª æľī", + "主 ä¸ļ", + "åĮĹ ç¾İ", + "è¯Ħ å®ļ", + "åĵģ å°Ŀ", + "大家 éĥ½åľ¨", + "主 å¸ħ", + "ç»Ĩ å¿ĥ", + "ä¿¡æģ¯ æĬ«éľ²", + "çļĦ ç«ŀäºī", + "éĢĻæ¨£ çļĦ", + "ç§ijåĪĽ æĿ¿", + "éĩĩ æijĺ", + "票 æį®", + "éĢIJ å¹´", + "èĭ± è¶ħ", + "è¡Įä¸ļ åĨħ", + "人 寿", + "åIJİ åĭ¤", + "å¦Ĥ æĦı", + "ç¬Ķ è¯ķ", + "æ·¡æ·¡ çļĦ", + "ä¸į èĪĴæľį", + "ä½ĵ 积", + "ä¹Łä¸į è¦ģ", + "éĿ¢ æĸĻ", + "æł· æľ¬", + "ç¥ ģ", + "æĮī è§Ħå®ļ", + "大æ¦Ĥ æĺ¯", + "æĥħåĨµ è¿Ľè¡Į", + "åIJĦ åįķä½į", + "çļĦ ç¬ij容", + "åĩºèī² çļĦ", + "代表 æĢ§", + "çļĦ ç¾İ好", + "éĴ ¦", + "å¾® çĶŁçī©", + "è¶Ĭ æĺ¯", + "æĸ¹ åı¯", + "å¹² èĦĨ", + "éģĬ æĪ²", + "çļĦ åħ´è¶£", + "éĹ® è´£", + "åĽłä¸º æĪij们", + "èĢĥ éĩı", + "çĶŁ çĶŁ", + "éĺ» åĬĽ", + "ä¸į åħģ许", + "æıIJ è®®", + "åĩı æĮģ", + "åıªæĺ¯ ä¸Ģ个", + "æĪij æĬĬ", + "åıijçݰ èĩªå·±", + "å¢ŀ å¹ħ", + "å¦ į", + "èĹĿ è¡ĵ", + "ä¸Ģå®¶ 人", + "åĪĨ 级", + "çļĦ æķ°éĩı", + "è½® èŀįèµĦ", + "çŃī åĽłç´ł", + "大 夫", + "èģĺ 请", + "é£İ æľº", + "绽 æĶ¾", + "ä»»ä½ķ ä¸Ģ个", + "éł Ĥ", + "éĺ¶ çº§", + "æĬĬ 她", + "è¿Ľ åĨĽ", + "èĥ½ åģļåΰ", + "åŁ¹è®Ń æľºæŀĦ", + "çī© æĸĻ", + "ç«¥ è¯Ŀ", + "æĮĩ导 æĦıè§ģ", + "éĺ ®", + "æ·±åħ¥ æİ¨è¿Ľ", + "主 æľº", + "æ¸Ķ ä¸ļ", + "ä¸į æľį", + "æµĵ éĥģ", + "è¡Ĺ ä¸Ĭ", + "ä¾Ŀ 次", + "æĹ¶ 段", + "æ¢ µ", + "çļĦ åĸľçα", + "å¾Ī éķ¿", + "åĪĿ 级", + "æŀľ æĸŃ", + "æĬ¢ æķij", + "é¼ĵ èĪŀ", + "ä¾Ľ éľĢ", + "æ·±åħ¥ å¼Ģå±ķ", + "产ä¸ļ éĽĨ群", + "åĻª éŁ³", + "åIJ¬ çĿĢ", + "æ·±åĪ» çļĦ", + "å¿į åıĹ", + "ç͵ ç£ģ", + "强 èĢħ", + "æ»ĭ åij³", + "æĽ¼ èģĶ", + "åı¯ä»¥ 缴æİ¥", + "大 ç±³", + "æŃ· åı²", + "æĶ¿åĬ¡ æľįåĬ¡", + "åħ¬ å¼ı", + "社 群", + "éģĵ士 èģĮä¸ļ", + "ä¹ĭ æĥħ", + "æµ· æ°´", + "æ¼Ķ å¥ı", + "åºĹ éĩĮ", + "迹 象", + "åıijå±ķ çIJĨ念", + "é«ĺ 空", + "åij¨ åĪĬ", + "åĽŀ åΰäºĨ", + "ä¸į éĢĤåIJĪ", + "åłµ å¡ŀ", + "åĬ Ī", + "æ°´ ä¸Ĭ", + "çĢij å¸ĥ", + "纳ç¨İ 人", + "çĩĥ æ²¹", + "å·¥ç¨ĭ é¡¹çĽ®", + "峡 è°·", + "æľī éĴĪ对æĢ§", + "åľĨ å½¢", + "æľ¬ å¸Ĥ", + "è¿Ļ è¯Ŀ", + "管çIJĨ èĢħ", + "ç¡®è¯Ĭ çĹħä¾ĭ", + "æĬĬ æīĭ", + "彩 èī²", + "ä¸Ĭ åīį", + "夯 å®ŀ", + "ç¾Ĭ èĤī", + "å¾Ģ å¹´", + "æĵħ èĩª", + "è¿· 人", + "èĪª æ¯į", + "ç²¾ ç»Ĩ", + "åľ¨ æĪijçļĦ", + "åĪĽ æĬķ", + "麦 åħĭ", + "æľĪ ç»ı", + "åĮĹ æµ·", + "ä¹ĭ æĺŁ", + "åı¶ åŃIJ", + "å¸Ĥåľº ç«ŀäºī", + "è¿Ļ äºĭ", + "åıĥ èĪĩ", + "产 åľ°", + "åĶ ī", + "åķĨåĵģ æĪ¿", + "èĪª è¿IJ", + "ä¼ĺ å¼Ĥ", + "ä»ĸ们 æĺ¯", + "鼨 æ°´", + "è¯į æ±ĩ", + "åĨľ çͰ", + "欧 éĺ³", + "çŁŃ 线", + "管 ç½ij", + "æł¹ åŁº", + "åıªæľī ä¸Ģ个", + "éŀĭ åŃIJ", + "å¸Ĥ å§Ķ书记", + "åĪ» æĦı", + "è¡Į 车", + "åıĪ è¢«", + "åı¯éĿł æĢ§", + "è´ ±", + "ä»» åij½", + "åºĶ åľ¨", + "å°± å¾Ĺ", + "æľįåĬ¡ ä½ĵç³»", + "æĶ¿ æĿĥ", + "åıijè¨Ģ 人", + "è¿ĩ å¾Ģ", + "两 åıª", + "èϽ 说", + "éĢģ ä¸Ĭ", + "ä»Ģä¹Ī äºĭ", + "æķ£ æĸĩ", + "æİĮ æİ§", + "èĸĦ å¼±", + "ä¸ĭéĿ¢ å°±", + "主è¦ģ åĨħ容", + "å¾Ī éĩįè¦ģçļĦ", + "å°± 说", + "çϽèī² çļĦ", + "éĤ£ä¸ª æĹ¶åĢĻ", + "ç»ı纪 人", + "çļĦ æ¯į亲", + "ç¬Ķè®° æľ¬", + "åºķ å±Ĥ", + "è¿ij 代", + "è§£ 说", + "è²ł 責", + "æľĢ大 åĮĸ", + "åķĨ éĵº", + "æł¡ åıĭ", + "æ² ģ", + "ä¸į åĩºæĿ¥", + "éĻ· éĺ±", + "ç¨ ħ", + "åħ¬å¸ĥ äºĨ", + "åĩĢ å̼", + "çĽ¸å¯¹ è¾ĥ", + "ç¬ Ľ", + "æł¸ ç®Ĺ", + "åįİ ä¾¨", + "æĢ¥ æķij", + "æĮº 好", + "åħĴ ç«¥", + "äºĮ èĥİ", + "åĩº èĩª", + "åĿ Ł", + "æīĭ ä¸ĭ", + "å± ¡", + "åĪĽéĢł æĢ§", + "ä¸¥æł¼ æĮīçħ§", + "åĨį åİ»", + "举 缣", + "人 æµģ", + "äºĨä¸Ģ 声", + "å°ıæĹ¶ åīį", + "è´µ æĹı", + "éľ ĸ", + "ä¹Łæĺ¯ éĿŀ常", + "éĢ ±", + "çľĭäºĨ çľĭ", + "ç¹ģ æ®ĸ", + "èĩ³ æŃ¤", + "é¢Ħ å¤ĩ", + "å¾Ī æĺİæĺ¾", + "æ¼Ķ èīº", + "åĿIJ çĿĢ", + "ä¿Ħ åĨĽ", + "åľ¨ è¿ĩåİ»", + "ä¹ĭ äºĭ", + "æĬĵ èİ·", + "åĿIJ ä¸ĭ", + "çͱ ä¸ŃåĽ½", + "ä¹Ł å¼Ģå§ĭ", + "çŃĶ å¤į", + "åŀĥåľ¾ åĪĨç±»", + "éĴĵ é±¼", + "åIJĦ 種", + "缸 éģĩ", + "ä¸įåģľ çļĦ", + "æī¹ éĩı", + "éĩįè¦ģ ä½ľç͍", + "å§Ķ å±Ī", + "åħŃ å¹´", + "ä¸ĥ åįģ", + "ä¹ĭ æĪĺ", + "é£İéĻ© 管çIJĨ", + "éŁ³ æ¨Ĥ", + "è¡ĮæĶ¿ å¤Ħç½ļ", + "æľ¬ äºĭ", + "æĴ° åĨĻ", + "èģļ åIJĪ", + "éĢĤ æĹ¶", + "æIJ¬ å®¶", + "ç¢İ çīĩ", + "缼 å®´", + "ç®Ģ æ´ģ", + "åı¬ éĽĨ", + "ç®Ģ åĮĸ", + "åĮĹ京 æĹ¶éĹ´", + "第ä¸ī å±Ĭ", + "æĿ¥ åĽŀ", + "常ç͍ çļĦ", + "京 æ´¥", + "京津 åĨĢ", + "梦 å¹»", + "è¯ķ è¡Į", + "æľº åºĬ", + "åΰ æľĢåIJİ", + "åĬ© æīĭ", + "åĪĨ 彩", + "åĩº åĵģ", + "åι 车", + "åIJ¯ åıij", + "ä¾§ éĿ¢", + "æ¯ı å½ĵ", + "缸åħ³ è§Ħå®ļ", + "ä¸ĸ 人", + "è´Ń 车", + "å¿ĥ 缮", + "å¿ĥ缮 ä¸Ń", + "äºĶ éĩij", + "è¿ĺ è®°å¾Ĺ", + "ä¾Ŀ çĦ¶æĺ¯", + "æıIJ æ¡Ī", + "ç͵åķĨ å¹³åı°", + "åģļ åΰäºĨ", + "æĿľ ç»Ŀ", + "å®ī åįĵ", + "ä¸ĸçķĮ åIJĦåľ°", + "åīį éĢĶ", + "æ´Ĺ åĩĢ", + "å¥ĭ åĬĽ", + "åŁİå¸Ĥ 建设", + "å¤ļ åĬŁèĥ½", + "ä¼ļ éĢłæĪIJ", + "åıijå¸ĥ ä¼ļä¸Ĭ", + "ç©¶ 竣æĺ¯", + "åĪĨ 红", + "çŁ¥ èŃĺ", + "éĿ¢ æĿ¿", + "æĹł 声", + "æĢ¥ éľĢ", + "失 çľł", + "çΏ å¦Ī", + "äº Ĥ", + "åħ¨ æĻ¯", + "ç»ıåħ¸ çļĦ", + "åī§ ä¸Ń", + "é¢Ĩ导 ä¸ĭ", + "åħļ åĨħ", + "åħ¥ ä¾µ", + "æĭī æĸ¯", + "ä¸Ģ å¹ķ", + "åĬł ä¹ĭ", + "èĤ Ĩ", + "èĭ± æł¼", + "èĭ±æł¼ åħ°", + "å·§ åħĭ", + "å·§åħĭ åĬĽ", + "ä¸Ģ å¿ĥ", + "èģ Ĥ", + "å¾Ģå¾Ģ æĺ¯", + "管çIJĨ å±Ĥ", + "çĻ» åħ¥", + "建ç«ĭ èµ·", + "建 åĽ½", + "åŃIJ 宫", + "åºĶ ä»ĺ", + "æİ¢ ç©¶", + "第ä¸Ģ ä½į", + "ä½Ļ å®¶", + "çŃī æ´»åĬ¨", + "æīĢ èĩ´", + "è¾ĥ å¿«", + "æĺ¯ éĿŀ", + "æıIJ åIJį", + "äºĮ èĢħ", + "åıªåī© ä¸ĭ", + "åħ¶ä¸Ń åĮħæĭ¬", + "ç¼ĸ ç¨ĭ", + "çł´ ç¢İ", + "ä¸Ń 举", + "å·¥ä½ľ æĬ¥åijĬ", + "çѾ åIJį", + "éħĴ ä¸ļ", + "çŁ¥ æĻĵ", + "çĥŃ å¿ĥ", + "éĿŀ åĩ¡", + "èIJ¥ä¸ļ æī§", + "èIJ¥ä¸ļæī§ çħ§", + "人大 代表", + "ä¸Ģ个 æĸ°çļĦ", + "å¨ģ æµ·", + "éĤ£ 人", + "涨 ä»·", + "æ¶Ī çģŃ", + "éļ¾ å¿ĺ", + "ç¶ĵ é©Ĺ", + "åı£ è¢ĭ", + "ç³» æķ°", + "æĸĩ ä¸Ń", + "好 转", + "æĸ° 鼶åĶ®", + "讲述 äºĨ", + "å¼Ģ çĽĺ", + "çķĻ ç»Ļ", + "æħ¢æħ¢ çļĦ", + "æĤ² 伤", + "æľ¬ æľŁ", + "äºĨ å¤ļå°ij", + "è¿Ļ 让", + "åIJĮ çŃī", + "æ¸ħ æĺİ", + "个 åŁİå¸Ĥ", + "æºĸ åĤĻ", + "åĩłä¹İ æĺ¯", + "强 åĬĽ", + "ä¿ ¯", + "æ°´ 稻", + "åĽºå®ļ çļĦ", + "æł¸ åĩĨ", + "说 æľį", + "顯 示", + "è¿Ļ å¥Ĺ", + "æĻºæħ§ åŁİå¸Ĥ", + "å±ĭ é¡¶", + "ä¸į æĿ¥", + "çĶŁ é²ľ", + "çŁ¥ æĥħ", + "æĬķ 身", + "åijĬè¯ī æĪij们", + "ä¸ī åĽĽ", + "ä¸ĩ ä¸Ģ", + "è¾Ĩ 车", + "为 ä¹ĭ", + "åΰ æĹ¶åĢĻ", + "è¿Ļ æīįæĺ¯", + "åIJį çīĮ", + "åºŁ æ°´", + "åݻ年 åIJĮæľŁ", + "å¹´ éĻIJ", + "éģĭ åĭķ", + "åıĮ çľ¼", + "è¦ģ ç´§", + "对 çŃĸ", + "åľº é¦Ĩ", + "çϾ ç§ij", + "è¶Ĭ éĩİ", + "å¯Į åIJ«", + "大å¤ļæķ° 人", + "æľĢ å°ij", + "åı¬ åͤ", + "åħ¸ èĮĥ", + "åĨľ æľº", + "æŃ£ æĸĩ", + "åºĶç͍ äºİ", + "æ·± èĢķ", + "ä¿ Ń", + "ä»Ģä¹Ī ä¸ľè¥¿", + "å¥Ĺ é¤IJ", + "å½ĵ éĢī", + "å·¦ æīĭ", + "è°ĥ çIJĨ", + "æĻļ é¤IJ", + "éļ¾ åħ³", + "åĩŃ è¯ģ", + "çα 人", + "æĮĩ è´£", + "è´£ ç¼ĸ", + "çļĦä¸Ģ 款", + "éĵ ²", + "åįģ 个", + "èĢ »", + "æľįåĬ¡ åķĨ", + "åľ° çĭ±", + "è¿ŀ å¿Ļ", + "åĽ° æĥij", + "çļ ĵ", + "ä¸į åIJĥ", + "çİ°åľ¨ å·²ç»ı", + "çĽĺ çĤ¹", + "ä¸įåģľ åľ°", + "管çIJĨ 模å¼ı", + "è¿Ļ 段æĹ¶éĹ´", + "æ¤ °", + "礼 åĮħ", + "æµģ 转", + "æī« çłģ", + "éĽĨä¸Ń åľ¨", + "æ±Ĥ åĬ©", + "åįĬ 个", + "å¿«éĢŁ å¢ŀéķ¿", + "å¾Ģ ä¸ĭ", + "è¯Ħ åĪĨ", + "å°± æĥ³", + "åķĨåĬ¡ éĥ¨", + "æľī éĹ®é¢ĺ", + "èİ· åĪ©", + "æ¯Ľ çĹħ", + "æĦŁ åºĶ", + "èī¯ æĢ§", + "åĪĨ æŃ§", + "åĨ ī", + "æĪij们 çİ°åľ¨", + "è¦ģ åĬłå¼º", + "å·§ å¦Ļ", + "èŀº æĹĭ", + "åĪĩ æį¢", + "çĭ Ħ", + "顺 çķħ", + "å°¤åħ¶ æĺ¯åľ¨", + "èĬĿ 麻", + "éļ¾ è¿ĩ", + "æĹĹ å¸ľ", + "å¤į åį°", + "å¤įåį° ä»¶", + "å¿ħ éľĢ", + "对å¤ĸ å¼ĢæĶ¾", + "éļ¾ åıĹ", + "åİŁæĿ¥ æĺ¯", + "ç®Ĺ äºĨ", + "é«ĺ å±±", + "离 èģĮ", + "çµĦ ç¹", + "çµĦç¹ Ķ", + "å±ģ èĤ¡", + "çϾ å®¶", + "éģĩ ä¸Ĭ", + "æĺĶ æĹ¥", + "ä¸į 容", + "çĽij管 éĥ¨éŨ", + "主 æĦı", + "æµģ åŁŁ", + "è·Į å¹ħ", + "èĩ³ ä¸Ĭ", + "åĪ« 说", + "æĺ¯ æ¯Ķè¾ĥ", + "å®ıè§Ĥ ç»ıæµİ", + "å¸Ĥåľº 主ä½ĵ", + "污æŁĵ çī©", + "æķij æ²»", + "丰 æĶ¶", + "åŃĺ æĶ¾", + "åĩ Ħ", + "éĩij å±±", + "æį¢ äºĨ", + "ä¸ĵ 人", + "éĹľ æĸ¼", + "æĹ¢ è¦ģ", + "åĽ½ è¶³", + "éļ ĭ", + "åıį åĩ»", + "èµ· 身", + "åħĪ æĺ¯", + "å¸ĮæľĽ èĥ½å¤Ł", + "åζ 订", + "åºĹ éĿ¢", + "åĸ Ģ", + "æķĻ ä½ł", + "éĻį æ¸©", + "åĬĽ æ±Ĥ", + "ä¸ī çϾ", + "çī© ä»·", + "丢 失", + "å¢Ļ ä¸Ĭ", + "éĥ¨ 份", + "æł· æĿ¿", + "ä¹ĭ æĦı", + "ç½ij å°ıç¼ĸ", + "ä¸ĸ ä¸Ĭ", + "è°ĥ è¯ķ", + "污æŁĵ éĺ²æ²»", + "å½± éĻ¢", + "å®Įåħ¨ åı¯ä»¥", + "éĢļ åħ³", + "ä¹īåĬ¡ æķĻèĤ²", + "没æľī åĬŀæ³ķ", + "èĢ ¿", + "å¦ ³", + "æĹł æĥħ", + "å¾Ĺ çĽĬ", + "å¾ĹçĽĬ äºİ", + "æľŁ çĽ¼", + "娱ä¹IJ åľº", + "çͲ æĸ¹", + "ä¸Ģ æ±½", + "çĹ °", + "çĸij ä¼¼", + "æĸ°æµª å¾®åįļ", + "强 è¡Į", + "å½ĵ ä»ĸ", + "èĥ º", + "ç͍æĪ· æıIJä¾Ľ", + "åĮº å§Ķ", + "æĦ¿ æĻ¯", + "æĬĺ æī£", + "失 踪", + "è¿« åĪĩ", + "åŃĹ æ¯į", + "åĴ ¯", + "èªį èŃĺ", + "ä»Ģä¹Ī æĦıæĢĿ", + "çĽĴ åŃIJ", + "å½ķ éŁ³", + "建设 å·¥ç¨ĭ", + "ä¸ļ ä½Ļ", + "å®ŀè·µ æ´»åĬ¨", + "羣 空", + "çĤ ĸ", + "åľ¨ è·¯ä¸Ĭ", + "主è¦ģ åĮħæĭ¬", + "该 æĢİä¹Ī", + "æĢ» æľī", + "æĢ§ æĦŁ", + "æ°ij èĪª", + "å¼Ģ åºĹ", + "欺 éªĹ", + "çªģ åĩ»", + "缺 失", + "æī§ ä¸ļ", + "åľ° éģĵ", + "å¹¶ æĹł", + "æ°ij åĬŀ", + "ç»Ħç»ĩ çĶŁæ´»", + "æĪij å¦Ī", + "è¨ĺ èĢħ", + "管 åζ", + "æī¾ 个", + "èĹ »", + "çĤİ çĹĩ", + "äºĴ åĬ©", + "æµıè§Ī åύ", + "çݩ家 æĿ¥è¯´", + "éĻįä½İ äºĨ", + "è£ Ķ", + "æĮ£ éĴ±", + "åķĨ æľº", + "æĶ¹ è£ħ", + "æµģ 浪", + "æĶ¿ æ³ķ", + "èĢģ 头", + "çĶŁäº§ åĴĮ", + "ç© Ĺ", + "亲 çα", + "亲çα çļĦ", + "å±¥ èģĮ", + "åŁİ éĩĮ", + "ç»Ĩ åĪĨ", + "åĬ³åĬ¨ åIJĪåIJĮ", + "åľ¨ æĹ¥æľ¬", + "å¨ģ å°Ķ", + "åį« è§Ĩ", + "éĢ£ çµIJ", + "çĿĢ éĩį", + "æĬĺ 磨", + "åĽ¾ 为", + "çľ ·", + "å·¥ åºı", + "æĵ ģ", + "æĵģ æľī", + "ç½ijç«Ļ åľ°åĽ¾", + "çļĦä¸Ģ 大", + "ç»Ħç»ĩ å®ŀæĸ½", + "æĬĽ å¼ĥ", + "åĴĮ æĶ¯æĮģ", + "æ³ķ åĪĻ", + "浪 æ½®", + "çݰ æľīçļĦ", + "åĩł çİĩ", + "为 客æĪ·", + "åįģ ä¸ĩ", + "è ¹Ħ", + "çªģåĩº éĹ®é¢ĺ", + "åıĥ åĬł", + "éĥ½ä¼ļ æľī", + "çĽ ¤", + "è°ģ éĥ½", + "æīĭ åĬ¨", + "缴 è¾¾", + "çĤ¹ å¤ļ", + "éĺ¶ å±Ĥ", + "ä¸į ä½³", + "éĤ£ 段", + "滨 æµ·", + "æĺ¯ åĽ½åĨħ", + "æĪij å¸ĮæľĽ", + "åIJĽ åŃIJ", + "è§Ĥ éŁ³", + "åģļ é¥Ń", + "æ±½ è»Ĭ", + "åħ³ ç¨İ", + "çľ¼åīį çļĦ", + "æ°´ éĿ¢", + "è̳ æľº", + "追 踪", + "æİ¨ éĢģ", + "éĴ± åĮħ", + "æģ¶ å¿ĥ", + "æµ· åŁŁ", + "å· į", + "å¼Ģ æĿ¥", + "表 æĢģ", + "仪 表", + "å¹³ åİŁ", + "åįģ å¤ļå¹´", + "ä¹Ł æĹłæ³ķ", + "åħ¼ 顾", + "è¡£ æŁľ", + "æł½ åŁ¹", + "æĪ¿ æºIJ", + "设ç«ĭ äºĨ", + "ä¸ĩ åIJį", + "æķ° é¢Ŀ", + "è¦ģ åĿļæĮģ", + "åIJīæŀĹ çľģ", + "请 èģĶç³»", + "ç»ıåİĨ è¿ĩ", + "çļĦ æľ¬è´¨", + "åħ¥ éŨ", + "æľ¬ æ¡Ī", + "çİĩ è¾¾åΰ", + "åı° éĺ¶", + "éĴ ŀ", + "æĪij èĥ½", + "èݲ èĬ±", + "éĴ ł", + "ä¸Ģ äºĭ", + "åİŁ æľīçļĦ", + "æ¯ı åĢĭ", + "æ¯Ķäºļ 迪", + "æ£ĭçīĮ 游æĪı", + "ä¸įä¼ļ æľī", + "å½Ĵ æĿ¥", + "äºĶ çϾ", + "è¿ĩ é«ĺ", + "鼷 è¾¾", + "ä¸Ģèµ· åİ»", + "æķĻ å¯¼", + "å°± è¯Ĭ", + "å°± å¾Ī", + "ä¸įåIJĮ äºİ", + "ä¿ º", + "å¸ĸ åŃIJ", + "æĶ¿åįı å§Ķåijĺ", + "çĸ«æĥħ å½±åĵį", + "åĪĨ è£Ĥ", + "为ä»Ģä¹Ī ä¼ļ", + "äºĶ æĺŁ", + "å°ij åĦ¿", + "æĬ¢ éĻ©", + "梦 è§ģ", + "è®°èĢħ éĩĩ访", + "å±± è·¯", + "æĪij 个人", + "æ²Ļ 滩", + "è¹ Ń", + "æĶ¹ è®Ĭ", + "æĸ°åŀĭ åĨł", + "æĸ°åŀĭåĨł çĬ¶", + "åĮ» æĬ¤", + "åĮ»æĬ¤ 人åijĺ", + "æµ· å°Ķ", + "åħ³äºİ æĪij们", + "éϤ å¤ĸ", + "åº ļ", + "宣 åijĬ", + "ä¸ī åįĥ", + "æ¦ ¨", + "ç§ijæĬĢ å¤§åѦ", + "ä¸ĥ åħ«", + "顺 åºĶ", + "çΏçΏ å¦Īå¦Ī", + "éĢī åıĸ", + "åī§ çĥĪ", + "乡æĿij æĹħ游", + "积æŀģ æİ¢ç´¢", + "表çݰ 为", + "å¾Ī æ¸ħæ¥ļ", + "大 åĨĽ", + "æĿ¥ ç͵", + "å¥Ĺ æĪ¿", + "çݰ è¡Į", + "享 åıĹåΰ", + "çľĭ çĤ¹", + "åĽºå®ļ èµĦ产", + "以 人为", + "以人为 æľ¬", + "ä¸į å®Į", + "éĻį 鼨", + "åģļçļĦ äºĭæĥħ", + "å¹¶ äºİ", + "顽 强", + "èĢ ¸", + "åĺ´ å·´", + "缸åħ³ ä¿¡æģ¯", + "æĪij 没", + "æĪĺçķ¥ æĢ§", + "æĢĿ 念", + "åĪĺ å¤ĩ", + "åĬ© æĶ»", + "é£İ è²Į", + "éĿ¢å¯¹ éĿ¢", + "积æŀģ å¼Ģå±ķ", + "çĸĹ æķĪ", + "çľĭ 书", + "缺 åı£", + "åĽ½æ°ij ç»ıæµİ", + "使ç͍ æĿĥ", + "éģ¥ è¿ľ", + "å¡« è¡¥", + "第ä¸ī 人", + "åįĬ å¤ľ", + "æŃ¦æ±ī å¸Ĥ", + "æĪij åıijçݰ", + "ä¼ĺæĥł æĶ¿çŃĸ", + "é£İ åı£", + "å°± ä¸įèĥ½", + "为 主è¦ģ", + "æµģ åĩº", + "å´ĩ æĭľ", + "å¹¶ ä¸įèĥ½", + "é«ĺ ä¸ī", + "ä¸ĸçķĮä¸Ĭ æľĢ", + "æĥ³ å¿ħ", + "åħ¶ æīĢ", + "åĢĻ éĢī", + "åĢĻéĢī 人", + "ä¸į çα", + "åī¯ ä½ľç͍", + "人æ°ij æĹ¥æĬ¥", + "æĪij ä¸įæĺ¯", + "å®ŀ çī©", + "ç͵ åİĤ", + "ä¹Ł ç®Ĺæĺ¯", + "æľī éĹľ", + "æľī èĥ½åĬĽ", + "æĮĤ åľ¨", + "çľ¼ ä¸ĭ", + "约 ç¿°", + "å°ı åѦçĶŁ", + "èµ· åΰäºĨ", + "å·¥ 夫", + "åIJĮ å¿ĥ", + "åĿ¦ è¨Ģ", + "çł Į", + "åıijæĮ¥ äºĨ", + "èģĮä¸ļ éģĵå¾·", + "è¿ĻäºĽ å¹´", + "念 头", + "èĢģ é¼ł", + "åħ¨ èµĦ", + "åħ¨èµĦ åŃIJ", + "ä¸Ģ åij³", + "å¤ļ ä¸ĩåħĥ", + "æł¼ æľĥ", + "éķ¿ éĢĶ", + "带 èµ°", + "èĭ± 寸", + "æĸĩ ä½ĵ", + "对 ä»ĸ们", + "åĵŃ äºĨ", + "å¡« æĬ¥", + "çīĪæĿĥ 声æĺİ", + "ç͵ 线", + "è´Ńçī© ä¸Ńå¿ĥ", + "饱 满", + "ä½İ 头", + "强 è¿«", + "ä¿Ŀ æ´ģ", + "欧 åĨł", + "缸 è¿ŀ", + "认 è´Ń", + "çģ« æĺŁ", + "é«ĺ å°Ķ", + "é«ĺå°Ķ 夫", + "èij« èĬ¦", + "æłĩ 注", + "çļĦ çIJĨæĥ³", + "æł¸ éħ¸", + "æł¸éħ¸ æ£Ģæµĭ", + "åĬ ī", + "ä¸Ģèά æĺ¯", + "æĢĿ ç´¢", + "轨 迹", + "çĥŃ å¸¦", + "éĻ £", + "åĩĨç¡® æĢ§", + "æĪ´ çĿĢ", + "åľ¨ çĶŁæ´»ä¸Ń", + "æīĢ èĥ½", + "æľ¯ åIJİ", + "带 ä½ł", + "ç¥ ł", + "æ®ĭ éħ·", + "ä¹Ł åıªæĺ¯", + "çͳ è´Ń", + "举åĬŀ äºĨ", + "æľī æĦıä¹ī", + "æĹº 缼", + "åľ¨ ç¶²", + "åľ¨ç¶² è·¯ä¸Ĭ", + "å¾Ī大 ç¨ĭ度", + "管 è¾ĸ", + "çĸ«æĥħ æľŁéĹ´", + "触 æij¸", + "éĺ¶æ®µ æĢ§", + "ä¼ļ è§īå¾Ĺ", + "çļĦ çĶ»éĿ¢", + "æİ¥åıĹ äºĨ", + "表达 äºĨ", + "éĤĵ å°ı", + "éĤĵå°ı å¹³", + "åħļ é£İ", + "åħļé£İ å»īæĶ¿", + "åķĨ åѦéĻ¢", + "åħij æį¢", + "é£Łåĵģ èį¯åĵģ", + "éĿŀ常 好çļĦ", + "çľ ¯", + "纳 ç±³", + "åĬ¨ æijĩ", + "åĽŀ éģ¿", + "çľĭ èijĹ", + "款 项", + "åħ« å¹´", + "åģļ 个", + "æĸĩ æ¡£", + "éĩijèŀį ç§ijæĬĢ", + "åħ¶ä¸Ń æľī", + "äºĨä¸Ģ ç³»åĪĹ", + "æĹĹèΰ åºĹ", + "ç§° èµŀ", + "éĽ¢ éĸĭ", + "åζ åĨ·", + "å®¶ éŨåı£", + "åįģ å¤ļ", + "ä¼´ ä¾£", + "çľĭ çĹħ", + "æĭī çĿĢ", + "æī Ĵ", + "çĸ² æĥ«", + "å°ijæķ° æ°ijæĹı", + "åĽ¾ å½¢", + "è½ §", + "å¢ŀ éĩı", + "饲 åħ»", + "çģ« å±±", + "æ¯ı 个æľĪ", + "ä½ľä¸º ä¸ĢåIJį", + "è½´ æī¿", + "æĸĩ 书", + "ç¼ ķ", + "åħ·ä½ĵ æĥħåĨµ", + "çĹĽ çĤ¹", + "缴 éĶĢ", + "å¡ Ĭ", + "ä¹Ł æľĥ", + "çĥŃ æ½®", + "å¹³ æ°ij", + "æ¼Ķåͱ ä¼ļ", + "æķĻ çłĶ", + "éĢĥ éģ¿", + "ä¸Ģ è´¯", + "å°± è¶Ĭ", + "å®ŀ å®ŀåľ¨", + "å®ŀå®ŀåľ¨ åľ¨", + "ä¹łè¿ijå¹³ æĢ»", + "æº º", + "å¿ĥ åºķ", + "éķ¿ å¾ģ", + "媽 媽", + "第ä¸ī 次", + "åĩº æ¼Ķ", + "çĭĢ æ³ģ", + "å°Ķ æĸ¯", + "代çIJĨ åķĨ", + "çĨ ı", + "çļĦ 对象", + "ç͵ éĩı", + "è¡Į åĪĹ", + "åĽ½ 人", + "è·ij äºĨ", + "åįĶ åĬ©", + "èIJ¥ è¿IJ", + "å¸Ī åħĦ", + "æ¦ ®", + "æĥ³ åĥı", + "æĢ§ 强", + "ç§ijåѦ çłĶç©¶", + "å»¶ å®ī", + "ä¸¥æł¼ èIJ½å®ŀ", + "é¢Ĩ ä¼ļ", + "缸 å·®", + "è·¯ 人", + "çĶ «", + "æľī ä»·å̼", + "æľīä»·å̼ çļĦ", + "ç¾İ åĽ¢", + "æ°ij主 çĶŁæ´»", + "æĪij æīį", + "ç¾İåĽ½ 人", + "æ°Ķ åij³", + "åıį å°Ħ", + "çļĦ åĨ³å¿ĥ", + "大 è±Ĩ", + "交 代", + "è¿Ľ åĩº", + "åıį æĬĹ", + "æĮĩ çļĦæĺ¯", + "ä»· ä½į", + "è¿Ľ é©»", + "ä¸Ĭ çϾ", + "ä½į åĪĹ", + "ä¸ŃåĽ½ ä¼ģä¸ļ", + "çļĦ好 å¤Ħ", + "主 ç¼ĸ", + "æ±½ æ²¹", + "ä½Ĩ æĪij们", + "æĢİä¹Ī çľĭ", + "é»Ħ å±±", + "å¤ļ åªĴä½ĵ", + "åIJİ åį«", + "èİ·å¾Ĺ æĽ´å¤ļ", + "åĬ¡ å¿ħ", + "为 å¥ijæľº", + "é¦ĸ 饰", + "ä¸ĩ åįļ", + "è¶ĬæĿ¥è¶Ĭ 大", + "ä¸ĵ项 è¡ĮåĬ¨", + "å¥ĭ è¿Ľ", + "ä»į çĦ¶æĺ¯", + "è´¨ æĦŁ", + "å¦Ĥæŀľ ä¸įæĺ¯", + "ç«Ļ èµ·æĿ¥", + "ä¹¾ éļĨ", + "åı¯æĢķ çļĦ", + "å¯Į è´µ", + "æ¸ħ ç®Ĺ", + "åIJij ä¸ĭ", + "åĢ ļ", + "çļĦ çŃĶæ¡Ī", + "èι ä¸Ĭ", + "çļĦ羣å®ŀ æĢ§", + "çŃī åĬŁèĥ½", + "åĸľ åī§", + "å¨ģ åĬĽ", + "æĸ° é¢ĸ", + "æł¸ ç͵", + "æĬ¥ éĶĢ", + "æķħ 乡", + "ä¼´ éļı", + "éŀ Ń", + "å¦Ĭ å¨ł", + "åĪĨ åĮĸ", + "æľī å¾Ī大", + "æĢİä¹Ī 说", + "æĻĤ 代", + "产 åĩº", + "ä»ĭç»į 说", + "å¤ĦçIJĨ åύ", + "èĨ¨ èĥĢ", + "åī¯ å¸Ĥéķ¿", + "çļĦ 妻åŃIJ", + "æł· åĵģ", + "åIJĮæ¯Ķ ä¸ĭéĻį", + "åħĥ å·¦åı³", + "ç͍ èĩªå·±çļĦ", + "é«ĺ éĽĦ", + "æĺ¥ æĻļ", + "ä¹Ł æľīå¾Īå¤ļ", + "çľ¼ çIJĥ", + "æķ£ æŃ¥", + "ä»ĸ们 éĥ½", + "第ä¸Ģ å®¶", + "åĬŀ 好", + "å®ī éĺ²", + "ä¸Ģ ä¸ĩ", + "åľ¨ éĩĮéĿ¢", + "éŁ³ é¢ij", + "åı£ åı·", + "ä¸Ģ è¶Ł", + "ç¦ı çī¹", + "é³ ŀ", + "æĥĬ èī³", + "æĸ° å¨ĺ", + "绿èī² åıijå±ķ", + "ä¸Ń å¼ı", + "ä¹Ł åıªæľī", + "çݰ 身", + "åı¯ ä¾Ľ", + "æ¯ı ä¸Ģ个人", + "第ä¸ī èĢħ", + "åľ° å½¢", + "éĴ¢ ç»ĵæŀĦ", + "çĽijçĿ£ æ£ĢæŁ¥", + "åı« æĪij", + "èĩ´ æķ¬", + "æ´Ĺ æīĭ", + "ä¸ĭ è°ĥ", + "康 çĨĻ", + "æĪIJ交 éĩı", + "ä¹Ł æĪIJ为", + "åħī æ»ij", + "å®Įæķ´ æĢ§", + "çģ ¼", + "ç¶² éłģ", + "éķ¿ å¯¿", + "éģ© ç͍", + "çļĦä¸Ģ 项", + "çŀ© 缮", + "æĬĬ èĩªå·±çļĦ", + "éĵ¶è¡Į åį¡", + "å°± å¿ħé¡»", + "ç¾İ çϽ", + "éŀį å±±", + "æľ¬ é¢Ĩ", + "ä¸Ģ ç¢Ĺ", + "æīĵ æ³ķ", + "æĤ¨ 好", + "对 åŃ©åŃIJ", + "æĬ¥éģĵ ç§°", + "ä¼ł åĩº", + "大 èĩ£", + "ç¬ ĭ", + "çĽ ı", + "é¾ ļ", + "缴 线", + "æĻº åºĵ", + "ç§Ł 车", + "é£İ åij³", + "çľĭ ä¸Ģä¸ĭ", + "æİ¨ éĶĢ", + "éĥ¨ éĥ¨éķ¿", + "è´¨éĩı åĴĮ", + "åĪĬ çĻ»", + "å·¥ä¸ļ åĮĸ", + "çİĩ 为", + "鼶 ä»¶", + "硬 åĮĸ", + "ä¸Ĭ åįĥ", + "ç»ıéªĮ å̼", + "å¹³ è¡Į", + "声 éģĵ", + "æľįåĬ¡ è´¨éĩı", + "çĶŁ çĶ¢", + "æľĢ 容æĺĵ", + "ä¸Ģ æŀļ", + "å¹´ æĬ¥", + "åħ¬ ç½ij", + "åħ¬ç½ij å®ī", + "åħ¬ç½ijå®ī å¤ĩ", + "çļĦ èĥ½éĩı", + "å®ŀéĻħ è¡ĮåĬ¨", + "è¦ģ ä¸įè¦ģ", + "æĹ¥æľ¬ 人", + "è̶ 稣", + "ç¼ĸ åī§", + "æ¶ ©", + "åį° å°¼", + "ä¸Ĭä¸ĭ 游", + "åĩł åı¥", + "ä¸Ń éĵģ", + "ç°¡ åĸ®", + "èĩª 带", + "çĶŁ äºİ", + "ä¸Ģ åı£æ°Ķ", + "åĭ¤ å¥ĭ", + "éĻį ä»·", + "å±ķçݰ äºĨ", + "å¸ĥ æĭī", + "ä¼ļ éĢīæĭ©", + "çļĦ ç»ıåħ¸", + "好 æľĭåıĭ", + "车 éģĵ", + "æķ´ åĢĭ", + "åľ ĵ", + "éķ¿æľŁ 以æĿ¥", + "æĬķ å½±", + "çļĩ åĨł", + "è¿ĩ 大", + "åijĬè¯ī ä»ĸ", + "ä¼ģä¸ļ æıIJä¾Ľ", + "æĬ½ 象", + "éĢĤ 度", + "çļĦ 女åŃ©", + "èµ· ä¼ı", + "çļĦ åĬŁæķĪ", + "ä¸ĵ项 æķ´æ²»", + "åı¯ éĢļè¿ĩ", + "ä¸įåIJĮ ç¨ĭ度", + "å¼Ĥ è®®", + "åĩĢ èµĦ产", + "åij Ĺ", + "ä»Ģä¹Ī åij¢", + "å·¡ éĢ»", + "è¸ı ä¸Ĭ", + "ä½Ĩ å®ĥ", + "ç²¾ 度", + "管 å±Ģ", + "第ä¸Ģ åIJį", + "åĨħ åŃĺ", + "æijĨ åľ¨", + "åī© ä¸ĭ", + "主ä½ĵ 责任", + "çĤ¹ åįĬ", + "以 èĩ³äºİ", + "åħ»èĢģ ä¿ĿéĻ©", + "æĦŁåıĹ åΰäºĨ", + "çŁ¥åIJį çļĦ", + "å¯Į 豪", + "妥 åĸĦ", + "åŃĻ åŃIJ", + "éĵ Ĥ", + "说 èĩªå·±", + "让 æĤ¨", + "æķ° æİ§", + "çļĦçľ¼ åħī", + "注 éĶĢ", + "çļĦ çģµéŃĤ", + "è¿ĺ ä¸įéĶĻ", + "éĹ® ä»ĸ", + "èĩªä¸» çłĶåıij", + "èĵ ĭ", + "ç´« èī²", + "åĽ½å®¶ å®īåħ¨", + "è¾½å®ģ çľģ", + "ä¹Ł æ¯Ķè¾ĥ", + "ç¾İ èĤ¡", + "ä¸įç¡®å®ļ æĢ§", + "å¿ĥ 头", + "æĪ ³", + "级 åĪ«çļĦ", + "论 è¿°", + "çļĦ åĽŀçŃĶ", + "ä¿Ŀè¯ģ éĩij", + "çŃī è¡Įä¸ļ", + "幸ç¦ı æĦŁ", + "æŃ§ è§Ĩ", + "æľº 票", + "æ´¾ 人", + "èĩ´ åij½", + "åĺ´ è§Ĵ", + "æĸ°éĹ» ä¸Ńå¿ĥ", + "æĶ¾å¼ĥ äºĨ", + "å®ľ å±ħ", + "åĨĻ ä¸ĭ", + "éĹ® çŃĶ", + "è¿ĻéĩĮ æĺ¯", + "å¤ļ åľ°", + "åĮºåŁŁ åĨħ", + "åīµ æĸ°", + "çľĭ ä»ĸ", + "æī§æ³ķ 人åijĺ", + "åĬ¨ æľº", + "éŁ³ åĵį", + "çļĦ åij½è¿IJ", + "é¡¶ éĥ¨", + "åĵ Ł", + "éĥ½ æľĥ", + "æīĵéĢł æĪIJ", + "æĦı åĽ¾", + "çļ ĸ", + "åĢĴ åħ¥", + "å·´ èIJ¨", + "åĬ© åѦ", + "å¤į åı¤", + "åIJ¯ ç͍", + "åĽ½éĻħ å¸Ĥåľº", + "åĤ¨ èĥ½", + "é»ijé¾Ļæ±Ł çľģ", + "ä¹ĺ 车", + "è¿IJåĬ¨ ä¼ļ", + "ä¿Ŀ åĪ©", + "çŁ³ æĿIJ", + "çµ ®", + "çĤĴ ä½ľ", + "çļĦ ä¿¡ä»»", + "å°± æĪIJäºĨ", + "åı¯ è§Ĥ", + "çļĩ ä¸Ĭ", + "è¿Ļ åĩłå¤©", + "ä¸Ģ éĶ®", + "åĨ· åĨ»", + "ä¿Ŀ åį«", + "æł¸ æ¡ĥ", + "åIJĪä½ľ åħ³ç³»", + "éĢģ åĩº", + "æĹĹ ä¸ĭçļĦ", + "åľ¨ ä¹İ", + "为 广大", + "åįĪ é¤IJ", + "ä¸ĵ 访", + "æĪĸ å°Ĩ", + "éĿĴå²Ľ å¸Ĥ", + "å¥Ķ è·ij", + "æĹ¥ æĬ¥éģĵ", + "å¥ij åIJĪ", + "æĸ° æĺ¥", + "ä¸į å°ıå¿ĥ", + "两 ä¸ī", + "æĦıæĢĿ æĺ¯", + "åĨ· èĹı", + "çļĦ çĹĩçĬ¶", + "æĢ§ åij½", + "è¶ħ æłĩ", + "å¯Ĩ 碼", + "ç§ijæĬĢ èĤ¡ä»½", + "äºĨä¸Ģ æī¹", + "çĿ£ å¯Ł", + "åªĴ ä»ĭ", + "å°Ħ æīĭ", + "ä¿® åħ»", + "çīĩ åĪ»", + "éĢĤåIJĪ èĩªå·±", + "åıªè¦ģ æĺ¯", + "åIJĥ è¿ĩ", + "éĩij éĵ¶", + "缴 å±ŀ", + "åѦ éĹ®", + "åİĭ åζ", + "çªĹ å¤ĸ", + "æĶ¶ åΰäºĨ", + "åħ¨åĽ½ 人大", + "ä½Ĩæĺ¯ 对äºİ", + "åľ¨ æķ´ä¸ª", + "çļĦ èĥĮåIJİ", + "åĩıå°ij äºĨ", + "åıį èħIJ", + "åıįèħIJ åĢ¡", + "åıįèħIJåĢ¡ å»ī", + "æĹ ·", + "åĪĨ æľŁ", + "åľ¨ æ·±åľ³", + "æīĵ çĿĢ", + "æī« ä¸Ģ", + "æī«ä¸Ģ æī«", + "æĶ¿åºľ éĥ¨éŨ", + "æİ¥ è¿ŀ", + "å±ŀäºİ èĩªå·±", + "åŃIJ å¼¹", + "åIJĮæł· æĺ¯", + "æĢ» åħ±", + "车 ä¼ģ", + "æ¢ ĵ", + "åħ¬ é¡·", + "åıij 声", + "éĴ Ľ", + "èµ°åĬ¿ åĽ¾", + "主 èIJ¥", + "åĸ Ķ", + "æķ°æį® åĪĨæŀIJ", + "ä¸į è¿ľ", + "æľī åIJį", + "æľīåIJį çļĦ", + "åģ¿ è¿ĺ", + "å¾Ī ä½İ", + "è®ĵ 人", + "èĿ ī", + "é«ĺ è´µ", + "å°ij 许", + "æ° Ł", + "å¹ ¢", + "亲 æĥħ", + "è¿Ļä»¶ äºĭæĥħ", + "ç͍ é¤IJ", + "缸åħ³ æĸ°éĹ»", + "å°± åºĶ该", + "ç»Ī çĤ¹", + "æĺ¯ å¤ļå°ij", + "çĻ» åľº", + "è¯ķ 管", + "è¯ķ管 å©´åĦ¿", + "åģļ 大", + "åģļ大 åģļ强", + "çļĦ ä¾ĭåŃIJ", + "åħ« 个", + "æĺİ æĹ¥", + "çĤ ³", + "èµ° åİ»", + "éģ º", + "å¢ ©", + "ä½ĵä¼ļ åΰ", + "åĴ ı", + "ä¸ĭ è¾¾", + "å¤į åıij", + "追 éĢIJ", + "æīĵ åĵį", + "çļĦ éļ±ç§ģæ¬Ĭ", + "åħ·æľī ä¸Ģå®ļ", + "è¿Ļä¹Ī å¤ļå¹´", + "æłij æŀĹ", + "æľĢ éķ¿", + "åIJĮ èĥŀ", + "åħī æ³½", + "åŁŁ åIJį", + "æĮĩ åIJij", + "åıĹ害 èĢħ", + "æłij èĦĤ", + "æľīå¤ļ 大", + "大 éĿ¢ç§¯", + "æĹł ç¼Ŀ", + "æĶ¹ æŃ£", + "æĽ´å¤ļ çļĦæĺ¯", + "æľŁ æľ«", + "æŃ ¼", + "ä¹ī ä¹Į", + "éĤ£ ä½ł", + "çļĦ 第ä¸Ģ个", + "èĮ µ", + "å° §", + "èį «", + "ä¸įä»ħ åı¯ä»¥", + "æ¶Į çݰ", + "æĢ» éĿ¢ç§¯", + "æĸ°éĹ» åıijå¸ĥ", + "æ°ij ç͍", + "å°± 读", + "æīĵ è´¥", + "å¤ĸ è¯Ń", + "æĪij们 ä¸Ģèµ·", + "é¢Ħ å®ļ", + "çĥ¹ 饪", + "æľĢ 主è¦ģ", + "æľĢ主è¦ģ çļĦ", + "çīĮ çħ§", + "åĽł åħ¶", + "ä½İ ä¸ĭ", + "ä¼ļ åIJĮ", + "è§ģ è§£", + "éĹ´ éļĶ", + "æķĻ ç¨ĭ", + "å° ī", + "å¸Ĥ ä¸Ńå¿ĥ", + "åħ³éĶ® æĺ¯", + "æµ· åįĹçľģ", + "çī¹åĪ« æĺ¯åľ¨", + "ä¸ŃåĽ½ 大éĻĨ", + "åħħè¶³ çļĦ", + "æĹ¢ èĥ½", + "åĤ³ çµ±", + "çijľ ä¼½", + "åħ¥ åĽ´", + "æħ¢æħ¢ åľ°", + "æĬ¥ éħ¬", + "æī¹ å¤į", + "å·¥ä¸ļ åĽŃåĮº", + "ä¸İ åıijå±ķ", + "èĥ¸ éĥ¨", + "åľ¨ ç½ij绾", + "åľ¨ç½ij绾 ä¸Ĭ", + "交 è°Ī", + "æĽ´ æĶ¹", + "åįłæľī çİĩ", + "ä¸Ŀ绸 ä¹ĭè·¯", + "è¡ Ľ", + "çłĶ åΤ", + "åĪ ª", + "åĪª éϤ", + "è¿Ļ åıª", + "çļĦ æ°Ķæģ¯", + "åĬł å·ŀ", + "éĴ §", + "çIJĨäºĭ éķ¿", + "ä¸ĸ å®¶", + "æµģè¡Į çļĦ", + "å¾Ī æľīåı¯èĥ½", + "们 éĥ½", + "ç»ıèIJ¥ 模å¼ı", + "è¡Įä¸ļ ä¸Ń", + "éĢļçŁ¥ 书", + "åij½ é¢ĺ", + "æľ¬ ç¶²ç«Ļ", + "æ²Ļ çī¹", + "åıij åħī", + "é«ĺ ä»·", + "å·² çĦ¶", + "åıĮ åįģä¸Ģ", + "ä¸Ĭ è¯ī", + "ç¿ħ èĨĢ", + "è¿Ļä¸Ģ å¹´", + "大ä¼ļ ä¸Ĭ", + "éĩ ī", + "å®Įåħ¨ æĺ¯", + "å¾Ĺ 太", + "ä¸Ģèά 人", + "è¿ĺ ç®Ĺ", + "æĬĺ åıł", + "æĬķ æľº", + "çĤ¹ çĩĥ", + "çݰéĩij æµģ", + "åħĶ åŃIJ", + "ç½ij æł¼", + "æİ¥ è¿ĩ", + "ä¾Ľ è´§", + "éĺ´ å½±", + "åİŁ åħĪ", + "æį £", + "å·¦ ä¾§", + "åħĭ æĭī", + "æīĵ åį¡", + "ç§ij æ¯Ķ", + "æ±ĩ éĽĨ", + "åľ°çIJĨ ä½įç½®", + "è¯Ħ å§Ķ", + "ç»ĵåIJĪ èµ·æĿ¥", + "è¿Ľåħ¥ åΰ", + "åı¯ è¡Į", + "åı¯è¡Į æĢ§", + "让 å®ĥ", + "åĪ¶åº¦ æĶ¹éĿ©", + "çĶĺèĤĥ çľģ", + "åĵ Ĺ", + "åģı åģı", + "è¡£ çī©", + "ç¥Ŀ è´º", + "æºIJ èĩª", + "å¹¶ä¸į 代表", + "åĽ½ 度", + "好 åĿı", + "æĿ ĸ", + "æĿŃ å·ŀå¸Ĥ", + "湿 度", + "é² ¸", + "åįļ 彩", + "æ³° å±±", + "æĿij èIJ½", + "æĸ° èģŀ", + "èĤ ĭ", + "åı¤èĢģ çļĦ", + "çļĦ ç§ĺå¯Ĩ", + "ä¸Ģ个 éĹ®é¢ĺ", + "éģı åζ", + "åįĥ 亿", + "è¿ĩ 硬", + "å°Ħ åĩ»", + "èĩªçĦ¶ æĺ¯", + "产 åĮº", + "çĤ¹ çĤ¹å¤´", + "åı¯ä»¥ 帮åĬ©", + "说 å®ŀ", + "说å®ŀ è¯Ŀ", + "æĪij åıªæĺ¯", + "ä¹ĭ ä½Ļ", + "åIJĮæĹ¶ ä¹Łæĺ¯", + "ä¸ŃåĽ½ éĺŁ", + "建æĪIJ åIJİ", + "ä¹IJ è§Ĩ", + "åij¨ å²ģ", + "èᝠåºĹ", + "éĩij åįİ", + "严éĩį å½±åĵį", + "è´¨ åľ°", + "æĹħ éģĬ", + "åħµ åύ", + "æķĻèĤ² æķĻåѦ", + "离 åİ»", + "åIJĦå¼ı åIJĦæł·", + "ä»ĭ ç´", + "ä»ĭç´ ¹", + "å¼Ģ 头", + "å°Ĩ èĩªå·±çļĦ", + "åIJ¬ åĬĽ", + "ä¿¡æģ¯ ç³»ç»Ł", + "ä»İ æł¹æľ¬", + "ä»İæł¹æľ¬ ä¸Ĭ", + "æİĮ 声", + "欢 åĸľ", + "å±ķ åĮº", + "åķ ¸", + "太å¤ļ äºĨ", + "éĹ² ç½®", + "èĥ¡ èIJĿåįľ", + "å§Ķ å®£ä¼ł", + "å§Ķå®£ä¼ł éĥ¨", + "åįĹ éĺ³", + "å·ŀ åĮº", + "ä¸İ æĹ¶", + "ä¸İæĹ¶ 俱", + "ä¸İæĹ¶ä¿± è¿Ľ", + "å«Įçĸij 人", + "èī¯ å¿ĥ", + "头 é¡¶", + "è´¢ æĬ¥", + "ä½Ľ æ³ķ", + "å¾ µ", + "åİŁ ä»¶", + "åĭ ŀ", + "çĶ· 篮", + "å¤ĸåĽ½ 人", + "è¿Ŀ 纪", + "æī¾ äºĨ", + "æįķ æįī", + "缸 è¯Ĩ", + "æIJľ éĽĨ", + "çļĦ ä¼Łå¤§", + "ä¸ī ç»´", + "å°±è¡Į äºĨ", + "çĭIJ æľĪ", + "çĭIJæľĪ å±±", + "å¸ĮæľĽ éĢļè¿ĩ", + "èĢĮ 对äºİ", + "éĿ¢ å°į", + "åĨĽ åĽ¢", + "è¡Ĺ åĮº", + "æĤ¬ æĮĤ", + "便 ç§ĺ", + "æľīä¸Ģ çĤ¹", + "ä¼ļè®® ä¸Ĭ", + "ä¸ĭ æīĭ", + "廣 åijĬ", + "äºĶ è¡Į", + "çŃī åĢĻ", + "ç´§ç´§ åĽ´ç»ķ", + "æĭ¿ äºĨ", + "æ¡Į éĿ¢", + "ç¥ŀ æĥħ", + "éĽĦ åİļ", + "çŀ ³", + "楼 ä¸ĭ", + "å½ ª", + "äºĭ åıij", + "åĨį è§ģ", + "é¤ ĺ", + "é¢Ħ åĶ®", + "åİ» çľĭçľĭ", + "æĪij们 åºĶ该", + "ä¸ī å®¶", + "æµ Ĭ", + "ä¹IJ éĺŁ", + "çľĭ ä¸įè§ģ", + "èĦij åŃIJ", + "æĮģ æľīçļĦ", + "çϽ èıľ", + "éĹª çĥģ", + "åĸĿ æ°´", + "æİ§åζ ç³»ç»Ł", + "ä¸ĵ åĮº", + "æľĿ å»·", + "æĪij å¿ĥéĩĮ", + "å±ķ åİħ", + "èľĺ èĽĽ", + "åĨ» ç»ĵ", + "ç² ª", + "åº IJ", + "åIJij 社ä¼ļ", + "åĨ³çŃĸ éĥ¨ç½²", + "çŁŃ æľŁåĨħ", + "æĸ° ä¸ļæĢģ", + "æľ Ķ", + "æĹ¶ æĬ¥", + "使 ä¹ĭ", + "åĽł åŃIJ", + "åıĤä¸İ èĢħ", + "çļĦ 年轻人", + "æīĭ 表", + "å°ģ éĶģ", + "为ä»Ģä¹Ī ä¸į", + "åIJ¸ çĥŁ", + "æ¯Ĵ ç´ł", + "åĪij æ³ķ", + "磫 æŃ£", + "身 æĹģ", + "åİŁ è°ħ", + "çĽij æĬ¤", + "æŃ¤ å¤Ħ", + "éļ¨ æĻĤ", + "æŀľ å®ŀ", + "åĮ»çĸĹ æľįåĬ¡", + "ä¸į åIJĪçIJĨ", + "æIJŀ 好", + "çļĦ èĦļæŃ¥", + "å¤ĸ å¥Ĺ", + "ç¶ĵ éģİ", + "æĶ¾ ç¼ĵ", + "åģľ çķĻ", + "æĺŁ çIJĥ", + "çļĦä¸Ģ éĿ¢", + "åĩł ä½ķ", + "è½® åĽŀ", + "æ¯Ľ å·¾", + "ä¿® çIJĨ", + "ä¸įçŁ¥ ä¸į", + "ä¸įçŁ¥ä¸į è§ī", + "æķ´ 个人", + "æ¯ģ çģŃ", + "åı° å·ŀ", + "使ç͍ 寿åij½", + "é»ij çϽ", + "æij¸ ç´¢", + "é¼ł æłĩ", + "éĿ© æĸ°", + "éº µ", + "ä¸ĵéŨ 为", + "å¾Īå¤ļ æľĭåıĭ", + "å·¥ä½ľ ç»Ħ", + "åIJĪ å½±", + "çĤº ä»Ģ麼", + "æŀģ 度", + "çļĦ è¿ĽæŃ¥", + "å½ĵ ä¹ĭ", + "å½ĵä¹ĭ æĹł", + "å½ĵä¹ĭæĹł æĦ§", + "è´´ è¿ij", + "å°º 度", + "åľ¨ çİ°åľº", + "éĻį 临", + "åħ»èĢģ éĩij", + "ç£ ķ", + "åı¯ä»¥ 使", + "管çIJĨ æ°´å¹³", + "æľ¬æĬ¥ è®°èĢħ", + "æ³ķ 令", + "åį¡ è½¦", + "举 æµ·", + "å¤ļ éĩį", + "åħ¶ éĹ´", + "ç´ Ļ", + "éĩį大 é¡¹çĽ®", + "æ±Ĺ æ°´", + "ç»Ħ å§Ķä¼ļ", + "ä¿¡æģ¯ åħ¬å¼Ģ", + "ä¸į论 æĺ¯", + "ä¸Ģ åIJ¬", + "èĴ¸ æ±½", + "æıŃ ç§ĺ", + "è¶ħ éģİ", + "触 åıij", + "å© ¦", + "åħ³èģĶ äº¤æĺĵ", + "å°± ç»Ļ大家", + "好 ä¹ħ", + "åĢŁ è´·", + "游æĪı è§Ĵèī²", + "å¼ĢåIJ¯ äºĨ", + "æİ ł", + "åħļçļĦ åįģä¹Ŀ", + "ä¸ĭ 鼨", + "çŁŃ æĹ¶éĹ´åĨħ", + "å¯ ħ", + "导 åħ¥", + "å·¥ä½ľ ç»ıéªĮ", + "ä¹Ł åıªèĥ½", + "鼷 éľĨ", + "è·Ł è¿Ľ", + "åį¡ éĢļ", + "é¢ĩ æľī", + "æľº ä½ĵ", + "æĪĺ士 èģĮä¸ļ", + "女 主", + "ä½ĵåζ æľºåζ", + "è¶³ åįı", + "èĪĴéĢĤ çļĦ", + "åĢŁ åı£", + "æī¹ åΤ", + "æķ° å̼", + "è« ¾", + "éĺ¿æĭī 伯", + "åĺ İ", + "æħ ¶", + "è¾¾ 人", + "å¼Ģ æ°´", + "大 鼨", + "温 室", + "ä½İ è¿·", + "ä»į æĹ§", + "éªĹ åŃIJ", + "亲 å±ŀ", + "çIJĨ æĻº", + "æľ¬ åŁºéĩij", + "å¨ ħ", + "åĨĻåŃĹ æ¥¼", + "å¢Ļ å£ģ", + "å® µ", + "èϽ çĦ¶æĺ¯", + "顺 çĿĢ", + "åħ« åį¦", + "åķĨ ç͍", + "ä¸į 失", + "è¿· èĮ«", + "顺 便", + "æļij æľŁ", + "欺 è´Ł", + "é¢ij é¢ij", + "该 æł¡", + "æĸĻ çIJĨ", + "æ·± æĥħ", + "åīį éĶĭ", + "ä¿Ŀ èŃī", + "èģĮä¸ļ çĶŁæ¶¯", + "åħ¬ å¼Ģåıij", + "åħ¬å¼Ģåıij è¡Į", + "åħ¥ æĪ·", + "éł ĵ", + "å̾ åIJ¬", + "éŃ ģ", + "æĦī æĤ¦", + "åĽŀ åIJĪ", + "åħ¨åĬĽ 以", + "åħ¨åĬĽä»¥ èµ´", + "åĥ¹ å̼", + "èĥ½åĬĽ 强", + "ç»ı å¼Ģ", + "ç»ıå¼Ģ åĮº", + "è¿ľ æĸ¹", + "çļĦ éģĵçIJĨ", + "缴 åįĩ", + "缴åįĩ æľº", + "为主é¢ĺ çļĦ", + "ç»Ļ æĤ¨", + "è¿ĺ æĥ³", + "æ¯Ķ æĪij", + "åĨľ çī§", + "æµ· åºķ", + "çŃ¾è®¢ äºĨ", + "对äºİ æĪij们", + "æĹ¶ 许", + "éĶ® çĽĺ", + "å®ŀéĻħ æİ§åζ", + "çļĦ æ¨¡æł·", + "åıįæĺł äºĨ", + "代 åĬŀ", + "åĮ» ç͍", + "éĽĨ ç»ĵ", + "åıijå±ķ åīįæĻ¯", + "æĮĩ çĿĢ", + "åįİ åĮĹ", + "è¿Ļ åĩłä¸ª", + "åIJį æ°Ķ", + "åĤį æĻļ", + "èĩª åıij", + "æ³¢ åħ°", + "大åĬĽ æİ¨è¿Ľ", + "èĩª ç§°", + "èįĨ å·ŀ", + "æIJį 害", + "äºĨä¸Ģ åı¥", + "æľĢåĪĿ çļĦ", + "éĩijèŀį å᱿ľº", + "æĢĢ å¿µ", + "è¡Į åĭķ", + "女 æİĴ", + "ä¸į è§£", + "ä¼ł éĶĢ", + "转载 请", + "饰 åĵģ", + "åıª 为", + "ä¸İ ä¼Ĺ", + "ä¸İä¼Ĺ ä¸įåIJĮ", + "èĥ½ èĢĹ", + "èı© æıIJ", + "è¿ij 两年", + "è¿Ķ 乡", + "马ä¸Ĭ å°±", + "äºĮ çŃīå¥ĸ", + "æ°´ 管", + "æ³ķ åѦ", + "çģŃ çģ«", + "大 å§IJ", + "åij¨ 转", + "æľī æľŁ", + "æľīæľŁ å¾Ĵ", + "æľīæľŁå¾Ĵ åĪij", + "å°į æĸ¹", + "ç¥ŀ èī²", + "æ²¹ èĦĤ", + "ä¸ī çĤ¹", + "ä¸į åĪ©äºİ", + "äºĭä¸ļ éĥ¨", + "å°± è·Ł", + "å¼Ģ æĶ¯", + "å°ı 女åŃ©", + "åħ±åIJĮ åĬªåĬĽ", + "çĶļèĩ³ è¿ĺ", + "è¿Ļ åIJį", + "è¿Ļ ç¬Ķ", + "çݯ åį«", + "æľī ç§į", + "è§Ĩ åĬĽ", + "çĨŁ çŁ¥", + "åħ¬ç§¯ éĩij", + "æ¶Īéĺ² å®īåħ¨", + "é¢ĩ 为", + "大 èħ¿", + "éĿ ¶", + "çī¹ æķĪ", + "æľįåĬ¡ åĮº", + "å¼Ģ åĩº", + "深度 èŀįåIJĪ", + "æĹł å¿§", + "æŁ¥ éĺħ", + "ç»Ī ç»ĵ", + "ä¿Ŀ ç¨İ", + "è¨İ è«ĸ", + "å½ĵ åģļ", + "è·³ èĪŀ", + "å¯ §", + "女 çİĭ", + "è®°èĢħ åľ¨", + "åħ¨ 产ä¸ļéĵ¾", + "è´¯ éĢļ", + "åħ´ ä¸ļ", + "éĻį åΰ", + "å°ģ éĿ¢", + "åħ¨éĿ¢ æİ¨è¿Ľ", + "奶 èĮ¶", + "éĢī åĿĢ", + "äºĨä¸Ģ åľº", + "åIJĮ ä¼´", + "è®® 论", + "æIJ ĵ", + "诸 èijĽ", + "诸èijĽ 亮", + "å¹² åĺĽ", + "æµģ æĦŁ", + "ä¸ĵä¸ļ çŁ¥è¯Ĩ", + "ç͵ ç«Ļ", + "åĩı å¼±", + "åĩº åħ¥", + "åIJĦ çľģ", + "éĿŀ常 é«ĺ", + "åľ° 毯", + "åıij æĸĩ", + "çĦ ī", + "çĥ§ çĥ¤", + "å£ģ 纸", + "æģ¶ åĮĸ", + "èĬ ¸", + "èĥĸ åŃIJ", + "çĩ Ĵ", + "çľģ éĴ±", + "çϾ 强", + "çIJĨå·¥ 大åѦ", + "éĴ¢ æĿIJ", + "åĽ½æľī èµĦ产", + "æĪĺ æľº", + "æ³Ħ éľ²", + "åIJİéĿ¢ çļĦ", + "æ°´ èµĦæºIJ", + "æ¢ħ èĬ±", + "åĨĻ çĿĢ", + "ä¹ĭ 声", + "æĹł åı¯", + "æĺİ æľĿ", + "ç«ĭæĸ¹ ç±³", + "ç· £", + "æĶ¾ è¿ĩ", + "ç¦ı çͰ", + "å¾Ĺ ä½ı", + "åıĹ ä¼Ĺ", + "ä¸Ń 级", + "çĹħ åıĺ", + "ä¸Ģ çŀ¬éĹ´", + "æĿĥ éĩį", + "人æĢ§ åĮĸ", + "åĮ»çĸĹ åį«çĶŁ", + "ä¸įåΰ ä½į", + "æĻºèĥ½ å®¶å±ħ", + "饮 ç͍", + "æ¼Ķ åıĺ", + "é«ĺ ç´łè´¨", + "ä¹Ļ æĸ¹", + "åģľ çķĻåľ¨", + "èİ· æī¹", + "ç©¿ æ¢Ń", + "客 åľº", + "æĮ½ åĽŀ", + "京 åŁİ", + "çĶŁåij½ åĬĽ", + "實 éļĽ", + "çĩ Ī", + "åĨį çݰ", + "çݰå®ŀ ä¸Ń", + "æľī ä¿¡å¿ĥ", + "çĸı éĢļ", + "åĺ´ åĶĩ", + "鼷 éĶĭ", + "èıľ åįķ", + "éħ ¯", + "è¶ħ é«ĺ", + "å¾Ī é«ĺåħ´", + "çĶŁ æ®ĸ", + "éĢł ä»·", + "误 åĮº", + "æĨ ĭ", + "好 æ¶Īæģ¯", + "å´ Ń", + "以 èĩ´", + "å¼Ģ çİ©ç¬ij", + "çĽij è§Ĩ", + "å·¡ å¯Ł", + "å¾· å·ŀ", + "æĹ© æĹ©", + "éĹª ç͵", + "æĪª åĽ¾", + "åı¯ä»¥ æł¹æį®", + "æīĭ èīº", + "æİ¥ 轨", + "ç§į æĹı", + "æĢĢ éĩĮ", + "åİ» åĮ»éĻ¢", + "ä¸Ģ äºĮ", + "å¼Ģ éĺĶ", + "åĩı éĢŁ", + "ä½Ĩ ä»İ", + "éĢĻ ä¸Ģ", + "åĩı åħį", + "主é¢ĺ æķĻèĤ²", + "å¼Ģå·¥ 建设", + "è¹ ¦", + "æľĪ 饼", + "ä¸ĭ æ²ī", + "å°Ĭ 严", + "éĻ ĩ", + "å®ŀ æľ¨", + "å»ł åķĨ", + "声 ç§°", + "èĢĥ åľº", + "å¸ĥ é²ģ", + "èĩª æĿ¥", + "èĩªæĿ¥ æ°´", + "éĴ ¾", + "å¹´ 以ä¸Ĭ", + "大 åıĶ", + "ä»ĸ å·²ç»ı", + "åħ¨ æĿij", + "èģĶç³» ç͵è¯Ŀ", + "为 导åIJij", + "åΤ å¤Ħ", + "对 éĺµ", + "缮 æ¨Ļ", + "åIJį é¢Ŀ", + "客 æ°Ķ", + "横 åIJij", + "çŃī åĨħ容", + "åĩł çĤ¹", + "è°Ī 论", + "ä¸į ä¹ı", + "å±ķ çݰåĩº", + "è¾ĥ éķ¿", + "éĢĨ 转", + "å°ı æĻĤ", + "æĺ¯ å¤ļä¹Ī", + "æľ¬ æľĪ", + "è¿ij è§Ĩ", + "æĪIJç«ĭ 以æĿ¥", + "代表 çĿĢ", + "æĬ¥ å¤į", + "æĪı æĽ²", + "è¨Ń åĤĻ", + "åħ¥ èĤ¡", + "å¾ģ æľį", + "é«ĺ åĩº", + "èĪŀåı° ä¸Ĭ", + "å¿ĥ åĬ¨", + "两 çĤ¹", + "缸 çķ¶", + "èĻ Ľ", + "主 页", + "åĩł å®¶", + "æĹł ä¸į", + "åįı å®ļ", + "æĸ IJ", + "å¯ĵ æĦı", + "åħ¨ 线", + "æįķ é±¼", + "åı¯ä»¥ ä»İ", + "æľī è¿Ļæł·çļĦ", + "æģ¶ éŃĶ", + "åĮħ åŃIJ", + "æģ ¤", + "å¼Ģå¥ĸ ç»ĵæŀľ", + "ä¸į æŃ»", + "èĹ į", + "弯 æĽ²", + "æµ· 峡", + "éĶĢ æ¯ģ", + "çļĦ çĭ¬çī¹", + "示 æĦı", + "ä¸įèĥ½ åĨį", + "èĥ½ æĬĬ", + "éĺ² çº¿", + "ä¸įå°ij äºİ", + "æ± Ģ", + "çļĦ éĤ£ä¸Ģ", + "羣 æĥħ", + "åŀ ®", + "被 æīĵ", + "åĽ½ å®ī", + "ç¾İ å¦Ļ", + "è¿Ļ åĩł", + "åĩº éģĵ", + "æľįåĬ¡ äºİ", + "æĪIJæŀľ 转åĮĸ", + "æīį åįİ", + "天 é¹ħ", + "åĩł 个人", + "åĢĺ èĭ¥", + "è̽ 误", + "æĬĹ æĪĺ", + "è¡Į éĬ·", + "æĿ¥ è¢Ń", + "åĢŁ éĮ¢", + "èįī èİĵ", + "ä¸¥æł¼ æī§è¡Į", + "举è¡Į äºĨ", + "å¤ĸ ç±į", + "å·² è¾¾", + "æĿij åħļæĶ¯éĥ¨", + "è¡ Ŀ", + "éĻį èĩ³", + "æµ· éĩı", + "é¤IJ é¦Ĩ", + "æĢ¥ å¿Ļ", + "æ·± è¿ľ", + "å¾Ģ è¿Ķ", + "ç¨İåĬ¡ å±Ģ", + "å¹¿æ³Ľ åºĶç͍", + "è®® åijĺ", + "æĹł æķĮ", + "çľ¼ åħī", + "çĥŃè¡Ģ ä¼łå¥ĩ", + "æŃ IJ", + "äºĨ äºĽ", + "è¿Ŀ èĥĮ", + "è¿Ļ æĺ¯ä¸Ģç§į", + "ä¸į 稳å®ļ", + "大家 åĪĨ享", + "表 çı¾", + "åīį åįģ", + "è·¯ è¿ĩ", + "æĴ ©", + "åIJĮ æĥħ", + "ä¹ł ä¿Ĺ", + "åıij è´¢", + "åºĶ æľīçļĦ", + "æĿİ æŁIJ", + "èĤ Ľ", + "马 åħĭ", + "éĢļ åijĬ", + "å·¨ 人", + "ä¸Ģ åĽ¢", + "éĢĻ æ¬¡", + "ä¸į äºĨè§£", + "æĸ½ è¡Į", + "èij¡èIJĦ çīĻ", + "åıĺå¾Ĺ æĽ´åĬł", + "æı £", + "åĪĽæĸ° èĥ½åĬĽ", + "çķħ éĶĢ", + "表 æī¬", + "æ¯Ķ åĪ©", + "æ¯ĶåĪ© æĹ¶", + "åĮ»çĸĹ ä¿ĿéĻ©", + "æĵį 纵", + "伤 亡", + "æµİ å®ģ", + "åıĺ äºĨ", + "æľ¬æ¬¡ æ´»åĬ¨", + "åľŁ 豪", + "æĥ³ åĬŀæ³ķ", + "æĺ ķ", + "å½ĵ æĻļ", + "åĩº å±Ģ", + "çĥŃ è®®", + "è°Ī è°Ī", + "æĻĭ åįĩ", + "åĬ¿ å¿ħ", + "çĻ» å±±", + "éĤ£ åĦ¿", + "åIJĥ åΰ", + "ä¹ĭ åŁİ", + "å¿« æĿ¥", + "æ¹Ľ æ±Ł", + "第ä¸ī 个", + "åħ¨éĿ¢ æıIJåįĩ", + "å¥ĸ åѦ", + "å¥ĸåѦ éĩij", + "æĬķåħ¥ 使ç͍", + "é½IJ é²ģ", + "åı¯ä»¥ æĬĬ", + "åĴĮ ä»ĸçļĦ", + "è´ŃæĪ¿ èĢħ", + "æŃ£å¼ı åIJ¯åĬ¨", + "åįİ æ¶¦", + "ä¸įæĸŃ å®ĮåĸĦ", + "éĴ¢ æĿ¿", + "ç´¯ 积", + "满 èĦ¸", + "åĽĽ æĸ¹", + "è´¢ çī©", + "ä»ĸ们 ä¼ļ", + "å¤ı æĹ¥", + "éĤ£ 个人", + "éĿł çĿĢ", + "çĤ¹ äºĨ", + "çĤ¹äºĨ çĤ¹å¤´", + "æ© ĭ", + "åıΠ好", + "åıĪ好 åıĪ", + "åıĪ好åıĪ å¿«", + "éĺµ éĺµ", + "å°ģ 建", + "æľ¬ çͰ", + "çī©ä¸ļ æľįåĬ¡", + "èĩªè´¸ åĮº", + "åIJ ı", + "便åĪ© åºĹ", + "åĽ½å®¶ æłĩåĩĨ", + "éĿ¢ ç²ī", + "èī° è¾Ľ", + "æĶ» åħ³", + "æīĵ åĮħ", + "车 éĺŁ", + "人 éĢī", + "åı¯ ä¸įæĺ¯", + "äºĮ åįģå¹´", + "åIJį å¸Ī", + "浦 举", + "åħ¬ è¯ģ", + "è¿IJ éĢģ", + "æĺ¯ æľĢ好çļĦ", + "æŁĶ åĴĮ", + "çİĭ æŁIJ", + "çĹħ æĪ¿", + "åĨ¶ éĩij", + "ä¸Ģä»¶ äºĭæĥħ", + "åį ¤", + "åı¯ æİ§", + "çī Ł", + "æĭ Ĥ", + "å·² äºİ", + "人 éĢł", + "çĶŁçī© åĮ»èį¯", + "ä½ĵ çݰåĩº", + "èĤ² åĦ¿", + "èĢģ å®ŀ", + "åľĸ çīĩ", + "è« ¸", + "ç´¯ äºĨ", + "æĦŁåħ´è¶£ çļĦ", + "åĽ¾çīĩ æĿ¥æºIJ", + "ä¹Ł æĺ¯ä¸Ģç§į", + "æ¾İæ¹ĥ æĸ°éĹ»", + "æĹ¶ 表示", + "åħī è¾ī", + "æĬ¥ åºŁ", + "å²ģ æĹ¶", + "éħ ®", + "æ£Ģ ä¿®", + "åıĺ éĢŁ", + "åıĺéĢŁ ç®±", + "åľ¨ èģĮ", + "éı ¡", + "æį Ĥ", + "çĿ£ åĬŀ", + "æ°¸ ä¸į", + "åģļ ä¸ĢäºĽ", + "åİĨ æĹ¶", + "å·¥ç¨ĭ æľºæ¢°", + "æģ° å½ĵ", + "å°± åľ¨äºİ", + "ç§° åij¼", + "éĢļ常 æĺ¯", + "æł· å¼ı", + "åij¨ ä¸Ģ", + "èĭ± éķij", + "åĿĩ 线", + "ä¼ł éĹ»", + "ç͍æĪ· ä½ĵéªĮ", + "èµŀ åIJĮ", + "骨 æĬĺ", + "为主 ä½ĵ", + "æ±Ł å±±", + "æ¸ħ æľĿ", + "æĶĢ åįĩ", + "ä¸į çĽ¸ä¿¡", + "éĿ ´", + "æŃ¦ åĬŁ", + "åĭ¤ åĬ³", + "æĿ¥ æī¾", + "å°Ĩ æĮģç»Ń", + "丫 头", + "æ¨Ļ æºĸ", + "è£ ´", + "深深 çļĦ", + "åŃķ èĤ²", + "è§ĦåĪĴ 建设", + "æ¸ħ çν", + "ç²¾åĩĨ æī¶è´«", + "æīĵçł´ äºĨ", + "è¿Ļä¸Ģ 天", + "å·¥ä½ľ æĢ»ç»ĵ", + "æĹħ ç¨ĭ", + "举 èIJ¥", + "æĶ¾ å°Ħ", + "æľī åĩłä¸ª", + "éĿŀ çī©è´¨", + "åIJĥ å¾Ĺ", + "åĹ ¨", + "ä¼ļ åıijçĶŁ", + "篮 æĿ¿", + "å¼Ģ å°ģ", + "麻 å°Ĩ", + "èıı æ³½", + "ä¸į åIJĪ", + "ç³»åĪĹ äº§åĵģ", + "èѬ å¦Ĥ", + "ç¾İ èªī", + "èĩªå·± åĸľæ¬¢", + "交æĺĵ ä¸Ńå¿ĥ", + "åIJĪ åͱ", + "使 æĪij", + "åĥı ç´ł", + "带 éĺŁ", + "ä½Ĩ 对äºİ", + "æĬĬ è¿Ļ个", + "èĤĿ èĦı", + "åįķ纯 çļĦ", + "æĶ»åĿļ æĪĺ", + "缼 ä¼ļ", + "åijµ æĬ¤", + "æª Ģ", + "èµ¶ ä¸Ĭ", + "æ¥ Ĭ", + "ä¹ħ äºĨ", + "ç¡ Ŀ", + "çŃĶ é¢ĺ", + "ä¿ĿæĮģ çĿĢ", + "è§ģ è¯Ĩ", + "çĤ¹ åĦ¿", + "åįĬ 个æľĪ", + "æ» ĩ", + "浸 泡", + "ä¼ł éĢģ", + "åľ¨ å¸Ĥåľºä¸Ĭ", + "ä¹ĭ 乡", + "çī¹ éķ¿", + "éĽ ŀ", + "èª ł", + "身 å¤Ħ", + "æŁł 檬", + "身 ç©¿", + "çľģ åħ¬å®ī", + "çľģåħ¬å®ī åİħ", + "åıĻ åĪ©äºļ", + "åĩł åĪĨéĴŁ", + "人 åĢij", + "åľ° 段", + "èĩª åѦ", + "ä¹Ł è¶ĬæĿ¥è¶Ĭ", + "èģĮ æĿĥ", + "æĸ §", + "èĩ »", + "å½Ĵ 纳", + "驾 é©Ń", + "éĥ¨åĪĨ åľ°åĮº", + "没æľī æĥ³åΰ", + "æĴ ĩ", + "ä¹Į é²ģ", + "ä¹Įé²ģ æľ¨", + "ä¹Įé²ģæľ¨ é½IJ", + "èĤ² 人", + "çļĦ æŃ¥ä¼IJ", + "å»¶ æľŁ", + "æ²¹ æ°Ķ", + "åģļ å®Į", + "åľ£ åľ°", + "丰 åİļ", + "宽 带", + "åı¯éĿł çļĦ", + "åºŃ éĻ¢", + "åŃ ľ", + "å°ı康 社ä¼ļ", + "å®īåħ¨ 管çIJĨ", + "å¹´ 第", + "æİĴ 污", + "èĥĮ åĮħ", + "å®¶ ä½ı", + "åħ¶å®ŀ å°±æĺ¯", + "ä¼ļ è§ģ", + "帮åĬ© ä¼ģä¸ļ", + "ç½ij è´Ń", + "æĺ¯ ä¸įä¼ļ", + "飯 åºĹ", + "æŃ» åİ»", + "åħįçĸ« åĬĽ", + "æľ ķ", + "åĸĿ äºĨ", + "è½» å¾®", + "个æľĪ åĨħ", + "ç»Ħ åĽ¢", + "åĴĮ å®ĮåĸĦ", + "é¸ ½", + "æıIJ éĢŁ", + "西å®ī å¸Ĥ", + "ä¸Ńå¿ĥ 主任", + "æĹ¶éĹ´ 为", + "æľŁ æĿĥ", + "è¶ ķ", + "ä¸įä»ħ è¦ģ", + "æľį ä»İ", + "é¡ĺ æĦı", + "ä¸į å°ı", + "ä¸įå°ı çļĦ", + "ç° ĩ", + "çª ¦", + "åĪĩ æĪIJ", + "åĵĪ åĪ©", + "天 羣", + "ä¸Ģ次 次", + "éĩij å¸ģ", + "æĢİä¹Ī èĥ½", + "ç½ij è´·", + "ä¼ļ计 å¸Ī", + "çŁŃ 缺", + "对 æłĩ", + "åıĺå¾Ĺ æĽ´", + "åīį åĩłå¤©", + "éĺ² æ±Ľ", + "彩 èϹ", + "åĵģ ä½į", + "表 æł¼", + "严 å¯Ĩ", + "æ¯Ľ åĪ©çİĩ", + "çļĦ åį±å®³", + "å½ķ åζ", + "æ°´ åĬ¡", + "èĥ½å¤Ł 让", + "å¹³ æĿ¿", + "ä¹³ æĪ¿", + "è¸ı å®ŀ", + "é¦ĸ åĪĽ", + "é¦Ļ èķī", + "æĬ¥ 表", + "ä¸Ģ æĬ¹", + "åĩºçĶŁ äºİ", + "è²» ç͍", + "åĩº 让", + "åIJĪæ³ķ æĢ§", + "å°¼ åħĭ", + "åĨ° åĨ·", + "é¦Ļ æ°Ķ", + "åı· ç§°", + "èµ· çłģ", + "åŁİ åİ¿", + "çİ© èĢį", + "ä¸Ĭ éĻIJ", + "ä¼ļè®® ç²¾ç¥ŀ", + "æĹģè¾¹ çļĦ", + "便 ä¼ļ", + "æıŃ æĻĵ", + "çİ© æĦı", + "éĽª å±±", + "åIJij çĿĢ", + "ä½ĵèĤ² åľ¨çº¿", + "说æĺİ ä¹¦", + "åĮĸ èĤ¥", + "åħļç»Ħ 书记", + "åĬ¨ 人", + "ä¹ĭ æīĢ", + "æľĪ èĩ³", + "æľĢå¿« çļĦ", + "èĬĤ åģĩæĹ¥", + "ä¸ĵ åľº", + "èĢĥ ä¸Ĭ", + "çª Ł", + "é²ľ è¡Ģ", + "è¾ĥ强 çļĦ", + "æĤĦ çĦ¶", + "å¤ļ个 åĽ½å®¶", + "çªĹ å¸ĺ", + "æŀģ å¤§åľ°", + "ä¸įç͍ æĭħå¿ĥ", + "è¿Ļä¹Ī åģļ", + "åĥ¹ æł¼", + "ç¾İ丽 乡æĿij", + "å°ıæĹ¶ åĨħ", + "ç´§ è¿«", + "大 çģ«", + "èĥ³ èĨĬ", + "æĵįä½ľ ç³»ç»Ł", + "æ®ĭ çķĻ", + "åĨĻ åĩº", + "ç¦ģ å¿Į", + "åĬłçĽŁ åºĹ", + "è¿ij çϾ", + "便 åı¯", + "æķ´æĶ¹ æİªæĸ½", + "éĩĩ访 æĹ¶", + "åĶIJ 代", + "æ·±åĮĸ æĶ¹éĿ©", + "çŁ ¢", + "éĥ½ åĸľæ¬¢", + "è¶ĬæĿ¥è¶Ĭ é«ĺ", + "èĬ± æľµ", + "头 çĸ¼", + "å®ī 康", + "å¢ŀéķ¿ çİĩ", + "çľ¼ çľĭ", + "å°±æĺ¯ 为äºĨ", + "èĢĮ 导èĩ´", + "åĬłå¿« 建设", + "èĬ± æł·", + "åĨħå¿ĥ çļĦ", + "æĺĨ å±±", + "è³ĩ æºIJ", + "åĽŀåΰ å®¶", + "èıĬ èĬ±", + "æ°´ éĩı", + "å¾ģ ä¿¡", + "è¡ĮæĶ¿ åĮº", + "ä¹ĥ æĺ¯", + "æĬķèµĦ é¡¹çĽ®", + "å«ģ ç»Ļ", + "ç¥ŀ åľ£", + "ç¨ ł", + "æľ¬æĿ¥ å°±", + "éĢIJ ä¸Ģ", + "èģĮä¸ļ æĬĢæľ¯", + "ä¸įèī¯ ä¿¡æģ¯", + "æīĺ è¿IJ", + "åIJ¯ 示", + "ä¹ĭ åħ§å®¹", + "éŁ ¶", + "奢 åįİ", + "æıŃ ç¤º", + "æĪIJ为 ä¸ŃåĽ½", + "æ¶Īè´¹ åĵģ", + "åħ¬ ç͍", + "æIJŀ å®ļ", + "请 ä½ł", + "æŁ ļ", + "åĨħ è¡£", + "ä½Ĩ ä»ĸ们", + "ä¿Ŀ 湿", + "该 åİ¿", + "饱 åĴĮ", + "æİ¨ åIJij", + "èµĦæĸĻ æĺ¾ç¤º", + "ä¸į å½±åĵį", + "人 人éĥ½", + "åıijå±ķ 壮大", + "åħ»èĢģ æľįåĬ¡", + "çĶŁæ´» æ°´å¹³", + "åIJĦ åİ¿", + "ä½ł éľĢè¦ģ", + "说 çļĦæĺ¯", + "å¤ĸ åªĴ", + "æŃ¤ 人", + "次 è¦ģ", + "追 èµ¶", + "åºĶ该 å¦Ĥä½ķ", + "æĹ¥ åĩĮæĻ¨", + "çķ¥ æľī", + "éĥ½ æĥ³", + "游 ä¹IJ", + "è¿Ļ款 游æĪı", + "å¹³ æ·¡", + "æĺ¯ä¸Ģ åĢĭ", + "å¤ĩ èĢĥ", + "åζ æŃ¢", + "ä¸Ģå®ļ èĥ½", + "å¾Ĵ å¼Ł", + "以 çĤº", + "åįĥ åħĥ", + "äºĶ åħŃ", + "迪 士", + "迪士 å°¼", + "éĺ³ æĢ§", + "åĨ¬å¥¥ ä¼ļ", + "å°±æĺ¯ åĽłä¸º", + "æĮĤ éĴ©", + "æ¦Ĥ åĨµ", + "åıªè¦ģ æľī", + "æ²¹ çĶ»", + "åľ° æłĩ", + "ä¸Ĭ è°ĥ", + "产ä¸ļ åĽŃåĮº", + "åħ« åįģ", + "æ£ ±", + "æ¶² æĻ¶", + "æĿij å§Ķä¼ļ", + "çŃ¾çº¦ 仪å¼ı", + "è¿Ļ åħ¶ä¸Ń", + "åĨĻ éģĵ", + "示èĮĥ åŁºåľ°", + "éĩİçĶŁ åĬ¨çī©", + "鼻åŃIJ ä¿¡ç®±", + "åĽ½éĻħ è´¸æĺĵ", + "人 æĿĥ", + "ä¿Ŀ 管", + "èĭ¥ æĤ¨", + "åİĭ æĬij", + "é» Ľ", + "åľ° çľĭçĿĢ", + "éĻ °", + "ä¸Ģå¹´ å¤ļ", + "ä»İ 容", + "ä¸Ń æĸŃ", + "å¯Ł è§ī", + "ç§» 交", + "éĶ ¯", + "æĪĸ许 æĺ¯", + "ç¶ ł", + "两 项", + "æľĢ åĸľæ¬¢", + "æľĢåĸľæ¬¢ çļĦ", + "å¤ľ éĩĮ", + "åIJĮ ä»ģ", + "åĪĽæĸ° 驱åĬ¨", + "è°ģ èĥ½", + "é£ ¾", + "åħī åѦ", + "åİ Ħ", + "èĦ± é¢ĸ", + "èĦ±é¢ĸ èĢĮåĩº", + "è¿ ¦", + "æĺ¯ ä¸įåı¯èĥ½", + "çª ¥", + "èĥ½ 满足", + "宽 度", + "伦 çIJĨ", + "åı¯ä»¥ èİ·å¾Ĺ", + "转 ä¼ļ", + "å±± æĿij", + "éĵº 设", + "åĩº åĩ»", + "æĸĩåĮĸ èīºæľ¯", + "ä¼ļè®® 室", + "æŃĮ 声", + "æ» Ķ", + "èIJİ ç¼©", + "æľįåĬ¡ åijĺ", + "åıij表 äºĨ", + "æĸ¼ æĺ¯", + "æĺİç¡® è§Ħå®ļ", + "ç»´ å¥ĩ", + "æ°´ 产", + "æĬķ ä¿Ŀ", + "éĺ´ éģĵ", + "èµ¶ å¿«", + "夺 å¾Ĺ", + "ä¸ĭ åįķ", + "çµģ åħ¬åı¸", + "çݯ ç»ķ", + "å½ Ī", + "ä½ľé£İ 建设", + "æĹħ游 æĻ¯åĮº", + "æľī æĽ´å¤ļçļĦ", + "丰å¯Į å¤ļ彩", + "çIJĨè´¢ 产åĵģ", + "åĩº å·®", + "ä»İ严 æ²»", + "ä»İ严治 åħļ", + "缸 å¹²", + "æ»ĭ 润", + "主åĬŀ æĸ¹", + "åī§ åľº", + "æ»ļ çIJĥ", + "æ©Ħ æ¦Ħ", + "èĩªä¸» åĪĽæĸ°", + "éĢļ å¾Ģ", + "æł¼ å°Ķ", + "çļĦ ä¼ĺçĤ¹", + "èĥĮ ä¸Ĭ", + "çª ľ", + "çĪĨ åĩº", + "å¹³ æķ´", + "ä¸Ģ èĦļ", + "åħ¨ä½ĵ åijĺå·¥", + "éĻIJ å®ļ", + "åŁİéķĩ åĮĸ", + "æ· ³", + "éĢ® æįķ", + "è¡ĮåĬ¨ 计åĪĴ", + "æīĵ å¾Ĺ", + "åİļ éĩį", + "纪å½ķ çīĩ", + "åĿļ ä¿¡", + "央 ä¼ģ", + "åĨį ä¹Łä¸į", + "天 涯", + "åıĤèĢĥ èµĦæĸĻ", + "æľī æ¯Ĵ", + "åIJ¸ 纳", + "è¶Ĭ åıij", + "éĩįè¦ģ æĦıä¹ī", + "åĽ½éĺ² éĥ¨", + "è¿Ļ个 è¡Įä¸ļ", + "æĻ® æŁ¥", + "å¼Ĥ æĢ§", + "å»¶ è¿Ł", + "å°ı å¹ħ", + "èī² æĥħ", + "综åIJĪ æ²»çIJĨ", + "æŃ£æĺ¯ åĽłä¸º", + "产ä¸ļ ç»ĵæŀĦ", + "çłĶç©¶ æĬ¥åijĬ", + "åģľ ä¸ĭ", + "éķ¿ èĢģ", + "éĩĿ å°į", + "åįĹ京 å¸Ĥ", + "çģĮ æºī", + "转 è¿IJ", + "欺 è¯Ī", + "éĢł åģĩ", + "åĪĨå¸ĥ å¼ı", + "æĦŁ è§¦", + "æĪij å½ĵæĹ¶", + "åıij è§ī", + "åĽ¾ 纸", + "æĶ¹ èī¯", + "çĭł çĭł", + "åĨ² åĪº", + "æĸ° 京", + "æĸ°äº¬ æĬ¥", + "ç¥ŀ åύ", + "秸 ç§Ĩ", + "çĪ º", + "å°Ĩ è¿İæĿ¥", + "å·¥ ä¿¡", + "工信 éĥ¨", + "éĻIJ éĩı", + "æŃ¢ æįŁ", + "åѦä¼ļ äºĨ", + "åįİ çĽĽ", + "åįİ缼 é¡¿", + "å¾Į ä¾Ĩ", + "ä¸ĭéĿ¢ æĺ¯", + "ä¸ĭéĿ¢æĺ¯ å°ı", + "æIJ¬ è¿IJ", + "ç¾İæľ¯ é¦Ĩ", + "æ¸ħ åĩī", + "å¤ļå¹´ åīį", + "è© ŀ", + "åįĥ ç±³", + "表 è¿°", + "æ±Ł éŨ", + "åĬłæ²¹ ç«Ļ", + "æľ¬ èĥ½", + "导 读", + "åĽ´ è§Ĥ", + "å¹¶ åIJij", + "åŁºæľ¬ æĥħåĨµ", + "æīĵ å¼ĢäºĨ", + "è¿Ļ ä¸ī个", + "æ±ķ 头", + "强 æľīåĬĽ", + "强æľīåĬĽ çļĦ", + "è¿Ľ åľº", + "ä¹Ŀ æ±Ł", + "çIJĥ æĺŁ", + "好çľĭ çļĦ", + "大 æĪ·", + "æ¹ ¯", + "å¥ĩ å¦Ļ", + "ä¹IJ åύ", + "æĪijçļĦ å¿ĥ", + "çľī 头", + "åĨľä¸ļ çĶŁäº§", + "ç¼ĸ çłģ", + "åŁº ç¤", + "åŁºç¤ İ", + "天 æĸĩ", + "åĢĭ人 è³ĩè¨Ĭ", + "åİ» è¿ĩ", + "èģĨ åIJ¬", + "æĶ¾ åģĩ", + "ä¸į åħ·å¤ĩ", + "æ·Ģ ç²ī", + "大 佬", + "åħ¨ 天", + "åħ¨éĿ¢ 建æĪIJ", + "éļIJ å½¢", + "ç¼ħ ç͏", + "åIJ ³", + "è¡ĮæĶ¿ æī§æ³ķ", + "åŁİ åł¡", + "èİ« æĸ¯", + "èİ«æĸ¯ ç§ij", + "æīĢæľī æĿĥ", + "éĽĨ åľĺ", + "å±Ģ åī¯å±Ģéķ¿", + "åĩłä¹İ 没æľī", + "æ´ģ åĩĢ", + "ç͵影 èĬĤ", + "åŃ© ç«¥", + "æīĢ åģļçļĦ", + "æ¸ħ 代", + "æĸ° çīĪ", + "éĵĿ åIJĪéĩij", + "为 æĬĵ", + "为æĬĵ æīĭ", + "åΤ å®ļ", + "çī¹ äº§", + "æīĭ æ©Ł", + "ä¸įåı¯ æĪĸ", + "ä¸įåı¯æĪĸ 缺", + "å¸Ĥåľº è§Ħ模", + "åĿ ¯", + "åĮ» åѦéĻ¢", + "å¿« è¦ģ", + "èĮ ľ", + "æĬĺ èħ¾", + "äºĨ è¿ĩæĿ¥", + "æĬ¥åijĬ æľŁåĨħ", + "çī© ç§į", + "ç»Łè®¡ å±Ģ", + "æī© 建", + "æ¶ ħ", + "责任 人", + "éĺ İ", + "è¯Ħ è®®", + "å¾Ģ äºĭ", + "æīĢ ç¤º", + "æķ´ æ´ģ", + "éĹº èľľ", + "æĹħ éĢĶ", + "å®ŀ è®Ń", + "ä¹ĭ ç§°", + "å·´ 士", + "éĢŁåº¦ å¿«", + "ä¸įä»ħ å¦ĤæŃ¤", + "å®Ŀè´µ çļĦ", + "åºŁ çī©", + "æ²³ æ°´", + "æİ¥ 纳", + "ç²¾ æ¹Ľ", + "åħ¶æ¬¡ æĺ¯", + "顺 å¾·", + "åħ¬åħ± åį«çĶŁ", + "è¤IJ èī²", + "ä¸į æĥľ", + "æĬĢæľ¯ æľįåĬ¡", + "æİ ·", + "æ±Ĥ èģĮ", + "ä¸ī 峡", + "æĬķåħ¥ åΰ", + "太 åIJİ", + "åIJ¯åĬ¨ 仪å¼ı", + "缴æİ¥ å½±åĵį", + "æĸ° 款", + "个 乡éķĩ", + "çϾ 亿", + "åº «", + "ä¹Ł æŃ£æĺ¯", + "åı¶ çīĩ", + "æľĢæĹ© çļĦ", + "æĪĺ 绩", + "å·¥ æľŁ", + "æĻļ æľŁ", + "è¿Ļæł· 说", + "è¯į è¯Ń", + "ä¾ Ħ", + "æķ£ çĥŃ", + "éĽĨæĪIJ çĶµè·¯", + "åIJį è¯į", + "æĻº åķĨ", + "æĭ¥ åłµ", + "çĭĤ 欢", + "è¿Ļ èά", + "æµ´ 室", + "åijķ åIJIJ", + "æľªæĿ¥ åıijå±ķ", + "ä¸īä½į ä¸Ģä½ĵ", + "åªĴ é«Ķ", + "ä¸įå¾Ĺ 转载", + "åĽłä¸º 她", + "æĺ¾ç¤º å±ı", + "ä¾Ľ æļĸ", + "éĨ« éĻ¢", + "æľī æĦıæĢĿ", + "æľīæĦıæĢĿ çļĦ", + "娱ä¹IJ åŁİ", + "åįµ å·¢", + "åĪĽéĢł åĬĽ", + "竳 èĬĤ", + "人大 常å§Ķ", + "èĢĮ çİ°åľ¨", + "å¤ĸ å©Ĩ", + "å¢ŀ æĮģ", + "äºĶ åįĥ", + "èĢģå¸Ī 们", + "æ´Ľ æĿī", + "æ´ĽæĿī 磶", + "æİĮæı¡ äºĨ", + "ä¸ŃåĽ½ æĸĩåĮĸ", + "æĸ° æĶ¿", + "主è¦ģ ç͍äºİ", + "åıij çĥ§", + "类似 äºİ", + "åĮĹ æŀģ", + "æĪij们 认为", + "å¼¥ 漫", + "åħ¨çIJĥ ç»ıæµİ", + "é¢ IJ", + "ä¸Ģèµ· è£ħä¿®", + "æĶ Ĵ", + "æĭī èIJ¨", + "帶 ä¾Ĩ", + "åĨ· æ°´", + "ä¸ī åĨľ", + "æĿ¿ æĿIJ", + "è¿ŀ è¿ŀ", + "éĵ ®", + "ç»ıèIJ¥ çIJĨ念", + "å±± é¡¶", + "å¾Ī æĥ³", + "çĺ «", + "å§ĭç»Ī ä¿ĿæĮģ", + "åľ¨ 广å·ŀ", + "ä¸įåIJĮ æĦı", + "åıĺ åİĭ", + "åıĺåİĭ åύ", + "产 éĶĢ", + "表 éĿ¢ä¸Ĭ", + "æīĢ以 ä»ĸ", + "ç»ıéªĮ 丰å¯Į", + "éĥ¨ å§Ķ", + "åħµ åĽ¢", + "æīĢ è¿°", + "æķ¦ çħĮ", + "ç»ıèIJ¥ èĮĥåĽ´", + "åı£ è¯Ń", + "失 ä¿¡", + "æ¯ı个人 çļĦ", + "æīĭ æĮģ", + "æģIJ æħĮ", + "åł¡ åŀĴ", + "é¦ ħ", + "éĵ¸ éĢł", + "æĭ¿ åĩºæĿ¥", + "æİ¢ æµĭ", + "大家 ä¸Ģèµ·", + "å¥ §", + "å®ŀè´¨ æĢ§", + "å°ı åĦ¿", + "èĩº åįĹ", + "èĩºåįĹ å¸Ĥ", + "å¼Ģåıij èĢħ", + "åı¯ æł¹æį®", + "ç®± åŃIJ", + "饺 åŃIJ", + "å¿Ļ çĿĢ", + "æĿ¥ ä¸įåıĬ", + "缸 ä¼ł", + "åĽ½ ç½ij", + "èħ¹ æ³»", + "è¿ĻéĩĮ æľī", + "é£İ æĻ¯åĮº", + "åıĤ ä¿Ŀ", + "æŃ» èĢħ", + "æĪ´ ä¸Ĭ", + "æ©Ł æ§ĭ", + "è¯ķéªĮ åĮº", + "ä¼ł æİĪ", + "æµ· è¾¹", + "泪 æ°´", + "缸åħ³ åĨħ容", + "éĥij å·ŀå¸Ĥ", + "åħij çݰ", + "两 åij¨", + "èĬľ æ¹ĸ", + "ç͵åŃIJ ä¿¡æģ¯", + "红 å¤ĸ", + "æĹħ游 å±Ģ", + "å¾Ģå¾Ģ ä¼ļ", + "è¿ħ çĮĽ", + "ä¼ł 羣", + "æ¸ħ æ¾Ī", + "å°± è¿ij", + "微信 群", + "ç³»åĪĹ æ´»åĬ¨", + "ç»ı常 ä¼ļ", + "è§Ĥ æµĭ", + "å¿ĥå¾Ĺ ä½ĵä¼ļ", + "éĻĪ åĪĹ", + "åĮĹ æĸĹ", + "è« ®", + "è«® è©¢", + "è¿ĺæĺ¯ ä¼ļ", + "æµĭ ç®Ĺ", + "æĺŁ ç©º", + "宽 容", + "çī©ä¸ļ åħ¬åı¸", + "æĪĴ æĮĩ", + "å¸ħ æ°Ķ", + "ä¸ĢæŃ¥ æŃ¥", + "åħ± 鸣", + "åĨ³ ä¸į", + "æİ¥ 管", + "å¦ĩ èģĶ", + "æ¯Ķ åĸ»", + "é²ģ è¿ħ", + "æĮģ çºĮ", + "缸 亲", + "å¨ģå°¼æĸ¯ 人", + "ç«ĭ 项", + "åĪ Ŀå§ĭ", + "èĩª åζ", + "è¿Ī è¿Ľ", + "ä¸Ĭ æ±½", + "å®ı ä¼Ł", + "æł¹æľ¬ 没æľī", + "æĸ°åĨł çĹħæ¯Ĵ", + "åĵª ç§į", + "康 åħ»", + "è¡° èĢģ", + "å½ķ åĥı", + "é«Ķ é©Ĺ", + "ç»ij å®ļ", + "é¢Ŀ 头", + "äºĶ æľĪ", + "èĬ± å¼Ģ", + "ä¸Ģ线 åŁİå¸Ĥ", + "åΰ åľº", + "æĬķ éĻį", + "çĹĺ çĹĺ", + "åıĹ ä¸įäºĨ", + "æīİ æł¹", + "æĽ´ ä½ķåĨµ", + "æĬ½ æŁ¥", + "åĩº è·¯", + "审议 éĢļè¿ĩ", + "ä¸į åĥħ", + "èī² è°ĥ", + "çϾ ä½Ļ", + "èĤł éģĵ", + "æ·±åİļ çļĦ", + "马 åĬĽ", + "æĹ© æĻļ", + "æŃĮ èĪŀ", + "éĺ² æĻĴ", + "æľĢåIJİ ä¸Ģ个", + "樱 èĬ±", + "å°ıä¼Ļ åŃIJ", + "åľ¨ å½ĵåľ°", + "å°ıä¼Ļä¼´ 们", + "èµ· æºIJ", + "åħ¨ åªĴä½ĵ", + "ç° ½", + "éħ± æ²¹", + "æĹłè®º å¦Ĥä½ķ", + "裤 åŃIJ", + "åģľ äº§", + "ä¸įçͱ å¾Ĺ", + "çīµ å¼ķ", + "ä¼ł åĬ¨", + "ä¹Ŀ é¾Ļ", + "åĬł åĽº", + "ä¹Łä¸į æķ¢", + "æĬĢæľ¯ æĶ¯æĮģ", + "ä¸Ĭ å²Ĺ", + "ç»ıéªĮ åĴĮ", + "æł¼ æŀĹ", + "åIJ¸ éĻĦ", + "æľªæĪIJ å¹´", + "奢ä¾Ī åĵģ", + "追 æį§", + "好 ä¸į容æĺĵ", + "èķ´ åIJ«", + "ä¿Ŀ å®ļ", + "æĬ¥ ä¸ļ", + "æµ· åĨħå¤ĸ", + "ä½ł çİ°åľ¨", + "æ²¹ èĢĹ", + "è´¨éĩı 管çIJĨ", + "æ½ľ æ°´", + "丽 æ±Ł", + "转 åħ¥", + "è¿Ļä¹Ī ä¹ħ", + "æĺİ ä»£", + "责任 åζ", + "éĩį å·¥", + "大 å·´", + "触 åıĬ", + "èµ· åĪĿ", + "大 å¦Ī", + "æĸ¯ å¡Ķ", + "åĨĽ å·¥", + "书 éĻ¢", + "å³ ¨", + "æİ¨ çIJĨ", + "è¿Ļç¯ĩ æĸĩ竳", + "è¿ģ ç§»", + "åľ¨ åIJĮä¸Ģ", + "ç»Ĩ ç»Ĩ", + "åīĬ å¼±", + "书 æĪ¿", + "ç¶ĵ 常", + "è¯ķ é¢ĺ", + "æĤ£ ä¸Ĭ", + "çĻ«çĹ« çĹħ", + "åĨ² æ´Ĺ", + "å¤ĸ æı´", + "åħĭ åζ", + "åįģ æľĪ", + "åģļ ä¸įåΰ", + "ç¾İ åĮĸ", + "å¦Ĥ æľŁ", + "è¿ĺ éľĢ", + "天 åºľ", + "å°± æĦıåij³çĿĢ", + "çļĦç¡® æĺ¯", + "éªĹ å±Ģ", + "å°ıç»Ħ èµĽ", + "è© ©", + "ä¹Ŀ å¹´", + "æĻĵ å¾Ĺ", + "çłĶç©¶ 人åijĺ", + "大 éħĴåºĹ", + "ç§ij åѸ", + "åħŃ åIJĪ", + "çķĮ å®ļ", + "车 è½½", + "å¼Ģ çĿĢ", + "毫 æĹłçĸij", + "毫æĹłçĸij éĹ®", + "è¿IJ ç»´", + "ç¦ģ åĮº", + "èĦ± èIJ½", + "讲 å¸Ī", + "产ä¸ļ åŁºåľ°", + "é«ĺ æĢ§èĥ½", + "åħī 彩", + "çݰ éĺ¶æ®µ", + "åĩ ¿", + "è¾ĥ å·®", + "饮 çĶ¨æ°´", + "éĸĭ çϼ", + "ç½ij åIJ§", + "çĮ´ åŃIJ", + "æŃ¦ æŀĹ", + "å®ī åİ¿", + "ä¸įåı¯ æĢĿ", + "ä¸įåı¯æĢĿ è®®", + "éĬ· åĶ®", + "è´« ç©·", + "为 åķ¥", + "éº ĵ", + "å¹¾ åĢĭ", + "è§Ħ模 以ä¸Ĭ", + "æı ļ", + "被 åĽ°", + "缺 å¸Ń", + "å¿« é¤IJ", + "æĬ¢ åįł", + "æĻ Ł", + "å¤į æ´»", + "æľ¬æĬ¥ 讯", + "åĪĽ ä¸ĭ", + "æµ· 滩", + "éĩı 产", + "å¦Ĥä½ķ åİ»", + "车 ä½į", + "å¯ ĩ", + "äºĮ åįģåĽĽ", + "ç»ıæµİ æįŁå¤±", + "éħįå¥Ĺ 设æĸ½", + "åŁºæľ¬ éĿ¢", + "äºī 论", + "就好 åĥı", + "çłĶç©¶ æĪIJæŀľ", + "éĻĪ è¿°", + "æīĵ åĬ¨", + "ä¸ĭ å·´", + "ç§Ĵ éĴŁ", + "对 人ä½ĵ", + "æĬĢæľ¯ çłĶåıij", + "åİŁ åŃIJ", + "æĺ¯ä¸Ģ 项", + "äºĨä¸Ģ 份", + "æĮĩ çͲ", + "ç͍ éĩı", + "è¿ĺä¸į å¤Ł", + "æĶ¿åºľ éĩĩè´Ń", + "çŁ¥è¯Ĩ çĤ¹", + "ä¸ŃåĽ½ 梦", + "å¾Ī å¼Ģå¿ĥ", + "礼 è²Į", + "éĿŀ常 å¤ļ", + "éĿŀ常å¤ļ çļĦ", + "åĽ ļ", + "æĹħ é¦Ĩ", + "å°½ æĥħ", + "æŃĮ åͱ", + "æ²Ļ é¾Ļ", + "车 åİ¢", + "客 æµģ", + "åģı å·®", + "积累 äºĨ", + "æ¡ Ķ", + "çĶ» çĶ»", + "ä¹Ł åºĶ该", + "åºĶç͍ ç¨ĭåºı", + "èĥĥ èĤł", + "以 å¾Į", + "豪 å®ħ", + "æ·± åĬłå·¥", + "缴 è¨Ģ", + "åĮĸ çŁ³", + "åĽ½ éģĵ", + "ä¸ĥ 个", + "ä»İèĢĮ 使", + "èĤł èĥĥ", + "æĹ¥ è¶ĭ", + "çζ åŃIJ", + "ç· ©", + "æĭĽ çīĮ", + "产 å¦ĩ", + "çķª èĮĦ", + "æĪij éĻ¢", + "建çŃij å·¥ç¨ĭ", + "å±ķè§Ī ä¼ļ", + "å®¶éķ¿ ä»¬", + "åĨľ ä½ľçī©", + "æĹ¥ å¤ľ", + "æĶ» æĵĬ", + "è§Ħ éģ¿", + "èĪŁ å±±", + "便 æ°ij", + "åħ« åŃĹ", + "ä¸į æĽ¾", + "æĶ¯ éħį", + "çĨ¬ å¤ľ", + "人 é¡ŀ", + "ç´Ģ éĮĦ", + "ç»ıèIJ¥ æ´»åĬ¨", + "大 涨", + "å¸Ĥå§Ķ 常å§Ķ", + "åĪĨ éIJĺ", + "ä¸Ģ个 èģĮä¸ļ", + "çĹħ åĽł", + "è¿Ļ 对äºİ", + "ä¸įå¾Ĺä¸į 说", + "åıijç͵ æľº", + "æľīæīĢ å¸®åĬ©", + "缮æłĩ ä»»åĬ¡", + "åĽł åľ°", + "åĽłåľ° åζ", + "åĽłåľ°åζ å®ľ", + "å°Ĩ è¾¾åΰ", + "ç²Ĺ ç³Ļ", + "稳 åĽº", + "å« £", + "çİ°åľ¨ å¾Īå¤ļ", + "ä¸ĸçķĮ 级", + "å¼ł æŁIJ", + "çĤ¹ ç¼Ģ", + "èij µ", + "社ä¼ļ ç»Ħç»ĩ", + "å¾Ģ åIJİ", + "åĬł æģ¯", + "åĻª 声", + "æľī åħ´è¶£", + "为æĤ¨ æıIJä¾Ľ", + "æ²¹ æ¼Ĩ", + "ç¬¬åĽĽ å±Ĭ", + "çļĩ 宫", + "ä¹Ĵ ä¹ĵ", + "ä¹Ĵä¹ĵ çIJĥ", + "éļ¨ èijĹ", + "éģ© åIJĪ", + "åįĹ éĿŀ", + "æĵ ´", + "西 æ´ĭ", + "åĬł å¯Ĩ", + "æĪIJåĬ٠䏾åĬŀ", + "åı£ æ°´", + "æĪIJ 年人", + "æīĢ æıIJä¾ĽçļĦ", + "éļĶ å£ģ", + "åľ¨ 京", + "å½ĵåľ° æĹ¶éĹ´", + "çŃī åIJĦç§į", + "é£İ æ°Ķ", + "å±ĭ éĩĮ", + "ä¸Ģ åŃĹ", + "çļĦæĹ¶éĹ´ éĩĮ", + "åĺ¿ åĺ¿", + "å¿« 讯", + "ä¸Ń åľº", + "ä¸Ģ çĵ¶", + "æ» ķ", + "é¢Ĩ è·ij", + "好 èݱ", + "好èݱ åĿŀ", + "没 åħ³ç³»", + "åĩº å¢ĥ", + "ä¸įæĺ¯ ä¸Ģ个", + "éĥ½æĺ¯ éĿŀ常", + "éľĩ åĬ¨", + "èİ· èĥľ", + "åįļ å¼Ī", + "æĬļ åħ»", + "对 ç«ĭ", + "æľįåĬ¡ æľºæŀĦ", + "è°£ è¨Ģ", + "社ä¼ļ ç§ijåѦ", + "åIJ¬è¯´ è¿ĩ", + "æī ³", + "æīĵ 磨", + "åı£ æľį", + "好 åĥıæĺ¯", + "以åıĬ åħ¶ä»ĸ", + "çī¹ è´¨", + "亲 è¿ij", + "ä¸Ģ ç»ı", + "æ¶ Ŀ", + "éŃĶ æľ¯", + "éģĵè·¯ 交éĢļ", + "è§Ħ模 æľĢ大", + "å®ŀæĸ½ æĦıè§ģ", + "ä¹ ŀ", + "ä¸Ģ ä¸ĸ", + "åŁ· è¡Į", + "è±Ĩ çĵ£", + "åĪĹ ä¸º", + "æķħ 宫", + "çĶŁ åij½åij¨æľŁ", + "ä¸īç§į èģĮä¸ļ", + "详ç»Ĩ ä»ĭç»į", + "å®Į å¤ĩ", + "岩 çŁ³", + "éļı æīĭ", + "é£ ²", + "æķĪæŀľ åĽ¾", + "ç§ĭ åĨ¬", + "åĬŁ å¾·", + "è§Ħ竳 åĪ¶åº¦", + "æĹ¥ æ¸IJ", + "æīĢ éľĢè¦ģ", + "æīĢéľĢè¦ģ çļĦ", + "å²Ľ ä¸Ĭ", + "åĩº åľŁ", + "åĽ¾ æĸĩ", + "ç§ijæĬĢ è¿ĽæŃ¥", + "éĢļ èĥĢ", + "èĢģ 太太", + "èĭĹ æľ¨", + "éĵ¶ å·Ŀ", + "å¸IJ 篷", + "éĿŀ è¦ģ", + "éħį ç͵", + "å¤Ħ å¢ĥ", + "èĤ¡æĿĥ æĬķèµĦ", + "ä¸Ģ缴 åΰ", + "åĿĩ çͱ", + "æĬĹ æĹ¥", + "æį® ä»ĭç»į", + "ä½ł åĸľæ¬¢", + "åĪĽæĸ° åŀĭ", + "åıĺ è¿ģ", + "è§Ĩ å¯Ł", + "å®Įåħ¨ 没æľī", + "åħĥ æĹ¦", + "åı¯ ä¿¡", + "åı¦ è¡Į", + "æĿij 级", + "åħ¥ åľº", + "æIJŃ æ¡£", + "ä¹Ł åĽłæŃ¤", + "æį¢ æĪIJ", + "ä¸į è´Ł", + "äºĨ 大éĩıçļĦ", + "éģĶ åΰ", + "å¸Ĥ åİ¿", + "å¹´ è¼ķ", + "å¿« æīĭ", + "å¸Į å°Ķ", + "èĩª èIJ¥", + "éĽª èĬ±", + "æIJ ģ", + "çľ¼ ç§ij", + "æŃ£ 確", + "çļĦ å§¿æĢģ", + "åĿļå®ŀ çļĦ", + "æĮĩ 纹", + "æªĶ æ¡Ī", + "ç½® äºİ", + "佩 æľį", + "豪 éŨ", + "åĵ Ĵ", + "æģ° 好", + "檢 æŁ¥", + "åĪĿ è¡·", + "大 åĶIJ", + "约 ä¼ļ", + "èĴ¸ åıij", + "çѹ åĪĴ", + "å¹´ ç»Ī", + "è¡Į æ¥Ń", + "åħ± éĿĴ", + "åħ±éĿĴ åĽ¢", + "ä¼ļ å¼ķèµ·", + "ä¸Ń ç§ij", + "ä¸Ńç§ij éĻ¢", + "æĮ¯ åĬ¨", + "åį´ åıijçݰ", + "ä¸įåĬ¨ 产", + "èĮ ¹", + "æĪ¿éĹ´ éĩĮ", + "è´§å¸ģ æĶ¿çŃĸ", + "æ²» çĻĤ", + "æħİ éĩį", + "å¡ŀ å°Ķ", + "åĽ½ ç±į", + "åĽł æŀľ", + "çŃī çī¹çĤ¹", + "å±± è°·", + "ä¸ĭ è¼ī", + "è®ĵ æĪij", + "饮 éħĴ", + "è¿Ļ个 游æĪı", + "ç»Ŀ 大éĥ¨åĪĨ", + "åĴ¨è¯¢ æľįåĬ¡", + "å¹² æ´»", + "è®® ä¼ļ", + "æ¦Ĥ è¿°", + "åĪĨ åĮº", + "æŃ» åIJİ", + "ç«Ļ çĿĢ", + "主è¦ģ é¢Ĩ导", + "åIJĮ åŁİ", + "大 æłij", + "对 åѦçĶŁ", + "社ä¼ļ ä¿ĿéĻ©", + "å¢ŀ èµĦ", + "主人 åħ¬", + "å®£ä¼ł æķĻèĤ²", + "æĸĩåĮĸ 交æµģ", + "客 æĪ¶", + "çŁ¥åIJį åĵģçīĮ", + "æ»ŀ åIJİ", + "äºĴ è¡¥", + "æĦŁ äºº", + "åī ¿", + "åIJİ ä»£", + "äºī 龸", + "æķĻèĤ² åŁ¹è®Ń", + "éĿĻ èĦī", + "ä¹ı åĬĽ", + "说 åĩºæĿ¥", + "çİĭèĢħ èį£èĢĢ", + "åĢ «", + "åįĩ èµ·", + "éķ ģ", + "åĩº 游", + "éĢļè¡Į è¯ģ", + "å·¥ä½ľ å²Ĺä½į", + "åĮł å¿ĥ", + "æĭ¿ æĿ¥", + "æ´Ĺè¡£ æľº", + "æĪijä¸į æĥ³", + "é¢Ħ è§ģ", + "æ¼Ķ 示", + "ä¸Ģ缴 没æľī", + "è·Ł 她", + "对çħ§ æ£ĢæŁ¥", + "ç° ¿", + "ä¸ĵ å¿ĥ", + "è®® äºĭ", + "åīį 端", + "åį¡ å°Ķ", + "è¨Ń å®ļ", + "设置 äºĨ", + "å©ļ 纱", + "åľ¨ åĽ½å¤ĸ", + "åı³ ä¾§", + "è³¼ çī©", + "å¥ĩ èij©", + "å¢ŀåĬł å̼", + "好 è¿IJ", + "åĽ½éĻħ æľºåľº", + "ä¸ĭ ç§°", + "缮åīį 为æŃ¢", + "ç¥ŀ ä»Ļ", + "å®ĥ åı¯ä»¥", + "æ¾Ħ æ¸ħ", + "èĥ½ 使", + "游 åĩ»", + "游åĩ» éĺŁ", + "åĩ ¹", + "ä¸įè¦ģ åĨį", + "åĨ³ èĥľ", + "åĨ³ æĪĺ", + "æĭ ½", + "缼 åħ¸", + "å¾Ī好 åľ°", + "æľĢ ç¾İçļĦ", + "åĥ ļ", + "å·´ åŁº", + "å·´åŁº æĸ¯åĿ¦", + "æľĢ éĢĤåIJĪ", + "é«ĺ èģĮ", + "ä¿Ŀ å§Ĩ", + "æİĪ æ¬Ĭ", + "说åΰ è¿ĻéĩĮ", + "æİ¨ å¼Ģ", + "çİĩ è¾¾", + "ä¸īåĪĨ ä¹ĭä¸Ģ", + "管çIJĨ ä¸Ńå¿ĥ", + "交 æ±ĩ", + "森æŀĹ åħ¬åĽŃ", + "å¾Ģ ä¸Ĭ", + "éªij è¡Į", + "æį® æŃ¤", + "纽 带", + "ç» ŀ", + "ä¸ī æĸ¹", + "æĦıä¹ī ä¸ĬçļĦ", + "æİ¨ è¿Ł", + "å¤ļæł· æĢ§", + "æĥ³ èµ·äºĨ", + "æİĴåIJį 第", + "å·¨ é¢Ŀ", + "æĿŁ ç¼ļ", + "å®ī å®ļ", + "äºĭ 實", + "çļĦ æĦ¿æľĽ", + "è£ħå¤ĩ åζéĢł", + "人 å±ħ", + "人å±ħ çݯå¢ĥ", + "å¿ĺè®° äºĨ", + "该 游æĪı", + "楼 ä¸Ĭ", + "å¼Ģ ä¼ļ", + "æģ ³", + "åıĭæĥħ éĵ¾æİ¥", + "ç¡ Ĵ", + "ç»ĻäºĪ äºĨ", + "åģı 好", + "åĵ ī", + "交éĢļ å®īåħ¨", + "éĽ Į", + "æ²» çĹħ", + "è§īå¾Ĺ å¾Ī", + "衬 è¡«", + "å¿ĥ æĦ¿", + "æ´ŀ å¯Ł", + "æ°ij æ£Ģå¯ŁéĻ¢", + "æıIJ çĤ¼", + "è¦ģ è¿Ľä¸ĢæŃ¥", + "驾 车", + "æĻ® æĥł", + "æķ ĸ", + "ç¦ı éŁ³", + "éĢģ è¾¾", + "è§ĦåĪĴ 设计", + "æīĭ å¥Ĺ", + "å®ī ä¿Ŀ", + "è¿ĺä¸į å¦Ĥ", + "åīį è¿°", + "æłĩ è®°", + "ç´§ æİ¥çĿĢ", + "æ§ IJ", + "深深 åľ°", + "满满 çļĦ", + "æĺ¥ è¿IJ", + "æĹ¥ 产", + "çα æĬ¤", + "åħ¨ æĹ¥", + "åħ¨æĹ¥ åζ", + "转 åĬ¨", + "ç¥Ń ç¥Ģ", + "ä¹° ä¸ľè¥¿", + "对 æľªæĿ¥", + "æ¶Ī失 äºĨ", + "åļ´ éĩį", + "ä¸ī æĿ¡", + "éħ¸ 奶", + "éĽĨåĽ¢ èĤ¡ä»½", + "西 è·¯", + "åıª å¾Ĺ", + "éĢģ åİ»", + "çĭł æĬĵ", + "åĪ©ç͍ çİĩ", + "ä¸ĭ åij¨", + "å¥ĭ æĪĺ", + "æĺ¥èĬĤ æľŁéĹ´", + "è´Ł 责任", + "æĺĤ è´µ", + "å°¾ å·´", + "ç¯ĩ æĸĩ竳", + "åħ ®", + "è®Ĭ æĪIJ", + "å¹ ¹", + "çĻ» éĮĦ", + "ä½ Ī", + "å·¥ åĮł", + "åĵªæĢķ æĺ¯", + "åıį åĵį", + "ç§ ĥ", + "åĩº 轨", + "æĹ¥ åĨĽ", + "åIJį èªī", + "æķı éĶIJ", + "æľįåĬ¡ æ°´å¹³", + "çħ§ å°Ħ", + "ä¼Ĭ æĭī", + "ä¼Ĭæĭī åħĭ", + "åĨħ éĺģ", + "èĬĴ æŀľ", + "ä¸ĩ åĪĨ", + "éĢĢ æ¬¾", + "缴æĴŃ éĹ´", + "æĭ¿ åΰäºĨ", + "å°İ èĩ´", + "空æ°Ķ ä¸Ń", + "客æĪ· æľįåĬ¡", + "è¿IJ åĬ¿", + "ç»ĵ çŁ³", + "ä¸į å¿ħè¦ģçļĦ", + "èĥ¶ åĽĬ", + "çIJĨ ä¼ļ", + "æĬ½ åĩº", + "空æ°Ķ è´¨éĩı", + "æ¯ķ 竣æĺ¯", + "åĨ· æ¼ł", + "ä¸Ģ å¦Ĥ", + "ä¸Ģå¦Ĥ æĹ¢", + "ä¸Ģå¦ĤæĹ¢ å¾Ģ", + "æĤ£ çĹħ", + "åĬł æĮģ", + "èµŀ åĬ©", + "é« ®", + "åij½ ä¸Ń", + "æĦıä¹ī ä¸Ĭ", + "ä¸į èĪį", + "åģļ æ¢¦", + "æīĵ æī«", + "æĺŁ åħī", + "æĸŃ è£Ĥ", + "åħ¨ å¥Ĺ", + "è£ģ å®ļ", + "马 åħĭæĢĿ", + "骨 骼", + "ä¸Ģ è·¯ä¸Ĭ", + "å®ļ æĹ¶", + "å·¥ç¨ĭ æĬĢæľ¯", + "å½¼ å¾Ĺ", + "æ±² åıĸ", + "ä¸Ģ è§Ī", + "åIJµ æŀ¶", + "ä¿Ĺ ç§°", + "æłª æ´²", + "åºŁ æĹ§", + "è¡Į æĺŁ", + "åıijçĶŁ åıĺåĮĸ", + "é¦ĸ ä»ĺ", + "åįģåĪĨ éĩįè¦ģ", + "æĬĬ è¿ĻäºĽ", + "ç¥ŀ å·ŀ", + "æıIJä¾Ľ åķĨ", + "æ¥ ·", + "å± İ", + "çĬ¶ åħĥ", + "åŁİ å¢Ļ", + "çľĭ ä¸Ģçľĭ", + "çĶŁäº§ èĥ½åĬĽ", + "åŁºæľ¬ä¸Ĭ éĥ½", + "æīĵ æī°", + "åĪĿ 次", + "åĩº 示", + "åħ¶ä¸Ń ä¸Ģ个", + "çĶŁæĢģ ç³»ç»Ł", + "æīĭ æİĮ", + "æµİåįĹ å¸Ĥ", + "åľĭ åħ§", + "æŃ£ å̼", + "å¹¾ ä¹İ", + "æİ¨èįIJ éĺħ读", + "è¿Ń 代", + "è°ĥ ä¾ĥ", + "饮 åĵģ", + "å¢Ļ ä½ĵ", + "åıĺ çݰ", + "äºĨ 好", + "äºĨ好 åĩł", + "ä¸į çķĻ", + "çĪ ²", + "å°½ æĹ©", + "æŃ£åľ¨ è¿Ľè¡Į", + "åĩº éĻ¢", + "æĿĢ å®³", + "æıIJ 款", + "åıijå±ķ 空éĹ´", + "åīį 身", + "ä¸įæĸŃ å¢ŀ强", + "æ·± å±Ĥ次", + "容 纳", + "éĤ£ 份", + "å·¥ä½ľ æķĪçİĩ", + "æľ¬ åĽ½", + "失 èIJ½", + "æŃ£ åĽłä¸º", + "èĬĤ æ°´", + "ä¸ĭ ä¸Ģ代", + "çłĶåıij ä¸Ńå¿ĥ", + "ä¸į çIJĨ", + "å®Į 好", + "ä¿ĿæĬ¤ åĮº", + "ç»ĵæŀĦ è°ĥæķ´", + "å¥ł å®ļ", + "宣 ç§°", + "éĺ» æĮ¡", + "æĴ¤ 离", + "ä¸į æĸ¹ä¾¿", + "åĴ ķ", + "ç¬ijäºĨ ç¬ij", + "çݯå¢ĥ 污æŁĵ", + "ä½ı æĪ·", + "ç»Ŀ ç¼ĺ", + "éϤ å°ĺ", + "é«ĺ å°ļ", + "æĢİä¹Ī åı¯èĥ½", + "éĿ¢ èī²", + "åķĨ æ¥Ń", + "çĸ ¹", + "èµĦæºIJ ä¼ĺåĬ¿", + "è¾ĸåĮº åĨħ", + "èĢĢ çľ¼", + "æij§ æ¯ģ", + "ä¸ĸçķĮ ç»ıæµİ", + "å¼ķ æĿ¥", + "ä¸Ģ åĪĻ", + "æĭĩ æĮĩ", + "æĬµ 御", + "éĽ į", + "åĩĨå¤ĩ å·¥ä½ľ", + "çıł ä¸īè§Ĵ", + "ç¨Ģ åľŁ", + "èİ·å¾Ĺ æĦŁ", + "æĪIJåĬŁ çİĩ", + "ç½ij 约", + "ç½ij约 车", + "èĦ IJ", + "æķ¬ ä¸ļ", + "éĩij ä»·", + "ç²¾ é«ĵ", + "ä¹° 车", + "åħ³ åı£", + "åĨį å¤ļ", + "æŀģ åĵģ", + "åIJĦ å®¶", + "举æĬ¥ ç͵è¯Ŀ", + "èļ Ĭ", + "æĸ¹ å½¢", + "ç§ijæĬĢ æĪIJæŀľ", + "æľĢ好 æĺ¯", + "éĹ® åĢĻ", + "红 éħĴ", + "åĽĽ ç§į", + "ç¿Ĵ æħ", + "ç¿Ĵæħ £", + "åŀ ¦", + "éĤ£ åıª", + "é¢Ĩ æĤŁ", + "çľ¼ éĥ¨", + "æ³° å®ī", + "ä»» æľŁ", + "磨 æįŁ", + "æĽ¿ æį¢", + "åħ¸ 礼", + "符åIJĪ æĿ¡ä»¶", + "è¿ĺæľī ä»Ģä¹Ī", + "åħ±äº« åįķ车", + "åı¯ åĪĨ为", + "åŃ£ åIJİ", + "åŃ£åIJİ èµĽ", + "举èİŀ å¸Ĥ", + "å¿ĥ æĦı", + "æīŃ æĽ²", + "ä½ľä¸º ä¸Ģç§į", + "è¿Ļ éĥ¨åĪĨ", + "åıĤä¸İ åΰ", + "ç½ij çIJĥ", + "實 çı¾", + "ç»Ħ è£ħ", + "åIJij å¤ĸ", + "å·¥ä½ľ æĸ¹æ¡Ī", + "åįģ æĿ¡", + "課 ç¨ĭ", + "颤 æĬĸ", + "åĵ ©", + "éĤ® å¯Ħ", + "äº ¢", + "åħį è²»", + "ç§ ¤", + "åºĶæĢ¥ 管çIJĨ", + "åĽĽ äºĶ", + "éºĴ éºŁ", + "å¾Ĵ æŃ¥", + "è¨ĺ å¾Ĺ", + "çĴ IJ", + "æĺ¯åIJ¦ ä¼ļ", + "æĦıè§ģ åıįé¦Ī", + "éļ¾ æĢª", + "çª į", + "交 æİ¥", + "两 åįĥ", + "æĩī ç͍", + "æľŁ éĸĵ", + "æIJ¬ åΰ", + "è®® é¢ĺ", + "碧 æ¡Ĥ", + "碧æ¡Ĥ åĽŃ", + "åģļ çĶŁæĦı", + "éĻĽ ä¸ĭ", + "è· ĭ", + "èĢģ人 å®¶", + "带 åĽŀ", + "æŀ¸ æĿŀ", + "è¡Į éķ¿", + "åĨħ容 ç®Ģä»ĭ", + "æ¢ ¢", + "æĮĩ æİ§", + "éĩį çĹĩ", + "ç½ijåıĭ 们", + "çı¾ 代", + "ç±» 产åĵģ", + "å¥Ķ æ³¢", + "æ¸ º", + "ç²ī ç¢İ", + "è¿Ļ åıªæĺ¯", + "æ£Ģå¯Ł æľºåħ³", + "é½ Ĭ", + "æĪ¿ ç§Ł", + "å¾· æĭī", + "å²ģ 以ä¸Ĭ", + "纯 åĩĢ", + "åĪĨå¸ĥ åľ¨", + "èĥ½ å¾Ĺåΰ", + "ä¸į å°½", + "ç«ŀ ä»·", + "çļĦ 带é¢Ĩ", + "çļĦ带é¢Ĩ ä¸ĭ", + "ä¸ŃèᝠæĿIJ", + "æĿij éķĩ", + "ä¸įåı¯ éģ¿åħį", + "éľ² 天", + "å°ı å§ijå¨ĺ", + "çī© ä»¶", + "èijĹä½ľ æĿĥ", + "æĭĺ çķĻ", + "éĥ½ è§īå¾Ĺ", + "æĽ² æĬĺ", + "æ·»åĬł åīĤ", + "åı¬ åĽŀ", + "æīİå®ŀ æİ¨è¿Ľ", + "æĬĦ è¢Ń", + "åĮĸ 身", + "缴 èIJ¥", + "ä¹Ł å¸ĮæľĽ", + "èį£èªī ç§°åı·", + "åįĸ ç»Ļ", + "æľī ä¸įåIJĮçļĦ", + "å¥ĩ çī¹", + "éĥ½ 认为", + "å¦ ŀ", + "æĪIJéķ¿ ä¸º", + "辩 æĬ¤", + "主 æķĻç»ĥ", + "æ³ķå¸Ī èģĮä¸ļ", + "æ¤į åħ¥", + "ç´¢ å°¼", + "åIJ¬ è¿ĩ", + "ä¹łæĥ¯ äºĨ", + "夺 åıĸ", + "éŁ ĵ", + "æľ¬è´¨ ä¸Ĭ", + "æİ¥ åĬĽ", + "äºij 端", + "è¦ģ åģļ好", + "è·¯ çģ¯", + "åįıåIJĮ åıijå±ķ", + "æľī å¾ħ", + "æ°´ åŁŁ", + "æIJľçĭIJ é¦ĸ页", + "è´¨éĩı å®īåħ¨", + "åįģäºĮ äºĶ", + "åĵ® åĸĺ", + "èĵ¬åĭĥ åıijå±ķ", + "åIJį 声", + "身 亡", + "çİĭ åºľ", + "åİŁåĪĻ ä¸Ĭ", + "çĥĺ å¹²", + "éģĹ æ¼ı", + "éĿ¢ 缮", + "åĽ½ ä¼ļ", + "ä¸Ģ缴 éĥ½æĺ¯", + "æľīä¸Ģ ä½į", + "éħį æľī", + "éĻª çĿĢ", + "ä¼ģ åĽ¾", + "æĮī ä¸ĭ", + "èĵĿ åĽ¾", + "æ© ĺ", + "大å¤ļ æĺ¯", + "辩 论", + "æĹĭ å¾ĭ", + "æĬ¥ éĢģ", + "æĿ¡ è§Ħå®ļ", + "åĬ¨ éĿĻ", + "åĮΠ奴", + "æĭľ 访", + "ä¸Ģ åĪĢ", + "ä»ĸ çŁ¥éģĵ", + "主 æĿĥ", + "ä»ĸ æĽ¾", + "æĴŃ ç§į", + "å£ģ åŀĴ", + "çī¢è®° 使åij½", + "åľ¨è¿Ļ æĸ¹éĿ¢", + "æīĭ èħķ", + "æĶ¯ æŀ¶", + "ä¾Ĩ èĩª", + "éĩį å¡ij", + "å¤ļ å±Ĥ次", + "ä»ĭ è´¨", + "éĿ¢ åŃĶ", + "æ½® 湿", + "åİ¿ åŁŁ", + "游æĪı å½ĵä¸Ń", + "å£ ŀ", + "åĪĹ åĩº", + "èµĽ åĮº", + "å¤ļ åįĬ", + "éĩįçĤ¹ å·¥ä½ľ", + "æĪij们 å¿ħé¡»", + "æŁı æŀĹ", + "é²ģ èĥ½", + "æĸ½ å±ķ", + "åIJĦ åĮº", + "åħį ç¨İ", + "èµĽ åIJİ", + "æľĢ éĩįè¦ģ", + "ä¸Ģ个 好çļĦ", + "è¿Ŀæ³ķ è¿Ŀè§Ħ", + "äºĨè§£ æĽ´å¤ļ", + "æķ¬ 请", + "ç¬ijçĿĢ è¯´", + "ä¸įæĸŃ åıijå±ķ", + "æijĦå½± å¸Ī", + "以 éĺ²", + "çĤ¸ å¼¹", + "声 åĵį", + "ç¤ ģ", + "æĩ ¿", + "èĪĨ æĥħ", + "èĩªçͱ è´¸æĺĵ", + "æķı æį·", + "ä¸ī大 éĺ¶æ®µ", + "èĭ Ķ", + "æĹº åŃ£", + "ä¸į 满æĦı", + "微信 åı·", + "ä¿® 为", + "çł´ è£Ĥ", + "éĢĥ 离", + "æ¯ı èĤ¡", + "è¾¾ ä¸įåΰ", + "æ¯ıå¹´ éĥ½", + "çģ¯ ç¬¼", + "æŃ¤ åŁºç¡Ģä¸Ĭ", + "åĥı 个", + "åĪĨ 娩", + "æĻ ¾", + "ä¸į èĩ³äºİ", + "红 线", + "误 è§£", + "举 è·¯", + "æ·® å®ī", + "产 åѦ", + "产åѦ çłĶ", + "èī¾ æ»ĭ", + "è»ĭ çĹħ", + "åīįæıIJ æĺ¯", + "æ¯ı ä¸Ģ天", + "ä¸ĥ 大", + "æłij åı¶", + "èµ° å¾Ĺ", + "è¿Ļ 两ç§į", + "æİı åĩº", + "æİ IJ", + "é¢Ĩ导 èĢħ", + "ä¸Ģ æľµ", + "个å¤ļ æľĪ", + "ä¸Ń åħ³", + "ä¸Ńåħ³ æĿij", + "课åłĤ æķĻåѦ", + "大 åĴĸ", + "éģĭ ç͍", + "è¯ļ æĦı", + "ç»Ħ åĽ¾", + "è¯ķ çĿĢ", + "ä¹Ķ æ²»", + "è¿ĺ ä¸įæĺ¯", + "æľī æĽ´å¥½çļĦ", + "åIJİ å¤ĩ", + "æĸ°çĶŁ åĦ¿", + "æ°Ķ è¡Ģ", + "æ²¥ éĿĴ", + "å±ı éļľ", + "æ¥Ń åĭĻ", + "æĪij 以为", + "éķ¿ çĽ¸", + "èĢģ çΏ", + "éķĩ æ±Ł", + "æľºæ¢° 设å¤ĩ", + "ä½Ĩæĺ¯ å¦Ĥæŀľ", + "åĿļå®ļ ä¸į", + "åĿļå®ļä¸į ç§»", + "åĨ² éĶĭ", + "ç®Ģ缴 æĺ¯", + "åĤ¨ èĵĦ", + "纯 ç͵åĬ¨", + "漫 æŃ¥", + "举 èµ·", + "æģ¶ æĢ§", + "è¨ĺ éĮĦ", + "èģĮèĥ½ éĥ¨éŨ", + "åħ¨ éķ¿", + "鼻 è¦ĸ", + "ä¹³ èħº", + "ä½ķ å¤Ħ", + "æ¶Ī æŀģ", + "æŃ£ å¤Ħäºİ", + "å®ī å®ģ", + "æĪIJ éķ·", + "åıĻ è¿°", + "æºĥ çĸ¡", + "ä½Ĩ çİ°åľ¨", + "女 æĺŁ", + "å©´ å¹¼åĦ¿", + "æĬķ èŀįèµĦ", + "éĹ® éĹ®", + "æıŃ å¼Ģ", + "è¯ ı", + "åIJį å½ķ", + "èĺij èıĩ", + "åIJĬ é¡¶", + "æ¹ĸ åĮº", + "åįĸ åľº", + "建 ç¯", + "å»ºç¯ ī", + "èİ ½", + "åIJ¬ åIJ¬", + "ç«ŀäºī ä¼ĺåĬ¿", + "åĩº ä»»", + "æľī 两ç§į", + "橱 æŁľ", + "è¤ ª", + "è¯ķ åį·", + "ç»ıæµİ æĬĢæľ¯", + "æ·± å±Ĥ", + "éĩįè¦ģ åĨħ容", + "é£İ æİ§", + "çĬ¶æĢģ ä¸ĭ", + "éĥ¨ éĸĢ", + "广 æ±½", + "è§Ĥ æij©", + "éģĹ çķĻ", + "转 è´¦", + "æĮģ ä»ĵ", + "æĢ» 计", + "åľĺ éļĬ", + "æĪ¿ 举", + "éĺĢ éŨ", + "åħ¬ åħ³", + "åħ³ åĪĩ", + "èĤ ĺ", + "æķ¸ æĵļ", + "ä¸ī åįģå¹´", + "è§ģè¯ģ äºĨ", + "å± Ĩ", + "çģ° å°ĺ", + "æ¦ľ é¦ĸ", + "è¦ĨçĽĸ çİĩ", + "ä»Ļ 女", + "çĶŁäº§ æĢ»", + "çĶŁäº§æĢ» å̼", + "æĪ¿ è´·", + "æ±Ł åĮº", + "åħħç͵ æ¡©", + "çϾ åIJĪ", + "確 èªį", + "转 ç§»åΰ", + "éĥ½ æĹłæ³ķ", + "纪念 é¦Ĩ", + "çŃ¾ç½² äºĨ", + "å¹¶ä¸į å¤ļ", + "æĮ ł", + "ä¸į太 好", + "ä¸ĸ 代", + "误 导", + "é«ĺå³° 论åĿĽ", + "åħ¼ 容", + "龸 æ°Ķ", + "æĿ¥ 访", + "æīĢ å¸¦æĿ¥çļĦ", + "æĺ¯ä¸Ģ éĥ¨", + "æĻļ é¥Ń", + "åİĨ 代", + "åIJ¦ åīĩ", + "ä¹ħ ä¹ħ", + "æľīæķĪ æľŁ", + "诱 åıij", + "æĢ» èµĦ产", + "æľ¬èº« å°±æĺ¯", + "çĶŁäº§ åİĤå®¶", + "æĹ¶ 髦", + "èĢIJ ç͍", + "ä»İå°ı å°±", + "æĿ¡ 约", + "èĭ± åĭĩ", + "ä¿Ĺ è¯Ŀ说", + "寺 åºĻ", + "å¿ĥçIJĨ åģ¥åº·", + "ä»Ģä¹Ī äºĭæĥħ", + "æ±ī åŃĹ", + "çķĻ ä½ı", + "åįĹ è·¯", + "ä¸ī 项", + "丢 äºĨ", + "æĥ³ åΰäºĨ", + "çѹ éĽĨ", + "éĻĦåĬł å̼", + "西 è£ħ", + "ä¹ĭ ä½ľ", + "åģļçļĦ äºĭ", + "çķ¶ æĤ¨", + "çķ¶æĤ¨ åľ¨", + "é¦ĸ 款", + "ä¸įåľ¨ ä¹İ", + "å·¥ç¨ĭ æĸ½å·¥", + "éļIJ éļIJ", + "åıĺ 身", + "沿 éĢĶ", + "æĤł æĤł", + "ä¿Ŀ æļĸ", + "çĶŁæ´» åŀĥåľ¾", + "渤 æµ·", + "æŃ¦ ä¾ł", + "女 主è§Ĵ", + "举 ä¾ĭ", + "æ ·¨", + "çϽ é¢Ĩ", + "è£Ļ åŃIJ", + "è¿Ķ è¿ĺ", + "è¿Ī åĩº", + "é¾Ļ éŨ", + "ç»ıæµİ ä½ĵ", + "æĶ¶ å®ĺ", + "çķĮ éĻIJ", + "è·³ åĩº", + "åįĩ å̼", + "绵 éĺ³", + "çĸ¤ çĹķ", + "çľĭ æ¸ħ", + "æĭĴ çµķ", + "è¥Ħ éĺ³", + "课 å¤ĸ", + "åŃIJ åŃĻ", + "æŃĮ è¯į", + "æĪIJ åIJį", + "溶 æ¶²", + "åĦĴ å®¶", + "åķĨä¸ļ åĮĸ", + "辨 åĪ«", + "å¤ļ è¾¾", + "ç½ij åºĹ", + "ä¹Ŀ 大", + "ä¹Ŀ大 ç²¾ç¥ŀ", + "æŃ¤ 举", + "è¿ŀ è½½", + "ä¸Ģ åĢĭ人", + "èī² æ³½", + "æ¶µçĽĸ äºĨ", + "è¦ı åĬĥ", + "åĽ½ æĥħ", + "åį«çĶŁ åģ¥åº·", + "积æŀģ åĵįåºĶ", + "æĭ Ļ", + "åζ åĬ¨", + "æĥ³è±¡ åĬĽ", + "çļĦ ä¹IJè¶£", + "å¼łå®¶ çķĮ", + "å´ İ", + "éĩį åŀĭ", + "å¤ĸ å¢Ļ", + "æĶ¾ åѦ", + "è®¤çľŁ åŃ¦ä¹ł", + "è´¬ å̼", + "æ³ķ æ¡Ī", + "æĬ¤èĤ¤ åĵģ", + "éĻ·åħ¥ äºĨ", + "请 æĤ¨", + "åŀ ¢", + "æķĻèĤ² èµĦæºIJ", + "交æĺĵ å¹³åı°", + "æĹ¶ è£ħ", + "ä¼łæŁĵ çĹħ", + "æ¹ĸ æ³Ĭ", + "èµĦ 管", + "åݨ å¸Ī", + "éĹľ éį", + "éĹľéį µ", + "åĵĪåĵĪ åĵĪ", + "çĽĹ çªĥ", + "çĶľ ç¾İ", + "åºĦ åĽŃ", + "缮åīį å·²ç»ı", + "è¾¹ ä¸Ĭ", + "çģ« èĬ±", + "æĬ¥ è®°èĢħ", + "æģĭ æĥħ", + "ç´§ åĩij", + "æ°´ æµģ", + "è¿Ļæĺ¯ æĪij们", + "æ³¥ åľŁ", + "æĽ¾ ä»»", + "æĸ¹ è¨Ģ", + "åij¨ åħŃ", + "åı· 楼", + "ä¼ij åģĩ", + "误 ä¼ļ", + "åĽ½ åĢº", + "åīį å¤ķ", + "两 å¼ł", + "éĹ «", + "éŃĶ é¬¼", + "æĬĬ æĮģ", + "èĬĤèĥ½ çݯä¿Ŀ", + "æ¸ħæ´ģ èĥ½æºIJ", + "èĤ¥ æĸĻ", + "é«ĺ é¢ij", + "å°± æľīäºĨ", + "交 ä¼ļ", + "没 éĴ±", + "éĽħ æĢĿ", + "è¦ģ åıĬæĹ¶", + "åŁ¹åħ» åѦçĶŁ", + "欣 åĸľ", + "çĥŃæ°´ åύ", + "é¾Ļ æ¹ĸ", + "äºĮ 楼", + "æĸ°æµª è´¢ç»ı", + "æĸ° åĬ¨èĥ½", + "èµ£ å·ŀ", + "æĭ³ 头", + "æµģ åIJij", + "ä¹Łæĺ¯ å¾Ī", + "åıij åĶ®", + "ä¸Ń åIJ«æľī", + "åIJĵ å¾Ĺ", + "å·¨ æĺŁ", + "æĹł æīĢè°ĵ", + "æ¯Ľ åŃĶ", + "åħ¬åħ± 交éĢļ", + "çĤİ çĥŃ", + "èµ· èįī", + "åĬłçĽŁ åķĨ", + "说 ä¸įåĩº", + "大åѦ æ¯ķä¸ļ", + "å·¥ä¸ļ åĽŃ", + "éłĺ åŁŁ", + "åºĨ åħ¸", + "æµģ 产", + "èģ² éŁ³", + "ä¼¼ä¹İ æĺ¯", + "è´§ æºIJ", + "æ·± åĪĩ", + "æ²»çĸĹ æĸ¹æ³ķ", + "èµĦæºIJ éħįç½®", + "ç¶² åıĭ", + "çĶ £", + "äº ¥", + "躲 åľ¨", + "社 ç§ij", + "è»Ł é«Ķ", + "女 è£ħ", + "æŃ¡ è¿İ", + "综åIJĪ å®ŀåĬĽ", + "æł¼ å°ĩ", + "åħļåı² åŃ¦ä¹ł", + "æľĢ åŁºæľ¬", + "æľĢåŁºæľ¬ çļĦ", + "çľĭ æľĽ", + "åıĹ è´¿", + "ä¸įä»ħ èĥ½", + "ä½ķ å¿ħ", + "ä¸Ģ个 å°ıæĹ¶", + "ç¾ Į", + "æĭĽ æĶ¶", + "çĤĴ èĤ¡", + "æĿij å¹²éĥ¨", + "缸 çα", + "æ½ľ èĥ½", + "ä¹ į", + "æĹ¶ è¾°", + "欣 æħ°", + "éĵ¶ è¡Įä¸ļ", + "çĭŃ çªĦ", + "éĩįçĤ¹ é¢ĨåŁŁ", + "çݰå®ŀ çĶŁæ´»", + "éĮ¯ 誤", + "æĸ° è§Ħ", + "滥 ç͍", + "æĹ¶ ä¸į", + "æĹ¶ä¸į æĹ¶", + "帳 èĻŁ", + "ç¨Ģ 缺", + "åIJij 举", + "ä¿Ŀåģ¥ åĵģ", + "çıŃ éķ¿", + "äºĴ åĭķ", + "笼 罩", + "æ½ Ľ", + "æļĸ å¿ĥ", + "è½° çĤ¸", + "åºĨ 幸", + "è²Į ä¼¼", + "æĵ º", + "èĢIJ 磨", + "ä¸ĵä¸ļ 人士", + "ä¸Ģèά éĥ½æĺ¯", + "æ¼³ å·ŀ", + "åħ¨ èĩªåĬ¨", + "å½ķ ç͍", + "大 è·Į", + "æľīæķĪ æĢ§", + "èĩª åĭķ", + "ä¸ī个 æĸ¹éĿ¢", + "港 åĮº", + "ä¿¡ 貸", + "éĢļ è¯Ŀ", + "é«ĺ 涨", + "æ³Ħ æ¼ı", + "éħį ä¸Ĭ", + "åħļ å·¥å§Ķ", + "被 认为", + "被认为 æĺ¯", + "ä¸įä¼ļ åĨį", + "è°ĥ åīĤ", + "åıĤ èĤ¡", + "èĦ± åıij", + "å¿ł å®ŀ", + "åĨħ åĪĨæ³Į", + "ç¹ģ å¿Ļ", + "åıĮ åĪĽ", + "é©» æĿij", + "åĪĴ ç®Ĺ", + "éģİ ä¾Ĩ", + "åľ£ ç»ı", + "èıľ 鸣", + "æĭ¼ å¤ļå¤ļ", + "ä¸ŃåĽ½ 汽车", + "çĥŁ èįī", + "缴 æµģ", + "äºĨä¸Ģ åı£æ°Ķ", + "ä½İ æĪIJæľ¬", + "æī¾ åĽŀ", + "èĩª åįij", + "總 æĺ¯", + "æĸĩåĮĸ åĪĽæĦı", + "天 æ²³", + "樱 æ¡ĥ", + "éªij åħµ", + "éĩĮéĿ¢ æľī", + "çİ ®", + "èĥ½ æī¾åΰ", + "éĢĥ è·ij", + "åĪĩ å°Ķ", + "åĪĩå°Ķ 西", + "以ä¸ĭ æĺ¯", + "å²³ éĺ³", + "çļĦ æ¦Ĥçİĩ", + "æĬµ åζ", + "å¸Ī äºĭåĬ¡", + "å¸ĪäºĭåĬ¡ æīĢ", + "åĩĨ æĹ¶", + "屬 æĸ¼", + "订 è´Ń", + "åįłæį® äºĨ", + "ä¸Ń éĢĶ", + "å° ĭ", + "é»ij 马", + "åİ¿ åħ¬å®īå±Ģ", + "ä¸ĥ æľĪ", + "èī² ç´ł", + "å¿ĥèĦı çĹħ", + "æĹ¶ éĻIJ", + "æ¯į åħ¬åı¸", + "å¹ķ åIJİ", + "ä¸Ĭ æ¦ľ", + "å̾åIJij äºİ", + "纸 ä¸Ĭ", + "æ¡ ĵ", + "éĽĨä½ĵ ç»ıæµİ", + "æĥħ å¢ĥ", + "è¦ģ åģļåΰ", + "ç©į 極", + "åıª æĢķ", + "æ¹ĺ 西", + "çļ± çº¹", + "åħ¨ åľĭ", + "çĦ¡ è«ĸ", + "好 æĦŁ", + "åįķ ä»·", + "è¿Ľç¨ĭ ä¸Ń", + "æĺĨ ä»ij", + "åĪĽ 客", + "åħħ æĸ¥", + "åħĪ æĬĬ", + "该 æĢİä¹ĪåĬŀ", + "åĵģ å¾·", + "åħ¨éĿ¢ åıijå±ķ", + "è¨Ī åĬĥ", + "æĢ» å·¥ä¼ļ", + "ä½Ľå±± å¸Ĥ", + "æĬĹ è¡¡", + "å¼Ģ åľº", + "éĴ± å¸ģ", + "åıĭ 们", + "å«ī å¦Ĵ", + "ç´¢ èµĶ", + "è®Ĭ åĮĸ", + "æĮ¤ åİĭ", + "æĮij è¡ħ", + "çŃī ä¸Ģæī¹", + "æĿ¨ 欢", + "ä¸ĵå®¶ åѦèĢħ", + "èĥ½ è¾¾åΰ", + "èµ° è¿ij", + "è´«åĽ° åľ°åĮº", + "éĻIJ æľŁ", + "ä¸į 平衡", + "åĽ½åĨħ å¸Ĥåľº", + "èµĽ åľº", + "éħį èµĦ", + "è¦ģ èĢĥèĻij", + "ä¸ĩ åı°", + "æľĪ æľ«", + "éĶ ¥", + "åŃ «", + "æİ¥è§¦ åΰ", + "åĩº 产", + "æķĻ åѸ", + "ä½ľ å¼Ĭ", + "çļĦ æľĢåIJİä¸Ģ", + "ä¿ĥ æĪIJ", + "åIJ¸ åıĸ", + "æ½ľ èīĩ", + "被 éªĹ", + "è¾ĵ äºĨ", + "çĭIJ çĭ¸", + "åįĩ éĻį", + "è¿ĻäºĽ ä¸ľè¥¿", + "æĬķèµĦ åŁºéĩij", + "çĶŁçī© åѦ", + "ç½ij绾 èIJ¥éĶĢ", + "åIJij è®°èĢħ", + "èįī åľ°", + "æĢ ¯", + "æľįåĬ¡ èĥ½åĬĽ", + "éĥģ éĹ·", + "åįķ åĵģ", + "å¾Ĺ 罪", + "æĺĵ äºİ", + "个å¤ļ å°ıæĹ¶", + "éĩį ä»»", + "ä¸Ĭ å®ĺ", + "æľ¬ éĩij", + "çı¾ åł´", + "溢 ä»·", + "æĺŁ è¾°", + "æ´»åĬ¨ çİ°åľº", + "丹 麦", + "å¸Ŀ çİĭ", + "æŁ¥ æĺİ", + "åŃĺåľ¨ äºİ", + "é¦Ļ æ°´", + "æĬ½ æ£Ģ", + "å®ŀéĻħä¸Ĭ æĺ¯", + "æĸ° å¾ģç¨ĭ", + "è´¢åĬ¡ 管çIJĨ", + "æİ Ľ", + "åĨľ åİĨ", + "éĥ½ èĥ½å¤Ł", + "éĤ¯ éĥ¸", + "羣 實", + "ç» Ĭ", + "åĨµ ä¸Ķ", + "ç½® 身", + "ç¥Ī 祷", + "çĿģ å¼Ģ", + "æĮĩ çĤ¹", + "å¼Ģ æľº", + "西 å®ģ", + "åĮĹ çº¦", + "积 æ°´", + "åĩº åĬ¨", + "åıijå±ķ 模å¼ı", + "转 æĬĺ", + "èĢĥ çĤ¹", + "æľī ç½ijåıĭ", + "è´«åĽ° æĿij", + "æĪij们 çŁ¥éģĵ", + "åĪĨ éĶĢ", + "å±± èĦī", + "æ¯Ķ æĭŁ", + "ä¼° ç®Ĺ", + "æĶ¹ 建", + "壮 è§Ĥ", + "ç§ī æĮģ", + "æı ª", + "ç¦ Ģ", + "åĮĸåѦ åĵģ", + "ä¸ŃåĽ½ åζéĢł", + "ä¸Ģ æŀ¶", + "æīį è¡Į", + "æĭĽ å¾ħ", + "åıĺ æį¢", + "åīį 线", + "幸 好", + "è¿Ļæł· çļĦè¯Ŀ", + "å¿ĥ è¡Ģ管", + "æĢ§ çĸ¾çĹħ", + "åħ¨ èĥ½", + "åĪij 侦", + "ä¿¡æģ¯ åıijå¸ĥ", + "æĺ¾ çĦ¶æĺ¯", + "éĿĴ éĵľ", + "åIJĥ ä»Ģä¹Ī", + "ç͵ ä»·", + "æ³ķå¾ĭ è§Ħå®ļ", + "çħ ²", + "çĵ· åύ", + "èĤī ç±»", + "æıĴ åħ¥", + "åĹ ľ", + "è¿Ł è¿Ł", + "ä¸ĢçĤ¹ éĥ½ä¸į", + "è¿ĺ åĮħæĭ¬", + "èĪį ä¸įå¾Ĺ", + "æłĩå¿Ĺ æĢ§", + "æľĪ 以æĿ¥", + "ç³ĸ æŀľ", + "éĥ½ åºĶ该", + "çݯå¢ĥ åį«çĶŁ", + "èĪª è¡Į", + "éĥij éĩį", + "ç½ij æĬķ", + "åįģ ä½³", + "ç§ģ ä¸ĭ", + "æļ´ è·Į", + "åĬłå¿« åıijå±ķ", + "产åĵģ çłĶåıij", + "åĪĽéĢł åĩº", + "æĢ» è§īå¾Ĺ", + "åºķ çĽĺ", + "èķ Ĭ", + "åĩºå¸Ń ä¼ļè®®", + "主 æĿ¿", + "æĹ¥æĻļ éĹ´", + "å®ĺæĸ¹ å¾®åįļ", + "å¼ķç͍ æĹ¥æľŁ", + "åī¯ æķĻæİĪ", + "ç͵åŃIJ 产åĵģ", + "è¡° éĢĢ", + "çķĻ åŃĺ", + "çģ« åĬĽ", + "çĴ §", + "çļ Ĥ", + "åħ¼ åħ·", + "éĩį è¿Ķ", + "é¢Ĩ çķ¥", + "åĪĩ éϤ", + "åĨįçĶŁ èĥ½æºIJ", + "å®ŀåľ¨ 太", + "çIJĨ论 ä¸Ĭ", + "ä¸ī å±Ĥ", + "ä¸ĸçķĮ åIJĦåĽ½", + "å®ľ æĺĮ", + "è̳ è¾¹", + "宽 æķŀ", + "æ±ī æĹı", + "çϽ çϽ", + "è¿ĻéĩĮ éĿ¢", + "çĶŁæ´» ä¹łæĥ¯", + "èµŀ èµı", + "çĶ· 士", + "ä¸Ń ä¿Ħ", + "车 祸", + "åīĤ éĩı", + "éϤ åİ»", + "å·¦ è¾¹", + "çŃij çī¢", + "çīĽ å¸Ĥ", + "å®¶ åĬ¡", + "åķ ĥ", + "ç½® æį¢", + "ç´« å¤ĸ", + "ç´«å¤ĸ 线", + "å¾Ģ åīį", + "åĬĽ åѦ", + "ç´§ è·Ł", + "缮çļĦ åľ¨äºİ", + "ç» ®", + "ç¥ Ĥ", + "宣 è¨Ģ", + "äºĮ æ°§åĮĸ", + "äºĮæ°§åĮĸ 碳", + "æĹł ç¼ĺ", + "ç²¾ éĢļ", + "è¨ º", + "å¼ķåıij äºĨ", + "æľĢ åħĪ", + "æ´¾ é©»", + "ä¸į å¿į", + "æĪij çΏ", + "å¹´ ä¸ĭåįĬå¹´", + "æ·ĭ å·´", + "没 éĹ®é¢ĺ", + "åºĹ åĨħ", + "è·Ł æĪij说", + "çĶŁäº§ çĶŁæ´»", + "è§Ĥ æľĽ", + "æ¸ į", + "被 æī§è¡Į", + "被æī§è¡Į 人", + "èĪ ľ", + "æİ º", + "ä¸Ģ ç§Ĵ", + "èįī åĿª", + "åij¼ åĴĮ", + "åij¼åĴĮ 浩", + "åij¼åĴĮ浩 çī¹", + "人æ°ij éĵ¶è¡Į", + "çĦķ åıij", + "è¯ģåΏ 交æĺĵ", + "çķ Ķ", + "æľº èĥ½", + "å¦ ¾", + "æĻļ å¹´", + "å·¥åķĨ èģĶ", + "åİŁ åŀĭ", + "è§Ĵ度 çľĭ", + "æĬ¥ 社", + "è¯į æĿ¡", + "躲 éģ¿", + "éĩį åIJ¯", + "å¤ķ éĺ³", + "èĤ¡æĿĥ 转让", + "åľ¨ ä¸Ģ", + "åľ¨ä¸Ģ æĹģ", + "社ä¼ļ åĮĸ", + "åıijå±ķ åİĨç¨ĭ", + "æĭĸ æ¬ł", + "使 èĢħ", + "ä¸İ åIJ¦", + "æĸ° å±ĢéĿ¢", + "ä»Ĭ天 æĪij们", + "é½IJ èģļ", + "对 æĪij说", + "éĢĴ 交", + "æľª æĽ¾", + "èİ Ĭ", + "éĸ ī", + "亲 æīĭ", + "è§Ĵ éĢIJ", + "æľī é»ŀ", + "ç¨İ çİĩ", + "ä½İ 声", + "é»ĺ å¥ij", + "æĻ® æ³ķ", + "大 ä¸ĵ", + "第äºĮ 大", + "ä½ı åĿĢ", + "æĶ¾ è¿Ľ", + "äºĮ æĪĺ", + "亲 身", + "åĽº åĮĸ", + "ä¸ĭ 乡", + "åħ³éĶ® æĬĢæľ¯", + "åĽŀ æĥ³", + "æĬ¥ åĪĬ", + "æ¶Ĥ æĬ¹", + "èĹı çĿĢ", + "ç¥Ŀ æĦ¿", + "åįĩ 温", + "çĶļèĩ³ è¿ŀ", + "åħ¬åħĥ åīį", + "ç¾İ æĸ¹", + "è¯ļ å®ŀ", + "æĹł åģ¿", + "åīµ æ¥Ń", + "å°ıå¿ĥ 翼", + "å°ıå¿ĥ翼 翼", + "两 æīĭ", + "温馨 æıIJ示", + "仿 羣", + "æĥ ¶", + "èĥ¡ åŃIJ", + "å·¥ä½ľ ç«Ļ", + "硬 çĽĺ", + "ç« ¿", + "åĤ³ éĢģ", + "åħ¨ æł¡", + "é²ľ æ´»", + "çĴĢ çĴ¨", + "ç»ĵ å°¾", + "æį¢ æĿ¥", + "æĪ Ģ", + "ä½İ ä½į", + "ä¸ĩåħĥ 以ä¸Ĭ", + "åĬł åĪĨ", + "æİ¨ä»ĭ ä¼ļ", + "çIJĨ èµĶ", + "å¾· å°Ķ", + "æĬĹ è®®", + "æ´ ¼", + "åĸ §", + "åŁİ éĻħ", + "å¾Ī æ£Ĵ", + "人 æŃ»äº¡", + "ä¼ļå±ķ ä¸Ńå¿ĥ", + "äºĴèģĶ äºĴéĢļ", + "èĸĦ èĨľ", + "éĩį é»ŀ", + "ç¦ģ æ¯Ĵ", + "åĨ· ç¬ij", + "大家 åı¯ä»¥", + "é¦ĸ 缸", + "è¿ij è·Ŀ离", + "æµ® çݰ", + "ç§ĺ è¯Ģ", + "èµ· é£ŀ", + "æIJ ¶", + "羣 åģĩ", + "æģ ķ", + "å°ı åºĹ", + "æ°ij çľ¾", + "åıijå¸ĥ åħ¬åijĬ", + "ä¾§ éĩį", + "å¾ĺ å¾Ĭ", + "æĢ Ķ", + "æª IJ", + "æķ° 缮", + "åī¯ ç§ĺ书éķ¿", + "两 åı¥", + "éļIJ çŀĴ", + "åıĮ åıĮ", + "æīĭ æĦŁ", + "èij¡ 京", + "éģĹ å¿ĺ", + "é¬ ¥", + "è¿Ļ个 åľ°æĸ¹", + "说 çļĦè¯Ŀ", + "å·¡ åĽŀ", + "è¿Ŀ 竳", + "æī¾ å·¥ä½ľ", + "æĶ¯ çIJĥéĺŁ", + "裡 éĿ¢", + "æĺ¾ç¤º åĩº", + "èĩ³ å°Ĭ", + "两 级", + "åīį æ®µæĹ¶éĹ´", + "çĺ¦ èº«", + "èĤ¢ ä½ĵ", + "æ¯į 親", + "æīĭç»Ń è´¹", + "汽车 è¡Įä¸ļ", + "æİ© çĽĸ", + "æİ§èĤ¡ éĽĨåĽ¢", + "åı£ å¾Ħ", + "æĶ¿çŃĸ æİªæĸ½", + "æµ· 绵", + "åħ¨ éķĩ", + "äºĭ åħ³", + "å¸Ń æī§è¡Į", + "å¸Ńæī§è¡Į å®ĺ", + "éĤ£ 次", + "åı¯èĥ½ åĩºçݰ", + "ä¸Ńå¿ĥ åŁİå¸Ĥ", + "ç¿» 身", + "ä¹Ł ç®Ĺ", + "ä¾µ çķ¥", + "åĸĩ åıŃ", + "æ¯ı次 éĥ½", + "è§ ħ", + "éĻ¢ éĻ¢éķ¿", + "å§ĭ äºİ", + "èѦ åĬ¡", + "èᝠæĿIJ", + "å±ł æĿĢ", + "æľ¬èº« å°±", + "éļıæĹ¶ éļı", + "éļıæĹ¶éļı åľ°", + "åĶ® åįĸ", + "æĹłäºº 驾驶", + "é¢ ħ", + "åĵģ 質", + "åĺ² ç¬ij", + "è·ij åİ»", + "åħĭ éĩĮæĸ¯", + "çķ¸ å½¢", + "ä¿® 饰", + "磩 éĺµ", + "éŁ³ä¹IJ ä¼ļ", + "æŁ³ å·ŀ", + "é½ ¡", + "ä¼ļ è°Ī", + "æŃ£ çīĪ", + "ä¹Ł åIJĮæł·", + "æļ§ æĺ§", + "è¡ĮæĶ¿ éĥ¨éŨ", + "ä¹ĸ ä¹ĸ", + "èĤ¤ èī²", + "æĹ¶ ä»»", + "羣 åĪĩ", + "æľĪ ä¸ĭ", + "æľĪä¸ĭ æĹ¬", + "举æĸ¹ è´¢å¯Į", + "è£ħä¿® åħ¬åı¸", + "éĢĢ è¿ĺ", + "åĭĺ å¯Ł", + "åĵ¥ 伦", + "åĵ¥ä¼¦ æ¯Ķäºļ", + "çĭ¬ ä¸Ģ", + "çĭ¬ä¸Ģ æĹł", + "çĭ¬ä¸ĢæĹł äºĮ", + "è°ĥ åij³", + "åİĭ è¿«", + "åħ¨çIJĥ æľĢ大", + "åī¯ æł¡éķ¿", + "æĽ´ ä½İ", + "åĪĨéĴŁ åIJİ", + "åĽŀ ä¾Ĩ", + "åζ åīĤ", + "åijĬè¯ī 大家", + "çĤ¹ éĴŁ", + "åįģä¸ī å±Ĭ", + "åij¨ åĽĽ", + "è¿Ļæł· ä¸Ģ", + "è¿Ļæł·ä¸Ģ æĿ¥", + "èĭ Ł", + "æľĽ åİ»", + "æĪIJ è¯Ń", + "å½ĵ åį³", + "ç¬ij 声", + "ä¹ĭ åĬ¿", + "åĪijäºĭ æ¡Īä»¶", + "æĮĤ çĿĢ", + "ä½ķ ç§į", + "å°ı 游æĪı", + "åĽ½å®¶ æĪĺçķ¥", + "åĨ· åĨ·", + "å®ľ 宾", + "æIJº ç¨ĭ", + "è¶ĭ äºİ", + "åıį çľģ", + "常 说", + "ä¸ĩ æĪ·", + "åĥµ å°¸", + "åįĥä¸ĩ åĪ«", + "åıijçݰ éĹ®é¢ĺ", + "åı¯ çŁ¥", + "éŨæĪ· ç½ijç«Ļ", + "åģ¥åº· 产ä¸ļ", + "åı³ è¾¹", + "æµ· è¿IJ", + "è¿ij ä¹İ", + "åĮ» æ²»", + "æĢ» ç®Ĺ", + "ä¸Ģ åĪĨéĴŁ", + "æĭ §", + "ä¹Ł æľīä¸ĢäºĽ", + "ä¾Ľç͵ åħ¬åı¸", + "å»ī ä»·", + "帮 ä»ĸ", + "æŃ¤æ¬¡ æ´»åĬ¨", + "åıªèĥ½ 说", + "èĬ ĭ", + "çīĩ 段", + "åŃĺåľ¨ éĹ®é¢ĺ", + "ä½łä¼ļ åıijçݰ", + "è½® å»ĵ", + "ç½ij éĢļ", + "滨 æ±Ł", + "æİĪ ä¿¡", + "é»İ æĺİ", + "ä¸į å±ŀäºİ", + "约 åįł", + "éķ¿æ²Ļ å¸Ĥ", + "èĥļ èĥİ", + "åħĥ ä»¶", + "éĻĨ åĨĽ", + "è³¼ è²·", + "æĮĩ æľĽ", + "å®ŀä¹ł çĶŁ", + "çī¹çĤ¹ æĺ¯", + "çıł æ±Ł", + "çľĭ ä¸įåĩº", + "ä¸įè§ģ äºĨ", + "ç¼ ī", + "éĺµ èIJ¥", + "åĶIJ æľĿ", + "没 å¿ħè¦ģ", + "åĽ½åľŁ èµĦæºIJ", + "ç»ıæµİåѦ å®¶", + "åIJĪèĤ¥ å¸Ĥ", + "çIJ¢ 磨", + "ç¡® åĪĩ", + "åŁİå¸Ĥ åıijå±ķ", + "çŃ· åŃIJ", + "人æ°ij æľįåĬ¡", + "满 åĪĨ", + "è¿· ä¿¡", + "ä½ľèĢħ æľ¬äºº", + "æĸĩ竳 æĿ¥æºIJ", + "ç«Ļ ç«ĭ", + "æŀĦ æĪIJäºĨ", + "è¾Ľ åĭ¤", + "è¶ħ 强", + "éĶ ļ", + "åīįä¸ī åŃ£åº¦", + "å°± è§īå¾Ĺ", + "å´ĩ é«ĺ", + "è¶Ĭ ä¾Ĩ", + "è¶Ĭä¾Ĩ è¶Ĭ", + "å¸Ĥåľº èIJ¥éĶĢ", + "综åIJĪ ç´łè´¨", + "åŃ ļ", + "ä¾® è¾±", + "äºĮ åŃĹ", + "å·¥ä½ľ ä»»åĬ¡", + "åı²ä¸Ĭ æľĢ", + "æľĢ ä¼ĺ", + "åIJ© åĴIJ", + "表 çϽ", + "èİ« åIJį", + "èİ«åIJį åħ¶", + "èİ«åIJįåħ¶ å¦Ļ", + "å¹ £", + "åIJĮå¿Ĺ 们", + "建设 çĶ¨åľ°", + "åĦ Ģ", + "éħį åģ¶", + "å¼ ©", + "åͱ çīĩ", + "æīĭ èĦļ", + "åħ¼ ä»»", + "åģľ æĶ¾", + "æŃ£ å®Ĺ", + "æĸ° åĨľæĿij", + "åĤ¬ çĶŁ", + "æīĢ åŃ¦æł¡", + "念 ä½Ľ", + "åͤ éĨĴ", + "åħ± åĪĽ", + "æĭī ä¸ģ", + "èĥĮ çĿĢ", + "çĶŁæĢģ ä¿ĿæĬ¤", + "åı£ 头", + "æĸ¹åIJij çĽĺ", + "調 æķ´", + "æĭĽèģĺ ä¿¡æģ¯", + "åħ¶ä»ĸ åĽ½å®¶", + "ç®Ģ æĺĵ", + "åĮ¿ åIJį", + "è¯Ħ æµĭ", + "æĺ¯ä¸Ģ 座", + "çīµ æīĭ", + "è¶³ 迹", + "çIJĨè§£ åĴĮ", + "æľĢ åıĹ", + "å¿ĥ è·³", + "çζ 親", + "éĿŀ常 åĸľæ¬¢", + "èĭ¦ éļ¾", + "æĬĢ å¸Ī", + "æ°ij æĦı", + "æĪĺ åĽ½", + "æĽ¿ è¡¥", + "æ´¥ è´´", + "ä¸ŃåĽ½ ä¼łç»Ł", + "åIJĦ è¡Į", + "åIJĦè¡Į åIJĦ", + "åIJĦè¡ĮåIJĦ ä¸ļ", + "第äºĶ å±Ĭ", + "èį· èĬ±", + "æĦı èŃĺ", + "票 ä»·", + "åĪĨ æµģ", + "æĿİ çϽ", + "æ±Ł åĮĹ", + "æİĴ æĸ¥", + "ä½ĵ éĩı", + "åĮħåIJ« äºĨ", + "åĪĺ æŁIJ", + "çݰ å¦Ĥä»Ĭ", + "å·¥èīº åĵģ", + "è¿Ļç§į æĸ¹æ³ķ", + "åĬŀåħ¬ 楼", + "ç͵ å·¥", + "çħ Ļ", + "åį¡ çīĩ", + "å¹´ å¹´åºķ", + "ä¸ĵ项 èµĦéĩij", + "åĮ» ç§ij", + "åĮ»ç§ij 大åѦ", + "åĽŀ头 çľĭ", + "ä¸į å±ij", + "èĩª 驾", + "没 æĶ¶", + "æīĵ çĮİ", + "èĦ¸ éĥ¨", + "åıĥ èĢĥ", + "å°Ĩ 士", + "è´«åĽ° 人åı£", + "çIJĨæĥ³ 信念", + "é£İ å°ļ", + "人æīį éĺŁä¼į", + "çij ¾", + "æĿ¥ è¿ĻéĩĮ", + "æ´Ĺ 涤", + "å¹´ èĸª", + "èĭį çϽ", + "ä¸ĩ äºĭ", + "课 æľ¬", + "åºĵ éĩĮ", + "çī¹ æ´¾", + "ç´¾ åijĺ", + "èµŀ ç¾İ", + "ç©¿ æĪ´", + "製 ä½ľ", + "èµŀ æĪIJ", + "ä¸Ģ ä¾§", + "å½ĵåľ° 人", + "æĭ İ", + "纸 è´¨", + "ä½Ļ 个", + "éĶĤ çĶµæ±ł", + "æľº åŀĭ", + "éĻ¢ éϢ士", + "åģļ å·¥", + "å¼ł è´´", + "ç¥Ľ æĸij", + "æ®ĸ æ°ij", + "å¥ij 约", + "æ¹ĺ æ½Ń", + "æIJ ĸ", + "åŃĺ è´§", + "交éĢļ 大åѦ", + "è¶ģ çĿĢ", + "æĸĩçī© ä¿ĿæĬ¤", + "å¤ĩ æĪĺ", + "éĩĩ 纳", + "åįĬ æľĪ", + "æľĢ åħ³éĶ®", + "æľĢåħ³éĶ® çļĦ", + "æİ¥ éĢģ", + "æĶ¶ åī²", + "åıį åĢĴ", + "çĥ Ľ", + "æ ½Ķ", + "ä¼Łå¤§ å¤įåħ´", + "çļĦè¯Ŀ è¯Ń", + "容 å¿į", + "å®ļ éĩı", + "æķ Ĺ", + "åĵģçīĮ 形象", + "æīŃ è½¬", + "åĽ½å®¶ éĩįçĤ¹", + "èĨĿ çĽĸ", + "ä¸Ģ 楼", + "大 éϏ", + "éĤª æģ¶", + "åĽŀ åij³", + "çĮ ¿", + "çĿ¡ åīį", + "æĹł è¾ľ", + "çĹħæ¯Ĵ æĦŁæŁĵ", + "æľºæ¢° åĮĸ", + "çĤ¹ 亮", + "溶 è§£", + "åĩłä¹İ æīĢæľī", + "è·ij éģĵ", + "ç͵è§Ĩ æľº", + "åı ¨", + "æijĩ äºĨ", + "æijĩäºĨ æijĩ头", + "èĩª è´Ł", + "综åIJĪ åĪ©ç͍", + "èĩª å¦Ĥ", + "åİŁ ä¾Ĩ", + "ä¹Łä¸į æĥ³", + "èĬĤ 课", + "è¿ĩ åī©", + "çͲ çĬ¶", + "çͲçĬ¶ èħº", + "æĸ° ä¸ĸ纪", + "èĩªä¸» åĵģçīĮ", + "é«ĺ å±Ĥ次", + "ä¸Ģ è§Ĵ", + "è¡Į äºĭ", + "ç¥ĸ åħĪ", + "å©ļ åIJİ", + "éĹ´ éļĻ", + "ç¼Ŀ éļĻ", + "è¿Ļ æĶ¯", + "ä¸įæĸŃ åĪĽæĸ°", + "å¾® åŀĭ", + "æĽĻ åħī", + "享 ç͍", + "ä¸ŃåĽ½ ç§»åĬ¨", + "éĹŃ çݯ", + "æī§ æĦı", + "åıijå±ķ æł¼å±Ģ", + "æł¸å¿ĥ åĮº", + "éªļ æī°", + "åħļåĴĮ åĽ½å®¶", + "ä¸ŃåĽ½ æĶ¿åºľ", + "帶 èijĹ", + "ä¸ĩåįĥ çĵ¦", + "åħ© 人", + "äºİæĺ¯ æĪij", + "åĽº ä½ĵ", + "çªģ å¦Ĥ", + "çªģå¦Ĥ åħ¶", + "çªģå¦Ĥåħ¶ æĿ¥", + "éĩĮç¨ĭ ç¢ij", + "çα ç¾İ", + "æŁ¥ éªĮ", + "åıĮ èµ¢", + "éĹª åħī", + "楼 å®ĩ", + "æĻ ı", + "æľī è¶³å¤ŁçļĦ", + "æŁĶ æĢ§", + "ä¿¡æģ¯ å®īåħ¨", + "管 线", + "å¹¶ ä¸įä¼ļ", + "åύ ä»¶", + "ä½ł åºĶ该", + "çĿĢ å®ŀ", + "æĺİ æ¸ħ", + "æĬĹ çĶŁç´ł", + "æīĵ æŃ»", + "å®Įåħ¨ ä¸įåIJĮ", + "èĬ± æ¤Ĵ", + "æĶ¾ 宽", + "ä½İ 端", + "åĽĽ èĤ¢", + "åĮĹ京 èµĽè½¦", + "éĽĨ å¸Ĥ", + "æľª å©ļ", + "大å¹ħ æıIJåįĩ", + "建çŃij 设计", + "çĭ¬ æľīçļĦ", + "æİ¢ éĻ©", + "æ²³æµģ åŁŁ", + "æħķ 容", + "被 çĽĹ", + "åĵº ä¹³", + "èı ģ", + "æĥ¬ æĦı", + "è¶ĬæĿ¥è¶Ĭ 好", + "广大 群ä¼Ĺ", + "å¾· èĤ²", + "å¸Ĥåľº ä»·æł¼", + "奥 å·´", + "奥巴 马", + "èĬĤ缮 ä¸Ń", + "两 款", + "ä¸ĩä½Ļ åħĥ", + "ç»´ å°Ķ", + "çĶŁçī© ç§ijæĬĢ", + "åIJ¬ èµ·æĿ¥", + "çł ļ", + "æĭŁ å®ļ", + "æ²¹ çͰ", + "声 èªī", + "建çŃij ä¸ļ", + "éĻIJ è´Ń", + "çīĩ åŃIJ", + "çķľ ç¦½", + "ç½ij é¦ĸ页", + "ä¼Ĺ çѹ", + "æĴŀ åĩ»", + "åīį ä¸įä¹ħ", + "åīį ä¸ĸ", + "åĽĽä¸ª æĦıè¯Ĩ", + "æµĭ ç»ĺ", + "éĺ² ç©º", + "漫éķ¿ çļĦ", + "æ²IJ æµ´", + "æ¯Ķè¾ĥ ç®Ģåįķ", + "æµĭ å®ļ", + "åĽŀ è°ĥ", + "让 人们", + "èĴĭ ä»ĭ", + "èĴĭä»ĭ çŁ³", + "ç»ĵ æĻ¶", + "å¢ŀæ·» äºĨ", + "æĿ¡ è¯Ħ论", + "åī¯ ä¼ļéķ¿", + "ä½ı æīĢ", + "ç»Ļ åĩºäºĨ", + "è°ĥ éħį", + "æ² ĸ", + "æľī ç͍", + "æľīç͍ çļĦ", + "ä¸ĢæĿ¡ é¾Ļ", + "éĩİ å¤ĸ", + "ç¼ĺ åĪĨ", + "æ°¸è¿ľ ä¸įä¼ļ", + "æŀľ æłij", + "大åıij å¿«ä¸ī", + "麻 éĨī", + "äºij éĽĨ", + "åİ» åĵªéĩĮ", + "åħ¥ å¸Ĥ", + "ä»» æĢ§", + "建 æ¡£", + "建档 ç«ĭ", + "建档ç«ĭ åį¡", + "ä¸Ģ 棵", + "社 åįĢ", + "缸 ä¼´", + "åļ ·", + "å¡« åħħ", + "ä¸Ģ æĹı", + "ç¾ ģ", + "åıĸ è¯ģ", + "èΰ éĺŁ", + "åİĤ åĮº", + "è¡· å¿ĥ", + "åıijå±ķ éĺ¶æ®µ", + "é«ĺ 强度", + "åĹĵ åŃIJ", + "é¢Ĩ è¡Ķ", + "楼 主", + "大 èĴľ", + "æŀķ 头", + "ç²® æ²¹", + "é»Ħ çĵľ", + "æĵ Ĵ", + "å°ı çĭĹ", + "æĶ¹éĿ© å§Ķ", + "åįģ åĪĨéĴŁ", + "é²ľ èī³", + "åħ³ ç¾½", + "çĭĢ æħĭ", + "å®ŀç͍ æĢ§", + "å°ij è§ģ", + "é£ŀ æī¬", + "çͰ éĩİ", + "æIJ Ĥ", + "è¿Ļ个 è¯į", + "åºĶæĢ¥ é¢Ħæ¡Ī", + "è§Ĵ度 æĿ¥çľĭ", + "æķ¬ çķı", + "æ³ķ å®Ŀ", + "åĸĦ æĦı", + "æīĵ æĸŃ", + "对 åĨ³", + "çµķ å°į", + "åĢŁ æŃ¤", + "å¼Ģ æºIJ", + "å°ı 說", + "ç¥ º", + "å²ģ 以ä¸ĭ", + "éĢĢå½¹ åĨĽäºº", + "ä¸įä¹ħ åīį", + "åĩº åİĤ", + "讽 åĪº", + "æĿ¥çľĭçľĭ åIJ§", + "éŃĶ åħ½", + "çķĻ ä¸ĭæĿ¥", + "å±ħ 室", + "åłħ æĮģ", + "çľĭ äºĨä¸Ģ", + "çľĭäºĨä¸Ģ çľ¼", + "éĽĨåĽ¢ æĹĹä¸ĭ", + "æĪĺ æĪĺç»ĦåIJĪ", + "è®¤çľŁ èIJ½å®ŀ", + "汽车 产ä¸ļ", + "çī©çIJĨ åѦ", + "æķ µ", + "éĴ Ŀ", + "åĽ¢ éķ¿", + "ä¸įæĸŃ æī©å¤§", + "èĤ© è´Ł", + "åıijå±ķ 缮æłĩ", + "è³ĩ éĩij", + "åīį ç½®", + "ä¸ŃåĽ½ åı¤ä»£", + "æŃ» åĪij", + "åħħåĪĨ ä½ĵçݰ", + "åħ³ éŨ", + "ç¾İ æĦŁ", + "æīĵ åħ¥", + "æĬijéĥģ çĹĩ", + "å°ij çĪ·", + "æłij æŀĿ", + "æ¶Īæģ¯ ç§°", + "æ´Ľ åħĭ", + "åį ¯", + "è¿Ī åIJij", + "æİ¨ åĭķ", + "ä»İä¸ļ èĢħ", + "åİ» ä¹°", + "欢 å¿«", + "æĭ¥ æĮ¤", + "马 æ¡¶", + "æĬĬ æİ§", + "æĶ¿ åħļ", + "å¼ł æī¬", + "客 æłĪ", + "红 æĺŁ", + "éĢģ æĿ¥", + "åħ¨åŁŁ æĹħ游", + "èĩª ç§ģ", + "åįģäºĮ æĿ¡", + "åı¹ æģ¯", + "ä¸Ģ èīĺ", + "ä¿Ŀ è´¹", + "æĸ½å·¥ çİ°åľº", + "æľī 幸", + "ç»Ń èĪª", + "åı¯èĥ½ æľĥ", + "èĥĮ åıĽ", + "ä½£ éĩij", + "ä¸ī çŃīå¥ĸ", + "å¾Ī 满æĦı", + "游æĪı åľ¬", + "群 éĩĮ", + "æŀĦ ä»¶", + "åºı å¹ķ", + "太 æ¹ĸ", + "æľ¨ è´¨", + "æĻĭ æ±Ł", + "çµĤ æĸ¼", + "è·³ è·ĥ", + "åĢºæĿĥ 人", + "çŃī 诸å¤ļ", + "æĶ¾ åĩº", + "åħ³éĶ® æĹ¶åĪ»", + "æĦŁæŁĵ èĢħ", + "é£ŀè¡Į åijĺ", + "èĥĨ åĽº", + "èĥĨåĽº éĨĩ", + "æĬ± æŃī", + "åij¨ äºĮ", + "æĸ° æĹ¶æľŁ", + "åĨ·éĵ¾ çµģ", + "è¿Ļç§į æĸ¹å¼ı", + "该 æĿij", + "åĽŀ é¦Ī", + "åŁºçĿ£ æķĻ", + "人 åıĤ", + "æŀ¯ çĩ¥", + "æī¹åıij å¸Ĥåľº", + "åħħåĪĨ èĤ¯å®ļ", + "å¸Ĥ æĶ¿åįı", + "äºĭ æ¥Ń", + "龸 çİĭ", + "çĥŃ æIJľ", + "åįģä¹Ŀ 大", + "ä¼´ æľī", + "ç¾İåĽ½ æĢ»ç»Ł", + "åŁİå¸Ĥ 管çIJĨ", + "ä¸ĭ 令", + "èĥ¸ åı£", + "åıª çŁ¥éģĵ", + "åij¨ ä¸ī", + "ç͍ æĪ¶", + "éŃ ¯", + "å¿ĥ è¡Ģ", + "带头 人", + "åĮ» åĬ¡", + "åĮ»åĬ¡ 人åijĺ", + "æİ§åζ åύ", + "ä½ľåĵģ åĨħ容", + "æĪĺ åıĭ", + "åİĨ å¹´", + "ä¸į åħĭ", + "ä¸įåħĭ ä¸įåıĬ", + "æĹ¥ æŃ£å¼ı", + "è±IJ å¯Į", + "ç¨İ è´¹", + "æĹ¶ æķĪ", + "å±ķ ä½į", + "è¡¡ éĺ³", + "æĪ¿ 貸", + "çĪĨ 款", + "ä¹IJ æĦı", + "çĶ· 主", + "å¯ ¬", + "æľĥ èѰ", + "ä¹ĭ å¤ľ", + "åIJĮ 樣", + "ä¸įè¦ģ 太", + "ä¼Ĭ æĸ¯", + "ä¼Ĭæĸ¯ åħ°", + "åŁºæľ¬ åİŁåĪĻ", + "åİ» æİī", + "ä½İ ä¿Ŀ", + "个 交æĺĵ", + "个交æĺĵ æĹ¥", + "èģĬ èģĬ", + "åĽĽ ä½į", + "åħļç»Ħ æĪIJåijĺ", + "主è¦ģ ä»İäºĭ", + "å½± éŁ³", + "åĨĴ åĩº", + "åij¼åIJ¸ éģĵ", + "è¾¾ å°Ķ", + "æľ¨ åľ°æĿ¿", + "诡 å¼Ĥ", + "çģ¯ åħ·", + "çģ« çĥ§", + "è§£ èĦ±", + "æĦĪ åıij", + "æ¹ĸ å·ŀ", + "é£İ ä¿Ĺ", + "æĸ° å½¢åĬ¿", + "æĸ°å½¢åĬ¿ ä¸ĭ", + "è² Ŀ", + "èĦ ĵ", + "åĬ¨åĬĽ çĶµæ±ł", + "é£ŀ èι", + "飧 æĢ§", + "åĪ© çī©", + "åĪ©çī© æµ¦", + "ä¸į 认è¯Ĩ", + "ç¼ĸ ç»ĩ", + "ä½ľ åĿĬ", + "èģĮä¸ļ æĬĢèĥ½", + "çľĭ è¦ĭ", + "åĽ´ æ£ĭ", + "æĺı è¿·", + "å½Ĵ å±ŀäºİ", + "æĤ¬ å´ĸ", + "éĨ« çĻĤ", + "å®ĭ 代", + "åºĦ æĿij", + "èĹ ķ", + "çĮĽ çĦ¶", + "çĩĥæĸĻ çĶµæ±ł", + "å®ŀä½ĵ åºĹ", + "ä¸įè¶³ 以", + "æĥħ ç·", + "æĥħç· Ĵ", + "å»Ĭ åĿĬ", + "ç͵ åı°", + "åºĶ åĬĽ", + "ä¸Ńå°ı åѦçĶŁ", + "èĥ¡ åIJĮ", + "éī´ åĪ«", + "åĨħ ç½®", + "ä¹± 象", + "æ¬Ĭ çĽĬ", + "å¼ĢæĶ¾ å¼ı", + "åįļ æĸĩ", + "讲 课", + "çŃī åİŁåĽł", + "ç©· 人", + "交 æĽ¿", + "æĬ¤ çħ§", + "åıijå±ķ æľºéģĩ", + "客 åķĨ", + "åıį ä¹ĭ", + "ç±³ é¥Ń", + "å¹¶ åıij", + "å¹¶åıij çĹĩ", + "æ±ī åŃIJ", + "æŀľ åĽŃ", + "对æĪij æĿ¥è¯´", + "åģı åIJij", + "æī¹ 示", + "读 åIJİ", + "读åIJİ æĦŁ", + "æĺİ æĻº", + "åĽ´ çĿĢ", + "åıį 转", + "æĿ¨ å¹Ĥ", + "ä¸ĵ åįĸ", + "ä¸ĵåįĸ åºĹ", + "åıĹ éĻIJ", + "åºŁ è¯Ŀ", + "æŀģ å°ij", + "åįĪ åIJİ", + "è¿Ľ ä¿®", + "åīĬ åĩı", + "æľ¬ç§ij çĶŁ", + "ä¼ĺ éĢī", + "åħī çħ§", + "åıĻ äºĭ", + "åıĸ æļĸ", + "åĮĹ è·¯", + "æ¦ ķ", + "èİĨ çͰ", + "楼 å±Ĥ", + "天 èĬ±", + "天èĬ± æĿ¿", + "çĤ ľ", + "å·²ç»ı æľīäºĨ", + "è¶ ¾", + "çͳ åįļ", + "ç͵ éĺ»", + "åĬŁ è¯¾", + "æŃ¥ æŃ¥", + "éĤ£ä¹Ī 容æĺĵ", + "æŃ¤ æĸĩ", + "ä½ °", + "计 è¾ĥ", + "çīĩ éĿ¢", + "ç͵影 éĻ¢", + "ä¸į åħ¬å¹³", + "ä¸ī æľŁ", + "æĹħ游 èµĦæºIJ", + "å¤ļç§į å½¢å¼ı", + "è£Ĥ ç¼Ŀ", + "åIJİ æİĴ", + "硬 度", + "åĽŀ æļĸ", + "éģĵ æķĻ", + "è´« è¡Ģ", + "æ¸ħ é¦Ļ", + "伤 çĹħ", + "æĦı 義", + "çļĦ ç¼ĺ", + "çļĦç¼ĺ æķħ", + "åºĦ 严", + "åıªæĺ¯ 为äºĨ", + "æīĵ æĬĺ", + "以 ä¾Ĩ", + "滿 è¶³", + "çİĽ 丽", + "風 éļª", + "æĸĩ ç§ij", + "éħįå¤ĩ äºĨ", + "è¿Ľ é£Ł", + "æ¶ ¡", + "è·¯ ç¨ĭ", + "åı« 声", + "ä¸Ńå¿ĥ åŁİåĮº", + "æľīæīĢ ä¸įåIJĮ", + "å¼µ è²¼", + "é¢Ħ æĬ¥", + "æľīå¤ļ ä¹Ī", + "è¿Ľè¡Į åħ¨éĿ¢", + "æĽ¾ ç¶ĵ", + "ä¸ī 代", + "å®ı 大", + "æ¸ħ æī«", + "éĢī åĩº", + "åĵª ä¸Ģ个", + "主 義", + "ä¾Ŀ æĵļ", + "çļ® éĿ©", + "èµ¶ æĿ¥", + "çŃĽ æŁ¥", + "æ¨ Ł", + "ä¿Ŀ èįIJ", + "åIJĥ æĥĬ", + "æľĭåıĭ们 对", + "ä»ĸ æĺ¯ä¸Ģ个", + "åºŁ æ°Ķ", + "æ» ħ", + "è´¢ ç¨İ", + "æĿij æĿijæ°ij", + "èµĦ产 è´ŁåĢº", + "å®ī å¨ľ", + "缮åīį åĽ½åĨħ", + "æĦŁè§ī èĩªå·±", + "çµIJ åIJĪ", + "éͦ æłĩ", + "éͦæłĩ èµĽ", + "æĽ´ æ·±", + "åŁº æķ°", + "éħ¿ éħĴ", + "çī¹èī² äº§ä¸ļ", + "åİĭ å®ŀ", + "ä¾Ŀæ³ķ 追究", + "æ·¡ å®ļ", + "ç®Ģ缴 å°±æĺ¯", + "å£ĵ åĬĽ", + "æ°ij å¿ĥ", + "ä¸į åIJĪéĢĤ", + "çͱæŃ¤ åı¯è§ģ", + "èµŀ èªī", + "æ¾ ¤", + "åĩłå¹´ åīį", + "åIJī ä»ĸ", + "çł´ æįŁ", + "轻轻 åľ°", + "å²Ľ 屿", + "æĦı å¢ĥ", + "ä»Ģä¹Ī åı«", + "åģĩ è£ħ", + "éĢģ è´§", + "å¹ķ å¢Ļ", + "妥 åįı", + "åĽ½ æĹĹ", + "äºĨ å¾Īä¹ħ", + "åĪĨ辨 çİĩ", + "ç´ Ķ", + "éĺ³ åĮº", + "åĩŃ çĿĢ", + "åģľè½¦ ä½į", + "京 éĥ½", + "éĶ £", + "æĵ ¾", + "è¿Ľ éŨ", + "åĪĺ æµ·", + "åĽĽ 级", + "女 è¶³", + "è¡ĮæĶ¿ 审æī¹", + "éģ¥ æİ§", + "ä¸į éĮ¯", + "å¾Ĺ å¾Ī好", + "为 缮çļĦ", + "ä»į æľª", + "ç²¾ è£ħ", + "éĢį éģ¥", + "å°½ 头", + "çºł ç¼ł", + "éłĺ å°İ", + "æĭħ è´Ł", + "æĪĸèĢħ åħ¶ä»ĸ", + "åıªä¸įè¿ĩ æĺ¯", + "åı® åĺ±", + "åģĩ åĨĴ", + "æļĸ æ°Ķ", + "çĽIJ åŁİ", + "被 è§Ĩ为", + "诺 è´Ŀå°Ķ", + "ç»ĻäºĨ æĪij", + "è¿ij åįĥ", + "éĩį åĽŀ", + "éĨĴ äºĨ", + "ç͵ è§£", + "忽çķ¥ äºĨ", + "èĥĮ éĥ¨", + "æĸĩæĺİ åŁİå¸Ĥ", + "æº ħ", + "è² ĵ", + "æĬµ æĮ¡", + "åĸľæ¬¢ åIJĥ", + "éĿĻéĿĻ åľ°", + "å¾Ī æ·±", + "åŁºç¡Ģ çŁ¥è¯Ĩ", + "è¿ĩ éĶĻ", + "çIJĨ ç§ij", + "交æµģ åIJĪä½ľ", + "èĪ Ķ", + "調 æŁ¥", + "æħĪ æĤ²", + "éĴ °", + "èĩ´ ç͵", + "å®£ä¼ł æ´»åĬ¨", + "åıĺ éĩı", + "çļĦ人 æĿ¥è¯´", + "æĹ¶ éļĶ", + "ä¸į管 ä½ł", + "缸 è¿ij", + "è´µ éĩijå±ŀ", + "ä¹Łä¸į åı¯èĥ½", + "ç²ī æľ«", + "åįĹ çĵľ", + "çϽ 马", + "åħī æºIJ", + "éĩij å¥ĸ", + "çĭ¬ è§Ĵ", + "çĭ¬è§Ĵ åħ½", + "妨 ç¢į", + "ç»Ļ åĬĽ", + "ä½Ĩ ä»į", + "å¼łå®¶ åı£", + "èIJ¬ åħĥ", + "渲 æŁĵ", + "éķ¿å¤§ äºĨ", + "è®°èĢħ äºĨè§£", + "æĢĢ çĿĢ", + "è¦ģ åѦä¼ļ", + "游æĪı 代", + "游æĪı代 ç»ĥ", + "äºĮ çϾ", + "æĦıè¯Ĩ å½¢æĢģ", + "çİ º", + "计åĪĴ çĶŁèĤ²", + "æī¾ åĩĨ", + "åħ° èĬ±", + "è¿Ļ座 åŁİå¸Ĥ", + "污 æ³¥", + "å®ĺæĸ¹ 微信", + "å½Ĵ å±ŀ", + "æ°§ æ°Ķ", + "éģİç¨ĭ ä¸Ń", + "åį°è±¡ æ·±åĪ»", + "稳 妥", + "çµIJ æĿŁ", + "åŃķ æľŁ", + "çī¹ æĿĥ", + "åĿļ åĽº", + "顺 åĬ¿", + "æŀľ èͬ", + "éĨ« 師", + "åİ ®", + "ä¹Łæĺ¯ å¦ĤæŃ¤", + "é¦Ĵ 头", + "缸 åĬ©", + "å¹² 线", + "ä¸Ģ æľ¬ä¹¦", + "ç» ¥", + "æĮ¯ å¥ĭ", + "èĤ¾ èĦı", + "åĭķ çī©", + "é£ŀ è·ĥ", + "èıľ åĵģ", + "å¤ļ ä½Ļ", + "å¤ļä½Ļ çļĦ", + "éĢĿ ä¸ĸ", + "æģĭ 人", + "å¼Ģåıij åĪ©ç͍", + "顺 丰", + "éĩİ å¿ĥ", + "æł¡ å¤ĸ", + "æģIJ é¾Ļ", + "éĿ¢ åħ·", + "éķ¿ è¾Ī", + "éļı å¤Ħ", + "éļıå¤Ħ åı¯è§ģ", + "ç´§ 缺", + "éĩį ä¸Ń", + "éĩįä¸Ń ä¹ĭ", + "éĩįä¸Ńä¹ĭ éĩį", + "奥 æĸ¯", + "奥æĸ¯ åį¡", + "ä¸Ģ个 å¤ļ", + "ä¸Ģ个å¤ļ æľĪ", + "ä¸įåı¯ 缺å°ij", + "æĸ° æł¼å±Ģ", + "æıIJ æĮ¯", + "è¡Į è´¿", + "æ¼Ĥ æµģ", + "èģĬ åŁİ", + "åħ´ 建", + "è´¨ æ£Ģ", + "ç§ģæľį 游æĪı", + "æĽ´ éĩįè¦ģ", + "è´ ®", + "çħ ľ", + "转åıĺ 为", + "è¿Ļ 两年", + "ä¿Ŀ é²ľ", + "æī§ æķĻ", + "çĥ ¨", + "å¼Ģåıij 建设", + "è¿IJèIJ¥ 管çIJĨ", + "误 å·®", + "京 åī§", + "å¸IJ åı·", + "å·¥ä½ľ ä½ľé£İ", + "ä¸ĸ ä¿Ĺ", + "çϽ 宫", + "天 åĽ½", + "å¤©åĽ½ ç»§ç»Ń", + "å·´ æĸ¯", + "èIJ¥ åĪ©", + "åĵģ æł¼", + "æĿijæ°ij 们", + "æĪ¿ 车", + "çŃī çĹĩçĬ¶", + "å¦Ĥ å®ŀ", + "å® ¸", + "å±Ĥ 级", + "éĶĻ è¿ĩäºĨ", + "ç»ĵ å®ŀ", + "ç¬ij èĦ¸", + "羣å®ŀ æĢ§", + "éĥ½å¸Ĥ æĬ¥", + "é¥Ń èıľ", + "åºĶ 注æĦı", + "æĬ½ çĥŁ", + "伪 éĢł", + "åīį ä¸Ģ天", + "éŃĶ é¾Ļ", + "éŃĶé¾Ļ 令çīĮ", + "约 è°Ī", + "绣çѹ æİ¨è¿Ľ", + "让 ç͍æĪ·", + "åħ¨éĿ¢ èIJ½å®ŀ", + "å¼Ħ å¾Ĺ", + "è°Ī æģĭçα", + "鸣 æĪIJéķ¿", + "鸣æĪIJéķ¿ è®°", + "æ´ĭ æ´ĭ", + "çĸı æķ£", + "éĿ¢ç§¯ 约", + "æµĵ 缩", + "æĸ¯ é¡¿", + "çĶŁæĢģ åľĪ", + "æī§ 导", + "ç§» éĢģ", + "齿 è½®", + "æł¹æľ¬ å°±ä¸į", + "缩 åĩı", + "èµ° ä¸ĭåİ»", + "çĿ« æ¯Ľ", + "ä¹Łä¸į éĶĻ", + "åıįæĺł åĩº", + "èĭ¦ æģ¼", + "缸åħ³ æĶ¿çŃĸ", + "é«ĺ 楼", + "ç²ī èī²", + "æĬķèµĦ é¢Ŀ", + "ä¸į ç»ı", + "ä¸įç»ı æĦı", + "å®ģ æĦ¿", + "èĪĮ 头", + "æ»ĭ çĶŁ", + "å®ģ åİ¿", + "åīįåĪĹ èħº", + "åĩ ³", + "é£Ł 欲", + "åıĸ èĥľ", + "éĻ¢ åŃIJ", + "ç´łè´¨ æķĻèĤ²", + "滨 å·ŀ", + "æĬ¢ æĬĵ", + "å¼Ĥ åij³", + "åĴ ļ", + "åĬ į", + "宽 éĺĶ", + "æļ´ 涨", + "æĥł åıĬ", + "è§Ħ ç¨ĭ", + "ä¾Ľ åħ»", + "éĢģ å¾Ģ", + "å±± åºĦ", + "举 äºļ", + "å±ķ é¦Ĩ", + "è§£ éĶģ", + "æĹł è§Ĩ", + "éĻį èIJ½", + "è¿ŀ äºij", + "è¿ŀäºij 港", + "åıĤ è°ĭ", + "çİ ĸ", + "ç¬ ĥ", + "èĢĹ è´¹", + "æī¿ å¾·", + "社ä¼ļ æķĪçĽĬ", + "åįĹæµ· ç½ij", + "åĪĽ 伤", + "èIJ ±", + "åħħ æ²Ľ", + "ç½ijç«Ļ 建设", + "大 åºĨ", + "åĨį éĢł", + "åŃĹ æł·", + "åħ¨æ°ij åģ¥èº«", + "èĮ« èĮ«", + "æµ® åĬ¨", + "åīį åı°", + "å¢ŀ 设", + "éĢĽ è¡Ĺ", + "åĢĴ éĹŃ", + "æ³ķå¾ĭ 顾éĹ®", + "çĸ ®", + "çĹħ çĹĩ", + "空 åīį", + "请 æķĻ", + "èĥľ ä»»", + "æĿĢ èıĮ", + "æĪĺæĸĹ æľº", + "ç»ĺ åζ", + "å¤Ħ æĸ¹", + "çªģ åĽ´", + "çĮ« åĴª", + "æĬ¥åijĬ æĺ¾ç¤º", + "ç¿ Ł", + "çķ¶ åľ°", + "æľĢ éļ¾", + "纪 å§Ķ书记", + "ä½İ åİĭ", + "èĻļ 空", + "è¿Ļéĥ¨ ç͵影", + "产ä¸ļ åįĩ级", + "è°· çα", + "è°·çα åĩĮ", + "æĬ¼ éĩij", + "女 æĸ¹", + "éĴ» çłĶ", + "æļĹ æļĹ", + "è¿· ä½ł", + "æīĢ è¬Ĥ", + "å¨ģ å»ī", + "å¼Ģ æľĹ", + "å² Ķ", + "çģ« çĤ¬", + "åIJĪçIJĨ æĢ§", + "åħ¬ åĬŀ", + "ä¼ļ ä¼ļéķ¿", + "éĺ´ è°ĭ", + "å¼Ģ å±Ģ", + "æĻ®éĢļ è¯Ŀ", + "åį¡ æĭī", + "å°ij åIJĥ", + "éĹª èĢĢ", + "æŀľ æ±ģ", + "æī§è¡Į åĬĽ", + "è° Ľ", + "æĬ¢ åĬ«", + "é«ĺéĢŁ åıijå±ķ", + "éŁ ¬", + "åįĹ æ²Ļ", + "é«ĺçŃī åŃ¦æł¡", + "æį¢ 个", + "åı¯èĥ½ åŃĺåľ¨", + "æĬ Ĵ", + "è°± åĨĻ", + "被 æĬĵ", + "æĿ¯ åŃIJ", + "èĬĤèĥ½ åĩıæİĴ", + "æ°ĶåĢĻ åıĺåĮĸ", + "åĪĨ åĪ¥", + "ä¸Ń æŀ¢", + "欢 åij¼", + "åħī 纤", + "è¿Ļ 群", + "çľ¼ çķĮ", + "åħ±åIJĮ åıijå±ķ", + "çݰ ä»Ĭ", + "éĹ» è¨Ģ", + "çī¹èī² å°ıéķĩ", + "æķij 人", + "éĻį æ°´", + "ä¸ĸçķĮ ä¸Ģæµģ", + "å°± é¤IJ", + "çŀ ¥", + "å¤į ä»ĩ", + "ç¾½ æ¯Ľ", + "ç¾½æ¯Ľ çIJĥ", + "è´© åįĸ", + "æºIJ æ³ī", + "æĢ»ä½ĵ è§ĦåĪĴ", + "åĬ¨ æĦŁ", + "ä¸Ģ 审", + "åĢŁ éĴ±", + "è§ģ æķĪ", + "èĬ± èįī", + "åIJĮ ä¸ļ", + "æŁ¥ è©¢", + "åĽ½éĻħ åIJĪä½ľ", + "ä¾Ľ åĽ¾", + "åģ ´", + "æł ĵ", + "缸 éĢļ", + "è°Ī åıĬ", + "è¿ĩç¨ĭ å½ĵä¸Ń", + "é¦Ļ èıĩ", + "åįģåĽĽ æĿ¡", + "ä¸Ģå¼Ģå§ĭ å°±", + "ä¸ĵ åijĺ", + "æĺİ é¡¯", + "æīĵéĢł åĩº", + "ä¸ĭéĿ¢ æĪij们", + "æľº æ²¹", + "åı° è¯į", + "åŃIJ å¼Ł", + "æľĢ 常è§ģçļĦ", + "æĪij è®°å¾Ĺ", + "ç» °", + "æĤ¬ æµ®", + "è¿ĺ 羣æĺ¯", + "æĮĤ åı·", + "åıĭ åĸĦ", + "éĩį 伤", + "çħ§ 亮", + "æŃ¦ èѦ", + "åĩºçݰ éĹ®é¢ĺ", + "è¸Ĭ è·ĥ", + "åľ°çIJĥ ä¸Ĭ", + "å¸Ĥ 人大", + "åıĹ害 人", + "å² IJ", + "åIJĮ åѸ", + "éĩijèŀį å¸Ĥåľº", + "æľīçļĦ çݩ家", + "å¸Ĥ æķĻèĤ²", + "å¸ĤæķĻèĤ² å±Ģ", + "åIJĦ å¼Ĥ", + "ç·ļ ä¸Ĭ", + "æģ º", + "æľī 大éĩıçļĦ", + "åķĨ æĬ¥", + "åįķ åįķ", + "åħ¨ é¢Ŀ", + "ä¾ĿæĹ§ æĺ¯", + "好 åĩłä¸ª", + "åĸ µ", + "éĩį æķ´", + "çĶŁæ´» è´¨éĩı", + "æİ¢ 访", + "åį° èĬ±", + "缼 è¡Į", + "å¾® è§Ĥ", + "èĪį å¾Ĺ", + "åºŁå¼ĥ çī©", + "积 èĵĦ", + "å®ļ å±ħ", + "æĤ ¼", + "èĮ ¸", + "çļĦ 帮åĬ©", + "çļĦ帮åĬ© ä¸ĭ", + "亿 åIJ¨", + "åŃĶ éĽĢ", + "è¿ĻæĿ¡ è·¯", + "é¥ µ", + "æĦĪ åĬł", + "éķ į", + "ä½ľ æ¡Ī", + "èįĶ æŀĿ", + "太 å°ij", + "è·» 身", + "åħ¬çĽĬ æ´»åĬ¨", + "çϽ æĸij", + "æĬĢæľ¯ æ°´å¹³", + "å¸ §", + "æĹł çŁ¥", + "åºĶ该 æĢİä¹Ī", + "éĢĢ å¸Ĥ", + "æ¸ Ń", + "åħ» çĮª", + "é© ¼", + "群 å²Ľ", + "大 åį«", + "ä¹ĺ çĶ¨è½¦", + "èı² å°Ķ", + "è´´ åIJ§", + "åģľ ä¸ĭæĿ¥", + "æľīæľº ç»ĵåIJĪ", + "åĪ» èĭ¦", + "çļĦ åľ°", + "çļĦåľ° æŃ¥", + "è¯Ĭ æīĢ", + "å¼Ģ æĪĺ", + "èĢģ çīĮ", + "çѹ çłģ", + "åħ«å¤§ 以æĿ¥", + "楼 æĪ¿", + "åŃĻ æĤŁ", + "åŃĻæĤŁ ç©º", + "åħĴ åŃIJ", + "第ä¸Ģ æĿ¡", + "社交 åªĴä½ĵ", + "æĥ³ èµ·æĿ¥", + "大 æ´ĭ", + "æĭ¼ éŁ³", + "è¿Ľ åįļä¼ļ", + "è¿ĩ åħ³", + "æ² ¼", + "ç©¿ æIJŃ", + "éĤ£ ä¸Ģ天", + "çł´ éŨ", + "æĬķæłĩ 人", + "èµ¢ å®¶", + "èĻļ å¼±", + "æ¿ ĥ", + "å®ī æ£Ģ", + "客 å®¶", + "çĭ¬ç«ĭ èij£äºĭ", + "æīĭ åĬ¿", + "åīµ éĢł", + "åľĨ满 å®ĮæĪIJ", + "为主 线", + "好å¥ĩ å¿ĥ", + "é¢Ĩ åľŁ", + "çª ĸ", + "åħ¸åŀĭ æ¡Īä¾ĭ", + "çªģåıij äºĭä»¶", + "åºķ æ°Ķ", + "头 æĻķ", + "å®Ľ å¦Ĥ", + "è§ ¸", + "æ¸ħ æ·¡", + "åļ ¼", + "åģľ ç͵", + "ç²ī å°ĺ", + "éĻįä½İ æĪIJæľ¬", + "æĶ¾ æīĭ", + "è®°èĢħ 表示", + "æĭĸ å»¶", + "éª ĩ", + "æ®ĭ å¿į", + "çľģ æķĻèĤ²", + "çľģæķĻèĤ² åİħ", + "é«ĺ é¢Ŀ", + "éĦ Ļ", + "æ¥ ŀ", + "åĨħ ç§ij", + "èIJ¥ä¸ļ é¢Ŀ", + "åŁº çŁ³", + "æµģ æ·Į", + "主 æĹ¨", + "éĺIJ éĩĬ", + "建 åįİ", + "æĥĬ åı¹", + "çī¢åĽº æłijç«ĭ", + "æĺ¯åIJ¦ åŃĺåľ¨", + "建 åĨĽ", + "éĽ¾ éľ¾", + "åħ¬ 认", + "åħ¬è®¤ çļĦ", + "æ°¨ åŁº", + "æ°¨åŁº éħ¸", + "åīį åĩłå¹´", + "åι éĤ£", + "æ±Ł 举", + "å·¥ æ¥Ń", + "ä¸ĢçĤ¹ ä¹Łä¸į", + "ä¿® 士", + "äºĨä¸Ģ éģį", + "åĪ ģ", + "æ»ļ æ»ļ", + "åĪĨ æł¡", + "羣 çα", + "è¡Ģ èĦī", + "æĢ¥ åī§", + "ä¸Ģ群 人", + "ç¾ ¯", + "æĪIJ é¾Ļ", + "ç²¾ç¥ŀ çĹħ", + "缸åħ³ 人åijĺ", + "éĿĵ 丽", + "ä¸ī åŃ£åº¦", + "åĪĴ å®ļ", + "ä¸ĸçķĮ 第ä¸Ģ", + "éĢļ ä¿Ĺ", + "åķĨä¸ļ åľ°äº§", + "åĬŁèĥ½ æĢ§", + "èµĦæľ¬ 主ä¹ī", + "详 è§ģ", + "æĬĵ æįķ", + "æĸĩ æĺĮ", + "å®Ŀ å®ī", + "è£ħéħį å¼ı", + "æºIJ æºIJ", + "æºIJæºIJ ä¸įæĸŃ", + "çĶŁ æĢķ", + "纵 åIJij", + "å£ ½", + "çľ¼ è¢ĭ", + "èĤī ä½ĵ", + "åı¤ ä»Ĭ", + "èŀį åªĴä½ĵ", + "åģ ī", + "æł¼ æľĥåĵ¡", + "çĥ ·", + "åĬŁ ç͍", + "æīŃ çŁ©", + "绿èī² éĢļéģĵ", + "åī§ ç»Ħ", + "å¼± åĬ¿", + "è´¨éĩı éĹ®é¢ĺ", + "éĻIJ é¢Ŀ", + "éª Ĩ", + "éģµ ä¹ī", + "å¯Ŀ 室", + "æĥ³ 念", + "åł± åijĬ", + "ä»ħ 次", + "ä»ħ次 äºİ", + "èŀį åĪĽ", + "æĭĽèģĺ ä¼ļ", + "åºĬ åŀ«", + "转åŀĭ åıijå±ķ", + "ä¸ŃåĽ½ çĶµä¿¡", + "åIJ¬ è¯Ŀ", + "è«ĭ æ±Ĥ", + "大éĥ¨åĪĨ 人", + "æ´» å¾Ĺ", + "åĵŃ æ³£", + "è¶ Ļ", + "åıijçĹħ çİĩ", + "ä¸į 符", + "åĨĽ å®ĺ", + "é¢Ī æ¤İ", + "æĸ°åĨł çĸ«æĥħ", + "æŁ¬ åŁĶ", + "æŁ¬åŁĶ 寨", + "ä»»ä½ķ å½¢å¼ı", + "人 éĻħ", + "人éĻħ åħ³ç³»", + "æĢ» æī¿åĮħ", + "å¹³åĿĩ æ¯ı", + "æģŃ åĸľ", + "åĦ ĺ", + "åħµ 马", + "è¿Ł åΰ", + "å·¥ 伤", + "çīĪæĿĥ å½Ĵ", + "çīĪæĿĥå½Ĵ åİŁ", + "æĭ¥ æĬ¤", + "ç³Ĭ æ¶Ĥ", + "å¹² æ¶ī", + "å°ij ä¸įäºĨ", + "æĥ³ æī¾", + "è´¹ çİĩ", + "该 éĻ¢", + "èŀį åĮĸ", + "è¿İ åIJĪ", + "è§ĨåIJ¬ èĬĤ缮", + "æł¼ ç¶²ç«Ļ", + "çľī æ¯Ľ", + "欢è¿İ 大家", + "å®¶åºŃ æķĻèĤ²", + "ä¾µ èļĢ", + "ç»Ļ ä½łä»¬", + "è¡Ģæ¶² 循çݯ", + "å¯Ħ æīĺ", + "å°ĸ åı«", + "以ä¸ĭ åĩłä¸ª", + "è¿ĺ 以为", + "åħ¶ä»ĸ çݩ家", + "ç¬ij ç¬ij", + "æīĵ åIJ¬", + "èĩªçĦ¶ ç§ijåѦ", + "åŁº ç«Ļ", + "ä¹Ŀ å·ŀ", + "ä¿Ŀ 驾", + "ä¿Ŀ驾 æĬ¤", + "ä¿Ŀ驾æĬ¤ èĪª", + "æĶ¾ çľ¼", + "çŁ¥åIJį ä¼ģä¸ļ", + "ç¸ ®", + "ç¨ ½", + "æļ ĩ", + "使ç͍ 網路", + "é¢Ħ çķĻ", + "大 象", + "åıijæĺİ ä¸ĵåĪ©", + "æĸĩ 娱", + "éĢł ç¦ı", + "湿 润", + "éĿ¢ æĿ¡", + "æ¶Īè´¹ åįĩ级", + "è®Ĭ å¾Ĺ", + "åĩł åIJį", + "ä» Ħ", + "认 æ¸ħ", + "è¿ľ æĻ¯", + "æıĴ 座", + "诸 侯", + "åıĺ æĢģ", + "ç¦ı 彩", + "è´§ æŀ¶", + "失 æİ§", + "ç§»åĬ¨ 端", + "ä¸Ĭ åı¸", + "éĢł 纸", + "å¸ĥ æľĹ", + "çĴ ĩ", + "åı° åįĹ", + "åĮĹ京 åĨ¬å¥¥", + "èĵĿ çīĻ", + "éķ¿ çŁŃ", + "æĬĺ å°Ħ", + "ç»ij æŀ¶", + "å¯Ĵ åģĩ", + "转 åŁºåĽł", + "æĢ¥ äºİ", + "æŃ£ åĵģ", + "åħħ 滿", + "大 纲", + "æĬĹ ä½ĵ", + "è¨ĵ ç·´", + "æĶ¶ ç´§", + "æ¯Ķ è³½", + "åħµ åĬĽ", + "æľ¬ æĽ¸", + "äºĮ 代", + "æĢ¥ è¯Ĭ", + "æĸĩ æ¡Ī", + "ç»ı åķĨ", + "æĻ¨ æĬ¥", + "æ£ ĺ", + "æĢ»ä¹¦è®° åľ¨", + "åıĹ éĤĢ", + "äºĶ åĽĽ", + "å²Ń åįĹ", + "çα åIJĥ", + "åŁĥ å°Ķ", + "å¿ĥ å¢ĥ", + "è¦ĨçĽĸ éĿ¢", + "å®ŀåľ¨æĺ¯ 太", + "æł¹ åºķ", + "纷纷 表示", + "åĹ ħ", + "éļıçĿĢ æĹ¶éĹ´", + "åİĨåı² æĤłä¹ħ", + "éħ ī", + "æĢ» éĺŁ", + "主é¢ĺ æ´»åĬ¨", + "éĹ® åį·", + "é©¿ ç«Ļ", + "æı¡ ä½ı", + "åı¯èĥ½ 导èĩ´", + "æ°ij éĸĵ", + "éĸĭ åķŁ", + "ä½Ĩ ä¸įéĻIJ", + "ä½Ĩä¸įéĻIJ äºİ", + "åįģ éĩĮ", + "å¨ ¥", + "æįŁ èĢĹ", + "çĸı 导", + "çݯ æ°§", + "ç¥ŀ éĢļ", + "çα å°Ķ", + "çαå°Ķ åħ°", + "æľ´ å®ŀ", + "å¿« æĬ¥", + "æĶ¶ åıĹ", + "æĪĸ 許", + "èĥĮ éĿ¢", + "æĸĩåĮĸ ä¼łåªĴ", + "ä¸ī åĢĭ", + "æĶ» åĬ¿", + "å®ī 举", + "å®ī举 å°¼", + "åĿĩ å·²", + "顾 èĻij", + "éĦ Ń", + "è¿Ļå®¶ åħ¬åı¸", + "åħ¬åijĬ ç§°", + "æıIJä¾Ľ ä¼ĺè´¨", + "稳æŃ¥ æİ¨è¿Ľ", + "å¤į è¯ķ", + "å°Ĩ é¢Ĩ", + "è°Ī èµ·", + "å¨ Ħ", + "è¿ŀ 线", + "æ©Ł éĹľ", + "åºĶç͍ åľºæĻ¯", + "çĶ» åĥı", + "è´¢ è¿IJ", + "ä¿Ŀ éļª", + "çĹħ çIJĨ", + "æ¯Ľ 主å¸Ń", + "ä¸Ŀ 毫ä¸į", + "çα å¥ĩ", + "çαå¥ĩ èīº", + "ä¸ĵå®¶ ç»Ħ", + "åij¼ åͤ", + "éĭ ¼", + "çģ ¸", + "é¢ĨåħĪ åľ°ä½į", + "æıIJ æĭĶ", + "龸 éģĵ", + "å±± åĿ¡", + "èĿ İ", + "沸 èħ¾", + "该 项", + "ä»Ĭ çĶŁ", + "ä¸Ģç¯ĩ æĸĩ竳", + "æĸ¹å¼ı è¿Ľè¡Į", + "é»ij 客", + "æĶ¹ åĬ¨", + "主 é¡Į", + "æķ£ å¸ĥ", + "ä»Ģä¹Ī åľ°æĸ¹", + "åĮĸ åIJĪ", + "åĮĸåIJĪ çī©", + "éĿĻ ç͵", + "æĢ» æĶ¶åħ¥", + "å§Ķ ç»Ħç»ĩ", + "å§Ķç»Ħç»ĩ éĥ¨", + "éĿĻ æĢģ", + "èĢģ åŃĹåı·", + "室 åıĭ", + "éĥ½ä¸į æķ¢", + "æŀ¶ åŃIJ", + "çģµ æķı", + "审 è§Ĩ", + "æĤ£ åĦ¿", + "å±± 寨", + "èĸª èµĦ", + "é©° æı´", + "éĥ¨åĪĨ åĨħ容", + "好 ä¼¼", + "æĪIJåijĺ åĽ½", + "åľ¨æĪij çľĭæĿ¥", + "åħ³æ³¨ 度", + "éĻĪ æŁIJ", + "è¿Ļç§į äºĭæĥħ", + "éĢī å®ļ", + "ç²¾ åŃIJ", + "å£ģ çĶ»", + "æ±Ł æ·®", + "é«ĺ æĺĤ", + "æł¼ åĬĽ", + "è¼ ©", + "åѦ åłĤ", + "æĤ¨ åIJĮæĦı", + "ä¸ĢåĪĩ éĥ½æĺ¯", + "æ½ ¤", + "éĸ ĥ", + "å¸ĮæľĽ èĩªå·±", + "ä¿ ĺ", + "æ±Ł åİ¿", + "æ³ ¾", + "ç§ij æķĻ", + "æīĵ è¿Ľ", + "ä¸į æħİ", + "å¯Ĵ åĨ¬", + "æ¸Ķ æ°ij", + "鼷 æĸ¯", + "主 å®°", + "æĹħ游 度åģĩ", + "ç͵åŃIJ éĤ®ä»¶", + "æ±Ĥ å©ļ", + "éļİ æ®µ", + "åģ¥èº« æĪ¿", + "注æĺİ åĩºå¤Ħ", + "äºĭæķħ åıijçĶŁ", + "级 以ä¸Ĭ", + "åŃĺ æ´»", + "æĸ½ èĤ¥", + "èľľ èľĤ", + "åµ ©", + "æĮĸæİĺ æľº", + "æĬĹ æĭĴ", + "ä¼ł 导", + "æĺ¯ä»Ģä¹Ī åij¢", + "ä¸Ĭå¹´ åIJĮæľŁ", + "建 åħļ", + "çĶŁ æħĭ", + "ä¿Ŀ ä½ı", + "款 车åŀĭ", + "人 èĦī", + "éļIJ èͽ", + "失 æķĪ", + "éģ¿ åŃķ", + "ç®Ģ 便", + "谢谢 ä½ł", + "å®Ī ä½ı", + "æĶ¾ æĺł", + "è¨Ī çķ«", + "çݰ代 çµģ", + "é¤IJ 廳", + "æķħ å±ħ", + "大 大å°ı", + "大大å°ı å°ı", + "çī¹åĪ« 声æĺİ", + "éģį åıĬ", + "å¿ĥçIJĨ åĴ¨è¯¢", + "è³ ´", + "çĮ® è¡Ģ", + "å·²ç»ı è¾¾åΰ", + "æīĵ æĭĽåij¼", + "åıĮ è¾¹", + "ä¸Ģæĸ¹éĿ¢ æĺ¯", + "å´ĩ å°ļ", + "éĺ¿ å¯Į", + "éĺ¿å¯Į æ±Ĺ", + "æĮģ æľī人", + "è± ģ", + "é£İ çŃĿ", + "åĬ¨ èį¡", + "äºĨä¸Ģ ä¼ļ", + "äºĨä¸Ģä¼ļ åĦ¿", + "ä¸ĩ 象", + "çľĭ ç͵è§Ĩ", + "åįģä¸ī æĿ¡", + "çĮĽ çĥĪ", + "è¦ģ ä¸įçĦ¶", + "太æŀģ æĭ³", + "å¼ķ çĪĨ", + "ç»ıè¿ĩ å¤ļå¹´", + "游æĪı éĩĮçļĦ", + "é¾Ļ æ³ī", + "æłĩ éħį", + "è®ĵ ä»ĸåĢij", + "éĢł æŀĹ", + "åĮºåŁŁ æĢ§", + "亿 ä¸ĩ", + "æĪĺçķ¥ å¸ĥå±Ģ", + "éķĩ æĶ¿åºľ", + "åĶ® 票", + "çĶŁäº§ å·¥èīº", + "éķĩ åħļå§Ķ", + "ä¸Ńå°ı åŀĭ", + "æľ¨ è̳", + "æ²³ è¾¹", + "èĦ¾ èĥĥ", + "欢è¿İ æĤ¨", + "åıĺ å¼Ĥ", + "缤 纷", + "åŀĥåľ¾ æ¡¶", + "辩 è¯ģ", + "车 åºĵ", + "æ¯Ķ çİĩ", + "åħ´ æĹº", + "详ç»Ĩ äºĨè§£", + "å®ī å±ħ", + "çħ§ æĸĻ", + "æĸ¹ æīį", + "èµ ¦", + "åĨ ķ", + "å¥Ķ èµ´", + "å®Ŀ 鸡", + "åľº åĿĩ", + "缮åīį æŃ£åľ¨", + "åIJŀ åϬ", + "è¿° èģĮ", + "æĩ µ", + "å¥ĩ çijŀ", + "ä»į å°Ĩ", + "èĪī 辦", + "å·¥åķĨ å±Ģ", + "å¡ij èĥ¶", + "åĬŀ å®ŀäºĭ", + "æĸ¹ æĸ¹éĿ¢", + "æĸ¹æĸ¹éĿ¢ éĿ¢", + "æĸĩåĮĸ èĬĤ", + "åħ¥ èģĮ", + "é¸ ¥", + "ç©¿ éĢı", + "以 ä¹łè¿ijå¹³", + "åį± éļª", + "æľ¦ èĥ§", + "åİĨåı² æĢ§", + "æķŀ å¼Ģ", + "ä¼Ļä¼´ åħ³ç³»", + "çŁ¿ åĮº", + "åĽ½éĻħ åľ¨çº¿", + "ä¼łå¥ĩ éĩĮéĿ¢", + "è¿ij äºĽ", + "è¿ijäºĽ å¹´", + "åĬ£ åĬ¿", + "æĶ»åĩ» åĬĽ", + "æĻº éĢł", + "ç¦ §", + "çİĭ åħĪçĶŁ", + "éĨ« çĶŁ", + "åĽĽ 项", + "å®ŀ æĻ¯", + "åĪĿ åĪĽ", + "å¿ĥ 裡", + "æĻ¶ ä½ĵ", + "交 éĻħ", + "让 æ¶Īè´¹èĢħ", + "课 æĸĩ", + "æİĴ æ°Ķ", + "å¹¶ä¸į æĦıåij³", + "缸 声", + "第ä¸Ģ å±Ĭ", + "åİŁ èijĹ", + "éĽ ľ", + "没æľī 太大", + "è¡¥ æ°´", + "çµģ ä¼ģä¸ļ", + "第äºĮ æī¹", + "åħ¶å®ĥ éĹ®é¢ĺ", + "æİĮ éŨ", + "责任 å¿ĥ", + "é¤IJ åħ·", + "ç¾Ĭ æ¯Ľ", + "没æľī å¿ħè¦ģ", + "ä¹IJ åĽ¢", + "è¿Ľ åŁİ", + "ä¸ĢçĤ¹ åĦ¿", + "身 å½¢", + "çļ®èĤ¤ çĹħ", + "æĺ ±", + "å¢ŀ èĩ³", + "èģ² æĺİ", + "æıIJ è´¨", + "ä½ĵèĤ² åľº", + "çѹ 建", + "é¬ Ĩ", + "车 çīĮ", + "éļĶ éŁ³", + "è´Łè´£ åIJĮå¿Ĺ", + "丰 ç¡ķ", + "ä½Ľ éĻĢ", + "äºī åIJµ", + "åº ¶", + "æ·¡ æ°´", + "å°ı çĶ·åŃ©", + "ç§ģ èĩª", + "åĮĸ è¿Ľç¨ĭ", + "æĪĺ士 æĿ¥è¯´", + "æ²¹ èħ»", + "èĦ±è´« èĩ´å¯Į", + "æĹ¥å¸¸ å·¥ä½ľ", + "交 èŀį", + "åĨľ è´¸", + "åĨľè´¸ å¸Ĥåľº", + "åĵĪ çĻ»", + "ç͵ è´¹", + "èµ ĺ", + "åıĮ èħ¿", + "æĵĶ å¿ĥ", + "æĿ¥ 形容", + "使åij½ æĦŁ", + "éĤ£ä¹Ī ç®Ģåįķ", + "èĬĻ èĵī", + "åĢŁæ¬¾ 人", + "ç§Ģ 丽", + "è®ĵ ä»ĸ", + "严åİī æīĵåĩ»", + "è³ ŀ", + "æļ «", + "çħ¤ æ°Ķ", + "çά ä¸Ĭ", + "æ½ĩ æ´Ĵ", + "太 ä¹ħ", + "åij½ åIJį为", + "è·¯ çͱ", + "è·¯çͱ åύ", + "é© ¯", + "æıIJ æĹ©", + "æĬĹåĩ» çĸ«æĥħ", + "åĩ Ľ", + "交 åıĭ", + "éĶĢåĶ® æ¸łéģĵ", + "毫ä¸į çĬ¹è±«", + "èIJ¥ åľ°", + "çłĶç©¶ 表æĺİ", + "é±¼ ç±»", + "æį¢ å±Ĭ", + "æİ¡ åıĸ", + "çī Ĩ", + "缼 å¼Ģ", + "æ²§ æ¡ij", + "åºŃ 审", + "ç»ı æŁ¥", + "åĬł å¼·", + "缸æ¯Ķ äºİ", + "ä¸ĵ çıŃ", + "ä½ĵ åŀĭ", + "被 害", + "被害 人", + "æĶ¶ 款", + "åħ·æľī èī¯å¥½", + "é«ĺå³° æľŁ", + "åģı ä½İ", + "åĦ Ł", + "åĨľä¸ļ ç§ijæĬĢ", + "ç®Ĭ æĥħåĨµ", + "å¦Ĥæŀľ çݩ家", + "éķ¿ çº¦", + "第åħŃ å±Ĭ", + "åħ¬å¼Ģ æĭĽèģĺ", + "åĪĩ æĸŃ", + "è¿« 使", + "çĸĹ ç¨ĭ", + "第äºĮ ç§į", + "ä¸į åħį", + "å¹² èѦ", + "çŁ³ 榴", + "åĹ £", + "两 ç±»", + "çε 士", + "åŁİ乡 å±ħæ°ij", + "æŃ¤ 项", + "缴 è¾ĸ", + "缴è¾ĸ å¸Ĥ", + "åij¼ åºĶ", + "éĴ ¯", + "ç¦ı å¾·", + "æľº 身", + "æĵį åľº", + "æ¿Ĵ 临", + "人群 ä¸Ń", + "èĤ¡ æ°ij", + "åŃ ½", + "æ³ķ åħ°", + "é¨ İ", + "糯 ç±³", + "æĢ» çļĦ", + "æĢ»çļĦ æĿ¥è¯´", + "åħ¸ éĽħ", + "æĸ° éĻĪ", + "æĸ°éĻĪ ä»£è°¢", + "缮 çĿ¹", + "é¢Ħ è¨Ģ", + "è·Į çł´", + "æĸ° ç¯ĩ竳", + "æ¯Ĵ æĢ§", + "åĸĿ èĮ¶", + "æŁ¥ èİ·", + "亮 丽", + "çĶŁäº§ åķĨ", + "æĶ¹ æĪIJ", + "为äºĨ æĽ´å¥½", + "æ·± 交", + "深交 æīĢ", + "æİ ĥ", + "ä¹Ļ èĤĿ", + "泸 å·ŀ", + "åħĪè¿Ľ æĬĢæľ¯", + "è¾ĵ ç»Ļ", + "æķ£ æĪ·", + "æĢĿç»´ æĸ¹å¼ı", + "åºĹ 主", + "è°ĭ æ±Ĥ", + "游æĪı æĬĢå·§", + "ä¸Ģå¹´ 级", + "çľ¼ è§Ĵ", + "ä¸Ńä»ĭ æľºæŀĦ", + "å·§ åIJĪ", + "éĺ² çĽĹ", + "导 è´Ń", + "æĪ Ĭ", + "æĽ´ éĢĤåIJĪ", + "åŁºæľ¬ ä¿¡æģ¯", + "马 ä¸ģ", + "åħ»æ®ĸ åľº", + "åıį è¿ĩæĿ¥", + "æİ¨ å´ĩ", + "å¯ĨåĪĩ åħ³æ³¨", + "åŁºéĩij ç»ıçIJĨ", + "æĮī éĶ®", + "åĨħéĥ¨ æİ§åζ", + "æĪIJåijĺ åįķä½į", + "æľ¯ è¯Ń", + "åζ æľį", + "åĪļ éľĢ", + "æ£Ģ ç´¢", + "大大 æıIJé«ĺ", + "åģ¥åº· 管çIJĨ", + "èĩª æŃ¤", + "客æĪ· éľĢæ±Ĥ", + "丰 èĥ¸", + "èµ· éĩį", + "èµ·éĩį æľº", + "æ¬ł 缺", + "æ¡Ī åŃIJ", + "æĥħ人 èĬĤ", + "åħļ æł¡", + "è¢ ľ", + "该 åī§", + "迷失 ä¼łå¥ĩ", + "ç»ļ 丽", + "åķ ª", + "æĹł ç§ģ", + "é̲ ä¸ĢæŃ¥", + "第ä¸Ģ 竳", + "åύ åħ·", + "åĨľ èµĦ", + "確 實", + "åºı åĪĹ", + "娱ä¹IJ å¹³åı°", + "èŀįèµĦ ç§Łèµģ", + "èµĦæºIJ åħ±äº«", + "èģ½ åΰ", + "æIJŀ å¾Ĺ", + "ç»§ç»Ń ä¿ĿæĮģ", + "åIJ¯ èĴĻ", + "çľ º", + "ä¸Ŀ è·¯", + "设æĸ½ 建设", + "æİ¥ åľ°", + "æİ¥åľ° æ°Ķ", + "第ä¸ī åŃ£åº¦", + "åŁº è°ĥ", + "åıij éŁ³", + "社ä¼ļ èµĦæľ¬", + "éĽĩ 主", + "è¿ŀ èĥľ", + "没 åķ¥", + "å» ¢", + "èµ¶ èµ´", + "æ¼Ķ åĮĸ", + "åı¤ æĢª", + "çİĭ çĪ·", + "é¢Ħ åħĪ", + "å¼Ģ åħ·", + "åĽŀ é¦ĸ", + "åľ°ä¸ĭ æ°´", + "å°ıç¼ĸ ä¸Ģèµ·", + "èµİ åĽŀ", + "åľ° è²Į", + "åĪĿ ä¸ī", + "åı¯ ç͍äºİ", + "éģĹ è¿¹", + "è¿Ļ æī¹", + "èĸª æ°´", + "å¿ħçĦ¶ ä¼ļ", + "æ² ½", + "éį ĭ", + "第ä¸Ģ éĥ¨", + "åĪĬ çī©", + "å®ŀ ä¾ĭ", + "æ¸ħ åĩĢ", + "ä¸Ĭ èµĽåŃ£", + "åĽ¾ 表", + "éĤ® è½®", + "åĵª 裡", + "缸 è§ģ", + "æī° ä¹±", + "æ¯ı æ¯ı", + "è¿Ļ è¾ĪåŃIJ", + "ç¡« éħ¸", + "äºī 缸", + "溯 æºIJ", + "åĩº ä¼Ĺ", + "çİī çŁ³", + "åħ± çĶŁ", + "æĹ¶éĹ´ 段", + "éĩįè¦ģ æĮĩ示", + "æ¶Īè´¹ éľĢæ±Ĥ", + "éķ¿ éķ¿", + "éķ¿éķ¿ çļĦ", + "å®ī æĬļ", + "å¢ŀ é«ĺ", + "æľ¬ è½®", + "亲 çľ¼", + "é£İ æ³¢", + "èĢģ å¦Ī", + "æĶ¶è´¹ æłĩåĩĨ", + "åĨħ éĻĨ", + "æĮ¥ åıij", + "åįĩ åѦ", + "èĥ¸ åīį", + "åģı è¿ľ", + "纯 æ´ģ", + "æĸ½å·¥ åįķä½į", + "身 ä»·", + "è´¢ åĬĽ", + "çº ¶", + "è£ħ çͲ", + "æĺ¾ç¤º åύ", + "毫 åįĩ", + "æ·± çŁ¥", + "è̶ ç©", + "èĢ¶ç© Į", + "è¾ĥ éĩı", + "åľ¨ è¿ĩ渡", + "åľ¨è¿ĩ渡 æľŁ", + "èĮ Ĺ", + "ä¸Ģ个 æĺŁæľŁ", + "èĬ ·", + "è´¿ èµĤ", + "æ¿ ķ", + "æĩĤ äºĭ", + "ç§ §", + "åħħ å½ĵ", + "åĽ½ ç«ĭ", + "èĬ± çĵ£", + "éĤĦ è¦ģ", + "åħ¬ åľĴ", + "触 åĬ¨", + "æ³° å·ŀ", + "ä»Ģä¹Ī æł·", + "æ»ĭ åħ»", + "è¯Ħ åΤ", + "æĮ¥ æīĭ", + "èĦ Ī", + "å§¥ å§¥", + "è¿IJ è´¹", + "æ¯ħ åĬĽ", + "å¿ĥ æĻº", + "ä¸į æİĴéϤ", + "第ä¸ī 代", + "éĢĢ è´§", + "æĺŁ éĻħ", + "æ°¸ åĪ©", + "æĬ¤ åį«", + "çıŃ è½¦", + "è¨Ģ è¡Į", + "ç¹ ª", + "主åĬ¨ æĢ§", + "å·¥ç¨ĭ è´¨éĩı", + "éĥĬ åĮº", + "ä¸Ģ æłĭ", + "ä½Ĩ å®ŀéĻħä¸Ĭ", + "ä¸ī大 èģĮä¸ļ", + "åij¼ åı«", + "女 åħĴ", + "è¯ģåΏ æĬķèµĦ", + "èĢĥ æħ®", + "çĤ« èĢĢ", + "æ²» 好", + "åĺ ¶", + "èĥ ¤", + "åħīä¼ı åıijç͵", + "åĩł æŃ¥", + "æīĢ æīĢ", + "æīĢæīĢ éķ¿", + "çħ§ æł·", + "åĵ¥ 们", + "è¯ Ľ", + "è¿Ļä¸Ģ åĪ»", + "çŁ¿ çī©è´¨", + "ä¸įå¾Ĺ å·²", + "åIJĮ 缣", + "ç»Ĩ å¾®", + "è·¯ èĻİ", + "çϾ èĬ±", + "æ·· æ²Į", + "ä¸Ĭæµ· è¯ģåΏ", + "éĢĢ ç¨İ", + "èµŀ åı¹", + "æī®æ¼Ķ 游æĪı", + "åIJį åĪĹ", + "åIJįåĪĹ åīį", + "åIJįåĪĹåīį èĮħ", + "ç±³ å°Ķ", + "ä»Ģä¹Ī åİŁåĽł", + "å®īåħ¨ ä¿Ŀéļľ", + "ä¸Ģåıª æīĭ", + "ä¹³ ä¸ļ", + "ä¸į çĶĺ", + "æĥħ åķĨ", + "æĮ¡ ä½ı", + "åİŁåĽł ä¹ĭä¸Ģ", + "è¿Ļ 两天", + "çĥĺ çĦĻ", + "è± ¬", + "ä½ł 以为", + "没 è§ģè¿ĩ", + "åĵªå®¶ 好", + "åīį ä»»", + "è¿Ľ è´§", + "éĢĢ åĽŀ", + "串 èģĶ", + "èĩ³ æĸ¼", + "åĨ° æ·ĩ", + "åĨ°æ·ĩ æ·ĭ", + "æŁ¥çľĭ 详æĥħ", + "çı¾ 實", + "æİ¨ æµĭ", + "æİ¥ æīĭ", + "éļ¶ å±ŀäºİ", + "åŁİå¸Ĥ 群", + "æĿİ åħĪçĶŁ", + "çŁ¿ æ³īæ°´", + "çī¹ ä»·", + "æĽ´å¤ļ 精彩", + "ç¨ĭ å¼ı", + "读 æĩĤ", + "å±ı èͽ", + "奥 æŀĹ", + "奥æŀĹ åĮ¹", + "奥æŀĹåĮ¹ åħĭ", + "红 èĸ¯", + "å¥ ®", + "å®Ŀ çİī", + "ç¶² 絡", + "è² §", + "欧 å¼ı", + "çϽ ç³ĸ", + "èĩªçĦ¶ çģ¾å®³", + "åijĬè¯ī 她", + "å» ļ", + "çĤ¹åĩ» æŁ¥çľĭ", + "é£İ 湿", + "èµĦ产 éĩįç»Ħ", + "ä¹Łä¸į ä¾ĭå¤ĸ", + "åįĬ 个å°ıæĹ¶", + "åIJ¸å¼ķ æĽ´å¤ļ", + "æĹ¶éĹ´ èĬĤçĤ¹", + "æĶ¶ 纳", + "åIJ¸ æ¯Ĵ", + "èĢģ 乡", + "çIJ ħ", + "æľĢ çµĤ", + "åıį æĦŁ", + "ç͍ 微信", + "çĶ¨å¾®ä¿¡ æī«", + "éĢŁ çİĩ", + "大 çĨĬçĮ«", + "åı¯ æĥ³", + "åı¯æĥ³ èĢĮ", + "åı¯æĥ³èĢĮ çŁ¥", + "åĴ §", + "èµ° åħ¥", + "碳 éħ¸", + "èĮĥ åĨ°", + "èĮĥåĨ° åĨ°", + "被 åΤ", + "积æŀģ æİ¨åĬ¨", + "è¶³ è¶³", + "ç²Ĵ åŃIJ", + "大 å®Ĺ", + "大å®Ĺ åķĨåĵģ", + "ç½ij绾 ç§ijæĬĢ", + "æĽ¼ åŁİ", + "å·² ä¹ħ", + "å·²ä¹ħ çļĦ", + "秦 çļĩ", + "秦çļĩ å²Ľ", + "ä»» æķĻ", + "å͝ ç¾İ", + "æ·¡ åĮĸ", + "æ¡Ĥ èĬ±", + "çŁ¥è¯Ĩ åĪĨåŃIJ", + "æĩĴ å¾Ĺ", + "主 åħ¬", + "设计 çIJĨ念", + "è³ º", + "æīĢ æıIJä¾Ľ", + "æīĢæıIJä¾Ľ ä¹ĭ", + "æĶ» åħĭ", + "åĤ ¾", + "è¯Ń æ³ķ", + "åįĥ åı¤", + "éĸĭ æĶ¾", + "第ä¸Ģ èĬĤ", + "éĤĦ æ²Ĵ", + "éĢĥ çĶŁ", + "æ³ Ĺ", + "åİ¿ å§Ķ书记", + "ä½ľèĢħ æīĢæľī", + "çħ ½", + "ç» ħ", + "æł ħ", + "æľ´ ç´ł", + "çijķ çĸµ", + "åĮħ åĮħ", + "æ°ij主 åħļ", + "ä¸į è¿ľå¤Ħ", + "å¥ĩ å¼Ĥ", + "åĺ» åĺ»", + "æī ¼", + "ç¿» å¼Ģ", + "æĢİ èĥ½", + "éģ´ éĢī", + "è§£ éĩĭ", + "å¹¼ ç¨ļ", + "è¦ģ 好好", + "è¶´ åľ¨", + "ç´¢ åıĸ", + "ç»Ī çĶŁ", + "åħ¨ æµģç¨ĭ", + "éģ© çķ¶", + "åįıè°ĥ åıijå±ķ", + "æĬ¥ ä»ĩ", + "ç§ijæĬĢ åĽŃ", + "ä»Ģä¹Ī éĥ½ä¸į", + "æľĢåIJİ ä¸Ģ次", + "ç»Ļ人 ä¸Ģç§į", + "æł¸ å®ļ", + "被 åĪĹåħ¥", + "æĦı æĥ³ä¸įåΰ", + "èĢĥ æŁ¥", + "åľ¨æŃ¤ ä¹ĭåīį", + "æīĵ çIJĥ", + "è¶ĬæĿ¥è¶Ĭ å°ij", + "å®ļ å¾ĭ", + "è¡ĮæĶ¿ æľºåħ³", + "ä½ıæĪ¿ åħ¬ç§¯", + "å°ıå§IJ å§IJ", + "ä¸ī èı±", + "ä¿® è¡¥", + "èŀĥ èŁ¹", + "西 çͲ", + "æĢ ł", + "çŃī å¤ļ项", + "产ä¸ļ éĽĨèģļ", + "ä»·æł¼ ä¸Ĭ涨", + "åħ¬åħ± åľºæīĢ", + "è¢ĭ åŃIJ", + "æĨ§ æĨ¬", + "çļĦæĸ¹å¼ı æĿ¥", + "åΰ è´¦", + "çģ ½", + "å·´ èı²", + "å·´èı² çī¹", + "æ¼Ķ ä¹ł", + "èŃ¦ç¤º æķĻèĤ²", + "çķı æĥ§", + "å¼ķ æµģ", + "æĶ¶ æĶ¯", + "å±Ĥ åĩº", + "å±Ĥåĩº ä¸į", + "å±Ĥåĩºä¸į ç©·", + "æijĩ æ»ļ", + "辦 çIJĨ", + "纵 è§Ĥ", + "æķij æµİ", + "å®¶ éĥ½çŁ¥éģĵ", + "åĮ ¯", + "å°ı 鸣", + "ä»» åĭĻ", + "计 åħ¥", + "ç«ŀ éĢī", + "å¼ĢèįĴ æĹ¶æľŁ", + "åij¨ æģ©", + "åij¨æģ© æĿ¥", + "交 ç»ĩ", + "çķ¢ æ¥Ń", + "æł¹æį® èĩªå·±", + "æĸ°äºº çݩ家", + "åѵåĮĸ åύ", + "éĩĩ æļĸ", + "å¹³åĿĩ æ°´å¹³", + "åħ¬å¼Ģ 课", + "失 åĪ©", + "伺 æľį", + "çĬ ģ", + "忽 æĤł", + "主è¦ģ éĽĨä¸Ń", + "æ¤į æłij", + "æ¯Ĺ éĤ»", + "èĩº çģ£", + "åĩºåĽ½ çķĻåѦ", + "æĬĹ éľĩ", + "æĥ© æĪĴ", + "å¹´åºķ åīį", + "åĴ¸ éĺ³", + "æ°ij å±ħ", + "大çIJĨ çŁ³", + "éĿ ³", + "éķ ĸ", + "æ¸ħ è¿ľ", + "è£ħ è½½", + "èĩ Ģ", + "å½± ä¸ļ", + "å¼Ł åħĦ", + "æĤ² è§Ĥ", + "çĿĢçľ¼ äºİ", + "æįį åį«", + "åī¥ å¤º", + "ç¯ Ĩ", + "å¾Ī éķ¿æĹ¶éĹ´", + "è¥ Ł", + "第ä¸Ģ çϾ", + "ä¸ĢåĪĨ éĴ±", + "æĸ°éĹ» è®°èĢħ", + "éķ· æľŁ", + "æ³ķ æĪĺç»ĦåIJĪ", + "è°ģ çŁ¥éģĵ", + "èħ° éĥ¨", + "æ±ī åł¡", + "åħ¥ çĿ¡", + "åįĸ æİī", + "æ¶Īè²» èĢħ", + "æĥ¯ ä¾ĭ", + "æĥ³ äºĨ", + "æĥ³äºĨ æĥ³", + "èĢģæĹ§ å°ıåĮº", + "ä¼ł è¨Ģ", + "åĪĨæķ° 线", + "æµģ 泪", + "ç»Ħç»ĩ é¢Ĩ导", + "äºļ åĨĽ", + "å¢ŀå̼ æľįåĬ¡", + "å¾ ¹", + "ä¼ ¶", + "äºĽ 许", + "å¸ĥ èݱ", + "强 æĤį", + "宫 å»·", + "绿 èĮ¶", + "åĮ ¡", + "å¾Ī æŃ£å¸¸", + "æĺ¥ å¤ı", + "æ¯ Ļ", + "è¯Ħ æ¯Ķ", + "åĩ¡ äºĭ", + "æĬī æĭ©", + "åĢĴ éľī", + "éĩį 度", + "åįıä¼ļ ä¼ļéķ¿", + "å¿§ èĻij", + "ä¸ĭ ä¸Ģç¯ĩ", + "沪 æ·±", + "æĪ İ", + "æīĵ ä»Ĺ", + "åįĪ é¥Ń", + "å¹´é¾Ħ 段", + "ä¸ŃåĽ½ è¶³çIJĥ", + "设计 æĸ¹æ¡Ī", + "åºĶç͍ æŁ¥çľĭ", + "é¢Ħ æĸĻ", + "åĹ ¡", + "ç¥ĸ çζ", + "çļĦä¸Ģ åijĺ", + "æ´Ĺ å¹²åĩĢ", + "åİĨåı² æĸ°", + "åİĨåı²æĸ° é«ĺ", + "çĭ¬ åħ·", + "æħĭ 度", + "æīĵ 交", + "æīĵ交 éģĵ", + "é»Ħ çŁ³", + "çĽ¼ æľĽ", + "çī§ åľº", + "转 弯", + "åįĩ åįİ", + "åĨį ä¹Łæ²¡æľī", + "èĭ± æīį", + "æĽ´ åIJį为", + "åĢŁ ç͍", + "çºł éĶĻ", + "ç»Ŀ对 ä¸įä¼ļ", + "çİĭ çīĮ", + "çĽĨ åľ°", + "失 è°ĥ", + "好 象", + "é³ ¥", + "ä¿Ŀ ä¿®", + "åĽĽä¸ª èĩªä¿¡", + "头 çļ®", + "åİŁ åīĩ", + "æĬ¥ æ¡Ī", + "奴 éļ¶", + "å³ Ļ", + "è°ĥ æĸĻ", + "ä¹Ł 許", + "èIJ½ åΰ", + "èIJ½åΰ å®ŀ", + "èIJ½åΰå®ŀ å¤Ħ", + "çĦļ çĥ§", + "çĶŁæ´» çݯå¢ĥ", + "åºĶ åıĬæĹ¶", + "è¶Ĭ è¿ĩ", + "æĦŁ è¬Ŀ", + "æĻ¯ å¾·", + "æĻ¯å¾· éķĩ", + "çĬ Ģ", + "身 éĤĬ", + "ç¨İåĬ¡ æĢ»å±Ģ", + "åĩĢ åľŁ", + "ä¾µ åįł", + "åĬ¨ å·¥", + "å¹´ ä¹ĭ", + "å¹´ä¹ĭ ä¹ħ", + "第äºĮ èĬĤ", + "åĬ¨çī© åĽŃ", + "第ä¸Ģ 书记", + "éħ ļ", + "çĶŁäº§ 设å¤ĩ", + "æŁIJç§į ç¨ĭ度", + "åľ Ń", + "åĩŃåĢŁ çĿĢ", + "éĺħ è§Ī", + "çϽ æ²Ļ", + "æ²¹ çĥŁ", + "çªģçł´ åı£", + "åıĹ å½±åĵį", + "åı¯ä»¥ æĽ´å¥½", + "å³° å̼", + "æĿĤ è´¨", + "宿 è¿ģ", + "çĽĺ æ´»", + "æ¿Ģ èµ·", + "åĦ¿ ç§ij", + "åĿIJ èIJ½åľ¨", + "æĮª å¨ģ", + "æµ· å²Ľ", + "绣 绣", + "éĻ ¨", + "ä¼ĺ äºİ", + "å°Ī å®¶", + "ä¸Ģ éĤĬ", + "èIJ Ĭ", + "äºĨä¸Ģ åı£", + "æ²ĥå°Ķ æ²ĥ", + "æŃ£å¸¸ 使ç͍", + "æĻ®éģį åŃĺåľ¨", + "丰 满", + "çĶ» åį·", + "åºĶ æĶ¶", + "åºĶæĶ¶ è´¦", + "åºĶæĶ¶è´¦ 款", + "å®Įæķ´ çĥŃ", + "å®Įæķ´çĥŃ æ¦ľ", + "注 è§Ĩ", + "çĨ Ħ", + "èº ¬", + "éĶĢåĶ® 人åijĺ", + "è¶ĭ åIJij", + "çĦ¦ æĢ¥", + "åįģå¹´ åīį", + "ä¼łç»Ł 产ä¸ļ", + "質 éĩı", + "åĩ¤åĩ° ç½ij", + "èµĦæºIJ æķ´åIJĪ", + "æ¶Į åħ¥", + "æĸĩåĮĸ ä¼łæĴŃ", + "çķĮ 第ä¸Ģ", + "æ°´ æ³µ", + "宫 殿", + "æİ¢ 寻", + "ä¿® åīª", + "æĦı è¦ĭ", + "ç´Ĭ ä¹±", + "æĽ ī", + "çϽ è¡£", + "èĻİ åį«", + "ç´§ æī£", + "å¤Ħå¤Ħ éķ¿", + "åĪĽå»º å·¥ä½ľ", + "红 æŀ£", + "饼 å¹²", + "äºĨ åįĬ天", + "ä¼ļå½±åĵį åΰ", + "çĽ¸ä¿¡ 大家", + "èħ¾ é£ŀ", + "å°± å¦ĤåIJĮ", + "ä¸ĭéĿ¢ å°ıç¼ĸ", + "æ°ijèIJ¥ ç»ıæµİ", + "æĻ ¦", + "è£ħ æī®", + "é»ij å¤ľ", + "常 å¾·", + "å·¥ä¸ļ 大åѦ", + "æĺİ çŁ¥", + "éĺŁåijĺ 们", + "åIJ¬ 课", + "æ¯ı éļĶ", + "羣æĺ¯ 太", + "åIJĪä½ľ åħ±èµ¢", + "çIJĨ åıij", + "æīį å¹²", + "çľĭ èµ·ä¾Ĩ", + "殿 ä¸ĭ", + "å®ī éĺ³", + "æīĢ äº§çĶŁçļĦ", + "éĽĩ ä½£", + "æĬ¬èµ· 头", + "æį® æĬ¥éģĵ", + "éļĨéĩį 举è¡Į", + "交 éĶĻ", + "è¶ħ é¢Ŀ", + "åĮĸ çĸĹ", + "é¡ Ĩ", + "纵 æ·±", + "çĪ±åĽ½ 主ä¹ī", + "éĻ¢ åī¯éĻ¢éķ¿", + "è® ³", + "羣æŃ£ åģļåΰ", + "åѤ åįķ", + "èĩªçĦ¶ èĢĮ", + "èĩªçĦ¶èĢĮ çĦ¶", + "ä¿® 身", + "èĬ ¹", + "æģ¯ æģ¯", + "æģ¯æģ¯ 缸åħ³", + "驾 æł¡", + "æİ© 饰", + "æ³½ è¿ŀ", + "æ³½è¿ŀ æĸ¯åŁº", + "举 æŃ¢", + "管çIJĨ ä½ĵåζ", + "åħ¶ä¸Ń ä¹ĭä¸Ģ", + "æĿ¾ å¼Ľ", + "æĭ¦ æĪª", + "åį« åģ¥", + "åį«åģ¥ å§Ķ", + "ä»İ åݻ年", + "åĤ ¢", + "è´Ń 票", + "åĽ¾ æłĩ", + "æ²³ 西", + "æ°ijæĶ¿ å±Ģ", + "ç§ģ èIJ¥", + "å¤ĸåĽ½ è¯Ń", + "å¹² è´§", + "æĵ¦ æĭŃ", + "åľ° ä¸Ń", + "åľ°ä¸Ń æµ·", + "æµĵ æµĵ", + "æµĵæµĵ çļĦ", + "å§ĭ 建", + "å§ĭ建 äºİ", + "ç¶ĵ æŃ·", + "è·¯ æ¼Ķ", + "æļ´ é£İ", + "åŁº è¾ħ", + "æī¶è´« å·¥ä½ľ", + "ä¸Ģ缴 å¤Ħäºİ", + "æĥħ è¶£", + "äºĮ åŃ£åº¦", + "åİĮ æģ¶", + "顺åĪ© å®ĮæĪIJ", + "æŁ¥ å°ģ", + "é¡¶ 端", + "ä¸į åŃķ", + "ä¸Ģ大 åłĨ", + "被 æ·ĺæ±°", + "æĺ¯ ç͍æĿ¥", + "æľĢ åIJĪéĢĤ", + "亮 çľ¼", + "å¹¶ä¸įæĺ¯ å¾Ī", + "ç§ijçłĶ éĻ¢", + "ç§ijçłĶéĻ¢ æīĢ", + "ç² Ł", + "é¢Ī éĥ¨", + "é»ĺé»ĺ åľ°", + "é«ĺä¸Ń çĶŁ", + "æĹıèĩªæ²» åİ¿", + "æķĻåѦ è´¨éĩı", + "æĪĺ çģ«", + "åĿİ åĿ·", + "æIJŃ ä¹ĺ", + "è¯Ĺ æĦı", + "åĪij èѦ", + "åĩº æ±Ĺ", + "åįģåħŃ æĿ¡", + "请 åıĬæĹ¶", + "åĨľä¸ļ 大åѦ", + "èIJ½ åı¶", + "æĢ» èĢĮè¨Ģ", + "æĢ»èĢĮè¨Ģ ä¹ĭ", + "æĿľ åħ°", + "æĿľåħ° çī¹", + "éĻª ä½ł", + "åħ¬ æĬ¥", + "çķĻè¨Ģ æĿ¿", + "éĺħ åİĨ", + "ç«¶ çĪŃ", + "ç»Ļ åĪ«äºº", + "æĹ¥æĬ¥ 社", + "åĿIJ èIJ½", + "åĿIJèIJ½ äºİ", + "éĩij åŃĹ", + "éĩijåŃĹ å¡Ķ", + "åĽ ¤", + "è¯Ŀ åī§", + "æĮģç»Ń æİ¨è¿Ľ", + "æ¼ı æ°´", + "詳 ç´°", + "æĢĢ æĬ±", + "åıĺ å¹»", + "饥 饿", + "éļIJ 身", + "个 èµĽåŃ£", + "åĵ¡ å·¥", + "æģ¢å¤į æŃ£å¸¸", + "äºĨ 好å¤ļ", + "æĺŁ å·´", + "æĺŁå·´ åħĭ", + "åħī çݯ", + "å¸ħ åĵ¥", + "çϽ éĽª", + "ç¨į ç¨į", + "计 æıIJ", + "æĦĽ æĥħ", + "éİ ĸ", + "ä¿¡ éĺ³", + "è§Ģ å¯Ł", + "å¦Ĥæŀľä½ł æĥ³", + "缸æ¯Ķ ä¹ĭä¸ĭ", + "è§£ å¼Ģ", + "æīĵåį° æľº", + "身 躯", + "ç²¾ç¥ŀ æĸĩæĺİ", + "èĤ¡ æĮĩ", + "å¾® åĪĽ", + "红 èĮ¶", + "èĩ´ çĻĮ", + "æģ© æĸ½", + "èħ¿ éĥ¨", + "大åŀĭ å¤ļ人", + "å®ī åĢį", + "è¾ħ导 åijĺ", + "èĪª éģĵ", + "å¸ĥ å°Ķ", + "åįĹå®ģ å¸Ĥ", + "ä¸ĬçıŃ æĹı", + "ä¾§ ç»ĵæŀĦæĢ§", + "追 éļı", + "å½ĵåľ° æĶ¿åºľ", + "èµ° åĩºæĿ¥", + "éĩijèŀį ä¸ļ", + "丼 书", + "é¡¹çĽ® ç»ıçIJĨ", + "è¿ĩ æĪ·", + "骨 æŀ¶", + "è¡ Ļ", + "ä»Ģ 麽", + "èħ ĭ", + "è¦ģ 害", + "åľ¨ åºĬä¸Ĭ", + "代è¨Ģ 人", + "並 å°ĩ", + "åIJĦ个 æĸ¹éĿ¢", + "è°´ è´£", + "åħ± æĮ¯", + "åį³å°Ĩ åΰæĿ¥", + "èĤº çĻĮ", + "ä¾Ľ éĶĢ", + "丼 æŀĹ", + "èµ ĥ", + "åįģä½Ļ å¹´", + "åĭĺ æİ¢", + "飵 åij³", + "èĭ¦ ç¬ij", + "æľĢ大 ç¨ĭ度", + "éĩįçĤ¹ åħ³æ³¨", + "ä¹ĭ 举", + "满 æĢĢ", + "åıĹåΰ å½±åĵį", + "æĭĽ æĬķæłĩ", + "è¡¥ é½IJ", + "西 红", + "西红 æŁ¿", + "é¬ §", + "è£ħ åį¸", + "éĤ» éĩĮ", + "èĤĩ äºĭ", + "æİĴ æ¯Ĵ", + "åѤ åĦ¿", + "鼶 è·Ŀ离", + "å®ŀ å¹²", + "çľĭ æŁ¥çľĭ", + "æĶ¶è´¹ ç«Ļ", + "ç» ·", + "åħ¬çĽĬ æĢ§", + "éĢĴ ç»Ļ", + "æĶ» æīĵ", + "æĺŁçº§ éħĴåºĹ", + "æĺİ åªļ", + "ç፠ç«ĭ", + "è¯Ŀè¯Ń æĿĥ", + "ä¸ĢæŃ¥ ä¸ĢæŃ¥", + "书æ³ķ å®¶", + "æľªç»ı æİĪæĿĥ", + "çŁ³ èĨı", + "åĩŃ ä»Ģä¹Ī", + "çļĦ æĹ¥", + "çļĦæĹ¥ åŃIJéĩĮ", + "诱 人", + "çϾåĪĨ çϾ", + "èĪĪ è¶£", + "å¼ł åħĪçĶŁ", + "èĢģçĪ· åŃIJ", + "æ³¢ çī¹", + "åŁºéĩij 份é¢Ŀ", + "æ²Ļåıij ä¸Ĭ", + "å¥ĭæĸŠ缮æłĩ", + "æ°¢ èĥ½", + "æ²ĥå°Ķ çİĽ", + "義 åĭĻ", + "éŁ³ ç®±", + "æ²ī 浸", + "æ²ī浸 åľ¨", + "èĭ± åľĭ", + "çģ¯ çģ«", + "è¿Ľ 项", + "两 端", + "ä¹Ķ 丹", + "èĦ¸ é¢Ĭ", + "åıijå±ķ æ½ľåĬĽ", + "åĭķ ä½ľ", + "åĵĪ ä½Ľ", + "å®´ ä¼ļ", + "æ§ į", + "ç«ĭ å¿Ĺ", + "ç¡ķ士 åѦä½į", + "åĭĭ 竳", + "è¿Ļ åľºæ¯ĶèµĽ", + "æĮģ å¹³", + "éķĢ éĶĮ", + "èĭ± çī¹", + "èĭ±çī¹ å°Ķ", + "æķĻ èģĮå·¥", + "åĬŁ åĬĽ", + "该 æ¡Ī", + "ä¸Ģ æ¢Ŀ", + "åĺī å¹´", + "åĺīå¹´ åįİ", + "è¿« ä¸įåıĬ", + "è¿«ä¸įåıĬ å¾ħ", + "è¿Ļ个 æĹ¶ä»£", + "精彩 æĴŃæĬ¥", + "人 èĦ¸", + "人èĦ¸ è¯ĨåĪ«", + "æ£Ģå¯Ł å®ĺ", + "å°ı èħ¿", + "éĨĴ 缮", + "åħļ æĢ»", + "åħļæĢ» æĶ¯", + "æĪ Ł", + "èĮ« çĦ¶", + "è±Ĩ æµĨ", + "主 æ²»", + "éĿĴæµ· çľģ", + "åĪijäºĭ 责任", + "çł °", + "ä¹ĭ æ¬ĬåĪ©", + "äºĶ å®ĺ", + "è¿· æĥij", + "åħ¥ åºĵ", + "å®¶ 纺", + "å¼¹ ç°§", + "åįģäºĶ æĿ¡", + "ç»Ļ å®Ŀå®Ŀ", + "èĪªç©º èĪªå¤©", + "å¾Ģ å¤ĸ", + "å¼ķ åĬĽ", + "çľ¼ çļ®", + "æ¶ī è¶³", + "æĿ¥ 宾", + "åľ¨çº¿ è§Ĵèī²", + "çĥŃ éĶĢ", + "æµģ éĢĿ", + "泡 泡", + "éĻį å¹ħ", + "è´ŁéĿ¢ å½±åĵį", + "红 楼", + "红楼 梦", + "éļĶ çĿĢ", + "ä¾¥ 幸", + "许 ä¹ħ", + "åĴĮ çĿ¦", + "èŃ ½", + "使ç͍èĢħ æĪĸ", + "ä¹° åįķ", + "è¿ ´", + "é£İ æīĩ", + "æķĻ å¸«", + "æ¡ĮåŃIJ ä¸Ĭ", + "å¾Ī æ¼Ĥ亮", + "åł± å°İ", + "第ä¸Ģ åŃ£åº¦", + "ç©© å®ļ", + "æĤ² åĵĢ", + "çĿĢåĬĽ æīĵéĢł", + "æĮ Ł", + "è·¯ æ¡¥", + "åij IJ", + "åľ£è¯ŀ èĬĤ", + "çļĩ åŃIJ", + "ä»ĩ æģ¨", + "éħĿ éħ¿", + "ä¸į éĹ´", + "ä¸įéĹ´ æĸŃ", + "æĮĩ å°ĸ", + "ä¸ŃåĽ½ ç½ij游", + "åŀ £", + "æĦıè§ģ 建议", + "æ¯ħ çĦ¶", + "亮 度", + "èģĶ è°Ĭ", + "å½ķ åħ¥", + "åĦ ²", + "å¨ĺ å®¶", + "ç§ij å°Ķ", + "ä¹Łæ²¡ ä»Ģä¹Ī", + "æł¹æį® ä¸įåIJĮ", + "åı¶ ä¿®", + "å̼ å®Ī", + "æľ« 端", + "åĪ ¨", + "åĤµ åĭĻ", + "èģ¯ åIJĪ", + "å¥ĩ å¹»", + "èĻļ æŀĦ", + "é»Ħ æĺı", + "å¹³ åĿ¦", + "æµģ æ°ĵ", + "æĸ° åŁºå»º", + "æĮ½ æķij", + "åįİ å°Ķ", + "åįİå°Ķ è¡Ĺ", + "æľĢ åıĹæ¬¢è¿İ", + "ç»Ń 约", + "å¼Ĭ 端", + "éŃĶ æ³ķå¸Ī", + "éŃĶæ³ķå¸Ī åĴĮ", + "åħ·ä½ĵ åĨħ容", + "çIJī çĴĥ", + "æī© 容", + "èĮ¶ åĽŃ", + "主ä¹ī èĢħ", + "ç«ĭ éĿ¢", + "æİ¥åıĹ éĩĩ访", + "åĩº åħ¥å¢ĥ", + "ç§ij åįı", + "éĴ ³", + "çµIJ æ§ĭ", + "ç»ĵæŀľ æĺ¾ç¤º", + "åı° è´¦", + "å°± æĿ¥çľĭçľĭ", + "èĩª æķij", + "åıį æĩī", + "åİ» åĵªåĦ¿", + "è¿Ļ é¦ĸ", + "è¿Ļé¦ĸ æŃĮ", + "åIJ¬ ä¼Ĺ", + "å¤ĸ 壳", + "ä½ĵèĤ² é¦Ĩ", + "實 æĸ½", + "èŀº ä¸Ŀ", + "æĭī åįĩ", + "çĮĽ åľ°", + "åħ¨åĽ½ 人æ°ij", + "æĤī å°¼", + "æĹı 群", + "åĽ¢ åijĺ", + "两个 å°ıæĹ¶", + "åľ¨ çݩ家", + "åľ¨çݩ家 ä¸Ń", + "çĶľ çĶľ", + "æĬķ è¡Į", + "åįĶ æľĥ", + "éĻ ¡", + "åĬłå·¥ åİĤ", + "æ¦Ĩ æŀĹ", + "æŃ» è§Ĵ", + "åĨħ å¹ķ", + "æīĢæľī æĥħèĬĤ", + "åĪ· åį¡", + "æ°´ èĤ¿", + "èĥĥ åı£", + "å«Į å¼ĥ", + "æ²® 丧", + "ä¸īå¹´ 级", + "æ¶Ĥ å±Ĥ", + "å¿ĥ 仪", + "å¿ĥ仪 çļĦ", + "å¤ Ń", + "é¦ĸ è½®", + "æĹłè®ºæĺ¯ åħ¶", + "éĢı æ°Ķ", + "äºĮ åįģäºĶ", + "ç® «", + "åĬŁ åĬ³", + "çѾ ä¸ĭ", + "æ²ī è¿·", + "æķij åij½", + "éĹª éĹª", + "åIJĥ äºı", + "å±ķ åĵģ", + "åį³æĹ¶ åıijçĶŁ", + "ç¶ ľ", + "ç¶ľ åIJĪ", + "æłĩ æĺİ", + "çľĭ ç͵影", + "åħ¬ 竳", + "éĺ¿ æ£®", + "éĺ¿æ£® 纳", + "身 åĪĽéĢł", + "身åĪĽéĢł çļĦ", + "æ¸Ľ å°ij", + "å̼å¾Ĺ åħ³æ³¨", + "鼶åĶ® åķĨ", + "æįĨ ç»ij", + "è¸ı åħ¥", + "èĽ Ł", + "æŁ´ 纳", + "èĢģ åħµ", + "绿èī² çݯä¿Ŀ", + "é¹ Ń", + "麻 æľ¨", + "æıŃ çīĮ", + "è¿Ļ款 车", + "ç¾İ å¾·", + "ç¾İå¾· åħ¬åı¸", + "æ¶ §", + "è°ģ çŁ¥", + "æ´ĭ èij±", + "æ¯į æł¡", + "ä¸Ģ éĹª", + "çĶ· 主è§Ĵ", + "æĹłçº¿ ç͵", + "å±ł å®°", + "æĺ¯ éŁ©åĽ½", + "æĺ¯éŁ©åĽ½ 娱", + "容 è²Į", + "åĿĩ 使åħ¶", + "太 å¿«", + "å¹´ çͱ", + "å¹´çͱ 缼", + "èĭ¦ èĭ¦", + "åĬĽ è¿ĺæĺ¯", + "åĬĽè¿ĺæĺ¯ èĩª", + "æĨ ©", + "èģ¯ çµ¡", + "åĶ ¾", + "åħ·æľī æĪĺ士", + "追 éĹ®", + "åłĨ æĶ¾", + "åıį 驳", + "å®ŀäºĭ æ±Ĥ", + "å®ŀäºĭæ±Ĥ æĺ¯", + "åѸ éĻ¢", + "åįģ åĩłä¸ª", + "æķij æĬ¤", + "æķijæĬ¤ 车", + "ç½ij绾 ä¼łæĴŃ", + "åįģåħ« å±Ĭ", + "éĥ¨ åī¯", + "éĥ¨åī¯ éĥ¨éķ¿", + "çĹ´ è¿·", + "管çIJĨ æĿ¡ä¾ĭ", + "èŀį 为ä¸Ģä½ĵ", + "æĢ» 产å̼", + "è³ ĵ", + "ä¸ĥ æĺŁ", + "çıŃ ç»Ħ", + "绣 é¢Ĩ", + "请 大家", + "éĩij éϵ", + "èĪħ èĪħ", + "æµ· æ¹¾", + "æĸ½ çŃĸ", + "享 èªī", + "éº ¥", + "端 åįĪ", + "绿 åŁİ", + "確 ä¿Ŀ", + "å·´ æĭī", + "åĨĴ çĿĢ", + "æħ· æħ¨", + "个人 è§ĤçĤ¹", + "ä¹Ļ çĥ¯", + "ç¡ħ è°·", + "éĸĭ å±ķ", + "å°ļ 书", + "åĿļ 飧", + "åº µ", + "èĢģ é¾Ħ", + "èĢģé¾Ħ åĮĸ", + "羨 çľ¼", + "绿 æ°´", + "绿水 éĿĴå±±", + "书 é¦Ļ", + "主åĬĽ åĨĽ", + "æīįæĺ¯ 羣æŃ£", + "æĬ¢ åħĪ", + "æĪIJå°± æĦŁ", + "éĩį æŀĦ", + "éĴ¢ åİĤ", + "æĪIJ 份", + "èĬ± 纹", + "ä¹ĭ äºī", + "å¹² ç»Ĩèĥŀ", + "æĹ¢ åı¯ä»¥", + "ç¹ģ çIJIJ", + "æĦļ èł¢", + "éĿŀ常 æĺİæĺ¾", + "ä½ĵ 彩", + "æĬĢ æ³ķ", + "æĿĨ èıĮ", + "å¹¿æ³Ľ åħ³æ³¨", + "åĮĹ å®ĭ", + "å§Ĭ 妹", + "åįı åĬŀ", + "æ·® åįĹ", + "çĥ ı", + "æ´Ĺ èĦ¸", + "åıĹ è®¿", + "åıĹ访 èĢħ", + "éĩįè¦ģ åĽłç´ł", + "å½±è§Ĩ åī§", + "综èīº èĬĤ缮", + "èľķ åıĺ", + "äºĮ 线", + "äºĮ线 åŁİå¸Ĥ", + "ä¼Ĭ å§ĭ", + "çıĬ çijļ", + "èĩª æŁ¥", + "åħ¥ åĽŃ", + "åĩ¶ æīĭ", + "åħ¬ è¯ī", + "éģĩ éļ¾", + "éĩĩçŁ¿ çŃī", + "èĩª çIJĨ", + "åĸ· æ¶Ĥ", + "æī© åħħ", + "éĢı è§Ĩ", + "é«ĺéĢŁ å¢ŀéķ¿", + "åĽ¾ çĶ»", + "ç¾ ¹", + "èĤĩ åºĨ", + "è¾ľ è´Ł", + "èµĶ ä»ĺ", + "è· ¡", + "åģ¥åº· æĪIJéķ¿", + "以ä¸Ĭ åѦåİĨ", + "åıĸå¾Ĺ 以åıĬ", + "æ²ī 积", + "åįģä¹Ŀ å±Ĭ", + "缸éĹľ æľįåĭĻ", + "æī§ åĭ¤", + "åī¯ åİ¿éķ¿", + "å¯ °", + "åģľ æ»ŀ", + "æ·¹ 没", + "çŁ³ çģ°", + "çį ¸", + "åĢ ¦", + "ç¾İ åªĴ", + "æķĻ æ¡Ī", + "åĬł çĽĸ", + "åħ¬å¼Ģ èµĽ", + "å¥ł åŁº", + "æĺĨ èĻ«", + "çŀ ħ", + "磷 éħ¸", + "äºī åĪĽ", + "çİĭ æĻĵ", + "ç¼ĵ åĨ²", + "åİļ åİļ", + "åİļåİļ çļĦ", + "æŀ£ åºĦ", + "ç²¾ çĽĬ", + "ç²¾çĽĬ æ±Ĥ", + "ç²¾çĽĬæ±Ĥ ç²¾", + "åĪĨæĶ¯ æľºæŀĦ", + "å®ŀæĸ½ ç»ĨåĪĻ", + "æĸ° èµĽåŃ£", + "總 çµ±", + "éĢł è¡Ģ", + "é¢ĩ åħ·", + "é»Ħ åŁĶ", + "è¡Ģ èĦĤ", + "交éĢļ å·¥åħ·", + "å³ ¥", + "æĹıèĩªæ²» å·ŀ", + "寺 éĻ¢", + "確 å®ļ", + "æ¦Ĥ念 èĤ¡", + "æĦŁ å®ĺ", + "æŁľ åı°", + "åĶ Ķ", + "çŀŃè§£ 並", + "æĢ» ä»·", + "åIJ¸ åħ¥", + "æĢ ¼", + "æĻļ éĹ´", + "å±Ĭ æ¯ķä¸ļçĶŁ", + "çĶŁ å§ľ", + "éĺħ读 åħ¨æĸĩ", + "å¾Ĺåΰ æľīæķĪ", + "æIJľ æķij", + "åİĨ æĿ¥", + "èŃī æĺİ", + "åĥ »", + "èĨ³ é£Ł", + "åĦĦ åħĥ", + "æīĵ åİĭ", + "宾 客", + "åķ ¼", + "ä¸ĢçϾ å¤ļ", + "æ·±åħ¥ 人å¿ĥ", + "æ¢ħ å·ŀ", + "çłĶ åѦ", + "åħ³ ä¹İ", + "è¼ Ľ", + "亲 åıĭ", + "éħį æĸĻ", + "æĪij çĪ±ä½ł", + "è´¸æĺĵ æĪĺ", + "æľī èī²", + "æľīèī² éĩijå±ŀ", + "æįIJ åĬ©", + "为 é¦ĸ", + "为é¦ĸ çļĦ", + "å¯Į åĬĽ", + "çĶ· ç¥ŀ", + "é³ ³", + "æµĩ æ°´", + "åIJ ±", + "æĺİç¡® æıIJåĩº", + "åı¹ äºĨ", + "åı¹äºĨ åı£æ°Ķ", + "礼 æĭľ", + "è¿Ļ个 åIJįåŃĹ", + "ä¿¡ å¾Ĵ", + "å¿Ĺ 强", + "éĻIJ æĹ¶", + "æĶ¶ è²»", + "åĨľå®¶ ä¹IJ", + "å°ıé¾Ļ èϾ", + "èIJ½ å¹ķ", + "æ§ Ł", + "åѦ 龸", + "æĪĸ å¤ļ", + "æĪĸå¤ļ æĪĸ", + "æĪĸå¤ļæĪĸ å°ij", + "座è°Ī ä¼ļä¸Ĭ", + "æ¶ ¼", + "éŃĶ çİĭ", + "å² ±", + "é¡¶ å±Ĥ", + "é¡¶å±Ĥ 设计", + "èĦij åŃIJéĩĮ", + "éĻ¢ åŃIJéĩĮ", + "轩 è¾ķ", + "身å¿ĥ åģ¥åº·", + "èħ ij", + "éĹľ 注", + "åıĤåĬł ä¼ļè®®", + "ä¸Ńåįİ æĸĩåĮĸ", + "追 寻", + "å®ī çĦ¶", + "é£Ļ åįĩ", + "éŁŃ èıľ", + "é¸ ¦", + "åĤ¨ éĩı", + "çĶ· æĸ¹", + "å¤ĩ 份", + "æijĶ åĢĴ", + "润æ»ij æ²¹", + "é̼ è¿ij", + "çͳ è¯ī", + "鸣 ç±»", + "çŁ³æ²¹ åĮĸå·¥", + "åĿļ æŀľ", + "è¿Ļå®¶ ä¼Ļ", + "æĭĴ ä¸į", + "羣 çļ®", + "è·Ŀ éĽ¢", + "è¿ĺ æĮº", + "éĽķ åĥı", + "åĪĿ æģĭ", + "æıIJä¾Ľ æĽ´å¤ļ", + "æŁ¥çľĭ åħ¨æĸĩ", + "æķ°åŃĹ è´§å¸ģ", + "åĸī åĴĻ", + "åı¦ä¸Ģ ä½į", + "åĤ¬ åĮĸ", + "åĤ¬åĮĸ åīĤ", + "ä»İæĿ¥ 没", + "å¯ĨåĪĩ 缸åħ³", + "éĥ¨ 主任", + "产åĵģ ç»ıçIJĨ", + "並 åIJĮæĦı", + "èIJ½ åħ¥", + "å±ıå¹ķ ä¸Ĭ", + "åħ¬åı¸ 竳ç¨ĭ", + "æį¢ åı¥è¯Ŀ", + "æį¢åı¥è¯Ŀ 说", + "ä½į æĸ¼", + "ä½ Ķ", + "åĩ» æĿĢ", + "缸 è¾ĥ", + "缸è¾ĥ äºİ", + "ç²½ åŃIJ", + "åįĹ æŀģ", + "宫 é¢Ī", + "è£ģ åijĺ", + "æĺİ ç»Ĩ", + "ä»·å̼ éĵ¾", + "åĽĽä¸ª æĸ¹éĿ¢", + "æĥħåĨµ æĿ¥çľĭ", + "æĮij åīĶ", + "æ® ĺ", + "æŀģ åĬĽ", + "çĸij éļ¾", + "æĬµæĬĹ åĬĽ", + "æĢ¥ éĢŁ", + "æĪ Į", + "ä½İ ä¼°", + "éĹª è¿ĩ", + "æģ ¬", + "èµŀ æī¬", + "ä»ĸ å¦Ī", + "æĪIJ为 ä¸ĢåIJį", + "æ´Ĺ 礼", + "é¢Ħ计 å°Ĩ", + "åħĪè¿Ľ åįķä½į", + "è¼ Ķ", + "éĢĥ èĦ±", + "çݰ åŃĺ", + "èĢģèĻİ æľº", + "åįģä¸ĥ æĿ¡", + "åı¦ä¸Ģ åįĬ", + "温 æĥħ", + "åī¥ ç¦»", + "ä¸ĸ è´¸", + "å®ĺ åı¸", + "å¾Ī å·®", + "éĹ´ è·Ŀ", + "请 注æĦı", + "åı² è¯Ĺ", + "åĪ© åύ", + "è¿IJ ç®Ĺ", + "沦 为", + "該 使ç͍èĢħ", + "èĮ ¬", + "éͦ 绣", + "åı² æĸĻ", + "çģµ æ´»æĢ§", + "èģĶ ç¤¾", + "æĹł åĬ©", + "æĬĹ æ°§åĮĸ", + "èıľ èĤ´", + "éĢł èι", + "æİī èIJ½", + "å¤į æŁ¥", + "åĭĥ åĭĥ", + "åij¼ 声", + "給 äºĪ", + "åIJĮäºĭ 们", + "ç½ °", + "è¯ķ æİ¢", + "åħ³éĶ® åŃĹ", + "æįIJ çĮ®", + "ç»Łè®¡ æķ°æį®", + "åĪĽ ä½ľèĢħ", + "ä¸ĭ åįĬ", + "ä¸ĭåįĬ åľº", + "æī¿æĭħ 责任", + "端 æŃ£", + "ç©¿ è¡£", + "ä¼ł çIJĥ", + "åĬ© éķ¿", + "åĩ ±", + "éķ¶ åµĮ", + "é£ŀ ç¿Ķ", + "è¾ĵ åįµ", + "è¾ĵåįµ ç®¡", + "ä¸ĩ åħ¬éĩĮ", + "æİ¨å¹¿ åºĶç͍", + "å¿« æ¨Ĥ", + "ç§ ½", + "èī° å·¨", + "åIJ¬ å®Į", + "åĿļ 硬", + "奥 åľ°", + "å¥¥åľ° åĪ©", + "é¢ ĵ", + "èĻIJ å¾ħ", + "ä¾Ľ æ±Ĥ", + "éľī ç´ł", + "伪 è£ħ", + "乡 åľŁ", + "åĩ¡ æľ¬ç½ij", + "åĩ¡æľ¬ç½ij 注", + "ä¼Ĭ åĪ©", + "è¡¡ æ°´", + "æĽ´ åĥıæĺ¯", + "åĪĨéĴŁ å·¦åı³", + "è¦ı 模", + "äºĶ åĪĨéĴŁ", + "åºĹ åĬłçĽŁ", + "åĽ° éĽ£", + "åħ³ åģľ", + "æĢĿ 绪", + "åĴ½ åĸī", + "缸 符", + "çĥ¦ èºģ", + "æĻĤ æľŁ", + "åijĪ çı¾", + "è§£ æķ£", + "诱 导", + "éļĶ çĥŃ", + "çĮ ¶", + "åįĹ å®ĭ", + "æ·±åħ¥ äºĨè§£", + "çŃĶ çĸij", + "æĺ¼ å¤ľ", + "åįĥ ä¼ı", + "åĬ³åĬ¡ æ´¾éģ£", + "红 è±Ĩ", + "åĿı äºĭ", + "çĤ¹ æ»´", + "å°±ä¸ļ å²Ĺä½į", + "约 åIJĪ", + "åħį éϤ", + "éĢĨ åĬ¿", + "éĩį éĩijå±ŀ", + "å®ĺ 宣", + "ä½İ å»ī", + "æģ¨ ä¸įå¾Ĺ", + "å¾Ĺ 天", + "å¾Ĺ天 çĭ¬", + "å¾Ĺ天çĭ¬ åİļ", + "ä¸Ģå°ģ ä¿¡", + "æĬ½ å¥ĸ", + "è¾Ĺ 转", + "çķĻ å®Ī", + "çķĻå®Ī åĦ¿ç«¥", + "çŃĶ åį·", + "å·¨ åŀĭ", + "æľĢ好 ä¸įè¦ģ", + "æµĻæ±Ł 大åѦ", + "æĨ ¨", + "æı¡ æīĭ", + "éĴĪ ç»ĩ", + "æİĴ 骨", + "çĤ ½", + "å°ģ è£ħ", + "åįĢ åŁŁ", + "空æ°Ķ åĩĢåĮĸ", + "åħī å½±", + "åĢĴ å¡Į", + "å§ļ æĺİ", + "æ¤į 被", + "åѦ åīį", + "åѦåīį æķĻèĤ²", + "èĬĿ åĬł", + "èĬĿåĬł åĵ¥", + "缩 æ°´", + "ä½ Ł", + "åľ¨çº¿ åĴ¨è¯¢", + "èµı æŀIJ", + "éĿĴ èĽĻ", + "æĬ± ä½ı", + "èĮĤ åIJį", + "åħ¨åĬĽ æīĵéĢł", + "åįļ士 åѦä½į", + "æ²§ å·ŀ", + "åĻ ¢", + "æĿĤ çī©", + "åĪ» çĶ»", + "æį ħ", + "å¾® éĩı", + "å¾®éĩı åħĥç´ł", + "ä¸Ģ åĽŀäºĭ", + "鸡 èĤī", + "åĪ©æ¶¦ çİĩ", + "æīį ç®Ĺ", + "å¾® å¦Ļ", + "棵 æłij", + "è´ª 婪", + "åĩı å̼", + "梦 å¢ĥ", + "åı¯ è§Ĩ", + "åı¯è§Ĩ åĮĸ", + "广大 å¸Ĥæ°ij", + "ä¸ĵä¸ļ ä»İäºĭ", + "ç»ı 纬", + "ç´§ çĽ¯", + "çŁ¥ å·±", + "è¤ ļ", + "æĸĩåĮĸ åºķèķ´", + "åݦéŨ å¸Ĥ", + "临 港", + "对åħ¶ 羣å®ŀ", + "岸 è¾¹", + "è¦ĸ çĤº", + "æĬĹ çĻĮ", + "åĶIJ å®ĩ", + "ä¸įå¾Ĺ è¶ħè¿ĩ", + "å¨ģ æħij", + "æ¡Ĩæŀ¶ åįıè®®", + "èµ° ç§ģ", + "åĽ¢ å§Ķ", + "夸 大", + "æ¬ Ħ", + "ç¥ŀç»ı ç³»ç»Ł", + "æijĦå½± ä½ľåĵģ", + "èĬ ¥", + "å®ī åºĨ", + "æµ· 滨", + "æŀĦ æĢĿ", + "çīµ æĮĤ", + "åı ©", + "éĺIJ æĺİ", + "éģ ģ", + "ç²¾ æ²¹", + "ç©´ ä½į", + "æĬ¤ 身", + "æĬ¤èº« 符", + "æĮĩ å°İ", + "åŃĺåľ¨ ä¸Ģå®ļ", + "å¯Ĥ éĿĻ", + "æµ·å¤ĸ å¸Ĥåľº", + "éĿ ¡", + "综åIJĪ å¾ģ", + "ä¿ IJ", + "è¨Ī ç®Ĺ", + "æĺİ æľĹ", + "äºļ è¿IJ", + "äºļè¿IJ ä¼ļ", + "åīįçŀ» æĢ§", + "åĮ® ä¹ı", + "产ä¸ļ æī¶è´«", + "èĦij æµ·", + "èĦijæµ· ä¸Ń", + "åħļçļĦ é¢Ĩ导", + "åĪĺ éĤ¦", + "æµģ æĺŁ", + "æĵ Ĥ", + "æĶĢ çĻ»", + "åĴ Ķ", + "ä¸Ģä¸ĭåŃIJ å°±", + "è¯Ĭ æ²»", + "使 åĬ²", + "åīµ ä½ľ", + "éĵŃ è®°", + "éĴ± è´¢", + "æĹ¥æĬ¥ è®°èĢħ", + "çĥŁ çģ«", + "èĥľ è´Ł", + "åįļ 主", + "ä¸ŃåĽ½ èģĶéĢļ", + "ç½ijç«Ļ é¦ĸ页", + "å°± å¤Ł", + "å°±å¤Ł äºĨ", + "æīij åħĭ", + "å±ħ å§Ķä¼ļ", + "è° ¬", + "å®īåħ¨ äºĭæķħ", + "åķĨ çĶ¨è½¦", + "循çݯ ç»ıæµİ", + "æ· ¤", + "èĢĥ è¯ģ", + "å®Ŀ èĹı", + "å®Į ç»ĵ", + "çłĶåıij æĬķåħ¥", + "å² ij", + "æģŃ æķ¬", + "离 éĢĢä¼ij", + "æ°´ 墨", + "å© ¶", + "è¯Ĺ åı¥", + "å®ģæ³¢ å¸Ĥ", + "å¼± çĤ¹", + "åģľ çīĮ", + "奶 æ²¹", + "å¥ĩ纳 æ²³", + "æĨ Ĥ", + "社ä¼ļ å®ŀè·µ", + "è´Ŀ 壳", + "çłĤ æµĨ", + "èι åıª", + "宣 æī¬", + "综åIJĪ æķ´æ²»", + "åĤ ij", + "æ°ijæĹı æĸĩåĮĸ", + "éĩį çݰ", + "积 æ·Ģ", + "åħ¬ çĦ¶", + "çħ ī", + "缸 èģļ", + "æ± ¾", + "纹 çIJĨ", + "çĩĥ çħ¤", + "æŃ¤ ç§į", + "ç¾İ å¦Ĩ", + "åįĥ çĵ¦", + "çIJ Ľ", + "驾驶 è¯ģ", + "éĺ¶ æ¢¯", + "ä¸Ŀ ä¸Ŀ", + "å¾Īå¤ļ äºĭæĥħ", + "åħī éĺ´", + "èijĹä½ľ æ¬Ĭ", + "åħ§ éĥ¨", + "çĽ¸å¯¹ æĿ¥è¯´", + "éĸ Ĵ", + "éľĩ æħij", + "說 話", + "æĨ ij", + "ç«¥ è£ħ", + "ä½ıæĪ¿ åĴĮ", + "ä½ıæĪ¿åĴĮ åŁİ", + "å·²ç»ı è¶ħè¿ĩ", + "侦 å¯Ł", + "çŁ¿ çī©", + "ä¾Ľ 大家", + "çī¹ éĤĢ", + "ç¨ĭåºı åijĺ", + "çķľçī§ ä¸ļ", + "æ° ª", + "çij ª", + "åĢĴ åľ¨", + "åĢĴåľ¨ åľ°", + "æ¯ Ģ", + "梯 éĺŁ", + "æİ¥ èijĹ", + "æĬĹ èıĮ", + "è¤ ĩ", + "ç¬ Ļ", + "æ¯Ķ ä¸Ĭå¹´", + "鸡 汤", + "åŃ¦ä¹ł æĪIJ绩", + "æĸij æĸĵ", + "åħΠ坼", + "åĪĹ ä¸¾", + "è°ĥæŁ¥ æĺ¾ç¤º", + "æ© «", + "ä¹Ŀ åįģ", + "è°¢ 飵", + "è·¨è¶Ĭ å¼ı", + "女æĢ§ æľĭåıĭ", + "èIJ¥åħ» ä»·å̼", + "å®ŀè·µ ç»ıéªĮ", + "èĭı å·ŀå¸Ĥ", + "çĵ¶ åŃIJ", + "æĸ° çļĦä¸Ģ", + "æĸ°çļĦä¸Ģ å¹´", + "æĺİ æĻ°", + "å®ł çα", + "åŃŠ第", + "æľĹ 诵", + "纳 æĸ¯", + "éĢĨ è¡Į", + "è«ĭ æĤ¨", + "è«ĭæĤ¨ æıIJä¾Ľ", + "èĥ¸ æĢĢ", + "第ä¸ĥ å±Ĭ", + "强 壮", + "代 åŃķ", + "æ±¶ å·Ŀ", + "å®¶ åĸ»", + "å®¶åĸ» æĪ·", + "å®¶åĸ»æĪ· æĻĵ", + "èħ ®", + "åIJ¯ 迪", + "æĹł éļľç¢į", + "èĻķçIJĨ åıĬ", + "æĿ¥ åİĨ", + "å®ŀ åĬ¡", + "ä¹Ł éļıä¹ĭ", + "æĬĢèĥ½ åŁ¹è®Ń", + "åѤ ç«ĭ", + "åī ģ", + "éĥ´ å·ŀ", + "æĶ¶ æķĽ", + "éł» éģĵ", + "èᣠ幏", + "èİ« è¿ĩäºİ", + "æŃ¤ æĻĤ", + "纪å§Ķ çĽij", + "纪å§ĶçĽij å§Ķ", + "缸 éĤ»", + "åı¦ä¸Ģ è¾¹", + "çªĴ æģ¯", + "æľīå¾Īå¤ļ ç§į", + "æ¯ı éĢ¢", + "éĹ® ä¸ĸ", + "ç´¯ ç´¯", + "éĿĴæĺ¥ æľŁ", + "è·¯ åĨµ", + "åħĭ èݱ", + "è¿Ħä»Ĭ 为æŃ¢", + "æĥĬ å¥ĩ", + "è·¨ 度", + "éħ¿ éĢł", + "åĩ ĭ", + "è¿ij ä¸īå¹´", + "åĨħ 马", + "åĨħ马 å°Ķ", + "æı į", + "è¿Ľå±ķ æĥħåĨµ", + "èĮ §", + "æľīåºı æİ¨è¿Ľ", + "æĢ» åĨłåĨĽ", + "æĪIJ绩 åįķ", + "éĽ»è©± åıĬ", + "ç´§å¯Ĩ ç»ĵåIJĪ", + "åºĬ ä½į", + "é¹ Ĭ", + "æķ£åıij çĿĢ", + "åĭŁ èµĦ", + "æ°¨ éħ¸", + "彩 ç¥ŀ", + "è®Ģ åıĸ", + "éĩį æ¸©", + "ä¸Ń åŃĺåľ¨çļĦ", + "ç¾İ éºĹ", + "ä¸įæĸŃ å¢ŀåĬł", + "è½® æµģ", + "æİ¥ åIJ¬", + "å¹´ 产å̼", + "åįĥ åħĭ", + "æĪĺåľº ä¸Ĭ", + "çħ§ é¡§", + "å¹²éĥ¨ éĺŁä¼į", + "åį° ç«ł", + "ä¸Ģèĩ´ æĢ§", + "è¿ŀ å¤ľ", + "åħħ è£ķ", + "é»ij åIJįåįķ", + "åĩĢ æ°´", + "ä¸Ģ大 æĹ©", + "åĮħ 袱", + "çĬ¯ è§Ħ", + "çIJĨ è«ĸ", + "æŀģ æĺĵ", + "éª ¸", + "å¨ĺ å¨ĺ", + "åĽ¢ åľĨ", + "亿åħĥ 以ä¸Ĭ", + "åĪ©ç͍ æĤ¨çļĦ", + "带æĿ¥ æĽ´å¤ļ", + "ä¸Ń央 空è°ĥ", + "æľĪ èĸª", + "çĮľ æĥ³", + "åĪº 客", + "ä½ľ æģ¯", + "åįķ è°ĥ", + "äºĴ åĪ©", + "å¦Ĥæľī ä¾µæĿĥ", + "å°ı å·§", + "åįģ åł°", + "åĵĪåĵĪ åĵĪåĵĪ", + "è¾¹ éĻħ", + "æłĩ è¯Ń", + "åĪĩåħ¥ çĤ¹", + "éĢĨ è¢Ń", + "è¯ķ åīĤ", + "绿 è±Ĩ", + "è® ļ", + "åŁºçĿ£ å¾Ĵ", + "å£ ¬", + "åħ¨ æĺİæĺŁ", + "éĢī ç§Ģ", + "èĪĮ å°ĸ", + "ä¸įåIJĮ ç±»åŀĭ", + "çĥŁ åĽ±", + "çģµ æ°Ķ", + "åĮº 管å§Ķä¼ļ", + "åĨľ åī¯", + "åĨľåī¯ äº§åĵģ", + "èĶļ æĿ¥", + "沪 æĮĩ", + "åħ»æ®ĸ æĪ·", + "æĸĹ å¿Ĺ", + "é¦ĸ é¢Ĩ", + "è¡Ģ èħ¥", + "åĬł ç´§", + "ä¸Ģèĩ´ 好è¯Ħ", + "第ä¸ī èĬĤ", + "æī¬ å°ĺ", + "交éĢļ æŀ¢çº½", + "鼶 ç¢İ", + "é»ij æ´ŀ", + "çľĭ ä¸įæĩĤ", + "å±ŀ å®ŀ", + "主 åŁİåĮº", + "å¨ Ľ", + "å¨Ľ æ¨Ĥ", + "ç¬ij æĦı", + "èϹ æ¡¥", + "åIJĦ个 çݯèĬĤ", + "çķ¥ å¾®", + "èĢķ èĢĺ", + "æľ¬ åľºæ¯ĶèµĽ", + "æĪIJ è´¥", + "éĢī èĤ¡", + "èªŀ è¨Ģ", + "çŃĶ è¾©", + "èĩª ä¹ł", + "æ£ º", + "ä¸ĩ 欧åħĥ", + "åģľ å·¥", + "对åħ¶ è¿Ľè¡Į", + "积æŀģ éħįåIJĪ", + "ä¹¾ åĿ¤", + "å¦ĸ æĢª", + "èļĮ åŁł", + "èµĦ产 è¯Ħä¼°", + "è°ĥ çļ®", + "éϤ å¤ķ", + "åĽ´ å¢Ļ", + "æľį å½¹", + "æ·± æ¸Ĭ", + "é¢Ħ åζ", + "ç ĥ½", + "å®ī 稳", + "建 æŀĦ", + "çĭĻ åĩ»", + "主åĭķ 註åĨĬ", + "éĥ½æľī èĩªå·±", + "æİĴåIJį 第ä¸Ģ", + "麻 è¾£", + "çĢ ļ", + "çĥŁèĬ± çĪĨ", + "çĥŁèĬ±çĪĨ 竹", + "èĩªçĦ¶ ä¿ĿæĬ¤", + "ä»Ļ å¢ĥ", + "为äºĨ éģ¿åħį", + "åĨ· åºĵ", + "è§£æĶ¾ æĢĿæĥ³", + "åĪĿ äºĮ", + "ä½ĵ è´´", + "é¦ĸ å¯Į", + "迪 æĭľ", + "æļĤ ç¼ĵ", + "æĶ¯æĮģ åĬĽåº¦", + "侦 æİ¢", + "马 åĪº", + "åĮĹ æ±½", + "ç¹ ŀ", + "è°İ è¨Ģ", + "éĢ£ çºĮ", + "å· ³", + "ä»»ä½ķ æĹ¶åĢĻ", + "车 èģĶç½ij", + "åįķ 项", + "å¸Ń åį·", + "建çŃij æĿIJæĸĻ", + "ä¸Ńç§ĭ èĬĤ", + "ç¡ķ士 çłĶç©¶", + "ç§ģ ç«ĭ", + "åħļåĴĮ æĶ¿åºľ", + "æľ¬æ¬¡ 交æĺĵ", + "èººåľ¨ åºĬä¸Ĭ", + "ç½ijåıĭ è¯Ħ论", + "å¦ Ŀ", + "害 ç¾ŀ", + "åħ¬ç«ĭ åĮ»éĻ¢", + "ä¸ ŀ", + "çĶŁçī© è´¨", + "åºĶ éĤĢ", + "æĬ½ åıĸ", + "åĩł å¼ł", + "æijĺ ç¼ĸ", + "ç»ĺ æľ¬", + "详 è§£", + "强 硬", + "æľĢ åħĪè¿ĽçļĦ", + "æĭĽ èĤ¡", + "æĭĽèĤ¡ 书", + "åįĥ æĸ¹", + "åįĥæĸ¹ çϾ", + "åįĥæĸ¹çϾ 计", + "éħį éŁ³", + "驾 çħ§", + "å¾ģ æĪĺ", + "èªĵ è¨Ģ", + "æĭľ å¸Ī", + "æĭľå¸Ī åѦ", + "æĭľå¸ĪåѦ èīº", + "æĬ± åĽ¢", + "ç±³ ç²ī", + "éĿŀ常 éĢĤåIJĪ", + "èĪª æµ·", + "å±¥ 约", + "åįģåħ« æĿ¡", + "éĶ» éĢł", + "éĩįè¦ģ 举æİª", + "åıijæĮ¥ ä½ľç͍", + "æ· ļ", + "人 社", + "人社 å±Ģ", + "è¯ķçĤ¹ å·¥ä½ľ", + "éĺľ éĺ³", + "æ¡ĥ åľĴ", + "æ°ij ä¼ģ", + "æ´ģ çϽ", + "è´µ 宾", + "åħ¬ 社", + "è§ī æĤŁ", + "è®°å¿Ĩ åĬĽ", + "æľĥåĵ¡ 註åĨĬ", + "æŃ¤ æ¡Ī", + "麻 çĹ¹", + "çı Ģ", + "æĸ© èİ·", + "çĶ· åŃ©åŃIJ", + "å±ĢéĻIJ äºİ", + "åĭĺ æŁ¥", + "åIJĥ 饱", + "èĬ¬ åħ°", + "æ£ķ èī²", + "ç¦ı ç¥ī", + "çͳ èĬ±", + "æµ· çĽĹ", + "èĶ ij", + "æĸĩ åѸ", + "æ´»æĢ§ çĤŃ", + "缴 éĢļ车", + "è°¢ éĤĢ", + "躺 çĿĢ", + "åľ ĥ", + "æ¯ıæĹ¥ ç»ıæµİ", + "åħ¬åħ± æĸĩåĮĸ", + "讲 æķħäºĭ", + "å¯Ł çľĭ", + "æĤł éĹ²", + "åľ° åĿª", + "æ¶Į çݰåĩº", + "é«ĺçŃī éĻ¢æł¡", + "èĮĦ åŃIJ", + "éĺ² åį«", + "ä¾ĭ è¡Į", + "æĺ¾ éľ²", + "æĸ° 常æĢģ", + "ç»Ŀ ä½³", + "å¯Į æ°ij", + "以 人æ°ij", + "以人æ°ij 为", + "éĤ¢ åı°", + "å±ķ æ¼Ķ", + "çϼ å¸ĥ", + "è´Ł è½½", + "åģı 离", + "æ°¸ éģł", + "éĩįè¦ģ åİŁåĽł", + "åįıä¼ļ ä¼ļåijĺ", + "éļ¾ æ°ij", + "çĶŁäº§ 车éĹ´", + "çģµ åĬ¨", + "两年 åīį", + "æĸ¹ åľĨ", + "æ´» ä¸ĭåİ»", + "ä¸ĸçķĮ è§Ĥ", + "éªĹ åıĸ", + "ç¾İ è²Į", + "èĥ½ çľĭåĩº", + "çϼ æı®", + "è§Ĥ å½±", + "åī ĥ", + "åIJĪèµĦ åħ¬åı¸", + "å© §", + "å¹² æĹ±", + "åħŃ ä¸ªæľĪ", + "尤为 éĩįè¦ģ", + "èĤ ½", + "秦 åĽ½", + "æīĺ ç¦ı", + "建çŃij å¸Ī", + "åįĩ级 æĶ¹éĢł", + "å°ı é¢Ŀ", + "å°ıé¢Ŀ 贷款", + "两个 ç»´æĬ¤", + "æĭį æĭį", + "åı¯ çĸij", + "æį¢ åıĸ", + "æŃ¦ 士", + "èµĸ 以", + "èµĸ以 çĶŁåŃĺ", + "æĮ ļ", + "殿 åłĤ", + "èĩªçĦ¶ çķĮ", + "ç£ģ åľº", + "å¦Ĥä½ķ çľĭå¾ħ", + "ä»ĬæĹ¥ 头æĿ¡", + "西 åŁŁ", + "èİ· è¯Ħ", + "風 æł¼", + "ä¿Ħ åĽ½", + "æīĵ æĭ¼", + "å®£ä¼ł çīĩ", + "å¾Ī æĸ¹ä¾¿", + "ä¾Ľç»Ļ ä¾§", + "纪念 ç¢ij", + "毫 åħĭ", + "èĬ³ é¦Ļ", + "å·¥åķĨ éĵ¶è¡Į", + "请 çĤ¹åĩ»", + "ç¼ ª", + "æĹłæķ° 次", + "èᝠå¸Ī", + "èħ ¸", + "游 èīĩ", + "åĮ ¾", + "å·¡ èĪª", + "æ²»çIJĨ ä½ĵç³»", + "èIJ¥éĢł èī¯å¥½", + "æ·· æ·Ĩ", + "éĢļ çķħ", + "åĬ³ ç´¯", + "ä»ĵ ä½į", + "å¢ŀ éķ·", + "éļIJ 约", + "æĿĤå¿Ĺ 社", + "åħ» èĤ²", + "åı¯èĥ½ åıijçĶŁ", + "èĢĥ 試", + "西 ä¾§", + "åĬł åĢį", + "主æĮģ åı¬å¼Ģ", + "çķ¢ ç«Ł", + "éĹ® 询", + "æµ· æ£ł", + "èĹ ©", + "注æĺİ æĿ¥æºIJ", + "æ£Ģ çĸ«", + "请 åģĩ", + "æĬļ æij¸", + "èĵĦ çĶµæ±ł", + "è·Ł ä¸įä¸Ĭ", + "çݰ代 社ä¼ļ", + "çѹ èµĦ", + "ä½ĵèĤ² 彩票", + "å»¶ 误", + "è¾Ľ è¾£", + "éĿ¢ 容", + "åį° è®°", + "çģŃ äº¡", + "ç´ł é£Ł", + "åħ´ èĩ´", + "éľĢè¦ģ ç͍", + "éľĢè¦ģç͍ åΰ", + "å®Ŀ å¦Ī", + "ç£ĭ åķĨ", + "éļ¶ å±ŀ", + "è´¡çĮ® åĬĽéĩı", + "åħ¬åħ± èµĦæºIJ", + "大 éĺª", + "åĨĽ è®Ń", + "æĤ¬ 念", + "社ä¼ļ 稳å®ļ", + "å¹²äºĭ åĪĽä¸ļ", + "æľī æĿ¡ä»¶", + "æľīæĿ¡ä»¶ çļĦ", + "ä¸Ģå¹´ ä¸Ģ度", + "åİ ¥", + "强 奸", + "豪 车", + "æİĮ æŁľ", + "æ°´åĪ© å·¥ç¨ĭ", + "å³ ª", + "积æŀģ ä½ľç͍", + "æµ· æ·Ģ", + "æµ·æ·Ģ åĮº", + "çĥŃ æĴŃ", + "åĿļæĮģ ä¸įæĩĪ", + "åıĮ èĦļ", + "绣 æĪĺ", + "ä»»ä½ķ 人éĥ½", + "åľ°ä¸ĭ 室", + "åĨ¶ çĤ¼", + "è°ħ è§£", + "æ¸Ķ èι", + "太éĺ³ åŁİ", + "被 æįķ", + "计ç®Ĺ åύ", + "西 åĮ»", + "èĪĴ å¿ĥ", + "æ¡ ¦", + "éģ ²", + "åĬ ij", + "è¨ Ĺ", + "èİ º", + "åĸ ¬", + "çĵ ¯", + "åĺ ĺ", + "åł ķ", + "æķ Ŀ", + "åij ¦", + "èĭ ŀ", + "æŃ ¹", + "æĵ ¬", + "æ£ Ħ", + "èĪ µ", + "å¥ ª", + "çļ ĭ", + "æĶ ¸", + "åľ ©", + "ç¤ Ļ", + "ç¢ ĺ", + "éı Ī", + "æĦ ķ", + "ç¹ ³", + "èĺ ¸", + "è² Ĥ", + "æ¼ ²", + "æij ¹", + "æĶ Ŀ", + "åŃ ¢", + "èķ Ń", + "é¨ °", + "æ½ ¼", + "éħ °", + "æĴ ¥", + "è¹ ¬", + "é¨ Ļ", + "è¸ ¹", + "éģ IJ", + "çĺ Ģ", + "èĽ ¤", + "æĤ ĸ", + "çĴ ŀ", + "ç£ IJ", + "æİ °", + "è¾ Ĭ", + "å¾ ij", + "æİ ĸ", + "éģ ŀ", + "éĤ ¸", + "éĽ ı", + "æĨ İ", + "æľ ½", + "çį »", + "ç® Ķ", + "è¤ ¶", + "æļ ¢", + "æĺ µ", + "çı Ĥ", + "æĤ ¸", + "åģ µ", + "åĻ ľ", + "å£ ¯", + "æĴ ®", + "æģ į", + "å© ķ", + "ç¯ ±", + "éĺ Ļ", + "çī ł", + "è£ ĺ", + "è³ ¢", + "éĩ ľ", + "éĵ ł", + "èİ ĺ", + "æ® Ĩ", + "çĻ ¸", + "è´ ı", + "ç² ±", + "å« ¡", + "åĨ ¢", + "è¤ Ĵ", + "æĩ Ĭ", + "éľ ĵ", + "å¡ µ", + "æĭ £", + "å» Ł", + "é£ ½", + "é¢ Į", + "åļ İ", + "æ· º", + "èĨ ł", + "åİ Ń", + "åļ ĩ", + "åij ĥ", + "çĴ ĭ", + "çŃ ±", + "æĭ ·", + "èį §", + "éĶ °", + "åŃ °", + "èĵ ĵ", + "èĨ ½", + "æŀ ī", + "åĸ ½", + "çĽ Ķ", + "çŃ IJ", + "ç¾ ļ", + "è ħĮ", + "è¾ «", + "æ³ ĵ", + "çĶ ¬", + "èŁ ²", + "åĸ ª", + "å¦ ĵ", + "è¬ Ģ", + "çĤ Ĭ", + "æĽ ľ", + "æ± IJ", + "è´ Ī", + "èį Ģ", + "æĬ ł", + "ç¢ ¾", + "æ« ĥ", + "éŀ ł", + "èij Ĩ", + "ç¥ ¯", + "å½ Ŀ", + "é¦ į", + "åĮ £", + "æľ Ń", + "åĿ Ĥ", + "ä¿ ij", + "èĵ ®", + "çij Ľ", + "æī ī", + "èĩ Ł", + "è² «", + "çİ ¥", + "æ· ¼", + "åİ ²", + "é³ Į", + "å³ Ń", + "åij Ľ", + "é §", + "é§ IJ", + "éģ ·", + "ä¿ ª", + "æĢ Ĥ", + "è¾ į", + "å± į", + "åĭ ģ", + "å¥ ļ", + "éļ ħ", + "éĴ ´", + "è¼ Ŀ", + "å® ¦", + "èIJ ĥ", + "çĺ ĭ", + "æĨ ¶", + "æĤ ħ", + "è¾ Ļ", + "åij ľ", + "çł º", + "éĢ ŀ", + "æµ ļ", + "éĸ £", + "èĸ ©", + "éĻ ĭ", + "çĤ Ļ", + "èª ķ", + "ä¸ Ł", + "é¹ ½", + "ç± Į", + "è´ °", + "éĭ ª", + "çľ ©", + "æĴ IJ", + "èĨ º", + "éŀ ĺ", + "ç¾ ²", + "çª ®", + "ç´ IJ", + "æ® ´", + "çº ¾", + "èº į", + "ç´ ĭ", + "çĦ ĸ", + "çĶ º", + "çī ½", + "çĤ ¯", + "ç¼ Ķ", + "æ¯ ĵ", + "å¬ °", + "æ¢ §", + "äº Ł", + "è¢ ħ", + "çį Ħ", + "è¿ ¥", + "æ¼ ¾", + "çĿ ij", + "ç¸ ¾", + "é¦ ĭ", + "é¤ ħ", + "æ ¹Ħ", + "æĺ ĩ", + "æŀ Ń", + "èĸ °", + "æŁ ij", + "æ¦ »", + "åĻ Ĺ", + "åĻ ´", + "æ£ £", + "åĶ §", + "çĨ ¹", + "è¼ ¯", + "å¢ Ł", + "é² ²", + "æĪ Ľ", + "èī ¦", + "èĬ ®", + "åĺ Ł", + "å¸ ¥", + "å¿ »", + "çĮ Ŀ", + "å¯ µ", + "è³ ¦", + "èĽ ¾", + "æ» ¾", + "çĤ ķ", + "éĵ ¬", + "èĴ ¿", + "éĴ ¨", + "çĥ Ļ", + "ç² ķ", + "æĥ ¦", + "æº §", + "é¢ į", + "éħ £", + "å³ ¦", + "ç± ģ", + "çĥ ĥ", + "åĨ Ĺ", + "åı ģ", + "çĽ §", + "ç½ µ", + "éĴ Ĺ", + "å¬ ī", + "è° ı", + "ç³ §", + "è¾ Ń", + "æ· ¬", + "èŁ Ĵ", + "è¯ ©", + "è¦ ĥ", + "çĻ ĸ", + "é½ Ĵ", + "çĪ IJ", + "ç® į", + "ç¼ İ", + "ç£ º", + "è¯ «", + "è¤ ²", + "æĵ ł", + "èIJ ¦", + "çĿ ¬", + "è° į", + "éĦ °", + "æł ¾", + "é¡ ı", + "ç¸ ±", + "æ¡ ¨", + "éĨ ¬", + "è¥ ²", + "è® ª", + "å© º", + "èį Ł", + "åĮ Ŀ", + "çĨ ł", + "èĽ Ĭ", + "æ¸ ļ", + "å´ ½", + "é² ¤", + "åķ °", + "åĮ ķ", + "ä¸ IJ", + "è® ¥", + "åı ½", + "åı ¼", + "çļ ¿", + "è¿ Ĥ", + "åIJ Ĩ", + "å± ¹", + "èĩ ¼", + "è® ¹", + "é© ®", + "çº «", + "æ± ŀ", + "æĬ ¡", + "èĭ ĩ", + "åIJ ł", + "åIJ Ń", + "åIJ ®", + "å² ĸ", + "ä½ ĥ", + "çĭ Ī", + "åº ĩ", + "åIJ Ŀ", + "éĹ °", + "æ± ¹", + "å¿ ±", + "æĭ Ħ", + "æĭ Ĺ", + "èĮ ī", + "èĭ Ľ", + "èĮ ģ", + "çŁ ¾", + "èĻ ı", + "åij »", + "åĴ Ħ", + "å¿ ¿", + "èĤ ®", + "çĭ ŀ", + "çĸ Ł", + "çĸ Ļ", + "çĸ ļ", + "æ³ ŀ", + "å¸ ļ", + "å± ī", + "è¿ ¢", + "é© ¹", + "ç İ·", + "çıĬ ó", + "çıĬó ł", + "çıĬół Ħ", + "çıĬółĦ ģ", + "æĮ İ", + "æĭ ´", + "åŀ Ľ", + "èį ¤", + "æ® ĥ", + "çĽ ¹", + "åĵ Ĩ", + "è´ »", + "æ¯ ¡", + "çĭ °", + "çĭ ¡", + "æŁ Ĵ", + "æģ ĥ", + "è¯ ¬", + "è¢ Ħ", + "è¯ ²", + "èļ ¤", + "èĢ Ļ", + "åŁ Ĥ", + "æį İ", + "æį Į", + "æ¢ Ĩ", + "é ħĮ", + "çł ¾", + "æ® ī", + "åĶ ł", + "æĻ Į", + "èļ £", + "èļ ª", + "èļ ĵ", + "é¸ ¯", + "åĶ ģ", + "åĶ Ĩ", + "åĢ Ķ", + "èĪ Ģ", + "è± º", + "èĥ °", + "é¸ µ", + "é¸ ³", + "é¦ ģ", + "ç¾ Ķ", + "æ¶ £", + "æ¶ ķ", + "æĤ ¯", + "è¯ ½", + "è° Ĩ", + "ç¥ Ł", + "ç» ¢", + "æį º", + "æį ¶", + "æį »", + "æİ Ĥ", + "èı ł", + "èIJ ¤", + "éħ Ĺ", + "çľ ¶", + "åķ Ħ", + "èļ ¯", + "èĽ Ģ", + "åĶ ¬", + "å¸ ·", + "éĵ IJ", + "éĵ Ľ", + "åģ İ", + "å¾ Ļ", + "èĦ ¯", + "è± ļ", + "çĮ ĸ", + "çĹ Ĭ", + "æ¶ ®", + "æĥ Ń", + "æĤ ´", + "æĥ ĭ", + "è° ļ", + "æı ©", + "æIJ Ģ", + "æIJ Ķ", + "æ¦ Ķ", + "æ¤ Ń", + "éĽ ³", + "åĸ ³", + "è· Ľ", + "èľ ĵ", + "èľ Ĵ", + "é¹ ĥ", + "éĶ Ħ", + "çĶ ¥", + "çŃ ı", + "çĮ ©", + "çĮ ¬", + "çĮ ¾", + "çĹ ¢", + "çĹ ª", + "æĥ °", + "çª ĺ", + "è° ¤", + "éļ ĺ", + "å© ¿", + "é¹ ī", + "çij Ļ", + "æĸ Ł", + "æ¤ ¿", + "éħ ª", + "éĽ ¹", + "åĹ ¦", + "è· ·", + "è· º", + "è· ¤", + "èľ Ī", + "èľ Ĺ", + "å¹ Į", + "é¦ ı", + "èª Ĭ", + "æ¼ ĵ", + "è¤ Ĥ", + "èĶ Ĺ", + "èĶ ¼", + "åħ ¢", + "è£ ³", + "èľ »", + "èĿ ĩ", + "åĺ Ģ", + "éĶ ¹", + "ç® ķ", + "ç® ©", + "çĺ ©", + "çĺ Ł", + "æ¼ ±", + "å¯ ¥", + "éª ¡", + "æĴ µ", + "æĴ ¬", + "è± Į", + "åĺ ¹", + "èĿ ł", + "èĿ Į", + "èĿ Ĺ", + "èĿ Ļ", + "éķ IJ", + "ç¨ ¼", + "ç¯ ĵ", + "èĨ Ľ", + "é² «", + "çĺ ª", + "é² ¨", + "æĨ Ķ", + "ç¿ ©", + "è¤ ¥", + "ç¼ Ń", + "åĻ ©", + "çĵ ¢", + "éľ İ", + "è¸ ±", + "è¹ Ĥ", + "èŁ Ĩ", + "é¹ ¦", + "ç¯ ¡", + "çĺ ¸", + "çª ¿", + "ç¼ °", + "èĹ IJ", + "è¹ ĭ", + "èŁ ĭ", + "èŁ Ģ", + "èµ ¡", + "èĩ Ĭ", + "é³ Ħ", + "ç³ ł", + "æĩ ¦", + "åļ £", + "éķ °", + "é³ į", + "ç° ¸", + "çĻ £", + "é³ ĸ", + "é¬ ĵ", + "èł ķ", + "éľ ¹", + "èº ı", + "é» ¯", + "çĵ ¤", + "çŁ Ĺ", + "ä¹ Ĥ", + "ä¹ ľ", + "åħ Ģ", + "å¼ ĭ", + "åŃ ij", + "åŃ ĵ", + "å¹ º", + "äº ĵ", + "å »¿", + "ä¸ ı", + "åį ħ", + "ä» ĥ", + "ä» ī", + "ä» Ĥ", + "åĪ Ī", + "çĪ »", + "åį ŀ", + "éĹ ©", + "è® £", + "å¤ ¬", + "çĪ ¿", + "æ¯ ĭ", + "éĤ Ĺ", + "éĤ Ľ", + "èī ½", + "èī ¿", + "åı µ", + "ä¸ ķ", + "åĮ ľ", + "åĬ ¢", + "åį Ł", + "åı ±", + "åı »", + "ä» ¨", + "ä» Ł", + "ä» ¡", + "ä» «", + "ä» ŀ", + "åį ®", + "æ° IJ", + "çĬ °", + "åĪ į", + "éĤ Ŀ", + "éĤ Ļ", + "è® ¦", + "è® §", + "è® «", + "å° »", + "éĺ ¡", + "å° ķ", + "å¼ ģ", + "èĢ Ĵ", + "çİ İ", + "çİ ij", + "åľ ¬", + "æī ¦", + "åľ ª", + "åľ ¹", + "æī ª", + "åľ ®", + "åľ ¯", + "èĬ Ĭ", + "èĬ į", + "èĬ Ħ", + "èĬ ¨", + "èĬ ij", + "èĬ İ", + "èĬ Ĺ", + "äº ĺ", + "åİ į", + "å¤ ¼", + "æĪ į", + "å° ¥", + "ä¹ ©", + "æĹ ¯", + "æĽ ³", + "å² Į", + "å± º", + "åĩ ¼", + "åĽ ¡", + "éĴ ĩ", + "ç¼ ¶", + "æ° ĺ", + "æ° ĸ", + "çī Ŀ", + "ä¼ İ", + "ä¼ Ľ", + "ä¼ ¢", + "ä½ ¤", + "ä» µ", + "ä¼ ¥", + "ä¼ §", + "ä¼ ī", + "ä¼ «", + "åĽ Ł", + "æ± Ĩ", + "åĪ ĸ", + "å¤ Ļ", + "æĹ ®", + "åĪ İ", + "çĬ ·", + "çĬ ¸", + "èĪ Ľ", + "åĩ «", + "é Ĥ¬", + "é¥ §", + "æ± Ķ", + "æ± ľ", + "æ± Ĭ", + "å¿ ĸ", + "å¿ ı", + "è® ´", + "è® µ", + "è® ·", + "èģ ¿", + "èī ®", + "åİ ¾", + "å¦ ģ", + "çº ¡", + "çº £", + "çº ¥", + "çº ¨", + "çİ ķ", + "çİ Ļ", + "æĬ Ł", + "æĬ Ķ", + "åľ »", + "åĿ į", + "æĬ ĥ", + "ã§ IJ", + "èĬ «", + "èĬ ¾", + "èĭ Ī", + "èĭ £", + "èĭ ĭ", + "èĬ ¼", + "èĭ Į", + "èĭ ģ", + "èĬ ©", + "èĬ ª", + "èĬ ¡", + "èĬ Ł", + "èĭ Ħ", + "èĭ İ", + "èĭ ¡", + "æĿ Į", + "æĿ ĵ", + "æĿ Ī", + "å¿ ij", + "åŃ Ľ", + "éĤ ´", + "éĤ ³", + "å¥ ģ", + "è± ķ", + "å¿ Ĵ", + "æ¬ ¤", + "è½ «", + "è¿ ĵ", + "éĤ ¶", + "å¿ IJ", + "åį £", + "éĤ º", + "æĹ °", + "åij ĭ", + "åij Ĵ", + "åij ĵ", + "åij Ķ", + "åij ĸ", + "æĹ ¸", + "åIJ ¡", + "èĻ ¬", + "åIJ ½", + "åIJ £", + "åIJ ²", + "å¸ ı", + "å² Ī", + "å² ĺ", + "åħ ķ", + "åĽ µ", + "åĽ «", + "éĴ Ĭ", + "éĴ ĭ", + "é ĴĮ", + "è¿ ķ", + "æ° Ļ", + "æ° ļ", + "çī ¤", + "ä½ ŀ", + "ä½ ļ", + "ä½ Ŀ", + "ä½ Ĺ", + "å½ ·", + "ä½ ĺ", + "ä½ ¥", + "è± ¸", + "åĿ Į", + "èĤ Ł", + "å¥ Ĥ", + "åĬ ¬", + "çĭ ģ", + "é¸ ł", + "é¥ ¨", + "é¥ ©", + "é¥ «", + "é¥ ¬", + "åº ij", + "åº ĭ", + "çĸ Ķ", + "çĸ ĸ", + "èĤ ĵ", + "éĹ ±", + "éĹ ³", + "çĤ Ģ", + "æ² £", + "æ² ħ", + "æ² Ķ", + "æ² ¤", + "æ² ı", + "æ² ļ", + "æ± ©", + "æ± ¨", + "æ² ¨", + "æ± ´", + "æ² Ĩ", + "æ² ©", + "æ³ IJ", + "æĢ ĥ", + "æĢ Ħ", + "å¿ ¡", + "å¿ ¤", + "å¿ ¾", + "æĢ ħ", + "å¿ ª", + "æĢ Ĩ", + "å¿ Ń", + "å¿ ¸", + "è¯ Ĥ", + "è¯ ĥ", + "è¯ ħ", + "è¯ ĭ", + "è¯ Į", + "è¯ Ĵ", + "éĻ Ĥ", + "éĻ ī", + "å¦ ©", + "å¦ ª", + "å¦ £", + "å¦ Ĺ", + "å¦ «", + "å§ Ĵ", + "å¦ ¤", + "åĬ Ń", + "åĪ Ń", + "éĤ °", + "çº Ń", + "çº °", + "çº ´", + "çİ ¡", + "çİ Ń", + "çİ ł", + "çİ ¢", + "çİ ¦", + "çĽ Ĥ", + "å¿ Ŀ", + "åĮ ¦", + "åĿ ©", + "æĬ ¨", + "æĭ ¤", + "åĿ «", + "æĭ Ī", + "åŀ Ĩ", + "æĬ »", + "åĬ ¼", + "æĭ ĥ", + "æĭ Ĭ", + "åĿ ¼", + "åĿ »", + "ã§ Ł", + "åĿ ¨", + "åĿ Ń", + "æĬ ¿", + "åĿ ³", + "èĭ ·", + "èĭ ¤", + "èĮ ı", + "èĭ «", + "èĭ ľ", + "èĭ ´", + "èĭ Ĵ", + "èĭ ĺ", + "èĮ Į", + "èĭ »", + "èĭ ĵ", + "èĮ ļ", + "èĮ Ĩ", + "èĮ ij", + "èĮ ĵ", + "èĮ Ķ", + "èĮ ķ", + "è ĮĢ", + "èĭ ķ", + "æŀ ¥", + "æŀ ĩ", + "æĿ ª", + "æĿ ³", + "æŀ §", + "æĿ µ", + "æŀ ¨", + "æŀ ŀ", + "æŀ ĭ", + "æĿ »", + "æĿ ·", + "æĿ ¼", + "çŁ ¸", + "ç łĢ", + "åĪ ³", + "å¥ Ħ", + "æ® ģ", + "éĥ ı", + "è½ Ń", + "éĥ ħ", + "é¸ ¢", + "çĽ ±", + "æĺ Ļ", + "æĿ ²", + "æĺ ĥ", + "åĴ Ĥ", + "åij ¸", + "æĺ Ģ", + "æĹ »", + "æĺ ī", + "çĤ ħ", + "çķ Ģ", + "èĻ ®", + "åĴ Ģ", + "åij ·", + "é» ¾", + "åij ±", + "åij ¤", + "åĴ Ĩ", + "åĴ Ľ", + "åij ¶", + "åij £", + "åĴ Ŀ", + "å² ¢", + "å² ¿", + "å² ¬", + "å² «", + "å¸ Ļ", + "å² £", + "å³ ģ", + "åĪ ¿", + "å² ·", + "åī Ģ", + "å¸ Ķ", + "å³ Ħ", + "æ² ĵ", + "åĽ ¹", + "ç½ Ķ", + "éĴ į", + "éĴ İ", + "éĴ ı", + "éĴ Ĵ", + "éĴ ķ", + "éĤ ¾", + "è¿ ®", + "çī ¦", + "ç« º", + "è¿ ¤", + "ä½ ¶", + "ä¾ ij", + "ä¾ ī", + "èĩ ¾", + "ä¾ Ĺ", + "ä¾ ı", + "ä¾ ©", + "ä½ »", + "ä½ ¾", + "ä¾ ª", + "ä½ ¼", + "ä½ ¯", + "ä¾ ¬", + "å¸ Ľ", + "ä¾ Ķ", + "å¾ Ĥ", + "åĪ ½", + "éĥ Ħ", + "ç± ´", + "çĵ ®", + "æĪ Ĺ", + "èĤ ¼", + "äı Ŀ", + "èĤ ±", + "èĤ «", + "è¿ ©", + "éĥ ĩ", + "çĭ İ", + "çĭ į", + "çĭ Ĵ", + "åĴ İ", + "é¥ ¯", + "é¥ ´", + "åĨ ½", + "åĨ ¼", + "åº ĸ", + "çĸ ł", + "çĸ Ŀ", + "åħ ĸ", + "åĬ ¾", + "ð¬ ī", + "ð¬ī ¼", + "çĤ ĺ", + "çĤ Ŀ", + "çĤ Ķ", + "æ³ Ķ", + "æ² Ń", + "æ³ ·", + "æ³ ±", + "æ³ ħ", + "æ³ ł", + "æ³ º", + "æ³ ĸ", + "æ³ «", + "æ³ ®", + "æ² ±", + "æ³ ¯", + "æĢ Ļ", + "æĢ µ", + "æĢ ¦", + "æĢ Ľ", + "æĢ ı", + "æĢ į", + "ã ¤", + "㤠ĺ", + "æĢ ©", + "æĢ «", + "æĢ ¿", + "å® ķ", + "ç© ¹", + "å® ĵ", + "è¯ ĵ", + "è¯ Ķ", + "è¯ ĸ", + "è¯ ĺ", + "æĪ ¾", + "è¯ Ļ", + "æĪ ½", + "éĥ ĵ", + "è¡ ©", + "ç¥ Ĩ", + "ç¥ İ", + "ç¥ ĩ", + "è¯ ľ", + "è¯ Ł", + "è¯ £", + "è¯ ¤", + "è¯ §", + "è¯ ¨", + "æĪ ķ", + "éĻ Ķ", + "å¦ ²", + "å¦ ¯", + "å§ Ĺ", + "å¸ ij", + "åŃ ¥", + "é© ½", + "èĻ ±", + "è¿ ¨", + "ç» Ģ", + "ç» ģ", + "ç» Ĥ", + "é© ·", + "é© ¸", + "ç» ī", + "ç» Į", + "éª Ģ", + "çĶ ¾", + "çı ı", + "çı IJ", + "çı ij", + "çİ ³", + "é¡ ¸", + "çı ī", + "çı Ī", + "æĭ ®", + "åŀ Ń", + "æĮ Ŀ", + "æĮ ŀ", + "åŀ ¤", + "èµ ³", + "è´ ²", + "åŀ ±", + "åŀ Į", + "åŀ §", + "åŀ ĵ", + "æĮ ¦", + "åŀ ł", + "èį ļ", + "èį ij", + "è´ ³", + "èį ľ", + "èİ Ĵ", + "èĮ ¼", + "èĮ ´", + "èĮ ±", + "èİ Ľ", + "èį ŀ", + "èĮ ¯", + "èį ı", + "èį ĩ", + "èį ĥ", + "èį ł", + "èĮ Ń", + "åŀ ©", + "èį ¥", + "èį ¦", + "èį ¨", + "èį ©", + "åī ĭ", + "èį ª", + "èį ¬", + "èį ®", + "æŁ °", + "æł ī", + "æŁ ĺ", + "æł Ĭ", + "æŁ ©", + "æŀ °", + "æł Į", + "æŁ Ļ", + "æŀ µ", + "æŀ ³", + "æŁ ŀ", + "æŁ Ŀ", + "æł Ģ", + "æŁ ¢", + "æł İ", + "æŁ Ī", + "æŁ ģ", + "æŀ ·", + "æŁ ½", + "åī Į", + "éħ Ĭ", + "éĥ ¦", + "çĶ Ń", + "çł Ĺ", + "çł ĺ", + "çł Ĵ", + "æĸ «", + "çł Ń", + "çł ľ", + "èĢ ·", + "èĻ º", + "æ® Ĥ", + "æ® ĩ", + "æ® Ħ", + "è½ ±", + "è½ ²", + "è½ ³", + "è½ ¶", + "è½ ¸", + "èĻ ¿", + "æ¯ ĸ", + "è§ ĩ", + "å° ľ", + "åĵ IJ", + "çľ Ħ", + "çľ į", + "ðł ³", + "ðł³ IJ", + "éĥ ¢", + "çľ ĩ", + "çľ Ĭ", + "çľ Ī", + "ç¦ º", + "åĵ Ĥ", + "åĴ ´", + "æĽ ·", + "æĺ ´", + "åĴ ¦", + "åĵ ĵ", + "åĵ Ķ", + "çķ İ", + "åij ²", + "èĥ Ħ", + "çķ ĭ", + "çķ Ī", + "èĻ ¼", + "èĻ »", + "çĽ ħ", + "åĴ £", + "åĵ ķ", + "åī IJ", + "éĥ §", + "åĴ »", + "åĽ ¿", + "åĴ ¿", + "åĵ Į", + "åĵ Ļ", + "åĵ ļ", + "åĴ ©", + "åĴ ¤", + "åĵ Ŀ", + "åĵ ı", + "åĵ ŀ", + "å³ £", + "ç½ ĺ", + "å³ Ĵ", + "å³ ¤", + "å³ ĭ", + "è´ ¶", + "éĴ ļ", + "éĴ ¡", + "éĴ £", + "éĴ ¤", + "éĴ «", + "æ° ¡", + "çī ¯", + "éĥ ľ", + "ç§ ķ", + "ç§ Ń", + "ç« ½", + "ç¬ Ī", + "ä¿ ¦", + "ä¿ ¨", + "ä¿ ħ", + "åı Ł", + "åŀ ¡", + "çī ®", + "ä¿ £", + "ä¿ ļ", + "çļ Ī", + "ä¿ Ł", + "éĢ ħ", + "å¾ ĩ", + "å¾ ī", + "èĪ ¢", + "éĥ Ĺ", + "ä¿ İ", + "éĥ ¤", + "çĪ °", + "éĥ Ľ", + "çĵ ´", + "èĥ ¨", + "èĥ ª", + "èĥ Ľ", + "èĥ Ĥ", + "èĥ Ļ", + "èĥ į", + "èĥ Ĺ", + "è ĥĿ", + "æľ IJ", + "èĥ «", + "é¸ ¨", + "åĮ į", + "çĭ ¨", + "çĭ ¯", + "é£ ij", + "çĭ ©", + "çĭ ²", + "è¨ ĩ", + "éĢ Ħ", + "æĺ Ŀ", + "é¥ ·", + "é¥ ¸", + "é¥ ¹", + "åŃ ª", + "å¨ Ī", + "åº ¥", + "çĸ ¬", + "çĸ £", + "çĸ ¥", + "çĸ Ń", + "åº ł", + "ç« ij", + "é£ Ĵ", + "éĹ ¼", + "éĹ ¾", + "éĹ ¿", + "éĺ Ĥ", + "ç¾ ij", + "è¿ ¸", + "ç± ¼", + "éħ ĭ", + "çĤ »", + "çĥ Ģ", + "çĤ ·", + "æ´ ±", + "æ´ ¹", + "æ´ §", + "æ´ Į", + "æµ ĥ", + "æ´ ĩ", + "æ´ Ħ", + "æ´ Ļ", + "æ¶ İ", + "æ´ İ", + "æ´ «", + "æµ į", + "æ´ ®", + "æ´ µ", + "æµ Ĵ", + "æµ Ķ", + "æµ ķ", + "æ´ ³", + "æģ ¸", + "æģ ĵ", + "æģ ¹", + "æģ «", + "æģ »", + "æģ Ĥ", + "æģ ª", + "æģ ½", + "å® ¥", + "æī ĥ", + "è¡ ²", + "è¡ ½", + "è¡ ¿", + "è¢ Ĥ", + "ç¥ ľ", + "ç¥ ĵ", + "ç¥ ļ", + "è¯ ®", + "ç¥ Ĺ", + "ç¥ ¢", + "è¯ °", + "è¯ ³", + "é¸ ©", + "æĺ ¶", + "åĴ «", + "å¼ Ń", + "çī ģ", + "èĥ ¥", + "éĻ Ł", + "å§ ®", + "å¨ Ĩ", + "å§ Ŀ", + "å§ £", + "å§ ĺ", + "å§ ¹", + "ç¾ ¿", + "çĤ ±", + "çŁ ľ", + "ç» Ķ", + "éª ģ", + "éª ħ", + "ç» Ĺ", + "ç» Ľ", + "éª Ī", + "èĢ ĸ", + "æĮ Ī", + "çı ¥", + "çı Ļ", + "é¡ ¼", + "çı °", + "çı ©", + "çı §", + "çı £", + "çı ŀ", + "çIJ ¤", + "çı ²", + "æģ ļ", + "åŁ ķ", + "åŁ ĺ", + "åŁ Ļ", + "åŁ ļ", + "æĮ ¹", + "èĢ Ĩ", + "èĢ Ħ", + "åŁ Ĵ", + "æį ĭ", + "è´ ½", + "åŀ ¸", + "æį ĥ", + "çĽ į", + "èį ¸", + "èİ ³", + "èİ ´", + "èİ ª", + "èİ ł", + "èİ ľ", + "èİ ħ", + "èį ¼", + "èİ ©", + "èį ½", + "èİ ¸", + "èį »", + "èİ ¨", + "é¸ ª", + "èİ ¼", + "æł ²", + "æł ³", + "æ¡ ¡", + "æ¡ İ", + "æ¡ ¢", + "æ¡ ¤", + "æ¢ ĥ", + "æł Ŀ", + "æ¡ ķ", + "æ¡ ģ", + "æ¡ §", + "æ¡ ħ", + "æł Ł", + "æ¡ ī", + "æł ©", + "éĢ ij", + "éĢ ĭ", + "å½ §", + "é¬ ²", + "è± ĩ", + "éħ IJ", + "éĢ ¦", + "åİ Ŀ", + "åŃ ¬", + "çł Ŀ", + "çł ¹", + "çł §", + "çł ·", + "çł Ł", + "çł ¼", + "çł ¥", + "çł £", + "åī ŀ", + "çł »", + "è½ ¼", + "è½ ¾", + "è¾ Ĥ", + "é¸ «", + "è¶ ¸", + "é¾ Ģ", + "é¸ ¬", + "èĻ Ķ", + "çľ ¬", + "åĶ Ľ", + "çľ Ļ", + "åĵ §", + "åĵ ½", + "æĻ ģ", + "é¸ ®", + "è¶ µ", + "è¶ ¿", + "çķ Ľ", + "èļ ¨", + "èļ ľ", + "èļ į", + "èļ ĭ", + "èļ ¬", + "èļ Ŀ", + "èļ §", + "åĶ ¢", + "åľ Ħ", + "åĶ £", + "åĶ ı", + "çĽ İ", + "åĶ ij", + "å´ Ĥ", + "å´ ĥ", + "ç½ ¡", + "ç½ Ł", + "è§ Ĭ", + "èµ ħ", + "éĴ ²", + "éĴ µ", + "éĴ ¹", + "éĴ º", + "éĴ ½", + "éĴ ¼", + "éĴ ¿", + "éĵ Ģ", + "éĵ Ħ", + "éĵ Ĩ", + "éĵ Ī", + "éĵ ī", + "éĵ Ĭ", + "éĵ ĭ", + "éĵ Į", + "é ĵį", + "ä ¥", + "ä¥ ½", + "éĵ İ", + "æ° ©", + "æ° ¤", + "æ° ¦", + "æ¯ ª", + "èĪ IJ", + "ç§ £", + "ç§ «", + "çĽ ī", + "ç¬ Ħ", + "ç¬ ķ", + "ç¬ Ĭ", + "ç¬ ı", + "ç¬ Ĩ", + "ä¿ ¸", + "ä¿ µ", + "åģ Į", + "ä¿ ³", + "ä¿ ¶", + "åĢ ¬", + "åĢ ı", + "æģ ģ", + "åĢ Ń", + "ä¿ ¾", + "åĢ ľ", + "éļ ¼", + "éļ ½", + "åĢ Į", + "åĢ ¥", + "èĩ ¬", + "éĥ «", + "åĢ ¨", + "è¡ Ħ", + "é¢ Ģ", + "å¾ ķ", + "èĪ «", + "è¡ ¾", + "èĥ ¯", + "èĥ ±", + "èĥ ´", + "èĥ Ń", + "èĦ į", + "èĥ ¼", + "èĦ Ĵ", + "é¸ ±", + "é¸ ²", + "çĭ ·", + "çĮ ģ", + "çĭ ³", + "çĮ ĥ", + "çĭ º", + "éĢ ĸ", + "æ¡ Ģ", + "é¥ ½", + "åĩ ĩ", + "æĮ Ľ", + "äº ³", + "çĸ ³", + "çĸ ´", + "çĸ ¸", + "çĸ ½", + "çĹ Ī", + "çĸ ±", + "çĹ Ĥ", + "çĹ ī", + "è¡ ®", + "é¢ ĥ", + "æģ £", + "æĹ Ĩ", + "æĹ Ħ", + "æĹ ĥ", + "éĺ ĥ", + "éĺ Ħ", + "è¨ ļ", + "éĺ Ĩ", + "æģ Ļ", + "ç² ij", + "çĥ ľ", + "çĥ ©", + "çĥ Ĭ", + "åī ¡", + "éĥ ¯", + "çĥ ¬", + "æ¶ ij", + "æµ ¯", + "æ¶ ŀ", + "æ¶ Ł", + "å¨ ij", + "æ¶ ł", + "æµ ŀ", + "æ¶ ĵ", + "æµ ¥", + "æ¶ Ķ", + "æµ ľ", + "æµ ł", + "æµ £", + "æĤ ļ", + "æ ĤŃ", + "æĤ Ŀ", + "æĤ Ĵ", + "æĤ Į", + "æĤ Ľ", + "çª Ī", + "åī ľ", + "è¯ ¹", + "è¯ ¼", + "è¢ Ĵ", + "è¢ ¢", + "è¯ ¿", + "è° Ģ", + "è° Ĥ", + "è° Ħ", + "è° ĩ", + "å± IJ", + "å± Ļ", + "éĻ ¬", + "åĭ IJ", + "å¥ ĺ", + "çī Ĥ", + "èļ ©", + "éĻ ²", + "å¨ Į", + "å¨ ī", + "å¨ ²", + "å¨ ´", + "å¨ £", + "å¨ ĵ", + "å© Ģ", + "çķ ļ", + "éĢ ¡", + "ç» ł", + "éª Ĭ", + "ç» ¡", + "éª ĭ", + "ç» ¦", + "ç» ¨", + "éª İ", + "éĤ ķ", + "é¸ ¶", + "å½ Ĺ", + "èĢ ľ", + "çĦ ĺ", + "èĪ Ĥ", + "çIJ ı", + "çIJ ĩ", + "éº ¸", + "æı ¶", + "åŁ ´", + "åŁ ¯", + "æį ¯", + "æİ ³", + "æİ ´", + "åŁ ¸", + "åŁ µ", + "èµ §", + "åŁ ¤", + "æį Ń", + "éĢ µ", + "åŁ Ŀ", + "åł ĭ", + "åł į", + "æİ ¬", + "é¸ ·", + "æį ½", + "æİ Ĭ", + "åł ī", + "æİ ¸", + "æį ©", + "æİ ®", + "æĤ «", + "åŁ Ń", + "åŁ ½", + "æİ ĩ", + "æİ ¼", + "èģ ĥ", + "èIJ ģ", + "èı ĺ", + "åł ĩ", + "èIJ ĺ", + "èIJ ĭ", + "èı ½", + "èı ĸ", + "è IJľ", + "èIJ ¸", + "èIJ ij", + "æ£ »", + "èı Ķ", + "èı Ł", + "èIJ ı", + "èı ¹", + "èı ª", + "èı ħ", + "èı Ģ", + "èı °", + "èı ¡", + "æ¢ ¿", + "æ¢ ı", + "è§ ĭ", + "æ¡ ´", + "æ¡ ·", + "æ£ ģ", + "æ¡ «", + "æ£ Ĥ", + "åķ ¬", + "éĥ ¾", + "æķ ķ", + "è± ī", + "éĦ Ħ", + "éħ ŀ", + "ç¡ İ", + "ç¡ Ń", + "ç¡ ĸ", + "ç¡ Ĺ", + "ç¡ IJ", + "ç¡ ĩ", + "ç¡ Į", + "é¸ ¸", + "çĵ ł", + "åĮ ı", + "åİ ©", + "æ® Ĵ", + "æ® ĵ", + "æ® į", + "èµ ī", + "éĽ ©", + "è¾ Ħ", + "åł ij", + "çľ Ń", + "çľ ¦", + "åķ §", + "æĻ ¡", + "æĻ ¤", + "çľ µ", + "åľ Ĭ", + "åĸ ı", + "åķ ī", + "åĭ ĸ", + "æĻ ŀ", + "åĶ µ", + "æĻ Ĺ", + "åķ Ń", + "çķ ¦", + "è¶ º", + "åķ ®", + "è· Ħ", + "èļ ¶", + "è ĽĦ", + "èĽ İ", + "èĽ Ĩ", + "èļ °", + "åľ ī", + "èļ ±", + "èĽ ī", + "èĽ ı", + "èļ ´", + "åķ ģ", + "åķ ķ", + "åĶ ¿", + "åķ IJ", + "åĶ ¼", + "åĶ ·", + "åķ ĸ", + "åķ µ", + "åķ ¶", + "åķ ·", + "åĶ ³", + "åĶ °", + "åķ ľ", + "å¸ »", + "å´ ļ", + "å´ ¦", + "å¸ ¼", + "å´ ®", + "å´ ¤", + "å´ Ĩ", + "èµ ĩ", + "èµ Ī", + "èµ Ĭ", + "éĵ ij", + "éĵ Ĵ", + "éĵ Ĺ", + "éĵ Ļ", + "éĵ Ł", + "éĵ ¡", + "éĵ ¢", + "éĵ £", + "éĵ ¤", + "éĵ §", + "éĵ ¨", + "éĵ ©", + "éĵ ª", + "éĵ «", + "éĵ ¯", + "éĵ °", + "éĵ ±", + "éĵ ³", + "éĵ µ", + "éĵ ·", + "çī ¾", + "é¸ ¹", + "ç§ ¾", + "éĢ ¶", + "ç¬ º", + "çŃ ĩ", + "ç¬ ¸", + "ç¬ ª", + "ç¬ ®", + "ç¬ ł", + "ç¬ ¥", + "ç¬ ¤", + "ç¬ ³", + "ç¬ ¾", + "ç¬ ŀ", + "åģ ¾", + "åģ ĥ", + "åģ ķ", + "åģ Ī", + "åĤ Ģ", + "åģ ¬", + "åģ »", + "çļ ij", + "çļ İ", + "é¸ »", + "å¾ ľ", + "èĪ ¸", + "èĪ »", + "èĪ ´", + "èĪ ·", + "é¾ Ľ", + "ç¿ İ", + "èĦ ¬", + "èĦ ĺ", + "èĦ ²", + "åĮ IJ", + "çĮ Ĺ", + "çĮ ¡", + "çĮ ŀ", + "æĸ Ľ", + "çĮ ķ", + "é¦ Ĺ", + "é¦ ĥ", + "é¦ Ħ", + "é¸ ¾", + "åº ¹", + "åº ¾", + "çĹ Ķ", + "çĹ į", + "ç¿ Ĭ", + "æĹ Į", + "æĹ İ", + "è¢ ¤", + "éĺ ĩ", + "éĺ Ī", + "éĺ ī", + "éĺ Ĭ", + "éĺ ĭ", + "éĺ į", + "éĺ ı", + "ç¾ Ł", + "ç² Ŀ", + "çĦ IJ", + "çĦ ĵ", + "çĦ Ĺ", + "æ· ħ", + "æ· ŀ", + "æ¸ İ", + "æ¶ ¿", + "æ· ĸ", + "æĮ ²", + "æ· ł", + "æ¶ ¸", + "æ¸ ij", + "æ· ¦", + "æ· Ŀ", + "æ¶ ª", + "æ· Ļ", + "æ¶ «", + "æ¸ Į", + "æĤ »", + "æĤ ±", + "æ ĥĿ", + "æĥ ĺ", + "æĥ Ĩ", + "æĥ ļ", + "æĥ ĩ", + "æĥ ®", + "çª ķ", + "è° Į", + "æī Ī", + "çļ ²", + "è° ij", + "è£ Ĩ", + "è¢ ·", + "è£ ī", + "è° Ĵ", + "è° Ķ", + "è° ķ", + "è° ĸ", + "è° Ĺ", + "è° Ļ", + "è° Ŀ", + "éĢ ¯", + "éĥ ¿", + "éļ Ī", + "ç² ľ", + "éļ į", + "éļ Ĺ", + "å© Ĭ", + "å¨ ¼", + "å© ¢", + "å© µ", + "èĥ ¬", + "è¢ Ī", + "ç¿ Į", + "æģ ¿", + "æ¬ ¸", + "ç» «", + "éª IJ", + "ç» ¯", + "ç» ±", + "éª Ĵ", + "ç» ²", + "éª ĵ", + "ç» ¶", + "ç» º", + "ç» »", + "ç» ¾", + "éª ĸ", + "ç¼ ģ", + "èĢ ł", + "çIJ «", + "çIJ µ", + "çIJ ¶", + "çIJ ¥", + "çIJ ¨", + "çIJ °", + "çIJ ®", + "çIJ ¯", + "çIJ ¬", + "çIJ ļ", + "è¾ ĩ", + "é¼ ĭ", + "æı ³", + "åł ŀ", + "æIJ ½", + "æı ¸", + "æı ł", + "åł Ļ", + "è¶ Ħ", + "æı ĸ", + "é¢ ī", + "å¡ Ħ", + "æı ¿", + "èĢ ĭ", + "æı Ħ", + "èĽ ©", + "èĽ °", + "å¡ Ĩ", + "æij Ĵ", + "æı Ĩ", + "æİ ¾", + "èģ Ĵ", + "èij ij", + "èij ļ", + "éĿ °", + "éĿ ¸", + "èij ³", + "èij º", + "èij ¸", + "èIJ ¼", + "èij ¶", + "è ĴĮ", + "èij Ń", + "æ¥ ®", + "æ £¼", + "æ¤ Ł", + "æ£ ¹", + "æ¤ ¤", + "æ£ °", + "èµ į", + "æ¤ ĭ", + "æ¤ ģ", + "æ¤ ª", + "æ¤ IJ", + "é¹ ģ", + "éħ ¤", + "éħ ¢", + "éħ ¡", + "é¹ Ĥ", + "æ® ļ", + "æ® Ľ", + "éĽ ±", + "è¾ ĭ", + "æ¤ ł", + "è¾ İ", + "çĿ Ħ", + "çĿ ĩ", + "çĿ ĥ", + "æĪ ¢", + "åĸ ĭ", + "åĹ Ĵ", + "åĸ ĥ", + "åĸ ±", + "åĸ ¹", + "æĻ ·", + "åĸ Ī", + "è· ĸ", + "è· Ĺ", + "è· ŀ", + "è· ļ", + "è· İ", + "è· ı", + "è· Ĩ", + "èĽ ±", + "èĽ ²", + "èĽ Ń", + "èĽ ³", + "èĽ IJ", + "èĽ Ķ", + "èĽ ŀ", + "èĽ ´", + "èĽ ĺ", + "åĸ ģ", + "åĸ Ł", + "åķ ¾", + "åĹ ĸ", + "åĸ ij", + "åĹ Ł", + "åĹ ŀ", + "åĸ Ļ", + "åµ ĺ", + "åµ ĸ", + "å´ ´", + "éģ Ħ", + "è© Ī", + "åµ İ", + "å µ¬", + "åµ Ľ", + "åµ ¯", + "åµ Ŀ", + "åµ «", + "å¹ Ħ", + "åµ ĭ", + "èµ ķ", + "éĵ »", + "éĵ ¼", + "éĵ ¿", + "éĶ ĥ", + "éĶ Ĩ", + "éĶ ĩ", + "éĶ ī", + "éĶ ı", + "éĶ ij", + "éĶ Ĵ", + "éĶ Ķ", + "éĶ ķ", + "æİ £", + "çŁ ¬", + "æ° °", + "æ¯ ³", + "æ¯ ½", + "çĬ Ĭ", + "çĬ Ħ", + "çĬ ĭ", + "é ¹Ħ", + "çĬ į", + "åµ ĩ", + "é» į", + "ç¨ ĥ", + "ç¨ Ĥ", + "çŃ ļ", + "çŃ µ", + "çŃ Į", + "åĤ £", + "åĤ Ī", + "èĪ Ħ", + "çī į", + "åĤ ¥", + "åĤ §", + "éģ ij", + "åĤ ©", + "å¾ ¨", + "åª Ń", + "çķ ²", + "å¼ ij", + "ç¿ ķ", + "é¹ Ĩ", + "èħ Ī", + "èħ ĵ", + "èħ Ĩ", + "èħ ´", + "èħ ļ", + "èħ ±", + "é± ¿", + "é² Ģ", + "é² Ĥ", + "çĮ ¢", + "çĮ ¹", + "çĮ ¥", + "é£ ĵ", + "è§ ŀ", + "è§ ļ", + "çĮ ±", + "é¢ İ", + "é£ §", + "é¦ ĩ", + "é¦ Ĭ", + "äº µ", + "èĦ Ķ", + "è£ Ĵ", + "çĹ £", + "çĹ ¨", + "çĹ ¦", + "çĹ ŀ", + "çĹ ¤", + "çĹ §", + "èµ ĵ", + "ç« ¦", + "çĵ ¿", + "åķ »", + "é¢ ı", + "é¹ ĩ", + "éĺ ij", + "éĺ Ĵ", + "éĺ ķ", + "ç² ŀ", + "éģ Ĵ", + "åŃ ³", + "çĦ ¯", + "çĦ ľ", + "çĦ ±", + "é¹ Ī", + "æ¸ «", + "æ¹ ®", + "æ¹ İ", + "æ¹ ľ", + "æ¹ į", + "æ¹ «", + "æº ²", + "æ¹ Ł", + "æº Ĩ", + "æ¹ ²", + "æ¹ Ķ", + "æ¹ ī", + "æ¸ ¥", + "æ» ģ", + "æĦ ł", + "æĥ º", + "æĦ ¦", + "æĥ ´", + "æĦ Ģ", + "æĦ İ", + "æĦ Ķ", + "åĸ ¾", + "å¯ IJ", + "è° Ł", + "è£ ¢", + "è£ İ", + "è£ ¥", + "ç¥ ¾", + "è° ł", + "è° ¡", + "è° ¥", + "è° §", + "åŃ ±", + "å¼ ¼", + "å· ½", + "éª ĺ", + "åª ª", + "å· ¯", + "ç¿ ļ", + "çļ ´", + "éª Ľ", + "ç¼ Ĥ", + "ç¼ ĥ", + "ç¼ Ħ", + "å½ ĺ", + "ç¼ ĩ", + "ç¼ Ī", + "ç¼ Į", + "ç¼ ij", + "ç¼ Ĵ", + "ç¼ Ĺ", + "é£ ¨", + "èĢ ¢", + "çij ģ", + "çij Ĺ", + "çij Ħ", + "éģ ¨", + "éª ľ", + "éŁ «", + "é« ¡", + "å¡ ¬", + "éĦ ¢", + "è¶ Ķ", + "è¶ ij", + "æij ħ", + "æij ģ", + "èľ ĩ", + "æIJ ĭ", + "æIJ ª", + "æIJ IJ", + "æIJ Ľ", + "æIJ ł", + "æij Ī", + "å½ Ģ", + "æ¯ Ĥ", + "æIJ ¦", + "æIJ ¡", + "èĵ ģ", + "æĪ ¡", + "è ĵį", + "éĦ ŀ", + "èĵ IJ", + "èĵ ¦", + "é¹ ĭ", + "èĴ ½", + "èĵ ĸ", + "èĵ Ĭ", + "èĴ ¯", + "èĵ Ł", + "èĵ ij", + "èĴ º", + "èĵ ł", + "èĴ Ł", + "èĴ ¡", + "èĴ ¹", + "èĴ ´", + "èĴ Ĺ", + "èĵ ¥", + "æ¥ Ķ", + "æ¥ Ĥ", + "æ¥ Ŀ", + "æ¥ «", + "æ¥ ¸", + "æ¤ ´", + "æ§ Į", + "æ¥ ¯", + "çļ Ļ", + "æ¦ Ī", + "æ§ İ", + "æ¦ ī", + "æ¥ ¦", + "æ¥ £", + "æ¥ ¹", + "æ¤ ½", + "åī ½", + "éħ ©", + "èľ ĥ", + "ç¢ Ľ", + "ç¢ ĵ", + "ç¡ ¼", + "ç¢ ī", + "ç¢ ļ", + "ç¢ ĩ", + "ç¢ ľ", + "é¹ Į", + "è¾ ı", + "é¾ ĥ", + "é¾ ħ", + "è¨ ¾", + "ç² ²", + "çĿ ļ", + "åĹ ª", + "éŁ ª", + "åĹ ·", + "åĹ ī", + "çĿ ¨", + "çĿ ¢", + "éĽ İ", + "çĿ ¥", + "åĹ ij", + "åĹ «", + "åĹ ¬", + "åĹ Ķ", + "åĹ Ŀ", + "æĪ ¥", + "åĹ Ħ", + "çħ ¦", + "æļ Ħ", + "éģ ¢", + "æ ļĮ", + "è· ¬", + "è· ¶", + "è ·¸", + "è· IJ", + "è· £", + "è· ¹", + "èĽ ¸", + "èľ Ĭ", + "èľ į", + "èľ ī", + "èľ £", + "çķ ¹", + "èĽ ¹", + "åĹ ¥", + "åĹ ²", + "åĹ ³", + "åĹ Į", + "åĹ į", + "åĹ IJ", + "åĹ ¤", + "åĹ µ", + "ç½ ¨", + "åµ Ĭ", + "åµ ´", + "éª °", + "éĶ Ĺ", + "éĶ Ľ", + "éĶ ľ", + "éĶ Ŀ", + "éĶ ŀ", + "éĶ Ł", + "éĶ ¢", + "éĶ ¨", + "éĶ ©", + "éĶ Ń", + "éĶ ±", + "éĽ ī", + "æ° ²", + "çĬ ı", + "æŃ ĥ", + "ç¨ ŀ", + "ç¨ Ĺ", + "ç¨ Ķ", + "çŃ ł", + "çŃ ¢", + "çŃ ®", + "çŃ ²", + "çī Ĵ", + "æķ «", + "å¾ Ń", + "æĦ Ĩ", + "èī Ħ", + "è§ İ", + "æ¯ ¹", + "è² Ĭ", + "è² ħ", + "è² ī", + "é¢ Ķ", + "èħ ł", + "èħ ©", + "èħ ¼", + "èħ Ń", + "è ħ§", + "å¡ į", + "åª µ", + "é² ħ", + "é² Ĩ", + "é² ĩ", + "é² Ī", + "é² ĭ", + "é² IJ", + "èĤ Ħ", + "é¹ IJ", + "é£ ķ", + "è§ ¥", + "éģ Ľ", + "é¦ IJ", + "é¹ ij", + "äº ¶", + "çĺ ĥ", + "çĹ ±", + "çĹ ¼", + "çĹ ¿", + "çĺ IJ", + "çĺ ģ", + "çĺ Ĩ", + "éº Ĥ", + "æŃ Ĩ", + "æĹ Ĵ", + "éĺ ĸ", + "éĺ Ĺ", + "ç¾ §", + "è± ¢", + "ç² ³", + "çĮ ·", + "çħ ³", + "çħ ¨", + "çħ ħ", + "çħ Ĭ", + "çħ ¸", + "çħ º", + "æ» Ł", + "æº ±", + "æº ĺ", + "æ¼ Ń", + "æ» ¢", + "æº ¥", + "æº ½", + "è£ Ł", + "æº »", + "æº ·", + "æ» Ĺ", + "æ» «", + "æº ´", + "æ» ı", + "æ» ĥ", + "æ» ¦", + "æº ı", + "æ» Ĥ", + "æ» ĵ", + "æº Ł", + "æ» ª", + "æĦ «", + "æħ Ĭ", + "é² İ", + "éª ŀ", + "çª ł", + "çª £", + "è£ ±", + "è£ ¨", + "è£ ¾", + "è£ °", + "ç¦ Ĭ", + "è° ©", + "è° ª", + "åª ¾", + "å« «", + "åª ²", + "å« Ĵ", + "å« Ķ", + "åª ¸", + "ç¼ Ļ", + "ç¼ ľ", + "ç¼ Ľ", + "è¾ Ķ", + "éª Ŀ", + "ç¼ Ł", + "ç¼ ¡", + "ç¼ ¢", + "ç¼ £", + "éª Ł", + "èĢ ¥", + "çĴ Ī", + "çij Ń", + "çį Ĵ", + "è§ ı", + "æħ Ŀ", + "å« ł", + "åı Ĩ", + "æij ½", + "å¢ ģ", + "æĴ Ĥ", + "æij ŀ", + "æĴ Ħ", + "ç¿ ¥", + "è¸ ħ", + "æij Ń", + "å¢ ī", + "å¢ Ĵ", + "æ¦ ĸ", + "ç¶ ¦", + "èĶ «", + "èĶ ·", + "éĿ º", + "éĿ ¼", + "éŀ ħ", + "éĿ ¿", + "çĶ į", + "èĶ ¸", + "èĶ Ł", + "èĶ º", + "æĪ ¬", + "èķ ĸ", + "èĶ »", + "èĵ ¿", + "æĸ ¡", + "é¹ ķ", + "èĵ ¼", + "æ¦ Ľ", + "æ¦ §", + "æ¦ «", + "æ¦ Ń", + "æ§ Ķ", + "æ¦ ±", + "æ§ ģ", + "æ§ ł", + "æ¦ ·", + "åĥ °", + "éħ ½", + "éħ ¹", + "ç¢ ¡", + "ç¢ ´", + "ç¢ £", + "ç¢ ²", + "èĩ §", + "è± ¨", + "æ® ¡", + "éľ ģ", + "èľ ļ", + "é¾ ĩ", + "é¾ Ī", + "ä ģ", + "äģ ĸ", + "çĿ ½", + "åĺ ŀ", + "åĺ Ī", + "åĺ Į", + "åĺ ģ", + "æļ Ŀ", + "è¸ Į", + "è¸ ī", + "èľ ŀ", + "èľ ¥", + "èľ ®", + "èĿ Ī", + "èľ ´", + "èľ ±", + "èľ ©", + "èľ ·", + "èľ ¿", + "èŀ Ĥ", + "èľ ¢", + "åĺ ¡", + "é¹ Ĺ", + "åĺ £", + "åĺ ¤", + "åĺ ļ", + "åĹ ¾", + "åĺ §", + "ç½ ´", + "ç½ ±", + "å¹ Ķ", + "å¶ Ĥ", + "å¹ Ľ", + "èµ Ļ", + "ç½ Ĥ", + "éª ·", + "éª ¶", + "é¹ ĺ", + "éĶ ²", + "éĶ ´", + "éĶ ¶", + "éĶ ·", + "éĶ ¸", + "éĶ µ", + "éķ Ĥ", + "çĬ Ĵ", + "ç® IJ", + "ç® ¦", + "ç® §", + "ç® ¸", + "ç® ¬", + "ç® ħ", + "ç® ª", + "ç® ľ", + "ç® ¢", + "ç® ĵ", + "åĥ ĸ", + "åĦ Ĩ", + "åĥ ³", + "åĥ Ń", + "åĬ ģ", + "åĥ ®", + "éŃ ĥ", + "éŃ Ĩ", + "çĿ ¾", + "èī ĭ", + "éĦ ±", + "èĨ Ī", + "èĨ ij", + "é² ij", + "é² Ķ", + "é² ļ", + "é² Ľ", + "é² Ł", + "çį IJ", + "è§ «", + "éĽ Ĵ", + "å¤ ¤", + "é¦ ij", + "éĬ ®", + "å¡ ¾", + "çĺ Į", + "çĺ Ĭ", + "çĺ ĺ", + "çĺ Ļ", + "æĹ ĸ", + "èĨ Ĥ", + "éĺ ļ", + "éĦ ¯", + "é² ŀ", + "ç² ¿", + "ç² ¼", + "ç³ ģ", + "æ§ Ĭ", + "é¹ ļ", + "çĨ ĺ", + "çĨ ¥", + "æ½ ¢", + "æ¼ ķ", + "æ» ¹", + "æ¼ ¯", + "æ¼ ¶", + "æ½ ĭ", + "æ½ ´", + "æ¼ ª", + "æ¼ ī", + "æ¼ ©", + "æ¾ ī", + "æħ µ", + "æIJ ´", + "çª ¨", + "å¯ ¤", + "ç¶ ®", + "è° ®", + "è¤ ¡", + "è¤ Ļ", + "è¤ ĵ", + "è¤ Ľ", + "è¤ Ĭ", + "è° ¯", + "è° °", + "è° ²", + "å± £", + "é¹ Ľ", + "å« ±", + "å« ĸ", + "å« ¦", + "å« ļ", + "å «ĺ", + "é¼ IJ", + "çŀ Ģ", + "é¹ ľ", + "éª ł", + "ç¼ ¥", + "ç¼ ¦", + "ç¼ §", + "ç¼ ¨", + "éª ¢", + "ç¼ «", + "èĢ ¦", + "èĢ §", + "çĴ ľ", + "çĴ İ", + "çĴ ģ", + "å¥ Ń", + "é« ¯", + "é« «", + "æĴ ·", + "æĴ ħ", + "èµ Ń", + "æĴ ¸", + "éĭ Ĩ", + "æĴ Ļ", + "æĴ º", + "å¢ Ģ", + "èģ ©", + "è§ IJ", + "éŀ ij", + "èķ Ļ", + "éŀ Ĵ", + "èķ Ī", + "èķ ¨", + "èķ ¤", + "èķ ŀ", + "èķ º", + "çŀ ¢", + "èķ ĥ", + "èķ ²", + "èµ ľ", + "æ§ ¿", + "æ¨ ¯", + "æ§ Ń", + "æ¨ Ĺ", + "æ¨ ĺ", + "æ§ ²", + "éĨ Į", + "éĨ ħ", + "éĿ ¥", + "éŃ ĩ", + "é¤ į", + "ç£ Ķ", + "ç£ Ļ", + "éľ Ī", + "è¾ ĺ", + "é¾ ī", + "é¾ Ĭ", + "è§ ij", + "çŀ Į", + "ç ŀĭ", + "çŀ ij", + "åĺ Ń", + "åĻ İ", + "åĻ ¶", + "é¢ Ļ", + "æļ ¹", + "åĻ ĺ", + "è¸ Ķ", + "è¸ Ŀ", + "è¸ Ł", + "è¸ Ĵ", + "è¸ ¬", + "è¸ ®", + "è¸ ¯", + "è¸ º", + "è¸ ŀ", + "èĿ ½", + "èĿ ¾", + "èĿ »", + "èĿ °", + "èĿ ®", + "è ŀĭ", + "èĿ ĵ", + "èĿ £", + "è Ŀ¼", + "åĺ ¬", + "é¢ ļ", + "åĻ į", + "åĻ Ļ", + "åĻ Į", + "åĻ Ķ", + "é¢ Ľ", + "å¹ ŀ", + "å¹ ¡", + "å¶ Ļ", + "å¶ Ŀ", + "éª º", + "éķ Ĭ", + "éķ ī", + "éķ Į", + "éķ ı", + "éķ Ĵ", + "éķ ĵ", + "éķ Ķ", + "ç¨ ·", + "ç® ´", + "ç¯ ij", + "ç¯ ģ", + "ç¯ Į", + "çī ĸ", + "åĦ ĭ", + "èĻ ¢", + "é¹ ŀ", + "èĨ ĺ", + "é² ł", + "é² ¡", + "é² ¢", + "é² £", + "é² ¥", + "é² §", + "é² ©", + "çį Ĺ", + "çį ł", + "è§ ¯", + "é¦ ĵ", + "é¦ Ķ", + "éº ¾", + "å» Ľ", + "çĺ Ľ", + "çĺ ¼", + "çĺ ¢", + "çĺ ł", + "é½ ij", + "ç¾ °", + "𥠻", + "𥻠Ĺ", + "ç³ Į", + "ç³ į", + "ç³ ħ", + "çĨ ľ", + "ç Ĩµ", + "æ¾ į", + "æ¾ Į", + "æ½ ¸", + "æ½ ¦", + "æ½ ²", + "éĭ Ī", + "æ½ Ł", + "æ½ º", + "å¯ ®", + "çª ³", + "è° ³", + "è¤ ´", + "è¤ Ł", + "è¤ «", + "è° µ", + "çĨ ¨", + "å± ¦", + "åĭ °", + "æĪ ®", + "èĿ ¥", + "ç¼ ¬", + "ç¼ ®", + "ç¼ ¯", + "éª £", + "çķ ¿", + "èĢ ©", + "èĢ ¨", + "èĢ ª", + "çĴ Ł", + "éĿ Ľ", + "çĴ ł", + "çĴ ĺ", + "èģ ±", + "èŀ ¯", + "é« »", + "é« Ń", + "é« ¹", + "æĵ Ģ", + "çĶ ı", + "æĵ ŀ", + "ç¸ ł", + "ç£ ¬", + "é¢ ŀ", + "èķ »", + "é¢ Ł", + "èĸ ¤", + "èĸ ¨", + "æª ł", + "èĸ ı", + "èĸ ®", + "èĸ ľ", + "èĸ ħ", + "æ¨ ¾", + "æ© Ľ", + "æ© ĩ", + "æ¨ µ", + "æª İ", + "æ© ¹", + "æ¨ ½", + "æ¨ ¨", + "æ© ¼", + "å¢ ¼", + "æ© IJ", + "ç¿ ®", + "éĨ IJ", + "éĨ į", + "éĨ ļ", + "ç£ ²", + "èµ Ŀ", + "æ® ª", + "éľ ı", + "éĮ ¾", + "è¾ ļ", + "éģ ½", + "æ° ħ", + "çŀ Ł", + "çŀ ł", + "çŀ °", + "åļ Ħ", + "åļ Ĩ", + "åĻ ¤", + "æļ ¾", + "è¹ Ģ", + "è¸ µ", + "è¸ ½", + "è¹ ī", + "è¹ ģ", + "èŀ ¨", + "èŀ Ī", + "èŀ ħ", + "èŀ Ń", + "èŀ ł", + "èŀ Ł", + "åĻ ±", + "åĻ «", + "åĻ »", + "åĻ ¼", + "ç½ ¹", + "åľ ľ", + "ä ¦", + "ä¦ ĥ", + "éķ Ĺ", + "éķ ĺ", + "éķ ļ", + "éķ Ľ", + "éķ Ŀ", + "éķ ŀ", + "éķ ł", + "æ° ĩ", + "æ° Ĩ", + "ç© ij", + "ç¯ Ŀ", + "ç¯ ¥", + "ç¯ ¦", + "ç¯ ª", + "ç¯ Ļ", + "çĽ ¥", + "åĬ ĵ", + "ç¿ ±", + "éŃ ī", + "éŃ Ī", + "å¾ ¼", + "æŃ Ļ", + "èĨ ¦", + "èĨ Ļ", + "é² ®", + "é² ±", + "é² ³", + "é² ´", + "é² µ", + "é² ·", + "é² »", + "çį ´", + "çį Ń", + "çį ¬", + "éĤ Ĥ", + "é¹ §", + "å» ¨", + "èµ Ł", + "çĺ °", + "å» ª", + "çĺ ¿", + "çĺ µ", + "çĺ ´", + "çĻ ĥ", + "çĺ ³", + "éº ĩ", + "éº Ī", + "å ¬´", + "å£ ħ", + "ç³ Ĺ", + "çĶ ij", + "çĩ İ", + "çĩ ł", + "çĩ Ķ", + "çĩ §", + "æ¿ ij", + "æ¿ ī", + "æ½ ŀ", + "æ¾ §", + "æ¾ ¹", + "æ¾ ¥", + "æ¾ ¶", + "æ¿ Ĥ", + "è¤ °", + "çª ¸", + "å¬ ĸ", + "çĬ Ł", + "éļ °", + "å¬ Ĺ", + "é¢ ¡", + "ç¼ ±", + "ç¼ ²", + "ç¼ ³", + "çĴ ©", + "çĴ ª", + "èŀ «", + "æĵ ¤", + "å£ ķ", + "è§ ³", + "ç½ Ħ", + "æĵ ¢", + "èĸ ¹", + "éŀ ¡", + "éŀ ¬", + "èĸ ·", + "èĹ ĵ", + "èĹ ģ", + "æª Ħ", + "æª ©", + "æĩ ĭ", + "éĨ ¢", + "ç¿ ³", + "ç¤ ħ", + "ç£ ´", + "é¹ ©", + "é¾ ĭ", + "é¾ Į", + "è± ³", + "å£ ij", + "é» »", + "åļ ı", + "åļ ħ", + "è¹ ij", + "è¹ Ĵ", + "è¹ Ĭ", + "è Ł¥", + "èŀ ¬", + "èŀ µ", + "çĸ ĥ", + "èŀ ³", + "èŁ ij", + "åļ ĵ", + "ç½ ½", + "ç½ ¾", + "å¶ ·", + "é» ľ", + "é» Ŀ", + "é« ģ", + "é« Ģ", + "éķ ¡", + "éķ ¢", + "éķ £", + "éķ ¦", + "éķ §", + "éķ ©", + "éķ ª", + "éķ «", + "ç½ ħ", + "ç° Į", + "ç¯ ¾", + "ç¯ ¼", + "ç° ĸ", + "ç° ĭ", + "é¼ ¢", + "åĦ ¡", + "é¹ ª", + "é¼ ¾", + "çļ ¤", + "éŃ į", + "é¾ ł", + "ç¹ ĩ", + "è² ĺ", + "éĤ Ī", + "è² Ķ", + "èĩ Į", + "èĨ »", + "èĩ Ĩ", + "èĩ ĥ", + "é² ¼", + "é² ½", + "é³ Ģ", + "é³ ĥ", + "é³ ħ", + "é³ ĩ", + "é³ Ĭ", + "èŀ ½", + "çĩ ®", + "é¹ «", + "ç³ ľ", + "ç¸ »", + "çĻ į", + "éº ĭ", + "æĩ ij", + "æ¿ ¡", + "æ¿ ®", + "æ¿ ŀ", + "æ¿ ł", + "æ¿ ¯", + "è¹ ĩ", + "è¬ ĩ", + "éĤ ĥ", + "è¥ ģ", + "æª Ĺ", + "æ ĵĺ", + "åŃ º", + "éļ ³", + "å¬ ·", + "èŁ Ĭ", + "é¹ ¬", + "éį ª", + "éı Ĭ", + "é¬ Ī", + "é¬ ĥ", + "çŀ ½", + "éŀ ¯", + "éŀ ¨", + "éŀ «", + "éŀ §", + "éŀ £", + "èĹ ľ", + "èĹ ł", + "éĨ ª", + "è¹ Ļ", + "ç¤ ĵ", + "çĩ ¹", + "é¤ ®", + "çŀ ¿", + "æĽ Ľ", + "é¢ ¢", + "èº ĩ", + "è¹ ļ", + "èŁ Ľ", + "èŁ ª", + "èŁ ł", + "èŁ ®", + "é¹ ®", + "é» ł", + "é» Ł", + "é« ħ", + "é« Ĥ", + "éķ ¬", + "éķ Ń", + "éķ ¯", + "é¦ ¥", + "ç° Ł", + "ç° ª", + "é¼ ¬", + "éĽ ł", + "èī Ł", + "é³ İ", + "é³ ı", + "é³ IJ", + "çĻ ŀ", + "çĻ Ķ", + "ç³ ¨", + "è¹ ©", + "éİ ı", + "éĤ ĭ", + "é¬ ı", + "æĶ ī", + "éŀ ²", + "éŀ ´", + "èĹ ¿", + "èĺ §", + "èĺ ħ", + "éĨ ®", + "éĨ ¯", + "éħ ĥ", + "éľ ª", + "éľ Ń", + "éľ ¨", + "é» ¼", + "åļ ¯", + "è¹ °", + "è¹ ¶", + "è¹ ½", + "è¹ ¼", + "è¹ ´", + "è¹ ¾", + "è¹ ¿", + "èł ĸ", + "èł ĵ", + "èŁ ¾", + "èł Ĭ", + "é» ¢", + "é« ĭ", + "é« Į", + "éķ ²", + "ç± Ģ", + "é½ ģ", + "éŃ ij", + "èī ¨", + "é³ ĵ", + "é³ Ķ", + "é³ ķ", + "é³ Ĺ", + "é³ Ļ", + "éı ĸ", + "ç¾ ¸", + "㸠Ĩ", + "çĢ £", + "çĢ Ľ", + "è¥ ¦", + "è° ¶", + "è¥ ŀ", + "éª ¥", + "ç¼ µ", + "çĵ Ĵ", + "æĶ ĺ", + "èĺ ©", + "èĺ ĸ", + "éĨ ´", + "éľ °", + "éħ Ĩ", + "çŁ į", + "èº ħ", + "é¼ į", + "å· ī", + "é» ©", + "é» ¥", + "é» ª", + "éķ ³", + "éķ ´", + "é» §", + "çº Ĥ", + "çĴ º", + "é¼ ¯", + "èĩ ľ", + "é³ ľ", + "é³ Ŀ", + "é³ Ł", + "çį ¾", + "åŃ Ģ", + "éª §", + "ç ĵĺ", + "é¼ Ļ", + "éĨ º", + "ç¤ ´", + "é¢ ¦", + "æĽ ©", + "é³ ¢", + "éº Ŀ", + "å¤ Ķ", + "çĪ Ŀ", + "çģ ı", + "ç¦ ³", + "éIJ ¾", + "ç¾ ¼", + "èł ¡", + "èĢ ±", + "é¹ ³", + "æ° į", + "é¥ ķ", + "èº IJ", + "é« ij", + "éķ µ", + "ç© °", + "é¥ Ķ", + "é¬ »", + "é¬ Ł", + "è¶ ±", + "æĶ «", + "æĶ ¥", + "é¢ §", + "èº ľ", + "é¼ ¹", + "çĻ ¯", + "èł ²", + "èł ¹", + "èº ŀ", + "è¡ ¢", + "çģ ŀ", + "è¥ »", + "çº Ľ", + "é¬ £", + "æĶ ®", + "åĽ Ķ", + "é¦ ķ", + "æĪ Ĩ", + "çĪ ¨", + "é½ ī", + "äº į", + "å° ¢", + "å½ ³", + "åį ¬", + "æ® ³", + "ðł ϶", + "æ¯ Į", + "éĤ ĺ", + "æĪ ĭ", + "åľ ¢", + "æ° ķ", + "ä¼ ĭ", + "ä» Ŀ", + "åĨ ®", + "æ° ¿", + "æ± Ī", + "æ° ¾", + "å¿ ī", + "å® Ħ", + "𬣠Ļ", + "è® ±", + "æī ŀ", + "åľ ²", + "åľ «", + "èĬ ı", + "èĬ ĥ", + "æľ ³", + "æľ ¸", + "ð¨ Ļ", + "ð¨Ļ ¸", + "éĤ ¨", + "åIJ Ĵ", + "åIJ ĸ", + "å± ¼", + "å± ¾", + "è¾ ¿", + "éĴ Ĩ", + "ä» ³", + "ä¼ £", + "ä¼ Ī", + "çĻ ¿", + "çĶ ª", + "éĤ ł", + "çĬ ´", + "åĨ ±", + "éĤ ¡", + "ð¬ĩ ķ", + "æ± ĭ", + "ä ľ", + "äľ £", + "è® »", + "𬣠ŀ", + "åŃ ĸ", + "ð¬ĺ ĵ", + "çº ©", + "çİ Ĵ", + "çİ ĵ", + "çİ ĺ", + "çİ ļ", + "åĪ ¬", + "ð«Ń Ł", + "åĿ ľ", + "åĿ ī", + "æī ½", + "ð«Ń ¢", + "åĿ ĭ", + "æī º", + "ã§ ij", + "æ¯ IJ", + "èĬ °", + "èĬ £", + "èĭ Ĭ", + "èĭ ī", + "èĬ ĺ", + "èĬ ´", + "èĬ ł", + "ð« ĩ", + "ð«ĩ Ń", + "èĬ ¤", + "æĿ ķ", + "æĿ Ļ", + "æĿ Ħ", + "æĿ §", + "æĿ ©", + "å° ª", + "å° ¨", + "è½ ª", + "ð«IJ Ħ", + "åĿ Ĵ", + "èĬ Ī", + "æĹ ´", + "æĹ µ", + "åij Ļ", + "ã ķ", + "ãķ ®", + "å² į", + "ð« µ", + "𫵠·", + "å² ł", + "å² ľ", + "åij ĩ", + "åĨ ı", + "è§ ĥ", + "å² Ļ", + "ä¼ ¾", + "ãij ĩ", + "ä¼ Ń", + "ä½ ĸ", + "ä¼ ²", + "ä½ ģ", + "é£ ı", + "çĭ ĥ", + "éĹ ¶", + "æ± §", + "æ± «", + "𣲠ĺ", + "𣲠Ĺ", + "æ² Ħ", + "æ² ĺ", + "ð¬ĩ Ļ", + "æ± Ń", + "ã³ ĩ", + "æ² ĩ", + "å¿ ®", + "å¿ ³", + "å¿ º", + "𬣠¡", + "ç¥ ĥ", + "è¯ ĩ", + "éĤ ²", + "è¯ İ", + "è¯ IJ", + "å± ĥ", + "ð« ¸", + "𫸠©", + "å² Ĭ", + "éĺ ½", + "ä¢ º", + "éĺ ¼", + "å¦ §", + "å¦ ĺ", + "ð¨ ļ", + "ð¨ļ ķ", + "çº ®", + "é© ²", + "ð«ĺ ľ", + "çº »", + "ð¬ĺ ĺ", + "ð«ĺ Ŀ", + "çº ¼", + "çİ ¤", + "çİ ŀ", + "çİ ±", + "çİ Ł", + "éĤ ½", + "éĤ ¿", + "åĿ ¥", + "åĿ °", + "åĿ ¬", + "åĿ ½", + "å¼ Ĩ", + "èĢ µ", + "ä¢ ¼", + "ð¦ Ń", + "ð¦Ń ľ", + "èĮ ĭ", + "èĭ §", + "èĭ ¾", + "èĭ ł", + "æŀ ħ", + "ãŃ İ", + "æŀ ĺ", + "æŀ į", + "çŁ ¼", + "çŁ »", + "åĮ ¼", + "𬨠Ĥ", + "ð¬Ģ ©", + "ð¬Ģ ª", + "æĹ ¿", + "æĺ Ħ", + "æĺ Ĵ", + "æĺ Ī", + "åĴ ī", + "åĴ ĩ", + "åĴ į", + "å² µ", + "å² ½", + "å² ¨", + "å² ŀ", + "å³ Ĥ", + "ã Ł", + "ãŁ ĥ", + "åĽ ·", + "𬬠©", + "éĴ IJ", + "éĴ Ķ", + "éĴ ĸ", + "çī ¥", + "ä½ ´", + "åŀ Ī", + "ä¾ ģ", + "ä¾ ¹", + "ä½ ¸", + "ä½ º", + "éļ ¹", + "ãij Ĭ", + "ä¾ Ĥ", + "ä½ ½", + "ä¾ ĺ", + "éĥ Ī", + "èĪ ł", + "éĥ IJ", + "éĥ ĥ", + "æĶ ½", + "èĤ Ń", + "èĤ ¸", + "èĤ ·", + "çĭ ī", + "çĭ Ŀ", + "é¥ ³", + "å¿ ŀ", + "çĤ Į", + "çĤ Ĩ", + "æ³ Ļ", + "æ² º", + "æ³ Ĥ", + "æ³ ľ", + "æ³ ĥ", + "æ³ ĩ", + "æĢ Ĭ", + "å³ ĥ", + "ç© ¸", + "ç¥ ĭ", + "ç¥ Ĭ", + "ð«į £", + "𬣠³", + "𬠩½", + "é¸ ¤", + "å¼ ¢", + "å¼ ¨", + "éĻ ij", + "𬮠¿", + "éĻ İ", + "𬯠Ģ", + "åį º", + "ä¹ ¸", + "å¦ Ń", + "å§ Ī", + "ð« °", + "ð«° Ľ", + "è¿ ³", + "åı ķ", + "𬳠µ", + "é© µ", + "𬳠¶", + "ä Į", + "äĮ ¹", + "é© º", + "ð«ł Ĭ", + "ç» ĭ", + "ç» IJ", + "çł ī", + "èĢ Ķ", + "ãĽ ĥ", + "çİ ¶", + "çı ĩ", + "çı ħ", + "ð¬į Ľ", + "çı ĭ", + "çİ ¹", + "çı Į", + "çİ ¿", + "éŁ ¨", + "åŀ ļ", + "åŀ ¯", + "åŀ Ļ", + "åŀ ²", + "åŁ ı", + "åŀ į", + "èĢ ĩ", + "é¿ į", + "åŀ İ", + "åŀ ´", + "åŀ Ł", + "åŀ ŀ", + "æĮ ĵ", + "åŀ µ", + "åŀ ı", + "æĭ ¶", + "èį ĸ", + "èį ģ", + "èį Ļ", + "èį Ľ", + "èĮ Ī", + "èĮ ½", + "èį Ħ", + "èĮ º", + "ð¬ľ ¬", + "èį ĵ", + "èĮ ³", + "𦠰", + "𦰠¡", + "èĮ Ľ", + "èį Ń", + "ãŃ ķ", + "æŁ ·", + "æŁ ĥ", + "æŁ Ĭ", + "æŀ ¹", + "æł IJ", + "æŁ ĸ", + "éĥ ļ", + "åī ħ", + "ä´ ĵ", + "è¿ º", + "åİ ĸ", + "çł Ĩ", + "çł ij", + "çł Ħ", + "èĢ ı", + "å¥ ĵ", + "ä ¶", + "ä¶ ®", + "è½ µ", + "è½ ·", + "è½ ¹", + "è½ º", + "æĺ º", + "𪠾", + "𪾠¢", + "æĺ ½", + "çĽ ·", + "åĴ ¡", + "åĴ º", + "æĺ ³", + "æĺ £", + "æĺ ¤", + "æĺ «", + "æĺ ¡", + "åĴ ¥", + "æĺ ª", + "èĻ ·", + "èĻ ¸", + "åĵ ĥ", + "å³ ĺ", + "èĢ ij", + "å³ Ľ", + "𪨠°", + "å³ Ĺ", + "å³ §", + "å¸ ¡", + "éĴ ĺ", + "ð«ĵ §", + "éĴ ľ", + "𬬠®", + "𬬠±", + "𬬠Ń", + "éĴ ª", + "éĴ ¬", + "éĴ Ń", + "çŁ §", + "ç§ ¬", + "ä¿ «", + "èĪ ģ", + "ä¿ ľ", + "ä¿ Ļ", + "ä¿ į", + "åŀ ķ", + "è¡ İ", + "èĪ £", + "å¼ ĩ", + "ä¾ ´", + "é¸ §", + "äı ¡", + "èĥ ł", + "ð¦ ϶", + "èĥ Ī", + "èĥ ©", + "èĥ £", + "æľ ı", + "é£ IJ", + "è¨ Ħ", + "é¥ »", + "åº ¤", + "çĸ ¢", + "çĤ £", + "çĤ Ł", + "ã ¶", + "ã¶ ²", + "æ´ Ń", + "æ´ ĺ", + "æ´ ĵ", + "æ´ ¿", + "ã³ ļ", + "æ³ ļ", + "æµ Ī", + "æµ ī", + "æ´ ¸", + "æ´ ij", + "æ´ ¢", + "æ´ Ī", + "æ´ ļ", + "æ´ º", + "æ´ ¨", + "æµ IJ", + "ã³ ĺ", + "æ´ ´", + "æ´ £", + "æģ Ķ", + "å® ¬", + "çª Ģ", + "æī Ĥ", + "è¢ Ĩ", + "ç¥ ı", + "ç¥ IJ", + "ç¥ ķ", + "åı ļ", + "éĻ §", + "éĻ ŀ", + "å¨ Ģ", + "å§ ŀ", + "å§ ±", + "å§ ¤", + "å§ ¶", + "å§ ½", + "æŀ ²", + "ç» ĸ", + "éª ĥ", + "ð¬ĺ ¡", + "𬳠½", + "ð¬ĺ ©", + "ð«Ħ §", + "å½ ĸ", + "éª ī", + "æģ Ŀ", + "çı ª", + "çı Ľ", + "çı ¹", + "çIJ Ĭ", + "çİ ¼", + "çı ĸ", + "ðª Ł", + "ðªŁ Ŀ", + "çı ½", + "çı ¦", + "çı «", + "çı Ĵ", + "ð¬į ¤", + "çı ¢", + "çı ķ", + "çı Ŀ", + "ð«Ń ¼", + "åŁ Ĺ", + "åŀ ¾", + "åŀ º", + "åŁ Ĩ", + "åŀ ¿", + "åŁ Į", + "åŁ ĩ", + "èİ °", + "èĮ Ŀ", + "ð¬ľ ¯", + "éĦ Ģ", + "èİ ¶", + "èİ Ŀ", + "äĵ ĸ", + "èİ Ļ", + "æł »", + "æ¡ ł", + "ð¬ Ĥ", + "ð¬Ĥ ©", + "æ¡ Ħ", + "æ¢ ł", + "æł ´", + "æ¢ ´", + "æł Ĵ", + "éħ İ", + "éħ ı", + "ð«ł Ĩ", + "çł µ", + "çł ł", + "çł «", + "çł ¬", + "ç¡ ģ", + "æģ §", + "ç¿ ĥ", + "éĥ ª", + "ð¨ IJ", + "ð¨IJ Ī", + "è¾ Ģ", + "è¾ ģ", + "ð¬ Į", + "ð¬Į Ĺ", + "åī ķ", + "èµ Ģ", + "åĵ ¢", + "æĻ ħ", + "æĻ Ĭ", + "åĶ Ŀ", + "åĵ ³", + "åĵ ±", + "åĨ Ķ", + "æĻ Ķ", + "æĻ IJ", + "çķ ĸ", + "èļ Ħ", + "èļ Ĩ", + "ð« ij", + "ð«ij ¡", + "å¸ ±", + "å´ ģ", + "å³ ¿", + "𪨠¶", + "å´ Ħ", + "å¸ ¨", + "å ´Ģ", + "èµ Ĩ", + "𬠬¸", + "éĴ ·", + "𬬠»", + "𬬠¹", + "𬬠¿", + "ð¬Ń ģ", + "çľ ļ", + "çĶ ¡", + "ç¬ «", + "åĢ »", + "åĢ ´", + "èĦ ©", + "åĢ ®", + "åĢ ķ", + "åĢ ŀ", + "ð« ¢", + "ð«¢ ¸", + "åĢ ĵ", + "åĢ §", + "è¡ ĥ", + "èĻ Ĵ", + "èĪ Ń", + "èĪ ¯", + "èĪ ¥", + "çĵ ŀ", + "é¬ ¯", + "é¸ °", + "èĦ İ", + "æľ ĵ", + "èĥ ²", + "èĻ ĵ", + "é± ½", + "çĭ ´", + "å³ ±", + "çĭ »", + "çľ ¢", + "ð«Ĺ §", + "åĭ į", + "çĹ Ħ", + "çĸ °", + "çĹ ĥ", + "ç« ĺ", + "ç¾ ĸ", + "ç¾ ĵ", + "æ¡ Ĭ", + "æķ ī", + "çĥ ł", + "çĥ Ķ", + "çĥ ¶", + "çĥ »", + "ð¬Ĭ Ī", + "æ¶ į", + "æµ ¡", + "æµ Ń", + "æµ ¬", + "æ¶ Ħ", + "æ¶ ¢", + "æ¶ IJ", + "æµ °", + "æµ Ł", + "æµ Ľ", + "æµ ¼", + "æµ ²", + "æ¶ ĺ", + "æĤ Ī", + "æĤ ĥ", + "æĤ ¢", + "ð¬Ĵ Ī", + "å® §", + "çª ħ", + "çª Ĭ", + "çª İ", + "æī ħ", + "æī Ĩ", + "è¢ ª", + "è¢ Ĺ", + "è¢ ¯", + "ç¥ §", + "éļ º", + "åł ²", + "çĸ į", + "𨠺", + "𨺠Ļ", + "éĻ ´", + "ç ĥĿ", + "çł ®", + "ãĽ ļ", + "åĵ ¿", + "ç¿ Ģ", + "ç¿ Ĥ", + "åī Ł", + "𬳠¿", + "ð«Ħ ¨", + "ç» ¤", + "éª į", + "ð¬ĺ «", + "ä Ĥ", + "äĤ ®", + "çIJ İ", + "çı ¸", + "çı µ", + "çIJ Ħ", + "çIJ Ī", + "çIJ Ģ", + "çı º", + "æİ Ń", + "åł İ", + "åł IJ", + "åŁ ¼", + "æİ İ", + "åŁ «", + "åł Į", + "æĻ ¢", + "ð« ®", + "ð«® ĥ", + "æİ ŀ", + "åŁ ª", + "å£ ¸", + "ãĻ į", + "èģ į", + "èı Ŀ", + "èIJ ļ", + "èı ¥", + "èİ ¿", + "äĵ «", + "åĭ ļ", + "äĵ ¬", + "èIJ Ĩ", + "èı Ĥ", + "èı į", + "èı ¼", + "èIJ £", + "äĵ ¨", + "èı ī", + "äĵ Ľ", + "æ¢ ¼", + "æ¢ ½", + "æ¡ ²", + "æ¢ ¾", + "æ¡ ¯", + "æ¢ £", + "æ¢ Į", + "æ¡ ¹", + "æķ Ķ", + "åİ £", + "ç¡ Ķ", + "é¿ İ", + "ç¡ Ļ", + "ç¡ ļ", + "ç¡ Ĭ", + "ç¡ į", + "åĭ Ķ", + "ä´ ķ", + "é¾ ģ", + "éĢ ´", + "åĶ ª", + "åķ «", + "ç¿ Ī", + "ã «", + "ã« °", + "æĻ Ļ", + "çķ ¤", + "𬱠ĸ", + "è¶ ¼", + "è· Ĥ", + "èĽ ĥ", + "èļ ²", + "ð¬Ł ½", + "èļ º", + "åķ ´", + "äİ ĥ", + "å´ §", + "å´ Ł", + "å´ ŀ", + "å´ Ĵ", + "å´ Į", + "å´ ¡", + "éĵ ı", + "ð«ĵ ¯", + "ð«Ł ¹", + "éĵ ķ", + "ð«Ł ¼", + "éĵ ĸ", + "éĵ ĺ", + "éĵ ļ", + "éĵ ŀ", + "éĵ ¥", + "éĵ ´", + "çī »", + "çī ¿", + "ç¨ Ĩ", + "ç¬ ±", + "ç¬ ¯", + "åģ °", + "åģ ¡", + "é¸ º", + "åģ Ń", + "åģ ²", + "åģ ģ", + "ã ¿", + "ã¿ ł", + "éĦ ħ", + "åģ ĵ", + "å¾ Ľ", + "è¡ Ĵ", + "èĪ ³", + "èĪ ²", + "é¸ ¼", + "æĤ Ĩ", + "éĦ ĥ", + "çĵ »", + "ä Ŀ", + "äĿ Ļ", + "èĦ ¶", + "èĦ ŀ", + "èĦ Ł", + "äı ²", + "é± ¾", + "çĮ ĩ", + "çĮ Ĭ", + "çĮ Ħ", + "è§ ĸ", + "ðł ħ", + "ðłħ ¤", + "åº ±", + "åº ¼", + "åº ³", + "çĹ ĵ", + "ä´ Ķ", + "ç« «", + "åł ĥ", + "éĺ Į", + "ç¾ Ŀ", + "ç¾ ķ", + "çĦ Ĩ", + "çĥ º", + "çĦ Į", + "æ· ı", + "ð¬ĩ ¹", + "æ· Ł", + "æ· ľ", + "æ· ´", + "æ· ¯", + "æ¹ ´", + "æ¶ ´", + "ð¬į ¡", + "ã ¥", + "㥠Ħ", + "æĥ Ľ", + "æĥ Ķ", + "æĤ °", + "æĥ Ļ", + "å¯ ģ", + "éĢ Ń", + "𬤠ĩ", + "ð«į ¯", + "è¢ ¼", + "è£ Ī", + "ç¥ ²", + "𬤠Ĭ", + "ð«į ²", + "è° ŀ", + "èī ´", + "å¼ ¸", + "å¼ ¶", + "𬯠İ", + "éļ ĥ", + "å© ŀ", + "å¨ µ", + "å© ¼", + "åª ĸ", + "å© ³", + "å© į", + "å© Į", + "å© «", + "å© ¤", + "å© ĺ", + "å© ł", + "ð¬ĺ ¬", + "ð¬ĺ Ń", + "𬴠Ĥ", + "ð«ĺ ¦", + "ç» ¹", + "ð«Ł ħ", + "ð¬ĺ ¯", + "éª ķ", + "ð«ĺ §", + "çµ ľ", + "çı ·", + "çIJ ²", + "çIJ ¡", + "çIJ Ł", + "çIJ Ķ", + "çIJ Ń", + "åł ¾", + "åł ¼", + "æı ķ", + "ãĻ ĺ", + "åł §", + "åĸ Ĩ", + "åł ¨", + "å¡ ħ", + "åł ł", + "çµ ·", + "𪠣", + "𪣠»", + "ð¡ İ", + "ð¡İ ļ", + "è ijľ", + "æĥ İ", + "èIJ ³", + "èij Ļ", + "éĿ ¬", + "èij ´", + "èĴ ĩ", + "èĴ Ī", + "éĦ ļ", + "èĴ ī", + "èĵ ĩ", + "èIJ ©", + "èij °", + "èij İ", + "éĦ ij", + "èĴ İ", + "èij ĸ", + "èĴ Ħ", + "èIJ ¹", + "æ£ ¤", + "æ£ ½", + "æ£ «", + "æ¤ ĵ", + "æ¤ ij", + "ð¬ ĥ", + "ð¬ĥ Ĭ", + "é¹ Ģ", + "æ¤ Ĩ", + "æ£ ĵ", + "æ£ ¬", + "æ£ ª", + "æ¤ Ģ", + "æ¥ Ĺ", + "𬠷", + "𬷠ķ", + "çĶ ¦", + "éħ ¦", + "è§ Į", + "å¥ ¡", + "çļ ķ", + "ç¡ ª", + "æ¬ ¹", + "è© Ł", + "ð«IJ IJ", + "è¾ Į", + "æ£ IJ", + "é¾ Ĥ", + "𬠹", + "𬹠¼", + "é» ¹", + "çī ļ", + "çĿ İ", + "æĻ «", + "æĻ ª", + "æĻ ±", + "ð §", + "ð§ ¿", + "ð§¿ ¹", + "èĽ ij", + "çķ ¯", + "æĸ Ŀ", + "åĸ ¤", + "å´ ¶", + "åµ ģ", + "ð« ¶", + "ð«¶ ĩ", + "å´ ¾", + "åµ ħ", + "å´ ¿", + "åµ ļ", + "ç¿ Ļ", + "ð«ĸ ®", + "åľ Į", + "åľ IJ", + "èµ ij", + "èµ Ĵ", + "é¿ ı", + "éĵ ¹", + "ð¬Ń Ĭ", + "éĵ ½", + "𨱠ĩ", + "ð«ĵ ¶", + "éĶ Ĭ", + "éĶ į", + "éĶ İ", + "ð¬Ń İ", + "éĶ ĵ", + "çĬ ĩ", + "é¢ ĭ", + "ç¨ Į", + "çŃ Ģ", + "çŃ ĺ", + "çŃ ľ", + "çŃ ¥", + "çŃ ħ", + "åĤ ĥ", + "åĤ ī", + "ç¿ Ľ", + "åĤ Ĵ", + "åĤ ķ", + "èĪ ¾", + "çķ ¬", + "ð«ĸ ¯", + "èĦ ¿", + "èħ ĺ", + "ä IJ", + "äIJ ĥ", + "èħ Ļ", + "èħ Ĵ", + "𬱠Ł", + "é² ĥ", + "çĮ °", + "ð« Ľ", + "ð«Ľ Ń", + "çĮ ¯", + "ã º", + "㺠Ħ", + "é¦ ī", + "åĩ ĵ", + "éĦ Ĺ", + "ð« ·", + "ð«· ·", + "å» ĭ", + "å» Ĩ", + "éĦ Į", + "ç² ¢", + "éģ Ĩ", + "æĹ IJ", + "𬮠±", + "çĦ ŀ", + "ð¬Ĭ ¤", + "æ¬ »", + "𣠸", + "𣸠£", + "æº ļ", + "æº ģ", + "æ¹ Ŀ", + "æ¸ °", + "æ¹ ĵ", + "ã ´", + "ã´ Ķ", + "æ¸ Ł", + "æº ł", + "æ¸ ¼", + "æº ĩ", + "æ¹ £", + "æ¹ ij", + "æº ŀ", + "æĦ IJ", + "æĦ ĥ", + "æķ ©", + "çĶ ¯", + "æ£ ¨", + "æī Ĭ", + "è£ £", + "ç¥ ¼", + "å© »", + "åª Ĩ", + "åª ŀ", + "ãĽ ¹", + "åª ĵ", + "åª Ĥ", + "åª Ħ", + "æ¯ µ", + "çŁ ŀ", + "𬴠ĥ", + "ð«ĺ ¨", + "ç¼ Ĭ", + "ç¼ IJ", + "éª Ļ", + "çij ĥ", + "çij ĵ", + "çij ħ", + "çij Ĩ", + "ä´ ĸ", + "çij ĸ", + "çij Ŀ", + "çij Ķ", + "çij Ģ", + "𤠧", + "𤧠Ľ", + "çij ³", + "çij Ĥ", + "å¶ ħ", + "çij ij", + "éģ ĺ", + "é« ¢", + "å¡ ¥", + "åł ½", + "èµ ª", + "æij Ľ", + "å¡ Ŀ", + "æIJ Ĵ", + "æIJ Į", + "èĴ ±", + "èĴ ¨", + "èĵ ı", + "èĶ Ģ", + "èĵ ¢", + "èĵ Ĥ", + "èĴ »", + "èĵ £", + "æ¤ ¹", + "æ¥ ª", + "æ¦ ĥ", + "æ¦ ħ", + "æ¥ Ĵ", + "æ¥ ©", + "æ¦ ĩ", + "æ¤ ¸", + "æ¥ Ļ", + "æŃ ħ", + "𬠪", + "𬪠©", + "ç¢ ĥ", + "ç¢ ı", + "ð¬Ĵ Ķ", + "ç¢ Ī", + "äĥ ħ", + "ç¡ ¿", + "éĦ ł", + "è¾ Ĵ", + "𬨠İ", + "ð«IJ ĵ", + "é¾ Ĩ", + "è§ ľ", + "ä £", + "ä£ ĺ", + "æļ ķ", + "é¹ į", + "ð« «", + "ð«« ĩ", + "㬠Ĭ", + "æļ ħ", + "è· ±", + "èľ IJ", + "èľ İ", + "åµ ²", + "èµ Ĺ", + "éª ±", + "éĶ ĸ", + "ð«ĵ ¹", + "éĶ ĺ", + "éĶ ³", + "éĶ §", + "éĶ ª", + "ð¬Ń ļ", + "éĶ «", + "éĶ ¬", + "ð¬Ń Ľ", + "ç¨ ij", + "ç¨ Ļ", + "ä ħ", + "äħ Ł", + "ð¬ ķ", + "ð¬ķ Ĥ", + "çŃ »", + "çŃ ¼", + "çŃ ¶", + "çŃ ¦", + "çŃ ¤", + "åĤ º", + "é¹ İ", + "åĥ ĩ", + "èī ħ", + "èī ī", + "è° ¼", + "è² Ĩ", + "èħ ½", + "èħ ¨", + "èħ ¯", + "é² ī", + "é² Ĭ", + "é² Į", + "ä² Ł", + "𬶠ĭ", + "𬶠į", + "é² ı", + "éĽ Ĭ", + "çĮ º", + "é£ Ķ", + "è§ Ł", + "ð¦ Ŀ¼", + "é¦ Į", + "è£ Ľ", + "å» Ĵ", + "çĺ ħ", + "éĦ ĺ", + "é¹ Ĵ", + "éĦ ľ", + "éº Ģ", + "éĦ £", + "éĺ ĺ", + "ð«Ķ ¶", + "çħ ģ", + "çħ ĥ", + "çħ ´", + "çħ ĭ", + "çħ Ł", + "çħ ĵ", + "æ» ł", + "æº į", + "æº ¹", + "æ» Ĩ", + "æ» ī", + "æº ¦", + "æº µ", + "æ¼ ·", + "æ» §", + "æ» ĺ", + "æ» į", + "æĦ Ń", + "æħ ¥", + "æħ Ĩ", + "å¡ ±", + "ð« ĮĢ", + "è £¼", + "ç¦ ĭ", + "ç¦ Ķ", + "ç¦ ĺ", + "ç¦ Ĵ", + "è° «", + "é¹ Ķ", + "ð«ĸ ³", + "æĦ į", + "å« Ħ", + "åª ±", + "æĪ ¤", + "åĭ ł", + "æĪ £", + "ð«ĺ ª", + "ð«ĺ ¬", + "ç¼ ŀ", + "èĢ ¤", + "çij §", + "ð« ŀ", + "ð«ŀ ©", + "çij ¨", + "çij ±", + "çij ·", + "çij ¢", + "æĸ ł", + "æij ı", + "å¢ ķ", + "å¢ Ī", + "å¢ IJ", + "å¢ ĺ", + "æij ´", + "éĬ İ", + "ð¡ IJ", + "ð¡IJ ĵ", + "å¢ ļ", + "æĴ ĸ", + "𪠤", + "𪤠Ĺ", + "éĿ ½", + "éŀ ģ", + "èĶ Į", + "èĶ Ī", + "èĵ °", + "èĶ ¹", + "èĶ Ĭ", + "åĺ ı", + "æ¦ °", + "æ¦ ij", + "æ§ ļ", + "ð£ Ĺ", + "ð£Ĺ ĭ", + "æ§ ľ", + "æ¦ į", + "çĸ IJ", + "𬸠ĺ", + "éħ º", + "éħ ¾", + "éħ ²", + "éħ ´", + "ç¢ ¶", + "äĥ İ", + "ð¬Ĵ Ĺ", + "ç¢ ¨", + "ð¥ Ķ", + "ð¥Ķ ²", + "ç¢ ¹", + "ç¢ ¥", + "åĬ Ĥ", + "ð«ļ ĸ", + "ä´ Ĺ", + "å¤ ¥", + "çŀ į", + "é¹ ĸ", + "㬠İ", + "è· ½", + "èľ ¾", + "å¹ ĸ", + "å¶ į", + "åľ Ļ", + "𨱠ı", + "éĶ º", + "éĶ ¼", + "éĶ ½", + "ð¬Ń ¤", + "éĶ ¾", + "éĶ ¿", + "éķ ĥ", + "éķ Ħ", + "éķ ħ", + "é¦ Ŀ", + "é¹ Ļ", + "ç® ¨", + "ç® ĸ", + "åĬ Ħ", + "åĥ ¬", + "åĥ ¦", + "åĥ Ķ", + "åĥ İ", + "æ§ ĥ", + "ãĻ ¦", + "é² Ĵ", + "é² ķ", + "ð«ļ ķ", + "é² ĸ", + "é² Ĺ", + "é² ĺ", + "é² Ļ", + "𬶠IJ", + "𬶠ı", + "ð ©½", + "𩽠¾", + "å¤ IJ", + "çį į", + "é£ Ĺ", + "𬸠ļ", + "åĩ ĺ", + "å» ij", + "å» Ļ", + "çĺ Ĺ", + "çĺ ¥", + "çĺ ķ", + "é² Ŀ", + "éĦ «", + "çĨ ĩ", + "æ¼ ¹", + "æ¼ ĸ", + "æ½ Ĩ", + "æ¼ ¤", + "æ½ ©", + "æ¼ ¼", + "æ¼ ´", + "ã ½", + "ã½ ı", + "æ¼ Ī", + "æ¼ ĭ", + "æ¼ »", + "æħ ¬", + "çª ¬", + "çª Ń", + "ã ®", + "ã® ¾", + "𬤠Ŀ", + "è¤ ķ", + "ç¦ Ľ", + "ç¦ ļ", + "éļ ©", + "å« ķ", + "å« Ń", + "å« ľ", + "å« ª", + "ð¬ ĻĤ", + "ã »", + "ã» ¬", + "éº ¹", + "çĴ Ĩ", + "æ¼ ¦", + "åı ĩ", + "å¢ £", + "å¢ ¦", + "å¢ ¡", + "åĬ IJ", + "èĸ ģ", + "èķ °", + "èĶ ĥ", + "é¼ Ĵ", + "æ§ ±", + "é¹ Ŀ", + "ç£ ı", + "ç£ ī", + "æ® £", + "æħ Ń", + "éľ ħ", + "æļ µ", + "æļ ²", + "æļ ¶", + "è¸ ¦", + "è¸ £", + "äĹ ĸ", + "èĿ ĺ", + "èĿ ²", + "èĿ ¤", + "åĻ ĩ", + "å ĻĤ", + "åĻ Ģ", + "ç½ ¶", + "å¶ ²", + "å¶ ĵ", + "ãł ĩ", + "å¶ Ł", + "å¶ Ĵ", + "éķ Ĩ", + "éķ Ī", + "éķ ĭ", + "éķ İ", + "ð¬Ń ©", + "éķ ķ", + "ç¨ ¹", + "åĦ ĩ", + "çļ ŀ", + "çļ Ľ", + "ä´ ĺ", + "èī İ", + "èī ı", + "é¹ Ł", + "𩾠ĥ", + "é² ¦", + "é² ª", + "é² ¬", + "æ© ¥", + "è§ Ń", + "é¹ ł", + "é¹ ¡", + "ç³ ĩ", + "ç³ Ī", + "ç¿ ¦", + "é¹ ¢", + "é¹ £", + "çĨ Ľ", + "æ½ ĸ", + "æ½ µ", + "ã µ", + "ãµ IJ", + "æ¾ Ĥ", + "æ¾ Ľ", + "çij ¬", + "æ½ ½", + "æ½ ¾", + "æ½ ı", + "æĨ Ń", + "æĨ ķ", + "𬸠£", + "æĪ Ń", + "è¤ ¯", + "ç¦ ¤", + "ð«į ½", + "å« ½", + "éģ ¹", + "𬴠Ĭ", + "çĴ ¥", + "çĴ ²", + "çĴ Ĵ", + "æĨ Ļ", + "æĵ IJ", + "éĦ ¹", + "èĸ ³", + "éŀ Ķ", + "é» ĩ", + "ð¬ ŀ", + "ð¬ŀ Ł", + "èķ Ĺ", + "èĸ ¢", + "èķ ¹", + "æ© ŀ", + "æ© ij", + "æ© ¦", + "éĨ ij", + "è§ ±", + "ç£ ¡", + "ð¥ ķ", + "ð¥ķ ¢", + "ç£ ľ", + "è± ®", + "ð«Ł ¦", + "𬺠Ī", + "ð«ł ľ", + "é¹ ¾", + "èĻ ¤", + "æļ ¿", + "æĽ Į", + "æĽ Ī", + "㬠ļ", + "è¹ ħ", + "è¸ ¶", + "äĹ Ľ", + "èŀ Ĺ", + "çĸ ģ", + "ãł ĵ", + "å¹ ª", + "𪠩", + "𪩠ĺ", + "å¶ ¦", + "ð¬Ń ¬", + "𨱠ij", + "ð¬Ń ¯", + "é¦ ŀ", + "ç© Ħ", + "ç¯ ļ", + "ç¯ ¯", + "ç° ī", + "é¼ ½", + "è¡ ł", + "çĽ ¦", + "èŀ £", + "ç¸ ¢", + "é² Ń", + "é² ¯", + "é² °", + "é² º", + "é² ¹", + "ð«Ĺ ´", + "äº ¸", + "çĻ Ģ", + "çĺ Ń", + "𬸠¦", + "ç¾ ±", + "ç³ Ĵ", + "çĩ ĭ", + "çĨ »", + "çĩ Ĭ", + "çĩ ļ", + "çĩ ı", + "æ¿ ©", + "æ¿ ĭ", + "æ¾ ª", + "æ¾ ½", + "æ¾ ´", + "æ¾ Ń", + "æ¾ ¼", + "æĨ ·", + "æĨ º", + "æĩ Ķ", + "é» ī", + "å¬ Ľ", + "é¹ ¨", + "ç¿ ¯", + "ð«Ħ ·", + "çĴ ±", + "𤠩½", + "çĴ ¬", + "çĴ ®", + "é« ½", + "æĵ ¿", + "èĸ ¿", + "èĸ ¸", + "æª ij", + "æ« Ĩ", + "æª ŀ", + "éĨ ¨", + "ç ¹Ħ", + "ç£ ¹", + "ç£ »", + "çŀ «", + "çŀ µ", + "è¹ IJ", + "èŁ ı", + "ã ĺ", + "ãĺ İ", + "ð¬Ń ³", + "éķ ¤", + "ð¬Ń ¶", + "ð«Ķ į", + "éķ ¥", + "éķ ¨", + "ð¬Ń ¸", + "𨱠Ķ", + "ð¬Ń ¼", + "ð«Ķ İ", + "çŁ °", + "ç© Ļ", + "ç© ľ", + "ç© Ł", + "ç° ķ", + "ç° ĥ", + "ç° ı", + "åĦ ¦", + "éŃ ĭ", + "æĸ ¶", + "èī ļ", + "𬸠ª", + "è° ¿", + "ä² ł", + "𬶠Ł", + "é² ¾", + "𬶠ł", + "é² ¿", + "é³ ģ", + "é³ Ĥ", + "é³ Ī", + "é³ ī", + "çį ¯", + "äĹ ª", + "é¦ ĺ", + "è¥ ķ", + "è¥ ļ", + "𬶠¨", + "èŀ ±", + "çĶ ĵ", + "å¬ ¬", + "å¬ ¥", + "ð¦ Ī", + "ð¦Ī ¡", + "ð«Ħ ¸", + "çĵ Ģ", + "éĩ IJ", + "é¬ ¶", + "çĪ ĩ", + "éŀ ³", + "éŀ ®", + "ð¬Ł ģ", + "èĹ Ł", + "èĹ ¦", + "èĹ ¨", + "é¹ ²", + "æª «", + "é» ¡", + "ç¤ ŀ", + "ç¤ Į", + "ð¥ ĸ", + "ð¥ĸ ¨", + "è¹ ¢", + "è¹ ľ", + "èŁ «", + "äĹ ´", + "åļ ļ", + "é« ĥ", + "éķ ®", + "éķ ±", + "éħ Ĥ", + "é¦ §", + "ç° ł", + "ç° Ŀ", + "ç° °", + "é¼ «", + "é¼ ©", + "çļ ¦", + "èĩ ij", + "ä² ¢", + "é³ ij", + "é³ Ĵ", + "é¹ ±", + "é¹ ¯", + "çĻ Ĺ", + "ð¦ Ĵ", + "ð¦Ĵ į", + "æĹ ŀ", + "ç¿ ·", + "åĨ ģ", + "äİ ĸ", + "çĢ Ķ", + "çĢ į", + "çĢ Į", + "è¥ ľ", + "ä´ Ļ", + "ð¬Ļ Ĭ", + "åļ Ń", + "ã °", + "ã° Ģ", + "é¬ ·", + "éĨ Ń", + "è¹ ¯", + "èł ĭ", + "ç¿ ¾", + "é³ ĺ", + "åĦ ³", + "åĦ ´", + "é¼ Ĺ", + "𬶠Ń", + "𩾠Į", + "é³ ļ", + "é³ Ľ", + "éº ij", + "éº ĸ", + "èł ĥ", + "å½ Ł", + "å¬ ¿", + "é¬ Ĵ", + "èĺ ĺ", + "æ¬ Ĥ", + "é Ĩµ", + "é¢ ¥", + "çĶ Ĺ", + "ð¨ Ł", + "ð¨Ł ł", + "å· ĩ", + "éħ ħ", + "é« İ", + "çĬ ¨", + "𬶠®", + "ð¨ Ń", + "ð¨Ń ī", + "㸠Į", + "çĪ Ķ", + "çĢ ±", + "çĢ ¹", + "çĢ ¼", + "çĢ µ", + "è¥ «", + "åŃ ħ", + "éª ¦", + "ð¬Ļ ĭ", + "èĢ °", + "𤠫", + "𤫠ī", + "çĵ ĸ", + "é¬ ĺ", + "è¶ ¯", + "𬺠ĵ", + "ç½ į", + "é¼ ±", + "é³ ł", + "é³ ¡", + "é³ £", + "çĪ Ł", + "çĪ ļ", + "çģ Ī", + "éŁ Ĥ", + "ç³ µ", + "èĺ ¼", + "ç¤ µ", + "é¹ ´", + "èº Ķ", + "çļ Ń", + "é¾ ¢", + "é³ ¤", + "äº ¹", + "ç± ¥", + "é¼ ·", + "ð«ļ Ń", + "çİ ĥ", + "éĨ ¾", + "é½ ĩ", + "è§ ¿", + "èł ¼", + "× §", + "× ¤", + "× Ľ", + "×ķ× ª", + "× ¡", + "×Ļ× Ŀ", + "× ¦", + "× Ĵ", + "× ĺ", + "×ķ× ¨", + "× Ŀ", + "×ķ× ľ", + "× ĸ", + "๠Ĥ", + "ï º", + "ðŁ į", + "ðŁ IJ", + "×Ļ× ¨", + "ï »", + "ðŁ ij", + "ðĿ IJ", + "ðŁ ı", + "ðŁ Ķ", + "ðŁ Į", + "ðŁ İ", + "ðŁ ĵ", + "× Ł", + "ðĿ ij", + "×ķ× ĵ", + "ï ¦", + "Ġ× ķ", + "×ķ× ij", + "à¸Ń à¸ĩ", + "ðĿ ĺ", + "×Ļ× ª", + "ðĿ ķ", + "à¸Ĺ ีà¹Ī", + "Ø§Ø ¦", + "ðŁ ¤", + "×ķ× Ł", + "ر ÙĬ", + "×Ļ× ľ", + "ร ะ", + "า ย", + "ï ¯", + "ï ®", + "า ม", + "â ĩ", + "ðŁ ¥", + "ï Ń", + "ðĿ Ļ", + "×ķ× ł", + "á ½", + "Ġ× Ľ", + "ðŁ ļ", + "â ļ", + "ï §", + "×ij ר", + "×Ļ× ł", + "á ´", + "Ġ× Ĺ", + "á ¼", + "ðĿ Ĺ", + "Ġ× ¢", + "×Ļ× Ķ", + "ãģ£ ãģŁ", + "ãģĵ ãģ¨", + "á ¸", + "ÙĬ ÙĨ", + "ãģª ãģĦ", + "ا ع", + "ภ¨", + "à¹Ī à¸ĩ", + "×Ļ× ĵ", + "×ŀ ש", + "á Ī", + "׳ ×Ļ", + "×Ļ× ij", + "ï ¥", + "ðĿ ĵ", + "Ġ× Ļ", + "× ļ", + "ั à¸ĩ", + "â ĵ", + "ï ¤", + "ĠاÙĦ Ø£", + "า à¸ģ", + "à¹ī à¸Ļ", + "à¹Ģ ร", + "×ķ× Ŀ", + "á ¹", + "ภ¶", + "×Ļ× §", + "ภĭ", + "à¸Ħ ร", + "ภĺ", + "ั à¸ģ", + "ðŁ ķ", + "ÙĪ ÙĨ", + "à¸Ń ย", + "â Ĭ", + "ðĿ Ĵ", + "ĠاÙĦ ع", + "า à¸Ļ", + "×Ļ× Ł", + "ÙĦ ÙĬ", + "×Ļ× ©", + "à¸Ľ ระ", + "à¹Ģ à¸Ľ", + "Ġ× ł", + "×ķ× ¡", + "ภł", + "Ùħ ÙĨ", + "×ķ× ¢", + "×ķ× ŀ", + "â Į", + "ðŁ §", + "à¹ĩ à¸Ļ", + "ภį", + "ã İ", + "á µ", + "ĠاÙĦ س", + "×ķ× §", + "ห ล", + "ðŁ ĩ", + "â ı", + "ðŁ ¦", + "Ġ×Ķ ×ŀ", + "ÙĪ Ø§", + "Ġ× ª", + "ר ×IJ", + "à¸Ń à¸Ļ", + "ภ©", + "à¹Ī ว", + "×ķ× ¦", + "í Ĺ", + "ã Ħ", + "ï ¨", + "ï ¹", + "â İ", + "ï ²", + "ðĿ ļ", + "ð IJ", + "à¸Ħ ว", + "ห à¸Ļ", + "Ġ× ¨", + "ب ÙĬ", + "ร à¹Į", + "ر ا", + "Ø´ ر", + "×ķ× Ĺ", + "×ķ× ¤", + "×ķ× ©", + "×ķ× Ĵ", + "í Ŀ", + "â Ľ", + "à¸ķ ิ", + "à¹Ģ à¸ģ", + "ï ³", + "ï ±", + "à¸Ķ à¹ī", + "ë ¹", + "ï ¬", + "á ¿", + "ðŁ Ľ", + "ðĿ ĸ", + "à¹Īา à¸ĩ", + "ู à¹ī", + "Ġ×Ķ ×IJ", + "ĠاÙĦ ØŃ", + "פ ר", + "ÙĪ Ùħ", + "à¹Ģ ล", + "í ĸ", + "×Ļ× ¢", + "ì Ī", + "í ĵ", + "ðŁ ħ", + "á ł", + "à¸Ħว าม", + "à¸Ī ะ", + "׳ ×Ķ", + "Ġ× §", + "ภŁ", + "à¹ī à¸ĩ", + "ห ม", + "ت Ùħ", + "׾ ×Ļ", + "ÙĬ د", + "à¹Ī à¸Ļ", + "׊ר", + "ש ר", + "à¹Ģ à¸Ĺ", + "×ŀ ר", + "ë ĸ", + "ع ÙĦ", + "×ŀ ×¢", + "â ²", + "׾ ×Ķ", + "Ġ× ¤", + "à¸Ń à¸ģ", + "س ÙĦ", + "×Ļ× ŀ", + "ÙĤ ÙĬ", + "í İ", + "ت ØŃ", + "×Ļ× ¡", + "×Ļ× Ĺ", + "í Ľ", + "ï °", + "â ½", + "á ī", + "á Ĭ", + "á ¨", + "Ùĩ ا", + "Ġ׾ ×Ķ", + "×ķ× IJ", + "Ùħ ا", + "à¹īà¸Ń à¸ĩ", + "ر ب", + "ĠاÙĦ ج", + "×ŀ ×ĵ", + "Ùħ ÙĦ", + "ت ر", + "à¹Ģ à¸Ķ", + "×§ ר", + "í ħ", + "ì ¼", + "ê ¿", + "ã Ī", + "á IJ", + "ðŁ Ĺ", + "ê ¦", + "á ĭ", + "ðĿ Ķ", + "à¹Ģà¸Ľ à¹ĩà¸Ļ", + "à¹ĥ ห", + "ม า", + "ว à¹Īา", + "ม ี", + "ี à¹ī", + "à¹Ħม à¹Ī", + "ÙĨ ÙĬ", + "Ø ¤", + "ร า", + "×ķ ×Ļ", + "ãĤĪ ãģĨ", + "ิ à¸Ķ", + "×Ļ× ¤", + "׊׾", + "ÙĤ د", + "à¹Ģ ส", + "×Ļ× ĺ", + "à¸ģ ล", + "ר ׼", + "×ķ× Ľ", + "×Ļ× Ľ", + "ë Ī", + "ë ĥ", + "ðŁ ĸ", + "á ħ", + "â ¼", + "ã ī", + "à¹Ħ à¸Ķà¹ī", + "ת ×Ļ", + "×Ļ× IJ", + "ĠاÙĦ Ø¥", + "à¸ł า", + "ร ิ", + "ÙĤ Ø©", + "ØŃ د", + "ê »", + "ì ±", + "ת ×Ĺ", + "ì º", + "â ĭ", + "á Ħ", + "á ¾", + "â µ", + "â ¾", + "ĠÙĪ Ø§ÙĦ", + "׳ ×ķ", + "Ù Ģ", + "ÙĬ ا", + "à¸ģ à¹ĩ", + "×ŀ ×Ķ", + "ãģĦ ãĤĭ", + "ع د", + "ĠاÙĦ ÙĨ", + "Ġ×Ķ ×©", + "Ø ¦", + "ั à¹īà¸ĩ", + "ร ัà¸ļ", + "ÙĪ ÙĤ", + "ãģ§ ãģį", + "à¹Ģ à¸ŀ", + "׼ ׾", + "×ĺ ר", + "ั à¸Ķ", + "à¸Ń า", + "ì ¢", + "à¸Ń à¸ļ", + "à¸ķ ร", + "à¹Ģ à¸Ĭ", + "ì Ķ", + "ãģĹ ãģ¾", + "ë ģ", + "ë ķ", + "ðŁ Ļ", + "â Ĵ", + "á ¶", + "à¹ģ ล", + "ÙĨ ا", + "à¹ĥห à¹ī", + "à¹Ħ à¸Ľ", + "× £", + "ั ว", + "า à¸ĩ", + "×ĵ ר", + "×ij ׾", + "פ ×Ļ", + "Ġ× ĵ", + "ĠاÙĦ Ùģ", + "à¹Ģ à¸Ĥ", + "ש ×Ķ", + "×IJ ר", + "ë ¬", + "ãģ« ãģª", + "ÑĢ Ð¾", + "ว ิ", + "Ùħ ر", + "×IJ ת", + "Ùĥ ر", + "س ب", + "ÙĨ ت", + "ãģĹ ãģĦ", + "ا ج", + "à¸Ń รà¹Į", + "Ùĥ ÙĦ", + "س Ùħ", + "ส ิ", + "×Ļ× ¦", + "ë Ŀ", + "í ľ", + "ì ī", + "á Ĩ", + "Ùĩ Ùħ", + "à¸Ļ ีà¹ī", + "ãģĤ ãĤĭ", + "ãģĦ ãģ¦", + "س ÙĬ", + "׾ ×IJ", + "د ر", + "ãģ ļ", + "ÙĪ Ø¬", + "ĠاÙĦ Ø®", + "ص ر", + "í ı", + "à¹īา à¸ĩ", + "ุ à¸Ķ", + "×ķ× ĺ", + "×ij ×¢", + "í Ĩ", + "à¸Ĭ า", + "ร ม", + "ש ×ŀ", + "×ŀ ס", + "ê ´", + "ì ´", + "ë ľ", + "ì ¿", + "ì ©", + "ë »", + "â ¤", + "ðŁ Ĩ", + "á Į", + "á ķ", + "ذ ا", + "à¸Ĺ ำ", + "à¸ķ à¹Ī", + "ĠاÙĦ ÙĤ", + "ÙĦ Ùĥ", + "ู à¹Ī", + "à¸Ħ ุ", + "ÙĬ Ùħ", + "׳ ×Ļ×Ŀ", + "ืà¹Ī à¸Ń", + "ÙĪ Ø¹", + "ãĤ ĩ", + "ا ÙĤ", + "Ġ×ij ×¢", + "à¹Ģ ม", + "ج Ùħ", + "á» «", + "ãģĵãģ¨ ãģĮ", + "ب د", + "×ķ× Ķ", + "ש ׾", + "Ùĩ ر", + "à¹Ģ à¸Ļ", + "ãģ ¹", + "í ĭ", + "ì »", + "ì ½", + "ë Ń", + "ì Į", + "í Ģ", + "ë Į", + "ë º", + "ã Ĭ", + "à¹ĥ à¸Ļ", + "Ġ× Ĵ", + "๠Ĩ", + "à¸Ī าà¸ģ", + "ว ย", + "à¹ĥ à¸Ĭ", + "à¸ĩ าà¸Ļ", + "ĠاÙĦ Ø´", + "ا ØŃ", + "à¹īา à¸Ļ", + "ืà¹Ī à¸Ńà¸ĩ", + "×IJ ×Ļ", + "ب ÙĦ", + "ãģ¨ æĢĿ", + "׳ ס", + "ãģ¾ ãģĽ", + "Ùĥ ÙĨ", + "×¢ ר", + "ĠاÙĦ د", + "ש ת", + "í ŀ", + "Ùħ س", + "ص ÙĦ", + "×ķ׳ ×Ķ", + "ار Ø©", + "ÙĦ Ùħ", + "ส ม", + "Ø£ ÙĨ", + "ת ר", + "×IJ ×ŀ", + "ع ب", + "Ø® ت", + "ãĤ ĥ", + "ì ¡", + "ì £", + "ив а", + "ส ั", + "ึ à¸ģ", + "ì ¸", + "ë Ĩ", + "алÑĮ н", + "ì ³", + "ì į", + "ê ¼", + "ê ½", + "ì ı", + "ã Į", + "ã ı", + "ï ©", + "ê ª", + "á İ", + "Ġ× ĸ", + "à¸ģ ัà¸Ļ", + "×Ļ ×ķ", + "à¸Ħ à¸Ļ", + "׳ ×ķת", + "à¸ľ ูà¹ī", + "à¹ĥ à¸Ī", + "ãģĦ ãģŁ", + "Ùģ Ø±", + "×ĺ ×Ļ", + "צ ×Ļ", + "ãĤĤ ãģ®", + "ĠاÙĦ ص", + "ãģ¾ãģĽ ãĤĵ", + "د Ø©", + "×ij ×Ļ", + "ĠاÙĦ ر", + "Ġ×ŀ ×IJ", + "ส ำ", + "à¹Ģ ห", + "ع ر", + "ãģª ãģı", + "à¸ģร ะ", + "×ij ×ĵ", + "à¹Ģ à¸Ī", + "×Ļ× ļ", + "×Ĺ ×Ļ", + "ÙĬ ع", + "ש ×ij", + "ÙĨ Ø©", + "ÙĪ Ø¶", + "ÙĦ Ùģ", + "ÙĢ ÙĢ", + "פ ×¢", + "í Ī", + "×ŀ ×§", + "ภIJ", + "ØŃ Ø©", + "ا ص", + "Ñĭв а", + "à¸Ħ ม", + "ว ั", + "à¸Ľ ล", + "ì Ł", + "í ļ", + "ë ´", + "ë ij", + "ë ī", + "ë ĩ", + "ì ¨", + "ë ±", + "ë İ", + "â ¬", + "á ¥", + "á Ĺ", + "á Ľ", + "á į", + "Å ©", + "à¸Ķ ี", + "ô i", + "Ġ× ¡", + "׾ ×ķ", + "á»Ŀ i", + "à¸Ħุ à¸ĵ", + "â y", + "à¸Ļ า", + "×Ĺ ×ĵ", + "×ĵ ×Ļ", + "ห า", + "ج ÙĦ", + "à¹Ģ ว", + "ãĤĩ ãģĨ", + "Ùħ Ø©", + "ĠاÙĦ Ùĥ", + "Ġ×Ķ ×¢", + "ج ر", + "×ĸ ר", + "ا Ø·", + "׼ ת", + "×ķ׳ ×Ļ×Ŀ", + "ØŃ Ùħ", + "ê ¶", + "ر Ùĥ", + "Ġ׾ ×¢", + "×ķ× ĸ", + "ส ร", + "צ ׾", + "Ø ¢", + "ا ست", + "à¹Ī ม", + "Ø® ر", + "צ ×¢", + "×Ļר ×ķת", + "اد Ø©", + "Ø´ ار", + "×ŀ ×Ĺ", + "í Ĵ", + "à¹Ģร ีย", + "×Ĺ ×§", + "Ø§Ø «", + "ร à¸ĩ", + "à¹Ģ à¸ķ", + "à¸Ī ำ", + "ภĿ", + "à¹Īา ย", + "à¸Ħ ล", + "ÙĤ ÙĪ", + "иÑĩеÑģ к", + "à¸ĵ à¹Į", + "ั ย", + "Ùħ ع", + "ë ¨", + "ë ¿", + "ë ®", + "ï ´", + "ì ¥", + "ì «", + "ë µ", + "á ¡", + "â į", + "ð ĵ", + "â °", + "à¸Ĥ à¸Ńà¸ĩ", + "Ù ĭ", + "à¸ģ ัà¸ļ", + "ãģ® ãģ§", + "à¹ī ว", + "à¸Ńย à¹Īาà¸ĩ", + "ãģ Ń", + "á»ĩ t", + "à¸ķ à¹īà¸Ńà¸ĩ", + "×ŀ ×Ļ", + "à¹ģ à¸ļ", + "×Ĵ ר", + "ÙĪ Ùģ", + "ÙĤ ÙĦ", + "à¸łà¸² à¸ŀ", + "ר ×Ļ", + "ล า", + "ÙĬ س", + "Ġ× ¦", + "ÙĬ Ùģ", + "Ġ× ĺ", + "à¸ľ ล", + "á ng", + "ร ว", + "Ġ×ŀ ש", + "×IJ ×ķת", + "×ĸ ×Ķ", + "ู à¸ģ", + "à¸Ļ ัà¸ģ", + "اÙĨ ÙĬ", + "د ا", + "ãģ ³", + "׼ ף", + "ãĤī ãĤĮ", + "ãĤĮ ãģ°", + "ת ×§", + "ú c", + "ÙĪ Ø²", + "×Ļר ×Ķ", + "Ġn gh", + "án h", + "Ġ×ķ ×IJ", + "á» ħ", + "ส ุà¸Ķ", + "ë į°", + "ا ض", + "اÙĦ ÙĬ", + "ب ار", + "ع Ùħ", + "à¸ļ า", + "ت ج", + "à¸ŀ ร", + "×ķר ×Ķ", + "ả ng", + "Ø® ÙĦ", + "ภī", + "ắ c", + "ש ×Ļ×Ŀ", + "í Ķ", + "Ùģ Ø³", + "×Ļ× Ĵ", + "п ÑĢ", + "ĠاÙĦ Ø«", + "س Ø·", + "ร ูà¹ī", + "ีà¹Ī ย", + "à¸Ń à¸Ķ", + "ãģª ãĤĬ", + "×Ĵ ×ĵ", + "ãģĦ ãģ¾ãģĹãģŁ", + "ס ×§", + "Ø® ص", + "la ÅŁ", + "ен но", + "ب ØŃ", + "ส à¸Ļ", + "ภ®", + "ר×IJ ש", + "Ùħ ÙĪ", + "دÙĬ د", + "ษ า", + "×ķ× ļ", + "ãĥ§ ãĥ³", + "à¸ķ ุ", + "Ġê µ", + "ĠÑģв о", + "צ ×ij", + "à¸Ń ม", + "à¸Ľ ร", + "ت ع", + "×Ķ ×ª", + "اÙħ ÙĦ", + "×ŀ ׳", + "ç ¶ļ", + "ภ¤", + "í į", + "ë ĺ", + "ë ¤", + "ì ij", + "â ´", + "ã ĭ", + "Ġب اÙĦ", + "á»ģ u", + "ĠاÙĦ ÙĦ", + "à¸ķ ัว", + "ذ Ùĩ", + "ึ à¸ĩ", + "à¹ĥà¸Ĭ à¹ī", + "á»ĵ ng", + "à¸Ļ ั", + "ม าà¸ģ", + "ãĥ Ł", + "×ŀ ×ķ", + "à¸Ĺ ย", + "á»Ļ i", + "Ạ±", + "ả o", + "à¹Ĥ à¸Ķ", + "×IJ ׾", + "ส าม", + "ÙĪ Ø¨", + "à¸Ĺ ุ", + "ย ัà¸ĩ", + "×¢ ת", + "×ķ׳ ×ķת", + "à¸Ĥ ึ", + "à¸Ĥึ à¹īà¸Ļ", + "à¸ģ à¹Ī", + "Ạ«", + "á»ij c", + "ãģĹ ãĤĩãģĨ", + "á»ĭ ch", + "Ġ×IJ ×ķת", + "Ġש ×IJ", + "׼ ×ķ׾", + "á»Ļ c", + "ع Ø©", + "à¸Ĺ ี", + "à¹Ģ à¸Ń", + "Ùĥ ت", + "ãģ »", + "Ạ»", + "ìĹ ħ", + "à¸Ń à¸Ńà¸ģ", + "اÙĨ ت", + "à¹Ħ ร", + "Ġ×IJ ×Ĺר", + "Ø· ر", + "ÙĨ د", + "ื à¹īà¸Ń", + "Ø· ÙĦ", + "×IJ ×Ķ", + "uy ên", + "í ĸī", + "×ij ×Ķ", + "à¸Ħ à¹Ī", + "à¸Ĭ à¹Īว", + "ãģĤãĤĬ ãģ¾ãģĻ", + "ÙĬ ب", + "×§ ׾", + "ãĥ Ļ", + "Ä ©", + "س ر", + "า ว", + "ãĤ ±", + "à¸ļ ริ", + "ר ×Ĵ", + "á»ĥ u", + "ØŃ ت", + "×ķ×ŀ ×Ļ", + "ب ÙĨ", + "êµ IJ", + "ÄŁ u", + "ãģª ãĤĵ", + "×ij ×§", + "Ġפ ר", + "ắ n", + "ØŃ ÙĦ", + "×ij ×Ĺ", + "ấ u", + "×ij ×ķ×ĵ", + "ãĥ ¯", + "Ġ׾ ×§", + "ั à¸į", + "à¸ŀ ิ", + "×Ĺ ×Ķ", + "×ĸ ׼", + "ãĥ¼ãĥ ł", + "ÑĤ елÑĮ", + "×ŀ ×Ļ×ĵ", + "ÙĬ Ø®", + "Ạ³", + "ت ص", + "à¸ĺ ิ", + "è¾ ¼", + "ì ĵ", + "Ùĥ Ø©", + "ÙĤ ب", + "à¸Ħ à¹Į", + "à¹īา ย", + "à¸ĵ ะ", + "า ะ", + "ë Ĵ", + "ê ¾", + "ë ·", + "ì ĩ", + "ê º", + "ì ģ", + "ë Ģ", + "ì ¾", + "ë ½", + "ë ļ", + "ì Ń", + "ì İ", + "á ij", + "ë Ĺ", + "ê Ĵ", + "à ¡", + "à ¬", + "ðIJ Į", + "ã ĩ", + "ðĿ Ħ", + "Ġ׾ ×IJ", + "ãģ¨ ãģĦãģĨ", + "Ġn hi", + "×Ļ ×ķת", + "Ġש ×Ķ", + "à¹ģล à¹īว", + "Æ°á»Ľ c", + "à¸Ķà¹ī วย", + "à¸Ĺ าà¸ĩ", + "׳ ת", + "פ ת", + "à¹ģ à¸ķà¹Ī", + "ư ng", + "à¸Ńย ูà¹Ī", + "à¹ī ำ", + "Ġ×IJ ׾", + "Ùĥ Ùħ", + "ấ p", + "ล à¸ĩ", + "ãģŁ ãĤģ", + "×Ĵ ׾", + "ห ร", + "ĠÑĢ Ðµ", + "à¹Ģà¸Ĥ à¹īา", + "ÙĤ ر", + "Ġ×Ķ ×¡", + "ÙĪ ÙĬ", + "สาม าร", + "สามาร à¸ĸ", + "Äĥ n", + "à¸Ń ี", + "פ ×ķ", + "×Ļ׳ ×ķ", + "ว ัà¸Ļ", + "ặ c", + "íķ Ļ", + "×ŀ ת", + "ê u", + "Ạ¹", + "Ùģ ÙĬ", + "×ŀ צ", + "à¸Ħ า", + "ãģĿ ãģĨ", + "ãĢ ħ", + "ا ز", + "ا Ùĩ", + "ר ×Ļ×Ŀ", + "ấ n", + "ห าร", + "ạ t", + "ÙĨ Ùĩ", + "à¹Ģ à¸Ħร", + "ج Ùĩ", + "׼ ×Ļ", + "ắ t", + "à¸Ħ à¹īา", + "ر Ø©", + "ãĥ ı", + "Ùĥ ÙĪÙĨ", + "ứ ng", + "Ġìļ °", + "ย à¹Į", + "à¹Īว à¸Ļ", + "à¸ģ ำ", + "Ø« ر", + "Ñģ и", + "ĠاÙĦ Ø·", + "Ġ×Ķ ×¦", + "ĠØ ·", + "ĠاÙĦ ÙĪ", + "ê¹ Į", + "ØŃ ÙĬ", + "ار ات", + "à¹Ģ à¸ĭ", + "ب ا", + "г ÑĢ", + "ร ี", + "ืà¸Ń à¸Ļ", + "ع ت", + "ÙĤ اÙĦ", + "د Ùħ", + "Ø ¡", + "Ġ×ŀ ×§", + "×ĵ ×Ļ×Ŀ", + "×¢ ׾", + "ãģ Ĵ", + "ëĭ ĺ", + "×¢ ×Ķ", + "Ġìĸ ´", + "Ñģ ÑĮ", + "ÙĤ Ø·", + "ãĥ Ľ", + "èĢĥ ãģĪ", + "à¹ģ à¸Ļ", + "ÙĪ Ø§Øª", + "â u", + "ĠìĤ¬ ëŀ", + "ห ว", + "ĠاÙĦØ£ Ùħ", + "Ġ×Ķ ×ŀש", + "ب ÙĪ", + "à¸Ĭ à¸Ļ", + "ãĤĵ ãģ§ãģĻ", + "ว à¸Ļ", + "à¸ģร รม", + "×ŀ ×ķ×ĵ", + "Ùĥ اÙĨ", + "×ķ× £", + "ол ог", + "ت ÙĨ", + "à¸ķ à¹Į", + "ê² ĥ", + "ר ×ĺ", + "ừ ng", + "×ķ×ij ×Ķ", + "Ùħ ØŃ", + "ĠÐ §", + "פ ×Ĵ", + "ส à¸ĸ", + "ãģĭ ãĤĬ", + "ını z", + "à¹Ģ ย", + "ãĥ¼ ãĥ³", + "ãģĬ ãĤĬ", + "פ ש", + "ิ à¸ķ", + "Ø· ÙĨ", + "×Ļת ×Ļ", + "×IJ ׳", + "ç ek", + "ì ª", + "×ŀ ×ij", + "ศ า", + "ãĤ¹ ãĤ¿", + "à¸ļ ุ", + "×ĵ ×ijר", + "ãģĦ ãģı", + "ส ะ", + "à¹Ģ หล", + "ิ à¸ĩ", + "à¸ŀ ัà¸Ļ", + "ãģĦ ãģŁãģł", + "ãĤĤ ãĤī", + "à¹ī ม", + "ãģĵãģ¨ãģĮ ãģ§ãģį", + "าร à¹Į", + "ุ à¸ĩ", + "í ij", + "ì ¯", + "ë ¼", + "í Ĥ", + "ì ·", + "ê ¡", + "á ı", + "á Ĵ", + "ðĿ ľ", + "á ©", + "ðŁ Ħ", + "ðIJ ¤", + "Ġש ׾", + "Ġ×ŀ ×Ķ", + "à¹ģล ะ", + "Ġ׼ ׾", + "Ạ½", + "á»Ļ ng", + "ذ ÙĬ", + "л е", + "× ¥", + "ãģª ãģ©", + "ĠÙĪ Ø£", + "หà¸Ļ à¹īา", + "ãģ¾ ãģ§", + "à¸ķà¹Ī à¸Ń", + "à¸Ĺ ัà¹īà¸ĩ", + "ãģł ãģij", + "à¹ģà¸ļ à¸ļ", + "à¹Ģร า", + "פ ׾", + "ãģŁ ãģĦ", + "à¹Ģล ย", + "ãģ£ãģ¦ ãģĦãĤĭ", + "ế p", + "ึ à¹Īà¸ĩ", + "ê ´Ģ", + "ê³ Ħ", + "׼ ×ķ", + "à¹Ģร ืà¹Īà¸Ńà¸ĩ", + "×§ ×Ļ", + "êµ Ń", + "פ ס", + "ت ÙĬ", + "ãĥ Ħ", + "Ġ×Ķ ×Ĺ", + "г и", + "ר×IJ ׾", + "×ŀ ׾", + "ĠØ£ ÙĬ", + "Ġع ÙĦÙĬ", + "ãģĭ ãģ£ãģŁ", + "ש ×Ļ", + "д Ñĥ", + "×ŀ ף", + "׳ ×ĺ", + "׳ ×Ļת", + "mi ÅŁ", + "׼ ×Ŀ", + "Ġ×ij ר", + "Ġ׾ ×ij", + "ĠÐ Ľ", + "ç e", + "×ķ׳ ×Ļ", + "ãĤĪãģĨ ãģ«", + "פ ×ķר", + "ãĥ į", + "Ùĥ ÙĬ", + "×Ĺ ×ª", + "Ùģ ÙĦ", + "Ġ×Ķ ×§", + "Ġ×Ķ ×ij", + "Ġ×ŀ ס", + "à¹Īา à¸Ļ", + "п еÑĢ", + "à¹Īา ว", + "Ġ×ij ×IJ", + "ĠÙĪ Ùĩ", + "à¸Ļ ำ", + "Ġ×ij ש", + "׳ ×§", + "ãģ© ãģĨ", + "ש ×ķת", + "×ĵ ×Ķ", + "à¹Ģ à¸ļ", + "ÙĨ س", + "Ġìļ° ë¦¬", + "ส à¹Īวà¸Ļ", + "ล ัà¸ĩ", + "ج ز", + "Ġ×Ĺ ×Ļ", + "Ùĥ ثر", + "ล ะ", + "Ùĩ د", + "ĠÙĪ Ø¨", + "اÙĦ Ùħ", + "à¹ģ ม", + "Æ¡ i", + "Ġ×ij ×Ĺ", + "ữ a", + "à¹Ģà¸Ĺ ศ", + "à¸ķ ัà¹īà¸ĩ", + "ог да", + "׾ ×§", + "د د", + "สร à¹īาà¸ĩ", + "à¸Ĭ ี", + "Ùģ Ø¶", + "à¹ģ ห", + "uy á»ĩn", + "ร ัà¸ģ", + "á»ĩ m", + "ส า", + "פ ×§", + "ีย à¸ĩ", + "à¸ķ à¹Īาà¸ĩ", + "à¸Ħร ัà¹īà¸ĩ", + "ØŃ ÙĤ", + "à¹Ģ à¸Ńà¸ĩ", + "ائ ÙĬ", + "×ĺ ×¢", + "اÙĦ Ø©", + "ิ à¹Īม", + "ãĤ ½", + "د Ùī", + "Ġר ×IJ", + "ãģ£ ãģ¨", + "ãĥĥ ãĥĹ", + "ÙĬر Ø©", + "ê± ´", + "×ŀ ×IJ", + "×ķ ×ķ", + "ب ع", + "ãģ ²", + "ร าย", + "×ĵ ×Ŀ", + "ت Ùģ", + "à¸ķ à¸ģ", + "ạ ng", + "ãĤĴ è¦ĭ", + "à¸Ĭ ั", + "ưỠŁ", + "Æ°á»Ł ng", + "ج ب", + "×ķ×ŀ ר", + "ĠìĤ¬ëŀ Į", + "ó ng", + "ร ั", + "Ġ×Ķ ×ĸ", + "ר צ", + "Ġ×Ĺ ×ĵ", + "ذ ÙĦÙĥ", + "×ķר ×Ļ", + "ãģ¡ ãĤĥ", + "Ùģ Ø¹", + "Ġ׾ צ", + "á i", + "à¹ĩ à¸ļ", + "ãģ İ", + "à¸ģ ิ", + "ạ c", + "ë© °", + "ãģª ãĤĭ", + "×ķ׾ ×Ŀ", + "à¹ģ à¸Ĺ", + "×ķ× ¥", + "м еÑĤ", + "ü ÅŁ", + "ÑĢ Ñı", + "ภĴ", + "ÑģÑĤ оÑı", + "ع ÙĪØ¯", + "Ùħ ار", + "Ø· Ø©", + "à¸ŀ ื", + "к ÑĢ", + "à¹ģ à¸ģ", + "à¹Ĥ รà¸ĩ", + "×ij ×Ļ×ĺ", + "ê² ł", + "×ķ׾ ×Ķ", + "ØŃ ر", + "ืà¹Ī à¸Ńà¸Ļ", + "×ķ×ij ר", + "׊ש", + "ãĥķãĤ ¡", + "×ŀ ×ĺ", + "ú t", + "Ġd ön", + "ắ ng", + "ëł ĩ", + "ẳ ng", + "ว à¸ģ", + "ص د", + "Ø® Ø·", + "à¸Ń ั", + "ãĤı ãĤĮ", + "سÙĦ اÙħ", + "à¹Ģร à¹ĩ", + "×Ļש ×Ļ", + "ج اÙĦ", + "ãģij ãĤĭ", + "à¸Ĭา à¸ķิ", + "ÙĪØ§ ÙĤ", + "à¹Ĥ à¸Ļ", + "ãģ¦ ãģĹãģ¾", + "اع Ø©", + "ãĤŃ ãĥ£", + "à¸į า", + "ÙĦا ÙĤ", + "ิ à¸ģ", + "ĠÑģ ов", + "ÑĢаРº", + "×Ļ׳ ×Ļ", + "ü ÄŁ", + "Ã¼ÄŁ ü", + "×§ ×ij", + "à¹Ī à¸Ńà¸ĩ", + "Ġger çek", + "à¸Ĺ ั", + "ов аниÑı", + "×ŀ ׼", + "س Ø©", + "×Ļ× £", + "le ÅŁ", + "Ùħ ؤ", + "ĠìĿ ĺ", + "à¸IJ าà¸Ļ", + "ĠÑģ об", + "Ġêµ Ń", + "×¢ צ", + "з в", + "ส à¸ĩ", + "ز ÙĦ", + "ãģı ãĤĮ", + "и ÑĢÑĥ", + "ت Ø£", + "п олн", + "ìĺ Ģ", + "ÙĨ Ø´", + "׼ ×IJ", + "Ùħ Ø´", + "à¸Ķ à¹Į", + "ÙĪ ÙĬÙĦ", + "à¹ģ à¸Ĥ", + "ãģ£ãģ¦ ãģĹãģ¾", + "но ÑģÑĤ", + "в л", + "Ùħ ÙĤ", + "را ج", + "å¤ ī", + "ë Ľ", + "â ¸", + "ì IJ", + "à »", + "á ļ", + "â »", + "ê Ļ", + "â §", + "ð Ĵ", + "ðĿ ĩ", + "Ġ×IJ ת", + "ĠÙĦ ÙĦ", + "ĠØ£ ÙĨ", + "Ġ×ķ ×Ķ", + "ãģ« ãģ¯", + "Ġ×Ļ ×©", + "ت Ùĩ", + "ÃŃ nh", + "ÙĬ ات", + "Ġ×ij ×ŀ", + "à¸Ļั à¹īà¸Ļ", + "à¸Ļ à¹īำ", + "Ãł o", + "à¸ķ าม", + "ãģ® ãģ¯", + "d ır", + "Ġn ghi", + "ặ t", + "×ŀ ×Ļ×Ŀ", + "ãģ¦ ãģĦãĤĭ", + "Ġ×ij ת", + "หร ืà¸Ń", + "Ġس ÙĬ", + "ãģª ãĤī", + "à¹Ĥà¸Ķ ย", + "ı yor", + "à¸Ńี à¸ģ", + "á»ĩ nh", + "Ñĭ м", + "à¸Ĺุ à¸ģ", + "Ġ׾ ×Ĺ", + "Ġ×Ķ ×¨", + "Ġ×Ķ ×Ļ", + "à¸ŀ ระ", + "à¹Ģว ลา", + "ĠØ º", + "ẫ n", + "m Ä±ÅŁ", + "׼ ×Ķ", + "á»ij n", + "ãģ§ ãģĹãĤĩãģĨ", + "ãĥ ¢", + "à¸Ľ ี", + "ס ×Ļ", + "ãģĵ ãĤį", + "Ġ׾ פ", + "ร à¸ĸ", + "ê¸ Ī", + "à¸ģ วà¹Īา", + "ë ¬´", + "á»į ng", + "ãĤĵ ãģ§", + "ãĤĪãģĨ ãģª", + "á»ĵ i", + "ãĤ ¬", + "ส à¹Īà¸ĩ", + "×Ļ׳ ×Ķ", + "à¸ĸ ูà¸ģ", + "à¸Ī ัà¸Ķ", + "Ġ×Ķ ×Ĵ", + "ãĥ ľ", + "×ŀ ×ķת", + "ÙĪ Ùĥ", + "ëĭ ¨", + "ĠØ «", + "ãģ® ãģĮ", + "à¹Ģห à¹ĩà¸Ļ", + "ع ا", + "à¸Ļ ิ", + "Å ŀ", + "à¸Ń ะ", + "ãģĪ ãĤĭ", + "Ø« ÙĦ", + "ØŃÙħ د", + "à¹Ģà¸ģ ิà¸Ķ", + "פ שר", + "פ ×Ķ", + "ม ิ", + "ئ ÙĬس", + "à¸Ĺำ à¹ĥหà¹ī", + "×¢ ×ĵ", + "ìĭ ¤", + "à¸Ĭà¹Īว ย", + "ĠاÙĦÙħ ÙĨ", + "ز ÙĬ", + "ع ÙĬ", + "Ġ׼ ×IJ", + "ạ nh", + "á» ¹", + "ãĤĵ ãģª", + "ส ู", + "צ ר", + "Æ°á»Ľ ng", + "×ķ ×ķ×Ķ", + "à¹Ĥ ล", + "ĠاÙĦ Ùĩ", + "ว า", + "หล าย", + "Ñī е", + "à¸Ĥ à¹īà¸Ń", + "à¹īà¸Ń ย", + "ب Ø·", + "ка Ñı", + "ĠØ ¢", + "Ġи Ñģ", + "ĠاÙĦ غ", + "à¸ģ า", + "à¸Ļ à¹Īา", + "ÙĬ ÙĪ", + "×ij ×ķר", + "á»ħ n", + "ว à¸ĩ", + "×Ļ× ĸ", + "ì² Ń", + "н им", + "ëŁ °", + "×Ĵ ×ķר", + "ص ØŃ", + "ÙĦ ÙĪ", + "×Ĺ ×ķת", + "ส ุ", + "رÙĬ ÙĤ", + "ס ×ĺ", + "Ġ×ŀ ×¢", + "ãĥĨ ãĤ£", + "à¸Ħ ิà¸Ķ", + "ãĤį ãģĨ", + "à¹Ħ ล", + "à¸Ļ à¹Į", + "á»ı i", + "ÑģÑĤÑĢ Ð¾", + "ส à¸Ķ", + "ส าร", + "ÙĪÙĦ Ø©", + "ầ m", + "ร à¹Īว", + "รà¹Īว ม", + "ร ุ", + "ĠاÙĦس ÙĬ", + "ìĺ ģ", + "Ġ×ŀ ×ij", + "פ ×ĺ", + "à¸ķิ à¸Ķ", + "×ĺ ×Ļ×Ŀ", + "Ġë ¬´", + "ÙĤد Ùħ", + "Ġdü ÅŁ", + "ائ ÙĦ", + "м Ñĭ", + "ØŃ س", + "ÙĪ Øµ", + "×Ļ×§ ×Ķ", + "ãģ§ãģ¯ ãģªãģĦ", + "à¹Ģ หม", + "оÑĢ ÑĤ", + "í Ĩµ", + "ãģ IJ", + "к ÑĢа", + "ีย ว", + "ع ار", + "ئ Ø©", + "íĥ Ģ", + "ãģ«ãģª ãĤĬ", + "ج Ø©", + "ÙĪÙĤ ع", + "ÑĮ Ñı", + "×ķצ ×Ķ", + "ש ×Ŀ", + "ب ÙĤ", + "Ġ×Ļ ×Ķ", + "ÙĬ Ø·", + "ım ız", + "д еÑĢж", + "×Ļש ר×IJ׾", + "غ ÙĬر", + "ร à¸Ńà¸ĩ", + "à¹Ģรีย à¸Ļ", + "Ġ×Ķ ×ĺ", + "หม าย", + "Ùħ Ùĩ", + "اÙģ Ø©", + "Ġо ÑĢг", + "ÙĪ Ùī", + "ãĥ© ãĤ¤", + "×ŀ ׳×Ķ", + "ĠÄij o", + "Ġг оÑĢ", + "اÙħ Ø©", + "æ¥ ½", + "Ø« ÙĬر", + "à¸ģิ à¸Ī", + "á»ĵ n", + "ÙĨ ب", + "ÑĢÑĥ д", + "ìĹ Ī", + "Ġ×Ĺ ×ijר", + "ÑĢаР¶", + "ạ ch", + "ت ÙĪ", + "à¹Ĥ ม", + "×ij ×Ļ×ij", + "Ġí Ĩµ", + "aca ģı", + "جÙĦ س", + "à¹Ģà¸Ľ ล", + "ว à¸Ķ", + "à¸Ń ล", + "ãģŁ ãĤĬ", + "à¸Ľ ัà¸į", + "Ġìķ Į", + "عر Ùģ", + "à¹Ħ à¸Ł", + "Ø£ Ø®", + "å¤ļ ãģĦ", + "à¸Ķ ัà¸ĩ", + "Ø´ Ùģ", + "ãģ£ãģ¦ ãģĦãģ¾ãģĻ", + "׼ ×ł×¡", + "ÑĨ е", + "еÑģ п", + "Ùħ اÙħ", + "à¸ŀื à¹īà¸Ļ", + "иÑĩеÑģ ки", + "Ø® د", + "Ùĥ ÙĪÙħ", + "Ġ×Ķ ×¨×IJש", + "ت اب", + "é£Ł ãģ¹", + "ื à¸Ļ", + "оÑĢ Ð¾", + "Ġb öl", + "×ķ×Ĺ ×ĵ", + "دÙĬ ر", + "ắ m", + "د ع", + "ãģķ ãģĽ", + "à¸ĺ ร", + "à¸ĺร รม", + "ãģĭ ãĤĤ", + "å¤ļ ãģı", + "r ä", + "س ع", + "×Ļ׾ ×Ķ", + "ض ر", + "ĠاÙĦ شر", + "×ĸ ×ķר", + "×¢ ×ijר", + "ạ m", + "алÑĮ но", + "ر ÙĨ", + "اÙħ ج", + "׼ ×ļ", + "d ıģ", + "д ен", + "ض ا", + "ÙĦÙĬ Ùħ", + "Ġê·¸ 룬", + "تÙħ اع", + "ار ÙĬØ®", + "à¹Ĥ à¸ķ", + "ĠÑģ ÑĢед", + "Ġ׳ ×ķס", + "ÙĤ بÙĦ", + "оÑĤ ов", + "le ÅŁtir", + "Ġм еÑģÑĤ", + "سÙĦ Ùħ", + "Ġ×¢ צ", + "ĠاÙĦس ÙĦ", + "еÑĤ ÑĮ", + "اب Ø©", + "н ак", + "สà¸ĸ าà¸Ļ", + "Ġ×ij ׳", + "à¸ļ ัà¸Ļ", + "׼ ׳", + "Ġö ÄŁ", + "ãģ¨ è¨Ģ", + "uy ến", + "di ÄŁ", + "áºŃ u", + "ÑĢ Ð°Ñģ", + "ãĤ· ãĥ§ãĥ³", + "n ız", + "×ķ×ĵ ×Ķ", + "ت س", + "Ùħ اÙĦ", + "à¹Ģห à¸ķุ", + "ย ว", + "à¸ŀ ัà¸ģ", + "ãģĦ ãģªãģĦ", + "Ġк аÑĩ", + "ล à¹Į", + "ר׼ ת", + "ÅŁt ur", + "×ŀ ×ķס", + "ãģ ¥", + "б ол", + "عÙħ اÙĦ", + "×ķר ת", + "ÑĨи он", + "ศ ึà¸ģ", + "ภı", + "ÑĢ ÐµÐ½", + "اس ÙĬ", + "ائ ر", + "à¹Ĥ à¸Ľà¸£", + "Ġse ç", + "غ ÙĬ", + "Ñį ÑĤ", + "ен н", + "ãģª ãģ®", + "×Ļש ×Ķ", + "×Ļפ ×ķר", + "ãģŁãĤģ ãģ«", + "ز Ø©", + "Ġç oc", + "ãĤ¯ ãĥª", + "ÑĪ ÐµÐ½", + "ãĤı ãģij", + "رÙĬ د", + "ĠÑĢ Ð°ÑģÑģ", + "Ùĥ ات", + "ส à¸Ńà¸ļ", + "ce ÄŁi", + "ãĤ¿ ãĤ¤", + "à¸ļ ร", + "ĠاÙĦ بر", + "׳ ×ķ×¢", + "r ün", + "را ض", + "ศา ส", + "à¸ķ รà¹Į", + "ãģį ãģŁ", + "×ķ׾ ×ĵ", + "еÑĢ Ð¸", + "íĹ ĺ", + "ắ p", + "ت عÙĦ", + "Ùĥ د", + "иÑĤелÑĮ но", + "Ø· Ùģ", + "Ġав ÑĤом", + "Ġ×ŀ צ", + "ÑĪи Ñħ", + "ات Ùģ", + "ĠÑħ оÑĤ", + "Ùİ Ø§", + "ãģı ãĤĭ", + "×Ķ ×¤", + "à¹Ĥ à¸Ĺ", + "à¹ģ à¸ŀ", + "à¹Ī à¸Ńย", + "ĠاÙĦÙħ Ø´", + "à¸ģาร à¸ĵà¹Į", + "ани з", + "×Ķ ×ľ", + "ظ Ùħ", + "ย ุ", + "li ÄŁ", + "à¹Ħ à¸Ĥ", + "à¸ĸ ืà¸Ń", + "ö z", + "ãģij ãģ¦", + "à¹Ģ à¸ľ", + "ุ ม", + "ãĥĹ ãĥ¬", + "Ġ×Ķ×IJ ×Ĺר", + "خت ÙĦÙģ", + "ภİ", + "ÙĦا ØŃ", + "Ġdü zen", + "צ ×Ķ", + "س اء", + "×ķר ×ļ", + "×ķ×ĵ ×Ļ", + "ÑĢа ÑĦ", + "ÅŁt ır", + "ãģ« åħ¥", + "ãģĪ ãģ°", + "ص ÙĪÙĦ", + "ĠÐľ оÑģ", + "ا Ùĩر", + "ãģ£ ãģ", + "ĠлÑİ Ð±", + "×Ļ×¢ ×Ķ", + "Ġ×Ķ×ŀ ×§", + "สิ à¸Ĺ", + "สิà¸Ĺ à¸ĺิ", + "×Ļ׳ ×Ŀ", + "ÙĦا Ùģ", + "à¸ŀัà¸Ļ à¸ĺ", + "×ķ×IJ ×Ķ", + "ม ั", + "à¸Ĥ à¸ĵะ", + "д оÑĢ", + "ãģ¨ ãģª", + "à¸ģระ à¸Ĺ", + "ac ı", + "×ķ׾ ×ķ×Ĵ", + "Ñĥ ÑĪ", + "ãĥ¥ ãĥ¼", + "ãĥ ¦", + "Ùħ ست", + "Ġa ÅŁ", + "ש ×§", + "פ ת×Ĺ", + "าย à¸Ļ", + "í ĩ", + "ë ¢", + "ï ·", + "í ī", + "ì µ", + "ì ¬", + "ðĿ Ľ", + "ì Ĵ", + "ë Ļ", + "ê §", + "á ĸ", + "â ¨", + "â ±", + "á ĺ", + "ð ĸ", + "à ł", + "á Ķ", + "ðIJ Ń", + "ữ ng", + "Å© ng", + "Ġ×Ķ ×ª", + "ĠاÙĦ ا", + "Ġ×ŀ ת", + "à¸ĸ ึà¸ĩ", + "ò n", + "á»ĭ nh", + "нÑĭ м", + "Ġc ả", + "à¸Ķ ู", + "Ġ à¹ģà¸ķà¹Ī", + "Ġ×ij ×Ķ", + "ó i", + "ãģ¨ ãģĹãģ¦", + "ú ng", + "ĠØ °", + "Ġ×Ķ ×ł", + "Ġب ÙĨ", + "ÙĦ اÙĦ", + "à¹Ħ à¸Ĺย", + "á»ĩ p", + "t ı", + "ม ัà¸Ļ", + "ằ ng", + "á»ij t", + "к ом", + "à¸ĭ ึà¹Īà¸ĩ", + "à¸Ħร ัà¸ļ", + "à¸ļ à¹īาà¸Ļ", + "ĠاÙĦ ÙĬ", + "l ü", + "ÙĪ Ø³", + "ãģł ãģ£ãģŁ", + "à¹Ģ à¸ĩ", + "Ġê³ µ", + "н Ñĥ", + "ãĤĪ ãĤĬ", + "м Ñĥ", + "à¹Ģà¸Ĥ า", + "ãĤ Ģ", + "ни е", + "ãģ«ãģª ãĤĭ", + "áºŃ y", + "ĠÙĪ Ø§", + "ëł ¤", + "ש ×ķ", + "á p", + "×ĵ ×ķ", + "ãģ§ ãģĹãģŁ", + "ع ض", + "Ñģк ой", + "æĦŁ ãģĺ", + "ÑİÑĤ ÑģÑı", + "Ġ×Ļ ×Ľ×ķ׾", + "ãĤĵ ãģł", + "в и", + "à¹Ģล à¹Īà¸Ļ", + "ìĿ´ ëĭ¤", + "ĠÙĦ Ùĩ", + "à¸Ħ ืà¸Ń", + "ت Ùĥ", + "Ùħ ÙĥÙĨ", + "a ģı", + "׳ ×ĵ", + "ë¯ ¼", + "à¹Ħ ว", + "สำ ห", + "สำห รัà¸ļ", + "Ñģл ед", + "t ır", + "ĠÙĦ ÙĬ", + "ĠاÙĦع ÙħÙĦ", + "×ij ×ķת", + "×ij ×Ļ×Ŀ", + "à¸Ħ ำ", + "à¹Ģà¸Ħร ืà¹Īà¸Ńà¸ĩ", + "lı ģı", + "ืà¸Ń à¸ĩ", + "ج د", + "íŀ Ī", + "ìĭ ¬", + "×¢ ×ķת", + "ส ิà¸Ļ", + "Ñĩ и", + "ر ض", + "à¹Ģà¸Ľ ิà¸Ķ", + "à¸Ħ à¹Īา", + "ìĦ ł", + "ÙĪØ± Ø©", + "×§ ×ĺ", + "ìľ ł", + "ع ÙħÙĦ", + "×IJ ×Ļ×Ŀ", + "׾ ×Ļ×Ŀ", + "à¹ĥห à¸į", + "à¹ĥหà¸į à¹Ī", + "ừ a", + "á»į i", + "ãģ ¶", + "ÃŃ ch", + "ãĥĩ ãĤ£", + "×ķר ×Ļ×Ŀ", + "Ñģ о", + "ìķ ½", + "ов а", + "Ñĩ аÑģÑĤ", + "à¹Ģà¸Ī à¹īา", + "п ÑĢо", + "Ġ×ŀ ×Ĺ", + "ãĥ İ", + "×ķ×Ļ ×ķת", + "Ġд е", + "ë§ Ī", + "ì§ ģ", + "×Ļפ ×Ķ", + "ĠاÙĦع اÙĦÙħ", + "ë¥ ´", + "ר×IJ ×Ķ", + "uy á»ĥn", + "×¢ ×Ļ", + "ม ืà¸Ń", + "Ø¥ ÙĨ", + "ร ู", + "ĠØ ²", + "×Ļ ×ķ×Ŀ", + "à¸ķ à¹īà¸Ļ", + "ãģ¦ ãģĦãģ¾ãģĻ", + "Ùħ اÙĨ", + "ĠÐ ¥", + "à¸Ľà¸£à¸° à¹Ģà¸Ĺศ", + "á» ³", + "׾ ×ij", + "à¹Ģà¸Ķ à¹ĩ", + "ãģŁ ãģ¡", + "à¸Ĺี ม", + "à¸Ļ ะ", + "ìĹ °", + "Ġìł Ģ", + "ÙĦ Ùĩ", + "ợ i", + "ĠاÙĦ ز", + "د ار", + "ãĤ³ ãĥ³", + "м ин", + "à¹ģห à¹Īà¸ĩ", + "à¸Ķ ัà¸ļ", + "׼ ר", + "ж а", + "íĸ Ī", + "×ŀ ×ĸ", + "ợ i", + "à¸Ķ า", + "Ġع بد", + "à¹ģ ร", + "×IJת ר", + "×¢ ׳×Ļ", + "à¹Ģ à¸Ħ", + "×ķצ ר", + "ì§Ģ ë§Į", + "ائ Ùħ", + "Ø£ س", + "uy á»ģn", + "Ġ×IJ ׳", + "׊׳×ķ", + "×ĸ ×Ļ", + "ร à¹īาà¸Ļ", + "ĠÐł оÑģ", + "ĠÐłÐ¾Ñģ Ñģ", + "رب ÙĬØ©", + "t ür", + "ãĤĭ ãģĵãģ¨", + "ظ ر", + "б Ñĭ", + "à¸Ĺีà¹Ī สุà¸Ķ", + "Ġצ ר", + "èĩª åĪĨ", + "л аÑģ", + "ĠÑı в", + "ĠÑıв лÑı", + "à¸ŀร à¹īà¸Ńม", + "à¸Ńา à¸Ī", + "à¸ļริ à¸ģาร", + "Ġç ı", + "ëį ĺ", + "ĠاÙĦÙħ ست", + "ت Ø´", + "ש ×ķ×ij", + "ãĤ ´", + "Ġyap ıl", + "ĠاÙĦ ذ", + "ุ à¹Īม", + "à¸ĸ à¹īา", + "ìĦ ¤", + "ì° ¨", + "в аÑĢ", + "à¹Ģà¸ŀ ิà¹Īม", + "Æ°á»Ľ i", + "Ùĥ س", + "à¸Ńย าà¸ģ", + "ãģ¦ ãĤĤ", + "Ġг од", + "ÙĬ ار", + "à¸ķ à¸Ńà¸Ļ", + "Ġиг ÑĢ", + "à¹Ħà¸Ķà¹ī รัà¸ļ", + "ĠاÙĦÙħ ر", + "ÙĤ ت", + "Ġë ĺ", + "Ġëĺ IJ", + "ẩ n", + "ãģĻãĤĭ ãģĵãģ¨", + "×Ĵ ×Ŀ", + "Ġ×ij ×ij", + "ت د", + "ÙĪ Ø§Ø±", + "ãĤ ®", + "п ол", + "Ġм ог", + "تر Ùĥ", + "ÙĪ Ø«", + "Ġç ık", + "ا Ø©", + "à¹Ģà¸Ķ ียว", + "มี à¸Ħวาม", + "Ġ×ŀ ×Ĵ", + "ص Ùģ", + "ĠТ ак", + "Ġ׼ ת", + "×Ļ×ĵ ×Ļ", + "ов оÑĢ", + "ầ y", + "สิ à¹Īà¸ĩ", + "ب ت", + "ür ü", + "ÙĨ ج", + "หล ัà¸ģ", + "×Ļ×Ķ ×Ŀ", + "ÙĤ ص", + "з Ñĭ", + "×Ľ×ª ×ij", + "ư u", + "m ız", + "ĠìĦ ¸", + "л ог", + "Ùħ ÙĬÙĦ", + "ÙĬ ج", + "íĴ Ī", + "à¸ŀ à¸ļ", + "ห ัว", + "з на", + "ר ×§", + "à¹Ĥ ร", + "Ġ×ij ס", + "ĠBaÅŁ kan", + "ĠëĶ °", + "à¸Ń ัà¸Ļ", + "ีà¹Īย ว", + "н еÑģ", + "à¹Ģà¸Ķ ิà¸Ļ", + "ÙĬ اÙĨ", + "×ķ׾ ×Ļ", + "ا خت", + "צ ×ķת", + "ãģĵ ãģĵ", + "ĠاÙĦ اÙĨ", + "ĠпÑĢо ÑĨ", + "ãģ¾ ãģł", + "׼ ס", + "ĠاÙĦ Ø¢", + "ÙĬ ز", + "ĠاÙĦد ÙĪÙĦ", + "Ġíķĺ ëĤĺ", + "ض ع", + "ê» ĺ", + "ÅĽ wi", + "ย ิ", + "ãģ¡ãĤĥ ãĤĵ", + "ĠÙħ Ø´", + "à¸ĺ ี", + "ãģ¨ ãģį", + "׳×Ļ ×ķת", + "Ġë ¯", + "Ġë¯ ¸", + "Ġs ı", + "ëĭĪ ê¹Į", + "Ġп л", + "غ ÙĦ", + "à¹ģ รà¸ĩ", + "ب ÙĬر", + "ãģĤãĤĬ ãģ¾ãģĽãĤĵ", + "ê· ¼", + "Ġy üz", + "ĠdeÄŁ er", + "åł´ åIJĪ", + "á» ¡", + "м аÑĤ", + "รา à¸Ĭ", + "ÙĪØ± ÙĬ", + "ж ен", + "ãģ¾ ãĤĬ", + "ãģ® ä¸Ń", + "×Ļ×ĵ ×¢", + "à¸Ń ุ", + "à¸ļ à¸Ńล", + "à¸Ľà¸±à¸į หา", + "ز Ùħ", + "ÄŁ a", + "à¸Ń ืà¹Ī", + "à¸Ńืà¹Ī à¸Ļ", + "п л", + "Ġне обÑħодим", + "׼ ×ij", + "à¹Ģ ศ", + "קר ×Ķ", + "ì² ĺ", + "ëł ¨", + "×ŀ×§ ×ķ×Ŀ", + "jÄħ c", + "Ùĩ ÙĦ", + "Ġ×¢ ×ij×ķ×ĵ", + "à¹Ħม à¹ī", + "à¸ģล ัà¸ļ", + "×ķ׼ ׾", + "×§ ×ĵ", + "اÙĦ ÙĬØ©", + "ر Ùĩ", + "ãģij ãĤĮãģ°", + "ĠÙĨ Ù쨳", + "ãĤ¢ ãĥ«", + "ìĹ Īëĭ¤", + "×§ ×ķר", + "н еÑĢ", + "ب اب", + "ãĤ ¶", + "سب ب", + "ÙĦ ÙĬÙĦ", + "ص ÙĨ", + "ص در", + "ế m", + "à¸Ĭà¹Īว à¸ĩ", + "ØŃ ÙĨ", + "Ġ×ij ×Ĵ", + "×ŀ ×ķ×¢", + "׾ ×Ĺ", + "大 ãģį", + "ت ب", + "н еÑĤ", + "×Ļ×ij ×Ķ", + "б л", + "ãĥĹ ãĥª", + "اص Ø©", + "ãģ¤ ãģij", + "×Ļ×ŀ ×ķש", + "ãģĮ ãģĤ", + "ëĭ ´", + "ãģĭãĤĤ ãģĹ", + "ãģĭãĤĤãģĹ ãĤĮ", + "ãģ¡ ãĤī", + "×ij ×ĺ", + "Ġba ÄŁ", + "×Ļ×Ĺ ×¡", + "×ij ×ķ×¢", + "ล ี", + "פע ×Ļ׾", + "им и", + "g ÅĤ", + "Ġим е", + "خد اÙħ", + "×IJ ×Ļר", + "Ġy apt", + "ãģ¨ ãģĦ", + "à¸ĩ à¹Īาย", + "׾×Ļ ×ķ", + "ØŃد Ø«", + "را ÙĤ", + "ĠÄIJ i", + "اد ر", + "ãģĵãģ¨ ãĤĤ", + "×ij ×Ļר", + "Ġв з", + "ض اÙģ", + "ת ×ķ׼", + "ÑĢ Ð¾Ð¼", + "ر ات", + "à¹Ģà¸Ĺ à¹Īา", + "ãģĺ ãĤĥ", + "ãģĿ ãģĵ", + "اج تÙħاع", + "à¹īà¸Ń à¸Ļ", + "ÙĤ Ùħ", + "ë³ ¸", + "Ä ŀ", + "ש ×Ļ×ķ", + "×ij ׳×Ļ", + "ìľĦ ìĽIJ", + "à¹ģ à¸Ī", + "×Ĺ ×ķר", + "دÙĬ ÙĨØ©", + "ت Ø·", + "ằ m", + "ò a", + "ย à¸Ńà¸Ķ", + "Ġëĭ ¹", + "สุ à¸Ĥ", + "×ĵר ×ļ", + "د ÙĨ", + "س ÙĬÙĨ", + "ÙĪÙĤ Ùģ", + "ÑĨ Ñĭ", + "г оÑĤов", + "еж дÑĥ", + "à¸ŀ วà¸ģ", + "اÙĤ تص", + "اÙĤتص اد", + "cz ÄĻ", + "ni ÄĻ", + "ÑĢ ÐµÐ±", + "ØŃ ÙĪ", + "à¸Ĺ à¹Į", + "ãĤĪ ãģŃ", + "д ж", + "à¸ģล à¹Īาว", + "دÙĬ Ø«", + "ãĤ³ ãĥŁ", + "ÙĤ ÙĪÙħ", + "Ġت ØŃ", + "à¹Ģ à¸ķิ", + "اÙģ Ø¸", + "à¸Ī ุ", + "رÙĬ اض", + "×ŀש ×ļ", + "à¹Ĥ ย", + "еÑĢ Ðµ", + "ãģ¿ ãģŁãģĦ", + "ìĿ´ ëĿ¼", + "ĠاÙĦÙħ ÙĪ", + "ĠÑģÑĤ о", + "à¹Ģรà¹ĩ ว", + "Ġд еÑĤ", + "ĠÑģ дел", + "à¹Ģà¸Ĭ ืà¹Īà¸Ń", + "פ ׳×Ļ", + "ÙĪØ¶ ÙĪØ¹", + "×ij ס", + "à¹ģ à¸Ķ", + "ó c", + "ริ ม", + "ÑĢаР´", + "ìĪ ł", + "ãĥ¼ãĤ º", + "ãģ« ãģĬ", + "и но", + "פ ×Ļ׾", + "à¸Ĭั à¹Īà¸Ļ", + "×Ĺ×ĵ ש", + "à¹Ģà¸Ļ ืà¹Īà¸Ńà¸ĩ", + "׳ ×Ļס", + "غ رب", + "ãĤ¸ ãĥ£", + "ส ัà¸ĩ", + "à¹Ģ à¸Ĺีà¹Ī", + "à¹Ģà¸Ĺีà¹Ī ยว", + "ëŁ ¼", + "à¹ģ à¸Ł", + "ãĥ¼ãĤ ·", + "ãĥ¼ãĤ· ãĥ§ãĥ³", + "Ġвоз мож", + "جÙħ ÙĪØ¹", + "×ijר ×Ļ×Ŀ", + "ãĥĪ ãĥ©", + "ĠкаÑĩ еÑģÑĤв", + "Ø· ÙĬ", + "ÑĤ Ñı", + "צ ×ķ×¢", + "ÄŁ ını", + "ع ÙĦÙī", + "ا ذ", + "ÙĪØ§ÙĤ ع", + "Ùħ ÙĪØ§", + "ائ ÙĬÙĦ", + "к ол", + "á»ģ m", + "à¸ľà¸¥ ิà¸ķ", + "×Ļ׳ ×ĺר", + "س Ùĥ", + "ש ×Ļר", + "ศึà¸ģ ษา", + "à¸ļ ั", + "Ñĩ аÑģ", + "×ķפ ×Ķ", + "×Ļפ ×ķ׾", + "ĠاÙĦس اب", + "رÙĬ ب", + "ĠاÙĦ بÙĬ", + "ãĤ¹ ãĥĨ", + "Ñĩ ен", + "à¹ģ à¸ľ", + "Ġ׳ ש", + "ز ÙĬد", + "ØŃ اد", + "ëį Ķ", + "رÙĪ Ø¹", + "à¸Ĺุ à¸Ļ", + "ส มา", + "c zeÅĦ", + "×Ļ×ĵ ×Ķ", + "ãģ§ ãģĤ", + "Ġçoc uk", + "Ø® ب", + "à¸ļ าย", + "à¸Ľà¸£à¸° à¸Ĭา", + "×ŀש ׾", + "ãģª ãģĭ", + "à¸ģ าย", + "ãĥģ ãĥ£", + "аÑĢ Ð¸", + "ĠÑĩ а", + "à¸Ķ ำ", + "à¸Ĺั à¹Īว", + "Ñĥ Ñħ", + "Ġö z", + "Ġì¢ ĭ", + "ج رÙĬ", + "ائ ÙĤ", + "à¸ł ัย", + "Ø· ار", + "د ارة", + "Ä© nh", + "Ø« ÙĨ", + "zell ik", + "اÙĦ ت", + "Ġg eli", + "ãĥķãĤ ©", + "ол од", + "رب ع", + "שת ×ŀש", + "à¸ļร ร", + "íĿ ¬", + "Ġü rün", + "Ġê·¸ ëłĩ", + "ศาส à¸ķรà¹Į", + "ãģ ľ", + "×Ļ×ij ׾", + "ĠпÑĢед ÑģÑĤав", + "سط ÙĬÙĨ", + "ãĤĴ 使", + "Ġпом оÑī", + "×ķ×§ ר", + "ãĥ¯ ãĥ¼", + "Ġyö net", + "×Ļ×§ ר", + "à¸Ĥ า", + "еÑĢи ал", + "ØŃ Ùģ", + "Ġ×Ļ ×¦", + "à¸Ĺ ิ", + "å£ ²", + "à¸Ļ à¸Ńà¸ģ", + "×ķ׼ ר", + "íĻ ľ", + "á»§ y", + "ĠاÙĦÙĤ ر", + "×Ļ×ij ×ķת", + "ÅĽ ni", + "Ùħ شار", + "ượ t", + "ĠÙĦ دÙĬ", + "ÑĤ ел", + "ĠØ¥ ÙĦÙĬ", + "عÙĦ ÙĪÙħ", + "ìķ ĺ", + "в иÑĤ", + "à¸Ħ ะ", + "yr ı", + "ãģ¨ ãģ£ãģ¦", + "à¹Ģ à¸ī", + "à¸ĸ าม", + "ÙĤ ار", + "عÙĦ اÙħ", + "ặ ng", + "Ùħ ÙĴ", + "×Ļ×ŀ ת", + "سب Ø©", + "ãĤ¯ ãĥ©", + "×ķס ×£", + "ĠпÑĢ Ð¸Ð½", + "ãģĦ ãĤį", + "س اس", + "عت بر", + "วิ à¸Ĺย", + "วิà¸Ĺย า", + "س Ùĥر", + "ãĤ· ãĥ§", + "ãģ ģ", + "ัà¸ģ ษ", + "×ij ×ķ×Ķ", + "ห ย", + "ãģ¾ ãĤĮ", + "ĠоÑĢг аниз", + "каз ал", + "ĠÑģв Ñıз", + "uy ết", + "ĠпÑĢо из", + "Ġ×§ ×ĺ", + "à¹ģà¸ģ à¹ī", + "п ÑĥÑģ", + "Ġê·¸ ê²ĥ", + "ëĬ IJ", + "л екÑģ", + "ãĥ¼ãĥ Ĺ", + "à¸ķ ำ", + "ת×Ĺ ×Ļ׾", + "à¸Ńà¸ĩ à¸Ħà¹Į", + "Ạµ", + "׳ צ", + "Ø£ Ø´", + "Ø´ Ùĩ", + "ย ะ", + "à¸ģ à¸İ", + "ĠاÙĦØ¥ سÙĦاÙħ", + "ед ÑĮ", + "ãģ² ãģ¨", + "ëıĦ ë¡Ŀ", + "ãģ© ãģ®", + "Ñĥ в", + "еÑĩ ение", + "ĠاÙĦت ج", + "ãģ« è¡Į", + "Ġп озв", + "ãĤı ãĤĬ", + "ÙĦ اث", + "íķĺ ìĺĢ", + "Ġм аÑĢ", + "Ġkon uÅŁ", + "ãĥ¬ ãĤ¹", + "ãĤĴ æĮģ", + "ĠоÑģ нов", + "×Ĺ ×ij", + "ÙĪØ¬ ÙĪØ¯", + "פ ×ķף", + "в оÑĢ", + "Ġн ик", + "ãģĭ ãĤĭ", + "ÅŁtır ma", + "×Ļס ×ĺ", + "Ø£ ÙĦ", + "ห à¹Į", + "и она", + "лÑĮ н", + "Ġг оÑģ", + "ĠÐľÐ¾Ñģ к", + "ÑĢ Ð¾Ð±", + "×ķ×IJ ×Ļ", + "ãģĬãĤĬ ãģ¾ãģĻ", + "ãģ£ãģ ±", + "к л", + "à¸Ļ à¸Ķà¹Į", + "رÙĬ Ùģ", + "اس ب", + "ĠÑĢ ÐµÑĪ", + "Ġд ол", + "ãģ¹ ãģį", + "×Ļ×ij ×ķר", + "м еÑī", + "Ġна ÑĪ", + "à¹ģ à¸Ľà¸¥", + "ÑĢ Ð¸ÑĤ", + "кÑĥ Ñģ", + "и ÑĢа", + "аÑĤ ÑĥÑĢ", + "ÙĪØ§ صÙĦ", + "à¹Ģà¸ľ ย", + "à¸Ń ำ", + "à¹Ģà¸ģ ิà¸Ļ", + "غ Ùħ", + "ãģĻ ãģİ", + "lı kl", + "ÅĦ sk", + "ê² ¬", + "×Ļ׼ ×Ķ", + "׊ש×ij", + "ÙĪØ± ÙĬØ©", + "Ġд ейÑģÑĤв", + "×Ĺ׾ ×ĺ", + "Ġ׾ ×ŀ×¢", + "צ׾ ×Ļ×Ĺ", + "еÑĩ а", + "Ùģ Ø§Ø¹", + "×Ĵ ×Ļ×ĵ", + "áºŃ m", + "ÄĻ b", + "Ø´ ع", + "ãģı ãĤĬ", + "à¸ŀ ุ", + "ед еÑĢ", + "à¸Ĥ à¸Ļ", + "à¸Ħ าร", + "ĠболÑĮ ÑĪ", + "ãģı ãģªãĤĬ", + "à¸ĵ า", + "×ĵ ×ķ×Ĵ", + "Ġм н", + "ä¸Ĭ ãģĮ", + "ç¶ļ ãģį", + "ฤ ษ", + "ภĨ", + "Ø® ÙĬ", + "à¹Ģà¸Ĺ à¸ŀ", + "สั ม", + "à¹Ģส à¸Ļ", + "à¹Ģสà¸Ļ à¸Ń", + "ãĥ ´", + "Ġи ÑģÑĤ", + "با شر", + "ĠÑĥ ÑĢов", + "×ŀ ×ķ×ĸ", + "ab ı", + "wa ż", + "×ķצ ×IJ×Ķ", + "ÑĤ веÑĢ", + "à¸ŀัà¸Ļà¸ĺ à¹Į", + "׳ ×Ĵ×ĵ", + "ãĤĭ ãģĵãģ¨ãģĮãģ§ãģį", + "ĠÑĤÑĢ ÐµÐ±", + "à¸ģร ุà¸ĩ", + "ØŃت اج", + "à¹Ģ à¸Ħล", + "ã Ĩ", + "ÄĻ tr", + "Ġszcz eg", + "Ġר ש", + "à¸Ĺ à¸ĺ", + "Ġн ек", + "Ġнек оÑĤоÑĢ", + "в ÑĪ", + "Ð ¬", + "à¹Īว ย", + "ล ุ", + "б ÑĢÑı", + "หม ูà¹Ī", + "à¹ģ à¸ķà¸ģ", + "ר׼ ×Ļ×Ŀ", + "Ġí ĸī", + "ã i", + "Ùĥر Ø©", + "â Ń", + "í IJ", + "ã į", + "á ģ", + "â ®", + "â ¥", + "ì ®", + "à ¿", + "â ¿", + "á Ĥ", + "á ¤", + "â ł", + "í Ł", + "ðIJ į", + "ðIJ °", + "ðĿ Ĩ", + "ðŁ Ī", + "Ġ×¢ ׾", + "Ġع ÙĨ", + "ĠÙħ ع", + "Ġ×ĸ ×Ķ", + "ĠÙħ ا", + "Ġm Ãł", + "Ġd ụ", + "á»ĩ c", + "а Ñħ", + "s ı", + "íķĺ ê³ł", + "Ġ×ķ ×ij", + "ĠÐŁ о", + "×ķת ר", + "ĠÙĦ Ùħ", + "Ġ×ķ ׾", + "ãģĹãģ¦ ãģĦãĤĭ", + "Ġ×ŀ ×Ļ", + "Ġب ÙĬÙĨ", + "з а", + "ĠÙĥ اÙĨ", + "Ġ×Ķ ×Ļ×Ķ", + "ëħ Ħ", + "×IJ ×ķ", + "д и", + "ĠпеÑĢ Ðµ", + "d ı", + "Ġ׾ ש", + "Ġש ×ŀ", + "ãģĮ ãģĤãĤĭ", + "ãģĦ ãģĦ", + "ÑĢ Ðµ", + "×§ ×ķ", + "и ли", + "м е", + "ÙĬ ت", + "ãģ§ ãģĤãĤĭ", + "Ġв о", + "à¹ĥ หม", + "à¹ĥหม à¹Ī", + "Ġש ×ij", + "Ġ à¹Ĥà¸Ķย", + "ÙĬ Ùĩ", + "ãģ§ãģĻ ãģĮ", + "ãģ¨ ãģ¯", + "ר ×ķ", + "Ġ à¸ĭึà¹Īà¸ĩ", + "ãģ§ãģį ãĤĭ", + "м о", + "à¹Ģà¸ŀ ืà¹Īà¸Ń", + "צ ×ķ", + "×ĺ ×ķ", + "ìķ Ī", + "Ġh á»į", + "à¹Ģà¸ĩ ิà¸Ļ", + "ĠاÙĦ ب", + "Ġ มี", + "ë¬ ¼", + "Ñģ е", + "ëĵ¤ ìĿ´", + "Ġë§ IJ", + "Ġl Ỽ", + "a ÅĤ", + "×Ĺ ×ijר", + "Ġd á»±", + "ÙĬ Ø«", + "Ġth á»ĭ", + "à¸ģà¹Ī à¸Ńà¸Ļ", + "Ġ×ij ׼׾", + "ãģ ¸", + "ã썿ĢĿ ãģĦãģ¾ãģĻ", + "ả nh", + "ย า", + "Ùģ Ø§", + "ส ี", + "à¸ķ า", + "ë² ķ", + "ãĥª ãĥ¼", + "รา à¸Ħา", + "Ġ×ķ ׾×IJ", + "ãģ¨ ãģĵãĤį", + "à¹Ģล ืà¸Ń", + "di ÄŁi", + "ÙĪ Ø§ÙĨ", + "Ġ׾×Ķ ×ª", + "รว ม", + "פ ×Ļ×Ŀ", + "à¸ľ ม", + "ж и", + "c ı", + "ÑĢ Ð¾Ð´", + "Ġkar ÅŁÄ±", + "×Ĵ ×ķ", + "ãģ« ãģ¤", + "ãģ«ãģ¤ ãģĦãģ¦", + "r Ãł", + "×Ļ×ķת ר", + "ĠìĨ Į", + "×§ ×Ķ", + "ÑģÑĤв о", + "ãģij ãģ©", + "g é", + "à¸Ķ à¹īาà¸Ļ", + "çļĦ ãģ«", + "ĠÙĬ ÙħÙĥÙĨ", + "ìĨ į", + "ÙĬ Ùĥ", + "à¹Ħว à¹ī", + "Ñģки й", + "ì m", + "Ġ׾×IJ ×Ĺר", + "à¸Ńา หาร", + "Ġà¹Ģ à¸ŀ", + "รา ะ", + "ล ูà¸ģ", + "ÑģÑĤ а", + "Ġìľ ł", + "ÙĤ ÙĪÙĦ", + "б оÑĢ", + "Ñģк ого", + "หล ัà¸ĩ", + "à¸Ĥ à¹Īาว", + "à¹Ģม ืà¸Ńà¸ĩ", + "ê° ģ", + "t Ãł", + "ÙĬ ÙĬÙĨ", + "عر ض", + "ë° ©", + "Ġëı Ļ", + "Ġà¹Ģ à¸Ľ", + "Ġà¹Ģà¸Ľ à¹ĩà¸Ļ", + "ç i", + "li ÄŁi", + "ìĹIJ ê²Į", + "ãĤ¿ ãĥ¼", + "Ġ׾ ת", + "פ ×ķת", + "à¸Ĥ à¸Ń", + "ر س", + "ìł IJ", + "à¸ľ à¹Īาà¸Ļ", + "ÑĦ и", + "ج ÙĨ", + "ì¢ ħ", + "Ġ×Ķ ×¤", + "Ġn go", + "á»ĭ a", + "Ġtá» ķ", + "Ġê·¸ 리", + "à¹Ģม ืà¹Īà¸Ń", + "ذ Ùĥر", + "ìĸ ij", + "ìĹ Ń", + "×ĺ ׾", + "k ı", + "Ġع ÙħÙĦ", + "Ġع ÙĨد", + "à¸ĭ ืà¹īà¸Ń", + "Ġê± °", + "в е", + "r ü", + "à¹Ģ à¸Ńา", + "ส à¹Į", + "à¸Ī à¸Ļ", + "ס ת", + "Ġgi ả", + "ãĤĭ ãģ¨", + "à¸ģำ ลัà¸ĩ", + "н ей", + "à¸Ī ริ", + "à¸Īริ à¸ĩ", + "Ġë į", + "Ġëį Ķ", + "à¸Ħà¹Ī ะ", + "ì n", + "Ġsü re", + "Ġqu y", + "à¸ļ าà¸ĩ", + "åıĸ ãĤĬ", + "ר ×Ĺ", + "×ij ת", + "ãģĮ ãģĤãĤĬãģ¾ãģĻ", + "ר ש", + "ìĹIJ ëĬĶ", + "Ġ×IJ פשר", + "ay ı", + "ãģĮ ãĤī", + "ØŃ ب", + "ан Ñģ", + "س ÙĪ", + "ĠпÑĢ Ðµ", + "د ÙĪ", + "ãģ« ãĤĪ", + "à¹Ģà¸ģ ม", + "สู à¸ĩ", + "m akt", + "makt ad", + "maktad ır", + "Ġön em", + "×Ļ×ŀ ×Ļ×Ŀ", + "б о", + "ÙĪ ÙĬØ©", + "รู à¸Ľ", + "à¹Ĥล à¸ģ", + "Ùħ ÙĬع", + "ÑģÑĤ Ñĥп", + "à¹Ĥ à¸Ń", + "دÙĬ ÙĨ", + "ì¤ ij", + "ãģĹãģ ı", + "à¹Ģส ีย", + "в Ñĭ", + "Ùħ ت", + "íĺ Ħ", + "ãĥIJ ãĥ¼", + "ا Ø´", + "×§ ס", + "Ġtá» ¥", + "ล à¸Ķ", + "Ùģ Ø©", + "í ijľ", + "ر ج", + "k ÅĤad", + "ĠÅŁ ey", + "ĠØ£ Ùħ", + "Ġà¹Ģ ม", + "Ġب ÙĦ", + "Ñģ каÑı", + "ãģ¨ ãģ®", + "Ġìĭ ¤", + "ấ m", + "ห à¹īà¸Ńà¸ĩ", + "à¸Ĭ ม", + "d ü", + "Ġç ek", + "Ġê³ ł", + "×Ĵ ×ij", + "à¸Ĭี วิ", + "à¸Ĭีวิ à¸ķ", + "Ù쨶 ÙĦ", + "ภ¯", + "ç ı", + "Ġب Ø´", + "ĠÙĩ ÙĨا", + "ãģį ãģ¾ãģĹãģŁ", + "t ü", + "Ġìĺ ģ", + "ĠTür k", + "к ÑĤ", + "פר ס", + "ãģ¨ãģĦãģĨ ãģĵãģ¨", + "í ĶĦ", + "à¹ģร à¸ģ", + "ר ×ķף", + "Ġar as", + "×ŀצ ×IJ", + "Ġtá» ī", + "س ا", + "à¸ŀ à¸Ń", + "ĠاÙĦÙħ ØŃ", + "ãĥ ¤", + "ĠاÙĦ است", + "Ùģ ÙĨ", + "×Ļ×ŀ ×Ķ", + "ر ت", + "ãģ¨ ãĤĤ", + "Ġна Ñģ", + "п ÑĢи", + "Ġ×Ĺ ×ķ", + "и ла", + "ÙĬ Ø´", + "Ġgö z", + "Ġ×ij ׳×Ļ", + "ım ı", + "ĠÑĤ еÑħ", + "Ġh á»Ļ", + "غ ر", + "к он", + "اØŃ ت", + "Ġ à¸ŀ", + "à¸Ń à¸Ńà¸Ļ", + "à¸Ńà¸Ńà¸Ļ à¹Ħล", + "à¸Ńà¸Ńà¸Ļà¹Ħล à¸Ļà¹Į", + "Ñħ о", + "Ñı в", + "à¹ģ สà¸Ķ", + "à¹ģสà¸Ķ à¸ĩ", + "à¹Ģà¸ŀ ียà¸ĩ", + "ÑĤ ов", + "ا ÙĬ", + "Ġ×Ķ ×ĵ", + "Ġ×ķ ׼", + "ãĤī ãģĦ", + "×ķפ ף", + "Ġë ¶Ī", + "ล à¸Ńà¸ĩ", + "Ø· اÙĦ", + "Ġн и", + "ĠÙħ ست", + "ế c", + "Ġש ׼", + "ĠëķĮ 문", + "วัà¸Ļ à¸Ĺีà¹Ī", + "×Ļ׾ ×ĵ", + "ØŃ ا", + "е ÑĨ", + "Ġc ứ", + "×ĵ ×ķר", + "ĠÙħ ØŃ", + "ר׼ ×ij", + "بÙĬ ع", + "ни и", + "ĠاÙĦØ£ ÙĪÙĦ", + "à¸Ħว ร", + "ã썿ĢĿ ãģĨ", + "ĠС о", + "ائ ÙĬØ©", + "ر اء", + "оÑģ об", + "Ġب Ø£ÙĨ", + "×¢ ×ķ×ĵ", + "ĠÑĤ е", + "ãģĵ ãģĨ", + "ÑģÑĤ ÑĢа", + "ай н", + "Ġsö z", + "ت ÙĨا", + "à¸Ń ิ", + "ặ p", + "ĠìķĦ ëĭĪ", + "íķ Ń", + "Ġר×IJ ש", + "Ġ à¹Ħà¸Ķà¹ī", + "Ġ×Ĵ ×ĵ", + "Ġס פר", + "обÑī е", + "ĠÙĪ Ø¥", + "ada ÅŁ", + "ãģ¡ ãĤĩ", + "×§ ×ķ׾", + "ÑĢ ÐµÐ·", + "ĠdÃ¼ÅŁ ün", + "Ġ×ij ×IJ×ŀ", + "Ġìĸ´ ëĸ", + "ער ×ij", + "н ее", + "ĠÑģÑĤÑĢ Ð°Ð½", + "س اÙĨ", + "yn ı", + "ĠاÙĦر ئÙĬس", + "ãģĹãģ ª", + "Ġ׳ ת", + "ãģ«ãģª ãģ£ãģŁ", + "g ü", + "åıĹ ãģij", + "׾ ת", + "ìł Ī", + "ëĬĶ ëį°", + "Ø® ÙĬر", + "à¸ķà¹īà¸Ńà¸ĩ à¸ģาร", + "ĠÙĦ Ø£ÙĨ", + "Ġch á»ĭ", + "ÙĪ Ø©", + "à¹ĥ ส", + "ë¶Ģ íĦ°", + "íķĺ ë©´", + "ữ u", + "à¹Ģหม ืà¸Ńà¸Ļ", + "б еÑĢ", + "ĠìĿ´ ìļ©", + "ĠÑģ еб", + "wiÄĻ ks", + "Ġ׳ ×¢", + "ÑĤ ÑĥÑĢ", + "Ġngh Ä©", + "ש ×ķ×ĺ", + "ti ÄŁi", + "Ġde ÄŁi", + "×IJ ×ij", + "Ġ×ŀ ×ŀ", + "ãĥĹ ãĥŃ", + "wa ÅĤ", + "à¸Ī ึà¸ĩ", + "Ø® دÙħ", + "×IJ ×Ŀ", + "Ä±ÅŁ ı", + "cz Äħ", + "ר ×ĵ", + "ĠÑĢ Ñĥб", + "خر Ùī", + "ãģ® æĸ¹", + "Ġд енÑĮ", + "×Ĺ ×Ļ×Ŀ", + "еÑĤ е", + "ëĤ ľ", + "×IJ ×Ĵ", + "×¢ ×ķר", + "ë³ Ħ", + "åIJĮ ãģĺ", + "ãĤ ²", + "ר ×ļ", + "×ķש ×IJ", + "ìľ ¡", + "ا Ø®", + "צ ×Ļ×Ķ", + "á»± a", + "ãģĪ ãģ¦", + "ש×Ķ ×ķ", + "ан ÑĤ", + "ลา à¸Ķ", + "ин г", + "ë¡ ł", + "اع د", + "ÙĪ Ø³Ø·", + "Ġв оп", + "Ġвоп ÑĢоÑģ", + "Ùħ ÙĬÙĨ", + "à¸Ħ à¸ĩ", + "×Ļר ×Ļ×Ŀ", + "c ów", + "ê² ©", + "Ġê·¸ 룰", + "Ġì§ Ħ", + "Ġש ׾×Ķ", + "à¹Ģร ิà¹Īม", + "à¸Ĭ à¸Ńà¸ļ", + "д еÑĤ", + "ÑİÑī иÑħ", + "à¸ļ à¸Ńà¸ģ", + "æĢĿ ãģĦ", + "ع ÙĬد", + "ס ×ŀ", + "×Ĵ ×Ļ×¢", + "צ ×ĵ", + "ب ات", + "ĠëͰ ëĿ¼", + "à¸Ī ัà¸ĩ", + "ãģłãģij ãģ§", + "×¢ ×Ļר", + "ĠÑĩ ел", + "ĠÑĩел ов", + "ĠÑĩелов ек", + "ãĥĥ ãĥģ", + "à¹Ģà¸ģ ีà¹Īยว", + "à¸Ķ ิ", + "Ġפ ×¢", + "×Ļ×ŀ ×Ļ", + "ë° ĺ", + "Ø® ار", + "×ij ×Ļת", + "×¢ ×Ļ×Ŀ", + "ü yor", + "ãĤģ ãģ¦", + "к лад", + "Ġ à¸Īาà¸ģ", + "à¹Ģà¸Ħ ย", + "ส à¸Ńà¸ĩ", + "à¹ģ à¸Ħà¹Ī", + "ẫ u", + "หà¸Ļ ัà¸ĩ", + "ש׾ ×ķ×Ŀ", + "اÙĨ ÙĬØ©", + "åĩº ä¼ļ", + "åĩºä¼ļ ãģĦ", + "à¸ł าย", + "à¸ļา à¸Ĺ", + "à¸Ĭา ว", + "mu ÅŁ", + "Ġ׾ק ×ij׾", + "ãĤ· ãĥ£", + "Ġİ ÅŁ", + "×Ĵ×ĵ ×ķ׾", + "ج عÙĦ", + "ë³ Ģ", + "ยิ à¹Īà¸ĩ", + "à¸Ļ าย", + "à¸Ļ ีà¹Ī", + "วิ à¸ĺี", + "ãĤī ãģªãģĦ", + "ëł Ī", + "Ġ문 ìłľ", + "Ġ à¸ģ", + "à¸Ĺำ à¸ĩาà¸Ļ", + "à¹Ģว à¹ĩà¸ļ", + "ÑĦ е", + "楽 ãģĹ", + "สำ à¸Ħ", + "สำà¸Ħ ัà¸į", + "ر Ùħ", + "ãģķãĤĮ ãģ¦", + "Ġоб ла", + "ר×IJ ×Ļ", + "หม à¸Ķ", + "ÙĨ ÙĬØ©", + "ли н", + "Ġe ÄŁ", + "it im", + "ëł ¹", + "ص اÙĦ", + "ÅĽ l", + "à¸ľ ิà¸Ķ", + "ãĥŀ ãĥ³", + "åħ¥ ãĤĮ", + "à¹Ģà¸ķ à¸Ńรà¹Į", + "ار ÙĬ", + "ĠÐ ¦", + "d ür", + "ส วย", + "ë¦ ½", + "رÙĥ Ø©", + "Ġh ã", + "×Ļת ×Ķ", + "à¸Ĥ à¸Ļา", + "à¸Ĥà¸Ļา à¸Ķ", + "à¸Īำ à¸Ļ", + "à¸Īำà¸Ļ วà¸Ļ", + "ש ×ķ×§", + "Ġд ом", + "ì± ħ", + "ãģĭ ãģij", + "פ ×ķ׾", + "à¸Ĭ าย", + "Ñģ моÑĤÑĢ", + "Ñģл Ñĥж", + "ש ×IJ׾", + "кÑĢÑĭ ÑĤ", + "Ġìŀ ĺ", + "é«ĺ ãģĦ", + "ĠÑĢ Ñĥк", + "ÙĨ ص", + "д ав", + "ưỠ¡", + "ưỡ ng", + "ر اÙħ", + "×Ļ׳ ×Ļ×Ŀ", + "ãĥ© ãĥ¼", + "ëĦ ¤", + "Ġت ع", + "l ke", + "好 ãģį", + "æĮģ ãģ¡", + "Ġë§ İ", + "Ġy ük", + "ĠÑģоÑģÑĤ ав", + "енÑĤ ÑĢ", + "pe ÅĤ", + "à¹Ģà¸Ľà¸¥ ีà¹Īย", + "à¹Ģà¸Ľà¸¥à¸µà¹Īย à¸Ļ", + "íı ī", + "ãĤĦ ãģĻ", + "×Ĺ ×ĸ", + "×ijר ×Ķ", + "ë£ ¨", + "ìĶ Ģ", + "بØŃ Ø«", + "à¹Ģà¸ķ à¹ĩ", + "ów i", + "ب Ùĩ", + "ãģį ãģ¾ãģĻ", + "Ġ×¢ ×ŀ", + "×Ĵ ×ķ׾", + "ез д", + "ÙĬÙģ Ø©", + "สà¸Ļ à¹ĥà¸Ī", + "Ġת ׾", + "Ñı Ñī", + "Ġس ÙĨ", + "ĠÙĪØ§ ØŃد", + "ĠÑģ м", + "lad ı", + "ı ld", + "×Ļר ת", + "ีย à¸Ļ", + "ת×Ĺ ×ª", + "Ġж из", + "à¸ŀ ั", + "à¸ŀั à¸Ĵ", + "à¸ŀัà¸Ĵ à¸Ļา", + "à¸Ĭ ิ", + "ا Ø®ÙĦ", + "ãģ£ãģ¦ ãģĦãģŁ", + "รั à¸IJ", + "ãĤģ ãĤĭ", + "à¹Ĥ à¸ģ", + "ĠT á»ķ", + "Ġh akk", + "ر Ùģ", + "ìł Ģ", + "Ñģ об", + "ãģª ãģijãĤĮãģ°", + "Ùĩ ÙĪ", + "Ġë² ķ", + "ãĤ Ĩ", + "ĠاÙĦس عÙĪØ¯", + "Ġ×IJ תר", + "Ø§Ø º", + "Ġ׾ ×ĵ", + "à¹ģ à¸ķ", + "à¹ģà¸ķ à¹Īà¸ĩ", + "íĮ Į", + "Ñĥп иÑĤÑĮ", + "à¸ŀืà¹īà¸Ļ à¸Ĺีà¹Ī", + "×ij ת×Ļ", + "à¹ĩ à¸ģ", + "ÅĤ at", + "Ġê°ľ ìĿ¸", + "ìłķ ë³´", + "ÑĤ ал", + "Ġgü ven", + "Ġİ l", + "Ġê° ģ", + "Ġب ت", + "×ŀ ×ķ׳×Ķ", + "ĠاÙĦØŃ ÙĥÙĪÙħ", + "ÙĤ ات", + "à¹ģ à¸ģà¹Ī", + "ห าà¸ģ", + "н ÑĮ", + "à¸Ľ รัà¸ļ", + "มา à¸ĵ", + "Ġне Ñģк", + "ĠØ ¶", + "สม ั", + "สมั à¸Ħร", + "ãģĮ ãģĤãĤĬ", + "м еÑģÑĤ", + "Ġ×IJ צ׾", + "Ġкомп ани", + "ס ר", + "ÙĬÙħ Ø©", + "ĠÑħ оÑĢо", + "ĠÑħоÑĢо ÑĪ", + "Ġ×Ļ ×ķ×ĵ", + "ü s", + "×Ĵ ×Ļש", + "à¸ļ à¸Ĺ", + "تÙĨ ظ", + "ว าà¸ĩ", + "ม หา", + "Ġ׼ ×ķ׾", + "à¸Ĥ à¹īาà¸ĩ", + "ë° ľ", + "г од", + "д ан", + "ãģĭãĤĤãģĹãĤĮ ãģ¾ãģĽãĤĵ", + "ãģĵ ãģ¡ãĤī", + "ãĥIJ ãĤ¤", + "ece ÄŁi", + "دÙĬ دة", + "ÙĨ Ùī", + "Ġëĭ¤ ìĿĮ", + "ว ี", + "غ ا", + "ли з", + "à¹Ģà¸Ķ ิ", + "à¹Ģà¸Ķิ ม", + "ĠÙĬ ست", + "Ġy ılı", + "ko ÅĦ", + "ãģ§ãģĹãĤĩãģĨ ãģĭ", + "ãģĤ ãģª", + "ãģĤãģª ãģŁ", + "ÑĨ ен", + "ĠÙĪ Ø²", + "×IJ ×Ļש", + "à¹Ī à¸Ń", + "ر ØŃ", + "ê´ ij", + "ÑĢа ÑģÑĤ", + "Ġ×Ķ ×ľ", + "ãģĹãģ¦ ãĤĤ", + "×ŀר ׼", + "×ŀר׼ ×ĸ", + "éģķ ãģĦ", + "ãģŁ ãģı", + "ĠÑģ Ñĥд", + "в еÑģÑĤи", + "ĠíķĦ ìļĶ", + "ãĥķ ãĤ§", + "ÑĤелÑĮ но", + "à¹Ģà¸ŀ ืà¹Īà¸Ńà¸Ļ", + "ÅĤu ż", + "à¹Ģà¸Ķิà¸Ļ à¸Ĺาà¸ĩ", + "ש ×ķר", + "Ġ×ŀ ×ĵ", + "×ķ×¢ ׾", + "ÙĦ اÙħ", + "à¹Ħ à¸ĭ", + "л ей", + "кÑĥ ÑĢ", + "Ạ¢", + "à¸Ĺ าà¸Ļ", + "ì§ ij", + "ĠгоÑĢ Ð¾Ð´", + "ר ס", + "׾ ×ķ×Ĵ", + "mas ını", + "Ġл ÑĥÑĩ", + "ล à¹Īา", + "ìļ ¸", + "ש ×ĺ", + "ĠÐĺ н", + "í Ĥ¤", + "ÙĪÙĦ ا", + "ìķ ł", + "ĠØ£ÙĬ ضا", + "Ùĥ ار", + "ĠاÙĦت ع", + "ส ูà¹Ī", + "ãĤ ¼", + "×ij ×Ļ×IJ", + "ย à¸ģ", + "ĠØŃ ÙĤ", + "ر بÙĬ", + "ãģĺãĤĥ ãģªãģĦ", + "รัà¸ģ ษา", + "Ñħод иÑĤ", + "à¸ķ à¸Ńà¸ļ", + "׳ ×ĺ×Ļ", + "ĠاÙĦÙħ ج", + "تÙħ ع", + "ов аÑĤÑĮ", + "ÙĦ ÙĬÙĨ", + "×Ļ×ŀ ×ķת", + "Ġm ù", + "n ÄĻ", + "Ġد ÙĬ", + "׼ ש×Ļ×ķ", + "Ġhi ç", + "ë ijIJ", + "ÙĪ Ø§Ø¡", + "ÙĪ Ø·", + "ĠاÙĦ بÙĦ", + "à¹ģม à¹ī", + "×§ ×ķת", + "ÙĪØ¬ د", + "å§ĭ ãĤģ", + "ÙĬ ئة", + "Ġë§ ¤", + "ص بØŃ", + "פ ×IJ", + "г оÑĢ", + "ס ×Ķ", + "بÙĬ ÙĤ", + "ย าà¸ģ", + "Ġн ад", + "ÙĬ Ùij", + "Ġب ÙĪ", + "ס ×ķר", + "Ùħ ÙĥاÙĨ", + "ר ×ij", + "×Ĵ ×ĸ", + "צ ת", + "b ilit", + "л аг", + "ĠN go", + "×IJ ×ķר", + "à¸ķ à¸Ļ", + "íĬ ¹", + "à¸Ĺีà¹Ī à¸Ķี", + "à¸Ľà¸£à¸° à¸Īำ", + "ов ание", + "ãģĦ ãģ¤", + "ãĥĥãĤ¯ ãĤ¹", + "åIJĪ ãĤı", + "åIJĪãĤı ãģĽ", + "×Ļ׳ ×ķ×Ļ", + "ạ y", + "Ø« ÙĤ", + "ĠпÑĢ Ð¾Ð±", + "ĠпÑĢоб лем", + "ÅŁ eh", + "ÅŁeh ir", + "ع ادة", + "اÙĨ ÙĪÙĨ", + "à¸ķัว à¹Ģà¸Ńà¸ĩ", + "ì¶ ķ", + "ı lan", + "б ан", + "ãĥ³ ãĥī", + "à¸Ī ี", + "Ġ×Ķש ׳×Ļ", + "п оÑĤ", + "×ķ׾ ×Ļ×Ŀ", + "ล ัà¸ļ", + "ĠÑį ÑĤи", + "×ij×§ ש", + "ë¹Ħ ìĬ¤", + "à¸Ńยà¹Īาà¸ĩ à¹Ħร", + "×Ļ׾ ×Ļ", + "à¹ĥà¸Ĭ à¹Ī", + "ĠاÙĦ ÙĥÙĦ", + "ãĥļ ãĥ¼ãĤ¸", + "ص Ø©", + "ÑĤи ÑĢ", + "ãĤĵ ãģ©", + "зÑĭ к", + "wy ż", + "Ùĩ ÙĬ", + "ĠÙħ ÙĦÙĬ", + "Ġвид е", + "ظ اÙħ", + "دا ÙĪÙĦ", + "×ŀ ת×Ļ", + "Ġs ık", + "à¹Ģà¸ķิ ม", + "ãĤ¢ ãĤ¤", + "ка Ñħ", + "צ ×Ļ׾", + "à¹Ģà¸Ĭ à¹Īà¸Ļ", + "м аг", + "маг аз", + "магаз ин", + "à¸Ľ ั", + "à¸Ľà¸± à¸Ī", + "Ġש ×Ļר×ķת", + "ีย ม", + "ãĥĸ ãĥ«", + "Ġد ÙĪÙĦ", + "קר ×Ļ×Ŀ", + "Ùĩ Ùı", + "ов о", + "Ġü ret", + "د ÙĪÙĨ", + "à¹ģà¸Ļ ว", + "à¹Ģà¸Ļ ืà¹īà¸Ń", + "ĠÑĦ оÑĤ", + "ãĥ ĺ", + "ãģ¤ ãģĭ", + "Ñı Ñģ", + "ĠíķĺëĤĺ ëĭĺ", + "ائ ع", + "Ġп лаÑĤ", + "ìĺ Ī", + "Ġdost ÄĻp", + "ÙĪØ¬ Ùĩ", + "Ġ×Ķ ×Ĺ×Ļ", + "׳ ×Ļ×§", + "д ей", + "í ĽĦ", + "ı y", + "بØŃ ر", + "à¹Ģส ริม", + "Ġ׾ ×Ĵ", + "ذÙĩ ب", + "ج ÙĬÙĦ", + "رÙĥ ز", + "Ġë ħ", + "Ġëħ ¸", + "פ×Ļ׾ ×ķ", + "ãģ¾ ãģļ", + "iri ÅŁ", + "ĠÙĥ ÙĬÙģ", + "Ġ×ij צ", + "Ġêµ IJ", + "ÑĢоÑģ Ñģ", + "ĠØ´ ÙĬ", + "Ġiç er", + "×Ĵ ×ķ×ij×Ķ", + "мен но", + "×¢ ×ij×Ļר", + "×ķ×ŀ ×Ķ", + "ãĤī ãģĹãģĦ", + "ãģ ¼", + "Ñī ин", + "è²· ãģĦ", + "جÙħÙĪØ¹ Ø©", + "Ġdön em", + "Ġ×ij ×IJר", + "в еÑģÑĤ", + "×ķר ×ķת", + "س Ùģ", + "à¹ģà¸Ĺ à¸Ļ", + "Ġд окÑĥменÑĤ", + "Ġا ÙĬ", + "ج اÙĨ", + "צ×ķ×¢ ×Ļ", + "ĠоÑģ об", + "ĠاÙĦÙħ س", + "ÑĢаР±", + "à¸ł ู", + "à¸Ķ าว", + "л екÑĤ", + "ع ÙĤ", + "×ķ×ĵ ×ķת", + "Ġol u", + "Ġolu ÅŁtur", + "ãģ¾ ãģ¾", + "ед ин", + "à¹Ģ à¸Ńà¸ģ", + "ãĤµ ãĤ¤", + "ëĦ Ī", + "Ø· ÙĨÙĬ", + "Ø· ÙĤØ©", + "ĠÐł аз", + "ÙĦ Ùij", + "Ñĩ ем", + "Ġ׾ ×ĺ", + "สั à¹Īà¸ĩ", + "سر ائÙĬÙĦ", + "Ġפר ×ĺ×Ļ", + "д еÑģÑĮ", + "Ġ׳ ׼", + "اÙĨ ب", + "ÙĬا Ø©", + "Ùħ بر", + "Ġk ı", + "à¸Ľ à¸ı", + "à¸Ľà¸ı ิ", + "à¸ļั à¸ķิ", + "׳ ת×Ļ", + "ìĨ ¡", + "ر اب", + "à¹ĥ à¸ķ", + "à¹ĥà¸ķ à¹ī", + "×Ļ׳ ת", + "ÙĪ ÙĬر", + "Ġ×Ķ×ŀ ×Ļ", + "ей ÑĩаÑģ", + "×§ ×ķ×ij", + "در اس", + "ĠÙħ ÙĤ", + "رÙĬ ÙĨ", + "Ø® اص", + "ãģĬ éĩij", + "Ġج دا", + "ãģĨ ãģ¡", + "ëħ ¸", + "ır ım", + "æ§ ĺ", + "ãģ« å¯", + "ãģ«å¯ ¾", + "ÑĨ ев", + "Ġv ard", + "ĠÐIJ н", + "e ÄŁ", + "ÑģÑĤв енно", + "Ð ¨", + "س د", + "à¸ģ ุ", + "à¹ģà¸ľ à¸Ļ", + "รูà¹ī ส", + "รูà¹īส ึà¸ģ", + "ات ØŃاد", + "Ñij ÑĤ", + "×Ĺ ×ķ×§", + "ãģĻ ãģIJ", + "Ø· ÙĦاÙĤ", + "Ġ×§ ×ķ×ĵ", + "à¹ĥà¸Ĭ à¹īà¸ĩ", + "à¹ĥà¸Ĭà¹īà¸ĩ าà¸Ļ", + "ãĥ¼ãĤ ¿", + "Ġs ür", + "ÑĢ Ð¾Ðº", + "ë³ ij", + "สมา à¸Ĭ", + "สมาà¸Ĭ ิà¸ģ", + "ãĥķ ãĥ¬", + "è¾¼ ãģ¿", + "ãĤ» ãĥ³", + "Ġê°Ģ ì§Ģ", + "à¸ľ à¹īา", + "ÑįÑĤ омÑĥ", + "иÑĤ ел", + "à¸ł ั", + "ภij", + "ãĥĸ ãĥ©", + "×Ľ×ª ×ķ×ij", + "׳ ×Ŀ", + "ен нÑĭе", + "×¢ ×¨×Ľ×ª", + "Ġì Ĥ", + "ĠìĤ ´", + "à¸Ĥ à¹īา", + "׳ ×ķס", + "ãĥ¬ ãĥĵ", + "ÑĢ ÐµÑģ", + "à¹Ģล à¸Ĥ", + "Ø« اÙĦ", + "ìĹ Ĩ", + "ĠÑĩ аÑģÑĤ", + "า ศ", + "ãĥª ãĤ¢", + "u ç", + "×Ļ׼ ×ķת", + "ล à¹īาà¸Ļ", + "i ë", + "ãĤ¸ ãĤ§", + "à¸Ī à¸Ń", + "ÙĪ ØŃد", + "×Ļצ ×ķ×ij", + "Ġ×ij ש׾", + "ок о", + "ض Ø©", + "ذ ر", + "ĠÑĥ д", + "İ L", + "×ķצ ×Ļ×Ŀ", + "×ĸ ×ŀף", + "à¸Ľ à¸ģ", + "íķĻ êµIJ", + "س اÙħ", + "à¹Ħ à¸Ķ", + "ละ à¹Ģà¸Ń", + "ละà¹Ģà¸Ń ีย", + "ละà¹Ģà¸Ńีย à¸Ķ", + "ả y", + "аÑĨи он", + "ãĤ¹ ãĤ¯", + "פ ×ķס", + "ร à¹Īาà¸ĩ", + "ен нÑĭй", + "ع ÙĨ", + "عÙĦ ÙĨ", + "ائ Ùģ", + "d ÄĻ", + "ؤ ÙĪÙĦ", + "׾×ķ ×ķ", + "Ġ×ij ש×ij", + "ä»Ĭ åĽŀ", + "ĠاÙĦج ÙĨ", + "د اد", + "wa Äĩ", + "ãĥª ãĥ³", + "ĠìŀIJ ìĭł", + "اÙĨ ÙĬا", + "ãĥ¡ ãĥª", + "ÙĦ ÙĪÙĨ", + "à¸Ĺ à¹Īà¸Ńà¸ĩ", + "à¸Ĺà¹Īà¸Ńà¸ĩ à¹Ģà¸Ĺีà¹Īยว", + "اÙģ ÙĬ", + "Ġли ÑĪ", + "Ùħ ÙĬØ©", + "оÑĤ веÑĤ", + "Ñĩ ин", + "à Ĭ", + "ãĥ¡ ãĥ³", + "å® Ł", + "éļĽ ãģ«", + "ĠÑĢаР¹", + "ãĤ¦ ãĥ³", + "×Ļר ×ķש", + "×Ļר×ķש ׾×Ļ×Ŀ", + "ม ะ", + "Ġar a", + "каз аÑĤÑĮ", + "à¸ķ ัà¸Ķ", + "ÑĥÑİ ÑĤ", + "Ġü st", + "×Ĵ ×ķ×ij", + "×Ĵ×ķ×ij ×ķת", + "mal ı", + "ег од", + "егод нÑı", + "اÙģ ÙĤ", + "à¸Ĭ à¹Īà¸Ńà¸ĩ", + "Ġö zellik", + "×Ļצ ×ķר", + "Ġmi ÄĻd", + "Ġili ÅŁ", + "Ġна Ñħод", + "×¢ ×ĸר", + "׾ ×Ľ×ª", + "ÙĨت اج", + "ĠÑģ ем", + "à¸Ī à¹Īาย", + "à¸ķร ว", + "à¸ķรว à¸Ī", + "פר ×ķ", + "à¸Ĥ ัà¸ļ", + "ãģ ŀ", + "Ġп ло", + "к олÑĮ", + "×ŀ×¢ ×ĺ", + "íķĺ ìĭľ", + "jÄħ ce", + "ÙĨ اÙĨ", + "ลี à¸ģ", + "н ÑĥÑĤ", + "Ġоб ÑĢаз", + "Ùĥ بر", + "ĠاÙĦÙĪ Ø·ÙĨ", + "ãģķãģĽ ãģ¦", + "ÙĤ اء", + "×ŀ×ĵ ×Ļ׳", + "y ü", + "פ ×Ļת", + "׳ ×ķף", + "ÙħÙĨ ظ", + "หà¸Ļ ัà¸ģ", + "ìŀ Ī", + "ãĤ« ãĥ¼ãĥī", + "ع ÙĨÙĬ", + "п од", + "ض اء", + "à¸Ļ à¸ķà¹Į", + "×ŀש פ", + "ว à¹Į", + "ר ×ķ×§", + "ส ืà¹Īà¸Ń", + "פק ×Ļ×ĵ", + "ãģªãĤī ãģªãģĦ", + "ĠìŬ 룬", + "ÙĦ ج", + "Ñī иÑĤ", + "ãĥĥ ãĤ·", + "ÙĦÙĬ س", + "ĠÙĦ Ùħا", + "ìł ij", + "×ij ×Ļף", + "ãĥģ ãĤ§", + "Ġgü ç", + "Ġch ứ", + "×ķצ ×IJ", + "קר ×ij", + "à¹Ĥ à¸ŀ", + "оÑĩ но", + "סק ×Ļ", + "ש׾ ×Ŀ", + "صر Ùģ", + "ĠL Ãł", + "×¢ ×Ļת", + "á» ·", + "à¹Ĥ à¸Ńà¸ģ", + "à¹Ĥà¸Ńà¸ģ า", + "à¹Ĥà¸Ńà¸ģา ส", + "Ġ×Ķ ×ĵ×ijר", + "à¸Ļั à¹Īà¸Ļ", + "ز ر", + "нак о", + "íļ į", + "ãĤĤ ãģ¡", + "ãĤĤãģ¡ ãĤį", + "ãĤĤãģ¡ãĤį ãĤĵ", + "اÙħ ت", + "عد اد", + "и нÑĭ", + "ÅĤy w", + "à¸Ħ à¸ĵะ", + "à¸Ĺ ะ", + "kt ör", + "×Ļ×Ĺ ×Ķ", + "Ġм е", + "Ġме ÑģÑı", + "׳×Ķ ×Ĵ", + "ĠÑģ ÑĥÑīеÑģÑĤв", + "à¸Ļ ัà¸Ļ", + "ÑĦ ÑĦ", + "ек ÑĤив", + "عÙĦÙĪÙħ ات", + "б Ñĥд", + "à¸Ļัà¸ģ à¸ĩาà¸Ļ", + "หà¸Ļà¹īา à¸Ĺีà¹Ī", + "ÙĤÙĬ ÙĤ", + "ãĤ· ãĥ³", + "ãģ« éĸ¢", + "×IJר ×Ĵ", + "ĠпÑĢ Ð¾ÑĤ", + "ĠпÑĢоÑĤ ив", + "ĠìŀĪ ìĸ´", + "ÙĤÙĬ ÙĤØ©", + "ìĹ ĩ", + "k ür", + "ãģ«ãģªãĤĬ ãģ¾ãģĹãģŁ", + "Ġде ÑıÑĤ", + "ĠдеÑıÑĤ елÑĮ", + "פ×ķר ×ĺ", + "à¸Ł à¹īา", + "à¹Ģ à¸ł", + "ĠавÑĤом аÑĤ", + "×ĸ ×Ļ×§", + "Ġold uk", + "ع اÙħ", + "ĠÑĤ оÑĢ", + "yrı ca", + "ê Ì", + "ãĤŃ ãĥ³ãĤ°", + "ãģ« ãģ¨ãģ£ãģ¦", + "à¹Ģà¸ī à¸ŀ", + "à¹Ģà¸īà¸ŀ าะ", + "ãģ¯ ãģļ", + "×ŀ ×IJ×Ļ", + "สะ à¸Ķ", + "สะà¸Ķ วà¸ģ", + "ìľ¼ ë©°", + "à¸ģ ี", + "ภ¬", + "Ġ×¢ ×ķש", + "à¸łà¸² ษา", + "à¸Ĺ ัà¸Ļ", + "ac akt", + "acakt ır", + "اع دة", + "ĠÑĥÑģл Ñĥг", + "ס ר×ĺ", + "×ķ×ŀ ×ķת", + "×Ķ ×ķר", + "×ŀ ×ķ×ij", + "×ŀ×ķ×ij ף", + "سÙĬ اس", + "اتÙģ Ø§ÙĤ", + "×Ķ ×¦×ľ", + "Ùħؤ س", + "Ġp ó", + "Ġк ни", + "×Ļ׼ ×ķ׾", + "à¹Ģหล ืà¸Ń", + "׼׾ ׼", + "׳ ×ĸ", + "ÑĪи е", + "r ès", + "ĠاÙĦØŃ ÙĤ", + "лÑı ÑĢ", + "ห à¸į", + "หà¸į ิà¸ĩ", + "ר×Ĵ ×Ļש", + "à¹Ģส à¹īà¸Ļ", + "ש×ij ×ķף", + "ô tel", + "ап ÑĢ", + "апÑĢ Ð¸Ð¼ÐµÑĢ", + "اب ÙĦ", + "ĠÑĢаз виÑĤ", + "Ġп олÑĮз", + "ĠС еÑĢ", + "×ķ×ij ×Ļ", + "r óż", + "ìĭ Ń", + "ãĤ¯ ãĥĪ", + "ãģĹ ãĤĪãģĨ", + "à¸ģร ม", + "ØŃ ÙĥÙĪÙħ", + "à¹Ĥ à¸ļ", + "à¸Ĺ à¹īาย", + "ĠM á", + "ĠÑĤ Ñĭ", + "à¸Ħร ัว", + "ÑĢÑĥ б", + "ạ p", + "Ġm ÅĤ", + "ĠmÅĤ od", + "Ġgör Ã¼ÅŁ", + "Ġgeli ÅŁ", + "ươ i", + "×ŀש ×§", + "ÙĢÙĢ ÙĢÙĢ", + "รา ว", + "ãģĹãģ £", + "ãģĹãģ£ ãģĭãĤĬ", + "ĠÐļ он", + "Ġk ê", + "à¹Ĥà¸Ĺ ร", + "èIJ½ ãģ¡", + "åĩº ãģ¦", + "ล ัà¸ģษ", + "Ġ×Ĵ ×ij×ķ×Ķ", + "ãĥĻ ãĥ«", + "ê±° ëĤĺ", + "ë§ IJ", + "×Ļ׾ ×ĵ×Ļ×Ŀ", + "ĠëĦ Ī", + "×ŀר ×Ļ", + "ร ส", + "ãĥŃ ãĥ³", + "и ло", + "ноÑģÑĤÑĮ Ñİ", + "×ĸר ×Ĺ", + "п он", + "Ġ×Ķש ׾", + "ê²ł ìĬµëĭĪëĭ¤", + "Ġki ÅŁ", + "ĠÐļ и", + "ว ร", + "د اع", + "ÅŁ im", + "ÙĨ Ùij", + "в аÑĤ", + "را Ùĥ", + "ب اÙĦ", + "ид е", + "Ġ×Ķ×ŀ ×Ĺ", + "ìĸ µ", + "تÙģ Ø§Ø¹", + "Ø£ ت", + "ëĬ ĺ", + "ש ×Ļת", + "ست Ùħر", + "ĠÑĦ ак", + "ĠاÙĦØ£Ùħ رÙĬ", + "ëŀ ¨", + "اس Ùħ", + "Ġa ÄŁ", + "Ġç ev", + "Ùĥ ÙĪØ±", + "ãģķ ãģ¾", + "Ġç öz", + "Ġر س", + "Äħ da", + "สà¸Ļ ุ", + "ãģĹãģ¦ ãģıãĤĮ", + "н Ñİ", + "leÅŁ me", + "ãĤª ãĥ³", + "ãģ¨ ãģªãĤĬ", + "ava ÅŁ", + "×ĺ ×Ļ×ij", + "ØŃ ض", + "×ķצ ×IJ×ķת", + "ÙĨ ÙħÙĪ", + "ı t", + "ĠÑħ а", + "ĠÑħа ÑĢак", + "ĠÑħаÑĢак ÑĤеÑĢ", + "Ġd ÅĤ", + "ãĥĹ ãĥ©", + "à¸Ĭ ุม", + "à¹Ī à¸Ńà¸Ļ", + "×ķ×ij ׾", + "Ñģ ол", + "×ĵ ×Ĵ", + "аÑĢ Ð°ÑĤ", + "n ivers", + "Ġgerçek leÅŁtir", + "ĠاÙĦ ÙĦÙĬ", + "ระ ยะ", + "ĠÙħ ختÙĦÙģ", + "Ġgö nder", + "Ùģ Ø§Ø±", + "do ÄŁ", + "doÄŁ an", + "ص ÙĦاØŃ", + "Ġyay ın", + "ãĥĨ ãĥ³", + "รว à¸Ī", + "×Ļ×Ĺ ×Ļ×ĵ", + "ünk ü", + "ÑĨи алÑĮн", + "à¸ļ ู", + "ม ุ", + "h ä", + "Ø® Ùģ", + "å¢ Ĺ", + "å¢Ĺ ãģĪ", + "еÑĩ но", + "ĠاÙĦس ÙĨ", + "à¸Ĥ าว", + "im di", + "Ð «", + "à¸Ļà¸Ńà¸ģ à¸Īาà¸ģ", + "à¸ļา ล", + "ת ש", + "Ġdüzen le", + "мÑĭ Ñģл", + "ãģı ãģª", + "ż u", + "Ġwsp óÅĤ", + "Ġн аз", + "ınd aki", + "تر Ø©", + "ÅŁ ek", + "Ġö d", + "ĠÙĪ Ùĥ", + "Ġпозв олÑı", + "Ġת ×ķ׼", + "ÙħÙĨ تج", + "ë§ ī", + "ĠاÙĦØ« ÙĦاث", + "аÑĨи Ñİ", + "ÙĪØ± ÙĪ", + "Ñĭв аеÑĤ", + "خص ص", + "ĠاÙĦÙģ ÙĦ", + "ĠاÙĦÙģÙĦ سطÙĬÙĨ", + "Ø¥ جر", + "إجر اء", + "اÙĨت Ø®", + "اÙĨتخ اب", + "ار ÙĬØ©", + "×ķ Ö", + "Ø¢ ÙĨ", + "×ŀ×¢ ×ķת", + "Ġм ал", + "Ġ×IJ ×Ĺ", + "à¸Ĺ à¹īà¸Ńà¸ĩ", + "ze ÅĽ", + "Ġë§Į ëĵ¤", + "رÙĬ ع", + "äºĭ ãĤĴ", + "à¸ļริ หาร", + "׾ ×ŀ×Ļ×ĵ", + "Ġм Ñĥж", + "ت رÙĪ", + "ĠباÙĦ Ø¥", + "פ ×Ļ×§", + "ز ÙħØ©", + "ĠÃ¶ÄŁ renc", + "ãĥ ¶", + "اÙħ عة", + "×§×ij ×ķצ", + "×ŀ ׳×ķת", + "رÙĬ Ùħ", + "Ġо каз", + "ãģłãģij ãģ©", + "Ġh ız", + "Ġש ×IJת", + "ãĤ¢ ãĥ¼", + "Ġmożli wo", + "ìĦ ¼", + "ÙĪ Ø§Ø¨", + "ог ÑĢаÑĦ", + "Ġعبد اÙĦ", + "ãĤĴ è¡Į", + "ب ÙĬÙĦ", + "Ġİ ç", + "ย าย", + "ĠÑĥ ÑĩаÑģÑĤ", + "ÑĦ еÑģÑģ", + "ÑĦеÑģÑģ иона", + "Ạ¤", + "ÙĨ ÙĬÙĨ", + "عد ÙĦ", + "สร ร", + "دÙĬ ÙĦ", + "×ij ×Ļ×§", + "czy ÅĤ", + "ÑĢом е", + "Ġм ед", + "ìĻ Ķ", + "ãĥ© ãĤ¤ãĥ³", + "ĠÑĤ еп", + "еÑĢ ÑĮ", + "i ÄŁi", + "в ели", + "ÑĢи ÑģÑĤ", + "ס ×ķפ", + "×ŀ׾ ×Ĺ", + "ĠاÙĦØ¥ ÙĨ", + "Ġ׾×Ķ ×©", + "è¶Ĭ ãģĹ", + "ĠÑĢ Ñĭ", + "×ķ×IJ ר", + "رÙĩ اب", + "פ ×ķ×IJ×Ļ", + "ĠгоÑģ Ñĥд", + "ĠгоÑģÑĥд аÑĢ", + "ĠгоÑģÑĥдаÑĢ ÑģÑĤв", + "ĠاÙĦØ£Ùħ ÙĬر", + "Ùħ ج", + "à¹Ģหม าะ", + "ÑĢ ÐµÐ²", + "à¸Ĭี à¸ŀ", + "ãĥķ ãĥĪ", + "иÑĩ но", + "ĠاÙĦÙħ ؤ", + "Ġi ht", + "íħ ľ", + "د ÙĨÙĬ", + "ر ص", + "ла ÑģÑĤ", + "à¹Ģหล à¹Īา", + "ılı r", + "ร à¸ĵà¹Į", + "×ŀש ×Ļ×ļ", + "Ġd á»ĭ", + "Ø·Ùģ Ø§ÙĦ", + "×ĺ ×ķף", + "Ġ×ij ×Ļ׳", + "ãģ¾ ãģ£ãģŁ", + "лож ениÑı", + "تØŃ ر", + "ب اØŃ", + "à¹Ģส ืà¹īà¸Ń", + "ãģĻ ãģĶ", + "lt ür", + "à¸ĩ าม", + "Ġt ü", + "ĠпÑĢ Ð¸Ð¼", + "ĠпÑĢим ен", + "Ġhay at", + "ëĥ IJ", + "ëĭ Į", + "׳×Ļ ×ķ", + "вед ен", + "ìħ ¨", + "à¸Ī ัย", + "à¸ģà¹Ī à¸Ń", + "Ġв од", + "оÑģÑĤ оÑı", + "н аÑĤ", + "à¹ģ หล", + "سÙħ ÙĬ", + "à¸Ķำ à¹Ģà¸Ļ", + "à¸Ķำà¹Ģà¸Ļ ิà¸Ļ", + "w ód", + "ö yle", + "ãĥĢ ãĤ¤", + "ÑĪи й", + "меÑī ен", + "ãģĹãģ¾ ãģĨ", + "ãĥī ãĥ©", + "ÙĪØ¶ ØŃ", + "à¸Ńà¸Ļ ุ", + "ĠاÙĦ اجتÙħاع", + "laÅŁ ma", + "à¸Ħ à¸Ńà¸Ļ", + "×ŀר ×Ļ×Ŀ", + "ÙĨ اÙħج", + "שר ×ķת", + "اÙĦ Ø£", + "Ġksi Äħż", + "Ġа н", + "ÑĢаР¹", + "اÙĩر Ø©", + "×ŀ×ĵ ×Ķ", + "ä¸Ģ ç·", + "ä¸Ģç· Ĵ", + "ä¸Ģç·Ĵ ãģ«", + "ÑĢиÑĤ оÑĢ", + "d ıkl", + "à¹ģ à¸ĸ", + "à¹ģà¸Ĥ à¹Īà¸ĩ", + "екÑĤ оÑĢ", + "×ŀס ×¢", + "ÑĢак ÑĤи", + "u ÄŁu", + "×ķ×ij ת", + "สู à¸ķร", + "ĠçalÄ±ÅŁ m", + "ĠçalÄ±ÅŁm alar", + "Ġа на", + "ãĥĽ ãĥ¼ãĥł", + "Ġböl üm", + "Ġب ص", + "ол оÑģ", + "ĠìķĬ ëĬĶ", + "à¹Ī ะ", + "ÙĪ ØªØ±", + "ä¹ Ĺ", + "ست خداÙħ", + "פ×Ļ ×Ļס", + "פ×Ļ×Ļס ×ij", + "פ×Ļ×Ļס×ij ×ķ×§", + "Ġк ÑĢаÑģ", + "ли к", + "رÙĬ ØŃ", + "×ŀש ׾×Ķ", + "à¹Ģย ีà¹Īย", + "à¹Ģยีà¹Īย ม", + "в иÑģ", + "ом н", + "ÄŁ un", + "ãĥŃ ãĥ¼ãĥ³", + "Ø£ تÙĬ", + "à¸ķร ี", + "çͳ ãģĹ", + "تÙħ ر", + "ìĹ ĪìĬµëĭĪëĭ¤", + "ĠÙĪ ØºÙĬر", + "red ni", + "ĠاÙĦص Ùģ", + "Ġна ÑģÑĤоÑı", + "ĠнаÑģÑĤоÑı Ñī", + "à¸ķ รา", + "ĠÑĥÑģл ов", + "ĠÑĥÑģлов иÑı", + "ÑĨ еп", + "×Ķ ×Ĺ׾×ĺ", + "Ø· ÙĬع", + "ĠB akan", + "ĠاÙĦ رÙĪ", + "илÑĮ но", + "Ġм еÑĤ", + "à¸Ķ à¸Ńà¸ģ", + "ãģĭãĤī ãģªãģĦ", + "Ġпо ÑģÑĤоÑı", + "ĠпоÑģÑĤоÑı н", + "ĠÑĩ аÑģ", + "ü c", + "wr ó", + "б ÑĥÑĢ", + "ãĥIJ ãĥĥãĤ¯", + "ãĥ©ãĥ³ ãĥī", + "Ġо гÑĢ", + "สั à¸į", + "สัà¸į à¸įา", + "มั à¹Īà¸Ļ", + "à¸Ħ à¸Ńม", + "al ık", + "Ġн ед", + "üm üz", + "ĠÅĽ wie", + "é rio", + "×Ļ×IJ ×Ķ", + "دÙħ ات", + "ı rl", + "ĠоÑĤ з", + "ĠоÑĤз Ñĭв", + "ä»ĺ ãģį", + "Ġkaż de", + "мин иÑģÑĤ", + "ãĤ° ãĥ«", + "ë° ĸ", + "ез н", + "اÙĦ Ùģ", + "Ġש ק׾", + "Ùħ ض", + "ãĥĿ ãĥ¼ãĥĪ", + "ÙħÙĨ ت", + "ÙĤÙĬ اÙħ", + "Ø´ ÙĨ", + "×Ļר ×ķ×¢", + "ãĤŃãĥ£ ãĥ³", + "доÑĢ Ð¾Ð²", + "×ŀ ×Ļת×Ļ", + "ÙĪÙĦ ÙĪØ¬", + "Ùĥ اÙģ", + "ĠÑĢаз лиÑĩ", + "иÑĤ еÑĤ", + "н олог", + "ลà¸ĩ à¸Ĺุà¸Ļ", + "Ġyak laÅŁ", + "ãĥ¬ ãĤ¤", + "ê²ł ëĭ¤", + "æ±Ĥ ãĤģ", + "رÙĪ Ùģ", + "Ġí Ĭ", + "ĠíĬ ¹", + "ãģ£ ãģıãĤĬ", + "à¸Ħวาม à¸Ħิà¸Ķ", + "×Ķ ×Ļס×ĺ", + "Ø¥ ÙĤ", + "ãģ¦ ãģĦ", + "à¹Ĥ à¸Ĭ", + "ĠBü yük", + "ĠФ едеÑĢ", + "ÑĨи н", + "ÑĢов а", + "ĠاÙĦ اÙĤتصاد", + "Ġch á", + "à¸ĺ าà¸Ļ", + "ë¥ ł", + "à¹Ħ à¸ķ", + "ÃŃ pio", + "Ùĭ ا", + "Ġоб Ñıз", + "Ùĩ ج", + "Ġì¤ij ìļĶ", + "ãģ® ãģ§ãģ¯ãģªãģĦ", + "بار اة", + "ãĤ¤ ãĥ«", + "Ġн оÑĢм", + "á»ī nh", + "m ö", + "mö glich", + "ÑĨи п", + "ãĤ¢ ãĤ¯", + "×Ķ ×Ļ", + "ÑĨи алÑĮно", + "ĠÅĽ wi", + "ت ÙĤ", + "ĠÑģÑĤо им", + "بÙĬ عÙĬ", + "Ġ׾ ש×ŀ", + "г лÑı", + "глÑı д", + "ãģ¦ ãģıãĤĮ", + "ÄĻd zi", + "à¸Ĥ ั", + "à¸Ĥั à¹īà¸Ļ", + "Ø· ÙĤ", + "ĠìĹ Ń", + "ãģ£ãģ¦ãģĹãģ¾ ãģĨ", + "ĠdeÄŁer l", + "ĠdeÄŁerl endir", + "Ġü lk", + "Ġмн ог", + "๠ĭ", + "ë¿ IJ", + "ĠУ кÑĢа", + "ÄŁ ini", + "Ġбез оп", + "Ġбезоп аÑģ", + "à¸Ńà¸Ńà¸ģ à¹ģà¸ļà¸ļ", + "Ø§Ø ¸", + "ØŃد اث", + "л еÑĢ", + "×Ļ× ¥", + "×Ļ׳×ĺר ׳×ĺ", + "lar ınız", + "ØŃÙĬ ØŃ", + "ż eli", + "à¸Ń ัà¸ĩ", + "à¸Ńัà¸ĩ à¸ģ", + "à¸Ńัà¸ĩà¸ģ ฤษ", + "ĠоÑĤ лиÑĩ", + "ั ส", + "ëŀ į", + "ож но", + "ãĤ¹ ãĥĿ", + "ĠÑħ оÑĩ", + "Ġк ап", + "еÑĩ ен", + "ØŃÙĦ Ø©", + "ÙĬا Ùĩ", + "на л", + "×ķצ ר×Ļ×Ŀ", + "Ġk ald", + "åĥ į", + "ĠاÙĦØ´ خص", + "Ġз на", + "Ġwz gl", + "ż ycz", + "ê° Ŀ", + "à¸ŀ ลัà¸ĩ", + "íģ ¼", + "Ġö l", + "Ġb ụ", + "Ø´ Ùĩر", + "Ġз ам", + "Ġд ев", + "×Ļ×ĺ ת", + "تعÙĦ ÙĤ", + "ÙĪÙħ Ø©", + "ãĤĴ ä½ľ", + "ãģį ãģ¦", + "í ĥĿ", + "ras ında", + "ãĤĴ æİ¢", + "ĠÙħ باشر", + "راج ع", + "Ġв озд", + "ÙħØŃ ا", + "×ķש ר", + "ĠиÑģÑĤ оÑĢ", + "ม ัà¸ģ", + "t ıģ", + "Ø« ار", + "تر ÙĨت", + "à¹ģà¸Ĥ à¹ĩ", + "à¹ģà¸Ĥà¹ĩ à¸ĩ", + "п оÑĩ", + "Ġ×ij ×IJ×ķת", + "ë¯ Ģ", + "ëĿ¼ ëıĦ", + "à¸Ĭ ัà¸Ķ", + "ส à¸ķà¹Į", + "ãĥĭ ãĥĥãĤ¯", + "ид енÑĤ", + "Ġг ÑĢÑĥпп", + "ت Ø®", + "Ạł", + "ย ืà¸Ļ", + "ย ัà¸Ļ", + "ó ry", + "T Ãľ", + "ãģĹ ãĤĥ", + "ĠпÑĢов ед", + "лÑı еÑĤ", + "Ùħ Ø®", + "ย à¸Ńม", + "×Ľ×ł×¡ ת", + "ĠاÙĦÙħ ÙĨت", + "Ġol mad", + "ר׼ ×ĸ×Ļ", + "Ġв ÑģÑĤÑĢ", + "ĠиÑģ Ñģлед", + "ÑĤвеÑĢ Ð¶", + "بد ÙĪ", + "еÑĢ ÑĤ", + "ï» ·", + "± ħ", + "สัม à¸ŀัà¸Ļà¸ĺà¹Į", + "ิ à¹Īà¸Ļ", + "צ ×Ļ×ij", + "wiÄĻ t", + "Ġì° ¸", + "Ġz wiÄħz", + "سب ÙĪØ¹", + "ãĥĥ ãĤ°", + "à¸Ľà¸¥ à¸Ńà¸Ķ", + "à¸Ľà¸¥à¸Ńà¸Ķ à¸łà¸±à¸¢", + "ãĤĤ ãĤĬ", + "ÙĤد س", + "Ġspr z", + "Ġsprz eda", + "Ġist edi", + "Ġk hu", + "Ġд ен", + "Ġko ÅĦ", + "Ġ×ij ×Ĺ×Ļ", + "à¹Ģà¸Ĺ à¹īา", + "×ķס ×Ļ×£", + "ãĥĭ ãĥ¥ãĥ¼", + "ĠпÑĢед оÑģÑĤ", + "ĠпÑĢедоÑģÑĤ ав", + "à¹Ĥ à¸Ł", + "é v", + "ĠاÙĦص ØŃ", + "صØŃ اب", + "à¹Ģà¸Ī à¹ĩà¸ļ", + "вл ек", + "วั à¸ķ", + "à¸ĸ ุ", + "ãģĵãģ¨ãģĮãģ§ãģį ãģ¾ãģĻ", + "ÙĤÙĬ ÙĤÙĬ", + "×ķ׊ר", + "Ñĭ ÑĪ", + "ĠоÑĤ но", + "ĠоÑĤно ÑĪ", + "об илÑĮ", + "Ùģ ØŃ", + "ı nt", + "ınt ı", + "Ġ׾ ×ij×ĵ", + "í İĺìĿ´ì§Ģ", + "ãĥĬ ãĥ«", + "ĠÙħ ساء", + "×Ļ×ĺ ×ij", + "ÑĮ еÑĢ", + "ëĦ ·", + "Ñĭ ÑĤа", + "ĠоÑĩ еÑĢ", + "à¸Ķ ืà¹Ī", + "à¸Ķืà¹Ī ม", + "ĠN gh", + "ت عب", + "ÙĦاÙĤ ات", + "×ķ׾×ķ×Ĵ ×Ļ×Ķ", + "ĠìĿ´ ê²ĥ", + "Ġ×Ķ ×ijר", + "ìľ µ", + "à¹Ģà¸Ħล ืà¹Īà¸Ńà¸Ļ", + "Ùĩ Ø©", + "à¸Īำ à¹Ģà¸Ľà¹ĩà¸Ļ", + "å¤ī ãģĪ", + "wi ÅĽcie", + "ch od", + "chod zÄħ", + "в ÑĢо", + "×ŀ×Ĺ ×Ļר", + "Ġy ı", + "Ġyı ll", + "ì¡ Į", + "à¹Ħ หว", + "ãģªãģı ãģª", + "Ġзав иÑģ", + "ĠìĺĪ ìĪĺ", + "Ùģ Ø°", + "á»§ ng", + "à¸ŀุ à¸Ĺà¸ĺ", + "з н", + "lay an", + "ãĤ ¡", + "à¸ģà¹ĩ à¸ķาม", + "ĠsaÄŁ lam", + "ร à¸ĵ", + "ĠÑģ иÑĤ", + "ĠÑģиÑĤ Ñĥ", + "ĠاÙĦت ÙĨ", + "×Ķ ×ĸ", + "ĠØ· ÙĪÙĬÙĦ", + "ta ÅĤ", + "Ġgö rd", + "å¤ī ãĤı", + "ëĥ ¥", + "à¸Ħà¹Ī à¸Ńย", + "×IJ ×ķ×ĺ", + "ëħ IJ", + "ãĥ©ãĥ³ ãĤ¹", + "วั à¸Ĵ", + "วัà¸Ĵ à¸Ļ", + "Ġol uÅŁ", + "פע ×ķ׾", + "Ġszczeg óÅĤ", + "à¸Ħา สิ", + "à¸Ħาสิ à¹Ĥà¸Ļ", + "pow ied", + "ĠÑĤ еб", + "หà¸Ļ à¹Īวย", + "Ġм ил", + "ØŃ Ùĥ", + "à¸Ĺ à¸Ķ", + "ĠмаÑĤ еÑĢиал", + "ÅĤ ow", + "à¹Ģà¸ģ ีย", + "ĠÑģов еÑĢ", + "ãĤ ©", + "à¸Ľ ริ", + "Ġи Ñİ", + "наÑĩ ен", + "ÑĢен д", + "mu ÅŁtur", + "ĠпÑĢод Ñĥк", + "з д", + "Ñı ÑĤи", + "ÑıÑĤи Ñı", + "à¹Ģม ีย", + "رات ÙĬج", + "Ġam acı", + "ש ×ķ׾", + "ש×ķ׾ ×Ĺ", + "สะ à¸Ńา", + "สะà¸Ńา à¸Ķ", + "פ×Ĵ ×¢", + "عب Ø©", + "d ın", + "íħ Ķ", + "Ġ×ŀש ×Ĺ×§", + "Ġfi yat", + "Ġз аÑı", + "ĠзаÑı в", + "à¹Ĥ หล", + "à¹Ĥหล à¸Ķ", + "à¸ģรุà¸ĩ à¹Ģà¸Ĺà¸ŀ", + "צ×Ļ ×Ļף", + "ìļ ±", + "Ùħ ب", + "Ùħب اد", + "land ır", + "Ġв еÑģÑĮ", + "Ġh ük", + "ĠÐĴ оз", + "ÑĩиÑĤ Ñĭва", + "ว ล", + "×ķצ ×¢", + "à¸Ĥà¸ĵะ à¸Ĺีà¹Ī", + "ĠaÅŁ aģı", + "׾×IJ ×ķ×ŀ×Ļ", + "tr zym", + "Ã¤ÃŁ ig", + "owo ÅĽci", + "ãģĿ ãĤĤ", + "Ġroz wiÄħz", + "ĠgÅĤ ówn", + "м онÑĤ", + "×ŀ ×ķ×ŀ", + "ĠÑģÑĤ ан", + "ÙĦا ÙĤØ©", + "p rowad", + "prowad zi", + "ĠÑģоÑģÑĤ оÑı", + "×Ļ×IJ ×ķת", + "r ı", + "g ı", + "ãĥij ãĥij", + "Ġна лиÑĩ", + "×Ķ ×¦×¢", + "Ġ׳ ×Ķ", + "à¸Ħ ัà¸ļ", + "ع راض", + "и ж", + "Ùĩ ائÙĬ", + "ãĤī ãģı", + "ож еÑĤ", + "Ġоб оÑĢ", + "ĠобоÑĢ Ñĥд", + "Ø£ سÙĦ", + "à¹ĩ à¸Ķ", + "ÑĢÑĥ ÑĤ", + "دÙĬ ÙħÙĤ", + "دÙĬÙħÙĤ را", + "Ġjest e", + "×ķ×ķ ×Ļר", + "×ij×ĵ ×Ļ×§", + "деÑĢж ива", + "ãģĬ ãģı", + "ewn ÄĻtr", + "ewnÄĻtr zn", + "à¸ŀ ฤ", + "Ġ×IJ ×ķ×Ķ", + "ת×Ĺ ×ķש", + "Ġz ob", + "д Ñĥм", + "ĠÑģ Ñĭ", + "ÙĬر ا", + "ĠwiÄĻ ks", + "à¹ģà¸ķà¸ģ à¸ķà¹Īาà¸ĩ", + "lar aras", + "lararas ı", + "íĺ Ģ", + "ëī ´", + "×ķ×Ĵ ׾", + "ĠоÑĤ меÑĤ", + "ĠÑĢ Ð°Ð½", + "ت ÙĥÙĦ", + "иÑĤелÑĮ н", + "à¸Ľà¸£à¸° วั", + "à¸Ľà¸£à¸°à¸§à¸± à¸ķิ", + "ìŀ ĸ", + "мож но", + "pie czeÅĦ", + "pieczeÅĦ st", + "ëª »", + "ìĬ ¨", + "×ŀס ×ŀ", + "á» ¦", + "ศ ิ", + "ศิ ล", + "ศิล à¸Ľ", + "ĠÅļ w", + "ãĥĥ ãĤ·ãĥ§ãĥ³", + "unit Ãł", + "Ġmiesz ka", + "Ġmieszka ÅĦ", + "pr zed", + "przed si", + "przedsi ÄĻb", + "przedsiÄĻb ior", + "à¸Ľà¸£à¸° สิà¸Ĺà¸ĺิ", + "à¸Ľà¸£à¸°à¸ªà¸´à¸Ĺà¸ĺิ à¸łà¸²à¸ŀ", + "ย à¹Ī", + "ìķ Ļ", + "รว à¸Ķ", + "รวà¸Ķ à¹Ģรà¹ĩว", + "å½ĵ ãģŁãĤĬ", + "äl le", + "Ñĥ еÑĤÑģÑı", + "ã n", + "ëł µ", + "th è", + "ãĤĴ åĪ©ç͍", + "ì µľ", + "íĵ ¨", + "à¸Ĺ ัà¸ļ", + "า à¸Ħม", + "ãģ ĩ", + "ëĤ Į", + "à¹Ģà¸Ľà¸¥ à¹Īา", + "â ¦", + "ë ¾", + "ê Ģ", + "ê ĩ", + "â ¡", + "ðŁ Ł", + "ã IJ", + "â º", + "á Ń", + "á Ļ", + "á ĵ", + "á ²", + "ðĵ ı", + "á ¬", + "â ¯", + "ä ¨", + "ê Ŀ", + "ê «", + "ð ij", + "ðĵ ĥ", + "ðĿ ħ", + "< unk", + "", + "", + "", + "Ġع ÙĦÙī", + "Ġm á»Ļt", + "Ġv Ỽi", + "Ġng ưá»Ŀi", + "ĠØ¥ ÙĦÙī", + "Ġnh ững", + "Ġth á»ĥ", + "Ġ×IJ ×ķ", + "Ġ×¢ ×Ŀ", + "ا Ùĭ", + "Ġ à¹ģละ", + "ĠÙĦ ا", + "Ġnh ư", + "ĠاÙĦت ÙĬ", + "Ġ×Ķ ×ķ×IJ", + "ĠÄij ến", + "ĠØ£ ÙĪ", + "Ġv á»ģ", + "ĠlÃł m", + "Ġs ẽ", + "Ġc Å©ng", + "Ġ ợ", + "ĠÄij ó", + "Ġnhi á»ģu", + "Ġt ại", + "Ġtr ên", + "Ġ×Ĵ ×Ŀ", + "Ġnh Ãł", + "Ġ׼ ×Ļ", + "Ġs á»±", + "ĠÄij ầu", + "Ġb á»ĭ", + "ĠÙĩ ذا", + "Ġnh ất", + "Ġph ải", + "Ġhi á»ĩn", + "Ġdụ ng", + "ĠÄij á»Ļng", + "ĠاÙĦÙĦ Ùĩ", + "ĠØ Į", + "ĠÙĥ ÙĦ", + "Ġvi á»ĩc", + "Ġn Äĥm", + "Ġth ì", + "Ġh á»įc", + "ĠÙĪ Øª", + "t é", + "Ġا ÙĨ", + "Ġt ôi", + "Ġ×IJ ׳×Ļ", + "Ġ׾ ×Ļ", + "Ġ×ŀ ×ķ", + "Ġng Ãły", + "Ġn Æ°á»Ľc", + "Ġ×Ķ ×Ļ×IJ", + "Ġ×IJ ×Ļ", + "Ġh Æ¡n", + "ĠÙĩ ذÙĩ", + "ĠÙĪ ÙĬ", + "ĠاÙĦ ذÙĬ", + "Ġ×ķ ×ŀ", + "Ġgi á", + "Ġnh ân", + "Ġch ÃŃnh", + "Ġm ình", + "ĠÐĿ а", + "Ġth ế", + "Ġ×Ļ ×ķתר", + "Ġ×IJ ×Ŀ", + "Ġn ên", + "Ġh ợ", + "Ġhợ p", + "Ġc òn", + "ĠÙĩ ÙĪ", + "Ġc Æ¡", + "Ġr ất", + "ĠVi á»ĩt", + "Ġب عد", + "Ġש ×Ļ", + "Ġth á»Ŀi", + "Ġc ách", + "ĠÄij á»ĵng", + "Ġн о", + "Ġtr ưá»Ŀng", + "Ø Ł", + "ĠÄij á»ĭnh", + "ĠÄiji á»ģu", + "×Ļ ×Ļ×Ŀ", + "Ġth á»±c", + "n ın", + "Ġh ình", + "Ġn ói", + "Ġc ùng", + "Ġ×Ķ ×Ķ", + "ĠØ¥ ÙĨ", + "Ġ×IJ ×ij׾", + "Ġnh ưng", + "Ġbi ết", + "Ġж е", + "Ġch úng", + "ĠÄij ang", + "Ġذ ÙĦÙĥ", + "Ġl ên", + "Ġkh ách", + "Ġn Ãło", + "Ġs á»Ń", + "Ġkh ác", + "Ġë° ı", + "Ġl ý", + "×Ļ ×Ļ", + "ĠÄij ây", + "Ġ׾ ×ŀ", + "Ġc ần", + "Ġtr ình", + "Ġph át", + "ãģ« ãĤĤ", + "п о", + "Ġn Äĥng", + "Ġb á»Ļ", + "Ġv ụ", + "ĠÄij á»Ļ", + "Ñĩ е", + "Ġnh áºŃn", + "Ġtr Æ°á»Ľc", + "Ġ×¢ ×ĵ", + "Ġh Ãłnh", + "ĠØ® ÙĦاÙĦ", + "Ġl ượng", + "Ġc ấp", + "Ġtá» ±", + "Ġv ì", + "Ġt ư", + "Ġch ất", + "Ġ׼ ×ŀ×ķ", + "Ġg ì", + "Ġש ׳", + "Ġt ế", + "ת ×ķ", + "Ġnghi á»ĩp", + "Ġm ặt", + "ĠÙĥ Ùħا", + "Ġ×ij ×Ļף", + "Ġר ×§", + "Ġth ấy", + "Ġmá y", + "ĠÙģ Ùī", + "Ġd ân", + "Ġ×IJ ×Ĺ×ĵ", + "Ġt âm", + "Ġ׼ ×ļ", + "Ġ׾ ×ķ", + "в о", + "Ġt ác", + "Ġto Ãłn", + "ĠÙĪ Ùħ", + "Ġk ết", + "Ġ หรืà¸Ń", + "ĠÙĪØ§ÙĦ Ùħ", + "ĠÄiji á»ĥm", + "Ġ×ĸ ×ķ", + "Ġ×ij ×ķ", + "׼ ×ķת", + "Ġh á»Ļi", + "Ġb ằng", + "ت Ùĩا", + "Ġ׼ ×ĵ×Ļ", + "Ġ×Ķ ×Ŀ", + "Ġxu ất", + "ĠÙĤ د", + "Ġb ảo", + "Ġt á»ijt", + "Ġt ình", + "ĠÙĩ ÙĬ", + "ĠÄij á»iji", + "Ġthi ết", + "Ġhi á»ĩu", + "Ġti ếp", + "Ġt ạo", + "ת ×Ķ", + "Ġch á»§", + "o ÅĽÄĩ", + "Ġgi ú", + "Ġgiú p", + "Ġà ½", + "Ġqu ả", + "Ġlo ại", + "Ġc ô", + "Ġà ´", + "Ġô ng", + "Ġ×Ķ ×ķ", + "ĠاÙĦÙĬ ÙĪÙħ", + "ĠtÃŃ nh", + "г а", + "Ġph òng", + "Ġ Äĥn", + "Ġع اÙħ", + "Ġv á»ĭ", + "lar ını", + "r ÃŃa", + "Ġt Ỽi", + "ĠÄij ưá»Ŀng", + "Ġgi Ỽi", + "Ġb ản", + "Ġc ầu", + "Ġnhi ên", + "Ġb á»ĩnh", + "Ġth ưá»Ŀng", + "Ġ×IJ ×Ļף", + "ĠÄij á»ģ", + "Ġh á»ĩ", + "Ġ×Ļש ר×IJ׾", + "Ġqu á", + "ĠÐĹ Ð°", + "ãģ® ãģ§ãģĻãģĮ", + "ĠÐŁ ÑĢи", + "Ġph ần", + "ĠÙĪ ÙĦا", + "ĠlỼ n", + "Ġtr á»ĭ", + "Ġcả m", + "Ġм о", + "Ġd ùng", + "ĠاÙĦ Ùī", + "ĠعÙĦÙĬ Ùĩ", + "ĠìŀĪ ìĬµëĭĪëĭ¤", + "ÙĬ ÙĤ", + "ĠÙĤ بÙĦ", + "Ġho ặc", + "ĠØŃ ÙĬØ«", + "Ġ à¸Ĺีà¹Ī", + "Ġغ ÙĬر", + "ĠÄij ại", + "Ġsá»ij ng", + "нÑĭ ми", + "Ġth ức", + "Ġפ ×Ļ", + "ĠÄiji á»ĩn", + "ãģª ãģĭãģ£ãģŁ", + "Ġgi ải", + "Ġv ẫn", + "Ġи Ñħ", + "Ġö nce", + "Ġv áºŃy", + "Ġmu á»ijn", + "Ġ ảnh", + "à¹ĥà¸Ļ à¸ģาร", + "ĠQu á»ijc", + "Ġk ế", + "׳ ×IJ", + "Ġס ×Ļ", + "Ġy êu", + "ãģ® ãģĭ", + "ĠÄij ẹ", + "ĠÄijẹ p", + "Ġch ức", + "Ġy ıl", + "ĠTür kiye", + "d é", + "ĠÙĤ اÙĦ", + "Ġd á»ĭch", + "ĠolduÄŁ u", + "Ġch á»įn", + "Ġت Ùħ", + "หà¸Ļ ึà¹Īà¸ĩ", + "ãģķãĤĮ ãģŁ", + "Ġph áp", + "ìĽ Ķ", + "Ġti á»ģn", + "ãģĹ ãģ¾ãģĹãģŁ", + "Ġש ׾×IJ", + "ÙĦ Ø©", + "Ġ׾פ ׳×Ļ", + "Ġ×ij ×Ļת", + "ĠH Ãł", + "ĠØŃ ت", + "ĠØŃت Ùī", + "Ġ×¢ ×ķ×ĵ", + "Ġn ó", + "Ġth áng", + "à¹Ģลืà¸Ń à¸ģ", + "ר ×Ķ", + "Ġt Äĥng", + "Ġcá i", + "Ġtri á»ĥn", + "Ġ×IJ×ķת ×ķ", + "ìłģ ìĿ¸", + "ĠC ông", + "Ġ׾×Ķ ×Ļ×ķת", + "Ġг ода", + "и Ñİ", + "Ġب عض", + "Ġ à¸ģาร", + "èī¯ ãģĦ", + "ÙĪ Øª", + "Ġli ên", + "ĠÐĿ о", + "ĠÐĿ е", + "çļĦ ãģª", + "ĠÙħ ت", + "ĠÑĤак же", + "ĠкоÑĤоÑĢ Ñĭе", + "Ġ×Ļ ×ĵ×Ļ", + "Ġtr á»įng", + "ãĤµ ãĤ¤ãĥĪ", + "ìłģ ìľ¼ë¡ľ", + "Ġt áºŃp", + "Ġש ׾×Ļ", + "íķĺ ê²Į", + "Ġt Ãłi", + "ĠÐ ¯", + "Ġr á»ĵi", + "ا Ùĥ", + "Ġth ương", + "Ġ×Ķ ×ĸ×Ķ", + "ĠÙĪ ÙħÙĨ", + "à¸Ĺีà¹Ī มี", + "Ġcu á»Ļc", + "Ġbü yük", + "ãģ¨ ãģĭ", + "Ġ×ij ×Ļ×ķתר", + "Ġl ần", + "Ġgö re", + "Ġtr ợ", + "Ġ×ĺ ×ķ×ij", + "ÑĤÑĮ ÑģÑı", + "Ġth á»ijng", + "Ġ׼ ש", + "Ġti êu", + "Ġ×ŀ×IJ ×ķ×ĵ", + "Ø Ľ", + "k Äħ", + "Ġ à¹ĥà¸Ļ", + "Ġv ấn", + "Ġש ׾×ķ", + "ĠÄij á»ģu", + "Ùģ Øª", + "Ġê²ĥ ìĿ´", + "Ġh óa", + "ĠاÙĦع اÙħ", + "ĠÙĬ ÙĪÙħ", + "к ой", + "Ġbi á»ĩt", + "ÑģÑĤ о", + "Ġ×Ķ ×Ļ×ķ", + "à¸Ĺีà¹Ī à¸Īะ", + "Ġ×ĵ ×Ļ", + "Ġ×IJ ×ļ", + "Ġá n", + "ص ÙĪØ±", + "Ġtr ÃŃ", + "ĠÐŁÑĢ Ð¾", + "Ġl á»±c", + "ãģĹãģ¦ ãģĦãģ¾ãģĻ", + "Ġb Ãłi", + "Ġ×ĸ ×IJת", + "Ġb áo", + "à¸ļ à¸Ļ", + "ĠëĮĢ íķľ", + "Ġti ế", + "Ġtiế ng", + "Ġb ên", + "ãģķãĤĮ ãĤĭ", + "s ión", + "Ġt ìm", + "×¢ ×ķ", + "m é", + "ни Ñı", + "ãģ» ãģ©", + "Ġà¹Ģà¸ŀ ราะ", + "ب Ø©", + "Ġë¶ Ħ", + "Ġ×IJ ×ĸ", + "à¸Ĺ à¹Īาà¸Ļ", + "ת ×Ŀ", + "Ġth êm", + "Ġho ạt", + "y ı", + "×ĸ ×ķ", + "Ġgi á»Ŀ", + "Ġb án", + "à¸Ĥ าย", + "Ñĩ а", + "Ġ à¹Ĩ", + "ĠاÙĦÙħ ت", + "ĠоÑĩ енÑĮ", + "Ġb ất", + "Ġtr ẻ", + "ÑĤ ÑĢ", + "ĠØ£ ÙĨÙĩ", + "ĠØ« Ùħ", + "Ġ׼ ×ŀ×Ķ", + "Ġkh ó", + "Ġr ằng", + "ĠÙĪ ÙģÙĬ", + "ни й", + "Ġho Ãłn", + "t ó", + "Ġ×IJ שר", + "ĠìĥĿ ê°ģ", + "Ñģ а", + "Ġ׼ ×ijר", + "ĠÑįÑĤ ом", + "lar ının", + "Ġch ưa", + "з и", + "Ġd ẫn", + "ĠÐļ ак", + "ج ÙĪ", + "ĠбÑĭ ло", + "ĠÙĬ ت", + "n ı", + "ÅĤ am", + "ĠÙĪÙĩ ÙĪ", + "×ij ×ķ", + "п и", + "ר ת", + "Ġqu á»ijc", + "ж д", + "ĠÄij Æ¡n", + "Ùĥت ب", + "Ġm ắt", + "ระ à¸ļ", + "ระà¸ļ à¸ļ", + "ĠÙĥ اÙĨت", + "Ġth ân", + "สิà¸Ļ à¸Ħà¹īา", + "×Ĵ ×Ļ", + "Ġph ương", + "à¹Ħมà¹Ī à¹Ħà¸Ķà¹ī", + "ĠìĦ ±", + "ĠC ác", + "Ġ×Ķ×ŀ ×ķ", + "ĠÑĤ ем", + "Ġ×ĵ ×ķ", + "à¸Ńะ à¹Ħร", + "Ġv Äĥn", + "ãģª ãģ®ãģ§", + "ĠN á»Ļi", + "Ġ×¢ ×ķ", + "ãĤīãĤĮ ãĤĭ", + "Ġs áng", + "Ġgö ster", + "ãģĵãģ¨ ãĤĴ", + "Ġtaraf ından", + "Ġм а", + "ĠпоÑģл е", + "Ġ׳ ×Ļת", + "Ġ׳×Ļת ף", + "Ġл еÑĤ", + "Ġ׾ ׳×ķ", + "Ñģ Ñģ", + "Ġ×Ļ ×ķ", + "п е", + "ĠÙĪ ÙĦÙĥ", + "ĠÙĪÙĦÙĥ ÙĨ", + "Ġngo Ãłi", + "ĠÄij á»ĭa", + "r zÄħd", + "dz iaÅĤ", + "ĠÙħ ر", + "иÑĤÑĮ ÑģÑı", + "Ġ×IJ×Ĺר ×Ļ", + "Ġ׾ ׼׾", + "à¸Ĥ à¹īà¸Ńม", + "à¸Ĥà¹īà¸Ńม ูล", + "Ġб ол", + "Ġбол ее", + "جÙħ ع", + "л еÑĤ", + "Ġl á»ĭch", + "ĠÙħ Ø«ÙĦ", + "Ġ그리 ê³ł", + "Ġth ứ", + "ĠdeÄŁ il", + "ÙĪ ØŃ", + "Ġש׾ ×ļ", + "ĠÙħ ØŃÙħد", + "Ġn ếu", + "ĠÄij á»ķi", + "Ġv ừa", + "Ġm á»įi", + "Ġо ни", + "Ġl úc", + "ĠÙĬ ÙĥÙĪÙĨ", + "ì§ Ī", + "Ġש׾ ׳×ķ", + "ĠÐĶ Ð¾", + "Ġש ׳×Ļ", + "ล ิ", + "×IJ פשר", + "Ġs ức", + "ê¶ Į", + "Ġ ứng", + "à¹Ħมà¹Ī มี", + "Ø·ÙĦ ب", + "ĠÑĩ ем", + "Ġch uyên", + "Ġth ÃŃch", + "Ġ×ķ ×Ļ", + "íķ ©", + "ĠÙħ صر", + "д о", + "ĠÄij ất", + "Ġch ế", + "à¸Ĭ ืà¹Īà¸Ń", + "Ġìĭ ł", + "ĠØ¥ ذا", + "Ġر ئÙĬس", + "Ġש ×Ļש", + "Ġgiả m", + "Ñģ ка", + "lar ında", + "Ġs ợ", + "ĠtÃŃ ch", + "ĠÙĦ ÙĥÙĨ", + "Ġب Ùħ", + "×¢ ×ķ×ij", + "×¢×ķ×ij ×ĵ", + "ÅĤÄħ cz", + "ları na", + "Ġש ×Ŀ", + "ĠÙĦ ت", + "Ġש×Ķ ×ķ×IJ", + "t ów", + "Ġëĭ¤ 른", + "ĠØ£ Ùĥثر", + "ãģ® ãģ§ãģĻ", + "׼ ×Ļ×Ŀ", + "ĠolduÄŁ unu", + "ãģĭ ãģª", + "ãĤĤ ãģĨ", + "ÙĬ ØŃ", + "Ġnh ìn", + "Ġngh á»ĩ", + "ãģ«ãģª ãģ£ãģ¦", + "п а", + "Ġquy ết", + "ÙĦ ÙĤ", + "t á", + "Ġlu ôn", + "ĠÄij ặc", + "Ġ×IJ ר", + "Ġtu á»ķi", + "s ão", + "ìĻ ¸", + "ر د", + "ĠبÙĩ ا", + "Ġ×Ķ×Ļ ×ķ×Ŀ", + "×ķ ×ķ×Ļ", + "ãģ§ãģĻ ãģŃ", + "ĠÑĤ ого", + "Ġth á»§", + "ãģĹãģŁ ãģĦ", + "ر ÙĤ", + "Ġb ắt", + "г Ñĥ", + "Ġtá» Ń", + "ÑĪ Ð°", + "Ġ à¸Ľà¸µ", + "Ġ×Ķ×IJ ×Ŀ", + "íı ¬", + "ż a", + "Ġ×IJת ×Ķ", + "Ġn á»Ļi", + "Ġph ÃŃ", + "ĠÅŁek ilde", + "Ġl á»Ŀi", + "d ıģı", + "Ġ׼×IJ ף", + "Ġt üm", + "Ġm ạnh", + "ĠM ỹ", + "ãģĿ ãĤĵãģª", + "Ġnh á»ı", + "ãģª ãģĮãĤī", + "Ġb ình", + "ı p", + "à¸ŀ า", + "ĠÄij ánh", + "ĠÙĪ ÙĦ", + "ר ×ķת", + "Ġ×IJ ×Ļ×ļ", + "Ġch uyá»ĥn", + "Ùĥ ا", + "ãĤĮ ãĤĭ", + "à¹ģม à¹Ī", + "ãĤĪ ãģı", + "ĠÙĪ ÙĤد", + "íĸ Īëĭ¤", + "Ġn Æ¡i", + "ãģ«ãĤĪ ãģ£ãģ¦", + "Ġvi ết", + "Ġà¹Ģà¸ŀ ืà¹Īà¸Ń", + "ëIJĺ ëĬĶ", + "اد ÙĬ", + "ĠÙģ Ø¥ÙĨ", + "ì¦ Ŀ", + "ĠÄij ặt", + "Ġh Æ°á»Ľng", + "Ġx ã", + "Ġönem li", + "ãģł ãģ¨", + "Ġm ẹ", + "Ġ×ij ×Ļ", + "Ġ×ĵ ×ijר", + "Ġv áºŃt", + "ĠÄij ạo", + "Ġdá»± ng", + "ĠÑĤ ом", + "ĠÙģÙĬ Ùĩا", + "Ġج ÙħÙĬع", + "Ġthu áºŃt", + "st ÄĻp", + "Ġti ết", + "Ø´ ÙĬ", + "Ġе Ñīе", + "ãģĻãĤĭ ãģ¨", + "ĠmÃł u", + "ĠÑįÑĤ ого", + "Ġv ô", + "ĠÐŃ ÑĤо", + "Ġth áºŃt", + "Ġn ữa", + "Ġbi ến", + "Ġn ữ", + "Ġ׾ ׼×Ŀ", + "×Ļ ×Ļף", + "Ġس ت", + "ĠÐŀ ÑĤ", + "Ġph ụ", + "ê¹Į ì§Ģ", + "Ġ׾ ×ļ", + "Ġk ỳ", + "à¹ĥ à¸Ħร", + "Ġg ây", + "ĠÙĦ ÙĦÙħ", + "Ġtụ c", + "ت ÙĬÙĨ", + "Ġtr ợ", + "Ġ׾ פ×Ļ", + "Ġb á»ij", + "ĠÐļ а", + "ĠÄij ình", + "ow Äħ", + "s ında", + "Ġkhi ến", + "s ız", + "Ġк огда", + "ס ׾", + "ĠбÑĭ л", + "à¸Ļ à¹īà¸Ńย", + "обÑĢаР·", + "Ġê²ĥ ìĿ´ëĭ¤", + "ëĵ¤ ìĿĢ", + "ãģ¸ ãģ®", + "Ġà¹Ģม ืà¹Īà¸Ń", + "Ġph ục", + "Ġ׊׾ק", + "Ġh ết", + "ĠÄij a", + "à¹Ģà¸Ķà¹ĩ à¸ģ", + "íĺ ķ", + "l ÃŃ", + "ê¸ ī", + "Ġع دد", + "ĠÄij á»ĵ", + "Ġg ần", + "Ġ×Ļ ×ķ×Ŀ", + "Ġs Ä©", + "ÑĢ Ñıд", + "Ġquy á»ģn", + "Ġ×IJ ׾×IJ", + "Ùĩ Ùħا", + "׳ ×Ļ×Ķ", + "׾ ×ķת", + "Ġ×Ķר ×ij×Ķ", + "Ġti ên", + "Ġal ın", + "Ġd á»ħ", + "人 ãģĮ", + "но Ñģ", + "л ÑģÑı", + "ĠÄij ưa", + "ส าว", + "иÑĢов ан", + "Ġ×ŀס פר", + "×Ĵ ף", + "Ġki ến", + "ĠÐ ¨", + "p é", + "б Ñĥ", + "ов ой", + "б а", + "ĠØ¥ ÙĦا", + "×IJ ׾×Ļ", + "Ġx ây", + "Ġb ợi", + "Ġש ×ķ", + "人 ãģ®", + "×§ ×Ļ×Ŀ", + "à¹Ģà¸Ķ ืà¸Ńà¸Ļ", + "Ġkh á", + "Ġ×ķ ׾×Ķ", + "×ĵ ×ķת", + "Ġ×¢ ×ij×ķר", + "Ġبش ÙĥÙĦ", + "ĠÙĩÙĨا Ùĥ", + "ÑĤ ÑĢа", + "Ġ íķĺëĬĶ", + "ร à¸Ńà¸ļ", + "owa ÅĤ", + "h é", + "Ġdi á»ħn", + "Ġ×Ķ ×Ľ×ľ", + "ĠØ£ س", + "Ġch uyá»ĩn", + "ระ à¸Ķัà¸ļ", + "ĠNh ững", + "Ġ×IJ ×Ĺת", + "ĠØŃ ÙĪÙĦ", + "л ов", + "׳ ר", + "Ġ×ķ ׳", + "Ġch Æ¡i", + "Ġiç inde", + "ÑģÑĤв Ñĥ", + "Ġph á»ij", + "ĠÑģ Ñĥ", + "ç§ģ ãģ¯", + "Ġch ứng", + "Ġv á»±c", + "à¹ģ à¸Ń", + "Ġl áºŃp", + "Ġtừ ng", + "å°ij ãģĹ", + "ĠNg uy", + "ĠNguy á»ħn", + "ĠÙģÙĬ Ùĩ", + "Ġб а", + "×Ļ ×Ļת", + "Ġ×ľ×¢ ש×ķת", + "Ġ×ŀ ׼", + "Ġnghi á»ĩm", + "Ġм ного", + "Ġе е", + "ëIJĺ ìĸ´", + "Ġl ợi", + "Ġ׾ ׾×IJ", + "Ġ׼ ף", + "Ġch ÃŃ", + "ãģ§ ãģ®", + "×Ĺ ×ķ", + "ש ×ķ×Ŀ", + "Ġ×ŀ ר", + "ĠÐĶ Ð»Ñı", + "Å ģ", + "Ġ׼×IJ שר", + "ĠM á»Ļt", + "ĠÙĪØ§ÙĦ ت", + "ĠìĿ´ 룰", + "ÅŁ a", + "Ġchi ến", + "Ġaras ında", + "Ġ×ij ×IJתר", + "ãģķãĤĮ ãģ¦ãģĦãĤĭ", + "Ø´ ÙĥÙĦ", + "Ġt ượng", + "Ġت ت", + "ĠC ó", + "Ġb á»ı", + "Ġtá»ī nh", + "Ġkh ÃŃ", + "ĠпÑĢ Ð¾ÑģÑĤ", + "ĠпÑĢоÑģÑĤ о", + "ĠÙĪ ÙĤاÙĦ", + "Ġgi áo", + "ĠN ếu", + "×IJ ×ŀר", + "×¢×ł×Ļ ×Ļף", + "íİ ¸", + "Ùĩد Ùģ", + "ĠB á»Ļ", + "Ġb Ãłn", + "Ġng uyên", + "Ġgü zel", + "ส าย", + "ì² ľ", + "×ŀ ×ķר", + "Ġph ân", + "ס פק", + "×§ ×ij׾", + "ĠاÙĦÙħ تØŃ", + "ĠاÙĦÙħتØŃ دة", + "ائ د", + "Ġ×IJ ×ŀר", + "Ġki ÅŁi", + "ì¤ Ģ", + "Ġtr uyá»ģn", + "ĠÙĦ Ùĩا", + "ĠÐľ а", + "à¸ļริ ษ", + "à¸ļริษ ั", + "à¸ļริษั à¸Ĺ", + "Ġש ׳×Ļ×Ŀ", + "Ġмен Ñı", + "ÅŁ e", + "Ġdi á»ĩn", + "Ġ×IJ׳ ×Ĺ׳×ķ", + "k ü", + "Ġc á»ķ", + "Ġm á»Ĺi", + "w ä", + "Ùħ ÙĬ", + "Ġhi á»ĥu", + "ëĭ ¬", + "Ġ×Ķ ×Ĺ׾", + "Ġt ên", + "Ġki á»ĩn", + "ÙĨ ÙĤÙĦ", + "Ġv á»ĩ", + "×ĵ ת", + "ĠÐłÐ¾ÑģÑģ ии", + "л Ñĥ", + "ĠاÙĦع ربÙĬØ©", + "ĠØ· رÙĬÙĤ", + "Ġ×Ķ×ij ×Ļת", + "Ñģ еÑĢ", + "Ġм не", + "ä u", + "Ġtri á»ĩu", + "ĠÄij á»§", + "Ġר ×ij", + "ت ÙĩÙħ", + "à¸ĭ ี", + "Ġì§Ģ ê¸Ī", + "li ÅĽmy", + "د عÙħ", + "ãģł ãĤįãģĨ", + "Ñģки е", + "Ġh á»ıi", + "Ġ×§ ×ķ", + "ÑĢÑĥ Ñģ", + "ÙĨ ظر", + "ãģ® ãĤĤ", + "Ġ×Ķ ×Ľ×Ļ", + "ĠìĽ IJ", + "ÙĪ Ùĩ", + "ĠÙĪ Ùİ", + "ĠB ạn", + "п лаÑĤ", + "Ġ×ŀ ×ŀש", + "лÑİ Ð±", + "ĠнÑĥж но", + "Ġth ư", + "ãģ µ", + "ãģı ãĤīãģĦ", + "ر Ø´", + "ר ×ķ×Ĺ", + "ĠÙĬ تÙħ", + "Ġצר ×Ļ×ļ", + "Ġph á", + "ม à¸Ńà¸ĩ", + "Ġ×ij×IJ ×ķפף", + "Ġcả nh", + "Ġíķľ ëĭ¤", + "Ġ×Ķ×ŀ ת", + "à¸ķà¹Īาà¸ĩ à¹Ĩ", + "มี à¸ģาร", + "Ñģки Ñħ", + "ĠÐĴ Ñģе", + "Ġا ÙĪ", + "ج ÙĬ", + "ãģĵãģ¨ ãģ¯", + "Ġd Ãłi", + "Ġh á»ĵ", + "èĩªåĪĨ ãģ®", + "à¹Ħ หà¸Ļ", + "ëĵ¤ ìĿĦ", + "ĠV Äĥn", + "Ġд аж", + "Ġдаж е", + "Ñĭ ми", + "лаÑģ ÑĮ", + "ÙĬ ÙĪÙĨ", + "ÙĨ ÙĪ", + "c ó", + "ãģĹãģ¦ ãģĦãģŁ", + "ãģł ãģĭãĤī", + "طاÙĦ ب", + "Ġc á»Ńa", + "п ÑĢоÑģ", + "ãģªãģ© ãģ®", + "รุ à¹Īà¸Ļ", + "Ġchi ếc", + "л Ñĭ", + "ĠÑıвлÑı еÑĤÑģÑı", + "Ġn á»ķi", + "ãģ® ãģĬ", + "Ġ×IJת ×Ŀ", + "ĠëķĮ문 ìĹIJ", + "à¸ģล าà¸ĩ", + "ĠbaÅŁ ka", + "ìĦ Ŀ", + "ĠÑĨ ел", + "Ùģ ÙĤ", + "ãģ«ãĤĪ ãĤĭ", + "ÙĤ ا", + "Ġçı kar", + "Ġcứ u", + "Ø· ا", + "Ġש ת", + "à¹Ĥ à¸Ħ", + "Ġ×ŀ ׾", + "Ġ×Ķ ×¤×¨", + "Ġг де", + "ĠØ® Ø·", + "åīį ãģ«", + "c jÄĻ", + "Ġ׊ש×ķ×ij", + "ר×Ĵ ×¢", + "Ġkho ảng", + "ĠÄij á»Ŀi", + "ĠÐł е", + "Ġо на", + "Ġ×IJ ׳×ķ", + "ãģ® ãģ«", + "ĠاÙĦذ ÙĬÙĨ", + "кÑĥ п", + "ãĤµ ãĥ¼ãĥ", + "ãĤµãĥ¼ãĥ ĵ", + "ãĤµãĥ¼ãĥĵ ãĤ¹", + "в ал", + "г е", + "Ġgi ữa", + "ĠKh ông", + "ĠâĹ ĭ", + "à¸ģล ุà¹Īม", + "ĠÙħÙĨ ذ", + "à¸Ń à¹Īาà¸Ļ", + "ĠÑģп оÑģоб", + "ĠÄij á»Ļi", + "Ġdi ÄŁer", + "Ġ à¸ĸà¹īา", + "Ùħ Ø«ÙĦ", + "Ġ×Ķ×IJ ×Ļ", + "Ġد ÙĪÙĨ", + "ÙĬر اÙĨ", + "Ñī и", + "بÙĨ اء", + "ĠØ¢ خر", + "ظ Ùĩر", + "Ġ×ij ׼", + "ĠاÙĦÙħ ع", + "ãĥ Ĵ", + "Ġt ất", + "Ġm ục", + "ĠdoÄŁ ru", + "ãģŁ ãĤī", + "Ġס ×ķ", + "Ġx ác", + "ร à¸Ń", + "ĠcÄĥ n", + "Ġон л", + "Ġонл айн", + "Ġk ý", + "Ġch ân", + "Ġ à¹Ħมà¹Ī", + "اØŃ Ø©", + "r án", + "׳×Ļ ×Ļ×Ŀ", + "Ġ×ij ף", + "ĠÐ ĸ", + "à¸ķร à¸ĩ", + "д Ñĭ", + "Ġs ắc", + "ÙĦ ت", + "ãĥŃ ãĥ¼", + "ĠÙĦ ÙĨ", + "Ġר ×ķ", + "Ġd Æ°á»Ľi", + "à¹Ģ à¸ĺ", + "à¹Ģà¸ĺ à¸Ń", + "e ÄŁi", + "Ġ×ķ ש", + "ĠÙĦ Ø£", + "Ġg ặp", + "Ġc á»ij", + "ãģ¨ ãģ¦ãĤĤ", + "رÙĪ Ø³", + "Ġ׾×Ķ ×Ļ", + "Ġë³ ¸", + "ä¸Ĭ ãģĴ", + "Ġm ức", + "Ñħ а", + "Ġìŀ ¬", + "à¸ī ัà¸Ļ", + "ÑĢÑĥ ж", + "Ġaç ık", + "ÙĪ Ø§ÙĦ", + "Ġ×ĸ ×ŀף", + "人 ãģ¯", + "ع ÙĬÙĨ", + "Ñı Ñħ", + "Ġ×Ĵ×ĵ ×ķ׾", + "ר ×ķ×ij", + "g ó", + "ëĿ¼ ê³ł", + "Ġark adaÅŁ", + "ÙĨ شر", + "Ġгод Ñĥ", + "ĠболÑĮ ÑĪе", + "ãģ¡ãĤĩ ãģ£ãģ¨", + "Ġcâ u", + "Ġs át", + "íĶ ¼", + "Ġti ến", + "íķ´ ìķ¼", + "ĠÙĪ Ø£ÙĨ", + "à¸Ļ าà¸Ļ", + "Ġ×ij×IJ×ŀ צע", + "Ġ×ij×IJ×ŀצע ×ķת", + "Ġ׾ ר", + "Ġqu ản", + "ĠÙĪØ§ÙĦ Ø£", + "Ġ×IJ×ķת ×Ķ", + "Ġìĸ´ëĸ ¤", + "Ġê²ĥ ìĿĢ", + "ØŃس ÙĨ", + "Ġm ất", + "à¸Ħ ูà¹Ī", + "ãĥ¬ ãĥ¼", + "ĠÐĶ Ð°", + "Ġol ması", + "Ġthu á»Ļc", + "׳ ×Ĺ", + "íĨ ł", + "Ġsö yle", + "ãģĿãģĨ ãģ§ãģĻ", + "Ġت ÙĥÙĪÙĨ", + "л ÑĥÑĩ", + "׾ ×Ļ×ļ", + "ĠØ£ ØŃد", + "ли ÑģÑĮ", + "ĠвÑģ его", + "Ġ×Ķר ×ij", + "Ġëª »", + "o ÄŁ", + "oÄŁ lu", + "ĠìĦ ł", + "Ġк аÑĢ", + "à¸łà¸² à¸Ħ", + "e ÅĦ", + "Ġ à¸ģà¹ĩ", + "Ġa ynı", + "Ġb Ãł", + "ãģªãĤĵ ãģ¦", + "Ġ모 ëĵł", + "ÙĤر ار", + "ãģĹãģª ãģĦ", + "ĠÐĴ о", + "ĠÙĪÙĩ ÙĬ", + "ни ки", + "ãĤĮ ãģŁ", + "Ġchu ẩn", + "ר ×¢", + "Ùģ Ø±ÙĬÙĤ", + "ãĤĴ åıĹãģij", + "ĠÄij úng", + "б е", + "׼ ×ķ×Ĺ", + "п Ñĥ", + "Ġ×ķ ×Ĵ×Ŀ", + "×ŀ ׳×Ļ", + "íĸ ¥", + "צ ×Ļ×Ŀ", + "à¸ĭ ิ", + "Ùĩ ÙĨ", + "н ем", + "Ġ×ij×ij ×Ļת", + "ر ع", + "Ġ ส", + "ĠÄIJ Ãł", + "íķĺ ëĭ¤", + "Ġ ấy", + "×Ĺ ×ķ×ĵ", + "×Ĺ×ķ×ĵ ש", + "ĠÑĩеÑĢ ÐµÐ·", + "Ñĥ л", + "ĠB ình", + "Ġê²ĥ ìĿĦ", + "Ġ×Ĵ ר", + "ä»ĺ ãģij", + "×Ĺ׾ ×§", + "Ġت ÙĦÙĥ", + "à¹ĥส à¹Ī", + "sz Äħ", + "ÙĤ اÙħ", + "د ÙĪØ±", + "ĠÙģ ÙĤØ·", + "Ġh ữu", + "Ġмог ÑĥÑĤ", + "Ġg á»įi", + "Ġ×§ ר", + "à¸Īะ มี", + "ت ÙĤدÙħ", + "Ġع بر", + "Ġ׾×Ķ ×Ŀ", + "ĠÑģам о", + "ס ×ĵר", + "Ġc Ãłng", + "r ÃŃ", + "Ġìŀ ¥", + "ëĵ¤ ìĿĺ", + "ĠÙĦ Ùĥ", + "п оÑĢÑĤ", + "Ġkh ả", + "ĠÑģеб Ñı", + "׳ ף", + "Ġد ÙĪØ±", + "Ġm ợ", + "Ġcâ y", + "Ġf ark", + "Ġfark lı", + "а ÑİÑĤ", + "Ġtr á»±c", + "wiÄĻks z", + "Ġthu á»ijc", + "Ġت ØŃت", + "ت ÙĦ", + "ов Ñĭе", + "ëĤ ł", + "Ġв ам", + "بÙĦ غ", + "Ġê°Ļ ìĿĢ", + "íĮ IJ", + "ÙĦ ب", + "Ġnas ıl", + "Ġод ин", + "м ан", + "ĠعÙĦÙĬ Ùĩا", + "б и", + "Ġפ ש×ķ×ĺ", + "×ijר ×Ļ", + "Ġש ׳×Ķ", + "Ġëı Ħ", + "ĠÄIJ ại", + "Ġ×IJ×ķת ×Ŀ", + "ĠاÙĦØŃ ر", + "Ġб о", + "à¸Ī ุà¸Ķ", + "Ġr õ", + "ĠdeÄŁi ÅŁ", + "Ġëĭ ¨", + "ĠÑģлÑĥÑĩ а", + "ĠÑģлÑĥÑĩа е", + "Ġ×IJ׳ ש×Ļ×Ŀ", + "×ĵ ×£", + "ש×ij ת", + "Ġש׾ ׼×Ŀ", + "Ġch ú", + "nik ów", + "Ġtan ı", + "Ġcá o", + "ĠÄij á", + "Ġ×IJ ×ĵ×Ŀ", + "Ġê° ķ", + "Ġnhi á»ĩm", + "Ġ׾ ס", + "Ġ×Ľ×ª ×ij", + "Ġ×Ķס פר", + "ĠÄij Äĥng", + "Ġë ijIJ", + "à¸ľ ิ", + "à¸ľà¸´ ว", + "ج ا", + "Ġê° IJ", + "ر Ø£", + "ست خدÙħ", + "ãģ«ãģªãĤĬ ãģ¾ãģĻ", + "Ġtá» ·", + "×ĺ ×ķר", + "г овоÑĢ", + "Ġв оÑģ", + "ĠÙħÙĨ Ùĩا", + "иÑĢов аÑĤÑĮ", + "ĠÄij ầy", + "׳ ×Ĵ", + "ĠÙħ ÙĪ", + "ĠÙħ ÙĪÙĤع", + "ר׼ ×Ļ", + "ت Ùı", + "ëª ¨", + "Ġת ×ķ", + "ÙĬا Ùĭ", + "à¹ĥ à¸Ķ", + "ãĤĬ ãģ¾ãģĻ", + "à¸Ńยูà¹Ī à¹ĥà¸Ļ", + "ĠØ£ ÙĪÙĦ", + "ĠØ£ خرÙī", + "Ġc ư", + "ص ار", + "×ŀ׊ש×ij", + "б ÑĢа", + "ÅĦ ski", + "б ÑĢ", + "ĠÙĬ Ùı", + "à¸ģ ิà¸Ļ", + "Ġch á»ijng", + "Ùħ Ùı", + "Ġ à¸Ħืà¸Ń", + "Ġت ÙĨ", + "t ÃŃ", + "y Äĩ", + "Ġm ạng", + "Ùģ ÙĪ", + "Ġdü nya", + "×§ ר×IJ", + "Ġ×§ ׾", + "ĠØŃ اÙĦ", + "c ÃŃa", + "Ġà¹Ģ รา", + "Ġר ×ķצ×Ķ", + "Ġá p", + "ë° ķ", + "ا ÙĤØ©", + "ни Ñİ", + "Ġ×IJ ׾×ķ", + "Ġ×ŀס ×ķ", + "ãģ§ãģ¯ ãģªãģı", + "Ġtr ả", + "Ġ×§ שר", + "mi ÅŁtir", + "Ġl ưu", + "Ġh á»Ĺ", + "ĠбÑĭ ли", + "Ġl ấy", + "عÙĦ Ùħ", + "Ġö zel", + "æ°Ĺ ãģĮ", + "Ġ×ĵ ר×ļ", + "Ùħ د", + "s ını", + "׳ ×ķש×IJ", + "r ów", + "Ñĩ еÑĢ", + "êµIJ ìľ¡", + "ĠÐľ о", + "л ег", + "ĠV Ỽi", + "วัà¸Ļ à¸Ļีà¹ī", + "ÑİÑī ие", + "ãģĬ ãģĻ", + "ãģĬãģĻ ãģĻ", + "ãģĬãģĻãģĻ ãĤģ", + "ëı ħ", + "Ġ×Ļ×Ķ ×Ļ×Ķ", + "×ŀ ×ĺר", + "Ñı ми", + "Ġl á»±a", + "ĠÄij ấu", + "à¹Ģส ียà¸ĩ", + "Ġt ương", + "ëĵ ±", + "ĠÑģÑĤ аÑĢ", + "à¹ĥ à¸ļ", + "ว ัà¸Ķ", + "Ġİ stanbul", + "Ġ à¸Īะ", + "à¸ķ ลาà¸Ķ", + "Ġب ÙĬ", + "à¹ģà¸Ļ ะ", + "à¹ģà¸Ļะ à¸Ļำ", + "س اعد", + "Ġب Ø£", + "Ġki á»ĥm", + "ØŃ سب", + "à¸Ĭั à¹īà¸Ļ", + "Ġ×ķ ×¢×ķ×ĵ", + "ов ÑĭÑħ", + "оÑģ нов", + "Ġtr Æ°á»Łng", + "צ ×ij×¢", + "ĠÃŃ t", + "Ġk ỹ", + "cr é", + "Ñı м", + "êµ °", + "ãģĮ ãģªãģĦ", + "ÙĬÙĦ Ø©", + "ãĥķ ãĤ£", + "ر Ùī", + "ĠÙĬ جب", + "Ġ×IJ ×£", + "Ġc á»±c", + "ãĤīãĤĮ ãģŁ", + "Ġ à¸ľà¸¹à¹ī", + "Ġ à¸Ń", + "lar ımız", + "Ġkad ın", + "Ġê·¸ ëŀĺ", + "Ġê·¸ëŀĺ ìĦľ", + "ĠëĺIJ ëĬĶ", + "ĠÄij ả", + "ĠÄijả m", + "Ġ×IJ ×ķ×ŀר", + "Ġy ếu", + "ci Äħ", + "ciÄħ g", + "Ġt á»ij", + "Ġש×IJ ׳×Ļ", + "Ġdz iaÅĤa", + "Ñī а", + "ĠÄij Ãłn", + "s ına", + "ãģĵãĤĮ ãģ¯", + "Ġ×ij ׾×Ļ", + "Ġ×ij ×Ļשר×IJ׾", + "л оÑģÑĮ", + "Ġgi ữ", + "ê° IJ", + "ÑĢ Ð¾Ð½", + "تج ار", + "г лав", + "в ин", + "Ġh ạn", + "Ġyapı lan", + "ب س", + "Ġ à¸ŀรà¹īà¸Ńม", + "ê´Ģ 리", + "mÄ±ÅŁ tır", + "b ü", + "r ück", + "ĠBaÅŁkan ı", + "ĠÙĦ ÙĬس", + "Ġs Æ¡", + "à¸Īัà¸ĩ หว", + "à¸Īัà¸ĩหว ัà¸Ķ", + "د اء", + "Ġ×Ķ ×Ľ", + "v ÃŃ", + "ש ×IJר", + "Ġh Æ°á»Łng", + "Ġb óng", + "ĠCh ÃŃnh", + "Äħ c", + "à¹Ģà¸ģีà¹Īยว à¸ģัà¸ļ", + "Ġtá» ©", + "Ġtứ c", + "ĠÑĨ веÑĤ", + "Ġt á»iji", + "ĠnghÄ© a", + "ÙĦا عب", + "د ÙĦ", + "Ġפע ×Ŀ", + "h ör", + "à¸Ĭ ุà¸Ķ", + "à¸ŀ ู", + "à¸ŀู à¸Ķ", + "п аÑģ", + "ĠÅŁ u", + "Ġt Æ°á»Łng", + "خار ج", + "Ġâ m", + "ĠинÑĤеÑĢ ÐµÑģ", + "ен нÑĭÑħ", + "×IJ ׳×Ļ", + "بد Ø£", + "ëĿ¼ ëĬĶ", + "ì¹ ´", + "æĸ¹ ãģĮ", + "ли в", + "Ġ à¸Ħà¸Ļ", + "ער ×ļ", + "à¸Ĥà¸Ńà¸ĩ à¸Ħุà¸ĵ", + "п ад", + "Ġc ạnh", + "ĠëĤ ¨", + "ĠÄij âu", + "Ġbi á»ĥu", + "ãĤĤ ãģĤãĤĭ", + "׾ ×Ĵ", + "Ġ สำหรัà¸ļ", + "Ġxu á»ijng", + "ס ×ķ", + "Ġذ ات", + "ĠÐľ е", + "ع اÙĦÙħ", + "×IJ ס", + "ب ÙĬØ©", + "Ø´ ا", + "и ем", + "ĠNg ưá»Ŀi", + "íĺ ij", + "Ñģл ов", + "Ġп а", + "Ġm ẫu", + "ĠпÑĢоÑĨ еÑģÑģ", + "ĠNh Ãł", + "пÑĢо из", + "пÑĢоиз вод", + "à¸łà¸²à¸¢ à¹ĥà¸Ļ", + "Ġ à¸ļาà¸Ĺ", + "×ŀ ׳×ķ", + "ĠоÑĢг ан", + "רצ ×ķ", + "×ķ×ŀ ×Ļ×Ŀ", + "Ġyaz ı", + "Ġd ù", + "ãĥ¬ ãĥ³", + "ÙĪÙĦ ÙĬ", + "ย ู", + "Ġtr ò", + "à¹Ģà¸ŀ ลà¸ĩ", + "Ġ×ŀ ׾×IJ", + "à¸ķ ล", + "à¸ķล à¸Ńà¸Ķ", + "ĠÄij ạt", + "Ġ×Ĺ×ĵ ש", + "p óÅĤ", + "Ġ×ŀ ×ĵ×Ļ", + "ujÄħ c", + "×ŀ׳×Ķ ×ľ", + "Ġש×ij ×ķ", + "Ġ×Ķ×ŀש פ×ĺ", + "Ġ×IJ ׾×Ķ", + "ĠÙĪ Ø°ÙĦÙĥ", + "à¹Ģà¸ŀ ราะ", + "ĠÄijo Ãłn", + "Ġíķ¨ ê»ĺ", + "Ġd ục", + "Ø´ ت", + "Ġ ula", + "Ġula ÅŁ", + "Ġqu ý", + "Ġ×Ķ ×Ĵ×ĵ×ķ׾", + "à¸ķัà¹īà¸ĩ à¹ģà¸ķà¹Ī", + "Ġש ר", + "Ø´ Ùĩد", + "׳ ש×Ļ×Ŀ", + "à¸ŀ ล", + "رÙĪ Ø§", + "ãĤĮ ãģ¦", + "Ġн иÑħ", + "Ġдел а", + "ãģ§ãģį ãģªãģĦ", + "ÅĤo ż", + "×IJ ×Ĺר", + "ì ½Ķ", + "ãĤ¢ ãĥĥãĥĹ", + "د Ù쨹", + "Ġti á»ĩn", + "Ġkh á»ı", + "Ġkhá»ı e", + "ĠاÙĦع اÙħØ©", + "ãģ« ãģĤãĤĭ", + "ĠÄij á»Ļc", + "ì¡ ±", + "Ġc ụ", + "й ÑĤе", + "Ġзак он", + "ĠпÑĢо екÑĤ", + "ìĸ ¸", + "ÙĦ ØŃ", + "ĠçalÄ±ÅŁ ma", + "ãĤĴ ãģĻãĤĭ", + "Ñħ и", + "ع اد", + "Ġ׳ ×ŀצ×IJ", + "Ġר ×Ļ", + "à¸Ńà¸Ńà¸ģ มา", + "ĠT ôi", + "Ġth ần", + "ĠÙĬ ا", + "ล าย", + "Ġав ÑĤо", + "Ġsı ra", + "ĠÙĥ Ø«ÙĬر", + "Ùħ ÙĬز", + "ĠاÙĦع ÙĦÙħ", + "æĸ¹ ãģ¯", + "×ķ×¢ ×ĵ", + "Ġобла ÑģÑĤи", + "×Ļ׾ ×Ļ×Ŀ", + "ãģĮ åĩº", + "à¸ĺ ุ", + "à¸ĺุ ร", + "à¸ĺุร à¸ģิà¸Ī", + "ÙĤت ÙĦ", + "ר×IJ ×ķ", + "Ġng u", + "Ġngu á»ĵn", + "Ġ มา", + "Ġпл ан", + "t ório", + "Ġcu á»iji", + "Ñģк ом", + "ĠاÙĦÙħ اض", + "ĠاÙĦÙħاض ÙĬ", + "Ġ×ij×¢ ׾", + "Ġר ×ij×Ļ×Ŀ", + "Ġlu áºŃn", + "Ùĥ ÙĪ", + "à¸Ĺัà¹īà¸ĩ หมà¸Ķ", + "в ан", + "Ġtho ại", + "à¹Ħ à¸Ń", + "б иÑĢ", + "ĠاÙĦ ض", + "ت ا", + "ĠÑĢ Ð¾Ð´", + "ĠV Ãł", + "×ŀ ×Ļף", + "ĠбÑĭ ла", + "к ами", + "ĠÐĶ Ðµ", + "t ık", + "קר ×Ļ", + "ĠeÄŁ itim", + "ĠÙĥ بÙĬر", + "ب Ùĥ", + "ĠÙĦ ÙĪ", + "в ой", + "Ġ ãģĵãģ®", + "ĠÑĤ ÑĢÑĥд", + "my ÅĽl", + "Ġs ư", + "à¸ŀ ีà¹Ī", + "Ġ à¹ģลà¹īว", + "×¢ ×§", + "Ġ×Ĺ×ijר ת", + "ระ หว", + "ระหว à¹Īาà¸ĩ", + "×Ļ ×Ļ×Ķ", + "ĠاÙĦÙĨ اس", + "ün ü", + "Ġ׾ ×ŀ×Ķ", + "Ġch ương", + "ĠH á»ĵ", + "ار ت", + "ãĤĪãģĨ ãģ§ãģĻ", + "l á", + "×§×Ļ ×Ļ×Ŀ", + "æľ¬ å½ĵ", + "æľ¬å½ĵ ãģ«", + "ãģĵãĤĵ ãģª", + "Ñģ ов", + "Ġ×ķ ×Ĺ", + "à¹Ģà¸ģ à¹ĩà¸ļ", + "Ġк ÑĤо", + "à¹Ĥร à¸Ħ", + "ĠØ´ رÙĥØ©", + "ع زÙĬ", + "عزÙĬ ز", + "Ø·ÙĦ ÙĤ", + "п ÑĥÑģÑĤ", + "Ùģ ØªØŃ", + "ëŀ Ģ", + "Ġhã y", + "ض Ùħ", + "ë¦ °", + "åł´åIJĪ ãģ¯", + "ãĤª ãĥ¼", + "Ġh ắn", + "Ġ×IJ ×ij×Ļ×ij", + "Ġש׾×Ķ ×Ŀ", + "Ġ×Ķ×Ļ ×Ļת×Ķ", + "ĠاÙĦد ÙĪÙĦØ©", + "ĠاÙĦ ÙĪÙĤ", + "ĠاÙĦÙĪÙĤ ت", + "ãģĤ ãģ¾ãĤĬ", + "Ġta ÅŁÄ±", + "İ N", + "×¢ סק", + "ãģ¦ ãģĦãģŁ", + "Ġtá»ķ ng", + "ĠاÙĦØ¥ ÙĨس", + "ĠاÙĦØ¥ÙĨس اÙĨ", + "ÑĢ ÐµÑĪ", + "Ġg ái", + "ĠÑĨ ен", + "ĠÙģ ÙĤد", + "Ùħ ات", + "ãģķãĤĵ ãģ®", + "Ġph ù", + "×ĺ ×Ķ", + "ĠÙĪØ§ÙĦ تÙĬ", + "Ġب Ùĥ", + "ìĿ´ ëĤĺ", + "к Ñģ", + "Ùħ ÙĬر", + "Ġv ùng", + "ĠاÙĦØ´ عب", + "ĠNh ưng", + "ãĥĢ ãĥ¼", + "Ġ×Ĺ×Ļ ×Ļ×Ŀ", + "ĠØ´ خص", + "×§ ×ķ×ĵ", + "ê² Ģ", + "×¢ ש", + "×¢ ×ķ׾×Ŀ", + "צ ×ķר", + "ع ÙĤد", + "ĠiÅŁ lem", + "Ġ×Ķ×ij ×IJ", + "Ġd ưỡng", + "à¸Ł รี", + "Ġph ÃŃa", + "ãģ®ä¸Ń ãģ§", + "Ġп и", + "Ġng Ãłnh", + "ним а", + "ĠÙĩ ÙĦ", + "Ġ×ķ ×IJת", + "ĠÄij áng", + "é quipe", + "ĠÑįÑĤ оÑĤ", + "Ġgö rev", + "ë§ ¤", + "Ġqu ân", + "å¼ķ ãģį", + "æĻĤ ãģ«", + "Ġب Ùħا", + "×ŀ ×Ļת", + "Ġü lke", + "Ġ×ŀ×§ ×ķ×Ŀ", + "×ij ף", + "æ°Ĺ æĮģãģ¡", + "Ġë§İ ìĿĢ", + "Ġyük sek", + "ÑĨ енÑĤÑĢ", + "ĠÙħ جÙĦس", + "ç§ģ ãģ®", + "ÙĤد ر", + "Ġë¶Ģ ë¶Ħ", + "Ġì° ¨", + "خر ج", + "ãģĭ ãģªãĤĬ", + "ë³´ ëĭ¤", + "Ġ×ŀ ×Ļ×ĵ×¢", + "peÅĤ ni", + "Ġx á»Ń", + "ìĹIJìĦľ ëĬĶ", + "ĠباÙĦ Ùħ", + "ĠÙĪ Ùħا", + "ĠÑįÑĤ ой", + "ب ÙĬÙĨ", + "n ü", + "ØŃ ز", + "ØŃز ب", + "ĠÑĢабоÑĤ а", + "ĠNh áºŃt", + "ÙĦ اء", + "Ġëĵ ¤", + "Ġëĵ¤ ìĸ´", + "ãĤĦãģĻ ãģĦ", + "×Ĺ×ĸ ×§", + "Ġ×Ķ×Ĺ ×ijר×Ķ", + "п иÑĤ", + "ãģĭãĤī ãģ®", + "Ġë§IJ ìĶĢ", + "Ġפ ×ķ", + "ÙĦ Ùİ", + "à¹Ģà¸ķà¹ĩ ม", + "ĠÐļ о", + "Ġm ówi", + "Ġt ÃŃn", + "ר×Ĵ ש", + "פר ×§", + "Ġtr ạng", + "ĠÐŀ н", + "×Ĺ ×ķ×¥", + "ĠعÙĨد Ùħا", + "Ġب ر", + "使 ãģĦ", + "Ġr á»Ļng", + "ëĮĢ ë¡ľ", + "íĪ ¬", + "Ġktóry ch", + "в ид", + "ลูà¸ģ à¸Ħà¹īา", + "Ġmog Äħ", + "Ġש ×Ĺ", + "×ij ×Ĺר", + "ãĥĸ ãĥŃãĤ°", + "ĠTh Ãłnh", + "Ġ×Ķ ×¨×Ļ", + "ĠÑģÑĤ аÑĤÑĮ", + "ĠH á»Ļi", + "à¸ļ à¹īาà¸ĩ", + "çī¹ ãģ«", + "ĠÄIJ ức", + "èĢħ ãģ®", + "×¢ ×ŀ×ķ×ĵ", + "×ĺר ×Ķ", + "Ð ¥", + "ĠÙħ Ùħا", + "Ġe ÅŁ", + "ĠнеобÑħодим о", + "ник ов", + "Ġüzer inde", + "a ÅĤa", + "Ġchá»ĭ u", + "ĠاÙĦ دÙĬÙĨ", + "أخ بار", + "ĠÄij au", + "ãģĮ å¤ļãģĦ", + "jÄħ cych", + "د Ø®ÙĦ", + "ları nd", + "larınd an", + "Ġs ẻ", + "à¸ŀิ à¹Ģศ", + "à¸ŀิà¹Ģศ ษ", + "ת ף", + "t ıģı", + "Ġlu áºŃt", + "ĠÅŀ e", + "ãĤ« ãĥ¼", + "ãģ® ãģĤãĤĭ", + "Ġ×Ķ×IJ תר", + "ĠاÙĦØ¢ ÙĨ", + "ıld ı", + "Ġá o", + "ĠнаÑĩ ал", + "Ġvi á»ĩn", + "Ġ×ij×¢ ×ķ׾×Ŀ", + "з наÑĩ", + "×Ļ×ĺ ×Ķ", + "к ам", + "ĠÐĺ з", + "à¹Ģà¸Ĥ ียà¸Ļ", + "à¸Ļ à¹īà¸Ńà¸ĩ", + "ÑĤ ÑĢо", + "à¹Ģ à¸Ł", + "Ġжиз ни", + "Ġ สà¹Īวà¸Ļ", + "Ġv áºŃn", + "Ġê´Ģ 볨", + "Ġl âu", + "ס ×ĺר", + "×§ ש", + "س ÙĬر", + "Ġ×IJ×ķת ×Ļ", + "Ġm ôi", + "ائ ب", + "Ġо ÑģÑĤа", + "Ġm ón", + "Ġ×ij ×ŀ×§×ķ×Ŀ", + "Ġد اخÙĦ", + "Ġ×IJ ×ķר", + "Ġв аÑģ", + "Ùĥ Ø´Ùģ", + "ìĺ ¨", + "à¸ĸ à¹Īาย", + "Ġkullan ıl", + "Ġt ô", + "ãģ« ãĤĪãĤĬ", + "ĠëĺIJ íķľ", + "Ġ×¢×ij×ķ×ĵ ×Ķ", + "Ġri ê", + "Ġriê ng", + "Ġyak ın", + "ز ا", + "Å »", + "×IJ ×ķ׼׾", + "شار Ùĥ", + "Ġб еÑģ", + "× ´", + "Ġا بÙĨ", + "ĠTá»ķ ng", + "ÙĨ ظ", + "ÅĽwi ad", + "ãĤµ ãĥ¼", + "ห าย", + "ĠG ün", + "Ġhakk ında", + "à¹Ģà¸Ĥà¹īา มา", + "ز ÙĨ", + "ĠÐł о", + "Ġbi á»ĥn", + "ãģ© ãģĵ", + "Ùģ Ø¹ÙĦ", + "ز ع", + "פר ×ĺ", + "Ġ×Ķ ×Ł", + "Ø£ ÙĩÙĦ", + "Ġth ất", + "ØŃ ÙħÙĦ", + "Ñĩ Ñĥ", + "ĠìĤ¬ ìĭ¤", + "ì° ¸", + "ĠìľĦ íķ´", + "ÙĪ Ø¸", + "ĠÐŁ од", + "Ġkho ản", + "ÑĤ ен", + "ĠÙģ Ø§ÙĦ", + "Ñģ ад", + "à¸Ļ à¸Ńà¸Ļ", + "ĠاÙĦسعÙĪØ¯ ÙĬØ©", + "\" ØĮ", + "ĠاÙĦ ÙĴ", + "ãĤī ãģļ", + "Ġto án", + "Ġch ắc", + "׼ ×Ļר", + "m éd", + "méd ia", + "ز ÙĪ", + "Ġyan ı", + "פ ׳×Ļ×Ŀ", + "ØŃ ظ", + "Ġб еÑģп", + "ĠбеÑģп лаÑĤ", + "ĠбеÑģплаÑĤ но", + "ĠØ£ ÙħاÙħ", + "à¸Ń าย", + "à¸Ńาย ุ", + "ר שת", + "Ġg á»ĵ", + "Ġgá»ĵ m", + "Ġu á»ijng", + "ص ب", + "k ır", + "ãĥij ãĥ¼", + "Ġ׾×ĵ עת", + "Ġк ÑĥпиÑĤÑĮ", + "׾ ×ķ×Ĺ", + "ÙĪØ¶ ع", + "ÙĤÙĬ Ùħ", + "à¸Ľ า", + "ж ив", + "à¸Ķ ิà¸Ļ", + "×IJ ×ķפ", + "à¹Ģล à¹ĩà¸ģ", + "ãĥĥ ãĥī", + "иÑĩеÑģки Ñħ", + "ĠCh á»§", + "кÑĢ Ð°Ñģ", + "ÙĪ ØµÙĦ", + "p ÅĤat", + "м оÑĢ", + "Ġ×Ķ×IJ ×ķ", + "à¸Ń ิà¸Ļ", + "Ġíķľ êµŃ", + "гÑĢ Ðµ", + "Ġìłľ ê³µ", + "ì° ½", + "Ġê°ľìĿ¸ ìłķë³´", + "Ġngh á»ĭ", + "à¸ĭ า", + "ØŃس اب", + "Ġby ÅĤa", + "ÙħÙĦ Ùĥ", + "иÑĩеÑģки е", + "Ġb ác", + "ض ØŃ", + "ê¸ ¸", + "ש ×ŀ×¢", + "Ġìĸ´ëĸ »", + "Ġìĸ´ëĸ» ê²Į", + "ìĽ Į", + "ات Ùĩ", + "à¹Ĥรà¸ĩ à¹ģ", + "à¹Ĥรà¸ĩà¹ģ รม", + "خد ÙħØ©", + "ĠÐł а", + "׼×ķ׾ ×Ŀ", + "×ŀש ×Ĺ×§", + "ĠÙĪ ÙĥاÙĨ", + "ס ×ķ×£", + "ĠاÙĦØŃÙĥÙĪÙħ Ø©", + "Ġ×ij ×ĺ", + "Ġtr áºŃn", + "Ġ×Ķ×¢ ×ķ׾×Ŀ", + "ĠÃŃ ch", + "t Äħ", + "ש×ŀ ×ķ", + "Ġ×Ķר×IJש ×ķף", + "Ġíķĺ ê³ł", + "ãģķ ãĤī", + "ãģķãĤī ãģ«", + "ãģ« ãģĹãģ¦", + "Ġ à¸ľà¸¡", + "ãģ® ãĤĪãģĨãģª", + "ĠÙĪ ÙĤت", + "ãĥį ãĥĥãĥĪ", + "ÙĦ عب", + "ÙĪ Ø´", + "ìĺ ¬", + "Ġ หาà¸ģ", + "Ġm iaÅĤ", + "à¸Ĺ à¸Ńà¸ĩ", + "иÑĤ а", + "ا صر", + "ил ÑģÑı", + "з е", + "à¸Ľà¸£à¸° มาà¸ĵ", + "ãģĿãĤĮ ãģ¯", + "Ġb ır", + "Ġbır ak", + "صÙĨ اع", + "Ð ®", + "Ø´ عر", + "Ġ׳ ×Ĵ×ĵ", + "Ġب سبب", + "ãĥĿ ãĤ¤", + "ãĥĿãĤ¤ ãĥ³ãĥĪ", + "ĠاÙĦج ÙĪ", + "ĠнеÑģк олÑĮко", + "Ġki ếm", + "Ùģ Ùİ", + "Ġض د", + "×ij×Ļ×ĺ ×ķ×Ĺ", + "تاب ع", + "ÙĨ ز", + "ĠB ản", + "Ġaç ıkl", + "Ġaçıkl ama", + "Ġ à¸Ħุà¸ĵ", + "à¸Ĺ า", + "ÅĤ ów", + "Ø· ب", + "ÙĨ ØŃÙĨ", + "Ġ×ŀ×§ ×ķר", + "Ġİ s", + "Ġдом а", + "Ġ วัà¸Ļ", + "Ġd Ãłnh", + "Ñı н", + "ми ÑĢ", + "Ġm ô", + "ĠvÃł ng", + "ص اب", + "s ının", + "à¸Ħ ืà¸Ļ", + "Ø® بر", + "×ĸ׼ ×ķ", + "Ġ×ŀ ש×Ķ×ķ", + "m ü", + "Ġкомпани и", + "Ġ×Ķ×¢ ×Ļר", + "ĠÙĥ ÙĪ", + "ÙĤÙĦ ب", + "ĠlỼ p", + "и ки", + "׳ ×ij", + "à¹Ĥ à¸Ħร", + "à¹Ĥà¸Ħร à¸ĩ", + "à¹Ĥà¸Ħรà¸ĩ à¸ģาร", + "×ŀ×ķ×¢ ×ĵ", + "ÑıÑĤ ÑģÑı", + "หลัà¸ĩ à¸Īาà¸ģ", + "ени Ñİ", + "Ġש ×¢", + "Ġb Æ°á»Ľc", + "ãĥ¡ ãĥ¼ãĥ«", + "ãĤĦ ãĤĬ", + "Ġ×Ļ×ķ×ĵ ×¢", + "Ġê´Ģ íķľ", + "ĠاÙĦØ£ Ùħر", + "Ġböl ge", + "ĠÑģв ой", + "ÙĦ س", + "Ġ×ŀ×Ļ ×ķ×Ĺ×ĵ", + "ĠëĤ´ ìļ©", + "ĠØ£ جÙĦ", + "ĠÄIJ ông", + "Ġ×ŀ ×ł×ª", + "Ġìĭľ ê°Ħ", + "Ùĥ Ùİ", + "ãģ¨ãģĦãģĨ ãģ®ãģ¯", + "Ġnale ży", + "تÙĨظ ÙĬÙħ", + "ĠÑģозд а", + "Ġph é", + "Ġphé p", + "ãģ§ãģį ãģ¾ãģĻ", + "Ġع ÙĦÙħ", + "大ãģį ãģª", + "ãĤ² ãĥ¼ãĥł", + "í ħĮ", + "Ġ׼×ķ׾ ׾", + "ĠинÑĤеÑĢ Ð½ÐµÑĤ", + "ĠT ừ", + "ãģ¨ ãģªãĤĭ", + "ز اÙĦ", + "Ġktóry m", + "Ġnh é", + "ìĪ ľ", + "н ев", + "д еÑĢ", + "ãĤ¢ ãĥĹãĥª", + "i á»ĩu", + "×ij ×Ļ׾", + "Ġت س", + "ĠÄIJ ây", + "ĠاÙĦØ® اصة", + "Ġà¹Ģ à¸Ĭ", + "Ġà¹Ģà¸Ĭ à¹Īà¸Ļ", + "ص اد", + "Ġd ạng", + "س عر", + "Ġש ×Ļ×ŀ×ķש", + "×Ĵ ×Ļ×Ŀ", + "ãģĮãģĤ ãģ£ãģŁ", + "п ÑĢов", + "пÑĢов од", + "Ġ×IJ ×Ļ׳×ķ", + "Ġ׾ ר×IJ", + "Ġ׾ר×IJ ×ķת", + "ĠØ£ Ù쨶ÙĦ", + "ĠØŃ ÙĦ", + "ĠØ£ بÙĪ", + "ê° ķ", + "Ġì§ ij", + "ãģ® ãĤĪãģĨãģ«", + "Ġפ ׳×Ļ", + "ס ×Ļ×Ŀ", + "ĠÙĪÙĩ ذا", + "Ġka ç", + "Ġé én", + "Ġê± ´", + "ë° Ķ", + "Ñĥ з", + "à¸Ĥà¸Ńà¸ĩ à¹Ģรา", + "i ÅĤ", + "ĠÐľ Ñĭ", + "Ġch ết", + "ĠاÙĦØ« اÙĨÙĬ", + "×IJ ×§", + "Ġ×ķ ×¢×ľ", + "ĠاÙĦØ· ب", + "×ij×ĺ ×Ĺ", + "Ġج دÙĬدة", + "Ġع دÙħ", + "ع ز", + "สิà¹Īà¸ĩ à¸Ĺีà¹Ī", + "ãģĻ ãĤĮãģ°", + "ĠÄij ô", + "ì£ ł", + "د ÙĤ", + "н омÑĥ", + "Ġk á»ĥ", + "ãĤ¢ ãĥ³", + "å¤ļãģı ãģ®", + "à¸Ľà¸£à¸° à¸ģ", + "à¸Ľà¸£à¸°à¸ģ à¸Ńà¸ļ", + "פע×Ļ׾ ×ķת", + "ĠÑģÑĤ ол", + "may ı", + "ãģ¤ ãģĦ", + "Ġyılı nda", + "Ġ à¸Īึà¸ĩ", + "koÅĦ cz", + "ĠTh ông", + "Ġак ÑĤив", + "н ÑģÑĤ", + "нÑģÑĤ ÑĢÑĥ", + "ĠÃĸ z", + "Ġת ×ŀ×Ļ×ĵ", + "ĠÙĥ ÙĨت", + "Ñģ иÑģÑĤем", + "pr és", + "prés ent", + "Ġn â", + "Ġnâ ng", + "gÅĤ os", + "ĠÙĪØ² ÙĬر", + "ØŃ صÙĦ", + "Ġиме еÑĤ", + "ØŃ رÙĥØ©", + "à¸ŀ à¹Īà¸Ń", + "ãĤĴ ãģĬ", + "Ġاست خداÙħ", + "×IJ×Ļר ×ķ×¢", + "ä»ĸ ãģ®", + "Ġש×Ķ ×Ŀ", + "ãģĹãģŁ ãĤī", + "ש×ŀ ×Ļ", + "Ñģ ла", + "m ı", + "Ġbaz ı", + "Ġíķĺ ì§Ģë§Į", + "×ĵ ׾", + "Ġyapt ıģı", + "ãĥĬ ãĥ¼", + "׾ ×Ļ׾×Ķ", + "ãģ¨ãģĦ ãģ£ãģŁ", + "änd ig", + "ĠÅŁ a", + "ĠÙģÙĬ Ùħا", + "иÑĤ елÑı", + "×ŀ ×ķש", + "à¸Ĥ à¸Ńà¸ļ", + "l ük", + "Ġh á»ĵi", + "Ġëª ħ", + "ĠاÙĦÙĥ Ø«ÙĬر", + "צ ×IJ", + "Ġhaz ır", + "طر Ùģ", + "ا ÙĬا", + "ĠÄij ôi", + "ен д", + "ÙĦ غ", + "×Ĺ ×ĸ×ķר", + "ĠвÑģ ег", + "ĠвÑģег да", + "ëIJĺ ê³ł", + "×ĵ ×ķ×ĵ", + "ан а", + "د ÙĪÙĦØ©", + "Ġho ạch", + "ع ÙĦا", + "عÙĦا ج", + "Ġ×ķ ×¢×ĵ", + "×Ķ ×Ŀ", + "ки й", + "ÙĦ ÙIJ", + "Ġ×¢ ׾×Ļ×ķ", + "ÑİÑī ий", + "Ġng á»§", + "صÙĨ ع", + "ĠاÙĦع راÙĤ", + "à¸ķà¹Īà¸Ń à¹Ħà¸Ľ", + "ãģŁãģı ãģķãĤĵ", + "Ġph ạm", + "ÙĦ اÙĨ", + "ات Ùĩا", + "Ġbö yle", + "تÙĨ ÙģÙĬ", + "تÙĨÙģÙĬ ذ", + "Ġש×Ķ ×Ļ×IJ", + "Ñģ Ñĥ", + "ย าว", + "Ġש ×ķ׳×Ļ×Ŀ", + "Ġ×ŀ ×ķ׾", + "ĠÑģ ил", + "Ġ×IJ×Ĺר ×Ļ×Ŀ", + "Ġph á»§", + "ÙĤØ· ع", + "ĠTh á»§", + "à¸Ľà¸£à¸°à¹Ģà¸Ĺศ à¹Ħà¸Ĺย", + "ÙĨ ÙĤ", + "ĠÄijo ạn", + "Ġب Ø¥", + "п ÑĢедел", + "×ķת ×ķ", + "Ġy arı", + "пÑĢ Ðµ", + "ĠczÄĻ ÅĽci", + "ØŃ ÙĥÙħ", + "×ķ׳ ×Ļת", + "פע ׾", + "ãĤĴ ãģĹãģ¦", + "Ġktó rzy", + "׾ ×Ŀ", + "ĠÄIJi á»ģu", + "ĠкоÑĤоÑĢ Ð°Ñı", + "ĠìĿ´ ìĥģ", + "ãģĤ ãģ£ãģŁ", + "Ġ×ŀ×ĵ ×ķ×ijר", + "פ ×ķ×¢×ľ", + "d ım", + "éĢļ ãĤĬ", + "ĠбÑĥд ÑĥÑĤ", + "à¹Ģวà¹ĩà¸ļ à¹Ħà¸ĭ", + "à¹Ģวà¹ĩà¸ļà¹Ħà¸ĭ à¸ķà¹Į", + "ا خر", + "×Ĺ ×Ļ׾", + "Ġ×Ļ ×ľ", + "Ġ×Ļ׾ ×ĵ×Ļ×Ŀ", + "×Ĺ ×Ļפ", + "×Ĺ×Ļפ ×ķש", + "Ġd òng", + "Ġש ×ĸ×Ķ", + "ÑĮ е", + "ãģĤ ãģ¨", + "ìŀIJ ê°Ģ", + "×IJ ×ĵ", + "Ġü z", + "Ġüz ere", + "ظ ÙĦ", + "Ġ×IJ ×ķ׾×Ļ", + "Ġ×ij ×Ļ×ķ×Ŀ", + "ÙĦ ات", + "Ġm ê", + "ì¹ ¨", + "تØŃ د", + "تØŃد Ø«", + "ĠØ® اصة", + "Ġب رÙĨ", + "ĠبرÙĨ اÙħج", + "ĠH Ãłn", + "×Ĺ ×¡", + "ĠÙĪ ÙĦÙħ", + "×¢ ×Ŀ", + "Ġm ı", + "à¸Ł ัà¸ĩ", + "ש ×¢×Ķ", + "ÙĪÙģ ÙĤ", + "ס ×ij×Ļר", + "алÑĮ нÑĭй", + "×Ĺש ×ķ×ij", + "Ġn Ãłng", + "ë³ ¼", + "ĠкоÑĤоÑĢ ÑĭÑħ", + "Ġ×Ĺ ×ķ×§", + "t ör", + "ĠлÑĥÑĩ ÑĪе", + "ãĥij ãĥ³", + "ลà¹Īา สุà¸Ķ", + "Ġج دÙĬد", + "ÙĬد Ø©", + "à¸Ĺ รà¸ĩ", + "ãĤĪãĤĬ ãĤĤ", + "ÙĦ ÙĦ", + "ãĤĤ ãģ£ãģ¨", + "ש×ĺ ×Ĺ", + "Ġ×ķ ×IJ×Ļ", + "Ġgi á»ijng", + "Ø¥ ضاÙģ", + "×§ ת", + "ë§ Ŀ", + "Ġzosta ÅĤ", + "ÑĢ Ð¾Ð·", + "×Ļפ ×Ļ×Ŀ", + "Ġ׼׾ ׾", + "ת×ķ׼ ף", + "dıģ ını", + "ÙĤ سÙħ", + "ĠÑģ ÑĩиÑĤ", + "ĠÑģÑĩиÑĤ а", + "×ĺ ×ķת", + "Ġ ưu", + "ĠØ¢ ÙĦ", + "Ġм ом", + "Ġмом енÑĤ", + "ĠاÙĦتع ÙĦÙĬÙħ", + "×¢×ľ ×ķת", + "Ġch ữa", + "Ġy ön", + "Ġtr Ãł", + "ĠØŃ ÙĬÙĨ", + "à¸ĭ ั", + "ĠC á", + "×¢ ×ĸ", + "ĠاÙĦØ£ ÙħÙĨ", + "c ÃŃ", + "Ġv á»ijn", + "Ġ à¸Ļาย", + "об ÑĢа", + "×§ ×IJ", + "Ġthi ếu", + "ãĥŀ ãĥ¼", + "ส วà¸Ļ", + "Ġg á»Ń", + "Ġgá»Ń i", + "Ġê ¹", + "Ġê¹ Ģ", + "Ġthi á»ĩn", + "ÙĤ ع", + "w ÄĻ", + "Ġн ам", + "ÑĤ ол", + "Ġs ân", + "ס ×ķ×Ĵ", + "Ġgeç ir", + "ÑĤ он", + "ев а", + "ĠÙĪ Ø¶Ø¹", + "Ġع شر", + "Ñģ ло", + "à¸Ī ัà¸ļ", + "ãĤ· ãĥ¼", + "ãĤĤ ãģĤãĤĬãģ¾ãģĻ", + "Ġv ẻ", + "ĠÄIJ á»ĥ", + "ر Ù쨹", + "ĠاÙĦØ£ÙĪÙĦ Ùī", + "ÑĤ аÑĢ", + "ãģªãģı ãģ¦", + "Ùħ Ùİ", + "qu ÃŃ", + "×¢×ł×Ļ ×Ļ׳", + "г ен", + "Ġh ôm", + "à¸Ī า", + "Ġnh Ỽ", + "ĠاÙĦع ربÙĬ", + "×IJ ף", + "Ġl á»Ļ", + "Ġje ÅĽli", + "à¹Ģà¸Ĺà¹Īา à¸Ļัà¹īà¸Ļ", + "ĠØ£ÙĨ Ùĩا", + "Ġt uy", + "Ġtuy á»ĩt", + "Ġت ص", + "Ġتص ÙĨÙĬ", + "ĠتصÙĨÙĬ Ùģ", + "Ġê·¸ëŁ¬ ëĤĺ", + "о ÑĨен", + "à¸ģิà¸Ī à¸ģรรม", + "ãĤĦ ãģ£ãģ¦", + "Ġkh á»ıi", + "Ġl á»ĩ", + "ĠاÙĦÙħج تÙħع", + "à¸Ńาà¸Ī à¸Īะ", + "à¸Īะ à¹Ģà¸Ľà¹ĩà¸Ļ", + "ов Ñĭй", + "ר ×Ŀ", + "ร à¹īà¸Ńà¸Ļ", + "ש ×ŀש", + "人 ãģ«", + "Ġüzer ine", + "פר ×Ļ", + "du ÄŁu", + "Ñĩ ик", + "Ġmù a", + "Ġ×ŀת ×ķ×ļ", + "Ġc áºŃp", + "Ġت ارÙĬØ®", + "×ij׾ ת×Ļ", + "Ġì¢ Ģ", + "ÙĦ ع", + "ب اÙĨ", + "Ġch út", + "Ġ×Ķ×ĸ ×ŀף", + "n ée", + "ĠLi ên", + "ĠÙĦÙĦ Ø£", + "ØŃد ÙĪØ¯", + "Ġ×¢ ׼ש×Ļ×ķ", + "в оз", + "Ġyapt ı", + "Ġоб о", + "à¹ĥหà¹ī à¸ģัà¸ļ", + "Ġ×ij×Ķ ×Ŀ", + "ãģı ãģ¦", + "ر أس", + "ĠÑģÑĢед ÑģÑĤв", + "ĠB Ãłi", + "ãģĵãģ¨ ãģ«", + "ĠìĤ¬ íļĮ", + "Ġ모 ëijIJ", + "×ij ×IJ", + "Ġtr ắng", + "ĠاÙĦبÙĦ د", + "ĠHo Ãłng", + "ли бо", + "ĠдÑĢÑĥг иÑħ", + "İ R", + "Ñĥм а", + "ĠJe ÅĽli", + "ãĤĤ ãģĹ", + "Ġv òng", + "Ġ×IJתר ×Ļ×Ŀ", + "ĠÄij á»įc", + "Ġв оÑĤ", + "ãģł ãģĮ", + "ë° °", + "à¸Ķู à¹ģล", + "Ġ×ŀ ׼׾", + "ìĹIJ ëıĦ", + "г аз", + "Ġ׳×ķס פ×Ļ×Ŀ", + "ãģĵãģ¨ ãģ§", + "Ġت ÙĪ", + "ãģ§ ãģĤãĤĬ", + "à¸Ļั à¹Īà¸ĩ", + "ĠможеÑĤ е", + "sz ÄĻ", + "ãģ® ãģł", + "ĠÙħÙĨ Ùĩ", + "Ġb á»ķ", + "Ġb üt", + "Ġbüt ün", + "ë³´ ê³ł", + "Ġch á»ĵng", + "à¹ģà¸Ī à¹īà¸ĩ", + "ĠV ì", + "ĠØŃ ر", + "Ġgi ản", + "ĠÙħ دÙĬÙĨØ©", + "تط بÙĬÙĤ", + "à¸Ī ิ", + "æĹ¥ ãģ®", + "б ил", + "à¸ģ à¸Ńà¸ĩ", + "ê³ ³", + "ĠØ£ Ùħا", + "ìĨ IJ", + "Ġtr ái", + "ĠвÑģ ем", + "Ġس ÙĨØ©", + "ĠÑģай ÑĤ", + "Ġг оÑĤов", + "п Ñĭ", + "ĠëIJ ł", + "ĠاÙĦØ® Ø·", + "ĠاÙĦرئÙĬس ÙĬØ©", + "Ġíķ ©ëĭĪëĭ¤", + "ĠìķĦëĭĪ ëĿ¼", + "ĠìĿ´ ëłĩ", + "ĠìĿ´ëłĩ ê²Į", + ") ØĮ", + "h ält", + "ĠØ£ Ùħر", + "Ġع Ùħر", + "à¸ģà¹ĩ à¸Īะ", + "Ġ à¸Ĺำà¹ĥหà¹ī", + "Ġc ân", + "Ġ×ij ׾", + "Ġ×ij׾ ×ij×ĵ", + "פ סק", + "ĠÙĬ ÙĤÙĪÙĦ", + "н ÑĥÑĤÑĮ", + "à¹ģ à¸Ħ", + "Ġ×§ צת", + "Ġn ằm", + "Ġh òa", + "bilit Ãł", + "ĠìĹĨ ëĭ¤", + "Ġ׼ פ×Ļ", + "ÑĢ Ð¾Ð¶", + "лаг а", + "Ġ×Ķש ×Ļ", + "ĠNgo Ãłi", + "ĠÙĪ Ø¬", + "ĠÙĪØ¬ ÙĪØ¯", + "ĠìľĦ íķľ", + "Ġus ÅĤug", + "Ġtu ần", + "d ź", + "×ŀ ×ķף", + "ĠاÙĦع دÙĬد", + "Ġch ẳng", + "สุà¸Ĥ à¸łà¸²à¸ŀ", + "Ġ×ij ×ĵר×ļ", + "ĠÑģеб е", + "ĠìŀĪ ìĿĦ", + "ĠاÙĦØŃ اÙĦ", + "Ġd á", + "Ġc ưá»Ŀi", + "Ġnghi ên", + "ie ÅĦ", + "ĠD ương", + "ï¼ ħ", + "Ø´ د", + "ãģĦãģ¤ ãĤĤ", + "ĠвÑĭб оÑĢ", + "Ġc á»Ļng", + "ש ×Ļ׳×ķ×Ļ", + "Ġch ạy", + "Ġ×ij×¢ ׾×Ļ", + "اخ بار", + "íķĺ ë©°", + "ż Äħ", + "ج از", + "Ġ׳ ר×IJ×Ķ", + "ศ ู", + "ศู à¸Ļ", + "ศูà¸Ļ ยà¹Į", + "×Ĵ ×¢", + "Ġ×¢ ×ĵ×Ļ", + "Ġ×¢×ĵ×Ļ ×Ļף", + "بر ا", + "ÑĨи й", + "ĠÄIJ á»ĵng", + "ÙĤ اÙĨÙĪÙĨ", + "ĠÄij ứng", + "ãģĹãģŁ ãĤĬ", + "Ġ×Ĺ×Ļ ×Ļ", + "Ġë IJľ", + "ĠëIJľ ëĭ¤", + "Ġм еждÑĥ", + "à¸ŀวà¸ģ à¹Ģà¸Ĥา", + "ĠB ắc", + "ล ำ", + "ë° ±", + "ĠíĻ ķ", + "มาà¸ģ ม", + "มาà¸ģม าย", + "бан к", + "à¸Ńา à¸ģาร", + "Ġh Ãł", + "Ġ׾ ׳", + "à¸Ń à¸Ń", + "Ġë°Ķ ë¡ľ", + "л ом", + "m ática", + "ĠØŃ د", + "اب ت", + "à¸Ĺีà¹Ī à¸Ļีà¹Ī", + "Ġco ÅĽ", + "ÙģÙĬ دÙĬ", + "ÙģÙĬدÙĬ ÙĪ", + "ĠмеÑģÑĤ о", + "Ġph út", + "มาà¸ģ à¸ģวà¹Īา", + "×IJ פ", + "ب ÙIJ", + "ĠPh ú", + "ì± Ħ", + "ĠÙĪ Ø³ÙĦÙħ", + "à¸Īี à¸Ļ", + "поÑĤ ÑĢеб", + "Ġ×Ĺ×ĵ ש×ķת", + "Ø´ ÙĪ", + "Ġעצ ×ŀ×ķ", + "ĠعÙħÙĦ ÙĬØ©", + "à¸Ħุà¸ĵ à¸łà¸²à¸ŀ", + "ãģ¾ãģĻ ãģĮ", + "دع ÙĪ", + "طر ÙĤ", + "à¹Ħมà¹Ī à¸ķà¹īà¸Ńà¸ĩ", + "ë² Ķ", + "ìĬ ¹", + "Ġk ÃŃch", + "ĠìĹĨ ëĬĶ", + "ĠÑĤ ам", + "ĠÙĨ ØŃÙĪ", + "ĠاÙĦÙĤ اÙĨÙĪÙĨ", + "×Ĺ ×ķ×Ŀ", + "Ġk ız", + "Ġ×ĵ ×Ļף", + "ĠвÑĢем ени", + "ãģ£ãģŁ ãĤĬ", + "ĠØ´ Ùĩر", + "ĠìĦľ ë¹ĦìĬ¤", + "×¢ ש×Ķ", + "Ġgi ác", + "ĠاÙĦسÙĦ اÙħ", + "Ġ×IJ ש", + "ĠполÑĥÑĩ а", + "à¸Īัà¸Ķ à¸ģาร", + "к оÑĢ", + "Ġ×Ķ×ĺ ×ķ×ij", + "ราย à¸ģาร", + "주 ìĿĺ", + "à¹ģà¸ķà¹Ī ละ", + "Ġê·¸ëŁ° ëį°", + "à¸Ĺีà¹Ī à¹Ģà¸Ľà¹ĩà¸Ļ", + "Ġת ×ķ×ļ", + "بÙĬ اÙĨ", + "Ð Ļ", + "oÅĽci Äħ", + "ÑĤ ок", + "Ġà Ķ", + "ĠÃĶ ng", + "à¹Ħมà¹Ī à¹ĥà¸Ĭà¹Ī", + "ãģ¿ ãģ¦", + "ÐŁ о", + "ĠЧ ÑĤо", + "íĻ ©", + "×ĺ ×ij×¢", + "меÑĤ ÑĢ", + "Ġ×ij ×ŀ×Ķ", + "Ġ×ij×ŀ×Ķ ×ľ", + "Ġ×ij×ŀ×Ķ׾ ×ļ", + "Ñĩ ÑĮ", + "×§ ש×Ķ", + "з нак", + "знак ом", + "uj ÄĻ", + "×Ļצ ר", + "ĠاÙĦÙħ ÙĦÙĥ", + "ı yla", + "×IJ×ŀ ת", + "à¸Ľ ิà¸Ķ", + "×IJ ×Ĺ×ĵ", + "ر اد", + "Ġm áºŃt", + "ëĭ¤ ëĬĶ", + "Ġl ạnh", + "ש׾ ×ķש", + "ØŃ دÙĬØ«", + "ت ز", + "å¹´ ãģ®", + "Ġк ваÑĢ", + "ĠкваÑĢ ÑĤиÑĢ", + "ä½ľ ãĤĬ", + "رÙĪ Ø¨", + "ов ан", + "ĠТ е", + "à¸Īำ à¸ģ", + "à¸Īำà¸ģ ัà¸Ķ", + "ب اط", + "×Ĵ ת", + "Ġм аÑĪ", + "ĠмаÑĪ Ð¸Ð½", + "×Ļצ ×Ķ", + "ãģ» ãģ¨", + "ãģ»ãģ¨ ãĤĵãģ©", + "ÃŃ do", + "ĠÑı зÑĭк", + "à¸ļ ิà¸Ļ", + "สà¸ĸาà¸Ļ à¸Ĺีà¹Ī", + "ĠìĹ ´", + "ãĤ¦ ãĤ§", + "Ġc Ãł", + "п ан", + "åı£ ãĤ³ãĥŁ", + "Ġر د", + "اÙĤ ت", + "ĠÙĥ ب", + "ĠÙĥب ÙĬرة", + "ÑģÑĤ ал", + "ש×ŀ ×Ĺ", + "pos ición", + "ĠÙħÙĦÙĬ ÙĪÙĨ", + "ĠìĿ´ ìķ¼", + "ĠìĿ´ìķ¼ ê¸°", + "Ġh út", + "ĠÅĽw iat", + "Ġë°© ë²ķ", + "ĠÑģв еÑĤ", + "Ġвиде о", + "ĠاÙĦÙĨ ظاÙħ", + "Ġtr á»Ŀi", + "ĠëĮĢ íķ´ìĦľ", + "ר ×ŀת", + "ت داÙĪÙĦ", + "×ķר ×ĵ", + "ת ×ŀ", + "ת×ŀ ×ķ׳×ķת", + "Ġ×ŀ ף", + "Ġдв а", + "Ġ×Ķ×§ ×ķ", + "æĹ¥ ãģ«", + "Ġ×Ķ×Ĵ ×Ļ×¢", + "à¹Ģà¸ŀิà¹Īม à¹Ģà¸ķิม", + "Ùħار س", + "Ġê²ĥ ìŀħëĭĪëĭ¤", + "ãģªãģĦ ãģ¨", + "Ġnhi á»ĩt", + "ëIJ ©ëĭĪëĭ¤", + "Ġ×ij׳ ×ķש×IJ", + "Ġê°Ģ ìŀ¥", + "Ġv ợ", + "ĠÄij óng", + "צ×Ļ׾ ×ķ×Ŀ", + "ê´Ģ ê³Ħ", + "в аÑı", + "×IJ ×Ļ×ĸ", + "×IJ×Ļ×ĸ ×Ķ", + "ĠÙĨ ظاÙħ", + "ÙħØŃ اÙ쨏", + "Ġt ải", + "기 ëıĦ", + "à¸Ľà¸±à¸Ī à¸Īุ", + "à¸Ľà¸±à¸Īà¸Īุ à¸ļัà¸Ļ", + "׼ ×ĵ×ķר", + "ĠìķĦ ìĿ´", + "׼׳ ×Ļס", + "à¹Ģ à¸ķร", + "à¹Ģà¸ķร ียม", + "Ġngo ại", + "ĠدÙĪÙĦ ار", + "Ġr ẻ", + "Ġkh Äĥn", + "عد د", + "Ø´ عب", + "czy Äĩ", + "ĠاÙĦ Ùĥر", + "ĠÑĩеловек а", + "ĠÙĪ Ø¥ÙĨ", + "×IJ ×ĺ", + "Ġth Æ¡", + "ĠاÙĦ رÙĬاض", + "оп ÑĢедел", + "опÑĢедел ен", + "×Ķ ×ŀש×ļ", + "ĠÐĿ ово", + "з Ñĭва", + "ĠاÙĦدÙĪÙĦ ÙĬ", + "ĠÄij áp", + "Ġк ÑĢед", + "ĠкÑĢед иÑĤ", + "ов ого", + "Ġm ôn", + "à¸Ľà¸£à¸° à¹Ĥย", + "à¸Ľà¸£à¸°à¹Ĥย à¸Ĭà¸Ļ", + "à¸Ľà¸£à¸°à¹Ĥยà¸Ĭà¸Ļ à¹Į", + "ÑģÑĤ е", + "ĠTh á»ĭ", + "د ÙĬØ©", + "×ŀצ ×ķ", + "Ùģ Ø§Øª", + "×§ ×ĵ×Ŀ", + "ìĿ´ëĿ¼ ê³ł", + "ÙĪ Ø®", + "Ġ×Ĺ ×ĸ", + "ĠÑĦоÑĤ о", + "׾ ×Ļת", + "ت Ùİ", + "ÙĪ Ø¨Ø±", + "й ÑĤи", + "ĠÃ¶ÄŁ ren", + "Ġ×Ķ×ĸ ×ķ", + "Ġv á»įng", + "ÙĤÙĪ Ø©", + "ĠT ây", + "ĠÐĿ и", + "Ġש ×ķ×ij", + "ãģ¨è¨Ģ ãĤıãĤĮ", + "ãģ© ãĤĵãģª", + "׊צ×Ļ", + "ï½ ľ", + "Ġ×ķ×Ķ ×ķ×IJ", + "ä¸Ģ ãģ¤", + "ĠÑģÑĤо иÑĤ", + "ni Äħ", + "×ĺר ×Ļ", + "ĠдеÑĤ ей", + "нÑı ÑĤÑĮ", + "ĠÑģдел аÑĤÑĮ", + "Ġë§İ ìĿ´", + "ä½ķ ãģĭ", + "ãģĽ ãĤĭ", + "à¹Ħ หม", + "à¸ķิà¸Ķ à¸ķà¹Īà¸Ń", + "Ġ×ij ת×Ĺ", + "Ġ×ijת×Ĺ ×ķ×Ŀ", + "ìĻ Ħ", + "ì§Ģ ëĬĶ", + "ÑģÑĤ аÑĤ", + "ÑıÑģ н", + "ü b", + "Ġth ả", + "Ġ×ij×IJ×ŀ ת", + "Ġt uyến", + "×ĵ ×Ļר×Ķ", + "Ġ×IJ ×Ļש×Ļ", + "×ĸ׼ ר", + "ãģ° ãģĭãĤĬ", + "Ġx ét", + "׼ ×Ļ×ķ", + "׼×Ļ×ķ ×ķף", + "diÄŁ ini", + "ĠاÙĦÙħ ÙĪØ¶ÙĪØ¹", + "Ġh áºŃu", + "à¸Īาà¸ģ à¸ģาร", + "×ijס ×Ļס", + "Ġ×ŀ×Ĵ ×Ļ×¢", + "×ij ×Ļ×¢", + "ĠÙĪ Ø¬Ùĩ", + "à¹ģà¸Ķ à¸ĩ", + "à¸Ļ าà¸ĩ", + "ĠÅŀ a", + "ì ¡´", + "ë¡ Ģ", + "à¸ķ ะ", + "Ġ×Ķ×Ĺ×Ļ ×Ļ×Ŀ", + "Ùģ ÙĬد", + "ãģ§ãģĻ ãģĭãĤī", + "ê· ľ", + "ź ni", + "ĠлÑİ Ð´ÐµÐ¹", + "Ġyüz de", + "ıy orum", + "ĠاÙĦ بØŃر", + "e ño", + "п аÑĢ", + "ÙĬ ÙĤØ©", + "об ÑĢ", + "ר ×ķ×ļ", + "ت ÙĪÙĤع", + "ĠاÙĦØ´ ÙĬØ®", + "åĪĿ ãĤģãģ¦", + "ĠÑĤ елеÑĦ", + "ĠÑĤелеÑĦ он", + "Ġth ôi", + "Ġ×Ļ׼×ķ׾ ×Ļ×Ŀ", + "ĠÅŁ irk", + "ĠÅŁirk et", + "Ġìļ°ë¦¬ ê°Ģ", + "ĠÄij ông", + "Ġת ×ķ×ĵ×Ķ", + "ÑģмоÑĤÑĢ ÐµÑĤÑĮ", + "ĠÙĦ ÙĩÙħ", + "Ġ׾ ׼", + "ĠN ó", + "ĠØŃ اÙĦØ©", + "ãģĦ ãģij", + "קר ×ķ", + "az ı", + "ãĤ³ ãĥ¼", + "ĠÙĦÙĦ ت", + "s ınız", + "ĠH ải", + "기 ìĪł", + "ยัà¸ĩ à¹Ħมà¹Ī", + "ëĭ¤ ê³ł", + "פ ×Ĺ", + "Ġ׾×Ĵ ×ij×Ļ", + "Ġع ÙĨÙĩ", + "Ġк аз", + "Ġказ ино", + "ب ÙĪØ±", + "ÑĦ еÑĢ", + "Ġê°Ļ ìĿ´", + "تس جÙĬÙĦ", + "ĠاÙĦÙħ رÙĥز", + "ĠTh ái", + "д аÑĤÑĮ", + "×ŀ×Ļ ×Ļ׾", + "Ġpay laÅŁ", + "ãģ¤ ãģ®", + "à¹Ģร ืà¸Ń", + "n ça", + "׳ ×ķ×Ĺ", + "Ġ×IJ פ×Ļ׾×ķ", + "ãģ¨ èĢĥãģĪ", + "ãģ¨ãģĹãģ¦ ãģ¯", + "à¹Ģà¸Ī à¸Ń", + "×ŀ פ", + "Ġg iriÅŁ", + "л иÑĤ", + "ÑĤ елÑı", + "Ñij н", + "æ°Ĺ ãģ«", + "Ġg ó", + "Ġgó p", + "åĪĩ ãĤĬ", + "Ġ×Ķ ×Ĺ×ĵש", + "ж ал", + "Ġ×ĵ עת", + "éģķ ãģĨ", + "à¹Ģà¸Ĥà¹īา à¹Ħà¸Ľ", + "Ġס ר×ĺ", + "e ña", + "æĸ° ãģĹãģĦ", + "ر Ùİ", + "ĠÐIJ ÑĢ", + "Ġph ản", + "à¸Īะ à¹Ħà¸Ķà¹ī", + "Ġ×ijצ ×ķר×Ķ", + "Ø´ اÙĩ", + "شاÙĩ د", + "ÙĪØ± د", + "à¹Ģà¸Ļืà¹Īà¸Ńà¸ĩ à¸Īาà¸ģ", + "или ÑģÑĮ", + "à¹ģละ à¸ģาร", + "Ġ×Ķ ×ĸ׼", + "Ġ×Ķ×ĸ׼ ×ķ×Ļ×ķת", + "ei ÃŁ", + "ãĥ ¨", + "ìĥ Ī", + "ĠÃĩ a", + "Æ ¯", + "ש ×Ĵ", + "ÙĬÙĨ Ø©", + "ร à¹īà¸Ńà¸ĩ", + "ãĤµ ãĥ³", + "ÑĢоÑģÑģ ий", + "ÑĢоÑģÑģий Ñģк", + "a ÄŁa", + "ĠнаÑĩ ина", + "Ġص ÙĦÙī", + "à¸Ĺุà¸ģ à¸Ħà¸Ļ", + "íļĮ ìĤ¬", + "Ġли ÑĨ", + "Ø´ ÙĬر", + "ĠØ´ÙĬ Ø¡", + "ÙĬÙĨ ا", + "Ġפ ×Ĺ×ķת", + "Ġiçer is", + "Ġiçeris inde", + "ĠØ£ ØŃÙħد", + "Ġże by", + "ì´ Ŀ", + "Ġп оказ", + "Ġи менно", + "หà¸Ļัà¸ĩ ส", + "หà¸Ļัà¸ĩส ืà¸Ń", + "ĠÑĤÑĢ Ðµ", + "สัà¸ĩ à¸Ħม", + "Ø¥ ÙIJ", + "ãģĮ å¿ħè¦ģ", + "ÙĬÙij Ø©", + "פ צ", + "íĭ °", + "ĠÙħ جاÙĦ", + "׳ פש", + "к ан", + "×Ĺ ×ķפ", + "×Ĺ×ķפ ש", + "ì²ĺ ëŁ¼", + "ов аÑı", + "з ов", + "Ġh ạ", + "Ġdzi ÄĻki", + "×Ļר ×ķ", + "Ġ׾ ×ŀצ", + "Ġ׾×ŀצ ×ķ×IJ", + "×Ļ×ĵ ×ķ", + "Ġs ợ", + "Ġ׾×Ķ ×Ĵ×Ļ×¢", + "×§ ×ij×¢", + "Ġchi á»ģu", + "ãĥŀ ãĤ¤", + "Ġd Ãłng", + "à¹ģà¸Ł à¸Ļ", + "Ġü ye", + "×Ļ׳ ×Ĵ", + "à¹Ģรีย à¸ģ", + "ç§ģ ãģĮ", + "th é", + "ĠÑĦ илÑĮ", + "ĠÑĦилÑĮ м", + "ĠNg Ãły", + "Ġж ен", + "Ġжен Ñīин", + "ج ÙĬد", + "n ç", + "à¸Ľ รา", + "×Ļ×ŀ ×ķ", + "Ġn á»ģn", + "×IJ ×ķ׾×Ŀ", + "Ġвозмож ноÑģÑĤÑĮ", + "Ġëĭ¤ ìĭľ", + "è¦ĭ ãģŁ", + "à¸ĸ à¸Ļ", + "à¸ĸà¸Ļ à¸Ļ", + "mız ı", + "ĠÙħ جÙħÙĪØ¹Ø©", + "c jÄħ", + "ĠÐł Ф", + "à¸ģำ หà¸Ļ", + "à¸ģำหà¸Ļ à¸Ķ", + "ĠìŬ 기", + "land ı", + "ни ÑĨ", + "ÑģÑĤв е", + "Ġ×ĵ ×ijר×Ļ×Ŀ", + "Ġsk ÅĤad", + "ãĤĬ ãģ¾ãģĹãģŁ", + "ĠоÑĤ кÑĢÑĭÑĤ", + "нÑı ÑĤ", + "ĠÑģво ей", + "à¸Ī ิà¸ķ", + "ĠкаÑĩеÑģÑĤв е", + "Ġet tiÄŁi", + "ìĤ¬ íķŃ", + "ĠاÙĦÙĬ ÙħÙĨ", + "иÑĩеÑģки й", + "ë¸ Į", + "Ġ×ij×IJר ×¥", + "Ġا سÙħ", + "Ġиз веÑģÑĤ", + "r ão", + "Ġatt ivitÃł", + "à¹Ģà¸Ľà¹ĩà¸Ļ à¸ģาร", + "ĠاÙĦد Ùĥت", + "ĠاÙĦدÙĥت ÙĪØ±", + "ĠÙĪØ§ØŃد Ø©", + "ĠÑģ ÑĩеÑĤ", + "ĠпÑĢ Ð¸Ñĩ", + "ĠпÑĢиÑĩ ин", + "ĠÙĪØ² ارة", + "Ġh uyá»ĩn", + "ĠÙĥ تاب", + "à¹ģà¸Ļ à¹Īà¸Ļ", + "à¹ģà¸Ļà¹Īà¸Ļ à¸Ńà¸Ļ", + "Ġgün ü", + "г ÑĢÑĥз", + "ĠاÙĦØ® اص", + "Ġgör ül", + "׾ ×ŀ×ĵ", + "Ġìłķ ëıĦ", + "×ķ×ij ×Ļ׾", + "Ġ×ŀ×§ צ×ķ×¢×Ļ", + "ĠоÑģоб енно", + "à¸Ľà¸£à¸° à¸ģา", + "à¸Ľà¸£à¸°à¸ģา ศ", + "aca ģını", + "ë¶ ģ", + "à¸łà¸¹ มิ", + "ĠÑį лекÑĤ", + "ĠÑįлекÑĤ ÑĢо", + "Ġ×§ ש×Ķ", + "سÙĦ Ø·", + "à¸Ĭà¸Ļ ะ", + "×¢ ×Ļ׾", + "ĠЧ е", + "à¹ģà¸Ļ à¹Ī", + "lı ÄŁ", + "lıģ ın", + "Ġ×ŀ×¢ ×¨×Ľ×ª", + "好ãģį ãģª", + "มาà¸ģ à¸Ĥึà¹īà¸Ļ", + "×ŀ×¢ ×ijר", + "ĠاÙĦÙħ غرب", + "ĠпеÑĢ Ð¸", + "ĠпеÑĢи од", + "Ġnh ạc", + "ا ÙĪÙĬ", + "ĠÙĪ Ø¹ÙĦÙī", + "أخ ذ", + "ĠC ô", + "תר ×ij×ķת", + "×Ĵ ×Ķ", + "Ġktóre j", + "×IJ ×Ļת", + "×ij ×ķ×IJ", + "д елÑĮ", + "รี วิ", + "รีวิ ว", + "ж Ñĥ", + "Ġ×ij×Ĺ ×ķ", + "еÑĪ ÑĮ", + "ĠØ£ ÙĦÙģ", + "ĠاÙĦÙĪ Ø·ÙĨÙĬ", + "ĠاÙĦÙħÙĨ Ø·ÙĤØ©", + "nÄħ Äĩ", + "Ġthi ên", + "иÑĩеÑģк ой", + "ĠاÙĦÙħ ÙĦ", + "Ġع Ùħ", + "ס פר", + "Ġnh óm", + "ÙĪØµ Ùģ", + "ĠCh úng", + "Ġر ÙĤÙħ", + "ãģ¾ãģĹãģŁ ãģĮ", + "al ité", + "ล ม", + "ĠëĤ´ ê°Ģ", + "׾ק ×ķ×Ĺ", + "ĠS Æ¡n", + "pos ição", + "mi ÄĻ", + "Ġtr ánh", + "ĠÄIJ á»Ļ", + "׼ ×Ĺ", + "ãģĤ ãģ£ãģ¦", + "à¸Ńย à¹Īา", + "Ġ×ŀ×Ĺ ×Ļר", + "Ġ×Ķ ×Ļת×Ķ", + "à¸Ľ à¹Īา", + "à¸Ńืà¹Īà¸Ļ à¹Ĩ", + "Ø´ ÙĤ", + "×ł×¡ ×Ļ", + "ë¦ ¼", + "ãģ¦ãģĹãģ¾ ãģĨ", + "Ġ×ŀ צ×ij", + "ãģ« åĩº", + "ÙħÙĪØ§ Ø·ÙĨ", + "ยัà¸ĩ มี", + "алÑĮ нÑĭе", + "san ız", + "Ø¥ سرائÙĬÙĦ", + "ĠvÃł i", + "ì¤ Ħ", + "ã썿ĢĿ ãģ£ãģ¦", + "×Ļ ×ķ׳×Ļ", + "çĶŁ ãģį", + "Ġs âu", + "Ñĩ иÑģÑĤ", + "Ġl á»ħ", + "ĠGi á", + "à¸Ńุ à¸Ľ", + "à¸Ńà¸¸à¸Ľ à¸ģร", + "à¸Ńà¸¸à¸Ľà¸ģร à¸ĵà¹Į", + "Ġnh ẹ", + "r ö", + "ס ×ĺ×Ļ", + "ãģķãĤĵ ãģĮ", + "Ġd ầu", + "ع Ùİ", + "ت را", + "×Ĵ×ĵ ׾", + "Ġtécn ica", + "׼ ׳×Ļ×Ŀ", + "תק ש", + "תקש ×ķרת", + "Ġн его", + "ét ait", + "Ġm á»ģm", + "Ñģ еÑĤ", + "Ġnh áºŃt", + "Ġ×ŀ ×¢×ľ", + "Ġ×Ķ×¢ ×ij×ķ×ĵ", + "Ġ×Ķ×¢×ij×ķ×ĵ ×Ķ", + "Ġ×Ĵ ×Ļ׾", + "ãģ¯ ãģªãģĦ", + "ائ ØŃ", + "Ġз деÑģÑĮ", + "×IJ ×Ļ׳×ĺר", + "Ùħ ÙIJ", + "Ġ×Ļ ×Ĺ×ĵ", + "ر اÙģ", + "ì²ĺ 리", + "×ĵ ×¢×ķת", + "ì¹ ľ", + "ĠТ о", + "ĠTh ế", + "ì¶ ©", + "Ġ׳׼ ×ķף", + "عÙĬ Ø´", + "ни з", + "Ġج اÙĨب", + "×ŀ×§ צ×ķ×¢", + "à¹Ĥ à¸ĭ", + "Ñģ ÑĥÑĤ", + "ìĸ´ ìļĶ", + "ãĤĴè¦ĭ ãģ¦", + "ار د", + "Ġaç ıl", + "ĠاÙĦØŃ ÙĬاة", + "à¸ģà¹ĩ à¹Ħà¸Ķà¹ī", + "ãģĿãĤĮ ãĤĴ", + "عض ÙĪ", + "Ġг ÑĢаж", + "ĠгÑĢаж дан", + "à¸Īะ à¸ķà¹īà¸Ńà¸ĩ", + "ĠìĿ´ 룬", + "ĠìĿ´ë٬ íķľ", + "Ġtr ách", + "ÙĨ Ùİ", + "Ġkı sa", + "à Ķ", + "ÑĪ ÐºÐ°", + "ãģ® äºº", + "ĠÐŁ оÑģ", + "ĠÐŁÐ¾Ñģ ле", + "Ñĥ лÑĮ", + "ÙĪØ§ جÙĩ", + "ÙĤ رب", + "à¸Ľà¸ıิ à¸ļัà¸ķิ", + "ê° Ļ", + "Ġ×ŀ ׳", + "ĠÑģво и", + "بر اÙħج", + "Ġر ÙĪ", + "пÑĢ Ð¾Ð´", + "пÑĢод аж", + "Ġby ÅĤy", + "วั ย", + "Ġgör ün", + "Ġà Ī", + "ÑİÑī им", + "ĠÑĤак ой", + "Ùģ ÙĪØ±", + "ĠÙģ Ø¹ÙĦ", + "Ġб ел", + "ëIJ ł", + "er ÃŃa", + "ĠÑģво Ñİ", + "Ġl ã", + "Ġlã nh", + "à¹Ģà¸ŀืà¹Īà¸Ń à¹ĥหà¹ī", + "ÙĤ ÙĨ", + "تط ÙĪÙĬر", + "Ġsay ı", + "ĠÑģ ейÑĩаÑģ", + "Ġ×IJ×Ĺר ת", + "×§ ×ķפ×Ķ", + "×§×ķר ס", + "Ġس Ùħ", + "Ġ×ĺ ×Ļפ×ķ׾", + "ìĿ´ëĿ¼ ëĬĶ", + "دراس Ø©", + "èµ· ãģĵ", + "×Ĺ ×Ļ׳", + "×Ĺ×Ļ׳ ×ķ×ļ", + "×ĵ ×§", + "Ġë§ ŀ", + "Ġком анд", + "ĠÐij о", + "Ġиг ÑĢÑĭ", + "à¸ļ ี", + "ĠØ£ Ùİ", + "в ен", + "ĠاÙĦج دÙĬد", + "ĠÙĦ Ø¥", + "Ġ×ķ×IJ ׳×Ļ", + "Ġ×Ķס ×Ļ", + "иÑĩеÑģк ого", + "رÙĪ ØŃ", + "à¸ģาร ศึà¸ģษา", + "ĠTr ưá»Ŀng", + "иг ÑĢа", + "ıl ması", + "Ġм аÑģÑģ", + "ãģ¨ãģį ãģ«", + "à¸Ĺีà¹Ī à¸ľà¹Īาà¸Ļ", + "à¸Ĺีà¹Īà¸ľà¹Īาà¸Ļ มา", + "ĠاÙĦساب ÙĤ", + "Ġ×ŀ×¢ ×ĺ", + "в аÑĤÑĮ", + "m Ã¼ÅŁ", + "Ġ׾ ׼×ļ", + "Ġt á»ĭch", + "Ùģ ÙĩÙħ", + "تد رÙĬب", + "Ø´ Ùĥ", + "Ġ×ij ×ŀ×Ļ", + "Ġ×ij×ŀ×Ļ ×ķ×Ĺ×ĵ", + "ÙĤØ· اع", + "ãģª ãģĹ", + "×ķצ ×Ļ×IJ", + "ĠÙĪ Ø³ÙĬ", + "з Ñĥ", + "Ġy at", + "Ġyat ırım", + "ë§ İ", + "Ġth ắng", + "ãģĬ 客", + "ãģĬ客 æ§ĺ", + "ĠThi ên", + "ãģ«å¯¾ ãģĹãģ¦", + "ÑĢ Ð¸Ñģ", + "ÙĨت ائ", + "ÙĨتائ ج", + "Ġ×ŀ שר", + "Ġ×ŀשר ×ĵ", + "Ġتع اÙĦ", + "ĠتعاÙĦ Ùī", + "ש ׳×Ļ", + "Ùĩ اÙħ", + "×IJ׳ ש×Ļ×Ŀ", + "Ġżyc ia", + "ĠÑĢÑĥб лей", + "ÙĬ ض", + "Ġkat ıl", + "ĠÙħ ÙĪØ¶ÙĪØ¹", + "Ġvard ır", + "ĠÙħÙĨ Ø·ÙĤØ©", + "ĠTr ần", + "Ġв еÑģ", + "ü p", + "Ùħ ÙĪÙĨ", + "ÑĪ Ð»Ð¸", + "Ġn óng", + "Ø® ÙĦÙģ", + "ĠС ÑĤа", + "Ġд оÑĢ", + "ĠдоÑĢ Ð¾Ð³", + "ĠwÅĤa ÅĽnie", + "eÄŁ in", + "Ġhi á»ĥm", + "ĠС ам", + "ê»ĺ ìĦľ", + "ĠÑĦ а", + "ãģ» ãģĨ", + "ãģ»ãģĨ ãģĮ", + "×ķפ ×Ļ×¢", + "ê° Ī", + "د ÙĪÙĦ", + "Ġthu ê", + "Ġch á»Ĺ", + "Ġëĭ¹ ìĭł", + "ãģij ãĤĮ", + "ãģijãĤĮ ãģ©", + "ë³´ íĺ¸", + "ãģķãĤĮ ãģ¦ãģĦãģ¾ãģĻ", + "Ġнад о", + "ĠìĤ¬ëŀĮ ëĵ¤", + "à¹Ģà¸Ĥ à¸ķ", + "สม ัย", + "z ÅĤ", + "ت ÙĪØ±", + "Ġש ת×Ļ", + "v ê", + "Ġ×ijת ×ķ×ļ", + "à¸Ĭ ัย", + "ãģĦ ãģ£ãģŁ", + "ìĿ ij", + "Ġt ầ", + "Ġtầ ng", + "ש ׼ר", + "Ġê¸ Ģ", + "Ġ×Ķש ׳×Ķ", + "Ġا ÙĨÙĩ", + "ç«ĭ ãģ¡", + "r és", + "füh ren", + "ر ØŃÙħ", + "ê· ¹", + "ĠâĢ «", + "Ġsu ất", + "à¸Ł ิ", + "ÙĬ Ùĩا", + "ĠاÙĦ اتØŃاد", + "Ġt uyá»ĥn", + "ãģ¾ ãĤĭ", + "Ġm ại", + "Ġng ân", + "ãĤ° ãĥ©", + "欲 ãģĹãģĦ", + "س ار", + "ãĤĤãģ® ãģ§ãģĻ", + "ки е", + "Ġseç im", + "åħ¥ ãĤĬ", + "ãģªãģ© ãĤĴ", + "ÑĤ ÑĢи", + "ĠÑģп еÑĨ", + "ĠØ£ د", + "Ġод но", + "ÑĪ ÐµÐ»", + "ãĥĩ ãĥ¼ãĤ¿", + "ãĤ· ãĤ¹ãĥĨ", + "ãĤ·ãĤ¹ãĥĨ ãĥł", + "è¡Į ãģį", + "ã썿ĢĿ ãģ£ãģŁ", + "à¹Ģà¸ģิà¸Ķ à¸Ĥึà¹īà¸Ļ", + "ĠÑĤ ож", + "ĠÑĤож е", + "Ġs ạch", + "ĠÑģ ÑĢок", + "Ġкли енÑĤ", + "ĠÙħØ´ رÙĪØ¹", + "Ġalt ında", + "Ġì ·¨", + "ä¸Ń ãģ®", + "ãģķãģĽ ãĤĭ", + "ãģĻ ãģ¹", + "ãģĻãģ¹ ãģ¦", + "ê°ľ ë°ľ", + "ĠÄij êm", + "ãģªãģĦ ãģ®ãģ§", + "ì² ł", + "×¢ ×ij×ĵ", + "Ġd ấu", + "à¸Ħà¸Ļ à¸Ĺีà¹Ī", + "ĠC ách", + "تع ÙĦÙĬÙħ", + "Ġh ại", + "ãĤ» ãĥķãĥ¬", + "ĠÙĨÙ쨳 Ùĩ", + "ĠíĨµ íķ´", + "ÑĪ Ð»Ð¾", + "Ġнап ÑĢав", + "ĠнапÑĢав лен", + "ÑĢÑĥ Ñĩ", + "íĶ Į", + "Ġ×ijר ×Ļ×IJ", + "ãģ® ãģ¿", + "ãģ«ãģĬ ãģĦãģ¦", + "×ij ׳ק", + "ãĤ¨ ãĥ³", + "Ø«ÙĦ اث", + "Ġm ỹ", + "ĠÑģай ÑĤе", + "Ġе мÑĥ", + "ت غÙĬ", + "تغÙĬ ÙĬر", + "خص ÙĪØµ", + "ÑĤе ли", + "Ġ×ķ׾ ׼ף", + "פע ×Ŀ", + "Ġпо ÑįÑĤомÑĥ", + "ر اÙĨ", + "иÑĤел ей", + "пиÑģ ан", + "×¢ ×¥", + "ĠìĤ¬ ìĹħ", + "Ùħ ز", + "جÙħ ÙĬع", + "ë©´ ìĦľ", + "à¸ľà¸¥à¸´à¸ķ à¸łà¸±", + "à¸ľà¸¥à¸´à¸ķà¸łà¸± à¸ĵ", + "à¸ľà¸¥à¸´à¸ķà¸łà¸±à¸ĵ à¸ij", + "à¸ľà¸¥à¸´à¸ķà¸łà¸±à¸ĵà¸ij à¹Į", + "ĠпÑĢ Ð¸Ð¼ÐµÑĢ", + "ãĤŃ ãĥ¼", + "l â", + "Ġch Äĥm", + "缮 ãģ®", + "ãģĦ ãģĭ", + "ãģ¨è¨Ģ ãģĨ", + "×ĸ ×ķ×Ĵ", + "Ġ×ij ×ĵ×Ļ", + "Ġ×ij×ĵ×Ļ ×ķ×§", + "ãģĬ åºĹ", + "à¸ķà¸Ńà¸Ļ à¸Ļีà¹ī", + "Ġph á»iji", + "п ÑĤ", + "สà¸Ļ าม", + "Ø· ÙĪ", + "ص اØŃ", + "صاØŃ ب", + "ĠD ü", + "ĠDü nya", + "Ġп ока", + "п ал", + "ĠÄij ảo", + "ĠاÙĦÙģ ÙĪØ±", + "ĠاÙĦÙģÙĪØ± Ùĥس", + "Ġmá u", + "кÑĢ ÐµÐ¿", + "ĠاÙĦس اعة", + "ĠгоÑĢ Ð¾Ð´Ð°", + "Ùģ ØµÙĦ", + "ай ÑĤе", + "Ġд ог", + "Ġдог овоÑĢ", + "ĠØ¥ ذ", + "Ġ×ij׼׾ ׾", + "ÙĬ تÙĩ", + "×Ĵ ×ijר", + "Ġbir ç", + "Ġbirç ok", + "문 íĻĶ", + "ãģĿãģĨ ãģª", + "را ØŃ", + "ĠÙħ رة", + "ĠденÑĮ ги", + "f ä", + "à¸Ĥà¹īา ว", + "ĠÑģов ÑĢем", + "ĠÑģовÑĢем енн", + "׾×Ĺ ×¥", + "èī¯ ãģı", + "ĠÙģ Ø£", + "Ġ×ķ ×ĸ×Ķ", + "Ġз ани", + "Ġзани ма", + "Ġê°Ģì§Ģ ê³ł", + "Ġh Æ¡i", + "ãģªãģ® ãģĭ", + "ãĥĨ ãĥ¬ãĥĵ", + "Ġר ×ij×ķת", + "à¸ķ ี", + "Ġ×ijש ×ł×ª", + "ĠT ại", + "Ġthu áºŃn", + "Ñģ ел", + "Ñij м", + "dzi Äĩ", + "ĠÑģ ка", + "ĠÑģка Ñĩ", + "ĠÑģкаÑĩ аÑĤÑĮ", + "×ķ×ŀ ×ķ", + "г ла", + "Ġмин ÑĥÑĤ", + "åĩº ãģĻ", + "Ġ×Ĺ×Ļ ×Ļ×ij", + "Ġת ×Ĵ×ķ×ij×Ķ", + "à¸£à¸¹à¸Ľ à¹ģà¸ļà¸ļ", + "ни ÑĨа", + "Ġİ n", + "ĠØ£ ع", + "Ġض ÙħÙĨ", + "Ùħ ثاÙĦ", + "ĠyaÅŁ an", + "ĠìŰ 구", + "ĠL ê", + "ש׾ ×Ĺ", + "ãģı ãģªãĤĭ", + "ìĹĨ ìĿ´", + "ĠÑĤ ÑĢи", + "ĠÑĩаÑģÑĤ о", + "Ġоб ÑĢаÑĤ", + "п ло", + "د Ø®", + "دخ ÙĪÙĦ", + "س Ùĩ", + "à¸Ń าà¸ģ", + "à¸Ńาà¸ģ าศ", + "Ġ׼ ×ĸ×Ķ", + "Ġ×Ķ×¢ סק", + "ĠاÙĦØ£ ÙĨ", + "å¹´ ãģ«", + "×¢ ש×ķ", + "Ġש ×¢×ķת", + "Ġm Ãłn", + "×IJר ×Ļ", + "sı yla", + "Ù쨱 ÙĤ", + "ни Ñħ", + "Ġت ست", + "è¦ĭ ãģ¦", + "ØŃا ÙĪÙĦ", + "×IJ ×Ļ׼×ķת", + "ĠbaÅŁ ladı", + "st Äħ", + "stÄħ pi", + "à¸Ĺีà¹Ī à¹Ģรา", + "ÙĤر ر", + "ج اب", + "Ġ×ijר ×ķר", + "à¹Ģà¸Ĥà¹īา à¹ĥà¸Ī", + "×ŀ׊קר", + "al ım", + "Ġס ×Ļפ×ķר", + "ãģ§ãģĤ ãĤĮãģ°", + "Ġש×ŀ ×ķר×ķת", + "Ġ×ķ ×ŀ×Ķ", + "ãģĵ ãģĿ", + "id ée", + "ä¸ĭ ãģķãģĦ", + "تÙĨا ÙĪÙĦ", + "Ġ ลà¹īาà¸Ļ", + "Ġìļ°ë¦¬ ëĬĶ", + "اÙĨ ا", + "ÑģÑĤ ой", + "б оÑĤ", + "ĠyaÅŁ am", + "kö y", + "Ø¥ ÙĦ", + "ÑĢ Ñĭв", + "기 ìĹħ", + "Ġ×Ķ×ŀ ×ĵ", + "Ġ×Ķ×ŀ×ĵ ×Ļ׳×Ķ", + "د ب", + "×¢ ×Ļ׳×Ļ", + "×ŀ ת×Ĺ", + "Ġפ ר×Ļ", + "ãĥĭ ãĥ¼", + "اÙħ ÙĬ", + "Ġnh ằm", + "ãĤĮ ãģªãģĦ", + "ت عرÙģ", + "Ġë§Ī ìĿĮ", + "ìĵ °", + "Ġh ấp", + "ר×Ĵ ×Ļ׾", + "ب Ùİ", + "Ġr Äĥng", + "gl Äħd", + "ĠÑģиÑģÑĤем Ñĭ", + "Ġkh óa", + "ãģ§ãģĻ ãĤĪãģŃ", + "大ãģį ãģı", + "기 를", + "Ġké o", + "ÙĪ Ø¡", + "ج اÙħ", + "جاÙħ ع", + "Ġ×¢ ×Ļצ×ķ×ij", + "t éri", + "Ġת ש", + "Ġ×IJ ×ij×Ļ", + "ĠCh ương", + "à¸ļริ à¹Ģว", + "à¸ļริà¹Ģว à¸ĵ", + "ãģ¤ ãģı", + "Ġ×Ĺ ×ķ׾", + "עת ×Ļ×ĵ", + "ש ×Ļ×ŀ×Ķ", + "ëĤ ¨", + "Ġש×IJ ×Ļף", + "ĠÙĪØ§ÙĦ Ø¥", + "ÑĦ а", + "Ġkh ám", + "Ġ×ĺ ×ķ×ij×Ķ", + "ĠвÑĭ Ñģ", + "ĠвÑĭÑģ око", + "ĠاÙĦØŃ دÙĬØ«", + "人 ãĤĤ", + "d Ã¼ÄŁÃ¼", + "×Ļ×Ĺ ×ķ×ĵ", + "تع ÙĦÙĬ", + "تعÙĦÙĬ ÙĤ", + "l ö", + "تØŃ دÙĬد", + "н его", + "ĠÑĥд об", + "Ġ׾ ×ŀ×Ļ", + "Ġר ×ķצ×Ļ×Ŀ", + "Ġج اء", + "Ġ×ij ×ĸ×ŀף", + "à¸Ľà¸ģ à¸ķิ", + "é«ĺ ãģı", + "à¸Ľà¸¥ า", + "Ġart ık", + "Ġbug ün", + "×§ ׳×Ļ", + "Ġkho á", + "ĠÙħ رÙĥز", + "ĠìŀIJ 기", + "در جة", + "×ŀש ר×ĵ", + "Ġgi ấy", + "Ġch óng", + "×§ פ", + "ÙĬب Ø©", + "ĠczÄĻ sto", + "в али", + "Ùĥ ب", + "ìŁ ģ", + "ส à¸ļาย", + "à¸Ľà¸£à¸°à¸Ĭา à¸Ĭà¸Ļ", + "×Ĵ ×ķ×£", + "ëŁ ī", + "ãģ® ãģĵãģ¨", + "ล à¸Ń", + "Ġngh á»ī", + "åŃIJ ãģ©", + "åŃIJãģ© ãĤĤ", + "à¹Ħà¸Ķ à¹īà¸Ńย", + "à¹Ħà¸Ķà¹īà¸Ńย à¹Īาà¸ĩ", + "×ĵ ×¢", + "ĠاÙĦت Ùī", + "ĠÑģов еÑĤ", + "Ġqual itÃł", + "åĩº ãģĹ", + "ĠÑĢÑĥк ов", + "ĠÑĢÑĥков од", + "ราย ละà¹Ģà¸Ńียà¸Ķ", + "ãģªãģĭ ãģªãģĭ", + "기 ê´Ģ", + "Ġ×Ĺ ×ķש", + "Ġ×Ĺ×ķש ×ij", + "л оÑĤ", + "à¸Ļะ à¸Ħรัà¸ļ", + "×§×ij ×ķצ×Ķ", + "Ġth ái", + "Ġש ×ij×Ķ", + "ĠÑĪ ÐºÐ¾Ð»", + "ĠÙĦ ÙĥÙĦ", + "à¹ĥà¸Ļ à¸Ĭà¹Īวà¸ĩ", + "ĠÙħ ÙĥاÙĨ", + "ë ķĮ", + "Ġc ải", + "ĠCh ÃŃ", + "ÑĥÑĩ а", + "ìĿ µ", + "Ġx ảy", + "à¸Ĭà¸Ļ ิà¸Ķ", + "Ġc áºŃu", + "к ÑĢов", + "ss é", + "ĠÙĨ ÙĪØ¹", + "ĠТ а", + "Ø® Ùħس", + "פ×ķס ×ĺ", + "Ġm ắc", + "ĠÄij em", + "à¸ģาร à¹ĥà¸Ĭà¹ī", + "ר ×ķס", + "ĠÐĽ е", + "Ġth á»Ń", + "รà¹Īาà¸ĩ à¸ģาย", + "üz ü", + "æĹ¥æľ¬ ãģ®", + "ê³¼ ìłķ", + "ש ×Ļ×IJ", + "ĠìŀĪ ê³ł", + "×ij ×ķ׾", + "ìķ ħ", + "ĠÙĪØ§ÙĦ ا", + "ĠÐĽ и", + "ĠвÑģ Ñij", + "Ġużytk ow", + "×Ĺ ×ķ׾", + "ر Ù쨶", + "Ġson uç", + "ãģĦ ãģ¾ãģĽãĤĵ", + "ìĤ¬ ìĹħ", + "ëĪ Ħ", + "ÑĤ ек", + "Ġud ziaÅĤ", + "л ез", + "Ġ×Ķ×Ļ ×Ļת×Ļ", + "ãĤīãĤĮ ãģ¦", + "Ùħس ؤÙĪÙĦ", + "ر ار", + "ÑĤ ан", + "ĠÄij Ãło", + "Ġר ×ķ×ij", + "Ġ×ijש×ij ×Ļ׾", + "ä»ĬåĽŀ ãģ¯", + "ãĤ¸ ãĥ¥", + "Ġ×¢ ×ijר", + "ãģĽ ãģ¦", + "п олÑĮ", + "ak lı", + "Ġk ÃŃnh", + "د ت", + "лож ение", + "ĠاÙĦÙħ ص", + "ĠاÙĦÙħص رÙĬ", + "à¸Īริà¸ĩ à¹Ĩ", + "ĠاÙĦشر ÙĥØ©", + "ĠÄij á»ı", + "ãĥĽ ãĥĨ", + "ãĥĽãĥĨ ãĥ«", + "Ñį кон", + "Ñįкон ом", + "ĠÙĪ Ø¹ÙĨ", + "Ġת ׳", + "Ġ×ª×ł ×IJ×Ļ", + "ĠاÙĦدÙĪÙĦ ÙĬØ©", + "Ġì§Ģ ìĹŃ", + "ãģ§ãģĻ ãģĭ", + "Ġв аÑĢи", + "ĠваÑĢи анÑĤ", + "ĠاÙĦع رب", + "ел а", + "Ġt Æ°á»Ľng", + "sk Äħ", + "Ġm ặc", + "ส ัà¸ģ", + "ãĥĵ ãĥ¼", + "Ġ×ij ×Ĵ׾", + "Ġ×ij×Ĵ׾ ׾", + "ãĥķãĤ¡ ãĥ³", + "×ij ×Ļצ", + "×ij×Ļצ ×ķ×¢", + "ли ÑģÑĤ", + "à¸Ł ุ", + "à¸Łà¸¸ à¸ķ", + "à¸Łà¸¸à¸ķ à¸ļà¸Ńล", + "à¸Ŀ à¹Īาย", + "ìŀIJ ìĿĺ", + "Ġس ÙĪÙģ", + "Ġש ×Ķת", + "Ġê± ¸", + "×¢ ×ij×ķ×ĵ", + "ãģĻãĤĭ ãģĵãģ¨ãģĮ", + "ĠÑĩа ÑģÑĤÑĮ", + "ãĤ¢ ãĥ¡ãĥª", + "ãĤ¢ãĥ¡ãĥª ãĤ«", + "Ġtak ım", + "Ġs Ỽ", + "ĠsỼ m", + "שר ×Ķ", + "è¨Ģ ãģĨ", + "л ан", + "ì» ¤", + "׼ ׳×Ķ", + "ÙĪÙģ ÙĬ", + "íĹ Ī", + "lu ÄŁu", + "ĠëĮĢ íķ´", + "Ġ׾×ij ×Ļת", + "Ġ×Ķר×IJש ×ķ׳×Ķ", + "ص Ùħ", + "Ġsö yled", + "Ġsöyled i", + "à¸Ľ าà¸ģ", + "Ġard ından", + "ãģĪ ãģŁ", + "à¸Ĺัà¹Īว à¹Ħà¸Ľ", + "Ġ׳×ķס ×£", + "б олÑĮ", + "ãĤĵãģ§ãģĻ ãģijãģ©", + "ĠлиÑĪ ÑĮ", + "Ġ×ij ×IJ×Ļ", + "ĠбÑĭ ÑģÑĤÑĢо", + "ส ัà¸Ļ", + "Ġ×ij פ׳×Ļ", + "л еÑĩ", + "ĠاÙĦØ® بر", + "Ġsó c", + "Ġth ú", + "Ġп ÑıÑĤ", + "ãģĬ é¡ĺ", + "ãģĬé¡ĺ ãģĦ", + "ÑĤ ин", + "ãģ«ãģ¤ãģĦãģ¦ ãģ¯", + "פ ף", + "Ġдв ÑĥÑħ", + "à¸į ีà¹Ī", + "à¸įีà¹Ī à¸Ľ", + "à¸įีà¹Īà¸Ľ ุ", + "à¸įีà¹Īà¸Ľà¸¸ à¹Īà¸Ļ", + "оп еÑĢ", + "ĠاÙĦب شر", + "ĠاÙĦÙħ اÙĦ", + "ıyor uz", + "تØŃ ÙħÙĬÙĦ", + "à¸ģ ะ", + "éĸĵ ãģ«", + "×Ĺ ×ķש", + "ĠNg uyên", + "ãģĦãģ¦ ãģĦãĤĭ", + "дÑĥ ÑĪ", + "ש פע", + "ÑĪ Ñĥ", + "å®Ł éļĽãģ«", + "ĠÑĢай он", + "ĠCh á»ī", + "ÙĨ صر", + "Ġìļ ´", + "Ġìļ´ ìĺģ", + "Ġ×Ķ×ĵ ×Ļף", + "ØŃد د", + "ر ز", + "ĠاÙĦد Ùħ", + "ĠPh áp", + "ÑĤ ÑģÑı", + "è¦ĭ ãģĪ", + "Ġti á»ĥu", + "Ġs á»Ńa", + "а ÑİÑĤÑģÑı", + "ĠB á", + "Ġ×ķ ׼׾", + "Ð ĸ", + "ÑĪ Ð¸Ð¼", + "ìĿ´ ëĬĶ", + "л ев", + "d ık", + "Ġprés ente", + "Ġara ç", + "صد ÙĤ", + "Ġпом ог", + "ĠاÙĦشر ÙĤ", + "ĠÙĪØ§ÙĦ ذÙĬ", + "رÙĬ ا", + "×ij ׳×ķת", + "Ġng á»ĵi", + "ר ×ķפ", + "ר×ķפ ×IJ", + "Ġth ấp", + "ãĤĦ ãģ¯", + "ãĤĦãģ¯ ãĤĬ", + "ĠاÙĦج دÙĬدة", + "éĿŀ常 ãģ«", + "ÙĬÙĦ ÙĬ", + "ìª ½", + "تع اÙħÙĦ", + "ãģł ã썿ĢĿãģĦãģ¾ãģĻ", + "Ùħ Ùħ", + "иÑĤе ли", + "ãĤµãĤ¤ ãĤº", + "اد ات", + "ĠاÙĦÙħ اÙĦÙĬØ©", + "Ùĥات ب", + "к ли", + "веÑĢ Ñħ", + "ни Ñĩ", + "Ġ×ľ×¢ ×ij×ķ×ĵ", + "׾ ×Ļ×Ķ", + "ØŃ Ùİ", + "ãĤ¤ ãĥĻ", + "ãĤ¤ãĥĻ ãĥ³ãĥĪ", + "Ġת ×Ĵ×ķ×ij×ķת", + "ÑĦ он", + "ĠдÑĢÑĥг ие", + "×IJ ×ĸ×ķר", + "Ġper ò", + "ìķ ŀ", + "åĢŁ ãĤĬ", + "ר צ×Ļ", + "×IJ ×ĸ", + "алÑĮ нÑĭÑħ", + "Ġê²ĥ ìľ¼ë¡ľ", + "ĠпÑĢав о", + "ĠاÙĦØ£ رض", + "à¹Ģà¸Ĺ à¸Ħ", + "à¹Ģà¸Ĺà¸Ħ à¹Ĥà¸Ļ", + "à¹Ģà¸Ĺà¸Ħà¹Ĥà¸Ļ à¹Ĥล", + "à¹Ģà¸Ĺà¸Ħà¹Ĥà¸Ļà¹Ĥล ย", + "à¹Ģà¸Ĺà¸Ħà¹Ĥà¸Ļà¹Ĥลย ี", + "צ ר×Ļ", + "ĠÐļ Ñĥ", + "ıl ma", + "決 ãĤģ", + "ا ÙĪ", + "Ġ×ĵ ×§×ķת", + "à¸Ħร ู", + "ĠÙħست ÙĪÙī", + "à¸Ľ à¹īà¸Ńà¸ĩ", + "à¸Ľà¹īà¸Ńà¸ĩ à¸ģัà¸Ļ", + "×ĵ ×ķ×ŀ×Ķ", + "ĠÑģ егоднÑı", + "س ÙĪÙĤ", + "ר×Ĺ ×ķ×ij", + "ĠØ¥ دارة", + "Ñħ ож", + "éģİ ãģİ", + "à¸Ħ à¸Ń", + "нÑĥ л", + "×ķ׼ ×Ķ", + "ÙĪ Ø§ÙģÙĤ", + "׼׾ ׾", + "Ġ×Ķ ×ĵ×ķ", + "Ġl Ä©nh", + "Ġkh ảo", + "×IJ×ŀ צע", + "ë¨ ¸", + "Ġ׼ ×Ļצ", + "Ġ׼×Ļצ ×ĵ", + "Ġдолж нÑĭ", + "หว ัà¸ĩ", + "ãĥĩ ãĤ¶", + "ãĥĩãĤ¶ ãĤ¤ãĥ³", + "Ġng á»Ŀ", + "ä¸Ń ãģ«", + "à¸ģลัà¸ļ มา", + "جÙħ اÙĦ", + "à¸Ķัà¸ĩ à¸ģลà¹Īาว", + "س ÙĥÙĨ", + "س ÙĨ", + "Ġözellik le", + "з еÑĢ", + "rz ÄĻ", + "×ŀ ×ķר×Ķ", + "Ġl ạ", + "×ŀ ×Ļ׳×Ļ", + "ר ×Ļת", + "ãģĿãĤĮ ãģĮ", + "ãģĭ ãĤĮ", + "ĠÙĬÙħÙĥÙĨ Ùĥ", + "öff entlich", + "г ан", + "ĠاÙĦØŃ ÙĦ", + "ĠmiÄĻd zy", + "ĠÑĩа ÑģÑĤи", + "ujÄħ cy", + "ĠbaÄŁ lı", + "ĠiliÅŁ ki", + "Ùģ Ø§Ø¡", + "ãĥª ãĥ³ãĤ°", + "Ġhã ng", + "ĠконÑĤ ÑĢ", + "ĠконÑĤÑĢ Ð¾Ð»", + "к оп", + "ש ×Ļ×¢", + "ש×Ļ×¢ ×ķר", + "ĠÐĴ аÑĪ", + "Ġ×Ķ ×ª×§", + "ÙħÙĨ ع", + "ĠpolÃŃt ico", + "Ġг олов", + "ĠØ¥ ÙĬ", + "Ø¥ ÙĨتاج", + "à¸ļ ิ", + "Ġг овоÑĢ", + "ĠговоÑĢ Ð¸ÑĤ", + "Ġph á»ķ", + "ĠÑģем ÑĮ", + "ãģ¯ ãģĤãĤĬãģ¾ãģĽãĤĵ", + "ĠÙĪ Ø§Ø³Øª", + "×ŀש פ×ĺ", + "з ем", + "×ŀ×ĵ ×ijר", + "Ġíģ °", + "ĠìĿ´ ë²Ī", + "ê°Ģ ëĬĶ", + "Ġì§Ģ ìĽIJ", + "Ġca ÅĤy", + "Ġgeli ÅŁtir", + "Ñģк ое", + "pos é", + "Ġkh ô", + "à¸ķิà¸Ķ à¸ķาม", + "miss ão", + "Ġ׾ ×ŀר", + "Ġ׾×ŀר ×ķת", + "Ġb ó", + "à¸ķรวà¸Ī สà¸Ńà¸ļ", + "Ġngh á»ģ", + "Ġб из", + "Ġбиз неÑģ", + "ÑģÑĤ еÑĢ", + "ÙĪ Ùİ", + "楽 ãģĹãģ", + "楽ãģĹãģ ¿", + "ãģĵãĤĮ ãģĭãĤī", + "wiÄħ zan", + "ส à¸Ńà¸Ļ", + "Ùħ ÙĪØ±", + "׳×ĵ ׾", + "Ġ×Ķ×IJ ×ĵ×Ŀ", + "Ġм олод", + "ØŃ Ùħا", + "ØŃÙħا ÙĬØ©", + "ÑģÑĤ ÑĢан", + "Ġbu á»ķi", + "ת×Ļ ×Ļ×Ŀ", + "abile ceÄŁi", + "L İ", + "à¹Ģย à¸Ńะ", + "à¸Ī ร", + "س ÙĥاÙĨ", + "à¸Ļ ัà¸Ķ", + "Ġm ấy", + "ĠÐij а", + "s ÅĤaw", + "ĠÙģ ÙĦا", + "ĠкоÑĤоÑĢ Ð¾Ð¹", + "Ġпло Ñī", + "ĠплоÑī ад", + "ãĤĤ ãģĤãĤĬ", + "sz czÄĻ", + "×Ļפ ×ķ", + "ש×ŀ ת", + "owa ÅĤa", + "Ġn ông", + "צ×ij ×IJ", + "ĠìŀĪ ìĹĪ", + "ãģ¾ ãģ¨", + "ãģ¾ãģ¨ ãĤģ", + "ÙĤÙĪ Ø§Øª", + "ãģ¿ ãĤĵãģª", + "Ġ׼ ×ŀ×¢×ĺ", + "Ġx úc", + "ï¼ Ĩ", + "r ÄĻ", + "rÄĻ cz", + "×ĵ ×ŀ×Ļ", + "Ġt áºŃn", + "à¸Ķ วà¸ĩ", + "ê²½ ìłľ", + "п ÑĥÑĤ", + "Ø£ ربع", + "Ġ×ŀ שת×ŀש", + "ãĤ¿ãĤ¤ ãĥĹ", + "Ġìłľ ê°Ģ", + "Ġ׾ ׼ף", + "ĠобÑĢаз ом", + "ÙĬÙĥ ا", + "w ÅĤ", + "wÅĤ asn", + "ĠاÙĦÙĪØ·ÙĨ ÙĬØ©", + "بÙĬ ب", + "×ŀ ׾×Ļ", + "к ÑĢаÑĤ", + "기 ìĹIJ", + "ÙĤ اد", + "ĠÙĦ دÙī", + "à¸Ħวาม รูà¹ī", + "×ŀ×ĵ×Ļ׳ ×Ļ×ķת", + "ê² ¨", + "Ġíĺ Ħìŀ¬", + "ש ת×Ļ", + "м ол", + "Ġmá i", + "à¸ŀิ ม", + "à¸ŀิม à¸ŀ", + "à¸ŀิมà¸ŀ à¹Į", + "หล วà¸ĩ", + "Ġx uyên", + "×Ĺ ×¡×¨", + "رÙĪ ÙĨ", + "ãģĿãģĨ ãģĦãģĨ", + "ãģĿãĤĮ ãģŀ", + "ãģĿãĤĮãģŀ ãĤĮ", + "Ġ׼ ש×Ķ", + "ÐŁ ÑĢав", + "×ŀ×ij צע", + "ع رب", + "Ġbü yü", + "פ×Ļת ×ķ×Ĺ", + "à¸Ī à¸ļ", + "ĠØ£ Ùĥبر", + "שר ת", + "×ŀ׼ ש×Ļר", + "ĠÙĪ Ùħع", + "ãģ® ãģŁãĤģãģ«", + "à¸Ļ ัà¸ļ", + "ì° °", + "ãĥª ãĥķãĤ©", + "ãĥªãĥķãĤ© ãĥ¼ãĥł", + "Ġc ưá»Ŀng", + "ĠìłĢ íĿ¬", + "ÙħÙĨظ ÙħØ©", + "Ġhiç bir", + "ãģ§ãģ¯ ãģĤãĤĬãģ¾ãģĽãĤĵ", + "ร à¸Ńย", + "ëIJľ ëĭ¤", + "ãģĻãģIJ ãģ«", + "к ла", + "Ġürün ler", + "Ġki á»ĥu", + "ĠëĤĺ ëĬĶ", + "ÑĤ ки", + "Ñģ им", + "Ġchá»ī nh", + "ãĤĤ ãģªãģĦ", + "ศ รี", + "æĽ¿ ãģĪ", + "ta ÅŁ", + "Ġب ÙĥÙĦ", + "Ġ×ķ ×Ļש", + "vis ão", + "ä¼ Ŀ", + "ä¼Ŀ ãģĪ", + "ÙĦ د", + "׾ ×Ļ×ŀ", + "׾×Ļ×ŀ ×ķ×ĵ", + "t ória", + "د Ùij", + "اÙħ ر", + "Ġê·¸ëłĩ ê²Į", + "Ġmateria ÅĤ", + "à¸Ĺ รา", + "à¸Ĺรา à¸ļ", + "ã쮿ĸ¹ ãģĮ", + "ãģ¦ ãģįãģŁ", + "ض غ", + "ضغ Ø·", + "ĠÙĬ عÙĨÙĬ", + "ел о", + "×IJ×Ķ ×ij×Ķ", + "×¢ ×ŀ", + "ÅŁ ık", + "ìŀIJ ëĬĶ", + "ãĤ¿ ãĥ³", + "Ġb áºŃt", + "×ŀשפ ×Ĺ×Ķ", + "к ÑĢи", + "б ли", + "สั à¸ķ", + "สัà¸ķ วà¹Į", + "ĠسÙĨ ÙĪØ§Øª", + "ĠPh ương", + "ãģ¦ãģĹãģ¾ ãģ£ãģŁ", + "ãģª ãģľ", + "Ġ×ij×IJ ×ķ", + "Ġc án", + "س جÙĦ", + "Ġl ẽ", + "ãĤ± ãĥ¼ãĤ¹", + "Ġ×§ ×Ļ×ij׾", + "à¸ļà¸Ĺ à¸Ħวาม", + "Ġ×ķ ׼ף", + "ĠпÑĢедÑģÑĤав лен", + "Ġn á»iji", + "Ġcoment ário", + "ени ем", + "Ġtá» ı", + "l Ãł", + "Ġש×Ķ ×Ļ×Ķ", + "Ñģл ав", + "ĠاÙĦ ÙĪÙĦا", + "ĠاÙĦÙĪÙĦا ÙĬات", + "ÙĦج ÙĨØ©", + "×§×ķר ×IJ", + "бÑĭ ÑĤ", + "Ġì ¦", + "Ġì¦ ī", + "ãģ§ãģĻ ãģĹ", + "หรืà¸Ń à¹Ħมà¹Ī", + "за ÑīиÑĤ", + "ÙģÙĦ سطÙĬÙĨ", + "Ġmi á»ħn", + "à¹Ģย à¹ĩà¸Ļ", + "ĠçalÄ±ÅŁ an", + "×Ļ×Ĵ ×Ķ", + "ĠE ÄŁ", + "ĠEÄŁ itim", + "ãĥĥãĤ· ãĥ¥", + "Ġоп Ñĭ", + "ĠопÑĭ ÑĤ", + "ر غ", + "رغ ب", + "ĠÑģво иÑħ", + "à¸Ľà¸£à¸° à¸ķ", + "à¸Ľà¸£à¸°à¸ķ ู", + "Ġ×ŀ×IJ ×ĵ", + "׼ ×ķ׳×Ļ×Ŀ", + "à¸Ļ ี", + "ĠвÑĭ Ñħод", + "ãģ®ä¸Ń ãģ«", + "פ ׾×IJ", + "ĠÙĪ ÙĦÙĬس", + "פ×ķר ס", + "פ×ķרס ×Ŀ", + "Ùħ سÙĦÙħ", + "Ġng ôi", + "×ĵ ×ŀ×ķת", + "ãĤĴ使 ãģ£ãģ¦", + "ĠпомоÑī ÑĮÑİ", + "Ø£ سر", + "бл ок", + "ÙĤ Ùĩ", + "ãģĹãģ¾ ãģĦ", + "ãģ¨ ãģĹãģŁ", + "Ġп еÑģ", + "ãĥī ãĥ«", + "×Ĺ ×Ŀ", + "ãģĹãģª ãģĮãĤī", + "ĠÐŁ ÑĢед", + "ãĥģãĤ§ ãĥĥãĤ¯", + "å¼· ãģĦ", + "ש ×Ļר×ķת", + "д аеÑĤ", + "×Ļ×ij ×ķ", + "Ġgen ç", + "ил аÑģ", + "илаÑģ ÑĮ", + "ĠبÙĦ د", + "æĤ ª", + "æĤª ãģĦ", + "Ġ×ŀ שת", + "æ§ĺ ãĢħ", + "æ§ĺãĢħ ãģª", + "à¸ĺรรม à¸Ĭาà¸ķิ", + "ĠÙĥ اÙħÙĦ", + "ĠاÙĦس Ùħ", + "×ij×ĺ ×Ļ×Ĺ", + "c á", + "g ência", + "ãĤ¹ãĤ¿ ãĥ¼", + "à¸Ĺำ à¸ģาร", + "×Ļ׾ ת", + "Ġ×Ļ ×ķצ×IJ", + "w ój", + "à¸ļุ à¸Ħ", + "à¸ļุà¸Ħ à¸Ħล", + "ع تÙħ", + "عتÙħ د", + "ãģĿãĤĮ ãģ«", + "ĠاÙĦت ارÙĬØ®", + "ÙĤر اء", + "Ġyönet im", + "×§ שר", + "ĠÑģп оÑĢÑĤ", + "Ġר×IJש ×ķף", + "Ġseñ al", + "Ġch ắn", + "çĦ¡ ãģĦ", + "ĠдоÑģÑĤ аÑĤ", + "ĠдоÑģÑĤаÑĤ оÑĩно", + "Ġá gua", + "à¸ģร à¸ĵ", + "à¸ģรà¸ĵ ี", + "Ġ×ŀש ×ķ", + "Ġtr ải", + "ë² Į", + "ujÄħ cych", + "Ù쨱 د", + "à¹ĥ à¸ģล", + "à¹ĥà¸ģล à¹ī", + "ãĤĭ ãģ®ãģ¯", + "ר×ķ ×ķ×Ĺ", + "ÙĨ Ùĥ", + "ĠاÙĦÙĨ ÙĤ", + "ãģ®ãģ§ ãģĹãĤĩãģĨ", + "ãģ®ãģ§ãģĹãĤĩãģĨ ãģĭ", + "Ùħ عرÙģ", + "ÙħعرÙģ Ø©", + "ÑĥÑī е", + "Ġ×ij×¢ ×Ļקר", + "ت صÙĦ", + "Ġ×Ķ×IJ ר", + "Ġ×Ķ×IJר ×¥", + "ĠÅŀ i", + "à¸Ĥา à¸Ķ", + "íŀ ĺ", + "ãģªãĤĵ ãģ¨", + "ĠìĤ¬ëŀ ij", + "l Ã¼ÄŁÃ¼", + "ب اء", + "ĠاÙĦØ¢ خر", + "Ġfam ÃŃlia", + "ĠTh áng", + "Ñī ениÑı", + "ãĤ¯ ãĥŃ", + "ĠTh ứ", + "æĽ¸ ãģį", + "ен ной", + "ìŀ ¡", + "бл аг", + "благ о", + "п ов", + "à¹ģ ว", + "à¸ĩ à¸Ħà¹Į", + "à¸Ńัà¸Ļ à¸Ķัà¸ļ", + "ãģĤ ãģĴ", + "ร à¹īาย", + "ün ün", + "Ġ×Ļ׼×ķ׾ ×Ķ", + "з он", + "ĠÐľ и", + "маÑĤ еÑĢиал", + "Ġë³´ ë©´", + "ØŃÙģ Ø¸", + "ê Ìģ", + "ãģ« ãģĻãĤĭ", + "Ġת ×IJ", + "Ġ×Ķס ×ķ", + "ĠÑģÑĤ оÑĢ", + "ĠÑģÑĤоÑĢ Ð¾Ð½", + "ãĥĪ ãĥĥãĥĹ", + "ÅĤo ÅĽÄĩ", + "ëħ ¼", + "ëĵ Ŀ", + "ĠÙĪØ§ÙĦ ع", + "ì¶ Ķ", + "Ġ×Ļצ ×IJ", + "ĠÑĢаз дел", + "алÑĮ наÑı", + "×IJ׳ ש×Ļ", + "spo ÅĤ", + "spoÅĤ ec", + "spoÅĤec zn", + "Ø¥ عÙĦ", + "إعÙĦ اÙĨ", + "ÙĤÙĪ Ùī", + "íķĺë©´ ìĦľ", + "تط ÙĪØ±", + "Ġsi êu", + "Ỽ t", + "д ви", + "дви ж", + "Ġqu ần", + "k ıl", + "ĠпÑĢи зна", + "ĠH ã", + "ĠHã y", + "ĠباÙĦ ت", + "man ın", + "ãĤ« ãĥ«", + "Ġk á»·", + "×§ ׾×Ļ", + "ëIJĺ ì§Ģ", + "تعÙĦ Ùħ", + "ìĭľ ìĦ¤", + "ìĭ ¶", + "íĺ ¼", + "Ùĥ ÙĬÙģ", + "売 ãĤĬ", + "วิ à¸Ĭา", + "б ал", + "ĠØ£ ØŃ", + "Ġдолж ен", + "รา à¸ĩ", + "ราà¸ĩ วั", + "ราà¸ĩวั ล", + "Ùħ اء", + "ج ار", + "Å ļ", + "Ġ×ŀ×IJ ×ĸ", + "ר ×ŀ×Ķ", + "ãģĭãĤĤãģĹãĤĮ ãģªãģĦ", + "ét ude", + "czÄħ c", + "Ġg ór", + "×ł×¡ ×Ķ", + "Ùħ ÙĬد", + "ĠÐŁ еÑĢе", + "Ø£ خر", + "ãģĿãģ® å¾Į", + "à¹Ģà¸Ķียว à¸ģัà¸Ļ", + "×ŀ ×Ĵ×ķ", + "×ŀ×Ĵ×ķ ×ķף", + "д ов", + "mas ına", + "×¢ ׳×Ķ", + "ãĤ± ãĥĥãĥĪ", + "ס ×¢", + "סע ×Ļ×£", + "ĠT ư", + "Ġt óc", + "íĻľ ëıĻ", + "ĠÐŀ д", + "ĠÐŀд нако", + "Ġdol ayı", + "ؤ Ùĥد", + "ê³Ħ íļį", + "׾ ר", + "в еÑĩ", + "Ġkh ợi", + "Ġth á»§y", + "×ĵ ף", + "ร à¸ģ", + "à¸ļั à¸ķร", + "à¹Ģà¸ģ à¹Īา", + "ĠاÙĦØ« اÙĦ", + "ĠاÙĦثاÙĦ Ø«", + "Ġpod rá", + "ער ×Ļ", + "ÙĨج اØŃ", + "Ġkh ắc", + "ì¸ ¡", + "İ M", + "ãĤ» ãĥĥãĥĪ", + "ż enia", + "Ġ׾×Ĺ ×ijר", + "er Ãł", + "ì ´Ī", + "Ġkü ç", + "Ġküç ük", + "ات ÙĩÙħ", + "à¸ĭ à¹Į", + "Ùħشار ÙĥØ©", + "ĠاÙĦ بط", + "Ġd ây", + "ен нÑĭм", + "à¸Ĺีà¹Ī à¹Ħมà¹Ī", + "ÙĤ Ùİ", + "Ġv ượt", + "Ġtr ì", + "Ġwp ÅĤyw", + "A Åŀ", + "з о", + "ĠاÙĦس ÙĬد", + "à¸Ĺะ à¹Ģล", + "ĠÑģодеÑĢж а", + "ع Ø·ÙĬ", + "ĠاÙĦع ÙĨ", + "èĢħ ãģĮ", + "à¹Ģ หà¸Ļ", + "à¹Ģหà¸Ļ ืà¸Ń", + "Ġb ÃŃ", + "Ġüzer inden", + "ĠV Å©", + "Ġnu ôi", + "ÙĨ Ùħ", + "алÑĮ ного", + "×¢ ×Ļף", + "ØŃ ضر", + "ĠоÑĤ дел", + "ëª ĩ", + "ìķ ¡", + "ĠÙĦدÙĬ Ùĩ", + "ìĻ ľ", + "Ġse ktör", + "Ġвозмож но", + "ĠÐĶ Ð¶", + "Ġh ô", + "äºĭ ãģĮ", + "иÑĢов ание", + "алÑĮ ной", + "Ġ미 êµŃ", + "ر ØŃÙĦ", + "ĠÑįк Ñģ", + "пÑĢав лÑı", + "Ġnh á»Ŀ", + "ĠÄij ẩ", + "ĠÄijẩ y", + "Ùģ Ùĥر", + "ĠÙĪØ£ ضاÙģ", + "ãĥIJ ãĤ¹", + "ת×ķ׼ ׳×Ļת", + "ÑĤел ей", + "ĠØ¥ÙĦÙĬ Ùĩ", + "ãģ¨è¨Ģ ãģ£ãģ¦", + "Ġдв е", + "Ġch ấp", + "ĠL ö", + "à¸Ħล ิ", + "à¸Ħลิ à¸Ľ", + "Ġس ÙĪØ±", + "ĠسÙĪØ± ÙĬا", + "×ŀ×Ĺ ×ķ", + "st ä", + "д об", + "Ġni á»ĩm", + "ãģ® å¤§", + "פר×ķ ×Ļ×§", + "פר×ķ×Ļ×§ ×ĺ", + "ĠCh âu", + "Ġ×ŀ×Ķ ×Ŀ", + "Ñģк им", + "ĠполÑĥÑĩ иÑĤÑĮ", + "ÙĬ ÙĪÙħ", + "Ø« ÙĪØ±", + "פ×ķ׾ ×Ļ×ĺ", + "פ×ķ׾×Ļ×ĺ ×Ļ", + "ĠмеÑģÑı ÑĨ", + "åħ¨ ãģ¦", + "ĠاÙĦÙħ جÙĦس", + "ĠاÙĦت اÙĦÙĬ", + "Ġ׊ר", + "åIJij ãģij", + "׼ ×ŀ×Ķ", + "б ед", + "Ø£ عض", + "أعض اء", + "ÙĪÙĦ د", + "วà¹Īา à¸Īะ", + "Ġb ánh", + "à¸Ļิ ย", + "à¸Ļิย ม", + "à¸Ľà¸£à¸° à¸ģัà¸Ļ", + "ÑģÑĤав иÑĤÑĮ", + "à¸ŀ à¸Ļัà¸Ļ", + "ĠÑį ÑĦÑĦ", + "ĠÑįÑĦÑĦ екÑĤив", + "Ġав ÑĤоÑĢ", + "ĠÄIJ Äĥng", + "Ġth Æ°á»Łng", + "ãĤĴ æĦŁãģĺ", + "à¸ģัà¸ļ à¸ģาร", + "å¾Į ãģ«", + "Ġya ÄŁ", + "ست اÙĨ", + "Ġli á»ģn", + "ãģĦ ãģ¾", + "i êu", + "à¹Ĥà¸Ķ à¸Ļ", + "ĠÙĦ ذÙĦÙĥ", + "à¹Ĥรà¸ĩ à¹Ģรียà¸Ļ", + "צ ×Ļ×Ĵ", + "ĠاÙĦÙħ عÙĦÙĪÙħات", + "ç§ģ ãģŁãģ¡", + "à¸Ĺีà¹Ī à¸Ħุà¸ĵ", + "ãģ«ãģª ãģ£ãģ¦ãģĦãĤĭ", + "×ŀ×ĵ ×Ļ׳×Ķ", + "ס ׼×Ŀ", + "Ġв не", + "à¸ŀ à¸Ļัà¸ģà¸ĩาà¸Ļ", + "ÑĢ ÐµÐ¹", + "à¹Ģà¸Īà¹īา หà¸Ļà¹īาà¸Ĺีà¹Ī", + "ĠHi á»ĩn", + "Ġméd ico", + "ĠتØŃ ÙĤÙĬÙĤ", + "ÑĮ ÑĤе", + "miÅŁ ti", + "ÙĤÙĬ ادة", + "ãĤı ãģĭãĤĬ", + "มา à¸Īาà¸ģ", + "ëħ Ģ", + "ãģ«éĸ¢ ãģĻãĤĭ", + "×IJר×Ĵ ×ķף", + "m ètre", + "Ġעצ ×ŀ×Ļ", + "ĠCh úa", + "รูà¹ī à¸Ī", + "รูà¹īà¸Ī ัà¸ģ", + "ì£ Ħ", + "ëĭ µ", + "à¹ģà¸Ĺ à¹ī", + "Ġgeç en", + "Ġlan ça", + "ĠاÙĦ بØŃØ«", + "×ĵ ×ŀ×ķ", + "ãģ¯ ãģĺ", + "ãģ¯ãģĺ ãĤģ", + "Ġdön Ã¼ÅŁ", + "è¿ij ãģı", + "à¹Ģส ม", + "à¹Ģสม à¸Ń", + "ëĿ ½", + "Ġü ç", + "á» ŀ", + "ÑĪ Ð°Ñı", + "à¸Ĺ ร", + "ØŃ ÙĤÙĬÙĤØ©", + "à¸Ĥà¸Ńà¸ĩ à¸ģาร", + "Ġ무 ìĹĩ", + "Ġ×Ķ ×Ľ×¨", + "ĠاÙĦص ÙĬÙĨ", + "ĠлÑİ Ð´Ð¸", + "à¸ķ าย", + "ب ÙĪÙĦ", + "Ġvi êm", + "Ġthi á»ĩu", + "à¸ģ à¸Ķ", + "Ġ׾ ×ĵ×ijר", + "פ ׳×Ķ", + "×IJר ×ij×¢", + "س Ùī", + "ĠاÙĦسÙĬ اس", + "ĠاÙĦسÙĬاس ÙĬØ©", + "yd ı", + "ÙĪØŃØ¯ Ø©", + "ĠдеÑıÑĤелÑĮ ноÑģÑĤи", + "Ġ×ķ×Ķ ×ŀ", + "п еÑĩ", + "пеÑĩ аÑĤ", + "иÑĢов аниÑı", + "ĠÑģ ог", + "ĠÑģог лаÑģ", + "Ġ׼ ×ĵ", + "Ġ׼×ĵ ×IJ×Ļ", + "ĠиÑģполÑĮзов аÑĤÑĮ", + "ס פ×ķר×ĺ", + "Ġil çe", + "exp érience", + "ĠTh á»Ŀi", + "İ K", + "à¹Ħà¸Ł à¸Łà¹īา", + "ëĵ¤ ìĹIJê²Į", + "à¸Ľà¸£à¸° à¹Ģà¸ł", + "à¸Ľà¸£à¸°à¹Ģà¸ł à¸Ĺ", + "Ġmü mk", + "Ġmümk ün", + "Ġ×IJ×ķת ׳×ķ", + "ìĦ± ìĿĦ", + "ĠìĿ´ ìľł", + "زÙĬ ارة", + "Ġolduk ça", + "r ób", + "ĠØ£ ÙĨا", + "Ġ×Ķ ×ij×Ļ", + "Ñģ ен", + "×¢ ×Ļקר", + "×Ļ×ĵ ×ķ×¢", + "d zÄħ", + "Ùħ عÙĦÙĪÙħات", + "Ø´ اب", + "Ġpar ça", + "à¸Ļะ à¸Ħะ", + "ب اس", + "ĠÑĤоÑĢ Ð³", + "ĠÑĤоÑĢг ов", + "Ġ×Ĺ ×ĵר", + "׼ ר×ĺ", + "׼ר×ĺ ×Ļס", + "ĠA yrıca", + "ÃªÌ £", + "ìľ ¨", + "ĠÑĤак ие", + "Ġ×ŀצ ×ķ×Ļ", + "ãĥ©ãĥ³ ãĤŃãĥ³ãĤ°", + "ש×Ļ×ķ ×ķ×§", + "åīį ãģ®", + "ĠB ảo", + "Ñī Ñĥ", + "æĹ© ãģı", + "ĠPh òng", + "à¸ŀระ ราà¸Ĭ", + "פ ×Ĺ×ķת", + "Ġг л", + "Ġгл аз", + "à¸Ĺ à¹Īา", + "Ġd ạy", + "ÑĢ Ð¾ÑģÑĤ", + "à¹Ĥà¸Ķย à¹Ģà¸īà¸ŀาะ", + "Ġqu áºŃn", + "Ġ×Ĺ×ijר ×ķת", + "m ême", + "mÄ±ÅŁ tı", + "ĠاÙĦت داÙĪÙĦ", + "Ġn ạn", + "Ġ×Ķ ×ĵ×Ļ", + "ĠاÙĦØ· رÙĬÙĤ", + "×Ĵ ×ķת", + "Ġ×Ķ ×ĵר×ļ", + "ujÄħ ce", + "Ġch ữ", + "ãĤĤãģ® ãģ®", + "ë° Ľ", + "ãģķãĤĵ ãģ¯", + "Ġyard ım", + "ĠاÙĦع Ùħ", + "Ġì§Ħ íĸī", + "Ġ×Ļ ×Ĺ", + "Ġ×Ļ×Ĺ ×¡×Ļ", + "ĠاÙĦÙħ دÙĬÙĨØ©", + "Ġc ú", + "à¸ģี ฬ", + "à¸ģีฬ า", + "Ġni ên", + "mis ión", + "׳×Ļס ×Ļ", + "׳×Ļס×Ļ ×ķף", + "Ġвоз ÑĢаÑģÑĤ", + "Ġ×¢×ķש ×Ķ", + "ĠÙħ دÙĬر", + "Ñı ÑģÑĮ", + "ØŃ جÙħ", + "íĻĺ ê²½", + "ĠاÙĦØ£ خرÙī", + "u ÃŁer", + "ĠاÙĦعاÙĦÙħ ÙĬØ©", + "ĠNg á»įc", + "êµIJ íļĮ", + "ä¸Ĭ ãģ§", + "×Ļ×Ķ ×ķ×ĵ", + "×Ļ×Ķ×ķ×ĵ ×Ļ×Ŀ", + "Ùħس اعدة", + "Ġжиз нÑĮ", + "ĠпоÑĤ омÑĥ", + "ĠاÙĦÙħ ÙħÙĦ", + "ĠاÙĦÙħÙħÙĦ ÙĥØ©", + "ĠG ör", + "ر ÙIJ", + "×ŀ×§ ×ķ×ŀ×ķת", + "åĩºæĿ¥ ãĤĭ", + "ÑĦ ÑĤ", + "ĠìĿ´ ìłľ", + "ĠÑĢ ÐµÐ¼", + "ĠÑĢем онÑĤ", + "ת ×ķ×ļ", + "æĻĤ ãģ¯", + "ãĤīãĤĮ ãģªãģĦ", + "alt ı", + "å®¶ ãģ®", + "ĠاÙĦØ¥ عÙĦاÙħ", + "리 ëĬĶ", + "ãģĭãĤī ãģ¯", + "ĠH ạ", + "ãģĤ ãģ®", + "×ĵ×Ļ ×ķף", + "رÙĬ س", + "Ġsoci etÃł", + "ĠاÙĦÙĥ بÙĬر", + "Ġ×ij ×ŀס", + "Ġ×ij×ŀס ×Ĵר", + "Ġ×ij×ŀס×Ĵר ת", + "ĠìŀĪ ìľ¼ë©°", + "Ġn ặng", + "Ùĩ Ùī", + "ĠB Ãł", + "×ŀר ×ķ", + "Ġj ÄĻ", + "ĠjÄĻ zy", + "ĠjÄĻzy k", + "Ġ׼ ×ŀ×ķ×ijף", + "×¢ ׾×Ķ", + "à¸Ĺีà¹Ī à¹Ħà¸Ķà¹ī", + "ãģ¾ ãģĹãĤĩãģĨ", + "×ŀס פר", + "Т Ðŀ", + "سÙĬاس Ø©", + "Ġкажд Ñĭй", + "ë² ł", + "t ım", + "y á»ĩn", + "ร ีà¹Ī", + "ĠдеÑĤ Ñģк", + "วิà¸ĺี à¸ģาร", + "m ówi", + "×ĺ×¢ ×Ŀ", + "×Ķצ׾ ×Ĺ×Ķ", + "ض ÙĬÙģ", + "ĠÑħоÑĤ Ñı", + "ãĤĵãģ§ ãģĦãĤĭ", + "à¸Ħา à¸Ķ", + "à¸Ħร à¸ļ", + "Ġк ÑĥÑĢÑģ", + "ĠbaÅŁ arı", + "×ijר ×ķ", + "ÙĬع Ø©", + "ĠÐĿ Ñĥ", + "à¸Ħวาม à¹Ģà¸Ľà¹ĩà¸Ļ", + "Ġ׾ ×ŀש׾", + "Ġì¢ĭ ìĿĢ", + "Ùħؤس س", + "Ùħؤسس ات", + "Ġpréc is", + "Ġth ảo", + "à¸ģà¹ĩ à¸Ħืà¸Ń", + "Ġש ׼׾", + "führ ung", + "ãģĦ ãģ§", + "à¹ģละ มี", + "à¸ģà¹ĩ มี", + "Ġש ש", + "м ел", + "Ġкни г", + "ĠباÙĦ ÙĨ", + "ĠباÙĦÙĨ سبة", + "Ġald ı", + "ÑĤ ай", + "Ġ×Ĺ×ĵ ש×Ļ×Ŀ", + "å®Ł ãģ¯", + "ع ÙĪØ§", + "ĠìĿĺ 미", + "из м", + "ÑĢабоÑĤ аÑĤÑĮ", + "Ùģ Øµ", + "Ġ×ij׳ ×ķסף", + "ãģ¨ãģĹãģ¦ ãĤĤ", + "à¹Ģà¸Ľà¹ĩà¸Ļ à¸Ĺีà¹Ī", + "ĠÑģлед ÑĥеÑĤ", + "èĢĥãģĪ ãģ¦", + "Ġ׼ ×Ļ×ķ×Ŀ", + "ÑģÑĤ Ñĭ", + "׼׾׼ ׾×Ļ", + "æµģ ãĤĮ", + "ãĤĴ ãģ¤ãģij", + "Ñĩ аÑĤ", + "×Ļ׼ ×ķף", + "×Ļר ×Ļ", + "ları yla", + "ãĤ¤ ãĥ¡", + "ãĤ¤ãĥ¡ ãĥ¼ãĤ¸", + "׳×ĸ ×§", + "Ġci ò", + "Ġs ın", + "Ġsın ır", + "à¸Ļ à¸Ħร", + "к аÑĤ", + "Ġl á»Ĺi", + "ëŀ Į", + "تÙģ Ø§Øµ", + "تÙģØ§Øµ ÙĬÙĦ", + "ëĨ ĵ", + "ĠÙħ ض", + "il miÅŁ", + "بار Ùĥ", + "ÐĿ Ðĺ", + "Ġth ẩm", + "Ġ×IJ×ķת ×ļ", + "ĠпÑĢин им", + "ĠпÑĢиним а", + "Ġyö nt", + "Ġyönt em", + "Ġ×ŀ×§ ×ij׾", + "Ġktó rego", + "ê· Ģ", + "شر Ùģ", + "د اÙħ", + "ãģĦãĤį ãģĦãĤį", + "ĠAl ém", + "Ġgör ü", + "Ġgörü nt", + "Ġgörünt ü", + "د س", + "ÑĪ ÐºÐ¸", + "г ÑĢад", + "Ġl ạc", + "Ġs ữa", + "ãĤīãĤĮ ãģ¾ãģĻ", + "o Ãłi", + "Ñī ен", + "ãģĭ ãģªãģĦ", + "Ġп оп", + "Ġпоп Ñĥ", + "ĠпопÑĥ лÑıÑĢ", + "ĠاÙĦÙħ ÙĪÙĤع", + "rä g", + "ï¼ ¡", + "íķ Ħ", + "ãĤĴè¦ĭ ãĤĭ", + "اÙħ ا", + "ĠاÙĦØŃ رب", + "ĠÐŁ а", + "Ġ׾ ×IJתר", + "Ġt á»ijc", + "×ij ׾×Ķ", + "ر ئÙĬس", + "в Ñĥ", + "ÙĬ دÙĬ", + "каз ан", + "Ġ׊ש×ij×ķף", + "h ôtel", + "×¢ ×ķ׳×Ķ", + "ب ÙĨÙĬ", + "×ŀ ×ķ׾", + "Ġд нÑı", + "éĽ£ ãģĹãģĦ", + "вед ениÑı", + "Ġ×ķ ×ŀת", + "н апÑĢимеÑĢ", + "ÙĤ ابÙĦ", + "Ġrésult at", + "ĠÑĢазвиÑĤ иÑı", + "ر Ùij", + "ìłĦ 문", + "ĠاÙĦÙħ زÙĬد", + "ĠìľĦ íķ´ìĦľ", + "ëĨ į", + "íĻ ķ", + "ĠThi ết", + "íĮ ¨", + "malı dır", + "Ġcz ÅĤ", + "ĠczÅĤ owie", + "ĠczÅĤowie k", + "ĠÙĦ بÙĨ", + "ĠÙĦبÙĨ اÙĨ", + "üs ü", + "ãģªãĤĵ ãģł", + "Ġżyc ie", + "ĠÑħоÑĢоÑĪ Ð¾", + "æĸ¹ ãģ«", + "ëĭ¤ ë©´", + "иÑĩеÑģ каÑı", + "ער ×Ļ׼", + "ער×Ļ׼ ת", + "ãģ¾ãģĽãĤĵ ãģ§ãģĹãģŁ", + "ĠÑģоб ой", + "Ġg á»Ĺ", + "Ġдел аÑĤÑĮ", + "da Äĩ", + "аÑĢ Ð°", + "róż ni", + "à¹Ģล ีà¹ī", + "à¹Ģลีà¹ī ย", + "à¹Ģลีà¹īย à¸ĩ", + "à¸Ŀ าà¸ģ", + "Ġت ÙĤ", + "ĠتÙĤ دÙĬ", + "ĠتÙĤدÙĬ Ùħ", + "หà¸Ļ ุà¹Īม", + "Ġmü cade", + "Ġmücade le", + "ì§Ģ 를", + "ãĤ¤ ãĤ¹", + "ĠØ£ ساس", + "jÄħce go", + "ĠÅŁ eh", + "н ÑĤеÑĢ", + "ÑĨи Ñİ", + "ï» »", + "ÑİÑī его", + "à¹Ĥà¸Ľà¸£ à¹ģ", + "à¹Ĥà¸Ľà¸£à¹ģ à¸ģรม", + "Ġmie Äĩ", + "ØŃÙĥÙĪÙħ Ø©", + "ãģ§ãģĹãģŁ ãģĮ", + "×Ļס ×Ķ", + "ãĤĤãģ® ãĤĴ", + "Ġ×ŀ ×IJת", + "สุà¸Ķ à¸Ĺà¹īาย", + "Ġc Å©", + "ÙĨ سب", + "ĠпÑĢ Ð¾Ñĩ", + "Ġд ней", + "ĠÑįÑĤи Ñħ", + "׾ ×ŀת", + "нÑı Ñı", + "Ñį к", + "Ġì§Ģ ëĤľ", + "มหา วิà¸Ĺยา", + "มหาวิà¸Ĺยา ล", + "มหาวิà¸Ĺยาล ัย", + "d ão", + "ĠMá y", + "ĠêµŃ ê°Ģ", + "à¸ļุ รี", + "×Ĵ ×Ļ׾", + "ĠÑĤÑĭ ÑģÑı", + "ĠÑĤÑĭÑģÑı Ñĩ", + "Ùģ Ùĥ", + "ĠÐĺ Ñģ", + "è¡Į ãĤıãĤĮ", + "פר ×ĵ", + "ãģ¤ ãģį", + "à¸Ħร à¸Ńà¸ļ", + "à¸Ħรà¸Ńà¸ļ à¸Ħรัว", + "à¸Ĥึà¹īà¸Ļ มา", + "ä»ĬæĹ¥ ãģ¯", + "ĠìĤ¬ëŀĮ ìĿ´", + "עצ ×ŀ×Ķ", + "п оÑĢ", + "ĠK ỳ", + "Ġ Æ¡n", + "Ġth Äĥm", + "Ùģ Ø§ÙĤ", + "ãģļ ãģ«", + "Ġ׾ קר", + "Ġ׾קר ×ķ×IJ", + "اÙģ ÙĬØ©", + "Ùħ ÙİØ§", + "г аÑĢ", + "ص ÙĦا", + "صÙĦا Ø©", + "Ġ×ŀ ×ĸ×Ķ", + "lı ģını", + "Ġ×IJ ×Ļ׳×Ķ", + "к ÑĢо", + "Ġng ươi", + "Ġв ним", + "Ġвним ание", + "jÄħ cy", + "ÙĢÙĢÙĢÙĢ ÙĢ", + "Ñģ Ñħод", + "ãģªãĤĵ ãģĭ", + "×ŀ ×Ļ׾", + "Ġ×Ķ×IJ ×Ĺ", + "ãĤı ãģªãģĦ", + "ع سÙĥر", + "ĠìĦ¸ ê³Ħ", + "ĠÑĩ его", + "ĠÑģÑĢед ÑģÑĤва", + "ĠÐł аÑģ", + "ãģª ãģģ", + "ÙĨ Ù쨳", + "ר×Ļ ×ķף", + "Ñģ Ñĥд", + "ĠìĿ¸ ê°Ħ", + "ĠاÙĦÙħ ÙĤبÙĦ", + "ÙĨ عÙħ", + "تÙĪ Ù쨱", + "ש ×ij×¢", + "ı lm", + "ılm Ä±ÅŁ", + "Ġ×ľ×ª ת", + "تص Ùģ", + "×Ķפ ×ķ×ļ", + "à¹ĥà¸Ļ à¸Ľà¸µ", + "ìĿ´ ê³ł", + "Ùģ ÙĪØ²", + "à¸ľà¸¥ à¸ĩาà¸Ļ", + "ĠGi áo", + "à¸ļà¸Ńà¸ģ วà¹Īา", + "Ġd Ä±ÅŁ", + "ĠdÄ±ÅŁ ında", + "ì£ ½", + "Ġdzie ÅĦ", + "к ÑĨии", + "и ÑĨе", + "ãģ® ä¸Ģ", + "ع Ø´", + "пÑĢ ÐµÑģÑģ", + "หà¸Ļ à¹Īà¸Ńย", + "ลัà¸ģษ à¸ĵะ", + "Ġpossibilit Ãł", + "à¹Ħà¸Ķà¹īรัà¸ļ à¸ģาร", + "หย ุà¸Ķ", + "Ġphi ên", + "çĶŁ ãģ¾ãĤĮ", + "Ø· ÙĪÙĦ", + "ÑĦ ин", + "f ür", + "ØŃ ÙĬاة", + "íĸ ĪìĬµëĭĪëĭ¤", + "׼ ׳×ķת", + "à¸Ľà¸£à¸° ส", + "à¸Ľà¸£à¸°à¸ª à¸ļ", + "à¸Ľà¸£à¸°à¸ªà¸ļ à¸ģารà¸ĵà¹Į", + "ëIJĺ ìĹĪ", + "Ġkaż dy", + "Ġl uyá»ĩn", + "ĠоÑĢганиз аÑĨии", + "å°ij ãģªãģı", + "ÑģÑĤÑĢо ен", + "Ġtécn ico", + "×§ ×Ķ׾", + "Ġ×ķ×IJ ×Ĺ", + "ĠعÙĦÙĬ Ùĥ", + "Ñī ение", + "Ġ×Ķ ×Ļ׾×ĵ×Ļ×Ŀ", + "ÙĪØ³ ائÙĦ", + "Ġ×ķ ×Ķת", + "تÙħ ÙĬز", + "ĠÑģ казал", + "Ġпол и", + "Ġ×Ķ×ŀ ס", + "ÙĦÙij Ùİ", + "Ùħؤس سة", + "Ġ×ŀ ×Ļ×ĵ", + "ãģ£ ãģ¡", + "ĠëĦĪ ë¬´", + "à¸ŀ ี", + "Ġt ặng", + "Ġt ấn", + "ר ש×Ŀ", + "Ġméd ica", + "Ġ×¢ ×ķ×ŀ", + "Ġ×¢×ķ×ŀ ×ĵ", + "ÑĦ оÑĢ", + "Ùħر Ø©", + "Ġvat anda", + "Ġvatanda ÅŁ", + "Ġдел о", + "à¸Ļ ม", + "ãģ¨ åIJĮãģĺ", + "Ùģ Ùī", + "Ñģ оÑĢ", + "Ġ×Ķס ר×ĺ", + "Ġép oca", + "ìłķ ì±ħ", + "ĠÑģвÑıз ан", + "ض رب", + "ĠÙĦ ÙĨا", + "Ġuży wa", + "ĠاÙĦج ÙĬØ´", + "Ñİ ÑĢ", + "×ijס ×ķ×£", + "Ġм Ñĥ", + "ĠмÑĥ зÑĭк", + "bilit é", + "Ġma ç", + "س Ùİ", + "ت ÙĦÙĥ", + "ãģ ¬", + "ÙĬ ÙĦا", + "ÑĪ Ð»Ð°", + "ÙĢÙĢ ÙĢ", + "Ġод ной", + "зв ан", + "ĠÑģ ÑĢаз", + "ĠÑģÑĢаз Ñĥ", + "ÙĨ ظÙħ", + "را Ùĩ", + "ĠÙĦÙĩ ذا", + "׼ ×ķר", + "Ġ×Ķש ×ij×ķ×¢", + "Ġ×Ķש ת", + "ĠQu ảng", + "ãĥ« ãĥ¼", + "ãģĪ ãģªãģĦ", + "×ĺ ×IJ", + "Ġmi á»ģn", + "ĠPh áºŃt", + "ĠاÙĦس ÙĪÙĤ", + "Ä Ĥ", + "ĠاÙĦج Ùħع", + "ĠاÙĦجÙħع Ø©", + "ÑİÑī ей", + "a ÅĤem", + "عت ÙĤد", + "Ø£ ÙĦÙħ", + "Ñģ ке", + "ĠìĿ´ íķ´", + "ÙĨس Ø®", + "è¨Ģ ãģĦ", + "д обав", + "سب ÙĤ", + "×¢×ķר ר", + "ÑĤи п", + "ãģĿãģĵ ãģ§", + "vis ión", + "عÙĪØ¯ Ø©", + "ë¨ ¹", + "×ŀ ×ĸר×Ĺ", + "ĠØ¥ ØŃ", + "Ġ׾×ij ×Ļף", + "Ġ׾צ ×IJת", + "Ġyard ı", + "Ġyardı mc", + "Ġyardımc ı", + "İ Z", + "×§ פ×Ķ", + "tr é", + "liÄŁ ini", + "клÑİÑĩ а", + "Ġüret im", + "Ġa yrı", + "ĠkiÅŁ iler", + "à¸Ħ à¹īà¸Ļ", + "à¸Ħà¹īà¸Ļ หา", + "ĠS á»±", + "Ġ׼ ס", + "Ġ×Ľ×¡ ×£", + "ĠÑĤак иÑħ", + "ĠXu ân", + "Ġл ег", + "Ġлег ко", + "Ø«ÙĤ اÙ쨩", + "ÐĿ Ðŀ", + "ãĤ¹ãĤ¿ ãĥĥ", + "ãĤ¹ãĤ¿ãĥĥ ãĥķ", + "åIJĪ ãģĦ", + "Ġ×Ķש ×Ļ×ŀ×ķש", + "man ız", + "ĠÐĴ аÑģ", + "g ün", + "ìľĦìĽIJ íļĮ", + "Ġwsp óln", + "ĠÑģв ое", + "í ĥģ", + "à¹Ģà¸Ļ ีย", + "ÙĪØ¨ Ø©", + "в Ñıз", + "ı dır", + "ëIJĺ ìĹĪëĭ¤", + "ĠdeÄŁi ÅŁtir", + "ãĤĭ ãģĵãģ¨ãģĮ", + "Ġ×Ĺ×ĵ ש×Ķ", + "ãĤīãĤĮ ãģ¦ãģĦãĤĭ", + "×Ĺ×Ļ ×Ļ×ij", + "ĠÐļ аÑĢ", + "׳×Ļת ×ķ×Ĺ", + "Ġ×§×ĺ ף", + "ר ×ĸ", + "ÙĪ Øº", + "èªŃ ãģ¿", + "Ġت ÙĤÙĪÙħ", + "ĠÙĥ اÙĦ", + "à¸Ŀ ึà¸ģ", + "Ġë°ľ ìĥĿ", + "ológ ico", + "ر اع", + "à¹ģà¸ģà¹ī à¹Ħà¸Ĥ", + "ĠÑĢабоÑĤ Ñĥ", + "ÙĨÙij Ùİ", + "à¸Ńยูà¹Ī à¸Ĺีà¹Ī", + "ĠاÙĦØ« اÙĨÙĬØ©", + "ĠNh ân", + "Ñħ ваÑĤ", + "ö ne", + "Ġع دة", + "à¹ģ สà¸ĩ", + "ÑĤ оп", + "пÑĥÑģ ка", + "شر اء", + "ĠÐļ ом", + "Ġפע ×ķ׾×Ķ", + "ìĤ¬ ìĿ´", + "ìĤ¬ìĿ´ íĬ¸", + "è¡Į ãģ£ãģ¦", + "Ġ×Ķ ×Ķת", + "ĠÑģÑĤ оÑĢо", + "ĠÑģÑĤоÑĢо нÑĭ", + "در س", + "à¸ĭ ู", + "à¸ķà¹Ī ำ", + "ĠØ£ بÙĬ", + "под об", + "ãģ« ãģ¦", + "ار تÙģØ§Ø¹", + "ĠÙħ ؤ", + "ик ов", + "ge führt", + "มืà¸Ń à¸ĸืà¸Ń", + "ĠÙĦ ÙĤد", + "ĠØ£ÙĨ Ùij", + "سÙĬ طر", + "ãģ¾ãģļ ãģ¯", + "ס ×ĵ", + "Ñģк олÑĮко", + "ãģ¿ãģŁãģĦ ãģª", + "×ĵר ×Ĵ", + "×¢ ×Ļ×ĵ", + "à¹ĥหà¹ī à¸ļริà¸ģาร", + "ĠÐĶ Ð¸", + "×ij×¢ ×Ļ×ķת", + "Ġ×Ķ×Ĺ ×ķ", + "пиÑģ ÑĮ", + "ĠاÙĦØ® ÙĦ", + "б ав", + "Ġİ lk", + "ĠاÙĦØ® Ùħ", + "ĠاÙĦØ®Ùħ ÙĬس", + "ĠÙĬ ÙĤÙĪÙħ", + "æĻĤ ãģ®", + "ĠsÅĤ ow", + "ĠØ£ ÙĩÙħ", + "Ø®ÙĦ ÙĤ", + "ĠØ£ صبØŃ", + "Ġchứ a", + "Ġth ác", + "Ùģ Ø§ÙĦ", + "Ġch á»Ŀ", + "ĠاÙĦØ® ار", + "ĠاÙĦخار ج", + "ĠاÙĦخارج ÙĬØ©", + "Ø· ائر", + "Ġt Ãł", + "ĠtÃł u", + "à¸ģล à¹īà¸Ńà¸ĩ", + "ĠاÙĦÙħر Ø£", + "ĠاÙĦÙħرأ Ø©", + "åħ¨ ãģı", + "ĠÃĸ n", + "çļĦ ãģ«ãģ¯", + "Ġpiè ce", + "×Ĵ ×Ļ×ij", + "ĠاÙĦ ÙĪØ§ÙĤع", + "ä»Ĭ ãģ®", + "ĠاÙĦÙħ ÙĤ", + "cz nÄħ", + "Ù쨹 اÙĦ", + "ен ного", + "ĠÑĦак ÑĤ", + "ìĭł ì²Ń", + "ĠÐŀ ни", + "ĠاÙĦبÙĦ اد", + "ов иÑĩ", + "ëı Į", + "ÑĦ ÑĥнкÑĨи", + "Ġìĸ´ ëĬIJ", + "ãĥķãĤ© ãĥ¼", + "d ÃŃ", + "ил оÑģÑĮ", + "Ùħ Ùī", + "ĠاÙĦØ£ÙħرÙĬ Ùĥ", + "ĠاÙĦØ£ÙħرÙĬÙĥ ÙĬØ©", + "×ĺ ×Ļפ×ķ׾", + "íĶĦ ë¡ľê·¸", + "íĶĦë¡ľê·¸ ëŀ¨", + "Ġש ×ķ׳×ķת", + "Ø´ ÙħÙĦ", + "ĠпаÑĢ Ð°", + "Ġ×Ķ×Ĺ ×ķ×§", + "ÙĪØ² ارة", + "ãģ¨ ãģĻãĤĭ", + "Ġqu ảng", + "ĠaÄŁ ır", + "ĠاÙĦÙĦ ج", + "ĠاÙĦÙĦج ÙĨØ©", + "ê¸ ´", + "ĠT ân", + "ج ÙħÙĦ", + "д ол", + "à¹ģà¸ŀ à¸Ĺย", + "à¹ģà¸ŀà¸Ĺย à¹Į", + "Ġר×IJ ש×Ļ", + "Ñī ей", + "Ġçev re", + "Ġкомп лекÑģ", + "Ġ×ij ×ŀש×ļ", + "Ġalt ın", + "ĠØ£ عÙħاÙĦ", + "ĠÑģво его", + "ãĤĪ ãģĦ", + "×Ĺ׾ ×Ļ×ĺ", + "×ŀ׳ ×¢", + "Ġר ×ij×Ķ", + "ĠØ£ÙĬضا Ùĭ", + "×ĸ ׾", + "ĠاÙĦسÙĬ اسÙĬ", + "æĢĿ ãģĨ", + "קר ×§", + "קרק ×¢", + "ĠاÙĦÙģ Ø±ÙĬÙĤ", + "б иÑĤ", + "×§ ׳×Ķ", + "ĠØ¥ ÙĨÙĩ", + "ĠÐĴ ам", + "Ðł Ðŀ", + "ãĥĪ ãĥª", + "å¿ħè¦ģ ãģª", + "Ġch âu", + "ç¶ļ ãģij", + "Ġçöz üm", + "gÅĤ ow", + "ع ÙĤÙĦ", + "売 ãĤĭ", + "i ết", + "à¸Ĭิ à¹īà¸Ļ", + "ĠØŃÙĤ ÙĪÙĤ", + "Ø·ÙĦ ع", + "ĠÄij en", + "ĠÙĥ اÙ쨩", + "ãģ® ãģĶ", + "Ġë ¬", + "Ġë¬ ¼", + "Ġ물 ë¡ł", + "Ġرس ÙĪÙĦ", + "з ам", + "зам ен", + "Ġkullan ıcı", + "×¢ ×ķ׾", + "èī² ãĢħ", + "ÑĪи ÑĢ", + "Ġ׊ש", + "Ġwy gl", + "Ġwygl Äħda", + "ש ×Ļ×ŀ×ķש", + "å¿ĺ ãĤĮ", + "×¢ ×Ļצ×ķ×ij", + "ĠاÙĦس ÙĪØ±ÙĬ", + "å°ij ãģªãģĦ", + "Ġпо иÑģк", + "สำ à¸Ļัà¸ģà¸ĩาà¸Ļ", + "Ġ×ŀצ ×ĵ", + "Ġmü ÅŁ", + "ĠmÃ¼ÅŁ ter", + "ĠmÃ¼ÅŁter i", + "ĠÙħÙĨ ÙĩÙħ", + "à¸ķำ à¹ģ", + "à¸ķำà¹ģ หà¸Ļ", + "à¸ķำà¹ģหà¸Ļ à¹Īà¸ĩ", + "ÅĽ mie", + "Ġש ×ł×ª", + "Ġ×Ķ ×¤×Ļ", + "פר ש", + "×¢×ijר ×Ļת", + "สà¸Ļ ัà¸ļ", + "สà¸Ļัà¸ļ สà¸Ļุ", + "สà¸Ļัà¸ļสà¸Ļุ à¸Ļ", + "è¨Ģ ãģ£ãģ¦", + "à¸ģาร à¸Īัà¸Ķ", + "ĠMo że", + "из аÑĨии", + "ứ t", + "ĠÙĪØ¨ عد", + "ĠdeÄŁ ild", + "ĠdeÄŁild ir", + "Ġת ×ŀ", + "Ġ×ŀ×ŀ ׳×ķ", + "話 ãĤĴ", + "ĠÑĨ ена", + "Ġth úc", + "×Ļ×ŀ ×ķף", + "ĠB áo", + "ãĤĴ åıĸãĤĬ", + "å®ī ãģĦ", + "Ġ×¢×ķש ×Ļ×Ŀ", + "èĩªåĪĨ ãģĮ", + "l ée", + "ãĤĭ ãģ®ãģ§", + "иÑĢÑĥ еÑĤ", + "ãģ¦ ãĤĭ", + "ست ر", + "ĠاÙĦØŃ ÙĬ", + "×Ļ׾ ×ķת", + "Ġ×Ĺ ×ij", + "ÙĤر Ø£", + "تÙħ ÙĥÙĨ", + "س ائÙĦ", + "prü f", + "ãģĭ ãģijãģ¦", + "ĠÑģоб ÑģÑĤвенно", + "ĠìľĦ íķĺìŬ", + "׾ ×Ļ×ĺ", + "ãģĮ å¤ļãģı", + "ÙĬت Ùĩا", + "ç«ĭ ãģ¦", + "ม à¸Ńà¸ļ", + "ìĭľ ìŀ¥", + "оÑĢ Ð°", + "Ġs avaÅŁ", + "×ĺ×Ļ×ij ×Ļ", + "×ij ׳×ķ", + "Ùħا ذا", + "기 ê°Ħ", + "ãģªãģ© ãģ§", + "Ġ×ŀ ת×Ĺ×Ļ׾", + "Ġnhi á»ħ", + "Ġnhiá»ħ m", + "ка ÑĢ", + "каÑĢ ÑĤ", + "Ġ׾×Ķ ×©×ª×ŀש", + "׳ ×Ļ×Ĺ", + "اد ÙĬØ©", + "ราย à¸ĩาà¸Ļ", + "Ġprzy kÅĤad", + "Ñī ий", + "ØŃض ÙĪØ±", + "Ġh ôn", + "à Ŀ", + "ת ×ķצ×IJ×ķת", + "راب Ø·", + "Ġb ếp", + "ĠполÑĥÑĩ и", + "åĩºä¼ļãģĦ ç³»", + "à¸Ľà¸¥ à¹Īà¸Ńย", + "ĠاÙĦØ´ باب", + "اÙĩ ÙĦ", + "ä»Ĭ ãģ¾ãģ§", + "رج ع", + "ãĤ¶ ãĥ¼", + "ÙĤ Ùģ", + "ĠGro ÃŁ", + "ĠíļĮ ìĽIJ", + "اج ر", + "Ġ×ij×ŀ קר×Ķ", + "Ġseg urança", + "fü hl", + "ãģ¦ ãģĦãģı", + "หม à¸Ń", + "ĠкоÑĤоÑĢ Ð¾Ð¼", + "ĠN Äĥm", + "ĠdÅĤ ugo", + "ÙħÙĨ ØŃ", + "ש×ķ ×ķ×Ļ", + "ĠØ£ÙĬ اÙħ", + "ส à¸łà¸²à¸ŀ", + "r zÄħ", + "شر Ùĥات", + "ãĤĴ èĢĥãģĪ", + "д аÑĢ", + "à¸Ľà¸£à¸° à¸Ĭุม", + "Ġ×ķ×IJ ×ĸ", + "i á»ĩn", + "Ġt ươi", + "ש ×Ļ×Ĺ", + "à¸Ń à¹Īà¸Ńà¸Ļ", + "æĽ¸ ãģĦãģ¦", + "Ġng ữ", + "×ij×Ļ×ĺ ×Ĺ", + "×ij×Ļ×ĺ×Ĺ ×ķף", + "Ġs ẵ", + "Ġsẵ n", + "ì§Ģ ëıĦ", + "ĠпÑĢ ÐµÐ¿", + "ĠпÑĢеп аÑĢаÑĤ", + "Ġна ÑĥÑĩ", + "ĠÃľ nivers", + "ĠÃľnivers ites", + "ĠÃľniversites i", + "Ġ×Ĵ×ĵ ×ķ׾×Ķ", + "Ġ×Ķ ×ł×ª", + "Ġ×Ķ×ł×ª ×ij×¢", + "ãģ§ãģĤ ãģ£ãģŁ", + "Ġmies iÄħ", + "ĠmiesiÄħ c", + "г ÑĢам", + "гÑĢам м", + "Ġبش Ø£ÙĨ", + "ĠÑħ ÑĢ", + "×§ ×Ļ×ĵ", + "×§×Ļ×ĵ ×ķ×Ŀ", + "Ø´ Ùĥر", + "Ġ á»ķ", + "Ġá»ķ n", + "ãģĮãģĤ ãģ£ãģ¦", + "ãģķãĤĮ ãģ¾ãģĻ", + "Ġ×Ĺ ×ķ×ĵ", + "Ġ×Ĺ×ķ×ĵ ש×Ļ×Ŀ", + "ÙħÙĪØ§ جÙĩ", + "ÙħÙĪØ§Ø¬Ùĩ Ø©", + "أش خاص", + "ب غ", + "à¹Ģรียà¸Ļ รูà¹ī", + "ãģĹãģ¦ ãģĦãģı", + "Ġs ạn", + "å¿ħ ãģļ", + "׳ ×Ļ×Ĵ", + "׳×Ļ×Ĵ ×ķ×ĵ", + "باÙĦ غ", + "׊ש×ŀ", + "×Ĺש×ŀ ׾", + "Ġnap raw", + "Ġnapraw dÄĻ", + "Ø´Ùĩ اد", + "×IJ ×ķ×Ķ", + "×IJ×ķ×Ķ ×ij", + "и ÑĨÑĭ", + "Ġ×Ķ ×¨×Ľ×ij", + "ëŀ ij", + "Ġת ×¢", + "Ġ×Ķ ×Ļש", + "Ġ×Ķ×Ļש ר×IJ", + "Ġ×Ķ×Ļשר×IJ ׾×Ļ", + "Ø£ ÙħÙĨ", + "ÑİÑī аÑı", + "sk ór", + "LER İ", + "Ġ×Ķ×IJ×Ĺר ×ķף", + "×¢ ׳ק", + "ĠÙĪ ÙĥÙĦ", + "ãģĵãģĵ ãģ§", + "Ġqu án", + "liÄŁ in", + "à¸ģà¸İ หมาย", + "Ø· Ùħ", + "Ø£ جÙĩ", + "أجÙĩ زة", + "ĠEr doÄŁan", + "ãģ§ ãģĬ", + "Ġв ÑĢа", + "ĠвÑĢа Ñĩ", + "ĠPh ó", + "à¸Ĭั à¹Īว", + "à¸Ĭัà¹Īว à¹Ĥม", + "à¸Ĭัà¹Īวà¹Ĥม à¸ĩ", + "Ġph úc", + "×Ļפ ×ķת", + "×¢×Ļ ×ķף", + "Ġduż o", + "ãĥģ ãĥ¼ãĥł", + "ĠÙĬ Ùİ", + "Ġзад аÑĩ", + "Ġ×Ĵ×ij×ķ×Ķ ×Ķ", + "Ġ׼ ׼׾", + "лож ен", + "ét at", + "Ġng Äĥn", + "èµ· ãģį", + "ĠTi ến", + "ص عب", + "Ġexperi ência", + "Ø® Ùħ", + "à¸ģาร à¸Ĺำà¸ĩาà¸Ļ", + "س ÙĬد", + "ĠD á»±", + "ĠкоÑĤоÑĢ Ð¾Ð³Ð¾", + "lad ıģı", + "Ġkh á»ķ", + "Ġê³Ħ ìĨį", + "Ñī ик", + "สà¹Īวà¸Ļ à¸ķัว", + "з оÑĢ", + "ÙĨ Ùı", + "Ġ à¸Ķัà¸ĩ", + "Ġà¸Ķัà¸ĩ à¸Ļัà¹īà¸Ļ", + "Ġc ấu", + "ĠÄij á»ijc", + "о ÑĦ", + "ĠاÙĦØ£ عÙħاÙĦ", + "ãģªãģı ãģ¦ãĤĤ", + "×ķ׼ ×Ļ×Ŀ", + "à¹ģ à¸Ľ", + "ĠB ên", + "ãĥ¯ ãĥ³", + "Ġgi ám", + "ĠÅŀ u", + "Ġd áng", + "ع ÙĦÙĬ", + "à¹Ģà¸ģ ษ", + "à¹Ģà¸ģษ à¸ķร", + "ÙĪØ¬ ب", + "н нÑĭе", + "ÙĤ ضاء", + "à¸Ħว à¸ļ", + "à¸Ħวà¸ļ à¸Ħุ", + "à¸Ħวà¸ļà¸Ħุ ม", + "ãģ¤ ãģ¤", + "ĠVi á»ĩc", + "×ŀ×ij ×ĺ", + "ש×Ļת ×ķ×£", + "Ġв едÑĮ", + "k aza", + "kaza ÅĤ", + "à¸ķำ รวà¸Ī", + "ãĤ¿ ãĥ«", + "Ġпов Ñĭ", + "ĠповÑĭ ÑĪен", + "ĠS ợ", + "ĠìĦ¤ ëªħ", + "ĠÃĩ ünkü", + "ìĥĿ íĻľ", + "Ö ¾", + "ãĤĮ ãģ¦ãģĦãĤĭ", + "Ġ×ij ר×IJש", + "ר ×ķ×Ĵ", + "Ġо ÑĦи", + "ĠоÑĦи ÑĨиалÑĮн", + "ĠÑĥ ÑģÑĤанов", + "ĠÑĥÑģÑĤанов лен", + "ĠاÙĦÙħ صر", + "ĠاÙĦÙħصر ÙĬØ©", + "ĠÐŁÐ¾ ÑįÑĤомÑĥ", + "ÙĨ صÙģ", + "ĠÙĪØ§ÙĦ ÙĨ", + "Ġh Ãłi", + "à¸Ħ ิ", + "ĠApr ès", + "ì³ IJ", + "à¹Ģà¸ĭ ีย", + "×ĵ ×ŀ×Ķ", + "activ ité", + "à¸Ħิà¸Ķ วà¹Īา", + "ÑĤ ÑĢен", + "à¹Ģ ฮ", + "ãĥı ãĤ¤", + "ãģĮ å¢ĹãģĪ", + "ен наÑı", + "Ġìĺ¤ ëĬĺ", + "ãĥ¢ ãĥ³", + "Ġкон еÑĩно", + "ĠÙħÙĤ ابÙĦ", + "cl é", + "Ġh ü", + "Ġth ẳng", + "ìłģ ìĿ´", + "ĠÐIJ лекÑģ", + "ĠÐIJлекÑģ ан", + "ĠÐIJлекÑģан дÑĢ", + "ãĥŀãĥ³ ãĤ·ãĥ§ãĥ³", + "ãģ²ãģ¨ ãģ¤", + "ãģª ãģĬ", + "à¹Ģà¸Īà¹īา à¸Ĥà¸Ńà¸ĩ", + "ëĵľ 리", + "Ø´ اء", + "ĠsaÄŁ lık", + "ĠÅŁ imdi", + "×Ļ×IJ ׾", + "تأ Ø«ÙĬر", + "Ø£ سب", + "أسب اب", + "ĠвÑĭполн ен", + "л ок", + "ש ×Ļ×ij×Ķ", + "Ġl ắm", + "ĠTr Æ°á»Ľc", + "Ġ×Ķ×¢ ׾", + "리 를", + "ĠÑĢ ÐµÐ¶", + "ĠÑĢеж им", + "int é", + "inté gr", + "×Ĵ ׳×Ļ", + "ĠاÙĦØ´ عر", + "Ġmil hões", + "Ġpeque ño", + "ãĤ³ ãĥ¼ãĤ¹", + "×ķ׼ ×Ĺ", + "à¹Ģà¸Ĭ à¹īา", + "شر ÙĤ", + "Ġh ương", + "รัà¸IJ à¸ļาล", + "à¸ģล าย", + "à¸ģลาย à¹Ģà¸Ľà¹ĩà¸Ļ", + "Ġпод Ñħод", + "תש ×ķ×ij×Ķ", + "ãģıãģª ãģ£ãģ¦", + "ĠاÙĦØ£Ùħ Ùħ", + "ĠH á»įc", + "ĠwspóÅĤ pr", + "ĠwspóÅĤpr ac", + "Ñĩ Ñĥв", + "ÑĩÑĥв ÑģÑĤв", + "ÃŃst ico", + "à¹Ģà¸ģ าะ", + "ìĽ Ģ", + "Ġназ ад", + "ãĤĭ ãĤĪãģĨãģ«", + "ĠС Ш", + "ĠСШ ÐIJ", + "м он", + "ĠAs ÃŃ", + "×ķר ×Ĵ", + "полн ен", + "×ŀס ׾", + "×ŀ×¡×ľ ×ķ׾", + "à¹Ģลืà¸Ń à¸Ķ", + "à¹Ģริà¹Īม à¸ķà¹īà¸Ļ", + "ĠاÙĦØ¥ Ùħ", + "ĠاÙĦØ¥Ùħ ارات", + "צ×Ķ ×¨", + "ãĥ¡ãĥª ãĥĥãĥĪ", + "ĠпоÑĤ ом", + "в из", + "ĠÙģ ØªØ±Ø©", + "å¾Į ãģ®", + "ÐĿ ÐIJ", + "×ŀס ר", + "ÙĬر ÙĬ", + "pr é", + "Ġte ÅŁek", + "ĠteÅŁek kür", + "Ġöd eme", + "د اÙĨ", + "ãģ¾ ãģĹãģ¦", + "缮 ãģ«", + "ĠÑĤ еÑĩение", + "l ard", + "lard ır", + "à¹Ģรา à¸Īะ", + "ס פ×Ļ", + "ĠÙĪÙĥ ذÙĦÙĥ", + "Ġh át", + "Ġt á»Ļc", + "à¸Ħุ ย", + "Ġb ức", + "ØŃ ÙĬÙĨ", + "èģŀ ãģĦãģ¦", + "Ùħؤ شر", + "ĠNh ư", + "Ġмен ее", + "ละ à¸Ħร", + "Ñģ ин", + "ĠÑĢ ÐµÐº", + "ĠÑĢек л", + "ĠÑĢекл ам", + "ĠÙģ ÙĩÙĪ", + "Ġ׾ ×ĸ", + "×Ļ׳ ×ķת", + "ĠÅŁ art", + "ÑģÑĤав ка", + "Ġíı¬ íķ¨", + "ãģ«è¡Į ãģı", + "ï¼ Ŀ", + "ĠпозволÑı еÑĤ", + "Ġת×ķ׼ ׾×ķ", + "ов ал", + "صÙĦ Ø©", + "Ġ׾ש ׳×ķת", + "ĠÐĺ гÑĢ", + "ÙħÙĨتج ات", + "Ġsat Ä±ÅŁ", + "Ñģ ко", + "ĠاÙĦØ«ÙĦاث اء", + "Ġ×Ķ×ĵ×ijר ×Ļ×Ŀ", + "ãģĹãģ¾ ãģĹãĤĩãģĨ", + "بÙĤ Ùī", + "åĬĽ ãĤĴ", + "ĠÃĩ ok", + "ãĥģ ãĥ¥", + "à¹Ģà¸Ĭ ืà¹īà¸Ń", + "ยุ à¸Ħ", + "ศา ล", + "Ġ×§×ķ×ĵ ×Ŀ", + "×ĸר ×Ļ×Ŀ", + "ãģ® åł´åIJĪ", + "ĠìķĬ ìķĺ", + "ãģĤãĤĬãģ¾ãģĻ ãģĮ", + "×IJ שר", + "è¡Į ãģı", + "ãģ» ãģĭ", + "æ°Ĺ ãģ«ãģªãĤĭ", + "й деÑĤ", + "íķĺìĺĢ ëĭ¤", + "ستÙħر ار", + "ĠÐŁÑĢ Ðµ", + "ĠÑģ боÑĢ", + "ĠìķĦ 무", + "ç§ģ ãĤĤ", + "ع ص", + "Ġн иÑĩ", + "ĠниÑĩ его", + "ĠпÑĢи ем", + "×§ ×ķ×ŀ", + "ĠìĪĺ ëıĦ", + "Ġì ¡´", + "Ġì¡´ ìŀ¬", + "ĠØ£ Ø«ÙĨ", + "ĠأثÙĨ اء", + "ĠÙĪØ§ÙĦ ØŃ", + "ãģĮ ãģ§ãģįãĤĭ", + "Ġת ×Ķ", + "Ġת×Ķ ×Ļ×Ķ", + "ר ף", + "ĠÑģвÑıз и", + "×Ĵ שת", + "Ñģп екÑĤ", + "ס ×ij×Ļ×ij", + "ס×ij×Ļ×ij ×Ķ", + "ĠíķĦìļĶ íķľ", + "ت خصص", + "Ġж ив", + "Ġжив оÑĤ", + "ĠMay ıs", + "تع ا", + "تعا ÙĪÙĨ", + "ĠعÙĨ Ùĩا", + "ów ki", + "ĠاÙĦÙģÙĦسطÙĬÙĨ ÙĬ", + "ãģłãģijãģ§ ãģªãģı", + "ìĿ¸ ì§Ģ", + "ĠاÙĦس ÙĪØ¯", + "ĠاÙĦسÙĪØ¯ اÙĨ", + "إجراء ات", + "Ġkö tü", + "Ġ×Ļ ×ª×¨", + "×Ĵ ×Ļש×Ķ", + "Ġצ ×ķר×ļ", + "รà¸ĸ ย", + "รà¸ĸย à¸Ļà¸ķà¹Į", + "Ñħ оÑĤ", + "Ðł ÐIJ", + "ÙĪ Ø·ÙĨ", + "Ġsay ısı", + "ס ×Ĺר", + "Ùħ ÙĪÙĦ", + "ãĤĴæĮģ ãģ£ãģ¦", + "ع اÙĨ", + "Ġt á»Ļi", + "ĠвÑĭ ÑĪе", + "Ġt ầm", + "ãĥĪ ãĥ¬", + "×Ļצ ×ķ", + "ม ุม", + "س ÙĪØ¯", + "ìłĦ ìŀIJ", + "ãĤµ ãĥŃãĥ³", + "ìĤ° ìĹħ", + "ĠоÑģнов ан", + "Ø® Ù쨶", + "רצ ×Ķ", + "بÙĬ ض", + "×ķÖ ¹", + "ס×Ļ ×Ļ×¢", + "Ġש ×IJ×Ļ", + "ĠاÙĦÙĤر Ø¢ÙĨ", + "ĠТак же", + "×ŀש ×ŀ×¢×ķת", + "س ÙĩÙĦ", + "Ġ×Ķ ×ł×Ķ", + "ãĤĴ ãģĹãģ¦ãģĦãĤĭ", + "×Ļ ×Ļס", + "×Ķ ×ķ×IJ", + "ĠB ÃŃ", + "Ġмал о", + "ĠëͰëĿ¼ ìĦľ", + "Ġר ×Ĺ×ij", + "ãģĮ é«ĺãģĦ", + "ÙĪ Ø§Ø³", + "ìĤ ¼", + "׳ ×¢", + "ãģ£ ãģ¡ãĤĥ", + "ĠT üm", + "à¸Ńีà¸ģ à¸Ķà¹īวย", + "ãģĹãģ¦ ãģıãģłãģķãģĦ", + "ÙĨØ´ اط", + "ãĥĹ ãĥ©ãĥ³", + "али ÑģÑĮ", + "×ĵ ×ľ×ª", + "Ġwc zeÅĽ", + "ĠwczeÅĽ niej", + "ĠÑįÑĤ им", + "Ġthá»ĭ t", + "à¸ļ ัà¸į", + "à¸ļัà¸į à¸Ĭี", + "ãģļ ãģ£ãģ¨", + "ÑĢ Ð¸Ð½", + "Ġswo jÄħ", + "íķĺëĬĶ ëį°", + "Ġë§Įëĵ¤ ìĸ´", + "تش Ùĥ", + "تشÙĥ ÙĬÙĦ", + "ائ Ùĩ", + "Ġ׾פ ×Ĺ×ķת", + "ãĥĭ ãĥ¥", + "ãĥĭãĥ¥ ãĥ¼ãĤ¹", + "׼×IJ ף", + "ãģ§ãģį ãģŁ", + "зв он", + "Ġsta ÅĤ", + "×Ĺ×ijר ת×Ļ", + "ĠØ£ عÙĦÙĨ", + "à¹ģà¸ļà¸ļ à¸Ļีà¹ī", + "بد Ø¡", + "ãĤģ ãģŁ", + "Ġ×ŀש ×ŀ×¢×ķת", + "Ġ×ŀש×ŀ×¢×ķת ×Ļ", + "ör ü", + "Ġh ạnh", + "z ähl", + "ĠL ý", + "Ġ×ij ×Ķת", + "Ġ×ij×Ķת ×IJ×Ŀ", + "б аÑĢ", + "ì¦ Ī", + "ä»ĬåĽŀ ãģ®", + "Ġy ü", + "Ġyü ks", + "Ġyüks el", + "ãĤ½ ãĥ¼", + "ãģĤ ãĤĮ", + "ת ׾×ŀ×Ļ×ĵ", + "ãģ¤ ãģª", + "×ij ׳×Ļ×Ŀ", + "Ġx ếp", + "ĠмÑĥж Ñĩин", + "ĠاÙĦÙĥ تاب", + "׼ ×ŀ×ķת", + "Ġç e", + "Ġçe ÅŁ", + "ĠçeÅŁ it", + "ĠçeÅŁit li", + "×ĵ ×Ļר×ķת", + "à¸ļุ à¸į", + "ĠاÙĦØ¥ ÙĦÙĥ", + "ĠاÙĦØ¥ÙĦÙĥ ترÙĪ", + "ĠاÙĦØ¥ÙĦÙĥترÙĪ ÙĨÙĬ", + "ĠباÙĦØ¥ ض", + "ĠباÙĦإض اÙ쨩", + "Ġyö nel", + "Ġyönel ik", + "mys ÅĤ", + "à¸Ķà¹īวย à¸ģาร", + "à¸ģาร à¸Ĺำ", + "ов Ñĭм", + "Ø£ زÙħØ©", + "æİ¢ ãģĹ", + "íļ ¨", + "Ġ×ķ×IJ ×Ŀ", + "Ġnghi êm", + "ÑĪ Ð¸Ð½", + "ка л", + "Ġcrian ças", + "èĩªåĪĨ ãģ§", + "Ġн ай", + "Ġнай ÑĤи", + "ĠS á»ij", + "ĠÃ¶ÄŁrenc iler", + "ãĥ¶ æľĪ", + "Ñģ ан", + "ĠJ á", + "ĠkonuÅŁ ma", + "شر Ø·", + "ëĪ Ī", + "ar rière", + "ضر ÙĪØ±Ø©", + "ãĥĶ ãĥ³", + "×¢ שר", + "аÑĢ ÑĮ", + "جÙħ اع", + "Ġdé co", + "Ġ×Ļ×Ķ ×ķ×ĵ×Ļ", + "à¸ŀ ลาà¸Ķ", + "ĠÙĬ ÙĥÙĨ", + "Ġج اÙħعة", + "Ø· بÙĤ", + "Ġbo ÅŁ", + "×ķ ×ķ×IJ", + "×ŀ×ĵ ×¢", + "×§×ij×ķצ ת", + "פ ×Ļר", + "jÄħc ym", + "ÙħØ´ ا", + "Ùħشا ÙĥÙĦ", + "צ פ×ķף", + "Ø¥ ست", + "×ŀ׼ ר", + "سÙħ ع", + "Ġкак ой", + "ÑĤ воÑĢ", + "ØŃ ج", + "Ù쨱 ض", + "пÑĢав лен", + "Ġник ак", + "Ġmi á»ĩ", + "Ġmiá»ĩ ng", + "ü ÃŁ", + "иÑĢов ал", + "׾ ×ŀ×ķת", + "次 ãģ®", + "ÙĦ Ø·", + "à¸ķ ัà¸Ļ", + "×Ķ ×ª×Ĺ×Ļ׾", + "Ġfoto ÄŁ", + "ĠfotoÄŁ raf", + "طر ØŃ", + "à¸Ńà¸Ńà¸ģ à¹Ħà¸Ľ", + "Ġy ên", + "Ġп ок", + "Ġпок Ñĥп", + "ĠпокÑĥп а", + "ÑĨ Ñĥ", + "Ġкомп ÑĮÑİ", + "ĠкомпÑĮÑİ ÑĤеÑĢ", + "ĠاÙĦÙĥ رÙĬÙħ", + "تص Ùħ", + "تصÙħ ÙĬÙħ", + "Ġоказ а", + "Ġzar ówn", + "Ġzarówn o", + "ëĮĢ ì¶ľ", + "ãĤ»ãĥ³ ãĤ¿ãĥ¼", + "Ġjako ÅĽci", + "æĤ ©", + "æĤ© ãģ¿", + "Ø£ÙĨ ÙĪ", + "Ø£ÙĨÙĪ Ø§Ø¹", + "ë¹ ł", + "Ġìłķ ë§IJ", + "Ġk ẻ", + "ĠÑģай ÑĤа", + "Ġ×Ķ ×¢×¨×ij", + "Ùĩ ز", + "pres ión", + "ĠÑģÑĤ ен", + "ãģ£ãģ¦ ãĤĭ", + "Ġhız lı", + "Ðļ ÐIJ", + "×ŀשפ ×Ĺת", + "ĠÙĨ Ùĩا", + "ĠÙĨÙĩا ÙĬØ©", + "ãģ¾ ãģĦ", + "о ÑħÑĢан", + "ร à¹īà¸Ńย", + "ล ึà¸ģ", + "ĠÙĪØ¨ اÙĦ", + "ãĤĤãģ® ãģĮ", + "ר׼ ×Ļ×ij", + "ãĤ¤ ãĥ¤", + "س ؤ", + "سؤ اÙĦ", + "ĠÙĦØ£ÙĨ Ùĩ", + "ĠkonuÅŁ tu", + "Ðļ ÑĥпиÑĤÑĮ", + "Ġש×IJת ×Ķ", + "ĠÙĪØ§ÙĦ س", + "Ġmożliwo ÅĽci", + "Ġpró b", + "ëĶ °", + "ãģ© ãĤĮ", + "ĠÐľ ин", + "ĠоÑĢганиз м", + "ãģ«å¯¾ ãģĻãĤĭ", + "ĠPr é", + "Ġpriv é", + "ch è", + "ãģĦãģŁãģł ãģį", + "สà¸Ļุ à¸ģ", + "ajÄħ ce", + "ĠD zi", + "ĠDzi ÄĻki", + "ÅĤat w", + "r än", + "rän k", + "æĿ¥ ãģŁ", + "Ġ×Ķ×Ļ×Ķ ×ķ×ĵ×Ļ", + "ãĤ¬ ãĥ¼", + "ĠÑĢаР´", + "ĠÑĢад и", + "к ÑĤив", + "Ø£ Ùĩد", + "Ø£Ùĩد اÙģ", + "ש ×IJ×Ļר", + "ãģ¦ ãģĦãģªãģĦ", + "Ġfr üh", + "Ġок ол", + "Ġокол о", + "Ġreg ião", + "ĠÑĩиÑģ ле", + "Ġpon iew", + "Ġponiew aż", + "ìĦ¼ íĦ°", + "Ġb ầu", + "Ġê ·", + "Ġê· ľ", + "Ġê·ľ ìłķ", + "ĠH òa", + "ĠÑĤ оÑĤ", + "ãĤĤ å¤ļãģĦ", + "ĠاÙĦإسÙĦاÙħ ÙĬØ©", + "ãģĭ ãģĦ", + "Ñį н", + "ĠÑĥказ ан", + "ĠÑĤак ое", + "ï¼ ³", + "ëĮĢ íķĻ", + "Ġgen iÅŁ", + "ĠاÙĦØ® ÙĬ", + "ĠاÙĦØ®ÙĬ ارات", + "ãĤĴè¡Į ãģĨ", + "ש ×ŀ×Ķ", + "ĠLÃł m", + "ÙĪÙĨ ÙĬ", + "Ġ×IJ ׾×Ļ×ķ", + "Ä ĺ", + "à¹Ħมà¹Ī สามารà¸ĸ", + "人 ãģ¨", + "بر ز", + "×Ļס ×ķ×ĵ", + "×Ĵ ׾×Ļ", + "ĠÙĬ ÙĨا", + "ĠÙĬÙĨا ÙĬر", + "ĠкаÑĢÑĤ ин", + "Ġt ôn", + "à¹Ģ à¸ģร", + "à¸Ħ à¸Ķี", + "Ġ׾×IJ ×ķר×ļ", + "ãĤĤãĤī ãģĨ", + "ãģĭ ãģĭãĤĭ", + "ани и", + "Ġara ÅŁtırma", + "ÙĦاØŃ ظ", + "ãģĦ ãĤĦ", + "ĠT Ãłi", + "Ġ à¸Ļà¸Ńà¸ģà¸Īาà¸ģ", + "Ġà¸Ļà¸Ńà¸ģà¸Īาà¸ģ à¸Ļีà¹ī", + "ĠÄIJ ảng", + "ãģ£ãģ¦ ãģįãģŁ", + "Ġà¸ĭึà¹Īà¸ĩ à¹Ģà¸Ľà¹ĩà¸Ļ", + "Ġt ả", + "Ġmożliwo ÅĽÄĩ", + "ĠS ản", + "Ġİ ki", + "Ġc ắt", + "س Ø£ÙĦ", + "Ġbak ım", + "Ø´ ب", + "à¸ķ ีà¹ī", + "à¸ŀ ยาย", + "à¸ŀยาย าม", + "สั à¸Ľ", + "à¸ªà¸±à¸Ľ à¸Ķา", + "à¸ªà¸±à¸Ľà¸Ķา หà¹Į", + "ë° Ģ", + "еÑĢ Ñĭ", + "Ġc ánh", + "Ġthu ế", + "ت بع", + "ãģ«åħ¥ ãĤĮ", + "Ñİ ÑģÑĮ", + "íļĮ ìĿĺ", + "ç°¡ åį", + "ç°¡åį ĺ", + "ç°¡åįĺ ãģ«", + "Ġtr úc", + "ĠاÙĦÙĥ ÙĪÙĬ", + "ĠاÙĦÙĥÙĪÙĬ ت", + "ãĤıãģij ãģ§ãģĻ", + "ĠÑģв об", + "ĠÑģвоб од", + "ĠÑĥÑĩаÑģÑĤ ник", + "สิ à¹īà¸Ļ", + "ĠпÑĢо ÑĦеÑģÑģиона", + "ĠпÑĢоÑĦеÑģÑģиона лÑĮн", + "Ñģп оÑĢ", + "×Ĺ ×ķ×ij×Ķ", + "Ùħع ÙĨÙī", + "ĠاÙĦÙģ ØªØ±Ø©", + "สูà¸ĩ สุà¸Ķ", + "ãĤı ãģļ", + "ĠÄij è", + "ĠÄijè n", + "æ¯Ķ ãģ¹", + "า à¸ĺิ", + "Ġmoż emy", + "à¹ģ à¸ĭ", + "à¸Īะ à¹Ħมà¹Ī", + "Ġs ắp", + "Ðļ Ðŀ", + "Ġprá ctica", + "ÙĪÙĥ اÙĦØ©", + "è¾¼ ãĤĵãģ§", + "ológ ica", + "Ġе Ñī", + "ĠеÑī Ñij", + "تع دÙĬÙĦ", + "ĠØ£ Ùĥد", + "Ġצר ×Ļ׼", + "Ġצר×Ļ׼ ×Ļ×Ŀ", + "Ø« Ùħ", + "Ġк ÑĢÑĥ", + "ĠкÑĢÑĥ п", + "×ij×Ļ×§ ×ķרת", + "Ġì¡° ê¸Ī", + "ãģ¨ãģį ãģ¯", + "Ġb ạc", + "ĠÑĢаÑģ пол", + "ĠÑĢаÑģпол ож", + "ĠÑĢаÑģполож ен", + "ز ÙĬÙĨ", + "ĠÐļ ÑĢоме", + "ĠاÙĦÙĨ ظر", + "×Ķ ×ķ×ĵ", + "ĠاÙĦس بت", + "ã썿ĢĿ ãģĦ", + "Ġpa ÅĦst", + "ĠpaÅĦst w", + "ĠÙĦÙĬ ست", + "ĠбÑĥд Ñĥ", + "à¸Ĺัà¸Ļ à¸Ĺี", + "ร าม", + "ØŃ صÙĪÙĦ", + "ãģĹãģ¦ãģıãĤĮ ãĤĭ", + "ĠاÙĦØ¥ سرائÙĬÙĦ", + "ĠاÙĦإسرائÙĬÙĦ ÙĬ", + "ãģĵãĤĮ ãģ¾ãģ§", + "ìĤ¬ 를", + "Ġs ürü", + "à¹Ģว à¸Ńรà¹Į", + "à¹Ģà¸ĭ à¸Ńรà¹Į", + "Ġutilis é", + "ĠÑģиÑģÑĤем а", + "Ġdw ó", + "Ġdwó ch", + "Ġpróp rio", + "Ġëĵ± ìĿĦ", + "arr êt", + "ĠЧ а", + "×IJ×ŀ ׳×ķת", + "عار ض", + "à¹Ģà¸ģม สà¹Į", + "Ġ׾×Ķ ×ij×Ļף", + "Ġ׾ ×ij×Ĺ", + "Ġ׾×ij×Ĺ ×ķר", + "สา à¸Ĥา", + "ĠÐľÐ¾Ñģк ве", + "ب عد", + "ĠاÙĦÙĤر ار", + "ĠÄIJ á»ĭa", + "Ġ×Ĺ ×Ĵ", + "Ùģ ØªØ±", + "ÙĪÙĨ Ø©", + "Ġ×Ķ×ĸ ×IJת", + "å¸Ĥ ãģ®", + "ãģ» ãģĹãģĦ", + "Ġ×ij×¢ ×Ļר", + "ĠÑĤеп еÑĢÑĮ", + "ìĬµ ëĭĪê¹Į", + "à¹Ħม à¹Īว", + "à¹Ħมà¹Īว à¹Īา", + "à¹Ħมà¹Īวà¹Īา à¸Īะ", + "×ŀ ×IJ×Ķ", + "æĥħ åł±", + "æĥħåł± ãĤĴ", + "غ ÙĨ", + "Ġпо Ñı", + "ĠпоÑı ви", + "éģİ ãģĶ", + "تش غ", + "تشغ ÙĬÙĦ", + "в ел", + "Ġ×Ĺ ×ŀ", + "ãģ¨ãģªãĤĬ ãģ¾ãģĻ", + "Ġra ÄŁ", + "ĠraÄŁ men", + "ãģĭ ãģ©ãģĨ", + "ãģĭãģ©ãģĨ ãģĭ", + "ен ко", + "ì§Ģ ê³ł", + "Ġ×IJ׾ ×Ļ×Ķ", + "ĠØ£ ÙĦ", + "à¸Īำ หà¸Ļ", + "à¸Īำหà¸Ļ à¹Īาย", + "nız ı", + "Ġ׾ק ×Ĺת", + "Ø£ ÙĩÙħ", + "Ø£ÙĩÙħ ÙĬØ©", + "ت غÙĬر", + "ש ×Ĺר", + "ס×ķפ ר", + "×ĵ ×Ļר", + "èī¯ ãģĭãģ£ãģŁ", + "×ŀ׾×Ĺ ×ŀ×Ķ", + "ÑģÑĤв ие", + "ÑĤ ÑĢаÑĤ", + "ĠاÙĦØ£ Ø®", + "ĠاÙĦأخ ÙĬرة", + "ĠاÙĦØŃ صÙĪÙĦ", + "Ġcréd ito", + "צ ×Ļ×¢", + "ãĥ¬ ãĥĻãĥ«", + "بر ÙĬ", + "ëIJ IJ", + "ãģł ãģ£ãģ¦", + "Ġreal tÃł", + "س Ù쨱", + "×ķ׳ ×ķ", + "×Ĵ ×ķ×ĵ", + "×Ĵ×ķ×ĵ ׾", + "ฮ า", + "ãģĹãģ¦ ãģĬãĤĬãģ¾ãģĻ", + "Ġg Ãł", + "Ġ׾×ij צע", + "å¼ķ è¶ĬãģĹ", + "Ġ×ŀ ×Ļ׾×Ļ", + "Ġ×ŀ×Ļ׾×Ļ ×ķף", + "Ùħ در", + "Ùħدر سة", + "פ ×ķ×ĺ", + "à¸Ļà¹īำ มัà¸Ļ", + "ëģ Ŀ", + "ع Ùĥس", + "ĠÙĤ ض", + "ĠÑĢÑĭ б", + "خط Ø·", + "×ŀ×ķס ×ĵ", + "Ġ׼׾ ׾×Ļ", + "ĠкоÑĤоÑĢ Ð¾Ðµ", + "צ×Ļ ×ķף", + "ĠмеÑģÑĤ а", + "ãģĭ ãģ¤", + "г ÑĢÑĥпп", + "׾ ×Ļ׾", + "ת ×ķ×IJר", + "ë³µ ì§Ģ", + "à¹ģà¸ľ à¹Īà¸Ļ", + "Ġ×ij×¢ ת", + "æĻĤéĸĵ ãĤĴ", + "ï¼ £", + "ãģ¨ãģĦãģĨãģĵãģ¨ ãģ§", + "Ġ׾×Ķ ×§", + "Ġ׾ ×ĸ×Ķ", + "ĠìłĢ ëĬĶ", + "ĠاÙĦØ¥ رÙĩاب", + "ĠìŀĪëĬĶ ëį°", + "ĠÑĤ огда", + "Ġ×Ķ ×¦×Ļ", + "×ķ׾ ×ĺ", + "Ġר פ×ķ×IJ×Ļ", + "ãģĵãģ¨ ãģ§ãģĻ", + "ĠÄij ÃŃch", + "ØŃ ÙĬا", + "Ġ×Ķ×ŀש ×Ĺ×§", + "ãģľ ãģ²", + "Ġ×ŀ×IJ פשר", + "ãģ¿ ãģ¾ãģĹãģŁ", + "ĠاÙĦØ£ÙħÙĬر ÙĥÙĬ", + "Ùħج تÙħع", + "Ġس اب", + "Ġساب ÙĤ", + "׼ ×Ļ׾", + "Ạ¾", + "ãĥª ãĤ¹ãĥĪ", + "Ġì ĥ", + "Ġìĥ Ī", + "ĠìĥĪ ë¡ľ", + "ĠìĥĪë¡ľ ìļ´", + "ĠD á»ĭch", + "à¹Ģหมาะ สม", + "ĠاÙĦÙĨ بÙĬ", + "׾ ׾", + "ÙĨ ع", + "Ðĵ лав", + "Ðĵлав наÑı", + "Ùħر ض", + "Ġ×ķ ×ĵ", + "ت ÙĤÙĬ", + "تÙĤÙĬ ÙĬÙħ", + "Ġb ảng", + "ĠÙģ ÙĤاÙĦ", + "×¢ ×ŀ×Ļ", + "д ÑĢа", + "Ġsu á»ijt", + "سر عة", + "Ġc á»Ń", + "Ġ×Ķ ×Ļ×Ĺ×Ļ×ĵ", + "سع ÙĬد", + "à¸Ńา à¸Ĭีà¸ŀ", + "Ġس ÙĪØ§Ø¡", + "ãĤ½ ãĥķãĥĪ", + "Ġл иÑĩно", + "ĠÐļ оÑĢ", + "اÙĩ تÙħ", + "اÙĩتÙħ اÙħ", + "à¸Ń à¸Ķี", + "à¸Ńà¸Ķี à¸ķ", + "ãģIJ ãĤīãģĦ", + "Ġiht iya", + "Ġihtiya ç", + "ãģ¾ãģ§ ãģ®", + "ìĭľ ìĬ¤", + "ìĭľìĬ¤ íħľ", + "ÑĢÑĥ ÑĪ", + "ãĤĦ ãģ£ãģ±", + "ãĤĦãģ£ãģ± ãĤĬ", + "к еÑĢ", + "Ġ ży", + "Ġży w", + "кл он", + "Ġl ượt", + "à ¾", + "да Ñĩи", + "tür k", + "غ ÙĪ", + "ĠигÑĢ Ð¾Ðº", + "Ġph ê", + "Ġש ×¢×ľ", + "ĠاÙĦÙħ دÙĨÙĬ", + "ĠìŬ룬 ë¶Ħ", + "ער ×Ļ×Ŀ", + "Ñħод ÑıÑĤ", + "Ġx ứ", + "ÐĹ Ð°", + "ĠÙģ Ø±Øµ", + "à¸Īะ à¸Ĺำà¹ĥหà¹ī", + "íģ ´", + "×¢ ×ij×ķר", + "à¹Ģหลà¹Īา à¸Ļีà¹ī", + "èĢĥãģĪ ãĤĭ", + "ÑĢ ÐµÑģÑĤ", + "н нÑĭй", + "Ġc ầm", + "دا Ø®ÙĦ", + "ĠÙħÙĦÙĬ ار", + "ĠÐIJ л", + "ĠвÑĢем ен", + "à¸Ĭà¹Īวย à¹ĥหà¹ī", + "ר×Ļ ×ķת", + "ëĵ ¯", + "飲 ãģ¿", + "׳ ׾", + "שת ×£", + "ĠاÙĦسعÙĪØ¯ ÙĬ", + "u ÃŁ", + "ìĿ¸ ëį°", + "ĠìĿ¼ ë°ĺ", + "ÅĤ ÄĻ", + "Ġm á»iji", + "×ŀ ×Ļ׳", + "ĠاÙĦØ£ Ø·Ù쨧ÙĦ", + "Ġçı kan", + "é cole", + "×§ ×Ļש", + "×§×Ļש ×ķר", + "ĠоÑģ ÑĥÑīеÑģÑĤв", + "ĠоÑģÑĥÑīеÑģÑĤв лÑı", + "×ij ×IJר", + "à¹Ħà¸Ľ à¸Ķà¹īวย", + "Ġ×¢ ×ķ׾×Ķ", + "à¸ģà¹ĩ à¹Ħมà¹Ī", + "ãĥ¢ ãĥĩ", + "ãĥ¢ãĥĩ ãĥ«", + "تØŃ ÙĪÙĦ", + "Ġод ного", + "ת×Ĺ×Ļ׾ ת", + "Ġت Ø®", + "Ġch cia", + "Ġchcia ÅĤ", + "ãĥIJ ãĥ³", + "èĢħ ãģ¯", + "ĠÙħ ØŃÙĦ", + "Ñģл ож", + "Ñģлож н", + "Ġt ÄĻ", + "Ġçı kt", + "Ġçıkt ı", + "ĠC Æ¡", + "à¹Ħà¸Ķà¹ī à¹Ģลย", + "ır ken", + "à¹Ģà¸Ĥà¹īา สูà¹Ī", + "ÙħØŃ Ùĥ", + "ÙħØŃÙĥ ÙħØ©", + "à¸Ħุ à¹īม", + "à¸Ļà¹Īา à¸Īะ", + "лÑİ Ð´", + "де ÑģÑı", + "деÑģÑı ÑĤ", + "ĠлÑİб ой", + "تØŃر ÙĬر", + "צע ×ĵ", + "Ġе Ñij", + "ĠاÙĦØŃ ÙĥÙħ", + "Ġص باØŃ", + "à¹Ģà¸ļ à¸Ńรà¹Į", + "Ġróż nych", + "ги б", + "ĠÑģ оÑĤ", + "ĠÑģоÑĤ ÑĢÑĥд", + "ĠÑģоÑĤÑĢÑĥд ник", + "ĠобÑĬ ем", + "פ ×ĺר", + "ãģĻãģĶ ãģı", + "ãģ«éĸ¢ ãģĹãģ¦", + "в ол", + "Ø« ÙħاÙĨ", + "Ġd ần", + "æĬ ľ", + "æĬľ ãģij", + "Ġ×¢ ש", + "Ġעש ×ķ×Ļ", + "ס ×ķף", + "ãģªãģ® ãģ§ãģĻ", + "ãģ¯ ãģ©ãģĨ", + "×ŀ×¢ ר×ij", + "ï¼ °", + "Ùħ صر", + "ÙħÙĨ اسب", + "ÙħÙĨاسب Ø©", + "ä¸Ĭ ãģ®", + "×IJ×Ļש ×ķר", + "ĠìĦ¤ ì¹ĺ", + "×ŀ×ĵ×Ļ׳ ×ķת", + "×ŀר ת", + "ãĤĭ ãģ®ãģĮ", + "د Ùİ", + "ĠاÙĦشر Ùĥات", + "ìĭľ ê°Ħ", + "ĠÑĢеÑĪ ÐµÐ½Ð¸Ðµ", + "ãģĻãĤĭ ãģ®ãģ¯", + "ĠìŀIJìĭł ìĿĺ", + "׾ ×ŀ×ķ", + "ãģ¨ãģĵãĤį ãģ§", + "Ġ×§ צר", + "Ġmã i", + "Ġkü ltür", + "ãĥ©ãĤ¤ ãĥĸ", + "à¸ľà¸¹à¹ī หà¸įิà¸ĩ", + "æĻĤéĸĵ ãģĮ", + "клÑİÑĩ и", + "diÄŁ iniz", + "มาà¸ģ à¹Ĩ", + "تØŃ ÙħÙĦ", + "Ġh ạt", + "ãĤ¦ ãĤ£", + "п ле", + "×ŀ ׾×IJ", + "ÅĤ ó", + "Ġg á»ijc", + "Ġ×IJ ×ķ×ĵ×ķת", + "หว าà¸Ļ", + "ĠاÙĦ ÙĪØ²", + "ĠاÙĦÙĪØ² راء", + "ëĵ¤ ê³¼", + "Ġص ØŃ", + "ĠصØŃ ÙĬÙ쨩", + "Ġм м", + "تد Ø®ÙĦ", + "Ġpersön lich", + "Ġز ÙĬ", + "ĠزÙĬ ادة", + "ãĤ· ãĤ¢", + "Ġng ắn", + "à¸Ħล ิà¸ģ", + "Ġs ông", + "Ġtü ket", + "Ñį ÑĦÑĦ", + "ÑįÑĦÑĦ екÑĤ", + "ש ×Ļ×ij", + "Ġا عت", + "ت ض", + "تض ÙħÙĨ", + "ĠاÙĦÙħØ´ رÙĪØ¹", + "Ġprodu ção", + "ĠпÑĢимен Ñı", + "ни ÑĨÑĭ", + "주 ëĬĶ", + "ر Ùı", + "Ġm Æ¡", + "Ġhayat ı", + "ëŁ ½", + "Ġü cret", + "Ġyan ında", + "Ġpr ática", + "×ij×Ļ×§ ×ķר", + "Ãľ N", + "Ñģ оÑĤ", + "ãĤıãģij ãģ§", + "Ġдол го", + "ת ׼×ķ", + "ĠìķĦ ëĭĮ", + "ë į°ìĿ´", + "Ġç iz", + "Ġcho Äĩ", + "Ġ×Ķ ×Ļת", + "Ġ×Ķ×Ļת ר", + "Ġso át", + "׼ ×ij×ĵ", + "à¹Ģล à¹Īา", + "Ġд еÑĢ", + "ĠдеÑĢ ÐµÐ²", + "ãĤĴ åħ¥ãĤĮ", + "×Ĺ ×ķס", + "×Ĺ×ķס ר", + "ج ÙĬÙĨ", + "t ón", + "onn é", + "Ġпол ноÑģÑĤÑĮÑİ", + "人 ãģŁãģ¡", + "Ġpr êt", + "ëł ¸", + "Ġdéc embre", + "cı lar", + "Ġת ת", + "Ġê²½ìļ° ìĹIJëĬĶ", + "ÙĪ Ø¹Ø¯", + "è¦ĭ ãĤĭ", + "วิ à¸Īัย", + "ë ¶Ī", + "ز ÙĪØ§", + "زÙĪØ§ ج", + "d ì", + "ãģ§ãģĻ ãĤĪ", + "Ġвод о", + "ĠÙĬ ÙĪØ¬Ø¯", + "Ñģ оÑģÑĤоÑı", + "Ðŀ С", + "ĠÄIJ ó", + "׊פש", + "Ġצ ×Ļ×ij×ķר", + "ĠاÙĦÙĤ Ø·", + "ĠاÙĦÙĤØ· اع", + "Ġиме ÑİÑĤ", + "Ġph áºŃn", + "×Ľ×¡ פ×Ļ", + "полн иÑĤелÑĮ", + "éĻIJ ãĤĬ", + "ĠÑģ ÑĢав", + "ĠÑģÑĢав н", + "ÙħاÙĦ Ùĥ", + "×ĵר ×ķ×Ŀ", + "çļĨ ãģķãĤĵ", + "ØŃÙĤ ÙĤ", + "à¹ģหล à¹Īà¸ĩ", + "ĠاÙĦر سÙħÙĬ", + "оÑĩ ки", + "×ĺ ×ij×Ĺ", + "Ġcan lı", + "Ġ׾ ׾", + "Ġ׾׾ ×ŀ×ķ×ĵ", + "×ŀ×ij ×ķ", + "ת ׼", + "×ª×Ľ ׳×Ļת", + "ĠاÙĦÙħ شار", + "ĠاÙĦÙħشار ÙĥØ©", + "İ Åŀ", + "ĠسÙĬ اسÙĬ", + "в олÑĮ", + "ĠÑģ пÑĢав", + "æĿ¥ ãģ¦", + "פ×ķר ×ķ×Ŀ", + "สำ à¹Ģรà¹ĩ", + "สำà¹Ģรà¹ĩ à¸Ī", + "ĠÅŁ öyle", + "Ġzosta ÅĤa", + "ĠH ü", + "ר ×ķש", + "د ÙĦÙĬÙĦ", + "ÑĢи д", + "ש ף", + "×ŀ×§ ×ķר", + "ĠÑĥ Ñĩ", + "ĠÑĥÑĩ еб", + "ĠÑį ÑĤа", + "ков а", + "à¸ķà¸Ļ à¹Ģà¸Ńà¸ĩ", + "ÙĨ ÙIJ", + "à¸Ńีà¸ģ à¸Ħรัà¹īà¸ĩ", + "ระ à¸ļุ", + "Ġd ữ", + "ĠاÙĦØŃ اÙĦÙĬ", + "׼ ×ķ׼", + "׼×ķ׼ ×ij", + "Ġ×ŀ×IJ שר", + "Ġtr ụ", + "ÑĤел ем", + "Ġв ли", + "Ġвли Ñı", + "Ġש×IJת ×Ŀ", + "Ġuw ag", + "Ġuwag ÄĻ", + "×ĺ ×Ļת", + "×IJ ×ĵ×Ŀ", + "à¸Ķ ุ", + "Ġ×Ķ×IJ ׾×Ķ", + "Ġkar Ä±ÅŁ", + "ĠÄIJ á»iji", + "да ÑİÑĤ", + "ãģªãģ® ãģ«", + "Äħ cych", + "à¹Ģà¸Ļ à¹īà¸Ļ", + "ãģĹãģ¦ ãģĹãģ¾ãģĨ", + "int érieur", + "ĠfÃŃs ica", + "ĠÐŁ ол", + "ãģĹãģ ķ", + "à¸Ĺำ à¹Ħม", + "ĠL âm", + "ĠاÙĦÙħ سÙĦÙħ", + "ĠاÙĦÙħسÙĦÙħ ÙĬÙĨ", + "ص ØŃØ©", + "ìĹ Ħ", + "à¹Ģà¸Ķà¹ĩ à¸Ķ", + "ĠÑĥ ÑĩеÑĤ", + "â Ìģ", + "Ġب ÙĦا", + "ĠاÙĦاجتÙħاع ÙĬ", + "פרס ×Ŀ", + "ãĥķ ãĥ©", + "ĠÐļ огда", + "mie ÅĽci", + "ĠبÙĬÙĨ Ùħا", + "Ġ×ŀ×IJ ×ŀר×Ļ×Ŀ", + "Ġ×ij×IJ ×ĸ×ķר", + "×ķש ×Ļ×Ŀ", + "ĠÑģдел а", + "entr ée", + "à¹Ģ à¸Ħà¹īา", + "Ñĥг л", + "ĠاÙĦÙģ ÙĨÙĬ", + "ĠÐĴ оÑĤ", + "à¸Ĺีà¹Ī มา", + "×ķצ ×Ĵ", + "ÙĤد رة", + "Ġëª ©", + "Ġ목 ìłģ", + "íıī ê°Ģ", + "ĠاÙĦØ£ ربع", + "ĠاÙĦأربع اء", + "פס ×Ļ×§", + "ĠÑıвлÑı ÑİÑĤÑģÑı", + "ب ÙĪÙĨ", + "ì° ¾", + "×ŀ×¢ ר׼", + "×ŀ×¢×¨×Ľ ×ķת", + "ãĤ· ãĤ§", + "ĠباÙĦ Ø£", + "íĸĪ ëįĺ", + "ĠاÙĦبر ÙĨاÙħج", + "ĠاÙĦØ£ ØŃد", + "Ġm Å©", + "ĠmÅ© i", + "п аÑĤ", + "ب Ø«", + "ĠÑĨ енÑĭ", + "Ġ×ijת ׾", + "è¨Ģ ãĤıãĤĮ", + "ĠاÙĦÙħ جاÙĦ", + "ĠìĦ¸ ìĥģ", + "Ġ×Ĵ ×ķפ", + "ĠнаÑĪ ÐµÐ¹", + "Ġкомп аниÑı", + "б ин", + "öl ü", + "×Ļ ×Ļ×ĺ", + "Ġ×ŀס פ×Ļ×§", + "ยัà¸ĩ à¸Ħà¸ĩ", + "ĠЧ и", + "Ġан ÑĤи", + "ĠÑģÑĢед и", + "สà¹Īวà¸Ļ à¹ĥหà¸įà¹Ī", + "оÑĩ ка", + "íĬ¹ ë³Ħ", + "ว à¹Īาà¸ĩ", + "гоÑĢ Ð¾Ð´", + "با Ùĥ", + "à¹Ģส ีà¹Īย", + "à¹Ģสีà¹Īย à¸ĩ", + "ãĤĤãĤī ãģĦ", + "×§ ×ķ×Ŀ", + "ãģĽ ãģļ", + "ĠاÙĦÙĤ اÙĩرة", + "Ġ×ij ׼×ļ", + "Ùħشار ÙĬع", + "باØŃ Ø«", + "Ġпо Ñĩ", + "ĠпоÑĩ ÑĤи", + "ĠÑĦоÑĢм а", + "S İ", + "Ġ×ŀצ ×Ļ×¢", + "ล ื", + "ลื ม", + "ĠÑĤ еÑĢ", + "ĠÑĤеÑĢ ÑĢиÑĤоÑĢ", + "ĠÑĤеÑĢÑĢиÑĤоÑĢ Ð¸Ð¸", + "Ġв меÑģÑĤ", + "ĠвмеÑģÑĤ е", + "dıkl arı", + "op ération", + "à¹Ĥ ห", + "ص دÙĬ", + "صدÙĬ ÙĤ", + "íĸī ìłķ", + "تج ا", + "تجا ÙĪØ²", + "Ġsu ç", + "Ġar ty", + "Ġarty ku", + "Ġartyku ÅĤ", + "ãĤ·ãĥ§ ãĥĥãĥĹ", + "ש פ", + "שפ ×Ļ×¢", + "Ġ×Ķש ×Ļר×ķת", + "à¹ģà¸ĸ ม", + "ë¸ Ķ", + "Ġuk ÅĤad", + "Ġ×ķ ׼×Ļ", + "หล าà¸ģ", + "หลาà¸ģ หลาย", + "æĸ¹ ãĤĤ", + "Ġpodr óż", + "ĠE ÄŁer", + "Ġком наÑĤ", + "ĠÑģам ÑĭÑħ", + "Ġв кÑĥÑģ", + "б еж", + "Ġ×ij ×§×ķ", + "æİĽ ãģij", + "ãģ¿ ãĤĭãģ¨", + "ĠiliÅŁ kin", + "ĠÙĬ عÙħÙĦ", + "Ġпод аÑĢ", + "Ġyaz ılı", + "ãĤĴ å¾Ĺ", + "Ġwyst ÄĻp", + "à¸Ĺีà¹Ī à¹ĥà¸Ĭà¹ī", + "ØŃاد Ø«", + "ÙĪ ÙĬد", + "кÑĥ лÑĮÑĤ", + "кÑĥлÑĮÑĤ ÑĥÑĢ", + "à¸ģาร à¹ģà¸Ĥà¹Īà¸ĩ", + "à¸ģารà¹ģà¸Ĥà¹Īà¸ĩ à¸Ĥ", + "à¸ģารà¹ģà¸Ĥà¹Īà¸ĩà¸Ĥ ัà¸Ļ", + "ÙħÙĪ Ø¸", + "ÙħÙĪØ¸ Ùģ", + "ÙĬÙħ ÙĬ", + "ãĤĵãģ§ãģĻ ãģĮ", + "diÄŁ im", + "diÄŁim iz", + "ĠÐŁ еÑĢ", + "ĠÐŁÐµÑĢ Ð²", + "Ġm ão", + "ĠÑģ ез", + "ĠÑģез он", + "Ġ×Ķ×ŀ ×¢", + "Ùħ جÙħÙĪØ¹Ø©", + "ĠинÑĦоÑĢм аÑĨии", + "i ếc", + "ã ng", + "ĠÄij ấy", + "ãģĶ ç´", + "ãģĶç´ ¹", + "ãģĶç´¹ ä»ĭ", + "Ġad ım", + "à¹Ħ หล", + "Ġп ÑĢакÑĤи", + "ĠпÑĢакÑĤи Ñĩ", + "ĠпÑĢакÑĤиÑĩ еÑģ", + "ĠпÑĢакÑĤиÑĩеÑģ ки", + "ĠاÙĦÙĨ Ù쨳", + "ĠÑĢабоÑĤ е", + "ÙĦÙĬ Ùģ", + "ĠاÙĦجÙĨ ÙĪØ¨", + "Ġвод Ñĭ", + "ì¹ Ļ", + "Ġм иÑĢа", + "ĠÄij ừng", + "ĠпÑĢоÑĤив о", + "ĠÑģÑĤÑĢан Ñĭ", + "ล ู", + "ìĤ ¶", + "kre ÅĽl", + "Ġbul und", + "Ġbulund uÄŁu", + "à¹ģ สà¸Ļ", + "ãĤ± ãĤ¢", + "ת×Ĺ ×ķ×ŀ×Ļ", + "ר׼ ×Ķ", + "Ġ׾ק ×ķ×Ĺ", + "Ġ׾ק×ķ×Ĺ ×ķת", + "Ġ×Ľ×ª ×ķ×ijת", + "ĠÙĦ ÙĥÙħ", + "ب شر", + "Ġr Ãłng", + "Ġ×ŀ×Ķ ×ŀ", + "Ġ×IJ×Ĺר ×ķת", + "Ġб он", + "Ġбон ÑĥÑģ", + "ï½ Ĺ", + "à¹ģ ยà¸ģ", + "ãģĤãģªãģŁ ãģ®", + "ĠÑĥÑĩаÑģÑĤ ие", + "ĠE yl", + "ĠEyl ül", + "ĠçalÄ±ÅŁmalar ı", + "Ø® طر", + "ìĿ ½", + "à¸ģาร à¹ĥà¸Ĭà¹īà¸ĩาà¸Ļ", + "Ġана лиз", + "תק ×ij׾", + "ни ем", + "Ġİ ns", + "Ġİns an", + "ĠبÙĪ Ø§Ø³", + "ĠبÙĪØ§Ø³ طة", + "Ġ׳ ×Ľ×ł×¡", + "Ġ×Ķ×ŀ ×Ļ×ĵ×¢", + "Ġç o", + "Ġço ÄŁu", + "á» ĺ", + "ĠêµŃ 민", + "ãĤĤ ãģĦãģĦ", + "Ġ׼ ׾×Ļ", + "ĠÑģÑĢед не", + "g ÅĤo", + "gÅĤo ÅĽ", + "Ġneg ó", + "Ġnegó cio", + "ĠÑĢ ÐµÐ³Ð¸ÑģÑĤ", + "ĠÑĢегиÑģÑĤ ÑĢа", + "ĠÑĢегиÑģÑĤÑĢа ÑĨии", + "Ġtr á»ĵng", + "ĠпÑĢ Ñı", + "ĠпÑĢÑı мо", + "ëłĪ ìĿ´", + "Ġk ém", + "к ле", + "à¸Ļำ มา", + "ĠÑĦ ин", + "ĠÑĦин анÑģ", + "ĠÑĦинанÑģ ов", + "Ġki á»ĩm", + "ยัà¸ĩ à¹Ħ", + "ยัà¸ĩà¹Ħ à¸ĩ", + "ย ิà¸ĩ", + "à¹Ĥ à¸Ľ", + "ĠполÑĥÑĩ ил", + "×Ļ×ĸ ×Ŀ", + "à¹ģละ à¸Ħวาม", + "Ġво обÑīе", + "ص ÙĬر", + "ãĥı ãĥ³", + "ĠاÙĦÙĤ اد", + "ĠاÙĦÙĤاد Ùħ", + "Ġب دÙĪÙĨ", + "ع ظÙħ", + "ת ׳×ķ×¢", + "×ª×ł×ķ×¢ ×Ķ", + "Ø£ ÙħÙĦ", + "ãģķ ãģĪ", + "ÑĤ ем", + "ÑĤем пеÑĢ", + "ÑĤемпеÑĢ Ð°ÑĤÑĥÑĢ", + "Ġ׾ ×Ļצ×ķר", + "Ġr ÄĻk", + "ر سÙĦ", + "ìŀIJ 를", + "Ġ×Ļצ ×Ļרת", + "ÙĨ بÙĬ", + "Ñĩ наÑı", + "تØŃ ÙĦÙĬÙĦ", + "Ġм ик", + "Ġмик ÑĢо", + "ĠS öz", + "Ġfor ça", + "Ñģ он", + "ĠاÙĦع را", + "ĠاÙĦعرا ÙĤÙĬ", + "ĠH á»ĵng", + "ãģĻãĤĭ ãģŁãĤģãģ«", + "à¸Ĺีà¹Ī à¸Ńยูà¹Ī", + "Ġ×ķ×IJ ×£", + "ص ÙĬد", + "ĠìķĬ ê³ł", + "ร ัà¸ĩ", + "ĠاÙĦت ÙĪØ§ØµÙĦ", + "à¹Ģม à¸ķร", + "Ñĥ ÑģÑĤÑĢой", + "ÑĥÑģÑĤÑĢой ÑģÑĤв", + "m ıyor", + "Ġبا سÙħ", + "Ġ×ķ ׼×ķ", + "ĠG ül", + "á» IJ", + "Ãī tat", + "غ اÙĦ", + "Ø¥ ÙĨØ´", + "Ø¥ÙĨØ´ اء", + "T İ", + "à¸Ĥà¹īา ม", + "Ġtro ch", + "Ġtroch ÄĻ", + "Ø¥ ص", + "إص ابة", + "ĠØ« اÙĨÙĬ", + "ĠاÙĦص ØŃØ©", + "Ġ×ĸ×Ķ ×ķ", + "jÄħ cej", + "ãĥĢ ãĥ³", + "ìĿ¸ ìĿ´", + "Ġв олоÑģ", + "ëIJĺ ë©´", + "Ġzak ÅĤad", + "ãģĻ ãģĵãģ¨", + "以ä¸Ĭ ãģ®", + "Ġ×Ķ×ŀ×§ ×ķ×Ŀ", + "ÙħØ´ اÙĩ", + "ÙħشاÙĩ دة", + "Ñĩ ив", + "ب Ø´", + "ย à¹īาย", + "Ġsür dür", + "ĠN ẵ", + "ĠNẵ ng", + "ĠигÑĢ Ð°ÑĤÑĮ", + "Ġê·¸ëŁ¬ ë©´", + "ãĥķ ãĥ«", + "ล à¹Īะ", + "Ġtend rá", + "Ġb Ãły", + "à¹Ģà¸Ľà¹ĩà¸Ļ à¸ľà¸¹à¹ī", + "Ġok o", + "Ġoko ÅĤo", + "w ÅĤa", + "wÅĤa ÅĽci", + "wÅĤaÅĽci w", + "æĢĿ ãĤı", + "ĠYa ÅŁ", + "ĠB á»ĩnh", + "íı Ń", + "بÙĬ د", + "קר ף", + "à¹Ģศ ร", + "à¹Ģศร ษ", + "à¹Ģศรษ à¸IJ", + "à¹Ģศรษà¸IJ à¸ģิà¸Ī", + "ĠاÙĦØ£ ÙĪØ±ÙĪ", + "ĠاÙĦØ£ÙĪØ±ÙĪ Ø¨ÙĬ", + "fl äche", + "ä¹Ĺ ãĤĬ", + "Ġb á»ģn", + "Ùĩ ب", + "æľĢ ãĤĤ", + "Ġsa ç", + "à¸Ńำ à¹Ģà¸ł", + "à¸Ńำà¹Ģà¸ł à¸Ń", + "ĠØ£ ج", + "ĠاÙĦد اخÙĦ", + "ĠاÙĦداخÙĦ ÙĬØ©", + "×ĺ ×ķ×ij", + "ãĤĤ ãģªãģı", + "Ġли ÑĨа", + "à¹ģลà¹īว à¸ģà¹ĩ", + "×ĸ׼ ×Ļר", + "Ġqu Ãł", + "ĠÙĥ ذÙĦÙĥ", + "صØŃ Ùģ", + "ĠÃĤ u", + "ÙĪØ¨ ا", + "à¹Ģà¸Ľà¸¥à¸µà¹Īยà¸Ļ à¹ģà¸Ľà¸¥", + "à¹Ģà¸Ľà¸¥à¸µà¹Īยà¸Ļà¹ģà¸Ľà¸¥ à¸ĩ", + "à¸ķัว à¸Ńยà¹Īาà¸ĩ", + "Ġráp ida", + "Ġtas ar", + "Ġtasar ım", + "ĠعÙĦÙĬ ÙĩÙħ", + "ס ×ķ׾", + "c ılı", + "cılı k", + "Ġر غÙħ", + "ìĭľ íĤ¤", + "Ġ×IJ׾ ×§", + "Ġ×IJ׾ק ×ĺר", + "Ġ×IJ׾ק×ĺר ×ķ׳×Ļ", + "à¹ģà¸ļ à¹Īà¸ĩ", + "Ġh ạng", + "ãģ£ãģ¦ ãģıãĤĮ", + "ĠÙĨ تÙĬ", + "ĠÙĨتÙĬ جة", + "ıkl ı", + "غ اÙĨ", + "à¸Ĥà¹īà¸Ń à¸Ħวาม", + "à¸Ľà¸¥ าย", + "ĠØ£ Ùħس", + "à¸Ĺีà¹Ī à¹Ģà¸ģีà¹Īยว", + "à¸Ĺีà¹Īà¹Ģà¸ģีà¹Īยว à¸Ĥ", + "à¸Ĺีà¹Īà¹Ģà¸ģีà¹Īยวà¸Ĥ à¹īà¸Ńà¸ĩ", + "Ġdé fin", + "Ġdéfin i", + "ÙģÙĨ اد", + "ÙģÙĨاد ÙĤ", + "à¹Ħà¸Ķà¹ī วà¹Īา", + "ãģªãģĦ ãĤĪãģĨãģ«", + "Ġpróp ria", + "ĠPh át", + "ãĤĦãģĻ ãģı", + "สวย à¸ĩาม", + "ê³ł ìļĶ", + "Ñı еÑĤ", + "ãģĭãĤĤãģĹãĤĮãģ¾ãģĽãĤĵ ãģĮ", + "تر جÙħ", + "ĠкÑĢаÑģ ив", + "Ġ×ŀ ר×IJש", + "д еж", + "ĠÙĬ ÙĪÙĨ", + "ĠÙĬÙĪÙĨ ÙĬÙĪ", + "Ñģк оÑĢ", + "ĠKas ım", + "ê³Ħ ìķ½", + "к оÑģ", + "Ġна ÑĢÑĥ", + "ĠнаÑĢÑĥ ÑĪен", + "Ġdu że", + "acc ès", + "Ġh á»ĵng", + "Ġv Å©", + "ãģĦãģŁ ãģĹãģ¾ãģĻ", + "Ġ×ĺ ×Ļ", + "Ġ×ĺ×Ļ ×ķ׾", + "lıkl arı", + "Ġqu ê", + "ëħ¸ ëıĻ", + "ìķ Ķ", + "CI ÃĵN", + "Ġt ắc", + "press ão", + "ĠìŀĪ ìľ¼", + "สิà¸Ĺà¸ĺิ à¹Į", + "íĥ Ħ", + "Ġ×Ķ×ŀ ×ŀש׾×Ķ", + "å¬ī ãģĹãģĦ", + "ĠÄIJ ặc", + "ÙĨ زÙĦ", + "ĠдÑĢÑĥг ой", + "д ÑĥÑĤ", + "ìĪ Ļ", + "Ġth ụ", + "à¹Ģส ร", + "à¹Ģสร à¹ĩ", + "à¹Ģสรà¹ĩ à¸Ī", + "Ġto plant", + "Ġtoplant ı", + "×IJ×ŀ ף", + "×ķ׾ ת", + "п омн", + "Ġyo ÄŁun", + "ÅĦsk iego", + "ì° ©", + "ĠØ« ÙĦاث", + "ĠØ«ÙĦاث Ø©", + "Ġl ắng", + "ë¦ ´", + "ราà¸Ĭ à¸ģาร", + "ĠÑģлов а", + "á» Ĩ", + "à¸Ķี à¸ģวà¹Īา", + "ãģĶãģĸ ãģĦãģ¾ãģĻ", + "Ġд из", + "Ġдиз айн", + "fé rence", + "lıkl ar", + "ãģªãĤĵ ãģ§ãģĻ", + "ajÄħ cy", + "Ġëĭ¤ ìĸij", + "Ġëĭ¤ìĸij íķľ", + "×§ ×Ļר", + "ØŃ ار", + "ส ูà¹ī", + "Ġz ro", + "Ġzro bi", + "Ġzrobi Äĩ", + "×ŀ ×Ļ׼×Ķ", + "à¸Ĭà¹Īวย à¹Ģหลืà¸Ń", + "ĠÑįÑĤ Ñĥ", + "ë´ ī", + "楽 ãģĹãģĦ", + "س ÙĪØ±", + "íķĺ ê±°ëĤĺ", + "Ùħؤ تÙħر", + "Ġpoc zÄħ", + "ĠpoczÄħ tk", + "ĠpoczÄħtk u", + "Ġع ربÙĬ", + "اÙĦØ£ ر", + "اÙĦأر دÙĨ", + "à¸Ķ ร", + "Åĵ uvre", + "ĠÙĪÙĥ اÙĨت", + "ĠÅĽ redni", + "Ø® ضر", + "Ġch uyến", + "н ÑĤ", + "ĠìķĮ ê³ł", + "Ġv á»Ŀi", + "Ġ×ij ×Ļ×ĵ×Ļ", + "×ŀ×ĵ ×ķ×ijר", + "ÙĪ Ù쨱", + "ÙĬ Ø¡", + "׳ ×Ľ×¡", + "ĠÐĽ а", + "л он", + "Ġx ấu", + "Ùģ ÙĬÙĨ", + "Ġfé vrier", + "ĠÐŀ на", + "ĠV á»ģ", + "ĠÅŁey ler", + "ĠполÑĥÑĩ ен", + "з ад", + "Ġn ét", + "à¹Ħà¸Ľ ยัà¸ĩ", + "×Ĺש×ij ×ķ", + "à¸ļัà¸Ļ à¸Ĺ", + "à¸ļัà¸Ļà¸Ĺ ึà¸ģ", + "Ġgerçek leÅŁ", + "иÑĩеÑģк ое", + "ìĪĺ ê°Ģ", + "Ø« بت", + "ãģ¤ ãģ¾ãĤĬ", + "ĠÑĥÑģловиÑı Ñħ", + "ëĭ¤ ê°Ģ", + "ราย à¹Ħà¸Ķà¹ī", + "׼×IJ ×ij", + "à¹Ĥà¸Ľà¸£ à¹Ĥม", + "à¹Ĥà¸Ľà¸£à¹Ĥม à¸Ĭัà¹Īà¸Ļ", + "j ähr", + "jähr ige", + "×§ ׳×Ļ×Ŀ", + "×ŀ ×ķ×§", + "×ŀ×ķ×§ ×ĵ", + "ãģ«è¡Į ãģ£ãģ¦", + "Ø¢ ÙĦ", + "вед ение", + "Ġ׾ ×Ľ×ª×ķ×ij", + "جÙħ Ùĩ", + "جÙħÙĩ ÙĪØ±ÙĬØ©", + "à¸ī à¸ļ", + "à¸īà¸ļ ัà¸ļ", + "ĠC òn", + "à¸ľ สม", + "ãģªãģ© ãģĮ", + "×IJ×Ķ ×ij", + "ĠдейÑģÑĤв иÑı", + "y ız", + "à¹Ħมà¹Ī à¹Ģà¸Ħย", + "ج ÙĪØ²", + "×Ķ×Ĺ׾×ĺ ×Ķ", + "f ällt", + "ãĥĵ ãĤ¸", + "ãĥĵãĤ¸ ãĥį", + "ãĥĵãĤ¸ãĥį ãĤ¹", + "Ġ×IJ ×Ļ׳×Ŀ", + "ĠнаÑħод иÑĤÑģÑı", + "Ġdzi ÅĽ", + "ست Ø·ÙĬع", + "׾ ×Ļף", + "Ø® ÙĦاÙģ", + "Ùĩ ÙIJ", + "Ġatr ás", + "íĺ ģ", + "ãĤĴ ãģĶ", + "Ġ×Ķ×ŀ ×ķצר", + "ĠBakan lıģı", + "ÑİÑī ее", + "ÙħÙĨ اط", + "ÙħÙĨاط ÙĤ", + "Ùģ Ø¯", + "à¸Ļำ à¹Ħà¸Ľ", + "Ġв аж", + "Ġваж но", + "Ġm ạch", + "׼ ׳×ķ", + "بع Ø«", + "lan ması", + "Ġa yr", + "Ġayr ıl", + "ìĤ¬ íļĮ", + "d ÃŃa", + "p ÅĤyw", + "اÙħ ÙĬØ©", + "íĺ ľ", + "×IJ׳ ×Ĵ׾", + "×IJ׳×Ĵ׾ ×Ļת", + "ĠìŀĪëĭ¤ ëĬĶ", + "Ġس اعة", + "ĠëĤĺ íĥĢ", + "b ö", + "à¸Ħ ัà¸Ļ", + "ĠdziaÅĤ ania", + "Ø© Ùĭ", + "Ġng Å©", + "׳צ ×Ĺ", + "ãģ¯ ãģĤãĤĭ", + "ĠyaÅŁ ında", + "st ück", + "car acter", + "caracter ÃŃsticas", + "Ġr á»Ńa", + "ĠÙħختÙĦÙģ Ø©", + "ãģ«ãģĬ ãģijãĤĭ", + "à¹ģà¸ŀ à¸ĩ", + "วิ à¹Īà¸ĩ", + "ת פ×ķ", + "سا ÙĩÙħ", + "使 ãģĨ", + "Ùĥ رÙĬ", + "×IJ פ×Ļ", + "........ .......", + "ĠÑĤак им", + "×Ļ׼ ×ķ×Ļ", + "Ø´ بÙĩ", + "ج ÙĬر", + "ãģĿãģ® ãģ¾ãģ¾", + "ac jÄĻ", + "ĠاÙĦت رÙĥ", + "ĠاÙĦترÙĥ ÙĬ", + "ĠпÑĢав илÑĮно", + "Ġت عÙħÙĦ", + "à¸ģล à¹īา", + "Ġbi ên", + "Ġ×ij׳×Ļ ×Ļת", + "Ġкл Ñĥб", + "Ġ×ŀ ש×Ķ", + "в ÑĪий", + "ãģĵãģ¨ãģĮãģ§ãģį ãĤĭ", + "à¸ŀัà¸Ļà¸ĺ ุ", + "à¸ŀัà¸Ļà¸ĺุ à¹Į", + "ר ×ķ×Ŀ", + "ĠاÙĦÙģ Ø±ÙĨ", + "ĠاÙĦÙ쨱ÙĨ سÙĬ", + "à¹Ģà¸Ľà¹ĩà¸Ļ à¸Ħà¸Ļ", + "ãģĹãģ¦ ãģĬãĤĬ", + "Ġth ầy", + "ãĤĵ ãģłãģijãģ©", + "ìĶ ¨", + "Ùħ دÙĨ", + "ت ÙĪÙĨ", + "ĠмеÑĤ ал", + "ĠмеÑĤал л", + "Ġin ÃŃcio", + "à¸Ńà¸Ńà¸ģ à¸Īาà¸ģ", + "ëĴ ¤", + "Ġcu á»ijn", + "Ġbu á»Ļc", + "ÙĨ سÙĬ", + "ä cht", + "×ŀ ×Ļ׳×Ļ×Ŀ", + "ãģķ ãģ¦", + "ãģĮ ãģ§ãģį", + "ÑĬ ем", + "Ġtá i", + "ĠЧ ÑĤ", + "ĠЧÑĤ обÑĭ", + "à¸Ľà¸¥ ูà¸ģ", + "à¸Ĭุม à¸Ĭà¸Ļ", + "н Ñģкий", + "Ġv ững", + "Ġ×Ķ ×ľ×ij", + "ë le", + "Ġש ×¢×ijר", + "в аÑĤÑĮÑģÑı", + "б ой", + "ع ÙĪÙĨ", + "à¹ģà¸Ķ à¸Ļ", + "Ġספר ×Ļ×Ŀ", + "Ġt uyên", + "Ġnhi êu", + "ĠQu ý", + "Ġh uyết", + "ãĤı ãģĭãĤīãģªãģĦ", + "Ġ×ŀ ׼ף", + "Ġ×Ķ ×§×ľ", + "Ġ׾×IJ ×ķר", + "ĠÄIJi á»ĩn", + "Ø´ ؤ", + "شؤ ÙĪÙĨ", + "Ġ×ŀ׊פש", + "ĠпоÑģÑĤоÑıн но", + "×ŀ ×Ļר", + "ìħ Ķ", + "Ðŀ Ñģ", + "ÐŀÑģ нов", + "×ĸ ×Ļת", + "ĠH á", + "ĠÑĩаÑģ ов", + "×IJ ×ķ׾×Ļ", + "Ġm át", + "Ø® رÙĪ", + "خرÙĪ Ø¬", + "ÙĤ ضا", + "ÙĤضا ÙĬا", + "à¹Ģà¸Ľ à¸Ńรà¹Į", + "ĠÙĬ ÙĪÙĦ", + "ĠÙĬÙĪÙĦ ÙĬÙĪ", + "à¹Ĥà¸Ĺ ษ", + "׳ פ׾", + "ת ×ķש", + "ת×ķש ×ij×Ļ", + "Ġv ários", + "×ŀ ר×IJ×Ķ", + "ëĿ¼ ìĿ´", + "ÙĨ غ", + "×ij צע", + "г он", + "ĠÄIJ ược", + "ع Ùı", + "пÑĥÑģ к", + "ĠÙĪØ§ÙĦ Ùģ", + "üc ü", + "×Ļ×§ ×Ļ×Ŀ", + "Ġس بÙĬÙĦ", + "׾×ij ף", + "ĠاÙĦÙĤ رÙĨ", + "ס ×ķת", + "ĠQu áºŃn", + "ãģĵãĤĮ ãģĮ", + "ãĥĸ ãĥ©ãĥ³ãĥī", + "×Ĵ ×ŀר", + "Ġwarto ÅĽci", + "ĠÙĪØ¨ ÙĬÙĨ", + "Ġd ạ", + "ÐIJ в", + "ÐIJв ÑĤо", + "Ġol acaktır", + "à¸Ļ à¸Ĺà¹Į", + "Ùħ طار", + "Ġ×¢ ×§×ij", + "Ġת פ", + "ãģĹãģ¦ ãģĦãģ¦", + "צ ×ŀ×Ĺ", + "à¸Ī à¸Ńà¸ĩ", + "Ġö de", + "ìį ¨", + "ÙĨ اس", + "調 ãģ¹", + "ĠогÑĢ Ð¾Ð¼Ð½", + "ë³´ íĹĺ", + "×ĺ ×§", + "×ĺ×§ ס×ĺ", + "ĠbaÅŁ v", + "ĠbaÅŁv uru", + "Ġpom ys", + "Ġpomys ÅĤ", + "ãģ« ä¹Ĺ", + "Ġש ׼ף", + "ĠاÙĦÙħس ؤÙĪÙĦ", + "Ġз ан", + "Ġзан ÑıÑĤ", + "Ġd ương", + "ãĥĹãĥ¬ ãĤ¤", + "ล à¸ļ", + "ÑĤи ка", + "ĠAr alık", + "Ġнед о", + "Ġm á»Ļ", + "Ġor an", + "Ġoran ı", + "Ġktó r", + "Ġktór Äħ", + "Ġ×Ķ×IJ×Ĺר ×ķ׳×ķת", + "ائ ÙĨ", + "ÅĦ s", + "ÅĦs ka", + "åĽ½ ãģ®", + "×ŀ ×ĺ×Ļ", + "ĠвопÑĢоÑģ Ñĭ", + "à¸Ńà¸ĩà¸Ħà¹Į à¸ģร", + "×ŀ ×ķצ×IJ", + "Ġpó ź", + "Ġpóź niej", + "ש×ŀ ×IJ׾", + "Ġk aps", + "Ġkaps am", + "Ġkapsam ında", + "Ġmá quina", + "ĠÅĽwie cie", + "Ġho Ãłng", + "Ġöz gü", + "×Ĵ×ķר ×Ŀ", + "ãģĤ ãģŁãĤĬ", + "à¸ķัà¸Ķ สิà¸Ļ", + "à¸ķัà¸Ķสิà¸Ļ à¹ĥà¸Ī", + "б ÑĢи", + "ãģ«ãģªãĤĭ ãģ¨", + "ت ÙĥÙĪÙĨ", + "Ġ×ķ×Ķ ×Ļ×IJ", + "Ġchi ếu", + "ÑģÑĤан ав", + "ÑģÑĤанав ли", + "ÑģÑĤанавли ва", + "×ŀ ×ķ×Ĵ", + "c ité", + "ĠK örper", + "Ġש ×Ĵ×Ŀ", + "ع ظ", + "عظ ÙĬÙħ", + "Ġ×Ķ×IJ ×Ļש×Ļ", + "Ġmat ière", + "ĠÙģ ÙĪÙĤ", + "Ġk to", + "Ġkto ÅĽ", + "à¸Ļ à¹Ĥย", + "à¸Ļà¹Ĥย à¸ļาย", + "å¾ħ ãģ¡", + "à¹Ģม à¸Ļ", + "à¹Ģมà¸Ļ ู", + "A ÃĩÃĥO", + "Ġt ù", + "Ġtù y", + "ãĥĪ ãĥ³", + "ĠоÑĤ каз", + "Ġ×ŀ ×ķצר", + "ül ü", + "ãģķãĤĵ ãģ«", + "Ġ×Ĺ ×ķ×ij", + "קר ×Ļ×IJ×Ķ", + "ĠاÙĦØ® دÙħات", + "ĠÙĦÙħ دة", + "ر ؤ", + "رؤ ÙĬØ©", + "ãĤĴè¦ĭ ãģ¤ãģij", + "à¸Ł า", + "Ġréuss i", + "à¸Ļัà¸ģ à¹Ģรียà¸Ļ", + "ĠÑĩиÑģ л", + "à¸ģาร à¹Ģลà¹Īà¸Ļ", + "Ġhaz ırl", + "Ġhazırl an", + "ĠпеÑĢв Ñĭй", + "ли м", + "ĠоÑĤзÑĭв Ñĭ", + "Ġwy jÄħ", + "ĠwyjÄħ tk", + "ĠØ£ ÙĤÙĦ", + "ס ×ļ", + "Ġê²° ìłķ", + "Ġ׾×ŀ×¢ ש×Ķ", + "Ġl ắp", + "à¹ģà¸ļ ร", + "à¹ģà¸ļร à¸Ļà¸Ķà¹Į", + "วà¹Īา à¹Ģà¸Ľà¹ĩà¸Ļ", + "Ġب دا", + "Ġبدا ÙĬØ©", + "ãģ¨ãģĦãģĨ ãģ®ãģĮ", + "иÑĩеÑģк им", + "à¸ģาร à¸ŀัà¸Ĵà¸Ļา", + "Ġb Ãło", + "Ġmia ÅĤa", + "y waÄĩ", + "ĠMär z", + "ĠÙĨ سبة", + "Ġéconom ique", + "×ĸ ×ŀ", + "×ĸ×ŀ ׳×Ļ×Ŀ", + "æŃ¢ ãĤģ", + "Ġt á»§", + "íķĺ ìĭł", + "Ġkażde go", + "stra ÃŁe", + "à¸Ĭ ีà¹ī", + "à¹Ģ à¸ļา", + "ÑĢеÑģ ÑĥÑĢÑģ", + "ев ой", + "Ø´ باب", + "à¸ķà¹Īาà¸ĩ à¸Ľà¸£à¸°à¹Ģà¸Ĺศ", + "Ġ×IJ ×Ļש", + "Ġ×IJ×Ļש ×Ļת", + "×Ļ ×ķפ", + "×Ļ×ķפ ×Ļ", + "ĠìļĶ êµ¬", + "ì¡° ìĤ¬", + "ãģ£ãģŁ ãĤī", + "׾ ×Ļ×§", + "миниÑģÑĤ ÑĢ", + "ãĤĤãģ® ãģ¯", + "Ġl ương", + "Ġна и", + "Ġнаи бол", + "Ġнаибол ее", + "íİ ĺ", + "à¹ģà¸ŀ à¹ī", + "ãĤŃ ãĥ¥", + "ĠкоÑĤоÑĢ Ñĭм", + "à¹ģà¸Ĺ à¸ĩ", + "à¹ģà¸Ĺà¸ĩ à¸ļà¸Ńล", + "Ġ׳ ×Ļ×Ķ", + "Ġ׳×Ļ×Ķ ×ķ׾", + "âĤ ª", + "ĠGi ải", + "ĠиÑģполÑĮзов а", + "ëł¥ ìĿĦ", + "ãģĹãģĭ ãĤĤ", + "à¸ģà¹ĩ à¸ķà¹īà¸Ńà¸ĩ", + "ĠÑĢ ÐµÐ±", + "ĠÑĢеб ен", + "ĠÑĢебен ка", + "ت ÙĪØ§ØµÙĦ", + "ãĤ°ãĥ« ãĥ¼ãĥĹ", + "ãĤĦ ãĤī", + "à¹Ģà¸Ľà¸´à¸Ķ à¸ķัว", + "б ÑĢо", + "ë°ĸ ìĹIJ", + "ÙĨ ÙİØ§", + "×Ķ ×Ĵ", + "×Ķ×Ĵ ׳×Ķ", + "à¸Ĺ รั", + "à¸Ĺรั à¸ŀ", + "à¸Ĺรัà¸ŀ ยà¹Į", + "Ġkh á»iji", + "עצ ×ŀ×ķ", + "бол езн", + "Ġë°Ľ ìķĦ", + "ม à¸Ļ", + "มà¸Ļ ุ", + "มà¸Ļุ ษ", + "มà¸Ļุษ ยà¹Į", + "âĹ Ĩ", + "×ŀ צ׾×Ļ×Ĺ", + "Ñıв ление", + "Ùħ Ø·ÙĦ", + "ÙħØ·ÙĦ ÙĪØ¨", + "Ø® اÙĦÙģ", + "ت ÙĪÙĤÙģ", + "ãģ§ãģį ãģ¾ãģĽãĤĵ", + "оÑģÑĤ ей", + "м еÑĩа", + "기 ëĬĶ", + "תש ×¢", + "ص ÙĬب", + "Ġ×ij×¢ ×ķ×ĵ", + "à¸Ĥà¸Ńà¸ĩ à¹Ģà¸Ĥา", + "ÑĤÑı ж", + "ĠÑĥ пÑĢав", + "ĠÑĥпÑĢав лениÑı", + "Ġgén ér", + "Ġth ÃŃ", + "פ ×ļ", + "Ġر Ùħض", + "ĠرÙħض اÙĨ", + "Ġtr uyá»ĩn", + "Ø¥ عداد", + "ãĤµ ãĥĿãĥ¼ãĥĪ", + "Ġпол но", + "Ø® اÙħ", + "ÐŁ еÑĤ", + "ÐŁÐµÑĤ еÑĢ", + "ÐŁÐµÑĤеÑĢ Ð±ÑĥÑĢ", + "ÐŁÐµÑĤеÑĢбÑĥÑĢ Ð³", + "ÙħÙĨت دÙī", + "ãģķãĤĮ ãģ¾ãģĹãģŁ", + "ĠëĮĢ íķĺìŬ", + "à¸ľà¸¹à¹ī à¸Ĺีà¹Ī", + "Ġ×ŀ×IJ ×ķ", + "׾ ׳×ĵ", + "оÑĩ нÑĭе", + "ĠнаÑĩ ала", + "Ġ׾ ×Ļ׾×ĵ×Ļ×Ŀ", + "ов ое", + "ãģĻãĤĭãģĵãģ¨ ãģ§", + "ĠاÙĦÙĨ Ùģ", + "ĠاÙĦÙĨÙģ Ø·", + "ìŀĪ ëĬĶ", + "غ ÙĨÙĬ", + "פ ×ĵ", + "ãĤ ¾", + "ĠCr é", + "ãģ© ãģ¡ãĤī", + "Ø« اÙĨ", + "ÑĢаб аÑĤ", + "ÑĢабаÑĤ Ñĭва", + "Ġê°Ļ ëĭ¤", + "à¸Ī ั", + "à¸Īั à¸ģร", + "Ġch ụ", + "Ġchụ p", + "Ġм аÑģÑĤ", + "ĠмаÑģÑĤ еÑĢ", + "Ġn ắm", + "ĠÑģÑĤ али", + "Ġ×Ķ×IJ ×Ļר×ķ×¢", + "ãĤ½ ãĥ³", + "åĪĨ ãģĭãĤĬ", + "Ø· بع", + "بد ا", + "gr áfico", + "г еÑĢ", + "à¸Ķำà¹Ģà¸Ļิà¸Ļ à¸ģาร", + "Ġsal dır", + "Ġsaldır ı", + "в ÑĪиÑħ", + "ãģĭãģ£ãģŁ ãģ§ãģĻ", + "Ġyapı yor", + "ĠاÙĦÙģ Øª", + "צר פת", + "з доÑĢов", + "×ij×¢ ׾", + "Ġ×IJ ×ŀ×Ļת×Ļ", + "Ġоб Ñĭ", + "ĠобÑĭ Ñĩ", + "ĠобÑĭÑĩ но", + "Ġ׾ ×ķ×ŀר", + "ت ÙĥÙĨ", + "تÙĥÙĨ ÙĪÙĦÙĪØ¬", + "تÙĥÙĨÙĪÙĦÙĪØ¬ ÙĬا", + "Ġhakk ı", + "ĠÑĢаР²", + "ĠÑĢав но", + "رÙĬ Ùĥ", + "Ġ×ij ×ŀ×Ļ×ĵ", + "Ġ×ij×ŀ×Ļ×ĵ ×Ķ", + "à¹ģà¸ģ à¹īว", + "Ġìĸ ĺ", + "Ġìĸĺ 기", + "ãģĹãģ¦ ãģĦãģ¾ãģĹãģŁ", + "Ġkı sm", + "Ġkısm ı", + "ê± ¸", + "åĨħ ãģ®", + "ì§ ķ", + "à¹Ģหมืà¸Ńà¸Ļ à¸ģัà¸Ļ", + "ĠÙģ ÙIJ", + "ĠÙģÙIJ ÙĬ", + "ÙĤ اعدة", + "Ġmoż esz", + "Ùħ صاÙĦ", + "ÙħصاÙĦ ØŃ", + "ãģ¾ãģŁ ãģ¯", + "б ег", + "Ġs ıc", + "Ġsıc ak", + "Ñĩ иÑģ", + "ÑĩиÑģ лен", + "Ġн ог", + "ãĥģãĥ£ ãĥ³", + "ãĥ« ãĥī", + "Ġgi ó", + "Ġs ını", + "Ġsını f", + "ив аÑĤÑĮ", + "Ġqu ên", + "Ġì łģ", + "Ġìłģ ìļ©", + "ĠJo ão", + "Ùģ Ø§Ø¯", + "ĠGl ück", + "à¸Ĺ à¸Ńà¸Ķ", + "Ġg ói", + "ï¼ Ĭ", + "Ġdé tail", + "ĠدÙĬ سÙħ", + "ĠدÙĬسÙħ بر", + "ë¡ľ ìĦľ", + "×ŀ ×ķ×Ĺ", + "à¹Ħ ฮ", + "ĠоÑĤ д", + "ĠоÑĤд ÑĭÑħ", + "Ġkh uyến", + "à¸Ħ à¸Ńย", + "Ġج ÙĨÙĬ", + "ĠجÙĨÙĬ Ùĩ", + "ĠاÙĦد ÙģØ§Ø¹", + "à¸Ļà¹īำ หà¸Ļัà¸ģ", + "ĠìĤ¬ëŀĮ ëĵ¤ìĿ´", + "Ġth ừa", + "ĠÃ¶ÄŁrenc i", + "ĠпомоÑī и", + "ĠczÄĻ ÅĽÄĩ", + "ש ×ĺר", + "ĠN hi", + "ĠNhi á»ģu", + "׳ צ×Ļ", + "ĠнаÑĪ ÐµÐ¼", + "ĠkarÅŁÄ± laÅŁ", + "Ġ×Ķש ׳×Ļ×Ŀ", + "ĠÄIJ ưá»Ŀng", + "Ġtr ú", + "ĠÑĢазлиÑĩ нÑĭÑħ", + "ĠاÙĦØ´ Ùĩر", + "Ġ×ľ×¢ ×ķ׾×Ŀ", + "ØŃ جر", + "ĠÄij á»ķ", + "ĠìĿĺ íķ´", + "à¸ļ à¹Īà¸Ńย", + "Ġ×Ķ ×Ļ׾×ĵ", + "ãģ¨ãģª ãģ£ãģŁ", + "Ġ×Ĺ×ķ ×ķת", + "Ġש×Ļר×ķת ×Ļ", + "Äħ cy", + "س رÙĬ", + "K İ", + "פ ׳×ķ", + "ÑģÑĤÑĢÑĥк ÑĤÑĥÑĢ", + "ÑĤ ÑĢÑĥд", + "Ġ×Ķ ×§×¨", + "Ġ×Ķקר ×ķ×ij", + "Ġth áºŃm", + "èģŀ ãģį", + "ÙĤÙĪ ÙĬ", + "клÑİÑĩ ен", + "ÑĤе Ñħ", + "ÑĤеÑħ нолог", + "è¡Į ãģ£ãģŁ", + "Ġ×ķ×IJ ×Ļף", + "ĠÅŁek lin", + "ĠÅŁeklin de", + "r ô", + "ÑĢ Ð¾Ð³", + "Ġнов Ñĭе", + "Ġס ×ij×Ļ×ij", + "Ġtecn ologÃŃa", + "ס ׼", + "×¡×Ľ ×ķ×Ŀ", + "ĠÅŀ ub", + "ĠÅŀub at", + "Ġ×Ķ×ŀ ׾×IJ", + "Ġwy pos", + "Ġwypos aż", + "ãģ¯ ä½ķ", + "ãĤ¬ ãĥ³", + "ê° ĸ", + "Ġкак ие", + "Ġçocuk lar", + "Ġ׾צ ×ĵ", + "Ġkay ıt", + "ĠмеÑģÑĤ е", + "Ùħ دÙĬÙĨØ©", + "Ġ׼ ×Ĵ", + "Ġ׼×Ĵ ×ķף", + "ãģĹãģ¦ ãĤĭ", + "ĠÙħا ÙĬÙĪ", + "ãģ£ãģ¦ãģĹãģ¾ ãģ£ãģŁ", + "ĠпÑĢогÑĢамм Ñĭ", + "à¹ģล à¸Ļà¸Ķà¹Į", + "ãĥ¯ ãĤ¤", + "ער ×ķ×¥", + "Ñģ ид", + "ĠB öyle", + "Ġì²ĺ ìĿĮ", + "Ġת פק×Ļ×ĵ", + "ĠTr ên", + "íĥ Ī", + "ĠÐłÐ¾ÑģÑģ ий", + "ĠÐłÐ¾ÑģÑģий Ñģкой", + "Ġs Ãłn", + "Ġrè gle", + "ĠyaklaÅŁ ık", + "à¹Ģล ิà¸ģ", + "Ġد ائÙħ", + "Ġ×ķ ×Ĵ", + "اب ر", + "Ġb è", + "ĠاÙĦ ÙĤدÙħ", + "ĠÑĢеÑĪ ÐµÐ½Ð¸Ñı", + "hi ên", + "ÑĤи к", + "Ä Ħ", + "à¸ļรร ยาà¸ģ", + "à¸ļรรยาà¸ģ าศ", + "רצ ×ķף", + "åĭķ ãģį", + "ĠGä ste", + "Ġ기 본", + "ĠÙĬ عرÙģ", + "ĠS á»Ń", + "gÅĤ ÄĻb", + "à¹Ģà¸Ń ส", + "×IJ×ŀ ×Ļף", + "Ġп Ñĥнк", + "ĠпÑĥнк ÑĤ", + "Ġ×Ļ×ķ×ĵ ×¢×Ļ×Ŀ", + "ãĤ« ãĥ©ãĥ¼", + "Ġ×ijס ×ĵר", + "Ġbu á»ĵn", + "й ÑĤ", + "йÑĤ еÑģÑĮ", + "ãĤĴ æ±ĤãĤģ", + "Ġ×IJת ׼×Ŀ", + "Ġ모 르", + "ظ رÙĪÙģ", + "Ñĩ еÑģÑĤво", + "ìĸ´ ìĦľ", + "Ġод на", + "Ġkap ı", + "Ġëħ¸ ëł¥", + "ĠKü che", + "ĠاÙĦت Ø´", + "Ø· ÙĬب", + "ĠíĬ¹ íŀĪ", + "ĠвÑĭп ÑĥÑģ", + "ĠвÑĭпÑĥÑģ к", + "×ĵ ת×Ļ", + "Ġu ÄŁ", + "ĠuÄŁ ra", + "ائ Ùĩا", + "Ġtho át", + "ãģª ãĤĤãģ®", + "Ñij ÑĢ", + "기 ê°Ģ", + "ĠgeliÅŁ me", + "تØŃ ÙĤ", + "تØŃÙĤ ÙĤ", + "Ġоп аÑģ", + "б ÑĢоÑģ", + "ห ุ", + "หุ à¹īà¸Ļ", + "ì¼ Ģ", + "ãĤ¹ ãĥŀ", + "ãĤ¹ãĥŀ ãĥĽ", + "Ø£ Ù쨱", + "Ø£Ù쨱 اد", + "ĠTh á»±c", + "Ġth ắ", + "ãĥªãĥ³ ãĤ¯", + "Ġni á»ģm", + "ĠHö he", + "عÙħ ار", + "ÙĥÙĪØ± ÙĪÙĨ", + "ÙĥÙĪØ±ÙĪÙĨ ا", + "ĠÄIJ ến", + "ĠÑģам ом", + "ĠÑĤ еле", + "ĠÄijo án", + "à¸Ħวามà¸Ħิà¸Ķ à¹Ģหà¹ĩà¸Ļ", + "Ġд иÑģк", + "Ø£ Ø·Ù쨧ÙĦ", + "ม ารà¹Į", + "à¸Ĺ หาร", + "à¸Ĺ à¸Ļ", + "Ġب عÙĬد", + "ĠاÙĦÙĩ ÙĨد", + "åĩº ãģĹãģ¦", + "Ġkar de", + "Ġkarde ÅŁ", + "×Ķ×Ļס×ĺ ×ķר", + "×Ķ×Ļס×ĺ×ķר ×Ļ×Ķ", + "éģ¸ ãģ³", + "ع اÙħÙĦ", + "à¸Ĥ ยาย", + "Ġtü rl", + "Ġtürl ü", + "ĠìĿ¼ ìĿ´", + "Ġmaté ria", + "Ġ׼׾ ×ķ×ŀר", + "ãĥģãĥ£ ãĥ¼", + "جÙħ اعة", + "ĠÑģво им", + "Ø¥ÙĤ اÙħØ©", + "ä¾ĭ ãģĪãģ°", + "س اب", + "Ø¢ خر", + "ÙĤ دÙĬر", + "×IJ×ŀ ×Ļ", + "ìĸ »", + "Ġ׳×ķס פת", + "ĠÐĴ лад", + "ĠÐĴлад им", + "ĠÐĴладим иÑĢ", + "Ġest ará", + "ãģĵãģĨ ãģĦãģĨ", + "ãĤĴ 使ç͍", + "มา à¸ķร", + "มาà¸ķร à¸IJาà¸Ļ", + "ãģ£ãģ ½", + "Ġn ú", + "Ġnú i", + "ย าà¸ĩ", + "ĠاÙĦج ÙĨس", + "Ġüst ün", + "ëľ »", + "ãĤ» ãĥ«", + "ãģ¦ãģĦ ãģįãģ¾ãģĻ", + "Ġ×Ĺ ×ķ×ĸ", + "Ġ×Ĺ×ķ×ĸ ר", + "ĠÐĵ лав", + "à¹Ĥà¸Ĭ à¸Ħ", + "íı IJ", + "ÙĨت ظر", + "Ġ×Ĵ ×ij×Ļ", + "ع ÙĤب", + "int ér", + "intér êt", + "×ŀ פ×Ĵ", + "×ŀפ×Ĵ ש", + "Ġth ù", + "اÙģ Øª", + "Ġ×ŀש פ", + "Ġ×ŀשפ ×ĺ×Ļ", + "ĠÙħ ÙĪØ§ÙĤع", + "è¦ ļ", + "è¦ļ ãģĪ", + "×ĵ ×Ļף", + "à¹Ģรืà¹Īà¸Ńà¸ĩ ราว", + "ãģ¾ ãģĤ", + "Ġgh ế", + "иÑĢÑĥ ÑİÑĤ", + "à¸ģ ว", + "à¸ģว à¹īาà¸ĩ", + "Ġпов еÑĢ", + "ĠповеÑĢ Ñħ", + "ĠповеÑĢÑħ ноÑģÑĤ", + "׳ ×ĵר", + "Ġкон ÑĨе", + "Ġдолж на", + "Ġ×Ļש ×Ļר", + "acaģı z", + "ìĹ Ķ", + "Ġn ÃŃvel", + "Ġö r", + "Ġör nek", + "Ùĥ Ùģ", + "ĠФедеÑĢ Ð°ÑĨии", + "Ġ구 ìĦ±", + "หัว à¹ĥà¸Ī", + "ĠV áºŃy", + "м ед", + "мед и", + "меди ÑĨин", + "медиÑĨин Ñģк", + "از ÙĬ", + "×Ĵ×ij ×ķ׾", + "ÑĦ ÑĢ", + "Ġzus ätzlich", + "à¸ģ à¸ģ", + "ĠاÙĦاÙĤتصاد ÙĬØ©", + "Ġh è", + "lu ÄŁun", + "ج Ùİ", + "à¹Ħà¸Ł ลà¹Į", + "ÄIJ T", + "ãģĿãģ® ä»ĸ", + "à¸Ĺิ à¹īà¸ĩ", + "ĠاÙĦØ£ ÙĪ", + "ر سÙħ", + "æ°Ĺ ãģ¥", + "ìĿ´ ë©°", + "ÑĮ ев", + "ص Ø·", + "ĠاÙĦاست Ø«", + "ĠاÙĦاستث Ùħار", + "à¸Ńา à¸Ħาร", + "ĠÑĤоÑĩ но", + "ĠV ân", + "à¸Ń ร", + "à¸Ńร à¹Īà¸Ńย", + "ĠاÙĦس ÙĨØ©", + "Ġc Æ°á»Ľi", + "×Ļ×Ķ ×Ł", + "íį ¼", + "話 ãģĹ", + "âĹ ĭ", + "ĠìķĬ ìĿĢ", + "ãĥ¡ ãĥ¼ãĤ", + "ãĥ¡ãĥ¼ãĤ «", + "ãĥ¡ãĥ¼ãĤ« ãĥ¼", + "ĠÑĤеп ло", + "å½¼ ãĤī", + "Ġİ z", + "Ġİz mir", + "íĻ į", + "Ġr ượ", + "Ġrượ u", + "æĢĿãģĦ åĩº", + "ĠPh ạm", + "Ġchá u", + "צ×Ļ ×ķת", + "ĠìĿ¼ 본", + "ìĤ¬ ëĬĶ", + "ĠÑģозд ан", + "Ġar acı", + "Ġ×¢ ר", + "Ġער ×Ļ׼×Ķ", + "ĠíķĺëĤĺëĭĺ ìĿĺ", + "dzi ÅĤ", + "à¸Ľà¸£à¸° à¸ĺาà¸Ļ", + "Ġser ÃŃa", + "ĠìŀĪ ëıĦë¡Ŀ", + "در ج", + "íķľëĭ¤ ëĬĶ", + "à¸Ńา à¸Ĺ", + "à¸Ńาà¸Ĺ ิà¸ķ", + "à¸Ńาà¸Ĺิà¸ķ ยà¹Į", + "ÑĤелÑĮ нÑĭй", + "ĠØ® دÙħات", + "×ŀ׳ ×ĺ", + "Ġl ược", + "ĠS Ãłi", + "ĠÙĪ Ø§Ø¶", + "ĠÙĪØ§Ø¶ ØŃ", + "غ از", + "ĠdoÄŁ al", + "Ġ×ijש ×Ŀ", + "Ġд лин", + "ĠØ¥ طار", + "Ġ×ijס פר", + "ãĤĴ ä¸İ", + "ãĤĴä¸İ ãģĪ", + "Ġë²ķ ë¥ł", + "ĠÑĥ вели", + "ĠÑĥвели Ñĩи", + "ส à¹Ħà¸ķ", + "สà¹Ħà¸ķ ลà¹Į", + "à¹Ħ à¸ģล", + "×ij׊ף", + "ĠìĿ´ íĽĦ", + "Ġm unic", + "Ġmunic ÃŃpio", + "تÙħ Ø«ÙĦ", + "ĠÄij áo", + "H ôtel", + "Ġl á»Ńa", + "ĠÄij ẳng", + "Ñĩ ки", + "Ø´ رÙĪ", + "شرÙĪ Ø·", + "ĠìĿ´ 를", + "ÙĬ Ùĭا", + "×ŀ׾ ×ļ", + "×ŀ×Ķ ×Ļר×ķת", + "ĠобÑıз аÑĤелÑĮ", + "ĠобÑıзаÑĤелÑĮ но", + "é nergie", + "Ġmud ança", + "Ġm ụ", + "Ġmụ n", + "Ġn º", + "ĠاÙĦت عا", + "ĠاÙĦتعا ÙĪÙĨ", + "ĠاÙĦاجتÙħاع ÙĬØ©", + "Ġп лаÑģÑĤ", + "Ġëĵ± ìĿĺ", + "ãĥIJãĤ¤ ãĤ¯", + "Ùĩج ÙĪÙħ", + "ĠSa úde", + "Ġì¤ijìļĶ íķľ", + "Ġ×Ķצ ×Ļ×ij×ķר", + "תק ף", + "ĠاÙĦعاÙĦÙħ ÙĬ", + "ĠболÑĮÑĪ Ð¾Ð¹", + "ĠÙĥ ÙĦÙħ", + "ĠÙĥÙĦÙħ Ø©", + "ãģ®ãģ§ãģ¯ãģªãģĦ ãģ§ãģĹãĤĩãģĨãģĭ", + "ĠÙħ باراة", + "Ġש×IJ ׳", + "Ġש×IJ׳ ×Ĺ׳×ķ", + "ãĤ¹ãĤ¿ ãĤ¤ãĥ«", + "ĠSa ÄŁ", + "ĠSaÄŁ lık", + "Ġh ư", + "׳ ×Ĺ×Ķ", + "Ġ×ij קר×ij", + "Ø· عÙħ", + "ห ิà¸Ļ", + "à¸Ĺุà¸ģ วัà¸Ļ", + "à¸Ħรัà¹īà¸ĩ à¸Ĺีà¹Ī", + "ĠlÃł nh", + "Ġdonn é", + "ãģĽ ãģĦ", + "جز ÙĬرة", + "доÑĢ Ð¾Ð¶", + "ì¼ ľ", + "تÙĨظ ÙĬÙģ", + "ãĥģ ãĥ§", + "Ġald ıģı", + "ج اج", + "ĠÑĤ омÑĥ", + "à¸Ľ ิ", + "Ġ×ijר שת", + "ãģıãģªãĤĬ ãģ¾ãģĻ", + "ĠпÑĢин ÑĨип", + "Ġ׊׾×ķ", + "ëı ¼", + "×ķ×Ĵ ש", + "س س", + "à¸Ľ ู", + "Ġh ầu", + "æĦŁãģĺ ãĤĭ", + "ï¼ ´", + "د ÙĪØ§", + "ĠÑģм ог", + "scri ção", + "Ġth áºŃn", + "Ġר ×ķ×IJ×Ķ", + "обÑĢаж ен", + "ĠاÙĦتج ارÙĬØ©", + "Ø· بÙĬع", + "jÄħc Äħ", + "íĸī ìľĦ", + "Ġнов Ñĭй", + "Ġ×ŀ ×Ĺ×ĵש", + "æĮ¯ ãĤĬ", + "gu é", + "Ġ×IJ ×Ļר×ķ×¢", + "Ġ×IJ×Ļר×ķ×¢ ×Ļ×Ŀ", + "ĠاÙĦ ذÙĩب", + "×ĵ ×IJ", + "ت اÙĨ", + "ãģł ãģĹ", + "à¸Ńั à¸ķรา", + "à¹Ĥ à¸Ī", + "بÙĦ اد", + "×Ķ×Ļ ×Ļ׳×ķ", + "ĠÑģп е", + "ĠÑģпе ÑĨиалÑĮно", + "ĠÅĽwi ata", + "ãĤĵãģ§ãģĻ ãĤĪ", + "شر ÙĥØ©", + "ĠpÅĤ yt", + "Ġsitu é", + "Ġ׼×IJ ׾×Ķ", + "ס ×ijר", + "Ġkaż d", + "Ġkażd ym", + "ãĤĴæĮģ ãģ¤", + "׾×Ķ ×ľ", + "׾×Ķ׾ ף", + "ĠwÅĤ as", + "ĠwÅĤas ne", + "ĠsaÄŁ lan", + "×ŀ×¢ ׾×Ķ", + "ĠاÙĦا ÙĪÙĦ", + "ìĹIJìĦľ ëıĦ", + "×IJ×Ļר ×ķפ×Ķ", + "تÙĤ ÙĨÙĬØ©", + "Ùħ ائ", + "Ùħائ Ø©", + "Ġcompañ ÃŃa", + "Ġsü rek", + "Ġsürek li", + "ĠиÑģ кÑĥÑģ", + "ĠиÑģкÑĥÑģ ÑģÑĤв", + "ĠB ürger", + "ת ×Ĺר", + "ת×Ĺר ×ķת", + "à¸ŀรà¹īà¸Ńม à¸ģัà¸ļ", + "Ø´ Ùħ", + "à¸ĸืà¸Ń วà¹Īา", + "è¾¼ ãĤĢ", + "ä¼ij ãģ¿", + "ĠاÙĦØ£ ب", + "ĠÑģÑĤоим оÑģÑĤÑĮ", + "ĠпÑĢав а", + "may ın", + "ห วย", + "ĠاÙĦØ· بÙĬعÙĬ", + "à¸Ĺีà¹Ī à¸ŀัà¸ģ", + "ĠEst á", + "Ñĭва ÑİÑĤ", + "ب سÙĬ", + "بسÙĬ Ø·", + "Ġ×ij×¢ ×ijר", + "åı¯èĥ½ ãģ§ãģĻ", + "Ġ×ĵ ×ķ׾", + "Ġ×ĵ×ķ׾ ר", + "Ùĩ ÙİØ§", + "воÑĢ Ð¾ÑĤ", + "ãģ¦ ãģĦãģ¾ãģĹãģŁ", + "à¹Ĥà¸Ĺร ศ", + "à¹Ĥà¸Ĺรศ ั", + "à¹Ĥà¸Ĺรศั à¸ŀ", + "à¹Ĥà¸Ĺรศัà¸ŀ à¸Ĺà¹Į", + "Ġ×§ ׳", + "ĠاÙĦØ« ÙĨ", + "ĠاÙĦØ«ÙĨ ائÙĬØ©", + "Ġco ût", + "à¸ķิà¸Ķ à¸ķัà¹īà¸ĩ", + "Ġö rg", + "Ġörg üt", + "ĠاÙĦØ® ÙĦÙĬ", + "ĠاÙĦØ®ÙĦÙĬ ج", + "Ġb á»įn", + "×ķ׾×ķ×Ĵ ×Ļ", + "ëŀ ľ", + "ĠÐij олÑĮ", + "ĠÐijолÑĮ ÑĪ", + "×Ĵ ×ijר×Ļ×Ŀ", + "ÙĤ ÙĬد", + "×ij×Ļ×ĺ ×ķ×Ļ", + "æīĵ ãģ¡", + "Ġol muÅŁ", + "f äh", + "fäh ig", + "ล าà¸Ļ", + "ĠÙĤ طر", + "ש פ×Ķ", + "èªŃ ãĤĵãģ§", + "à¸Ĥ วา", + "Ġchi ếm", + "ãĤ¤ãĥ³ ãĤ¿", + "ãĤ¤ãĥ³ãĤ¿ ãĥ¼ãĥ", + "ãĤ¤ãĥ³ãĤ¿ãĥ¼ãĥ į", + "ãĤ¤ãĥ³ãĤ¿ãĥ¼ãĥį ãĥĥãĥĪ", + "Ġ׾ש×ŀ ×ķר", + "Ġت رÙĥ", + "ĠترÙĥ ÙĬا", + "ר ×ķ×ĺ", + "ã썿ĢĿ ãģĦãģ¾ãģĹãģŁ", + "ĠاÙĦت ÙĤ", + "Ġd ư", + "ãģ¦ãģıãĤĮ ãĤĭ", + "ãģĹãģŁ ãģĵãģ¨", + "Ġróż ne", + "ĠاÙĦØ· ÙģÙĦ", + "ĠPost é", + "Ġ×ŀש ×ķ×Ŀ", + "Ñį ÑĢ", + "ĠÑĢабоÑĤ аеÑĤ", + "ãĤ· ãĥª", + "ãĤ·ãĥª ãĥ¼ãĤº", + "Ġ×ij×Ķ ×Ĺ׾×ĺ", + "×§×Ķ ×Ļ׾×Ķ", + "ãĤ« ãĥ¡", + "ãĤ«ãĥ¡ ãĥ©", + "ï¼ ¯", + "ĠìĤ¬ ìĿ´", + "Ġk ì", + "Ġth Æ°á»Ľc", + "ض بط", + "ÙĤب ÙĪÙĦ", + "åĪ¥ ãģ®", + "Ġparticul ière", + "ĠÑģво ем", + "Ġ×¢ סק", + "Ġעסק ×Ļ×Ŀ", + "×ij×Ĺ ×Ļר×ķת", + "×ij ×Ļ׳×ķ", + "à¸ĭ à¸Ń", + "Ġ×¢ ×ķ×ijר", + "ãģłãģ£ãģŁ ãģ®ãģ§", + "ıld ıģı", + "Ùħ دار", + "Ùħدار س", + "주 ìĭľ", + "à¸Ńา ศ", + "à¸Ńาศ ัย", + "Ġt ấm", + "à¸ŀิ à¸Ī", + "à¸ŀิà¸Ī าร", + "à¸ŀิà¸Īาร à¸ĵา", + "ÑĤелÑĮ нÑĭе", + "Ñģк ÑĥÑİ", + "Ðľ Ðĺ", + "à¹Ģà¸ģ า", + "à¹Ģà¸ģา หล", + "à¹Ģà¸ģาหล ี", + "×ĵ ×Ĺ", + "à¹Ģà¸Ĭ ิà¸ĩ", + "Ġد ÙĤÙĬÙĤØ©", + "íķĻ ìĥĿ", + "Ġש×IJ ׾×Ķ", + "Ġcontr ôle", + "Ġsit uação", + "à¸Ĥà¸Ńà¸ĩ à¸ľà¸¹à¹ī", + "ÙĨ Ø·ÙĤ", + "ê³¼ íķĻ", + "หลาย à¸Ħà¸Ļ", + "Ġn ắng", + "ÙĤ Ùı", + "ì¡° ê±´", + "Ñ ķ", + "ãĥĥ ãģ¨", + "×ŀ ×Ļ׾×Ķ", + "Gr ün", + "×Ļ ×Ļ×¢", + "×Ļ×Ļ×¢ ×ķ×¥", + "×ŀ׳ ׼", + "ë ŃIJ", + "×ŀ×¢ ×ŀ×ĵ", + "สำ à¸Ļัà¸ģ", + "ج دد", + "à¸Ħ ัà¸Ķ", + "Ġ×Ķ×ŀש פ", + "Ġ×Ķ×ŀשפ ×Ĺ×Ķ", + "×ŀש ק׾", + "ÙĦ Ùı", + "Ġty tu", + "Ġtytu ÅĤ", + "ÑĪ ÐµÐ¹", + "ĠìĿ¼ ë¶Ģ", + "ÑĪ ÐµÐ½Ð¸Ðµ", + "Ġph óng", + "ĠìĹŃ ìĤ¬", + "ãĤ« ãĥ³", + "Ġtú i", + "ĠÙĨ ÙĪÙģ", + "ĠÙĨÙĪÙģ Ùħبر", + "gr ün", + "ĠاÙĦØ´ ÙħاÙĦ", + "ÅĽwi adc", + "ÅĽwiadc zenie", + "ער ×Ķ", + "Ġ×¢ ×ķ×ij", + "Ġ×¢×ķ×ij ×ĵ×Ļ×Ŀ", + "×ĵ×ķ×Ĵ ×ŀ×IJ", + "ä»Ĭ ãģ¯", + "Ġv ão", + "ĠТ ем", + "Ñģ илÑĮ", + "Ġch ợ", + "Ùħ را", + "Ùħرا ÙĤب", + "à¹Ħมà¹Ī รูà¹ī", + "Ġر ائع", + "×IJ׳ ×Ĺ׳×ķ", + "สà¹Īà¸ĩ à¹Ģสริม", + "צ ×Ĺ", + "ĠìŀĪìĸ´ ìĦľ", + "Ġkur ulu", + "Ġkurulu ÅŁ", + "ĠÃĸ zellik", + "ĠÃĸzellik le", + "Ġת ×Ļ×§", + "Ġgh é", + "Ġspr zÄĻ", + "ĠsprzÄĻ t", + "ער ×ķת", + "را ØŃØ©", + "ãģ£ ãģį", + "ãģ£ãģį ãĤĬ", + "ĠìķĦ ëŀĺ", + "stit uição", + "Ġдолж но", + "×Ķ ×¨×©", + "×Ķרש ×ŀ×Ķ", + "×Ķ׾ ×ļ", + "ãģ¡ ãģª", + "ãģ¡ãģª ãģ¿", + "ãģ¡ãģªãģ¿ ãģ«", + "פ ×Ĺ×ĵ", + "ĠاÙĦج ÙħÙĬع", + "×ij×¢ ׾×Ļ", + "Ġtr ùng", + "Ġפ ת×Ĺ", + "×ŀ׾×Ĺ ×ŀת", + "ãĥĨ ãĥ¼ãĥ", + "ãĥĨãĥ¼ãĥ ŀ", + "Ùħ تاب", + "Ùħتاب عة", + "Ġ모 ìĬµ", + "ÙĬ ص", + "åIJĪ ãģĨ", + "ĠY ap", + "ĠYap ı", + "ĠÑģ казаÑĤÑĮ", + "ëª °", + "à¸Ĺีà¹Ī สำà¸Ħัà¸į", + "ĠìĹĨ ìĬµëĭĪëĭ¤", + "Ġnh ắc", + "Ġülk eler", + "Ġмног ие", + "íķĺ ìħ¨", + "มาà¸ģ à¸Ĺีà¹Īสุà¸Ķ", + "à¸ģ à¹īา", + "à¸ģà¹īา ว", + "Ġİ yi", + "л еж", + "леж а", + "ãĤ¸ ãĥ§", + "à¸Ĺั à¸ŀ", + "ا ÙĪØ±", + "Ġ×Ĺ×ijר ×Ļ", + "Ġ׾ ש×Ŀ", + "ì² «", + "ĠT á»Ń", + "×ŀ ×ķ׳×Ļ", + "ÙĤ ÙĪØ¯", + "à¸ģระ à¹Ģà¸Ľ", + "à¸ģระà¹Ģà¸Ľ à¹ĭ", + "à¸ģระà¹Ģà¸Ľà¹ĭ า", + "ĠпÑĢоблем Ñĭ", + "Ġaç ıs", + "Ġaçıs ından", + "Ġ×Ķ×ŀ ׼", + "ĠÙħع ظÙħ", + "ÙĤÙĬ اس", + "ĠпÑĢод олж", + "ĠпÑĢодолж а", + "Ġver diÄŁi", + "ĠпÑĢед меÑĤ", + "ãģĦãģ¾ãģĻ ãģĮ", + "ĠëͰ 른", + "ĠاÙĦ ÙĤÙĬاÙħ", + "ĠØ¥ÙĦÙĬ Ùĩا", + "Т ÐIJ", + "п оз", + "ãĤ· ãĥ¥", + "ä¸ĬãģĮ ãĤĬ", + "à¹Ģà¸Ķิม à¸ŀัà¸Ļ", + "à¸ģุ ล", + "ØŃر ÙĬØ©", + "×§×ij×ķצ ×ķת", + "ë¯ ¿", + "ĠاÙĦÙħ ÙĨا", + "ĠاÙĦÙħÙĨا Ø·ÙĤ", + "ĠвÑĭп ол", + "ĠвÑĭпол нÑı", + "ãĥĭ ãĤ¢", + "Ġê²° êµŃ", + "×Ĺ ×ķ×ŀ", + "×Ĺ×ķ×ŀ ר×Ļ×Ŀ", + "ĠУкÑĢа инÑĭ", + "ห à¸Ńม", + "ר ×Ļס", + "ĠÑħоÑĤ ел", + "ĠобÑĢаз ованиÑı", + "Ġkh ẳng", + "Ġm ưa", + "Ġgör me", + "Ġgüç lü", + "سع Ùī", + "มัà¹Īà¸Ļ à¹ĥà¸Ī", + "íķĺ ê²łìĬµëĭĪëĭ¤", + "Ġпол Ñĥ", + "Ġfün f", + "ã썿ĢĿ ãģ£ãģ¦ãģĦãģ¾ãģĻ", + "Ġê·¸ê²ĥ ìĿĢ", + "ĠdÃ¼ÅŁÃ¼n ce", + "ìŀ ł", + "ĠH Æ°á»Ľng", + "ĠTi á»ĥu", + "Ġç ift", + "ãģij ãģ°", + "à¸Īà¸Ļ à¸ĸึà¸ĩ", + "à¸Ĺำ à¹Ħà¸Ķà¹ī", + "ĠìŀIJ ì²´", + "Ġd õ", + "Ġdõ i", + "à¸Ī ัà¸Ļ", + "à¸Īัà¸Ļ à¸Ĺ", + "à¸Īัà¸Ļà¸Ĺ รà¹Į", + "ece ÄŁini", + "׳×ķ×¢ ר", + "غ ار", + "ĠاÙĦØ£ÙħرÙĬ ÙĥÙĬ", + "داع Ø´", + "ĠбезопаÑģ ноÑģÑĤи", + "Ġб Ñİ", + "ĠбÑİ Ð´Ð¶", + "ĠбÑİдж еÑĤ", + "ãĥĬ ãĤ¤", + "à¸ŀà¸ļ วà¹Īา", + "da ÄŁ", + "×IJ ×ķפף", + "íĹ Į", + "ãĥĢãĤ¤ ãĤ¨", + "ãĥĢãĤ¤ãĤ¨ ãĥĥãĥĪ", + "ĠëĮĢ íĨµ", + "ĠëĮĢíĨµ ëł¹", + "D İ", + "Ø£ ØŃداث", + "ĠA ÄŁ", + "ĠAÄŁ ust", + "ĠAÄŁust os", + "ØŃÙĦ ÙĪÙĦ", + "Ġw ÅĽ", + "ĠwÅĽ ród", + "ĠÑģо оÑĤвеÑĤ", + "ĠÑģооÑĤвеÑĤ ÑģÑĤв", + "ĠÑģооÑĤвеÑĤÑģÑĤв ии", + "ĠLu áºŃt", + "Ġ׼׾ פ×Ļ", + "Ġв еÑī", + "ĠвеÑī еÑģÑĤв", + "×§ ×Ļ×¥", + "ĠبÙĩ ذا", + "عا Ø´", + "à¹Ģà¸Ľà¹ĩà¸Ļ à¹Ģรืà¹Īà¸Ńà¸ĩ", + "Т Ðķ", + "Ġ×ij×IJ ×Ļ׳×ĺר׳×ĺ", + "س عد", + "Ġ×Ķ×ĺ ×Ļפ×ķ׾", + "פ ×Ļס", + "à¸ĩà¹Īาย à¹Ĩ", + "ĠGer ät", + "׾ ×Ļ×ĵ×Ķ", + "ĠÑĢ Ð¸Ñģк", + "׾ק ×Ĺ", + "н наÑı", + "ר ×Ļ×ĵ", + "п ÑĢакÑĤи", + "пÑĢакÑĤи к", + "à¸Ĥัà¹īà¸Ļ à¸ķà¸Ńà¸Ļ", + "à¸Ļà¹Īา รัà¸ģ", + "larınız ı", + "à¸Ńà¸Ļุ à¸įา", + "à¸Ńà¸Ļุà¸įา à¸ķ", + "ĠzdjÄĻ cia", + "Ġb ây", + "Ñģ ÑĢ", + "ÑģÑĢ Ð¾Ñĩ", + "ãĥĭ ãĥ³ãĤ°", + "Ġö ner", + "Ġöner i", + "Ġнов ÑĭÑħ", + "دع ÙĪØ©", + "Ġg ắn", + "ĠاÙĦÙĦ بÙĨ", + "ĠاÙĦÙĦبÙĨ اÙĨÙĬ", + "ãĥĨãĤ£ ãĥ¼", + "Ġص ØŃÙĬØŃ", + "ем ÑĭÑħ", + "çĸ² ãĤĮ", + "ĠпÑĢо иÑģ", + "ĠпÑĢоиÑģ ÑħодиÑĤ", + "ส à¸ķิ", + "ĠT ết", + "Ġ×Ķ׾ ׾×ķ", + "à¹Ģรืà¹Īà¸Ńà¸ĩ à¸Ļีà¹ī", + "×ŀ×ij ׳×Ķ", + "Ġconte údo", + "Ġا خت", + "Ġاخت ÙĬار", + "Ùħ سÙĦ", + "ÙħسÙĦ سÙĦ", + "ëı Ī", + "Ġ׾ ×Ļ×ĵ", + "à¸ŀิ à¸ĺี", + "ĠÑģов Ñģ", + "ĠÑģовÑģ ем", + "ãģĮãģĤãĤĬ ãģ¾ãģĹãģŁ", + "Ġsó ng", + "Ø¥ صÙĦاØŃ", + "ë§ ģ", + "Ùģ ÙĬر", + "ĠJe żeli", + "ìłľ ëıĦ", + "d ÅĤug", + "ìĥģ ìĿĦ", + "Ġc áºŃn", + "Ġhá»į p", + "Ø£ ست", + "أست اذ", + "Ġ×ŀ ×Ļש×Ķ", + "Ġ×ŀ×Ļש×Ķ ×ķ", + "Ġd Ãły", + "Ġch Ãłng", + "ãģ¡ãĤĥãĤĵ ãģ¨", + "ĠÄij ám", + "Ġsw ój", + "Ġpoder á", + "ĠоÑĤлиÑĩ а", + "Ġpéri ode", + "ünd ig", + "×ĺ×¢ ף", + "ÑģÑĤÑĢо иÑĤелÑĮ", + "ר ת×Ļ", + "Ġ×Ļ×Ķ ×Ļ×ķ", + "׾ ס", + "ĠاÙĦÙħÙĨ زÙĦ", + "à¸Ļิ à¹īว", + "иÑĦ ика", + "иÑĦика ÑĨи", + "ðŁĺ ī", + "Ġad ına", + "ãĢĤãĢĤ ãĢĤ", + "×IJ ×Ļף", + "ס ×Ļר", + "ĠÙĬ عد", + "çŃĶ ãģĪ", + "اÙĦ جز", + "اÙĦجز ائر", + "енÑĮ к", + "ร ห", + "รห ัส", + "ĠTürk çe", + "ê¾ ¸", + "Ġ×Ļ ×ķ׼׾", + "Ġש ×ķ׳×Ķ", + "Ġ×ij×ŀ צ×ij", + "ĠдейÑģÑĤв иÑĤелÑĮно", + "ĠبأÙĨ Ùĩ", + "×ŀ×§ ×ĵ", + "Ġ×Ķש ×§", + "Ø®ÙĬ ارات", + "Ġf ı", + "Ġfı rs", + "Ġfırs at", + "ëij ĺ", + "ĠìĦľ ìļ¸", + "Ġ×Ķ×Ĵ ×ķ×£", + "ر عا", + "رعا ÙĬØ©", + "ĠK ết", + "к Ñģи", + "ĠÑĥÑģлÑĥг и", + "ноÑģÑĤ ей", + "ìļ´ ëıĻ", + "ĠобÑĬ Ñı", + "ĠобÑĬÑı вл", + "н еж", + "×Ķפ ×ļ", + "Ġ×ij×¢ ×Ļ׳×Ļ", + "ëĨ Ĵ", + "ĠпÑĢоÑĨ ед", + "ĠпÑĢоÑĨед ÑĥÑĢ", + "Ġiht iy", + "Ġihtiy acı", + "Ġë°Ķ ëŀį", + "Ġë°Ķëŀį ëĭĪëĭ¤", + "à¸ģล ัว", + "ĠÑģл ожно", + "×§×Ļ ×Ļ×ŀת", + "ĠÄIJ ình", + "ĠÙħ ÙĦÙģ", + "Ġà¹Ĥà¸Ķย มี", + "Ġkat kı", + "تØŃ ÙĪÙĬÙĦ", + "à¹Ħ à¸ŀ", + "ĠH á»į", + "ñ e", + "Ġдо Ñħод", + "Ġtho ải", + "íķĺìŬ ìķ¼", + "ãĤ¹ãĥĿ ãĥ¼ãĥ", + "ãĤ¹ãĥĿãĥ¼ãĥ Ħ", + "ĠG òn", + "Ġk è", + "Ġkè m", + "é̲ ãĤģ", + "ãĤ¹ ãĥ¼ãĥ", + "ãĤ¹ãĥ¼ãĥ ij", + "ãĤ¹ãĥ¼ãĥij ãĥ¼", + "ĠgiÃł u", + "ĠØ¥ عادة", + "Ġ׾ ×ķ×§", + "Ġ׾×ķ×§ ×Ĺ", + "ĠÑħоÑĩ еÑĤ", + "×ĺ ׾×ķ×ķ", + "×ĺ׾×ķ×ķ ×Ļ×ĸ", + "×ĺ׾×ķ×ķ×Ļ×ĸ ×Ļ×Ķ", + "Ġth uyết", + "ãģĿãĤĮ ãģ§", + "Ġvard ı", + "à¹Ħร à¹ī", + "ع بد", + "ĠRep ública", + "ãĥ¼ãĤ¿ ãĥ¼", + "Ġ×ŀ×IJ ×ķת", + "à¹Ħà¸Ľ à¹ģลà¹īว", + "Ġyapıl acak", + "ãĤ¹ãĤ¿ ãĥ¼ãĥĪ", + "ãģ» ãģ¼", + "Ġko ÅŁ", + "ĠмаÑĤ еÑĢи", + "Ġsiè cle", + "ĠاÙĦÙħ ختÙĦÙģ", + "ĠاÙĦÙħختÙĦÙģ Ø©", + "Ġ׾ק ר×IJ", + "Ġ׾קר×IJ ת", + "Ġ×Ķפ ×ķ×¢×ľ", + "Ġt òa", + "Ġr Æ¡i", + "åij¨ ãĤĬ", + "à¸Ŀ à¸Ļ", + "j ÅĽÄĩ", + "ĠìķĬ ìĿĦ", + "اÙĨت ÙĤاÙĦ", + "ëĸ ł", + "ив аеÑĤ", + "ãĥĪ ãĥ«", + "ĠاÙĦÙģÙĦسطÙĬÙĨ ÙĬØ©", + "à¸ģลà¹Īาว วà¹Īา", + "ا Ùĥت", + "ĠÃĸ l", + "ĠÑĢе ÑĪи", + "ĠÑĢеÑĪи л", + "Ġ׳×ķס פ×ķת", + "Ġìłķ ì¹ĺ", + "вл еÑĩен", + "Ùħر ØŃÙĦØ©", + "Ġcome ça", + "Ġy ık", + "ìĤ ´", + "à¸ĺ à¸Ļา", + "à¸ĺà¸Ļา à¸Ħาร", + "à¸Ńà¸Ļ า", + "à¸Ńà¸Ļา à¸Ħ", + "à¸Ńà¸Ļาà¸Ħ à¸ķ", + "Ġpeque ña", + "ä»ķ äºĭãĤĴ", + "Ġب ذÙĦÙĥ", + "Ġнов ого", + "ãģĹãģ¦ ãģĦãģªãģĦ", + "ĠاÙĦÙħ ÙĬاÙĩ", + "à¸ģà¹ĩ à¹Ģà¸Ľà¹ĩà¸Ļ", + "Ġж ÑĥÑĢ", + "ĠжÑĥÑĢ Ð½Ð°Ð»", + "в еÑģ", + "خت ار", + "Ġ매 ìļ°", + "ĠM ã", + "ĠавÑĤомаÑĤ Ñĭ", + "ضع Ùģ", + "ĠاÙĦÙģ Ùĥر", + "ãģ§ãģĻ ãģ®ãģ§", + "ãĥ¡ãĥ³ ãĥIJãĥ¼", + "Ġк ÑĢÑĥг", + "ĠاÙĦسÙĦ طة", + "à¸Ħรัà¹īà¸ĩ à¹ģรà¸ģ", + "à¸ģระà¸Ĺ รว", + "à¸ģระà¸Ĺรว à¸ĩ", + "ÑĨ ов", + "éķ· ãģĦ", + "大ãģį ãģĦ", + "Ġgeç miÅŁ", + "ìĦ± ìĿ´", + "Ġצר ×Ļ׼×Ķ", + "Ġм оÑī", + "ĠмоÑī н", + "Ġ×§ ×Ļש", + "Ġ×§×Ļש ×ķר×Ļ×Ŀ", + "ĠNas ıl", + "г ÑĢан", + "Ġ×ŀ ×ķצר×Ļ×Ŀ", + "Ġ×ŀס ×ķ×Ĵ", + "Ġy ür", + "Ġyür üt", + "Ġ׾׊צ×ķ", + "×ķÖ ¼", + "ĠìŀĪ ìĹĪëĭ¤", + "Ġter ör", + "ĠTh ương", + "ĠÙĪ ÙĬÙħ", + "ĠÙĪÙĬÙħ ÙĥÙĨ", + "ج ÙĪÙĨ", + "ĠÙĪØºÙĬر Ùĩا", + "×ŀ פ×ķ", + "×Ĵ×ķר ×ŀ×Ļ×Ŀ", + "׼×ij ×Ļש", + "ĠاÙĦÙĦ غ", + "ĠاÙĦÙĦغ Ø©", + "شر Ùĥ", + "ĠاÙĦر اب", + "ĠاÙĦراب ع", + "ĠпÑĢ ÐµÐº", + "ĠпÑĢек ÑĢаÑģ", + "ĠпÑĢекÑĢаÑģ н", + "Ġenerg ÃŃa", + "×§×ĵ ×ŀ×Ļ", + "ãģıãģª ãģ£ãģŁ", + "ĠÄij ứ", + "ĠÄijứ a", + "Serv i", + "Servi ço", + "Ġkald ır", + "åĥį ãģį", + "Ġод еж", + "Ġодеж д", + "물 ìĿĦ", + "ãģĿãģĨ ãģ§", + "ãģĮãģĤ ãĤĮãģ°", + "ìĻ ķ", + "צ×ĵ ×§", + "Ġart ır", + "Ġile ti", + "Ġileti ÅŁim", + "ãĤĪãģĨ ãģ§", + "ãĥĪ ãĥ¼", + "ãĤ¢ ãĥĭ", + "ãĤ¢ãĥĭ ãĥ¡", + "×ĺ×Ļ ×Ļ׾", + "ãĥķ ãĥªãĥ¼", + "ãĥĿ ãĥ³", + "ÐŁÑĢ Ð¾", + "Ġع اÙĦÙĬØ©", + "ĠÃ¶ÄŁ ret", + "ĠÃ¶ÄŁret men", + "ĠкаÑĩеÑģÑĤв а", + "Ġ×Ķ×ĺ ×ij×¢", + "Ġзна Ñİ", + "ãģ¦ ãģıãĤĭ", + "Ġm ừng", + "ÙħÙĪ Øª", + "ש ×ķ×ŀר", + "×Ĺ׾ ×ij", + "Ġwzgl ÄĻ", + "ĠwzglÄĻ du", + "ë²Ī 째", + "Ġtá» ĵ", + "Ġtá»ĵ n", + "ãĥ¯ãĥ¼ ãĤ¯", + "Ġpo życz", + "Ġpożycz k", + "×Ļ ×ķצר×Ļ×Ŀ", + "Ùĥر Ùħ", + "Ġг аÑĢ", + "ĠгаÑĢ Ð°Ð½", + "ĠгаÑĢан ÑĤи", + "ล à¹īาà¸ĩ", + "Ġìĺģ íĻĶ", + "×ĺ ×Ļס", + "Ġth ẻ", + "ĠìŀĪëĭ¤ ê³ł", + "اÙĦت ز", + "اÙĦتز اÙħ", + "Ġна ÑĪи", + "is ée", + "ãģĵãĤĮ ãĤĴ", + "Ġm ẽ", + "ض ÙĦ", + "بÙĪ Øª", + "Ġ׼ ׼×Ķ", + "h ợ", + "ĠاÙĦس ÙĪØ±ÙĬØ©", + "Ġ×ľ×¢ ×ķ×ŀ", + "Ġ×ľ×¢×ķ×ŀ ת", + "ĠbaÅŁ ar", + "ĠbaÅŁar ılı", + "е ÑģÑĤÑĮ", + "à¸Ħร ี", + "à¸Ħรี ม", + "ĠìłĦ ì²´", + "ĠسÙĬ ÙĥÙĪÙĨ", + "Ġ×ŀ×ĵ ×ķ×¢", + "ĠëķĮ문 ìĿ´ëĭ¤", + "Ġc ứng", + "ger ät", + "Ġм иÑĢ", + "ĠмиÑĢ Ðµ", + "ĠÙĥÙĬÙģ ÙĬØ©", + "Ġפר ×ĺ×Ļ×Ŀ", + "Ġgo ÅĽci", + "иÑĤ еÑģÑĮ", + "ÑĥÑĪ ÐºÐ¸", + "ؤ ÙħÙĨ", + "Ġ×IJ ׼ף", + "ĠاÙĦر جÙĦ", + "Ġl á»įc", + "à¹Ģรีย à¸ģวà¹Īา", + "ãģĵãģ® ãĤĪãģĨãģª", + "ë§Į íģ¼", + "Ġп еÑĩ", + "ÙĪÙĦ ات", + "ĠÃľ ye", + "liÄŁ inde", + "à¸Ħะ à¹ģà¸Ļ", + "à¸Ħะà¹ģà¸Ļ à¸Ļ", + "ãĤĭãģĵãģ¨ ãģ¯", + "วิ à¹Ģà¸Ħร", + "วิà¹Ģà¸Ħร าะ", + "วิà¹Ģà¸Ħราะ หà¹Į", + "Ġвозмож ноÑģÑĤи", + "ĠاÙĦÙĨ ساء", + "ãĥīãĥ© ãĥŀ", + "Ġgü c", + "Ġgüc ü", + "Ġt ưá»Ŀng", + "Ġacomp aña", + "ãĤ¤ ãĥ©", + "×§ צ×ij", + "ĠY ö", + "ĠYö net", + "ĠYönet im", + "สัม à¸ľ", + "à¸ªà¸±à¸¡à¸ľ ัส", + "à¸Ļ าม", + "ĠÄij ợi", + "à¹ģหà¹Īà¸ĩ à¸Ĭาà¸ķิ", + "ãģĿãĤĮ ãģ§ãĤĤ", + "ät ig", + "ת ×ķ×Ŀ", + "ĠbaÅŁ lat", + "ĠвÑģ ей", + "ת ×Ļ×§", + "ת×Ļ×§ ×ķף", + "ĠNg ô", + "ĠGesch ä", + "ĠGeschä fts", + "Ø£ Ùħ", + "Ø£Ùħ راض", + "à¹Ģà¸Ĺ à¸Ħà¸Ļ", + "à¹Ģà¸Ĺà¸Ħà¸Ļ ิ", + "à¹Ģà¸Ĺà¸Ħà¸Ļิ à¸Ħ", + "Ġм енÑĮ", + "ĠменÑĮ ÑĪе", + "Ġöl ç", + "Ġölç ü", + "ĠÙĬ جعÙĦ", + "ĠÄij ỡ", + "ש ×Ļ׾", + "ש×Ļ׾ ×ķ×ij", + "ĠGr Ã¶ÃŁe", + "ĠÙĩ اتÙģ", + "รà¹īาà¸Ļ à¸Ńาหาร", + "×Ķ׾ ×Ļ׼", + "×Ķ׾×Ļ׼ ×Ļ", + "иÑĢÑĥ ÑİÑī", + "èĭ¥ ãģĦ", + "ĠÃĸ zel", + "ãģĦãģŁ ãĤī", + "à¸Ħำ à¸ĸาม", + "Ġzosta ÅĤy", + "Ġ×Ķס ×Ļפ×ķר", + "×Ķ ×ķ׾", + "×Ķ×ķ׾ ×ļ", + "à¹Ģà¸Ĭà¹Īà¸Ļ à¸ģัà¸Ļ", + "à¹Ĥ à¸Ĩ", + "à¹Ĥà¸Ĩ ษ", + "à¹Ĥà¸Ĩษ à¸ĵา", + "×IJר צ×ķת", + "×Ĵר פ×Ļ", + "Ġao ût", + "ĠÙĬ رÙĬد", + "ت ÙĪØ¬", + "تÙĪØ¬ ÙĬÙĩ", + "ĠÑįÑĤ ап", + "ãĤ¹ãĤ¿ ãĥ³", + "Ġkr ó", + "Ġkró tk", + "ãĤĴ使 ãģĨ", + "ì ·¨", + "éĸ¢ ãĤı", + "à¸Ķà¹īวย à¸Ħวาม", + "à¸Ļำ à¹Ģสà¸Ļà¸Ń", + "Ġa yrıca", + "à¸Ī à¹īาà¸ĩ", + "ĠÑĦоÑĤ огÑĢаÑĦ", + "Ġв еÑĩ", + "ĠвеÑĩ еÑĢ", + "åĩº ãģĹãģŁ", + "ĠÐ¥ о", + "Ġ×ŀ ר×Ĵ×Ļש", + "à¹ĥหà¹ī à¹Ģà¸Ľà¹ĩà¸Ļ", + "ãĤĴ 缮", + "ãĤĴ缮 æĮĩ", + "׾ ×ŀ×Ļ×Ŀ", + "nÄħ ÅĤ", + "ĠÑģÑĤ анд", + "ĠÑģÑĤанд аÑĢÑĤ", + "ĠSü d", + "ĠT âm", + "اخت بار", + "à¹Ģà¸ģ à¸Ńรà¹Į", + "Ùħس رØŃ", + "Ġbi á»ĩn", + "ب Ùı", + "Ġص اÙĦ", + "ĠصاÙĦ ØŃ", + "ĠPh ụ", + "íľ ´", + "ãĥ¬ãĥĵ ãĥ¥ãĥ¼", + "Ġbụ ng", + "Ġrég ime", + "ĠØ£ Ø´Ùĩر", + "ĠÑĢабоÑĤ ник", + "à¸Ŀ ัà¸Ļ", + "اع تÙħ", + "اعتÙħ اد", + "Ġзам еÑĤ", + "ãģ¾ ãģ£ãģ¦", + "Ġch ặt", + "æĿ¥ ãĤĭ", + "ĠاÙĦÙĤ ÙĪØ§Øª", + "ãģ«åħ¥ ãģ£ãģ¦", + "تØŃ اÙĦÙģ", + "Ùħ زÙĬد", + "ĠÙĬ صÙĦ", + "ìĹ ¼", + "à¹Ģà¸Ĭ à¹ĩ", + "à¹Ģà¸Ĭà¹ĩ à¸Ħ", + "Ġk á»ĭ", + "Ġká»ĭ p", + "ĠìķĦ ì§ģ", + "×IJ׳ ×Ĵ", + "Ġобла ÑģÑĤÑĮ", + "Ġpomoc Äħ", + "Ġ×ķ ש׾", + "ëĵł ì§Ģ", + "ĠGi ám", + "ĠSt ück", + "Ġchá y", + "ĠëĤĺ ìĺ¤", + "ש ×Ļ×ĺת", + "×ŀ×ĵ ר", + "×ŀ×ĵר ×Ļ×ļ", + "Ġsüre ç", + "к ва", + "×ij׾ ×Ļ×Ŀ", + "×Ķ ×ª×Ļ", + "×Ķת×Ļ ×Ļ×Ĺס", + "ÙĤب اÙĦ", + "Ġס ×ķ×Ĵ", + "Ġס×ķ×Ĵ ×Ļ", + "ÑģÑĤ олÑĮ", + "ä½ķ ãĤĤ", + "×ĸ׼ ×ķר", + "è²· ãģĨ", + "å®ī ãģı", + "à¸Ħรัà¹īà¸ĩ à¸Ļีà¹ī", + "kö p", + "ĠÑģеÑĢ Ð²Ð¸Ñģ", + "оÑĩ нÑĭÑħ", + "ê±° ëŀĺ", + "تأ Ùĥ", + "تأÙĥ ÙĬد", + "×ĵ ׾ק", + "Ġпо Ñĩем", + "ĠпоÑĩем Ñĥ", + "пиÑģ аÑĤÑĮ", + "×ij שר", + "ĠH Ãłng", + "ĠT ìm", + "Ġtr ừ", + "ãĤ» ãĥĥãĤ¯ãĤ¹", + "×ķ׳ ×Ĵ", + "mız da", + "п Ñģи", + "ĠìŀĪ ê¸°", + "Ġr út", + "ز اÙĨ", + "تÙĨ ÙĪØ¹", + "ÙħÙĤ ا", + "ÙħÙĤا ÙĪÙħØ©", + "Ġ׾צ ×ķר×ļ", + "Ġ×ij ×Ļר×ķש׾×Ļ×Ŀ", + "ãĥ´ ãĤ£", + "eb ile", + "ebile ceÄŁi", + "ãĥ¦ ãĥ¼ãĤ", + "ãĥ¦ãĥ¼ãĤ ¶", + "ãĥ¦ãĥ¼ãĤ¶ ãĥ¼", + "ãĤĴä½ľ ãĤĭ", + "Ñģ меÑĢ", + "ÑģмеÑĢ ÑĤ", + "Ġì§ ģ", + "Ġì§ģ ìłij", + "ĠÐŁ аÑĢ", + "ØŃ اض", + "ØŃاض ر", + "Ùħ ÙĥاÙģ", + "ÙħÙĥاÙģ ØŃØ©", + "ล ิà¸Ļ", + "ãģ¦ ãģįãģ¦", + "ÑĢоÑģ л", + "ĠÄ°ÅŁ te", + "ÙĤص ÙĬر", + "Ġ×ij×Ĵ ×Ļ׾", + "Ġ×ŀת ×IJ×Ļ×Ŀ", + "Ġ×Ķ ×Ĺ×ĵ", + "Ġ×Ķ×Ĺ×ĵ ש×Ķ", + "ר ×ķ×¢", + "Ġprodukt ów", + "ĠÙħ صدر", + "не ÑĨ", + "ĠاÙĦعÙħÙĦ ات", + "Ġçık ma", + "Ġد بÙĬ", + "×§ ×Ļף", + "ת ×IJר", + "ת×IJר ×Ļ×ļ", + "׳×Ļ ×Ļ×ĵ", + "صر اع", + "l ève", + "צ ×Ļר", + "à¸Ķ ัà¸Ļ", + "à¹ĥหà¹ī à¹Ħà¸Ķà¹ī", + "ãĤ¿ãĤ¤ ãĥł", + "Ġgi ảng", + "С ÐŁ", + "ĠاÙĦÙħ ØŃÙĦ", + "ĠاÙĦÙħØŃÙĦ ÙĬØ©", + "ĠT ất", + "׾ ×ķ×ĺ", + "h á»ķ", + "Ġam éric", + "Ġaméric ain", + "Ġ×ijש׾ ×ij", + "Ġ׾×IJ ×ķ×ŀ×Ļ", + "Ġpe ça", + "ĠÑĢаз нÑĭÑħ", + "ãģĦãĤĭ ãģ¨", + "ãĥĩ ãĥ³", + "ס קר", + "Ġ×Ķ×ŀ×Ĺ ×Ļר", + "ãģ¨ãģĦãģĨ ãĤĤãģ®", + "رت بط", + "ĠиÑģÑĤ оÑĩ", + "ĠиÑģÑĤоÑĩ ник", + "สมัà¸Ħร สมาà¸Ĭิà¸ģ", + "Ġ à¸Ĺัà¹īà¸ĩ", + "Ġà¸Ĺัà¹īà¸ĩ à¸Ļีà¹ī", + "ĠT áºŃp", + "ãģ£ãģ¦ ãģĦãģĨ", + "ĠاÙĦÙĪ ØµÙĪÙĦ", + "Ġdéc ada", + "Ġо ÑĦоÑĢм", + "ĠоÑĦоÑĢм лен", + "สำหรัà¸ļ à¸ģาร", + "Ġog óln", + "ãģĨãģ¡ ãģ«", + "Ġvá rias", + "ãģĻãģİ ãĤĭ", + "ÙĪ Ùĩا", + "à¹Ĥà¸Ľà¸£ à¸Ķ", + "ĠÐłÐ¾ÑģÑģ иÑı", + "人 ãĢħ", + "ãģĹãģ¦ ãģįãģŁ", + "Ġsı rasında", + "Ġng ôn", + "س ÙĨØ©", + "تÙħ تع", + "×ŀ׼ ×ij×Ļ", + "Ġnh ấn", + "×¢ ×ŀ×Ļ×ĵ", + "á» ¨", + "ж иÑĤÑĮ", + "ãĤī ãģĽ", + "gr áf", + "gráf ica", + "ĠÙĤ ÙĪÙĦ", + "ĠÙĤÙĪÙĦ Ùĩ", + "ëĭ¨ ì²´", + "ห à¹īา", + "หà¹īา ม", + "使 ãģ£ãģ¦", + "ת ×Ļ×ij", + "ת×Ļ×ij ת", + "i á»ĥu", + "à¹ģ à¸Ĭม", + "à¹ģà¸Ĭม à¸Ľ", + "à¹ģà¸Ĭà¸¡à¸Ľ à¹Į", + "Ạ¬", + "ĠëĤĺ ëĿ¼", + "ĠÙħباشر Ø©", + "Ġtr Äĥm", + "سÙĥ ÙĪ", + "ĠاÙĦذ Ùī", + "Ġbi ç", + "Ġbiç im", + "ت راجع", + "Ġоб еÑģп", + "ĠобеÑģп еÑĩ", + "ĠобеÑģпеÑĩ ива", + "Ġвозд ÑĥÑħ", + "Ñĭв аÑĤÑĮ", + "ÙĦ ØŃÙĤ", + "ĠMü dü", + "ĠMüdü rl", + "ĠMüdürl Ã¼ÄŁÃ¼", + "Ġyapt ır", + "Ġפר ס", + "Ġפרס ×ķ×Ŀ", + "Ø· ÙĪØ±", + "ÑģÑĤв оваÑĤÑĮ", + "ìŀ¥ ìĿĦ", + "à¸Ĺีà¹Īà¸Ķี à¸Ĺีà¹Īสุà¸Ķ", + "à¸Ńั ล", + "ÑĢ Ñİ", + "Ùħست ÙĤبÙĦ", + "Ñģл ÑĥÑĪ", + "ÑģлÑĥÑĪ Ð°", + "èªį ãĤģ", + "Ġ׾ ×Ļ×ŀ", + "Ġ׾×Ļ×ŀ ×ķ×ĵ×Ļ", + "ת ש×ķ×ij", + "תש×ķ×ij ×ķת", + "ĠgerçekleÅŁtir il", + "ĠاÙĦ اتÙ쨧ÙĤ", + "ĠÑĥÑĢов не", + "ĠÑĤ ÑĢав", + "Ġ×Ķ×ŀ ×ķף", + "ØŃÙģ Ø§Ø¸", + "ĠÙħ ÙIJ", + "ĠÙħÙIJ ÙĨ", + "ĠÙħÙIJÙĨ ÙĴ", + "Ġdem ás", + "×ŀ×ķ×ĸ ×Ļ×§×Ķ", + "ש ×Ļ×Ĺ×Ķ", + "Ġb ú", + "алÑĮ нÑĭм", + "ãĤı ãģŁ", + "ãĤıãģŁ ãģĹ", + "ĠاÙĦÙħÙĪ Ø§Ø¯", + "ת ׼׳", + "×ª×Ľ×ł ×ķף", + "ãĥŃ ãĥĥãĤ¯", + "hi ếu", + "ĠÑĥ ме", + "ÙħØŃا ÙĪÙĦØ©", + "×IJ ×ķשר", + "Ġкон кÑĥÑĢ", + "ĠконкÑĥÑĢ Ñģ", + "Ġ×ŀ ×ij×Ĺ", + "Ġ×ŀ×ij×Ĺ ×Ļ×ł×ª", + "Ġan lam", + "Ġanlam ı", + "Ġli á»ĩt", + "Ġв Ñħод", + "ĠH ình", + "ĠÙĨ ÙĬ", + "ĠÙĨÙĬ ÙĪØ²", + "ãĤ¸ãĥ£ ãĥ¼", + "×ij ×Ļ×¥", + "ÑĤелÑĮ нÑĭÑħ", + "à¸Ĺุà¸ģ à¸Ńยà¹Īาà¸ĩ", + "ĠkiÅŁ inin", + "Ø£ Ùĥثر", + "ĠиÑģÑĤоÑĢ Ð¸Ð¸", + "Ġë³Ģ íĻĶ", + "פ׾ ס×ĺ", + "×¤×ľ×¡×ĺ ×Ļ׳×Ļ", + "ĠÑģ еÑĤ", + "ĠÑģеÑĤ и", + "dıģ ımız", + "íķĺ ëıĦë¡Ŀ", + "×Ķ ×¨", + "×Ķר ×ij×Ķ", + "ãģĻãĤĭãģĵãģ¨ ãģ¯", + "Ġphi ếu", + "تØŃ سÙĬÙĨ", + "ĠÅĽ rod", + "ĠÅĽrod ow", + "ĠÅĽrodow isk", + "ĠÑĢаÑģ Ñħод", + "بر ÙĬد", + "Ġر ÙĬ", + "ĠرÙĬ اÙĦ", + "Ġ×ķ ׼×ļ", + "ì§Ģ ìļĶ", + "׼ ×ŀ×ķ", + "Ġ×¢×ľ ×Ļ×Ķ×Ŀ", + "f ÃŃcio", + "Ġkar arı", + "tıģ ını", + "ĠС ов", + "ĠСов еÑĤ", + "ãģĬéĩij ãĤĴ", + "м еждÑĥ", + "междÑĥ на", + "междÑĥна ÑĢод", + "междÑĥнаÑĢод н", + "Ġm á»Ŀi", + "ĠاÙĦØ¥ ÙĬر", + "ĠاÙĦØ¥ÙĬر اÙĨÙĬ", + "ĠاÙĦرÙĪ Ø³ÙĬ", + "ص ÙĨد", + "صÙĨد ÙĪÙĤ", + "ĠاÙĦØ¥ÙĨ ترÙĨت", + "Ġt ắm", + "ĠÑĤак ого", + "Ġ×ij ׾×ķ×Ĵ", + "Ġü crets", + "Ġücrets iz", + "×Ĺ×ĸ ×Ļר", + "ìĸ´ ìķ¼", + "ĠPh ần", + "ï¼ ľ", + "Ġ×ĺ ×ij×¢", + "Ġ×ĺ×ij×¢ ×Ļ", + "×IJ×ŀ ×IJ", + "اÙĤ ÙĦ", + "Ġcondi ções", + "ÙĤات ÙĦ", + "ĠÑĢезÑĥлÑĮÑĤаÑĤ е", + "ĠÑģво ими", + "צ×ij ×Ļ×¢", + "gé ni", + "Ġz es", + "Ġzes po", + "Ġzespo ÅĤ", + "ÑĪ Ð¸Ð²", + "Ġפר×ĺ×Ļ ×ķת", + "Ùħست Ø´Ùģ", + "ÙħستشÙģ Ùī", + "شر ع", + "Ġko ÅĽci", + "Ġ×Ķ×IJ ×Ļ׳×ĺר׳×ĺ", + "ĠЧ еÑĢ", + "поÑĩ ÑĤ", + "Ġactiv ités", + "çŁ¥ ãģ£ãģ¦", + "Ġ×ij ×ĸ×Ķ", + "Ġyüz den", + "ãģªãĤĬ ãģ¾ãģĽãĤĵ", + "Ġíĺ ¹", + "Ġíĺ¹ ìĿĢ", + "Ġ×ŀש ׳×Ķ", + "ĠÐĴ еÑĢ", + "Ġ×ij×IJ×ķת ×ķ", + "éĿ¢ çϽ", + "éĿ¢çϽ ãģĦ", + "شر ØŃ", + "gr ünde", + "Ùģ Ø´", + "Ù쨴 ÙĦ", + "Ġsé jour", + "ë´ IJ", + "Ġr ôle", + "Ø´ عار", + "ем Ñĭе", + "ĠاÙĦج سÙħ", + "алÑĮ ное", + "Ġìĥģ íĥľ", + "ï¼ ¤", + "ë¯Ģ ë¡ľ", + "ĠÙĨ ÙĤØ·", + "ĠÙĨÙĤØ· Ø©", + "ãģĿãģĨ ãģł", + "ãģĻãĤĭ ãģ®ãģĮ", + "ห ู", + "Ġnh á»ĭ", + "Ġeconóm ica", + "ס×ĺ ×ķ×ĵ", + "ס×ĺ×ķ×ĵ ׳×ĺ", + "มี à¹Ĥà¸Ńà¸ģาส", + "Ġgest ão", + "รูà¹ī วà¹Īา", + "Ġlo ạt", + "ĠاÙĦÙħ Ùı", + "ĠاÙĦØŃ ÙħÙĦ", + "ĠاÙĦعÙħÙĦ ÙĬØ©", + "Ġê²ĥ ëıĦ", + "ĠÐľÐ¾Ñģк ва", + "×§×ĺ ×ķר", + "Ġпод ÑĢоб", + "ĠподÑĢоб н", + "Ġl ưng", + "ت Ù쨳", + "تÙ쨳 ÙĬر", + "ĠاÙĦ بع", + "ĠاÙĦبع ض", + "ئ ت", + "Ðķ ÐĿ", + "ìŰ 구", + "à¹ĥหà¹ī à¸Ħุà¸ĵ", + "ãģĤãĤĬ ãģ¾ãģĹãģŁ", + "Ġbir ka", + "Ġbirka ç", + "Ġİ sl", + "Ġİsl am", + "çĹĽ ãģ¿", + "Ġh ảo", + "Ġм аÑı", + "ĠiÅŁ çi", + "ש ×", + "×©× ģ", + "à¸ģาร à¹Ģมืà¸Ńà¸ĩ", + "×ķ×Ķ ×¨", + "Ġch ó", + "ëĨ Ģ", + "Ġyan lı", + "Ġyanlı ÅŁ", + "幸 ãģĽ", + "×IJר×Ĵ ×ķ׳×Ļ", + "à¸Ńาà¸Ī าร", + "à¸Ńาà¸Īาร ยà¹Į", + "ĠинÑĦоÑĢм аÑĨиÑİ", + "Ðĵ Ðŀ", + "׳ ×Ĺש", + "ĠìķĮ ìķĦ", + "ĠÑħаÑĢакÑĤеÑĢ Ð¸ÑģÑĤ", + "ĠÑħаÑĢакÑĤеÑĢиÑģÑĤ ик", + "à¸Ħุà¸ĵ สามารà¸ĸ", + "è¦ĭ ãģĪãĤĭ", + "à¸Ĭัà¸Ķ à¹Ģà¸Ī", + "à¸Ĭัà¸Ķà¹Ģà¸Ī à¸Ļ", + "ĠdziaÅĤ al", + "ĠdziaÅĤal noÅĽci", + "à¹Ĥà¸ŀ สà¸ķà¹Į", + "ĠÐļ ол", + "ĠÙģ ÙĩÙĬ", + "Ġ×ŀ פ׳×Ļ", + "Ġ×Ķ×§ שר", + "Ùħر Ùĥ", + "ÙħرÙĥ ز", + "Ġho á", + "Ġа пп", + "Ġапп аÑĢаÑĤ", + "Ġp ami", + "Ġpami ÄĻ", + "ĠpamiÄĻ ta", + "Ġç ünkü", + "×ĵ ×ķף", + "ãģ¯ ãģĵãģ¡ãĤī", + "ĠM Ãł", + "ĠÙĬ ÙĤدÙħ", + "ĠпÑĢ ÐµÐ·", + "ĠпÑĢез иденÑĤ", + "à¸Ńุ à¸ķ", + "à¸Ńุà¸ķ สา", + "à¸Ńุà¸ķสา ห", + "à¸Ńุà¸ķสาห à¸ģรรม", + "ì§Ģ ìĽIJ", + "Ġ×IJפשר ×ķת", + "sch üt", + "schüt z", + "ĠTi ên", + "Ġsay ılı", + "ĠгÑĢÑĥпп Ñĭ", + "оÑĩ нÑĭй", + "Ġ×ľ×¢ ×ŀ×ķ×ĵ", + "Ġwr zeÅĽ", + "ĠwrzeÅĽ nia", + "ĠÄIJ ầu", + "à¹Ģà¸Ĥà¹īา รà¹Īวม", + "nız da", + "Ø®ÙĬ ص", + "Ġgü nc", + "Ġgünc el", + "ĠÙĦÙĩ ذÙĩ", + "ĠÙĬ عتبر", + "lé gi", + "ãĤı ãģĭãĤĭ", + "Ġr ừng", + "ظ Ùĩ", + "ظÙĩ ÙĪØ±", + "Ġ×ŀ×ij ×Ļף", + "Ġ기 íĥĢ", + "åĪĩ ãĤĮ", + "lan mÄ±ÅŁ", + "à¸Ĺีà¹Ī มีà¸Ħวาม", + "Ġh á»ģ", + "ت ÙĪØ¬Ùĩ", + "ĠاÙĦØ¥ دارة", + "Ġú til", + "ס פ×ķ", + "à¸Ħวาม รัà¸ģ", + "à¹Ĥ ฮ", + "Ġпол иÑĤ", + "ĠполиÑĤ ик", + "Ġsat ın", + "ĠÅŀ imdi", + "×ŀ ×ķר×Ļ×Ŀ", + "ìķĺ ëĭ¤", + "×Ĺ ×ķ×ķ", + "×Ĺ×ķ×ķ ×Ļ×Ķ", + "à¸Ħà¸Ńม à¸ŀิ", + "à¸Ħà¸Ńมà¸ŀิ ว", + "à¸Ħà¸Ńมà¸ŀิว à¹Ģà¸ķà¸Ńรà¹Į", + "Ġا ذا", + "تخ اذ", + "ãĤ¨ ãĥ«", + "Ġpossibilit é", + "ยืà¸Ļ ยัà¸Ļ", + "Ġü nivers", + "Ġünivers ite", + "ĠاÙĦد ÙĪØ±ÙĬ", + "ĠìķĬëĬĶ ëĭ¤", + "ĠìĦľ ë¡ľ", + "ØŃ اÙĦ", + "Ġë ¨", + "Ġë¨ ¼", + "Ġ먼 ìłĢ", + "à¸Ĺีà¹Ī à¸ĸูà¸ģ", + "ì§ ľ", + "Ġsk óry", + "лÑĮ ÑĨ", + "à¹ĥà¸Ĭà¹ī à¹Ģวลา", + "×ij×§ שת", + "Ġذ ÙĪ", + "æĹ¥ ãĢħ", + "ĠкоÑĤоÑĢ ÑĥÑİ", + "ĠÑĥÑĢов енÑĮ", + "ê¹ ¨", + "à¹Ħ à¸Ĺ", + "ãĤµ ãĥĹãĥª", + "ãĤ¸ ãĥ§ãĥ³", + "ãģĻ ãģ¹ãģį", + "ĠG ór", + "ãĥĪ ãĤ¤", + "ãĥĪãĤ¤ ãĥ¬", + "ĠyaÅŁ ama", + "Ġdá»ĭ p", + "Ġb ữa", + "à¸ĭ ุ", + "Ġöl üm", + "ãģ£ãģ¦ ãģıãĤĭ", + "à¸ģาร à¸Ħà¹īา", + "ש ער", + "ĠÑĤип а", + "Ġг еÑĢ", + "ĠгеÑĢ Ð¾", + "רק ×¢", + "Ġu waż", + "Ġuważ a", + "ש×ŀ ף", + "Ġhast alık", + "ãĤıãĤĮ ãĤĭ", + "ba ÅŁÄ±", + "Ñĩ ÑĤо", + "Ġ×ij ×ŀר׼×ĸ", + "Ġìļ°ë¦¬ ìĿĺ", + "ĠÙĥاÙĨ ÙĪØ§", + "ĠØ£ بر", + "Ġأبر ÙĬÙĦ", + "ì¸ µ", + "à¹Ħà¸Ĥ à¹Ī", + "ĠÙĪ ÙĦÙĪ", + "à¸Ĺ ัว", + "à¸Ĺัว รà¹Į", + "ĠÙĪØ£ Ùĥد", + "à¸Ĭ วà¸Ļ", + "׾ ×ķ×§", + "æį ¨", + "æį¨ ãģ¦", + "Ġİç in", + "p éri", + "Ġy al", + "Ġyal nız", + "ÑĮÑı н", + "Ġg ắng", + "à¸ģà¹ĩ ยัà¸ĩ", + "ĠУкÑĢа ин", + "ĠÑģ ами", + "ĠпÑĢовед ен", + "à¸ķà¸ģ à¹ģà¸ķà¹Īà¸ĩ", + "ĠQu ân", + "é paration", + "ĠbaÅŁ ında", + "Ġzn ale", + "Ġznale ź", + "Ġznaleź Äĩ", + "ãĤ± ãĥ¼", + "ãĥİ ãĥ¼", + "à¸ĸูà¸ģ à¸ķà¹īà¸Ńà¸ĩ", + "ëª ¸", + "Ġëı Į", + "ĠëıĮ ìķĦ", + "ĠSch üler", + "Ġпод гоÑĤов", + "ĠподгоÑĤов к", + "ع رÙĪ", + "عرÙĪ Ø¶", + "la ÅŁtır", + "ĠÑģоÑģÑĤав лÑıеÑĤ", + "ĠпÑĢоиз вод", + "ĠпÑĢоизвод ÑģÑĤва", + "ĠоÑģнов е", + "ĠØ´ ÙħاÙĦ", + "à¸ģร ี", + "ĠgörÃ¼ÅŁ me", + "оÑĩ ек", + "Ġ×Ĺ×ijר ×Ļ×Ŀ", + "ÙħØ® اط", + "Ùħخاط ر", + "ï¼ Ń", + "ר פ×IJ", + "ĠM ẹ", + "ยà¸Ńม รัà¸ļ", + "Ġv ết", + "Ø® ذ", + "ĠاÙĦت Ø·", + "ĠاÙĦتط بÙĬÙĤ", + "à¸Ļ ึà¸ģ", + "Ġ×Ķ ×Ľ×ł×¡×ª", + "ĠогÑĢ Ð°Ð½Ð¸", + "ĠогÑĢани Ñĩен", + "ĠÃĩ alÄ±ÅŁ", + "ĠاÙĦÙħÙĨت دÙī", + "à¸Īำà¸Ļวà¸Ļ มาà¸ģ", + "ĠÑĤоÑĢ ÑĢ", + "ĠÑĤоÑĢÑĢ ÐµÐ½ÑĤ", + "ĠìĤ´ ìķĦ", + "à¸ŀลัà¸ĩ à¸ĩาà¸Ļ", + "à¸Ĭ ัà¸Ļ", + "ĠÐIJн дÑĢ", + "Ġréalis é", + "×ŀש ×IJ", + "à¹ģ à¸Ĭ", + "à¹ģà¸Ĭ รà¹Į", + "Ġб ог", + "มา à¹ģลà¹īว", + "ĠاÙĦÙĨ ار", + "Ġolmad ıģı", + "×ĵ ×¢×Ķ", + "ĠÑĥ веÑĢ", + "ĠÑĥвеÑĢ ÐµÐ½", + "ãĤĭ ãĤĤãģ®", + "Ø£ د", + "أد ÙĪØ§Øª", + "Ġ×Ķ×ĸ ×ķ×Ĵ", + "Ø¥ عÙĦاÙħ", + "h á»ı", + "ĠNä he", + "ĠÑĤ еÑģÑĤ", + "Ġ×ŀ ×ķ׼ר", + "Ġë¬¸ìłľ ê°Ģ", + "ת ×ķצ×IJ×Ķ", + "m ó", + "mó vel", + "ĠاÙĦتج ارة", + "Ġмног иÑħ", + "обÑī а", + "Ġ×¢ סק×Ļ", + "ĠEdu cação", + "×§ ש×Ļ×Ŀ", + "é tabl", + "établ issement", + "Ġд еле", + "иÑĢÑĥ еÑĤÑģÑı", + "Ø¢ ثار", + "Ġ×Ķ×ŀ ר׼×ĸ×Ļ", + "ãĥIJ ãĥ«", + "ĠвÑģÑĤÑĢ ÐµÑĩ", + "ãģĴ ãĤĭ", + "Ġci Äħ", + "ĠciÄħ gu", + "ÙĬ ست", + "à¸łà¸² ว", + "à¸łà¸²à¸§ ะ", + "Ø£ Ùħر", + "Ġо жи", + "Ġожи да", + "Ġ á»§y", + "ãĥŀ ãĥ«", + "ر اس", + "оÑĩ ной", + "ת ×Ĵ×ķ×ij×ķת", + "تع رÙĬÙģ", + "ĠÑģо ÑĨиалÑĮно", + "ãĤĴ éĸĭ", + "ĠиÑģÑģлед ова", + "Ġd ú", + "Ġdú vida", + "Ġsk ÅĤ", + "ĠskÅĤ ada", + "Ġhä ufig", + "ĠвÑĭб ÑĢ", + "ĠвÑĭбÑĢ Ð°ÑĤÑĮ", + "ãģ®ãģ§ãģ¯ãģªãģĦ ãģĭ", + "ĠÑģ илÑĮно", + "ÑĤвеÑĢж ден", + "ר פ", + "רפ ×ķ×IJ×Ķ", + "æĢĿ ãģĦãģ¾ãģĻ", + "ØŃر ص", + "ש×ķת ×£", + "Ùħس جد", + "à¹Ĥà¸Ĭ วà¹Į", + "ем ÑģÑı", + "в ÑĪие", + "Ġм л", + "Ġмл н", + "Ġ׾×Ķ ×ij×Ļ×IJ", + "ĠÙĬ تعÙĦÙĤ", + "à¸ķ ูà¹ī", + "Ġп ÑĢаз", + "ĠпÑĢаз д", + "ĠпÑĢазд ник", + "Ġн ем", + "Ġнем ного", + "Ġs Ãłng", + "تÙĨ سÙĬ", + "تÙĨسÙĬ ÙĤ", + "Ġtá» Ŀ", + "Ġмед и", + "ãģ« æĪ", + "ã쫿Π»", + "à¸Ħว à¹īา", + "ãģĭ ãģijãĤĭ", + "×ij׾ ×ķת", + "ĠÑįк Ñģп", + "ĠÑįкÑģп еÑĢÑĤ", + "Ġдев ÑĥÑĪ", + "ĠдевÑĥÑĪ Ðº", + "ĠØŃ ص", + "ÙĨØ´ Ø£", + "ãģĮãģĤãĤĭ ãģ®ãģ§", + "Ġت راÙħ", + "ĠتراÙħ ب", + "أس ÙĪØ§ÙĤ", + "Ġ׾פ ׳×ķת", + "Ġا ï»·", + "ãģ« ãģı", + "ãģ«ãģı ãģĦ", + "ĠØ£ عÙĦÙī", + "Ġ׾×Ķ ×ŀש×Ļ×ļ", + "rä u", + "ש×ŀ ×Ļ×Ŀ", + "åĪĨ ãģij", + "ãģĻ ãģ§", + "ãģĻãģ§ ãģ«", + "×Ķ׾ ׼×Ķ", + "×Ĺ׾ ×Ļ×£", + "Ġì ±ħ", + "Ġì±ħ ìŀĦ", + "à¹Ģà¸Ī ริ", + "à¹Ģà¸Īริ à¸į", + "éģĬ ãģ³", + "ج سد", + "สา à¸ĺ", + "สาà¸ĺ าร", + "สาà¸ĺาร à¸ĵ", + "Ġbas ın", + "ÑĢаР³", + "г ад", + "Ġho ÅŁ", + "íķ µ", + "×ij×Ĺ ×Ļר×Ķ", + "×ŀס ×ļ", + "Ġìłľ íĴĪ", + "تÙħ ÙĪÙĬÙĦ", + "ĠL ưu", + "ë¡ľ ë¶ĢíĦ°", + "Ġп об", + "Ġпоб ед", + "ÙħÙĨ ذ", + "常 ãģ«", + "ÙĤ س", + "ĠاÙĦÙħ صدر", + "ĠÙĪØ§ÙĦ است", + "Ġkh ắp", + "ĠاÙĦج اÙĨب", + "Ġng uyá»ĩn", + "éĸĵ éģķãģĦ", + "ĠÑģÑĤ ÑĢа", + "ĠÑģÑĤÑĢа Ñħ", + "ĠÑģÑĤÑĢаÑħ ов", + "รี à¸ļ", + "Ġx ương", + "Ġì° ¾", + "Ġì°¾ ìķĦ", + "Ġng ại", + "г ал", + "à¸ĭ ีà¹Ī", + "Ġ×ij פ×Ļ×Ļס×ij×ķ×§", + "Ц енÑĤÑĢ", + "Ġaval iação", + "Ġeconóm ico", + "×ĸ ף", + "ĠÐľ ак", + "Ġinter és", + "à¸ģล ิà¹Īà¸Ļ", + "ÑģÑĤÑĮ Ñİ", + "ĠÄij ương", + "å¼· ãģı", + "ĠKh ách", + "à¹Ģà¸Ļืà¹īà¸Ń หา", + "ĠYaz ı", + "è²· ãģ£ãģ¦", + "Ðł Ðķ", + "à¹Ģà¸ŀิà¹Īม à¸Ĥึà¹īà¸Ļ", + "สม à¸ļู", + "สมà¸ļู รà¸ĵà¹Į", + "Ġм иÑĢов", + "×Ĵ ׳×Ļ×Ŀ", + "ĠÄij ức", + "à¸Ń ารà¹Į", + "ص اص", + "ãģĬ ãĤĪ", + "ãģĬãĤĪ ãģ³", + "ÃªÌ ī", + "ĠاÙĦÙħؤ تÙħر", + "ĠاÙĦÙħر ØŃÙĦØ©", + "สà¸Ńà¸ļ à¸ĸาม", + "Ġà¸Īาà¸ģ à¸Ļัà¹īà¸Ļ", + "Ġت عد", + "ãģĿãģ® ãģŁãĤģ", + "Ġkh áng", + "à¸Ļ ิà¸Ķ", + "ãĥĬ ãĥ³", + "ëĦ¤ ìļĶ", + "ĠاÙĦ اØŃت", + "ĠاÙĦاØŃت ÙĦاÙĦ", + "ìļ ķ", + "Ġмод ели", + "ĠпÑĢоÑĨ енÑĤ", + "à¸ŀวà¸ģ à¹Ģรา", + "Ġ×Ķצ ×ĵ", + "Ġ×Ķצ×ĵ ×ĵ×Ļ×Ŀ", + "ständ e", + "׳ ×Ĵר", + "Ġdot yc", + "Ġdotyc zÄħ", + "ĠdotyczÄħ ce", + "ĠÅĽ wiÄĻt", + "×ŀר ×Ķ", + "ãģĻãģĶ ãģĦ", + "ãĥĩãĤ£ ãĥ³ãĤ°", + "à¸ģาร สรà¹īาà¸ĩ", + "ë Ĥ¬", + "Ġì°¸ ìŬ", + "Ñģ Ñħ", + "ÑģÑħ ем", + "ÙħÙĪ Ø³", + "Ġn ấu", + "Ġ׾×ŀ×¢ ׾×Ķ", + "à¹Ģà¸Ľ à¹īา", + "à¹Ģà¸Ľà¹īา หมาย", + "Ġmù i", + "ائ ز", + "íĽ Ī", + "×Ĺ×ij ×ķר×Ķ", + "à¸ľà¸¹à¹ī à¹ĥà¸Ĭà¹ī", + "Ġpa ź", + "Ġpaź dzi", + "Ġpaździ ern", + "Ġpaździern ika", + "ลà¸ĩ à¹Ħà¸Ľ", + "ÙĤ اع", + "Ġch áºŃm", + "Ġözellik leri", + "ĠÄIJ o", + "ĠÄIJo Ãłn", + "ж ение", + "Ġh ẳ", + "Ġhẳ n", + "ĠaÅŁ k", + "ï½ į", + "ãĥij ãĤ¹", + "×Ķ×ķר ×IJ×ķת", + "ĠÅ »", + "ĠÅ» y", + "×ŀ×ĸ ׾", + "ĠÑĥ кÑĢа", + "ĠÑĥкÑĢа ин", + "à¹Ģà¸Ĭ ิ", + "à¹Ģà¸Ĭิ à¸į", + "Ðł Ðĺ", + "ĠzwiÄħz ku", + "×Ķ×Ĺ׾×ĺ ת", + "ãĤĵãģ§ãģĻ ãĤĪãģŃ", + "ãģ¦ ãģĬãĤĬ", + "лож иÑĤÑĮ", + "×ŀ ×ķ׳×Ļ×Ŀ", + "ฮ ิ", + "ì° ¬", + "ĠاÙĦÙħØ´ ترÙĥ", + "ĠdÃ¼ÅŁ ük", + "аг енÑĤ", + "ĠاÙĦØ£ سبÙĪØ¹", + "ĠÙĤ رÙĬب", + "ин д", + "инд ив", + "индив ид", + "индивид Ñĥ", + "индивидÑĥ алÑĮн", + "för der", + "Ġseç en", + "Ġseçen ek", + "Ġét ant", + "ĠлÑİб им", + "каз ÑĭваеÑĤ", + "ว ิà¸Ļ", + "Ġ×Ķ×ij ×IJ×Ļ×Ŀ", + "Ġд ов", + "Ġдов олÑĮ", + "ĠдоволÑĮ но", + "×¢×ĵ ×Ļ×£", + "Ġok re", + "Ġokre ÅĽ", + "ĠokreÅĽ lon", + "Ġت رÙĬد", + "à¹Ģมืà¹Īà¸Ń วัà¸Ļà¸Ĺีà¹Ī", + "ãĤĪ ãģĭãģ£ãģŁ", + "Cum h", + "Cumh ur", + "Cumhur ba", + "Cumhurba ÅŁ", + "CumhurbaÅŁ kan", + "CumhurbaÅŁkan ı", + "Ġn ợ", + "à¸ľà¸¹à¹ī à¹Ģลà¹Īà¸Ļ", + "Ġcompl ète", + "à¹Ģà¸ŀ ศ", + "د ÙIJ", + "Ġdü z", + "Ġdüz ey", + "ãģ§ãģĤãĤĭ ãģĵãģ¨", + "ext érieur", + "× ³", + "Ġinform ação", + "ãĤ¯ãĥª ãĥĭãĥĥãĤ¯", + "ĠPub li", + "ĠPubli é", + "ר ×ķ×ĵ", + "à¸Ħวาม à¸Ľà¸¥à¸Ńà¸Ķà¸łà¸±à¸¢", + "ĠØ£ÙĬ ض", + "ĠØ£ÙĬض Ùĭا", + "ت سبب", + "ãģ¤ ãĤĤãĤĬ", + "из ма", + "à¸Ĥึà¹īà¸Ļ à¹Ħà¸Ľ", + "Ùĥ ÙIJ", + "ÙĦ ÙĪÙħ", + "Ġש צר", + "Ġשצר ×Ļ×ļ", + "ãģ¯ ãĤĤãģ¡ãĤįãĤĵ", + "Ġк ан", + "Ġкан ал", + "ãģ«ãģª ãģ£ãģ¦ãģĦãģ¾ãģĻ", + "ĠاÙĦØ£ Ùĥثر", + "ت اØŃ", + "ÙĨت Ùĩ", + "ÙĨتÙĩ اء", + "ا ÙĪÙĬØ©", + "ĠBug ün", + "н Ñģкого", + "à¸Ķ à¹Īวà¸Ļ", + "é volution", + "ãģ£ãģ¦ ãģĦãģ¾ãģĹãģŁ", + "ãĤ ħ", + "ĠV ương", + "à¸łà¸²à¸ŀ ย", + "à¸łà¸²à¸ŀย à¸Ļ", + "à¸łà¸²à¸ŀยà¸Ļ à¸ķรà¹Į", + "Ġ×Ķ ×¦×ľ×Ļ×Ĺ", + "ĠاÙĦإسÙĦاÙħ ÙĬ", + "ÙĦÙĬ ب", + "Ġed ição", + "ÑģÑĤÑĢ ÐµÐ»", + "Ġkh úc", + "ÙĨÙħÙĪ Ø°", + "ÙĨÙħÙĪØ° ج", + "׾ צ×Ķ", + "ÑģÑĤав ил", + "à¸ĸ า", + "สรà¹īาà¸ĩ à¸Ħวาม", + "ãģĦ ãģ£ãģ±", + "ãģĦãģ£ãģ± ãģĦ", + "ÑģÑĤав лен", + "ĠاÙĦ ÙĤدس", + "Ġng ược", + "ب Ø®", + "ส หร", + "สหร ั", + "สหรั à¸IJ", + "ĠØ£ غ", + "Ġأغ سط", + "Ġأغسط س", + "ãģĨ ãģ¾", + "ãģĨãģ¾ ãģı", + "ĠêµŃ ìłľ", + "ØŃض ار", + "Ġd ừng", + "æĬ¼ ãģĹ", + "ت ÙĪØ§", + "تÙĪØ§ جد", + "ש×ŀ ×Ĺ×Ķ", + "ãģı ãĤĵ", + "Ġ×ij×¢ צ", + "Ġ×ijעצ ×Ŀ", + "×ŀ ׳×Ļ×ķת", + "×ķ ×Ļ×ĵ", + "×ķ×Ļ×ĵ ×IJ×ķ", + "à¸Ĭ ิà¸ĩ", + "Ġprac ÄĻ", + "Ġз аÑĤ", + "ĠзаÑĤ ем", + "ĠìŀIJ ìľł", + "Ġì¤ Ģ", + "Ġì¤Ģ ë¹Ħ", + "Ġb áºŃ", + "ĠbáºŃ c", + "Ġ×Ķ×ŀ צ×ij", + "ĠÙĤ ÙĬÙħØ©", + "à¹Ģà¸Ń à¹Ģà¸Ĭ", + "à¹Ģà¸Ńà¹Ģà¸Ĭ ีย", + "Ġperch è", + "ĠاÙĦع سÙĥر", + "ĠاÙĦعسÙĥر ÙĬØ©", + "ج ÙĬب", + "ëŀ µ", + "Ùħ Ùĩر", + "ÙħÙĩر جاÙĨ", + "Ùħ راÙĥ", + "ÙħراÙĥ ز", + "Ġод нако", + "à¸Ķี à¹Ĩ", + "Ġצ פ×ķ", + "Ġkullan ılan", + "Ġк ино", + "ãĥĨãĤ£ ãĥ³ãĤ°", + "ĠGi Ỽi", + "ت ÙĪØ²", + "تÙĪØ² ÙĬع", + "ย ิà¸Ļ", + "ยิà¸Ļ à¸Ķี", + "Ġc Åĵur", + "ĠiÅŁ aret", + "Ġ×ij×¢ ×ĸר", + "Ġ×ij×¢×ĸר ת", + "Ġп аÑĨи", + "ĠпаÑĨи енÑĤ", + "ãģ¿ãģŁãģĦ ãģ§ãģĻ", + "в ез", + "ли на", + "од е", + "Ġ×IJ×ķת ף", + "dıģ ınız", + "ĠÐIJ в", + "ĠÐIJв ÑĤоÑĢ", + "ï¼ ®", + "ĠC ần", + "ĠاÙĦا Ø®", + "ĠاÙĦاخ بار", + "Ġê±° ìĿĺ", + "Ġat enção", + "Ġgeld iÄŁi", + "ãĤª ãĤ¹", + "ãĤªãĤ¹ ãĤ¹", + "ãĤªãĤ¹ãĤ¹ ãĥ¡", + "ев Ñĭе", + "кÑĢÑĭ л", + "à¹Ģà¸Ĭ ียà¸ĩ", + "à¹Ģà¸Ĭียà¸ĩ à¹ĥหมà¹Ī", + "Ġmar ço", + "ĠاÙĦÙħ ادة", + "Ġг ол", + "Ġsprzeda ży", + "Ġíķ´ ê²°", + "ĠÐķ го", + "ê¹ Ģ", + "Ġ׾ק×ij׾ ת", + "ĠاÙĦÙģ ÙĨاÙĨ", + "Ġcomunic ación", + "à¹Ģสà¹īà¸Ļ à¸Ĺาà¸ĩ", + "íĺ ¹", + "à¸Ĭ ำ", + "à¸Ĭำ ระ", + "Ġ׼ ×IJ×ŀ", + "Ġ׼×IJ×ŀ ×ķר", + "à¸Ĭ à¹Īาà¸ĩ", + "ز Ùĩر", + "Ġklient ów", + "ива ÑİÑĤ", + "ан г", + "׳ ×ļ", + "Ġg á»įn", + "Ãľ R", + "ìĺģ ìĥģ", + "Ġغ زة", + "ìĿĮ ìĿĦ", + "Ġbez po", + "Ġbezpo ÅĽ", + "ĠbezpoÅĽ redni", + "ĠاÙĦÙħ ÙĪØ§", + "ĠاÙĦÙħÙĪØ§ Ø·ÙĨ", + "ĠاÙĦÙħÙĪØ§Ø·ÙĨ ÙĬÙĨ", + "ãĤĮ ãģ¾ãģĻ", + "ĠмаÑĤ Ñĩ", + "×IJ ×ķף", + "Ġر سÙħÙĬ", + "ĠÑįк он", + "ĠÑįкон ом", + "ĠÑįконом иÑĩеÑģк", + "ãĥľ ãĥ¼", + "Ġд иÑĢ", + "ĠдиÑĢ ÐµÐºÑĤоÑĢ", + "ĠÑģк оÑĢо", + "à¸ļ ำ", + "à¸ļำ ร", + "à¸ļำร ุà¸ĩ", + "ĠÑĦ ÑĥÑĤ", + "ĠÑĦÑĥÑĤ бол", + "Ġ×IJ ×Ļ׾", + "Ġì¤ij êµŃ", + "ìľ ¤", + "eÄŁ e", + "à¹Ħ à¸ģà¹Ī", + "tra î", + "traî n", + "ĠÑĤ ÑĢÑĥб", + "à¹Ģà¸ļ ื", + "à¹Ģà¸ļื à¹īà¸Ńà¸ĩ", + "à¹ģม à¸Ļ", + "ĠتØŃ دÙĬØ«", + "Ġ׼ עת", + "ØŃ اسب", + "lı ÄŁa", + "×§×Ļ ×Ļ×ŀ×Ļ×Ŀ", + "оÑģÑĤ ÑĮÑİ", + "à¸Ŀ ั", + "à¸Ŀั à¹Īà¸ĩ", + "Ø´ غÙĦ", + "ìĽ ¹", + "Ġкажд ого", + "Ġbölüm ü", + "หà¸Ļ ี", + "Ġistedi ÄŁi", + "Ġtr ưng", + "ãĥ Į", + "ฮ à¸Ń", + "Ø£ÙĨ Ø´", + "Ø£ÙĨØ´ طة", + "ĠاÙĦÙħ سÙĬ", + "ĠاÙĦÙħسÙĬ ØŃ", + "ลัà¸ģษ à¸ĵà¹Į", + "Ġn á»Ńa", + "à¸Ĺีà¹Ī à¸ķà¹īà¸Ńà¸ĩà¸ģาร", + "ÑĪ ÐµÐº", + "л Ñij", + "Ġש ×Ļ×Ķ", + "Ġש×Ļ×Ķ ×Ļ×Ķ", + "Ġkhu ôn", + "ĠÑĤÑĢеб ованиÑı", + "Ġ×ľ×¢ ×ĸ×ķר", + "ĠاÙĦع Ùħر", + "ราà¸Ħา à¸ĸูà¸ģ", + "ÙĩÙı ÙħÙĴ", + "ü st", + "üst ü", + "Ġден ег", + "Ġn ạ", + "à¸Ĥà¸Ļ ม", + "Ġбл аг", + "Ġблаг од", + "Ġблагод аÑĢ", + "ĠблагодаÑĢ Ñı", + "Ø¥ سÙĦاÙħ", + "à¸Ļิ ว", + "çŁ¥ ãĤīãģªãģĦ", + "Ø« ÙĤØ©", + "Ġг олоÑģ", + "×IJ×ķר ×Ĺ", + "Ġtr ứng", + "Ġод ном", + "ĠkoÅĦ cu", + "Ġ×ķ רק", + "Wi ÄĻ", + "WiÄĻ cej", + "Ġ×IJ ×Ļ׼×ķת", + "Ġ×IJ×Ļ׼×ķת ×Ļ", + "Ñģ оÑģ", + "Ġje żeli", + "以ä¸ĭ ãģ®", + "å°ı ãģķ", + "å°ıãģķ ãģª", + "олог ии", + "Ġоб ÑģлÑĥж", + "ĠобÑģлÑĥж ива", + "Ùĥت ابة", + "Ġê´Ģ ìĭ¬", + "×¢ ש×Ļר", + "Ġaras ındaki", + "ĠÑĢай она", + "ÙĪØ§ جب", + "Ġ×ij×Ĺ×Ļ ×Ļ", + "íķ´ ì£¼", + "Ġg óc", + "ай л", + "ĠT ình", + "æļ® ãĤī", + "æļ®ãĤī ãģĹ", + "æĻĤ ãģ«ãģ¯", + "ĠгоÑĢод е", + "Ġ׼×IJ ×Ļ׾", + "Ġ׼×IJ×Ļ׾ ×ķ", + "ĠC á»Ļng", + "ãģ©ãģĨ ãģĹãģ¦ãĤĤ", + "×Ĺ ×ķ×£", + "تØŃ رÙĥ", + "ĠÑģлов ам", + "à¸Īะ à¸Ĭà¹Īวย", + "ĠاÙĦÙħست ÙĤبÙĦ", + "ÙĤ ض", + "ÙĤض ÙĬ", + "×ijס ×ķפ", + "×ijס×ķפ ×ķ", + "iÄĻ Äĩ", + "ĠY ıl", + "Ø´ ÙĬØ®", + "à¸Ħุà¸ĵ à¸Īะ", + "ש×ŀ ×ķת", + "Ġت عرض", + "Ġanál ise", + "ĠÑģоб иÑĢа", + "à¹Ģà¸ŀ à¸Ĭ", + "à¹Ģà¸ŀà¸Ĭ ร", + "Ġв ели", + "Ġвели к", + "สั à¹īà¸Ļ", + "Ġpop ulação", + "รà¹Īวม à¸ģัà¸Ļ", + "×Ĺ ×ŀ", + "×Ĺ×ŀ ×Ļש×Ļ", + "ס ×Ļס", + "åĨħ ãģ§", + "Ġsob Äħ", + "ĠY ay", + "ĠYay ın", + "ãĥ¡ ãĥĭãĥ¥ãĥ¼", + "ĠпÑĢедоÑģÑĤав лÑı", + "ãģł ã썿ĢĿãģĨ", + "Ġê³ł ê°Ŀ", + "Ġод ним", + "à¹ĥà¸Ļ à¹Ģรืà¹Īà¸Ńà¸ĩ", + "Ġs á»ķ", + "ĠÐĹ Ð´ÐµÑģÑĮ", + "Ġизмен ениÑı", + "ĠìĿ¼ ìĿĦ", + "ãģªãģ® ãģł", + "клад Ñĭва", + "ÑĢ Ð¼Ð°", + "Ġ×ķ×ij ׼׾", + "تأ ÙħÙĬÙĨ", + "ĠпÑĢи ÑıÑĤ", + "ĠпÑĢиÑıÑĤ н", + "Ùħ Ùħار", + "ÙħÙħار سة", + "ãģ¨ãģª ãģ£ãģ¦", + "Ġج ÙħÙĬÙĦ", + "Ġì§ Ī", + "Ġì§Ī 문", + "Ġquest ão", + "i é", + "ié ndo", + "หà¹īà¸Ńà¸ĩ à¸ŀัà¸ģ", + "ãĥij ãĥ¼ãĥĪ", + "ÑĤвеÑĢж да", + "н Ñģкой", + "з ал", + "มุ à¹Īà¸ĩ", + "á» Ĭ", + "Ġ×Ķ×IJ×Ĺר ×ķ׳×Ķ", + "ĠTh ư", + "주 민", + "ĠاÙĦع ب", + "év én", + "évén ement", + "ÙĤÙĪ Ø§Ø¹Ø¯", + "د Ùı", + "ĠìķĬ ìĬµëĭĪëĭ¤", + "Ġë³´ 기", + "Ġyapıl ması", + "à¹Ģร าà¸ģ", + "à¹Ģราà¸ģ à¹ĩ", + "ØŃ ذر", + "ÙĤ صر", + "ãģ¦ãģĹãģ¾ ãģĦãģ¾ãģĹãģŁ", + "Ġà¹Ģà¸Ľà¹ĩà¸Ļ à¸ķà¹īà¸Ļ", + "ãģ¨ ãģ«", + "ãģ¨ãģ« ãģĭ", + "ãģ¨ãģ«ãģĭ ãģı", + "н ÑĨе", + "зв Ñĥк", + "ãģĹãĤĪãģĨ ãģ¨", + "ĠاÙĦصØŃ ÙĬØ©", + "Ġש×Ķ ×Ļ×ķ", + "ĠDi ÄŁer", + "ÙĤÙĦ ÙĤ", + "ãĤ¸ãĥ£ ãĥ³", + "Ġr á»Ŀi", + "Ġл еÑĩ", + "ĠлеÑĩ ениÑı", + "تب اد", + "تباد ÙĦ", + "צ פ×Ķ", + "à¸Ħวาม à¹Ģหà¹ĩà¸Ļ", + "ĠØ´ ب", + "Ġشب ÙĥØ©", + "ר ×Ļ×§", + "Ùħ عد", + "Ùħعد ات", + "dıģ ında", + "Ġ×ijש ׳×Ļ×Ŀ", + "Ġ×Ķ ×Ļשר×IJ׾", + "Ġ×Ķ×Ļשר×IJ׾ ×Ļת", + "Ġsı nav", + "׳צ ×Ļ×Ĵ", + "วัà¸ķ à¸ĸุ", + "ĠاÙĦبر ÙĦÙħ", + "ĠاÙĦبرÙĦÙħ اÙĨ", + "t ivitÃł", + "ãĤĵãģł ãĤįãģĨ", + "×§×Ļ ×Ļ×ŀ", + "ÙĦÙĬ Ùĥ", + "ĠÄij ò", + "ĠÄijò i", + "ĠÐĺн ÑĤеÑĢ", + "ĠÐĺнÑĤеÑĢ Ð½ÐµÑĤ", + "ãģ«ãģ¨ãģ£ãģ¦ ãģ¯", + "ãģ£ ãģĵ", + "×§ ×ķס", + "ست ØŃÙĤ", + "æķĻ ãģĪãģ¦", + "ãĥĢ ãĥ¡", + "ĠÙħÙĨ زÙĦ", + "à¹Ģà¸ĭ à¹ĩà¸Ļ", + "使 ãģĪãĤĭ", + "è¦ĭ ç©į", + "è¦ĭç©į ãĤĤãĤĬ", + "Ø£ Ùģ", + "Ø£Ùģ Ùĥار", + "Ġиг ÑĢов", + "ĠигÑĢов Ñĭе", + "Ġm ÄĻż", + "ĠmÄĻż czy", + "ĠmÄĻżczy zn", + "ĠاÙĦØŃ ÙĤÙĬÙĤÙĬ", + "ع بر", + "׼×ķ׾ ׳×ķ", + "íĿ ¥", + "×ŀ×IJ ×ķ×Ĺר", + "خت ص", + "ãĥŀ ãĥŀ", + "Ġ×IJ×Ĺ ×ķ×ĸ", + "í ĮĢ", + "Ġr á»iji", + "Ġв ÑĤоÑĢ", + "ĠвÑĤоÑĢ Ð¾Ð¹", + "Ġl ẫn", + "пÑĢ Ð¾Ð¼", + "пÑĢом ÑĭÑĪ", + "пÑĢомÑĭÑĪ Ð»ÐµÐ½", + "пÑĢомÑĭÑĪлен н", + "ĠоÑĤноÑĪ ÐµÐ½Ð¸Ñı", + "Ġs ứ", + "Ġм обилÑĮ", + "ĠмобилÑĮ н", + "ĠÑįÑĤ омÑĥ", + "Ġt ạp", + "ĠìĤ¬ ê±´", + "ĠìķĮ 볤", + "Ùĥ Ùı", + "ÙĥÙı ÙħÙĴ", + "Ġ×§ ×ķר×Ķ", + "ĠÑĦ иÑĢ", + "ĠÑĦиÑĢ Ð¼", + "Ġsık ıntı", + "׳ ׼", + "׳׼ ×ķף", + "ÙĪÙĦÙĪØ¬ ÙĬ", + "ØŃ اÙĨ", + "Ġlo ạn", + "Ġ×IJ׾ ×£", + "Ġm ắn", + "abh äng", + "abhäng ig", + "ĠÑĥÑĢов нÑı", + "Ġ׾×ij×ĵ ×ķ×§", + "ÙĬ ÙħÙĨ", + "lay ın", + "Ġh ải", + "Ġзав од", + "ĠìķĦ 주", + "สà¸ĸ า", + "สà¸ĸา à¸ļัà¸Ļ", + "Ġgüven lik", + "à¹Ģà¸Ķ à¹Īà¸Ļ", + "×ij×ĵ ×§", + "Ġë Ī", + "ĠëĪ Ħ", + "ĠëĪĦ 구", + "éĩįè¦ģ ãģª", + "รà¸Ńà¸ĩ รัà¸ļ", + "sch lie", + "schlie ÃŁen", + "Ġìĸ ¼", + "Ġìĸ¼ ë§Ī", + "Ġìĸ¼ë§Ī ëĤĺ", + "ÑĤи ки", + "íķľëĭ¤ ê³ł", + "ãģłãģ£ãģŁ ãĤī", + "Ġ×Ķ ×Ļ×ĺ×ij", + "ãģªãģijãĤĮãģ° ãģªãĤīãģªãģĦ", + "â Ì", + "Ã¢Ì £", + "Ġph ạt", + "ak Ä±ÅŁ", + "ãģ¦ãģĹãģ¾ ãģĦãģ¾ãģĻ", + "à¹Ģà¸ĭ à¹ĩ", + "ĠС егоднÑı", + "Ġinsan ların", + "Ġdévelop pe", + "ת פר", + "תפר ×Ļ×ĺ", + "اÙĨت شار", + "ê° ij", + "Fran çois", + "Ø£ÙĦ ع", + "Ø£ÙĦع اب", + "ãĤĴ è¶ħ", + "ãĤĴè¶ħ ãģĪ", + "Ġê°Ļ ìĬµëĭĪëĭ¤", + "ãĤ³ ãĥ¬", + "ĠмеÑģÑı ÑĨев", + "íĮ ħ", + "ĠاÙĦج اÙħعة", + "ìĿ¸ íĦ°", + "ìĿ¸íĦ° ëĦ·", + "×ĵר ×ķש", + "ĠÙĪØ£ شار", + "ĠпÑĢав ила", + "ãģĿãģĵ ãģ«", + "×Ĺ ×ŀ×ĵ", + "à¹Ģหà¸ķุ à¸ģารà¸ĵà¹Į", + "Ġê²½ íĹĺ", + "ãģ¶ ãĤĬ", + "׾ ש", + "׾ש ×ķף", + "à¹Ģ à¸ĸ", + "ĠDo ÄŁu", + "ĠиÑģполÑĮзов ание", + "Ġçoc uÄŁu", + "магазин е", + "ĠÄiji á»ĥn", + "Ġas lı", + "Ġaslı nda", + "Ġdoen ça", + "Ġس اع", + "Ġساع ات", + "ĠиÑģполÑĮзов аниÑı", + "ר ×ķצ×Ļ×Ŀ", + "ĠзнаÑĩ иÑĤ", + "ĠÑĢаР¼", + "ĠÑĢам каÑħ", + "ê±° 리", + "Ġп ÑĭÑĤа", + "ãĥģ ãĥ³", + "Ġпо Ñģк", + "ĠпоÑģк олÑĮ", + "ĠпоÑģколÑĮ кÑĥ", + "Ø¥ بر", + "إبر اÙĩ", + "إبراÙĩ ÙĬÙħ", + "ĠÑĤÑĢ ÐµÑħ", + "ĠGen ç", + "س ÙĪÙģ", + "Ġve ÃŃculo", + "ĠNg ân", + "ĠоÑĩеÑĢ ÐµÐ´ÑĮ", + "à¸Ħร ึà¹Īà¸ĩ", + "×IJ ×ij×Ļ", + "à¸ķ à¹īม", + "ãĤĴè¡Į ãģĦ", + "ĠاÙĦساب ÙĤØ©", + "на ÑĨи", + "наÑĨи она", + "наÑĨиона лÑĮн", + "Ġgest ión", + "ت ÙĤد", + "ĠاÙĦبÙĬ اÙĨ", + "ĠاÙĦبÙĬاÙĨ ات", + "ĠاÙĦ اÙĨتخاب", + "ĠاÙĦاÙĨتخاب ات", + "à¹Ģà¸Ĭ à¹Īา", + "×ĵ ×IJ×Ĵ", + "Ġ׾×Ĵ ×ŀר×Ļ", + "Ġت ØŃتاج", + "Ġth ôn", + "à¸ķ à¹īà¸Ńà¸Ļ", + "à¸ķà¹īà¸Ńà¸Ļ รัà¸ļ", + "女 ãģ®", + "女ãģ® åŃIJ", + "Ġth ợ", + "Ø· ØŃÙĨ", + "ารà¹Į à¸Ķ", + "ת ×ŀ×Ļ×ĵ", + "ĠÑģам Ñĭм", + "Ġìĭľ íĸī", + "Ø¥ صد", + "إصد ار", + "ĠNgh á»ĩ", + "ìķ ķ", + "س ئ", + "سئ ÙĦ", + "à¸Ń าร", + "à¸Ńาร ม", + "à¸Ńารม à¸ĵà¹Į", + "à¹ģ ฮ", + "׳×ĺ ׾", + "Ġì¢ĭ ìķĦ", + "×ķ׾ ׾", + "Ġ×ij ×Ľ×ª×ij", + "ãĤ« ãĥ©", + "צע ×Ļר×Ļ×Ŀ", + "تعب ÙĬر", + "Ġ×ŀ קר×Ķ", + "ĠÑĦак ÑĤоÑĢ", + "Ġت ÙħاÙħ", + "ĠتÙħاÙħ ا", + "ëį ķ", + "Ġv ưá»Ŀ", + "Ġvưá»Ŀ n", + "Ġd Ä±ÅŁÄ±", + "ãģĦ ãģ¡", + "Ġ׾ק ׳×ķת", + "ĠاÙĦع ÙĦاÙĤات", + "п Ñĥб", + "пÑĥб ли", + "Ø¥ ÙĬÙħ", + "Ø¥ÙĬÙħ اÙĨ", + "à¸Ńำ à¸Ļา", + "à¸Ńำà¸Ļา à¸Ī", + "åIJ« ãģ¾ãĤĮ", + "ãĤĭ ãģŁãĤģãģ«", + "ס ×Ĵ", + "ס×Ĵ ׳×ķף", + "تØŃ دÙĬ", + "Ġaup rès", + "ĠاÙĦج Ùĩا", + "ĠاÙĦجÙĩا ز", + "Ġ×ŀ ת×Ĺת", + "ен нÑĥÑİ", + "Ġз им", + "à¸ģา à¹ģà¸Ł", + "Ġ×ijת ×ķר", + "Ġngh è", + "Ġnghè o", + "ĠÐĽ Ñİ", + "ĠÐĽÑİ Ð±", + "תק צ×Ļ×ij", + "×ŀ×¢ ש×Ķ", + "ĠاÙĦبÙĬ ت", + "צ ×Ļפ", + "ĠобÑıз ан", + "ĠM á»Ĺi", + "ĠТ ÑĥÑĢ", + "ĠÙĪØ¨ اÙĦت", + "ĠÙĪØ¨Ø§ÙĦت اÙĦÙĬ", + "Ġdéc ision", + "Ġب د", + "Ġبد أت", + "Ġc ục", + "Ġb ask", + "Ġbask ı", + "Ġhat ırl", + "Ġhatırl a", + "å°ı ãģķãģĦ", + "Ġgerçek ten", + "à¸ľ ัà¸ģ", + "åı¯èĥ½ ãģª", + "×ŀ×IJ ס", + "Ġcr ÃŃtica", + "ĠìĿĺ ìĽIJ", + "عÙĤ ÙĪØ¯", + "×ĺ ׼׳", + "×ĺ׼׳ ×ķ׾×ķ×Ĵ×Ļ×Ķ", + "è¨Ģ ãģĪãģ°", + "ĠÙĤ ÙĨا", + "ĠÙĤÙĨا Ø©", + "ĠìĿ´ê²ĥ ìĿĢ", + "ت صر", + "à¸Ł ัà¸Ļ", + "ĠÑĢе ÑĨеп", + "ĠÑĢеÑĨеп ÑĤ", + "ĠبÙĨ Ù쨳", + "ÑĢо ÑĪ", + "ĠмаÑĢ ÑĤа", + "Ġson ras", + "Ġsonras ı", + "×ķ×ij ש", + "ãĥª ãĤ¹ãĤ¯", + "ĠFranç ais", + "á» ļ", + "ê° Ķ", + "Ġ×Ķ×ijר ×Ļת", + "פ ×Ļצ", + "פ×Ļצ ×ķ×Ļ", + "ĠÙĦÙħا ذا", + "ĠÐļи ев", + "ĠÑģ мÑĭÑģл", + "ê¸Ī ìľµ", + "ãĤ·ãĥ£ ãĥ«", + "ãĥ© ãĤ¤ãĥĪ", + "ìĽ ĥ", + "×ŀ ×Ĺר", + "ãĨ į", + "Ġkullan ım", + "Ġ×IJצ׾ ׳×ķ", + "Ġt Ãłn", + "ãĥı ãĥ¼", + "ãģ¨ ãģ¨ãĤĤ", + "ãģ¨ãģ¨ãĤĤ ãģ«", + "ÑĢ ÐµÐ³", + "ÑĢег и", + "ÑĢеги он", + "ãģªãģı ãģªãĤĭ", + "Ġch ảy", + "Ġج ÙĩØ©", + "ÅĦsk iej", + "à¸Ńี à¹Ģม", + "à¸Ńีà¹Ģม ล", + "ãģį ãģ£ãģ¨", + "ĠìĺĪ ìĤ°", + "Ġkit abı", + "Ġedu cação", + "Ġbul uÅŁ", + "олог иÑı", + "Ġкон кÑĢ", + "ĠконкÑĢ ÐµÑĤ", + "×Ĵ ×Ļר", + "ĠпÑĢед лаг", + "ĠпÑĢедлаг аеÑĤ", + "ĠY ên", + "Ġíķľ ë²Ī", + "Ġ×ŀ ר׼×ĸ×Ļ", + "à¹Ģà¸Ľà¸´à¸Ķ à¹Ģà¸ľà¸¢", + "ÑĤвеÑĢ Ð´", + "ĠH á»ĩ", + "ĠÐĵ ÑĢ", + "à¸Ŀ à¹īา", + "×Ķ ×©×§", + "×Ķשק ×¢×Ķ", + "Ġна Ñĥк", + "ìłIJ ìĿĦ", + "Ġн елÑĮ", + "ĠнелÑĮ з", + "ĠнелÑĮз Ñı", + "г ин", + "ĠB öl", + "ĠBöl ge", + "Ġв ла", + "Ġвла ÑģÑĤи", + "à¹Ģà¸Ļ à¹ĩ", + "à¹Ģà¸Ļà¹ĩ à¸ķ", + "ê³ ¨", + "Ġö ld", + "Ġöld ür", + "׼׳ ×¢", + "ĠاÙĦÙĩ ÙĬئة", + "ت ارÙĬØ®", + "ĠÐij ÑĢ", + "ĠÑģ мож", + "ĠÑģмож еÑĤе", + "ĠL úc", + "à¹Ħà¸Ľ à¸ĸึà¸ĩ", + "ĠBakan ı", + "Ġerklä rt", + "ĠÐIJ на", + "Ġsc ène", + "åķı ãģĦ", + "åķıãģĦ åIJĪãĤıãģĽ", + "ÙħÙĩ ÙĨد", + "ÙħÙĩÙĨد س", + "Ġн азвание", + "ив аниÑı", + "ãĤĴ å¤īãģĪ", + "ä»ĺãģį åIJĪ", + "ãĥij ãĤ½", + "ãĥijãĤ½ ãĤ³ãĥ³", + "æĺİ ãĤī", + "æĺİãĤī ãģĭ", + "à¹Ģà¸Ńà¸ģ สาร", + "à¹Ģà¸ģิà¸Ļ à¹Ħà¸Ľ", + "л еп", + "ãģĹãģŁ ãĤĤãģ®", + "ĠC âm", + "ĠCâm ara", + "×§×ķ׾ ׳×ķ×¢", + "Ġ×ij×Ĵ ×Ļף", + "Ġoc zy", + "Ġoczy wiÅĽcie", + "att ivitÃł", + "ãĥĵ ãĥ¥ãĥ¼", + "Ġeduc ación", + "İ YE", + "ê¹Į ìļĶ", + "ãĤ¨ ãĥªãĤ¢", + "н еÑģÑĤи", + "Ġm óg", + "Ġmóg ÅĤ", + "Ġ×§×ĺ ׳×Ļ×Ŀ", + "ĠPr ä", + "Ġ×ľ×¢ ×ij×ķר", + "بÙĨ Ùī", + "з ол", + "зол оÑĤ", + "Ġwn ÄĻtr", + "ĠwnÄĻtr z", + "Ġconstr ução", + "รัà¸ļ รà¸Ńà¸ĩ", + "س جÙĨ", + "Ġ×§ ×ķ׳", + "ס ×Ļפ×ķר", + "ĠÙħ دÙī", + "رض Ùī", + "п лав", + "ï¼ ¥", + "Ġil a", + "Ġila ç", + "ãĤĭ ãģ¹ãģį", + "ĠÙħ ÙĪÙĤÙģ", + "à¸ģร ุ", + "à¸ģรุ à¸ĵา", + "chodzÄħ c", + "ĠÑĤÑĭ Ñģ", + "Ðķ вÑĢо", + "ĠÙĬ ØŃدث", + "ãĥ¡ ãĤ¤ãĥ³", + "ĠاÙĦص ØŃÙĬ", + "ĠÐĶ Ð°Ð½", + "دع اء", + "ãĤ´ ãĥ¼ãĥ«", + "ש ×ł×ª×Ļ", + "×©×ł×ª×Ļ ×Ļ×Ŀ", + "à¸Ķà¹īวย à¸ģัà¸Ļ", + "Ġol acaģı", + "Ġ×ij ×ŀ×Ĺ×Ļר", + "×Ķ ×§", + "×Ķ×§ ×ŀת", + "ãĥ¢ ãĥİ", + "ĠçalÄ±ÅŁ tı", + "Ġjó venes", + "ãģĦãģı ãĤī", + "ĠÙħ عدÙĦ", + "ĠC Å©ng", + "ĠSeg ún", + "Ġdönem de", + "Ġ׾ ×Ļ×ĵ×Ļ", + "ãģį ãģ¡", + "ãģįãģ¡ ãĤĵ", + "ãģįãģ¡ãĤĵ ãģ¨", + "Ù쨱 ÙĨس", + "Ù쨱ÙĨس ا", + "åIJij ãģį", + "Ġcamp aña", + "ĠÑģам оÑģÑĤоÑı", + "ĠÑģамоÑģÑĤоÑı ÑĤелÑĮно", + "á» Ģ", + "ÙĤ ÙĪØ§", + "س ÙĦاØŃ", + "à¸ģระ à¹ģ", + "à¸ģระà¹ģ ส", + "ĠполÑĮз Ñĥ", + "n qu", + "nqu ête", + "รà¹Īวม à¸ģัà¸ļ", + "ëĬIJ ëĥIJ", + "à¸Ĺีม à¸Ĭาà¸ķิ", + "Ġyıll ık", + "ìĬ ¬", + "ĠØ£ صØŃاب", + "ill é", + "Ġdó la", + "Ġdóla res", + "Ġк ож", + "Ġкож и", + "ล à¹īà¸Ń", + "à¹Ģรีย à¸ļร", + "à¹Ģรียà¸ļร à¹īà¸Ńย", + "à¹Ģà¸ŀ ิ", + "à¹Ģà¸ŀิ à¹Īà¸ĩ", + "ÑĢиÑĤоÑĢ Ð¸", + "Ġí ijľ", + "Ġíijľ íĺĦ", + "ĠпеÑĢ ÐµÐ²", + "ĠпеÑĢев од", + "פ×Ĵ ×Ļ×¢×Ķ", + "ĠdeÄŁerlendir me", + "Ùģ Ø§Ø¦", + "ĠвÑĭ год", + "ınız ı", + "×ķ׼ ×Ļ×Ĺ", + "ĠдоÑģÑĤ иг", + "Ġng Ãłn", + "æĢĿ ãģ£ãģŁ", + "ĠÐķ ÑģÑĤÑĮ", + "ĠاÙĦر غÙħ", + "ĠzwiÄħz ane", + "رب Ø·", + "à¸Ļ ึà¸ĩ", + "Ġ׾×Ĺ ×ķ×§", + "Ġszczeg óln", + "Ġszczególn ie", + "Ġبا ستخداÙħ", + "ĠfÃŃs ico", + "×¢ ס", + "עס ×ķ×§", + "سÙĦ ÙĪÙĥ", + "Ġا ØŃد", + "Ñĩ ÑijÑĤ", + "×ĸ׼ ×Ķ", + "Ġl á»ĩnh", + "ĠÙĪ ØŃت", + "ĠÙĪØŃØª Ùī", + "à¸Ħวาม สามารà¸ĸ", + "à¸Ńยูà¹Ī à¹ģลà¹īว", + "à¸ģาร à¹Ģà¸Ķิà¸Ļà¸Ĺาà¸ĩ", + "تخ ذ", + "צ×Ļ ×ķ×ĵ", + "ĠاÙĦØ£ س", + "ĠاÙĦأس ÙĩÙħ", + "Ġt á»ĩ", + "ãģ£ãģ¦ ãģĦãģ¦", + "สร ุ", + "สรุ à¸Ľ", + "Ġком ÑĦ", + "ĠкомÑĦ оÑĢÑĤ", + "ìĺ¤ ëĬĶ", + "ĠÑĢаз в", + "ĠÑĢазв ива", + "л анд", + "h änge", + "ĠبÙĨ سبة", + "à¹Ģà¸Ĥ ียว", + "עצ ×Ŀ", + "Ġ׾ ×ľ×Ľ×ª", + "Ñģо ÑĨиалÑĮн", + "Ġëĭ¤ìĿĮ ê³¼", + "Ġרש ×ķ×ŀ", + "×ŀר ×Ĺ×ij", + "س ÙĤØ·", + "Ġalan ı", + "ĠÄij á»ĩ", + "é£Łãģ¹ ãĤĭ", + "à¸Ķ ึà¸ĩ", + "Ġgegen über", + "ĠبÙĩ ذÙĩ", + "à¸ĸืà¸Ń à¹Ģà¸Ľà¹ĩà¸Ļ", + "ëķ ħ", + "à¸Ħà¸Ļ à¹Ħà¸Ĺย", + "ãĤ¢ ãĤ¦", + "ãĤ¢ãĤ¦ ãĥĪ", + "ศ ัà¸ģ", + "ศัà¸ģ à¸Ķิ", + "ศัà¸ģà¸Ķิ à¹Į", + "ÙĤÙĪ Ø§ÙĨ", + "ÙĤÙĪØ§ÙĨ ÙĬÙĨ", + "Ġhá»Ļ p", + "ãģªãģıãģª ãģ£ãģ¦", + "Ġ×IJ ×ŀ׳", + "Ġ×IJ×ŀ׳ ×Ŀ", + "à¹Ģà¸ķ ืà¸Ńà¸Ļ", + "ĠзавиÑģ им", + "ĠзавиÑģим оÑģÑĤи", + "ת ×Ļ×IJ", + "ת×Ļ×IJ ×ķר", + "å§ĭãĤģ ãģŁ", + "Ġng á»į", + "Ġngá»į t", + "íĴ į", + "ê³¼ ìŀ¥", + "Ġb ại", + "ãģ§ãģį ãģ¦", + "Ġcomeç ar", + "à¸Ľà¸£ าà¸ģ", + "à¸Ľà¸£à¸²à¸ģ à¸ı", + "Ġгод Ñĭ", + "м еÑģ", + "ĠاÙĦÙħست ÙĪÙī", + "ĠÑģам Ñĭе", + "л леÑĢ", + "ãģ£ãģ¦ãģĹãģ¾ ãģĦãģ¾ãģĻ", + "ãģ¨ãģ® ãģĵãģ¨", + "bi ó", + "à¸ģล à¹Īà¸Ńà¸ĩ", + "ĠاÙĦز ÙĪØ¬", + "ãģ«è¡Į ãģ£ãģŁ", + "à¸Ħà¹Ī à¸Ńà¸Ļ", + "à¸Ħà¹Īà¸Ńà¸Ļ à¸Ĥà¹īาà¸ĩ", + "ĠbaÄŁ l", + "ĠbaÄŁl ant", + "ĠbaÄŁlant ı", + "確 ãģĭ", + "確ãģĭ ãģ«", + "ãĥľ ãĥ¼ãĥ«", + "çµĤ ãĤıãĤĬ", + "ש ×ŀר", + "à¸Ĺีà¹Ī สามารà¸ĸ", + "ÙĦ زÙħ", + "д аеÑĤÑģÑı", + "รัà¸ļ à¸Ľà¸£à¸°", + "รัà¸ļà¸Ľà¸£à¸° à¸Ĺาà¸Ļ", + "å¤ī ãĤıãĤĬ", + "ï¼ ¢", + "ĠìĺĪìĪĺ ëĭĺ", + "ãĤĪãģĨ ãģ¨", + "มัà¸ģ à¸Īะ", + "ĠH ương", + "ÙĨ Ù쨰", + "×ŀ×ĵ ×ĵ", + "ĠìĿ¸ ìłķ", + "Ñħод иÑĤÑĮ", + "ĠзавиÑģ иÑĤ", + "×ķ×ĵ ×Ļ×¢", + "ãģĵãģ¨ãģĮ ãģĤãĤĬãģ¾ãģĻ", + "ع راÙĤ", + "سط ØŃ", + "à¸ģำ à¹Ħร", + "ëĵ¤ ëıĦ", + "×Ļצ ×Ļר×Ķ", + "ãģĨ ãģĵãģ¨", + "ÙĦا ØŃÙĤ", + "ãģĦ ãĤĮãģ°", + "ĠиÑģполÑĮз ÑĥÑİÑĤ", + "ĠB ợi", + "Ġשק׾ ×Ļ×Ŀ", + "ÑĨи кл", + "ÐIJ Ðŀ", + "Ġ×ijש ׳×Ķ", + "ÙĨØ´ Ø·", + "Ġש ×Ļ׳×ķ×Ļ", + "Ġש×Ļ׳×ķ×Ļ ×Ļ×Ŀ", + "Ġpobl ación", + "ĠH ưng", + "ระ ว", + "ระว ัà¸ĩ", + "رÙĬاض Ø©", + "ر صد", + "تÙĤ ÙĦÙĬ", + "تÙĤÙĦÙĬ د", + "Ġülk em", + "Ġülkem iz", + "à¸Ĭ ะ", + "ãĤ¯ãĥª ãĥ¼ãĥł", + "èģŀ ãģĦãģŁ", + "Ġwa ż", + "Ġważ ne", + "ê±° ëĵł", + "ê±°ëĵł ìļĶ", + "×ŀ×IJ ×ij×§", + "×Ĺ×ĵ ש×ķת", + "ĠW roc", + "ĠWroc ÅĤaw", + "ĠKü ltür", + "s ist", + "sist ência", + "×¢×ĸר ×Ķ", + "Ġg ương", + "รà¹īาà¸Ļ à¸Ħà¹īา", + "ĠÙĪØ£ ÙĪØ¶ØŃ", + "ánd ose", + "ãĤ· ãĥ¼ãĥ³", + "×IJ׳ ר×Ĵ", + "×IJ׳ר×Ĵ ×Ļ×Ķ", + "ãģªãģĦ ãģ§ãģĻ", + "Ġkh á»§ng", + "Ġ문 ìĦľ", + "Ġ×ij ×ĵ×ijר", + "×ĵ ×Ļ×ķ", + "×ĵ×Ļ×ķ ×ķ×Ĺ", + "Ġré gl", + "ÙħÙĪ Ø§Ø¯", + "об оÑĢ", + "обоÑĢ Ð¾ÑĤ", + "Ġ×Ķ ×ij׾", + "Ġ×Ķ×ij׾ ×ķ×Ĵ", + "ØŃ اÙħ", + "ĠاÙĦع اص", + "ĠاÙĦعاص ÙħØ©", + "пеÑĢ Ð°ÑĤоÑĢ", + "ت Ø®ÙĦ", + "تخÙĦ ص", + "ãģŁãģł ãģĹ", + "ت سÙħ", + "à¹Ĥรà¸ĩ à¸ŀ", + "à¹Ĥรà¸ĩà¸ŀ ยา", + "à¹Ĥรà¸ĩà¸ŀยา à¸ļาล", + "ĠY ük", + "ĠYük sek", + "Ġש ׳×Ļת", + "Ġש׳×Ļת ף", + "liÄŁ e", + "Ġפ ת", + "Ġפת ×ķ×Ĺ", + "Ġbe ÄŁ", + "ĠbeÄŁ en", + "Ġ×ŀ ×ķר", + "Ġ×ŀ×ķר ׼×ij", + "Ġرس اÙĦØ©", + "íĨµ ìĭł", + "Ġaval ia", + "Ġavalia ções", + "Ġman h", + "Ġmanh ã", + "Ġìķ ŀ", + "Ġìķŀ ìľ¼ë¡ľ", + "ÙĤ تر", + "ÙĤتر ØŃ", + "à¹Ģà¸ģ ืà¸Ń", + "à¹Ģà¸ģืà¸Ń à¸ļ", + "Ġpropos é", + "Ø£ Ùħا", + "Ø£Ùħا ÙĥÙĨ", + "ĠÐŀ Ðŀ", + "ĠÐŀÐŀ Ðŀ", + "ÙħÙĤ ار", + "ÙħÙĤار ÙĨØ©", + "ëĦ IJ", + "ãģĦãģŁãģł ãģı", + "ÙĤ ÙĬÙĦ", + "Ġна ÑĪиÑħ", + "ãĤ« ãĥĥãĥĹ", + "×Ĺ׾ ת", + "Ġëĭ¤ ë§Į", + "à¸Ĺัà¹Īว à¹Ĥลà¸ģ", + "ãĥį ãĤ¿", + "ØŃس اس", + "ãģ«ãģª ãĤĮ", + "ج ائ", + "جائ زة", + "é change", + "é conom", + "économ ie", + "Т Ðĺ", + "סת ׼׾", + "à¸Ĺัà¹īà¸ĩ สà¸Ńà¸ĩ", + "ĠاÙĦØ® اÙħ", + "ĠاÙĦخاÙħ س", + "×§ ×ĺ×¢", + "au waż", + "à¸ľà¸¹à¹ī à¸Ĭาย", + "à¹ģà¸Ľà¸¥ à¸ģ", + "åIJĮæĻĤ ãģ«", + "зн аниÑı", + "ãģĦãģŁãģł ãģįãģ¾ãģĹãģŁ", + "Ġ×ŀ×ij ׾×Ļ", + "à¸Ĥà¸Ń à¹ĥหà¹ī", + "ĠاÙĦت ربÙĬØ©", + "Ġdécou vert", + "Ġżyc iu", + "apr ès", + "Ġy ab", + "Ġyab anc", + "Ġyabanc ı", + "ĠbaÅŁ layan", + "ìĹĪ ëįĺ", + "Ġhes abı", + "Ġë§Į ìķ½", + "ë§ Īëĭ¤", + "ĠTh ánh", + "ãĥ´ ãĤ¡", + "à¸Ľà¸£à¸±à¸ļ à¸Ľà¸£", + "à¸Ľà¸£à¸±à¸ļà¸Ľà¸£ ุà¸ĩ", + "ĠM ặc", + "à¹Ģหà¸ķุ à¸ľà¸¥", + "ĠÐij ез", + "Ġcapac itÃł", + "ÅĤe ÅĽ", + "ĠпÑĢе им", + "ĠпÑĢеим ÑĥÑīеÑģÑĤв", + "ĠÅļ wiÄĻt", + "Ġpubli é", + "×ŀ×¢ צ×ij", + "Ùħشار Ùĥات", + "à¸łà¸² ษ", + "à¸łà¸²à¸© ี", + "Ġdeux ième", + "ĠÙħØŃ اÙ쨏", + "ĠÙħØŃاÙ쨏 Ø©", + "ĠSch ön", + "ï½ ¤", + "Ġ×Ķ ×ij×¢", + "Ġ×Ķ×ij×¢ ×Ļ×Ķ", + "ĠÙĪØ§ÙĦ ÙĦÙĩ", + "è¨Ģ ãģ£ãģŁ", + "à¸ķ à¹īาà¸Ļ", + "วร รà¸ĵ", + "à¸Ĺิ ศ", + "ĠbaÅŁ ına", + "Ġmog ÄĻ", + "ש ×Ļפ×ķר", + "ĠÙĪ Ø¹Ø¯", + "ĠÙĪØ¹Ø¯ Ùħ", + "Ġhistó rico", + "Ġk ısı", + "ĠìĿ´ ê²Į", + "ĠPol ÃŃtica", + "ĠÑģиÑĤÑĥ аÑĨии", + "ĠkoÅĦ ca", + "×ij×ĵ ×Ļ×§×Ķ", + "ĠاÙĦسÙĬ ارات", + "ãģªãĤī ãģ°", + "ãĤµ ãĥ©", + "ãĤĭãģĵãģ¨ãģĮãģ§ãģį ãĤĭ", + "Ġdecis ão", + "×ķ ×ķ×ĵ", + "lä ss", + "läss ig", + "Ġ׾ ×Ļשר×IJ׾", + "ĠÙĬ أتÙĬ", + "ר ×ķ×ĸ", + "ö ÄŁ", + "Ã¶ÄŁ ret", + "Ã¶ÄŁret im", + "Ġд ек", + "Ġдек аб", + "Ġдекаб ÑĢÑı", + "Ġש ×Ĺ×ķר", + "ãģ¦ãģıãĤĮ ãģŁ", + "عب ارة", + "Ġélect rique", + "ĠاÙĦتÙĨ ÙħÙĬØ©", + "جر Ùī", + "ĠìĪĺ íĸī", + "à¸Ĺ ู", + "ĠÑĢе алÑĮно", + "Ñģп оÑģоб", + "à¸Ħล à¹īาย", + "Ġس عÙĪØ¯", + "ön ü", + "ĠÙģ ÙħÙĨ", + "تÙĥ ÙĪ", + "تÙĥÙĪ ÙĬÙĨ", + "ĠкаÑĩ еÑģÑĤво", + "ĠконÑĤ ак", + "ĠконÑĤак ÑĤ", + "Ġsöz leÅŁme", + "à¸Ń à¹īาà¸ĩ", + "Ġت ÙĪÙģ", + "ĠتÙĪÙģ ÙĬر", + "×Ķ×ĸ ×ĵ", + "×Ķ×ĸ×ĵ ×ŀ׳×ķת", + "ĠØ·ÙĪÙĬÙĦ Ø©", + "Ġtér mino", + "Ġ×IJ ×Ļפ×Ķ", + "ãĥĵ ãĥ«", + "ส à¹Ĥม", + "สà¹Ĥม สร", + "ĠاÙĦ اث", + "ĠاÙĦاث ÙĨÙĬÙĨ", + "ев иÑĩ", + "Ġopin ión", + "à¸Ľ วà¸Ķ", + "åı¤ ãģĦ", + "ร à¹Īา", + "ĠB iaÅĤ", + "ĠÑģÑĤ ал", + "ĠÑģÑĤал о", + "ó logo", + "ĠìķĦ ëĭĪëĭ¤", + "Ġ×IJ ×Ļת", + "Ġ×IJ×Ļת ×ķ", + "à¹Ģหà¹ĩà¸Ļ วà¹Īา", + "à¸ļ ารà¹Į", + "çĦ ¼", + "çĦ¼ ãģį", + "ĠìĿ´ìļ© ìŀIJ", + "ĠнекоÑĤоÑĢ Ñĭе", + "ks z", + "ksz taÅĤ", + "ksztaÅĤ c", + "ãĤŃãĥ£ ãĥĥãĤ·", + "ãĤŃãĥ£ãĥĥãĤ· ãĥ³ãĤ°", + "Ġro ÅĽ", + "ĠroÅĽ lin", + "ÑĢаж а", + "×ij׳×Ļ ×Ļ×Ķ", + "à¸Ľà¸£ สิ", + "à¸Ľà¸£à¸ªà¸´ à¸ķ", + "Ġgörd ü", + "×ŀ׳×Ķ ×Ļ×Ĵ", + "å¤īãĤı ãģ£ãģ¦", + "Ġ×IJ ×Ķ", + "Ġ×IJ×Ķ ×ijת×Ļ", + "à¹Ģร à¹Īà¸ĩ", + "Ġön ünde", + "Ġê·¸ ëĥ¥", + "пол иÑĤ", + "полиÑĤ иÑĩеÑģк", + "ãĥ¡ ãĥĩãĤ£", + "ãĥ¡ãĥĩãĤ£ ãĤ¢", + "ĠDet ay", + "ĠDetay lı", + "ĠاÙĦصÙģ ØŃØ©", + "à¸ģาร à¹Ģà¸ĩิà¸Ļ", + "Ġìµľ ê·¼", + "׼ ש׾", + "ï¼ ©", + "вÑĪ ÐµÐ³Ð¾", + "íķĺ ìĭ¤", + "ĠÐŃ ÑĤ", + "ĠÐŃÑĤ оÑĤ", + "ส ื", + "สื à¸ļ", + "Ġng ừng", + "ĠдокÑĥменÑĤ ов", + "дав аÑĤÑĮ", + "ĠاÙĦشخص ÙĬØ©", + "Ġצ ×¢×Ļר", + "در Ùĥ", + "س ØŃب", + "à¹Ħมà¹Ī à¸Ħà¹Īà¸Ńย", + "Ġ×Ķ×ŀ×§ ×ķ×ŀ×Ļ", + "สัà¹Īà¸ĩ à¸ĭืà¹īà¸Ń", + "Ġê·¸ê²ĥ ìĿĦ", + "ãģĤãĤĭ ãģĦ", + "ãģĤãĤĭãģĦ ãģ¯", + "×IJ×ķ×ĺ ×ķ×ij", + "×IJ×ķ×ĺ×ķ×ij ×ķס", + "к ÑĨион", + "ĠÐľ ожно", + "ãģı ãģł", + "ãģıãģł ãģķ", + "ĠинÑĦоÑĢм аÑĨиÑı", + "ï» Ł", + "Ġìŀij ìĹħ", + "Ġ×Ļ ×ķסף", + "Ø¥ دارة", + "ĠاÙĦØŃ اج", + "×ł×¡ ×Ļ×¢×Ķ", + "из аÑĨиÑı", + "×IJ׾ ×ij", + "×IJ׾×ij ×ķ×Ŀ", + "п ед", + "Ġ×§×ĺ ׳×Ķ", + "ĠÙĨÙ쨳 Ùĩا", + "ĠMinist ério", + "Ġп ен", + "Ġпен Ñģи", + "ãĥIJ ãĥ©ãĥ³ãĤ¹", + "Ġ×Ķת ×ķר×Ķ", + "Ġt ạm", + "ĠìĹŃ ìĭľ", + "ï½ ¡", + "Ġth á»±", + "Ġ ısı", + "ì» ¨", + "ãģĹãģ£ãģĭãĤĬ ãģ¨", + "Ġx ưa", + "Ġc ặp", + "×Ĺ ×Ļ×ij×ķר", + "วัà¸Ĵà¸Ļ à¸ĺรรม", + "st är", + "stär ke", + "ĠÑģам Ñĭй", + "p isa", + "pisa Äĩ", + "ĠoluÅŁ an", + "ĠاÙĦØ¥ ÙħاÙħ", + "ĠcÄĥ ng", + "Ġgü nl", + "Ġgünl ük", + "Ġ׳ש ×IJר", + "Ġkhi á»ĥn", + "ç¶ļ ãģijãĤĭ", + "stit ución", + "Ġcapac ité", + "Ġj aki", + "Ġjaki ÅĽ", + "вÑĪ Ð¸Ñģ", + "вÑĪиÑģ ÑĮ", + "פע×ķ׾ ×ķת", + "ĠØŃ ÙĬات", + "ĠØŃÙĬات Ùĩ", + "Ġник огда", + "ÐĽ Ь", + "Ġ×Ķ×¢ ×ķ×ij", + "Ġ×Ķ×¢×ķ×ij ×ĵ×Ķ", + "Ġch Ãło", + "หลาย à¹Ĩ", + "ĠÑı н", + "ĠÑıн ваÑĢ", + "ĠÑıнваÑĢ Ñı", + "à¸Īำà¹Ģà¸Ľà¹ĩà¸Ļ à¸ķà¹īà¸Ńà¸ĩ", + "Ġhö her", + "ãģķãĤĮãģ¦ ãģĦãģŁ", + "สà¸ĩ สั", + "สà¸ĩสั ย", + "ĠاÙĦ اس", + "ĠاÙĦاس ÙĦاÙħ", + "ĠاÙĦØ´ Ùħس", + "สà¸ĸาà¸Ļ ี", + "ãĤ¯ãĥ© ãĤ¹", + "à¸ŀร ร", + "à¸ŀรร à¸Ħ", + "p õ", + "põ e", + "Ġpor ém", + "à¸Ľà¸£à¸° สà¸ĩ", + "à¸Ľà¸£à¸°à¸ªà¸ĩ à¸Ħà¹Į", + "powied zie", + "powiedzie Äĩ", + "Ġмог Ñĥ", + "Ġж ел", + "Ġжел ез", + "ĠاÙĦØ« ÙĤ", + "ĠاÙĦØ«ÙĤ اÙģÙĬ", + "ĠпÑĢав ило", + "Ġgdy ż", + "פש ×ķ×ĺ", + "ÑĢабоÑĤ ка", + "ĠÙĥ رة", + "Ø´ دد", + "Ùħار Ùĥ", + "Ùħ ÙĥØ©", + "Ġпод пиÑģ", + "×ĺ×ķ ×ķ×Ĺ", + "ĠÅĽ c", + "ĠÅĽc ian", + "Ġر جاÙĦ", + "Ġ×ª×ľ ×ķ×Ļ", + "и ÑĪ", + "иÑĪ ÑĮ", + "Ġmé dec", + "Ġmédec in", + "ëįĶ ëĿ¼ëıĦ", + "ĠÑĤеб Ñı", + "Ġ׾×Ķ ×ķס×Ļ×£", + "ãģĬ 話", + "Ġà¹ģà¸ķà¹Ī à¸ģà¹ĩ", + "د اÙģ", + "داÙģ Ø¹", + "ĠC ùng", + "ãĥ»ãĥ» ãĥ»ãĥ»", + "ê¶ ģ", + "Ġdeber ÃŃa", + "หà¸Ļà¹Īวย à¸ĩาà¸Ļ", + "Ġva ÌĢ", + "Ġעצ ×ŀ", + "Ġעצ×ŀ ×Ŀ", + "à¹Ģà¸Ĭืà¹Īà¸Ń วà¹Īา", + "שק ×¢", + "Ġ×Ķ ×Ľ×ķ׾", + "Ġ×Ķ׼×ķ׾ ׾", + "ни бÑĥд", + "нибÑĥд ÑĮ", + "ĠëĦĪ íĿ¬", + "Ġоб ÑĢаÑī", + "ĠобÑĢаÑī а", + "Ġ×¢×ij×ķ×ĵ ת", + "ĠاÙĦÙħÙĨت خب", + "ıy ord", + "ıyord u", + "ÙĪ Ø°", + "×Ĺש ×Ļ×ij×ķת", + "Ġ×Ķ×¢ ×Ļ×§", + "Ġ×Ķ×¢×Ļ×§ ר×Ļ", + "ì¢ Į", + "ยุ à¹Ĥร", + "ยุà¹Ĥร à¸Ľ", + "Ġа пÑĢ", + "ĠапÑĢ ÐµÐ»Ñı", + "sz ed", + "szed ÅĤ", + "д он", + "à¹Ģà¸ķิ à¸ļ", + "à¹Ģà¸ķิà¸ļ à¹Ĥà¸ķ", + "кол о", + "Ġkażde j", + "å¸ °", + "帰 ãĤĬ", + "Ġмил ли", + "Ġмилли он", + "ç¾İåij³ ãģĹãģĦ", + "ت ÙĤار", + "تÙĤار ÙĬر", + "ĠìĿ´ 루", + "ĠìĿ´ë£¨ ìĸ´", + "Ġsprzeda ż", + "×Ķ ×ķצ×IJ×ķת", + "ãĤ¢ãĤ¯ ãĤ»", + "ãĤ¢ãĤ¯ãĤ» ãĤ¹", + "ר ×ķ×¥", + "ĠгоÑģÑĥдаÑĢÑģÑĤв енн", + "Ø£ ØŃÙĥ", + "Ø£ØŃÙĥ اÙħ", + "ĠoluÅŁ u", + "ĠA ç", + "ĠAç ık", + "ãĤ¸ ãĥ¼", + "ç´ł æĻ´", + "ç´łæĻ´ ãĤīãģĹãģĦ", + "Ġ×ijש×ij ×ķ×¢", + "ب ذ", + "بذ ÙĦ", + "สา à¹Ģหà¸ķุ", + "Ġpoz osta", + "Ġpozosta ÅĤ", + "ØŃر Ùħ", + "Ġimport ância", + "leÅŁtir me", + "Ġд ÑĢев", + "Ġmó vil", + "ĠA ynı", + "Ġна лог", + "Ġналог ов", + "Ġ×Ĺ ×Ļפ×Ķ", + "ĠÑĦоÑĢм Ñĥ", + "à¸Ĺà¸Ķ สà¸Ńà¸ļ", + "ĠksiÄħż ki", + "Ġma ÅĤe", + "Ùħس Ø£ÙĦ", + "ÙħسأÙĦ Ø©", + "ï¼¾ ï¼¾", + "ç ãeste", + "év iter", + "Ġкон ÑģÑĤÑĢÑĥк", + "ĠконÑģÑĤÑĢÑĥк ÑĨи", + "ï¾ ŀ", + "Ġת×ķ׼ ׳", + "ãĤ¹ãĥĪ ãĥ¬ãĤ¹", + "ĠاÙĦاÙĤتصاد ÙĬ", + "×ŀ×ĵ ×Ļ", + "Ġw ÅĤad", + "ĠwÅĤad z", + "Ø® ÙĪÙģ", + "ĠмаÑĤеÑĢиал ов", + "ãģ¨ãģ£ãģ¦ ãĤĤ", + "Ġznaj du", + "Ġznajdu jÄħ", + "Ùģ Ø¦Ø©", + "ãģ©ãģ® ãĤĪãģĨãģª", + "æĬij ãģĪ", + "׳ ×Ĺ׾", + "Ġdü ny", + "Ġdüny an", + "Ġdünyan ın", + "гÑĢ Ð°Ð½Ð¸", + "гÑĢани Ñĩ", + "Ġ×Ķש׾ ×Ļש×Ļ", + "Ġ×Ķ×IJ ש", + "åıĬ ãģ³", + "ìĭŃ ìĭľ", + "ìĭŃìĭľ ìĺ¤", + "Ġдол л", + "Ġдолл аÑĢ", + "Ġпов ÑĤоÑĢ", + "Ġ×Ĺ ×Ļ׳×Ŀ", + "ת פת×Ĺ", + "Ñĥв ели", + "Ñĥвели Ñĩен", + "ãĤ« ãĥª", + "raw id", + "rawid ÅĤow", + "×ķ ×ķ׾", + "ãĥŁ ãĥ¥", + "ì½ ĺ", + "ĠBy ÅĤ", + "Ðľ ÐIJ", + "ع ÙIJ", + "ĠÑģовеÑĢ ÑĪ", + "ĠÑģовеÑĢÑĪ ÐµÐ½Ð½Ð¾", + "Ġм ой", + "Ġ×ķ׾×IJ ×Ĺר", + "æħ £", + "æħ£ ãĤĮ", + "ØŃ اÙ쨏", + "Ġ무 ë£Į", + "à¸Ħà¸ĵะ à¸ģรรม", + "à¸Ħà¸ĵะà¸ģรรม à¸ģาร", + "Ġìĸ´ ëĶĶ", + "Ġdif eren", + "Ġdiferen ça", + "ĠاÙĦØ£ ساس", + "ĠاÙĦأساس ÙĬØ©", + "Ġ׾×IJ×Ĺר ×ķ׳×Ķ", + "ê· ł", + "Ġ×Ķש׳×Ļ ×Ļ×Ķ", + "ìľĦìĽIJ ìŀ¥", + "ลุ à¸ģ", + "ç iler", + "Ġ×Ķ×IJ ׾×ķ", + "èģŀ ãģı", + "Ġ×ķ×IJ פ×Ļ׾×ķ", + "ĠÑĢе ализ", + "ĠÑĢеализ аÑĨи", + "ระยะ à¹Ģวลา", + "Ġجدا Ùĭ", + "تب اع", + "Ġveh ÃŃculo", + "Ġдол г", + "à¸Ľà¸£à¸´ มาà¸ĵ", + "ì¦ IJ", + "Ġ׾ ×ŀ×§×ķ×Ŀ", + "ĠìĤ¬ ì§Ħ", + "à¸Ĭ à¹īา", + "Ġ×ŀ×¢ ×ķ׾×Ķ", + "Ġgö rm", + "Ġgörm ek", + "ĠÙĪÙĩ ذÙĩ", + "пеÑĢ Ð²", + "пеÑĢв ÑĭÑħ", + "ê·¸ ëŀĺ", + "ĠاÙĦبر ÙĬØ·", + "ĠاÙĦبرÙĬØ· اÙĨÙĬ", + "ĠиÑİ Ð½Ñı", + "ĠÐĵ оÑĢ", + "Ġ׾ ש׾×Ŀ", + "ÐIJ ÐĿ", + "Ġназ наÑĩен", + "о оÑĢ", + "ооÑĢ Ñĥж", + "Ġöz elli", + "Ġözelli ÄŁi", + "Ġни же", + "ç¶ļ ãģijãģ¦", + "Ġа ÑĢенд", + "Ġkat ılı", + "Ġkatılı m", + "ĠØ¥ Ø·ÙĦاÙĤ", + "ĠÙĪØ¥ ذا", + "Ġок ÑĤÑı", + "ĠокÑĤÑı бÑĢÑı", + "à¹Ĥà¸ķ à¹", + "à¹Ĥà¸ķ๠Ĭ", + "à¹Ĥà¸ķà¹Ĭ ะ", + "Ġolduk ları", + "Ùħ ÙĪÙĤع", + "ëĤ ©", + "ã썿ĢĿ ãģ£ãģ¦ãģĦãĤĭ", + "Ġש ×Ļ׼×ķ׾", + "วา à¸Ķ", + "س ÙĬÙĦ", + "à¸Ĥ วั", + "à¸Ĥวั à¸į", + "تØŃ ÙĥÙħ", + "ì ĤŃ", + "Ġconna ît", + "׳ פת×Ĺ", + "Ġch ặ", + "Ġchặ n", + "ĠÙħ ØŃÙħ", + "ĠÙħØŃÙħ ÙĪØ¯", + "ãģ ´", + "ĠпÑĢодÑĥк ÑĨии", + "зд ÑĢав", + "ãģĶ è¦", + "ãģĶè¦ §", + "×IJ×ij ×IJ", + "Ġvé ritable", + "ĠØ· ÙģÙĦ", + "ãĥĪãĥ© ãĥĸãĥ«", + "ê³ ¡", + "Ġת ×ŀ×ķ׳×Ķ", + "Ġki ên", + "ĠÙĤ ادر", + "Ø¥ÙĤ ÙĦÙĬÙħ", + "ĠпÑĢед пÑĢи", + "ĠпÑĢедпÑĢи ÑıÑĤиÑı", + "Ġb Äĥng", + "Ġay ında", + "Ġg ấp", + "еÑħ ал", + "Ġgi Ãłnh", + "Ġд ав", + "Ġдав но", + "ìĺĢ ëĭ¤", + "à¸Ļัà¸ģ à¹Ģà¸ķ", + "à¸Ļัà¸ģà¹Ģà¸ķ ะ", + "Ùħست شار", + "ست راتÙĬج", + "ستراتÙĬج ÙĬ", + "رÙħ ز", + "Ġt Ä©nh", + "ë¡ Ń", + "ĠÑĩ еÑĤ", + "ĠÑĩеÑĤ Ñĭ", + "ĠÑĩеÑĤÑĭ ÑĢе", + "ĠEnt ão", + "Ġص غ", + "Ġصغ ÙĬرة", + "×ij×Ļ×ĺ ×ķ׾", + "خط ÙĪØ·", + "ĠÑĢазвиÑĤ ие", + "Ġamacı yla", + "à¸Ĺี วี", + "Ġо ÑģÑĤ", + "ĠоÑģÑĤ алÑĮн", + "ש×ķ׾׊ף", + "Ġ׼ ׳×Ļס", + "Ġ׼׳×Ļס ×Ķ", + "Ġd áºŃy", + "ĠyaÅŁ ayan", + "Ġ×ŀ×Ķ ×ķ×ķ×Ķ", + "ĠÑĥ Ñģи", + "ĠÑĥÑģи ли", + "×ŀ פ×Ļ", + "ĠпÑĢовед ениÑı", + "Ġر ب", + "Ġرب Ùħا", + "ĠاÙĦØ£ ÙĪØ³Ø·", + "Ġìľł ì§Ģ", + "Ġprac ownik", + "Ġpracownik ów", + "×ŀס ×ķרת", + "ÙĤار ب", + "à¸Ħวาม รูà¹īสึà¸ģ", + "à¹ģหล ะ", + "ĠاÙĦÙĨ ÙĤد", + "Ġ×IJ׾ פ×Ļ", + "Ùħس ئ", + "Ùħسئ ÙĪÙĦ", + "ев ÑĭÑħ", + "клÑİÑĩ ениÑı", + "×ij ×Ļ׳", + "×ij×Ļ׳ ×Ļ×Ķ×Ŀ", + "ש ×ķ×IJ×Ķ", + "ĠÅŁ ark", + "ĠÅŁark ı", + "Ġsü rec", + "Ġsürec in", + "à¹Ģà¸Ħร à¸Ķ", + "à¹Ģà¸Ħรà¸Ķ ิà¸ķ", + "ãĥIJ ãĥ¬", + "ĠØ´ Ø£ÙĨ", + "à¹Ģà¸Ńา à¹Ħวà¹ī", + "niÄĻ cie", + "רצ ×Ĺ", + "ĠaÅŁ ama", + "׳ פ×Ĵ×¢", + "Ġth á»Ŀ", + "Ġkhu ẩn", + "diÄŁ inde", + "ÑıÑī иÑħ", + "ãĥĺ ãĥ«", + "Ġüber h", + "Ġüberh aupt", + "ĠÑĤÑĢеб ова", + "ĠdÅĤ ugi", + "×ĺ ×Ļף", + "à¸Ĥà¸Ļาà¸Ķ à¹ĥหà¸įà¹Ī", + "ĠاÙĦØ£ Ùĩ", + "ĠاÙĦØ£Ùĩ ÙĦÙĬ", + "ĠMü d", + "ĠMüd ürü", + "Ġ×Ļ×Ķ ×ķ×ĵ×Ķ", + "Ñĭв аеÑĤÑģÑı", + "س اط", + "×Ķת ׳×Ķ×Ĵ", + "×Ķ×ª×ł×Ķ×Ĵ ×ķת", + "à¸ģาร à¸ľà¸¥à¸´à¸ķ", + "íĴ Ģ", + "สà¸ĸาà¸Ļ à¸ģารà¸ĵà¹Į", + "Ġо ÑĦ", + "ĠоÑĦ иÑģ", + "ĠÙĦ عبة", + "Ġstron ÄĻ", + "Ġר×IJ ×ķ×Ļ", + "×Ĺ ×ij׾", + "ĠÑĢÑĭ н", + "ĠÑĢÑĭн ке", + "Ġ׾×ŀ×¢ ף", + "اس ÙĦ", + "ห ัà¸Ļ", + "Ġ×IJ ×Ĺ×Ļ", + "ĠпÑĢод ол", + "ê°Ģ ìŀħ", + "Ġ×ijר ×Ĺ", + "Ġ×ijר×Ĺ ×ij×Ļ", + "дж еÑĢ", + "Ġ׾ ×Ĺ׾", + "Ġ׾×Ĺ׾ ×ķ×ĺ", + "Ġ׾×Ĺ׾×ķ×ĺ ×Ļף", + "ศาส à¸Ļา", + "ãĤ¢ãĤ¤ ãĥĨ", + "ãĤ¢ãĤ¤ãĥĨ ãĥł", + "Ġפר ×ķפ", + "جز اء", + "ล à¸Ńย", + "Ġc iaÅĤa", + "Ġgi ết", + "ĠзнаÑĩ иÑĤелÑĮно", + "Ġolmad ıģ", + "Ġolmadıģ ını", + "н д", + "нд екÑģ", + "تأ Ùĥد", + "Ġìĸ ¸", + "Ġìĸ¸ ìłľ", + "ay dın", + "ãĥī ãĥ¬ãĤ¹", + "Ġs ắt", + "Ġíĺ¸ íħĶ", + "Ġë¶ ģ", + "Ġë¶ģ íķľ", + "ãĥij ãĤ¤", + "Ġ×ŀש×Ĺ×§ ×Ļ", + "à¸Ħà¸Ļ à¸Ńืà¹Īà¸Ļ", + "Ġиз гоÑĤов", + "ĠизгоÑĤов лен", + "à¹Ģà¸ģีย ร", + "à¹Ģà¸ģียร à¸ķิ", + "תק שר", + "ĠÑĢаÑģ ÑĩеÑĤ", + "ส à¹Ģà¸ķ", + "Ġl änger", + "ĠiÅŁ let", + "ĠiÅŁlet me", + "Ġع ÙĦÙĬÙĨ", + "ĠعÙĦÙĬÙĨ ا", + "é lection", + "ĠاÙĦغ ربÙĬØ©", + "íĭ Ģ", + "ãĤĤãĤī ãģĪ", + "Ġкни ги", + "Ø£ سÙħ", + "أسÙħ اء", + "Ġth á»ı", + "Ġthá»ı a", + "หà¸Ļ ู", + "Ġ×ł×¢ ש×Ķ", + "à¸łà¸²à¸¢ à¹ĥà¸ķà¹ī", + "à¸ŀื à¸Ĭ", + "رÙĬ Ø·", + "Ùģ ÙĪØ¶", + "ãģĤãĤĬãģĮãģ¨ãģĨãģĶãģĸ ãģĦãģ¾ãģĹãģŁ", + "ש ×ĵ×Ķ", + "Ġng á»±c", + "ĠÑģеÑĢ ÑĮ", + "ĠÑģеÑĢÑĮ езн", + "T ôi", + "Ġfiyat ları", + "ĠвÑģ Ñİ", + "ĠC ódigo", + "Ġ×Ķש ×IJ", + "Ġ×Ķש×IJ ׾×Ķ", + "ĠP ública", + "Ø¥ Ø®", + "إخ ÙĪØ§ÙĨ", + "ĠзаÑıв ил", + "ãĥ¦ ãĥ¼", + "ר×IJ ×Ļת", + "vol ución", + "Ġsz ko", + "Ġszko ÅĤy", + "جرÙĬ دة", + "Ġpens é", + "ìī ¬", + "ĠBüyük ÅŁehir", + "ĠØ£Ùħ رÙĬ", + "ĠØ£ÙħرÙĬ ÙĥÙĬ", + "à¸Ļัà¸ģ ศึà¸ģษา", + "Ġtod av", + "Ġtodav ÃŃa", + "ĠС ан", + "ĠСан кÑĤ", + "íķĺ ìŀIJ", + "ØŃÙĪ Ø§ÙĦ", + "׼ ×ķשר", + "à¹Ģลย à¸Ħรัà¸ļ", + "Ġal gu", + "Ġalgu ém", + "Ùģ Ø²", + "Ġçek il", + "Ġ×ĵ ר׼×Ļ×Ŀ", + "ãĥIJ ãĥ©", + "à¸ģà¹ĩ สามารà¸ĸ", + "สà¹Īวà¸Ļ ลà¸Ķ", + "íı °", + "ĠP úb", + "ĠPúb lico", + "à¹ģà¸Ļว à¸Ĺาà¸ĩ", + "×IJת ×Ĵר", + "Ø´ اش", + "شاش Ø©", + "ci ÅĽni", + "ĠÃľ rün", + "ÙĦÙĪ ØŃ", + "ĠاÙĦ بÙĨ", + "ĠاÙĦبÙĨ Ùĥ", + "ì¡° ì¹ĺ", + "Ġorganiz ación", + "ãģĤãĤĬãģĮãģ¨ãģĨãģĶãģĸ ãģĦãģ¾ãģĻ", + "s ätze", + "ĠÑģем ей", + "ÙĤ صد", + "ÑģÑĤв еннÑĭе", + "Ġpréc éd", + "Ġprécéd ent", + "à¸ģรุà¸ĩà¹Ģà¸Ĺà¸ŀ ฯ", + "ãģ¨è¨Ģ ãģĦ", + "×ij׳×Ļ ×Ļף", + "ĠØŃ ÙĪ", + "ĠØŃÙĪ Ø§ÙĦÙĬ", + "סק ס", + "ĠsaÄŁlam ak", + "Ġ׾ צ×Ļ×Ļף", + "×§×ĵ ש", + "Ġ×Ķ×ŀ ×¢×¨×Ľ×ª", + "Ġ׾×Ķ ×¢×ij×Ļר", + "Ġg ünd", + "Ġgünd em", + "ĠнаÑĪ ÐµÐ³Ð¾", + "à¹ĥà¸Ļ à¸ŀืà¹īà¸Ļà¸Ĺีà¹Ī", + "à¹Ģà¸Ħร ืà¸Ń", + "à¹Ģà¸Ħรืà¸Ń à¸Ĥ", + "à¹Ģà¸Ħรืà¸Ńà¸Ĥ à¹Īาย", + "ظ اÙĩرة", + "ÙħÙĨ ظÙħ", + "ÙħÙĨظÙħ ات", + "Ùħت از", + "追 ãģĦ", + "dı kt", + "dıkt an", + "ĠëįĶ ìļ±", + "ĠÐĿ апÑĢимеÑĢ", + "tw ór", + "×ŀ×ķ×¢ צ×Ķ", + "Ùĥ ÙĪÙĥ", + "Ð ©", + "×ŀ×ĺ פ׾", + "ó lica", + "訪 ãĤĮ", + "ĠëĮĢ ë¶Ģ", + "ĠëĮĢë¶Ģ ë¶Ħ", + "ãĤ¯ãĥª ãĥĥãĤ¯", + "ãĤĴ éģ¸", + "ãĤĴéģ¸ ãģ¶", + "Ġpow sta", + "Ġpowsta ÅĤ", + "Ġraz ón", + "×ij ×ķ×Ĺר", + "ĠÑģообÑī ил", + "Ġ×§ ×ij×ķ×¢", + "r êt", + "à¸Ķี à¸Ĥึà¹īà¸Ļ", + "×ŀס ×¢×ĵ", + "×ŀסע×ĵ ×ķת", + "ĠÃĸ sterreich", + "Ġ׳ ×Ĺש×ij", + "Ùħباد رة", + "ì´ ī", + "×Ĵ ׳×ĺ×Ļ", + "ä¿¡ ãģĺ", + "du ÄŁ", + "duÄŁ unu", + "Ġph ú", + "ĠاÙĦØ£ Ø®ÙĬر", + "Ġت عتبر", + "landır ıl", + "ãģ¨ãģ¯ ãģĦ", + "ãģ¨ãģ¯ãģĦ ãģĪ", + "ĠاÙĦ Ø·ÙĦ", + "ĠاÙĦØ·ÙĦ اب", + "ĠN º", + "éģ¿ ãģij", + "اÙĦ Ùħع", + "اÙĦÙħع رÙĪÙģ", + "ส à¸łà¸²", + "éĽ¢ ãĤĮ", + "ĠпомоÑī ÑĮ", + "Ġзна еÑĤ", + "ãĥĹãĥ¬ ãĤ¼", + "ãĥĹãĥ¬ãĤ¼ ãĥ³ãĥĪ", + "Ġsup érieur", + "Ġש׾ ×Ļש×Ļ", + "ĠاÙĦÙĨ ÙĪØ¹", + "ãĤĵãģ§ãģĻ ãģŃ", + "à¸Ńà¸ļ รม", + "Ġgi á»įng", + "Ġwzgl ÄĻd", + "ĠاÙĦÙģ ÙĤر", + "è rent", + "Ġ×ŀ×IJ ×Ĺ", + "Ġ×ŀ×IJ×Ĺ ×ķר×Ļ", + "×Ĵ ×Ĵ", + "×Ļ ×Ļ×ij", + "ÙħÙĦ اب", + "ÙħÙĦاب س", + "Ġhük ü", + "Ġhükü met", + "Ġ×ŀ×Ĵ ×Ļ×ij", + "ĠÐŀ Ñĩ", + "ĠÐŀÑĩ енÑĮ", + "æĹ© ãģĦ", + "Ġconstr ucción", + "Ġth ượng", + "ï¼ ĭ", + "Ġcor ação", + "à¹Ģหล à¹ĩà¸ģ", + "ĠBaÅŁ b", + "ĠBaÅŁb akan", + "éĢ£ ãĤĮ", + "ãģĻãĤĭ ãģĵãģ¨ãģĮãģ§ãģįãģ¾ãģĻ", + "ĠÙĤ اÙħت", + "Ġا Ùĥثر", + "ÙģØ§Ø¹ ÙĦ", + "ĠÑĦ оÑĢ", + "ĠÑĦоÑĢ Ñĥм", + "غ ذÙĬ", + "ĠiÅŁ le", + "ĠiÅŁle ml", + "ĠiÅŁleml eri", + "ĠìĤ¬ëŀĮ ìĿĢ", + "Ġìŀij ìĦ±", + "Ġë§Ī 볨", + "Ùħ جÙĦس", + "หม ู", + "д в", + "дв иг", + "двиг а", + "à¹Ģสีย à¸Ĭีวิà¸ķ", + "×Ķת פת×Ĺ", + "×Ķתפת×Ĺ ×ķת", + "ĠмеÑĤ ÑĢо", + "ĠÑģ енÑĤ", + "ĠÑģенÑĤ Ñı", + "ĠÑģенÑĤÑı бÑĢÑı", + "ê³ §", + "Ġ׾ פע", + "Ġ×ľ×¤×¢ ×ŀ×Ļ×Ŀ", + "à¹Ģà¸ļ ีย", + "詳 ãģĹãģı", + "çķ° ãģªãĤĭ", + "Ġİl çe", + "ĠAt at", + "ĠAtat ür", + "ĠAtatür k", + "รุ à¹Īà¸ĩ", + "Ġkald ı", + "Ġ주 ìŀ¥", + "Ġprés ence", + "Ġн аб", + "Ġнаб лÑİ", + "ĠнаблÑİ Ð´Ð°", + "ĠÑģам ого", + "×Ĵ ×ķש", + "×ŀ×ĺ ×ķפ", + "×ŀ×ĺ×ķפ ׾", + "ĠвÑĭб иÑĢа", + "ĠìŀIJ 리", + "åĪĨ ãģĭãĤīãģªãģĦ", + "Ġз Ñĥб", + "Ġש׼ ×ijר", + "Ġد ائ", + "Ġدائ Ùħا", + "ĠпаÑĢ ÑĤи", + "ï¼ ²", + "ĠاÙĬ ضا", + "ĠÑħ оз", + "ĠÑħоз Ñı", + "ĠÑħозÑı й", + "ĠÑħозÑıй ÑģÑĤв", + "ĠاÙĦØ£ ج", + "ĠاÙĦأج ÙĨب", + "ĠاÙĦأجÙĨب ÙĬØ©", + "ĠÐĹ Ð½Ð°", + "ĠAp ós", + "ĠÑį неÑĢ", + "ĠÑįнеÑĢ Ð³Ð¸", + "Ġy ans", + "Ġyans ı", + "ĠJust i", + "ĠJusti ça", + "Ġpré vu", + "ม วล", + "ìŀ¥ ëĭĺ", + "à¸ģระ à¸ļ", + "à¸ģระà¸ļ วà¸Ļ", + "à¸ģระà¸ļวà¸Ļ à¸ģาร", + "×ŀ ×ŀ", + "×ŀ×ŀ ×ķצע", + "Ġh ẹ", + "Ġhẹ n", + "зд ание", + "Ġak ÅŁ", + "ĠakÅŁ am", + "×ĺ ×ķפ", + "Ġgere kt", + "Ġgerekt i", + "Ġgerekti ÄŁini", + "Ġnar z", + "Ġnarz ÄĻdzi", + "é po", + "épo que", + "ĠTh ần", + "Ġwys oko", + "Ġwysoko ÅĽci", + "à¸ľà¸¹à¹ī à¸Ľ", + "à¸ľà¸¹à¹īà¸Ľ à¹Īวย", + "ĠÙĬ بدÙĪ", + "ÑĤелÑĮ ного", + "Ġвз глÑıд", + "Ġjed nÄħ", + "ĠìĿĺ 견", + "Ġ à¸Ĥà¸ĵะà¸Ĺีà¹Ī", + "פ ×Ļ×ĵ", + "ìĥģ ëĭ´", + "Ġm ỡ", + "×Ķ ×ŀ׾", + "×Ķ×ŀ׾ צ×ķת", + "ĠÑģоÑģÑĤ о", + "ĠÑģоÑģÑĤо иÑĤ", + "Ġав и", + "Ġави а", + "ĠL änder", + "تص ÙĪÙĬر", + "×ŀ×ĵ ×Ļ×Ķ", + "ìłĪ ì°¨", + "ãģ¨ ãĤĬ", + "ãģ¨ãĤĬ ãģĤ", + "ãģ¨ãĤĬãģĤ ãģĪ", + "ãģ¨ãĤĬãģĤãģĪ ãģļ", + "ĠÑĢ Ñıд", + "ĠÑĢÑıд ом", + "ĠNh ất", + "ĠاÙĦÙĥ اÙħÙĦ", + "×Ĺ׾ ׾", + "ĠGi ấy", + "צ ×ĺר", + "צ×ĺר ×£", + "Ġ׾×ij ×ĺ׾", + "Ġим еÑĤÑĮ", + "ס×ŀ ×ķ×ļ", + "Ġparticip ação", + "íķľëĭ¤ ë©´", + "ÙħÙĨت دÙĬ", + "ÙħÙĨتدÙĬ ات", + "ĠeÄŁ len", + "g änge", + "رب ØŃ", + "ãĤ® ãĥ£", + "ĠاÙĦر ÙĤÙħ", + "à¸ĭ à¹īำ", + "ĠH óa", + "×ŀר ×Ĺ×§", + "ØŃÙħ اÙħ", + "بÙĪ Ùĥ", + "ĠArt ÃŃculo", + "ãĥĦ ãĤ¢ãĥ¼", + "×Ķפ ׼×Ķ", + "×Ĺ׾ ×ķף", + "ĠпеÑĢе Ñħод", + "len miÅŁ", + "زر اعة", + "Ġseñ or", + "ãģ£ãģ¦ ãģįãģ¦", + "Ø¥ Ø´", + "إش ارة", + "Ġpod ÃŃa", + "ĠÃľ lke", + "н ÑģкаÑı", + "Ġadapt é", + "Ġdüzen len", + "Ġdüzenlen en", + "ĠÑģÑĤ ала", + "ĠÙĬ ØŃتاج", + "Ġn ier", + "Ġnier uch", + "Ġnieruch omo", + "Ġnieruchomo ÅĽci", + "ãģĵãģ¨ãģĮ ãģĤãĤĭ", + "ยà¸Ńà¸Ķ à¹Ģยีà¹Īยม", + "ĠÙħ ج", + "ĠÙħج اÙĨÙĬ", + "Ġз аб", + "Ġзаб ол", + "Ġзабол ев", + "Ġзаболев аниÑı", + "ĠÅĽ ro", + "ĠÅĽro dk", + "ĠÅĽrodk ów", + "Ġ×Ķ ×ľ×IJ×ķ×ŀ×Ļ", + "Ġdok ÅĤad", + "ĠdokÅĤad nie", + "ãģŁãģı ãģªãģĦ", + "ãģ¯ãģļ ãģ§ãģĻ", + "ã썿ĢĿ ãģ£ãģ¦ãģĦãģŁ", + "é cran", + "ìĹħ ì²´", + "trzym aÅĤ", + "ÑģÑĤв еннÑĭй", + "ĠNot ÃŃc", + "ĠNotÃŃc ias", + "Ùħ رÙĬ", + "ÙħرÙĬ ض", + "æ°Ĺ è»", + "æ°Ĺè» ½", + "æ°Ĺ軽 ãģ«", + "ëĵ £", + "Ġ×ĵ ×ķ×IJר", + "Ġ׾ ×ŀ׳", + "Ġ׾×ŀ׳ ×ķ×¢", + "ĠçalÄ±ÅŁ ıyor", + "ĠÅŁ idd", + "ĠÅŁidd et", + "ĠM ặt", + "Ġate ÅŁ", + "ĠполÑĥÑĩ ениÑı", + "à¹Ģà¸Ħรืà¹Īà¸Ńà¸ĩ มืà¸Ń", + "Ġgrö ÃŁer", + "د ائ", + "دائ رة", + "Ġbul un", + "Ġbulun maktadır", + "à¹Ģห ร", + "à¹Ģหร ีย", + "à¹Ģหรีย à¸į", + "à¸Ļัà¸ģ à¸Ĺà¹Īà¸Ńà¸ĩà¹Ģà¸Ĺีà¹Īยว", + "Ġalan ında", + "ĠÑĥ зна", + "Ġл еÑĩение", + "売 ãĤĮ", + "Ġçev ir", + "Ġdeste ÄŁi", + "ĠheiÃŁ t", + "âĸ ²", + "ØŃ Ø·", + "à¸Ħำ à¸ķà¸Ńà¸ļ", + "ãĤªãĥ³ ãĥ©ãĤ¤ãĥ³", + "Ġ×ij×Ĺ×Ļ ×Ļ×Ŀ", + "ãĥ¦ ãĥĭ", + "Ġdüzenle me", + "Ġmodal itÃł", + "سر Ø·", + "سرط اÙĨ", + "×ŀ׼ ×ķף", + "ĠданнÑĭ й", + "تر ت", + "ترت ÙĬب", + "à¸ļาà¸ĩ à¸Ħà¸Ļ", + "ĠÄIJ á»ĭnh", + "ม ูล", + "มูล à¸Ħà¹Īา", + "ÙĨ ÙĤص", + "à¸ģาร รัà¸ģษา", + "ĠÑĦ он", + "ĠÑĦон д", + "ãĤĪãģĨ ãģ«ãģªãģ£ãģŁ", + "Ùħع اÙĦ", + "ÙħعاÙĦ جة", + "ĠOs man", + "ĠOsman lı", + "иÑĩеÑģк ом", + "à¸Ńยาà¸ģ à¸Īะ", + "ãģķãģ¾ ãģĸ", + "ãģķãģ¾ãģĸ ãģ¾", + "ãģķãģ¾ãģĸãģ¾ ãģª", + "Ġת ×ķ׼׾", + "×¢ צ×ij", + "ĠاÙĦع سÙĥ", + "ĠاÙĦعسÙĥ رÙĬ", + "Ġvé hic", + "Ġvéhic ule", + "Ġ×Ļצ ×Ĺ×§", + "ĠاÙĦÙĪ ØŃ", + "ĠاÙĦÙĪØŃ ÙĬد", + "ĠاÙĦع دÙĪ", + "ĠQu ản", + "Ġê³µ ëıĻ", + "بد ÙĦ", + "ĠÄij ảng", + "Ġm á»ĩnh", + "Ġnie zb", + "Ġniezb ÄĻ", + "ĠniezbÄĻ dn", + "Ġyayın lan", + "обÑī и", + "Ġgö tür", + "צ פ", + "צפ ×ķ×Ļ", + "ĠÙĦÙĬ بÙĬ", + "ĠÙĦÙĬبÙĬ ا", + "ØŃ ÙĪØ§", + "Ġд об", + "Ġдоб ÑĢо", + "иÑĢÑĥ ем", + "ĠاÙĦØŃÙĥÙĪÙħ ÙĬØ©", + "m Ã¤ÃŁig", + "Ġed ición", + "влек аÑĤелÑĮ", + "влекаÑĤелÑĮ н", + "Ġת ש׾×ķ×Ŀ", + "Ġ×Ķש ×ķ׳×Ļ×Ŀ", + "มิ à¸ĸุ", + "มิà¸ĸุ à¸Ļ", + "มิà¸ĸุà¸Ļ ายà¸Ļ", + "é£Łãģ¹ ãģ¦", + "ĠìĪĺ ì§ij", + "ס ×ij×Ļ", + "ĠиÑİ Ð»Ñı", + "Ġà¹Ħà¸Ķà¹ī à¹ģà¸ģà¹Ī", + "׾×Ĺ ×Ŀ", + "tr ä", + "trä gt", + "ãģĿãĤĤ ãģĿãĤĤ", + "ÐĿ Ðķ", + "Ġв нÑĥÑĤ", + "ĠвнÑĥÑĤ ÑĢи", + "ãģ¨ ä¸Ģç·Ĵãģ«", + "ãĤ« ãĥķãĤ§", + "Ġ×ij×Ĺ ×ĵר", + "×Ĺ ×ŀש", + "ãĤ¨ ãĥį", + "ãĤ¨ãĥį ãĥ«", + "ãĤ¨ãĥįãĥ« ãĤ®", + "ãĤ¨ãĥįãĥ«ãĤ® ãĥ¼", + "à¸Ĥà¸Ńà¸ĩ à¸ķัวà¹Ģà¸Ńà¸ĩ", + "بÙĤ اء", + "פס ×Ļ׼", + "פס×Ļ׼ ×ķ׾×ķ×Ĵ", + "ãĥ¡ ãĥĥ", + "ãĥ¡ãĥĥ ãĤ»", + "ãĥ¡ãĥĥãĤ» ãĥ¼ãĤ¸", + "ÙĦ ÙĤب", + "A Äŀ", + "שק ×Ļ×¢", + "ÙĤ ساÙħ", + "×ĵ×ķ×Ĵ ×ŀ×Ķ", + "æ·± ãģĦ", + "íĸĪ ëĬĶëį°", + "ĠrozwiÄħz anie", + "à¸Ļัà¹Īà¸Ļ à¹Ģà¸Ńà¸ĩ", + "×Ļצ ×ij", + "Ġtr ông", + "à¹ĥà¸Ĭà¹ī à¸ļริà¸ģาร", + "ĠاÙĦÙħÙĪ Ø³Ùħ", + "ĠдеÑĤ и", + "ãģĹãģĭ ãģªãģĦ", + "ס ×Ļף", + "Ġréfé rence", + "à¹ģห à¹īà¸ĩ", + "ãĤĤãĤī ãģ£ãģŁ", + "Ġ׾ ר׼", + "Ġ׾ר׼ ×ķש", + "شع ÙĪØ±", + "ĠÐij ог", + "Ġlaz ım", + "Ġ×Ļש ׳×Ŀ", + "Ġп аÑĢÑĤ", + "ĠпаÑĢÑĤ неÑĢ", + "ĠÑĥ ника", + "ĠÑĥника лÑĮн", + "Ġmaté riel", + "×ŀר ×§", + "Ġph ưá»Ŀng", + "Ġз ай", + "Ġзай м", + "Ùģ ÙĤد", + "Univers itÃł", + "×¢ ר׼×Ļ×Ŀ", + "Ġba ño", + "Ġн оÑı", + "ĠноÑı бÑĢÑı", + "à¸Ľ à¹īาย", + "Ġt ats", + "Ġtats äch", + "Ġtatsäch lich", + "ĠÑĤÑĢ ÐµÑĤÑĮ", + "Ñį м", + "ãĥĻ ãĥ¼ãĤ¹", + "Ġnh á»±a", + "ìĬ¤ íģ¬", + "ĠعبداÙĦ ÙĦÙĩ", + "Ġת ×ķר×Ķ", + "أش ÙĬ", + "أشÙĬ اء", + "ĠÙĦÙĦ غا", + "ĠÙĦÙĦغا ÙĬØ©", + "Ùħ ÙĪØ§ÙĤ", + "ÙħÙĪØ§ÙĤ Ùģ", + "ĠgÅĤówn a", + "Ġart Ä±ÅŁ", + "Ġ×ŀ×§ ×ķ×ŀ×Ļ", + "ãĤ¯ãĥ© ãĥĸ", + "Ġس ÙĪÙī", + "ĠìŬ ìĦ±", + "اس ر", + "اسر ائÙĬÙĦ", + "Ġ׳ ×Ľ×ª×ij", + "ย à¹īà¸Ńà¸Ļ", + "Ġdeber á", + "Ġph ẫu", + "ÑİÑī ем", + "ĠÙĦدÙĬ ÙĨا", + "×ŀ×ĺ ×Ķ", + "Ġ׳ ×ķ׾×ĵ", + "ĠвÑģÑĤÑĢ ÐµÑĩа", + "ãĤīãĤĮ ãģ¦ãģĦãģ¾ãģĻ", + "ĠcaÅĤ ej", + "ย ึ", + "ยึ à¸Ķ", + "поÑĤ ен", + "поÑĤен ÑĨи", + "Ġл иÑĤ", + "ĠлиÑĤ еÑĢ", + "ĠлиÑĤеÑĢ Ð°ÑĤÑĥÑĢ", + "Ġкажд ом", + "ĠíĮ IJ", + "ĠíĮIJ ëĭ¨", + "à¸Ī ู", + "Ġpres ença", + "ãģªãĤĵ ãģ§", + "Ùħ ÙĬاÙĩ", + "ин ÑĦоÑĢм", + "инÑĦоÑĢм аÑĨион", + "инÑĦоÑĢмаÑĨион н", + "ĠìŀIJ ìŰ", + "ר׼ ש", + "Ġöd ül", + "ç¶ļ ãģı", + "Ġп Ñģ", + "ĠпÑģ иÑħ", + "ĠпÑģиÑħ олог", + "ت ذÙĥر", + "Ġìŀħ ìŀ¥", + "ล à¸Ķà¹Į", + "ìĦł ê±°", + "ãģ£ãģ¦ ãģĬãĤĬãģ¾ãģĻ", + "Ġ×Ļ ×¢", + "Ġ×Ļ×¢ ×§×ij", + "ĠاÙĦØ· عاÙħ", + "ãĥĨ ãĤ¹ãĥĪ", + "ĠTu ấn", + "Ġparticip ación", + "×ŀ×ķ×ŀ ×Ĺ×Ķ", + "×Ĵר ס×Ķ", + "ĠاÙĦتÙĨ ÙģÙĬ", + "ĠاÙĦتÙĨÙģÙĬ ذÙĬ", + "ĠбезопаÑģ н", + "ge f", + "gef ähr", + "Ø´ ÙĪØ±", + "Ġmy ÅĽli", + "ÙĪØ§ Ø´ÙĨ", + "ÙĪØ§Ø´ÙĨ Ø·ÙĨ", + "׳×ķס ×¢", + "Ùĥ Ùĩ", + "ÙĥÙĩ رب", + "ÙĥÙĩرب اء", + "Ġmus iaÅĤ", + "ìĭ ¸", + "ãĥĸãĥ© ãĥĥãĤ¯", + "Ġcré é", + "ÙĨÙĩ ار", + "owo ÅĽÄĩ", + "ÙħØŃا ÙĥÙħ", + "ĠwÅĤa ÅĽ", + "ĠwÅĤaÅĽ c", + "ĠwÅĤaÅĽc iciel", + "ĠÙĬ ؤ", + "ĠÙĬؤ دÙĬ", + "×ŀ×¢ ×ķ׳", + "×IJ ×ij׾", + "خط Ø£", + "ĠÑħ олод", + "×ĸ ×ķ׾", + "ãģĵãĤĮ ãĤī", + "ãģĵãĤĮãĤī ãģ®", + "Ġbás ica", + "ฤ à¸Ķ", + "ฤà¸Ķ ูà¸ģ", + "ฤà¸Ķูà¸ģ า", + "ฤà¸Ķูà¸ģา ล", + "èIJ½ãģ¡ çĿĢ", + "ãģªãģĦ ãģĵãģ¨", + "ص ÙĪÙħ", + "ÙĨج ØŃ", + "׳ק ×ķ×ĵ", + "׳ק×ķ×ĵ ת", + "кл аÑģÑģ", + "íķĺìĭľ ëĬĶ", + "ëĦ ĺ", + "Ġש×IJ ×Ļ׳×ķ", + "ĠС ейÑĩаÑģ", + "may acaģı", + "Ġyap ılır", + "Ġcategor ÃŃa", + "عب اد", + "ĠТ еп", + "ĠТеп еÑĢÑĮ", + "×Ķ×Ļס×ĺ ×ķר×Ļ", + "h ế", + "ãĤ³ ãĥ¼ãĥī", + "Ġcabe ça", + "ج Ùħا", + "جÙħا Ùĩ", + "جÙħاÙĩ ÙĬر", + "ä½İ ãģĦ", + "ĠÑĤоваÑĢ Ð¾Ð²", + "à¸Ĭาว à¸ļà¹īาà¸Ļ", + "ĠÑģÑĤан ов", + "ĠÑģÑĤанов иÑĤÑģÑı", + "ĠавÑĤом обилÑĮ", + "ĠÑģлÑĥÑĩ ай", + "à¸Ńั à¸ŀ", + "ĠG iriÅŁ", + "ĠìĿ¼ ëĭ¨", + "ĠпÑĢ Ð¾Ñģ", + "ĠпÑĢоÑģ моÑĤÑĢ", + "ãģªãģıãģª ãģ£ãģŁ", + "มี à¸Ľà¸±à¸įหา", + "ïº İ", + "éc oute", + "ĠÙħ ÙĪØ¬ÙĪØ¯", + "Ġس رÙĬع", + "ĠÙĪÙĩ ÙĨا", + "ĠÙĪÙĩÙĨا Ùĥ", + "à¸Ħุà¸ĵ สม", + "à¸Ħุà¸ĵสม à¸ļัà¸ķิ", + "Ġìļ° ìĦł", + "à¸ŀระ à¸ŀุà¸Ĺà¸ĺ", + "好 ãģ¿", + "ظ ÙĦÙħ", + "Ġм акÑģ", + "ĠмакÑģ ималÑĮ", + "ĠмакÑģималÑĮ но", + "ãĥª ãĤ¢ãĥ«", + "à¹ģมà¹ī วà¹Īา", + "ĠاÙĦØŃ ÙĪØ§Ø±", + "ãĥĹãĥ© ãĤ¹", + "Ġع ÙĦاÙĤØ©", + "Ġíĸī ëıĻ", + "Ġgönder il", + "Ġl ãi", + "ĠsaÄŁ lıkl", + "ĠsaÄŁlıkl ı", + "ĠÑĪ Ð°Ð³", + "Ġ×ij×IJר ×Ķ", + "prowadzi Äĩ", + "ãģĦãģı ãģ¤ãģĭ", + "Ġبت ارÙĬØ®", + "Ġ×ij×IJ×ķת ×Ķ", + "Ġmó c", + "ĠÐľ не", + "ãĥĹãĥ¬ ãĥ¼", + "×IJ ×ĸר×Ĺ", + "åł´åIJĪ ãģ«ãģ¯", + "使 ãģĪ", + "à¹Ģร ืà¸Ńà¸Ļ", + "ĠÐŁ еÑĤ", + "ĠÐŁÐµÑĤ ÑĢ", + "ãģ«åħ¥ ãĤĭ", + "Ùħ ادة", + "à¹Ģà¸ĩ ืà¹Īà¸Ńà¸Ļ", + "à¹Ģà¸ĩืà¹Īà¸Ńà¸Ļ à¹Ħà¸Ĥ", + "ĠÑģоÑģÑĤоÑı ние", + "ôn ica", + "ĠÑĦ ев", + "ĠÑĦев ÑĢа", + "ĠÑĦевÑĢа лÑı", + "Ġ×ķ ×ĸ", + "Ġ×ķ×ĸ ×IJת", + "à¸Ħร ิ", + "à¸Ħริ ส", + "ĠÐķ Ñīе", + "ãģ£ãģ¦ãģĹãģ¾ ãģĦãģ¾ãģĹãģŁ", + "ĠпÑĢав иÑĤелÑĮ", + "ĠпÑĢавиÑĤелÑĮ ÑģÑĤв", + "Ġtä glich", + "Ġëĭ¹ ìĭľ", + "×ŀ×ķ×¢ ×ŀ×ĵ", + "Ġдв оÑĢ", + "æī ķ", + "æīķ ãģĦ", + "ĠÑģÑĤан еÑĤ", + "Ġвозд ейÑģÑĤв", + "ĠвоздейÑģÑĤв и", + "Ġf ête", + "à¹Ģส า", + "תק ×ķ×ķ×Ķ", + "Ġu yar", + "Ġuyar ı", + "à¸ģลัà¸ļ à¹Ħà¸Ľ", + "Ġgi ưá»Ŀng", + "Ġв а", + "Ġва ÑĪи", + "ĠÄij áºŃu", + "ĠSpa ÃŁ", + "ĠìķĦ ë§Ī", + "à¹Ħà¸Ķà¹ī à¸ĩà¹Īาย", + "Ġ×Ķ×ŀ ×ijקש", + "æĸ° ãģŁ", + "æĸ°ãģŁ ãģª", + "ılı yor", + "пл ан", + "Ġ×Ķ×ijר ×Ļ×IJ×ķת", + "ĠaÄŁ rı", + "Ġsay gı", + "建 ãģ¦", + "Ġnaj wyż", + "Ġnajwyż sz", + "سÙĬاس ات", + "ãģĬ å¾Ĺ", + "ĠاÙĦع ÙĦÙĬ", + "ĠاÙĦعÙĦÙĬ ا", + "Ġcoraz ón", + "ì¹ĺ ë£Į", + "หัว à¸Ĥà¹īà¸Ń", + "Ġب ØŃÙĬ", + "ĠبØŃÙĬ Ø«", + "зв езд", + "بÙĪ Ø§Ø¨Ø©", + "ÐĽ Ðĺ", + "ÙĦا زÙħ", + "Ġroz p", + "Ġrozp oc", + "Ġrozpoc zÄĻ", + "触 ãĤĮ", + "ĠاÙĦج ÙħÙĩ", + "ĠاÙĦجÙħÙĩ ÙĪØ±", + "Ġsp ÄĻd", + "ĠspÄĻd z", + "วิà¸Ĺยา ศาสà¸ķรà¹Į", + "ив аеÑĤÑģÑı", + "Ġдан ной", + "Ġreprés ente", + "ĠÄij á»ĭch", + "Ġ×¢×ŀ ×ķ×§", + "à¸Ńัà¸Ļ à¸ķร", + "à¸Ńัà¸Ļà¸ķร าย", + "Ġestr atég", + "Ġestratég ia", + "pad ÅĤ", + "Ġв полн", + "Ġвполн е", + "ĠпÑĢедоÑģÑĤав лен", + "×Ĺ׾ ×ķ×§", + "×Ĺ׾×ķ×§ ת", + "ãĤ¢ ãĥĬ", + "ĠاÙĦغ ذ", + "ĠاÙĦغذ ائÙĬ", + "ĠÑĥ зн", + "ĠÑĥзн аÑĤÑĮ", + "à¸ĭ à¹īาย", + "å½ĵ ãģ¦", + "ØŃÙĬ اء", + "Ġbás ico", + "×§×ķ×ij ×¢", + "ĠاÙĦÙħ باراة", + "ĠاÙĦÙĩ اتÙģ", + "Ġ׼ ׳×Ĵ×ĵ", + "à¸Ľà¸£à¸° หย", + "à¸Ľà¸£à¸°à¸«à¸¢ ัà¸Ķ", + "Ðļ ак", + "à¸Ĺีà¹Ī à¸Ļà¹Īา", + "à¸Ĺีà¹Īà¸Ļà¹Īา สà¸Ļà¹ĥà¸Ī", + "ãģ¾ ãģģ", + "ï½ ¢", + "Ñģк оп", + "Ġson rasında", + "Ġur zÄħd", + "ĠurzÄħd zenia", + "׼×ķ ×ķ׳", + "׼×ķ×ķ׳ ת", + "Ġ׾×Ķת ×ŀ×ķ×ĵ", + "Ġ׾×Ķת×ŀ×ķ×ĵ ×ĵ", + "ĠÑģ ли", + "ĠÑģли ÑĪ", + "ĠÑģлиÑĪ ÐºÐ¾Ð¼", + "ĠÑģÑĤ Ñĥд", + "ĠÑģÑĤÑĥд енÑĤ", + "Ġ×Ķ ×ķ×ĵ", + "Ġ×Ķ×ķ×ĵ ×¢×Ķ", + "ë¹Ħ ìļ©", + "à¸Ńยาà¸ģ à¹ĥหà¹ī", + "Ġb á»ģ", + "ยุ à¸Ĺà¸ĺ", + "Ðĺ ÐĿ", + "س ائر", + "Ø£ صÙĪÙĦ", + "ĠاÙĦغ رÙģ", + "ãģĵãģ¨ãĤĤ ãģĤãĤĬãģ¾ãģĻ", + "è¾¼ ãģ¾ãĤĮ", + "ĠاÙĦساب ع", + "Ġc á»§", + "ãģĦãģŁãģł ãģĦãģŁ", + "ì§ ĵ", + "ìĤ¬ 무", + "powied ź", + "تÙģ Ùĥ", + "تÙģÙĥ ÙĬر", + "иÑĢов ки", + "ĠíĨµ íķ´ìĦľ", + "ãĤ¨ ãĤ¹ãĥĨ", + "ĠдеÑıÑĤелÑĮ ноÑģÑĤÑĮ", + "ĠданнÑĭ м", + "Ġ×¢ ×ķר", + "Ġ×¢×ķר ׼×Ļ", + "×ķ×ĵ עת", + "Ġhayat ını", + "Ġb Äħd", + "ĠbÄħd ź", + "obs ÅĤug", + "à¹Ģà¸ŀียà¸ĩ à¹ģà¸Ħà¹Ī", + "à¸ĭ à¹Īา", + "è²ł ãģij", + "ĠÑģÑĤÑĢ ÐµÐ¼", + "ĠÄij á»īnh", + "ĠÐł ÑĥÑģ", + "ĠN ữ", + "Ġ׾×Ķש ×Ļ×Ĵ", + "Ġjed noc", + "Ġjednoc ze", + "Ġjednocze ÅĽnie", + "Ġ×Ķ×Ĵ ×ij×ķ×Ķ", + "أخ ÙĦاÙĤ", + "ĠнаÑģ ел", + "ĠнаÑģел ениÑı", + "ĠÙĬ ÙĨب", + "ĠÙĬÙĨب غÙĬ", + "ãģĮ ãģĭ", + "ãģĮãģĭ ãģĭ", + "×Ĵ עת", + "Ðŀ Ðł", + "ĠналиÑĩ ии", + "Ġë§Ī ì§Ģ", + "Ġë§Īì§Ģ ë§ī", + "Ġíĸī ìĤ¬", + "Ġtre ÅĽci", + "Ġê°Ģ ì¹ĺ", + "ì¦ ĺ", + "Ġана лог", + "×Ķצע ת", + "в лад", + "влад е", + "ĠÑģдел ал", + "Ġ׳ ×Ĵ×Ļש", + "Ġ׳×Ĵ×Ļש ×ķת", + "полн ение", + "à¸Ĩ à¹Īา", + "ĠD ön", + "׼׾׼ ׾×Ķ", + "×ŀ×ĸ ×Ĵ", + "Ùħ Ùģ", + "ÙħÙģ Ùĩ", + "ÙħÙģÙĩ ÙĪÙħ", + "×Ķ ×ĵ", + "×Ķ×ĵ פס", + "×Ķ×ĵפס ×Ķ", + "ãģĻãģİ ãģ¦", + "Ġг ÑĢ", + "ĠгÑĢ Ð½", + "×ŀ×ĺ ×ķס", + "Ġ기 ìĸµ", + "ï¾ Ł", + "ĠpÅĤ yn", + "ĠGr ünde", + "ĠBü cher", + "Ġwed ÅĤug", + "ãģ¾ãģł ãģ¾ãģł", + "Ġ׳×Ķ ×ĵר", + "ĠÙĬست Ø·ÙĬع", + "ĠHi á»ĩp", + "ãĤŃãĥ£ãĥ³ ãĥļ", + "ãĤŃãĥ£ãĥ³ãĥļ ãĥ¼ãĥ³", + "Ġth á»ķ", + "Ġeuropé enne", + "à¸ļ ัà¸ĩ", + "à¸ļัà¸ĩ à¸Ħัà¸ļ", + "ĠszczegóÅĤ owo", + "׳ שק", + "ãĥķ ãĥ©ãĥ³ãĤ¹", + "×ŀ×ķ×ŀ ×Ĺ×Ļ", + "Ġcom ún", + "Ġç arp", + "ØŃت ÙĬا", + "ØŃتÙĬا ج", + "ØŃتÙĬاج ات", + "ëĭ´ ëĭ¹", + "ä½ķ 度", + "ä½ķ度 ãĤĤ", + "×ĵ ×ij×§", + "ãģį ãĤĮ", + "ãģįãĤĮ ãģĦ", + "Ġк ам", + "Ġкам еÑĢ", + "ĠespecÃŃf ico", + "Ġtel éfono", + "à¸ķัà¹īà¸ĩ à¸Ńยูà¹Ī", + "I Åŀ", + "ãģ© ãĤĵãģ©", + "ãģ©ãĤĵãģ© ãĤĵ", + "עצ ×ŀ×IJ×Ļ", + "à¸Ķัà¸ĩ à¸Ļีà¹ī", + "ĠÑĦоÑĢм иÑĢов", + "ĠÑĦоÑĢмиÑĢов а", + "×ķ×ŀ ×ij", + "Ġkullan ımı", + "Ðľ Ðŀ", + "×¢ ש×Ļ", + "עש×Ļ ×Ļ×Ķ", + "Ġön lem", + "à¹Ģà¸Ń à¹ĩ", + "à¹Ģà¸Ńà¹ĩ ม", + "×ŀשק ×Ļ×¢", + "ר ×Ļ×Ĺ", + "à¸Ĥ ัà¸Ķ", + "ĠíĻ ľ", + "ĠíĻľ ìļ©", + "à¸ĭ ะ", + "ãĤĪãģĨ ãģ«ãģªãĤĬãģ¾ãģĹãģŁ", + "ĠÑĢаÑģ пÑĢ", + "ĠÑĢаÑģпÑĢ Ð¾ÑģÑĤ", + "ĠÑĢаÑģпÑĢоÑģÑĤ ÑĢан", + "ĠÑĢаÑģпÑĢоÑģÑĤÑĢан ен", + "׼×Ļ ×ķף", + "ÙĤب ض", + "تص رÙĬØŃ", + "تصرÙĬØŃ ات", + "Ġо ÑĢи", + "ĠоÑĢи г", + "ĠоÑĢиг ина", + "ĠоÑĢигина л", + "ĠاÙĦع اÙĦÙĬ", + "à¹ģหà¹Īà¸ĩ à¸Ļีà¹ī", + "ãĥķãĤ¡ ãĥ¼", + "ãģ¦ãģĦ ãģį", + "ãģ¦ãģĦãģį ãģŁãģĦ", + "פ תר", + "פתר ×ķ׳×ķת", + "Ġ×ij ×Ļ×Ĺ", + "Ġ×ij×Ļ×Ĺ ×ĵ", + "Ġod by", + "Ġodby ÅĤ", + "ĠоÑĩеÑĢ ÐµÐ´", + "Ġtr ương", + "ãĤŃ ãĥ³", + "×ŀ ×ķפ", + "×ŀ×ķפ ×¢", + "ëĵľ 립", + "ëĵľë¦½ ëĭĪëĭ¤", + "à¸ŀืà¹īà¸Ļ à¸IJาà¸Ļ", + "ìŀIJ 격", + "ĠVi á»ĩn", + "ĠDes pués", + "Ġ×IJ׾ ×Ļ׳×ķ", + "Ġdur ée", + "íĩ ´", + "Ġmü zik", + "i ếu", + "ĠÑĢаз меÑīен", + "Ġк Ñĥд", + "ĠкÑĥд а", + "غ ض", + "غض ب", + "ĠTamb ém", + "à¸Īัà¸Ķ สà¹Īà¸ĩ", + "à¸ģาร à¹ģสà¸Ķà¸ĩ", + "onom ÃŃa", + "Ġан г", + "Ġанг ли", + "Ġангли й", + "Ġанглий Ñģк", + "Ġzn al", + "Ġznal az", + "Ġznalaz ÅĤ", + "תר ×Ĵ", + "תר×Ĵ ×ķ×Ŀ", + "ĠÑģ нов", + "ĠÑģнов а", + "ĠÑĩаÑģ а", + "Ġcommun auté", + "ĠespecÃŃf ica", + "ĠL á»ĭch", + "Ġli é", + "Ùģ Ø¬Ø±", + "à¹Ģà¸ģ à¹Īà¸ĩ", + "ع اÙĦ", + "عاÙĦ ج", + "Ø£ÙĨ ظ", + "Ø£ÙĨظ ÙħØ©", + "ES İ", + "ĠاÙĦØŃ دÙĬد", + "à¸ŀระ à¸Ńà¸ĩà¸Ħà¹Į", + "Ġפר שת", + "Ġдв иж", + "Ġдвиж ениÑı", + "ĠاÙĦج ارÙĬ", + "à¸ĺาà¸Ļ ี", + "неÑģ ен", + "ĠاÙĦÙĨ ÙĩائÙĬ", + "Ġб еÑĢ", + "ĠбеÑĢ ÐµÐ¼", + "ĠбеÑĢем енн", + "Ġdépart ement", + "à¹Ģà¸Ĺ ีย", + "à¹Ģà¸Ĺีย à¸ļ", + "ĠÐľ аÑĢи", + "ĠнекоÑĤоÑĢ ÑĭÑħ", + "об еÑģп", + "обеÑģп еÑĩен", + "×Ĺ ×ķ×ĸ", + "×Ĺ×ķ×ĸ ×Ķ", + "ÙĨت ج", + "à¸Īะ à¹Ħà¸Ķà¹īรัà¸ļ", + "á» °", + "Ġél éments", + "ع Ø·", + "عط اء", + "Ġt ắt", + "i á»ĩm", + "ÑİÑīиÑħ ÑģÑı", + "ãģĹãģ °", + "ãģĹãģ° ãĤīãģı", + "Ġпом ожеÑĤ", + "à¸Ĥà¸ĵะ à¸Ļีà¹ī", + "Ġ×¢ שר×ķת", + "éģķ ãģ£ãģ¦", + "ĠпÑĢ Ð¾Ð³", + "ĠпÑĢог н", + "ĠпÑĢогн оз", + "Ġt ÅĤ", + "ĠtÅĤ um", + "ĠtÅĤum acz", + "T ür", + "Tür kiye", + "ãģį ãģ£", + "ãģįãģ£ ãģĭãģij", + "Ġ×Ķ׳ ×ķ׼", + "Ġ×Ķ׳×ķ׼ ×Ĺ×Ļ", + "ĠìĥĿ ìĤ°", + "ĠÑĦоÑĢм Ñĭ", + "ç¾İ ãģĹãģĦ", + "à¸Ľà¸£ ึà¸ģ", + "à¸Ľà¸£à¸¶à¸ģ ษา", + "Ġlum ière", + "ãĤª ãĥ¼ãĥĹ", + "ãĤªãĥ¼ãĥĹ ãĥ³", + "à¸Ľ ืà¸Ļ", + "วั สà¸Ķ", + "วัสà¸Ķ ุ", + "еÑĢÑĤ в", + "ÙĥÙĦ Ùģ", + "ï½ £", + "à¸ĺรรม à¸Ķา", + "׳ ×ĺר", + "ĠпÑĢедÑģÑĤав лÑıеÑĤ", + "Ġanál isis", + "Ġb ãi", + "با ÙĤÙĬ", + "à¸Ľà¸£à¸° à¹Ģà¸Ķ", + "à¸Ľà¸£à¸°à¹Ģà¸Ķ à¹ĩà¸Ļ", + "ĠÑģлÑĥÑĩ аÑı", + "ĠÑģлÑĥÑĩаÑı Ñħ", + "ÐĽ ÐIJ", + "สัà¸ĩ à¹Ģà¸ģ", + "สัà¸ĩà¹Ģà¸ģ à¸ķ", + "Ġprz ec", + "Ġprzec ież", + "Ùħ صÙĦ", + "ÙħصÙĦ ØŃØ©", + "ש×ķ×§ ×ķ׾×ĵ", + "ĠобоÑĢÑĥд ованиÑı", + "Ġtr waÅĤ", + "رÙĪ Ùħ", + "ìķĪ ëĤ´", + "ĠNgh á»ĭ", + "Ø® Ø´", + "à¸ļา à¸Ħาร", + "à¸ļาà¸Ħาร à¹Īา", + "Ġоп ÑĨион", + "ĠÑģозд аниÑı", + "ãĤ³ ãĤ¹ãĥĪ", + "Ġ×Ķ×¢ ׾×Ļ", + "Ġ×Ķ×¢×ľ×Ļ ×ķף", + "lä uft", + "ãĥĻ ãĤ¹ãĥĪ", + "Ġr ê", + "Ġrê ve", + "×IJ ×ij×Ļ×ij", + "×Ļ ×Ļ×ļ", + "ë¶ Ļ", + "ãĤ¤ãĥ³ ãĥī", + "ÅĤo ży", + "ÅĤoży Äĩ", + "ع ائÙĦ", + "عائÙĦ Ø©", + "Ø£ ÙĪØ±", + "Ø£ÙĪØ± اÙĤ", + "à¸Ĺà¹īà¸Ńà¸ĩ à¸ĸ", + "à¸Ĺà¹īà¸Ńà¸ĩà¸ĸ ิà¹Īà¸Ļ", + "Ġä hn", + "Ġähn lich", + "ãĥŁ ãĥĭ", + "à¸ľ ู", + "à¸ľà¸¹ à¹īà¸Ļ", + "à¸ľà¸¹à¹īà¸Ļ ำ", + "ĠмаÑĤеÑĢиал Ñĭ", + "Ġкап иÑĤ", + "ĠкапиÑĤ ал", + "ï¼ ¦", + "Ġseç il", + "Ġh ứng", + "Ġintéress ant", + "ãģ£ãģ¦ ãģĦãģı", + "Ġe ÄŁer", + "ëIJĺ ìĹĪìĬµëĭĪëĭ¤", + "Ġan laÅŁma", + "ãģĶ åĪ©ç͍", + "Ġ×ij ×ĸ׼", + "Ġ×ij×ĸ׼ ×ķת", + "ëĿ¼ ë©´", + "ĠÙĬ ÙĪØ³", + "ĠÙĬÙĪØ³ Ùģ", + "أسÙĦ ØŃØ©", + "ĠGef ühl", + "ĠноÑĢм алÑĮн", + "ãĥĻ ãĥ³", + "ãģķãĤĮ ãĤĭãģĵãģ¨", + "ĠÐij еÑģ", + "ãģ¨ãģĦ ãģĪãģ°", + "ĠÙħ ÙĩÙħ", + "ĠÙħÙĩÙħ Ø©", + "ãģ§ãģĹãĤĩãģĨ ãģŃ", + "ĠêµŃ ëĤ´", + "à¹Ģม à¹ĩà¸Ķ", + "×ŀ×ij קר", + "ĠاÙĦد ÙĨÙĬ", + "ĠاÙĦدÙĨÙĬ ا", + "à¸Ĭ ู", + "к ÑĢÑĥÑĤ", + "Ġtho áng", + "Ġ׳ ×ĵר", + "Ġ׳×ĵר ש", + "ĠÑĢаÑģÑģ казал", + "ĠAu ÃŁerdem", + "פ ×IJר", + "פ×IJר ×§", + "Ġ×ŀש×Ĺ×§ ×Ļ×Ŀ", + "צ ר׼×Ļ×Ŀ", + "×ŀ×ĵ ×ķ", + "×ŀ×ĵ×ķ ×Ļ×§", + "èĭ¦ ãģĹ", + "ĠÑģ иг", + "ĠÑģиг нал", + "ĠM á»įi", + "Ġtr ữ", + "Ġnast ÄĻp", + "ĠnastÄĻp nie", + "Ġì¶Ķ ì§Ħ", + "ĠاÙĦÙģ ÙĨد", + "ĠاÙĦÙģÙĨد ÙĤ", + "koÅĦ czyÅĤ", + "ส ีà¹Ī", + "×§ ×Ļ×ij", + "×§×Ļ×ij ×ķ×¥", + "ĠнÑĥж нÑĭ", + "大 åĪĩ", + "大åĪĩ ãģª", + "æıĽ ãģĪ", + "ת ×ķס", + "ת×ķס פת", + "ãģ£ãģ¦ ãģĦãģªãģĦ", + "Ġм Ñı", + "ĠмÑı г", + "ĠмÑıг к", + "Ġjak ie", + "Ġjakie ÅĽ", + "à¸ķำ à¸ļ", + "à¸ķำà¸ļ ล", + "ĠìŀĪ ì§Ģ", + "×ij×ĺ ×IJ", + "ĠоÑĤлиÑĩ но", + "ÙĤ ÙIJ", + "ĠавÑĤом об", + "ĠавÑĤомоб и", + "ĠавÑĤомоби лÑı", + "دÙĬÙħÙĤرا Ø·ÙĬ", + "ĠاÙĦ ÙĪØ§", + "ĠاÙĦÙĪØ§ ØŃد", + "Ġس ÙĪØ±ÙĬØ©", + "Ø£ غÙĦ", + "أغÙĦ ب", + "ĠÑįк ÑĢан", + "ãĥĹ ãĥ©ãĤ¤", + "Ġjeste ÅĽ", + "ãĥIJ ãĥª", + "Ġ×Ķ×IJ ×ķ×ķ×Ļר", + "ائ Ùĥ", + "à¸Ńยà¹Īาà¸ĩ ยิà¹Īà¸ĩ", + "ÑĢ ÐµÐºÑĤ", + "Ġum o", + "Ġumo ż", + "Ġumoż li", + "Ġumożli w", + "Ġumożliw ia", + "Ġnäch ste", + "ĠìŀĪ ì§Ģë§Į", + "ĠпÑĢед н", + "ĠпÑĢедн аз", + "ĠпÑĢедназ наÑĩен", + "Ġma çı", + "Ġp omi", + "Ġpomi ÄĻd", + "ĠpomiÄĻd zy", + "ĠاÙĦÙĦ ÙĤاء", + "à¹Ģà¸Ķ à¸Ńะ", + "Ġнов оÑģÑĤи", + "×ŀ׊׾×Ķ", + "رÙĬاض ÙĬ", + "à¸Ķ à¸Ļ", + "à¸Ķà¸Ļ à¸ķรี", + "ب صر", + "ìĬ¤ íĥĢ", + "scri pción", + "Ġnap isa", + "Ġnapisa ÅĤ", + "Ġ׳ש ×ŀ×¢", + "ĠاÙĦÙħØŃ ÙĦÙĬ", + "Ġhi á»ĥn", + "×IJ ×Ĺ", + "×IJ׊ר×IJ×Ļ", + "Ġг ÑĢаниÑĨ", + "æīĭ ç¶ļãģį", + "Ùĥ سب", + "Ġà¹ģà¸ķà¹Ī à¸ĸà¹īา", + "à¸Ķาว à¸Ļà¹Į", + "à¸Ķาวà¸Ļà¹Į à¹Ĥหลà¸Ķ", + "ãĤĭãģĵãģ¨ãģĮãģ§ãģį ãģ¾ãģĻ", + "åŁºæľ¬ çļĦãģ«", + "ÙĪÙĦ اد", + "rä ume", + "د ÙģØ§Ø¹", + "×Ļצ ×¢", + "ĠO czy", + "ĠOczy wiÅĽcie", + "ĠÅ ģ", + "ĠÅģ a", + "اÙĦÙĬ اب", + "اÙĦÙĬاب اÙĨ", + "áºł I", + "ĠBir liÄŁi", + "×Ķ ×ķצ", + "×Ķ×ķצ ×IJת", + "ĠÄij ua", + "Ġê·¸ëŁ¬ ëĭĪê¹Į", + "Ġréal ité", + "ع ÙĦاÙĤات", + "J este", + "Jeste ÅĽ", + "Ġмн ож", + "Ġмнож еÑģÑĤво", + "ï¼ «", + "ãĥĹãĥŃ ãĤ¸ãĤ§", + "ãĥĹãĥŃãĤ¸ãĤ§ ãĤ¯ãĥĪ", + "ĠÑĦ л", + "ظ ÙĨ", + "×Ĵ׾ ×Ĵ׾", + "ĠmÅĤod zie", + "ĠmÅĤodzie ż", + "à¸Ļà¹īำ à¸ķา", + "à¸Ļà¹īำà¸ķา ล", + "ÐĽ Ðķ", + "×ij ×ķ×ĺ", + "Ġ׾×Ķ ×Ĵ×Ļ×ĵ", + "ãģĵãģ¨ãĤĤ ãģĤãĤĭ", + "ز اد", + "×ŀ×Ļ×ĵ ×¢", + "ĠgÅĤówn ie", + "ãĥı ãĤ¦", + "ãĥıãĤ¦ ãĤ¹", + "б ел", + "Ġét ape", + "ðŁĺ Ģ", + "Ġмод елÑĮ", + "a ģını", + "ש ×Ĺ×§", + "ש×Ĺ×§ ף", + "Ġni ño", + "à¸Ĭ à¹īาà¸ĩ", + "à¹Ģล ีย", + "ĠÑĦоÑĢм е", + "ĠاÙĦØ´ رÙĬÙģ", + "ĠÑĥд аÑĢ", + "arr iv", + "arriv ée", + "Ġmies iÄĻ", + "ĠmiesiÄĻ cy", + "ØŃ رÙĥ", + "ØŃرÙĥ ات", + "ĠDi á»ħn", + "ÐĿ Ы", + "ãģ¾ãģ£ãģŁ ãģı", + "Ġ×Ļ ×¨×ķ×§", + "еÑģÑĤ еÑģÑĤв", + "еÑģÑĤеÑģÑĤв енн", + "Ġê·¸ ëŁ¼", + "ĠاÙĦÙħ تÙĪ", + "ĠاÙĦÙħتÙĪ Ø³Ø·", + "Ġbéné fic", + "Ġbénéfic ie", + "Ġwy bra", + "Ġwybra Äĩ", + "ĠاÙĦز ÙħÙĨ", + "ĠпÑĢин Ñı", + "ĠпÑĢинÑı л", + "Ù쨱 ØŃ", + "Ġk sz", + "Ġksz taÅĤ", + "ĠksztaÅĤ t", + "ק׾ ×ĺ", + "×ij×ĵ×Ļ×§ ת", + "Ġgi ấ", + "Ġgiấ c", + "Ġpropriet Ãł", + "деÑĢж ан", + "ĠKö ln", + "ĠGü zel", + "×Ļפ ×ķ×Ļ", + "ĠCu á»Ļc", + "ÑįÑĤ аж", + "تر ÙĥÙĬ", + "ترÙĥÙĬ ز", + "лож ений", + "Ġп Ñĥ", + "ĠпÑĥ ÑĤи", + "اخت ÙĦاÙģ", + "åĩºãģ¦ ãģıãĤĭ", + "à¸ļุ à¸ģ", + "âĿ ¤", + "ÑĦ ан", + "פש ×ĺ", + "à¸ļัà¸Ļ à¹Ģà¸Ĺ", + "à¸ļัà¸Ļà¹Ģà¸Ĺ ิà¸ĩ", + "ĠاÙĦس اد", + "ĠاÙĦساد س", + "ĠاÙĦÙĤ ÙĪÙħ", + "ĠاÙĦÙĤÙĪÙħ ÙĬ", + "Ġyönet ici", + "Ùĩ ÙĪØ§Øª", + "ÙĩÙĪØ§Øª Ùģ", + "Ġrespons ável", + "Ġпод деÑĢжива", + "ĠاÙĦسÙĦ Ø·", + "ĠاÙĦسÙĦØ· ات", + "ãģĹãģ¦ ãģĬãģı", + "ãĥļ ãĥĥãĥĪ", + "à¸Ľ ุà¹Īม", + "Ġogl Äħda", + "ÙĨا ÙĤ", + "ÙĨاÙĤ Ø´", + "à¸Ħà¸Ńà¸Ļ à¹Ĥà¸Ķ", + "ĠMü sl", + "ĠMüsl ü", + "ĠMüslü man", + "ĠMo ż", + "ĠMoż na", + "Ġnum érique", + "Ġv á»ı", + "ĠسÙĬ تÙħ", + "Ġyer leÅŁ", + "монÑĤ аж", + "Ġgo ût", + "ãģ¦ ãģĬãĤĬãģ¾ãģĻ", + "ĠKh ánh", + "Ġе дин", + "Ġедин ÑģÑĤв", + "اÙĨ Ø®Ùģ", + "اÙĨØ®Ùģ Ø§Ø¶", + "ìĭľ íĹĺ", + "Ġl ặng", + "ĠÑĢ Ð¾Ð»ÑĮ", + "à¸ķัว à¹ģà¸Ĺà¸Ļ", + "à¸Ħà¹Īา à¹ĥà¸Ĭà¹ī", + "à¸Ħà¹Īาà¹ĥà¸Ĭà¹ī à¸Īà¹Īาย", + "Ġver füg", + "Ġverfüg bar", + "ìĻĶ ëĭ¤", + "ãģĦ ãģļ", + "ãģĦãģļ ãĤĮ", + "ĠиÑģÑģлед ованиÑı", + "меÑī а", + "×Ķ ×Ĺ", + "×Ķ×Ĺ ×ĸר", + "à¹ģà¸Ł à¸Ĭัà¹Īà¸Ļ", + "ت صرÙģ", + "Ø¥ رÙĩاب", + "Ġexerc ÃŃcio", + "Ġé lev", + "Ġélev é", + "สัà¸įà¸įา à¸ĵ", + "Ãĸ Z", + "ãĥĹ ãĥŃãĤ°", + "ãĥĹãĥŃãĤ° ãĥ©", + "ãĥĹãĥŃãĤ°ãĥ© ãĥł", + "Ġw ewnÄĻtrzn", + "Ġhen üz", + "é£Ľ ãģ³", + "à¹Ģà¸Ķ à¸Ńรà¹Į", + "Ñģ Ñĥж", + "ÑģÑĥж ден", + "شع ÙĪØ¨", + "ãģ²ãģ¨ ãĤĬ", + "Ġwy ÅĤÄħ", + "ĠwyÅĤÄħ cznie", + "Ġпло Ñħо", + "ÐĶ Ðķ", + "Ạ¦", + "Ù쨹 اÙĦÙĬ", + "ÙģØ¹Ø§ÙĦÙĬ ات", + "ĠاÙĦع شر", + "ÑģÑĤÑĥп ил", + "Ġy arg", + "Ġyarg ı", + "нÑİ Ñİ", + "×ķ×IJ ×ij", + "Ġu ç", + "Ġuç ak", + "ë² ½", + "تÙĪ ÙĤÙĬ", + "تÙĪÙĤÙĬ ع", + "Ġì¤ij ìĭ¬", + "׳×Ļ×ķ ×ķ×ĺ", + "Ø£ ÙĥÙĦ", + "ç½® ãģĦãģ¦", + "éłĤ ãģį", + "Ġ×Ķת ×ij", + "Ġ×Ķת×ij ×Ļ×¢×Ķ", + "Ġdür fen", + "Ùħ ÙĤاÙĦ", + "ÙħÙĤاÙĦ ات", + "Ġز ÙħÙĨ", + "à¸ŀฤ ศ", + "à¸ŀฤศ à¸Ī", + "à¸ŀฤศà¸Ī ิà¸ģ", + "à¸ŀฤศà¸Īิà¸ģ ายà¸Ļ", + "ĠнеÑģк олÑĮ", + "ĠнеÑģколÑĮ ки", + "ĠнеÑģколÑĮки Ñħ", + "Ġcrian ça", + "มิ à¸ķร", + "×ŀ׼ ×Ļר×ķת", + "à¸ģาร à¸ļริหาร", + "Ġtélé charg", + "Ġ×IJ×ķ×Ķ ×ijת", + "ĠBü ro", + "ä½ľ ãģ£ãģŁ", + "ĠKi ÅŁi", + "ç¾İåij³ ãģĹ", + "à¹Ģลย à¸Ħà¹Īะ", + "à¸ŀà¸ļ à¸ģัà¸ļ", + "à¸Ī à¹īา", + "Ġç er", + "Ġçer ç", + "Ġçerç eve", + "ãĤĴä½ľ ãģ£ãģ¦", + "ĠпеÑĢв ÑĥÑİ", + "×ŀצ ר×Ļ×Ŀ", + "×IJ׾ ×ķ×Ķ", + "×IJ׾×ķ×Ķ ×Ļ×Ŀ", + "Ġagr é", + "Ġagré able", + "Ġay ır", + "İL İ", + "ãĤ ¥", + "Ġíĺ Ħ", + "ĠíĺĦ ìĭ¤", + "ثاÙĦ Ø«", + "ת ×ĸ", + "ת×ĸ ×ķ׳×Ķ", + "ãģ¨ãģĦ ãģ£ãģ¦", + "ãģ¨ãģĦãģ£ãģ¦ ãĤĤ", + "Ġا بÙĪ", + "ĠÑģоб ак", + "é£Łãģ¹ ãģŁ", + "Ġдан ном", + "à¹Ģล ิ", + "à¹Ģลิ ศ", + "Ġí ļ", + "Ġíļ ¨", + "Ġíļ¨ ê³¼", + "ãĤĤãĤī ãģĪãĤĭ", + "׳ צ׾", + "ÑĦ ик", + "ÑĦик Ñģ", + "Ġjeste ÅĽmy", + "ת×Ĺ×ķש ×Ķ", + "à¹Ħมà¹Ī à¸Ħวร", + "ĠØŃ سÙĬÙĨ", + "à¸ģาร ลà¸ĩà¸Ĺุà¸Ļ", + "ë´ ¤", + "ĠÐĺ менно", + "à¸ļ à¸Ńรà¹Į", + "à¸ļà¸Ńรà¹Į à¸Ķ", + "ĠC ảnh", + "ìĦľ ë¹ĦìĬ¤", + "Ġпол ов", + "Ġполов ин", + "Ġзам еÑĩа", + "ãģĦãĤį ãĤĵãģª", + "Ġ×ij ×Ļ×§", + "Ġ×ij×Ļ×§ ש", + "л ÑĥÑĪ", + "ãĤĴ è¿İ", + "ãĤĴè¿İ ãģĪ", + "جرÙĬ ÙħØ©", + "Ġt ây", + "ĠاÙĦÙĨ ÙĪ", + "ĠاÙĦÙĨÙĪ ÙĪÙĬ", + "ÃĤ N", + "ì¿ ł", + "หà¸Ļ าว", + "Ġ×ij׊ש×ij×ķף", + "ز ار", + "à¸Ķ าร", + "à¸Ķาร า", + "ĠÅĽ l", + "ĠÅĽl ub", + "มีà¸Ħวาม สุà¸Ĥ", + "Ġn hu", + "Ġnhu áºŃn", + "ÙħØŃ طة", + "à¹Ģสืà¹īà¸Ń à¸ľà¹īา", + "ĠТ олÑĮко", + "ĠÙĥ س", + "ĠÙĥس ارة", + "ÙħØ´ رÙĪØ¹", + "niÄĻ cia", + "×¢ ׼ש×Ļ×ķ", + "ت ÙĦÙģ", + "تÙĦÙģ Ø²ÙĬ", + "تÙĦÙ쨲ÙĬ ÙĪÙĨ", + "Ġl Æ°á»Ľi", + "ĠÐľÐ¾Ñģк вÑĭ", + "Ġré serve", + "Ġan laÅŁ", + "ĠanlaÅŁ ıl", + "Ġed eceÄŁi", + "รà¸Ńà¸ĩ à¹Ģà¸Ĺà¹īา", + "Ġب Ø·", + "Ġبط رÙĬ", + "ĠبطرÙĬ ÙĤØ©", + "ãģ¦ãģĹãģ¾ ãģ£ãģ¦", + "ãĤĤãĤī ãģ£ãģ¦", + "بر ج", + "æ± ļ", + "æ±ļ ãĤĮ", + "Ġch oc", + "Ġchoc ia", + "Ġchocia ż", + "Ġzob ac", + "Ġzobac zyÄĩ", + "пÑĢ Ñı", + "пÑĢÑı жен", + "ĠÑĨ иÑĦ", + "ĠÑĨиÑĦ ÑĢ", + "Ġм ам", + "Ġвз ÑıÑĤÑĮ", + "Ġch ạm", + "ج سÙħ", + "ØŃÙħ اس", + "à¹Ģล à¹Īม", + "à¸ŀิ ษ", + "×Ķפ ׼×ķ", + "à¸Ĭà¹Īà¸Ńà¸ĩ à¸Ĺาà¸ĩ", + "Ġв ек", + "Ġвек а", + "Æ¡ Ìģ", + "Æ¡Ìģ i", + "ĠTi á»ģn", + "Ġtr ầm", + "мÑĭ ÑĪ", + "мÑĭÑĪ Ð»", + "ĠÑĤ Ñĥ", + "ĠÑĤÑĥ ÑĢиÑģÑĤ", + "Ġch c", + "Ġchc Äħ", + "Ġав г", + "Ġавг ÑĥÑģÑĤ", + "ĠавгÑĥÑģÑĤ а", + "ס ×IJ×ķת", + "Ġר ×Ĵ׾", + "à¸ľà¸¥ à¸ģระà¸Ĺ", + "à¸ľà¸¥à¸ģระà¸Ĺ à¸ļ", + "å¤īãĤı ãĤĭ", + "Ġ×Ķ×IJ×Ĺר ×ķ׳×Ļ×Ŀ", + "سÙģ ÙĬر", + "ĠÑĩа Ñīе", + "ãģĦ ãĤī", + "ãģĦãĤī ãģ£", + "ãģĦãĤīãģ£ ãģĹãĤĥ", + "×ķ×ŀ ׳×Ļ×Ŀ", + "Ġart tır", + "ĠCh á»ĭ", + "Ġì¡° ì§ģ", + "ĠÑĥÑģп еÑħ", + "Ġ×¢ ×ķס", + "Ġ×¢×ķס ×§", + "ĠìĥĿ ëªħ", + "ÑĨ иÑĤ", + "Ġreg ión", + "Ðŀ ÐĿ", + "ĠdoÄŁ um", + "ĠyaÅŁ ad", + "ĠyaÅŁad ıģı", + "à¸Ĺà¸Ķ ลà¸Ńà¸ĩ", + "Ġgöz ü", + "ש ×Ļר×Ķ", + "дÑĥм ал", + "Ġda ģı", + "Ġdaģı t", + "à¸Ĺีม à¸ĩาà¸Ļ", + "Ġti á»ģm", + "ĠاÙĦÙĥ بر", + "ĠاÙĦÙĥبر Ùī", + "ì¹ Ń", + "ĠGü nc", + "ĠGünc elle", + "ĠGüncelle me", + "ê¹ Ĭ", + "ĠобоÑĢÑĥд ование", + "ĠÑĢеÑĪ Ð°", + "á» ¤", + "Ġп иÑĤ", + "ĠпиÑĤ аниÑı", + "à¹Ģรีย à¸ļ", + "×Ľ×ª ×Ļ×ij×Ķ", + "Ġп он", + "Ġпон ÑĢав", + "ĠпонÑĢав и", + "Ġ×Ķ ×ķ׾×ĵ", + "Ġ×Ķ×ķ׾×ĵ ת", + "Ġê² ģ", + "Ġê²ģ ëĭĪëĭ¤", + "ĠпеÑĢв ой", + "ãĥ©ãĤ¤ ãĥķ", + "ĠÅŁi ir", + "kr ÄĻ", + "krÄĻ c", + "Ġthi á»ĥu", + "à¹Ģลย à¸Ĺี", + "à¹Ģลยà¸Ĺี à¹Ģà¸Ķียว", + "×ĺ×¢ ׳×ķת", + "ائ ÙĩÙħ", + "Ġ×IJ ס×ķר", + "ĠплаÑĤ еж", + "تر دد", + "Ġmożli we", + "Ġkh Ỽ", + "ĠkhỼ p", + "تÙģØ§Ø¹ ÙĦ", + "ĠÑĪ ÐºÐ¾Ð»ÑĮ", + "ĠÑĪколÑĮ н", + "ĠÙĤ صة", + "Ġmét ier", + "nÄĻ ÅĤa", + "หล à¹Īà¸Ń", + "Ġ á»§ng", + "Ġprz egl", + "Ġprzegl Äħd", + "ĠاÙĦÙħ تعÙĦ", + "ĠاÙĦÙħتعÙĦ ÙĤØ©", + "ĠÑģÑĭ н", + "Ġв олн", + "ãĥĩ ãĥ¼ãĥĪ", + "ĠÐŃ ÑĤи", + "Ġк ÑĢоме", + "à¸Ħ ารà¹Į", + "׳ק ×ķ×ĵ×Ķ", + "Ġ׾ש×ŀ ×ķ×¢", + "Ġ×ĸ ×ķ׼ר", + "ï¼ §", + "ÙĬ ÙİØ§", + "Ġgi á»ıi", + "åĥį ãģı", + "ĠÑģ ни", + "ĠÑģни жен", + "à¹ģà¸Ķ à¸Ķ", + "รุ à¸Ļ", + "รุà¸Ļ à¹ģรà¸ĩ", + "Ġhi á»ĩp", + "ograf ÃŃa", + "à¹Ģà¸Ī à¸Ńรà¹Į", + "Ġдв иг", + "Ġдвиг аÑĤ", + "ĠдвигаÑĤ ел", + "Ġü y", + "Ġüy eler", + "Ġüyeler i", + "Ġб Ñĥк", + "ĠбÑĥк в", + "ãĤĤ å¤ļãģı", + "Ġthi á»ĩt", + "ĠPa ÃŃs", + "ĠØ· بÙĬعÙĬ", + "à¹ģà¸Ī à¸ģ", + "ĠاÙĦص ØŃÙĬØŃ", + "Ġapp ré", + "Ġappré ci", + "Ġdecis ión", + "Ġë°ĺ ëĵľ", + "Ġë°ĺëĵľ ìĭľ", + "ĠÑĤеб е", + "ãĤ· ãĥ¼ãĤº", + "ãĤ·ãĥ¼ãĤº ãĥ³", + "Ġд алÑĮн", + "ĠìĬ ¤", + "ĠìĬ¤ ìĬ¤", + "ĠìĬ¤ìĬ¤ ë¡ľ", + "ĠTh á»ĥ", + "Ġkar ÅŁ", + "ĠkarÅŁ ıs", + "ĠkarÅŁÄ±s ında", + "ĠK ön", + "ĠKön ig", + "ив ание", + "×ij ×ķצע", + "г лаÑģ", + "Ġtw ó", + "Ġtwó rc", + "à¸Ľà¸ģ à¸Ħร", + "à¸Ľà¸ģà¸Ħร à¸Ńà¸ĩ", + "ĠG ÅĤ", + "ĠGÅĤ ówn", + "ĠUnter stüt", + "ĠUnterstüt zung", + "Ġд ÑĥÑħ", + "ĠдÑĥÑħ ов", + "Ø£ ÙħاÙĨ", + "×Ĺש ש", + "ت ظ", + "تظ اÙĩر", + "ĠлÑİб ом", + "à¸ķ าร", + "à¸ķาร าà¸ĩ", + "Ġkr ól", + "Ø£ ØŃدث", + "ì¡Į ëĭ¤", + "Ðļ ÑĥÑĢÑģ", + "ãĥĥ ãĥĦ", + "×ŀ×§ ×ķ×ij׾", + "ĠÑģимв ол", + "Ġdés orm", + "Ġdésorm ais", + "w üns", + "wüns che", + "Ñĥ ни", + "Ñĥни ÑĨип", + "ÑĥниÑĨип алÑĮн", + "หลัà¸ģ สูà¸ķร", + "ÙĨت شر", + "Ġа л", + "Ġал к", + "Ġалк ог", + "Ġалког ол", + "ĠÑĥ ÑĩиÑĤÑĭва", + "à¸ģำ à¸ģัà¸ļ", + "Ġ׾ פע×ķ׾", + "ĠìŰ ê²°", + "s Äħd", + "ĠاÙĦØ£ ÙĬ", + "ĠاÙĦØ£ÙĬ اÙħ", + "غÙĬ اب", + "Ġна ÑĢ", + "ĠнаÑĢ ÐºÐ¾", + "×ŀ×ķ×ĵ ×¢", + "ĠÑģеÑĢ Ð¸Ð¸", + "пиÑģ Ñĭва", + "สิ ว", + "ç¶ļ ãģĦãģ¦", + "çͳãģĹ è¾¼ãģ¿", + "Ġ׾ ×Ĵר", + "Ġ׾×Ĵר ×ķ×Ŀ", + "Ġд ем", + "Ġдем о", + "Ġë³´ ëĤ´", + "تÙĩ دÙĬد", + "ĠÙħØ´ ÙĬرا", + "Ġdu y", + "Ġduy á»ĩt", + "ĠwiÄĻks ze", + "Ùħع اÙĬ", + "ÙħعاÙĬ ÙĬر", + "ĠG da", + "ĠGda ÅĦsk", + "Ġr ah", + "Ġrah ats", + "Ġrahats ız", + "ר ×ķצ×Ķ", + "l ös", + "lös ung", + "ĠТак им", + "ÑĪ ÐµÐ´", + "ÑĪед ÑĪ", + "ع زÙĦ", + "Ġרש ×Ļ×ŀת", + "Ġ׾×Ķ ×Ļ׼", + "Ġ׾×Ķ×Ļ׼ ×ł×¡", + "Ġп ÑĥÑĤ", + "ĠпÑĥÑĤ еÑĪ", + "ĠпÑĥÑĤеÑĪ ÐµÑģÑĤв", + "Ġnot ÃŃcia", + "Ġal Ä±ÅŁ", + "ĠalÄ±ÅŁ ver", + "ĠalÄ±ÅŁver iÅŁ", + "ĠwÅĤ os", + "ĠwÅĤos ów", + "Ġب غ", + "Ġبغ داد", + "Ġver öffent", + "Ġveröffent licht", + "ĠKh á", + "Ġt án", + "ëIJĺ 기", + "Ġë°© 문", + "Ùģ ÙĬÙĦ", + "à¹Ģà¸ģิà¸Ķ à¸Īาà¸ģ", + "åı¯ æĦĽ", + "åı¯æĦĽ ãģĦ", + "à¸ĸ ุà¸ĩ", + "Ġz ewnÄĻtrzn", + "à¸łà¸²à¸©à¸² à¸Ńัà¸ĩà¸ģฤษ", + "Ġmá xima", + "Ġul us", + "Ġulus lararası", + "Ġ׳×Ķ ×ł", + "à¸Ĥà¹Īาว สาร", + "ĠìĿĺ ìĤ¬", + "à¹Ģหล ืà¸Ńà¸ĩ", + "Ġد ÙĤ", + "ĠدÙĤ ائÙĤ", + "สืà¹Īà¸Ń สาร", + "ë¨ ¼", + "ĠÑģоÑģÑĤоÑı нии", + "สมา à¸Ħม", + "á» Ĥ", + "ĠÐľÐ¾Ñģ ков", + "ĠÐľÐ¾Ñģков Ñģк", + "×ŀס ×ķ×Ĵ׾", + "ãģĭ ãģĭãĤĬ", + "ĠTr uyá»ģn", + "à¹ģà¸Ĥà¹ĩà¸ĩ à¹ģรà¸ĩ", + "×ŀ×Ĺ ×ĸ×Ļ×§", + "à¹Ĥà¸ģ à¹ī", + "ÙĬس ر", + "ìĶ ©", + "×IJ ×ķ×§", + "×IJ×ķ×§ ×ĺ", + "×IJ×ķ×§×ĺ ×ķ×ijר", + "Ġprox imité", + "ÙħÙĨ Ùĩج", + "ĠاÙĦج ز", + "ĠاÙĦجز ائ", + "ĠاÙĦجزائ رÙĬ", + "ĠÄIJi á»ĥm", + "Ġден еж", + "Ġденеж н", + "ÙģØŃ ص", + "Ùģ Ø¦", + "ĠÐij Ñĥд", + "×Ĵ×Ļ×ĵ ×ķ׾", + "ĠÐĴ едÑĮ", + "عÙĦ اÙħØ©", + "Ġ×IJ×Ĺר ×ķ׳×ķת", + "ãģĦãģŁãģł ãģĦãģ¦", + "سÙĦ ØŃ", + "ØŃ ÙĦÙħ", + "ز ÙĪØ§Ø±", + "Ùĥ سر", + "×ĺ קס", + "Ġб ан", + "Ġбан ков", + "ĠпÑĢ Ð¾Ð¶", + "ĠпÑĢож ива", + "li wo", + "liwo ÅĽci", + "ĠTi ếp", + "ĠاÙĦÙħÙĨ اسب", + "ĠاÙĦØ® ÙĬار", + "ãģĬ ãģĭ", + "ãģĬãģĭ ãģĴ", + "à¸Ķà¸Ńà¸ģ à¹Ħมà¹ī", + "ä mp", + "ämp fe", + "à¸ķัà¹īà¸ĩ à¹ĥà¸Ī", + "Ġза ÑīиÑĤ", + "ĠзаÑīиÑĤ Ñĭ", + "ĠTh ưá»Ŀng", + "Ġص Ùģ", + "ĠصÙģ ØŃØ©", + "×Ĺ×ķר ×£", + "ãĥIJ ãĥĥãĤ°", + "Ġ×ĵ ×Ļ×Ĵ", + "Ġ×ĵ×Ļ×Ĵ ×Ļ×ĺ", + "Ġ×ĵ×Ļ×Ĵ×Ļ×ĺ ׾×Ļ", + "Ġ×Ķ×Ĺ ×ķ׾×Ļ×Ŀ", + "в еÑī", + "веÑī а", + "Ġк ÑĥлÑĮÑĤ", + "ĠкÑĥлÑĮÑĤ Ñĥ", + "ĠкÑĥлÑĮÑĤÑĥ ÑĢÑĭ", + "ĠاÙĦاÙĨ ترÙĨت", + "Ġhö ch", + "Ġhöch st", + "Ġíĺ ķ", + "Ġíĺķ íĥľ", + "Ġв ой", + "Ġвой нÑĭ", + "ÐĽ Ðŀ", + "ìĭł ìļ©", + "Ġ×ŀ×ij ×ķס", + "Ġ×ŀ×ij×ķס ס", + "×ŀ׳ ×Ļ×¢", + "Ġfiyat ı", + "ĠÑģл Ñĥж", + "ĠÑģлÑĥж бÑĭ", + "à¸Ĺั ศ", + "à¸Ĺัศ à¸Ļ", + "ãģĵãģ¨ãģĮ å¤ļãģĦ", + "Ġ×Ķ×ŀש ת", + "Ġ×Ķ×ŀשת ×ŀש", + "å¯Ħ ãģĽ", + "×ŀש׾ ×ķ×Ĺ", + "æĻĤ çĤ¹", + "æĻĤçĤ¹ ãģ§", + "à¸ŀร ี", + "à¸ŀรี à¹Ģมีย", + "à¸ŀรีà¹Ģมีย รà¹Į", + "à¸ŀรีà¹Ģมียรà¹Į ลีà¸ģ", + "Ġdiffic olt", + "Ġdifficolt Ãł", + "ãĥ¬ ãĤ¹ãĥĪ", + "ãĥ¬ãĤ¹ãĥĪ ãĥ©ãĥ³", + "สม à¹Ģà¸Ķà¹ĩ", + "สมà¹Ģà¸Ķà¹ĩ à¸Ī", + "Ġж ид", + "Ġжид к", + "Ġzu peÅĤ", + "ĠzupeÅĤ nie", + "ĠÙħ جر", + "ĠÙħجر د", + "ãģĮ å§ĭ", + "ãģĮå§ĭ ãģ¾", + "ãĤŃãĥ£ ãĥ©", + "Ġ×IJ ×ķ×ķ×Ļר", + "ãģĬ äºĴ", + "ãģĬäºĴ ãģĦ", + "Ġpot rÃł", + "ĠPa ÅĦst", + "ĠPaÅĦst wo", + "Ġب ÙĬاÙĨ", + "ĠبÙĬاÙĨ ات", + "Ġин огда", + "ĠÑĢ Ð°", + "ĠÑĢа ÑģÑĤв", + "ĠÑĢаÑģÑĤв оÑĢ", + "Ġ×ĸ ×ŀ׳", + "ยิ à¹īม", + "Ä Ĩ", + "ãģ¾ ãģķ", + "ãģ¾ãģķ ãģ«", + "ãĥķãĤ¡ ãĤ¤ãĥ«", + "Ġgörd Ã¼ÄŁÃ¼", + "สà¸ĩ à¸Ħร", + "สà¸ĩà¸Ħร าม", + "ĠArk adaÅŁ", + "ĠrozwiÄħz ania", + "×ŀ ×ķ×ĺ", + "pi ÄĻ", + "piÄĻ t", + "ص غر", + "ส ย", + "สย าม", + "ãĤĨ ãģ£ãģıãĤĬ", + "Ġtr ần", + "Ġeconom ÃŃa", + "Ġgeh ören", + "ãĤ·ãĥ§ ãĥ¼", + "ĠsÅĤ ucha", + "à¸ŀà¸Ń à¹ĥà¸Ī", + "ĠоÑĤмеÑĤ ил", + "ÙĨت ÙĤÙĦ", + "Ġprop ósito", + "ĠваÑĪ ÐµÐ³Ð¾", + "Ġnh ắn", + "à¹ģà¸ĸ ว", + "Ġком иÑģ", + "ĠкомиÑģ Ñģи", + "waż nie", + "Ġy avaÅŁ", + "×ŀ ×Ļ×§", + "×ŀ×Ļ×§ ×ķ×Ŀ", + "ש×IJ׾ ת", + "Ġyıll arda", + "ĠÐ ®", + "ĠЮ ÑĢ", + "×ł×¡ ×Ļ×ij×ķת", + "ת צ", + "תצ ×ķ×Ĵ", + "Ġод нÑĥ", + "Ġ à¸Ńยà¹Īาà¸ĩà¹Ħร", + "Ġà¸Ńยà¹Īาà¸ĩà¹Ħร à¸ģà¹ĩà¸ķาม", + "ëģ ¼", + "à¹Ħล à¹Ī", + "تس ÙĦÙĬÙħ", + "بÙĦ اغ", + "Ġì ī", + "Ġìī ½", + "Ġìī½ ê²Į", + "ãĥļ ãĥ³", + "зв ÑĥÑĩ", + "ĠW äh", + "ĠWäh rend", + "Ġ×Ļ ×Ļת", + "Ġ×Ļ×Ļת ׼ף", + "Ġkh uyên", + "Ġv ẽ", + "Ġа меÑĢ", + "ĠамеÑĢ Ð¸Ðº", + "ĠамеÑĢик ан", + "ĠамеÑĢикан Ñģк", + "ع جب", + "ãĥĽãĥ¼ãĥł ãĥļãĥ¼ãĤ¸", + "Ġник ÑĤо", + "ĠÙĤ Ùİ", + "ĠÙĤÙİ Ø§ÙĦ", + "ĠÙĤÙİØ§ÙĦ Ùİ", + "ÐIJ ÐĹ", + "Ùħ جÙħÙĪØ¹", + "ÙħجÙħÙĪØ¹ ات", + "Ġnecess itÃł", + "Ġpob li", + "Ġpobli żu", + "Ġph ấn", + "ĠСо обÑī", + "ÙħÙĤ اط", + "ÙħÙĤاط ع", + "Ġ×Ķצ ×ķר×ļ", + "la ÅŁtırma", + "ว ิà¸Ķ", + "วิà¸Ķ ี", + "วิà¸Ķี à¹Ĥà¸Ń", + "Ġ그리 ìĬ¤", + "Ġ그리ìĬ¤ ëıĦ", + "ãĤ¿ãĤ¤ ãĥŁ", + "ãĤ¿ãĤ¤ãĥŁ ãĥ³ãĤ°", + "×§×ĺ ×Ĵ×ķר", + "×§×ĺ×Ĵ×ķר ×Ļ×Ķ", + "Ġ×Ĺ ×ķפ", + "Ġ×Ĺ×ķפ ש×Ļ", + "Ø£ جر", + "Ġим ени", + "ĠÑĢан ее", + "à¹Ģà¸ŀืà¹Īà¸Ńà¸Ļ à¹Ĩ", + "ĠJes ús", + "Ñģо един", + "Ñģоедин ен", + "Ġר ×Ĺ×ķ×§", + "à¹Ĥà¸ļ รา", + "à¹Ĥà¸ļรา à¸ĵ", + "ĠH Æ¡n", + "Ġth áºŃp", + "تع ÙĬÙĬÙĨ", + "Ġtart Ä±ÅŁ", + "ĠtartÄ±ÅŁ ma", + "ĠGes pr", + "ĠGespr äch", + "תר ×ķפ", + "תר×ķפ ×ķת", + "Ġcat égorie", + "Ġоказ Ñĭва", + "ĠналиÑĩ ие", + "Ġprésent é", + "Ġk ull", + "Ġkull and", + "Ġkulland ı", + "Ġü nl", + "Ġünl ü", + "ĠÙģ Ùĥرة", + "из аÑĤоÑĢ", + "×IJ ×ķ׳", + "×IJ×ķ׳ ×Ļ×ij", + "×IJ×ķ׳×Ļ×ij רס", + "×IJ×ķ׳×Ļ×ijרס ×Ļ×ĺת", + "ĠÑĢаÑģÑģ маÑĤ", + "ĠÑĢаÑģÑģмаÑĤ ÑĢ", + "ĠÑĢаÑģÑģмаÑĤÑĢ Ð¸Ð²Ð°", + "تÙĥÙĦ Ùħ", + "Ùĥت رÙĪ", + "ÙĥترÙĪ ÙĨÙĬ", + "ĠÑģо ÑĩеÑĤ", + "ĠÑģоÑĩеÑĤ а", + "ãĤĴè¦ĭ ãģĽ", + "Ġng ừa", + "ĠÐł еÑģп", + "ĠÐłÐµÑģп Ñĥб", + "ĠÐłÐµÑģпÑĥб лик", + "ãĤ¦ ãĤ©", + "ãĤ¦ãĤ© ãĥ¼", + "ĠÐľ еждÑĥ", + "ĠìŀĪ ê²Į", + "Ġm â", + "ĠìļĶ ì²Ń", + "ض ار", + "ลุ à¹īà¸Ļ", + "ëĮĢ íķĻêµIJ", + "×ĸ ×Ļ׼", + "×ĸ×Ļ׼ ר×ķף", + "ãĤ¹ ãĥļ", + "ãĤ¹ãĥļ ãĥ¼ãĤ¹", + "ĠкÑĢаÑģ оÑĤ", + "ï¼ ¨", + "ê¼ Ń", + "ãĤĴ éĽĨ", + "ãĤĴéĽĨ ãĤģ", + "ë° Ŀ", + "Ġ×Ķ׳ ×IJ", + "Ġ×Ķ׳×IJ ש×Ŀ", + "Ġê°Ģ ìļ´", + "Ġê°Ģìļ´ ëį°", + "تÙĥÙĦ Ù쨩", + "ĠØŃ ÙĤÙĬÙĤÙĬ", + "Ġh alk", + "Ġhalk ın", + "ÑİÑī ÑĥÑİ", + "ĠÑģп ин", + "סר×ĺ ף", + "ĠпеÑĢв ого", + "Ġпол ож", + "Ġполож иÑĤелÑĮн", + "Ġд л", + "Ġдл иÑĤелÑĮн", + "ĠV Ä©nh", + "ê´ ´", + "ĠÑģÑĭ ÑĢ", + "ĠíĨµ íķĺìŬ", + "ë³ij ìĽIJ", + "à¹Ĥรà¸ĩ à¸ĩาà¸Ļ", + "รัà¸ļ à¸ľà¸´à¸Ķ", + "รัà¸ļà¸ľà¸´à¸Ķ à¸Ĭà¸Ńà¸ļ", + "تج ÙĨب", + "s ÅĤ", + "sÅĤ uch", + "ãĤ¢ãĥ« ãĥIJ", + "ãĤ¢ãĥ«ãĥIJ ãĥł", + "ëī´ ìĬ¤", + "Ġpat ië", + "Ġpatië nt", + "Ġìĺ ¤í", + "Ġìĺ¤í ŀ", + "Ġìĺ¤íŀ Ī", + "Ġìĺ¤íŀĪ ëł¤", + "ĠDer ne", + "ĠDerne ÄŁi", + "wró ci", + "wróci Äĩ", + "Ġоб Ñī", + "ĠобÑī еÑģÑĤв", + "ĠобÑīеÑģÑĤв енно", + "ĠêµIJ ìĪĺ", + "tıģ ımız", + "Ġ×Ķ×ŀש ×Ļ×ij", + "k örper", + "Ġпозв ол", + "Ġпозвол иÑĤ", + "ĠChi ến", + "أخ ÙĪ", + "ĠAy dın", + "à¸Ķà¹īาà¸Ļ ล", + "à¸Ķà¹īาà¸Ļล à¹Īาà¸ĩ", + "Ġdr u", + "Ġdru ż", + "Ġdruż yn", + "Ġë°ľ íijľ", + "ĠTh ảo", + "جÙĩ اد", + "à¸ģระà¸Ĺ ูà¹ī", + "Ġк ÑĢов", + "ĠкÑĢов и", + "Ġiçer ik", + "Ġnad zie", + "Ġnadzie jÄĻ", + "ĠС моÑĤÑĢ", + "Ġph ức", + "ج تÙħاع", + "جتÙħاع ÙĬØ©", + "ком пон", + "компон енÑĤ", + "Ġб ил", + "Ġбил еÑĤ", + "ãĥIJ ãĥ³ãĥī", + "ĠPol ÃŃcia", + "اÙĦ تÙĩ", + "اÙĦتÙĩ اب", + "ØŃر Ùģ", + "ت خط", + "تخط ÙĬØ·", + "ãĤ³ ãĥ¼ãĥ", + "ãĤ³ãĥ¼ãĥ Ĵ", + "ãĤ³ãĥ¼ãĥĴ ãĥ¼", + "・・ ï½¥", + "à¸ĭ à¸Ńย", + "Ġcréd it", + "è²· ãģ£ãģŁ", + "ĠпоÑĢ Ñıд", + "ĠпоÑĢÑıд ке", + "Ġph ó", + "Ġw ida", + "Ġwida Äĩ", + "جر ائÙħ", + "à¸ľ ี", + "ĠbÄĻd ÄĻ", + "Ġ×ŀ פת×Ĺ", + "ãĥij ãĥ¼ãĥ", + "ãĥijãĥ¼ãĥ Ĩ", + "ãĥijãĥ¼ãĥĨ ãĤ£", + "ãĥijãĥ¼ãĥĨãĤ£ ãĥ¼", + "ĠKa ż", + "ĠKaż dy", + "ĠнеобÑħодим оÑģÑĤи", + "à¸Ł à¸Ńรà¹Į", + "à¸Łà¸Ńรà¹Į ม", + "Ġмал ÑĭÑĪ", + "Ġпл оÑĤ", + "ĠÑĥ ÑģÑĤÑĢой", + "ĠÑĥÑģÑĤÑĢой ÑģÑĤва", + "à¸ĸ à¸Ńà¸Ļ", + "ĠoluÅŁtur ul", + "ĠÅĽwi ad", + "ĠÅĽwiad om", + "Ùħع Ùĩد", + "ĠпÑĢоиз веден", + "Æ ł", + "ר ×Ļש", + "Ùħست Ø«", + "Ùħستث Ùħر", + "׳×Ļ ×Ļר", + "pa ñ", + "Ġ; -)", + "Ġë°ľ 견", + "Ġgör üyor", + "Ùħؤ ÙĦÙģ", + "ĠÄIJ á»ģ", + "ĠاÙĦÙĨ ÙĪØ§Ø¨", + "×Ĺ×§ ×Ļר×Ķ", + "Ġm á»ıi", + "è¿° ãģ¹", + "ÐĿ ик", + "ìŀĸ ìķĦ", + "ìŀĸìķĦ ìļĶ", + "prowadzi ÅĤ", + "l óg", + "lóg ica", + "פס ×ĺ", + "פס×ĺ ×Ļ×ij׾", + "Ġ×ŀ ×ĵ×Ķ", + "Ġ×ŀ×ĵ×Ķ ×Ļ×Ŀ", + "ãģĵãģĵ ãģ¾ãģ§", + "×Ķ ×ª×Ĺ", + "×Ķת׊׾×Ķ", + "Ġפ ×ķס", + "Ġפ×ķס ×ĺ×Ļ×Ŀ", + "Ġн ев", + "Ġнев оз", + "Ġневоз можно", + "ĠdostÄĻp ny", + "Ġغ اÙĦ", + "ĠغاÙĦ ب", + "Ġbez pieczeÅĦst", + "ĠbezpieczeÅĦst wa", + "åĪĨ ãģĭãĤĭ", + "ĠF ührung", + "à¸ģ ีà¹ī", + "gem Ã¤ÃŁ", + "à¸Ĭà¹Īวà¸ĩ à¹Ģวลา", + "Ġìļ°ë¦¬ ëĤĺ", + "Ġìļ°ë¦¬ëĤĺ ëĿ¼", + "ãģ¥ ãģıãĤĬ", + "ĠاÙĦÙħ سÙĦ", + "ĠاÙĦÙħسÙĦ ØŃØ©", + "Ġlibert é", + "клÑİÑĩ ение", + "Ġzam ów", + "Ġzamów ienia", + "รà¸ĸ à¹Ħà¸Ł", + "Ø£ ÙģÙĦ", + "Ø£ÙģÙĦ اÙħ", + "Ùħ راج", + "Ùħراج عة", + "Ġë¹Ħ êµIJ", + "ĠاÙĦت اب", + "ĠاÙĦتاب عة", + "Ġë§Į ëĤĺ", + "Ġб Ñĥм", + "ĠбÑĥм аг", + "Ġgé nero", + "Ġìŀĺ 못", + "×ŀ פ×ķר×ĺ", + "è²·ãģĦ çī©", + "ĠÙĦدÙĬ Ùĥ", + "Ġ×ľ×¢ ×Ļת", + "Ġ×ľ×¢×Ļת ×Ļ×Ŀ", + "ĠsÅĤ ab", + "ĠпÑĢедÑģÑĤав лÑı", + "ãĤ¿ ãĤ¤ãĥĪ", + "ãĤ¿ãĤ¤ãĥĪ ãĥ«", + "Ùħ ص", + "Ùħص Ø·Ùģ", + "ÙħصطÙģ Ùī", + "Ġdifficult é", + "ãĥĨãĤ£ ãĥĸ", + "Ġpew noÅĽci", + "ĠpewnoÅĽci Äħ", + "Ġ무 ìĬ¨", + "Ø¥ رس", + "إرس اÙĦ", + "Ġд алÑĮ", + "ĠдалÑĮ ÑĪе", + "Ġ׾ ×ł×¡", + "Ġ×ľ×ł×¡ ×ķת", + "หมูà¹Ī à¸ļà¹īาà¸Ļ", + "×ŀס×ŀ ׼×Ļ", + "أسÙĦ ÙĪØ¨", + "Ġzw ÅĤ", + "ĠzwÅĤ as", + "ĠzwÅĤas zc", + "ĠzwÅĤaszc za", + "ĠпÑĢ ÐµÐ¶", + "ĠпÑĢеж де", + "ĠоÑĢганиз аÑĨиÑı", + "Ġdön emin", + "Ġdönemin de", + "Ġ Ủ", + "ĠỦ y", + "ä¸ĭ ãģĴ", + "ĠпоÑģлед ние", + "Ġgü ne", + "Ġgüne ÅŁ", + "Ġ×IJ ×ĸר", + "Ġ×IJ×ĸר ×Ĺ×Ļ", + "ãģ§ãģĤ ãĤįãģĨ", + "ĠÙĨ ÙĤ", + "ĠÙĨÙĤ اط", + "æŃ£ ãģĹãģĦ", + "ĠÑĢ ÐµÐ³", + "ĠÑĢег иона", + "ĠFör der", + "ê²½ ìĺģ", + "dıkl ar", + "dıklar ını", + "trzym aÄĩ", + "أش Ùĥ", + "أشÙĥ اÙĦ", + "×Ķת ×IJ", + "×Ķת×IJ ×ŀ×Ķ", + "à¸Ĺำà¹ĥหà¹ī à¹Ģà¸ģิà¸Ķ", + "ĠGeb ä", + "ĠGebä ude", + "ĠСеÑĢ Ð³", + "ĠСеÑĢг ей", + "Ġз доÑĢов", + "ĠздоÑĢов ÑĮÑı", + "Ġr ãi", + "ĠпÑĢед ÑĥÑģ", + "ĠпÑĢедÑĥÑģ моÑĤÑĢ", + "ĠпÑĢедÑĥÑģмоÑĤÑĢ ÐµÐ½", + "Ġ×Ķצ ×Ļ×ij", + "Ġ×Ķצ×Ļ×ij ×ķר×Ļ", + "Ġdés ir", + "Ġн оÑĩ", + "ĠноÑĩ ÑĮ", + "möglich keiten", + "Ġ×IJ×Ĺר ×ķ׳×Ļ×Ŀ", + "Ġsoir ée", + "ĠNh áºŃn", + "Ù ª", + "à¸Ľà¸£à¸°à¸§à¸±à¸ķิ ศาสà¸ķรà¹Į", + "êµIJ íĨµ", + "ĠØ£ Ø®ÙĬ", + "Ġdé cid", + "Ġdécid é", + "Ġwy ja", + "Ġwyja ÅĽni", + "Ġ สิ", + "Ġสิ à¸ĩ", + "Ġสิà¸ĩ หา", + "Ġสิà¸ĩหา à¸Ħม", + "à¹ģ à¸Ńรà¹Į", + "หà¸Ļà¹īา à¸Īà¸Ń", + "ס תר", + "Ġê ¶", + "Ġê¶ Į", + "Ġê¶Į 리", + "pl ätze", + "ب Ø·ÙĦ", + "ê±´ ìĦ¤", + "Ġ×IJ ×Ļ×ŀ×Ļ", + "Ġ×IJ×Ļ×ŀ×Ļ ×Ļ׾", + "ãģ ½", + "تر اث", + "×IJ׾ ×Ļ×ŀ×ķת", + "Ġdispon ÃŃveis", + "Ġz ale", + "Ġzale ży", + "à¸Ľà¸£à¸°à¸Ĭา สัมà¸ŀัà¸Ļà¸ĺà¹Į", + "ĠÅļw iat", + "Ġpor ówn", + "Ġporówn a", + "Ġ׾×ĺ ×ķ×ijת", + "×Ķ×ĸ ×ŀ׳×Ķ", + "Ġ×Ľ×ª ×ķצ×IJ×Ķ", + "Ġ×ij ק׾", + "Ġ×ijק׾ ×ķת", + "ĠоÑĤ кÑĢ", + "ĠоÑĤкÑĢ Ñĭва", + "ãĥij ãĥ¯ãĥ¼", + "ë¿IJ ë§Į", + "Ġв ÑģÑı", + "ĠвÑģÑı к", + "ãģ¨ãģª ãģ£ãģ¦ãģĦãĤĭ", + "Ġgi áºŃn", + "Ġок ÑĢÑĥ", + "ĠокÑĢÑĥ жа", + "ĠокÑĢÑĥжа ÑİÑī", + "ĠUnivers ität", + "ĠÑĢ Ð¾Ð¶", + "ĠÑĢож д", + "ĠÑĢожд ениÑı", + "Ø® ÙĬÙĦ", + "Ġкомпани й", + "ĠÑĢазлиÑĩ нÑĭе", + "ĠЦ ена", + "׳×Ļ ×ķ×ĸ", + "׳×Ļ×ķ×ĸ ׾", + "׳×Ļ×ķ×ĸ׾ ×ĺר", + "Ġê³µ ê°Ħ", + "Ġê°ľ ëħIJ", + "landır ma", + "ĠÑĥдал ен", + "à¸ŀัà¸ģ à¸ľ", + "à¸ŀัà¸ģà¸ľ à¹Īà¸Ńà¸Ļ", + "Ġprote cción", + "Ġb ÅĤ", + "ĠbÅĤ ÄĻd", + "à Ī", + "Ġíĸī ë³µ", + "ĠÅŁ ü", + "ĠÅŁÃ¼ phe", + "Ġí Ķ", + "ĠíĶ ¼", + "Ġíͼ íķ´", + "Ġëĭ¤ 르", + "à¹Ħมà¹Ī à¹Ģà¸ģิà¸Ļ", + "ãģ¿ ãģª", + "ãģ¿ãģª ãģķãĤĵ", + "ĠпоÑĤ ÑĢеб", + "ĠпоÑĤÑĢеб иÑĤел", + "ĠاÙĦÙĥÙĦ اÙħ", + "ìķĦ ë²Ħ", + "ìķĦë²Ħ ì§Ģ", + "ãĤĴ使 ãģ£ãģŁ", + "Ġbụ i", + "ĠпоÑĤ еÑĢ", + "ĠпоÑĤеÑĢ Ñı", + "ĠØ¢ ÙĦاÙģ", + "ĠнаÑģÑĤоÑıÑī ее", + "ãģıãģªãĤĬ ãģ¾ãģĹãģŁ", + "clus ão", + "ãĤ³ ãĥĶãĥ¼", + "צ פ×Ļ", + "צפ×Ļ ×Ļ×Ķ", + "Ø® ÙĦا", + "Ø®ÙĦا ص", + "ล à¹īำ", + "ãĥ¯ ãĤ¤ãĥ³", + "Ġมี à¸Ļา", + "Ġมีà¸Ļา à¸Ħม", + "Ø´ خص", + "شخص ÙĬات", + "Ġ×ĸ ×§", + "Ġ×ĸ×§ ×ķ×§", + "×Ļ ×Ļצ", + "×Ļ×Ļצ ×Ĵ", + "èĢĥãģĪ æĸ¹", + "Ġürün ü", + "ĠиÑģп ол", + "ĠиÑģпол ни", + "Ġcompañ ero", + "×§ צ×Ķ", + "×ŀ×¢ ׳×Ļ×§", + "Ùħ ØŃÙħد", + "Ġc ámara", + "Ġп ед", + "Ġпед аг", + "Ġпедаг ог", + "м аÑĢ", + "маÑĢ Ðº", + "×Ķת ׳×Ĵ×ĵ", + "ĠìĨĮ ê°ľ", + "Ġcom unitÃł", + "ê³ ¤", + "ĠNg Ãłi", + "สà¸ĩ à¸ļ", + "ĠmieszkaÅĦ ców", + "ĠÙĨ ÙĩائÙĬ", + "iv ité", + "Ġи де", + "Ġиде алÑĮн", + "ĠØ£ سبÙĪØ¹", + "Ġ×Ļ ×¢×ľ", + "Ġ׾ ר×IJש", + "Ġ׾ר×IJש ×ķ׳×Ķ", + "ĠзапиÑģ и", + "ĠкоÑĢ Ð¿ÑĥÑģ", + "วà¸ĩ ศ", + "วà¸ĩศ à¹Į", + "ĠÐĶ Ð¼", + "ĠÐĶм иÑĤ", + "ĠÐĶмиÑĤ ÑĢ", + "Ġkön nt", + "Ġböl ges", + "Ġbölges inde", + "׼ ×Ļ׼", + "׼×Ļ׼ ר", + "ĠاÙĦØ¥ Ø«ÙĨ", + "ĠاÙĦإثÙĨ ÙĬÙĨ", + "Ġng á»Ļ", + "ì¹ ł", + "د راج", + "Ġu da", + "Ġuda ÅĤo", + "ìº IJ", + "بر ÙĨاÙħج", + "ĠÑģÑĥд еб", + "ĠÑģÑĥдеб н", + "Ġzun ächst", + "ĠEduc ación", + "ãģ¨ãģª ãģ£ãģ¦ãģĦãģ¾ãģĻ", + "Ġ×Ķ×IJ ×ŀ×Ļת×Ļ", + "Ġİ nt", + "Ġİnt ernet", + "ĠcaÅĤ ego", + "ãĥĹãĥª ãĥ³", + "Ø¥ بد", + "إبد اع", + "ĠпоÑĢ ÑĤал", + "à¹Ĥà¸ķ à¹ī", + "Ġ×Ķ×§ ש×ķר", + "пл од", + "ĠÙħ د", + "ĠÙħد رÙĬد", + "×ŀסע ×ĵ×Ķ", + "ĠØ´ÙĬ ئ", + "ĠØ´ÙĬئ ا", + "à¸ģà¹Īà¸Ń สรà¹īาà¸ĩ", + "Ġì°¸ ê³ł", + "à¹Ģà¸Ĺ ร", + "à¹Ģà¸Ĺร à¸Ķ", + "Ġ×ij×ŀ קר×Ļ×Ŀ", + "Ġb ât", + "Ġbât iment", + "åij¼ ãģ³", + "ç´ł æķµ", + "ç´łæķµ ãģª", + "przedsiÄĻbior st", + "przedsiÄĻbiorst w", + "Ġ×ł×ª ×ķ׳×Ļ×Ŀ", + "×Ĺ׾ ×ķ×Ŀ", + "ร วย", + "Ùħ ÙĪØ¶ÙĪØ¹", + "ĠÑģоб ÑĢан", + "вед ÑĥÑī", + "ĠÑĤе аÑĤ", + "ĠÑĤеаÑĤ ÑĢ", + "m eye", + "meye ceÄŁi", + "Ġpien iÄħ", + "ĠpieniÄħ d", + "ĠpieniÄħd ze", + "ÑĢез иденÑĤ", + "ØŃ صر", + "ìĺ ¥", + "à¹Ģย ืà¸Ńà¸Ļ", + "ĠÑĥ ни", + "ĠÑĥни веÑĢ", + "ĠÑĥнивеÑĢ Ñģ", + "ĠÑĥнивеÑĢÑģ иÑĤеÑĤ", + "ĠاÙĦر ØŃ", + "ĠاÙĦرØŃ ÙħÙĨ", + "ĠÑĤеÑħ нолог", + "ĠÑĤеÑħнолог ии", + "ìĹIJ ëĦĪ", + "ìĹIJëĦĪ ì§Ģ", + "Ġíķ Ń", + "ĠíķŃ ìĥģ", + "à¸ĺ า", + "à¸ĺา à¸ķุ", + "ĠEspañ ol", + "×ĵ×Ĵ ש", + "Ġêµ ī", + "Ġêµī ìŀ¥", + "Ġêµīìŀ¥ íŀĪ", + "ĠÅĤ at", + "ĠÅĤat wo", + "Ġk á»ĭch", + "Ø¥ ز", + "إز اÙĦØ©", + "ĠдейÑģÑĤв ие", + "ĠsaÄŁ layan", + "สุà¸Ķ ยà¸Ńà¸Ķ", + "Ġzosta Äĩ", + "Ġdispon ÃŃvel", + "ïº į", + "ver ständ", + "verständ lich", + "tw or", + "twor zyÄĩ", + "ع جز", + "à¹Ģà¸Ĥ à¹īม", + "ยà¹Ī à¸Ńม", + "Ġstrat ég", + "Ġstratég ie", + "à¸ľà¸¥ à¹Ħมà¹ī", + "Ġê°ģ ì¢ħ", + "ĠÙħ ÙĪØ§", + "ĠÙħÙĪØ§ ض", + "ĠÙħÙĪØ§Ø¶ ÙĬع", + "اØŃ تج", + "اØŃتج اج", + "Ġ Ấ", + "ĠẤ n", + "×ŀ ×ŀש׾×Ķ", + "ĠÅŁek il", + "×ŀ ×Ĺ׾", + "×ŀ×Ĺ׾ ×ķת", + "Ġ à¸ĺ", + "Ġà¸ĺ ัà¸Ļ", + "Ġà¸ĺัà¸Ļ วา", + "Ġà¸ĺัà¸Ļวา à¸Ħม", + "Ġìĭ¤ ìłľ", + "Ġìĭ¤ìłľ ë¡ľ", + "ì¤ij ìķĻ", + "ëįĶ ëĿ¼", + "ĠÑĪ Ð¸ÑĢ", + "ĠÑĪиÑĢ Ð¾ÐºÐ¾", + "Ġsol ución", + "วาà¸ĩ à¹ģà¸ľà¸Ļ", + "×IJ×ķ×ĺ ×ķ×ŀ", + "×IJ×ķ×ĺ×ķ×ŀ ×ĺ×Ļ", + "ĠÑĢ ÐµÑģÑĤ", + "ĠÑĢеÑģÑĤ оÑĢ", + "ĠÑĢеÑģÑĤоÑĢ Ð°Ð½", + "ëį ¸", + "ÑĤ ÑĢад", + "ÑĤÑĢад и", + "ÑĤÑĢади ÑĨион", + "ÑĤÑĢадиÑĨион н", + "มะ à¹Ģรà¹ĩ", + "มะà¹Ģรà¹ĩ à¸ĩ", + "à¹Ĥ ส", + "Ġol masını", + "×ŀ×ķס ר", + "ĠоÑĤноÑĪ ÐµÐ½Ð¸Ð¸", + "Ġê°ĢëĬ¥ ìĦ±", + "Ġy uk", + "Ġyuk arı", + "ìĨ Ķ", + "ĠÑģ ÑĦ", + "ĠÑģÑĦ еÑĢе", + "Ġ×§ ×ķפ", + "ãĤ± ãĥ¼ãĤ", + "ãĤ±ãĥ¼ãĤ Ń", + "âĢķ âĢķ", + "ĠاÙĦØ£ ÙĦÙħ", + "ĠاÙĦØ£ÙĦÙħ اÙĨÙĬ", + "Ả N", + "ת×ķ׼ ׳×Ļ×ķת", + "ĠÑģÑĥÑīеÑģÑĤв ÑĥеÑĤ", + "æĪij ãĢħ", + "ĠاÙĦص ادر", + "ĠTr á»įng", + "Ġа д", + "Ġад миниÑģÑĤ", + "ĠадминиÑģÑĤ ÑĢа", + "ĠадминиÑģÑĤÑĢа ÑĨи", + "ĠдÑĢÑĥг ими", + "Ñģп еÑĪ", + "عÙĦاÙħ ات", + "Ġа б", + "Ġаб Ñģол", + "ĠабÑģол ÑİÑĤ", + "ĠабÑģолÑİÑĤ но", + "ฤ à¸Ķู", + "é tr", + "étr anger", + "нÑı ÑĤи", + "нÑıÑĤи е", + "×¢ ×ķ׳", + "×¢×ķ׳ ש", + "ĠÙĤ ائ", + "ĠÙĤائ ÙĦا", + "Ġм аÑģ", + "ĠмаÑģ ло", + "ãĥī ãĤ¤", + "ãĥīãĤ¤ ãĥĦ", + "å¿ħè¦ģ ãģĮãģĤãĤĬãģ¾ãģĻ", + "×ŀ×ķ×ĸ ×Ļ×IJ", + "×ŀ×ķ×ĸ×Ļ×IJ ×ķף", + "ĠNgo ại", + "Ġkê nh", + "à¸ģาร à¸Ńà¸Ńà¸ģà¹ģà¸ļà¸ļ", + "×ŀ פק", + "×ŀפק ×ĵ", + "ÙħÙĨ از", + "ÙħÙĨاز ÙĦ", + "ë· °", + "íĹ ¤", + "ÙħÙĩ ارات", + "Ġpropri été", + "פ×Ĵ ×Ļש×Ķ", + "Ñĩ ÑĢ", + "ÑĩÑĢ ÐµÐ¶", + "ÑĩÑĢеж ден", + "×Ķ ×ķצ×IJ×Ķ", + "ØŃÙĥ ÙĬÙħ", + "ĠíĻ Ī", + "ĠíĻĪ íİĺìĿ´ì§Ģ", + "åİ ³", + "åݳ ãģĹãģĦ", + "×¢ ×ŀ×ĵ×Ķ", + "ĠAu ÃŁen", + "سÙĪ Ø¡", + "ë¹ Ī", + "ĠÙĪ Ø®", + "ĠÙĪØ® اصة", + "ин ÑĤеÑĢ", + "инÑĤеÑĢ ÐµÑģ", + "èĩ´ ãģĹãģ¾ãģĻ", + "Ġhük üm", + "à¹Ħà¸Ĥ มัà¸Ļ", + "Ġdav ran", + "Ġdavran Ä±ÅŁ", + "à¹Ģà¸ķ ียà¸ĩ", + "в ÑĢем", + "вÑĢем енно", + "à¹Ģà¸Ĺศ à¸ģา", + "à¹Ģà¸Ĺศà¸ģา ล", + "å¼ķ ãģ£", + "å¼ķãģ£ è¶ĬãģĹ", + "×IJר ×ķ×Ĺ", + "×IJר×ķ×Ĺ ×ª", + "à¹Ģ วิ", + "à¹Ģวิ รà¹Į", + "à¸Ńยà¹Īาà¸ĩ รวà¸Ķà¹Ģรà¹ĩว", + "ĠìŬ íĸī", + "ĠÑĢан ÑĮ", + "ĠÑĢанÑĮ ÑĪе", + "Ġzob ow", + "Ġzobow iÄħ", + "ĠzobowiÄħ z", + "Ġ×ķ׼ ×ŀ×ķ×ijף", + "ĠاÙĦÙħ Ùĩ", + "ĠاÙĦÙħÙĩ ÙĨÙĬ", + "ãĤ¢ ãĤ¸", + "ãĤ¢ãĤ¸ ãĤ¢", + "ë°© ìĨ¡", + "à¸Ńà¸Ńà¸ģ à¸ģำลัà¸ĩ", + "à¸Ńà¸Ńà¸ģà¸ģำลัà¸ĩ à¸ģาย", + "am éli", + "améli orer", + "å½ĵãģŁãĤĬ åīį", + "Ġreg elm", + "Ġregelm Ã¤ÃŁig", + "ãģĬ åĭ", + "ãģĬåĭ §", + "ãģĬåĭ§ ãĤģ", + "Ġm ưá»Ŀi", + "بر Ùħج", + "ĠNat ürlich", + "ĠD Å©ng", + "ĠاÙĦر جاÙĦ", + "Ġthé p", + "Ġol muÅŁtur", + "×ŀ×ķס ×Ļ×§×Ķ", + "f älle", + "주 íĥĿ", + "ĠاÙĦÙģ Ø±Øµ", + "Ġnaj wiÄĻks", + "ĠnajwiÄĻks zy", + "Ġça ÄŁ", + "ĠçaÄŁ rı", + "ì¸ ł", + "ĠvÃŃ ct", + "ĠvÃŃct ima", + "ĠÑģовеÑĢ ÑĪен", + "×Ķ×Ļ ×Ļת×Ļ", + "à¹Ģà¸Ķ ี", + "à¹Ģà¸Ķี à¹ĭ", + "à¹Ģà¸Ķีà¹ĭ ยว", + "ü yü", + "Ġд оп", + "Ġдоп олн", + "Ġдополн иÑĤелÑĮно", + "à¹ģà¸ķà¸ģà¸ķà¹Īาà¸ĩ à¸ģัà¸Ļ", + "Ġá l", + "Ġál bum", + "à¸Ľà¸£à¸°à¸Īำ à¸Ľà¸µ", + "ĠÑĦ едеÑĢ", + "ĠÑĦедеÑĢ Ð°Ð»ÑĮн", + "Ġobs ÅĤ", + "ĠobsÅĤ ugi", + "à¹Ģร ืà¹Ī", + "à¹Ģรืà¹Ī à¸Ńย", + "à¹Ģรืà¹Īà¸Ńย à¹Ĩ", + "ëģ Į", + "Ġngh ìn", + "ĠBaÅŁkan lıģı", + "تأ سÙĬ", + "تأسÙĬ س", + "Ġ×ij×ij ×ķקר", + "Ġ×¢×ij×ķ×ĵ ×ķת", + "Ġبص ÙĪØ±Ø©", + "ãĤıãģij ãģ§ãģ¯ãģªãģĦ", + "führ er", + "ãĤ¹ ãĤŃ", + "ãĤ¹ãĤŃ ãĥ«", + "ĠاÙĦÙĤ ض", + "ĠاÙĦÙĤض ÙĬØ©", + "Ġдолж ноÑģÑĤ", + "ÙģØ§Ø± ÙĤ", + "Ġcomeç ou", + "Ġorganis é", + "Ġxu ân", + "ĠÑģообÑī аеÑĤ", + "ĠпÑĢи д", + "ĠпÑĢид еÑĤÑģÑı", + "TÃľ RK", + "ãĥ¬ ãĥ¼ãĤ·ãĥ§ãĥ³", + "Kh ông", + "است Ùģ", + "استÙģ Ø§Ø¯Ø©", + "ä¸ĬãģĮ ãģ£ãģ¦", + "Ġum ie", + "Ġumie jÄĻ", + "ĠumiejÄĻ tn", + "ĠumiejÄĻtn oÅĽci", + "ëĤ ¸", + "à¹Ģà¸Ļ à¸Ńรà¹Į", + "×ĵ×ķ ×ķ×Ĺ", + "ÃŃs imo", + "I ÃĬ", + "IÃĬ N", + "Ġalcan ç", + "Ġ à¸ķุ", + "Ġà¸ķุ ลา", + "Ġà¸ķุลา à¸Ħม", + "ש׾ ×ĺ×ķף", + "Ġél è", + "Ġélè ves", + "ĠÄij u", + "ĠÄiju á»ķi", + "ĠØ£ Ùģ", + "ĠØ£Ùģ Ø±ÙĬ", + "ĠØ£Ù쨱ÙĬ ÙĤÙĬ", + "ĠØ£Ù쨱ÙĬÙĤÙĬ ا", + "ãĤĴæİ¢ ãģĻ", + "ĠпÑĢед ложениÑı", + "ج اد", + "ĠÑħоÑĤ ÑĮ", + "Ñģ ал", + "Ñģал он", + "à¸Ľà¸£à¸° à¹Ģม", + "à¸Ľà¸£à¸°à¹Ģม ิà¸Ļ", + "ãĤŃ ãĥĥãĥģ", + "ãĤŃãĥĥãĥģ ãĥ³", + "×ij×ĵ×Ļ×§ ×ķת", + "Ġch ù", + "Ġchù a", + "ÐĴ иде", + "ÐĴиде о", + "иÑĢов ка", + "ĠÑħоÑĤ иÑĤе", + "Ġspéc ifique", + "รส à¸Ĭาà¸ķิ", + "è¾¼ ãĤĵãģł", + "伸 ãģ³", + "×Ķצ׾ ×Ĺת", + "ãģ©ãģ® ãĤĪãģĨãģ«", + "سع ادة", + "Ġл ид", + "Ġлид еÑĢ", + "ม à¸ĩ", + "มà¸ĩ à¸Ħล", + "ØŃ اÙħÙĦ", + "หล ุà¸Ķ", + "à¸Ńยà¹Īาà¸ĩ à¸ķà¹Īà¸Ń", + "à¸Ńยà¹Īาà¸ĩà¸ķà¹Īà¸Ń à¹Ģà¸Ļืà¹Īà¸Ńà¸ĩ", + "ãģķãģĽãģ¦ éłĤ", + "تس ÙĪÙĬ", + "تسÙĪÙĬ ÙĤ", + "ĠaÅŁaģı d", + "ĠaÅŁaģıd aki", + "ĠÑĨ елÑĮ", + "ĠÑĨелÑĮ Ñİ", + "ĠAra ÅŁtırma", + "à¸Ĥัà¸ļ รà¸ĸ", + "Ùĩ ذÙĩ", + "ลà¸ĩ à¸Ĺะ", + "ลà¸ĩà¸Ĺะ à¹Ģà¸ļ", + "ลà¸ĩà¸Ĺะà¹Ģà¸ļ ียà¸Ļ", + "تÙĥ اÙħÙĦ", + "Ġc io", + "Ġcio è", + "ãģ¦ ãģĬãģı", + "ĠاÙĦصØŃ ÙģÙĬ", + "ĠíĬ¹ ìłķ", + "полн иÑĤÑĮ", + "ãĤĵ ãģĺãĤĥãģªãģĦ", + "ãĤĵãģĺãĤĥãģªãģĦ ãģĭ", + "ĠاÙĦج Ùĩ", + "ĠاÙĦجÙĩ ات", + "ĠÑĥÑģпеÑĪ Ð½Ð¾", + "Ġв ок", + "Ġвок ÑĢÑĥг", + "ĠÑģиÑĤÑĥ аÑĨиÑı", + "Ġ×Ķ×IJ ×ŀר", + "Ġ×Ķ×IJ×ŀר ×Ļ×§", + "Ġ×Ķ×IJ×ŀר×Ļ×§ ×IJ×Ļ", + "×ŀ ×Ĵ×ĸ", + "×ŀ×Ĵ×ĸ ×Ļף", + "Ġак ÑĤÑĥ", + "ĠакÑĤÑĥ алÑĮн", + "é ta", + "éta is", + "Ġmog ÅĤa", + "ĠÑĤоÑĩ ки", + "Ġ×ŀ×Ķ ×ŀ×¢", + "Ġ×ŀ×Ķ×ŀ×¢ ×¨×Ľ×ª", + "มี à¸Ľà¸£à¸°à¸ªà¸´à¸Ĺà¸ĺà¸´à¸łà¸²à¸ŀ", + "×Ļר ×Ļ×ĵ×Ķ", + "×Ĵר ×ŀ׳", + "×Ĵר×ŀ׳ ×Ļ×Ķ", + "Ġг лав", + "Ġглав ное", + "Ġ미 ëŀĺ", + "Ġ׳׼ ×ķ׳×Ķ", + "ĠÙĪ Ø·ÙĨÙĬ", + "op port", + "opport unitÃł", + "Ġh á»§y", + "ĠÙĦ تØŃ", + "ĠÙĦتØŃ ÙĤÙĬÙĤ", + "Ġó rg", + "Ġórg ão", + "ãĤ¹ ãĥĶ", + "ãĤ¹ãĥĶ ãĥ¼ãĥī", + "Ġön ü", + "Ġönü ne", + "Ùħع اÙħÙĦ", + "ש×ŀ ×Ļר×Ķ", + "ĠвеÑģÑĮ ма", + "ĠwiÄĻks zo", + "ĠwiÄĻkszo ÅĽÄĩ", + "Ġاست راتÙĬج", + "ĠاستراتÙĬج ÙĬØ©", + "ĠÙģ Ø¥", + "ĠÙ쨥 ذا", + "à¹Ģà¸Ĭืà¹Īà¸Ń ม", + "à¹Ģà¸Ĭืà¹Īà¸Ńม à¸ķà¹Īà¸Ń", + "Ġ׾ פר", + "Ġ׾פר ×ĺ×Ļ×Ŀ", + "Ùħض ÙĬ", + "ĠGer çek", + "Ġçocuk ların", + "ÙĪØ« ائÙĤ", + "ĠÙħساء Ùĭ", + "Ġunterstüt zt", + "Ġpré st", + "Ġprést amo", + "ĠÐłÐ°Ð· меÑĢ", + "ĠÅŁ eker", + "Ġsé culo", + "×ij×Ķ ×Ļר", + "Ø´Ùĩ ÙĪØ±", + "Ġ à¸Ńีà¸ģ", + "Ġà¸Ńีà¸ģ à¸Ĺัà¹īà¸ĩ", + "Ġlleg ó", + "à¸¨à¸´à¸¥à¸Ľ ะ", + "æĪij ãģĮ", + "æĪijãģĮ å®¶", + "ع ÙĤÙĪ", + "عÙĤÙĪ Ø¨Ø§Øª", + "ĠF älle", + "Ġs ÅĤuż", + "ĠsÅĤuż b", + "ĠاÙĦØŃÙĤ ÙĪÙĤ", + "Ġпл иÑĤ", + "Ġи ноÑģÑĤ", + "ĠиноÑģÑĤ ÑĢан", + "ĠиноÑģÑĤÑĢан н", + "à¹ĥà¸Ļ à¸Ĥà¸ĵะà¸Ĺีà¹Ī", + "ãĤ« ãĥĨ", + "ãĤ«ãĥĨ ãĤ´", + "ãĤ«ãĥĨãĤ´ ãĥª", + "à¸Ńิ ส", + "à¸Ńิส ระ", + "à¹Ģà¸ľà¸¢ à¹ģ", + "à¹Ģà¸ľà¸¢à¹ģ à¸ŀร", + "à¹Ģà¸ľà¸¢à¹ģà¸ŀร à¹Ī", + "ãģĬ ãģĦ", + "ãģĬãģĦ ãģĹãģĦ", + "است ÙĤÙĦ", + "استÙĤÙĦ اÙĦ", + "تØŃ ض", + "تØŃض ÙĬر", + "åĬ© ãģij", + "Ùħر اÙģÙĤ", + "Ġ×ĵ ×ķר", + "Ġ×ĵ×ķר ש", + "×ŀת×Ļ ×Ļ×Ĺס", + "ס ×Ļ׼", + "ס×Ļ׼ ×ķ×Ŀ", + "íĮĮ íĬ¸", + "Ġwy ÅĽ", + "ĠwyÅĽ w", + "ĠwyÅĽw iet", + "ĠwyÅĽwiet l", + "ĠاÙĦاÙĨ ساÙĨ", + "ĠStra ÃŁen", + "ï¼ ¬", + "ãģ« åŁº", + "ãģ«åŁº ãģ¥", + "Ġcap ÃŃtulo", + "ลุ ย", + "Ġ×Ķ×ŀ×§ צ×ķ×¢×Ļ", + "ãģĤãĤĭ ç¨ĭ度", + "á» ¢", + "ĠاÙĦ ÙĦا", + "ĠاÙĦÙĦا زÙħØ©", + "æķĻ ãģĪ", + "Ġרש ×IJ×Ļ", + "з ав", + "зав иÑģ", + "завиÑģ им", + "à¸Ľà¸±à¸Ī à¸Īัย", + "à¹Ģà¸ĭ ล", + "à¹Ģà¸ĭล ลà¹Į", + "Ġdiffé rence", + "ĠAlt ın", + "Ġк ÑĢай", + "ĠкÑĢай не", + "Ġз ло", + "Ġgün ümüz", + "Ġн аÑĤÑĥÑĢ", + "ĠнаÑĤÑĥÑĢ Ð°Ð»ÑĮн", + "×Ĵ×ķ׾ ש×Ļ×Ŀ", + "Ġк аÑĤегоÑĢ", + "ĠкаÑĤегоÑĢ Ð¸Ð¸", + "Ġз нак", + "à¸ģà¹Īà¸Ńà¸Ļ หà¸Ļà¹īา", + "à¸ģà¹Īà¸Ńà¸Ļหà¸Ļà¹īา à¸Ļีà¹ī", + "ĠÙħÙĨ ت", + "ĠÙħÙĨت خب", + "ãĥĽ ãĥ¼ãĥ«", + "Ġе вÑĢо", + "ส ว", + "สว ม", + "ĠìľĦ ìĽIJ", + "ĠìľĦìĽIJ ëĭĺ", + "ĠاÙĦØŃ ÙĪØ«", + "ĠاÙĦØŃÙĪØ« ÙĬ", + "ĠÑģодеÑĢж иÑĤ", + "ãĥķãĤ¡ ãĥĥãĤ·ãĥ§ãĥ³", + "Ġ à¸ģัà¸Ļ", + "Ġà¸ģัà¸Ļ ย", + "Ġà¸ģัà¸Ļย ายà¸Ļ", + "ãĤª ãĥª", + "ãĤªãĥª ãĤ¸", + "ãĤªãĥªãĤ¸ ãĥĬãĥ«", + "Ġб ÑĢенд", + "ãĤĴæĮģ ãģ£ãģ¦ãģĦãĤĭ", + "Ġinvers ión", + "Ġê° ĸ", + "Ġê°ĸ ê³ł", + "Ġnov itÃł", + "ê´Ģ ê´ij", + "Ġà¸ŀ ฤษ", + "Ġà¸ŀฤษ à¸łà¸²", + "Ġà¸ŀà¸¤à¸©à¸łà¸² à¸Ħม", + "×ķר ×Ĺ×Ļ×Ŀ", + "׼׾ ×ķ׾", + "Ġng ạc", + "×Ļ ×Ļש", + "×Ļ×Ļש ×ķ×ij", + "f äll", + "fäll ig", + "ĠÑĤÑĢеб ÑĥеÑĤÑģÑı", + "Ġcar á", + "Ġcará cter", + "Ġprinc ÃŃpio", + "ĠÅĤ az", + "ĠÅĤaz ien", + "ĠÅĤazien k", + "Ġgi ãn", + "ÑģÑĤÑĢа ива", + "Ùħس اب", + "Ùħساب ÙĤØ©", + "à¹Ģà¸Ħรืà¹Īà¸Ńà¸ĩ à¸Ķืà¹Īม", + "ترÙĥ ÙĬب", + "vol ução", + "ĠÐŁ оÑĩ", + "ĠÐŁÐ¾Ñĩ ем", + "ĠÐŁÐ¾Ñĩем Ñĥ", + "казал оÑģÑĮ", + "ĠпÑĢимен ениÑı", + "à¹Ģà¸Ĺ ียม", + "íĮ Ķ", + "à¸Ĥà¹īà¸Ń à¹Ģสà¸Ļà¸Ń", + "à¸Ľà¸±à¸į à¸įา", + "Ġоб ÑĥÑĩ", + "ĠобÑĥÑĩ ениÑı", + "ĠÑģеÑĢ Ð¸", + "ĠÑģеÑĢи ал", + "Ġingl és", + "ĠÙĦ Ùĥرة", + "Ġ×ĺ ׾", + "Ġ×ĺ׾ פ×ķף", + "Ġìł ij", + "Ġìłij ê·¼", + "×IJ ×ķ×Ĵ", + "×IJ×ķ×Ĵ ×ķס", + "×IJ×ķ×Ĵ×ķס ×ĺ", + "ĠболÑĮÑĪ Ð¾Ðµ", + "ĠÐļон еÑĩно", + "×¢×Ļת ×ķ׳", + "×¢×Ļת×ķ׳ ×IJ×Ļ", + "Ġкноп к", + "Ġз н", + "Ġзн аÑĤÑĮ", + "ĠÄij á»±", + "ĠÄijá»± ng", + "вл аж", + "влаж н", + "×ŀ ×Ļ×ĺ×ij", + "ãĤ¬ ãĤ¤", + "ãĤ¬ãĤ¤ ãĥī", + "........ ..", + "Ġà¸ģ ุม", + "Ġà¸ģุม à¸łà¸²à¸ŀ", + "Ġà¸ģà¸¸à¸¡à¸łà¸²à¸ŀ ัà¸Ļ", + "Ġà¸ģà¸¸à¸¡à¸łà¸²à¸ŀัà¸Ļ à¸ĺ", + "Ġà¸ģà¸¸à¸¡à¸łà¸²à¸ŀัà¸Ļà¸ĺ à¹Į", + "be z", + "bez pieczeÅĦst", + "bezpieczeÅĦst w", + "ãĥijãĥij æ´»", + "ع اط", + "عاط Ùģ", + "ĠÄij áºŃm", + "Ġз ÑĢ", + "ĠзÑĢ ÐµÐ½Ð¸Ñı", + "Ġbor ç", + "Ġнед ел", + "Ġнедел Ñİ", + "Ġh á»ı", + "Ġhá»ı ng", + "ìŀ¥ ìķł", + "ìŀ¥ìķł ìĿ¸", + "ĠاÙĦع ÙĦاÙĤØ©", + "Ġíģ ¬", + "Ġíģ¬ ê²Į", + "à¹Ħร à¹Ī", + "à¸ļา à¸Ķ", + "à¸ļาà¸Ķ à¹Ģà¸Īà¹ĩà¸ļ", + "à¸Ŀ รั", + "à¸Ŀรั à¹Īà¸ĩ", + "à¸Ŀรัà¹Īà¸ĩ à¹Ģศ", + "à¸Ŀรัà¹Īà¸ĩà¹Ģศ ส", + "ר ×¢×Ļ", + "רע×Ļ ×ķ׳×ķת", + "Ġë Į", + "ĠëĮ ĵ", + "ĠëĮĵ ê¸Ģ", + "Ġnaj b", + "Ġnajb li", + "Ġnajbli ż", + "Ġnajbliż sz", + "ĠиÑģполÑĮз ÑĥеÑĤÑģÑı", + "Ġcient ÃŃf", + "ĠcientÃŃf ico", + "×¢ ×ŀ×§", + "Ġg ợi", + "Ø´ ØŃÙĨ", + "ĠÅĽ m", + "ĠÅĽm ier", + "ĠÅĽmier ci", + "à¸Ħาสิà¹Ĥà¸Ļ à¸Ńà¸Ńà¸Ļà¹Ħลà¸Ļà¹Į", + "×Ĺש×ij ת×Ļ", + "Ġn ingu", + "Ġningu ém", + "è¾¼ ãĤģ", + "ãģ ·", + "ĠÑĥ г", + "ĠÑĥг ол", + "ï½ °", + "פת ×Ļ×Ĺ", + "פת×Ļ×Ĺ ×ª", + "Ġ×Ķר×IJש ×ķ׳×Ļ×Ŀ", + "p ósito", + "ãĤŃ ãĥ¬ãĤ¤", + "ãģ© ãģĵãĤį", + "à¹Ģà¸Ĺà¹Īา à¹Ħ", + "à¹Ģà¸Ĺà¹Īาà¹Ħ หร", + "à¹Ģà¸Ĺà¹Īาà¹Ħหร à¹Ī", + "ĠинÑĤеÑĢ ÑĮеÑĢ", + "ĠØŃ اج", + "ĠØŃاج Ø©", + "สี à¸Ĥาว", + "ìĸ ¼", + "Ġn á»Ļ", + "Ġná»Ļ p", + "ĠÃŃ nd", + "ĠÃŃnd ice", + "สำ รวà¸Ī", + "Ġкажд ой", + "Ġhot éis", + "Ġnast ÄĻ", + "ĠnastÄĻ pn", + "Ġ×Ķ×§ ×ķ×ĵ", + "Ġ×Ķ×§×ķ×ĵ ×Ŀ", + "פ ×ķפ", + "פ×ķפ ×ķ׾", + "פ×ķפ×ķ׾ ר×Ļ", + "вÑĪ ÐµÐ¹", + "ãĤ·ãĥ³ ãĥĹ", + "ãĤ·ãĥ³ãĥĹ ãĥ«", + "ĠzdjÄĻ Äĩ", + "ĠгÑĢÑĥпп а", + "Ġпом еÑī", + "ĠпомеÑī ениÑı", + "ãģ©ãģĨ ãģĦãģĨ", + "ĠиÑģп ÑĭÑĤа", + "Ġog ÅĤ", + "ĠogÅĤ os", + "ĠogÅĤos zen", + "ĠogÅĤoszen i", + "สรà¹īาà¸ĩ สรร", + "สรà¹īาà¸ĩสรร à¸Ħà¹Į", + "à¸ŀร รà¸ĵ", + "Ġçık Ä±ÅŁ", + "ĠÑĩаÑģÑĤ ноÑģÑĤи", + "Ġ×ķ ×Ļ×ķתר", + "ç¶ļãģį ãĤĴ", + "ç¶ļãģįãĤĴ èªŃ", + "ç¶ļãģįãĤĴèªŃ ãĤĢ", + "à¸ģร ั", + "à¸ģรั ม", + "г ÑĢаÑĦ", + "Ġв лад", + "Ġвлад елÑĮ", + "ĠвладелÑĮ ÑĨ", + "Ġistedi ÄŁ", + "ĠistediÄŁ iniz", + "×ij׾ ×¢", + "×ij×ľ×¢ ×ĵ×Ļ", + "ÙħÙĪ Ø§Ùģ", + "ÙħÙĪØ§Ùģ ÙĤØ©", + "Ġ×Ļ ×ķר", + "Ġ×Ļ×ķר ×§", + "ãĤ«ãĥ¼ãĥī ãĥŃãĥ¼ãĥ³", + "ĠاÙĦÙħØ´ ÙĥÙĦ", + "ĠاÙĦÙħØ´ÙĥÙĦ Ø©", + "ĠêµŃ íļĮ", + "ס פ×ĺ", + "ספ×ĺ ×ŀ", + "ספ×ĺ×ŀ ×ijר", + "Ġìĸ´ ëłµ", + "Ùĥ اÙħ", + "ÙĥاÙħ ÙĬرا", + "sch lü", + "schlü sse", + "ĠØ« ÙĨ", + "ĠØ«ÙĨ ائÙĬ", + "ìī ½", + "ĠÐŀ Ñģоб", + "ĠÐŀÑģоб енно", + "Ġин веÑģÑĤи", + "ĠинвеÑģÑĤи ÑĨи", + "اØŃ تÙħ", + "اØŃتÙħ اÙĦ", + "E Äŀ", + "EÄŀ İ", + "íķĺ ê²łëĭ¤", + "Ġ×IJ ×ijר×Ķ", + "Ġ×IJ×ijר×Ķ ×Ŀ", + "Ġ×ij×Ĺ ×Ļ׳×Ŀ", + "Ø£ ÙĪØ¶", + "Ø£ÙĪØ¶ اع", + "Ġdé l", + "Ġdél ai", + "Ġ×IJ×ķ×Ķ ×ij×Ļ×Ŀ", + "ĠÑģо Ñħ", + "ĠÑģоÑħ ÑĢ", + "ĠÑģоÑħÑĢ Ð°Ð½Ð¸", + "ĠдоÑģÑĤ иж", + "ĠдоÑģÑĤиж ени", + "สิà¹Īà¸ĩ à¹ģ", + "สิà¹Īà¸ĩà¹ģ วà¸Ķ", + "สิà¹Īà¸ĩà¹ģวà¸Ķ ล", + "สิà¹Īà¸ĩà¹ģวà¸Ķล à¹īà¸Ńม", + "ĠاÙĦÙħ باشر", + "ĠÑĦ иг", + "ĠÑĦиг ÑĥÑĢ", + "мож ем", + "׾×ŀ×Ļ×ĵ ×Ķ", + "Ġcin é", + "Ġciné ma", + "Ġb ada", + "Ġbada ÅĦ", + "جب ÙĩØ©", + "Ġд еп", + "Ġдеп ÑĥÑĤ", + "ĠдепÑĥÑĤ аÑĤ", + "Ġdist ância", + "ĠاÙĦÙħ عار", + "ĠاÙĦÙħعار ضة", + "thè se", + "ü nc", + "ünc ü", + "Ġдан ного", + "ĠBel gi", + "ĠBelgi ë", + "Ġ×ij ×ij×§", + "Ġ×ij×ij×§ ש×Ķ", + "ย à¹Īาà¸Ļ", + "Ġsol ução", + "Ġ×Ķצ ×ĺר", + "Ġ×Ķצ×ĺר פ×ķ", + "ĠØ£ÙĨ ØŃ", + "ĠØ£ÙĨØŃ اء", + "Ġد ÙħØ´", + "ĠدÙħØ´ ÙĤ", + "มั à¹ī", + "มัà¹ī ย", + "Ùħ غرب", + "است عÙħاÙĦ", + "ĠS ÅĤow", + "ĠëıĻ ìĭľ", + "ĠëıĻìĭľ ìĹIJ", + "ĠÑģ оÑģ", + "ĠÑģоÑģ ед", + "ì²Ń ìĨĮ", + "ì²ŃìĨĮ ëħĦ", + "Ġг ÑĢаÑĦ", + "ĠгÑĢаÑĦ ик", + "Ġìŀij ìĿĢ", + "Ġyet i", + "Ġyeti ÅŁtir", + "ĠìĿ´ê²ĥ ìĿ´", + "ห à¹Īาà¸ĩ", + "Ø¥ ÙħÙĥاÙĨ", + "Ø¥ÙħÙĥاÙĨ ÙĬØ©", + "است عراض", + "ÙħØ® در", + "ĠÑĩ ÑĥÑĤÑĮ", + "Ùħ دÙĬر", + "ÙħدÙĬر ÙĬØ©", + "Ġà¹Ģม ษ", + "Ġà¹Ģมษ ายà¸Ļ", + "Ġм еÑħ", + "ĠмеÑħ аниз", + "ĠмеÑħаниз м", + "ĠÑģ Ñĥм", + "ĠÑģÑĥм мÑĥ", + "Ġv ö", + "Ġvö ll", + "Ġvöll ig", + "Ġд ÑĢÑĥз", + "ĠдÑĢÑĥз ÑĮÑı", + "ãĤĴåĪ©ç͍ ãģĹãģ¦", + "à¸ļรร à¸Īุ", + "po życz", + "×ŀש ׼", + "×ŀש׼ ×ł×ª", + "×ŀ×©×Ľ×ł×ª ×IJ", + "Ġeuropé en", + "Ġpropri é", + "Ġproprié taire", + "Ġkh ấu", + "ãģĦãģŁãģł ãģijãĤĭ", + "Ġtec rü", + "Ġtecrü be", + "×Ķ ×ij", + "×Ķ×ij ׳×Ķ", + "Ġcu Ì", + "ĠcuÌ ī", + "ĠcuÌī a", + "×IJ ×ķ×ķ", + "×IJ×ķ×ķ ×Ļר×Ķ", + "Ġ׼×ķ׾ ×ķ", + "U lus", + "Ulus lararası", + "Ġ׳ ×ķת", + "Ġ׳×ķת ף", + "ãģ« åIJij", + "ãģ«åIJij ãģijãģ¦", + "ë¹ Ľ", + "à¸Ĺ ัà¸ģษ", + "à¸Ĺัà¸ģษ ะ", + "س ÙĤÙĪ", + "سÙĤÙĪ Ø·", + "Ġв н", + "Ġвн еÑĪ", + "ĠвнеÑĪ Ð½Ðµ", + "Ġur z", + "Ġurz ÄĻd", + "Ġá mb", + "Ġámb ito", + "à¸Ń à¸ĺิ", + "à¸Ńà¸ĺิ à¸ļาย", + "Ġ ÅĤad", + "ĠÅĤad n", + "ê±´ ì¶ķ", + "wód zt", + "wództ w", + "Ġquest ões", + "Ġש ×§", + "Ġשק ×Ļ×ij׾", + "Ġmiejsc owoÅĽci", + "Ġв ал", + "Ġвал ÑİÑĤ", + "hä user", + "หà¸Ļ à¸Ńà¸ĩ", + "ãģ¨ åħ±", + "ãģ¨åħ± ãģ«", + "ãĥı ãĥ¼ãĥī", + "Ġê°ľ ìµľ", + "ĠоÑģнов ном", + "Ġм ÑıÑģ", + "اع ت", + "اعت ÙĤاÙĦ", + "สà¸ĸ ิ", + "สà¸ĸิ à¸ķิ", + "N gu", + "Ngu á»ĵn", + "ĠÙħ جÙĦ", + "ĠÙħجÙĦ Ø©", + "à¹ģà¸Ĥ à¸Ļ", + "ĠاÙĦÙĦÙĬ بÙĬ", + "פע×Ļ׾ ×ķ×Ļ×ķת", + "Ġ×Ķר פ×ķ×IJ×Ļ", + "פר ×ķפ", + "פר×ķפ ×Ļ׾", + "×§ ׾×IJ", + "ק׾×IJ ס×Ļ", + "Ùĥت Ø´Ùģ", + "ãģ«ãģª ãģ£ãģ¦ãģĹãģ¾ãģĨ", + "à¹Ģà¸Ħล à¹ĩà¸Ķ", + "à¹Ģà¸Ħลà¹ĩà¸Ķ ลัà¸ļ", + "Ġì» ´", + "Ġì»´ íĵ¨", + "Ġì»´íĵ¨ íĦ°", + "Ġ×Ĺ×Ļ ×ķ×ij×Ļ", + "Ġnä m", + "Ġnäm lich", + "åij¼ ãģ°", + "åij¼ãģ° ãĤĮ", + "ĠÑĢ Ð¾Ð»", + "ĠÑĢол и", + "Ġspécial isé", + "à¸Ļ วัà¸ķ", + "à¸Ļวัà¸ķ à¸ģรรม", + "ÙĨص ÙĪØµ", + "пеÑĢ ÐµÐ´", + "пеÑĢед аÑĩ", + "thè que", + "Ġר×IJ ×Ļת×Ļ", + "ãĥĢ ãĤ¦ãĥ³", + "ãĤı ãģĭ", + "ãĤıãģĭ ãģ£ãģ¦", + "беÑĢ ÐµÐ¶", + "ĠÑģ ек", + "ĠÑģек ÑĢ", + "ĠÑģекÑĢ ÐµÑĤ", + "ĠпоÑģÑĤоÑıн н", + "à¸Ĥà¸Ļ สà¹Īà¸ĩ", + "Ġm ük", + "Ġmük em", + "Ġmükem mel", + "еÑĤ еÑģÑĮ", + "ĠاÙĦسÙĨ ÙĪØ§Øª", + "ĠìłĦ íĺĢ", + "Ġ×Ķ×ŀ×§ ×ķר×Ļ", + "Ġmü d", + "Ġmüd ah", + "Ġmüdah ale", + "Ġwy b", + "Ġwyb ór", + "Ġtend ência", + "Ø¥ دار", + "إدار ÙĬØ©", + "Ġunterstüt zen", + "ת ×ijר", + "ת×ijר ר", + "Ġdi á", + "Ġdiá logo", + "ĠÃĸ nce", + "ĠÃĸnce ki", + "ãĤ¹ãĥĿ ãĥĥãĥĪ", + "ëĦ £", + "ĠG eli", + "ĠGeli ÅŁ", + "ãĤĴ éĢļ", + "ãĤĴéĢļ ãģĹãģ¦", + "ĠFuÃŁ ball", + "Ġsal ari", + "Ġsalari é", + "ĠпÑĢодÑĥк ÑĤов", + "صÙģ ÙĤØ©", + "รว à¸ļ", + "รวà¸ļ รวม", + "à¹ĥà¸Ļ à¸IJาà¸Ļ", + "à¹ĥà¸Ļà¸IJาà¸Ļ ะ", + "Ġkay na", + "Ġkayna ģı", + "Ġìŀij íĴĪ", + "ĠвÑĭ ÑĢаж", + "ĠвÑĭÑĢаж ен", + "ĠÑģÑĤ еп", + "ĠÑģÑĤеп ени", + "ĠاÙĦÙħ ÙĪØ¬ÙĪØ¯", + "ĠاÙĦÙħÙĪØ¬ÙĪØ¯ Ø©", + "ล à¹īม", + "Ġnaj czÄĻ", + "ĠnajczÄĻ ÅĽcie", + "ĠnajczÄĻÅĽcie j", + "Ġz wy", + "Ġzwy k", + "Ġzwyk ÅĤ", + "Ġê·¸ëłĩ ì§Ģ", + "à¸ģระ à¸Ī", + "à¸ģระà¸Ī าย", + "Ġëĭ µ", + "Ġëĭµ ë³Ģ", + "ĠÑĢе ак", + "ĠÑĢеак ÑĨи", + "ĠÅĽwie ż", + "ĠÑģÑĤоим оÑģÑĤи", + "ÙħÙĨ اÙĤ", + "ÙħÙĨاÙĤ Ø´", + "ÙħÙĨاÙĤØ´ Ø©", + "ĠÑħоÑĩ Ñĥ", + "ãĥľ ãĥ¼ãĥī", + "Ġróż nic", + "Ġк ÑĢÑĭ", + "ĠкÑĢÑĭ ÑĪ", + "âľ ĵ", + "ãĤ³ãĥ³ ãĥĨãĥ³", + "ãĤ³ãĥ³ãĥĨãĥ³ ãĥĦ", + "ĠпÑĢед поÑĩ", + "×ŀר ×ij×Ļת", + "ĠØ´ Ùĥ", + "ĠØ´Ùĥ را", + "Ġд ал", + "Ġдал ек", + "Ġдалек о", + "بر ÙĬØ·", + "برÙĬØ· اÙĨÙĬا", + "ع ÙĨا", + "عÙĨا ÙĬØ©", + "ĠÑĢаÑģÑģ каз", + "ĠÑĢаÑģÑģказ Ñĭва", + "Ø£ ÙĦÙĪ", + "Ø£ÙĦÙĪ Ø§ÙĨ", + "æĮģ ãģ£ãģ¦", + "æĮģãģ£ãģ¦ ãģĦ", + "Ùħباد ئ", + "×Ķ ×¢×ijר", + "×Ķ×¢×ijר ת", + "Ġyay ı", + "Ġyayı ml", + "Ġyayıml a", + "m át", + "mát icos", + "à¸ģ ัà¸ĩ", + "à¸ģัà¸ĩ วล", + "Ġ׾ פת", + "Ġ×ľ×¤×ª ×ķ×Ĺ", + "à¸ŀฤ à¸ķิ", + "à¸ŀฤà¸ķิ à¸ģรรม", + "í Ĥ¬", + "Ġок ÑĢÑĥг", + "Ġ×ŀצ ×ķ×ķ×Ķ", + "ÐĽ ени", + "ÐĽÐµÐ½Ð¸ н", + "ĠTri á»ģu", + "ãĤ³ãĥŁ ãĥ¥", + "ãĤ³ãĥŁãĥ¥ ãĥĭ", + "ãĤ³ãĥŁãĥ¥ãĥĭ ãĤ±", + "ãĤ³ãĥŁãĥ¥ãĥĭãĤ± ãĥ¼ãĤ·ãĥ§ãĥ³", + "Ùĥ ÙĨÙĬ", + "ÙĥÙĨÙĬ سة", + "ãĤĴ ä¸Ńå¿ĥ", + "ãĤĴä¸Ńå¿ĥ ãģ«", + "ĠmiÄĻd z", + "ĠmiÄĻdz yn", + "ĠmiÄĻdzyn ar", + "ĠmiÄĻdzynar od", + "ĠmiÄĻdzynarod ow", + "ÙĦ ÙĨ", + "ÙĦÙĨ دا", + "بر Ø´", + "برش ÙĦÙĪÙĨ", + "برشÙĦÙĪÙĨ Ø©", + "à¸ģระ à¸ķุ", + "à¸ģระà¸ķุ à¹īà¸Ļ", + "Ġg ı", + "Ġgı da", + "à¸Ľà¸£à¸° à¸Ĺัà¸ļ", + "à¸Ľà¸£à¸°à¸Ĺัà¸ļ à¹ĥà¸Ī", + "Ġë¶Ī 구", + "Ġë¶Ī구 íķĺê³ł", + "ĠÙĨ Ø·", + "ĠÙĨØ· اÙĤ", + "ĠÐľ ожеÑĤ", + "Pr äs", + "Präs ident", + "ĠÑģк оÑĢ", + "ĠÑģкоÑĢ Ð¾ÑģÑĤÑĮ", + "Ġ×Ķ×ij ×ķקר", + "еÑħ аÑĤÑĮ", + "Ġg ạo", + "Ġש×IJ ×Ļ׳×Ŀ", + "Ġ×ij׳ ×ķ×Ĵ", + "Ġ×ij׳×ķ×Ĵ ×¢", + "Ġо пиÑģание", + "Ġucz ni", + "Ġuczni ów", + "à¹Ģà¸Ń à¹ĩà¸Ļ", + "Ġت Ø´", + "Ġتش رÙĬÙĨ", + "Ġnh ãn", + "ë¹ ¨", + "Ġcaract ère", + "×¢ ׾×Ļ", + "×¢×ľ×Ļ ×Ļ×Ķ", + "楽ãģĹ ãĤģãĤĭ", + "ĠÑģ аÑħ", + "ĠÑģаÑħ аÑĢ", + "дÑĥм аÑĤÑĮ", + "ĠÐĴоз можно", + "ص ÙĬاÙĨ", + "صÙĬاÙĨ Ø©", + "öm ür", + "ส ล", + "สล à¹ĩ", + "สลà¹ĩ à¸Ń", + "สลà¹ĩà¸Ń à¸ķ", + "ë¡ ¯", + "Ġth ói", + "gr Ã¶ÃŁe", + "Ġksi ÄĻ", + "ĠksiÄĻ g", + "ĠÑĢ Ð¾Ð¼", + "ĠÑĢом ан", + "ÙĤ اسÙħ", + "×ŀ×ij ×ķ×Ĵ", + "×ŀ×ij×ķ×Ĵ ר×Ļ×Ŀ", + "bes ch", + "besch äft", + "beschäft ig", + "×Ķצע ×Ķ", + "ĠÃģ rea", + "ĠзаÑıв к", + "Ä ¹", + "ĠлÑİб ого", + "Ġ ม", + "Ġม à¸ģร", + "Ġมà¸ģร าà¸Ħม", + "ÑĦ из", + "ÑĦиз иÑĩеÑģк", + "ин ÑĦ", + "инÑĦ ек", + "инÑĦек ÑĨи", + "اÙĦ Ø·", + "اÙĦØ· ائÙģ", + "Ġкол л", + "Ġколл екÑĤив", + "ез жа", + "Ġس بØŃ", + "ĠسبØŃ اÙĨ", + "ĠسبØŃاÙĨ Ùĩ", + "sch lä", + "schlä ge", + "Ġд и", + "Ġди аг", + "Ġдиаг ноÑģÑĤ", + "ĠоÑĤмеÑĤ иÑĤÑĮ", + "Т Ь", + "ĠاÙĦ در", + "ĠاÙĦدر اسÙĬ", + "עצ ×ŀ", + "עצ×ŀ ×IJ×ķת", + "Ġdém arch", + "Ġdémarch e", + "Ġ×ĺ ×ķ×¢", + "Ġ×ĺ×ķ×¢ ף", + "Ġfuncion ários", + "á» µ", + "׾ ׼×IJ", + "׾׼×IJ ×ķר×Ķ", + "à¸ĭ à¹Ī", + "à¸ĭà¹Ī à¸Ńม", + "ĠÑĩ Ñĥв", + "ĠÑĩÑĥв ÑģÑĤво", + "âĸ ¼", + "п ÑĥÑī", + "пÑĥÑī ен", + "Ġм еÑĢ", + "ĠмеÑĢ Ð¾Ð¿", + "ĠмеÑĢоп ÑĢи", + "ĠмеÑĢопÑĢи ÑıÑĤиÑı", + "Ġu çu", + "Ġuçu ÅŁ", + "ãĤĴåĪ©ç͍ ãģĻãĤĭ", + "a ÄŁ", + "aÄŁ lı", + "ìĺĪ ìĪł", + "à¹ģ ยà¹Ī", + "ĠاÙĦÙĥ Ùħ", + "ĠاÙĦÙĥÙħ بÙĬ", + "ĠاÙĦÙĥÙħبÙĬ ÙĪØªØ±", + "ت ÙĪÙĬ", + "تÙĪÙĬ تر", + "à¹Ģà¸Ĭ ีà¹Īยว", + "à¹Ģà¸Ĭีà¹Īยว à¸Ĭา", + "à¹Ģà¸Ĭีà¹Īยวà¸Ĭา à¸į", + "á» Ķ", + "Ġhi ếm", + "ذا Ùĥرة", + "Ġ×Ķ×ŀ×Ļ ×ķ×Ĺ×ĵ", + "ĠìĪ ľ", + "ĠìĪľ ê°Ħ", + "ĠK ı", + "ĠKı sa", + "Ġgele ceÄŁi", + "пÑĢо ÑĦеÑģÑģиона", + "пÑĢоÑĦеÑģÑģиона л", + "Ġog ó", + "Ġogó le", + "ĠgÅĤ ów", + "ĠgÅĤów ne", + "ĠÑģÑĤ илÑĮ", + "×IJ פ׾", + "×IJפ׾ ×Ļ×§", + "×IJפ׾×Ļ×§ צ×Ļ×Ķ", + "สม ารà¹Į", + "สมารà¹Į à¸Ĺ", + "สมารà¹Įà¸Ĺ à¹Ĥà¸Ł", + "สมารà¹Įà¸Ĺà¹Ĥà¸Ł à¸Ļ", + "Ġth ánh", + "ÐŁ од", + "ÐŁÐ¾Ð´ ÑĢоб", + "ÐŁÐ¾Ð´ÑĢоб нее", + "ĠاÙĦت ÙĪÙĨ", + "ĠاÙĦتÙĪÙĨ سÙĬ", + "Ġbah çe", + "à¹ģà¸ģà¹ī à¸Ľà¸±à¸įหา", + "é ducation", + "eu rop", + "europ ä", + "europä ische", + "ĠK si", + "ĠKsi ÄĻ", + "ĠëĦ ĺ", + "ĠëĦĺ ìĸ´", + "Ġv üc", + "Ġvüc ud", + "Ġyay g", + "Ġyayg ın", + "Ġnie kt", + "Ġniekt óry", + "Ġniektóry ch", + "ãģŃ ãģĩ", + "Ġк аж", + "Ġкаж еÑĤÑģÑı", + "к аж", + "каж еÑĤ", + "ĠاÙĦ دÙĬÙħÙĤرا", + "ĠاÙĦدÙĬÙħÙĤرا Ø·", + "ĠاÙĦدÙĬÙħÙĤراط ÙĬØ©", + "æŃ ©", + "æŃ© ãģĦãģ¦", + "Ġv az", + "Ġvaz ge", + "Ġvazge ç", + "Ġмин ималÑĮ", + "ĠминималÑĮ н", + "ãĥij ãĤ¿", + "ãĥijãĤ¿ ãĥ¼ãĥ³", + "Ġë Ĭ", + "ĠëĬ IJ", + "ĠëĬIJ ëĤĮ", + "ãģ¡ ãĤĩãģĨ", + "ãģ¡ãĤĩãģĨ ãģ©", + "Ġ à¸ģร", + "Ġà¸ģร à¸ģà¸İ", + "Ġà¸ģรà¸ģà¸İ าà¸Ħม", + "تج دÙĬد", + "ĠØ´ اÙħÙĦ", + "หลัà¸ģ à¸IJาà¸Ļ", + "ĠмаÑĢ ÑĪ", + "ĠмаÑĢÑĪ ÑĢÑĥÑĤ", + "Ġv ÃŃt", + "ĠvÃŃt ima", + "Ġquiz á", + "ay gı", + "×ĵ×ijר ×Ļ×ķ", + "Ġиз д", + "Ġизд ели", + "Ġиздели Ñı", + "п ла", + "пла Ñĩ", + "плаÑĩ ива", + "ä»» ãģĽ", + "Ġéquip é", + "ä¹ħ ãģĹãģ", + "ä¹ħãģĹãģ ¶", + "ä¹ħãģĹãģ¶ ãĤĬ", + "Ġк аÑĤ", + "ĠкаÑĤ ал", + "ĠкаÑĤал ог", + "ส à¹īม", + "ĠÑĢ ÐµÐ¹", + "ĠÑĢей ÑĤ", + "ĠÑĢейÑĤ инг", + "Ġth uyá»ģn", + "ĠاÙĦÙħ ÙĤدس", + "esp ère", + "ãģ«åħ¥ ãģ£ãģŁ", + "หมาย à¹Ģลà¸Ĥ", + "ת×Ĺ×ķש ת", + "à¸Ļ à¹Īะ", + "Ġpe ÅĤ", + "ĠpeÅĤ ne", + "Ġpé rd", + "Ġpérd ida", + "หม วà¸Ķ", + "หมวà¸Ķ หมูà¹Ī", + "иÑĩеÑģк ÑĥÑİ", + "çµĤ ãĤı", + "çµĤãĤı ãģ£ãģŁ", + "Ġ×Ĵ ×ķ×Ĵ׾", + "à¸Ĺำ à¸Ħวาม", + "à¸Ĺำà¸Ħวาม สะà¸Ńาà¸Ķ", + "Hot éis", + "Ġз аÑĢ", + "ĠзаÑĢ ÐµÐ³Ð¸ÑģÑĤ", + "ĠзаÑĢегиÑģÑĤ ÑĢи", + "ĠзаÑĢегиÑģÑĤÑĢи ÑĢова", + "ĠÑģ обÑĭÑĤи", + "ĠÑģобÑĭÑĤи Ñı", + "Ġ×ĸ ׼×IJ", + "ÙħÙĨظ ÙĪÙħØ©", + "Ġ×Ķ×ŀ צ", + "Ġ×Ķ×ŀצ ×Ļ×IJ×ķת", + "Ùħ ÙĥÙĪÙĨ", + "ÙħÙĥÙĪÙĨ ات", + "ä¸ĬãģĮ ãĤĭ", + "Ġm ÄĻ", + "ĠmÄĻ sk", + "หรืà¸Ń à¹Ģà¸Ľà¸¥à¹Īา", + "ëĤ ®", + "Ġnok tas", + "Ġnoktas ı", + "ĠболÑĮÑĪ Ð¸Ð¼", + "ĠлÑĥÑĩ ÑĪиÑħ", + "Ø´Ùĩ ÙĬد", + "à¸Ńำ à¸Ļ", + "à¸Ńำà¸Ļ วย", + "à¸Ńำà¸Ļวย à¸Ħวาม", + "à¸Ńำà¸Ļวยà¸Ħวาม สะà¸Ķวà¸ģ", + "Ġе в", + "Ġев ÑĢ", + "ĠевÑĢ Ð¾Ð¿", + "ĠевÑĢоп ей", + "à¸ī าย", + "ìĦ Ń", + "Ùħ Ù쨧", + "ÙħÙ쨧 ÙĪØ¶", + "ÙħÙ쨧ÙĪØ¶ ات", + "ë¹ Į", + "赤 ãģ¡ãĤĥãĤĵ", + "ĠÑĥдал оÑģÑĮ", + "ĠÐ¥ оÑĤ", + "ĠХоÑĤ Ñı", + "przedsiÄĻbior c", + "ĠH ôm", + "íķĺìĺĢ ìĬµëĭĪëĭ¤", + "Ġн аг", + "Ġнаг ÑĢÑĥз", + "ĠнагÑĢÑĥз к", + "Ġ×ij×Ļ׳ ׾×IJ×ķ×ŀ×Ļ", + "Ġê°ĢëĬ¥ íķľ", + "ĠH ữu", + "à¸Ń ุà¸Ķ", + "à¸Ńุà¸Ķ ม", + "ת ×ķפ", + "ת×ķפ ×¢×Ķ", + "Ġmi ÅĤo", + "ĠmiÅĤo ÅĽci", + "ksi Äħż", + "ksiÄħż ka", + "ĠاÙĦÙĦ عبة", + "à¸ī าà¸ģ", + "สะ สม", + "×ŀ תר", + "×ŀתר ×Ĺש", + "Ġlég ère", + "Ġ׾צ פ", + "Ġ׾צפ ×Ļ×Ķ", + "ĠиÑģÑĤоÑĢ Ð¸Ñı", + "Ġ ãĥĪãĥ©", + "ĠãĥĪãĥ© ãĥĥãĤ¯", + "ĠãĥĪãĥ©ãĥĥãĤ¯ ãĥIJãĥĥãĤ¯", + "Ġк а", + "Ġка ÑĦе", + "×ŀס×ŀ ×ļ", + "Ġc üm", + "Ġcüm le", + "à¹Ģà¸Ħลืà¹Īà¸Ńà¸Ļ à¹Ħหว", + "ãģĬ ãģĿ", + "ãģĬãģĿ ãĤīãģı", + "ìŀIJ ëıĻ", + "ìŀIJëıĻ ì°¨", + "à¸Ńั à¸ķ", + "à¸Ńัà¸ķ à¹Ĥà¸Ļ", + "à¸Ńัà¸ķà¹Ĥà¸Ļ มั", + "à¸Ńัà¸ķà¹Ĥà¸Ļมั à¸ķิ", + "ĠÅŁ ik", + "ĠÅŁik ay", + "ĠÅŁikay et", + "extr ême", + "kr ä", + "krä fte", + "ëĤ Ļ", + "íķ ij", + "ì² Ļ", + "íĺ Ī", + "ì° į", + "âĻ ¡", + "ìŀ Ķ", + "ë¢ °", + "íĿ Ķ", + "íĿ IJ", + "âĩ Ĵ", + "ë§ Ľ", + "ìĬ Ī", + "á» Ĵ", + "ìĺ µ", + "âĹ İ", + "í Ĥ¨", + "ê¿ Ī", + "ìĪ ¨", + "ìĽ ¨", + "ë§ ¥", + "ï½ Ģ", + "ï¼ ª", + "Ạ¨", + "ãħ İ", + "Ñ Ĺ", + "ìĦ ¬", + "ì¹ ¼", + "ï¼ ¶", + "ìĽ ł", + "ëŁ ´", + "Å ĥ", + "ëĤ ¼", + "ëĭ IJ", + "âĢ ¹", + "ë¦ Ń", + "ì§ IJ", + "âĢ ¤", + "à ħ", + "ëľ ¨", + "íĦ ¸", + "íľ ĺ", + "ê² ģ", + "ë´ ħ", + "à ĺ", + "ëŃ Ķ", + "ëĺ ij", + "âĹ ĩ", + "ìĹ ĺ", + "ï» ´", + "ë§ ¹", + "ï¾ Ŀ", + "ìĬ ·", + "íĥ ķ", + "ï¼ ł", + "ì» ´", + "ëł Į", + "ì½ ľ", + "ï» ¹", + "ãħ ł", + "ì¡ ¸", + "ëħ ¹", + "âĤ º", + "âĸ ¶", + "íĥ IJ", + "êµ ´", + "íij ¸", + "Ñ Ķ", + "íĶ ½", + "Ð ħ", + "ë° ¤", + "Ô ģ", + "ì² ¨", + "ì¶ ĺ", + "ë² Ĺ", + "ë© ¸", + "ï¼ »", + "ï¼ ½", + "ï¼ ·", + "ì° Į", + "à Ĵ", + "íı ´", + "ìĵ ¸", + "ì´ Į", + "ëģ Ķ", + "ëĶ ©", + "ëĩ Į", + "ë© Ģ", + "ë² ¨", + "ï¼ µ", + "ë§ ¡", + "ëĭ «", + "ภ¿", + "ãģ ±", + "ìĩ ¼", + "ìº ł", + "ë® ¤", + "ê± ±", + "ì» ¬", + "âĦ ĥ", + "ëĶ ±", + "ëĥ Ī", + "ìĭ ±", + "íĻ Ī", + "ëŀ IJ", + "ìħ Ģ", + "ìł ł", + "Ð Ĩ", + "ëł ī", + "ï½ ħ", + "ï½ ı", + "íĻ Ģ", + "ëĽ °", + "á» ®", + "í Ĥ¹", + "ê½ ĥ", + "ï» ¤", + "ïº Ķ", + "êº ¼", + "ìķ ī", + "âĻ ¦", + "ï½ ģ", + "ìĵ ´", + "ãĢ ī", + "ì° ®", + "ì¤ ĺ", + "á» ª", + "ëģ Ħ", + "ëIJ ¨", + "ìķ Į", + "íĿ ĺ", + "íħ IJ", + "ãĢ Ī", + "ê² ª", + "ëĭ ¥", + "ê² ¼", + "á» Į", + "ë§ ¨", + "ëģ Ĭ", + "ë² ¤", + "ëij Ķ", + "íĿ ¡", + "á» ¬", + "ë¬ ĺ", + "ãģ ī", + "ëŀ «", + "íĶ Ī", + "í ħį", + "ìŀ ĥ", + "ï½ ī", + "ìģ ľ", + "âĸ ½", + "ë¬ »", + "âĸ ³", + "ï¼ ¸", + "ìģ ĺ", + "ì¶ °", + "ìĬ ´", + "ìķ ±", + "ìĩ Ħ", + "Ạ®", + "ï´ ¿", + "ï´ ¾", + "âĤ ½", + "ëĦ ĵ", + "ë£ ©", + "ì³ ¤", + "ê´ ľ", + "à Ļ", + "á» ľ", + "ï¿ £", + "ëĵ Ń", + "ë© ĺ", + "ê» ´", + "ëł ´", + "Ð ĥ", + "ë¬ µ", + "ì§ Ŀ", + "ãģ º", + "ðŁĺ Ĥ", + "ëŀ ¬", + "ìł Ĭ", + "ê´ Ħ", + "ìŀ Ĭ", + "íŀ Į", + "ìĦ ¯", + "âĪ Ģ", + "âĸ ¡", + "ëĢ Į", + "ëŀ Ļ", + "ï½ ĥ", + "Ạ¶", + "ï¾ Ħ", + "ïº ĺ", + "ë¹ ¼", + "à Į", + "âĸ ·", + "ê¸ į", + "ë© ĭ", + "ãģ ĥ", + "ìĺ Ĩ", + "ìĺ ®", + "ëª ¬", + "ë¡ ¤", + "ëł ¬", + "ëĬ ¦", + "âĸ ª", + "ì¼ ĵ", + "ìľ Ī", + "ì§ §", + "ï½ ½", + "ëĥ ī", + "ï¾ Į", + "ëĺ IJ", + "ï¼ ĥ", + "á» Ħ", + "ì´ ¬", + "ì¶ ¤", + "ï¼ ¹", + "ï» Ń", + "âĤ «", + "ï½ ĩ", + "ìĺ ·", + "ëĸ ¨", + "âī «", + "ë¦ ¿", + "âľ ¨", + "Ù ±", + "ì¯ ¤", + "ê¹ Ķ", + "ðŁĺ Ĭ", + "ìĪ «", + "ê³ ±", + "êµ ³", + "ï½ ĭ", + "ภĮ", + "Ä ł", + "ëĶ ¸", + "ë° ij", + "ìħ ĭ", + "íİ ´", + "âľ ħ", + "íĥ ij", + "ëĪ ĩ", + "íı ¼", + "ðŁĺ į", + "ìĺ Ľ", + "ï» £", + "Ñ ĺ", + "ì© Į", + "ë¦ ħ", + "ìĿ į", + "ï½ ¸", + "ëį ľ", + "ãģ ħ", + "íİ ¼", + "ëĭ Ŀ", + "ë¿ Į", + "ì¼ °", + "ìĭ «", + "ë° ¥", + "íĽ Į", + "ì¨ Į", + "ë¹ Ļ", + "ï½ İ", + "ë´ Ħ", + "ìĦ ¹", + "ï½ ²", + "ìĮ ĵ", + "Ò ij", + "ë° į", + "ëł Ģ", + "íĨ ¤", + "ï½ ¯", + "ë¤ Ħ", + "ê½ ¤", + "ï½ Ĵ", + "ìķ ¨", + "ï½ ¼", + "ê¹ IJ", + "íģ IJ", + "âĦ ĸ", + "ë§ º", + "ïº ®", + "ëħ ģ", + "ê² ¸", + "ï» ł", + "íĬ ľ", + "Å ¹", + "ë¥ Ń", + "ëĪ ī", + "ï½ Ķ", + "íĮ ¬", + "ìŀ ĩ", + "ï ¬ģ", + "ï» ¨", + "ëij ¥", + "ëŀ Ħ", + "Ù ¬", + "íĭ ´", + "ìŀ ī", + "Ú ¾", + "ìĽ ħ", + "ï» ®", + "ëĭ ī", + "âī ª", + "âĹ Ħ", + "ëĪ Į", + "íĽ ¼", + "ì¤ į", + "Å ¸", + "ì¤ ¬", + "ì¾ Į", + "ï½ ĵ", + "ï¾ Ĭ", + "ðŁı »", + "ï¾ ī", + "Ð ģ", + "íĺ IJ", + "ï¾ Ļ", + "ê¼ ¬", + "íŀ IJ", + "âĢ ¥", + "ëŁ Ń", + "ë§ ŀ", + "ìĥ ¤", + "ïº Ĵ", + "íĭ ±", + "ë½ ij", + "à ķ", + "âĪ ļ", + "ëĤ Ħ", + "ê¹ Ŀ", + "ëĨ Ī", + "Ạº", + "ìħ Ī", + "ìĮ į", + "âĢ ¡", + "ï¼ ±", + "ìģ ¨", + "âĺ º", + "ëĴ ·", + "ìĺ ³", + "ðŁij į", + "ëª ½", + "ëĤ Ń", + "ïº Ń", + "ë© Ī", + "á» Ī", + "íķ Ģ", + "ëĭ Ļ", + "ë¦ ĩ", + "ìķ ¤", + "ìį ¼", + "ãĥ µ", + "Ñ £", + "ìľ Ĺ", + "â ŃIJ", + "ï¾ ĺ", + "íĹ ¬", + "ê¾ ¼", + "ìķ Ĺ", + "ï» Į", + "ê± ·", + "ëħ ķ", + "ë¡ ±", + "ìķ Ĭ", + "ï¾ Ģ", + "ìĩ ł", + "íĮ ©", + "ïº ª", + "ë§ Ļ", + "ï¼ ¿", + "ê¿ Ķ", + "íİ ľ", + "ë£ ¸", + "íĶ Ķ", + "ï» ³", + "ëı ķ", + "ìĭ ¼", + "á» İ", + "ë§ ĺ", + "ì¢ ĭ", + "íĨ ¡", + "ï½ ±", + "íĿ ij", + "á» ¸", + "ì¦ Į", + "ì¹ ¸", + "ëŃ ĺ", + "ï¾ Ĺ", + "ï» ĭ", + "íĬ Ģ", + "ë¥ Ļ", + "ì½ ©", + "ëģ Ĺ", + "ëį ´", + "ìħ ľ", + " ¸", + "ë» IJ", + "ìĥ µ", + "ê² IJ", + "ëĵ ¬", + "ë£ °", + "ãħ ĭ", + "ìĹ ī", + "á» ĸ", + "ëĦ Į", + "ï½ ¶", + "ë´ ĩ", + "ëĤ ³", + "ãĤ ľ", + "ëĸ »", + "íİ Ģ", + "ëį ©", + "íķ ¸", + "à ·", + "ê¼ ¼", + "ëĶ ľ", + "ë° ´", + "ë© į", + "âĹ ¯", + "ìĹ ij", + "ìĻ ¼", + "ïº ij", + "ë¶ ķ", + "ë¡ ¬", + "ï½ Į", + "íĨ ¨", + "ïº ´", + "ëł ĺ", + "ê° ¤", + "ìĪ ²", + "Ñ ĵ", + "ìħ ī", + "ï» ĵ", + "ëĪ Ķ", + "ëį §", + "âĢ ¼", + "ï» ²", + "ê° ±", + "ê¿ Ģ", + "ëĭ ·", + "Ạ¸", + "Ạª", + "Æ Ĵ", + "ëį ¤", + "ìĪ Ń", + "ï½ Ĥ", + "ï½ Ī", + "Å ł", + "ë£ ¬", + "Ñ µ", + "ëĸ ¡", + "ëĥ Ħ", + "ìĦ °", + "ëĵ Ī", + "ï¾ ĥ", + "ëĩ ¨", + "ï½ IJ", + "êµ ½", + "ìĹ ½", + "ëĤ Ģ", + "ë¬ ¶", + "ï½ ·", + "ìı Ł", + "íĺ Ķ", + "ê¼ Ī", + "ëģ Ī", + "ì¥ IJ", + "ïº Ĺ", + "Ä Į", + "ëĪ ł", + "ëĸ ¼", + "íĢ ´", + "âī ¥", + "ëĭ Ń", + "ì± Ļ", + "ê» ı", + "ë© ¤", + "ìĥ ĺ", + "ëį ®", + "ë£ ¡", + "ìĤ ½", + "ãĪ ľ", + "Ä ¨", + "âĢ §", + "ï½ º", + "Ä £", + "ì¦ ī", + "ï¼ ¼", + "Û ©", + "âĪ Ļ", + "ë° ı", + "ë¹ ħ", + "ðŁĺ Ľ", + "íĪ ´", + "ðŁĴ ķ", + "ãĢ Ĵ", + "ìŀ ĺ", + "ïº ¤", + "ï½ ĸ", + "ë© ľ", + "ë² ¼", + "ëĿ Ħ", + "ëļ ľ", + "ï» ĺ", + "ìĥ Į", + "ï½ Ħ", + "ì© Ķ", + "ï½ Ļ", + "ïº ©", + "Û ŀ", + "âĺ İ", + "ìł ¤", + "ëIJ ©", + "Å Ŀ", + "âŀ ¡", + "ï» §", + "Ð ı", + "ì« ĵ", + "ê³ ½", + "É ij", + "ãĥ ²", + "ëĤ «", + "ë¦ ī", + "ì¢ ģ", + "ë° Ń", + "ðŁĺ ģ", + "ë¹ µ", + "ì² ©", + "ì» µ", + "ðŁĺ ĺ", + "ë± ħ", + "âī Ī", + "ë¹ ļ", + "ï» ľ", + "ðŁĻ ı", + "íģ °", + "ìĦ ŀ", + "ï¾ ļ", + "ìĺ ¹", + "ë¼ Ī", + "ëĤ ¯", + "ëŀ ©", + "íļ ¡", + "ï½ ķ", + "íĥ ĵ", + "ëĿ ł", + "ê³ ģ", + "ëĵ Ģ", + "ìĹ ł", + "ï¼ º", + "ë§ ij", + "ëĭ ¿", + "ì¿ ¨", + "ãİ ¡", + "Ð Ĭ", + "íĦ ±", + "Å ¨", + "ïº ³", + "ï¾ ı", + "âĭ ħ", + "ê¼ ´", + "âī ¤", + "íĮ ģ", + "Î ©", + "ê¶ ¤", + "ìĪ į", + "âľ ¿", + "ì½ ¤", + "ëĪ ħ", + "íĨ ±", + "ãħ ľ", + "áIJ ħ", + "Å Ĵ", + "ðŁij ī", + "ï» ¦", + "Ð ª", + "ë¥ ľ", + "íķ «", + "ï¾ ĭ", + "âĻ «", + "ê¹ ľ", + "ë° ¸", + "ëĶ ĺ", + "íĿ ī", + "ï¾ ģ", + "ï¾ Ľ", + "ëł Ľ", + "ê² ¹", + "ì¿ ¼", + "ï» ¬", + "âŀ ¤", + "ðŁĻ ģ", + "ïº ł", + "ëĨ ¨", + "ë¯ ¹", + "ê¸ ĭ", + "ë» Ķ", + "ê¹ ĥ", + "ëij ij", + "íĭ ¸", + "íİ Ļ", + "âŀ ĸ", + "ãĥ ½", + "ì§ ļ", + "ï½ ¬", + "ï» ¥", + "íĮ ½", + "âĢ Ĵ", + "ì ĮĢ", + "ìŃ ī", + "ëļ ±", + "ãĤ ŀ", + "íĭ Ī", + "ãĤ IJ", + "ëī ĺ", + "Î £", + "ê³ °", + "ë¹ Ĺ", + "ï¾ İ", + "ðŁĺ Ń", + "íĿ ł", + "ìĹ ¿", + "ê° ļ", + "ì¤ Į", + "ë§ µ", + "ï½ ³", + "ãģ ¢", + "ï» Ĺ", + "âī ¦", + "Ú ¤", + "ë łģ", + "ê¼ ½", + "ï» «", + "âī §", + "ì´ Ľ", + "ìł Ŀ", + "Ạ°", + "âĻ £", + "ìº ĺ", + "âĪ ĩ", + "ê² ī", + "ë° Ł", + "ï» Ķ", + "íĸ ĩ", + "âĸ Ĵ", + "ðŁij ı", + "à ŀ", + "ðŁĺ Ĩ", + "ïº ¼", + "âĿ Ĺ", + "ìº Ķ", + "ì¹ ©", + "ëĸ ¤", + "ëĥ ħ", + "âĶ ľ", + "ï½ »", + "Î Ķ", + "áĥ ¦", + "ìŀ İ", + "âĺ Ģ", + "âĪ ¼", + "ðŁĶ ¥", + "ë° Į", + "ìł ĸ", + "íĹ Ľ", + "Î ķ", + "ïº ĥ", + "ë¶ ī", + "âĪ ŀ", + "íĥ Ń", + "à ĭ", + "âģ Ħ", + "ãħ ĩ", + "ëĦ ¥", + "ëĭ ®", + "ëł ·", + "íĮ Ŀ", + "ìº ¡", + "ë· Ķ", + "ì© į", + "íĤ ´", + "ëļ «", + "âĵ Ĵ", + "íķ į", + "âĻ Ĥ", + "ï¾ Ĩ", + "âĨ ©", + "ìį ©", + "ïº ķ", + "íĿ Ļ", + "Ñ ľ", + "íĤ ·", + "íĿ °", + "íĥ ±", + "ëķ IJ", + "ï¾ Ĵ", + "× ĥ", + "ëĮ Ħ", + "ìĺ ´", + "ìķ µ", + "ê¹ ¥", + "ëŀ Ń", + "ìª ¼", + "ãİ Ŀ", + "ðŁĺ ħ", + "ëı ĭ", + "ëª «", + "ïº ¸", + "ë® ¬", + "ë² ħ", + "ëij ł", + "ìħ °", + "ì» ·", + "ëĶ ª", + "ëħ Ķ", + "ãħ ¡", + "ìĶ »", + "íķ ı", + "ëį ±", + "ïº ¨", + "ï¾ į", + "ï½ µ", + "ì¢ Ģ", + "íİ Į", + "ï» °", + "ïº £", + "Æ £", + "ðŁ¤ £", + "ï· º", + "ëĤ ļ", + "âĭ Ĩ", + "ë³ į", + "ðŁĺ Ħ", + "ìĸ Ģ", + "ìĻ ł", + "ëĨ Ķ", + "íĹ ¨", + "ï» Ľ", + "ï» Ŀ", + "á» ¶", + "ìĸ ĺ", + "ìİ Ħ", + "Ú Ĩ", + "ï» ŀ", + "ëĢ IJ", + "ê² Ķ", + "ï» µ", + "âĹ ¦", + "íļ Ł", + "ê¹ ģ", + "ê° ĵ", + "ëĶ ´", + "ìı ĺ", + "ëļ Ŀ", + "á» ł", + "ëŀ ´", + "ëĦ ī", + "âĺ ŀ", + "ï½ ĺ", + "Å ½", + "ë¦ İ", + "âĸ ¬", + "ëŃ ī", + "âĩ Ľ", + "ìį ¬", + "ïº Ł", + "Ë ľ", + "ë¶ ĵ", + "ìĽ °", + "Å ľ", + "ëŃ ĩ", + "á» ²", + "Ë ļ", + "ëķ Ģ", + "âĺ ij", + "ðŁı ¼", + "ìĸ ½", + "âĮ Ĵ", + "Ð İ", + "É ¾", + "íĮ ¡", + "ï¾ ħ", + "ìŀ Ń", + "ï½ ¨", + "ì¹ «", + "ìľ Į", + "Ò Ľ", + "êµ ¿", + "ëĭ ¦", + "âĶ Ķ", + "ï¾ ij", + "ì§ ĸ", + "ìº Ħ", + "ãĢ ĥ", + "Ê ¼", + "ê² Ł", + "ï½ §", + "Ä ¢", + "íİ ł", + "ë§ ·", + "ê° ĩ", + "ìĭ ¹", + "ðŁĴ ¦", + "ï¾ ľ", + "ëĬ Ļ", + "ë² ¡", + "Å ¿", + "ðŁĺ ĭ", + "ðŁĴ ª", + "ì¿ Ħ", + "ë© ķ", + "ìŃ ¤", + "ëĬ Ħ", + "ðŁĮ ¸", + "ãĤ Ŀ", + "Ç İ", + "ï½ ļ", + "Ä Ĺ", + "ëģ ĵ", + "ê¶ IJ", + "áµ ī", + "ãĥ Ĥ", + "ê» į", + "ðŁĺ ¦", + "ãĢ Ŀ", + "ðŁ¤ Ĺ", + "Ñ Ł", + "ìĹ İ", + "âľ Į", + "ìī IJ", + "à Ĩ", + "íĹ IJ", + "ðŁİ ī", + "Î ij", + "ï½ Ń", + "ðŁĴ Ļ", + "ìĽ ¬", + "íĢ ĺ", + "ï» ¢", + "ðŁĺ İ", + "íij ¼", + "íĿ ©", + "ï» Ħ", + "íħ Ģ", + "ëł IJ", + "ì¥ ¬", + "Ð ĭ", + "ìĥ ·", + "ëľ ¬", + "ðŁĺ ĥ", + "ëĦ ¬", + "ë¥ ¨", + "ìĽ į", + "ï½ Ĩ", + "ï½ ´", + "ãĥ ħ", + "à ı", + "ï» ª", + "âĻ ł", + "ëĬ ¬", + "ë± Ģ", + "ë° ĭ", + "ìĥ Ģ", + "ï½ ¾", + "ëĤ ±", + "ì» ¸", + "ðŁĴ ĸ", + "ðŁij Į", + "Ñ ŀ", + "ì§ ±", + "Ë Ĩ", + "ðŁĵ ļ", + "âŃ ķ", + "ï¬ Ĥ", + "ï» ¡", + "ëij ¬", + "íĪ ¼", + "âĸ ¸", + "ê° ¯", + "ê¹ ħ", + "ï½ ®", + "ëĺ ¥", + "Ä ¡", + "íĮ Ł", + "Ð Į", + "ìĨ Ł", + "ïº ĵ", + "ï» ¼", + "à Ľ", + "ãĥ ¾", + "ëĮ ĵ", + "íĴ ĭ", + "ìķ ĵ", + "ï½ ¹", + "ëĤ ¡", + "ðŁij ĩ", + "Ạ¼", + "ãĢ Ł", + "ðŁĮ Ł", + "íĥ ł", + "ãĢ Ĩ", + "âĢ Ł", + "ë¸ IJ", + "ðŁĮ ¹", + "ìł ¼", + "ðŁĵ Į", + "ìĶ ¬", + "âĹ Ģ", + "ðŁĴ ĵ", + "ê¹ İ", + "ìĤ IJ", + "ìĶ Į", + "Ñ Ľ", + "âĶ Ī", + "ë² ³", + "ãİ ŀ", + "Õ ¡", + "íĤ µ", + "ðŁ¤ Ķ", + "ëĢ Ķ", + "ìĬ IJ", + "íĻ ī", + "âľ ¦", + "ëľ ¯", + "ìł ¯", + "ëĶ §", + "Î ¦", + "Ë Ī", + "ìī ¼", + "âĹ Ĭ", + "ëľ ©", + "ëľ °", + "ï¾ IJ", + "ë¿ Ķ", + "ìĹ ®", + "ì· Į", + "ïº §", + "Î Ĵ", + "ëµ Ļ", + "ï» Ĭ", + "ì° Ķ", + "íİ Ħ", + "ðŁĴ Ĺ", + "Ạ´", + "ì° ¢", + "íľ ¼", + "ê½ Ĥ", + "ì± Ķ", + "ìī ´", + "âĸ ¾", + "íĪ °", + "ëĭ Ľ", + "âĿ £", + "ï½ ª", + "ðŁĴ ľ", + "Ë ĺ", + "ãħ ¤", + "âĨ Ĺ", + "íĸ Ħ", + "âĻ ¬", + "ìķ °", + "ïº ľ", + "âī ¡", + "ãĢ ĵ", + "ìij ¥", + "íĮ į", + "íī ģ", + "ë» Ĺ", + "íľ ł", + "íľ ©", + "âľ Ī", + "íĢ Ħ", + "ìĸ ĩ", + "ì¢ ĩ", + "íŀ Ļ", + "ëª ¹", + "ãĤ Ľ", + "ðŁĺ ±", + "ëį Ł", + "๠ħ", + "êµ ¶", + "Ù «", + "ìĶ ģ", + "âľ ª", + "ï¾ Ī", + "ðŁĻ Į", + "âļ ¡", + "Î ļ", + "ì¼ Ī", + "ï¾ Ķ", + "ï¾ Ĥ", + "êµ ī", + "ïº »", + "ðŁĴ ĭ", + "á¹ £", + "Ó Ļ", + "ìĨ ľ", + "ìĹ £", + "âľ ©", + "ìľ Ļ", + "ïº °", + "Ạ²", + "ìŀ £", + "âĿ Į", + "âĺ ģ", + "ìķ İ", + "Ä ½", + "Û ģ", + "ãĦ ±", + "ëŁ ¿", + "íĮ ¸", + "ê½ ī", + "ìı ł", + "ðŁį Ģ", + "âĨ Ķ", + "ëŃ ¡", + "ï» ģ", + "ï¼ Ħ", + "ðŁĴ ¥", + "âĺ Ľ", + "íĹ ·", + "ëij ¡", + "Î ł", + "Î ¤", + "âĦ ĵ", + "ïº ·", + "Î Ļ", + "ëı Ķ", + "ì§ ¤", + "âĶ ĥ", + "ãĦ ·", + "Ç Ĵ", + "ðŁ¥ °", + "ëĶ ķ", + "ìļ ¥", + "ì¸ Ħ", + "íĽ Ķ", + "ïº ĩ", + "ïº ¬", + "ðŁĺ ¢", + "ë¹ ¡", + "ìĶ ¹", + "Å ³", + "Ë Ŀ", + "íİ ij", + "ï¾ ĵ", + "ðŁĴ ļ", + "ëĬ ij", + "êº ¾", + "íĨ °", + "à ¿", + "Ð Ħ", + "ëĮ IJ", + "ë½ Ģ", + "ì· Ħ", + "ðŁ ĵį", + "ðŁĻ Ī", + "âĹ Ī", + "ê¿ ĩ", + "ì¼ Ħ", + "íİ «", + "ðŁĩ ·", + "âĶ ĭ", + "âļ ł", + "ë± ī", + "ì į°", + "ìĻ Ī", + "É ª", + "ïº ĭ", + "ðŁĺ ľ", + "Î Ł", + "ðŁ ĻĤ", + "âļ ½", + "Å Ī", + "ë¹ Ķ", + "íĮ ľ", + "๠ı", + "ìĸ ¹", + "íĪ Ń", + "ðŁ¥ ĩ", + "ãĦ ´", + "ëĶ ¥", + "ìŃ Ī", + "âĪ Ĩ", + "ëĸ ³", + "ë± ĥ", + "ìŀ ¦", + "ï» IJ", + "Î ľ", + "âľ §", + "Ï į", + "ìł ĵ", + "âĹ ķ", + "ëĴ Ģ", + "ï» Ģ", + "ðŁĶ ´", + "ê½ ģ", + "ëĮ Ī", + "ëİ Į", + "ãĤ İ", + "⦠ģ", + "ì½ §", + "ï¯ ¾", + "âĿ ¯", + "ภħ", + "ðŁĻ Ħ", + "âĿ Ģ", + "ðŁĶ ¹", + "âĩ IJ", + "êµ µ", + "âĩ Ķ", + "ë¶ IJ", + "ðŁĴ Ľ", + "Î ¾", + "íĥ ¬", + "âĿ Ħ", + "Ò £", + "ãĢ °", + "âĪ ij", + "âĺ ¼", + "âī ł", + "Ò ¯", + "ïº ¯", + "ê¿ ¨", + "âľ ĸ", + "Ê ĸ", + "íĢ Ģ", + "ê¾ Ģ", + "íĹ Ŀ", + "âĶ £", + "ãİ ľ", + "ëĶ Ľ", + "ëľ ¸", + "ï º«", + "ê¿ °", + "ðŁĩ ¹", + "Ç IJ", + "Û Ĵ", + "ë£ »", + "ïº ĸ", + "Ñ ļ", + "ëĬ ł", + "Û ķ", + "ê¹ ¡", + "ë¿ ľ", + "ì² ¼", + "ï¨ ij", + "ë¥ µ", + "ìį ¸", + "íħ ħ", + "íij ¹", + "Ö Ģ", + "ï³ Į", + "ãħ £", + "ìij ¤", + "ì½ ķ", + "ëķ ł", + "ðŁĮ ¿", + "íĥ Ķ", + "ìĽ ģ", + "Î ¶", + "âŀ ľ", + "ìĬ ĺ", + "íĽ Ĺ", + "ë© §", + "ìī ĺ", + "Õ ¶", + "á¹ ĩ", + "ðŁİ ģ", + "ï½ ¿", + "ï¼ Ĥ", + "á¼ IJ", + "âľ ķ", + "âŀ ¢", + "ëĦ ¨", + "ì» «", + "ì¯ Ķ", + "ì° ľ", + "ðŁĴ °", + "íħ Ŀ", + "ãİ ı", + "ë³ ¶", + "Ò ĵ", + "âĨ ³", + "ìĥ ´", + "íģ ĺ", + "âĸ Ģ", + "ë² Ļ", + "ภĥ", + "á½ ¶", + "Ä ķ", + "⬠ĩ", + "ë¤ ĺ", + "ðŁİ µ", + "âľ ļ", + "ïº ı", + "Î ¡", + "âĹ ī", + "ðŁĴ «", + "Ð Ī", + "ìĸ Ħ", + "ì§ Ļ", + "ï» ĥ", + "ðĿij Ĵ", + "ëŃ Ħ", + "âĿ ¥", + "âĿ ĸ", + "âĺ Ŀ", + "Ê ¹", + "Ḡ¥", + "âĢ ¿", + "ãħ ħ", + "ê¸ ģ", + "ëķ ¡", + "ëį ¥", + "âĪ ©", + "ê» Ħ", + "ë® Į", + "Ò ±", + "âĪ Ĺ", + "ëł Ļ", + "ïº Į", + "Ë IJ", + "ðŁĺ ³", + "ðŁij ©", + "ðŁİ ¶", + "ì¿ µ", + "ðŁ¤ ©", + "ê· ¤", + "ëĮ Ķ", + "ïº IJ", + "Ï İ", + "ì¶ ¥", + "ï½ Ĭ", + "á¹ Ń", + "ë¤ ¼", + "âĸ «", + "ì§ ł", + "á¼ Ģ", + "ê» ij", + "ëĮ ģ", + "íĢ ¸", + "âĻ Ľ", + "ðŁĴ ŀ", + "âĸ °", + "ðĿij ĸ", + "ëĿ ¤", + "ठ¦", + "ì´ ĺ", + "ðŁĺ ĩ", + "ëĶ ¤", + "Î Ĺ", + "ðŁĻ ĩ", + "Ë Ľ", + "ì© ¡", + "âĪ §", + "Õ ¥", + "Ñ Ļ", + "ëIJ ¬", + "ëĸ Ħ", + "ðŁĮ ·", + "ìĹ Į", + "ðŁĺ ¥", + "ëĪ ´", + "ï» ļ", + "É Ľ", + "ïº Ħ", + "ï» ı", + "Å Į", + "ë² ļ", + "ìĭ £", + "ïº Ģ", + "Î ĵ", + "ðŁĺ Į", + "Ë Ļ", + "ëŀ ı", + "ðŁĶ ¸", + "ðŁĵ ·", + "ëģ ½", + "íģ ½", + "ðŁĴ ¡", + "ðŁĮ ±", + "ëº ı", + "ìģ ł", + "ìĥ IJ", + "ëı Ĺ", + "ì¸ °", + "ëĪ ķ", + "Î Ŀ", + "âģ ī", + "ðŁĮ ¼", + "íĮ ł", + "âĭ ¯", + "áĥ ĺ", + "âľ ¤", + "ê± Ķ", + "íĮ İ", + "ðŁĴ ¯", + "ìı Ļ", + "íĹ ī", + "Ù Ń", + "ì½ °", + "ïº ¿", + "ï» ±", + "ì± Į", + "âĺ ķ", + "ðŁİ Ģ", + "Ä Ŀ", + "ë° §", + "ìĤ ¿", + "áij ķ", + "ðŁį ĥ", + "âĩ ¨", + "Î Ľ", + "ë§ ´", + "ë³ ķ", + "á ijIJ", + "âĸ ĵ", + "ðĿ ijľ", + "âĻ »", + "íĤ ¥", + "Õ ¸", + "ãĪ ±", + "ëº Ģ", + "ì² ¸", + "ïº Ľ", + "ðŁı Ĩ", + "ðŁĩ ª", + "âĿ ĵ", + "Ä Ģ", + "ì½ ¥", + "ðŁĩ §", + "á½ ·", + "âľ Ĥ", + "ìŀ ¼", + "ï§ ¡", + "ðŁĵ ¸", + "âĻ ¯", + "É Ķ", + "á½ ¸", + "âĮ ª", + "ï» ĸ", + "ï¥ §", + "âļ «", + "âĶ Ĺ", + "ðŁĮ Ī", + "ï» ©", + "ðŁĵ ²", + "Ï Ī", + "ðŁĺ ¡", + "ðĿij İ", + "ìľ ½", + "ì§ ¬", + "ì§ Ĭ", + "á½ ³", + "ìĮ ¤", + "ëĤ į", + "âī Ĵ", + "ðŁij ¨", + "âĺ ĺ", + "Ó ©", + "âĤ ĵ", + "âĪ Ĥ", + "ï¹ ģ", + "ðŁĴ IJ", + "íħ ĥ", + "ðŁı ½", + "ê· Ħ", + "ðŁĺ ı", + "ðŁĮ º", + "ðŁĺ Ķ", + "ï½ «", + "âľ İ", + "ëµ Ī", + "ðŁĩ ¸", + "âĢ £", + "âŀ Ķ", + "ëĺ ĺ", + "ìĥ ¬", + "Ê ĥ", + "⬠ħ", + "ì© IJ", + "ðŁĻ Ĩ", + "ðŁİ Ħ", + "Ä ¾", + "⣠¶", + "áĥ IJ", + "âĺ »", + "ì± ķ", + "ìģ ©", + "ë½ ķ", + "ìº £", + "ðŁij Ī", + "ðŁĻ ĭ", + "ï¾ ĸ", + "Ò ļ", + "Õ «", + "ìĮ Ī", + "ë² §", + "ðŁĩ ®", + "ï½ Ŀ", + "ðŁį ģ", + "ìĹ ¥", + "Ä ³", + "ë½ IJ", + "íį ½", + "íĽ ij", + "âĤ ¹", + "ãħ ģ", + "ìĶ ½", + "ðŁĶ ģ", + "ठ¯", + "ê¾ ¹", + "ëī ľ", + "âĹ ¡", + "íķ Į", + "Î ĺ", + "ë£ ¹", + "ìĻ ĵ", + "ðŁĩ ¦", + "ðŁij Ģ", + "âĶ Į", + "á¿ ¦", + "ëĦ Ľ", + "ìĦ £", + "ìŃ Ļ", + "ï± ł", + "Î ŀ", + "Ê »", + "á¿ ¶", + "âĿ Ŀ", + "ê± Ģ", + "ëĸ ´", + "ãĦ ¹", + "ðŁĴ İ", + "Ï ¹", + "⼠ħ", + "ï» ķ", + "ãĥ ±", + "ï½ Ľ", + "ëĮ ķ", + "ë¹ ½", + "ì¥ Ķ", + "ì¿ ¤", + "ðŁĸ ¤", + "Ñ Ĵ", + "ê¹ į", + "ëİ Ģ", + "ìĭ ¯", + "ë» ¤", + "ðŁĵ ŀ", + "ðŁĵ £", + "ðŁĺ Ŀ", + "ìį ¹", + "ìĹ ¡", + "ì° IJ", + "á½ IJ", + "ï» Ī", + "âľ į", + "Ä ı", + "ðŁĮ ŀ", + "âĦ ¦", + "ê½ Ŀ", + "ë» ĺ", + "ìĪ ±", + "âĶ ĺ", + "ðŁĮ »", + "âĤ ´", + "âŀ ¨", + "íIJ ģ", + "ê ¶Ī", + "âĺ ¢", + "ðŁĺ Ī", + "ï½ ©", + "âĦ Ĺ", + "ê° Ń", + "ê° ¸", + "ë» ij", + "ì¥ ´", + "ì» ¥", + "ï¤ Ĭ", + "ï» Ĵ", + "ðŁĺ ķ", + "âĺ Ķ", + "ìĺ IJ", + "ðŁļ Ĺ", + "ëĹ Ħ", + "ë§ ı", + "Õ ½", + "âĸ »", + "⣠µ", + "ìī °", + "ï» ij", + "âĻ ©", + "Î ¥", + "ðŁĺ £", + "âĬ Ĥ", + "ãħ Ĥ", + "ìħ ¸", + "íı Ħ", + "âľ ½", + "ì¦ Ļ", + "âĸ £", + "ê± į", + "ê¿ ĭ", + "ì« Ħ", + "ìº ĩ", + "ðŁĩ µ", + "ðŁij ij", + "âľ ĺ", + "ðĿij Ľ", + "ìį ½", + "ìº ī", + "ï¬ µ", + "ðŁĶ º", + "âĦ ®", + "íĥ ¤", + "ðŁĩ º", + "ðŁĴ µ", + "íħ ¨", + "ï½ ij", + "Î ¨", + "ìĥ ¹", + "ìĸ ķ", + "ì¹ µ", + "ðŁĵ ±", + "ठµ", + "ðŁij Ĭ", + "ðŁĴ Ħ", + "ðŁĴ Ŀ", + "ãĮ Ķ", + "ìĻ ģ", + "Ð ĩ", + "à® IJ", + "âĸ ¹", + "á´ Ľ", + "âĹ ĺ", + "ëº ¨", + "íĥ ī", + "ìĸ Į", + "ðŁIJ ¶", + "ãĤ ij", + "Ë ĩ", + "Å ı", + "á½ ¹", + "ìħ §", + "ï¹ °", + "ðĿij ¡", + "ðŁĶ Ŀ", + "ðŁĺ »", + "ðŁĴ ĥ", + "ðŁ¤ ¦", + "ðŁį Ĵ", + "íĢ µ", + "âľ Ĩ", + "ë¹ ´", + "ï§ ¤", + "ï» Ļ", + "á´ Ĺ", + "ðŁĮ ´", + "Í ¾", + "ëĮ ij", + "ì¨ ĭ", + "ìµ ¸", + "ðŁİ Ī", + "ðŁı ł", + "á½ ±", + "Û Ĩ", + "á¿ ĸ", + "âĢ Ľ", + "ì° ¼", + "íķ ¥", + "íĹ ´", + "ðŁĩ ¬", + "ì° Ŀ", + "âĪ ł", + "ï¼ ĩ", + "âĬ Ļ", + "âĿ ij", + "ëĦ ĭ", + "ëŀ Ĺ", + "ë° ī", + "ìĹ Ĭ", + "ì¢ Ĩ", + "íĮ ¥", + "ï° ²", + "ðŁĵ ĸ", + "ðŁĺ ®", + "âļ ª", + "ðŁĺ ļ", + "âĿ ŀ", + "ðĿij Ł", + "ðŁİ Ĥ", + "Å ķ", + "áIJ Ī", + "êº ½", + "ì± ł", + "ïº Ŀ", + "ê¿ ī", + "áĥ ł", + "ðŁı ĥ", + "ðŁĴ ¸", + "âĿ ģ", + "âĹ ¾", + "Ú ª", + "á¹ ĥ", + "íĬ ¬", + "ðŁĩ ±", + "íİ Ń", + "ðŁĺ ŀ", + "ë¾ °", + "á¹ Ľ", + "ëĽ ¸", + "âĿ Ĥ", + "êĴ ³", + "âĶ IJ", + "íĵ °", + "âŀ ł", + "ê´ ĺ", + "ëħ ĺ", + "ë» ¥", + "ì¾ ħ", + "ðŁĺ IJ", + "âĪ ª", + "ðŁij ģ", + "âĪ ´", + "âĹ ģ", + "ëº IJ", + "ìŀ ¤", + "ì± Ĺ", + "ðŁı ¾", + "Î §", + "á½ »", + "âŀ ¥", + "ìŁ Ī", + "ï» ī", + "âĸ Į", + "ãĥ ®", + "ðŁ¤ ¤", + "âĩ ĵ", + "ì¼ ł", + "á´ ı", + "ë§ ¬", + "ë» £", + "ðŁĴ ¬", + "ðŁį ĵ", + "Ä ¸", + "Ù ¹", + "Ê ¿", + "á½ °", + "ëķ ľ", + "ì° ¡", + "ì° »", + "íİ į", + "ðŁİ ¯", + "ðŁį Ĥ", + "ðŁij §", + "âĻ ¢", + "áĨ ŀ", + "âĻ §", + "âļ ľ", + "âľ ī", + "ëĵ ¦", + "ëŃ £", + "ìĪ ı", + "ìĵ ±", + "Å Ń", + "Ê Ĭ", + "âĴ ¸", + "âĩ ©", + "ðŁĴ Ķ", + "Õ µ", + "Ð ī", + "Ò »", + "ë§ £", + "ìĽ ľ", + "ì¿ ¡", + "íĽ ħ", + "íĽ ¤", + "ïº ¢", + "âľ ĭ", + "âĪ Ī", + "ðŁĮ į", + "Ê ľ", + "ëĬ ª", + "ëĴ ¹", + "ïº ²", + "âĸ Ħ", + "ãħ Ī", + "ëļ ¤", + "íİ ©", + "âĪ ¨", + "ðŁ¤ ª", + "áĥ ļ", + "ê³ ¶", + "íĬ ķ", + "ðŁĺ ¬", + "âĪ «", + "ðŁij ĭ", + "Ò IJ", + "íĬ ¿", + "ðŁĶ µ", + "ðŁĴ ¨", + "ðŁĮ Ļ", + "ëĩ ©", + "âľ ³", + "ë¨ ģ", + "ëº Ħ", + "ìĻ ij", + "ìº ħ", + "íı Ī", + "ðĿij Ļ", + "ðŁĴ ĺ", + "ãİ ¥", + "âĿ ı", + "âľ °", + "ï¯ ¿", + "ëµ IJ", + "ì¼ IJ", + "ïº ±", + "Õ ´", + "ï¬ Ģ", + "âľ ´", + "ðŁ¤ Ń", + "ðŁij Ĩ", + "⼠Ķ", + "ê· ĵ", + "ìĮ Į", + "ðŁ¤ ·", + "Û Ķ", + "ðŁ§ ¡", + "ðŁĺ ĵ", + "Î ĸ", + "âı °", + "ê² ľ", + "ëĭ ³", + "ëİ ħ", + "ë° Ī", + "ï® IJ", + "ðŁı ¡", + "âĨ ª", + "âĵ Ķ", + "âľ Ĭ", + "Ï ²", + "Ü IJ", + "ðŁĩ ³", + "Ö Ĥ", + "âľ ı", + "ìĸ Ĺ", + "ì« Ļ", + "ðŁĺ ²", + "Ä Ń", + "âĻ Ń", + "âĶ ı", + "âĹ Į", + "ðŁĺ ¯", + "áµ Ĵ", + "íĬ ł", + "Ä ·", + "Ê ģ", + "ठŁ", + "á¹ ģ", + "á¼ °", + "á¿ Ĩ", + "â «", + "â« ¸", + "ëį «", + "ì³ ĩ", + "ì¼ ¤", + "íĽ ¨", + "ðŁĴ Ł", + "Ê Ģ", + "Ê ³", + "ëĵ IJ", + "âķ °", + "âĿ ĩ", + "Ç Ģ", + "Ç Ķ", + "É ´", + "âĺ ļ", + "âĺ ľ", + "ê¶ Ĥ", + "ì« Ĵ", + "ì± Ī", + "ðŁĩ ¨", + "ðŁİ ¥", + "ðŁĵ Ŀ", + "Ä §", + "ðĿ ijIJ", + "Û Ī", + "ठ¬", + "ì¬ IJ", + "íĹ ¥", + "âĻ ¨", + "ðŁį ´", + "ï¹ ı", + "Ë ĭ", + "ðŁ¥ º", + "âĸ ¨", + "íĻ ĭ", + "âĪ ħ", + "ëģ Ļ", + "ëŀ ł", + "ìĨ ¥", + "âĢ ĸ", + "ðŁ¤ ĺ", + "ðŁIJ »", + "áµ ķ", + "Ç Ŀ", + "âĺ ı", + "ïº ļ", + "ï» Ĥ", + "ðŁļ ©", + "ìĪ Ł", + "Ë Ĭ", + "⤠µ", + "ðŁĴ §", + "ã ħį", + "ë© ©", + "Æ ¬", + "Î ĩ", + "âĩ §", + "âĵ ļ", + "ìĤ ¯", + "ìĪ ¯", + "ëĨ ĭ", + "âľ ¯", + "ðŁļ Ģ", + "Ú ĺ", + "Ú ¨", + "âľ Ń", + "ê² ħ", + "íĮ °", + "íľ Ļ", + "ðŁĮ Ĭ", + "ðŁİ ĵ", + "ðŁĺ Ļ", + "Ë ĥ", + "ðŁĴ ģ", + "ðŁij İ", + "âĺ ¹", + "ðŁĺ «", + "ðŁĴ »", + "ëĤ µ", + "ìĿ Ĭ", + "íĮ »", + "Ò ³", + "á½ ²", + "âŀ ŀ", + "ëĤ ij", + "ëĿ Ī", + "ì£ ¤", + "ï» ¯", + "ðŁĩ ©", + "ðŁ¥ ³", + "âĴ ¼", + "ðŁ¦ ĭ", + "âĺ Ĥ", + "ðŁĺ °", + "ðŁĻ ĥ", + "ðŁĺ Ĵ", + "Û İ", + "Ï ķ", + "Ḡ¤", + "ë£ ½", + "ìĬ ¥", + "ðĿij ī", + "É IJ", + "ðŁį İ", + "âķ ¯", + "âķ ¹", + "ຠ²", + "ï¾ ł", + "ë¹ ķ", + "ïº Ĩ", + "Ê º", + "Ó §", + "âĨ ł", + "ëĥ ĩ", + "ìİ Ī", + "ìŁ ¤", + "ï± ¢", + "âķ ¬", + "âĺ ł", + "ðŁİ Ĭ", + "ãį į", + "ãİ İ", + "âĺ °", + "âľ ĥ", + "ãħ ī", + "ë¯ Ī", + "ë¹ ¤", + "ìı Ń", + "ðĿij ¢", + "ðŁIJ ¾", + "Å ĭ", + "ðŁij ¶", + "âĶ Ľ", + "ï¿ ¢", + "áĥ ¡", + "Ä ¼", + "Å Ĩ", + "Ñ IJ", + "ìĥ Ľ", + "ìĺ Į", + "ì± ¤", + "íħ ģ", + "íļ ĥ", + "ï³ Ĭ", + "ðĿij Ķ", + "ðŁĩ «", + "âĭ °", + "ðŁĺ ¨", + "âĤ ©", + "Õ ¬", + "Ḡį", + "á» ´", + "âĨ ĺ", + "âĺ ¯", + "ãħ ı", + "ìł ¬", + "âĻ Ķ", + "ðŁĶ Ķ", + "ðŁĺ ł", + "ðŁĻ Ĭ", + "à® ľ", + "á¹ ħ", + "âĹ IJ", + "âĿ Ī", + "âŀ ½", + "ìĥ ħ", + "ðĿij ł", + "Æ ¢", + "âĭ Ļ", + "ê° Ľ", + "ëĿ µ", + "ë£ Ł", + "ìı ľ", + "ïº ģ", + "ðŁĴ Ń", + "âĬ ĥ", + "ðŁIJ °", + "ãħ Į", + "Ü ĵ", + "âŀ ķ", + "á½ ģ", + "ìķ ³", + "ðĿij Ŀ", + "ðŁİ ¬", + "É ¡", + "ठĹ", + "áIJ ī", + "ì© ľ", + "ì¶ §", + "ï³ ī", + "ï» ħ", + "ðĿIJ ŀ", + "ठ¶", + "ðŁĵ ¢", + "ðŁį ĭ", + "ðŁĴ ħ", + "ï¾ ķ", + "⬠Ĩ", + "âĪ µ", + "ðŁ¤ ij", + "áĥ £", + "Æ Ħ", + "Ñ ¹", + "á¼ Ķ", + "ê° ł", + "ê´ Į", + "ê· IJ", + "ëĽ ´", + "ì± ĺ", + "ï® Ń", + "ïº ¹", + "ïº ¾", + "âľ Ĺ", + "âĿ ¦", + "ðŁij ¦", + "áĥ Ĺ", + "Ù ²", + "á½ ´", + "âĪ ı", + "âľ ®", + "ê¹ °", + "ë² µ", + "ìĦ Ģ", + "ì© Ŀ", + "ïº ŀ", + "ïº ½", + "ðŁĩ Ń", + "Ë Ĥ", + "ðŁį ij", + "ðŁį Į", + "ðŁĶ »", + "ê¹ ¬", + "ìĬ Ń", + "ìľ ·", + "ðŁĽ ij", + "Ç §", + "ë¼ Ľ", + "ïº ¡", + "ïº º", + "ðĿij ļ", + "ðŁĵ ¦", + "ðŁĶ İ", + "ðŁĹ ĵ", + "áĥ Ķ", + "âľ Ĵ", + "âľ ¡", + "ðŁĮ µ", + "âĶ ķ", + "ëĢ Ŀ", + "ðŁį Ĭ", + "âĺ ĥ", + "ìĺ ħ", + "ঠ¬", + "ðŁ¦ ģ", + "âİ ¯", + "ðŁIJ ķ", + "Ñ ¿", + "ॠ¤", + "༠ĭ", + "ê· Ī", + "ì« Į", + "ðŁĩ °", + "âĿ ī", + "ì« Ģ", + "íĿ Ħ", + "ðĿIJ ¢", + "ðŁļ ¨", + "âĻ ¤", + "ðŁĺ ©", + "ðŁį į", + "ðŁĺ ij", + "ðŁļ ļ", + "Ö Ħ", + "ë «", + "ë« ¼", + "ठı", + "á¿ ·", + "âĮ ©", + "âĺ IJ", + "âŀ £", + "ê¸ ±", + "ê¼ ¿", + "ëĦ Ŀ", + "ìı ´", + "ìļ ¤", + "ì¿ ±", + "íİ IJ", + "ðŁĴ ¢", + "ì´ IJ", + "âĩ ij", + "âĶ ĵ", + "âģ ¾", + "Ü Ŀ", + "ðŁ į°", + "â´ °", + "Æ ı", + "Ï Ł", + "Ú º", + "Û ĥ", + "áĦ Ĵ", + "âĪ Ł", + "âĿ į", + "ãĦ ²", + "ìľ ħ", + "ì¤ ı", + "ðŁĩ ²", + "êº Ħ", + "ðŁİ ¤", + "âľ £", + "⸠Ŀ", + "ï¸ µ", + "ຠ§", + "áĢ Ļ", + "âķ ł", + "Õ ¯", + "âı ©", + "ðĿij £", + "ðŁĴ £", + "Å ĺ", + "ॠIJ", + "âģ ĥ", + "âĮ ĺ", + "ê» Į", + "ìĮ Ķ", + "ðĿij ĺ", + "ðŁ¤ ĵ", + "Õ ¿", + "ठŃ", + "âĮ ļ", + "âľ Ŀ", + "ðŁIJ ¼", + "Ë Į", + "âķ ļ", + "ï¦ Ĺ", + "âĿ ķ", + "âķ £", + "ðŁIJ ±", + "à® ¤", + "Ñ ¾", + "ठļ", + "ठľ", + "ìĪ Ħ", + "ìļ ľ", + "ðŁİ ®", + "É Ĵ", + "Ú ·", + "ຠį", + "âĨ µ", + "â Īĺ", + "âĿ Ĭ", + "ë¿ į", + "ìIJ Ī", + "ìļ ĺ", + "ì¯ §", + "íĥ ¯", + "ìĸ ı", + "ï¸ °", + "ðŁĩ ¯", + "ðŁ§ ļ", + "ðŁĺ µ", + "ðŁĺ ·", + "ðŁĮ ³", + "ຠ¥", + "Ä ī", + "Ä ¥", + "âľ ¶", + "á¿ ¾", + "âĬ ±", + "âĺ ¾", + "ê° ī", + "ê¼ °", + "ëº ij", + "ðŁĶ Ĭ", + "ðŁĸ IJ", + "Å ¤", + "Ò «", + "à® ®", + "âĮ Ī", + "âĹ Ĺ", + "ëĦ µ", + "ëħ ľ", + "ëľ ¹", + "ðĿij ¥", + "ðŁĴ ¿", + "ðŁĽ Ĵ", + "Ê Ĵ", + "áŀ ĵ", + "ðŁIJ Ŀ", + "ðŁ¦ Ħ", + "ðŁį ·", + "âĺ Ł", + "ï¸ ¶", + "ðŁ¤ Ł", + "Ô ±", + "âĨ ²", + "âĪ İ", + "âľ «", + "ëĩ ½", + "ëı IJ", + "ëķ Ħ", + "ï¦ ³", + "ï§ Ŀ", + "ïº Ļ", + "ðŁij »", + "ðŁĵ º", + "êµ ¼", + "ìĮ ©", + "ðŁĮ ²", + "È ±", + "íĶ ķ", + "ðŁĺ ¤", + "ãĮ ¢", + "Ê Ķ", + "ठ¡", + "á¼ Ī", + "ëİ ĥ", + "ë© ±", + "ë® Ī", + "ðĿIJ «", + "âĬ ķ", + "ëĥ ł", + "ë» ¬", + "íĭ Ķ", + "Õ ¤", + "á¼ ±", + "âľ ¥", + "âĺ Ħ", + "âĪ ¥", + "âļ ķ", + "ðŁij Ħ", + "ðŁİ ħ", + "ຠĻ", + "âĶ ¬", + "á½ µ", + "Õ ¾", + "Ö ģ", + "âĹ Ķ", + "ê¿ į", + "ëĸ µ", + "ë© İ", + "ë® ´", + "ìķ ´", + "áĥ ľ", + "á¼ ¡", + "âĶ Ĭ", + "âķ ®", + "âĹ ¼", + "ðŁį ¾", + "ðŁĽ į", + "ðŁij Ĺ", + "ðŁ¤ ŀ", + "âľ Ħ", + "Õ Ģ", + "ঠ²", + "Ë ī", + "⣠¨", + "Ä ¯", + "Ï Ĭ", + "á´ ľ", + "ë¹ ³", + "ï³ ĭ", + "ï¿ ł", + "Ä ª", + "âĤ ¸", + "âľ ±", + "ê» IJ", + "ëĭ »", + "ë§ ¸", + "ìŀ ¿", + "ì© ¨", + "ì ŃIJ", + "ì° ¿", + "íħ Ł", + "ðĿIJ §", + "ðĿij ij", + "ðŁĮ İ", + "ðŁĵ ®", + "ðŁķ Ķ", + "âĹ Ļ", + "âĹ »", + "âŀ §", + "ìŁ Ŀ", + "âľ ¬", + "ãĥ °", + "âģ Ī", + "â ĵĺ", + "ðŁ ĴĮ", + "ï¬ ĥ", + "ຠĶ", + "ìĶ °", + "ðŁĺ ª", + "× Ģ", + "ìĥ ¨", + "ïŃ ĭ", + "ðŁį ķ", + "ðŁĺ ´", + "Ï ³", + "á¼ Ħ", + "á½ ħ", + "âĩ ¢", + "âķ Ń", + "ìĺ »", + "íĬ ¤", + "Ü ĺ", + "⤠´", + "âĹ į", + "áŀ Ł", + "ðŁį º", + "áŀ ļ", + "ðŁı Ĭ", + "ðŁIJ ·", + "Ê Į", + "á½ º", + "âģ »", + "ê½ Į", + "ëĪ Ĺ", + "ë Ĺı", + "ì¿ °", + "íĢ ¼", + "íį ħ", + "ï· ²", + "ðŁĮ ı", + "ðŁį «", + "ðŁį ³", + "ðŁİ °", + "ðŁij °", + "ðŁĴ ²", + "ᥠĻ", + "ðŁIJ Ł", + "ï¿ ¡", + "ðŁĹ £", + "ðŁį ľ", + "âľ ²", + "ãİ ¢", + "ðŁĶ °", + "á¼ ¸", + "á½ ij", + "Ä İ", + "áĦ Ģ", + "âĻ ķ", + "ëł Ŀ", + "ìĪ ´", + "ïŃ Ń", + "Ó ľ", + "Ô Ģ", + "ëĢ ľ", + "ëĥ Ķ", + "ìĬ Ľ", + "ì« ij", + "ìº ¥", + "ìº ¬", + "ðĿij ¦", + "ðŁĶ ¶", + "ì¾ ¨", + "ðĿIJ ļ", + "ðŁį »", + "ðŁĴ į", + "ðŁ¤ ¡", + "ðŁķ Ĭ", + "â½ ĩ", + "âĵ IJ", + "ðŁį Ń", + "ðŁį ª", + "ðŁĶ Ĩ", + "Ò ¡", + "á´ ĩ", + "É Ĺ", + "Ü Ķ", + "âĦ İ", + "âĿ ĥ", + "ëĹ Ģ", + "ï² Ķ", + "ïº Ī", + "ðĿIJ »", + "ðŁĴ Ĭ", + "ðŁļ «", + "Ñ °", + "Ñ ³", + "ठ·", + "âĹ ł", + "ðŁij ¤", + "ï¾ ĩ", + "âĺ ĵ", + "ðŁį µ", + "ðŁ¤ ¨", + "âĸ Ń", + "à® ´", + "Ü ¢", + "Ü ¬", + "à´ ®", + "ðŁķ º", + "Ô ¹", + "Õ £", + "à´ ¯", + "á ´Ģ", + "âĮ ī", + "âľ IJ", + "âŀ ¦", + "ê¹ ½", + "ëĮ ľ", + "ðŁı ¥", + "ðŁĵ ©", + "Ò ¹", + "Ó ĺ", + "ठħ", + "âĿ §", + "Æ Ĺ", + "âĹ ½", + "ðŁij «", + "ðŁİ §", + "ðŁij £", + "âľ »", + "ðŁĻ ħ", + "ðŁĺ ĸ", + "ðŁĴ ®", + "ຠ°", + "ðŁĶ ľ", + "ðŁį Ħ", + "ðŁ¤ Ŀ", + "á ĥĿ", + "áŀ Ģ", + "âĩ ¦", + "Ê ¾", + "Ò ®", + "Õ ¼", + "ठĨ", + "âĹ ħ", + "âļ ĵ", + "âļ ĸ", + "ê¿ ©", + "ë¯ Ħ", + "ìIJ IJ", + "ìŀ °", + "ì§ Ń", + "íĭ ĭ", + "íİ ¨", + "íĻ §", + "ï² ij", + "ðŁİ Ĺ", + "Ù ³", + "ðŁij ¸", + "ঠ®", + "ðŁij ķ", + "Ú µ", + "âĢ ¾", + "âŀ °", + "ðŁij ¯", + "ðŁİ ¼", + "ðŁı ģ", + "Ä º", + "Ê ı", + "Ú ³", + "âı ±", + "ê½ Ī", + "ëĿ Į", + "ìĮ ī", + "ìĹ ·", + "ìŀ ´", + "íĹ ¹", + "íľ ¨", + "ðĿĹ ²", + "ðŁĮ IJ", + "ðŁİ Ļ", + "ðŁı µ", + "íĽ Ļ", + "ðĿij ħ", + "ðŁĺ ¶", + "âĵ ħ", + "âķ ¥", + "ðŁį ı", + "ï¦ İ", + "Õ ©", + "ðĿIJ Ħ", + "Ó £", + "Ú ¿", + "âĻ ļ", + "ðŁĶ Ĺ", + "Ḡ«", + "âĭ ®", + "âĸ ¦", + "⼠½", + "âľ µ", + "ãħ Ĩ", + "ãħ Ĭ", + "ëĦ Ļ", + "ëĿ ¨", + "ë¥ Ħ", + "ìĦ ¦", + "ì§ °", + "ì§ ¹", + "íī Ī", + "ï§ ij", + "ï» ĩ", + "ðŁĮ ¾", + "ðŁı ĸ", + "ðŁIJ ij", + "ðŁĴ ³", + "ðŁĵ Ĩ", + "Û ĩ", + "Ü ķ", + "á½ ½", + "ëĦ ľ", + "à´ ²", + "à´ ³", + "ຠŃ", + "áĥ Ľ", + "âĿ Ķ", + "âij ħ", + "áĥ ¥", + "ðŁĵ ħ", + "âŀ ³", + "á´ µ", + "ï¹ ¡", + "ï¹ ¶", + "Î Ĩ", + "ठ¥", + "áī µ", + "âĿ Ļ", + "âĿ ±", + "ëī ł", + "ëİ ł", + "ëı Ľ", + "ë¿ ħ", + "ìĶ ¸", + "íij ¯", + "íŀ ī", + "íŀ Ľ", + "ï§ Ħ", + "ïŃ ĺ", + "ïº ¦", + "ï» ¸", + "ðĿij Ĥ", + "ðĿij ı", + "Ï ij", + "Ú ł", + "áĢ Ķ", + "áŀ Ķ", + "á¹ ¢", + "ëĦ ¸", + "ðĿIJ ¨", + "ðŁĩ ´", + "Õ °", + "ðŁij ł", + "ðŁį Ĩ", + "ðŁı Ģ", + "ðŁ ijIJ", + "ðŁį ĩ", + "ðŁIJ £", + "áĪ Ń", + "Ü ª", + "ðŁ ĮĢ", + "áŀ ĺ", + "âĩ Ħ", + "ðĿIJ Ģ", + "Ê Ļ", + "âĶ ¼", + "ðŁı ¿", + "Æ ·", + "È ł", + "Ñ ½", + "âĤ ¨", + "ê´ Ń", + "ê¹ »", + "ëĶ ¨", + "ìĪ Ģ", + "ì¾ °", + "íĨ Ī", + "ï® §", + "ï¯ ½", + "ðŁĶ ħ", + "ðŁĶ ®", + "Å ¢", + "Ê °", + "Ñ ¸", + "ठ£", + "âĬ Ĺ", + "ëª Ħ", + "ï¹ ·", + "ïº ħ", + "ðĿIJ µ", + "ðŁĮ ¶", + "ðŁĵ °", + "ðŁĶ ·", + "ðŁĸ Ĵ", + "ðŁ¤ ²", + "ëī ©", + "ðŁİ Ĩ", + "ðŁ§ IJ", + "ðŁį ®", + "âĨ º", + "âĿ ¢", + "ðŁij ª", + "ðŁij ±", + "âĨ ¡", + "áŀ ı", + "Ú ķ", + "ðŁį ¹", + "ðŁĴ Ģ", + "Ë ®", + "Ó ¨", + "Ö ħ", + "ठĩ", + "âĤ ¡", + "âĪ ķ", + "âĺ ī", + "ê¹ ¼", + "ê¼ IJ", + "ì½ ¸", + "ðĿIJ ¬", + "ðŁı ħ", + "ðŁij Ļ", + "ðŁĴ ī", + "ðŁ¤ Ļ", + "È ĺ", + "É ³", + "É ¹", + "Ù º", + "áĢ Ħ", + "á¿ ³", + "âļ ĺ", + "âĿ Ĩ", + "ëĨ ī", + "ìĸ į", + "ìĺ ĩ", + "ì¥ ĺ", + "íĸ ħ", + "íĻ ij", + "ï® Ĭ", + "ï¿ Ń", + "ðĿĴ IJ", + "ðĿĹ ¢", + "ðŁĶ ĸ", + "ðŁĶ ¨", + "ðŁļ ij", + "ðŁļ ²", + "Æ ¸", + "âĹ ¥", + "ðĿIJ Ń", + "ðŁį ½", + "âĹ ij", + "âĵ ĩ", + "ðŁĶ ±", + "âľ ¼", + "ï¹ ĥ", + "âķ ±", + "ãĢ Ĺ", + "ðŁı ĭ", + "ðŁļ ´", + "ðĿIJ ®", + "Ä ļ", + "Õ ı", + "Ä ¶", + "áĥ ij", + "á¹ ¬", + "Ä Ī", + "Ä Ĵ", + "Ò °", + "Ó ķ", + "â IJ", + "âIJ £", + "âĹ ¢", + "âļ Ļ", + "ãħ Ĺ", + "ê° ¬", + "ê³ ª", + "ê» Ģ", + "ëĦ ´", + "ëİ ģ", + "ëĿ Ķ", + "ë¬ ½", + "ëŃ į", + "ìĩ ³", + "ì° ¹", + "íĮ ¹", + "íŀ Ŀ", + "ï® ĭ", + "ï ¶Ī", + "ðĿĴ Ĥ", + "ðŁ¥ Ģ", + "ðŁ¦ ħ", + "Ê ĺ", + "á¼ ij", + "âģ İ", + "ðŁį ŀ", + "âĨ ĸ", + "âĨ Ļ", + "ðŁİ ĥ", + "âĦ ¡", + "âĭ ±", + "ðŁĶ į", + "ಠ¨", + "áµ ĥ", + "âĶ «", + "⦠¿", + "ðŁĩ »", + "Æ ¤", + "Ò ı", + "Ò ·", + "Û ī", + "à® ķ", + "Ḡ³", + "ï¬ ±", + "ðŁĨ Ķ", + "Ú Ń", + "Û ¦", + "áħ ¡", + "âĦ ¹", + "ê¿ İ", + "ëķ Ķ", + "ë¼ ī", + "ìļ §", + "ì² µ", + "ì´ ¨", + "íĬ Ī", + "íĸ IJ", + "ðĿĹ ĺ", + "ðŁĩ ¿", + "ðŁİ ĸ", + "ðŁij ħ", + "ðŁ ĵĺ", + "ðŁļ Ļ", + "ðŁĽ µ", + "à¶ ½", + "⼠µ", + "ðĿIJ ³", + "ðĿIJ ¸", + "âļ Ķ", + "ðŁij Ń", + "Ó ij", + "âĶ ¯", + "ðŁħ ¿", + "ðŁĺ ¹", + "ï¿ «", + "â¼ ¤", + "ðŁĴ ĩ", + "ðŁĵ İ", + "ðŁĸ ĭ", + "ঠ¸", + "ðĿIJ į", + "Ä ²", + "Ï ĭ", + "Ñ ¬", + "Ú ¬", + "Ü Ĵ", + "á´ ¬", + "ï¨ Ħ", + "É £", + "Ë ij", + "Ï µ", + "Ò Ŀ", + "Û ¥", + "Ü ł", + "๠Ľ", + "áĥ ķ", + "áĬ ķ", + "á¾ ¶", + "âĤ ·", + "âĩ ¾", + "âķ ©", + "âĸ IJ", + "âĺ ª", + "âĺ ®", + "âĿ ļ", + "âĿ Ń", + "âŀ ±", + "âµ İ", + "ãı Ĭ", + "ë© ĵ", + "ìĹ ¾", + "ìª Ħ", + "íĵ Į", + "íķ ¼", + "ïŃ ¬", + "ðĿij Ĩ", + "ðĿij ŀ", + "ðĿĸ Ĭ", + "ðŁİ ¸", + "ðŁı Ħ", + "ðŁij µ", + "ðŁĴ ł", + "ðŁĶ ĺ", + "ðŁ¥ Ĥ", + "Å ª", + "à· ĥ", + "á´ ¼", + "âĬ °", + "ë³ ı", + "ë´ £", + "ï¥ ľ", + "ðŁĵ Ī", + "ðŁķ ¯", + "ðŁ§ Ģ", + "âĻ IJ", + "ðŁĨ Ĺ", + "ðŁĵ ķ", + "ðŁ§ ģ", + "Ü «", + "âĿ IJ", + "Õ ķ", + "འķ", + "âŀ Ŀ", + "ঠķ", + "ðĿIJ ¶", + "É ¢", + "Î Ħ", + "áĨ ¢", + "âĤ ±", + "Õ į", + "à¡ ķ", + "á´ °", + "Ḡ©", + "⼠·", + "âĿ ®", + "ê¡ ĵ", + "ëı ¤", + "ëĹ IJ", + "ëµ Į", + "ìij Ī", + "íı ¿", + "íĹ µ", + "ðĿIJ İ", + "ðŁĨ ĺ", + "ðŁı Ł", + "É ¥", + "Õ »", + "à¡ Ķ", + "ठĸ", + "á´ ¸", + "âİ Ļ", + "âİ ¥", + "âı ³", + "ëģ ķ", + "ëĬ ī", + "ì¡ į", + "ì¹ ¡", + "ï¦ ¶", + "ï¬ Ł", + "ï® «", + "ï® ¯", + "ï± ĥ", + "ï ·»", + "ïº µ", + "ðĿĹ Ķ", + "ðĿĹ ¡", + "ðŁİ ¨", + "ðŁĶ Ĵ", + "Ú Ľ", + "ठ§", + "âŀ ¹", + "áĢ Ģ", + "ðŁį ħ", + "âĹ ¤", + "ठł", + "ðŁIJ ¥", + "áĥ Ĵ", + "ðŁı Ŀ", + "ðŁį ¼", + "ãĮ §", + "âĿ Ľ", + "ðŁIJ Ī", + "ঠ¯", + "áĢ ŀ", + "ãĢ ĸ", + "áŀ Ļ", + "ঠª", + "Õ Ĩ", + "âĬ Ĩ", + "âľ ¾", + "ðŁIJ Ĺ", + "ï¹ ¿", + "Ä ¦", + "Ü Ł", + "ಠł", + "ಠ¥", + "áŀ ī", + "á´ ¥", + "á´ ©", + "á½ Ģ", + "á½ ¡", + "âĨ ķ", + "âŀ ¯", + "ê¡ ij", + "ëij £", + "ë± Į", + "ìĪ ij", + "ìľ Ķ", + "ìŀ ½", + "ì¨ į", + "ðĿij Ģ", + "ðŁĮ Į", + "ðŁį ¦", + "ðŁį ©", + "ðŁIJ ļ", + "ðŁĵ Ĵ", + "ðŁĵ ¹", + "ðŁ¥ ij", + "Ä ĭ", + "Ë Ĺ", + "Ñ «", + "Õ ¢", + "Ú °", + "â ĮĢ", + "âĹ Ĥ", + "âĹ £", + "âľ Ľ", + "âĿ Ĵ", + "âĿ ĺ", + "âŀ Ļ", + "âŀ ²", + "ãİ į", + "ê¡ IJ", + "ëŀ ĸ", + "ìĬ Ŀ", + "ìĽ ¤", + "ì¡ ĭ", + "ì¨ °", + "íĹ Ļ", + "ï¥ ¸", + "ï³ į", + "ï» İ", + "ðĿij ĵ", + "ðŁĵ Ĭ", + "ðŁļ ¼", + "ï¦ ģ", + "ðĿķ Ĵ", + "ðŁ ijľ", + "ðŁij ¿", + "ðŁĩ ½", + "à· Ħ", + "âĸ ´", + "ãį ī", + "âĬ ĩ", + "ðŁ§ ¸", + "Ú ¡", + "â¾ ĥ", + "ðŁĹ »", + "âĵ ij", + "ðŁ¤ ¸", + "ðŁ¤ ¯", + "êĴ °", + "ðĿIJ ĵ", + "âĶ ´", + "êĴ ±", + "áĢ ĺ", + "â ĽĦ", + "ï¹ ¹", + "Ó Ķ", + "áĥ ±", + "Ü ¡", + "ß ŀ", + "âĻ ı", + "âľ ¸", + "ìij ¨", + "ðĿIJ Ŀ", + "ðĿIJ ¥", + "ðŁį ī", + "ðŁij ¼", + "ðŁ¥ Ŀ", + "Æ Ķ", + "Ý ¬", + "ठ«", + "ຠļ", + "á´ ´", + "á½ ĸ", + "âĤ ¶", + "âİ ¢", + "âĿ ħ", + "⣠«", + "ãİ Ľ", + "ë® ¨", + "ëº Į", + "ë¼ ĺ", + "ìĨ Ŀ", + "ìľ ³", + "ìŀ Į", + "ì£ Ĺ", + "ìª ĺ", + "ì» ¹", + "ï· ¼", + "ïº Ĥ", + "ðĿIJ ´", + "ðĿIJ ¼", + "ðŁĮ ļ", + "ðŁı «", + "ðŁĴ ¤", + "ðŁĴ ¶", + "ðŁĴ ¼", + "Ê ķ", + "Ê ½", + "â² Ł", + "ãī ł", + "ê¡ Ĵ", + "ëľ Ģ", + "ìĥ ¾", + "ì¸ ¤", + "ï¥ ģ", + "ðĿļ Ĭ", + "ðŁļ ĥ", + "âŀ Ľ", + "ìħ ´", + "áĦ ĭ", + "âĩ Ĺ", + "ï§ ·", + "âĺ ĸ", + "ðŁIJ ¦", + "⸠ľ", + "ðŁĴ ´", + "ðŁ¤ ļ", + "ãĬ Ĺ", + "âĮ Ľ", + "áĪ Ľ", + "༠º", + "â½ ī", + "ðŁı ¢", + "âĵ ŀ", + "âĺ ½", + "ãĢ Ļ", + "ðŁ¤ ®", + "Å IJ", + "áĥ ¬", + "ðĿĹ »", + "ðŁį ĸ", + "Æ Ĭ", + "Ê Ł", + "ß ĭ", + "ठĭ", + "áµ Ķ", + "á¿ ĥ", + "âĦ ī", + "âĮ ĭ", + "âı ²", + "âĵ Ī", + "âĵ ¢", + "âķ Ķ", + "âļ ij", + "âĿ ĭ", + "âĿ İ", + "â µľ", + "âµ £", + "ëĴ Ī", + "ëľ ģ", + "ë¶ ĩ", + "ìį »", + "ìĺ Ń", + "ì§ ¢", + "íĹ Ģ", + "ï§ Ĭ", + "ï ¬¸", + "ï± ¡", + "ðĿIJ º", + "ðĿij §", + "ðĿĺ ¦", + "ðŁĵ ¥", + "ðŁĺ Ł", + "ðŁ¥ IJ", + "Ä ĸ", + "É ¨", + "áĢ IJ", + "áĥ ĵ", + "Ạĵ", + "á¼ ¶", + "á½ Ħ", + "âĤ ¤", + "âĮ ľ", + "âĮ Ł", + "âİ ł", + "⼠¸", + "âµ į", + "âµ ı", + "âµ ĵ", + "ãĢ ĺ", + "ë ·¸", + "íħ ¼", + "ï¦ Į", + "ïŃ Ħ", + "ïŃ İ", + "ðĿĻ ļ", + "ðĿļ ĺ", + "༠ĵ", + "ëŃ ħ", + "áIJ Ľ", + "ãİ ¾", + "ï¨ Ģ", + "ðŁĹ ½", + "âĻ ŀ", + "Ë ĸ", + "âĹ ŀ", + "ðŁ¤ «", + "ðŁĺ Ĺ", + "ï½ ¦", + "ðŁ¤ ¢", + "âģ ĩ", + "ãĢ µ", + "ðŁį Ķ", + "áĬ ł", + "ðŁĺ ¼", + "ðĿĹ ®", + "ðŁIJ ³", + "ðĿIJ ĭ", + "ðŁĨ ļ", + "ðŁĶ Ľ", + "Ñ »", + "Ü ¨", + "à® ²", + "âľ ŀ", + "âµ Ļ", + "êµ £", + "ì¸ ¨", + "ðĿ IJľ", + "ðĿĺ °", + "ðŁĶ ½", + "Ç »", + "Ç ¿", + "Ê ĩ", + "Î IJ", + "Ð Ģ", + "Ñ ¡", + "Ñ ²", + "Ò Ĵ", + "Ù ¶", + "ß ķ", + "à¶ ±", + "áIJ ģ", + "âģ ŀ", + "âĸ §", + "⼠Ī", + "âľ ľ", + "âľ ¹", + "⣠¹", + "⤠ĩ", + "ê² Ĭ", + "ê¾ ľ", + "ë¯ IJ", + "ë³ IJ", + "ìħ ©", + "ìIJ ¬", + "ìij ¹", + "ï¤ Ķ", + "ï¦ ļ", + "ï¬ ł", + "ïŃ Ķ", + "ïº ¶", + "ðĿĴ ı", + "ðĿĸ Ĩ", + "ðĿĹ ¶", + "ðŁı Ĥ", + "ðŁIJ ½", + "ðŁĴ ©", + "ðŁĵ ½", + "ðŁĹ ¨", + "ðŁĹ º", + "ðŁĺ ¸", + "ðŁ¥ §", + "Å Ĺ", + "Ê İ", + "Ò Ļ", + "× ²", + "ठĪ", + "á¼ ´", + "á¿ ij", + "âµ ī", + "ãħ ĵ", + "ì½ ´", + "ðĿĸ ĵ", + "ðŁĵ Ĺ", + "ðŁĶ ª", + "ðŁĸ į", + "Ï Ĵ", + "ðŁij ¬", + "áĥ Ļ", + "âĨ ¬", + "âĶ ¤", + "⼠¹", + "âĻ Ł", + "ðŁļ ¶", + "ðŁij ¾", + "âĪ ĭ", + "ðŁIJ ¯", + "༠İ", + "âľ ·", + "ï¨ Ļ", + "âĶ »", + "ðŁij ¹", + "áĦ ī", + "ຠª", + "â¾ ı", + "â½ ħ", + "ãİ ĸ", + "Ñ ´", + "Õ ®", + "Ú ¼", + "áĢ ķ", + "áĨ ¼", + "ëŃ ı", + "ðŁIJ ¸", + "ðŁļ £", + "Æ Ŀ", + "Ô »", + "áĥ ¢", + "ðŁį ¯", + "É ¦", + "Õ ¦", + "âĻ ĭ", + "ï¬ «", + "ðĿĹ ¦", + "Ç ļ", + "É ±", + "ठī", + "á´ Ħ", + "âĻ ĵ", + "⼠°", + "⣠ª", + "ëĥ ĺ", + "ë¢ ¸", + "ìĤ ij", + "ï® Ķ", + "ðĿķ ĸ", + "ðĿĹ §", + "ðŁĩ ¼", + "ðŁĵ ĭ", + "ðŁļ ľ", + "ðŁ¥ ¤", + "Ä ®", + "Å ·", + "ß Ĭ", + "ॠ¥", + "à® ª", + "áŀ Ħ", + "áµ Ģ", + "Ḡħ", + "á¼ ¢", + "âĪ Ŀ", + "âĬ ¹", + "âĴ ¶", + "âķ ´", + "⼠±", + "⼠³", + "⼠º", + "âŀ Ł", + "ãı Ħ", + "ê¸ Ķ", + "ê¹ Ł", + "ëĩ °", + "ë¹ »", + "ìĤ ¥", + "ìĽ »", + "ì° Ł", + "íĥ °", + "íĨ º", + "íļ ½", + "ï¤ ´", + "ï¥ ¾", + "ï³ Ŀ", + "ðĿIJ ¦", + "ðĿĴ ľ", + "ðĿĴ Ł", + "ðĿļ Ĺ", + "ðŁİ Ń", + "ðŁı ĵ", + "ðŁı ³", + "ðŁı º", + "ðŁIJ į", + "ðŁij ĥ", + "ðŁĴ ı", + "ðŁ¤ ĸ", + "ðŁ¤ µ", + "Õ ²", + "âµ Ķ", + "ëĺ ¬", + "ï¦ £", + "Ê Ĥ", + "áĨ «", + "áŀ ij", + "ðĿĸ İ", + "ðĿĹ ĸ", + "áĦ ĥ", + "âĩ ł", + "áĢ ¡", + "འĦ", + "âŀ ¸", + "ï¦ Ļ", + "âĩ ļ", + "ðŁIJ ¬", + "ðŁIJ ¢", + "â¾ Ĵ", + "ðŁIJ ¤", + "ðŁĶ «", + "ãĢ ŀ", + "ï¸ º", + "ðŁĺ º", + "â½ ´", + "ðŁĨ ķ", + "âģ ¿", + "ðŁį ¨", + "ಠķ", + "ðŁļ ĺ", + "áŀ ħ", + "ঠħ", + "áŀ ¢", + "ਠľ", + "â ļĮ", + "ãĢ ½", + "à· ´", + "âĵ Ľ", + "áĢ ľ", + "ìĨ ¨", + "Ë ©", + "Ü Ĺ", + "âĭ ¼", + "ðŁĻ ī", + "Å Ĭ", + "É ĵ", + "Ê ²", + "Î °", + "Ñ ¼", + "Ô ¿", + "à¡ IJ", + "༠ľ", + "འ¦", + "á¶ ľ", + "âĤ ²", + "âĨ ¨", + "âĬ ¥", + "âķ §", + "âĻ ľ", + "ãĭ ¡", + "ë´ ¬", + "ë¶ ij", + "ìī ¿", + "ìİ ħ", + "ìł ±", + "ì° §", + "ï² ¡", + "ðĿĴ Ľ", + "ðĿķ £", + "ðĿĹ ľ", + "ðŁį ²", + "ðŁİ ©", + "ðŁIJ IJ", + "ðŁIJ ł", + "ðŁij ½", + "ðŁĴ ij", + "ðŁĵ ľ", + "ðŁķ µ", + "ðŁ ļĮ", + "ðŁĽ £", + "Ê ĭ", + "Ó ¯", + "Ù ¸", + "ß Ķ", + "ß Ļ", + "à¡ ĵ", + "á´ į", + "Ḡ¿", + "âı º", + "âĸ ¥", + "ë¤ ½", + "íľ ij", + "ðĿIJ ¹", + "ðĿĸ Ķ", + "ðĿļ İ", + "ðŁĵ Ħ", + "ðŁ¦ ·", + "Æ ĥ", + "ঠŁ", + "âĮ Ĥ", + "âĺ Ń", + "â² ļ", + "ëĿ ķ", + "ðŁİ £", + "à® ĩ", + "འĨ", + "áħ µ", + "áĹ ľ", + "âĢ ½", + "âĮ £", + "âģ ½", + "ðŁĵ ¬", + "ðŁ¤ §", + "âĩ ª", + "â½ £", + "âĹ Ł", + "ï¨ Ĺ", + "êĴ ª", + "ðŁĽ Ģ", + "Ç Ĥ", + "ðŁ¥ ¶", + "ðŁİ į", + "ï¿ ©", + "ðŁij Ĵ", + "áµ Ī", + "ï¸ ¿", + "áħ ©", + "â¾ ¦", + "à° ¤", + "á´ ĸ", + "ਠ¬", + "ຠĹ", + "༠»", + "Ñ º", + "ਠª", + "á´ ³", + "ðĿIJ Ī", + "à» Ģ", + "á´ ¿", + "âĤ į", + "âĩ ¡", + "⼠ª", + "ðĿIJ Ĥ", + "ðĿĴ ķ", + "ðŁ IJľ", + "Ê į", + "Ñ ±", + "འĥ", + "ë® IJ", + "ìĽ ¡", + "ìľ ģ", + "ðĿIJ ¿", + "ðĿķ ł", + "ðŁij Ľ", + "Æ ª", + "Ï º", + "Ó ¬", + "Ù ¿", + "Ý £", + "ઠī", + "à® ¹", + "འij", + "áĨ ¯", + "áµ ĩ", + "âĩ ¥", + "âı ª", + "âĻ °", + "âļ Ń", + "âļ ¾", + "ãħ Ħ", + "êĢ °", + "ê° Ĺ", + "ê² ĭ", + "ê² »", + "ê¶ ľ", + "ê¼ ĩ", + "ê½ ¹", + "ëĤ Ł", + "ëħ Ī", + "ëĭ ¢", + "ë§ Ł", + "ëª Ĩ", + "ëµ Ģ", + "ì½ ±", + "íĩ ĺ", + "íľ ľ", + "ï§ ¾", + "ï± µ", + "ï² ¢", + "ï² ¤", + "ðĿĴ Ĭ", + "ðĿĺ ¯", + "ðŁį Ĺ", + "ðŁı į", + "ðŁIJ ĺ", + "ðŁĵ ¡", + "ðŁĶ ŀ", + "ðŁ¤ ³", + "ðŁ¥ ģ", + "ðŁ¥ Ĺ", + "ðŁ¦ Ĭ", + "Ä µ", + "Æ ¦", + "Ç µ", + "É ¯", + "Î ı", + "Õ Ħ", + "Ü ¥", + "འģ", + "ᨠł", + "âķ «", + "ãİ ī", + "ë· ´", + "ìĨ İ", + "ìİ Į", + "ì£ µ", + "íĽ ł", + "ï§ ª", + "ï³ ı", + "ï» º", + "ðĿij ģ", + "ðĿij ĩ", + "ðĿĴ Ĩ", + "ðŁİ ł", + "ðŁIJ Ķ", + "ðŁij Ł", + "Å ĸ", + "ठĮ", + "á¾ ½", + "ê¦ Ĵ", + "à® Ł", + "á´ ±", + "ðŁı °", + "ðŁIJ ŀ", + "འĢ", + "áĢ ħ", + "âĬ ¿", + "ðŁIJ §", + "ἠģ", + "â¼ Ī", + "âĶ ¿", + "ðŁ¥ ´", + "â¼ ¿", + "ðŁ§ ľ", + "ãħ ¿", + "âĦ «", + "ãĢ ³", + "ãĬ Ļ", + "â¼ Ģ", + "ï ¦¬", + "ðŁı ¬", + "ðŁĵ »", + "áĬ Ľ", + "áĦ ħ", + "ຠĬ", + "ຠĽ", + "áħ ³", + "ðŁij ®", + "à® ±", + "âĺ ĩ", + "ðĿIJ ı", + "à´ µ", + "à» ģ", + "འı", + "འ¢", + "ᥠ±", + "âĤ £", + "ï¥ ¦", + "ïŃ Ļ", + "ï´ ©", + "ï¹ Ĥ", + "ðŁį £", + "ðŁķ ¹", + "Ï ĸ", + "à¶ ¸", + "ຠ¢", + "áĭ Ń", + "âİ Ŀ", + "âĹ Ŀ", + "âĻ Ī", + "âĻ İ", + "ê½ ¥", + "ì³ Ķ", + "ì¼ ij", + "ï± °", + "ðĿij ĥ", + "ðŁĮ ª", + "ðŁį ¡", + "Å İ", + "Ê ¦", + "Ñ §", + "Ó İ", + "Ô ´", + "Ú Ī", + "ß ĵ", + "ß §", + "ठĶ", + "áĪ «", + "áĪ µ", + "áĹ ©", + "á´ ł", + "á¼ ł", + "âĢ Ĺ", + "âģ ij", + "âĦ ı", + "âĸ ĩ", + "â² £", + "ãĦ ³", + "ãī ®", + "ê³ Ĺ", + "ëĦ Ĵ", + "ëĸ «", + "ë¡ Ħ", + "ë¹ °", + "ë½ ģ", + "ìĦ ģ", + "ìĮ ĺ", + "ìŁ Į", + "ì³ ī", + "ì¼ ķ", + "ï¬ »", + "ï³ İ", + "ï¹ ¸", + "ï¹ ¾", + "ðĿIJ Ĩ", + "ðĿij ·", + "ðĿĽ ¼", + "ðŁİ ı", + "ðŁİ ŀ", + "ðŁIJ Ļ", + "ðŁij Ĥ", + "ðŁĵ ģ", + "ðŁĸ ±", + "ðŁļ į", + "ðŁļ §", + "ðŁĽ ¡", + "ðŁ¤ Ĵ", + "ðŁ¥ ŀ", + "ðŁ¥ ©", + "ðŁ¦ Ģ", + "ðŁ¦ ĸ", + "Ë ¢", + "Ü ļ", + "à® µ", + "áĢ ģ", + "áī °", + "âı Ń", + "âĻ ¿", + "ê³ ĺ", + "ëı Ŀ", + "ëķ ĥ", + "ìħ Į", + "ìĴ ¸", + "ìĽ Ł", + "íħ Ħ", + "íľ «", + "ï§ ĺ", + "ï¿ ¬", + "ðŁı ·", + "ðŁĶ §", + "ðŁ¥ Ī", + "Æ ĸ", + "áŀ ĩ", + "áŀ ĸ", + "âģ º", + "âĹ ľ", + "âŀ ©", + "ê¦ Ń", + "ëĻ ¤", + "ïŃ ¼", + "ðĿĻ ĸ", + "ðĿĻ £", + "ðĿĻ ¤", + "ðŁĮ Ŀ", + "ðŁĶ ij", + "ðŁĽ ł", + "ຠĩ", + "âĺ £", + "ãĦ ¨", + "ðĿĸ Ĺ", + "Ó ĵ", + "âĨ £", + "ðŁ¥ ī", + "ðŁĮ ł", + "ðŁĺ ½", + "ãİ ł", + "Å §", + "ðŁIJ Ĵ", + "ï§ IJ", + "ðŁĺ ¿", + "âĪ ¬", + "ðŁIJ ®", + "⣠±", + "ಠ¡", + "â¾ ¼", + "à° ²", + "Ë ¶", + "âĸ ¿", + "Õ Ī", + "áŀ İ", + "áħ ¥", + "áŀ Ĺ", + "Õ §", + "ðŁ¤ IJ", + "ðŁį ł", + "ঠ¤", + "à¶ º", + "âĻ į", + "ìĺ Ļ", + "íĺ ĵ", + "ï¹ º", + "ðŁĽ ³", + "Å ī", + "á´ İ", + "âı ľ", + "âĶ ³", + "ê¸ ·", + "ì¡ Ķ", + "ðĿĴ Ī", + "ðĿĴ į", + "ðĿĴ ¹", + "ðĿĵ ĩ", + "ðĿķ Ł", + "ðĿĹ ¹", + "ðŁĮ ħ", + "ðŁı ´", + "Ä Ķ", + "Ä ¤", + "Å µ", + "Ç ¾", + "Ï ŀ", + "Ï ¶", + "Ô ³", + "Ü Ĩ", + "ß ©", + "à¡ Ĵ", + "ठĺ", + "à¶ ļ", + "འĸ", + "áģ Ĭ", + "áĥ ŀ", + "áĦ Ĥ", + "áĭ «", + "á´ º", + "Ḡ£", + "Ḡª", + "á¹ Ĥ", + "á¼ ·", + "á¿ ĩ", + "âĩ Į", + "âı ¬", + "âĻ Į", + "â® Ł", + "â´ »", + "âµ Ł", + "ê¦ ķ", + "ê¦ ª", + "ê¦ ®", + "ê² Ħ", + "ê¾ IJ", + "ëĥ ij", + "ëķ ĭ", + "ë¡ ¸", + "ë¬ Ģ", + "ìĩ ¤", + "ìĪ ©", + "ìľ ķ", + "ìŃ ĺ", + "ì· °", + "ì ·¸", + "íľ Ģ", + "ï¤ £", + "ï§ į", + "ï± Ħ", + "ï³ ij", + "ðĿIJ ¤", + "ðĿĴ ĵ", + "ðĿĴ ¶", + "ðĿĹ ¼", + "ðĿĻ Ĭ", + "ðŁĩ ¾", + "ðŁĮ Ľ", + "ðŁĮ ®", + "ðŁİ ĩ", + "ðŁİ ²", + "ðŁı Ľ", + "ðŁij ¥", + "ðŁij ´", + "ðŁĴ Ĩ", + "ðŁĵ Ĥ", + "ðŁĵ §", + "ðŁķ IJ", + "ðŁĸ ķ", + "ðŁĺ §", + "ðŁĻ Ģ", + "ðŁļ Ĵ", + "ðŁĽ «", + "ðŁ¤ ł", + "ðŁ¥ ļ", + "ðŁ¥ Ľ", + "ðŁ¥ £", + "Ç ¯", + "È §", + "Î Ĭ", + "Ò ²", + "× °", + "Û ij", + "áĥ ©", + "áĦ Į", + "áĪ į", + "áī ¥", + "áı Ĥ", + "âģ ±", + "âĬ ¢", + "âĹ ĵ", + "âĿ °", + "ë¿ ¡", + "ìĽ ©", + "íģ Ń", + "íĨ ³", + "íĬ Ħ", + "íĵ ¸", + "ï¥ £", + "ï¥ ´", + "ï± IJ", + "ï± ¯", + "ï³ ļ", + "ðĿĸ ĺ", + "ðĿĺ Ģ", + "ðŁIJ Ĭ", + "ðŁIJ Į", + "ðŁij ļ", + "ðŁĵ ĥ", + "ðŁļ Ľ", + "ðŁļ ª", + "ðŁ¤ °", + "Ä ´", + "áĥ ®", + "áĹ ¨", + "âĻ ®", + "â² ŀ", + "ãĪ Ķ", + "ì ħį", + "ãħ ĥ", + "ï¥ ¡", + "ຠ¡", + "Õ İ", + "Õ º", + "⬠Ľ", + "â½ ¤", + "ðĿIJ ²", + "âŀ µ", + "áĢ Ľ", + "âĶ ħ", + "âĨ Ł", + "â¼ Ĭ", + "ðŁĮ ½", + "ðŁļ ¿", + "ï¦ Ĭ", + "ãĦ £", + "⼠©", + "ï© Ľ", + "ðŁį ±", + "â¾ ¨", + "à´ ¤", + "áŀ ģ", + "ຠŀ", + "Ê ļ", + "ðĿIJ Ĵ", + "à´ ±", + "áŀ ľ", + "à® ©", + "à° Ĺ", + "à´ ļ", + "âĩ £", + "ï¦ ķ", + "Õ ħ", + "Æ ĺ", + "âĤ ¦", + "âĶ Ħ", + "ï¦ Ł", + "ï¦ «", + "ðĿIJ ģ", + "ðĿIJ ĥ", + "ðŁį ¸", + "ðŁIJ ²", + "Å ¶", + "É ĸ", + "ß ĺ", + "ภ¦", + "འĶ", + "áĨ ·", + "âģ ķ", + "âĵ Ĥ", + "âĿ ľ", + "ï¥ ¥", + "ï¬ ®", + "ðĿĹ Ŀ", + "ðĿĹ ¿", + "ðŁİ ¾", + "ðŁĹ Ŀ", + "ðŁ¦ Į", + "Æ ħ", + "Ç ª", + "Ò Ĺ", + "Ü Ľ", + "ß ł", + "à¡ ij", + "áī £", + "áĬ Ń", + "á¹ ¡", + "âŀ ¼", + "âŀ ¾", + "â´ ±", + "ãī ¡", + "ê³ ¯", + "ë½ Ī", + "ìĤ ĺ", + "ìī ij", + "ì «ĺ", + "íĮ ĥ", + "íĻ °", + "ï¤ Ĺ", + "ðŁĮ ¬", + "ðŁĮ °", + "ðŁį ¤", + "Ä »", + "Å ĩ", + "Æ ¨", + "É ķ", + "Ò ¢", + "Ò º", + "Ö į", + "× ±", + "Ú ±", + "Ú ½", + "Û IJ", + "ठĽ", + "à· Ģ", + "๠ļ", + "ຠ«", + "á´ ¹", + "á ½Ķ", + "á¾ ³", + "âĤ Ĵ", + "âĨ ´", + "âĩ Ŀ", + "âī ħ", + "â Į¨", + "âĵ ĵ", + "âĸ ¢", + "âļ ¬", + "âŀ Ń", + "â² Ĵ", + "ãİ ¿", + "ê¿ ´", + "ëĪ ±", + "ëį ¬", + "ëİ IJ", + "ëIJ «", + "ëĶ «", + "ë± ģ", + "ìĥ ¥", + "íĮ ¼", + "ïŃ ĵ", + "ï® ¥", + "ï² °", + "ðĿIJ ĩ", + "ðĿIJ ij", + "ðĿij Į", + "ðĿĵ ª", + "ðĿķ ļ", + "ðĿĺ ª", + "ðĿĺ ¼", + "ðĿļ Ľ", + "ðŁĩ ¶", + "ðŁĮ Ħ", + "ðŁĮ ķ", + "ðŁĮ ¤", + "ðŁĮ §", + "ðŁį ¬", + "ðŁİ ĭ", + "ðŁİ »", + "ðŁı ¨", + "ðŁIJ ĩ", + "ðŁij ĵ", + "ðŁĵ IJ", + "ðŁĵ Ļ", + "ðŁĶ ¼", + "ðŁķ Ĵ", + "ðŁĸ ı", + "ðŁĸ ¥", + "ðŁ¤ ¬", + "ðŁ¥ Ĭ", + "ðŁ¥ Ĵ", + "ß Į", + "ຠĦ", + "á¼ µ", + "âķ ¡", + "â² ¤", + "â´ ¼", + "âµ ¢", + "ãĪ ¯", + "ëĵ ¸", + "ëŁ ĩ", + "ëº į", + "ðĿĻ §", + "ðŁį Ī", + "ðŁĶ ¬", + "ðŁĸ Ĭ", + "ðŁ¤ ¾", + "Ë ¡", + "Ü ©", + "âĮ ¡", + "âŃ ij", + "â² ¦", + "ë© ī", + "ì¼ Ń", + "ï¿ ¤", + "ðĿĴ İ", + "ðĿĹ ¥", + "ðŁIJ µ", + "ðŁķ ¶", + "ðŁķ ¸", + "ðŁ¤ ľ", + "Õ ª", + "áĪ ĭ", + "ðŁ¥ µ", + "ï° ģ", + "áµ IJ", + "âķ ĵ", + "áĢ ĸ", + "âĭ Ī", + "É ŀ", + "âŀ ®", + "ॠ°", + "ãĨ ģ", + "ðŁĴ ±", + "ðŁı Ń", + "áĨ ¨", + "ðŁį ļ", + "ðŁ¦ IJ", + "á´ »", + "âĺ Į", + "à´ ķ", + "Õ ±", + "áħ ®", + "ðĿIJ Į", + "Å ¦", + "ຠķ", + "âľ Ļ", + "Ë ³", + "Ô µ", + "âķ Ĵ", + "ðĿĹ Ĺ", + "ðĿĹ ł", + "Ú ļ", + "ঠ§", + "âĨ Ŀ", + "âĻ ī", + "ãĮ »", + "ì¹ Ĭ", + "ðĿĹ º", + "ðŁ§ ĺ", + "ì³ £", + "ï¬ Ŀ", + "ðŁij º", + "Ç Ł", + "Î Ī", + "Î «", + "Ñ ¥", + "Ô ²", + "Õ ¨", + "Ü ¦", + "ঠĨ", + "ঠ¥", + "áIJ ¢", + "á¼ ģ", + "á¼ ĺ", + "á¼ ¦", + "âĵ Ŀ", + "ãĪ °", + "ãİ Ĺ", + "ê² ¡", + "ë¨ Ģ", + "ì£ Ķ", + "ì´ ¤", + "ìµ Ŀ", + "ï§ ´", + "ïŃ Ĭ", + "ï² Ł", + "ðĿIJ ·", + "ðĿij ĭ", + "ðĿĵ ī", + "ðĿĺ µ", + "ðŁĴ ·", + "ðŁĽ ©", + "ðŁ§ ¹", + "Å Ķ", + "Ê ŀ", + "Ë ¥", + "Î Į", + "Ñ ©", + "Ó IJ", + "Ó ł", + "Ú ij", + "Ú Ĵ", + "ß ¨", + "ઠĪ", + "áIJ ĥ", + "á¹ ¯", + "âĤ ĭ", + "âĤ µ", + "âĦ ħ", + "âĦ ł", + "âĪ £", + "âī º", + "âī »", + "âĬ Ľ", + "âĮ IJ", + "âİ ĵ", + "âĺ ¸", + "âĻ Ĵ", + "âļ Ĵ", + "âľ ĩ", + "âľ ł", + "â´ ·", + "âµ ĸ", + "ãĦ ¸", + "ãī ¢", + "ãī °", + "êĩ ´", + "ê´ ¸", + "êº ł", + "ëĤ ı", + "ëĤ ¢", + "ëIJ Ģ", + "ëº ´", + "ìĥ ľ", + "ìį ħ", + "ì¤ «", + "ì± ¦", + "ìº ij", + "ì¼ ģ", + "ì¿ ³", + "íĤ ģ", + "íħ ¡", + "íĴ Ĥ", + "íĴ ī", + "íľ Ħ", + "ïŃ ª", + "ï® ¬", + "ï¯ ¦", + "ï± ª", + "ï² ı", + "ï ´Ģ", + "ï» Ĩ", + "ï¿ ¦", + "ðĿij Ĺ", + "ðĿĸ Ļ", + "ðŁĮ ¡", + "ðŁį Ŀ", + "ðŁį §", + "ðŁİ «", + "ðŁı ĺ", + "ðŁı ª", + "ðŁIJ ĭ", + "ðŁIJ Ľ", + "ðŁIJ º", + "ðŁij ĸ", + "ðŁij ŀ", + "ðŁij ·", + "ðŁĵ Ģ", + "ðŁ ĶĦ", + "ðŁĶ Į", + "ðŁķ Ļ", + "ðŁĻ į", + "ðŁĻ İ", + "ðŁ¦ į", + "Ç °", + "É Ł", + "Ê Ĩ", + "Ô ¼", + "Ú ľ", + "ঠ¡", + "ঠ¶", + "áĴ ĥ", + "á¼ ©", + "âĵ ķ", + "â² Ī", + "ê° °", + "ê¹ ł", + "êº ħ", + "ëĦ ¹", + "ë¯ ĵ", + "íIJ Ī", + "ï§ ¶", + "ï® ij", + "ï² ¨", + "ðĿĴ ī", + "ðĿĴ Ķ", + "ðĿĹ ¨", + "ðĿĻ ŀ", + "ðĿļ Ĵ", + "ðĿļ ķ", + "ðŁIJ İ", + "ðŁ¤ ķ", + "ðŁ§ Ķ", + "Ï °", + "Ô Ŀ", + "âĮ Ĭ", + "âĴ ¾", + "ãī £", + "ïŃ ©", + "ðĿļ ŀ", + "Ê ij", + "ঠ¦", + "áĦ ĩ", + "âī ĥ", + "â² Ģ", + "ìŁ İ", + "ðĿij ¶", + "ðĿĵ ²", + "ðŁ İ·", + "ðŁļ ¹", + "ຠģ", + "áł ł", + "ãĦ ļ", + "ðŁIJ ¿", + "ἠļ", + "âķ ³", + "ðŁIJ Ń", + "âĴ ¹", + "ðĿĸ ļ", + "âĻ ĸ", + "ãĪ ²", + "âĨ ¾", + "áĦ Ĩ", + "âķ Ľ", + "ðŁ¤ į", + "â½ ¥", + "ðŁ Į¨", + "âĪ ®", + "ãĮ ĺ", + "ãį ij", + "ï¹ Ģ", + "âĵ Ĺ", + "âĬ Ħ", + "ðŁı ¹", + "Ë Ĵ", + "ðŁ¤ ±", + "ãı ľ", + "ðŁİ Į", + "ï¥ Ń", + "ঠ£", + "ðŁİ ¹", + "ãĬ Ł", + "à´ °", + "ðĿIJ Ķ", + "à´ ¨", + "འļ", + "âľ º", + "Õ ·", + "ðŁij ³", + "ঠľ", + "âĺ ĭ", + "âĻ Ĭ", + "ãĢ Ľ", + "È ĭ", + "à® °", + "áĥ ¨", + "âĦ ķ", + "íij Ģ", + "ðĿĵ ĥ", + "ðŁ¦ Ķ", + "Ä ¿", + "Å Ģ", + "Æ ³", + "É ļ", + "Ö ĥ", + "Ü £", + "ß Ł", + "ঠŃ", + "à§ ¡", + "à¶ »", + "ຠ£", + "འĩ", + "Ḡ¨", + "á½ Ī", + "â½ ¬", + "ê¡ Ķ", + "ì³ Ħ", + "ï¨ ī", + "ðĿIJ ¡", + "ðĿĺ ¢", + "ðŁį ¿", + "ðŁİ Ł", + "ðŁı ī", + "ðŁĶ IJ", + "ðŁļ ħ", + "ðŁ¤ ½", + "Æ į", + "Ç «", + "Ç ½", + "È ļ", + "Î ī", + "Ó ¤", + "Ó ª", + "Õ Ĭ", + "Ù ¼", + "Ú ´", + "ß Ŀ", + "à¶ ľ", + "á¼ ķ", + "á¿ ¥", + "âİ ŀ", + "ãĢ ļ", + "ãī ¤", + "ê³ ¸", + "ê· ģ", + "ëĵ Ħ", + "ëĵ ķ", + "ì¨ Ķ", + "ì± ¨", + "ðĿIJ ¾", + "ðĿij »", + "ðĿĶ ¼", + "ðĿķ Ŀ", + "ðĿĺ Ń", + "ðŁĨ Ļ", + "ðŁĵ ¤", + "ðŁĶ Ł", + "ðŁĹ ¼", + "Ä ľ", + "Æ ģ", + "Æ ¿", + "Ç ³", + "Ç ·", + "É ĥ", + "É ł", + "Ê ī", + "Ê §", + "Ë ²", + "Ï ´", + "Õ ģ", + "Õ ŀ", + "Ö ĩ", + "Û Ĥ", + "Û ĵ", + "ß Ĺ", + "ß ¦", + "ঠ¹", + "à® ³", + "à´ ¸", + "à» Ĥ", + "áĪ Ŀ", + "áĪ ª", + "áĭ µ", + "áIJ Ĭ", + "áĴ ª", + "áļ ĸ", + "áŀ Ľ", + "á´ ¢", + "áµ ı", + "áµ Ń", + "á¶ «", + "Ḡı", + "ẠĴ", + "á¼ ¥", + "á½ ķ", + "á½ ¼", + "âĤ Ĭ", + "âĦ Ĥ", + "âĦ ©", + "âĩ ī", + "âī £", + "âĮ ł", + "âİ Ł", + "âı ®", + "âķ ĺ", + "âĹ ĸ", + "âĺ ©", + "âĻ ij", + "âĻ ²", + "âļ Ľ", + "ãĦ Ł", + "ãī ±", + "ãİ ļ", + "ê¡ ķ", + "êª ĸ", + "ê° ¹", + "ê² Ĩ", + "êµ Ħ", + "ëĩ ¬", + "ëĭ ¯", + "ëı ł", + "ëĴ ¬", + "ëĸ Ī", + "ëĸ ½", + "ëĺ Ķ", + "ëŀ ¸", + "ë¸ ħ", + "ë» ł", + "ë¿ Ł", + "ìĤ µ", + "ìĬ ī", + "ìľ °", + "ìł ĭ", + "ìł Ķ", + "ì¥ ¡", + "ìŃ Ŀ", + "ì¼ ¬", + "íĪ ĩ", + "íī ľ", + "íį Ħ", + "íĽ ¾", + "íĿ £", + "ï¤ ©", + "ï¤ ¯", + "ï¦ ľ", + "ï¦ §", + "ï§ ľ", + "ï¨ Ī", + "ï¬ ª", + "ï ¬´", + "ïŃ ½", + "ï® ī", + "ï¯ ŀ", + "ï° Ĵ", + "ï± ĩ", + "ï¿ Ħ", + "ðĿIJ ħ", + "ðĿij Ħ", + "ðĿij º", + "ðĿĴ Ĺ", + "ðĿĵ ®", + "ðĿķ Ľ", + "ðĿķ ŀ", + "ðĿĸ ij", + "ðĿĺ ģ", + "ðĿĺ Ĩ", + "ðĿĺ ¶", + "ðĿĻ ¢", + "ðĿļ ľ", + "ðŁĮ ĥ", + "ðŁĮ ¦", + "ðŁį Ł", + "ðŁİ İ", + "ðŁı Ļ", + "ðŁIJ ©", + "ðŁIJ «", + "ðŁIJ ´", + "ðŁij Ķ", + "ðŁĵ ī", + "ðŁĵ Ľ", + "ðŁĶ ī", + "ðŁĸ ¼", + "ðŁĹ ĥ", + "ðŁĹ ¯", + "ðŁļ ĩ", + "ðŁļ IJ", + "ðŁļ µ", + "ðŁ¤ ¶", + "ðŁ¥ ĭ", + "ðŁ¥ ĵ", + "ðŁ¥ ®", + "ðŁ¦ İ", + "ðŁ¦ ł", + "ðŁ§ Ĵ", + "ðŁ§ ¨", + "Æ IJ", + "Ç į", + "Ó Ģ", + "Ô Ľ", + "ಠ°", + "à´ Ļ", + "áĢ Ĵ", + "ê² Ŀ", + "ê¹ ¹", + "ë© ¥", + "ìĸ Ķ", + "ï¤ ģ", + "ï¤ ı", + "ï¦ ī", + "ï¦ ĵ", + "ï§ ī", + "ï² Ŀ", + "ðĿĹ ŀ", + "ðĿĹ ±", + "ðŁĮ ĭ", + "ðŁį ¶", + "ঠļ", + "ìķ ľ", + "ðĿIJ ¯", + "ðĿļ Ŀ", + "à° ¨", + "འĺ", + "འł", + "á¡ ¥", + "á¾ °", + "âģ į", + "âĶ °", + "⬠ľ", + "ðĿIJ ł", + "ðĿij ¯", + "ðĿĹ Ľ", + "ðĿĵ »", + "ðĿĸ Ī", + "âŀ »", + "áŀ ł", + "â¡ ±", + "â» ij", + "ðŁ§ µ", + "ï¦ ¢", + "ðŁij ĺ", + "ãĤ Ķ", + "â¼ Ł", + "ãĬ ¤", + "ï¦ Ŀ", + "ãĮ ¦", + "âĢ ¸", + "ðŁĶ Ļ", + "ã ¹", + "ã¹ ¦", + "ï¹ ħ", + "ï© Į", + "ãī ¨", + "ï¸ ½", + "âį ¥", + "ðŁļ ī", + "ðŁ¥ ľ", + "âĵ ľ", + "â» Ŀ", + "ï¨ ľ", + "ðŁĴ Ĵ", + "áĦ ij", + "â¾ ŀ", + "ï¨ ģ", + "à´ ª", + "áĦ İ", + "âŀ ´", + "ঠ·", + "áħ ¬", + "áŀ §", + "âĨ ¢", + "âķ ¦", + "âľ ij", + "Ë ¬", + "Õ IJ", + "༠Ķ", + "Ê ¤", + "Ë ¨", + "ठŀ", + "à» ĥ", + "༠ļ", + "âĵ ¥", + "âķ ľ", + "ðŁIJ ĸ", + "á¼ Ļ", + "á¼ ¤", + "ìĨ °", + "È Ĥ", + "Ê ±", + "à® ļ", + "áĥ §", + "á´ ĭ", + "á´ ®", + "âĿ ¡", + "âŀ ·", + "ëĿ ¡", + "ï§ ¢", + "ï¯ ¡", + "ðĿķ ķ", + "ðŁħ °", + "ðŁ¦ ¸", + "Ç ¸", + "Ó ŀ", + "Ô ¶", + "Ö Ĩ", + "Ú ģ", + "Û ĭ", + "áİ ¥", + "á¾ ¿", + "âĶ Ń", + "âĶ ®", + "êĢ Ģ", + "ê± ĺ", + "ëIJ Ń", + "ë½ Ħ", + "ìĶ IJ", + "ì¸ Į", + "íģ ł", + "íĻ ±", + "ï¥ ī", + "ï¨ ĸ", + "ðĿij ´", + "ðĿĸ Ĵ", + "ðĿĺ ¨", + "ðĿ ļĮ", + "ðŁIJ ¡", + "ðŁij ¢", + "ðŁĵ Ķ", + "Å ħ", + "Æ İ", + "È ©", + "Ò ª", + "Ô ĥ", + "áĥ «", + "Ḡĩ", + "⼠Ł", + "ê» Ń", + "ë¨ Ħ", + "ìŁ Ģ", + "ì¤ ´", + "íļ IJ", + "ï¤ ³", + "ðŁŁ ¢", + "Æ §", + "È ¼", + "Ê Ŀ", + "Ë Ħ", + "Ë ħ", + "Ë į", + "Ë §", + "Ò ¥", + "Õ Ķ", + "Ø ı", + "Ø ¼", + "ß IJ", + "ß ľ", + "ठĵ", + "ঠĻ", + "à® ĵ", + "à¶ ´", + "༠į", + "༠Ĵ", + "འ£", + "áĢ Ĥ", + "áĢ Ĭ", + "áĦ Ħ", + "á Īĺ", + "áĭ Ĭ", + "áĮ į", + "áij ĭ", + "áŀ Ĥ", + "áł ¢", + "á¡ Ŀ", + "á´ ¦", + "áµ į", + "áµ ¨", + "Ḡ¡", + "Ḡ¯", + "á¼ £", + "âģ Ĥ", + "âĦ ĺ", + "âĦ ľ", + "âĦ ³", + "âĦ µ", + "âĨ ¦", + "âĩ Ĩ", + "âĪ ·", + "âĬ ļ", + "âĮ «", + "âĮ ¯", + "âİ Ľ", + "âİ ľ", + "âİ ¤", + "âİ ¦", + "âİ ®", + "âij ī", + "âĶ ī", + "âķ Ļ", + "âĸ Ĥ", + "âĹ Ń", + "âĺ Ĭ", + "âĺ į", + "âĺ Ĵ", + "âļ Ĩ", + "⼠§", + "⼠²", + "âŀ ĺ", + "⥠Ħ", + "â´ ³", + "â´ ½", + "âµ Ī", + "ãī ¯", + "ãİ ij", + "ã§ ¬", + "êĻ ¬", + "ê§ ģ", + "ê³ ¬", + "ê´ ŀ", + "ê» ľ", + "ëħ ĵ", + "ëĭ ¼", + "ëį ĸ", + "ëĸ ±", + "ëĿ °", + "ë¡ ¹", + "ë¢ ´", + "ë£ Ģ", + "ë¤ ł", + "ë¨ ķ", + "ëŃ ¥", + "ìĦ ¶", + "ìħ ¤", + "ìĮ ķ", + "ìį ª", + "ìı ©", + "ìĴ Ģ", + "ìĶ ¯", + "ìĿ Ķ", + "ìĿ ľ", + "ìł Ń", + "ì§ ¦", + "ì¨ ©", + "ì² ¬", + "ì³ ¥", + "ì¼ ¯", + "íĢ «", + "íĢ Ń", + "íĥ ¸", + "íĵ ģ", + "íķ ¬", + "íĹ ¸", + "íĽ ķ", + "íľ Ń", + "íĿ Ĺ", + "ï¤ Į", + "ï¤ ª", + "ï§ ¿", + "ï¬ Ħ", + "ï¬ ħ", + "ïŃ ij", + "ïŃ «", + "ïŃ º", + "ï® Ĥ", + "ï® ¢", + "ï® ¨", + "ï° İ", + "ï° ł", + "ï² £", + "ï³ IJ", + "ï³ Ĵ", + "ï³ ĺ", + "ï³ ľ", + "ï¹ ¼", + "ï¿ ¨", + "ðĿIJ ©", + "ðĿĴ ļ", + "ðĿķ Ķ", + "ðĿķ ¤", + "ðĿĸ Į", + "ðĿĹ £", + "ðĿĹ °", + "ðĿĹ ´", + "ðĿĺ Ĥ", + "ðĿĺ ¥", + "ðĿĺ ®", + "ðĿĺ ¸", + "ðĿĻ Ģ", + "ðĿĽ ¾", + "ðĿľ ı", + "ðŁĮ ģ", + "ðŁĮ ľ", + "ðŁĮ ¥", + "ðŁĮ ¯", + "ðŁį IJ", + "ðŁİ Ĵ", + "ðŁı Ķ", + "ðŁı ķ", + "ðŁı ®", + "ðŁIJ Ĥ", + "ðŁIJ ī", + "ðŁIJ ¹", + "ðŁĶ ķ", + "ðŁĶ ļ", + "ðŁķ ij", + "ðŁķ £", + "ðŁĹ ŀ", + "ðŁĹ ¡", + "ðŁĹ ¿", + "ðŁļ Ĩ", + "ðŁļ Ĭ", + "ðŁļ ĵ", + "ðŁļ ķ", + "ðŁļ ¾", + "ðŁĽ ģ", + "ðŁĽ İ", + "ðŁĽ ı", + "ðŁ¤ ´", + "ðŁ¥ ķ", + "ðŁ¥ ĸ", + "ðŁ¥ ł", + "ðŁ¥ ¥", + "ðŁ¦ Ĩ", + "ðŁ¦ ī", + "ðŁ¦ ļ", + "ðŁ§ ij", + "ðŁ§ ¥", + "ðŁ§ ¿", + "Å °", + "Æ º", + "É §", + "ઠĩ", + "à® £", + "áĪ Ī", + "áĬ ¤", + "áĭ ®", + "áĮ Ī", + "áĮ µ", + "ᥠ²", + "âĵ Ł", + "êĻ ³", + "ê° Ĭ", + "ëķ ģ", + "ëķ ¨", + "ìĬ ģ", + "ï¦ µ", + "ï¬ ²", + "ðĿĸ į", + "ðĿĺ Į", + "ðĿĺ ³", + "ðĿĻ ©", + "ðŁį Ļ", + "ðŁĸ ĸ", + "áī ³", + "áĭ ¨", + "áĸ ĩ", + "áŀ Į", + "á¹ §", + "âķ ª", + "âŀ ļ", + "â² ĺ", + "ê ķ", + "êķ ¥", + "ï¤ ·", + "ï® £", + "ï¯ ł", + "ðĿĴ ĸ", + "ðĿķ ĺ", + "ðĿĸ ĩ", + "ðĿĹ Ł", + "ðĿĹ ª", + "ðĿĹ ¯", + "ðĿĻ ł", + "ðŁĵ ı", + "ঠĹ", + "âĴ »", + "â² ł", + "ðĿĵ µ", + "Ê £", + "à° ľ", + "áĬ ¢", + "áŀ IJ", + "Ḡ·", + "âĦ Ľ", + "âĩ Ģ", + "âĩ Ĭ", + "êĴ ¦", + "ê¦ ł", + "ï® ¤", + "ðŁį Ľ", + "ðŁ¤ Ľ", + "ᨠ¾", + "âŀ º", + "áķ ¯", + "ἠı", + "âĩ Ĥ", + "âĶ ¹", + "âĻ Ĺ", + "ðŁĸ ¨", + "ê¦ ı", + "ઠ°", + "áļ ¨", + "ðŁ¤ ¥", + "ðŁ§ ¢", + "ãIJ Ĥ", + "ãĦ ¥", + "ðŁĸ Į", + "â¼ Ĵ", + "ãĬ §", + "âį ©", + "ðŁ¦ ij", + "âĶ ·", + "ï© IJ", + "ï© ¡", + "ðĵ Ī", + "ðĵĪ Ĵ", + "â» Ħ", + "ï¨ Ĵ", + "âĦ ª", + "Ò §", + "Ú Į", + "âĢ ¶", + "⺠ł", + "â» ģ", + "âĨ ¸", + "áĦ IJ", + "ãħ IJ", + "à» Ħ", + "áĹ ª", + "âĨ ¼", + "âĩ ĭ", + "âĩ ĺ", + "âĮ ij", + "âĸ ©", + "ðĿIJ Ĺ", + "Ä Ĭ", + "ঠī", + "ìī ł", + "É ¤", + "ß į", + "ß ı", + "áµ Ĺ", + "âĤ ¥", + "âĵ ī", + "âĶ ł", + "âĶ ¨", + "âķ Ħ", + "ä ¤", + "ä¤ Ģ", + "ê» ¸", + "ï® ģ", + "ðĵ Ĥ", + "ðĵĤ ĥ", + "ðŁ¦ ķ", + "Æ Ľ", + "ঠĩ", + "ãı ĺ", + "ï® ¼", + "Ú ĵ", + "Ú Ŀ", + "ঠĵ", + "à¶ ¯", + "á´ ħ", + "á½ Ļ", + "âģ ¼", + "âĸ İ", + "â¼ ©", + "ä Ķ", + "äĶ Ģ", + "ë» ¡", + "ìĽ ½", + "íģ Ħ", + "ï¥ ¼", + "ï± ī", + "ï¹ »", + "ðĿĸ ĭ", + "ðĿĻ Ī", + "ðĿĻ ª", + "ðĿ ϶", + "ðŁIJ Ħ", + "ðŁIJ Ĩ", + "áİ ¢", + "ḠĮ", + "âĿ ´", + "ðŁı ¸", + "È Ŀ", + "É ¸", + "Î ħ", + "Ï ľ", + "Ó ¢", + "Õ ¹", + "à´ ħ", + "ຠĪ", + "áĭ °", + "áij İ", + "áł µ", + "á¡ ł", + "á´ ī", + "Ḡµ", + "á¿ ´", + "âĵ £", + "âĶ ¶", + "â½ ¯", + "ê² ¥", + "ê¿ ĺ", + "ëģ İ", + "ëİ Ī", + "ëĶ ¯", + "ë² °", + "ìĺ ¯", + "ìĽ ¸", + "ìŀ Ĺ", + "ì§ ĺ", + "ì¬ ¬", + "ì· ¬", + "íģ ħ", + "íĵ Ķ", + "íĽ Ŀ", + "ï¤ ®", + "ï¤ ¹", + "ï¥ ²", + "ï¯ ĸ", + "ðĿĵ ħ", + "ðĿĻ Ħ", + "ðŁĵ ¶", + "ðŁĹ Ĵ", + "ðŁ¥ Ķ", + "ðŁ¥ Ń", + "Å ®", + "Å ´", + "Æ ī", + "Æ «", + "Ç ģ", + "Ç £", + "Ç º", + "Ç ¼", + "È į", + "È ¯", + "É ľ", + "Ê ¬", + "Ë ģ", + "Ë ¤", + "Ë µ", + "Ï Ľ", + "Ò ¤", + "Ò ¬", + "Ó ı", + "Ó Ľ", + "Ó ¡", + "Ó ³", + "Ô Į", + "Ô ¬", + "Õ ³", + "Ù »", + "Ú ī", + "Ú §", + "Ü ľ", + "ß ª", + "ठĿ", + "ঠĽ", + "ਠĨ", + "ઠķ", + "ઠ¡", + "à® İ", + "à° ¬", + "ൠ»", + "ൠ¼", + "à¶ ł", + "à¶ Ń", + "à¶ ¶", + "à· Ĩ", + "༠½", + "áĢ ļ", + "áħ ¢", + "áĨ ¸", + "áĪ Ģ", + "áĪ ķ", + "áĪ °", + "áī ¡", + "áī ¤", + "áĬ ¦", + "áĬ «", + "áĭ ĭ", + "áĭ į", + "áİ ¯", + "áij Ń", + "áķ Ĺ", + "ᣠĽ", + "ᥠĴ", + "á© ī", + "áŃ º", + "á´ ¡", + "áµ ĺ", + "áµ Ľ", + "á¶ ł", + "Ḡģ", + "Ḡĭ", + "á¹ Ļ", + "á¹ Ŀ", + "á¹ ¦", + "Ạħ", + "á¼ Ĥ", + "á½ ĥ", + "á½ į", + "á½ §", + "á¾ ·", + "âĢ µ", + "âĤ İ", + "âĦ Ŀ", + "âħ Ģ", + "âĨ ŀ", + "âĨ §", + "âĩ ħ", + "âĪ ĥ", + "âī ı", + "âī ½", + "âĬ ŀ", + "âĬ ¡", + "âĬ §", + "â Ĭ¶", + "âĭ Ħ", + "âİ Ĵ", + "âİ ¡", + "âİ £", + "âİ ª", + "âı İ", + "âĵ ĥ", + "âĵ ĸ", + "âĵ ¨", + "âķ ĭ", + "âķ ĸ", + "âķ ¢", + "âķ ²", + "âĸ Ĩ", + "âĸ Ĭ", + "âĸ į", + "âĸ ®", + "âĺ ¡", + "âĺ ¦", + "âĺ ±", + "âĺ ¿", + "âĻ ĺ", + "âĻ Ŀ", + "âļ °", + "⼠ij", + "âŀ ª", + "⤠Ŀ", + "⤠¢", + "⤠·", + "â§ «", + "⨠Ń", + "⨠¯", + "â± £", + "â² İ", + "âµ Ľ", + "ãħ Ķ", + "ãĪ ı", + "ãī ²", + "ãī ³", + "ãĬ ij", + "ãĭ Ľ", + "ãİ IJ", + "ê² ¤", + "ê· ¿", + "ê¹ ŀ", + "ê» ¨", + "ê¼ į", + "ê¿ ¸", + "ëĥ ¬", + "ëĩ IJ", + "ëĭ ł", + "ëį ¯", + "ëĹ Į", + "ëĹ ij", + "ë¥ Ģ", + "ëª ĥ", + "ëª ¯", + "ë± ¡", + "ë³ ĵ", + "ë³ ½", + "ë µľ", + "ìĤ ³", + "ìħ ¥", + "ìĩ ½", + "ìı ¨", + "ìı ¸", + "ìķ į", + "ìĸ ĸ", + "ìŁ ¨", + "ì¢ ĥ", + "ì¢ į", + "ì¥ ij", + "ì§ ¼", + "ì© ĥ", + "ì® ľ", + "ì® ¸", + "ì³ ij", + "ì´ ¥", + "ì¾ ĥ", + "íħ ¦", + "íĪ ¿", + "íĵ ½", + "íķ ³", + "íĸ ı", + "íĹ ł", + "íĿ «", + "ï¤ ĵ", + "ï¤ ĺ", + "ï¥ İ", + "ï¥ ¶", + "ï¦ ħ", + "ï¦ ½", + "ï§ ĩ", + "ï¬ Ĩ", + "ï¬ ³", + "ï® ĩ", + "ï® Ī", + "ï® Ŀ", + "ï® ©", + "ï® ±", + "ï¯ ĺ", + "ï¯ Ļ", + "ï¯ ¢", + "ï¯ £", + "ï¯ ¤", + "ï¯ ¥", + "ï± Ĥ", + "ï² Ĩ", + "ï² ª", + "ï´ ¼", + "ïº ī", + "ïº Ĭ", + "ïº ¥", + "ðĿij ¨", + "ðĿij ©", + "ðĿij ²", + "ðĿ ĴĮ", + "ðĿĴ ª", + "ðĿĴ ®", + "ðĿĵ Ĥ", + "ðĿĵ Ī", + "ðĿĵ ¯", + "ðĿĶ ¨", + "ðĿķ Ģ", + "ðĿķ Ĩ", + "ðĿķ ¦", + "ðĿķ §", + "ðĿķ «", + "ðĿķ ·", + "ðĿĹ µ", + "ðĿĹ ¸", + "ðĿĺ Ħ", + "ðĿĺ Ļ", + "ðĿĺ ł", + "ðĿĺ ¬", + "ðĿĻ į", + "ðĿĻ ij", + "ðĿĻ ¡", + "ðĿ ύ", + "ðĿĻ ·", + "ðĿļ į", + "ðĿĽ ¿", + "ðŁ ĥ", + "ðŁĥ ı", + "ðŁħ ĺ", + "ðŁ ī", + "ðŁī ij", + "ðŁİ ¡", + "ðŁİ ª", + "ðŁİ ±", + "ðŁİ ³", + "ðŁİ º", + "ðŁı İ", + "ðŁı Ĺ", + "ðŁı ļ", + "ðŁı ŀ", + "ðŁı ¦", + "ðŁı §", + "ðŁIJ ģ", + "ðŁIJ ħ", + "ðŁIJ ĵ", + "ðŁĴ Ĥ", + "ðŁĵ ij", + "ðŁĵ ĵ", + "ðŁĵ ¨", + "ðŁĵ «", + "ðŁĶ ĭ", + "ðŁĶ Ń", + "ðŁĶ ¯", + "ðŁķ Ĺ", + "ðŁļ Ĥ", + "ðŁļ ¢", + "ðŁļ ¦", + "ðŁļ ¬", + "ðŁĽ ĭ", + "ðŁĽ Į", + "ðŁĽ ¬", + "ðŁĽ ¶", + "ðŁŁ ¡", + "ðŁ¥ ĺ", + "ðŁ¥ Ł", + "ðŁ¥ ¦", + "ðŁ¦ ĩ", + "ðŁ¦ Ī", + "ðŁ§ Ĭ", + "ðŁ§ Ĺ", + "ðŁ§ ¤", + "Ê ·", + "Ë ¹", + "á¹ ļ", + "á½ ¥", + "âĦ Ł", + "ê² ¯", + "ê» «", + "ë° ·", + "ìĥ Ĩ", + "ìĽ Ŀ", + "ì¨ ī", + "ì« ı", + "ï¯ ķ", + "ðĿľ ĭ", + "É ²", + "Ò Ń", + "Ó Ī", + "འĽ", + "áĭ ĵ", + "áĻ Ń", + "áł ©", + "á¹ ®", + "âĦ Ĵ", + "âĨ »", + "âµ ĥ", + "ëĢ ¨", + "ëł §", + "ìī ¥", + "ìĮ ľ", + "ìĹ ¶", + "ì¨ Ī", + "ìª ¾", + "íı ½", + "íļ Ķ", + "íĽ µ", + "ï¤ ¸", + "ï¦ IJ", + "ï§ Ĺ", + "ï§ ļ", + "ï¬ ¯", + "ðĿIJ Ĭ", + "ðĿķ Ĺ", + "ðĿĹ ļ", + "ðĿļ ĸ", + "ðŁħ ´", + "È ĥ", + "É Ŀ", + "Ï ±", + "Ó Ĺ", + "ठ¢", + "áħ ł", + "áī ¦", + "áij Į", + "áĴ ¼", + "áŀ ¡", + "áł ¨", + "áł Ń", + "ᨠħ", + "ᨠĶ", + "á´ ĺ", + "á¶ ¦", + "Ḡİ", + "á¼ ħ", + "á¼ ¹", + "âĨ ¯", + "âĵ İ", + "ãı Į", + "ê ī", + "êī Ĥ", + "ëĨ §", + "ëĿ ±", + "ì¢ ¡", + "íĪ ½", + "ï¤ ĩ", + "ï¤ Ľ", + "ðĿIJ ķ", + "ðĿĵ ¸", + "ðĿĵ ¼", + "ðĿĹ ķ", + "ðĿĺ Ī", + "ðŁı £", + "ðŁı ¤", + "ðŁĹ Ħ", + "Ñ ·", + "Ò ł", + "áµ ĸ", + "á¼ ¨", + "ë¬ Ħ", + "ï° ´", + "âĪ ½", + "Õ Ń", + "Ú ¹", + "ॠŁ", + "áĢ Ĩ", + "áŀ Ĵ", + "ãĢ ¶", + "ê¦ «", + "ï¸ ĵ", + "ðĿIJ Ľ", + "ðĿĺ Ĺ", + "ðŁı ľ", + "ì« Ń", + "ðŁ§ ŀ", + "འĤ", + "âĨ ¿", + "âĩ ı", + "âĵ ģ", + "âĶ §", + "âķ ģ", + "âķ ¤", + "ê¦ Ĺ", + "ê¦ ¤", + "ðŁı Ī", + "áŀ ķ", + "Ô ½", + "ઠĹ", + "ଠĨ", + "âķ ķ", + "ï½ ł", + "â¼ ¦", + "â¼ ¯", + "â¾ ·", + "âĶ ĸ", + "ଠĵ", + "âĺ Ĺ", + "âį ĭ", + "ï¨ Ŀ", + "â¼ ¥", + "ï¦ ª", + "âĦ Ĭ", + "ãĢ ´", + "âį ¢", + "ð¡ Ī", + "ð¡Ī ½", + "ï© ¨", + "ãĢ »", + "ãı ĥ", + "ï¦ ¡", + "ï¨ ĺ", + "ðŁIJ ĥ", + "ðŁĨ ĸ", + "ðŁĹ ¾", + "ãĦ ĩ", + "Þ ĭ", + "â¼ ¼", + "ï¨ Ń", + "Þ Ģ", + "Þ Ħ", + "Þ Ī", + "Þ IJ", + "âĮ Ħ", + "â» ĺ", + "ãŁ ¢", + "á ħ§", + "ðIJĮ ¿", + "Ë »", + "ಠĹ", + "áĢ ĩ", + "áŀ Ĭ", + "âķ ĩ", + "ãĩ ¼", + "ãİ °", + "Õ Ĵ", + "Ü Ī", + "ß ¥", + "à¿ IJ", + "áĢ Ł", + "âĨ ¥", + "âķ Į", + "â½ Ģ", + "â½ °", + "â¾ Ĭ", + "ä Ħ", + "äĦ Ģ", + "ðĵ IJ", + "ðĵIJ į", + "ðŁİ ¦", + "âĤ ¯", + "âĬ ĺ", + "âĦ į", + "Ê µ", + "Ñ ¶", + "Ú ĥ", + "ঠĶ", + "à´ ¦", + "áİ ¶", + "áĵ ķ", + "á¹ ¨", + "âĤ ł", + "âĩ °", + "âĹ Ĵ", + "â¿ Ĭ", + "ê· ±", + "ì¹ ķ", + "íĪ ©", + "ïŃ Ģ", + "ðĿĴ ¸", + "ðĿĵ Ĭ", + "ðĿĺ ©", + "Ç ¦", + "É «", + "áĬ ¨", + "È ¹", + "Ê ¯", + "Î ª", + "Ú Ģ", + "áĮ ¸", + "áİ »", + "áı ķ", + "áı ´", + "á² Ĥ", + "á½ ¨", + "âı Ŀ", + "âĺ Ļ", + "ëĥ ¨", + "ëĦ ¼", + "ëĪ Ļ", + "ë£ ħ", + "ìĶ ¼", + "ìķ Ŀ", + "ìļ ¬", + "ìľ ±", + "ï¥ Ĥ", + "ï¦ ¹", + "ï¬ ¹", + "ïŃ ģ", + "ï³ Ī", + "ðĿĶ ħ", + "ðĿĺ ¤", + "ðĿĻ ı", + "ðĿĻ Ļ", + "ðŁķ ī", + "ðŁ§ Ļ", + "Ḡij", + "ê´ ¼", + "ëģ į", + "ëĹ ´", + "ëĿ ³", + "ë° ŀ", + "ë° ¢", + "ëµ ĺ", + "ìĤ Ķ", + "ìĦ Ħ", + "ì¼ ļ", + "íĢ ł", + "íĬ ±", + "íĮ ĸ", + "ï¤ ij", + "ï¦ ´", + "ï¦ ¸", + "ï´ į", + "ðĿĺ ·", + "Ä ¬", + "Å ¬", + "Æ Ģ", + "Æ ĭ", + "Æ ľ", + "Ç ij", + "Ç ĺ", + "Ç ŀ", + "Ç ¥", + "Ç ®", + "É °", + "É ¶", + "É ·", + "É ½", + "Ê Ī", + "Ê IJ", + "Ë İ", + "Ë Ł", + "Ë ¦", + "Ë ¯", + "Ï IJ", + "Ï ĵ", + "Ï ¢", + "Ï ¤", + "Ï ª", + "Ï Ń", + "Ï ®", + "Ï »", + "Ñ ł", + "Ñ Ń", + "Ò ¨", + "Ó Ŀ", + "Ô ¡", + "Ô ·", + "Õ ī", + "Õ ĵ", + "Õ ĸ", + "Õ ļ", + "Õ Ŀ", + "Ö İ", + "Ø ¿", + "Ú ħ", + "Ú į", + "Ú Ķ", + "Û Ĭ", + "Û ¾", + "Ü Ļ", + "Ý Ĵ", + "Ý ĺ", + "ß Ĵ", + "ß ĸ", + "ठĬ", + "ठIJ", + "ঠı", + "ঠĸ", + "à§ Ł", + "ઠ®", + "ઠ¹", + "à® ħ", + "à® Ĩ", + "à° ¡", + "à° °", + "ಠļ", + "ಠ®", + "ಠ¯", + "à´ Ł", + "à´ ·", + "ൠ¾", + "à¶ ij", + "à¶ ŀ", + "༠¼", + "འĵ", + "áĢ ĵ", + "áĤ ¦", + "áĥ ĸ", + "áĥ Ń", + "áĥ ¯", + "áħ ¨", + "áħ ª", + "áĨ °", + "áĪ ģ", + "áĪ İ", + "áĪ ĵ", + "áĪ ¥", + "áĪ ²", + "áĪ ´", + "áĪ »", + "áī ł", + "áī ²", + "áī ¶", + "áĬ £", + "áĬ ¥", + "áĬ ª", + "áĭ ĺ", + "áĭ ²", + "áĭ ¶", + "áĮ £", + "áį ¡", + "áį £", + "áİ ¬", + "áİ ¾", + "áIJ ¡", + "áķ ķ", + "áĸ ±", + "áĹ IJ", + "áĹ Ń", + "áĺ ī", + "áļ ±", + "ἠŁ", + "áŀ ¥", + "ᣠĶ", + "áł £", + "áł ª", + "áł °", + "áł ´", + "ᤠĸ", + "ᥠ£", + "á ®", + "á® ł", + "á ¯", + "ᯠĻ", + "á °", + "á° į", + "á´ Ĭ", + "á´ ¾", + "áµ ģ", + "áµ İ", + "áµ ŀ", + "áµ ¤", + "á¶ ħ", + "á¶ ĺ", + "á¶ Ł", + "á¶ ¢", + "á¶ ¤", + "á¶ ±", + "á¶ »", + "Ḡī", + "Ḡŀ", + "Ḡº", + "á¹ ĵ", + "á¹ Ĺ", + "á¹ ª", + "ẠĬ", + "Ạı", + "ẠĽ", + "á¼ ĥ", + "á¼ Į", + "á¼ ¿", + "á½ Ĥ", + "á½ ĵ", + "á½ Ĺ", + "á½ ¦", + "á¾ ±", + "á¾ ´", + "á¿ ĺ", + "á¿ Ł", + "á¿ ¸", + "âģ ĺ", + "âĤ ij", + "âĤ Ľ", + "âĤ ¿", + "âĦ ĩ", + "âĦ ŀ", + "âĦ ±", + "âĩ Ł", + "âĩ ²", + "âĪ ¤", + "âĪ ¶", + "âī Ĥ", + "âī ¾", + "âĬ ¨", + "âĬ ³", + "âĬ ·", + "âĭ Į", + "âĭ ĺ", + "âĮ ķ", + "âĮ ¥", + "âĮ µ", + "âĮ º", + "âį £", + "âį ²", + "âį µ", + "âİ ĩ", + "âı ĥ", + "âı IJ", + "âı ł", + "âı ¤", + "âı ¶", + "âı ¸", + "âı ¹", + "âij Ĥ", + "âĴ ·", + "âĴ º", + "âĵ ¡", + "âĵ ¤", + "âĶ ¾", + "âĸ ĺ", + "âĸ µ", + "âĹ ª", + "âĹ ·", + "âĺ ¨", + "âĺ «", + "âĺ ²", + "âĺ ³", + "âĻ Ĩ", + "âļ ¤", + "âļ ¥", + "⼠ĵ", + "⼠´", + "⼠¾", + "âŀ «", + "âŀ ¿", + "⣠·", + "⤠ij", + "⤠«", + "⤠¶", + "⤠½", + "â§ ª", + "⨠Ģ", + "â ©½", + "⬠¡", + "⬠¢", + "⬠¤", + "â² ĸ", + "â² ª", + "âµ Ģ", + "⸠®", + "⸠½", + "ãĢ ł", + "ãĢ ·", + "ãĦ Į", + "ãĦ ĺ", + "ãħ ij", + "ãĪ İ", + "ãĪ IJ", + "ãĬ ľ", + "ãĮ ĵ", + "ãĮ ł", + "ãİ Ł", + "ãİ ¤", + "ãİ §", + "㬠®", + "ä Ī", + "äĪ Ģ", + "ä °", + "ä° Ģ", + "ê ħ", + "êħ ī", + "êĩ Ĺ", + "ê Ī", + "êĪ į", + "ê§ Ĥ", + "ê§ Ĭ", + "êª Ģ", + "ê² Ī", + "ê² į", + "ê³ Ģ", + "êµ ł", + "ê½ IJ", + "ê¾ Ī", + "ê¿ ±", + "ëĥ ı", + "ëĦ ij", + "ëħ ¤", + "ëĩ ¸", + "ëĪ ¼", + "ëī ħ", + "ëĬ £", + "ëĭ º", + "ëį ŀ", + "ëIJ Į", + "ëķ ¸", + "ëĺ ł", + "ëĻ ĩ", + "ëĻ Ī", + "ëľ ½", + "ëŀ Ķ", + "ëł ľ", + "ë£ IJ", + "ë§ Ģ", + "ë§ Ĭ", + "ëª Ģ", + "ë¬ Ń", + "ë¯ ¾", + "ë³ ľ", + "ë´ Ĭ", + "ëµ ī", + "ë· ľ", + "ë¸ Ģ", + "ë¹ ĭ", + "ìģ Ħ", + "ìĤ £", + "ìĤ »", + "ìĦ µ", + "ìħ Ĵ", + "ìī Ī", + "ìī Ķ", + "ìĬ Į", + "ìĬ Ļ", + "ìIJ ´", + "ìĵ º", + "ìķ ļ", + "ìķ º", + "ìĸ ľ", + "ìĹ ª", + "ìĺ ľ", + "ìĻ ¤", + "ìļ Ľ", + "ìļ º", + "ìĿ ħ", + "ìĿ ı", + "ìĿ Ń", + "ìĿ ¶", + "ìł Ľ", + "ì¡ Ī", + "ì¢ ī", + "ì¢ Ķ", + "ì© ł", + "ìŃ Į", + "ì¯ ©", + "ì´ £", + "ì¸ ķ", + "ì¹ Ł", + "ì¾ ¡", + "ì¿ Ļ", + "íģ ĩ", + "íģ ī", + "íĩ Ģ", + "íĪ ¶", + "íĸ ij", + "íĸ ¤", + "íĹ ħ", + "íľ ı", + "íĿ Ŀ", + "ï¤ Ĵ", + "ï¤ ķ", + "ï¤ ¬", + "ï¥ ħ", + "ï¥ ĩ", + "ï¥ ı", + "ï¥ ļ", + "ï¥ Ł", + "ï¦ Ħ", + "ï¦ Ī", + "ï¦ ¨", + "ï¦ ©", + "ï¦ ²", + "ï§ ģ", + "ï§ ĥ", + "ï§ Ķ", + "ï§ ł", + "ï§ £", + "ï§ ®", + "ï ŃIJ", + "ïŃ ĸ", + "ïŃ ¦", + "ïŃ ´", + "ïŃ µ", + "ïŃ ¶", + "ïŃ ¸", + "ï® Į", + "ï® İ", + "ï® ŀ", + "ï® Ł", + "ï® ¡", + "ï® ª", + "ï¯ Ķ", + "ï¯ Ĺ", + "ï¯ ļ", + "ï¯ Ľ", + "ï¯ Ŀ", + "ï¯ Ł", + "ï¯ §", + "ï¯ ¨", + "ï¯ «", + "ï¯ ¯", + "ï¯ °", + "ï¯ ±", + "ï¯ ²", + "ï¯ ³", + "ï¯ ´", + "ï¯ µ", + "ï¯ ¶", + "ï° Ģ", + "ï± ħ", + "ï± Ķ", + "ï± ´", + "ï² ģ", + "ï³ ķ", + "ï· ½", + "ï¸ ķ", + "ï¸ ±", + "ï¹ £", + "ï¹ ½", + "ï» į", + "ï¾ ±", + "ðĿIJ Ļ", + "ðĿIJ ½", + "ðĿij ¤", + "ðĿij ®", + "ðĿij µ", + "ðĿĴ ĥ", + "ðĿĴ Ħ", + "ðĿĵ Ń", + "ðĿĵ ·", + "ðĿĶ ĸ", + "ðĿĶ ŀ", + "ðĿĶ ¢", + "ðĿĶ ¦", + "ðĿĶ ¬", + "ðĿķ Ħ", + "ðĿķ Ĭ", + "ðĿķ İ", + "ðĿķ Ļ", + "ðĿķ ľ", + "ðĿķ Ń", + "ðĿķ ³", + "ðĿķ ¸", + "ðĿķ ¾", + "ðĿ ĸī", + "ðĿĸ ı", + "ðĿĺ ĩ", + "ðĿĺ ī", + "ðĿĺ ĸ", + "ðĿĺ Ľ", + "ðĿĺ ŀ", + "ðĿĺ «", + "ðĿĺ ¾", + "ðĿĻ ĩ", + "ðĿĻ ī", + "ðĿĻ ĭ", + "ðĿĻ İ", + "ðĿĻ ĺ", + "ðĿĻ ¥", + "ðĿļ ĥ", + "ðĿļ IJ", + "ðĿļ Ķ", + "ðĿľ ĥ", + "ðŁĦ ·", + "ðŁħ Ŀ", + "ðŁħ ¾", + "ðŁĨ Ĥ", + "ðŁĨ ĵ", + "ðŁĮ Ĥ", + "ðŁĮ Ĩ", + "ðŁĮ ī", + "ðŁĮ ij", + "ðŁĮ ĺ", + "ðŁĮ ©", + "ðŁĮ «", + "ðŁį ¢", + "ðŁį ¥", + "ðŁİ Ľ", + "ðŁİ ¢", + "ðŁİ ´", + "ðŁij ¡", + "ðŁĴ ¾", + "ðŁĵ Ń", + "ðŁĶ Ī", + "ðŁĶ ¦", + "ðŁĶ ²", + "ðŁĶ ³", + "ðŁķ ĵ", + "ðŁķ ķ", + "ðŁķ ĺ", + "ðŁķ Ł", + "ðŁķ ·", + "ðŁĹ ³", + "ðŁļ Ħ", + "ðŁļ Ķ", + "ðŁļ ĸ", + "ðŁĽ IJ", + "ðŁĽ ¤", + "ðŁĽ ¸", + "ðŁ ł", + "ðŁł ³", + "ðŁ¤ ¹", + "ðŁ¥ ĥ", + "ðŁ¥ ¨", + "ðŁ¥ ª", + "ðŁ¥ ¾", + "ðŁ¦ ĥ", + "ðŁ¦ Ĵ", + "ðŁ¦ Ļ", + "ðŁ¦ ¶", + "ðŁ§ ł", + "ðŁ§ ª", + "ðŁ§ Ń", + "ðŁ§ ²", + "𣠷", + "𣷠Ń", + "ð¦ ĺ", + "ð¦ĺ Ĵ", + "Æ ij", + "Ç Ļ", + "È ®", + "Ø ł", + "Ú Ħ", + "Ü Ģ", + "ß ¢", + "áī Ģ", + "áĬ IJ", + "áİ ł", + "Ạŀ", + "ëĪ ŀ", + "ëķ Ł", + "ë£ ģ", + "ë¤ Ĺ", + "ìĦ ¥", + "ìħ ij", + "ìĸ IJ", + "ìĽ Ľ", + "ì£ ķ", + "íİ ı", + "íĽ ĵ", + "ï¥ º", + "ï³ Ľ", + "ï´ «", + "ðĸ §", + "ðĸ§ ·", + "ðĿķ ģ", + "ðŁIJ ª", + "ðŁĴ Ī", + "ðŁĵ ł", + "ðŁķ Ľ", + "ðŁķ ´", + "Ñ Ŀ", + "Ó Ĭ", + "ॠ²", + "ઠª", + "áĥ ¤", + "áį IJ", + "á¶ °", + "á¼ Ŀ", + "á½ ©", + "âĭ ĭ", + "âĴ ½", + "âĻ ¾", + "â ½Ķ", + "â¾ ¯", + "ãĦ Ĵ", + "ãħ ļ", + "ëIJ į", + "ë· ģ", + "ìĭ Ģ", + "ìļ Ŀ", + "ì¥ °", + "ìº ´", + "íĭ ī", + "íĿ ½", + "ï¦ Ģ", + "ï¦ ¿", + "ï§ ħ", + "ï§ ĵ", + "ïŃ ¯", + "ï® Ĩ", + "ðIJ¤ ķ", + "ðĿIJ Ł", + "ðĿĴ ħ", + "ðĿĵ ľ", + "ðĿĶ °", + "ðĿĶ »", + "ðĿĺ į", + "ðĿĻ ¯", + "ðŁĦ ½", + "ðŁħ Ĥ", + "ðŁħ Ķ", + "ðŁħ ½", + "ðŁĵ ´", + "ðŁ§ ĸ", + "Ó Ĵ", + "Ḡ²", + "ëī ¼", + "Ç ı", + "È ĵ", + "Ê ¸", + "Õ Ĥ", + "Û ħ", + "ß ¡", + "ß £", + "à® ¯", + "à° Ī", + "ಠ¸", + "ຠ®", + "༠ķ", + "áĢ İ", + "áĨ ¡", + "áIJ ĭ", + "áIJ ķ", + "áij ¯", + "áŀ Ĩ", + "ᨠķ", + "á© Ī", + "âģ ħ", + "âĨ ļ", + "âĶ İ", + "âł ©", + "â² Ĥ", + "â² Ķ", + "â² ¨", + "ãĬ ļ", + "íĵ ²", + "ðĿij Ī", + "ðĿij ¬", + "ðĿij ¹", + "ðĿĴ ¾", + "ðĿĵ ±", + "ðĿĵ ½", + "ðĿķ ¯", + "ðĿķ »", + "ðĿĺ ½", + "ðĿļ Ĩ", + "ðŁĦ °", + "ðŁIJ ¨", + "Ò ķ", + "ಠħ", + "ï¨ Ĩ", + "ðĿij °", + "ðŁĦ ¸", + "Ô İ", + "Ø į", + "Ù µ", + "ಠ¶", + "áĢ Ī", + "áĺ Ĺ", + "áł ¸", + "á¡ ¡", + "ᨠ²", + "á© ģ", + "á´ ·", + "áµ §", + "âķ ¨", + "âļ ģ", + "â¾ Ŀ", + "ãĢ ¼", + "ãĦ ı", + "êĴ «", + "ê¦ ¥", + "ê¦ ©", + "ê¦ ²", + "ìĺ ¼", + "íĵ IJ", + "ðĵ ĩ", + "ðĵĩ ¼", + "ðĿķ ¿", + "ðŁĽ ´", + "ë¨ ľ", + "ಠµ", + "à´ İ", + "༠Ģ", + "âĩ ĸ", + "ãĪ «", + "âĵ Ģ", + "áħ ´", + "áļ ¾", + "ἠŀ", + "ἠ«", + "ᥠ´", + "âĨ Ľ", + "âĨ ¶", + "âĩ ¤", + "âķ Ł", + "âĺ ·", + "âļ IJ", + "ðŁ§ ´", + "á¹ ³", + "âĶ į", + "âĶ Ĵ", + "âĶ ©", + "âĶ ¦", + "â¾ µ", + "ઠľ", + "ઠ¤", + "âĩ Ļ", + "âĶ ±", + "âķ Ģ", + "â½ Ĭ", + "ï½ Ł", + "ଠ¡", + "ðł ®", + "ðł® ·", + "âķ ĥ", + "â° Ķ", + "ãĬ ¦", + "ðŁİ IJ", + "ãĩ °", + "â¼ Ŀ", + "â¾ Ķ", + "â½ Ĵ", + "âł Ĵ", + "ï¨ ¦", + "ï© Ĵ", + "ï¨ ²", + "ï© ĸ", + "ðĵı ¸", + "ãĮ ĥ", + "ðĸ ¤", + "ðĸ¤ IJ", + "ï¦ Ń", + "âĬ ħ", + "â¾ ³", + "ä´ ¥", + "ï© ķ", + "ðŁĮ Ķ", + "áŀ ĭ", + "âļ į", + "â¼ ĭ", + "ãİ ĺ", + "ðIJĮ ²", + "É ©", + "áİ ij", + "âĨ ®", + "âĩ ĥ", + "âļ İ", + "ãĩ ±", + "ãĭ ©", + "ãĮ ¶", + "êĻ ª", + "ëİ ¬", + "ï¨ IJ", + "ï¨ Ľ", + "ï© Ĭ", + "ï© į", + "ðĵ ħ", + "ðĵħ º", + "Ï ¡", + "È ij", + "É Ĥ", + "Ô ĵ", + "ß İ", + "à´ §", + "áĢ ī", + "áĢ ĭ", + "áĢ ij", + "áĢ ł", + "áļ Ļ", + "ᨠĦ", + "ᨠ©", + "ᨠ¹", + "á© ĵ", + "ᬠľ", + "á´ Ļ", + "áµ ij", + "âĤ Ń", + "âĨ °", + "âľ ģ", + "â½ IJ", + "ãĭ ¯", + "ãĮ ½", + "íĨ ¢", + "ï¤ ¿", + "ðŁ Ĥ", + "ðŁĤ »", + "È Ĵ", + "Í º", + "Ô ¥", + "Õ ij", + "Ú ¶", + "à§ İ", + "à¶ ®", + "ຠĸ", + "ຠľ", + "ຠ½", + "áĥ »", + "áħ ¯", + "áĭ ŀ", + "áĸ ķ", + "á ´Ī", + "á¶ Ĩ", + "Ḡľ", + "á¹ ¼", + "á¿ ¨", + "âĦ ĭ", + "âĦ Ń", + "âĪ ±", + "âĮ ĵ", + "âĶ ĩ", + "âĶ ¢", + "â± ®", + "â² Ħ", + "ãĩ ¾", + "ãĪ ¬", + "ë¸ ¡", + "ìIJ ī", + "íĻ Ľ", + "ðĿķ ª", + "Æ ¹", + "Í ²", + "Ó ģ", + "Û ¼", + "ঠ«", + "áħ Ł", + "áī Ĩ", + "áį Ī", + "Ạĸ", + "á½ ī", + "âĶ ¸", + "â½ ©", + "ê ľ", + "êľ ¥", + "êµ ħ", + "ëĤ Ķ", + "ëĦ ł", + "ëĩ Ĺ", + "ëĻ Ŀ", + "ìļ ¯", + "ìļ ·", + "ìŁ Ľ", + "ì· IJ", + "íŁ ¬", + "íŁ ®", + "íŁ °", + "ï¦ Ĩ", + "ï¦ ±", + "ï² ŀ", + "ï³ ¤", + "ï³ ¥", + "ðIJĮ ¸", + "ðĿĶ ı", + "ðĿķ ®", + "ðĿĺ £", + "ঠĪ", + "âı ı", + "ãĦ ĸ", + "ê² ĩ", + "ëĸ ĺ", + "ëľ ·", + "ëŀ Ĵ", + "ë¡ ĵ", + "ë¢ ī", + "ë£ ĥ", + "ë§ ĭ", + "ë² ĭ", + "ìĤ ·", + "ìĪ ķ", + "ì Į¨", + "ìĵ »", + "ìĸ Ĭ", + "ìĻ ¬", + "ìĿ »", + "ì¦ ģ", + "ìµ ¤", + "ì· ĥ", + "íĢ ľ", + "íħ ī", + "íį ł", + "íı ħ", + "íij ±", + "íķ ķ", + "íĸ ł", + "íĿ ķ", + "Æ Ļ", + "Æ ļ", + "Æ ŀ", + "Ç ĥ", + "Ç Ĭ", + "Ç ľ", + "Ç ¤", + "Ç Ń", + "Ç ¹", + "È Ģ", + "È ģ", + "È ħ", + "È ī", + "È Ĺ", + "È Ł", + "È ¤", + "È ¥", + "È ¨", + "È µ", + "È º", + "È »", + "É Į", + "É ®", + "Ê ħ", + "Ê ¥", + "Ê ¨", + "Ë ĵ", + "Ë Ķ", + "Ë ł", + "Ë £", + "Ë ¸", + "Í ´", + "Ï Ĺ", + "Ï ĺ", + "Ï Ļ", + "Ï ļ", + "Ï Ŀ", + "Ï ¨", + "Ï ¬", + "Ï ¾", + "Ï ¿", + "Ñ ª", + "Ò Ģ", + "Ò ľ", + "Ò ¼", + "Ò ½", + "Ó Ĥ", + "Ó ħ", + "Ó ĩ", + "Ó į", + "Ó ĸ", + "Ó Ł", + "Ó «", + "Ó ±", + "Ô Ĩ", + "Ô ĩ", + "Ô º", + "Õ ĭ", + "Ö ī", + "Ø Ī", + "Ø Ĭ", + "Ø ½", + "Ø ¾", + "Ù ·", + "Ú Ĥ", + "Ú Ĭ", + "Ú ĸ", + "Ú Ĺ", + "Ú £", + "Ú «", + "Ú ¸", + "Û Ģ", + "Û į", + "Û ½", + "Ü ī", + "Ü ¤", + "Ý §", + "Ý ´", + "Þ ĥ", + "Þ ¤", + "Þ ¥", + "ß ļ", + "ß Ľ", + "ß ¤", + "àł į", + "àł ĵ", + "àł ³", + "à¡ ¢", + "ॠł", + "à§ ł", + "à§ º", + "ਠĬ", + "ਠIJ", + "ਠ®", + "ਠ¯", + "ਠ°", + "ਠ¸", + "ઠĨ", + "ઠ³", + "ઠµ", + "ઠ½", + "ଠĮ", + "ଠĺ", + "ଠ½", + "à® ĥ", + "à® ¸", + "à° Ĩ", + "à° ķ", + "à° ¦", + "ಠĨ", + "ಠĬ", + "ಠĮ", + "ಠIJ", + "ಠĽ", + "ಠ¤", + "ಠ¦", + "ಠª", + "ಠ²", + "ಠ¹", + "à´ Ĩ", + "à´ ı", + "à´ Ĺ", + "à´ «", + "à´ ¹", + "ൠº", + "ൠ½", + "à¶ ħ", + "à¶ Ĭ", + "à¶ Ķ", + "à¶ §", + "à¶ «", + "à¶ °", + "༠Ħ", + "༠ħ", + "༠Ĭ", + "འĻ", + "འ¡", + "འ§", + "à¿ Ģ", + "à¿ Ļ", + "áĢ Ŀ", + "áĢ §", + "áĢ ©", + "áĢ ¿", + "áģ µ", + "áĤ ģ", + "áĤ ½", + "áĥ Ĥ", + "áĥ ª", + "áĦ Ĭ", + "áĦ ¢", + "áħ ¦", + "áħ Ń", + "áĨ ®", + "áĨ ±", + "áĨ »", + "á ĩ", + "áĩ Ĥ", + "áĪ ħ", + "áĪ ī", + "áĪ Į", + "áĪ IJ", + "áĪ Ĵ", + "áĪ Ļ", + "áĪ ļ", + "áĪ ľ", + "áĪ ŀ", + "áĪ ©", + "áĪ ³", + "áĪ º", + "áĪ ½", + "áī ħ", + "áī ¢", + "áī ±", + "áī ´", + "áĬ ĥ", + "áĬ į", + "áĬ ĸ", + "áĬ ®", + "áĬ ¸", + "áĭ Ľ", + "áĭ Ŀ", + "áĭ ³", + "áĮ ģ", + "áĮ ħ", + "áĮ ¥", + "áĮ ¦", + "á Į¨", + "áį Ĭ", + "áį į", + "áį ķ", + "áį ĸ", + "áį ¢", + "áį ¤", + "áİ Ĵ", + "áİ ª", + "áı ģ", + "áı IJ", + "áı Ł", + "áIJ Ĥ", + "áIJ ĸ", + "áIJ Ŀ", + "áIJ ŀ", + "áIJ Ł", + "áIJ ł", + "áij ĸ", + "áĴ ĭ", + "áĴ į", + "áĴ ¡", + "áĵ «", + "áĶ ķ", + "áķ ĭ", + "áķ ij", + "áķ Ļ", + "áķ ļ", + "áķ Ľ", + "áķ ¤", + "áķ ¦", + "áķ ®", + "áķ ¼", + "áĸ ĵ", + "áĹ Ĺ", + "áĹ ¢", + "áĹ ¯", + "áĹ ·", + "áĺ Ħ", + "áĺ ij", + "ἠĤ", + "ἠĻ", + "áŀ į", + "áł Ĩ", + "áł ¡", + "áł ¦", + "áł ®", + "áł ¯", + "áł ²", + "áł ·", + "á¡ į", + "á¡ ŀ", + "á¡ ¤", + "á ¡´", + "á¡ µ", + "ᤠĵ", + "ᥠĸ", + "ᥠ°", + "ᨠ¦", + "ᨠ§", + "ᨠ¨", + "ᨠª", + "ᨠ¬", + "ᨠ¯", + "ᨠ³", + "ᨠµ", + "á© ĥ", + "ᬠķ", + "áŃ £", + "á ±", + "á± ļ", + "á² ł", + "á´ ĵ", + "á´ ¶", + "áµ Ĥ", + "áµ Į", + "áµ ¥", + "áµ ´", + "á¶ ĩ", + "ḠĪ", + "Ḡł", + "Ḡ§", + "Ḡ´", + "Ḡ¾", + "á¹ Ģ", + "á¹ ĸ", + "á¹ Ł", + "á¹ ł", + "á¹ «", + "á¹ ±", + "á¹ ·", + "á¹ ¿", + "ẠĦ", + "Ạį", + "Ạij", + "ẠĹ", + "á¼ ī", + "á¼ ĵ", + "á¼ Ń", + "á½ ĭ", + "á½ Ĵ", + "á½ ł", + "á½ £", + "á¾ Ħ", + "á¾ ı", + "á¾ ij", + "á¾ Ĺ", + "á¾ ¦", + "á¾ §", + "á¾ ¾", + "á¿ Ħ", + "á¿ ĵ", + "á¿ ¡", + "á¿ ¬", + "âģ ļ", + "âĤ Į", + "âĦ ģ", + "âĦ Ķ", + "âĦ £", + "âĦ §", + "âĦ ¯", + "âĦ °", + "âĦ ´", + "âħ ħ", + "âĨ ľ", + "âĨ «", + "âĨ Ń", + "âĨ ±", + "âĨ ¹", + "âĨ ½", + "âĩ ĩ", + "âĩ ľ", + "âĩ µ", + "âĪ ī", + "âĪ Ĭ", + "âĪ ĸ", + "âĪ ľ", + "âĪ ¾", + "âī Ģ", + "âī ĭ", + "âī Į", + "âī ĵ", + "âī ľ", + "âī ´", + "âī ¿", + "âĬ Ĭ", + "âĬ ĭ", + "âĬ Ķ", + "âĬ ĸ", + "âĬ £", + "âĬ ¦", + "âĭ İ", + "âĭ ª", + "âĭ ²", + "âĮ ¦", + "âĮ §", + "âį º", + "âİ Ī", + "âİ ¨", + "âİ ¬", + "âİ ³", + "âİ ¼", + "âİ ¾", + "âı Į", + "âı ļ", + "âı «", + "âı ¯", + "âı µ", + "âĴ ľ", + "âĴ Ŀ", + "âĴ «", + "âĵ Ħ", + "âĵ Ĭ", + "âĵ Ļ", + "âĵ ©", + "âĶ ij", + "âĶ Ļ", + "âĶ ļ", + "âĶ ¥", + "âķ ħ", + "âķ ī", + "âķ į", + "âķ ı", + "âķ ŀ", + "âĸ ļ", + "âĸ ¯", + "âĹ ĥ", + "âĹ ļ", + "âĹ ¬", + "âĹ ´", + "âĺ Ī", + "âĺ ¤", + "âĺ ¥", + "âĺ §", + "âĺ ¬", + "âĻ ģ", + "âĻ ±", + "âļ ĥ", + "âļ Ħ", + "âļ ħ", + "âļ ı", + "âļ ļ", + "âļ ŀ", + "âļ Ł", + "âļ ±", + "âļ ²", + "âľ Ģ", + "âľ Ł", + "âľ ¢", + "âĿ µ", + "⣠¡", + "⣠¦", + "⣠§", + "⣠³", + "⣠¾", + "⣠¿", + "âł ĩ", + "⤠Ħ", + "⤠º", + "⥠Ĥ", + "⥠¹", + "â§ ī", + "â§ ¼", + "â§ ½", + "⨠į", + "⬠Ĭ", + "⬠Ł", + "âŃ ŀ", + "â® ŀ", + "â® ³", + "⯠Ī", + "⯠ij", + "â± ł", + "â± ±", + "â² Ń", + "â´ ¹", + "âµ ķ", + "⸠¾", + "â º«", + "â¼ Ĩ", + "â¼ ł", + "â½ Ł", + "â½ ¼", + "â¾ Ľ", + "â¾ §", + "â¿ ĥ", + "â¿ »", + "ãĤ ķ", + "ãĤ Ł", + "ãĦ Ľ", + "ãĦ ¡", + "ãĦ ¶", + "ãĦ º", + "ãħ Ĵ", + "ãħ Ł", + "ãĨ Ģ", + "ãĩ »", + "ãĪ ij", + "ãĪ Ń", + "ãĪ ®", + "ãĪ ³", + "ãĪ ¹", + "ãī ¥", + "ãī ¦", + "ãī ¹", + "ãī ¿", + "ãĬ ŀ", + "ãĬ ¨", + "ãĭ ij", + "ãĭ ¥", + "ãĭ ´", + "ãĭ º", + "ãİ Ħ", + "ãİ ķ", + "ãİ ¯", + "ãı Ĥ", + "ãı Ī", + "ãı ĵ", + "ãı ĸ", + "ãı ±", + "ãIJ ±", + "ãŁ ģ", + "ã ¢", + "㢠¨", + "ã ¨", + "㨠³", + "ã« ª", + "ã« ´", + "ã¶ ³", + "㺠¾", + "ä Ģ", + "äĢ Ģ", + "ä ĭ", + "äĭ Į", + "ä ĮĢ", + "äIJ Ģ", + "ä łĢ", + "ä ł", + "äł ¼", + "ä §", + "ä§ ŀ", + "ä¨ °", + "ä¨ º", + "ä ´Ģ", + "ä ·", + "ä· ħ", + "ä ·¸", + "ê Ĥ", + "êĤ «", + "ê Į", + "êĮ ¼", + "ê į", + "êį ²", + "êĴ µ", + "ê ĵ", + "êĵ ½", + "êĻ Ń", + "êĿ Ľ", + "êĿ ¥", + "ê ŀ", + "êŀ Ĭ", + "ê¦ Ĩ", + "ê¦ ĩ", + "ê¦ Ł", + "ê¦ ¨", + "ê§ Ī", + "ê ©", + "ê© Ł", + "êª ĭ", + "êª ij", + "êª ķ", + "êª Ĺ", + "êª ľ", + "êª ®", + "êª ±", + "êª »", + "êª ¼", + "ê« Ģ", + "ê« Ŀ", + "ê° ĥ", + "ê° ĺ", + "ê± ľ", + "ê² ĵ", + "ê² ļ", + "ê³ Ļ", + "ê³ ¾", + "ê´ Ĺ", + "ê´ Ļ", + "êµ Ľ", + "ê¶ ĥ", + "ê¶ ķ", + "ê¶ ¨", + "ê¸ ©", + "ê¸ ¿", + "ê ¹Ħ", + "ê¹ Ĩ", + "ê¹ ī", + "ê¹ ĵ", + "ê¹ ¢", + "ê¹ £", + "ê¹ ¸", + "êº ³", + "ê¿ ı", + "ê¿ ķ", + "ê¿ §", + "ëĢ ©", + "ëģ ħ", + "ëĥ µ", + "ëĦ ĸ", + "ëĦ Ĺ", + "ëĦ ¢", + "ëħ Ĥ", + "ëĨ IJ", + "ëĩ ľ", + "ëĪ ĭ", + "ëĪ ļ", + "ëī į", + "ëī ¨", + "ëĬ ļ", + "ëĬ ¡", + "ëĭ ľ", + "ëĭ ª", + "ëĮ ĺ", + "ëĮ ¤", + "ëĮ ¸", + "ëİ Ł", + "ëı ¨", + "ëIJ Ħ", + "ëIJ ı", + "ëIJ ´", + "ëIJ ¸", + "ëij ģ", + "ëij ¿", + "ëĴ ¨", + "ëĵ ·", + "ëĶ ®", + "ëĶ ²", + "ëķ §", + "ëĸ Ķ", + "ëĸ ª", + "ëĺ Ń", + "ëļ Ģ", + "ëļ ł", + "ëĽ Ķ", + "ëĽ ©", + "ëľ ħ", + "ëŀ ķ", + "ëŀ °", + "ëŁ IJ", + "ëł ¡", + "ë¡ ŀ", + "ë¡ £", + "ë¡ µ", + "ë£ Ħ", + "ë£ į", + "ë¤ ³", + "ë¦ į", + "ë¦ ı", + "ë¦ ³", + "ë§ Ħ", + "ë§ Ĩ", + "ë§ į", + "ë§ ľ", + "ë§ «", + "ë§ »", + "ë¨ ®", + "ë© Ĥ", + "ë© Ń", + "ëª ´", + "ë¬ ľ", + "ë¬ ł", + "ë¬ «", + "ë¬ ¾", + "ëŃ ¬", + "ë® ĺ", + "ë® ¹", + "ë¯ ķ", + "ë¯ ľ", + "ë° ¨", + "ë° ª", + "ë± Ķ", + "ë² ĺ", + "ë² Ľ", + "ë² ±", + "ë² ´", + "ë´ ½", + "ëµ ¤", + "ëµ ¨", + "ë· Ĺ", + "ë· ĺ", + "ë¸ ĵ", + "ë¸ ľ", + "ë¹ ª", + "ëº ĥ", + "ëº ĺ", + "ëº µ", + "ë» ´", + "ë¼ IJ", + "ë¾ Ķ", + "ìģ Ń", + "ìĤ ł", + "ìĤ ®", + "ìĥ ı", + "ìĥ Ļ", + "ìĦ º", + "ìħ ¢", + "ìĨ Ģ", + "ìĨ ħ", + "ìĨ ¤", + "ìĨ ¦", + "ìĨ ¬", + "ìĩ ±", + "ìĪ µ", + "ìĭ ¨", + "ìĭ ´", + "ìĮ °", + "ìį ľ", + "ìİ Ĺ", + "ìİ ĺ", + "ìİ ¼", + "ìij ī", + "ìij Ŀ", + "ìij »", + "ìĴ Ķ", + "ìĴ ¯", + "ìĵ ©", + "ìķ IJ", + "ìķ ĸ", + "ìĸ ł", + "ìĸ ¾", + "ìĹ ĥ", + "ìĹ Ĺ", + "ìĹ ľ", + "ìĹ ¨", + "ìĺ Ĥ", + "ìĺ Ħ", + "ìĺ ı", + "ìĺ ¾", + "ìĺ ¿", + "ìľ §", + "ìĿ IJ", + "ìĿ ĸ", + "ìĿ ·", + "ìŀ į", + "ìŀ ı", + "ìŀ ¨", + "ìŀ ª", + "ìŀ ³", + "ìł ¡", + "ìł ´", + "ìł ¹", + "ì¡ Ģ", + "ì¡ ª", + "ì¡ µ", + "ì¢ IJ", + "ì¢ ¨", + "ì£ Į", + "ì£ Ļ", + "ì£ ³", + "ì¦ ij", + "ì§ ¥", + "ì§ ´", + "ì§ ¾", + "ì¨ ĵ", + "ì¨ ķ", + "ì© °", + "ì© »", + "ì© ¼", + "ìª Ĺ", + "ì¬ Ķ", + "ì¬ ĺ", + "ì® ®", + "ì¯ ķ", + "ì¯ ĺ", + "ì° İ", + "ì° ¯", + "ì± ĥ", + "ì± µ", + "ì² §", + "ì² ®", + "ì² ¯", + "ì³ ¬", + "ì´ ĭ", + "ì´ ¢", + "ìµ ¥", + "ì¶ £", + "ì¸ Ī", + "ì¸ Ļ", + "ìº ¤", + "ìº Ń", + "ì» ½", + "ì¼ Ļ", + "ì½ ¬", + "ì¾ Ģ", + "ì¿ ħ", + "ì¿ ½", + "íĢ ħ", + "íģ ¦", + "íĤ ħ", + "íĥ ¶", + "íĥ ¹", + "íĦ Ķ", + "íħ £", + "íĨ Ħ", + "íĨ §", + "íĨ ¹", + "íĩ ¼", + "íī ¤", + "íĬ ½", + "íĭ Ĥ", + "íĭ ij", + "íį Ī", + "íį Ļ", + "íį ¿", + "íİ ¶", + "íIJ Ŀ", + "íĴ ľ", + "íĵ Ŀ", + "íĵ ª", + "íĵ ±", + "íĵ ·", + "íĵ ¼", + "íĶ Ļ", + "íĶ ł", + "íķ ļ", + "íķ Ľ", + "íķ ŀ", + "íķ Ł", + "íķ §", + "íķ ¶", + "íĸ Ĭ", + "íĸ ĭ", + "íĸ į", + "íĸ Ķ", + "íĸ ĺ", + "íĸ ¡", + "íĸ ¬", + "íĹ £", + "íĹ ¿", + "íĺ ĸ", + "íĺ Ń", + "íļ °", + "íĽ į", + "íĽ ½", + "íĿ Ł", + "íĿ Ń", + "íĿ ´", + "íŀ ľ", + "ï¤ ī", + "ï¤ Ń", + "ï¤ ²", + "ï¤ µ", + "ï¤ ¼", + "ï¥ Ģ", + "ï¥ ij", + "ï¥ Ĵ", + "ï¥ ķ", + "ï¥ ĺ", + "ï¥ Ļ", + "ï¥ «", + "ï¥ ¬", + "ï¥ °", + "ï ¥¿", + "ï¦ ĭ", + "ï¦ ı", + "ï¦ Ķ", + "ï¦ ĸ", + "ï¦ ĺ", + "ï¦ Ľ", + "ï¦ ł", + "ï¦ ®", + "ï¦ ¯", + "ï¦ º", + "ï¦ »", + "ï¦ ¾", + "ï§ Ĩ", + "ï§ ĸ", + "ï§ Ľ", + "ï§ ŀ", + "ï§ Ł", + "ï§ §", + "ï§ ³", + "ï§ º", + "ï§ ½", + "ï¨ ĥ", + "ï¨ ļ", + "ï¨ ¢", + "ï© Ł", + "ï¬ ¤", + "ï¬ ¬", + "ï¬ ¼", + "ïŃ Ĵ", + "ïŃ ķ", + "ïŃ Ľ", + "ïŃ Ŀ", + "ïŃ ŀ", + "ïŃ Ł", + "ïŃ ¤", + "ïŃ §", + "ïŃ ¨", + "ïŃ ®", + "ïŃ °", + "ïŃ ±", + "ïŃ ·", + "ïŃ ¹", + "ïŃ »", + "ï® Ģ", + "ï® ĥ", + "ï® Ħ", + "ï® ħ", + "ï® į", + "ï® Ĵ", + "ï® ĵ", + "ï® ķ", + "ï® ¦", + "ï® ®", + "ï® °", + "ï¯ ĵ", + "ï¯ ľ", + "ï¯ ©", + "ï¯ ª", + "ï¯ ¬", + "ï¯ Ń", + "ï¯ ®", + "ï¯ ·", + "ï¯ ¹", + "ï¯ »", + "ï¯ ¼", + "ï° ĥ", + "ï° Į", + "ï° IJ", + "ï° ĺ", + "ï° Ļ", + "ï° ľ", + "ï° ŀ", + "ï° ¢", + "ï° ®", + "ï° °", + "ï° ¼", + "ï° ¿", + "ï± Ģ", + "ï± ģ", + "ï± Ī", + "ï± ĭ", + "ï± ı", + "ï± Ń", + "ï² Ģ", + "ï² ĩ", + "ï² Ī", + "ï² ĭ", + "ï² İ", + "ï² Ĵ", + "ï² ľ", + "ï² ł", + "ï² ¬", + "ï² »", + "ï³ ĩ", + "ï³ Ķ", + "ï³ £", + "ï³ «", + "ï´ ĺ", + "ï´ °", + "ï´ ½", + "ï ¶", + "ï¶ °", + "ï¸ ĸ", + "ï¸ ´", + "ï¸ ¹", + "ï¹ į", + "ï¹ Ĺ", + "ï¹ ¢", + "ï¹ ¤", + "ï¹ ©", + "ï¹ ±", + "ï¾ °", + "ï¿ Ĥ", + "ï¿ ®", + "ðIJĮ °", + "ðIJĮ ¹", + "ðIJĮ º", + "ðIJĮ ½", + "ðIJį Ĥ", + "ðIJį ĥ", + "ðIJį Ħ", + "ðIJ İ", + "ðIJİ ¹", + "ðIJ¤ Ĥ", + "ðIJ¤ į", + "ðIJ¤ ı", + "ðIJ¤ ĵ", + "ðIJŃ ī", + "ðIJŃ į", + "ðIJ° ĩ", + "ðIJ° °", + "ðij Ĥ", + "ðijĤ Ħ", + "ðij ĺ", + "ðijĺ ģ", + "ðĴ Ģ", + "ðĴĢ ¸", + "ðĴ ģ", + "ðĴģ º", + "ðĴ Ħ", + "ðĴĦ ·", + "ðĴ Ĭ", + "ðĴĬ ij", + "ðĴ ĭ", + "ðĴĭ Ĺ", + "ð ĴĮ", + "ðĴĮ ¨", + "ðĵĥ ¢", + "ðĵĥ °", + "ðĸ ł", + "ðĸł ļ", + "ðĿĦ ĥ", + "ðĿĦ ħ", + "ðĿĦ ķ", + "ðĿĦ Ļ", + "ðĿĦ ±", + "ðĿĦ ´", + "ðĿĦ ¹", + "ðĿħ İ", + "ðĿħ ª", + "ðĿĨ £", + "ðĿĨ ³", + "ðĿĨ ¹", + "ðĿĩ Ĭ", + "ðĿĩ Ĺ", + "ðĿĩ ļ", + "ðĿĩ ľ", + "ðĿĩ ł", + "ðĿIJ ī", + "ðĿIJ ĸ", + "ðĿIJ ĺ", + "ðĿIJ £", + "ðĿIJ ±", + "ðĿij Ĭ", + "ðĿij Ń", + "ðĿij ¼", + "ðĿij ½", + "ðĿĴ °", + "ðĿĴ ·", + "ðĿĴ ¿", + "ðĿĵ ģ", + "ðĿĵ ĭ", + "ðĿĵ İ", + "ðĿĵ Ĵ", + "ðĿ ĵĺ", + "ðĿĵ ¢", + "ðĿĵ ¦", + "ðĿĵ «", + "ðĿĵ ¿", + "ðĿĶ İ", + "ðĿĶ ±", + "ðĿĶ ´", + "ðĿĶ ·", + "ðĿĶ ¸", + "ðĿĶ ½", + "ðĿķ Ĥ", + "ðĿķ ĥ", + "ðĿķ ĭ", + "ðĿķ ı", + "ðĿķ IJ", + "ðĿķ ¥", + "ðĿķ ´", + "ðĿķ º", + "ðĿĸ IJ", + "ðĿĸ Ľ", + "ðĿĸ Ŀ", + "ðĿĸ ŀ", + "ðĿĹ ©", + "ðĿĹ ³", + "ðĿĹ ½", + "ðĿĺ Ĭ", + "ðĿĺ ĭ", + "ðĿĺ Ķ", + "ðĿĺ ±", + "ðĿĺ ´", + "ðĿĺ ¿", + "ðĿĻ Ĵ", + "ðĿĻ Ŀ", + "ðĿĻ Ł", + "ðĿĻ ¬", + "ðĿĻ Ń", + "ðĿĻ »", + "ðĿĻ ¾", + "ðĿļ Ī", + "ðĿļ ĭ", + "ðĿļ ij", + "ðĿļ Ł", + "ðĿļ ł", + "ðĿļ £", + "ðĿĽ ½", + "ðĿľ Ĥ", + "ðĿľ Ķ", + "ðĿľ Ļ", + "ðŁ Ģ", + "ðŁĢ Ħ", + "ðŁĦ ²", + "ðŁĦ ¶", + "ðŁħ IJ", + "ðŁħ ĸ", + "ðŁħ ļ", + "ðŁħ Ľ", + "ðŁħ ¦", + "ðŁħ ¶", + "ðŁħ »", + "ðŁħ ¼", + "ðŁĨ ĥ", + "ðŁĨ Ĩ", + "ðŁĨ İ", + "ðŁĪ ¯", + "ðŁĪ ²", + "ðŁĪ ¹", + "ðŁĮ ĩ", + "ðŁĮ ĵ", + "ðŁį ĺ", + "ðŁİ ij", + "ðŁİ ¿", + "ðŁı ı", + "ðŁı Ĵ", + "ðŁı ©", + "ðŁı ¯", + "ðŁIJ Ģ", + "ðŁij Ŀ", + "ðŁĴ ¹", + "ðŁĴ º", + "ðŁĵ Ł", + "ðŁĵ ª", + "ðŁĵ ¼", + "ðŁĶ Ģ", + "ðŁĶ Ĥ", + "ðŁĶ ĥ", + "ðŁĶ ĩ", + "ðŁĶ ĵ", + "ðŁĶ ¢", + "ðŁĶ ¤", + "ðŁĶ ©", + "ðŁķ ĸ", + "ðŁķ ļ", + "ðŁķ ľ", + "ðŁķ Ŀ", + "ðŁķ ŀ", + "ðŁķ ł", + "ðŁķ ¢", + "ðŁķ ³", + "ðŁĸ ĩ", + "ðŁĸ ij", + "ðŁĸ ¶", + "ðŁĹ ģ", + "Ñ ¨", + "Ú İ", + "á¡ Į", + "Ḡ°", + "ẠĢ", + "á¼ ®", + "á½ Ŀ", + "âĦ ¬", + "âļ §", + "⼠¤", + "ã³ ¬", + "êĻ ĭ", + "ê¸ ij", + "ëĶ ī", + "ëĹ į", + "ë¡ ij", + "ë¯ ij", + "ë» ħ", + "ë¼ Ŀ", + "ìĦ IJ", + "ìī ¡", + "ìĭ ²", + "ìı ±", + "ìĹ ¤", + "ìĿ ©", + "ìĿ ¿", + "ìŁ Ļ", + "ìł °", + "ì¥ ī", + "íĬ Ń", + "íķ ®", + "ï® ı", + "ðŁħ ±", + "ðŁĨ Ĵ", + "ðŁķ ĭ", + "É ĺ", + "Ê ĵ", + "Õ ĥ", + "à´ ´", + "འħ", + "áĨ º", + "áĪ Ĭ", + "áĪ ¨", + "áĪ ¾", + "áī IJ", + "áĮ ĥ", + "áĮ ½", + "áĶ Ń", + "áł Ĥ", + "áł ¬", + "ᨠ¸", + "á© ĭ", + "á¶ ı", + "á¾ Ķ", + "á¿ IJ", + "á¿ ļ", + "âĻ Ļ", + "âļ Ĥ", + "âļ Ĺ", + "â¡ ¢", + "⤠¦", + "ëĸ °", + "ë¤ Ĥ", + "ë§ ł", + "ë± ĭ", + "ë± IJ", + "ìĽ ¢", + "ìľ ¾", + "ì³ ħ", + "ì» ģ", + "íģ »", + "íĥ Ļ", + "íĵ ĸ", + "íĵ Ń", + "íķ ±", + "íĽ ľ", + "ï¤ ħ", + "ï¤ Ĩ", + "ï¦ ĥ", + "ï§ ©", + "ï¨ Ĥ", + "ðIJ¤ Ķ", + "ðIJŃ ĵ", + "ðIJ° ¼", + "ðĿĵ ŀ", + "ðĿĵ °", + "ðĿĻ ľ", + "ðĿļ ģ", + "ðŁħ ¢", + "ðŁı ĩ", + "È ²", + "Ê ¶", + "Ô Ī", + "Ô ij", + "Ý ĵ", + "Ý ¥", + "ठij", + "ॠ±", + "ଠī", + "à° ³", + "à° µ", + "ಠŁ", + "áĢ ı", + "áģ ¼", + "áī ¨", + "áĬ Ĵ", + "áĭ ©", + "áĮ Ħ", + "áĮ Ķ", + "áIJ §", + "á ĴĮ", + "áĶ ħ", + "áĶ Ĭ", + "áł Ħ", + "ᨠģ", + "Ḡĥ", + "Ḡ»", + "âĶ ŀ", + "âĺ µ", + "âļ £", + "â² ¢", + "ãĪ ª", + "ä¶ µ", + "ê² Ļ", + "ê² ´", + "ê³ Ĥ", + "ë¡ ¼", + "ìĨ Ĭ", + "ì¼ ĩ", + "íĭ į", + "íĵ ¬", + "íĵ ®", + "íĵ ¶", + "íĵ »", + "ï¤ ¦", + "ï¥ ł", + "ï¥ ±", + "ïŃ ²", + "ðIJŃ Ĭ", + "ðIJ ±ħ", + "ðĸ ¥", + "ðĸ¥ ¨", + "ðĿij ³", + "ðĿĵ ķ", + "ðĿĵ ¬", + "ðĿĵ ¹", + "ðĿĵ ¾", + "ðĿĶ ĵ", + "ðĿķ į", + "ðĿķ ¡", + "ðĿķ ±", + "ðĿĸ ĸ", + "ðĿĺ ı", + "ðĿĺ IJ", + "ðĿĺ ļ", + "ðĿĻ ®", + "ðĿĻ °", + "ðĿĻ ¸", + "ðĿĻ º", + "ðĿĻ ¼", + "ðĿĻ ½", + "ðĿĻ ¿", + "ðĿļ Ħ", + "ðĿļ ı", + "ðŁħ ħ", + "ðŁħ ĵ", + "Æ Ī", + "àł Į", + "áĻ ³", + "á ļĮ", + "ἠħ", + "ἠIJ", + "ᤠĬ", + "ḠĬ", + "âĶ ½", + "âķ Ĭ", + "⼠ĩ", + "⼠ı", + "âĿ ª", + "âĿ «", + "⣠°", + "ãĦ į", + "ãĦ ĵ", + "ãĦ §", + "ãħ ĸ", + "ãī «", + "ê¦ Ķ", + "ï± Ĭ", + "ຠĤ", + "áħ £", + "ᥠĶ", + "ᥠ¤", + "âĨ ¤", + "âĨ ·", + "âĩ ŀ", + "âĸ ¤", + "âŀ ¶", + "ãĪ ¼", + "ï¨ ·", + "ðĵı §", + "âĶ ²", + "âĢ ´", + "âĴ Ł", + "âĴ ¡", + "â° Ĥ", + "â° į", + "â° İ", + "â° IJ", + "â° ij", + "â° Ł", + "â° ł", + "â° ¡", + "â¼ Ń", + "ãĬ ¥", + "âĴ ł", + "â½ º", + "ãĩ º", + "ãĩ ½", + "ï¨ Ĭ", + "áķ ·", + "âį ¨", + "⺠Ł", + "â½ Ĺ" + ] + } +} \ No newline at end of file diff --git a/configs/qwen3_06b/tokenizer_config.json b/configs/qwen3_06b/tokenizer_config.json new file mode 100644 index 000000000..6a3829ee9 --- /dev/null +++ b/configs/qwen3_06b/tokenizer_config.json @@ -0,0 +1,239 @@ +{ + "add_bos_token": false, + "add_prefix_space": false, + "added_tokens_decoder": { + "151643": { + "content": "<|endoftext|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151644": { + "content": "<|im_start|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151645": { + "content": "<|im_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151646": { + "content": "<|object_ref_start|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151647": { + "content": "<|object_ref_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151648": { + "content": "<|box_start|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151649": { + "content": "<|box_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151650": { + "content": "<|quad_start|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151651": { + "content": "<|quad_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151652": { + "content": "<|vision_start|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151653": { + "content": "<|vision_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151654": { + "content": "<|vision_pad|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151655": { + "content": "<|image_pad|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151656": { + "content": "<|video_pad|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151657": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151658": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151659": { + "content": "<|fim_prefix|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151660": { + "content": "<|fim_middle|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151661": { + "content": "<|fim_suffix|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151662": { + "content": "<|fim_pad|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151663": { + "content": "<|repo_name|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151664": { + "content": "<|file_sep|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151665": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151666": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151667": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151668": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + } + }, + "additional_special_tokens": [ + "<|im_start|>", + "<|im_end|>", + "<|object_ref_start|>", + "<|object_ref_end|>", + "<|box_start|>", + "<|box_end|>", + "<|quad_start|>", + "<|quad_end|>", + "<|vision_start|>", + "<|vision_end|>", + "<|vision_pad|>", + "<|image_pad|>", + "<|video_pad|>" + ], + "bos_token": null, + "chat_template": "{%- if tools %}\n {{- '<|im_start|>system\\n' }}\n {%- if messages[0].role == 'system' %}\n {{- messages[0].content + '\\n\\n' }}\n {%- endif %}\n {{- \"# Tools\\n\\nYou may call one or more functions to assist with the user query.\\n\\nYou are provided with function signatures within XML tags:\\n\" }}\n {%- for tool in tools %}\n {{- \"\\n\" }}\n {{- tool | tojson }}\n {%- endfor %}\n {{- \"\\n\\n\\nFor each function call, return a json object with function name and arguments within XML tags:\\n\\n{\\\"name\\\": , \\\"arguments\\\": }\\n<|im_end|>\\n\" }}\n{%- else %}\n {%- if messages[0].role == 'system' %}\n {{- '<|im_start|>system\\n' + messages[0].content + '<|im_end|>\\n' }}\n {%- endif %}\n{%- endif %}\n{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}\n{%- for message in messages[::-1] %}\n {%- set index = (messages|length - 1) - loop.index0 %}\n {%- if ns.multi_step_tool and message.role == \"user\" and not(message.content.startswith('') and message.content.endswith('')) %}\n {%- set ns.multi_step_tool = false %}\n {%- set ns.last_query_index = index %}\n {%- endif %}\n{%- endfor %}\n{%- for message in messages %}\n {%- if (message.role == \"user\") or (message.role == \"system\" and not loop.first) %}\n {{- '<|im_start|>' + message.role + '\\n' + message.content + '<|im_end|>' + '\\n' }}\n {%- elif message.role == \"assistant\" %}\n {%- set content = message.content %}\n {%- set reasoning_content = '' %}\n {%- if message.reasoning_content is defined and message.reasoning_content is not none %}\n {%- set reasoning_content = message.reasoning_content %}\n {%- else %}\n {%- if '' in message.content %}\n {%- set content = message.content.split('')[-1].lstrip('\\n') %}\n {%- set reasoning_content = message.content.split('')[0].rstrip('\\n').split('')[-1].lstrip('\\n') %}\n {%- endif %}\n {%- endif %}\n {%- if loop.index0 > ns.last_query_index %}\n {%- if loop.last or (not loop.last and reasoning_content) %}\n {{- '<|im_start|>' + message.role + '\\n\\n' + reasoning_content.strip('\\n') + '\\n\\n\\n' + content.lstrip('\\n') }}\n {%- else %}\n {{- '<|im_start|>' + message.role + '\\n' + content }}\n {%- endif %}\n {%- else %}\n {{- '<|im_start|>' + message.role + '\\n' + content }}\n {%- endif %}\n {%- if message.tool_calls %}\n {%- for tool_call in message.tool_calls %}\n {%- if (loop.first and content) or (not loop.first) %}\n {{- '\\n' }}\n {%- endif %}\n {%- if tool_call.function %}\n {%- set tool_call = tool_call.function %}\n {%- endif %}\n {{- '\\n{\"name\": \"' }}\n {{- tool_call.name }}\n {{- '\", \"arguments\": ' }}\n {%- if tool_call.arguments is string %}\n {{- tool_call.arguments }}\n {%- else %}\n {{- tool_call.arguments | tojson }}\n {%- endif %}\n {{- '}\\n' }}\n {%- endfor %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n {%- elif message.role == \"tool\" %}\n {%- if loop.first or (messages[loop.index0 - 1].role != \"tool\") %}\n {{- '<|im_start|>user' }}\n {%- endif %}\n {{- '\\n\\n' }}\n {{- message.content }}\n {{- '\\n' }}\n {%- if loop.last or (messages[loop.index0 + 1].role != \"tool\") %}\n {{- '<|im_end|>\\n' }}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n {{- '<|im_start|>assistant\\n' }}\n {%- if enable_thinking is defined and enable_thinking is false %}\n {{- '\\n\\n\\n\\n' }}\n {%- endif %}\n{%- endif %}", + "clean_up_tokenization_spaces": false, + "eos_token": "<|endoftext|>", + "errors": "replace", + "model_max_length": 131072, + "pad_token": "<|endoftext|>", + "split_special_tokens": false, + "tokenizer_class": "Qwen2Tokenizer", + "unk_token": null +} \ No newline at end of file diff --git a/configs/qwen3_06b/vocab.json b/configs/qwen3_06b/vocab.json new file mode 100644 index 000000000..4783fe10a --- /dev/null +++ b/configs/qwen3_06b/vocab.json @@ -0,0 +1 @@ +{"!":0,"\"":1,"#":2,"$":3,"%":4,"&":5,"'":6,"(":7,")":8,"*":9,"+":10,",":11,"-":12,".":13,"/":14,"0":15,"1":16,"2":17,"3":18,"4":19,"5":20,"6":21,"7":22,"8":23,"9":24,":":25,";":26,"<":27,"=":28,">":29,"?":30,"@":31,"A":32,"B":33,"C":34,"D":35,"E":36,"F":37,"G":38,"H":39,"I":40,"J":41,"K":42,"L":43,"M":44,"N":45,"O":46,"P":47,"Q":48,"R":49,"S":50,"T":51,"U":52,"V":53,"W":54,"X":55,"Y":56,"Z":57,"[":58,"\\":59,"]":60,"^":61,"_":62,"`":63,"a":64,"b":65,"c":66,"d":67,"e":68,"f":69,"g":70,"h":71,"i":72,"j":73,"k":74,"l":75,"m":76,"n":77,"o":78,"p":79,"q":80,"r":81,"s":82,"t":83,"u":84,"v":85,"w":86,"x":87,"y":88,"z":89,"{":90,"|":91,"}":92,"~":93,"¡":94,"¢":95,"£":96,"¤":97,"¥":98,"¦":99,"§":100,"¨":101,"©":102,"ª":103,"«":104,"¬":105,"®":106,"¯":107,"°":108,"±":109,"²":110,"³":111,"´":112,"µ":113,"¶":114,"·":115,"¸":116,"¹":117,"º":118,"»":119,"¼":120,"½":121,"¾":122,"¿":123,"À":124,"Á":125,"Â":126,"Ã":127,"Ä":128,"Å":129,"Æ":130,"Ç":131,"È":132,"É":133,"Ê":134,"Ë":135,"Ì":136,"Í":137,"Î":138,"Ï":139,"Ð":140,"Ñ":141,"Ò":142,"Ó":143,"Ô":144,"Õ":145,"Ö":146,"×":147,"Ø":148,"Ù":149,"Ú":150,"Û":151,"Ü":152,"Ý":153,"Þ":154,"ß":155,"à":156,"á":157,"â":158,"ã":159,"ä":160,"å":161,"æ":162,"ç":163,"è":164,"é":165,"ê":166,"ë":167,"ì":168,"í":169,"î":170,"ï":171,"ð":172,"ñ":173,"ò":174,"ó":175,"ô":176,"õ":177,"ö":178,"÷":179,"ø":180,"ù":181,"ú":182,"û":183,"ü":184,"ý":185,"þ":186,"ÿ":187,"Ā":188,"ā":189,"Ă":190,"ă":191,"Ą":192,"ą":193,"Ć":194,"ć":195,"Ĉ":196,"ĉ":197,"Ċ":198,"ċ":199,"Č":200,"č":201,"Ď":202,"ď":203,"Đ":204,"đ":205,"Ē":206,"ē":207,"Ĕ":208,"ĕ":209,"Ė":210,"ė":211,"Ę":212,"ę":213,"Ě":214,"ě":215,"Ĝ":216,"ĝ":217,"Ğ":218,"ğ":219,"Ġ":220,"ġ":221,"Ģ":222,"ģ":223,"Ĥ":224,"ĥ":225,"Ħ":226,"ħ":227,"Ĩ":228,"ĩ":229,"Ī":230,"ī":231,"Ĭ":232,"ĭ":233,"Į":234,"į":235,"İ":236,"ı":237,"IJ":238,"ij":239,"Ĵ":240,"ĵ":241,"Ķ":242,"ķ":243,"ĸ":244,"Ĺ":245,"ĺ":246,"Ļ":247,"ļ":248,"Ľ":249,"ľ":250,"Ŀ":251,"ŀ":252,"Ł":253,"ł":254,"Ń":255,"ĠĠ":256,"ĠĠĠĠ":257,"in":258,"Ġt":259,"ĠĠĠĠĠĠĠĠ":260,"er":261,"ĠĠĠ":262,"on":263,"Ġa":264,"re":265,"at":266,"st":267,"en":268,"or":269,"Ġth":270,"ĊĊ":271,"Ġc":272,"le":273,"Ġs":274,"it":275,"an":276,"ar":277,"al":278,"Ġthe":279,";Ċ":280,"Ġp":281,"Ġf":282,"ou":283,"Ġ=":284,"is":285,"ĠĠĠĠĠĠĠ":286,"ing":287,"es":288,"Ġw":289,"ion":290,"ed":291,"ic":292,"Ġb":293,"Ġd":294,"et":295,"Ġm":296,"Ġo":297,"ĉĉ":298,"ro":299,"as":300,"el":301,"ct":302,"nd":303,"Ġin":304,"Ġh":305,"ent":306,"id":307,"Ġn":308,"am":309,"ĠĠĠĠĠĠĠĠĠĠĠ":310,"Ġto":311,"Ġre":312,"--":313,"Ġ{":314,"Ġof":315,"om":316,");Ċ":317,"im":318,"čĊ":319,"Ġ(":320,"il":321,"//":322,"Ġand":323,"ur":324,"se":325,"Ġl":326,"ex":327,"ĠS":328,"ad":329,"Ġ\"":330,"ch":331,"ut":332,"if":333,"**":334,"Ġ}":335,"em":336,"ol":337,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":338,"th":339,")Ċ":340,"Ġ{Ċ":341,"Ġg":342,"ig":343,"iv":344,",Ċ":345,"ce":346,"od":347,"Ġv":348,"ate":349,"ĠT":350,"ag":351,"ay":352,"Ġ*":353,"ot":354,"us":355,"ĠC":356,"Ġst":357,"ĠI":358,"un":359,"ul":360,"ue":361,"ĠA":362,"ow":363,"Ġ'":364,"ew":365,"Ġ<":366,"ation":367,"()":368,"Ġfor":369,"ab":370,"ort":371,"um":372,"ame":373,"Ġis":374,"pe":375,"tr":376,"ck":377,"âĢ":378,"Ġy":379,"ist":380,"----":381,".ĊĊ":382,"he":383,"Ġe":384,"lo":385,"ĠM":386,"Ġbe":387,"ers":388,"Ġon":389,"Ġcon":390,"ap":391,"ub":392,"ĠP":393,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":394,"ass":395,"int":396,">Ċ":397,"ly":398,"urn":399,"Ġ$":400,";ĊĊ":401,"av":402,"port":403,"ir":404,"->":405,"nt":406,"ction":407,"end":408,"Ġde":409,"ith":410,"out":411,"turn":412,"our":413,"ĠĠĠĠĠ":414,"lic":415,"res":416,"pt":417,"==":418,"Ġthis":419,"Ġwh":420,"Ġif":421,"ĠD":422,"ver":423,"age":424,"ĠB":425,"ht":426,"ext":427,"=\"":428,"Ġthat":429,"****":430,"ĠR":431,"Ġit":432,"ess":433,"ĠF":434,"Ġr":435,"os":436,"and":437,"Ġas":438,"ect":439,"ke":440,"rom":441,"Ġ//":442,"con":443,"ĠL":444,"(\"":445,"qu":446,"lass":447,"Ġwith":448,"iz":449,"de":450,"ĠN":451,"Ġal":452,"op":453,"up":454,"get":455,"Ġ}Ċ":456,"ile":457,"Ġan":458,"ata":459,"ore":460,"ri":461,"Ġpro":462,";čĊ":463,"ĉĉĉĉ":464,"ter":465,"ain":466,"ĠW":467,"ĠE":468,"Ġcom":469,"Ġreturn":470,"art":471,"ĠH":472,"ack":473,"import":474,"ublic":475,"Ġor":476,"est":477,"ment":478,"ĠG":479,"able":480,"Ġ-":481,"ine":482,"ill":483,"ind":484,"ere":485,"::":486,"ity":487,"Ġ+":488,"Ġtr":489,"elf":490,"ight":491,"('":492,"orm":493,"ult":494,"str":495,"..":496,"\",":497,"Ġyou":498,"ype":499,"pl":500,"Ġnew":501,"Ġj":502,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":503,"Ġfrom":504,"Ġex":505,"ĠO":506,"ld":507,"Ġ[":508,"oc":509,":Ċ":510,"Ġse":511,"Ġle":512,"--------":513,".s":514,"{Ċ":515,"',":516,"ant":517,"Ġat":518,"ase":519,".c":520,"Ġch":521,"":589,"ust":590,"que":591,"Ġres":592,"))":593,"'s":594,"Ġk":595,"ans":596,"yst":597,"unction":598,"********":599,"Ġi":600,"Ġus":601,"pp":602,"one":603,"ail":604,"====":605,"name":606,"Ġstr":607,"Ġ/":608,"Ġ&":609,"ach":610,"div":611,"ystem":612,"ell":613,"Ġhave":614,"err":615,"ould":616,"ull":617,"pon":618,"ĠJ":619,"_p":620,"Ġ==":621,"ign":622,"St":623,".Ċ":624,"Ġpl":625,");ĊĊ":626,"form":627,"put":628,"ount":629,"}ĊĊ":630,"dd":631,"ite":632,"Ġget":633,"rr":634,"ome":635,"ĠâĢ":636,"aram":637,"cc":638,"Ġ*/":639,"ER":640,"In":641,"les":642,"_s":643,"ong":644,"ie":645,"Ġcan":646,"ĠV":647,"erv":648,"pr":649,"Ġun":650,"row":651,"ber":652,"Ġdo":653,"ll":654,"Ġel":655,"Ġself":656,"ated":657,"ary":658,"Ġ.":659,"']":660,"ud":661,"Ġen":662,"ĠTh":663,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":664,"te":665,"_c":666,"uct":667,"Ġab":668,"ork":669,".get":670,"Ġ#":671,"aw":672,"ress":673,"ob":674,"Name":675,"app":676,"['":677,"Ġall":678,"ory":679,"ition":680,"ance":681,"ear":682,"Ġcont":683,"vent":684,"ia":685,"Ġwill":686,"IN":687,"ĠĠĠĠĠĠĠĠĠ":688,"return":689,"Ġ":755,"\",Ċ":756,"ec":757,"ĠIn":758,"ph":759,"Ġ|":760,"_f":761,"Ġvar":762,"ence":763,"Id":764,"ree":765,"ink":766,"lect":767,"ug":768,"eth":769,"Ġelse":770,"----------------":771,"cont":772,"Ġso":773,"atic":774,"Ġlo":775,"pro":776,"ton":777,"ss":778,"own":779,"abel":780,"oint":781,"ous":782,"eld":783,"ST":784,"The":785,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":786,"RE":787,"\":":788,"olor":789,"tp":790,"eg":791,"key":792,"ude":793,"ĠSt":794,"ound":795,"Ġar":796,"\");Ċ":797,"ener":798,"ser":799,"bject":800,"essage":801,"fer":802,"Ġmore":803,"ations":804,"ents":805,"Ġhis":806,"Ġthey":807,".S":808,"ĠY":809,"use":810,"ne":811,"ish":812,"old":813,"_d":814,"io":815,"ield":816,"Ġper":817,"Cont":818,"ings":819,"####":820,"Ġdata":821,"Ġsa":822,"ef":823,"fo":824,"Ġone":825,"eng":826,"Ġdis":827,"AT":828,"Ġname":829,"Ġtrue":830,"val":831,"led":832,".f":833,"Ġne":834,"Ġend":835,".T":836,"cre":837,"ark":838,"log":839,"Ex":840,"error":841,"_id":842,"urre":843,"ange":844,"Ġnull":845,"rray":846,"Ġmy":847,"pan":848,"ict":849,"ator":850,"View":851,"List":852,"ĉreturn":853,"âĢĿ":854,"Ġpre":855,"Ġx":856,"clude":857,"arg":858,"ov":859,".h":860,"Ġ>":861,"Ġtheir":862,"')":863,"irst":864,"ick":865,"gh":866,"LE":867,"OR":868,"Ġprivate":869,"tem":870,"čĊčĊ":871,"user":872,"Ġ)":873,"com":874,".A":875,"\";Ċ":876,"Ġid":877,"read":878,"Ġwho":879,"_b":880,"\">Ċ":881,"Ġtime":882,"Ġman":883,"ry":884,"========":885,"roup":886,"rop":887,"public":888,"vel":889,"umber":890,"ble":891,"Ġwhich":892,"****************":893,"Ġany":894,"Ġfalse":895,"we":896,"Ġvalue":897,"Ġli":898,"\")":899,"nder":900,"gr":901,"Ġno":902,"param":903,"fig":904,".com":905,"Ġapp":906,"_l":907,"ions":908,".D":909,"ĠCh":910,"Ġabout":911,"Ġadd":912,"Ġsu":913,"Ġstring":914,"ID":915,"Ġover":916,"string":917,".l":918,"ource":919,"_C":920,"]Ċ":921,"Ġqu":922,"ĠString":923,"ca":924,"SE":925,"Ġro":926,"sh":927,"ual":928,"Type":929,"son":930,"new":931,"ern":932,"Ġag":933,"AR":934,"];Ċ":935,"].":936,"Ġ?":937,"ical":938,"Ġdes":939,"uth":940,"ix":941,"ays":942,"Ġtype":943,"'t":944,"ault":945,"Ġinter":946,"var":947,".b":948,"Ġpart":949,".d":950,"urrent":951,"IT":952,"EN":953,"enc":954,"(f":955,"ra":956,"value":957,"cho":958,"utton":959,"ose":960,"Ġ!=":961,"ater":962,"é":963,"reate":964,"oll":965,"pos":966,"yle":967,"ng":968,"AL":969,"using":970,"ames":971,"Ġ{čĊ":972,"ates":973,"ely":974,"Ġwork":975,"Ġem":976,"inal":977,"Ġsp":978,"Ġwhen":979,".set":980,"ĠĠĠĠĠĠ":981,"):Ċ":982,"to":983,"quire":984,"indow":985,"lement":986,"pect":987,"ash":988,"[i":989,"Ġuse":990,".F":991,"pec":992,"Ġad":993,"ove":994,"ception":995,"ength":996,"include":997,"ader":998,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":999,"atus":1000,"Th":1001,"itle":1002,"rit":1003,"void":1004,"().":1005,"(Ċ":1006,"Ġoff":1007,"Ġother":1008,"Ġ&&":1009,"';Ċ":1010,"ms":1011,"Ġbeen":1012,"Ġte":1013,"ml":1014,"co":1015,"nc":1016,"ervice":1017,"Ġ%":1018,"**Ċ":1019,"ann":1020,"ade":1021,"ĊĊĊĊ":1022,"lock":1023,"const":1024,"ponse":1025,"Ġsup":1026,"++":1027,"date":1028,"Ġacc":1029,"Ġhad":1030,"Ġbu":1031,"ĠRe":1032,"Ġwere":1033,"Ġfile":1034,"Ġwould":1035,"ĠâĢľ":1036,"ven":1037,"iss":1038,"Ġour":1039,"class":1040,"raw":1041,"Ġyear":1042,"Data":1043,"Ġval":1044,"Ġsome":1045,"fter":1046,"ys":1047,"Ġ///":1048,"round":1049,"view":1050,"Ġpe":1051,"Ġthere":1052,"Ġsaid":1053,"du":1054,"of":1055,"line":1056,"/*":1057,"duct":1058,"Ġher":1059,"ĠĠĠĠĠĠĠĠĠĠĠĠĠ":1060,"Res":1061,"Ġco":1062,"Ġcomm":1063,"ise":1064,"min":1065,"ĠĠĠĠĊ":1066,"#include":1067,"ethod":1068,".P":1069,"ute":1070,"Ġass":1071,"Int":1072,"ask":1073,"loc":1074,"Ġlike":1075,"ody":1076,"Ġlet":1077,"load":1078,"Ġam":1079,"rol":1080,"Ġgr":1081,"yp":1082,"Ġalso":1083,"ĠIt":1084,"url":1085,"ific":1086,"ors":1087,"_P":1088,"_n":1089,"igh":1090,"Ġthan":1091,"Com":1092,"AN":1093,"UL":1094,"ating":1095,"ĠThis":1096,"ref":1097,"_S":1098,"Ġstatic":1099,"roll":1100,"Ġjust":1101,"Ġresult":1102,"ian":1103,"idth":1104,"Ġthem":1105,"));Ċ":1106,"der":1107,"reak":1108,"Con":1109,"://":1110,"ule":1111,"...":1112,"arch":1113,"ement":1114,"Ġ<<":1115,"ush":1116,"ense":1117,"arr":1118,"Ġinto":1119,"cess":1120,"amp":1121,"ied":1122,"ument":1123,"Ġ\\":1124,"],":1125,"wo":1126,"als":1127,"Ġwhat":1128,"anc":1129,"Value":1130,"='":1131,"olum":1132,"Ġpos":1133,"ages":1134,"ayer":1135,"Ġsc":1136,"ues":1137,"\")Ċ":1138,"_T":1139,"Ġlist":1140,"(s":1141,"Ġcase":1142,"Ch":1143,"ĉĉĉĉĉ":1144,"////////":1145,"ponent":1146,"Ġz":1147,"Ġkn":1148,"let":1149,"DE":1150,"red":1151,"Ġfe":1152,"Ġ},Ċ":1153,"Ġ,":1154,"(t":1155,"Ġfirst":1156,"');Ċ":1157,"word":1158,"Ġimport":1159,"Ġact":1160,"Ġchar":1161,"CT":1162,"ĠTr":1163,"ople":1164,"={":1165,"ĉf":1166,"ient":1167,"cent":1168,".j":1169,"lection":1170,"))Ċ":1171,"Ġonly":1172,"Ġprint":1173,"mer":1174,".W":1175,"ock":1176,"Ġ--":1177,"Text":1178,"Ġop":1179,"ank":1180,"Ġits":1181,"Ġback":1182,"[\"":1183,"Ġneed":1184,"Ġcl":1185,"Ġsub":1186,"Ġla":1187,"((":1188,".\"":1189,"Object":1190,"Ġstart":1191,"file":1192,"(self":1193,"ner":1194,"ey":1195,"Ġuser":1196,"Ġent":1197,"ĠCom":1198,"its":1199,"ĠCon":1200,"ouble":1201,"ower":1202,"item":1203,"very":1204,"ĠWe":1205,"lick":1206,"ĠQ":1207,"php":1208,"ttp":1209,"':":1210,"ics":1211,"Ġunder":1212,"Ġ*Ċ":1213,".L":1214,");":1215,"ices":1216,"Ġreg":1217,")čĊ":1218,"ĉpublic":1219,"SS":1220,"Ġthen":1221,"reat":1222,"ious":1223,".G":1224,"ek":1225,"irect":1226,"heck":1227,"cript":1228,"ning":1229,"ĠUn":1230,"Ġmay":1231,"ĠWh":1232,"Bo":1233,"Item":1234,"struct":1235,".st":1236,"ream":1237,"ible":1238,"loat":1239,"Ġorg":1240,"und":1241,"sum":1242,"_in":1243,"../":1244,"_M":1245,"Ġhow":1246,"rite":1247,"'Ċ":1248,"To":1249,"ww":1250,"Ġpeople":1251,"index":1252,".n":1253,"http":1254,"(m":1255,"ector":1256,"Ġind":1257,"Ġjav":1258,"],Ċ":1259,"ĠHe":1260,"_st":1261,"ful":1262,"ole":1263,"){Ċ":1264,"Ġshould":1265,"opy":1266,"elp":1267,"ier":1268,"_name":1269,"erson":1270,"ION":1271,"ote":1272,"Ġtest":1273,"Ġbet":1274,"rror":1275,"ular":1276,"ãĢ":1277,"ĠÐ":1278,"bs":1279,"ting":1280,"Ġmake":1281,"Tr":1282,"Ġafter":1283,"arget":1284,"RO":1285,"olumn":1286,"rc":1287,"_re":1288,"define":1289,"Ġright":1290,"right":1291,"day":1292,"Ġlong":1293,"[]":1294,"(p":1295,"td":1296,"cond":1297,"ĠPro":1298,"Ġrem":1299,"ptions":1300,"vid":1301,".g":1302,"Ġext":1303,"Ġ__":1304,"')Ċ":1305,"pace":1306,"mp":1307,"Ġmin":1308,"stance":1309,"air":1310,"action":1311,"wh":1312,"type":1313,"util":1314,"ait":1315,"ĊĊ":1339,"Ġshe":1340,"\"]":1341,"aph":1342,"Ġexp":1343,"erty":1344,"ĠSe":1345,"Ġpar":1346,"unc":1347,"ET":1348,"Ġread":1349,"print":1350,"Ġrel":1351,"Ġform":1352,"Ġdr":1353,"Exception":1354,"input":1355,"Ġtrans":1356,"########":1357,"order":1358,"By":1359,"Ġaw":1360,"ities":1361,"uff":1362,"play":1363,".add":1364,"ĠâĢĵ":1365,"Ġwant":1366,"Ġcomp":1367,"ments":1368,"Ġ||":1369,"az":1370,"be":1371,"Ġnumber":1372,"Ġrequire":1373,"ĠEx":1374,"Ġcol":1375,"Ġkey":1376,"ember":1377,"Ġtwo":1378,"Ġsize":1379,"Ġwhere":1380,"UT":1381,"result":1382,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":1383,"ough":1384,"orld":1385,"ood":1386,"uch":1387,"ative":1388,"ger":1389,"arent":1390,"Ġ/*":1391,"Ġarg":1392,"Ġwhile":1393,"(this":1394,"Ġrec":1395,"Ġdif":1396,"State":1397,"Ġspec":1398,"ride":1399,"_F":1400,"Ġlook":1401,"AM":1402,"ility":1403,"eter":1404,"âĢĻt":1405,"ĊĊĊ":1406,"ayout":1407,"--------------------------------":1408,"ager":1409,"Ġcould":1410,"Ġbr":1411,"ends":1412,"ures":1413,"Ġknow":1414,"ets":1415,"ĠIf":1416,"ĠSh":1417,".w":1418,"back":1419,"Ġser":1420,"Ġ+=":1421,"Ġfr":1422,"());Ċ":1423,"Ġhand":1424,"Ind":1425,"ULL":1426,"Im":1427,"();ĊĊ":1428,"Ġmost":1429,"Ġtry":1430,"Ġnow":1431,"rough":1432,">čĊ":1433,"ackage":1434,"Ġhim":1435,"._":1436,"ify":1437,"Ġbreak":1438,"Ġ);Ċ":1439,"ren":1440,"#define":1441,"itt":1442,"Ġap":1443,"ĉc":1444,"(n":1445,"ĠYou":1446,":ĊĊ":1447,"-m":1448,"Ġevery":1449,"ustom":1450,"lient":1451,"ocument":1452,"cription":1453,"Error":1454,"-b":1455,"о":1456,"][":1457,"trans":1458,"Ġpoint":1459,"Ġstd":1460,"Ġfil":1461,"Time":1462,"Ġmod":1463,"Ġ->":1464,"Ġerror":1465,"ah":1466,"Ġtext":1467,"roller":1468,"lose":1469,"ql":1470,"Ġpol":1471,"><":1784,".B":1785,"-c":1786,"Ġopen":1787,"Ġest":1788,"ĠĠĠĠĠĠĠĠĊ":1789,"Ġnext":1790,"IM":1791,"ÑĤ":1792,"OT":1793,"ó":1794,"Ġfollow":1795,"content":1796,"ĠĠĠĠĠĠĠĠĠĠĠĠ":1797,"Ġinclud":1798,"HE":1799,"ĠRes":1800,"Ġhref":1801,"и":1802,"Ġcar":1803,"ypes":1804,"image":1805,"Un":1806,"Ġbool":1807,"AD":1808,"Ġgame":1809,".Form":1810,"rows":1811,"*/":1812,"velop":1813,".Drawing":1814,"Ġpath":1815,"ision":1816,"Ġeach":1817,"ĠPl":1818,"_type":1819,"Path":1820,"nection":1821,"Ġav":1822,"').":1823,"Ġsupport":1824,"ENT":1825,"rem":1826,"\").":1827,"Ġown":1828,"Ġcor":1829,"count":1830,"miss":1831,"ually":1832,"Ġmem":1833,"std":1834,"ience":1835,"search":1836,"\"ĊĊ":1837,"Form":1838,"Ġsex":1839,"ename":1840,"Ġsign":1841,"Ġet":1842,"ĠĠĠĠĠĠĠĠĠĠ":1843,"','":1844,"ĠApp":1845,"Ġthose":1846,"off":1847,"Ġerr":1848,"Ġsystem":1849,"Ġbest":1850,"code":1851,"Ġsame":1852,"Ġdi":1853,"uss":1854,"Ġcreate":1855,"ather":1856,"Array":1857,".in":1858,"fe":1859,"Service":1860,"UN":1861,"ats":1862,"ĠZ":1863,"alth":1864,"Ġmade":1865,"true":1866,"AB":1867,"Ġmark":1868,"rid":1869,"ified":1870,",čĊ":1871,"yn":1872,"press":1873,"Ġgroup":1874,"Ġfin":1875,"ĠLicense":1876,"Field":1877,"eger":1878,"Ġworld":1879,"iness":1880,"ty":1881,"Ġprocess":1882,"(b":1883,"Ġcre":1884,"arn":1885,"ives":1886,"Ġmain":1887,"ideo":1888,"_g":1889,"AG":1890,"valid":1891,"img":1892,"PI":1893,"Ġcolor":1894,"Ġreport":1895,"Ġtake":1896,"rib":1897,"OM":1898,"Ġday":1899,"Request":1900,"Ġsk":1901,"bers":1902,"ĉs":1903,".Add":1904,"oot":1905,"Image":1906,"Ġcomple":1907,"ollection":1908,"Ġtop":1909,"Ġfree":1910,"AS":1911,"De":1912,"ĠOn":1913,"IG":1914,"eta":1915,"Date":1916,"Ġaction":1917,"Over":1918,"itor":1919,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":1920,"not":1921,"Ġindex":1922,"her":1923,"icon":1924,"On":1925,";čĊčĊ":1926,"ivity":1927,"mand":1928,".Windows":1929,"OL":1930,"Ġreal":1931,"Ġmax":1932,"land":1933,"....":1934,"raph":1935,"Ġbuild":1936,"leg":1937,"assword":1938,"?ĊĊ":1939,"â̦":1940,"ook":1941,"uck":1942,"Ġmessage":1943,"test":1944,"ivers":1945,"Ġinput":1946,"Ġart":1947,"Ġbetween":1948,"Get":1949,"enter":1950,"ground":1951,"ene":1952,"á":1953,".length":1954,"Node":1955,"(i":1956,"Class":1957,"for":1958,"ĠâĢĶ":1959,"ten":1960,"oin":1961,"Ġke":1962,"ui":1963,"ĠIN":1964,"Ġtable":1965,"sub":1966,"ĠLe":1967,"Ġhead":1968,"Ġmust":1969,"////////////////":1970,".util":1971,"Context":1972,"Ġorder":1973,"Ġmov":1974,"over":1975,"Ġcontin":1976,"Ġsay":1977,"static":1978,".Text":1979,"ĠclassName":1980,"pany":1981,"Ġter":1982,"head":1983,"rg":1984,"Ġproduct":1985,"This":1986,".âĢĿ":1987,"ĠBut":1988,"loy":1989,"Ġdouble":1990,"sg":1991,"Ġplace":1992,".x":1993,"message":1994,"Ġinformation":1995,"private":1996,"Ġoper":1997,"ced":1998,"db":1999,"\">":2179,"aterial":2180,"iled":2181,"Ġput":2182,"Qu":2183,"ÑĢ":2184,"ung":2185,"map":2186,"ĉĉĉĉĉĉĉĉ":2187,"Ġlevel":2188,"Component":2189,"book":2190,"creen":2191,"_RE":2192,"Ġconfig":2193,"ãģ":2194,"Or":2195,".data":2196,"Ġdocument":2197,"\",\"":2198,"tribute":2199,"ux":2200,"Log":2201,"ference":2202,"post":2203,"_e":2204,"Ġlocal":2205,"andom":2206,"assert":2207,"Val":2208,"lected":2209,"ina":2210,"atabase":2211,"Add":2212,"Ġcontent":2213,".print":2214,"signed":2215,"ric":2216,".\"ĊĊ":2217,"Ġfa":2218,"!ĊĊ":2219,"-f":2220,"ived":2221,"Ġquest":2222,".ex":2223,"Ġfloat":2224,"Ġdevelop":2225,"оÐ":2226,"Map":2227,"ading":2228,"Ġposs":2229,"UE":2230,"namespace":2231,"_O":2232,"ĉb":2233,".Get":2234,">(":2235,"json":2236,"etails":2237,"Ġtoo":2238,"Ġextends":2239,"ĠNone":2240,"Ġfore":2241,"(String":2242,"format":2243,"Ġgreat":2244,"inter":2245,"cale":2246,"Ñģ":2247,"ron":2248,"iving":2249,"Ent":2250,"ency":2251,"xt":2252,"oy":2253,"Ġmonth":2254,"Ġhapp":2255,"Ġsuper":2256,"bar":2257,"default":2258,"_de":2259,"ords":2260,"ln":2261,"({Ċ":2262,"ĠInd":2263,"ases":2264,"Ġtitle":2265,"Ġcontext":2266,"oh":2267,"-p":2268,"Em":2269,"Ġmet":2270,"Test":2271,"Ġlife":2272,"_v":2273,"ĠUS":2274,"UI":2275,"ocation":2276,"md":2277,"Ġ[Ċ":2278,"Ġ]":2279,"sw":2280,"Ġincre":2281,"script":2282,"ential":2283,"ways":2284,".de":2285,"Ġsrc":2286,"Ġcatch":2287,"ĠAmeric":2288,"//Ċ":2289,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":2290,"Ġpay":2291,"plit":2292,"âĢĶ":2293,"Ġcoun":2294,"obj":2295,".php":2296,"Ġchange":2297,"ething":2298,"'re":2299,"aster":2300,"los":2301,"lation":2302,"ĠĠĊ":2303,"Le":2304,"ä":2305,"({":2306,"ready":2307,"ĠNo":2308,"Ġposition":2309,"Ġold":2310,"Ġbook":2311,"abled":2312,"bug":2313,"Hand":2314,"};ĊĊ":2315,"isplay":2316,"aving":2317,"Ġgover":2318,"Ġversion":2319,"System":2320,"nect":2321,"response":2322,"Style":2323,"Up":2324,"angu":2325,"Ġthree":2326,"init":2327,"ero":2328,"Ġlaw":2329,"endif":2330,"Ġbase":2331,"email":2332,"(l":2333,"_V":2334,"Ġconf":2335,"ATE":2336,"Ġduring":2337,"tes":2338,"Ġconsole":2339,"ĠPr":2340,"Ġspe":2341,"ves":2342,"path":2343,"ialog":2344,"dition":2345,"_to":2346,"ards":2347,"Ġagainst":2348,"etwork":2349,"ĠPh":2350,"_L":2351,"cur":2352,"imit":2353,"With":2354,"Ġpower":2355,"ium":2356,"';ĊĊ":2357,"Ġwom":2358,"left":2359,"ources":2360,"atri":2361,"ĠIm":2362,"ĠMan":2363,"orth":2364,"${":2365,"quals":2366,"ese":2367,"_size":2368,"Ġiss":2369,"otal":2370,"-g":2371,"ique":2372,"rame":2373,"Ġwidth":2374,"erg":2375,")(":2376,"ittle":2377,"TR":2378,"ĠThey":2379,"ences":2380,"rl":2381,"ons":2382,"Ġlabel":2383,".y":2384,"-t":2385,"update":2386,"anel":2387,"sc":2388,".to":2389,"Ġproject":2390,"ü":2391,"Ġelement":2392,"Ġsuccess":2393,"ĉĉĊ":2394,".sh":2395,"ram":2396,"ched":2397,"())Ċ":2398,"Ġ(Ċ":2399,"Ġdate":2400,"Ġtot":2401,"_ST":2402,"All":2403,"ification":2404,"ĉvar":2405,"Ġtri":2406,"chem":2407,"my":2408,"Ġbig":2409,"ĠAd":2410,"ĠAt":2411,"ots":2412,"num":2413,"Act":2414,"Ġmap":2415,"era":2416,"cope":2417,".$":2418,",âĢĿ":2419,"Ġpop":2420,"Ġfew":2421,"Ġlen":2422,"uid":2423,"eters":2424,"ules":2425,"ÃŃ":2426,"source":2427,"https":2428,"Ġdem":2429,"Ġear":2430,"################":2431,"Ġmatch":2432,"ories":2433,"aces":2434,"ĠCl":2435,"Ġnode":2436,"irc":2437,"local":2438,"unity":2439,"};Ċ":2440,"Ġanother":2441,"<<":2442,"ogle":2443,"Ġsit":2444,"ework":2445,"TE":2446,".I":2447,"NS":2448,"ology":2449,"ought":2450,".Cont":2451,">>":2452,"Ġcare":2453,"state":2454,"ĉprivate":2455,"Ġeffect":2456,"++)":2457,"_file":2458,"ending":2459,"Line":2460,"For":2461,"ior":2462,"ĠSc":2463,"Ġfun":2464,".Size":2465,"ĉelse":2466,"])":2467,"start":2468,"vious":2469,"Ġ},":2470,"ours":2471,"Ġleg":2472,"Ġservice":2473,"Ġsince":2474,"iron":2475,"Label":2476,"Ġnon":2477,"Ġlos":2478,"iction":2479,"Ġfull":2480,"acter":2481,"board":2482,"gress":2483,"Ġturn":2484,"ither":2485,".size":2486,"Ġbody":2487,"resh":2488,"eturn":2489,"(_":2490,"yles":2491,"ormal":2492,"pi":2493,"Ġsomething":2494,"!--":2495,"uint":2496,"Ġprodu":2497,"Ġstand":2498,"Ġproble":2499,"Ġavailable":2500,"mt":2501,"ĠBl":2502,"Ġ...":2503,"Ġblock":2504,"Input":2505,"Ġkeep":2506,"Count":2507,"open":2508,"Ġ['":2509,"Ġthrow":2510,"uilder":2511,"Action":2512,"Ġthings":2513,"True":2514,"Ġurl":2515,"ĠBo":2516,"printf":2517,"Ġred":2518,"js":2519,".create":2520,"ĠOr":2521,"Status":2522,"Instance":2523,"Ġcontrol":2524,"Ġcome":2525,"Ġcustom":2526,"location":2527,"model":2528,"ĠčĊ":2529,"Ġsource":2530,"Ġeas":2531,".out":2532,"]ĊĊ":2533,"oney":2534,"Ġawait":2535,"Ġpartic":2536,"AP":2537,"ublish":2538,"odes":2539,"_pro":2540,"ply":2541,"riter":2542,"Ġprov":2543,"Ġmill":2544,"HT":2545,"])Ċ":2546,"Ġchang":2547,"Ġask":2548,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":2549,"Ġoutput":2550,"Ġemail":2551,".push":2552,"Ġ}čĊčĊ":2553,"ination":2554,"atrix":2555,"Table":2556,"uccess":2557,"]);Ċ":2558,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":2559,"Ġdisc":2560,"([":2561,"Ġbusiness":2562,"height":2563,".html":2564,"ta":2565,"field":2566,"Ġrequired":2567,"_R":2568,"Ġgovern":2569,"}čĊčĊ":2570,"lex":2571,".,":2572,"ĠSet":2573,"urch":2574,"///":2575,"ts":2576,"af":2577,"Ġmight":2578,"istory":2579,"Str":2580,"Ġnever":2581,"Response":2582,"arse":2583,"ada":2584,"ĠHow":2585,"Ġ*)":2586,"Ġ;":2587,"Ġhard":2588,"Ad":2589,"Ġintern":2590,"used":2591,"(data":2592,"mod":2593,"annel":2594,"Ġnp":2595,"ugg":2596,"Ġ/>Ċ":2597,"Ġcalled":2598,"body":2599,"Ġcho":2600,"(r":2601,"_set":2602,"ird":2603,"Ġ>=":2604,"Ġ};Ċ":2605,"Ġoptions":2606,"ĠGener":2607,"Ġheight":2608,"Point":2609,"You":2610,"ety":2611,"Click":2612,"Ġsmall":2613,"Ġide":2614,"Ġaccess":2615,"anguage":2616,"Ġprotected":2617,"Ġjob":2618,"ĠThere":2619,"Def":2620,"Ġaddress":2621,"Ġuint":2622,"Not":2623,"oo":2624,"aps":2625,"":2759,"ĉĠĠĠ":2760,"\"))":2761,"Content":2762,"_W":2763,"plement":2764,"Ġwon":2765,"Ġvideo":2766,"adi":2767,"point":2768,"%%":2769,"Ġgl":2770,"erved":2771,"viron":2772,"IF":2773,"uted":2774,"ãĥ":2775,"'m":2776,"Ġcert":2777,"Ġprof":2778,"Ġcell":2779,"ari":2780,"Ġplayer":2781,"ais":2782,"Ġcost":2783,"Ġhum":2784,"(R":2785,"Ġoffic":2786,"ks":2787,".text":2788,"atures":2789,"Ġtotal":2790,"Ġ*/ĊĊ":2791,"ope":2792,"Ġstat":2793,"UM":2794,"Ġload":2795,"ights":2796,"Ġclear":2797,"uro":2798,"Ġtechn":2799,"upport":2800,"IR":2801,"Ġrow":2802,"Ġseem":2803,"Ġq":2804,"Ġshort":2805,"ĠNot":2806,"ipp":2807,"Group":2808,"section":2809,"max":2810,"irl":2811,"Ġoverride":2812,"Ġcompany":2813,"Ġdone":2814,"\");čĊ":2815,"Ġgre":2816,".Re":2817,"Ġbelie":2818,"rist":2819,"Ġhealth":2820,"ANT":2821,"()ĊĊ":2822,"ĠBe":2823,".value":2824,"ĠGr":2825,"ottom":2826,"Ġargs":2827,"PT":2828,"status":2829,"func":2830,"uments":2831,"-h":2832,"Number":2833,":čĊ":2834,"ĠLog":2835,"erver":2836,"Ġ),Ċ":2837,"ament":2838,"Ġobj":2839,"inc":2840,"Ġchildren":2841,"icy":2842,"IZ":2843,"ands":2844,"ably":2845,"Ġdistrib":2846,"Ġcur":2847,"erial":2848,"Ġdays":2849,"reated":2850,"rect":2851,"-l":2852,"irm":2853,"idden":2854,"omb":2855,"Ġinitial":2856,".js":2857,"Ġâ":2858,"Query":2859,"Ġonline":2860,"imal":2861,".con":2862,"au":2863,"Url":2864,"control":2865,"irection":2866,"Ġinstance":2867,"ORT":2868,"ĠFr":2869,"where":2870,"Ġjavax":2871,"Ġorgan":2872,"apter":2873,"Ġreason":2874,"options":2875,"ĠMar":2876,"(a":2877,"Ġwithin":2878,".âĢĿĊĊ":2879,"ODE":2880,"_DE":2881,"admin":2882,"ended":2883,"Ġdesign":2884,"ĠData":2885,"une":2886,"ĠFile":2887,"root":2888,"Ġcent":2889,"Ġarr":2890,"_add":2891,"len":2892,"page":2893,",'":2894,"_str":2895,"Ġbro":2896,"ability":2897,"outh":2898,"/c":2899,"pose":2900,"irtual":2901,"earch":2902,"_url":2903,"argin":2904,"Http":2905,"Ġschool":2906,"ava":2907,"Ġconsider":2908,".label":2909,"ĠArray":2910,"web":2911,"opt":2912,".println":2913,"ulation":2914,"Ġfunc":2915,"PL":2916,"Ġ\"\\":2917,"ĠText":2918,"actory":2919,"(function":2920,"null":2921,"Ġeng":2922,"down":2923,"Ġinclude":2924,"ĠEn":2925,"ĠDr":2926,"Ġdb":2927,"!!":2928,"side":2929,"Ġinit":2930,"quired":2931,"ĠShe":2932,"Column":2933,"react":2934,"Ġann":2935,"Ġstop":2936,"Ġlater":2937,"ĠThat":2938,"ention":2939,"df":2940,"UG":2941,"ILE":2942,"Ġclient":2943,"raft":2944,"ffer":2945,"POST":2946,"elper":2947,"Ġlove":2948,"quote":2949,"oud":2950,"Ġjson":2951,"Ġable":2952,"Ġmen":2953,"AX":2954,"ĠCopyright":2955,"ö":2956,"avig":2957,"req":2958,"Client":2959,"});Ċ":2960,".Com":2961,"erc":2962,"ilt":2963,"pecial":2964,"_com":2965,"room":2966,".Name":2967,"Ġgive":2968,"amb":2969,"ike":2970,"Ġcondition":2971,"client":2972,"ators":2973,":\"":2974,"Ġcopy":2975,"uture":2976,"iversity":2977,"ernal":2978,"{{":2979,"ĠCan":2980,"ounc":2981,"do":2982,"Ġocc":2983,"Ġappro":2984,"thers":2985,"ze":2986,"Ġeither":2987,"ĠFl":2988,"Ġimportant":2989,"Ġlead":2990,"attr":2991,"ART":2992,"Equal":2993,"Ġda":2994,"etch":2995,"entity":2996,"Ġfamily":2997,"adding":2998,"Ġoption":2999,"Ġexist":3000,"ica":3001,"ĠObject":3002,"'ve":3003,"vers":3004,"itional":3005,"output":3006,"ĠTrue":3007,"ĠOF":3008,"_time":3009,"Ġoffer":3010,"Ġ});ĊĊ":3011,"HER":3012,"egin":3013,"\"\"":3014,"Ġwater":3015,"Ġche":3016,"ĠMy":3017,"ored":3018,"Ġstep":3019,"ances":3020,"CK":3021,"AY":3022,"à¸":3023,"struction":3024,"(C":3025,"ouch":3026,"Stream":3027,"active":3028,"ama":3029,"Entity":3030,"product":3031,"(){Ċ":3032,"Ġgovernment":3033,"ĠID":3034,"ajor":3035,"And":3036,"Ġdisplay":3037,"л":3038,"Ġtimes":3039,"Ġfour":3040,"Ġfar":3041,"Ġpresent":3042,"ĠNS":3043,"Ġ\\Ċ":3044,"uest":3045,"Ġbas":3046,"echo":3047,"child":3048,"ifier":3049,"Handler":3050,"Ġlib":3051,"Property":3052,"translation":3053,"Ġroom":3054,"Ġonce":3055,"Ġ[]":3056,"center":3057,"================================":3058,"Ġresults":3059,"Ġcontinue":3060,"Ġtalk":3061,"_get":3062,"Ġgrow":3063,".sw":3064,"eb":3065,"ĠPublic":3066,"OP":3067,"ecute":3068,"ols":3069,"Ġ**":3070,"\");ĊĊ":3071,"Ġmass":3072,"ured":3073,".class":3074,"omic":3075,"Ġmean":3076,"ips":3077,"Ġaut":3078,");čĊčĊ":3079,"Ġuntil":3080,"Ġmarket":3081,"Ġarea":3082,"uit":3083,"Ġlength":3084,"ĠWith":3085,"structor":3086,"event":3087,"\"><":3088,"ĠSp":3089,"IV":3090,"Ġmus":3091,"iff":3092,"Ġkind":3093,"author":3094,"ounds":3095,"mb":3096,"_key":3097,"width":3098,"pository":3099,"Ġlight":3100,"uk":3101,"Row":3102,"ohn":3103,"alf":3104,"vironment":3105,"apper":3106,"ollections":3107,"Ġside":3108,"_info":3109,"Ġexample":3110,"imary":3111,"Ġwr":3112,"Ġcamp":3113,"cribe":3114,"\"/":3115,"Ġmiss":3116,"way":3117,"Ġbased":3118,"Ġplan":3119,"Vis":3120,"omain":3121,"unk":3122,"Ġaway":3123,"UP":3124,"":3370,"Ġden":3371,"obile":3372,"change":3373,"ĠĠĠĠĠĠĠĠĠĠĠĠĊ":3374,"ici":3375,"na":3376,"ĠForm":3377,"Ġsort":3378,"Select":3379,"pare":3380,"Ġthought":3381,"_con":3382,"Ġtask":3383,"ocus":3384,"ĠDE":3385,"ĠMin":3386,"Ġopt":3387,"ĉbreak":3388,"umer":3389,"KE":3390,"then":3391,"Ġdet":3392,"ĠTest":3393,"ports":3394,"Ġreview":3395,"('/":3396,"move":3397,"Ġswitch":3398,"ERT":3399,"patch":3400,"annot":3401,"ãĤ":3402,"Ġabove":3403,"itive":3404,"Ġquestion":3405,"ĠQu":3406,"ãĢĤĊĊ":3407,"gle":3408,"Ġword":3409,"Ġprovide":3410,"ĠReturn":3411,"Ġresearch":3412,"ão":3413,"ustr":3414,"Ġpublish":3415,"chema":3416,"}}":3417,"ĠCON":3418,"-in":3419,"allback":3420,"Ġcover":3421,"\\\\":3422,"color":3423,"ĠIS":3424,"Ġwhether":3425,"imate":3426,"isc":3427,"Bar":3428,"Ġdiv":3429,"Be":3430,"ourn":3431,"Ġhaving":3432,"lem":3433,"player":3434,"abs":3435,"amera":3436,"ney":3437,"Ġexc":3438,"gether":3439,"plied":3440,"ao":3441,"[$":3442,"Ġ++":3443,"ipe":3444,"show":3445,"/d":3446,"[:":3447,"agement":3448,"lev":3449,"_ID":3450,"rary":3451,"ades":3452,"_se":3453,"ause":3454,"Ġemploy":3455,"Ġ*/čĊ":3456,"Ġfre":3457,"Ġ'@":3458,"Ġcomplet":3459,"Ġlarge":3460,"ral":3461,"\\x":3462,"Ġfac":3463,">":3578,"Ġface":3579,"CTION":3580,"Ġsave":3581,"Ġtyp":3582,"dev":3583,"(\"#":3584,"AGE":3585,"container":3586,"edit":3587,"QL":3588,"Ġitems":3589,"Ġsocial":3590,"ien":3591,"ĠReact":3592,").ĊĊ":3593,"Ġmar":3594,"Ġredu":3595,"ĠRE":3596,".put":3597,"Ġmajor":3598,"Cell":3599,"next":3600,"Ġexpected":3601,"Ġyet":3602,"Ġindiv":3603,"tributes":3604,"atis":3605,"amed":3606,"Ġfood":3607,"Source":3608,"(string":3609,"Ġ+Ċ":3610,"ites":3611,"dr":3612,"Ġmembers":3613,"Ġcomb":3614,"items":3615,"ĠPer":3616,"TH":3617,"=True":3618,"Ġbar":3619,"_SE":3620,"comm":3621,"(w":3622,")ĊĊĊ":3623,"Ġsend":3624,"Ġinc":3625,"unsigned":3626,"FA":3627,"Ġparams":3628,"apping":3629,"ros":3630,"ugin":3631,"fa":3632,"Ġconnection":3633,"Ġ};ĊĊ":3634,"Ġbecome":3635,"Mode":3636,"Ġev":3637,"Ġdiff":3638,"ĠUnited":3639,"Height":3640,"fully":3641,"images":3642,"Ġmakes":3643,"Ġglobal":3644,"Ġcontact":3645,"':Ċ":3646,"Ġabs":3647,"аÐ":3648,"float":3649,"Ġexcept":3650,"ĠPol":3651,"Child":3652,"typ":3653,"Ġcertain":3654,"ión":3655,"OUT":3656,"Ġimpro":3657,"iles":3658,"Ġ-->Ċ":3659,"ĠPart":3660,"values":3661,"oss":3662,"/**":3663,"ilit":3664,"ĠEvent":3665,"curity":3666,"ster":3667,"Ġcharacter":3668,"Ġnews":3669,"Ġ\",":3670,"Ġdevice":3671,"cel":3672,"login":3673,"heet":3674,"Default":3675,"@\"":3676,"ĉĠ":3677,"click":3678,"(value":3679,"ĠAb":3680,"Ġprevious":3681,"ERROR":3682,"ocal":3683,"Ġmaterial":3684,"Ġbelow":3685,"ĠChrist":3686,"Ġmedia":3687,"cover":3688,"ĠUI":3689,"Ġfail":3690,"Ġblack":3691,"Ġcomponent":3692,"ĠAmerican":3693,"Ġadded":3694,"Ġbuy":3695,"stit":3696,"Ġcame":3697,"Ġdelete":3698,"property":3699,"oding":3700,"Ġcard":3701,"rops":3702,"Ġhttps":3703,"Ġroot":3704,"Ġhandle":3705,"CC":3706,"Back":3707,"emplate":3708,"Ġgetting":3709,"_by":3710,"mail":3711,"_sh":3712,".assert":3713,"ĠDec":3714,"(true":3715,"Ġcomput":3716,"Ġclaim":3717,"'=>":3718,"ĠSub":3719,"Ġair":3720,"ops":3721,"nav":3722,"ements":3723,"(id":3724,"Ġenter":3725,"anged":3726,"End":3727,"Ġlocation":3728,"Ġnight":3729,"Ġdoing":3730,"ĠRed":3731,"lin":3732,"}ĊĊĊ":3733,"vider":3734,"Ġpick":3735,"Ġwatch":3736,"essages":3737,"Ġhuman":3738,"Ġdam":3739,"pend":3740,"dir":3741,"Ġtax":3742,"Ġgirl":3743,"reet":3744,"Ġbox":3745,"Ġstrong":3746,"(v":3747,"rel":3748,"Ġinterface":3749,"Ġmsg":3750,"fect":3751,"_at":3752,"Ġhouse":3753,"Ġtrack":3754,"');ĊĊ":3755,"je":3756,"ĠJohn":3757,"istr":3758,"(S":3759,"ube":3760,"Ġce":3761,"itted":3762,"VER":3763,"*)":3764,"parent":3765,"Ġapplication":3766,"any":3767,".swing":3768,"Ġpack":3769,"\\u":3770,"Ġpract":3771,"Ġsection":3772,"ctx":3773,"Ġunsigned":3774,".Point":3775,"ĠOne":3776,"ı":3777,"iple":3778,"aid":3779,"Ñĥ":3780,"Vector":3781,"byte":3782,"Ġwait":3783,"ĠÃł":3784,"Ã¥":3785,"Ġtogether":3786,"Ġthrows":3787,"FO":3788,"'))":3789,"host":3790,"ising":3791,".view":3792,"Ġterms":3793,"framework":3794,"-r":3795,"Ġapply":3796,"Ġsession":3797,"Options":3798,"uggest":3799,"Ġothers":3800,"witter":3801,"Ġfund":3802,"Init":3803,"__(":3804,"ensor":3805,"GET":3806,"Ġseveral":3807,"ii":3808,"[j":3809,"IO":3810,"Ġtemplate":3811,"Position":3812,"Ġecon":3813,"achine":3814,"Ġil":3815,".spring":3816,"main":3817,"elt":3818,"iment":3819,"Rec":3820,"mm":3821,"ĠUniversity":3822,"ursor":3823,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":3824,"GL":3825,"icture":3826,"ithub":3827,"cer":3828,"cast":3829,"From":3830,"ales":3831,"Ġsubject":3832,"password":3833,"ny":3834,"Ġesc":3835,".write":3836,"ï¼Į":3837,"What":3838,".H":3839,"Ġhistory":3840,"ĠFe":3841,"Ġindividual":3842,"unit":3843,"Ġ-->":3844,"Ġdu":3845,"IST":3846,"Ġusers":3847,"fs":3848,"false":3849,"unt":3850,"Title":3851,"Ġmot":3852,"Ġfuture":3853,"ached":3854,"Ġstarted":3855,"Ġmode":3856,"Ġ'<":3857,"_array":3858,"Ġax":3859,"'];Ċ":3860,"ires":3861,"There":3862,"ught":3863,"tml":3864,"posed":3865,"icult":3866,"Ġtook":3867,"Ġgames":3868,"Ġ}}":3869,"Ġ?>Ċ":3870,"Ġproducts":3871,"Is":3872,"Ġbad":3873,"ĠDes":3874,".path":3875,"'ĊĊ":3876,"ĠPost":3877,"avel":3878,"(:":3879,"Ġneeds":3880,"Ġknown":3881,"Fl":3882,"Ġexec":3883,"Ġseen":3884,"ume":3885,"Ġborder":3886,"Ġlive":3887,"temp":3888,"Per":3889,"Ġvariable":3890,"iet":3891,"ĠDef":3892,"Ġge":3893,"eme":3894,"_back":3895,"first":3896,"Ġprovided":3897,"////////////////////////////////":3898,"Ġfilename":3899,"Ġhope":3900,"uly":3901,"auto":3902,"find":3903,"_string":3904,"btn":3905,"itude":3906,"Attribute":3907,"Ġyoung":3908,".txt":3909,"Ġwebsite":3910,"ĠProp":3911,"Ġey":3912,">();Ċ":3913,"ional":3914,"ARR":3915,"ictionary":3916,"urther":3917,".":3997,"tx":3998,"Ġpur":3999,"uel":4000,"ymbol":4001,"uation":4002,"anger":4003,"Ġbackground":4004,"ecess":4005,"efined":4006,"........":4007,"Ġdescription":4008,"Ġrepresent":4009,"\"));Ċ":4010,"pression":4011,"rowser":4012,"Ġseries":4013,"wards":4014,"($_":4015,"aise":4016,"Ġhot":4017,"acity":4018,"ries":4019,"actions":4020,"Create":4021,"adio":4022,"amples":4023,"Ġoriginal":4024,"ensive":4025,"font":4026,"stream":4027,"using":4028,".springframework":4029,"server":4030,"Ġbill":4031,"ACK":4032,"ilename":4033,"Ġframe":4034,"Ġ=Ċ":4035,"Edit":4036,"adius":4037,"Ġdraw":4038,"anks":4039,"Ġdeter":4040,"Ġcomes":4041,"_int":4042,"Ġforeach":4043,"angle":4044,"Ġelect":4045,"pected":4046,"Header":4047,"istration":4048,"False":4049,"ĠGame":4050,"Ġfilter":4051,"Activity":4052,"Ġlarg":4053,"inition":4054,"Ġ\"<":4055,"ised":4056,"Ġremove":4057,"ĠTrans":4058,"met":4059,"see":4060,"Format":4061,"Command":4062,"ĠEX":4063,"None":4064,"Ġfront":4065,"ASE":4066,"ĠRec":4067,"oundation":4068,"Ġvo":4069,"=\\\"":4070,"(*":4071,"Change":4072,".Write":4073,"group":4074,"ients":4075,"uy":4076,"****************************************************************":4077,"Ġdig":4078,"hr":4079,"(-":4080,"Ġgen":4081,"number":4082,"vec":4083,"urope":4084,"entry":4085,"LL":4086,"Ġste":4087,"Valid":4088,"'],":4089,"_param":4090,"Ġselected":4091,"Ġaccording":4092,"ĠDis":4093,"Ġutil":4094,"Buffer":4095,"_error":4096,"Ġassoci":4097,"_SIZE":4098,"Ġwor":4099,"Ġprintf":4100,"rag":4101,"Âł":4102,"DD":4103,"ĠVal":4104,"Ġactiv":4105,"Eng":4106,"etime":4107,"Ġvirtual":4108,"aign":4109,"aur":4110,"ĠPres":4111,"ĠException":4112,"Ġanything":4113,"ĠOff":4114,"Ġhours":4115,"Ġwar":4116,"Args":4117,"aging":4118,"Ġmodels":4119,"ĠTime":4120,"Ob":4121,"ams":4122,"joy":4123,"Ġearly":4124,".read":4125,"Ġcenter":4126,"ĠInitial":4127,"Ġlanguage":4128,"length":4129,"xy":4130,"Ġsn":4131,"Ġinf":4132,"Post":4133,"Ġago":4134,"Ġeasy":4135,"_code":4136,"ĠANY":4137,"_ch":4138,"Ġdownload":4139,"(T":4140,"aved":4141,"âĢĵ":4142,"Ġstudents":4143,"Ġfig":4144,"light":4145,"xx":4146,"Ġbuffer":4147,"ĠDep":4148,"ĠMath":4149,"ITH":4150,"Ġvari":4151,"Ġdue":4152,"Factory":4153,"Ġpor":4154,"Ġep":4155,"otype":4156,"Ġcannot":4157,"Ġwhite":4158,"čĊ":4424,".annot":4425,"Ġcollection":4426,"'.":4427,"Ġsimilar":4428,"Ġtaken":4429,"(\"%":4430,"Order":4431,"']Ċ":4432,"-md":4433,"ĠTH":4434,"aced":4435,"Ġisn":4436,"/j":4437,"Ġson":4438,"graph":4439,"ĠInteger":4440,"Ġnecess":4441,"reen":4442,"Ġum":4443,"Ġ\\<":4444,"Ġmoment":4445,"Ġbring":4446,"Ġindic":4447,"ysis":4448,"Level":4449,"verse":4450,"urrenc":4451,"_test":4452,"Ġentire":4453,"Down":4454,"Ġ}ĊĊĊ":4455,"(result":4456,"ĠRead":4457,"è":4458,"Mod":4459,"Ġtrying":4460,"\"),Ċ":4461,"Ġmember":4462,"ĠCor":4463,"ODO":4464,"-control":4465,"untime":4466,"ĠSim":4467,"Dialog":4468,"plot":4469,"_on":4470,"Ġphys":4471,"}/":4472,"Ġnamespace":4473,"ĉčĊ":4474,"acc":4475,"Player":4476,"ARE":4477,"Ġfoot":4478,"Ġboard":4479,"part":4480,"Ġsus":4481,"wise":4482,"ĠMc":4483,"Ġpush":4484,"ATA":4485,"Ġplease":4486,"ried":4487,"weet":4488,"bit":4489,"ided":4490,"VE":4491,"ĠSw":4492,"UB":4493,"Ġtypes":4494,"edia":4495,"Ġclos":4496,"acebook":4497,"When":4498,"Ġedit":4499,"igger":4500,"Ġenerg":4501,"Container":4502,"Ġphot":4503,"ĠCount":4504,"ĠEurope":4505,".Is":4506,"ĠRuss":4507,"peed":4508,"ĠStr":4509,"Ġpy":4510,"Ġcult":4511,"Ġdefined":4512,"ccount":4513,"Ġobt":4514,".Location":4515,"Ġthread":4516,"ille":4517,"Ġinstead":4518,"strong":4519,"ĠSec":4520,"URE":4521,"Ġidea":4522,".se":4523,"emy":4524,"selected":4525,"Connection":4526,"acing":4527,"thread":4528,".next":4529,"Ġcoll":4530,"Ġfilm":4531,"istic":4532,"Ġcompet":4533,"Ġconn":4534,"though":4535,"Ġcompan":4536,"ocket":4537,"Ġteach":4538,"=(":4539,"Ġphone":4540,"Ġactive":4541,"delete":4542,"tries":4543,"Ġmo":4544,"Ġdeath":4545,"});ĊĊ":4546,"ocol":4547,"Widget":4548,"Ġarticle":4549,"rodu":4550,"andid":4551,"Ñĭ":4552,"ĠCr":4553,"ka":4554,"():":4555,"lood":4556,"ĉĉĉĊ":4557,"Ġalmost":4558,"Ġsell":4559,"ervlet":4560,"rip":4561,"Unit":4562,"Ġapplic":4563,"Ġconnect":4564,"Ġfeature":4565,"Ġvia":4566,"'),":4567,"Ġlim":4568,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":4569,"ĠGu":4570,"Engine":4571,"Ġens":4572,"Ġenvironment":4573,"block":4574,"HERE":4575,"NULL":4576,"gy":4577,"tag":4578,")).":4579,"exp":4580,"Ġcompl":4581,"Ġinstall":4582,"Ġcomplete":4583,"queue":4584,"atural":4585,"Ġgeneral":4586,"thon":4587,"Ġasked":4588,"ores":4589,"(res":4590,"Ġreserved":4591,"SP":4592,"Ġâ̦":4593,"ÅĤ":4594,"Ġsignific":4595,"Off":4596,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":4597,"ĠAg":4598,"ĠJust":4599,"ĠError":4600,"Ġinfl":4601,"adata":4602,"Ġicon":4603,"asks":4604,"''":4605,"_LO":4606,"?.":4607,"account":4608,"Ġ(*":4609,"')ĊĊ":4610,"rap":4611,"_var":4612,"ĠFOR":4613,"Ġparty":4614,"ĠYour":4615,"cat":4616,"stry":4617,".new":4618,"boot":4619,"ĠNov":4620,"Ġvector":4621,"Ġnormal":4622,"Ġfurther":4623,"Repository":4624,"Ġdatabase":4625,"attle":4626,"Ġmusic":4627,"Ġspeed":4628,"Ġdoc":4629,"process":4630,"IGHT":4631,".parse":4632,"Ġtaking":4633,"Ġviol":4634,"ceed":4635,"ĠAfter":4636,"Ġforward":4637,"Ġcrit":4638,"\"/>Ċ":4639,"rot":4640,"Ġfailed":4641,"efore":4642,"Ġconcern":4643,"oe":4644,"ba":4645,"Ġsender":4646,"Ġterm":4647,"has":4648,"=\"#":4649,"Ġpotential":4650,"Num":4651,"Ġpublished":4652,".close":4653,"ĠImage":4654,"straint":4655,"UD":4656,"ĠOb":4657,"Ġprobably":4658,"lim":4659,"\":Ċ":4660,"olume":4661,"Ġconsum":4662,"ague":4663,"ensions":4664,"Ġinvestig":4665,"-year":4666,"');":4667,"-sm":4668,"Ġenjoy":4669,"orig":4670,"ering":4671,"cp":4672,"leased":4673,"plements":4674,"Ġreturns":4675,"pat":4676,"BO":4677,"ĠHouse":4678,".Label":4679,"Ġweight":4680,"ighb":4681,"Ġconditions":4682,"Ġexception":4683,"description":4684,"Ġtrad":4685,"-to":4686,"Ġ{}":4687,"Ġmodule":4688,"END":4689,".ap":4690,".props":4691,"Ġconstructor":4692,"aves":4693,"Ġfavor":4694,"ĠNow":4695,";i":4696,"ĠMain":4697,"_k":4698,"eries":4699,"âĢĻll":4700,"transform":4701,"imestamp":4702,"Pre":4703,"Ġmer":4704,".res":4705,"stant":4706,"Location":4707,"_NAME":4708,"Ġloss":4709,"ĠĊĊ":4710,"net":4711,"Ġengine":4712,"Block":4713,"Ġissues":4714,"Ġparse":4715,"ĠBar":4716,"Ġstay":4717,"ĠJSON":4718,"Ġdom":4719,"airs":4720,"wner":4721,"Ġlower":4722,"\",čĊ":4723,"ĠDem":4724,"ufact":4725,"Ġps":4726,"Ġperfect":4727,"RL":4728,"Ġeduc":4729,"ls":4730,"emory":4731,"ARRANT":4732,"uge":4733,"Ġexact":4734,".key":4735,"alled":4736,"ech":4737,"ief":4738,"\\/":4739,"oke":4740,"Ġformer":4741,"alloc":4742,"Ġsix":4743,"ida":4744,"Ġmargin":4745,"Ġheart":4746,"ald":4747,"pack":4748,".getElementById":4749,"ĠWARRANT":4750,"Ġrather":4751,"Ġbuilding":4752,"erman":4753,"lice":4754,"Ġquestions":4755,"izes":4756,"lege":4757,"irectory":4758,"Ġje":4759,"Ġcas":4760,"props":4761,"utf":4762,"Ġsecurity":4763,"Ġhowever":4764,"weight":4765,"Ġinside":4766,"Ġpresident":4767,"Char":4768,"ĠWITH":4769,".map":4770,"Ġgraph":4771,"Ġtag":4772,"_status":4773,"Ġattempt":4774,"opp":4775,"uses":4776,"ĉconst":4777,"Ġround":4778,",$":4779,"Ġfriends":4780,"Email":4781,"?>":4782,"Resource":4783,"KEY":4784,"osp":4785,".query":4786,"ĠNorth":4787,"ables":4788,"istrib":4789,"_class":4790,"ello":4791,"That":4792,"к":4793,"pecially":4794,"ĠPresident":4795,"Ġcampaign":4796,"Ġalt":4797,"area":4798,"Ġchall":4799,"Ġopport":4800,".Con":4801,"Ġenergy":4802,"like":4803,".string":4804,"ington":4805,")*":4806,"yy":4807,"Ġprofession":4808,"irth":4809,"Ġseg":4810,"æľ":4811,"Ġhor":4812,"iers":4813,"can":4814,"Ġbehind":4815,"Product":4816,"fg":4817,"ĠSk":4818,".jpg":4819,"?:":4820,"];ĊĊ":4821,"Ġcallback":4822,"ĠHttp":4823,"ÑĮ":4824,"long":4825,"MS":4826,"ATH":4827,"Ġraise":4828,"Ġwanted":4829,"rown":4830,"utor":4831,"lt":4832,"]=":4833,"eline":4834,"MA":4835,"Ġsepar":4836,"cs":4837,"semb":4838,"Dis":4839,"bserv":4840,"ĠWill":4841,"Ġpolicy":4842,"Ġthird":4843,"phone":4844,"Ġbed":4845,"/g":4846,".__":4847,"ĠInc":4848,"izing":4849,".remove":4850,"instance":4851,".type":4852,"Ġserv":4853,"Each":4854,"Ġhar":4855,"ĠMessage":4856,"(key":4857,"SELECT":4858,"Pos":4859,"));čĊ":4860,"Ġrecomm":4861,"Ġtraining":4862,"ĠEnt":4863,"ĠChar":4864,"icht":4865,"(file":4866,"Ġprior":4867,"Game":4868,"Ġexit":4869,"Params":4870,".core":4871,"PC":4872,"nes":4873,"anced":4874,"(request":4875,"Password":4876,"}>Ċ":4877,"Ġmag":4878,"Ġrelease":4879,"Ġshall":4880,"udent":4881,"ĠSouth":4882,"ando":4883,":'":4884,".TabIndex":4885,"sk":4886,"anner":4887,"isset":4888,"Ġoutside":4889,"ledge":4890,"Ġå":4891,"ĠRob":4892,"Ġimm":4893,"!Ċ":4894,"ĠWeb":4895,"Des":4896,"BC":4897,"ancial":4898,"Route":4899,"Dec":4900,"ferences":4901,"Ġpurch":4902,"ĠModel":4903,"ctor":4904,"gn":4905,"_start":4906,"_un":4907,".*":4908,"ises":4909,"Ġground":4910,"Ġunique":4911,"Ġbeaut":4912,"{\"":4913,"Ġpour":4914,"ĠOct":4915,"Ġtree":4916,"sets":4917,"_res":4918,"')->":4919,"_reg":4920,"(\"\\":4921,"Ġbyte":4922,"Bl":4923,"Ġdating":4924,"Ġmatter":4925,"ĠRem":4926,"Ġ'../":4927,"ĠAug":4928,"ĠLa":4929,"Ġ$(":4930,"ournal":4931,"iam":4932,"Ġshows":4933,"write":4934,"Ġball":4935,"Ġsimply":4936,"Ġfast":4937,"Ġmemory":4938,"ASS":4939,"ĠOf":4940,"oved":4941,"ante":4942,"aul":4943,"istry":4944,")));Ċ":4945,"Ġfit":4946,"_":5129,"\")ĊĊ":5130,"ox":5131,"application":5132,"Ġ]Ċ":5133,"ĊĊĊĊĊĊ":5134,"Ġsoon":5135,"ctions":5136,"inger":5137,"Ġjoin":5138,"ĠPe":5139,"Ġë":5140,"Ġlas":5141,".E":5142,"css":5143,"/or":5144,"ĠStart":5145,"ĠTO":5146,"Ġsubs":5147,"conn":5148,"components":5149,"DEBUG":5150,"quare":5151,"Function":5152,"endar":5153,".index":5154,"Ġfill":5155,"ÄĻ":5156,"Ġchoose":5157,"how":5158,"ĠAmerica":5159,"assets":5160,"------------":5161,"ĠValue":5162,"Ġoffice":5163,"Ġveh":5164,"Ġtransform":5165,"ĠArt":5166,"Ġinde":5167,"Ġfn":5168,"Ġimplements":5169,"ango":5170,"plete":5171,"+\"":5172,"tmp":5173,"amily":5174,"Ġhash":5175,"missions":5176,"EST":5177,"gt":5178,"Provider":5179,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":5180,"Ġflag":5181,"Ġparticip":5182,"den":5183,"ĠReturns":5184,"Ġnote":5185,"ür":5186,"pm":5187,"ideos":5188,"Ġspecified":5189,"ĠEN":5190,"ester":5191,"olid":5192,"Ġupon":5193,"(std":5194,"ĉv":5195,"Ġ'\\":5196,"uz":5197,"Ġvert":5198,"Ġvict":5199,"ĉself":5200,"Ġ\"$":5201,".k":5202,"Ġgroups":5203,"github":5204,"lang":5205,"Ġmut":5206,"TO":5207,"Ġve":5208,"ĠPlease":5209,";ĊĊĊ":5210,"access":5211,"Ġ{\"":5212,"rea":5213,"Ġrisk":5214,"icker":5215,"oggle":5216,"ĉwhile":5217,"ANG":5218,".send":5219,"Ġwoman":5220,"Ġgets":5221,"Ġign":5222,"ĠId":5223,"_log":5224,"ONE":5225,"Ġevid":5226,"ĠHar":5227,"_sub":5228,"Ġendl":5229,"Ġincluded":5230,"());ĊĊ":5231,"ĠAp":5232,"igr":5233,"Ġsem":5234,"ĠBlack":5235,"doc":5236,"_table":5237,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":5238,"-up":5239,"Ġcause":5240,"Ġ..":5241,"Ġvan":5242,"_dict":5243,"Ġfocus":5244,"IND":5245,"CESS":5246,".Log":5247,"Ġmultiple":5248,"ido":5249,"Ġregard":5250,"-M":5251,"andler":5252,"ourse":5253,"Ġdeg":5254,".U":5255,"Ġaddition":5256,"Ġvarious":5257,"Ġreceive":5258,"ен":5259,"ĠHT":5260,"Obj":5261,"DF":5262,"Ġincrease":5263,"ĠOpen":5264,"];":5265,"Ġcommit":5266,"?Ċ":5267,"ategories":5268,"atory":5269,"ship":5270,"ĠMich":5271,"Ġhtml":5272,"romise":5273,"Ġleave":5274,"Ġstrateg":5275,"aven":5276,"ĠConsole":5277,"known":5278,"-n":5279,"_LE":5280,".component":5281,"Ġbre":5282,"Session":5283,"iance":5284,"Ġalign":5285,"typedef":5286,"_result":5287,"ĠWHERE":5288,".split":5289,"Ġreading":5290,"FAULT":5291,"Ġclo":5292,"Ġnotice":5293,"_pr":5294,"arter":5295,"Ġlock":5296,"Ġstandard":5297,"etic":5298,"ellow":5299,"Ġpadding":5300,"ĠHis":5301,"Ġstates":5302,"_cast":5303,"(P":5304,"aa":5305,"Ġinternal":5306,"ean":5307,"ĠPRO":5308,"ĠKey":5309,"Ġespecially":5310,"ming":5311,"Ġcross":5312,"Ġnational":5313,"_object":5314,"filter":5315,"Ġscript":5316,".update":5317,"_i":5318,"ĠAssert":5319,"/core":5320,"%%%%":5321,"Ġproblems":5322,"istor":5323,"Ġ.=":5324,"Ġarch":5325,"Ġwritten":5326,"Ġmilit":5327,"MENT":5328,".ch":5329,"cape":5330,"ĠMus":5331,"_config":5332,"ĠAPI":5333,"foot":5334,"Ġimages":5335,"endl":5336,".In":5337,"First":5338,"Ġplatform":5339,".prot":5340,"Option":5341,"ste":5342,"ĠTODO":5343,"Ġforce":5344,".cont":5345,"ĉecho":5346,"ĠDav":5347,"Ptr":5348,"(B":5349,"RT":5350,"ĠBase":5351,"]['":5352,"Ġannounc":5353,"console":5354,"ĠPy":5355,"ds":5356,".as":5357,"Ġprevent":5358,"apan":5359,"Ġ{'":5360,"}'":5592,"Ġdead":5593,"VAL":5594,"QUE":5595,"************************************************************************":5596,"Ġcharg":5597,"Return":5598,"Ġful":5599,"dom":5600,"Ġrules":5601,"Ġmodify":5602,"Ġeval":5603,"ham":5604,"atement":5605,"\\<":5606,"ula":5607,"=False":5608,"RA":5609,"Ġcontains":5610,"Ġstack":5611,"mar":5612,"Ġ{}Ċ":5613,"Ġundefined":5614,"Ass":5615,"ĠChina":5616,"vey":5617,"*Ċ":5618,"Ġplaying":5619,")/":5620,"actor":5621,"Ġbottom":5622,"lier":5623,"ĠNumber":5624,"Ġcouple":5625,"DC":5626,"ĠSO":5627,"gor":5628,".setText":5629,"success":5630,"command":5631,"Filter":5632,"ĠOur":5633,"_item":5634,"Ġctx":5635,"Ġroad":5636,"Version":5637,"case":5638,"urt":5639,"avior":5640,"ych":5641,"sembly":5642,"ĠProduct":5643,"Ġheld":5644,"afe":5645,"Ġincludes":5646,"&":5789,"CON":5790,"Ġrepl":5791,"Ġregular":5792,"Storage":5793,"ramework":5794,"Ġgoal":5795,"Ġtouch":5796,".widget":5797,"Ġbuilt":5798,"des":5799,"Part":5800,"(re":5801,"Ġworth":5802,"hib":5803,"game":5804,"Ġв":5805,"acion":5806,"ĠWhite":5807,"(type":5808,"(`":5809,"Ġnatural":5810,"Ġinj":5811,"Ġcalcul":5812,"ĠApril":5813,".List":5814,"Ġassociated":5815,"ĉSystem":5816,"~~":5817,"=[":5818,"Ġstorage":5819,"Ġbytes":5820,"Ġtravel":5821,"Ġsou":5822,"Ġpassed":5823,"!=":5824,"ascript":5825,".open":5826,"Ġgrid":5827,"Ġbus":5828,"Ġrecogn":5829,"Ab":5830,"Ġhon":5831,"ĠCenter":5832,"Ġprec":5833,"build":5834,"HTML":5835,"ĠSan":5836,"Ġcountries":5837,"aled":5838,"token":5839,"kt":5840,"Ġqual":5841,"Last":5842,"adow":5843,"Ġmanufact":5844,"idad":5845,"jango":5846,"Next":5847,"xf":5848,".a":5849,"Ġporno":5850,"ĠPM":5851,"erve":5852,"iting":5853,"_th":5854,"ci":5855,"=None":5856,"gs":5857,"Ġlogin":5858,"atives":5859,"']);Ċ":5860,"Äħ":5861,"Ġill":5862,"IA":5863,"children":5864,"DO":5865,"Ġlevels":5866,"Ġ{{":5867,"Ġlooks":5868,"Ġ\"#":5869,"ToString":5870,"Ġnecessary":5871,"ĠĠĠĊ":5872,"cell":5873,"Entry":5874,"Ġ'#":5875,"Ġextrem":5876,"Selector":5877,"Ġplaceholder":5878,"Load":5879,"Ġreleased":5880,"ORE":5881,"Enumer":5882,"ĠTV":5883,"SET":5884,"inq":5885,"Press":5886,"ĠDepartment":5887,"Ġproperties":5888,"Ġrespond":5889,"Search":5890,"ael":5891,"Ġrequ":5892,"ĠBook":5893,"/Ċ":5894,"(st":5895,"Ġfinancial":5896,"icket":5897,"_input":5898,"Ġthreat":5899,"(in":5900,"Strip":5901,"ìĿ":5902,"ção":5903,"Ġevidence":5904,"));":5905,"ĠBro":5906,"Ġ[];Ċ":5907,"Ġou":5908,"buf":5909,"Script":5910,"dat":5911,"Ġrule":5912,"#import":5913,"=\"/":5914,"Serial":5915,"Ġstarting":5916,"[index":5917,"ae":5918,"Ġcontrib":5919,"session":5920,"_new":5921,"utable":5922,"ober":5923,"Ġ\"./":5924,"Ġlogger":5925,"Ġrecently":5926,"Ġreturned":5927,"ččĊ":5928,")))Ċ":5929,"itions":5930,"Ġseek":5931,"Ġcommunic":5932,"Ġ\".":5933,"Ġusername":5934,"ECT":5935,"DS":5936,"Ġotherwise":5937,"ĠGerman":5938,".aw":5939,"Adapter":5940,"ixel":5941,"Ġsystems":5942,"Ġdrop":5943,"Ġstructure":5944,"Ġ$(\"#":5945,"encies":5946,"anning":5947,"ĠLink":5948,"ĠResponse":5949,"Ġstri":5950,"ż":5951,"ĠDB":5952,"æĹ":5953,"android":5954,"submit":5955,"otion":5956,"(@":5957,".test":5958,"ĊĊĊĊĊĊĊĊ":5959,"];čĊ":5960,"Ġdirectly":5961,"Ġ\"%":5962,"ris":5963,"elta":5964,"AIL":5965,"){čĊ":5966,"mine":5967,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":5968,"(k":5969,"bon":5970,"asic":5971,"pite":5972,"___":5973,"Max":5974,"Ġerrors":5975,"ĠWhile":5976,"Ġarguments":5977,"Ġensure":5978,"Right":5979,"-based":5980,"Web":5981,"Ġ-=":5982,"Ġintrodu":5983,"ĠInst":5984,"ĠWash":5985,"ordin":5986,"join":5987,"Database":5988,"Ġgrad":5989,"Ġusually":5990,"ITE":5991,"Props":5992,"?>Ċ":5993,"ĠGo":5994,"@Override":5995,"REF":5996,"Ġip":5997,"ĠAustral":5998,"Ġist":5999,"ViewById":6000,"Ġserious":6001,"Ġcustomer":6002,".prototype":6003,"odo":6004,"cor":6005,"Ġdoor":6006,"ĠWITHOUT":6007,"Ġplant":6008,"Ġbegan":6009,"Ġdistance":6010,"()).":6011,"Ġchance":6012,"Ġord":6013,"came":6014,"pragma":6015,"Ġprotect":6016,"ragment":6017,"ĠNode":6018,"ening":6019,"Ñĩ":6020,"Ġroute":6021,"ĠSchool":6022,"hi":6023,"Ġneighb":6024,"After":6025,"licit":6026,"Ġcontr":6027,"Ġprimary":6028,"AA":6029,".WriteLine":6030,"utils":6031,"Ġbi":6032,"Red":6033,".Linq":6034,".object":6035,"Ġleaders":6036,"unities":6037,"Ġgun":6038,"onth":6039,"ĠDev":6040,"FILE":6041,"Ġcomments":6042,"_len":6043,"arrow":6044,"amount":6045,"Range":6046,"sert":6047,"GridView":6048,"Ġupdated":6049,"ĠMo":6050,"Ġinform":6051,"ociety":6052,"ala":6053,"Access":6054,"Ġhab":6055,"Ġcreat":6056,"_arg":6057,"ĠJanuary":6058,"ĠDay":6059,"\")čĊ":6060,"uple":6061,"document":6062,"gorith":6063,"menu":6064,"ĠOver":6065,"bb":6066,".title":6067,"_out":6068,"Ġled":6069,"uri":6070,"Ġ?>Ċ":6107,"run":6108,"Ġscene":6109,"(array":6110,"device":6111,"_title":6112,"agon":6113,"]čĊ":6114,"aby":6115,"Ġbecame":6116,"boolean":6117,"Ġpark":6118,"ĠCode":6119,"upload":6120,"riday":6121,"ĠSeptember":6122,"Fe":6123,"Ġsen":6124,"cing":6125,"FL":6126,"Col":6127,"uts":6128,"_page":6129,"inn":6130,"Ġimplied":6131,"aling":6132,"Ġyourself":6133,".Count":6134,"conf":6135,"Ġaud":6136,"_init":6137,".)":6138,"Ġwrote":6139,"NG":6140,".Error":6141,"ä»":6142,".for":6143,"Ġequal":6144,"ĠRequest":6145,"Ġserial":6146,"Ġallows":6147,"XX":6148,"Ġmiddle":6149,"chor":6150,"ø":6151,"erval":6152,".Column":6153,"reading":6154,"Ġescort":6155,"ĠAugust":6156,"Ġquickly":6157,"Ġweap":6158,"ĠCG":6159,"ropri":6160,"ho":6161,"Ġcop":6162,"(struct":6163,"ĠBig":6164,"Ġvs":6165,"Ġfrequ":6166,".Value":6167,"Ġactions":6168,"Ġproper":6169,"Ġinn":6170,"Ġobjects":6171,"Ġmatrix":6172,"avascript":6173,"Ġones":6174,".group":6175,"Ġgreen":6176,"Ġpaint":6177,"ools":6178,"ycl":6179,"encode":6180,"olt":6181,"comment":6182,".api":6183,"Dir":6184,"Ġune":6185,"izont":6186,".position":6187,"Ġdesigned":6188,"_val":6189,"avi":6190,"iring":6191,"tab":6192,"Ġlayer":6193,"Ġviews":6194,"Ġreve":6195,"rael":6196,"ĠON":6197,"rics":6198,"np":6199,"Ġcore":6200,"());čĊ":6201,"Main":6202,"Ġexpert":6203,"ĉĉčĊ":6204,"_en":6205,"Ġ/>":6206,"utter":6207,"IAL":6208,"ails":6209,"ĠKing":6210,"*/ĊĊ":6211,"ĠMet":6212,"_end":6213,"addr":6214,"ora":6215,"Ġir":6216,"Min":6217,"Ġsurpr":6218,"Ġrepe":6219,"Ġdirectory":6220,"PUT":6221,"-S":6222,"Ġelection":6223,"haps":6224,".pre":6225,"cm":6226,"Values":6227,"Ġ\"Ċ":6228,"column":6229,"ivil":6230,"Login":6231,"inue":6232,"Ġbeautiful":6233,"Ġsecret":6234,"(event":6235,"Ġchat":6236,"ums":6237,"Ġorigin":6238,"Ġeffects":6239,"Ġmanagement":6240,"illa":6241,"tk":6242,"Ġsetting":6243,"ĠCour":6244,"Ġmassage":6245,"ĉend":6246,"Ġhappy":6247,"Ġfinish":6248,"Ġcamera":6249,"ĠVer":6250,"ĠDemocr":6251,"ĠHer":6252,"(Q":6253,"cons":6254,"ita":6255,"Ġ'.":6256,"{}":6257,"ĉC":6258,"Ġstuff":6259,"Ġ:Ċ":6260,"ĠAR":6261,"Task":6262,"hidden":6263,"eros":6264,"IGN":6265,"atio":6266,"ĠHealth":6267,"olute":6268,"Enter":6269,"'>":6270,"ĠTwitter":6271,"ĠCounty":6272,"scribe":6273,"Ġ=>Ċ":6274,"Ġhy":6275,"fit":6276,"Ġmilitary":6277,"Ġsale":6278,"required":6279,"non":6280,"bootstrap":6281,"hold":6282,"rim":6283,"-old":6284,"ĠDown":6285,"Ġmention":6286,"contact":6287,"_group":6288,"oday":6289,"Ġtown":6290,"Ġsolution":6291,"uate":6292,"elling":6293,"]->":6294,"otes":6295,"ental":6296,"omen":6297,"ospital":6298,"ĠSup":6299,"_EN":6300,"Ġslow":6301,"SESSION":6302,"Ġblue":6303,"ago":6304,"Ġlives":6305,"Ġ^":6306,".un":6307,"inst":6308,"enge":6309,"Ġcustomers":6310,"Ġcast":6311,"udget":6312,"ï¼ģ":6313,"icens":6314,"Ġdetermin":6315,"Selected":6316,"_pl":6317,"ueue":6318,"Ġdark":6319,"//ĊĊ":6320,"si":6321,"thern":6322,"ĠJapan":6323,"/w":6324,"PU":6325,"ĠEast":6326,"ovie":6327,"Ġpackage":6328,"Ġnor":6329,"Ġapi":6330,"bot":6331,"\"];Ċ":6332,"_post":6333,"ulate":6334,"Ġclub":6335,"'));Ċ":6336,"Ġloop":6337,"PIO":6338,"ione":6339,"shot":6340,"Initial":6341,"Ġplayed":6342,"register":6343,"rought":6344,"_max":6345,"acement":6346,"match":6347,"raphics":6348,"AST":6349,"Ġexisting":6350,"Ġcomplex":6351,"DA":6352,".Ch":6353,".common":6354,"mo":6355,"Ġ'../../":6356,"ito":6357,"Ġanalysis":6358,"Ġdeliver":6359,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ":6360,"idx":6361,"Ãł":6362,"ongo":6363,"ĠEnglish":6364,"Ċ":9992,"_default":9993,"ĠDatabase":9994,"rep":9995,"ESS":9996,"nergy":9997,".Find":9998,"_mask":9999,"Ġrise":10000,"Ġkernel":10001,"::$":10002,".Q":10003,"Ġoffering":10004,"decl":10005,"ĠCS":10006,"Ġlisted":10007,"Ġmostly":10008,"enger":10009,"Ġblocks":10010,"olo":10011,"Ġgoverning":10012,"\\F":10013,"Ġconcent":10014,".getText":10015,"Ġmb":10016,"Ġoccurred":10017,"Ġchanging":10018,"Scene":10019,"_CODE":10020,"Beh":10021,"\"The":10022,"Ġtile":10023,"ĠAssociation":10024,"ĉP":10025,"alty":10026,"_ad":10027,"odies":10028,"iated":10029,"Ġprepared":10030,"possible":10031,"Ġmort":10032,"TEST":10033,"Ġignore":10034,"Ġcalc":10035,"Ġrs":10036,"ĠassertEquals":10037,"Ġsz":10038,"ĠTHIS":10039,".\"Ċ":10040,"Ġcanvas":10041,"java":10042,"Ġdut":10043,"VALID":10044,".sql":10045,".input":10046,"Ġaux":10047,"Sup":10048,"Ġartist":10049,"Vec":10050,"_TIME":10051,".stringify":10052,"etween":10053,"ĠCategory":10054,"Ġ[-":10055,"ĠDevExpress":10056,"ĠJul":10057,"Ġring":10058,".ed":10059,"YY":10060,"Let":10061,"TextField":10062,"Ġflat":10063,"_print":10064,"ĠOTHER":10065,"adian":10066,"Ġchecked":10067,"ele":10068,"Align":10069,"standing":10070,"Ġ[],":10071,"Ġlab":10072,"ucky":10073,"ĠChristmas":10074,"(image":10075,".module":10076,"Ġlots":10077,"Ġslightly":10078,"(final":10079,"erge":10080,"è¿":10081,"ĠPolice":10082,"ĠRight":10083,"Ġaward":10084,"ĠOS":10085,"Ġ{}ĊĊ":10086,"Ġptr":10087,"oves":10088,"icated":10089,"ем":10090,"Ġmanage":10091,"oliday":10092,"Amount":10093,"oolStrip":10094,"tbody":10095,"Nav":10096,"wrap":10097,"BB":10098,"Ġwatching":10099,"arios":10100,"Ġoptional":10101,"_K":10102,"ĠLicensed":10103,".Map":10104,"Timer":10105,"ĠAP":10106,"ĠRev":10107,"(o":10108,",c":10109,"umin":10110,"etailed":10111,"ĠHy":10112,"Ġblank":10113,"agger":10114,"ĠSelf":10115,"()[":10116,".make":10117,"earn":10118,"channel":10119,";Ċ":10133,"World":10134,"Ġpython":10135,"Ġlif":10136,"Ġtrav":10137,"Ġconven":10138,"company":10139,"ĠClub":10140,"Ver":10141,"Btn":10142,"Ġzone":10143,"products":10144,"ĠEduc":10145,"Ġverify":10146,"ĠMil":10147,"ono":10148,"]);ĊĊ":10149,"ENCE":10150,"Ġpacket":10151,"Ġcer":10152,"Ġenumer":10153,"Ġpars":10154,"formed":10155,"Ġoccup":10156,"tre":10157,"Ġexercise":10158,"Day":10159,"_sum":10160,"Ġasking":10161,"aption":10162,"Ġorders":10163,"Ġspending":10164,"ĠERR":10165,".Dis":10166,"ĠUtil":10167,"âĢľI":10168,"\\'":10169,"?)":10170,"/>Ċ":10171,"Ġemot":10172,"Ġinfluence":10173,"ĠAfrica":10174,"atters":10175,"Ùħ":10176,".session":10177,"Ġchief":10178,"ĉĉĉĉĉĉĉĉĉĉĉ":10179,"Ġtom":10180,"cluded":10181,"serial":10182,"_handler":10183,".Type":10184,"aped":10185,"Ġpolicies":10186,"-ex":10187,"-tr":10188,"blank":10189,"merce":10190,"Ġcoverage":10191,"Ġrc":10192,"_matrix":10193,"_box":10194,"Ġcharges":10195,"ĠBoston":10196,"Pe":10197,"Ġcircum":10198,"Ġfilled":10199,"Ġnorth":10200,"ictureBox":10201,"ĉres":10202,"è®":10203,"Ġtermin":10204,"Ġ[â̦":10205,"IRECT":10206,"Ġber":10207,"Ġ\"../../":10208,"retch":10209,".code":10210,"_col":10211,"ĠGovernment":10212,"Ġargv":10213,"ĠLord":10214,"asi":10215,"Exec":10216,"ĉlet":10217,"vertis":10218,"Ġdiscussion":10219,"enance":10220,"outube":10221,"typeof":10222,"Ġserved":10223,"ĠPut":10224,"ĉx":10225,"Ġsweet":10226,"Before":10227,"ategy":10228,".of":10229,"ĠMaterial":10230,"Sort":10231,"ONT":10232,"igital":10233,"Why":10234,"Ġsust":10235,"Ġç":10236,"abet":10237,"Ġsegment":10238,"Ġ[],Ċ":10239,"ĠMuslim":10240,"ĠfindViewById":10241,"cut":10242,"_TEXT":10243,"ĠMary":10244,"Ġloved":10245,"Ġlie":10246,"ĠJO":10247,"Ġisset":10248,"month":10249,"Ġprime":10250,"ti":10251,"ĠCarol":10252,"Use":10253,"ĠPop":10254,"ĠSave":10255,"Interval":10256,"execute":10257,"dy":10258,"ĠIran":10259,"_cont":10260,"ĉT":10261,"Ġphase":10262,"checkbox":10263,"week":10264,"Ġhide":10265,"Ġtil":10266,"Ġju":10267,"Custom":10268,"burg":10269,"/M":10270,"TON":10271,"Ġquant":10272,"Ġrub":10273,"ixels":10274,"Ġinstalled":10275,"Ġdump":10276,"Ġproperly":10277,"(List":10278,"Ġdecide":10279,"apply":10280,"Has":10281,"Ġkeeping":10282,"Ġcitizens":10283,"Ġjoint":10284,"pool":10285,"Socket":10286,"_op":10287,"Ġweapon":10288,"gnore":10289,"ĠExec":10290,"otten":10291,"ĠMS":10292,"Ġ(-":10293,"ĠReview":10294,"Ġexamples":10295,"Ġtight":10296,"!(":10297,"DP":10298,"ĠMessageBox":10299,"Ġphotograph":10300,"URI":10301,"ét":10302,"low":10303,"ĠGrand":10304,".persistence":10305,"Ġmaintain":10306,"Ġnums":10307,"Ġzip":10308,"ials":10309,"ĠGets":10310,"peg":10311,"ĠBuffer":10312,"~~~~":10313,"rastructure":10314,"ĠPL":10315,"uen":10316,"obby":10317,"sizeof":10318,"Ġpic":10319,"Ġseed":10320,"Ġexperienced":10321,"Ġodd":10322,"Ġkick":10323,"Ġprocedure":10324,"avigator":10325,"-on":10326,",j":10327,"ĠAlthough":10328,"ĠuserId":10329,"accept":10330,"Blue":10331,"IColor":10332,"layer":10333,"available":10334,"Ġends":10335,".table":10336,"Ġdataset":10337,"bus":10338,"Ġexplain":10339,"(pro":10340,"ĠCommittee":10341,"Ġnoted":10342,"]:Ċ":10343,"Dim":10344,"stdio":10345,".\",Ċ":10346,"_source":10347,"ĠWeek":10348,"ĠEdge":10349,"Ġoperating":10350,"Ġeste":10351,"ipl":10352,"agination":10353,"Ġproceed":10354,"Ġanimation":10355,".Models":10356,"ĠWatch":10357,"iat":10358,"Ġoppon":10359,"/A":10360,"Report":10361,"Ġsounds":10362,"_buf":10363,"IELD":10364,"Ġbund":10365,"ĉget":10366,".pr":10367,"(tmp":10368,"Ġkid":10369,">ĊĊĊ":10370,"Ġyang":10371,"NotFound":10372,"ÑĨ":10373,"math":10374,"@gmail":10375,"ĠLIMIT":10376,"redients":10377,"Ġvent":10378,"avigate":10379,"Look":10380,"Ġreligious":10381,"Ġrand":10382,"rio":10383,"(GL":10384,"_ip":10385,"uan":10386,"iciency":10387,"ĠChange":10388,">čĊčĊ":10389,"ĠEntity":10390,"Ġrencontre":10391,"ĠRet":10392,"plan":10393,"én":10394,"BOOL":10395,"uries":10396,"train":10397,"Definition":10398,"============":10399,"zz":10400,"Animation":10401,"ĠOK":10402,"_menu":10403,".bl":10404,"_score":10405,"Ġacad":10406,"(System":10407,"Ġrefresh":10408,"'=>$":10409,".Graphics":10410,"amento":10411,"pid":10412,"tc":10413,"Ġtips":10414,"Ġhomes":10415,"Ġfuel":10416,"âĸ":10417,"_helper":10418,"ĠĠčĊ":10419,"ĠRoom":10420,".Close":10421,"_attr":10422,"ĠMount":10423,"ĠEv":10424,"arser":10425,"_top":10426,"eah":10427,"ĠDelete":10428,"ãĢį":10429,"uke":10430,"Ġusage":10431,"aria":10432,"_dev":10433,"Ġtexture":10434,"Ġconversation":10435,"eper":10436,"Bean":10437,"done":10438,"nonatomic":10439,"ĠSecond":10440,"Ġshooting":10441,"_pre":10442,"Components":10443,"Ġ]ĊĊ":10444,"__,":10445,"stitution":10446,".Char":10447,">();ĊĊ":10448,"Ġpresented":10449,"Ġwa":10450,"oker":10451,"-ĊĊ":10452,"iner":10453,"Ġbecoming":10454,"Ġincident":10455,"Att":10456,"Ġrevealed":10457,"forc":10458,"Ġboot":10459,".page":10460,"Enumerator":10461,"_->":10462,"Photo":10463,"Ġspring":10464,".\",":10465,"ĠDictionary":10466,"BJECT":10467,"Ġlocations":10468,"Ġsamples":10469,"InputStream":10470,"ĠBrown":10471,"Ġstats":10472,"quality":10473,"Ñħ":10474,"-dis":10475,"Ġhelping":10476,"Ġped":10477,"(se":10478,"ĠWho":10479,"alian":10480,"internal":10481,"Ġft":10482,">().":10483,"->{":10484,"Ġmine":10485,"Ġsector":10486,"Ġgro":10487,"Ġopportunities":10488,"Ġü":10489,"Ġmp":10490,"Ġalleged":10491,"Ġdoubt":10492,"Mouse":10493,"About":10494,"_part":10495,"Ġchair":10496,"Ġstopped":10497,"loop":10498,"entities":10499,"Ġapps":10500,"ansion":10501,"Ġmental":10502,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":10503,"FR":10504,"Ġdefend":10505,"care":10506,"Ġideal":10507,"/api":10508,"urface":10509,"Ġele":10510,"ulator":10511,"ĠRights":10512,"anguages":10513,"Ġfunds":10514,"Ġadapt":10515,"Attributes":10516,"Ġdeploy":10517,"opts":10518,"Ġvalidation":10519,"Ġconcerns":10520,"uce":10521,".num":10522,"ulture":10523,"ila":10524,"Ġcup":10525,"Ġpure":10526,".Fore":10527,"ĠHashMap":10528,".valueOf":10529,"asm":10530,"MO":10531,"Ġcs":10532,"Ġstores":10533,"Ġ************************************************************************":10534,"Ġcommunication":10535,"mem":10536,".EventHandler":10537,".Status":10538,"_right":10539,".setOn":10540,"Sheet":10541,"Ġidentify":10542,"enerated":10543,"ordered":10544,"Ġ\"[":10545,"Ġswe":10546,"Condition":10547,"ĠAccording":10548,"Ġprepare":10549,"Ġrob":10550,"Pool":10551,"Ġsport":10552,"rv":10553,"ĠRouter":10554,"Ġalternative":10555,"([]":10556,"ĠChicago":10557,"ipher":10558,"ische":10559,"ĠDirector":10560,"kl":10561,"ĠWil":10562,"keys":10563,"Ġmysql":10564,"Ġwelcome":10565,"king":10566,"ĠManager":10567,"Ġcaught":10568,")}Ċ":10569,"Score":10570,"_PR":10571,"Ġsurvey":10572,"hab":10573,"Headers":10574,"ADER":10575,"Ġdecor":10576,"Ġturns":10577,"Ġradius":10578,"errupt":10579,"Cor":10580,"Ġmel":10581,"Ġintr":10582,"(q":10583,"ĠAC":10584,"amos":10585,"MAX":10586,"ĠGrid":10587,"ĠJesus":10588,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":10589,".DE":10590,"Ġts":10591,"Ġlinked":10592,"free":10593,"ĠQt":10594,"Ġ/**čĊ":10595,"Ġfaster":10596,"ctr":10597,"_J":10598,"DT":10599,".Check":10600,"Ġcombination":10601,"Ġintended":10602,"-the":10603,"-type":10604,"ectors":10605,"ami":10606,"uting":10607,"Ġuma":10608,"XML":10609,"UCT":10610,"Ap":10611,"ĠRandom":10612,"Ġran":10613,".sort":10614,"Ġsorted":10615,".Un":10616,"_PER":10617,"itory":10618,"Ġpriority":10619,"ĠGal":10620,"ĠOld":10621,"hot":10622,"ĠDisplay":10623,"(sub":10624,"_TH":10625,"_Y":10626,"ĠCare":10627,"loading":10628,"Kind":10629,"_handle":10630,",,":10631,"rase":10632,"_replace":10633,".addEventListener":10634,"ĠRT":10635,"Ġentered":10636,"gers":10637,"Ġich":10638,"(start":10639,"/app":10640,"Ġbrother":10641,"Memory":10642,"Outlet":10643,"Ġutf":10644,"prec":10645,"Ġnavigation":10646,"ORK":10647,"Ġdst":10648,"Detail":10649,"Ġaudience":10650,"Ġdur":10651,"Ġcluster":10652,"unched":10653,"Ġ],":10654,"Ġcomfortable":10655,".values":10656,"ĠTotal":10657,"Ġsnap":10658,"Ġstandards":10659,"Ġperformed":10660,"hand":10661,"(\"@":10662,"åŃ":10663,"Ġphil":10664,"ibr":10665,"trim":10666,"Ġforget":10667,"Ġdoctor":10668,".TextBox":10669,"icons":10670,",s":10671,"ĠOp":10672,"Sm":10673,"Stop":10674,"ĉList":10675,"ĉu":10676,"Comment":10677,"_VERSION":10678,".Xtra":10679,"Person":10680,"rb":10681,"LOB":10682,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ":10683,"ĠCentral":10684,"ICK":10685,"raq":10686,"Ġputting":10687,"Ġmd":10688,"ĠLove":10689,"Program":10690,"Border":10691,"oor":10692,"Ġallowing":10693,"after":10694,"Ġentries":10695,"ĠMaybe":10696,"]).":10697,"ĠShort":10698,")\\":10699,".now":10700,"friend":10701,"Ġprefer":10702,"ĠGPIO":10703,"osis":10704,"ĠGameObject":10705,"Ġskip":10706,"Ġcompetition":10707,"_match":10708,"lications":10709,"_CONT":10710,".groupBox":10711,"Ġals":10712,"\"We":10713,"_eq":10714,"lan":10715,"_search":10716,"ĠMusic":10717,"asis":10718,"Ġbind":10719,"ĠIsland":10720,"rum":10721,"(E":10722,"Ġseat":10723,"Video":10724,"Ġack":10725,"reek":10726,"={()":10727,"Ġrating":10728,"Ġrestaurant":10729,"DEX":10730,"(buf":10731,"pping":10732,"uality":10733,"Ġleague":10734,"Ġfocused":10735,"apon":10736,"$data":10737,"CLUD":10738,"CLUDING":10739,"Ġabsolute":10740,"(query":10741,"Ġtells":10742,"Ang":10743,"Ġcommunities":10744,"Ġhonest":10745,"oking":10746,"Ġapart":10747,"arity":10748,"/$":10749,"_module":10750,"ĠEnc":10751,".an":10752,".Config":10753,"Cre":10754,"Ġshock":10755,"ĠArab":10756,"IENT":10757,"/re":10758,"Ġretrie":10759,"ycler":10760,"isa":10761,"ĠOrgan":10762,".graph":10763,"Ġí":10764,"ĠBAS":10765,"Enum":10766,"Ġpossibly":10767,"ÑĢаÐ":10768,"ĠJapanese":10769,"Ġcraft":10770,"ĠPlace":10771,"Ġtalent":10772,"Ġfunding":10773,"Ġconfirmed":10774,"Ġcycle":10775,"/x":10776,"GE":10777,"Ġhearing":10778,"Ġplants":10779,"Ġmouth":10780,"pages":10781,"oria":10782,"ĠRemove":10783,"_total":10784,"Ġod":10785,"ollapse":10786,"door":10787,"Ġbought":10788,"Ġaddr":10789,"ARCH":10790,"_dim":10791,"dden":10792,"Ġdecades":10793,"REQUEST":10794,"Ġversions":10795,"fire":10796,"Ġmoves":10797,"fb":10798,"Ġcoffee":10799,".connect":10800,"ĠRow":10801,"Ġschema":10802,"Scope":10803,"-Type":10804,"Ġfighting":10805,"Ġretail":10806,"Ġmodified":10807,"TF":10808,"Files":10809,"nie":10810,"_command":10811,"stone":10812,"ĠÑĤ":10813,"_thread":10814,"Ġbond":10815,"ĠDevelopment":10816,"Ġpt":10817,"FORM":10818,"plet":10819,"Ġidentified":10820,"cpp":10821,"Ġcoding":10822,"oked":10823,"ĠMaster":10824,"IDTH":10825,"Ġresidents":10826,"redit":10827,"ĠPhoto":10828,"=-":10829,"unte":10830,"ateur":10831,"_STATE":10832,"ĠSing":10833,"Ġsheet":10834,".val":10835,"orse":10836,"Ġhers":10837,"Ġdetermined":10838,"Common":10839,"Ġwed":10840,"_queue":10841,"PH":10842,"ĠAtl":10843,"cred":10844,"/LICENSE":10845,"Ġmes":10846,"Ġadvanced":10847,".java":10848,".Sh":10849,"Go":10850,"kill":10851,"fp":10852,"_settings":10853,"Ġpal":10854,"Ġtruck":10855,"Ġcombined":10856,"Ġ\"${":10857,"ĠCorpor":10858,"Ġjoined":10859,"ĠJose":10860,"ĠCup":10861,"uns":10862,"estival":10863,"levision":10864,"Ġbroken":10865,"Ġmarriage":10866,"ĠWestern":10867,"Ġrepresents":10868,"ĠTitle":10869,"Ġss":10870,".Ass":10871,"ongoose":10872,"iento":10873,"<>();Ċ":10874,"Ġabsolutely":10875,"Ġsmooth":10876,"TERN":10877,"ĠUnless":10878,"Word":10879,"Ġmerge":10880,"igan":10881,"ĠVol":10882,"Ġnn":10883,".getId":10884,"Ġз":10885,"Ġsexy":10886,"Ġseeking":10887,"Single":10888,".this":10889,"Ġkom":10890,"bound":10891,";\"":10892,"ĠfontSize":10893,"_df":10894,"Ġinjury":10895,"(H":10896,"Ġissued":10897,"_END":10898,":self":10899,"Ġpatch":10900,"Ġleaves":10901,"Ġadopt":10902,"FileName":10903,"ãĢIJ":10904,"Ġexecutive":10905,"ĠByte":10906,"]))Ċ":10907,"Ġnu":10908,"outing":10909,"cluding":10910,"-R":10911,".options":10912,"Ġsubstant":10913,"avax":10914,"ĠBUT":10915,"Ġtechnical":10916,"Ġtwice":10917,"Ġmás":10918,"Ġunivers":10919,"yr":10920,"Ġdrag":10921,"ĠDC":10922,"Ġsed":10923,"Ġbot":10924,"ĠPal":10925,"ĠHall":10926,"forcement":10927,"Ġauch":10928,".mod":10929,"notation":10930,"_files":10931,".line":10932,"_flag":10933,"[name":10934,"Ġresolution":10935,"Ġbott":10936,"(\"[":10937,"ende":10938,"(arr":10939,"Free":10940,"(@\"":10941,"ĠDistrict":10942,"PEC":10943,":-":10944,"Picker":10945,"ĠJo":10946,"ĠĠĠĠĠĊ":10947,"ĠRiver":10948,"_rows":10949,"Ġhelpful":10950,"Ġmassive":10951,"---Ċ":10952,"Ġmeasures":10953,"ĠRuntime":10954,"Ġworry":10955,"ĠSpec":10956,"ĉD":10957,"ãĢij":10958,"Ġ){Ċ":10959,"Ġworse":10960,"(filename":10961,"Ġlay":10962,"Ġmagic":10963,"ĠTheir":10964,"oul":10965,"stroy":10966,"ĠWhere":10967,"Ġsudden":10968,"Ġdefe":10969,"Ġbinding":10970,"Ġflight":10971,"ĠOnInit":10972,"ĠWomen":10973,"ĠPolicy":10974,"Ġdrugs":10975,"ishing":10976,"('../":10977,"ĠMel":10978,"peat":10979,"tor":10980,"Ġproposed":10981,"Ġstated":10982,"_RES":10983,"Ġeast":10984,"ĠCONDITION":10985,"_desc":10986,"Ġwinning":10987,"folio":10988,"Mapper":10989,"ĠPan":10990,"ĠAnge":10991,".servlet":10992,"Ġcopies":10993,"LM":10994,"Ġvm":10995,"åį":10996,"Ġdictionary":10997,"Seg":10998,"elines":10999,"ĠSend":11000,"Ġiron":11001,"ĠFort":11002,".domain":11003,"Ġdebate":11004,"NotNull":11005,"eq":11006,"acher":11007,"lf":11008,"ĉfmt":11009,"Ġlawy":11010,"ÄŁ":11011,"ĠMen":11012,"Ġtrim":11013,"(NULL":11014,"Ġ!!":11015,"Ġpad":11016,"Ġfollows":11017,"\"][\"":11018,"requ":11019,"ĠEp":11020,".github":11021,"(img":11022,"eto":11023,"('\\":11024,"Services":11025,"umbnail":11026,"_main":11027,"pleted":11028,"fortunately":11029,"Ġwindows":11030,"Ġplane":11031,"ĠConnection":11032,".local":11033,"uard":11034,"}\\":11035,"==\"":11036,"andon":11037,"ĠRoy":11038,"west":11039,"iginal":11040,"emies":11041,"itz":11042,"'):Ċ":11043,"ĠPeter":11044,"Ġtough":11045,"Ġreduced":11046,"Ġcalculate":11047,"Ġrapid":11048,"customer":11049,"Ġefficient":11050,"Ġmedium":11051,"Ġfell":11052,".ref":11053,"ĠCas":11054,"Ġfeedback":11055,"Speed":11056,"(output":11057,"aje":11058,"Ġcategories":11059,"Ġfee":11060,"};":11061,"Ġdeleted":11062,"reh":11063,"Ġproof":11064,"Desc":11065,"Build":11066,"Ġsides":11067,".ArrayList":11068,"-%":11069,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":11070,"ر":11071,".match":11072,"ли":11073,"Ġfeels":11074,"Ġachieve":11075,"Ġclim":11076,"_ON":11077,"ĠCD":11078,"Ġteacher":11079,"_current":11080,"bn":11081,"_PL":11082,"isting":11083,"Enable":11084,"GEN":11085,"Ġtv":11086,"Ġsock":11087,"Ġplays":11088,"Ġdiscount":11089,"ĠKE":11090,"ĠDebug":11091,"Fore":11092,"ĠIraq":11093,"Ġappearance":11094,"Mon":11095,"Ġstyled":11096,"ĠHuman":11097,"iot":11098,"ĠHistory":11099,"Ġsac":11100,"ĠCollection":11101,"Ġrecommended":11102,".Selected":11103,"Ġorganizations":11104,"Ġdiscovered":11105,"cohol":11106,"adas":11107,"ĠThomas":11108,"May":11109,"Ġconserv":11110,"Ġdomin":11111,"ĠFollow":11112,"ĠSection":11113,"ĠThanks":11114,"Username":11115,"Ġrecipe":11116,"Ġwonderful":11117,".sleep":11118,"_if":11119,"ĉĊĉĊ":11120,"orno":11121,"Ġru":11122,"_target":11123,".\"\"":11124,"à¦":11125,"EventArgs":11126,"Ġinputs":11127,"Ġfif":11128,"Ġvision":11129,"cy":11130,"ĠSeries":11131,")(((":11132,"Ġtrading":11133,"Ġmarker":11134,"Begin":11135,"Ġtypically":11136,"Ġcauses":11137,"dropdown":11138,"_DEBUG":11139,"Ġdetect":11140,"country":11141,"!\");Ċ":11142,"ĉR":11143,"appy":11144,"Ġcref":11145,"('<":11146,"\"=>":11147,"ĠLE":11148,"reader":11149,"Ġadministr":11150,"õ":11151,"ucket":11152,"Ġfashion":11153,".char":11154,"izar":11155,"Ġdisable":11156,"Ġsuc":11157,"ĠLive":11158,"issue":11159,"Ġmetadata":11160,"flags":11161,"ĠðŁ":11162,"Ġcommitted":11163,"Ġva":11164,"Ġrough":11165,"Ġ'''Ċ":11166,"Ġhighlight":11167,"_vars":11168,"VO":11169,"Ġencoding":11170,"-Z":11171,"_sign":11172,"$(\"#":11173,"Ġrain":11174,"reatest":11175,"ĠEND":11176,"Selection":11177,"Ġcandidates":11178,"Ġsav":11179,".Empty":11180,"Ġdecisions":11181,"Ġcollabor":11182,"ridge":11183,"feed":11184,"ression":11185,"Ġpersons":11186,"VM":11187,"ega":11188,"_BIT":11189,"According":11190,"acked":11191,"Ġdollars":11192,"_loss":11193,"ĠCost":11194,"}\"Ċ":11195,"Notification":11196,"Ġprostit":11197,"Ġauthority":11198,".rec":11199,"Ġspokes":11200,"ĠToday":11201,"istant":11202,"ĠHead":11203,"âĢĿ.":11204,"ertainment":11205,"cean":11206,"culate":11207,"Ġven":11208,"However":11209,"_arr":11210,"Ġtokens":11211,"Graph":11212,"ĠJud":11213,"ĠVirgin":11214,"ĠSerial":11215,"unning":11216,"Mutable":11217,"agers":11218,".csv":11219,"Ġdeveloping":11220,"Ġinstructions":11221,"Ġpromise":11222,"Ġrequested":11223,"_encode":11224,"/\"":11225,"ĠIcon":11226,"uilt":11227,"-day":11228,"Ġintelligence":11229,".IS":11230,"ĠObservable":11231,"ĠHard":11232,"Bool":11233,"idential":11234,".Anchor":11235,"Ġselling":11236,"CI":11237,"AGES":11238,"tle":11239,"bur":11240,"UFFER":11241,"RY":11242,"Ġbigger":11243,"Ġrat":11244,"Ġfamous":11245,"Ġtypename":11246,"Ġexplained":11247,"}}Ċ":11248,"Ġnuclear":11249,"-N":11250,"Ġcrisis":11251,"ĠEnter":11252,"Ġanswers":11253,"/${":11254,"/pl":11255,"Ġsequ":11256,"_next":11257,"mask":11258,"Ġstanding":11259,"Ġplenty":11260,"ĠCross":11261,"ĉret":11262,"dro":11263,"ĠCast":11264,"=true":11265,"ĠChris":11266,"icio":11267,"ĠMike":11268,"Decimal":11269,"addComponent":11270,"Len":11271,"Ġcock":11272,"Ġ#{":11273,"URN":11274,"":11403,"Ġ*=":11404,"ĠPS":11405,"Ġdangerous":11406,"[p":11407,"OME":11408,"Other":11409,"ĠStringBuilder":11410,"Points":11411,"heading":11412,"Ġcurrency":11413,"Ġpercentage":11414,"_API":11415,"Ġclassic":11416,"thead":11417,"ĠMO":11418,"FE":11419,"Idx":11420,"await":11421,"Ġè":11422,"Ġaccident":11423,"Ġvariant":11424,"Ġmyst":11425,"ĠLand":11426,"ĠBre":11427,"Ġharm":11428,"ĠAcc":11429,"Ġcharged":11430,"iones":11431,"Visibility":11432,"arry":11433,"ĠLanguage":11434,"Ġwalking":11435,"\".ĊĊ":11436,"ifer":11437,"Ġleadership":11438,".From":11439,"ynam":11440,"Ġtimestamp":11441,"ipt":11442,"ĠHas":11443,"REFER":11444,"ĠIts":11445,"Ġlistener":11446,"UTE":11447,"_description":11448,"Ġexperiences":11449,"Ġcreates":11450,"RS":11451,"cart":11452,"black":11453,"Ġchoices":11454,"war":11455,"Ġ'''":11456,"Ġordered":11457,"Ġevening":11458,"Ġpil":11459,"Ġtun":11460,"ĠBad":11461,"(app":11462,"random":11463,"Ġexplicit":11464,"Ġarrived":11465,"Ġfly":11466,"Ġeconom":11467,"-mail":11468,"Ġlists":11469,"Ġarchitect":11470,"ĠPay":11471,"Ġds":11472,"ĠSol":11473,"Ġvehicles":11474,"Hz":11475,"-com":11476,"Ġking":11477,"_equal":11478,"ĠHelp":11479,"Ġabuse":11480,"--;Ċ":11481,"Ġextr":11482,"Ġchemical":11483,"ä¿":11484,"Ġorient":11485,"Ġbreath":11486,"ĠSpace":11487,"(element":11488,"wait":11489,"DED":11490,"igma":11491,"Ġentr":11492,"Ġsob":11493,"-name":11494,"Ġaffected":11495,"ika":11496,"Ġcoal":11497,"_work":11498,"Ġhundreds":11499,"Ġpolitics":11500,"subject":11501,"Ġconsumer":11502,"ANGE":11503,"Ġrepeated":11504,"Send":11505,"Ġ#[":11506,"Ġprotocol":11507,"Ġleads":11508,"useum":11509,"Every":11510,"Import":11511,"(count":11512,"Ġchallenges":11513,"Ġnovel":11514,"Ġdepart":11515,"bits":11516,".Current":11517,"Ġ`${":11518,"oting":11519,"(\\":11520,"Ġcreative":11521,"Ġbuff":11522,"Ġintroduced":11523,"usic":11524,"modules":11525,"Are":11526,"-doc":11527,"language":11528,"_cache":11529,"Ġtod":11530,"?>{{":11764,"ĠResource":11765,"ĠStandard":11766,"ĠPrem":11767,"updated":11768,"ivalent":11769,"Ġassets":11770,"_temp":11771,"Ġinterests":11772,"Ġhardware":11773,"ĠRom":11774,"ĠShare":11775,"Ġ''Ċ":11776,"Ġ*,":11777,"ĠTake":11778,"ĠImages":11779,"_CHECK":11780,"(typeof":11781,"ĠJun":11782,"\\<^":11783,"Ġliqu":11784,"Ġworst":11785,"ymbols":11786,"ĉĉĉĠĠĠ":11787,"Ġdrivers":11788,"ĠDocument":11789,"eno":11790,"ĠTechnology":11791,"Ġapproved":11792,"umps":11793,"Ġsnow":11794,"formance":11795,"_ASSERT":11796,"uits":11797,"ÙĨ":11798,"Ġdifferences":11799,".Visible":11800,"ĉĉĉčĊ":11801,"ĠPs":11802,"_fetch":11803,"Ġtodo":11804,".',Ċ":11805,"Ġsel":11806,"urers":11807,"invalid":11808,"Ġtweet":11809,"VEL":11810,"Ġresearchers":11811,"Ġsprintf":11812,"ĠRO":11813,"Ġpel":11814,".Trans":11815,"Ġillegal":11816,"dialog":11817,"smarty":11818,"lg":11819,"_MIN":11820,"Ġhero":11821,"final":11822,"Ġpp":11823,".Le":11824,"Ġci":11825,"ĉRT":11826,"Ġsuggested":11827,"pdf":11828,"aching":11829,"ĠRo":11830,"ĠProperties":11831,"ĠSi":11832,"Ġbuying":11833,"Ġmu":11834,"Ġlands":11835,"ifiers":11836,"ĠFILE":11837,"ROUP":11838,"Ġholder":11839,"ĠSon":11840,"Ġsympt":11841,".route":11842,")?":11843,"Ġargc":11844,"Ġfort":11845,"Ġcasino":11846,"_category":11847,"Ġforum":11848,"prefix":11849,"apture":11850,"Tube":11851,"ems":11852,"imize":11853,"Ġnue":11854,"aus":11855,"course":11856,"ATOR":11857,"()),":11858,"Advertis":11859,"INGS":11860,"Ġacknow":11861,"ĠKorea":11862,"pling":11863,"Ġworker":11864,"PLIED":11865,"hal":11866,"ĠRichard":11867,"Elements":11868,"ĉĉĉĠ":11869,"star":11870,"Ġrelationships":11871,"Ġcheap":11872,"ACH":11873,"ĠXML":11874,",&":11875,"ĠLouis":11876,"Ġride":11877,"_FAIL":11878,"Ġchunk":11879,"[s":11880,"_OUT":11881,"Ġchosen":11882,"_[":11883,"/(":11884,"ĠJeff":11885,"_sl":11886,"priv":11887,"ĠCanadian":11888,"Ġunable":11889,"_FLAG":11890,"Ġnos":11891,"high":11892,"Ġlift":11893,"fun":11894,"(){":11895,"elly":11896,"yclerView":11897,"_as":11898,"_LIST":11899,"Ġradi":11900,".getValue":11901,"ĠAngeles":11902,"ĠSpan":11903,"_instance":11904,"itors":11905,"Ġmigration":11906,"AK":11907,"Oh":11908,"®":11909,".selected":11910,"ĠGT":11911,"Ġadvance":11912,"ĠStyle":11913,".DataGridView":11914,"ection":11915,"Ñİ":11916,"pio":11917,"rog":11918,"Ġshopping":11919,"ĠRect":11920,"Illuminate":11921,"OU":11922,"ĉarray":11923,"Ġsubstantial":11924,"Ġpregn":11925,"Ġpromote":11926,"IEW":11927,".Layout":11928,"Ġsigns":11929,"/.":11930,"Ġletters":11931,"Board":11932,"ctrl":11933,"\"\\":11934,"ĠJones":11935,"Ġvertex":11936,"Ġja":11937,"Ġaffili":11938,"Ġwealth":11939,"ĉdefault":11940,"Ġsignificantly":11941,"Ġec":11942,"Ġxs":11943,"actual":11944,".per":11945,"_step":11946,"anvas":11947,"mac":11948,"Ġtransl":11949,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":11950,"Iterator":11951,"Ġoch":11952,"agnostic":11953,"ĠDuring":11954,"ĠDEFAULT":11955,"Ġtill":11956,"Ġsignature":11957,"Ġbird":11958,"ĠOl":11959,"ĠIr":11960,"HS":11961,"avatar":11962,"ESSAGE":11963,"Ġelev":11964,"Ġmt":11965,"ĠNav":11966,"Ġrelax":11967,"Ġplate":11968,"ITEM":11969,"(date":11970,".not":11971,"Ġgrade":11972,"Ġ}),Ċ":11973,"?\"ĊĊ":11974,"iences":11975,"High":11976,"ĠDIS":11977,"disabled":11978,"QUI":11979,"Ġnoise":11980,"aux":11981,"ĠUP":11982,"osa":11983,"Ġvoc":11984,"Ġ))":11985,"ocom":11986,"_OFF":11987,"ĠDb":11988,"Lock":11989,".eclipse":11990,",d":11991,"ĠDraw":11992,"Ġ\"(":11993,"Ġvisited":11994,"ĠâĪ":11995,"Ġsucceed":11996,"Ġimpossible":11997,"aire":11998,"ĠTurn":11999,"Ġdish":12000,"FG":12001,"Ġsensor":12002,"ANN":12003,"aba":12004,"Ġsurg":12005,"]);čĊ":12006,"Ġfp":12007,"_an":12008,"-J":12009,"-G":12010,"ĠJob":12011,"Convert":12012,"ĠKEY":12013,"Ġauthors":12014,"_server":12015,"\\r":12016,"Ġ-*-":12017,"flex":12018,"Ġsoc":12019,"Ret":12020,"Ġsalt":12021,"Ġâ̦ĊĊ":12022,"ĠClear":12023,"(page":12024,"-danger":12025,"Ġrooms":12026,"conv":12027,"#{":12028,".op":12029,"ĠArea":12030,"_SC":12031,"hen":12032,"Ġbegins":12033,"-y":12034,"Ġexcited":12035,"Ġignored":12036,"Ġbonus":12037,"student":12038,"ĠMember":12039,"Ġrelatively":12040,"ĠLow":12041,"ĠProdu":12042,"ateway":12043,"posure":12044,"Ġthick":12045,"aniel":12046,"(view":12047,"ĠCrush":12048,"Extension":12049,"Il":12050,"eed":12051,"LOC":12052,".im":12053,".Items":12054,"Ġconflict":12055,".prevent":12056,"ĠonCreate":12057,"uv":12058,"iser":12059,"Ġwave":12060,"Mar":12061,"ĠCommunity":12062,"iche":12063,"ĠNothing":12064,"[m":12065,"ĠLee":12066,"riends":12067,"ère":12068,"!!!":12069,"anz":12070,".result":12071,"ĠSK":12072,"_PARAM":12073,"Ġdemocr":12074,"BackColor":12075,".exists":12076,"\"It":12077,"(options":12078,"razy":12079,"aser":12080,"\\Database":12081,"alendar":12082,"_ass":12083,";}Ċ":12084,"vertex":12085,"inecraft":12086,"Warning":12087,"argo":12088,"Ġactor":12089,"ĠInstead":12090,"ĠUsing":12091,"Self":12092,"@interface":12093,"Ġspeaking":12094,"ĠParis":12095,"ĠLICENSE":12096,".node":12097,"ĠFood":12098,"EIF":12099,"ĠBi":12100,".Start":12101,"ĠIB":12102,"Ġuniversity":12103,"ĠHeader":12104,".product":12105,"Copy":12106,"etc":12107,"rical":12108,"Ġ>>>":12109,"books":12110,"Ġalgorithm":12111,"Ġ'__":12112,"(javax":12113,"Ġnumerous":12114,"Share":12115,"Have":12116,"Ġrecru":12117,"Ġprove":12118,".substring":12119,"health":12120,"ел":12121,"Ġdecimal":12122,"Ġcommission":12123,"scription":12124,"xC":12125,"Ġsummary":12126,"atted":12127,"Ġcloser":12128,"finished":12129,"()){Ċ":12130,"ĠWood":12131,"_fields":12132,"ku":12133,"_items":12134,"Flag":12135,"Ġconfidence":12136,"ĠFederal":12137,"dux":12138,"Ġcompat":12139,"Ġvertical":12140,"й":12141,"ès":12142,";\">Ċ":12143,"_manager":12144,"()))Ċ":12145,"IDE":12146,":\",":12147,"__Ċ":12148,"ĠWay":12149,"ÑĪ":12150,"Temp":12151,"ĠSTR":12152,"ritten":12153,"Sync":12154,"ĠAV":12155,"ĠCEO":12156,"ĠGuid":12157,"Ġenvironmental":12158,"Ġcorresponding":12159,"ĉconsole":12160,"Ġjustice":12161,"ĠJS":12162,"Ġlived":12163,"gar":12164,"ĠGraph":12165,"ĠStat":12166,"ĠiPhone":12167,".al":12168,"ĠHD":12169,"Ġoccur":12170,"Ġthreshold":12171,"Ġonclick":12172,"REG":12173,".GraphicsUnit":12174,"Meta":12175,"ž":12176,"Ġcum":12177,".gnu":12178,"ë":12179,"Ġobtained":12180,"Ġcomplaint":12181,"Ġeating":12182,"Ġtar":12183,"_task":12184,"Ġopts":12185,"(to":12186,"Pass":12187,"Ġplastic":12188,"tility":12189,"ĠWin":12190,".preventDefault":12191,"pile":12192,"ĠGar":12193,"Ġquantity":12194,"_last":12195,"Ġgreatest":12196,"Dao":12197,"_DIS":12198,"ĠUsed":12199,"ĠHP":12200,"riting":12201,"SION":12202,"blue":12203,"domain":12204,"Ġscores":12205,"Normal":12206,"_admin":12207,"ĠASSERT":12208,"Then":12209,"***":12210,"dist":12211,"lon":12212,"Ġhate":12213,"shal":12214,"ImageView":12215,"database":12216,"Ġpand":12217,"Ġlogic":12218,"=false":12219,"bg":12220,"ĠConfiguration":12221,"Ġnur":12222,"OG":12223,"Ġmarried":12224,":+":12225,"Ġdropped":12226,"Ġregistration":12227,"ом":12228,"ultiple":12229,"izers":12230,"shape":12231,".copy":12232,"Ġwearing":12233,"ĠCath":12234,"Ġdedicated":12235,"Ġ...Ċ":12236,"Ġadvoc":12237,"ĠFamily":12238,"Ġstatements":12239,"ematic":12240,"ampionship":12241,"Ġmotiv":12242,"ĠHave":12243,"Ġblow":12244,"Job":12245,"cert":12246,"_vector":12247,"install":12248,"ĠCOPY":12249,"embed":12250,"DIR":12251,"ĠSpring":12252,"Ġexhib":12253,"cdn":12254,"ĠComment":12255,"ĠOptional":12256,".player":12257,"ĠDark":12258,"(pos":12259,"ĠShould":12260,"Ġcentre":12261,"ĠGuard":12262,"ów":12263,"Ġtrouble":12264,"ENER":12265,"(unsigned":12266,"_service":12267,"Ġns":12268,"uling":12269,"ĠMexico":12270,"ĠNY":12271,"mysql":12272,"Ġlic":12273,"åľ":12274,"Mr":12275,"-fl":12276,"ĠCustomer":12277,"idi":12278,"Ġ?>ĊĊ":12279,"rible":12280,"ĠпÑĢ":12281,"Ġsizes":12282,"_STRING":12283,"validation":12284,"ĠJon":12285,"(Http":12286,"addClass":12287,"Nodes":12288,"Ġfragment":12289,"Ġspoke":12290,"Ġwaste":12291,"Join":12292,"Ġillustr":12293,"eli":12294,"cient":12295,"Ġaid":12296,"Ġprosec":12297,"'){Ċ":12298,"Ġpassing":12299,"Ġfaces":12300,"Shape":12301,"_Z":12302,"iti":12303,"Ġalle":12304,"Ġrobot":12305,"ĠĠĠĠĠĠĠĊ":12306,"ĠSpe":12307,"Ġreceiving":12308,"ĠDetails":12309,"Ġ\")":12310,"mg":12311,"_REF":12312,"Ġcomparison":12313,"*,":12314,"ĠFound":12315,"_session":12316,"(U":12317,"/F":12318,"Ġxxx":12319,"Network":12320,"ders":12321,"Ġcapture":12322,"Ġcorre":12323,"ĠLtd":12324,"ĠAdv":12325,"[@":12326,"Ġclip":12327,"Mill":12328,"ĠProfile":12329,"Ġendif":12330,"Ġoblig":12331,"describe":12332,".element":12333,"riterion":12334,"LD":12335,"ered":12336,"Ġfavour":12337,"score":12338,"ĠFilter":12339,"attributes":12340,"Ġchecks":12341,"Inflater":12342,"ĠPlus":12343,"Ġscientific":12344,"Ġprivacy":12345,"Head":12346,"Ġfeat":12347,"Ġdegrees":12348,"ĠPale":12349,";\">":12350,"Ġfilms":12351,"ĠAudio":12352,"ĠTag":12353,"ĠEnergy":12354,"itar":12355,"parator":12356,"Ġfellow":12357,"Ġevt":12358,"ĠTri":12359,"ĠDAM":12360,"cloud":12361,"ĠPassword":12362,"ĠDemocrats":12363,"ĠAcad":12364,"$lang":12365,"Ġreb":12366,"())ĊĊ":12367,"нÑĭ":12368,"ĠBur":12369,"readcr":12370,"Ġhex":12371,"Console":12372,"ctl":12373,"ousel":12374,"ĠWilliam":12375,"Ġaz":12376,"_PORT":12377,"Ġpractices":12378,"Ġanywhere":12379,"ĠPosition":12380,"Ġ->Ċ":12381,"iams":12382,".username":12383,"placeholder":12384,"Ġoder":12385,"ĠSecretary":12386,"ĠiT":12387,"mond":12388,"events":12389,"?âĢĿ":12390,".Sub":12391,"Ġattached":12392,"Ġnão":12393,"Ġestate":12394,".action":12395,"Ġfigures":12396,"Ġ});čĊ":12397,"Ġsubscri":12398,".tag":12399,"nam":12400,".plot":12401,"noon":12402,"liament":12403,"Character":12404,".tab":12405,"Ġwinter":12406,"ĠVariable":12407,"Ġtrees":12408,"Ġproud":12409,"(V":12410,"_load":12411,"Ġhier":12412,"ĠEcon":12413,"Ġfd":12414,"Ġvictims":12415,"Rest":12416,"iana":12417,"Ġfake":12418,".Println":12419,"Ġstrlen":12420,"Ġsad":12421,"Ġble":12422,"Prot":12423,"Ġbuttons":12424,"Ġtelevision":12425,"Ġlogo":12426,"extension":12427,"ĉj":12428,"stein":12429,"aciones":12430,"Ġ\"\"\"ĊĊ":12431,"Ġsimp":12432,"Ġrecorded":12433,"Ġbrings":12434,"Ġprincipal":12435,"Ġfees":12436,"(source":12437,"kdir":12438,"Ġutils":12439,"Ġcorrectly":12440,"fil":12441,"Ġwel":12442,"Pair":12443,"-button":12444,"scale":12445,"verify":12446,"[c":12447,"Ġ---":12448,"Ġescape":12449,"ikes":12450,"LowerCase":12451,"ician":12452,"Ġchapter":12453,"ĠTYPE":12454,"Ġshadow":12455,"Ġawesome":12456,"WE":12457,"elif":12458,"Ġlambda":12459,"Ġdistinct":12460,"Ġbare":12461,"-off":12462,"Ġcolour":12463,".appendChild":12464,"olec":12465,"aga":12466,".fill":12467,"ĉsuper":12468,"Ġadj":12469,"(position":12470,".getItem":12471,"Short":12472,"Ġtotally":12473,"VD":12474,"ĠTre":12475,"_ep":12476,"vements":12477,"ĠSolution":12478,"Ġfundament":12479,"Follow":12480,"Ġfacility":12481,"Ġhappening":12482,"OF":12483,".textBox":12484,"Span":12485,"Ġ«":12486,"iden":12487,"Ġexceed":12488,"(parent":12489,"Ġcp":12490,"ç»":12491,"Ġhasn":12492,"Ġpri":12493,"Ġconsequ":12494,"nen":12495,"ĠINTO":12496,"Ignore":12497,"ĠFuture":12498,"Ġcarbon":12499,"ĠSteel":12500,"fmt":12501,"okie":12502,"Ġspl":12503,"(title":12504,"-info":12505,"Ġdeals":12506,"Ġfixture":12507,"ea":12508,"Div":12509,"Ġtested":12510,"_return":12511,")ĊĊĊĊ":12512,"upported":12513,"ĠCook":12514,"Ġpaying":12515,"ĠIll":12516,"Ġarrested":12517,"ĠPrime":12518,"_callback":12519,">,Ċ":12520,"driver":12521,"Once":12522,"abb":12523,"_bytes":12524,"ĠSets":12525,"(Object":12526,"Ġcc":12527,"Ġshell":12528,"alo":12529,");//":12530,"(log":12531,"ctors":12532,")":13004,"Ġ$(\".":13005,".pos":13006,"Ġboys":13007,"Ġwedding":13008,"Ġagents":13009,"=\"_":13010,"ĠArmy":13011,"Ġhint":13012,"vision":13013,"Ġtech":13014,"ĠConnect":13015,"Ġlegend":13016,"ĠBet":13017,".Base":13018,"Subject":13019,"Ġlit":13020,"Remove":13021,"Ġ\":":13022,"ĠFinal":13023,"pearance":13024,"ĠiTunes":13025,"Ġparticipants":13026,"ĠPython":13027,"Ġbusy":13028,"iel":13029,"vertices":13030,"ĠtemplateUrl":13031,"ĠClose":13032,"Img":13033,"ĠCorporation":13034,"timestamp":13035,"Ġextend":13036,"Ġwebsites":13037,"Ġpossibility":13038,"оÑĤ":13039,"Ġkö":13040,"Ġmeat":13041,"Ġrepresentation":13042,"Ġĉĉ":13043,"_START":13044,".apply":13045,"ĠValley":13046,"ĠSuccess":13047,"Hi":13048,"Ġnob":13049,"ĠIEnumerable":13050,"_select":13051,"geo":13052,".\")Ċ":13053,"Ġturning":13054,"Ġfabric":13055,"(\"\");Ċ":13056,"Ġperspective":13057,"éĹ":13058,"ĠSn":13059,"Thank":13060,";j":13061,".Parameters":13062,"ĉĠĠĠĠĠĠĠĠĠĠĠ":13063,"Ġfacts":13064,"Ġunt":13065,".instance":13066,"################################################################":13067,"-end":13068,"ĠJOIN":13069,"ĠHen":13070,"Ġuri":13071,"åIJį":13072,"Ġна":13073,"ĠInfo":13074,"Ġconducted":13075,"ĠÃ¥":13076,"OURCE":13077,"Ġwine":13078,"John":13079,".Errorf":13080,"ĠAge":13081,"ounded":13082,"Ġrealize":13083,"Ġ];":13084,"Ġsubsequ":13085,",m":13086,"(User":13087,"iano":13088,"Ġaccompl":13089,"isp":13090,".std":13091,"éĩ":13092,"ĠBed":13093,".setAttribute":13094,"BR":13095,"keep":13096,"ĠALL":13097,"Ġisol":13098,"amma":13099,"Package":13100,"Ġoccasion":13101,"-success":13102,"ед":13103,"ĠLIMITED":13104,"strip":13105,"()ĊĊĊ":13106,"istribution":13107,"Colors":13108,"Ġ+:+":13109,"DidLoad":13110,"aler":13111,"Ġtid":13112,"ĠLED":13113,"ĠLinked":13114,"ĠCart":13115,"())čĊ":13116,"_READ":13117,"Ġkilling":13118,"ĠPHP":13119,"fection":13120,"Ġinstances":13121,"cv":13122,"\"/>":13123,"Ġsf":13124,"Ġtaxes":13125,"_location":13126,"ĠBitcoin":13127,"uable":13128,"rank":13129,"ignore":13130,"track":13131,"ка":13132,"Ġshouldn":13133,"ĠOP":13134,"=>{Ċ":13135,"Ġkm":13136,"Ġhelper":13137,"_head":13138,"ĠWhether":13139,"oco":13140,"_bl":13141,"Ġstatistics":13142,"Ġbeauty":13143,"Ġtog":13144,"tip":13145,"ëĭ¤":13146,"Ġcsv":13147,"(sql":13148,"stdlib":13149,"weak":13150,"Ġlikes":13151,"Äį":13152,"Ġrepeat":13153,"Ġapartment":13154,"Ġemph":13155,"_edit":13156,"Ġvit":13157,"ĉtype":13158,"Even":13159,"uten":13160,"Ġcircumstances":13161,"bian":13162,"Ġsugar":13163,"Windows":13164,"ìŀ":13165,"Ġobserved":13166,"/data":13167,"Ġcalendar":13168,"Ġstrike":13169,"ĠRES":13170,"_sc":13171,"fony":13172,"orem":13173,"(z":13174,"power":13175,"etect":13176,"ĠSat":13177,".description":13178,"Ġgang":13179,"ĠSports":13180,"ongs":13181,"ĠBundle":13182,".sum":13183,"once":13184,"Ġaccused":13185,"Ġexplore":13186,"Ġapproximately":13187,"Ġlosing":13188,"thesis":13189,"ĠFund":13190,"Ġdiagn":13191,"Autowired":13192,"properties":13193,"Ġ_.":13194,"Ġcnt":13195,"cedure":13196,"Ġyy":13197,"Ġgrant":13198,"sock":13199,".innerHTML":13200,"Ġ]);Ċ":13201,"ĠCONFIG":13202,"='$":13203,"]];Ċ":13204,"UND":13205,"Ġglob":13206,"Ġdire":13207,"uffle":13208,"_MEM":13209,"Ġauthentic":13210,">(\"":13211,"Ġdecade":13212,"ĠImport":13213,"Ġoriginally":13214,"ĠjQuery":13215,"Ġindicate":13216,"Ġourselves":13217,"Sw":13218,".lbl":13219,"enerate":13220,"Ġbasically":13221,"ĠHom":13222,"Ġ+#+":13223,"ĠBritain":13224,"ĠKar":13225,"toEqual":13226,".stop":13227,"Ġmodal":13228,"isi":13229,"Ġsuggests":13230,"Ġdtype":13231,"Ġtur":13232,"bf":13233,"Ġconnections":13234,"ĠBefore":13235,"isted":13236,"mouse":13237,"Ġpulled":13238,".build":13239,"Ġlegislation":13240,"Ġforth":13241,"pad":13242,"ego":13243,".Now":13244,"Ġexciting":13245,"}ĊĊĊĊ":13246,"Ġcompr":13247,"Ġshares":13248,"Ġrig":13249,"green":13250,"_vec":13251,"Ġenumerate":13252,"Auto":13253,"icator":13254,"ĠRay":13255,"asse":13256,"Ġholiday":13257,"Ġnullable":13258,"gun":13259,"_details":13260,"Ġwrapper":13261,"seq":13262,"ĠYoung":13263,"juana":13264,"Ġ\"__":13265,"license":13266,"serve":13267,"^(":13268,"iders":13269,".Remove":13270,"ropdown":13271,"'S":13272,"pin":13273,"(token":13274,".Default":13275,"Ġreasonable":13276,"ampion":13277,"ĠSociety":13278,"Ġbei":13279,"erves":13280,"rad":13281,"ĠFox":13282,"_images":13283,"Ġwheel":13284,"')[":13285,"Ġcfg":13286,"(By":13287,"Constructor":13288,"Ġvary":13289,".swift":13290,"Ġproxy":13291,"ĉH":13292,"ĠAnother":13293,"ĠPen":13294,"Ġchecking":13295,"Ġjest":13296,"manager":13297,"Origin":13298,"ugs":13299,"oir":13300,">čĊ":15956,"Ġrelief":15957,"lap":15958,"quer":15959,"_parent":15960,"heap":15961,"LOSE":15962,"Ġcombine":15963,"ĠRose":15964,"owers":15965,"Ġprocedures":15966,"ĠSort":15967,"anim":15968,"variant":15969,"ehicle":15970,"Ġsigning":15971,"Primary":15972,"currency":15973,"Ġsexe":15974,"oen":15975,"theta":15976,"eman":15977,"Ġimpressive":15978,"('_":15979,"ĉU":15980,"ĠTextStyle":15981,"_cnt":15982,"Ġslice":15983,"(':":15984,"Ġunderstood":15985,"His":15986,"Ġinformed":15987,"Ġnick":15988,"(TAG":15989,"hd":15990,"Ġelections":15991,"esture":15992,"ĠSanta":15993,"ĠCoast":15994,".pdf":15995,"inciple":15996,".clone":15997,"born":15998,"uta":15999,"Ġlicensed":16000,"Cr":16001,"Ġbread":16002,"ĠHouston":16003,"Ġnod":16004,"Ġhopes":16005,"ĠCGRect":16006,"Ġguilty":16007,".gif":16008,"Ġrose":16009,".Common":16010,"Tip":16011,"ANK":16012,"ĠFC":16013,"During":16014,"ĠSymfony":16015,"Ġdefensive":16016,"km":16017,")>":16018,"archive":16019,"ĠURI":16020,"ycling":16021,"-o":16022,"ĠWebsite":16023,"AMP":16024,"ishment":16025,"Ġdoctors":16026,"Direct":16027,"ARI":16028,"ĠRedirect":16029,"ieren":16030,"_dist":16031,"yo":16032,"ĠProgress":16033,"Ġzum":16034,"Ġmemor":16035,"ĠED":16036,"Ġjur":16037,"æį®":16038,"_TABLE":16039,"Ġuuid":16040,"Expr":16041,".head":16042,"('%":16043,"pointer":16044,"Ġestimate":16045,"ĠGreg":16046,"Ġloader":16047,"ĠiOS":16048,"Ġmens":16049,"[y":16050,"Ġrefused":16051,"Ġprecision":16052,"isch":16053,"ĠACTION":16054,"Cloud":16055,"sWith":16056,"(ret":16057,"_ADDR":16058,"_conf":16059,"(df":16060,"Ġlocked":16061,"Ġrising":16062,"ãĥ»ãĥ»":16063,"ĠMs":16064,"Ġscenes":16065,"_EXT":16066,"_raw":16067,"_the":16068,"people":16069,"Ġrecon":16070,"ĠFun":16071,"Ġbless":16072,"ĠUpdated":16073,"ün":16074,"ĠĠĠĠĠĠĠĠĠĠĠĠčĊ":16075,"pection":16076,"Release":16077,".logger":16078,"ĠSY":16079,"Ġcounsel":16080,"urd":16081,"_true":16082,"Ġeverybody":16083,"ivot":16084,"Ġhence":16085,"ĠNAS":16086,"Ġopposed":16087,"unknown":16088,"ĠDESC":16089,"ĠChair":16090,"failed":16091,"ĠINCLUDING":16092,"Ġwriters":16093,"{}Ċ":16094,"ÃŃt":16095,"_copy":16096,"}:":16097,"ĠBat":16098,"Ġconverted":16099,"eding":16100,"placement":16101,"ĠHost":16102,"Sound":16103,"им":16104,"Ġsought":16105,"mid":16106,"Ġsalary":16107,"ogg":16108,"âĦ¢":16109,"bul":16110,"Ġwir":16111,"validator":16112,"_STAT":16113,".store":16114,"ĠBattle":16115,"ın":16116,"Ġ-->ĊĊ":16117,"Trump":16118,"dot":16119,"ĠCONT":16120,".fetch":16121,"Ġcontinu":16122,"was":16123,"Ġfraud":16124,"_tmp":16125,"mitter":16126,".pictureBox":16127,"GA":16128,"Ġtournament":16129,".Input":16130,"[r":16131,"exion":16132,"centage":16133,"ĠKorean":16134,"undef":16135,"ĠAvailable":16136,"reshape":16137,"Ġkit":16138,"ĠStruct":16139,"ĠSUB":16140,"Answer":16141,"_lib":16142,".twitter":16143,"Ġore":16144,"ĠDragon":16145,".Ext":16146,",k":16147,"Ġexplanation":16148,"refs":16149,"ĠDrive":16150,"ĠTraining":16151,".Has":16152,"intage":16153,"big":16154,"ologist":16155,"ennis":16156,"Ùĩ":16157,"Ġchicken":16158,"ĠĠĠĠĠĠĠĠĠĠĊ":16159,"çĽ":16160,"ãģ§":16161,"Ġpeak":16162,"Ġdrinking":16163,"Ġencode":16164,"ĠNEW":16165,"malloc":16166,"ĉfprintf":16167,"Ġ=================================================================":16168,"including":16169,"Ġprinciples":16170,"ĠMah":16171,"storage":16172,"-key":16173,"Ġkeyword":16174,"%;":16175,"Ġtrained":16176,".contrib":16177,"Ġkv":16178,"__':Ċ":16179,"ĠBoy":16180,"parameter":16181,"Ġsuite":16182,"Ġthousand":16183,"Ġcoordinate":16184,"-generated":16185,"íķĺ":16186,"generated":16187,"Ġadmitted":16188,"Ġpussy":16189,"#w":16190,"Ġswim":16191,"union":16192,"Na":16193,"ĠRoyal":16194,".channel":16195,"Updated":16196,"_ROOT":16197,"Ġvital":16198,"raction":16199,"ĠCrusher":16200,"Ġpreced":16201,"Ġhorizontal":16202,"Blueprint":16203,"Ġattrs":16204,"Ġsmoke":16205,"ÐĴ":16206,".Equals":16207,"FB":16208,"ĠResources":16209,"rolling":16210,"Ġpasses":16211,"ĠNum":16212,"rotate":16213,"etype":16214,"\\\",":16215,"Ġsensitive":16216,"Ġtall":16217,"?âĢĿĊĊ":16218,"Proxy":16219,"iy":16220,"_section":16221,"âĢĶâĢĶâĢĶâĢĶ":16222,"brid":16223,"Ġcircuit":16224,"atan":16225,"ENC":16226,"Ġdriven":16227,"Ġvoted":16228,"Ġeducational":16229,"Ġinteraction":16230,"abetes":16231,"Ġtone":16232,"ĠInitializeComponent":16233,"Ġmerely":16234,"Ġìŀ":16235,"cookie":16236,"_div":16237,"ĠUILabel":16238,"vely":16239,"});čĊ":16240,"_ENT":16241,"#+#+":16242,"articles":16243,"ĠSouthern":16244,"Ġstronger":16245,"ĠGiven":16246,"ĠEric":16247,"ĠIR":16248,"abstract":16249,"Under":16250,"nable":16251,"Ġincrement":16252,"oven":16253,"Ġcoin":16254,"_timer":16255,"Ġsuffered":16256,"ĠFREE":16257,"'].\"":16258,"ĠQueen":16259,"stats":16260,"Ġmeetings":16261,"Ġentering":16262,"Ġalongside":16263,"(session":16264,"itals":16265,"Ġfoundation":16266,"ĠCredit":16267,".div":16268,"_ALL":16269,"pcion":16270,"_stat":16271,"icking":16272,"Defaults":16273,"_src":16274,"Ġoutputs":16275,"/B":16276,"Ġenthus":16277,"-bl":16278,".ForeColor":16279,"ĉtemp":16280,"Face":16281,"Ġinteract":16282,"Ġweird":16283,"Mount":16284,"rell":16285,"udents":16286,"Ġrequirement":16287,"ĠSus":16288,"IER":16289,"Ġelected":16290,"reference":16291,"ĠME":16292,"Ġservers":16293,".wait":16294,"Ġsnapshot":16295,"ilton":16296,"Ġtries":16297,"Ġtipo":16298,".Time":16299,">w":16300,"Ġmountain":16301,"Ġpounds":16302,"Ġ[...":16303,"exists":16304,"ĠngOn":16305,"_MAP":16306,"Ġflying":16307,"xiety":16308,"ĉvalue":16309,"_DB":16310,"uno":16311,"Ġseats":16312,"TURN":16313,".author":16314,"!)":16315,"orce":16316,"Ġindicated":16317,".sin":16318,"Ġassignment":16319,"imiento":16320,"ĠFrame":16321,"_gen":16322,"inery":16323,"_)":16324,"messages":16325,".settings":16326,"ĠMean":16327,"ĠMuseum":16328,"irq":16329,"attach":16330,"ĠPalestin":16331,"_QU":16332,"_tags":16333,"Ġcasual":16334,"emen":16335,"ASSWORD":16336,"$s":16337,"ĠCirc":16338,"ой":16339,"etric":16340,"/P":16341,"Ġepoch":16342,"The":16357,"ĠAk":16358,"Ġgrass":16359,"/*čĊ":16360,"(dis":16361,"Ġguns":16362,"Ġtb":16363,"ĠKevin":16364,".args":16365,"ĠAh":16366,"oped":16367,"(J":16368,"columns":16369,"arguments":16370,"ĠWithEvents":16371,"_full":16372,"ĠDefense":16373,"Simple":16374,"Ġdeaths":16375,"Ġextensive":16376,"ĠStill":16377,"ĠExpression":16378,"ĠAgency":16379,"Ġperforming":16380,"FX":16381,"Ġusuario":16382,"UAL":16383,"Side":16384,"odos":16385,"aptop":16386,"Ġcredentials":16387,"_cap":16388,"atient":16389,"ĠDisney":16390,"Ġai":16391,"Ġchip":16392,"Ġvolt":16393,".makeText":16394,"%%%%%%%%%%%%%%%%":16395,"Ġbelief":16396,"_LOC":16397,"ĠCivil":16398,"Navigation":16399,"Ġreveal":16400,"Ġviolent":16401,"ĠFil":16402,"Ġcatalog":16403,"emed":16404,"scan":16405,".control":16406,"Ġconstitution":16407,"Country":16408,"Separator":16409,"_APP":16410,"topic":16411,"uetooth":16412,"MIN":16413,"Ġdescriptor":16414,"yt":16415,"ETHER":16416,"Ġdistribute":16417,"'}Ċ":16418,".trim":16419,".Line":16420,"Ġlbl":16421,"assertEquals":16422,"ĠDet":16423,"ombok":16424,"(width":16425,"Ġtort":16426,"ĠEXPRESS":16427,"aco":16428,"Using":16429,"ĠBrand":16430,"wall":16431,"EMENT":16432,"ĠCommunic":16433,"(Ċ":17055,"?>\"":17056,"Ġ///Ċ":17057,"Ġeiner":17058,"Ġweekly":17059,"ĉlogger":17060,"_pop":17061,"_man":17062,"Ġmigrations":17063,"Ġasks":17064,"Ġbs":17065,"Ġfalls":17066,".Where":17067,"-height":17068,"_feature":17069,".Min":17070,"Ġhyper":17071,"Ġvolatile":17072,"Ġtwenty":17073,"Typography":17074,"Unable":17075,"Det":17076,",f":17077,"-mod":17078,"Ġsettlement":17079,"Ġcontracts":17080,"nome":17081,"Bad":17082,"ĠBrian":17083,"(username":17084,"!!!!":17085,"Ġhack":17086,".Field":17087,"HR":17088,"ĠJordan":17089,"iza":17090,"ĠÂł":17091,"ĠSher":17092,".header":17093,"(other":17094,"ĠDub":17095,"(op":17096,"ĠRound":17097,"Ġvie":17098,"Ġappl":17099,"ĉJ":17100,"ĠInsert":17101,"ĠLP":17102,"regon":17103,"ĠMPI":17104,"Ġanchor":17105,"aca":17106,"ør":17107,"Ġade":17108,"anchor":17109,"quee":17110,"ĠTreeNode":17111,"Ġtargeted":17112,"Ġlaid":17113,"ABEL":17114,"vet":17115,"ĠOrigin":17116,"Ant":17117,".');Ċ":17118,"expect":17119,"edReader":17120,"ĠMajor":17121,"Ġinch":17122,"Compar":17123,"Ġpreview":17124,"Ġillness":17125,"ĠCONTRACT":17126,"ĠIndepend":17127,"uuid":17128,"Ġnome":17129,"Ġtc":17130,"ĠAvenue":17131,"isan":17132,"Ġphrase":17133,"_move":17134,"\")[":17135,"Ġprovision":17136,"Ġconcentr":17137,"_IR":17138,"ĠUt":17139,"()+":17140,"Ġnas":17141,"!,":17142,"ĠRobin":17143,"iations":17144,"atitude":17145,"Ġpx":17146,"ĠWithout":17147,"/bash":17148,"ekt":17149,"reement":17150,"Observer":17151,"ĠRegion":17152,"UBLIC":17153,"Ġ{//":17154,"KN":17155,"å·":17156,"GameObject":17157,"å¾":17158,"encoding":17159,"Ġ***":17160,"projects":17161,"Ġtk":17162,"Ġcheese":17163,"EMPL":17164,"aro":17165,"ĠاÙĦ":17166,"Ġconsists":17167,"refresh":17168,"ureau":17169,"ĠScanner":17170,"Ġsoil":17171,"Ġflavor":17172,"DataSource":17173,"Execute":17174,"ение":17175,"Ġshit":17176,"åĪĨ":17177,"Ċ":17419,"Ġsubsequent":17420,"posable":17421,"-fluid":17422,"Ġthorough":17423,"Ġpublicly":17424,"apters":17425,"ĠWilson":17426,"_PRE":17427,"yard":17428,"ä¼":17429,"ĉin":17430,"Ġrevers":17431,"Ġbullet":17432,"cribed":17433,"nesota":17434,"Ġ($_":17435,"annon":17436,"cursor":17437,"Ġclothing":17438,"ĠMulti":17439,":',":17440,"Ġvess":17441,"ordinator":17442,"Ġeinem":17443,"Cannot":17444,"Ġarmed":17445,"ĉV":17446,"ä¸Ĭ":17447,".Flat":17448,"ĠSep":17449,"ĠSubject":17450,"_font":17451,"Ġcharacteristics":17452,"Done":17453,"eln":17454,"############":17455,"POS":17456,"Ġdensity":17457,"ĠPlatform":17458,"-items":17459,"Ġovers":17460,"Ġpushing":17461,"ç¤":17462,".Connection":17463,"_term":17464,"Ġinitialization":17465,"________________________________":17466,"ç¬":17467,".document":17468,"lesh":17469,"ĉdocument":17470,"ĠPin":17471,"ça":17472,"Ġdefinitions":17473,".Path":17474,"_WRITE":17475,"ĠĉĊ":17476,"?>ĊĊ":17477,"Ġterrible":17478,"bean":17479,"ickets":17480,"ĠSV":17481,"Buy":17482,"(task":17483,"Ġregime":17484,"google":17485,"Ġcrack":17486,".visit":17487,"NUM":17488,"energy":17489,"Ġstruck":17490,"_sample":17491,".payload":17492,"Ġrevis":17493,"ĠScene":17494,"Ġpg":17495,"Ġbreakfast":17496,"URRENT":17497,".charAt":17498,"_exception":17499,"ĠAnton":17500,"Ġguidelines":17501,"Ġexhaust":17502,"ĠFinancial":17503,"Ġindent":17504,"Ġdesktop":17505,"Hidden":17506,"Failure":17507,"Ġprinciple":17508,"Ġiv":17509,"Ġseks":17510,"network":17511,"ĠnumberOf":17512,"ĠAlbert":17513,"ĉlong":17514,",.":17515,"Ġzeros":17516,"fade":17517,"ĠTyp":17518,"ĠTerm":17519,"ĠArts":17520,".Application":17521,"Ġbehalf":17522,"æĪ·":17523,"Ġmere":17524,"(`${":17525,"Ġawareness":17526,"elpers":17527,"flix":17528,"Ġweigh":17529,"Ġestimates":17530,".child":17531,"/O":17532,"ĠBitmap":17533,".bottom":17534,"Ġ**************************************************************************":17535,"Expect":17536,"ento":17537,"ĠForum":17538,"veral":17539,"Ġjail":17540,"Ġabilities":17541,"ĠHOLD":17542,"ĠCit":17543,"Ġdynam":17544,"Ġgray":17545,"ĉĉĉĉĉĉĉĉĉĉĉĉĉ":17546,".nextInt":17547,"antly":17548,"ĠARISING":17549,"(private":17550,"Ġrejected":17551,"ĠNic":17552,"Ġleather":17553,"={Ċ":17554,"alytics":17555,"thetic":17556,".Top":17557,".Page":17558,"={`":17559,"Ġ;čĊ":17560,"depth":17561,"mann":17562,"WD":17563,"ĠSom":17564,".Right":17565,"Ġ)}Ċ":17566,"Ġtrait":17567,"ÃĹ":17568,"iac":17569,"Ġrv":17570,"Sample":17571,".Xml":17572,"opped":17573,"ĠÑĦ":17574,"lists":17575,"Ġtear":17576,"iversary":17577,".collection":17578,"ĠConstitution":17579,"ĠHttpResponse":17580,"Ġbrill":17581,"ĠProm":17582,"hover":17583,"ĠMiami":17584,"Ġargue":17585,"_float":17586,"ĠãĤ":17587,"Ġnat":17588,"ĠTal":17589,"Ġintegration":17590,"(cur":17591,"Ġremoving":17592,"Ġcoeff":17593,"ĠThough":17594,"Ġforecast":17595,"ĠVegas":17596,"Site":17597,"Ġtrab":17598,"ĠHenry":17599,"-i":17600,"Ġinvolves":17601,"BT":17602,"Ġslo":17603,"Invoke":17604,"Ġlucky":17605,"rat":17606,"Ġ?Ċ":17607,"Ġhandled":17608,"(fd":17609,"contents":17610,"ĠOFF":17611,"RF":17612,"Ġsty":17613,"ĠMotor":17614,"tery":17615,"tax":17616,"MAP":17617,"ĠMrs":17618,"Ġphones":17619,"ĠUIView":17620,"\")));Ċ":17621,"(dev":17622,"ĠIrish":17623,"Ġws":17624,"DI":17625,"_OFFSET":17626,"ĠEvents":17627,"Ġstages":17628,"Ġ}//":17629,"Ġhaben":17630,"STANCE":17631,"ĠSin":17632,"ĠMoney":17633,"(top":17634,"Ġappointment":17635,"VERSION":17636,"metadata":17637,"_comment":17638,"Ġcolleagues":17639,"maps":17640,"âĺ":17641,"ĊĉĊ":17642,"(al":17643,"_req":17644,"Ġfut":17645,"Ġarchitecture":17646,"ĠWHETHER":17647,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":17648,"_screen":17649,"ĠstyleUrls":17650,"Ġmonster":17651,".up":17652,"phia":17653,"Ġprocessor":17654,"ĠTerr":17655,"=',":17656,"ĠManufact":17657,"ĠNT":17658,"kel":17659,"ibern":17660,"ĉfile":17661,"Ali":17662,"rientation":17663,"Ġ//!":17664,"apore":17665,"aneous":17666,"ĠCreat":17667,"folder":17668,"Ġhay":17669,"Suppress":17670,"(left":17671,"Ġeuro":17672,"Ġdisclaimer":17673,"ustry":17674,"ships":17675,"_fd":17676,"ĠFa":17677,"_insert":17678,"Ġrol":17679,"ifting":17680,"ĠComments":17681,"_br":17682,"Ġlosses":17683,"ĠAdded":17684,"charg":17685,"Ġпо":17686,"_system":17687,"ĠSometimes":17688,"ĠSpain":17689,"(group":17690,"ialis":17691,"Ġdollar":17692,"ĠArgs":17693,"quires":17694,"ĠTen":17695,".scss":17696,"Ġsurvive":17697,"usage":17698,"Ġjun":17699,"imiter":17700,"ï¼ģĊĊ":17701,"Ġfifth":17702,"toggle":17703,"Ġdecline":17704,"($\"":17705,"(Long":17706,"inge":17707,"Ġpilot":17708,"-light":17709,"-radius":17710,"Ġpodcast":17711,"Ġnaturally":17712,"Pages":17713,"为":17714,"ĠDespite":17715,"Ġlighting":17716,"Ġcrate":17717,"ĠBinary":17718,"Ġreducing":17719,"Ġeleg":17720,"ĠMouse":17721,"ĠTestBed":17722,"ĠbeforeEach":17723,"_ARRAY":17724,"Redirect":17725,"Ġflood":17726,"Ġships":17727,"Ġelectricity":17728,")*(":17729,"ê¸":17730,"ĠViet":17731,"hero":17732,"Ġdia":17733,"ĠKent":17734,"heart":17735,"Ġthreats":17736,"_acc":17737,"Ġsymbols":17738,"ischen":17739,"_inst":17740,"Criterion":17741,"ĠTIM":17742,".Height":17743,"ĠâĢĻ":17744,"();ĊĊĊ":17745,"Products":17746,"_SP":17747,"ĠCy":17748,"Ġdependent":17749,"este":17750,"Ġdatos":17751,"dit":17752,"ав":17753,"IGNAL":17754,"Ġlesson":17755,"\">'":17756,"ĠCover":17757,"ĠHope":17758,"ĠTimer":17759,"Ġdad":17760,"viders":17761,"ĠPhot":17762,"/?":17763,"ropy":17764,"oming":17765,"asion":17766,"Ġ\\(":17767,"ĠET":17768,"ĠReading":17769,"Ġepisodes":17770,"lm":17771,"echa":17772,"Ġneuro":17773,"Ġharmon":17774,"Ġliberal":17775,"-ind":17776,"DATA":17777,"Ġeveryday":17778,"Ġdivided":17779,"ĠActiveRecord":17780,"figure":17781,"UA":17782,"ä¹":17783,"riendly":17784,"tech":17785,".gameObject":17786,"иÑĤÑĮ":17787,"Ġmoon":17788,"ftime":17789,"Ġnoch":17790,"ĠTORT":17791,"ĠVM":17792,".initial":17793,"(child":17794,"Ġmusical":17795,"Ġoc":17796,"bas":17797,"ĠHay":17798,"_long":17799,"Ġmemset":17800,"iley":17801,"adelphia":17802,"SV":17803,"roat":17804,"_tx":17805,"Ġlon":17806,"ĠngOnInit":17807,"bp":17808,"ĠGolden":17809,"ACHE":17810,"Ġworried":17811,"azi":17812,"Ear":17813,"Take":17814,"(fp":17815,"burgh":17816,"_Data":17817,"gres":17818,"ĠOnt":17819,"pus":17820,"Ġtransparent":17821,"Ġpocket":17822,"Ġram":17823,"igrations":17824,".čĊčĊ":17825,"Ġ[(":17826,"Ġadopted":17827,"Ġreportedly":17828,"ĠDream":17829,"Ġ}));Ċ":17830,"losing":17831,"Ġteeth":17832,"ĠBooks":17833,"\",&":17834,"enny":17835,"LEMENT":17836,"Ġgel":17837,"ĠPlant":17838,"!âĢĿ":17839,".host":17840,"ĠReply":17841,"rength":17842,"Ġrecognition":17843,"Ġ}}>Ċ":17844,"LA":17845,"Ġmirror":17846,"Ġassistant":17847,"(device":17848,"Ġspiritual":17849,"builder":17850,"§":17851,"Ġoutr":17852,"Ġtt":17853,"ĠPER":17854,"Ġradical":17855,"Methods":17856,"Ġpace":17857,"udy":17858,"Ġgut":17859,"ĠGreek":17860,"Ġnonatomic":17861,"ĠPaper":17862,"_GPIO":17863,"Ġobst":17864,".Ad":17865,"vironments":17866,"ĠSov":17867,"(con":17868,"ĠTransaction":17869,".assign":17870,"ĉcatch":17871,"elter":17872,"Ġbitcoin":17873,"_GR":17874,"ĠčĊ":17989,"metic":17990,"Ġtransformation":17991,"åı·":17992,"Ġrgb":17993,"istributions":17994,"Ġimplicit":17995,"/in":17996,"destination":17997,"аÑĤÑĮ":17998,"Zero":17999,"Ġunset":18000,".where":18001,".go":18002,"Ġformation":18003,"Ġdeclaration":18004,"()čĊčĊ":18005,"ĠExpl":18006,"ĉĉĉĠĠ":18007,"/pro":18008,".JSON":18009,"Ġdesk":18010,".substr":18011,"//----------------------------------------------------------------------------":18012,"lyn":18013,"pson":18014,"disable":18015,"ĠFunc":18016,"ĉAssert":18017,"ĠMARK":18018,"Ġdefeat":18019,"Ġblind":18020,"Ġconstants":18021,".headers":18022,"UILD":18023,"Ġexpenses":18024,"Pixel":18025,"Ġhr":18026,"Ġfel":18027,"ĠEastern":18028,"_del":18029,"ĠCub":18030,"Ġsq":18031,"ĉcount":18032,"ĠDirectory":18033,"Ġexclus":18034,"Ġhistoric":18035,"Ġ------------------------------------------------":18036,"Ġcomposition":18037,"ĠdataGridView":18038,"ĠBurn":18039,"ĠBC":18040,"Master":18041,"Ġspawn":18042,"Ġbearing":18043,".SetActive":18044,"ilo":18045,"Ġgallery":18046,"Ġfounded":18047,"Ġavailability":18048,".sqrt":18049,"Ġpes":18050,"ĠDOM":18051,"mate":18052,"Oct":18053,"Ġmatched":18054,"itivity":18055,"Ġanxiety":18056,".price":18057,"ĠInstant":18058,"ìĬ":18059,"Ġtut":18060,"ICollection":18061,".shared":18062,"_sql":18063,"tbl":18064,"library":18065,"_destroy":18066,"ermal":18067,"ĠNotes":18068,"ĠEin":18069,"Ġsouthern":18070,"ĠOTHERWISE":18071,"Ġmacro":18072,".lower":18073,"cls":18074,"ContentView":18075,".link":18076,"constant":18077,"ĠBes":18078,"Ġsomebody":18079,"nb":18080,"\">{":18081,"(local":18082,".....":18083,"ĠNull":18084,"mx":18085,"Ġç":18086,"Ġpause":18087,"-----------":18088,"_MO":18089,"ĠCM":18090,"ĠforKey":18091,"ĠDVD":18092,"Ġclosest":18093,"_DEVICE":18094,"ĠStephen":18095,"ĠBBC":18096,"ĠTravel":18097,"Paint":18098,"ĠResults":18099,"ĠRule":18100,"Ġtp":18101,"Ġratings":18102,"cin":18103,"csv":18104,">/":18105,"ĠGOP":18106,"lad":18107,"ĠÑĢ":18108,"ĠindexPath":18109,"matrix":18110,"=f":18111,"arsed":18112,"Ġ});":18113,"ĠCos":18114,"ĠScore":18115,"Ġtak":18116,"ĠESP":18117,"ĠINC":18118,"_NULL":18119,"-flex":18120,"\"][":18121,"into":18122,"eland":18123,"Authorization":18124,"_FALSE":18125,"Ġgate":18126,"Ġvid":18127,"istent":18128,"TIME":18129,"Ġrewrite":18130,"Ġtie":18131,"Ġarchive":18132,".events":18133,".getParameter":18134,"ĠPermission":18135,"Ġprogramme":18136,"Ġé":18137,"jud":18138,"Ġcameras":18139,"(sys":18140,"ĠSyrian":18141,"Ġimprovements":18142,"Ġhip":18143,"Ġsuicide":18144,"Ġscholar":18145,"Ġcompatible":18146,"remote":18147,".down":18148,"FUNCTION":18149,"Ġmanaging":18150,"ĠUIKit":18151,".raw":18152,">>>>":18153,"Ġdemands":18154,"ellite":18155,"Ġdent":18156,"ĠMicro":18157,"åıĸ":18158,"'][$":18159,"ĠIE":18160,"imension":18161,"Ġtrem":18162,"Ġgained":18163,".with":18164,".ok":18165,"hou":18166,"Ġbom":18167,"ampaign":18168,"Ġjoining":18169,"fish":18170,"ĠaddSubview":18171,"Ġnorthern":18172,".cor":18173,"oret":18174,"Die":18175,"inish":18176,"_comp":18177,"Ġattended":18178,"Ġcollapse":18179,"ĠSS":18180,"acent":18181,"_EQUAL":18182,"ĠDeep":18183,"RGB":18184,"ĉtest":18185,"olves":18186,"uset":18187,"UnityEngine":18188,"writer":18189,"Resolver":18190,",%":18191,"ifference":18192,"_remove":18193,"onda":18194,"Ġfemme":18195,"decode":18196,"Branch":18197,"Ġflush":18198,"Ġinnovative":18199,"Tests":18200,"Ġ['./":18201,"Ġcovering":18202,".admin":18203,"ultipart":18204,"(lambda":18205,"namespace":18206,"ĠSport":18207,"Ġ!(":18208,"acles":18209,"Ġdepression":18210,"ĠKong":18211,"Ġpert":18212,"ĠConn":18213,"ĠOtherwise":18214,"/home":18215,"supported":18216,"Ġpink":18217,"Ġinvited":18218,"ños":18219,"_enabled":18220,"Ġ-Ċ":18221,"FW":18222,"eners":18223,"ĠMY":18224,"Ġsuggestions":18225,"Canvas":18226,"Ġfer":18227,"ĠMarketing":18228,"@Test":18229,"untu":18230,"ĠVen":18231,"ĠCou":18232,"ivals":18233,"Donald":18234,"limited":18235,"ĉĉĉĉĉĉĊ":18236,"Ġanalyst":18237,"(entry":18238,"Ġrepresentative":18239,"_attributes":18240,"Ġfur":18241,".hide":18242,"resp":18243,"adores":18244,"rides":18245,"ĠJosh":18246,"robot":18247,"ĠNAT":18248,"Ġsesso":18249,"Ġintegrated":18250,":true":18251,"parts":18252,"Ġstupid":18253,":event":18254,"@endsection":18255,"Ġpu":18256,".Table":18257,"ĠYii":18258,"`;ĊĊ":18259,"Ġclang":18260,"=\"\">":18261,"engan":18262,"_parameters":18263,".internal":18264,"ĠModern":18265,"Ġmetric":18266,"Ġsemi":18267,"={{Ċ":18268,".amazon":18269,"ĠBB":18270,"ainty":18271,"viewport":18272,"ĠstartActivity":18273,"dispatch":18274,"*****":18275,"Ġflav":18276,"ifferent":18277,"[this":18278,"Ġstake":18279,"Ġargued":18280,"viously":18281,".work":18282,"ĠOak":18283,"Old":18284,"(async":18285,"notes":18286,"Ġflip":18287,"Ġdisag":18288,"ĠTE":18289,"ĉerror":18290,"<'":18291,"Ġ»ĊĊ":18292,"Ġfiltered":18293,"ĠMach":18294,"Ġhung":18295,"_dump":18296,"_samples":18297,"-dismiss":18298,"Ġray":18299,"Implemented":18300,"DK":18301,"Ġjed":18302,"Ġbreaks":18303,"Ġfits":18304,".gr":18305,"ĠZero":18306,"oro":18307,"Ġequally":18308,"Ġ'[":18309,"Ġconcerning":18310,"<":18407,"Ġpromot":18408,"Ġincl":18409,"_only":18410,"를":18411,"ĠAttorney":18412,"-date":18413,"Ġlandscape":18414,"Ġfu":18415,"SY":18416,".prop":18417,"ĠArr":18418,"pag":18419,"ParallelGroup":18420,"':čĊ":18421,"Ġlogs":18422,"aunch":18423,"unci":18424,"nama":18425,"TableCell":18426,"issues":18427,".{":18428,"ecurity":18429,"_exec":18430,"olds":18431,"Ġhosts":18432,"Ġproto":18433,"_import":18434,"_sort":18435,"ĠBow":18436,"ĠNormal":18437,"ĠFarm":18438,".createParallelGroup":18439,"Rotation":18440,".err":18441,"Ġpleased":18442,"itage":18443,".Wh":18444,"ĉĉĠĠĠĠ":18445,"MR":18446,"ĠMORE":18447,"ĠNatural":18448,"_transform":18449,"BASE":18450,"eneral":18451,"utdown":18452,".commons":18453,"WT":18454,"Ġaan":18455,".Result":18456,"dog":18457,"Ġclicking":18458,"),ĊĊ":18459,"#line":18460,"Operator":18461,"Ġciv":18462,"Ġmerg":18463,"obuf":18464,"ngthen":18465,"Ġ[{":18466,"Ġcancell":18467,"trigger":18468,".:":18469,"WORK":18470,"declare":18471,"Ġdecrease":18472,"ÅĽci":18473,"loom":18474,".None":18475,"ĠMI":18476,"ĠJason":18477,"Ġhealthcare":18478,"iamond":18479,"sylvania":18480,"*x":18481,"ĠRa":18482,"[b":18483,"Ġprinting":18484,"phabet":18485,"ĠLabour":18486,"opper":18487,"Ġzijn":18488,"-target":18489,"_FUNCTION":18490,"Ġoct":18491,"ениÑı":18492,"åľ¨":18493,"Ġwestern":18494,"Ġcomputers":18495,"ĠRET":18496,"HashMap":18497,"[String":18498,"getValue":18499,"_DATE":18500,".Next":18501,"ĠFif":18502,"él":18503,"icked":18504,"æİ":18505,"-MM":18506,"Ġ{ĊĊĊ":18507,"Ġcontacts":18508,"Ġdigits":18509,"Produ":18510,"Ġunusual":18511,"Ġrapidly":18512,"tures":18513,"Ġangry":18514,"cancel":18515,"xxxx":18516,"_parser":18517,"idity":18518,"_PREFIX":18519,"Ġmehr":18520,"Ġrarely":18521,"ethe":18522,"opes":18523,"Ġ%.":18524,"works":18525,"Ġtheta":18526,"Ġcontribution":18527,"ĠTony":18528,"Ġsquad":18529,"ай":18530,"Ġîn":18531,"there":18532,"outed":18533,"ĉq":18534,"ĻĤ":18535,"good":18536,"LI":18537,"页":18538,"ĠLiving":18539,"izabeth":18540,"Ġkt":18541,"ĠDallas":18542,"]],Ċ":18543,"Ġ/>ĊĊ":18544,"Ġraising":18545,"/router":18546,"_game":18547,"ĠCUR":18548,"zens":18549,".es":18550,"ĠfontWeight":18551,"(func":18552,"notification":18553,"Ġ'../../../":18554,"Ġblame":18555,"ãĢĤĊĊĊĊ":18556,"anco":18557,"Identity":18558,"follow":18559,"Ġarts":18560,"xs":18561,"Ġofficially":18562,"ĠStudio":18563,"Ġrecommendations":18564,"Ġlocale":18565,"Ġamateur":18566,"ĠEnable":18567,"Ġcaps":18568,".End":18569,"-add":18570,"_gshared":18571,"ĠCT":18572,"Force":18573,"ĊĠĠĠĠĠĠĠĠĠĠĠĠĊ":18574,"Ġorange":18575,"Ġlp":18576,"Ġanswered":18577,".Grid":18578,"Ġdual":18579,"Ġstrategic":18580,"Ġnobody":18581,"Ġfatal":18582,"_est":18583,"(el":18584,"Ġìł":18585,"ĠBudd":18586,"AIT":18587,"_factor":18588,"-one":18589,"ĠHAVE":18590,"\"čĊčĊ":18591,"Prof":18592,"Ġär":18593,"strings":18594,"Ġdirty":18595,"ĠFace":18596,"ĠBegin":18597,"ĠBus":18598,"Ġwis":18599,"åŃĹ":18600,"Ġspeaker":18601,"Ġcarrier":18602,"ĠOm":18603,"Ġhadn":18604,"Allow":18605,"::__":18606,"Ġverb":18607,"ĠComplete":18608,"ĠEasy":18609,"Ġbills":18610,"ĠĠĊĊ":18611,"Vertical":18612,"Ġpron":18613,"ĠDefine":18614,"Ġlookup":18615,"variables":18616,"Ġpandas":18617,"umes":18618,"Ġinnoc":18619,"ĠsetUp":18620,"ĠChampionship":18621,"artist":18622,"ĠCType":18623,"Foundation":18624,"à¹Ī":18625,"ĠSetup":18626,"Ġrecipes":18627,"ĠUIColor":18628,"ĠFight":18629,"Ġauthorized":18630,"_click":18631,"_success":18632,"angan":18633,"ĠMountain":18634,"ĠDoctor":18635,"Ġegg":18636,"ĠMedicine":18637,"cles":18638,"`.Ċ":18639,"[int":18640,"dashboard":18641,"ĠAppro":18642,"-dr":18643,"Ġproduces":18644,"Ġrental":18645,"Ġreload":18646,"Ġarrival":18647,"spot":18648,"Ġundert":18649,"Ġequipped":18650,"Ġproved":18651,"Ġcenters":18652,"Ġdefines":18653,"also":18654,"Ġopacity":18655,"ĠUnfortunately":18656,"ĠIllinois":18657,"Ġне":18658,"ĠTemple":18659,"ĠTrail":18660,"ĠKelly":18661,"Ġmeasurement":18662,"Ġseparated":18663,"-circle":18664,"Hey":18665,"ĠREAD":18666,"igits":18667,"Ġib":18668,"ĠMOD":18669,"attery":18670,"аз":18671,"Ġvend":18672,"енÑĤ":18673,"ĠHttpClient":18674,"safe":18675,"_ASS":18676,"icit":18677,"ĠConstruct":18678,"ĠClo":18679,"ĠSix":18680,"_TOKEN":18681,"(block":18682,"Ġwarned":18683,"/*!":18684,"!Ċ":18769,"Ġinnovation":18770,"_\"":18771,"Ġ);čĊčĊ":18772,"Ġspots":18773,"Ġchoosing":18774,".cs":18775,"Ġflexible":18776,"UInt":18777,"Ġscratch":18778,"-al":18779,"Ġfestival":18780,"Ġoutstanding":18781,"================================================":18782,"Mean":18783,"ĠOregon":18784,"symbol":18785,".account":18786,"dney":18787,"'''":18788,"!\",":18789,"Ġparticle":18790,"Ãĥ":18791,"[MAX":18792,"IVER":18793,"ERENCE":18794,"NSMutable":18795,"ĠColumbia":18796,"_ĊĊ":18797,".fr":18798,"Ġcogn":18799,"VR":18800,"ĠMethods":18801,"ĠMade":18802,"ĠBR":18803,"ĠElse":18804,"Ġeggs":18805,"Ġswing":18806,"ĠInv":18807,"Ġdiseases":18808,"Ġfirms":18809,"Ġlemma":18810,"}`);Ċ":18811,"lings":18812,"Ġgym":18813,"uminum":18814,".Trim":18815,"Mem":18816,"Ġcriticism":18817,"ibernate":18818,"_TX":18819,"ioni":18820,"Ġguidance":18821,"Ġrepeatedly":18822,"Ġsupplier":18823,"Ġpainting":18824,".Fragment":18825,"edException":18826,"Ġwiring":18827,"Ġcourts":18828,"WEB":18829,"æľī":18830,"\\.":18831,"illance":18832,"Ġbrows":18833,"ĠPattern":18834,"PLICATION":18835,"ĠSummer":18836,"Chain":18837,"Ġcute":18838,"mercial":18839,"Ġdil":18840,"ĠFranklin":18841,"ĉglobal":18842,"INCLUDING":18843,"history":18844,"Ġlst":18845,"Qt":18846,"SDL":18847,"alia":18848,"iere":18849,"(...":18850,"ĉcin":18851,"iffs":18852,"velope":18853,"ĠRoot":18854,"cluster":18855,"UserName":18856,"igne":18857,"()Ċ":18949,"Ġapplying":18950,"Ġpromised":18951,"Ġox":18952,"ncia":18953,"ĠValidation":18954,"orts":18955,"_cur":18956,"elect":18957,"eye":18958,"(Data":18959,"Ġreporter":18960,"ĠBuff":18961,"Ġsr":18962,"Ġ\";":18963,"icky":18964,"Ġtempor":18965,"SN":18966,"Ġresident":18967,"pires":18968,"ysical":18969,"Ġendorse":18970,"ĠSong":18971,"isEmpty":18972,"leet":18973,"_util":18974,"Ġdistingu":18975,"ĠTalk":18976,"ĠMot":18977,"(default":18978,".Arg":18979,"gorithms":18980,"_words":18981,"immer":18982,"_reset":18983,"family":18984,"WW":18985,"Ġsavings":18986,"ĠâĢĿ":18987,"_enable":18988,"sidebar":18989,"Running":18990,"Ġali":18991,"Ġtestim":18992,"Ġwarnings":18993,"ĠChem":18994,"ĠExit":18995,"Ġfounder":18996,"pector":18997,"Ġrm":18998,"_dataset":18999,"ĠDas":19000,"Ġhan":19001,"Getty":19002,"ál":19003,"Ġny":19004,"Ġpoverty":19005,"Ġresulted":19006,".by":19007,"ĠVisit":19008,"Ġobtaining":19009,"/'.$":19010,"ĠĠĠĠĠĠĠĠĠĠĠĊ":19011,"shall":19012,"_LEFT":19013,"UIImage":19014,"_Name":19015,"have":19016,"ĠNob":19017,"lr":19018,"-footer":19019,"Ġnaked":19020,"ĠGarden":19021,"\\Facades":19022,"Ġgraduate":19023,"Ġfranchise":19024,"plane":19025,"Ġcontributions":19026,"ĠstringWith":19027,"Ġcrypto":19028,"Ġmovements":19029,"athers":19030,"Ġlifetime":19031,"Ġcommunicate":19032,"jar":19033,"ĠFragment":19034,"_IF":19035,"ĠNavy":19036,"ĠFigure":19037,"Ġsimulation":19038,"_stop":19039,"Ġreporters":19040,"Ġversus":19041,"aja":19042,"Ġα":19043,"Ġgovernor":19044,"ListItem":19045,"Ġsealed":19046,".Background":19047,"edi":19048,"ashing":19049,"Ġlip":19050,"ĠIh":19051,"merge":19052,"Ġnec":19053,"elocity":19054,"ATEG":19055,"Ġseeds":19056,"Ġfloating":19057,"_FA":19058,"walk":19059,"ĉuser":19060,"_depth":19061,"Ġwage":19062,"@app":19063,"Nil":19064,"([\"":19065,"(vector":19066,"Ġsecretary":19067,"ĠjPanel":19068,"vez":19069,"³³³³":19070,"direction":19071,"ĠEP":19072,"Ġhunt":19073,"JsonProperty":19074,"ĠPORT":19075,"]\",":19076,"ап":19077,"ĠForeign":19078,"panic":19079,"Ġtrials":19080,"ĠAle":19081,"Ġrural":19082,"-value":19083,"authorized":19084,"ĠScotland":19085,".drop":19086,"ĠMT":19087,"ç±":19088,"rowth":19089,"FilePath":19090,"Ġrecall":19091,"ifle":19092,"Ġcel":19093,"ĠSELECT":19094,"kn":19095,"_case":19096,"Ġcrop":19097,"sure":19098,"pot":19099,"ICS":19100,"Ġstem":19101,"Ġindustries":19102,"Put":19103,"Ġaber":19104,"roadcast":19105,"Icons":19106,")\")Ċ":19107,"æĪIJåĬŁ":19108,"gui":19109,"Ġassumed":19110,"Ġrx":19111,"EA":19112,"è§":19113,"ELL":19114,"Ġdose":19115,"Ġine":19116,"Ġdeeper":19117,"lider":19118,"Ġordinary":19119,"Ġgolf":19120,"_IMAGE":19121,"ĠNAME":19122,"(module":19123,"Ġatom":19124,"Ġbelt":19125,"Ġoffices":19126,"beta":19127,"Ġphilosophy":19128,"(JSON":19129,"-field":19130,"Ġintroduce":19131,"Ġconvenience":19132,"optim":19133,">\"Ċ":19134,"athy":19135,"Ġemployer":19136,"quate":19137,"Ġedited":19138,"Arguments":19139,"ĠNations":19140,"__)":19141,"Ġnose":19142,"ĠSample":19143,"')ĊĊĊ":19144,"Ġcake":19145,".getAttribute":19146,"HD":19147,"Modified":19148,"Ġpredicted":19149,"ÅĦ":19150,"anie":19151,"Sorry":19152,"(doc":19153,"wind":19154,"ieve":19155,"Ġprovisions":19156,"ATER":19157,"OTE":19158,"MY":19159,".Autowired":19160,"ĠBath":19161,".Boolean":19162,"Ġbackend":19163,".Mouse":19164,"ateral":19165,"paper":19166,"Const":19167,"ĠVR":19168,"_entity":19169,"_CTRL":19170,"ĠProtection":19171,"ĠGM":19172,"ĠStudy":19173,"Ġsoup":19174,"otime":19175,"'use":19176,"]\"":19177,"/users":19178,"aug":19179,"ĠHong":19180,"_norm":19181,"ãģ¨":19182,"Ġsecre":19183,"(Build":19184,"ĠContract":19185,"olas":19186,"Ġsauce":19187,"Ġaggressive":19188,"Ġracial":19189,"character":19190,"@@":19191,"Ġcompile":19192,"ĠVoid":19193,"_rem":19194,"_memory":19195,"kk":19196,"Ġmic":19197,"Same":19198,"Utility":19199,"ĠHtml":19200,"ĠXml":19201,"Ready":19202,"Ġgall":19203,"Ġallegedly":19204,"ĉĉĉĉĠĠĠ":19205,"ĠMetal":19206,"ĠPersonal":19207,"ĠborderRadius":19208,"rxjs":19209,"objects":19210,"Ġwanting":19211,"Ġbowl":19212,"vendor":19213,"offsetof":19214,"ĠRs":19215,"ĠRating":19216,"Ġrally":19217,"_NODE":19218,"ĠMix":19219,"Ġadvertis":19220,"Ġnarrative":19221,"sal":19222,"Ġmc":19223,"SError":19224,"Ġfingers":19225,"Ġaccompany":19226,"Ġtired":19227,"Ġstride":19228,"Ġgui":19229,"elist":19230,"Locale":19231,"Ġreleases":19232,"iking":19233,"Ġanger":19234,")))ĊĊ":19235,"allest":19236,"Summary":19237,"(O":19238,"(for":19239,"Ġbasketball":19240,"Ġroads":19241,"ĠInstall":19242,"ĠFab":19243,"itmap":19244,"Ġ))Ċ":19245,"Ġintersection":19246,"ighbor":19247,"ĠBry":19248,"ĠHERE":19249,"Software":19250,"elfare":19251,"acs":19252,"Ġtrailer":19253,".getClass":19254,"chars":19255,"Ġregulation":19256,"Ġrefers":19257,"Ġdestruction":19258,"Ġcontinuous":19259,"ĠAustin":19260,"é¢":19261,"akan":19262,".window":19263,"ĠTemplates":19264,"Ġabsence":19265,":n":19266,"Ġdisorder":19267,"flash":19268,"Ġdelet":19269,"boards":19270,"ĠĠĉ":19271,"ROP":19272,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":19273,"Ġacqu":19274,"Ġlawsuit":19275,"ĠReviews":19276,"Ġgarage":19277,"timer":19278,"Ġej":19279,"ĠRectangle":19280,"Ġflowers":19281,"ilst":19282,"ĠInstance":19283,"Super":19284,"det":19285,"disposing":19286,"ĠES":19287,"ĠIC":19288,"vere":19289,"Sk":19290,"_channels":19291,"puted":19292,"/null":19293,"nnen":19294,"ĠGallery":19295,"_global":19296,"Authentication":19297,"ĠRank":19298,"Ġblocked":19299,"Ġcalm":19300,"market":19301,"ĉval":19302,"Ġaug":19303,"period":19304,"ĠConstant":19305,"Ġ?>\">Ċ":19306,"Ġlobby":19307,"pal":19308,"Ġsink":19309,"iah":19310,"С":19311,"urname":19312,"Ġconver":19313,"Ġinvestigate":19314,"Christ":19315,"Hub":19316,"ĠIND":19317,"ĠPed":19318,"uras":19319,"ĉurl":19320,"ĠTro":19321,"Ġpreferences":19322,"Ġguaranteed":19323,"`ĊĊ":19324,"Ġportions":19325,"Ġevalu":19326,"'>;ĊĊ":19421,".AutoScaleMode":19422,"Ġcats":19423,"Ġregistry":19424,"ulus":19425,"FI":19426,"payload":19427,"-search":19428,"Ġstaying":19429,"acious":19430,"Decoration":19431,"Review":19432,"Inf":19433,"Keep":19434,"itis":19435,",String":19436,"Coord":19437,"Ġpero":19438,"Sex":19439,"ĠAtlanta":19440,"uesta":19441,"Argb":19442,">*":19443,"}_":19444,"Footer":19445,"Ġemployed":19446,"_bound":19447,"vide":19448,".func":19449,"$scope":19450,"Ġspo":19451,"ĠAnal":19452,"ounced":19453,"around":19454,"Ġrestriction":19455,"Ġshops":19456,"åĢ":19457,"ĠLatin":19458,"-col":19459,"Ġbarely":19460,"ĠEuro":19461,"Er":19462,"Ġfaire":19463,"_distance":19464,"_unlock":19465,"Quote":19466,"IVATE":19467,"ĠåĪ":19468,"Ġaimed":19469,"ĠRetrie":19470,".iter":19471,"Ġwrapped":19472,"Ġagreements":19473,"strument":19474,"(product":19475,"Ġstudied":19476,".setValue":19477,"Ġye":19478,"ĠCache":19479,"MBOL":19480,"Ġquarterback":19481,"Ġsyntax":19482,".getElementsBy":19483,".version":19484,"website":19485,"Runner":19486,"_single":19487,"ativ":19488,"ĠAltern":19489,"ĠBeautiful":19490,"rightarrow":19491,"Ġdiversity":19492,"plash":19493,"(co":19494,".Fill":19495,"Ġtyping":19496,"Ġclar":19497,"Hit":19498,"OO":19499,"acco":19500,"worth":19501,"Ġscripts":19502,"ĠMuslims":19503,"ĠLL":19504,"erving":19505,"(boolean":19506,"Ġbaseball":19507,"ĠCAN":19508,"MAIL":19509,"depend":19510,"Ġrespective":19511,"Ġconstexpr":19512,".*;ĊĊ":19513,"']))Ċ":19514,"Ġyard":19515,"Ġidentical":19516,"ifecycle":19517,"USH":19518,"upiter":19519,".validate":19520,"cli":19521,"ISTER":19522,"Indicator":19523,"Fail":19524,"Ġdemocracy":19525,".var":19526,"Ġsatisfied":19527,"-------------":19528,"encer":19529,"hor":19530,"Ġrounds":19531,"DAO":19532,"oa":19533,"Ġflask":19534,"=c":19535,"[]Ċ":19536,"/dist":19537,"Ġparte":19538,"Ġconfirmation":19539,"eron":19540,"aware":19541,"":19542,"Ġdependencies":19543,"ĠVideos":19544,"-row":19545,"Ġ**/Ċ":19546,"Ġnou":19547,"Ġhover":19548,"æŀ":19549,"Ġnin":19550,"ĠUSD":19551,"Mac":19552,"_Load":19553,"Ġoutcomes":19554,"_socket":19555,"Ġqueries":19556,"wm":19557,"Ġhitting":19558,"inux":19559,"Mich":19560,"udge":19561,"ATAB":19562,"Ġvulnerable":19563,"ä¾":19564,"Ġportfolio":19565,":YES":19566,"ĉmap":19567,"Bound":19568,"Ġiteration":19569,"incess":19570,"Ġactors":19571,"ĠQual":19572,"_clean":19573,"ãĢijãĢIJ":19574,"MSG":19575,"Green":19576,"ĠOfficer":19577,"Ġsmoking":19578,">',":19579,"ĠFlo":19580,"++;":19581,"olygon":19582,"Ġbulk":19583,"Ġdrama":19584,"Ġexceptions":19585,"osed":19586,"Ġ+čĊ":19587,"Ġlegacy":19588,"CV":19589,"Ġcontributed":19590,"ĠTerms":19591,"Ġbt":19592,"Ġuntuk":19593,"Ġalien":19594,"===Ċ":19595,"ĉVector":19596,"Ġls":19597,"Online":19598,".facebook":19599,"numeric":19600,"ockets":19601,"Aut":19602,"bury":19603,"-redux":19604,"ĠRedistributions":19605,"GLOBALS":19606,"urrencies":19607,"Ġtons":19608,"âĢĻ,":19609,"Ġê":19610,"(col":19611,"ĠSymbol":19612,"Ġstayed":19613,"ĠML":19614,"Ġmunicip":19615,"Ġsexo":19616,"Sen":19617,"nr":19618,"Ġgains":19619,"Ġshortly":19620,".Menu":19621,"ý":19622,"KNOWN":19623,"Ġoperators":19624,"-V":19625,"ĠPatrick":19626,"/add":19627,"_CO":19628,"iration":19629,"(post":19630,"Posts":19631,"/_":19632,"Ġplug":19633,"Ġintellectual":19634,"Ġmetab":19635,"Ġpregnancy":19636,"ĠPremier":19637,"nm":19638,"Ġprediction":19639,"ĠMinistry":19640,"Three":19641,"valuate":19642,"ĠMini":19643,"bu":19644,"оз":19645,"\";čĊ":20078,"ĠSav":20079,".Bold":20080,"Ġenables":20081,"ĉtmp":20082,"Ġmanually":20083,"ĠSqu":20084,"userid":20085,".function":20086,".cache":20087,"LOPT":20088,".Services":20089,"ddit":20090,"tim":20091,">>":20154,"station":20155,"lore":20156,"atype":20157,"ishop":20158,"/****************************************************************":20159,"ComboBox":20160,"Ġvacation":20161,"Ġinitiative":20162,"ĠdefaultValue":20163,"concat":20164,"ĠKh":20165,"ĠWelcome":20166,"izedName":20167,"Migration":20168,"Ġgradient":20169,"Hot":20170,"Ġhardly":20171,"elo":20172,"ĠStudents":20173,"Ġloose":20174,"atz":20175,".Send":20176,"'/":20177,"Ġuniversal":20178,"Ġenterprise":20179,"Ġregex":20180,"Ġvisitor":20181,"ĠFly":20182,"Seq":20183,"à¸Ļ":20184,"ĠVisual":20185,"Ġlibraries":20186,"atoes":20187,"Payment":20188,"Ġpent":20189,"Ġgathered":20190,"VRTX":20191,"ĠDM":20192,"Split":20193,"Ġletting":20194,"ÐĿ":20195,"_errors":20196,"epoch":20197,"PARAM":20198,"cu":20199,"ÑģÑĤв":20200,"olutions":20201,"Editing":20202,"fonts":20203,"Ġallocated":20204,"ĠBased":20205,"(Y":20206,"ĠJudge":20207,"Ġbrothers":20208,"FILES":20209,"ço":20210,"wb":20211,"_PI":20212,"'^":20213,"Ġsword":20214,".services":20215,"Ġnl":20216,"Tim":20217,"igg":20218,"ĠMoore":20219,"Ġcryptoc":20220,"åĩº":20221,"_posts":20222,"otate":20223,"?'":20224,"....ĊĊ":20225,"Ġkl":20226,"=\"$":20227,"Ġdecoration":20228,"ạ":20229,"ĠDIRECT":20230,"GUI":20231,")=>{Ċ":20232,"Ġnewsletter":20233,"Ġprecis":20234,"(point":20235,"ĠEquipment":20236,"uty":20237,"ĠDave":20238,"Ġparticipation":20239,"uarios":20240,"xit":20241,".As":20242,"ETER":20243,"orous":20244,"Ġshield":20245,"[]>":20246,"ilitary":20247,".origin":20248,"Ġpromotion":20249,"Unt":20250,"Ġct":20251,"TRA":20252,"ViewHolder":20253,"Ġsigma":20254,"delta":20255,"arehouse":20256,"contract":20257,"(Vector":20258,"Ġcompete":20259,"/form":20260,"/components":20261,"Ġnr":20262,"ĠIndones":20263,"ĠоÑĤ":20264,"ĠVolume":20265,".files":20266,"(resp":20267,"/models":20268,"Ġsurf":20269,"standard":20270,"/o":20271,"ĠXCTAssert":20272,"VICES":20273,".Code":20274,"SED":20275,"Ġactivate":20276,"Delta":20277,"Ġlimitation":20278,"rij":20279,"Ġpregnant":20280,":^(":20281,"Ġsour":20282,"pie":20283,"Ġexpense":20284,"ication":20285,"ĠLarge":20286,"Ġ±":20287,"ĠBowl":20288,"(models":20289,"/N":20290,"Pa":20291,".reload":20292,"Ġwondering":20293,"Execution":20294,"ĉĠĠĠĠĠĠ":20295,"ĠGraphics":20296,"ĠContin":20297,"_job":20298,"ĠgetName":20299,"ĠMagn":20300,"ĠDWORD":20301,"mad":20302,"Ġnh":20303,"features":20304,"}\");Ċ":20305,"heets":20306,"(train":20307,"zn":20308,"Ġrecruit":20309,".connection":20310,"Ġbarrel":20311,"Ġsteam":20312,"_setting":20313,"Ġangular":20314,"aneously":20315,"Ġbil":20316,"ĠNorm":20317,"(!$":20318,"ibt":20319,"%(":20320,"Ġposit":20321,"ĠFather":20322,"intendo":20323,"Live":20324,"Ġports":20325,"Ġmej":20326,"Ġlanding":20327,"ponder":20328,"Ġcod":20329,"_HEADER":20330,".Margin":20331,"Ġballs":20332,"Ġdiscussions":20333,"Ġblend":20334,"Hex":20335,"Ġfarmers":20336,"Ġmaintaining":20337,"ĠĠĠčĊ":20338,"syn":20339,"[T":20340,"rus":20341,"uffers":20342,"Ġcontributors":20343,"_sys":20344,".Debug":20345,"Ġconstructed":20346,"omes":20347,"?id":20348,"slider":20349,"Ġsuppliers":20350,"scriber":20351,"pes":20352,"Ðŀ":20353,"\":čĊ":20354,"\\Controller":20355,"))ĊĊĊ":20356,"Ġlua":20357,"Multi":20358,"ENS":20359,"Src":20360,"Ġpetition":20361,"Ġslave":20362,"looking":20363,"VERT":20364,"ĉvector":20365,"Special":20366,"hh":20367,"anne":20368,"ĠNiger":20369,"/views":20370,"zing":20371,"endant":20372,"(":20591,".Product":20592,"Forms":20593,"NEW":20594,"Pay":20595,"ĉboolean":20596,"_contact":20597,"ĠElectric":20598,"skip":20599,"Ġwur":20600,"Ġchronic":20601,"_driver":20602,"ĠSab":20603,"ĠUlt":20604,"ĠRad":20605,"STATUS":20606,"ĠLewis":20607,"OB":20608,"Ġgifts":20609,".Rec":20610,"TRUE":20611,"Ġintensity":20612,"Marker":20613,".compare":20614,"ffic":20615,"Cookie":20616,"ĠBaby":20617,"ĠBigDecimal":20618,"ilet":20619,"ĠHOLDERS":20620,"ĠLady":20621,"Ġlung":20622,"ĠAlabama":20623,"Ġdess":20624,"`);Ċ":20625,"ĠBuilder":20626,"_region":20627,"Ġneutral":20628,"Both":20629,"Ġhp":20630,"Ġhorn":20631,"Ġsegments":20632,"ĠEC":20633,"\"=>\"":20634,"(rec":20635,"ĠPi":20636,"GM":20637,"Ġlaptop":20638,"Scalar":20639,"isd":20640,"-dialog":20641,"ĠAnderson":20642,"Ġmistakes":20643,"ĠHan":20644,"jes":20645,"estination":20646,"Ġpromises":20647,"bid":20648,"ĠScient":20649,"GIN":20650,"ĠPerformance":20651,"bage":20652,".users":20653,"leading":20654,"Ġoral":20655,"Graphics":20656,"_PTR":20657,"hang":20658,"Ġinev":20659,"processing":20660,"Factor":20661,"ĠNA":20662,"$string":20663,"Ġgrounds":20664,".SaveChanges":20665,"clock":20666,"cripcion":20667,"ĠNewton":20668,"gc":20669,".includes":20670,"Ġblast":20671,"Ġ'-'":20672,"Ġpuede":20673,".Session":20674,"Ġgrep":20675,"_final":20676,"ĠGay":20677,"ĠGive":20678,"iri":20679,"-star":20680,"ĠUIImage":20681,"_epoch":20682,"ubb":20683,"enth":20684,"Ġelite":20685,"Ġcampaigns":20686,"ĠPorno":20687,"_assign":20688,"Protocol":20689,"ĠBeing":20690,"ĠAirport":20691,"Ġconventional":20692,"ĠWat":20693,"ĠCI":20694,"ETA":20695,"ĠAnthony":20696,"Ġtablet":20697,"(format":20698,"Ġconsistently":20699,"ĠIowa":20700,"Ġavatar":20701,".cursor":20702,"![":20703,"Ġhanging":20704,"Her":20705,"Such":20706,"';ĊĊĊ":20707,"orgeous":20708,"()==":20709,"ĠviewModel":20710,"Ġãĥ":20711,"Ġels":20712,"ĠAgent":20713,"Fetch":20714,"apor":20715,"Ġcx":20716,"pread":20717,"ĠPier":20718,"oeff":20719,"Sn":20720,"ĠVirtual":20721,"Apr":20722,".White":20723,"_MOD":20724,"ĠPoints":20725,"失":20726,"Ġgenes":20727,"Ġvendor":20728,"Ġmainstream":20729,"Ċ":20758,"Filename":20759,"Ġsne":20760,"ĠFootball":20761,"Ġrival":20762,"Ġdisaster":20763,"ionic":20764,"ĠDamage":20765,".Resource":20766,"-en":20767,"ĠTypes":20768,"getString":20769,"(board":20770,"Ġbol":20771,"plain":20772,"zym":20773,"า":20774,"Ġscanner":20775,"ilder":20776,"_msgs":20777,"æı":20778,"(intent":20779,"Ġdestruct":20780,"Ġbust":20781,"ĠEmploy":20782,"oni":20783,"ĠUIViewController":20784,"Ġodds":20785,"earer":20786,"Geometry":20787,"Ġyii":20788,"_EXPORT":20789,"ĠAttack":20790,"Ġniet":20791,"Ġimpression":20792,"ĠGil":20793,"_prob":20794,"ĠCF":20795,"ĠExperience":20796,"/plugins":20797,".Method":20798,"Ġbeliefs":20799,"Native":20800,"_build":20801,"Ġvig":20802,"Ġranks":20803,"covered":20804,"such":20805,"Guard":20806,".pack":20807,"adder":20808,"ivia":20809,"lng":20810,"ĠвÑĭ":20811,"Timestamp":20812,"_now":20813,"Ġpoker":20814,"Ġunc":20815,"Ġshapes":20816,"-types":20817,"_period":20818,"pk":20819,"Ġveteran":20820,"Ġsono":20821,"Ġappointed":20822,"overflow":20823,".driver":20824,"_cat":20825,"utt":20826,"plant":20827,"imb":20828,"ĠAccept":20829,"Ġconcert":20830,"ĉnode":20831,"ĉz":20832,"?>čĊ":20833,"Ġbanned":20834,"ĉĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":20835,"Ġtoxic":20836,"Ġdisappe":20837,"ÈĽ":20838,"Ġgrace":20839,"ateful":20840,"Reply":20841,"ĠCruz":20842,"Ġscrap":20843,"Ġkeywords":20844,"simp":20845,"Ġmortgage":20846,"Ġcyber":20847,"ĠExecute":20848,"Ġlatitude":20849,"ifu":20850,".COM":20851,"dbo":20852,"Ġsorts":20853,"ĠGas":20854,"omial":20855,".Local":20856,"Cells":20857,".Replace":20858,"Strings":20859,".fit":20860,"ĠThird":20861,"%\",Ċ":20862,"Ġ{}\".":20863,"ĠSony":20864,"Ġ[:":20865,"Ġfallen":20866,".')Ċ":20867,"inh":20868,"ĠMC":20869,"Ġredis":20870,"Codes":20871,"Ġprofiles":20872,"hook":20873,"Reducer":20874,"_FUNC":20875,"Ġnavigate":20876,"strlen":20877,"Ġhorm":20878,"áŀ":20879,"ĠSR":20880,".boot":20881,"Ġdigest":20882,"ĉheader":20883,".findOne":20884,"æģ":20885,"DbType":20886,"nia":20887,"_merge":20888,"Ġdonne":20889,"/Getty":20890,"_CHAR":20891,"Ġbands":20892,".URL":20893,"artial":20894,"Ġfreq":20895,"Ġsist":20896,"Ng":20897,"Ġrendering":20898,"\\Core":20899,"Widgets":20900,"ĠVA":20901,"Ġactivists":20902,"Ste":20903,"=_":20904,"alla":20905,"Stamp":20906,"Ġloads":20907,"Ġxx":20908,"ĠLearning":20909,".Mvc":20910,"uir":20911,"(\"$":20912,"Ġconnecting":20913,"ReadOnly":20914,"uru":20915,"ĠEag":20916,"BIT":20917,"_DEL":20918,"å§":20919,"arrass":20920,"external":20921,"ĠYOUR":20922,"ĠBrew":20923,"ĠFive":20924,"Ġresize":20925,"igid":20926,"eration":20927,"ĠÑį":20928,"åĬł":20929,"ĠCatch":20930,"Ùģ":20931,"ĠLeon":20932,"amil":20933,".Body":20934,"Clip":20935,"/list":20936,".br":20937,"EditText":20938,"ĉdb":20939,".Game":20940,"(BuildContext":20941,"backend":20942,".Red":20943,"facebook":20944,".urls":20945,"mr":20946,"rolled":20947,"-------":20948,"Ġintervention":20949,"Ġretirement":20950,"ĠKit":20951,"ĠPRE":20952,"UpperCase":20953,"ĠSocket":20954,"Ġ:-":20955,"Ġstudying":20956,"ĠMetro":20957,"arded":20958,"Ġconversations":20959,"Called":20960,"Ġexamine":20961,"ertificate":20962,".gz":20963,"-responsive":20964,"Ġrefund":20965,"_network":20966,"allowed":20967,"empt":20968,"Ġmeals":20969,"Categories":20970,"Ġtraveling":20971,"Ġkg":20972,"Ġshame":20973,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":20974,"Ġexplicitly":20975,"Ġmathematic":20976,"ĠSuite":20977,"ĠRGB":20978,"******/":20979,"Ġmixture":20980,"learning":20981,".template":20982,"atts":20983,"wx":20984,"ĉctx":20985,".properties":20986,"Ġdrinks":20987,"ĠEither":20988,"setText":20989,".getData":20990,".zip":20991,"Ġreveals":20992,".Ċ":21005,"Ġranked":21006,"_impl":21007,"ĠHandles":21008,"Ġhosted":21009,"Ġupdating":21010,"album":21011,"éĿ":21012,"Ġshader":21013,"Editors":21014,"-round":21015,"[]{":21016,"Ġsep":21017,"ĠHi":21018,"TEM":21019,"lookup":21020,".man":21021,"_INPUT":21022,"Ġthreatened":21023,"_IMPORT":21024,"Ġdrops":21025,"ruit":21026,"sid":21027,"both":21028,"ĠExcel":21029,"Ġjer":21030,"ordinary":21031,"ей":21032,"VIEW":21033,"reply":21034,"Ġ):Ċ":21035,"colors":21036,"verified":21037,"_Tr":21038,"_parse":21039,"Ġcongress":21040,"Promise":21041,"ints":21042,"ĠMother":21043,".Api":21044,"ĠDuration":21045,"ĠfirstName":21046,"inheritdoc":21047,"ĠMars":21048,"Ġapr":21049,"ODY":21050,"Ġvisits":21051,"Ġhealing":21052,"letters":21053,")));čĊ":21054,"future":21055,".Framework":21056,"Ġkiss":21057,"Ġinvolve":21058,"Ġsilent":21059,"adows":21060,"Ġanybody":21061,"sch":21062,"Ġsolely":21063,"-img":21064,"Ġpropri":21065,"Ġinstruct":21066,"Ġlicenses":21067,"Ġmeth":21068,"Ġcondem":21069,"ĠDomain":21070,"ĠHarris":21071,"ĠsÃ¥":21072,"CEPT":21073,"Batch":21074,"@extends":21075,"ĠCONTRIBUT":21076,".DataFrame":21077,"_packet":21078,"recision":21079,"Ġfocusing":21080,".ht":21081,"__\":Ċ":21082,":Get":21083,"ĠKC":21084,"Ġpassage":21085,"Segment":21086,"_center":21087,"-zA":21088,"_BL":21089,"Ġconvin":21090,"Ġclassified":21091,"ĠNSMutable":21092,"_ap":21093,"tile":21094,"Rectangle":21095,"(nums":21096,"vens":21097,"ĠUIButton":21098,"ĠFeder":21099,"amo":21100,"Ġoutline":21101,"ĠParser":21102,"Ġâī":21103,"ĠWorks":21104,".Schema":21105,"Ġengines":21106,"_common":21107,"_old":21108,"ĠsetContentView":21109,"Ġ///<":21110,"ĠBT":21111,"fm":21112,"Ġdivers":21113,"_weights":21114,"emark":21115,"ĠACT":21116,"Ġproportion":21117,"overlay":21118,".dirname":21119,"ĠGit":21120,"_REFERENCE":21121,"<>":21122,"lb":21123,"_rule":21124,"è´¥":21125,"ĠPutin":21126,"Ġsleeping":21127,"():čĊ":21128,"Ġpreserve":21129,"Ġparliament":21130,"ĠLooking":21131,"Ġpicking":21132,"ĠDispatch":21133,"Ġslip":21134,"ëĵ":21135,"ĠLyn":21136,"_signal":21137,"configuration":21138,"ĠPitt":21139,"aden":21140,"procedure":21141,"Ġenthusi":21142,"fight":21143,"ĠConsider":21144,"Ġtorn":21145,"Connected":21146,".cos":21147,"_groups":21148,"ĠThink":21149,"Ġdeliber":21150,"Ġresid":21151,"working":21152,".columns":21153,"ĠCalled":21154,"Ġeslint":21155,">\",":21156,"_DOWN":21157,"hist":21158,"ĠAdvanced":21159,"Ġrewards":21160,"actors":21161,"Ġsilence":21162,"Ġmyth":21163,"Ġneur":21164,"Ġauction":21165,".GetString":21166,"eks":21167,"(project":21168,"ĉmsg":21169,"ĉoutput":21170,"Ġcomplaints":21171,",S":21172,"Ġtbl":21173,"Ġ,ĊĊ":21174,"riors":21175,"ahren":21176,"Ġlawyers":21177,"redux":21178,"_symbol":21179,"offee":21180,"_RESULT":21181,"(Name":21182,"UTC":21183,".currentTime":21184,"Ġorganis":21185,".arg":21186,"Ġminim":21187,"wick":21188,"Ġreceives":21189,"Balance":21190,"Ġspeaks":21191,"ĠDays":21192,"ĠBelow":21193,"tipo":21194,"Present":21195,"Ġreserv":21196,"hp":21197,"Ġrit":21198,"_RIGHT":21199,"--)":21200,"Ġchairman":21201,"DIS":21202,"ĠBOOST":21203,"Ġexperiments":21204,"__);Ċ":21205,"Ġstamp":21206,"Ġfert":21207,"Ġfond":21208,"Ter":21209,"elve":21210,"uren":21211,"+i":21212,"endency":21213,"Ġvirtually":21214,"...\"":21215,"ï½ŀ":21216,"-cent":21217,"_unique":21218,"Ġpricing":21219,"mic":21220,"RESH":21221,"Ġ:::":21222,"Ġannotation":21223,"ĠCircle":21224,"ongodb":21225,"itas":21226,"Ġ%(":21227,"(component":21228,"Ġоб":21229,"(port":21230,"-hour":21231,".obj":21232,"LBL":21233,"Ġjury":21234,"GBT":21235,"Ġspy":21236,"ĠProfessional":21237,"Ġ\"\";ĊĊ":21238,"Ġstriking":21239,"Ġdiscrimination":21240,"Ġpays":21241,"lict":21242,"entes":21243,"Ġthrowing":21244,"ĠPlugin":21245,"(def":21246,"ĠRuntimeException":21247,"ĠMigration":21248,"Ġdic":21249,"bag":21250,"onia":21251,"Ġcorruption":21252,"(Map":21253,"Ġprz":21254,".dto":21255,"Ġacquire":21256,"StateToProps":21257,"Ġloving":21258,"ож":21259,"_pattern":21260,"Ġemotions":21261,"Ġpublisher":21262,"_be":21263,"Ġcouples":21264,"oj":21265,"ĠChart":21266,"Ġtrop":21267,".tool":21268,"Ġestablishment":21269,"Ġdol":21270,"Ġtower":21271,"Ġlane":21272,"ĠSydney":21273,"Ġfilling":21274,"claimed":21275,"Ġdialogue":21276,"Ġconvention":21277,"booking":21278,"parency":21279,"æ±":21280,"ĠGeneric":21281,"\\Schema":21282,"Ġranges":21283,"/ch":21284,"Ġpanels":21285,"Ġruled":21286,"çĶŁ":21287,".ts":21288,"_sets":21289,"Ġcleanup":21290,"Previous":21291,"ĠAnimal":21292,"($(":21293,"ĠAve":21294,"ollar":21295,"_eval":21296,"ĉName":21297,"(tree":21298,"Ġ\"]":21299,"Ġduties":21300,"='/":21301,"Clicked":21302,"Ġdifferently":21303,"ĠClark":21304,"Ġdit":21305,"ologists":21306,"Ġsynd":21307,"Ġsends":21308,"-known":21309,"kb":21310,"ĠModal":21311,"itative":21312,"Ġracing":21313,"Ġhighlights":21314,"ĠSimon":21315,"ĠCaptain":21316,"ä¿¡":21317,"ĠCB":21318,"contin":21319,"aran":21320,"Ġphysics":21321,"retty":21322,"etal":21323,".md":21324,"axios":21325,"Ġspeakers":21326,"Ġprep":21327,"Ġawarded":21328,"ì§Ģ":21329,"ĠCorn":21330,"ĠNature":21331,"UDIO":21332,"Ġproj":21333,"-pre":21334,"[u":21335,"Features":21336,"ĠisEqual":21337,"Binary":21338,"sig":21339,"Ġconfusion":21340,"ĠHat":21341,"Ġktó":21342,".configure":21343,"MON":21344,"/edit":21345,"_Add":21346,",true":21347,"Ġcli":21348,"ErrorMessage":21349,"-loader":21350,"Dimensions":21351,"ultiply":21352,"Ġ{!!":21353,"ĠSqlCommand":21354,"Ġspoken":21355,"Ġpics":21356,"Ġtoy":21357,"(Key":21358,"ĠLoop":21359,"ب":21360,"EATURE":21361,"inction":21362,"_setup":21363,"wrapper":21364,"Ġtong":21365,"cular":21366,"Opt":21367,".Pl":21368,"=\",":21369,"(length":21370,"umn":21371,"Ġchrom":21372,"Ġsevent":21373,"ĠIllegalArgumentException":21374,"ĉstart":21375,"Ġbegun":21376,"CEPTION":21377,"dataset":21378,"ĠFailed":21379,"cols":21380,"Ġknee":21381,"imore":21382,".splice":21383,"shell":21384,"iggers":21385,"Ġthemes":21386,"ĠDJ":21387,"ĠAssistant":21388,"-$":21389,"Maybe":21390,"Ġordering":21391,"ĠIntelligence":21392,"ĠMassachusetts":21393,"Ġfailing":21394,"elson":21395,"Great":21396,"=i":21397,".rest":21398,"Ġinvite":21399,"-disable":21400,".GroupBox":21401,"âĢĻest":21402,"Ġtackle":21403,"gv":21404,"etter":21405,"Ġ),čĊ":21406,"_rules":21407,".warn":21408,"functions":21409,"ĠChristians":21410,"Ġbacked":21411,"Ġslider":21412,"Ġenjoying":21413,"nest":21414,"Ġhij":21415,"_ms":21416,"//*":21417,"Annotations":21418,"ĠVariables":21419,"":21620,"cycle":21621,"ĠBull":21622,"paths":21623,"Ġunp":21624,"ĠviewDidLoad":21625,"_Model":21626,"ĠassertTrue":21627,"Ġrated":21628,"Decl":21629,"verted":21630,"ĠDat":21631,"brew":21632,"Ġpointing":21633,"Ms":21634,"ĠPointer":21635,")'":21636,"_non":21637,"ĠSEC":21638,"Ġyeah":21639,"gency":21640,"initialize":21641,"fly":21642,"[pos":21643,",g":21644,"Tele":21645,"Ġjoke":21646,"Ġclause":21647,".findById":21648,"enes":21649,"(instance":21650,"£":21651,"Ġslic":21652,"_home":21653,"Ġ*/}Ċ":21654,"_pages":21655,"(service":21656,"RP":21657,"ĠAmong":21658,".getCurrent":21659,"ãĤ¹":21660,"Ġslee":21661,"=[Ċ":22071,"oler":22072,"Ġlibert":22073,"Ġ`Ċ":22074,"Ġwenn":22075,"lated":22076,"Ġimmune":22077,"(Node":22078,"ĠProblem":22079,"ĠAbs":22080,"logs":22081,"Ġ../":22082,"ĠADC":22083,"Ġ}}\">Ċ":22084,">');Ċ":22085,"=b":22086,"ĠWind":22087,"lahoma":22088,"Ġallocate":22089,"orian":22090,"Ġprescription":22091,"-quality":22092,"ĠMayor":22093,"inely":22094,"endforeach":22095,"ĠComplex":22096,"kom":22097,"TY":22098,"]].":22099,".Style":22100,"_many":22101,"','$":22102,"Ġbarrier":22103,"ĠFetch":22104,"ĠMarvel":22105,"Ġresist":22106,"ого":22107,"bidden":22108,"ĠRunnable":22109,":false":22110,"Ġbuilds":22111,"ĠStage":22112,"Ġdub":22113,"empo":22114,".site":22115,";ĊĊĊĊ":22116,"ĠDenver":22117,"Ġrevel":22118,"Ġtriggered":22119,"Ġdice":22120,"_fail":22121,"Ġgc":22122,"ĉX":22123,"ĠThrowable":22124,".router":22125,"ĠRevolution":22126,"ÑĢа":22127,"_NON":22128,"Ł¥":22129,"Ġelder":22130,"Ġabroad":22131,"Ġе":22132,"ĠAdult":22133,"blr":22134,"glyphicon":22135,"Ġpromoting":22136,"Ġiz":22137,"ĠSolid":22138,"_loader":22139,"early":22140,".enabled":22141,"-edit":22142,"ĠUL":22143,"_play":22144,"ĠInterrupt":22145,"Ġadvantages":22146,"ucle":22147,"Ġmechanical":22148,".tableLayoutPanel":22149,"ĠWorking":22150,"Ġanonymous":22151,"Rating":22152,"igious":22153,"_phone":22154,".addActionListener":22155,"Ġfran":22156,"unden":22157,"Ġ*)&":22158,"_bool":22159,"ulative":22160,"Ġcone":22161,"ĠMult":22162,"Ġmö":22163,"ĠForward":22164,"]):Ċ":22165,"Ġconvinced":22166,"acted":22167,"ãģĵ":22168,"ĠConfigure":22169,"Ġceiling":22170,"Der":22171,"Ġpassengers":22172,"Groups":22173,"Ġsoccer":22174,"/W":22175,"aviors":22176,"swith":22177,"ĠZone":22178,".Options":22179,"ĠMom":22180,"ieder":22181,"Arrays":22182,"Ġtreatments":22183,"Ġprotecting":22184,"fac":22185,"Ġpickle":22186,"ButtonItem":22187,"Ġblocking":22188,"strar":22189,"ò":22190,"ĠExport":22191,"Ġthrew":22192,"otta":22193,"ĠBASE":22194,".ws":22195,".LEADING":22196,"orderBy":22197,"_delay":22198,"ĠPu":22199,".dll":22200,"ĠChoose":22201,"Police":22202,"ĠBEGIN":22203,"boxes":22204,"Ġdiamond":22205,",l":22206,"Ġĉĉĉ":22207,"Ġcurious":22208,"tv":22209,"Ġerotische":22210,"ackages":22211,"ĉSet":22212,"Tick":22213,".border":22214,"staticmethod":22215,"Ġcher":22216,"invoice":22217,"Ġcru":22218,"Ġdefect":22219,"_metadata":22220,"relation":22221,"ikan":22222,"[N":22223,"(Qt":22224,"(Base":22225,"æģ¯":22226,"beat":22227,"ĠEmpty":22228,"ĉo":22229,"_shift":22230,"Ġregret":22231,"Those":22232,"Cent":22233,"ĠPortug":22234,"ĠIslands":22235,"ĠTIME":22236,"Management":22237,"-sp":22238,"ême":22239,"Ġnotion":22240,"unifu":22241,"PK":22242,"è¡Į":22243,"ĠCURLOPT":22244,"\\\"\\":22245,"UV":22246,"çº":22247,"dra":22248,"cou":22249,"=`":22250,"ĠDestroy":22251,"rp":22252,".cancel":22253,"GG":22254,"runtime":22255,"ĠVue":22256,"Ġprogressive":22257,"/services":22258,"Ġrunner":22259,"_FRAME":22260,".ToolStripMenuItem":22261,"Ġ','":22262,"delay":22263,"=utf":22264,"Ġscreening":22265,"Ġpulling":22266,"omas":22267,"Ġanth":22268,"-new":22269,"/local":22270,"ĠiPad":22271,"Ġtwitter":22272,"Ġdying":22273,"Ġheaven":22274,"ĠUInt":22275,"ĠSenator":22276,"Ġpresum":22277,"ĠWalker":22278,"Ġovercome":22279,"etection":22280,"Ġembarrass":22281,"China":22282,"Include":22283,"ROLL":22284,"ĠdataType":22285,"David":22286,"ร":22287,"lop":22288,"-month":22289,"Ġscar":22290,"ĠSafe":22291,"Ġ****************************************************************":22292,"Ġaccessories":22293,"Ġramp":22294,"_USE":22295,"Ġcontrad":22296,"))]Ċ":22297,"Ġprest":22298,"ĠHR":22299,"ĠRap":22300,"Ġusize":22301,"Ġcapability":22302,"Ġcort":22303,"-next":22304,"Ġburden":22305,"_reader":22306,"Ġ@@":22307,"regular":22308,"ĠKa":22309,"MAN":22310,"Ġastr":22311,"Ġ'')Ċ":22312,"Ġfed":22313,"Ġparsing":22314,"ĠYears":22315,"Ġbroker":22316,"\":{\"":22317,"Ġakt":22318,"Inventory":22319,"abeled":22320,"Ġargparse":22321,"*******Ċ":22322,"versation":22323,"Ġcord":22324,"ĠTi":22325,"Ġhopefully":22326,"Ġah":22327,"verb":22328,"Ġstolen":22329,".Entry":22330,"Ġexpecting":22331,"Orientation":22332,"Ġpowered":22333,"Ġpersist":22334,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":22335,"']);":22336,"')),Ċ":22337,"ĠCash":22338,"ĉitem":22339,"grades":22340,"ropol":22341,"basic":22342,"Ġ\");čĊ":22343,"Ġawards":22344,"(range":22345,"-all":22346,"ĠIBOutlet":22347,"ĠIndeed":22348,"----------------------------------------------------------------------------":22349,"Ġstomach":22350,"Ġflower":22351,"Ġsew":22352,"_times":22353,"avis":22354,"QString":22355,"ĠRoutes":22356,"_prot":22357,"Ġcomedy":22358,"Ġlogout":22359,"Ġwooden":22360,"Ġposter":22361,"piece":22362,".Join":22363,"ĠPok":22364,"celona":22365,"mutex":22366,";čĊčĊčĊ":22367,"Ġstrikes":22368,"Loaded":22369,")arg":22370,"esa":22371,"United":22372,"Ep":22373,"PELL":22374,"ĠAtlantic":22375,"ullet":22376,"apple":22377,"Ġsettled":22378,"acon":22379,"Ġprinter":22380,"ĠGC":22381,"å®ļ":22382,"Ġrendered":22383,",âĢĻ":22384,"heit":22385,"social":22386,".ge":22387,"ĠRick":22388,"ĠUtah":22389,"got":22390,"onical":22391,"ĠScroll":22392,"ĠSciences":22393,"Ġjug":22394,"Ġampl":22395,"enti":22396,"LEFT":22397,"Ġtabs":22398,"Ġenormous":22399,".getKey":22400,"locate":22401,".EX":22402,".storage":22403,".We":22404,"Ġtoast":22405,"ĠAdditionally":22406,"ĠNOW":22407,"_UPDATE":22408,"Ġtransferred":22409,"tha":22410,".Display":22411,"_ui":22412,"IDEO":22413,"Ġmeaningful":22414,"ĠMoscow":22415,",this":22416,"ĠVictoria":22417,"æĶ¹":22418,"ĠÐŁ":22419,".stack":22420,"ĠBarn":22421,"paredStatement":22422,":string":22423,"Ġbij":22424,"ĠSTATE":22425,"Ġemployers":22426,"ĉinput":22427,"(|":22428,"Ġlex":22429,"invoke":22430,"ĉnum":22431,"++,":22432,"atial":22433,"orses":22434,"Ġfork":22435,"_txt":22436,"ĠAntonio":22437,"Ġ(<":22438,"averse":22439,"Ġdevast":22440,"ãĢĢ":22441,".Dec":22442,"ĠGard":22443,"/ui":22444,".%":22445,"tri":22446,"Ġrolled":22447,"ValuePair":22448,"itten":22449,"ĠTher":22450,"Ġvrou":22451,"ĠFlow":22452,"ĠFinance":22453,"ĠComb":22454,"HC":22455,".setVisible":22456,"isl":22457,"Ġpk":22458,"Ġupset":22459,"(raw":22460,"ĠVice":22461,"eatures":22462,"ĠLang":22463,"Looking":22464,"ĠAST":22465,"Ġtrips":22466,"ĠJustin":22467,"browser":22468,"=\"'.$":22469,".vertices":22470,"-co":22471,"}/{":22472,"Ġ?,":22473,"ĠDomin":22474,"ĠBelg":22475,"\"<":22476,"Ġsuppose":22477,"addy":22478,"Ġwalks":22479,"ERRU":22480,"_filters":22481,"Preferred":22482,"scene":22483,"еÑģ":22484,"ĠAffairs":22485,"Ġ\"#{":22486,"ĠonSubmit":22487,"Ġstocks":22488,"/view":22489,"gree":22490,"-get":22491,"hit":22492,"Jo":22493,".getC":22494,"Initialized":22495,"ÑĤи":22496,"cuts":22497,"(Type":22498,"ĠAgreement":22499,"ĠVietnam":22500,"Ġ/*!":22501,"Ġpizza":22502,"-view":22503,"_em":22504,"Ġlhs":22505,"Ġmuy":22506,"ĠIdent":22507,"ĠFriends":22508,"Ġabund":22509,"_AD":22510,".timestamp":22511,"-'":22512,"Ġduplicate":22513,"Ġhunting":22514,"Ġregulatory":22515,"iao":22516,"amous":22517,"ĠEntertainment":22518,"[A":22519,"iatric":22520,"_CLIENT":22521,"ĠKids":22522,"/pkg":22523,"Break":22524,")));ĊĊ":22525,"ĠShape":22526,"Ġrelating":22527,"Interrupt":22528,"ableOpacity":22529,"embre":22530,"Ġmystery":22531,"Ġjournalists":22532,"ritable":22533,".Link":22534,"Ġstopping":22535,"CRET":22536,".DB":22537,"Ġpopularity":22538,"Ġgew":22539,"Ġimpr":22540,"setValue":22541,"FLAG":22542,"ĉmax":22543,"Ġbake":22544,"wy":22545,"ĠEconomic":22546,"Ġencontr":22547,"Ġfname":22548,"/de":22549,"Rank":22550,"Ġbugs":22551,".sm":22552,"Ġmedian":22553,"DOWN":22554,"ĠSure":22555,"AtIndex":22556,"ĠDick":22557,"Ġ(__":22558,".delta":22559,"Fr":22560,"Ġsuggesting":22561,"ĠRecyclerView":22562,",e":22563,"START":22564,"/****************************************************************************":22565,"xford":22566,"Ġreceipt":22567,"CLAIM":22568,"readonly":22569,"Ġengaging":22570,"Ca":22571,"asma":22572,"Ġensuring":22573,"English":22574,"ĠVancouver":22575,"hyth":22576,"Ġpurchasing":22577,"ĠPI":22578,".word":22579,"(sp":22580,".home":22581,":def":22582,"Ġgig":22583,"ĠVe":22584,"forum":22585,"ĠMitch":22586,"Bay":22587,"_FL":22588,"Ġsoll":22589,"_columns":22590,"Ġminority":22591,"bird":22592,"Ġhanded":22593,"SSL":22594,"STAT":22595,"Ġnervous":22596,"ĥ½":22597,"ĠfilePath":22598,"CREATE":22599,"Aw":22600,"Ġpens":22601,"seed":22602,"ĠCompute":22603,"olk":22604,"ĠAsset":22605,"reach":22606,"'),čĊ":22607,"navigation":22608,"LF":22609,"/util":22610,"ĠPub":22611,"ĠâĶ":22612,"cion":22613,"##Ċ":22614,"III":22615,"TagName":22616,"Ġamid":22617,"permission":22618,"ifiable":22619,"xFFFFFFFF":22620,"ни":22621,".Buffer":22622,"_irq":22623,"dark":22624,"Ġretval":22625,".fire":22626,"production":22627,".listen":22628,"ĠWeather":22629,"Ġbuyers":22630,".ne":22631,"erp":22632,"ĠPent":22633,"Ġwelfare":22634,"ĠpageSize":22635,"ĠStadium":22636,"erta":22637,"Ġlev":22638,"ampa":22639,"Pager":22640,"Ġcharging":22641,"ĠNetflix":22642,"|null":22643,"_random":22644,".xpath":22645,"Ġstere":22646,"ĠISIS":22647,"ponses":22648,"(loc":22649,"eyond":22650,"ĠOfficial":22651,"ĠMaryland":22652,"DataType":22653,"_par":22654,"{},":22655,"ĠEnjoy":22656,"_SHIFT":22657,"ĠAwards":22658,"_ENTRY":22659,"Ġseemingly":22660,"enticate":22661,"Ġhearts":22662,"_;ĊĊ":22663,"ĠHIV":22664,"Ġindivid":22665,"ĠFlag":22666,"_ctrl":22667,"ĠCallback":22668,",z":22669,"ĠGPU":22670,"ĉobj":22671,"ĠPhoenix":22672,"ĠBUS":22673,"Ġrubber":22674,"_AUTH":22675,"ĠSolutions":22676,"(location":22677,"Variables":22678,".setEnabled":22679,"_high":22680,"WO":22681,"Gesture":22682,"Ġretry":22683,"ĠobjectForKey":22684,"alloween":22685,"Ġmos":22686,"ĠCele":22687,"Ġikke":22688,"(cell":22689,"ĠMODE":22690,"rena":22691,"Ġdescribing":22692,"Ġphi":22693,"Ġrd":22694,"Ġdeserve":22695,"Ġwheels":22696,"å¸Ĥ":22697,"Ġcritics":22698,"Namespace":22699,"ĠFra":22700,"ĠĊĊĊĊ":22701,"Ġalla":22702,"Ġrequiring":22703,"æľŁ":22704,"utation":22705,"Ġdelayed":22706,"Ġadministrative":22707,"Ġbay":22708,".hidden":22709,"Tex":22710,"Ġboundaries":22711,"Ġ]);ĊĊ":22712,"ĠFollowing":22713,"~/":22714,"Fi":22715,"_conv":22716,"_TITLE":22717,"Ġdesde":22718,"ICollectionView":22719,"Alias":22720,"Ġbite":22721,"patient":22722,"_COMMAND":22723,"Completed":22724,"ĉelif":22725,"(<":22726,"Business":22727,"ĠPool":22728,"Ġpursue":22729,"ĠBan":22730,"_steps":22731,"_DECL":22732,"umble":22733,"Ġcombo":22734,"ĠLayer":22735,".xr":22736,"Ġdup":22737,"---------":22738,"Ġmodifier":22739,"rob":22740,"rez":22741,"Ġathletes":22742,"Used":22743,"wear":22744,"Ġlegitimate":22745,"Ġ\"ĊĊ":22746,"Ġhv":22747,"Std":22748,"ĠHold":22749,"Ġsurviv":22750,"ĠAlliance":22751,"ĠEarly":22752,"Behavior":22753,"(font":22754,"/libs":22755,"Ġrectangle":22756,"Ġsinger":22757,"Ġamp":22758,"EqualTo":22759,"Ġ\".\"":22760,"Ġgirlfriend":22761,"å±":22762,"linear":22763,"observ":22764,"Ġpiù":22765,"Ġcomplement":22766,"WithValue":22767,"(password":22768,"take":22769,"Blank":22770,"ĠCompar":22771,"'\",":22772,"_policy":22773,"mongoose":22774,"_FAILED":22775,".report":22776,"Ratio":22777,".PerformLayout":22778,"usable":22779,"mers":22780,"_render":22781,"PEED":22782,"Ġlesb":22783,"ĉE":22784,"_tool":22785,"Ġladies":22786,"оÑģ":22787,"))))Ċ":22788,";;;;":22789,".dot":22790,"Ġnest":22791,"peak":22792,"ukkit":22793,"eca":22794,"_SW":22795,"Ġ&(":22796,"ĠOklahoma":22797,"Ġbanking":22798,"ĠNintendo":22799,"Ġreproduce":22800,"_elements":22801,"_mac":22802,"proxy":22803,"Ġremarkable":22804,"}/${":22805,"Ġouts":22806,".hasNext":22807,"MODE":22808,"Ġanime":22809,".conn":22810,"Unique":22811,"Dom":22812,"Ġimportantly":22813,"itty":22814,"Ġjuice":22815,"Tw":22816,"ĠPartners":22817,"Ġattacking":22818,"Ġportable":22819,"amiento":22820,".PictureBox":22821,".gen":22822,"Ġoptimal":22823,"Ġrecre":22824,"Ġjournalist":22825,"ĠExtract":22826,"ĠMoreover":22827,"ĠmarginTop":22828,".Ap":22829,"Ġfiring":22830,"NaN":22831,"ĉtemplate":22832,"ад":22833,".En":22834,"Ġdefence":22835,"ĠTel":22836,"ilen":22837,"jan":22838,"=data":22839,"ĠUrl":22840,"ĠReuters":22841,"(total":22842,"ĠFifth":22843,"Ġessays":22844,"Ġinterpretation":22845,"Ġcharity":22846,"ĠRules":22847,"Ġsubsection":22848,"styled":22849,"azer":22850,"lags":22851,"LIST":22852,"Ġuploaded":22853,"Ġtrash":22854,"Ġregistr":22855,"Ġseller":22856,">';čĊ":22857,"ĠstartTime":22858,"çĻ":22859,"sy":22860,"(HttpServletRequest":22861,"Ġtrap":22862,"GC":22863,"Ġembedded":22864,"Ġsurrounded":22865,"imits":22866,"TX":22867,"ylinder":22868,"ĠFal":22869,"Ġsentences":22870,"ĠJa":22871,"IFICATION":22872,"weapon":22873,"ovation":22874,"Ġcoat":22875,"Ġinterpol":22876,"Ġlips":22877,"ĠKy":22878,"Ġvectors":22879,"_am":22880,"Ġintake":22881,".world":22882,"Ġinbox":22883,"ĠMAC":22884,"_ab":22885,"(nameof":22886,"Ġentert":22887,"Ġgathering":22888,"ĠSIM":22889,"++.":22890,"nya":22891,"'}}":22892,"ĠUPDATE":22893,"Ġpac":22894,"(html":22895,"ĠSant":22896,"iating":22897,"ĠIdeas":22898,"Ġspray":22899,"ĠHart":22900,"Ġverification":22901,"adesh":22902,"/modules":22903,"ĠMind":22904,"ĠSizedBox":22905,"Ġshelter":22906,"Ġheroes":22907,"atty":22908,"Ġcertified":22909,"sj":22910,"Ġêtre":22911,"ÅĤo":22912,"Ġpublishing":22913,"ĠMalays":22914,".getUser":22915,"ĠProvider":22916,"ĠLinkedList":22917,"ĠBor":22918,"ROUND":22919,"did":22920,"tain":22921,"pire":22922,"ĠJenn":22923,"tel":22924,"ande":22925,"_front":22926,"ĠMcG":22927,"TestMethod":22928,"à¸Ń":22929,"Ġoccasionally":22930,"ĠWales":22931,"Ġexercises":22932,"ĠÐĴ":22933,"-plus":22934,"Ġvalidator":22935,"Ġprayer":22936,"LATED":22937,"_author":22938,"Ġlabour":22939,"++Ċ":22940,"-equiv":22941,"ĠGPL":22942,"Ġfacebook":22943,"simple":22944,"gly":22945,"Processor":22946,"ipy":22947,"Ġ*>":22948,"Ġcleared":22949,"ĠPush":22950,"Ġpenis":22951,"Structure":22952,"lij":22953,"ĠMorgan":22954,"Ġhandful":22955,"\".Ċ":22956,"|\\":22957,"Ġ********************************":22958,"ĠAqu":22959,"_IC":22960,".loads":22961,"Ġmeter":22962,"ĠMarine":22963,"::{":22964,"ĠTS":22965,"ĠArrays":22966,".Title":22967,"GRAM":22968,"termin":22969,"Ġcoinc":22970,"Else":22971,"_states":22972,"-run":22973,"members":22974,"astro":22975,"ĠonPress":22976,"Ġbeings":22977,"Ġabandoned":22978,"Ġtaxp":22979,"owners":22980,".mode":22981,"Ġdiagnosis":22982,"Ġ_Ċ":22983,"ĠKnight":22984,"ĉA":22985,"Ġobserve":22986,"),'":22987,"!\")Ċ":22988,"ĠPara":22989,"Ġvariation":22990,"(False":22991,"ĠAnti":22992,"Ġgri":22993,"Ġhomeless":22994,"?v":22995,"Ġbez":22996,".Server":22997,"release":22998,"ĠPatri":22999,"Ġchars":23000,"Ġranking":23001,"activation":23002,"Ġwides":23003,"qr":23004,".Sql":23005,"acular":23006,"ĠBot":23007,"_sync":23008,"Ġhappiness":23009,"Ġvolunteers":23010,"Ġsits":23011,"/<":23012,"[e":23013,"(fileName":23014,"Ġcapac":23015,"ĠMaria":23016,"father":23017,"Ġgram":23018,"*i":23019,"Ġcaso":23020,"_draw":23021,"ĠRaw":23022,"ĠIterator":23023,"ĠPadding":23024,"PD":23025,"BOX":23026,"ĠSPECIAL":23027,"Ġfecha":23028,"Ġvide":23029,"ĠLeader":23030,"以":23031,"$(\".":23032,"Ġdiameter":23033,"Ġmild":23034,"Ġrocks":23035,"appings":23036,"directory":23037,".flush":23038,"ĠJess":23039,"UNIT":23040,"ĠPear":23041,"Ġmandatory":23042,"Sur":23043,"qt":23044,"Ġstreams":23045,"Ġcooperation":23046,"ĠSac":23047,"Ġcheaper":23048,"ĉch":23049,"animation":23050,"fare":23051,"(height":23052,"(True":23053,"NY":23054,"Ġwrest":23055,"Ġpolls":23056,"Ġencountered":23057,"ĠMarketable":23058,"_PASSWORD":23059,"_SELECT":23060,"ĠArabia":23061,"_clock":23062,"Ġvoy":23063,"Ġиз":23064,"Ġstir":23065,"isible":23066,"-effect":23067,".created":23068,"Ġtoys":23069,"ĠTradable":23070,"Ġrust":23071,"Ġstrcpy":23072,"_timestamp":23073,"Ġtalented":23074,",null":23075,"ĠJobs":23076,"ĠPortland":23077,"Ġweakness":23078,"Throw":23079,"ĠAngel":23080,"ä¿®":23081,"Ġuncert":23082,"ï¼īĊ":23083,"ĠìĿ´":23084,"Which":23085,"Ġ[-]:":23086,"Something":23087,"Ġconvicted":23088,"kle":23089,"edium":23090,"Ġbranches":23091,"Ġbases":23092,"ç®":23093,"Ġcomplexity":23094,"ĠFig":23095,".reshape":23096,"$db":23097,"_CONST":23098,"ĠTes":23099,".runtime":23100,"Ġdeny":23101,"ĠBSD":23102,"Ġkr":23103,"hatt":23104,"ĠStatic":23105,"Ġuniversities":23106,"Replace":23107,"Ġdrove":23108,"Ġadoles":23109,"_plugin":23110,"ĠLGBT":23111,"Ġtex":23112,"duction":23113,"EDI":23114,"ĠTed":23115,"_URI":23116,"Ġreception":23117,"arten":23118,".Single":23119,"rice":23120,"scious":23121,"_bg":23122,"Ġwages":23123,"ĠServlet":23124,"UILayout":23125,"Ġformatted":23126,".Mod":23127,"',Ċ":23174,"Ġexpanding":23175,"ĠHamilton":23176,"ĠContrib":23177,".Tables":23178,"Activ":23179,"HH":23180,"ocommerce":23181,"_;":23182,"Ġamongst":23183,"owing":23184,"ĠCold":23185,"APH":23186,"Ġpsychological":23187,"_tensor":23188,"Ġpackaging":23189,"ĠSweden":23190,"Ġpare":23191,"Ġaggregate":23192,"Ġmoderate":23193,"_hand":23194,"Ġdesignated":23195,"Ġdrum":23196,"ĠgetUser":23197,"ĠCreek":23198,"_scope":23199,"ĠTransfer":23200,"ĠMarg":23201,"Ġfighters":23202,"Wnd":23203,"ĠSel":23204,"ĠLaunch":23205,"Ġemerging":23206,"iframe":23207,"ĠAdditional":23208,"Ġfears":23209,"Ġsatellite":23210,"_:":23211,"Ġdisposing":23212,"GetValue":23213,"HttpPost":23214,"ATIVE":23215,"ulary":23216,"Views":23217,"Ġattending":23218,"ĠTennessee":23219,"ĠMission":23220,"Ġmedication":23221,"ĠWy":23222,"ĠAnna":23223,"ع":23224,"ĠVertex":23225,".types":23226,"Organ":23227,".DataGridViewTextBoxColumn":23228,"ĠRS":23229,"Ġtempo":23230,"(App":23231,"VersionUID":23232,".point":23233,"ĠDutch":23234,"Hours":23235,"LU":23236,"Ġquoted":23237,".builder":23238,"ĠPerfect":23239,"ĠAlways":23240,"_two":23241,"Ġexclusively":23242,"ĠCra":23243,"ificar":23244,"ĠAWS":23245,"ingham":23246,"complex":23247,"kernel":23248,"Ġgravity":23249,"Ġwi":23250,"Ġoverview":23251,"ĠWant":23252,"ĠWP":23253,"(sh":23254,".rotation":23255,"States":23256,"ĠTeen":23257,"_components":23258,"ìĪĺ":23259,"Received":23260,"Ġlyrics":23261,"rites":23262,"ĉĉĉĉĉĠ":23263,"-American":23264,"[num":23265,"/python":23266,"ĠUART":23267,"Ġapple":23268,"ĠJonathan":23269,"Ġmomentum":23270,"ั":23271,"Ĥ¹":23272,"Ġmich":23273,"andra":23274,"Ġbiological":23275,"ĠMens":23276,"Ġ%%":23277,"elsea":23278,"ĠMexican":23279,".randint":23280,"Ġtale":23281,"ĠValidate":23282,"Ġdefeated":23283,".htm":23284,"Ġcopper":23285,"=/":23286,"cosystem":23287,"Ġrip":23288,"decimal":23289,".VISIBLE":23290,"ĠTa":23291,"ĉĉĉĉĉĉĉĉĉĉĉĉĉĉ":23292,"Ġdownloaded":23293,"environment":23294,"Ġnomine":23295,"building":23296,"ĠSpot":23297,"ipheral":23298,"Ġalto":23299,"quet":23300,"ĠFT":23301,"/get":23302,"/master":23303,"WIN":23304,"åħĥ":23305,"West":23306,"argc":23307,"Ġproducers":23308,"ĠMuch":23309,"_storage":23310,"credit":23311,"CONT":23312,"Ġvet":23313,"Ġvoices":23314,"('',":23315,"Ġinstruments":23316,"ĠMSG":23317,"esse":23318,"repository":23319,"omics":23320,"Ġdealer":23321,"Still":23322,"Ġbanner":23323,"ascii":23324,"Ġremarks":23325,"[js":23326,"Ġshorter":23327,"gulp":23328,"Ġmyster":23329,"Ġkun":23330,"ĠBird":23331,"Ġtiene":23332,"nut":23333,"ĠUm":23334,"Ġwise":23335,"Yeah":23336,"INESS":23337,"_begin":23338,"-heading":23339,"Course":23340,"ĠčĊčĊ":23341,"ombie":23342,"graded":23343,"ĠGPS":23344,"Ġże":23345,"Fit":23346,"caption":23347,"ön":23348,"/image":23349,"lia":23350,"(mod":23351,"Ġleak":23352,"enza":23353,"/H":23354,"ĠHappy":23355,"Dist":23356,"nx":23357,"ĠGovernor":23358,"(last":23359,"teacher":23360,"ĠSent":23361,"support":23362,"jectory":23363,"ĠÙħ":23364,"Registration":23365,"ĠGray":23366,",false":23367,"Ġadjusted":23368,"(settings":23369,"'Ċ":23431,"-fold":23432,"æĬ":23433,"ĠBetter":23434,"Ġ\"\\<":23435,"spacing":23436,"Ġfurnished":23437,"oser":23438,"]}Ċ":23439,"Ġ$\"":23440,"pull":23441,".Post":23442,"(ip":23443,"Ĺı":23444,".front":23445,"nte":23446,"ĠFM":23447,"guid":23448,"Ġnegotiations":23449,"agonal":23450,"Ġtremend":23451,"ungeon":23452,"Adv":23453,"carousel":23454,"ÃŁe":23455,"_DESC":23456,"Ġhammer":23457,"áºŃ":23458,"ĠĠĠĠĠĠĠĠĊĊ":23459,"-core":23460,"-service":23461,"Ġcorners":23462,"ĠSF":23463,"pred":23464,">A":23465,"ĠJLabel":23466,"Ġromantic":23467,"Ġtestimony":23468,"osc":23469,"ĠGeneration":23470,"asures":23471,"_internal":23472,"Ġprints":23473,"Ġ])Ċ":23474,"ĠCleveland":23475,"repo":23476,"Disc":23477,"Ġ\">Ċ":23478,"����":23479,"Ġnearest":23480,"_tb":23481,"(require":23482,"EOF":23483,"-child":23484,"Ġbudd":23485,".XtraEditors":23486,"alties":23487,"\\\":\\\"":23488,"Words":23489,"Ġlocally":23490,"Ġpurchases":23491,"Drawer":23492,"extract":23493,"Ġexecut":23494,"}'.":23495,"userdata":23496,"Ġfocuses":23497,"-minute":23498,"ĠPublish":23499,"ogo":23500,"Ġmountains":23501,"Bot":23502,"}>{":23503,"Ġtension":23504,"rod":23505,"mesh":23506,"Ġtransformed":23507,",R":23508,"()}Ċ":23509,".long":23510,"Ġgorgeous":23511,"ĠSchedule":23512,"Ġoldest":23513,"Ġsubprocess":23514,"(IN":23515,"yect":23516,"ĠCooper":23517,"arness":23518,"ĠMonitor":23519,".part":23520,"ĠNBC":23521,"Ġcotton":23522,"Ġhol":23523,"Ġrgba":23524,"ĠBio":23525,"Continue":23526,"Pod":23527,"Ġparticipating":23528,"clusions":23529,"(ByVal":23530,"ì":23531,"ĠHOW":23532,"_setopt":23533,"Ġaccompanying":23534,"aton":23535,"Ġ/\\":23536,"ĠAuthentication":23537,"ién":23538,"ĠBarack":23539,"/*.":23540,"Ġeager":23541,"ĠCancel":23542,"$":23586,"OLEAN":23587,"OKIE":23588,"IBILITY":23589,"UAGE":23590,"ĠSurvey":23591,"Ġresign":23592,"wing":23593,"Ġsecrets":23594,"Ġchips":23595,"JSONObject":23596,"Desktop":23597,"_SYMBOL":23598,"(resource":23599,"ĠĊ":23600,"Ġnewest":23601,"uli":23602,"Ġdesert":23603,"Ġdip":23604,"ĠPow":23605,"Ġequation":23606,"Ġpossibilities":23607,"ĠFed":23608,"osph":23609,"Ġ[%":23610,"Ġbubble":23611,"etherlands":23612,"Ġcement":23613,".auto":23614,"_AN":23615,"âĢĻ.":23616,"selection":23617,"ĠBond":23618,"Den":23619,"-O":23620,".getType":23621,".Window":23622,"pres":23623,"Ġswinger":23624,"\"})Ċ":23625,"Ġpip":23626,"Ġmice":23627,"Ġcompound":23628,"-plugin":23629,"iko":23630,"Ġcenturies":23631,"icular":23632,"-inline":23633,"ĉkey":23634,">\\<":23635,"ENSION":23636,"Ġ[čĊ":23637,"Ġprecisely":23638,"Ġété":23639,"ĠPast":23640,"ĠCambridge":23641,"-full":23642,"Ġanalyze":23643,"ĠSteven":23644,"Ġnem":23645,"due":23646,"oren":23647,"Ġmuscles":23648,"ijing":23649,"/-":23650,"ĠKennedy":23651,"RM":23652,"ossible":23653,"Ġactress":23654,"Ġdolor":23655,"å½ķ":23656,"Need":23657,".toggle":23658,"ĠRace":23659,"wers":23660,".material":23661,"ĠDue":23662,"ĠPel":23663,"#print":23664,"Ġindependence":23665,"exus":23666,"Shadow":23667,"Ġencoder":23668,"(level":23669,"ĠSwift":23670,".doc":23671,"_selection":23672,"ĠserialVersionUID":23673,"Labels":23674,"Ġperformances":23675,".Tag":23676,"ĠNHL":23677,"izen":23678,"/UIKit":23679,"_CONTROL":23680,"Ġearnings":23681,"ĠAlt":23682,"_HANDLE":23683,"Ctx":23684,"Ġpersu":23685,"Ġtran":23686,"ç¨":23687,"_CHANNEL":23688,"Ġsatisfaction":23689,"ĠGP":23690,"iox":23691,"mitt":23692,"lando":23693,"Ġpig":23694,"inals":23695,"ência":23696,"Surface":23697,"ĠUUID":23698,"Ġbeneficial":23699,"Ġsequences":23700,"ĉmemset":23701,"Ġmagical":23702,"«":23703,"Ġworn":23704,"ASC":23705,"popup":23706,"COMP":23707,"_before":23708,"eness":23709,"Ui":23710,"Les":23711,".require":23712,".Serializable":23713,"addGap":23714,"Ġauthorization":23715,".pyplot":23716,"urray":23717,"latitude":23718,"frames":23719,"ajs":23720,"Ġcompass":23721,"Ġobservations":23722,"_sup":23723,".environ":23724,"Ġtriple":23725,"ĠRuby":23726,"Ġdrain":23727,"_FILTER":23728,"San":23729,"UMP":23730,"NullException":23731,"ĠGab":23732,"owe":23733,"ĠTurkish":23734,"_sequence":23735,"ĠGrant":23736,"uela":23737,"Ġwo":23738,"Ġcube":23739,"iq":23740,"Ġdisorders":23741,"Ġextraordinary":23742,"Ġctrl":23743,"ĠSeq":23744,"entr":23745,"Ġsanctions":23746,"utsch":23747,"Reports":23748,"Ġinherit":23749,"Period":23750,"Ġphotography":23751,"ĠFramework":23752,"Ġspecialist":23753,"Ġ?ĊĊ":23754,"_selected":23755,".Player":23756,"Ġallocation":23757,"(account":23758,"Ġstructural":23759,"vable":23760,"-offset":23761,".AppCompatActivity":23762,"ам":23763,".AddWithValue":23764,"Ġicons":23765,"Ġshutdown":23766,"_low":23767,"ĠCompare":23768,"ĠCe":23769,"=head":23770,"lam":23771,".predict":23772,"_DEC":23773,"ĠSleep":23774,"ĠGratis":23775,"Ġsuggestion":23776,"ĠDEL":23777,"caff":23778,"avirus":23779,"Nothing":23780,"ŀĭ":23781,"Ġwidespread":23782,"Ġmechanisms":23783,"ĠtextAlign":23784,"occup":23785,"ĠRail":23786,":NS":23787,"Ġfiber":23788,"Ġmk":23789,"Ġvintage":23790,"-long":23791,".reduce":23792,".Entities":23793,"(record":23794,"Ġpleasant":23795,"FRING":23796,".Cells":23797,"OTT":23798,"ĉelseif":23799,"_confirm":23800,"ĠViewGroup":23801,"sym":23802,"Ġpray":23803,"Ġsuspected":23804,"Contains":23805,"Ġborders":23806,"ĠcomponentDid":23807,"ASSERT":23808,"Ġinfinite":23809,"-order":23810,"Ġhello":23811,"ĠGrade":23812,".currentTimeMillis":23813,"apolis":23814,"zh":23815,"ĉObject":23816,":\\\\":23817,"HO":23818,"valuation":23819,"Ġvocab":23820,"Ġcoupon":23821,"atabases":23822,".GetType":23823,"Learn":23824,"]=\"":23825,"ĠGary":23826,"otive":23827,"Ġash":23828,"Ġbib":23829,"XXXX":23830,"Ġbalanced":23831,"VALUE":23832,"ĠNat":23833,"_Ad":23834,"<":23976,"Ġfool":23977,"Ġesk":23978,".Null":23979,"ĠDies":23980,"_OUTPUT":23981,"_TYPED":23982,"Ġpainted":23983,"Ġsophistic":23984,"ĠBear":23985,"*n":23986,"_PACK":23987,"Ġdelivering":23988,"ĠCOUNT":23989,"åįķ":23990,"Ġjeg":23991,"-car":23992,"fname":23993,"Ġranging":23994,"ĠNeg":23995,"/******/":23996,"ĠCHAR":23997,"Ġultra":23998,"Grad":23999,"=t":24000,"Ġjudges":24001,"ĠDise":24002,"anners":24003,"Ġscal":24004,"_cal":24005,"ĠCONNECTION":24006,"_embed":24007,"(fn":24008,"ĠCraft":24009,"ĠPas":24010,"\")->":24011,".convert":24012,".resource":24013,"ĠSTATUS":24014,"ông":24015,"ĠTit":24016,"Ġclassroom":24017,"ĠArchitect":24018,"ĠKings":24019,"Ġsteady":24020,"/*!Ċ":24021,"ĠGene":24022,")\";Ċ":24023,"icia":24024,"stan":24025,"ĠConstruction":24026,"umper":24027,"wc":24028,"ĠCBS":24029,"inging":24030,"-party":24031,"(driver":24032,"MARK":24033,"Ġnested":24034,"eward":24035,"Ġdependency":24036,"Ġmales":24037,"ĠONE":24038,"ĠProduction":24039,"][$":24040,"ãĥ¼ãĥ":24041,"_LOAD":24042,"ĠBol":24043,"elry":24044,"łéϤ":24045,"ĠRequire":24046,"Ġplacing":24047,"xxx":24048,"CALE":24049,"Ġthumb":24050,"Choose":24051,"Ġprototype":24052,"VOID":24053,"Ġlesbian":24054,"Ġtraits":24055,"Sharp":24056,"Ġconsume":24057,"Truth":24058,"ĠactionPerformed":24059,"ĠEnvironmental":24060,"ĠDean":24061,"Ġestado":24062,"same":24063,"Ġnumeric":24064,"Ġtransit":24065,".Email":24066,"-side":24067,"_RUN":24068,"ĠVillage":24069,"_OPEN":24070,"è¦":24071,".rem":24072,"-warning":24073,"anya":24074,"PropertyChanged":24075,"Ġ(!_":24076,"(check":24077,"ilia":24078,"ĠSoft":24079,"steps":24080,"ĠMadrid":24081,"MemoryWarning":24082,"Ġhandlers":24083,"Ġexperiencing":24084,"Ġinspect":24085,"buttons":24086,"ReceiveMemoryWarning":24087,"chemy":24088,"Links":24089,"Ġurllib":24090,".SystemColors":24091,"ĠEigen":24092,"Ġpunishment":24093,":UIControl":24094,"bara":24095,"-set":24096,"Ġ}čĊčĊčĊ":24097,"Ġtolerance":24098,"Ġinterfaces":24099,".redirect":24100,"ighbors":24101,"csrf":24102,"_background":24103,".Utils":24104,"_HT":24105,"ĠInterest":24106,"imos":24107,"Ġgrants":24108,"Ġexamined":24109,"ÐĶ":24110,"Ġcf":24111,"forge":24112,"backs":24113,"ĠObjects":24114,"_sent":24115,".entry":24116,"ĠTHEN":24117,"ellido":24118,"cia":24119,",res":24120,"/stdc":24121,".nd":24122,"(Int":24123,"ĠAuthors":24124,"ĠAppCompatActivity":24125,"'{":24126,"Ġmedi":24127,"Music":24128,"igm":24129,"ceipt":24130,"Ġauss":24131,"Ġtargeting":24132,"ĠKeys":24133,"hn":24134,":]Ċ":24135,"Ġmineral":24136,"î":24137,".ca":24138,"omed":24139,"Ġsheets":24140,"Ġcamb":24141,"Ġdeadly":24142,".inject":24143,"(unit":24144,"ĠSelection":24145,".gms":24146,"(connection":24147,"Ġ$(\"":24148,"émon":24149,"ĠCurrently":24150,"pte":24151,"_paths":24152,"leaf":24153,"Ġimplications":24154,"posal":24155,"ä½į":24156,"[/":24157,"ancia":24158,"éĽ":24159,"mul":24160,"cie":24161,"Ġgeile":24162,"imals":24163,"UIView":24164,"Ġsurre":24165,"serialize":24166,"ISO":24167,"Ġarbitrary":24168,"Ġsockaddr":24169,".fn":24170,"ĠMerc":24171,"Ġcasting":24172,"KeyDown":24173,"ĠnewValue":24174,"opens":24175,"Todo":24176,"Ġflexibility":24177,"ĉĉĉĉĠĠ":24178,"Velocity":24179,"ún":24180,"rowing":24181,"Ġcomputed":24182,"`)Ċ":24183,"statement":24184,"Ġri":24185,"_cart":24186,"Low":24187,"transfer":24188,".nav":24189,"Ġgrave":24190,"ĠDoor":24191,"ĉalert":24192,".subscribe":24193,"-profile":24194,"ĉbase":24195,"ĠâĪĴ":24196,"__ĊĊ":24197,"Ġengineers":24198,"Ġexplosion":24199,"Ġdari":24200,"ĉLog":24201,"onal":24202,"Ġisolated":24203,"{i":24204,"ĠMsg":24205,"Future":24206,"Ġracist":24207,"-wrap":24208,"ĠVers":24209,"borg":24210,"ISION":24211,"ĠÑĢаÐ":24212,"ĠYan":24213,"initWith":24214,"Ġnomin":24215,"(empty":24216,"ÃŃn":24217,"ãĤ¤":24218,"ĉwidth":24219,"Ġchamber":24220,"/ajax":24221,"EMP":24222,"Ġneces":24223,"ivos":24224,"logic":24225,"*)&":24226,"cripts":24227,"RowAt":24228,"iblings":24229,"Ġears":24230,"Ġcomputing":24231,"Ġmaker":24232,"ĠNeither":24233,"breadcrumb":24234,"Ġserialize":24235,"ĠWithin":24236,"Ġdell":24237,"_TRACE":24238,"=a":24239,"Ġwishes":24240,"-inch":24241,"ĠDor":24242,"Ġinnocent":24243,"ĠDol":24244,"Ġintens":24245,"forced":24246,"ĠBIT":24247,"Ġphotographs":24248,"Ġcasa":24249,"ĠLen":24250,"\\Framework":24251,".Simple":24252,"Ġdear":24253,")/(":24254,"ippi":24255,"Ġowns":24256,"Players":24257,"Ġproposals":24258,".pi":24259,"usalem":24260,"Damage":24261,"Ġcalories":24262,"ĠCreative":24263,"Ġ[$":24264,"Ġ//čĊ":24265,"AndView":24266,"ème":24267,".custom":24268,"_factory":24269,"commands":24270,"_look":24271,"Ġstrcmp":24272,"YN":24273,"aired":24274,"Ġaudit":24275,"оÑģÑĤ":24276,"ĠReverse":24277,"ropriate":24278,"etics":24279,"';Ċ":24352,"Ġpepper":24353,"Ġshed":24354,"ĠMedium":24355,"ĠCookie":24356,"Ġoverseas":24357,"edor":24358,"asurement":24359,"åŃĺ":24360,"Ġ'.'":24361,"Ġphp":24362,"ĠPROC":24363,"Ġexceptional":24364,"(th":24365,"ĠJet":24366,"Ġoccupied":24367,".setImage":24368,"ĠRelated":24369,"ucker":24370,"Members":24371,"PRINT":24372,"ĠGlo":24373,"_VIEW":24374,"}\",Ċ":24375,"Ġadoption":24376,"[])Ċ":24377,"ĠMissouri":24378,"ĠLincoln":24379,"erald":24380,"Popup":24381,"Ġfate":24382,"-bootstrap":24383,"fections":24384,"ĠPoll":24385,"_ARGS":24386,"inance":24387,"-home":24388,".),":24389,"_done":24390,":ĊĊĊ":24391,"Ġdiscussing":24392,"ĠSQLException":24393,"Ġelectro":24394,"ĉreq":24395,"Ġzw":24396,"Ġlui":24397,"Ġovernight":24398,"$user":24399,"ĠWAY":24400,"Ġallerg":24401,"Ġdisappointed":24402,"Ġradiation":24403,"Ġimpressed":24404,"ificates":24405,"Ġtob":24406,"CLASS":24407,"Ġcuda":24408,"_det":24409,"-post":24410,"ulu":24411,"Translation":24412,"-hand":24413,".year":24414,"ĠMongo":24415,"Ġunclear":24416,".engine":24417,"WEBPACK":24418,"rices":24419,"_ACCESS":24420,"Ġholidays":24421,"percent":24422,".Identity":24423,"ĠGov":24424,"Ġpassionate":24425,"!!.":24426,"ĠGreece":24427,"plusplus":24428,"'));":24429,"GP":24430,"Ġexcit":24431,".tabPage":24432,"_cond":24433,"Ġsponsor":24434,"MODULE":24435,"_proc":24436,"Ġ$Ċ":24437,"Ġrational":24438,".Tool":24439,"Ġihr":24440,"cca":24441,"åĵģ":24442,"ĠEstate":24443,"IBUTE":24444,"ActionPerformed":24445,"ĠSolar":24446,"¦Ĥ":24447,"Ġequity":24448,"tid":24449,"Ġrecip":24450,".simple":24451,"mk":24452,"ĠLuke":24453,"ĠGuardian":24454,"Ġencrypted":24455,"Ġdominant":24456,".place":24457,"ĠNV":24458,"Ġtongue":24459,"(Get":24460,"Ġstainless":24461,".Play":24462,"Ġeb":24463,"aci":24464,".buffer":24465,"readcrumbs":24466,"Ġvaccine":24467,"prom":24468,"ĠuserInfo":24469,"Ġslug":24470,"SerializedName":24471,"-wide":24472,"Ġreactions":24473,"ĠYang":24474,"ĠAdds":24475,"(userId":24476,"Ġplates":24477,"ĠMEM":24478,"Ġbail":24479,"Inside":24480,"eted":24481,"Ġelsif":24482,"Ġsake":24483,"Ġcycles":24484,"ĠìĹ":24485,"ĉI":24486,"-collapse":24487,"ĠGMT":24488,"Declaration":24489,"Ġgros":24490,"Ġreaches":24491,"Ġcustody":24492,"Until":24493,"tu":24494,"ĠChen":24495,"Ġnx":24496,"(addr":24497,"ĠOffer":24498,"Ġcolleg":24499,"assador":24500,"Ġmapper":24501,"ĠSIGNAL":24502,"ĠBloom":24503,"ĠHoll":24504,"ĠImper":24505,"-des":24506,"_site":24507,"Proc":24508,"Equ":24509,"Ġatomic":24510,"ĠWoman":24511,"sent":24512,"scar":24513,"Ġintelligent":24514,"ĠGetting":24515,"ĠRegistration":24516,"ĠPhill":24517,"Ġkiller":24518,"unicode":24519,"ĊĉĉĊ":24520,"ĠJacob":24521,"ĠConst":24522,"Ġlocate":24523,"Ġcaus":24524,"ĠScholar":24525,"Ġconstitutional":24526,"Ġinflation":24527,"ĠGot":24528,"=array":24529,"endum":24530,"Ġtranslated":24531,"Ġdivorce":24532,"Entries":24533,"Ġsor":24534,"ĠQuote":24535,"irlines":24536,"UK":24537,"Ġexcel":24538,"(opt":24539,"ĠADV":24540,",:,":24541,"Ġcontacted":24542,"ĠDA":24543,"Ġrings":24544,"ĠIndustrial":24545,".getContext":24546,"Ġforgotten":24547,"ĠTan":24548,"Ġpants":24549,"Ġov":24550,"Ġdecoder":24551,"ĠPartial":24552,"Ġvc":24553,"Ġbattles":24554,"Arial":24555,"FRINGEMENT":24556,"irates":24557,",w":24558,"aintenance":24559,"ĠOd":24560,"ĠTechnologies":24561,"åīį":24562,"ĠCarter":24563,".findAll":24564,"Nome":24565,"Ben":24566,"ĠUsage":24567,"ĠPicture":24568,"Ġbadly":24569,"_panel":24570,"Ġpatent":24571,"ĠProtocol":24572,"lotte":24573,"ĉplayer":24574,"jections":24575,"Ġdou":24576,"_release":24577,"urniture":24578,"_tax":24579,"ĠFields":24580,".dataset":24581,"_master":24582,"CLUDE":24583,"ĠPharm":24584,"bst":24585,"Ġoperational":24586,".cell":24587,"Ġidentifying":24588,"Ġjwt":24589,"tuple":24590,"ĠTC":24591,"ĠCro":24592,"ixmap":24593,"-components":24594,"general":24595,"Ġoz":24596,"_De":24597,"_double":24598,"ĠToo":24599,".ViewGroup":24600,"gate":24601,"dings":24602,"photos":24603,"Ġgrande":24604,"ollect":24605,"_lin":24606,"Ġawful":24607,"filters":24608,"Ġalternate":24609,"esp":24610,"Ġcompress":24611,"eo":24612,"ĠScale":24613,"Ġindirect":24614,"Ġinvoice":24615,"ĊĊĊĊĊĊĊĊĊĊĊĊĊĊĊĊ":24616,"Starting":24617,"ĠPlayers":24618,"iele":24619,".then":24620,"Ord":24621,"ĠTuple":24622,"Ġbout":24623,"ĠStatistics":24624,"Preview":24625,"Ġpuzzle":24626,"ĠWidth":24627,"STATE":24628,"Ġoverlay":24629,"ĉon":24630,"Ġinfr":24631,"Ġsmallest":24632,"locked":24633,"ÑĤо":24634,"ssl":24635,"Ġdeemed":24636,"Ġsco":24637,"reck":24638,"ĠjButton":24639,"Ġmissions":24640,"ç§°":24641,".SelectedIndex":24642,"TABLE":24643,"Sept":24644,"Ġacknowledge":24645,"Ġstrtotime":24646,"ĠTell":24647,"ĠDak":24648,"Ġaluminum":24649,"Ġfence":24650,"ĠStars":24651,"CONFIG":24652,"Ġretrofit":24653,"Ġemphasis":24654,"/header":24655,"ĠSomething":24656,"inished":24657,"='\".$":24658,"ĠValidators":24659,"Ġpolar":24660,"sections":24661,".aspx":24662,"Ġaspir":24663,".Mock":24664,"CodeGen":24665,"Ġpeut":24666,"Ġaccepting":24667,"Ġbacking":24668,"Picture":24669,"/ap":24670,"ег":24671,"_SEC":24672,"-use":24673,"annotation":24674,"Ġcognitive":24675,"Ġgrip":24676,"hour":24677,"ĠLegal":24678,"Ġepic":24679,".toolStrip":24680,".notify":24681,".Last":24682,"ORIZ":24683,"Middleware":24684,"criptions":24685,"lash":24686,"_FOUND":24687,"ĠLiverpool":24688,"Ġ{}\",":24689,"Install":24690,"Ġnit":24691,"Ġfigured":24692,"[len":24693,".Win":24694,".platform":24695,"Ġgambling":24696,"(dt":24697,"avery":24698,"ĉinclude":24699,"Whether":24700,"Routing":24701,"Ġtherap":24702,"Remote":24703,"ĠLoss":24704,"yll":24705,"Ġapproached":24706,"ĠVehicle":24707,"ĠAlpha":24708,"Ġvocê":24709,"answers":24710,"NSDictionary":24711,"consider":24712,"unused":24713,"ĠFan":24714,"orable":24715,"fre":24716,"ĠDISCLAIM":24717,"ĠActor":24718,".]":24719,"toHave":24720,".userId":24721,"Ġspeeds":24722,"eway":24723,"Ġrecurs":24724,"Ġг":24725,"_priv":24726,"!âĢĿĊĊ":24727,"Choice":24728,"Ġsettle":24729,"Ġplanes":24730,"'},":24731,"Tom":24732,"ITER":24733,"!\"Ċ":24734,"å»":24735,"achelor":24736,"Ġseparation":24737,"Ġdal":24738,"adj":24739,"Ġregisters":24740,"riz":24741,"ĠNotice":24742,"Ġlu":24743,"Ġcourage":24744,"Ġaxes":24745,"cellent":24746,".async":24747,"Ġcompatibility":24748,"ç«":24749,"Ġ!ĊĊ":24750,"ĉtitle":24751,"YLE":24752,"ĉmessage":24753,"UUID":24754,"OLDER":24755,"ĠHH":24756,"ĠStyleSheet":24757,"Ġaccessed":24758,".validation":24759,"tasks":24760,"Ġpollution":24761,".canvas":24762,"Ġingredient":24763,"ĠCabin":24764,"Ah":24765,"oldown":24766,"ĠNOI":24767,"ĠÃĹ":24768,"[f":24769,"educ":24770,"yalty":24771,"(not":24772,"_State":24773,"amen":24774,"Ġdao":24775,"udad":24776,"ellers":24777,"}&":24778,"licity":24779,"_WINDOW":24780,"Ġtatto":24781,"valor":24782,".Range":24783,"Ġreferenced":24784,"ĠReserve":24785,"Money":24786,"SCRIPT":24787,"/product":24788,"choices":24789,"Ġtin":24790,"ãĤĵ":24791,"Ġseparator":24792,"Ġpkg":24793,"ammed":24794,"ĠMAT":24795,"!!ĊĊ":24796,"Ġraid":24797,"Ġmotivation":24798,"ĠXP":24799,"ĠBackground":24800,"ĠQuaternion":24801,".defineProperty":24802,"iker":24803,"ĉparent":24804,"ĠOriginally":24805,"antage":24806,"ĠHans":24807,"Ġtimeline":24808,".cur":24809,"opic":24810,"ĠSequ":24811,"must":24812,"ĠCoal":24813,"Ġformatter":24814,"_RGB":24815,"Ġ_(\"":24816,"'}),Ċ":24817,"Ġ=================":24818,"ĠFUNCTION":24819,"Ġlng":24820,"icates":24821,"live":24822,"_engine":24823,"Ġtowns":24824,"'))ĊĊ":24825,"ĠPK":24826,"(api":24827,"ĉscanf":24828,"packet":24829,".phone":24830,"áĢ":24831,"ĠAndy":24832,"_NAMES":24833,"PLY":24834,"Ġmins":24835,"imi":24836,"Ġbrick":24837,"Ġblade":24838,".stdout":24839,"}`;Ċ":24840,"Shift":24841,"ĉsb":24842,"ĠChecks":24843,"Ġphenomenon":24844,"Avatar":24845,"Ġministry":24846,"rose":24847,"ĉFile":24848,"Ġtitled":24849,"(LOG":24850,"Ġgan":24851,"design":24852,"(),čĊ":24853,"Ġbones":24854,"stm":24855,"ÅĽÄĩ":24856,"ĠInputStream":24857,"Ġvolunt":24858,"ĠSerializable":24859,"Ġfighter":24860,"ĠDrag":24861,"Twitter":24862,"Ġsubsid":24863,"ç¼":24864,"Ġforums":24865,".loading":24866,"logged":24867,"_this":24868,"Ġterrain":24869,"Ġirre":24870,"ĠIng":24871,"ĠCN":24872,"_objects":24873,".uid":24874,"Ġconsciousness":24875,"TINGS":24876,"ĠGall":24877,"Ġportray":24878,"ĠDeveloper":24879,"Ġparticipant":24880,"Ġ\";čĊ":24881,"/model":24882,"ĠOperations":24883,"^\\":24884,"ĠLater":24885,"Ġraises":24886,"-none":24887,".meta":24888,"='.$":24889,"Finished":24890,"Ġreplacing":24891,"Ġsampling":24892,"ĠJen":24893,"\"There":24894,"REAL":24895,"ALE":24896,"ìĬ¤":24897,"Orders":24898,"_parameter":24899,"ĠOlympic":24900,"Ġtrès":24901,"Ġarena":24902,"iol":24903,";?>":24904,"Ġimpacts":24905,"ĠWS":24906,":get":24907,"Ġflights":24908,"ĠRussell":24909,"camera":24910,"Fn":24911,"sigma":24912,"Ġforcing":24913,"Ġlocals":24914,"Ġdeparture":24915,"Ġcelebration":24916,"ĠSay":24917,"ï¼Ĵ":24918,"ĠHills":24919,".hasOwnProperty":24920,"Ġtypings":24921,".API":24922,"Ġdonation":24923,"OperationException":24924,".Activity":24925,"cplusplus":24926,"ĠCharlie":24927,"Ġimported":24928,"Ġdann":24929,"Ġoccasions":24930,"Ġimplementing":24931,"Ġpurple":24932,".dialog":24933,"SQLException":24934,"erno":24935,"Ġwars":24936,"Ġpaste":24937,"Ġdecreased":24938,"Ġharsh":24939,"Ġelabor":24940,"inputs":24941,"ĠViews":24942,"ĠerrorMessage":24943,"_mul":24944,"ĉwrite":24945,"ĠCop":24946,"ĠAnnual":24947,"(button":24948,"Ġvida":24949,"bars":24950,"ĠHarvard":24951,"ĉexpect":24952,"Ġindexes":24953,"Ġdocumentary":24954,"Ġflesh":24955,"ORLD":24956,"ĠDelta":24957,"MAND":24958,"Brush":24959,"-column":24960,"Ġdevelopments":24961,"methodVisitor":24962,"slice":24963,"ĠPDO":24964,"Ġinvesting":24965,"irable":24966,"Ġxmlns":24967,"ï¼Ľ":24968,"arta":24969,"Ġtheories":24970,"_city":24971,"Ġ$__":24972,"Creating":24973,"(pr":24974,"Dropdown":24975,"ismatch":24976,"ĠNET":24977,"'])){Ċ":24978,"ĠValues":24979,"ĠSEO":24980,"ĠSTAT":24981,"Ġecosystem":24982,"Ġtempt":24983,"Ġ\\\\":24984,"Ġ//{Ċ":24985,"ĠChristopher":24986,"ĠKentucky":24987,"ĠHttpServletResponse":24988,"Ġhybrid":24989,"yon":24990,"Ġfeeding":24991,"ĠExtra":24992,"Norm":24993,"ITCH":24994,"ĠSean":24995,"ĠUpload":24996,"mun":24997,"pur":24998,"Ġpersistent":24999,"ĠIDC":25000,"ĠPerform":25001,".merge":25002,"_room":25003,"Meanwhile":25004,"!='":25005,"ĠWel":25006,"ArgsConstructor":25007,".Database":25008,"Ġcounting":25009,"()*":25010,"ĶåĽŀ":25011,"ĠTOP":25012,"mill":25013,"ĠDT":25014,"IGNED":25015,"ĠKB":25016,"Ġcomply":25017,"South":25018,"_collection":25019,"Chapter":25020,"Ġexplaining":25021,"_AM":25022,"_ts":25023,"cards":25024,"Ġquel":25025,"Ġpole":25026,"Ġtouchdown":25027,"ĠOthers":25028,"Ġpeers":25029,"ĠTypeError":25030,"Ġsixth":25031,"Ġcheer":25032,"Ġdispute":25033,"usc":25034,")],":25035,"thumb":25036,"Ġhiding":25037,"ĠSIG":25038,"likes":25039,"ĠPAGE":25040,".Reflection":25041,"Ġheadquarters":25042,"TING":25043,"ĠGhost":25044,"MLE":25045,"$Ċ":25046,"Ġcontrary":25047,"extend":25048,"']).":25049,"FFECT":25050,"ĠPinterest":25051,"úmero":25052,"ricane":25053,"ĉsession":25054,"Ġcrystal":25055,"-Control":25056,"overnment":25057,"ograf":25058,"-action":25059,"volume":25060,"ften":25061,"Ġuncon":25062,"Ġanimate":25063,"Ġlease":25064,"scr":25065,"Ġrefuse":25066,"ãĢĭ":25067,"ftp":25068,"information":25069,"Ġevaluated":25070,"Ġinjection":25071,"Ġjack":25072,"Ġworkshop":25073,"注":25074,"PTH":25075,"ĠTs":25076,"offer":25077,"ĉos":25078,"Ġkingdom":25079,"Missing":25080,"Ġlawmakers":25081,"extField":25082,"Ġsinging":25083,"abi":25084,"/client":25085,".media":25086,"ATEGORY":25087,"Signature":25088,"%',Ċ":25089,"ĠFuck":25090,"][:":25091,"Ġsensors":25092,"/com":25093,"ĠPrimary":25094,".SQL":25095,"_program":25096,"Ġpills":25097,"Ġintegral":25098,"Ġfleet":25099,"Ġdropping":25100,".sl":25101,"Been":25102,"Ġpets":25103,"Ġadvised":25104,"Ġdragon":25105,"_EDIT":25106,"(im":25107,"FER":25108,"ĠDrug":25109,"(random":25110,"Ġcompression":25111,"oust":25112,"[%":25113,"Ġbuyer":25114,"hop":25115,"Roles":25116,"manage":25117,"Ġpainful":25118,"ĠBranch":25119,"-modal":25120,"enant":25121,"ĠMesh":25122,"/font":25123,"ĠGraham":25124,"Ġâĺ":25125,"Ġnc":25126,"ĠFrancis":25127,"Ġspecification":25128,"Ġdamages":25129,"-config":25130,"Ġtheoret":25131,"secure":25132,"_multi":25133,"aceutical":25134,"Ġdemanding":25135,"enne":25136,"ISTS":25137,"()));ĊĊ":25138,"Reason":25139,"Recent":25140,"phase":25141,"Ġpsy":25142,"_MAN":25143,"Ġvolunteer":25144,"å¿":25145,"istributed":25146,"lio":25147,"Ġproductivity":25148,"_comm":25149,"Spring":25150,"nis":25151,".weight":25152,"ĠCancer":25153,"Alloc":25154,"ĠTweet":25155,"Ġseparately":25156,"ĉcheck":25157,"_properties":25158,".Unit":25159,"_CLK":25160,"Ġgt":25161,"Ġ();ĊĊ":25162,"Ġhandy":25163,"ĠThompson":25164,"Ġunnecessary":25165,"ĠReader":25166,"GN":25167,"=request":25168,"ĠUtility":25169,".Repository":25170,"ĠAx":25171,"hydr":25172,"ieu":25173,"Ġthy":25174,"Ġlt":25175,"_mail":25176,"ä¿®æĶ¹":25177,"ailand":25178,"ĠPhilip":25179,"Ġbitter":25180,"Ġbetting":25181,"Ġtimed":25182,"ocks":25183,"'a":25184,"Ġalgorithms":25185,"Ġreinterpret":25186,"Ġtoss":25187,"rogen":25188,"Ġhoped":25189,"(selected":25190,"Ġventure":25191,"TEX":25192,"ĠLeave":25193,".Substring":25194,"Ġgrateful":25195,"uka":25196,"ĠConsumer":25197,"Ġaggreg":25198,"Circle":25199,"à¸ģ":25200,"_blocks":25201,"Ġlegally":25202,"Ġ\"|":25203,"ãĥĥ":25204,".board":25205,".Ab":25206,"Functions":25207,"recipe":25208,"èĩ":25209,"ĠOxford":25210,"Ġwholes":25211,".Build":25212,"_changed":25213,"hai":25214,"Ġdepartments":25215,"Imp":25216,"Ġcoalition":25217,"INFRINGEMENT":25218,"Ġempower":25219,"itches":25220,"North":25221,"Ġinflamm":25222,"ONSE":25223,"Ġmissile":25224,"ĠRaj":25225,"ĠIssue":25226,"Ġatoi":25227,"caled":25228,".Controllers":25229,"ĠWolf":25230,"Ġcrushers":25231,"á»ĩ":25232,".Auth":25233,".addAttribute":25234,"his":25235,"Ġboots":25236,".clean":25237,"camp":25238,"Ġtenant":25239,"Ġtune":25240,"Ġ{}'.":25241,"Ġworkout":25242,"Repo":25243,"Ġpartially":25244,"MISSION":25245,"jamin":25246,"ĠSB":25247,"Ġdetermination":25248,"Ġ'');Ċ":25249,"ĠBeng":25250,"Ġvos":25251,"Ġinhab":25252,"/lang":25253,"sburgh":25254,"Executor":25255,"hone":25256,"ĠChallenge":25257,"_links":25258,".Level":25259,"Ġunderground":25260,"-code":25261,"Ġoptimization":25262,"logging":25263,"_dest":25264,"Ġsnake":25265,"Ġchemicals":25266,"_IMPORTED":25267,"adoop":25268,"ĠTHAT":25269,"managed":25270,"Ġreduces":25271,"ĠREAL":25272,"ĠGuy":25273,"_GENERIC":25274,"/********************************":25275,".amount":25276,"Ġdere":25277,"getTime":25278,"Ġpant":25279,"anonymous":25280,"Ġharmony":25281,"ĠAlan":25282,"Ġscenarios":25283,"Ġdirt":25284,"htags":25285,"Mc":25286,"Shell":25287,"rin":25288,"{čĊčĊ":25289,".pow":25290,"ĉclient":25291,"Ġconspiracy":25292,"Ġadmission":25293,"ĠRegional":25294,"ĠViewController":25295,"ĠPhilippines":25296,"Ġdepos":25297,"Ġpap":25298,"ĠPad":25299,"Paul":25300,".ComboBox":25301,"Ġtutor":25302,"ĠRecipe":25303,"writing":25304,"Ġcontributor":25305,"OTH":25306,"Small":25307,"VI":25308,"Ġhacer":25309,"equ":25310,"ĠExamples":25311,"human":25312,".messages":25313,"ĉtyp":25314,"Ġ(čĊ":25315,"ĠSSL":25316,"LEN":25317,"ĠRomney":25318,"(grid":25319,"ĉmin":25320,"Ġ>ĊĊ":25321,"Ġfruits":25322,"Ġvoter":25323,"Inline":25324,"pane":25325,"ĠCollections":25326,"charset":25327,"Ġspam":25328,"zb":25329,"itemap":25330,"Ġsucceeded":25331,"_COL":25332,"Ġelapsed":25333,"imeter":25334,"Ġrecovered":25335,"Tensor":25336,"hattan":25337,".setup":25338,"isto":25339,"(head":25340,"ĠSIZE":25341,"Ġtactics":25342,"Ġdistur":25343,"Ġpreval":25344,"icios":25345,"(Value":25346,"_cols":25347,"ĠFat":25348,"Ġseal":25349,"Ġsons":25350,"Ġensures":25351,"Ġpressing":25352,"=&":25353,"igenous":25354,"Ġharassment":25355,"_JSON":25356,"Ġignor":25357,"ynomial":25358,"omer":25359,"_static":25360,"Ġsignificance":25361,"Ġcircles":25362,"_System":25363,"Ġdiscipline":25364,"Ġdressed":25365,"Ġsphere":25366,"Ġclimb":25367,"_actions":25368,"ĠBab":25369,"Ġ'=',":25370,"_schema":25371,"\"use":25372,"Ġunders":25373,"Ġcups":25374,".screen":25375,"/new":25376,"Ġappearing":25377,"TOP":25378,"vised":25379,"clang":25380,"Ġinvestigators":25381,"Ġmysterious":25382,"Ġpromising":25383,"Ġqualify":25384,"Ġcave":25385,"Ġequip":25386,"=x":25387,"GT":25388,"(link":25389,".velocity":25390,".erase":25391,"oter":25392,"++++++++":25393,"profit":25394,"Ġzones":25395,"_uid":25396,"-ser":25397,"Ġobjectives":25398,"Ġmilf":25399,"webkit":25400,"(match":25401,"neh":25402,"ĠAssociated":25403,"ĠTodo":25404,"=d":25405,"Cam":25406,"Ġvocal":25407,"Ġsudo":25408,"(EX":25409,"Ġtrou":25410,"ABC":25411,".bean":25412,"ĠGround":25413,"ĠREST":25414,"weets":25415,"Ing":25416,"imon":25417,"_bus":25418,"ĠCOLOR":25419,"unto":25420,"Ġfoss":25421,"ĠLinks":25422,"äng":25423,"/forms":25424,"prises":25425,"Ġachievement":25426,"CALL":25427,"елÑĮ":25428,"ĠVerify":25429,"_SOURCE":25430,"aptcha":25431,"IDD":25432,"_reference":25433,"Gold":25434,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ":25435,"Receiver":25436,"Ġaj":25437,"_direction":25438,"}]":25439,"ĠCompet":25440,"Ġbang":25441,"ĠCass":25442,"-url":25443,"techn":25444,"ĠJerusalem":25445,"longitude":25446,"');čĊčĊ":25447,"Ġwinners":25448,"Tasks":25449,"ĠDMA":25450,"Ġtooltip":25451,"İ·":25452,"ĠBra":25453,"_duration":25454,"cury":25455,"parents":25456,"---->(":25526,"ĠKir":25527,"Ġintros":25528,"Ġsketch":25529,"Ġskilled":25530,"Ġimmer":25531,"Ġadequate":25532,"_rep":25533,"(header":25534,"_like":25535,"Ġperceived":25536,"ssh":25537,"Ġassuming":25538,"Ġff":25539,"_uuid":25540,"ulas":25541,"Ġdemocratic":25542,".entities":25543,"Series":25544,"aphore":25545,"Ġnewer":25546,"}(":25547,"SEC":25548,"airo":25549,"Ġcommod":25550,"Ġprivilege":25551,"Ġdeux":25552,"ĠHop":25553,".'/":25554,"ctic":25555,".';Ċ":25556,"C":25630,"ĠWarren":25631,"Ġoptimizer":25632,"ĠSERVICES":25633,"_oper":25634,"getAttribute":25635,"ĠMcK":25636,"_self":25637,".rs":25638,"\")ĊĊĊ":25639,"GetComponent":25640,"erce":25641,"Ġtous":25642,"units":25643,"']);čĊ":25644,"Zoom":25645,"/E":25646,"Ġobsc":25647,"Ġfastest":25648,"online":25649,"Ġpeaceful":25650,"ffen":25651,"Ġcargo":25652,"ĉpr":25653,"Ġseeks":25654,"zu":25655,"Trim":25656,"Ġward":25657,"Ġverd":25658,"Ġblogs":25659,".exceptions":25660,"ĠPremium":25661,"ĠNetherlands":25662,"Safe":25663,"Finish":25664,"ĠAlbum":25665,"_ACC":25666,"=this":25667,"virtual":25668,"]>":25669,"_LABEL":25670,"ĠNich":25671,"_win":25672,"ĠAaron":25673,"WP":25674,";$":25675,"aims":25676,"ĠImageView":25677,"Ġendless":25678,"ERA":25679,"_DISABLE":25680,"Ġcancelled":25681,"-us":25682,"Ġinspection":25683,"emin":25684,"ĠGrey":25685,"-open":25686,"Ġiterations":25687,".owner":25688,"Ġkeras":25689,".Password":25690,"ĠRy":25691,"ĠINS":25692,"Air":25693,"ĠSeveral":25694,".TabStop":25695,"INGLE":25696,"ĠHair":25697,"ĠCanvas":25698,"AAAA":25699,"Ġflaw":25700,"cedes":25701,".Report":25702,"íĬ":25703,"ĠTips":25704,"criptors":25705,".transaction":25706,".Spring":25707,"Ġviewer":25708,"Ġinsights":25709,"è¾ĵ":25710,"ordion":25711,"UINT":25712,"seek":25713,"ĠAuf":25714,"ìŀIJ":25715,"Ġstrain":25716,"Tooltip":25717,"Ġdz":25718,"ignal":25719,"adt":25720,"Ġuc":25721,"finite":25722,"Ġnm":25723,".cmd":25724,"ĠMySql":25725,"[data":25726,".jackson":25727,".tree":25728,"RequestParam":25729,"_agent":25730,"\")]čĊ":25731,"Ġassass":25732,"(Constants":25733,":ss":25734,"ĠMAN":25735,"+-+-":25736,"ĠBottom":25737,"prints":25738,"ĠSame":25739,"@Autowired":25740,"swap":25741,"ición":25742,"Ġprotesters":25743,"Ġhoney":25744,"ĠVeter":25745,"(Calendar":25746,"-ad":25747,"ĠBrooklyn":25748,"Life":25749,"_VAR":25750,"zech":25751,"ĠCALL":25752,"_CAST":25753,"ĠElection":25754,"Ġthickness":25755,"Very":25756,"_INTEGER":25757,"-dev":25758,"))))":25759,"apat":25760,"oooo":25761,"demo":25762,"ĠparseFloat":25763,"ĠRather":25764,"STIT":25765,"maker":25766,"[current":25767,"chrono":25768,"Ġchrist":25769,"ãģª":25770,"ĠDetail":25771,"ưá»":25772,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":25773,"Ġsul":25774,"idency":25775,"Que":25776,"Ġelegant":25777,"apons":25778,"Ġdishes":25779,"Ġintegers":25780,"(read":25781,"findViewById":25782,"ĠAmount":25783,"ĠSkip":25784,"Ġhabits":25785,"*)(":25786,"Ġmonsters":25787,"MAC":25788,":end":25789,"Ġfrank":25790,"Assembly":25791,"Ġdfs":25792,"Ġneut":25793,"_TYPES":25794,"equal":25795,"loyd":25796,"(uri":25797,"Ġchi":25798,"Ġdefendant":25799,"Ġconflicts":25800,"Ġvil":25801,"-js":25802,"ĠPeace":25803,"Ġmutable":25804,")sender":25805,"ĠFocus":25806,"建":25807,"Ġappreciated":25808,"sleep":25809,"ĠRED":25810,"Culture":25811,"Ġdesigners":25812,"_generator":25813,"codes":25814,"/ex":25815,".GetValue":25816,"umbled":25817,".scalajs":25818,"peror":25819,"Ġveterans":25820,"Ġ})čĊ":25821,"Ġunfortunately":25822,"_CREATE":25823,"Mass":25824,"ĠCLAIM":25825,"ĠMeet":25826,"_support":25827,"Bank":25828,"().Ċ":25829,"Dark":25830,"_LOW":25831,"ĠMining":25832,"ĠOwner":25833,"iera":25834,"Cliente":25835,"Ġencouraging":25836,">S":25837,"Ġboyfriend":25838,"ĠHalf":25839,"ĠACC":25840,"Aff":25841,"_ar":25842,"-life":25843,"cx":25844,".JButton":25845,"izado":25846,".zero":25847,".openqa":25848,"oton":25849,".textContent":25850,"Ġtoll":25851,"atie":25852,"Ġballot":25853,"-number":25854,".Exception":25855,"ĉparams":25856,"circle":25857,"-map":25858,"Ġnap":25859,"ĠRobot":25860,"ĠIch":25861,"registration":25862,"Amazon":25863,"rollment":25864,"(exp":25865,"Ġtanks":25866,"ĠGordon":25867,"Ġmachinery":25868,"Ġbaseline":25869,"æĭ":25870,"Ø©":25871,"ĠConvention":25872,"ĉconfig":25873,"ookies":25874,"mult":25875,"Records":25876,"ĠEST":25877,"Ġgarbage":25878,"Ġconform":25879,"idal":25880,"Ġbarg":25881,"Ġsurvived":25882,"Ġinvestigations":25883,".containsKey":25884,"--------------------------------------------------------------------------Ċ":25885,"ortion":25886,"Ġhorr":25887,"_http":25888,"Ġmant":25889,"];čĊčĊ":25890,"binary":25891,"empl":25892,"Ġinquiry":25893,"ĠMeanwhile":25894,"Ġcollecting":25895,".EntityFramework":25896,"\",ĊĊ":25897,"ĠPic":25898,"@Inject":25899,"ickness":25900,"ĠBinding":25901,"Ġcontrolling":25902,"reverse":25903,"Ġchairs":25904,"sembled":25905,"(add":25906,"Disabled":25907,"anas":25908,".translate":25909,"-----------Ċ":25910,"Ġreflected":25911,"\"]ĊĊ":25912,"External":25913,"Arrow":25914,"Singleton":25915,"%x":25916,"ĠÅ":25917,"Ġancest":25918,"ĠOrleans":25919,"ĉcmd":25920,"Ġprohibited":25921,"ithmetic":25922,"(channel":25923,"_css":25924,"Forward":25925,".socket":25926,"Ġluc":25927,"âĨ":25928,"ĠFirefox":25929,"ĠMovies":25930,")_":25931,".ends":25932,"(shape":25933,"Ġdealt":25934,"Ġsaves":25935,"Ġglory":25936,"Ġmejor":25937,"Ġbreathing":25938,"Ġeller":25939,"getData":25940,"Ġangles":25941,"Ġtoolbar":25942,"Ġspacing":25943,"IPS":25944,"Ġfloors":25945,"_ACTIVE":25946,"Ġshuffle":25947,"/shared":25948,"ĠEle":25949,"edish":25950,"Ġwebcam":25951,".expect":25952,"iloc":25953,"ĠIncludes":25954,"Ġtweeted":25955,"Ġ:)":25956,"ĠEssay":25957,"Fix":25958,"-between":25959,"_web":25960,".conv":25961,"Ġracism":25962,"Ġreflects":25963,"umm":25964,"иÑĤе":25965,"_footer":25966,"/docs":25967,"ĠPour":25968,"NgModule":25969,".initialize":25970,"patterns":25971,"_In":25972,"ĠAbb":25973,"*čĊ":25974,"Ġsentiment":25975,"buff":25976,"_counts":25977,"Ġreuse":25978,"chunk":25979,"Ġimposed":25980,"PrimaryKey":25981,"Foreground":25982,"Ġconsumed":25983,"?!":25984,"Ġdick":25985,"Ġchron":25986,"ĠFern":25987,"Ġresponsive":25988,"Ġinsect":25989,"iculty":25990,"Ġrw":25991,"Ġalike":25992,"Ġsubset":25993,"ĠCookies":25994,"ĠPair":25995,"Ġtier":25996,"IFO":25997,"avour":25998,"ĠQU":25999,",sizeof":26000,"Ġmerged":26001,"mv":26002,"itol":26003,"ylon":26004,"Ġjumped":26005,".role":26006,"ensaje":26007,"Rules":26008,"Ġbrowse":26009,"Animator":26010,"Ġyoga":26011,"Ġvariants":26012,"Ġcourtesy":26013,"uran":26014,"pbs":26015,"elseif":26016,"Alt":26017,"ĠLane":26018,"CLK":26019,"IMARY":26020,"_PROPERTY":26021,"ï¼IJ":26022,"Ġchan":26023,"Ġgradually":26024,"Ġshake":26025,"Ġblonde":26026,"...\");Ċ":26027,"-sex":26028,"Ġgameplay":26029,"acies":26030,".refresh":26031,"USB":26032,"ĠPlot":26033,"Was":26034,"issippi":26035,"ĠTensor":26036,"Ġcryptocurrency":26037,"Ġdifficulties":26038,"Deleted":26039,"Without":26040,"_append":26041,"_ver":26042,"\"))čĊ":26043,"Ġhonestly":26044,"Ġpivot":26045,"Ġtemps":26046,"_ps":26047,"ĠUnlike":26048,"[:-":26049,"VS":26050,"_inf":26051,"Ġjunior":26052,"Ġanimations":26053,"Ġfilepath":26054,"?{{$":26076,"Ġunicode":26077,"places":26078,"ĠCoffee":26079,".SE":26080,"ĠPAR":26081,"(txt":26082,"gebra":26083,"Ġfires":26084,"MainWindow":26085,"medium":26086,"Ġ(âĢľ":26087,"Ġlg":26088,"Ġcmp":26089,"/base":26090,"_layers":26091,"_entries":26092,"Ġadminister":26093,"ĠSUCH":26094,"BP":26095,"ĠScottish":26096,"ĉčĊĉčĊ":26097,"guard":26098,"ĠStrong":26099,"Insn":26100,"ĠCAP":26101,"asury":26102,"ĠSEE":26103,"Clock":26104,"erie":26105,"\\models":26106,"Ġ$$":26107,"ĠCab":26108,"Ġwurde":26109,"Ġsoldier":26110,"Ġclips":26111,"Ġarrangement":26112,"ĠWonder":26113,"ĠHorn":26114,"Ġscared":26115,"Ġcure":26116,"mkdir":26117,"Ġaligned":26118,"ĠPink":26119,"Ġlanded":26120,"Dimension":26121,"ScrollPane":26122,".chat":26123,".With":26124,"ĠTrain":26125,"].Ċ":26126,"Ġthirty":26127,"Ġdurable":26128,"Ġld":26129,"Ġlateinit":26130,"Ġcharts":26131,"Ġinsult":26132,".Fatal":26133,"_ct":26134,"Ġmasks":26135,"CLUDED":26136,"President":26137,"Ġcolours":26138,"gments":26139,".attributes":26140,"ĠFlex":26141,"ĠClock":26142,"ÃŃcul":26143,"imen":26144,"JO":26145,"ĠRegex":26146,"_LINK":26147,"Ġcouch":26148,"ĠINPUT":26149,"Ġbeating":26150,"business":26151,"preced":26152,".unit":26153,"ĠFel":26154,"Never":26155,"ospel":26156,".startswith":26157,"ĠEPA":26158,".only":26159,"Ġpreventing":26160,"yer":26161,"ColumnName":26162,"Ġelevation":26163,"flu":26164,"icycle":26165,"Ġoffline":26166,"Toolbar":26167,"Ġcompeting":26168,")].":26169,"Ġmog":26170,"ĠisValid":26171,"Ask":26172,"_av":26173,"_lat":26174,"ANC":26175,"ĠJoh":26176,"kers":26177,"Ġguards":26178,"Ġchains":26179,"ĠSimpleDateFormat":26180,".static":26181,"Ġvessel":26182,"Ġmud":26183,"Ġstabil":26184,"Ġstret":26185,"gm":26186,"amation":26187,"çľ":26188,"-with":26189,"Ġros":26190,"_PA":26191,"Ġresultado":26192,"Ġconfidential":26193,"ĠTokyo":26194,"ĉusing":26195,"ĠMathf":26196,"ombine":26197,"ĠESPN":26198,"Ġdealers":26199,"Ġdismissed":26200,"TRY":26201,"Ġteens":26202,"records":26203,"Ġwings":26204,"gallery":26205,"accounts":26206,"_LIB":26207,"Ġjacket":26208,"ĠNSObject":26209,"Ġstones":26210,"ĠDelivery":26211,"ĠDiet":26212,"/watch":26213,"Ġtoilet":26214,"ĠGuest":26215,".day":26216,"Ġintval":26217,"Visit":26218,"Ġinvestigated":26219,"Ġpentru":26220,"ĠTheatre":26221,"andidates":26222,"Lang":26223,"ĠServ":26224,"Ġcontrollers":26225,"ĠsetTitle":26226,"NP":26227,"amy":26228,"flat":26229,"(ui":26230,"_document":26231,"èĥ½":26232,"ĠCoin":26233,"ĠAdams":26234,"ptic":26235,"Ġproductive":26236,"Ġaccomplished":26237,"čĊčĊčĊčĊ":26238,"Ġdeferred":26239,"ientes":26240,"Ġsinc":26241,"olars":26242,"Rightarrow":26243,"Ġvariations":26244,"(offset":26245,".LayoutInflater":26246,"Ġsuspend":26247,"Ġprevention":26248,"_private":26249,"_js":26250,"âĺħ":26251,"Ġwieder":26252,"atum":26253,"ĴĮ":26254,"Ġappearances":26255,".Document":26256,"Ġvalidates":26257,"calendar":26258,"}\";Ċ":26259,".demo":26260,"conut":26261,"Ġcorrection":26262,"ĠDeal":26263,"Ġbatteries":26264,".duration":26265,",\\":26266,"_marker":26267,"multi":26268,"Ġhalt":26269,"Ġcms":26270,"Ġshaped":26271,"Bro":26272,"reduce":26273,"Ġ####":26274,"CTOR":26275,"ĠBenef":26276,"Ġiconic":26277,"Ġpiano":26278,"Ġeffectiveness":26279,"|.Ċ":26280,"Ġajax":26281,"Ġvolumes":26282,"ม":26283,"Ġcljs":26284,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ":26285,"aths":26286,"raits":26287,"大":26288,"Ñĸ":26289,"_mult":26290,"Ġfascinating":26291,"Average":26292,"Ġpré":26293,"ĠChairman":26294,".findElement":26295,"_pin":26296,"Ġcomparing":26297,"Ġdarkness":26298,"-Fi":26299,"-server":26300,"Ġselecting":26301,"sterdam":26302,"ĠParts":26303,"FORMATION":26304,"Ġnoting":26305,"Ġpile":26306,"ogs":26307,"Ġpalette":26308,"_do":26309,"itize":26310,"()(":26311,"Ġdefining":26312,"Ġremainder":26313,"Units":26314,"_TASK":26315,"HttpClient":26316,"Social":26317,"Ġfundra":26318,"NR":26319,"chest":26320,"Currency":26321,".adapter":26322,"Ġdop":26323,"unting":26324,"ANGUAGE":26325,"\"He":26326,"ĉindex":26327,"_package":26328,".Icon":26329,"Ġrepet":26330,"mass":26331,"=\".$":26332,"ĠSud":26333,"Ġlid":26334,"province":26335,"ìľ":26336,"GPIO":26337,"Ðļ":26338,"ĠMySQL":26339,"Ġdocs":26340,"ĠGA":26341,"Ġipsum":26342,"Kernel":26343,"Ġaccepts":26344,"Ġfitting":26345,"Ġcuando":26346,"Ġduplic":26347,"ĠBrother":26348,"ĠKle":26349,"nums":26350,"Ġmorph":26351,"Ġ########":26352,"ĠCGPoint":26353,"manual":26667,"ĠTechnical":26668,"Ġcorporation":26669,"ĠHW":26670,"anka":26671,"TAIL":26672,"istas":26673,"Ġperforms":26674,"ĠBehavior":26675,".For":26676,"_ORDER":26677,"ĠKick":26678,"Ġcallbacks":26679,"_dr":26680,"uego":26681,"hub":26682,"ufficient":26683,"sky":26684,"Ġbp":26685,"htable":26686,"ĠONLY":26687,"ĠAUTHORS":26688,".Argument":26689,"\"};Ċ":26690,"ĠThunder":26691,"ĠKom":26692,".Should":26693,"AUTH":26694,"ahu":26695,"_payment":26696,"Ġstarter":26697,"ìĦľ":26698,"ìļ©":26699,"Blog":26700,".patch":26701,"Ġgoverned":26702,"assy":26703,"-found":26704,"Ġtheater":26705,"ĠFontWeight":26706,"ĠBatman":26707,"\"If":26708,".Random":26709,"_delta":26710,"ĠCE":26711,"Authenticated":26712,"Ġdrone":26713,"Ġcous":26714,"radius":26715,"Mer":26716,"(None":26717,"ĠNJ":26718,"_headers":26719,"Ġamer":26720,"pytest":26721,"ĠActions":26722,"ĉĉĉĠĠĠĠ":26723,"Ġett":26724,"Ġholy":26725,"Ġuncomfort":26726,"ĠNin":26727,"ĠDecimal":26728,"ĠMessages":26729,".sender":26730,"]])Ċ":26731,"Ġembrace":26732,"Though":26733,"/sp":26734,"Ġcultures":26735,"Ġhighway":26736,"tar":26737,".fail":26738,"_hidden":26739,"ĠcomponentDidMount":26740,"ĠWright":26741,"Ġjag":26742,"_il":26743,"../../../":26744,"igu":26745,"Food":26746,"Ġace":26747,"Ġaños":26748,"USD":26749,"Ġmutual":26750,"Logic":26751,"Ġtemple":26752,"Ġbriefly":26753,"ĠTrip":26754,"classmethod":26755,"defaults":26756,"Ġchunks":26757,",,,,":26758,"ĠReason":26759,"$id":26760,"-ups":26761,"Ġdamn":26762,"Ġtrucks":26763,"Ġunlimited":26764,"Ġsculpt":26765,"ĠCards":26766,"Ġautor":26767,"ĠTesting":26768,"Ġdiese":26769,"shops":26770,"ç´":26771,"(payload":26772,"ĠPATH":26773,"ĠMemorial":26774,"Ġridiculous":26775,"egree":26776,"-winning":26777,"Ġrehab":26778,"Ġsophisticated":26779,"wpdb":26780,"ĉpath":26781,"!\";Ċ":26782,"_SYS":26783,".speed":26784,"Ġsoap":26785,"suffix":26786,"Wrap":26787,"Ġenhancement":26788,"Ãī":26789,"úb":26790,"Ġplaylist":26791,"Ġmixing":26792,"antidad":26793,"=\"\";Ċ":26794,"ĠRevision":26795,"ĠBeat":26796,".inc":26797,"-way":26798,"encias":26799,"ulers":26800,"Cat":26801,"idel":26802,"ĠShip":26803,".setColor":26804,"Ġthreatening":26805,".modules":26806,"Ġafterwards":26807,"ĠDashboard":26808,"ĊĠĊ":26809,"Signal":26810,"Ġprimer":26811,"orneys":26812,"iciary":26813,"Ġligne":26814,"_predict":26815,"Ġaest":26816,"_https":26817,">:":26818,"ĠLex":26819,"Ġrencontres":26820,"egral":26821,"scala":26822,"_family":26823,"ÃŁen":26824,"_sym":26825,"Ġuncertainty":26826,"ĠVALUE":26827,"Ġ};čĊčĊ":26828,"Ġbroader":26829,"Ġhorses":26830,"ãģĿ":26831,"ĠKal":26832,"oba":26833,"_INET":26834,"ĠKill":26835,"jquery":26836,"amination":26837,"[@\"":26838,"Ġmuj":26839,"###Ċ":26840,"FirstOrDefault":26841,"thenReturn":26842,"Che":26843,"/footer":26844,"Ġparks":26845,"asje":26846,"ĠGulf":26847,"Ġmodest":26848,".Init":26849,"ï¼ŁĊĊ":26850,"Ġprospects":26851,"Ġsvg":26852,"Ġåı":26853,".Dialog":26854,"_NET":26855,"Ġ(($":26856,"Ġek":26857,"ĠWarning":26858,"ĠMK":26859,"":27166,"ĠRepair":27167,"_BE":27168,"Brand":27169,"uart":27170,"preview":27171,"Ġinitiatives":27172,"running":27173,"bang":27174,"ĉupdate":27175,"ĠCoach":27176,"Rich":27177,"Ġyoutube":27178,"Ġritual":27179,"appa":27180,"ĠRobinson":27181,"precision":27182,"////////////////////////////////////////////////////////////////////////////":27183,"=[]Ċ":27184,"Ġcelebrated":27185,"OTO":27186,"Ġinclusion":27187,"JP":27188,"';čĊčĊ":27189,"Ġnotable":27190,"(_.":27191,"Managed":27192,"Ġguides":27193," ":27194,"atedRoute":27195,"ĠAdjust":27196,"Ġcolored":27197,"_scores":27198,"ĠTesla":27199,"_progress":27200,".inst":27201,"['_":27202,".flags":27203,"Ġfclose":27204,"_OPER":27205,"ży":27206,"_note":27207,"Ġtransgender":27208,"åķ":27209,"RIPT":27210,"Ġabsent":27211,"Ġamet":27212,"Ġoperand":27213,"ë©":27214,"Ġhood":27215,"toLowerCase":27216,"avo":27217,"ĠCircuit":27218,"ĠLind":27219,"--}}Ċ":27220,"=m":27221,"Ġsuppress":27222,"ĠMAP":27223,"iang":27224,"-admin":27225,"Ġsidebar":27226,"ĠBu":27227,"ĠHex":27228,",F":27229,"ĠSignal":27230,"Ġtransparency":27231,"ĠFederation":27232,"/V":27233,"Req":27234,"Ġpulse":27235,"Ġtends":27236,"Numbers":27237,"%'":27238,"Ġdeport":27239,"datas":27240,"_UINT":27241,"_tra":27242,"oko":27243,"Ġ\"?":27244,"compet":27245,"solete":27246,"undry":27247,"Ġoverlap":27248,"}`,Ċ":27249,".ly":27250,"_summary":27251,"ĠLost":27252,".Center":27253,"Ġdisability":27254,".Serialization":27255,"Ġgeom":27256,"Ġ?:":27257,"ĠWo":27258,"Ġshipped":27259,"Ĥæķ°":27260,"Ġugly":27261,"Ġexcitement":27262,"Ġexterior":27263,"Ġcheckout":27264,"Ġkur":27265,",D":27266,"ĠAlaska":27267,"Ġsynthetic":27268,"ĠBudget":27269,"ĠSubscribe":27270,"Ġ&Ċ":27271,"ÈĻi":27272,"ĠYu":27273,"ĉquery":27274,"}.Ċ":27275,"Ġtraged":27276,"assen":27277,"Ġaccommodation":27278,"Ġphysician":27279,"Ġrenamed":27280,"Ġtidak":27281,"zÄħ":27282,"Ġminus":27283,"nych":27284,"_EXCEPTION":27285,"threads":27286,"Ġtire":27287,"_created":27288,"ensure":27289,"Ġworthy":27290,"Ġexcuse":27291,"Ġcloth":27292,".parentNode":27293,"/platform":27294,"ĠUFC":27295,"ĠGtk":27296,"unny":27297,"Ġgibt":27298,"keley":27299,"hum":27300,"(tx":27301,"ĉdev":27302,"Ġoutfit":27303,"doors":27304,"Ġfon":27305,"icut":27306,"volatile":27307,"Ġhomosex":27308,"Maximum":27309,"Ġexpend":27310,"Ġ});ĊĊĊ":27311,"Eq":27312,"onders":27313,"department":27314,"ĠPhysics":27315,"\"});Ċ":27316,"Ġparad":27317,".Str":27318,"Ġsele":27319,"IFIED":27320,"Ġdelivers":27321,"ivan":27322,"Ġresponsibilities":27323,"Ġadvocates":27324,"èµ":27325,"ĠRID":27326,".parameters":27327,"Metrics":27328,"ronics":27329,"ĠUITableViewCell":27330,"Absolute":27331,"ipse":27332,"ylum":27333,"MLElement":27334,"_VALID":27335,"\\<^":27530,"Ġios":27531,"sound":27532,"\"];":27533,"Ġfreed":27534,"rottle":27535,"ĠLower":27536,"[count":27537,"åĿ":27538,"Ġpale":27539,"ĠWayne":27540,"earth":27541,"_categories":27542,"UCK":27543,".metadata":27544,"Ġsummon":27545,"HOME":27546,"олÑĮз":27547,"Ġmanufactured":27548,"Ġdock":27549,"Ġcompetitors":27550,"_MODEL":27551,"okia":27552,"ĠHey":27553,"ο":27554,"Ġbackward":27555,"ĠPOSS":27556,"ropa":27557,"Ġcri":27558,"_OBJ":27559,"Transport":27560,"-high":27561,"Ġerotik":27562,"_slot":27563,"Ġartic":27564,"_framework":27565,"-serif":27566,"ĠSqlDbType":27567,"')(":27568,"+\"/":27569,"Ġwore":27570,"Sil":27571,"Ġstoring":27572,"ĠPhase":27573,"uant":27574,"Ġbump":27575,"inho":27576,"Ġdign":27577,"Ġbacks":27578,"qq":27579,"(hash":27580,"Ġgeo":27581,"Ġtender":27582,"Logo":27583,"!)Ċ":27584,"ĠMX":27585,"ĠArthur":27586,"essoa":27587,"_Ch":27588,"Ġbedrooms":27589,"=\"#\"><":27590,"Ġthroat":27591,"insic":27592,".integer":27593,"Ġprimitive":27594,"Truthy":27595,"Ġfacilitate":27596,"Ġcreativity":27597,"ĠDNS":27598,"Ġgra":27599,"uez":27600,"Ġcountless":27601,"ĠPoland":27602,"'M":27603,"ĠDist":27604,"Ġvest":27605,"Ġcertification":27606,"á»ij":27607,"held":27608,"extensions":27609,"(static":27610,"Ġgrades":27611,"ĠUber":27612,"ãģŁ":27613,"Ġ[])Ċ":27614,"datos":27615,"ĠgetData":27616,"ĠCharg":27617,"ĠBS":27618,".microsoft":27619,".video":27620,".direction":27621,"->{'":27622,"lua":27623,"apest":27624,"Ġboiler":27625,"erek":27626,"Ġdecides":27627,".jar":27628,"ISC":27629,"ĠWords":27630,"(CON":27631,"EMPLATE":27632,"reeze":27633,"shots":27634,"apps":27635,"unted":27636,".setName":27637,"::<":27638,"-bold":27639,"ê²":27640,"å¯Ĩ":27641,"Longrightarrow":27642,"Ġunfair":27643,"Ġearning":27644,"Ġshelf":27645,"UREMENT":27646,"Ġidle":27647,"_MENU":27648,".Custom":27649,"AGER":27650,"-\"":27651,"_switch":27652,"because":27653,")view":27654,"mare":27655,"_condition":27656,"ĠStarting":27657,"Mvc":27658,"(pre":27659,"dump":27660,"_LOCK":27661,"atetime":27662,".callback":27663,"ĠCer":27664,"opol":27665,"ibrary":27666,"Ġreservation":27667,"ĉĉĉĉĉĉĉĊ":27668,"lector":27669,"graduate":27670,"Ġgenerous":27671,"Ġion":27672,"ricao":27673,"mq":27674,"_complete":27675,"(cursor":27676,"ĠFormControl":27677,":center":27678,"Ġsubstitute":27679,"ĠPlanning":27680,"Ġpension":27681,"Ġrecommendation":27682,"ĠTags":27683,"Ġgef":27684,"Ġalbums":27685,"Ġwashing":27686,"roc":27687,"Ġtrains":27688,"atings":27689,"Ġexponent":27690,"ackbar":27691,"-ln":27692,"ág":27693,".DataAnnotations":27694,"ĠEIF":27695,"ĠMalaysia":27696,"ĉPORT":27697,"onus":27698,"Ġclever":27699,"Ġpeu":27700,">ĊĊĊĊ":27701,"ĠArguments":27702,"Ġdebugging":27703,"(right":27704,"'D":27705,"compute":27706,"Ġfinest":27707,"ORAGE":27708,"Ġspectacular":27709,"phrase":27710,"Ġindia":27711,"Ġlegendary":27712,"birth":27713,"Ġcomposite":27714,"Ġgrows":27715,"ĠTD":27716,"Ġepid":27717,"Ġlaunching":27718,"]][":27719,"Minutes":27720,"ĠCha":27721,"Ġcleaned":27722,"Ġwitnesses":27723,"ukan":27724,"ĉType":27725,"Ġhabe":27726,"paragraph":27727,"ĠJPanel":27728,"ĠHann":27729,"Ġvaried":27730,"ĠPokemon":27731,"ĠMUST":27732,"åĬ¨":27733,".visibility":27734,"opup":27735,"^[":27736,".expand":27737,"Ġ\"',":27738,".fasterxml":27739,"_auto":27740,"ĠSheet":27741,"marker":27742,"Parcel":27743,"ews":27744,"ĠStrategy":27745,"-making":27746,"Ġunve":27747,"Ġtrailing":27748,"Ġclicks":27749,"ĠGetComponent":27750,"ĉcontent":27751,"IGENCE":27752,"ERNEL":27753,"NSMutableArray":27754,"Ġbreat":27755,"Ġharmful":27756,"¶Ī":27757,"Ġbesides":27758,"Ġboring":27759,"Ġbrutal":27760,"vang":27761,"(parse":27762,"quick":27763,"Ġpytest":27764,"Ġswitching":27765,"()]Ċ":27766,"ĠìĦ":27767,"LER":27768,"ĉfont":27769,"Ġnett":27770,")]ĊĊ":27771,"(/\\":27772,"æŀľ":27773,"toArray":27774,"Ġbreed":27775,"ĠCAR":27776,"ĠWeapon":27777,"Abs":27778,"tot":27779,"ĠsetName":27780,"aptive":27781,"Ġ:,":27782,"Ġescaped":27783,"orden":27784,"ĠPri":27785,"thumbnail":27786,"Ġdescriptions":27787,"/styles":27788,"ĠPCI":27789,"Ġalphabet":27790,"asticsearch":27791,"NOTE":27792,"Ġcialis":27793,"ĠGriff":27794,"Ġporque":27795,"Ġproteins":27796,"plays":27797,"Ġstating":27798,"Ġimagination":27799,"Ġfacial":27800,"ĠMechan":27801,"Ġarranged":27802,"_used":27803,"Ġarrangements":27804,"ĠPipe":27805,"hostname":27806,"Ġprovinc":27807,"Tit":27808,".FlatStyle":27809,"ĠSplit":27810,"ĠLoader":27811,".cc":27812,"Ġclinic":27813,"----------------------------":27814,"Ġbaking":27815,"ĠENT":27816,"neath":27817,"ãĢģĊĊ":27818,"ANE":27819,".EntityFrameworkCore":27820,"appers":27821,".ic":27822,"ĠNgModule":27823,"ĠFORM":27824,"Ġ';":27825,"-profit":27826,"hw":27827,"enemy":27828,"ĠEye":27829,"Ġcaution":27830,"town":27831,"Ġurged":27832,"ĠJimmy":27833,"ynchronous":27834,"-sized":27835,"making":27836,",{":27837,"]',":27838,"_Object":27839,"ahoma":27840,"Ġactivist":27841,"INVAL":27842,"ĠCommercial":27843,"ĠOrlando":27844,"(tab":27845,"Ġب":27846,"Algorithm":27847,"Ġheritage":27848,"GetMapping":27849,"Ġfailures":27850,"rios":27851,"ativa":27852,"Ġtet":27853,"Ġcarpet":27854,"(Z":27855,"three":27856,"Ġdisclosure":27857,".ERROR":27858,"_called":27859,"Ġdial":27860,"Ġoccasional":27861,".Err":27862,"Ġfuncion":27863,"caffold":27864,"Ġreleasing":27865,"ï¼īĊĊ":27866,"_Value":27867,"ĠVari":27868,"yellow":27869,"Ġstruggles":27870,".cal":27871,"ĠDakota":27872,"ĉclose":27873,"Ġsandwich":27874,"Ġanalytics":27875,"Ġ**)":27876,"&#":27877,"ĠJos":27878,"Ġpassive":27879,"ATTR":27880,"Throwable":27881,"ĠMun":27882,"ĠUint":27883,"(disposing":27884,"arak":27885,"ĠLeaders":27886,"Ġaffecting":27887,"ĠitemView":27888,"Ġeconomics":27889,"fv":27890,"à¹Ģ":27891,".rb":27892,"ĠOverall":27893,"Ġwealthy":27894,"Ġevolved":27895,"nda":27896,"ĠHus":27897,"restrict":27898,"umen":27899,"ĠAgricult":27900,"!ĊĊĊ":27901,"Ġexpires":27902,"Ġspokesperson":27903,"interval":27904,"Ġâ":27905,"Ġqueen":27906,"(nil":27907,"ingo":27908,"Heap":27909,"Ùİ":27910,"Ġcomplain":27911,"Sym":27912,"ĠClone":27913,"ĠRu":27914,"ĠWILL":27915,"ĠCrystal":27916,"/content":27917,"ingen":27918,"ointment":27919,"LastName":27920,"avicon":27921,"ĠIBM":27922,"ĠDimension":27923,"anh":27924,"icipants":27925,"ĠAnne":27926,".progress":27927,"Ġalgo":27928,"obil":27929,"ĠVoice":27930,"ĠFE":27931,"Ġgli":27932,"Ġved":27933,"Ġprevents":27934,"\\Column":27935,"Ġfolk":27936,"etti":27937,"Ġmn":27938,"ĠCLASS":27939,"Ġdisplaying":27940,"ĠKl":27941,"ĠFerr":27942,"duto":27943,".ib":27944,"Ġdados":27945,"'name":27946,"-space":27947,"Ġitalian":27948,"Ġinverse":27949,"Ġdense":27950,"uter":27951,"ĠIEnumerator":27952,"-sign":27953,"Ġnationwide":27954,"Ġpersona":27955,"Ġsolved":27956,"Ġdramatically":27957,"Logout":27958,"Ġgrav":27959,"Ġanalyses":27960,"ollo":27961,"Ġlamp":27962,".team":27963,"ĠErot":27964,"=[\"":27965,"Ġdancing":27966,"Ġ?>/":27967,"Ġcater":27968,"ffe":27969,"ĠSha":27970,"ĠBos":27971,"ĠREQUIRE":27972,"ĠMonster":27973,"ĠRB":27974,"ĠIDE":27975,"Ġsuits":27976,"ĠformData":27977,"(theta":27978,"Ġspatial":27979,"=NULL":27980,"ĠSqlConnection":27981,"Ġà":27982,"ĠVenez":27983,"ĠMorning":27984,"Ġpublications":27985,"ĠNONINFRINGEMENT":27986,"firstName":27987,"uds":27988,"Would":27989,"_HEAD":27990,"Ġinvested":27991,"stable":27992,"fred":27993,"Ġcommander":27994,"SES":27995,"âĢĶa":27996,"anche":27997,"ĠMovement":27998,"ë³":27999,"Suite":28000,"Ġjurisdiction":28001,"리":28002,"ĠBeth":28003,"jQuery":28004,"ĠIsa":28005,"Ġdental":28006,",*":28007,"ĠLimit":28008,"iliation":28009,"=\"{":28010,"bast":28011,"Ġturb":28012,"isy":28013,"OOK":28014,"Ġadvocate":28015,"imag":28016,"LECTION":28017,"лÑĮ":28018,"(category":28019,".dec":28020,"Ġuniqu":28021,"_sn":28022,"Ġattracted":28023,"ĠÃī":28024,"ĠRunning":28025,"_edges":28026,"ĠDisable":28027,"_AS":28028,"åĽ¾":28029,"Ġnetworking":28030,"_branch":28031,"Having":28032,"toBeTruthy":28033,"GI":28034,"Ġcamps":28035,"sep":28036,"-part":28037,"Ġ)ĊĊĊĊĊĊĊĊ":28038,"ustralia":28039,"ĠReports":28040,"rito":28041,"Ġwaist":28042,"_plus":28043,"ĠWW":28044,"-person":28045,"April":28046,"Ġsar":28047,".tar":28048,"Ġagricultural":28049,"tic":28050,"Ġtcp":28051,"ĠsetValue":28052,"agento":28053,"ĠAppe":28054,"piler":28055,"CADE":28056,"Ġanche":28057,"atcher":28058,"Ġcomics":28059,"Ġlbs":28060,"_segment":28061,"']=$":28062,"itters":28063,"icher":28064,"GINE":28065,"Ġutilize":28066,"ĠCursor":28067,"_expression":28068,"Ġdag":28069,"x":28257,".Task":28258,"money":28259,"ibaba":28260,"'});Ċ":28261,"ĠSpecific":28262,"ĠLinear":28263,"_OPT":28264,"HashCode":28265,"(Player":28266,".ContainsKey":28267,"Ġcollapsed":28268,"transparent":28269,"_RANGE":28270,"Viewer":28271,"(cfg":28272,"Ġsorting":28273,"Ġinfected":28274,"ĠNach":28275,"Ġaccommodate":28276,".elements":28277,"_PART":28278,"ĠSexy":28279,"=get":28280,"(year":28281,"Ġxhr":28282,":]":28283,"owski":28284,"Ġsummar":28285,"Ġ¿":28286,"Ġinte":28287,"Ġworkflow":28288,"ĠTaiwan":28289,"versions":28290,"åıij":28291,"Ġsurprisingly":28292,"Ġoptical":28293,"Ġproces":28294,"Ġdisagree":28295,"Ġnuevo":28296,"ĠCAM":28297,"sorted":28298,"leases":28299,"istle":28300,"Ident":28301,"ĉevent":28302,"jected":28303,"Chunk":28304,"Vars":28305,".provider":28306,"Ġproceedings":28307,"Ġinclusive":28308,"Ġartwork":28309,"endants":28310,"ï¼ļĊ":28311,"seen":28312,"Ġlig":28313,"Ġmakers":28314,"_fun":28315,"Ġlengths":28316,"PathVariable":28317,"[item":28318,"ี":28319,"Dead":28320,"FFFFFF":28321,"ĠUrban":28322,"uples":28323,"ichen":28324,"(nullptr":28325,".spec":28326,",System":28327,"URATION":28328,"(job":28329,"å¼ı":28330,"Ġtracker":28331,"ÅĻ":28332,"ĠMR":28333,"ĠSQLite":28334,"Ġdto":28335,"Ġ;;Ċ":28336,"Ġmint":28337,"ĠIntroduction":28338,"cao":28339,"Ġquestioned":28340,"Ġfitted":28341,"revision":28342,"sq":28343,"Ġmig":28344,"_units":28345,"_async":28346,"Ġflick":28347,"});ĊĊĊ":28348,"Ġnotre":28349,"}`,":28350,"Filters":28351,"Ġmundo":28352,"_days":28353,"Ġfrm":28354,"utc":28355,"Ġvals":28356,"ewidth":28357,"ĠGenerator":28358,"ĠArtist":28359,"ĠIDs":28360,"ĠArticles":28361,"reater":28362,"ĠComponentFixture":28363,".=":28364,"Ġrou":28365,"-no":28366,".bukkit":28367,"egg":28368,"ĠDiff":28369,"atics":28370,"ÑĥÑĩ":28371,"âĢĶĊĊ":28372,"ĠCharlotte":28373,"bye":28374,"Ġ});čĊčĊ":28375,"ĠVik":28376,"ĠBrow":28377,"Ġlv":28378,"ĠGib":28379,"-wing":28380,"GLIGENCE":28381,"(Il":28382,"ĠEngineer":28383,".Wait":28384,"ĠPictures":28385,"Ġrhet":28386,"Ġthermal":28387,"Ġpraise":28388,"<>();ĊĊ":28389,"ĠSpider":28390,"Pause":28391,"ĠBaker":28392,"Ġslower":28393,"Ġ}]Ċ":28394,"_enqueue":28395,"Ġdisappeared":28396,"ĠTicket":28397,"INUX":28398,"_LOCAL":28399,"аÑģÑģ":28400,"@Injectable":28401,"community":28402,"GestureRecognizer":28403,"åĽ½":28404,"Ġscales":28405,"Ġ-(":28406,"/'+":28407,"ĠSit":28408,"Ġexecutives":28409,"arding":28410,"Ġadvers":28411,"Ġbackwards":28412,"ĉcontext":28413,"ĠHamp":28414,"ĠPF":28415,"ĠDeck":28416,"ĠCraig":28417,"American":28418,"Ġbell":28419,"Ġprol":28420,"ufen":28421,"Ġrng":28422,"arshal":28423,"ĠSimply":28424,"firstname":28425,"shore":28426,"July":28427,"Ġmortality":28428,"ĠâĨĴĊĊ":28429,"Helpers":28430,"Ġbenchmark":28431,"emade":28432,"Ġorganisations":28433,".gson":28434,"ĠTextField":28435,"Ġcivilians":28436,".Arrays":28437,"ĠMississippi":28438,"Ġintermediate":28439,"getUser":28440,"_cluster":28441,"Relative":28442,"foreign":28443,".querySelectorAll":28444,"ForeignKey":28445,"Ġreasonably":28446,"---------Ċ":28447,"Cards":28448,"ĠKam":28449,"ĠThor":28450,"Ġroller":28451,"-element":28452,"ĠCurrency":28453,"ddie":28454,"ALLY":28455,"ĠRA":28456,"Ġpermet":28457,"aaaa":28458,"Ġhomework":28459,"ĠVit":28460,"Ġmold":28461,"ĠFer":28462,"[start":28463,"Ġstatistical":28464,"Ġscary":28465,"_HOME":28466,".Begin":28467,"Construct":28468,"ogenic":28469,"ĠDEALINGS":28470,"Ġtambién":28471,"ixon":28472,".ind":28473,"acre":28474,"Ġtransforms":28475,"ĠNap":28476,".Block":28477,"ussia":28478,"piration":28479,"ulent":28480,"Ġceil":28481,"Clause":28482,"naire":28483,"TES":28484,"Ġneat":28485,"STD":28486,"ĠRegExp":28487,"perform":28488,":)":28489,"Ġunions":28490,"Ġsublic":28491,"Ġwinds":28492,"loating":28493,"glich":28494,"Ġpagination":28495,"Skill":28496,"Apply":28497,"ĠOperator":28498,"istogram":28499,"Ġqualities":28500,"Cross":28501,"Ġdecom":28502,"],\"":28503,"ĠJuan":28504,".modal":28505,".Child":28506,"ĠRoger":28507,"STITUTE":28508,":CGRectMake":28509,"alette":28510,"Ġsta":28511,"aside":28512,"Ġblur":28513,"ĠWa":28514,"ifetime":28515,"reed":28516,"controls":28517,"Ġbins":28518,"Ġпол":28519,"*/,Ċ":28520,"UIS":28521,"ĠRou":28522,"ĠDemo":28523,"-awesome":28524,"ĠChain":28525,"Ġhasta":28526,"ĠBart":28527,".KEY":28528,"Ġvendors":28529,"nofollow":28530,"ĠDest":28531,"_builder":28532,"Ġargues":28533,"_answer":28534,"goto":28535,"ĠRESULT":28536,"ĠMON":28537,"Ġpoder":28538,"oons":28539,"_CASE":28540,"Ġreplic":28541,"Ġfinancing":28542,"ĠDATE":28543,"cern":28544,"_track":28545,"ties":28546,"/logo":28547,"ĠNEGLIGENCE":28548,"getType":28549,">T":28550,"bet":28551,"girl":28552,"ĠINCIDENTAL":28553,"-site":28554,".trigger":28555,"ĠLisa":28556,"_inputs":28557,"Ġrelatives":28558,"LoggedIn":28559,"Configure":28560,"IK":28561,".accept":28562,"Resume":28563,"ĠDraft":28564,"Ġ*>(":28565,"ĠWA":28566,"edian":28567,"erness":28568,"ĠLayoutInflater":28569,"*/čĊčĊ":28570,"othy":28571,"Ġobligation":28572,"Subscribe":28573,"Ġthumbnail":28574,"exist":28575,"Ġinsisted":28576,"ĠUICollectionView":28577,"ĠAngular":28578,"Ġtablets":28579,"ĠImpact":28580,"ãĢįĊĊ":28581,"aho":28582,"Ġcharacteristic":28583,"gd":28584,"Ġ=================================================":28585,"ourt":28586,"`.":28587,"Appro":28588,"Coordinate":28589,"Remember":28590,"Ġmarine":28591,"]=='":28592,"ĠAdministrator":28593,".getDefault":28594,"Ġforgot":28595,"ĠStructure":28596,"Vue":28597,"arsing":28598,"moment":28599,"kw":28600,"_cursor":28601,"Attack":28602,"Ġathletic":28603,"Ġdiagnosed":28604,"Ġende":28605,"åĪłéϤ":28606,"House":28607,"ĠPARAM":28608,"Ġwiki":28609,"ĠOpp":28610,"Ġconservation":28611,"Ġsnd":28612,"_tem":28613,"substr":28614,"ĠCape":28615,".sim":28616,"UTION":28617,"anan":28618,"âĢĻun":28619,"Ġgy":28620,"-work":28621,"Ġcompelling":28622,"='#":28623,"ĉsub":28624,"Ġdirectories":28625,"íĬ¸":28626,"Ġtouches":28627,"outines":28628,".Collection":28629,"schedule":28630,".lat":28631,"ĠDoctrine":28632,"CAA":28633,"ĠRefer":28634,"Ġshifts":28635,"Ġlikelihood":28636,"preter":28637,"ĠFemale":28638,"Ġintercept":28639,"Ġlou":28640,"çĻ»":28641,"Ġrug":28642,"ĠCrown":28643,"Ġ****************************************************************************":28644,"-product":28645,"Ġprompted":28646,"ungle":28647,"docker":28648,"ĠTu":28649,"ĠUnique":28650,"_Error":28651,"ulos":28652,"ĠâĦ":28653,"Ġ(`":28654,"Getting":28655,"_scal":28656,"ĠEnh":28657,"üt":28658,"Ġsustained":28659,"Ġpatches":28660,"Ġprosper":28661,"ĠGaza":28662,"_light":28663,"Ġincons":28664,"--------Ċ":28665,"ĉĉĠĠĠĠĠĠ":28666,"SF":28667,"CN":28668,":\";Ċ":28669,"ĠCollins":28670,"(*)":28671,"Ġcompilation":28672,"']čĊ":28673,"Ġconsequence":28674,",...":28675,"Ġdm":28676,"ĠBLOCK":28677,"Cluster":28678,"Ġski":28679,"(argc":28680,"Tuple":28681,"Ġjoins":28682,"ĠSheriff":28683,"War":28684,"indi":28685,"Ġcommented":28686,"HOST":28687,"Ġinvitation":28688,"apanese":28689,"Ġpermits":28690,"precedented":28691,"_zone":28692,"ĠAmy":28693,"_RD":28694,"Minimum":28695,"Ġinvocation":28696,".enable":28697,"ichten":28698,"-owned":28699,"\"id":28700,"_POINTER":28701,"Fac":28702,"Ġspecifications":28703,"Ġnomination":28704,"Ġgp":28705,"<(":28706,"Ġrobots":28707,"ĠJerry":28708,"Ġholders":28709,"Ġwand":28710,"cms":28711,"Ġ}))Ċ":28712,".Toast":28713,"ĠIList":28714,"Based":28715,"zoom":28716,"/style":28717,"ĠBeck":28718,"Men":28719,"Ġcontributing":28720,"Ġundo":28721,"ĠOH":28722,"ĠaddObject":28723,"Ġeigen":28724,"signup":28725,"éĶĻ":28726,"Ġdistant":28727,"PARATOR":28728,"ĠMari":28729,"Ġmá":28730,"Emp":28731,"ós":28732,"ĠìĪĺ":28733,"evt":28734,"+j":28735,"park":28736,"ĠStay":28737,"ĠDun":28738,"Ġsoy":28739,">%":28740,"azines":28741,"Ġtiempo":28742,"(me":28743,"present":28744,".This":28745,"Ġeditors":28746,"FIELD":28747,".Work":28748,"ĠUniverse":28749,"Ġdrunk":28750,".timer":28751,"Ġaltered":28752,"ĠNar":28753,"ëł¥":28754,".Active":28755,"idor":28756,"çŃ":28757,".deltaTime":28758,"Ġawkward":28759,""":28760,"ĠSafari":28761,"Ġtricks":28762,"MENTS":28763,"division":28764,"Ġvarying":28765,"ĠHighway":28766,"Ġphotographer":28767,"ĠStewart":28768,"Ġlasting":28769,".Pre":28770,".amazonaws":28771,"ĠLuck":28772,".Description":28773,"ĠNaz":28774,"neg":28775,"Ġcó":28776,"<<\"\\":28777,"ĠSurv":28778,"ĠUnc":28779,"Recipe":28780,".BorderStyle":28781,"Ġmodifications":28782,"-at":28783,"ATFORM":28784,"hdr":28785,"ako":28786,"Ġsublicense":28787,"ĠJump":28788,"Ġbeim":28789,"ĠManhattan":28790,".bool":28791,"_hw":28792,"ÑĤÑĮ":28793,"Bin":28794,"Ġgateway":28795,"\"\":":28796,"ĠUIS":28797,":\"+":28798,"-def":28799,"ĠRegular":28800,"/testing":28801,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":28802,"stringstream":28803,"Ġdispar":28804,"Ġmobil":28805,"-read":28806,"ĠAdapter":28807,"ĠChampions":28808,"Ġscheduler":28809,"Ġkills":28810,"ĠMultiple":28811,"irror":28812,"Ġgods":28813,"ADO":28814,"akte":28815,"ĠUsuario":28816,".circular":28817,"Ġrecept":28818,"ĠExpr":28819,"Ġelderly":28820,"Ġnicely":28821,"Ġbeste":28822,"Want":28823,"Ġclassical":28824,".sprite":28825,"objc":28826,"ĠMason":28827,"Ġsistema":28828,".Black":28829,"eso":28830,"ĠZeit":28831,"Ġdivid":28832,"Ġenters":28833,"_subject":28834,"ĠPlanet":28835,".warning":28836,"ĠGram":28837,"_tokens":28838,"Ġhouseholds":28839,"_customer":28840,"userName":28841,"cross":28842,"Ġpione":28843,"Ġassists":28844,"_SM":28845,"ibo":28846,"Ġloyal":28847,"Ġuseless":28848,"#elif":28849,"ĠUltimate":28850,"Come":28851,"gel":28852,"Ġdich":28853,"xyz":28854,"ikel":28855,"obra":28856,"_scan":28857,"ĠInterior":28858,"ĠNice":28859,"Ġplac":28860,"ĉtarget":28861,"Ġviral":28862,"asso":28863,"()/":28864,"unde":28865,"ĠAdobe":28866,"Os":28867,"visited":28868,"ĠOW":28869,"ĠFeed":28870,"ĠSequence":28871,"Ġmanages":28872,"inson":28873,"ĠLouisiana":28874,"{})":28875,"ĠHab":28876,"ĠLD":28877,"Ġbip":28878,"prites":28879,"(elem":28880,".hibernate":28881,"élé":28882,"Ġohne":28883,"_transaction":28884,"Ġannunci":28885,"Published":28886,"ĠHonda":28887,"ĠTam":28888,"ĠPacket":28889,"_selector":28890,"Ġchallenged":28891,"Processing":28892,"-hover":28893,"Ġtrainer":28894,"_cancel":28895,"ĠNSDictionary":28896,"abric":28897,"ĠMLS":28898,"_sensor":28899,"Ġshrink":28900,"ĠFX":28901,"threshold":28902,"ĉHX":28903,"-mark":28904,"`.`":28905,"Scheme":28906,"(full":28907,"_writer":28908,"ĠSys":28909,"Ġfled":28910,"ĠCin":28911,"-widget":28912,"ĠPrevious":28913,"Gender":28914,"_question":28915,"Feed":28916,"Ġscrut":28917,"(prefix":28918,"ãĢĤãĢĤ":28919,"Ġinfections":28920,"Parts":28921,"Ġhierarchy":28922,"_DELETE":28923,"ĠPatient":28924,"_pay":28925,"Ġpromoted":28926,"Ġìĭ":28927,"Ġcivilian":28928,"Ġagriculture":28929,"ĠPiece":28930,"Ġstance":28931,"utsche":28932,"Assign":28933,".ACTION":28934,"Fig":28935,"_radius":28936,"ĠSync":28937,"ducer":28938,"failure":28939,"ensed":28940,"ptime":28941,"BM":28942,"_datetime":28943,"quivo":28944,"QUEUE":28945,"èĢħ":28946,"Appear":28947,"Ġsummit":28948,":void":28949,"Ġvine":28950,"认":28951,"onne":28952,"_TRANS":28953,".green":28954,"_cc":28955,"Ġhungry":28956,"Ġ\">":28957,"());čĊčĊ":28958,"Extract":28959,"izens":28960,"Ġsolver":28961,"Notify":28962,"Ġenglish":28963,"ĠShopping":28964,"interfaces":28965,"REQ":28966,"Ġilleg":28967,"ĠUIImageView":28968,"Ġdisconnect":28969,"ĠUntil":28970,"ĠConservative":28971,"@Column":28972,"Ġshifted":28973,"Ġ:čĊ":28974,"Ġfich":28975,"Ġdla":28976,"Ġshoe":28977,"\"),čĊ":28978,"ularity":28979,"_RESP":28980,"Weather":28981,"UIApplication":28982,".iterator":28983,"Ġaging":28984,".Parent":28985,"owie":28986,"(equal":28987,"ĠConv":28988,"/default":28989,"Ġmeasuring":28990,".prev":28991,".IsValid":28992,".Fat":28993,"ĠsÄĥ":28994,"keywords":28995,"without":28996,"Ġsovere":28997,"Ġexchanges":28998,"Ġmelt":28999,"Ġislands":29000,"ĠIntegr":29001,"Ġjumping":29002,"Ġgle":29003,"Ġjournalism":29004,"Ġdated":29005,"Localized":29006,"ĠRefresh":29007,"Particle":29008,"Ġaa":29009,"ĠSTRICT":29010,"Ġbod":29011,".Process":29012,"_AUTO":29013,"ĠPublished":29014,"every":29015,"Ġtechnological":29016,"lsx":29017,"Ġirrit":29018,"Additional":29019,"Ġdelimiter":29020,"_language":29021,"-area":29022,"boys":29023,"ĠTube":29024,"Ġwat":29025,"Ġmechanics":29026,"_owner":29027,"Spell":29028,"ĠStories":29029,".AppendLine":29030,"TableView":29031,"hem":29032,"stick":29033,"ollower":29034,"IFF":29035,"ĠUV":29036,"ollision":29037,"SUB":29038,"Ġcomparable":29039,"Ġdonde":29040,"sales":29041,"llvm":29042,"Ġ}],Ċ":29043,"OTTOM":29044,"ĠPurpose":29045,"Lab":29046,"Ġinterviewed":29047,"ois":29048,"asil":29049,".setId":29050,"ĠInstruction":29051,"-->":29052,"ĠModified":29053,"ationally":29054,"ĠMeeting":29055,"误":29056,"#region":29057,"Ġrouting":29058,".focus":29059,"ĠYouth":29060,"<":29348,"Ġunto":29349,"ologically":29350,"ĠMul":29351,"VIDIA":29352,"Ġslim":29353,"ĠCommissioner":29354,"(on":29355,"Ġunderneath":29356,"/db":29357,"vote":29358,"(Message":29359,"ĠPope":29360,"Defined":29361,"Ġswift":29362,"urf":29363,"Ġadapted":29364,"SEL":29365,"Ġrevenues":29366,"Ġdivine":29367,"=y":29368,"Gradient":29369,"_act":29370,"Ġ/*!<":29371,"Ġpolygon":29372,"ĠFDA":29373,"ĠCarr":29374,"atables":29375,"(stdout":29376,"Ġrefriger":29377,"Ġcoordin":29378,"avorites":29379,"ÑĪи":29380,"Ġcompassion":29381,"ĠPOSSIBILITY":29382,"-secondary":29383,"uracy":29384,"Ġcompromise":29385,"_AV":29386,"_os":29387,"Ġbeside":29388,"ĥĿ":29389,"Ġln":29390,".plugins":29391,"Capacity":29392,"alah":29393,".bin":29394,"ĠCRC":29395,"_balance":29396,"ĠflexDirection":29397,"Ġambit":29398,"Ġnickname":29399,"ĠForces":29400,"CLE":29401,"ĠShell":29402,"Ġsail":29403,"ĠWriter":29404,"ĠAlice":29405,"dw":29406,"ĠIndians":29407,"ĠMarshall":29408,"_SRC":29409,"Ġnormalized":29410,"ĠJag":29411,"ãĤĴ":29412,"zeit":29413,"rpc":29414,"ÃŃc":29415,".inline":29416,"Ġtravers":29417,"_numeric":29418,"Ġutilities":29419,"Ġevac":29420,"INPUT":29421,"ĉregister":29422,"MX":29423,"ĠCampbell":29424,"Ġdatasets":29425,"Ġdemanded":29426,"ĠinitialState":29427,"gan":29428,"Ġei":29429,"Unexpected":29430,"-web":29431,"trait":29432,",Y":29433,"ĠTodd":29434,"Ġskeleton":29435,"Ġoptimize":29436,"第":29437,"ĠUpon":29438,"ĠStObject":29439,"Ġaplic":29440,".'P":29478,"vron":29479,".UN":29480,"Ġpainter":29481,"izarre":29482,"Ġlav":29483,"Ġpom":29484,"preg":29485,"=function":29486,"(serial":29487,"ifica":29488,"uming":29489,"åľ°":29490,"ãģĤ":29491,"-op":29492,"UCH":29493,"ĠHend":29494,".propTypes":29495,"Ġyo":29496,"Ġroutines":29497,"Ġcaring":29498,"Sem":29499,"Ġreserves":29500,"Ġpriorities":29501,"redits":29502,"ISTR":29503,"ContentType":29504,"ĠSchw":29505,"/media":29506,"Ġestr":29507,"Ġclimbing":29508,"-week":29509,"cherche":29510,"sensor":29511,"ToArray":29512,"ĠMontreal":29513,"Ġclouds":29514,"ĠInjectable":29515,"ĠRice":29516,"Ġpropaganda":29517,"_provider":29518,"Ġindoor":29519,"Ġinaug":29520,"Ġdiplom":29521,"Ġmessaging":29522,"_mut":29523,"å¦Ĥ":29524,"Ġkw":29525,"ONS":29526,"arians":29527,"RPC":29528,")]čĊ":29529,"-ray":29530,"ĠSor":29531,"mall":29532,"Ġmarketplace":29533,"Ġvtk":29534,"Ma":29535,"ogan":29536,"igi":29537,"Ġsponsored":29538,"ĠDani":29539,".SEVER":29540,">'.$":29541,"multipart":29542,"ĠWol":29543,"ĠtableName":29544,"ĠUsername":29545,"BackgroundColor":29546,"Ġfright":29547,"_EMAIL":29548,"September":29549,"_vals":29550,"opia":29551,"Ġspotted":29552,"-Ch":29553,"ĠdataSource":29554,"/\"Ċ":29555,"екÑĤ":29556,"ĠRequestMethod":29557,"ĠReplace":29558,"-do":29559,"ahn":29560,"ĠPhD":29561,"].ĊĊ":29562,"NON":29563,"gement":29564,"ĠThr":29565,"Ġquietly":29566,"Ġtorture":29567,"Ġteas":29568,"ĠCY":29569,"Ġatr":29570,"development":29571,"-detail":29572,"Ġlighter":29573,"Ġarguing":29574,"Ġdeserves":29575,"Ġcurriculum":29576,"_CONTEXT":29577,"ÅĤy":29578,"HITE":29579,"ĉID":29580,"/uploads":29581,"Ġtits":29582,"reo":29583,"_drop":29584,".UTF":29585,"Ġpickup":29586,"Ġgrocery":29587,"ĠPure":29588,"Ġeasiest":29589,"Phil":29590,".feature":29591,"(\"*":29592,"Ġinvestor":29593,"tok":29594,"Ġjar":29595,"Los":29596,"âĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶ":29597,".queue":29598,"-speed":29599,"Mal":29600,"umblr":29601,"ĠCONST":29602,"ĠHRESULT":29603,"ĠDance":29604,"(filePath":29605,"Ġattributed":29606,"à¥į":29607,"ĠBund":29608,"coins":29609,"Ġsão":29610,"Ġpir":29611,"personal":29612,"Ġprelim":29613,"Ġpropose":29614,"ĠTL":29615,"]])":29616,"ĠSubscription":29617,"ĠKre":29618,",len":29619,".FirstOrDefault":29620,")--":29621,"_products":29622,".GetBytes":29623,"Ship":29624,"Ġencrypt":29625,"ĠSG":29626,"ĠMyst":29627,"hir":29628,"Ġiterate":29629,"Ġintend":29630,".mockito":29631,"Ġchapters":29632,"(angle":29633,"ĠVlad":29634,"设":29635,"'.ĊĊ":29636,"ResponseBody":29637,"ĠAbd":29638,"deal":29639,"Ġbarriers":29640,"-outline":29641,"bill":29642,"ĠFalls":29643,"_second":29644,".include":29645,".ceil":29646,"Ġoccupation":29647,"phony":29648,".moveTo":29649,"ĠJennifer":29650,"ASTER":29651,";\"><":29652,"ĠEnabled":29653,"Ġterminate":29654,"ĠIo":29655,"lations":29656,"ĠTHEORY":29657,"Ġearliest":29658,"Ġrack":29659,"ĠScar":29660,"shake":29661,"chip":29662,"Ġuv":29663,"Ġalliance":29664,"пиÑģ":29665,"ĠGOODS":29666,"zione":29667,"ĠVI":29668,"Ġ{-":29669,"Ġfiltering":29670,"Ġmiscon":29671,".DockStyle":29672,"Ġbush":29673,"Ġjunk":29674,"æĮ":29675,"ĠQUE":29676,"Ġhooks":29677,"Ġfirmware":29678,"Ġmiddleware":29679,"dic":29680,"ĠOakland":29681,"Ġarrives":29682,"Payload":29683,"pixel":29684,"]|":29685,"ĠstartDate":29686,".PRO":29687,"_audio":29688,"Ġmidfield":29689,"igidbody":29690,"ĠSwiss":29691,"ĠClip":29692,"ĠDump":29693,"ĠTextBox":29694,"Ġgeh":29695,"yield":29696,"ods":29697,"Ġreferendum":29698,"Backend":29699,"ĠCream":29700,"Ġdominated":29701,"ĠArchive":29702,"Ġriders":29703,".prepareStatement":29704,"Ġquando":29705,"Ġchef":29706,"wiki":29707,"inel":29708,"ampling":29709,"(\"\\\\":29710,"Ġsag":29711,"_proxy":29712,"ãģķ":29713,"pdo":29714,".getElementsByTagName":29715,"Ġdemonstration":29716,"ĠNPC":29717,"Ġarchivo":29718,"endance":29719,"Ġefficiently":29720,"(actual":29721,".tableView":29722,"Ġmush":29723,"Ġbears":29724,"_threads":29725,"jas":29726,"ahun":29727,"Ġneural":29728,"Ġdesigning":29729,"ĠGDP":29730,"Ġlifted":29731,"缮":29732,"ĠJoint":29733,"ĠInclude":29734,"ĠGiants":29735,"Ġwithdrawal":29736,"ĠRent":29737,"native":29738,"ĠSeek":29739,"gression":29740,"_CPU":29741,"\\S":29742,"ĠShield":29743,"Ġsolic":29744,"Ġboom":29745,"yecto":29746,"Ġmanufacture":29747,"ĠâĢĭ":29748,"Ġbbox":29749,"Ġearthqu":29750,"ollectors":29751,":@\"%":29752,"Ġloops":29753,"Je":29754,"alking":29755,"ĠWhats":29756,"ĠBoys":29757,".book":29758,"ARGE":29759,"_pixel":29760,"Ġsuspects":29761,"ι":29762,"usp":29763,"ĠBMW":29764,"ieces":29765,"(person":29766,"å¼Ģ":29767,"é»":29768,"ĠPodcast":29769,"Ġbou":29770,"(Item":29771,"û":29772,"(Input":29773,"HttpGet":29774,"Ġburg":29775,")^":29776,"BOARD":29777,"*/,":29778,"Ġgulp":29779,"ĠBenn":29780,"Ġdecks":29781,".statusCode":29782,"Ġacute":29783,"Ġhug":29784,"ugu":29785,"Ġpled":29786,",\"%":29787,"hape":29788,"Ġзап":29789,"ĠMaine":29790,".real":29791,"Ġdalam":29792,"ĠMinor":29793,".Float":29794,"disp":29795,"Ġtl":29796,"Ġencount":29797,"=>$":29798,"Ġfg":29799,"tees":29800,"ĠRecomm":29801,"äl":29802,"Ġchemistry":29803,"Blocks":29804,"OID":29805,"Ġforex":29806,"ĠAppend":29807,"Ġ{*":29808,"ĠSupply":29809,"CGFloat":29810,"(bl":29811,"Ġate":29812,"adora":29813,"Ġgust":29814,"Associ":29815,">.Ċ":29816,"FETCH":29817,".serial":29818,"widgets":29819,"ardless":29820,"iefs":29821,"_FULL":29822,"ernetes":29823,"ĠPred":29824,"ØŃ":29825,"äºĭ":29826,"ubernetes":29827,"ĠLaura":29828,"Ġlabeled":29829,"Highlight":29830,"Ġannoying":29831,"/update":29832,"(description":29833,"Ġintimid":29834,"$c":29835,"\")))Ċ":29836,".AP":29837,"Ġ[]*":29838,"ĠEXIT":29839,".Host":29840,"ĠOPEN":29841,".sendMessage":29842,"_camera":29843,"_tile":29844,"Ġtherm":29845,"onomous":29846,"Ġdisadv":29847,"Ġnaar":29848,"indexOf":29849,"ĠPP":29850,".protocol":29851,"AFE":29852,"Ġtextures":29853,"################################################":29854,"umbai":29855,".stats":29856,"ĠGE":29857,"Ġie":29858,"ĠSTD":29859,"ĠMann":29860,".reflect":29861,"KB":29862,"Ġdive":29863,".wav":29864,"/*----------------------------------------------------------------":29865,"/settings":29866,".lifecycle":29867,"Ġdaughters":29868,"orus":29869,"uber":29870,"NING":29871,"stri":29872,"ĠTip":29873,"Ġzn":29874,"Ġswitched":29875,"inet":29876,"uffy":29877,"ĠTransportation":29878,"(conf":29879,"frica":29880,"ĠXL":29881,"ĠLead":29882,"_percent":29883,"__":29899,"permissions":29900,"ĠDetermine":29901,".Man":29902,"Ġadvances":29903,".InputStream":29904,"Ġstrongest":29905,"ĠeBay":29906,"Ġ#-":29907,"Ġdirname":29908,"ĠSMS":29909,"Ġmedications":29910,"Ġamended":29911,"Ġchurches":29912,"ĠImperial":29913,"$row":29914,"ĠMadison":29915,"ĠInsp":29916,"Ġaffair":29917,"Ġpsychology":29918,"vh":29919,"Ġseverity":29920,"âĢIJ":29921,"Ġstrips":29922,"AH":29923,"vertising":29924,"Ġconse":29925,"IMAGE":29926,"ĠStats":29927,"ĉsc":29928,".Cursor":29929,"Ġfreeze":29930,"sson":29931,"(xml":29932,"ĠSusan":29933,".tile":29934,"eded":29935,"ĠĠĠĠĉĉĉ":29936,"uelle":29937,"ĠMitchell":29938,"based":29939,"Operand":29940,"½æķ°":29941,"ĠFF":29942,"ĉstrcpy":29943,"ounces":29944,"ildo":29945,".executeQuery":29946,"Ġapproaching":29947,"ĠSeven":29948,"Ġnuts":29949,"Ġric":29950,"assignment":29951,"Ġcalculator":29952,"ĠMurphy":29953,"ĠBou":29954,"íĦ":29955,"Ġbutt":29956,"Ġticks":29957,"Projects":29958,"ilib":29959,".textColor":29960,"mov":29961,"_logo":29962,"(template":29963,"ĠINIT":29964,"ĠimageView":29965,"scriptions":29966,"ORITY":29967,"Consumer":29968,"Ġunprecedented":29969,"Ġtourist":29970,"Ġbron":29971,"Ġcontractor":29972,"Ġlicence":29973,"ĠNam":29974,"æ¯":29975,"(transform":29976,"_ATT":29977,"Pref":29978,"ĠGam":29979,"Ġvessels":29980,"Ġhav":29981,"Later":29982,".ToLower":29983,"Ġurls":29984,"Ġbreakdown":29985,"Ġpenalties":29986,"Ġfoster":29987,"ĠUE":29988,"Ġclue":29989,"comed":29990,"åIJįç§°":29991,"-main":29992,"Ġpts":29993,"Ġcounted":29994,"icts":29995,"/post":29996,"Ġgetattr":29997,"Ġping":29998,"ANCEL":29999,"Ġpec":30000,"Ñħод":30001,"antom":30002,"ĠBlueprint":30003,"ĠEventEmitter":30004,"Ġlä":30005,"æ²":30006,"Ġstraw":30007,"(comp":30008,"'une":30009,">N":30010,"-client":30011,"esModule":30012,"-base":30013,"Ġretreat":30014,"_simple":30015,"ĉĉĉĉĉĉĠ":30016,"fee":30017,"')čĊčĊ":30018,"ControlItem":30019,"Ġsubscribers":30020,"please":30021,"ĠEff":30022,"Ġpound":30023,"ĠBytes":30024,"ĠTea":30025,"_activity":30026,"Ġmaxim":30027,"Ġopcode":30028,"BSD":30029,".constant":30030,";}":30031,"ombres":30032,"Ġcareers":30033,").ĊĊĊĊ":30034,"Ġspreading":30035,"-expanded":30036,"ĠOrd":30037,"amarin":30038,"Ġmobility":30039,"Unfortunately":30040,"akk":30041,"NL":30042,"_redirect":30043,"ĠPG":30044,"ĠSensor":30045,"bol":30046,"tap":30047,"_MEMORY":30048,"ĠUIAlert":30049,"plitude":30050,"Website":30051,"ĠLogo":30052,"love":30053,"[ind":30054,"Ġaltogether":30055,"Ġwondered":30056,"Ġesper":30057,"ĠLiberal":30058,"Ġoss":30059,"Ġelit":30060,"Ġstiff":30061,"odox":30062,"_mentions":30063,"ĠDouglas":30064,"_pid":30065,"ĠCK":30066,"ĠinitWithFrame":30067,".blog":30068,"pkg":30069,"anghai":30070,"QUIRED":30071,"uu":30072,"Ġmkdir":30073,"ATAL":30074,"Ġunh":30075,"inces":30076,"sth":30077,"Ġhypothesis":30078,"Ġcata":30079,"ĠTB":30080,"ĠClar":30081,"Ġpredecess":30082,"Ġsituated":30083,"-world":30084,"))/":30085,"Ġheadlines":30086,".stat":30087,"Ġoutbreak":30088,"spath":30089,"_FLAGS":30090,"ĠServletException":30091,"Sun":30092,"FROM":30093,"ĠDir":30094,"ãĥ»ãĥ»ãĥ»":30095,"_coord":30096,"ĠOptim":30097,"Monitor":30098,".bit":30099,"XXX":30100,"Ġtodas":30101,"feld":30102,"ÑĢи":30103,"imir":30104,"Ġpolitically":30105,"Ġmolecular":30106,"Ġtraded":30107,"Ġ{{$":30108,"ĠSwedish":30109,"Ġ'@/":30110,"_REAL":30111,"Ġwarehouse":30112,"today":30113,",L":30114,"orp":30115,"false":30392,"Ġspa":30393,"ĠNear":30394,"ìķ":30395,"Ġintrig":30396,"_members":30397,"wave":30398,"Ġanalysts":30399,"_OS":30400,"edin":30401,"ĠFri":30402,"Ġretrieved":30403,"Regular":30404,"_obs":30405,"EXPORT":30406,"')}}\"":30407,"\"class":30408,"__((":30409,"bucket":30410,"Ġstro":30411,"ĠPatch":30412,"ystick":30413,"fulness":30414,"apos":30415,"Da":30416,"ĉĉĉĉĉĠĠĠ":30417,"Ġenrich":30418,"unordered":30419,"hole":30420,"Cong":30421,"';ĊĊ":30463,"STRUCT":30464,"QR":30465,"IDs":30466,"(arguments":30467,"_aux":30468,"(Event":30469,"_PRIVATE":30470,"ĠTrek":30471,"Ġdownloads":30472,"mutable":30473,"_STRUCT":30474,"(wx":30475,"Ġdomains":30476,"jspx":30477,"ĠViagra":30478,"Commands":30479,"Js":30480,".cfg":30481,"ContentPane":30482,"ĠEditText":30483,"à¥įà¤":30484,"Attach":30485,"ĠARM":30486,"positive":30487,"ĠGenerated":30488,"Ġseized":30489,"=:":30490,"Ġelectronics":30491,"ĠAppComponent":30492,"/',Ċ":30493,".equalsIgnoreCase":30494,"Doctrine":30495,"disk":30496,"ĠPolitical":30497,"CHO":30498,"":30584,"ĠBeauty":30585,"Ġ`<":30586,"Ġtouching":30587,"Ġ|--":30588,"ĉflag":30589,"normalize":30590,"Ġtrapped":30591,"Ġestablishing":30592,"/build":30593,"AJ":30594,"fy":30595,"-react":30596,"avn":30597,"RIPTION":30598,"Ġkut":30599,"ĠFashion":30600,"ĠInform":30601,"curities":30602,"{Ċ":30634,"Ġgarlic":30635,"Ġrepr":30636,"Ġreplies":30637,"(prop":30638,"Ġspirits":30639,"Ġinspire":30640,"Ġbasement":30641,".reject":30642,"Ġhints":30643,"Ġpolling":30644,"ĉĠĊ":30645,"_rating":30646,"Ġcath":30647,"avier":30648,"Ġcompressed":30649,"ĠVS":30650,"]'":30651,"Ġjudicial":30652,"ĠTrend":30653,"training":30654,"ESTAMP":30655,"ognition":30656,"Äģ":30657,"SENT":30658,"ventions":30659,"Ġconsultant":30660,"umph":30661,"ĠuserService":30662,",NULL":30663,"kh":30664,"Dear":30665,"_BAD":30666,"itations":30667,"Ġmetaph":30668,"'é":30669,"andise":30670,"-font":30671,".chart":30672,"Ġsg":30673,"_Controller":30674,".jpeg":30675,"ĠULONG":30676,"ĉgame":30677,"(ss":30678,"ĠMaj":30679,"ĉgo":30680,"ĠSad":30681,"ĠBerg":30682,"ĠMine":30683,"Pack":30684,"Ġresistant":30685,"ĠROM":30686,"Ġpeg":30687,"ĠStanford":30688,"ĠYahoo":30689,"Ġscaled":30690,"Ġlan":30691,"=[]":30692,"\"/>ččĊ":30736,"Ġsud":30737,"ĉbackground":30738,"Ġscholars":30739,"-muted":30740,"ará":30741,"Ġ=====":30742,"Ġ____":30743,"Creat":30744,"enever":30745,"/wp":30746,"ĠVPN":30747,"ErrorCode":30748,")],Ċ":30749,"(builder":30750,"ĠEnemy":30751,"Sensor":30752,"usa":30753,"Ġtriggers":30754,"Ġplayoffs":30755,"_REQ":30756,"Ġ(~":30757,"ĠBarry":30758,"Ġpermanently":30759,"ĠRUN":30760,"Ġbure":30761,".Fatalf":30762,"Ġchick":30763,"ĉpanic":30764,"psi":30765,"oka":30766,"éĢī":30767,">[":30768,"Ġunderstands":30769,"ĠJunior":30770,"ĠINFO":30771,"=mysqli":30772,"ustain":30773,"-source":30774,"serv":30775,"ĠCREATE":30776,".au":30777,"Ġsells":30778,"ĠĠĊĠĠĊ":30779,"Europe":30780,"zw":30781,"preh":30782,"ĠNSA":30783,"Ġxy":30784,"ิ":30785,"ĠBeyond":30786,"Instead":30787,"NonQuery":30788,"Ġarise":30789,"Ġavoided":30790,".emplace":30791,"_models":30792,"}),Ċ":30793,"Ġhid":30794,"Ġ&_":30795,".points":30796,".getWidth":30797,".Exec":30798,"Ġ////":30799,"ĠSessions":30800,"...\\":30801,"ĠColomb":30802,"Ġacceleration":30803,"restore":30804,"Ġile":30805,"obic":30806,"}Ċ":31296,"plaint":31297,"getText":31298,"Ġindividually":31299,"Ġcheckbox":31300,"UY":31301,"ĠLamb":31302,"Ġdysfunction":31303,"ĠLar":31304,"à°":31305,"ĠCreating":31306,"');ĊĊĊ":31307,"\"They":31308,"locations":31309,"_CORE":31310,"Interaction":31311,"umbnails":31312,"ĠPartner":31313,"brit":31314,"Ġlesser":31315,"ĠSlot":31316,"setAttribute":31317,"ĠWave":31318,".po":31319,"/store":31320,"Ġbrowsing":31321,"_pd":31322,"sume":31323,"sed":31324,"Curve":31325,"Ġplasma":31326,"Ġsuspicious":31327,"ìĿ¸":31328,"ĠBah":31329,"ĠExplicit":31330,"_CC":31331,".ClientSize":31332,"\\View":31333,"Ġsubstit":31334,"loon":31335,"ĠGAME":31336,"ĠBrid":31337,"Ľå»º":31338,"_User":31339,"Ġsquares":31340,"fone":31341,"Ġsacred":31342,"ughs":31343,"]interface":31344,"ĠThrow":31345,"ĠKirk":31346,"Ġempire":31347,"Ġassessed":31348,"Tax":31349,"ĠHeaven":31350,"-buffer":31351,"_STATIC":31352,"éné":31353,"-bordered":31354,"Ġpunct":31355,"(mode":31356,"Ġkeine":31357,"Sent":31358,"ĠCalcul":31359,"ĠEve":31360,"Ġstylish":31361,"Ġoils":31362,".TestCase":31363,"Ġtrademark":31364,"Ġliterary":31365,"Ġconcentrations":31366,"ĠRelations":31367,"(Class":31368,"Ġstdin":31369,"Ġvæ":31370,"backup":31371,".VERSION":31372,".AutoScaleDimensions":31373,"starter":31374,"Transactional":31375,"-panel":31376,"Studio":31377,"kc":31378,"ĠChamber":31379,"ĠSpiel":31380,"Ġrho":31381,"اÙĦ":31382,"!'":31383,".Attributes":31384,"Ġmurdered":31385,"apeutic":31386,"Ġintimate":31387,"ĠtextField":31388,"ĠBuffalo":31389,"dummy":31390,"\"%":31391,"ĠLiberty":31392,"obar":31393,"ĠTank":31394,"ĠPopular":31395,"ervisor":31396,"ĠIniti":31397,"ĠMall":31398,"ĠPrior":31399,"CAP":31400,"ĠClay":31401,"ĠCertificate":31402,".Lock":31403,"-strip":31404,"-driven":31405,"/all":31406,"ĠMessageBoxButtons":31407,"_SECRET":31408,"_pb":31409,"Ġrats":31410,"ाà¤":31411,"Ġnt":31412,".Router":31413,"_topic":31414,"Ġtennis":31415,"ĠPUBLIC":31416,"ĠActivatedRoute":31417,"Ġ',Ċ":31418,"Ġcostume":31419,"Ġjokes":31420,".Handle":31421,"ĉbyte":31422,"Ġflavors":31423,"(cc":31424,"Ġpersonas":31425,"ĉimage":31426,"ĠNazi":31427,"Ġgrammar":31428,"Ġúlt":31429,"Ġvalve":31430,"Ġvic":31431,"ĠRachel":31432,"_invalid":31433,"Prefs":31434,"stdint":31435,"(route":31436,"Ġhtmlspecialchars":31437,"Ġpeoples":31438,"pline":31439,"Ġnv":31440,"ĠQuant":31441,"oppers":31442,"ĠcurrentUser":31443,"ĠCatal":31444,"Ġreconc":31445,"Ġconjunction":31446,"lx":31447,"amburg":31448,"Ġinfluential":31449,"danger":31450,"inders":31451,"Ġ%@\",":31452,".configuration":31453,"osome":31454,".identity":31455,"Ġpicker":31456,"nost":31457,"ĠDIY":31458,"August":31459,"ablo":31460,"Leaf":31461,"ĠReco":31462,"cko":31463,"DOC":31464,"ĠHerm":31465,":any":31466,"ĠInterview":31467,"ĠTex":31468,"xfe":31469,"(work":31470,"Ġleap":31471,"Heading":31472,"Ġquarters":31473,"\\Bundle":31474,"reb":31475,"Perhaps":31476,"ĠGmbH":31477,"Birth":31478,"ĉsum":31479,"ĠWatson":31480,".nil":31481,"ç¡":31482,"{}ĊĊ":31483,"icaid":31484,"Getter":31485,"\"name":31486,"Ġ\"čĊ":31487,"_none":31488,"zm":31489,"acute":31490,"uesto":31491,"Ġsous":31492,"Ġrebuild":31493,"Ġnewspapers":31494,"ĠHaz":31495,"Ġkits":31496,"ifo":31497,"Blur":31498,"Ġsuited":31499,"-In":31500,"à¯":31501,"ĠKeith":31502,"ĠNorway":31503,"INIT":31504,"ireccion":31505,"ieties":31506,"_usage":31507,"ĠDoug":31508,"rise":31509,"Ġtrillion":31510,"imited":31511,"ĠREL":31512,"alic":31513,"Ġcriticized":31514,"theorem":31515,"Ġcease":31516,"Ġsidew":31517,"ĠTerry":31518,"Ġsubsidi":31519,"Ġfirmly":31520,"Ġaws":31521,"Ġhott":31522,"Ġdressing":31523,"badge":31524,"ĠApplications":31525,"è¿ĶåĽŀ":31526,"Ġlaughed":31527,"Ġhobby":31528,"Ġmusicians":31529,"Ġ*.":31530,".placeholder":31531,"Ġcounters":31532,"ĠCapitol":31533,"SDK":31534,"Ġhelmet":31535,"andbox":31536,"quit":31537,"Ġcriminals":31538,"Ġteenager":31539,"(update":31540,"Gl":31541,".selection":31542,"Ġdischarge":31543,"Ġpresenting":31544,"ufacturer":31545,"_UNKNOWN":31546,"Ġstressed":31547,"åύ":31548,"Proto":31549,"_correct":31550,"haus":31551,"Ġrenov":31552,"Ġfirearms":31553,"Ġtechnically":31554,"-browser":31555,"Ġcandy":31556,"Stroke":31557,"Ġexecutor":31558,"Ġoccurrence":31559,"ĠIPv":31560,"_INTERFACE":31561,"ĠRetrieve":31562,".bad":31563,"Exchange":31564,"Navbar":31565,"ĠKid":31566,"(getApplicationContext":31567,"_STOP":31568,"ĠBoss":31569,"Listeners":31570,"Ġshooter":31571,"ĠAlb":31572,"äch":31573,"Ġpix":31574,".keyCode":31575,"alone":31576,"Ġabsurd":31577,"ĠCum":31578,"ĠNewtonsoft":31579,"ikt":31580,"Ġlaughing":31581,"Ġcapitalism":31582,"reeNode":31583,"Tx":31584,"_QUERY":31585,".Sleep":31586,"(login":31587,"WebElement":31588,"Ġcelebrating":31589,"Ġdeprecated":31590,"Ġmaar":31591,"Ġartistic":31592,"_ASSOC":31593,"ĠBorderRadius":31594,"ĉwp":31595,"Ġsurvivors":31596,"Inner":31597,"-red":31598,"Ġprosecution":31599,"_pp":31600,"(\"$":31682,"Ġcomma":31683,"unchecked":31684,"graphics":31685,"rors":31686,"GROUND":31687,"(public":31688,"Ġcustomized":31689,"ĠArkansas":31690,"ĠRew":31691,"Ġexpiration":31692,"×ķ":31693,"ĠCul":31694,"Ġnons":31695,".Filter":31696,"Ġsenator":31697,"_definition":31698,"ashington":31699,"ymph":31700,"/J":31701,"Ġfuse":31702,"ramid":31703,"ĠSupplier":31704,"Ġautocomplete":31705,"Ġ}),":31706,".\"ĊĊĊ":31707,"_functions":31708,"ĉto":31709,".eval":31710,"ĠTObject":31711,"References":31712,"Ġheated":31713,"HAL":31714,"Ġ))}Ċ":31715,"}$":31716,"ĠBarr":31717,"_UNIT":31718,"+$":31719,"ĠgetValue":31720,"iped":31721,"chied":31722,"(vm":31723,"cue":31724,"_integer":31725,"_course":31726,"third":31727,"Ġrevised":31728,"**/Ċ":31729,"_DIRECT":31730,"OutOf":31731,"(\"(":31732,"ĠFeel":31733,"Ġreass":31734,"Ġsubtitle":31735,"peri":31736,"nf":31737,"Ġenjoys":31738,"Ġtreats":31739,")this":31740,"-tabs":31741,"ancers":31742,"Ġcontinent":31743,"Ġcardio":31744,"Ser":31745,".question":31746,"Ġphrases":31747,"Validators":31748,"Ġpopul":31749,"ĠlÃŃ":31750,"song":31751,"_INTERNAL":31752,"Ġadviser":31753,"Ġpuzz":31754,"Ġambitious":31755,"ĠTob":31756,"ĠDP":31757,"Ġpresidency":31758,"Ġsurrender":31759,"Ġwatches":31760,"_binary":31761,"ĠSoon":31762,"Ġcanada":31763,"(\"\")Ċ":31764,"]='":31765,"ĠBrandon":31766,"epsilon":31767,"rw":31768,".addChild":31769,".Copy":31770,"Principal":31771,"Photos":31772,"Ġmarginal":31773,"Ġbasics":31774,"eing":31775,"Must":31776,"_String":31777,"Ġole":31778,"Magento":31779,".customer":31780,"(prev":31781,"ล":31782,"Ġloyalty":31783,"Cog":31784,"Ġprotocols":31785,"ĠCompanies":31786,"Ġtheoretical":31787,"Ġaccessing":31788,"ĠZen":31789,".ones":31790,"attice":31791,"_world":31792,"zes":31793,"Ġtattoo":31794,"Ġmenos":31795,"Ġintersect":31796,"\"];ĊĊ":31797,"belie":31798,"Ġinactive":31799,".readline":31800,"-labelled":31801,".done":31802,"lickr":31803,"ĠWORK":31804,"Ġderivative":31805,"Ġdatabases":31806,"âĤĤ":31807,"Ġsx":31808,".isArray":31809,"Ġys":31810,"Ġpada":31811,"ĠBullet":31812,"(`/":31813,"isActive":31814,"ĠCGSize":31815,"(equalTo":31816,"ĠColumbus":31817,"Ġmarry":31818,"DEV":31819,"_limits":31820,"rones":31821,"IAS":31822,"Ġtau":31823,"mino":31824,"_Write":31825,"ĠWine":31826,"Ġ[['":31827,"ĠPull":31828,"riters":31829,"rients":31830,"Ġshifting":31831,"upp":31832,"_TIMER":31833,"ĠConditions":31834,"ấ":31835,"ĠOrders":31836,"ĠStrength":31837,"æīĢ":31838,"Ġvalidity":31839,"Ġfot":31840,"etur":31841,"Ġbolt":31842,"åĨħ":31843,"ĠAlong":31844,"oshi":31845,"Ġassumptions":31846,"Ġmagazines":31847,"_SPI":31848,"Ġpunt":31849,"_PRODUCT":31850,"Ġrelay":31851,"ĠJavascript":31852,".te":31853,"-es":31854,"Ġwidgets":31855,"(fs":31856,"\";":31923,"atching":31924,"ĠKnowledge":31925,"ĉThe":31926,";margin":31927,"lessness":31928,"opard":31929,"umatic":31930,"()));čĊ":31931,"Ġfals":31932,"(cache":31933,"TypeId":31934,"éĢļ":31935,"_choice":31936,"ĠGoth":31937,"ĠSites":31938,"MG":31939,"_border":31940,"Indices":31941,"Comparer":31942,"ĠRedistribution":31943,"Ġcloset":31944,"Ġversatile":31945,"Inputs":31946,"********************":31947,"Ġobesity":31948,"quiz":31949,"gra":31950,"(global":31951,"åĬ¡":31952,"Ġcollector":31953,"Ġkor":31954,"ovable":31955,"ADC":31956,"ĠEventHandler":31957,".nc":31958,"Ġplayback":31959,"ientos":31960,"_perm":31961,"_WARNING":31962,"ĠOlympics":31963,".norm":31964,"ĠBroadcast":31965,"_small":31966,"drive":31967,".iloc":31968,"Ġtyped":31969,"MEM":31970,"_cons":31971,"DMETHOD":31972,"Ġlun":31973,".distance":31974,"(par":31975,"poon":31976,"Ġbast":31977,"activities":31978,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":31979,":čĊčĊ":31980,"SER":31981,")&&":31982,"_lst":31983,"ĠPolish":31984,"Ġknocked":31985,"Ġfrustration":31986,"aukee":31987,"Ġphosph":31988,"iquid":31989,"_coeff":31990,"æŃ¤":31991,"Latest":31992,"ĠDust":31993,"Tipo":31994,"Ġmaintains":31995,"Ġmarsh":31996,"incinn":31997,"lbl":31998,"Care":31999,"Ġneighborhoods":32000,"_gpio":32001,"ĠArsenal":32002,"Dem":32003,"ĠWhe":32004,"_hook":32005,"Ġldc":32006,"ĠHarper":32007,"ĠBerkeley":32008,"Ġgraduated":32009,"Percent":32010,"Ġarriving":32011,"ĠAdventure":32012,"(scope":32013,"('*":32014,"quarter":32015,"ĠMarie":32016,"Speaking":32017,"_codegen":32018,"Ġimmun":32019,"caster":32020,"ãĤĮ":32021,"åķĨ":32022,"ĠDimensions":32023,".record":32024,"Ġtexto":32025,"ĠMichelle":32026,"Pending":32027,"(by":32028,"_PAR":32029,"ucht":32030,"bee":32031,".Thread":32032,"ampire":32033,"know":32034,"ĠClinical":32035,"ĠmarginBottom":32036,"Ġdistinguish":32037,".Full":32038,".undefined":32039,"ĠSequelize":32040,"############################################################################":32041,"Ġeducated":32042,"_OVER":32043,"åºı":32044,"ĠÂłĠÂł":32045,"_each":32046,"Ġurge":32047,"depart":32048,"Ġdonors":32049,"ĠAu":32050,"Ġbillions":32051,"Ġbelonging":32052,"_age":32053,"_Int":32054,"Ġsubstances":32055,"machine":32056,"!!!ĊĊ":32057,"Ġjsonify":32058,"ibbean":32059,"ĠCad":32060,"ĠendTime":32061,"Ġcycling":32062,"ĠUITextField":32063,"Ġleverage":32064,"Ġvanilla":32065,"eat":32066,"Launch":32067,"(pt":32068,"states":32069,"ĠControls":32070,"ĠRespons":32071,"ĠJake":32072,"Ġasleep":32073,"fortunate":32074,".nextLine":32075,"SizeMode":32076,"ìĿ¼":32077,"TestingModule":32078,"German":32079,"ĠInvestig":32080,".reverse":32081,"ĠBACK":32082,"(DateTime":32083,"Ġnonprofit":32084,"ĠExpect":32085,"Ġtanto":32086,"']),":32087,"ĉthe":32088,"Multiple":32089,"(getActivity":32090,"_WAIT":32091,"Ġjá":32092,"decor":32093,"levance":32094,"ĠGitHub":32095,"mination":32096,"_quantity":32097,".Scanner":32098,"ĠLion":32099,"éĶĻ误":32100,"Ġdre":32101,"Ġtantra":32102,"ĠcontentType":32103,"Ġfid":32104,"_alt":32105,"NSIndexPath":32106,"-pl":32107,"åĮĸ":32108,"Ġantibiot":32109,"tables":32110,"acial":32111,"ĠRegistry":32112,"Ġolive":32113,"igers":32114,"Ġsubscriber":32115,"_pres":32116,"ĠSyntax":32117,"Ġlovers":32118,".Byte":32119,"olders":32120,"_forward":32121,"always":32122,"Caption":32123,"Priv":32124,"ĠTampa":32125,"isateur":32126,"-labelledby":32127,"ĠToString":32128,"ĠìĤ¬":32129,"Ġinitiated":32130,"WF":32131,"Ġinstitutional":32132,"inject":32133,"ĠScr":32134,"Ġdoctrine":32135,"Ġspacious":32136,"isure":32137,"ĠAna":32138,"\"time":32139,"essaging":32140,"Ġcid":32141,"ĠNan":32142,"Ġincomplete":32143,"TAG":32144,"-build":32145,"December":32146,"Ġresidual":32147,"(PDO":32148,"ĠListen":32149,"Ġglyph":32150,"Ġgaps":32151,"nea":32152,".Rect":32153,"Ġsau":32154,"ĠPhotograph":32155,"Ġexecutable":32156,"ĠExpert":32157,"Coroutine":32158,"_sizes":32159,"ĠNL":32160,".isValid":32161,");}Ċ":32162,"-reg":32163,"Ġciting":32164,"cwd":32165,"ĠOttawa":32166,"ĠBatt":32167,"Ġrenewable":32168,"Ġpreliminary":32169,"Ġasylum":32170,"Ġwrist":32171,"Ġutiliz":32172,"Ġdetention":32173,"Fast":32174,"Ġange":32175,"incinnati":32176,"Ġsteering":32177,"ĠNaN":32178,"iosity":32179,"/page":32180,"Ġè¿":32181,"sterol":32182,"Ġdisg":32183,"(DB":32184,"ĠDESCRIPTION":32185,"Ġ_$":32186,"Ġobstacle":32187,"Ġbizarre":32188,"Ġextraction":32189,"_expected":32190,"Ġloses":32191,"ĠCelebr":32192,"ĠhtmlFor":32193,"Ġexploit":32194,"олÑĮзов":32195,"XYZ":32196,"Ġmagnet":32197,"amped":32198,"Ġatoms":32199,"Sources":32200,"pectives":32201,"Ñģли":32202,"Ġ=čĊ":32203,"Ġdare":32204,"ĠWalter":32205,"Ġbrightness":32206,"Ġannotations":32207,"ëı":32208,"iske":32209,"Schedule":32210,".images":32211,"rosso":32212,"Ġ\"..":32213,"gamma":32214,"Ġinstructor":32215,"Ġoverwrite":32216,"-am":32217,"Ġdevastating":32218,"ĠSaints":32219,"Ġhs":32220,"Ġbonuses":32221,"$output":32222,"ijd":32223,"(ActionEvent":32224,"monitor":32225,"Ġmattress":32226,"January":32227,".jp":32228,"Ġcaracter":32229,"Ġimpose":32230,"_rest":32231,"ĠSignature":32232,"Ġcoronavirus":32233,"ãģĬ":32234,"_compare":32235,"Measure":32236,"itated":32237,"elijk":32238,"igos":32239,"esar":32240,"Ġrushed":32241,"metry":32242,"_SEPARATOR":32243,"_WE":32244,"_ATTRIBUTE":32245,"Ġyaml":32246,"Ġspecs":32247,"ĠRah":32248,"pheric":32249,"ĠInvestment":32250,"äll":32251,"Ġappealing":32252,"Ġviewport":32253,"ç©":32254,"ĠmarginLeft":32255,"Ġsubtract":32256,"ĠEDIT":32257,"ĉArrayList":32258,"grading":32259,"ĠFailure":32260,"asper":32261,"EEK":32262,"(now":32263,")Ċ":32279,"Collision":32280,"ĠGreater":32281,"ĠRacing":32282,"alan":32283,"Ġmonetary":32284,",new":32285,"ĠSorry":32286,".Enable":32287,"ĠInstantiate":32288,"ollen":32289,"ë©´":32290,"ĠCalling":32291,"_hour":32292,"ADA":32293,"Ġshy":32294,")**":32295,"Ġ==>":32296,"Ġespecial":32297,"Ġinterpreted":32298,"!=\"":32299,"Ġpharmacy":32300,".single":32301,"ĠCialis":32302,"Ġparas":32303,".toUpperCase":32304,"ĠDemon":32305,"Prime":32306,"Ġrankings":32307,"Adding":32308,"_HASH":32309,"ĠExam":32310,"Ú©":32311,"ĠVictor":32312,"Okay":32313,"\"];čĊ":32314,"Ġfortune":32315,"ĠFETCH":32316,"expand":32317,".Interop":32318,"Ġbarn":32319,"æ¶Ī":32320,"uevo":32321,"Ġspeculation":32322,"âĶĢâĶĢâĶĢâĶĢ":32323,"ĠNu":32324,"ĠBlues":32325,"(fname":32326,"Ġinhabit":32327,"Ġ\\\"%":32328,"CES":32329,"ulario":32330,"_cr":32331,"Ġvalidated":32332,"Ġmidnight":32333,"anking":32334,"Ġincorporate":32335,"Ġpursuit":32336,"EXP":32337,"prime":32338,"Pid":32339,"-US":32340,"ĠNurs":32341,"ĠWheel":32342,"éĺ":32343,"Ġinp":32344,"Ġsupportive":32345,".member":32346,"ĠShot":32347,".CheckBox":32348,"Ġaffirm":32349,"Tor":32350,"FullYear":32351,"Ġconsiderably":32352,"credentials":32353,"_opts":32354,"Roll":32355,"(round":32356,"Ġcoment":32357,"_UART":32358,"Ġextending":32359,"RG":32360,"resultado":32361,"itu":32362,".getSession":32363,"Ġattraction":32364,"&D":32365,"$html":32366,"ĠJessica":32367,"ĠAssociate":32368,"añ":32369,"_ed":32370,"ĠLag":32371,"Ġorigins":32372,"())->":32373,"addEventListener":32374,"IALOG":32375,"åIJ¦":32376,".Compare":32377,"Album":32378,"ĠKu":32379,"\";ĊĊ":32423,"quisite":32424,"channels":32425,"/res":32426,"ĠAnalytics":32427,".appcompat":32428,"/to":32429,"ĠonError":32430,"(attr":32431,"IRM":32432,"Ġragaz":32433,"-as":32434,".Second":32435,"oriented":32436,"Ġdonn":32437,"Ġlightning":32438,"fid":32439,"ĠPle":32440,"ãģ¾ãģĻ":32441,"tro":32442,".True":32443,"Observable":32444,"×Ļ":32445,"umbing":32446,"Ġprospective":32447,"-filter":32448,"Ġpursuant":32449,"(points":32450,".Bind":32451,"Ġpalm":32452,"clearfix":32453,"ös":32454,"ĠGonz":32455,"Ġweaken":32456,"Drive":32457,"enido":32458,"lld":32459,"obox":32460,"anean":32461,"Got":32462,"ä¿Ŀ":32463,"Regex":32464,"æĥ":32465,"Ġsalad":32466,"assis":32467,"\"net":32468,"inheritDoc":32469,"ĠRV":32470,"quier":32471,"Ġclazz":32472,"Ä±ÅŁ":32473,"osterone":32474,"Ġairline":32475,".listdir":32476,"Ġdownloading":32477,"ĠPalm":32478,"waukee":32479,"<":32480,".BL":32481,"_INLINE":32482,"offs":32483,"<<(":32484,"_news":32485,"Ġchase":32486,"/><":32487,"Ġeuros":32488,"ĠEgyptian":32489,"ĠStainless":32490,"_BOOL":32491,"ĠGuild":32492,"ĠDynam":32493,"[indexPath":32494,"Ġï":32495,"Ġmemorable":32496,"ĠChampion":32497,"ResourceManager":32498,".Login":32499,"ĠFormer":32500,"yped":32501,"Ġlleg":32502,";\",":32503,"DWORD":32504,"Ġtaxi":32505,"Ġbombs":32506,"rah":32507,".tags":32508,"_tests":32509,"stones":32510,"âĢĿ)":32511,"[g":32512,"rtype":32513,"Ġvu":32514,"Ġhostile":32515,"Chars":32516,"ĠPatriots":32517,"/status":32518,"());Ċ":32872,"ajÄħ":32873,"_OCC":32874,"Ġplanets":32875,"æŁ¥":32876,"ĠDublin":32877,"Ġserie":32878,".printf":32879,"deep":32880,"`)":32881,"Ġ\\$":32882,"Ġμ":32883,"_VIDEO":32884,"endors":32885,"ĠCrypto":32886,"Far":32887,".Transparent":32888,".TR":32889,"iasm":32890,"_training":32891,"Ġteaches":32892,"ĠBelt":32893,"Ġlimiting":32894,"ĠKath":32895,"ĠIndexPath":32896,"Ġachievements":32897,"Ġserá":32898,"interopRequire":32899,"Ġdisse":32900,".If":32901,"arming":32902,"ulsion":32903,"Po":32904,"_DETAIL":32905,"Prototype":32906,"ĠCAL":32907,"Ġagrees":32908,".vo":32909,".ExecuteNonQuery":32910,"ĠTopic":32911,"Ġ'{}":32912,"Arm":32913,"Ġecc":32914,"Mag":32915,"Ġserialized":32916,"ĉconn":32917,"cached":32918,"=tf":32919,"ĠByteArray":32920,"protobuf":32921,"varchar":32922,"ĉASSERT":32923,"Ġliste":32924,"_trigger":32925,"·¸":32926,"Feel":32927,"Tahoma":32928,"ĠLik":32929,"Ġstructured":32930,"ergus":32931,".Initial":32932,"_ge":32933,"cljs":32934,".contact":32935,"Ġandere":32936,"$stmt":32937,"_CURRENT":32938,"ĠDiscover":32939,"$res":32940,"formatter":32941,"Ha":32942,"vangst":32943,"Ġemerge":32944,"ãĢĤâĢĿ":32945,"ĠCabinet":32946,"-square":32947,"éĥ¨":32948,"Ġrage":32949,"ĠAJ":32950,"ĠVT":32951,"shadow":32952,"ĠFaith":32953,"enames":32954,"pretty":32955,"hasil":32956,"party":32957,"Ġvarchar":32958,"Ġfotos":32959,"Ġalum":32960,"ĠBelgium":32961,".ylabel":32962,"Ġdej":32963,"_numbers":32964,"Ġhu":32965,".setAdapter":32966,"ĠUsually":32967,"(sample":32968,".Shared":32969,"Ġbooked":32970,"Ġ>>=":32971,"Ġminerals":32972,"\">":32991,"prog":32992,"boo":32993,"_md":32994,"_pack":32995,"(express":32996,"utz":32997,"\\Auth":32998,",id":32999,"ĠChile":33000,"actice":33001,"Ġrecruitment":33002,"Ġposes":33003,"Ġvulnerability":33004,"instanc":33005,"orum":33006,"dess":33007,"Ġxl":33008,"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%":33009,"(fig":33010,"Ġdeleting":33011,".del":33012,")')Ċ":33013,"ĠWeekly":33014,"???":33015,"(strcmp":33016,"smith":33017,"Ġpursuing":33018,"-so":33019,"ĠApps":33020,"/'Ċ":33021,"Ġdecis":33022,"FORE":33023,"Everyone":33024,"Ġlanes":33025,"Virtual":33026,".attach":33027,"(Log":33028,"ĠMedicaid":33029,"(Path":33030,"ĠTurner":33031,"/application":33032,"Ġportrait":33033,"Ġoppose":33034,"checkout":33035,"Ġfinishes":33036,"_ME":33037,"Barrier":33038,"Song":33039,"VAR":33040,"Earlier":33041,"rella":33042,"Ġhast":33043,"azar":33044,"Ġpulls":33045,"ngx":33046,"Ġinspiring":33047,"ÑĥÑİ":33048,"-direction":33049,"Ġexplosive":33050,"ĠcreatedAt":33051,"sto":33052,"Ġwheat":33053,"ĠBuilt":33054,"'ai":33055,"Ġtracked":33056,"hammad":33057,"RowAtIndexPath":33058,"_heap":33059,"Due":33060,"Ġconnects":33061,".publish":33062,"emu":33063,"Ġbullets":33064,"BAR":33065,"olate":33066,"Ġinternally":33067,"Ġcatching":33068,"-password":33069,"ouched":33070,"æĢ§":33071,"eous":33072,"Ġxrange":33073,"Quality":33074,"vv":33075,"Manage":33076,"(($":33077,"acements":33078,"ĠBrothers":33079,"ĠHEAD":33080,"ĠUnsupported":33081,"san":33082,"esi":33083,"***Ċ":33084,"Ġadaptation":33085,"ĠWorker":33086,"']/":33087,".savefig":33088,"(trans":33089,"ج":33090,"nee":33091,"Correct":33092,"...\")Ċ":33093,"Ġsubmitting":33094,"-path":33095,"ĉlast":33096,"issan":33097,".xlabel":33098,"ĠSepar":33099,"/no":33100,"_best":33101,"ĠMills":33102,"_sock":33103,"(flag":33104,"Ġdestinations":33105,"emption":33106,"ĠFAIL":33107,"åĴĮ":33108,"Ġrp":33109,"fact":33110,"ĉlen":33111,"DAY":33112,"Ġseiz":33113,"_dst":33114,"lip":33115,".Linear":33116,"ĠBasket":33117,"$t":33118,"$i":33119,"-brand":33120,"ĠNeil":33121,"ĠEq":33122,"Ġthou":33123,"ogene":33124,"Ġscholarship":33125,"æĽ´":33126,"Ġswo":33127,"aginator":33128,"eni":33129,"(book":33130,"Ġblink":33131,"thus":33132,"ĠcancellationToken":33133,"ĠPalestinians":33134,"Ġprofitable":33135,"Ġbackpack":33136,"enson":33137,"true":33284,"ĠNYC":33285,"Ġbored":33286,"ĠDetect":33287,"Ġappar":33288,"Ġjeans":33289,"ĠTak":33290,"IOD":33291,"ĠHorse":33292,"(FILE":33293,"(?":33294,"rique":33295,"optimizer":33296,"nat":33297,"loys":33298,"ĉToken":33299,"oubted":33300,"uess":33301,"ocoa":33302,"DataMember":33303,"_POWER":33304,"classList":33305,"PushButton":33306,"ĠWiFi":33307,".Stream":33308,".guild":33309,"Ġnog":33310,"ĠPortugal":33311,"ĠUnter":33312,"Primitive":33313,"boss":33314,"ĠDeutsch":33315,"Ġerotic":33316,"Ġstrconv":33317,".TryParse":33318,"Ġgrams":33319,".Success":33320,"_pk":33321,"ĠHarvey":33322,"-minded":33323,".country":33324,"[]\"":33325,"Ġangel":33326,"Ġbeats":33327,"ĠVor":33328,"ilio":33329,".master":33330,"something":33331,"ĠPACK":33332,"(if":33333,"RequestBody":33334,"Ġantes":33335,"/widget":33336,"Ġmodo":33337,"ĠAW":33338,"finder":33339,"Ġoptimized":33340,"Ġmissiles":33341,"NB":33342,"ĉinternal":33343,"tex":33344,"ĠSri":33345,"Ġdamaging":33346,"ĠMais":33347,"-Allow":33348,"ĠZh":33349,"-alt":33350,"Ġ));ĊĊ":33351,"èī":33352,"Ġinfluences":33353,"Ġcatal":33354,"_REGISTER":33355,"ĠAPIs":33356,"-century":33357,"Ġbiology":33358,"ĠActual":33359,"Ġheels":33360,"TRACE":33361,"_DIG":33362,"Dataset":33363,"ĠMatter":33364,"Ġclassifier":33365,".wikipedia":33366,"ĠRogers":33367,"Ġdonated":33368,"rawler":33369,"enen":33370,"Ġcasinos":33371,"ortal":33372,"Ġprive":33373,"spe":33374,"ducers":33375,".ep":33376,"Ġgrasp":33377,"acji":33378,"Ġdairy":33379,"Ġbuses":33380,".comm":33381,".ins":33382,"ĠIRS":33383,"ĠBeer":33384,"adc":33385,"oard":33386,"_MET":33387,"Ġ'+'":33388,"rans":33389,"Ġkinda":33390,"ĠâĶĤ":33391,"ĠMaur":33392,"аг":33393,"Ġbandwidth":33394,"ibus":33395,"ĠDifferent":33396,"(mat":33397,"ĠResume":33398,"_UNS":33399,"establish":33400,"Ġfonction":33401,"Subscription":33402,"_company":33403,"Ġlightly":33404,".confirm":33405,".yaml":33406,"ĠBoost":33407,"Commerce":33408,"-template":33409,"_DELAY":33410,"ĠHI":33411,"Ġnavig":33412,"(Sender":33413,"ĠHS":33414,"_\"+":33415,"ĠREQUEST":33416,"Ġwifi":33417,"=\"\"Ċ":33418,"])->":33419,"Ġrope":33420,"Ġviolated":33421,"Ġglance":33422,"ĠKurd":33423,"Ġè®":33424,"deck":33425,"ĠISBN":33426,"Ġinfect":33427,"ĠFoo":33428,"Ġgetter":33429,"Ġtener":33430,"appe":33431,".hh":33432,"_hot":33433,"\".$":33643,"Ġrelies":33644,"(Console":33645,"International":33646,"->{$":33647,"Mid":33648,"Ġdissert":33649,"dds":33650,"Ġdeposits":33651,"ĉdriver":33652,"#ga":33653,"prising":33654,"println":33655,"Ġpresenter":33656,"Ġmines":33657,"CSS":33658,"ĠDual":33659,"(!(":33660,"Ġkam":33661,"ĠisLoading":33662,"ĠProtect":33663,".upper":33664,"arium":33665,"]:ĊĊĊ":33666,"Yii":33667,"-shirt":33668,"ĠIMAGE":33669,"_colors":33670,"Ġurgent":33671,".Container":33672,"!(Ċ":33673,"Saturday":33674,"Ġsocieties":33675,"ĠThan":33676,"ĠCod":33677,"=@":33678,"Ġattachments":33679,".mobile":33680,"Ġspite":33681,"Ġbounce":33682,"rawl":33683,"instancetype":33684,"ĠTruck":33685,"Ġmanipulation":33686,"(Config":33687,"-inst":33688,"Ġstor":33689,"itution":33690,"PreferredGap":33691,"ĠmainAxisAlignment":33692,"Ġlistened":33693,"'''ĊĊ":33694,"ottage":33695,"-project":33696,".APPLICATION":33697,"ĉroot":33698,"Ġwhit":33699,"Ġbilder":33700,"Ġker":33701,"Ġappliances":33702,"rowave":33703,"ìĿĢ":33704,"ematics":33705,"ĠOrg":33706,"oping":33707,"_SEARCH":33708,"Ġcham":33709,"addContainerGap":33710,"Ġ().":33711,"ĠArrow":33712,"Illegal":33713,"Currently":33714,"Ġusa":33715,"Ġpasswords":33716,"Ġrenown":33717,"avern":33718,"ĠEvil":33719,"Ġconcat":33720,"Ġduo":33721,"Ġvale":33722,"ĠBean":33723,"Ġindicators":33724,"cmath":33725,"ĠPump":33726,"November":33727,"ificant":33728,"_DOMAIN":33729,"regar":33730,"ĠPortal":33731,"\"$":33732,"Ġformerly":33733,"\"]:Ċ":33734,"ĠVisibility":33735,".getElementsByClassName":33736,"_RED":33737,"Ġchampions":33738,"à´":33739,"Valor":33740,"_es":33741,"*a":33742,"-repeat":33743,"Band":33744,".stage":33745,"Ġbureauc":33746,"Cnt":33747,"eten":33748,"-function":33749,"Ġmuito":33750,"PID":33751,"_editor":33752,"Ġcrashed":33753,"dead":33754,"kat":33755,"agh":33756,"ĠEXT":33757,"asser":33758,"-small":33759,"Ġrealiz":33760,"(Entity":33761,"ús":33762,"ĠActually":33763,"ĠElite":33764,"Ġhelm":33765,"(nonatomic":33766,"asher":33767,"Community":33768,"alleng":33769,"iry":33770,"ĠGrowth":33771,"Ġsue":33772,"Ġfrequencies":33773,"_descriptor":33774,".Attribute":33775,"Ġrecipients":33776,"_NS":33777,"/\"+":33778,"iban":33779,"Ġathlete":33780,"ĠIgn":33781,"_DMA":33782,"(ds":33783,"ĠRequirements":33784,"ADI":33785,"erez":33786,"\\Admin":33787,"braska":33788,"ĠRust":33789,"Relation":33790,"COD":33791,"ĠVERSION":33792,"emma":33793,")){":33794,".Duration":33795,"ĠCamb":33796,"-logo":33797,"Ġreadable":33798,"Ġcreators":33799,"()];Ċ":33800,"UpDown":33801,"-half":33802,".getMonth":33803,"(sf":33804,"Pic":33805,"Ġhunger":33806,".tx":33807,"Ġexceeded":33808,"_seed":33809,"(^":33810,"_sk":33811,".perform":33812,"Ġ>::":33813,"Ġmongo":33814,"=float":33815,"bindParam":33816,"Smart":33817,"ifa":33818,"Ġsecurities":33819,"Ġprejud":33820,"Ġ,\"":33821,"Ġcorps":33822,"Ġvra":33823,"amacare":33824,"iterr":33825,"(Media":33826,"uche":33827,"Ġcob":33828,"Ġliber":33829,".geometry":33830,"Locator":33831,"Ġsliding":33832,"Ġsurgical":33833,"_CUR":33834,"Ġconsect":33835,"[*":33836,"ĠResort":33837,"Stub":33838,"_DOUBLE":33839,"ĠSoph":33840,"Ġelectoral":33841,"_disable":33842,"ĠÑģо":33843,"ĠLightning":33844,"Ġmentions":33845,"ocy":33846,"Ġleaked":33847,"Ġrelaxing":33848,"Presenter":33849,"vsp":33850,"Ġguilt":33851,"=-=-":33852,".reply":33853,"ĠMirror":33854,"Camp":33855,"Ġ+#+#+#+":33856,"Ġ+#+#+#+#+#+":33857,".Author":33858,"Ġdirective":33859,"-hook":33860,"íĦ°":33861,"}ĊĊĊĊĊ":33862,"@pytest":33863,"_rand":33864,"mis":33865,"Ġcolorful":33866,"uje":33867,"lasses":33868,"ĠClasses":33869,".have":33870,"%),":33871,"é¢ĺ":33872,"Ġdisturbing":33873,"substring":33874,"ĠKoh":33875,"Invest":33876,"purchase":33877,"Ġrecycling":33878,"ĠART":33879,"ierarchy":33880,"Ġfps":33881,".checkBox":33882,"íķ´":33883,"_material":33884,"ducation":33885,"Ġfw":33886,"udit":33887,"Ġreviewing":33888,"ĠSid":33889,"Syntax":33890,"ĠWritten":33891,"argar":33892,"UME":33893,"/q":33894,"Classifier":33895,"Official":33896,"Ġjazz":33897,"Ġomega":33898,"Physics":33899,"Ġlugar":33900,"_accessor":33901,".commands":33902,"Ability":33903,"ĠBatch":33904,"RAM":33905,"Ġencounters":33906,".Qu":33907,"BYTE":33908,"ĠDistribution":33909,"Ġuso":33910,"ĠRecovery":33911,"approved":33912,"Ġdenial":33913,"/share":33914,"LinkedList":33915,")čĊčĊčĊ":33916,"uddy":33917,"Ġfines":33918,"Ġry":33919,"Unicode":33920,"ĉrender":33921,"Ġpremises":33922,"Ġpon":33923,"aliases":33924,"/Foundation":33925,"cuda":33926,"ĠCock":33927,",:)":33928,"(folder":33929,"Ġméd":33930,"drag":33931,"Ġtalents":33932,"ĠĠĠĊĊ":33933,"еÑģÑĤв":33934,"mob":33935,".yml":33936,"Ġaster":33937,"Ġdiscre":33938,"goal":33939,"ĠGTX":33940,"ĠSUCCESS":33941,"ĠLONG":33942,"(find":33943,"Ġsingular":33944,"_sz":33945,"ĠEthereum":33946,"..Ċ":33947,"Ġirres":33948,"')){Ċ":33949,"Ġministers":33950,"Steps":33951,"iversal":33952,"ĠNevertheless":33953,"-led":33954,"Ġ(%)":33955,"ç¡®":33956,"Ġtimezone":33957,"Ġstranger":33958,"(render":33959,"Ġshutil":33960,"Ġmph":33961,"Ġtrio":33962,"ppy":33963,"Ġpredomin":33964,"Ġendors":33965,"ĠRussians":33966,"ĉrow":33967,"Ġwizard":33968,".serialize":33969,"Ġcomplained":33970,"Ġsido":33971,"Ġdelighted":33972,"-me":33973,"ĠRav":33974,"Human":33975,"adays":33976,"recv":33977,"Working":33978,"Jump":33979,"ĠÃ¥r":33980,"ĠAutomatic":33981,"_Base":33982,"æł¼":33983,"aurants":33984,"¯":33985,"æ¸":33986,"(CType":33987,"IFI":33988,"(amount":33989,"Ġbelieving":33990,"=mysql":33991,"Ġfir":33992,"Ġrestoration":33993,"ereco":33994,"Т":33995,"_'+":33996,"Ġebook":33997,"Ġdebris":33998,"(inputs":33999,"AYOUT":34000,"Ġscreaming":34001,"avia":34002,"lander":34003,"Ġdistress":34004,"Ġassembled":34005,"ĠAvoid":34006,"(thread":34007,"ĠRPC":34008,"_EXIT":34009,"(queue":34010,"иÑģÑĤ":34011,"Dll":34012,"Ġskull":34013,"_pub":34014,"chez":34015,"minate":34016,"ensen":34017,"Ġinsane":34018,"bounds":34019,"ĠRosen":34020,"Ġconditioning":34021,"processed":34022,"videos":34023,"four":34024,".Conv":34025,"|;Ċ":34026,"Personal":34027,"cerpt":34028,":UIControlStateNormal":34029,"Ġdoses":34030,"ĠKarl":34031,"ĠFrequ":34032,".BASE":34033,"ĠVote":34034,"Ġconcurrent":34035,"ĠMessageBoxIcon":34036,"ĠÃĸ":34037,"ĠDubai":34038,"ĠRetail":34039,":number":34040,"ĠObserver":34041,"ĠBigInteger":34042,"_origin":34043,"_WORK":34044,"Frames":34045,"Ġnotably":34046,".âĢľ":34047,"Ġtropical":34048,"Ġniche":34049,"amina":34050,".sys":34051,"(tokens":34052,"modify":34053,"osit":34054,"strom":34055,"ĠComics":34056,"OPTION":34057,"Ticket":34058,"Ġfactories":34059,"Ġdisput":34060,"_File":34061,"ĠFinn":34062,"eee":34063,"ĠDiscord":34064,"_money":34065,".tpl":34066,"_safe":34067,"LB":34068,"Ġglut":34069,"JK":34070,".flow":34071,"-cont":34072,"gos":34073,"Ġhorizon":34074,"ĠRush":34075,"::*":34076,"Pipe":34077,"ulla":34078,"borough":34079,"heimer":34080,"(move":34081,"(Text":34082,"});čĊčĊ":34083,"welcome":34084,"ĠComponents":34085,"Ġgovernance":34086,"closed":34087,"ĉmargin":34088,"Ġlaundry":34089,"ĠTerminal":34090,"izards":34091,".âĢĶ":34092,".remote":34093,".radius":34094,"ĠQuebec":34095,"Ġdh":34096,"Tech":34097,"ĠMist":34098,"seller":34099,"_literal":34100,"Ġgenius":34101,"Ġbrains":34102,"gem":34103,"ĠMeasure":34104,"Ġcatast":34105,"rance":34106,".TextField":34107,"Ġconsuming":34108,"Ġ'\\''":34109,"oubtedly":34110,"ĠCertain":34111,"Ev":34112,"erti":34113,"being":34114,"Experience":34115,"Ġ//[":34116,"ĠArabic":34117,"ĠCrist":34118,"ĠAzure":34119,"Ġhora":34120,"ladesh":34121,"\\Blueprint":34122,"dar":34123,".rel":34124,"Ġsuprem":34125,"ĠReagan":34126,"ĠAttributes":34127,"-sidebar":34128,"ĠuseStyles":34129,"ĠAirlines":34130,"Ġhills":34131,"/xhtml":34132,"vinc":34133,"_mock":34134,"ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ":34135,"ĠPill":34136,".LayoutStyle":34137,"ĠCommander":34138,"]<":34139,"signature":34140,"Ġ{}čĊ":34141,"Ġhatred":34142,"Ġëĭ":34143,"olesterol":34144,"Ġ********":34145,"ancellor":34146,"crop":34147,"TIM":34148,"ĉĉĊĊ":34149,"ysqli":34150,"uitive":34151,"ĉunset":34152,"_sel":34153,"Ġmenus":34154,"tick":34155,"Ġconstitute":34156,"ĠElements":34157,"ĠRedis":34158,"aggio":34159,"_fp":34160,"_depend":34161,"emas":34162,"CAST":34163,"orange":34164,"jon":34165,"ĠEmily":34166,"Ġpotatoes":34167,"Ġreceptor":34168,"ĠElectronic":34169,"ĠLights":34170,"Ġcombining":34171,"ĠSomeone":34172,"Ġ########.":34173,"ĠTOD":34174,"/show":34175,"Xd":34176,".\"'":34177,"afx":34178,"Ġtragic":34179,"Styled":34180,"ĠMarco":34181,"Gallery":34182,"dale":34183,".âĢĿĊĊĊĊ":34184,"érie":34185,"/service":34186,"äºĨ":34187,"Ġambient":34188,"_SETTINGS":34189,".Adapter":34190,"lene":34191,"Ġtravels":34192,"Notice":34193,"Ġcleans":34194,"ĠFem":34195,"chair":34196,"Ñĥн":34197,"/my":34198,"_bad":34199,"ĠEconomics":34200,"ISA":34201,"_CNT":34202,"(Menu":34203,"äºİ":34204,"ĠRidge":34205,"Ġlengthy":34206,"Dot":34207,"Ġjumps":34208,"Ġhey":34209,"$pdf":34210,"Ġworm":34211,"Ġsut":34212,"Ġsher":34213,"iamo":34214,"ĠCalc":34215,"trieve":34216,"Ġcops":34217,"ĠChrom":34218,"Ġregulated":34219,"reatment":34220,"ĠHigher":34221,"oks":34222,"Ġdeze":34223,"LOCATION":34224,"ongsTo":34225,"Ġfinite":34226,"Ġvaries":34227,"Ġpositioned":34228,"'il":34229,"éĩij":34230,"Ġhike":34231,"(done":34232,"playlist":34233,"Ġada":34234,"Ġcoastal":34235,"ĠNancy":34236,".DateTimeField":34237,"CppCodeGen":34238,"ĠSimilarly":34239,"reur":34240,"ĠContr":34241,"ĠHidden":34242,"ĠBeta":34243,"atched":34244,"_install":34245,".Output":34246,"Lookup":34247,"ĠRichmond":34248,"quared":34249,"Ġmanga":34250,"-controls":34251,"ĠBernard":34252,"Large":34253,"Ġslices":34254,"Ġoffence":34255,"ĠMega":34256,"Ġestar":34257,"Ġjoints":34258,"Ġsumm":34259,"_platform":34260,"Buff":34261,".addSubview":34262,"Ġretained":34263,"Letter":34264,".dim":34265,"Ġessere":34266,"ĠScaffold":34267,"EXPECT":34268,"ĉRE":34269,".longitude":34270,"ünd":34271,"Ġstatue":34272,".addWidget":34273,"ĠCaribbean":34274,"addPreferredGap":34275,"ilde":34276,"UILabel":34277,"ĠOpport":34278,"Ġimperial":34279,"ursion":34280,"Ġmandate":34281,"Ġpromotional":34282,"Ġvk":34283,"iaÅĤ":34284,"Ġpyl":34285,"ĠCreation":34286,"озд":34287,"Ġsimpler":34288,".what":34289,"ĠRecent":34290,"Storm":34291,".quantity":34292,"ĠLov":34293,"\"-":34294,"ubbles":34295,"_notification":34296,"(world":34297,"urger":34298,"*(-":34299,":\"Ċ":34300,"hm":34301,"anship":34302,"ĠAlmost":34303,"Ġmotorcycle":34304,"_fee":34305,"Ġabsorb":34306,"ĠVincent":34307,"Ġsounded":34308,"ÃŃst":34309,"Ġpharmaceutical":34310,"htag":34311,"ĠKindle":34312,"italize":34313,"ĠEmperor":34314,"oustic":34315,"Ġspecialists":34316,"åħ¬":34317,"BorderStyle":34318,"/\\":34319,"RELATED":34320,"(',',":34321,"(expr":34322,"Ġht":34323,"åįĪ":34324,"_Create":34325,"Ġspecially":34326,"Ġ[];čĊ":34327,"Ġheel":34328,"Ġsept":34329,"_arch":34330,"(initial":34331,"%.ĊĊ":34332,"\\\",\\\"":34333,"Ġdiscusses":34334,"Ġupt":34335,"Ġ[&":34336,"Ġmanus":34337,".hand":34338,"ĠMAIN":34339,"ĠDenmark":34340,"Ġ],čĊ":34341,"Ġcryst":34342,"Ġnack":34343,"Coords":34344,"_inner":34345,"Ġmidst":34346,"Ġawake":34347,"ĠÐŀ":34348,"-break":34349,"ÃŃvel":34350,"_PASS":34351,"ĠParams":34352,"Ġdetr":34353,"Ġspider":34354,"ĠConcept":34355,"Ġprend":34356,"CHED":34357,".Exit":34358,"Ġpopulated":34359,"Ġvirtue":34360,"_SESSION":34361,"Ġnouvel":34362,"oauth":34363,"ĠданнÑĭ":34364,"rink":34365,".HeaderText":34366,"aturated":34367,"Ġerst":34368,"Ġåħ":34369,"à¥ĩ":34370,"_visible":34371,"eyer":34372,"Ġliable":34373,"Ġdebe":34374,"Ġbw":34375,"{-#":34376,"_WIN":34377,"dfs":34378,"Hover":34379,"ĠPUT":34380,"-angle":34381,"Ġnoble":34382,"Ġtraces":34383,"encv":34384,"ĠuserData":34385,"_ins":34386,"ĠSuz":34387,"Ġnewsletters":34388,"ĠModi":34389,"Ġentrepreneurs":34390,"Ġtribute":34391,"Ġrumors":34392,"Ġrr":34393,"ĠQuarter":34394,"ê³ł":34395,"Ġfeeds":34396,"óg":34397,"Ġenvelope":34398,"Ġlear":34399,"Ġkø":34400,"developer":34401,"Similar":34402,":\")Ċ":34403,"subscription":34404,"Modifier":34405,"italic":34406,"Ġnasty":34407,"Ġtermination":34408,"Ġcharming":34409,"ĠâŁ":34410,"tons":34411,".trace":34412,"hots":34413,"ĠUR":34414,"Mont":34415,"Ġjustified":34416,"ĠGang":34417,"inea":34418,"Ġbog":34419,"(ap":34420,"_$":34421,"Ġcontamin":34422,".Dot":34423,"ĉDebug":34424,"(exports":34425,"Ġpaired":34426,"ĠAssignment":34427,"Ġautomobile":34428,"ĵį":34429,"Ġphases":34430,"vw":34431,"@SuppressWarnings":34432,"=\\":34433,"rant":34434,"-ed":34435,"ĉawait":34436,"Ġcertificates":34437,"'>\"":34438,"Ġintact":34439,"CTRL":34440,"Mike":34441,"gregation":34442,"ATTERN":34443,"Ġrepublic":34444,"_upper":34445,"iliary":34446,"Ġcomputation":34447,"hire":34448,"ĠShin":34449,"_ANY":34450,"ĠManufacturer":34451,"ĠCarm":34452,"Ġbearings":34453,"_comb":34454,"cad":34455,"uristic":34456,"Ġwholesale":34457,"Ġdonor":34458,".interfaces":34459,"presso":34460,"ĠBrun":34461,"-close":34462,"prove":34463,"_SK":34464,"ĉframe":34465,"etros":34466,"ĠPain":34467,"_EXP":34468,"ĠLT":34469,"_fs":34470,".datas":34471,"ĉss":34472,"voir":34473,"ĠAxis":34474,"Major":34475,"=\"<":34476,"[h":34477,"Ġprofess":34478,"igrate":34479,"(score":34480,"Keyword":34481,"\"os":34482,"ĠĠĠĠĉĊ":34483,"analysis":34484,"Ġreplay":34485,".pass":34486,"\\d":34487,"tls":34488,"Ġsanct":34489,".light":34490,"_mobile":34491,"ÑģÑĤÑĮ":34492,"ĉtotal":34493,"uity":34494,"Ġpaused":34495,"NAS":34496,"Ġencore":34497,"loe":34498,"Ġ-*-ĊĊ":34499,".high":34500,"ampler":34501,"ĠSecure":34502,"Ġfragments":34503,"_vel":34504,"illary":34505,"ĠStein":34506,"ĠDawn":34507,"Ġmaximize":34508,"ย":34509,"Ġ/^":34510,"Ġcontinually":34511,"Ġshadows":34512,"ĉĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":34513,"ĠIActionResult":34514,"Ġinformación":34515,"CHECK":34516,".SelectedItem":34517,"bundle":34518,"olley":34519,"<":34681,"Ġtrajectory":34682,"_ring":34683,"Ġhydrogen":34684,"tron":34685,"Ġstatute":34686,"Ġconditional":34687,"Ġtray":34688,"-school":34689,"(widget":34690,"$config":34691,"Ġrequesting":34692,".uint":34693,"eton":34694,"brities":34695,"OfType":34696,"ADMIN":34697,"predict":34698,"Ġgegen":34699,"ĠHapp":34700,"OCUMENT":34701,"ĠApart":34702,"Ġ-----":34703,"roe":34704,"uide":34705,"justify":34706,"ĠSquad":34707,"Ġprofes":34708,".bot":34709,"_currency":34710,"innen":34711,"ĠMumbai":34712,"ĠNumbers":34713,"avanaugh":34714,"agnitude":34715,"âĢľThere":34716,"=http":34717,"çīĩ":34718,"Ġvb":34719,"+'{{$":34802,"Ġinode":34803,"sil":34804,"Ġhace":34805,"Ġseverely":34806,"ĠOverview":34807,"Ġspraw":34808,"Ġbeaches":34809,":left":34810,"·»":34811,"(${":34812,"ĠFIRST":34813,"ĠSpa":34814,"-ass":34815,"Ġbaise":34816,"ĠNODE":34817,"ĠPizza":34818,"Pet":34819,"(seq":34820,"\\\">Ċ":34821,"CppMethodPointer":34822,"Ġvp":34823,"Ġia":34824,"_seconds":34825,"emet":34826,"/blob":34827,"_THRESH":34828,"...čĊ":34829,"Dest":34830,"ĠNH":34831,".dataSource":34832,"ités":34833,"ĠJak":34834,"sell":34835,"Ġworkshops":34836,"\",Ċ":35452,"_Pin":35453,"uese":35454,"Ġoverrides":35455,"_ready":35456,"Advanced":35457,"Ġopi":35458,"-cart":35459,"(\"/\",":35460,"ĠDeb":35461,"CRY":35462,"ĠVertical":35463,"ĠOVER":35464,"ĠCorporate":35465,"Ġ\"\";":35466,"Ġstepping":35467,"ej":35468,"Ġaccusations":35469,"Ġoraz":35470,"_tail":35471,"Ġinduced":35472,"Ġelastic":35473,"Ġblown":35474,",//":35475,"Ġbackgrounds":35476,"âĢĻune":35477,"-sdk":35478,"ĠsetInterval":35479,"Ġincentives":35480,"Ġvegetable":35481,"_On":35482,"expanded":35483,"pix":35484,"_shader":35485,"ĠSPDX":35486,"@example":35487,"ĠWrapper":35488,".Zero":35489,"Positive":35490,"Ġspinner":35491,"Ġinvented":35492,"ĠGates":35493,"оÑĤоÑĢ":35494,"Ġcomparisons":35495,"è·":35496,".primary":35497,"dataProvider":35498,"additional":35499,"ĉoptions":35500,"snapshot":35501,".setHorizontal":35502,"Ġ\"{}":35503,"ĠFisher":35504,"halten":35505,"":35538,"ĠRegistered":35539,"INED":35540,"kal":35541,"parison":35542,"Ġobjeto":35543,"Vi":35544,"manda":35545,"Ġrenewed":35546,"ĠSof":35547,"essel":35548,".ndarray":35549,"Ġcrap":35550,"管":35551,".abspath":35552,"(up":35553,"Ġclearance":35554,"ĠTW":35555,"_COPY":35556,"ĠĠĠĠĠĠĠĠĠĠĠĠĉ":35557,"Ġforests":35558,"Ġarguably":35559,"ĠASS":35560,"hey":35561,"amel":35562,"_fore":35563,"ĠSoutheast":35564,"Ġabused":35565,"Ġpracticing":35566,"akedirs":35567,"主":35568,"_resources":35569,"Ġpond":35570,".Fixed":35571,"LastError":35572,"ĠPsychology":35573,"Ġ\"//":35574,"!:":35575,"Reusable":35576,"Ġmensaje":35577,"Ġrospy":35578,"Ġbour":35579,"Ġvarieties":35580,"Ġempath":35581,"(({":35582,"_org":35583,"ĠMes":35584,"ĠMagento":35585,"ISTORY":35586,"Unless":35587,"Ġhj":35588,"ĠDuty":35589,"Jun":35590,",size":35591,"Ġpaintings":35592,"Ġdispens":35593,"dart":35594,"Ġbehavioral":35595,"Ġrpc":35596,"calculate":35597,"fruit":35598,"_mm":35599,"ĉpthread":35600,"MaxLength":35601,"Ġcurrencies":35602,"_capacity":35603,"ĠOz":35604,"Ġfirearm":35605,"Ġcoefficient":35606,"Ġbankruptcy":35607,"wart":35608,"Ġfatigue":35609,"AVA":35610,"Ġespa":35611,"_pc":35612,"ĠQuotes":35613,"_LIGHT":35614,"ĠTickets":35615,"Ġrelates":35616,"Ġpublishers":35617,"Ġunlocked":35618,"Ġ//----------------------------------------------------------------":35619,"ĠInterruptedException":35620,"Ġoutlook":35621,"rn":35622,"Ġrebels":35623,"Written":35624,"Ġasian":35625,"otto":35626,"Ġĉĉĉĉ":35627,"_gpu":35628,"Txt":35629,".ImageView":35630,"Ġsuis":35631,"_tables":35632,".RecyclerView":35633,"Ġwhatsoever":35634,"èģ":35635,"]++;Ċ":35636,"assertTrue":35637,"_verify":35638,"ĠRivers":35639,"Ġ][":35640,"Jet":35641,"idian":35642,"Sibling":35643,"Ġgenres":35644,".Access":35645,"OPS":35646,"Ġtrivial":35647,"ส":35648,"alen":35649,"вед":35650,"ĠSword":35651,"Ġscrutiny":35652,"(cb":35653,"Ġcommerce":35654,"Ġguarantees":35655,"_adv":35656,"ĠLET":35657,"recio":35658,"Ġhilar":35659,"Ġbackyard":35660,"ãĢı":35661,"Ġillustrated":35662,"/vendor":35663,".Util":35664,"Ġwow":35665,"LOY":35666,"ĠMarshal":35667,"\">'.$":35668,"ĠBak":35669,"Ġmodifiers":35670,"dictionary":35671,"ĠStre":35672,"multiple":35673,"\")),":35674,"ĠCort":35675,"']\").":35676,"(admin":35677,"ĠCreator":35678,"Internet":35679,"(ms":35680,"logy":35681,"DECLARE":35682,"ĠMarcus":35683,"<<<<":35684,"ãģł":35685,"_my":35686,"(inst":35687,"Ġsciences":35688,"NDER":35689,".enter":35690,"Ġitu":35691,"Ġbehave":35692,"Pan":35693,"ombies":35694,"='<":35695,"'));čĊ":35696,"ĠMENU":35697,"ĠWorkers":35698,".NoError":35699,"Ġbindings":35700,"Ġdisabilities":35701,"{\\":35702,"ĠMunicip":35703,"Ġcores":35704,"urple":35705,"ĠNokia":35706,"usions":35707,"ĠFitness":35708,".handleChange":35709,"Ġjavascript":35710,"ìļĶ":35711,"(dec":35712,"Ġpacking":35713,"-depend":35714,"Ġtranscript":35715,"zeros":35716,"_alert":35717,"?\",Ċ":35718,"libs":35719,"±Ð¾ÑĤ":35720,"Ġ|ĊĊ":35721,"trained":35722,"ĠGent":35723,"ĠRab":35724,"xp":35725,"_configuration":35726,"天":35727,"_accept":35728,".recyclerview":35729,":url":35730,"ĠMuhammad":35731,"Ġprivileges":35732,"_bank":35733,"uku":35734,"wallet":35735,"ĠROOT":35736,"Ġencuent":35737,"?family":35738,"ĉposition":35739,"Ġcg":35740,"Ġprecip":35741,"methods":35742,"_fast":35743,"increment":35744,"ĠTiger":35745,"_OCCURRED":35746,"quip":35747,"ĠHAS":35748,"_dom":35749,"Ġwreck":35750,"bj":35751,"Ġdern":35752,"Ġorgans":35753,".entries":35754,"Ġ_('":35755,"ramento":35756,"ĠJamie":35757,"Ġpunk":35758,"IPP":35759,"Ġprograma":35760,"Ġattain":35761,"Ġproves":35762,"/sign":35763,"Ġanswering":35764,"Ġladder":35765,"****************************":35766,"ĠWalmart":35767,"ĠCONTENT":35768,"ductor":35769,"Ġverbal":35770,"ĠPID":35771,"crypto":35772,"_CALLBACK":35773,"Ġ=================================":35774,"Ġpotent":35775,"Ġshorts":35776,".Uri":35777,".uniform":35778,";border":35779,"ĠWer":35780,"Ġherein":35781,"lla":35782,"ĠIhr":35783,"Pixmap":35784,"literal":35785,"!)ĊĊ":35786,"generic":35787,"rust":35788,"_scripts":35789,"osto":35790,"itus":35791,"ĠCoalition":35792,"Ġremot":35793,"deploy":35794,"ĠEagle":35795,"ãĢģãĢĮ":35796,"Ġimportante":35797,"ĉobject":35798,"Ġseasonal":35799,"nej":35800,"aidu":35801,"BindView":35802,"ĠSierra":35803,"-bg":35804,"ĠmakeStyles":35805,"[offset":35806,"Games":35807,"Ġhormone":35808,"ARIO":35809,"heads":35810,"(select":35811,"ĠStarted":35812,"@param":35813,"_decl":35814,"_blog":35815,"Ġaño":35816,"\\Api":35817,"ĠMilwaukee":35818,"Provid":35819,"Animated":35820,"Ġcooler":35821,"ĠSeed":35822,".Edit":35823,"ÏĦ":35824,"ĠTaking":35825,"ĠborderColor":35826,"-founder":35827,".LoggerFactory":35828,"Ġ\"\"ĊĊ":35829,"ALT":35830,"ĠLate":35831,"EDIATE":35832,"Ġ);ĊĊĊ":35833,"afa":35834,"Ġcancellation":35835,"Atom":35836,"ĠBirmingham":35837,"empresa":35838,"HEMA":35839,"ascal":35840,"Ġupside":35841,".Version":35842,"ĠFolder":35843,"ĠEight":35844,"ĠVintage":35845,"ĠAppDelegate":35846,"ĠPrevention":35847,".separator":35848,"STM":35849,"(room":35850,"generator":35851,"Ġcattle":35852,"ĉZ":35853,"ĠParticle":35854,"'};Ċ":35855,"Ġneighbours":35856,"ĠStateless":35857,"Ġaltitude":35858,"Ġsaint":35859,"обав":35860,"Ġconvinc":35861,"ĠContents":35862,"Ġjeune":35863,"(ts":35864,"Serialization":35865,"(collection":35866,"ĠJazz":35867,"ĠDod":35868,"ĠRoch":35869,"acio":35870,"commended":35871,"DEFINE":35872,".onload":35873,"Ġspecialty":35874,"PLACE":35875,"_MOVE":35876,"Ġaccountable":35877,"Reuters":35878,"Ġficken":35879,"Ġdepr":35880,"Wow":35881,"Void":35882,".space":35883,"à¸Ĺ":35884,"Ġtq":35885,"ĠPets":35886,"<$":35887,"(Current":35888,"berries":35889,"planation":35890,"ĠlistOf":35891,"ĠThu":35892,"ĠPRINT":35893,"Ġmismo":35894,"Ġdoi":35895,"chk":35896,"ĠUnicode":35897,"(role":35898,"Ġvirgin":35899,"-->Ċ":36360,"Vol":36361,"ĠSSD":36362,"))),":36363,".Optional":36364,"Ġnurses":36365,"Ġorb":36366,"_pe":36367,");čĊčĊčĊ":36368,"placed":36369,"esser":36370,"Ġtherapeutic":36371,"Ġwhitespace":36372,"Ġaston":36373,"Successful":36374,"Ġpraised":36375,"ĠWes":36376,"Ġeighth":36377,"iral":36378,"Ġvrouw":36379,"Ġfaction":36380,"_bias":36381,"Ġwitch":36382,"Ġnpc":36383,"(sb":36384,"ĠRodrig":36385,"_big":36386,"Dependency":36387,"ĠAbraham":36388,"ardi":36389,"CAR":36390,"nos":36391,"Ġabundance":36392,"Ġnutrients":36393,"instein":36394,".Vert":36395,"ĠISS":36396,"D":36495,"Ġservlet":36496,"bastian":36497,"Ġ>&":36498,"SID":36499,"_clk":36500,"Ġdivisions":36501,"}',Ċ":36502,"Ġdildo":36503,"Ġparade":36504,"major":36505,"Ġaboard":36506,";++":36507,"Ġfusion":36508,"\"},{\"":36509,"ĠDialogResult":36510,"ĉarr":36511,"-em":36512,"_nr":36513,"(handler":36514,".NET":36515,".XtraReports":36516,"ĠShah":36517,"ĠBrief":36518,"-,":36519,"Ġprecio":36520,"ĉĉĉĠĠĠĠĠĠ":36521,"Ġtant":36522,"ĠGrande":36523,"/xml":36524,"_ICON":36525,"ĠRetro":36526,"unque":36527,"Ġnag":36528,"toFixed":36529,"XL":36530,"Ġdeclaring":36531,"ĠConcrete":36532,"ĠAmazing":36533,"ĉprintk":36534,"Ġdebates":36535,"DATED":36536,"Ġaesthetic":36537,"emetery":36538,"RoutingModule":36539,"ĠNashville":36540,"WAYS":36541,"Ġwolf":36542,"Ġobservers":36543,"OTA":36544,"anson":36545,"Ġea":36546,"Ġgreenhouse":36547,"ĵįä½ľ":36548,"Ġstair":36549,"Ġimmigrant":36550,"_apply":36551,"peare":36552,"ĠBloomberg":36553,"_PLAYER":36554,"Resp":36555,"æŃ£":36556,"Chooser":36557,"ĠICollection":36558,"Peter":36559,"Erro":36560,".detectChanges":36561,"Maps":36562,"Ġsqueeze":36563,"ĠHomes":36564,"wegian":36565,"Ġformatting":36566,"Ġnegotiate":36567,"uld":36568,"ĠNep":36569,"ĠQB":36570,"Ġeconomies":36571,"Ġ*/,":36572,"Ġredund":36573,"ĠAber":36574,".IsNullOrWhiteSpace":36575,"ycled":36576,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ":36577,"_Sh":36578,"Ġskept":36579,"Ġrecreated":36580,"ĠgetType":36581,"Ġmargins":36582,"Ġcolonial":36583,"charts":36584,"//@":36585,"Ġprocessors":36586,"说":36587,"batis":36588,"æĦı":36589,"atorio":36590,"mentioned":36591,"Patient":36592,"Ġprey":36593,"Checkbox":36594,"_xpath":36595,".skip":36596,"ĠMormon":36597,"ĠMemoryStream":36598,"CREMENT":36599,"Ġku":36600,"meld":36601,"\\Data":36602,"ĠKernel":36603,"iltr":36604,"éĢģ":36605,"(profile":36606,"Carbon":36607,"ROLE":36608,"(pl":36609,"]*(":36610,".memory":36611,"Ġmedal":36612,"Ġadvisor":36613,"ität":36614,"Ġhdr":36615,"ierung":36616,"ĠProvides":36617,"(alpha":36618,"Ġteenagers":36619,"-parser":36620,".LatLng":36621,"]()Ċ":36622,"Ġfelony":36623,"ĉĉĉĊĉĉĉĊ":36624,"BOOK":36625,"Ġslash":36626,"Ġclearfix":36627,"ĠProphet":36628,"容":36629,"rightness":36630,"-fi":36631,".kind":36632,"erton":36633,"Jim":36634,"Ġmanipulate":36635,"Ġworksheet":36636,"olin":36637,"stars":36638,"Ġartifact":36639,"_EMPTY":36640,"ĉmain":36641,"-------------';":36709,"Ġexpressing":36710,"ĠIQ":36711,"ĠFact":36712,"/*******************************************************************************Ċ":36713,"_mass":36714,")):":36715,"Ġcondom":36716,"ĠcreateState":36717,"ometown":36718,"Ġirr":36719,"Ġ>(":36720,">B":36721,"iteration":36722,"ãĥª":36723,"Ġshirts":36724,"ounty":36725,"->$":36726,"_SIGN":36727,"ĠDale":36728,"Ġjj":36729,"Easy":36730,"Fre":36731,"ĠNy":36732,"Ġchlor":36733,"matched":36734,"ĠGerm":36735,"-UA":36736,"ĠNathan":36737,"education":36738,"-yard":36739,"-che":36740,"houses":36741,"ritional":36742,"Ġproximity":36743,"Ġdiesem":36744,"áºŃp":36745,"Ġdrought":36746,".audio":36747,"ĠLeo":36748,"Ġfavorable":36749,"inch":36750,"ĠDaw":36751,"ribly":36752,"_student":36753,"idable":36754,"OVE":36755,"Ġlacks":36756,"ouncing":36757,".business":36758,"Ġreopen":36759,"maybe":36760,"_GLOBAL":36761,"Ġdresses":36762,"ĠEdwards":36763,"ensible":36764,"ĠHardware":36765,"ĠExcellent":36766,"ĠTimeUnit":36767,"CTIONS":36768,"Ġschedules":36769,"Ġsegue":36770,"Opens":36771,"ammen":36772,"-Identifier":36773,"Ġstaring":36774,"Ġhappily":36775,"ĠHob":36776,"'_":36777,"Ġ\");":36778,"amentos":36779,"etched":36780,"Ġ/>}Ċ":36781,".Users":36782,"Ġinterrupted":36783,"Contacts":36784,"Ġregistro":36785,"inburgh":36786,"CHA":36787,"_imp":36788,"phis":36789,"say":36790,"Ġretailer":36791,".NODE":36792,"/maps":36793,"_LAST":36794,"ĠCharge":36795,"_guard":36796,"Collider":36797,"ĠStatelessWidget":36798,"\":[\"":36799,"(\"../../":36800,"ioxide":36801,"ĠSund":36802,"Ġ'';":36803,"unset":36804,"addWidget":36805,"лÑİ":36806,"elles":36807,"alker":36808,"Arc":36809,"Ġdeduct":36810,"GUILayout":36811,"ĠVilla":36812,"Ġforbidden":36813,"_where":36814,"Ġ\\/":36815,"ĠTib":36816,"_AX":36817,"]čĊčĊ":36818,"ĠBir":36819,"Ġbend":36820,"ĠMAKE":36821,"ĠMET":36822,"Ġfutures":36823,"Ġweighted":36824,"\"\"\"čĊ":36825,"Ġauthorize":36826,"(program":36827,"},{\"":36828,"Ġcoefficients":36829,"ês":36830,"PerPage":36831,"ĠBathroom":36832,"ĠPublishing":36833,"GPL":36834,"Ġsubmissions":36835,"ĠNUMBER":36836,"jÄħ":36837,"Ġadditionally":36838,"empre":36839,"ĠShel":36840,"otyp":36841,"Solution":36842,"Ġthunder":36843,"_ec":36844,"ĠĊĠĠĠĠĊ":36845,"ĠFellow":36846,"Ġkay":36847,"ĠnewState":36848,"ONTAL":36849,"Implementation":36850,".Look":36851,"Ġents":36852,"Ġlors":36853,"ĠBIG":36854,"fab":36855,"Ġaveraged":36856,"ĠFeedback":36857,"ĠWells":36858,"Ġmartial":36859,"Ġindul":36860,"ĠCommunist":36861,"ĠForex":36862,"ĠAgriculture":36863,"\"[":36864,"Ġquar":36865,"ĠKont":36866,"ĉview":36867,".Bytes":36868,"desktop":36869,"ĠMakes":36870,"akespeare":36871,".Nullable":36872,"Ġspotlight":36873,"VB":36874,"owy":36875,"(torch":36876,"tridge":36877,"_bounds":36878,"Ġapologize":36879,".addItem":36880,"antd":36881,"*);Ċ":36882,",u":36883,"(gen":36884,"ç»ĵ":36885,"reator":36886,"ĠCord":36887,"oupper":36888,".metro":36889,"Ġew":36890,"ĠWORD":36891,".After":36892,"Ġdetained":36893,"ĠHammer":36894,"existing":36895,"Ġost":36896,"Ġmonument":36897,"-custom":36898,"UserID":36899,"ĠNom":36900,"Ġrejection":36901,"(dim":36902,"Ġsingleton":36903,"ĉdie":36904,"ariance":36905,"reports":36906,"]!=":36907,"elda":36908,"Ġprevalence":36909,"_regs":36910,".\".":36911,"Ġfeminist":36912,"Codec":36913,"Ġ**Ċ":36914,"(labels":36915,"_MARK":36916,"FAILED":36917,"Ġadministered":36918,"WN":36919,"ĠĠĠĠĠĠĠĠĉĉ":36920,"Ġnoun":36921,"wig":36922,"Ġgotta":36923,"Ġrif":36924,"-im":36925,"ĠPaulo":36926,"ĠCommandType":36927,"]))ĊĊ":36928,"-zero":36929,"Training":36930,"Ġlord":36931,"_art":36932,"reddit":36933,"Cert":36934,"Ġpeso":36935,"Rot":36936,"Ġendanger":36937,".dr":36938,"userInfo":36939,"unts":36940,"nv":36941,"ĠTrailer":36942,"-first":36943,"(make":36944,"Ġbenefici":36945,"-black":36946,"iÃŁ":36947,"Ġundoubtedly":36948,"Ġmex":36949,"ĠAncient":36950,"(as":36951,"Ġdescent":36952,"Pick":36953,"Ġreplica":36954,"$obj":36955,"ähr":36956,"Ġarrows":36957,"fty":36958,"ĠLibya":36959,"uga":36960,"charged":36961,"Tur":36962,"Ġhomic":36963,"issen":36964,"ĠFake":36965,"Ġbeers":36966,"Ġscattered":36967,"(Time":36968,"UTIL":36969,"Ġbureaucr":36970,"/plain":36971,"Ġsticking":36972,"FAIL":36973,"ĠCovid":36974,"Third":36975,"_present":36976,"ĠPierre":36977,"Ġëª":36978,"Ġ[...]ĊĊ":36979,"Prob":36980,"ĠTraffic":36981,"icao":36982,"doctor":36983,"Ġ),ĊĊ":36984,"Tabs":36985,"alu":36986,"ï¼ļâĢľ":36987,"Ġinherent":36988,"_No":36989,"ritis":36990,"ĠProof":36991,".basename":36992,"ä¼ļ":36993,"Ġchim":36994,"ĠProtected":36995,"crit":36996,"Ġprone":36997,"Ġкон":36998,"ĠHeroes":36999,"Ġanxious":37000,"Ġanos":37001,"Ġweekends":37002,"Ġsext":37003,"Ġreducer":37004,"=UTF":37005,"half":37006,"ĠSaw":37007,".mm":37008,"Ġnueva":37009,".currentTarget":37010,".lua":37011,"_EXTENSION":37012,"ĉreg":37013,"ĠCtrl":37014,"_align":37015,"acceptable":37016,"Ġrushing":37017,"frac":37018,"Ġboasts":37019,"Five":37020,"±":37021,"ĠTemperature":37022,">):":37023,"Ġcharter":37024,"REATED":37025,"Ġsubjected":37026,"Ġopc":37027,"healthy":37028,"使ç͍":37029,"ĠScientific":37030,"Ġfrau":37031,"riages":37032,"à¸Ķ":37033,".inventory":37034,"ationale":37035,"Mad":37036,"minutes":37037,">>();Ċ":37038,"ĠEnv":37039,"Ġrecordings":37040,"Ġsuspicion":37041,"sqlite":37042,"ĉread":37043,"ãģ¦":37044,"Ġworries":37045,".putString":37046,"ĠShanghai":37047,"(uid":37048,"rer":37049,"ĠvÃŃde":37050,"\"):":37051,"Ġmethodology":37052,"ĠкоÑĤоÑĢ":37053,"ccc":37054,"avad":37055,"Ġinduction":37056,"ĉThread":37057,",string":37058,"ại":37059,"nehmen":37060,"uition":37061,"Ġ*__":37062,".emf":37063,"Ġìľ":37064,"/themes":37065,"ĠNine":37066,".One":37067,"ĠEmbed":37068,"Ġfaz":37069,"uations":37070,"Ġprivately":37071,"Ġling":37072,"[F":37073,"ushi":37074,"Ġlaunches":37075,"(KEY":37076,"GMT":37077,"Ġaiming":37078,"patible":37079,"ĠBiden":37080,"iw":37081,"ĠDegree":37082,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":37083,"Ġ$('<":37084,"ários":37085,"toUpperCase":37086,"ìłľ":37087,"ĠEUR":37088,"Ġoversight":37089,"Ġtablesp":37090,"Updates":37091,".makedirs":37092,"Ġhumidity":37093,"/template":37094,"Always":37095,"(IS":37096,"_cert":37097,"Dig":37098,"Ġunderway":37099,"orton":37100,"ĠHurricane":37101,"Ġspends":37102,"ĠSegment":37103,"Ġflies":37104,"ĠToggle":37105,"ĠLynch":37106,"Ġsenses":37107,"ĠKos":37108,"setEnabled":37109,"istically":37110,"Ġtester":37111,"Ġadministrators":37112,"Ġtagged":37113,"Ðĵ":37114,"Ġshortcut":37115,"ĠResolution":37116,"Ġsupervision":37117,"ĠAshley":37118,"Tracking":37119,"ulatory":37120,"andel":37121,"isten":37122,"Ġunre":37123,"(diff":37124,"ANTS":37125,"Ġrider":37126,"ĠsÄħ":37127,".Series":37128,"_orders":37129,"ORIZONTAL":37130,"Ġretention":37131,"ãĢĤčĊčĊ":37235,"Ġdiagonal":37236,"ĠCancellationToken":37237,"_Internal":37238,"Ġruin":37239,".Qt":37240,"ocratic":37241,"Tel":37242,"ĠAnswers":37243,"matic":37244,"Ġxp":37245,"atem":37246,"_jobs":37247,"_any":37248,"Ġseniors":37249,"Ġlandmark":37250,"ĠQList":37251,"Ġmaneu":37252,"otify":37253,"/\";Ċ":37254,"/server":37255,"ĠPhilosoph":37256,"utenant":37257,"(io":37258,"hz":37259,"Ġauthenticated":37260,"dv":37261,"-Compatible":37262,"Originally":37263,",function":37264,"ãĢĤčĊ":37265,"ĠRepresentative":37266,"asily":37267,"ircuit":37268,".dt":37269,"(math":37270,".Marshal":37271,"[,":37272,"ĠCities":37273,"_turn":37274,"|)Ċ":37275,"Ġcantidad":37276,"alter":37277,"ĉui":37278,"ĠNebraska":37279,"Ġskirt":37280,".bg":37281,"SharedPreferences":37282,"(style":37283,"Ġgrief":37284,"gew":37285,"Ġsafeg":37286,"olang":37287,"_lists":37288,"ìĽ":37289,"Ġgranite":37290,"Ġhottest":37291,".jdbc":37292,".Customer":37293,"Ġâī¤":37294,"Ġwaar":37295,"_scene":37296,"+'/":37297,"ĠJTextField":37298,"Ġseating":37299,"Ġwears":37300,"Ġ`/":37301,"Cases":37302,"ĠYoutube":37303,"ım":37304,"Ġbalcon":37305,",G":37306,"MetaData":37307,"-price":37308,"SCR":37309,"Unity":37310,"Ġtrunk":37311,"={`${":37312,"Ġearthquake":37313,"Partial":37314,"Ġsubst":37315,"Ġelimin":37316,"=\"'.":37317,"//*[@":37318,"Ġsupervisor":37319,"vrolet":37320,"_article":37321,"Ġpane":37322,"bio":37323,"Ġmotors":37324,"NM":37325,"Frank":37326,"Ġonion":37327,"-word":37328,"ItemClickListener":37329,"Ġbrit":37330,"endencies":37331,"Computer":37332,"_running":37333,"(day":37334,"-he":37335,"(named":37336,"ĠSach":37337,"оÑĩ":37338,"campaign":37339,".Abstract":37340,"(wrapper":37341,".pay":37342,"Ġuw":37343,"Geo":37344,"rails":37345,"/select":37346,"ichte":37347,"sons":37348,"EVENT":37349,"Ġaliment":37350,"Providers":37351,"Await":37352,"_INTERVAL":37353,".off":37354,"Ġgluten":37355,"_cloud":37356,"Ġwen":37357,".extract":37358,"ĉbutton":37359,"/MM":37360,"Party":37361,"Ġdemographic":37362,"_errno":37363,"Ġhiking":37364,"('')Ċ":37365,"\",@\"":37366,"Ġwit":37367,"rá":37368,"ologie":37369,"ĠStyles":37370,"ĠBrowserModule":37371,".RequestMapping":37372,"icans":37373,"PAGE":37374,"creation":37375,"ĠFerguson":37376,"uded":37377,"numbers":37378,"ĠGTK":37379,"Ġpresentations":37380,"ĠBobby":37381,"_span":37382,"estyle":37383,"Ġillegally":37384,"abela":37385,"Ġbattlefield":37386,"capacity":37387,"terror":37388,"]\");Ċ":37389,"Ġwarrior":37390,"leader":37391,"ĠDBG":37392,"ĠRevenue":37393,"Ġvigil":37394,"Ġcounterparts":37395,"(Error":37396,"ACTER":37397,"Ġheeft":37398,"Ġselections":37399,"zeug":37400,"tom":37401,"-two":37402,".;Ċ":37403,"_statement":37404,"ĠAid":37405,"ĠVul":37406,"_rgb":37407,"Ġprizes":37408,"Ġeditable":37409,"ĉform":37410,"ını":37411,".decor":37412,"Demo":37413,"lices":37414,"Ġenctype":37415,"ratulations":37416,"ĠROS":37417,"_chars":37418,"ĠJahr":37419,"partial":37420,"ÑĥÑĤ":37421,"ĠReceive":37422,"ĠLands":37423,"APTER":37424,"Ġchopped":37425,"..\"":37426,"ĠAnaly":37427,"ĠUID":37428,"ĠRadeon":37429,"ĠBee":37430,"Ġunm":37431,">M":37432,".findall":37433,"Tokenizer":37434,"ĠWHAT":37435,"Ġsj":37436,"Drawing":37437,"Ess":37438,"OND":37439,"Ĭ¶":37440,"(packet":37441,"âĢĶbut":37442,"Invocation":37443,"ĠNuclear":37444,"?;Ċ":37445,"Ġgrandes":37446,"ĠCrypt":37447,"remark":37448,"Ġ'../../../../":37449,"Ġinability":37450,"magic":37451,"cats":37452,"Ġsimulate":37453,":${":37454,"inflate":37455,"Ġener":37456,":NO":37457,"iples":37458,"Ġmerit":37459,"ĠRated":37460,"Ġglue":37461,"/blog":37462,"Ġgren":37463,"Ġthrilled":37464,".CH":37465,"uncan":37466,"ĠPRIMARY":37467,"Ġpersec":37468,"Ġfeared":37469,".MIN":37470,"ĠTheater":37471,"éĴ":37472,"ategorie":37473,"段":37474,"Ġappetite":37475,"square":37476,"ĠAlexand":37477,".UserId":37478,"_gt":37479,"_enter":37480,"Ġgraduates":37481,"FragmentManager":37482,"Authorize":37483,"-NLS":37484,"(My":37485,"Ġtriumph":37486,"usting":37487,"_PARAMS":37488,"Characters":37489,"(:,:,":37490,"_BUILD":37491,"MHz":37492,"Ġwashed":37493,"Ġuncle":37494,"Steve":37495,"ardown":37496,"${":37680,"_confirmation":37681,"Ġtrophy":37682,"Works":37683,"ĠElectronics":37684,"ĠMediterranean":37685,"_metrics":37686,"Ġannouncing":37687,"ĠDAY":37688,"_proto":37689,"Ġpear":37690,"baseUrl":37691,"ĉĉĉĉĉĉĉĉĊ":37692,"Ġcoordination":37693,":N":37694,".animate":37695,"ĠCotton":37696,"_hit":37697,"âľ":37698,"Ġjetzt":37699,"ifter":37700,"(fields":37701,"ownload":37702,"ificacion":37703,".cuda":37704,"ĠLiu":37705,">equals":37706,"ĠAce":37707,"ÑĢам":37708,"ĠSuperman":37709,"ĠGarcia":37710,"Ġarrests":37711,"agar":37712,"Ġ{})":37713,"Ġmacros":37714,"roupe":37715,"être":37716,"Ġtwisted":37717,"struments":37718,"_(\"":37719,"_vertices":37720,"ĠTransition":37721,"ик":37722,"[max":37723,"mind":37724,"ĠaccessToken":37725,"Ġunle":37726,"mus":37727,"cop":37728,"ĠFactor":37729,"Ġconced":37730,"Ġretr":37731,".linalg":37732,"-slider":37733,"obl":37734,"_StaticFields":37735,"Ġzombie":37736,"selling":37737,"Ġchap":37738,"Ġshaking":37739,"ĠTranslate":37740,"ĠAmsterdam":37741,"ĠETH":37742,"_EXTERN":37743,"kd":37744,"_disc":37745,"Ġpreceding":37746,"Ġprix":37747,"ObjectName":37748,"_modified":37749,"ardware":37750,"Ġ?>\">":37751,"ĠDW":37752,"`${":37753,"Ġ?>\">ĊĊ":37859,"Ġspinning":37860,"_pending":37861,"Matchers":37862,".Keys":37863,"ĠPV":37864,"enus":37865,"antis":37866,"Ġdiscard":37867,"Ġhaul":37868,"Ġempir":37869,"Ġpathway":37870,"Ġoak":37871,"мен":37872,"-induced":37873,"Ġimpair":37874,"ĠCalgary":37875,".isHidden":37876,"dz":37877,"_include":37878,"Ġgm":37879,"Ġ'('":37880,"PY":37881,"uggestions":37882,"Ġcommodity":37883,"cro":37884,"/sub":37885,"ĠgetInstance":37886,"ĠLegacy":37887,"ĠKil":37888,"Bal":37889,"(short":37890,"Inform":37891,"+x":37892,"*r":37893,"ĠHopefully":37894,"orate":37895,"Ġmachen":37896,"Ġtreaty":37897,"ĠOri":37898,".public":37899,"-horizontal":37900,"Ġtactic":37901,"Ġbord":37902,"wares":37903,"Ġammo":37904,"ĠLists":37905,"Ġequations":37906,"/her":37907,"ĠNSW":37908,"Bounding":37909,"_Collections":37910,"Ġavail":37911,".DropDown":37912,"è°":37913,"Ġhh":37914,"ĠlÃł":37915,".pb":37916,"Ġmemorial":37917,"ĠATTR":37918,"Ġexhausted":37919,"Ġtsp":37920,"ĉredirect":37921,"Ġlikewise":37922,"STER":37923,"Ljava":37924,"Ġcondemned":37925,"ocaust":37926,"(strict":37927,"Ġexempt":37928,"Ġsms":37929,"Ġexagger":37930,"SYS":37931,"Ġlounge":37932,":^":37933,"Ġtodd":37934,"deb":37935,"atorial":37936,"ĠPorter":37937,"Ġtuition":37938,"Ġexempl":37939,"Ġparen":37940,".lineTo":37941,"Ġkidney":37942,"Ġça":37943,"Ġcui":37944,"ï¼Į请":37945,"XC":37946,"Ġmoż":37947,"Ġnominated":37948,"lung":37949,"ImGui":37950,"ĠBuzz":37951,"Ġstereo":37952,"portal":37953,"resas":37954,"Ġklass":37955,"Ġdrafted":37956,"Ġprojectile":37957,"/gpl":37958,"(parameters":37959,"*)Ċ":37960,"Ġassisted":37961,"ĠNSInteger":37962,"sitemap":37963,":nth":37964,".Views":37965,".ArgumentParser":37966,"Ġmeer":37967,"zier":37968,"ĠDig":37969,"Ċ":38036,"Ġplag":38037,"pine":38038,"Ġblanket":38039,"Ġ:-":38643,"Ġlcd":38644,"---------------":38645,"(\"\"":38646,"Ġtactical":38647,"ĠRonald":38648,"extr":38649,"ĠFest":38650,"Ġfuer":38651,"-navigation":38652,"Ġkb":38653,"ghost":38654,"ĠhandleChange":38655,"_cls":38656,"()!=":38657,"Comparator":38658,".vm":38659,"ĠCox":38660,"_review":38661,"/@":38662,"_cookie":38663,"Ġrecognised":38664,"ldap":38665,"Threads":38666,"ĠSexual":38667,"ĠBearing":38668,"(SQL":38669,"Ġxr":38670,"Ġthigh":38671,"URLConnection":38672,"ĠSUV":38673,"ĠmContext":38674,"Ġincidence":38675,"ĠEste":38676,".sup":38677,"_te":38678,"(EXIT":38679,"CMD":38680,"/\">":38681,"Almost":38682,"ĠUne":38683,"Ġanderen":38684,"ĠSingleton":38685,"Ġbore":38686,"Think":38687,"Ġnarc":38688,"]initWith":38689,"_shop":38690,"(strategy":38691,"!',":38692,"herits":38693,"ĠDesk":38694,"_machine":38695,".netty":38696,"ında":38697,"=<":38698,"ĠQR":38699,"ĠSidebar":38700,".splitContainer":38701,"ĠonSuccess":38702,"Ġmonkey":38703,"Enjoy":38704,"(nodes":38705,"pectrum":38706,"Ġ(*(":38707,"ĉUINT":38708,",height":38709,"ĠNetworks":38710,".tail":38711,".linspace":38712,"Ġ\"...":38713,"Listen":38714,"Æ¡":38715,".Channel":38716,"-defined":38717,"Repeat":38718,"adjust":38719,"ERM":38720,"_application":38721,".assertNotNull":38722,"-stream":38723,"Ġrabbit":38724,"Ġpositioning":38725,"Ġwoke":38726,"Ġfing":38727,"Ġmultiplayer":38728,"Ġregistering":38729,"until":38730,"Ã¥n":38731,"(::":38732,"ussions":38733,"Ġpotato":38734,"ĠEquals":38735,".Sup":38736,"/apache":38737,"Ġ(=":38738,".\")":38739,".ptr":38740,"ĠSpeech":38741,".clip":38742,"ĠGabriel":38743,"Ġmusician":38744,"/issues":38745,".shop":38746,"ĠHier":38747,"_RET":38748,"_bucket":38749,"ãĥ¡":38750,"avs":38751,"Ġroz":38752,"flower":38753,"WriteBarrier":38754,"ĠMilan":38755,"Ġlegislature":38756,"ĠDoll":38757,"Ġproving":38758,".concatenate":38759,"âķIJ":38760,"Ġgchar":38761,"cdnjs":38762,"bles":38763,"ĠListing":38764,"ло":38765,".xrLabel":38766,"ĠSak":38767,"justice":38768,"ĠValentine":38769,"unless":38770,"Ġpiger":38771,"(run":38772,"Ġtestified":38773,"ANA":38774,"ĠRemoves":38775,"))));Ċ":38776,"recated":38777,"ĠRuntimeMethod":38778,"Ġconqu":38779,"ãĤ¢":38780,"Ġtissues":38781,"ailer":38782,"été":38783,"-Star":38784,"Ġflames":38785,".setIcon":38786,"Ġsupern":38787,"Ġvagina":38788,"-variable":38789,"Ġwellness":38790,"CUR":38791,"Ġbelle":38792,".getRequest":38793,"Ġpoco":38794,"benh":38795,"agens":38796,"Ġspill":38797,"ĠJur":38798,"Ġdispatcher":38799,"ного":38800,"emonic":38801,"(dirname":38802,"ĠÐĶ":38803,"Ġpasse":38804,"Ġganz":38805,"ricing":38806,"EU":38807,"Ġmujeres":38808,"essen":38809,".attribute":38810,"jj":38811,"ĉĉĠĊ":38812,"[^":38813,"Ġstrtolower":38814,"lexer":38815,"ectar":38816,"hotel":38817,".square":38818,"Ġrall":38819,"Ġlowered":38820,"handled":38821,"Market":38822,"ĠUses":38823,"ivas":38824,".Business":38825,"ãģĹãģ¦":38826,"DIV":38827,"Ġwasted":38828,"Ġavoir":38829,"êm":38830,"_ACCOUNT":38831,".et":38832,"ĉSDL":38833,"kap":38834,"Ġfox":38835,"uppet":38836,"{},Ċ":38837,"\",'":38838,"Favorite":38839,"PEND":38840,"ĠAES":38841,"}),":38842,"Ġdeduction":38843,"ĠpolÃŃt":38844,"ĠcomponentWill":38845,"ĠTelerik":38846,"_SELF":38847,"Ġmuse":38848,"Craft":38849,"Ġdens":38850,"ि":38851,"(tp":38852,"Ġtasty":38853,"Ġbalances":38854,"Ġdedication":38855,"ĠWallace":38856,"Ġunlaw":38857,"\\\">\\":38858,"Ġmum":38859,"-update":38860,"emente":38861,"Ġsoda":38862,"Republic":38863,"asmine":38864,"éric":38865,"(Status":38866,"ĠJsonConvert":38867,"ĠDisk":38868,".Redirect":38869,"Ġfilming":38870,"/mol":38871,"Ro":38872,"Ġville":38873,"Ġtrabaj":38874,"Ġsynthesis":38875,"rega":38876,"Ġrl":38877,"Scheduler":38878,"ISHED":38879,"currentUser":38880,"(errors":38881,"'h":38882,"_bot":38883,"ximo":38884,"ĠUSART":38885,"_super":38886,"_DECREF":38887,"ной":38888,"_ROW":38889,"Ġpromotes":38890,"ĠTA":38891,"Ġhoras":38892,"ĠRepresents":38893,"Ġnameof":38894,"ĠExc":38895,"ĠGarage":38896,"Ġseine":38897,",#":38898,"Ġherb":38899,"/resources":38900,"Ġpleaded":38901,".radioButton":38902,"Ġæĺ":38903,"Ops":38904,"ĠNest":38905,"cstring":38906,"ĠDefence":38907,"Ġrefere":38908,"_leaf":38909,"Ġrevelation":38910,"ë§":38911,".executeUpdate":38912,"_WORLD":38913,"Ġexpans":38914,"(\"\\\"":38915,"jab":38916,"Ġdoubts":38917,"ĠGeometry":38918,"Ġintroduces":38919,"Ġsenators":38920,"Ġcanal":38921,".helper":38922,"ĠBiology":38923,"_SENS":38924,".previous":38925,"-touch":38926,"abit":38927,"Ġimpacted":38928,"Ġbrackets":38929,".direct":38930,"accum":38931,"Ġtestosterone":38932,"ĉaction":38933,"ĠChance":38934,"Ġpeaks":38935,"CppCodeGenWriteBarrier":38936,"Ġunbelie":38937,"_press":38938,".Rel":38939,"angled":38940,"/templates":38941,"-->čĊ":38942,"lime":38943,"Ġsufficiently":38944,"_nt":38945,"Expand":38946,".isfile":38947,"ĠisEmpty":38948,"Ġqt":38949,"Ġmulher":38950,"acob":38951,"George":38952,"常":38953,"Ġassim":38954,"aso":38955,"Ġcomprised":38956,"OV":38957,"(CONFIG":38958,"ĉwriter":38959,"Ġdesp":38960,"Ġtenure":38961,"(cr":38962,".pool":38963,"ĠBrend":38964,"Ġcensor":38965,"(timeout":38966,"Ġplea":38967,".Wrap":38968,"Ġtightly":38969,"ĠWere":38970,"ĠIgnore":38971,"abei":38972,"Ġbridges":38973,"Ġcondemn":38974,"Ġsimplicity":38975,"Ġroutinely":38976,"Ġblacks":38977,"jb":38978,"ĠPit":38979,"Utf":38980,"Ġ/Ċ":38981,"reload":38982,"ĠsetObject":38983,"/global":38984,"Ġfatty":38985,"Ġsocks":38986,"Couldn":38987,"Ġerotisk":38988,"æĿ¡":38989,"ĠPressure":38990,"ĠMaz":38991,"npos":38992,"tolower":38993,"ĠEQ":38994,"uteur":38995,"ĠMoment":38996,"Ġeta":38997,"{{--":38998,"Ġgraphs":38999,"ĠGuar":39000,"rine":39001,"(--":39002,"ĠHttpStatus":39003,"(student":39004,"*np":39005,"Ġrailway":39006,"Ġasynchronous":39007,"_vm":39008,"'],'":39009,",text":39010,"merchant":39011,"(Guid":39012,"ĠGra":39013,"ixer":39014,"fetchAll":39015,".addListener":39016,"flip":39017,"*$":39018,">(),":39019,"Ġsunlight":39020,"assigned":39021,"Ġabc":39022,"ĠCOLUMN":39023,"ĠðŁĻĤĊĊ":39024,")...":39025,"Ġensemble":39026,"Ġnewline":39027,"_SINGLE":39028,"iedad":39029,"Ġdarker":39030,"ormap":39031,"Ġlion":39032,"plits":39033,"Ġillustration":39034,"ĠIEEE":39035,"Ġvista":39036,"ousands":39037,"*******":39038,"ĠTommy":39039,"Ġhue":39040,"Sel":39041,"Ġaura":39042,"ĠTherapy":39043,"Ġanimator":39044,".constraints":39045,"Ġvague":39046,"(\"\")":39047,"Ġvillain":39048,"Ġblessing":39049,"ĠstringBuilder":39050,"ĠMisc":39051,"ĠDIR":39052,"fax":39053,"-node":39054,"ĠWalking":39055,"ĠAU":39056,"sess":39057,"Ġgrill":39058,"VERTISE":39059,"ĠFoods":39060,"Ġtournaments":39061,"Ãĵ":39062,"ĠMarsh":39063,"Ġwonders":39064,"Longitude":39065,".CommandText":39066,"=input":39067,"_encoder":39068,"pageSize":39069,"ĠgetState":39070,">>Ċ":39071,".grey":39072,"pod":39073,"Ġreadings":39074,"Ġreconsider":39075,"Startup":39076,"Ġexcer":39077,".balance":39078,"_cycle":39079,"_Time":39080,"LOCAL":39081,"ĠEFI":39082,"ĠReyn":39083,".setForeground":39084,"byn":39085,"Ġdisconnected":39086,"ACTIVE":39087,"Ġembedding":39088,"ickers":39089,"Ġsurroundings":39090,"*c":39091,"Ġgarant":39092,"Ġbf":39093,"Ġwipe":39094,"Ġä¸ĭ":39095,"_TRA":39096,"adox":39097,"çķ":39098,"Ġsucks":39099,"ĠSongs":39100,"ĠAssociates":39101,"ĠBald":39102,"ĠBrett":39103,"venile":39104,"Ġvt":39105,"Ġinade":39106,"Ġresigned":39107,"ĠGlenn":39108,".pattern":39109,".DataBind":39110,"Ñĥм":39111,"LayoutInflater":39112,"chet":39113,"ĠTestament":39114,".ms":39115,"Ġpav":39116,"ĠReactDOM":39117,"urdy":39118,"ADATA":39119,"Mu":39120,"/actions":39121,"ĠJs":39122,"_extract":39123,"ĠBring":39124,":id":39125,"strt":39126,"ivation":39127,"Ġoutright":39128,"azu":39129,"loyment":39130,"иÑı":39131,"aldo":39132,"ĠPublisher":39133,"Education":39134,"Palette":39135,"_drv":39136,"Ġ($(":39137,"ĠAnda":39138,"Ġremedy":39139,"Ġinconsistent":39140,"tection":39141,"Ġregulators":39142,"Ġshortest":39143,"(pair":39144,"ĠInstallation":39145,"Ġdefendants":39146,"Ġ();":39147,"-large":39148,"Mel":39149,"Ġthreaten":39150,"нÑı":39151,"Ġfetish":39152,"otine":39153,"_dic":39154,"Ġ<$":39155,"Ġstagger":39156,"spi":39157,"$response":39158,"Serv":39159,"-born":39160,"jos":39161,"ĉimg":39162,"ĉWHERE":39163,"_lt":39164,"å½ĵ":39165,".cost":39166,"ĠTue":39167,".labels":39168,"ĠLV":39169,"wcsstore":39170,"ĠJesse":39171,"ห":39172,"Trade":39173,"Ġpredecessor":39174,"ëĤ":39175,"finally":39176,"_general":39177,"oggler":39178,"_REGION":39179,"nement":39180,"Ġblogger":39181,"ĠHarbor":39182,"ĠDataset":39183,"[w":39184,"Ġattendees":39185,".ico":39186,"maximum":39187,".Unlock":39188,"_SYNC":39189,"ágina":39190,"Ġdowns":39191,"ĠWii":39192,"])/":39193,"Ġkicking":39194,"unication":39195,"ĠDAC":39196,"ĠIDS":39197,"ĠRental":39198,"ĠcurrentTime":39199,"Ġvaccines":39200,"ĠDevil":39201,"Ġnors":39202,"_mouse":39203,"urrection":39204,"(no":39205,"Ġ>čĊ":39206,"Ġaggression":39207,"Ġbreeding":39208,".symbol":39209,"iman":39210,"AbsolutePath":39211,"ĠWHO":39212,"_flush":39213,"-root":39214,"arna":39215,"&M":39216,"Ġfathers":39217,"ĠRocket":39218,"iveau":39219,"Ġwander":39220,"Ġcompos":39221,"ĠWarrior":39222,"ĠSeat":39223,"ĠClinic":39224,"_invoice":39225,"(dispatch":39226,"Producto":39227,"aturing":39228,"ossier":39229,"ĠMAY":39230,"Ġdagger":39231,"Ġsanitized":39232,"ĠRFC":39233,"Ġproph":39234,"Ġurine":39235,"Ġgrind":39236,"ĠExpanded":39237,"descripcion":39238,"-fw":39239,"ĠKerry":39240,"=name":39241,"Ġchk":39242,"Ġnationally":39243,"Ġthee":39244,"Inc":39245,"Ġ?>>":39246,".RadioButton":39247,".HttpServletResponse":39248,"/Y":39249,"ĉfield":39250,"Ġhomme":39251,"yper":39252,"Physical":39253,"=v":39254,"Ġdriv":39255,"ĠErrors":39256,"ĠcÄĥ":39257,"Death":39258,"ĠWINDOW":39259,"Ġpoet":39260,"ĠSharp":39261,"ĠImmutable":39262,"ĉcreate":39263,"Ġgeht":39264,"ĠReform":39265,"aiser":39266,"ĠInitialization":39267,"Ġimmunity":39268,".compose":39269,"Ġlatency":39270,"ĠLebanon":39271,"ĠParad":39272,"Ġfuels":39273,"ĠExhib":39274,"coh":39275,"%\">Ċ":39276,"ĠCLI":39277,")initWith":39278,"-Za":39279,"_CLEAR":39280,"regn":39281,"Ġfinances":39282,".standard":39283,"_CATEGORY":39284,".library":39285,"Ġtravelers":39286,"_wp":39287,"ĠEvaluation":39288,"starting":39289,"Ġ)),Ċ":39290,"episode":39291,"ĠVariant":39292,"Ġdaemon":39293,"ĠJulia":39294,"ĠNR":39295,"Ġdoubles":39296,"'":39526,"Ġqueryset":39527,";}čĊ":39528,"ĠPopulation":39529,"utedString":39530,"resident":39531,"_FONT":39532,"ĠRespond":39533,"Ġobscure":39534,"Ġobservable":39535,"ĠContributors":39536,"kon":39537,"ĠMusk":39538,"exao":39539,"ĠTub":39540,"BootApplication":39541,"SOR":39542,".Horizontal":39543,".findBy":39544,".power":39545,"Ġpositively":39546,"venience":39547,"ĠJong":39548,"Ġwhistle":39549,"ĠзнаÑĩ":39550,"Ġlending":39551,"Ġdestructive":39552,"ĠonDelete":39553,"authorization":39554,"();?>":39555,"_original":39556,"science":39557,"atra":39558,"?,?,":39559,"ĠAsc":39560,"Ġconvincing":39561,"$a":39562,"orgen":39563,"_Date":39564,"ĠProvide":39565,"Ġlonely":39566,")'Ċ":39567,"exchange":39568,";?>Ċ":39569,".fast":39570,"Samples":39571,"London":39572,"'])čĊ":39573,"ĠIonic":39574,"Ġpesso":39575,"ĠKnights":39576,"ĠRaf":39577,"_attrs":39578,"Ġrepeal":39579,">Main":39580,"ĠOrdered":39581,"_New":39582,"=\"\">\";Ċ":39663,"ĠSERVER":39664,"ĠHEADER":39665,"_velocity":39666,"ĠInvoke":39667,".timestamps":39668,"Ġsulf":39669,"IQUE":39670,"Ġinhabitants":39671,"phins":39672,"azzo":39673,"Ġmono":39674,"Legend":39675,"Ġnonce":39676,"IFE":39677,";\";Ċ":39678,"-create":39679,"\"\",Ċ":39680,"permit":39681,"ĠImmigration":39682,"Ġpathname":39683,"ffective":39684,"âĻĢâĻĢ":39685,"Ġexams":39686,"-event":39687,"ĠTill":39688,"[mid":39689,"FIX":39690,";color":39691,"(Order":39692,"_traits":39693,"ĠorderBy":39694,"Ġsunt":39695,"ĠNicholas":39696,"ز":39697,"Ġsunny":39698,"iners":39699,"Ġaccessibility":39700,"ĠHB":39701,".comp":39702,"ĉop":39703,"Ġminorities":39704,"etheus":39705,"Ġcollaborative":39706,"prit":39707,"HIR":39708,"Ġwraps":39709,"ĉdraw":39710,"god":39711,"ĠIX":39712,".apps":39713,"ĠNM":39714,"Ġirrelevant":39715,"ĠTigers":39716,"Ġdiag":39717,"GV":39718,"ĠAccessories":39719,"kont":39720,"Ġsimplify":39721,"ĠFavorite":39722,"_tools":39723,"([]);Ċ":39724,"Ġtowers":39725,"Bes":39726,"Ġhunter":39727,"Ġsalon":39728,"(buff":39729,"ĉdebug":39730,"Ġmalware":39731,"Moving":39732,"-options":39733,")+'":39734,"ĠLOVE":39735,"_SOCKET":39736,"_fin":39737,"ĠDelaware":39738,"Ġsheriff":39739,"-invalid":39740,"ĠFULL":39741,"Ġпод":39742,"elas":39743,"\"strings":39744,"ĠRepresentatives":39745,"surface":39746,"resolved":39747,"htdocs":39748,")):čĊ":39749,"Ġpressures":39750,"Ġnorms":39751,"Ġpla":39752,"Ġsurname":39753,"Ġpostal":39754,"ĠDepart":39755,"Ġslaughter":39756,"orida":39757,"Ġhebben":39758,"Ġdesar":39759,"compact":39760,"_LANG":39761,"åIJĪ":39762,"opoly":39763,"_rad":39764,"ĠSTDMETHOD":39765,"Lazy":39766,"ĠĠĠĉ":39767,"...,":39768,"(web":39769,"ĠPont":39770,"Ġetwas":39771,"Ġupward":39772,"_hat":39773,"Ġ],ĊĊ":39774,"ĠbaseUrl":39775,"Ġworrying":39776,"-addon":39777,"(getClass":39778,"SPI":39779,"Ġcapturing":39780,")},Ċ":39781,"Effects":39782,"Ġcompetent":39783,"Ġfoul":39784,"Ġsubscribing":39785,"ĠOBJECT":39786,"IXEL":39787,"bucks":39788,"(edge":39789,"(pass":39790,"ĠPeterson":39791,"Ġboobs":39792,"ĠDelay":39793,"_square":39794,"elim":39795,"oters":39796,"_PC":39797,"%E":39798,"onclick":39799,"ĠSVG":39800,"Ġtopped":39801,"Ġfist":39802,"smart":39803,"ĠRalph":39804,"(owner":39805,"jours":39806,"Ġbronze":39807,"ĠArgumentException":39808,"(original":39809,"_SCALE":39810,"_cp":39811,"Ġrecommends":39812,".setStyle":39813,"Sure":39814,"LAND":39815,"Ġrepeating":39816,"Matt":39817,".Visibility":39818,"Ġenterprises":39819,".Setup":39820,"(scene":39821,"ĠReactive":39822,"urge":39823,"bw":39824,".Put":39825,"persist":39826,".cookie":39827,"ĠAudi":39828,"`s":39829,"supplier":39830,"(Form":39831,"¡":39832,"_so":39833,"ĮĢ":39834,"ĠLegion":39835,"tte":39836,"Nd":39837,"Loss":39838,"(attrs":39839,".scatter":39840,"Ġgroom":39841,"Ġglimpse":39842,"Ġnails":39843,"Ġcumulative":39844,"Ġfazer":39845,"_services":39846,".Num":39847,"ibilit":39848,"_resolution":39849,"ĠTx":39850,"uminium":39851,"opa":39852,".schedule":39853,"smtp":39854,"à¸ķ":39855,"urry":39856,"ük":39857,"goog":39858,"_signature":39859,".into":39860,"ĠSteps":39861,"Ġhomeowners":39862,"ĠNSURL":39863,"ĠPAC":39864,"ĠĠĠĠĠĠĠĠĠĠĠĠĊĊ":39865,">')Ċ":39866,"enh":39867,"Ġincap":39868,"$MESS":39869,"Ġmoins":39870,"ĠFi":39871,"Ġoffseason":39872,"pressions":39873,">.Ċ":39945,"ĠGrass":39946,"ĠGoal":39947,"_pdf":39948,"Handlers":39949,"Ġstacks":39950,".getFullYear":39951,"=[];Ċ":39952,"车":39953,",V":39954,"(split":39955,"Ñĥнк":39956,"Ġbakeca":39957,"Ġ~/.":39958,"pez":39959,"tails":39960,"ĠGlen":39961,"ĠsetImage":39962,"ĠComic":39963,"BLOCK":39964,"ĉThis":39965,"oader":39966,"Ġcapitalist":39967,"_STEP":39968,"(Boolean":39969,"ĠCorrect":39970,"rina":39971,"Ġconcaten":39972,"å®ŀ":39973,"():ĊĊ":39974,"Ġunanim":39975,"lli":39976,"alars":39977,"-ne":39978,"Ġdivor":39979,"ĠKickstarter":39980,"]._":39981,"*'+":40622,"åĿĢ":40623,"acency":40624,"(URL":40625,"_half":40626,"=l":40627,"ĠlistView":40628,"(section":40629,".toArray":40630,"+/":40631,"ĠRodriguez":40632,"istream":40633,"Ġeligibility":40634,"::-":40635,".newInstance":40636,"PB":40637,"ĠAssets":40638,"ĠComposite":40639,"ĠLabs":40640,"ĠHamas":40641,"++);Ċ":40642,"Ġblk":40643,"ĠNeo":40644,"Luc":40645,"@login":40646,"Ġunaware":40647,".met":40648,"_RELEASE":40649,"(ST":40650,"AMIL":40651,"rike":40652,"Ġ(){Ċ":40653,"(sprintf":40654,"ĠAccounts":40655,"ĠVIEW":40656,"ĠAj":40657,"ãĤ°":40658,"Ġwhisk":40659,"Ġidi":40660,"Ġrode":40661,"Ġihn":40662,"ĠElementary":40663,"Qty":40664,"Ġintriguing":40665,"Ġå¤":40666,"Jobs":40667,"ĉoffset":40668,"ĠAhmed":40669,"ĠTaliban":40670,"Ġèİ·åıĸ":40671,"Ġinjected":40672,".Authentication":40673,"_linear":40674,".Decimal":40675,"Ġapples":40676,"Ġshareholders":40677,"Ġbaked":40678,".diff":40679,"ĠEddie":40680,"okers":40681,"Ġconfronted":40682,"voices":40683,"Ġtus":40684,"ĠSpin":40685,"NODE":40686,"_Un":40687,"CTX":40688,"/google":40689,"Temperature":40690,"Ġ'').":40691,"Ġmagnificent":40692,"ĠstartIndex":40693,"sembles":40694,"Anyone":40695,"zk":40696,"ehen":40697,"ĠDame":40698,".strict":40699,"Ġreplaces":40700,"Ġlineback":40701,"Ġpushes":40702,"Ġcheek":40703,"ĠShi":40704,"_BYTES":40705,"REA":40706,"ản":40707,"_CONNECTION":40708,"Gateway":40709,"ĠTravis":40710,"ĠAX":40711,"ĠBasically":40712,"ĠUpgrade":40713,"àª":40714,"themes":40715,"ermo":40716,"kor":40717,"Female":40718,"_attach":40719,"ĠìĤ¬ìļ©":40720,"Ġpoz":40721,"==============Ċ":40722,"(symbol":40723,"ĠSector":40724,"__)ĊĊ":40725,"_padding":40726,"ï¼ļ\"":40727,"Ġfabs":40728,"Ġranged":40729,"setName":40730,"Ġperror":40731,"âĹ":40732,"ĠFileReader":40733,"Ġfulfilled":40734,"_Current":40735,"Ġdominate":40736,"Ġsmugg":40737,"PostMapping":40738,"_force":40739,"Ġbloc":40740,"ĠGiant":40741,"(video":40742,"ĠCU":40743,"SystemService":40744,"Ġelf":40745,"Ġkontakt":40746,"ëª":40747,"kees":40748,"gtk":40749,"ĠparamInt":40750,"Ġmarkup":40751,"uales":40752,"Ġaccounted":40753,"Ġgangbang":40754,"RYPT":40755,"ĠWrong":40756,"Ġcredited":40757,"ĠMESSAGE":40758,"Ġflaws":40759,"Ġbbw":40760,"Ġmetabolic":40761,"ĠOEM":40762,"/event":40763,"(Collectors":40764,"monton":40765,"appear":40766,"Ġopted":40767,"Ġcheat":40768,"Ġdav":40769,"ĠProceed":40770,"Ġê¸":40771,"anked":40772,"из":40773,"ansk":40774,"ĠHang":40775,"ĠCler":40776,"Ġdisgu":40777,"Ġcmap":40778,".cljs":40779,"Ġaument":40780,"lez":40781,"ĠJoined":40782,"_received":40783,"Ġaerial":40784,"otel":40785,"Ġgreet":40786,"\"s":40787,"ĠGenesis":40788,"ĠCalif":40789,"panion":40790,"Ġtailored":40791,"mapping":40792,"andExpect":40793,".track":40794,"atomy":40795,"ĠOw":40796,"ullah":40797,".Yes":40798,"ĠSimpleName":40799,"dbh":40800,"'en":40801,"Ġnonsense":40802,"Ġphilosophical":40803,"(getContext":40804,"Ġisso":40805,"ĠACE":40806,"startDate":40807,"ĠbÄĻd":40808,"ĠAUTHOR":40809,"ĠGlobe":40810,"Ġinsects":40811,"_Al":40812,"ushing":40813,"è®°":40814,"/Home":40815,"ĠLocalDate":40816,"needed":40817,"hesive":40818,"Ġillusion":40819,"äºĮ":40820,"Ġtrat":40821,"xo":40822,"/detail":40823,"_MATCH":40824,"Ġbroadband":40825,"Ġwal":40826,"ĠIllegalStateException":40827,"IRECTION":40828,"Ġnortheast":40829,"esium":40830,"ĠCliente":40831,"ulance":40832,"nty":40833,"Ġtecn":40834,"Devices":40835,"Ġgrains":40836,"ĠOg":40837,"ĠSEL":40838,"udiant":40839,"Ġ++;Ċ":40840,"Ġexplanations":40841,"occo":40842,"Ġdiets":40843,"Ġcohort":40844,"(controller":40845,".Iterator":40846,"-rich":40847,"rocess":40848,"GD":40849,"Ġcarbohydr":40850,"Ġfried":40851,"ĠEmployment":40852,"ìŀ¥":40853,"ĠLeonard":40854,"_${":40855,"quares":40856,"Ġcompanions":40857,"Ġparis":40858,"Ġstimulation":40859,"ĠZoo":40860,"Ġrelevance":40861,"ĠColour":40862,"Ġspear":40863,"otional":40864,"ĠLite":40865,"ĠKosten":40866,"Ġó":40867,"_attachment":40868,"orphic":40869,"Ġdamit":40870,"Ġdlg":40871,"Ġthrive":40872,"CHANGE":40873,"ĠApparently":40874,"Ġatual":40875,"Ġrooted":40876,"(images":40877,"awi":40878,"ariat":40879,"Ġcherry":40880,"STATIC":40881,"mnt":40882,"ĠUserId":40883,"illet":40884,"ĠHispanic":40885,"Ġnak":40886,"Ġcentro":40887,"Ġdims":40888,"_initialize":40889,"ık":40890,"ĠCenters":40891,"REN":40892,"Ġevolutionary":40893,"ĠTopics":40894,"_damage":40895,"emer":40896,"Ġrund":40897,"Ġpunished":40898,"Ġcubic":40899,"fair":40900,"[];ĊĊ":40901,"Ġinstantiate":40902,"Ġoversee":40903,"-delete":40904,"unteer":40905,"startTime":40906,"ĠPipeline":40907,"_GAME":40908,"ĠCir":40909,"ĉNull":40910,".Formatting":40911,"ucumber":40912,"ĠRide":40913,"Ġzoo":40914,"Ġchecker":40915,"åIJĮ":40916,"=C":40917,"Ġgrit":40918,"\");//":40919,"_xy":40920,"ĠDeclaration":40921,"Ġcallable":40922,"Foo":40923,"ĠListItem":40924,"Ġinaccur":40925,"mlin":40926,"ĉData":40927,"Ġevolving":40928,"awan":40929,"Ġcafe":40930,"folk":40931,"_IDX":40932,"ĠAnything":40933,"ĠPalestine":40934,"ĠGridView":40935,"Ġcolony":40936,"ĠGermans":40937,"(+":40938,".pid":40939,".jsx":40940,"ĠSuperior":40941,"Christian":40942,"ĠLect":40943,"ĉGame":40944,"Ġinstrumental":40945,"Animations":40946,"дал":40947,"ĠMoses":40948,"ĉĉčĊĉĉčĊ":40949,"zs":40950,"kte":40951,"ä¸ļ":40952,"_DIST":40953,"bitmap":40954,"dB":40955,"Ġpersistence":40956,"ÑĢоÑģ":40957,"$l":40958,"Bron":40959,"Ġ{|":40960,"_chart":40961,"ĠConsum":40962,"Ġhemp":40963,"Ġ\"))Ċ":40964,"Ġattackers":40965,"Ġknowledgeable":40966,"Ġcet":40967,"Ġviruses":40968,"'I":40969,"Ġpitcher":40970,"Ġsweeping":40971,"=list":40972,"aptops":40973,".depth":40974,"Ġinstructed":40975,"ĠRus":40976,"benhavn":40977,"Ġин":40978,"Sports":40979,"Ġonset":40980,"æĿĥ":40981,".RED":40982,"_si":40983,"ĠPST":40984,".onChange":40985,">tag":40986,"ĠRoh":40987,"_character":40988,"ĠLaws":40989,"ĠBachelor":40990,"_swap":40991,".reactivex":40992,"Ġrewarding":40993,"Medium":40994,"-[":40995,"ĠRecently":40996,"Joint":40997,"partition":40998,"ĠMinutes":40999,"Ġindo":41000,"Ġabsorbed":41001,"ĠGN":41002,"_IND":41003,"Ġsaber":41004,"Spawn":41005,"outputs":41006,"ĠJeffrey":41007,"Ġmedieval":41008,"hed":41009,"Guide":41010,"Ġpsycho":41011,"Ġglam":41012,"Elim":41013,"ädchen":41014,"_plain":41015,"ĠSau":41016,"-four":41017,"Ġanalyzing":41018,"QUERY":41019,"Ġtomato":41020,"_buttons":41021,"VEN":41022,".setStatus":41023,".Url":41024,"+ĊĊ":41025,"Ġcomplaining":41026,"degree":41027,"confirmed":41028,"Ġsubt":41029,"parsed":41030,"Ġtorque":41031,"Ġtroubled":41032,"ĠTARGET":41033,"Ġtrademarks":41034,"ĠCoordinate":41035,"ĠViv":41036,"Ġ//}ĊĊ":41037,"Ġaprès":41038,".getPosition":41039,"(KeyCode":41040,"ĠSilva":41041,"Ġmeteor":41042,"Ġendorsement":41043,"Overview":41044,"ĠPoss":41045,".Inject":41046,"Ġevenly":41047,"Ġvisualization":41048,"Ġwchar":41049,"ĠHDMI":41050,"Ġfunct":41051,"ickname":41052,"','','":41053,"Ġforwards":41054,"ManagedObject":41055,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":41056,"ĉserver":41057,"ĠOutlook":41058,"ĠChronicle":41059,"Ġdubbed":41060,"Ġdok":41061,"ĠWear":41062,".AL":41063,"paren":41064,".Interface":41065,"Interfaces":41066,".cod":41067,"Ġdib":41068,".Globalization":41069,"ĠAcademic":41070,"Ġassms":41071,"Autom":41072,"Ġlw":41073,"ĠNW":41074,"Ġ&&čĊ":41075,"Ġproblema":41076,"ĠManufacturing":41077,"limits":41078,"-mobile":41079,"Ġfilme":41080,"/map":41081,"Ġdoit":41082,"ĠInk":41083,"Ġsued":41084,".arr":41085,"Ġundermin":41086,"ĠProc":41087,"crollView":41088,"__$":41089,"Ġsidewalk":41090,"(that":41091,"ื":41092,"[q":41093,"grammar":41094,"Ġtë":41095,"quito":41096,"Ġspiral":41097,"extended":41098,"Ġfocal":41099,"Ġdigging":41100,"pas":41101,"ĠTall":41102,".proxy":41103,"itures":41104,"TRACT":41105,"ĠRealm":41106,"Ġfeder":41107,"Ġoriented":41108,"ĠAlternative":41109,"Ġowe":41110,"Ġsourced":41111,"inker":41112,".det":41113,"Sep":41114,"ĠQui":41115,"ĠPalmer":41116,"(_,":41117,"samples":41118,"oyer":41119,"ullan":41120,"quez":41121,"Edges":41122,"Ġshout":41123,"ĠAchie":41124,"Ġhaar":41125,"_Construct":41126,"Ġpremature":41127,"Ġrevert":41128,"').Ċ":41129,"Ġschn":41130,"filtered":41131,"nullptr":41132,"Saved":41133,"itecture":41134,"CLA":41135,"Ġvl":41136,"stell":41137,"ĉMe":41138,"ĠLip":41139,"national":41140,"Ġwholly":41141,"Ġsprings":41142,".Timer":41143,"ĉsrc":41144,"elsen":41145,"åħ¶":41146,"Ġcommunicating":41147,"ĠQuiz":41148,"Ġteng":41149,"Ġgez":41150,"ĠOutside":41151,".Sign":41152,"(cs":41153,"Ġdisputes":41154,"ĠWeiss":41155,"annes":41156,">No":41157,"ĠBach":41158,".removeAll":41159,"refer":41160,"/dashboard":41161,"ĠAjax":41162,"IndexChanged":41163,"ĠWeak":41164,"'\"Ċ":41165,"Ġsights":41166,"accessToken":41167,"ĠJoi":41168,"(domain":41169,"ĉcv":41170,"Ġcontinuation":41171,"Ġplum":41172,"adir":41173,".setMessage":41174,"Ġï¼Į":41175,"Ġswallow":41176,"ĠLamp":41177,"Ġqw":41178,"Ġuu":41179,"Coin":41180,"ubic":41181,"ĠDeals":41182,"race":41183,"Ġdictator":41184,"Ġmeme":41185,"turned":41186,"ĠJulie":41187,".gridColumn":41188,"Ġpuppy":41189,"Ġpam":41190,"Ġ){čĊ":41191,"Ġinviting":41192,"Ġfrench":41193,"vim":41194,"Ġwrapping":41195,"Ġ#-}Ċ":41196,"([-":41197,"Early":41198,"Ġshiny":41199,".faces":41200,"Ġrebell":41201,"abcdef":41202,"ält":41203,"Ġestimation":41204,"phys":41205,"losures":41206,"_REL":41207,"Ġexclusion":41208,"ĠSkype":41209,"weise":41210,"-stop":41211,"nothing":41212,"ĠEgg":41213,"isors":41214,"Richard":41215,"Ġcounseling":41216,"Ġcommem":41217,"ĠQMessageBox":41218,"ĠSynd":41219,"ĠFrost":41220,"ĠCompetition":41221,"ĠAwake":41222,"Ġted":41223,"iciones":41224,"ĠDevComponents":41225,"VERTISEMENT":41226,"otti":41227,".runner":41228,"Ġuniquely":41229,".flag":41230,"ĉrs":41231,"_generic":41232,"Ġ```Ċ":41233,"ACHINE":41234,"Ġmein":41235,"(Application":41236,"(br":41237,"Ġratios":41238,":,":41239,"ĠXCTest":41240,"ustainable":41241,"-www":41242,"itles":41243,"_TEMP":41244,"Ġsyst":41245,"umericUpDown":41246,"ĉassertTrue":41247,"Ġwf":41248,".peek":41249,"ĠBulg":41250,"Ġterrifying":41251,".MODE":41252,"ĠGW":41253,"ár":41254,"Ġfic":41255,"Ġcommitments":41256,"-tech":41257,"ĠLiquid":41258,"opez":41259,"zheimer":41260,"aña":41261,"-media":41262,"(animated":41263,"_goal":41264,"Ġgum":41265,"ystone":41266,".SET":41267,"ĠWend":41268,"setCellValue":41269,"Ġmsgs":41270,"cash":41271,"ALLOC":41272,"/aws":41273,"Ġmicrowave":41274,".Pointer":41275,"ĉConsole":41276,"_sorted":41277,"ĠFilip":41278,"Prod":41279,"Ġ//!<":41280,"ingroup":41281,"Ġks":41282,"_TRI":41283,"Ġteaspoon":41284,"ĠATT":41285,"Ġrecovering":41286,"ĠGLOBAL":41287,".Par":41288,"Ġ/>;Ċ":41289,"Ġmarble":41290,"ulators":41291,"ĠCycle":41292,"Ġherbs":41293,"_metric":41294,")!":41295,"_CLOCK":41296,"_Button":41297,"Harry":41298,"è¿Ľ":41299,"Ġstrains":41300,"ĠAppBar":41301,"ĠChan":41302,"/video":41303,"Ġbam":41304,".Progress":41305,"$f":41306,"lemen":41307,"Ġirregular":41308,"ĠDuncan":41309,"ĠMint":41310,"-video":41311,"া":41312,"ówn":41313,"ĠEMPTY":41314,"Ġstacked":41315,"ĠHA":41316,"_cut":41317,"Ġwherein":41318,"ĠWays":41319,"(counter":41320,"è¯ķ":41321,"FormGroup":41322,"Ġblew":41323,"courses":41324,"Ġproductos":41325,"rys":41326,"ĠRestr":41327,"Ġstyling":41328,">s":41329,"Ġpiv":41330,"Ġitertools":41331,"getRepository":41332,"ĠIk":41333,"_devices":41334,"layui":41335,"Ġhalfway":41336,"Ġfranç":41337,"Ġtuning":41338,"OA":41339,"_Node":41340,"arde":41341,"Ġfierce":41342,"licted":41343,"#čĊ":41344,"Ġbreakthrough":41345,"ĠErik":41346,"Ġbride":41347,"Ġ.\"":41348,"culus":41349,"inside":41350,"ĠIndianapolis":41351,"ĠEE":41352,"Ġyog":41353,"urret":41354,".fs":41355,".grad":41356,"_cards":41357,"_accuracy":41358,"_epi":41359,"queda":41360,"/org":41361,"éªĮ":41362,"Ġcompte":41363,"))[":41364,"Outside":41365,"Greater":41366,"ĠRenderer":41367,".actor":41368,"Accounts":41369,"Idle":41370,"_hours":41371,"erner":41372,"Joined":41373,"Ġmenj":41374,"requires":41375,"ĠOPER":41376,".removeChild":41377,"ĉsp":41378,"Ġesse":41379,"rift":41380,"xFE":41381,"ĠShakespeare":41382,"____________":41383,"Ġbudgets":41384,"ModelState":41385,"fillable":41386,"-component":41387,"ocos":41388,"ĠBUTTON":41389,"/io":41390,",out":41391,"sms":41392,"Thomas":41393,"ĠArmed":41394,"resume":41395,"Ġrotating":41396,"ĠVault":41397,"Ġseus":41398,".(*":41399,"Ġamino":41400,"Ġ[]);ĊĊ":41401,"Ġprovoc":41402,"nox":41403,".GetEnumerator":41404,"=======Ċ":41405,"æĸĻ":41406,"_scroll":41407,"Ġfilmed":41408,"ĠSoci":41409,"gap":41410,"gro":41411,"Vote":41412,"\"But":41413,"_RC":41414,"Animal":41415,"ÂĢ":41416,"ibile":41417,"Ġawaken":41418,"orest":41419,"inja":41420,"ĠIvan":41421,"(Command":41422,"Ġ*****":41423,"η":41424,"Ġkvinder":41425,"/helpers":41426,"_cases":41427,"tg":41428,"ìĦ¸":41429,"Registered":41430,"ĉpass":41431,"_digits":41432,"Ġcontour":41433,"Ġinfants":41434,"Ġjustification":41435,"ĠFortunately":41436,"Contr":41437,"ĠonCreateView":41438,"_SAMPLE":41439,"ĠallowNull":41440,"Ġnud":41441,"Ġfetched":41442,"_equ":41443,"ĠUnable":41444,"=\\\"\"":41445,">{Ċ":41446,"Ġcommittees":41447,"istema":41448,"+\".":41449,"ÃŃan":41450,"mant":41451,"Ġsoutheast":41452,"ï¼ĮĊ":41453,"dialogs":41454,"PROJECT":41455,"charger":41456,"-port":41457,"(uuid":41458,".export":41459,"Six":41460,"ĠRP":41461,"Prem":41462,"Ġconscience":41463,"ĠmarginRight":41464,"_distribution":41465,"yaml":41466,"resizing":41467,"Dock":41468,"ĠLocations":41469,"GY":41470,"Seed":41471,"BUFFER":41472,"ossip":41473,"ullen":41474,"Things":41475,"-self":41476,".poll":41477,"PLAYER":41478,"Ġå®":41479,"GROUP":41480,"ĠAway":41481,"Ġgospel":41482,"xfd":41483,"Mary":41484,"ĠPortable":41485,"TURE":41486,"Ġutilis":41487,"Ġseit":41488,"Ġstrand":41489,"Ġtransc":41490,"Ġ(^":41491,"ĠAlfred":41492,".mem":41493,".circle":41494,"Ġ~/":41495,"forcing":41496,"Ġriot":41497,"prox":41498,"THON":41499,"ización":41500,"ĠNI":41501,"rost":41502,"Ġdispro":41503,"_instances":41504,"ï¼ĮâĢľ":41505,"ographer":41506,"endas":41507,"ĠIsaac":41508,"ĠPine":41509,"/dis":41510,"ĠcolorWith":41511,"iterate":41512,"_stride":41513,"Ġpunto":41514,".EventArgs":41515,"(center":41516,"Ġneighboring":41517,"ĠPrison":41518,"ĠMessenger":41519,"Ġepidemic":41520,"dao":41521,"_complex":41522,"Ġgravel":41523,"_DIP":41524,"ément":41525,"ĠAri":41526,"_bitmap":41527,".quit":41528,"(valid":41529,"Ġpend":41530,"Ġrespiratory":41531,"Ġrebound":41532,"DefaultValue":41533,"ãĥŃ":41534,"Ġcommits":41535,".tests":41536,"_fr":41537,"itet":41538,".sf":41539,"Ġspacecraft":41540,"critical":41541,"Ġdepressed":41542,"ĠAnyObject":41543,"Ġunb":41544,"Ġdiscern":41545,"(mysql":41546,"Latin":41547,"ĠBog":41548,"ĠWildlife":41549,"ToFile":41550,"ioxid":41551,"@RestController":41552,"Ġ\"$(":41553,"Ġ<<\"":41554,"Ġdefects":41555,"Ġdatum":41556,"hin":41557,"Ġrealizar":41558,"anyahu":41559,"ĠSig":41560,"@Data":41561,"adaptive":41562,"ĠCatherine":41563,".cr":41564,"ĠCOOKIE":41565,"Ġpictured":41566,"ĠFighter":41567,"Queryable":41568,"ĠAnyway":41569,"ĠGLFW":41570,"_namespace":41571,"_ft":41572,"Ġ])":41573,"Organization":41574,"Ġconstitutes":41575,"Ġquand":41576,"(chunk":41577,"\"/>čĊ":41578,"ĠLakes":41579,"mainwindow":41580,"Carthy":41581,"spin":41582,"(csv":41583,":red":41584,"-commerce":41585,"ู":41586,"Ġdiscovering":41587,"Ġeco":41588,"_fac":41589,"inceton":41590,"ĠGreens":41591,"jwt":41592,"ص":41593,"ĠBroncos":41594,"ĠGoods":41595,"(GTK":41596,"ĠreturnValue":41597,"Ġsiempre":41598,"Ġneutr":41599,"went":41600,"ĠNatal":41601,"Ġenthusiastic":41602,"á»į":41603,"FN":41604,"/database":41605,"Catalog":41606,"Ġbrun":41607,"ĠKash":41608,"_Pl":41609,"iscrim":41610,",width":41611,"Ġinmates":41612,"Assignment":41613,"ĠHaven":41614,"Ġplayground":41615,"exam":41616,"@Controller":41617,"uliar":41618,".getParent":41619,"Ġ\";ĊĊ":41620,":size":41621,"issors":41622,"Ġfis":41623,"Ġalc":41624,"ensation":41625,"ĠNixon":41626,"Ġmighty":41627,"-str":41628,"_special":41629,"_ADC":41630,"ĠTwig":41631,"umbling":41632,"-address":41633,"Ġheroin":41634,"YTE":41635,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ":41636,"Friend":41637,"Ġave":41638,"ĠPNG":41639,"ĠKurdish":41640,"DataSetChanged":41641,"Ġblades":41642,"bral":41643,"Steam":41644,"Ġsigu":41645,"IRTUAL":41646,"acos":41647,"UDP":41648,"(database":41649,"hec":41650,"ĠStrings":41651,"_scalar":41652,"ĉdesc":41653,"ĠTLS":41654,";\"Ċ":41655,"ĠCorbyn":41656,"SimpleName":41657,"uell":41658,"ĠEntre":41659,"ellites":41660,"-place":41661,"Ġfrankly":41662,"ĠErf":41663,"CEL":41664,"ĠpaÃŃs":41665,"Ġhedge":41666,"Ġlatent":41667,"ĠIRQ":41668,"ĠHerald":41669,"ĠPrec":41670,"ë³´":41671,".TEXT":41672,"Salary":41673,"Ġautumn":41674,"Ġtravail":41675,".Sum":41676,"Ġcared":41677,"Mor":41678,"Ġintuitive":41679,"Ġjournals":41680,"_IT":41681,"ĠTrou":41682,"ä¼ł":41683,"HasColumnName":41684,"Composite":41685,"Ġspice":41686,"_disk":41687,"_CODES":41688,"ĠIntroduced":41689,"iona":41690,"Ġnuestra":41691,"oct":41692,"ĠĠĠĠĊĠĠĠĠĊĠĠĠĠĊ":41693,"(parameter":41694,"Ġstudios":41695,"ĠprojectId":41696,"Ġbdsm":41697,".SqlClient":41698,"imizer":41699,"ĠCARD":41700,"+t":41701,"aan":41702,".sol":41703,"_Adjust":41704,"Ġrighteous":41705,"ĠLogging":41706,".filters":41707,"_TAB":41708,"ĉsys":41709,"rophic":41710,"otherapy":41711,"ĠBrowse":41712,"keyboard":41713,"RON":41714,"+\\":41715,"ropped":41716,"Ġextensively":41717,"fk":41718,"Ġlime":41719,"years":41720,"Exc":41721,"Ġsph":41722,"Ġcheating":41723,"andro":41724,"ÃŃo":41725,"Ġprince":41726,"oire":41727,"ĠDestination":41728,"ĠConverts":41729,"Ġupstream":41730,"oled":41731,"Ġservants":41732,"Ġsemantic":41733,"Ġcrunch":41734,"Ġeventual":41735,"runner":41736,"/error":41737,"Spin":41738,"Ġsecretly":41739,"Ġassemble":41740,".Person":41741,"enderror":41742,"_<":41743,"Ġpendant":41744,"Sleep":41745,"ĠChemistry":41746,"Ġbosses":41747,"lk":41748,"))),Ċ":41749,"Blockly":41750,"DEVICE":41751,"Ġreflecting":41752,"Ġample":41753,"Milliseconds":41754,"ĠPresidential":41755,"Ġusuarios":41756,"ĠNZ":41757,"ĠSalary":41758,"ĠAmanda":41759,"_np":41760,"jury":41761,"Ġkön":41762,"Ġtherapist":41763,"Ġhomosexual":41764,"ĠDrake":41765,"-window":41766,"ĠLocated":41767,".Driver":41768,"ĠVIDEO":41769,"Ġmerchants":41770,"ĠChest":41771,"-lock":41772,"/php":41773,"Ġmilano":41774,"_STYLE":41775,"arger":41776,"idea":41777,"GUID":41778,"advanced":41779,"meal":41780,"OptionsItemSelected":41781,"='%":41782,"ĠCham":41783,":data":41784,"(stat":41785,"WillAppear":41786,"Ġinformal":41787,"aji":41788,"Ġreproductive":41789,"ĠCAS":41790,"ãģ£":41791,"FUNC":41792,"ĠRuth":41793,")+(":41794,"CONST":41795,"ĠFans":41796,"ĠgroupId":41797,"xffffffff":41798,"Ġsampler":41799,"Ġ}}\">":41800,".the":41801,"Ġhollow":41802,"WAY":41803,"ĠFaculty":41804,"AttributedString":41805,"ĠLooks":41806,"ĠRex":41807,"jk":41808,"ĠMIL":41809,"Ġbard":41810,".Long":41811,"Ġlivest":41812,"Ġskal":41813,"icism":41814,"MAIN":41815,"Ġmucho":41816,"BODY":41817,"Ġese":41818,"ĉuse":41819,"Foot":41820,".SQLException":41821,"Ġinheritance":41822,"received":41823,"Ġputas":41824,"edis":41825,"alsa":41826,"ĠErrorMessage":41827,"Booking":41828,"Ġtract":41829,"acz":41830,"ĠCant":41831,"_regex":41832,"Ġideological":41833,"Ġjihad":41834,"hos":41835,"/sys":41836,"colm":41837,"(pool":41838,"Ġestán":41839,"ĠPending":41840,"emás":41841,"Ġktóry":41842,"));ĊĊĊ":41843,"transactions":41844,"Ġwield":41845,"itere":41846,"erture":41847,"_ss":41848,"Ġstretching":41849,"Ġprisoner":41850,".ReadAll":41851,"Ġbesch":41852,"--;čĊ":41853,"Ġcrisp":41854,"_SCAN":41855,"Ġae":41856,"Strict":41857,"ĠMinneapolis":41858,"ĠBoeing":41859,"aris":41860,"rek":41861,"_pipe":41862,"Ġpriests":41863,"(EIF":41864,"ehicles":41865,"ĠInteractive":41866,"between":41867,"ĉNullCheck":41868,"ĠBlair":41869,"ĠLt":41870,"_inline":41871,"ethyl":41872,"¼":41873,"_packages":41874,"Ġbarrels":41875,"_he":41876,"Ġregexp":41877,"_pts":41878,"_Handler":41879,"ingular":41880,"ĠNissan":41881,"ĠRanch":41882,"Ġperch":41883,"Unsupported":41884,"Smith":41885,"ĠLegends":41886,"Mi":41887,"Ġgf":41888,"steder":41889,"Ġacquiring":41890,"Ġsimulator":41891,"(),\"":41892,"receive":41893,"Ġinplace":41894,"ACTION":41895,"ĠWebDriver":41896,"filesystem":41897,"'+Ċ":41909,"Ġcredible":41910,"amat":41911,"playing":41912,".setImageResource":41913,"quel":41914,"Ġpodr":41915,"geom":41916,"Ek":41917,"ĠQatar":41918,"Ġgeld":41919,"?',Ċ":41920,"Ġcyl":41921,"(ax":41922,"ĠWI":41923,"urally":41924,"ĠBrasil":41925,"Ġsenza":41926,"aley":41927,"onen":41928,"Ġbah":41929,"Ġmolecule":41930,"Rad":41931,"è¿°":41932,"ANCH":41933,"-background":41934,"-agent":41935,"Ġprolifer":41936,":boolean":41937,"Ġtide":41938,"erializer":41939,"_;čĊ":41940,"Fee":41941,"**)":41942,"ergy":41943,"ĠHonor":41944,".Logging":41945,"iris":41946,"Ġundermine":41947,"ĠDy":41948,"Ġtyr":41949,"Ġdeque":41950,"Ġdamer":41951,"([])Ċ":41952,".layoutControlItem":41953,"peated":41954,"CAN":41955,"ragments":41956,"Land":41957,")]);Ċ":41958,"ĠSah":41959,"ĠDECL":41960,"Within":41961,"ĠNamespace":41962,"another":41963,"sembling":41964,".describe":41965,"Consum":41966,"ĠFear":41967,"given":41968,"Orange":41969,"This":41993,"ĠdataIndex":41994,"Ġprintable":41995,"ĠEyes":41996,"_targets":41997,"(Py":41998,".over":41999,"Ġbru":42000,"ampton":42001,"Ġplaintiff":42002,");Ċ":42013,"invest":42014,".*ĊĊ":42015,"Ġtélé":42016,"Ġsuperf":42017,"Ġcascade":42018,"DTD":42019,"Ġvivid":42020,"Ġsubsidies":42021,"ĠHass":42022,"Ġcollaps":42023,"Ġceramic":42024,"{}\".":42025,"ĠLeakage":42026,"-trash":42027,"collapsed":42028,"-social":42029,"ĠChad":42030,"Ġinclined":42031,"Ġsto":42032,"Ġstoryboard":42033,".payment":42034,"stackoverflow":42035,"ĠRaiders":42036,"Ġ#'":42037,"olicies":42038,"ìľ¼ë¡ľ":42039,"emap":42040,"Ġkj":42041,"Ġquota":42042,"ĠGardens":42043,"ë²Ī":42044,"ĠAngels":42045,"Ġoft":42046,"Ġlowercase":42047,"ĠiParam":42048,"Ġcheapest":42049,"unta":42050,"_pkt":42051,"icators":42052,"Ġleurs":42053,"Ġdecreases":42054,"ĉdefine":42055,"PREC":42056,"ammers":42057,"ĠPreparedStatement":42058,"(direction":42059,"Ġcrews":42060,"arked":42061,"ĠMemphis":42062,"ĠSell":42063,"GTK":42064,"Ġmaid":42065,":disable":42066,"éĽĨ":42067,"ĠPf":42068,"Ġalbeit":42069,"openh":42070,"?>\">Ċ":42071,".getSource":42072,"(scale":42073,"Du":42074,"ĠPIL":42075,"_refresh":42076,"Ġbets":42077,"(car":42078,"ĠVon":42079,"|--------------------------------------------------------------------------Ċ":42080,"ĠGrat":42081,"Much":42082,"(Dialog":42083,".stopPropagation":42084,"Ġtek":42085,"Ġexits":42086,"'],$":42087,"ĠphoneNumber":42088,"ucs":42089,"ecimal":42090,"--------------":42091,"inp":42092,".pojo":42093,"Ġcorpus":42094,"Ġpractitioners":42095,".pic":42096,"\"testing":42097,"ĠstringBy":42098,".NotNull":42099,"Ġrang":42100,".Dynamic":42101,"_Render":42102,"аÑĤа":42103,"Waiting":42104,"ĠWik":42105,"Ġoverwhelmed":42106,"%\">":42107,"ĠAE":42108,"}}>Ċ":42109,"uw":42110,"_typ":42111,"Ġbuckets":42112,"Ġgreeting":42113,"Ġlaughter":42114,"Ġantagon":42115,"uggestion":42116,"-email":42117,"ĉtop":42118,"Ġeros":42119,"_tri":42120,"Ġissuing":42121,"Ġhá":42122,"Ġisolate":42123,"Overflow":42124,",E":42125,"Ġnutritional":42126,"ĠAbbott":42127,"Ġnf":42128,".touch":42129,".fetchall":42130,"_zip":42131,"\")}Ċ":42132,"Ġamat":42133,"ĠCisco":42134,"ĠnÃ¥":42135,"PLEX":42136,"Ġsei":42137,"foto":42138,".toJson":42139,"å¤ļ":42140,"ĠKlein":42141,"Ġlibc":42142,"Ġminers":42143,"å¢":42144,"-print":42145,"ĠPride":42146,"Todos":42147,"Ġmasked":42148,"ĠsetData":42149,"Ġtelefon":42150,"Ġunhappy":42151,"ĠTables":42152,"geb":42153,"(debug":42154,"_allowed":42155,"-access":42156,"Ġlogistics":42157,"Ġgems":42158,"ĠMature":42159,"Ġrsp":42160,"ĠAlle":42161,".getBytes":42162,"\\web":42163,"ynchronized":42164,"Paragraph":42165,"Ġthrottle":42166,".sqlite":42167,"consulta":42168,"ĠSeah":42169,"Ce":42170,"Ġsubmar":42171,"ERE":42172,"Vous":42173,"Ġreddit":42174,"Ġsqlalchemy":42175,"-mile":42176,"ocide":42177,"Pour":42178,"}}\">Ċ":42179,"stead":42180,"Ġ@(":42181,"Ġ[])":42182,"ĠAds":42183,"Ġoverload":42184,"ridden":42185,"ĠDesert":42186,"ĠWrap":42187,"ĠPortuguese":42188,"etz":42189,"ĉfirst":42190,"Ġmilestone":42191,"æĹł":42192,"ÑĥÑī":42193,"(success":42194,"\")Ċ":42363,"ĠDollar":42364,"Ġemoji":42365,"Carousel":42366,"-player":42367,"Ġadjusting":42368,"Ġjuga":42369,"allenges":42370,"gene":42371,"(bodyParser":42372,"lopedia":42373,"ĠBehind":42374,"Ġsleeves":42375,"Ġdragging":42376,"ĠChevrolet":42377,"Ġbiz":42378,"ivities":42379,"ĠFrequency":42380,",char":42381,".WHITE":42382,"_preview":42383,")';Ċ":42384,"_ax":42385,"IONS":42386,".cpu":42387,".inputs":42388,"UBE":42389,"_feed":42390,"ĠSupplement":42391,"!).":42392,"esus":42393,"ĠUDP":42394,"Ġmicrophone":42395,"Ġconfirms":42396,".isNotEmpty":42397,"\":\"\",Ċ":42398,"_SCREEN":42399,"ĉexpected":42400,"+-+-+-+-":42401,"ĠHait":42402,"fastcall":42403,"Ġdepict":42404,"vb":42405,"_picture":42406,"ĉdescription":42407,"ĠWife":42408,"uci":42409,"Ġvicious":42410,"ä»ĸ":42411,"ueba":42412,"ĠsetUser":42413,"ãģ¡":42414,"Ġdiving":42415,"Ġopera":42416,"usercontent":42417,"arah":42418,")},":42419,"yun":42420,"velt":42421,"Ġuncovered":42422,"Ġhips":42423,"Ġoscill":42424,"Ġasserting":42425,"ĠXi":42426,".restore":42427,"kea":42428,"Ġspelling":42429,"Ġderive":42430,"abwe":42431,"ĠDow":42432,".setType":42433,"_vs":42434,"Ġcozy":42435,".categories":42436,"Org":42437,"_mgr":42438,"Ġdungeon":42439,"collectionView":42440,"ĠBlank":42441,"acias":42442,"ää":42443,"_cleanup":42444,"_ACTIVITY":42445,"Ġtriangles":42446,".MenuItem":42447,"Ġiphone":42448,"ĠWon":42449,"]]ĊĊ":42450,"ĠComparison":42451,".Doc":42452,"Ġcanonical":42453,"ĠSudan":42454,"'){":42455,"UpInside":42456,"builtin":42457,"ENCY":42458,"xbe":42459,"Ġchuck":42460,"Ġcontradict":42461,"Ġnuestro":42462,"Ġarchitectural":42463,"ĠFib":42464,"Ġcompares":42465,"*k":42466,"Cfg":42467,"çĦ¡":42468,"nten":42469,"Matches":42470,"ĠDOWNLOAD":42471,"_HANDLER":42472,"management":42473,"[S":42474,"ENG":42475,"ÂĢÂ":42476,"fang":42477,"Ġslipped":42478,"ĠLanka":42479,"escaping":42480,"Ġtackles":42481,"ĠPedro":42482,".Prop":42483,".''":42484,".Generated":42485,".NewGuid":42486,"atrigesimal":42487,"illon":42488,"Ġstatistic":42489,"species":42490,"holding":42491,"Drupal":42492,"Ġfundamentally":42493,"Ġbondage":42494,"Ġresolutions":42495,"InlineData":42496,"\\Type":42497,"estion":42498,".wrap":42499,"Ġwarriors":42500,"ĠLOCAL":42501,"Archive":42502,"Ġembraced":42503,"á»§":42504,".Ver":42505,"ĠAffordable":42506,"olesale":42507,"ĠApplied":42508,"ĠConversion":42509,"mega":42510,"_cam":42511,"Ġceremon":42512,"aurus":42513,"ĠVolk":42514,".opens":42515,"/about":42516,"ĠStd":42517,"journal":42518,"()){čĊ":42519,",\"\\":42520,"(Arrays":42521,"ĠDense":42522,"aseña":42523,"änner":42524,"/stat":42525,"userData":42526,"Ġgerman":42527,"Ġtz":42528,"worthy":42529,"FormatException":42530,"pherd":42531,"Ġsmiles":42532,"ĠWhenever":42533,"(adapter":42534,".badlogic":42535,"Ġbriefing":42536,".GridColumn":42537,"-char":42538,"dimension":42539,"ĠCopper":42540,"Ġninth":42541,"Ġ'{{":42542,"Ġrav":42543,"_Table":42544,"Ġderivatives":42545,"ĠRaise":42546,"ĠFut":42547,"armor":42548,"-padding":42549,"Ġremin":42550,"ĉstyle":42551,"ĠMembership":42552,"Ġspreads":42553,"Ġgalleries":42554,"ĠClarke":42555,"Ġconception":42556,"minute":42557,"Ġabusive":42558,"_adj":42559,"Ġterrific":42560,"Ġovert":42561,"ourcing":42562,"Ġentrada":42563,"levels":42564,"Ġcritique":42565,"Ġrespects":42566,"ĠMMA":42567,"iene":42568,"Ġencaps":42569,"ĠRaymond":42570,"Divider":42571,"ivable":42572,"baz":42573,"Ġ@_;Ċ":42574,"ĠClaire":42575,"Ġurging":42576,"CEE":42577,"Ġtransformer":42578,"discord":42579,"ĠJourney":42580,"tos":42581,"Ġcompetitions":42582,"ĠOBJ":42583,"ĠBis":42584,"Ġrelaxation":42585,"idy":42586,"_INSTANCE":42587,"ĠPref":42588,"dados":42589,"iciencies":42590,"ĠMediaQuery":42591,"ĠCube":42592,"ĠStrange":42593,"gpu":42594,"(days":42595,"_InitStruct":42596,"Ġfingerprint":42597,"emat":42598,"ĠGecko":42599,"Ġrails":42600,"ĠLum":42601,"straction":42602,"igung":42603,"(movie":42604,"_dictionary":42605,"_interrupt":42606,"ĠQC":42607,"iked":42608,"appendChild":42609,"recipient":42610,"ré":42611,"Ve":42612,"Ġtowel":42613,".lastIndexOf":42614,"Ġplacebo":42615,"ĠWie":42616,".esp":42617,"(Debug":42618,"operative":42619,"Ġdeceased":42620,"&id":42621,"ĉmutex":42622,"elic":42623,"Ġbapt":42624,"ĉčĊčĊ":42625,"Ġfarther":42626,"Half":42627,".disable":42628,".menuStrip":42629,"leccion":42630,"ĠresultCode":42631,"Ġcans":42632,"-election":42633,"female":42634,"_FIX":42635,"ausible":42636,"ĠPOWER":42637,"Ġreconstruction":42638,"Ġscans":42639,".XtraBars":42640,"âĢĺs":42641,"Removed":42642,"Ġparagraphs":42643,"_margin":42644,"Ġlymph":42645,"Ġbos":42646,"lington":42647,"ĠBaptist":42648,"Ġadvertisements":42649,"ĠManage":42650,"/yyyy":42651,"IOUS":42652,"ENCES":42653,"ĠFiction":42654,"ĉmenu":42655,"ĠFileOutputStream":42656,"ovan":42657,"ĠFeng":42658,"Ġskipping":42659,"getClass":42660,"anni":42661,"Ġrebounds":42662,"Ġpublicity":42663,"Ġingres":42664,"usement":42665,"Ġthoughtful":42666,".Chart":42667,"Ġhatte":42668,"passport":42669,"Ġhooked":42670,"ĠLens":42671,"Ġflagship":42672,"Ġstip":42673,"ĠGEN":42674,"Ġclues":42675,"ipv":42676,"ĠRise":42677,"ĠGew":42678,"tablename":42679,"Ġforemost":42680,"_validate":42681,"_analysis":42682,"olla":42683,"Ġqualifications":42684,"Ġdistributions":42685,"ĠFlower":42686,"Ġtense":42687,"Ġthankful":42688,"Ġclutch":42689,"Ġunified":42690,"roads":42691,"Ġsiti":42692,"Ġstall":42693,"_PRIORITY":42694,"cstdlib":42695,"_USERNAME":42696,".bytes":42697,"?page":42698,"ermalink":42699,"ĠVeget":42700,"/vnd":42701,"-author":42702,".NONE":42703,"ĠConcurrent":42704,"ĠCry":42705,"Ġstarters":42706,"ĠInteraction":42707,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":42708,"ĠLEVEL":42709,"Ell":42710,"ĠcomboBox":42711,"ĠTheresa":42712,"tek":42713,"_Handle":42714,"Ġaby":42715,".gdx":42716,",end":42717,"(Local":42718,"Ol":42719,"knife":42720,"arial":42721,"ĠHoff":42722,"Ġprostituerade":42723,"Doctor":42724,"Instances":42725,".SetValue":42726,"ĉfrom":42727,"Ġluxurious":42728,"Indent":42729,"Allocator":42730,"_DRAW":42731,"(\",\",":42732,"ĠFrances":42733,"ĠgroupBox":42734,"(schema":42735,"Printf":42736,"ORIES":42737,"-gradient":42738,"Ġreput":42739,"arin":42740,"_DONE":42741,"incre":42742,"ignty":42743,"Ġexert":42744,"Ġ-.":42745,"/App":42746,"-through":42747,"Ġdeclining":42748,"Ġdessert":42749,"Ġincumb":42750,"Ġdesignation":42751,".PORT":42752,",strong":42753,"Ġsandbox":42754,"Ġwines":42755,"ĠPav":42756,"$str":42757,"askell":42758,"Ġhö":42759,"ĠPY":42760,"GetInstance":42761,"TextInput":42762,"gameObject":42763,"/events":42764,"createdAt":42765,"ĠlocalVar":42766,"ĠWHITE":42767,"pered":42768,"ilege":42769,"efficient":42770,",color":42771,"cate":42772,"ĠCafe":42773,"Ġsimilarities":42774,"Ġpumps":42775,"ĠHungary":42776,".Username":42777,"Ġskate":42778,"Ġtouchdowns":42779,"Ġaccelerate":42780,"ĠHelen":42781,"OMEM":42782,"ĠKun":42783,"_vol":42784,"ĠfindAll":42785,"ĠMenschen":42786,"ahead":42787,");\"":42788,"kommen":42789,"Ġpossessed":42790,".argmax":42791,".transition":42792,"ARP":42793,"OLUME":42794,"(script":42795,"ĠÐĺ":42796,"ĠFinding":42797,"onces":42798,"Io":42799,"Bold":42800,"Ġrenewal":42801,"_DIALOG":42802,"Ġdisreg":42803,"INTERN":42804,"Ġtoute":42805,"Ġelectr":42806,"ĠGross":42807,"ĉtrue":42808,".Fields":42809,"ĠWIDTH":42810,"ĠDent":42811,"ĠÃģ":42812,"NSNotification":42813,"Ġaos":42814,"Ġmelee":42815,".Validation":42816,"ĠDEC":42817,"-dependent":42818,"Ġsuic":42819,"Traits":42820,"$message":42821,"ĠDear":42822,"ĉFILE":42823,"languages":42824,".Prot":42825,".addr":42826,"-generation":42827,"ICON":42828,"Ġtransplant":42829,"-description":42830,"Ġchasing":42831,"Ġchees":42832,"Ġ}*/Ċ":42833,"Trad":42834,"queries":42835,"/widgets":42836,"subpackage":42837,"Ġespec":42838,"Ġcracked":42839,"Ġcompetitor":42840,"Purchase":42841,"-team":42842,"olecular":42843,"orThunk":42844,"&P":42845,"Ġrelent":42846,"/#{":42847,"ĠproductId":42848,"Ġè¾":42849,"ĠLav":42850,"ĠAlter":42851,".Mode":42852,"ADIO":42853,"grp":42854,"æ·»åĬł":42855,"Quit":42856,"Ġdepths":42857,"-category":42858,"ĠDATABASE":42859,"SPELL":42860,"ĠFalcon":42861,"ĠQStringList":42862,"Ġ''.":42863,"ĠInstitution":42864,"damage":42865,"azor":42866,"belongsTo":42867,"verages":42868,"ĠNONE":42869,"ippets":42870,",\\Ċ":42871,"Ġfootprint":42872,"_archive":42873,"nak":42874,".getField":42875,"ĠReflection":42876,"Ġ']":42877,"ĠHBO":42878,"_discount":42879,"Ġincest":42880,"ĠDodge":42881,"ĠWade":42882,".NO":42883,"\"encoding":42884,"ĠBlockchain":42885,"Ġlawsuits":42886,"ĠMaint":42887,"chten":42888,"Ġétait":42889,"Ġktóre":42890,"_ctl":42891,"(timer":42892,"Battle":42893,"izo":42894,"ayed":42895,"IOR":42896,"ĠGlasgow":42897,"Ġsynth":42898,"_logs":42899,".pose":42900,"_AdjustorThunk":42901,"((&":42902,"Ġunsure":42903,"ystate":42904,"íķĺëĬĶ":42905,"OULD":42906,".ng":42907,"Ġdefaultdict":42908,"workspace":42909,"Ġselective":42910,"PickerController":42911,"YNAMIC":42912,".methods":42913,"Ġpathways":42914,"ĠFew":42915,"KG":42916,"CRYPT":42917,"following":42918,"ĠDLC":42919,"ĠSara":42920,"Ġpreset":42921,"estructor":42922,"ĠKurt":42923,"Ġairplane":42924,"Ġomp":42925,"ĠParents":42926,"ĠMartinez":42927,".complete":42928,"Ġbroadly":42929,"Ġscare":42930,"ĠMé":42931,"Ġelimination":42932,"Ġpoured":42933,"/sw":42934,"Ġcomun":42935,"Ġmasc":42936,"ĠOrganic":42937,"ĠStringUtils":42938,"ilateral":42939,"Ġreluctant":42940,"-age":42941,"Ġnz":42942,".\"\\":42943,"Ġpastor":42944,"alez":42945,"Ġefect":42946,"prov":42947,"/init":42948,"Ġpenn":42949,"unds":42950,"Ġssize":42951,"ĠProj":42952,"basename":42953,"Ġshells":42954,"ĠNeck":42955,"ĠEnforcement":42956,"vided":42957,"stown":42958,"Sphere":42959,"$r":42960,"ussen":42961,"afil":42962,"ĠTelegram":42963,"Ġanalytical":42964,"нÑĭе":42965,"usually":42966,"xn":42967,"Ġhistorian":42968,"ĠGregory":42969,"olph":42970,"ĠUna":42971,"Ġcontributes":42972,"%-":42973,"antiago":42974,"ÑĢед":42975,".region":42976,"Ġabrupt":42977,"ĠUnsupportedOperationException":42978,"ĠTASK":42979,"_finish":42980,"Ġnotorious":42981,"ĠVs":42982,"ĠMQ":42983,"Ġsunset":42984,"Ġunacceptable":42985,"arcer":42986,"Ġillumin":42987,"ĠOrb":42988,"Ġbh":42989,"Este":42990,"_dispatch":42991,"Ġripped":42992,"Ġtoujours":42993,"ĠParcel":42994,"_ll":42995,".userName":42996,".classes":42997,"SOURCE":42998,"(Number":42999,"елÑı":43000,"Ġheadphones":43001,"(side":43002,"constitution":43003,"annah":43004,"čĊĠĠĠĠĠĠĠĠčĊ":43005,"Ġcliff":43006,"-ref":43007,"Ġmostrar":43008,"ĠPowell":43009,"+y":43010,"ĠBG":43011,"_fragment":43012,".Port":43013,"Ġrealizing":43014,"paramref":43015,"Ġhometown":43016,"@Table":43017,"+\"--}}Ċ":43196,"French":43197,"EntityManager":43198,"ĠPlain":43199,"////////////////////////////////////////////////////////////////////":43200,"³":43201,"(RE":43202,"capt":43203,"Ġorganisms":43204,"Ġjets":43205,"olocation":43206,"ĠAppRoutingModule":43207,"Ġglorious":43208,"æľį":43209,"Ġdiscarded":43210,"ĉĉĉĉĠĠĠĠĠ":43211,"ĠArnold":43212,"lug":43213,"Ġparl":43214,"Ġhormones":43215,"Ġmah":43216,"ĠSonic":43217,"Ġorganizers":43218,"_PLATFORM":43219,".inv":43220,"Ġchord":43221,"ventional":43222,"ĉof":43223,"Episode":43224,".Enum":43225,"unkt":43226,"ĠDh":43227,"ĠJared":43228,"ĠNak":43229,"Ġintends":43230,"Endian":43231,"Ġaustralia":43232,"_cv":43233,"(resolve":43234,"Ġclinics":43235,"liked":43236,"ASHINGTON":43237,"inha":43238,"'*":43239,"ĠNP":43240,"_beh":43241,"Ġhf":43242,"Ġwür":43243,"categoria":43244,"$form":43245,"Ġsubway":43246,"ĠisActive":43247,"popular":43248,"Cour":43249,"Ġcooldown":43250,"Ġainsi":43251,"ĠGLuint":43252,"ereal":43253,"ĠarrayOf":43254,"Ġhatch":43255,"==========":43256,"resses":43257,"_PP":43258,".^":43259,"_decay":43260,"ĠBless":43261,"metrics":43262,"ĠCOPYING":43263,"ĠDumpster":43264,"ĠJosé":43265,"ĠDesigns":43266,"<":43269,"Ġ\"}Ċ":43270,"timezone":43271,"Ġeer":43272,"maxcdn":43273,"ĠESC":43274,"igaret":43275,"_connected":43276,"_reverse":43277,"Ġquestionable":43278,"ĠUSC":43279,"Ġtutti":43280,"Ġdropout":43281,"ĠActivities":43282,"ĠWinds":43283,"')));Ċ":43284,"Ġcongest":43285,"ģı":43286,"Ġprolonged":43287,"è¿Ļ":43288,"ĠCrossAxisAlignment":43289,"LEEP":43290,"ĠVALID":43291,"ĠGaz":43292,"Ġdependence":43293,"ĠPrix":43294,".CompilerServices":43295,"jump":43296,"Ġstrat":43297,"circ":43298,"ĠCUSTOM":43299,"xaa":43300,"Ġbmp":43301,"Ġbureau":43302,"Ġwaren":43303,"NX":43304,"(Window":43305,"ĠChristie":43306,"_FE":43307,"Ġtn":43308,"ĠOmega":43309,"communications":43310,"HomePage":43311,"completion":43312,"Ġsupplying":43313,"YPES":43314,"ável":43315,"åζ":43316,"(click":43317,"\\Contracts":43318,"/questions":43319,"Ġez":43320,"AMS":43321,".mesh":43322,"Ġ'\\Ċ":43373,"Robot":43374,"JsonObject":43375,"ĠDF":43376,"ĠProcessor":43377,"_should":43378,".protobuf":43379,"-users":43380,"Ġembry":43381,"FONT":43382,"Ġstartups":43383,"ĠDataSource":43384,")#":43385,"uros":43386,"_Color":43387,"Ġstandalone":43388,"}[":43389,"jd":43390,"Ġforgive":43391,"Ġngx":43392,"ĠGenerally":43393,"Ġconfigurable":43394,"/order":43395,"Ġvas":43396,"')\";Ċ":43397,"ĠRR":43398,"ĠTroy":43399,"Ġcompromised":43400,"ĠSwan":43401,"intendent":43402,"Central":43403,"_keeper":43404,"Ġarquivo":43405,"ĠReadOnly":43406,"_curve":43407,"kv":43408,"entin":43409,"è±":43410,"ĠEy":43411,".imread":43412,"ĠPam":43413,"iffe":43414,"ativity":43415,"xbc":43416,"Ġgrim":43417,"-filled":43418,"namese":43419,"']:":43420,"Ġaur":43421,"ĠGibson":43422,".MouseEvent":43423,"Ġlado":43424,"avadoc":43425,"Ġfamil":43426,"ĠModer":43427,"fps":43428,"ãĢĢãĢĢ":43429,"-example":43430,"ĠAlzheimer":43431,"ĠUtf":43432,"_arguments":43433,"Conclusion":43434,"textContent":43435,"remaining":43436,"Ġinterrupts":43437,"ĠBackup":43438,"ĠMong":43439,"Ġreceptors":43440,"histor":43441,".coroutines":43442,"Ġshouted":43443,"Alarm":43444,"Ġcombust":43445,"Ġgrote":43446,"ultural":43447,"(ids":43448,"--------------------------------------------------------------------------------":43449,"iplinary":43450,"Opts":43451,"ĠYale":43452,"localStorage":43453,"Ġequival":43454,"ĠFleet":43455,"\\b":43456,"*pi":43457,"ĠQLabel":43458,"æ¡":43459,"Ġvx":43460,"ĠACL":43461,"Ġsucesso":43462,"Ġperc":43463,"ĠNotre":43464,"Ġanarch":43465,"Ring":43466,"spb":43467,"Ġstrpos":43468,"stores":43469,"ĠMaple":43470,"(MainActivity":43471,"(\"\"))":43472,"ĠviewHolder":43473,"Quad":43474,"Ġigual":43475,"orsche":43476,".margin":43477,"Ġindie":43478,"Ġfranc":43479,"ĠFormBuilder":43480,"ĠParticip":43481,".flash":43482,"Ġstorms":43483,"Ult":43484,"Ġfen":43485,"[new":43486,"Ever":43487,"=\"Ċ":43488,"Ġlocalized":43489,"_follow":43490,"Ġnave":43491,"Ġdominance":43492,"(tile":43493,"Journal":43494,"ĠVC":43495,"Ġpenetration":43496,"ï¼ķ":43497,"Ġcompartment":43498,"Ġbids":43499,"Formatted":43500,"******/ĊĊ":43501,"(city":43502,"âĢĶit":43503,"[C":43504,"ĠuseCallback":43505,"aub":43506,")?.":43507,"ĠVAR":43508,"ĠSebastian":43509,"ĠMoss":43510,"Ġabundant":43511,"Greg":43512,"ÑĤа":43513,"_ci":43514,"Ġbibli":43515,"CRM":43516,"ĠAttempt":43517,"isme":43518,"dash":43519,"ãĢİ":43520,"_mu":43521,".FormattingEnabled":43522,"Indeed":43523,"-direct":43524,"Ġsucking":43525,"Ġpne":43526,"ocabulary":43527,"ĠPackers":43528,".Navigation":43529,"Ġpied":43530,"cribing":43531,"ĠStuart":43532,".ToDouble":43533,"ĠSecondary":43534,"Saving":43535,"ĠDut":43536,"ĠMadd":43537,"Magic":43538,",H":43539,".documentElement":43540,"ĠBST":43541,"Ġdiffers":43542,"Ġmoreover":43543,"_nd":43544,"SEARCH":43545,"пÑĢав":43546,"æ´":43547,"toMatch":43548,"Ġdecreasing":43549,"-member":43550,"ampus":43551,"(boost":43552,"Daily":43553,"DataGridView":43554,"ĠHttpContext":43555,"Ġhipp":43556,"_workers":43557,"-language":43558,"éĵ":43559,"Ġconsisted":43560,"athing":43561,"ĠMercury":43562,"$content":43563,"Ġpracticed":43564,"ĠModules":43565,"_DAY":43566,"Ġweaknesses":43567,"ĠLodge":43568,"Ġnar":43569,"ĠMate":43570,"Ġjp":43571,"ĠHttpHeaders":43572,"Ġsmo":43573,"ĠTOKEN":43574,"])(":43575,"Ġaqui":43576,"swagen":43577,"Ġsrv":43578,"ĉans":43579,"Around":43580,"ĠManuel":43581,"Ġfictional":43582,"ĠIMG":43583,"Ġ.'":43584,"ĠBerry":43585,"Ġwallpaper":43586,"sexual":43587,"iero":43588,"ĠçļĦ":43589,"ìĨĮ":43590,"BackingField":43591,"ĠAdrian":43592,"BASEPATH":43593,"Ġrepeats":43594,"Ġblues":43595,"Ġunpredict":43596,"_coll":43597,"stacle":43598,"ĠTumblr":43599,"ĠElf":43600,"Ġassurance":43601,"Ġcensus":43602,"ĠIMPORT":43603,"ENDER":43604,"anos":43605,"Ġ=(":43606,"ĠEllis":43607,"\"ĊĊĊĊ":43608,".win":43609,"ĠAbove":43610,"alon":43611,"_tick":43612,"Ġrepresentations":43613,"Ġæķ":43614,"wid":43615,"ĠArms":43616,"Lista":43617,"_failure":43618,"_cm":43619,".FlatAppearance":43620,"Ġthrone":43621,"Patch":43622,"ĠVoy":43623,"engl":43624,"Ġnegotiating":43625,">`":43626,"Ġshoots":43627,"ĠFPS":43628,".Year":43629,"ĠKiss":43630,"ención":43631,"reeting":43632,"FromFile":43633,"Ġresignation":43634,"Ø·":43635,"Ġtwins":43636,"ượ":43637,"Ġgebru":43638,".getContent":43639,".Tree":43640,"ĠEmployees":43641,"ĠFIFA":43642,"Ġcertainty":43643,"(Cl":43644,"Ġtotals":43645,"editable":43646,"à¥Ģ":43647,".Reporting":43648,"Mas":43649,"quiet":43650,".rules":43651,"ĠVO":43652,"conexion":43653,",K":43654,"Ġallocator":43655,"ĠPowder":43656,"\\Repository":43657,"Beat":43658,"_tipo":43659,"Ġ['',":43660,"_INTR":43661,"Ġ<<<":43662,"\");čĊ":43691,"dropIfExists":43692,"ĠBeg":43693,"_HAL":43694,"ĠcrossAxisAlignment":43695,"ĠEvidence":43696,"Ġpeculiar":43697,"Ġinstitute":43698,"veis":43699,"Ġfft":43700,"Ãģ":43701,"Ġzoekt":43702,"analy":43703,"ĠHomeland":43704,"Ġpenetr":43705,"uddenly":43706,"ĉelement":43707,"ĠBren":43708,"ĠTrudeau":43709,"ĠCuban":43710,"jam":43711,"uslim":43712,"_ev":43713,"Ġstems":43714,"}%":43715,"Ŀå§ĭ":43716,"Ġbranding":43717,"Ġcorrespondence":43718,".jquery":43719,"¢åįķ":43720,"ĠReads":43721,"(HttpStatusCode":43722,"assin":43723,"(slot":43724,"ĠGraduate":43725,"///<":43726,"Ġinformations":43727,"ENABLE":43728,"Ġpuis":43729,"Ġfinder":43730,"ĠBris":43731,"Ġnettsteder":43732,"_mid":43733,"Ġogs":43734,"ĠSterling":43735,"Ġarrog":43736,"strftime":43737,"|ĊĊ":43738,"Ġvox":43739,"ĠRegardless":43740,"Ġeso":43741,"ĠComfort":43742,".BooleanField":43743,"Ġuh":43744,"ACY":43745,"Ġsqueez":43746,"ĠVic":43747,"contro":43748,".lo":43749,"Ġire":43750,"ĠComedy":43751,"ë¶":43752,"Ġoriginated":43753,"Ġshipment":43754,"|max":43755,"_guid":43756,"levation":43757,"наÑı":43758,"(undefined":43759,"ĠDDR":43760,"Ġshootings":43761,"ĠLatino":43762,"ENDOR":43763,"Ġaveraging":43764,"Ġgreeted":43765,"Ġtheaters":43766,"ое":43767,"ĠdB":43768,"Ġgst":43769,"Ġdefinite":43770,".Storage":43771,".her":43772,"Ġafore":43773,"ĠReality":43774,"ĠGods":43775,"versed":43776,"Ġhandsome":43777,"Ġexcluding":43778,"(ad":43779,"Quotes":43780,"ĠScheme":43781,"?q":43782,"ĠTamil":43783,"Ticks":43784,"Ġpest":43785,"'n":43786,"Ġpornography":43787,"_modal":43788,"Ġ----------":43789,"Ġdisposable":43790,"FREE":43791,"Ġshark":43792,"CHE":43793,"Ġdepicted":43794,"Ġdemonstrations":43795,"ĠKilled":43796,"ĠRULE":43797,"Ġobsessed":43798,"Ġsimplified":43799,"Postal":43800,"Ġconceptual":43801,"Ġpst":43802,"Las":43803,"_PROJECT":43804,"ucceeded":43805,"olu":43806,"ÄŁi":43807,"Ġpersonalities":43808,"Ġreshape":43809,"Ġenclosed":43810,"ĉptr":43811,"Ġtutorials":43812,"Ġexploded":43813,"_DIRECTORY":43814,"åĨħ容":43815,"Ġcanon":43816,"Ġrecognise":43817,"PAD":43818,"ĠApprox":43819,"ĠRestore":43820,"ĠImportant":43821,"Ġheavier":43822,".Sequential":43823,"Earth":43824,"ĠMilk":43825,".setRequest":43826,".tem":43827,"Ġreconstruct":43828,"Ġskeptical":43829,"_Private":43830,"BUF":43831,"qua":43832,":a":43833,"Ġsek":43834,"Ġdwell":43835,"ossa":43836,"Ġrewarded":43837,"ий":43838,"(topic":43839,"_partition":43840,"Ġ__________________":43841,"Keywords":43842,"ĠFranco":43843,"Lite":43844,"Ġnaken":43845,"Ġза":43846,"OBJECT":43847,"Ġcrafts":43848,"ĠSwap":43849,".Xna":43850,".Connect":43851,"Ġbalcony":43852,"(real":43853,"ĠBarnes":43854,"bir":43855,"ĠTwenty":43856,"ayan":43857,"atars":43858,"ĠPropel":43859,"ĠIhnen":43860,"Upgrade":43861,"Ġcurb":43862,"-second":43863,"Ġneph":43864,".pres":43865,"ìŀħ":43866,".seq":43867,"Ġpadded":43868,"\"?":43869,"jl":43870,"ãĥ¬":43871,"')a":43875,"Coordinates":43876,"Ġenacted":43877,"ENTS":43878,"Ġlac":43879,".final":43880,"ĠPhpStorm":43881,"called":43882,"Ġinquiries":43883,".middleware":43884,"ĠDowntown":43885,"/';Ċ":43886,"Ġkilomet":43887,"accel":43888,"Ġquien":43889,"wstring":43890,"setData":43891,"Ġmanera":43892,"Ġmodular":43893,"rimp":43894,"Ġtariffs":43895,"âĢĻil":43896,"_THROW":43897,"/color":43898,"ĠHTMLElement":43899,"Ġcarro":43900,"Ġprere":43901,"Ġplotting":43902,"ĠPositive":43903,"ĠMachines":43904,"OTES":43905,"Ỽ":43906,"pleasant":43907,"Ġalte":43908,"Ġainda":43909,"these":43910,"Ġcors":43911,"ipay":43912,"ĠAdvisory":43913,"ĠRubio":43914,"jq":43915,"Ġlimestone":43916,"Ġdetached":43917,"设置":43918,"tenant":43919,"ĠDepth":43920,"alore":43921,"ĠÑģÑĤÑĢок":43922,"ĠFORE":43923,"ĠLay":43924,"presentation":43925,")');Ċ":43926,".subplots":43927,"Ïĥ":43928,"NOW":43929,"Gar":43930,"handles":43931,"abra":43932,"puties":43933,"ĠElectrical":43934,"Middle":43935,"ropic":43936,"ĠJD":43937,"ĠDyn":43938,"ĠBristol":43939,"ĠMcCarthy":43940,"Ġstriker":43941,"Ġenumerable":43942,"ĠEvan":43943,".defaults":43944,"quences":43945,")||":43946,"ĉtoken":43947,"âĹı":43948,"-dropdown":43949,"STORE":43950,"ĠGraphic":43951,"(pp":43952,"Expl":43953,"Ġupwards":43954,"ĠDistributed":43955,"ĠWEB":43956,"Jer":43957,"isNaN":43958,"çĶŁæĪIJ":43959,">R":43960,"üssen":43961,"efs":43962,"Ġuncover":43963,"Ġlud":43964,".calculate":43965,"Ġintptr":43966,"Ġmidfielder":43967,".Headers":43968,"Ġmf":43969,"eref":43970,".Metro":43971,"ĠSpeaking":43972,":b":43973,"Ġcryptocurrencies":43974,"Ġdemons":43975,"ĉEXPECT":43976,"Ġwicked":43977,"youtube":43978,":Int":43979,"ĠHindi":43980,"ĠCAT":43981,"Ġع":43982,"rar":43983,"omore":43984,"/per":43985,"/license":43986,"Ġreim":43987,"Ġawaiting":43988,"Ġlethal":43989,"ĠEF":43990,"rounded":43991,"ĠPlatinum":43992,"ĠвÑģе":43993,".coords":43994,".Device":43995,"/item":43996,"ĠWenn":43997,"compileComponents":43998,"ĠKinder":43999,".removeItem":44000,"Ġanda":44001,"bnb":44002,"Ġpra":44003,"(transaction":44004,"Ġembarrassing":44005,"ĉBOOL":44006,".contentView":44007,"Ġeventdata":44008,"atore":44009,"ĠprovidedIn":44010,"irma":44011,"Ġzona":44012,"_HW":44013,"æĻ":44014,"Ġstove":44015,"Ġcounterpart":44016,"_Product":44017,"_MANAGER":44018,"Ġinfring":44019,"ĠERA":44020,"_party":44021,"Ñij":44022,"Ġinici":44023,"_Request":44024,"Ġmiracle":44025,"ĠcancelButton":44026,"Spy":44027,"ató":44028,"Ġpolish":44029,"ĠNicole":44030,".displayName":44031,"\\Requests":44032,"ĠuseHistory":44033,"RouterModule":44034,"Ġstared":44035,"IDER":44036,"ÑĥнкÑĨи":44037,"Ġnota":44038,"$arr":44039,"pecified":44040,"Ġtopp":44041,"_DRIVER":44042,"/ng":44043,"åł":44044,"_tm":44045,"%timeout":44046,"\"":44488,"tlement":44489,"$(\"":44490,"FromString":44491,"ĠBild":44492,"Ġconventions":44493,"_native":44494,"ĠInspector":44495,"ĠPist":44496,"ubar":44497,"Ġregs":44498,"ĠPilot":44499,"Thus":44500,">'+":44501,"Ġcela":44502,".news":44503,"(Product":44504,"Living":44505,"Russia":44506,"Ġfacet":44507,"etical":44508,"Ġ['$":44509,"/[":44510,"ĠDire":44511,"Ġgases":44512,"ĠINFORMATION":44513,"ĠEat":44514,"ĠForums":44515,"ĠCharacters":44516,"_met":44517,"Ġìĭľ":44518,"Ġkings":44519,"achie":44520,"ĠLambda":44521,"Ġtimers":44522,"ĠLighting":44523,"ĠCasey":44524,"addir":44525,"andex":44526,".answer":44527,"ĠHip":44528,"ĠPrincip":44529,"StartDate":44530,"ĠãĢĮ":44531,"tres":44532,"Ġ&#":44533,".MaxValue":44534,"ĠProblems":44535,"Ġlatex":44536,"OfClass":44537,"ĠLynn":44538,"//'":44539,"Ġvoyage":44540,"Ġshuttle":44541,"ĠRoller":44542,"ĠRuntimeError":44543,"uya":44544,"Dic":44545,"ĉbuilder":44546,"Ġbullying":44547,"Ġsimplest":44548,".called":44549,"ĠLR":44550,"Ġmorality":44551,"Ġsturdy":44552,"tracking":44553,".swagger":44554,"_BIND":44555,"ITOR":44556,"-urlencoded":44557,"ĠÑħ":44558,"ĠTrinity":44559,"Ġtraps":44560,"Ġ|-":44561,"ĠsetText":44562,"Ġbargain":44563,"Ġbrakes":44564,".getCode":44565,"Ġmigrate":44566,"Ġribbon":44567,")return":44568,"Ġcharger":44569,"acom":44570,"ADIUS":44571,"ĠAmbassador":44572,"-after":44573,"Ġanni":44574,"ĉspin":44575,"Concept":44576,"ĠHenderson":44577,"ĠHOST":44578,".rank":44579,"ĠNortheast":44580,"Ġberlin":44581,"Ġrequis":44582,".feed":44583,"ĠsourceMapping":44584,"ĠRencontre":44585,".ajax":44586,"nestjs":44587,"Ġtrek":44588,"ĠNacional":44589,"Ġ&[":44590,"Ġpayable":44591,"ortex":44592,"Ġdept":44593,"fieldName":44594,"Ġcompletes":44595,"ĠRVA":44596,"Ġonions":44597,"alignment":44598,"Formats":44599,"Ġ'{$":44600,"HashSet":44601,"ĠBod":44602,".InvariantCulture":44603,"Ġsettlements":44604,"Ġhydr":44605,".updated":44606,"venth":44607,"(seconds":44608,"=\"/\"":44609,"Ġwebpage":44610,"(ĊĊ":44611,"Ġtir":44612,"Ġtoes":44613,"ĠBrick":44614,"Ġambition":44615,"Pot":44616,"=max":44617,"ETIME":44618,"Ġdepot":44619,"calls":44620,"ĠNorwegian":44621,"`:":44622,"Ġburger":44623,"Ġprofessors":44624,"ĠAllocate":44625,"-thirds":44626,"-chart":44627,"Ġford":44628,"*N":44629,".kotlin":44630,"Ġpaperwork":44631,"ĠDEVICE":44632,"%@\",":44633,"respect":44634,"(mp":44635,"é«ĺ":44636,"-if":44637,"Ġcushion":44638,"obot":44639,"Ġparc":44640,"SPACE":44641,"ĠNetanyahu":44642,"Ġselfish":44643,"feat":44644,"Ġclientes":44645,"-tools":44646,"Ġporch":44647,"Ġjq":44648,".verbose":44649,"Ġliberals":44650,"])ĊĊĊ":44651,"pies":44652,"NotBlank":44653,"(term":44654,"ÈĽi":44655,"_Params":44656,".normalize":44657,"Bullet":44658,"ASIC":44659,"(hex":44660,"_cliente":44661,"+,":44662,"_DI":44663,"Ġforthcoming":44664,"}\")]Ċ":44665,"seo":44666,"Um":44667,">Name":44668,"Ġcomfortably":44669,"irectional":44670,"WITH":44671,"/pr":44672,"ĠPoor":44673,"ĠVitamin":44674,"vic":44675,"GH":44676,"Ġpriorit":44677,"ĠNN":44678,"ĠClosed":44679,"¤í":44680,"ĠisOpen":44681,"\\Console":44682,"AndFeel":44683,".SUCCESS":44684,"_OPERATION":44685,"polation":44686,"ĠTas":44687,"psz":44688,">'.":44689,"CURRENT":44690,"Vendor":44691,"hosts":44692,"ĠErd":44693,">tagger":44694,"ĠsourceMappingURL":44695,"Ġmarathon":44696,"_closed":44697,"Ġexemption":44698,"Ġrecognizes":44699,"ideshow":44700,"'$":44701,"('/');Ċ":44702,"mits":44703,"warz":44704,"ĠCherry":44705,"µ¬":44706,"nor":44707,"porte":44708,"Ġwl":44709,"_backup":44710,".getBoolean":44711,".getResource":44712,"Ġdefinitive":44713,".EditText":44714,"ĠsÃŃ":44715,".CONT":44716,"ĠPLAYER":44717,".cards":44718,"ĠShore":44719,"('/')Ċ":44720,"cluir":44721,"WebDriver":44722,"(month":44723,"-release":44724,"Ġinspector":44725,"å£":44726,"ĠNF":44727,"_clip":44728,"åŃIJ":44729,"Ġinteracting":44730,".tmp":44731,"Ġ'''ĊĊ":44732,"Ġdee":44733,"Ġfrost":44734,"\"]))Ċ":44735,"ĠPlaces":44736,"Throws":44737,"fork":44738,"/day":44739,"iPhone":44740,"ĠMIC":44741,"Ġfolding":44742,"Ġcrore":44743,"ĠChiefs":44744,"pherical":44745,"(price":44746,".WriteString":44747,"Ġexiting":44748,"]',Ċ":44749,"ighting":44750,"Ingredient":44751,"(vertex":44752,"ĠscrollView":44753,"hf":44754,":new":44755,"SEN":44756,"sector":44757,"Ġspins":44758,"ĠScheduler":44759,"otechn":44760,"semicolon":44761,"FontOfSize":44762,"ĠSpecifically":44763,"flamm":44764,".ObjectId":44765,"Ġconta":44766,"_permissions":44767,"ĉFROM":44768,"ICODE":44769,"/kg":44770,"ĠHotels":44771,"-med":44772,"ĠDin":44773,"Ġnavy":44774,"getParam":44775,"Ġmend":44776,"Ġportrayed":44777,"ĠMetropolitan":44778,"Painter":44779,"Ġreferral":44780,"_good":44781,"Ġmarvel":44782,"osaic":44783,">(&":44784,".ur":44785,"Ġestos":44786,"William":44787,"Ġtimber":44788,"Ġquelques":44789,"ĠDocuments":44790,".Xaml":44791,"Ġbatches":44792,"éģĵ":44793,"ĠReleased":44794,"Tail":44795,"COOKIE":44796,"heid":44797,"_station":44798,"ĠVia":44799,"Sale":44800,"ĠRepeat":44801,"Ġpromin":44802,"ĠZo":44803,"-forward":44804,"ĠIon":44805,"itary":44806,"Ġjus":44807,"-request":44808,"Ġproudly":44809,"ĠStreaming":44810,"(MouseEvent":44811,"ĠSprint":44812,"_rotation":44813,"Repositories":44814,"Ġtart":44815,"ĠÑģв":44816,"Ġmappings":44817,"èª":44818,"Cu":44819,"Cycle":44820,"Ġbun":44821,"ĉlua":44822,"ãĥī":44823,"Ġ((!":44824,"Ġcollectively":44825,"ĠCond":44826,"Ġwszyst":44827,"(lib":44828,"openhagen":44829,"_skip":44830,".ColumnHeader":44831,"éĤ":44832,"perienced":44833,"ıè¿°":44834,"_props":44835,"Ġcontrace":44836,"Ġmatchup":44837,"abetic":44838,".members":44839,"RECT":44840,"(dat":44841,"Ġsog":44842,"renom":44843,"_Method":44844,"Customers":44845,"fullname":44846,"ZN":44847,"retry":44848,"Ġkap":44849,"ĠNeu":44850,"èĬ":44851,"addChild":44852,"willReturn":44853,"_permalink":44854,"Ġenergetic":44855,"ĠWet":44856,"ĠMorr":44857,"Ġgcd":44858,"counts":44859,",type":44860,"dig":44861,"(Login":44862,"Ġcracks":44863,"Ġbacterial":44864,"ĠMeat":44865,"ĠArmstrong":44866,"ĠBronze":44867,"Ġapproximate":44868,"_dirs":44869,"liga":44870,"ÅĤad":44871,"Ġkindness":44872,"Ġcontre":44873,"ĠEVERY":44874,"MET":44875,"Ġannouncements":44876,"gpio":44877,"ĠWaitForSeconds":44878,"ĠPhotoshop":44879,"Ġdiscontin":44880,"/dd":44881,"Ġtopology":44882,"anical":44883,".interface":44884,"aucoup":44885,".HashSet":44886,"ARIANT":44887,"(routes":44888,"ĠTeh":44889,"Ġhype":44890,"]\").":44891,"Ġslam":44892,"Ġbroth":44893,"-inter":44894,"ĠRid":44895,"-manager":44896,"Cancelar":44897,"ĠPagination":44898,"Ġsoundtrack":44899,"Ġposterior":44900,"Ġscrub":44901,"creating":44902,"-*":44903,"irteen":44904,".dy":44905,".symmetric":44906,"Ġ\"\".":44907,"===============":44908,"Ġchassis":44909,"ĠnumberOfRows":44910,"Developer":44911,"_bins":44912,"ĠOUR":44913,"rieb":44914,"Pros":44915,"ĠwiÄĻ":44916,"\"d":44917,"Ġasyncio":44918,"zeigen":44919,"_spi":44920,".ALL":44921,"Ġscrews":44922,"Chinese":44923,"ĠapiKey":44924,"Ġunsuccessful":44925,"ĠSeahawks":44926,"ORG":44927,"竳":44928,"Ġprofessionally":44929,"ĠCoupon":44930,"åŃĹæ®µ":44931,"Convention":44932,"Ġpolym":44933,"æīĭ":44934,"Ġsalvation":44935,"Ġengineered":44936,"ĠWrest":44937,"ĠGCC":44938,"Ġwarmer":44939,"LayoutConstraint":44940,"Ġaggrav":44941,"Scripts":44942,"venture":44943,"Ġrefrigerator":44944,"Ġinnovations":44945,"ĠRunner":44946,"NIC":44947,"ĠRolling":44948,"ControlEvents":44949,"Ġloos":44950,"pac":44951,"ĉpanel":44952,"efe":44953,"ĠBuddha":44954,"--------------Ċ":44955,"åºĵ":44956,"(forKey":44957,"Ġlumin":44958,"Ġ(?":44959,"ĠAIDS":44960,",user":44961,"imientos":44962,"contentType":44963,"antlr":44964,"é¦":44965,"ĠWelt":44966,"Production":44967,"might":44968,"ĠVII":44969,"\",(":44970,"Ġobserving":44971,"Ġdeliberate":44972,"(control":44973,"Ġwithd":44974,"Ġsemana":44975,"STACK":44976,"uchen":44977,"Nice":44978,"ĠDeutschland":44979,"ĠSpecifies":44980,"dma":44981,"izio":44982,"ĠFacts":44983,"_popup":44984,"ĠDirectors":44985,"{:":44986,"[R":44987,"ĠÑįлеменÑĤ":44988,"Ġplat":44989,"Ġdirecting":44990,"ä¸ī":44991,"ĠGilbert":44992,"â̦.ĊĊ":44993,".qml":44994,"Ġthereafter":44995,"Ġdisposition":44996,"draft":44997,"Ġsurgeon":44998,"ĠInsider":44999,"Blend":45000,"ĠTrev":45001,"trinsic":45002,"Topics":45003,"rieve":45004,"_FILENAME":45005,"Ġautres":45006,"Jose":45007,"Producer":45008,"erus":45009,"Ġpetit":45010,"ĠNEXT":45011,"ĠFilters":45012,"Ġreplicate":45013,"\"]).":45014,"Ġlenders":45015,"]\",Ċ":45016,";charset":45017,"CppObject":45018,"Ġfloral":45019,"ĠTipo":45020,"Ġcircuits":45021,"easy":45022,"(&$":45023,"itta":45024,"eryl":45025,"_COMMON":45026,"'}}>Ċ":45027,"-backed":45028,"(variable":45029,"(Index":45030,"Ġvoir":45031,"_locations":45032,"++){":45033,"ĠLouisville":45034,"Ġgratitude":45035,".Mockito":45036,"ĠPowers":45037,"ieurs":45038,"Ġgeographic":45039,"rale":45040,"Ġcra":45041,"ĠSpurs":45042,"iphertext":45043,"ACION":45044,"-common":45045,"Ġvictories":45046,"ĠFinals":45047,".shuffle":45048,"-million":45049,"_PROC":45050,"assume":45051,"Ġils":45052,"DBC":45053,"BootTest":45054,"Ġlavor":45055,".testing":45056,".ast":45057,"\"]/":45058,"moid":45059,"Ġqualification":45060,"gesch":45061,"ĉput":45062,"Ġairports":45063,"JI":45064,"Teacher":45065,"_uniform":45066,"Ġnama":45067,"ĠBast":45068,"ertype":45069,"capture":45070,"getAll":45071,"ĠReynolds":45072,"ooled":45073,".comments":45074,"Ġchin":45075,").*":45076,"Ġили":45077,"tgl":45078,"udos":45079,"ĠdÃŃas":45080,"chai":45081,".program":45082,"Ġpsz":45083,"ĉicon":45084,"phil":45085,"entral":45086,"_WRAP":45087,"ovi":45088,"Ġnostalg":45089,"Infinity":45090,"ĉyield":45091,"Ġvitamins":45092,"Quaternion":45093,"Sink":45094,"_goods":45095,"Ġ........":45096,"ĠWings":45097,"uridad":45098,"-story":45099,"\"])ĊĊ":45100,"idelity":45101,"TypeDef":45102,"Gtk":45103,"ĠíĮ":45104,"_Main":45105,"Ġchez":45106,"ĠRaven":45107,"Ġpayroll":45108,"Ġfreelance":45109,"LLU":45110,"ĠMend":45111,"eday":45112,"ApiModelProperty":45113,".FormBorderStyle":45114,"Ġeconomist":45115,"stanbul":45116,"Ġfreight":45117,"-Agent":45118,"(meta":45119,"Ġsymmetry":45120,"Ġ'..":45121,".Calendar":45122,"-aut":45123,"gf":45124,"pent":45125,"yclopedia":45126,"Ġwishing":45127,"ĊĊĊĊĊĊĊĊĊĊĊĊ":45128,"Ġgentleman":45129,"Ġê³":45130,"=#":45131,"Ġlectures":45132,"âĢľIn":45133,"Ġ!_":45134,"Ġhb":45135,"ĠVendor":45136,"Recently":45137,"_notes":45138,"æıIJ示":45139,"\"My":45140,"HeadersHeight":45141,"_SO":45142,"Ġunwilling":45143,"Ġsuperhero":45144,"gio":45145,"psy":45146,"ĠPeer":45147,"javax":45148,"&apos":45149,"ĠCrisis":45150,"ordinal":45151,"Memcpy":45152,"++++++++++++++++":45153,"-val":45154,"Ġworkbook":45155,"-ap":45156,"=k":45157,"Ġmetallic":45158,"_peer":45159,"ByPrimaryKey":45160,"_SD":45161,"uator":45162,"_SHADER":45163,")Math":45164,".Transform":45165,"Ġcows":45166,"Phi":45167,"ĠClem":45168,"(_(\"":45169,"ĠLud":45170,"-delay":45171,"ĠSecurities":45172,"ĠOrthodox":45173,"Symfony":45174,"(report":45175,"Ġentertain":45176,"EPS":45177,"izoph":45178,"exual":45179,"IRD":45180,"ä»İ":45181,"Ġlith":45182,"Ġsanitize":45183,"Ġfeminine":45184,"ISBN":45185,".authentication":45186,"_pipeline":45187,"/constants":45188,"ĠCONF":45189,"Ġlucr":45190,"ricia":45191,".ttf":45192,".setContent":45193,"Ġstan":45194,"orean":45195,"ĠLloyd":45196,".rawValue":45197,"Ġgor":45198,"ĠBrowns":45199,"Regression":45200,"Ġlowering":45201,"naissance":45202,"Ġblows":45203,"Ġamazed":45204,"Ġunrelated":45205,"Reviews":45206,"Ġruby":45207,"ĠModifier":45208,"Ġgiants":45209,".thread":45210,"Ġcontainment":45211,"ĠStartCoroutine":45212,"umat":45213,"orelease":45214,"ĠRandy":45215,"@endif":45216,"Digest":45217,"Ġsuburban":45218,"=\");Ċ":45219,"Ġannonce":45220,".variable":45221,"\\Foundation":45222,"Ġacre":45223,"Van":45224,"Ġtuples":45225,"dns":45226,"ĠStanding":45227,"_large":45228,"Ġboxing":45229,"SupportActionBar":45230,"ĠFortune":45231,"ĠRum":45232,"_multiple":45233,"archical":45234,"Ġfwrite":45235,"_quote":45236,"Ġfoolish":45237,"Ġcomprising":45238,"Ġоп":45239,"-selected":45240,"vf":45241,"maid":45242,"Nama":45243,"(datetime":45244,"Ġindirectly":45245,"gart":45246,"fixtures":45247,"chos":45248,"ĠHalo":45249,"Ġrecurring":45250,"-news":45251,"vil":45252,"ĠNursing":45253,"-produ":45254,"ĠHQ":45255,"\\HttpFoundation":45256,"enci":45257,"auen":45258,"Ġvy":45259,"ocracy":45260,"Ġdelegation":45261,"Ġasphalt":45262,"ĠsetSelected":45263,"kok":45264,"/rest":45265,"metics":45266,"ĠNSDate":45267,"Ġtravelled":45268,"Ġrecib":45269,"Ġmime":45270,"CLIENT":45271,"ĠGU":45272,"ĠHANDLE":45273,"/Q":45274,"[z":45275,"Ġbothered":45276,"ĠBBQ":45277,"ças":45278,"_examples":45279,"_FIN":45280,"ĠwhiteColor":45281,"Ġastronom":45282,"-dir":45283,"Ġsovereign":45284,"Ġbreeze":45285,"Ġinning":45286,"ĠEdmonton":45287,"gli":45288,".blogspot":45289,"jsx":45290,"Ġversa":45291,"ĠMohammed":45292,".Job":45293,"-toggler":45294,"ĠполÑĮзоваÑĤ":45295,"ardon":45296,"Ġnewborn":45297,"Ġnaval":45298,"noteq":45299,"Ġtumblr":45300,"Ġhentai":45301,"ĠTypically":45302,"Ġloot":45303,".Sprite":45304,"Flight":45305,"Ġwavelength":45306,"-sk":45307,"ĠElle":45308,"_exports":45309,"ĠÑı":45310,"ĠIH":45311,"izophren":45312,"Ġíģ":45313,"_primary":45314,"Ġmois":45315,"ĠBN":45316,"Ġsystemic":45317,"Ġdiferentes":45318,"INCT":45319,"Ġ''ĊĊ":45320,"$q":45321,"WidgetItem":45322,"clide":45323,"$file":45324,"Lemma":45325,"/table":45326,"agrid":45327,"ĠMongoDB":45328,"inte":45329,"Ġapprent":45330,"ÂŃing":45331,".Db":45332,"ĠÃĤ":45333,"hammer":45334,"='';Ċ":45335,"Ġbrokers":45336,"itlement":45337,"semblies":45338,"Ele":45339,"{x":45340,"Ġlastname":45341,"<-":45342,"Ġflatten":45343,"_band":45344,".Root":45345,".readFileSync":45346,"======":45347,".rx":45348,"?čĊ":45349,"Ġmetaphor":45350,"Ti":45351,"conte":45352,"Ġdebit":45353,"Ġcontempt":45354,"CppType":45355,"æĶ¯":45356,"FormField":45357,"ratio":45358,"osopher":45359,"Ġimplant":45360,"PURE":45361,"Ġalta":45362,"_management":45363,"Ġrefine":45364,"ĠCheckBox":45365,"ĠCharl":45366,"-version":45367,"conditional":45368,"venues":45369,"Ġrifles":45370,"Ġoffspring":45371,"Ġmilling":45372,"Ġsharply":45373,"Ġunderwater":45374,"(origin":45375,"_Control":45376,"Ġ.$":45377,"Plugins":45378,"Ġdrying":45379,"Ġillustrates":45380,"-u":45381,"Ġvegetarian":45382,"npc":45383,"Heart":45384,";',Ċ":45385,"comma":45386,"teenth":45387,"asan":45388,"/spec":45389,"_moves":45390,"-margin":45391,"Ġingen":45392,"³³³":45393,"Ġprojet":45394,"Ġotra":45395,"Ġbras":45396,".utc":45397,"Ġslept":45398,"=sub":45399,"abilit":45400,"poster":45401,"Ġsdk":45402,"ouncill":45403,"Ġwd":45404,"PreparedStatement":45405,"ĠDrum":45406,"(attribute":45407,"ĠEthernet":45408,"ĉDB":45409,"California":45410,"cube":45411,"[I":45412,".Created":45413,"ĠHM":45414,"Ġtracing":45415,"FormsModule":45416,"-you":45417,".currency":45418,"feeding":45419,"Ġtbody":45420,"Li":45421,"accion":45422,"nas":45423,"Ġtrouver":45424,"NONE":45425,"\"},čĊ":45426,"Ġftp":45427,"WithIdentifier":45428,"polate":45429,"FileInfo":45430,"Ġpursued":45431,"ĠĠĠĠčĊĠĠĠĠčĊ":45432,"DESCRIPTION":45433,"}*/Ċ":45434,"FromNib":45435,"Ġdecorative":45436,"_SSL":45437,"(chat":45438,"TLS":45439,"Ġsurprises":45440,"alculate":45441,"ĠSplash":45442,"(Configuration":45443,"ĠSEM":45444,"imson":45445,"/library":45446,"":45521,"GED":45522,"faq":45523,"Ġoptionally":45524,"_Dis":45525,"ĠSuccessful":45526,"ĠCensus":45527,"Ġincarcer":45528,"_CARD":45529,"Ġaviation":45530,"ĠGym":45531,"Authority":45532,".Bean":45533,"shader":45534,"NotExist":45535,"_TextChanged":45536,"ĠSTOP":45537,"(team":45538,"\"H":45539,"wg":45540,"Ġgrinder":45541,"Ġstripe":45542,"Ġpreservation":45543,"Claim":45544,"aversal":45545,"warehouse":45546,"targets":45547,"Trust":45548,"Ġallev":45549,",www":45550,"ousse":45551,"_chan":45552,"_Size":45553,"systems":45554,"Ġobjection":45555,"ĠKane":45556,"Ġcorros":45557,"ĠDSL":45558,"Ġua":45559,"ĠMH":45560,"ĠStrategic":45561,"_tcp":45562,"Ġê°Ĵ":45563,"Ġborrowed":45564,"ĠAch":45565,"ĉcommand":45566,"Ġgps":45567,"leston":45568,"ichever":45569,"ĠUA":45570,"Ġassaulted":45571,"Ġspecializes":45572,"ĉsearch":45573,"Hotel":45574,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠčĊ":45575,"ĠPitch":45576,"ĠÙģ":45577,"READY":45578,"Ġparental":45579,"Ġgéné":45580,"Ġdonnées":45581,"Ġdetain":45582,"TARGET":45583,"Ġprotagonist":45584,"ĠclearInterval":45585,"ĠIconButton":45586,"ĠGetAll":45587,"TypeInfo":45588,"EH":45589,"âĢľThey":45590,"Ġ{[":45591,"Ġgag":45592,"ĠÚ©":45593,"ĠDropdown":45594,".free":45595,"gone":45596,"imens":45597,"Ġinstal":45598,"ĉcurl":45599,"_CAN":45600,"ĠBone":45601,"ï¼Ķ":45602,"onyms":45603,"-government":45604,".bindingNavigator":45605,"ĠDans":45606,"ĠMcL":45607,"(en":45608,">(_":45609,"ÐĴÑĭ":45610,".*;čĊ":45611,"=j":45612,"-cor":45613,"Son":45614,".ToolStripItem":45615,"-around":45616,"_XML":45617,"endDate":45618,"Ġslack":45619,"Ġrotated":45620,"Ġnoqa":45621,"Ġcottage":45622,"Ġencontrar":45623,"_skill":45624,"houette":45625,"!čĊ":45626,".weather":45627,"Ġemphasized":45628,"å®¶":45629,"ĠÑģпиÑģ":45630,"ĠCompiler":45631,"(android":45632,"ĠâĢº":45633,".turn":45634,"Ġsuppression":45635,"_calls":45636,"Ġ*@":45637,"(strlen":45638,".hex":45639,"ĠBills":45640,"ĠRSA":45641,"ÏĤ":45642,"ĠEscape":45643,"ementia":45644,"Ġfrontend":45645,"Ġpint":45646,"_exc":45647,"zzo":45648,"[],Ċ":45649,"Ġ\"','\"":45650,".Environment":45651,"Ġaforementioned":45652,"Ġendure":45653,"prototype":45654,"therapy":45655,"ssi":45656,"Deg":45657,"_plugins":45658,".userInfo":45659,"Printer":45660,"ĠPROGRAM":45661,"Ġruins":45662,"Ġempirical":45663,"Ġcrawl":45664,"ĠBoiler":45665,"-comment":45666,".subplot":45667,"_et":45668,"Ġ'.',":45669,"minor":45670,"ĠCustoms":45671,"Ġyaw":45672,"underline":45673,"ĠComo":45674,"(('":45675,"(mean":45676,"Ġchaque":45677,"ĠBlocks":45678,".rad":45679,"ilibrium":45680,"Ġwebdriver":45681,"Ġmelhor":45682,"dana":45683,"ĠAbuse":45684,"ĠSouthwest":45685,"ĠParen":45686,"PERTIES":45687,"ĉIL":45688,"Ġscream":45689,"vu":45690,"Ġincomes":45691,"Ġnim":45692,"Ġlace":45693,"Ġcompensate":45694,"Reverse":45695,"Dat":45696,"_attack":45697,"Ġnour":45698,"achen":45699,"cek":45700,"\"+":45957,"Ġtokenizer":45958,"Ġsovereignty":45959,"ĠPence":45960,"()\");Ċ":45961,"Ġpessoas":45962,".Ge":45963,"ĠIncluded":45964,"Ġpagina":45965,"Ġexposing":45966,"еÑĪ":45967,"_SCRIPT":45968,"/$',":45969,"Thumbnail":45970,"×Ķ":45971,"webElementX":45972,"webElementXpaths":45973,"pressure":45974,"ĠCurry":45975,"_CP":45976,"OLUTION":45977,"ILES":45978,"protect":45979,"oola":45980,"Workspace":45981,"{};Ċ":45982,"ĠUNS":45983,"Ġsympathy":45984,"roker":45985,"Ġremodel":45986,"ĉcell":45987,"Ġatop":45988,".FullName":45989,"Ġfaut":45990,"ĠEasily":45991,"_dynamic":45992,"Ġframed":45993,"Ġmotive":45994,"è·¯":45995,"sam":45996,"Ġmarca":45997,"ĠTextEditingController":45998,"Ġdestructor":45999,"cream":46000,"Ġrude":46001,"ĠBold":46002,"ĠIndigenous":46003,"Ġgens":46004,"Ġrelacion":46005,"(system":46006,"ĠUIFont":46007,"_charge":46008,"USTER":46009,"EV":46010,".Namespace":46011,"Ġmerger":46012,"Ġcalloc":46013,"gang":46014,"BadRequest":46015,"Ġsper":46016,"-design":46017,"Ġâĩ":46018,"Chan":46019,"Ġorganism":46020,",)":46021,"=id":46022,"_plane":46023,"ĠCases":46024,"elfast":46025,"ĠLegislature":46026,"ĠFaker":46027,"Ġinvoking":46028,"-utils":46029,"().'":46030,".face":46031,"Ġguardian":46032,"myModal":46033,"Ġclipboard":46034,"ĠATM":46035,"Ġpeas":46036,"ĠSylv":46037,".calc":46038,"ĠContacts":46039,"intValue":46040,"Ġmodifying":46041,"ĠBarb":46042,".loss":46043,"_percentage":46044,"Asked":46045,"(lst":46046,"ategorical":46047,"-files":46048,"ĠRomania":46049,".Ac":46050,"Ġhai":46051,"ĠFlying":46052,"Ġż":46053,"jp":46054,"ĠTrainer":46055,".arc":46056,"_deg":46057,"Ġtraceback":46058,"OrFail":46059,"FLOW":46060,".old":46061,"oya":46062,"gmt":46063,"isempty":46064,"Ġvaccination":46065,"Ġobsolete":46066,"recognized":46067,"Ġruined":46068,"ĠRein":46069,"ĠTracking":46070,"xfb":46071,"اÛĮ":46072,"Ġvære":46073,"Ġbryster":46074,"ĠITS":46075,"Ġdestiny":46076,"Ġswear":46077,"Ġredes":46078,"Ġclf":46079,"Ġflipped":46080,"ĉhead":46081,"Bluetooth":46082,"ĠOverrides":46083,":Boolean":46084,"_=":46085,"_lr":46086,"spawn":46087,":index":46088,"VALUES":46089,"iskey":46090,"?\");Ċ":46091,".synthetic":46092,"ĠChecking":46093,"structures":46094,"iping":46095,"Ġvocals":46096,"-Up":46097,"ĠManufacturers":46098,"ĠMarriage":46099,"代çłģ":46100,"Ġgarner":46101,"_Client":46102,"parallel":46103,"RIEND":46104,"Ġvinegar":46105,"segue":46106,"JB":46107,"Ġcontacting":46108,"ĠCarroll":46109,"Ġoutreach":46110,"tensor":46111,"_variant":46112,"Ġtheat":46113,"licable":46114,"{|":46115,"tiny":46116,"_letter":46117,"Ġpencil":46118,"HeadersHeightSizeMode":46119,"iltro":46120,".autoconfigure":46121,".drag":46122,".useState":46123,"ĠBMI":46124,"hint":46125,"Compile":46126,"*\\":46127,"enary":46128,"Ġlvl":46129,".Cache":46130,"+=\"":46131,"_tv":46132,"ruitment":46133,"Ġfread":46134,"Articles":46135,"fila":46136,"Ġpackaged":46137,"âĺĨ":46138,"ATHER":46139,"ĠPlanned":46140,"scheme":46141,"Ġdiary":46142,"Ġoffenses":46143,"/F":46460,"ĠStick":46461,"Ġcerc":46462,"ĠSlee":46463,"ĉĉĠĠĠĠĠĠĠĠ":46464,"":46639,"ĉcol":46640,"VG":46641,"_boolean":46642,"recent":46643,"Ġ*)ĊĊ":46644,"ĠRainbow":46645,"ommen":46646,"Ġlur":46647,"Ġoppression":46648,"(\",\");Ċ":46649,"ĠFacility":46650,"DEFINED":46651,"Ġneon":46652,"Ġoffender":46653,"AFP":46654,"ĠCleaning":46655,"[]):":46656,"Ġundocumented":46657,".Repositories":46658,"ĠGuitar":46659,"аÑģÑģив":46660,"Skills":46661,"Ġtestimon":46662,"ryptography":46663,"ĠAmber":46664,"ĠStalin":46665,"Ġlone":46666,"Ġapenas":46667,"Ġdieses":46668,"ĠArduino":46669,"转":46670,"==-":46671,"_Act":46672,"Ġcoded":46673,"âĸł":46674,"amburger":46675,"-links":46676,"Ġarmour":46677,".High":46678,"getContent":46679,"stag":46680,"Ġheck":46681,"ĠìĹĨ":46682,"ĠMcConnell":46683,"ĠConcert":46684,"ĠAlloc":46685,"äre":46686,".replaceAll":46687,"Ġpartitions":46688,"rott":46689,"ĠFle":46690,"_TREE":46691,"reasonable":46692,"ĠReporting":46693,"Ġbillionaire":46694,"scores":46695,"mins":46696,"-eye":46697,"MORE":46698,"abort":46699,"ĠSWT":46700,"Ġinverted":46701,"ĠTeachers":46702,";n":46703,"Ġastro":46704,"нов":46705,"аниÑĨ":46706,"producto":46707,"countries":46708,"ĠOwen":46709,"Ġcontamination":46710,"Ġvibe":46711,"ĠElli":46712,".script":46713,"ĠOlive":46714,"DMA":46715,"vier":46716,":semicolon":46717,"-module":46718,"gressive":46719,"agu":46720,"_players":46721,"Ġresultados":46722,"started":46723,"scrollTop":46724,"=====":46725,"Ġweighing":46726,"Ġ[[[":46727,"zahl":46728,"(NS":46729,"ĠAssertion":46730,"league":46731,".setTextColor":46732,"ĉMessage":46733,"Ġmoms":46734,"_AF":46735,".wh":46736,"ALS":46737,"Ġautre":46738,"]ĊĊĊĊ":46739,".opacity":46740,"ĠBuddhist":46741,"Ġdeaf":46742,"ĠOrganisation":46743,"(Global":46744,"ensch":46745,"Ġheadache":46746,"ĠAlien":46747,"_inode":46748,"ĠStark":46749,"Ġæī":46750,"-lnd":46751,"oref":46752,"_feat":46753,"Ġpedestrian":46754,"Ġnominal":46755,"Ġballoon":46756,"Ġsprites":46757,"PrototypeOf":46758,"ĠApost":46759,"ĠFEATURE":46760,"OH":46761,"Ġrecess":46762,"ĠDonna":46763,"consumer":46764,"$GLOBALS":46765,"ĠGIF":46766,"-frame":46767,"Inicio":46768,"Ġpassages":46769,"DateString":46770,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":46771,".byte":46772,"Bug":46773,"initializer":46774,"pkt":46775,"odium":46776,"ĠDER":46777,".ops":46778,"leri":46779,"Ġgifted":46780,"Ġdetach":46781,"terrain":46782,"elters":46783,"ãģı":46784,".loader":46785,"ĠNGO":46786,"strncmp":46787,"Kh":46788,"(fontSize":46789,"rocket":46790,"Ġprecedent":46791,"ĠAurora":46792,"ĠExperiment":46793,"isphere":46794,"Encoded":46795,"ĠâĢĵĊĊ":46796,"Ġpyramid":46797,"ĠAnniversary":46798,"ofil":46799,"ëŁ":46800,"(plugin":46801,"Coeff":46802,"Ġcooperate":46803,"Ġpredominantly":46804,"ISM":46805,"Phrase":46806,"_DEFINE":46807,"Flip":46808,"AMILY":46809,"ĠMarkets":46810,"ĠStreamReader":46811,"ĠCombine":46812,"Ġmanuscript":46813,"zza":46814,",tp":46815,"Whatever":46816,"ITICAL":46817,"ighbour":46818,"DataProvider":46819,".Texture":46820,"privacy":46821,".SDK":46822,"Ġrecharge":46823,"Ġcpp":46824,"ĠCFG":46825,"(holder":46826,"(py":46827,"mot":46828,"Ġsavoir":46829,"ĠRosa":46830,"ĠPCs":46831,"ĠíĻ":46832,".heroku":46833,"Ġfren":46834,"ĠRiley":46835,"agate":46836,"Ġsond":46837,".xlsx":46838,"Ġhacked":46839,"stad":46840,"Gi":46841,"Ġsanity":46842,"ĠSqlDataAdapter":46843,"...\",":46844,"ĠPussy":46845,"Ġ****************":46846,"Ġhassle":46847,"_PARENT":46848,"ĠUAE":46849,"Ġbeginners":46850,"(Client":46851,"Ġstatistically":46852,".hour":46853,"edelta":46854,"Ġtraction":46855,"uelve":46856,"arat":46857,"Ġsauna":46858,"INVALID":46859,"Ġindictment":46860,"ALLE":46861,"Ġdissent":46862,"ĠTypography":46863,"Ġintentional":46864,"sit":46865,"ĠAnimals":46866,"Ġcountryside":46867,"Ġuart":46868,"}\\\"":46869,"Ġseamless":46870,"¾ç¤º":46871,"Ġautos":46872,"Ġ\"'\";Ċ":46873,"Flush":46874,"ANNOT":46875,"Ġalgebra":46876,"assoc":46877,"ĠWaters":46878,"Ġpreparations":46879,"ronym":46880,"[,]":46881,"Sans":46882,"Ġarmies":46883,"ipeg":46884,"Ġcreamy":46885,".art":46886,"etre":46887,"ĠAnimated":46888,"Ġunpleasant":46889,"emean":46890,"great":46891,"iÄħ":46892,"ĠEarlier":46893,"Ġchic":46894,"Ġpreserving":46895,"(exec":46896,"ĠInvestigation":46897,"ĉGPIO":46898,"Ġrigorous":46899,"ijo":46900,"=num":46901,"ĠtoolStrip":46902,")set":46903,"+\"&":46904,"ĠAcceler":46905,"Ġdevelopmental":46906,"isposable":46907,"Ġflawed":46908,"rene":46909,"Updating":46910,"Ġwatchdog":46911,"Ġdenominator":46912,"Ġsuburbs":46913,"Ġ...)":46914,"Ġconvictions":46915,"closure":46916,".IP":46917,"Ġtranslates":46918,".swt":46919,".Trace":46920,"Ġmettre":46921,".isEnabled":46922,"ĠEffective":46923,".toInt":46924,"Ġenchant":46925,"Ġstunned":46926,"Ġpoi":46927,"/code":46928,"adm":46929,".databinding":46930,"ĠLorem":46931,"________________________________________________________________":46932,"Ġledger":46933,"Ġcara":46934,"ĠGir":46935,"Ġwaits":46936,"Uno":46937,"Ġcwd":46938,"è¾ij":46939,"ĠTResult":46940,"Ġrejo":46941,"Ġemitted":46942,"ĠWestminster":46943,"ä¸Ģ个":46944,"nek":46945,"_Tis":46946,"Ġenact":46947,"ĉwith":46948,"orgia":46949,"Ġjue":46950,"Perform":46951,"SPATH":46952,".topic":46953,"ĠDaten":46954,"ầ":46955,"Ġsitio":46956,"_MM":46957,"\"So":46958,"bial":46959,"Ġscoped":46960,"Requires":46961,"ĠTOTAL":46962,"ĠChancellor":46963,"(contents":46964,"Ġstealth":46965,"devices":46966,"-pass":46967,"ilih":46968,"ĠMalcolm":46969,"ĠDepot":46970,"Ġconfigur":46971,"aussian":46972,"_constraint":46973,"веÑĤ":46974,"GRA":46975,"ĠRates":46976,".dataGridViewTextBoxColumn":46977,"ĠNobel":46978,"itics":46979,"Ġignorant":46980,"ĠReporter":46981,"ĠEbola":46982,"ĠShock":46983,"_relation":46984,"ĠNinja":46985,")c":46986,"Ġticker":46987,".isChecked":46988,"ĠSuppliers":46989,"ĠRapid":46990,"Levels":46991,"âĤ¬âĦ¢":46992,"ĉqueue":46993,"Ġchop":46994,"ĠUnix":46995,"reject":46996,"-calendar":46997,"(sort":46998,"ène":46999,"ercicio":47000,"Ġhect":47001,"CALLTYPE":47002,"roupon":47003,"Ġrentals":47004,"authors":47005,"{name":47006,"ĠFIFO":47007,"Ġlassen":47008,"ĠNous":47009,"Ġsnapped":47010,"Ġfertility":47011,"\"log":47012,"clicked":47013,"Ġplanting":47014,"Ġgb":47015,"/output":47016,"PEAT":47017,"Ġcategoria":47018,"Ġbach":47019,"Professor":47020,"inth":47021,"\"]čĊ":47022,"Recorder":47023,"serde":47024,"ĠTransmission":47025,"trad":47026,"Ġturbo":47027,"_VERTEX":47028,"\\Event":47029,"ilver":47030,"Ġbodily":47031,"ĠSources":47032,"Ġkillings":47033,".xrTableCell":47034,"Ġfolded":47035,"/legal":47036,"uner":47037,"ĠRifle":47038,"ĠMIDI":47039,"_SelectedIndexChanged":47040,".SizeType":47041,"ĠWebSocket":47042,"Ġseleccion":47043,"Sand":47044,"otros":47045,"Ġenvision":47046,"/etc":47047,"ĠMelissa":47048,"Spot":47049,"ное":47050,"_ARM":47051,"Attempt":47052,"ĠBI":47053,"ãģĶ":47054,"ĠDU":47055,"Ġbacklash":47056,"stride":47057,"/classes":47058,"ĠtextColor":47059,"_staff":47060,"oblin":47061,"agenta":47062,".collections":47063,"illage":47064,"'čĊčĊ":47065,"flatten":47066,"_sales":47067,"_MASTER":47068,"TW":47069,"_da":47070,"Pitch":47071,"phies":47072,"Ġzombies":47073,"ĠVERY":47074,"ĠPharmacy":47075,"ĠprogressBar":47076,"Ġhashtag":47077,"Sidebar":47078,"@stop":47079,"(pc":47080,"олж":47081,"MAKE":47082,"ĠCoron":47083,"Ġkvinner":47084,"ĠMaid":47085,"bob":47086,".titleLabel":47087,"Ġsuccesses":47088,"ĠDemocracy":47089,"ĠSurgery":47090,"Ġcougar":47091,"Ġcurso":47092,"Ġloro":47093,"istency":47094,"Senior":47095,"æk":47096,"ĠAAA":47097,"ĠBOOK":47098,"ко":47099,"WSTR":47100,"Ġ*/,Ċ":47101,"oyal":47102,".vector":47103,"ĠSPEC":47104,"SSF":47105,"Ġcompuls":47106,"ĠAppeals":47107,"ĠWinston":47108,"ĠMockito":47109,"contrib":47110,".available":47111,"entityManager":47112,"arias":47113,"_sale":47114,"_rs":47115,"Ġdecoding":47116,"Ġlocator":47117,"olith":47118,"Ġkol":47119,"Ġascii":47120,"ĠRut":47121,"/interface":47122,"ĉĉĉĉĉĉĠĠĠ":47123,"ĠNumer":47124,".flip":47125,"-del":47126,"Ġbolster":47127,"onomic":47128,"Ġzm":47129,"LG":47130,"FindBy":47131,"Ġadaptive":47132,"loo":47133,"Ġvue":47134,"(reverse":47135,"_canvas":47136,".roles":47137,"ificado":47138,"venient":47139,"\"As":47140,"ĠEntr":47141,"aligned":47142,"Ġbereits":47143,"///ĊĊ":47144,".gwt":47145,".employee":47146,"_cli":47147,"Ġanticipate":47148,"éĻIJ":47149,"Ġpik":47150,"Ġmushrooms":47151,"(tt":47152,"Ġoma":47153,"ĠSanchez":47154,"_google":47155,".Valid":47156,"ĠFileName":47157,"ivative":47158,"ked":47159,"-war":47160,"Ġmaturity":47161,"ид":47162,"Ġminer":47163,"Reducers":47164,"ĠLatLng":47165,"_STD":47166,"Digits":47167,"Calc":47168,"-upload":47169,"Ġhandic":47170,"ีà¹Ī":47171,"egrated":47172,"ĠSTM":47173,"Clients":47174,"ĠTurbo":47175,"SYNC":47176,"Ġphotographers":47177,".Out":47178,".character":47179,"BUILD":47180,".unlock":47181,"Ġarises":47182,"ĠCommands":47183,"(\"\");čĊ":47184,"_FORE":47185,";',":47186,"+\"'":47187,".Images":47188,"\"){":47189,"ĠMeyer":47190,"Ġnegatively":47191,"ĠDLL":47192,"Ġexe":47193,"Ġdeficiency":47194,"Ġwildly":47195,"-switch":47196,"construction":47197,"Ġexceptionally":47198,"ĠLiz":47199,"/java":47200,"Ġtheirs":47201,"ĠContemporary":47202,"lis":47203,".fillRect":47204,"ĠNFC":47205,"Ġrehe":47206,"(numbers":47207,"Ġraster":47208,"Ġfiguring":47209,"Ġshowc":47210,"ĠJill":47211,"Ġarcade":47212,"ĠConstructs":47213,"mdl":47214,"('|":47215,"Ġidentifiers":47216,"Ġstellar":47217,"(Connection":47218,"Ġ\"{{":47219,"yor":47220,"(mysqli":47221,"Ġdove":47222,"OfBirth":47223,".disconnect":47224,"_hi":47225,"Ġzwischen":47226,"ĠGrund":47227,"iros":47228,"_Array":47229,".onclick":47230,"ansom":47231,"Answers":47232,"ĉremove":47233,"Fa":47234,"Ġhurry":47235,"-inf":47236,"ĠgetClass":47237,"ĠRegulation":47238,"ĠFLAGS":47239,"misc":47240,"Ken":47241,"_heading":47242,"GHz":47243,"-entry":47244,"Ġbiography":47245,"Sig":47246,"-mf":47247,"Watcher":47248,"âĢľA":47249,"}px":47250,"Ġspicy":47251,"_sq":47252,"Lost":47253,"(track":47254,"али":47255,"Descending":47256,"((":47453,"survey":47454,"Ġíĺ":47455,"...')Ċ":47456,"ĠDivider":47457,"osl":47458,"_CANCEL":47459,"_prepare":47460,"stin":47461,"ĠHeath":47462,".PrimaryKey":47463,"ĠâĨIJ":47464,"ĠLocalDateTime":47465,"Ġcooperative":47466,"Learning":47467,".enqueue":47468,"Ġgoog":47469,"ĠRegression":47470,"imates":47471,"Ġvoyeur":47472,"ĠDrink":47473,"plug":47474,"Ġlender":47475,"mana":47476,"Ġpersonnes":47477,"ypse":47478,"Ġunlink":47479,"ĠRavens":47480,"Ġhurd":47481,"Ġperiodically":47482,"ARGS":47483,"ĠGH":47484,"characters":47485,"...\"ĊĊ":47486,"-establish":47487,"Ġdn":47488,"(condition":47489,"ĠGravity":47490,"Ġestas":47491,"_focus":47492,"Creature":47493,"(site":47494,"Ġcarr":47495,"ĠRL":47496,"ĠRI":47497,"ĠMoto":47498,"ASF":47499,"ĠLuckily":47500,"ĉRoute":47501,"Ġentropy":47502,"(\",\"":47503,"Collect":47504,"(contact":47505,"ĠFlorence":47506,"Ġpremiums":47507,"Ġlifecycle":47508,"Ġbans":47509,"xef":47510,"WebKit":47511,"ĠFloating":47512,"Ġcosa":47513,"Specific":47514,"ĠLoans":47515,"bread":47516,"Ġdescriptors":47517,"Ġ{:.":47518,"THREAD":47519,"ĠTrent":47520,"Ġscop":47521,"QA":47522,"ĠAntar":47523,"pel":47524,"_difference":47525,"_changes":47526,"(...)":47527,"ĠRotation":47528,"ĠLGPL":47529,"ĠJUST":47530,"(Task":47531,"_subset":47532,"ĠTRANS":47533,"åĬĽ":47534,"ĠScout":47535,"-popup":47536,"Ġsmoked":47537,"_Class":47538,"Ġturnover":47539,"brakk":47540,"ĠRocky":47541,"tas":47542,".RegularExpressions":47543,"ĠElliott":47544,"ĠSpinner":47545,"DUCTION":47546,"Ġlibre":47547,"Ġmolto":47548,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":47549,"ĠFTP":47550,"mpeg":47551,"(features":47552,"Ġbald":47553,"ĠVid":47554,"Ġshouting":47555,"Lint":47556,"Ġsockets":47557,"Ġprow":47558,"Ġnouvelle":47559,"iscard":47560,"ĠSponsor":47561,"Ġconsulta":47562,")));":47563,"Indian":47564,"ĠRaspberry":47565,"Ġteammate":47566,"ĠJWT":47567,"ĠGhana":47568,"Ġcakes":47569,"primer":47570,"forma":47571,"ergarten":47572,"_Manager":47573,"Ġpreseason":47574,"GAME":47575,"|\"":47576,"ĠBrock":47577,"Ġoccupy":47578,"Ġdecorations":47579,"ánd":47580,"Ġcot":47581,"Ġparan":47582,"Disk":47583,"remain":47584,">?":47585,"Strong":47586,"Ġfrance":47587,"ĠEra":47588,"-cr":47589,".BufferedReader":47590,"ĠParadise":47591,"ĠVAT":47592,"ĠAnders":47593,"Ġlimb":47594,"ampoo":47595,"Ġimperative":47596,"UTILITY":47597,"ĠRecognition":47598,"Ġragazze":47599,"Ġpops":47600,"ypress":47601,"Ġembargo":47602,"//{Ċ":47603,"Ġsyll":47604,"PTR":47605,"åŃĺåľ¨":47606,"Ġdidnt":47607,"Mailer":47608,"Ġacademics":47609,"ĠFrauen":47610,"neider":47611,"-rel":47612,"Ġrainbow":47613,"(In":47614,"Ġsliced":47615,"=============Ċ":47616,"(send":47617,"NSMutableDictionary":47618,"vos":47619,"(package":47620,"Ġordinance":47621,"viewer":47622,"ĠSantos":47623,"-selling":47624,"Ġgov":47625,"ettle":47626,"Ġfounders":47627,"Ġwaking":47628,"slashes":47629,"-pound":47630,"recht":47631,"ات":47632,".onClick":47633,"Ġnord":47634,"ständ":47635,"_when":47636,"UTERS":47637,"icc":47638,"Ġcapsule":47639,"ĠWid":47640,"Marc":47641,"ุ":47642,"rored":47643,"UGE":47644,"LOUD":47645,"ĠAudit":47646,"ipients":47647,"opian":47648,"ĠSue":47649,"Ġwurden":47650,".Helpers":47651,"Ġfactions":47652,"[np":47653,"-than":47654,"Ġreco":47655,"Ġkas":47656,"Ġcmds":47657,"/network":47658,"xbf":47659,"getColor":47660,"Ġbiased":47661,"ĠLak":47662,"Datas":47663,"vents":47664,"Ġë²":47665,"_PS":47666,".Validate":47667,"Invoker":47668,"Ġneuen":47669,"Ġjuvenile":47670,"VISION":47671,"Ġdevote":47672,"Ġlinha":47673,"Ġdiscounted":47674,"\\Config":47675,"Ġworthwhile":47676,"Ġskinny":47677,"ĠCourses":47678,"leys":47679,"ĠMortgage":47680,"Kevin":47681,"Ġannounces":47682,"])*":47683,"reservation":47684,"Ġæķ°":47685,"Ġprejudice":47686,"ĠStringComparison":47687,"Ġbeard":47688,"-win":47689,"ĠSão":47690,"ĉms":47691,"jal":47692,"ĠEarn":47693,"_ports":47694,"ĠNombre":47695,"_COR":47696,"ĠBUILD":47697,".sound":47698,"Yellow":47699,"Ġlinebacker":47700,"Ġcharitable":47701,"jug":47702,"_NONNULL":47703,"ĠDental":47704,"\">${":47705,"ĉmatch":47706,"Russian":47707,"Ġversch":47708,"Ġpinned":47709,"Ġadopting":47710,"OptionsMenu":47711,"Pag":47712,"Ġpairing":47713,"Ġtread":47714,"ercises":47715,"ĠSpread":47716,")i":47717,"ĠBAD":47718,"_tf":47719,"UIImageView":47720,"populate":47721,"bab":47722,"ĠÏĥ":47723,"[++":47724,"Ġopioid":47725,"Ġ##Ċ":47726,"dtype":47727,"ĠStarts":47728,"('/')":47729,"Ġpersonals":47730,"-market":47731,"Ġredundant":47732,"ĠEssential":47733,"Ġscrapy":47734,"Ġим":47735,"acl":47736,"Ġcrear":47737,"ĠBend":47738,"Ġrelieve":47739,"-room":47740,"wife":47741,"ĠvÃł":47742,"ĠQPoint":47743,"Ġquasi":47744,"ĠmethodName":47745,"\\xc":47746,"ĠPeru":47747,"/The":47748,".orm":47749,"Ġviz":47750,"/pdf":47751,"Located":47752,"Ġconfrontation":47753,"ĠChampionships":47754,"Ġhypert":47755,"Ġdj":47756,"ĠUserInfo":47757,"ĠåĪĽå»º":47758,"\\xb":47759,"(sim":47760,"Ġ==Ċ":47761,"Ġstaging":47762,"Ġdrastically":47763,"åѦ":47764,"lords":47765,".less":47766,"ведиÑĤе":47767,"ĠBucket":47768,"ĠMam":47769,".term":47770,"_pi":47771,"czy":47772,".pub":47773,"precio":47774,"ĠVirt":47775,"Ġroman":47776,"itat":47777,"Lex":47778,"_infos":47779,"İ":47780,".other":47781,"VELO":47782,"Ġponder":47783,"Ġhanno":47784,"(Page":47785,"doi":47786,"Ġpolite":47787,"Ġprogrammer":47788,"Dies":47789,"$d":47790,"Ġreplication":47791,"addColumn":47792,"frican":47793,"Ġleng":47794,"beer":47795,"oit":47796,"Ġwasting":47797,"ylim":47798,"measure":47799,"Neg":47800,"Ġpartie":47801,".console":47802,"ĠGuinea":47803,"TEL":47804,"_fact":47805,".chunk":47806,"Ġlent":47807,"Ġaller":47808,"Ġà¤ķ":47809,"_idle":47810,"Ġadmissions":47811,"JSONArray":47812,"Ġvibration":47813,".helpers":47814,"å¤ĸ":47815,"Ġhen":47816,"john":47817,"ĠìĥĿ":47818,"Ġjudgement":47819,"Ġgeen":47820,"terra":47821,"^{":47822,"ĠIz":47823,"Ġcâ":47824,"instances":47825,"Ġthreatens":47826,"Ġmüssen":47827,"KindOfClass":47828,"Ġstorytelling":47829,"_demo":47830,"rias":47831,"Privacy":47832,"hift":47833,"ĠYi":47834,"esor":47835,"íķł":47836,"ensitivity":47837,".Writer":47838,"à¸Ĥ":47839,"District":47840,".getJSONObject":47841,"Impro":47842,"(getResources":47843,"ĠSPELL":47844,"roduce":47845,"Ġslowed":47846,"Ġlinewidth":47847,"Ġhonesty":47848,"ĠCoord":47849,"ĠFork":47850,"ĠDispatchQueue":47851,"ĠCliff":47852,"ĠWiring":47853,"_TIMESTAMP":47854,"ollah":47855,"avoid":47856,"++];Ċ":47857,"semantic":47858,"-css":47859,"Ġveto":47860,"ĠMerr":47861,"Ġlegislators":47862,"CEEDED":47863,"Ġquestionnaire":47864,"ĠPills":47865,"Calculate":47866,"(core":47867,"'e":47868,"Ġdislike":47869,"ĠPreferences":47870,"_EXTERNAL":47871,"è°ĥ":47872,"Ġdodge":47873,"æľįåĬ¡":47874,".names":47875,".drawImage":47876,"_prom":47877,"uckland":47878,"Ġ<$>":47879,"ız":47880,"/site":47881,"项":47882,"rophe":47883,"Ġcompelled":47884,"Ġlaptops":47885,"Ġuni":47886,"CLOSE":47887,"Ġcasualties":47888,"ĠUniform":47889,"Terminal":47890,".\",\"":47891,"DAT":47892,"(TreeNode":47893,"ĠGandhi":47894,"(stmt":47895,"AXB":47896,"*M":47897,"Ġumbrella":47898,"animal":47899,"Ġgrpc":47900,"Ġwhereby":47901,"Ġfloats":47902,"ĉarg":47903,"Ġdbg":47904,"Ġexceeding":47905,"EventType":47906,".SaveChangesAsync":47907,"Ġ{{{":47908,"Ġowed":47909,"ahrenheit":47910,"Ġì§":47911,"Ġequipo":47912,"urai":47913,"Ġidol":47914,"]\")Ċ":47915,"_major":47916,"Ġentirety":47917,"ingerprint":47918,"ços":47919,"/account":47920,"ĉright":47921,"ursos":47922,"ĠEDT":47923,"_INSERT":47924,"Ġshining":47925,"Ġ<:":47926,"EdgeInsets":47927,"Ġcolonies":47928,".IM":47929,"ĉĠĉ":47930,"ROAD":47931,"CCCC":47932,"placing":47933,"ĠgetActivity":47934,"emacs":47935,"'%(":47936,".clicked":47937,"ĠThem":47938,"isia":47939,"Buscar":47940,".rename":47941,"Ġoath":47942,"Ġafterward":47943,"ĠUFO":47944,"APS":47945,"ĠJacksonville":47946,".some":47947,"Confirmed":47948,".scan":47949,"igInteger":47950,"Decorator":47951,"shield":47952,"ressive":47953,".did":47954,"请è¾ĵåħ¥":47955,"Ġshutter":47956,"Dam":47957,"Ġparenting":47958,"eyed":47959,"$item":47960,"-develop":47961,"Ġextracts":47962,"Ġdecentralized":47963,"ĠElsa":47964,"_spin":47965,"])+":47966,"-initial":47967,"Ġmultitude":47968,"Ġsensory":47969,"ĠMODEL":47970,"Ġsafeguard":47971,"ì¹":47972,"Ġhunters":47973,"ĠTiny":47974,"INO":47975,"decorate":47976,"ĠNoSuch":47977,"Ho":47978,"(Response":47979,"Ġruler":47980,"ĉshort":47981,"Ġcaster":47982,"ĠclientId":47983,"Ġpdb":47984,"ëıĦ":47985,"itic":47986,"ĠGameState":47987,"ĠnewItem":47988,")ĊĊĊĊĊĊ":47989,"ouis":47990,"noc":47991,".BLACK":47992,"_VECTOR":47993,"----------();":48281,".getP":48282,"anye":48283,"Ġneuron":48284,"ifold":48285,"ĠKnown":48286,"Bitcoin":48287,"Anyway":48288,"ayette":48289,"Ġ'['":48290,"Ãłnh":48291,"mgr":48292,"Ġcorrelated":48293,"Ġnause":48294,"Ġmentality":48295,"hasMany":48296,"ĠFG":48297,"ampie":48298,"ITU":48299,"Fs":48300,".Sp":48301,"_between":48302,"Dependencies":48303,"oug":48304,"Placeholder":48305,"=text":48306,"ĠManaging":48307,"ocalypse":48308,"åĮĹ":48309,"_mag":48310,"fld":48311,"âij":48312,"CAM":48313,"ĠHelpers":48314,"Ġdost":48315,"/out":48316,"Ġassassination":48317,".getImage":48318,"ĠKenny":48319,".')ĊĊ":48320,"){//":48321,"ĠRanger":48322,"Ġgek":48323,"Ġsincere":48324,"čĊ":48527,".getResources":48528,"Ġlump":48529,"_consts":48530,"(ext":48531,"ĉdir":48532,"âĿ":48533,"ĠpaddingTop":48534,"Ġobsession":48535,"Ġbanning":48536,"ĠAppModule":48537,"Ġpartisan":48538,"Ġcatalogue":48539,"Ġminors":48540,"Ġpitches":48541,"weep":48542,"Ġundertake":48543,"Ġthemed":48544,"audit":48545,".scrollTop":48546,"Ġrer":48547,"Ġsymptom":48548,"Ġopenings":48549,".blocks":48550,"openid":48551,"Ġassh":48552,"-save":48553,"ĠPig":48554,"Ġregain":48555,"Ġinicial":48556,"/favicon":48557,"ĉexp":48558,"Ġspices":48559,"iska":48560,"claims":48561,"mak":48562,"definitions":48563,"Ġcorrespondent":48564,"ĠCannabis":48565,"__,Ċ":48566,"ĠLucky":48567,"ĠGaussian":48568,"ĠNearly":48569,"CAD":48570,"']]Ċ":48571,"Ġadequately":48572,"ĠTITLE":48573,"constitutional":48574,"-mm":48575,"_override":48576,"Ġblas":48577,".readyState":48578,"Ġreminis":48579,"Ġreinforced":48580,"ĠCollabor":48581,"Ġdecorating":48582,"Ġbachelor":48583,"ERRUPT":48584,"Ġupright":48585,"ipation":48586,"ĠNoble":48587,"ĠvalueForKey":48588,"ĠsetLoading":48589,".Ignore":48590,"åģ":48591,"Globals":48592,"ĠMent":48593,"ASSES":48594,"Ġlimbs":48595,"ĠHUD":48596,"inci":48597,".iv":48598,"ĠQModelIndex":48599,"Fuse":48600,"Ġpedal":48601,"_FREQ":48602,"(verbose":48603,"Ġlongitud":48604,"ĠCharter":48605,"ê·¸":48606,"Ġbundles":48607,".ignore":48608,"umbo":48609,"EMA":48610,".......":48611,"sx":48612,".Card":48613,"Ġheute":48614,"Ġsteer":48615,"jumlah":48616,"Ġ{_":48617,"_Checked":48618,"Ġfax":48619,"ĠGust":48620,"itchens":48621,"Ġ))ĊĊ":48622,"Ġremarkably":48623,"/XML":48624,"-remove":48625,"_bt":48626,"Ġincub":48627,".package":48628,".currentThread":48629,"ĠHighlander":48630,".side":48631,"splash":48632,"Ġici":48633,"=D":48634,"Ġpuck":48635,"Ġballots":48636,"Ġhugely":48637,"coeff":48638,"ĠpData":48639,".COLUMN":48640,"ĠHealing":48641,"Ġordin":48642,"!),":48643,"Ġ'',čĊ":48644,"(md":48645,"ĠSask":48646,"čĊ":48668,"Ġrá":48669,"Ġblunt":48670,"ĠImageIcon":48671,"ifik":48672,"RTC":48673,"Ġfibers":48674,"Ġtoile":48675,".sent":48676,"ĠPyQt":48677,"$app":48678,"Ġmedio":48679,"Ġgranting":48680,"Ġtslint":48681,"ĠMö":48682,"(figsize":48683,"Ġhurricane":48684,"Ġlifes":48685,"ĠÃĦ":48686,"rocessing":48687,"_standard":48688,"-option":48689,"')))":48690,"Ġvacant":48691,"å·¥":48692,"ĠHollow":48693,"handleChange":48694,"Ġdivider":48695,"ĠEngineers":48696,"Ġsvens":48697,"Ġcompliant":48698,"tanggal":48699,"ĠCredits":48700,"ĠEmirates":48701,"RuleContext":48702,"Ġrealization":48703,"Ġdistracted":48704,"]+=":48705,"Ġaugment":48706,"ĠDw":48707,"otp":48708,"orrent":48709,"Editar":48710,".stock":48711,"Study":48712,"pections":48713,"ĠGameManager":48714,"=cut":48715,"Ġflock":48716,"ĠRomans":48717,"them":48718,"-hop":48719,"Ġscreenshots":48720,"Ġ/*!Ċ":48721,"Ġconversions":48722,"Ġnormalization":48723,"(configuration":48724,"Ġaeros":48725,"_security":48726,"!'Ċ":48727,"Bonus":48728,"ĠDRIVER":48729,"ĉDate":48730,"tie":48731,"ĠWyoming":48732,"Stand":48733,"itre":48734,"Ġshoppers":48735,"Ġdisadvantage":48736,"Ġliking":48737,"ç¬ij":48738,"Ġunderstandable":48739,"SEE":48740,"Ġhoy":48741,"Ġninete":48742,"Ġconfer":48743,"Ġnowrap":48744,"ĠVern":48745,",čĊčĊ":48746,"imestep":48747,"LayoutManager":48748,"à·":48749,"ĉwait":48750,"PLETED":48751,"Japan":48752,"Ġinduce":48753,"Ġå¯":48754,"озв":48755,"_ENDPOINT":48756,".horizontal":48757,"Ġaccelerated":48758,"rimon":48759,"IVES":48760,"Transactions":48761,"Lean":48762,"ĠSOUR":48763,"whether":48764,"yg":48765,"Ġoid":48766,"ĠEntityManager":48767,"OUNTRY":48768,"Ġfila":48769,"OLUMNS":48770,"INUE":48771,"ĠAnchor":48772,"TRAN":48773,"woo":48774,"blockquote":48775,"ĠNurse":48776,"ĠCarp":48777,"Ġredeem":48778,".try":48779,"ĠJP":48780,"Ġtimestamps":48781,"Ġ?>\"><":48782,"ĠREMOVE":48783,"ĠStarbucks":48784,"Really":48785,"Ġflooded":48786,".Callback":48787,"DropDown":48788,"ipro":48789,"Ġtended":48790,"lte":48791,"Ġproportions":48792,"-te":48793,"ĠRena":48794,"licate":48795,"forces":48796,".extra":48797,".authenticate":48798,"вод":48799,"¡°":48800,"ĠforControlEvents":48801,"Ġsenha":48802,"Ġkein":48803,"Ġminist":48804,"ĠPreference":48805,"ĠTelegraph":48806,"Ñĥп":48807,"strpos":48808,"Ġillnesses":48809,"Ġpigs":48810,"ĠgetIntent":48811,"Sol":48812,"Ġ¡":48813,"(cpu":48814,"[prop":48815,"screens":48816,"');?>":48817,"ĠActs":48818,"Ġstrdup":48819,"Ġaverages":48820,"anal":48821,"ĠCasual":48822,"GroupBox":48823,"ĠHandbook":48824,"/comments":48825,"Ġnumbered":48826,"Ġbroadcasting":48827,"çĽij":48828,".nativeElement":48829,".mu":48830,"ĠupdatedAt":48831,"ĠDoesn":48832,".AC":48833,".coll":48834,"Ġrecorder":48835,"_sha":48836,"Bg":48837,"bil":48838,"Ġbolts":48839,"Ġç¬":48840,"Ġimposing":48841,"ĠInformationen":48842,"_flashdata":48843,"economic":48844,"Remark":48845,"ucas":48846,"ĠOfficers":48847,"ĠTER":48848,"Walk":48849,"Ġmercado":48850,"_generate":48851,"HY":48852,"Calling":48853,"snap":48854,"scriptId":48855,".operation":48856,"ĠFlame":48857,"liness":48858,"Ġrented":48859,"_toggle":48860,"-changing":48861,"ĠTY":48862,"'util":48863,"EEP":48864,"Ġgraphql":48865,"ĠUni":48866,"Ġimpulse":48867,".Basic":48868,"Ġenergies":48869,"MARY":48870,"ĠMarcel":48871,"Ġmortal":48872,"Ġfres":48873,"mens":48874,"motion":48875,"Ġsampled":48876,"âĢľThat":48877,"iday":48878,"quipment":48879,"getInt":48880,"ĠAbsolute":48881,",'\"":48882,"uned":48883,".share":48884,"Ġ})(":48885,"mmm":48886,"ĠRising":48887,"ä»»":48888,"Ġunemployed":48889,"xfa":48890,".follow":48891,"ĉĉĉĉĠĠĠĠĠĠ":48892,"slt":48893,".Phone":48894,"Ġknives":48895,"Ġeve":48896,"onClick":48897,"]))čĊ":48898,"ĠWitness":48899,"ĉNS":48900,"ĠEOS":48901,"ĠStefan":48902,"ĠPriest":48903,"âĢĶwhich":48904,"GetString":48905,".By":48906,"Ġupstairs":48907,"Ġdetriment":48908,"broken":48909,"embro":48910,"Ġnicotine":48911,"ilion":48912,"Ġastonishing":48913,"_aff":48914,"ĠLesson":48915,"Ġaccidental":48916,"odor":48917,"Ġdecir":48918,"ĠnewName":48919,"+.":48920,"缸":48921,"igslist":48922,"ĠGithub":48923,"Ġsuccessive":48924,"racial":48925,"Ġenviron":48926,"éªĮè¯ģ":48927,"Ġredirected":48928,"TOTAL":48929,"Ġgrabbing":48930,"ĠLance":48931,"Ġforfe":48932,"_CB":48933,"å¾®":48934,"Elapsed":48935,"_way":48936,"(DialogInterface":48937,"_measure":48938,"xbb":48939,"Dog":48940,"Depart":48941,"-src":48942,"resolver":48943,"withstanding":48944,"_shell":48945,"ĠLastName":48946,"ĠAviation":48947,"Ġbeginner":48948,"(\"%.":48949,"(tool":48950,"Ġнов":48951,":init":48952,"(API":48953,"ĠMorrison":48954,"vtColor":48955,"Ġstaple":48956,"/INFO":48957,"Ġsupernatural":48958,"Ġsteak":48959,"timeline":48960,"zzle":48961,"\"`ĊĊ":48962,"Secondary":48963,"ĠNepal":48964,".StringUtils":48965,"Ġadam":48966,"Ġ(...":48967,"Ġsubstitution":48968,"Ġboarding":48969,"ĠKeyword":48970,"ĠAssault":48971,"dbcTemplate":48972,"ĠorderId":48973,"(engine":48974,".assertThat":48975,"ĠVenus":48976,"Ġhomicide":48977,"ĠAval":48978,"Ġgutter":48979,"ĠSupported":48980,"/part":48981,"Ġacclaimed":48982,"Histor":48983,"Ġmeses":48984,"über":48985,"ĠRenew":48986,"Ġgras":48987,"ĠEk":48988,"Ġinfile":48989,"indy":48990,".music":48991,".Scroll":48992,"ĠAges":48993,"ĠNaruto":48994,"ĠGather":48995,"Ġconfirming":48996,"=(\"":48997,"Ġpitched":48998,"oley":48999,"France":49000,"+'\"":49001,"$total":49002,"Ġonde":49003,"Ġditch":49004,"_sigma":49005,"Ġcontinuity":49006,"reward":49007,"-load":49008,"Ġproceso":49009,"Locked":49010,"staw":49011,"Ġspinal":49012,"lazy":49013,"!==":49014,"jest":49015,"Ġdun":49016,"ĠRodgers":49017,"ĉgrid":49018,"Ġlogos":49019,"ĠBengal":49020,".super":49021,"Provides":49022,"Ġnutrient":49023,".Timestamp":49024,"IZATION":49025,"åĨĮ":49026,"Ġfats":49027,"ĠXxx":49028,"ctica":49029,"Targets":49030,"Ġcontours":49031,"Ġreordered":49032,":Array":49033,"Ġtolerate":49034,"Vir":49035,"Ġterribly":49036,"Ġbricks":49037,"(&_":49038,"hb":49039,"Portal":49040,"ĠBread":49041,".which":49042,"ÂŃt":49043,"asInstanceOf":49044,"Ġjobject":49045,"ĉlength":49046,"_MT":49047,";\">čĊ":49048,"_EXIST":49049,"Ġmaternal":49050,"REL":49051,"Ġê²½ìļ°":49052,"hee":49053,"Ġlayouts":49054,"ĠLap":49055,"aisy":49056,"Ġstumbled":49057,"ĠUIG":49058,"ĠSco":49059,"Ġimpaired":49060,"RESSED":49061,"Ġabuses":49062,"VF":49063,"ARB":49064,".NAME":49065,"rch":49066,"primir":49067,"_completed":49068,"Ġpenny":49069,"Chrome":49070,"(begin":49071,"ernen":49072,"-checkbox":49073,"PlainOldData":49074,"ĠLPC":49075,"rade":49076,"spir":49077,"Ġconceived":49078,"Tips":49079,"ĠIoT":49080,"ĠGan":49081,"èģĶ":49082,"Ġbiases":49083,"Ġconsultants":49084,"pled":49085,"_ht":49086,"associated":49087,"],ĊĊ":49088,"Ġdelightful":49089,"ĠÑĤек":49090,"Helvetica":49091,"(load":49092,"-expand":49093,"_WIDGET":49094,"toa":49095,"ĠAkt":49096,"Ġomn":49097,"Ġclauses":49098,"Intel":49099,"*/}Ċ":49100,"_registration":49101,"ĠoldValue":49102,"Ġrestoring":49103,"Ġunreal":49104,"OVER":49105,"ĉĊĉĊĉĊ":49106,"ATS":49107,"_probe":49108,"Ġdivisor":49109,".updateDynamic":49110,"å¹³":49111,"Produces":49112,"stamp":49113,".jboss":49114,"ĉtask":49115,"!(:":49116,"Ġpsychic":49117,"@class":49118,"Martin":49119,"ĠPassed":49120,"clarations":49121,"hel":49122,"аÑĩ":49123,"ĉcopy":49124,"-bin":49125,"zan":49126,"igram":49127,"াà¦":49128,"(sig":49129,"ĠCaval":49130,"_##":49131,"Ġ%=":49132,"outlined":49133,"ĠAcid":49134,"Ġunpredictable":49135,"-dashboard":49136,"HexString":49137,"+c":49138,".Public":49139,"ẩ":49140,"Ġconveyor":49141,"ĠEB":49142,"Ġselects":49143,"Ġknocking":49144,"ĠCec":49145,"IBUTES":49146,"owaÄĩ":49147,"gatsby":49148,"*v":49149,"entropy":49150,"Ġdispatched":49151,"Ġcamel":49152,"ĠSaturn":49153,"Ġoverweight":49154,"(phone":49155,"parable":49156,"%B":49157,"_vectors":49158,"Ġbrewing":49159,"ĠTk":49160,"ĠDownloads":49161,"ĠSaved":49162,".Price":49163,"Ġcurved":49164,"ĠParenthood":49165,"è¶":49166,".pnl":49167,"pletely":49168,".Day":49169,"Ġadvertisers":49170,"Ġejec":49171,"Ġprzed":49172,"ë¯":49173,"!';Ċ":49174,"ĠKush":49175,"ĠTAB":49176,"Ġquests":49177,"Ġcoincidence":49178,"ummies":49179,"ĠKashmir":49180,"ĠEthics":49181,"_growth":49182,"Ġaktiv":49183,"Ġgrouping":49184,"å¢ŀ":49185,"_truth":49186,"åIJ¬":49187,"todos":49188,"iset":49189,"TexCoord":49190,"ätt":49191,"ĠZur":49192,"roys":49193,"_MAGIC":49194,"Ġbrewery":49195,"(State":49196,"ĠSMALL":49197,"ĠPlants":49198,"itbart":49199,"eacher":49200,"ĠAdelaide":49201,"Lu":49202,"Ġfick":49203,"undles":49204,"_loaded":49205,"ие":49206,"Poll":49207,"ritic":49208,"ELY":49209,"Ġ+'":49210,"ĠProfession":49211,"Ġstamps":49212,"ĠSew":49213,"scrollView":49214,"Ġcommunist":49215,"/problems":49216,"}čĊčĊčĊčĊ":49217,",o":49218,"Ġudp":49219,"Ġobese":49220,"approve":49221,"ancellation":49222,"_Game":49223,"ĠHashtable":49224,"adaptiveStyles":49225,"Ġpossesses":49226,".matcher":49227,"functional":49228,"Mrs":49229,"ĉsave":49230,"ĠDbType":49231,"Ġken":49232,"getContext":49233,"Ġmans":49234,"(rel":49235,"ĠBrotherhood":49236,")`Ċ":49237,"è§£":49238,".Information":49239,"OutOfRangeException":49240,"ĠSek":49241,"Cas":49242,"Ġbloggers":49243,"Either":49244,"(\"\"\"":49245,"Ġpinch":49246,"Ġcoarse":49247,")p":49248,"ĠPulse":49249,"Ġlearnt":49250,"Ġdentist":49251,"Ġonchange":49252,"Ġdirectives":49253,"(actions":49254,"nyder":49255,"ĠShir":49256,"Trait":49257,"_dep":49258,"ĠPET":49259,"ĠREP":49260,".AppSettings":49261,"cuador":49262,"idenav":49263,"Ġenvi":49264,"Ġslammed":49265,"ĠShoot":49266,"ĠdateFormat":49267,".joda":49268,"veys":49269,"Ġ).ĊĊ":49270,"Ġcareg":49271,"ĠParallel":49272,"_translation":49273,".functions":49274,".obs":49275,"RuntimeException":49276,"[]=":49277,"overview":49278,"ĠSchl":49279,"Ġnoisy":49280,"ĠOnPropertyChanged":49281,"Sending":49282,"Ġunfamiliar":49283,"Upon":49284,"ĠPrints":49285,".typ":49286,"Ġfleeing":49287,"ĉmove":49288,"(Un":49289,"Ġqr":49290,"׾":49291,"_beta":49292,"Ġskies":49293,"ĉme":49294,"WND":49295,"Ġstickers":49296,"blas":49297,"Ġinserts":49298,"Ġverses":49299,"ĠDew":49300,"Ġtangible":49301,"Ġhecho":49302,"POL":49303,"Ġteardown":49304,"omnia":49305,"IBE":49306,".cover":49307,"_strategy":49308,"^-":49309,"setPosition":49310,"uale":49311,"Signed":49312,"Ġiface":49313,"aseline":49314,".setTime":49315,"ĠMineral":49316,"ĠFighting":49317,"skins":49318,"Ġdiscrimin":49319,"Ġdansk":49320,"ĠPrinceton":49321,"acist":49322,"Ġ());Ċ":49323,"tracks":49324,"imonial":49325,"adecimal":49326,"EPROM":49327,"uggle":49328,".Notification":49329,"$mail":49330,"cantidad":49331,"ĠJung":49332,"Ġseekers":49333,"Ġplausible":49334,"tier":49335,"еж":49336,"Ġrapper":49337,"ĠMana":49338,"ĠHttpStatusCode":49339,"Ġburnt":49340,"loses":49341,"ĠFoto":49342,"ĠJsonObject":49343,"Instagram":49344,"Ġsyscall":49345,"Ġrealities":49346,"ĠMATLAB":49347,":^{Ċ":49348,"TERM":49349,"ĠCbd":49350,"ĠParagraph":49351,"Ġtravés":49352,"Ġconstructing":49353,"Ġswal":49354,"Ġpige":49355,"LLLL":49356,"-existing":49357,"Gets":49358,"Ġmelted":49359,"Ġmitigate":49360,"Hen":49361,"Ġhm":49362,"imas":49363,"ĠAo":49364,"ĠPerez":49365,"ĠDAL":49366,"Ġëĭ¤":49367,"Ġdivis":49368,"StoryboardSegue":49369,"ĠModify":49370,"ĠÃľber":49371,"_OVERRIDE":49372,".pem":49373,"untos":49374,"Ġespañ":49375,"Ġ{?":49376,"ĠPAY":49377,"_ipv":49378,"ĠFury":49379,"__.__":49380,"elow":49381,"-centered":49382,"checks":49383,"_Reg":49384,"-Javadoc":49385,"ĉload":49386,"ĠLikewise":49387,"اÙħ":49388,"UNE":49389,".sem":49390,"xcb":49391,"ĠCave":49392,"_sleep":49393,"Ġsilently":49394,"ĠExtreme":49395,".ToUpper":49396,"ĉCHECK":49397,"Ġcue":49398,"ĠQByteArray":49399,"Ġcorrupted":49400,"ĠDé":49401,"Ġimped":49402,"GetName":49403,"Ġinaccurate":49404,"Ġsober":49405,"ее":49406,"Ġbarcode":49407,"--){Ċ":49408,"inki":49409,"Ġép":49410,"Ġdri":49411,"ĠALT":49412,">>>>>>>>":49413,"onta":49414,"[L":49415,"Ġinteres":49416,"verting":49417,"Ġdiagnostics":49418,"pdev":49419,"è©":49420,"ĠIntegrated":49421,").'":49422,"_gc":49423,"$text":49424,".games":49425,"ĠTerra":49426,"'Re":49427,".transfer":49428,"_FIFO":49429,"getModel":49430,"Ġbland":49431,"ĠColeman":49432,"Ġprimes":49433,"ĠæĪ":49434,"Ġcrosses":49435,"nk":49436,"GING":49437,"Ġ'^":49438,"ĠBlob":49439,"Ġintercourse":49440,"ĠBlvd":49441,"Ġweighs":49442,"_regular":49443,"ĠPerth":49444,"Ġseparating":49445,"Ġbilled":49446,".tabControl":49447,"Ġpuppet":49448,"Ġutilization":49449,"Ġâĸł":49450,"Ġsucces":49451,"Ġlamps":49452,"_proj":49453,"Eric":49454,"Ġrenovation":49455,"ĠFamilies":49456,"ĠBits":49457,"partials":49458,"-Men":49459,"solution":49460,"Ġdwarf":49461,".INTEGER":49462,"ĠLOCK":49463,".ct":49464,"Ġexcerpt":49465,"ĠPix":49466,"ĠFirstName":49467,"ANTED":49468,"ĠAdmir":49469,"-help":49470,"Prior":49471,"ĠAlign":49472,".INSTANCE":49473,"LineEdit":49474,"('/:":49475,"Ġinet":49476,"odus":49477,".pkl":49478,"ĠKY":49479,"upert":49480,"Ġnerves":49481,"_gradient":49482,"}','":49483,"_unref":49484,"Ġsaturated":49485,"ĠConnected":49486,"ĠFN":49487,"EXIT":49488,"Ġteleport":49489,"Ġavait":49490,"PageRoute":49491,"Ġdivorced":49492,"(lang":49493,"fst":49494,"ĠTyr":49495,"Ġmessenger":49496,"ifstream":49497,"XS":49498,"ĠBanking":49499,"Ġinfectious":49500,"ĠMons":49501,"_LOOP":49502,"Ġzurück":49503,"Ġobtener":49504,"/repos":49505,"Vel":49506,"acro":49507,"ĠuserRepository":49508,"styleType":49509,"ĠSRC":49510,"VMLINUX":49511,"recursive":49512,"/bar":49513,"_chip":49514,"ominated":49515,"ĠNit":49516,"âĢĶto":49517,"ĠBuddh":49518,"омеÑĢ":49519,"ĠMAG":49520,"ĠCHE":49521,"_den":49522,".raises":49523,"_degree":49524,"Ġpumpkin":49525,"_templates":49526,"_MEDIA":49527,"ĠTimeline":49528,"Ġbots":49529,"ObjectType":49530,"Ġbuys":49531,".posts":49532,"CAL":49533,"waiting":49534,"ĠDaniels":49535,"Ġdabei":49536,"ĠSigma":49537,"ilor":49538,"igel":49539,",W":49540,"ADS":49541,"(panel":49542,"ì²´":49543,"itating":49544,".palette":49545,"Ġmosquito":49546,"Ġtego":49547,"(parseInt":49548,"Ġdespués":49549,"promise":49550,"Ġwij":49551,"typescript":49552,"ĠTv":49553,"_IDENTIFIER":49554,").ĊĊĊ":49555,"_flat":49556,"itsu":49557,"USR":49558,"experience":49559,"-fit":49560,"phinx":49561,"_thresh":49562,"Ġideally":49563,"ĠFreeman":49564,",DB":49565,"_rw":49566,"çŃī":49567,"Ub":49568,"_statistics":49569,"=\"\"><":49570,"Ġchore":49571,"Ġyork":49572,"installed":49573,"Additionally":49574,"Ġpstmt":49575,"ylko":49576,"::Ċ":49577,"Forest":49578,"Ġheadset":49579,"Ġgallon":49580,"ÑĢем":49581,"Ġwithdrawn":49582,"ĠCandidate":49583,"Ġmelting":49584,"Ġfreezer":49585,"Ġhl":49586,"_HELP":49587,"mime":49588,"(/*":49589,"Ġthirst":49590,"$return":49591,"memberof":49592,"еб":49593,"ĠHttpServletRequest":49594,"(ob":49595,"_Result":49596,"Ġasserted":49597,"Ġfulfilling":49598,"Ġstretches":49599,"parated":49600,"-funded":49601,"ĠåĽ":49602,"ingles":49603,"_ca":49604,".condition":49605,"ĠDisplays":49606,"Ġorang":49607,"ĠCRE":49608,"ĠglBind":49609,"ĠSelector":49610,"/type":49611,"ĠAlexa":49612,"chedules":49613,"ĠPeninsula":49614,"Ġparity":49615,"ĉdest":49616,"ĠDoors":49617,"čĊĉčĊ":49618,"_dimension":49619,"Ġaload":49620,".StoredProcedure":49621,"(paren":49622,"ĠBurke":49623,"')]Ċ":49624,"-engine":49625,"Ġquir":49626,"ĠHybrid":49627,"ĠDoe":49628,"Ġoutlines":49629,"ĠTrends":49630,"_NV":49631,"periments":49632,"ĠHin":49633,"?',":49634,"ĉText":49635,"FUL":49636,"Ġsmells":49637,"Ġslick":49638,"Ġmiserable":49639,"ĠArrayAdapter":49640,"ĠparamString":49641,"Hom":49642,"_literals":49643,"usuarios":49644,"Ġprompting":49645,"_lazy":49646,"ĠActivation":49647,"_oc":49648,"Weak":49649,"Ġanecd":49650,"ĠUCLA":49651,"=re":49652,"issement":49653,"ĠEscorts":49654,"Excellent":49655,"ĠPause":49656,"Ġrepositories":49657,"TOR":49658,"ariate":49659,"_iso":49660,"updates":49661,"halb":49662,"udiante":49663,"ë¡Ŀ":49664,"Ġnaive":49665,"ĠPeg":49666,"ĠLounge":49667,"ARGIN":49668,"(bin":49669,"OnClickListener":49670,"ĠFAILED":49671,"Ġlite":49672,"Ġdzie":49673,"ĠLiteral":49674,"ivor":49675,"fcntl":49676,"Ġeats":49677,"Ġqed":49678,"Unlock":49679,"riding":49680,"undai":49681,"=M":49682,"ATTER":49683,"ConfigureAwait":49684,"icias":49685,"ustomed":49686,"Ġsuccession":49687,"endTime":49688,"ĠJupiter":49689,"Ġjudging":49690,"dration":49691,"_docs":49692,".mo":49693,"Ġeducators":49694,"ĠVine":49695,"Cond":49696,"[out":49697,"qb":49698,"\\Validator":49699,"Ġmeanings":49700,"Ġpresently":49701,"Ġdividing":49702,"ottenham":49703,"ascular":49704,"Ġtrailers":49705,"ĠCLOSE":49706,"ами":49707,"âĢĻai":49708,"ĠGain":49709,"wor":49710,"Ġplanner":49711,"Ġdistributing":49712,"vat":49713,"months":49714,"xlabel":49715,"HF":49716,"Viol":49717,".BASELINE":49718,"еÑĤÑģÑı":49719,"ĠRotate":49720,"Ġtxn":49721,":bold":49722,"Ġbloss":49723,"Forgery":49724,"(embed":49725,"Ġjako":49726,"sprintf":49727,"their":49728,"Ġexhibits":49729,"-static":49730,"hecy":49731,"getActiveSheet":49732,".clients":49733,"ãģį":49734,"_hide":49735,"[word":49736,"Cb":49737,"addItem":49738,"axe":49739,"_radio":49740,"alion":49741,"modifier":49742,"Ġsaturation":49743,"Ġdenom":49744,"_pixels":49745,"mess":49746,"(fl":49747,"atif":49748,"Ġsecs":49749,"Ġprostitution":49750,"Ġgrandchildren":49751,"Ġparadise":49752,"ĠFeld":49753,"_BINARY":49754,"itous":49755,"à¹Ħ":49756,"Ġflashing":49757,"-sided":49758,"Ġcontradiction":49759,"/*ĊĊ":49760,"ylabel":49761,"ĠTet":49762,"Ġadmire":49763,"reso":49764,"Ġletz":49765,"ĠSEARCH":49766,"slots":49767,"ĠRewards":49768,"ĠHog":49769,"ĠNSData":49770,"stash":49771,"Fall":49772,"ĠAmer":49773,"LinearLayout":49774,"/photos":49775,"Ġfeather":49776,"Ġ|čĊ":49777,"Downloads":49778,".StartsWith":49779,"Ġ//#":49780,"ineTransform":49781,"Ġaffid":49782,"Vtbl":49783,"ĠRogue":49784,"scribed":49785,"Ġfauc":49786,"ĠMonroe":49787,"Ġdeclares":49788,"modern":49789,"reon":49790,"aybe":49791,"PASS":49792,"fers":49793,"_MULTI":49794,"ĠMathematics":49795,"Ġsudah":49796,"_ATTACH":49797,"ĠnumberWith":49798,"ĠSolomon":49799,"jin":49800,"ografia":49801,"öl":49802,"_design":49803,"culated":49804,"ĠLuna":49805,"iesz":49806,"Ġ=>'":49807,"Ġrevelations":49808,"Along":49809,"(ed":49810,"ĠFilename":49811,"Ġylabel":49812,"Secure":49813,"Ġbusca":49814,"agnosis":49815,"_RECE":49816,"Ġoverlapping":49817,"Extent":49818,"Ġanticipation":49819,"Checks":49820,"ĠALSO":49821,"orc":49822,"ilingual":49823,"itational":49824,"Ġadvancement":49825,"ouro":49826,"ĠPredicate":49827,"å¾Ĺ":49828,"eria":49829,"ĠPierce":49830,"orio":49831,"Ġmerits":49832,"Ġpeanut":49833,".Package":49834,"ĠConduct":49835,"_SENSOR":49836,"Ġboiling":49837,"Ġintra":49838,"ĠIGN":49839,"ĠFur":49840,".Refresh":49841,"ĠReach":49842,"_decoder":49843,".Exp":49844,"ĠÑĤак":49845,"pill":49846,",Q":49847,"ĠGrill":49848,"Ġpopping":49849,".Ag":49850,"Ġproyecto":49851,"Ġmileage":49852,"Ġecological":49853,"]]);Ċ":49854,"ĠÂŃ":49855,"subplot":49856,"acad":49857,"ĠTrying":49858,"recipes":49859,"$criteria":49860,"ĠPersian":49861,"-bound":49862,"MASK":49863,"ĠGesture":49864,"Ġkk":49865,"ĠPVC":49866,"Ġprohibition":49867,"Ġcomando":49868,"ĠLOOK":49869,"Shopping":49870,"Ġdistortion":49871,"čĊ":49917,".Dependency":49918,".QueryString":49919,".Owner":49920,"Ġexpiry":49921,"Thu":49922,"(Vec":49923,"Ġhazardous":49924,"Ġrpm":49925,"APON":49926,"ĠaddTarget":49927,"sville":49928,"pNet":49929,"ĠImg":49930,"ĠTIMER":49931,".Animation":49932,"Ġbek":49933,"Ġassort":49934,"Ġlebih":49935,"ĠbodyParser":49936,"Ġvibrating":49937,"IDL":49938,"Ġbutterknife":49939,"inters":49940,"Ġpersuade":49941,"ĠLGBTQ":49942,"èĭ":49943,".soft":49944,"Ġbeams":49945,"_sur":49946,".Def":49947,"Ġlabs":49948,"ĉplt":49949,"Ġskins":49950,"Ġtransferring":49951,"Ġimaginary":49952,"_End":49953,";background":49954,"Ġlaps":49955,"_COMMENT":49956,"(SDL":49957,"onds":49958,".Record":49959,"ĠImplements":49960,"_ticks":49961,"()))ĊĊ":49962,"Ġarose":49963,"]?":49964,"ĠMp":49965,"ĠICommand":49966,"Ġsculpture":49967,"Ġcontracted":49968,"\">'":50446,"kinson":50447,"Ġкол":50448,"ognitive":50449,"_li":50450,"Ġimminent":50451,"Ġaffinity":50452,".signal":50453,"Ġnotch":50454,"ĠSteelers":50455,"maxlength":50456,"KK":50457,"ĠEugene":50458,"_PWM":50459,"roi":50460,"ĠâĹı":50461,"ĠHamburg":50462,".Must":50463,"Ġaxe":50464,"enef":50465,"Ġambitions":50466,"ĠSpecies":50467,"ĠStress":50468,"Ġawhile":50469,"ĠбÑĥд":50470,"Ġwithstand":50471,"ĠDecoder":50472,"_inventory":50473,"Ġ{ččĊ":50474,"Ġtgt":50475,"Ġrailroad":50476,"WASHINGTON":50477,"Ġnegotiated":50478,"NST":50479,"-phone":50480,",U":50481,"Ġexercising":50482,"ụ":50483,"_PIXEL":50484,"avors":50485,"iterated":50486,"Ġvampire":50487,"adal":50488,"Ingrese":50489,"Ġung":50490,"jective":50491,".cells":50492,"Ġnano":50493,"Ġmarkdown":50494,"_RULE":50495,"(events":50496,"Ġluggage":50497,"MESSAGE":50498,"igkeit":50499,"$count":50500,"AttributeName":50501,"IGINAL":50502,"_Ent":50503,"ĠBF":50504,"ĠCOMMENT":50505,"_ini":50506,"ĠEuropeans":50507,"ĠBelle":50508,"åij½":50509,")['":50510,"åºĶ":50511,"ĠUseful":50512,".reference":50513,"()\",":50514,"_grade":50515,"ĠKaw":50516,"Ġsentencing":50517,"Ġsocialism":50518,"monster":50519,"_LAYER":50520,"Ġdeepest":50521,"wk":50522,"ĠNoise":50523,"###ĊĊ":50524,"Ġpréc":50525,"otle":50526,"ÑĤе":50527,"auf":50528,"ibal":50529,"Ġconquer":50530,">Email":50531,"Ġambulance":50532,"OAD":50533,"Ġ(\"%":50534,"ĠFI":50535,".fixture":50536,"Ġterse":50537,"ĠĠĠĠĉĉĉĉ":50538,"Ġsanctuary":50539,"ugi":50540,"ĠComparator":50541,"Definitions":50542,"Ġasthma":50543,"Ġlact":50544,"Ġhardwood":50545,".clock":50546,"Ġattracting":50547,"ĠMour":50548,"(distance":50549,"icits":50550,"Ġbonne":50551,"ĠACCESS":50552,".DeserializeObject":50553,"ĠTyped":50554,"Ġjeu":50555,"ĠappId":50556,"ĠClara":50557,"ĠHF":50558,"ĠReich":50559,"ipples":50560,"//--------------------------------------------------------------------------------":50561,"_delivery":50562,"erialization":50563,"Ġplaintiffs":50564,"Scient":50565,"shopping":50566,"ĠDummy":50567,"ĠWald":50568,"GroupName":50569,"Ġinscription":50570,"elog":50571,"::::::::":50572,"_ld":50573,"BackPressed":50574,".Raw":50575,"ĠOnTrigger":50576,"Ġmuseums":50577,"ĠBeen":50578,"ĠAdventures":50579,"Ġslate":50580,"Ġlett":50581,"Ġsund":50582,"ĠGin":50583,"ĠMechanical":50584,".ship":50585,"AppComponent":50586,"Ġdestined":50587,"Ġdwelling":50588,"Profiler":50589,"Prepare":50590,"zeich":50591,"Ġsilicon":50592,"(has":50593,"Ġ#%":50594,"VIDEO":50595,"Ġcollaborate":50596,"Lin":50597,"Ġscopes":50598,"(className":50599,"(sd":50600,"andin":50601,".ham":50602,"ServiceImpl":50603,"-described":50604,"Ġirony":50605,"stial":50606,"ĠHuawei":50607,"(repo":50608,"Ġunexpectedly":50609,"ĠKai":50610,".install":50611,"\\xf":50612,"Ġexhibited":50613,"_TCP":50614,"ĠOx":50615,"_CHO":50616,"Ġprostituerte":50617,"Ġvä":50618,"Ġsito":50619,"Ġconstituents":50620,"ĠContinued":50621,"ĠSAVE":50622,"rss":50623,"/message":50624,"ubes":50625,"Ġmisdemean":50626,"Ġtaxation":50627,"Ġstoryline":50628,"hair":50629,"ĠFinds":50630,"SIG":50631,"verification":50632,"~=":50633,".hp":50634,"Iterable":50635,"Ñĭе":50636,"atori":50637,"Ġctr":50638,"Rx":50639,"_);ĊĊ":50640,"dag":50641,".pin":50642,"Ġpseud":50643,"Ġinvo":50644,"ÑģÑĤÑĢ":50645,"_pix":50646,"为空":50647,"Ġsworn":50648,"âĢĶor":50649,"_registry":50650,"Ġdisasters":50651,"ĠROI":50652,"ĠâĢķ":50653,"aktu":50654,"forest":50655,"beiten":50656,"âĢĶI":50657,"ueva":50658,"egt":50659,"Ġspikes":50660,"URES":50661,"ĠRecommended":50662,"Ġexploited":50663,"ĠFrederick":50664,"_COMPLETE":50665,"ĠDrugs":50666,"!!!!!!!!":50667,"ĠRiv":50668,"STOP":50669,"ROOM":50670,"ĠPASSWORD":50671,"Cookies":50672,".El":50673,"á»Ń":50674,"ĠBert":50675,"Ġhashed":50676,"icester":50677,"Ġdecorator":50678,"ĠqueryString":50679,":;Ċ":50680,"Ġ\"[\"":50681,"otope":50682,"-Americ":50683,"ĠMatthews":50684,"URAL":50685,"âĢľ,":50686,"Summer":50687,"fos":50688,"_CONTAINER":50689,"_ACK":50690,"Ġfiltr":50691,"_disp":50692,"_Re":50693,"Ġfacile":50694,"аÑĪ":50695,"ĠìķĬ":50696,"Ġeben":50697,"Ġsprink":50698,"ĠQuint":50699,">V":50700,"Ġhistorians":50701,"ourmet":50702,"ĠMonitoring":50703,"ledger":50704,"cott":50705,"Ġware":50706,"GGLE":50707,"cars":50708,"ĠMEDIATEK":50709,"Ġvolupt":50710,"_View":50711,"HEL":50712,"(copy":50713,"(stats":50714,"Ġchromosome":50715,"ĠCurtis":50716,"-conf":50717,"(asset":50718,"Ġhvor":50719,"FileSystem":50720,"<>();čĊ":50721,"ocoder":50722,"ĠCannon":50723,")x":50724,"ĠSmooth":50725,"ĠSAS":50726,"_ce":50727,"ĉprev":50728,"_movie":50729,"Ec":50730,"_wall":50731,".ĊĊ":51278,"ogenesis":51279,"ĠOPTIONS":51280,"uptools":51281,"Ġmilitant":51282,"Ġexited":51283,"igar":51284,"ĠCOMM":51285,"ĠDisposable":51286,"aycast":51287,"Ġrowspan":51288,"Ġsynthes":51289,"Ġsondern":51290,"ĠĊ":54769,"ĠJacket":54770,"RATION":54771,".getSelectedItem":54772,"-init":54773,"ĠRegisters":54774,"_sep":54775,"ĠToolkit":54776,".dict":54777,"Ġxlabel":54778,"\\Table":54779,"toc":54780,"_combo":54781,"ĠCompact":54782,"Ġrugged":54783,"à¥ĩà¤":54784,"-management":54785,"')}}\">Ċ":54786,"ĠStamp":54787,"ıl":54788,"rox":54789,"Ġlandscapes":54790,"_NOTE":54791,"monary":54792,"cab":54793,"Ġmoet":54794,"xaf":54795,"rcode":54796,"-cli":54797,"_gate":54798,"[event":54799,"SPORT":54800,"gia":54801,"ĠSUPER":54802,"/Login":54803,"_shutdown":54804,"interrupt":54805,"Ġpretending":54806,"Ġfringe":54807,"ĠReds":54808,"ĠCUDA":54809,"ĠUNIX":54810,"vit":54811,"Ġbrig":54812,"drv":54813,"ĠConnector":54814,"Therefore":54815,"Ġlia":54816,"Detection":54817,"_actor":54818,"Ġtempfile":54819,"Ġeccentric":54820,"-role":54821,"Ġpadx":54822,"dent":54823,"Western":54824,"Ġê·¸":54825,"ĠApplicationRecord":54826,"Ġcampaigning":54827,"_runner":54828,"ĠCivic":54829,"aleigh":54830,"Ġdirekt":54831,".sul":54832,"ĠĠĉĉĉ":54833,"anten":54834,"Ġissuer":54835,"Ġassertions":54836,"(orig":54837,"ATIO":54838,"Ġleaned":54839,"äs":54840,".DTO":54841,"explode":54842,".Observable":54843,"Ġstaggering":54844,"Ġkidnapped":54845,"Ġprogrammers":54846,"ĠInnov":54847,".parameter":54848,"Ġdomination":54849,"Ġskeptic":54850,"Ġæĺ¯":54851,"Ġavoids":54852,".Verify":54853,"ubby":54854,"ĠASN":54855,"Ġformato":54856,"ĠBeatles":54857,"_brand":54858,"Ġinset":54859,"youtu":54860,"Ġtoc":54861,"-final":54862,"Showing":54863,"ĠDoub":54864,"ĠMesa":54865,"Adj":54866,"_medium":54867,"Creates":54868,"(endpoint":54869,"ĉUP":54870,"bbie":54871,"Ġstalk":54872,".databind":54873,".Scan":54874,"agents":54875,"$,":54876,"individual":54877,"+)/":54878,"ĉvm":54879,"(notification":54880,"Ġinex":54881,"ĠClassification":54882,"reno":54883,"Ġolig":54884,"-rated":54885,"Ġformulation":54886,"',{":54887,"Ġacept":54888,"_unpack":54889,"_CA":54890,".Pow":54891,"ĉim":54892,"Ġaluminium":54893,"ANO":54894,"Ġxn":54895,"Ġcómo":54896,"ĠIngredient":54897,"Ġseizures":54898,"åħ±":54899,"ificador":54900,"Ġsiguiente":54901,"ĠInfragistics":54902,"Ġduplicated":54903,"ĠDee":54904,"Ġnø":54905,"ĠACCEPT":54906,"(crate":54907,"иÑĤелÑĮ":54908,"-less":54909,"Ġinfinity":54910,"Analyzer":54911,"-Day":54912,"ritt":54913,"(cin":54914,"ĠGy":54915,"Ġmultiplied":54916,"uchi":54917,"ĠBaldwin":54918,"/ip":54919,"Ġshortcuts":54920,".ADD":54921,"Ġvigor":54922,"_instruction":54923,"(;":54924,"_eta":54925,"è¿ŀ":54926,"utorials":54927,"Ġboosting":54928,"bv":54929,"Ġacknowledges":54930,"Listening":54931,"FAQ":54932,";b":54933,"((-":54934,"Ġarchitects":54935,"Ġzwe":54936,"Ġpuls":54937,"ĠgetCount":54938,"verbs":54939,"ãĢľ":54940,"(Collection":54941,"kre":54942,"Ġjurisdictions":54943,"_bridge":54944,"ĠCrack":54945,"ĠDifficulty":54946,"KO":54947,"Reservation":54948,"_requires":54949,"Tour":54950,"ãģĹãģŁ":54951,".setCurrent":54952,"Ġky":54953,"ĠAlbany":54954,"Ġè§":54955,"ller":54956,"agna":54957,"workers":54958,".blank":54959,"ĠPrayer":54960,"MIC":54961,"Ġresilience":54962,"TeX":54963,"ĠLanguages":54964,"study":54965,"ĉcurr":54966,"Ġenzymes":54967,"Slug":54968,"ĠíĮĮ":54969,"stral":54970,"Ġtumors":54971,"Ġsegunda":54972,"='{":54973,"instruction":54974,"ĠLisp":54975,"/info":54976,"Ġ\"{$":54977,",:),":54978,"Ġgv":54979,"(ErrorMessage":54980,"Ġ'=":54981,"}-${":54982,".Documents":54983,"\"Well":54984,"Ġreminiscent":54985,"Ġgaz":54986,"iropr":54987,"ehr":54988,"Ġsuppressed":54989,"ersh":54990,".scrollTo":54991,"Ġcadena":54992,"ĠgameState":54993,"ÃŃm":54994,"(conv":54995,"ĠTomorrow":54996,"ĠCCT":54997,"Mongo":54998,"ulg":54999,".Camera":55000,".handlers":55001,"mph":55002,"Ġstk":55003,"Ġgenetics":55004,"ACING":55005,"Trivia":55006,"ĠBam":55007,"(marker":55008,".Stretch":55009,"ĠSunni":55010,"ĠBetty":55011,".tolist":55012,"unlikely":55013,".Rectangle":55014,"obsolete":55015,"ILON":55016,"innerText":55017,"embourg":55018,"aN":55019,"ĠVehicles":55020,"unlock":55021,":utf":55022,"nob":55023,"ĠSeeing":55024,"ĠNEVER":55025,"Ġtls":55026,"Ġfilles":55027,"Ġbenefited":55028,"ĠClint":55029,"*/),":55030,".fold":55031,"Ġposible":55032,"ADED":55033,"thouse":55034,".DAL":55035,"ĠOdd":55036,"rokes":55037,"ĠSunny":55038,"ĠPartialEq":55039,"_Buffer":55040,"ĠLevi":55041,"longrightarrow":55042,"eldon":55043,"gages":55044,"_warn":55045,".CreateTable":55046,"ĠDip":55047,"_questions":55048,".logic":55049,"Ġ#\"":55050,"={()=>":55051,"Ġtep":55052,"Ġjuicy":55053,"ìĤ¬":55054,"enko":55055,"ialect":55056,"Ùī":55057,"Ġonboard":55058,"Ġæı":55059,"ĉrt":55060,"_UTF":55061,"ĠQAction":55062,"âĢŀ":55063,"(Component":55064,"(audio":55065,".hit":55066,"gte":55067,"Ġprogrammed":55068,"stateParams":55069,"Ġpolyester":55070,"fires":55071,"byss":55072,"]=(":55073,"_quality":55074,"OfDay":55075,"ĠFairy":55076,"Ġyelled":55077,"opl":55078,"(userName":55079,"ĠDifference":55080,"Ġevaluations":55081,"iffany":55082,"Ġcyclists":55083,"Ġcidade":55084,"Ġtextbook":55085,"Ġprofiling":55086,"__),":55087,"dea":55088,".activate":55089,"Ġindications":55090,"Ðķ":55091,"TouchUpInside":55092,"Ġinvaluable":55093,"ĠMASK":55094,"Ġcontend":55095,"Freq":55096,"Ġrecruits":55097,"(interval":55098,"ĠUserProfile":55099,"Ġ'./../":55100,"edu":55101,"_Callback":55102,"Ġanalogy":55103,"ĠTrophy":55104,"apphire":55105,"Videos":55106,"ĠCher":55107,"ĠHav":55108,"â̦\"":55109,".validator":55110,"gfx":55111,"ĠUObject":55112,"classnames":55113,"triangle":55114,"ĠEncoder":55115,".spy":55116,"Ġpredators":55117,"=status":55118,"-safe":55119,":\",Ċ":55120,"ĠIncluding":55121,"Ġ{};čĊ":55122,"*cos":55123,"Ġendured":55124,".sulake":55125,"Ġnursery":55126,"Ġfragrance":55127,"Ġrebuilding":55128,"Ġnth":55129,"ĠFraser":55130,".setDate":55131,"ĠVince":55132,"_REST":55133,"Ġventilation":55134,"æµ·":55135,"cribes":55136,".asm":55137,"lpVtbl":55138,"ĠAbe":55139,"uisine":55140,",array":55141,"ĉclassName":55142,"errals":55143,"Ġ'ĊĊ":55144,"Checkout":55145,"Ġsolicit":55146,"Aux":55147,"_capture":55148,"Ġribs":55149,"ragon":55150,"viol":55151,"topics":55152,"FunctionFlags":55153,"ĠMarty":55154,"bike":55155,"ĠTucker":55156,"(kernel":55157,"ĠOps":55158,"CloseOperation":55159,"/demo":55160,"ilda":55161,"ĠlÃŃnea":55162,"APPING":55163,"Ġsuites":55164,".visitVarInsn":55165,"urus":55166,"ĠMinute":55167,"(manager":55168,"Ġbutterfly":55169,"Ġapare":55170,"Ġwolves":55171,"JWT":55172,"ĠSalon":55173,"ĉdelay":55174,"-eslint":55175,"isations":55176,".rpc":55177,")|(":55178,"ĠSnapchat":55179,"/mm":55180,"MN":55181,"ceries":55182,".textAlignment":55183,"ĠFrankfurt":55184,"Ġado":55185,"(newValue":55186,"(access":55187,"(Expression":55188,"ĠSignIn":55189,"ĠHaiti":55190,"_tp":55191,".setParameter":55192,"Minute":55193,"Ġmanuals":55194,"ricanes":55195,"ĠPTR":55196,"ĠOuter":55197,"Ġgetline":55198,"ocations":55199,"_CD":55200,"ĠLyon":55201,"/gui":55202,"_live":55203,"idan":55204,".geom":55205,"ĠborderBottom":55206,"imuth":55207,"_checkpoint":55208,"Ġmeu":55209,"ĠIrving":55210,"Ġpeuvent":55211,"(MAX":55212,"ĠARCH":55213,"Ġpov":55214,".sourceforge":55215,"Ġjamais":55216,"Ġark":55217,"ĠBaghdad":55218,"ĠCLEAR":55219,"MenuBar":55220,"Ġtrois":55221,"CHEDULE":55222,"Ġ#čĊ":55223,"(Call":55224,"$order":55225,"(Material":55226,"Ġencontrado":55227,"$list":55228,"ĠMETHODS":55229,".beginTransaction":55230,"_MAG":55231,"StyleSheet":55232,"Ġmajors":55233,"Ġindefinitely":55234,"cleanup":55235,"Ġhomeland":55236,"(dto":55237,"Dates":55238,"Presentation":55239,"ĠDK":55240,"={`/":55241,"ĉKey":55242,"(Block":55243,"_checkbox":55244,"needs":55245,"ĠonComplete":55246,"rico":55247,"Ġgleich":55248,"Ġxm":55249,"OOD":55250,"Better":55251,"ĠSQLITE":55252,".Book":55253,"xad":55254,"ĠGone":55255,"ĉdp":55256,"Ġdevotion":55257,"Ġstm":55258,"Ġobsess":55259,"ĠBackend":55260,"Queries":55261,"Ik":55262,"//****************************************************************":55263,"Ġdividends":55264,".parentElement":55265,"}\")ĊĊ":55266,"ĠMaterialPageRoute":55267,":num":55268,"Ġexplic":55269,"ĠOL":55270,"least":55271,"Oops":55272,"imentos":55273,"Ġinsurers":55274,"Ġheroic":55275,"ĉfields":55276,".imgur":55277,".btnCancel":55278,"ĠDetective":55279,"(sm":55280,"ĠMutableLiveData":55281,".lab":55282,"(([":55283,"Ġhairst":55284,"ĠTransactions":55285,"å¼Ģå§ĭ":55286,"ĠstdClass":55287,"uento":55288,"GIS":55289,"_cod":55290,"Instructions":55291,"Calls":55292,"PointerType":55293,"ĠRw":55294,"Ġassortment":55295,"ĠDIG":55296,"+r":55297,"_CERT":55298,"Ġinstability":55299,"Ġvib":55300,"onas":55301,"Ġroku":55302,"apellido":55303,"Ġangl":55304,"preneur":55305,"Ġfluids":55306,"isease":55307,"Ġdeed":55308,"quist":55309,"_CONSTANT":55310,"Ġequilibrium":55311,"_delegate":55312,"ĠQuantum":55313,"rei":55314,"Capabilities":55315,"rectangle":55316,"?><":55317,"alien":55318,"ĠJug":55319,"DNA":55320,"Tickets":55321,"Occurs":55322,"ĠHawk":55323,".setHorizontalGroup":55324,"\\Collection":55325,"ffiti":55326,"Ġrearr":55327,".setVerticalGroup":55328,"Ġcavity":55329,"Ġadulte":55330,"Facade":55331,"-wh":55332,"ĠLOL":55333,"ذ":55334,"Ġgrandparents":55335,"Swift":55336,"ĉwx":55337,"æīĢæľī":55338,"ifen":55339,"ffset":55340,"Beyond":55341,"//}ĊĊ":55342,"Ġwager":55343,"Ġbury":55344,"Ġcommence":55345,"registro":55346,"scient":55347,"ĠPercent":55348,"Ġдолж":55349,"(identifier":55350,".setModel":55351,"Ġseldom":55352,"nton":55353,"Ġappliance":55354,"amus":55355,"rysler":55356,"Ġpanties":55357,"enguins":55358,"Ġmimic":55359,"ĠonChanged":55360,"Ġalcoholic":55361,".reloadData":55362,"Charge":55363,"ĠFax":55364,"ĠjScrollPane":55365,"Empresa":55366,"Ġshattered":55367,"xba":55368,"Fonts":55369,"?s":55370,"Ġpostseason":55371,"retain":55372,"_rates":55373,"ĠrequestCode":55374,".todo":55375,"´s":55376,"CHK":55377,"ĠKeeping":55378,"engeance":55379,"Ġvscode":55380,"IPPING":55381,"DefaultCloseOperation":55382,"_raise":55383,"ĠOculus":55384,"ograms":55385,"raj":55386,"pci":55387,"Ġcorrosion":55388,".handleSubmit":55389,"Accessible":55390,"ĠPiano":55391,"little":55392,"ACL":55393,"Äĩe":55394,".unwrap":55395,"ĠConvers":55396,"ĠLeben":55397,"ioneer":55398,"ĠMerchant":55399,"ĠJorge":55400,"Ġembracing":55401,"Ġventa":55402,"ást":55403,"Ġviene":55404,"Ċ":55556,"-growing":55557,"Ġdeepcopy":55558,"Ack":55559,"eggies":55560,"Ġ__(\"":55561,"Ġnoir":55562,"terrorism":55563,"Ġanthem":55564,"agency":55565,"_PACKAGE":55566,"ĠClosure":55567,".registry":55568,"Ġmammals":55569,"L":55600,"Ġbluetooth":55601,".Deep":55602,"-standing":55603,"ácil":55604,"Ġrooft":55605,"ĠPaths":55606,"_iterations":55607,"InvalidArgumentException":55608,".spi":55609,"ĠUIAlertAction":55610,"uye":55611,"signin":55612,".priority":55613,"ĠEssays":55614,"='{$":55615,"Ġè¿ĶåĽŀ":55616,"_signed":55617,".persist":55618,"Ġredesign":55619,"ToLower":55620,"ĠNewman":55621,"=start":55622,"ĠIsraelis":55623,"asiswa":55624,"Speech":55625,"Ġnumeros":55626,"handlers":55627,"ĠWong":55628,"ĠмеÑĤод":55629,"Weights":55630,"ĠGujar":55631,"teil":55632,"ĠNonetheless":55633,"_EFFECT":55634,"Ġvect":55635,"ĠOsc":55636,"Ġcoats":55637,"ĠWheat":55638,"Ġgeek":55639,"ĠPROPERTY":55640,"worm":55641,"_constants":55642,"ĠBoulder":55643,"ĠParm":55644,"cole":55645,"ĠdefaultCenter":55646,"ĠRouge":55647,":A":55648,"xcf":55649,"ĠVenice":55650,"median":55651,"Ġredemption":55652,"Fresh":55653,"Ġcosm":55654,"Ġfigur":55655,"Ġrefurb":55656,"COPE":55657,".cd":55658,"Ġchords":55659,"ĠSgt":55660,"Åį":55661,"VPN":55662,"ĠSEND":55663,"ainen":55664,"_accounts":55665,"Ġtenth":55666,"Ġdissolved":55667,"":55907,"Ġlegitimacy":55908,"Ġoo":55909,"Slinky":55910,"Ġnationals":55911,".words":55912,";p":55913,"trap":55914,"omanip":55915,"Ġcues":55916,"Ġgraduating":55917,"Ġsemaphore":55918,"\"]);ĊĊ":55919,"acey":55920,"REET":55921,"Grab":55922,"ĠFelix":55923,"(Id":55924,"_neighbors":55925,"Ġmeaningless":55926,"(del":55927,"Ġjeder":55928,"ĠContentValues":55929,".absolute":55930,"/cl":55931,"Ġxb":55932,"datum":55933,"Ġtortured":55934,"Ġrubbing":55935,"Scores":55936,"ĠðŁĺī":55937,"Ġavons":55938,"Ġamsterdam":55939,"EOS":55940,"Hal":55941,"Ġtrustworthy":55942,"#=":55943,".EXTRA":55944,"Ġmano":55945,"isicing":55946,"-support":55947,"ĉcursor":55948,"ĠSpo":55949,"aimassage":55950,"Mission":55951,"[]{\"":55952,"Ġprinters":55953,"GREEN":55954,"Ġteg":55955,"Ġabdominal":55956,"!ĊĊĊĊĊĊ":55957,".Short":55958,"азв":55959,"ĠGifts":55960,"}\")":55961,"(binding":55962,"xce":55963,"âĢij":55964,"infos":55965,"FormData":55966,"Ġdart":55967,"Ġelems":55968,"(inv":55969,"YL":55970,"tin":55971,"GENER":55972,"ữ":55973,"ĠTaken":55974,"uckle":55975,":e":55976,"Ġspectral":55977,".baidu":55978,"/');Ċ":55979,"Ġgreedy":55980,"esion":55981,",,,,,,,,":55982,"Ġ/>,Ċ":55983,"InternalServerError":55984,"NSNotificationCenter":55985,"ĠAi":55986,"Ġspit":55987,"Ġaugmented":55988,"ĠstandardUserDefaults":55989,"FINITY":55990,"Race":55991,":C":55992,"ĠRECORD":55993,"ĠHighlight":55994,"Ġ'`":55995,"Ġdeficits":55996,"Ġnei":55997,"Ġresearched":55998,"Ta":55999,"Ġcopp":56000,".GetHashCode":56001,"):čĊčĊ":56002,"OnClick":56003,"ĠWellington":56004,"Ġrevival":56005,"æ¯Ķ":56006,"éĹ®":56007,"ĠNSS":56008,"Ġforn":56009,"Ġinté":56010,"ĠKuwait":56011,"_flip":56012,"_bo":56013,"_\\":56014,"Ġoccurrences":56015,"ĠScientists":56016,"SRC":56017,"ogens":56018,"igrant":56019,"REMOTE":56020,"ĠSID":56021,".opts":56022,"uve":56023,"()])Ċ":56024,"Ġlibertarian":56025,"ĠGlide":56026,"lesen":56027,"Ġforme":56028,"owania":56029,"Ġannoyed":56030,"Defs":56031,"ĠExecutor":56032,"Ġcasts":56033,".setChecked":56034,"ĠSharing":56035,".SerializeObject":56036,"Ġselectors":56037,"_OTHER":56038,"미":56039,"(super":56040,"(OS":56041,"_VERIFY":56042,"idunt":56043,"';Ċ":56045,"Ġvidéo":56046,"ĠNegro":56047,"ĠLords":56048,"ĠTours":56049,"Ġsoftly":56050,".receive":56051,"ĠERC":56052,"ĠdataSet":56053,"Badge":56054,"ĉEvent":56055,"Ġperl":56056,"Ġ{}\\":56057,"(sentence":56058,"OrUpdate":56059,"Ġdiminish":56060,"PIN":56061,"(draw":56062,".ToDateTime":56063,".EqualTo":56064,"(pin":56065,"-pencil":56066,"luent":56067,"ĠCaller":56068,"Ġplayful":56069,"-'+":56070,"xca":56071,"swick":56072,"){}Ċ":56073,"}:${":56074,"ĠMeth":56075,".getCell":56076,".break":56077,"Ġymax":56078,"='Ċ":56291,"ĠHiro":56292,"(TRUE":56293,"asurer":56294,"Ġcuer":56295,"Uber":56296,".Operation":56297,"Ġolan":56298,"Ġthrilling":56299,"'.":56321,"ĉvalid":56322,"\"\",":56323,"Instrument":56324,">J":56325,"Ġnostr":56326,"ĠRift":56327,"_Port":56328,"Ġveces":56329,"[['":56330,"Ġrallies":56331,"-series":56332,"Ġvv":56333,".uc":56334,"Ġrtn":56335,"StateChanged":56336,"(ins":56337,"ĠCla":56338,"------------Ċ":56339,"cus":56340,"ĠReload":56341,"//------------------------------------------------------------------------------------------------":56342,".seconds":56343,"_destination":56344,"Ġscrewed":56345,">c":56346,"Thickness":56347,"Designer":56348,"Ġgrids":56349,"nÄħ":56350,"(cookie":56351,"Trip":56352,"-Mobile":56353,"Ġvoll":56354,"Ġgenital":56355,"Ġconfisc":56356,"ĠConfederate":56357,"ĠwebView":56358,"Ġmise":56359,"Ġcler":56360,"(selection":56361,"$date":56362,"Ġsharpen":56363,"ragen":56364,"AndUpdate":56365,"Ġremix":56366,"Ġhtons":56367,"RW":56368,"MPI":56369,"Ġretrieval":56370,"Ġrichest":56371,".Decode":56372,":initComponents":56373,"ĠTValue":56374,"Saint":56375,"@include":56376,"ĠPERSON":56377,".sep":56378,"ĠLDAP":56379,"gba":56380,"ĠgroÃŁe":56381,"Ġreliably":56382,"ĠDFS":56383,".getItemId":56384,"Ġprésent":56385,".getToken":56386,"Ġchinese":56387,"ĠMeal":56388,"YOU":56389,"\">>ĊĊ":56948,"bower":56949,"Ġswapped":56950,"/install":56951,"Ġsinks":56952,"etrize":56953,"Ġdeclines":56954,"ĉmysql":56955,"ĠCString":56956,"ĠMotionEvent":56957,".Language":56958,"Road":56959,"ÑĤеÑĢ":56960,"ascimento":56961,"'))->":56962,".about":56963,"(editor":56964,"ĠRatings":56965,"income":56966,"Å¡e":56967,".dequeueReusableCell":56968,"ĠAustrian":56969,"Ġsulla":56970,"ĠTribunal":56971,"ĠDidn":56972,"оваÑĢ":56973,"Ġinspections":56974,"Boss":56975,"Ġcocktails":56976,"Ġapologized":56977,"_subplot":56978,"opal":56979,"+=(":56980,"Ġresonance":56981,"ibu":56982,"Ġ리":56983,"roma":56984,"reserve":56985,"pls":56986,"ĠTah":56987,"axies":56988,"OPLE":56989,"ĠDarren":56990,"ĠZombie":56991,"_Map":56992,"Ġ])ĊĊ":56993,"ĠQi":56994,"ĠSail":56995,"Ġrestrictive":56996,"Ġerosion":56997,"-par":56998,"WHITE":56999,"Ġoldu":57000,"Ġaperture":57001,"Ġbitcoins":57002,"texto":57003,"ĠComcast":57004,"Ġtimeless":57005,"enkins":57006,"Ġfeeder":57007,"/tmp":57008,"resden":57009,"+'_":57010,".Destroy":57011,"Ġçok":57012,"ĠDOCUMENT":57013,".lng":57014,".tagName":57015,"Ġkullan":57016,"egrate":57017,"Ġ(*.":57018,"ç¼ĸè¾ij":57019,"Ġhandshake":57020,"soc":57021,"_geometry":57022,"ĠDamascus":57023,"Minor":57024,"ĠKafka":57025,"ìŬ":57026,"Florida":57027,"_compute":57028,".expr":57029,"Ġparalle":57030,"ĠDiaz":57031,"cir":57032,"[target":57033,"Ġjoking":57034,"Ġglor":57035,"(setq":57036,"_handlers":57037,"Hang":57038,"Ġferr":57039,"riminal":57040,"ĉĠĠĠĠĉĉ":57041,"enties":57042,"defines":57043,"-tax":57044,"jsonp":57045,"ĠUPS":57046,"metro":57047,"__;Ċ":57048,"ĠUganda":57049,"])):Ċ":57050,"_td":57051,"xae":57052,"lw":57053,".OS":57054,"ĠLogged":57055,"acid":57056,"ĠMayo":57057,"aspect":57058,"Ġvaginal":57059,"Ġinitializing":57060,"Ġsteroids":57061,"fiction":57062,"GRE":57063,"gend":57064,"Ġliabilities":57065,"ĠLets":57066,"Mech":57067,"(nc":57068,"(change":57069,"Ġconnectors":57070,":k":57071,"Ġtast":57072,"!\");ĊĊ":57073,"things":57074,"rophy":57075,"luetooth":57076,"ĠSignUp":57077,".ctrl":57078,"Ġtherein":57079,"orda":57080,".escape":57081,"igator":57082,"Ġpetrol":57083,"Ġspecimen":57084,"Ġdebuted":57085,"-Pro":57086,"Ġcrises":57087,".addView":57088,"ëıĻ":57089,"-door":57090,"Ġmonet":57091,"Ġmillis":57092,"Ġvier":57093,"InternalEnumerator":57094,"Ġadmins":57095,"ĠLair":57096,"zin":57097,"getQuery":57098,"umbles":57099,"LIMIT":57100,"ĠVig":57101,"_song":57102,"":57415,"Ġpasado":57416,"thank":57417,"_Delete":57418,"ĠBrighton":57419,",unsigned":57420,"ä½ľèĢħ":57421,"Ġaspirations":57422,"-how":57423,"Rose":57424,"=((":57425,"_needed":57426,"_plural":57427,">ĊĊ":57545,"Ġsurfaced":57546,"ĠìłĢìŀ¥":57547,"platz":57548,"ĉemail":57549,"ceptors":57550,"\">(":57551,"Ġepile":57552,"读":57553,"ĠDebt":57554,"åijĬ":57555,"NOP":57556,"\"https":57557,":j":57558,"FormItem":57559,"_LICENSE":57560,".getDouble":57561,"ĠAgenda":57562,"ĉfinally":57563,"(filters":57564,"(av":57565,"ç¾İ":57566,"APER":57567,"Ġlava":57568,"еÑĢж":57569,"))))ĊĊ":57570,"Ġfaulty":57571,"_nm":57572,"Ġtrava":57573,"(Bitmap":57574,"Ġspeeding":57575,">').":57576,"Ġscreened":57577,"_roll":57578,"ĠMacBook":57579,"ĠAUD":57580,"Ġdiagnose":57581,".Generate":57582,"Ġ^^":57583,"Ġstrs":57584,"[Test":57585,"Ġransom":57586,"ĠDHCP":57587,"elden":57588,"Ġinterpretations":57589,"()].":57590,"flatMap":57591,"ĠlineHeight":57592,"_mount":57593,"ĠWizards":57594,"Ġsluts":57595,"ehler":57596,"odal":57597,"Ġmilitia":57598,"å²":57599,"earned":57600,"Ġmisery":57601,"intval":57602,"fund":57603,"Ġhides":57604,"Ġdiarr":57605,"ĠWesley":57606,"Ġxmm":57607,"Ġquem":57608,"ĠArabs":57609,"ifth":57610,"ategorized":57611,"Disposable":57612,"Pure":57613,"_NOTIFY":57614,"snippet":57615,"ĠGarrett":57616,".running":57617,".weights":57618,"Ġ(--":57619,"Ġinvariant":57620,"äºĭä»¶":57621,"ĠAllowed":57622,"dirs":57623,"Ġpassions":57624,"Ġlad":57625,"ĠFlush":57626,"menus":57627,":block":57628,"Ġcompra":57629,".chomp":57630,"allocator":57631,"Ġcurated":57632,"ĠKnowing":57633,"ĠPatterson":57634,"Ġtelah":57635,"'ex":57636,"Ġdoomed":57637,"Ġphilanth":57638,"otty":57639,".styles":57640,"Owned":57641,"Ġallergies":57642,"=params":57643,"ocese":57644,"itelist":57645,"ĠSending":57646,"bef":57647,"orrar":57648,"ĠNão":57649,"ĠFargo":57650,"ĠLub":57651,"ĠCombined":57652,"_given":57653,"ĉĉĉĉĉĠĠĠĠ":57654,"Ġreconciliation":57655,"Patterns":57656,"azard":57657,"Ġbiomass":57658,"ĠHouses":57659,"respuesta":57660,"cco":57661,"/topics":57662,"ĠYuk":57663,"Ġweakened":57664,"_calendar":57665,"Ġmulheres":57666,"ĠMarl":57667,"Ġsine":57668,"ĠTil":57669,"ĠSouls":57670,"ĠDeutsche":57671,"ĠFOLLOW":57672,"Ġpipelines":57673,"ĠBeverly":57674,"_DIPSETTING":57675,"\"#":57676,"ĠProto":57677,".big":57678,"ĠSavings":57679,"ĠTanz":57680,"jun":57681,"ĠGamma":57682,"ĠSadd":57683,"Ġadvisors":57684,"Ġroast":57685,"Ġunters":57686,"udies":57687,"_lon":57688,"-pointer":57689,"ĠElementRef":57690,"\\Builder":57691,"exampleInput":57692,".webdriver":57693,"dataType":57694,"ĠQuite":57695,"ĠCeltics":57696,"uil":57697,"-defense":57698,"bish":57699,"ĠUIWindow":57700,"ĠSuddenly":57701,".hot":57702,".reason":57703,"Ġgör":57704,"AMD":57705,".Multi":57706,"authenticated":57707,"regions":57708,";(":57709,"аÑĢам":57710,"ĠKirby":57711,"$route":57712,"PRECATED":57713,"ĠDurham":57714,"owo":57715,"ĠPerforms":57716,"Ġdisregard":57717,"nst":57718,"ĠPols":57719,"ĠgetP":57720,"\"]:":57721,"-colored":57722,"(Keys":57723,"ĠAlleg":57724,"_modify":57725,"_loading":57726,"strained":57727,"Ġatroc":57728,"_phr":57729,"":58721,"ceph":58722,".DateTimePicker":58723,".\";ĊĊ":58724,"ĠTie":58725,",item":58726,"Ġmenn":58727,"Gas":58728,"ocha":58729,"_virtual":58730,"Ġmasterpiece":58731,"_sequences":58732,"LTE":58733,"ĠSubmission":58734,"Caller":58735,"$\\":58736,"Sport":58737,"agus":58738,"ConstraintMaker":58739,"Ġcoloc":58740,"Ġwig":58741,"ĠУ":58742,"ĉArray":58743,"Looks":58744,"ĠGTA":58745,".steps":58746,"atchewan":58747,"_ranges":58748,"extAlignment":58749,"ĠBrennan":58750,"Ġabstraction":58751,"ulerAngles":58752,".misc":58753,"Ġantibodies":58754,"Ġexponential":58755,"ĠCHANNEL":58756,"expense":58757,"'y":58758,"Ġdetectives":58759,"Ġpurported":58760,"YSTEM":58761,"Ġradioactive":58762,"ĠLatina":58763,".Encoding":58764,".TAG":58765,"xin":58766,"Degree":58767,"uracion":58768,"prices":58769,"ĠReferentialAction":58770,"Ġrarity":58771,"Ġpiles":58772,"gende":58773,"_projects":58774,"_globals":58775,".startTime":58776,"Ġ구":58777,"SECTION":58778,"_publish":58779,"Fault":58780,"DDL":58781,"_prior":58782,"Mom":58783,"Ġthicker":58784,"Ġsequelize":58785,"Ġessentials":58786,"stras":58787,"intr":58788,">(()":58789,".management":58790,"eil":58791,"éĹŃ":58792,"Aware":58793,".City":58794,"ĠArbit":58795,"_DM":58796,"_keyboard":58797,"LObject":58798,"-webpack":58799,"ĠNewport":58800,"ĠprincipalColumn":58801,"legant":58802,"Ġpallet":58803,"Ġfracture":58804,"Ġgmail":58805,".Meta":58806,"Above":58807,".KeyEvent":58808,"jit":58809,"_macro":58810,"_PUSH":58811,"ứ":58812,"/controller":58813,"åĬłè½½":58814,"Ġsuperficial":58815,"exterity":58816,"Ġmensagem":58817,"Wind":58818,"iston":58819,".openapi":58820,"иÑĢов":58821,"ĠSerializer":58822,"uctive":58823,"Ġzar":58824,"Places":58825,".Static":58826,"Ba":58827,"Ġinadvert":58828,"ĠIndonesian":58829,"_IPV":58830,"(horizontal":58831,"ĠgetTitle":58832,"idepress":58833,"ĠConsoleColor":58834,"ipers":58835,"$out":58836,"Ġfestive":58837,"Ġevenings":58838,".GetData":58839,"uitka":58840,"ĠManuals":58841,"ussed":58842,"_Max":58843,".Chat":58844,"ĠAircraft":58845,"=com":58846,"FOUND":58847,"apro":58848,"Ġtreasures":58849,"_alive":58850,"Ġgadget":58851,"eking":58852,"ButtonDown":58853,"Browsable":58854,".PERMISSION":58855,"PASSWORD":58856,"ĠHASH":58857,"fé":58858,"\\TestCase":58859,"LOSS":58860,"others":58861,",J":58862,"Ġasshole":58863,"werk":58864,"Ġmã":58865,".ie":58866,"evil":58867,"kontakte":58868,"////////////////////////////////////////////////////////////////////////////////Ċ":58869,"=sys":58870,"ĉlock":58871,"--;ĊĊ":58872,"_FUN":58873,"FillColor":58874,"óa":58875,"prend":58876,"Ġcompressor":58877,"Mother":58878,"ĠArcher":58879,".goto":58880,"Ġwürde":58881,"Ġbamboo":58882,"ï¼İ":58883,"ĠTrees":58884,"Ġbumper":58885,"Ġsausage":58886,"ĠElasticsearch":58887,"Ġhorizontally":58888,"ĠGul":58889,"Immutable":58890,"Ġloser":58891,"Ġaborted":58892,"-demo":58893,"ĠHatch":58894,"Ġunde":58895,"Ġprocesso":58896,"-call":58897,"Income":58898,"åĥ":58899,"_returns":58900,"'].\"'":58901,"(sw":58902,"CBS":58903,"amilies":58904,"ĠYourself":58905,"ĠHolt":58906,".MON":58907,"à§ĩ":58908,"ÑĪе":58909,"anon":58910,"ĠFontAwesome":58911,"producer":58912,"jr":58913,"Ġmau":58914,"ĉinter":58915,"Ġdishonest":58916,"Ġmagna":58917,"ĠCollective":58918,"Ġvraiment":58919,"Ġchoix":58920,"stay":58921,"Ġwelding":58922,"rising":58923,",min":58924,"ĠFate":58925,"glob":58926,"RGBA":58927,"Ġdette":58928,"Ven":58929,"Ġembarrassment":58930,".DELETE":58931,"gregar":58932,"-render":58933,"(bucket":58934,"\">ĊĊĊ":58935,".waitKey":58936,"Busy":58937,"Ġdifferentiation":58938,"ĠCST":58939,".Constant":58940,"ĠlineNumber":58941,"(matches":58942,"Ġwebsocket":58943,"Ġbarred":58944,"Ġpuedes":58945,"Mono":58946,"CORE":58947,"IID":58948,"ĠĠĠĠčĊčĊ":58949,"Ġpúblico":58950,"leaning":58951,"Ġcleansing":58952,"Ġcris":58953,"ĠDevils":58954,"_SETTING":58955,"untary":58956,".);Ċ":58957,"ĊĠĠĠĊ":58958,"[curr":58959,"tsy":58960,"ĠAlexis":58961,"ritel":58962,"Ġpetroleum":58963,".preprocessing":58964,"matter":58965,"ForResult":58966,"-license":58967,"Ġtravellers":58968,"ĠDispatcher":58969,"ennifer":58970,"Ġdigestive":58971,"PED":58972,"hibition":58973,"MASConstraintMaker":58974,"ĠWatt":58975,"Benef":58976,".setView":58977,"dto":58978,"TEE":58979,"ĠPelosi":58980,"_EXTRA":58981,"Ġmedals":58982,"xhr":58983,"forecast":58984,"Ġnargin":58985,"ouns":58986,"-fill":58987,"_CURSOR":58988,"Ġsupervised":58989,"Ġturf":58990,"ĠEdgar":58991,"POSITION":58992,"ĠcategoryId":58993,"âī":58994,"_ER":58995,"á»§a":58996,"Shown":58997,".ll":58998,"_POLICY":58999,"(),'":59000,"ĠPrev":59001,"ĠStringField":59002,"ĉGlobal":59003,"assed":59004,"Throughout":59005,"ostringstream":59006,".awtextra":59007,"Ġslopes":59008,"ĠSequential":59009,"Ġgiorn":59010,"Ġzelf":59011,"Ġversatility":59012,"leneck":59013,".cgi":59014,"Ġdoubling":59015,"ĠBangkok":59016,"Ġbuurt":59017,"Ġusuário":59018,"studio":59019,"Ġjeunes":59020,"Ġmuted":59021,"Ġips":59022,"_fraction":59023,"&&(":59024,"Ġstunt":59025,"');?>čĊ":59049,"Ġevapor":59050,"bable":59051,"ĠPRICE":59052,"Ġæ³":59053,"lucent":59054,"Ġvamp":59055,"ĠTechnician":59056,"Ġuniqueness":59057,"Mes":59058,"urban":59059,".parametrize":59060,"ĠReplay":59061,"Sessions":59062,"embr":59063,"-Americans":59064,"_PROXY":59065,"Ġpian":59066,"Ġtrie":59067,"ĠDestructor":59068,"GameState":59069,"ĠIMF":59070,"chin":59071,"Ġporte":59072,"ĠSwal":59073,"åŁİ":59074,"Substring":59075,"iming":59076,"/Library":59077,"Ġfrightened":59078,"writes":59079,"Ġrecursos":59080,"arResult":59081,"_INITIALIZ":59082,"ĠBadge":59083,"_crc":59084,"Eight":59085,"ĠDISTINCT":59086,"Ġthro":59087,"@Xml":59088,"ĠLegendary":59089,"-twitter":59090,"_easy":59091,"Ġ+++":59092,"(DATA":59093,".Locale":59094,"Ġkä":59095,"Ġnurt":59096,"Ġcruis":59097,"_ios":59098,"Ġsensing":59099,"_Line":59100,"ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ":59101,"pong":59102,"oleon":59103,"Ġwildcard":59104,"ç͍æĪ·åIJį":59105,"Ġbegging":59106,"Rod":59107,"ĠÃİ":59108,"_CELL":59109,"Researchers":59110,".selector":59111,"_ing":59112,"Ġaspiring":59113,"Ġimmortal":59114,"Ġymin":59115,"_robot":59116,"Ġplur":59117,"BTC":59118,"ĠDID":59119,"Ġpiercing":59120,"*u":59121,"_DEFINED":59122,"ĠThi":59123,"itaire":59124,"(media":59125,"-ons":59126,"Ġchefs":59127,"Ġ\"*.":59128,"/AP":59129,"Ġrazor":59130,"ĠsearchData":59131,"Ġ=&":59132,"ĠãĢĤ":59133,"Ġmourn":59134,"tingham":59135,"Ġoli":59136,"ĠVernon":59137,"_RS":59138,"ŀæĢ§":59139,"Ġfácil":59140,"angen":59141,"celain":59142,"Ġail":59143,"lest":59144,"ĠQCOMPARE":59145,"gain":59146,"Ġε":59147,"ĠKob":59148,"ĠFault":59149,"_configs":59150,"ç»ĵæŀľ":59151,".+":59152,"calar":59153,"(colors":59154,"Mul":59155,"_ART":59156,"Ġexperimenting":59157,"ermen":59158,"ĠAnglo":59159,".FixedSingle":59160,"Sea":59161,"Ġctxt":59162,".slider":59163,"Collapse":59164,"Grey":59165,"Ġfld":59166,"-proof":59167,".capacity":59168,"getParent":59169,"ĠCompliance":59170,"Ġburgl":59171,"-rec":59172,"Ġoverwritten":59173,"MU":59174,"Ġrouters":59175,"ĉModel":59176,"Ġfantasies":59177,"avian":59178,"_prec":59179,"ĠScandin":59180,"Ġ//<":59181,"/oct":59182,"Ġceremonies":59183,"Months":59184,"undy":59185,"Ġqued":59186,"ĠNou":59187,"ĠVibr":59188,".rgb":59189,"Ġcitrus":59190,"Ġbraces":59191,"-uppercase":59192,"getTable":59193,"Ġdopo":59194,"ĠKerr":59195,"_CHILD":59196,"-cloud":59197,"ĉMatrix":59198,"Ġgardening":59199,"Sing":59200,"almost":59201,"Requirements":59202,"uguay":59203,"(Property":59204,"subscriber":59205,"FAST":59206,"reaction":59207,"(lp":59208,")})Ċ":59209,"`).":59210,".wallet":59211,"_exchange":59212,".Maximum":59213,"ĠVerb":59214,"âĶģ":59215,"()<":59216,"ï¼ĽĊ":59217,"ROT":59218,"CARD":59219,"ubit":59220,"{@":59221,"_kel":59222,"ĠTooltip":59223,"MySQL":59224,"MainActivity":59225,"arf":59226,"Ġmalign":59227,"Ġseinen":59228,"apist":59229,"Ġ<%":59230,"MethodImpl":59231,"Mil":59232,"ĠMick":59233,".depend":59234,">&":59267,"ĉok":59268,"-low":59269,".usuario":59270,"nested":59271,"XB":59272,"OURS":59273,".BorderColor":59274,"Ġbrow":59275,"ĠÐķ":59276,"corr":59277,"ĠRedskins":59278,".getTag":59279,".getTransaction":59280,"Ġstigma":59281,"hardt":59282,"ĠPlayerPrefs":59283,"alsy":59284,"ucson":59285,"Languages":59286,"ĠOlivia":59287,"Ġtac":59288,"Ġbli":59289,"Ġcaval":59290,"Ġconsolidated":59291,"Ġperil":59292,"Ġdele":59293,"Ġformulated":59294,"Ġhighways":59295,".spawn":59296,"==$":59297,"ĠNiet":59298,"Ġveggies":59299,"ypo":59300,"-rule":59301,"ĠVie":59302,"/epl":59303,"Ġenfants":59304,"stringLiteral":59305,"Ġtoughest":59306,"buyer":59307,"Ġcovariance":59308,"Ġili":59309,"ĠSophie":59310,"ĠBAB":59311,"Ġ\"),":59312,"ĠUk":59313,"currentIndex":59314,"_userdata":59315,".codec":59316,"ĠPunjab":59317,"ĠSNP":59318,"lol":59319,"advance":59320,"Ġcomfy":59321,"JsonIgnore":59322,"Ġfashionable":59323,"ĠICON":59324,"Ġora":59325,"ĠPricing":59326,"E":59384,"tering":59385,"/screens":59386,"Ġheightened":59387,"аÑĢÑĤ":59388,"Authorities":59389,"_bbox":59390,"ünst":59391,".fontSize":59392,"ĠBOOLEAN":59393,"divide":59394,"ĠSloven":59395,"ucer":59396,"ÙĴ":59397,"stub":59398,"Ġnavigating":59399,":animated":59400,"_NOW":59401,"_vect":59402,"}{Ċ":59403,"@(":59404,"Ġtelecom":59405,"Ġcontracting":59406,"ĠAssange":59407,"Ġextracting":59408,"Ġgrö":59409,"cobra":59410,".DIS":59411,"Ġcrab":59412,"Ġtwitch":59413,"Ġverts":59414,"Ġrejects":59415,"ĉformat":59416,"Ġregeneration":59417,".Sys":59418,"solve":59419,"ĉdialog":59420,"shi":59421,"meter":59422,"(best":59423,"validators":59424,"Ġonwards":59425,"Ġguru":59426,"Ġmoderator":59427,"owied":59428,"experiment":59429,"rub":59430,"Ġmqtt":59431,"ĠCaucas":59432,"Ġnationalism":59433,"Ġmange":59434,"ĉImGui":59435,"/Edit":59436,"Ġinh":59437,"Ġintellig":59438,"erokee":59439,"ĉexport":59440,"Ġdiscriminate":59441,"subtract":59442,"ĠMoodle":59443,"enser":59444,"ĠGuides":59445,"RAP":59446,"-hot":59447,"_grp":59448,".picture":59449,"XA":59450,"ĠinitView":59451,"_Comm":59452,"Ġoverdose":59453,"Ġ+ĊĊ":59454,"ĠSilent":59455,"shows":59456,"Ġinterpolate":59457,"Formation":59458,"Ġbisc":59459,"markets":59460,"(SC":59461,"Ze":59462,"ĠNetworking":59463,"Ġadrenal":59464,"ĠGuns":59465,"eteor":59466,"Declared":59467,"orgetown":59468,"Ġkarena":59469,"/password":59470,"_addresses":59471,"ITERAL":59472,"Buzz":59473,"ĠConway":59474,"(case":59475,"PWD":59476,"heiro":59477,"(act":59478,"**čĊ":59479,"());ĊĊĊ":59480,"Ġanv":59481,"Ġ..ĊĊ":59482,"(MenuItem":59483,"(mail":59484,"_sections":59485,"ĉnet":59486,"Ġplut":59487,"Ġwrench":59488,"/object":59489,"ĠIst":59490,"ĠVIS":59491,"/pub":59492,"alten":59493,"Ġguitars":59494,"Ġantibiotic":59495,"ï¼ĸ":59496,"¹":59497,"Ġ\"+\"":59498,"formula":59499,"Ġbabes":59500,"ĠPrompt":59501,"Ġenim":59502,"/player":59503,"ĉref":59504,"ĠbyÄĩ":59505,"Ġconsumes":59506,"ĠHast":59507,"ĠTao":59508,"Ġ'))Ċ":59509,"Ġclam":59510,"Ġthighs":59511,"Ġmotif":59512,"ApiOperation":59513,"ĠWL":59514,"getC":59515,"ĉflags":59516,"ointments":59517,"Ġeconomical":59518,"needle":59519,"xls":59520,"practice":59521,"utzer":59522,"timeofday":59523,"-output":59524,"ĠfindById":59525,"ĠBuddy":59526,"ÐŀÑĤ":59527,"Seven":59528,"ĠBark":59529,"Ġenvoy":59530,"_algorithm":59531,"åĪ©":59532,"Ġballistic":59533,"ç§»":59534,"rades":59535,"ĉdoc":59536,"roducing":59537,"ĠEating":59538,"Unmount":59539,"/dataTables":59540,"_bonus":59541,"Ġlitt":59542,"pps":59543,")localObject":59544,"perf":59545,"ĠHelvetica":59546,"shutdown":59547,"/ml":59548,".tokens":59549,"ĠHardcore":59550,",row":59551,"/bg":59552,"Scaler":59553,"âĢĶas":59554,"_logits":59555,"âĢĻint":59556,"ĉApp":59557,"Implicit":59558,".Fprintf":59559,"ETO":59560,"Ġterra":59561,"Ġpossessing":59562,".rstrip":59563,",),":59564,"=yes":59565,"ĠStripe":59566,"?=":59567,"neutral":59568,".good":59569,"Ġkennen":59570,"ĠSung":59571,"fault":59572,"ystatechange":59573,"Canadian":59574,"','\".$":59575,"ĠMits":59576,"ænd":59577,"ĠSTRUCT":59578,"ĠURLWithString":59579,"ĠCompass":59580,"Ġ--ĊĊ":59581,"ĠNSLayoutConstraint":59582,"|min":59583,"-adjust":59584,"Ġrebuilt":59585,"LIGHT":59586,"/se":59587,"-mount":59588,"vpn":59589,"validated":59590,"(QObject":59591,"Ġignition":59592,"ĠChargers":59593,"RYPTO":59594,"]initWithFrame":59595,"ĠFluid":59596,"Ġcadre":59597,"Ġnominations":59598,"Neill":59599,"ĠHou":59600,"Ġcurrents":59601,"_gene":59602,"(inp":59603,"Paris":59604,"zÄĻ":59605,"aggregate":59606,"Ġassoc":59607,"weeted":59608,"errat":59609,"âĢĵĊĊ":59610,"Ġ'/',Ċ":59611,"fixture":59612,"ĠHighest":59613,"ambient":59614,"Ġchmod":59615,"Ġconte":59616,"Ġsensual":59617,"Ġgarment":59618,"zers":59619,"ĠPowered":59620,"domains":59621,"Reward":59622,"iomanip":59623,"Ġcockpit":59624,"outfile":59625,"Ġbuiltin":59626,"Ġinsisting":59627,".vars":59628,"zipcode":59629,"Ġ����":59630,"fails":59631,"Ġconsolidation":59632,"_oid":59633,"Planet":59634,"Ġ=\",":59635,"ĉel":59636,"UILT":59637,"ätz":59638,"afari":59639,"ĠMcCl":59640,"Timeline":59641,"Esta":59642,"Ġfram":59643,"YE":59644,"Ġcerebral":59645,"OfMonth":59646,"ĠPregn":59647,"ĠклаÑģÑģ":59648,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ":59649,"ĠFres":59650,"Approved":59651,".Special":59652,"ĠProtestant":59653,"Ġallergy":59654,"_pcm":59655,"ĉCopyright":59656,"ĠsuperClass":59657,"\"strconv":59658,"ĠMohamed":59659,"Ġ'//":59660,"ForeColor":59661,"Arthur":59662,"ĠJungle":59663,"Ġveins":59664,"Sad":59665,"Ġbackups":59666,"ĠOpinion":59667,"ût":59668,"Ġintermitt":59669,"odyn":59670,"ĠChristina":59671,"Ġandre":59672,"Ġevacuation":59673,"palette":59674,"horse":59675,"ĠResident":59676,"ĠHassan":59677,".Nil":59678,"Ġaisle":59679,"ĠGrowing":59680,"Ġbloginfo":59681,"/sql":59682,"_ioctl":59683,"Scaling":59684,"ĠMonad":59685,"_cpp":59686,"ĠHutch":59687,"ĠAppleWebKit":59688,"Expense":59689,"_JOB":59690,"Ġpointless":59691,"FromBody":59692,"antal":59693,"Ġdepicting":59694,"ĠCELL":59695,"Ġrefin":59696,"ĠCNC":59697,"ì¹ĺ":59698,"_dimensions":59699,"ĠSAN":59700,"Ġaft":59701,"Ġfootsteps":59702,"ccoli":59703,"_PHONE":59704,"/math":59705,"-kind":59706,"ĠMeans":59707,"ichael":59708,".guna":59709,"Ġinauguration":59710,"-driving":59711,"(delete":59712,"ĠtotalCount":59713,"_MC":59714,".Extension":59715,"Commercial":59716,"ĠzIndex":59717,"$":59849,"Ġebay":59850,"Ġcaptive":59851,"pliant":59852,"ĠCalculates":59853,"olta":59854,"esting":59855,"_revision":59856,"Ġmús":59857,"+m":59858,"\",\"\",\"":59859,"WHAT":59860,"Ġcompassionate":59861,"harga":59862,"[random":59863,"Ġmodulo":59864,"(sn":59865,"Ġoccupations":59866,"////Ċ":59867,"ĉboard":59868,"ĠBalk":59869,"wiÄħ":59870,"ĠWifi":59871,".Profile":59872,":maj":59873,"ĉmat":59874,"LOCKS":59875,"(jButton":59876,"Ġ('$":59877,"Mur":59878,"æĮī":59879,"bble":59880,"Ġfrog":59881,"-hide":59882,"Ġbroadcaster":59883,"à¸ŀ":59884,"haled":59885,"Ġamusing":59886,"_predictions":59887,"_intr":59888,"Ġeagle":59889,"аÑĤелÑĮ":59890,"ĠgetList":59891,"psilon":59892,"Ġcharacterization":59893,"ARDS":59894,"Ġrelocation":59895,"Ġrulers":59896,"PAY":59897,"ĠDefinitely":59898,"_Action":59899,"Ġclosures":59900,"Ġfactual":59901,"odynamic":59902,"Ġprecautions":59903,"niej":59904,"ĠParties":59905,"ĠSubaru":59906,"Ġcousins":59907,"arbeit":59908,".money":59909,"gunta":59910,"(and":59911,"getitem":59912,".StylePriority":59913,"Ġslid":59914,"singleton":59915,"Ġgarn":59916,"ĠPAS":59917,"Ġdazz":59918,"aż":59919,"Ġbogus":59920,"ĠMog":59921,"Ġrivalry":59922,"isol":59923,"Ġlandmarks":59924,"ñas":59925,"Bern":59926,"ĠSachs":59927,"Ġ\")ĊĊ":59928,"Ġhostility":59929,"_mex":59930,"mere":59931,"Mot":59932,"pictureBox":59933,"Defense":59934,"Ġaffidavit":59935,"otherwise":59936,".directory":59937,"_UnityEngine":59938,"-blog":59939,".skin":59940,"phem":59941,"Apellido":59942,"erchant":59943,"[class":59944,"Ġwart":59945,".\"[":59946,"aleur":59947,"/back":59948,"ĠĠĠĠĉĠĠĠ":59949,"Ġprecipitation":59950,"Ġobstruction":59951,"ĠpObj":59952,"Ġrupt":59953,"UCKET":59954,"aye":59955,"æİĴ":59956,"gx":59957,"Ġecl":59958,"Ġsecrecy":59959,"/Header":59960,"ĠLesb":59961,"Ġlei":59962,"ĠBulletin":59963,"Ġgiveaway":59964,".Home":59965,"_ROOM":59966,"\"W":59967,"Ġcowork":59968,"_ra":59969,"ĠCycling":59970,"ĠPaw":59971,"Ġpupil":59972,"/arch":59973,"ĠFileUtils":59974,"é¦ĸ":59975,"rsp":59976,"Ġfreedoms":59977,"ĠLear":59978,"}`).":59979,"Ġbowls":59980,"/block":59981,"_logging":59982,"Ġmethane":59983,"Ġhorns":59984,"Ġwonderfully":59985,"Ġalterations":59986,"Ġexile":59987,"lsen":59988,"_pause":59989,"_LANGUAGE":59990,"ĠUSDA":59991,"_mysql":59992,"_AMOUNT":59993,"ĠLIFE":59994,"Ġyoungsters":59995,"Ġriots":59996,"[E":59997,"Ġunforgettable":59998,",},Ċ":59999,"Disposed":60000,"ĠAssassin":60001,"UNG":60002,"ĠNewsp":60003,"UserService":60004,":aload":60005,"+',":60006,"Ġsettlers":60007,"Ġscreams":60008,"Ġinconvenience":60009,".Rotate":60010,"Ġjars":60011,"ĠPuzzle":60012,"Ġmest":60013,"arsi":60014,"ĠSharma":60015,"|(":60016,".ds":60017,"ĠSacred":60018,"_evt":60019,"Ġexpresses":60020,"Ġhoch":60021,"ĠDuch":60022,".calls":60023,"thr":60024,"ĠSheffield":60025,".AlertDialog":60026,"Ġradically":60027,"Ġtrous":60028,"Ġprevailing":60029,"ĠWWII":60030,"âĢĻn":60031,"ensely":60032,"ĠYesterday":60033,"ĠSirius":60034,"Ġkillers":60035,"ĠFFT":60036,"Ġoval":60037,"'):čĊ":60038,"Ġìłķë³´":60039,"ourage":60040,"ĠCheckbox":60041,"Workbook":60042,".defer":60043,"_floor":60044,"Ġcouncill":60045,"Ġnorske":60046,"moil":60047,"orea":60048,"Ġmarketed":60049,"_SUR":60050,"xAA":60051,"Ġstained":60052,"eut":60053,"ĠMeng":60054,"Ġieee":60055,".extern":60056,"egie":60057,"Ġrapp":60058,"ĠPyongyang":60059,"'class":60060,"Mob":60061,"ĠinitialValue":60062,"_wave":60063,"Ġjab":60064,"Ġmasculine":60065,"Ġamplifier":60066,"Ġtty":60067,"PathComponent":60068,"_xt":60069,"ĠGFP":60070,"/sec":60071,"ĉdispatch":60072,"markdown":60073,"ĠSchn":60074,"bole":60075,"··":60076,"mousemove":60077,"ĠerrMsg":60078,"Ġasign":60079,"_mono":60080,"ToSelector":60081,"ĠZu":60082,"(Rect":60083,"ĠErrorCode":60084,"latin":60085,"angible":60086,"vtk":60087,"CGSize":60088,"Pokemon":60089,"Ġclassmates":60090,"Ġattracts":60091,"ĠTatto":60092,"ultan":60093,"ológ":60094,"Ġhalted":60095,"न":60096,"ĠKart":60097,"Ġue":60098,"_InitStructure":60099,"TestClass":60100,"ĠAirbnb":60101,"_\",":60102,"Ġcharcoal":60103,"Ġipc":60104,"ĠStretch":60105,".glide":60106,"latesAutoresizingMaskIntoConstraints":60107,"Ġpotion":60108,"ITTLE":60109,"Ġcountert":60110,"_hd":60111,"prepared":60112,"Ads":60113,"ĠVampire":60114,"robots":60115,".CreateIndex":60116,"StatusLabel":60117,"Ġtucked":60118,"afür":60119,"Ut":60120,"Ġsweater":60121,"_FN":60122,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĉ":60123,"ataka":60124,"Ġeyebrows":60125,"acoes":60126,"uden":60127,".LinearLayoutManager":60128,"Ġsway":60129,"Ġmultin":60130,"())))Ċ":60131,"ĠNSUInteger":60132,"ĠMyBase":60133,"Partner":60134,"utschen":60135,"ĠCater":60136,".setBackgroundColor":60137,"Ġaccomplishment":60138,"_problem":60139,".dtd":60140,"ĠpageNumber":60141,"Ġjackets":60142,"Ġcropped":60143,"uels":60144,"ĠHep":60145,"Ġcapped":60146,"*Math":60147,"_callbacks":60148,"Ġpubb":60149,"ĠBrunswick":60150,".respond":60151,"[\"_":60152,"Ġbedding":60153,"hythm":60154,"OX":60155,"(speed":60156,"Ġpesticides":60157,"Ġ-------":60158,".Blue":60159,"Ġnoodles":60160,"ĠGoes":60161,"Ġsaver":60162,"oxy":60163,"_completion":60164,"ĠSwinger":60165,"ĠgetDate":60166,"Ġminded":60167,"integration":60168,"ĠLotus":60169,"(stop":60170,"(',');Ċ":60171,"Ġfloods":60172,"ĠWorkflow":60173,"Ġerupted":60174,"Macro":60175,"ĠSauce":60176,"ĠeventName":60177,"\\Input":60178,"Breaking":60179,"ĉwhen":60180,"_pw":60181,"INDER":60182,"ĠWellness":60183,"Ġvoxel":60184,"ĠMell":60185,"ĠMEDIA":60186,"SENS":60187,"ĠFunds":60188,"ĠMild":60189,"Ċ":60198,"Ġtempting":60199,"Ġtestament":60200,"Ġbible":60201,"Ġconsulted":60202,"ĠIndexError":60203,"è¨ĺ":60204,"Ġkeypad":60205,"izzo":60206,"(ok":60207,"Ġwhatsapp":60208,"ĠRemoteException":60209,"Ġteamed":60210,"âĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶ":60211,"»,":60212,"ĠgetTime":60213,"diag":60214,"issy":60215,"Ġhed":60216,"Ġknots":60217,"jom":60218,"Ġfunnel":60219,"-mails":60220,"Ġexporting":60221,"ĠVL":60222,"ĠKarn":60223,"ĠBuddhism":60224,"ĠAllan":60225,"_RADIUS":60226,"Ġwording":60227,"ĠForget":60228,"ĠCorona":60229,"iphy":60230,"Ġlimburg":60231,"uggy":60232,"ĠUserRepository":60233,"imin":60234,"(ele":60235,"Ġlabelled":60236,"社":60237,"ĠHerman":60238,".qq":60239,"Ġ\"));Ċ":60240,"ieber":60241,".Translate":60242,"ryn":60243,"Ġdesenv":60244,"umd":60245,"Simply":60246,"ĉmode":60247,"Rpc":60248,"ĠValencia":60249,"Ġstaffers":60250,"Ġselv":60251,"ĠSpike":60252,"Ġdelic":60253,"Ġeru":60254,"_DT":60255,"Judge":60256,"á»ķ":60257,"ĠBasin":60258,".mutable":60259,"\"url":60260,"Ġtariff":60261,"ĠSleeve":60262,"Ġflare":60263,".dropout":60264,"Ġbrides":60265,")),čĊ":60266,"_constraints":60267,"destruct":60268,"Outline":60269,"Ġdisappears":60270,"_locked":60271,"ĠNSLocalizedString":60272,"cke":60273,"ĉnull":60274,"adresse":60275,"Ġtopping":60276,"ĠJoker":60277,"bishop":60278,"ноÑģÑĤÑĮ":60279,"andering":60280,"_amp":60281,"=time":60282,"_Space":60283,"_PULL":60284,"'=":60285,"Ġantiqu":60286,"Ġcach":60287,"___ĊĊ":60288,"ONES":60289,"оÑı":60290,"Ġunread":60291,".policy":60292,"oooooooo":60293,"룬":60294,"Ġusted":60295,"ĠRece":60296,"Ġallem":60297,"ãĥ¼ãĤ¹":60298,"ĠThoughts":60299,"veillance":60300,"istrate":60301,"_lane":60302,"Ġfamed":60303,".GetName":60304,"Ġsmoother":60305,"ĠQualified":60306,"azers":60307,"_geo":60308,"Fax":60309,"ĠMinds":60310,"ĠRaises":60311,"Ġtranscripts":60312,"Conversation":60313,"Ġremarked":60314,"ëĤĺ":60315,"dling":60316,"Ġdeploying":60317,"ĠsharedApplication":60318,"Ġkp":60319,"FontAwesomeIcon":60320,"_dummy":60321,"reiben":60322,"ĠJaneiro":60323,"Directions":60324,".getBean":60325,"sass":60326,"Ġcommanders":60327,"vation":60328,"errorCode":60329,"ĠAlloy":60330,".localized":60331,"Ðij":60332,"Ġdishwasher":60333,"ĠSoup":60334,"Nu":60335,"_Default":60336,"Ġuneven":60337,"Ġ/>\";Ċ":60338,"-Based":60339,"Ġseamlessly":60340,"-null":60341,"ĠXC":60342,"Ġstew":60343,"(delay":60344,"ATORS":60345,"ĠWheeler":60346,"\"H":60500,"east":60501,".air":60502,"âĢľBut":60503,"ObjectContext":60504,"successfully":60505,"_land":60506,"Ġfolds":60507,"_COORD":60508,"Ġsubpo":60509,".getAddress":60510,"instr":60511,"Materials":60512,"ÑĥÑģÑĤ":60513,"deposit":60514,"-last":60515,"_GRAY":60516,"=find":60517,"Ġmutant":60518,"Ġlesbienne":60519,"letcher":60520,"ROUGH":60521,"ureka":60522,".capture":60523,"Ġenn":60524,"Ġ([[":60525,"ĠFlu":60526,"ĠtaskId":60527,"ĠHussein":60528,".folder":60529,"Ġausterity":60530,"ISTRATION":60531,"_Impl":60532,"注æĦı":60533,"Ġdecree":60534,"-chat":60535,"Ġimplication":60536,"Ġguesses":60537,"ulkan":60538,"Analytics":60539,".plus":60540,"COMMAND":60541,"ели":60542,"»ĊĊ":60543,"_SITE":60544,"ĠequalTo":60545,"SupportFragmentManager":60546,"ĠRecording":60547,"å®ĮæĪIJ":60548,"Ġbaggage":60549,"Ġpitchers":60550,"ĠEh":60551,"oque":60552,"ĉcnt":60553,"Ġ=>$":60554,"/foo":60555,"IRA":60556,"ĠSatellite":60557,"borah":60558,"Ġ}}\"Ċ":60559,"ĠEnds":60560,"ĠSpray":60561,",param":60562,".Chrome":60563,"*q":60564,"thought":60565,"ibrated":60566,"Ġthieves":60567,"Ġbeneficiaries":60568,"Entered":60569,"ottesville":60570,"Ġveterin":60571,"ByID":60572,"quipe":60573,"umption":60574,"-unit":60575,"ExecutionContext":60576,"@s":60577,"ĠGiov":60578,".ToolTip":60579,"_friend":60580,"(attributes":60581,"Ġdumping":60582,"ĠJC":60583,"_DOCUMENT":60584,"ĠArmour":60585,"(insert":60586,".HorizontalAlignment":60587,"ĠQed":60588,"ãģĦãģ¾ãģĻ":60589,"/git":60590,"ĠYYYY":60591,"ĠCardiff":60592,"Ġapa":60593,"organic":60594,"ĠWhereas":60595,"ĠæĿ":60596,"ĠMia":60597,"Ġdemolition":60598,"Ġscars":60599,"Ġpai":60600,"Ġretries":60601,"Ġrq":60602,"ĠDenis":60603,"(Utils":60604,"Ġalleviate":60605,"ĠPIC":60606,"idue":60607,"Ġacknowledging":60608,"Ġ//////////////////////////////////":60609,"ç¡®å®ļ":60610,"Ä«":60611,"\\Json":60612,".binary":60613,"Ġxtype":60614,"signals":60615,"ĠAppearance":60616,"&r":60617,"}s":60618,"Ci":60619,"ĠIllum":60620,"porate":60621,"hog":60622,"ĠindexOf":60623,"\\Command":60624,"_parallel":60625,"ĠSherlock":60626,"íĥ":60627,"Ġ\"\")čĊ":60628,"////////////////////////////////////////////////////////////////////////////////////////////////":60629,"Ġcriticize":60630,"ĠSoap":60631,"ĠMatcher":60632,"Ġgrilled":60633,"*T":60634,"Ġadore":60635,"ulling":60636,"Ġjedoch":60637,"_refs":60638,"leanup":60639,"ĠJAXB":60640,"Ġroses":60641,"ĠLiam":60642,"sizei":60643,"Ġgetchar":60644,"Ġtarde":60645,"-tooltip":60646,"Ġqualifier":60647,"ĠIntermediate":60648,"_Window":60649,"ĠMalta":60650,"Disconnect":60651,"ewhere":60652,"Campo":60653,"Ġirrational":60654,"ledo":60655,"ĠDN":60656,"ARGV":60657,"Ġoutro":60658,"Ġthirteen":60659,"Joseph":60660,"MAR":60661,"/gl":60662,"Jess":60663,"ĠPsychiat":60664,"ĠpaddingBottom":60665,"-loop":60666,"/fonts":60667,"_seen":60668,"Teams":60669,"ReactDOM":60670,"(man":60671,"(xpath":60672,".getSimpleName":60673,">(*":60674,"ĠPvt":60675,"Ġelders":60676,"Ġpies":60677,".userAgent":60678,"-region":60679,"ĠGreeks":60680,"(fragment":60681,"stu":60682,"Ġcouncils":60683,"Ġstamina":60684,"ĠGoddess":60685,"西":60686,"Ġphilosophers":60687,"Ġpersone":60688,"ĠLose":60689,"ĠCLR":60690,"ĠDocs":60691,"Ġsoak":60692,"ĠHOLDER":60693,"Ġbells":60694,"hashCode":60695,"RATE":60696,"_WEIGHT":60697,"inous":60698,"endra":60699,"ophobic":60700,"Ġprose":60701,"Ġfinely":60702,"/oauth":60703,"(space":60704,"adge":60705,"ĠMama":60706,"ĠstringBuffer":60707,"Ġstint":60708,"Ġmisma":60709,"Ġvillains":60710,"ĠCrimea":60711,"Ġdiploma":60712,"ĠпоÑģл":60713,"ĠBea":60714,"(join":60715,"Ġíķ´":60716,"CHAT":60717,"pering":60718,"ĠCros":60719,"Ġmonkeys":60720,"Ġpreds":60721,"yla":60722,",,,":60723,"Ġvibrator":60724,"ĠNU":60725,"åħĪ":60726,"fant":60727,"zet":60728,"Ġbietet":60729,"unft":60730,"sworth":60731,".Flow":60732,"Ġpsyched":60733,"ĠContinental":60734,">t":60735,"Ġquilt":60736,".UP":60737,"Ġexpansive":60738,"Dispose":60739,"(language":60740,"Caps":60741,"_ZONE":60742,"Ġrecycle":60743,"ĠManaged":60744,"currentColor":60745,".broadcast":60746,"signIn":60747,".prom":60748,"llu":60749,"ueblo":60750,"Ġpunches":60751,"Ġautomat":60752,"Ġassigning":60753,"ĠcreateUser":60754,"ĠAllied":60755,"Ġconductor":60756,"Ĥ¨":60757,"Ġsaddle":60758,"Ġdni":60759,"omedical":60760,"-West":60761,"PositiveButton":60762,"Ġitalic":60763,"?[":60764,"(trigger":60765,"Ġelephants":60766,"\":\"\",\"":60767,"Ġcaliber":60768,"rafted":60769,"digits":60770,"Ġmarshal":60771,"milliseconds":60772,"markers":60773,"mom":60774,"/place":60775,"Ġholistic":60776,":t":60777,"#,":60778,"Ġboto":60779,"Ġnausea":60780,"ĠShooting":60781,"itech":60782,"ĠtextStatus":60783,"())Ċ":61004,"ADDRESS":61005,"BST":61006,"etzt":61007,"ĠQgs":61008,"Sense":61009,"ExceptionHandler":61010,"ĠChu":61011,".getOwnProperty":61012,"Ġexercised":61013,"iotic":61014,"ĠReleases":61015,"Ġpinterest":61016,"olie":61017,"isoft":61018,"Ġsequencing":61019,"Ġpadre":61020,"]));čĊ":61021,"(radius":61022,".med":61023,"ainties":61024,".ObjectModel":61025,"Ġemple":61026,"Ġseguro":61027,"Stars":61028,"Ġqualitative":61029,"lemn":61030,"á»±":61031,">\").":61032,"Ġgx":61033,"-cert":61034,"ĠASTM":61035,"Ġfullname":61036,"Ġtelemetry":61037,"ĠCambodia":61038,"_ul":61039,"ĠClare":61040,"CUSTOM":61041,"QC":61042,"ĠUns":61043,"ĠHTTPS":61044,"ĠParkinson":61045,"ancybox":61046,"','.":61047,"Tue":61048,".getLast":61049,"Ġabi":61050,"Äħd":61051,"Ast":61052,"ĠEditing":61053,".Unity":61054,"jmp":61055,"Ġmats":61056,"ĠsharedPreferences":61057,"Captain":61058,".pageSize":61059,"Ġrtl":61060,"Ġanmeld":61061,"RuntimeObject":61062,"Ġdemande":61063,"(\";":61064,"seite":61065,"-headed":61066,"ĠKra":61067,"ĠFONT":61068,"`\\":61069,"ClassNotFoundException":61070,".avg":61071,"atical":61072,"Aj":61073,"Ġpermitting":61074,"Proj":61075,"ERRQ":61076,"Ġcreampie":61077,"ĠBuyer":61078,"-modules":61079,"ĠSundays":61080,"|`Ċ":61081,"Ġdaytime":61082,"Ġ+(":61083,"Ġglitch":61084,"ĠOperand":61085,"Ġtoxins":61086,"inya":61087,"DNS":61088,"ĠSas":61089,"Cake":61090,"ĠNationals":61091,".addTo":61092,"Ġsinking":61093,"Ġcomprehension":61094,"Ġscor":61095,"agements":61096,"Ġtard":61097,"Ġmarching":61098,"ĠMTV":61099,"Ġsane":61100,"CreateInfo":61101,"ắ":61102,"ĠendIndex":61103,"ĉlayout":61104,"ĠåIJį":61105,"SITE":61106,"ĠTHERE":61107,"Ġ[{'":61108,"opathic":61109,"Ġtransmitter":61110,"/body":61111,"Ġpund":61112,"ĠClosing":61113,"Ġsetattr":61114,"Ġbounded":61115,"Atlas":61116,"suming":61117,"(times":61118,"parer":61119,"ynom":61120,"feit":61121,"Ġfrem":61122,"-leg":61123,"ĠBras":61124,">#":61125,"Ġì¶ľëł¥":61126,"ĠINSTANCE":61127,"ĠCouch":61128,"_hosts":61129,"likelihood":61130,".Marker":61131,"ĠMasks":61132,"Ġcereal":61133,"utilities":61134,"Ġelemental":61135,"Ġdistorted":61136,"inactive":61137,"cry":61138,"WL":61139,"UPPORTED":61140,".Throws":61141,"/schema":61142,"serie":61143,".\"',":61144,"ĠBenedict":61145,"-picker":61146,"iggs":61147,"ĠPirate":61148,"åij¨æľŁ":61149,"ĠThema":61150,"ĠSouthampton":61151,"ĠarrayWith":61152,"ĠPaula":61153,"Ġpredictor":61154,"-Ass":61155,".userid":61156,"Ġperi":61157,"Ġexaggerated":61158,"urate":61159,"arseille":61160,"ĠConcent":61161,"ĠPik":61162,"Ġ@_;ĊĊ":61163,"Ġformations":61164,"Ġdenomin":61165,"\"/>.Ċ":61166,"endedor":61167,"Ġpancre":61168,"Ġamt":61169,"ĠonResume":61170,"onDelete":61171,"ĠBCH":61172,")(\"":61173,"movement":61174,"Ġpotassium":61175,"":69726,"ĠPPC":69727,"isz":69728,"akeFromNib":69729,"ĠDisp":69730,"ĠAthletics":69731,"Ġnightclub":69732,"GOOD":69733,".setGeometry":69734,"+[":69735,"/send":69736,"Ġbinaries":69737,"Ġráp":69738,":req":69739,"-consuming":69740,"ertime":69741,"UPDATED":69742,"_nullable":69743,"VIN":69744,"ulia":69745,"cyan":69746,"Ġmisunderstanding":69747,"orical":69748,"degrees":69749,"Leading":69750,".AR":69751,"ickest":69752,"Nuevo":69753,"uforia":69754,"Ġgoodies":69755,"Ġfores":69756,"()<<\"":69757,"ademic":69758,"ActionCreators":69759,"servername":69760,"(nt":69761,"dbContext":69762,"Ġairborne":69763,"Ġexhibitions":69764,"cele":69765,"Ġtela":69766,"":69782,".setPreferredSize":69783,"ĠMID":69784,"ĠAless":69785,"Ġhorsepower":69786,"Ġatm":69787,"ĠPackaging":69788,"Ġciphertext":69789,"RequestMethod":69790,"Ġbeiden":69791,"è£":69792,"ĠPOW":69793,".WriteHeader":69794,"director":69795,"-but":69796,"ãģłãģķãģĦ":69797,"incer":69798,"_dn":69799,"!!!!!":69800,"Ġmanufactures":69801,".TextUtils":69802,"Ġconsciously":69803,"Ġbounced":69804,"culture":69805,"ĠSpar":69806,"ĠPiper":69807,".press":69808,"-owner":69809,"Ġevaluator":69810,"ĠSTREAM":69811,".PictureBoxSizeMode":69812,"Ġsugars":69813,"ScreenWidth":69814,"ĠnextState":69815,"Ġivory":69816,"Ġbrunch":69817,"density":69818,"_OW":69819,"ĠCoronavirus":69820,"ĠCFR":69821,"bak":69822,"\\Category":69823,"æķ°ç»Ħ":69824,"Ġinvokevirtual":69825,"}()Ċ":69826,"Ġsujet":69827,"-marker":69828,"isdigit":69829,"ĠMobil":69830,"ĠJsonRequestBehavior":69831,"_REMOTE":69832,".existsSync":69833,"Ġriches":69834,".presenter":69835,"ĠglColor":69836,"Ġhanya":69837,"Ġfortress":69838,"Ġflashed":69839,"viz":69840,"requently":69841,"buat":69842,"$con":69843,">|":69844,".Func":69845,"Ġhumorous":69846,"uem":69847,".ZERO":69848,"ĠSTL":69849,"ĠBuk":69850,"/sample":69851,"ĠGros":69852,"Recipes":69853,"Ġinflated":69854,"Ġswung":69855,":F":69856,"Facing":69857,".Theme":69858,"ник":69859,"Ġsplendid":69860,"ĠrequestId":69861,".CenterScreen":69862,"/autoload":69863,"embedded":69864,"_depart":69865,"ĠPorts":69866,"à¹ĥ":69867,"айд":69868,"discussion":69869,"_consum":69870,"Ġscouts":69871,"Ġcolabor":69872,".Stage":69873,".nano":69874,"eldorf":69875,"Ġgemacht":69876,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ":69877,"Ġpolicymakers":69878,"_PKT":69879,",Th":69880,"oky":69881,"_UID":69882,"Ping":69883,"Ġorchest":69884,"Ġoptics":69885,"uhan":69886,"ĠXOR":69887,"Ġespañol":69888,"ĠAdidas":69889,"rng":69890,"mans":69891,".vstack":69892,"Ġgetaway":69893,"Ġhierarchical":69894,"anoia":69895,"ĠBitmapFactory":69896,"realm":69897,"ĉap":69898,"_apps":69899,"-divider":69900,".drawer":69901,"ĠHARD":69902,"'];?>Ċ":69903,"-packed":69904,"æ²»":69905,"_STRUCTURE":69906,"[Y":69907,"iParam":69908,"(eq":69909,"Ġencompasses":69910,"Ġ\\ĊĊ":69911,"->[":69912,"&utm":69913,"groupon":69914,"strate":69915,"DY":69916,"omorphic":69917,"':[":69918,"Ġgravitational":69919,"ĠMicha":69920,"ĠTencent":69921,"Ġcoached":69922,"ì¶ľ":69923,"ÑĥменÑĤ":69924,"/mobile":69925,"MouseDown":69926,"bud":69927,"ĠYas":69928,"ĠProviders":69929,"NZ":69930,"ĉreport":69931,"errmsg":69932,"ĠimagePath":69933,"acterial":69934,"ĠManga":69935,"wicklung":69936,"(usuario":69937,"\"));čĊčĊ":69938,"/***":69939,"Ġorganise":69940,"Indexed":69941,"_QUAL":69942,"(PyObject":69943,"Ġsurrendered":69944,"POCH":69945,"ĠNOTES":69946,"\\\\\"":69947,"-job":69948,"Ġseventy":69949,"####Ċ":69950,"ĠManor":69951,"Ġdownright":69952,"Ġtimeframe":69953,"insurance":69954,"checker":69955,"ĠSECRET":69956,"Ġechoes":69957,"ĠCarmen":69958,".setHorizontalAlignment":69959,"ĠisChecked":69960,"ĠTOR":69961,"_nn":69962,"('(":69963,"FetchRequest":69964,"ĠPrinted":69965,"Fluid":69966,"ĠSTACK":69967,"GES":69968,"aigned":69969,"igor":69970,".Unknown":69971,"CBC":69972,"ĠCarlson":69973,".URI":69974,"Ġplight":69975,"/start":69976,"ĠPersonnel":69977,"ĠPREFIX":69978,",**":69979,"Ġlimite":69980,"_heat":69981,"%ï¼Į":69982,"ĠDonne":69983,"getNode":69984,"ĠScientology":69985,"Ġcomet":69986,"Ġwenig":69987,"Aside":69988,"ĠMPEG":69989,"'?":69990,"variably":69991,".endDate":69992,"Ġuncont":69993,"ĠScores":69994,"ĠLoginForm":69995,".generated":69996,",ch":69997,"-mar":69998,"ĠNed":69999,"ĠeventId":70000,"+p":70001,"ĠSIN":70002,"/reset":70003,".REACT":70004,"ĠMessi":70005,"_RANK":70006,".writeFile":70007,"Ġcripp":70008,"esthetic":70009,"ERSIST":70010,"Ġreimbursement":70011,"CurrentValue":70012,"Ġunin":70013,"DownLatch":70014,"ĠpaddingRight":70015,"Ġstocked":70016,"/'.":70017,"Ġrepayment":70018,"trak":70019,"/backend":70020,"Ġизмен":70021,"CSR":70022,"Ġpreventive":70023,"Ġpantalla":70024,"_trim":70025,"Pedido":70026,"hospital":70027,"Ġmanageable":70028,"routeParams":70029,"textures":70030,"......ĊĊ":70031,"Ġsélection":70032,"NameValuePair":70033,"Ġpollut":70034,"Modes":70035,"ĠLaud":70036,"jay":70037,"ĠUrs":70038,"Ġsigner":70039,"ĠJJ":70040,"ĠCherokee":70041,"_EXISTS":70042,"Ġdwar":70043,"Ġ($('#":70044,"Ġreef":70045,">{$":70046,"ĠBaylor":70047,"ĠModelState":70048,"-_":70049,"ĠStructures":70050,"Ġsouvent":70051,"Specify":70052,"(pipe":70053,"Ġfracking":70054,"ĠGPA":70055,"Ġbele":70056,"ĉĉĉĉĉĉĉĠĠĠ":70057,"ĠMinority":70058,"Ġtud":70059,"Ġopenness":70060,"ĠIllustrated":70061,"Ġoxidation":70062,"ĠNK":70063,"ĉUpdate":70064,"ĠEMS":70065,"ĠTeddy":70066,"Ġgenerals":70067,"ĉMat":70068,"Ġradios":70069,"ĠAntique":70070,"conomy":70071,"ĠSquadron":70072,")','":70073,"声":70074,"Ġyoure":70075,"ĠMainPage":70076,"Ġbehaviours":70077,"enght":70078,"(@\"%@\",":70079,"Ġtestcase":70080,"ĠCompilation":70081,"Ġflavours":70082,"ĠExtend":70083,"illator":70084,"Ġcoh":70085,"Ġspline":70086,"ĠKG":70087,"-pay":70088,"Ġcommunism":70089,"ĠBusinesses":70090,"ocking":70091,".MaxLength":70092,"assandra":70093,"quiring":70094,"adden":70095,"ĠJeb":70096,"_fault":70097,"[file":70098,"Ġprominence":70099,"disciplinary":70100,"âĢĶthey":70101,"_extent":70102,"ĠVIC":70103,"Ġentails":70104,".partner":70105,"Ġhippoc":70106,"League":70107,"çĶ·":70108,"wipe":70109,"-spinner":70110,"Ġsalute":70111,"ĠSurgical":70112,"(outputs":70113,"worked":70114,"[strlen":70115,"appointed":70116,"ĠHeg":70117,"ĠACPI":70118,"([^":70119,"uala":70120,"_tol":70121,"ĠRit":70122,".Payment":70123,"kowski":70124,"Ġwalmart":70125,"requirements":70126,"ĠFINSEQ":70127,"_BACKGROUND":70128,"ĠOsborne":70129,"(errorMessage":70130,"Reporting":70131,"Ġauctions":70132,"Ġcombos":70133,"ĠNoticed":70134,"_oct":70135,"Ġprimero":70136,"taire":70137,"_hr":70138,"Ġмод":70139,"Ġcontradictory":70140,"=\"@":70141,"achines":70142,"(optarg":70143,"ĠPenguin":70144,"ĠAbbas":70145,"Ġsublime":70146,"Ġpageable":70147,"ĠDefensive":70148,"Ġdistinctly":70149,"ĠAutomatically":70150,"Understanding":70151,"EqualityComparer":70152,"gota":70153,"Ġ\"::":70154,"Ġpulver":70155,"ĠBattles":70156,"Ġunparalleled":70157,"TCHA":70158,"Ġconstrued":70159,"-aff":70160,"Ġprecursor":70161,"-lfs":70162,"Ġmaduras":70163,"ĠDaisy":70164,"ĠArbeits":70165,".Management":70166,"ĉIn":70167,"Ġrobes":70168,"Ġspéc":70169,"âĢľ(":70170,"Ġmaternity":70171,"extent":70172,"ĠSpacer":70173,"DidAppear":70174,"ĉus":70175,".getRequestDispatcher":70176,"(cols":70177,"Ġplummet":70178,"ìħ":70179,"Ġ{ĊĊĊĊ":70180,"érica":70181,"ĠSizes":70182,".enum":70183,".Highlight":70184,"Ġ!!}ĊĊĊ":70193,"Wenn":70194,"Ġclimax":70195,"Ġcrem":70196,"_that":70197,"[â̦":70198,"_domains":70199,"_REPLY":70200,"Ġcompleta":70201,"VEST":70202,"_particle":70203,"Ġsop":70204,"Ġfatalities":70205,"implify":70206,"ĠSKF":70207,"Ġinfusion":70208,"ĠJavier":70209,"Ġballet":70210,"Ġamigo":70211,".want":70212,"Ġcollagen":70213,"ĠLawyer":70214,".Statement":70215,".rt":70216,"baar":70217,"EndPoint":70218,"ĠBek":70219,"SHIP":70220,"Ġpatriarch":70221,"ĠAunt":70222,"_TM":70223,"ĠmÃŃn":70224,"Ġmastered":70225,"WXYZ":70226,"Ġespos":70227,"=logging":70228,"Ġrighteousness":70229,"torrent":70230,"Ġbst":70231,"_CHAIN":70232,"Ġoutskirts":70233,"(rotation":70234,"Ġ'.')":70235,"igrants":70236,"+lsi":70237,"ĠCCTV":70238,"_PHASE":70239,".azure":70240,"_Process":70241,"vae":70242,"ĠTropical":70243,"ĠAnkara":70244,"imageView":70245,"_RUNNING":70246,"Ġ*)__":70247,"ến":70248,"(cli":70249,"scatter":70250,"Ġsche":70251,"Registrar":70252,"Ġairing":70253,"Ġpyplot":70254,"isión":70255,"/customer":70256,"Ġsimplement":70257,"Ġclassy":70258,"ĠDWC":70259,"ĠBashar":70260,"ĠDEVELO":70261,"ĠVick":70262,"avail":70263,"ĠHö":70264,"_extend":70265,"drFc":70266,".isNotBlank":70267,"Ġplais":70268,"|}Ċ":70269,"Ġpornofil":70270,"labs":70271,"Ġhaus":70272,"Ġoriginating":70273,"Ġsurrounds":70274,"ĠQUAL":70275,"meg":70276,"/logger":70277,"[obj":70278,"Ġirresponsible":70279,"ĠPublicKey":70280,"HONE":70281,":'/":70282,"ibox":70283,"ĠFVector":70284,"|{Ċ":70285,"ataloader":70286,"hawks":70287,"HDR":70288,"Ġescalation":70289,"ĠPodsDummy":70290,"elite":70291,"Ġpresup":70292,"Cached":70293,">G":70294,".optimizer":70295,"ĠVisible":70296,"´Ģ":70297,"Ġnen":70298,"Ġpcs":70299,"ĠIdle":70300,"[Any":70301,"Ġkeyboards":70302,"ĠCOMPONENT":70303,"Ġtitanium":70304,"(mut":70305,"ĠLedger":70306,"Ġprosperous":70307,"etrofit":70308,"_LL":70309,"_patient":70310,"Ġpdata":70311,"Ġkontakte":70312,"Swipe":70313,"Ġcheerful":70314,"ĠHonduras":70315,"\"][$":70316,"Ġhemorrh":70317,"\":\"+":70318,"Ġleasing":70319,"Ġinstalls":70320,"ĠPax":70321,"ĠLogistics":70322,"Ġkinetic":70323,"ĠPhon":70324,"_movement":70325,"ĉbytes":70326,"Ġcinco":70327,"ĠMadness":70328,"\")+":70329,"ĠJE":70330,"_ij":70331,"SceneManager":70332,"ĠBust":70333,"ptest":70334,"aea":70335,"Ġbesser":70336,"ÃŃg":70337,"дин":70338,"(tasks":70339,"(\"(\"":70340,"setType":70341,"(outfile":70342,"ĉreset":70343,"ĠARC":70344,"Ġmúsica":70345,"ĠShelf":70346,"ĠminY":70347,"pch":70348,"Ġweiber":70349,"issor":70350,"Ġtrouve":70351,"ĉButton":70352,"Ġregenerated":70353,"Å£i":70354,"imachinery":70355,"blocking":70356,".dataTables":70357,"_frac":70358,"ĠAdvantage":70359,".visitMethod":70360,"éĩįæĸ°":70361,"Ġextrapol":70362,"Ġteasing":70363,"ĠHitch":70364,"ĠGeek":70365,"ESCO":70366,"Ġwich":70367,"ĉax":70368,"_decor":70369,"ĠscreenWidth":70370,"ĠSophia":70371,"Forgot":70372,".uni":70373,"ĠVenture":70374,"_collision":70375,"Ġlawmaker":70376,"(Edit":70377,"blers":70378,"ĠgetNext":70379,"âĢĶyou":70380,"MediaPlayer":70381,"ĠHorde":70382,"ĠCongressman":70383,"observations":70384,"ĉproperty":70385,"Ġ<--":70386,"CreatedAt":70387,"ubyte":70388,"Ġquarantine":70389,"Ġdistressed":70390,"_APB":70391,"ĠGoodman":70392,"ãĤ«":70393,"Ġrecomend":70394,"_PRINTF":70395,"DONE":70396,"Bindable":70397,"rstrip":70398,"centaje":70399,"ĠUnexpected":70400,"ĠSCHOOL":70401,"ĠProfessionals":70402,"ĠGPUs":70403,"Lesson":70404,"Exclusive":70405,"Ġatrav":70406,"ĠDank":70407,"ĠLawyers":70408,"ĠWalton":70409,">[]":70410,"Ġaloud":70411,"=\"../../../":70412,"Ġdebating":70413,"ĠAVG":70414,"_VOL":70415,"/cgi":70416,".deg":70417,":g":70418,".Infof":70419,"MeasureSpec":70420,".song":70421,"mtree":70422,"ulls":70423,"Jordan":70424,"ĠCovers":70425,"Ġattributable":70426,"Ġjedis":70427,"iatrics":70428,"Ġrotterdam":70429,"Ġmeld":70430,"ĠContentType":70431,"Ġmantle":70432,"Ġalice":70433,"_duplicate":70434,"/Internal":70435,"Ġfilesize":70436,"ĉfire":70437,"rese":70438,"ondere":70439,"Ġfamiliarity":70440,"ĠCrest":70441,"Ġkarma":70442,"Ġtorino":70443,"Ġmesa":70444,"/temp":70445,"Ġchir":70446,"ĠOverflow":70447,"Ġtenemos":70448,"unik":70449,"NEXT":70450,"Alle":70451,"Ġnxt":70452,"Mart":70453,"Ġatl":70454,"Ġperiodo":70455,"_you":70456,"Ġ})).":70457,"intestinal":70458,".AdapterView":70459,"Ġhesitant":70460,"Ġcomparatively":70461,".UInt":70462,"(viewModel":70463,"Ġsangat":70464,"ĠResponsive":70465,"ĠZack":70466,"âħ":70467,"JAVA":70468,"ĠFuller":70469,"ĠâĿ¤":70470,".Consumer":70471,"Ġank":70472,"Ġreactors":70473,"fuck":70474,"_rat":70475,"ĠsessionFactory":70476,"_backward":70477,"Ġscrambled":70478,"ĉth":70479,"Ġinsensitive":70480,"Ġchamps":70481,"Ġnginx":70482,"Ġconhec":70483,"ĠJasper":70484,".fm":70485,"StrictEqual":70486,"achsen":70487,"-Nov":70488,"lassen":70489,".integration":70490,"(lbl":70491,"Compose":70492,"ĠFon":70493,"Ãļ":70494,"Gratis":70495,"ĠLime":70496,"ĠAdapterView":70497,"Ġpoisoned":70498,"anchors":70499,"设计":70500,"']?>\"":70501,"Ġprocur":70502,"Italy":70503,".MONTH":70504,"ĠLUA":70505,"ĠLithuania":70506,"ĠHeads":70507,"_CHUNK":70508,"ĠPUSH":70509,"AspectRatio":70510,"Ġweg":70511,"Ġvids":70512,"ĠWein":70513,"ĉINT":70514,"sessionId":70515,"Industry":70516,"Ġdenounced":70517,"JKLM":70518,"ĠVanessa":70519,".Identifier":70520,"propri":70521,"Ġиг":70522,"Ġtécn":70523,"Ġmosaic":70524,"StreamReader":70525,"-Th":70526,"forth":70527,"Ġadherence":70528,"bate":70529,"Ġknights":70530,"sounds":70531,"Ġsalle":70532,"OMET":70533,"ãĤ¹ãĥĪ":70534,"-tm":70535,"ĠRhe":70536,".FileOutputStream":70537,"åĪĨç±»":70538,"ĠENG":70539,"holiday":70540,"ĠCongratulations":70541,")(Ċ":70542,"Ġaggregates":70543,"HOOK":70544,"ewire":70545,"Senator":70546,"Ġembeddings":70547,"epy":70548,"(COM":70549,"Ġrobber":70550,"äter":70551,"wang":70552,"_teacher":70553,"Ġresentment":70554,"Ġlettuce":70555,"erreur":70556,"(ic":70557,"ĠTactical":70558,"ĠContracts":70559,"Ġmænd":70560,"Ġsitios":70561,"Ġbastante":70562,"Ġnuevos":70563,"ĉNdrFc":70564,"ĠprivateKey":70565,"ucch":70566,"MMdd":70567,"Ġè¾ĵåĩº":70568,"umba":70569,"@foreach":70570,":\");ĊĊ":70571,"Ġslippery":70572,"ĠKeystone":70573,"Ġpioneering":70574,"_triangle":70575,"(\"Ċ":70576,"ĉĉĉĉĉĉĉĉĠĠ":70577,"ĠIntervention":70578,"SCI":70579,"ĠcJSON":70580,"Ġterminating":70581,"ë¹Ħ":70582,"Ġbabys":70583,"Subset":70584,"Ġë¡":70585,"Ġseulement":70586,"Ġmuestra":70587,"Entre":70588,"以ä¸Ĭ":70589,"ngo":70590,"\"bytes":70591,"QRST":70592,"Ġypos":70593,"persona":70594,"ĠDeploy":70595,"cee":70596,"Ġà®":70597,".goal":70598,"Ġhabitats":70599,"ĠisAdmin":70600,"Ġexploiting":70601,"Ġventil":70602,"ĠBalls":70603,"اب":70604,"Ġmindfulness":70605,"(kwargs":70606,"Ġresembling":70607,"Ġchoir":70608,"ĠonBackPressed":70609,"ĠSECURITY":70610,"/gtest":70611,"Ġjustices":70612,"ĠintegerValue":70613,"blah":70614,"ĠAim":70615,"_finalize":70616,"keh":70617,"ĠComplexity":70618,"Ġaugust":70619,"getElementsByTagName":70620,"Ġpreach":70621,"Ġpronunciation":70622,"ĠTrash":70623,"-percent":70624,"_PRIV":70625,"ĠHunts":70626,"ĠCurse":70627,"uellen":70628,"Ġheavyweight":70629,"Xi":70630,"ĉselected":70631,"ĠMcCoy":70632,"å¼Ĥ常":70633,"|=Ċ":70634,"ĠBattlefield":70635,"ItemImage":70636,"Ġdeductions":70637,"ĠElemental":70638,"());//":70639,"ĠBurk":70640,"})čĊčĊ":70641,"swift":70642,"/function":70643,"Usually":70644,"_St":70645,"_feats":70646,"ĠIsValid":70647,"Ġzad":70648,"ImageContext":70649,"Ġclassname":70650,"Ġdonner":70651,"Ġ-->ĊĊĊ":70652,"Ġmotorcycles":70653,"+'/'+":70654,"ĠsetBackground":70655,"\\CMS":70656,".AllArgsConstructor":70657,"ĠLexington":70658,".examples":70659,"ĠPurs":70660,"PushMatrix":70661,"Ġ==============================================================":70662,".addTarget":70663,"pora":70664,"Fullscreen":70665,"Ġgoof":70666,"hlen":70667,"äge":70668,"ĠCURL":70669,"ĠInteresting":70670,"Ġretrieves":70671,"_Obj":70672,"inness":70673,"-----ĊĊ":70674,".tsv":70675,"(IM":70676,"ĠBraves":70677,"_ISR":70678,"osti":70679,"á»ĵ":70680,"ĠExterior":70681,"ĠCourtney":70682,"Ġresidues":70683,"Tier":70684,".*;čĊčĊ":70685,":black":70686,"webView":70687,"\"path":70688,"Ġmasa":70689,"]!='":70690,"ĠMatching":70691,"dur":70692,"Jvm":70693,"=context":70694,"_RING":70695,"Ġproponents":70696,"ĠQStringLiteral":70697,"Ġinflate":70698,"\">čĊ":70931,"_COST":70932,"ilinear":70933,"ĠWorkspace":70934,"Ġspel":70935,"agogue":70936,"ĠMillennium":70937,"ĠPopulate":70938,"Ġnid":70939,".parseColor":70940,"Solar":70941,"ĠGad":70942,"Ġì¤ij":70943,"ĠKamp":70944,"ĉrm":70945,"Ġbenz":70946,"ĠHonestly":70947,"Ġelectrode":70948,"ĠPrairie":70949,"ĠPROFILE":70950,"ĠOriental":70951,"ĠOLED":70952,"/copyleft":70953,"awaii":70954,"(products":70955,")\\<":70956,"-created":70957,".ManyToMany":70958,"\"How":70959,"ĠвÑĭп":70960,"Ġmitochondrial":70961,"_testing":70962,"(created":70963,"ĠgetField":70964,"_EVAL":70965,"].\"":70966,"ĠFSM":70967,"ĠRita":70968,"ĠåıĤæķ°":70969,"Ġcôt":70970,"ĠInsight":70971,"ĉmysqli":70972,"_timing":70973,"IDO":70974,")))))Ċ":70975,"COVERY":70976,".imag":70977,"CDF":70978,"lust":70979,"ickt":70980,"_FP":70981,".','":70982,"gcc":70983,"Ġkurz":70984,"_pwm":70985,"Ġodpowied":70986,"ĠBarrier":70987,"/***************************************************************************Ċ":70988,"pak":70989,"-Israel":70990,"ĠRutgers":70991,"ĠselectedItem":70992,"ĠRamirez":70993,"Farm":70994,"Ġcalendars":70995,"gzip":70996,"Ġblockbuster":70997,"ĠPlymouth":70998,"çľĮ":70999,"responses":71000,".DialogInterface":71001,"-grand":71002,"ĠgetSource":71003,"Ġdejtings":71004,"Ġtieten":71005,"Ġcondemnation":71006,"Ġcontinuar":71007,".MockMvc":71008,"/english":71009,"ĠMediaPlayer":71010,"computed":71011,"ĠClippers":71012,"(delegate":71013,".Slf":71014,"Ġë¡ľ":71015,"ĠTide":71016,"Ġihrem":71017,"ĠWan":71018,"ÑĥÑİÑī":71019,"}><":71020,"Discussion":71021,"Ġwatts":71022,"-minus":71023,"ĠJuliet":71024,"éĽħ":71025,"Ġconcluding":71026,"andscape":71027,"Ġúltima":71028,"ĠDERP":71029,"ĠsignUp":71030,"ĠSecondly":71031,"WAIT":71032,"lds":71033,".callbacks":71034,"(hour":71035,"imators":71036,"volent":71037,"AAF":71038,"edriver":71039,"ĠMathematic":71040,"'":71042,"{j":71043,"_ABORT":71044,"Ether":71045,"Ġeducator":71046,"Ġprecaution":71047,"Ġfingertips":71048,"getVar":71049,"camatan":71050,"-debug":71051,"ĠRAF":71052,"[arg":71053,"Ġraced":71054,"Ġtsunami":71055,".flink":71056,"Ġglyc":71057,"uko":71058,"ĠMultiply":71059,"Ġredistribution":71060,"AGO":71061,"ĠRoutine":71062,"Ġopr":71063,"(lower":71064,"ĠFunktion":71065,".dk":71066,"Ġegt":71067,"_BASIC":71068,"syscall":71069,"ĠLSD":71070,"ĠDuplicate":71071,"_sell":71072,"ĠerrorHandler":71073,"_ips":71074,"Ġerv":71075,"annie":71076,"(resourceName":71077,"Ġbottled":71078,"Ġcrawling":71079,"egment":71080,".setTag":71081,"Ġrss":71082,"ĠQuarry":71083,"_exact":71084,".jwt":71085,"ĠBoards":71086,"opi":71087,"Ġnasal":71088,"ĠXYZ":71089,".ud":71090,"Northern":71091,"Ġactivating":71092,"edx":71093,"ovah":71094,"Ġindx":71095,"AlertDialog":71096,"Ġtienes":71097,"annya":71098,"_pan":71099,"(decimal":71100,".Dict":71101,"Ġsubsidiaries":71102,"ProductName":71103,"Few":71104,"dato":71105,"odied":71106,"-under":71107,"Ġê²ĥ":71108,"çīĪæľ¬":71109,"atism":71110,"[Math":71111,".'<":71112,"(infile":71113,"Ġdenotes":71114,"$class":71115,"_SECURITY":71116,"Ġsewage":71117,"melon":71118,"(Character":71119,"/github":71120,"Ġglaring":71121,".Guid":71122,"_sparse":71123,"ĠMargin":71124,"_dns":71125,"Ġmeiner":71126,"Ġleftist":71127,"ĉloc":71128,"abytes":71129,"Ġequipments":71130,"expo":71131,"ĠSomerset":71132,"EK":71133,"æį¢":71134,"Ġlecturer":71135,"Ġmemiliki":71136,"æł¸":71137,"ç´ł":71138,"pron":71139,":pointer":71140,"borrow":71141,"ĠProtective":71142,"_cf":71143,"ĠÐķÑģли":71144,"bpp":71145,"';ĊĊĊĊ":71146,"aturally":71147,"_NAV":71148,"Ġpeptide":71149,">d":71150,"Ġifstream":71151,"_FACTORY":71152,"');//":71153,"joined":71154,"mong":71155,"Ġtimespec":71156,"Ġdestabil":71157,"Ġautop":71158,"-limit":71159,"publication":71160,"ĠDenn":71161,".Memory":71162,"(skb":71163,"ĠAnaheim":71164,"_RETURNTRANSFER":71165,"oueur":71166,"(_('":71167,"legt":71168,"istingu":71169,"ĉpriv":71170,"Ġredirects":71171,"Mt":71172,"Ġalleen":71173,"ĠPointF":71174,"Ġomin":71175,"Ġcitt":71176,"ĠTage":71177,"ĠWalls":71178,"á»ī":71179,"Ġoccupying":71180,"xBF":71181,"rangle":71182,"Ġrelational":71183,"-org":71184,"Ġjpg":71185,"-derived":71186,"Ġmalfunction":71187,"ĠBenson":71188,"(scroll":71189,"ĠXD":71190,"Holy":71191,"(commands":71192,"Ġtipping":71193,"Ġprimitives":71194,"Ġsexle":71195,"CallCheck":71196,"ĠMASTER":71197,"_TEAM":71198,".setRequestHeader":71199,"_specs":71200,"Ġserge":71201,".Master":71202,"Ġims":71203,".SpringBootTest":71204,"paypal":71205,"ĠWANT":71206,".Inst":71207,"ĠCarpet":71208,"Ġwrongly":71209,"($('.":71210,"Ġbild":71211,".Roll":71212,"ĠUrb":71213,"-can":71214,"ãģıãģłãģķãģĦ":71215,"oliberal":71216,"čĊčĊ":71610,"ĠMahm":71611,"}\";ĊĊ":71612,"Ġdq":71613,"ĠPublishers":71614,"ĠAmpl":71615,"ĠDanielle":71616,"Ġtern":71617,"èµ·":71618,"noÅĽÄĩ":71619,"ein":71620,"ĠAsyncStorage":71621,"unger":71622,"rouw":71623,"Ġscissors":71624,"/assert":71625,".bucket":71626,"/archive":71627,"_Man":71628,"Ġintoler":71629,"Ġ()=>":71630,"ĠÐĴÑĭ":71631,"Ġsai":71632,".xy":71633,".\"čĊ":71634,"Ġurinary":71635,"esub":71636,"ISTICS":71637,"Ġκ":71638,"Ġcompliments":71639,"ĠtypingsJapgolly":71640,"ihar":71641,"Expansion":71642,"ĠServing":71643,"_students":71644,"ĠXBOOLE":71645,"(il":71646,"Ġì²ĺ":71647,"Ġjó":71648,"(tol":71649,"(JS":71650,"ĉCG":71651,"ĠDRAW":71652,"twig":71653,"Ġoat":71654,"_smooth":71655,"ĠCSL":71656,"Ġosob":71657,"Ġensuing":71658,"Ġbanker":71659,"ĠBackpack":71660,"_ping":71661,"Ġwishlist":71662,"=ax":71663,"ĉĠĠĠĊ":71664,"Disney":71665,"steady":71666,"\">%":71667,"Ġprophets":71668,"ĠZX":71669,"Ġminimalist":71670,".PLAIN":71671,"Seattle":71672,".ordinal":71673,"ĠPIPE":71674,"Ġretorna":71675,"Ġjugador":71676,"ĠBret":71677,"ĠâĶľ":71678,"Ġplush":71679,"ULATOR":71680,"Sorting":71681,".gridy":71682,"ectomy":71683,"_activ":71684,"rack":71685,"Interactive":71686,"ĠAntarctica":71687,"Ġvengeance":71688,"enso":71689,"_known":71690,"upplier":71691,".Modules":71692,"ĠConnectionState":71693,"éļIJèĹı":71694,"@FindBy":71695,"Ġplacer":71696,"\\model":71697,"<()>":71698,".isSuccessful":71699,"-good":71700,"bz":71701,"ĠDraco":71702,"Assistant":71703,"-extra":71704,"аблиÑĨ":71705,"Ġhypocrisy":71706,"Ġtst":71707,"ĠAgr":71708,"$txt":71709,"Ġlogistic":71710,"licensed":71711,"ĠHof":71712,"Ġtat":71713,"(iv":71714,"Ġintoxic":71715,"postId":71716,"_strike":71717,"Ġhumiliation":71718,"pcodes":71719,"\"sync":71720,"(recipe":71721,"+N":71722,"rente":71723,"ĉClient":71724,"ycopg":71725,"ĠZurich":71726,"ĠProfiles":71727,"Countries":71728,"Ġpict":71729,"Ġrollout":71730,"requencies":71731,"Ġpatched":71732,"Ġcartridges":71733,"Ġshading":71734,"Jar":71735,"Ġsalvage":71736,"ĠTaxes":71737,"Ġstandby":71738,"aporan":71739,"Eigen":71740,".angular":71741,"ĠNested":71742,"享":71743,"ĠisVisible":71744,"ĠDwight":71745,"_BRANCH":71746,".Delay":71747,"Ġkend":71748,"Ġfacilitated":71749,".flatMap":71750,"Ġsanta":71751,"ĉSend":71752,"/messages":71753,"ĠofType":71754,"ĉswap":71755,"#plt":71756,"ĠTurks":71757,"NES":71758,"Ġprogressively":71759,"ĠResidence":71760,"ĠTREE":71761,"Ġnoen":71762,"dio":71763,"Ġnelle":71764,"Ġsogar":71765,"itti":71766,"weekly":71767,"Ġambiguity":71768,"_Settings":71769,"Ware":71770,".neo":71771,"_DST":71772,"Ġæĸ¹":71773,"prep":71774,"lobby":71775,"@email":71776,"/movie":71777,"Ġfunkc":71778,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ":71779,"ÂŃs":71780,"Ġguardians":71781,"-pos":71782,"Ġconfiguring":71783,"ĠCPS":71784,"ĠDeus":71785,"Ġvidéos":71786,"_empresa":71787,"Ġslapped":71788,"',Ċ":71820,"_XDECREF":71821,"ĠBuzzFeed":71822,"_MARGIN":71823,"PLOY":71824,".small":71825,"ĠmimeType":71826,"Ġholog":71827,"ĉcamera":71828,"lias":71829,"Ġsuspense":71830,"odynam":71831,"bau":71832,"Ġgraveyard":71833,"_named":71834,"\":\"'":71835,"Ġ************************************************":71836,"ĠgameOver":71837,"ĠLENGTH":71838,"ĉscreen":71839,"ĠdoInBackground":71840,"_dependencies":71841,"Ġrtc":71842,"/up":71843,"_ROM":71844,"Hall":71845,"Ġdeficiencies":71846,"(te":71847,"'#":71848,"_equiv":71849,"Ġpreorder":71850,"ĠAxe":71851,"омÑĥ":71852,".sendFile":71853,"Ġfilt":71854,"ĠLimits":71855,"ĠCavaliers":71856,".discount":71857,"âĨIJ":71858,"ĠWit":71859,"QRSTUV":71860,"Ġij":71861,"Ġtegen":71862,"Ġ:\",":71863,"difficulty":71864,"punkt":71865,"ĠEmails":71866,"chlor":71867,"(fun":71868,".Uint":71869,"ĠStall":71870,"_verified":71871,"uD":71872,"FileType":71873,"Ġpleasures":71874,"Ġjudiciary":71875,"Ġsham":71876,"ipur":71877,"_PLUS":71878,"offers":71879,"(foo":71880,"_GT":71881,"ĉcore":71882,"ENTION":71883,"ĠLiberation":71884,"CommandLine":71885,"_department":71886,".Ar":71887,"_neighbor":71888,"ĠSubmitted":71889,"ĠĊ":96121,"Ġdroits":96122,"Ġhomosexuals":96123,"Ġabduction":96124,"ĉwidget":96125,"$headers":96126,"ĠDAR":96127,"Ġfla":96128,"threat":96129,"Ġlouis":96130,".GetProperty":96131,"\"Just":96132,"(frames":96133,"ryo":96134,"profession":96135,"|i":96136,"íķ´ìĦľ":96137,"(sv":96138,"Ġunrecognized":96139,"Ionic":96140,"Fashion":96141,"ScreenState":96142,"ĠIncoming":96143,"NotNil":96144,"Ġsyncing":96145,"emie":96146,"Ġthermo":96147,"_procs":96148,"Ġinconsistency":96149,"religious":96150,".mj":96151,"Ġpersonn":96152,"Ġmomentos":96153,"orarily":96154,"ĠæĬ":96155,"_neurons":96156,"Illustr":96157,"imoto":96158,"ilik":96159,"ĠWoj":96160,"Trading":96161,"Ġappare":96162,"Ġentreprises":96163,"achat":96164,"Ġ¬":96165,"Ġneigh":96166,"BUTTONDOWN":96167,"ĠMaher":96168,"aghan":96169,"-hash":96170,"\"f":96171,"Ġclientele":96172,".addButton":96173,"ĉSP":96174,"Qi":96175,"Ġgrated":96176,"POSITE":96177,":>":96178,"ĠHowell":96179,"ĠComparative":96180,"ĠISC":96181,"ÂŃi":96182,"Ocean":96183,"Davis":96184,"ĠFilme":96185,"Wins":96186,"ĠJIT":96187,"occer":96188,"ĠCorm":96189,"ENCHMARK":96190,"rchive":96191,"icação":96192,"Ġmata":96193,"Ġchildbirth":96194,"ĠOptionally":96195,"Ens":96196,"Ġxhttp":96197,"Ġelucid":96198,"_OscInitStruct":96199,"))):Ċ":96200,"Ġintuit":96201,"ĠDonate":96202,"Ġcorrelates":96203,">Delete":96204,"Ġequipe":96205,"Ġboca":96206,"Ġinflatable":96207,"erah":96208,"ĠDateTimeKind":96209,"Ġcalves":96210,"\\Lib":96211,"Ġemlrt":96212,"ĠTrilogy":96213,"ĠPanc":96214,"ĠDuis":96215,"ĠpelÃŃcula":96216,"WARDS":96217,"_DETECT":96218,"-sectional":96219,"dhcp":96220,"ForRow":96221,"-destruct":96222,"ĠPresenter":96223,"/slick":96224,",on":96225,"ĠCitadel":96226,"loggedin":96227,"_subtype":96228,"Ġsigue":96229,"Ġcuring":96230,"ĠFirewall":96231,"Ġfluorescence":96232,"ĠItalians":96233,"иÑĤÑģÑı":96234,".getStyle":96235,"InSeconds":96236,"jie":96237,"-Smith":96238,"Ġxlink":96239,"Ġsubmissive":96240,"онÑĤ":96241,"arbonate":96242,"ĠFaul":96243,"_goals":96244,"ĠCommissioners":96245,"chartInstance":96246,"_POSTFIELDS":96247,"Ġmedial":96248,"Ġmanos":96249,"Ġdelt":96250,"svm":96251,".Apis":96252,"ephy":96253,"Ġasympt":96254,"ĠappDelegate":96255,"Ġimprobable":96256,"cka":96257,"simd":96258,"/Error":96259,".âĢĵ":96260,"ĠPTS":96261,"deer":96262,"Ġsina":96263,"magnitude":96264,"IDADE":96265,"']}'":96266,"Ġmayores":96267,"ĉcomment":96268,"/console":96269,"\"@":96270,"volt":96271,".sell":96272,"ĠMacy":96273,"Ġmelod":96274,"Ġimágenes":96275,"_chg":96276,"Ġinout":96277,"idente":96278,")'),Ċ":96279,"dni":96280,".blob":96281,"Ġtypography":96282,"Ġeerie":96283,"_OID":96284,"pesan":96285,"ajan":96286,"Ġchopping":96287,"Ġbluff":96288,"adf":96289,"_bases":96290,".Formatter":96291,"Ġ\\%":96292,"ĠPageInfo":96293,"Carrier":96294,"ĠCalibration":96295,"como":96296,"-bodied":96297,"Ġfinancier":96298,"ĠINA":96299,".ERR":96300,"Ġhoodie":96301,"ĠSanity":96302,"guarded":96303,".opendaylight":96304,"ISMATCH":96305,"Highlights":96306,"ünk":96307,"aniem":96308,"angered":96309,"assignments":96310,"Ġregistrado":96311,"ĠUPPER":96312,"ampilkan":96313,"ashire":96314,"ĠNikola":96315,"ĠCFL":96316,"ĠHDC":96317,"Ġpoids":96318,"ĠIPs":96319,"Ġpreventative":96320,"ipsoid":96321,"ifix":96322,".camel":96323,".ga":96324,"Volumes":96325,"-ste":96326,"Yahoo":96327,"_sibling":96328,"Highest":96329,"optgroup":96330,"Ġkvinna":96331,"âĢĿãĢĤĊĊ":96332,"ĠAppliances":96333,"Ġ\"><":96334,"')\")Ċ":96335,"htt":96336,"ĠIdentified":96337,"Ġpencils":96338,"ĠmemberId":96339,"ĠappendString":96340,".loadData":96341,"ĠmockMvc":96342,"Ġjub":96343,"ĠSlut":96344,"ĠTaipei":96345,"statt":96346,"Polit":96347,"Ġpartager":96348,"DidChange":96349,"Increases":96350,")}.":96351,"ĠBaba":96352,"_CLIP":96353,"[unit":96354,"ĠклÑİÑĩ":96355,"Ġalcuni":96356,"ĠLola":96357,"Ġclinging":96358,"@PostMapping":96359,"(concat":96360,"Ġssid":96361,"ĠFauc":96362,"okit":96363,"ĠRecorded":96364,"ález":96365,"($('<":96366,".assertIsNot":96367,"Ġkali":96368,"Volt":96369,"Ġwarmly":96370,"Ġscares":96371,"getti":96372,"führt":96373,"_does":96374,".EMAIL":96375,"imations":96376,"Ġspringfox":96377,"ĠDecom":96378,"arcy":96379,"Ġglitches":96380,"ĠMoff":96381,"ĠVoll":96382,".between":96383,"Ġcoorden":96384,"ĠParticularly":96385,"GBP":96386,"Ġsemble":96387,"Eastern":96388,"_MSB":96389,"]){čĊ":96390,"morgan":96391,"ĠEVAL":96392,"dere":96393,"HOUSE":96394,"moire":96395,"istique":96396,"_lstm":96397,"-commit":96398,"ysterious":96399,"Ġtwink":96400,"-thumbnails":96401,"enÃŃ":96402,":'',":96403,"Ġblackout":96404,"ĠFloors":96405,"Ġsofas":96406,"Ġoui":96407,"leshoot":96408,"ĠRaq":96409,"-abs":96410,"Ġkra":96411,"Mining":96412,"shaft":96413,".setColumns":96414,"Clazz":96415,"PRETTY":96416,".playlist":96417,"éĸ¢":96418,"-Saharan":96419,"MING":96420,"ĉbl":96421,"è®®":96422,"jf":96423,"DOCKER":96424,"hopefully":96425,"(ignore":96426,"ĠUsersController":96427,"ĠMitarbeiter":96428,"ĠLES":96429,"Hamilton":96430,"-metadata":96431,"ĠKK":96432,"iktig":96433,"Ġwollte":96434,"egrator":96435,"]bool":96436,",current":96437,"ĠvalueType":96438,"Ġexcavation":96439,"oland":96440,"Ġverv":96441,"/filepath":96442,"AuthProvider":96443,"Ġprocrast":96444,"ĉULONG":96445,"_MEMBERS":96446,"Ġuplift":96447,"ĠAutonomous":96448,"Ġartworks":96449,"ĠOutreach":96450,"Ġpore":96451,"Homepage":96452,"DialogTitle":96453,"ĠGenerating":96454,"PARSE":96455,"Ġsemanas":96456,"Ġhumano":96457,"JSGlobalScope":96458,"Ġvolte":96459,"Ġbella":96460,"(isinstance":96461,"Ġplc":96462,"\\Catalog":96463,"Ġesteemed":96464,"鼷":96465,"(suffix":96466,"Ġsweeps":96467,"ĉORDER":96468,"Ġdoivent":96469,"ĠSwarm":96470,"ĠCompiled":96471,"getPage":96472,"ADR":96473,".RichTextBox":96474,"ĠNaming":96475,"agged":96476,"ĠGANG":96477,"rasing":96478,"odeled":96479,"Ġgala":96480,"ĠJSName":96481,"ddf":96482,"Ġillust":96483,"ĠLansing":96484,"[port":96485,"-death":96486,"Ġdinheiro":96487,"ĠEighth":96488,"Ġbian":96489,"stÃ¥":96490,"Ġversión":96491,"ĠLinearGradient":96492,"ĠHarding":96493,".*)":96494,"eczy":96495,"$header":96496,"ĠvÃ¥r":96497,"Unchecked":96498,"Ġkoje":96499,"ĠPaladin":96500,"())),":96501,"Giving":96502,"()})Ċ":96503,"Ġdips":96504,"Friendly":96505,"Ġportrays":96506,"Ġhelium":96507,"Ġinsurgency":96508,"_expiry":96509,"ĠstringByAppendingString":96510,"Ġaantal":96511,"slope":96512,"mast":96513,".getInteger":96514,"Ġ########################":96515,"_PIPELINE":96516,"Ġdensely":96517,"Ġmutating":96518,"midi":96519,"ĠSeit":96520,"ayne":96521,"NOWLED":96522,"ĠDesmond":96523,"ĠFName":96524,"ĠNairobi":96525,"\\Context":96526,"Ġcalcular":96527,"-den":96528,"Ġcott":96529,"]):čĊ":96530,"ĠRecommendation":96531,"ĠRolex":96532,"ĠvalidationResult":96533,".pat":96534,"ĠnÃły":96535,"ĠRestClient":96536,"ĠGPI":96537,"ĠAsheville":96538,"ĠOSP":96539,"ĠPERMISSION":96540,"ÐĶаÑĤа":96541,"/notification":96542,"Knight":96543,"_Word":96544,"ĠBender":96545,"ranking":96546,"Ġpartida":96547,"_reservation":96548,"ÌĢ":96549,"ĠmName":96550,"Ġgetch":96551,"Ġborr":96552,"Ġdiligent":96553,"Discuss":96554,"æŃ£åľ¨":96555,"apeake":96556,"ioned":96557,"-Nazi":96558,".cum":96559,"ĠKron":96560,"=$('#":96561,"/single":96562,"Ġerotisch":96563,"ĠVib":96564,"Ġratified":96565,"Ġconcerted":96566,"ĠREGARD":96567,"Ġdobr":96568,".DriverManager":96569,"'r":96570,"Portable":96571,"ĉsuite":96572,"Ġrelaciones":96573,"ĠDop":96574,"emploi":96575,"DOB":96576,"Ġcrumbs":96577,"Ġxls":96578,"_Application":96579,"(':',":96580,"Ġ------------------------------------------------------------------------Ċ":96581,"mse":96582,"Ġberk":96583,"ĠReturnValue":96584,"ĠBelly":96585,"Ġcamar":96586,"ĠPeek":96587,"elsing":96588,"Ġnotifies":96589,"ĠTristan":96590,"ĠGAR":96591,"emme":96592,"ĠElevated":96593,"_CSV":96594,"(chalk":96595,"Ġtwenties":96596,"ĠSearchResult":96597,"=search":96598,"ĠMixing":96599,"ýt":96600,"Ġrecruiter":96601,"ĠIDEOGRAPH":96602,"ĠAgo":96603,"(Operation":96604,"$values":96605,"Ġworldly":96606,"ĠRosenberg":96607,"ĠConfigureServices":96608,">*Ċ":96705,"Ġsnork":96706,"_opacity":96707,"ĠinitWithNibName":96708,"iado":96709,"AAC":96710,"Ġ]).":96711,";z":96712,"_paragraph":96713,"Ġnoses":96714,"stands":96715,"ifr":96716,"_mE":96717,"Iraq":96718,".Predicate":96719,"enaire":96720,"]]];Ċ":96721,"Ġunidad":96722,"Ġretirees":96723,"_hello":96724,"Ġmodele":96725,"ĠUITableViewController":96726,"fwrite":96727,"_numero":96728,"_visited":96729,"Ġrecebe":96730,"(Notification":96731,"Fantastic":96732,"_submenu":96733,"ĠPEM":96734,"ĠCupertino":96735,"approximately":96736,"classed":96737,".ReadString":96738,"Ġdomicile":96739,"_PW":96740,"Ġballpark":96741,"ĠKale":96742,"contra":96743,"_favorite":96744,"/of":96745,"Quite":96746,"ĠOTA":96747,"Ġaccelerometer":96748,"didn":96749,"|^":96750,"ĠRohingya":96751,"ivicrm":96752,"annabin":96753,"обÑĭÑĤи":96754,"orado":96755,"')+":96756,"Haunted":96757,",ID":96758,"(UIAlertAction":96759,"urv":96760,"_bel":96761,"ĠMexicans":96762,"/terms":96763,"ĠPainter":96764,"InputLabel":96765,"ĠVinci":96766,"ĠRosie":96767,"\\uc":96768,"":96929,"_gs":96930,"Ġcompil":96931,"nard":96932,"-exc":96933,"Ġrhyme":96934,"Ġbutto":96935,"says":96936,"antasy":96937,"ë¸":96938,"ĠcittÃł":96939,"Ġcheg":96940,"TimeString":96941,"Ġpositivity":96942,"ĠDabei":96943,"Ġwang":96944,"Ġescre":96945,"\"c":96946,"ĉvideo":96947,"ĠRanked":96948,".strings":96949,">>>(":96950,"ĠинÑĤеÑĢ":96951,"Ġresta":96952,"[:,:":96953,"Ġrendre":96954,"Ġdeser":96955,"Jos":96956,"Ġdisruptions":96957,"ĠопеÑĢ":96958,"sampling":96959,"suppress":96960,"ĠcontainerView":96961,"ĠSeamless":96962,"Ġairy":96963,"Ġonload":96964,".WindowManager":96965,"ĠPLA":96966,"braco":96967,".setPositiveButton":96968,"Ġpdu":96969,"Ġgsi":96970,"ĠCli":96971,"_gradients":96972,"Ñıд":96973,"ĠWhisper":96974,"cstdint":96975,"Ġläng":96976,"Ġformulations":96977,"énom":96978,"ournemouth":96979,"[$_":96980,"Ġordinarily":96981,".setUsername":96982,"Ġfaculties":96983,"MITTED":96984,"/values":96985,"Ġweir":96986,"ĠApt":96987,"MZ":96988,"ĉcf":96989,"ucken":96990,"ĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉ":96991,"defense":96992,"[iVar":96993,"ĠBusinessException":96994,"Selectors":96995,"(coordinates":96996,"ĠResets":96997,"ĠDrinks":96998,"oleans":96999,"(stypy":97000,"_IOC":97001,".xxx":97002,"ĠSlater":97003,"ĠBelize":97004,"Ġ/************************************************************************":97005,"addin":97006,"_episodes":97007,"Ġischem":97008,"legalArgumentException":97009,"Danny":97010,"Ġpared":97011,".codehaus":97012,"ĠAssy":97013,"ĉRect":97014,"âŀ":97015,".lista":97016,"ĠваÑĪ":97017,"Ġvets":97018,"HWND":97019,"isoner":97020,"Ġxo":97021,"Ġorally":97022,"ĠStmt":97023,".rnn":97024,"ĠDPI":97025,"ĠStrikes":97026,".setViewportView":97027,"ĠèĩªåĬ¨çĶŁæĪIJ":97028,"YELLOW":97029,"GLenum":97030,"partners":97031,"ĠImplicit":97032,"Ġtako":97033,"âĢĻelle":97034,"Ġermög":97035,"totalCount":97036,"Gil":97037,"ĉwork":97038,"Ġpratic":97039,"inati":97040,"abies":97041,"ĠSkinner":97042,"Ġspirited":97043,"Ġpancreatic":97044,"Ġhdf":97045,"'em":97046,"Ġpsychosis":97047,"olicit":97048,"Ġ\"{\"":97049,"_atual":97050,"Ġélect":97051,"TEAM":97052,"Ġdak":97053,"ĠSWAT":97054,".FragmentManager":97055,"Ġprovisioning":97056,"lifetime":97057,"_EXTENSIONS":97058,"ĠCASCADE":97059,"Ġ![":97060,"(KP":97061,"Ġvem":97062,"ĠInterracial":97063,"']},Ċ":97064,"spacer":97065,"_kv":97066,"Warehouse":97067,"RDD":97068,"_fsm":97069,".StretchImage":97070,",Yes":97071,"ĠRefugee":97072,"ĠBringing":97073,"Ġválido":97074,".intersection":97075,"Ġspooky":97076,"_portal":97077,"Ġmoth":97078,"ĠZodiac":97079,"ĠSOCIAL":97080,"MimeType":97081,"']}}":97200,"_Blue":97201,"Ġbotanical":97202,"Ġfrags":97203,"Ġfamilial":97204,"-du":97205,"Ġseizing":97206,"(blocks":97207,".rd":97208,".checkNotNull":97209,"Ġmiser":97210,"Ġmaxx":97211,"ĠKnee":97212,"ViewItem":97213,"InnerHTML":97214,"Danger":97215,"((__":97216,"Ġprzypad":97217,"createUrl":97218,"**,":97219,"ĠDecorating":97220,"ATEGY":97221,"?>/":97222,".Designer":97223,"hexdigest":97224,"ĠEverywhere":97225,"alleries":97226,".TEXTURE":97227,".Blocks":97228,"zell":97229,"Ġpreço":97230,"Suddenly":97231,"inputEmail":97232,"(sync":97233,".bd":97234,"golden":97235,">');":97236,"ĠDickinson":97237,">>(Ċ":97238,"ĠQUEUE":97239,"ĠgetColumn":97240,"ĠSAND":97241,".piece":97242,"licer":97243,"Flutter":97244,"ĠgetVersion":97245,"ĠresourceId":97246,"ogl":97247,"ÅĤaw":97248,".Branch":97249,"ĉweb":97250,"Ġframerate":97251,"PPP":97252,"Ġfray":97253,"CNT":97254,"Ġinformatie":97255,"']čĊčĊ":97256,"neas":97257,"HeaderCode":97258,"Ġæ¸":97259,"Ġtrg":97260,"rawtypes":97261,"Honda":97262,"Ġmarketer":97263,"ĠrequestData":97264,"ĠPg":97265,"ĉnot":97266,"ĠpageInfo":97267,"Ġaktuellen":97268,"ãģķãĤĵ":97269,"ĠAMS":97270,"pushViewController":97271,"ĉAL":97272,"Ġvests":97273,"produce":97274,"-même":97275,"ĠRahman":97276,"Funny":97277,"EZ":97278,"_Valid":97279,"Ġsquadron":97280,"Ġlash":97281,"Ġirm":97282,"iasco":97283,"ĠParan":97284,"Ġpetites":97285,"ĠDecay":97286,"Ġuninitialized":97287,"privileged":97288,"Ġmbedtls":97289,"å¤ĩ注":97290,"Ġ^.":97291,"Ġecstatic":97292,"Detroit":97293,"Ġparten":97294,"Ġsouvenir":97295,".getLogin":97296,"моÑĤÑĢ":97297,"enção":97298,"ĠmÃŃnimo":97299,"ĠAccessed":97300,"rió":97301,"Mic":97302,"ĠVocal":97303,".SetString":97304,"Ġmensajes":97305,"åĢį":97306,"Ġattravers":97307,"ĠAph":97308,"Ġ');čĊ":97309,"ünde":97310,"Ġenchanted":97311,"ĠRootState":97312,"ĠCLOSED":97313,"ĉĉĉĉĉĉĉĉčĊ":97314,"Ġcaliente":97315,"orris":97316,"Ġphysicists":97317,"hwnd":97318,"_vi":97319,"Ġrápido":97320,"Ġcapitalized":97321,"edBy":97322,"Ġmachining":97323,"Ġhubby":97324,"ĠStacy":97325,".Bus":97326,"drink":97327,"Hur":97328,"Ġpropia":97329,"UnitTest":97330,"Ġmisconception":97331,"__));Ċ":97332,"/dc":97333,"ĠMayweather":97334,"_mC":97335,".createFrom":97336,"ĠQPainter":97337,"ropsych":97338,"innitus":97339,"ayas":97340,"Ġgeg":97341,"(dw":97342,"Ġusado":97343,"Ġtrickle":97344,"Ġannihil":97345,"ĠPasta":97346,"Ġ++Ċ":97347,"(ExpectedConditions":97348,".postValue":97349,"icap":97350,"ĠDonetsk":97351,"_soup":97352,"-publish":97353,"ĠPb":97354,"mentions":97355,"ACCEPT":97356,".Pull":97357,",âĢĻâĢĻ":97358,"Ġretarded":97359,"_ATOM":97360,"ĠTerminator":97361,"-court":97362,"ĠCLLocationCoordinate":97363,"Ġreverence":97364,"ĠSSC":97365,"utely":97366,"ĠWON":97367,"ĠGSL":97368,"frei":97369,".getLongitude":97370,"ĠopenFileDialog":97371,".Butter":97372,"-important":97373,"_MANY":97374,"ĠGong":97375,"âĢľHow":97376,"Ġgorge":97377,"=msg":97378,"ĠEzek":97379,"createCommand":97380,":checked":97381,"Ġinfographic":97382,".WEST":97383,"Dirs":97384,"Ġguarda":97385,"Ġbeetle":97386,"Loading":97460,"_mA":97461,".getRandom":97462,"blings":97463,"Ġcheeses":97464,"tti":97465,".âĢ¢":97466,"ĠBurgess":97467,"enderit":97468,".',čĊ":97469,"(\"\"+":97470,"acb":97471,"%p":97472,"indexed":97473,"_predicate":97474,"nesia":97475,"Ġbied":97476,"ĠCIT":97477,"(Pos":97478,"_radi":97479,"ä»·æł¼":97480,"Biz":97481,"ĠAdolescent":97482,"Ġviên":97483,"cycl":97484,"_Cancel":97485,"Ġconclusive":97486,"Ġappellate":97487,"informatics":97488,"SJ":97489,"Ġelective":97490,"roleId":97491,"Fetcher":97492,"ĉCommand":97493,"(\"(%":97494,"Ġfart":97495,"ILA":97496,"getBlock":97497,"AUSE":97498,"Ġдан":97499,"ĠArte":97500,"Ġnotifying":97501,"Ġgele":97502,".same":97503,"ĠRegel":97504,"ĠBaÅŁ":97505,".creation":97506,"ĠVN":97507,"_community":97508,"Ġunsustainable":97509,"SEX":97510,"ĠgridSize":97511,"rescia":97512,"aversable":97513,"(',')[":97514,"ĠPhelps":97515,"á»ķi":97516,"ANCELED":97517,"-IS":97518,".runners":97519,"ĠStokes":97520,".Produ":97521,"Ġwhipping":97522,"_acquire":97523,"Ġinvestigación":97524,"fried":97525,".copyWith":97526,"ĠHardcover":97527,"-Se":97528,"áŀ¶áŀ":97529,"invitation":97530,"lesai":97531,"ĠDorm":97532,"ĠÑģпиÑģка":97533,"Ġconcatenated":97534,"ophil":97535,"Ġthinker":97536,"/fontawesome":97537,"ĠLeopard":97538,"Ġ\"/\");Ċ":97539,"Ġresiduals":97540,"ĠMicrowave":97541,"Ġconforme":97542,"throp":97543,"Ġdisemb":97544,"ĠOMG":97545,"ĠDiscipline":97546,"ĠAcrobat":97547,"/repository":97548,"dfa":97549,"_MED":97550,"bufio":97551,"Ġméthode":97552,"_HOLD":97553,"iasi":97554,"_legacy":97555,")ččĊ":97556,"æ£Ģ":97557,"GetProcAddress":97558,"Ġyay":97559,"otence":97560,"orderid":97561,"-tw":97562,"Ġdearly":97563,"Incoming":97564,"/il":97565,"Ġneurop":97566,"ucz":97567,");čččĊ":97568,"ĠInnovative":97569,"Ġprofund":97570,"igmat":97571,"SelectionMode":97572,"relevant":97573,".GO":97574,"Ġbruises":97575,"Ġsach":97576,"odef":97577,"Ġreimb":97578,"/desktop":97579,"-spot":97580,"undance":97581,"Entropy":97582,"\\core":97583,"Ġsuger":97584,"ĠMvc":97585,"ĠGNOME":97586,"_indx":97587,"ĠYYSTYPE":97588,"ĠMatlab":97589,"ĠCIF":97590,"Ġ*))":97591,"ĠproductList":97592,"ĠAlright":97593,"acemark":97594,"ÑĤив":97595,"modification":97596,"international":97597,"Ġhomers":97598,"Ġdicts":97599,"ĠQFont":97600,".SQLite":97601,"Ġtransplantation":97602,"ĠMessageBoxButton":97603,"ĠElves":97604,"']])Ċ":97605,"(QIcon":97606,"Ġcinemas":97607,"COORD":97608,"-China":97609,"Ġkhẩu":97610,"æĪijçļĦ":97611,"Ġskulls":97612,"Ġpainstaking":97613,"fce":97614,".XRLabel":97615,"Ġspecifier":97616,"Ġpreferring":97617,"/activity":97618,"(Photo":97619,"ált":97620,".lot":97621,"''.":97622,"annonce":97623,".googlecode":97624,"-pdf":97625,"ĠPoke":97626,"_ACL":97627,"Ġendowed":97628,"discover":97629,".omg":97630,"Ġwoodland":97631,".Magic":97632,"Ġvolont":97633,"NotAllowed":97634,"Ġchave":97635,"BMW":97636,"','=',":97637,"ĠSIX":97638,"æĪij们":97639,"Ġkosher":97640,"Ġaspiration":97641,"intl":97642,"_refptr":97643,"'+Ċ":97644,"mentor":97645,".club":97646,"WindowState":97647,".ARR":97648,"Ġzza":97649,"ĠmessageType":97650,".equ":97651,"Thor":97652,"Ġinjust":97653,"Ġgums":97654,"ĠborderSide":97655,"/////":97656,"ĠTransmit":97657,"Ġbufsize":97658,"Ġhak":97659,"Ġellas":97660,"RANDOM":97661,"ĉmc":97662,"Ġpea":97663,"eko":97664,"documento":97665,"Ġhysteria":97666,"Ġarenas":97667,"Ġgunmen":97668,"Ġmike":97669,"Ġimpunity":97670,"atisation":97671,"_Zero":97672,"_COMPANY":97673,"ĠGors":97674,"ĠuseClass":97675,"(redis":97676,"ĠRUNNING":97677,"ĠBair":97678,"velte":97679,"Ġ','.":97680,"аÑĤÑĮÑģÑı":97681,"öst":97682,"encodeURIComponent":97683,"_restrict":97684,"Ġdecals":97685,"ĠPedido":97686,"Ġaltercation":97687,"Displays":97688,"ĠApplicants":97689,"CUS":97690,"Textarea":97691,"ĠAngola":97692,".future":97693,"ĠUSHORT":97694,"Ġsuppressing":97695,"Ġsetzen":97696,"APolynomial":97697,"Ġtoch":97698,"Ġhallmark":97699,"Ġ$$$":97700,"ĠCHARSET":97701,".rpm":97702,"ĠDich":97703,"--------------------":97704,"_parm":97705,"è¿ĺ":97706,"acciones":97707,"hait":97708,"WARDED":97709,"_routing":97710,"ĠNOM":97711,"Ġenclave":97712,"ĠLotto":97713,"ĉfr":97714,"complexContent":97715,"ĠBallard":97716,"kube":97717,"/win":97718,".getColumnModel":97719,"_REPLACE":97720,"HeaderValue":97721,"Ġestudiantes":97722,"Ġapis":97723,"Ġbpm":97724,"ĠTypeName":97725,"AndGet":97726,"rita":97727,"Plans":97728,">Note":97729,"Ġfetisch":97730,"Ġtoned":97731,"_goto":97732,"onsense":97733,"Ġmolds":97734,"Ġinfiltration":97735,"ĠGuerrero":97736,"ubbo":97737,"cki":97738,"($(\".":97739,"_activities":97740,"(changes":97741,"ĠofApp":97742,"ĠKepler":97743,"ĠDemp":97744,"ĠContinent":97745,".Ticks":97746,"ĠUnsigned":97747,"ĠJahres":97748,"Ġfreshmen":97749,"ĠArchived":97750,"ĠкоÑĤоÑĢÑĭй":97751,"Ġ'::":97752,"Tutorial":97753,"Cc":97754,"ĠtableLayoutPanel":97755,"fromJson":97756,".levels":97757,"_transient":97758,"Ġendorsing":97759,"ĠDIC":97760,"lauf":97761,"Ġshred":97762,"_EMIT":97763,"ificantly":97764,"ALA":97765,"/proto":97766,"Ġnarrowing":97767,"Utc":97768,"Factors":97769,"Ġsentient":97770,"æŀIJ":97771,"lixir":97772,"ĠCROSS":97773,"meteor":97774,"Ġgroin":97775,"Ġmdb":97776,"ĠRotterdam":97777,"Ġcomida":97778,"ĠOpCode":97779,"ĠDefaultValue":97780,"PermissionsResult":97781,"Ġheterogeneous":97782,"Ġmoot":97783,"Ġdeceived":97784,"-independent":97785,"ĠObjectOutputStream":97786,"Ġoverpower":97787,".dup":97788,"Ġldb":97789,"Ġdomestically":97790,"Ġbestellen":97791,"Ġlov":97792,"ĠContractors":97793,"Triangles":97794,"Ġfodder":97795,"Ġfilmes":97796,"ä¼ģ":97797,"Ġrevolver":97798,"StartupScript":97799,"/validation":97800,"ĠResourceType":97801,"iÅŁ":97802,"ĠLaz":97803,"fef":97804,"Ġlstm":97805,"{*":97806,".attachment":97807,".hits":97808,"ewith":97809,"DOG":97810,"Alabama":97811,"Ġmediums":97812,".mContext":97813,"-cols":97814,"åıĭ":97815,".notice":97816,"Ġattn":97817,"ĠPacking":97818,"ĠLn":97819,"_COMPLEX":97820,"/Users":97821,".savetxt":97822,"ĠRounds":97823,"?,?,?,?,":97824,"Ġingl":97825,"ĠROC":97826,"_female":97827,"ĠStard":97828,"]];":97829,"Ġwrestlers":97830,"Ġtorrents":97831,"Ġsinh":97832,"ĊĊ":97833,"ë³µ":97834,"sense":97835,"however":97836,".Physics":97837,"Infrastructure":97838,"ĠSacr":97839,"Fel":97840,"ĠDISTRIBUT":97841,"éments":97842,"ĠValidates":97843,"############################################################":97844,"Ġ|/":97845,"Ġesl":97846,"Ġréseau":97847,"ĠBip":97848,"BYTES":97849,"_WATER":97850,"Turning":97851,"ELS":97852,"Ġjuxtap":97853,"Ġlesbische":97854,"ých":97855,"(Unknown":97856,"Neo":97857,"@JsonProperty":97858,"Ġalumnos":97859,"ĠRaqqa":97860,"imei":97861,".getBounds":97862,".MouseEventHandler":97863,"#######":97864,"GenericType":97865,"/cms":97866,"Ġturno":97867,"Ġмин":97868,"Ġfolklore":97869,"ĠEvo":97870,"Ġconductivity":97871,"Ġleben":97872,"Ġgearbox":97873,"-vs":97874,"ĠÏĨ":97875,"Ġdrinkers":97876,"Ġconexao":97877,"ĠTeeth":97878,"ĠgetArguments":97879,"ĠRAT":97880,"entious":97881,"Educ":97882,"+W":97883,"ĠInstitutional":97884,"ĠBord":97885,"isEqual":97886,"(pwd":97887,"Ġignited":97888,"ĠRousse":97889,"Ġimpactful":97890,"ĠMalk":97891,"Ġgeral":97892,"ĠPivot":97893,"Ġazt":97894,"Ġcsvfile":97895,"ĠRope":97896,"ĠSOLUTION":97897,"ĠArbitrary":97898,"Ġletto":97899,".MouseAdapter":97900,"Ġ}}}":97901,"ĠSailor":97902,"dera":97903,"Putting":97904,"Ġconcentrates":97905,"ĠauthDomain":97906,"âĢĿçļĦ":97907,"-finals":97908,",strlen":97909,"Muon":97910,"ĠOrdinary":97911,"firefox":97912,"ĠLaTeX":97913,"ĠHund":97914,"engineering":97915,"/blue":97916,"edTextBox":97917,"(\"\");":97918,"ĠCDDL":97919,"kept":97920,"ĠGetString":97921,"Kir":97922,"()='":97923,"ĠOCD":97924,"antium":97925,"$menu":97926,"ĠAppalachian":97927,"Secretary":97928,"ë¥ĺ":97929,"ีย":97930,"Semantic":97931,"Ġ*[":97932,"estone":97933,"ungkin":97934,"MaxY":97935,"-tone":97936,"\"};čĊ":97937,"_Part":97938,"ĊĊ":98140,"Lic":98141,"ĠMirage":98142,"ĠAssemblyFileVersion":98143,"TeV":98144,"ĠValueEventListener":98145,"-solving":98146,"Tho":98147,"roulette":98148,"_WP":98149,"Ġuninterrupted":98150,"ĠfieldType":98151,".Typed":98152,"Ġamour":98153,"Ġmockery":98154,"(vol":98155,"ĠSubcommittee":98156,"ĠRuf":98157,"erox":98158,":UIButtonTypeCustom":98159,"ĠBlur":98160,"Ġwykon":98161,"nces":98162,"ASHBOARD":98163,"!!\");Ċ":98164,"Ġmurderers":98165,".daily":98166,"ĠDIAG":98167,"jing":98168,"Ġdolphin":98169,"Ġlòng":98170,"Ġbö":98171,"ĠVocabulary":98172,".StObject":98173,"')\">":98174,"Ġzun":98175,"Ġscrimmage":98176,"tréal":98177,"ĠLig":98178,"[vi":98179,"Cole":98180,"Ġfrosting":98181,".Players":98182,"-translate":98183,"Feels":98184,"=\\\"/":98185,".ButterKnife":98186,"Ġ?>;Ċ":98187,"Ġavi":98188,"innie":98189,".Failure":98190,"Ġspindle":98191,"ConfigurationException":98192,"_hop":98193,"Ġposição":98194,"ĠAwait":98195,"UIImagePickerController":98196,"ĉday":98197,"Ġgenom":98198,"Cab":98199,"ĠÑĢезÑĥлÑĮÑĤаÑĤ":98200,"ORIGINAL":98201,"Ġejaculation":98202,"(tcp":98203,"SECOND":98204,"Ġtonic":98205,"ĠListBox":98206,"ĠĉĉĊ":98207,"()>Ċ":98208,"Ġquatre":98209,"ượng":98210,"withErrors":98211,".Maybe":98212,",â̦":98213,"tokenId":98214,"_UNDEF":98215,"Ġfreshness":98216,"ĠAmendments":98217,".mapbox":98218,".CV":98219,"(blog":98220,"_gettime":98221,".quest":98222,"sparse":98223,"Ġresale":98224,"Ġenthusiastically":98225,"ĠProstitutas":98226,"Wa":98227,"Cargo":98228,".Parcelable":98229,"SENSOR":98230,"ĠRyu":98231,"Laughs":98232,"_Native":98233,"/pg":98234,"ysts":98235,"Ġphotoc":98236,"ç®Ģ":98237,"adopt":98238,".species":98239,"conciliation":98240,"Adjusted":98241,".FirebaseAuth":98242,"uttle":98243,"ordination":98244,"Ġmunch":98245,"ĠStake":98246,".ping":98247,"anker":98248,"(QStringLiteral":98249,"Ġsubscript":98250,"ĠĠĉĊ":98251,"ĠMCC":98252,"_Cmd":98253,"sexy":98254,"iou":98255,"ĠMANY":98256,"Ġnanny":98257,"TRAIN":98258,"Ġflourishing":98259,"ĠWatches":98260,"ĠQMap":98261,"ĠFerm":98262,"Ġwasm":98263,"ĠAbed":98264,"_UD":98265,"ĠGlasses":98266,"+v":98267,"Attend":98268,".Chain":98269,"Ġdecency":98270,"ĠSupplementary":98271,"hunter":98272,"-txt":98273,"Ġ\"}\";Ċ":98274,".setWindowTitle":98275,"(\"":98377,"Ġmascara":98378,"(Profile":98379,"åĬŁèĥ½":98380,"imité":98381,"Ġwildfires":98382,"-ROM":98383,".isOn":98384,"(groupId":98385,"Repair":98386,"accumulate":98387,"Ġ<\",":98388,"Ġhandwritten":98389,"Ġacheter":98390,"ĠMGM":98391,"ĠIrma":98392,"->{_":98393,"gee":98394,"criminal":98395,"Ġèĭ¥è¦ģ":98396,"Ġmomentarily":98397,"\")!=":98398,"_lit":98399,"ĠexpiresIn":98400,".\").":98401,"éķ¿åº¦":98402,"Ġfrække":98403,"vlc":98404,"Ġorbs":98405,"),$":98406,"Ġventured":98407,"/>\\":98408,"charm":98409,"Nuitka":98410,"eldig":98411,"atonin":98412,"Witness":98413,"-lat":98414,"ĠsetHidden":98415,"Ġrelics":98416,"Ġconsulate":98417,".IGNORE":98418,"\"After":98419,"ĠsetAddress":98420,"Ġbesteht":98421,"Ġ'')ĊĊ":98422,".xaxis":98423,"Ġserão":98424,"Ġmisled":98425,"_UNIFORM":98426,"ĠVIA":98427,"incr":98428,"Ġzenith":98429,"Ġviscosity":98430,"Ġthinly":98431,".getSharedPreferences":98432,".ErrorCode":98433,"\"),\"":98434,"ĠMillionen":98435,"Ġ/>)Ċ":98436,"ScrollIndicator":98437,"-seeking":98438,"ĠPOLITICO":98439,"asca":98440,"_rl":98441,"Navig":98442,"(fullfile":98443,"Ġsolitude":98444,"Ġjuven":98445,"Ġhauling":98446,"ĠMacros":98447,"ĠGry":98448,"Ġexercitation":98449,"ĠATTACK":98450,"TickCount":98451,"Ġrites":98452,"Ġdoe":98453,"ParticleSystem":98454,"Ġslu":98455,"WindowText":98456,"ĠClassName":98457,"Ġslander":98458,"ĉPort":98459,"jong":98460,"?a":98461,".Dial":98462,"âĢĶat":98463,"$objPHPExcel":98464,"Ġsoar":98465,"ENN":98466,"appeared":98467,"Ġquotid":98468,"emachine":98469,"Ġnip":98470,"Ġmicrotime":98471,"ĠAlma":98472,";!":98473,"------------------------------------------------------------------------------------------------":98474,"ĠPassage":98475,"Ġdumpsters":98476,"ĠExclude":98477,"Ġsuggestive":98478,"ĠCircularProgressIndicator":98479,"_clr":98480,"ArrayType":98481,"ILLA":98482,"ElapsedTime":98483,"Driven":98484,"ĠresourceName":98485,"ĠGarrison":98486,"serir":98487,"-ahead":98488,"Ġpinnacle":98489,"ĠEspresso":98490,"Sparse":98491,"Ġassays":98492,"ĠGirlfriend":98493,"imid":98494,"]='\\":98495,"ONGLONG":98496,"Ġportraying":98497,"Lane":98498,"Ġbúsqueda":98499,"Ġreinforcements":98500,"ĠSpreadsheet":98501,"ĠArrayCollection":98502,",arr":98503,"lightbox":98504,"icana":98505,"<\"":98506,"builders":98507,"Kid":98508,"ĠMatSnackBar":98509,"EXPR":98510,"odcast":98511,"ĠFoundations":98512,"Ġinds":98513,"='${":98514,"Fizz":98515,"-functional":98516,"(workspace":98517,"Ġstemmed":98518,"_patches":98519,"ĠJarvis":98520,"READING":98521,"Ġdisrespectful":98522,"ĠQDom":98523,"Ġ${Ċ":98524,"estatus":98525,"Reached":98526,"!.ĊĊ":98527,"ILT":98528,"ĠNDEBUG":98529,"ĠCourage":98530,"birthdate":98531,"ĠTing":98532,"Ġutilizado":98533,"ánchez":98534,"Outdoor":98535,"Ġhandguns":98536,"RefCount":98537,"ÉĻ":98538,"romo":98539,"Ġtts":98540,".She":98541,"ĠPane":98542,"ãĢij,ãĢIJ":98543,"ĠIOCTL":98544,"/black":98545,"inscription":98546,"Ġbiopsy":98547,"ĠTimeInterval":98548,".TestCheck":98549,"ĠGUIStyle":98550,"ĠCapability":98551,"ĠBeitrag":98552,"donnees":98553,"Treatment":98554,".backup":98555,"Ġsignings":98556,"ĠBoca":98557,"drm":98558,".MAIN":98559,"Ġgoede":98560,"ĠMarkup":98561,"GREE":98562,"ĠBaseService":98563,".Creator":98564,"Ġjails":98565,"ĠKahn":98566,"IpAddress":98567,"ACHI":98568,"Ġinhibited":98569,"Ġ@$_":98570,"ĠAssass":98571,"Ġenviado":98572,"Heroes":98573,"ÐŁÐµÑĢ":98574,"ĠMaven":98575,".ls":98576,"Ġive":98577,"|RF":98578,"ĠresizeMode":98579,"Ġrumpe":98580,"_attachments":98581,"TU":98582,"Ġtactile":98583,"Attempting":98584,"Ġrobin":98585,"yaw":98586,"Ġmercenaries":98587,"ĠHabitat":98588,"enddate":98589,"Ġoxy":98590,"ĉRandom":98591,"ohon":98592,"IsNull":98593,"ĠValidationResult":98594,"ãĥļ":98595,"umbed":98596,"ppv":98597,"Ġarp":98598,"ichick":98599,"_rnn":98600,"ĠTFT":98601,"TexImage":98602,"\"On":98603,"ĠSampler":98604,"topl":98605,"Ġjane":98606,"yling":98607,"ĠUNICODE":98608,"TabIndex":98609,"<{Ċ":98610,"suspend":98611,"uvian":98612,",application":98613,"олиÑĩеÑģÑĤво":98614,"yat":98615,"ezier":98616,"ĠCHUNK":98617,"ĠAdler":98618,"/Add":98619,"ĠKeyValue":98620,"Ġsposób":98621,"Sampling":98622,"chers":98623,"_AMD":98624,"Ru":98625,".MustCompile":98626,"Nation":98627,"Assoc":98628,"Managing":98629,"ĠEngl":98630,"_GB":98631,"Ġsuccinct":98632,"Ġdisliked":98633,"ĠIke":98634,"Bulletin":98635,"_ARCHIVE":98636,"Proposal":98637,"Ġjogging":98638,".CREATED":98639,"Ġchol":98640,"è£ħ":98641,"Į¨":98642,"-push":98643,"Ġreserva":98644,"corev":98645,"ètre":98646,"THR":98647,"Ġincompetence":98648,"Ġcharisma":98649,"æĦŁ":98650,"Ġ\"==":98651,"BTN":98652,"ĠLocator":98653,"ivet":98654,"('.')Ċ":98655,"ĠforIndexPath":98656,"ôme":98657,"Ġcapacit":98658,"waters":98659,"ĠWRONG":98660,"hoa":98661,"ĠMIPS":98662,"Ġemiss":98663,"ĠJacqueline":98664,"(cmp":98665,"Ġeens":98666,"Leo":98667,".timing":98668,"CLUSION":98669,"Ġ(\"-":98670,"åĵĪ":98671,".kode":98672,"ĠUndert":98673,"Ġbewild":98674,"ĠEssen":98675,".hd":98676,"Ġrenegot":98677,"Ġmower":98678,"Ġlsp":98679,"Ġpenchant":98680,"Ġmanoe":98681,"Ġagli":98682,"Ġrecal":98683,"ĠOPERATION":98684,"(^)(":98685,"Ġν":98686,"ĠScoped":98687,"Ġ@\"Ċ":98688,"=label":98689,"[loc":98690,"Intl":98691,"ĠNz":98692,"tablet":98693,".ColumnName":98694,"ĠscreenSize":98695,"DBus":98696,"cooked":98697,"-registration":98698,"âĢľOne":98699,"-non":98700,"ĠwiÄĻc":98701,"Ġcosta":98702,".addTab":98703,".conditions":98704,"ĠHess":98705,"MEMORY":98706,"ĠAvalanche":98707,"()}}Ċ":98708,"Ġtriplet":98709,"Ġlabyrinth":98710,"ĠNodeList":98711,"ĠNYT":98712,"Ġyeni":98713,"dff":98714,".HtmlControls":98715,"AVIS":98716,"/Math":98717,"Ġmemcmp":98718,"اء":98719,"оÑģÑĮ":98720,"crap":98721,"(pages":98722,"Ġlxml":98723,"ĠQDateTime":98724,"_tcb":98725,"Ġopenid":98726,"Ġsynaptic":98727,"ĠMDMA":98728,"(slug":98729,"igmatic":98730,"enor":98731,"Ġcramped":98732,"GOP":98733,"ŃIJ":98734,".isFile":98735,"ĠDifferential":98736,"Ġ=\"\";Ċ":98737,"ĉĉĉĠĠĠĠĉ":98738,"ĠCooke":98739,"ĉUFUNCTION":98740,"Ġperseverance":98741,"RelativeLayout":98742,"IMPORTANT":98743,"Ġexon":98744,"Ġон":98745,"ibase":98746,"(CONT":98747,"novation":98748,"ä½ķ":98749,"[sub":98750,"AdminController":98751,"HTTPHeader":98752,"crear":98753,"ĠNIR":98754,"ĠDropDownList":98755,"Ġvalide":98756,"Ġdehydration":98757,".']":98758,"(WIN":98759,"Ġ...\\":98760,"Ġphotoshop":98761,"ĉInit":98762,"_cou":98763,"ĠtimeZone":98764,"darwin":98765,"romatic":98766,"NavigationItemSelectedListener":98767,"brates":98768,"]--;Ċ":98769,"Ġtragedies":98770,"ĠPediatrics":98771,"SMART":98772,"-API":98773,"ĠMessageLookup":98774,"ĉvo":98775,"Ġprejudices":98776,"ĠmA":98777,"Ups":98778,"ĠMISSING":98779,"ĉad":98780,"Cream":98781,"ĠTb":98782,"ĠMona":98783,"_ghost":98784,"ĉtypes":98785,"Emb":98786,"ĠDocumentary":98787,"');ĊĊĊĊ":98788,"Ġlup":98789,"_Reference":98790,"ĠBATCH":98791,"Ġintertwined":98792,"":98915,"Ġfoyer":98916,"'utilisation":98917,"ĠMüller":98918,"ĠFetish":98919,"ĠdefaultManager":98920,"Ġbacktrack":98921,"Bah":98922,"Explicit":98923,"_ASCII":98924,"ĠmActivity":98925,"(Msg":98926,"Ġê²Į":98927,"ĠTERMS":98928,"ĠAngie":98929,"HSV":98930,"ĠMosque":98931,".Names":98932,"íĬ¼":98933,"reste":98934,"_parms":98935,"Ġgaping":98936,"Ġcropping":98937,"DataFrame":98938,"Ġresponsiveness":98939,"_undo":98940,"_tran":98941,".terminate":98942,"Ġitaliane":98943,"Ġwalkthrough":98944,"Ġattractiveness":98945,"де":98946,"_STS":98947,"_learn":98948,"Ġchocolates":98949,"ierarchical":98950,"-thinking":98951,"Ġ)))":98952,"ishments":98953,".Logf":98954,"ĠTMZ":98955,"ĠCanary":98956,"foil":98957,"ĠVaccine":98958,".vx":98959,"ĠSurround":98960,"Intermediate":98961,"Ġiov":98962,"vais":98963,"';\";Ċ":98964,"ï½ŀĊĊ":98965,"éĢģæĸĻ":98966,"â̦it":98967,"Seats":98968,"Clar":98969,"Wars":98970,"ĠHutchinson":98971,"ĠHasan":98972,"!')ĊĊ":98973,"ĠRichie":98974,"cheiden":98975,"($('":98976,"York":98977,"Ġlids":98978,"Ġalphanumeric":98979,"ĠGlock":98980,".shapes":98981,"Ġsparking":98982,"_epsilon":98983,"uplicated":98984,".dirty":98985,"])==":98986,"ĠìľĦì¹ĺ":98987,"Ġscn":98988,"Ġ/****************************************************************":98989,"_PREVIEW":98990,"_HC":98991,"ielding":98992,"fgets":98993,"ĠAddison":98994,"ĠproductService":98995,"-figure":98996,"(retval":98997,"zano":98998,"Ġautob":98999,"ĉsd":99000,"_numer":99001,"ĠSetLastError":99002,"ĠFior":99003,"ificance":99004,"Untitled":99005,"Ġinfield":99006,"Ġ{}));Ċ":99007,"Ġspac":99008,"Ġrookies":99009,"(describing":99010,"ngen":99011,"ிà®":99012,".rdf":99013,".Mutex":99014,"Ġkneeling":99015,"ĠQE":99016,"setMax":99017,"ReadStream":99018,"Ġventas":99019,"sut":99020,"cmpeq":99021,".WriteAllText":99022,"ĠExperienced":99023,"$__":99024,"Ġkaum":99025,"ĠLIS":99026,"Ġdocumentos":99027,"_HEALTH":99028,"icontains":99029,"Ġartisans":99030,"OWNER":99031,"Ġblinked":99032,"getDisplay":99033,"Ġtoen":99034,"ĠrowNum":99035,"Ġavril":99036,"Ġinvis":99037,"ĠKear":99038,"toBeInTheDocument":99039,"apur":99040,"Ġracked":99041,"ĠMcMaster":99042,"_ATTRIB":99043,"Haz":99044,"Ġfactura":99045,"/ts":99046,"ĠÑĢазмеÑĢ":99047,"Ġzf":99048,"Ġshortfall":99049,".fasta":99050,"ĠCONSTANT":99051,".managed":99052,"gems":99053,"SharedPointer":99054,"Ġblurry":99055,"brightness":99056,"(components":99057,"Ġ...\"ĊĊ":99058,"SELL":99059,"ĠIllustrator":99060,".getChannel":99061,"Ġtrouvé":99062,"ysters":99063,"Ġvois":99064,"ĠLinden":99065,"Ġemojis":99066,"Ġbrawl":99067,"ĠMSR":99068,"ĠElo":99069,"ĠCroatian":99070,"PopupMenu":99071,"Lewis":99072,".JWT":99073,"Ġastonished":99074,"Bush":99075,"(itemId":99076,"Ġdetachment":99077,"ĠEncore":99078,"å°Ķ":99079,"Ġrekl":99080,"Ġcram":99081,")$/":99082,".getHost":99083,"_recommend":99084,"-HT":99085,"_calibration":99086,"Authenticate":99087,".firebaseapp":99088,"UNIX":99089,"ĉCamera":99090,"ĠHEAP":99091,"Ideal":99092,".office":99093,"Ġgoofy":99094,"(Symbol":99095,"Ġjouer":99096,"_partitions":99097,"Ġrapidement":99098,"ĠGNUNET":99099,"idUser":99100,"Ġsupervise":99101,"(Contact":99102,"AWN":99103,"ãģĺ":99104,"Ġnaam":99105,"Ġaust":99106,"åľ¨çº¿":99107,"_softmax":99108,"AllowAnonymous":99109,"ammable":99110,"ROUTE":99111,"*D":99112,"Ġaden":99113,"ĠCristina":99114,"ĠCristiano":99115,"Ġbloodstream":99116,"subclass":99117,"_persona":99118,"CHILD":99119,"-know":99120,"ĠnavigationOptions":99121,"ĠZukunft":99122,"ĠPixar":99123,"Tyler":99124,"Ġunderworld":99125,"Ġsincerity":99126,"Ġdispenser":99127,"Ġkter":99128,"idders":99129,".addNode":99130,"-checked":99131,"Ġkeyst":99132,"ĠWTO":99133,".signals":99134,"Ġadventurer":99135,"ĠPang":99136,"\\R":99137,"=pos":99138,"Ġdispensaries":99139,"ĠCloset":99140,"(\"{\\\"":99141,"ideon":99142,"Ġnécessaire":99143,"()\"Ċ":99144,"_RECEIVED":99145,"Ġrésultats":99146,"Ġmoden":99147,"ĠIcelandic":99148,";d":99149,".allowed":99150,"(newUser":99151,"Ġmerciless":99152,".WaitFor":99153,"Ġdaycare":99154,"ĠConveyor":99155,"çĸ":99156,"ð¬":99157,"çĥ":99158,"çĹ":99159,"çł":99160,"èĦ":99161,"é²":99162,"å¦":99163,"çĿĢ":99164,"å¾Ī":99165,"éħ":99166,"çĭ":99167,"éª":99168,"æĤ":99169,"é¥":99170,"èħ":99171,"æĥ³":99172,"å¨":99173,"é¹":99174,"çĤ":99175,"åĴ":99176,"çĮ":99177,"è´¨":99178,"æ¢":99179,"æ°Ķ":99180,"ð«":99181,"æķĻ":99182,"çŁ":99183,"åĦ":99184,"åıijå±ķ":99185,"åĪĽ":99186,"èij":99187,"æħ":99188,"åŀ":99189,"åģļ":99190,"æĪĺ":99191,"æIJ":99192,"强":99193,"æ·±":99194,"åĩł":99195,"ç¿":99196,"å©":99197,"èŀ":99198,"å§Ķ":99199,"åIJĦ":99200,"èİ":99201,"é¸":99202,"éº":99203,"åıĹ":99204,"èģĮ":99205,"åĺ":99206,"æ½":99207,"é£İ":99208,"èIJ¥":99209,"åħļ":99210,"èľ":99211,"éĤ£":99212,"é¢Ĩ":99213,"çij":99214,"é³":99215,"æľ¯":99216,"ä»Ģ":99217,"æĪ¿":99218,"ç²¾":99219,"åª":99220,"éĨ":99221,"太":99222,"èĤ¡":99223,"èĽ":99224,"åħī":99225,"æŀģ":99226,"åĬŀ":99227,"èĵ":99228,"çĺ":99229,"å´":99230,"åĹ":99231,"èĬ±":99232,"çłĶ":99233,"å¿«":99234,"å¸Ī":99235,"è¶Ĭ":99236,"è§Ĥ":99237,"æ¤":99238,"æ¦":99239,"çŀ":99240,"èĤ²":99241,"çα":99242,"çϽ":99243,"ä¸ĸ":99244,"ä»Ģä¹Ī":99245,"çľ¼":99246,"å³":99247,"èĴ":99248,"æĵ":99249,"被":99250,"å¹²":99251,"çĹħ":99252,"士":99253,"çĴ":99254,"è¸":99255,"æ¾":99256,"å·¥ä½ľ":99257,"让":99258,"çĥŃ":99259,"è¾ĥ":99260,"åĦ¿":99261,"åĬ©":99262,"积":99263,"ç³":99264,"çĵ":99265,"ç£":99266,"åĤ":99267,"è¹":99268,"èļ":99269,"å·±":99270,"çϾ":99271,"åĬ¿":99272,"èµĽ":99273,"æ¨":99274,"æ¿":99275,"èĸ":99276,"æĿij":99277,"带":99278,"å¢ĥ":99279,"æĬ¤":99280,"éŃ":99281,"å«":99282,"èĩªå·±":99283,"æµİ":99284,"ä½İ":99285,"åĮ»":99286,"éĺ²":99287,"åĨľ":99288,"èĨ":99289,"çĨ":99290,"é«":99291,"åĨĽ":99292,"æĪı":99293,"åįĩ":99294,"æĸ¯":99295,"ä½ı":99296,"èIJ½":99297,"åħ»":99298,"èĩ´":99299,"çĬ":99300,"çĩ":99301,"çħ":99302,"èĶ":99303,"ä¼ģä¸ļ":99304,"åĽ¢":99305,"æīį":99306,"æł¡":99307,"åĩĨ":99308,"å¥ĩ":99309,"åī¯":99310,"é¼":99311,"æ¼Ķ":99312,"马":99313,"èµ°":99314,"ç¥ŀ":99315,"åħĭ":99316,"æľĽ":99317,"æ²¹":99318,"è¾¹":99319,"åįĥ":99320,"å¾Ģ":99321,"åĪĩ":99322,"æ©":99323,"ç¶":99324,"åĻ":99325,"éĻħ":99326,"çīĮ":99327,"社ä¼ļ":99328,"游æĪı":99329,"æĸ½":99330,"çħ§":99331,"æİ§":99332,"满":99333,"è¯Ĩ":99334,"éĩįè¦ģ":99335,"è¶³":99336,"çķĻ":99337,"ç»Ĩ":99338,"åįı":99339,"éĢĤ":99340,"æĩ":99341,"æ§":99342,"éĦ":99343,"èĿ":99344,"å¸Ĥåľº":99345,"ç»ıæµİ":99346,"ä¹ł":99347,"æĸĩåĮĸ":99348,"éļ¾":99349,"ä¹IJ":99350,"åĨ³":99351,"欢":99352,"è§ī":99353,"åĽŃ":99354,"åħ´":99355,"åħħ":99356,"举":99357,"æī¹":99358,"èķ":99359,"æĬĬ":99360,"æĬĢæľ¯":99361,"ç©¶":99362,"第ä¸Ģ":99363,"便":99364,"åĵį":99365,"çİ©":99366,"åĿļ":99367,"èŀį":99368,"åįĬ":99369,"åĸľ":99370,"å±Ĥ":99371,"离":99372,"ä»ħ":99373,"éŁ":99374,"åij³":99375,"念":99376,"åŃ£":99377,"ç´§":99378,"ä¹ħ":99379,"é¤":99380,"éŀ":99381,"è¤":99382,"åĢĻ":99383,"åĨµ":99384,"çŁ³":99385,"åģ¥":99386,"æĢİ":99387,"å®Ŀ":99388,"è¡Ģ":99389,"åŁŁ":99390,"æĹ©":99391,"çŁ¥éģĵ":99392,"è´Ł":99393,"åįļ":99394,"å·´":99395,"亲":99396,"å±ŀ":99397,"严":99398,"äºī":99399,"å¯Ł":99400,"èº":99401,"ç°":99402,"建设":99403,"产ä¸ļ":99404,"åIJĥ":99405,"åŃ©":99406,"æĹħ":99407,"æł¹":99408,"æĿIJ":99409,"ä¼Ĺ":99410,"éļı":99411,"å®ĺ":99412,"åºķ":99413,"彩":99414,"å¯Į":99415,"温":99416,"åį«":99417,"åī§":99418,"çĽĬ":99419,"æĬĹ":99420,"è´¢":99421,"纪":99422,"æĨ":99423,"çĶŁæ´»":99424,"红":99425,"çĶŁäº§":99426,"è¿ľ":99427,"éĴ±":99428,"åĶ®":99429,"群":99430,"çıŃ":99431,"楼":99432,"éĩĩ":99433,"èīº":99434,"å±ħ":99435,"åģĩ":99436,"è°Ī":99437,"æĻļ":99438,"é¬":99439,"èĪª":99440,"害":99441,"èĹ":99442,"çį":99443,"åµ":99444,"çİĭ":99445,"康":99446,"èİ·":99447,"ç»Ń":99448,"äºļ":99449,"é£Ł":99450,"åİĭ":99451,"æĭĽ":99452,"èĮĥ":99453,"许":99454,"åĽ´":99455,"é½":99456,"éĻį":99457,"纳":99458,"åĵª":99459,"æķĻèĤ²":99460,"å·²ç»ı":99461,"å¾·":99462,"æŀĹ":99463,"å®īåħ¨":99464,"é¾Ļ":99465,"大家":99466,"éĿĴ":99467,"åºľ":99468,"æ²³":99469,"åı¤":99470,"èį¯":99471,"åĿĩ":99472,"æĻº":99473,"乡":99474,"çķ¥":99475,"åĨ·":99476,"ç¦ı":99477,"室":99478,"ç»´":99479,"æī¿":99480,"å±Ĭ":99481,"è¯ī":99482,"åĪ»":99483,"èŁ":99484,"æª":99485,"å°±æĺ¯":99486,"è¿Ļ个":99487,"ä¸Ńå¿ĥ":99488,"ä¸ĸçķĮ":99489,"åŁİå¸Ĥ":99490,"éĿŀ常":99491,"åĪĴ":99492,"åıĮ":99493,"æĢİä¹Ī":99494,"åΰäºĨ":99495,"æľĥ":99496,"åı²":99497,"ä¾Ĩ":99498,"å¾ĭ":99499,"å¥ĸ":99500,"ç»Ī":99501,"åªĴ":99502,"å®ģ":99503,"课":99504,"èģĮä¸ļ":99505,"åħį":99506,"æµĭ":99507,"æĢ¥":99508,"æķij":99509,"çĭ¬":99510,"èѦ":99511,"é¤IJ":99512,"æĦ¿":99513,"è´«":99514,"çĸij":99515,"åļ":99516,"她":99517,"åıĪ":99518,"åĽłä¸º":99519,"ä¸įæĺ¯":99520,"å¤Ł":99521,"æĸ¹éĿ¢":99522,"éķĩ":99523,"äºĴ":99524,"éħĴ":99525,"讲":99526,"çĸĹ":99527,"æĺ¥":99528,"æ¹ĸ":99529,"å¤ľ":99530,"责任":99531,"人æ°ij":99532,"åħ°":99533,"çŁŃ":99534,"æķħ":99535,"åĩı":99536,"æĻ®":99537,"亮":99538,"ä¾Ŀ":99539,"åį°":99540,"éĿĻ":99541,"åĢĭ":99542,"å¾ģ":99543,"åIJ¸":99544,"缺":99545,"æĶ»":99546,"åĩĢ":99547,"åħ¸":99548,"åĽº":99549,"访":99550,"ç¹":99551,"çĢ":99552,"æıIJä¾Ľ":99553,"ç»ĩ":99554,"å¾Īå¤ļ":99555,"çłĶç©¶":99556,"è·Ł":99557,"主è¦ģ":99558,"æĥħåĨµ":99559,"çŃĸ":99560,"æŃ»":99561,"大åѦ":99562,"æĶ¿åºľ":99563,"å½±åĵį":99564,"ä¹°":99565,"åħŃ":99566,"éĻ©":99567,"åħ«":99568,"æŁIJ":99569,"è´¨éĩı":99570,"åįł":99571,"å·®":99572,"æĽ´å¤ļ":99573,"æľĭ":99574,"éĿ©":99575,"宣":99576,"çł´":99577,"è½»":99578,"座":99579,"æĺ¾":99580,"稳":99581,"è´µ":99582,"èĥĮ":99583,"èī¯":99584,"çĸ«":99585,"æ¯Ĵ":99586,"ä¹İ":99587,"åĢŁ":99588,"è¿·":99589,"çŃĶ":99590,"æ¿Ģ":99591,"åij¼":99592,"äºĨä¸Ģ":99593,"è¶£":99594,"ä¼´":99595,"ä¼Ļ":99596,"è¼":99597,"ð¬Ń":99598,"åĽ½å®¶":99599,"æ´»åĬ¨":99600,"çİ°åľ¨":99601,"ç§ijæĬĢ":99602,"åį¡":99603,"ä¸įåIJĮ":99604,"个人":99605,"è®°èĢħ":99606,"ä¸įæĸŃ":99607,"éĹ»":99608,"ä¹Ŀ":99609,"èijĹ":99610,"综":99611,"ä¸ĥ":99612,"æłij":99613,"æľĭåıĭ":99614,"åįĸ":99615,"伤":99616,"æ²Ļ":99617,"åĸĦ":99618,"å¥Ĺ":99619,"è½®":99620,"ç©¿":99621,"è¡¥":99622,"ä¸Ģå®ļ":99623,"çªģ":99624,"çĿ£":99625,"追":99626,"å¨ģ":99627,"åı¦":99628,"åĽ°":99629,"æŀ¶":99630,"ç»Ŀ":99631,"æķ£":99632,"æİ¢":99633,"æ´Ĺ":99634,"临":99635,"ä¼¼":99636,"è´¸":99637,"丰":99638,"æĺ¯ä¸Ģ":99639,"ç«ŀ":99640,"è¿İ":99641,"èģļ":99642,"è«":99643,"æįŁ":99644,"æī§":99645,"驾":99646,"è¿Ŀ":99647,"è¥":99648,"èł":99649,"ä»ĸ们":99650,"æĹ¶åĢĻ":99651,"å®ĥ":99652,"人åijĺ":99653,"è¿Ļæł·":99654,"å·¥ç¨ĭ":99655,"åĪĽæĸ°":99656,"åŃ©åŃIJ":99657,"å¸Į":99658,"éĥ¨åĪĨ":99659,"éĵ¶":99660,"代表":99661,"é¦Ļ":99662,"帮":99663,"æİ¨è¿Ľ":99664,"çĽĺ":99665,"积æŀģ":99666,"éĥ¨éŨ":99667,"åŁ¹":99668,"æŃ¦":99669,"ä¸įä¼ļ":99670,"çŃij":99671,"éĢĻ":99672,"çݩ家":99673,"æĭ¿":99674,"åİĤ":99675,"æ¯Ľ":99676,"çģµ":99677,"æŃĮ":99678,"绿":99679,"å¦Ī":99680,"缼":99681,"é¦Ĩ":99682,"顺":99683,"èĦ¸":99684,"å°¼":99685,"丽":99686,"奥":99687,"éģĩ":99688,"è¯į":99689,"å°ģ":99690,"ä¸Ŀ":99691,"好çļĦ":99692,"æĭħ":99693,"èĦ±":99694,"æģ¶":99695,"åİļ":99696,"åĬ³":99697,"缣":99698,"æĬĺ":99699,"åı¥":99700,"æĢĢ":99701,"æŁĵ":99702,"书记":99703,"åĨł":99704,"é²ľ":99705,"æ¦Ĥ":99706,"éļIJ":99707,"å¹ħ":99708,"èµŀ":99709,"å¹ķ":99710,"æ¥Ń":99711,"éģĹ":99712,"åΤ":99713,"èĺ":99714,"å¶":99715,"æĬķèµĦ":99716,"è¡Įä¸ļ":99717,"äºij":99718,"çݯå¢ĥ":99719,"åѦçĶŁ":99720,"åIJĪä½ľ":99721,"åģ¥åº·":99722,"é£ŀ":99723,"ä¸ĢæŃ¥":99724,"ä¸Ģ缴":99725,"åıijçĶŁ":99726,"éĺ¿":99727,"é¢Ĩ导":99728,"åĸľæ¬¢":99729,"åºĶ该":99730,"çĤº":99731,"è®Ń":99732,"æĿĢ":99733,"港":99734,"交éĢļ":99735,"éĺ¶":99736,"éĴ¢":99737,"令":99738,"å°½":99739,"æ¯į":99740,"è¡£":99741,"ç²ī":99742,"é¡¶":99743,"ä¹Łä¸į":99744,"æĬĵ":99745,"èĭ¦":99746,"幸":99747,"礼":99748,"第ä¸ī":99749,"大çļĦ":99750,"éģİ":99751,"çĥŁ":99752,"éģ¿":99753,"ä»į":99754,"åºĨ":99755,"æĢķ":99756,"è°¢":99757,"çĽĸ":99758,"å°Ħ":99759,"éľ²":99760,"æĸĹ":99761,"çĬ¶":99762,"åѸ":99763,"æ¯ķ":99764,"å·¨":99765,"çŁ¿":99766,"çļĩ":99767,"å¸Ń":99768,"çĹĩ":99769,"æī¬":99770,"å»¶":99771,"ä¾§":99772,"æ·¡":99773,"çļĦä¸Ģ":99774,"ç¶²":99775,"æ´ģ":99776,"ç¸":99777,"è§Ī":99778,"çѹ":99779,"ç§ĺ":99780,"è¯Ĭ":99781,"çı¾":99782,"èªī":99783,"毫":99784,"ð¨":99785,"åį´":99786,"æĪIJ为":99787,"èĥ½åĬĽ":99788,"é»Ħ":99789,"æĹħ游":99790,"èά":99791,"æ¯Ķè¾ĥ":99792,"èµ·æĿ¥":99793,"äºĨè§£":99794,"èĩªçĦ¶":99795,"ä¸Ģ次":99796,"åŁºæľ¬":99797,"æĽ¾":99798,"综åIJĪ":99799,"èıľ":99800,"è§īå¾Ĺ":99801,"第äºĮ":99802,"è·ij":99803,"æ³¢":99804,"åĢĴ":99805,"ç¡Ģ":99806,"åħµ":99807,"èįī":99808,"çͳ":99809,"çͰ":99810,"æĤ£":99811,"è§Ħå®ļ":99812,"èĥľ":99813,"èµĦ产":99814,"梦":99815,"æľĿ":99816,"è¿ĻéĩĮ":99817,"夫":99818,"æĮ¥":99819,"ä½Ľ":99820,"å®Ī":99821,"鼶":99822,"æĸ¼":99823,"ç¯ĩ":99824,"å²Ľ":99825,"åĵ¥":99826,"éŃĶ":99827,"ä¸įåΰ":99828,"æīĺ":99829,"åºĬ":99830,"欧":99831,"èį£":99832,"æ±ĩ":99833,"æī©":99834,"åģı":99835,"å¢Ļ":99836,"讯":99837,"å©ļ":99838,"æĥł":99839,"æ´ĭ":99840,"å®ľ":99841,"润":99842,"æħ¢":99843,"éĢı":99844,"宽":99845,"顾":99846,"ç´¯":99847,"污":99848,"çĪĨ":99849,"ç§Ł":99850,"æĥĬ":99851,"涨":99852,"饰":99853,"éĺµ":99854,"饮":99855,"æļĸ":99856,"åºŁ":99857,"æĹĹ":99858,"éļĶ":99859,"ç¶ĵ":99860,"åĭĻ":99861,"實":99862,"éĢĶ":99863,"æī«":99864,"çĥĪ":99865,"鼻":99866,"åĪij":99867,"éĹľ":99868,"éĹª":99869,"å¥ĭ":99870,"åĤ¨":99871,"缩":99872,"ä¾µ":99873,"å¬":99874,"ð¬¶":99875,"åĽ½éĻħ":99876,"ç»Ħç»ĩ":99877,"ä¸ĵä¸ļ":99878,"åıijçݰ":99879,"å¸ĮæľĽ":99880,"ç»ıèIJ¥":99881,"åı«":99882,"æĿ¥è¯´":99883,"éļľ":99884,"ä»»ä½ķ":99885,"交æĺĵ":99886,"éĩįçĤ¹":99887,"çļ®":99888,"ç»į":99889,"æ´¾":99890,"ç§ijåѦ":99891,"åºĶç͍":99892,"建çŃij":99893,"èĤī":99894,"æĶ¹éĿ©":99895,"åŁºç¡Ģ":99896,"æ±ī":99897,"åĩºæĿ¥":99898,"è¿Ļä¹Ī":99899,"åĪļ":99900,"åĿIJ":99901,"ä¸įä»ħ":99902,"ä¼ļè®®":99903,"éĿł":99904,"åªĴä½ĵ":99905,"æ°¸":99906,"åĨ²":99907,"èĭı":99908,"央":99909,"çζ":99910,"åłĤ":99911,"å®ŀéĻħ":99912,"è¡Ĺ":99913,"ç«¥":99914,"éĺħ":99915,"äºĭæĥħ":99916,"åİŁåĽł":99917,"éħ¸":99918,"以æĿ¥":99919,"娱":99920,"宫":99921,"åĿĹ":99922,"绩":99923,"éĩİ":99924,"ä¸įå¾Ĺ":99925,"ä¼łå¥ĩ":99926,"硬":99927,"åİħ":99928,"æĹ¢":99929,"ç»ĥ":99930,"èĦij":99931,"å¼±":99932,"æİĮ":99933,"è´´":99934,"æĮĤ":99935,"åħ³éĶ®":99936,"å°ļ":99937,"é¥Ń":99938,"åºĦ":99939,"çϼ":99940,"åľĭ":99941,"æİĪ":99942,"个æľĪ":99943,"äºĪ":99944,"å¸ģ":99945,"è·Ŀ":99946,"æ²ī":99947,"竣":99948,"åĨ¬":99949,"æĬ½":99950,"éĨĴ":99951,"å¼Ł":99952,"触":99953,"èģĺ":99954,"è±Ĩ":99955,"æļ´":99956,"åijĬè¯ī":99957,"豪":99958,"èµ¢":99959,"è·¨":99960,"è³ĩ":99961,"çΏ":99962,"æĬ±":99963,"浪":99964,"麻":99965,"仪":99966,"è¡¡":99967,"奶":99968,"çģ¾":99969,"èµ¶":99970,"èĤ¥":99971,"å§IJ":99972,"åĢº":99973,"éľĩ":99974,"订":99975,"æ¬Ĭ":99976,"ç·":99977,"å»ī":99978,"ä¿Ĺ":99979,"å¿ĺ":99980,"å¦ĩ":99981,"ç¼ĵ":99982,"åŃķ":99983,"漫":99984,"è£ģ":99985,"çĩĥ":99986,"é»ĺ":99987,"çī¢":99988,"çĪ·":99989,"æĬµ":99990,"宾":99991,"æľīä¸Ģ":99992,"迹":99993,"è¿«":99994,"è²Į":99995,"æľīçļĦ":99996,"ð¬ĺ":99997,"è¿ĺæĺ¯":99998,"æīĢ以":99999,"ä¹Łæĺ¯":100000,"è¿ĻäºĽ":100001,"对äºİ":100002,"åIJ§":100003,"缮åīį":100004,"èĩªå·±çļĦ":100005,"èĥ½å¤Ł":100006,"å¦Ĥä½ķ":100007,"æľºæŀĦ":100008,"åıªæĺ¯":100009,"ç½ijç«Ļ":100010,"åħ¨éĿ¢":100011,"为äºĨ":100012,"å¼Ģåıij":100013,"æĸ°éĹ»":100014,"éĩijèŀį":100015,"ç»§":100016,"客æĪ·":100017,"ä¸Ģèµ·":100018,"èĮ¶":100019,"åħ³æ³¨":100020,"æ°´å¹³":100021,"åİĨåı²":100022,"å¢ŀéķ¿":100023,"é±":100024,"åŁºéĩij":100025,"åºŃ":100026,"åı¶":100027,"ä¿ĥ":100028,"鼨":100029,"æ¶Īè´¹":100030,"èι":100031,"çŁ¥è¯Ĩ":100032,"æĪĺçķ¥":100033,"ç»ıéªĮ":100034,"å³°":100035,"æĽ²":100036,"èĦļ":100037,"åĨ°":100038,"å¤ı":100039,"å½Ĵ":100040,"ç¬Ķ":100041,"èĻij":100042,"çͲ":100043,"åľĪ":100044,"è¯Ĺ":100045,"é½IJ":100046,"容æĺĵ":100047,"çłĶåıij":100048,"骨":100049,"纸":100050,"è·µ":100051,"æĹ§":100052,"çķ¶":100053,"åΏ":100054,"è´·":100055,"åı¬":100056,"ç§ĭ":100057,"æ¶²":100058,"è¡ĮæĶ¿":100059,"çĮ®":100060,"èĤ¤":100061,"éĢIJ":100062,"è¶ĬæĿ¥":100063,"è¶ĬæĿ¥è¶Ĭ":100064,"æĦıè§ģ":100065,"èĪŀ":100066,"åīĤ":100067,"æ¶ī":100068,"ç¨ĭ度":100069,"åħ¬åħ±":100070,"械":100071,"æľ«":100072,"纯":100073,"åͱ":100074,"æ´²":100075,"æĬ¢":100076,"æ¤į":100077,"å¿Ļ":100078,"ä¼°":100079,"å¼¹":100080,"æ³ī":100081,"æľĢ大":100082,"è¶ĭ":100083,"å·§":100084,"ç¦ģ":100085,"æī¶":100086,"åį±":100087,"çıł":100088,"çĨŁ":100089,"æĭľ":100090,"主ä¹ī":100091,"æĿĤ":100092,"éĻĦ":100093,"éģį":100094,"æIJŃ":100095,"æĮ¯":100096,"å¤ļå¹´":100097,"æķ¬":100098,"æijĦ":100099,"纷":100100,"å¼ĥ":100101,"湿":100102,"å¨ĺ":100103,"æ¡£":100104,"é©¶":100105,"æľĹ":100106,"æ®ĸ":100107,"æ¦ľ":100108,"åĵ¡":100109,"ä¸Ģä½ĵ":100110,"æŁ¥çľĭ":100111,"ç¹ģ":100112,"æµĵ":100113,"åħ¬å®ī":100114,"æ½ľ":100115,"è´¯":100116,"éªĹ":100117,"æIJľ":100118,"å·¡":100119,"è¬":100120,"éĬ":100121,"å§Ķä¼ļ":100122,"æĤł":100123,"åī©":100124,"æıŃ":100125,"åŃ£åº¦":100126,"ð«ĺ":100127,"ð¬¬":100128,"ä´":100129,"ðª":100130,"ä½Ĩæĺ¯":100131,"éĥ½æĺ¯":100132,"å¹³åı°":100133,"åŃ¦ä¹ł":100134,"åĵģçīĮ":100135,"ä¸Ķ":100136,"è¿Ļç§į":100137,"æĶ¿çŃĸ":100138,"æĭ¬":100139,"认为":100140,"ä¸Ģèά":100141,"æłĩåĩĨ":100142,"æĶ¯æĮģ":100143,"模å¼ı":100144,"åħ³ç³»":100145,"çļĦæĺ¯":100146,"è¿Ļä¸Ģ":100147,"ä¸įè¦ģ":100148,"çĶļ":100149,"ç²¾ç¥ŀ":100150,"æĭ¥":100151,"åĪ©ç͍":100152,"ä¿ĿæĬ¤":100153,"ä½ľç͍":100154,"èĭ¥":100155,"åĽ½åĨħ":100156,"ä»ĭç»į":100157,"ä¸Ģä¸ĭ":100158,"å·¥ä¸ļ":100159,"缮æłĩ":100160,"æľĢåIJİ":100161,"ä»·å̼":100162,"å°į":100163,"éĵģ":100164,"è°ģ":100165,"ç»ĵæŀĦ":100166,"éĽª":100167,"æĻºèĥ½":100168,"ä¼łç»Ł":100169,"ä½ĵèĤ²":100170,"çĶŁæĢģ":100171,"æĭį":100172,"æİª":100173,"åĨľä¸ļ":100174,"çī¹èī²":100175,"è§Ħ模":100176,"æĹ¶ä»£":100177,"è¿ĩç¨ĭ":100178,"éĴĪ":100179,"æĿ¾":100180,"åĶIJ":100181,"åĮ»çĸĹ":100182,"çģ¯":100183,"åζéĢł":100184,"æł¸å¿ĥ":100185,"ä¸įåı¯":100186,"ç³»åĪĹ":100187,"åIJī":100188,"åľ£":100189,"åĢij":100190,"ä½³":100191,"æĿ¥çľĭ":100192,"æ¯ĶèµĽ":100193,"ä¸ĭæĿ¥":100194,"åĩºäºĨ":100195,"å¹²éĥ¨":100196,"微信":100197,"å½ĵåľ°":100198,"åį·":100199,"åį«çĶŁ":100200,"ä¼Ł":100201,"çĸ«æĥħ":100202,"è°·":100203,"åĩłä¸ª":100204,"éĺ´":100205,"çĶŁçī©":100206,"å°¤":100207,"ä¼Ĭ":100208,"èĤ¯":100209,"éĿ¢ç§¯":100210,"åĪĽéĢł":100211,"æı¡":100212,"åľĨ":100213,"æĻĵ":100214,"æĪIJäºĨ":100215,"åĩ¡":100216,"çĸ¾":100217,"ç«ŀäºī":100218,"讨":100219,"主é¢ĺ":100220,"é²ģ":100221,"迪":100222,"ä¿Ħ":100223,"æĢª":100224,"並":100225,"èĻļ":100226,"æ½®":100227,"çĥ§":100228,"è̳":100229,"æ±ł":100230,"éĢĤåIJĪ":100231,"æł¹æľ¬":100232,"åĬłçĽŁ":100233,"ç͵è§Ĩ":100234,"æ··":100235,"ç¼ĺ":100236,"çªĹ":100237,"çĬ¯":100238,"æĥ¯":100239,"æĦıä¹ī":100240,"åĬŀæ³ķ":100241,"ä¼ij":100242,"æ»ij":100243,"åĭĩ":100244,"æķ¢":100245,"寻":100246,"è¦Ĩ":100247,"éĢĥ":100248,"ç»ıçIJĨ":100249,"åĿı":100250,"æ³½":100251,"ä¹ĺ":100252,"åĪº":100253,"å±ı":100254,"é¡¿":100255,"亡":100256,"éĤĢ":100257,"åħ¼":100258,"åĭ¤":100259,"æ®ĭ":100260,"æĺł":100261,"æ¯ķä¸ļ":100262,"æĪª":100263,"è·Į":100264,"å£ģ":100265,"åı¦ä¸Ģ":100266,"羣å®ŀ":100267,"磨":100268,"è¯ļ":100269,"å¿ħè¦ģ":100270,"æģĭ":100271,"æĩĤ":100272,"å¾Ĵ":100273,"è°ĵ":100274,"æķı":100275,"æĻ¨":100276,"èĥ¸":100277,"æĭ¼":100278,"å¦Ļ":100279,"诸":100280,"èģĬ":100281,"æĤī":100282,"麼":100283,"åĩŃ":100284,"èĪĴ":100285,"æ¶Ĥ":100286,"è¿ģ":100287,"沿":100288,"å¡ij":100289,"æĽ¿":100290,"æ¾³":100291,"å¿į":100292,"èĢĹ":100293,"龸":100294,"åĩłå¹´":100295,"åĪĬ":100296,"èĦī":100297,"èħIJ":100298,"æ¡Į":100299,"çºł":100300,"æ»ļ":100301,"æĤ²":100302,"åĨĴ":100303,"妹":100304,"çķħ":100305,"纵":100306,"æijĩ":100307,"夺":100308,"è·¯ä¸Ĭ":100309,"忽":100310,"èĸª":100311,"æģIJ":100312,"æĦıæĢĿ":100313,"å«Į":100314,"æı´":100315,"æ°§":100316,"èĢĢ":100317,"éĺ»":100318,"轨":100319,"å¹»":100320,"æįķ":100321,"åĿ¦":100322,"åĵĪåĵĪ":100323,"çĭIJ":100324,"滨":100325,"è²»":100326,"è¿Ł":100327,"人éĥ½":100328,"ç»ĺ":100329,"åı¹":100330,"çµIJ":100331,"æī°":100332,"æ»ĭ":100333,"å¥ij":100334,"åĭŁ":100335,"確":100336,"ð¦":100337,"éĽĨåĽ¢":100338,"æĿİ":100339,"å¼Ģå±ķ":100340,"æıIJåįĩ":100341,"åħ¨åĽ½":100342,"汽车":100343,"åŃ¦æł¡":100344,"æł¹æį®":100345,"è¿Ļæĺ¯":100346,"åĩºçݰ":100347,"éĻĪ":100348,"ç½Ĺ":100349,"èİ·å¾Ĺ":100350,"åĪĺ":100351,"éĶĢåĶ®":100352,"æľªæĿ¥":100353,"éľĢæ±Ĥ":100354,"å®ŀæĸ½":100355,"åĿļæĮģ":100356,"åħ¨çIJĥ":100357,"éĵ¶è¡Į":100358,"æİ§åζ":100359,"é¡»":100360,"åľ°åĮº":100361,"æīĵéĢł":100362,"çļĦè¯Ŀ":100363,"帮åĬ©":100364,"ä½ĵç³»":100365,"è¾¾åΰ":100366,"è§ĦåĪĴ":100367,"åŁ¹è®Ń":100368,"两个":100369,"æĬ¥åijĬ":100370,"åľ°æĸ¹":100371,"å®Įåħ¨":100372,"æİī":100373,"ç»ĵåIJĪ":100374,"å®£ä¼ł":100375,"æ³ķå¾ĭ":100376,"èīºæľ¯":100377,"ç͵影":100378,"說":100379,"ä¸ĢçĤ¹":100380,"è¶ħè¿ĩ":100381,"ç͵åŃIJ":100382,"æĢĿæĥ³":100383,"æķĻåѦ":100384,"éĺ¶æ®µ":100385,"åķĨä¸ļ":100386,"çµģ":100387,"åĪĽä¸ļ":100388,"æĸ¹æ¡Ī":100389,"çݰ代":100390,"æ¡¥":100391,"èIJ½å®ŀ":100392,"带æĿ¥":100393,"产çĶŁ":100394,"ç§Ģ":100395,"æ³°":100396,"ä¹±":100397,"åħ·ä½ĵ":100398,"åĸĿ":100399,"èĵĿ":100400,"å®Ĺ":100401,"åįĩ级":100402,"æ·±åħ¥":100403,"ä¿ĿéĻ©":100404,"ç®Ģåįķ":100405,"çĹĽ":100406,"稳å®ļ":100407,"è¾Ĩ":100408,"å±ŀäºİ":100409,"å·Ŀ":100410,"ä¸įå°ij":100411,"åĴ¨":100412,"ä¸ľè¥¿":100413,"å½¢å¼ı":100414,"娱ä¹IJ":100415,"æŃ£å¸¸":100416,"鸡":100417,"åħħåĪĨ":100418,"å®ŀè·µ":100419,"éĩĮéĿ¢":100420,"è·³":100421,"èĻİ":100422,"æĪIJéķ¿":100423,"æļĹ":100424,"çĿ¡":100425,"罪":100426,"çIJĨ念":100427,"æĮij":100428,"èµĦæľ¬":100429,"å¤ļå°ij":100430,"ä¸ĭéĿ¢":100431,"å¸Ŀ":100432,"åħ¬å¼Ģ":100433,"æ¸IJ":100434,"éķ·":100435,"å±ĭ":100436,"欢è¿İ":100437,"å¿ĥçIJĨ":100438,"çĤİ":100439,"æ¹¾":100440,"è®ĵ":100441,"éĤĦ":100442,"ç³ĸ":100443,"ä¹Į":100444,"åĬ±":100445,"çīĻ":100446,"èħ¿":100447,"å²Ĺ":100448,"ä¼į":100449,"æĪIJåijĺ":100450,"åŃĶ":100451,"å°ıç¼ĸ":100452,"èij£":100453,"泡":100454,"åħĪè¿Ľ":100455,"åħ§":100456,"åĺ´":100457,"è´Ŀ":100458,"è»":100459,"æIJŀ":100460,"æ³Ľ":100461,"鸣":100462,"ç½²":100463,"èĽĭ":100464,"主任":100465,"缮çļĦ":100466,"ä¹ı":100467,"æ´¥":100468,"æĪ´":100469,"ä¸¥æł¼":100470,"çħ¤":100471,"çĮ«":100472,"å͝":100473,"å°Ĭ":100474,"çĶľ":100475,"åŀĥ":100476,"åľ¾":100477,"æĭŁ":100478,"çĦ¦":100479,"é«Ķ":100480,"å®ı":100481,"æ©Ł":100482,"é©»":100483,"æĹģ":100484,"å½»":100485,"éĥ½ä¸į":100486,"æij©":100487,"ä»ĵ":100488,"ä¹³":100489,"岸":100490,"è°ĭ":100491,"大å¤ļ":100492,"çģŃ":100493,"èħ¾":100494,"æŁľ":100495,"èĪį":100496,"åħļçļĦ":100497,"å°ĺ":100498,"åįģå¹´":100499,"æĭĴ":100500,"裡":100501,"æŁĶ":100502,"å¹¼":100503,"éĶģ":100504,"ä¸ĵ项":100505,"æīİ":100506,"驾驶":100507,"ç¢İ":100508,"è¢ĭ":100509,"éĶĭ":100510,"壮":100511,"å°ĸ":100512,"çĶµæ±ł":100513,"è¿Ķ":100514,"æ¼ı":100515,"循":100516,"èıĮ":100517,"èĥĥ":100518,"è¾ħ":100519,"éĢĴ":100520,"èĥİ":100521,"éĻª":100522,"寿":100523,"å¥Ķ":100524,"çĮĽ":100525,"纹":100526,"çŁ¥åIJį":100527,"å¿Ĩ":100528,"æ¡ĥ":100529,"æ£ĭ":100530,"éĢĨ":100531,"çĤ¼":100532,"ç±į":100533,"çī§":100534,"æł·çļĦ":100535,"è¾Ľ":100536,"åłĨ":100537,"å®ŀåľ¨":100538,"ä¼ı":100539,"宿":100540,"èµı":100541,"è£Ĥ":100542,"åįĬå¹´":100543,"å̾":100544,"满æĦı":100545,"梯":100546,"æĦıåij³":100547,"åѤ":100548,"ç¥Ŀ":100549,"æĻ¶":100550,"èµĶ":100551,"åģ¿":100552,"èĦĤ":100553,"ç½ļ":100554,"ç¢į":100555,"æ²ĥ":100556,"æĵį":100557,"å´ĩ":100558,"æļĤ":100559,"è·ĥ":100560,"æIJ¬":100561,"å©Ĩ":100562,"éī":100563,"éī´":100564,"åħ´è¶£":100565,"èIJ¥ä¸ļ":100566,"è®Ĭ":100567,"èĦı":100568,"è¾Ī":100569,"å·ŀå¸Ĥ":100570,"è´«åĽ°":100571,"ç©·":100572,"ä¸Ńå°ı":100573,"æ¼Ĥ":100574,"çĻĮ":100575,"èľľ":100576,"ä¼Ļä¼´":100577,"çīµ":100578,"æĤŁ":100579,"éĻ·":100580,"èµĽåŃ£":100581,"樣":100582,"åģ¶":100583,"æĺĨ":100584,"è¢Ń":100585,"æįIJ":100586,"èī°":100587,"æĤ¬":100588,"çĶ¢":100589,"èij¡":100590,"çĽĹ":100591,"å©´":100592,"å°İ":100593,"纽":100594,"åĢ¡":100595,"æī®":100596,"è¨Ń":100597,"æĬij":100598,"ç¡ķ":100599,"è¾ĸ":100600,"éĥģ":100601,"辩":100602,"éĤ»":100603,"çݰåĩº":100604,"è¦ı":100605,"å½¹":100606,"éĺĶ":100607,"åīµ":100608,"诱":100609,"æĥij":100610,"æ·Ģ":100611,"é¢Ī":100612,"侦":100613,"æģ°":100614,"æ£Ģå¯Ł":100615,"éĨ«":100616,"çĦ¶æĺ¯":100617,"åĭĥ":100618,"èĮ«":100619,"äĵ":100620,"ð¬¸":100621,"ä½ľä¸º":100622,"çļĦ人":100623,"éĤ£ä¹Ī":100624,"ç¾İåĽ½":100625,"è¿ĺæľī":100626,"æıIJé«ĺ":100627,"èϽ":100628,"åħ·æľī":100629,"åĮħæĭ¬":100630,"æĪĸèĢħ":100631,"ä¸įè¿ĩ":100632,"ä¸Ĭæµ·":100633,"åĮ»éĻ¢":100634,"èµĦéĩij":100635,"çĶļèĩ³":100636,"åĪ¶åº¦":100637,"è§£åĨ³":100638,"èģĶç½ij":100639,"ç»§ç»Ń":100640,"建ç«ĭ":100641,"è¿Ľä¸ĢæŃ¥":100642,"æĿIJæĸĻ":100643,"ä»Ĭ天":100644,"å¿ħé¡»":100645,"åIJĦç§į":100646,"çİ°åľº":100647,"ä»ĸçļĦ":100648,"å¢ŀåĬł":100649,"é¢ĨåŁŁ":100650,"åıĤä¸İ":100651,"æĮģç»Ń":100652,"ä¹ĭä¸Ģ":100653,"çī¹åĪ«":100654,"é±¼":100655,"åħ±åIJĮ":100656,"åĬª":100657,"çİī":100658,"人们":100659,"åħĪçĶŁ":100660,"ä¼ĺåĬ¿":100661,"ä¿ĿæĮģ":100662,"ä½ľåĵģ":100663,"çīĽ":100664,"æĪIJæľ¬":100665,"æĶ¶åħ¥":100666,"åıĬæĹ¶":100667,"è´Łè´£":100668,"æİ¥åıĹ":100669,"èįIJ":100670,"åıªè¦ģ":100671,"羣çļĦ":100672,"导èĩ´":100673,"æľºåζ":100674,"è¡ĮåĬ¨":100675,"æĸ°çļĦ":100676,"å®ĮåĸĦ":100677,"为ä»Ģä¹Ī":100678,"ä¸Ń央":100679,"æĪIJç«ĭ":100680,"æĦŁè§ī":100681,"åıĺåĮĸ":100682,"åıĹåΰ":100683,"å¹¶ä¸į":100684,"åŃĻ":100685,"æĸ½å·¥":100686,"æĺİæĺ¾":100687,"è¿ĩåİ»":100688,"åıijæĮ¥":100689,"羣æŃ£":100690,"åŁºåľ°":100691,"æĺİç¡®":100692,"èĥ¡":100693,"许å¤ļ":100694,"ä¸Ģå¹´":100695,"æĸ¹åIJij":100696,"æģ©":100697,"çĽ¸ä¿¡":100698,"åľ³":100699,"详ç»Ĩ":100700,"äºĭä¸ļ":100701,"çĶŁåij½":100702,"åĴ¨è¯¢":100703,"æĸĩæĺİ":100704,"çijŀ":100705,"绿èī²":100706,"èİ«":100707,"æĦıè¯Ĩ":100708,"æĬķåħ¥":100709,"åĬłå¿«":100710,"æ¢ħ":100711,"ç¿»":100712,"å¼ĢæĶ¾":100713,"æĻ®éĢļ":100714,"åįıä¼ļ":100715,"æĪIJ绩":100716,"ä»Ļ":100717,"å¯Ĵ":100718,"è¯ģåΏ":100719,"认è¯Ĩ":100720,"丹":100721,"大éĩı":100722,"è¿ħ":100723,"åģļåΰ":100724,"设æĸ½":100725,"è´¸æĺĵ":100726,"èĥ½æºIJ":100727,"æĹ¶æľŁ":100728,"ä¸Ģ天":100729,"æ²»çIJĨ":100730,"åĺī":100731,"å®ĩ":100732,"丰å¯Į":100733,"举è¡Į":100734,"æĪIJæŀľ":100735,"èĤ¯å®ļ":100736,"çĭĹ":100737,"åĬ¨åĬĽ":100738,"森":100739,"åĩłä¹İ":100740,"åĽłç´ł":100741,"æ°ijæĹı":100742,"æ´ŀ":100743,"ç½ijåıĭ":100744,"åIJĪçIJĨ":100745,"广大":100746,"æ®Ĭ":100747,"æ´Ľ":100748,"æĿ¯":100749,"èĴĻ":100750,"ç͍äºİ":100751,"èŀįèµĦ":100752,"ç¥ĸ":100753,"æľºæ¢°":100754,"举åĬŀ":100755,"èĩªåĬ¨":100756,"åĬŀåħ¬":100757,"é»ŀ":100758,"éĽĦ":100759,"å̼å¾Ĺ":100760,"çĮª":100761,"以为":100762,"æĺĮ":100763,"è·Ŀ离":100764,"åIJ¸å¼ķ":100765,"ç»ķ":100766,"éļĨ":100767,"计ç®Ĺ":100768,"éĺŁä¼į":100769,"大ä¼ļ":100770,"å¼ķèµ·":100771,"çī¹çĤ¹":100772,"èĥ¶":100773,"å¹´è½»":100774,"æľ¬èº«":100775,"æľºåħ³":100776,"å®ĺæĸ¹":100777,"éĥij":100778,"æµĻ":100779,"è§Ĵèī²":100780,"èij£äºĭ":100781,"为主":100782,"æĹłè®º":100783,"ä¹łæĥ¯":100784,"æ¥ļ":100785,"æĭĵ":100786,"ç»Łè®¡":100787,"åħĦ":100788,"å¹¿æ³Ľ":100789,"åįĢ":100790,"污æŁĵ":100791,"è«ĭ":100792,"èĬĤ缮":100793,"伦":100794,"è¦ĨçĽĸ":100795,"èĢIJ":100796,"æī¶è´«":100797,"ç»ıåİĨ":100798,"éĩįè¦ģçļĦ":100799,"èĤ¡ä¸ľ":100800,"æĭĽèģĺ":100801,"åĽĽä¸ª":100802,"æĩī":100803,"èĥŀ":100804,"æijĨ":100805,"é«ĺéĢŁ":100806,"麦":100807,"åİŁåĪĻ":100808,"èݱ":100809,"æĽ´å¥½":100810,"éķľ":100811,"åĩĮ":100812,"åŀĥåľ¾":100813,"é̲":100814,"çģ°":100815,"éĵº":100816,"äºĭæķħ":100817,"çĶĺ":100818,"空æ°Ķ":100819,"é¾Ħ":100820,"èı²":100821,"çĵ¶":100822,"æĺ¨":100823,"æĹ¥æĬ¥":100824,"æµ®":100825,"åľ°åĽ¾":100826,"åijĪ":100827,"大åĬĽ":100828,"绪":100829,"å¸ħ":100830,"æľįåĭĻ":100831,"ä¸įéĶĻ":100832,"乡æĿij":100833,"å±¥":100834,"å¹³æĸ¹":100835,"éĹ²":100836,"æī£":100837,"ç´łè´¨":100838,"èµ´":100839,"éģŃ":100840,"èIJ¨":100841,"èĩªä¸»":100842,"éĩijå±ŀ":100843,"èī¯å¥½":100844,"两年":100845,"æ³¥":100846,"é¢ľ":100847,"精彩":100848,"ä¸Ńåįİ":100849,"æĻĭ":100850,"ä¹łè¿ij":100851,"ä¹łè¿ijå¹³":100852,"æĪĺ士":100853,"åģļçļĦ":100854,"éªij":100855,"æ»´":100856,"çĵľ":100857,"çīĪæĿĥ":100858,"èĤł":100859,"æľĥåĵ¡":100860,"çıį":100861,"種":100862,"仿":100863,"çī©ä¸ļ":100864,"åĢĭ人":100865,"妻":100866,"伸":100867,"æ±Ĺ":100868,"æĹº":100869,"çIJĨæĥ³":100870,"æij¸":100871,"è¿Ŀæ³ķ":100872,"å®Įæķ´":100873,"åݦ":100874,"è¸ı":100875,"æĸij":100876,"æ¡Ĥ":100877,"ä½ĵåζ":100878,"師":100879,"æĿĨ":100880,"殿":100881,"æ¯ģ":100882,"é¦Ī":100883,"è§Ĵ度":100884,"欣":100885,"çĥ¦":100886,"èĤº":100887,"éĩĩ访":100888,"æijĺ":100889,"æĮ¡":100890,"æ·ĺ":100891,"åħ»èĢģ":100892,"çĤ¸":100893,"è¿Ī":100894,"åİī":100895,"åĿĬ":100896,"è¾£":100897,"åĩĿ":100898,"泪":100899,"çĸı":100900,"æİĺ":100901,"åĥıæĺ¯":100902,"éĽķ":100903,"ç¼Ŀ":100904,"èį·":100905,"æį·":100906,"åł¡":100907,"åı¥è¯Ŀ":100908,"çĸ¼":100909,"æłı":100910,"éģµ":100911,"碳":100912,"å·¥åķĨ":100913,"æIJº":100914,"åĪ¥":100915,"ä¹Ļ":100916,"æĹĭ":100917,"æĥľ":100918,"ä¸Ģ大":100919,"å±Ĥ次":100920,"èµĸ":100921,"æĬ¬":100922,"æ¨Ĥ":100923,"è¯ŀ":100924,"åħĴ":100925,"篮":100926,"èĤĥ":100927,"å§¿":100928,"æĬļ":100929,"çĵ·":100930,"ç͵åĬ¨":100931,"æĸ°åĨł":100932,"æ¶µ":100933,"ç¢ij":100934,"æ·®":100935,"æĹ¨":100936,"踪":100937,"æ¸Ķ":100938,"æĦĪ":100939,"åıĶ":100940,"åįĹçľģ":100941,"義":100942,"å§Ķ书记":100943,"貸":100944,"æ¶Į":100945,"è«ĸ":100946,"èIJĦ":100947,"æıı":100948,"å¿§":100949,"辦":100950,"å¦Ĩ":100951,"æīŃ":100952,"åijµ":100953,"éģ¥":100954,"許":100955,"ä»ĩ":100956,"åįģä¸ī":100957,"åī²":100958,"èªį":100959,"èΰ":100960,"é¢ĩ":100961,"饱":100962,"çĭł":100963,"é«ĺçļĦ":100964,"çµ±":100965,"æħİ":100966,"é¢ģ":100967,"åIJĪéĢĤ":100968,"æµ´":100969,"èµĭ":100970,"æĬ¼":100971,"妥":100972,"éĻ¢éķ¿":100973,"èĢķ":100974,"辨":100975,"æħ°":100976,"åįģåĽĽ":100977,"æľµ":100978,"èĵĦ":100979,"æŀ¢":100980,"å»·":100981,"æĤĦ":100982,"涯":100983,"磩":100984,"åŃIJéĩĮ":100985,"çĬ¹":100986,"å±Ģéķ¿":100987,"éIJ":100988,"å¥ł":100989,"ä¼ļéķ¿":100990,"æĵļ":100991,"ä¸įåıĬ":100992,"åįģä¹Ŀ":100993,"欺":100994,"躺":100995,"éĺIJ":100996,"çºĮ":100997,"註":100998,"åĨĬ":100999,"èŃĺ":101000,"é«ĺçŃī":101001,"èħº":101002,"å¤ķ":101003,"ç»ij":101004,"åͤ":101005,"èķ´":101006,"çķľ":101007,"æħĭ":101008,"åıĻ":101009,"åıĥ":101010,"峡":101011,"人大":101012,"éħ¿":101013,"éģ©":101014,"奢":101015,"åı£æ°Ķ":101016,"éĮĦ":101017,"éı":101018,"åĭĺ":101019,"è´¿":101020,"éļª":101021,"éĭ":101022,"éļ¶":101023,"ð¥":101024,"ð¬£":101025,"ð£":101026,"ð«į":101027,"ð¬³":101028,"ð«ĵ":101029,"ð«Ħ":101030,"ð«Ł":101031,"ð¨±":101032,"äĹ":101033,"以åıĬ":101034,"æľīéĻIJ":101035,"åij¢":101036,"åIJĹ":101037,"çľĭåΰ":101038,"计åĪĴ":101039,"è¿Ľåħ¥":101040,"缴æİ¥":101041,"åĪĨæŀIJ":101042,"åıªæľī":101043,"设å¤ĩ":101044,"åħ¶å®ŀ":101045,"åĬłå¼º":101046,"ä¸ŃçļĦ":101047,"ä¿Ŀéļľ":101048,"èĢģå¸Ī":101049,"人æīį":101050,"å¾Ĺåΰ":101051,"é£İéĻ©":101052,"ä¸Ģç§į":101053,"空éĹ´":101054,"æĪijåĽ½":101055,"ä¹ĭåīį":101056,"ä¸ĵå®¶":101057,"æĿ¨":101058,"æĹ¥æľ¬":101059,"群ä¼Ĺ":101060,"åıĤåĬł":101061,"æķĪæŀľ":101062,"æľīåħ³":101063,"å®¶åºŃ":101064,"åĮºåŁŁ":101065,"åĬªåĬĽ":101066,"éļıçĿĢ":101067,"æĹłæ³ķ":101068,"交æµģ":101069,"è¡Į为":101070,"æ£ĢæŁ¥":101071,"æľŁéĹ´":101072,"å¦ĤæŃ¤":101073,"èĤ¡ä»½":101074,"å½ĵæĹ¶":101075,"è£ħå¤ĩ":101076,"åĩĨå¤ĩ":101077,"éħĴåºĹ":101078,"è¿IJåĬ¨":101079,"æıIJåĩº":101080,"å·¦åı³":101081,"æİªæĸ½":101082,"é£Łåĵģ":101083,"æ¶Īè´¹èĢħ":101084,"åѦéĻ¢":101085,"æĮĩ导":101086,"è¿IJèIJ¥":101087,"éĩį大":101088,"åĨľæĿij":101089,"éĢłæĪIJ":101090,"æĶ¿æ²»":101091,"éĴĪ对":101092,"æŃ£å¼ı":101093,"åıĸå¾Ĺ":101094,"éĤ£ä¸ª":101095,"éĽĨä¸Ń":101096,"åıªèĥ½":101097,"å¿«éĢŁ":101098,"身ä½ĵ":101099,"åħļåijĺ":101100,"èģĶåIJĪ":101101,"åĬĽéĩı":101102,"éĥ½æľī":101103,"æħ§":101104,"å¡Ķ":101105,"åĪ«äºº":101106,"表çݰ":101107,"æķħäºĭ":101108,"ä¸ĢåĪĩ":101109,"å°ĩ":101110,"èµĦæĸĻ":101111,"åŁ¹åħ»":101112,"éĺħ读":101113,"æľī人":101114,"èIJ¥éĶĢ":101115,"çĽijçĿ£":101116,"çݯä¿Ŀ":101117,"èĢĥèĻij":101118,"æ·±åľ³":101119,"严éĩį":101120,"èĮĥåĽ´":101121,"å§Ķåijĺ":101122,"çĽij管":101123,"ä¸ī个":101124,"è£ħä¿®":101125,"åħ¬éĩĮ":101126,"åĪĨåĪ«":101127,"çIJĨè§£":101128,"飩":101129,"åĬłå·¥":101130,"è®¤çľŁ":101131,"ä¸į好":101132,"åݻ年":101133,"éĻįä½İ":101134,"æľºä¼ļ":101135,"åįıè®®":101136,"符åIJĪ":101137,"å¢ŀ强":101138,"æĬĢèĥ½":101139,"é¦ĸåħĪ":101140,"秦":101141,"ä¸ģ":101142,"å°¾":101143,"æľīäºĨ":101144,"åľ°äº§":101145,"æ¸ł":101146,"æĸ¹ä¾¿":101147,"ç§»åĬ¨":101148,"éĢŁåº¦":101149,"å°¤åħ¶":101150,"éĢļçŁ¥":101151,"åĿĽ":101152,"éģ¿åħį":101153,"æģ¢":101154,"è´¡":101155,"èģĮå·¥":101156,"å®ŀåĬĽ":101157,"æĺ¯ä¸Ģç§į":101158,"åIJ¯åĬ¨":101159,"çĸ¾çĹħ":101160,"æĿ¥äºĨ":101161,"çĽ¸å¯¹":101162,"çݰå®ŀ":101163,"èŀįåIJĪ":101164,"åIJĮæł·":101165,"åħ¬åijĬ":101166,"ç®Ĭ":101167,"ç´«":101168,"ä¸ĭåİ»":101169,"ä¼łæĴŃ":101170,"æľĢ好":101171,"ä¼ĺè´¨":101172,"æ²Ĵ":101173,"æĮº":101174,"æĹ¦":101175,"诺":101176,"ä¸ĢåIJį":101177,"éģĵè·¯":101178,"示èĮĥ":101179,"è¿ĩæĿ¥":101180,"åIJĮåѦ":101181,"é¼ĵ":101182,"æĿŃ":101183,"æľ¬æ¬¡":101184,"åIJĮæĦı":101185,"ä¸ĸ纪":101186,"ç¾Ĭ":101187,"欲":101188,"å·¥èīº":101189,"çĵ¦":101190,"人士":101191,"æľīæīĢ":101192,"ä»İäºĭ":101193,"æľīå¾Īå¤ļ":101194,"ä¸įäºĨ":101195,"å²Ĺä½į":101196,"åıĺå¾Ĺ":101197,"åĬ³åĬ¨":101198,"å¤Ħäºİ":101199,"å¹³åĿĩ":101200,"形象":101201,"å¡ŀ":101202,"åħ±äº«":101203,"çĿĽ":101204,"åĪ©æ¶¦":101205,"æŃ£æĺ¯":101206,"å¾Ģå¾Ģ":101207,"缸æ¯Ķ":101208,"横":101209,"åĪ·":101210,"æµĻæ±Ł":101211,"大éĥ¨åĪĨ":101212,"å¤ļ个":101213,"æĤ¨çļĦ":101214,"ç͵åķĨ":101215,"å¾®åįļ":101216,"å§ĭç»Ī":101217,"çĬ¯ç½ª":101218,"æĺ¯åľ¨":101219,"ç»ĦåIJĪ":101220,"åİŁæĿ¥":101221,"æ¸ħæ¥ļ":101222,"åIJĦåľ°":101223,"æĦŁåıĹ":101224,"å½ĵä¸Ń":101225,"è¶ĭåĬ¿":101226,"æĻ¯åĮº":101227,"羣æĺ¯":101228,"ä¾ĽåºĶ":101229,"转åŀĭ":101230,"çĭĤ":101231,"èĨľ":101232,"èĭĹ":101233,"å¿ł":101234,"å¾Ī大":101235,"èĤ¡æĿĥ":101236,"ç¾İåħĥ":101237,"æİĴåIJį":101238,"åĬ¨çī©":101239,"éĶħ":101240,"墨":101241,"主å¸Ń":101242,"å¾Ī好":101243,"ç»Ŀ对":101244,"æĿľ":101245,"转载":101246,"çĴĥ":101247,"æĿijæ°ij":101248,"åIJ¨":101249,"åĽŃåĮº":101250,"é«ĺ度":101251,"çī©è´¨":101252,"è¾ī":101253,"æĹ¥å¸¸":101254,"æıĴ":101255,"ä¸īå¹´":101256,"ä½ĵçݰ":101257,"æīįæĺ¯":101258,"代çIJĨ":101259,"ä¸į管":101260,"æģĴ":101261,"åľ°ä½į":101262,"ç²®":101263,"èĸĦ":101264,"æĺİçϽ":101265,"ä¸Ģèĩ´":101266,"æĽ¼":101267,"åĵŃ":101268,"åĩ¤":101269,"åĬ²":101270,"æķĮ":101271,"æĪĺæĸĹ":101272,"主ä½ĵ":101273,"åħ¬å¸ĥ":101274,"åıĤèĢĥ":101275,"èĪªç©º":101276,"寺":101277,"åѦä¼ļ":101278,"åıįæĺł":101279,"ç¾İ丽":101280,"太éĺ³":101281,"建æĪIJ":101282,"æħ¢æħ¢":101283,"åIJĦ个":101284,"éĤ¦":101285,"ç»ĦæĪIJ":101286,"ä¸ī大":101287,"éͦ":101288,"大å¤ļæķ°":101289,"æ¦Ĥ念":101290,"éŃĤ":101291,"åħ¬çĽĬ":101292,"èįĴ":101293,"身份":101294,"æ·±åĪ»":101295,"åħ©":101296,"ç»ıåħ¸":101297,"åIJĦ项":101298,"èĻķ":101299,"è¿ĽæŃ¥":101300,"åįģäºĮ":101301,"æī§æ³ķ":101302,"æĥ³åΰ":101303,"æĦŁæŁĵ":101304,"åķĨåĬ¡":101305,"å°ıç»Ħ":101306,"èͬ":101307,"çıŃåŃIJ":101308,"åIJĮå¿Ĺ":101309,"éĿ¢ä¸´":101310,"çĤĴ":101311,"å¤ļç§į":101312,"è§ĤçĤ¹":101313,"åĵªéĩĮ":101314,"å°Ŀ":101315,"å§Ĩ":101316,"èħ¹":101317,"åŁİåĮº":101318,"太å¤ļ":101319,"çĹħæ¯Ĵ":101320,"åľ¨äºİ":101321,"æīĢè°ĵ":101322,"æĻ°":101323,"æŀĿ":101324,"æĭĸ":101325,"å®ħ":101326,"æķ´æ²»":101327,"ä½ıæĪ¿":101328,"åģ·":101329,"çĨĬ":101330,"èµģ":101331,"æ°Ľ":101332,"æł¼å±Ģ":101333,"åŁºç¡Ģä¸Ĭ":101334,"èĥĨ":101335,"åħ½":101336,"鼶åĶ®":101337,"åĿ¡":101338,"女åŃ©":101339,"æĴŀ":101340,"åħ¨åĬĽ":101341,"åĴĸ":101342,"èĤ©":101343,"çľī":101344,"èĩ³äºİ":101345,"åħļç»Ħ":101346,"ä¸Ģä»¶":101347,"æĭĨ":101348,"äºĭå®ŀ":101349,"åĤ³":101350,"æ¹ĺ":101351,"ç¶²ç«Ļ":101352,"循çݯ":101353,"åIJĮæ¯Ķ":101354,"æĭĶ":101355,"åĮ»èį¯":101356,"åħ»æ®ĸ":101357,"åĽºå®ļ":101358,"å®ŀéĻħä¸Ĭ":101359,"è®°å¾Ĺ":101360,"åĪ©äºİ":101361,"æĤ¦":101362,"æĭ³":101363,"èĤĿ":101364,"æķĪçĽĬ":101365,"該":101366,"æ°ij主":101367,"çĹĩçĬ¶":101368,"風":101369,"å¹¼åĦ¿":101370,"å§ij":101371,"æĪĴ":101372,"ä¸ĭçļĦ":101373,"渡":101374,"å¹´åºķ":101375,"è®°å¿Ĩ":101376,"åIJIJ":101377,"大å¹ħ":101378,"å¾½":101379,"åħ¬ä¼Ĺ":101380,"ä¿¡å¿ĥ":101381,"çİĽ":101382,"ä¼ļä¸Ĭ":101383,"ä¹Ķ":101384,"æijĦå½±":101385,"æ£ĭçīĮ":101386,"éĻķ":101387,"åºĶæĢ¥":101388,"æĶ¶è´¹":101389,"æİ§èĤ¡":101390,"仪å¼ı":101391,"çŀ¬":101392,"æīĢåľ¨":101393,"碰":101394,"å§ĵ":101395,"é¡Į":101396,"æĶ¯éĥ¨":101397,"使åij½":101398,"çĤī":101399,"å¯Ħ":101400,"翼":101401,"åľ°ä¸ĭ":101402,"è¾ŀ":101403,"俱":101404,"主æĮģ":101405,"è´§å¸ģ":101406,"æģ¨":101407,"èĤĮ":101408,"çĽĪ":101409,"éĶ»":101410,"å¿ĹæĦ¿":101411,"类似":101412,"æĮĸ":101413,"éĢ»":101414,"總":101415,"纪念":101416,"åķ¥":101417,"弯":101418,"åIJįåŃĹ":101419,"åģ¥èº«":101420,"çļĦå¿ĥ":101421,"驱":101422,"èĥĮåIJİ":101423,"æ³ķå¸Ī":101424,"ç²Ĵ":101425,"èĥ½éĩı":101426,"è¾°":101427,"èī³":101428,"å½¼":101429,"段æĹ¶éĹ´":101430,"åIJĪæ³ķ":101431,"æĵ¦":101432,"ç¾½":101433,"åݨ":101434,"æĪij说":101435,"äºĭåĬ¡":101436,"åĩłå¤©":101437,"åħģ":101438,"ç¼´":101439,"åįĵ":101440,"两ç§į":101441,"çĭ¬çī¹":101442,"帶":101443,"éĴ»":101444,"æĥ©":101445,"é¢ĨåħĪ":101446,"è¶³å¤Ł":101447,"壳":101448,"æĦıåij³çĿĢ":101449,"åĪĨå¸ĥ":101450,"ä¹ĥ":101451,"éģĭ":101452,"佩":101453,"è°±":101454,"çģ£":101455,"èį¡":101456,"贯彻":101457,"å¹¾":101458,"ç£ģ":101459,"åħ¸åŀĭ":101460,"åīĩ":101461,"åĨ»":101462,"æ¬ł":101463,"ä¸įä¹ħ":101464,"浦":101465,"éŃħ":101466,"å¼ĢäºĨ":101467,"使ç͍èĢħ":101468,"è¿Ļ款":101469,"å°Ī":101470,"èĦ±è´«":101471,"æĶ»åĿļ":101472,"ç®Ĺæĺ¯":101473,"ç¨Ģ":101474,"æĹłäºº":101475,"åłµ":101476,"å¥ı":101477,"éĥ½å¸Ĥ":101478,"åı¯è§ģ":101479,"ä¸įåĩº":101480,"æ·»":101481,"äºı":101482,"ç¾İ好":101483,"èĥĸ":101484,"飵":101485,"æłĩå¿Ĺ":101486,"èĬĤèĥ½":101487,"æĬ«":101488,"å°º":101489,"寸":101490,"ä¸Ģ代":101491,"é¢Ĺ":101492,"è̶":101493,"èĴ¸":101494,"åĸ®":101495,"滿":101496,"çĮľ":101497,"æµĨ":101498,"åŁĥ":101499,"åįĥä¸ĩ":101500,"èµĮ":101501,"èģ²":101502,"ä½ľé£İ":101503,"質":101504,"寨":101505,"年人":101506,"åį°è±¡":101507,"æ¡¶":101508,"æĴ¤":101509,"åįģäºĶ":101510,"æ¯ħ":101511,"沪":101512,"åĽ½æľī":101513,"大éĩıçļĦ":101514,"御":101515,"å¯ĵ":101516,"è¦ĸ":101517,"æ¼Ĥ亮":101518,"çľł":101519,"çĤŃ":101520,"é»İ":101521,"èϹ":101522,"åĪ©äºļ":101523,"èŃī":101524,"æµı":101525,"åįģåħ«":101526,"丢":101527,"è¾½":101528,"æľīä¸ĢäºĽ":101529,"æħĪ":101530,"åģľè½¦":101531,"å®ł":101532,"è§£æĶ¾":101533,"æľīå¤ļ":101534,"éĤĬ":101535,"常è§ģ":101536,"æĬ¹":101537,"纤":101538,"親":101539,"æ¡Ĩ":101540,"èİŀ":101541,"æ°§åĮĸ":101542,"è¿Ļä»¶":101543,"åĩ°":101544,"æŁ´":101545,"åıijç͵":101546,"é¼ł":101547,"转åĮĸ":101548,"å¨ĥ":101549,"æĮ¤":101550,"罩":101551,"å¯ĨåĪĩ":101552,"æĪijä¸į":101553,"é«ĺæĸ°":101554,"ä¸Ģç¯ĩ":101555,"è¿Ľç¨ĭ":101556,"è¡°":101557,"è¿ĺä¸į":101558,"çħĮ":101559,"æĸ°åįİ":101560,"èĤ¿":101561,"滩":101562,"ä¸Ģæµģ":101563,"è¯Ī":101564,"å®ŀä½ĵ":101565,"å¤ĸåĽ½":101566,"躲":101567,"èµł":101568,"覺":101569,"æ¢Ŀ":101570,"ä¸įè§ģ":101571,"è¨Ĭ":101572,"åĮ¹":101573,"åįµ":101574,"çĩ¥":101575,"æħķ":101576,"齿":101577,"å®´":101578,"饼":101579,"èij¡èIJĦ":101580,"å°ıå¿ĥ":101581,"æģ¼":101582,"éĻĮ":101583,"æĺĤ":101584,"åĥ¹":101585,"èĬĿ":101586,"æ¯ı个人":101587,"åīįæıIJ":101588,"ä½ĵä¼ļ":101589,"æ¨Ļ":101590,"æIJľçĭIJ":101591,"对åħ¶":101592,"丧":101593,"èľĤ":101594,"浸":101595,"調":101596,"åĿª":101597,"é¢ĸ":101598,"åIJį为":101599,"笼":101600,"èĪĮ":101601,"æľ¬ä¹¦":101602,"èģ¯":101603,"纺":101604,"ç®Ģ缴":101605,"éĽ¢":101606,"ç¾İçļĦ":101607,"éļ¨":101608,"é«ĺå³°":101609,"è¿Ļå®¶":101610,"åĤ¬":101611,"å°¸":101612,"ç¡ķ士":101613,"èŃ·":101614,"è°¨":101615,"æĺı":101616,"æĶ¿åįı":101617,"è¡Ķ":101618,"ç¿Ĵ":101619,"åľĴ":101620,"åĽ½æ°ij":101621,"主è§Ĵ":101622,"è£ķ":101623,"伪":101624,"åºŀ":101625,"æ°ijèIJ¥":101626,"æĥ§":101627,"ç§ĺ书":101628,"çĹķ":101629,"çϾåĪĨ":101630,"溶":101631,"æĹłçĸij":101632,"çļĦçľ¼":101633,"æĵİ":101634,"ä¼Łå¤§":101635,"å½°":101636,"åħ¬å®īå±Ģ":101637,"ç³ķ":101638,"å¼¥":101639,"åĤĻ":101640,"ä¹¾":101641,"毫ä¸į":101642,"注æĺİ":101643,"å̻":101644,"æĦī":101645,"æķ¦":101646,"馨":101647,"æĶĢ":101648,"éĢĿ":101649,"åı¯éĿł":101650,"夸":101651,"åľĺ":101652,"éĿ¢ä¸Ĭ":101653,"æĬĸ":101654,"èĦĨ":101655,"é©°":101656,"ä¼IJ":101657,"妨":101658,"å®ļäºĨ":101659,"ç³Ĭ":101660,"æŃ¡":101661,"éĥ¨éķ¿":101662,"ç§ī":101663,"èĪĨ":101664,"åĪijäºĭ":101665,"åIJµ":101666,"æ¤Ĵ":101667,"è¡ĵ":101668,"豫":101669,"èı©":101670,"åѵ":101671,"饲":101672,"就好":101673,"åłª":101674,"ä¸īè§Ĵ":101675,"åľºæ¯ĶèµĽ":101676,"ä¸įåģľ":101677,"æĵħ":101678,"åħ¨æĸĩ":101679,"æ³ģ":101680,"åѦä½į":101681,"æ±°":101682,"éłĺ":101683,"åıł":101684,"éļĽ":101685,"å¸IJ":101686,"çľĭåĩº":101687,"åĮł":101688,"å±ĢéĿ¢":101689,"æ³Į":101690,"è°Ĭ":101691,"åIJĮæľŁ":101692,"æĬķæłĩ":101693,"奴":101694,"æĿ¥çľĭçľĭ":101695,"èĦ¾":101696,"èŀº":101697,"æŃī":101698,"çĽ¯":101699,"ç¨İåĬ¡":101700,"å»Ĭ":101701,"æİ©":101702,"æħ¨":101703,"çĽ¼":101704,"èĬĴ":101705,"è®Ģ":101706,"æĮ£":101707,"èĮħ":101708,"æĸ¥":101709,"æ¤ħ":101710,"åΰæĿ¥":101711,"èijĹä½ľ":101712,"çĭ±":101713,"äºĮæīĭ":101714,"ä»İæĿ¥":101715,"çĸ²":101716,"åºĬä¸Ĭ":101717,"æĸ°æµª":101718,"æ³Ħ":101719,"å¢ŀå̼":101720,"丼":101721,"æļij":101722,"ä»İä¸ļ":101723,"æ·ĭ":101724,"å¤ļæł·":101725,"æľ´":101726,"份é¢Ŀ":101727,"æŀ£":101728,"西çľģ":101729,"æľ¬è´¨":101730,"深深":101731,"èīĩ":101732,"绵":101733,"产å̼":101734,"æ¼ł":101735,"èħ»":101736,"çŃĽ":101737,"åİĮ":101738,"æģŃ":101739,"å«Įçĸij":101740,"æĪ¶":101741,"æ»ŀ":101742,"èĨĢ":101743,"åĬ£":101744,"座è°Ī":101745,"常æĢģ":101746,"çļĦæĥħ":101747,"覽":101748,"å¯Ĥ":101749,"åĮĨ":101750,"èĩº":101751,"顯":101752,"çķı":101753,"éģ£":101754,"åįľ":101755,"çŃīå¥ĸ":101756,"責":101757,"溯":101758,"éİ":101759,"çĤ¹å¤´":101760,"èĵ¬":101761,"決":101762,"éħ¬":101763,"éģĬ":101764,"è³¼":101765,"註åĨĬ":101766,"æľ¬æĬ¥":101767,"çµķ":101768,"æ´»æĢ§":101769,"åħij":101770,"éĮ¯":101771,"åĨ¶":101772,"åĸ»":101773,"æºĸ":101774,"èĤ¢":101775,"æºĥ":101776,"æĹ¬":101777,"åīĬ":101778,"çIJĨäºĭ":101779,"å±ł":101780,"æ²§":101781,"èļĢ":101782,"鼻åŃIJ":101783,"为æŃ¢":101784,"常å§Ķ":101785,"çµĤ":101786,"éĬ·":101787,"çĭĢ":101788,"ä¾£":101789,"èĥĢ":101790,"èѰ":101791,"çĶ¨è½¦":101792,"åĻª":101793,"æŃ·":101794,"åįĶ":101795,"åι":101796,"竣æĺ¯":101797,"é©Ĺ":101798,"èIJĿ":101799,"çĻ«":101800,"çĹ«":101801,"æŃ§":101802,"å¼Ĭ":101803,"媽":101804,"çıĬ":101805,"è¡·":101806,"éľī":101807,"åŁºçĿ£":101808,"éļ±":101809,"æ°¨":101810,"绸":101811,"å°¼æĸ¯":101812,"çĥĺ":101813,"æľŁåĨħ":101814,"è°ħ":101815,"éĽĩ":101816,"éļĻ":101817,"åĸī":101818,"åī¥":101819,"çĹĺ":101820,"æĮ½":101821,"çĵ£":101822,"æ¹Ľ":101823,"樱":101824,"æ¾İ":101825,"æ¹ĥ":101826,"åĨ¬å¥¥":101827,"棵":101828,"å®°":101829,"åŀĴ":101830,"æ§ĭ":101831,"ä¾Ī":101832,"èĮĦ":101833,"åĺ¿":101834,"èıĩ":101835,"çĻĤ":101836,"åĬĥ":101837,"éį":101838,"èͽ":101839,"çŀŃ":101840,"æķŀ":101841,"ä¹ĸ":101842,"飧":101843,"è¾ľ":101844,"æĩĪ":101845,"ä½£":101846,"çŀ»":101847,"åŁĶ":101848,"èĪħ":101849,"å®ŀäºĭ":101850,"é¨":101851,"å§¥":101852,"絡":101853,"åĺ»":101854,"çķ¢":101855,"æ²ĥå°Ķ":101856,"è¿Ħ":101857,"èĤĩ":101858,"æħij":101859,"ã§":101860,"äı":101861,"ðł":101862,"ð¬ĩ":101863,"ð«Ń":101864,"ð«IJ":101865,"ã³":101866,"©½":101867,"ð«ł":101868,"ãĽ":101869,"ð¬į":101870,"é¿":101871,"ð¬Ĵ":101872,"ãĻ":101873,"ð¬¤":101874,"ð¬´":101875,"ð«ĸ":101876,"ð¤":101877,"ã¬":101878,"ä²":101879,"ð«Ķ":101880,"ð«ļ":101881,"è¦ģæ±Ĥ":101882,"ä¸ĢäºĽ":101883,"å®ŀçݰ":101884,"èĢĮä¸Ķ":101885,"åĽłæŃ¤":101886,"çͱäºİ":101887,"åħ³äºİ":101888,"çĦ¶åIJİ":101889,"æİ¨åĬ¨":101890,"ä¸Ģæł·":101891,"æĮīçħ§":101892,"è¿Ļæł·çļĦ":101893,"å½¢æĪIJ":101894,"æľīäºĽ":101895,"æĽ´åĬł":101896,"ç»ıè¿ĩ":101897,"建议":101898,"æ²»çĸĹ":101899,"ä½łä»¬":101900,"æīįèĥ½":101901,"ä¿ĥè¿Ľ":101902,"åijĺå·¥":101903,"ä½ĵéªĮ":101904,"èĪĩ":101905,"åģļ好":101906,"ä¿Ŀè¯ģ":101907,"æķ´ä¸ª":101908,"æĺ¯ä¸Ģ个":101909,"éĩĩç͍":101910,"çIJĨ论":101911,"æ¯Ķå¦Ĥ":101912,"ä¸ĬçļĦ":101913,"æİ¨èįIJ":101914,"çĶ³è¯·":101915,"天空":101916,"éĥ¨èIJ½":101917,"åįģåĪĨ":101918,"æĿ¥èĩª":101919,"ä¹ĭéĹ´":101920,"è°ĥæķ´":101921,"æ¯ı天":101922,"è°ĥæŁ¥":101923,"æĤ£èĢħ":101924,"è¿ĩç¨ĭä¸Ń":101925,"é¦Ļ港":101926,"广åijĬ":101927,"éĿ¢å¯¹":101928,"满足":101929,"éķ¿æľŁ":101930,"è§ĦèĮĥ":101931,"æķ´ä½ĵ":101932,"æĶ¹åıĺ":101933,"æĻºæħ§":101934,"å¦Īå¦Ī":101935,"å¦Ĥä»Ĭ":101936,"åIJĪåIJĮ":101937,"éĥ½ä¼ļ":101938,"åĦ¿ç«¥":101939,"åĩıå°ij":101940,"éŁ³ä¹IJ":101941,"ç»ı常":101942,"ä¸Ĭå¸Ĥ":101943,"ä¼ĺç§Ģ":101944,"çļĦéĩįè¦ģ":101945,"ä¸ĢæĿ¡":101946,"æµ·å¤ĸ":101947,"åı¦å¤ĸ":101948,"ä¸Ģå®¶":101949,"åİĭåĬĽ":101950,"大åŀĭ":101951,"çľĭçĿĢ":101952,"åĪĢ":101953,"幸ç¦ı":101954,"æİ¨å¹¿":101955,"åIJĽ":101956,"å¾IJ":101957,"æī¾åΰ":101958,"äºİæĺ¯":101959,"èĩªèº«":101960,"ä¸Ģä½į":101961,"åľŁåľ°":101962,"åĬłåħ¥":101963,"æİ¢ç´¢":101964,"æ¢ģ":101965,"主åĬ¨":101966,"å°±ä¸ļ":101967,"女æĢ§":101968,"çªģçł´":101969,"ä¸įåIJĮçļĦ":101970,"è¿IJè¾ĵ":101971,"èĩªçͱ":101972,"å±ħæ°ij":101973,"æŃ¤æ¬¡":101974,"çļĦæĹ¶éĹ´":101975,"å®¶éķ¿":101976,"ä¸Ģ个人":101977,"æ£Ģæµĭ":101978,"åĨħéĥ¨":101979,"广å·ŀ":101980,"缴æĴŃ":101981,"ä»İèĢĮ":101982,"贷款":101983,"åı¬å¼Ģ":101984,"æĶ¹éĢł":101985,"人çĶŁ":101986,"å±ķ示":101987,"æ¯ıå¹´":101988,"女人":101989,"çļĦæĸ¹å¼ı":101990,"æķĪçİĩ":101991,"å±±ä¸ľ":101992,"æ¸łéģĵ":101993,"ä¼¼ä¹İ":101994,"æ¡Īä»¶":101995,"åĪ©çĽĬ":101996,"çľĭçľĭ":101997,"å¿ĥéĩĮ":101998,"ç»´æĬ¤":101999,"å®Ŀå®Ŀ":102000,"ç½ijä¸Ĭ":102001,"论åĿĽ":102002,"å°±åı¯ä»¥":102003,"ä¸įè¶³":102004,"æģ¢å¤į":102005,"å¸ĥå±Ģ":102006,"è´¡çĮ®":102007,"ä¸ĭéĻį":102008,"æİĮæı¡":102009,"çļ®èĤ¤":102010,"å·¥åħ·":102011,"éĩįåºĨ":102012,"åĵģè´¨":102013,"æİ¨åĩº":102014,"çĶ·äºº":102015,"æī¿æĭħ":102016,"çªģåĩº":102017,"èĢĮè¨Ģ":102018,"æ²Ł":102019,"åįıè°ĥ":102020,"æĺ¯ä»Ģä¹Ī":102021,"汤":102022,"æĴij":102023,"çĭ¬ç«ĭ":102024,"çݯèĬĤ":102025,"æī©å¤§":102026,"æ´ª":102027,"æĿ°":102028,"çĽIJ":102029,"ä»ģ":102030,"æ¶īåıĬ":102031,"èĢģ人":102032,"åį³ä½¿":102033,"åįĹ京":102034,"éħįåIJĪ":102035,"鬼":102036,"çĪ¶äº²":102037,"ç½Ĺæĸ¯":102038,"å°ıåĮº":102039,"æķĻæİĪ":102040,"åĨ³çŃĸ":102041,"é¢Ħ计":102042,"æľ¬äºº":102043,"伯":102044,"竹":102045,"åΰåºķ":102046,"å¸Ĥæ°ij":102047,"åĩºåı£":102048,"éĩĩè´Ń":102049,"æĢ»ç»ĵ":102050,"æŃ¦æ±ī":102051,"åĬłå¤§":102052,"å¹¿ä¸ľ":102053,"æµģç¨ĭ":102054,"人åı£":102055,"å¦Ĥæŀľä½ł":102056,"åĩºåİ»":102057,"åĩī":102058,"åĨľæ°ij":102059,"çݰ象":102060,"åĬĽåº¦":102061,"ç»ĻäºĪ":102062,"åħļå§Ķ":102063,"è¯Ńè¨Ģ":102064,"线ä¸Ĭ":102065,"æĢİæł·":102066,"åĦ¿åŃIJ":102067,"ç¡®å®ŀ":102068,"ä¹ĭå¤ĸ":102069,"éĥ½åľ¨":102070,"èī¾":102071,"çļĦæĥħåĨµ":102072,"éĩĮçļĦ":102073,"åĽ´ç»ķ":102074,"æĽ´å¤ļçļĦ":102075,"ä¾Ŀæ³ķ":102076,"åħ¬åĽŃ":102077,"å®¶éĩĮ":102078,"æ¯į亲":102079,"ä¸įåĨį":102080,"èĭ¹":102081,"æ³ķéĻ¢":102082,"éŁ©åĽ½":102083,"缸å½ĵ":102084,"ä¸įçŁ¥":102085,"è¯Ħä¼°":102086,"ä¸įç͍":102087,"顺åĪ©":102088,"éĩįè§Ĩ":102089,"è´¢åĬ¡":102090,"ä»ĸåĢij":102091,"åıijè¡Į":102092,"ä¸ĵéŨ":102093,"åħ·å¤ĩ":102094,"å¹¶ä¸įæĺ¯":102095,"è¶³çIJĥ":102096,"éŀĭ":102097,"åıij表":102098,"æ°¸è¿ľ":102099,"èIJ¥åħ»":102100,"éħįå¥Ĺ":102101,"æķ´åIJĪ":102102,"è´º":102103,"åĽŀçŃĶ":102104,"æĶ¶çĽĬ":102105,"ä¹Łè®¸":102106,"è»Ĭ":102107,"æİ¥è§¦":102108,"æĶ»åĩ»":102109,"åĽĽå·Ŀ":102110,"æĢ§èĥ½":102111,"åĽŀåΰ":102112,"èħ°":102113,"ä¹Łæ²¡æľī":102114,"å¼Ħ":102115,"设ç«ĭ":102116,"éĺ²æİ§":102117,"æĬĢå·§":102118,"éĢļ常":102119,"è´¢æĶ¿":102120,"éĥ¨ç½²":102121,"åľºæĻ¯":102122,"æ±Łèĭı":102123,"表达":102124,"åĸ·":102125,"女åĦ¿":102126,"èζ":102127,"給":102128,"ä¼ļåijĺ":102129,"æĪĸ许":102130,"亩":102131,"举æĸ¹":102132,"天津":102133,"è¿ijå¹´":102134,"çľĭæĿ¥":102135,"æ¯Ķä¾ĭ":102136,"岩":102137,"éĵľ":102138,"çİ»":102139,"å®ŀéªĮ":102140,"æĢĿç»´":102141,"æĭħå¿ĥ":102142,"æ²Ī":102143,"身边":102144,"æ·±åĮĸ":102145,"ç²¾åĩĨ":102146,"ç§ģæľį":102147,"æ¶Īéĺ²":102148,"åİ»äºĨ":102149,"ç»Ĩèĥŀ":102150,"çIJĥéĺŁ":102151,"æĺİæĺŁ":102152,"é£Łçī©":102153,"å¾Īå¿«":102154,"è®©ä½ł":102155,"ä¿¡ç͍":102156,"å͝ä¸Ģ":102157,"åħ¶å®ĥ":102158,"çŃīæĸ¹éĿ¢":102159,"å¾ĭå¸Ī":102160,"æŃ»äº¡":102161,"æŁ³":102162,"ä¸Ģæī¹":102163,"ä¸Ĭ涨":102164,"æľºåľº":102165,"å½¢åĬ¿":102166,"æĦ¿æĦı":102167,"éĽĨä½ĵ":102168,"æĸ°åŀĭ":102169,"æįŁå¤±":102170,"æĽ¸":102171,"ä¸ĭåįĪ":102172,"æ¯ı次":102173,"æĪIJå°±":102174,"åħ¬è·¯":102175,"èĻ«":102176,"åĴ±":102177,"西å®ī":102178,"æľĢä½³":102179,"ç§ijçłĶ":102180,"å¤įæĿĤ":102181,"æľºåύ":102182,"çαæĥħ":102183,"çħ§çīĩ":102184,"å¹´é¾Ħ":102185,"è³ĩæĸĻ":102186,"ç²Ĺ":102187,"åĩĨç¡®":102188,"åĬłä¸Ĭ":102189,"åĩºçīĪ":102190,"è°IJ":102191,"å®¶å±ħ":102192,"èĥĮæĻ¯":102193,"ä¸Ģ线":102194,"äºĭ项":102195,"åĬ¨ä½ľ":102196,"祥":102197,"æĢ»ä½ĵ":102198,"æĪ¿åŃIJ":102199,"ä¹Łå°±æĺ¯":102200,"大æ¦Ĥ":102201,"é«ĺæķĪ":102202,"åIJ¹":102203,"æİĪæĿĥ":102204,"éĻĦè¿ij":102205,"æ¡Īä¾ĭ":102206,"éĹ¹":102207,"çΏçΏ":102208,"彩票":102209,"æĢĴ":102210,"举æĬ¥":102211,"æĻ®éģį":102212,"çķĻä¸ĭ":102213,"è¡£æľį":102214,"æĹłè®ºæĺ¯":102215,"åħħ满":102216,"深度":102217,"æ¡ij":102218,"æĪªèĩ³":102219,"带æĿ¥çļĦ":102220,"éϵ":102221,"æĦŁæĥħ":102222,"èµļ":102223,"åĵªäºĽ":102224,"æķ´æĶ¹":102225,"æĪIJçĨŁ":102226,"å¨ľ":102227,"é¼»":102228,"磼":102229,"çĽ¾":102230,"好好":102231,"ç¬¬åĽĽ":102232,"åĨłåĨĽ":102233,"è´¢å¯Į":102234,"æľĢ好çļĦ":102235,"车åŀĭ":102236,"éĸĢ":102237,"åį³å°Ĩ":102238,"åĪĨ为":102239,"éĿĴå²Ľ":102240,"纷纷":102241,"ä»ĬæĹ¥":102242,"平衡":102243,"å¹³æĸ¹ç±³":102244,"éĤ£ç§į":102245,"åĩºçĶŁ":102246,"éĿĴæĺ¥":102247,"人群":102248,"人工":102249,"ä¹ĭä¸ĭ":102250,"æ¹ĸåĮĹ":102251,"åľ¨æŃ¤":102252,"åįļ士":102253,"æĹ¶åĪ»":102254,"æ²³åĮĹ":102255,"æĶ¾å¼ĥ":102256,"éĢļéģĵ":102257,"森æŀĹ":102258,"çĸĨ":102259,"æķ¸":102260,"èĬ³":102261,"æīĵåĩ»":102262,"æĽ¹":102263,"åĮĸåѦ":102264,"æĥ³è±¡":102265,"ä¸ĩ人":102266,"è´¢ç»ı":102267,"åħĥç´ł":102268,"ä¼ļ计":102269,"åħ¨ä½ĵ":102270,"æĦĽ":102271,"é«ĺä¸Ń":102272,"æľºéģĩ":102273,"å£°éŁ³":102274,"æĹħè¡Į":102275,"浩":102276,"æŁ±":102277,"å°ijå¹´":102278,"åĽ½å¤ĸ":102279,"èijĹåIJį":102280,"çĶŁåŃĺ":102281,"å§ľ":102282,"带é¢Ĩ":102283,"é¢ľèī²":102284,"ä¸Ĭä¸ĭ":102285,"产ä¸ļéĵ¾":102286,"æĽ´å¥½çļĦ":102287,"å²Ń":102288,"ä¼ĺæĥł":102289,"便æĺ¯":102290,"åħ§å®¹":102291,"ä¸Ģåıª":102292,"çIJ´":102293,"梦æĥ³":102294,"ç§Łèµģ":102295,"å¼ĢåIJ¯":102296,"è´Ńçī©":102297,"åĮħåIJ«":102298,"åĪ©çİĩ":102299,"èµ·äºĨ":102300,"æľīåĬĽ":102301,"éĤ£éĩĮ":102302,"审æī¹":102303,"对æīĭ":102304,"çݰéĩij":102305,"天çĦ¶":102306,"çĽĴ":102307,"çν":102308,"å¿ħçĦ¶":102309,"åĮĸå·¥":102310,"ä¸ĵåĪ©":102311,"åķ¡":102312,"å¼Ģå¿ĥ":102313,"人ä½ĵ":102314,"éģĵ士":102315,"æĢģ度":102316,"空è°ĥ":102317,"æĭĽåķĨ":102318,"å§»":102319,"第äºĶ":102320,"æ£Ĵ":102321,"ä¸Ģç³»åĪĹ":102322,"å᱿ľº":102323,"转åıĺ":102324,"åľºæīĢ":102325,"鸣":102326,"æĪ¿éĹ´":102327,"é̼":102328,"è¯ķçĤ¹":102329,"对å¤ĸ":102330,"åĩºåı°":102331,"åľ¨è¿Ļ":102332,"åİĤå®¶":102333,"巨大":102334,"ç®Ģä»ĭ":102335,"çľĭäºĨ":102336,"åħļ建":102337,"æĮĩæĮ¥":102338,"çŁ³æ²¹":102339,"ä¸įåı¯èĥ½":102340,"èݲ":102341,"ä¸į太":102342,"åĪĽæĦı":102343,"第ä¸Ģ个":102344,"è´µå·ŀ":102345,"è¿ĩäºĨ":102346,"æľ¬æĿ¥":102347,"éģĵå¾·":102348,"çŃĶæ¡Ī":102349,"é϶":102350,"ä¸Ģè·¯":102351,"èĤĸ":102352,"æ¸ħæ´ģ":102353,"æľīæľº":102354,"åIJįåįķ":102355,"æĿ±":102356,"åij¼åIJ¸":102357,"ä¸Ī":102358,"ç¦ı建":102359,"è¯ķéªĮ":102360,"å¼ķåıij":102361,"ä¹Łæ²¡":102362,"ä¸įä½ı":102363,"çĨŁæĤī":102364,"èIJ¬":102365,"ä¸įèī¯":102366,"çłĸ":102367,"èĩ´åĬĽ":102368,"çŃ¾è®¢":102369,"åIJĬ":102370,"侯":102371,"çĺ¦":102372,"å§ijå¨ĺ":102373,"æĸ¤":102374,"妻åŃIJ":102375,"æĺ¥èĬĤ":102376,"çά":102377,"æĽĿ":102378,"çĥŃæĥħ":102379,"éķ¿æ²Ļ":102380,"èIJ¥éĢł":102381,"éħ·":102382,"éĵĿ":102383,"åŁºæľ¬ä¸Ĭ":102384,"åij¨åĽ´":102385,"ä»Ģ麼":102386,"认åı¯":102387,"åĪĨåŃIJ":102388,"ä¸Ģæĸ¹éĿ¢":102389,"è½´":102390,"å¼·":102391,"马ä¸Ĭ":102392,"éĽ¾":102393,"èĩ£":102394,"å°¿":102395,"çĶŁæĦı":102396,"å®īå¾½":102397,"ç¥ŀç»ı":102398,"åĩºå¸Ń":102399,"èį¯åĵģ":102400,"çIJĨçͱ":102401,"åįıåIJĮ":102402,"æµģåĬ¨":102403,"åıijåĬ¨":102404,"åĿļå®ļ":102405,"表æĺİ":102406,"åIJİéĿ¢":102407,"ä¹īåĬ¡":102408,"å¦ĸ":102409,"æľīåı¯èĥ½":102410,"年轻人":102411,"大éĻĨ":102412,"å²³":102413,"ä¸įèµ·":102414,"çŀ¬éĹ´":102415,"ä¸įå¾Ĺä¸į":102416,"çŃ¾çº¦":102417,"åIJĪæł¼":102418,"åħļæĶ¯éĥ¨":102419,"æµİåįĹ":102420,"便åĪ©":102421,"éļıæĹ¶":102422,"å¥ī":102423,"称为":102424,"产æĿĥ":102425,"åIJķ":102426,"çĽĨ":102427,"课åłĤ":102428,"ç·ļ":102429,"æ£ī":102430,"线ä¸ĭ":102431,"èĩªè¡Į":102432,"举æİª":102433,"åݦéŨ":102434,"èĩªä¿¡":102435,"å½±è§Ĩ":102436,"ä»Ķ":102437,"çĶŁæ´»ä¸Ń":102438,"æĿĥçĽĬ":102439,"çϽèī²":102440,"å°±ä¸į":102441,"è¿Ľå±ķ":102442,"æ¯ıæĹ¥":102443,"ä¾Ľç»Ļ":102444,"æĿĥåĪ©":102445,"æĹłæķ°":102446,"çIJĨè´¢":102447,"ä¾ĿæĹ§":102448,"ä¸ĬåįĪ":102449,"è¯ĨåĪ«":102450,"çĽĪåĪ©":102451,"çłĤ":102452,"许åı¯":102453,"åIJĮäºĭ":102454,"åĺĽ":102455,"éģ¸":102456,"çĿĢåĬĽ":102457,"éŨåı£":102458,"ä¸įå¤ļ":102459,"åħ¶æ¬¡":102460,"碧":102461,"çī©çIJĨ":102462,"åĨħå¿ĥ":102463,"çϾå§ĵ":102464,"æĢ»ç»Ł":102465,"å¹²åĩĢ":102466,"积累":102467,"åıįé¦Ī":102468,"æłijç«ĭ":102469,"社交":102470,"ç§©":102471,"åįģä¸Ģ":102472,"éĤĵ":102473,"驱åĬ¨":102474,"å±ķè§Ī":102475,"èĪĴéĢĤ":102476,"åŁºåĽł":102477,"å·®å¼Ĥ":102478,"转让":102479,"å°ıå§IJ":102480,"æł·åŃIJ":102481,"ç¿Ķ":102482,"é«ĺåħ´":102483,"å½±åĵįåĬĽ":102484,"æīĭç»Ń":102485,"缸åIJĮ":102486,"缸åºĶ":102487,"æĻĴ":102488,"è§Ģ":102489,"å¸Ĥå§Ķ":102490,"èĬ¯":102491,"å±ķçݰ":102492,"åľ°çIJĥ":102493,"éĤª":102494,"ä¸Ģå®ļçļĦ":102495,"åħģ许":102496,"ä¿¡ä»»":102497,"æīij":102498,"éĻ¢æł¡":102499,"ç®Ģç§°":102500,"åģļæ³ķ":102501,"ä¹ĭè·¯":102502,"æĹĹä¸ĭ":102503,"èħĶ":102504,"æ¶Ī失":102505,"ä¸ĸçķĮä¸Ĭ":102506,"åŁİ乡":102507,"èĪŀåı°":102508,"å¾Ī大çļĦ":102509,"绣çѹ":102510,"åħ¬å¹³":102511,"èĤ¾":102512,"çļĦ好":102513,"æ±ģ":102514,"çľ¼åīį":102515,"éĽ£":102516,"å¹½":102517,"åħ±äº§":102518,"主åĬŀ":102519,"å¤Ħç½ļ":102520,"åºĻ":102521,"éģĵçIJĨ":102522,"å¼µ":102523,"æİ¥çĿĢ":102524,"çĮİ":102525,"çģĮ":102526,"çͱæŃ¤":102527,"人åĬĽ":102528,"æµģè¡Į":102529,"ä¾ł":102530,"åı¯ä»¥è¯´":102531,"èĴĭ":102532,"å½¢æĢģ":102533,"æĹ¥åŃIJ":102534,"æ¼Ĩ":102535,"çķĻåѦ":102536,"缸éĹľ":102537,"æľĢå¤ļ":102538,"åĩŃåĢŁ":102539,"åħ¬äº¤":102540,"æĮĸæİĺ":102541,"æĿĤå¿Ĺ":102542,"主人":102543,"éļľç¢į":102544,"æł¡éķ¿":102545,"æĸ¹ä½į":102546,"ä¸ĬçıŃ":102547,"å¤ļåħĥ":102548,"èĥģ":102549,"éŃħåĬĽ":102550,"èĮĤ":102551,"åħħç͵":102552,"强大":102553,"çĥ¤":102554,"å¥ĭæĸĹ":102555,"å®ŀç͍":102556,"éĺģ":102557,"ç»ĻäºĨ":102558,"æľ¬ç§ij":102559,"æłĭ":102560,"æĭ¨":102561,"æķĻç»ĥ":102562,"éĥ½çŁ¥éģĵ":102563,"æ¯ķä¸ļçĶŁ":102564,"ç¢Ĺ":102565,"åŀĤ":102566,"讼":102567,"å®ģæ³¢":102568,"åѦèĢħ":102569,"谢谢":102570,"åŁİéķĩ":102571,"æĢİä¹ĪåĬŀ":102572,"éģĶ":102573,"æĪIJ交":102574,"æ½ľåĬĽ":102575,"åį§":102576,"æĸ°å¼Ģ":102577,"éħįå¤ĩ":102578,"主åĬĽ":102579,"åij³éģĵ":102580,"çĥĤ":102581,"é£ŀè¡Į":102582,"å«ģ":102583,"大大":102584,"ç»Ļ大家":102585,"å¤ĸéĿ¢":102586,"éĨī":102587,"åıijè¨Ģ":102588,"æĹ©é¤IJ":102589,"åIJĦèĩª":102590,"å®Ļ":102591,"èį£èªī":102592,"æĬ«éľ²":102593,"é¡ŀ":102594,"åĨħçļĦ":102595,"èĤª":102596,"è¾IJ":102597,"æ³µ":102598,"æĬĽ":102599,"æĺŁæľŁ":102600,"ä¸Ģ带":102601,"çĶŁç´ł":102602,"ç»ıéĶĢ":102603,"åĩ¶":102604,"åľ°ä¸Ĭ":102605,"åij½è¿IJ":102606,"åĵ²":102607,"ä¸Ĭåİ»":102608,"æĸĩçī©":102609,"è¯ij":102610,"æĮ¯åħ´":102611,"éķ¿æĹ¶éĹ´":102612,"ç¥Ń":102613,"åIJĪèĤ¥":102614,"è¿Ŀè§Ħ":102615,"èģª":102616,"ä½İäºİ":102617,"éĢĤå½ĵ":102618,"æľīåºı":102619,"æľ¬ç½ij":102620,"çķĻè¨Ģ":102621,"æĥ³æ³ķ":102622,"çŃ¾ç½²":102623,"å§ļ":102624,"æĢ§æł¼":102625,"èĴĻåı¤":102626,"æŁı":102627,"åŀ«":102628,"åѦåİĨ":102629,"ä»ħä»ħ":102630,"讲è¯Ŀ":102631,"éĶIJ":102632,"æĢĸ":102633,"åīª":102634,"èĭį":102635,"åIJĵ":102636,"强çĥĪ":102637,"åģ¥åħ¨":102638,"çĸ¯":102639,"åı¤ä»£":102640,"å¥Ī":102641,"ä¸įçĦ¶":102642,"乡éķĩ":102643,"æľĭåıĭ们":102644,"åĤħ":102645,"èģ½":102646,"个æĢ§":102647,"æ³ķè§Ħ":102648,"å°ıéķĩ":102649,"çĶ»éĿ¢":102650,"第åħŃ":102651,"網路":102652,"åīįæĻ¯":102653,"åIJ¬è¯´":102654,"ä¼łåªĴ":102655,"æĿ¡ä¾ĭ":102656,"åĪ«çļĦ":102657,"ä¸įæĩĤ":102658,"顾éĹ®":102659,"强度":102660,"éĺ¿éĩĮ":102661,"èµ°åĬ¿":102662,"帽":102663,"çļĦç¡®":102664,"åĮºåĪ«":102665,"éĮ¢":102666,"主管":102667,"ä¸Ģçľĭ":102668,"æĸľ":102669,"åŃĺåľ¨çļĦ":102670,"仲":102671,"åį±å®³":102672,"éĵŃ":102673,"游æĪıä¸Ń":102674,"éħ±":102675,"é¾Ļ头":102676,"人å¿ĥ":102677,"éĢĢä¼ij":102678,"æµıè§Ī":102679,"åĬ«":102680,"éĺ²æ²»":102681,"ç®Ń":102682,"å±Ī":102683,"è¾½å®ģ":102684,"壤":102685,"è¿İæĿ¥":102686,"éŀį":102687,"ç͍æĿ¥":102688,"å¤§åľ°":102689,"ä»°":102690,"éĢļ讯":102691,"å¼Ģå·¥":102692,"裤":102693,"å¦ĤåIJĮ":102694,"骤":102695,"éĺŁåijĺ":102696,"轩":102697,"ç¾İæľ¯":102698,"èĻŁ":102699,"åIJĮä¸Ģ":102700,"åľĸ":102701,"书æ³ķ":102702,"æīĵåį°":102703,"åIJ«æľī":102704,"éĽĨæĪIJ":102705,"éĹ·":102706,"å¸Ĥåľºä¸Ĭ":102707,"æĹģè¾¹":102708,"åľ°æĿ¿":102709,"产çĶŁçļĦ":102710,"粤":102711,"éĩįç»Ħ":102712,"è¡Ģæ¶²":102713,"çŃĭ":102714,"åĬŀäºĭ":102715,"常è§ģçļĦ":102716,"ä¸ĬåįĬå¹´":102717,"å±ıå¹ķ":102718,"åIJīæŀĹ":102719,"å·©":102720,"åĸľçα":102721,"ç¿ł":102722,"ä¸īç§į":102723,"æ¡Ĩæŀ¶":102724,"举èİŀ":102725,"çĶĺèĤĥ":102726,"èĬ¬":102727,"åĽ¾ä¹¦":102728,"åĩ¤åĩ°":102729,"æ°ĶåĢĻ":102730,"å°´":102731,"å°¬":102732,"两天":102733,"è¾ħ导":102734,"åĢŁæ¬¾":102735,"æĹ¥èµ·":102736,"æ´Ĵ":102737,"ä¸Ģ度":102738,"è¹Ī":102739,"æ½Ń":102740,"æīĩ":102741,"çĻľ":102742,"æĸ°åħ´":102743,"åĤ²":102744,"诸å¤ļ":102745,"è´ª":102746,"éĻ·åħ¥":102747,"èĪŁ":102748,"èĤºçĤİ":102749,"ä¸Ģæł·çļĦ":102750,"åİĺ":102751,"åľ°çIJĨ":102752,"æĬķæ³¨":102753,"éļĬ":102754,"åħīä¼ı":102755,"ä¿Ŀåģ¥":102756,"åħĶ":102757,"åħ¬åĬ¡":102758,"æīĵçł´":102759,"çĶ·åŃ©":102760,"åĬ³åĬ¡":102761,"ä½łä¼ļ":102762,"çĶ¨åľ°":102763,"溢":102764,"åıijè¾¾":102765,"èĤļ":102766,"è¿ĩäºİ":102767,"èĩĤ":102768,"éĢĻæ¨£":102769,"轻轻":102770,"ä¸Ńåħ±":102771,"åIJĦåĽ½":102772,"åĶĩ":102773,"å®ŀä¹ł":102774,"èϾ":102775,"æ§½":102776,"ä¸įä¸Ĭ":102777,"åħįçĸ«":102778,"åįłæį®":102779,"å·¥ä¼ļ":102780,"åĽĬ":102781,"èĪªå¤©":102782,"åı¯çα":102783,"æĸĹäºī":102784,"çĺ¤":102785,"å¦Ĥæľī":102786,"éĽĸ":102787,"对æĪij":102788,"åĩºç§Ł":102789,"好çľĭ":102790,"太大":102791,"æ°´åĪ©":102792,"åĬ¿åĬĽ":102793,"åħ¨æ°ij":102794,"ç½¢":102795,"èµ¢å¾Ĺ":102796,"çĶµä¿¡":102797,"车éĹ´":102798,"æĻĤåĢĻ":102799,"å°ijæķ°":102800,"éĵ¸":102801,"åħ³èģĶ":102802,"ä¸įä»ħä»ħ":102803,"为æĤ¨":102804,"åĴ¸":102805,"æľºåĬ¨":102806,"è£Ļ":102807,"åĵįåºĶ":102808,"éģł":102809,"è²·":102810,"ç©´":102811,"å¢ħ":102812,"éĶ¡":102813,"çµĦ":102814,"çģ«è½¦":102815,"è³ĩè¨Ĭ":102816,"åĨ³èµĽ":102817,"污水":102818,"èªŀ":102819,"å´Ľ":102820,"ç´§å¯Ĩ":102821,"缺å°ij":102822,"å¤ļ人":102823,"æĢ»ä¹¦è®°":102824,"éĶĪ":102825,"èijĽ":102826,"å¿ĺè®°":102827,"éĻĮçĶŁ":102828,"éķ¿å¤§":102829,"åħĪè¿ĽçļĦ":102830,"ç¡ħ":102831,"åıijæĺİ":102832,"å©´åĦ¿":102833,"æīİå®ŀ":102834,"èĽĭçϽ":102835,"ä¸ĢçϾ":102836,"缮åħī":102837,"æħĮ":102838,"åĬłæ²¹":102839,"åIJŀ":102840,"ä¸Ģ群":102841,"ä¸Ńä»ĭ":102842,"å¸ĸ":102843,"å¿Į":102844,"èģĮèĥ½":102845,"广æĴŃ":102846,"çĽijå¯Ł":102847,"ç§ĺå¯Ĩ":102848,"çĭ®":102849,"è¿ĻæĿ¡":102850,"éĢ¢":102851,"æĢ¨":102852,"åįģåħŃ":102853,"試":102854,"说åΰ":102855,"åĩĿèģļ":102856,"æĮĩ示":102857,"æ°¢":102858,"å¼ĺ":102859,"éĺĢ":102860,"æĸ©":102861,"éłħ":102862,"ä¸Ģå¼Ģå§ĭ":102863,"æİĴè¡Į":102864,"åľ¨æĪij":102865,"纪å½ķ":102866,"æĬĦ":102867,"æłª":102868,"说æ³ķ":102869,"ä¸Ńèį¯":102870,"好å¤ļ":102871,"åıªä¸įè¿ĩ":102872,"çķĻåľ¨":102873,"个å°ıæĹ¶":102874,"è®¤çŁ¥":102875,"çķ«":102876,"è§ģè¿ĩ":102877,"å°ıå¾®":102878,"ä½Ľå±±":102879,"çľ¾":102880,"讲述":102881,"梳":102882,"ç§°åı·":102883,"æĹ¥æĻļ":102884,"è¢ĸ":102885,"åķ¤":102886,"æľªç»ı":102887,"æľĢæĹ©":102888,"æī®æ¼Ķ":102889,"è¡Ģ管":102890,"纱":102891,"æĥħèĬĤ":102892,"第ä¸ĥ":102893,"æį§":102894,"ä»Ĺ":102895,"æ¿ĢçĥĪ":102896,"æĹłçº¿":102897,"ä¸į容æĺĵ":102898,"å¼Ģå¹ķ":102899,"æĸ°çĶŁ":102900,"ä¸ĵ注":102901,"èij±":102902,"åįĹæµ·":102903,"çĩŁ":102904,"èµ·ä¾Ĩ":102905,"æ´¾åĩº":102906,"åĦĴ":102907,"侨":102908,"è¼ĥ":102909,"åįļè§Ī":102910,"é̾":102911,"åĮĢ":102912,"ç»ıæµİåѦ":102913,"æ¸Ĺ":102914,"ä¿ĿèŃ·":102915,"çīº":102916,"çī²":102917,"çİ«":102918,"çij°":102919,"æľĢåIJİä¸Ģ":102920,"æĶ¿åĬ¡":102921,"æ§Ľ":102922,"èĻķçIJĨ":102923,"éļIJæĤ£":102924,"æī¿åĮħ":102925,"極":102926,"æ¡©":102927,"çĽ²":102928,"导åIJij":102929,"èĩ´å¯Į":102930,"ç¼Ĩ":102931,"æģĭçα":102932,"ä¸įåĬ¨":102933,"ç»Ļ人":102934,"å·¢":102935,"表æĥħ":102936,"举åįĹ":102937,"åĨħå¤ĸ":102938,"è¾ĪåŃIJ":102939,"åıī":102940,"åįļä¼ļ":102941,"åĬŁæķĪ":102942,"渴":102943,"屬":102944,"æİĴéϤ":102945,"éĢĽ":102946,"ä¸Ģä¼ļ":102947,"ä¸įå¼Ģ":102948,"å¼Ģå¥ĸ":102949,"é»ijé¾Ļ":102950,"é»ijé¾Ļæ±Ł":102951,"å¿«ä¸ī":102952,"度åģĩ":102953,"åĿ¤":102954,"éĤ®ä»¶":102955,"æĩĴ":102956,"ä¾Ľç͵":102957,"廣":102958,"好è¯Ħ":102959,"ç§ĺ书éķ¿":102960,"æĪĺåľº":102961,"好å¥ĩ":102962,"ä¾µæĿĥ":102963,"æĨ¾":102964,"æľĢåĪĿ":102965,"æī¹åıij":102966,"åİķ":102967,"è¼ķ":102968,"æŀ¯":102969,"ä¸ļåĨħ":102970,"è´ŃæĪ¿":102971,"ä¸įåľ¨":102972,"纪å§Ķ":102973,"æīĢéľĢ":102974,"å¸Ĥéķ¿":102975,"è³½":102976,"å¼ķæĵİ":102977,"çģµéŃĤ":102978,"éĬĢ":102979,"滤":102980,"çĿIJ":102981,"å¤ļ项":102982,"åĽŀ头":102983,"èīĺ":102984,"å¤įå·¥":102985,"éĥ¨ä»¶":102986,"ç´§ç´§":102987,"æŁIJç§į":102988,"使åħ¶":102989,"æĸ°äºº":102990,"æŀļ":102991,"æ³ķå®ļ":102992,"å·´å·´":102993,"æ¶µçĽĸ":102994,"稻":102995,"æĭ¾":102996,"æĻķ":102997,"轿":102998,"éĢļè¡Į":102999,"åĵĢ":103000,"æ³Ĭ":103001,"温馨":103002,"éĽĨèģļ":103003,"çĨĻ":103004,"åĩij":103005,"åįģä¸ĥ":103006,"æ°Ķæģ¯":103007,"æıIJä¾ĽçļĦ":103008,"æ³³":103009,"奥è¿IJ":103010,"çģ¾å®³":103011,"åĩĢåĮĸ":103012,"è·¨è¶Ĭ":103013,"åĵªæĢķ":103014,"éŁ¿":103015,"å¢ŀæ·»":103016,"çĦĬ":103017,"æ®ĭçĸ¾":103018,"ç¢Į":103019,"æĤĶ":103020,"è§ģè¯ģ":103021,"è¾ĸåĮº":103022,"å¿ĥèĦı":103023,"éļ§":103024,"åį¸":103025,"åı¯èĥ½æĢ§":103026,"æľīè¶£":103027,"åī¯ä¹¦è®°":103028,"åĮĸå¦Ĩ":103029,"ä¿Ĥ":103030,"æ£ļ":103031,"éĨĩ":103032,"带头":103033,"éłĪ":103034,"追究":103035,"æijĶ":103036,"è¿Ļéĥ¨":103037,"ä¸į论":103038,"祸":103039,"å³»":103040,"éģķ":103041,"çĶŁèĤ²":103042,"å¤ł":103043,"å¤ĸ交":103044,"è¯Ħ为":103045,"ä»İå°ı":103046,"å°ıå°ı":103047,"饿":103048,"æĴ¼":103049,"è·¨å¢ĥ":103050,"被åijĬ":103051,"åįĹå®ģ":103052,"身å¿ĥ":103053,"åĨįçĶŁ":103054,"æīĢ说":103055,"æĹ¶éĹ´åĨħ":103056,"åĪĹåħ¥":103057,"éĿĴæµ·":103058,"çα好":103059,"çªĦ":103060,"èĪĪ":103061,"è¿ĩ渡":103062,"æ¿Ł":103063,"éĽĢ":103064,"审议":103065,"åĽ½èµĦ":103066,"æŃ¥ä¼IJ":103067,"轨éģĵ":103068,"信念":103069,"ä¸īåĪĨ":103070,"çĨ¬":103071,"åѵåĮĸ":103072,"ç¼ł":103073,"éĥĬ":103074,"èĪĴæľį":103075,"纪æ£Ģ":103076,"ä¸Ģä¸ĭåŃIJ":103077,"éĽ»è©±":103078,"è²ł":103079,"éĴ¥":103080,"åĮĻ":103081,"çĹ´":103082,"è¶ģ":103083,"绣":103084,"çε":103085,"è½°":103086,"éªĦ":103087,"姨":103088,"æĭĺ":103089,"çĮ´":103090,"è®¶":103091,"è¿Ļ座":103092,"çį¨":103093,"æ·ĺæ±°":103094,"çĹħä¾ĭ":103095,"æ²Ļåıij":103096,"è§Ĩ为":103097,"头æĿ¡":103098,"å¿ħè¦ģçļĦ":103099,"åı¯è°ĵ":103100,"è¯Ŀ说":103101,"ç¯Ħ":103102,"æĹ©çĤ¹":103103,"æŀ¢çº½":103104,"羡":103105,"çĪ±åĽ½":103106,"çªģåıij":103107,"éĢĬ":103108,"æ½į":103109,"èį£èĢĢ":103110,"èŁ¹":103111,"æ¦Ĥçİĩ":103112,"å¾Īä¹ħ":103113,"æĥķ":103114,"訴":103115,"åľĨ满":103116,"çļ±":103117,"åĪĨæ³Į":103118,"åħħè¶³":103119,"çľĭæ³ķ":103120,"è¾Ł":103121,"æĭ¦":103122,"æĭ©":103123,"对åºĶ":103124,"ä¸ºæł¸å¿ĥ":103125,"èħĬ":103126,"å¤ļä¹Ī":103127,"æµij":103128,"å®ıè§Ĥ":103129,"èĦĸ":103130,"åIJĪèµĦ":103131,"çĶŁæ¶¯":103132,"å®ŀè´¨":103133,"ä¼ĺçĤ¹":103134,"çĶ¨æ°´":103135,"寿åij½":103136,"沫":103137,"åIJģ":103138,"詹":103139,"åĽ½éĺ²":103140,"å´©":103141,"åĿİ":103142,"èĨı":103143,"ä¸Ģè½®":103144,"éģĹ产":103145,"æ¹¾åĮº":103146,"ç»İ":103147,"åįķ纯":103148,"æ¾Ħ":103149,"åīįåĪĹ":103150,"身影":103151,"é»ĺé»ĺ":103152,"æįī":103153,"çĴ°":103154,"èıĬ":103155,"æĢľ":103156,"åħĭæĢĿ":103157,"æĢ»å±Ģ":103158,"çĩĥæĸĻ":103159,"ä¸ļæĢģ":103160,"åIJĦæł·":103161,"åĴ½":103162,"åĩºèī²":103163,"åĪĿå¿ĥ":103164,"åıĽ":103165,"çłĶ讨":103166,"è¡«":103167,"åİĨç¨ĭ":103168,"禽":103169,"è¶³å¤ŁçļĦ":103170,"èįĨ":103171,"çľĭå¾ħ":103172,"è´©":103173,"åĨ³å¿ĥ":103174,"裹":103175,"å¸ĪèĮĥ":103176,"åŀĦ":103177,"æĿł":103178,"åĩ¸":103179,"çĬ¹è±«":103180,"çĥŃè¡Ģ":103181,"åIJĪä¼Ļ":103182,"éħµ":103183,"èIJ½åľ¨":103184,"åįłåľ°":103185,"衬":103186,"èĵī":103187,"æĦ¤":103188,"æ¸Ĭ":103189,"åĪĨæķ°":103190,"ç¬ijçĿĢ":103191,"太平":103192,"çĤ«":103193,"æİ¨ä»ĭ":103194,"æĸ¯åĿ¦":103195,"形容":103196,"æĵĬ":103197,"æĦŁåħ´è¶£":103198,"åĨĽäºº":103199,"åĩĮæĻ¨":103200,"对çħ§":103201,"åıijçĹħ":103202,"å·¾":103203,"èĪī":103204,"檢":103205,"ç¬ijäºĨ":103206,"ç¡®è¯Ĭ":103207,"è´ŁåĢº":103208,"壮大":103209,"æĪļ":103210,"äºĴèģĶ":103211,"課":103212,"èħ¦":103213,"æĹ±":103214,"åıĹæ¬¢è¿İ":103215,"åįī":103216,"éϢ士":103217,"æ©¡":103218,"ä¸Ģ对":103219,"è¾±":103220,"æ²Ĥ":103221,"åı²ä¸Ĭ":103222,"æIJı":103223,"å´ĸ":103224,"代谢":103225,"磷":103226,"é¡ĺ":103227,"æµĩ":103228,"常ç͍":103229,"åįij":103230,"åĩºåĽ½":103231,"è¯ł":103232,"稳æŃ¥":103233,"ç»ı纪":103234,"å¤ļå¤ļ":103235,"æīĢå¾Ĺ":103236,"为主é¢ĺ":103237,"ä¸ĢåĪĨ":103238,"æł½":103239,"é¡§":103240,"纲":103241,"åĥħ":103242,"å£ĵ":103243,"åĦª":103244,"ç¿°":103245,"æİĢ":103246,"人为":103247,"媳":103248,"æ´½":103249,"èĿ¶":103250,"å¤įåħ´":103251,"ä¼ļå½±åĵį":103252,"åIJĦçķĮ":103253,"éĤ£ä¸Ģ":103254,"颤":103255,"çĢı":103256,"çĢı覽":103257,"å¯ŀ":103258,"åı¯æĢķ":103259,"åį³æĹ¶":103260,"çķ´":103261,"ä¸ĭåįĬå¹´":103262,"ç¬Ķè®°":103263,"éĻĦåĬł":103264,"çĥŃæ°´":103265,"奸":103266,"ç£ħ":103267,"æĿī":103268,"æ¸ħåįİ":103269,"éĸ±":103270,"ç°¡":103271,"å¤Ħå¤Ħ":103272,"åIJĪéĩij":103273,"æ²³æµģ":103274,"ç´°":103275,"è´ŁéĿ¢":103276,"çļĦ羣å®ŀ":103277,"åĻ¨æ¢°":103278,"èĴIJ":103279,"西äºļ":103280,"å·ħ":103281,"ç²¹":103282,"åİŁæĸĩ":103283,"æŀķ":103284,"è¡Ģåİĭ":103285,"åļ´":103286,"å¸ĺ":103287,"åĨĢ":103288,"æĮ«":103289,"çĶµè·¯":103290,"å°ıä¼Ļä¼´":103291,"èĿ´":103292,"æľĢå¿«":103293,"æĭĮ":103294,"宪":103295,"æĸ·":103296,"ç¿ħ":103297,"åĴ³":103298,"åĹ½":103299,"ç¾ŀ":103300,"èººåľ¨":103301,"èµĽè½¦":103302,"æ²IJ":103303,"éĻIJ度":103304,"为ä¸Ģä½ĵ":103305,"èĴľ":103306,"幫":103307,"æIJħ":103308,"åĭĭ":103309,"åīĸ":103310,"纳ç¨İ":103311,"éķ¿æķĪ":103312,"ç½ķ":103313,"åľ¬":103314,"ç©į":103315,"éĴ©":103316,"ç¹¼":103317,"åĽ½åľŁ":103318,"è¼ī":103319,"ä¸įå¿ĺ":103320,"èŃ¦ç¤º":103321,"çģ¿":103322,"å¿ĥå¾Ĺ":103323,"æĦļ":103324,"忽çķ¥":103325,"åĽŀäºĭ":103326,"åįłæľī":103327,"æ·Ħ":103328,"çī¡":103329,"çĽijäºĭ":103330,"ç¿¡":103331,"éĴĪ对æĢ§":103332,"çªĥ":103333,"製":103334,"èĨĿ":103335,"ç³Ł":103336,"港澳":103337,"太太":103338,"澡":103339,"ç»ĨåĮĸ":103340,"åĶ®åIJİ":103341,"å®ŀåľ¨æĺ¯":103342,"ç«£":103343,"çį²":103344,"å̾åIJij":103345,"å¼ķç͍":103346,"é¹ħ":103347,"ç¬ij容":103348,"ä¹IJè¶£":103349,"æ°ijæĶ¿":103350,"éŨæĪ·":103351,"å±ģ":103352,"迷失":103353,"éĶĮ":103354,"å°ı康":103355,"åĭī":103356,"æ³¼":103357,"ä¾ĭåŃIJ":103358,"ä¸īä½į":103359,"å»ł":103360,"èĶĵ":103361,"广éĺĶ":103362,"èĢį":103363,"èĢģèĻİ":103364,"åĭŁéĽĨ":103365,"èĦļæŃ¥":103366,"æĭ¯":103367,"åŃĹåı·":103368,"çĦ°":103369,"é¢ł":103370,"èļĤ":103371,"èļģ":103372,"飯":103373,"人æĢ§":103374,"æĴ°":103375,"åİ¢":103376,"å±ĢéĻIJ":103377,"æľªæĪIJ":103378,"åĵªåĦ¿":103379,"大åıij":103380,"ä¸įå®ļ":103381,"å¾ģæ±Ĥ":103382,"éĥµ":103383,"åĢºæĿĥ":103384,"çĪ±ä½ł":103385,"èºģ":103386,"ä»ħä¾Ľ":103387,"è¿ľå¤Ħ":103388,"éĨĽ":103389,"åĥµ":103390,"积æŀģæĢ§":103391,"æİ¡":103392,"åīįä¸ī":103393,"äºİä¸Ģä½ĵ":103394,"çŀĦ":103395,"çĿģ":103396,"沸":103397,"åħ±èµ¢":103398,"éĢĢå½¹":103399,"è´Ŀå°Ķ":103400,"æİı":103401,"æĪ²":103402,"è¡į":103403,"éĶĤ":103404,"ä¸ĩä½Ļ":103405,"ç§ijåĪĽ":103406,"æ¼Ķåͱ":103407,"欧åħĥ":103408,"æ·¡æ·¡":103409,"éĿĴå±±":103410,"èĹĿ":103411,"绽":103412,"令çīĮ":103413,"éĽĨ群":103414,"ä½ľçī©":103415,"çĢij":103416,"夯":103417,"ç½ij游":103418,"åħ«å¤§":103419,"éªļ":103420,"èªĵ":103421,"ä¼ļå±ķ":103422,"åħļåı²":103423,"æ£Ģå¯ŁéĻ¢":103424,"åĸĺ":103425,"éĺ±":103426,"èĢĮåĩº":103427,"éĢļ车":103428,"éĴĵ":103429,"æĥħ人":103430,"æ¸Ľ":103431,"ä¸Ńç§ĭ":103432,"çĪŃ":103433,"åıªåī©":103434,"æĺĶ":103435,"éĩİçĶŁ":103436,"ç¡«":103437,"èIJĿåįľ":103438,"æĬµæĬĹ":103439,"çĻ«çĹ«":103440,"éĻĢ":103441,"èĶļ":103442,"å¸ľ":103443,"满满":103444,"èı±":103445,"éļĨéĩį":103446,"æĺŁçº§":103447,"æ½ĩ":103448,"åħ¬åħĥ":103449,"è°£":103450,"æ¯Ķäºļ":103451,"æ¡ĮåŃIJ":103452,"èµ£":103453,"è²¼":103454,"æĦ¿æľĽ":103455,"顽":103456,"æ´¾éģ£":103457,"ç¥Ľ":103458,"åªļ":103459,"éĺľ":103460,"èij«":103461,"èĬ¦":103462,"æ³»":103463,"å¡Į":103464,"çĭŃ":103465,"å»īæĶ¿":103466,"å¥ijæľº":103467,"æĹĹèΰ":103468,"æĥ«":103469,"严åİī":103470,"åıĭæĥħ":103471,"å¦Ĭ":103472,"å¨ł":103473,"åĵªå®¶":103474,"èĨ¨":103475,"è¶Ł":103476,"æĮª":103477,"èĻIJ":103478,"éłģ":103479,"çŀ©":103480,"éºŁ":103481,"稣":103482,"èģĶéĢļ":103483,"åı®":103484,"çİĭèĢħ":103485,"ä¸įç¡®å®ļ":103486,"çijľ":103487,"è°İ":103488,"çī¢è®°":103489,"碼":103490,"æĬ¤èĤ¤":103491,"é¡·":103492,"çĦķ":103493,"åģļ强":103494,"éļ±ç§ģ":103495,"éļ±ç§ģæ¬Ĭ":103496,"åıĹ害":103497,"ä¸įçͱ":103498,"çĥ¹":103499,"饪":103500,"驳":103501,"ä¼½":103502,"ä¸Ŀ绸":103503,"è¥Ħ":103504,"åįģä½Ļ":103505,"éºĹ":103506,"æ¬ĬåĪ©":103507,"èģŀ":103508,"åı¤èĢģ":103509,"éģı":103510,"åIJĦå¼ı":103511,"å°±è¡Į":103512,"åħ¥å¢ĥ":103513,"çĥģ":103514,"èľĺ":103515,"èĽĽ":103516,"纬":103517,"磫":103518,"è»Ł":103519,"æ´Ĺè¡£":103520,"æĦ§":103521,"é¢Ħæ¡Ī":103522,"éľĨ":103523,"æ·±åİļ":103524,"éĺ¿æĭī":103525,"åĨĻåŃĹ":103526,"åį¦":103527,"éķĢ":103528,"æ¨¡æł·":103529,"åĤį":103530,"æIJį":103531,"èĸ¯":103532,"åłħ":103533,"åħ¬ç§¯":103534,"è¨İ":103535,"ä¼łæŁĵ":103536,"毯":103537,"çIJĨå·¥":103538,"åĨ·éĵ¾":103539,"ç«ĭæĸ¹":103540,"æ¢Ń":103541,"åľ£è¯ŀ":103542,"综èīº":103543,"çİ©ç¬ij":103544,"æĥ³ä¸įåΰ":103545,"æijĩ头":103546,"æ·¹":103547,"åģĩæĹ¥":103548,"åĢĺ":103549,"è̽":103550,"èİĵ":103551,"åŁ·":103552,"èĩªè´¸":103553,"åįĬ天":103554,"æªĶ":103555,"æ¾İæ¹ĥ":103556,"éķij":103557,"丫":103558,"éĩĮç¨ĭ":103559,"å¼ĢèįĴ":103560,"èıı":103561,"å®Ŀè´µ":103562,"èѬ":103563,"åķŁ":103564,"æŁł":103565,"檬":103566,"é©Ń":103567,"æ±Ľ":103568,"çĨĬçĮ«":103569,"èķī":103570,"éļıä¹ĭ":103571,"å±ij":103572,"è¾ĥ强":103573,"èĥ³":103574,"èĨĬ":103575,"éĿĻéĿĻ":103576,"åĴª":103577,"æĭĽåij¼":103578,"代è¨Ģ":103579,"ä¿¡ç®±":103580,"è£ħéħį":103581,"æĤį":103582,"åįķ车":103583,"èIJİ":103584,"å¤ļ彩":103585,"éϏ":103586,"ä»İ严":103587,"æ©Ħ":103588,"æ¦Ħ":103589,"éĢ®":103590,"éĩĮæĸ¯":103591,"å§¿æĢģ":103592,"太æŀģ":103593,"éĩĿ":103594,"æºī":103595,"è¿Ń":103596,"秸":103597,"ç§Ĩ":103598,"å·¥å§Ķ":103599,"æ±ķ":103600,"èģĨ":103601,"佬":103602,"ç¼ħ":103603,"ç͏":103604,"åī¯å±Ģéķ¿":103605,"éĹº":103606,"誤":103607,"è¤IJ":103608,"ä¸įéĻIJ":103609,"èħķ":103610,"åijķ":103611,"磶":103612,"åĨľå®¶":103613,"管å§Ķä¼ļ":103614,"饺":103615,"èĬľ":103616,"æ¾Ī":103617,"è©¢":103618,"å¨ģå°¼æĸ¯":103619,"ä½ķåĨµ":103620,"å°ıä¼Ļ":103621,"奢ä¾Ī":103622,"è¿Ļç¯ĩ":103623,"诵":103624,"竳ç¨ĭ":103625,"ç´Ģ":103626,"éIJĺ":103627,"éĤ¢":103628,"ç³Ļ":103629,"ç¼Ģ":103630,"ä¹Ĵ":103631,"ä¹ĵ":103632,"çī¢åĽº":103633,"åĿŀ":103634,"å¼Ī":103635,"ä¾ĭå¤ĸ":103636,"廳":103637,"è§Ħ竳":103638,"èĬĻ":103639,"篷":103640,"躯":103641,"æłĪ":103642,"åĿļå®ŀ":103643,"åŁºå»º":103644,"çĿĢçľ¼":103645,"ç·´":103646,"èij©":103647,"ç¼ļ":103648,"æ¦Ĩ":103649,"主åĭķ":103650,"ç¥Ģ":103651,"äºĴéĢļ":103652,"尤为":103653,"å®Ľ":103654,"骼":103655,"æ±²":103656,"ä¾ĥ":103657,"æĤłä¹ħ":103658,"æij§":103659,"æĭĩ":103660,"é«ĵ":103661,"éºĴ":103662,"éĻĽ":103663,"æŀ¸":103664,"æĿŀ":103665,"è´¬":103666,"å°ıé¾Ļ":103667,"åĵ®":103668,"èĵ¬åĭĥ":103669,"åĮĪ":103670,"çķľçī§":103671,"娩":103672,"个å¤ļ":103673,"æ²¥":103674,"æĺ§":103675,"çĦļ":103676,"æĬijéĥģ":103677,"çĸ¡":103678,"èĺij":103679,"éģİç¨ĭ":103680,"橱":103681,"éĿĵ":103682,"大çIJĨ":103683,"髦":103684,"åĪĨ辨":103685,"渤":103686,"çĸ¤":103687,"åĬ¨èĥ½":103688,"å¼łå®¶":103689,"ä¸ĩåįĥ":103690,"滥":103691,"饥":103692,"åºŁå¼ĥ":103693,"帳":103694,"æ¼³":103695,"è±IJ":103696,"ä»ij":103697,"å«ī":103698,"å¦Ĵ":103699,"çŀĴ":103700,"è¡ħ":103701,"çĭ¸":103702,"å¾ģç¨ĭ":103703,"éĤ¯":103704,"éĥ¸":103705,"ç¥Ī":103706,"祷":103707,"è¶´":103708,"ç»ĵæŀĦæĢ§":103709,"è§ĨåIJ¬":103710,"è¬Ŀ":103711,"çĴĢ":103712,"çĴ¨":103713,"åĩºå¤Ħ":103714,"è¯Ģ":103715,"å¾ĺ":103716,"å¾Ĭ":103717,"羨":103718,"åĸĩ":103719,"åıŃ":103720,"åĺ²":103721,"çķ¸":103722,"å¹²äºĭ":103723,"æļ§":103724,"æ²Ľ":103725,"åĦĦ":103726,"å»ĵ":103727,"åİ¿éķ¿":103728,"èĥļ":103729,"çIJ¢":103730,"çŃ·":103731,"éĩĭ":103732,"ä¾®":103733,"åIJ©":103734,"åĴIJ":103735,"åĮ¿":103736,"æĬ¬èµ·":103737,"æ³£":103738,"涤":103739,"麽":103740,"æĽĻ":103741,"åī¯éĻ¢éķ¿":103742,"åħļåĴĮ":103743,"æķ£åıij":103744,"润æ»ij":103745,"åĵº":103746,"æĥ¬":103747,"漫éķ¿":103748,"ä¸įæĩĪ":103749,"åŁł":103750,"åĹĵ":103751,"èĢģçĪ·":103752,"讽":103753,"æĪĺç»ĦåIJĪ":103754,"æ£ł":103755,"åħ¨åŁŁ":103756,"èł¢":103757,"诡":103758,"åīįçŀ»":103759,"æķĽ":103760,"ä¸Ģå°ģ":103761,"å¹Ĥ":103762,"èİĨ":103763,"è¯Ŀè¯Ń":103764,"ç»ĨåĪĻ":103765,"屿":103766,"åµĮ":103767,"éĢį":103768,"åĺ±":103769,"渲":103770,"çĥ¯":103771,"çĿ¹":103772,"é¦Ĵ":103773,"èħ¥":103774,"æĬĹåĩ»":103775,"çĿ«":103776,"èįĶ":103777,"éļİ":103778,"æ³īæ°´":103779,"è¬Ĥ":103780,"çĤ¬":103781,"åĩıæİĴ":103782,"è¸Ĭ":103783,"è·»":103784,"æ·Į":103785,"éľ¾":103786,"å¥ĩ纳":103787,"å¯Ŀ":103788,"æ¤İ":103789,"æŁ¬":103790,"æĸ¯åŁº":103791,"åħ¬ç«ĭ":103792,"è¨ĵ":103793,"é£Ļ":103794,"é©¿":103795,"åĤµ":103796,"èĽĻ":103797,"ç¯ĩ竳":103798,"åĪĨæĶ¯":103799,"ä¸Ĭå¹´":103800,"çŃĿ":103801,"缤":103802,"èĢģæĹ§":103803,"åϬ":103804,"æľ¦":103805,"èĥ§":103806,"æ¶Īè²»":103807,"æĵĶ":103808,"榴":103809,"æ¿Ĵ":103810,"糯":103811,"泸":103812,"æįĨ":103813,"ç»ļ":103814,"èµİ":103815,"çIJIJ":103816,"èµĤ":103817,"æħ®":103818,"æ²Į":103819,"çĦĻ":103820,"æĴŃæĬ¥":103821,"æ·ĩ":103822,"åĪĩåħ¥":103823,"çijķ":103824,"çĸµ":103825,"éģ´":103826,"ç¨ļ":103827,"ç©©":103828,"èŀĥ":103829,"æ£ķ":103830,"æĨ§":103831,"æĨ¬":103832,"伺":103833,"æ¯Ĺ":103834,"æįį":103835,"æĬī":103836,"ç´Ĭ":103837,"å¼Ľ":103838,"æĭŃ":103839,"æĹıèĩªæ²»":103840,"åĿ·":103841,"ç«¶":103842,"詳":103843,"è¿Ħä»Ĭ":103844,"è°´":103845,"çŀŃè§£":103846,"æŁ¿":103847,"é¢Ĭ":103848,"ç°§":103849,"çĥŁèĬ±":103850,"ä¾¥":103851,"çĿ¦":103852,"éħĿ":103853,"æ°ĵ":103854,"çIJī":103855,"å§Ĭ":103856,"æ²®":103857,"æħ·":103858,"èľķ":103859,"çijļ":103860,"éĩĩçŁ¿":103861,"åł°":103862,"åºķèķ´":103863,"èĨ³":103864,"è¾ķ":103865,"éŁŃ":103866,"åĴĻ":103867,"ç²½":103868,"åīĶ":103869,"沦":103870,"èĤ´":103871,"éķ¶":103872,"æĺ¼":103873,"è¾Ĺ":103874,"婪":103875,"åĮ®":103876,"æĸĵ":103877,"æ±¶":103878,"éĥ´":103879,"éł»":103880,"çªĴ":103881,"袱":103882,"åĽ±":103883,"èĢĺ":103884,"èļĮ":103885,"çĭĻ":103886,"çĹ¹":103887,"ç¥ī":103888,"æı®":103889,"æ·Ĩ":103890,"ç£ĭ":103891,"éĺª":103892,"æ«":103893,"ã¸":103894,"϶":103895,"ãij":103896,"ð£²":103897,"ä¢":103898,"ãŃ":103899,"ð¬¨":103900,"ð¬Ģ":103901,"ð¬®":103902,"ð¬¯":103903,"ð¬ľ":103904,"ðª¨":103905,"ð«Ĺ":103906,"ð¬Ĭ":103907,"ð¬±":103908,"ð¬Ł":103909,"äİ":103910,"ð¡":103911,"äĥ":103912,"ãł":103913,"ð©":103914,"ð©¾":103915,"ð¬º":103916,"ð¬Ļ":103917,"ãĢĶ":103918,"ãĢķ":103919,"çļĦæĹ¶åĢĻ":103920,"æľīéĻIJåħ¬åı¸":103921,"ä¹ĭåIJİ":103922,"ä¸ļåĬ¡":103923,"åķĬ":103924,"èϽçĦ¶":103925,"æĭ¥æľī":103926,"äºĴèģĶç½ij":103927,"éĤ£äºĽ":103928,"ä½łçļĦ":103929,"åĨ³å®ļ":103930,"éϤäºĨ":103931,"åĽ¢éĺŁ":103932,"åı¯æĺ¯":103933,"以åIJİ":103934,"社åĮº":103935,"çļĦéĹ®é¢ĺ":103936,"å¹¶ä¸Ķ":103937,"æķĻå¸Ī":103938,"å°±ä¼ļ":103939,"天空éĥ¨èIJ½":103940,"æľĢç»Ī":103941,"å½ĵçĦ¶":103942,"ä¹Łæľī":103943,"ç¡®ä¿Ŀ":103944,"æĥ³è¦ģ":103945,"è´Ńä¹°":103946,"人çļĦ":103947,"åIJ´":103948,"çļĦåıijå±ķ":103949,"ä¸įçŁ¥éģĵ":103950,"软件":103951,"æĪij们çļĦ":103952,"çζæ¯į":103953,"åīij":103954,"èĢĮæĺ¯":103955,"å®īæİĴ":103956,"åIJİæĿ¥":103957,"çļĦåľ°æĸ¹":103958,"èµµ":103959,"èĢĥè¯ķ":103960,"çªģçĦ¶":103961,"ä¸Ģå®ļè¦ģ":103962,"åĪ¶ä½ľ":103963,"è¯Ħä»·":103964,"åħįè´¹":103965,"è´¹ç͍":103966,"绣ä¸Ģ":103967,"çĦ¶èĢĮ":103968,"è¿Ļ次":103969,"éĿĴå¹´":103970,"人类":103971,"亦":103972,"让人":103973,"è´Łè´£äºº":103974,"éĩĩåıĸ":103975,"çļĦäºĭæĥħ":103976,"ä¹Łä¼ļ":103977,"车è¾Ĩ":103978,"æĽ´æĺ¯":103979,"强åĮĸ":103980,"æĪijåĢij":103981,"以åīį":103982,"ä¼ĺåĮĸ":103983,"å§Ķåijĺä¼ļ":103984,"åĽ°éļ¾":103985,"年度":103986,"ä½įäºİ":103987,"æĮĩåĩº":103988,"åĨῬ¡":103989,"åĬŀçIJĨ":103990,"æ¯ı个":103991,"对æĸ¹":103992,"è¿Ľè¡ĮäºĨ":103993,"æľĢé«ĺ":103994,"课ç¨ĭ":103995,"身ä¸Ĭ":103996,"æĽ¾ç»ı":103997,"åĮ»çĶŁ":103998,"å®īè£ħ":103999,"æľ±":104000,"è¿IJè¡Į":104001,"åıĮæĸ¹":104002,"æľĢ大çļĦ":104003,"æŀĦ建":104004,"è¿ŀç»Ń":104005,"çļĦå°ı":104006,"她çļĦ":104007,"çŃīçŃī":104008,"æĶ¹åĸĦ":104009,"åIJĦç±»":104010,"éģĩåΰ":104011,"æľīçĿĢ":104012,"人çī©":104013,"æĢ»æĺ¯":104014,"è¿ħéĢŁ":104015,"åζå®ļ":104016,"å®ĥ们":104017,"å®ĺç½ij":104018,"è¿ĺè¦ģ":104019,"ç»Īäºİ":104020,"æĪ¿åľ°äº§":104021,"è¯ģæĺİ":104022,"èĤ¡ç¥¨":104023,"åºĶå½ĵ":104024,"èĭ±åĽ½":104025,"è¿IJç͍":104026,"æľĢæĸ°":104027,"享åıĹ":104028,"让æĪij":104029,"æĻļä¸Ĭ":104030,"å¾ŀ":104031,"å°ı说":104032,"å°¤åħ¶æĺ¯":104033,"è®Ńç»ĥ":104034,"åħ¨å¸Ĥ":104035,"æĮijæĪĺ":104036,"æľīçĤ¹":104037,"带çĿĢ":104038,"çļĦä¸ľè¥¿":104039,"é£İæł¼":104040,"é»Ħéĩij":104041,"å¼ķ导":104042,"æŃ¤å¤ĸ":104043,"æľĢè¿ij":104044,"追æ±Ĥ":104045,"强è°ĥ":104046,"ä¹Łåı¯ä»¥":104047,"æĦŁåΰ":104048,"èĩªæĪij":104049,"çī¹åĪ«æĺ¯":104050,"æĪIJéĥ½":104051,"éĢIJæ¸IJ":104052,"å¿«ä¹IJ":104053,"ä¹ĭä¸Ń":104054,"æĬķèµĦèĢħ":104055,"ä»ĸ们çļĦ":104056,"æ°ı":104057,"å·¥ä½ľäººåijĺ":104058,"äºĨä¸Ģ个":104059,"åķ¦":104060,"ä¸ĢåĢĭ":104061,"åŁºå±Ĥ":104062,"æ²ŁéĢļ":104063,"第ä¸Ģ次":104064,"并没æľī":104065,"çļĦå·¥ä½ľ":104066,"åľ¨è¿ĻéĩĮ":104067,"æŀª":104068,"æĶ¯æĴij":104069,"æĹ¶å°ļ":104070,"æĿ¥åΰ":104071,"æĶ¶è´Ń":104072,"éĿ©åij½":104073,"æĺ¯ä¸įæĺ¯":104074,"讨论":104075,"ä¸ļ绩":104076,"å°±èĥ½":104077,"ç«ĭåį³":104078,"è¡Ĺéģĵ":104079,"åľ¨ä¸Ģèµ·":104080,"æľĪ份":104081,"é«ĺ端":104082,"å¾Īéļ¾":104083,"ä¿Ħç½Ĺæĸ¯":104084,"æīĭ段":104085,"åģļåĩº":104086,"ä¼Ĺå¤ļ":104087,"å®ŀè¡Į":104088,"æīĵå¼Ģ":104089,"游客":104090,"ä¾ĿçĦ¶":104091,"å°±åĥı":104092,"离å¼Ģ":104093,"说éģĵ":104094,"æĸ°èĥ½æºIJ":104095,"溪":104096,"äºķ":104097,"令人":104098,"ä¸Ģåľº":104099,"æĪijæĥ³":104100,"两人":104101,"èĩ³å°ij":104102,"çļĦçĶŁæ´»":104103,"æĺ¯ä¸ª":104104,"èĭ±è¯Ń":104105,"æ²Ĵæľī":104106,"æĢĿèĢĥ":104107,"éĻIJåζ":104108,"åı°æ¹¾":104109,"ä¸ĢæĹ¦":104110,"çļĦä¸Ģ个":104111,"é«ĺ级":104112,"åĬŀåħ¬å®¤":104113,"å¾·åĽ½":104114,"æĪijå°±":104115,"å®ļä½į":104116,"éĢĤåºĶ":104117,"æĮĩæłĩ":104118,"åħ¨çľģ":104119,"ä¸Ĭè¿°":104120,"å®ĥçļĦ":104121,"åĽŀå®¶":104122,"欧洲":104123,"éĵģè·¯":104124,"é¼ĵåĬ±":104125,"çļĦå½±åĵį":104126,"é«ĺæł¡":104127,"天ä¸ĭ":104128,"é«ĺè´¨éĩı":104129,"æĿŃå·ŀ":104130,"èµĦ讯":104131,"æĶ¾åľ¨":104132,"æľīä¸Ģ个":104133,"å°±è¦ģ":104134,"ä¸ĬéĿ¢":104135,"è§£éĩĬ":104136,"éĢIJæŃ¥":104137,"尽管":104138,"æľīä»Ģä¹Ī":104139,"çļĦäºĭ":104140,"çĻ»è®°":104141,"人æ°ijå¸ģ":104142,"è§Ĥä¼Ĺ":104143,"è§Ĥå¯Ł":104144,"ç͵èĦij":104145,"çļĦåIJĮæĹ¶":104146,"ä½ľä¸ļ":104147,"宣å¸ĥ":104148,"çļĦä½ľç͍":104149,"åĽŀæĿ¥":104150,"éļ¾ä»¥":104151,"æīĢæľīçļĦ":104152,"å°ıåѦ":104153,"æıIJåīį":104154,"æ¤įçī©":104155,"åĩ¯":104156,"ä¸ĬäºĨ":104157,"å°±åľ¨":104158,"åħĪåIJİ":104159,"æīĭæľ¯":104160,"éĥŃ":104161,"éĿ¢åīį":104162,"æ¯ķ竣":104163,"äºĮæĺ¯":104164,"红èī²":104165,"éĺ³åħī":104166,"èĭ¹æŀľ":104167,"å¾Īå¤ļ人":104168,"ç»ĻæĪij":104169,"åĵ¦":104170,"çľ¼çĿĽ":104171,"éłŃ":104172,"ä¸Ģæĺ¯":104173,"åıijå±ķçļĦ":104174,"åıįåºĶ":104175,"æĪ¿å±ĭ":104176,"æľŁå¾ħ":104177,"ç§įæ¤į":104178,"æĸĩåѦ":104179,"åį³åı¯":104180,"é¦ĸ次":104181,"èĭ±éĽĦ":104182,"å¤ļ次":104183,"åĮħè£ħ":104184,"æ²³åįĹ":104185,"ä¹ĭéĹ´çļĦ":104186,"ä»įçĦ¶":104187,"åIJ¬åΰ":104188,"èij£äºĭéķ¿":104189,"è§ĦåĪĻ":104190,"ä¸Ģ份":104191,"大ä¼Ĺ":104192,"使å¾Ĺ":104193,"è¿Ľåı£":104194,"ä¸Ģçīĩ":104195,"æĢ§çļĦ":104196,"çļĦ大":104197,"æĪijæĺ¯":104198,"äºĴåĬ¨":104199,"æ°£":104200,"çļĨ":104201,"åħ¬åı¸çļĦ":104202,"ä¸Ģè¾¹":104203,"åıĬåħ¶":104204,"èī¯å¥½çļĦ":104205,"æĭĵå±ķ":104206,"å½ĵå¹´":104207,"å¹¿åľº":104208,"åģļäºĨ":104209,"åŁºäºİ":104210,"æıIJéĨĴ":104211,"åħĦå¼Ł":104212,"èĢģæĿ¿":104213,"è¿ijæĹ¥":104214,"çĬ¶åĨµ":104215,"注éĩį":104216,"åĪļåĪļ":104217,"è°ĥçłĶ":104218,"å¿ĥä¸Ń":104219,"æĬĬæı¡":104220,"éļıåIJİ":104221,"ä¸įå¤Ł":104222,"åĪĽä½ľ":104223,"ç«Ļåľ¨":104224,"缸äºĴ":104225,"çĸ«æĥħéĺ²æİ§":104226,"年代":104227,"带åĬ¨":104228,"伤害":104229,"竣çĦ¶":104230,"å¼ķè¿Ľ":104231,"累计":104232,"让æĪij们":104233,"åĽŀæĶ¶":104234,"æĬ¥åIJį":104235,"åĬ©åĬĽ":104236,"èģĶ缣":104237,"çŃĸçķ¥":104238,"åij¨è¾¹":104239,"åĭĴ":104240,"è¿ĺåľ¨":104241,"æµģéĩı":104242,"寻æī¾":104243,"ç͵åĬĽ":104244,"èιèζ":104245,"è¿ĺèĥ½":104246,"æĭħä»»":104247,"çļĦæĥħåĨµä¸ĭ":104248,"çļĦåİŁåĽł":104249,"缺ä¹ı":104250,"çIJĥåijĺ":104251,"å²ģçļĦ":104252,"çĶ·åŃIJ":104253,"å·¥èµĦ":104254,"è¿ijå¹´æĿ¥":104255,"åijĢ":104256,"æıIJä¾ĽäºĨ":104257,"她们":104258,"å®¶åħ·":104259,"çĩķ":104260,"è½»æĿ¾":104261,"æł¡åĽŃ":104262,"èĢĥæł¸":104263,"åį±éĻ©":104264,"åħļç»Ħç»ĩ":104265,"æĢ»ç»ıçIJĨ":104266,"çļĦæĸ°":104267,"çİ»çĴĥ":104268,"è¿Ļä½į":104269,"对æŃ¤":104270,"家人":104271,"çļĦè¦ģæ±Ĥ":104272,"温度":104273,"æĮĩæķ°":104274,"缴åΰ":104275,"æŃ¤æĹ¶":104276,"æ¹ĸåįĹ":104277,"éĥ½è¦ģ":104278,"ä½ľåĩº":104279,"åIJĦä½į":104280,"èĢĥçĶŁ":104281,"ä¾Ŀæį®":104282,"说è¯Ŀ":104283,"æĪijä¹Ł":104284,"å·¥åİĤ":104285,"åıĺæĪIJ":104286,"ä»ĸ人":104287,"æĪijè§īå¾Ĺ":104288,"åIJĦ级":104289,"ä¼łå¥ĩç§ģæľį":104290,"ä¸Ĭåįĩ":104291,"好åĥı":104292,"åĬłéĢŁ":104293,"äºĮåįģ":104294,"è¢ģ":104295,"è£ħ饰":104296,"éĥ½èĥ½":104297,"ä¸Ģå¼ł":104298,"åĬ¨æĢģ":104299,"å¹´çļĦ":104300,"è¿Ļå°±æĺ¯":104301,"ä¹Łè¦ģ":104302,"èµĦæł¼":104303,"æĪĺäºī":104304,"æĦŁè°¢":104305,"åŁ¹èĤ²":104306,"天æ°Ķ":104307,"女士":104308,"åı¯èĥ½ä¼ļ":104309,"çļĦ产åĵģ":104310,"ä¹Łå°±":104311,"主è¦ģæĺ¯":104312,"åĪºæ¿Ģ":104313,"ç»Ļä½ł":104314,"大æķ°æį®":104315,"åĮ»åѦ":104316,"åΤæĸŃ":104317,"ä»ĸ说":104318,"表æ¼Ķ":104319,"äºļæ´²":104320,"ä¸ĵé¢ĺ":104321,"ç«ŀäºīåĬĽ":104322,"éĤ£æł·":104323,"å±ķå¼Ģ":104324,"å¹³æĹ¶":104325,"æİ¥ä¸ĭæĿ¥":104326,"æī¿è¯º":104327,"æ³ķåĽ½":104328,"åħ³å¿ĥ":104329,"ä¼ļæľī":104330,"éĤĢ请":104331,"é¢Ħéĺ²":104332,"对æİ¥":104333,"好äºĨ":104334,"åĴ±ä»¬":104335,"çļĦæĦŁè§ī":104336,"æĢĿè·¯":104337,"éĥ½æ²¡æľī":104338,"çļĦæĸ¹æ³ķ":104339,"女åŃIJ":104340,"åı¸æ³ķ":104341,"è¿ĺä¼ļ":104342,"è¶ĬæĿ¥è¶Ĭå¤ļ":104343,"åĽłçĤº":104344,"æµ·åįĹ":104345,"人æķ°":104346,"å°Ĩä¼ļ":104347,"ä¸ļ主":104348,"é¤IJ饮":104349,"å±ħä½ı":104350,"åıijåĩº":104351,"è¿ijæľŁ":104352,"å¼ķé¢Ĩ":104353,"æľºåĻ¨äºº":104354,"åĩºæĿ¥çļĦ":104355,"çľĭè§ģ":104356,"ä¿Ĭ":104357,"让ä»ĸ":104358,"ä¸įæĥ³":104359,"å·¥ä½ľçļĦ":104360,"è¡¥åħħ":104361,"æµħ":104362,"çī¹å¾ģ":104363,"ä¸Ĭå¸Ĥåħ¬åı¸":104364,"ç¾İé£Ł":104365,"广西":104366,"æ¯ıä¸Ģ个":104367,"èIJ½åľ°":104368,"åĵģç§į":104369,"åĴĮè°IJ":104370,"å½»åºķ":104371,"é«ĺèĢĥ":104372,"æĺ¨å¤©":104373,"åīįå¾Ģ":104374,"çĽijæµĭ":104375,"çĻ¾åº¦":104376,"åľ¨ä¸ŃåĽ½":104377,"çļĦéľĢæ±Ĥ":104378,"亿ç¾İåħĥ":104379,"åŃ¦æľ¯":104380,"æĶ¶åΰ":104381,"æĿ¿åĿĹ":104382,"ä¸Ģ段":104383,"æŀĦæĪIJ":104384,"ä¼ģä¸ļçļĦ":104385,"表éĿ¢":104386,"æķ´çIJĨ":104387,"ç»ĵå©ļ":104388,"人家":104389,"åģľæŃ¢":104390,"åѦç§ij":104391,"æĺ¾å¾Ĺ":104392,"ä¼ijæģ¯":104393,"é¢ĦæľŁ":104394,"æĪĸæĺ¯":104395,"çļĦ主è¦ģ":104396,"åºĶ对":104397,"èµ°äºĨ":104398,"ä¸ŃéĹ´":104399,"èµ°è¿Ľ":104400,"åijĪçݰ":104401,"æIJŃéħį":104402,"é¹ı":104403,"æĺ¯åĽłä¸º":104404,"æĥħ绪":104405,"å®ļæľŁ":104406,"社ä¼ļ主ä¹ī":104407,"çŃī级":104408,"çŁĽçĽ¾":104409,"é£ŀæľº":104410,"èĩ³ä»Ĭ":104411,"æĶ¶éĽĨ":104412,"çļĦæķħäºĭ":104413,"åĪĩå®ŀ":104414,"å®ŀçݰäºĨ":104415,"å½¢æĪIJäºĨ":104416,"åįĹæĸ¹":104417,"ä¸ŃåѦ":104418,"æµ·æ´ĭ":104419,"åIJ¦åĪĻ":104420,"æĭįæijĦ":104421,"大åѦçĶŁ":104422,"åĩºçݰäºĨ":104423,"æĦıå¤ĸ":104424,"ä¹Łèĥ½":104425,"çļĦèĥ½åĬĽ":104426,"åĿIJåľ¨":104427,"åĪĻæĺ¯":104428,"èĢĥå¯Ł":104429,"å°Ĭéĩį":104430,"éĺ²æŃ¢":104431,"ç´§å¼ł":104432,"读书":104433,"åĩºè¡Į":104434,"å°±æľī":104435,"å±¥è¡Į":104436,"çݰ代åĮĸ":104437,"åĽ½åĬ¡":104438,"åĽ½åĬ¡éĻ¢":104439,"ç»´ä¿®":104440,"åİŁåĪĽ":104441,"æĺ¯æĮĩ":104442,"ä¼ijéĹ²":104443,"çĤ®":104444,"æĸ°æĹ¶ä»£":104445,"éĢĻåĢĭ":104446,"ä¸įæķ¢":104447,"å®Įç¾İ":104448,"ç»ĨèĬĤ":104449,"éŃı":104450,"èͬèıľ":104451,"é¢Ĩ导çıŃåŃIJ":104452,"è¶ħ级":104453,"è¡Įæĥħ":104454,"人工æĻºèĥ½":104455,"åį°åº¦":104456,"åŁºç¡Ģ设æĸ½":104457,"åıĪæĺ¯":104458,"èį¯çī©":104459,"åIJ¸æĶ¶":104460,"åį´æĺ¯":104461,"éĥİ":104462,"å¥ĸåĬ±":104463,"çļĦæľĭåıĭ":104464,"ä¿ĿçķĻ":104465,"è§Ħå¾ĭ":104466,"æĸ°çĸĨ":104467,"è¿ĺåı¯ä»¥":104468,"æİ¥è¿ij":104469,"æŃ¤åīį":104470,"æī¹åĩĨ":104471,"æĢİä¹Īæł·":104472,"çļĦä½įç½®":104473,"ä¸ĢåĿĹ":104474,"æĭĴç»Ŀ":104475,"顾客":104476,"ä¹Łåľ¨":104477,"ä¸ĢçĶŁ":104478,"éĥ¨éĺŁ":104479,"å¹´åīį":104480,"æĸ¹éĿ¢çļĦ":104481,"å°Ŀè¯ķ":104482,"羣æŃ£çļĦ":104483,"ç¦ģæŃ¢":104484,"è¿ĺ没æľī":104485,"æ°ijçĶŁ":104486,"èµ°åIJij":104487,"èĦ¸ä¸Ĭ":104488,"å½ĵ天":104489,"éĽĨåĽ¢åħ¬åı¸":104490,"çļĦä¸Ģç§į":104491,"西æĸ¹":104492,"åĽŀåºĶ":104493,"ä¸Ģ声":104494,"常常":104495,"æıIJåΰ":104496,"èħ¾è®¯":104497,"æľįè£ħ":104498,"为ä½ķ":104499,"äºijåįĹ":104500,"å°±ç®Ĺ":104501,"ä¼łæī¿":104502,"åıįèĢĮ":104503,"ä¸ĩåIJ¨":104504,"财产":104505,"å¦Ĥä¸ĭ":104506,"æĹ¥åīį":104507,"åİŁæľ¬":104508,"æľĢéĩįè¦ģçļĦ":104509,"认è¯ģ":104510,"ä¸Ģéģĵ":104511,"ä¿¡æģ¯åĮĸ":104512,"å¾ĹåΰäºĨ":104513,"é̲è¡Į":104514,"æĪijè¦ģ":104515,"éĢļä¿¡":104516,"室åĨħ":104517,"èµļéĴ±":104518,"æĶ¶èĹı":104519,"è§£åĨ³æĸ¹æ¡Ī":104520,"æĪ¿äº§":104521,"çĭ¼":104522,"æ´»åĬĽ":104523,"ç»ıæµİåıijå±ķ":104524,"çŃīå¾ħ":104525,"ä¹Łå¾Ī":104526,"åĿij":104527,"å¾Ī好çļĦ":104528,"éļ¾åº¦":104529,"ä¸įå¦Ĥ":104530,"人æ°ijæĶ¿åºľ":104531,"åĩºåıij":104532,"åīįæľŁ":104533,"æ¼Ķåijĺ":104534,"女çĶŁ":104535,"èģļçĦ¦":104536,"审计":104537,"é¢Ħæµĭ":104538,"ä¾Ŀæīĺ":104539,"äºĶå¹´":104540,"补贴":104541,"æ¸ħæĻ°":104542,"éªĤ":104543,"çľĭèµ·æĿ¥":104544,"çļĦåŃ©åŃIJ":104545,"é¢ijéģĵ":104546,"ä½ıå®ħ":104547,"éĿ¢åIJij":104548,"æľĢä½İ":104549,"æĹ¢çĦ¶":104550,"ä¸Ģå¥Ĺ":104551,"æķ°åѦ":104552,"群ä½ĵ":104553,"åĮĹ京å¸Ĥ":104554,"å±ħçĦ¶":104555,"æ°ĽåĽ´":104556,"éĢĶå¾Ħ":104557,"çļĦåŁºç¡Ģä¸Ĭ":104558,"èģĮè´£":104559,"åı¯èĥ½æĺ¯":104560,"åĨĽäºĭ":104561,"æĪIJæķĪ":104562,"åŃ©åŃIJ们":104563,"计ç®Ĺæľº":104564,"赤":104565,"产ä¸ļåıijå±ķ":104566,"巨大çļĦ":104567,"工人":104568,"çĶŁéķ¿":104569,"éĥ½åı¯ä»¥":104570,"çļĦæľºä¼ļ":104571,"èµĦè´¨":104572,"çĹĽèĭ¦":104573,"ç²īä¸Ŀ":104574,"å¢ĵ":104575,"å¹³å®ī":104576,"管éģĵ":104577,"è·ŁçĿĢ":104578,"é¥®é£Ł":104579,"åķĨå®¶":104580,"å¤ļå®¶":104581,"åı¸æľº":104582,"åºĶ该æĺ¯":104583,"éĢıéľ²":104584,"认å®ļ":104585,"è¡Įä¸ļçļĦ":104586,"çļĦä¼ģä¸ļ":104587,"æ¯ıä¸Ģ":104588,"èĮĥåĽ´åĨħ":104589,"è¾ĥ大":104590,"è´¤":104591,"å¤§èµĽ":104592,"å¤ļäºĨ":104593,"鸿":104594,"临åºĬ":104595,"åľ¨è¿Ļ个":104596,"çļĦåĨħ容":104597,"éĶĢéĩı":104598,"å¾Īå°ij":104599,"åŃŁ":104600,"ç»´æĮģ":104601,"åĴĸåķ¡":104602,"æľ¬åľ°":104603,"èī²å½©":104604,"å¹¶éĿŀ":104605,"èĢĮå·²":104606,"温æļĸ":104607,"èIJ§":104608,"æĬĵä½ı":104609,"èĢĮä¸įæĺ¯":104610,"åĸĬ":104611,"çļĦåħ³ç³»":104612,"çī©åĵģ":104613,"éĤ£æĺ¯":104614,"åĨľäº§åĵģ":104615,"è¿ĻæĹ¶":104616,"å©ļå§»":104617,"æ°´æŀľ":104618,"æĶ¶èİ·":104619,"ä»ĺåĩº":104620,"客æĪ·ç«¯":104621,"æ¼Ķåĩº":104622,"åħ¨æĸ°":104623,"è¿Ļä¹Łæĺ¯":104624,"æĺ¯çͱ":104625,"è§Ĥ念":104626,"æľī个":104627,"éĢłåŀĭ":104628,"èĥľåĪ©":104629,"ä¸īæĺ¯":104630,"è¶ħå¸Ĥ":104631,"åħļå»ºå·¥ä½ľ":104632,"æĶ¾å¿ĥ":104633,"线路":104634,"æĭĽçĶŁ":104635,"åIJĥé¥Ń":104636,"è½ī":104637,"å°½éĩı":104638,"è§ģåΰ":104639,"åIJĮæ¯Ķå¢ŀéķ¿":104640,"åįİ为":104641,"æĪijå¸Ĥ":104642,"æıIJåĩºäºĨ":104643,"æ°ijèѦ":104644,"åįļçī©":104645,"åįļçī©é¦Ĩ":104646,"è¯ļä¿¡":104647,"åīįéĿ¢":104648,"山西":104649,"è¾ħåĬ©":104650,"转移":104651,"æĽ´ä¸º":104652,"丰å¯ĮçļĦ":104653,"åį¢":104654,"å¿«éĢĴ":104655,"æĺ¾èijĹ":104656,"çī©èµĦ":104657,"åĪ°è¾¾":104658,"æľīåĪ©äºİ":104659,"åijĨ":104660,"åŃ©åŃIJçļĦ":104661,"ä¸įä½Ĩ":104662,"çłĶç©¶éĻ¢":104663,"çͳæĬ¥":104664,"æļ¨":104665,"æ°ijéĹ´":104666,"åį»":104667,"çļĦå£°éŁ³":104668,"å¸ĤåľºçļĦ":104669,"ä¸Ģåı¥":104670,"çľģ级":104671,"æĿ¥çļĦ":104672,"åĵªä¸ª":104673,"æīįä¼ļ":104674,"åĪĨéħį":104675,"èĶ¡":104676,"ä»ĸåľ¨":104677,"åħ±æľī":104678,"å¡ĺ":104679,"èĴĤ":104680,"éľį":104681,"åıĤè§Ĥ":104682,"ä¸Ī夫":104683,"ä¾ĿéĿł":104684,"æľīæĹ¶":104685,"äºĨå¾Īå¤ļ":104686,"ä¸ĸçķĮæĿ¯":104687,"å®¶æĹı":104688,"ä¸įéľĢè¦ģ":104689,"大å¸Ī":104690,"èŀįåħ¥":104691,"éĿŀæ³ķ":104692,"çĹħ人":104693,"åIJİæľŁ":104694,"大家éĥ½":104695,"ç½ijåĿĢ":104696,"åİŁæĸĻ":104697,"ä¾¿å®ľ":104698,"æ¶Ľ":104699,"ä»¿ä½Ľ":104700,"å·®è·Ŀ":104701,"åı¦ä¸Ģæĸ¹éĿ¢":104702,"产åĵģçļĦ":104703,"赫":104704,"æĥħåĨµä¸ĭ":104705,"éĴ¢éĵģ":104706,"æľ¬ç«Ļ":104707,"纳åħ¥":104708,"å·²æľī":104709,"æľī没æľī":104710,"估计":104711,"é£ĺ":104712,"æľŁè´§":104713,"åĢĭ人è³ĩæĸĻ":104714,"ä¸ĵä¸ļçļĦ":104715,"çĪĨåıij":104716,"èĩ´åĬĽäºİ":104717,"çİ°åľ¨çļĦ":104718,"æľīåĵªäºĽ":104719,"çł´åĿı":104720,"æķ°åŃĹåĮĸ":104721,"åľ°éĿ¢":104722,"é»ijèī²":104723,"å¹¼åĦ¿åĽŃ":104724,"çļĦç²¾ç¥ŀ":104725,"äºŃ":104726,"导æ¼Ķ":104727,"çݰæľī":104728,"æŃ¦åύ":104729,"èĭıå·ŀ":104730,"çİĦ":104731,"æ±Łè¥¿":104732,"延伸":104733,"论æĸĩ":104734,"è¾ĥ为":104735,"çİ©æ³ķ":104736,"é¼İ":104737,"åIJĮæŃ¥":104738,"éĩĬæĶ¾":104739,"æĽĿåħī":104740,"åĿļåĨ³":104741,"å§Ķæīĺ":104742,"å°Ĩåľ¨":104743,"äºĪ以":104744,"ä½ľæĸĩ":104745,"èĢĮåľ¨":104746,"ä¼ĺåħĪ":104747,"åĽŀåİ»":104748,"ä¿®å¤į":104749,"åĽ½åĨħå¤ĸ":104750,"çŃĸåĪĴ":104751,"åıijæĶ¾":104752,"å¿ĥæĥħ":104753,"çļĦåİĨåı²":104754,"éĿ¢è¯ķ":104755,"举åĮĹ":104756,"ä¿¡åı·":104757,"ç²®é£Ł":104758,"è¯ģ书":104759,"æŁIJäºĽ":104760,"è¿IJä½ľ":104761,"åĨ²åĩ»":104762,"çĥŃçĤ¹":104763,"æĹ¶æĹ¶":104764,"æĹ¶æĹ¶å½©":104765,"åľ°çĤ¹":104766,"ä¸Ģä½ĵåĮĸ":104767,"éļ¾é¢ĺ":104768,"æĽ°":104769,"ç«ĭåĪ»":104770,"æĺ¯éĿŀ常":104771,"åħ±åĴĮ":104772,"åħ±åĴĮåĽ½":104773,"æ¿ĢåĬ±":104774,"æľīæķĪçļĦ":104775,"å¤Ħç½®":104776,"该åħ¬åı¸":104777,"æ£ĢéªĮ":104778,"èѦæĸ¹":104779,"è´¾":104780,"äºĨä¸Ģä¸ĭ":104781,"ä»ĬåIJİ":104782,"çħ®":104783,"ç͍åĵģ":104784,"读èĢħ":104785,"æĪijåľ¨":104786,"åĽŀå¤į":104787,"ä¸Ģ座":104788,"è¿ĺ没":104789,"å®ļåζ":104790,"没æĥ³åΰ":104791,"夹":104792,"ä¼łéĢĴ":104793,"ä¸Ģ款":104794,"强大çļĦ":104795,"çļĦè¡Į为":104796,"å¤ı天":104797,"åıijåĬ¨æľº":104798,"é¢ĨåŁŁçļĦ":104799,"å®ŀéªĮ室":104800,"ä¸ĢæĬĬ":104801,"æĺ¯ä¸ºäºĨ":104802,"éĻķ西":104803,"æĭħä¿Ŀ":104804,"è¾¾æĪIJ":104805,"è¦ģæĺ¯":104806,"æĺİ天":104807,"ç»Ļä»ĸ":104808,"建ç«ĭäºĨ":104809,"ä¸įè¡Į":104810,"ä¸Ńæĸĩ":104811,"åľ°è¯´":104812,"åIJİçļĦ":104813,"çĽijæİ§":104814,"é̏":104815,"æĢ»éĥ¨":104816,"æľ¬æĸĩ":104817,"鹿":104818,"æĻ¯è§Ĥ":104819,"çļĦ缮æłĩ":104820,"èĽĩ":104821,"åĨ¯":104822,"ä¸ŃåĮ»":104823,"æķĪåºĶ":104824,"产éĩı":104825,"åŃĿ":104826,"è´¦æĪ·":104827,"è¿Ŀåıį":104828,"èij£äºĭä¼ļ":104829,"äº¬ä¸ľ":104830,"责任ç¼ĸè¾ij":104831,"åķıé¡Į":104832,"çαå¿ĥ":104833,"èŃ¦å¯Ł":104834,"é¤IJåİħ":104835,"å¸ĤæĶ¿åºľ":104836,"天天":104837,"æĸ°é²ľ":104838,"éĥijå·ŀ":104839,"è¶ħè¶Ĭ":104840,"å½Ń":104841,"çŁ¥è¯Ĩ产æĿĥ":104842,"åĽŀå¿Ĩ":104843,"路线":104844,"å»īæ´ģ":104845,"éĿĴå°ijå¹´":104846,"åıĸå¾ĹäºĨ":104847,"çľĭåΰäºĨ":104848,"馬":104849,"ç²¾åĵģ":104850,"åľ°éĵģ":104851,"æĮģæľī":104852,"ä¸ĭäºĨ":104853,"æľīæĹ¶åĢĻ":104854,"ä¸Ģ人":104855,"æĴĴ":104856,"ä»Ķç»Ĩ":104857,"èĢģåħ¬":104858,"äºĭå®ŀä¸Ĭ":104859,"èģĶèµĽ":104860,"ä¾ĽåºĶéĵ¾":104861,"é¢Ħç®Ĺ":104862,"åζéĢłä¸ļ":104863,"å®īåħ¨çĶŁäº§":104864,"俱ä¹IJ":104865,"俱ä¹IJéĥ¨":104866,"çļĦæł¸å¿ĥ":104867,"æīĵç®Ĺ":104868,"å½±çīĩ":104869,"æIJŃ建":104870,"ä¹Łä¸įä¼ļ":104871,"æĭħå½ĵ":104872,"å±ĤéĿ¢":104873,"åѦåijĺ":104874,"临æĹ¶":104875,"缸ç»ĵåIJĪ":104876,"对æ¯Ķ":104877,"ä»ĸæĺ¯":104878,"æĸ°åĮº":104879,"è¿Ľåİ»":104880,"çϾ年":104881,"ä¿©":104882,"尽快":104883,"ç͵åŃIJåķĨåĬ¡":104884,"æĽ´æľī":104885,"æ¸ħçIJĨ":104886,"åı¦ä¸Ģ个":104887,"åĤ»":104888,"ä»Ģä¹Īæł·çļĦ":104889,"æĺ¯æľĢ":104890,"åij¨å¹´":104891,"å¾Ī容æĺĵ":104892,"åĽ¢ç»ĵ":104893,"ç´Ħ":104894,"æĹ©å·²":104895,"çļĦåıĺåĮĸ":104896,"éľŀ":104897,"æĹ¥ä¸ĬåįĪ":104898,"失åİ»":104899,"ä¸Ńåľĭ":104900,"çļĦä¸ĢäºĽ":104901,"å°ıåŃ©":104902,"ä¸ĭè·Į":104903,"éĶ»çĤ¼":104904,"éij":104905,"éij«":104906,"å¿ĹæĦ¿èĢħ":104907,"èĤ¡å¸Ĥ":104908,"èµĽäºĭ":104909,"许åı¯è¯ģ":104910,"åı¯æĮģç»Ń":104911,"åijĬè¯īè®°èĢħ":104912,"éĢ»è¾ij":104913,"å¼ķåħ¥":104914,"çļĦè¿ĩç¨ĭä¸Ń":104915,"è§Ĩè§ī":104916,"èĩªæ²»åĮº":104917,"è¯ģæį®":104918,"è£ħç½®":104919,"第ä¸īæĸ¹":104920,"å¹´æĿ¥":104921,"å¹¿ä¸ľçľģ":104922,"带æĿ¥äºĨ":104923,"éķ¿æ±Ł":104924,"访éĹ®":104925,"å·®ä¸įå¤ļ":104926,"æĺ¯æĪij":104927,"éģŃéģĩ":104928,"æĬĵ好":104929,"é«ĺè¾¾":104930,"å¹¶åľ¨":104931,"èĩªè§ī":104932,"ä¾ĽåºĶåķĨ":104933,"æĥħæĦŁ":104934,"ä½ıäºĨ":104935,"çļĦèģĮä¸ļ":104936,"çļĩå¸Ŀ":104937,"西éĥ¨":104938,"åĴĮå¹³":104939,"çļĦåĬĽéĩı":104940,"汪":104941,"åħħåĪĨåıijæĮ¥":104942,"æĬķè¯ī":104943,"èµ·åΰ":104944,"äºĴ缸":104945,"æ¾³éŨ":104946,"æİ¥åΰ":104947,"æ°´æ³¥":104948,"模åŀĭ":104949,"ä¸ĢåįĬ":104950,"ç§©åºı":104951,"æĪijä»¬åľ¨":104952,"æī¿è®¤":104953,"ä¸Ģéĥ¨åĪĨ":104954,"åįłæ¯Ķ":104955,"å¦ĩ女":104956,"ç²ĺ":104957,"äºĨè§£åΰ":104958,"ä¸Ģå®ļä¼ļ":104959,"åIJĦ大":104960,"èµ°åĩº":104961,"为大家":104962,"é«ĺéĵģ":104963,"åı¯ä»¥åľ¨":104964,"ä½Ĩåľ¨":104965,"çĶŁæĢģçݯå¢ĥ":104966,"èı¯":104967,"çļĦä»·æł¼":104968,"麻çĥ¦":104969,"æ¿Ģåıij":104970,"éĤ£å°±":104971,"çļĦæł·åŃIJ":104972,"为æŃ¤":104973,"å¤©åľ°":104974,"çļĦ缮çļĦ":104975,"åĢºåΏ":104976,"å·²ç¶ĵ":104977,"åĽĽå¤§":104978,"åIJĮæĹ¶ä¹Ł":104979,"å½¼æŃ¤":104980,"æĭ¿åΰ":104981,"åIJ«éĩı":104982,"åįģ大":104983,"éļ¾éģĵ":104984,"å¼Ĺ":104985,"ä¸Ģ段æĹ¶éĹ´":104986,"çħ§é¡¾":104987,"æķ°æį®æĺ¾ç¤º":104988,"æĪIJ为äºĨ":104989,"èµ°åΰ":104990,"æľ¬åħ¬åı¸":104991,"ç»Ī端":104992,"ä¹Łä¸įæĺ¯":104993,"头åıij":104994,"大约":104995,"é£İæĻ¯":104996,"æ¶ĪèĢĹ":104997,"å®¡æŁ¥":104998,"äºīåıĸ":104999,"æ³ķæ²»":105000,"äºĭçī©":105001,"ç¼ĵè§£":105002,"æĥ¨":105003,"缸åºĶçļĦ":105004,"çļĦæķĪæŀľ":105005,"åıįå¤į":105006,"åıijçĶŁäºĨ":105007,"éĢĻäºĽ":105008,"ç»ĥä¹ł":105009,"åݨæĪ¿":105010,"å¼Ģæĭĵ":105011,"欣èµı":105012,"夫妻":105013,"ä¸įä¸Ģæł·":105014,"产èĥ½":105015,"èĬ¯çīĩ":105016,"è¦ģç´ł":105017,"åıį对":105018,"çİĩåħĪ":105019,"è´§çī©":105020,"æĹ¥ç͵":105021,"ä½ľå®¶":105022,"æĶ¹è¿Ľ":105023,"æĪIJåĪĨ":105024,"åĽłèĢĮ":105025,"åĩıèĤ¥":105026,"æ½ĺ":105027,"å±±ä¸ľçľģ":105028,"åĬĿ":105029,"åŁĭ":105030,"æŃ¦è£ħ":105031,"æ±ĩæĬ¥":105032,"ä¸Ģ个æľĪ":105033,"çĥŃéŨ":105034,"大éģĵ":105035,"æ´»åĭķ":105036,"éĥ½å¾Ī":105037,"çĶµæ¢¯":105038,"ç´§æĢ¥":105039,"åĢºåĬ¡":105040,"客æľį":105041,"ä¸Ģéĥ¨":105042,"ä½łæĺ¯":105043,"çݰçĬ¶":105044,"æŃ£ç¡®çļĦ":105045,"ä¹ĭå¤Ħ":105046,"ç¼ĸåζ":105047,"ä½łåı¯ä»¥":105048,"çŃīåľ°":105049,"èİī":105050,"对è¯Ŀ":105051,"æ·ĺå®Ŀ":105052,"è°ĥèĬĤ":105053,"æİĴæĶ¾":105054,"åºĵåŃĺ":105055,"ç´ļ":105056,"çļĦä¼ĺåĬ¿":105057,"æĿĥå¨ģ":105058,"以ä¸ĭç®Ģç§°":105059,"ä¸Ģ项":105060,"èģļéĽĨ":105061,"ä¼łç»ŁçļĦ":105062,"æ··åIJĪ":105063,"è¿Ļä¸ĢçĤ¹":105064,"ä¸Ģçľ¼":105065,"æĹłéĻIJ":105066,"èİ·å¾ĹäºĨ":105067,"éĢīæīĭ":105068,"åζåĵģ":105069,"åįıä½ľ":105070,"çĭ¬çī¹çļĦ":105071,"ä¸Ģ级":105072,"è¿Ļ个éĹ®é¢ĺ":105073,"æĸĮ":105074,"æĺ¯æĪij们":105075,"æķĮ人":105076,"æ¸ħæ´Ĺ":105077,"ä¸ĢçĽ´åľ¨":105078,"å°ıç±³":105079,"çļĦè¿ĩç¨ĭ":105080,"åľ¨åĮĹ京":105081,"ä¸ĢæĶ¯":105082,"æĹ©ä¸Ĭ":105083,"æĸĩèīº":105084,"ç¦ıåĪ©":105085,"é£Łç͍":105086,"æĦŁåĬ¨":105087,"åħ¨ç¨ĭ":105088,"æĶ¯åĩº":105089,"æĸ°å»º":105090,"å¸ķ":105091,"æĺ¾çĦ¶":105092,"羣çļĦæĺ¯":105093,"æĸ°éĹ»ç½ij":105094,"èĥ½åIJ¦":105095,"åįıåĬ©":105096,"亲èĩª":105097,"å¾Īæľī":105098,"çϼå±ķ":105099,"æĦı大":105100,"æĦı大åĪ©":105101,"ç͵ç½ij":105102,"æĹ¥çĽĬ":105103,"çĨ±":105104,"èĤĮèĤ¤":105105,"çĶ·æĢ§":105106,"ç»Ħ建":105107,"çŃīéĹ®é¢ĺ":105108,"æ¶ĪéϤ":105109,"æĬ¤çIJĨ":105110,"å¡ijæĸĻ":105111,"ä¹Įåħĭ":105112,"ä¹Įåħĭåħ°":105113,"åķĨæłĩ":105114,"çIJ³":105115,"æĸ°æīĭ":105116,"çļĦçī¹çĤ¹":105117,"åĴ¬":105118,"å½ĵä¸ĭ":105119,"设计å¸Ī":105120,"èµĶåģ¿":105121,"第åįģ":105122,"æĻºèĥ½åĮĸ":105123,"å¼ĢåıijåĮº":105124,"åı¯ä»¥éĢļè¿ĩ":105125,"åħ±äº§åħļ":105126,"åİī害":105127,"ç쵿´»":105128,"æĹ¶åħī":105129,"éĥ¨ä½į":105130,"人æĸĩ":105131,"è¿ĽæĿ¥":105132,"ä¹ĭæīĢ以":105133,"ä¸īåįģ":105134,"çļĦåѦçĶŁ":105135,"éĺ²æĬ¤":105136,"åĽ½äº§":105137,"æ·±åľ³å¸Ĥ":105138,"éĤ£å°±æĺ¯":105139,"åΰä½į":105140,"çľĹ":105141,"çľĹæĻ®":105142,"å®ŀæĹ¶":105143,"åı°çģ£":105144,"èĢĮä¸į":105145,"æĮĩå®ļ":105146,"åĿĿ":105147,"èħIJè´¥":105148,"çī¹å®ļ":105149,"å¢ŀéĢŁ":105150,"æłĩçѾ":105151,"æĪ¿ä»·":105152,"æĦģ":105153,"贯彻èIJ½å®ŀ":105154,"æĢ§è´¨":105155,"çłĶç©¶çĶŁ":105156,"ç¾İ容":105157,"æī¹è¯Ħ":105158,"究竣":105159,"人åĬĽèµĦæºIJ":105160,"éĸĭå§ĭ":105161,"åĽŀå½Ĵ":105162,"èIJ¥åķĨ":105163,"èIJ¥åķĨçݯå¢ĥ":105164,"ä¸ŃåĽ½äºº":105165,"çļĦåŁºæľ¬":105166,"è¯Ŀé¢ĺ":105167,"æłĩåĩĨåĮĸ":105168,"西èĹı":105169,"åĭ¾":105170,"çļĦ设计":105171,"ç®ĢåįķçļĦ":105172,"å¤įåζ":105173,"æ¸IJæ¸IJ":105174,"以å¤ĸ":105175,"èģĶåĬ¨":105176,"两次":105177,"æĢ§åĴĮ":105178,"æĽ´å¤§":105179,"çļĦåIJįåŃĹ":105180,"飦":105181,"ä½łè¦ģ":105182,"å¢ĥå¤ĸ":105183,"æĹ©æľŁ":105184,"åĪĿæŃ¥":105185,"è´¦åı·":105186,"害æĢķ":105187,"æĺ¨æĹ¥":105188,"åĪļæīį":105189,"ç¥ŀç§ĺ":105190,"ç²¾å¿ĥ":105191,"æµģéĢļ":105192,"åħ¨æĸ¹ä½į":105193,"以å¾Ģ":105194,"ä¹Łå°Ĩ":105195,"æĺ¯ä¸ŃåĽ½":105196,"åĽ½å®¶çº§":105197,"å°ĨåĨĽ":105198,"æijĬ":105199,"æľĢ为":105200,"第ä¸ĢæĹ¶éĹ´":105201,"æ¶Īæ¯Ĵ":105202,"å°Ĩäºİ":105203,"å¨ģèĥģ":105204,"èĭ±æĸĩ":105205,"æīĭä¸Ń":105206,"çIJĥè¿·":105207,"è§Ĥçľĭ":105208,"离å©ļ":105209,"æľ¬åľŁ":105210,"åĪĨæķ£":105211,"æĻ´":105212,"è¦ģ注æĦı":105213,"浪费":105214,"管æİ§":105215,"åĩºåĶ®":105216,"æĢ»è£ģ":105217,"ä¸Ģéĺµ":105218,"å¨ĩ":105219,"äºĶ个":105220,"å½ĵåĪĿ":105221,"çºłçº·":105222,"ä¸ĵç͍":105223,"å¤ĩæ¡Ī":105224,"åĪĿæľŁ":105225,"å®ĥæĺ¯":105226,"åĮºåĿĹ":105227,"åĮºåĿĹéĵ¾":105228,"大è¿ŀ":105229,"è¿Ļç±»":105230,"åıĺæĪIJäºĨ":105231,"éĤĦæĺ¯":105232,"åįļ客":105233,"çı¾åľ¨":105234,"ä¸Ģæĸ¹":105235,"å®ĮæĪIJäºĨ":105236,"è¿Ļ个æĹ¶åĢĻ":105237,"åħ¨å¹´":105238,"ä¸Ĭ线":105239,"ç½IJ":105240,"ç«ŀèµĽ":105241,"åĩºçīĪ社":105242,"åĵ¥åĵ¥":105243,"寫":105244,"å¾Ĺ以":105245,"èĬ±åĽŃ":105246,"äºĨèµ·æĿ¥":105247,"èĦ±è´«æĶ»åĿļ":105248,"çļĦåİŁåĪĻ":105249,"讲解":105250,"æ¶ĪåĮĸ":105251,"æįŁå®³":105252,"æļĤæĹ¶":105253,"å¾ĹçŁ¥":105254,"éĢĤç͍":105255,"éŨåºĹ":105256,"解读":105257,"æĻ®åıĬ":105258,"人æ°ijæ³ķéĻ¢":105259,"åī¯ä¸»ä»»":105260,"å¿ĥçģµ":105261,"è¯ĬæĸŃ":105262,"ç¾İ女":105263,"æŁ¯":105264,"年以æĿ¥":105265,"æ´»è·ĥ":105266,"åĢŁåĬ©":105267,"åħ±å»º":105268,"è¯ī讼":105269,"æĶ¾æĿ¾":105270,"çªĹåı£":105271,"ä¼ģæ¥Ń":105272,"åĬłæĭ¿":105273,"åĬłæĭ¿å¤§":105274,"ä¹°äºĨ":105275,"主æµģ":105276,"æĩĤå¾Ĺ":105277,"å°Ĩåħ¶":105278,"éĢıæĺİ":105279,"å·¥ä½ľä¸Ń":105280,"èĤ¡ä»·":105281,"æ¡£æ¡Ī":105282,"没æľīä»»ä½ķ":105283,"åijĬçŁ¥":105284,"å¹´åĪĿ":105285,"æĹ¥ä¸ĭåįĪ":105286,"åİĤåķĨ":105287,"èĬĤå¥ı":105288,"主导":105289,"è£Ŀ":105290,"åħ³éĶ®è¯į":105291,"èģĬ天":105292,"åĨĻä½ľ":105293,"æĶ¹éĿ©å¼ĢæĶ¾":105294,"æľīæľĽ":105295,"éĢļæĬ¥":105296,"èIJĮ":105297,"æĢ»é¢Ŀ":105298,"çŁŃæľŁ":105299,"ä¸Ģçķª":105300,"çĶŁæ´»çļĦ":105301,"åĮĸçļĦ":105302,"æĺ¥å¤©":105303,"è¿Ļåľº":105304,"æĸ°å¼Ģä¼łå¥ĩ":105305,"æĺ¯è¦ģ":105306,"å°ļæľª":105307,"åıĺæĽ´":105308,"ä¸Ģåij¨":105309,"客è§Ĥ":105310,"æĹ¥èĩ³":105311,"é¹°":105312,"çݲ":105313,"å°ĨæĿ¥":105314,"客人":105315,"åıĺéĿ©":105316,"说äºĨ":105317,"åİŁçIJĨ":105318,"èģĮåĬ¡":105319,"åıĪæľī":105320,"ä¸Ģåı¥è¯Ŀ":105321,"æĦŁåıĹåΰ":105322,"ç¬ĶèĢħ":105323,"ç§»æ°ij":105324,"西åįĹ":105325,"ä¹ĥèĩ³":105326,"æŃ£è§Ħ":105327,"åĪĿä¸Ń":105328,"çĬ¬":105329,"å½ĵäºĭ":105330,"å½ĵäºĭ人":105331,"æĪij们è¦ģ":105332,"åħ¥åı£":105333,"éĤ£æĹ¶":105334,"æľīéĻIJ责任":105335,"å°ij女":105336,"è¿Ļä¹Īå¤ļ":105337,"åĪĨåħ¬åı¸":105338,"å®ĩå®Ļ":105339,"çļĦéĢīæĭ©":105340,"å§IJå§IJ":105341,"åıijèµ·":105342,"è»į":105343,"æĽ´å¥½åľ°":105344,"éĻĨç»Ń":105345,"æľ¬æľįåĭĻ":105346,"å«©":105347,"èµ¶ç´§":105348,"èĦĤèĤª":105349,"第äºĮ天":105350,"æĪijä¼ļ":105351,"两ä½į":105352,"æķ²":105353,"åħ¬å®īæľºåħ³":105354,"ç§ijæĬĢåĪĽæĸ°":105355,"尺寸":105356,"è¾IJå°Ħ":105357,"å®ĹæķĻ":105358,"转æį¢":105359,"åĩºçİ°åľ¨":105360,"ä¸Ģé¢Ĺ":105361,"æľŁéĻIJ":105362,"åIJĮåѦ们":105363,"åĮĹæĸ¹":105364,"ä½łå°±":105365,"ä¸Ģ带ä¸Ģè·¯":105366,"èĢģå©Ĩ":105367,"游æĪıçݩ家":105368,"çļĦç»ĵæŀľ":105369,"è¡¥åģ¿":105370,"å¤ĸè´¸":105371,"对å¾ħ":105372,"ç»´çĶŁç´ł":105373,"ç»ıéĶĢåķĨ":105374,"è¿ĺå°Ĩ":105375,"åŃIJ女":105376,"æĽ´é«ĺ":105377,"ä¸į大":105378,"éī´å®ļ":105379,"让ä»ĸ们":105380,"æīĢè°ĵçļĦ":105381,"æŃ»äºĨ":105382,"帮æī¶":105383,"åĵ²åѦ":105384,"以ä¸ĬçļĦ":105385,"çļĦåħ³éĶ®":105386,"æĹ©å°±":105387,"æĬ¥ä»·":105388,"éģµå®Ī":105389,"æī©å¼ł":105390,"æĺ¯å¾Ī":105391,"å¼ĢéĢļ":105392,"æĸ°åĬł":105393,"æĸ°åĬłåĿ¡":105394,"ç¿»è¯ij":105395,"询éĹ®":105396,"é¸Ń":105397,"ä½ĵåĨħ":105398,"两个人":105399,"çι":105400,"éľľ":105401,"乡æĿijæĮ¯åħ´":105402,"çĿ¡è§ī":105403,"å®ĺåijĺ":105404,"åĪĽå§ĭ":105405,"åĪĽå§ĭ人":105406,"ä¼Ĺ人":105407,"åį³ä¾¿":105408,"çĸ«èĭĹ":105409,"ä¼ģä¸ļå®¶":105410,"渣":105411,"ç²¾åĬĽ":105412,"å¤ĸéĥ¨":105413,"èģªæĺİ":105414,"è¿Ļä¹Ł":105415,"å½ķåıĸ":105416,"åĨ²çªģ":105417,"åħ¨èº«":105418,"åŃ£èĬĤ":105419,"忽çĦ¶":105420,"çļĦæĢģ度":105421,"åĤ¨å¤ĩ":105422,"ä¿Ŀåħ»":105423,"çļĦæĥ³æ³ķ":105424,"ä¸Ĭæµ·å¸Ĥ":105425,"æIJºæīĭ":105426,"çļĦä¿¡æģ¯":105427,"åķĨåľº":105428,"çļĦæĢĿæĥ³":105429,"æĿĥåĬĽ":105430,"毫æĹł":105431,"æĢĢåŃķ":105432,"硬件":105433,"åĨħèĴĻåı¤":105434,"æİ¢è®¨":105435,"åħ»çĶŁ":105436,"çļĦ表çݰ":105437,"空ä¸Ń":105438,"æģIJæĢĸ":105439,"å¾Īé«ĺ":105440,"ç»ıæµİ社ä¼ļ":105441,"ä¸ĬæĿ¥":105442,"å»¶ç»Ń":105443,"éĩįå¤į":105444,"éĺ²èĮĥ":105445,"çļĦå½¢å¼ı":105446,"æľĪåºķ":105447,"èĢģ年人":105448,"绿åĮĸ":105449,"å±±åĮº":105450,"æĭ¿åĩº":105451,"æĹħ客":105452,"æĽ´æį¢":105453,"åħ¬ä¸»":105454,"èĬĤ约":105455,"åħ¨åİ¿":105456,"åĽŀæĬ¥":105457,"çIJĨæĢ§":105458,"çĸ¯çĭĤ":105459,"æ¶īå«Į":105460,"åī§æĥħ":105461,"åĨ¬åŃ£":105462,"åIJİç»Ń":105463,"è¿Ļæĺ¯ä¸Ģ个":105464,"æ¼Ķ讲":105465,"ä¸Ģå±Ĥ":105466,"æľīåħ³éĥ¨éŨ":105467,"æĹłå¥Ī":105468,"ç§įç±»":105469,"缸åħ³çļĦ":105470,"æĪĸèĢħæĺ¯":105471,"æī¶æĮģ":105472,"å¤ļæķ°":105473,"çļĦä½ľåĵģ":105474,"ä¸ĭä¸ĢæŃ¥":105475,"å¸ĪåĤħ":105476,"é«ĺéĢŁåħ¬è·¯":105477,"好åıĭ":105478,"ä¼ĺç§ĢçļĦ":105479,"è¿ĽäºĨ":105480,"æģIJæĢķ":105481,"äºĨåIJ§":105482,"大è§Ħ模":105483,"çļĦä¸ĸçķĮ":105484,"æĢĢçĸij":105485,"å··":105486,"åħ´å¥ĭ":105487,"æĪ°":105488,"æĿijéĩĮ":105489,"æľĭåıĭåľĪ":105490,"åĨ¬å¤©":105491,"ä¸Ńåįİ人æ°ij":105492,"åįıåķĨ":105493,"è¯ĦéĢī":105494,"æĹŃ":105495,"å¢ŀåĬłäºĨ":105496,"åıĹ伤":105497,"ä¸ĢèĤ¡":105498,"便æį·":105499,"ä¸ij":105500,"鹤":105501,"å¤ĸè§Ĥ":105502,"å·¥ç¨ĭå¸Ī":105503,"åĴĮåħ¶ä»ĸ":105504,"è¿Ļå°±":105505,"ä¸Ńå°ıä¼ģä¸ļ":105506,"西åĮĹ":105507,"åĽ½æľīä¼ģä¸ļ":105508,"èĭ¥æĺ¯":105509,"åı¯æĥľ":105510,"çĶŁæĹ¥":105511,"åĩ½":105512,"ä¹°åįĸ":105513,"ç¥Ŀç¦ı":105514,"人æ°ij群ä¼Ĺ":105515,"åħīæĺİ":105516,"åħ¬å¯ĵ":105517,"æĺ¯è°ģ":105518,"æĪijçŁ¥éģĵ":105519,"è¯Ńæĸĩ":105520,"æķıæĦŁ":105521,"ä¸įéĶĻçļĦ":105522,"æĿ¥è®²":105523,"æ³¢åĬ¨":105524,"çļĦ第ä¸Ģ":105525,"åľ°éľĩ":105526,"åľ¨åħ¨åĽ½":105527,"骨干":105528,"å®īç½®":105529,"å®¶ç͵":105530,"ä¸İæŃ¤":105531,"ä¸İæŃ¤åIJĮæĹ¶":105532,"åıĹçģ¾":105533,"çĥŃ线":105534,"çļĦæĬĢæľ¯":105535,"æµĭéĩı":105536,"ä¾Ŀèµĸ":105537,"ä¸ŃåĽ½çļĦ":105538,"ç̧":105539,"è¾ĥé«ĺ":105540,"踩":105541,"ä¼ļåľ¨":105542,"建éĢł":105543,"导èĪª":105544,"æĥ³èµ·":105545,"åħ¨ä¸ĸçķĮ":105546,"建æĿIJ":105547,"ç¯Ģ":105548,"çļĦåŁºç¡Ģ":105549,"èĩªåĬ¨åĮĸ":105550,"åīįåIJİ":105551,"çĿ¡çľł":105552,"æİ¨è¡Į":105553,"æį®äºĨè§£":105554,"ä»Ģä¹ĪæĹ¶åĢĻ":105555,"ä¸įåĸľæ¬¢":105556,"çħ¤çĤŃ":105557,"éĤ£ä¹Īå¤ļ":105558,"å¸ĤåľºåĮĸ":105559,"ä¸į管æĺ¯":105560,"ç«ĭåľº":105561,"éĥ½æ²¡":105562,"课é¢ĺ":105563,"æĪij们å°Ĩ":105564,"è¿ĩçļĦ":105565,"åĨįåĬłä¸Ĭ":105566,"çξ":105567,"身æĿIJ":105568,"çͷ女":105569,"è¿ľè¿ľ":105570,"çĶ·çĶŁ":105571,"èĩªèº«çļĦ":105572,"è´Łæĭħ":105573,"çϾä¸ĩ":105574,"西çıŃ":105575,"西çıŃçīĻ":105576,"åĩĢåĪ©æ¶¦":105577,"澳大":105578,"澳大åĪ©äºļ":105579,"ä¸įåİ»":105580,"æī¿åıĹ":105581,"楼çĽĺ":105582,"å¢ĥåĨħ":105583,"æ··åĩĿ":105584,"æ··åĩĿåľŁ":105585,"æĢĿæĥ³æĶ¿æ²»":105586,"å¸ĤåĮº":105587,"æĭĽæłĩ":105588,"åĽ¢ä½ĵ":105589,"è¿Ľåº¦":105590,"åĨĽéĺŁ":105591,"åıįå¼¹":105592,"äºĨä¸ĢäºĽ":105593,"æİ¥å¾ħ":105594,"çļĦåŃ¦ä¹ł":105595,"éħįéĢģ":105596,"é£Łåĵģå®īåħ¨":105597,"æĽ¿ä»£":105598,"æĺ¯ä»¥":105599,"éĢļç͍":105600,"çłĶç©¶æīĢ":105601,"ç¦ħ":105602,"æīĶ":105603,"éļĶ离":105604,"ä¸ĩå¹³æĸ¹ç±³":105605,"çļĦè§Ħå®ļ":105606,"ç»ĻæĪij们":105607,"æ¿Ģåħī":105608,"ä¼ļåĩºçݰ":105609,"çŁŃä¿¡":105610,"ç©¿çĿĢ":105611,"æ²Īéĺ³":105612,"æķĻæĿIJ":105613,"éĺ²çĸ«":105614,"ä¼ĺèī¯":105615,"约å®ļ":105616,"æĪijçľģ":105617,"åħ¬æ°ij":105618,"é쏿ĵ":105619,"é쏿ĵĩ":105620,"å·²æĪIJ为":105621,"ä¸įå¿ħ":105622,"ç¥ĸåĽ½":105623,"å¹¶æľª":105624,"åľŁå£¤":105625,"å¾®ç¬ij":105626,"äºĭä¸ļåįķä½į":105627,"çļĦ游æĪı":105628,"åħ¬ç¤º":105629,"åIJĪçIJĨçļĦ":105630,"çªĿ":105631,"æ°Ķ象":105632,"å®¶ä¸Ń":105633,"äº®çĽ¸":105634,"å᫿ĺŁ":105635,"è®°è½½":105636,"è§Ĩéĩİ":105637,"åľ°åĮºçļĦ":105638,"ä½Ĩä»ĸ":105639,"èĤĮèĤī":105640,"äºıæįŁ":105641,"åĬŀåѦ":105642,"ä¸Ģè¡Į":105643,"è¯ŀçĶŁ":105644,"åıijå¸ĥçļĦ":105645,"çļĦæľįåĬ¡":105646,"çļĦçłĶç©¶":105647,"åij¨æľ«":105648,"产ä¸ļåĽŃ":105649,"é«ĺ温":105650,"æĪIJåĬŁçļĦ":105651,"æŃ¥éª¤":105652,"åŃĺåĤ¨":105653,"åŃIJåħ¬åı¸":105654,"让她":105655,"ä¸Ńæľī":105656,"åĺī宾":105657,"妮":105658,"æĺİå¹´":105659,"äºĨåIJĹ":105660,"äºīè®®":105661,"æĪĪ":105662,"ä¸Ģæľ¬":105663,"ç¾İ丽çļĦ":105664,"ä½łè¯´":105665,"大人":105666,"æĶ»çķ¥":105667,"ä¸įæľĥ":105668,"å¾ħéģĩ":105669,"ä¸Ģè¾Ĩ":105670,"çīĪæĿĥæīĢæľī":105671,"æ°ijä¼Ĺ":105672,"åĬŁå¤«":105673,"å±ķä¼ļ":105674,"大èĦij":105675,"æ¯ıæľĪ":105676,"å°ı麦":105677,"æµĻæ±Łçľģ":105678,"çļĦæīĢæľī":105679,"ä¸ĭæ»ij":105680,"èĵĿèī²":105681,"è¦ģæĥ³":105682,"åѦçĶŁçļĦ":105683,"å½ĵä½ł":105684,"ä½ľæĪĺ":105685,"家乡":105686,"å¤ļåIJį":105687,"é«ĺäºİ":105688,"åĿļ强":105689,"è¿ŀéĶģ":105690,"åIJİæŀľ":105691,"人äºĭ":105692,"ç´ħ":105693,"æ¿ĢåĬ¨":105694,"è¿ĽæĶ»":105695,"ç©Ĩ":105696,"ä¸ĺ":105697,"让èĩªå·±":105698,"以æŃ¤":105699,"夫人":105700,"å¼Ģ设":105701,"æ°Ķè´¨":105702,"鸡èĽĭ":105703,"çĦ¡æ³ķ":105704,"åIJĥäºĨ":105705,"åĪĨåĪ«ä¸º":105706,"èģĶåIJĪåĽ½":105707,"å½ĵ代":105708,"å¦Ĥæŀľæĺ¯":105709,"è¿ľç¨ĭ":105710,"åĸĤ":105711,"è®°ä½ı":105712,"æ¸ħåįķ":105713,"åIJĪä½ľä¼Ļä¼´":105714,"åİ»åģļ":105715,"æķħéļľ":105716,"模æĭŁ":105717,"å¸ĪçĶŁ":105718,"åīįæĿ¥":105719,"ç͵è§Ĩåī§":105720,"çĥŃçα":105721,"éľ²åĩº":105722,"é«ĺå±Ĥ":105723,"ç͵åύ":105724,"纪å¾ĭ":105725,"å¼ĢåıijåķĨ":105726,"éķ¿å®ī":105727,"è½½ä½ĵ":105728,"çļĦå°±æĺ¯":105729,"被人":105730,"åıĹçIJĨ":105731,"篮çIJĥ":105732,"èİİ":105733,"交ç»Ļ":105734,"æľªæĿ¥çļĦ":105735,"两大":105736,"åIJķå¸ĥ":105737,"çŃī人":105738,"çļĦæĹ¥åŃIJ":105739,"åIJĪä½ľç¤¾":105740,"æĮijéĢī":105741,"åŃĺæ¬¾":105742,"ç³»ç»ŁçļĦ":105743,"æĬĬå®ĥ":105744,"没æľīä»Ģä¹Ī":105745,"ä»İæŃ¤":105746,"ä¸ŃåįĪ":105747,"çĸ¼çĹĽ":105748,"å·©åĽº":105749,"浪漫":105750,"缸åħ³éĥ¨éŨ":105751,"éķ¿åŁİ":105752,"纤维":105753,"ä¸ĬéŨ":105754,"çĪĨçĤ¸":105755,"èµ·çĤ¹":105756,"çļĦéĢļçŁ¥":105757,"èĢĮæĿ¥":105758,"çļĦèĢģ":105759,"æīĭéĩĮ":105760,"è¯ŃéŁ³":105761,"è¾Ľèĭ¦":105762,"æ±Łèĭıçľģ":105763,"ç͍äºĨ":105764,"身份è¯ģ":105765,"æľīåĬ©":105766,"æľīåĬ©äºİ":105767,"çī©èģĶç½ij":105768,"åĩºéŨ":105769,"å¼ŁåŃIJ":105770,"æĥ¹":105771,"è¿Ļä»¶äºĭ":105772,"æĪij们åı¯ä»¥":105773,"çļĦçĶŁåij½":105774,"æľīä¸Ģç§į":105775,"åºĹéĵº":105776,"åıĮæīĭ":105777,"çļĦæ¶Īæģ¯":105778,"èĢIJå¿ĥ":105779,"å°´å°¬":105780,"éĤ£å¤©":105781,"é¦ĸæī¹":105782,"æĺ¯ä¸Ģå®¶":105783,"人æ°Ķ":105784,"åıįæŃ£":105785,"æĪijåĴĮ":105786,"å®łçī©":105787,"ä¸į对":105788,"寻æ±Ĥ":105789,"çĽ¸ä¼¼":105790,"åľ¨ç¾İåĽ½":105791,"åı«åģļ":105792,"åĹİ":105793,"ç«ĭè¶³":105794,"ç͍éĢĶ":105795,"åħĨ":105796,"大æ°Ķ":105797,"åIJijä¸Ĭ":105798,"ä»ĸå°±":105799,"é¡¹çĽ®å»ºè®¾":105800,"èĭ¥å¹²":105801,"æĺ¯æľī":105802,"æ¿Ģæĥħ":105803,"çļĦæĦıä¹ī":105804,"æĺŃ":105805,"严éĩįçļĦ":105806,"å¯ĨéĽĨ":105807,"èĪŀè¹Ī":105808,"èį£èİ·":105809,"èİ·æĤī":105810,"æ±ŁåįĹ":105811,"åģĩå¦Ĥ":105812,"æĪ·å¤ĸ":105813,"线索":105814,"ç§ģ人":105815,"转åŀĭåįĩ级":105816,"çļĦä»·å̼":105817,"åįķçĭ¬":105818,"èĢģçϾå§ĵ":105819,"å°įæĸ¼":105820,"åĽ½éĻħåĮĸ":105821,"ä¼°å̼":105822,"æľįåĬ¡ä¸ļ":105823,"èĩŃ":105824,"æİīäºĨ":105825,"è§£åĨ³äºĨ":105826,"ä¹Łä¸įèĥ½":105827,"åħ¹":105828,"æĸ¯çī¹":105829,"æķħæĦı":105830,"è¿ĩ度":105831,"èĬĤæĹ¥":105832,"çϽçĻľ":105833,"çϽçĻľé£İ":105834,"ç»§æī¿":105835,"äºĨä¸įå°ij":105836,"äºĮ人":105837,"è§ģéĿ¢":105838,"æĥ³æĥ³":105839,"å¤įåIJĪ":105840,"康å¤į":105841,"åİ¿åŁİ":105842,"åľ¨åĽ½åĨħ":105843,"åľºåľ°":105844,"é϶çĵ·":105845,"è¿Ļ项":105846,"çľ¼ä¸Ń":105847,"糸":105848,"æĦŁè§īåΰ":105849,"æŀľçĦ¶":105850,"æĶ¾åħ¥":105851,"约æĿŁ":105852,"æİĴæŁ¥":105853,"车主":105854,"çļĦæĦıæĢĿ":105855,"æĸ°åŁİ":105856,"æĥ³çĿĢ":105857,"éģĤ":105858,"èĮ¶åı¶":105859,"ä¹°æĪ¿":105860,"åĨľæĪ·":105861,"é«ĺæīĭ":105862,"çİīç±³":105863,"æĸ°åĨłèĤºçĤİ":105864,"çħ§æĺİ":105865,"æĮĩåįĹ":105866,"踢":105867,"æķijæı´":105868,"æĻ¯çĤ¹":105869,"ç¨İæĶ¶":105870,"çļĦæīĭ":105871,"æŃ£å¥½":105872,"è¦ģæĬĬ":105873,"éļıæĦı":105874,"åħ¶å®ŀæĺ¯":105875,"ç»Ļèĩªå·±":105876,"è°ĪåΤ":105877,"æ¯ı天éĥ½":105878,"æĢģåĬ¿":105879,"é¢Ħ约":105880,"åİĨåı²ä¸Ĭ":105881,"å®Ŀè´Ŀ":105882,"åīįè¿Ľ":105883,"ä¹Łå°±æĺ¯è¯´":105884,"çļĦæĦıè§ģ":105885,"åı£ç½©":105886,"åİĺç±³":105887,"èĬ±è´¹":105888,"ä½ĵèĤ²æĬķæ³¨":105889,"åħ¬ä¼Ĺåı·":105890,"èijĹåIJįçļĦ":105891,"å¼ĢæĪ·":105892,"æĭįåįĸ":105893,"å²ģæľĪ":105894,"åĨħæ¶µ":105895,"å®Įæķ´çļĦ":105896,"é«ĺåİĭ":105897,"åħ¬åĬ¡åijĺ":105898,"使ç͍çļĦ":105899,"çĶŁäº§çº¿":105900,"妹妹":105901,"走访":105902,"æĺ¯åı¯ä»¥":105903,"åľ¨å®¶":105904,"æļ´åĬĽ":105905,"æ³°åĽ½":105906,"è´¨çĸij":105907,"ä¸įéģİ":105908,"天çĦ¶æ°Ķ":105909,"缺çĤ¹":105910,"å°ıåŀĭ":105911,"ä¸įä»ħæĺ¯":105912,"é»ijæļĹ":105913,"梨":105914,"æĸĩæĹħ":105915,"è¦ģæľī":105916,"ä¸Ńå±±":105917,"çļĦæķ°æį®":105918,"å¾Ĺå¾Ī":105919,"以便":105920,"对ä»ĸ":105921,"åĬłä»¥":105922,"çϼçı¾":105923,"设å®ļ":105924,"èĤļåŃIJ":105925,"éĿĸ":105926,"å¥īçĮ®":105927,"ä¸įåıĺ":105928,"åı£ç¢ij":105929,"åľ¨åĵªéĩĮ":105930,"ä½IJ":105931,"è¿Ļ两个":105932,"çļĦæĸ¹åIJij":105933,"æŀ«":105934,"äºĮ次":105935,"çīĩåĮº":105936,"éłIJ":105937,"ç£Ĭ":105938,"æĭ¿çĿĢ":105939,"å·²ç»ıæĪIJ为":105940,"ä¹ĭä¸Ĭ":105941,"å®ĹæĹ¨":105942,"奶奶":105943,"é«ĺæĸ°åĮº":105944,"社æľĥ":105945,"è·Łè¸ª":105946,"æľįåĬ¡ä¸Ńå¿ĥ":105947,"æī¯":105948,"æīĭæĮĩ":105949,"礼çī©":105950,"宿èĪį":105951,"ç͍å¿ĥ":105952,"æıIJé«ĺäºĨ":105953,"亮çĤ¹":105954,"ä¸įæĦ¿æĦı":105955,"æĴѿ;":105956,"å¤ļå°ijéĴ±":105957,"没ä»Ģä¹Ī":105958,"æķ°åįģ":105959,"æĢ»çĽij":105960,"çļĦåŁİå¸Ĥ":105961,"æī¾åΰäºĨ":105962,"åĨħåľ°":105963,"åΰçİ°åľ¨":105964,"æĪĺæĸĹåĬĽ":105965,"åİŁå§ĭ":105966,"åĥ§":105967,"åĢĴæĺ¯":105968,"æľĢåħ·":105969,"è´«åĽ°æĪ·":105970,"éĢģåΰ":105971,"级åĪ«":105972,"åĩºèµĦ":105973,"æĪªæŃ¢":105974,"ç§įåŃIJ":105975,"èĥ½ä¸įèĥ½":105976,"幸è¿IJ":105977,"èĸĩ":105978,"项éĵ¾":105979,"æĮĤçīĮ":105980,"ä¸Ģ樣":105981,"ä¹ĺ客":105982,"èIJ½åIJİ":105983,"ä½ĨæĪij":105984,"æĹ©åľ¨":105985,"åĬ¨æ¼«":105986,"å¹³çŃī":105987,"å¯¹ä½ł":105988,"ä¸įæĢķ":105989,"å¤ĸçķĮ":105990,"å¤ļå¹´æĿ¥":105991,"é¦ĸ个":105992,"æ²³åįĹçľģ":105993,"æĪĸåħ¶ä»ĸ":105994,"éķľå¤´":105995,"åįĹæĺĮ":105996,"ä¸ĢéĿ¢":105997,"éĢłæĪIJçļĦ":105998,"å´Ķ":105999,"çŃĴ":106000,"æķĻèĤ²éĥ¨":106001,"åľ°åŁŁ":106002,"æĺĨæĺİ":106003,"å·´é»İ":106004,"æīĭ游":106005,"ä¸ĢæĹ¶":106006,"çłį":106007,"顶级":106008,"åħ±è®¡":106009,"åİŁæ²¹":106010,"è¾īçħĮ":106011,"说æĺ¯":106012,"æĸ°åįİ社":106013,"ç»ıåİĨäºĨ":106014,"ä¸įæŃ¢":106015,"è¦ģä¹Ī":106016,"èĢħçļĦ":106017,"æĢ»æĬķèµĦ":106018,"è¡Įé©¶":106019,"ä¸Ĭå¸Ŀ":106020,"年纪":106021,"çIJ¼":106022,"ä¼łè¯´":106023,"ç²¾èĭ±":106024,"æĸ¹éĴĪ":106025,"æ±Łæ¹ĸ":106026,"æĪIJçĤº":106027,"æĢ»éĩı":106028,"æĬķæĶ¾":106029,"åĬ¨çĶ»":106030,"èŤ":106031,"ç͵æºIJ":106032,"éĴĻ":106033,"åIJĮè¡Į":106034,"æĻ®éĢļçļĦ":106035,"åĽ¾ä¹¦é¦Ĩ":106036,"è¯ĪéªĹ":106037,"æħĪåĸĦ":106038,"è¿Ļ份":106039,"主æĮģ人":106040,"å°±è¿Ļæł·":106041,"èĢĮæĪIJ":106042,"èĩªè¡Į车":106043,"ä¸ŃåĽ½çī¹èī²":106044,"èĤ¿çĺ¤":106045,"åIJ¾":106046,"å¼Łå¼Ł":106047,"åıĹçĽĬ":106048,"éĢīæĭ©äºĨ":106049,"æĺİæĺ¾çļĦ":106050,"æĬ¥èĢĥ":106051,"ç¬ijéģĵ":106052,"éĽĸçĦ¶":106053,"温å·ŀ":106054,"éĿŀæ´²":106055,"ç§įç§į":106056,"åıĤåĬłäºĨ":106057,"è´§è¿IJ":106058,"éļı便":106059,"就没æľī":106060,"縣":106061,"央è§Ĩ":106062,"ç©¿è¶Ĭ":106063,"çļĦçݰ象":106064,"åĩłæ¬¡":106065,"çļĦé£İéĻ©":106066,"æŃĮæĽ²":106067,"æľ¬å±Ĭ":106068,"å¹´åĨħ":106069,"ä¸įè¶ħè¿ĩ":106070,"è¿ĩå¤ļ":106071,"å¿ħé¡»è¦ģ":106072,"ç»ĵ论":106073,"åĢŁéī´":106074,"ç¥ŀå¥ĩ":106075,"æľŁæľĽ":106076,"ä¸ĵ享":106077,"éĿŀ常éĩįè¦ģ":106078,"æĦıè¯Ĩåΰ":106079,"åIJĪå¹¶":106080,"æĬĬèĩªå·±":106081,"å¥Ĺè£ħ":106082,"éŃĶæ³ķ":106083,"å¤ıåŃ£":106084,"ä¸įåĥı":106085,"å¢ĥçķĮ":106086,"æĥĬåĸľ":106087,"æľīä¸Ģ天":106088,"çĦ¦çĤ¹":106089,"æĪij认为":106090,"åħ°å·ŀ":106091,"ç͵æ°Ķ":106092,"èģĶç³»æĪij们":106093,"ç§ijæĻ®":106094,"她说":106095,"çļĦæĸĩ竳":106096,"å¥ĩæĢª":106097,"åıĭ好":106098,"饮æĸĻ":106099,"çļĦæĶ¯æĮģ":106100,"çŃĶåºĶ":106101,"éĩįéĩı":106102,"çij¶":106103,"åĩıè½»":106104,"ç§ijåѦ家":106105,"巴西":106106,"éĩijèŀįæľºæŀĦ":106107,"åħļå§Ķ书记":106108,"貸款":106109,"ç²¾èĩ´":106110,"ä»İæľª":106111,"åį°åĪ·":106112,"åĽŀ顾":106113,"é¦ĸéĥ½":106114,"åıijèĤ²":106115,"éĹ®éģĵ":106116,"è¾¾åΰäºĨ":106117,"å¿įä¸įä½ı":106118,"æīįæľī":106119,"æįIJèµł":106120,"ä½ĽæķĻ":106121,"ä¸įæ¸ħ":106122,"éĺŁéķ¿":106123,"缸åıį":106124,"æĬ¥èѦ":106125,"大åħ¨":106126,"æ¬§çĽŁ":106127,"帮å¿Ļ":106128,"çļĦæĻĤåĢĻ":106129,"缮å½ķ":106130,"足以":106131,"èī°éļ¾":106132,"ä»ĸä¹Ł":106133,"å·¥ä½ľèĢħ":106134,"头èĦij":106135,"缺éĻ·":106136,"æĪIJç«ĭäºĨ":106137,"å°±å¼Ģå§ĭ":106138,"认åIJĮ":106139,"é»Ħèī²":106140,"çĹħæĥħ":106141,"覺å¾Ĺ":106142,"è¿Ļ两":106143,"ä¿¡ä»°":106144,"åľĭå®¶":106145,"ä¸įä»ħä»ħæĺ¯":106146,"çĭ¬å®¶":106147,"èάçļĦ":106148,"æĿIJè´¨":106149,"æµ·ä¸Ĭ":106150,"çĤºäºĨ":106151,"æľºåĬ¨è½¦":106152,"缸å½ĵäºİ":106153,"å¤ļåħĥåĮĸ":106154,"æĽ´å¤§çļĦ":106155,"èĽ®":106156,"åģĩæľŁ":106157,"å¼ıçļĦ":106158,"交éĢļè¿IJè¾ĵ":106159,"çľģå§Ķ":106160,"ä¸įç®Ĺ":106161,"æĶ¾ä¸ĭ":106162,"éĹ¯":106163,"äººåľ¨":106164,"港åı£":106165,"æĹ¨åľ¨":106166,"åij½ä»¤":106167,"æŁIJ个":106168,"平稳":106169,"åıªå¥½":106170,"人人":106171,"äºŀ":106172,"äºĮç»´":106173,"äºĮç»´çłģ":106174,"æŀģ为":106175,"åĪ«å¢ħ":106176,"åħ¶ä½Ļ":106177,"大äºĭ":106178,"主管éĥ¨éŨ":106179,"æĹłéĶ¡":106180,"éŵ":106181,"éģŃåΰ":106182,"说è¿ĩ":106183,"ä¸ºä½ł":106184,"è§£çŃĶ":106185,"éªĮæĶ¶":106186,"çļĦç»ıéªĮ":106187,"åĮ¹éħį":106188,"çģ«ç®Ń":106189,"豪åįİ":106190,"æŁIJæŁIJ":106191,"çļĦæĹ¶ä»£":106192,"书éĿ¢":106193,"æģĴ大":106194,"å»¶éķ¿":106195,"ä¸ĢåIJĮ":106196,"æľªèĥ½":106197,"交æį¢":106198,"çĶ¢åĵģ":106199,"çŃīåΰ":106200,"åĪĨ离":106201,"æīĵç͵è¯Ŀ":106202,"å¹²çĩ¥":106203,"è¾ĥå¤ļ":106204,"å¤ļå¹´çļĦ":106205,"èĥĮæĻ¯ä¸ĭ":106206,"为ä¾ĭ":106207,"æijĺè¦ģ":106208,"å´Ľèµ·":106209,"æŃ¤åĪ»":106210,"æľīæľºä¼ļ":106211,"æĿ¡æ¬¾":106212,"é¢Ĩ导å°ıç»Ħ":106213,"çļĦ身ä½ĵ":106214,"åįķä¸Ģ":106215,"央è¡Į":106216,"ä¸įæĸŃæıIJé«ĺ":106217,"ä»·å̼è§Ĥ":106218,"èĬ½":106219,"èIJį":106220,"æ³ķå¾ĭæ³ķè§Ħ":106221,"ä¸įéĶĪ":106222,"ä¸įéĶĪéĴ¢":106223,"åĩºäºİ":106224,"èĻļæĭŁ":106225,"æį®æĤī":106226,"çĥ¦æģ¼":106227,"åħ¨æĸ°çļĦ":106228,"æī«æıı":106229,"çĻ»éĻĨ":106230,"èīºæľ¯å®¶":106231,"çļĦé£Łçī©":106232,"çļĦåŃĺåľ¨":106233,"客åİħ":106234,"æĪij们就":106235,"æŁ¥çľĭæĽ´å¤ļ":106236,"è¯Ħ审":106237,"å¸Ĥåł´":106238,"è¬Ľ":106239,"巨头":106240,"ä¸ŃåĽ½ç»ıæµİ":106241,"äºĨèĩªå·±çļĦ":106242,"åĨ³è®®":106243,"çĽijçĿ£ç®¡çIJĨ":106244,"æĬķ票":106245,"åĨį度":106246,"è¡ĮçĤº":106247,"注åħ¥":106248,"ä½ľä¸ºä¸Ģ个":106249,"æ¯ı个人éĥ½":106250,"åįķåħĥ":106251,"è¦ģçŁ¥éģĵ":106252,"被称为":106253,"ä¹ĭéĻħ":106254,"è§£éϤ":106255,"丸":106256,"溫":106257,"ä¸īæĺŁ":106258,"é²ľæĺİ":106259,"ä¹Łéĥ½":106260,"æĹ¶æľº":106261,"åĩºæīĭ":106262,"æĥħå½¢":106263,"åķĨè´¸":106264,"éĢī举":106265,"对èĩªå·±":106266,"çĶŁåĬ¨":106267,"åħĭæľį":106268,"个ä½ĵ":106269,"èĭij":106270,"稱":106271,"大åݦ":106272,"æĺ¯å¯¹":106273,"åĪ©æģ¯":106274,"è¿IJåĬ¨åijĺ":106275,"åĮĸè§£":106276,"åīįæ²¿":106277,"æĦŁæģ©":106278,"æĢ»ä¹ĭ":106279,"é«ĺæĸ°æĬĢæľ¯":106280,"åĿĩ为":106281,"åħ¨åĮº":106282,"æ°Ķæ°Ľ":106283,"åı¯ä»¥è¯´æĺ¯":106284,"ä½ı宿":106285,"åħļåijĺå¹²éĥ¨":106286,"åĹ¯":106287,"è·µè¡Į":106288,"çļĦä¸ĵä¸ļ":106289,"èĢĥéªĮ":106290,"èķ¾":106291,"åħ¬åŃIJ":106292,"çļĦçĬ¶æĢģ":106293,"æ½®æµģ":106294,"ä¿¡æīĺ":106295,"è´¼":106296,"åIJĦæĸ¹":106297,"æķijåĬ©":106298,"éĿŀ常çļĦ":106299,"æ¡¥æ¢ģ":106300,"åħ¬æĸ¤":106301,"ä¼¼çļĦ":106302,"çľĭ好":106303,"å±Ģéĥ¨":106304,"å®īéĿĻ":106305,"éħįä»¶":106306,"常è§Ħ":106307,"å¼Ģ车":106308,"第äºĮ次":106309,"ä¸Ĭ级":106310,"åıĤèµĽ":106311,"å®¶å±ŀ":106312,"强åĬ¿":106313,"åľ¨ä»ĸ":106314,"åIJijåīį":106315,"ä¹ĭåľ°":106316,"éĥ¡":106317,"è¡Įç¨ĭ":106318,"èѦåijĬ":106319,"è§Ħå®ļçļĦ":106320,"åķĨåŁİ":106321,"äºĶ大":106322,"æķĻ室":106323,"åįģè¶³":106324,"æīĢä»¥åľ¨":106325,"å°Ĩç»§ç»Ń":106326,"çŃīæĸ¹å¼ı":106327,"å®¶ä¼ģä¸ļ":106328,"交ä»ĺ":106329,"çĤ¹è¯Ħ":106330,"ç»ĵç®Ĺ":106331,"ä¹Łåı¯":106332,"å¤ĸæ±ĩ":106333,"è¿Ļç§įæĥħåĨµ":106334,"æİĪäºĪ":106335,"å¸ĥç½®":106336,"æĪIJç«ĭäºİ":106337,"é¢ĦèѦ":106338,"管çIJĨ人åijĺ":106339,"å©ļ礼":106340,"ç»ĵæĿŁåIJİ":106341,"åħ¥éĢī":106342,"æĹłæ¯Ķ":106343,"åĴĮåıijå±ķ":106344,"çϽéħĴ":106345,"çİ©åħ·":106346,"ä¸ĩç¾İåħĥ":106347,"çļĦæĪIJ绩":106348,"æĭįçħ§":106349,"èĢĥèĻijåΰ":106350,"ä¼ģä¸ļåıijå±ķ":106351,"äºĨ个":106352,"çĶŁæ°Ķ":106353,"çļĦ女人":106354,"äºĶåįģ":106355,"çĪ·çĪ·":106356,"纽约":106357,"éĥ½è¢«":106358,"ä¸Ĭ课":106359,"çĽ¡":106360,"ä¼łç»ŁæĸĩåĮĸ":106361,"æ½ľåľ¨":106362,"åıijå°Ħ":106363,"ä¸Ģ身":106364,"éĺ²å®Ī":106365,"åĪ®":106366,"é¢ĺ缮":106367,"åľ¨åĨħçļĦ":106368,"ç¾İ好çļĦ":106369,"è¿ĻéĩĮçļĦ":106370,"ä¸Ģä¸Ŀ":106371,"人åĿĩ":106372,"å̡坼":106373,"身åIJİ":106374,"æī©å±ķ":106375,"大éŨ":106376,"就被":106377,"è¯¥é¡¹çĽ®":106378,"æŀ¶æŀĦ":106379,"ä¸Ģåı£":106380,"ä¿¡æģ¯æĬĢæľ¯":106381,"å¼Ģä¸ļ":106382,"æĶ¶åıĸ":106383,"ç½ij页":106384,"æĶ¯æı´":106385,"å°ģéĹŃ":106386,"å¡ijéĢł":106387,"大èĥĨ":106388,"å¿«éĢŁåıijå±ķ":106389,"çľĭä¼¼":106390,"æ¸Ŀ":106391,"è¿Ļæł·ä¸Ģ个":106392,"模åĿĹ":106393,"注æĦıåΰ":106394,"çł´è§£":106395,"èĩªä»İ":106396,"åijµåijµ":106397,"ä¹ĭå¾Į":106398,"ä¹ĭæĹħ":106399,"è·ŁæĪij":106400,"æ³ķ人":106401,"æİĴè¡Įæ¦ľ":106402,"åĿļå®Ī":106403,"好å¤Ħ":106404,"çŁ³å¤´":106405,"å¹¶å°Ĩ":106406,"èα":106407,"æŃĩ":106408,"两岸":106409,"å¤ļä¹ħ":106410,"象å¾ģ":106411,"个æĢ§åĮĸ":106412,"çļĦè§Ĵ度":106413,"å¸Ĩ":106414,"ç¦ıå·ŀ":106415,"æŁ¥å¤Ħ":106416,"ä¸¤åĽ½":106417,"åIJ¸å¼ķäºĨ":106418,"é¦ĸå¸Ń":106419,"大åĵ¥":106420,"é¤Ĭ":106421,"涨å¹ħ":106422,"éĢīç͍":106423,"許å¤ļ":106424,"èIJ½æĪ·":106425,"åĵĪå°Ķ":106426,"åĵĪå°Ķ滨":106427,"åģļä»Ģä¹Ī":106428,"以åħį":106429,"é¾į":106430,"æĹłéľĢ":106431,"åΰåºķæĺ¯":106432,"æĢ¡":106433,"åijĬè¯īä½ł":106434,"éĺ²æ°´":106435,"è¿ĻæĹ¶åĢĻ":106436,"欢ä¹IJ":106437,"转åIJij":106438,"è¿Ļä¸ªåľ°åĽ¾":106439,"åħ¥é©»":106440,"èįīåİŁ":106441,"æĹ¶ä»£çļĦ":106442,"åıĺåĬ¨":106443,"åĬłå¼ºå¯¹":106444,"åģ¶å°Ķ":106445,"å®ĪæĬ¤":106446,"æ°Ķ温":106447,"人éĹ´":106448,"æľĿé²ľ":106449,"ç»ıè´¹":106450,"åĽŃæŀĹ":106451,"å·¥åľ°":106452,"è§Ħæł¼":106453,"åĩłåįģ":106454,"è¯ķåĽ¾":106455,"å¦ĥ":106456,"éĤ£æĹ¶åĢĻ":106457,"å¼ĺæī¬":106458,"ä¸ļçķĮ":106459,"çļĦéĢŁåº¦":106460,"ä¼ļä¸įä¼ļ":106461,"èIJ¥æĶ¶":106462,"å°ıå¾®ä¼ģä¸ļ":106463,"çľĭè¿ĩ":106464,"æĬĬä»ĸ":106465,"éģµå¾ª":106466,"è¿Ļè¾¹":106467,"没æľī人":106468,"壶":106469,"æ¹ĸåįĹçľģ":106470,"æŀģåħ¶":106471,"çļĦ人çĶŁ":106472,"ä»ĸè¿ĺ":106473,"转åĮĸ为":106474,"èµ°è¿ĩ":106475,"æĬ±çĿĢ":106476,"çīĽå¥¶":106477,"ä¸ĩ亩":106478,"å¿ĥæĢģ":106479,"æĹ¥å¸¸çĶŁæ´»":106480,"ä½ĵæ£Ģ":106481,"æĻĥ":106482,"çŃīé¢ĨåŁŁ":106483,"æĩī該":106484,"åı¯ä»¥çľĭåΰ":106485,"æī¾ä¸įåΰ":106486,"èĢģå¹´":106487,"æĬĬæĪij":106488,"积åĪĨ":106489,"梳çIJĨ":106490,"绳":106491,"çļĦæĶ¿æ²»":106492,"å¸ĿåĽ½":106493,"éĻªä¼´":106494,"æ´Ľéĺ³":106495,"åħ¬æŃ£":106496,"å¼Ģåı£":106497,"çī¹èī²çļĦ":106498,"åĽ°å¢ĥ":106499,"ä¸Ĭæľī":106500,"ç«ĭä½ĵ":106501,"æīĵå·¥":106502,"åķ¤éħĴ":106503,"åľ¨éĤ£éĩĮ":106504,"éĤ£è¾¹":106505,"个åĪ«":106506,"ä¸Ģå®ļæĺ¯":106507,"çļĦéĩįè¦ģæĢ§":106508,"ä¸»å¼ł":106509,"åĴĮæľįåĬ¡":106510,"ä¸Ĭç½ij":106511,"è¡¥åĬ©":106512,"åıªéľĢ":106513,"弦":106514,"éģ®":106515,"åĬĽäºī":106516,"度è¿ĩ":106517,"èij¬":106518,"é¡¿æĹ¶":106519,"éĦī":106520,"纺ç»ĩ":106521,"åľ°åĿĹ":106522,"ä¿¡ç͍åį¡":106523,"ç½ļ款":106524,"åijĬè¯īæĪij":106525,"éĽĻ":106526,"书çĶ»":106527,"è¨Ńè¨Ī":106528,"æĢ»ä¼ļ":106529,"åΤåĨ³":106530,"ä¿¡èªī":106531,"个èĤ¡":106532,"平常":106533,"æĢİ麼":106534,"ä½ĵçİ°åľ¨":106535,"é»Ħæ²³":106536,"åĽĽå·Ŀçľģ":106537,"羣缸":106538,"åIJĦé¡¹å·¥ä½ľ":106539,"åĬ¨åijĺ":106540,"å³°ä¼ļ":106541,"ä¸ĢæľŁ":106542,"æľīä¸Ģå®ļçļĦ":106543,"é«ĺ度éĩįè§Ĩ":106544,"ç¹ģèį£":106545,"åıijçݰäºĨ":106546,"ç½ij红":106547,"æīĭæ³ķ":106548,"å®¶åĽŃ":106549,"仪åύ":106550,"è¾ĥä½İ":106551,"çļĦå®īåħ¨":106552,"æ¡IJ":106553,"ä»ĺ款":106554,"æĬijåζ":106555,"åįĵè¶Ĭ":106556,"æŃ£éĿ¢":106557,"åĵij":106558,"强åζ":106559,"ä»Ĭ天çļĦ":106560,"æĪĺèĥľ":106561,"楼å¸Ĥ":106562,"æĭ¿ä¸ĭ":106563,"é¢ľå̼":106564,"举éĥ¨":106565,"çłĶåζ":106566,"çļĦæĪĺçķ¥":106567,"åľ¨ä¸Ģ个":106568,"ä¸ī人":106569,"å®ĮäºĨ":106570,"æĸ°æĬĢæľ¯":106571,"ç»ıæµİæķĪçĽĬ":106572,"å¯Įæľī":106573,"澳洲":106574,"åĬ©çIJĨ":106575,"é¢Ĩåıĸ":106576,"è°Ń":106577,"çĩĥçĥ§":106578,"ç´łåħ»":106579,"éĤĦæľī":106580,"è¿ĽèĢĮ":106581,"ä»Ģä¹Īæĺ¯":106582,"çłĶç©¶ä¸Ńå¿ĥ":106583,"éĢĤç͍äºİ":106584,"æİ¥æĶ¶":106585,"å¤±æľĽ":106586,"äºĮ级":106587,"éĹ´çļĦ":106588,"åİŁæłĩé¢ĺ":106589,"èªįçĤº":106590,"æį¡":106591,"对çĿĢ":106592,"对éĿ¢":106593,"ä¸ŃåİŁ":106594,"éĵĥ":106595,"çĶŁäº§çļĦ":106596,"åıijå¸ĥä¼ļ":106597,"士åħµ":106598,"è¿Ļåı¥è¯Ŀ":106599,"缴纳":106600,"ä¸Ģ个个":106601,"åѸçĶŁ":106602,"çĸijéĹ®":106603,"交èѦ":106604,"示èĮĥåĮº":106605,"天使":106606,"åľ¨ä¸Ĭæµ·":106607,"åIJĮæĻĤ":106608,"è½»æĺĵ":106609,"å͝ä¸ĢçļĦ":106610,"çĥŃéĹ¹":106611,"ä¹IJè§Ĥ":106612,"çļĦ身份":106613,"åĸĦäºİ":106614,"大åİħ":106615,"èĤ¯å®ļæĺ¯":106616,"éĺ²çģ«":106617,"å¤ĸåĩº":106618,"æį®è¯´":106619,"é¡¹çĽ®çļĦ":106620,"ä¸Ģåı°":106621,"èĻļåģĩ":106622,"ä¸Ģç¬Ķ":106623,"ç«ĭæ³ķ":106624,"严èĤĥ":106625,"æī¿åĬŀ":106626,"åįģåĩł":106627,"çļĦ空éĹ´":106628,"æľ¬ç½ijç«Ļ":106629,"åģļå¾Ĺ":106630,"ä¿Ŀ温":106631,"æľĪåĪĿ":106632,"åľ¨ç½ijä¸Ĭ":106633,"åIJĦæĸ¹éĿ¢":106634,"ä¸ī天":106635,"交æĺĵæīĢ":106636,"è§£æŀIJ":106637,"åħļä¸Ń央":106638,"è¿Ľåĩºåı£":106639,"åĴĮ社ä¼ļ":106640,"次æķ°":106641,"ä¹ĭå®¶":106642,"维度":106643,"æ´¾åĩºæīĢ":106644,"产çĶŁäºĨ":106645,"带æľī":106646,"å¾Ī强":106647,"æľīäºĽäºº":106648,"å¹´åIJİ":106649,"äºĨ许å¤ļ":106650,"å¯Ĩ度":106651,"åŃ¦æľŁ":106652,"çıłæµ·":106653,"æľĢå¤ļçļĦ":106654,"è¾¹ç¼ĺ":106655,"容éĩı":106656,"第äºĮ个":106657,"ä¸Ģ缴æĺ¯":106658,"ä¸įç¦ģ":106659,"æŃ²":106660,"ä»ĭç»įäºĨ":106661,"ä¼ĺéĽħ":106662,"æ¯Ķè¼ĥ":106663,"èģĮä½į":106664,"温æŁĶ":106665,"æľīéĴ±":106666,"æľĢé«ĺçļĦ":106667,"åįļè§Īä¼ļ":106668,"ä¸įæĪIJ":106669,"éĶĻäºĨ":106670,"è¯ģçĽij":106671,"è¯ģçĽijä¼ļ":106672,"æĪIJ人":106673,"åĿĩåĮĢ":106674,"æľīåĪ©":106675,"è¶ĬåįĹ":106676,"æīĵäºĨ":106677,"好åIJĥ":106678,"系統":106679,"è·Łéļı":106680,"çļĦåľ°ä½į":106681,"æŃ£å¦Ĥ":106682,"ç¨įå¾®":106683,"åį°åıij":106684,"åĪĽç«ĭ":106685,"é£İåħī":106686,"å°ĨæĪIJ为":106687,"ä¸įé«ĺ":106688,"é¢ijç¹ģ":106689,"设æľī":106690,"ä¼ŀ":106691,"æĭĨéϤ":106692,"å½±åĥı":106693,"æ¸ĹéĢı":106694,"å¹´å¼Ģå§ĭ":106695,"ç½ijæĺĵ":106696,"è¦ģåģļ":106697,"ç͵åĬ¨è½¦":106698,"羣å¿ĥ":106699,"æµ·åĨĽ":106700,"ä¼łæĿ¥":106701,"å·®åĪ«":106702,"è°¨æħİ":106703,"çĥŁåı°":106704,"åįĥå¹´":106705,"è¯ģå®ŀ":106706,"çIJª":106707,"çļĦåħ·ä½ĵ":106708,"åΰå¤Ħ":106709,"ä¸įå®ľ":106710,"èľĢ":106711,"èĥ½åĬĽåĴĮ":106712,"çīºçī²":106713,"çļĦéĴ±":106714,"大éĺŁ":106715,"é¦ĸè¦ģ":106716,"ä¸įæĦ¿":106717,"çİ«çij°":106718,"人æ°ijç½ij":106719,"è¿ĺæĺ¯è¦ģ":106720,"åĽĽå¹´":106721,"æįŁä¼¤":106722,"çļĦåģļæ³ķ":106723,"éĿĪ":106724,"è¡Ķæİ¥":106725,"åIJĪæĪIJ":106726,"没人":106727,"éĹ¨æ§Ľ":106728,"ä¿¡è´·":106729,"çļĦ缸åħ³":106730,"举é£İ":106731,"社ä¿Ŀ":106732,"ä¸ĭ游":106733,"åĿĹéĴ±":106734,"è¿ĩåIJİ":106735,"çļĦåºĶç͍":106736,"饶":106737,"é¢ģåıij":106738,"ä¸Ģå¤Ħ":106739,"åįİå¤ı":106740,"为ä¼ģä¸ļ":106741,"åıªä¼ļ":106742,"侵害":106743,"çļĦåĬŁèĥ½":106744,"åѸç¿Ĵ":106745,"ä¸Ńåįİæ°ijæĹı":106746,"åıijå¸ĥäºĨ":106747,"è¿İæİ¥":106748,"æĪijèĩªå·±":106749,"è¿ĺéľĢè¦ģ":106750,"太éĺ³èĥ½":106751,"åİ»ä¸ĸ":106752,"æĺ¯ä½ł":106753,"åIJĪåĬĽ":106754,"ç»ĺçĶ»":106755,"åı°åĮĹ":106756,"çĿ£ä¿ĥ":106757,"åĮĹéĥ¨":106758,"æľīå¤ļå°ij":106759,"å¾Īéĩįè¦ģ":106760,"åĪĴåĪĨ":106761,"åı·çº¿":106762,"æĶ¾å¤§":106763,"ä¼ļ被":106764,"èİ·å¥ĸ":106765,"ä¹ĭåĨħ":106766,"失åİ»äºĨ":106767,"çݩ家们":106768,"éĩĩéĽĨ":106769,"壹":106770,"å®¶ä¼Ļ":106771,"çϽ天":106772,"åĽłä¸ºä»ĸ":106773,"社ä¼ļæ²»çIJĨ":106774,"å¼ĢåĪĽ":106775,"ç͵ç¼Ĩ":106776,"æĸ°ä¸Ģ代":106777,"å¹¶è´Ń":106778,"就已ç»ı":106779,"çļĦ社ä¼ļ":106780,"éϤéĿŀ":106781,"åı¯ä»¥ç͍":106782,"å©ī":106783,"æ¯Ķè¾ĥ好":106784,"å®ŀä¸ļ":106785,"åĪĽåĬŀ":106786,"æıIJèµ·":106787,"é»ĥ":106788,"ä½ıåľ¨":106789,"å¸ĤæĶ¿":106790,"éĿ¢ä¸´çļĦ":106791,"èĥ½åľ¨":106792,"çŁŃçŁŃ":106793,"çľŁäºº":106794,"æĺİæĺİ":106795,"èµĦåĬ©":106796,"çļĦä¸įåIJĮ":106797,"å°ıæľĭåıĭ":106798,"é¢ĺæĿIJ":106799,"ç¾İåij³":106800,"æĺŁåº§":106801,"ä¸įä¸Ģæł·çļĦ":106802,"çľĭä¸Ĭåİ»":106803,"ä¸Ģæł¹":106804,"广å·ŀå¸Ĥ":106805,"åıijçĶŁçļĦ":106806,"é«ĺç§ijæĬĢ":106807,"ä¸Ģè¾ĪåŃIJ":106808,"交åıī":106809,"ä½ĵ系建设":106810,"åĽłä¸ºæĪij":106811,"çıįæĥľ":106812,"ä¸ĬåѦ":106813,"æĪĺæľ¯":106814,"æŃ¤ç±»":106815,"交å¾Ģ":106816,"æĮīæij©":106817,"人们çļĦ":106818,"åħ¶å¯¦":106819,"åİŁæĿIJæĸĻ":106820,"æ¸´æľĽ":106821,"缸å¤Ħ":106822,"微微":106823,"æ®·":106824,"ä¹ĺåĿIJ":106825,"å¼Ģå±ķäºĨ":106826,"é«ĺåĵģè´¨":106827,"æĹłäººæľº":106828,"ä¸įæĺ¯å¾Ī":106829,"çļĦæĬķèµĦ":106830,"èĬĤçľģ":106831,"èĩī":106832,"ç²¾éĢī":106833,"çļĦæłĩåĩĨ":106834,"åįĹéĥ¨":106835,"认è¯Ĩåΰ":106836,"å¹³éĿĻ":106837,"èĹ¥":106838,"æī«é»ij":106839,"æī«é»ijéϤ":106840,"æī«é»ijéϤæģ¶":106841,"éĢĻ種":106842,"建çŃijéĿ¢ç§¯":106843,"ç¡®ç«ĭ":106844,"管çIJĨåĬŀæ³ķ":106845,"æĦıå¿Ĺ":106846,"丨":106847,"让åŃ©åŃIJ":106848,"æķijçģ¾":106849,"å½ĵä»Ĭ":106850,"çģ«çģ¾":106851,"åIJĦéĥ¨éŨ":106852,"ä¾µçĬ¯":106853,"æ¯ıåij¨":106854,"æı½":106855,"ä¸Ģ次æĢ§":106856,"åħ¶ä»ĸ人":106857,"éĶĻè¿ĩ":106858,"ä¸İåħ¶":106859,"åĭĩæ°Ķ":106860,"çĩĥæ°Ķ":106861,"é¦ĸå±Ĭ":106862,"æľį饰":106863,"ç²¥":106864,"å®Įæ¯ķ":106865,"å°±æĬĬ":106866,"åĬŀäºĭå¤Ħ":106867,"ä¸Ģä¼ļåĦ¿":106868,"离ä¸įå¼Ģ":106869,"å¦ĤæŀľæĤ¨":106870,"ä»ĵåºĵ":106871,"导å¸Ī":106872,"åIJĪéĢĤçļĦ":106873,"毫米":106874,"å®īåħ¨æĢ§":106875,"ä¾Ŀçħ§":106876,"产ä¸ļåĮĸ":106877,"ä½łçľĭ":106878,"羣çļĦå¾Ī":106879,"åѤçĭ¬":106880,"éĺ²å¾¡":106881,"å¾Īç®Ģåįķ":106882,"é£İæ°´":106883,"ä½Ĩä¹Ł":106884,"æİ¨åĩºäºĨ":106885,"æ°ijèIJ¥ä¼ģä¸ļ":106886,"çłģ头":106887,"å¤įæĿĤçļĦ":106888,"ç»ĦæĪIJéĥ¨åĪĨ":106889,"åħħ满äºĨ":106890,"è¿ijåĩłå¹´":106891,"çľģæĶ¿åºľ":106892,"æľīå¿ħè¦ģ":106893,"éϳ":106894,"ä¹ĭç±»":106895,"ä¹ĭç±»çļĦ":106896,"æĢ§ä»·":106897,"æĢ§ä»·æ¯Ķ":106898,"åķĨåºĹ":106899,"å¸Ĥå̼":106900,"人æīįåŁ¹åħ»":106901,"æ·±åıĹ":106902,"管çIJĨå±Ģ":106903,"æģIJæĥ§":106904,"ä»ħæľī":106905,"æĬµè¾¾":106906,"æµ·åħ³":106907,"èµĭäºĪ":106908,"äºĭåĦ¿":106909,"ä»·éĴ±":106910,"æīĭä¸Ĭ":106911,"èĩªå¾ĭ":106912,"åħ³çα":106913,"享æľī":106914,"éģĹæĨ¾":106915,"å¾Īå¿«å°±":106916,"æĽ´å¿«":106917,"æłĩè¯Ĩ":106918,"åºĨç¥Ŀ":106919,"ä¹Łå¥½":106920,"ä¸įæĺĵ":106921,"æĪijå¾Ī":106922,"æĶ¹éĿ©åıijå±ķ":106923,"å¤ĸåľ°":106924,"æĬµæĬ¼":106925,"è¯Ĺ人":106926,"åİķæīĢ":106927,"æĸ°åªĴä½ĵ":106928,"èĸĽ":106929,"è°Īè¯Ŀ":106930,"ä¸Ģå®ļç¨ĭ度":106931,"èµ°åľ¨":106932,"æľĢ强":106933,"åĬŁçİĩ":106934,"åħ±è¯Ĩ":106935,"大桥":106936,"ä¸ĭæĸ¹":106937,"å¤ĸèµĦ":106938,"碱":106939,"å·¡è§Ĩ":106940,"æ¹ĸåĮĹçľģ":106941,"个çϾåĪĨ":106942,"个çϾåĪĨçĤ¹":106943,"çļĦ责任":106944,"çļĦåĵģçīĮ":106945,"åĬ©æİ¨":106946,"åĪĽéĢłäºĨ":106947,"ä»»èģĮ":106948,"å¿«æį·":106949,"æĿijåºĦ":106950,"åİ»çľĭ":106951,"æīįèĥ½å¤Ł":106952,"層":106953,"æĪijå®¶":106954,"æĺ¯ä¸Ģ款":106955,"ç¾ħ":106956,"åĨ°éĽª":106957,"æŀģ大":106958,"çģ¯åħī":106959,"éĨĭ":106960,"ä¸İåħ¶ä»ĸ":106961,"æıIJåĩºçļĦ":106962,"éĿłè¿ij":106963,"è°ĥåĬ¨":106964,"å°½åı¯èĥ½":106965,"åıijåĬĽ":106966,"ç»Ļ她":106967,"éĢĤéĩı":106968,"è·¨åĽ½":106969,"åħĪè¡Į":106970,"æĸ°æĿIJæĸĻ":106971,"ä½ľäºĨ":106972,"满äºĨ":106973,"ä¸į满":106974,"çļĦçľ¼çĿĽ":106975,"çľĭå¾Ĺ":106976,"è¿Ļä¸Ģ次":106977,"é½IJåħ¨":106978,"çļĦä¸Ģéĥ¨åĪĨ":106979,"ä¸Ļ":106980,"æ¸ħæĸ°":106981,"說æĺİ":106982,"身边çļĦ":106983,"æīĢæľī人":106984,"å½°æĺ¾":106985,"è±¹":106986,"åį¿":106987,"è¿IJ转":106988,"æĮĩå¼ķ":106989,"å¸Ĥåħ¬å®īå±Ģ":106990,"åıĤå±ķ":106991,"ä¹ĭæĹ¶":106992,"éĩijèŀįæľįåĬ¡":106993,"èµĦæľ¬å¸Ĥåľº":106994,"èĥ½è®©":106995,"å¿ĺäºĨ":106996,"天åłĤ":106997,"æ¯Ķå¦Ĥ说":106998,"éĬĢè¡Į":106999,"èĽĭç³ķ":107000,"çĶ©":107001,"æł¸å®ŀ":107002,"æĻ®äº¬":107003,"ä¼ĺç¾İ":107004,"åı£èħĶ":107005,"漫çĶ»":107006,"çľ¼éĩĮ":107007,"äºĨä¸ĭæĿ¥":107008,"æĪijä»¬ä¹Ł":107009,"ä¾į":107010,"为ä¸Ńå¿ĥ":107011,"å¥ĩ迹":107012,"éĿĴçĿIJ":107013,"æĪªèĩ³çĽ®åīį":107014,"åĩºä¾Ĩ":107015,"æĢ»åħ¬åı¸":107016,"弥补":107017,"ç®Ĺæ³ķ":107018,"å·¥ä½ľå®¤":107019,"æīĢ以æĪij":107020,"æ°´åĪĨ":107021,"æīĢå±ŀ":107022,"ä¸į说":107023,"ä½Ĩæĺ¯åľ¨":107024,"è¦ģåİ»":107025,"åĪĽä¸ļèĢħ":107026,"ä¸įæ¸ħæ¥ļ":107027,"åĽĽåij¨":107028,"æĺ¯ä»İ":107029,"çļĦæł¹æľ¬":107030,"çģ¶":107031,"æ¯Ľæ³½":107032,"æ¯Ľæ³½ä¸ľ":107033,"æµ·åı£":107034,"åĽĽåįģ":107035,"ä¹Łè¢«":107036,"èģ·":107037,"ä¸Ģæīĭ":107038,"绩æķĪ":107039,"çļĦçĶ·äºº":107040,"书ç±į":107041,"ä¸ĢèĦ¸":107042,"大äºİ":107043,"鼶éĥ¨ä»¶":107044,"åħ³æĢĢ":107045,"平米":107046,"æļ´éľ²":107047,"å¾Ĺå¤ļ":107048,"ä¸ī级":107049,"æľ¬åij¨":107050,"两èĢħ":107051,"对ä¸ŃåĽ½":107052,"åıªè§ģ":107053,"欧ç¾İ":107054,"å¦Ĥæŀľæľī":107055,"å·²ç»ıæĺ¯":107056,"çľĭå®Į":107057,"çģ«éĶħ":107058,"èµIJ":107059,"ä¸Ģéģį":107060,"æĦŁåĨĴ":107061,"ç»ĵå±Ģ":107062,"ä»ĵåĤ¨":107063,"å®ŀåľ°":107064,"å̻ç»ıçIJĨ":107065,"ä¹Łä¸įçŁ¥éģĵ":107066,"碰åΰ":107067,"åIJĪ计":107068,"客æĪ·çļĦ":107069,"ç½Ĺ马":107070,"æĦīå¿«":107071,"é£Ľ":107072,"çĥŃçĥĪ":107073,"伦æķ¦":107074,"åĮ»ä¿Ŀ":107075,"éĺ¿éĩĮå·´å·´":107076,"åĨį说":107077,"ä¸ºåŁºç¡Ģ":107078,"çĶŁäº§ç»ıèIJ¥":107079,"è¿ĻäºĽäºº":107080,"åĪĹ车":107081,"æ²³åĮĹçľģ":107082,"è¿Ļ段":107083,"æ´»åĬ¨ä¸Ń":107084,"å©·":107085,"çĶŁçIJĨ":107086,"ä¸ŃåĽ½äººæ°ij":107087,"éĦĤ":107088,"åIJ¬åıĸ":107089,"å¤įä¹ł":107090,"æľīçĽĬ":107091,"æĶ¶æĭ¾":107092,"å¾Īåı¯èĥ½":107093,"ç½ijç»ľæ¸¸æĪı":107094,"们çļĦ":107095,"èµĭèĥ½":107096,"éļ¾å¾Ĺ":107097,"åĪĨæīĭ":107098,"羣è¯ļ":107099,"åħ¬åı¸åľ¨":107100,"åĿĩè¡¡":107101,"åı£åij³":107102,"çīµå¤´":107103,"ä¸ĢèάçļĦ":107104,"轿车":107105,"çŃīäºİ":107106,"æ²īé»ĺ":107107,"æĪijéĥ½":107108,"å°ıç¨ĭåºı":107109,"ä¸Ģåī¯":107110,"æī¿è½½":107111,"åľ°è´¨":107112,"çķĮéĿ¢":107113,"çĶµæľº":107114,"çĦ¦èĻij":107115,"éĶĢåĶ®é¢Ŀ":107116,"æĸ°è½¦":107117,"ä¸Ĭ游":107118,"主æ¼Ķ":107119,"éļIJç§ģ":107120,"åıijå±ķæĪĺçķ¥":107121,"çļĦåĬªåĬĽ":107122,"å¼Ģåħ³":107123,"è§£åĨ³éĹ®é¢ĺ":107124,"çĿ£å¯¼":107125,"对æĬĹ":107126,"å¾Īå¤ļ人éĥ½":107127,"æĹłæķĪ":107128,"产åĵģè´¨éĩı":107129,"å®īå¿ĥ":107130,"åįİ人":107131,"ä¸į符åIJĪ":107132,"èĩªå®¶":107133,"éĺµå®¹":107134,"çļĦåIJĦç§į":107135,"çļĦçIJĨ念":107136,"çļĦæĸĩåĮĸ":107137,"为èĩªå·±":107138,"山水":107139,"游泳":107140,"éľĩèį¡":107141,"çĶŁæ´»æĸ¹å¼ı":107142,"è¿ľç¦»":107143,"çŁ³åĮĸ":107144,"æŃ¤äºĭ":107145,"æĺ¯çľŁçļĦ":107146,"çļĦæ¯Ķä¾ĭ":107147,"ç͍ç͵":107148,"奥è¿IJä¼ļ":107149,"ä¿Ŀå®ī":107150,"èĽĭçĻ½è´¨":107151,"çļĦå¿ĥçIJĨ":107152,"å·«":107153,"åı·çłģ":107154,"æ°Ķä½ĵ":107155,"åıijæĶ¹":107156,"åıijæĶ¹å§Ķ":107157,"åĮ»å¸Ī":107158,"æ¶ĤæĸĻ":107159,"æĺĬ":107160,"å¸Ĥ级":107161,"ä¸ĸçķĮçļĦ":107162,"åĪĨåĪ«æĺ¯":107163,"çł´äº§":107164,"ä¸ĢæĿ¯":107165,"æĭīå¼Ģ":107166,"å¹³åĩ¡":107167,"çļĦåıijçĶŁ":107168,"åĬ¨æīĭ":107169,"ä¸ĢçĽ´ä»¥æĿ¥":107170,"æīĭå·¥":107171,"éĩĮéĿ¢çļĦ":107172,"æĹłåħ³":107173,"ä»ĭåħ¥":107174,"èµ°ä¸Ĭ":107175,"å°±æĺ¯è¦ģ":107176,"å¹´éĹ´":107177,"åĩºçı¾":107178,"å½±éŁ¿":107179,"å¹ħ度":107180,"éĽģ":107181,"éģĵåħ·":107182,"缮çļĦåľ°":107183,"åIJİèĢħ":107184,"ä¸Ĭæ¼Ķ":107185,"äºĨåĩł":107186,"æ®ĭçĸ¾äºº":107187,"å¿Ļç¢Į":107188,"æĺ¯åIJ¦æľī":107189,"并对":107190,"ä¼ļ导èĩ´":107191,"æ°´åºĵ":107192,"ç»Ĩèĩ´":107193,"åIJİæĤĶ":107194,"å¿ĥæĢĿ":107195,"åģļäºĭ":107196,"åİĤæĪ¿":107197,"çĿ¿":107198,"è¿IJèIJ¥åķĨ":107199,"头éĥ¨":107200,"çļĦè§Ĵèī²":107201,"æĺ¯ä»ĸ":107202,"æĹ¢æľī":107203,"å°ıæĹ¶åĢĻ":107204,"强åĬ²":107205,"主æĴŃ":107206,"åħ¨åĽ½åIJĦåľ°":107207,"æįı":107208,"æįŁåĿı":107209,"åķĨä¼ļ":107210,"ä¿Ŀç½Ĺ":107211,"çľģå¸Ĥ":107212,"éļ§éģĵ":107213,"æľīä¸įå°ij":107214,"è¦ģåľ¨":107215,"å»ºè®¾é¡¹çĽ®":107216,"ç³ĸå°¿":107217,"ç³ĸå°¿çĹħ":107218,"æĿ¡ä»¶ä¸ĭ":107219,"ä¼ĺè´¨çļĦ":107220,"é¦ĸåıij":107221,"å½ĵæĹ¶çļĦ":107222,"丰çͰ":107223,"大çĽĺ":107224,"缸继":107225,"å®ģå¤ı":107226,"åħ¥ä½ı":107227,"æĪijè¿ĺ":107228,"åħĭæĸ¯":107229,"å®ļä»·":107230,"å¹³æĸ¹åħ¬éĩĮ":107231,"çļĦçŁ¥è¯Ĩ":107232,"æĪij们ä¼ļ":107233,"åħĥå®Ŀ":107234,"ä½ĵéĩį":107235,"è³£":107236,"对æĪij们":107237,"çŁ³å®¶":107238,"çŁ³å®¶åºĦ":107239,"ç²¾åįİ":107240,"å½¢çĬ¶":107241,"åıĹåΰäºĨ":107242,"修订":107243,"ç¾İåľĭ":107244,"é«ĺæ¸ħ":107245,"çľ¼éķľ":107246,"è§īå¾Ĺèĩªå·±":107247,"带ç»Ļ":107248,"åͮ价":107249,"éĹ¨ç¥¨":107250,"åŃķå¦ĩ":107251,"ç͵è§Ĩåı°":107252,"åıijä½ľ":107253,"çļĦåij³éģĵ":107254,"éķ¿è¿ľ":107255,"åħ¬åħ±æľįåĬ¡":107256,"æŃ£å¸¸çļĦ":107257,"æľīè¿ĩ":107258,"é£İæĥħ":107259,"æ¯Ķéĩį":107260,"åIJ»":107261,"管çIJĨå·¥ä½ľ":107262,"综åIJο̧":107263,"已被":107264,"说起":107265,"æİĴæ°´":107266,"ä¸įæĸŃåľ°":107267,"æĥħæĢĢ":107268,"è¾ĵéĢģ":107269,"è¿ĩæķı":107270,"çļĦåı¯èĥ½æĢ§":107271,"æľįç͍":107272,"æľī许å¤ļ":107273,"å§Ķåī¯ä¹¦è®°":107274,"åĮĸå¦Ĩåĵģ":107275,"æļĤåģľ":107276,"æĬķèµĦ人":107277,"çıŃ级":107278,"说çĿĢ":107279,"åįĹåĮĹ":107280,"åĪĨè¡Į":107281,"çıłå®Ŀ":107282,"寶":107283,"å¢ŀå¤ļ":107284,"被åĬ¨":107285,"ç®ĬçļĦ":107286,"éĹľä¿Ĥ":107287,"çļĦèĦ¸":107288,"æĥŁ":107289,"ä¸įä¸Ģå®ļ":107290,"ç¶Ń":107291,"çģ«çĪĨ":107292,"ç§Łéĩij":107293,"çŀ§":107294,"éĩį建":107295,"è·ª":107296,"ä¸Ģ種":107297,"çļĦåIJĪä½ľ":107298,"å®īæħ°":107299,"ä»įæĺ¯":107300,"ä¸ĵä¸ļåĮĸ":107301,"è°ĥè§£":107302,"ä¸į妨":107303,"éĢĻæĺ¯":107304,"å¿ħéłĪ":107305,"ä¼ĬæľĹ":107306,"å¾ĹäºĨ":107307,"æľįåĬ¡å¹³åı°":107308,"姬":107309,"åħĪéĶĭ":107310,"çİĭåŃIJ":107311,"çļĦä¸ĢåĪĩ":107312,"æĢ»çIJĨ":107313,"åĵ¼":107314,"çªij":107315,"çļĦå¿ĥæĥħ":107316,"çļĦéĩį大":107317,"çijŁ":107318,"ä¸Ģç¬ij":107319,"åıijå±ķä¸Ń":107320,"åģ¥åº·åıijå±ķ":107321,"åĵģçīĮçļĦ":107322,"禮":107323,"ä½Ļ人":107324,"ä»Ĭ年以æĿ¥":107325,"æķ°çłģ":107326,"çѾè¯ģ":107327,"åİ»æī¾":107328,"åŁºéĩijä¼ļ":107329,"æĬ±æĢ¨":107330,"æŃ£å½ĵ":107331,"çıŃåŃIJæĪIJåijĺ":107332,"ä¸įåIJĪæł¼":107333,"åζå®ļäºĨ":107334,"ç¼ĵæħ¢":107335,"åĪ¶çº¦":107336,"æłı缮":107337,"å¸Ĥåľºç»ıæµİ":107338,"ç»ĦæĪIJçļĦ":107339,"严峻":107340,"æĹ¥è®¯":107341,"ä¸ĢçĤ¹çĤ¹":107342,"æĺ¯æĢİä¹Ī":107343,"çļĦçħ§çīĩ":107344,"éĺ»æŃ¢":107345,"模ç³Ĭ":107346,"缸":107347,"éģķåıį":107348,"æIJ¬è¿ģ":107349,"éĩijéĴ±":107350,"彬":107351,"ä¸įå®ī":107352,"æĪĺçķ¥åIJĪä½ľ":107353,"å¡«åĨĻ":107354,"讲究":107355,"åħħåĪĨåĪ©ç͍":107356,"èĥ½å¤ł":107357,"èij¡èIJĦéħĴ":107358,"éĩĩç͍äºĨ":107359,"åľ¨ä»Ĭå¹´":107360,"ä¸Ńå°ıåѦ":107361,"åľ¨æĦı":107362,"çļĦåİĭåĬĽ":107363,"ä¸į幸":107364,"åζèį¯":107365,"åı¯ä»¥è®©":107366,"被è¯Ħ为":107367,"ç»ĨèıĮ":107368,"æĪıåī§":107369,"åįĬ导":107370,"åįĬ导ä½ĵ":107371,"è§Ĩè§Ĵ":107372,"åĸľæŃ¡":107373,"å¾ģæĶ¶":107374,"è°ĭåĪĴ":107375,"æŀģ大çļĦ":107376,"çĤ¹èµŀ":107377,"è®°èĢħä»İ":107378,"两åIJį":107379,"èĩªåĬ©":107380,"èµ·æŃ¥":107381,"æĬ¤å£«":107382,"å®Ŀ马":107383,"太åŃIJ":107384,"å°ıå°ıçļĦ":107385,"温æ³ī":107386,"åĩºç§Łè½¦":107387,"ç§ŁæĪ¿":107388,"两家":107389,"éľĩæĴ¼":107390,"ç§īæī¿":107391,"ä¸Ģä»¶äºĭ":107392,"çĥĪ士":107393,"å®ĺåħµ":107394,"转身":107395,"ä¹IJåĽŃ":107396,"çĻĮçĹĩ":107397,"模èĮĥ":107398,"æĦ£":107399,"è¿ĩåİ»çļĦ":107400,"代价":107401,"çļĦæ¦Ĥ念":107402,"åĩłçϾ":107403,"è´µéĺ³":107404,"æĭħå¿§":107405,"éĢĤå®ľ":107406,"çݯå¢ĥä¿ĿæĬ¤":107407,"çĥ«":107408,"ä½łæĥ³":107409,"æŃ¤åIJİ":107410,"ä½łä¹Ł":107411,"çįİ":107412,"éϤæŃ¤":107413,"éϤæŃ¤ä¹ĭå¤ĸ":107414,"è°ĥ度":107415,"ç§ij缮":107416,"æīĢ说çļĦ":107417,"åĬĩ":107418,"忽è§Ĩ":107419,"ä¸ī次":107420,"ä¸ĢæĹ¥":107421,"åŀĤ缴":107422,"ç«ŀæĬĢ":107423,"éĿ¢åĮħ":107424,"大æĪĺ":107425,"æIJºå¸¦":107426,"å¦Ĥæŀľæ²¡æľī":107427,"åħ»æĪIJ":107428,"åĩºè¡Ģ":107429,"çα好èĢħ":107430,"æīĵéĢļ":107431,"èµ·è¯ī":107432,"åijĪçݰåĩº":107433,"æŃĮæīĭ":107434,"åľ¨å¤ĸ":107435,"é¢Ĩ导干éĥ¨":107436,"åĨ¥":107437,"èĪĨ论":107438,"æıIJåıĸ":107439,"éĺ¿å°Ķ":107440,"æľĽçĿĢ":107441,"ä¸īäºļ":107442,"財":107443,"åĪ·æĸ°":107444,"æĻļæĬ¥":107445,"è¿ĺæľīä¸Ģ个":107446,"åĨ°ç®±":107447,"ç½ijçĤ¹":107448,"åĩºåħ·":107449,"强çĥĪçļĦ":107450,"æĪijçĽ¸ä¿¡":107451,"å¸ĮæľĽèĥ½":107452,"çīĻ齿":107453,"äºĭå®ľ":107454,"ä¸ļåĨħ人士":107455,"ä»£æĽ¿":107456,"åıĺå½¢":107457,"éĽ²":107458,"è°ĥæİ§":107459,"åĪĽæĸ°åĪĽä¸ļ":107460,"æĭĨè¿ģ":107461,"æł¸æŁ¥":107462,"éĢĹ":107463,"åħ¥åѦ":107464,"æĦıåIJij":107465,"æıĽ":107466,"ä¸ĭ次":107467,"ä¼łè¾ĵ":107468,"ä»ĸä»¬åľ¨":107469,"èĢĮä¸Ķè¿ĺ":107470,"æĹ¥åľ¨":107471,"æķĻè®Ń":107472,"æ´»çĿĢ":107473,"çļĦæľīæķĪ":107474,"å¤įå·¥å¤į":107475,"å¤įå·¥å¤į产":107476,"æĺ¯ä¸Ģä»¶":107477,"çŃīçĿĢ":107478,"復":107479,"åĭĩæķ¢":107480,"éģŃåıĹ":107481,"å¥Ķé©°":107482,"讲座":107483,"说å®Į":107484,"ç»Ļåĩº":107485,"è°¦":107486,"è¯ĬçĸĹ":107487,"çĽ²çĽ®":107488,"客è¿IJ":107489,"å°±è¿ŀ":107490,"å¼Ģåħĥ":107491,"å¼Ģåħĥæ£ĭçīĮ":107492,"ä¸įæĸŃæıIJåįĩ":107493,"ç͍æĪ·çļĦ":107494,"æĴķ":107495,"ä¾Ľæ°´":107496,"ç¶ĵæ¿Ł":107497,"ä¸ŃåĮ»èį¯":107498,"èģĶæĥ³":107499,"åħ¬äº¤è½¦":107500,"èĪªçıŃ":107501,"æĬĢè¡ĵ":107502,"å¼ķèµ·çļĦ":107503,"å°¹":107504,"èµĦæ·±":107505,"åĽ½èµĦå§Ķ":107506,"èĺŃ":107507,"é¼»åŃIJ":107508,"éĹ½":107509,"æİĴéĺŁ":107510,"è§Ĥåħī":107511,"éģĹåĿĢ":107512,"ä¸ľäº¬":107513,"é¥ŃåºĹ":107514,"ä¸įæĸŃçļĦ":107515,"å°±æĺ¯ä¸Ģ个":107516,"éķ¿ä¹ħ":107517,"çļĦè§ĤçĤ¹":107518,"娶":107519,"æĪijçİ°åľ¨":107520,"çķ°":107521,"å¾Ĺåĩº":107522,"å¿ħå®ļ":107523,"ä¸įåıĹ":107524,"åıªéľĢè¦ģ":107525,"åĽ°æī°":107526,"ç§ijåѦæĬĢæľ¯":107527,"çīĽèĤī":107528,"è¾ĥé«ĺçļĦ":107529,"è·ijæŃ¥":107530,"æ²¾":107531,"èı©èIJ¨":107532,"æľĢå¾Į":107533,"ä¿Ŀå¯Ĩ":107534,"æ²»å®ī":107535,"éĤ±":107536,"常è¯Ĩ":107537,"èĦ¸èī²":107538,"åĮĹ大":107539,"æ±ĩèģļ":107540,"æijĨèĦ±":107541,"é¾Ļ头ä¼ģä¸ļ":107542,"女åıĭ":107543,"çŃīå·¥ä½ľ":107544,"ä¸Ńç¾İ":107545,"èģĮåľº":107546,"èĦijè¢ĭ":107547,"åĨĻçļĦ":107548,"饲æĸĻ":107549,"åĬ³åĬ¨åĬĽ":107550,"屯":107551,"æĮģèĤ¡":107552,"åĽ¾åĥı":107553,"è¿ĩåİ»äºĨ":107554,"貨":107555,"è¾²":107556,"éĹ®æĪij":107557,"è·Łä½ł":107558,"çĶŁæŃ»":107559,"审ç¾İ":107560,"é¢Ĺç²Ĵ":107561,"ä¸Ńæĸ¹":107562,"åĬłçĥŃ":107563,"æĹħè¡Į社":107564,"çϼçĶŁ":107565,"ä¸įåłª":107566,"åĤ·":107567,"æ¥ł":107568,"åĬŀæ¡Ī":107569,"æŁĦ":107570,"æĹ¢æĺ¯":107571,"å¤ĦåĪĨ":107572,"羣å®ŀçļĦ":107573,"æĬ¥çº¸":107574,"å¸Īçζ":107575,"å®īå¾½çľģ":107576,"åī¯ä¸»å¸Ń":107577,"ä¹ĭéģĵ":107578,"导弹":107579,"åŃ¦æł¡çļĦ":107580,"åŁİå¸ĤçļĦ":107581,"è°Īåΰ":107582,"æ¢Ĺ":107583,"å¹³éĿ¢":107584,"说ä»Ģä¹Ī":107585,"é¢ijçİĩ":107586,"éķ¿ä¸īè§Ĵ":107587,"çļĦåĪ©çĽĬ":107588,"黨":107589,"è±ĨèħIJ":107590,"å®ŀéĻħæĥħåĨµ":107591,"æŀĹä¸ļ":107592,"纪æ£ĢçĽijå¯Ł":107593,"ä½ıéĻ¢":107594,"çļĦæķ´ä½ĵ":107595,"åīįè¡Į":107596,"æĮ¨":107597,"çħ¤çŁ¿":107598,"å̻è£ģ":107599,"å°ıåIJĥ":107600,"æŀģ端":107601,"å©Ĩå©Ĩ":107602,"çݰ货":107603,"è¯ĹæŃĮ":107604,"éĴ¥åĮĻ":107605,"缩çŁŃ":107606,"ä½Ĩè¿Ļ":107607,"æĸ°åĵģ":107608,"è¿Ļ对":107609,"çŁ¥åIJį度":107610,"å¿ĹæĦ¿æľįåĬ¡":107611,"大å±Ģ":107612,"è¡¡éĩı":107613,"ä½ĵçݰäºĨ":107614,"æ¡ĥèĬ±":107615,"åIJ¸å¼ķåĬĽ":107616,"åł¤":107617,"æĵħéķ¿":107618,"åĴĴ":107619,"çĽ¸æľº":107620,"ä¸Ģç«Ļ":107621,"ä¸Ģç«Ļå¼ı":107622,"æľĢç¾İ":107623,"æ°¸ä¹ħ":107624,"çļĦéĥ¨åĪĨ":107625,"åĪĨå·¥":107626,"å·¥ç¨ĭ建设":107627,"æIJŃè½½":107628,"æ°´ä¸Ń":107629,"èĮ¨":107630,"çļĦæĵįä½ľ":107631,"ç»Łæ²»":107632,"çķħéĢļ":107633,"åħļçļĦåįģ":107634,"輸":107635,"測":107636,"ç¾İè§Ĥ":107637,"ä¸įåĪ©":107638,"åıįæĢĿ":107639,"éªĦåĤ²":107640,"æłĩçļĦ":107641,"æĿĢ人":107642,"éĺ¿å§¨":107643,"é£ŁæĿIJ":107644,"åIJĥçļĦ":107645,"åIJİåĨį":107646,"çŁ£":107647,"两侧":107648,"æ¸ħæ°´":107649,"è¿ĽçIJĥ":107650,"å¼Ģå§ĭäºĨ":107651,"åIJ¬äºĨ":107652,"çĦĬæİ¥":107653,"磮":107654,"å¨Ł":107655,"为人":107656,"éĢģç»Ļ":107657,"åĨĴéĻ©":107658,"æķ·":107659,"ç»ĪæŃ¢":107660,"æīįçŁ¥éģĵ":107661,"è¿IJæ°Ķ":107662,"éĢļé£İ":107663,"æĥĬè®¶":107664,"ç§ijåѦéĻ¢":107665,"æıIJéĹ®":107666,"太åİŁ":107667,"缸åIJĮçļĦ":107668,"ä»ķ":107669,"èģĸ":107670,"æĥħæ³ģ":107671,"é¢Ĩ导人":107672,"åĩºæĿ¥äºĨ":107673,"沿线":107674,"éϽ":107675,"æĦŁè¦º":107676,"ä»įåľ¨":107677,"æ©Ļ":107678,"约为":107679,"åĸĿéħĴ":107680,"ç͍èį¯":107681,"ä¸ĭä¸Ģ":107682,"æ³ķå®ĺ":107683,"顺åºı":107684,"åģļä¸Ģ个":107685,"åĭ¢":107686,"æŃª":107687,"ç͵ç«ŀ":107688,"ä¼´éļıçĿĢ":107689,"ä¹ĭåĬĽ":107690,"ä¹ĭ人":107691,"äºij计ç®Ĺ":107692,"åĪ«äººçļĦ":107693,"ç§ijåѦåıijå±ķ":107694,"第åħ«":107695,"å¹²æī°":107696,"女ç¥ŀ":107697,"è¿Ļæł·åģļ":107698,"å¤Ħåľ¨":107699,"æ°´è´¨":107700,"éķ¿æĺ¥":107701,"å¸ĤåľºéľĢæ±Ĥ":107702,"ç»´æĿĥ":107703,"èĢ³æľµ":107704,"æĸĩåĮĸçļĦ":107705,"奶ç²ī":107706,"ä¼łè¾¾":107707,"æīĭæľºçīĪ":107708,"æĽ¾åľ¨":107709,"äºĮæľŁ":107710,"åİŁåĽłæĺ¯":107711,"æºIJ头":107712,"åıĪèĥ½":107713,"裸":107714,"æĬĢæľ¯åĪĽæĸ°":107715,"æĸĩåĮĸæĹħ游":107716,"åıij票":107717,"年级":107718,"ä½łä¸į":107719,"ä¹ĭå¿ĥ":107720,"æķ°çϾ":107721,"åIJijå¾Ģ":107722,"èĢģå®¶":107723,"åľĭéļĽ":107724,"çļĦé«ĺ度":107725,"æľĿéĺ³":107726,"æ¸ħéϤ":107727,"èĩªæľī":107728,"书ä¸Ń":107729,"游æĪıè£ħå¤ĩ":107730,"ä¸ĩå¤ļ":107731,"驾驶åijĺ":107732,"ä½łçŁ¥éģĵ":107733,"åĽ½åºĨ":107734,"é£ŁåłĤ":107735,"æİ¥åı£":107736,"æĢ»æķ°":107737,"åħ¶ä»ĸçļĦ":107738,"çĶŁåij½çļĦ":107739,"ä½łåľ¨":107740,"çļĦ缮åħī":107741,"è¿Ļæĸ¹éĿ¢":107742,"éĥ½è¯´":107743,"çĸĹæ³ķ":107744,"åĭĩ士":107745,"åľ¨åħ¨çIJĥ":107746,"ä¿ĿéĻ©åħ¬åı¸":107747,"çĿ£æŁ¥":107748,"åĸĦèī¯":107749,"表彰":107750,"è¹²":107751,"路段":107752,"æľĥåĵ¡è¦ı":107753,"æľĥåĵ¡è¦ıç¯Ħ":107754,"æĪ·åŀĭ":107755,"ä¿ĥ使":107756,"修建":107757,"é«ĺæ°´å¹³":107758,"åģļåĩºäºĨ":107759,"ä¸»åľº":107760,"è¡Įèµ°":107761,"空çϽ":107762,"æľī人说":107763,"è¿Ļ个ä¸ĸçķĮ":107764,"åIJįä¹ī":107765,"å®Įç¾İçļĦ":107766,"羡æħķ":107767,"åıĬåħ¶ä»ĸ":107768,"åı¯ç͍":107769,"æĭIJ":107770,"è¾ĥ大çļĦ":107771,"æĬĢæľ¯åĴĮ":107772,"å°¼äºļ":107773,"çĻ¾è´§":107774,"æıī":107775,"éĢīè´Ń":107776,"éĺŁåıĭ":107777,"ä¼łæĦŁ":107778,"ä¼łæĦŁåύ":107779,"åıªè¦ģä½ł":107780,"为ä»Ģä¹Īè¦ģ":107781,"ä¸ĵ注äºİ":107782,"ä½Ļé¢Ŀ":107783,"åħ¸åŀĭçļĦ":107784,"缮åīįå·²":107785,"æ¬²æľĽ":107786,"èģĶ绾":107787,"æµģä¼ł":107788,"çļĦå®¶åºŃ":107789,"åı·åı¬":107790,"çıįè´µ":107791,"ä¼Łå¤§çļĦ":107792,"éī´äºİ":107793,"è·Łä»ĸ":107794,"产çī©":107795,"ä¸įå·²":107796,"è¿Ŀæ³ķè¡Į为":107797,"头ä¸Ĭ":107798,"åĪĨè§£":107799,"åı¯ä»¥çľĭåĩº":107800,"æł¡åĮº":107801,"åŃĹä½ĵ":107802,"ä¿®çĤ¼":107803,"çĶļèĩ³æĺ¯":107804,"微信åħ¬ä¼Ĺ":107805,"åıĸ代":107806,"èIJ¥ä¸ļæĶ¶åħ¥":107807,"æ½įåĿĬ":107808,"ä½łèĥ½":107809,"社ä¼ļä¿Ŀéļľ":107810,"æ¯ĶèµĽä¸Ń":107811,"污水å¤ĦçIJĨ":107812,"夫å¦ĩ":107813,"ä¸Ģå¹ħ":107814,"沿海":107815,"åı£æĦŁ":107816,"ä½Ĩåį´":107817,"å½ĵæĹ¥":107818,"çļĦæľĢ大":107819,"æ¯ıä¸Ģä½į":107820,"没äºĭ":107821,"çī¹åĪ¥":107822,"å¼ĢåѦ":107823,"è·¯éĿ¢":107824,"å¿ĥçIJĨåѦ":107825,"æĶ¾ç½®":107826,"éĩįåºĨå¸Ĥ":107827,"ä½łèĩªå·±":107828,"æ¶Īè´¹èĢħçļĦ":107829,"ä¸Ģæ³¢":107830,"èѦæĥķ":107831,"åį§å®¤":107832,"注å°Ħ":107833,"é£İ鼨":107834,"沿çĿĢ":107835,"åijĬ訴":107836,"表çݰåĩº":107837,"åĽĽæĺ¯":107838,"åı¤åħ¸":107839,"æĽ´éĩįè¦ģçļĦ":107840,"好äºĭ":107841,"çľ¼æ³ª":107842,"æ¨ĵ":107843,"审åΤ":107844,"碰æĴŀ":107845,"车ç«Ļ":107846,"è¿Ľåħ¥äºĨ":107847,"éĽĨåIJĪ":107848,"æł¼å¤ĸ":107849,"宾é¦Ĩ":107850,"æĶ¯ä»ĺå®Ŀ":107851,"她æĺ¯":107852,"æĺ¯å¦Ĥä½ķ":107853,"人次":107854,"çļĦæĪIJåĬŁ":107855,"æĹłåĬĽ":107856,"æµ·æĭĶ":107857,"æĺ¥åŃ£":107858,"éĥ½ä¸įä¼ļ":107859,"çŃīå¤ļç§į":107860,"ä¸Ģ个å°ı":107861,"åģľè½¦åľº":107862,"è®©æĽ´å¤ļ":107863,"è¿ĻçĤ¹":107864,"æĪIJåĵģ":107865,"éĴī":107866,"éģĩè§ģ":107867,"çıŃ主任":107868,"æĦıæĦ¿":107869,"çļĦåIJĮåѦ":107870,"游è§Ī":107871,"åİĭ缩":107872,"åľ¨ä¼łå¥ĩ":107873,"å¼¹æĢ§":107874,"æĹ¥åĨħ":107875,"ç¦ı建çľģ":107876,"è§ĴèIJ½":107877,"åĪĨå¼Ģ":107878,"ä¼ļ让":107879,"å¤ĸåĽ´":107880,"çĨŁæĤīçļĦ":107881,"çĨĶ":107882,"ä¸ĩè¾Ĩ":107883,"å¤ľéĹ´":107884,"车身":107885,"ä¸ŃæľŁ":107886,"å®ĮåĸĦçļĦ":107887,"åĵģç±»":107888,"åıĭè°Ĭ":107889,"éĢīæĭĶ":107890,"éªij士":107891,"彦":107892,"çļĦçľĭæ³ķ":107893,"åĽ½çİĭ":107894,"è¾£æ¤Ĵ":107895,"åıijå¸ĥæĹ¶éĹ´":107896,"åı¤åŁİ":107897,"éļıæľº":107898,"ç«ĸ":107899,"å¼Ģè¾Ł":107900,"ä¼ĹçĶŁ":107901,"没åĬŀæ³ķ":107902,"åįĥéĩĮ":107903,"æĿ¥æºIJäºİ":107904,"çļĦæĿĥåĪ©":107905,"æ¯ĶåĪĨ":107906,"满æĦıçļĦ":107907,"ä¿®è¡Į":107908,"åĿł":107909,"大海":107910,"èݹ":107911,"åĩºèº«":107912,"è«ĩ":107913,"åħ³èĬĤ":107914,"åIJį人":107915,"éľĢè¦ģ注æĦı":107916,"æĹ©æĻ¨":107917,"å¤ĸåįĸ":107918,"åıĪè¦ģ":107919,"æ¶īæ¡Ī":107920,"çĶ³è¯·äºº":107921,"éĻĦè¿ijçļĦ":107922,"åĬłå¿«æİ¨è¿Ľ":107923,"æĸ°å¹´":107924,"大è¡Ĺ":107925,"ä¸Ģé»ŀ":107926,"èĭıå®ģ":107927,"æĤĦæĤĦ":107928,"èĦ¾æ°Ķ":107929,"å¸ĮèħĬ":107930,"éļıåį³":107931,"æķ¢äºİ":107932,"å®ŀè·µä¸Ń":107933,"æĺ¯æ²¡æľī":107934,"æľīè¶£çļĦ":107935,"æĿ¥èĩªäºİ":107936,"è£ģåΤ":107937,"女åŃ©åŃIJ":107938,"èĩ³åħ³":107939,"èĩ³åħ³éĩįè¦ģ":107940,"æĻºåĬĽ":107941,"èµ°åĩºåİ»":107942,"çŁŃæĿ¿":107943,"å¤§åĽ½":107944,"çļĦ认è¯Ĩ":107945,"å¹´å¤ľ":107946,"åĨįåΰ":107947,"åIJĮæł·çļĦ":107948,"å¯Ĩå°ģ":107949,"å¤ĸ交éĥ¨":107950,"çĶŁæķĪ":107951,"æĤ¨åı¯ä»¥":107952,"ä½łåĢij":107953,"è¿ĩå¹´":107954,"å¼ĵ":107955,"è¡ĮæĿİ":107956,"æ¯Ķèµ·":107957,"身é«ĺ":107958,"è¿Ļ个人":107959,"ä¸Ńå¤ĸ":107960,"éģĵæŃī":107961,"çĽ¯çĿĢ":107962,"亲åŃIJ":107963,"éŸ":107964,"çϽäºij":107965,"èĦĸåŃIJ":107966,"ä¸ĢåĪĩéĥ½":107967,"æ·ij":107968,"è°ľ":107969,"åģ¶çĦ¶":107970,"éĿłè°±":107971,"é«ĺ管":107972,"ä¸ĭåıij":107973,"æĶ¾åΰ":107974,"ç±»åĪ«":107975,"ä¸ĭåĪĹ":107976,"æ··ä¹±":107977,"åIJĪæ³ķæĿĥçĽĬ":107978,"çݯçIJĥ":107979,"æľīæķĪåľ°":107980,"åķĨæĪ·":107981,"æ¹ĸ人":107982,"海岸":107983,"æĬķ产":107984,"两个æľĪ":107985,"éĥ½éĿŀ常":107986,"å¢ŀ强äºĨ":107987,"æĿ¥åΰäºĨ":107988,"åī©ä½Ļ":107989,"æĤ¨çļĦåŃ©åŃIJ":107990,"æµģæ°´":107991,"æŃ£ä¹ī":107992,"天çĮ«":107993,"åģļè¿ĩ":107994,"ä½ķæĹ¶":107995,"æĪijåİ»":107996,"çľģ份":107997,"å¥ĸéĩij":107998,"该å¦Ĥä½ķ":107999,"ä¸ĭçıŃ":108000,"åģ¶åĥı":108001,"æijĨæĶ¾":108002,"æĸ°æ¨¡å¼ı":108003,"æĬķè³ĩ":108004,"è·¯åı£":108005,"åĨľæ°ijå·¥":108006,"大åѸ":108007,"ä»¶äºĭ":108008,"æł¹æľ¬ä¸į":108009,"æµĵ度":108010,"æµĵåİļ":108011,"è½®èĥİ":108012,"æĪ¿ä¼ģ":108013,"éĿŀ常好":108014,"ä»İä¸Ń":108015,"äººæł¼":108016,"ç¿ģ":108017,"æĹ¶éĹ´åĴĮ":108018,"è¿Ļä¸įæĺ¯":108019,"åΏåķĨ":108020,"æĥĬ人":108021,"åύå®ĺ":108022,"åĩĨåĪĻ":108023,"æĥħæĻ¯":108024,"æĽ´é«ĺçļĦ":108025,"åѦ家":108026,"泡沫":108027,"åľ°æĸ¹æĶ¿åºľ":108028,"å°±çŁ¥éģĵ":108029,"åij¼åIJģ":108030,"ç»ıè´¸":108031,"èĬ±éĴ±":108032,"æľīä¸Ģ次":108033,"æĦŁæħ¨":108034,"ä¸Ģåįĥ":108035,"å¤ľæĻļ":108036,"詹å§Ĩ":108037,"詹å§Ĩæĸ¯":108038,"è¦ģéĹ»":108039,"ç»Ĵ":108040,"æºIJäºİ":108041,"çļĦè´¨éĩı":108042,"注æĦıäºĭ项":108043,"æħ¢æĢ§":108044,"稳å®ļçļĦ":108045,"建设åĴĮ":108046,"æĻ¯è±¡":108047,"éĩıåĮĸ":108048,"çļĦ話":108049,"è¯Ħ级":108050,"æºľ":108051,"红åĮħ":108052,"éĢļéģİ":108053,"社ä¼ļ责任":108054,"æĸ°äº§åĵģ":108055,"åĨ·éĿĻ":108056,"çľĭä¸įåΰ":108057,"èģĶéĤ¦":108058,"éŃĦ":108059,"çļĦåīįæıIJ":108060,"çļĦåīįæıIJä¸ĭ":108061,"è¾ĥ好":108062,"çļĦæĦŁæĥħ":108063,"客æĪ·æıIJä¾Ľ":108064,"çĭ¬èĩª":108065,"å¢ŀæĶ¶":108066,"æĸĩçĮ®":108067,"æĭ¼åij½":108068,"管çIJĨåĴĮ":108069,"æµģåĬ¨æĢ§":108070,"åħ¨å®¶":108071,"ä¸Ĭæĸ¹":108072,"æİ¨åĩºçļĦ":108073,"ä¸īåĽ½":108074,"ä¸Ģ个æĺ¯":108075,"æĸ°ä¸Ģè½®":108076,"æĸĩåĮĸéģĹ产":108077,"殺":108078,"大湾åĮº":108079,"éĥ½éľĢè¦ģ":108080,"çļĦå®ŀéĻħ":108081,"ç·Ĭ":108082,"大å¥ĸ":108083,"åħīèĬĴ":108084,"便äºİ":108085,"çļĦ表æĥħ":108086,"æ¼Ķç»İ":108087,"红åĨĽ":108088,"å½ĵæĪij":108089,"æ²»æĦĪ":108090,"é¢Ŀ度":108091,"éĿľ":108092,"ä»»ä½ķ人":108093,"è¡Ĺ头":108094,"çĸ¯":108095,"çĸ¯æĭī":108096,"åĮ»çĸĹæľºæŀĦ":108097,"ç»ĻåŃ©åŃIJ":108098,"è§Ħ磩":108099,"è£ľ":108100,"çļĦ身影":108101,"ä¸ĵæłı":108102,"æĿ¥ä¸´":108103,"童年":108104,"å¤įèĭı":108105,"è¨Ĥ":108106,"åŀĭåı·":108107,"åĽ¾æ¡Ī":108108,"ç®ĢåİĨ":108109,"æĭ±":108110,"èį·åħ°":108111,"ä»»æĦı":108112,"æī¿æİ¥":108113,"è¿Ļæīį":108114,"客车":108115,"æľĿçĿĢ":108116,"éłħ缮":108117,"åı°é£İ":108118,"çļĦæĪ¿åŃIJ":108119,"éªı":108120,"æĿ±è¥¿":108121,"éģĹä¼ł":108122,"è¶Ĭå¤ļ":108123,"äºĨä»ĸçļĦ":108124,"ä¸Ĭåij¨":108125,"管çIJĨåĪ¶åº¦":108126,"失ä¸ļ":108127,"çĶ·åıĭ":108128,"æİ¥ç§į":108129,"å¨ģåIJį":108130,"çĴ°å¢ĥ":108131,"åıijçĶŁåľ¨":108132,"ä¸ªåĽ½å®¶":108133,"åĪĽæĸ°åıijå±ķ":108134,"æĶ¹åıĺäºĨ":108135,"åģ¥åº·çļĦ":108136,"å̼å¾Ĺä¸Ģ":108137,"å̼å¾Ĺä¸ĢæıIJ":108138,"åĽ¢ä¼Ļ":108139,"åģĩ设":108140,"åı°ä¸Ĭ":108141,"è§ĦèĮĥåĮĸ":108142,"éĻªåIJĮ":108143,"座æ¤ħ":108144,"åı¯æĢľ":108145,"åħĭæĢĿ主ä¹ī":108146,"æ³ķå¾ĭ责任":108147,"ä¸Ģé¡¿":108148,"æĬ¬å¤´":108149,"为éĩįçĤ¹":108150,"è¿ľæ´ĭ":108151,"éĢıè¿ĩ":108152,"åħ¨çIJĥåĮĸ":108153,"è¶£åij³":108154,"票æĪ¿":108155,"æ¯ı人":108156,"åIJĦç§įåIJĦæł·":108157,"äºĨåĩºæĿ¥":108158,"ç»Ŀ对æĺ¯":108159,"ä¸ĭå±ŀ":108160,"ä¸ĢåıĮ":108161,"è¿ĻåĿĹ":108162,"æĬĹçĸ«":108163,"è¦ģçĤ¹":108164,"å½¢æĪIJçļĦ":108165,"æĪijçľĭ":108166,"ä¸ĩéĩĮ":108167,"èĢĥçłĶ":108168,"为åħ¶":108169,"æ°ij宿":108170,"å¤ļä½į":108171,"大èĩ´":108172,"ä»ĺè´¹":108173,"åħ¥æīĭ":108174,"å±ħå®¶":108175,"æīĢåľ¨åľ°":108176,"人身":108177,"è¿ĩå¾Ĺ":108178,"è¯ķè¯ķ":108179,"访è°Ī":108180,"åĬłéĩį":108181,"å°±ä¸įä¼ļ":108182,"çĶŁäº§ä¼ģä¸ļ":108183,"åĽŀåĽ½":108184,"åºķ线":108185,"èµ¶åΰ":108186,"æĶ¯éĺŁ":108187,"æĪij们éĥ½":108188,"éĤ®æĶ¿":108189,"缴èĩ³":108190,"éĴ¢çIJ´":108191,"åħľ":108192,"çłĶ讨ä¼ļ":108193,"æľĪ亮":108194,"åĿļæĮģ以":108195,"åħ¬å®īéĥ¨":108196,"éĴ¢ç®¡":108197,"å°ıçϽ":108198,"ç½®ä¸ļ":108199,"èģĭ":108200,"书åĨĻ":108201,"æĿı":108202,"éħįæĸ¹":108203,"èĢĮåıĪ":108204,"çijŀ士":108205,"çķĮçļĦ":108206,"èĢģ大":108207,"æĪIJçĨŁçļĦ":108208,"å¹²ä»Ģä¹Ī":108209,"ä¸ĵ项æĸĹäºī":108210,"çŃīå¤ļ个":108211,"èĦ±ç¦»":108212,"ä¸ī个æľĪ":108213,"çłĶç©¶åijĺ":108214,"æĹĭ转":108215,"æŀģèĩ´":108216,"åħįè´£":108217,"åħį责声æĺİ":108218,"å¾Īå¤ļçݩ家":108219,"车ä¸Ĭ":108220,"交äºĴ":108221,"å·²æĺ¯":108222,"ä¸Ģå°ı":108223,"çļĦéĩįçĤ¹":108224,"èĬ±äºĨ":108225,"ä¸įæĺİ":108226,"æľīåħ³è§Ħå®ļ":108227,"çĬ¹å¦Ĥ":108228,"羸":108229,"寡":108230,"çļĦè¡£æľį":108231,"åĮħ裹":108232,"身åŃIJ":108233,"å¸ĪèĮĥ大åѦ":108234,"äºĭåħĪ":108235,"线æĿ¡":108236,"æ³ķåζ":108237,"åħ»æĬ¤":108238,"稳å®ļæĢ§":108239,"éĤµ":108240,"åŀĦæĸŃ":108241,"é¡į":108242,"èĢĥåı¤":108243,"æĿłæĿĨ":108244,"èĭıèģĶ":108245,"æ°´ç͵":108246,"åħ·ä½ĵçļĦ":108247,"æ¿Ģæ´»":108248,"æĪijæł¡":108249,"åĪļå¼Ģå§ĭ":108250,"åĩ¸æĺ¾":108251,"禾":108252,"åħ¼èģĮ":108253,"éĢıéģİ":108254,"åľ¨æ¸¸æĪıä¸Ń":108255,"社ä¼ļåıijå±ķ":108256,"好çİ©":108257,"å¹»æĥ³":108258,"ä¸į代表":108259,"注æĦıåĬĽ":108260,"æ£į":108261,"ç͍æīĭ":108262,"ç¾İ人":108263,"许å¤ļ人":108264,"å¾Īæĺ¯":108265,"çļĦçłĶåıij":108266,"æīĵåĩº":108267,"åIJĪä¼Ļ人":108268,"ä¸Ģå¤ľ":108269,"ç¼ĵç¼ĵ":108270,"ä¿®æŃ£":108271,"æĦŁçŁ¥":108272,"ç»Ī身":108273,"æ¿Ģç´ł":108274,"çݯå¢ĥä¸ĭ":108275,"次ä¼ļè®®":108276,"ç»ıæµİå¢ŀéķ¿":108277,"æīĽ":108278,"åıijéħµ":108279,"åĪĨæŀIJå¸Ī":108280,"åľ¨æľªæĿ¥":108281,"主è¦ģæľī":108282,"ä¸ĢåŃ£åº¦":108283,"çļĦ说æ³ķ":108284,"ä»İæĿ¥æ²¡æľī":108285,"货车":108286,"缩å°ı":108287,"太è¿ĩ":108288,"æķĪåĬĽ":108289,"ä¸įä¸ĭ":108290,"æĬķ稿":108291,"èį¯ä¸ļ":108292,"ç»Ħéķ¿":108293,"ç«ĻçĤ¹":108294,"å¾Īåĸľæ¬¢":108295,"éIJµ":108296,"åĬ¿å¤´":108297,"æ¼ıæ´ŀ":108298,"æĦ¤æĢĴ":108299,"åħħå®ŀ":108300,"åĪĽä¸ļæĿ¿":108301,"çĪª":108302,"æľªå¿ħ":108303,"åºķéĥ¨":108304,"å¾ĹåĪĨ":108305,"人æ°ijåĮ»éĻ¢":108306,"äºĮæīĭæĪ¿":108307,"å·²ç»ı被":108308,"大楼":108309,"æĸ°æĪ¿":108310,"辦æ³ķ":108311,"ç͍åĬĽ":108312,"æĭĵ宽":108313,"åĨħåľ¨":108314,"æĴŃåĩº":108315,"饰æ¼Ķ":108316,"ä¹Łè®©":108317,"ä½ľçĤº":108318,"çī©ä¸ļ管çIJĨ":108319,"åį´ä¸į":108320,"为ä¸ŃåĽ½":108321,"å±ĢåĬ¿":108322,"ä¸įèĤ¯":108323,"æľĢæĸ°çļĦ":108324,"åı¯ä»¥éĢīæĭ©":108325,"æĺ¾çݰ":108326,"å°±ç®Ĺæĺ¯":108327,"åľ¨æł¡":108328,"é¾Ł":108329,"两æĿ¡":108330,"çļĦå®ŀåĬĽ":108331,"è¶Ĭ好":108332,"å¥¹åľ¨":108333,"å¿łè¯ļ":108334,"ä¹ŁéľĢè¦ģ":108335,"游æĪıæĵįä½ľ":108336,"è¶ħåĩº":108337,"å¦Ĥæŀľä¸į":108338,"æīĢåľ¨çļĦ":108339,"ä½łè¿ĺ":108340,"以åĨħ":108341,"æľīä¸Ģå®ļ":108342,"åı¯è¾¾":108343,"è·ijåΰ":108344,"åīĽ":108345,"建ç«ĭåģ¥åħ¨":108346,"æķ´è½¦":108347,"åīįæĸ¹":108348,"éĹ´æİ¥":108349,"çѹå¤ĩ":108350,"çĸ²åĬ³":108351,"离å¼ĢäºĨ":108352,"æ±Ŀ":108353,"éĿ¢éĥ¨":108354,"ä¹ĭåīįçļĦ":108355,"åıĺ为":108356,"å¦Ĥæŀľè¯´":108357,"对ä»ĺ":108358,"åĿĩåı¯":108359,"被åijĬ人":108360,"ç²¾ç¾İ":108361,"èģļä¼ļ":108362,"çĿ̥̿":108363,"è°·æŃĮ":108364,"ä¸Ģåı·":108365,"红åĪ©":108366,"ä¼łå¥ĩ游æĪı":108367,"å»ĸ":108368,"è´ŀ":108369,"ä¹°åΰ":108370,"éŃļ":108371,"ä½ĵè´¨":108372,"å°ijäºĨ":108373,"æ³īå·ŀ":108374,"åIJŁ":108375,"ç»Ŀä¸į":108376,"é»ijæģ¶":108377,"é»ijæģ¶åĬ¿åĬĽ":108378,"ä¸Ĭæĺł":108379,"çļĦè¯Ŀé¢ĺ":108380,"ä¸ĩ人次":108381,"ä¸ĸéĹ´":108382,"ç͍工":108383,"贯穿":108384,"å®ĿçŁ³":108385,"ä½łå¥½":108386,"åĪĩåī²":108387,"å¼ºåĽ½":108388,"åĽŀèIJ½":108389,"æ°´æĻ¶":108390,"模仿":108391,"洪水":108392,"éĢĻ麼":108393,"åįģä¸īäºĶ":108394,"ä½ij":108395,"éĻĦä»¶":108396,"çļĦå¢ŀéķ¿":108397,"éĻĦå±ŀ":108398,"çݰ已":108399,"å¸®ä½ł":108400,"éĩijçīĮ":108401,"é«ĺåİŁ":108402,"åľ¨å®¶éĩĮ":108403,"éĺ²èħIJ":108404,"ç¡®å®ŀæĺ¯":108405,"宣讲":108406,"天æīį":108407,"ç»ıèIJ¥ç®¡çIJĨ":108408,"éĶħçĤī":108409,"åIJĪä¸Ģ":108410,"è§Ĥèµı":108411,"éķ¿è¾¾":108412,"主ä¹īæĢĿæĥ³":108413,"éĤ£éº¼":108414,"é£İäºij":108415,"为主çļĦ":108416,"æļijåģĩ":108417,"æĮģä¹ħ":108418,"å¼Ĥåľ°":108419,"å¼ĢéŨ":108420,"模æĿ¿":108421,"æī¹æ¬¡":108422,"ä¸į便":108423,"天çĶŁ":108424,"åĩłä¸ªæľĪ":108425,"ä¸ĵç§ij":108426,"åı¦æľī":108427,"åħ¬å¸ĥçļĦ":108428,"æĩ·":108429,"åľºåIJĪ":108430,"çļĦå¿ĥæĢģ":108431,"è¿ĺ好":108432,"å®ŀæĪĺ":108433,"èĢģå¸ĪçļĦ":108434,"åħ©åĢĭ":108435,"åı¯åľ¨":108436,"éĤ£ä½į":108437,"å¥łå®ļäºĨ":108438,"ä¿ĥéĶĢ":108439,"æı´åĬ©":108440,"ä¸ĩçī©":108441,"æĥħæĬ¥":108442,"é¦ĸåħĪè¦ģ":108443,"æĸĩåĮĸåĴĮ":108444,"éĥ½å·²ç»ı":108445,"ä¸Ĭä¸ĸ纪":108446,"åĨľåľº":108447,"大æī¹":108448,"æĺİçϽäºĨ":108449,"çļĦæĪIJéķ¿":108450,"çļĦæ¯ĶèµĽ":108451,"失误":108452,"åģļæĪIJ":108453,"ä»Ĭ天å°ıç¼ĸ":108454,"é¢Ĩè¢ĸ":108455,"æıIJåįĩäºĨ":108456,"å¾IJå·ŀ":108457,"ä»įæľī":108458,"è¿ĩ滤":108459,"å¹½é»ĺ":108460,"çĥŃéĩı":108461,"ä¸Ģé¦ĸ":108462,"æ¼Ĥ亮çļĦ":108463,"åĩłç§į":108464,"åĢ¡è®®":108465,"å°±åı¯ä»¥äºĨ":108466,"æİĴåĪĹ":108467,"éĩįéĩį":108468,"ä¼ģä¸ļåĴĮ":108469,"ä¸ĵå±ŀ":108470,"çħİ":108471,"亲æĪļ":108472,"çϾåĪĨä¹ĭ":108473,"稿件":108474,"è¿ĺå¾Ĺ":108475,"人åĵ¡":108476,"äºī夺":108477,"æĽ´å®¹æĺĵ":108478,"大èĩªçĦ¶":108479,"鼻èħ¦":108480,"太空":108481,"åľ°å¤Ħ":108482,"夢":108483,"ä»ĸ对":108484,"å¿ħå°Ĩ":108485,"ä¸įå½ĵ":108486,"严谨":108487,"åĩºåľº":108488,"å·²ç»ıæľī":108489,"é¢ĨåĨĽ":108490,"é«ĺæ¡£":108491,"ä¸ĢæīĢ":108492,"æłĹ":108493,"让åѦçĶŁ":108494,"æĽ¹æĵį":108495,"æŁIJä¸Ģ":108496,"伸åĩº":108497,"èĬ±åįī":108498,"æ¸ħéĨĴ":108499,"èģĶç³»æĸ¹å¼ı":108500,"åĪĨå±Ģ":108501,"èħ³":108502,"æ©¡èĥ¶":108503,"éķ¿å¾Ĺ":108504,"ç»¿åľ°":108505,"è¢į":108506,"çļĦèīºæľ¯":108507,"女æľĭåıĭ":108508,"ä¸Ńè¶ħ":108509,"离åŃIJ":108510,"å¤ļæł·åĮĸ":108511,"éĺ³åı°":108512,"ä½İ碳":108513,"ä¸Ģç±»":108514,"çŃīæĸ¹éĿ¢çļĦ":108515,"å¾Ĺ好":108516,"模åħ·":108517,"ä¸ĩ亿":108518,"çķĻæĦı":108519,"临æ²Ĥ":108520,"å°ijéĩı":108521,"çľĭåIJij":108522,"ç»ıèIJ¥èĢħ":108523,"çķĻä¸ĭäºĨ":108524,"åĿıäºĨ":108525,"åijĬåĪ«":108526,"羣çIJĨ":108527,"ç¼´è´¹":108528,"æĬĬä½ł":108529,"çļĦä»»åĬ¡":108530,"æĪij对":108531,"ä¹°åħ¥":108532,"çĻ»ä¸Ĭ":108533,"æľī两个":108534,"ä¸Ģ头":108535,"æĵįæİ§":108536,"åħ¨è¦ĨçĽĸ":108537,"çĿĢæīĭ":108538,"å¢ĻéĿ¢":108539,"å¤ļæĸ¹":108540,"åı¯çαçļĦ":108541,"ä¹Łåı¯èĥ½":108542,"æľĢæľī":108543,"è¿ĻäºĽéĥ½æĺ¯":108544,"æĥ¡":108545,"å®®":108546,"å¾Īå°ı":108547,"éĹ®é¢ĺæĺ¯":108548,"åĿĩæľī":108549,"å¾ģéĽĨ":108550,"说åĩº":108551,"æľīæĦı":108552,"é¢Ĥ":108553,"æī¬å·ŀ":108554,"åķĨä¸ļ模å¼ı":108555,"çĶŁèĤĸ":108556,"æįIJ款":108557,"å²Ĥ":108558,"ç¾İæĻ¯":108559,"è¿ĺ羣":108560,"æĭ¥æĬ±":108561,"身ä½ĵåģ¥åº·":108562,"æ·±å¤Ħ":108563,"çľ¼ç¥ŀ":108564,"çļĦ形象":108565,"ä¼ĺè¶Ĭ":108566,"å½ĵæĪIJ":108567,"åĮºåĪĨ":108568,"åİ»éϤ":108569,"注å®ļ":108570,"å§IJ妹":108571,"åĮºåĨħ":108572,"é©ļ":108573,"æļĹ示":108574,"æĺİ亮":108575,"æħ°éĹ®":108576,"å¸Ĥåľºä»½é¢Ŀ":108577,"çĮªèĤī":108578,"çļĦèµĦéĩij":108579,"åİĨç»ı":108580,"å§ĭç»ĪåĿļæĮģ":108581,"çĶŁæľº":108582,"ä¸į顾":108583,"éĩijåĪļ":108584,"大声":108585,"éĻķ西çľģ":108586,"é²į":108587,"åĨľä¸ļåĨľæĿij":108588,"æľī害":108589,"éŨè¯Ĭ":108590,"æ¯ıä¸Ģ次":108591,"çļĦåĽłç´ł":108592,"é¢Ŀå¤ĸ":108593,"åݿ级":108594,"çļĩåIJİ":108595,"åĽ½ä¼ģ":108596,"é¦ĸéĢī":108597,"ç¼ĸåĨĻ":108598,"æĭ¿èµ·":108599,"åģ·åģ·":108600,"ä¸İä¸ŃåĽ½":108601,"åįĸå®¶":108602,"ç»Ļä»ĸ们":108603,"ç¥ŀè¯Ŀ":108604,"åŃ¸æł¡":108605,"æĪijä¸Ģ缴":108606,"çŁ¥éģĵäºĨ":108607,"åįĴ":108608,"åĴĮåľ°åĮº":108609,"ä»Ģä¹Īéĥ½":108610,"çͻ家":108611,"æľ¬çĿĢ":108612,"ä½ĻåIJį":108613,"审çIJĨ":108614,"ä¸ĢåIJij":108615,"åıijå±ķè¶ĭåĬ¿":108616,"åĮºéĹ´":108617,"注åĨĮèµĦæľ¬":108618,"çIJ¦":108619,"ä¸įåı¯ä»¥":108620,"çļĦåĦ¿åŃIJ":108621,"å̼çıŃ":108622,"ä¸¥æł¼çļĦ":108623,"å®ŀä½ĵç»ıæµİ":108624,"æľīæĿĥ":108625,"æĪijåıĪ":108626,"éĵ¶æ²³":108627,"ç«ĭ马":108628,"æĿĢäºĨ":108629,"åĮħ容":108630,"管家":108631,"身é«Ķ":108632,"éĵħ":108633,"å°ıåŃIJ":108634,"管çIJĨç³»ç»Ł":108635,"æľīçļĦ人":108636,"é£İç͵":108637,"æĻºèĥ½åζéĢł":108638,"精确":108639,"æĭĽåķĨå¼ķ":108640,"æĭĽåķĨå¼ķèµĦ":108641,"äºĮæīĭ车":108642,"åİ¿å§Ķ":108643,"èīºäºº":108644,"å¥ķ":108645,"è¿İæĿ¥äºĨ":108646,"ç»ĵæĿŁäºĨ":108647,"çļĦä¼łç»Ł":108648,"æĭ¼æIJı":108649,"奥迪":108650,"çĸijæĥij":108651,"ä¹ĭæĹ¥èµ·":108652,"æłĩå¿ĹçĿĢ":108653,"åľ°åįĢ":108654,"è¯łéĩĬ":108655,"åĪ°æľŁ":108656,"åħ¨éĥ½":108657,"çŁŃæļĤ":108658,"æĺ¯æĪijåĽ½":108659,"æĪijå·²ç»ı":108660,"æ»´æ»´":108661,"天èµĭ":108662,"对她":108663,"åį«çĶŁéĹ´":108664,"çĶŁäº§åŁºåľ°":108665,"æĹ¥è®°":108666,"çļĦæķĻåѦ":108667,"åĵĩ":108668,"æ°ijäºĭ":108669,"è¿ĺåİŁ":108670,"æīĭä¸ŃçļĦ":108671,"çļĦèī¯å¥½":108672,"æ·«":108673,"ä¸Ńåħ±ä¸Ń央":108674,"åĪĥ":108675,"åĵĦ":108676,"åľ¨ä»ĸçļĦ":108677,"å°Īæ¥Ń":108678,"åľºéĿ¢":108679,"éĤ»å±ħ":108680,"çĹĴ":108681,"å¦Ħ":108682,"å¤ĸç§ij":108683,"ä¸įéĢĤ":108684,"举åĬŀçļĦ":108685,"éĤ¹":108686,"åħļçļĦ建设":108687,"çĻ¼è¡¨":108688,"è·¨çķĮ":108689,"æ²īæ·Ģ":108690,"大çīĩ":108691,"è¶Ĭé«ĺ":108692,"å°Ĩæĺ¯":108693,"è§īéĨĴ":108694,"åĤ¨åŃĺ":108695,"å¢ŀ大":108696,"ä¸į让":108697,"æķ´å½¢":108698,"å¹³åı°ä¸Ĭ":108699,"åĩłä½į":108700,"è¯īæ±Ĥ":108701,"好ä¸į好":108702,"åľį":108703,"æĸĩæľ¬":108704,"é̲åħ¥":108705,"ç´į":108706,"æł¹æĵļ":108707,"èįīæ¡Ī":108708,"åħŃ个":108709,"åĭ¿":108710,"åζæĪIJ":108711,"饮水":108712,"æ°¸æģĴ":108713,"èĩªæĿĢ":108714,"åı¸é©¬":108715,"éļ¾çĤ¹":108716,"为æĪij们":108717,"å¼§":108718,"åī©ä¸ĭçļĦ":108719,"åĩĨå¤ĩ好":108720,"çļĦæľĢä½³":108721,"èģĶåIJĪä¼ļ":108722,"æĤ£èĢħçļĦ":108723,"æĪijä¸įçŁ¥éģĵ":108724,"ä¸ĭä¸Ģ个":108725,"åıijå±ķæĸ¹åIJij":108726,"笨":108727,"æīĢ以æĪij们":108728,"åĨĻäºĨ":108729,"éĢłæĪIJäºĨ":108730,"æ²Ļæ¼ł":108731,"çŃĽéĢī":108732,"çģ¾åĮº":108733,"ä¸Ĭçľĭ":108734,"éħ¶":108735,"æ»ļåĬ¨":108736,"éļ¾åħį":108737,"åIJīåĪ©":108738,"ä¸Ģä¸Ģ":108739,"ç²¾å¯Ĩ":108740,"伸æīĭ":108741,"礼仪":108742,"åħ¨æĺ¯":108743,"è¶Ĭ大":108744,"ä¸Ńæłĩ":108745,"åıĸåĨ³":108746,"åıĸåĨ³äºİ":108747,"éĢĶä¸Ń":108748,"讨åİĮ":108749,"æīĭåĨĮ":108750,"第ä¹Ŀ":108751,"åŃĶåŃIJ":108752,"çĦ¶å¾Į":108753,"ä¸Ģåħ±":108754,"æµ·æĬ¥":108755,"款å¼ı":108756,"æķ´å¤©":108757,"è¾¹çķĮ":108758,"路边":108759,"æĻĭ级":108760,"åIJIJæ§½":108761,"çļĦåħ³æ³¨":108762,"æĪij没æľī":108763,"å°±æĺ¯åľ¨":108764,"缮çļĦæĺ¯":108765,"åį³ä½¿æĺ¯":108766,"é¡¶å°ĸ":108767,"å·²ç»ıåľ¨":108768,"å®īåħ¨éļIJæĤ£":108769,"æłĩæĿĨ":108770,"åįĹéĢļ":108771,"ä¼ļ对":108772,"座ä½į":108773,"èµ¢å¾ĹäºĨ":108774,"åİŁæĿ¥çļĦ":108775,"身为":108776,"书åºĹ":108777,"è¢Ńåĩ»":108778,"ä»ĬæĻļ":108779,"以èī²":108780,"以èī²åĪĹ":108781,"æĬĸéŁ³":108782,"åį´æ²¡æľī":108783,"丧失":108784,"çļĦå±ĢéĿ¢":108785,"åįģåĽĽäºĶ":108786,"çŃī缸åħ³":108787,"æ±ĩæĢ»":108788,"å¤ĸ表":108789,"为æ°ij":108790,"éľĩæĥĬ":108791,"å¥Ĺè·¯":108792,"çĬ¯ç½ªå«Įçĸij":108793,"å°Ĩ以":108794,"çİĩé¢Ĩ":108795,"éħĴåIJ§":108796,"è¡Įä¸ļåıijå±ķ":108797,"å¹´èĩ³":108798,"åύæĿIJ":108799,"åĴĮæĬĢæľ¯":108800,"æľĢå°ı":108801,"è¿Ļä¸ĢåĪĩ":108802,"èģĮç§°":108803,"å½ĵä½ľ":108804,"æİĢèµ·":108805,"åĴĭ":108806,"ä¸Ńéĥ¨":108807,"æīĭèĩĤ":108808,"ç½¢äºĨ":108809,"媳å¦ĩ":108810,"æ´½è°Ī":108811,"æĹ¶ä»£ä¸ŃåĽ½":108812,"人çĶŁçļĦ":108813,"æŀģéĻIJ":108814,"ç¦Ħ":108815,"åĮºæĶ¿åºľ":108816,"æľ¬éĴ±":108817,"礼åĵģ":108818,"çļĦéĤ£ä¸ª":108819,"ä¾¦æŁ¥":108820,"太å¤ļçļĦ":108821,"å®ŀæĸ½æĸ¹æ¡Ī":108822,"é«ĺæłĩåĩĨ":108823,"æĮĩæĮ¥éĥ¨":108824,"å̾æĸľ":108825,"çī¹èī²ç¤¾ä¼ļ":108826,"çµIJæŀľ":108827,"éĴ»çٳ":108828,"ç§»æ¤į":108829,"çī¹ç§į":108830,"èĩªæĦ¿":108831,"æĭľçĻ»":108832,"åįķ身":108833,"åį´åıĪ":108834,"åĪ¥äºº":108835,"åIJĪè§Ħ":108836,"æľºç͵":108837,"çĦı":108838,"å½ĵåīįä½įç½®":108839,"ä¹°å®¶":108840,"åIJĪ约":108841,"èĤ©èĨĢ":108842,"为åĩĨ":108843,"å®¶è£ħ":108844,"çļĦçĥŃæĥħ":108845,"éĿŀéģĹ":108846,"çļĦéŃħåĬĽ":108847,"åİŁåijĬ":108848,"社ä¼ļåIJĦçķĮ":108849,"ä¹°çļĦ":108850,"å¤ļåIJĥ":108851,"éĽķå¡ij":108852,"èµ·ä¹ī":108853,"åĬłåī§":108854,"éĤ£ä¸ĢåĪ»":108855,"å°Ĩè¿Ľä¸ĢæŃ¥":108856,"æ¡ĤæŀĹ":108857,"æĽ´å¼º":108858,"对ä¼ģä¸ļ":108859,"æĹłæĦı":108860,"ä¹łè¿ijå¹³æĸ°":108861,"æµģ失":108862,"微软":108863,"çĽ¸å¯¹äºİ":108864,"座è°Īä¼ļ":108865,"主èIJ¥ä¸ļ":108866,"主èIJ¥ä¸ļåĬ¡":108867,"ç§ģåĭŁ":108868,"å±ķ示äºĨ":108869,"常æĢģåĮĸ":108870,"è²´":108871,"符åı·":108872,"å¹´è½»çļĦ":108873,"å°±éľĢè¦ģ":108874,"ä¹ŁæĽ¾":108875,"çļĦæĥħ绪":108876,"è¾¾æłĩ":108877,"èĩ¨":108878,"ä½įå±ħ":108879,"ä»ħ为":108880,"é¦ĸå®¶":108881,"éĺ´éĺ³":108882,"ä¸įåĨįæĺ¯":108883,"åĽłä¸ºå®ĥ":108884,"ä¼ģä¸ļåľ¨":108885,"çĺ¾":108886,"åIJ¬è§ģ":108887,"åİŁæľī":108888,"åζè£ģ":108889,"å¯Ĥå¯ŀ":108890,"éĢļè¿ĩ对":108891,"æ»ijéĽª":108892,"è¿Ļå¼ł":108893,"çļĦçIJĨè§£":108894,"æĸ°ä¸ŃåĽ½":108895,"è¿ĻåĦ¿":108896,"ä½İä»·":108897,"æĥ³è¿ĩ":108898,"çļĦä¿¡å¿ĥ":108899,"建çŃijçī©":108900,"çļĦé¢ľèī²":108901,"ä¸įåºĶ该":108902,"æĹłçĸijæĺ¯":108903,"å¼ķèµ·äºĨ":108904,"åħ¨åijĺ":108905,"æĿ°åĩº":108906,"è¿Ļæĺ¯æĪij":108907,"誰":108908,"èĺĩ":108909,"éĺµåľ°":108910,"åħħå̼":108911,"çŁ¿ä¸ļ":108912,"çĿĢä»ĸ":108913,"信访":108914,"ä¸ĩè¾¾":108915,"æij©æĵ¦":108916,"å¼Ģ端":108917,"èı²å¾ĭ":108918,"èı²å¾ĭ宾":108919,"车åŃIJ":108920,"æľ¬èº«çļĦ":108921,"çģ«è½¦ç«Ļ":108922,"常å·ŀ":108923,"为代表":108924,"为代表çļĦ":108925,"广ç͵":108926,"亲人":108927,"åı³æīĭ":108928,"éĽĨè£ħ":108929,"éĽĨè£ħç®±":108930,"çļĦåį°è±¡":108931,"æ©Łæľĥ":108932,"åĮĨåĮĨ":108933,"åħīç͵":108934,"大æĸ¹":108935,"è¿ĺæľª":108936,"åΩ好":108937,"ç»Ŀ大å¤ļæķ°":108938,"åľ¨è¿Ļç§į":108939,"ä¸Ģç»Ħ":108940,"æĸ°èĤ¡":108941,"转åıij":108942,"æ³ķåºŃ":108943,"æĹłæīĢ":108944,"éģĵè·¯ä¸Ĭ":108945,"çŁ¿å±±":108946,"èijī":108947,"æĶ¶åĽŀ":108948,"ç§°ä¹ĭ":108949,"ç§°ä¹ĭ为":108950,"æıŃéľ²":108951,"åı£å²¸":108952,"åIJ¼":108953,"å¿ĥæĥ³":108954,"çļĦ梦æĥ³":108955,"éĽ¯":108956,"ä¹ĭåĪĿ":108957,"å¥ĸ项":108958,"订éĺħ":108959,"èĵĿ天":108960,"åĿ¦åħĭ":108961,"ç«ĭæ¡Ī":108962,"èģĶæīĭ":108963,"ä½Ĩæĺ¯æĪij":108964,"帮æĪij":108965,"ä»ħ代表":108966,"说æĪij":108967,"çļĦè¶ĭåĬ¿":108968,"æ¯Ķè¾ĥ大":108969,"èµ°å»Ĭ":108970,"éĩįçĤ¹é¡¹çĽ®":108971,"èµĮåľº":108972,"åIJįçīĩ":108973,"æĦŁåı¹":108974,"åľ¨åľ°ä¸Ĭ":108975,"åıijçĥŃ":108976,"èĮĥçķ´":108977,"çļĦéģĵè·¯":108978,"éĩijèī²":108979,"ä»ĸåıĪ":108980,"ä¼ļ产çĶŁ":108981,"æ°ijåĽ½":108982,"å®ĺæĸ¹ç½ijç«Ļ":108983,"æĶ¶çĽĬçİĩ":108984,"çļĦåΰæĿ¥":108985,"çļĦåĬŀæ³ķ":108986,"æĶ¹åζ":108987,"ä¸ĩç§ij":108988,"ä¸įäºĪ":108989,"è¿ĻäºĽéĹ®é¢ĺ":108990,"çαä¸Ĭ":108991,"çIJĥåľº":108992,"责令":108993,"æİĪ课":108994,"åľ¨é¦Ļ港":108995,"ç»Ĩèħ»":108996,"å¤ļä¸ĩ":108997,"åIJĮå¹´":108998,"大使":108999,"æĸĭ":109000,"ä¹Łä¸º":109001,"æĥłå·ŀ":109002,"åIJī祥":109003,"çͰåĽŃ":109004,"åĽ½å®¶éĺŁ":109005,"éĩįçĶŁ":109006,"åľ¨åħ¶":109007,"é¦Ļåij³":109008,"è´Łèį·":109009,"亲åĪĩ":109010,"èĩªè±ª":109011,"没éĶĻ":109012,"åĽłä¸ºåľ¨":109013,"æĺŁæĺŁ":109014,"éĤij":109015,"è¿ĺæľīå¾Īå¤ļ":109016,"æij©æīĺ":109017,"æij©æīĺ车":109018,"æŃ¥è¡Į":109019,"管çIJĨä½ĵç³»":109020,"èĦļä¸ĭ":109021,"éģİåİ»":109022,"æ±īè¯Ń":109023,"对ä¸įèµ·":109024,"çļĦç»ıåİĨ":109025,"åıĬ缸åħ³":109026,"ä¸įå°ij人":109027,"éĩįç£ħ":109028,"åĬ³åĬ¨èĢħ":109029,"大åĬĽåıijå±ķ":109030,"æĢİä¹Īåģļ":109031,"çĭĹçĭĹ":109032,"举åįĹäºļ":109033,"åĭĩäºİ":109034,"åħ¬éĸĭ":109035,"çĵ·çłĸ":109036,"åıĤçħ§":109037,"广æĴŃç͵è§Ĩ":109038,"举åĬ¨":109039,"æ±Łè¥¿çľģ":109040,"æķĪèĥ½":109041,"å͝æľī":109042,"éĿ¢è²Į":109043,"èĩªåĬ¨é©¾é©¶":109044,"æ¦ľåįķ":109045,"å½ĵæĪij们":109046,"仲è£ģ":109047,"æľ¨æĿIJ":109048,"ç±³åħ°":109049,"çϽéĵ¶":109050,"çļĦ人éĥ½":109051,"å°±åĥıæĺ¯":109052,"æŃ¥åħ¥":109053,"åįłç͍":109054,"åĩ»è´¥":109055,"让大家":109056,"ä¼ļè®©ä½ł":109057,"åİ¿æĶ¿åºľ":109058,"è¦ģç͍":109059,"çŃīå½¢å¼ı":109060,"åįĩé«ĺ":109061,"责任æĦŁ":109062,"å¤ĩç͍":109063,"ä»ĸ认为":109064,"æ¸ħåįİ大åѦ":109065,"ä»ĸèĩªå·±":109066,"éĸ±è®Ģ":109067,"太平æ´ĭ":109068,"éĶģå®ļ":109069,"çŃĨ":109070,"è¿Ļçīĩ":109071,"æī§æĶ¿":109072,"è¿ĶåĽŀæIJľçĭIJ":109073,"å°±æŃ¤":109074,"éģĩåΰäºĨ":109075,"å¼Ģå¹ķå¼ı":109076,"管çIJĨéĥ¨éŨ":109077,"å§¿åĬ¿":109078,"设æĥ³":109079,"åĽĽåŃ£":109080,"æĬĢæľ¯äººåijĺ":109081,"å·®çĤ¹":109082,"è¾ŀèģĮ":109083,"èĢģ師":109084,"çļĦæĦŁåıĹ":109085,"ä¹ŁéĿŀ常":109086,"å¹´ä¸ĬåįĬå¹´":109087,"æĢªçī©":109088,"èĮĥæĸĩ":109089,"æĪĺå½¹":109090,"åIJ«ä¹ī":109091,"åħ¨è¿ĩç¨ĭ":109092,"èĢĮéĿŀ":109093,"éĢļ讯åijĺ":109094,"è¿Ļæł·æīįèĥ½":109095,"æľºç»Ħ":109096,"è£ı":109097,"çķ¶çĦ¶":109098,"èµĮåįļ":109099,"åIJĦæľī":109100,"å·¥ä½ľæľºåζ":109101,"äºĭåIJİ":109102,"åī§éĻ¢":109103,"å±ĬæĹ¶":109104,"åĺ´éĩĮ":109105,"主线":109106,"ä¸ĢåľĪ":109107,"主è¦ģåİŁåĽł":109108,"å°¸ä½ĵ":109109,"åĮ»çĸĹåĻ¨æ¢°":109110,"ä½łæĢİä¹Ī":109111,"ä½Ĩçͱäºİ":109112,"æĹ¶ç©º":109113,"çĶ·æľĭåıĭ":109114,"çĶľèľľ":109115,"é«ĺåľ°":109116,"æĻĸ":109117,"èĴIJéĽĨ":109118,"åĩĿèģļåĬĽ":109119,"å¤ĩåıĹ":109120,"æĸĩåĪĽ":109121,"马æĿ¥":109122,"马æĿ¥è¥¿äºļ":109123,"æŁ´æ²¹":109124,"使人":109125,"æķĻä¼ļ":109126,"ç§ĭ天":109127,"æĺİçıł":109128,"åħŃåįģ":109129,"çݯå¢ĥä¸Ń":109130,"æ¸ħæĻ¨":109131,"积æŀģåıĤä¸İ":109132,"å·ħå³°":109133,"ä¸ºæľŁ":109134,"çѾåŃĹ":109135,"æĦŁæ¿Ģ":109136,"ç§ĭåŃ£":109137,"æĿijåŃIJ":109138,"æ¢ħ西":109139,"æļ´éĽ¨":109140,"çĶŁæ´»åľ¨":109141,"çªĹæĪ·":109142,"æģ¶åĬ£":109143,"纯粹":109144,"åľ¨æİ¥åıĹ":109145,"没èĥ½":109146,"è¡Į人":109147,"åĭº":109148,"æĭ¨æīĵ":109149,"ä½ľåĩºäºĨ":109150,"çļĦ主é¢ĺ":109151,"æľªä¾Ĩ":109152,"ä¸ŃæľĢ":109153,"æ¾ľ":109154,"é«ĺè¡Ģåİĭ":109155,"åħ´èµ·":109156,"æŃ£èĥ½éĩı":109157,"åŁ¹è®ŃçıŃ":109158,"æİ¥åħ¥":109159,"çĦ¶åIJİåĨį":109160,"åѦçĶŁä»¬":109161,"é¢ĨåħĪçļĦ":109162,"çģ«çĥŃ":109163,"ä¸ĵèģĮ":109164,"æĪĸèĢħ说":109165,"建è¨Ń":109166,"é»ı":109167,"对åħ¬åı¸":109168,"çľīçļĦ":109169,"åħīèį£":109170,"å½ĵåľº":109171,"éĿ¢åŃIJ":109172,"èµĦ产管çIJĨ":109173,"æĹ¶æľŁçļĦ":109174,"çŀİ":109175,"åįİ举":109176,"åıĪä¸Ģ次":109177,"èĥİåĦ¿":109178,"å®ļçĤ¹":109179,"头çĹĽ":109180,"æ¶²ä½ĵ":109181,"æĺ¯ä¸Ģä½į":109182,"帽åŃIJ":109183,"å¹´èµ·":109184,"ä¸įä½İäºİ":109185,"è¾ĥå°ij":109186,"éĿ¢ä¸´çĿĢ":109187,"å±Ĥå±Ĥ":109188,"èĿ´èĿ¶":109189,"èī°èĭ¦":109190,"éĺ¿æł¹":109191,"éĺ¿æł¹å»·":109192,"æ¦Ĥæĭ¬":109193,"请éĹ®":109194,"èµ·åºĬ":109195,"å±Ģå±Ģéķ¿":109196,"稳åģ¥":109197,"å¦ĤæŀľæĪij们":109198,"éħĴç²¾":109199,"æĪ·åı£":109200,"æĦŁæĤŁ":109201,"æĪij们éľĢè¦ģ":109202,"æĬĢèīº":109203,"èĩªåªĴä½ĵ":109204,"è¿ĽåĮĸ":109205,"æ¿ĢçĥĪçļĦ":109206,"ä½ĵ温":109207,"èļķ":109208,"èĩ´è¾ŀ":109209,"宪æ³ķ":109210,"ä¸ĢçŃīå¥ĸ":109211,"çĵ¶é¢Ī":109212,"æĥłæ°ij":109213,"èµ°è·¯":109214,"çݰ任":109215,"åķĨéĩı":109216,"ä¸ĭ车":109217,"åĪł":109218,"責任":109219,"èŀįåIJĪåıijå±ķ":109220,"ç´łæĿIJ":109221,"油价":109222,"åģļ人":109223,"çŀª":109224,"æĶ¹éĿ©åĪĽæĸ°":109225,"çļĦåĮºåĪ«":109226,"è·¨å¢ĥç͵åķĨ":109227,"æ¶īåıĬåΰ":109228,"æīĺ管":109229,"æĪijè¿ĺæĺ¯":109230,"åĿIJæłĩ":109231,"ç½ij讯":109232,"å½ĵåľ°çļĦ":109233,"追溯":109234,"åľŁè̳":109235,"åľŁè̳åħ¶":109236,"åºķä¸ĭ":109237,"åĩłåįģå¹´":109238,"ç©¿è¿ĩ":109239,"çĶŁæĢģæĸĩæĺİ":109240,"æİ¨èĸ":109241,"æİ¨èĸ¦":109242,"éłĨ":109243,"åĴ³åĹ½":109244,"åĪĨæĪIJ":109245,"çĹķ迹":109246,"æĪ·ç±į":109247,"éĥ½ä¸įèĥ½":109248,"æĻļä¼ļ":109249,"åĢ©":109250,"ä½ĵåĬĽ":109251,"è¿Ļ个èģĮä¸ļ":109252,"æĹłå½¢":109253,"åıªæĥ³":109254,"è¿Ľåıĸ":109255,"æĿ̿ѻ":109256,"èĦĬ":109257,"äºijåįĹçľģ":109258,"æľªçŁ¥":109259,"ç¾İèģĶ":109260,"ç¾İèģĶåĤ¨":109261,"å¤ĸå½¢":109262,"诱æĥij":109263,"çĽ£":109264,"è¡Į使":109265,"åłĨ积":109266,"çĨŁç»ĥ":109267,"éĺIJè¿°":109268,"æľĢ大éĻIJ度":109269,"å·¡æŁ¥":109270,"夺åĨł":109271,"ä¼ģä¸ļæĸĩåĮĸ":109272,"çĭ®åŃIJ":109273,"ä¿Ŀå®Ī":109274,"ä¸ºæł¸å¿ĥçļĦ":109275,"æī©æķ£":109276,"åζéĢłåķĨ":109277,"æŁĶ软":109278,"为ä¸Ģä½ĵçļĦ":109279,"游çİ©":109280,"çĶŁçĹħ":109281,"幫åĬ©":109282,"åͱæŃĮ":109283,"æīįåı¯ä»¥":109284,"宽æĿ¾":109285,"è¦ģæ¯Ķ":109286,"æĺ¯æĢİæł·":109287,"çģ°èī²":109288,"çİĭåĽ½":109289,"æIJħæĭĮ":109290,"计éĩı":109291,"åij¨åĽ´çļĦ":109292,"æĻºèĥ½æīĭæľº":109293,"常åĬ¡":109294,"常åĬ¡åī¯":109295,"é©´":109296,"å°Ĩè¿ij":109297,"寻常":109298,"ä¸ŃåĽ½å¸Ĥåľº":109299,"容åύ":109300,"å±±ä¸Ĭ":109301,"èĥĮåIJİçļĦ":109302,"亲å¯Ĩ":109303,"æīĢ以说":109304,"éİ®":109305,"çļĦçIJĨçͱ":109306,"大åŁİå¸Ĥ":109307,"常年":109308,"æĹħ游ä¸ļ":109309,"å°±æĺ¯è¿Ļæł·":109310,"åĨįæĿ¥":109311,"é«ĺä½į":109312,"åĨħ饰":109313,"æŀĦéĢł":109314,"ä¸Ģèµ·æĿ¥":109315,"çͳè«ĭ":109316,"å·²ç»ıå¼Ģå§ĭ":109317,"çļĦåĬ¨ä½ľ":109318,"被迫":109319,"éģįå¸ĥ":109320,"åīĸæŀIJ":109321,"å°ıäºĭ":109322,"å¿ĥä¸ŃçļĦ":109323,"ä½ĵåζæĶ¹éĿ©":109324,"çļĩå®¶":109325,"æķĻåłĤ":109326,"åIJĥå®Į":109327,"åĽ½æ°ijåħļ":109328,"æĺİç¡®äºĨ":109329,"åıijå±ķè§ĦåĪĴ":109330,"第ä¸ĢæŃ¥":109331,"å¾Ĺèµ·":109332,"åľ¨åĵª":109333,"çļĦè·¯ä¸Ĭ":109334,"é»Ķ":109335,"çķ¶æĻĤ":109336,"大åĬĽæĶ¯æĮģ":109337,"åıĮéĩį":109338,"çŁ¥éģĵèĩªå·±":109339,"åIJĪä½ľåįıè®®":109340,"æ°ĶåĬ¿":109341,"éķ¿æķĪæľºåζ":109342,"ç½ķè§ģ":109343,"åĽŀæĿ¥äºĨ":109344,"ä»ĸä¼ļ":109345,"ä¸Ńæĸ°":109346,"ä¸Ńæĸ°ç½ij":109347,"çļĦåķĨåĵģ":109348,"èµłéĢģ":109349,"決å®ļ":109350,"å¸ĤåľºçĽij管":109351,"çķĻåѦçĶŁ":109352,"ç͵åİĭ":109353,"äºļ马":109354,"äºļ马éĢĬ":109355,"è¿ĺæĺ¯æ¯Ķè¾ĥ":109356,"ä¿ĥè¿ĽäºĨ":109357,"æµģåħ¥":109358,"æijĦåĥı":109359,"æijĦåĥı头":109360,"æıIJåıĬ":109361,"åıijæİĺ":109362,"æī¾åĩº":109363,"æ¢Ŀä»¶":109364,"ç¹¼çºĮ":109365,"æĪijåĸľæ¬¢":109366,"å¥İ":109367,"æ¦ľæł·":109368,"å¼ĢèĬ±":109369,"æ²īéĩį":109370,"åŁºåĩĨ":109371,"ä»ħä»ħæĺ¯":109372,"轨éģĵ交éĢļ":109373,"åĶIJå±±":109374,"çŃīä¸Ģç³»åĪĹ":109375,"ä¸įè¿ĩæĺ¯":109376,"åŃĺåľ¨çĿĢ":109377,"èĬ±çĶŁ":109378,"夷":109379,"ç»Īç©¶":109380,"ä¹Łæĺ¯ä¸Ģ个":109381,"åįģåŃĹ":109382,"èĸªéħ¬":109383,"伤å¿ĥ":109384,"æĺ¥ç§ĭ":109385,"åĨ·åį´":109386,"ç²¾çģµ":109387,"çļĦåľ°åĽ¾":109388,"æ¯Ķçī¹":109389,"æ¯Ķçī¹å¸ģ":109390,"æĢ§åĪ«":109391,"ä½Ļä¸ĩåħĥ":109392,"ä¸įå¿ĺåĪĿå¿ĥ":109393,"å¿ĥçĸ¼":109394,"æĽ²çº¿":109395,"é«ĺä½İ":109396,"è¦ıå®ļ":109397,"æĻ¯èī²":109398,"è¦ģ说":109399,"åħ¬åı¸å°Ĩ":109400,"æ¶²åİĭ":109401,"è¿Ŀ约":109402,"åİļ度":109403,"åºŀ大çļĦ":109404,"è¿ĺæĺ¯å¾Ī":109405,"é¦ĸåħĪæĺ¯":109406,"çµ²":109407,"åĬ¡å®ŀ":109408,"並ä¸Ķ":109409,"å¢ŀè¿Ľ":109410,"ç»Ħç»ĩå¼Ģå±ķ":109411,"èµ·æĿ¥äºĨ":109412,"è¾ĥå°ı":109413,"导游":109414,"ä¸¤åľ°":109415,"ç¿ĺ":109416,"çģ¿çĥĤ":109417,"é£İéĩĩ":109418,"æĶ¯çº¿":109419,"æĶ¯çº¿ä»»åĬ¡":109420,"娱ä¹IJåľĪ":109421,"天津å¸Ĥ":109422,"åĮħåĽ´":109423,"æľ¬èµĽåŃ£":109424,"éĩįè¦ģ讲è¯Ŀ":109425,"åıĮåIJij":109426,"åįİ丽":109427,"éͤ":109428,"åĦ¿å¥³":109429,"åįĸåĩº":109430,"ä¾Ĩ說":109431,"ä»ĭç»įä¸Ģä¸ĭ":109432,"åIJ¦è®¤":109433,"åĭĿ":109434,"æĻ®éĢļ人":109435,"çļĦåĬ¨åĬĽ":109436,"涨åģľ":109437,"åŁºéĩij管çIJĨ":109438,"ä¸Ģ个éĩįè¦ģ":109439,"è¿IJæ²³":109440,"çħŀ":109441,"è´¢æĶ¿éĥ¨":109442,"è¡Įä¸ļåįıä¼ļ":109443,"éĥ½å°Ĩ":109444,"è¨Ģ论":109445,"ä¸ĭä¾Ĩ":109446,"墨西":109447,"墨西åĵ¥":109448,"åĽłä¸ºä»ĸ们":109449,"æĢİä¹ĪåĽŀäºĭ":109450,"åĬłå¤§å¯¹":109451,"èĬŃ":109452,"çīĮåŃIJ":109453,"ä¼ļ使":109454,"妹åŃIJ":109455,"ç«Ļéķ¿":109456,"å¿ħå¤ĩ":109457,"æłijæľ¨":109458,"æģ¶æĦı":109459,"æ²³éģĵ":109460,"å¯Įè£ķ":109461,"ç¹ģåįİ":109462,"ä»£è¡¨åĽ¢":109463,"æµij身":109464,"é¦ĸä½į":109465,"èĪªç©ºåħ¬åı¸":109466,"éĽ»å½±":109467,"ä¸ĵè¾ij":109468,"æ°´æºIJ":109469,"ä¸Ńæ¯Ĵ":109470,"並ä¸į":109471,"èĢĮåİ»":109472,"éĥĿ":109473,"äºİæŃ¤":109474,"æĸĩåĮĸ建设":109475,"èĤ¯å®ļä¼ļ":109476,"å¸ĮæľĽå¤§å®¶":109477,"æııåĨĻ":109478,"ä½İè°ĥ":109479,"æĸ°åħ´äº§ä¸ļ":109480,"æ·Ħåįļ":109481,"æĶ¾å¼Ģ":109482,"çļĦæĢ§æł¼":109483,"çĸ¾çĹħçļĦ":109484,"æķ´é¡¿":109485,"线ä¸Ĭ线ä¸ĭ":109486,"éĢī项":109487,"çļĦ认åı¯":109488,"æķ´é½IJ":109489,"çĶļä¹Ī":109490,"çľģåĨħ":109491,"åı¤äºº":109492,"æ°ijä¿Ĺ":109493,"çī¡ä¸¹":109494,"éŨçªĹ":109495,"éĤ£æł·çļĦ":109496,"çĽijäºĭä¼ļ":109497,"ç¿¡ç¿ł":109498,"禹":109499,"åįĥä¸ĩä¸įè¦ģ":109500,"æĶ¶ç¼©":109501,"çļĦæĸĩåŃĹ":109502,"åĴĮå°ļ":109503,"æĮĩ令":109504,"åħ±äº§åħļåijĺ":109505,"çļĦçĪ¶äº²":109506,"å®Įå·¥":109507,"åĬ¡å·¥":109508,"马æĭī":109509,"马æĭīæĿ¾":109510,"æµĭè¯Ħ":109511,"å²ļ":109512,"ä¸įåģļ":109513,"ä¸ĥå¹´":109514,"åĿĩä»·":109515,"主è§Ĥ":109516,"å¾Īä¸įéĶĻ":109517,"èĤ¡ä¸ľå¤§ä¼ļ":109518,"äºĶä¸Ģ":109519,"é£İåIJ¹":109520,"å¼Ģéĩĩ":109521,"è¿Ļä¹Ī大":109522,"èĥ½çľĭåΰ":109523,"èĢĥè¯Ħ":109524,"åį³ä¾¿æĺ¯":109525,"çݰ代åĨľä¸ļ":109526,"æ¯Ķè¾ĥé«ĺ":109527,"è¦ģçľĭ":109528,"没äºĨ":109529,"解決":109530,"çݯæ¯Ķ":109531,"åĨ²åĬ¨":109532,"æ·±å¤ľ":109533,"åĩłåįĥ":109534,"ä¿ı":109535,"ç½ijæ°ij":109536,"就没":109537,"ä»ĸ表示":109538,"éĩıåŃIJ":109539,"æĹ©é¤IJåĬłçĽŁ":109540,"åįĬå²Ľ":109541,"æIJŀç¬ij":109542,"ä¸ĬæĬ¥":109543,"審":109544,"é¢Ħ订":109545,"èľĤèľľ":109546,"æŁ¥æī¾":109547,"ä¼ĹæīĢ":109548,"ä¼ĹæīĢåij¨":109549,"ä¼ĹæīĢåij¨çŁ¥":109550,"æĹ©æĹ¥":109551,"åıijæī¬":109552,"åĴĮ个人":109553,"åĬłåħ¥äºĨ":109554,"åĸ®ä½į":109555,"åĪĨæĺİ":109556,"第ä¸Ģæī¹":109557,"ç¾İåĨĽ":109558,"æĿĢæīĭ":109559,"éŨå¤ĸ":109560,"åķĨåľĪ":109561,"ä¸ĢåĪ»":109562,"çļĦçľ¼ç¥ŀ":109563,"éľĦ":109564,"äºĽä»Ģä¹Ī":109565,"åĬłæ·±":109566,"æ¯ıä½į":109567,"å¸ĤéĿ¢ä¸Ĭ":109568,"åıĶåıĶ":109569,"çļĦéĤ£ç§į":109570,"粤港澳":109571,"è´´å¿ĥ":109572,"æĸĩåĮĸ产ä¸ļ":109573,"红æĹĹ":109574,"åĺīåħ´":109575,"æĶ¶çĽĺ":109576,"å®ĮæĪIJåIJİ":109577,"ä¼ģä¸ļ管çIJĨ":109578,"纵横":109579,"ä¸įä¿¡":109580,"æĪIJéĥ½å¸Ĥ":109581,"æ´Ĺ澡":109582,"举è¡ĮçļĦ":109583,"çĶ¢çĶŁ":109584,"ç©¿ä¸Ĭ":109585,"åĪļ好":109586,"åħī线":109587,"æīĵæŀ¶":109588,"è¿Ļæľ¬ä¹¦":109589,"åĶ®åIJİæľįåĬ¡":109590,"åĩłåĪĨ":109591,"ä¸Ĭ次":109592,"ä¸įåĪĨ":109593,"产åIJİ":109594,"éģ¿å¼Ģ":109595,"ç»Īæŀģ":109596,"代表大ä¼ļ":109597,"æ¼ĶæĬĢ":109598,"åĽŀè´Ń":109599,"åŃ¦è´¹":109600,"éĺ»ç¢į":109601,"ä¸Ģ大æī¹":109602,"竣工":109603,"åĨ³å®ļäºĨ":109604,"ä½Ĩå¦Ĥæŀľ":109605,"ç͵æµģ":109606,"ä¸Ŀ毫":109607,"èĥ½å¤Łåľ¨":109608,"éĶĢåĶ®æĶ¶åħ¥":109609,"åľ¨åŃ¦æł¡":109610,"æ°´åĩĨ":109611,"è§Ĩ线":109612,"èĩªåľ¨":109613,"åķĨä¸ļéĵ¶è¡Į":109614,"为äºĨ让":109615,"çį²å¾Ĺ":109616,"çݩ家æľĭåıĭ":109617,"éĿ¢èĨľ":109618,"åĪĨåī²":109619,"åī§æľ¬":109620,"ç«Ń":109621,"说å¾Ĺ":109622,"æĥ³çŁ¥éģĵ":109623,"çļĦ人çī©":109624,"èĮħåı°":109625,"åIJĮä¸Ģ个":109626,"æķ°æį®ä¸Ńå¿ĥ":109627,"çĶĦ":109628,"åĸľæĤ¦":109629,"ä¸ĭæĿ¥çļĦ":109630,"å®ļåIJij":109631,"æŀģåħ·":109632,"çļĦåľŁåľ°":109633,"éĤ£åĢĭ":109634,"æijĦåħ¥":109635,"äºĨæĪijçļĦ":109636,"马路":109637,"åħ¨ç¤¾ä¼ļ":109638,"è®®æ¡Ī":109639,"å±ĭåŃIJ":109640,"åIJįåı«":109641,"åĮª":109642,"åľ¨å¤ĸéĿ¢":109643,"åįİåįĹ":109644,"åıijè´§":109645,"å¯ĴåĨ·":109646,"é«ĺçŃīæķĻèĤ²":109647,"详ç»ĨçļĦ":109648,"ä¸ªé¡¹çĽ®":109649,"çĶŁäº§åĬĽ":109650,"æĹ¶å¸¸":109651,"å°±æľĥ":109652,"ä¸ĩèĤ¡":109653,"éĻĮçĶŁäºº":109654,"æııç»ĺ":109655,"å½ĵçĦ¶æĺ¯":109656,"æĭīåĬ¨":109657,"éĵ¾æĿ¡":109658,"æī£éϤ":109659,"ä¸Ģ缴éĥ½":109660,"å°ıåŃ©åŃIJ":109661,"伤åı£":109662,"第äºĮå±Ĭ":109663,"è´Ńç½®":109664,"çļĩ马":109665,"æĹłèģĬ":109666,"表åĨ³":109667,"诸å¦Ĥ":109668,"åĵįèµ·":109669,"é£İæļ´":109670,"ä¸ĢæµģçļĦ":109671,"ç·¨":109672,"è§£æĶ¾åĨĽ":109673,"室å¤ĸ":109674,"å°±è¿Ļä¹Ī":109675,"å³¶":109676,"æīĢæľī人éĥ½":109677,"æIJľç´¢å¼ķæĵİ":109678,"çļĦæĪIJæľ¬":109679,"åħļæĶ¿":109680,"åıijè¡Į人":109681,"çļĦäºĭå®ŀ":109682,"对该":109683,"åıĹæįŁ":109684,"ä¿Ħä¹Į":109685,"é²ľèĬ±":109686,"åĨľèį¯":109687,"æŀģéĢŁ":109688,"æĢ¥æĢ§":109689,"两ä¼ļ":109690,"ä¸ĢèάæĿ¥è¯´":109691,"æµ·é²ľ":109692,"åĨĪ":109693,"çĶ¨äºº":109694,"çĶ¨äººåįķä½į":109695,"åĢª":109696,"åĦªæĥł":109697,"æł¹æºIJ":109698,"åĽ¢è´Ń":109699,"ç¾İæ´²":109700,"ä¸ĭè¡Į":109701,"å¹´æľ«":109702,"èľ¡":109703,"è¯ģä»¶":109704,"åľ¨æĪijåĽ½":109705,"ä¸įåºĶ":109706,"æĮīæĹ¶":109707,"åłªç§°":109708,"åľºä¸Ĭ":109709,"å¹²éĥ¨èģĮå·¥":109710,"æľīå¾Ī大çļĦ":109711,"æķ°åŃĹç»ıæµİ":109712,"æ¼Ķç»ĥ":109713,"æį®ç»Łè®¡":109714,"å¾ĢæĿ¥":109715,"广åijĬæľįåĬ¡":109716,"çļĦè·Ŀ离":109717,"æŃ¸":109718,"è¨Ģè¯Ń":109719,"被èªī":109720,"被èªī为":109721,"åĭī强":109722,"å°Ĭæķ¬":109723,"ä¸ĩ亿åħĥ":109724,"ä¸ŃåĽ½åĽ½éĻħ":109725,"å¹²é¢Ħ":109726,"年产":109727,"èĢķåľ°":109728,"èĮİ":109729,"å᳿ĺ¯":109730,"æĺ¨æĻļ":109731,"æĪIJ为ä¸Ģ个":109732,"çºłæŃ£":109733,"åij½åIJį":109734,"é¢ģå¸ĥ":109735,"çĮľæµĭ":109736,"ä¿ĿèŃ·æĶ¿çŃĸ":109737,"æĭ¢":109738,"活泼":109739,"çŃīéĥ¨éŨ":109740,"åѦåΰ":109741,"å¢ŀå̼ç¨İ":109742,"èĪªçº¿":109743,"åĨ¤":109744,"åįģåĩłå¹´":109745,"æİ§èĤ¡èĤ¡ä¸ľ":109746,"ä¸ĢéŨ":109747,"ä¸ªå·¥ä½ľ":109748,"ä¸ªå·¥ä½ľæĹ¥":109749,"æĸ°è¥¿":109750,"æĸ°è¥¿åħ°":109751,"论è¯ģ":109752,"ä»Ĩ":109753,"åı¦å¤ĸä¸Ģ个":109754,"æĶ¹ç¼ĸ":109755,"严ç¦ģ":109756,"åĸľå¥½":109757,"个人信æģ¯":109758,"满æĦı度":109759,"åĵ¨":109760,"å¸ĪèµĦ":109761,"æĶ¹ä¸º":109762,"ç«ŀäºī对æīĭ":109763,"åĩºçĤī":109764,"åķĨ人":109765,"大æ£ļ":109766,"æĮĩ导ä¸ĭ":109767,"å¦ĩç§ij":109768,"輪":109769,"æīģ":109770,"åIJĮæĹ¶è¿ĺ":109771,"å¹¶éĢļè¿ĩ":109772,"æĪĺéĺŁ":109773,"èĶĵå»¶":109774,"ä¿ŀ":109775,"éĢĤå½ĵçļĦ":109776,"åīįè¾Ī":109777,"åĵģåij³":109778,"æ¹¿åľ°":109779,"æĪIJåŀĭ":109780,"ä¸įåıªæĺ¯":109781,"æĥ©ç½ļ":109782,"åĩºåı°äºĨ":109783,"çݩ游æĪı":109784,"æīįåıijçݰ":109785,"åºĶèģĺ":109786,"å¤ĸæĿ¥":109787,"åįłé¢Ĩ":109788,"å±ķæľĽ":109789,"å«Ĥ":109790,"港èĤ¡":109791,"æ¡Įä¸Ĭ":109792,"æĶ¯æŁ±":109793,"çļĦæĥħå½¢":109794,"广éĺĶçļĦ":109795,"æĶ¯è¡Į":109796,"å´©æºĥ":109797,"æľĪä¸Ń":109798,"æľĪä¸ŃæĹ¬":109799,"ç»įåħ´":109800,"临è¿ij":109801,"æĬ¤æłı":109802,"æļ®":109803,"åįķèģĮä¸ļ":109804,"è¾¹å¢ĥ":109805,"æĹ¥çħ§":109806,"ä¸ĢåłĨ":109807,"缴å¾Ħ":109808,"åħ±åIJĮä½ĵ":109809,"æĸ°åįİç½ij":109810,"æīĵ好":109811,"ç͵åĬ¨æ±½è½¦":109812,"ä¸įæĺİçϽ":109813,"éĢĻ裡":109814,"çĽĽå¤§":109815,"çİĭæľĿ":109816,"åĨįä¸Ģ次":109817,"åĬŀåħ¬åİħ":109818,"è´¨æĬ¼":109819,"åIJĪåĩ»":109820,"人们对":109821,"éĽ¶é£Ł":109822,"éĥ½ä¸įçŁ¥éģĵ":109823,"çļĦè¯Ńè¨Ģ":109824,"åĭŁéĽĨèµĦéĩij":109825,"åĬ¨èĦī":109826,"彤":109827,"è¿Ļåĩłå¹´":109828,"çŁŃè§Ĩé¢ij":109829,"太é«ĺ":109830,"常å§Ķä¼ļ":109831,"åĬłçıŃ":109832,"éĩįå¿ĥ":109833,"åªĴä½ĵæĬ¥éģĵ":109834,"没æ³ķ":109835,"éĹ»åIJį":109836,"çĥŃ度":109837,"å¹¿æ³ĽçļĦ":109838,"åħŃ大":109839,"çī©ä½ĵ":109840,"ä¸į该":109841,"é¢ĺ主":109842,"精彩çļĦ":109843,"ä¸ºè¿Ľä¸ĢæŃ¥":109844,"èĻŀ":109845,"åĽºçĦ¶":109846,"è´µå·ŀçľģ":109847,"çºłç»ĵ":109848,"代çIJĨ人":109849,"æ³ķå®ļ代表":109850,"åı¦ä¸Ģç§į":109851,"ä¸įåIJ«":109852,"æĭ¯æķij":109853,"ä¼ļç»Ļ":109854,"è¯Ĺè¯į":109855,"åIJĮç±»":109856,"å¾Ĺä¸įåΰ":109857,"æĬĵç´§":109858,"以åħ¶":109859,"åħ¥åħļ":109860,"è¿ĺåı¯":109861,"æľŁåĪĬ":109862,"å¾Īå¤ļæĹ¶åĢĻ":109863,"æĹ¥åIJİ":109864,"åħ¬çº¦":109865,"ä¸Ģ举":109866,"æ¯Ķè¾ĥå¤ļ":109867,"éĩijæ²Ļ":109868,"æįŀ":109869,"æİĴåĩº":109870,"æŃ¦æľ¯":109871,"ä¸įæĸ·":109872,"ä¸ŃèĢĥ":109873,"ä¿¡èµĸ":109874,"ä»İä¸ļ人åijĺ":109875,"çģ«çĦ°":109876,"éĨĴæĿ¥":109877,"ä½İ温":109878,"éĢ¾æľŁ":109879,"åĬ±å¿Ĺ":109880,"éħ¥":109881,"åı¯è°ĵæĺ¯":109882,"è¿ĻæĦıåij³çĿĢ":109883,"é¢łè¦Ĩ":109884,"åĮĹ京大åѦ":109885,"ä¸ĵ线":109886,"åıĬ以ä¸Ĭ":109887,"訪":109888,"èĢĮåIJİ":109889,"çŁ¥ä¹İ":109890,"ä¸Ģ对ä¸Ģ":109891,"å¨ĥå¨ĥ":109892,"çģ¾éļ¾":109893,"åħ¨å±Ģ":109894,"æīĢå¾Ĺç¨İ":109895,"å®ŀæĥł":109896,"èļĤèļģ":109897,"ä¹ŁçŁ¥éģĵ":109898,"温åĴĮ":109899,"èIJ½ä¸ĭ":109900,"åŀĭä¼ģä¸ļ":109901,"åĨįä¹Ł":109902,"ä¾ĽçĥŃ":109903,"é«ĺæ½®":109904,"çĢı覽åύ":109905,"çļĦ巨大":109906,"åħĪ天":109907,"å¹´ä¸ŃåĽ½":109908,"类似çļĦ":109909,"çIJĨäºĭä¼ļ":109910,"空éĸĵ":109911,"ç쵿ĦŁ":109912,"åĬĽæ°Ķ":109913,"带ä¸Ĭ":109914,"ä¸į好æĦıæĢĿ":109915,"æľīä½ķ":109916,"å·²åľ¨":109917,"åıĸåĩº":109918,"è¿Ŀæ³ķçĬ¯ç½ª":109919,"åŃ¦ä¹łè´¯å½»":109920,"åľ°å¸¦":109921,"楼梯":109922,"çŃīæĥħåĨµ":109923,"ä»İåīį":109924,"çļĦä¹łæĥ¯":109925,"ç³Łç³ķ":109926,"å°±èĥ½å¤Ł":109927,"è©ķ":109928,"ä¸Ģå¾ĭ":109929,"æĮ«æĬĺ":109930,"åİŁæĸĩåľ°åĿĢ":109931,"å½ĵå±Ģ":109932,"ä¸įéĢļ":109933,"æķ°åįĥ":109934,"éĺŁä¼į建设":109935,"æĹ¶èĬĤ":109936,"åģļèµ·":109937,"çļĦè®°å¿Ĩ":109938,"ç½ij绾å®īåħ¨":109939,"åĩ¡æĺ¯":109940,"æ°¯":109941,"éĽķåĪ»":109942,"åŁĥåıĬ":109943,"æĪijåı¯ä»¥":109944,"çĽijçIJĨ":109945,"æĽ´åħ·":109946,"åŁİ管":109947,"èĭ¯":109948,"åı¥åŃIJ":109949,"èĭ¥æľī":109950,"ä»İæĿ¥ä¸į":109951,"缸åħ³è´Łè´£":109952,"å®īåħ¨æĦŁ":109953,"æĽ´è¦ģ":109954,"çļĦæĥħæĦŁ":109955,"çī¢çī¢":109956,"è¾ĥ好çļĦ":109957,"æ°®":109958,"ç¬ijè¯Ŀ":109959,"车å±ķ":109960,"ä¹ĭç¾İ":109961,"ç®Ģ约":109962,"ç±»åŀĭçļĦ":109963,"èĢģåĮĸ":109964,"çľĭä½ł":109965,"è¿ĩåĪĨ":109966,"éŨåīį":109967,"ä¸ĢéĹ´":109968,"æĥ³åİ»":109969,"åªĽ":109970,"åľŁè±Ĩ":109971,"åıĪç§°":109972,"ä¸Ńä¿¡":109973,"åŃĺéĩı":109974,"马äºij":109975,"èĩ´ä½¿":109976,"åħĪåīį":109977,"èĢģåŃIJ":109978,"æīĵæī®":109979,"æ¯ķä¸ļäºİ":109980,"æ¯ķä¸ļåIJİ":109981,"ç¾İ好çĶŁæ´»":109982,"å·¥ä¸ļä¼ģä¸ļ":109983,"就好äºĨ":109984,"èħIJèļĢ":109985,"çıįçıł":109986,"åΰè¿ĻéĩĮ":109987,"æīĢéľĢçļĦ":109988,"è¿Ļæĺ¯åĽłä¸º":109989,"çIJĨæĥ³çļĦ":109990,"å·®å¼ĤåĮĸ":109991,"é®":109992,"é®®":109993,"äºļ太":109994,"æĹłç©·":109995,"æıIJçݰ":109996,"ä¸ĵä¸ļæĬĢæľ¯":109997,"çĶ¢æ¥Ń":109998,"åѦåŃIJ":109999,"ç§ijå¹»":110000,"åįłåľ°éĿ¢ç§¯":110001,"ä¸įåĩĨ":110002,"æľªæĪIJ年人":110003,"æĶ¶å½ķ":110004,"è¿ĺ款":110005,"éĴ¢çŃĭ":110006,"æ¼¢":110007,"å¾ĹæĦı":110008,"综åIJĪä½ĵ":110009,"æŀģé«ĺ":110010,"åįķè¯į":110011,"é«ĺæķĪçļĦ":110012,"骨头":110013,"æī§çĿĢ":110014,"缼ä¸ĸ":110015,"模çī¹":110016,"æĽ´èĥ½":110017,"ç»ĿæľĽ":110018,"对åºĶçļĦ":110019,"æ¨Ĭ":110020,"æĸ°ä¸ī":110021,"æĸ°ä¸īæĿ¿":110022,"æģ°æģ°":110023,"åIJįå®¶":110024,"æł¸å¿ĥæĬĢæľ¯":110025,"个å°ı":110026,"æĢİä¹Īä¼ļ":110027,"说ä¸įå®ļ":110028,"西çĵľ":110029,"åĵİ":110030,"ç¢Ł":110031,"å¿ħä¸įåı¯":110032,"å¿ħä¸įåı¯å°ij":110033,"ä¹ĭéĸĵ":110034,"åĪĨ管":110035,"交éĢļäºĭæķħ":110036,"å¼ĢåĬŀ":110037,"å¾ģæ±ĤæĦıè§ģ":110038,"亨":110039,"鼻åŃIJéĥµ":110040,"鼻åŃIJéĥµä»¶":110041,"ä¿¡æģ¯æľįåĬ¡":110042,"ä½łè§īå¾Ĺ":110043,"缴è§Ĥ":110044,"å·²å®ĮæĪIJ":110045,"åĪĨä¼ļ":110046,"åĽŀåįĩ":110047,"éļ»":110048,"好人":110049,"äºĨè§£ä¸Ģä¸ĭ":110050,"å᫿µ´":110051,"æľĢçα":110052,"åºŀ大":110053,"客æĪ¿":110054,"çijŀåħ¸":110055,"éĥ½ä¸įæĺ¯":110056,"館":110057,"èĹī":110058,"çļĦåIJĦ项":110059,"ä¸ºçĽ®æłĩ":110060,"çļĦè®¤çŁ¥":110061,"å½±åĵįåĬĽçļĦ":110062,"å¤¸å¼ł":110063,"佩æĪ´":110064,"æ±ĩçİĩ":110065,"çļĦçαæĥħ":110066,"æĺ¥é£İ":110067,"æĺ¯æĪijçļĦ":110068,"樹":110069,"åįĬå°ıæĹ¶":110070,"å±±åİ¿":110071,"山西çľģ":110072,"èĢĮè¿Ļ":110073,"æĽ´å¤ļä¿¡æģ¯":110074,"è¿ĺæľīä¸ĢäºĽ":110075,"ç²¾ç»ĨåĮĸ":110076,"ç¾İåѦ":110077,"çͱæĸ¼":110078,"ä»ħä¾ĽåıĤèĢĥ":110079,"å¾Īé«ĺçļĦ":110080,"åıłåĬł":110081,"è¿Ļä¹Ī说":110082,"å±ķåĩº":110083,"åĽĽå¤Ħ":110084,"ä¸ĩå®¶":110085,"æĭĽåĭŁ":110086,"çļĦ强大":110087,"æĤ£æľī":110088,"å°ıäºİ":110089,"ä¹Łè®¸æĺ¯":110090,"对èĩªå·±çļĦ":110091,"èģĮä¸ļæķĻèĤ²":110092,"æĿ¥è¿Ľè¡Į":110093,"档次":110094,"æīĵèµ¢":110095,"éĥ½æľīçĿĢ":110096,"庸":110097,"è¯Ńæ°Ķ":110098,"çͲéĨĽ":110099,"空åĨĽ":110100,"车åĨħ":110101,"åĽłä¸ºä½ł":110102,"å®ŀæķĪ":110103,"æĥħä¾£":110104,"åıijè¾¾åĽ½å®¶":110105,"éķľåŃIJ":110106,"æ¯įå©´":110107,"ä½Ĩæĺ¯ä»ĸ":110108,"积æŀģæİ¨è¿Ľ":110109,"大å¹ħ度":110110,"çļĦ女åĦ¿":110111,"é¤IJæ¡Į":110112,"åIJ¬å¾Ĺ":110113,"çļĦ积æŀģæĢ§":110114,"好åIJ§":110115,"æĹ¥æ¶Īæģ¯":110116,"æľīä»»ä½ķ":110117,"æ¯Ĵåĵģ":110118,"æĹ©çĤ¹åĬłçĽŁ":110119,"第ä¸Ģ天":110120,"å°½åĬĽ":110121,"æłĸ":110122,"主æīĵ":110123,"æĺ¯ä¸ĢåIJį":110124,"çĪĨæĸĻ":110125,"äºĭä¸ļåıijå±ķ":110126,"å¾®åķĨ":110127,"äºİä¸Ģä½ĵçļĦ":110128,"çĶŁçĮª":110129,"èĩªçĦ¶èµĦæºIJ":110130,"çŀĦåĩĨ":110131,"è§Ħ模åĮĸ":110132,"å¹¶ä¸İ":110133,"èĤ¥èĥĸ":110134,"å®¶ç͍":110135,"大çĪ·":110136,"é¢ĦåijĬ":110137,"æĿ¥åģļ":110138,"éĺ³åİ¿":110139,"æŀĦçŃij":110140,"é¢ģå¥ĸ":110141,"åİĨåı²æĸĩåĮĸ":110142,"æľįåĭĻæĪĸ":110143,"æĢ»åĨ³èµĽ":110144,"åıijåŀĭ":110145,"æĪij羣çļĦ":110146,"æĽ¦":110147,"åıĤä¼ļ":110148,"èĦĨå¼±":110149,"åĩĨåħ¥":110150,"èħ¹éĥ¨":110151,"åı¸ä»¤":110152,"æĤ²åī§":110153,"天ä¸Ĭ":110154,"åı£ä¸Ń":110155,"ä¸ĩ个":110156,"åѦä¸ļ":110157,"æıIJåĢ¡":110158,"两边":110159,"大èĤ¡ä¸ľ":110160,"åı¤éķĩ":110161,"è¡Ģç³ĸ":110162,"çļĦç¨ĭ度":110163,"æ£īèĬ±":110164,"åIJİåı°":110165,"å°±åĮ»":110166,"æķ´æķ´":110167,"èĴ²":110168,"çĽĪåĪ©èĥ½åĬĽ":110169,"ç±½":110170,"èĦ«":110171,"çľĭéĩį":110172,"å®¶éķ·":110173,"èģĺç͍":110174,"èµĽéģĵ":110175,"åīįèĢħ":110176,"建èѰ":110177,"å¾ĭå¸ĪäºĭåĬ¡":110178,"èīºæľ¯åĵģ":110179,"æľīèĩªå·±çļĦ":110180,"åIJ¦å®ļ":110181,"ç¤¾åĽ¢":110182,"åij¨äºĶ":110183,"带åΰ":110184,"å·¥ä½ľä¼ļè®®":110185,"èĤ¡æľ¬":110186,"å¤ĸåĮħ":110187,"å®¶åħ¬åı¸":110188,"çĽijçĭ±":110189,"èĪĬ":110190,"åIJįæł¡":110191,"西æ¹ĸ":110192,"è¶ħè¿ĩäºĨ":110193,"åįĹå±±":110194,"ç»Ħä»¶":110195,"å̼å¾Ĺ注æĦı":110196,"æĮ£æīİ":110197,"äºĭ迹":110198,"ç¶ĵçĩŁ":110199,"ç§ij室":110200,"好åIJĹ":110201,"æ¤ħåŃIJ":110202,"åľĪåŃIJ":110203,"ä½Ĩ她":110204,"æµģçķħ":110205,"åIJĦèĩªçļĦ":110206,"èģĮåijĺ":110207,"è¡įçĶŁ":110208,"åħ¨åľº":110209,"æĴ¤éĶĢ":110210,"åį´è¢«":110211,"å®ģéĿĻ":110212,"åīįæīĢ":110213,"åīįæīĢæľª":110214,"åīįæīĢæľªæľī":110215,"主ä¸ļ":110216,"åĮĹç¾İ":110217,"è¯Ħå®ļ":110218,"åĵģå°Ŀ":110219,"大家éĥ½åľ¨":110220,"主å¸ħ":110221,"ç»Ĩå¿ĥ":110222,"ä¿¡æģ¯æĬ«éľ²":110223,"çļĦç«ŀäºī":110224,"éĢĻæ¨£çļĦ":110225,"ç§ijåĪĽæĿ¿":110226,"éĩĩæijĺ":110227,"票æį®":110228,"éĢIJå¹´":110229,"èĭ±è¶ħ":110230,"è¡Įä¸ļåĨħ":110231,"人寿":110232,"åIJİåĭ¤":110233,"å¦ĤæĦı":110234,"ç¬Ķè¯ķ":110235,"æ·¡æ·¡çļĦ":110236,"ä¸įèĪĴæľį":110237,"ä½ĵ积":110238,"ä¹Łä¸įè¦ģ":110239,"éĿ¢æĸĻ":110240,"æł·æľ¬":110241,"ç¥ģ":110242,"æĮīè§Ħå®ļ":110243,"大æ¦Ĥæĺ¯":110244,"æĥħåĨµè¿Ľè¡Į":110245,"åIJĦåįķä½į":110246,"çļĦç¬ij容":110247,"åĩºèī²çļĦ":110248,"代表æĢ§":110249,"çļĦç¾İ好":110250,"éĴ¦":110251,"å¾®çĶŁçī©":110252,"è¶Ĭæĺ¯":110253,"æĸ¹åı¯":110254,"å¹²èĦĨ":110255,"éģĬæĪ²":110256,"çļĦåħ´è¶£":110257,"éĹ®è´£":110258,"åĽłä¸ºæĪij们":110259,"èĢĥéĩı":110260,"çĶŁçĶŁ":110261,"éĺ»åĬĽ":110262,"ä¸įåħģ许":110263,"æıIJè®®":110264,"åĩıæĮģ":110265,"åıªæĺ¯ä¸Ģ个":110266,"æĪijæĬĬ":110267,"åıijçݰèĩªå·±":110268,"å¢ŀå¹ħ":110269,"å¦į":110270,"èĹĿè¡ĵ":110271,"ä¸Ģ家人":110272,"åĪĨ级":110273,"çļĦæķ°éĩı":110274,"è½®èŀįèµĦ":110275,"çŃīåĽłç´ł":110276,"大夫":110277,"èģĺ请":110278,"é£İæľº":110279,"绽æĶ¾":110280,"ä»»ä½ķä¸Ģ个":110281,"éłĤ":110282,"éĺ¶çº§":110283,"æĬĬ她":110284,"è¿ĽåĨĽ":110285,"èĥ½åģļåΰ":110286,"åŁ¹è®ŃæľºæŀĦ":110287,"çĸĻ":110288,"ç«¥è¯Ŀ":110289,"æĮĩ导æĦıè§ģ":110290,"éĺ®":110291,"æ·±åħ¥æİ¨è¿Ľ":110292,"ä¸»æľº":110293,"æ¸Ķä¸ļ":110294,"ä¸įæľį":110295,"æµĵéĥģ":110296,"è¡Ĺä¸Ĭ":110297,"ä¾Ŀ次":110298,"æĹ¶æ®µ":110299,"梵":110300,"çļĦåĸľçα":110301,"å¾Īéķ¿":110302,"åĪĿ级":110303,"æŀľæĸŃ":110304,"æĬ¢æķij":110305,"é¼ĵèĪŀ":110306,"ä¾ĽéľĢ":110307,"æ·±åħ¥å¼Ģå±ķ":110308,"产ä¸ļéĽĨ群":110309,"åĻªéŁ³":110310,"åIJ¬çĿĢ":110311,"æ·±åĪ»çļĦ":110312,"å¿įåıĹ":110313,"ç͵ç£ģ":110314,"强èĢħ":110315,"æ»ĭåij³":110316,"æĽ¼èģĶ":110317,"åı¯ä»¥çĽ´æİ¥":110318,"大米":110319,"æŃ·åı²":110320,"æĶ¿åĬ¡æľįåĬ¡":110321,"åħ¬å¼ı":110322,"社群":110323,"éģĵ士èģĮä¸ļ":110324,"ä¹ĭæĥħ":110325,"æµ·æ°´":110326,"æ¼Ķå¥ı":110327,"åºĹéĩĮ":110328,"迹象":110329,"åıijå±ķçIJĨ念":110330,"é«ĺ空":110331,"åij¨åĪĬ":110332,"åĽŀåΰäºĨ":110333,"ä¸įéĢĤåIJĪ":110334,"åłµå¡ŀ":110335,"åĬĪ":110336,"æ°´ä¸Ĭ":110337,"çĢijå¸ĥ":110338,"纳ç¨İ人":110339,"çĩĥæ²¹":110340,"å·¥ç¨ĭé¡¹çĽ®":110341,"峡谷":110342,"æľīéĴĪ对æĢ§":110343,"åľĨå½¢":110344,"æľ¬å¸Ĥ":110345,"è¿Ļè¯Ŀ":110346,"管çIJĨèĢħ":110347,"ç¡®è¯ĬçĹħä¾ĭ":110348,"æĬĬæīĭ":110349,"彩èī²":110350,"ä¸Ĭåīį":110351,"夯å®ŀ":110352,"ç¾ĬèĤī":110353,"å¾Ģå¹´":110354,"æĵħèĩª":110355,"迷人":110356,"èĪªæ¯į":110357,"ç²¾ç»Ĩ":110358,"åľ¨æĪijçļĦ":110359,"åĪĽæĬķ":110360,"麦åħĭ":110361,"æľĪç»ı":110362,"åĮĹæµ·":110363,"ä¹ĭæĺŁ":110364,"åı¶åŃIJ":110365,"å¸Ĥåľºç«ŀäºī":110366,"è¿Ļäºĭ":110367,"åıĥèĪĩ":110368,"äº§åľ°":110369,"åĶī":110370,"åķĨåĵģæĪ¿":110371,"èĪªè¿IJ":110372,"ä¼ĺå¼Ĥ":110373,"ä»ĸ们æĺ¯":110374,"éĽ¨æ°´":110375,"è¯įæ±ĩ":110376,"åĨľçͰ":110377,"欧éĺ³":110378,"çŁŃ线":110379,"管ç½ij":110380,"æł¹åŁº":110381,"åıªæľīä¸Ģ个":110382,"éŀĭåŃIJ":110383,"å¸Ĥå§Ķ书记":110384,"åĪ»æĦı":110385,"è¡Į车":110386,"åıĪ被":110387,"åı¯éĿłæĢ§":110388,"è´±":110389,"ä»»åij½":110390,"åºĶåľ¨":110391,"å°±å¾Ĺ":110392,"æľįåĬ¡ä½ĵç³»":110393,"æĶ¿æĿĥ":110394,"åıijè¨Ģ人":110395,"è¿ĩå¾Ģ":110396,"两åıª":110397,"èĻ½è¯´":110398,"éĢģä¸Ĭ":110399,"ä»Ģä¹Īäºĭ":110400,"æķ£æĸĩ":110401,"æİĮæİ§":110402,"èĸĦå¼±":110403,"ä¸ĭéĿ¢å°±":110404,"主è¦ģåĨħ容":110405,"å¾Īéĩįè¦ģçļĦ":110406,"就说":110407,"çϽèī²çļĦ":110408,"éĤ£ä¸ªæĹ¶åĢĻ":110409,"ç»ı纪人":110410,"çļĦæ¯į亲":110411,"ç¬Ķè®°æľ¬":110412,"åºķå±Ĥ":110413,"è¿ij代":110414,"解说":110415,"è²łè²¬":110416,"æľĢ大åĮĸ":110417,"åķĨéĵº":110418,"æł¡åıĭ":110419,"æ²ģ":110420,"ä¸įåĩºæĿ¥":110421,"éĻ·éĺ±":110422,"ç¨ħ":110423,"åħ¬å¸ĥäºĨ":110424,"åĩĢå̼":110425,"çĽ¸å¯¹è¾ĥ":110426,"笼":110427,"æł¸ç®Ĺ":110428,"åįİ侨":110429,"æĢ¥æķij":110430,"æĮºå¥½":110431,"åħĴç«¥":110432,"äºĮèĥİ":110433,"åĩºèĩª":110434,"åĿŁ":110435,"æīĭä¸ĭ":110436,"屡":110437,"åĪĽéĢłæĢ§":110438,"ä¸¥æł¼æĮīçħ§":110439,"åĨįåİ»":110440,"举缣":110441,"人æµģ":110442,"äºĨä¸Ģ声":110443,"å°ıæĹ¶åīį":110444,"è´µæĹı":110445,"éľĸ":110446,"ä¹Łæĺ¯éĿŀ常":110447,"é̱":110448,"çľĭäºĨçľĭ":110449,"ç¹ģæ®ĸ":110450,"èĩ³æŃ¤":110451,"é¢Ħå¤ĩ":110452,"å¾Īæĺİæĺ¾":110453,"æ¼Ķèīº":110454,"åĿIJçĿĢ":110455,"ä¿ĦåĨĽ":110456,"åľ¨è¿ĩåİ»":110457,"ä¹ĭäºĭ":110458,"æĬĵèİ·":110459,"åĿIJä¸ĭ":110460,"çͱä¸ŃåĽ½":110461,"ä¹Łå¼Ģå§ĭ":110462,"çŃĶå¤į":110463,"åŀĥåľ¾åĪĨç±»":110464,"éĴĵé±¼":110465,"åIJĦ種":110466,"缸éģĩ":110467,"ä¸įåģľçļĦ":110468,"æī¹éĩı":110469,"éĩįè¦ģä½ľç͍":110470,"å§Ķå±Ī":110471,"åħŃå¹´":110472,"ä¸ĥåįģ":110473,"ä¹ĭæĪĺ":110474,"é£İéĻ©ç®¡çIJĨ":110475,"éŁ³æ¨Ĥ":110476,"è¡ĮæĶ¿å¤Ħç½ļ":110477,"æľ¬äºĭ":110478,"æĴ°åĨĻ":110479,"èģļåIJĪ":110480,"éĢĤæĹ¶":110481,"æIJ¬å®¶":110482,"ç¢İçīĩ":110483,"çĽĽå®´":110484,"ç®Ģæ´ģ":110485,"åı¬éĽĨ":110486,"ç®ĢåĮĸ":110487,"åĮĹ京æĹ¶éĹ´":110488,"第ä¸īå±Ĭ":110489,"æĿ¥åĽŀ":110490,"常ç͍çļĦ":110491,"京津":110492,"京津åĨĢ":110493,"梦幻":110494,"è¯ķè¡Į":110495,"æľºåºĬ":110496,"åΰæľĢåIJİ":110497,"åĬ©æīĭ":110498,"åĪĨ彩":110499,"åĩºåĵģ":110500,"åĪ¹è½¦":110501,"åIJ¯åıij":110502,"ä¾§éĿ¢":110503,"æ¯ıå½ĵ":110504,"缸åħ³è§Ħå®ļ":110505,"ä¸ĸ人":110506,"è´Ń车":110507,"å¿ĥ缮":110508,"å¿ĥ缮ä¸Ń":110509,"äºĶéĩij":110510,"è¿ĺè®°å¾Ĺ":110511,"ä¾ĿçĦ¶æĺ¯":110512,"æıIJæ¡Ī":110513,"ç͵åķĨå¹³åı°":110514,"åģļåΰäºĨ":110515,"æĿľç»Ŀ":110516,"å®īåįĵ":110517,"ä¸ĸçķĮåIJĦåľ°":110518,"åīįéĢĶ":110519,"æ´ĹåĩĢ":110520,"å¥ĭåĬĽ":110521,"åŁİå¸Ĥ建设":110522,"å¤ļåĬŁèĥ½":110523,"ä¼ļéĢłæĪIJ":110524,"åıijå¸ĥä¼ļä¸Ĭ":110525,"究竣æĺ¯":110526,"åĪĨ红":110527,"çŁ¥èŃĺ":110528,"éĿ¢æĿ¿":110529,"æĹłå£°":110530,"æĢ¥éľĢ":110531,"å¤±çľł":110532,"çΏå¦Ī":110533,"äºĤ":110534,"åħ¨æĻ¯":110535,"ç»ıåħ¸çļĦ":110536,"åī§ä¸Ń":110537,"é¢Ĩ导ä¸ĭ":110538,"åħļåĨħ":110539,"åħ¥ä¾µ":110540,"æĭīæĸ¯":110541,"ä¸Ģå¹ķ":110542,"åĬłä¹ĭ":110543,"èĤĨ":110544,"èĭ±æł¼":110545,"èĭ±æł¼åħ°":110546,"å·§åħĭ":110547,"å·§åħĭåĬĽ":110548,"ä¸Ģå¿ĥ":110549,"èģĤ":110550,"å¾Ģå¾Ģæĺ¯":110551,"管çIJĨå±Ĥ":110552,"çĻ»åħ¥":110553,"建ç«ĭèµ·":110554,"å»ºåĽ½":110555,"åŃIJ宫":110556,"åºĶä»ĺ":110557,"æİ¢ç©¶":110558,"第ä¸Ģä½į":110559,"ä½Ļå®¶":110560,"çŃīæ´»åĬ¨":110561,"æīĢèĩ´":110562,"è¾ĥå¿«":110563,"æĺ¯éĿŀ":110564,"æıIJåIJį":110565,"äºĮèĢħ":110566,"åıªåī©ä¸ĭ":110567,"åħ¶ä¸ŃåĮħæĭ¬":110568,"ç¼ĸç¨ĭ":110569,"çł´ç¢İ":110570,"ä¸Ń举":110571,"å·¥ä½ľæĬ¥åijĬ":110572,"çѾåIJį":110573,"éħĴä¸ļ":110574,"çŁ¥æĻĵ":110575,"çĥŃå¿ĥ":110576,"éĿŀåĩ¡":110577,"èIJ¥ä¸ļæī§":110578,"èIJ¥ä¸ļæī§çħ§":110579,"人大代表":110580,"ä¸Ģ个æĸ°çļĦ":110581,"å¨ģæµ·":110582,"éĤ£äºº":110583,"涨价":110584,"æ¶ĪçģŃ":110585,"éļ¾å¿ĺ":110586,"ç¶ĵé©Ĺ":110587,"åı£è¢ĭ":110588,"ç³»æķ°":110589,"æĸĩä¸Ń":110590,"好转":110591,"æĸ°éĽ¶åĶ®":110592,"讲述äºĨ":110593,"å¼ĢçĽĺ":110594,"çķĻç»Ļ":110595,"æħ¢æħ¢çļĦ":110596,"æĤ²ä¼¤":110597,"æľ¬æľŁ":110598,"äºĨå¤ļå°ij":110599,"è¿Ļ让":110600,"åIJĮçŃī":110601,"æ¸ħæĺİ":110602,"个åŁİå¸Ĥ":110603,"æºĸåĤĻ":110604,"åĩłä¹İæĺ¯":110605,"强åĬĽ":110606,"俯":110607,"水稻":110608,"åĽºå®ļçļĦ":110609,"æł¸åĩĨ":110610,"说æľį":110611,"顯示":110612,"è¿Ļå¥Ĺ":110613,"æĻºæħ§åŁİå¸Ĥ":110614,"å±ĭé¡¶":110615,"ä¸įæĿ¥":110616,"çĶŁé²ľ":110617,"çŁ¥æĥħ":110618,"æĬķ身":110619,"åijĬè¯īæĪij们":110620,"ä¸īåĽĽ":110621,"ä¸ĩä¸Ģ":110622,"è¾Ĩ车":110623,"为ä¹ĭ":110624,"åΰæĹ¶åĢĻ":110625,"è¿Ļæīįæĺ¯":110626,"åIJįçīĮ":110627,"åºŁæ°´":110628,"åݻ年åIJĮæľŁ":110629,"å¹´éĻIJ":110630,"éģĭåĭķ":110631,"åıĮçľ¼":110632,"è¦ģç´§":110633,"对çŃĸ":110634,"åľºé¦Ĩ":110635,"çϾç§ij":110636,"è¶Ĭéĩİ":110637,"å¯ĮåIJ«":110638,"大å¤ļæķ°äºº":110639,"æľĢå°ij":110640,"åı¬åͤ":110641,"åħ¸èĮĥ":110642,"åĨľæľº":110643,"æŃ£æĸĩ":110644,"åºĶç͍äºİ":110645,"æ·±èĢķ":110646,"ä¿Ń":110647,"ä»Ģä¹Īä¸ľè¥¿":110648,"å¥Ĺé¤IJ":110649,"å½ĵéĢī":110650,"å·¦æīĭ":110651,"è°ĥçIJĨ":110652,"æĻļé¤IJ":110653,"éļ¾åħ³":110654,"åĩŃè¯ģ":110655,"çĪ±äºº":110656,"æĮĩè´£":110657,"è´£ç¼ĸ":110658,"çļĦä¸Ģ款":110659,"éĵ²":110660,"åįģ个":110661,"èĢ»":110662,"æľįåĬ¡åķĨ":110663,"åľ°çĭ±":110664,"è¿ŀå¿Ļ":110665,"åĽ°æĥij":110666,"çļĵ":110667,"ä¸įåIJĥ":110668,"çİ°åľ¨å·²ç»ı":110669,"çĽĺçĤ¹":110670,"ä¸įåģľåľ°":110671,"管çIJĨ模å¼ı":110672,"è¿Ļ段æĹ¶éĹ´":110673,"椰":110674,"礼åĮħ":110675,"æµģ转":110676,"æī«çłģ":110677,"éĽĨä¸Ńåľ¨":110678,"æ±ĤåĬ©":110679,"åįĬ个":110680,"å¿«éĢŁå¢ŀéķ¿":110681,"å¾Ģä¸ĭ":110682,"è¯ĦåĪĨ":110683,"å°±æĥ³":110684,"åķĨåĬ¡éĥ¨":110685,"æľīéĹ®é¢ĺ":110686,"èİ·åĪ©":110687,"æ¯ĽçĹħ":110688,"æĦŁåºĶ":110689,"è̧":110690,"åĪĨæŃ§":110691,"åĨī":110692,"æĪij们çİ°åľ¨":110693,"è¦ģåĬłå¼º":110694,"å·§å¦Ļ":110695,"èŀºæĹĭ":110696,"åĪĩæį¢":110697,"çĭĦ":110698,"顺çķħ":110699,"å°¤åħ¶æĺ¯åľ¨":110700,"èĬĿ麻":110701,"éļ¾è¿ĩ":110702,"æĹĹå¸ľ":110703,"å¤įåį°":110704,"å¤įåį°ä»¶":110705,"å¿ħéľĢ":110706,"对å¤ĸå¼ĢæĶ¾":110707,"éļ¾åıĹ":110708,"åİŁæĿ¥æĺ¯":110709,"ç®ĹäºĨ":110710,"é«ĺå±±":110711,"离èģĮ":110712,"çµĦç¹":110713,"çµĦç¹Ķ":110714,"å±ģèĤ¡":110715,"çϾ家":110716,"éģĩä¸Ĭ":110717,"æĺĶæĹ¥":110718,"ä¸į容":110719,"çĽij管éĥ¨éŨ":110720,"主æĦı":110721,"æµģåŁŁ":110722,"è·Įå¹ħ":110723,"èĩ³ä¸Ĭ":110724,"åĪ«è¯´":110725,"æĺ¯æ¯Ķè¾ĥ":110726,"å®ıè§Ĥç»ıæµİ":110727,"å¸Ĥåľºä¸»ä½ĵ":110728,"污æŁĵçī©":110729,"æķijæ²»":110730,"丰æĶ¶":110731,"åŃĺæĶ¾":110732,"åĩĦ":110733,"éĩijå±±":110734,"æį¢äºĨ":110735,"ä¸ĵ人":110736,"éĹľæĸ¼":110737,"æĹ¢è¦ģ":110738,"åĽ½è¶³":110739,"éļĭ":110740,"åıįåĩ»":110741,"起身":110742,"åħĪæĺ¯":110743,"å¸ĮæľĽèĥ½å¤Ł":110744,"åĪ¶è®¢":110745,"åºĹéĿ¢":110746,"åĸĢ":110747,"æķĻä½ł":110748,"éĻ῏©":110749,"åĬĽæ±Ĥ":110750,"ä¸īçϾ":110751,"çī©ä»·":110752,"丢失":110753,"å¢Ļä¸Ĭ":110754,"éĥ¨ä»½":110755,"æł·æĿ¿":110756,"ä¹ĭæĦı":110757,"ç½ijå°ıç¼ĸ":110758,"ä¸ĸä¸Ĭ":110759,"è°ĥè¯ķ":110760,"污æŁĵéĺ²æ²»":110761,"å½±éĻ¢":110762,"å®Įåħ¨åı¯ä»¥":110763,"éĢļåħ³":110764,"ä¹īåĬ¡æķĻèĤ²":110765,"没æľīåĬŀæ³ķ":110766,"èĢ¿":110767,"妳":110768,"æĹłæĥħ":110769,"å¾ĹçĽĬ":110770,"å¾ĹçĽĬäºİ":110771,"æľŁçĽ¼":110772,"娱ä¹IJåľº":110773,"çͲæĸ¹":110774,"ä¸Ģæ±½":110775,"çŰ":110776,"çĸijä¼¼":110777,"æĸ°æµªå¾®åįļ":110778,"强è¡Į":110779,"å½ĵä»ĸ":110780,"èĥº":110781,"ç͍æĪ·æıIJä¾Ľ":110782,"åĮºå§Ķ":110783,"æĦ¿æĻ¯":110784,"æĬĺæī£":110785,"失踪":110786,"è¿«åĪĩ":110787,"åŃĹæ¯į":110788,"åĴ¯":110789,"èªįèŃĺ":110790,"ä»Ģä¹ĪæĦıæĢĿ":110791,"çĽĴåŃIJ":110792,"å½ķéŁ³":110793,"建设工ç¨ĭ":110794,"ä¸ļä½Ļ":110795,"å®ŀ践活åĬ¨":110796,"çľŁç©º":110797,"çĤĸ":110798,"åľ¨è·¯ä¸Ĭ":110799,"主è¦ģåĮħæĭ¬":110800,"该æĢİä¹Ī":110801,"æĢ»æľī":110802,"æĢ§æĦŁ":110803,"æ°ijèĪª":110804,"å¼ĢåºĹ":110805,"欺éªĹ":110806,"çªģåĩ»":110807,"缺失":110808,"æī§ä¸ļ":110809,"åľ°éģĵ":110810,"å¹¶æĹł":110811,"æ°ijåĬŀ":110812,"ç»Ħç»ĩçĶŁæ´»":110813,"æĪijå¦Ī":110814,"è¨ĺèĢħ":110815,"管åζ":110816,"æī¾ä¸ª":110817,"èĹ»":110818,"çĤİçĹĩ":110819,"äºĴåĬ©":110820,"æµıè§Īåύ":110821,"çݩ家æĿ¥è¯´":110822,"éĻįä½İäºĨ":110823,"è£Ķ":110824,"æĮ£éĴ±":110825,"åķĨæľº":110826,"æĶ¹è£ħ":110827,"æµģ浪":110828,"æĶ¿æ³ķ":110829,"èĢģ头":110830,"çĶŁäº§åĴĮ":110831,"ç©Ĺ":110832,"亲çα":110833,"亲çαçļĦ":110834,"å±¥èģĮ":110835,"åŁİéĩĮ":110836,"ç»ĨåĪĨ":110837,"åĬ³åĬ¨åIJĪåIJĮ":110838,"åľ¨æĹ¥æľ¬":110839,"å¨ģå°Ķ":110840,"åį«è§Ĩ":110841,"éĢ£çµIJ":110842,"çĿĢéĩį":110843,"æĬĺ磨":110844,"åĽ¾ä¸º":110845,"çľ·":110846,"å·¥åºı":110847,"æĵģ":110848,"æĵģæľī":110849,"ç½ijç«Ļåľ°åĽ¾":110850,"çļĦä¸Ģ大":110851,"ç»Ħç»ĩå®ŀæĸ½":110852,"æĬĽå¼ĥ":110853,"åĴĮæĶ¯æĮģ":110854,"æ³ķåĪĻ":110855,"浪潮":110856,"çݰæľīçļĦ":110857,"åĩłçİĩ":110858,"为客æĪ·":110859,"åįģä¸ĩ":110860,"è¹Ħ":110861,"çªģåĩºéĹ®é¢ĺ":110862,"åıĥåĬł":110863,"éĥ½ä¼ļæľī":110864,"缤":110865,"è°ģéĥ½":110866,"æīĭåĬ¨":110867,"çĽ´è¾¾":110868,"çĤ¹å¤ļ":110869,"éĺ¶å±Ĥ":110870,"ä¸įä½³":110871,"éĤ£æ®µ":110872,"滨海":110873,"æĺ¯åĽ½åĨħ":110874,"æĪijå¸ĮæľĽ":110875,"åIJĽåŃIJ":110876,"è§ĤéŁ³":110877,"åģļé¥Ń":110878,"æ±½è»Ĭ":110879,"åħ³ç¨İ":110880,"çľ¼åīįçļĦ":110881,"æ°´éĿ¢":110882,"èĢ³æľº":110883,"追踪":110884,"æİ¨éĢģ":110885,"éĴ±åĮħ":110886,"æģ¶å¿ĥ":110887,"æµ·åŁŁ":110888,"å·į":110889,"å¼ĢæĿ¥":110890,"表æĢģ":110891,"仪表":110892,"å¹³åİŁ":110893,"åįģå¤ļå¹´":110894,"ä¹ŁæĹłæ³ķ":110895,"åħ¼é¡¾":110896,"è¡£æŁľ":110897,"æł½åŁ¹":110898,"æĪ¿æºIJ":110899,"设ç«ĭäºĨ":110900,"ä¸ĩåIJį":110901,"æķ°é¢Ŀ":110902,"è¦ģåĿļæĮģ":110903,"åIJīæŀĹçľģ":110904,"请èģĶç³»":110905,"ç»ıåİĨè¿ĩ":110906,"çļĦæľ¬è´¨":110907,"åħ¥éŨ":110908,"æľ¬æ¡Ī":110909,"çİĩè¾¾åΰ":110910,"åı°éĺ¶":110911,"éĴŀ":110912,"æĪijèĥ½":110913,"èݲèĬ±":110914,"éĴł":110915,"ä¸Ģäºĭ":110916,"åİŁæľīçļĦ":110917,"æ¯ıåĢĭ":110918,"æ¯Ķäºļ迪":110919,"æ£ĭçīĮ游æĪı":110920,"ä¸įä¼ļæľī":110921,"å½ĴæĿ¥":110922,"äºĶçϾ":110923,"è¿ĩé«ĺ":110924,"éĽ·è¾¾":110925,"ä¸Ģèµ·åİ»":110926,"æķĻ导":110927,"å°±è¯Ĭ":110928,"å°±å¾Ī":110929,"ä¸įåIJĮäºİ":110930,"俺":110931,"å¸ĸåŃIJ":110932,"æĶ¿åįıå§Ķåijĺ":110933,"çĸ«æĥħå½±åĵį":110934,"åĪĨè£Ĥ":110935,"为ä»Ģä¹Īä¼ļ":110936,"äºĶæĺŁ":110937,"å°ijåĦ¿":110938,"æĬ¢éĻ©":110939,"梦è§ģ":110940,"è®°èĢħéĩĩ访":110941,"山路":110942,"æĪij个人":110943,"æ²Ļ滩":110944,"è¹Ń":110945,"æĶ¹è®Ĭ":110946,"æĸ°åŀĭåĨł":110947,"æĸ°åŀĭåĨłçĬ¶":110948,"åĮ»æĬ¤":110949,"åĮ»æĬ¤äººåijĺ":110950,"æµ·å°Ķ":110951,"åħ³äºİæĪij们":110952,"éϤå¤ĸ":110953,"åºļ":110954,"宣åijĬ":110955,"ä¸īåįĥ":110956,"榨":110957,"ç§ijæĬĢ大åѦ":110958,"ä¸ĥåħ«":110959,"顺åºĶ":110960,"çΏçΏå¦Īå¦Ī":110961,"éĢīåıĸ":110962,"åī§çĥĪ":110963,"乡æĿijæĹħ游":110964,"积æŀģæİ¢ç´¢":110965,"表çݰ为":110966,"å¾Īæ¸ħæ¥ļ":110967,"大åĨĽ":110968,"æĿ¥ç͵":110969,"å¥ĹæĪ¿":110970,"çݰè¡Į":110971,"享åıĹåΰ":110972,"çľĭçĤ¹":110973,"åĽºå®ļèµĦ产":110974,"以人为":110975,"ä»¥äººä¸ºæľ¬":110976,"ä¸įå®Į":110977,"éĻį鼨":110978,"åģļçļĦäºĭæĥħ":110979,"å¹¶äºİ":110980,"顽强":110981,"è̏":110982,"åĺ´å·´":110983,"缸åħ³ä¿¡æģ¯":110984,"æĪij没":110985,"æĪĺçķ¥æĢ§":110986,"æĢĿ念":110987,"åĪĺå¤ĩ":110988,"åĬ©æĶ»":110989,"é£İè²Į":110990,"éĿ¢å¯¹éĿ¢":110991,"积æŀģå¼Ģå±ķ":110992,"çĸĹæķĪ":110993,"çľĭ书":110994,"缺åı£":110995,"åĽ½æ°ijç»ıæµİ":110996,"使ç͍æĿĥ":110997,"éģ¥è¿ľ":110998,"å¡«è¡¥":110999,"第ä¸ī人":111000,"åįĬå¤ľ":111001,"æŃ¦æ±īå¸Ĥ":111002,"æĪijåıijçݰ":111003,"ä¼ĺæĥłæĶ¿çŃĸ":111004,"é£İåı£":111005,"å°±ä¸įèĥ½":111006,"为主è¦ģ":111007,"æµģåĩº":111008,"å´ĩæĭľ":111009,"å¹¶ä¸įèĥ½":111010,"é«ĺä¸ī":111011,"ä¸ĸçķĮä¸ĬæľĢ":111012,"æĥ³å¿ħ":111013,"åħ¶æīĢ":111014,"åĢĻéĢī":111015,"åĢĻéĢī人":111016,"ä¸įçα":111017,"åī¯ä½ľç͍":111018,"人æ°ijæĹ¥æĬ¥":111019,"æĪijä¸įæĺ¯":111020,"å®ŀçī©":111021,"ç͵åİĤ":111022,"ä¹Łç®Ĺæĺ¯":111023,"æľīéĹľ":111024,"æľīèĥ½åĬĽ":111025,"æĮĤåľ¨":111026,"çľ¼ä¸ĭ":111027,"约翰":111028,"å°ıåѦçĶŁ":111029,"èµ·åΰäºĨ":111030,"工夫":111031,"åIJĮå¿ĥ":111032,"åĿ¦è¨Ģ":111033,"çłĮ":111034,"åıijæĮ¥äºĨ":111035,"èģĮä¸ļéģĵå¾·":111036,"è¿ĻäºĽå¹´":111037,"念头":111038,"èĢģé¼ł":111039,"åħ¨èµĦ":111040,"åħ¨èµĦåŃIJ":111041,"ä¸Ģåij³":111042,"å¤ļä¸ĩåħĥ":111043,"æł¼æľĥ":111044,"éķ¿éĢĶ":111045,"带走":111046,"èĭ±å¯¸":111047,"æĸĩä½ĵ":111048,"对ä»ĸ们":111049,"åĵŃäºĨ":111050,"å¡«æĬ¥":111051,"çīĪæĿĥ声æĺİ":111052,"çĶµçº¿":111053,"è´Ńçī©ä¸Ńå¿ĥ":111054,"饱满":111055,"ä½İ头":111056,"强迫":111057,"ä¿Ŀæ´ģ":111058,"欧åĨł":111059,"缸è¿ŀ":111060,"认è´Ń":111061,"ç쫿ĺŁ":111062,"é«ĺå°Ķ":111063,"é«ĺå°Ķ夫":111064,"èij«èĬ¦":111065,"æłĩ注":111066,"çļĦçIJĨæĥ³":111067,"æł¸éħ¸":111068,"æł¸éħ¸æ£Ģæµĭ":111069,"åĬī":111070,"ä¸Ģèάæĺ¯":111071,"æĢĿç´¢":111072,"轨迹":111073,"çĥŃ带":111074,"éĻ£":111075,"åĩĨç¡®æĢ§":111076,"æĪ´çĿĢ":111077,"åľ¨çĶŁæ´»ä¸Ń":111078,"æīĢèĥ½":111079,"æľ¯åIJİ":111080,"å¸¦ä½ł":111081,"ç¥ł":111082,"æ®ĭéħ·":111083,"ä¹Łåıªæĺ¯":111084,"çͳè´Ń":111085,"举åĬŀäºĨ":111086,"æľīæĦıä¹ī":111087,"æĹºçĽĽ":111088,"åľ¨ç¶²":111089,"åľ¨ç¶²è·¯ä¸Ĭ":111090,"å¾Ī大ç¨ĭ度":111091,"管è¾ĸ":111092,"çĸ«æĥħæľŁéĹ´":111093,"触æij¸":111094,"éĺ¶æ®µæĢ§":111095,"ä¼ļè§īå¾Ĺ":111096,"çļĦçĶ»éĿ¢":111097,"æİ¥åıĹäºĨ":111098,"表达äºĨ":111099,"éĤĵå°ı":111100,"éĤĵå°ıå¹³":111101,"åħļé£İ":111102,"åħļé£İå»īæĶ¿":111103,"åķĨåѦéĻ¢":111104,"åħijæį¢":111105,"é£Łåĵģèį¯åĵģ":111106,"éĿŀ常好çļĦ":111107,"çľ¯":111108,"纳米":111109,"åĬ¨æijĩ":111110,"åĽŀéģ¿":111111,"çľĭèijĹ":111112,"款项":111113,"åħ«å¹´":111114,"åģļ个":111115,"æĸĩæ¡£":111116,"éĩijèŀįç§ijæĬĢ":111117,"åħ¶ä¸Ńæľī":111118,"äºĨä¸Ģç³»åĪĹ":111119,"æĹĹèΰåºĹ":111120,"ç§°èµŀ":111121,"éĽ¢éĸĭ":111122,"åζåĨ·":111123,"å®¶éŨåı£":111124,"åįģå¤ļ":111125,"ä¼´ä¾£":111126,"çľĭçĹħ":111127,"æĭīçĿĢ":111128,"æīĴ":111129,"çĸ²æĥ«":111130,"å°ijæķ°æ°ijæĹı":111131,"åĽ¾å½¢":111132,"è½§":111133,"å¢ŀéĩı":111134,"饲åħ»":111135,"çģ«å±±":111136,"æ¯ı个æľĪ":111137,"ä½ľä¸ºä¸ĢåIJį":111138,"è½´æī¿":111139,"æĸĩ书":111140,"ç¼ķ":111141,"åħ·ä½ĵæĥħåĨµ":111142,"çĹĽçĤ¹":111143,"缴éĶĢ":111144,"å¡Ĭ":111145,"ä¹Łæľĥ":111146,"çĥŃæ½®":111147,"å¹³æ°ij":111148,"æ¼Ķåͱä¼ļ":111149,"æķĻçłĶ":111150,"éĢĥéģ¿":111151,"ä¸Ģè´¯":111152,"å°±è¶Ĭ":111153,"å®ŀå®ŀåľ¨":111154,"å®ŀå®ŀåľ¨åľ¨":111155,"ä¹łè¿ijå¹³æĢ»":111156,"溺":111157,"å¿ĥåºķ":111158,"éķ¿å¾ģ":111159,"媽媽":111160,"第ä¸ī次":111161,"åĩºæ¼Ķ":111162,"çĭĢæ³ģ":111163,"å°Ķæĸ¯":111164,"代çIJĨåķĨ":111165,"çĨı":111166,"çļĦ对象":111167,"ç͵éĩı":111168,"è¡ĮåĪĹ":111169,"åĽ½äºº":111170,"è·ijäºĨ":111171,"åįĶåĬ©":111172,"èIJ¥è¿IJ":111173,"å¸ĪåħĦ":111174,"榮":111175,"æĥ³åĥı":111176,"æĢ§å¼º":111177,"ç§ijåѦçłĶç©¶":111178,"å»¶å®ī":111179,"ä¸¥æł¼èIJ½å®ŀ":111180,"é¢Ĩä¼ļ":111181,"çĽ¸å·®":111182,"路人":111183,"çĶ«":111184,"æľīä»·å̼":111185,"æľīä»·å̼çļĦ":111186,"ç¾İåĽ¢":111187,"æ°ij主çĶŁæ´»":111188,"æĪijæīį":111189,"ç¾İåĽ½äºº":111190,"æ°Ķåij³":111191,"åıįå°Ħ":111192,"çļĦåĨ³å¿ĥ":111193,"大è±Ĩ":111194,"交代":111195,"è¿Ľåĩº":111196,"åıįæĬĹ":111197,"æĮĩçļĦæĺ¯":111198,"ä»·ä½į":111199,"è¿Ľé©»":111200,"ä¸ĬçϾ":111201,"ä½įåĪĹ":111202,"ä¸ŃåĽ½ä¼ģä¸ļ":111203,"çļĦ好å¤Ħ":111204,"主ç¼ĸ":111205,"汽油":111206,"ä½ĨæĪij们":111207,"æĢİä¹Īçľĭ":111208,"é»Ħå±±":111209,"å¤ļåªĴä½ĵ":111210,"åIJİåį«":111211,"èİ·å¾ĹæĽ´å¤ļ":111212,"åĬ¡å¿ħ":111213,"为å¥ijæľº":111214,"é¦ĸ饰":111215,"ä¸ĩåįļ":111216,"è¶ĬæĿ¥è¶Ĭ大":111217,"ä¸ĵ项è¡ĮåĬ¨":111218,"å¥ĭè¿Ľ":111219,"ä»įçĦ¶æĺ¯":111220,"è´¨æĦŁ":111221,"å¦Ĥæŀľä¸įæĺ¯":111222,"ç«Ļèµ·æĿ¥":111223,"ä¹¾éļĨ":111224,"åı¯æĢķçļĦ":111225,"å¯Įè´µ":111226,"æ¸ħç®Ĺ":111227,"åIJijä¸ĭ":111228,"åĢļ":111229,"çļĦçŃĶæ¡Ī":111230,"èιä¸Ĭ":111231,"çļĦ羣å®ŀæĢ§":111232,"çŃīåĬŁèĥ½":111233,"åĸľåī§":111234,"å¨ģåĬĽ":111235,"æĸ°é¢ĸ":111236,"æł¸ç͵":111237,"æĬ¥éĶĢ":111238,"æķħ乡":111239,"ä¼´éļı":111240,"éŀŃ":111241,"å¦Ĭå¨ł":111242,"åĪĨåĮĸ":111243,"æľīå¾Ī大":111244,"æĢİä¹Ī说":111245,"æĻĤ代":111246,"产åĩº":111247,"ä»ĭç»į说":111248,"å¤ĦçIJĨåύ":111249,"èĨ¨èĥĢ":111250,"åī¯å¸Ĥéķ¿":111251,"çļĦ妻åŃIJ":111252,"æł·åĵģ":111253,"åIJĮæ¯Ķä¸ĭéĻį":111254,"åħĥå·¦åı³":111255,"ç͍èĩªå·±çļĦ":111256,"é«ĺéĽĦ":111257,"æĺ¥æĻļ":111258,"ä¹Łæľīå¾Īå¤ļ":111259,"çľ¼çIJĥ":111260,"æķ£æŃ¥":111261,"ä»ĸ们éĥ½":111262,"第ä¸Ģå®¶":111263,"åĬŀ好":111264,"å®īéĺ²":111265,"ä¸Ģä¸ĩ":111266,"åľ¨éĩĮéĿ¢":111267,"éŁ³é¢ij":111268,"åı£åı·":111269,"ä¸Ģè¶Ł":111270,"ç¦ıçī¹":111271,"é³ŀ":111272,"æĥĬèī³":111273,"æĸ°å¨ĺ":111274,"绿èī²åıijå±ķ":111275,"ä¸Ńå¼ı":111276,"ä¹Łåıªæľī":111277,"çݰ身":111278,"åı¯ä¾Ľ":111279,"æ¯ıä¸Ģ个人":111280,"第ä¸īèĢħ":111281,"åľ°å½¢":111282,"éĴ¢ç»ĵæŀĦ":111283,"çĽijçĿ£æ£ĢæŁ¥":111284,"åı«æĪij":111285,"èĩ´æķ¬":111286,"æ´Ĺæīĭ":111287,"ä¸ĭè°ĥ":111288,"康çĨĻ":111289,"æĪIJ交éĩı":111290,"ä¹ŁæĪIJ为":111291,"åħīæ»ij":111292,"å®Įæķ´æĢ§":111293,"çģ¼":111294,"ç¶²éłģ":111295,"éķ¿å¯¿":111296,"éģ©ç͍":111297,"çļĦä¸Ģ项":111298,"çŀ©çĽ®":111299,"æĬĬèĩªå·±çļĦ":111300,"éĵ¶è¡Įåį¡":111301,"å°±å¿ħé¡»":111302,"ç¾İçϽ":111303,"éŀįå±±":111304,"æľ¬é¢Ĩ":111305,"ä¸Ģç¢Ĺ":111306,"æīĵæ³ķ":111307,"æĤ¨å¥½":111308,"对åŃ©åŃIJ":111309,"æĬ¥éģĵç§°":111310,"ä¼łåĩº":111311,"大èĩ£":111312,"ç¬ĭ":111313,"çĽı":111314,"é¾ļ":111315,"çĽ´çº¿":111316,"æĻºåºĵ":111317,"ç§Łè½¦":111318,"é£İåij³":111319,"çľĭä¸Ģä¸ĭ":111320,"æİ¨éĶĢ":111321,"éĥ¨éĥ¨éķ¿":111322,"è´¨éĩıåĴĮ":111323,"åĪĬçĻ»":111324,"å·¥ä¸ļåĮĸ":111325,"çİĩ为":111326,"鼶件":111327,"硬åĮĸ":111328,"ä¸Ĭåįĥ":111329,"ç»ıéªĮå̼":111330,"å¹³è¡Į":111331,"声éģĵ":111332,"æľįåĬ¡è´¨éĩı":111333,"çĶŁçĶ¢":111334,"æľĢ容æĺĵ":111335,"ä¸Ģæŀļ":111336,"å¹´æĬ¥":111337,"åħ¬ç½ij":111338,"åħ¬ç½ijå®ī":111339,"åħ¬ç½ijå®īå¤ĩ":111340,"çļĦèĥ½éĩı":111341,"å®ŀéĻħè¡ĮåĬ¨":111342,"è¦ģä¸įè¦ģ":111343,"æĹ¥æľ¬äºº":111344,"èĢ¶ç¨£":111345,"ç¼ĸåī§":111346,"æ¶©":111347,"åį°å°¼":111348,"ä¸Ĭä¸ĭ游":111349,"åĩłåı¥":111350,"ä¸Ńéĵģ":111351,"ç°¡åĸ®":111352,"èĩªå¸¦":111353,"çĶŁäºİ":111354,"ä¸Ģåı£æ°Ķ":111355,"åĭ¤å¥ĭ":111356,"éĻįä»·":111357,"å±ķçݰäºĨ":111358,"å¸ĥæĭī":111359,"ä¼ļéĢīæĭ©":111360,"çļĦç»ıåħ¸":111361,"好æľĭåıĭ":111362,"车éģĵ":111363,"æķ´åĢĭ":111364,"åľĵ":111365,"éķ¿æľŁä»¥æĿ¥":111366,"æĬķå½±":111367,"çļĩåĨł":111368,"è¿ĩ大":111369,"åijĬè¯īä»ĸ":111370,"ä¼ģä¸ļæıIJä¾Ľ":111371,"æĬ½è±¡":111372,"éĢĤ度":111373,"çļĦ女åŃ©":111374,"èµ·ä¼ı":111375,"çļĦåĬŁæķĪ":111376,"ä¸ĵ项æķ´æ²»":111377,"åı¯éĢļè¿ĩ":111378,"ä¸įåIJĮç¨ĭ度":111379,"å¼Ĥè®®":111380,"åĩĢèµĦ产":111381,"åijĹ":111382,"ä»Ģä¹Īåij¢":111383,"å·¡éĢ»":111384,"è¸ıä¸Ĭ":111385,"ä½Ĩå®ĥ":111386,"精度":111387,"管å±Ģ":111388,"第ä¸ĢåIJį":111389,"åĨħåŃĺ":111390,"æijĨåľ¨":111391,"åī©ä¸ĭ":111392,"主ä½ĵ责任":111393,"çĤ¹åįĬ":111394,"以èĩ³äºİ":111395,"åħ»èĢģä¿ĿéĻ©":111396,"æĦŁåıĹåΰäºĨ":111397,"çŁ¥åIJįçļĦ":111398,"å¯Į豪":111399,"妥åĸĦ":111400,"åŃĻåŃIJ":111401,"éĵĤ":111402,"说èĩªå·±":111403,"让æĤ¨":111404,"æķ°æİ§":111405,"çļĦçľ¼åħī":111406,"注éĶĢ":111407,"çļĦçģµéŃĤ":111408,"è¿ĺä¸įéĶĻ":111409,"éĹ®ä»ĸ":111410,"èĩªä¸»çłĶåıij":111411,"èĵĭ":111412,"ç´«èī²":111413,"åĽ½å®¶å®īåħ¨":111414,"è¾½å®ģçľģ":111415,"ä¹Łæ¯Ķè¾ĥ":111416,"ç¾İèĤ¡":111417,"ä¸įç¡®å®ļæĢ§":111418,"å¿ĥ头":111419,"æĪ³":111420,"级åĪ«çļĦ":111421,"论述":111422,"çļĦåĽŀçŃĶ":111423,"ä¿Ŀè¯ģéĩij":111424,"çŃīè¡Įä¸ļ":111425,"幸ç¦ıæĦŁ":111426,"æŃ§è§Ĩ":111427,"æľºç¥¨":111428,"派人":111429,"èĩ´åij½":111430,"åĺ´è§Ĵ":111431,"æĸ°éĹ»ä¸Ńå¿ĥ":111432,"æĶ¾å¼ĥäºĨ":111433,"å®ľå±ħ":111434,"åĨĻä¸ĭ":111435,"éĹ®çŃĶ":111436,"è¿ĻéĩĮæĺ¯":111437,"å¤ļåľ°":111438,"åĮºåŁŁåĨħ":111439,"åĸ°":111440,"çľĭä»ĸ":111441,"æī§æ³ķ人åijĺ":111442,"åĬ¨æľº":111443,"éŁ³åĵį":111444,"çļĦåij½è¿IJ":111445,"é¡¶éĥ¨":111446,"åĵŁ":111447,"éĥ½æľĥ":111448,"æīĵéĢłæĪIJ":111449,"æĦıåĽ¾":111450,"çļĸ":111451,"åĢĴåħ¥":111452,"å·´èIJ¨":111453,"åĬ©åѦ":111454,"å¤įåı¤":111455,"åIJ¯ç͍":111456,"åĽ½éĻħå¸Ĥåľº":111457,"åĤ¨èĥ½":111458,"é»ijé¾Ļæ±Łçľģ":111459,"ä¹ĺ车":111460,"è¿IJåĬ¨ä¼ļ":111461,"ä¿ĿåĪ©":111462,"çŁ³æĿIJ":111463,"çµ®":111464,"çĤĴä½ľ":111465,"çļĦä¿¡ä»»":111466,"å°±æĪIJäºĨ":111467,"åı¯è§Ĥ":111468,"çļĩä¸Ĭ":111469,"è¿Ļåĩłå¤©":111470,"ä¸ĢéĶ®":111471,"åĨ·åĨ»":111472,"ä¿Ŀåį«":111473,"æł¸æ¡ĥ":111474,"åIJĪä½ľåħ³ç³»":111475,"éĢģåĩº":111476,"æĹĹä¸ĭçļĦ":111477,"åľ¨ä¹İ":111478,"为广大":111479,"åįĪé¤IJ":111480,"ä¸ĵ访":111481,"æĪĸå°Ĩ":111482,"éĿĴå²Ľå¸Ĥ":111483,"å¥Ķè·ij":111484,"æĹ¥æĬ¥éģĵ":111485,"å¥ijåIJĪ":111486,"æĸ°æĺ¥":111487,"ä¸įå°ıå¿ĥ":111488,"两ä¸ī":111489,"æĦıæĢĿæĺ¯":111490,"åĨ·èĹı":111491,"çļĦçĹĩçĬ¶":111492,"æĢ§åij½":111493,"è¶ħæłĩ":111494,"å¯Ĩ碼":111495,"ç§ijæĬĢèĤ¡ä»½":111496,"äºĨä¸Ģæī¹":111497,"çĿ£å¯Ł":111498,"åªĴä»ĭ":111499,"å°Ħæīĭ":111500,"ä¿®åħ»":111501,"çīĩåĪ»":111502,"éĢĤåIJĪèĩªå·±":111503,"åıªè¦ģæĺ¯":111504,"åIJĥè¿ĩ":111505,"éĩijéĵ¶":111506,"缴å±ŀ":111507,"åѦéĹ®":111508,"åİĭåζ":111509,"çªĹå¤ĸ":111510,"æĶ¶åΰäºĨ":111511,"åħ¨åĽ½äººå¤§":111512,"ä½Ĩæĺ¯å¯¹äºİ":111513,"åľ¨æķ´ä¸ª":111514,"çļĦèĥĮåIJİ":111515,"åĩıå°ijäºĨ":111516,"åıįèħIJ":111517,"åıįèħIJåĢ¡":111518,"åıįèħIJåĢ¡å»ī":111519,"æĹ·":111520,"åĪĨæľŁ":111521,"åľ¨æ·±åľ³":111522,"æīĵçĿĢ":111523,"æī«ä¸Ģ":111524,"æī«ä¸Ģæī«":111525,"æĶ¿åºľéĥ¨éŨ":111526,"æİ¥è¿ŀ":111527,"å±ŀäºİèĩªå·±":111528,"åŃIJå¼¹":111529,"åIJĮæł·æĺ¯":111530,"æĢ»åħ±":111531,"车ä¼ģ":111532,"æ¢ĵ":111533,"åħ¬é¡·":111534,"åıij声":111535,"éĴĽ":111536,"èµ°åĬ¿åĽ¾":111537,"主èIJ¥":111538,"åĸĶ":111539,"æķ°æį®åĪĨæŀIJ":111540,"ä¸įè¿ľ":111541,"æľīåIJį":111542,"æľīåIJįçļĦ":111543,"åģ¿è¿ĺ":111544,"å¾Īä½İ":111545,"è®ĵ人":111546,"èĿī":111547,"é«ĺè´µ":111548,"å°ij许":111549,"æ°Ł":111550,"å¹¢":111551,"亲æĥħ":111552,"è¿Ļä»¶äºĭæĥħ":111553,"ç͍é¤IJ":111554,"缸åħ³æĸ°éĹ»":111555,"å°±åºĶ该":111556,"ç»ĪçĤ¹":111557,"æĺ¯å¤ļå°ij":111558,"çĻ»åľº":111559,"è¯ķ管":111560,"è¯ķ管婴åĦ¿":111561,"åģļ大":111562,"åģļ大åģļ强":111563,"çļĦä¾ĭåŃIJ":111564,"åħ«ä¸ª":111565,"æĺİæĹ¥":111566,"çĤ³":111567,"èµ°åİ»":111568,"éģº":111569,"墩":111570,"ä½ĵä¼ļåΰ":111571,"åĴı":111572,"ä¸ĭè¾¾":111573,"å¤įåıij":111574,"追éĢIJ":111575,"æīĵåĵį":111576,"çļĦéļ±ç§ģæ¬Ĭ":111577,"åħ·æľīä¸Ģå®ļ":111578,"è¿Ļä¹Īå¤ļå¹´":111579,"æłijæŀĹ":111580,"æľĢéķ¿":111581,"åIJĮèĥŀ":111582,"åħīæ³½":111583,"åŁŁåIJį":111584,"æĮĩåIJij":111585,"åıĹ害èĢħ":111586,"æłijèĦĤ":111587,"æľīå¤ļ大":111588,"大éĿ¢ç§¯":111589,"æĹłç¼Ŀ":111590,"æĶ¹æŃ£":111591,"æĽ´å¤ļçļĦæĺ¯":111592,"æľŁæľ«":111593,"æŃ¼":111594,"ä¹īä¹Į":111595,"éĤ£ä½ł":111596,"çļĦ第ä¸Ģ个":111597,"èĮµ":111598,"å°§":111599,"èį«":111600,"ä¸įä»ħåı¯ä»¥":111601,"æ¶Įçݰ":111602,"æĢ»éĿ¢ç§¯":111603,"æĸ°éĹ»åıijå¸ĥ":111604,"æ°ijç͍":111605,"就读":111606,"æīĵè´¥":111607,"å¤ĸè¯Ń":111608,"æĪij们ä¸Ģèµ·":111609,"é¢Ħå®ļ":111610,"çĥ¹é¥ª":111611,"æľĢ主è¦ģ":111612,"æľĢ主è¦ģçļĦ":111613,"çīĮçħ§":111614,"åĽłåħ¶":111615,"ä½İä¸ĭ":111616,"ä¼ļåIJĮ":111617,"è§ģè§£":111618,"éĹ´éļĶ":111619,"æķĻç¨ĭ":111620,"å°ī":111621,"å¸Ĥä¸Ńå¿ĥ":111622,"åħ³éĶ®æĺ¯":111623,"æµ·åįĹçľģ":111624,"çī¹åĪ«æĺ¯åľ¨":111625,"ä¸ŃåĽ½å¤§éĻĨ":111626,"åħħè¶³çļĦ":111627,"æĹ¢èĥ½":111628,"åĤ³çµ±":111629,"çijľä¼½":111630,"åħ¥åĽ´":111631,"æħ¢æħ¢åľ°":111632,"æĬ¥éħ¬":111633,"æī¹å¤į":111634,"å·¥ä¸ļåĽŃåĮº":111635,"ä¸İåıijå±ķ":111636,"èĥ¸éĥ¨":111637,"åľ¨ç½ij绾":111638,"åľ¨ç½ij绾ä¸Ĭ":111639,"交è°Ī":111640,"æĽ´æĶ¹":111641,"åįłæľīçİĩ":111642,"ä¸Ŀ绸ä¹ĭè·¯":111643,"è¡Ľ":111644,"çłĶåΤ":111645,"åĪª":111646,"åĪªéϤ":111647,"è¿Ļåıª":111648,"çļĦæ°Ķæģ¯":111649,"åĬłå·ŀ":111650,"éĴ§":111651,"çIJĨäºĭéķ¿":111652,"ä¸ĸå®¶":111653,"æµģè¡ĮçļĦ":111654,"å¾Īæľīåı¯èĥ½":111655,"们éĥ½":111656,"ç»ıèIJ¥æ¨¡å¼ı":111657,"è¡Įä¸ļä¸Ń":111658,"éĢļçŁ¥ä¹¦":111659,"åij½é¢ĺ":111660,"æľ¬ç¶²ç«Ļ":111661,"æ²Ļçī¹":111662,"åıijåħī":111663,"é«ĺä»·":111664,"å·²çĦ¶":111665,"åıĮåįģä¸Ģ":111666,"ä¸Ĭè¯ī":111667,"ç¿ħèĨĢ":111668,"è¿Ļä¸Ģå¹´":111669,"大ä¼ļä¸Ĭ":111670,"éĩī":111671,"å®Įåħ¨æĺ¯":111672,"å¾Ĺ太":111673,"ä¸ĢèĪ¬äºº":111674,"è¿ĺç®Ĺ":111675,"æĬĺåıł":111676,"æĬķæľº":111677,"çĤ¹çĩĥ":111678,"çݰéĩijæµģ":111679,"åħĶåŃIJ":111680,"ç½ijæł¼":111681,"æİ¥è¿ĩ":111682,"ä¾Ľè´§":111683,"éĺ´å½±":111684,"åİŁåħĪ":111685,"æį£":111686,"左侧":111687,"åħĭæĭī":111688,"æīĵåį¡":111689,"ç§ijæ¯Ķ":111690,"æ±ĩéĽĨ":111691,"åľ°çIJĨä½įç½®":111692,"è¯Ħå§Ķ":111693,"ç»ĵåIJĪèµ·æĿ¥":111694,"è¿Ľåħ¥åΰ":111695,"åı¯è¡Į":111696,"åı¯è¡ĮæĢ§":111697,"让å®ĥ":111698,"åĪ¶åº¦æĶ¹éĿ©":111699,"çĶĺèĤĥçľģ":111700,"åĵĹ":111701,"åģıåģı":111702,"è¡£çī©":111703,"ç¥Ŀè´º":111704,"æºIJèĩª":111705,"å¹¶ä¸į代表":111706,"åĽ½åº¦":111707,"好åĿı":111708,"æĿĸ":111709,"æĿŃå·ŀå¸Ĥ":111710,"湿度":111711,"鲸":111712,"åįļ彩":111713,"æ³°å±±":111714,"æĿijèIJ½":111715,"æĸ°èģŀ":111716,"èĤĭ":111717,"åı¤èĢģçļĦ":111718,"çļĦç§ĺå¯Ĩ":111719,"ä¸Ģ个éĹ®é¢ĺ":111720,"éģıåζ":111721,"åįĥ亿":111722,"è¿ĩ硬":111723,"å°Ħåĩ»":111724,"èĩªçĦ¶æĺ¯":111725,"产åĮº":111726,"çĤ¹çĤ¹å¤´":111727,"åı¯ä»¥å¸®åĬ©":111728,"说å®ŀ":111729,"说å®ŀè¯Ŀ":111730,"æĪijåıªæĺ¯":111731,"ä¹ĭä½Ļ":111732,"åIJĮæĹ¶ä¹Łæĺ¯":111733,"ä¸ŃåĽ½éĺŁ":111734,"建æĪIJåIJİ":111735,"ä¹IJè§Ĩ":111736,"åij¨å²ģ":111737,"èį¯åºĹ":111738,"éĩijåįİ":111739,"严éĩįå½±åĵį":111740,"è´¨åľ°":111741,"æĹħéģĬ":111742,"åħµåύ":111743,"æķĻèĤ²æķĻåѦ":111744,"离åİ»":111745,"åIJĦå¼ıåIJĦæł·":111746,"ä»ĭç´":111747,"ä»ĭç´¹":111748,"å¼Ģ头":111749,"å°Ĩèĩªå·±çļĦ":111750,"åIJ¬åĬĽ":111751,"ä¿¡æģ¯ç³»ç»Ł":111752,"ä»İæł¹æľ¬":111753,"ä»İæł¹æľ¬ä¸Ĭ":111754,"æİĮ声":111755,"欢åĸľ":111756,"å±ķåĮº":111757,"åķ¸":111758,"太å¤ļäºĨ":111759,"éĹ²ç½®":111760,"èĥ¡èIJĿåįľ":111761,"å§Ķå®£ä¼ł":111762,"å§Ķå®£ä¼łéĥ¨":111763,"åįĹéĺ³":111764,"å·ŀåĮº":111765,"ä¸İæĹ¶":111766,"ä¸İæĹ¶ä¿±":111767,"ä¸İæĹ¶ä¿±è¿Ľ":111768,"å«Įçĸij人":111769,"èī¯å¿ĥ":111770,"头顶":111771,"è´¢æĬ¥":111772,"ä½Ľæ³ķ":111773,"å¾µ":111774,"åİŁä»¶":111775,"åĭŀ":111776,"çĶ·ç¯®":111777,"å¤ĸåĽ½äºº":111778,"è¿Ŀ纪":111779,"æī¾äºĨ":111780,"æįķæįī":111781,"缸è¯Ĩ":111782,"æIJľéĽĨ":111783,"çļĦä¼Łå¤§":111784,"ä¸īç»´":111785,"å°±è¡ĮäºĨ":111786,"çĭIJæľĪ":111787,"çĭIJæľĪå±±":111788,"å¸ĮæľĽéĢļè¿ĩ":111789,"èĢĮ对äºİ":111790,"éĿ¢å°į":111791,"åĨĽåĽ¢":111792,"è¡ĹåĮº":111793,"æĤ¬æĮĤ":111794,"便ç§ĺ":111795,"æľīä¸ĢçĤ¹":111796,"ä¼ļè®®ä¸Ĭ":111797,"ä¸ĭæīĭ":111798,"廣åijĬ":111799,"äºĶè¡Į":111800,"çŃīåĢĻ":111801,"ç´§ç´§åĽ´ç»ķ":111802,"æĭ¿äºĨ":111803,"æ¡ĮéĿ¢":111804,"ç¥ŀæĥħ":111805,"éĽĦåİļ":111806,"çŀ³":111807,"楼ä¸ĭ":111808,"彪":111809,"äºĭåıij":111810,"åĨįè§ģ":111811,"é¤ĺ":111812,"é¢ĦåĶ®":111813,"åİ»çľĭçľĭ":111814,"æĪij们åºĶ该":111815,"ä¸īå®¶":111816,"æµĬ":111817,"ä¹IJéĺŁ":111818,"çľĭä¸įè§ģ":111819,"èĦijåŃIJ":111820,"æĮģæľīçļĦ":111821,"çϽèıľ":111822,"éĹªçĥģ":111823,"åĸĿæ°´":111824,"æİ§åĪ¶ç³»ç»Ł":111825,"ä¸ĵåĮº":111826,"æľĿå»·":111827,"æĪijå¿ĥéĩĮ":111828,"å±ķåİħ":111829,"èľĺèĽĽ":111830,"åĨ»ç»ĵ":111831,"粪":111832,"åºIJ":111833,"åIJij社ä¼ļ":111834,"åĨ³çŃĸéĥ¨ç½²":111835,"çŁŃæľŁåĨħ":111836,"æĸ°ä¸ļæĢģ":111837,"æľĶ":111838,"æĹ¶æĬ¥":111839,"使ä¹ĭ":111840,"åĽłåŃIJ":111841,"åıĤä¸İèĢħ":111842,"çļĦ年轻人":111843,"æīĭ表":111844,"å°ģéĶģ":111845,"为ä»Ģä¹Īä¸į":111846,"åIJ¸çĥŁ":111847,"æ¯Ĵç´ł":111848,"åĪijæ³ķ":111849,"磫æŃ£":111850,"身æĹģ":111851,"åİŁè°ħ":111852,"çĽijæĬ¤":111853,"æŃ¤å¤Ħ":111854,"éĻĤ":111855,"æŀľå®ŀ":111856,"åĮ»çĸĹæľįåĬ¡":111857,"ä¸įåIJĪçIJĨ":111858,"æIJŀ好":111859,"çļĦèĦļæŃ¥":111860,"å¤ĸå¥Ĺ":111861,"ç¶ĵéģİ":111862,"æĶ¾ç¼ĵ":111863,"åģľçķĻ":111864,"æĺŁçIJĥ":111865,"çļĦä¸ĢéĿ¢":111866,"åĩłä½ķ":111867,"è½®åĽŀ":111868,"æ¯Ľå·¾":111869,"ä¿®çIJĨ":111870,"ä¸įçŁ¥ä¸į":111871,"ä¸įçŁ¥ä¸įè§ī":111872,"æķ´ä¸ªäºº":111873,"æ¯ģçģŃ":111874,"åı°å·ŀ":111875,"使çĶ¨å¯¿åij½":111876,"é»ijçϽ":111877,"æij¸ç´¢":111878,"é¼łæłĩ":111879,"éĿ©æĸ°":111880,"麵":111881,"ä¸ĵéĹ¨ä¸º":111882,"å¾Īå¤ļæľĭåıĭ":111883,"å·¥ä½ľç»Ħ":111884,"åIJĪå½±":111885,"çĤºä»Ģ麼":111886,"æŀģ度":111887,"çļĦè¿ĽæŃ¥":111888,"å½ĵä¹ĭ":111889,"å½ĵä¹ĭæĹł":111890,"å½ĵä¹ĭæĹłæĦ§":111891,"è´´è¿ij":111892,"尺度":111893,"åľ¨çİ°åľº":111894,"éĻį临":111895,"åħ»èĢģéĩij":111896,"ç£ķ":111897,"åı¯ä»¥ä½¿":111898,"管çIJĨæ°´å¹³":111899,"æľ¬æĬ¥è®°èĢħ":111900,"æ³ķ令":111901,"åį¡è½¦":111902,"ä¸ľæµ·":111903,"å¤ļéĩį":111904,"åħ¶éĹ´":111905,"ç´Ļ":111906,"éĩįå¤§é¡¹çĽ®":111907,"æ±Ĺæ°´":111908,"ç»Ħå§Ķä¼ļ":111909,"ä¿¡æģ¯åħ¬å¼Ģ":111910,"ä¸į论æĺ¯":111911,"ä¸ĢåIJ¬":111912,"èĴ¸æ±½":111913,"æıŃç§ĺ":111914,"è¶ħéģİ":111915,"触åıij":111916,"婦":111917,"åħ³èģĶ交æĺĵ":111918,"å°±ç»Ļ大家":111919,"好ä¹ħ":111920,"åĢŁè´·":111921,"游æĪıè§Ĵèī²":111922,"å¼ĢåIJ¯äºĨ":111923,"æİł":111924,"åħļçļĦåįģä¹Ŀ":111925,"ä¸ĭ鼨":111926,"çŁŃæĹ¶éĹ´åĨħ":111927,"å¯ħ":111928,"导åħ¥":111929,"å·¥ä½ľç»ıéªĮ":111930,"ä¹Łåıªèĥ½":111931,"鼷éľĨ":111932,"è·Łè¿Ľ":111933,"åį¡éĢļ":111934,"é¢ĩæľī":111935,"æľºä½ĵ":111936,"æĪĺ士èģĮä¸ļ":111937,"女主":111938,"ä½ĵåĪ¶æľºåζ":111939,"è¶³åįı":111940,"èĪĴéĢĤçļĦ":111941,"åĢŁåı£":111942,"æī¹åΤ":111943,"æķ°å̼":111944,"諾":111945,"éĺ¿æĭī伯":111946,"åĺİ":111947,"æħ¶":111948,"达人":111949,"å¼Ģæ°´":111950,"å¤§éĽ¨":111951,"温室":111952,"ä½İè¿·":111953,"ä»įæĹ§":111954,"éªĹåŃIJ":111955,"亲å±ŀ":111956,"çIJĨæĻº":111957,"æľ¬åŁºéĩij":111958,"å¨ħ":111959,"åĨĻåŃĹæ¥¼":111960,"å¢Ļå£ģ":111961,"宵":111962,"èϽçĦ¶æĺ¯":111963,"顺çĿĢ":111964,"åħ«åį¦":111965,"åķĨç͍":111966,"ä¸į失":111967,"è¿·èĮ«":111968,"顺便":111969,"æļijæľŁ":111970,"æ¬ºè´Ł":111971,"é¢ijé¢ij":111972,"è¯¥æł¡":111973,"æĸĻçIJĨ":111974,"æ·±æĥħ":111975,"åīįéĶĭ":111976,"ä¿ĿèŃī":111977,"èģĮä¸ļçĶŁæ¶¯":111978,"åħ¬å¼Ģåıij":111979,"åħ¬å¼Ģåıijè¡Į":111980,"åħ¥æĪ·":111981,"éłĵ":111982,"å̾åIJ¬":111983,"éŃģ":111984,"æĦīæĤ¦":111985,"åĽŀåIJĪ":111986,"åħ¨åĬĽä»¥":111987,"åħ¨åĬĽä»¥èµ´":111988,"åĥ¹å̼":111989,"èĥ½åĬĽå¼º":111990,"ç»ıå¼Ģ":111991,"ç»ıå¼ĢåĮº":111992,"è¿ľæĸ¹":111993,"çļĦéģĵçIJĨ":111994,"缴åįĩ":111995,"缴åįĩæľº":111996,"为主é¢ĺçļĦ":111997,"ç»ĻæĤ¨":111998,"è¿ĺæĥ³":111999,"æ¯ĶæĪij":112000,"åĨľçī§":112001,"æµ·åºķ":112002,"çŃ¾è®¢äºĨ":112003,"对äºİæĪij们":112004,"æĹ¶è®¸":112005,"éĶ®çĽĺ":112006,"å®ŀéĻħæİ§åζ":112007,"çļĦæ¨¡æł·":112008,"åıįæĺłäºĨ":112009,"代åĬŀ":112010,"åĮ»ç͍":112011,"éĽĨç»ĵ":112012,"åıijå±ķåīįæĻ¯":112013,"æĮĩçĿĢ":112014,"åįİåĮĹ":112015,"è¿Ļåĩłä¸ª":112016,"åIJįæ°Ķ":112017,"åĤįæĻļ":112018,"èĩªåıij":112019,"æ³¢åħ°":112020,"大åĬĽæİ¨è¿Ľ":112021,"èĩªç§°":112022,"èįĨå·ŀ":112023,"æIJį害":112024,"äºĨä¸Ģåı¥":112025,"æľĢåĪĿçļĦ":112026,"éĩijèŀįå᱿ľº":112027,"æĢĢ念":112028,"è¡Įåĭķ":112029,"女æİĴ":112030,"ä¸įè§£":112031,"ä¼łéĶĢ":112032,"转载请":112033,"饰åĵģ":112034,"åıªä¸º":112035,"ä¸İä¼Ĺ":112036,"ä¸İä¼Ĺä¸įåIJĮ":112037,"èĥ½èĢĹ":112038,"èı©æıIJ":112039,"è¿ij两年":112040,"è¿Ķ乡":112041,"马ä¸Ĭå°±":112042,"äºĮçŃīå¥ĸ":112043,"水管":112044,"æ³ķåѦ":112045,"çģŃçģ«":112046,"大å§IJ":112047,"åij¨è½¬":112048,"æľīæľŁ":112049,"æľīæľŁå¾Ĵ":112050,"æľīæľŁå¾ĴåĪij":112051,"å°įæĸ¹":112052,"ç¥ŀèī²":112053,"æ²¹èĦĤ":112054,"ä¸īçĤ¹":112055,"ä¸įåĪ©äºİ":112056,"äºĭä¸ļéĥ¨":112057,"å°±è·Ł":112058,"å¼ĢæĶ¯":112059,"å°ı女åŃ©":112060,"åħ±åIJĮåĬªåĬĽ":112061,"çĶļèĩ³è¿ĺ":112062,"è¿ĻåIJį":112063,"è¿Ļç¬Ķ":112064,"çݯåį«":112065,"æľīç§į":112066,"è§ĨåĬĽ":112067,"çĨŁçŁ¥":112068,"åħ¬ç§¯éĩij":112069,"æ¶Īéĺ²å®īåħ¨":112070,"é¢ĩ为":112071,"大èħ¿":112072,"éĿ¶":112073,"çķĪ":112074,"æľįåĬ¡åĮº":112075,"å¼Ģåĩº":112076,"深度èŀįåIJĪ":112077,"æĹłå¿§":112078,"æŁ¥éĺħ":112079,"ç»Īç»ĵ":112080,"ä¿Ŀç¨İ":112081,"è¨İè«ĸ":112082,"å½ĵåģļ":112083,"è·³èĪŀ":112084,"寧":112085,"女çİĭ":112086,"è®°èĢħåľ¨":112087,"åħ¨äº§ä¸ļéĵ¾":112088,"è´¯éĢļ":112089,"åħ´ä¸ļ":112090,"éĻįåΰ":112091,"å°ģéĿ¢":112092,"åħ¨éĿ¢æİ¨è¿Ľ":112093,"奶èĮ¶":112094,"éĢīåĿĢ":112095,"äºĨä¸Ģåľº":112096,"åIJĮä¼´":112097,"议论":112098,"æIJĵ":112099,"诸èijĽ":112100,"诸èijĽäº®":112101,"å¹²åĺĽ":112102,"æµģæĦŁ":112103,"ä¸ĵä¸ļçŁ¥è¯Ĩ":112104,"ç͵ç«Ļ":112105,"åĩıå¼±":112106,"åĩºåħ¥":112107,"åIJĦçľģ":112108,"éĿŀ常é«ĺ":112109,"åľ°æ¯¯":112110,"åıijæĸĩ":112111,"çĦī":112112,"çĥ§çĥ¤":112113,"å£ģ纸":112114,"æģ¶åĮĸ":112115,"èĬ¸":112116,"èĥĸåŃIJ":112117,"çĩĴ":112118,"çľģéĴ±":112119,"çĻ¾å¼º":112120,"çIJĨ工大åѦ":112121,"éĴ¢æĿIJ":112122,"åĽ½æľīèµĦ产":112123,"æĪĺæľº":112124,"æ³Ħéľ²":112125,"åIJİéĿ¢çļĦ":112126,"æ°´èµĦæºIJ":112127,"æ¢ħèĬ±":112128,"åĨĻçĿĢ":112129,"ä¹ĭ声":112130,"æĹłåı¯":112131,"æĺİæľĿ":112132,"ç«ĭæĸ¹ç±³":112133,"ç·£":112134,"æĶ¾è¿ĩ":112135,"ç¦ıçͰ":112136,"å¾Ĺä½ı":112137,"åıĹä¼Ĺ":112138,"ä¸Ń级":112139,"çĹħåıĺ":112140,"ä¸Ģçŀ¬éĹ´":112141,"æĿĥéĩį":112142,"人æĢ§åĮĸ":112143,"åĮ»çĸĹåį«çĶŁ":112144,"ä¸įåΰä½į":112145,"æĻºèĥ½å®¶å±ħ":112146,"饮ç͍":112147,"æ¼Ķåıĺ":112148,"é«ĺç´łè´¨":112149,"ä¹Ļæĸ¹":112150,"åģľçķĻåľ¨":112151,"èİ·æī¹":112152,"ç©¿æ¢Ń":112153,"å®¢åľº":112154,"æĮ½åĽŀ":112155,"京åŁİ":112156,"çĶŁåij½åĬĽ":112157,"實éļĽ":112158,"çĩĪ":112159,"åĨįçݰ":112160,"çݰå®ŀä¸Ń":112161,"æľīä¿¡å¿ĥ":112162,"çĸıéĢļ":112163,"åĺ´åĶĩ":112164,"鼷éĶĭ":112165,"èıľåįķ":112166,"éħ¯":112167,"è¶ħé«ĺ":112168,"å¾Īé«ĺåħ´":112169,"çĶŁæ®ĸ":112170,"éĢłä»·":112171,"误åĮº":112172,"æĨĭ":112173,"好æ¶Īæģ¯":112174,"å´Ń":112175,"以èĩ´":112176,"å¼Ģçİ©ç¬ij":112177,"çĽijè§Ĩ":112178,"å·¡å¯Ł":112179,"å¾·å·ŀ":112180,"æĹ©æĹ©":112181,"éĹªç͵":112182,"æĪªåĽ¾":112183,"åı¯ä»¥æł¹æį®":112184,"æīĭèīº":112185,"æİ¥è½¨":112186,"ç§įæĹı":112187,"æĢĢéĩĮ":112188,"åİ»åĮ»éĻ¢":112189,"ä¸ĢäºĮ":112190,"å¼ĢéĺĶ":112191,"åĩıéĢŁ":112192,"ä½Ĩä»İ":112193,"éĢĻä¸Ģ":112194,"åĩıåħį":112195,"主é¢ĺæķĻèĤ²":112196,"å¼Ģ工建设":112197,"蹦":112198,"æľĪ饼":112199,"ä¸ĭæ²ī":112200,"å°Ĭ严":112201,"éĻĩ":112202,"å®ŀæľ¨":112203,"å»łåķĨ":112204,"声称":112205,"èĢĥåľº":112206,"å¸ĥé²ģ":112207,"èĩªæĿ¥":112208,"èĩªæĿ¥æ°´":112209,"éĴ¾":112210,"年以ä¸Ĭ":112211,"大åıĶ":112212,"ä»ĸå·²ç»ı":112213,"åħ¨æĿij":112214,"èģĶç³»ç͵è¯Ŀ":112215,"为导åIJij":112216,"åΤå¤Ħ":112217,"对éĺµ":112218,"缮æ¨Ļ":112219,"åIJįé¢Ŀ":112220,"客æ°Ķ":112221,"横åIJij":112222,"çŃīåĨħ容":112223,"åĩłçĤ¹":112224,"è°Ī论":112225,"ä¸įä¹ı":112226,"å±ķçݰåĩº":112227,"è¾ĥéķ¿":112228,"éĢĨ转":112229,"å°ıæĻĤ":112230,"æĺ¯å¤ļä¹Ī":112231,"æľ¬æľĪ":112232,"è¿ijè§Ĩ":112233,"æĪIJç«ĭ以æĿ¥":112234,"代表çĿĢ":112235,"æĬ¥å¤į":112236,"æĪıæĽ²":112237,"è¨ŃåĤĻ":112238,"åħ¥èĤ¡":112239,"å¾ģæľį":112240,"é«ĺåĩº":112241,"èĪŀåı°ä¸Ĭ":112242,"å¿ĥåĬ¨":112243,"两çĤ¹":112244,"缸çķ¶":112245,"èĻĽ":112246,"主页":112247,"åĩłå®¶":112248,"æĹłä¸į":112249,"åįıå®ļ":112250,"æĸIJ":112251,"å¯ĵæĦı":112252,"åħ¨çº¿":112253,"æįķé±¼":112254,"åı¯ä»¥ä»İ":112255,"æľīè¿Ļæł·çļĦ":112256,"æģ¶éŃĶ":112257,"åĮħåŃIJ":112258,"æģ¤":112259,"å¼Ģå¥ĸç»ĵæŀľ":112260,"ä¸įæŃ»":112261,"èĹį":112262,"å¼¯æĽ²":112263,"海峡":112264,"éĶĢæ¯ģ":112265,"çļĦçĭ¬çī¹":112266,"示æĦı":112267,"ä¸įèĥ½åĨį":112268,"èĥ½æĬĬ":112269,"éĺ²çº¿":112270,"ä¸įå°ijäºİ":112271,"æ±Ģ":112272,"çļĦéĤ£ä¸Ģ":112273,"羣æĥħ":112274,"åŀ®":112275,"被æīĵ":112276,"åĽ½å®ī":112277,"ç¾İå¦Ļ":112278,"è¿Ļåĩł":112279,"åĩºéģĵ":112280,"æľįåĬ¡äºİ":112281,"æĪIJæŀľè½¬åĮĸ":112282,"æīįåįİ":112283,"天é¹ħ":112284,"åĩłä¸ªäºº":112285,"åĢĺèĭ¥":112286,"èĢ½è¯¯":112287,"æĬĹæĪĺ":112288,"è¡ĮéĬ·":112289,"æĿ¥è¢Ń":112290,"åĢŁéĮ¢":112291,"èįīèİĵ":112292,"ä¸¥æł¼æī§è¡Į":112293,"举è¡ĮäºĨ":112294,"å¤ĸç±į":112295,"已达":112296,"æĿijåħļæĶ¯éĥ¨":112297,"è¡Ŀ":112298,"éĻįèĩ³":112299,"æµ·éĩı":112300,"é¤IJé¦Ĩ":112301,"æĢ¥å¿Ļ":112302,"æ·±è¿ľ":112303,"å¾Ģè¿Ķ":112304,"ç¨İåĬ¡å±Ģ":112305,"å¹¿æ³ĽåºĶç͍":112306,"è®®åijĺ":112307,"æĹłæķĮ":112308,"çľ¼åħī":112309,"çĥŃè¡Ģä¼łå¥ĩ":112310,"æŃIJ":112311,"äºĨäºĽ":112312,"è¿ĿèĥĮ":112313,"è¿Ļæĺ¯ä¸Ģç§į":112314,"ä¸į稳å®ļ":112315,"大家åĪĨ享":112316,"表çı¾":112317,"åīįåįģ":112318,"è·¯è¿ĩ":112319,"æĴ©":112320,"åIJĮæĥħ":112321,"ä¹łä¿Ĺ":112322,"åıijè´¢":112323,"åºĶæľīçļĦ":112324,"æĿİæŁIJ":112325,"èĤĽ":112326,"马åħĭ":112327,"éĢļåijĬ":112328,"巨人":112329,"ä¸ĢåĽ¢":112330,"éĢĻæ¬¡":112331,"ä¸įäºĨè§£":112332,"æĸ½è¡Į":112333,"èij¡èIJĦçīĻ":112334,"åıĺå¾ĹæĽ´åĬł":112335,"æı£":112336,"åĪĽæĸ°èĥ½åĬĽ":112337,"çķħéĶĢ":112338,"表æī¬":112339,"æ¯ĶåĪ©":112340,"æ¯ĶåĪ©æĹ¶":112341,"åĮ»çĸĹä¿ĿéĻ©":112342,"æĵį纵":112343,"伤亡":112344,"æµİå®ģ":112345,"åıĺäºĨ":112346,"æľ¬æ¬¡æ´»åĬ¨":112347,"åľŁè±ª":112348,"æĥ³åĬŀæ³ķ":112349,"æĺķ":112350,"å½ĵæĻļ":112351,"åĩºå±Ģ":112352,"çĥŃè®®":112353,"è°Īè°Ī":112354,"æĻĭåįĩ":112355,"åĬ¿å¿ħ":112356,"çϻ山":112357,"éĤ£åĦ¿":112358,"åIJĥåΰ":112359,"ä¹ĭåŁİ":112360,"å¿«æĿ¥":112361,"æ¹Ľæ±Ł":112362,"第ä¸ī个":112363,"åħ¨éĿ¢æıIJåįĩ":112364,"å¥ĸåѦ":112365,"å¥ĸåѦéĩij":112366,"æĬķåħ¥ä½¿ç͍":112367,"é½IJé²ģ":112368,"åı¯ä»¥æĬĬ":112369,"åĴĮä»ĸçļĦ":112370,"è´ŃæĪ¿èĢħ":112371,"æŃ£å¼ıåIJ¯åĬ¨":112372,"åįİæ¶¦":112373,"ä¸įæĸŃå®ĮåĸĦ":112374,"éĴ¢æĿ¿":112375,"累积":112376,"满èĦ¸":112377,"åĽĽæĸ¹":112378,"è´¢çī©":112379,"ä»ĸ们ä¼ļ":112380,"å¤ıæĹ¥":112381,"éĤ£ä¸ªäºº":112382,"éĿłçĿĢ":112383,"çĤ¹äºĨ":112384,"çĤ¹äºĨçĤ¹å¤´":112385,"æ©ĭ":112386,"åıĪ好":112387,"åıĪ好åıĪ":112388,"åıĪ好åıĪå¿«":112389,"éĺµéĺµ":112390,"å°ģ建":112391,"æľ¬çͰ":112392,"çī©ä¸ļæľįåĬ¡":112393,"èĩªè´¸åĮº":112394,"åIJı":112395,"便åĪ©åºĹ":112396,"åĽ½å®¶æłĩåĩĨ":112397,"éĿ¢ç²ī":112398,"èī°è¾Ľ":112399,"æĶ»åħ³":112400,"æīĵåĮħ":112401,"车éĺŁ":112402,"人éĢī":112403,"åı¯ä¸įæĺ¯":112404,"äºĮåįģå¹´":112405,"åIJįå¸Ī":112406,"æµ¦ä¸ľ":112407,"åħ¬è¯ģ":112408,"è¿IJéĢģ":112409,"æĺ¯æľĢ好çļĦ":112410,"æŁĶåĴĮ":112411,"çİĭæŁIJ":112412,"çĹħæĪ¿":112413,"åĨ¶éĩij":112414,"ä¸Ģä»¶äºĭæĥħ":112415,"åį¤":112416,"åı¯æİ§":112417,"çīŁ":112418,"æĭĤ":112419,"å·²äºİ":112420,"人éĢł":112421,"çĶŁçī©åĮ»èį¯":112422,"ä½ĵçݰåĩº":112423,"èĤ²åĦ¿":112424,"èĢģå®ŀ":112425,"åľĸçīĩ":112426,"諸":112427,"ç´¯äºĨ":112428,"æĦŁåħ´è¶£çļĦ":112429,"åĽ¾çīĩæĿ¥æºIJ":112430,"ä¹Łæĺ¯ä¸Ģç§į":112431,"æ¾İæ¹ĥæĸ°éĹ»":112432,"æĹ¶è¡¨ç¤º":112433,"åħīè¾ī":112434,"æĬ¥åºŁ":112435,"å²ģæĹ¶":112436,"éħ®":112437,"æ£Ģä¿®":112438,"åıĺéĢŁ":112439,"åıĺéĢŁç®±":112440,"åľ¨èģĮ":112441,"éı¡":112442,"æįĤ":112443,"çĿ£åĬŀ":112444,"æ°¸ä¸į":112445,"åģļä¸ĢäºĽ":112446,"åİĨæĹ¶":112447,"å·¥ç¨ĭæľºæ¢°":112448,"æģ°å½ĵ":112449,"å°±åľ¨äºİ":112450,"ç§°åij¼":112451,"éĢļ常æĺ¯":112452,"æł·å¼ı":112453,"åij¨ä¸Ģ":112454,"èĭ±éķij":112455,"åĿĩ线":112456,"ä¼łéĹ»":112457,"ç͍æĪ·ä½ĵéªĮ":112458,"èµŀåIJĮ":112459,"骨æĬĺ":112460,"为主ä½ĵ":112461,"æ±Łå±±":112462,"æ¸ħæľĿ":112463,"æĶĢåįĩ":112464,"ä¸įçĽ¸ä¿¡":112465,"éĿ´":112466,"æŃ¦åĬŁ":112467,"åĭ¤åĬ³":112468,"æĿ¥æī¾":112469,"å°ĨæĮģç»Ń":112470,"丫头":112471,"æ¨Ļæºĸ":112472,"裴":112473,"深深çļĦ":112474,"åŃķèĤ²":112475,"è§ĦåĪĴ建设":112476,"æ¸ħçν":112477,"ç²¾åĩĨæī¶è´«":112478,"æīĵçł´äºĨ":112479,"è¿Ļä¸Ģ天":112480,"å·¥ä½ľæĢ»ç»ĵ":112481,"æĹħç¨ĭ":112482,"举èIJ¥":112483,"æĶ¾å°Ħ":112484,"æľīåĩłä¸ª":112485,"éĿŀçī©è´¨":112486,"åIJĥå¾Ĺ":112487,"åŨ":112488,"ä¼ļåıijçĶŁ":112489,"篮æĿ¿":112490,"å¼Ģå°ģ":112491,"麻å°Ĩ":112492,"èııæ³½":112493,"ä¸įåIJĪ":112494,"ç³»åĪĹ产åĵģ":112495,"èѬå¦Ĥ":112496,"ç¾İèªī":112497,"èĩªå·±åĸľæ¬¢":112498,"交æĺĵä¸Ńå¿ĥ":112499,"åIJĪåͱ":112500,"使æĪij":112501,"åĥıç´ł":112502,"带éĺŁ":112503,"ä½Ĩ对äºİ":112504,"æĬĬè¿Ļ个":112505,"èĤĿèĦı":112506,"åįķ纯çļĦ":112507,"æĶ»åĿļæĪĺ":112508,"缼ä¼ļ":112509,"åijµæĬ¤":112510,"æªĢ":112511,"èµ¶ä¸Ĭ":112512,"æ¥Ĭ":112513,"ä¹ħäºĨ":112514,"ç¡Ŀ":112515,"çŃĶé¢ĺ":112516,"ä¿ĿæĮģçĿĢ":112517,"è§ģè¯Ĩ":112518,"çĤ¹åĦ¿":112519,"åįĬ个æľĪ":112520,"æ»ĩ":112521,"浸泡":112522,"ä¼łéĢģ":112523,"åľ¨å¸Ĥåľºä¸Ĭ":112524,"ä¹ĭ乡":112525,"çī¹éķ¿":112526,"éĽŀ":112527,"èªł":112528,"身å¤Ħ":112529,"æŁłæª¬":112530,"身穿":112531,"çľģåħ¬å®ī":112532,"çľģåħ¬å®īåİħ":112533,"åıĻåĪ©äºļ":112534,"åĩłåĪĨéĴŁ":112535,"人åĢij":112536,"åľ°æ®µ":112537,"èĩªåѦ":112538,"ä¹Łè¶ĬæĿ¥è¶Ĭ":112539,"èģĮæĿĥ":112540,"æĸ§":112541,"èĩ»":112542,"å½Ĵ纳":112543,"驾é©Ń":112544,"éĥ¨åĪĨåľ°åĮº":112545,"没æľīæĥ³åΰ":112546,"æĴĩ":112547,"ä¹Įé²ģ":112548,"ä¹Įé²ģæľ¨":112549,"ä¹Įé²ģæľ¨é½IJ":112550,"èĤ²äºº":112551,"çļĦæŃ¥ä¼IJ":112552,"å»¶æľŁ":112553,"æ²¹æ°Ķ":112554,"åģļå®Į":112555,"åľ£åľ°":112556,"丰åİļ":112557,"宽带":112558,"åı¯éĿłçļĦ":112559,"åºŃéĻ¢":112560,"åŃľ":112561,"å°ı康社ä¼ļ":112562,"å®īåħ¨ç®¡çIJĨ":112563,"年第":112564,"æİĴ污":112565,"èĥĮåĮħ":112566,"å®¶ä½ı":112567,"åħ¶å®ŀå°±æĺ¯":112568,"ä¼ļè§ģ":112569,"帮åĬ©ä¼ģä¸ļ":112570,"ç½ijè´Ń":112571,"æĺ¯ä¸įä¼ļ":112572,"飯åºĹ":112573,"æŃ»åİ»":112574,"åħįçĸ«åĬĽ":112575,"æľķ":112576,"åĸĿäºĨ":112577,"轻微":112578,"个æľĪåĨħ":112579,"ç»ĦåĽ¢":112580,"åĴĮå®ĮåĸĦ":112581,"鸽":112582,"æıIJéĢŁ":112583,"西å®īå¸Ĥ":112584,"ä¸Ńå¿ĥ主任":112585,"æĹ¶éĹ´ä¸º":112586,"æľŁæĿĥ":112587,"è¶ķ":112588,"ä¸įä»ħè¦ģ":112589,"æľįä»İ":112590,"é¡ĺæĦı":112591,"ä¸įå°ı":112592,"ä¸įå°ıçļĦ":112593,"ç°ĩ":112594,"窦":112595,"åĪĩæĪIJ":112596,"åĵĪåĪ©":112597,"å¤©çľŁ":112598,"ä¸Ģ次次":112599,"éĩijå¸ģ":112600,"æĢİä¹Īèĥ½":112601,"ç½ijè´·":112602,"ä¼ļ计å¸Ī":112603,"çŁŃ缺":112604,"对æłĩ":112605,"åıĺå¾ĹæĽ´":112606,"åīįåĩłå¤©":112607,"éĺ²æ±Ľ":112608,"彩èϹ":112609,"åĵģä½į":112610,"è¡¨æł¼":112611,"严å¯Ĩ":112612,"æ¯ĽåĪ©çİĩ":112613,"çļĦåį±å®³":112614,"å½ķåζ":112615,"æ°´åĬ¡":112616,"èĥ½å¤Łè®©":112617,"å¹³æĿ¿":112618,"ä¹³æĪ¿":112619,"è¸ıå®ŀ":112620,"é¦ĸåĪĽ":112621,"é¦Ļèķī":112622,"æĬ¥è¡¨":112623,"ä¸ĢæĬ¹":112624,"åĩºçĶŁäºİ":112625,"è²»ç͍":112626,"åĩºè®©":112627,"åIJĪæ³ķæĢ§":112628,"å°¼åħĭ":112629,"åĨ°åĨ·":112630,"é¦Ļæ°Ķ":112631,"åı·ç§°":112632,"èµ·çłģ":112633,"åŁİåİ¿":112634,"çİ©èĢį":112635,"ä¸ĬéĻIJ":112636,"ä¼ļ议精ç¥ŀ":112637,"æĹģè¾¹çļĦ":112638,"便ä¼ļ":112639,"æıŃæĻĵ":112640,"çİ©æĦı":112641,"éĽªå±±":112642,"åIJijçĿĢ":112643,"ä½ĵèĤ²åľ¨çº¿":112644,"说æĺİ书":112645,"åĮĸèĤ¥":112646,"åħļç»Ħ书记":112647,"åĬ¨äºº":112648,"ä¹ĭæīĢ":112649,"æľĪèĩ³":112650,"æľĢå¿«çļĦ":112651,"èĬĤåģĩæĹ¥":112652,"ä¸ĵåľº":112653,"èĢĥä¸Ĭ":112654,"çªŁ":112655,"é²ľè¡Ģ":112656,"è¾ĥ强çļĦ":112657,"æĤĦçĦ¶":112658,"å¤ļä¸ªåĽ½å®¶":112659,"çªĹå¸ĺ":112660,"æŀģå¤§åľ°":112661,"ä¸įç͍æĭħå¿ĥ":112662,"è¿Ļä¹Īåģļ":112663,"åĥ¹æł¼":112664,"ç¾İ丽乡æĿij":112665,"å°ıæĹ¶åĨħ":112666,"ç´§è¿«":112667,"大çģ«":112668,"èĥ³èĨĬ":112669,"æĵįä½ľç³»ç»Ł":112670,"æ®ĭçķĻ":112671,"åĨĻåĩº":112672,"ç¦ģå¿Į":112673,"åĬłçĽŁåºĹ":112674,"è¿ijçϾ":112675,"便åı¯":112676,"æķ´æĶ¹æİªæĸ½":112677,"éĩĩ访æĹ¶":112678,"åĶIJ代":112679,"æ·±åĮĸæĶ¹éĿ©":112680,"çŁ¢":112681,"éĥ½åĸľæ¬¢":112682,"è¶ĬæĿ¥è¶Ĭé«ĺ":112683,"èĬ±æľµ":112684,"头çĸ¼":112685,"å®ī康":112686,"å¢ŀéķ¿çİĩ":112687,"çľ¼çľĭ":112688,"å°±æĺ¯ä¸ºäºĨ":112689,"èĢĮ导èĩ´":112690,"åĬłå¿«å»ºè®¾":112691,"èĬ±æł·":112692,"åĨħå¿ĥçļĦ":112693,"æĺĨå±±":112694,"è³ĩæºIJ":112695,"åĽŀåΰ家":112696,"èıĬèĬ±":112697,"æ°´éĩı":112698,"å¾ģä¿¡":112699,"è¡ĮæĶ¿åĮº":112700,"ä¹ĥæĺ¯":112701,"æĬķèµĦé¡¹çĽ®":112702,"å«ģç»Ļ":112703,"ç¥ŀåľ£":112704,"稳":112705,"æľ¬æĿ¥å°±":112706,"éĢIJä¸Ģ":112707,"èģĮä¸ļæĬĢæľ¯":112708,"ä¸įèī¯ä¿¡æģ¯":112709,"æīĺè¿IJ":112710,"åIJ¯ç¤º":112711,"ä¹ĭåħ§å®¹":112712,"飶":112713,"奢åįİ":112714,"æıŃ示":112715,"æĪIJ为ä¸ŃåĽ½":112716,"æ¶Īè´¹åĵģ":112717,"åħ¬ç͍":112718,"æIJŀå®ļ":112719,"è¯·ä½ł":112720,"æŁļ":112721,"åĨħè¡£":112722,"ä½Ĩä»ĸ们":112723,"ä¿Ŀ湿":112724,"该åİ¿":112725,"饱åĴĮ":112726,"æİ¨åIJij":112727,"èµĦæĸĻæĺ¾ç¤º":112728,"ä¸įå½±åĵį":112729,"人人éĥ½":112730,"åıijå±ķ壮大":112731,"åħ»èĢģæľįåĬ¡":112732,"çĶŁæ´»æ°´å¹³":112733,"åIJĦåİ¿":112734,"ä½łéľĢè¦ģ":112735,"说çļĦæĺ¯":112736,"å¤ĸåªĴ":112737,"æŃ¤äºº":112738,"次è¦ģ":112739,"追赶":112740,"åºĶ该å¦Ĥä½ķ":112741,"æĹ¥åĩĮæĻ¨":112742,"çķ¥æľī":112743,"éĥ½æĥ³":112744,"游ä¹IJ":112745,"è¿Ļ款游æĪı":112746,"平淡":112747,"æĺ¯ä¸ĢåĢĭ":112748,"å¤ĩèĢĥ":112749,"åζæŃ¢":112750,"ä¸Ģå®ļèĥ½":112751,"å¾Ĵå¼Ł":112752,"以çĤº":112753,"åįĥåħĥ":112754,"äºĶåħŃ":112755,"迪士":112756,"迪士尼":112757,"éĺ³æĢ§":112758,"åĨ¬å¥¥ä¼ļ":112759,"å°±æĺ¯åĽłä¸º":112760,"æĮĤéĴ©":112761,"æ¦ĤåĨµ":112762,"åıªè¦ģæľī":112763,"æ²¹çĶ»":112764,"åľ°æłĩ":112765,"ä¸Ĭè°ĥ":112766,"产ä¸ļåĽŃåĮº":112767,"åħ«åįģ":112768,"棱":112769,"æ¶²æĻ¶":112770,"æĿijå§Ķä¼ļ":112771,"çŃ¾çº¦ä»ªå¼ı":112772,"è¿Ļåħ¶ä¸Ń":112773,"åĨĻéģĵ":112774,"示èĮĥåŁºåľ°":112775,"éĩİçĶŁåĬ¨çī©":112776,"鼻åŃIJä¿¡ç®±":112777,"åĽ½éĻħè´¸æĺĵ":112778,"人æĿĥ":112779,"ä¿Ŀ管":112780,"èĭ¥æĤ¨":112781,"åİĭæĬij":112782,"黼":112783,"åľ°çľĭçĿĢ":112784,"éϰ":112785,"ä¸Ģå¹´å¤ļ":112786,"ä»İ容":112787,"ä¸ŃæĸŃ":112788,"å¯Łè§ī":112789,"移交":112790,"é͝":112791,"æĪĸ许æĺ¯":112792,"ç¶ł":112793,"两项":112794,"æľĢåĸľæ¬¢":112795,"æľĢåĸľæ¬¢çļĦ":112796,"å¤ľéĩĮ":112797,"åIJĮä»ģ":112798,"åĪĽæĸ°é©±åĬ¨":112799,"è°ģèĥ½":112800,"飾":112801,"åħīåѦ":112802,"åİĦ":112803,"èĦ±é¢ĸ":112804,"èĦ±é¢ĸèĢĮåĩº":112805,"迦":112806,"æĺ¯ä¸įåı¯èĥ½":112807,"窥":112808,"èĥ½æ»¡è¶³":112809,"宽度":112810,"伦çIJĨ":112811,"åı¯ä»¥èİ·å¾Ĺ":112812,"转ä¼ļ":112813,"å±±æĿij":112814,"éĵºè®¾":112815,"åĩºåĩ»":112816,"æĸĩåĮĸèīºæľ¯":112817,"ä¼ļ议室":112818,"æŃĮ声":112819,"æ»Ķ":112820,"èIJİ缩":112821,"æľįåĬ¡åijĺ":112822,"åıij表äºĨ":112823,"æĸ¼æĺ¯":112824,"æĺİç¡®è§Ħå®ļ":112825,"ç»´å¥ĩ":112826,"水产":112827,"æĬķä¿Ŀ":112828,"éĺ´éģĵ":112829,"èµ¶å¿«":112830,"夺å¾Ĺ":112831,"ä¸ĭåįķ":112832,"çµģåħ¬åı¸":112833,"çݯç»ķ":112834,"å½Ī":112835,"ä½ľé£İ建设":112836,"æĹħ游æĻ¯åĮº":112837,"æľīæĽ´å¤ļçļĦ":112838,"丰å¯Įå¤ļ彩":112839,"çIJĨ财产åĵģ":112840,"åĩºå·®":112841,"ä»İ严治":112842,"ä»İ严治åħļ":112843,"çĽ¸å¹²":112844,"æ»ĭ润":112845,"主åĬŀæĸ¹":112846,"åī§åľº":112847,"æ»ļçIJĥ":112848,"æ©Ħæ¦Ħ":112849,"èĩªä¸»åĪĽæĸ°":112850,"éĢļå¾Ģ":112851,"æł¼å°Ķ":112852,"çļĦä¼ĺçĤ¹":112853,"èĥĮä¸Ĭ":112854,"çªľ":112855,"çĪĨåĩº":112856,"å¹³æķ´":112857,"ä¸ĢèĦļ":112858,"åħ¨ä½ĵåijĺå·¥":112859,"éĻIJå®ļ":112860,"åŁİéķĩåĮĸ":112861,"æ·³":112862,"éĢ®æįķ":112863,"è¡ĮåĬ¨è®¡åĪĴ":112864,"æīĵå¾Ĺ":112865,"åİļéĩį":112866,"纪å½ķçīĩ":112867,"åĿļä¿¡":112868,"央ä¼ģ":112869,"åĨįä¹Łä¸į":112870,"天涯":112871,"åıĤèĢĥèµĦæĸĻ":112872,"æľīæ¯Ĵ":112873,"åIJ¸çº³":112874,"è¶Ĭåıij":112875,"éĩįè¦ģæĦıä¹ī":112876,"åĽ½éĺ²éĥ¨":112877,"è¿Ļ个è¡Įä¸ļ":112878,"æĻ®æŁ¥":112879,"å¼ĤæĢ§":112880,"å»¶è¿Ł":112881,"å°ıå¹ħ":112882,"èĥħ":112883,"综åIJĪæ²»çIJĨ":112884,"æŃ£æĺ¯åĽłä¸º":112885,"产ä¸ļç»ĵæŀĦ":112886,"çłĶç©¶æĬ¥åijĬ":112887,"åģľä¸ĭ":112888,"éķ¿èĢģ":112889,"éĩĿå°į":112890,"åįĹ京å¸Ĥ":112891,"çģĮæºī":112892,"转è¿IJ":112893,"欺è¯Ī":112894,"éĢłåģĩ":112895,"åĪĨå¸ĥå¼ı":112896,"æĦŁè§¦":112897,"æĪijå½ĵæĹ¶":112898,"åıijè§ī":112899,"åĽ¾çº¸":112900,"æĶ¹èī¯":112901,"çĭłçĭł":112902,"åĨ²åĪº":112903,"æĸ°äº¬":112904,"æĸ°äº¬æĬ¥":112905,"ç¥ŀåύ":112906,"秸ç§Ĩ":112907,"çĪº":112908,"å°Ĩè¿İæĿ¥":112909,"工信":112910,"工信éĥ¨":112911,"éĻIJéĩı":112912,"æŃ¢æįŁ":112913,"åѦä¼ļäºĨ":112914,"åįİ缼":112915,"åįİçĽĽé¡¿":112916,"å¾Įä¾Ĩ":112917,"ä¸ĭéĿ¢æĺ¯":112918,"ä¸ĭéĿ¢æĺ¯å°ı":112919,"æIJ¬è¿IJ":112920,"ç¾İæľ¯é¦Ĩ":112921,"æ¸ħåĩī":112922,"å¤ļå¹´åīį":112923,"è©ŀ":112924,"åįĥç±³":112925,"表述":112926,"æ±ŁéŨ":112927,"åĬłæ²¹ç«Ļ":112928,"æľ¬èĥ½":112929,"导读":112930,"åĽ´è§Ĥ":112931,"å¹¶åIJij":112932,"åŁºæľ¬æĥħåĨµ":112933,"æīĵå¼ĢäºĨ":112934,"è¿Ļä¸ī个":112935,"æ±ķ头":112936,"强æľīåĬĽ":112937,"强æľīåĬĽçļĦ":112938,"è¿Ľåľº":112939,"ä¹Ŀæ±Ł":112940,"çIJĥæĺŁ":112941,"好çľĭçļĦ":112942,"大æĪ·":112943,"湯":112944,"å¥ĩå¦Ļ":112945,"ä¹IJåύ":112946,"æĪijçļĦå¿ĥ":112947,"çľī头":112948,"åĨľä¸ļçĶŁäº§":112949,"ç¼ĸçłģ":112950,"åŁºç¤":112951,"åŁºç¤İ":112952,"天æĸĩ":112953,"åĢĭ人è³ĩè¨Ĭ":112954,"åİ»è¿ĩ":112955,"èģĨåIJ¬":112956,"æĶ¾åģĩ":112957,"ä¸įåħ·å¤ĩ":112958,"æ·Ģç²ī":112959,"大佬":112960,"åħ¨å¤©":112961,"åħ¨éĿ¢å»ºæĪIJ":112962,"éļIJå½¢":112963,"ç¼ħç͏":112964,"åIJ³":112965,"è¡ĮæĶ¿æī§æ³ķ":112966,"åŁİåł¡":112967,"èİ«æĸ¯":112968,"èİ«æĸ¯ç§ij":112969,"æīĢæľīæĿĥ":112970,"éĽĨåľĺ":112971,"å±Ģåī¯å±Ģéķ¿":112972,"åĩłä¹İ没æľī":112973,"æ´ģåĩĢ":112974,"ç͵影èĬĤ":112975,"åŃ©ç«¥":112976,"æīĢåģļçļĦ":112977,"æ¸ħ代":112978,"æĸ°çīĪ":112979,"éĵĿåIJĪéĩij":112980,"为æĬĵ":112981,"为æĬĵæīĭ":112982,"åΤå®ļ":112983,"çī¹äº§":112984,"æīĭæ©Ł":112985,"ä¸įåı¯æĪĸ":112986,"ä¸įåı¯æĪĸ缺":112987,"å¸Ĥåľºè§Ħ模":112988,"åĿ¯":112989,"åĮ»åѦéĻ¢":112990,"å¿«è¦ģ":112991,"èĮľ":112992,"æĬĺèħ¾":112993,"äºĨè¿ĩæĿ¥":112994,"æĬ¥åijĬæľŁåĨħ":112995,"çī©ç§į":112996,"ç»Łè®¡å±Ģ":112997,"æī©å»º":112998,"æ¶ħ":112999,"责任人":113000,"éĺİ":113001,"è¯Ħè®®":113002,"å¾Ģäºĭ":113003,"æīĢ示":113004,"æķ´æ´ģ":113005,"éĹºèľľ":113006,"æĹħéĢĶ":113007,"å®ŀè®Ń":113008,"ä¹ĭç§°":113009,"巴士":113010,"éĢŁåº¦å¿«":113011,"ä¸įä»ħå¦ĤæŃ¤":113012,"å®Ŀè´µçļĦ":113013,"åºŁçī©":113014,"河水":113015,"æİ¥çº³":113016,"ç²¾æ¹Ľ":113017,"åħ¶æ¬¡æĺ¯":113018,"顺德":113019,"åħ¬åħ±åį«çĶŁ":113020,"è¤IJèī²":113021,"ä¸įæĥľ":113022,"æĬĢæľ¯æľįåĬ¡":113023,"æİ·":113024,"æ±ĤèģĮ":113025,"ä¸ī峡":113026,"æĬķåħ¥åΰ":113027,"太åIJİ":113028,"åIJ¯åĬ¨ä»ªå¼ı":113029,"缴æİ¥å½±åĵį":113030,"æĸ°æ¬¾":113031,"个乡éķĩ":113032,"çĻ¾äº¿":113033,"庫":113034,"ä¹ŁæŃ£æĺ¯":113035,"åı¶çīĩ":113036,"æľĢæĹ©çļĦ":113037,"æĪĺ绩":113038,"å·¥æľŁ":113039,"æĻļæľŁ":113040,"è¿Ļæł·è¯´":113041,"è¯įè¯Ń":113042,"ä¾Ħ":113043,"æķ£çĥŃ":113044,"éĽĨæĪIJçĶµè·¯":113045,"åIJįè¯į":113046,"æĻºåķĨ":113047,"æĭ¥åłµ":113048,"çĭĤ欢":113049,"è¿Ļèά":113050,"浴室":113051,"åijķåIJIJ":113052,"æľªæĿ¥åıijå±ķ":113053,"ä¸īä½įä¸Ģä½ĵ":113054,"åªĴé«Ķ":113055,"ä¸įå¾Ĺ转载":113056,"åĽłä¸ºå¥¹":113057,"æĺ¾ç¤ºå±ı":113058,"ä¾Ľæļĸ":113059,"éĨ«éĻ¢":113060,"æľīæĦıæĢĿ":113061,"æľīæĦıæĢĿçļĦ":113062,"娱ä¹IJåŁİ":113063,"åįµå·¢":113064,"åĪĽéĢłåĬĽ":113065,"竳èĬĤ":113066,"人大常å§Ķ":113067,"èĢĮçİ°åľ¨":113068,"å¤ĸå©Ĩ":113069,"å¢ŀæĮģ":113070,"äºĶåįĥ":113071,"èĢģå¸Ī们":113072,"æ´ĽæĿī":113073,"æ´ĽæĿī磶":113074,"æİĮæı¡äºĨ":113075,"ä¸ŃåĽ½æĸĩåĮĸ":113076,"æĸ°æĶ¿":113077,"主è¦ģç͍äºİ":113078,"åıijçĥ§":113079,"类似äºİ":113080,"åĮĹæŀģ":113081,"æĪij们认为":113082,"弥漫":113083,"åħ¨çIJĥç»ıæµİ":113084,"é¢IJ":113085,"ä¸Ģèµ·è£ħä¿®":113086,"æĶĴ":113087,"æĭīèIJ¨":113088,"帶ä¾Ĩ":113089,"åĨ·æ°´":113090,"ä¸īåĨľ":113091,"æĿ¿æĿIJ":113092,"è¿ŀè¿ŀ":113093,"éĵ®":113094,"ç»ıèIJ¥çIJĨ念":113095,"山顶":113096,"å¾Īæĥ³":113097,"çĺ«":113098,"å§ĭç»Īä¿ĿæĮģ":113099,"åľ¨å¹¿å·ŀ":113100,"ä¸įåIJĮæĦı":113101,"åıĺåİĭ":113102,"åıĺåİĭåύ":113103,"产éĶĢ":113104,"表éĿ¢ä¸Ĭ":113105,"æīĢ以ä»ĸ":113106,"ç»ıéªĮ丰å¯Į":113107,"éĥ¨å§Ķ":113108,"åħµåĽ¢":113109,"æīĢè¿°":113110,"æķ¦çħĮ":113111,"ç»ıèIJ¥èĮĥåĽ´":113112,"åı£è¯Ń":113113,"失信":113114,"æ¯ı个人çļĦ":113115,"æīĭæĮģ":113116,"æģIJæħĮ":113117,"åł¡åŀĴ":113118,"é¦ħ":113119,"éĵ¸éĢł":113120,"æĭ¿åĩºæĿ¥":113121,"æİ¢æµĭ":113122,"大家ä¸Ģèµ·":113123,"奧":113124,"å®ŀè´¨æĢ§":113125,"å°ıåĦ¿":113126,"èĩºåįĹ":113127,"èĩºåįĹå¸Ĥ":113128,"å¼ĢåıijèĢħ":113129,"åı¯æł¹æį®":113130,"ç®±åŃIJ":113131,"饺åŃIJ":113132,"å¿ĻçĿĢ":113133,"æĿ¥ä¸įåıĬ":113134,"çĽ¸ä¼ł":113135,"åĽ½ç½ij":113136,"èħ¹æ³»":113137,"è¿ĻéĩĮæľī":113138,"é£İæĻ¯åĮº":113139,"åıĤä¿Ŀ":113140,"æŃ»èĢħ":113141,"æĪ´ä¸Ĭ":113142,"æ©Łæ§ĭ":113143,"è¯ķéªĮåĮº":113144,"ä¼łæİĪ":113145,"æµ·è¾¹":113146,"泪水":113147,"缸åħ³åĨħ容":113148,"éĥijå·ŀå¸Ĥ":113149,"åħijçݰ":113150,"两åij¨":113151,"èĬľæ¹ĸ":113152,"ç͵åŃIJä¿¡æģ¯":113153,"红å¤ĸ":113154,"æĹħ游å±Ģ":113155,"å¾Ģå¾Ģä¼ļ":113156,"è¿ħçĮĽ":113157,"ä¼łçľŁ":113158,"æ¸ħæ¾Ī":113159,"å°±è¿ij":113160,"微信群":113161,"ç³»åĪĹæ´»åĬ¨":113162,"ç»ı常ä¼ļ":113163,"è§Ĥæµĭ":113164,"å¿ĥå¾Ĺä½ĵä¼ļ":113165,"éĻĪåĪĹ":113166,"åĮĹæĸĹ":113167,"è«®":113168,"諮詢":113169,"è¿ĺæĺ¯ä¼ļ":113170,"æµĭç®Ĺ":113171,"æĺŁç©º":113172,"宽容":113173,"çī©ä¸ļåħ¬åı¸":113174,"æĪĴæĮĩ":113175,"å¸ħæ°Ķ":113176,"ä¸ĢæŃ¥æŃ¥":113177,"åħ±é¸£":113178,"åĨ³ä¸į":113179,"æİ¥ç®¡":113180,"å¦ĩèģĶ":113181,"æ¯Ķåĸ»":113182,"é²ģè¿ħ":113183,"æĮģçºĮ":113184,"çĽ¸äº²":113185,"å¨ģå°¼æĸ¯äºº":113186,"ç«ĭ项":113187,"åĪĿå§ĭ":113188,"èĩªåζ":113189,"è¿Īè¿Ľ":113190,"ä¸Ĭæ±½":113191,"å®ıä¼Ł":113192,"æł¹æľ¬æ²¡æľī":113193,"æĸ°åĨłçĹħæ¯Ĵ":113194,"åĵªç§į":113195,"康åħ»":113196,"è¡°èĢģ":113197,"å½ķåĥı":113198,"é«Ķé©Ĺ":113199,"ç»ijå®ļ":113200,"é¢Ŀ头":113201,"äºĶæľĪ":113202,"èĬ±å¼Ģ":113203,"ä¸Ģ线åŁİå¸Ĥ":113204,"åĪ°åľº":113205,"æĬķéĻį":113206,"çĹĺçĹĺ":113207,"åıĹä¸įäºĨ":113208,"æīİæł¹":113209,"æĽ´ä½ķåĨµ":113210,"æĬ½æŁ¥":113211,"åĩºè·¯":113212,"审议éĢļè¿ĩ":113213,"ä¸įåĥħ":113214,"èī²è°ĥ":113215,"çϾä½Ļ":113216,"èĤłéģĵ":113217,"æ·±åİļçļĦ":113218,"马åĬĽ":113219,"æĹ©æĻļ":113220,"æŃĮèĪŀ":113221,"éĺ²æĻĴ":113222,"æľĢåIJİä¸Ģ个":113223,"樱èĬ±":113224,"å°ıä¼ĻåŃIJ":113225,"åľ¨å½ĵåľ°":113226,"å°ıä¼Ļ伴们":113227,"èµ·æºIJ":113228,"åħ¨åªĴä½ĵ":113229,"ç°½":113230,"éħ±æ²¹":113231,"æĹłè®ºå¦Ĥä½ķ":113232,"裤åŃIJ":113233,"åģľäº§":113234,"ä¸įçͱå¾Ĺ":113235,"çīµå¼ķ":113236,"ä¼łåĬ¨":113237,"ä¹Ŀé¾Ļ":113238,"åĬłåĽº":113239,"ä¹Łä¸įæķ¢":113240,"æĬĢæľ¯æĶ¯æĮģ":113241,"ä¸Ĭå²Ĺ":113242,"ç»ıéªĮåĴĮ":113243,"æł¼æŀĹ":113244,"åIJ¸éĻĦ":113245,"æľªæĪIJå¹´":113246,"奢ä¾Īåĵģ":113247,"追æį§":113248,"好ä¸į容æĺĵ":113249,"èķ´åIJ«":113250,"ä¿Ŀå®ļ":113251,"æĬ¥ä¸ļ":113252,"æµ·åĨħå¤ĸ":113253,"ä½łçİ°åľ¨":113254,"æ²¹èĢĹ":113255,"è´¨éĩı管çIJĨ":113256,"æ½ľæ°´":113257,"ä¸½æ±Ł":113258,"转åħ¥":113259,"è¿Ļä¹Īä¹ħ":113260,"æĺİ代":113261,"责任åζ":113262,"éĩįå·¥":113263,"大巴":113264,"触åıĬ":113265,"èµ·åĪĿ":113266,"大å¦Ī":113267,"æĸ¯å¡Ķ":113268,"åĨĽå·¥":113269,"书éĻ¢":113270,"峨":113271,"æİ¨çIJĨ":113272,"è¿Ļç¯ĩæĸĩ竳":113273,"è¿ģç§»":113274,"åľ¨åIJĮä¸Ģ":113275,"ç»Ĩç»Ĩ":113276,"åīĬå¼±":113277,"书æĪ¿":113278,"ç¶ĵ常":113279,"è¯ķé¢ĺ":113280,"æĤ£ä¸Ĭ":113281,"çĻ«çĹ«çĹħ":113282,"åĨ²æ´Ĺ":113283,"å¤ĸæı´":113284,"åħĭåζ":113285,"åįģæľĪ":113286,"åģļä¸įåΰ":113287,"ç¾İåĮĸ":113288,"å¦ĤæľŁ":113289,"è¿ĺéľĢ":113290,"å¤©åºľ":113291,"å°±æĦıåij³çĿĢ":113292,"çļĦç¡®æĺ¯":113293,"éªĹå±Ģ":113294,"å°ıç»ĦèµĽ":113295,"è©©":113296,"ä¹Ŀå¹´":113297,"æĻĵå¾Ĺ":113298,"çłĶ究人åijĺ":113299,"大éħĴåºĹ":113300,"ç§ijåѸ":113301,"åħŃåIJĪ":113302,"çķĮå®ļ":113303,"车载":113304,"å¼ĢçĿĢ":113305,"毫æĹłçĸij":113306,"毫æĹłçĸijéĹ®":113307,"è¿IJç»´":113308,"ç¦ģåĮº":113309,"èĦ±èIJ½":113310,"讲å¸Ī":113311,"产ä¸ļåŁºåľ°":113312,"é«ĺæĢ§èĥ½":113313,"åħī彩":113314,"çݰéĺ¶æ®µ":113315,"åĩ¿":113316,"è¾ĥå·®":113317,"饮çĶ¨æ°´":113318,"éĸĭçϼ":113319,"ç½ijåIJ§":113320,"çĮ´åŃIJ":113321,"æŃ¦æŀĹ":113322,"å®īåİ¿":113323,"ä¸įåı¯æĢĿ":113324,"ä¸įåı¯æĢĿè®®":113325,"éĬ·åĶ®":113326,"è´«ç©·":113327,"为åķ¥":113328,"éºĵ":113329,"å¹¾åĢĭ":113330,"è§Ħ模以ä¸Ĭ":113331,"æıļ":113332,"è¢«åĽ°":113333,"缺å¸Ń":113334,"å¿«é¤IJ":113335,"æĬ¢åįł":113336,"æĻŁ":113337,"å¤įæ´»":113338,"æľ¬æĬ¥è®¯":113339,"åĪĽä¸ĭ":113340,"海滩":113341,"éĩı产":113342,"å¦Ĥä½ķåİ»":113343,"车ä½į":113344,"å¯ĩ":113345,"äºĮåįģåĽĽ":113346,"ç»ıæµİæįŁå¤±":113347,"éħįå¥Ĺ设æĸ½":113348,"åŁºæľ¬éĿ¢":113349,"äºī论":113350,"就好åĥı":113351,"çłĶç©¶æĪIJæŀľ":113352,"éĻĪè¿°":113353,"æīĵåĬ¨":113354,"ä¸ĭå·´":113355,"ç§ĴéĴŁ":113356,"对人ä½ĵ":113357,"æĬĢæľ¯çłĶåıij":113358,"åİŁåŃIJ":113359,"æĺ¯ä¸Ģ项":113360,"äºĨä¸Ģ份":113361,"æĮĩçͲ":113362,"ç͍éĩı":113363,"è¿ĺä¸įå¤Ł":113364,"æĶ¿åºľéĩĩè´Ń":113365,"çŁ¥è¯ĨçĤ¹":113366,"ä¸ŃåĽ½æ¢¦":113367,"å¾Īå¼Ģå¿ĥ":113368,"礼è²Į":113369,"éĿŀ常å¤ļ":113370,"éĿŀ常å¤ļçļĦ":113371,"åĽļ":113372,"æĹħé¦Ĩ":113373,"å°½æĥħ":113374,"æŃĮåͱ":113375,"æ²Ļé¾Ļ":113376,"车åİ¢":113377,"客æµģ":113378,"åģıå·®":113379,"积累äºĨ":113380,"æ¡Ķ":113381,"çĶ»çĶ»":113382,"ä¹ŁåºĶ该":113383,"åºĶç͍ç¨ĭåºı":113384,"èĥĥèĤł":113385,"以å¾Į":113386,"豪å®ħ":113387,"æ·±åĬłå·¥":113388,"缴è¨Ģ":113389,"åĮĸçŁ³":113390,"åĽ½éģĵ":113391,"ä¸ĥ个":113392,"ä»İèĢĮ使":113393,"èĤłèĥĥ":113394,"æĹ¥è¶ĭ":113395,"çζåŃIJ":113396,"ç·©":113397,"æĭĽçīĮ":113398,"产å¦ĩ":113399,"çķªèĮĦ":113400,"æĪijéĻ¢":113401,"建çŃijå·¥ç¨ĭ":113402,"å±ķè§Īä¼ļ":113403,"å®¶éķ¿ä»¬":113404,"åĨľä½ľçī©":113405,"æĹ¥å¤ľ":113406,"æĶ»æĵĬ":113407,"è§Ħéģ¿":113408,"èĪŁå±±":113409,"便æ°ij":113410,"åħ«åŃĹ":113411,"ä¸įæĽ¾":113412,"æĶ¯éħį":113413,"çĨ¬å¤ľ":113414,"人é¡ŀ":113415,"ç´ĢéĮĦ":113416,"ç»ıèIJ¥æ´»åĬ¨":113417,"大涨":113418,"å¸Ĥå§Ķ常å§Ķ":113419,"åĪĨéIJĺ":113420,"ä¸Ģ个èģĮä¸ļ":113421,"çĹħåĽł":113422,"è¿Ļ对äºİ":113423,"ä¸įå¾Ĺä¸į说":113424,"åıijçĶµæľº":113425,"æľīæīĢ帮åĬ©":113426,"缮æłĩä»»åĬ¡":113427,"åĽłåľ°":113428,"åĽłåľ°åζ":113429,"åĽłåľ°åĪ¶å®ľ":113430,"å°Ĩè¾¾åΰ":113431,"ç²Ĺç³Ļ":113432,"ç¨³åĽº":113433,"å«£":113434,"çİ°åľ¨å¾Īå¤ļ":113435,"ä¸ĸçķĮ级":113436,"å¼łæŁIJ":113437,"çĤ¹ç¼Ģ":113438,"èijµ":113439,"社ä¼ļç»Ħç»ĩ":113440,"å¾ĢåIJİ":113441,"åĬłæģ¯":113442,"åĻªå£°":113443,"æľīåħ´è¶£":113444,"为æĤ¨æıIJä¾Ľ":113445,"æ²¹æ¼Ĩ":113446,"ç¬¬åĽĽå±Ĭ":113447,"çļĩ宫":113448,"ä¹Ĵä¹ĵ":113449,"ä¹Ĵä¹ĵçIJĥ":113450,"éļ¨èijĹ":113451,"éģ©åIJĪ":113452,"åįĹéĿŀ":113453,"æĵ´":113454,"西æ´ĭ":113455,"åĬłå¯Ĩ":113456,"æĪIJåĬŁä¸¾åĬŀ":113457,"åı£æ°´":113458,"æĪIJ年人":113459,"æīĢæıIJä¾ĽçļĦ":113460,"éļĶå£ģ":113461,"åľ¨äº¬":113462,"å½ĵåľ°æĹ¶éĹ´":113463,"çŃīåIJĦç§į":113464,"é£İæ°Ķ":113465,"å±ĭéĩĮ":113466,"ä¸ĢåŃĹ":113467,"çļĦæĹ¶éĹ´éĩĮ":113468,"åĺ¿åĺ¿":113469,"快讯":113470,"ä¸Ńåľº":113471,"ä¸Ģçĵ¶":113472,"æ»ķ":113473,"é¢Ĩè·ij":113474,"好èݱ":113475,"好èݱåĿŀ":113476,"没åħ³ç³»":113477,"åĩºå¢ĥ":113478,"ä¸įæĺ¯ä¸Ģ个":113479,"éĥ½æĺ¯éĿŀ常":113480,"éľĩåĬ¨":113481,"èİ·èĥľ":113482,"åįļå¼Ī":113483,"æĬļåħ»":113484,"对ç«ĭ":113485,"æľįåĬ¡æľºæŀĦ":113486,"è°£è¨Ģ":113487,"社ä¼ļç§ijåѦ":113488,"åIJ¬è¯´è¿ĩ":113489,"æī³":113490,"æīĵ磨":113491,"åı£æľį":113492,"好åĥıæĺ¯":113493,"以åıĬåħ¶ä»ĸ":113494,"çī¹è´¨":113495,"亲è¿ij":113496,"ä¸Ģç»ı":113497,"æ¶Ŀ":113498,"éŃĶæľ¯":113499,"éģĵ路交éĢļ":113500,"è§Ħ模æľĢ大":113501,"å®ŀæĸ½æĦıè§ģ":113502,"ä¹ŀ":113503,"ä¸Ģä¸ĸ":113504,"åŁ·è¡Į":113505,"è±Ĩçĵ£":113506,"åĪĹ为":113507,"æķħ宫":113508,"çĶŁåij½åij¨æľŁ":113509,"ä¸īç§įèģĮä¸ļ":113510,"详ç»Ĩä»ĭç»į":113511,"å®Įå¤ĩ":113512,"å²©çŁ³":113513,"éļıæīĭ":113514,"飲":113515,"æķĪæŀľåĽ¾":113516,"ç§ĭåĨ¬":113517,"åĬŁå¾·":113518,"è§Ħ竳åĪ¶åº¦":113519,"æĹ¥æ¸IJ":113520,"æīĢéľĢè¦ģ":113521,"æīĢéľĢè¦ģçļĦ":113522,"å²Ľä¸Ĭ":113523,"åĩºåľŁ":113524,"åĽ¾æĸĩ":113525,"ç§ijæĬĢè¿ĽæŃ¥":113526,"éĢļèĥĢ":113527,"èĢģ太太":113528,"èĭĹæľ¨":113529,"éĵ¶å·Ŀ":113530,"å¸IJ篷":113531,"éĿŀè¦ģ":113532,"éħįç͵":113533,"å¤Ħå¢ĥ":113534,"èĤ¡æĿĥæĬķèµĦ":113535,"ä¸Ģ缴åΰ":113536,"åĿĩçͱ":113537,"æĬĹæĹ¥":113538,"æį®ä»ĭç»į":113539,"ä½łåĸľæ¬¢":113540,"åĪĽæĸ°åŀĭ":113541,"åıĺè¿ģ":113542,"è§Ĩå¯Ł":113543,"å®Įåħ¨æ²¡æľī":113544,"åħĥæĹ¦":113545,"åı¯ä¿¡":113546,"åı¦è¡Į":113547,"æĿij级":113548,"åħ¥åľº":113549,"æIJŃæ¡£":113550,"ä¹ŁåĽłæŃ¤":113551,"æį¢æĪIJ":113552,"ä¸įè´Ł":113553,"äºĨ大éĩıçļĦ":113554,"éģĶåΰ":113555,"å¸Ĥåİ¿":113556,"å¹´è¼ķ":113557,"å¿«æīĭ":113558,"å¸Įå°Ķ":113559,"èĩªèIJ¥":113560,"éĽªèĬ±":113561,"æIJģ":113562,"çľ¼ç§ij":113563,"æŃ£ç¢º":113564,"çļĦå§¿æĢģ":113565,"åĿļå®ŀçļĦ":113566,"æĮĩ纹":113567,"æªĶæ¡Ī":113568,"ç½®äºİ":113569,"佩æľį":113570,"豪éŨ":113571,"åĵĴ":113572,"æģ°å¥½":113573,"æª¢æŁ¥":113574,"åĪĿè¡·":113575,"大åĶIJ":113576,"约ä¼ļ":113577,"èĴ¸åıij":113578,"çѹåĪĴ":113579,"å¹´ç»Ī":113580,"è¡Įæ¥Ń":113581,"åħ±éĿĴ":113582,"åħ±éĿĴåĽ¢":113583,"ä¼ļå¼ķèµ·":113584,"ä¸Ńç§ij":113585,"ä¸Ńç§ijéĻ¢":113586,"æĮ¯åĬ¨":113587,"åį´åıijçݰ":113588,"ä¸įåĬ¨äº§":113589,"èĮ¹":113590,"æĪ¿éĹ´éĩĮ":113591,"è´§å¸ģæĶ¿çŃĸ":113592,"æ²»çĻĤ":113593,"æħİéĩį":113594,"å¡ŀå°Ķ":113595,"åĽ½ç±į":113596,"åĽłæŀľ":113597,"çŃīçī¹çĤ¹":113598,"山谷":113599,"ä¸ĭè¼ī":113600,"è®ĵæĪij":113601,"饮éħĴ":113602,"è¿Ļ个游æĪı":113603,"ç»Ŀ大éĥ¨åĪĨ":113604,"åĴ¨è¯¢æľįåĬ¡":113605,"干活":113606,"è®®ä¼ļ":113607,"æ¦Ĥè¿°":113608,"åĪĨåĮº":113609,"æŃ»åIJİ":113610,"ç«ĻçĿĢ":113611,"主è¦ģé¢Ĩ导":113612,"åIJĮåŁİ":113613,"大æłij":113614,"对åѦçĶŁ":113615,"社ä¼ļä¿ĿéĻ©":113616,"å¢ŀèµĦ":113617,"主人åħ¬":113618,"å®£ä¼łæķĻèĤ²":113619,"æĸĩåĮĸ交æµģ":113620,"客æĪ¶":113621,"çŁ¥åIJįåĵģçīĮ":113622,"æ»ŀåIJİ":113623,"äºĴè¡¥":113624,"æĦŁäºº":113625,"åī¿":113626,"åIJİ代":113627,"äºī龸":113628,"æķĻèĤ²åٹè®Ń":113629,"éĿĻèĦī":113630,"ä¹ıåĬĽ":113631,"说åĩºæĿ¥":113632,"çİĭèĢħèį£èĢĢ":113633,"åĢ«":113634,"åįĩèµ·":113635,"éķģ":113636,"åĩºæ¸¸":113637,"éĢļè¡Įè¯ģ":113638,"å·¥ä½ľå²Ĺä½į":113639,"åĮłå¿ĥ":113640,"æĭ¿æĿ¥":113641,"æ´Ĺè¡£æľº":113642,"æĪijä¸įæĥ³":113643,"é¢Ħè§ģ":113644,"æ¼Ķ示":113645,"ä¸ĢçĽ´æ²¡æľī":113646,"è·Łå¥¹":113647,"对çħ§æ£ĢæŁ¥":113648,"ç°¿":113649,"ä¸ĵå¿ĥ":113650,"è®®äºĭ":113651,"åīį端":113652,"åį¡å°Ķ":113653,"è¨Ńå®ļ":113654,"设置äºĨ":113655,"å©ļ纱":113656,"åľ¨åĽ½å¤ĸ":113657,"åı³ä¾§":113658,"è³¼çī©":113659,"å¥ĩèij©":113660,"å¢ŀåĬłå̼":113661,"好è¿IJ":113662,"åĽ½éĻħæľºåľº":113663,"ä¸ĭç§°":113664,"缮åīį为æŃ¢":113665,"ç¥ŀä»Ļ":113666,"å®ĥåı¯ä»¥":113667,"æ¾Ħæ¸ħ":113668,"èĥ½ä½¿":113669,"游åĩ»":113670,"游åĩ»éĺŁ":113671,"åĩ¹":113672,"ä¸įè¦ģåĨį":113673,"åĨ³èĥľ":113674,"åĨ³æĪĺ":113675,"æĭ½":113676,"缼åħ¸":113677,"å¾Īå¥½åľ°":113678,"æľĢç¾İçļĦ":113679,"åĥļ":113680,"å·´åŁº":113681,"å·´åŁºæĸ¯åĿ¦":113682,"æľĢéĢĤåIJĪ":113683,"é«ĺèģĮ":113684,"ä¿Ŀå§Ĩ":113685,"æİĪæ¬Ĭ":113686,"说åΰè¿ĻéĩĮ":113687,"æİ¨å¼Ģ":113688,"çİĩè¾¾":113689,"ä¸īåĪĨä¹ĭä¸Ģ":113690,"管çIJĨä¸Ńå¿ĥ":113691,"交æ±ĩ":113692,"森æŀĹåħ¬åĽŃ":113693,"å¾Ģä¸Ĭ":113694,"éªijè¡Į":113695,"æį®æŃ¤":113696,"纽带":113697,"ç»ŀ":113698,"ä¸īæĸ¹":113699,"æĦıä¹īä¸ĬçļĦ":113700,"æİ¨è¿Ł":113701,"å¤ļæł·æĢ§":113702,"æĥ³èµ·äºĨ":113703,"æİĴåIJį第":113704,"å·¨é¢Ŀ":113705,"æĿŁç¼ļ":113706,"å®īå®ļ":113707,"äºĭ實":113708,"çļĦæĦ¿æľĽ":113709,"è£ħå¤ĩåζéĢł":113710,"人å±ħ":113711,"人å±ħçݯå¢ĥ":113712,"å¿ĺè®°äºĨ":113713,"该游æĪı":113714,"楼ä¸Ĭ":113715,"å¼Ģä¼ļ":113716,"æģ³":113717,"åıĭæĥħéĵ¾æİ¥":113718,"ç¡Ĵ":113719,"ç»ĻäºĪäºĨ":113720,"åģı好":113721,"åĵī":113722,"交éĢļå®īåħ¨":113723,"éĽĮ":113724,"æ²»çĹħ":113725,"è§īå¾Ĺå¾Ī":113726,"衬衫":113727,"å¿ĥæĦ¿":113728,"æ´ŀå¯Ł":113729,"æ°ijæ£Ģå¯ŁéĻ¢":113730,"æıIJçĤ¼":113731,"è¦ģè¿Ľä¸ĢæŃ¥":113732,"驾车":113733,"æĻ®æĥł":113734,"æķĸ":113735,"ç¦ıéŁ³":113736,"éĢģè¾¾":113737,"è§ĦåĪĴ设计":113738,"æīĭå¥Ĺ":113739,"å®īä¿Ŀ":113740,"è¿ĺä¸įå¦Ĥ":113741,"åīįè¿°":113742,"æłĩè®°":113743,"ç´§æİ¥çĿĢ":113744,"æ§IJ":113745,"æ·±æ·±åľ°":113746,"满满çļĦ":113747,"æĺ¥è¿IJ":113748,"æĹ¥äº§":113749,"çαæĬ¤":113750,"åħ¨æĹ¥":113751,"åħ¨æĹ¥åζ":113752,"转åĬ¨":113753,"ç¥Ńç¥Ģ":113754,"ä¹°ä¸ľè¥¿":113755,"å¯¹æľªæĿ¥":113756,"æ¶Ī失äºĨ":113757,"åļ´éĩį":113758,"ä¸īæĿ¡":113759,"éħ¸å¥¶":113760,"éĽĨåĽ¢èĤ¡ä»½":113761,"西路":113762,"åıªå¾Ĺ":113763,"éĢģåİ»":113764,"çĭłæĬĵ":113765,"åĪ©ç͍çİĩ":113766,"ä¸ĭåij¨":113767,"å¥ĭæĪĺ":113768,"æĺ¥èĬĤæľŁéĹ´":113769,"è´Łè´£ä»»":113770,"æĺĤè´µ":113771,"尾巴":113772,"ç¯ĩæĸĩ竳":113773,"åħ®":113774,"è®ĬæĪIJ":113775,"å¹¹":113776,"çĻ»éĮĦ":113777,"ä½Ī":113778,"å·¥åĮł":113779,"åĵªæĢķæĺ¯":113780,"åıįåĵį":113781,"ç§ĥ":113782,"åĩºè½¨":113783,"æĹ¥åĨĽ":113784,"åIJįèªī":113785,"æķıéĶIJ":113786,"æľįåĬ¡æ°´å¹³":113787,"çħ§å°Ħ":113788,"ä¼Ĭæĭī":113789,"ä¼Ĭæĭīåħĭ":113790,"åĨħéĺģ":113791,"èĬĴæŀľ":113792,"ä¸ĩåĪĨ":113793,"éĢĢæ¬¾":113794,"缴æĴŃéĹ´":113795,"æĭ¿åΰäºĨ":113796,"å°İèĩ´":113797,"空æ°Ķä¸Ń":113798,"客æĪ·æľįåĬ¡":113799,"è¿IJåĬ¿":113800,"ç»ĵçŁ³":113801,"ä¸įå¿ħè¦ģçļĦ":113802,"èĥ¶åĽĬ":113803,"çIJĨä¼ļ":113804,"æĬ½åĩº":113805,"空æ°Ķè´¨éĩı":113806,"æ¯ķ竣æĺ¯":113807,"åĨ·æ¼ł":113808,"ä¸Ģå¦Ĥ":113809,"ä¸Ģå¦ĤæĹ¢":113810,"ä¸Ģå¦ĤæĹ¢å¾Ģ":113811,"æĤ£çĹħ":113812,"åĬłæĮģ":113813,"èµŀåĬ©":113814,"é«®":113815,"åij½ä¸Ń":113816,"æĦıä¹īä¸Ĭ":113817,"ä¸įèĪį":113818,"å쬦":113819,"æīĵæī«":113820,"æĺŁåħī":113821,"æĸŃè£Ĥ":113822,"åħ¨å¥Ĺ":113823,"è£ģå®ļ":113824,"马åħĭæĢĿ":113825,"骨骼":113826,"ä¸Ģè·¯ä¸Ĭ":113827,"å®ļæĹ¶":113828,"å·¥ç¨ĭæĬĢæľ¯":113829,"å½¼å¾Ĺ":113830,"æ±²åıĸ":113831,"ä¸Ģè§Ī":113832,"åIJµæŀ¶":113833,"ä¿Ĺç§°":113834,"æłªæ´²":113835,"åºŁæĹ§":113836,"è¡ĮæĺŁ":113837,"åıijçĶŁåıĺåĮĸ":113838,"é¦ĸä»ĺ":113839,"åįģåĪĨéĩįè¦ģ":113840,"æĬĬè¿ĻäºĽ":113841,"ç¥ŀå·ŀ":113842,"æıIJä¾ĽåķĨ":113843,"楷":113844,"å±İ":113845,"çĬ¶åħĥ":113846,"åŁİå¢Ļ":113847,"çľĭä¸Ģçľĭ":113848,"çĶŁäº§èĥ½åĬĽ":113849,"åŁºæľ¬ä¸Ĭéĥ½":113850,"æīĵæī°":113851,"åĪĿ次":113852,"åĩºç¤º":113853,"åħ¶ä¸Ńä¸Ģ个":113854,"çĶŁæĢģç³»ç»Ł":113855,"æīĭæİĮ":113856,"æµİåįĹå¸Ĥ":113857,"åľĭåħ§":113858,"æŃ£å̼":113859,"å¹¾ä¹İ":113860,"æİ¨èįIJéĺħ读":113861,"è¿Ń代":113862,"è°ĥä¾ĥ":113863,"饮åĵģ":113864,"å¢Ļä½ĵ":113865,"åıĺçݰ":113866,"äºĨ好":113867,"äºĨ好åĩł":113868,"ä¸įçķĻ":113869,"çβ":113870,"å°½æĹ©":113871,"æŃ£åľ¨è¿Ľè¡Į":113872,"åĩºéĻ¢":113873,"æĿĢ害":113874,"æıIJ款":113875,"åıijå±ķ空éĹ´":113876,"åīį身":113877,"ä¸įæĸŃå¢ŀ强":113878,"æ·±å±Ĥ次":113879,"容纳":113880,"éĤ£ä»½":113881,"å·¥ä½ľæķĪçİĩ":113882,"æľ¬åĽ½":113883,"失èIJ½":113884,"æŃ£åĽłä¸º":113885,"èĬĤæ°´":113886,"ä¸ĭä¸Ģ代":113887,"çłĶåıijä¸Ńå¿ĥ":113888,"ä¸įçIJĨ":113889,"å®Į好":113890,"ä¿ĿæĬ¤åĮº":113891,"ç»ĵæŀĦè°ĥæķ´":113892,"å¥łå®ļ":113893,"宣称":113894,"éĺ»æĮ¡":113895,"æĴ¤ç¦»":113896,"ä¸įæĸ¹ä¾¿":113897,"åĴķ":113898,"ç¬ijäºĨç¬ij":113899,"çݯå¢ĥ污æŁĵ":113900,"ä½ıæĪ·":113901,"ç»Ŀç¼ĺ":113902,"éϤå°ĺ":113903,"é«ĺå°ļ":113904,"æĢİä¹Īåı¯èĥ½":113905,"éĿ¢èī²":113906,"åķĨæ¥Ń":113907,"çĸ¹":113908,"èµĦæºIJä¼ĺåĬ¿":113909,"è¾ĸåĮºåĨħ":113910,"èĢĢçľ¼":113911,"æij§æ¯ģ":113912,"ä¸ĸçķĮç»ıæµİ":113913,"å¼ķæĿ¥":113914,"ä¸ĢåĪĻ":113915,"æĭĩæĮĩ":113916,"æĬµå¾¡":113917,"éĽį":113918,"åĩĨå¤ĩå·¥ä½ľ":113919,"çıłä¸īè§Ĵ":113920,"ç¨ĢåľŁ":113921,"èİ·å¾ĹæĦŁ":113922,"æĪIJåĬŁçİĩ":113923,"ç½ij约":113924,"ç½ij约车":113925,"èĦIJ":113926,"æķ¬ä¸ļ":113927,"éĩijä»·":113928,"ç²¾é«ĵ":113929,"买车":113930,"åħ³åı£":113931,"åĨįå¤ļ":113932,"æŀģåĵģ":113933,"åIJĦå®¶":113934,"举æĬ¥ç͵è¯Ŀ":113935,"èļĬ":113936,"æĸ¹å½¢":113937,"ç§ijæĬĢæĪIJæŀľ":113938,"æľĢ好æĺ¯":113939,"éĹ®åĢĻ":113940,"红éħĴ":113941,"åĽĽç§į":113942,"ç¿Ĵæħ":113943,"ç¿Ĵæħ£":113944,"åŀ¦":113945,"éĤ£åıª":113946,"é¢ĨæĤŁ":113947,"çľ¼éĥ¨":113948,"æ³°å®ī":113949,"ä»»æľŁ":113950,"磨æįŁ":113951,"æĽ¿æį¢":113952,"åħ¸ç¤¼":113953,"符åIJĪæĿ¡ä»¶":113954,"è¿ĺæľīä»Ģä¹Ī":113955,"åħ±äº«åįķ车":113956,"åı¯åĪĨ为":113957,"åŃ£åIJİ":113958,"åŃ£åIJİèµĽ":113959,"举èİŀå¸Ĥ":113960,"å¿ĥæĦı":113961,"æīŃæĽ²":113962,"ä½ľä¸ºä¸Ģç§į":113963,"è¿Ļéĥ¨åĪĨ":113964,"åıĤä¸İåΰ":113965,"ç½ijçIJĥ":113966,"實çı¾":113967,"ç»Ħè£ħ":113968,"åIJijå¤ĸ":113969,"å·¥ä½ľæĸ¹æ¡Ī":113970,"åįģæĿ¡":113971,"課ç¨ĭ":113972,"颤æĬĸ":113973,"åĵ©":113974,"éĤ®å¯Ħ":113975,"亢":113976,"åħįè²»":113977,"秤":113978,"åºĶæĢ¥ç®¡çIJĨ":113979,"åĽĽäºĶ":113980,"éºĴéºŁ":113981,"å¾ĴæŃ¥":113982,"è¨ĺå¾Ĺ":113983,"çĴIJ":113984,"æĺ¯åIJ¦ä¼ļ":113985,"æĦıè§ģåıįé¦Ī":113986,"éļ¾æĢª":113987,"çªį":113988,"交æİ¥":113989,"两åįĥ":113990,"æĩīç͍":113991,"æľŁéĸĵ":113992,"æIJ¬åΰ":113993,"è®®é¢ĺ":113994,"碧æ¡Ĥ":113995,"碧æ¡ĤåĽŃ":113996,"åģļçĶŁæĦı":113997,"éĻĽä¸ĭ":113998,"è·ĭ":113999,"èĢģ人家":114000,"带åĽŀ":114001,"æŀ¸æĿŀ":114002,"è¡Įéķ¿":114003,"åĨħ容ç®Ģä»ĭ":114004,"梢":114005,"æĮĩæİ§":114006,"éĩįçĹĩ":114007,"ç½ijåıĭ们":114008,"çı¾ä»£":114009,"类产åĵģ":114010,"å¥Ķæ³¢":114011,"渺":114012,"ç²īç¢İ":114013,"è¿Ļåıªæĺ¯":114014,"æ£Ģå¯Łæľºåħ³":114015,"é½Ĭ":114016,"æĪ¿ç§Ł":114017,"å¾·æĭī":114018,"å²ģ以ä¸Ĭ":114019,"纯åĩĢ":114020,"åĪĨå¸ĥåľ¨":114021,"èĥ½å¾Ĺåΰ":114022,"ä¸įå°½":114023,"ç«ŀä»·":114024,"çļĦ带é¢Ĩ":114025,"çļĦ带é¢Ĩä¸ĭ":114026,"ä¸Ńè᝿ĿIJ":114027,"æĿijéķĩ":114028,"ä¸įåı¯éģ¿åħį":114029,"éľ²å¤©":114030,"å°ıå§ijå¨ĺ":114031,"çī©ä»¶":114032,"èijĹä½ľæĿĥ":114033,"æĭĺçķĻ":114034,"éĥ½è§īå¾Ĺ":114035,"æĽ²æĬĺ":114036,"æ·»åĬłåīĤ":114037,"åı¬åĽŀ":114038,"æīİå®ŀæİ¨è¿Ľ":114039,"æĬĦè¢Ń":114040,"åĮĸ身":114041,"缴èIJ¥":114042,"ä¹Łå¸ĮæľĽ":114043,"èį£èªīç§°åı·":114044,"åįĸç»Ļ":114045,"æľīä¸įåIJĮçļĦ":114046,"å¥ĩçī¹":114047,"éĥ½è®¤ä¸º":114048,"å¦ŀ":114049,"æĪIJéķ¿ä¸º":114050,"辩æĬ¤":114051,"主æķĻç»ĥ":114052,"æ³ķå¸ĪèģĮä¸ļ":114053,"æ¤įåħ¥":114054,"索尼":114055,"åIJ¬è¿ĩ":114056,"ä¹łæĥ¯äºĨ":114057,"夺åıĸ":114058,"éŁĵ":114059,"æľ¬è´¨ä¸Ĭ":114060,"æİ¥åĬĽ":114061,"äºij端":114062,"è¦ģåģļ好":114063,"è·¯çģ¯":114064,"åįıåIJĮåıijå±ķ":114065,"æľīå¾ħ":114066,"æ°´åŁŁ":114067,"æIJľçĭIJé¦ĸ页":114068,"è´¨éĩıå®īåħ¨":114069,"åįģäºĮäºĶ":114070,"åĵ®åĸĺ":114071,"èĵ¬åĭĥåıijå±ķ":114072,"åIJį声":114073,"身亡":114074,"çİĭåºľ":114075,"åİŁåĪĻä¸Ĭ":114076,"çĥĺå¹²":114077,"éģĹæ¼ı":114078,"éĿ¢çĽ®":114079,"åĽ½ä¼ļ":114080,"ä¸Ģ缴éĥ½æĺ¯":114081,"æľīä¸Ģä½į":114082,"éħįæľī":114083,"éĻªçĿĢ":114084,"ä¼ģåĽ¾":114085,"æĮīä¸ĭ":114086,"èĵĿåĽ¾":114087,"æ©ĺ":114088,"大å¤ļæĺ¯":114089,"辩论":114090,"æĹĭå¾ĭ":114091,"æĬ¥éĢģ":114092,"æĿ¡è§Ħå®ļ":114093,"åĬ¨éĿĻ":114094,"åĮĪ奴":114095,"æĭľè®¿":114096,"ä¸ĢåĪĢ":114097,"ä»ĸçŁ¥éģĵ":114098,"主æĿĥ":114099,"ä»ĸæĽ¾":114100,"æĴŃç§į":114101,"å£ģåŀĴ":114102,"çī¢è®°ä½¿åij½":114103,"åľ¨è¿Ļæĸ¹éĿ¢":114104,"æīĭèħķ":114105,"æĶ¯æŀ¶":114106,"ä¾Ĩèĩª":114107,"éĩįå¡ij":114108,"å¤ļå±Ĥ次":114109,"ä»ĭè´¨":114110,"éĿ¢åŃĶ":114111,"潮湿":114112,"åİ¿åŁŁ":114113,"游æĪıå½ĵä¸Ń":114114,"å£ŀ":114115,"åĪĹåĩº":114116,"èµĽåĮº":114117,"å¤ļåįĬ":114118,"éĩįçĤ¹å·¥ä½ľ":114119,"æĪij们å¿ħé¡»":114120,"æŁıæŀĹ":114121,"é²ģèĥ½":114122,"æĸ½å±ķ":114123,"åIJĦåĮº":114124,"åħįç¨İ":114125,"èµĽåIJİ":114126,"æľĢéĩįè¦ģ":114127,"ä¸Ģ个好çļĦ":114128,"è¿Ŀæ³ķè¿Ŀè§Ħ":114129,"äºĨè§£æĽ´å¤ļ":114130,"æķ¬è¯·":114131,"ç¬ijçĿĢ说":114132,"ä¸įæĸŃåıijå±ķ":114133,"æijĦå½±å¸Ī":114134,"以éĺ²":114135,"çĤ¸å¼¹":114136,"声åĵį":114137,"ç¤ģ":114138,"æĩ¿":114139,"èĪĨæĥħ":114140,"èĩªçĶ±è´¸æĺĵ":114141,"æķıæį·":114142,"ä¸ī大éĺ¶æ®µ":114143,"èĭĶ":114144,"æĹºåŃ£":114145,"ä¸į满æĦı":114146,"微信åı·":114147,"修为":114148,"çł´è£Ĥ":114149,"éĢĥ离":114150,"æ¯ıèĤ¡":114151,"è¾¾ä¸įåΰ":114152,"æ¯ıå¹´éĥ½":114153,"çģ¯ç¬¼":114154,"æŃ¤åŁºç¡Ģä¸Ĭ":114155,"åĥı个":114156,"åĪĨ娩":114157,"æĻ¾":114158,"ä¸įèĩ³äºİ":114159,"红线":114160,"误解":114161,"ä¸ľè·¯":114162,"æ·®å®ī":114163,"产åѦ":114164,"产åѦçłĶ":114165,"è»ĭ":114166,"è»ĭçĹħ":114167,"åīįæıIJæĺ¯":114168,"æ¯ıä¸Ģ天":114169,"ä¸ĥ大":114170,"æłijåı¶":114171,"èµ°å¾Ĺ":114172,"è¿Ļ两ç§į":114173,"æİıåĩº":114174,"æİIJ":114175,"é¢Ĩ导èĢħ":114176,"ä¸Ģæľµ":114177,"个å¤ļæľĪ":114178,"ä¸Ńåħ³":114179,"ä¸Ńåħ³æĿij":114180,"课åłĤæķĻåѦ":114181,"大åĴĸ":114182,"éģĭç͍":114183,"è¯ļæĦı":114184,"ç»ĦåĽ¾":114185,"è¯ķçĿĢ":114186,"ä¹Ķæ²»":114187,"è¿ĺä¸įæĺ¯":114188,"æľīæĽ´å¥½çļĦ":114189,"åIJİå¤ĩ":114190,"æĸ°çĶŁåĦ¿":114191,"æ°Ķè¡Ģ":114192,"æ²¥éĿĴ":114193,"å±ıéļľ":114194,"æ¥ŃåĭĻ":114195,"æĪij以为":114196,"éķ¿çĽ¸":114197,"èĢģçΏ":114198,"éķĩæ±Ł":114199,"æľºæ¢°è®¾å¤ĩ":114200,"ä½Ĩæĺ¯å¦Ĥæŀľ":114201,"åĿļå®ļä¸į":114202,"åĿļå®ļä¸įç§»":114203,"åĨ²éĶĭ":114204,"ç®Ģ缴æĺ¯":114205,"åĤ¨èĵĦ":114206,"纯ç͵åĬ¨":114207,"漫æŃ¥":114208,"举起":114209,"æģ¶æĢ§":114210,"è¨ĺéĮĦ":114211,"èģĮèĥ½éĥ¨éŨ":114212,"åħ¨éķ¿":114213,"鼻è¦ĸ":114214,"ä¹³èħº":114215,"ä½ķå¤Ħ":114216,"æ¶Īæŀģ":114217,"æŃ£å¤Ħäºİ":114218,"å®īå®ģ":114219,"æĪIJéķ·":114220,"åıĻè¿°":114221,"æºĥçĸ¡":114222,"ä½Ĩçİ°åľ¨":114223,"女æĺŁ":114224,"å©´å¹¼åĦ¿":114225,"æĬķèŀįèµĦ":114226,"éĹ®éĹ®":114227,"æıŃå¼Ģ":114228,"è¯ı":114229,"åIJįå½ķ":114230,"èĺijèıĩ":114231,"åIJĬé¡¶":114232,"æ¹ĸåĮº":114233,"åįĸåľº":114234,"建ç¯":114235,"建ç¯ī":114236,"èݽ":114237,"åIJ¬åIJ¬":114238,"ç«ŀäºīä¼ĺåĬ¿":114239,"åĩºä»»":114240,"æľī两ç§į":114241,"æ©±æŁľ":114242,"褪":114243,"è¯ķåį·":114244,"ç»ıæµİæĬĢæľ¯":114245,"æ·±å±Ĥ":114246,"éĩįè¦ģåĨħ容":114247,"é£İæİ§":114248,"çĬ¶æĢģä¸ĭ":114249,"éĥ¨éĸĢ":114250,"广汽":114251,"è§Ĥæij©":114252,"éģĹçķĻ":114253,"转账":114254,"æĮģä»ĵ":114255,"æĢ»è®¡":114256,"åľĺéļĬ":114257,"æĪ¿ä¸ľ":114258,"éĺĢéŨ":114259,"åħ¬åħ³":114260,"åħ³åĪĩ":114261,"èĤĺ":114262,"æķ¸æĵļ":114263,"ä¸īåįģå¹´":114264,"è§ģè¯ģäºĨ":114265,"å±Ĩ":114266,"çģ°å°ĺ":114267,"æ¦ľé¦ĸ":114268,"è¦ĨçĽĸçİĩ":114269,"ä»Ļ女":114270,"çĶŁäº§æĢ»":114271,"çĶŁäº§æĢ»å̼":114272,"æĪ¿è´·":114273,"æ±ŁåĮº":114274,"åħħçĶµæ¡©":114275,"çϾåIJĪ":114276,"確èªį":114277,"转移åΰ":114278,"éĥ½æĹłæ³ķ":114279,"纪念é¦Ĩ":114280,"çŃ¾ç½²äºĨ":114281,"å¹¶ä¸įå¤ļ":114282,"æĮł":114283,"ä¸į太好":114284,"ä¸ĸ代":114285,"误导":114286,"é«ĺ峰论åĿĽ":114287,"åħ¼å®¹":114288,"龸æ°Ķ":114289,"æĿ¥è®¿":114290,"æīĢ带æĿ¥çļĦ":114291,"æĺ¯ä¸Ģéĥ¨":114292,"æĻļé¥Ń":114293,"åİĨ代":114294,"åIJ¦åīĩ":114295,"ä¹ħä¹ħ":114296,"æľīæķĪæľŁ":114297,"诱åıij":114298,"æĢ»èµĦ产":114299,"æľ¬èº«å°±æĺ¯":114300,"çĶŁäº§åİĤå®¶":114301,"æĹ¶é«¦":114302,"èĢIJç͍":114303,"ä»İå°ıå°±":114304,"æĿ¡çº¦":114305,"èĭ±åĭĩ":114306,"ä¿Ĺè¯Ŀ说":114307,"寺åºĻ":114308,"å¿ĥçIJĨåģ¥åº·":114309,"ä»Ģä¹Īäºĭæĥħ":114310,"æ±īåŃĹ":114311,"çķĻä½ı":114312,"åįĹè·¯":114313,"ä¸ī项":114314,"丢äºĨ":114315,"æĥ³åΰäºĨ":114316,"çѹéĽĨ":114317,"éĻĦåĬłå̼":114318,"西è£ħ":114319,"ä¹ĭä½ľ":114320,"åģļçļĦäºĭ":114321,"çķ¶æĤ¨":114322,"çķ¶æĤ¨åľ¨":114323,"é¦ĸ款":114324,"ä¸įåľ¨ä¹İ":114325,"å·¥ç¨ĭæĸ½å·¥":114326,"éļIJéļIJ":114327,"åıĺ身":114328,"沿éĢĶ":114329,"æĤłæĤł":114330,"ä¿Ŀæļĸ":114331,"çĶŁæ´»åŀĥåľ¾":114332,"渤海":114333,"æŃ¦ä¾ł":114334,"女主è§Ĵ":114335,"举ä¾ĭ":114336,"æ·¨":114337,"çϽé¢Ĩ":114338,"è£ĻåŃIJ":114339,"è¿Ķè¿ĺ":114340,"è¿Īåĩº":114341,"é¾ĻéŨ":114342,"ç»ıæµİä½ĵ":114343,"æĶ¶å®ĺ":114344,"çķĮéĻIJ":114345,"è·³åĩº":114346,"åįĩå̼":114347,"绵éĺ³":114348,"çĸ¤çĹķ":114349,"çľĭæ¸ħ":114350,"æĭĴçµķ":114351,"è¥Ħéĺ³":114352,"课å¤ĸ":114353,"åŃIJåŃĻ":114354,"æŃĮè¯į":114355,"æĪIJåIJį":114356,"溶液":114357,"åĦĴå®¶":114358,"åķĨä¸ļåĮĸ":114359,"辨åĪ«":114360,"å¤ļè¾¾":114361,"ç½ijåºĹ":114362,"ä¹Ŀ大":114363,"ä¹Ŀ大精ç¥ŀ":114364,"æŃ¤ä¸¾":114365,"è¿ŀè½½":114366,"ä¸ĢåĢĭ人":114367,"è³½":114368,"æ¶µçĽĸäºĨ":114369,"è¦ıåĬĥ":114370,"åĽ½æĥħ":114371,"åį«çĶŁåģ¥åº·":114372,"积æŀģåĵįåºĶ":114373,"æĭĻ":114374,"åζåĬ¨":114375,"æĥ³è±¡åĬĽ":114376,"çļĦä¹IJè¶£":114377,"å¼łå®¶çķĮ":114378,"å´İ":114379,"éĩįåŀĭ":114380,"å¤ĸå¢Ļ":114381,"æĶ¾åѦ":114382,"è®¤çľŁåŃ¦ä¹ł":114383,"è´¬å̼":114384,"æ³ķæ¡Ī":114385,"æĬ¤èĤ¤åĵģ":114386,"éĻ·åħ¥äºĨ":114387,"请æĤ¨":114388,"åŀ¢":114389,"æķĻèĤ²èµĦæºIJ":114390,"交æĺĵå¹³åı°":114391,"æĹ¶è£ħ":114392,"ä¼łæŁĵçĹħ":114393,"æ¹ĸæ³Ĭ":114394,"èµĦ管":114395,"åݨå¸Ī":114396,"éĹľéį":114397,"éĹľéįµ":114398,"åĵĪåĵĪåĵĪ":114399,"çĽĹçªĥ":114400,"çĶľç¾İ":114401,"åºĦåĽŃ":114402,"缮åīįå·²ç»ı":114403,"è¾¹ä¸Ĭ":114404,"çģ«èĬ±":114405,"æĬ¥è®°èĢħ":114406,"æģĭæĥħ":114407,"ç´§åĩij":114408,"æ°´æµģ":114409,"è¿Ļæĺ¯æĪij们":114410,"æ³¥åľŁ":114411,"æĽ¾ä»»":114412,"æĸ¹è¨Ģ":114413,"åij¨åħŃ":114414,"åı·æ¥¼":114415,"ä¼ijåģĩ":114416,"误ä¼ļ":114417,"åĽ½åĢº":114418,"åīįå¤ķ":114419,"ä¸¤å¼ł":114420,"éĹ«":114421,"éŃĶ鬼":114422,"æĬĬæĮģ":114423,"èĬĤèĥ½çݯä¿Ŀ":114424,"æ¸ħæ´ģèĥ½æºIJ":114425,"èĤ¥æĸĻ":114426,"é«ĺé¢ij":114427,"å°±æľīäºĨ":114428,"交ä¼ļ":114429,"没éĴ±":114430,"éĽħæĢĿ":114431,"è¦ģåıĬæĹ¶":114432,"åŁ¹åħ»åѦçĶŁ":114433,"欣åĸľ":114434,"çĥŃæ°´åύ":114435,"é¾Ļæ¹ĸ":114436,"äºĮ楼":114437,"æĸ°æµªè´¢ç»ı":114438,"æĸ°åĬ¨èĥ½":114439,"èµ£å·ŀ":114440,"æĭ³å¤´":114441,"æµģåIJij":114442,"ä¹Łæĺ¯å¾Ī":114443,"åıijåĶ®":114444,"ä¸ŃåIJ«æľī":114445,"åIJĵå¾Ĺ":114446,"å·¨æĺŁ":114447,"æĹłæīĢè°ĵ":114448,"æ¯ĽåŃĶ":114449,"åħ¬åħ±äº¤éĢļ":114450,"çĤİçĥŃ":114451,"èµ·èįī":114452,"åĬłçĽŁåķĨ":114453,"说ä¸įåĩº":114454,"大åѦæ¯ķä¸ļ":114455,"å·¥ä¸ļåĽŃ":114456,"éłĺåŁŁ":114457,"åºĨåħ¸":114458,"æµģ产":114459,"èģ²éٳ":114460,"ä¼¼ä¹İæĺ¯":114461,"è´§æºIJ":114462,"æ·±åĪĩ":114463,"æ²»çĸĹæĸ¹æ³ķ":114464,"èµĦæºIJéħįç½®":114465,"ç¶²åıĭ":114466,"çĶ£":114467,"亥":114468,"èº²åľ¨":114469,"社ç§ij":114470,"è»Łé«Ķ":114471,"女è£ħ":114472,"æŃ¡è¿İ":114473,"综åIJĪå®ŀåĬĽ":114474,"æł¼å°ĩ":114475,"åħļåı²åŃ¦ä¹ł":114476,"æľĢåŁºæľ¬":114477,"æľĢåŁºæľ¬çļĦ":114478,"çľĭæľĽ":114479,"åıĹè´¿":114480,"ä¸įä»ħèĥ½":114481,"ä½ķå¿ħ":114482,"ä¸Ģ个å°ıæĹ¶":114483,"ç¾Į":114484,"æĭĽæĶ¶":114485,"çĤĴèĤ¡":114486,"æĿijå¹²éĥ¨":114487,"缸çα":114488,"æ½ľèĥ½":114489,"ä¹į":114490,"æĹ¶è¾°":114491,"欣æħ°":114492,"éĵ¶è¡Įä¸ļ":114493,"çĭŃçªĦ":114494,"éĩįçĤ¹é¢ĨåŁŁ":114495,"çݰå®ŀçĶŁæ´»":114496,"éĮ¯èª¤":114497,"æĸ°è§Ħ":114498,"滥ç͍":114499,"æĹ¶ä¸į":114500,"æĹ¶ä¸įæĹ¶":114501,"帳èĻŁ":114502,"ç¨Ģ缺":114503,"åIJij举":114504,"ä¿Ŀåģ¥åĵģ":114505,"çıŃéķ¿":114506,"äºĴåĭķ":114507,"笼罩":114508,"æ½Ľ":114509,"æļĸå¿ĥ":114510,"è½°çĤ¸":114511,"åºĨ幸":114512,"è²Įä¼¼":114513,"æĵº":114514,"èĢIJ磨":114515,"ä¸ĵä¸ļ人士":114516,"ä¸Ģèάéĥ½æĺ¯":114517,"æ¼³å·ŀ":114518,"åħ¨èĩªåĬ¨":114519,"å½ķç͍":114520,"大è·Į":114521,"æľīæķο̧":114522,"èĩªåĭķ":114523,"ä¸ī个æĸ¹éĿ¢":114524,"港åĮº":114525,"信貸":114526,"éĢļè¯Ŀ":114527,"é«ĺ涨":114528,"æ³Ħæ¼ı":114529,"éħįä¸Ĭ":114530,"åħļå·¥å§Ķ":114531,"被认为":114532,"被认为æĺ¯":114533,"ä¸įä¼ļåĨį":114534,"è°ĥåīĤ":114535,"åıĤèĤ¡":114536,"èĦ±åıij":114537,"å¿łå®ŀ":114538,"åĨħåĪĨæ³Į":114539,"ç¹ģå¿Ļ":114540,"åıĮåĪĽ":114541,"é©»æĿij":114542,"åĪĴç®Ĺ":114543,"éģİä¾Ĩ":114544,"åľ£ç»ı":114545,"èıľé¸Ł":114546,"æĭ¼å¤ļå¤ļ":114547,"ä¸ŃåĽ½æ±½è½¦":114548,"çĥŁèįī":114549,"缴æµģ":114550,"äºĨä¸Ģåı£æ°Ķ":114551,"ä½İæĪIJæľ¬":114552,"æī¾åĽŀ":114553,"èĩªåįij":114554,"總æĺ¯":114555,"æĸĩåĮĸåĪĽæĦı":114556,"天河":114557,"樱æ¡ĥ":114558,"éªijåħµ":114559,"éĩĮéĿ¢æľī":114560,"çİ®":114561,"èĥ½æī¾åΰ":114562,"éĢĥè·ij":114563,"åĪĩå°Ķ":114564,"åĪĩå°Ķ西":114565,"以ä¸ĭæĺ¯":114566,"å²³éĺ³":114567,"çļĦæ¦Ĥçİĩ":114568,"æĬµåζ":114569,"å¸ĪäºĭåĬ¡":114570,"å¸ĪäºĭåĬ¡æīĢ":114571,"åĩĨæĹ¶":114572,"屬æĸ¼":114573,"订è´Ń":114574,"åįłæį®äºĨ":114575,"ä¸ŃéĢĶ":114576,"å°ĭ":114577,"é»ij马":114578,"åİ¿åħ¬å®īå±Ģ":114579,"ä¸ĥæľĪ":114580,"èī²ç´ł":114581,"å¿ĥèĦıçĹħ":114582,"æĹ¶éĻIJ":114583,"æ¯įåħ¬åı¸":114584,"å¹ķåIJİ":114585,"ä¸Ĭæ¦ľ":114586,"å̾åIJijäºİ":114587,"纸ä¸Ĭ":114588,"æ¡ĵ":114589,"éĽĨä½ĵç»ıæµİ":114590,"æĥħå¢ĥ":114591,"è¦ģåģļåΰ":114592,"ç©į極":114593,"åıªæĢķ":114594,"æ¹ĺ西":114595,"çļ±çº¹":114596,"åħ¨åľĭ":114597,"çĦ¡è«ĸ":114598,"好æĦŁ":114599,"åįķä»·":114600,"è¿Ľç¨ĭä¸Ń":114601,"æĺĨä»ij":114602,"åĪĽå®¢":114603,"åħħæĸ¥":114604,"åħĪæĬĬ":114605,"该æĢİä¹ĪåĬŀ":114606,"åĵģå¾·":114607,"åħ¨éĿ¢åıijå±ķ":114608,"è¨ĪåĬĥ":114609,"æĢ»å·¥ä¼ļ":114610,"ä½Ľå±±å¸Ĥ":114611,"æĬĹè¡¡":114612,"å¼Ģåľº":114613,"éĴ±å¸ģ":114614,"åıĭ们":114615,"å«īå¦Ĵ":114616,"ç´¢èµĶ":114617,"è®ĬåĮĸ":114618,"æĮ¤åİĭ":114619,"æĮijè¡ħ":114620,"çŃīä¸Ģæī¹":114621,"æĿ¨æ¬¢":114622,"ä¸ĵå®¶åѦèĢħ":114623,"èĥ½è¾¾åΰ":114624,"èµ°è¿ij":114625,"è´«åĽ°åľ°åĮº":114626,"éĻIJæľŁ":114627,"ä¸į平衡":114628,"åĽ½åĨħå¸Ĥåľº":114629,"èµĽåľº":114630,"éħįèµĦ":114631,"è¦ģèĢĥèĻij":114632,"ä¸ĩåı°":114633,"æľĪæľ«":114634,"éĶ¥":114635,"åŃ«":114636,"æİ¥è§¦åΰ":114637,"åĩºäº§":114638,"æķĻåѸ":114639,"ä½ľå¼Ĭ":114640,"çļĦæľĢåIJİä¸Ģ":114641,"ä¿ĥæĪIJ":114642,"åIJ¸åıĸ":114643,"æ½ľèīĩ":114644,"被éªĹ":114645,"è¾ĵäºĨ":114646,"çĭIJçĭ¸":114647,"åįĩéĻį":114648,"è¿ĻäºĽä¸ľè¥¿":114649,"æĬķèµĦåŁºéĩij":114650,"çĶŁçī©åѦ":114651,"ç½ij绾èIJ¥éĶĢ":114652,"åIJijè®°èĢħ":114653,"èįīåľ°":114654,"æĢ¯":114655,"æľįåĬ¡èĥ½åĬĽ":114656,"éĥģéĹ·":114657,"åįķåĵģ":114658,"å¾Ĺ罪":114659,"æĺĵäºİ":114660,"个å¤ļå°ıæĹ¶":114661,"éĩįä»»":114662,"ä¸Ĭå®ĺ":114663,"æľ¬éĩij":114664,"çı¾åł´":114665,"溢价":114666,"æĺŁè¾°":114667,"æ´»åĬ¨çİ°åľº":114668,"丹麦":114669,"å¸Ŀçİĭ":114670,"æŁ¥æĺİ":114671,"åŃĺåľ¨äºİ":114672,"é¦Ļæ°´":114673,"æĬ½æ£Ģ":114674,"å®ŀéĻħä¸Ĭæĺ¯":114675,"æĸ°å¾ģç¨ĭ":114676,"è´¢åĬ¡ç®¡çIJĨ":114677,"æİĽ":114678,"åĨľåİĨ":114679,"éĥ½èĥ½å¤Ł":114680,"éĤ¯éĥ¸":114681,"çľŁå¯¦":114682,"ç»Ĭ":114683,"åĨµä¸Ķ":114684,"置身":114685,"ç¥Ī祷":114686,"çĿģå¼Ģ":114687,"æĮĩçĤ¹":114688,"å¼Ģæľº":114689,"西å®ģ":114690,"åĮĹ约":114691,"积水":114692,"åĩºåĬ¨":114693,"åıijå±ķ模å¼ı":114694,"转æĬĺ":114695,"èĢĥçĤ¹":114696,"æľīç½ijåıĭ":114697,"è´«åĽ°æĿij":114698,"æĪijä»¬çŁ¥éģĵ":114699,"åĪĨéĶĢ":114700,"å±±èĦī":114701,"æ¯ĶæĭŁ":114702,"ä¼°ç®Ĺ":114703,"æĶ¹å»º":114704,"壮è§Ĥ":114705,"ç§īæĮģ":114706,"æıª":114707,"ç¦Ģ":114708,"åĮĸåѦåĵģ":114709,"ä¸ŃåĽ½åζéĢł":114710,"ä¸Ģæŀ¶":114711,"æīįè¡Į":114712,"æĭĽå¾ħ":114713,"åıĺæį¢":114714,"åīį线":114715,"幸好":114716,"è¿Ļæł·çļĦè¯Ŀ":114717,"å¿ĥè¡Ģ管":114718,"æĢ§çĸ¾çĹħ":114719,"åħ¨èĥ½":114720,"åĪij侦":114721,"ä¿¡æģ¯åıijå¸ĥ":114722,"æĺ¾çĦ¶æĺ¯":114723,"éĿĴéĵľ":114724,"åIJĥä»Ģä¹Ī":114725,"ç͵价":114726,"æ³ķå¾ĭè§Ħå®ļ":114727,"çħ²":114728,"çĵ·åύ":114729,"èĤīç±»":114730,"æıĴåħ¥":114731,"åĹľ":114732,"è¿Łè¿Ł":114733,"ä¸ĢçĤ¹éĥ½ä¸į":114734,"è¿ĺåĮħæĭ¬":114735,"èĪįä¸įå¾Ĺ":114736,"æłĩå¿ĹæĢ§":114737,"æľĪ以æĿ¥":114738,"ç³ĸæŀľ":114739,"éĥ½åºĶ该":114740,"çݯå¢ĥåį«çĶŁ":114741,"èĪªè¡Į":114742,"éĥijéĩį":114743,"ç½ijæĬķ":114744,"åįģä½³":114745,"ç§ģä¸ĭ":114746,"æļ´è·Į":114747,"åĬłå¿«åıijå±ķ":114748,"产åĵģçłĶåıij":114749,"åĪĽéĢłåĩº":114750,"æĢ»è§īå¾Ĺ":114751,"åºķçĽĺ":114752,"èķĬ":114753,"åĩºå¸Ńä¼ļè®®":114754,"主æĿ¿":114755,"æĹ¥æĻļéĹ´":114756,"å®ĺæĸ¹å¾®åįļ":114757,"å¼ķç͍æĹ¥æľŁ":114758,"åķĻæİĪ":114759,"ç͵åŃIJ产åĵģ":114760,"è¡°éĢĢ":114761,"çķĻåŃĺ":114762,"çģ«åĬĽ":114763,"çĴ§":114764,"çļĤ":114765,"åħ¼åħ·":114766,"éĩįè¿Ķ":114767,"é¢Ĩçķ¥":114768,"åĪĩéϤ":114769,"åĨįçĶŁèĥ½æºIJ":114770,"å®ŀåľ¨å¤ª":114771,"çIJĨ论ä¸Ĭ":114772,"ä¸īå±Ĥ":114773,"ä¸ĸçķĮåIJĦåĽ½":114774,"å®ľæĺĮ":114775,"èĢ³è¾¹":114776,"宽æķŀ":114777,"æ±īæĹı":114778,"çϽçϽ":114779,"è¿ĻéĩĮéĿ¢":114780,"çĶŁæ´»ä¹łæĥ¯":114781,"èµŀèµı":114782,"çͷ士":114783,"ä¸Ńä¿Ħ":114784,"车祸":114785,"åīĤéĩı":114786,"éϤåİ»":114787,"左边":114788,"çŃijçī¢":114789,"çīĽå¸Ĥ":114790,"å®¶åĬ¡":114791,"åķĥ":114792,"ç½®æį¢":114793,"ç´«å¤ĸ":114794,"ç´«å¤ĸ线":114795,"å¾Ģåīį":114796,"åĬĽåѦ":114797,"ç´§è·Ł":114798,"缮çļĦåľ¨äºİ":114799,"ç»®":114800,"ç¥Ĥ":114801,"宣è¨Ģ":114802,"äºĮæ°§åĮĸ":114803,"äºĮæ°§åĮĸ碳":114804,"æĹłç¼ĺ":114805,"ç²¾éĢļ":114806,"診":114807,"å¼ķåıijäºĨ":114808,"æľĢåħĪ":114809,"派驻":114810,"ä¸įå¿į":114811,"æĪijçΏ":114812,"å¹´ä¸ĭåįĬå¹´":114813,"æ·ĭå·´":114814,"没éĹ®é¢ĺ":114815,"åºĹåĨħ":114816,"è·ŁæĪij说":114817,"çĶŁäº§çĶŁæ´»":114818,"è§ĤæľĽ":114819,"æ¸į":114820,"被æī§è¡Į":114821,"被æī§è¡Į人":114822,"èĪľ":114823,"æİº":114824,"ä¸Ģç§Ĵ":114825,"èįīåĿª":114826,"åij¼åĴĮ":114827,"åij¼åĴĮ浩":114828,"åij¼åĴĮ浩çī¹":114829,"人æ°ijéĵ¶è¡Į":114830,"çĦķåıij":114831,"è¯ģåĪ¸äº¤æĺĵ":114832,"çķĶ":114833,"æľºèĥ½":114834,"妾":114835,"æĻļå¹´":114836,"å·¥åķĨèģĶ":114837,"åİŁåŀĭ":114838,"è§Ĵ度çľĭ":114839,"æĬ¥ç¤¾":114840,"è¯įæĿ¡":114841,"躲éģ¿":114842,"éĩįåIJ¯":114843,"å¤ķéĺ³":114844,"èĤ¡æĿĥ转让":114845,"åľ¨ä¸Ģ":114846,"åľ¨ä¸ĢæĹģ":114847,"社ä¼ļåĮĸ":114848,"åıijå±ķåİĨç¨ĭ":114849,"æĭĸæ¬ł":114850,"使èĢħ":114851,"ä¸İåIJ¦":114852,"æĸ°å±ĢéĿ¢":114853,"ä»Ĭ天æĪij们":114854,"é½IJèģļ":114855,"对æĪij说":114856,"éĢĴ交":114857,"æľªæĽ¾":114858,"èİĬ":114859,"éĸī":114860,"亲æīĭ":114861,"è§ĴéĢIJ":114862,"æľīé»ŀ":114863,"ç¨İçİĩ":114864,"ä½İ声":114865,"é»ĺå¥ij":114866,"æĻ®æ³ķ":114867,"大ä¸ĵ":114868,"第äºĮ大":114869,"ä½ıåĿĢ":114870,"æĶ¾è¿Ľ":114871,"äºĮæĪĺ":114872,"亲身":114873,"åĽºåĮĸ":114874,"ä¸ĭ乡":114875,"åħ³éĶ®æĬĢæľ¯":114876,"åĽŀæĥ³":114877,"æĬ¥åĪĬ":114878,"æ¶ĤæĬ¹":114879,"èĹıçĿĢ":114880,"ç¥ĿæĦ¿":114881,"åįĩ温":114882,"çĶļèĩ³è¿ŀ":114883,"åħ¬åħĥåīį":114884,"ç¾İæĸ¹":114885,"è¯ļå®ŀ":114886,"æĹłåģ¿":114887,"å¥Ń":114888,"å°ıå¿ĥ翼":114889,"å°ıå¿ĥ翼翼":114890,"两æīĭ":114891,"温馨æıIJ示":114892,"ä»¿çľŁ":114893,"æĥ¶":114894,"èĥ¡åŃIJ":114895,"å·¥ä½ľç«Ļ":114896,"硬çĽĺ":114897,"ç«¿":114898,"åĤ³éĢģ":114899,"åħ¨æł¡":114900,"é²ľæ´»":114901,"çĴĢçĴ¨":114902,"ç»ĵå°¾":114903,"æį¢æĿ¥":114904,"æĪĢ":114905,"ä½İä½į":114906,"ä¸ĩåħĥ以ä¸Ĭ":114907,"åĬłåĪĨ":114908,"æİ¨ä»ĭä¼ļ":114909,"çIJĨèµĶ":114910,"å¾·å°Ķ":114911,"æĬĹè®®":114912,"æ´¼":114913,"åĸ§":114914,"åŁİéĻħ":114915,"å¾Īæ£Ĵ":114916,"人æŃ»äº¡":114917,"ä¼ļå±ķä¸Ńå¿ĥ":114918,"äºĴèģĶäºĴéĢļ":114919,"èĸĦèĨľ":114920,"éĩįé»ŀ":114921,"ç¦ģæ¯Ĵ":114922,"åĨ·ç¬ij":114923,"大家åı¯ä»¥":114924,"é¦ĸ缸":114925,"è¿ijè·Ŀ离":114926,"æµ®çݰ":114927,"ç§ĺè¯Ģ":114928,"èµ·é£ŀ":114929,"æIJ¶":114930,"羣åģĩ":114931,"æģķ":114932,"å°ıåºĹ":114933,"æ°ijçľ¾":114934,"åıijå¸ĥåħ¬åijĬ":114935,"ä¾§éĩį":114936,"å¾ĺå¾Ĭ":114937,"æĢĶ":114938,"æªIJ":114939,"æķ°çĽ®":114940,"åī¯ç§ĺ书éķ¿":114941,"两åı¥":114942,"éļIJçŀĴ":114943,"åıĮåıĮ":114944,"æīĭæĦŁ":114945,"èij¡äº¬":114946,"éģĹå¿ĺ":114947,"鬥":114948,"è¿Ļä¸ªåľ°æĸ¹":114949,"说çļĦè¯Ŀ":114950,"å·¡åĽŀ":114951,"è¿Ŀ竳":114952,"æī¾å·¥ä½ľ":114953,"æĶ¯çIJĥéĺŁ":114954,"裡éĿ¢":114955,"æĺ¾ç¤ºåĩº":114956,"èĩ³å°Ĭ":114957,"两级":114958,"åīįæ®µæĹ¶éĹ´":114959,"çĺ¦èº«":114960,"èĤ¢ä½ĵ":114961,"æ¯į親":114962,"æīĭç»Ńè´¹":114963,"汽车è¡Įä¸ļ":114964,"æİ©çĽĸ":114965,"æİ§èĤ¡éĽĨåĽ¢":114966,"åı£å¾Ħ":114967,"æĶ¿çŃĸæİªæĸ½":114968,"海绵":114969,"åħ¨éķĩ":114970,"äºĭåħ³":114971,"å¸Ńæī§è¡Į":114972,"å¸Ńæī§è¡Įå®ĺ":114973,"éĤ£æ¬¡":114974,"åı¯èĥ½åĩºçݰ":114975,"ä¸Ńå¿ĥåŁİå¸Ĥ":114976,"翻身":114977,"ä¹Łç®Ĺ":114978,"ä¾µçķ¥":114979,"åĸĩåıŃ":114980,"æ¯ı次éĥ½":114981,"è§ħ":114982,"éĻ¢éĻ¢éķ¿":114983,"å§ĭäºİ":114984,"èѦåĬ¡":114985,"è᝿ĿIJ":114986,"å±łæĿĢ":114987,"æľ¬èº«å°±":114988,"éļıæĹ¶éļı":114989,"éļıæĹ¶éļıåľ°":114990,"åĶ®åįĸ":114991,"æĹłäººé©¾é©¶":114992,"é¢ħ":114993,"åĵģ質":114994,"åĺ²ç¬ij":114995,"è·ijåİ»":114996,"åħĭéĩĮæĸ¯":114997,"çķ¸å½¢":114998,"修饰":114999,"磩éĺµ":115000,"éŁ³ä¹IJä¼ļ":115001,"æŁ³å·ŀ":115002,"齡":115003,"ä¼ļè°Ī":115004,"æŃ£çīĪ":115005,"ä¹ŁåIJĮæł·":115006,"æļ§æĺ§":115007,"è¡ĮæĶ¿éĥ¨éŨ":115008,"ä¹ĸä¹ĸ":115009,"èĤ¤èī²":115010,"æĹ¶ä»»":115011,"羣åĪĩ":115012,"æľĪä¸ĭ":115013,"æľĪä¸ĭæĹ¬":115014,"举æĸ¹è´¢å¯Į":115015,"è£ħä¿®åħ¬åı¸":115016,"éĢĢè¿ĺ":115017,"åĭĺå¯Ł":115018,"åĵ¥ä¼¦":115019,"åĵ¥ä¼¦æ¯Ķäºļ":115020,"çĭ¬ä¸Ģ":115021,"çĭ¬ä¸ĢæĹł":115022,"çĭ¬ä¸ĢæĹłäºĮ":115023,"è°ĥåij³":115024,"åİĭè¿«":115025,"åħ¨çIJĥæľĢ大":115026,"åł¡éķ¿":115027,"æĽ´ä½İ":115028,"åĪĨéĴŁåIJİ":115029,"åĽŀä¾Ĩ":115030,"åζåīĤ":115031,"åijĬè¯ī大家":115032,"çĤ¹éĴŁ":115033,"åįģä¸īå±Ĭ":115034,"åij¨åĽĽ":115035,"è¿Ļæł·ä¸Ģ":115036,"è¿Ļæł·ä¸ĢæĿ¥":115037,"èĭŁ":115038,"æľĽåİ»":115039,"æĪIJè¯Ń":115040,"å½ĵåį³":115041,"ç¬ij声":115042,"ä¹ĭåĬ¿":115043,"åĪijäºĭæ¡Īä»¶":115044,"æĮĤçĿĢ":115045,"ä½ķç§į":115046,"å°ı游æĪı":115047,"åĽ½å®¶æĪĺçķ¥":115048,"åĨ·åĨ·":115049,"å®ľå®¾":115050,"æIJºç¨ĭ":115051,"è¶ĭäºİ":115052,"åıįçľģ":115053,"常说":115054,"ä¸ĩæĪ·":115055,"åĥµå°¸":115056,"åįĥä¸ĩåĪ«":115057,"åıijçݰéĹ®é¢ĺ":115058,"åı¯çŁ¥":115059,"éŨæĪ·ç½ijç«Ļ":115060,"åģ¥åº·äº§ä¸ļ":115061,"åı³è¾¹":115062,"æµ·è¿IJ":115063,"è¿ijä¹İ":115064,"åĮ»æ²»":115065,"æĢ»ç®Ĺ":115066,"ä¸ĢåĪĨéĴŁ":115067,"æĭ§":115068,"ä¹Łæľīä¸ĢäºĽ":115069,"ä¾Ľç͵åħ¬åı¸":115070,"å»īä»·":115071,"帮ä»ĸ":115072,"æŃ¤æ¬¡æ´»åĬ¨":115073,"åıªèĥ½è¯´":115074,"èĬĭ":115075,"çīĩ段":115076,"åŃĺåľ¨éĹ®é¢ĺ":115077,"ä½łä¼ļåıijçݰ":115078,"è½®å»ĵ":115079,"ç½ijéĢļ":115080,"æ»¨æ±Ł":115081,"æİĪä¿¡":115082,"é»İæĺİ":115083,"ä¸įå±ŀäºİ":115084,"约åįł":115085,"éķ¿æ²Ļå¸Ĥ":115086,"èĥļèĥİ":115087,"åħĥä»¶":115088,"éĻĨåĨĽ":115089,"購買":115090,"æĮĩæľĽ":115091,"å®ŀä¹łçĶŁ":115092,"çī¹çĤ¹æĺ¯":115093,"çıłæ±Ł":115094,"çľĭä¸įåĩº":115095,"ä¸įè§ģäºĨ":115096,"ç¼ī":115097,"éĺµèIJ¥":115098,"åĶIJæľĿ":115099,"没å¿ħè¦ģ":115100,"åĽ½åľŁèµĦæºIJ":115101,"ç»ıæµİåѦ家":115102,"åIJĪèĤ¥å¸Ĥ":115103,"çIJ¢ç£¨":115104,"ç¡®åĪĩ":115105,"åŁİå¸Ĥåıijå±ķ":115106,"çŃ·åŃIJ":115107,"人æ°ijæľįåĬ¡":115108,"满åĪĨ":115109,"è¿·ä¿¡":115110,"ä½ľèĢħæľ¬äºº":115111,"æĸĩ竳æĿ¥æºIJ":115112,"ç«Ļç«ĭ":115113,"æŀĦæĪIJäºĨ":115114,"è¾Ľåĭ¤":115115,"è¶ħ强":115116,"éĶļ":115117,"åīįä¸īåŃ£åº¦":115118,"å°±è§īå¾Ĺ":115119,"å´ĩé«ĺ":115120,"è¶Ĭä¾Ĩ":115121,"è¶Ĭä¾Ĩè¶Ĭ":115122,"å¸ĤåľºèIJ¥éĶĢ":115123,"综åIJĪç´łè´¨":115124,"åŃļ":115125,"侮辱":115126,"äºĮåŃĹ":115127,"å·¥ä½ľä»»åĬ¡":115128,"åı²ä¸ĬæľĢ":115129,"æľĢä¼ĺ":115130,"åIJ©åĴIJ":115131,"表çϽ":115132,"èİ«åIJį":115133,"èİ«åIJįåħ¶":115134,"èİ«åIJįåħ¶å¦Ļ":115135,"å¹£":115136,"åIJĮå¿Ĺ们":115137,"建设çĶ¨åľ°":115138,"åĦĢ":115139,"éħįåģ¶":115140,"弩":115141,"åͱçīĩ":115142,"æīĭèĦļ":115143,"åħ¼ä»»":115144,"åģľæĶ¾":115145,"æŃ£å®Ĺ":115146,"æĸ°åĨľæĿij":115147,"åĤ¬çĶŁ":115148,"æīĢåŃ¦æł¡":115149,"å¿µä½Ľ":115150,"åͤéĨĴ":115151,"åħ±åĪĽ":115152,"æĭīä¸ģ":115153,"èĥĮçĿĢ":115154,"çĶŁæĢģä¿ĿæĬ¤":115155,"åı£å¤´":115156,"æĸ¹åIJijçĽĺ":115157,"調æķ´":115158,"æĭĽèģĺä¿¡æģ¯":115159,"åħ¶ä»ĸåĽ½å®¶":115160,"ç®Ģæĺĵ":115161,"åĮ¿åIJį":115162,"è¯Ħæµĭ":115163,"æĺ¯ä¸Ģ座":115164,"çīĭ":115165,"足迹":115166,"çIJĨè§£åĴĮ":115167,"æľĢåıĹ":115168,"å¿ĥè·³":115169,"çĪ¶è¦ª":115170,"éĿŀ常åĸľæ¬¢":115171,"èĭ¦éļ¾":115172,"æĬĢå¸Ī":115173,"æ°ijæĦı":115174,"æĪĺåĽ½":115175,"æĽ¿è¡¥":115176,"津贴":115177,"ä¸ŃåĽ½ä¼łç»Ł":115178,"åIJĦè¡Į":115179,"åIJĦè¡ĮåIJĦ":115180,"åIJĦè¡ĮåIJĦä¸ļ":115181,"第äºĶå±Ĭ":115182,"èį·èĬ±":115183,"æĦıèŃĺ":115184,"票价":115185,"åĪĨæµģ":115186,"æĿİçϽ":115187,"æ±ŁåĮĹ":115188,"æİĴæĸ¥":115189,"ä½ĵéĩı":115190,"åĮħåIJ«äºĨ":115191,"åĪĺæŁIJ":115192,"çݰå¦Ĥä»Ĭ":115193,"å·¥èīºåĵģ":115194,"è¿Ļç§įæĸ¹æ³ķ":115195,"åĬŀåħ¬æ¥¼":115196,"ç͵工":115197,"çħĻ":115198,"åį¡çīĩ":115199,"å¹´å¹´åºķ":115200,"ä¸ĵ项èµĦéĩij":115201,"åĮ»ç§ij":115202,"åĮ»ç§ij大åѦ":115203,"åĽŀ头çľĭ":115204,"ä¸įå±ij":115205,"èĩªé©¾":115206,"没æĶ¶":115207,"æīĵçĮİ":115208,"èĦ¸éĥ¨":115209,"åıĥèĢĥ":115210,"å°Ĩ士":115211,"è´«åĽ°äººåı£":115212,"çIJĨæĥ³ä¿¡å¿µ":115213,"é£İå°ļ":115214,"人æīįéĺŁä¼į":115215,"çij¾":115216,"æĿ¥è¿ĻéĩĮ":115217,"æ´Ĺ涤":115218,"å¹´èĸª":115219,"èĭįçϽ":115220,"ä¸ĩäºĭ":115221,"è¯¾æľ¬":115222,"åºĵéĩĮ":115223,"ç´¾":115224,"ç´¾åijĺ":115225,"èµŀç¾İ":115226,"ç©¿æĪ´":115227,"è£½ä½ľ":115228,"èµŀæĪIJ":115229,"ä¸Ģä¾§":115230,"å½ĵåľ°äºº":115231,"æĭİ":115232,"纸质":115233,"ä½Ļ个":115234,"éĶĤçĶµæ±ł":115235,"æľºåŀĭ":115236,"éĻ¢éϢ士":115237,"åģļå·¥":115238,"å¼łè´´":115239,"ç¥Ľæĸij":115240,"æ®ĸæ°ij":115241,"å¥ij约":115242,"æ¹ĺæ½Ń":115243,"æIJĸ":115244,"åŃĺè´§":115245,"交éĢļ大åѦ":115246,"è¶ģçĿĢ":115247,"æĸĩçī©ä¿ĿæĬ¤":115248,"å¤ĩæĪĺ":115249,"éĩĩ纳":115250,"åįĬæľĪ":115251,"æľĢåħ³éĶ®":115252,"æľĢåħ³éĶ®çļĦ":115253,"æİ¥éĢģ":115254,"æĶ¶åī²":115255,"åıįåĢĴ":115256,"çĥĽ":115257,"æ½Ķ":115258,"ä¼Łå¤§å¤įåħ´":115259,"çļĦè¯Ŀè¯Ń":115260,"容å¿į":115261,"å®ļéĩı":115262,"æķĹ":115263,"åĵģçīĮ形象":115264,"æīŃ转":115265,"åĽ½å®¶éĩįçĤ¹":115266,"èĨĿçĽĸ":115267,"ä¸Ģ楼":115268,"大éϏ":115269,"éĤªæģ¶":115270,"åĽŀåij³":115271,"çĮ¿":115272,"çĿ¡åīį":115273,"æĹłè¾ľ":115274,"çĹħæ¯ĴæĦŁæŁĵ":115275,"æľºæ¢°åĮĸ":115276,"çĤ¹äº®":115277,"溶解":115278,"åĩłä¹İæīĢæľī":115279,"è·ijéģĵ":115280,"ç͵è§Ĩæľº":115281,"åı¨":115282,"æijĩäºĨ":115283,"æijĩäºĨæijĩ头":115284,"èĩªè´Ł":115285,"综åIJĪåĪ©ç͍":115286,"èĩªå¦Ĥ":115287,"åİŁä¾Ĩ":115288,"ä¹Łä¸įæĥ³":115289,"èĬĤ课":115290,"è¿ĩåī©":115291,"çͲçĬ¶":115292,"çͲçĬ¶èħº":115293,"æĸ°ä¸ĸ纪":115294,"èĩªä¸»åĵģçīĮ":115295,"é«ĺå±Ĥ次":115296,"ä¸Ģè§Ĵ":115297,"è¡Įäºĭ":115298,"ç¥ĸåħĪ":115299,"å©ļåIJİ":115300,"éĹ´éļĻ":115301,"ç¼ĿéļĻ":115302,"è¿ĻæĶ¯":115303,"ä¸įæĸŃåĪĽæĸ°":115304,"å¾®åŀĭ":115305,"æĽĻåħī":115306,"享ç͍":115307,"ä¸ŃåĽ½ç§»åĬ¨":115308,"éĹŃçݯ":115309,"æī§æĦı":115310,"åıijå±ķæł¼å±Ģ":115311,"æł¸å¿ĥåĮº":115312,"éªļæī°":115313,"åħļåĴĮåĽ½å®¶":115314,"ä¸ŃåĽ½æĶ¿åºľ":115315,"帶èijĹ":115316,"ä¸ĩåįĥçĵ¦":115317,"åħ©äºº":115318,"äºİæĺ¯æĪij":115319,"åĽºä½ĵ":115320,"çªģå¦Ĥ":115321,"çªģå¦Ĥåħ¶":115322,"çªģå¦Ĥåħ¶æĿ¥":115323,"éĩĮç¨ĭç¢ij":115324,"çαç¾İ":115325,"æŁ¥éªĮ":115326,"åıĮèµ¢":115327,"éĹªåħī":115328,"楼å®ĩ":115329,"æĻı":115330,"æľīè¶³å¤ŁçļĦ":115331,"æŁĶæĢ§":115332,"ä¿¡æģ¯å®īåħ¨":115333,"管线":115334,"å¹¶ä¸įä¼ļ":115335,"åύ件":115336,"ä½łåºĶ该":115337,"çĿĢå®ŀ":115338,"æĺİæ¸ħ":115339,"æĬĹçĶŁç´ł":115340,"æīĵæŃ»":115341,"å®Įåħ¨ä¸įåIJĮ":115342,"èĬ±æ¤Ĵ":115343,"æĶ¾å®½":115344,"ä½İ端":115345,"åĽĽèĤ¢":115346,"åĮĹäº¬èµĽè½¦":115347,"éĽĨå¸Ĥ":115348,"æľªå©ļ":115349,"大å¹ħæıIJåįĩ":115350,"建çŃij设计":115351,"çĭ¬æľīçļĦ":115352,"æİ¢éĻ©":115353,"æ²³æµģåŁŁ":115354,"æħķ容":115355,"被çĽĹ":115356,"åĵºä¹³":115357,"èıģ":115358,"æĥ¬æĦı":115359,"è¶ĬæĿ¥è¶Ĭ好":115360,"广大群ä¼Ĺ":115361,"å¾·èĤ²":115362,"å¸Ĥåľºä»·æł¼":115363,"奥巴":115364,"奥巴马":115365,"èĬĤ缮ä¸Ń":115366,"两款":115367,"ä¸ĩä½Ļåħĥ":115368,"ç»´å°Ķ":115369,"çĶŁçī©ç§ijæĬĢ":115370,"åIJ¬èµ·æĿ¥":115371,"çłļ":115372,"æĭŁå®ļ":115373,"æ²¹çͰ":115374,"声èªī":115375,"建çŃijä¸ļ":115376,"éĻIJè´Ń":115377,"çīĩåŃIJ":115378,"çķľç¦½":115379,"ç½ijé¦ĸ页":115380,"ä¼Ĺçѹ":115381,"æĴŀåĩ»":115382,"åīįä¸įä¹ħ":115383,"åīįä¸ĸ":115384,"åĽĽä¸ªæĦıè¯Ĩ":115385,"æµĭç»ĺ":115386,"éĺ²ç©º":115387,"漫éķ¿çļĦ":115388,"æ²IJæµ´":115389,"æ¯Ķè¾ĥç®Ģåįķ":115390,"æµĭå®ļ":115391,"åĽŀè°ĥ":115392,"让人们":115393,"èĴĭä»ĭ":115394,"èĴĭä»ĭçŁ³":115395,"ç»ĵæĻ¶":115396,"å¢ŀæ·»äºĨ":115397,"æĿ¡è¯Ħ论":115398,"åī¯ä¼ļéķ¿":115399,"ä½ıæīĢ":115400,"ç»ĻåĩºäºĨ":115401,"è°ĥéħį":115402,"æ²ĸ":115403,"æľīç͍":115404,"æľīç͍çļĦ":115405,"ä¸ĢæĿ¡é¾Ļ":115406,"éĩİå¤ĸ":115407,"ç¼ĺåĪĨ":115408,"æ°¸è¿ľä¸įä¼ļ":115409,"æŀľæłij":115410,"大åıijå¿«ä¸ī":115411,"麻éĨī":115412,"äºijéĽĨ":115413,"åİ»åĵªéĩĮ":115414,"åħ¥å¸Ĥ":115415,"ä»»æĢ§":115416,"建档":115417,"建档ç«ĭ":115418,"建档ç«ĭåį¡":115419,"ä¸Ģ棵":115420,"社åįĢ":115421,"çĽ¸ä¼´":115422,"åļ·":115423,"å¡«åħħ":115424,"ä¸ĢæĹı":115425,"ç¾ģ":115426,"åıĸè¯ģ":115427,"èΰéĺŁ":115428,"åİĤåĮº":115429,"è¡·å¿ĥ":115430,"åıijå±ķéĺ¶æ®µ":115431,"é«ĺ强度":115432,"åĹĵåŃIJ":115433,"é¢Ĩè¡Ķ":115434,"楼主":115435,"大èĴľ":115436,"æŀķ头":115437,"粮油":115438,"é»Ħçĵľ":115439,"æĵĴ":115440,"å°ıçĭĹ":115441,"æĶ¹éĿ©å§Ķ":115442,"åįģåĪĨéĴŁ":115443,"é²ľèī³":115444,"åħ³ç¾½":115445,"çĭĢæħĭ":115446,"å®ŀç͍æĢ§":115447,"å°ijè§ģ":115448,"é£ŀæī¬":115449,"çͰéĩİ":115450,"æIJĤ":115451,"è¿Ļ个è¯į":115452,"åºĶæĢ¥é¢Ħæ¡Ī":115453,"è§Ĵ度æĿ¥çľĭ":115454,"æķ¬çķı":115455,"æ³ķå®Ŀ":115456,"åĸĦæĦı":115457,"æīĵæĸŃ":115458,"对åĨ³":115459,"çµķå°į":115460,"åĢŁæŃ¤":115461,"å¼ĢæºIJ":115462,"å°ı說":115463,"祺":115464,"å²ģ以ä¸ĭ":115465,"éĢĢå½¹åĨĽäºº":115466,"ä¸įä¹ħåīį":115467,"åĩºåİĤ":115468,"讽åĪº":115469,"æĿ¥çľĭçľĭåIJ§":115470,"éŃĶåħ½":115471,"çķĻä¸ĭæĿ¥":115472,"å±ħ室":115473,"åłħæĮģ":115474,"çľĭäºĨä¸Ģ":115475,"çľĭäºĨä¸Ģçľ¼":115476,"éĽĨåĽ¢æĹĹä¸ĭ":115477,"æĪĺæĪĺç»ĦåIJĪ":115478,"è®¤çľŁèIJ½å®ŀ":115479,"汽车产ä¸ļ":115480,"çī©çIJĨåѦ":115481,"æķµ":115482,"éĴĿ":115483,"åĽ¢éķ¿":115484,"ä¸įæĸŃæī©å¤§":115485,"èĤ©è´Ł":115486,"åıijå±ķ缮æłĩ":115487,"è³ĩéĩij":115488,"åīįç½®":115489,"ä¸ŃåĽ½åı¤ä»£":115490,"æŃ»åĪij":115491,"åħħåĪĨä½ĵçݰ":115492,"åħ³éŨ":115493,"ç¾İæĦŁ":115494,"æīĵåħ¥":115495,"æĬijéĥģçĹĩ":115496,"å°ijçĪ·":115497,"æłijæŀĿ":115498,"æ¶Īæģ¯ç§°":115499,"æ´Ľåħĭ":115500,"åį¯":115501,"è¿ĪåIJij":115502,"æİ¨åĭķ":115503,"ä»İä¸ļèĢħ":115504,"åݻ买":115505,"欢快":115506,"æĭ¥æĮ¤":115507,"马桶":115508,"æĬĬæİ§":115509,"æĶ¿åħļ":115510,"å¼łæī¬":115511,"客æłĪ":115512,"红æĺŁ":115513,"éĢģæĿ¥":115514,"åħ¨åŁŁæĹħ游":115515,"èĩªç§ģ":115516,"åįģäºĮæĿ¡":115517,"åı¹æģ¯":115518,"ä¸Ģèīĺ":115519,"ä¿Ŀè´¹":115520,"æĸ½å·¥çİ°åľº":115521,"æľī幸":115522,"ç»ŃèĪª":115523,"åı¯èĥ½æľĥ":115524,"èĥĮåıĽ":115525,"ä½£éĩij":115526,"ä¸īçŃīå¥ĸ":115527,"å¾Ī满æĦı":115528,"游æĪıåľ¬":115529,"群éĩĮ":115530,"æŀĦä»¶":115531,"åºıå¹ķ":115532,"太æ¹ĸ":115533,"æľ¨è´¨":115534,"æĻĭæ±Ł":115535,"çµĤæĸ¼":115536,"è·³è·ĥ":115537,"åĢºæĿĥ人":115538,"çŃī诸å¤ļ":115539,"æĶ¾åĩº":115540,"åħ³éĶ®æĹ¶åĪ»":115541,"æĦŁæŁĵèĢħ":115542,"é£ŀè¡Įåijĺ":115543,"èĥĨåĽº":115544,"èĥĨåĽºéĨĩ":115545,"æĬ±æŃī":115546,"åij¨äºĮ":115547,"æĸ°æĹ¶æľŁ":115548,"åĨ·éĵ¾çµģ":115549,"è¿Ļç§įæĸ¹å¼ı":115550,"该æĿij":115551,"åĽŀé¦Ī":115552,"åŁºçĿ£æķĻ":115553,"人åıĤ":115554,"æŀ¯çĩ¥":115555,"æī¹åıijå¸Ĥåľº":115556,"åħħåĪĨèĤ¯å®ļ":115557,"å¸ĤæĶ¿åįı":115558,"äºĭæ¥Ń":115559,"龸çİĭ":115560,"çĥŃæIJľ":115561,"åįģä¹Ŀ大":115562,"ä¼´æľī":115563,"ç¾İåĽ½æĢ»ç»Ł":115564,"åŁİå¸Ĥ管çIJĨ":115565,"ä¸ĭ令":115566,"èĥ¸åı£":115567,"åıªçŁ¥éģĵ":115568,"åij¨ä¸ī":115569,"ç͍æĪ¶":115570,"éѝ":115571,"å¿ĥè¡Ģ":115572,"带头人":115573,"åĮ»åĬ¡":115574,"åĮ»åĬ¡äººåijĺ":115575,"æİ§åζåύ":115576,"ä½ľåĵģåĨħ容":115577,"æĪĺåıĭ":115578,"åİĨå¹´":115579,"ä¸įåħĭ":115580,"ä¸įåħĭä¸įåıĬ":115581,"æĹ¥æŃ£å¼ı":115582,"è±IJå¯Į":115583,"ç¨İè´¹":115584,"æĹ¶æķĪ":115585,"å±ķä½į":115586,"è¡¡éĺ³":115587,"æĪ¿è²¸":115588,"çĪĨ款":115589,"ä¹IJæĦı":115590,"çͷ䏻":115591,"寬":115592,"æľĥèѰ":115593,"ä¹ĭå¤ľ":115594,"åIJĮ樣":115595,"ä¸įè¦ģ太":115596,"ä¼Ĭæĸ¯":115597,"ä¼Ĭæĸ¯åħ°":115598,"åŁºæľ¬åİŁåĪĻ":115599,"åİ»æİī":115600,"ä½İä¿Ŀ":115601,"个交æĺĵ":115602,"个交æĺĵæĹ¥":115603,"èģĬèģĬ":115604,"åĽĽä½į":115605,"åħļç»ĦæĪIJåijĺ":115606,"主è¦ģä»İäºĭ":115607,"å½±éŁ³":115608,"åĨĴåĩº":115609,"åij¼åIJ¸éģĵ":115610,"è¾¾å°Ķ":115611,"æľ¨åľ°æĿ¿":115612,"诡å¼Ĥ":115613,"çģ¯åħ·":115614,"çģ«çĥ§":115615,"è§£èĦ±":115616,"æĦĪåıij":115617,"æ¹ĸå·ŀ":115618,"é£İä¿Ĺ":115619,"æĸ°å½¢åĬ¿":115620,"æĸ°å½¢åĬ¿ä¸ĭ":115621,"è²Ŀ":115622,"èĦĵ":115623,"åĬ¨åĬĽçĶµæ±ł":115624,"é£ŀèι":115625,"飧æĢ§":115626,"åĪ©çī©":115627,"åĪ©çµ¦":115628,"ä¸į认è¯Ĩ":115629,"ç¼ĸç»ĩ":115630,"ä½ľåĿĬ":115631,"èģĮä¸ļæĬĢèĥ½":115632,"çľĭè¦ĭ":115633,"åĽ´æ£ĭ":115634,"æĺıè¿·":115635,"å½Ĵå±ŀäºİ":115636,"æĤ¬å´ĸ":115637,"éĨ«çĻĤ":115638,"å®ĭ代":115639,"åºĦæĿij":115640,"èĹķ":115641,"çĮĽçĦ¶":115642,"çĩĥæĸĻçĶµæ±ł":115643,"å®ŀä½ĵåºĹ":115644,"ä¸į足以":115645,"æĥħç·":115646,"æĥħç·Ĵ":115647,"å»ĬåĿĬ":115648,"ç͵åı°":115649,"åºĶåĬĽ":115650,"ä¸Ńå°ıåѦçĶŁ":115651,"èĥ¡åIJĮ":115652,"éī´åĪ«":115653,"åĨħç½®":115654,"乱象":115655,"æ¬ĬçĽĬ":115656,"å¼ĢæĶ¾å¼ı":115657,"åįļæĸĩ":115658,"讲课":115659,"çŃīåİŁåĽł":115660,"穷人":115661,"äº¤æĽ¿":115662,"æĬ¤çħ§":115663,"åıijå±ķæľºéģĩ":115664,"客åķĨ":115665,"åıįä¹ĭ":115666,"ç±³é¥Ń":115667,"å¹¶åıij":115668,"å¹¶åıijçĹĩ":115669,"æ±īåŃIJ":115670,"æŀľåĽŃ":115671,"对æĪijæĿ¥è¯´":115672,"åģıåIJij":115673,"æī¹ç¤º":115674,"读åIJİ":115675,"读åIJİæĦŁ":115676,"æĺİæĻº":115677,"åĽ´çĿĢ":115678,"åıį转":115679,"æĿ¨å¹Ĥ":115680,"ä¸ĵåįĸ":115681,"ä¸ĵåįĸåºĹ":115682,"åıĹéĻIJ":115683,"åºŁè¯Ŀ":115684,"æŀģå°ij":115685,"åįĪåIJİ":115686,"è¿Ľä¿®":115687,"åīĬåĩı":115688,"æľ¬ç§ijçĶŁ":115689,"ä¼ĺéĢī":115690,"åħīçħ§":115691,"åıĻäºĭ":115692,"åıĸæļĸ":115693,"åĮĹè·¯":115694,"æ¦ķ":115695,"èİĨçͰ":115696,"楼å±Ĥ":115697,"天èĬ±":115698,"天èĬ±æĿ¿":115699,"çĤľ":115700,"å·²ç»ıæľīäºĨ":115701,"è¶¾":115702,"çͳåįļ":115703,"ç͵éĺ»":115704,"åĬŁè¯¾":115705,"æŃ¥æŃ¥":115706,"éĤ£ä¹Ī容æĺĵ":115707,"æŃ¤æĸĩ":115708,"ä½°":115709,"计è¾ĥ":115710,"çīĩéĿ¢":115711,"ç͵影éĻ¢":115712,"ä¸įåħ¬å¹³":115713,"ä¸īæľŁ":115714,"æĹħ游èµĦæºIJ":115715,"å¤ļç§įå½¢å¼ı":115716,"è£Ĥç¼Ŀ":115717,"åIJİæİĴ":115718,"硬度":115719,"åĽŀæļĸ":115720,"éģĵæķĻ":115721,"è´«è¡Ģ":115722,"æ¸ħé¦Ļ":115723,"伤çĹħ":115724,"æĦı義":115725,"çļĦç¼ĺ":115726,"çļĦç¼ĺæķħ":115727,"åºĦ严":115728,"åıªæĺ¯ä¸ºäºĨ":115729,"æīĵæĬĺ":115730,"以ä¾Ĩ":115731,"滿足":115732,"çİĽä¸½":115733,"風éļª":115734,"æĸĩç§ij":115735,"éħįå¤ĩäºĨ":115736,"è¿Ľé£Ł":115737,"æ¶¡":115738,"è·¯ç¨ĭ":115739,"åı«å£°":115740,"ä¸Ńå¿ĥåŁİåĮº":115741,"æľīæīĢä¸įåIJĮ":115742,"張貼":115743,"é¢ĦæĬ¥":115744,"æľīå¤ļä¹Ī":115745,"è¿Ľè¡Įåħ¨éĿ¢":115746,"æĽ¾ç¶ĵ":115747,"ä¸ī代":115748,"å®ı大":115749,"æ¸ħæī«":115750,"éĢīåĩº":115751,"åĵªä¸Ģ个":115752,"主義":115753,"ä¾Ŀæĵļ":115754,"çļ®éĿ©":115755,"èµ¶æĿ¥":115756,"çŃĽæŁ¥":115757,"æ¨Ł":115758,"ä¿ĿèįIJ":115759,"åIJĥæĥĬ":115760,"æľĭåıĭ们对":115761,"ä»ĸæĺ¯ä¸Ģ个":115762,"åºŁæ°Ķ":115763,"æ»ħ":115764,"è´¢ç¨İ":115765,"æĿijæĿijæ°ij":115766,"èµĦäº§è´ŁåĢº":115767,"å®īå¨ľ":115768,"缮åīįåĽ½åĨħ":115769,"æĦŁè§īèĩªå·±":115770,"çµIJåIJĪ":115771,"éͦæłĩ":115772,"éͦæłĩèµĽ":115773,"æĽ´æ·±":115774,"åŁºæķ°":115775,"éħ¿éħĴ":115776,"çī¹èī²äº§ä¸ļ":115777,"åİĭå®ŀ":115778,"ä¾Ŀæ³ķ追究":115779,"æ·¡å®ļ":115780,"ç®ĢçĽ´å°±æĺ¯":115781,"å£ĵåĬĽ":115782,"æ°ijå¿ĥ":115783,"ä¸įåIJĪéĢĤ":115784,"çͱæŃ¤åı¯è§ģ":115785,"èµŀèªī":115786,"澤":115787,"åĩłå¹´åīį":115788,"åIJīä»ĸ":115789,"çł´æįŁ":115790,"è½»è½»åľ°":115791,"å²Ľå±¿":115792,"æĦıå¢ĥ":115793,"ä»Ģä¹Īåı«":115794,"åģĩè£ħ":115795,"éĢģè´§":115796,"å¹ķå¢Ļ":115797,"妥åįı":115798,"åĽ½æĹĹ":115799,"äºĨå¾Īä¹ħ":115800,"åĪĨ辨çİĩ":115801,"ç´Ķ":115802,"éĺ³åĮº":115803,"åĩŃçĿĢ":115804,"åģľè½¦ä½į":115805,"京éĥ½":115806,"éĶ£":115807,"æĵ¾":115808,"è¿ĽéŨ":115809,"åĪĺæµ·":115810,"åĽĽçº§":115811,"女足":115812,"è¡ĮæĶ¿å®¡æī¹":115813,"éģ¥æİ§":115814,"ä¸įéĮ¯":115815,"å¾Ĺå¾Ī好":115816,"ä¸ºçĽ®çļĦ":115817,"ä»įæľª":115818,"ç²¾è£ħ":115819,"éĢįéģ¥":115820,"尽头":115821,"çºłç¼ł":115822,"éłĺå°İ":115823,"æĭħè´Ł":115824,"æĪĸèĢħåħ¶ä»ĸ":115825,"åıªä¸įè¿ĩæĺ¯":115826,"åı®åĺ±":115827,"åģĩåĨĴ":115828,"æļĸæ°Ķ":115829,"çĽIJåŁİ":115830,"被è§Ĩ为":115831,"诺è´Ŀå°Ķ":115832,"ç»ĻäºĨæĪij":115833,"è¿ijåįĥ":115834,"éĩįåĽŀ":115835,"éĨĴäºĨ":115836,"çĶµè§£":115837,"忽çķ¥äºĨ":115838,"èĥĮéĥ¨":115839,"æĸĩæĺİåŁİå¸Ĥ":115840,"æºħ":115841,"è²ĵ":115842,"æĬµæĮ¡":115843,"åĸľæ¬¢åIJĥ":115844,"éĿĻéĿĻåľ°":115845,"å¾Īæ·±":115846,"åŁºç¡ĢçŁ¥è¯Ĩ":115847,"è¿ĩéĶĻ":115848,"çIJĨç§ij":115849,"交æµģåIJĪä½ľ":115850,"èĪĶ":115851,"èª¿æŁ¥":115852,"æħĪæĤ²":115853,"éĴ°":115854,"èĩ´ç͵":115855,"å®£ä¼łæ´»åĬ¨":115856,"åıĺéĩı":115857,"çļĦ人æĿ¥è¯´":115858,"æĹ¶éļĶ":115859,"ä¸įç®¡ä½ł":115860,"缸è¿ij":115861,"è´µéĩijå±ŀ":115862,"ä¹Łä¸įåı¯èĥ½":115863,"ç²īæľ«":115864,"åįĹçĵľ":115865,"çϽ马":115866,"åħīæºIJ":115867,"éĩijå¥ĸ":115868,"çĭ¬è§Ĵ":115869,"çĭ¬è§Ĵåħ½":115870,"妨ç¢į":115871,"ç»ĻåĬĽ":115872,"ä½Ĩä»į":115873,"å¼łå®¶åı£":115874,"èIJ¬åħĥ":115875,"渲æŁĵ":115876,"éķ¿å¤§äºĨ":115877,"è®°èĢħäºĨè§£":115878,"æĢĢçĿĢ":115879,"è¦ģåѦä¼ļ":115880,"游æĪı代":115881,"游æĪı代ç»ĥ":115882,"äºĮçϾ":115883,"æĦıè¯Ĩå½¢æĢģ":115884,"çݺ":115885,"计åĪĴçĶŁèĤ²":115886,"æī¾åĩĨ":115887,"åħ°èĬ±":115888,"è¿Ļ座åŁİå¸Ĥ":115889,"污泥":115890,"å®ĺæĸ¹å¾®ä¿¡":115891,"å½Ĵå±ŀ":115892,"æ°§æ°Ķ":115893,"éģİç¨ĭä¸Ń":115894,"åį°è±¡æ·±åĪ»":115895,"稳妥":115896,"çµIJæĿŁ":115897,"åŃķæľŁ":115898,"çĿĥ":115899,"åĿļåĽº":115900,"顺åĬ¿":115901,"æŀľèͬ":115902,"éĨ«å¸«":115903,"åİ®":115904,"ä¹Łæĺ¯å¦ĤæŃ¤":115905,"é¦Ĵ头":115906,"缸åĬ©":115907,"干线":115908,"ä¸Ģæľ¬ä¹¦":115909,"绥":115910,"æĮ¯å¥ĭ":115911,"èĤ¾èĦı":115912,"åĭķçī©":115913,"é£ŀè·ĥ":115914,"èıľåĵģ":115915,"å¤ļä½Ļ":115916,"å¤ļä½ĻçļĦ":115917,"éĢĿä¸ĸ":115918,"æģĭ人":115919,"å¼ĢåıijåĪ©ç͍":115920,"顺丰":115921,"éĩİå¿ĥ":115922,"æł¡å¤ĸ":115923,"æģIJé¾Ļ":115924,"éĿ¢åħ·":115925,"éķ¿è¾Ī":115926,"éļıå¤Ħ":115927,"éļıå¤Ħåı¯è§ģ":115928,"紧缺":115929,"éĩįä¸Ń":115930,"éĩįä¸Ńä¹ĭ":115931,"éĩįä¸Ńä¹ĭéĩį":115932,"奥æĸ¯":115933,"奥æĸ¯åį¡":115934,"ä¸Ģ个å¤ļ":115935,"ä¸Ģ个å¤ļæľĪ":115936,"ä¸įåı¯ç¼ºå°ij":115937,"æĸ°æł¼å±Ģ":115938,"æıIJæĮ¯":115939,"è¡Įè´¿":115940,"æ¼Ĥæµģ":115941,"èģĬåŁİ":115942,"åħ´å»º":115943,"è´¨æ£Ģ":115944,"ç§ģæľį游æĪı":115945,"æĽ´éĩįè¦ģ":115946,"è´®":115947,"çħľ":115948,"转åıĺ为":115949,"è¿Ļ两年":115950,"ä¿Ŀé²ľ":115951,"æī§æķĻ":115952,"çĥ¨":115953,"å¼Ģåıij建设":115954,"è¿IJèIJ¥ç®¡çIJĨ":115955,"误差":115956,"京åī§":115957,"å¸IJåı·":115958,"å·¥ä½ľä½ľé£İ":115959,"ä¸ĸä¿Ĺ":115960,"çϽ宫":115961,"å¤©åĽ½":115962,"å¤©åĽ½ç»§ç»Ń":115963,"å·´æĸ¯":115964,"èIJ¥åĪ©":115965,"åĵģæł¼":115966,"æĿijæ°ij们":115967,"æĪ¿è½¦":115968,"çŃīçĹĩçĬ¶":115969,"å¦Ĥå®ŀ":115970,"宸":115971,"å±Ĥ级":115972,"éĶĻè¿ĩäºĨ":115973,"ç»ĵå®ŀ":115974,"ç¬ijèĦ¸":115975,"羣å®ŀæĢ§":115976,"éĥ½å¸ĤæĬ¥":115977,"é¥Ńèıľ":115978,"åºĶ注æĦı":115979,"æĬ½çĥŁ":115980,"伪éĢł":115981,"åīįä¸Ģ天":115982,"éŃĶé¾Ļ":115983,"éŃĶé¾Ļ令çīĮ":115984,"约è°Ī":115985,"绣çѹæİ¨è¿Ľ":115986,"让ç͍æĪ·":115987,"åħ¨éĿ¢èIJ½å®ŀ":115988,"å¼Ħå¾Ĺ":115989,"è°Īæģĭçα":115990,"鸣æĪIJéķ¿":115991,"鸣æĪIJéķ¿è®°":115992,"æ´ĭæ´ĭ":115993,"çĸıæķ£":115994,"éĿ¢ç§¯çº¦":115995,"æµĵ缩":115996,"æĸ¯é¡¿":115997,"çĶŁæĢģåľĪ":115998,"æī§å¯¼":115999,"ç§»éĢģ":116000,"齿轮":116001,"æł¹æľ¬å°±ä¸į":116002,"缩åĩı":116003,"èµ°ä¸ĭåİ»":116004,"çĿ«æ¯Ľ":116005,"ä¹Łä¸įéĶĻ":116006,"åıįæĺłåĩº":116007,"èĭ¦æģ¼":116008,"缸åħ³æĶ¿çŃĸ":116009,"é«ĺ楼":116010,"ç²īèī²":116011,"æĬķèµĦé¢Ŀ":116012,"ä¸įç»ı":116013,"ä¸įç»ıæĦı":116014,"å®ģæĦ¿":116015,"èĪĮ头":116016,"æ»ĭçĶŁ":116017,"å®ģåİ¿":116018,"åīįåĪĹèħº":116019,"åĩ³":116020,"é£Łæ¬²":116021,"åıĸèĥľ":116022,"éĻ¢åŃIJ":116023,"ç´łè´¨æķĻèĤ²":116024,"滨å·ŀ":116025,"æĬ¢æĬĵ":116026,"å¼Ĥåij³":116027,"åĴļ":116028,"åĬį":116029,"宽éĺĶ":116030,"æļ´æ¶¨":116031,"æĥłåıĬ":116032,"è§Ħç¨ĭ":116033,"ä¾Ľåħ»":116034,"éĢģå¾Ģ":116035,"å±±åºĦ":116036,"举äºļ":116037,"å±ķé¦Ĩ":116038,"è§£éĶģ":116039,"æĹłè§Ĩ":116040,"éĻįèIJ½":116041,"è¿ŀäºij":116042,"è¿ŀäºij港":116043,"åıĤè°ĭ":116044,"çİĸ":116045,"ç¬ĥ":116046,"èĢĹè´¹":116047,"æī¿å¾·":116048,"社ä¼ļæķĪçĽĬ":116049,"åįĹæµ·ç½ij":116050,"åĪĽä¼¤":116051,"èIJ±":116052,"åħħæ²Ľ":116053,"ç½ijç«Ļ建设":116054,"大åºĨ":116055,"åĨįéĢł":116056,"åŃĹæł·":116057,"åħ¨æ°ijåģ¥èº«":116058,"èĮ«èĮ«":116059,"æµ®åĬ¨":116060,"åīįåı°":116061,"å¢ŀ设":116062,"éĢĽè¡Ĺ":116063,"åĢĴéĹŃ":116064,"æ³ķå¾ĭ顾éĹ®":116065,"çĸ®":116066,"çĹħçĹĩ":116067,"空åīį":116068,"请æķĻ":116069,"èĥľä»»":116070,"æĿĢèıĮ":116071,"æĪĺæĸĹæľº":116072,"ç»ĺåζ":116073,"å¤Ħæĸ¹":116074,"çªģåĽ´":116075,"çĮ«åĴª":116076,"æĬ¥åijĬæĺ¾ç¤º":116077,"ç¿Ł":116078,"çķ¶åľ°":116079,"æľĢéļ¾":116080,"纪å§Ķ书记":116081,"ä½İåİĭ":116082,"èĻļ空":116083,"è¿Ļéĥ¨ç͵影":116084,"产ä¸ļåįĩ级":116085,"è°·çα":116086,"è°·çαåĩĮ":116087,"æĬ¼éĩij":116088,"女æĸ¹":116089,"éĴ»çłĶ":116090,"æļĹæļĹ":116091,"è¿·ä½ł":116092,"æīĢè¬Ĥ":116093,"å¨ģå»ī":116094,"å¼ĢæľĹ":116095,"å²Ķ":116096,"çģ«çĤ¬":116097,"åIJĪçIJĨæĢ§":116098,"åħ¬åĬŀ":116099,"ä¼ļä¼ļéķ¿":116100,"éĺ´è°ĭ":116101,"å¼Ģå±Ģ":116102,"æĻ®éĢļè¯Ŀ":116103,"å᡿ĭī":116104,"å°ijåIJĥ":116105,"éĹªèĢĢ":116106,"æŀľæ±ģ":116107,"æī§è¡ĮåĬĽ":116108,"è°Ľ":116109,"æĬ¢åĬ«":116110,"é«ĺéĢŁåıijå±ķ":116111,"飬":116112,"åįĹæ²Ļ":116113,"é«ĺçŃīåŃ¦æł¡":116114,"æį¢ä¸ª":116115,"åı¯èĥ½åŃĺåľ¨":116116,"æĬĴ":116117,"è°±åĨĻ":116118,"被æĬĵ":116119,"æĿ¯åŃIJ":116120,"èĬĤèĥ½åĩıæİĴ":116121,"æ°ĶåĢĻåıĺåĮĸ":116122,"åĪĨåĪ¥":116123,"ä¸Ńæŀ¢":116124,"欢åij¼":116125,"åħī纤":116126,"è¿Ļ群":116127,"çľ¼çķĮ":116128,"åħ±åIJĮåıijå±ķ":116129,"çݰä»Ĭ":116130,"éĹ»è¨Ģ":116131,"çī¹èī²å°ıéķĩ":116132,"æķij人":116133,"éĻįæ°´":116134,"ä¸ĸçķĮä¸Ģæµģ":116135,"å°±é¤IJ":116136,"çŀ¥":116137,"å¤įä»ĩ":116138,"ç¾½æ¯Ľ":116139,"ç¾½æ¯ĽçIJĥ":116140,"è´©åįĸ":116141,"æºIJæ³ī":116142,"æĢ»ä½ĵè§ĦåĪĴ":116143,"åĬ¨æĦŁ":116144,"ä¸Ģ审":116145,"åĢŁéĴ±":116146,"è§ģæķĪ":116147,"èĬ±èįī":116148,"åIJĮä¸ļ":116149,"æŁ¥è©¢":116150,"åĽ½éĻħåIJĪä½ľ":116151,"ä¾ĽåĽ¾":116152,"åģ´":116153,"æłĵ":116154,"缸éĢļ":116155,"è°ĪåıĬ":116156,"è¿ĩç¨ĭå½ĵä¸Ń":116157,"é¦Ļèıĩ":116158,"åįģåĽĽæĿ¡":116159,"ä¸Ģå¼Ģå§ĭå°±":116160,"ä¸ĵåijĺ":116161,"æĺİ顯":116162,"æīĵéĢłåĩº":116163,"ä¸ĭéĿ¢æĪij们":116164,"æľºæ²¹":116165,"åı°è¯į":116166,"åŃIJå¼Ł":116167,"æľĢ常è§ģçļĦ":116168,"æĪijè®°å¾Ĺ":116169,"ç»°":116170,"æĤ¬æµ®":116171,"è¿ĺ羣æĺ¯":116172,"æĮĤåı·":116173,"åıĭåĸĦ":116174,"éĩį伤":116175,"çħ§äº®":116176,"æŃ¦èѦ":116177,"åĩºçݰéĹ®é¢ĺ":116178,"è¸Ĭè·ĥ":116179,"åľ°çIJĥä¸Ĭ":116180,"å¸Ĥ人大":116181,"åıĹ害人":116182,"å²IJ":116183,"åIJĮåѸ":116184,"éĩijèŀįå¸Ĥåľº":116185,"æľīçļĦçݩ家":116186,"å¸ĤæķĻèĤ²":116187,"å¸ĤæķĻèĤ²å±Ģ":116188,"åIJĦå¼Ĥ":116189,"ç·ļä¸Ĭ":116190,"æģº":116191,"æľī大éĩıçļĦ":116192,"åķĨæĬ¥":116193,"åįķåįķ":116194,"åħ¨é¢Ŀ":116195,"ä¾ĿæĹ§æĺ¯":116196,"好åĩłä¸ª":116197,"åĸµ":116198,"éĩįæķ´":116199,"çĶŁæ´»è´¨éĩı":116200,"æİ¢è®¿":116201,"åį°èĬ±":116202,"缼è¡Į":116203,"å¾®è§Ĥ":116204,"èĪįå¾Ĺ":116205,"åºŁå¼ĥçī©":116206,"积èĵĦ":116207,"å®ļå±ħ":116208,"æĤ¼":116209,"èĮ¸":116210,"çļĦ帮åĬ©":116211,"çļĦ帮åĬ©ä¸ĭ":116212,"亿åIJ¨":116213,"åŃĶéĽĢ":116214,"è¿ĻæĿ¡è·¯":116215,"饵":116216,"æĦĪåĬł":116217,"éķį":116218,"ä½ľæ¡Ī":116219,"èįĶæŀĿ":116220,"太å°ij":116221,"跻身":116222,"åħ¬çĽĬæ´»åĬ¨":116223,"çϽæĸij":116224,"æĬĢæľ¯æ°´å¹³":116225,"帧":116226,"æĹłçŁ¥":116227,"åºĶ该æĢİä¹Ī":116228,"éĢĢå¸Ĥ":116229,"æ¸Ń":116230,"åħ»çĮª":116231,"驼":116232,"ç¾¤å²Ľ":116233,"大åį«":116234,"ä¹ĺçĶ¨è½¦":116235,"èı²å°Ķ":116236,"è´´åIJ§":116237,"åģľä¸ĭæĿ¥":116238,"æľīæľºç»ĵåIJĪ":116239,"åĪ»èĭ¦":116240,"çļĦåľ°":116241,"çļĦåľ°æŃ¥":116242,"è¯ĬæīĢ":116243,"å¼ĢæĪĺ":116244,"èĢģçīĮ":116245,"çѹçłģ":116246,"åħ«å¤§ä»¥æĿ¥":116247,"楼æĪ¿":116248,"åŃĻæĤŁ":116249,"åŃĻæĤŁç©º":116250,"åħĴåŃIJ":116251,"第ä¸ĢæĿ¡":116252,"社交åªĴä½ĵ":116253,"æĥ³èµ·æĿ¥":116254,"大æ´ĭ":116255,"æĭ¼éٳ":116256,"è¿Ľåįļä¼ļ":116257,"è¿ĩåħ³":116258,"æ²¼":116259,"ç©¿æIJŃ":116260,"éĤ£ä¸Ģ天":116261,"çł´éŨ":116262,"æĬķæłĩ人":116263,"赢家":116264,"èĻļå¼±":116265,"æ¿ĥ":116266,"å®īæ£Ģ":116267,"客家":116268,"çĭ¬ç«ĭèij£äºĭ":116269,"æīĭåĬ¿":116270,"åīµéĢł":116271,"åľĨ满å®ĮæĪIJ":116272,"为主线":116273,"好å¥ĩå¿ĥ":116274,"é¢ĨåľŁ":116275,"çªĸ":116276,"åħ¸åŀĭæ¡Īä¾ĭ":116277,"çªģåıijäºĭä»¶":116278,"åºķæ°Ķ":116279,"头æĻķ":116280,"å®Ľå¦Ĥ":116281,"觸":116282,"æ¸ħæ·¡":116283,"åļ¼":116284,"åģľç͵":116285,"ç²īå°ĺ":116286,"éĻįä½İæĪIJæľ¬":116287,"æĶ¾æīĭ":116288,"è®°èĢħ表示":116289,"æĭĸå»¶":116290,"éªĩ":116291,"æ®ĭå¿į":116292,"çľģæķĻèĤ²":116293,"çľģæķĻèĤ²åİħ":116294,"é«ĺé¢Ŀ":116295,"éĦĻ":116296,"æ¥ŀ":116297,"åĨħç§ij":116298,"èIJ¥ä¸ļé¢Ŀ":116299,"åŁºçŁ³":116300,"æµģæ·Į":116301,"主æĹ¨":116302,"éĺIJéĩĬ":116303,"建åįİ":116304,"æĥĬåı¹":116305,"çī¢åĽºæłijç«ĭ":116306,"æĺ¯åIJ¦åŃĺåľ¨":116307,"建åĨĽ":116308,"éĽ¾éľ¾":116309,"åħ¬è®¤":116310,"åħ¬è®¤çļĦ":116311,"æ°¨åŁº":116312,"æ°¨åŁºéħ¸":116313,"åīįåĩłå¹´":116314,"åιéĤ£":116315,"æ±Łä¸ľ":116316,"å·¥æ¥Ń":116317,"ä¸ĢçĤ¹ä¹Łä¸į":116318,"修士":116319,"äºĨä¸Ģéģį":116320,"åĪģ":116321,"æ»ļæ»ļ":116322,"åĪĨæł¡":116323,"羣çα":116324,"è¡ĢèĦī":116325,"æĢ¥åī§":116326,"ä¸Ģ群人":116327,"羯":116328,"æĪIJé¾Ļ":116329,"ç²¾ç¥ŀçĹħ":116330,"缸åħ³äººåijĺ":116331,"éĿĵ丽":116332,"ä¸īåŃ£åº¦":116333,"åĪĴå®ļ":116334,"ä¸ĸçķĮ第ä¸Ģ":116335,"éĢļä¿Ĺ":116336,"åķĨä¸ļåľ°äº§":116337,"åĬŁèĥ½æĢ§":116338,"èµĦæľ¬ä¸»ä¹ī":116339,"详è§ģ":116340,"æĬĵæįķ":116341,"æĸĩæĺĮ":116342,"å®Ŀå®ī":116343,"è£ħéħįå¼ı":116344,"æºIJæºIJ":116345,"æºIJæºIJä¸įæĸŃ":116346,"çĶŁæĢķ":116347,"纵åIJij":116348,"壽":116349,"çľ¼è¢ĭ":116350,"èĤīä½ĵ":116351,"åı¤ä»Ĭ":116352,"èŀįåªĴä½ĵ":116353,"åģī":116354,"æł¼æľĥåĵ¡":116355,"çĥ·":116356,"åĬŁç͍":116357,"æīŃ磩":116358,"绿èī²éĢļéģĵ":116359,"åī§ç»Ħ":116360,"å¼±åĬ¿":116361,"è´¨éĩıéĹ®é¢ĺ":116362,"éĻIJé¢Ŀ":116363,"éªĨ":116364,"éģµä¹ī":116365,"å¯Ŀ室":116366,"æĥ³å¿µ":116367,"åł±åijĬ":116368,"ä»ħ次":116369,"ä»ħ次äºİ":116370,"èŀįåĪĽ":116371,"æĭĽèģĺä¼ļ":116372,"åºĬåŀ«":116373,"转åŀĭåıijå±ķ":116374,"ä¸ŃåĽ½çĶµä¿¡":116375,"åIJ¬è¯Ŀ":116376,"è«ĭæ±Ĥ":116377,"大éĥ¨åĪĨ人":116378,"æ´»å¾Ĺ":116379,"åĵŃæ³£":116380,"è¶Ļ":116381,"åıijçĹħçİĩ":116382,"ä¸į符":116383,"åĨĽå®ĺ":116384,"é¢Īæ¤İ":116385,"æĸ°åĨłçĸ«æĥħ":116386,"æŁ¬åŁĶ":116387,"æŁ¬åŁĶ寨":116388,"ä»»ä½ķå½¢å¼ı":116389,"人éĻħ":116390,"人éĻħåħ³ç³»":116391,"æĢ»æī¿åĮħ":116392,"å¹³åĿĩæ¯ı":116393,"æģŃåĸľ":116394,"åĦĺ":116395,"åħµé©¬":116396,"è¿Łåΰ":116397,"工伤":116398,"çīĪæĿĥå½Ĵ":116399,"çīĪæĿĥå½ĴåİŁ":116400,"æĭ¥æĬ¤":116401,"ç³Ĭæ¶Ĥ":116402,"å¹²æ¶ī":116403,"å°ijä¸įäºĨ":116404,"æĥ³æī¾":116405,"è´¹çİĩ":116406,"该éĻ¢":116407,"èŀįåĮĸ":116408,"è¿İåIJĪ":116409,"è§ĨåIJ¬èĬĤ缮":116410,"æł¼ç¶²ç«Ļ":116411,"çľīæ¯Ľ":116412,"欢è¿İ大家":116413,"å®¶åºŃæķĻèĤ²":116414,"ä¾µèļĢ":116415,"ç»Ļä½łä»¬":116416,"è¡Ģ液循çݯ":116417,"å¯Ħæīĺ":116418,"å°ĸåı«":116419,"以ä¸ĭåĩłä¸ª":116420,"è¿ĺ以为":116421,"åħ¶ä»ĸçݩ家":116422,"ç¬ijç¬ij":116423,"æīĵåIJ¬":116424,"èĩªçĦ¶ç§ijåѦ":116425,"åŁºç«Ļ":116426,"ä¹Ŀå·ŀ":116427,"ä¿Ŀ驾":116428,"ä¿Ŀ驾æĬ¤":116429,"ä¿Ŀ驾æĬ¤èĪª":116430,"æĶ¾çľ¼":116431,"çŁ¥åIJįä¼ģä¸ļ":116432,"縮":116433,"稽":116434,"æļĩ":116435,"使çĶ¨ç¶²è·¯":116436,"é¢ĦçķĻ":116437,"大象":116438,"åıijæĺİä¸ĵåĪ©":116439,"æĸĩ娱":116440,"éĢłç¦ı":116441,"湿润":116442,"éĿ¢æĿ¡":116443,"æ¶Īè´¹åįĩ级":116444,"è®Ĭå¾Ĺ":116445,"åĩłåIJį":116446,"ä»Ħ":116447,"认æ¸ħ":116448,"è¿ľæĻ¯":116449,"æıĴ座":116450,"诸侯":116451,"åıĺæĢģ":116452,"ç¦ı彩":116453,"è´§æŀ¶":116454,"失æİ§":116455,"ç§»åĬ¨ç«¯":116456,"ä¸Ĭåı¸":116457,"éĢłçº¸":116458,"å¸ĥæľĹ":116459,"çĴĩ":116460,"åı°åįĹ":116461,"åĮĹ京åĨ¬å¥¥":116462,"èĵĿçīĻ":116463,"éķ¿çŁŃ":116464,"æĬĺå°Ħ":116465,"ç»ijæŀ¶":116466,"å¯Ĵåģĩ":116467,"è½¬åŁºåĽł":116468,"æĢ¥äºİ":116469,"æŃ£åĵģ":116470,"åħħ滿":116471,"大纲":116472,"æĬĹä½ĵ":116473,"è¨ĵç·´":116474,"æĶ¶ç´§":116475,"æ¯Ķè³½":116476,"åħµåĬĽ":116477,"æľ¬æĽ¸":116478,"äºĮ代":116479,"æĢ¥è¯Ĭ":116480,"æĸĩæ¡Ī":116481,"ç»ıåķĨ":116482,"æĻ¨æĬ¥":116483,"æ£ĺ":116484,"æĢ»ä¹¦è®°åľ¨":116485,"åıĹéĤĢ":116486,"äºĶåĽĽ":116487,"å²ŃåįĹ":116488,"çαåIJĥ":116489,"åŁĥå°Ķ":116490,"å¿ĥå¢ĥ":116491,"è¦ĨçĽĸéĿ¢":116492,"å®ŀåľ¨æĺ¯å¤ª":116493,"æł¹åºķ":116494,"纷纷表示":116495,"åĹħ":116496,"éļıçĿĢæĹ¶éĹ´":116497,"åİĨåı²æĤłä¹ħ":116498,"éħī":116499,"æĢ»éĺŁ":116500,"主é¢ĺæ´»åĬ¨":116501,"éĹ®åį·":116502,"é©¿ç«Ļ":116503,"æı¡ä½ı":116504,"åı¯èĥ½å¯¼èĩ´":116505,"æ°ijéĸĵ":116506,"éĸĭåķŁ":116507,"ä½Ĩä¸įéĻIJ":116508,"ä½Ĩä¸įéĻIJäºİ":116509,"åįģéĩĮ":116510,"娥":116511,"æįŁèĢĹ":116512,"çĸı导":116513,"çݯ氧":116514,"ç¥ŀéĢļ":116515,"çαå°Ķ":116516,"çαå°Ķåħ°":116517,"æľ´å®ŀ":116518,"å¿«æĬ¥":116519,"æĶ¶åıĹ":116520,"æĪĸ許":116521,"èĥĮéĿ¢":116522,"æĸĩåĮĸä¼łåªĴ":116523,"ä¸īåĢĭ":116524,"æĶ»åĬ¿":116525,"å®ī举":116526,"å®īä¸ľå°¼":116527,"åĿĩå·²":116528,"顾èĻij":116529,"éĦŃ":116530,"è¿Ļå®¶åħ¬åı¸":116531,"åħ¬åijĬç§°":116532,"æıIJä¾Ľä¼ĺè´¨":116533,"稳æŃ¥æİ¨è¿Ľ":116534,"å¤įè¯ķ":116535,"å°Ĩé¢Ĩ":116536,"è°Īèµ·":116537,"å¨Ħ":116538,"è¿ŀ线":116539,"æ©ŁéĹľ":116540,"åºĶçĶ¨åľºæĻ¯":116541,"çĶ»åĥı":116542,"è´¢è¿IJ":116543,"ä¿Ŀéļª":116544,"çĹħçIJĨ":116545,"æ¯Ľä¸»å¸Ń":116546,"ä¸Ŀ毫ä¸į":116547,"çαå¥ĩ":116548,"çαå¥ĩèīº":116549,"ä¸ĵå®¶ç»Ħ":116550,"åij¼åͤ":116551,"éĭ¼":116552,"çģ¸":116553,"é¢ĨåħĪåľ°ä½į":116554,"æıIJæĭĶ":116555,"龸éģĵ":116556,"å±±åĿ¡":116557,"èĿİ":116558,"沸èħ¾":116559,"该项":116560,"ä»ĬçĶŁ":116561,"ä¸Ģç¯ĩæĸĩ竳":116562,"æĸ¹å¼ıè¿Ľè¡Į":116563,"é»ij客":116564,"æĶ¹åĬ¨":116565,"主é¡Į":116566,"æķ£å¸ĥ":116567,"ä»Ģä¹Īåľ°æĸ¹":116568,"åĮĸåIJĪ":116569,"åĮĸåIJĪçī©":116570,"éĿĻç͵":116571,"æĢ»æĶ¶åħ¥":116572,"å§Ķç»Ħç»ĩ":116573,"å§Ķç»Ħç»ĩéĥ¨":116574,"éĿĻæĢģ":116575,"èĢģåŃĹåı·":116576,"室åıĭ":116577,"éĥ½ä¸įæķ¢":116578,"æŀ¶åŃIJ":116579,"ç쵿ķı":116580,"审è§Ĩ":116581,"æĤ£åĦ¿":116582,"山寨":116583,"èĸªèµĦ":116584,"é©°æı´":116585,"éĥ¨åĪĨåĨħ容":116586,"好似":116587,"æĪIJåijĺåĽ½":116588,"åľ¨æĪijçľĭæĿ¥":116589,"åħ³æ³¨åº¦":116590,"éĻĪæŁIJ":116591,"è¿Ļç§įäºĭæĥħ":116592,"éĢīå®ļ":116593,"ç²¾åŃIJ":116594,"å£ģçĶ»":116595,"æ±Łæ·®":116596,"é«ĺæĺĤ":116597,"æł¼åĬĽ":116598,"輩":116599,"åѦåłĤ":116600,"æĤ¨åIJĮæĦı":116601,"ä¸ĢåĪĩéĥ½æĺ¯":116602,"潤":116603,"éĸĥ":116604,"å¸ĮæľĽèĩªå·±":116605,"ä¿ĺ":116606,"æ±Łåİ¿":116607,"æ³¾":116608,"ç§ijæķĻ":116609,"æīĵè¿Ľ":116610,"ä¸įæħİ":116611,"å¯ĴåĨ¬":116612,"æ¸Ķæ°ij":116613,"鼷æĸ¯":116614,"主宰":116615,"æĹħ游度åģĩ":116616,"ç͵åŃIJéĤ®ä»¶":116617,"æ±Ĥå©ļ":116618,"éļİæ®µ":116619,"åģ¥èº«æĪ¿":116620,"注æĺİåĩºå¤Ħ":116621,"äºĭæķħåıijçĶŁ":116622,"级以ä¸Ĭ":116623,"åŃĺæ´»":116624,"æĸ½èĤ¥":116625,"èľľèľĤ":116626,"嵩":116627,"æĮĸæİĺæľº":116628,"æĬĹæĭĴ":116629,"ä¼łå¯¼":116630,"æĺ¯ä»Ģä¹Īåij¢":116631,"ä¸Ĭå¹´åIJĮæľŁ":116632,"建åħļ":116633,"çĶŁæħĭ":116634,"ä¿Ŀä½ı":116635,"款车åŀĭ":116636,"人èĦī":116637,"éļIJèͽ":116638,"失æķĪ":116639,"éģ¿åŃķ":116640,"ç®Ģ便":116641,"è°¢è°¢ä½ł":116642,"å®Īä½ı":116643,"æĶ¾æĺł":116644,"è¨Īçķ«":116645,"çݰ代çµģ":116646,"é¤IJ廳":116647,"æķħå±ħ":116648,"大大å°ı":116649,"大大å°ıå°ı":116650,"çī¹åΫ声æĺİ":116651,"éģįåıĬ":116652,"å¿ĥçIJĨåĴ¨è¯¢":116653,"è³´":116654,"çĮ®è¡Ģ":116655,"å·²ç»ıè¾¾åΰ":116656,"æīĵæĭĽåij¼":116657,"åıĮè¾¹":116658,"ä¸Ģæĸ¹éĿ¢æĺ¯":116659,"å´ĩå°ļ":116660,"éĺ¿å¯Į":116661,"éĺ¿å¯Įæ±Ĺ":116662,"æĮģæľī人":116663,"è±ģ":116664,"é£İçŃĿ":116665,"åĬ¨èį¡":116666,"äºĨä¸Ģä¼ļ":116667,"äºĨä¸Ģä¼ļåĦ¿":116668,"ä¸ĩ象":116669,"çľĭç͵è§Ĩ":116670,"åįģä¸īæĿ¡":116671,"çĮĽçĥĪ":116672,"è¦ģä¸įçĦ¶":116673,"太æŀģæĭ³":116674,"å¼ķçĪĨ":116675,"ç»ıè¿ĩå¤ļå¹´":116676,"游æĪıéĩĮçļĦ":116677,"é¾Ļæ³ī":116678,"æłĩéħį":116679,"è®ĵä»ĸåĢij":116680,"éĢłæŀĹ":116681,"åĮºåŁŁæĢ§":116682,"亿ä¸ĩ":116683,"æĪĺçķ¥å¸ĥå±Ģ":116684,"éķĩæĶ¿åºľ":116685,"åĶ®ç¥¨":116686,"çĶŁäº§å·¥èīº":116687,"éķĩåħļå§Ķ":116688,"ä¸Ńå°ıåŀĭ":116689,"æľ¨è̳":116690,"河边":116691,"èĦ¾èĥĥ":116692,"欢è¿İæĤ¨":116693,"åıĺå¼Ĥ":116694,"缤纷":116695,"åŀĥåľ¾æ¡¶":116696,"辩è¯ģ":116697,"车åºĵ":116698,"æ¯Ķçİĩ":116699,"åħ´æĹº":116700,"详ç»ĨäºĨè§£":116701,"å®īå±ħ":116702,"çħ§æĸĻ":116703,"æĸ¹æīį":116704,"赦":116705,"åĨķ":116706,"å¥Ķèµ´":116707,"å®Ŀ鸡":116708,"åľºåĿĩ":116709,"缮åīįæŃ£åľ¨":116710,"åIJŀåϬ":116711,"è¿°èģĮ":116712,"æĩµ":116713,"å¥ĩçijŀ":116714,"ä»įå°Ĩ":116715,"èĪī辦":116716,"å·¥åķĨå±Ģ":116717,"å¡ijèĥ¶":116718,"åĬŀå®ŀäºĭ":116719,"æĸ¹æĸ¹éĿ¢":116720,"æĸ¹æĸ¹éĿ¢éĿ¢":116721,"æĸĩåĮĸèĬĤ":116722,"åħ¥èģĮ":116723,"鸥":116724,"ç©¿éĢı":116725,"ä»¥ä¹łè¿ijå¹³":116726,"åį±éļª":116727,"æľ¦èĥ§":116728,"åİĨåı²æĢ§":116729,"æķŀå¼Ģ":116730,"ä¼Ļä¼´åħ³ç³»":116731,"çŁ¿åĮº":116732,"åĽ½éĻħåľ¨çº¿":116733,"ä¼łå¥ĩéĩĮéĿ¢":116734,"è¿ijäºĽ":116735,"è¿ijäºĽå¹´":116736,"åĬ£åĬ¿":116737,"æĶ»åĩ»åĬĽ":116738,"æĻºéĢł":116739,"禧":116740,"çİĭåħĪçĶŁ":116741,"éĨ«çĶŁ":116742,"åĽĽé¡¹":116743,"å®ŀæĻ¯":116744,"åĪĿåĪĽ":116745,"å¿ĥ裡":116746,"æĻ¶ä½ĵ":116747,"交éĻħ":116748,"让æ¶Īè´¹èĢħ":116749,"课æĸĩ":116750,"æİĴæ°Ķ":116751,"å¹¶ä¸įæĦıåij³":116752,"çĽ¸å£°":116753,"第ä¸Ģå±Ĭ":116754,"åİŁèijĹ":116755,"鼾":116756,"没æľī太大":116757,"补水":116758,"çµģä¼ģä¸ļ":116759,"第äºĮæī¹":116760,"åħ¶å®ĥéĹ®é¢ĺ":116761,"æİĮéŨ":116762,"责任å¿ĥ":116763,"é¤IJåħ·":116764,"ç¾Ĭæ¯Ľ":116765,"没æľīå¿ħè¦ģ":116766,"ä¹IJåĽ¢":116767,"è¿ĽåŁİ":116768,"ä¸ĢçĤ¹åĦ¿":116769,"身形":116770,"çļ®èĤ¤çĹħ":116771,"æĺ±":116772,"å¢ŀèĩ³":116773,"è첿ĺİ":116774,"æıIJè´¨":116775,"ä½ĵèĤ²åľº":116776,"çŃ¹å»º":116777,"é¬Ĩ":116778,"车çīĮ":116779,"éļĶéŁ³":116780,"è´Łè´£åIJĮå¿Ĺ":116781,"丰ç¡ķ":116782,"ä½ĽéĻĢ":116783,"äºīåIJµ":116784,"庶":116785,"æ·¡æ°´":116786,"å°ıçĶ·åŃ©":116787,"ç§ģèĩª":116788,"åĮĸè¿Ľç¨ĭ":116789,"æĪĺ士æĿ¥è¯´":116790,"æ²¹èħ»":116791,"èĦ±è´«èĩ´å¯Į":116792,"æĹ¥å¸¸å·¥ä½ľ":116793,"交èŀį":116794,"åĨľè´¸":116795,"åĨľè´¸å¸Ĥåľº":116796,"åĵĪçĻ»":116797,"çĶµè´¹":116798,"èµĺ":116799,"åıĮèħ¿":116800,"æĵĶå¿ĥ":116801,"æĿ¥å½¢å®¹":116802,"使åij½æĦŁ":116803,"éĤ£ä¹Īç®Ģåįķ":116804,"èĬĻèĵī":116805,"åĢŁæ¬¾äºº":116806,"ç§Ģ丽":116807,"è®ĵä»ĸ":116808,"严åİīæīĵåĩ»":116809,"è³ŀ":116810,"æļ«":116811,"çħ¤æ°Ķ":116812,"çάä¸Ĭ":116813,"æ½ĩæ´Ĵ":116814,"太ä¹ħ":116815,"åij½åIJį为":116816,"è·¯çͱ":116817,"è·¯çͱåύ":116818,"驯":116819,"æıIJæĹ©":116820,"æĬĹåĩ»çĸ«æĥħ":116821,"åĩĽ":116822,"交åıĭ":116823,"éĶĢåĶ®æ¸łéģĵ":116824,"毫ä¸įçĬ¹è±«":116825,"èIJ¥åľ°":116826,"çłĶ究表æĺİ":116827,"鱼类":116828,"æį¢å±Ĭ":116829,"æİ¡åıĸ":116830,"çīĨ":116831,"缼å¼Ģ":116832,"æ²§æ¡ij":116833,"åºŃ审":116834,"ç»ıæŁ¥":116835,"åĬłå¼·":116836,"缸æ¯Ķäºİ":116837,"ä¸ĵçıŃ":116838,"ä½ĵåŀĭ":116839,"被害":116840,"被害人":116841,"æĶ¶æ¬¾":116842,"åħ·æľīèī¯å¥½":116843,"é«ĺå³°æľŁ":116844,"åģıä½İ":116845,"åĦŁ":116846,"åĨľä¸ļç§ijæĬĢ":116847,"ç®ĬæĥħåĨµ":116848,"å¦Ĥæŀľçݩ家":116849,"éķ¿çº¦":116850,"第åħŃå±Ĭ":116851,"åħ¬å¼ĢæĭĽèģĺ":116852,"åĪĩæĸŃ":116853,"迫使":116854,"çĸĹç¨ĭ":116855,"第äºĮç§į":116856,"ä¸įåħį":116857,"å¹²èѦ":116858,"çŁ³æ¦´":116859,"åĹ£":116860,"两类":116861,"çε士":116862,"åŁİ乡å±ħæ°ij":116863,"æŃ¤é¡¹":116864,"缴è¾ĸ":116865,"缴è¾ĸå¸Ĥ":116866,"åij¼åºĶ":116867,"éĴ¯":116868,"ç¦ıå¾·":116869,"æľºèº«":116870,"æĵįåľº":116871,"æ¿Ĵ临":116872,"人群ä¸Ń":116873,"èĤ¡æ°ij":116874,"åѽ":116875,"æ³ķåħ°":116876,"é¨İ":116877,"糯米":116878,"æĢ»çļĦ":116879,"æĢ»çļĦæĿ¥è¯´":116880,"åħ¸éĽħ":116881,"æĸ°éĻĪ":116882,"æĸ°éĻĪ代谢":116883,"缮çĿ¹":116884,"é¢Ħè¨Ģ":116885,"è·Įçł´":116886,"æĸ°ç¯ĩ竳":116887,"æ¯ĴæĢ§":116888,"åĸĿèĮ¶":116889,"æŁ¥èİ·":116890,"亮丽":116891,"çĶŁäº§åķĨ":116892,"æĶ¹æĪIJ":116893,"为äºĨæĽ´å¥½":116894,"深交":116895,"深交æīĢ":116896,"æİĥ":116897,"ä¹ĻèĤĿ":116898,"泸å·ŀ":116899,"åħĪè¿ĽæĬĢæľ¯":116900,"è¾ĵç»Ļ":116901,"æķ£æĪ·":116902,"æĢĿç»´æĸ¹å¼ı":116903,"åºĹ主":116904,"è°ĭæ±Ĥ":116905,"游æĪıæĬĢå·§":116906,"ä¸Ģ年级":116907,"çľ¼è§Ĵ":116908,"ä¸Ńä»ĭæľºæŀĦ":116909,"å·§åIJĪ":116910,"éĺ²çĽĹ":116911,"导è´Ń":116912,"æĪĬ":116913,"æĽ´éĢĤåIJĪ":116914,"åŁºæľ¬ä¿¡æģ¯":116915,"马ä¸ģ":116916,"åħ»æ®ĸåľº":116917,"åıįè¿ĩæĿ¥":116918,"æİ¨å´ĩ":116919,"å¯ĨåĪĩåħ³æ³¨":116920,"åŁºéĩijç»ıçIJĨ":116921,"æĮīéĶ®":116922,"åĨħéĥ¨æİ§åζ":116923,"æĪIJåijĺåįķä½į":116924,"æľ¯è¯Ń":116925,"åζæľį":116926,"åĪļéľĢ":116927,"æ£Ģç´¢":116928,"大大æıIJé«ĺ":116929,"åģ¥åº·ç®¡çIJĨ":116930,"èĩªæŃ¤":116931,"客æĪ·éľĢæ±Ĥ":116932,"丰èĥ¸":116933,"èµ·éĩį":116934,"èµ·éĩįæľº":116935,"æ¬łç¼º":116936,"æ¡ĪåŃIJ":116937,"æĥħ人èĬĤ":116938,"åħļæł¡":116939,"è¢ľ":116940,"该åī§":116941,"è¿·å¤±ä¼łå¥ĩ":116942,"ç»ļ丽":116943,"åķª":116944,"æĹłç§ģ":116945,"é̲ä¸ĢæŃ¥":116946,"第ä¸Ģ竳":116947,"åύåħ·":116948,"åĨľèµĦ":116949,"確實":116950,"åºıåĪĹ":116951,"娱ä¹IJå¹³åı°":116952,"èŀįèµĦç§Łèµģ":116953,"èµĦæºIJåħ±äº«":116954,"èģ½åΰ":116955,"æIJŀå¾Ĺ":116956,"ç»§ç»Ńä¿ĿæĮģ":116957,"åIJ¯èĴĻ":116958,"çľº":116959,"ä¸Ŀè·¯":116960,"设æĸ½å»ºè®¾":116961,"æİ¥åľ°":116962,"æİ¥åľ°æ°Ķ":116963,"第ä¸īåŃ£åº¦":116964,"åŁºè°ĥ":116965,"åıijéŁ³":116966,"社ä¼ļèµĦæľ¬":116967,"éĽĩ主":116968,"è¿ŀèĥľ":116969,"没åķ¥":116970,"廢":116971,"èµ¶èµ´":116972,"æ¼ĶåĮĸ":116973,"åı¤æĢª":116974,"çİĭçĪ·":116975,"é¢ĦåħĪ":116976,"å¼Ģåħ·":116977,"åĽŀé¦ĸ":116978,"åľ°ä¸ĭæ°´":116979,"å°ıç¼ĸä¸Ģèµ·":116980,"èµİåĽŀ":116981,"åľ°è²Į":116982,"åĪĿä¸ī":116983,"åı¯ç͍äºİ":116984,"éģĹ迹":116985,"è¿Ļæī¹":116986,"èĸªæ°´":116987,"å¿ħçĦ¶ä¼ļ":116988,"æ²½":116989,"éįĭ":116990,"第ä¸Ģéĥ¨":116991,"åĪĬçī©":116992,"å®ŀä¾ĭ":116993,"æ¸ħåĩĢ":116994,"ä¸ĬèµĽåŃ£":116995,"åĽ¾è¡¨":116996,"éĤ®è½®":116997,"åĵªè£¡":116998,"缸è§ģ":116999,"æī°ä¹±":117000,"æ¯ıæ¯ı":117001,"è¿Ļè¾ĪåŃIJ":117002,"ç¡«éħ¸":117003,"äºī缸":117004,"溯æºIJ":117005,"åĩºä¼Ĺ":117006,"çİīçŁ³":117007,"åħ±çĶŁ":117008,"æĹ¶éĹ´æ®µ":117009,"éĩįè¦ģæĮĩ示":117010,"æ¶Īè´¹éľĢæ±Ĥ":117011,"éķ¿éķ¿":117012,"éķ¿éķ¿çļĦ":117013,"å®īæĬļ":117014,"å¢ŀé«ĺ":117015,"æľ¬è½®":117016,"äº²çľ¼":117017,"é£İæ³¢":117018,"èĢģå¦Ī":117019,"æĶ¶è´¹æłĩåĩĨ":117020,"åĨħéĻĨ":117021,"æĮ¥åıij":117022,"åįĩåѦ":117023,"èĥ¸åīį":117024,"åģıè¿ľ":117025,"纯æ´ģ":117026,"æĸ½å·¥åįķä½į":117027,"身价":117028,"è´¢åĬĽ":117029,"纶":117030,"è£ħçͲ":117031,"æĺ¾ç¤ºåύ":117032,"毫åįĩ":117033,"æ·±çŁ¥":117034,"è̶ç©":117035,"è̶ç©Į":117036,"è¾ĥéĩı":117037,"åľ¨è¿ĩ渡":117038,"åľ¨è¿ĩæ¸¡æľŁ":117039,"èĮĹ":117040,"ä¸Ģ个æĺŁæľŁ":117041,"èĬ·":117042,"è´¿èµĤ":117043,"æ¿ķ":117044,"æĩĤäºĭ":117045,"ç§§":117046,"åħħå½ĵ":117047,"åĽ½ç«ĭ":117048,"èĬ±çĵ£":117049,"éĤĦè¦ģ":117050,"åħ¬åľĴ":117051,"触åĬ¨":117052,"æ³°å·ŀ":117053,"ä»Ģä¹Īæł·":117054,"æ»ĭåħ»":117055,"è¯ĦåΤ":117056,"æĮ¥æīĭ":117057,"èĦĪ":117058,"姥姥":117059,"è¿IJè´¹":117060,"æ¯ħåĬĽ":117061,"å¿ĥæĻº":117062,"ä¸įæİĴéϤ":117063,"第ä¸ī代":117064,"éĢĢè´§":117065,"æĺŁéĻħ":117066,"æ°¸åĪ©":117067,"æĬ¤åį«":117068,"çıŃ车":117069,"è¨Ģè¡Į":117070,"繪":117071,"主åĬ¨æĢ§":117072,"å·¥ç¨ĭè´¨éĩı":117073,"éĥĬåĮº":117074,"ä¸Ģæłĭ":117075,"ä½Ĩå®ŀéĻħä¸Ĭ":117076,"ä¸ī大èģĮä¸ļ":117077,"åij¼åı«":117078,"女åħĴ":117079,"è¯ģåΏæĬķèµĦ":117080,"èĢĥæħ®":117081,"çĤ«èĢĢ":117082,"治好":117083,"åĺ¶":117084,"èĥ¤":117085,"åħīä¼ıåıijç͵":117086,"åĩłæŃ¥":117087,"æīĢæīĢ":117088,"æīĢæīĢéķ¿":117089,"çħ§æł·":117090,"åĵ¥ä»¬":117091,"è¯Ľ":117092,"è¿Ļä¸ĢåĪ»":117093,"çŁ¿çī©è´¨":117094,"ä¸įå¾Ĺå·²":117095,"åIJĮ缣":117096,"ç»Ĩå¾®":117097,"è·¯èĻİ":117098,"çϾèĬ±":117099,"æ··æ²Į":117100,"ä¸Ĭæµ·è¯ģåΏ":117101,"éĢĢç¨İ":117102,"èµŀåı¹":117103,"æī®æ¼Ķ游æĪı":117104,"åIJįåĪĹ":117105,"åIJįåĪĹåīį":117106,"åIJįåĪĹåīįèĮħ":117107,"ç±³å°Ķ":117108,"ä»Ģä¹ĪåİŁåĽł":117109,"å®īåħ¨ä¿Ŀéļľ":117110,"ä¸Ģåıªæīĭ":117111,"ä¹³ä¸ļ":117112,"ä¸įçĶĺ":117113,"æĥħåķĨ":117114,"æĮ¡ä½ı":117115,"åİŁåĽłä¹ĭä¸Ģ":117116,"è¿Ļ两天":117117,"çĥĺçĦĻ":117118,"豬":117119,"ä½łä»¥ä¸º":117120,"没è§ģè¿ĩ":117121,"åĵªå®¶å¥½":117122,"åīįä»»":117123,"è¿Ľè´§":117124,"éĢĢåĽŀ":117125,"串èģĶ":117126,"èĩ³æĸ¼":117127,"åĨ°æ·ĩ":117128,"åĨ°æ·ĩæ·ĭ":117129,"æŁ¥çľĭ详æĥħ":117130,"çı¾å¯¦":117131,"æİ¨æµĭ":117132,"æİ¥æīĭ":117133,"éļ¶å±ŀäºİ":117134,"åŁİå¸Ĥ群":117135,"æĿİåħĪçĶŁ":117136,"çŁ¿æ³īæ°´":117137,"çī¹ä»·":117138,"æĽ´å¤ļ精彩":117139,"ç¨ĭå¼ı":117140,"读æĩĤ":117141,"å±ıèͽ":117142,"奥æŀĹ":117143,"奥æŀĹåĮ¹":117144,"奥æŀĹåĮ¹åħĭ":117145,"红èĸ¯":117146,"奮":117147,"å®Ŀçİī":117148,"網絡":117149,"è²§":117150,"欧å¼ı":117151,"çϽç³ĸ":117152,"èĩªçĦ¶çģ¾å®³":117153,"åijĬè¯ī她":117154,"å»ļ":117155,"çĤ¹åĩ»æŁ¥çľĭ":117156,"é£İ湿":117157,"èµĦ产éĩįç»Ħ":117158,"ä¹Łä¸įä¾ĭå¤ĸ":117159,"åįĬ个å°ıæĹ¶":117160,"åIJ¸å¼ķæĽ´å¤ļ":117161,"æĹ¶éĹ´èĬĤçĤ¹":117162,"æĶ¶çº³":117163,"åIJ¸æ¯Ĵ":117164,"èĢģ乡":117165,"çIJħ":117166,"æľĢçµĤ":117167,"åıįæĦŁ":117168,"çĶ¨å¾®ä¿¡":117169,"çĶ¨å¾®ä¿¡æī«":117170,"éĢŁçİĩ":117171,"大çĨĬçĮ«":117172,"åı¯æĥ³":117173,"åı¯æĥ³èĢĮ":117174,"åı¯æĥ³èĢĮçŁ¥":117175,"åĴ§":117176,"èµ°åħ¥":117177,"碳éħ¸":117178,"èĮĥåĨ°":117179,"èĮĥåĨ°åĨ°":117180,"被åΤ":117181,"积æŀģæİ¨åĬ¨":117182,"足足":117183,"ç²ĴåŃIJ":117184,"大å®Ĺ":117185,"大å®ĹåķĨåĵģ":117186,"ç½ij绾ç§ijæĬĢ":117187,"æĽ¼åŁİ":117188,"å·²ä¹ħ":117189,"å·²ä¹ħçļĦ":117190,"秦çļĩ":117191,"秦çļĩå²Ľ":117192,"ä»»æķĻ":117193,"å͝ç¾İ":117194,"æ·¡åĮĸ":117195,"æ¡ĤèĬ±":117196,"çŁ¥è¯ĨåĪĨåŃIJ":117197,"æĩĴå¾Ĺ":117198,"主åħ¬":117199,"设计çIJĨ念":117200,"賺":117201,"æīĢæıIJä¾Ľ":117202,"æīĢæıIJä¾Ľä¹ĭ":117203,"æĶ»åħĭ":117204,"åĤ¾":117205,"è¯Ńæ³ķ":117206,"åįĥåı¤":117207,"éĸĭæĶ¾":117208,"第ä¸ĢèĬĤ":117209,"éĤĦæ²Ĵ":117210,"éĢĥçĶŁ":117211,"æ³Ĺ":117212,"åİ¿å§Ķ书记":117213,"ä½ľèĢħæīĢæľī":117214,"çħ½":117215,"ç»ħ":117216,"æłħ":117217,"æľ´ç´ł":117218,"çijķçĸµ":117219,"åĮħåĮħ":117220,"æ°ij主åħļ":117221,"ä¸įè¿ľå¤Ħ":117222,"å¥ĩå¼Ĥ":117223,"åĺ»åĺ»":117224,"æī¼":117225,"ç¿»å¼Ģ":117226,"æĢİèĥ½":117227,"éģ´éĢī":117228,"è§£éĩĭ":117229,"å¹¼ç¨ļ":117230,"è¦ģ好好":117231,"è¶´åľ¨":117232,"ç´¢åıĸ":117233,"ç»ĪçĶŁ":117234,"åħ¨æµģç¨ĭ":117235,"éģ©çķ¶":117236,"åįıè°ĥåıijå±ķ":117237,"æĬ¥ä»ĩ":117238,"ç§ijæĬĢåĽŃ":117239,"ä»Ģä¹Īéĥ½ä¸į":117240,"æľĢåIJİä¸Ģ次":117241,"ç»Ļ人ä¸Ģç§į":117242,"æł¸å®ļ":117243,"被åĪĹåħ¥":117244,"æĦıæĥ³ä¸įåΰ":117245,"èĢĥæŁ¥":117246,"åľ¨æŃ¤ä¹ĭåīį":117247,"æīĵçIJĥ":117248,"è¶ĬæĿ¥è¶Ĭå°ij":117249,"å®ļå¾ĭ":117250,"è¡ĮæĶ¿æľºåħ³":117251,"ä½ıæĪ¿åħ¬ç§¯":117252,"å°ıå§IJå§IJ":117253,"ä¸īèı±":117254,"修补":117255,"èŀĥèŁ¹":117256,"西çͲ":117257,"æĢł":117258,"çŃīå¤ļ项":117259,"产ä¸ļéĽĨèģļ":117260,"ä»·æł¼ä¸Ĭ涨":117261,"åħ¬åħ±åľºæīĢ":117262,"è¢ĭåŃIJ":117263,"æĨ§æĨ¬":117264,"çļĦæĸ¹å¼ıæĿ¥":117265,"åĪ°è´¦":117266,"çģ½":117267,"å·´èı²":117268,"å·´èı²çī¹":117269,"æ¼Ķä¹ł":117270,"èŃ¦ç¤ºæķĻèĤ²":117271,"çķıæĥ§":117272,"å¼ķæµģ":117273,"æĶ¶æĶ¯":117274,"å±Ĥåĩº":117275,"å±Ĥåĩºä¸į":117276,"å±Ĥåĩºä¸įç©·":117277,"æijĩæ»ļ":117278,"辦çIJĨ":117279,"纵è§Ĥ":117280,"æķijæµİ":117281,"å®¶éĥ½çŁ¥éģĵ":117282,"åĮ¯":117283,"å°ı鸣":117284,"ä»»åĭĻ":117285,"计åħ¥":117286,"ç«ŀéĢī":117287,"å¼ĢèįĴæĹ¶æľŁ":117288,"åij¨æģ©":117289,"åij¨æģ©æĿ¥":117290,"交ç»ĩ":117291,"çķ¢æ¥Ń":117292,"æł¹æį®èĩªå·±":117293,"æĸ°äººçݩ家":117294,"åѵåĮĸåύ":117295,"éĩĩæļĸ":117296,"å¹³åĿĩæ°´å¹³":117297,"åħ¬å¼Ģ课":117298,"失åĪ©":117299,"伺æľį":117300,"çĬģ":117301,"忽æĤł":117302,"主è¦ģéĽĨä¸Ń":117303,"æ¤įæłij":117304,"æ¯ĹéĤ»":117305,"èĩºçģ£":117306,"åĩºåĽ½çķĻåѦ":117307,"æĬĹéľĩ":117308,"æĥ©æĪĴ":117309,"å¹´åºķåīį":117310,"åĴ¸éĺ³":117311,"æ°ijå±ħ":117312,"大çIJĨçŁ³":117313,"éĿ³":117314,"éķĸ":117315,"æ¸ħè¿ľ":117316,"è£ħè½½":117317,"èĩĢ":117318,"å½±ä¸ļ":117319,"å¼ŁåħĦ":117320,"æĤ²è§Ĥ":117321,"çĿĢçľ¼äºİ":117322,"æįįåį«":117323,"åī¥å¤º":117324,"ç¯Ĩ":117325,"å¾Īéķ¿æĹ¶éĹ´":117326,"è¥Ł":117327,"第ä¸ĢçϾ":117328,"ä¸ĢåĪĨéĴ±":117329,"æĸ°éĹ»è®°èĢħ":117330,"éķ·æľŁ":117331,"æ³ķæĪĺç»ĦåIJĪ":117332,"è°ģçŁ¥éģĵ":117333,"èħ°éĥ¨":117334,"æ±īåł¡":117335,"åħ¥çĿ¡":117336,"åįĸæİī":117337,"æ¶Īè²»èĢħ":117338,"æĥ¯ä¾ĭ":117339,"æĥ³äºĨ":117340,"æĥ³äºĨæĥ³":117341,"èĢģæĹ§å°ıåĮº":117342,"ä¼łè¨Ģ":117343,"åĪĨæķ°çº¿":117344,"æµģ泪":117345,"ç»Ħç»ĩé¢Ĩ导":117346,"äºļåĨĽ":117347,"å¢ŀå̼æľįåĬ¡":117348,"å¾¹":117349,"ä¼¶":117350,"äºĽè®¸":117351,"å¸ĥèݱ":117352,"强æĤį":117353,"宫廷":117354,"绿èĮ¶":117355,"åĮ¡":117356,"å¾ĪæŃ£å¸¸":117357,"æĺ¥å¤ı":117358,"æ¯Ļ":117359,"è¯Ħæ¯Ķ":117360,"åĩ¡äºĭ":117361,"æĬīæĭ©":117362,"åĢĴéľī":117363,"éĩį度":117364,"åįıä¼ļä¼ļéķ¿":117365,"å¿§èĻij":117366,"ä¸ĭä¸Ģç¯ĩ":117367,"沪深":117368,"æĪİ":117369,"æīĵä»Ĺ":117370,"åįĪé¥Ń":117371,"å¹´é¾Ħ段":117372,"ä¸ŃåĽ½è¶³çIJĥ":117373,"设计æĸ¹æ¡Ī":117374,"åºĶçĶ¨æŁ¥çľĭ":117375,"é¢ĦæĸĻ":117376,"åĹ¡":117377,"ç¥ĸçζ":117378,"çļĦä¸Ģåijĺ":117379,"æ´Ĺå¹²åĩĢ":117380,"åİĨåı²æĸ°":117381,"åİĨåı²æĸ°é«ĺ":117382,"çĭ¬åħ·":117383,"æħĭ度":117384,"æīĵ交":117385,"æīĵ交éģĵ":117386,"é»ĦçŁ³":117387,"çĽ¼æľĽ":117388,"çī§åľº":117389,"转弯":117390,"åįĩåįİ":117391,"åĨįä¹Łæ²¡æľī":117392,"èĭ±æīį":117393,"æĽ´åIJį为":117394,"åĢŁç͍":117395,"çºłéĶĻ":117396,"ç»Ŀ对ä¸įä¼ļ":117397,"çİĭçīĮ":117398,"çĽĨåľ°":117399,"失è°ĥ":117400,"好象":117401,"é³¥":117402,"ä¿Ŀä¿®":117403,"åĽĽä¸ªèĩªä¿¡":117404,"头çļ®":117405,"åİŁåīĩ":117406,"æĬ¥æ¡Ī":117407,"奴éļ¶":117408,"å³Ļ":117409,"è°ĥæĸĻ":117410,"ä¹Łè¨±":117411,"èIJ½åΰ":117412,"èIJ½åΰå®ŀ":117413,"èIJ½åΰå®ŀå¤Ħ":117414,"çĦļçĥ§":117415,"çĶŁæ´»çݯå¢ĥ":117416,"åºĶåıĬæĹ¶":117417,"è¶Ĭè¿ĩ":117418,"æĦŁè¬Ŀ":117419,"æĻ¯å¾·":117420,"æĻ¯å¾·éķĩ":117421,"çĬĢ":117422,"身éĤĬ":117423,"ç¨İåĬ¡æĢ»å±Ģ":117424,"åĩĢåľŁ":117425,"ä¾µåįł":117426,"åĬ¨å·¥":117427,"å¹´ä¹ĭ":117428,"å¹´ä¹ĭä¹ħ":117429,"第äºĮèĬĤ":117430,"åĬ¨çī©åĽŃ":117431,"第ä¸Ģ书记":117432,"éħļ":117433,"çĶŁäº§è®¾å¤ĩ":117434,"æŁIJç§įç¨ĭ度":117435,"åľŃ":117436,"åĩŃåĢŁçĿĢ":117437,"éĺħè§Ī":117438,"çϽæ²Ļ":117439,"æ²¹çĥŁ":117440,"çªģçł´åı£":117441,"åıĹå½±åĵį":117442,"åı¯ä»¥æĽ´å¥½":117443,"å³°å̼":117444,"æĿĤè´¨":117445,"宿è¿ģ":117446,"çĽĺæ´»":117447,"æ¿Ģèµ·":117448,"åĦ¿ç§ij":117449,"åĿIJèIJ½åľ¨":117450,"æĮªå¨ģ":117451,"æµ·å²Ľ":117452,"绣绣":117453,"éύ":117454,"ä¼ĺäºİ":117455,"å°Īå®¶":117456,"ä¸ĢéĤĬ":117457,"èIJĬ":117458,"äºĨä¸Ģåı£":117459,"æ²ĥå°Ķæ²ĥ":117460,"æŃ£å¸¸ä½¿ç͍":117461,"æĻ®éģįåŃĺåľ¨":117462,"丰满":117463,"çĶ»åį·":117464,"åºĶæĶ¶":117465,"åºĶæĶ¶è´¦":117466,"åºĶæĶ¶è´¦æ¬¾":117467,"å®Įæķ´çĥŃ":117468,"å®Įæķ´çĥŃæ¦ľ":117469,"注è§Ĩ":117470,"çĨĦ":117471,"躬":117472,"éĶĢåĶ®äººåijĺ":117473,"è¶ĭåIJij":117474,"çĦ¦æĢ¥":117475,"åįģå¹´åīį":117476,"ä¼łç»Łäº§ä¸ļ":117477,"質éĩı":117478,"åĩ¤åĩ°ç½ij":117479,"èµĦæºIJæķ´åIJĪ":117480,"æ¶Įåħ¥":117481,"æĸĩåĮĸä¼łæĴŃ":117482,"çķĮ第ä¸Ģ":117483,"æ°´æ³µ":117484,"宫殿":117485,"æİ¢å¯»":117486,"ä¿®åīª":117487,"æĦıè¦ĭ":117488,"ç´Ĭä¹±":117489,"æĽī":117490,"çĻ½è¡£":117491,"èĻİåį«":117492,"ç´§æī£":117493,"å¤Ħå¤Ħéķ¿":117494,"åĪĽå»ºå·¥ä½ľ":117495,"红æŀ£":117496,"饼干":117497,"äºĨåįĬ天":117498,"ä¼ļå½±åĵįåΰ":117499,"çĽ¸ä¿¡å¤§å®¶":117500,"èħ¾é£ŀ":117501,"å°±å¦ĤåIJĮ":117502,"ä¸ĭéĿ¢å°ıç¼ĸ":117503,"æ°ijèIJ¥ç»ıæµİ":117504,"æĻ¦":117505,"è£ħæī®":117506,"é»ijå¤ľ":117507,"常德":117508,"å·¥ä¸ļ大åѦ":117509,"æĺİçŁ¥":117510,"éĺŁåijĺ们":117511,"åIJ¬è¯¾":117512,"æ¯ıéļĶ":117513,"羣æĺ¯å¤ª":117514,"åIJĪä½ľåħ±èµ¢":117515,"çIJĨåıij":117516,"æīįå¹²":117517,"çľĭèµ·ä¾Ĩ":117518,"殿ä¸ĭ":117519,"å®īéĺ³":117520,"æīĢ产çĶŁçļĦ":117521,"éĽĩä½£":117522,"æĬ¬èµ·å¤´":117523,"æį®æĬ¥éģĵ":117524,"éļĨéĩį举è¡Į":117525,"交éĶĻ":117526,"è¶ħé¢Ŀ":117527,"åĮĸçĸĹ":117528,"é¡Ĩ":117529,"纵深":117530,"çĪ±åĽ½ä¸»ä¹ī":117531,"éĻ¢åī¯éĻ¢éķ¿":117532,"讳":117533,"羣æŃ£åģļåΰ":117534,"åѤåįķ":117535,"èĩªçĦ¶èĢĮ":117536,"èĩªçĦ¶èĢĮçĦ¶":117537,"修身":117538,"èĬ¹":117539,"æģ¯æģ¯":117540,"æģ¯æģ¯çĽ¸åħ³":117541,"é©¾æł¡":117542,"æİ©é¥°":117543,"æ³½è¿ŀ":117544,"æ³½è¿ŀæĸ¯åŁº":117545,"举æŃ¢":117546,"管çIJĨä½ĵåζ":117547,"åħ¶ä¸Ńä¹ĭä¸Ģ":117548,"æĿ¾å¼Ľ":117549,"æĭ¦æĪª":117550,"åį«åģ¥":117551,"åį«åģ¥å§Ķ":117552,"ä»İåݻ年":117553,"åĤ¢":117554,"è´Ń票":117555,"åĽ¾æłĩ":117556,"河西":117557,"æ°ijæĶ¿å±Ģ":117558,"ç§ģèIJ¥":117559,"å¤ĸåĽ½è¯Ń":117560,"干货":117561,"æĵ¦æĭŃ":117562,"åľ°ä¸Ń":117563,"åľ°ä¸Ńæµ·":117564,"æµĵæµĵ":117565,"æµĵæµĵçļĦ":117566,"å§ĭ建":117567,"å§ĭ建äºİ":117568,"ç¶ĵæŃ·":117569,"è·¯æ¼Ķ":117570,"æļ´é£İ":117571,"åŁºè¾ħ":117572,"æī¶è´«å·¥ä½ľ":117573,"ä¸Ģ缴å¤Ħäºİ":117574,"æĥħè¶£":117575,"äºĮåŃ£åº¦":117576,"åİĮæģ¶":117577,"顺åĪ©å®ĮæĪIJ":117578,"æŁ¥å°ģ":117579,"顶端":117580,"ä¸įåŃķ":117581,"ä¸Ģ大åłĨ":117582,"被æ·ĺæ±°":117583,"æĺ¯ç͍æĿ¥":117584,"æľĢåIJĪéĢĤ":117585,"äº®çľ¼":117586,"å¹¶ä¸įæĺ¯å¾Ī":117587,"ç§ijçłĶéĻ¢":117588,"ç§ijçłĶéĻ¢æīĢ":117589,"ç²Ł":117590,"é¢Īéĥ¨":117591,"é»ĺé»ĺåľ°":117592,"é«ĺä¸ŃçĶŁ":117593,"æĹıèĩªæ²»åİ¿":117594,"æķĻåŃ¦è´¨éĩı":117595,"æĪĺçģ«":117596,"åĿİåĿ·":117597,"æIJŃä¹ĺ":117598,"è¯ĹæĦı":117599,"åĪijèѦ":117600,"åĩºæ±Ĺ":117601,"åįģåħŃæĿ¡":117602,"请åıĬæĹ¶":117603,"åĨľä¸ļ大åѦ":117604,"èIJ½åı¶":117605,"æĢ»èĢĮè¨Ģ":117606,"æĢ»èĢĮè¨Ģä¹ĭ":117607,"æĿľåħ°":117608,"æĿľåħ°çī¹":117609,"éĻªä½ł":117610,"åħ¬æĬ¥":117611,"çķĻè¨ĢæĿ¿":117612,"éĺħåİĨ":117613,"ç«¶çĪŃ":117614,"ç»ĻåĪ«äºº":117615,"æĹ¥æĬ¥ç¤¾":117616,"åĿIJèIJ½":117617,"åĿIJèIJ½äºİ":117618,"éĩijåŃĹ":117619,"éĩijåŃĹå¡Ķ":117620,"åĽ¤":117621,"è¯Ŀåī§":117622,"æĮģç»Ńæİ¨è¿Ľ":117623,"æ¼ıæ°´":117624,"詳細":117625,"æĢĢæĬ±":117626,"åıĺå¹»":117627,"饥饿":117628,"éļIJ身":117629,"ä¸ªèµĽåŃ£":117630,"åĵ¡å·¥":117631,"æģ¢å¤įæŃ£å¸¸":117632,"äºĨ好å¤ļ":117633,"æĺŁå·´":117634,"æĺŁå·´åħĭ":117635,"åħīçݯ":117636,"å¸ħåĵ¥":117637,"çĻ½éĽª":117638,"ç¨įç¨į":117639,"计æıIJ":117640,"æĦĽæĥħ":117641,"éİĸ":117642,"ä¿¡éĺ³":117643,"è§Ģå¯Ł":117644,"å¦Ĥæŀľä½łæĥ³":117645,"缸æ¯Ķä¹ĭä¸ĭ":117646,"è§£å¼Ģ":117647,"æīĵåį°æľº":117648,"身躯":117649,"ç²¾ç¥ŀæĸĩæĺİ":117650,"èĤ¡æĮĩ":117651,"å¾®åĪĽ":117652,"红èĮ¶":117653,"èĩ´çĻĮ":117654,"æģ©æĸ½":117655,"èħ¿éĥ¨":117656,"大åŀĭå¤ļ人":117657,"å®īåĢį":117658,"è¾ħ导åijĺ":117659,"èĪªéģĵ":117660,"å¸ĥå°Ķ":117661,"åįĹå®ģå¸Ĥ":117662,"ä¸ĬçıŃæĹı":117663,"ä¾§ç»ĵæŀĦæĢ§":117664,"追éļı":117665,"å½ĵåľ°æĶ¿åºľ":117666,"èµ°åĩºæĿ¥":117667,"éĩijèŀįä¸ļ":117668,"ä¸Ľä¹¦":117669,"é¡¹çĽ®ç»ıçIJĨ":117670,"è¿ĩæĪ·":117671,"骨æŀ¶":117672,"è¡Ļ":117673,"ä»Ģ麽":117674,"èħĭ":117675,"è¦ģ害":117676,"åľ¨åºĬä¸Ĭ":117677,"代è¨Ģ人":117678,"並å°ĩ":117679,"åIJĦ个æĸ¹éĿ¢":117680,"è°´è´£":117681,"åħ±æĮ¯":117682,"åį³å°ĨåΰæĿ¥":117683,"èĤºçĻĮ":117684,"ä¾ĽéĶĢ":117685,"丼æŀĹ":117686,"èµĥ":117687,"åįģä½Ļå¹´":117688,"åĭĺæİ¢":117689,"飵åij³":117690,"èĭ¦ç¬ij":117691,"æľĢ大ç¨ĭ度":117692,"éĩįçĤ¹åħ³æ³¨":117693,"ä¹ĭ举":117694,"满æĢĢ":117695,"åıĹåΰ影åĵį":117696,"æĭĽæĬķæłĩ":117697,"è¡¥é½IJ":117698,"西红":117699,"è¥¿çº¢æŁ¿":117700,"鬧":117701,"è£ħåį¸":117702,"éĤ»éĩĮ":117703,"èĤĩäºĭ":117704,"æİĴæ¯Ĵ":117705,"åѤåĦ¿":117706,"鼶è·Ŀ离":117707,"å®ŀå¹²":117708,"çľĭæŁ¥çľĭ":117709,"æĶ¶è´¹ç«Ļ":117710,"ç»·":117711,"åħ¬çĽĬæĢ§":117712,"éĢĴç»Ļ":117713,"æĶ»æīĵ":117714,"æĺŁçº§éħĴåºĹ":117715,"æĺİåªļ":117716,"çį¨ç«ĭ":117717,"è¯Ŀè¯ŃæĿĥ":117718,"ä¸ĢæŃ¥ä¸ĢæŃ¥":117719,"书æ³ķå®¶":117720,"æľªç»ıæİĪæĿĥ":117721,"çŁ³èĨı":117722,"åĩŃä»Ģä¹Ī":117723,"çļĦæĹ¥":117724,"çļĦæĹ¥åŃIJéĩĮ":117725,"诱人":117726,"çϾåĪĨçϾ":117727,"èĪĪè¶£":117728,"å¼łåħĪçĶŁ":117729,"èĢģçĪ·åŃIJ":117730,"æ³¢çī¹":117731,"åŁºéĩij份é¢Ŀ":117732,"æ²Ļåıijä¸Ĭ":117733,"å¥ĭæĸĹ缮æłĩ":117734,"æ°¢èĥ½":117735,"æ²ĥå°ĶçİĽ":117736,"義åĭĻ":117737,"éŁ³ç®±":117738,"æ²ī浸":117739,"æ²īæµ¸åľ¨":117740,"èĭ±åľĭ":117741,"çģ¯çģ«":117742,"è¿Ľé¡¹":117743,"两端":117744,"ä¹Ķ丹":117745,"èĦ¸é¢Ĭ":117746,"åıijå±ķæ½ľåĬĽ":117747,"åĭķä½ľ":117748,"åĵĪä½Ľ":117749,"å®´ä¼ļ":117750,"æ§į":117751,"ç«ĭå¿Ĺ":117752,"ç¡ķ士åѦä½į":117753,"åĭĭ竳":117754,"è¿Ļåľºæ¯ĶèµĽ":117755,"æĮģå¹³":117756,"éķĢéĶĮ":117757,"èĭ±çī¹":117758,"èĭ±çī¹å°Ķ":117759,"æķĻèģĮå·¥":117760,"åĬŁåĬĽ":117761,"该æ¡Ī":117762,"ä¸Ģæ¢Ŀ":117763,"åĺīå¹´":117764,"åĺīå¹´åįİ":117765,"è¿«ä¸įåıĬ":117766,"è¿«ä¸įåıĬå¾ħ":117767,"è¿Ļ个æĹ¶ä»£":117768,"精彩æĴŃæĬ¥":117769,"人èĦ¸":117770,"人èĦ¸è¯ĨåĪ«":117771,"æ£Ģå¯Łå®ĺ":117772,"å°ıèħ¿":117773,"éĨĴ缮":117774,"åħļæĢ»":117775,"åħļæĢ»æĶ¯":117776,"æĪŁ":117777,"èĮ«çĦ¶":117778,"è±ĨæµĨ":117779,"主治":117780,"éĿĴæµ·çľģ":117781,"åĪijäºĭ责任":117782,"çł°":117783,"ä¹ĭæ¬ĬåĪ©":117784,"äºĶå®ĺ":117785,"è¿·æĥij":117786,"åħ¥åºĵ":117787,"家纺":117788,"弹簧":117789,"åįģäºĶæĿ¡":117790,"ç»Ļå®Ŀå®Ŀ":117791,"èĪªç©ºèĪªå¤©":117792,"å¾Ģå¤ĸ":117793,"å¼ķåĬĽ":117794,"çľ¼çļ®":117795,"æ¶īè¶³":117796,"æĿ¥å®¾":117797,"åľ¨çº¿è§Ĵèī²":117798,"çĥŃéĶĢ":117799,"æµģéĢĿ":117800,"泡泡":117801,"éĻįå¹ħ":117802,"è´ŁéĿ¢å½±åĵį":117803,"红楼":117804,"红楼梦":117805,"éļĶçĿĢ":117806,"侥幸":117807,"许ä¹ħ":117808,"åĴĮçĿ¦":117809,"èѽ":117810,"使ç͍èĢħæĪĸ":117811,"ä¹°åįķ":117812,"è¿´":117813,"é£İæīĩ":117814,"æķĻ師":117815,"æ¡ĮåŃIJä¸Ĭ":117816,"å¾Īæ¼Ĥ亮":117817,"åł±å°İ":117818,"第ä¸ĢåŃ£åº¦":117819,"ç©©å®ļ":117820,"æĤ²åĵĢ":117821,"çĿĢåĬĽæīĵéĢł":117822,"æĮŁ":117823,"路桥":117824,"åijIJ":117825,"åľ£è¯ŀèĬĤ":117826,"çļĩåŃIJ":117827,"ä»ĩæģ¨":117828,"éħĿéħ¿":117829,"ä¸įéĹ´":117830,"ä¸įéĹ´æĸŃ":117831,"æĮĩå°ĸ":117832,"ä¸ŃåĽ½ç½ij游":117833,"åŀ£":117834,"æĦıè§ģ建议":117835,"æ¯ħçĦ¶":117836,"亮度":117837,"èģĶè°Ĭ":117838,"å½ķåħ¥":117839,"åĦ²":117840,"å¨ĺå®¶":117841,"ç§ijå°Ķ":117842,"ä¹Łæ²¡ä»Ģä¹Ī":117843,"æł¹æį®ä¸įåIJĮ":117844,"åı¶ä¿®":117845,"å̼å®Ī":117846,"æľ«ç«¯":117847,"å΍":117848,"åĤµåĭĻ":117849,"èģ¯åIJĪ":117850,"å¥ĩå¹»":117851,"èĻļæŀĦ":117852,"é»Ħæĺı":117853,"å¹³åĿ¦":117854,"æµģæ°ĵ":117855,"æĸ°åŁºå»º":117856,"æĮ½æķij":117857,"åįİå°Ķ":117858,"åįİå°Ķè¡Ĺ":117859,"æľĢåıĹæ¬¢è¿İ":117860,"ç»Ń约":117861,"å¼Ĭ端":117862,"éŃĶæ³ķå¸Ī":117863,"éŃĶæ³ķå¸ĪåĴĮ":117864,"åħ·ä½ĵåĨħ容":117865,"çIJīçĴĥ":117866,"æī©å®¹":117867,"èĮ¶åĽŃ":117868,"主ä¹īèĢħ":117869,"ç«ĭéĿ¢":117870,"æİ¥åıĹéĩĩ访":117871,"åĩºåħ¥å¢ĥ":117872,"ç§ijåįı":117873,"éĴ³":117874,"çµIJæ§ĭ":117875,"ç»ĵæŀľæĺ¾ç¤º":117876,"åı°è´¦":117877,"å°±æĿ¥çľĭçľĭ":117878,"èĩªæķij":117879,"åıįæĩī":117880,"åİ»åĵªåĦ¿":117881,"è¿Ļé¦ĸ":117882,"è¿Ļé¦ĸæŃĮ":117883,"åIJ¬ä¼Ĺ":117884,"å¤ĸ壳":117885,"ä½ĵèĤ²é¦Ĩ":117886,"實æĸ½":117887,"èŀºä¸Ŀ":117888,"æĭīåįĩ":117889,"çĮĽåľ°":117890,"åħ¨åĽ½äººæ°ij":117891,"æĤīå°¼":117892,"æĹı群":117893,"åĽ¢åijĺ":117894,"两个å°ıæĹ¶":117895,"åľ¨çݩ家":117896,"åľ¨çݩ家ä¸Ń":117897,"çĶľçĶľ":117898,"æĬķè¡Į":117899,"åįĶæľĥ":117900,"éĻ¡":117901,"åĬłå·¥åİĤ":117902,"æ¦ĨæŀĹ":117903,"æŃ»è§Ĵ":117904,"åĨħå¹ķ":117905,"æīĢæľīæĥħèĬĤ":117906,"åĪ·åį¡":117907,"æ°´èĤ¿":117908,"èĥĥåı£":117909,"å«Įå¼ĥ":117910,"沮丧":117911,"ä¸ī年级":117912,"æ¶Ĥå±Ĥ":117913,"å¿ĥ仪":117914,"å¿ĥ仪çļĦ":117915,"å¤Ń":117916,"é¦ĸè½®":117917,"æĹłè®ºæĺ¯åħ¶":117918,"éĢıæ°Ķ":117919,"äºĮåįģäºĶ":117920,"箫":117921,"åĬŁåĬ³":117922,"çѾä¸ĭ":117923,"æ²īè¿·":117924,"æķijåij½":117925,"éĹªéĹª":117926,"åIJĥäºı":117927,"å±ķåĵģ":117928,"åį³æĹ¶åıijçĶŁ":117929,"ç¶ľ":117930,"ç¶ľåIJĪ":117931,"æłĩæĺİ":117932,"çľĭç͵影":117933,"åħ¬ç«ł":117934,"éĺ¿æ£®":117935,"éĺ¿æ£®çº³":117936,"身åĪĽéĢł":117937,"身åĪĽéĢłçļĦ":117938,"æ¸Ľå°ij":117939,"å̼å¾Ĺåħ³æ³¨":117940,"鼶åĶ®åķĨ":117941,"æįĨç»ij":117942,"è¸ıåħ¥":117943,"èĽŁ":117944,"æŁ´çº³":117945,"èĢģåħµ":117946,"绿èī²çݯä¿Ŀ":117947,"é¹Ń":117948,"éº»æľ¨":117949,"æıŃçīĮ":117950,"è¿Ļ款车":117951,"ç¾İå¾·":117952,"ç¾İå¾·åħ¬åı¸":117953,"æ¶§":117954,"è°ģçŁ¥":117955,"æ´ĭèij±":117956,"æ¯įæł¡":117957,"ä¸ĢéĹª":117958,"çͷ䏻è§Ĵ":117959,"æĹłçº¿ç͵":117960,"å±łå®°":117961,"æĺ¯éŁ©åĽ½":117962,"æĺ¯éŁ©åĽ½å¨±":117963,"容è²Į":117964,"åĿĩ使åħ¶":117965,"太快":117966,"å¹´çͱ":117967,"å¹´çĶ±çĽĽ":117968,"èĭ¦èĭ¦":117969,"åĬĽè¿ĺæĺ¯":117970,"åĬĽè¿ĺæĺ¯èĩª":117971,"æĨ©":117972,"èģ¯çµ¡":117973,"å;":117974,"åħ·æľīæĪĺ士":117975,"追éĹ®":117976,"åłĨæĶ¾":117977,"åıį驳":117978,"å®ŀäºĭæ±Ĥ":117979,"å®ŀäºĭæ±Ĥæĺ¯":117980,"åѸéĻ¢":117981,"åįģåĩłä¸ª":117982,"æķijæĬ¤":117983,"æķijæĬ¤è½¦":117984,"ç½ijç»ľä¼łæĴŃ":117985,"åįģåħ«å±Ĭ":117986,"éĥ¨åī¯":117987,"éĥ¨åī¯éĥ¨éķ¿":117988,"çĹ´è¿·":117989,"管çIJĨæĿ¡ä¾ĭ":117990,"èŀį为ä¸Ģä½ĵ":117991,"æĢ»äº§å̼":117992,"è³ĵ":117993,"ä¸ĥæĺŁ":117994,"çıŃç»Ħ":117995,"绣é¢Ĩ":117996,"请大家":117997,"éĩijéϵ":117998,"èĪħèĪħ":117999,"æµ·æ¹¾":118000,"æĸ½çŃĸ":118001,"享èªī":118002,"麥":118003,"端åįĪ":118004,"绿åŁİ":118005,"確ä¿Ŀ":118006,"å·´æĭī":118007,"åĨĴçĿĢ":118008,"æħ·æħ¨":118009,"个人è§ĤçĤ¹":118010,"ä¹Ļçĥ¯":118011,"ç¡ħè°·":118012,"éĸĭå±ķ":118013,"å°ļ书":118014,"åĿļ飧":118015,"庵":118016,"èĢģé¾Ħ":118017,"èĢģé¾ĦåĮĸ":118018,"çľ¨çľ¼":118019,"绿水":118020,"绿水éĿĴå±±":118021,"书é¦Ļ":118022,"主åĬĽåĨĽ":118023,"æīįæĺ¯çľŁæŃ£":118024,"æĬ¢åħĪ":118025,"æĪIJå°±æĦŁ":118026,"éĩįæŀĦ":118027,"éĴ¢åİĤ":118028,"æĪIJ份":118029,"èĬ±çº¹":118030,"ä¹ĭäºī":118031,"å¹²ç»Ĩèĥŀ":118032,"æĹ¢åı¯ä»¥":118033,"ç¹ģçIJIJ":118034,"æĦļèł¢":118035,"éĿŀ常æĺİæĺ¾":118036,"ä½ĵ彩":118037,"æĬĢæ³ķ":118038,"æĿĨèıĮ":118039,"å¹¿æ³Ľåħ³æ³¨":118040,"åĮĹå®ĭ":118041,"å§Ĭ妹":118042,"åįıåĬŀ":118043,"æ·®åįĹ":118044,"çĥı":118045,"æ´ĹèĦ¸":118046,"åıĹ访":118047,"åıĹ访èĢħ":118048,"éĩįè¦ģåĽłç´ł":118049,"å½±è§Ĩåī§":118050,"综èīºèĬĤ缮":118051,"èľķåıĺ":118052,"äºĮ线":118053,"äºĮ线åŁİå¸Ĥ":118054,"ä¼Ĭå§ĭ":118055,"çıĬçijļ":118056,"èĩªæŁ¥":118057,"åħ¥åĽŃ":118058,"åĩ¶æīĭ":118059,"åħ¬è¯ī":118060,"éģĩéļ¾":118061,"éĩĩçŁ¿çŃī":118062,"èĩªçIJĨ":118063,"åĸ·æ¶Ĥ":118064,"æī©åħħ":118065,"éĢıè§Ĩ":118066,"é«ĺéĢŁå¢ŀéķ¿":118067,"åĽ¾çĶ»":118068,"ç¾¹":118069,"èĤĩåºĨ":118070,"è¾ľè´Ł":118071,"èµĶä»ĺ":118072,"è·¡":118073,"åģ¥åº·æĪIJéķ¿":118074,"以ä¸ĬåѦåİĨ":118075,"åıĸå¾Ĺ以åıĬ":118076,"æ²ī积":118077,"åįģä¹Ŀå±Ĭ":118078,"缸éĹľæľįåĭĻ":118079,"æī§åĭ¤":118080,"åī¯åİ¿éķ¿":118081,"寰":118082,"åģľæ»ŀ":118083,"淹没":118084,"çŁ³çģ°":118085,"çį¸":118086,"å̦":118087,"ç¾İåªĴ":118088,"æķĻæ¡Ī":118089,"åĬłçĽĸ":118090,"åħ¬å¼ĢèµĽ":118091,"å¥łåŁº":118092,"æĺĨèĻ«":118093,"çŀħ":118094,"磷éħ¸":118095,"äºīåĪĽ":118096,"çİĭæĻĵ":118097,"ç¼ĵåĨ²":118098,"åİļåİļ":118099,"åİļåİļçļĦ":118100,"æŀ£åºĦ":118101,"ç²¾çĽĬ":118102,"ç²¾çĽĬæ±Ĥ":118103,"ç²¾çĽĬæ±Ĥç²¾":118104,"åĪĨæĶ¯æľºæŀĦ":118105,"å®ŀæĸ½ç»ĨåĪĻ":118106,"æĸ°èµĽåŃ£":118107,"總統":118108,"éĢłè¡Ģ":118109,"é¢ĩåħ·":118110,"é»ĦåŁĶ":118111,"è¡ĢèĦĤ":118112,"交éĢļå·¥åħ·":118113,"å³¥":118114,"æĹıèĩªæ²»å·ŀ":118115,"寺éĻ¢":118116,"確å®ļ":118117,"æ¦Ĥ念èĤ¡":118118,"æĦŁå®ĺ":118119,"æŁľåı°":118120,"åĶĶ":118121,"çŀŃ解並":118122,"æĢ»ä»·":118123,"åIJ¸åħ¥":118124,"æĢ¼":118125,"æĻļéĹ´":118126,"å±Ĭæ¯ķä¸ļçĶŁ":118127,"çĶŁå§ľ":118128,"éĺħ读åħ¨æĸĩ":118129,"å¾ĹåΰæľīæķĪ":118130,"æIJľæķij":118131,"åİĨæĿ¥":118132,"èŃīæĺİ":118133,"åĥ»":118134,"èĨ³é£Ł":118135,"åĦĦåħĥ":118136,"æīĵåİĭ":118137,"宾客":118138,"åķ¼":118139,"ä¸ĢçϾå¤ļ":118140,"æ·±åħ¥äººå¿ĥ":118141,"æ¢ħå·ŀ":118142,"çłĶåѦ":118143,"åħ³ä¹İ":118144,"è¼Ľ":118145,"亲åıĭ":118146,"éħįæĸĻ":118147,"æĪijçĪ±ä½ł":118148,"è´¸æĺĵæĪĺ":118149,"æľīèī²":118150,"æľīèī²éĩijå±ŀ":118151,"æįIJåĬ©":118152,"为é¦ĸ":118153,"为é¦ĸçļĦ":118154,"å¯ĮåĬĽ":118155,"çĶ·ç¥ŀ":118156,"é³³":118157,"æµĩæ°´":118158,"åIJ±":118159,"æĺİç¡®æıIJåĩº":118160,"åı¹äºĨ":118161,"åı¹äºĨåı£æ°Ķ":118162,"礼æĭľ":118163,"è¿Ļ个åIJįåŃĹ":118164,"ä¿¡å¾Ĵ":118165,"å¿Ĺ强":118166,"éĻIJæĹ¶":118167,"æĶ¶è²»":118168,"åĨľå®¶ä¹IJ":118169,"å°ıé¾ĻèϾ":118170,"èIJ½å¹ķ":118171,"æ§Ł":118172,"åѦ龸":118173,"æĪĸå¤ļ":118174,"æĪĸå¤ļæĪĸ":118175,"æĪĸå¤ļæĪĸå°ij":118176,"座è°Īä¼ļä¸Ĭ":118177,"æ¶¼":118178,"éŃĶçİĭ":118179,"å²±":118180,"é¡¶å±Ĥ":118181,"é¡¶å±Ĥ设计":118182,"èĦijåŃIJéĩĮ":118183,"éĻ¢åŃIJéĩĮ":118184,"轩è¾ķ":118185,"身å¿ĥåģ¥åº·":118186,"èħij":118187,"éĹľæ³¨":118188,"åıĤåĬłä¼ļè®®":118189,"ä¸ŃåįİæĸĩåĮĸ":118190,"追寻":118191,"å®īçĦ¶":118192,"é£Ļåįĩ":118193,"éŁŃèıľ":118194,"鸦":118195,"åĤ¨éĩı":118196,"çĶ·æĸ¹":118197,"å¤ĩ份":118198,"æijĶåĢĴ":118199,"润æ»ijæ²¹":118200,"é̼è¿ij":118201,"çͳè¯ī":118202,"鸣类":118203,"çŁ³æ²¹åĮĸå·¥":118204,"åĿļæŀľ":118205,"è¿Ļå®¶ä¼Ļ":118206,"æĭĴä¸į":118207,"羣çļ®":118208,"è·ĿéĽ¢":118209,"è¿ĺæĮº":118210,"éĽķåĥı":118211,"åĪĿæģĭ":118212,"æıIJä¾ĽæĽ´å¤ļ":118213,"æŁ¥çľĭåħ¨æĸĩ":118214,"æķ°åŃĹè´§å¸ģ":118215,"åĸīåĴĻ":118216,"åı¦ä¸Ģä½į":118217,"åĤ¬åĮĸ":118218,"åĤ¬åĮĸåīĤ":118219,"ä»İæĿ¥æ²¡":118220,"å¯ĨåĪĩ缸åħ³":118221,"éĥ¨ä¸»ä»»":118222,"产åĵģç»ıçIJĨ":118223,"並åIJĮæĦı":118224,"èIJ½åħ¥":118225,"å±ıå¹ķä¸Ĭ":118226,"åħ¬åı¸ç«łç¨ĭ":118227,"æį¢åı¥è¯Ŀ":118228,"æį¢åı¥è¯Ŀ说":118229,"ä½įæĸ¼":118230,"ä½Ķ":118231,"åĩ»æĿĢ":118232,"缸è¾ĥ":118233,"缸è¾ĥäºİ":118234,"ç²½åŃIJ":118235,"åįĹæŀģ":118236,"宫é¢Ī":118237,"è£ģåijĺ":118238,"æĺİç»Ĩ":118239,"ä»·å̼éĵ¾":118240,"åĽĽä¸ªæĸ¹éĿ¢":118241,"æĥħåĨµæĿ¥çľĭ":118242,"æĮijåīĶ":118243,"æ®ĺ":118244,"æŀģåĬĽ":118245,"çĸijéļ¾":118246,"æĬµæĬĹåĬĽ":118247,"æĢ¥éĢŁ":118248,"æĪĮ":118249,"ä½İä¼°":118250,"éĹªè¿ĩ":118251,"æģ¬":118252,"èµŀæī¬":118253,"ä»ĸå¦Ī":118254,"æĪIJ为ä¸ĢåIJį":118255,"æ´Ĺ礼":118256,"é¢Ħ计å°Ĩ":118257,"åħĪè¿Ľåįķä½į":118258,"è¼Ķ":118259,"éĢĥèĦ±":118260,"çݰåŃĺ":118261,"èĢģèĻİæľº":118262,"åįģä¸ĥæĿ¡":118263,"åı¦ä¸ĢåįĬ":118264,"温æĥħ":118265,"åī¥ç¦»":118266,"ä¸ĸè´¸":118267,"å®ĺåı¸":118268,"å¾Īå·®":118269,"éĹ´è·Ŀ":118270,"请注æĦı":118271,"åı²è¯Ĺ":118272,"åĪ©åύ":118273,"è¿IJç®Ĺ":118274,"沦为":118275,"該使ç͍èĢħ":118276,"èĮ¬":118277,"éĶ¦ç»£":118278,"åı²æĸĻ":118279,"ç쵿´»æĢ§":118280,"èģĶ社":118281,"æĹłåĬ©":118282,"æĬĹæ°§åĮĸ":118283,"èıľèĤ´":118284,"éĢłèι":118285,"æİīèIJ½":118286,"å¤įæŁ¥":118287,"åĭĥåĭĥ":118288,"åij¼å£°":118289,"給äºĪ":118290,"åIJĮäºĭ们":118291,"ç½°":118292,"è¯ķæİ¢":118293,"åħ³éĶ®åŃĹ":118294,"æįIJçĮ®":118295,"ç»Łè®¡æķ°æį®":118296,"åĪĽä½ľèĢħ":118297,"ä¸ĭåįĬ":118298,"ä¸ĭåįĬåľº":118299,"æī¿æĭħ责任":118300,"端æŃ£":118301,"ç©¿è¡£":118302,"ä¼łçIJĥ":118303,"åĬ©éķ¿":118304,"åĩ±":118305,"éķ¶åµĮ":118306,"é£ŀç¿Ķ":118307,"è¾ĵåįµ":118308,"è¾ĵåįµç®¡":118309,"ä¸ĩåħ¬éĩĮ":118310,"æİ¨å¹¿åºĶç͍":118311,"å¿«æ¨Ĥ":118312,"ç§½":118313,"èī°å·¨":118314,"åIJ¬å®Į":118315,"åĿļ硬":118316,"å¥¥åľ°":118317,"å¥¥åľ°åĪ©":118318,"é¢ĵ":118319,"èĻIJå¾ħ":118320,"ä¾Ľæ±Ĥ":118321,"éľīç´ł":118322,"伪è£ħ":118323,"ä¹¡åľŁ":118324,"åĩ¡æľ¬ç½ij":118325,"åĩ¡æľ¬ç½ij注":118326,"ä¼ĬåĪ©":118327,"è¡¡æ°´":118328,"æĽ´åĥıæĺ¯":118329,"åĪĨéĴŁå·¦åı³":118330,"è¦ı模":118331,"äºĶåĪĨéĴŁ":118332,"åºĹåĬłçĽŁ":118333,"åĽ°éĽ£":118334,"åħ³åģľ":118335,"æĢĿ绪":118336,"åĴ½åĸī":118337,"缸符":118338,"çĥ¦èºģ":118339,"æĻĤæľŁ":118340,"åijĪçı¾":118341,"è§£æķ£":118342,"诱导":118343,"éļĶçĥŃ":118344,"çĮ¶":118345,"åįĹå®ĭ":118346,"æ·±åħ¥äºĨè§£":118347,"çŃĶçĸij":118348,"æĺ¼å¤ľ":118349,"åįĥä¼ı":118350,"åĬ³åĬ¡æ´¾éģ£":118351,"红è±Ĩ":118352,"åĿıäºĭ":118353,"çĤ¹æ»´":118354,"å°±ä¸ļå²Ĺä½į":118355,"约åIJĪ":118356,"åħįéϤ":118357,"éĢĨåĬ¿":118358,"éĩįéĩijå±ŀ":118359,"å®ĺ宣":118360,"ä½İå»ī":118361,"æģ¨ä¸įå¾Ĺ":118362,"å¾Ĺ天":118363,"å¾Ĺ天çĭ¬":118364,"å¾Ĺ天çĭ¬åİļ":118365,"ä¸Ģå°ģä¿¡":118366,"æĬ½å¥ĸ":118367,"è¾Ĺ转":118368,"çķĻå®Ī":118369,"çķĻå®ĪåĦ¿ç«¥":118370,"çŃĶåį·":118371,"å·¨åŀĭ":118372,"æľĢ好ä¸įè¦ģ":118373,"æµĻæ±Łå¤§åѦ":118374,"æĨ¨":118375,"æı¡æīĭ":118376,"éĴĪç»ĩ":118377,"æİĴ骨":118378,"çĤ½":118379,"å°ģè£ħ":118380,"åįĢåŁŁ":118381,"空æ°ĶåĩĢåĮĸ":118382,"åħīå½±":118383,"åĢĴå¡Į":118384,"å§ļæĺİ":118385,"æ¤į被":118386,"åѦåīį":118387,"åѦåīįæķĻèĤ²":118388,"èĬĿåĬł":118389,"èĬĿåĬłåĵ¥":118390,"缩水":118391,"ä½Ł":118392,"åľ¨çº¿åĴ¨è¯¢":118393,"èµıæŀIJ":118394,"éĿĴèĽĻ":118395,"æĬ±ä½ı":118396,"èĮĤåIJį":118397,"åħ¨åĬĽæīĵéĢł":118398,"åįļ士åѦä½į":118399,"æ²§å·ŀ":118400,"åĻ¢":118401,"æĿĤçī©":118402,"åĪ»çĶ»":118403,"æįħ":118404,"å¾®éĩı":118405,"å¾®éĩıåħĥç´ł":118406,"ä¸ĢåĽŀäºĭ":118407,"鸡èĤī":118408,"åĪ©æ¶¦çİĩ":118409,"æīįç®Ĺ":118410,"å¾®å¦Ļ":118411,"棵æłij":118412,"贪婪":118413,"åĩıå̼":118414,"梦å¢ĥ":118415,"åı¯è§Ĩ":118416,"åı¯è§ĨåĮĸ":118417,"广大å¸Ĥæ°ij":118418,"ä¸ĵä¸ļä»İäºĭ":118419,"ç»ı纬":118420,"ç´§çĽ¯":118421,"çŁ¥å·±":118422,"è¤ļ":118423,"æĸĩåĮĸåºķèķ´":118424,"åݦéŨå¸Ĥ":118425,"临港":118426,"对åħ¶çľŁå®ŀ":118427,"岸边":118428,"è¦ĸçĤº":118429,"æĬĹçĻĮ":118430,"åĶIJå®ĩ":118431,"ä¸įå¾Ĺè¶ħè¿ĩ":118432,"å¨ģæħij":118433,"æ¡Ĩæŀ¶åįıè®®":118434,"èµ°ç§ģ":118435,"åĽ¢å§Ķ":118436,"夸大":118437,"æ¬Ħ":118438,"ç¥ŀç»ıç³»ç»Ł":118439,"æijĦå½±ä½ľåĵģ":118440,"èĬ¥":118441,"å®īåºĨ":118442,"海滨":118443,"æŀĦæĢĿ":118444,"çĮĤ":118445,"åı©":118446,"éĺIJæĺİ":118447,"éģģ":118448,"精油":118449,"ç©´ä½į":118450,"æĬ¤èº«":118451,"æĬ¤èº«ç¬¦":118452,"æĮĩå°İ":118453,"åŃĺåľ¨ä¸Ģå®ļ":118454,"å¯ĤéĿĻ":118455,"æµ·å¤ĸå¸Ĥåľº":118456,"éĿ¡":118457,"综åIJĪå¾ģ":118458,"ä¿IJ":118459,"è¨Īç®Ĺ":118460,"æĺİæľĹ":118461,"äºļè¿IJ":118462,"äºļè¿IJä¼ļ":118463,"åīįçŀ»æĢ§":118464,"åĮ®ä¹ı":118465,"产ä¸ļæī¶è´«":118466,"èĦijæµ·":118467,"èĦijæµ·ä¸Ń":118468,"åħļçļĦé¢Ĩ导":118469,"åĪĺéĤ¦":118470,"æµģæĺŁ":118471,"æĵĤ":118472,"æĶĢçĻ»":118473,"åĴĶ":118474,"ä¸Ģä¸ĭåŃIJå°±":118475,"è¯Ĭæ²»":118476,"使åĬ²":118477,"åīµä½ľ":118478,"éĵŃè®°":118479,"éĴ±è´¢":118480,"æĹ¥æĬ¥è®°èĢħ":118481,"çĥŁçģ«":118482,"èĥľè´Ł":118483,"åįļ主":118484,"ä¸ŃåĽ½èģĶéĢļ":118485,"ç½ijç«Ļé¦ĸ页":118486,"å°±å¤Ł":118487,"å°±å¤ŁäºĨ":118488,"æīijåħĭ":118489,"å±ħå§Ķä¼ļ":118490,"è°¬":118491,"å®īåħ¨äºĭæķħ":118492,"åķĨçĶ¨è½¦":118493,"循çݯç»ıæµİ":118494,"æ·¤":118495,"èĢĥè¯ģ":118496,"å®ĿèĹı":118497,"å®Įç»ĵ":118498,"çłĶåıijæĬķåħ¥":118499,"å²ij":118500,"æģŃæķ¬":118501,"离éĢĢä¼ij":118502,"水墨":118503,"å©¶":118504,"è¯Ĺåı¥":118505,"å®ģæ³¢å¸Ĥ":118506,"å¼±çĤ¹":118507,"åģľçīĮ":118508,"奶油":118509,"å¥ĩ纳河":118510,"æĨĤ":118511,"社ä¼ļå®ŀè·µ":118512,"è´Ŀ壳":118513,"çłĤæµĨ":118514,"èιåıª":118515,"宣æī¬":118516,"综åIJĪæķ´æ²»":118517,"åĤij":118518,"æ°ijæĹıæĸĩåĮĸ":118519,"éĩįçݰ":118520,"积æ·Ģ":118521,"åħ¬çĦ¶":118522,"çħī":118523,"缸èģļ":118524,"æ±¾":118525,"纹çIJĨ":118526,"çĩĥçħ¤":118527,"æŃ¤ç§į":118528,"ç¾İå¦Ĩ":118529,"åįĥçĵ¦":118530,"çIJĽ":118531,"驾驶è¯ģ":118532,"éĺ¶æ¢¯":118533,"ä¸Ŀä¸Ŀ":118534,"å¾Īå¤ļäºĭæĥħ":118535,"åħīéĺ´":118536,"èijĹä½ľæ¬Ĭ":118537,"åħ§éĥ¨":118538,"çĽ¸å¯¹æĿ¥è¯´":118539,"éĸĴ":118540,"éľĩæħij":118541,"說話":118542,"æĨij":118543,"ç«¥è£ħ":118544,"ä½ıæĪ¿åĴĮ":118545,"ä½ıæĪ¿åĴĮåŁİ":118546,"å·²ç»ıè¶ħè¿ĩ":118547,"ä¾¦å¯Ł":118548,"çŁ¿çī©":118549,"ä¾Ľå¤§å®¶":118550,"çī¹éĤĢ":118551,"ç¨ĭåºıåijĺ":118552,"çķľçī§ä¸ļ":118553,"æ°ª":118554,"çijª":118555,"åĢĴåľ¨":118556,"åĢĴåľ¨åľ°":118557,"æ¯Ģ":118558,"梯éĺŁ":118559,"æİ¥èijĹ":118560,"æĬĹèıĮ":118561,"è¤ĩ":118562,"ç¬Ļ":118563,"æ¯Ķä¸Ĭå¹´":118564,"鸡汤":118565,"åŃ¦ä¹łæĪIJ绩":118566,"æĸijæĸĵ":118567,"åħĪ导":118568,"åĪĹ举":118569,"è°ĥæŁ¥æĺ¾ç¤º":118570,"æ©«":118571,"ä¹Ŀåįģ":118572,"è°¢éŁµ":118573,"è·¨è¶Ĭå¼ı":118574,"女æĢ§æľĭåıĭ":118575,"èIJ¥åħ»ä»·å̼":118576,"å®ŀè·µç»ıéªĮ":118577,"èĭıå·ŀå¸Ĥ":118578,"çĵ¶åŃIJ":118579,"æĸ°çļĦä¸Ģ":118580,"æĸ°çļĦä¸Ģå¹´":118581,"æĺİæĻ°":118582,"å®łçα":118583,"åŃĹ第":118584,"æľĹ诵":118585,"纳æĸ¯":118586,"éĢĨè¡Į":118587,"è«ĭæĤ¨":118588,"è«ĭæĤ¨æıIJä¾Ľ":118589,"èĥ¸æĢĢ":118590,"第ä¸ĥå±Ĭ":118591,"强壮":118592,"代åŃķ":118593,"æ±¶å·Ŀ":118594,"å®¶åĸ»":118595,"å®¶åĸ»æĪ·":118596,"å®¶åĸ»æĪ·æĻĵ":118597,"èħ®":118598,"åIJ¯è¿ª":118599,"æĹłéļľç¢į":118600,"èĻķçIJĨåıĬ":118601,"æĿ¥åİĨ":118602,"å®ŀåĬ¡":118603,"ä¹Łéļıä¹ĭ":118604,"æĬĢèĥ½åٹè®Ń":118605,"åѤç«ĭ":118606,"åīģ":118607,"éĥ´å·ŀ":118608,"æĶ¶æķĽ":118609,"éł»éģĵ":118610,"èį£å¹¸":118611,"èİ«è¿ĩäºİ":118612,"æŃ¤æĻĤ":118613,"纪å§ĶçĽij":118614,"纪å§ĶçĽijå§Ķ":118615,"缸éĤ»":118616,"åı¦ä¸Ģè¾¹":118617,"çªĴæģ¯":118618,"æľīå¾Īå¤ļç§į":118619,"æ¯ıéĢ¢":118620,"éĹ®ä¸ĸ":118621,"累累":118622,"éĿĴæĺ¥æľŁ":118623,"è·¯åĨµ":118624,"åħĭèݱ":118625,"è¿Ħä»Ĭ为æŃ¢":118626,"æĥĬå¥ĩ":118627,"跨度":118628,"éħ¿éĢł":118629,"åĩĭ":118630,"è¿ijä¸īå¹´":118631,"åĨħ马":118632,"åĨħ马å°Ķ":118633,"æıį":118634,"è¿Ľå±ķæĥħåĨµ":118635,"èĮ§":118636,"æľīåºıæİ¨è¿Ľ":118637,"æĢ»åĨłåĨĽ":118638,"æĪIJ绩åįķ":118639,"éĽ»è©±åıĬ":118640,"ç´§å¯Ĩç»ĵåIJĪ":118641,"åºĬä½į":118642,"é¹Ĭ":118643,"æķ£åıijçĿĢ":118644,"åĭŁèµĦ":118645,"æ°¨éħ¸":118646,"彩ç¥ŀ":118647,"è®Ģåıĸ":118648,"éĩ῏©":118649,"ä¸ŃåŃĺåľ¨çļĦ":118650,"ç¾İéºĹ":118651,"ä¸įæĸŃå¢ŀåĬł":118652,"è½®æµģ":118653,"æİ¥åIJ¬":118654,"年产å̼":118655,"åįĥåħĭ":118656,"æĪĺåľºä¸Ĭ":118657,"çħ§é¡§":118658,"å¹²éĥ¨éĺŁä¼į":118659,"åį°ç«ł":118660,"ä¸Ģèĩ´æĢ§":118661,"è¿ŀå¤ľ":118662,"åħħè£ķ":118663,"é»ijåIJįåįķ":118664,"åĩĢæ°´":118665,"ä¸Ģ大æĹ©":118666,"åĮħ袱":118667,"çĬ¯è§Ħ":118668,"çIJĨè«ĸ":118669,"æŀģæĺĵ":118670,"骸":118671,"å¨ĺå¨ĺ":118672,"åĽ¢åľĨ":118673,"亿åħĥ以ä¸Ĭ":118674,"åĪ©ç͍æĤ¨çļĦ":118675,"带æĿ¥æĽ´å¤ļ":118676,"ä¸Ń央空è°ĥ":118677,"æľĪèĸª":118678,"çĮľæĥ³":118679,"åĪºå®¢":118680,"ä½ľæģ¯":118681,"åįķè°ĥ":118682,"äºĴåĪ©":118683,"å¦Ĥæľīä¾µæĿĥ":118684,"å°ıå·§":118685,"åįģåł°":118686,"åĵĪåĵĪåĵĪåĵĪ":118687,"è¾¹éĻħ":118688,"æłĩè¯Ń":118689,"åĪĩåħ¥çĤ¹":118690,"éĢĨè¢Ń":118691,"è¯ķåīĤ":118692,"绿è±Ĩ":118693,"è®ļ":118694,"åŁºçĿ£å¾Ĵ":118695,"壬":118696,"åħ¨æĺİæĺŁ":118697,"éĢīç§Ģ":118698,"èĪĮå°ĸ":118699,"ä¸įåIJĮç±»åŀĭ":118700,"çĥŁåĽ±":118701,"ç쵿°Ķ":118702,"åĮºç®¡å§Ķä¼ļ":118703,"åĨľåī¯":118704,"åĨľåī¯äº§åĵģ":118705,"èĶļæĿ¥":118706,"沪æĮĩ":118707,"åħ»æ®ĸæĪ·":118708,"æĸĹå¿Ĺ":118709,"é¦ĸé¢Ĩ":118710,"è¡Ģèħ¥":118711,"åĬłç´§":118712,"ä¸Ģèĩ´å¥½è¯Ħ":118713,"第ä¸īèĬĤ":118714,"æī¬å°ĺ":118715,"交éĢļæŀ¢çº½":118716,"鼶ç¢İ":118717,"é»ijæ´ŀ":118718,"çľĭä¸įæĩĤ":118719,"å±ŀå®ŀ":118720,"主åŁİåĮº":118721,"å¨Ľ":118722,"å¨Ľæ¨Ĥ":118723,"ç¬ijæĦı":118724,"èĻ¹æ¡¥":118725,"åIJĦ个çݯèĬĤ":118726,"çķ¥å¾®":118727,"èĢķèĢĺ":118728,"æľ¬åľºæ¯ĶèµĽ":118729,"æĪIJè´¥":118730,"éĢīèĤ¡":118731,"èªŀè¨Ģ":118732,"çŃĶ辩":118733,"èĩªä¹ł":118734,"棺":118735,"ä¸ĩ欧åħĥ":118736,"åģľå·¥":118737,"对åħ¶è¿Ľè¡Į":118738,"积æŀģéħįåIJĪ":118739,"ä¹¾åĿ¤":118740,"å¦ĸæĢª":118741,"èļĮåŁł":118742,"èµĦ产è¯Ħä¼°":118743,"è°ĥçļ®":118744,"éϤå¤ķ":118745,"åĽ´å¢Ļ":118746,"æľįå½¹":118747,"æ·±æ¸Ĭ":118748,"é¢Ħåζ":118749,"çĥ½":118750,"å®ī稳":118751,"建æŀĦ":118752,"çĭĻåĩ»":118753,"主åĭķ註åĨĬ":118754,"éĥ½æľīèĩªå·±":118755,"æİĴåIJį第ä¸Ģ":118756,"麻辣":118757,"çĢļ":118758,"çĥŁèĬ±çĪĨ":118759,"çĥŁèĬ±çĪĨ竹":118760,"èĩªçĦ¶ä¿ĿæĬ¤":118761,"ä»Ļå¢ĥ":118762,"为äºĨéģ¿åħį":118763,"åĨ·åºĵ":118764,"è§£æĶ¾æĢĿæĥ³":118765,"åĪĿäºĮ":118766,"ä½ĵè´´":118767,"é¦ĸå¯Į":118768,"迪æĭľ":118769,"æļĤç¼ĵ":118770,"æĶ¯æĮģåĬĽåº¦":118771,"侦æİ¢":118772,"马åĪº":118773,"åĮĹæ±½":118774,"ç¹ŀ":118775,"è°İè¨Ģ":118776,"éĢ£çºĮ":118777,"å·³":118778,"ä»»ä½ķæĹ¶åĢĻ":118779,"车èģĶç½ij":118780,"åįķ项":118781,"å¸Ńåį·":118782,"建çŃijæĿIJæĸĻ":118783,"ä¸Ńç§ĭèĬĤ":118784,"ç¡ķ士çłĶç©¶":118785,"ç§ģç«ĭ":118786,"åħļåĴĮæĶ¿åºľ":118787,"æľ¬æ¬¡äº¤æĺĵ":118788,"èººåľ¨åºĬä¸Ĭ":118789,"ç½ijåıĭè¯Ħ论":118790,"å¦Ŀ":118791,"害ç¾ŀ":118792,"åħ¬ç«ĭåĮ»éĻ¢":118793,"ä¸ŀ":118794,"çĶŁçī©è´¨":118795,"åºĶéĤĢ":118796,"æĬ½åıĸ":118797,"åĩłå¼ł":118798,"æijĺç¼ĸ":118799,"ç»ĺæľ¬":118800,"详解":118801,"强硬":118802,"æľĢåħĪè¿ĽçļĦ":118803,"æĭĽèĤ¡":118804,"æĭĽèĤ¡ä¹¦":118805,"åįĥæĸ¹":118806,"åįĥæĸ¹çϾ":118807,"åįĥæĸ¹çĻ¾è®¡":118808,"éħįéŁ³":118809,"驾çħ§":118810,"å¾ģæĪĺ":118811,"èªĵè¨Ģ":118812,"æĭľå¸Ī":118813,"æĭľå¸ĪåѦ":118814,"æĭľå¸ĪåѦèīº":118815,"æĬ±åĽ¢":118816,"ç±³ç²ī":118817,"éĿŀ常éĢĤåIJĪ":118818,"èĪªæµ·":118819,"履约":118820,"åįģåħ«æĿ¡":118821,"éĶ»éĢł":118822,"éĩįè¦ģ举æİª":118823,"åıijæĮ¥ä½ľç͍":118824,"æ·ļ":118825,"人社":118826,"人社å±Ģ":118827,"è¯ķçĤ¹å·¥ä½ľ":118828,"éĺľéĺ³":118829,"æ¡ĥåľĴ":118830,"æ°ijä¼ģ":118831,"æ´ģçϽ":118832,"贵宾":118833,"åħ¬ç¤¾":118834,"è§īæĤŁ":118835,"è®°å¿ĨåĬĽ":118836,"æľĥåĵ¡è¨»åĨĬ":118837,"æŃ¤æ¡Ī":118838,"麻çĹ¹":118839,"çıĢ":118840,"æĸ©èİ·":118841,"çĶ·åŃ©åŃIJ":118842,"å±ĢéĻIJäºİ":118843,"åĭĺæŁ¥":118844,"åIJĥ饱":118845,"èĬ¬åħ°":118846,"æ£ķèī²":118847,"ç¦ıç¥ī":118848,"çͳèĬ±":118849,"æµ·çĽĹ":118850,"èĶij":118851,"æĸĩåѸ":118852,"æ´»æĢ§çĤŃ":118853,"缴éĢļ车":118854,"è°¢éĤĢ":118855,"躺çĿĢ":118856,"åľĥ":118857,"æ¯ıæĹ¥ç»ıæµİ":118858,"åħ¬åħ±æĸĩåĮĸ":118859,"讲æķħäºĭ":118860,"å¯Łçľĭ":118861,"æĤłéĹ²":118862,"åľ°åĿª":118863,"æ¶Įçݰåĩº":118864,"é«ĺçŃīéĻ¢æł¡":118865,"èĮĦåŃIJ":118866,"éĺ²åį«":118867,"ä¾ĭè¡Į":118868,"æĺ¾éľ²":118869,"æĸ°å¸¸æĢģ":118870,"ç»Ŀä½³":118871,"å¯Įæ°ij":118872,"以人æ°ij":118873,"以人æ°ij为":118874,"éĤ¢åı°":118875,"å±ķæ¼Ķ":118876,"çϼå¸ĥ":118877,"è´Łè½½":118878,"åģı离":118879,"æ°¸éģł":118880,"éĩįè¦ģåİŁåĽł":118881,"åįıä¼ļä¼ļåijĺ":118882,"é﾿°ij":118883,"çĶŁäº§è½¦éĹ´":118884,"çģµåĬ¨":118885,"两年åīį":118886,"æĸ¹åľĨ":118887,"æ´»ä¸ĭåİ»":118888,"ä¸ĸçķĮè§Ĥ":118889,"éªĹåıĸ":118890,"ç¾İè²Į":118891,"èĥ½çľĭåĩº":118892,"çϼæı®":118893,"è§Ĥå½±":118894,"åīĥ":118895,"åIJĪèµĦåħ¬åı¸":118896,"å©§":118897,"å¹²æĹ±":118898,"åħŃ个æľĪ":118899,"尤为éĩįè¦ģ":118900,"èĤ½":118901,"ç§¦åĽ½":118902,"æīĺç¦ı":118903,"建çŃijå¸Ī":118904,"åįĩ级æĶ¹éĢł":118905,"å°ıé¢Ŀ":118906,"å°ıé¢Ŀ贷款":118907,"两个维æĬ¤":118908,"æĭįæĭį":118909,"åı¯çĸij":118910,"æį¢åıĸ":118911,"æŃ¦å£«":118912,"èµĸ以":118913,"èµĸ以çĶŁåŃĺ":118914,"æĮļ":118915,"殿åłĤ":118916,"èĩªçĦ¶çķĮ":118917,"ç£ģåľº":118918,"å¦Ĥä½ķçľĭå¾ħ":118919,"ä»ĬæĹ¥å¤´æĿ¡":118920,"è¥¿åŁŁ":118921,"èİ·è¯Ħ":118922,"é¢¨æł¼":118923,"ä¿ĦåĽ½":118924,"æīĵæĭ¼":118925,"å®£ä¼łçīĩ":118926,"å¾Īæĸ¹ä¾¿":118927,"ä¾Ľç»Ļä¾§":118928,"纪念ç¢ij":118929,"毫åħĭ":118930,"èĬ³é¦Ļ":118931,"å·¥åķĨéĵ¶è¡Į":118932,"请çĤ¹åĩ»":118933,"缪":118934,"æĹłæķ°æ¬¡":118935,"èį¯å¸Ī":118936,"èħ¸":118937,"游èīĩ":118938,"åĮ¾":118939,"å·¡èĪª":118940,"æ²»çIJĨä½ĵç³»":118941,"èIJ¥éĢłèī¯å¥½":118942,"æ··æ·Ĩ":118943,"éĢļçķħ":118944,"åĬ³ç´¯":118945,"ä»ĵä½į":118946,"å¢ŀéķ·":118947,"éļIJ约":118948,"æĿĤå¿Ĺ社":118949,"åħ»èĤ²":118950,"åı¯èĥ½åıijçĶŁ":118951,"èĢĥ試":118952,"西侧":118953,"åĬłåĢį":118954,"主æĮģåı¬å¼Ģ":118955,"çķ¢ç«Ł":118956,"éĹ®è¯¢":118957,"æµ·æ£ł":118958,"èĹ©":118959,"注æĺİæĿ¥æºIJ":118960,"æ£Ģçĸ«":118961,"请åģĩ":118962,"æĬļæij¸":118963,"èĵĦçĶµæ±ł":118964,"è·Łä¸įä¸Ĭ":118965,"çݰ代社ä¼ļ":118966,"çѹèµĦ":118967,"ä½ĵèĤ²å½©ç¥¨":118968,"延误":118969,"è¾Ľè¾£":118970,"éĿ¢å®¹":118971,"åį°è®°":118972,"çģŃ亡":118973,"ç´łé£Ł":118974,"åħ´èĩ´":118975,"éľĢè¦ģç͍":118976,"éľĢè¦ģç͍åΰ":118977,"å®Ŀå¦Ī":118978,"ç£ĭåķĨ":118979,"éļ¶å±ŀ":118980,"è´¡çĮ®åĬĽéĩı":118981,"åħ¬åħ±èµĦæºIJ":118982,"大éĺª":118983,"åĨĽè®Ń":118984,"æĤ¬å¿µ":118985,"社ä¼ļ稳å®ļ":118986,"å¹²äºĭåĪĽä¸ļ":118987,"æľīæĿ¡ä»¶":118988,"æľīæĿ¡ä»¶çļĦ":118989,"ä¸Ģå¹´ä¸Ģ度":118990,"åİ¥":118991,"强奸":118992,"豪车":118993,"æİĮæŁľ":118994,"æ°´åΩ工ç¨ĭ":118995,"峪":118996,"积æŀģä½ľç͍":118997,"æµ·æ·Ģ":118998,"æµ·æ·ĢåĮº":118999,"çĥŃæĴŃ":119000,"åĿļæĮģä¸įæĩĪ":119001,"åıĮèĦļ":119002,"绣æĪĺ":119003,"ä»»ä½ķ人éĥ½":119004,"åľ°ä¸ĭ室":119005,"åĨ¶çĤ¼":119006,"è°ħè§£":119007,"æ¸Ķèι":119008,"太éĺ³åŁİ":119009,"被æįķ":119010,"计ç®Ĺåύ":119011,"西åĮ»":119012,"èĪĴå¿ĥ":119013,"桦":119014,"éģ²":119015,"åĬij":119016,"è¨Ĺ":119017,"èݺ":119018,"åĸ¬":119019,"çĵ¯":119020,"åĺĺ":119021,"åłķ":119022,"æķĿ":119023,"åij¦":119024,"èĭŀ":119025,"æŃ¹":119026,"æĵ¬":119027,"æ£Ħ":119028,"èε":119029,"奪":119030,"çļĭ":119031,"æĶ¸":119032,"åľ©":119033,"ç¤Ļ":119034,"ç¢ĺ":119035,"éıĪ":119036,"æĦķ":119037,"ç¹³":119038,"èĺ¸":119039,"è²Ĥ":119040,"æ¼²":119041,"æij¹":119042,"æĶĿ":119043,"åŃ¢":119044,"èķŃ":119045,"騰":119046,"æ½¼":119047,"éħ°":119048,"æĴ¥":119049,"蹬":119050,"é¨Ļ":119051,"踹":119052,"éģIJ":119053,"çĺĢ":119054,"èĽ¤":119055,"æĤĸ":119056,"çĴŀ":119057,"ç£IJ":119058,"æİ°":119059,"è¾Ĭ":119060,"å¾ij":119061,"æİĸ":119062,"éģŀ":119063,"éĤ¸":119064,"éĽı":119065,"æĨİ":119066,"æľ½":119067,"çį»":119068,"ç®Ķ":119069,"褶":119070,"æļ¢":119071,"æĺµ":119072,"çıĤ":119073,"æĤ¸":119074,"åģµ":119075,"åĻľ":119076,"壯":119077,"æĴ®":119078,"æģį":119079,"å©ķ":119080,"篱":119081,"éĺĻ":119082,"çīł":119083,"è£ĺ":119084,"è³¢":119085,"éĩľ":119086,"éĵł":119087,"èİĺ":119088,"æ®Ĩ":119089,"çϏ":119090,"è´ı":119091,"ç²±":119092,"å«¡":119093,"åĨ¢":119094,"è¤Ĵ":119095,"æĩĬ":119096,"éľĵ":119097,"塵":119098,"æĭ£":119099,"å»Ł":119100,"飽":119101,"é¢Į":119102,"åļİ":119103,"æ·º":119104,"èĨł":119105,"åİŃ":119106,"åļĩ":119107,"åijĥ":119108,"çĴĭ":119109,"çѱ":119110,"æĭ·":119111,"èį§":119112,"éͰ":119113,"åѰ":119114,"èĵĵ":119115,"èĨ½":119116,"æŀī":119117,"åĸ½":119118,"çĽĶ":119119,"çŃIJ":119120,"ç¾ļ":119121,"èħĮ":119122,"辫":119123,"æ³ĵ":119124,"çͬ":119125,"èŁ²":119126,"åĸª":119127,"å¦ĵ":119128,"è¬Ģ":119129,"çĤĬ":119130,"æĽľ":119131,"æ±IJ":119132,"è´Ī":119133,"èįĢ":119134,"æĬł":119135,"碾":119136,"æ«ĥ":119137,"éŀł":119138,"èijĨ":119139,"祯":119140,"å½Ŀ":119141,"é¦į":119142,"åĮ£":119143,"æľŃ":119144,"åĿĤ":119145,"ä¿ij":119146,"èĵ®":119147,"çijĽ":119148,"æīī":119149,"èĩŁ":119150,"貫":119151,"çİ¥":119152,"æ·¼":119153,"åݲ":119154,"é³Į":119155,"å³Ń":119156,"åijĽ":119157,"é§":119158,"é§IJ":119159,"éģ·":119160,"俪":119161,"æĢĤ":119162,"è¾į":119163,"å±į":119164,"åĭģ":119165,"å¥ļ":119166,"éļħ":119167,"éĴ´":119168,"è¼Ŀ":119169,"宦":119170,"èIJĥ":119171,"çĺĭ":119172,"æĨ¶":119173,"æĤħ":119174,"è¾Ļ":119175,"åijľ":119176,"çłº":119177,"éĢŀ":119178,"æµļ":119179,"éĸ£":119180,"èĸ©":119181,"éĻĭ":119182,"çĤĻ":119183,"èªķ":119184,"丣":119185,"é¹½":119186,"ç±Į":119187,"è´°":119188,"éĭª":119189,"çľ©":119190,"æĴIJ":119191,"èĨº":119192,"éŀĺ":119193,"ç¾²":119194,"窮":119195,"ç´IJ":119196,"æ®´":119197,"纾":119198,"èºį":119199,"ç´ĭ":119200,"çĦĸ":119201,"çĶº":119202,"çī½":119203,"çĤ¯":119204,"ç¼Ķ":119205,"æ¯ĵ":119206,"嬰":119207,"梧":119208,"äºŁ":119209,"è¢ħ":119210,"çįĦ":119211,"è¿¥":119212,"æ¼¾":119213,"çĿij":119214,"績":119215,"é¦ĭ":119216,"é¤ħ":119217,"æ¹Ħ":119218,"æĺĩ":119219,"æŀŃ":119220,"èĸ°":119221,"æŁij":119222,"榻":119223,"åĻĹ":119224,"åĻ´":119225,"棣":119226,"åͧ":119227,"çĨ¹":119228,"輯":119229,"å¢Ł":119230,"é²²":119231,"æĪĽ":119232,"èī¦":119233,"èĬ®":119234,"åĺŁ":119235,"帥":119236,"å¿»":119237,"çĮĿ":119238,"寵":119239,"賦":119240,"èĽ¾":119241,"滾":119242,"çĤķ":119243,"éĵ¬":119244,"èĴ¿":119245,"éĴ¨":119246,"çĥĻ":119247,"ç²ķ":119248,"æĥ¦":119249,"溧":119250,"é¢į":119251,"éħ£":119252,"峦":119253,"ç±ģ":119254,"çĥĥ":119255,"åĨĹ":119256,"åıģ":119257,"缧":119258,"ç½µ":119259,"éĴĹ":119260,"å¬ī":119261,"è°ı":119262,"ç³§":119263,"è¾Ń":119264,"æ·¬":119265,"èŁĴ":119266,"诩":119267,"è¦ĥ":119268,"çĻĸ":119269,"é½Ĵ":119270,"çĪIJ":119271,"ç®į":119272,"ç¼İ":119273,"磺":119274,"诫":119275,"褲":119276,"æĵł":119277,"èIJ¦":119278,"çĿ¬":119279,"è°į":119280,"éĦ°":119281,"æł¾":119282,"é¡ı":119283,"縱":119284,"桨":119285,"éĨ¬":119286,"襲":119287,"讪":119288,"婺":119289,"èįŁ":119290,"åĮĿ":119291,"çĨł":119292,"èĽĬ":119293,"æ¸ļ":119294,"å´½":119295,"鲤":119296,"åķ°":119297,"åĮķ":119298,"ä¸IJ":119299,"讥":119300,"åı½":119301,"åı¼":119302,"çļ¿":119303,"è¿Ĥ":119304,"åIJĨ":119305,"å±¹":119306,"èĩ¼":119307,"讹":119308,"é©®":119309,"纫":119310,"æ±ŀ":119311,"æĬ¡":119312,"èĭĩ":119313,"åIJł":119314,"åIJŃ":119315,"åIJ®":119316,"å²ĸ":119317,"ä½ĥ":119318,"çĭĪ":119319,"åºĩ":119320,"åIJĿ":119321,"éŰ":119322,"æ±¹":119323,"忱":119324,"æĭĦ":119325,"æĭĹ":119326,"èĮī":119327,"èĭĽ":119328,"èĮģ":119329,"çŁ¾":119330,"èĻı":119331,"åij»":119332,"åĴĦ":119333,"å¿¿":119334,"èĤ®":119335,"çĭŀ":119336,"çĸŁ":119337,"çĸĻ":119338,"çĸļ":119339,"æ³ŀ":119340,"å¸ļ":119341,"å±ī":119342,"è¿¢":119343,"驹":119344,"çİ·":119345,"çıĬó":119346,"çıĬół":119347,"çıĬółĦ":119348,"çıĬółĦģ":119349,"æĮİ":119350,"æĭ´":119351,"åŀĽ":119352,"èį¤":119353,"æ®ĥ":119354,"çĽ¹":119355,"åĵĨ":119356,"è´»":119357,"毡":119358,"çĭ°":119359,"çĭ¡":119360,"æŁĴ":119361,"æģĥ":119362,"诬":119363,"è¢Ħ":119364,"诲":119365,"èļ¤":119366,"èĢĻ":119367,"åŁĤ":119368,"æįİ":119369,"æįĮ":119370,"æ¢Ĩ":119371,"éħĮ":119372,"çł¾":119373,"æ®ī":119374,"åĶł":119375,"æĻĮ":119376,"èļ£":119377,"èļª":119378,"èļĵ":119379,"鸯":119380,"åĶģ":119381,"åĶĨ":119382,"åĢĶ":119383,"èĪĢ":119384,"豺":119385,"èĥ°":119386,"鸵":119387,"鸳":119388,"é¦ģ":119389,"ç¾Ķ":119390,"æ¶£":119391,"æ¶ķ":119392,"æĤ¯":119393,"诽":119394,"è°Ĩ":119395,"ç¥Ł":119396,"绢":119397,"æįº":119398,"æį¶":119399,"æį»":119400,"æİĤ":119401,"èıł":119402,"èIJ¤":119403,"éħĹ":119404,"çľ¶":119405,"åķĦ":119406,"èļ¯":119407,"èĽĢ":119408,"åͬ":119409,"帷":119410,"éĵIJ":119411,"éĵĽ":119412,"åģİ":119413,"å¾Ļ":119414,"èĦ¯":119415,"è±ļ":119416,"çĮĸ":119417,"çĹĬ":119418,"æ¶®":119419,"æĥŃ":119420,"æĤ´":119421,"æĥĭ":119422,"è°ļ":119423,"æı©":119424,"æIJĢ":119425,"æIJĶ":119426,"æ¦Ķ":119427,"æ¤Ń":119428,"éĽ³":119429,"åĸ³":119430,"è·Ľ":119431,"èľĵ":119432,"èľĴ":119433,"é¹ĥ":119434,"éĶĦ":119435,"çĶ¥":119436,"çŃı":119437,"çĮ©":119438,"çĮ¬":119439,"çĮ¾":119440,"çĹ¢":119441,"çĹª":119442,"æĥ°":119443,"çªĺ":119444,"è°¤":119445,"éļĺ":119446,"å©¿":119447,"é¹ī":119448,"çijĻ":119449,"æĸŁ":119450,"椿":119451,"éħª":119452,"éĽ¹":119453,"åŦ":119454,"è··":119455,"è·º":119456,"è·¤":119457,"èľĪ":119458,"èľĹ":119459,"å¹Į":119460,"é¦ı":119461,"èªĬ":119462,"æ¼ĵ":119463,"è¤Ĥ":119464,"èĶĹ":119465,"èͼ":119466,"åħ¢":119467,"裳":119468,"èľ»":119469,"èĿĩ":119470,"åĺĢ":119471,"é͹":119472,"ç®ķ":119473,"箩":119474,"çĺ©":119475,"çĺŁ":119476,"æ¼±":119477,"寥":119478,"骡":119479,"æĴµ":119480,"æĴ¬":119481,"è±Į":119482,"åĺ¹":119483,"èĿł":119484,"èĿĮ":119485,"èĿĹ":119486,"èĿĻ":119487,"éķIJ":119488,"稼":119489,"ç¯ĵ":119490,"èĨĽ":119491,"鲫":119492,"çĺª":119493,"鲨":119494,"æĨĶ":119495,"ç¿©":119496,"褥":119497,"ç¼Ń":119498,"åĻ©":119499,"çĵ¢":119500,"éľİ":119501,"踱":119502,"è¹Ĥ":119503,"èŁĨ":119504,"鹦":119505,"篡":119506,"çĺ¸":119507,"窿":119508,"ç¼°":119509,"èĹIJ":119510,"è¹ĭ":119511,"èŁĭ":119512,"èŁĢ":119513,"赡":119514,"èĩĬ":119515,"é³Ħ":119516,"ç³ł":119517,"æĩ¦":119518,"åļ£":119519,"éķ°":119520,"é³į":119521,"ç°¸":119522,"çĻ£":119523,"é³ĸ":119524,"é¬ĵ":119525,"èłķ":119526,"éľ¹":119527,"èºı":119528,"黯":119529,"çĵ¤":119530,"çŁĹ":119531,"ä¹Ĥ":119532,"ä¹ľ":119533,"åħĢ":119534,"å¼ĭ":119535,"åŃij":119536,"åŃĵ":119537,"幺":119538,"äºĵ":119539,"廿":119540,"ä¸ı":119541,"åįħ":119542,"ä»ĥ":119543,"ä»ī":119544,"ä»Ĥ":119545,"åĪĪ":119546,"çĪ»":119547,"åįŀ":119548,"éĹ©":119549,"讣":119550,"夬":119551,"çĪ¿":119552,"æ¯ĭ":119553,"éĤĹ":119554,"éĤĽ":119555,"èī½":119556,"èī¿":119557,"åıµ":119558,"ä¸ķ":119559,"åĮľ":119560,"åĬ¢":119561,"åįŁ":119562,"åı±":119563,"åı»":119564,"仨":119565,"代":119566,"仡":119567,"仫":119568,"ä»ŀ":119569,"åį®":119570,"æ°IJ":119571,"çĬ°":119572,"åĪį":119573,"éĤĿ":119574,"éĤĻ":119575,"讦":119576,"è®§":119577,"讫":119578,"å°»":119579,"éĺ¡":119580,"å°ķ":119581,"å¼ģ":119582,"èĢĴ":119583,"çİİ":119584,"çİij":119585,"åľ¬":119586,"æī¦":119587,"åľª":119588,"åľ¹":119589,"æīª":119590,"åľ®":119591,"åľ¯":119592,"èĬĬ":119593,"èĬį":119594,"èĬĦ":119595,"èĬ¨":119596,"èĬij":119597,"èĬİ":119598,"èĬĹ":119599,"äºĺ":119600,"åİį":119601,"夼":119602,"æĪį":119603,"å°¥":119604,"乩":119605,"æĹ¯":119606,"æĽ³":119607,"å²Į":119608,"屺":119609,"åĩ¼":119610,"åĽ¡":119611,"éĴĩ":119612,"ç¼¶":119613,"æ°ĺ":119614,"æ°ĸ":119615,"çīĿ":119616,"ä¼İ":119617,"ä¼Ľ":119618,"ä¼¢":119619,"佤":119620,"仵":119621,"ä¼¥":119622,"ä¼§":119623,"ä¼ī":119624,"伫":119625,"åĽŁ":119626,"æ±Ĩ":119627,"åĪĸ":119628,"å¤Ļ":119629,"æĹ®":119630,"åĪİ":119631,"çĬ·":119632,"çĬ¸":119633,"èĪĽ":119634,"åĩ«":119635,"éĤ¬":119636,"饧":119637,"æ±Ķ":119638,"æ±ľ":119639,"æ±Ĭ":119640,"å¿ĸ":119641,"å¿ı":119642,"è®´":119643,"讵":119644,"è®·":119645,"èģ¿":119646,"èī®":119647,"åݾ":119648,"å¦ģ":119649,"纡":119650,"纣":119651,"纥":119652,"纨":119653,"çİķ":119654,"çİĻ":119655,"æĬŁ":119656,"æĬĶ":119657,"åľ»":119658,"åĿį":119659,"æĬĥ":119660,"ã§IJ":119661,"èĬ«":119662,"èĬ¾":119663,"èĭĪ":119664,"èĭ£":119665,"èĭĭ":119666,"èĬ¼":119667,"èĭĮ":119668,"èĭģ":119669,"èĬ©":119670,"èĬª":119671,"èĬ¡":119672,"èĬŁ":119673,"èĭĦ":119674,"èĭİ":119675,"èĭ¡":119676,"æĿĮ":119677,"æĿĵ":119678,"æĿĪ":119679,"å¿ij":119680,"åŃĽ":119681,"éĤ´":119682,"éĤ³":119683,"å¥ģ":119684,"è±ķ":119685,"å¿Ĵ":119686,"欤":119687,"轫":119688,"è¿ĵ":119689,"éĤ¶":119690,"å¿IJ":119691,"åį£":119692,"éĤº":119693,"æĹ°":119694,"åijĭ":119695,"åijĴ":119696,"åijĵ":119697,"åijĶ":119698,"åijĸ":119699,"æĹ¸":119700,"åIJ¡":119701,"èϬ":119702,"åIJ½":119703,"åIJ£":119704,"åIJ²":119705,"å¸ı":119706,"å²Ī":119707,"å²ĺ":119708,"åħķ":119709,"åĽµ":119710,"åĽ«":119711,"éĴĬ":119712,"éĴĭ":119713,"éĴĮ":119714,"è¿ķ":119715,"æ°Ļ":119716,"æ°ļ":119717,"çī¤":119718,"ä½ŀ":119719,"ä½ļ":119720,"ä½Ŀ":119721,"ä½Ĺ":119722,"å½·":119723,"ä½ĺ":119724,"ä½¥":119725,"豸":119726,"åĿĮ":119727,"èĤŁ":119728,"å¥Ĥ":119729,"åĬ¬":119730,"çĭģ":119731,"鸳":119732,"饨":119733,"饩":119734,"饫":119735,"饬":119736,"åºij":119737,"åºĭ":119738,"çĸĶ":119739,"çĸĸ":119740,"èĤĵ":119741,"éű":119742,"éĹ³":119743,"çĤĢ":119744,"æ²£":119745,"æ²ħ":119746,"æ²Ķ":119747,"沤":119748,"æ²ı":119749,"æ²ļ":119750,"汩":119751,"汨":119752,"沨":119753,"æ±´":119754,"æ²Ĩ":119755,"沩":119756,"æ³IJ":119757,"æĢĥ":119758,"æĢĦ":119759,"å¿¡":119760,"忤":119761,"忾":119762,"æĢħ":119763,"忪":119764,"æĢĨ":119765,"å¿Ń":119766,"忸":119767,"è¯Ĥ":119768,"è¯ĥ":119769,"è¯ħ":119770,"è¯ĭ":119771,"è¯Į":119772,"è¯Ĵ":119773,"éĻĤ":119774,"éĻī":119775,"妩":119776,"妪":119777,"妣":119778,"å¦Ĺ":119779,"妫":119780,"å§Ĵ":119781,"妤":119782,"åĬŃ":119783,"åĪŃ":119784,"éĤ°":119785,"çºŃ":119786,"纰":119787,"纴":119788,"çİ¡":119789,"çİŃ":119790,"çİł":119791,"çİ¢":119792,"çݦ":119793,"çĽĤ":119794,"å¿Ŀ":119795,"åĮ¦":119796,"åĿ©":119797,"æĬ¨":119798,"æĭ¤":119799,"åĿ«":119800,"æĭĪ":119801,"åŀĨ":119802,"æĬ»":119803,"åĬ¼":119804,"æĭĥ":119805,"æĭĬ":119806,"åĿ¼":119807,"åĿ»":119808,"ã§Ł":119809,"åĿ¨":119810,"åĿŃ":119811,"æĬ¿":119812,"åĿ³":119813,"èĭ·":119814,"èĭ¤":119815,"èĮı":119816,"èĭ«":119817,"èĭľ":119818,"èĭ´":119819,"èĭĴ":119820,"èĭĺ":119821,"èĮĮ":119822,"èĭ»":119823,"èĭĵ":119824,"èĮļ":119825,"èĮĨ":119826,"èĮij":119827,"èĮĵ":119828,"èĮĶ":119829,"èĮķ":119830,"èĮĢ":119831,"èĭķ":119832,"æŀ¥":119833,"æŀĩ":119834,"æĿª":119835,"æĿ³":119836,"æŀ§":119837,"æĿµ":119838,"æŀ¨":119839,"æŀŀ":119840,"æŀĭ":119841,"æĿ»":119842,"æĿ·":119843,"æĿ¼":119844,"磸":119845,"çłĢ":119846,"åγ":119847,"å¥Ħ":119848,"æ®ģ":119849,"éĥı":119850,"è½Ń":119851,"éĥħ":119852,"鸢":119853,"缱":119854,"æĺĻ":119855,"æĿ²":119856,"æĺĥ":119857,"åĴĤ":119858,"åij¸":119859,"æĺĢ":119860,"æĹ»":119861,"æĺī":119862,"çĤħ":119863,"çķĢ":119864,"èĻ®":119865,"åĴĢ":119866,"åij·":119867,"黾":119868,"åij±":119869,"åij¤":119870,"åĴĨ":119871,"åĴĽ":119872,"åij¶":119873,"åij£":119874,"åĴĿ":119875,"å²¢":119876,"岿":119877,"岬":119878,"岫":119879,"å¸Ļ":119880,"å²£":119881,"å³ģ":119882,"åĪ¿":119883,"å²·":119884,"åīĢ":119885,"å¸Ķ":119886,"å³Ħ":119887,"æ²ĵ":119888,"åĽ¹":119889,"ç½Ķ":119890,"éĴį":119891,"éĴİ":119892,"éĴı":119893,"éĴĴ":119894,"éĴķ":119895,"éĤ¾":119896,"è¿®":119897,"çī¦":119898,"竺":119899,"迤":119900,"ä½¶":119901,"ä¾ij":119902,"ä¾ī":119903,"èĩ¾":119904,"ä¾Ĺ":119905,"ä¾ı":119906,"侩":119907,"ä½»":119908,"ä½¾":119909,"侪":119910,"ä½¼":119911,"佯":119912,"侬":119913,"å¸Ľ":119914,"ä¾Ķ":119915,"å¾Ĥ":119916,"åν":119917,"éĥĦ":119918,"ç±´":119919,"çĵ®":119920,"æĪĹ":119921,"èĤ¼":119922,"äıĿ":119923,"èĤ±":119924,"èĤ«":119925,"è¿©":119926,"éĥĩ":119927,"çĭİ":119928,"çĭį":119929,"çĭĴ":119930,"åĴİ":119931,"饯":119932,"饴":119933,"åĨ½":119934,"åĨ¼":119935,"åºĸ":119936,"çĸł":119937,"çĸĿ":119938,"åħĸ":119939,"åĬ¾":119940,"ð¬ī":119941,"ð¬ī¼":119942,"çĤĺ":119943,"çĤĿ":119944,"çĤĶ":119945,"æ³Ķ":119946,"æ²Ń":119947,"æ³·":119948,"æ³±":119949,"æ³ħ":119950,"æ³ł":119951,"泺":119952,"æ³ĸ":119953,"泫":119954,"æ³®":119955,"æ²±":119956,"泯":119957,"æĢĻ":119958,"æĢµ":119959,"æĢ¦":119960,"æĢĽ":119961,"æĢı":119962,"æĢį":119963,"ã¤":119964,"ã¤ĺ":119965,"æĢ©":119966,"æĢ«":119967,"æĢ¿":119968,"å®ķ":119969,"穹":119970,"å®ĵ":119971,"è¯ĵ":119972,"è¯Ķ":119973,"è¯ĸ":119974,"è¯ĺ":119975,"æĪ¾":119976,"è¯Ļ":119977,"æĪ½":119978,"éĥĵ":119979,"è¡©":119980,"ç¥Ĩ":119981,"ç¥İ":119982,"ç¥ĩ":119983,"è¯ľ":119984,"è¯Ł":119985,"诣":119986,"诤":119987,"诧":119988,"诨":119989,"æĪķ":119990,"éĻĶ":119991,"妲":119992,"妯":119993,"å§Ĺ":119994,"å¸ij":119995,"åŃ¥":119996,"驽":119997,"èϱ":119998,"迨":119999,"ç»Ģ":120000,"ç»ģ":120001,"ç»Ĥ":120002,"é©·":120003,"驸":120004,"ç»ī":120005,"ç»Į":120006,"éªĢ":120007,"ç;":120008,"çıı":120009,"çıIJ":120010,"çıij":120011,"çݳ":120012,"顸":120013,"çıī":120014,"çıĪ":120015,"æĭ®":120016,"åŀŃ":120017,"æĮĿ":120018,"æĮŀ":120019,"åŀ¤":120020,"èµ³":120021,"è´²":120022,"åŀ±":120023,"åŀĮ":120024,"åŀ§":120025,"åŀĵ":120026,"æĮ¦":120027,"åŀł":120028,"èįļ":120029,"èįij":120030,"è´³":120031,"èįľ":120032,"èİĴ":120033,"èĮ¼":120034,"èĮ´":120035,"èĮ±":120036,"èİĽ":120037,"èįŀ":120038,"èĮ¯":120039,"èįı":120040,"èįĩ":120041,"èįĥ":120042,"èįł":120043,"èĮŃ":120044,"åŀ©":120045,"èį¥":120046,"èį¦":120047,"èį¨":120048,"èį©":120049,"åīĭ":120050,"èįª":120051,"èį¬":120052,"èį®":120053,"æŁ°":120054,"æłī":120055,"æŁĺ":120056,"æłĬ":120057,"æŁ©":120058,"æŀ°":120059,"æłĮ":120060,"æŁĻ":120061,"æŀµ":120062,"æŀ³":120063,"æŁŀ":120064,"æŁĿ":120065,"æłĢ":120066,"æŁ¢":120067,"æłİ":120068,"æŁĪ":120069,"æŁģ":120070,"æŀ·":120071,"æŁ½":120072,"åīĮ":120073,"éħĬ":120074,"éĥ¦":120075,"çĶŃ":120076,"çłĹ":120077,"çłĺ":120078,"çłĴ":120079,"æĸ«":120080,"çłŃ":120081,"çłľ":120082,"èĢ·":120083,"èĻº":120084,"æ®Ĥ":120085,"æ®ĩ":120086,"æ®Ħ":120087,"è½±":120088,"è½²":120089,"è½³":120090,"è½¶":120091,"轸":120092,"èĻ¿":120093,"æ¯ĸ":120094,"è§ĩ":120095,"å°ľ":120096,"åĵIJ":120097,"çľĦ":120098,"çľį":120099,"ðł³":120100,"ðł³IJ":120101,"éĥ¢":120102,"çľĩ":120103,"çľĬ":120104,"çľĪ":120105,"禺":120106,"åĵĤ":120107,"åĴ´":120108,"æĽ·":120109,"æĺ´":120110,"åĴ¦":120111,"åĵĵ":120112,"åĵĶ":120113,"çķİ":120114,"åij²":120115,"èĥĦ":120116,"çķĭ":120117,"çķĪ":120118,"èϼ":120119,"èĻ»":120120,"çĽħ":120121,"åĴ£":120122,"åĵķ":120123,"åīIJ":120124,"éĥ§":120125,"åĴ»":120126,"åĽ¿":120127,"åĴ¿":120128,"åĵĮ":120129,"åĵĻ":120130,"åĵļ":120131,"åĴ©":120132,"åĴ¤":120133,"åĵĿ":120134,"åĵı":120135,"åĵŀ":120136,"å³£":120137,"ç½ĺ":120138,"å³Ĵ":120139,"峤":120140,"å³ĭ":120141,"è´¶":120142,"éĴļ":120143,"éĴ¡":120144,"éĴ£":120145,"éĴ¤":120146,"éĴ«":120147,"æ°¡":120148,"çī¯":120149,"éĥľ":120150,"ç§ķ":120151,"ç§Ń":120152,"竽":120153,"ç¬Ī":120154,"俦":120155,"俨":120156,"ä¿ħ":120157,"åıŁ":120158,"åŀ¡":120159,"çī®":120160,"ä¿£":120161,"ä¿ļ":120162,"çļĪ":120163,"ä¿Ł":120164,"éĢħ":120165,"å¾ĩ":120166,"å¾ī":120167,"èĪ¢":120168,"éĥĹ":120169,"ä¿İ":120170,"éĥ¤":120171,"çΰ":120172,"éĥĽ":120173,"çĵ´":120174,"èĥ¨":120175,"èĥª":120176,"èĥĽ":120177,"èĥĤ":120178,"èĥĻ":120179,"èĥį":120180,"èĥĹ":120181,"èĥĿ":120182,"æľIJ":120183,"èĥ«":120184,"鸨":120185,"åĮį":120186,"çĭ¨":120187,"çĭ¯":120188,"é£ij":120189,"çĭ©":120190,"çĭ²":120191,"è¨ĩ":120192,"éĢĦ":120193,"æĺĿ":120194,"饷":120195,"饸":120196,"饹":120197,"åŃª":120198,"å¨Ī":120199,"庥":120200,"çĸ¬":120201,"çĸ£":120202,"çĸ¥":120203,"çĸŃ":120204,"åºł":120205,"ç«ij":120206,"é£Ĵ":120207,"éĹ¼":120208,"éĹ¾":120209,"éĹ¿":120210,"éĺĤ":120211,"ç¾ij":120212,"迸":120213,"ç±¼":120214,"éħĭ":120215,"çĤ»":120216,"çĥĢ":120217,"çĤ·":120218,"æ´±":120219,"æ´¹":120220,"æ´§":120221,"æ´Į":120222,"æµĥ":120223,"æ´ĩ":120224,"æ´Ħ":120225,"æ´Ļ":120226,"æ¶İ":120227,"æ´İ":120228,"æ´«":120229,"æµį":120230,"æ´®":120231,"æ´µ":120232,"æµĴ":120233,"æµĶ":120234,"æµķ":120235,"æ´³":120236,"æģ¸":120237,"æģĵ":120238,"æģ¹":120239,"æģ«":120240,"æģ»":120241,"æģĤ":120242,"æģª":120243,"æģ½":120244,"宥":120245,"æīĥ":120246,"衲":120247,"衽":120248,"è¡¿":120249,"è¢Ĥ":120250,"ç¥ľ":120251,"ç¥ĵ":120252,"ç¥ļ":120253,"诮":120254,"ç¥Ĺ":120255,"祢":120256,"诰":120257,"诳":120258,"鸩":120259,"æĺ¶":120260,"åĴ«":120261,"å¼Ń":120262,"çīģ":120263,"èĥ¥":120264,"éĻŁ":120265,"å§®":120266,"å¨Ĩ":120267,"å§Ŀ":120268,"å§£":120269,"å§ĺ":120270,"å§¹":120271,"羿":120272,"çĤ±":120273,"磾":120274,"ç»Ķ":120275,"éªģ":120276,"éªħ":120277,"ç»Ĺ":120278,"综":120279,"éªĪ":120280,"èĢĸ":120281,"æĮĪ":120282,"çı¥":120283,"çıĻ":120284,"顼":120285,"çı°":120286,"çı©":120287,"çı§":120288,"çı£":120289,"çıŀ":120290,"çIJ¤":120291,"çı²":120292,"æģļ":120293,"åŁķ":120294,"åŁĺ":120295,"åŁĻ":120296,"åŁļ":120297,"æĮ¹":120298,"èĢĨ":120299,"èĢĦ":120300,"åŁĴ":120301,"æįĭ":120302,"è´½":120303,"åŀ¸":120304,"æįĥ":120305,"çĽį":120306,"èį¸":120307,"èݳ":120308,"èİ´":120309,"èݪ":120310,"èİł":120311,"èİľ":120312,"èİħ":120313,"èį¼":120314,"èİ©":120315,"èį½":120316,"èݸ":120317,"èį»":120318,"èݨ":120319,"鸪":120320,"èݼ":120321,"æł²":120322,"æł³":120323,"æ¡¡":120324,"æ¡İ":120325,"æ¡¢":120326,"桤":120327,"æ¢ĥ":120328,"æłĿ":120329,"æ¡ķ":120330,"æ¡ģ":120331,"æ¡§":120332,"æ¡ħ":120333,"æłŁ":120334,"æ¡ī":120335,"æł©":120336,"éĢij":120337,"éĢĭ":120338,"å½§":120339,"鬲":120340,"è±ĩ":120341,"éħIJ":120342,"é̦":120343,"åİĿ":120344,"åѬ":120345,"çłĿ":120346,"çł¹":120347,"çł§":120348,"çł·":120349,"糣":120350,"çł¼":120351,"çł¥":120352,"çł£":120353,"åīŀ":120354,"çł»":120355,"è½¼":120356,"è½¾":120357,"è¾Ĥ":120358,"鸫":120359,"趸":120360,"é¾Ģ":120361,"鸬":120362,"èĻĶ":120363,"羬":120364,"åĶĽ":120365,"çľĻ":120366,"åĵ§":120367,"åĵ½":120368,"æĻģ":120369,"鸮":120370,"è¶µ":120371,"è¶¿":120372,"çķĽ":120373,"èļ¨":120374,"èļľ":120375,"èļį":120376,"èļĭ":120377,"èļ¬":120378,"èļĿ":120379,"èļ§":120380,"åĶ¢":120381,"åľĦ":120382,"åĶ£":120383,"åĶı":120384,"çĽİ":120385,"åĶij":120386,"å´Ĥ":120387,"å´ĥ":120388,"罡":120389,"ç½Ł":120390,"è§Ĭ":120391,"èµħ":120392,"éĴ²":120393,"éĴµ":120394,"éĴ¹":120395,"éĴº":120396,"éĴ½":120397,"éĴ¼":120398,"éĴ¿":120399,"éĵĢ":120400,"éĵĦ":120401,"éĵĨ":120402,"éĵĪ":120403,"éĵī":120404,"éĵĬ":120405,"éĵĭ":120406,"éĵĮ":120407,"éĵį":120408,"ä¥":120409,"䥽":120410,"éĵİ":120411,"æ°©":120412,"æ°¤":120413,"æ°¦":120414,"毪":120415,"èĪIJ":120416,"ç§£":120417,"ç§«":120418,"çĽī":120419,"ç¬Ħ":120420,"ç¬ķ":120421,"ç¬Ĭ":120422,"ç¬ı":120423,"ç¬Ĩ":120424,"俸":120425,"俵":120426,"åģĮ":120427,"俳":120428,"ä¿¶":120429,"å̬":120430,"åĢı":120431,"æģģ":120432,"åĢŃ":120433,"俾":120434,"åĢľ":120435,"éļ¼":120436,"éļ½":120437,"åĢĮ":120438,"åĢ¥":120439,"èĩ¬":120440,"éĥ«":120441,"å̍":120442,"è¡Ħ":120443,"é¢Ģ":120444,"å¾ķ":120445,"èĪ«":120446,"衾":120447,"èĥ¯":120448,"èĥ±":120449,"èĥ´":120450,"èĥŃ":120451,"èĦį":120452,"èĥ¼":120453,"èĦĴ":120454,"鸱":120455,"鸲":120456,"çĭ·":120457,"çĮģ":120458,"çĭ³":120459,"çĮĥ":120460,"çĭº":120461,"éĢĸ":120462,"æ¡Ģ":120463,"饽":120464,"åĩĩ":120465,"æĮĽ":120466,"亳":120467,"çĸ³":120468,"çĸ´":120469,"çĸ¸":120470,"çĸ½":120471,"çĹĪ":120472,"çĸ±":120473,"çĹĤ":120474,"çĹī":120475,"è¡®":120476,"é¢ĥ":120477,"æģ£":120478,"æĹĨ":120479,"æĹĦ":120480,"æĹĥ":120481,"éĺĥ":120482,"éĺĦ":120483,"è¨ļ":120484,"éĺĨ":120485,"æģĻ":120486,"ç²ij":120487,"çĥľ":120488,"çĥ©":120489,"çĥĬ":120490,"åī¡":120491,"éĥ¯":120492,"çĥ¬":120493,"æ¶ij":120494,"浯":120495,"æ¶ŀ":120496,"æ¶Ł":120497,"å¨ij":120498,"æ¶ł":120499,"æµŀ":120500,"æ¶ĵ":120501,"æµ¥":120502,"æ¶Ķ":120503,"æµľ":120504,"æµł":120505,"æµ£":120506,"æĤļ":120507,"æĤŃ":120508,"æĤĿ":120509,"æĤĴ":120510,"æĤĮ":120511,"æĤĽ":120512,"çªĪ":120513,"åīľ":120514,"诹":120515,"诼":120516,"è¢Ĵ":120517,"袢":120518,"诿":120519,"è°Ģ":120520,"è°Ĥ":120521,"è°Ħ":120522,"è°ĩ":120523,"å±IJ":120524,"å±Ļ":120525,"éϬ":120526,"åĭIJ":120527,"å¥ĺ":120528,"çīĤ":120529,"èļ©":120530,"éϲ":120531,"å¨Į":120532,"å¨ī":120533,"娲":120534,"娴":120535,"娣":120536,"å¨ĵ":120537,"å©Ģ":120538,"çķļ":120539,"éĢ¡":120540,"绳":120541,"éªĬ":120542,"绡":120543,"éªĭ":120544,"绦":120545,"绨":120546,"éªİ":120547,"éĤķ":120548,"鸶":120549,"å½Ĺ":120550,"èĢľ":120551,"çĦĺ":120552,"èĪĤ":120553,"çIJı":120554,"çIJĩ":120555,"麸":120556,"æı¶":120557,"åŁ´":120558,"åŁ¯":120559,"æį¯":120560,"æİ³":120561,"æİ´":120562,"åŁ¸":120563,"åŁµ":120564,"èµ§":120565,"åŁ¤":120566,"æįŃ":120567,"é̵":120568,"åŁĿ":120569,"åłĭ":120570,"åłį":120571,"æİ¬":120572,"鸷":120573,"æį½":120574,"æİĬ":120575,"åłī":120576,"æİ¸":120577,"æį©":120578,"æİ®":120579,"æĤ«":120580,"åŁŃ":120581,"åŁ½":120582,"æİĩ":120583,"æİ¼":120584,"èģĥ":120585,"èIJģ":120586,"èıĺ":120587,"åłĩ":120588,"èIJĺ":120589,"èIJĭ":120590,"èı½":120591,"èıĸ":120592,"èIJľ":120593,"èIJ¸":120594,"èIJij":120595,"棻":120596,"èıĶ":120597,"èıŁ":120598,"èIJı":120599,"èı¹":120600,"èıª":120601,"èıħ":120602,"èıĢ":120603,"èı°":120604,"èı¡":120605,"梿":120606,"æ¢ı":120607,"è§ĭ":120608,"æ¡´":120609,"æ¡·":120610,"æ£ģ":120611,"æ¡«":120612,"æ£Ĥ":120613,"åķ¬":120614,"éĥ¾":120615,"æķķ":120616,"è±ī":120617,"éĦĦ":120618,"éħŀ":120619,"ç¡İ":120620,"ç¡Ń":120621,"ç¡ĸ":120622,"ç¡Ĺ":120623,"ç¡IJ":120624,"ç¡ĩ":120625,"ç¡Į":120626,"鸸":120627,"çĵł":120628,"åĮı":120629,"åİ©":120630,"æ®Ĵ":120631,"æ®ĵ":120632,"æ®į":120633,"èµī":120634,"鼩":120635,"è¾Ħ":120636,"åłij":120637,"çľŃ":120638,"羦":120639,"åķ§":120640,"æĻ¡":120641,"æĻ¤":120642,"çľµ":120643,"åľĬ":120644,"åĸı":120645,"åķī":120646,"åĭĸ":120647,"æĻŀ":120648,"å͵":120649,"æĻĹ":120650,"åķŃ":120651,"çķ¦":120652,"趺":120653,"åķ®":120654,"è·Ħ":120655,"èļ¶":120656,"èĽĦ":120657,"èĽİ":120658,"èĽĨ":120659,"èļ°":120660,"åľī":120661,"èļ±":120662,"èĽī":120663,"èĽı":120664,"èļ´":120665,"åķģ":120666,"åķķ":120667,"åĶ¿":120668,"åķIJ":120669,"åͼ":120670,"åĶ·":120671,"åķĸ":120672,"åķµ":120673,"åķ¶":120674,"åķ·":120675,"åͳ":120676,"åͰ":120677,"åķľ":120678,"帻":120679,"å´ļ":120680,"å´¦":120681,"帼":120682,"å´®":120683,"å´¤":120684,"å´Ĩ":120685,"èµĩ":120686,"èµĪ":120687,"èµĬ":120688,"éĵij":120689,"éĵĴ":120690,"éĵĹ":120691,"éĵĻ":120692,"éĵŁ":120693,"éĵ¡":120694,"éĵ¢":120695,"éĵ£":120696,"éĵ¤":120697,"éĵ§":120698,"éĵ¨":120699,"éĵ©":120700,"éĵª":120701,"éĵ«":120702,"éĵ¯":120703,"éĵ°":120704,"éĵ±":120705,"éĵ³":120706,"éĵµ":120707,"éĵ·":120708,"çī¾":120709,"鸹":120710,"ç§¾":120711,"é̶":120712,"笺":120713,"çŃĩ":120714,"笸":120715,"笪":120716,"笮":120717,"笳":120718,"笥":120719,"笤":120720,"笳":120721,"笾":120722,"ç¬ŀ":120723,"åģ¾":120724,"åģĥ":120725,"åģķ":120726,"åģĪ":120727,"åĤĢ":120728,"åģ¬":120729,"åģ»":120730,"çļij":120731,"çļİ":120732,"鸻":120733,"å¾ľ":120734,"èΏ":120735,"èĪ»":120736,"èĪ´":120737,"èĪ·":120738,"é¾Ľ":120739,"ç¿İ":120740,"èĦ¬":120741,"èĦĺ":120742,"èĦ²":120743,"åĮIJ":120744,"çĮĹ":120745,"çĮ¡":120746,"çĮŀ":120747,"æĸĽ":120748,"çĮķ":120749,"é¦Ĺ":120750,"é¦ĥ":120751,"é¦Ħ":120752,"鸾":120753,"庹":120754,"庾":120755,"çĹĶ":120756,"çĹį":120757,"ç¿Ĭ":120758,"æĹĮ":120759,"æĹİ":120760,"袤":120761,"éĺĩ":120762,"éĺĪ":120763,"éĺī":120764,"éĺĬ":120765,"éĺĭ":120766,"éĺį":120767,"éĺı":120768,"ç¾Ł":120769,"ç²Ŀ":120770,"çĦIJ":120771,"çĦĵ":120772,"çĦĹ":120773,"æ·ħ":120774,"æ·ŀ":120775,"æ¸İ":120776,"æ¶¿":120777,"æ·ĸ":120778,"æĮ²":120779,"æ·ł":120780,"涸":120781,"æ¸ij":120782,"æ·¦":120783,"æ·Ŀ":120784,"涪":120785,"æ·Ļ":120786,"æ¶«":120787,"æ¸Į":120788,"æĤ»":120789,"æĤ±":120790,"æĥĿ":120791,"æĥĺ":120792,"æĥĨ":120793,"æĥļ":120794,"æĥĩ":120795,"æĥ®":120796,"çªķ":120797,"è°Į":120798,"æīĪ":120799,"çļ²":120800,"è°ij":120801,"è£Ĩ":120802,"袷":120803,"è£ī":120804,"è°Ĵ":120805,"è°Ķ":120806,"è°ķ":120807,"è°ĸ":120808,"è°Ĺ":120809,"è°Ļ":120810,"è°Ŀ":120811,"é̝":120812,"éĥ¿":120813,"éļĪ":120814,"ç²ľ":120815,"éļį":120816,"éļĹ":120817,"å©Ĭ":120818,"娼":120819,"å©¢":120820,"婵":120821,"èĥ¬":120822,"è¢Ī":120823,"ç¿Į":120824,"æģ¿":120825,"欸":120826,"绫":120827,"éªIJ":120828,"绯":120829,"ç»±":120830,"éªĴ":120831,"绲":120832,"éªĵ":120833,"ç»¶":120834,"绺":120835,"ç»»":120836,"绾":120837,"éªĸ":120838,"ç¼ģ":120839,"èĢł":120840,"çIJ«":120841,"çIJµ":120842,"çIJ¶":120843,"çIJ¥":120844,"çIJ¨":120845,"çIJ°":120846,"çIJ®":120847,"çIJ¯":120848,"çIJ¬":120849,"çIJļ":120850,"è¾ĩ":120851,"é¼ĭ":120852,"æı³":120853,"åłŀ":120854,"æIJ½":120855,"æı¸":120856,"æıł":120857,"åłĻ":120858,"è¶Ħ":120859,"æıĸ":120860,"é¢ī":120861,"å¡Ħ":120862,"æı¿":120863,"èĢĭ":120864,"æıĦ":120865,"èĽ©":120866,"èĽ°":120867,"å¡Ĩ":120868,"æijĴ":120869,"æıĨ":120870,"æİ¾":120871,"èģĴ":120872,"èijij":120873,"èijļ":120874,"éĿ°":120875,"éĿ¸":120876,"èij³":120877,"èijº":120878,"èij¸":120879,"èIJ¼":120880,"èij¶":120881,"èĴĮ":120882,"èijŃ":120883,"楮":120884,"棼":120885,"æ¤Ł":120886,"棹":120887,"椤":120888,"棰":120889,"èµį":120890,"æ¤ĭ":120891,"æ¤ģ":120892,"椪":120893,"æ¤IJ":120894,"é¹ģ":120895,"éħ¤":120896,"éħ¢":120897,"éħ¡":120898,"é¹Ĥ":120899,"æ®ļ":120900,"æ®Ľ":120901,"鼱":120902,"è¾ĭ":120903,"æ¤ł":120904,"è¾İ":120905,"çĿĦ":120906,"çĿĩ":120907,"çĿĥ":120908,"æĪ¢":120909,"åĸĭ":120910,"åĹĴ":120911,"åĸĥ":120912,"åĸ±":120913,"åĸ¹":120914,"æĻ·":120915,"åĸĪ":120916,"è·ĸ":120917,"è·Ĺ":120918,"è·ŀ":120919,"è·ļ":120920,"è·İ":120921,"è·ı":120922,"è·Ĩ":120923,"èĽ±":120924,"èĽ²":120925,"èĽŃ":120926,"èĽ³":120927,"èĽIJ":120928,"èĽĶ":120929,"èĽŀ":120930,"èĽ´":120931,"èĽĺ":120932,"åĸģ":120933,"åĸŁ":120934,"åķ¾":120935,"åĹĸ":120936,"åĸij":120937,"åĹŁ":120938,"åĹŀ":120939,"åĸĻ":120940,"åµĺ":120941,"åµĸ":120942,"å´´":120943,"éģĦ":120944,"è©Ī":120945,"åµİ":120946,"嵬":120947,"åµĽ":120948,"嵯":120949,"åµĿ":120950,"嵫":120951,"å¹Ħ":120952,"åµĭ":120953,"èµķ":120954,"éĵ»":120955,"éĵ¼":120956,"éĵ¿":120957,"éĶĥ":120958,"éĶĨ":120959,"éĶĩ":120960,"éĶī":120961,"éĶı":120962,"éĶij":120963,"éĶĴ":120964,"éĶĶ":120965,"éĶķ":120966,"æİ£":120967,"磬":120968,"æ°°":120969,"毳":120970,"毽":120971,"çĬĬ":120972,"çĬĦ":120973,"çĬĭ":120974,"é¹Ħ":120975,"çĬį":120976,"åµĩ":120977,"é»į":120978,"ç¨ĥ":120979,"ç¨Ĥ":120980,"çŃļ":120981,"çѵ":120982,"çŃĮ":120983,"åĤ£":120984,"åĤĪ":120985,"èĪĦ":120986,"çīį":120987,"åĤ¥":120988,"åĤ§":120989,"éģij":120990,"åĤ©":120991,"徨":120992,"åªŃ":120993,"çķ²":120994,"å¼ij":120995,"ç¿ķ":120996,"é¹Ĩ":120997,"èħĪ":120998,"èħĵ":120999,"èħĨ":121000,"èħ´":121001,"èħļ":121002,"èħ±":121003,"鱿":121004,"é²Ģ":121005,"é²Ĥ":121006,"çĮ¢":121007,"çĮ¹":121008,"çĮ¥":121009,"é£ĵ":121010,"è§ŀ":121011,"è§ļ":121012,"çĮ±":121013,"é¢İ":121014,"飧":121015,"é¦ĩ":121016,"é¦Ĭ":121017,"亵":121018,"èĦĶ":121019,"è£Ĵ":121020,"çĹ£":121021,"çŨ":121022,"çŦ":121023,"çĹŀ":121024,"çŤ":121025,"çŧ":121026,"èµĵ":121027,"竦":121028,"çĵ¿":121029,"åķ»":121030,"é¢ı":121031,"é¹ĩ":121032,"éĺij":121033,"éĺĴ":121034,"éĺķ":121035,"ç²ŀ":121036,"éģĴ":121037,"åѳ":121038,"çĦ¯":121039,"çĦľ":121040,"çĦ±":121041,"é¹Ī":121042,"渫":121043,"æ¹®":121044,"æ¹İ":121045,"æ¹ľ":121046,"æ¹į":121047,"湫":121048,"溲":121049,"æ¹Ł":121050,"æºĨ":121051,"æ¹²":121052,"æ¹Ķ":121053,"æ¹ī":121054,"渥":121055,"æ»ģ":121056,"æĦł":121057,"æĥº":121058,"æĦ¦":121059,"æĥ´":121060,"æĦĢ":121061,"æĦİ":121062,"æĦĶ":121063,"åĸ¾":121064,"å¯IJ":121065,"è°Ł":121066,"裢":121067,"è£İ":121068,"裥":121069,"祾":121070,"è°ł":121071,"è°¡":121072,"è°¥":121073,"è°§":121074,"åѱ":121075,"å¼¼":121076,"å·½":121077,"éªĺ":121078,"媪":121079,"å·¯":121080,"ç¿ļ":121081,"çļ´":121082,"éªĽ":121083,"ç¼Ĥ":121084,"ç¼ĥ":121085,"ç¼Ħ":121086,"å½ĺ":121087,"ç¼ĩ":121088,"ç¼Ī":121089,"ç¼Į":121090,"ç¼ij":121091,"ç¼Ĵ":121092,"ç¼Ĺ":121093,"飨":121094,"èĢ¢":121095,"çijģ":121096,"çijĹ":121097,"çijĦ":121098,"éģ¨":121099,"éªľ":121100,"飫":121101,"é«¡":121102,"塬":121103,"éĦ¢":121104,"è¶Ķ":121105,"è¶ij":121106,"æijħ":121107,"æijģ":121108,"èľĩ":121109,"æIJĭ":121110,"æIJª":121111,"æIJIJ":121112,"æIJĽ":121113,"æIJł":121114,"æijĪ":121115,"å½Ģ":121116,"æ¯Ĥ":121117,"æIJ¦":121118,"æIJ¡":121119,"èĵģ":121120,"æĪ¡":121121,"èĵį":121122,"éĦŀ":121123,"èĵIJ":121124,"èĵ¦":121125,"é¹ĭ":121126,"èĴ½":121127,"èĵĸ":121128,"èĵĬ":121129,"èĴ¯":121130,"èĵŁ":121131,"èĵij":121132,"èĴº":121133,"èĵł":121134,"èĴŁ":121135,"èĴ¡":121136,"èĴ¹":121137,"èĴ´":121138,"èĴĹ":121139,"èĵ¥":121140,"æ¥Ķ":121141,"æ¥Ĥ":121142,"æ¥Ŀ":121143,"楫":121144,"楸":121145,"椴":121146,"æ§Į":121147,"楯":121148,"çļĻ":121149,"æ¦Ī":121150,"æ§İ":121151,"æ¦ī":121152,"楦":121153,"楣":121154,"楹":121155,"椽":121156,"åī½":121157,"éħ©":121158,"èľĥ":121159,"ç¢Ľ":121160,"ç¢ĵ":121161,"硼":121162,"ç¢ī":121163,"ç¢ļ":121164,"ç¢ĩ":121165,"ç¢ľ":121166,"é¹Į":121167,"è¾ı":121168,"é¾ĥ":121169,"é¾ħ":121170,"訾":121171,"ç²²":121172,"çĿļ":121173,"åĹª":121174,"éŁª":121175,"åĹ·":121176,"åĹī":121177,"çĿ¨":121178,"çĿ¢":121179,"éĽİ":121180,"çĿ¥":121181,"åĹij":121182,"åĹ«":121183,"åŬ":121184,"åĹĶ":121185,"åĹĿ":121186,"æĪ¥":121187,"åĹĦ":121188,"çħ¦":121189,"æļĦ":121190,"éģ¢":121191,"æļĮ":121192,"è·¬":121193,"è·¶":121194,"è·¸":121195,"è·IJ":121196,"è·£":121197,"è·¹":121198,"èĽ¸":121199,"èľĬ":121200,"èľį":121201,"èľī":121202,"èľ£":121203,"çķ¹":121204,"èĽ¹":121205,"åĹ¥":121206,"åĹ²":121207,"åĹ³":121208,"åĹĮ":121209,"åĹį":121210,"åĹIJ":121211,"åŤ":121212,"åŵ":121213,"罨":121214,"åµĬ":121215,"åµ´":121216,"骰":121217,"éĶĹ":121218,"éĶĽ":121219,"éĶľ":121220,"éĶĿ":121221,"éĶŀ":121222,"éĶŁ":121223,"éĶ¢":121224,"é͍":121225,"éĶ©":121226,"éĶŃ":121227,"éͱ":121228,"éĽī":121229,"æ°²":121230,"çĬı":121231,"æŃĥ":121232,"ç¨ŀ":121233,"ç¨Ĺ":121234,"ç¨Ķ":121235,"çŃł":121236,"çŃ¢":121237,"çŃ®":121238,"çѲ":121239,"çīĴ":121240,"æķ«":121241,"å¾Ń":121242,"æĦĨ":121243,"èīĦ":121244,"è§İ":121245,"毹":121246,"è²Ĭ":121247,"è²ħ":121248,"è²ī":121249,"é¢Ķ":121250,"èħł":121251,"èħ©":121252,"èħ¼":121253,"èħŃ":121254,"èħ§":121255,"å¡į":121256,"媵":121257,"é²ħ":121258,"é²Ĩ":121259,"é²ĩ":121260,"é²Ī":121261,"é²ĭ":121262,"é²IJ":121263,"èĤĦ":121264,"é¹IJ":121265,"é£ķ":121266,"è§¥":121267,"éģĽ":121268,"é¦IJ":121269,"é¹ij":121270,"亶":121271,"çĺĥ":121272,"çű":121273,"çĹ¼":121274,"çĹ¿":121275,"çĺIJ":121276,"çĺģ":121277,"çĺĨ":121278,"éºĤ":121279,"æŃĨ":121280,"æĹĴ":121281,"éĺĸ":121282,"éĺĹ":121283,"ç¾§":121284,"è±¢":121285,"ç²³":121286,"çĮ·":121287,"çħ³":121288,"çħ¨":121289,"çħħ":121290,"çħĬ":121291,"çħ¸":121292,"çħº":121293,"æ»Ł":121294,"溱":121295,"æºĺ":121296,"æ¼Ń":121297,"滢":121298,"溥":121299,"溽":121300,"è£Ł":121301,"溻":121302,"溷":121303,"æ»Ĺ":121304,"滫":121305,"溴":121306,"æ»ı":121307,"æ»ĥ":121308,"滦":121309,"æºı":121310,"æ»Ĥ":121311,"æ»ĵ":121312,"æºŁ":121313,"滪":121314,"æĦ«":121315,"æħĬ":121316,"é²İ":121317,"éªŀ":121318,"çªł":121319,"窣":121320,"裱":121321,"裨":121322,"裾":121323,"裰":121324,"ç¦Ĭ":121325,"è°©":121326,"è°ª":121327,"媾":121328,"å««":121329,"媲":121330,"å«Ĵ":121331,"å«Ķ":121332,"媸":121333,"ç¼Ļ":121334,"ç¼ľ":121335,"ç¼Ľ":121336,"è¾Ķ":121337,"éªĿ":121338,"ç¼Ł":121339,"缡":121340,"ç¼¢":121341,"ç¼£":121342,"éªŁ":121343,"èĢ¥":121344,"çĴĪ":121345,"çijŃ":121346,"çįĴ":121347,"è§ı":121348,"æħĿ":121349,"å«ł":121350,"åıĨ":121351,"æij½":121352,"å¢ģ":121353,"æĴĤ":121354,"æijŀ":121355,"æĴĦ":121356,"ç¿¥":121357,"è¸ħ":121358,"æijŃ":121359,"å¢ī":121360,"å¢Ĵ":121361,"æ¦ĸ":121362,"綦":121363,"èĶ«":121364,"èĶ·":121365,"éĿº":121366,"éĿ¼":121367,"éŀħ":121368,"éĿ¿":121369,"çĶį":121370,"è͏":121371,"èĶŁ":121372,"èĶº":121373,"æĪ¬":121374,"èķĸ":121375,"èĶ»":121376,"èĵ¿":121377,"æĸ¡":121378,"é¹ķ":121379,"èĵ¼":121380,"æ¦Ľ":121381,"榧":121382,"榫":121383,"æ¦Ń":121384,"æ§Ķ":121385,"榱":121386,"æ§ģ":121387,"æ§ł":121388,"榷":121389,"åĥ°":121390,"éħ½":121391,"éħ¹":121392,"碡":121393,"碴":121394,"碣":121395,"碲":121396,"èĩ§":121397,"豨":121398,"殡":121399,"éľģ":121400,"èľļ":121401,"é¾ĩ":121402,"é¾Ī":121403,"äģ":121404,"äģĸ":121405,"çĿ½":121406,"åĺŀ":121407,"åĺĪ":121408,"åĺĮ":121409,"åĺģ":121410,"æļĿ":121411,"è¸Į":121412,"è¸ī":121413,"èľŀ":121414,"èľ¥":121415,"èľ®":121416,"èĿĪ":121417,"èľ´":121418,"èľ±":121419,"èľ©":121420,"èľ·":121421,"èľ¿":121422,"èŀĤ":121423,"èľ¢":121424,"åĺ¡":121425,"é¹Ĺ":121426,"åĺ£":121427,"åĺ¤":121428,"åĺļ":121429,"åĹ¾":121430,"åĺ§":121431,"ç½´":121432,"ç½±":121433,"å¹Ķ":121434,"å¶Ĥ":121435,"å¹Ľ":121436,"èµĻ":121437,"ç½Ĥ":121438,"骷":121439,"骶":121440,"é¹ĺ":121441,"éͲ":121442,"éĶ´":121443,"éͶ":121444,"éĶ·":121445,"é͏":121446,"é͵":121447,"éķĤ":121448,"çĬĴ":121449,"ç®IJ":121450,"箦":121451,"ç®§":121452,"箸":121453,"箬":121454,"ç®ħ":121455,"箪":121456,"箾":121457,"箢":121458,"ç®ĵ":121459,"åĥĸ":121460,"åĦĨ":121461,"åĥ³":121462,"åĥŃ":121463,"åĬģ":121464,"åĥ®":121465,"éŃĥ":121466,"éŃĨ":121467,"çĿ¾":121468,"èīĭ":121469,"éĦ±":121470,"èĨĪ":121471,"èĨij":121472,"é²ij":121473,"é²Ķ":121474,"é²ļ":121475,"é²Ľ":121476,"é²Ł":121477,"çįIJ":121478,"è§«":121479,"éĽĴ":121480,"夤":121481,"é¦ij":121482,"éĬ®":121483,"塾":121484,"çĺĮ":121485,"çĺĬ":121486,"çĺĺ":121487,"çĺĻ":121488,"æĹĸ":121489,"èĨĤ":121490,"éĺļ":121491,"éĦ¯":121492,"é²ŀ":121493,"粿":121494,"ç²¼":121495,"ç³ģ":121496,"æ§Ĭ":121497,"é¹ļ":121498,"çĨĺ":121499,"çĨ¥":121500,"æ½¢":121501,"æ¼ķ":121502,"滹":121503,"漯":121504,"æ¼¶":121505,"æ½ĭ":121506,"æ½´":121507,"漪":121508,"æ¼ī":121509,"漩":121510,"æ¾ī":121511,"æħµ":121512,"æIJ´":121513,"窨":121514,"寤":121515,"ç¶®":121516,"è°®":121517,"褡":121518,"è¤Ļ":121519,"è¤ĵ":121520,"è¤Ľ":121521,"è¤Ĭ":121522,"è°¯":121523,"è°°":121524,"è°²":121525,"å±£":121526,"é¹Ľ":121527,"嫱":121528,"å«ĸ":121529,"嫦":121530,"å«ļ":121531,"å«ĺ":121532,"é¼IJ":121533,"çŀĢ":121534,"é¹ľ":121535,"éªł":121536,"ç¼¥":121537,"缦":121538,"ç¼§":121539,"缨":121540,"骢":121541,"缫":121542,"è̦":121543,"ȩ̀":121544,"çĴľ":121545,"çĴİ":121546,"çĴģ":121547,"å¥Ń":121548,"髯":121549,"é««":121550,"æĴ·":121551,"æĴħ":121552,"èµŃ":121553,"æĴ¸":121554,"éĭĨ":121555,"æĴĻ":121556,"æĴº":121557,"å¢Ģ":121558,"èģ©":121559,"è§IJ":121560,"éŀij":121561,"èķĻ":121562,"éŀĴ":121563,"èķĪ":121564,"èķ¨":121565,"èķ¤":121566,"èķŀ":121567,"èķº":121568,"çŀ¢":121569,"èķĥ":121570,"èķ²":121571,"èµľ":121572,"æ§¿":121573,"樯":121574,"æ§Ń":121575,"æ¨Ĺ":121576,"æ¨ĺ":121577,"æ§²":121578,"éĨĮ":121579,"éĨħ":121580,"éĿ¥":121581,"éŃĩ":121582,"é¤į":121583,"ç£Ķ":121584,"ç£Ļ":121585,"éľĪ":121586,"è¾ĺ":121587,"é¾ī":121588,"é¾Ĭ":121589,"è§ij":121590,"çŀĮ":121591,"çŀĭ":121592,"çŀij":121593,"åĺŃ":121594,"åĻİ":121595,"å϶":121596,"é¢Ļ":121597,"æļ¹":121598,"åĻĺ":121599,"è¸Ķ":121600,"è¸Ŀ":121601,"è¸Ł":121602,"è¸Ĵ":121603,"踬":121604,"踮":121605,"踯":121606,"踺":121607,"è¸ŀ":121608,"èĿ½":121609,"èĿ¾":121610,"èĿ»":121611,"èĿ°":121612,"èĿ®":121613,"èŀĭ":121614,"èĿĵ":121615,"èĿ£":121616,"èĿ¼":121617,"åĺ¬":121618,"é¢ļ":121619,"åĻį":121620,"åĻĻ":121621,"åĻĮ":121622,"åĻĶ":121623,"é¢Ľ":121624,"å¹ŀ":121625,"幡":121626,"å¶Ļ":121627,"å¶Ŀ":121628,"骺":121629,"éķĬ":121630,"éķī":121631,"éķĮ":121632,"éķı":121633,"éķĴ":121634,"éķĵ":121635,"éķĶ":121636,"稷":121637,"ç®´":121638,"ç¯ij":121639,"ç¯ģ":121640,"ç¯Į":121641,"çīĸ":121642,"åĦĭ":121643,"èĻ¢":121644,"é¹ŀ":121645,"èĨĺ":121646,"é²ł":121647,"鲡":121648,"é²¢":121649,"é²£":121650,"é²¥":121651,"é²§":121652,"鲩":121653,"çįĹ":121654,"çįł":121655,"觯":121656,"é¦ĵ":121657,"é¦Ķ":121658,"麾":121659,"å»Ľ":121660,"çĺĽ":121661,"çĺ¼":121662,"çĺ¢":121663,"çĺł":121664,"é½ij":121665,"ç¾°":121666,"ð¥»":121667,"ð¥»Ĺ":121668,"ç³Į":121669,"ç³į":121670,"ç³ħ":121671,"çĨľ":121672,"çĨµ":121673,"æ¾į":121674,"æ¾Į":121675,"潸":121676,"潦":121677,"æ½²":121678,"éĭĪ":121679,"æ½Ł":121680,"潺":121681,"寮":121682,"窳":121683,"è°³":121684,"褴":121685,"è¤Ł":121686,"褫":121687,"è°µ":121688,"çĨ¨":121689,"屦":121690,"åĭ°":121691,"æĪ®":121692,"èĿ¥":121693,"缬":121694,"ç¼®":121695,"缯":121696,"骣":121697,"çķ¿":121698,"èĢ©":121699,"è̍":121700,"èĢª":121701,"çĴŁ":121702,"éĿĽ":121703,"çĴł":121704,"çĴĺ":121705,"èģ±":121706,"èŀ¯":121707,"é«»":121708,"é«Ń":121709,"髹":121710,"æĵĢ":121711,"çĶı":121712,"æĵŀ":121713,"縳":121714,"磬":121715,"é¢ŀ":121716,"èķ»":121717,"é¢Ł":121718,"èĸ¤":121719,"èĸ¨":121720,"æªł":121721,"èĸı":121722,"èĸ®":121723,"èĸľ":121724,"èĸħ":121725,"樾":121726,"æ©Ľ":121727,"æ©ĩ":121728,"樵":121729,"æªİ":121730,"橹":121731,"樽":121732,"樨":121733,"橼":121734,"墼":121735,"æ©IJ":121736,"ç¿®":121737,"éĨIJ":121738,"éĨį":121739,"éĨļ":121740,"磲":121741,"èµĿ":121742,"殪":121743,"éľı":121744,"éĮ¾":121745,"è¾ļ":121746,"éģ½":121747,"æ°ħ":121748,"çŀŁ":121749,"çŀł":121750,"çŀ°":121751,"åļĦ":121752,"åļĨ":121753,"åϤ":121754,"æļ¾":121755,"è¹Ģ":121756,"踵":121757,"踽":121758,"è¹ī":121759,"è¹ģ":121760,"èŀ¨":121761,"èŀĪ":121762,"èŀħ":121763,"èŀŃ":121764,"èŀł":121765,"èŀŁ":121766,"åϱ":121767,"åĻ«":121768,"åĻ»":121769,"åϼ":121770,"ç½¹":121771,"åľľ":121772,"ä¦":121773,"ä¦ĥ":121774,"éķĹ":121775,"éķĺ":121776,"éķļ":121777,"éķĽ":121778,"éķĿ":121779,"éķŀ":121780,"éķł":121781,"æ°ĩ":121782,"æ°Ĩ":121783,"ç©ij":121784,"ç¯Ŀ":121785,"篥":121786,"篦":121787,"篪":121788,"ç¯Ļ":121789,"çĽ¥":121790,"åĬĵ":121791,"翱":121792,"éŃī":121793,"éŃĪ":121794,"å¾¼":121795,"æŃĻ":121796,"èĨ¦":121797,"èĨĻ":121798,"é²®":121799,"é²±":121800,"é²³":121801,"é²´":121802,"é²µ":121803,"é²·":121804,"é²»":121805,"çį´":121806,"çįŃ":121807,"çį¬":121808,"éĤĤ":121809,"é¹§":121810,"廨":121811,"èµŁ":121812,"çĺ°":121813,"廪":121814,"çĺ¿":121815,"çĺµ":121816,"çĺ´":121817,"çĻĥ":121818,"çĺ³":121819,"éºĩ":121820,"éºĪ":121821,"嬴":121822,"å£ħ":121823,"ç³Ĺ":121824,"çĶij":121825,"çĩİ":121826,"çĩł":121827,"çĩĶ":121828,"çĩ§":121829,"æ¿ij":121830,"æ¿ī":121831,"æ½ŀ":121832,"æ¾§":121833,"æ¾¹":121834,"æ¾¥":121835,"æ¾¶":121836,"æ¿Ĥ":121837,"褰":121838,"窸":121839,"å¬ĸ":121840,"çĬŁ":121841,"éļ°":121842,"å¬Ĺ":121843,"颡":121844,"ç¼±":121845,"ç¼²":121846,"ç¼³":121847,"çĴ©":121848,"çĴª":121849,"èŀ«":121850,"æĵ¤":121851,"å£ķ":121852,"è§³":121853,"ç½Ħ":121854,"æĵ¢":121855,"èĸ¹":121856,"éŀ¡":121857,"éŀ¬":121858,"èĸ·":121859,"èĹĵ":121860,"èĹģ":121861,"æªĦ":121862,"檩":121863,"æĩĭ":121864,"éĨ¢":121865,"翳":121866,"ç¤ħ":121867,"磴":121868,"鹩":121869,"é¾ĭ":121870,"é¾Į":121871,"è±³":121872,"å£ij":121873,"é»»":121874,"åļı":121875,"åļħ":121876,"è¹ij":121877,"è¹Ĵ":121878,"è¹Ĭ":121879,"èŁ¥":121880,"èŀ¬":121881,"èŀµ":121882,"çĸĥ":121883,"èŀ³":121884,"èŁij":121885,"åļĵ":121886,"ç½½":121887,"ç½¾":121888,"å¶·":121889,"黾":121890,"é»Ŀ":121891,"é«ģ":121892,"é«Ģ":121893,"éķ¡":121894,"éķ¢":121895,"éķ£":121896,"éķ¦":121897,"éķ§":121898,"éķ©":121899,"éķª":121900,"éķ«":121901,"ç½ħ":121902,"ç°Į":121903,"篾":121904,"篼":121905,"ç°ĸ":121906,"ç°ĭ":121907,"é¼¢":121908,"åĦ¡":121909,"鹪":121910,"é¼¾":121911,"çļ¤":121912,"éŃį":121913,"é¾ł":121914,"ç¹ĩ":121915,"è²ĺ":121916,"éĤĪ":121917,"è²Ķ":121918,"èĩĮ":121919,"èĨ»":121920,"èĩĨ":121921,"èĩĥ":121922,"é²¼":121923,"é²½":121924,"é³Ģ":121925,"é³ĥ":121926,"é³ħ":121927,"é³ĩ":121928,"é³Ĭ":121929,"èŀ½":121930,"çĩ®":121931,"鹫":121932,"ç³ľ":121933,"縻":121934,"çĻį":121935,"éºĭ":121936,"æĩij":121937,"æ¿¡":121938,"æ¿®":121939,"æ¿ŀ":121940,"æ¿ł":121941,"濯":121942,"è¹ĩ":121943,"è¬ĩ":121944,"éĤĥ":121945,"è¥ģ":121946,"æªĹ":121947,"æĵĺ":121948,"åŃº":121949,"éļ³":121950,"嬷":121951,"èŁĬ":121952,"鹬":121953,"éįª":121954,"éıĬ":121955,"é¬Ī":121956,"é¬ĥ":121957,"çŀ½":121958,"éŀ¯":121959,"éŀ¨":121960,"éŀ«":121961,"éŀ§":121962,"éŀ£":121963,"èĹľ":121964,"èĹł":121965,"éĨª":121966,"è¹Ļ":121967,"ç¤ĵ":121968,"çĩ¹":121969,"餮":121970,"çŀ¿":121971,"æĽĽ":121972,"颢":121973,"èºĩ":121974,"è¹ļ":121975,"èŁĽ":121976,"èŁª":121977,"èŁł":121978,"èŁ®":121979,"é¹®":121980,"黳":121981,"黣":121982,"é«ħ":121983,"é«Ĥ":121984,"éķ¬":121985,"éķŃ":121986,"éķ¯":121987,"馥":121988,"ç°Ł":121989,"ç°ª":121990,"鼬":121991,"鼳":121992,"èīŁ":121993,"é³İ":121994,"é³ı":121995,"é³IJ":121996,"çĻŀ":121997,"çĻĶ":121998,"糨":121999,"蹩":122000,"éİı":122001,"éĤĭ":122002,"é¬ı":122003,"æĶī":122004,"éŀ²":122005,"éŀ´":122006,"èĹ¿":122007,"èĺ§":122008,"èĺħ":122009,"éĨ®":122010,"éĨ¯":122011,"éħĥ":122012,"éľª":122013,"éľŃ":122014,"龨":122015,"黼":122016,"åļ¯":122017,"è¹°":122018,"è¹¶":122019,"è¹½":122020,"è¹¼":122021,"è¹´":122022,"è¹¾":122023,"蹿":122024,"èłĸ":122025,"èłĵ":122026,"èŁ¾":122027,"èłĬ":122028,"黢":122029,"é«ĭ":122030,"é«Į":122031,"éķ²":122032,"ç±Ģ":122033,"é½ģ":122034,"éŃij":122035,"èī¨":122036,"é³ĵ":122037,"é³Ķ":122038,"é³ķ":122039,"é³Ĺ":122040,"é³Ļ":122041,"éıĸ":122042,"羸":122043,"ã¸Ĩ":122044,"çĢ£":122045,"çĢĽ":122046,"襦":122047,"è°¶":122048,"è¥ŀ":122049,"骥":122050,"ç¼µ":122051,"çĵĴ":122052,"æĶĺ":122053,"èĺ©":122054,"èĺĸ":122055,"éĨ´":122056,"éľ°":122057,"éħĨ":122058,"çŁį":122059,"èºħ":122060,"é¼į":122061,"å·ī":122062,"黩":122063,"黥":122064,"黪":122065,"éķ³":122066,"éķ´":122067,"é»§":122068,"çºĤ":122069,"çĴº":122070,"鼯":122071,"èĩľ":122072,"é³ľ":122073,"é³Ŀ":122074,"é³Ł":122075,"çį¾":122076,"åŃĢ":122077,"骧":122078,"çĵĺ":122079,"é¼Ļ":122080,"éĨº":122081,"礴":122082,"颦":122083,"æĽ©":122084,"é³¢":122085,"éºĿ":122086,"å¤Ķ":122087,"çĪĿ":122088,"çģı":122089,"禳":122090,"éIJ¾":122091,"ç¾¼":122092,"èł¡":122093,"è̱":122094,"é¹³":122095,"æ°į":122096,"é¥ķ":122097,"èºIJ":122098,"é«ij":122099,"éķµ":122100,"ç©°":122101,"é¥Ķ":122102,"鬻":122103,"鬣":122104,"è¶±":122105,"æĶ«":122106,"æĶ¥":122107,"颧":122108,"èºľ":122109,"é¼¹":122110,"çϝ":122111,"èł²":122112,"èł¹":122113,"èºŀ":122114,"è¡¢":122115,"çģŀ":122116,"襻":122117,"çºĽ":122118,"鬣":122119,"æĶ®":122120,"åĽĶ":122121,"é¦ķ":122122,"æĪĨ":122123,"ç΍":122124,"é½ī":122125,"äºį":122126,"å°¢":122127,"å½³":122128,"åį¬":122129,"殳":122130,"ðłĻ¶":122131,"æ¯Į":122132,"éĤĺ":122133,"æĪĭ":122134,"åľ¢":122135,"æ°ķ":122136,"ä¼ĭ":122137,"ä»Ŀ":122138,"åĨ®":122139,"æ°¿":122140,"æ±Ī":122141,"æ°¾":122142,"å¿ī":122143,"å®Ħ":122144,"ð¬£Ļ":122145,"è®±":122146,"æīŀ":122147,"åľ²":122148,"åľ«":122149,"èĬı":122150,"èĬĥ":122151,"æľ³":122152,"æľ¸":122153,"ð¨Ļ":122154,"ð¨Ļ¸":122155,"éĤ¨":122156,"åIJĴ":122157,"åIJĸ":122158,"å±¼":122159,"å±¾":122160,"辿":122161,"éĴĨ":122162,"仳":122163,"ä¼£":122164,"ä¼Ī":122165,"çĻ¿":122166,"çĶª":122167,"éĤł":122168,"çĬ´":122169,"åĨ±":122170,"éĤ¡":122171,"ð¬ĩķ":122172,"æ±ĭ":122173,"äľ":122174,"äľ£":122175,"è®»":122176,"ð¬£ŀ":122177,"åŃĸ":122178,"ð¬ĺĵ":122179,"纩":122180,"çİĴ":122181,"çİĵ":122182,"çİĺ":122183,"çİļ":122184,"åά":122185,"ð«ŃŁ":122186,"åĿľ":122187,"åĿī":122188,"æī½":122189,"ð«Ń¢":122190,"åĿĭ":122191,"æīº":122192,"ã§ij":122193,"æ¯IJ":122194,"èĬ°":122195,"èĬ£":122196,"èĭĬ":122197,"èĭī":122198,"èĬĺ":122199,"èĬ´":122200,"èĬł":122201,"ð«ĩ":122202,"ð«ĩŃ":122203,"èĬ¤":122204,"æĿķ":122205,"æĿĻ":122206,"æĿĦ":122207,"æĿ§":122208,"æĿ©":122209,"å°ª":122210,"å°¨":122211,"轪":122212,"ð«IJĦ":122213,"åĿĴ":122214,"èĬĪ":122215,"æĹ´":122216,"æĹµ":122217,"åijĻ":122218,"ãķ":122219,"ãķ®":122220,"å²į":122221,"ð«µ":122222,"𫵷":122223,"å²ł":122224,"å²ľ":122225,"åijĩ":122226,"åĨı":122227,"è§ĥ":122228,"å²Ļ":122229,"ä¼¾":122230,"ãijĩ":122231,"ä¼Ń":122232,"ä½ĸ":122233,"ä¼²":122234,"ä½ģ":122235,"é£ı":122236,"çĭĥ":122237,"éŶ":122238,"æ±§":122239,"汫":122240,"ð£²ĺ":122241,"ð£²Ĺ":122242,"æ²Ħ":122243,"æ²ĺ":122244,"ð¬ĩĻ":122245,"æ±Ń":122246,"ã³ĩ":122247,"æ²ĩ":122248,"å¿®":122249,"忳":122250,"忺":122251,"𬣡":122252,"ç¥ĥ":122253,"è¯ĩ":122254,"éĤ²":122255,"è¯İ":122256,"è¯IJ":122257,"å±ĥ":122258,"ð«¸":122259,"𫸩":122260,"å²Ĭ":122261,"éĺ½":122262,"䢺":122263,"éĺ¼":122264,"妧":122265,"å¦ĺ":122266,"ð¨ļ":122267,"ð¨ļķ":122268,"纮":122269,"驲":122270,"ð«ĺľ":122271,"纻":122272,"ð¬ĺĺ":122273,"ð«ĺĿ":122274,"纼":122275,"çݤ":122276,"çİŀ":122277,"çݱ":122278,"çİŁ":122279,"éĤ½":122280,"éĤ¿":122281,"åĿ¥":122282,"åĿ°":122283,"åĿ¬":122284,"åĿ½":122285,"å¼Ĩ":122286,"è̵":122287,"䢼":122288,"ð¦Ń":122289,"ð¦Ńľ":122290,"èĮĭ":122291,"èĭ§":122292,"èĭ¾":122293,"èĭł":122294,"æŀħ":122295,"ãŃİ":122296,"æŀĺ":122297,"æŀį":122298,"çŁ¼":122299,"磻":122300,"åĮ¼":122301,"ð¬¨Ĥ":122302,"ð¬Ģ©":122303,"ð¬Ģª":122304,"æĹ¿":122305,"æĺĦ":122306,"æĺĴ":122307,"æĺĪ":122308,"åĴī":122309,"åĴĩ":122310,"åĴį":122311,"å²µ":122312,"å²½":122313,"岨":122314,"å²ŀ":122315,"å³Ĥ":122316,"ãŁ":122317,"ãŁĥ":122318,"åĽ·":122319,"𬬩":122320,"éĴIJ":122321,"éĴĶ":122322,"éĴĸ":122323,"çī¥":122324,"ä½´":122325,"åŀĪ":122326,"ä¾ģ":122327,"ä¾¹":122328,"佸":122329,"佺":122330,"éļ¹":122331,"ãijĬ":122332,"ä¾Ĥ":122333,"ä½½":122334,"ä¾ĺ":122335,"éĥĪ":122336,"èĪł":122337,"éĥIJ":122338,"éĥĥ":122339,"æĶ½":122340,"èĤŃ":122341,"èĤ¸":122342,"èĤ·":122343,"çĭī":122344,"çĭĿ":122345,"饳":122346,"å¿ŀ":122347,"çĤĮ":122348,"çĤĨ":122349,"æ³Ļ":122350,"沺":122351,"æ³Ĥ":122352,"æ³ľ":122353,"æ³ĥ":122354,"æ³ĩ":122355,"æĢĬ":122356,"å³ĥ":122357,"穸":122358,"ç¥ĭ":122359,"ç¥Ĭ":122360,"ð«į£":122361,"𬣳":122362,"𬩽":122363,"鸤":122364,"å¼¢":122365,"弨":122366,"éĻij":122367,"𬮿":122368,"éĻİ":122369,"ð¬¯Ģ":122370,"åįº":122371,"乸":122372,"å¦Ń":122373,"å§Ī":122374,"ð«°":122375,"ð«°Ľ":122376,"迳":122377,"åıķ":122378,"𬳵":122379,"驵":122380,"𬳶":122381,"äĮ":122382,"äĮ¹":122383,"驺":122384,"ð«łĬ":122385,"ç»ĭ":122386,"ç»IJ":122387,"çłī":122388,"èĢĶ":122389,"ãĽĥ":122390,"çݶ":122391,"çıĩ":122392,"çıħ":122393,"ð¬įĽ":122394,"çıĭ":122395,"çݹ":122396,"çıĮ":122397,"çİ¿":122398,"飨":122399,"åŀļ":122400,"åŀ¯":122401,"åŀĻ":122402,"åŀ²":122403,"åŁı":122404,"åŀį":122405,"èĢĩ":122406,"é¿į":122407,"åŀİ":122408,"åŀ´":122409,"åŀŁ":122410,"åŀŀ":122411,"æĮĵ":122412,"åŀµ":122413,"åŀı":122414,"æĭ¶":122415,"èįĸ":122416,"èįģ":122417,"èįĻ":122418,"èįĽ":122419,"èĮĪ":122420,"èĮ½":122421,"èįĦ":122422,"èĮº":122423,"ð¬ľ¬":122424,"èįĵ":122425,"èĮ³":122426,"ð¦°":122427,"𦰡":122428,"èĮĽ":122429,"èįŃ":122430,"ãŃķ":122431,"æŁ·":122432,"æŁĥ":122433,"æŁĬ":122434,"æŀ¹":122435,"æłIJ":122436,"æŁĸ":122437,"éĥļ":122438,"åīħ":122439,"ä´ĵ":122440,"迺":122441,"åİĸ":122442,"çłĨ":122443,"çłij":122444,"çłĦ":122445,"èĢı":122446,"å¥ĵ":122447,"ä¶":122448,"ä¶®":122449,"è½µ":122450,"è½·":122451,"è½¹":122452,"轺":122453,"æĺº":122454,"ðª¾":122455,"𪾢":122456,"æĺ½":122457,"缷":122458,"åĴ¡":122459,"åĴº":122460,"æĺ³":122461,"æĺ£":122462,"æĺ¤":122463,"æĺ«":122464,"æĺ¡":122465,"åĴ¥":122466,"æĺª":122467,"èĻ·":122468,"èϏ":122469,"åĵĥ":122470,"å³ĺ":122471,"èĢij":122472,"å³Ľ":122473,"𪨰":122474,"å³Ĺ":122475,"å³§":122476,"帡":122477,"éĴĺ":122478,"ð«ĵ§":122479,"éĴľ":122480,"𬬮":122481,"𬬱":122482,"ð¬¬Ń":122483,"éĴª":122484,"éĴ¬":122485,"éĴŃ":122486,"磧":122487,"秬":122488,"ä¿«":122489,"èĪģ":122490,"ä¿ľ":122491,"ä¿Ļ":122492,"ä¿į":122493,"åŀķ":122494,"è¡İ":122495,"èĪ£":122496,"å¼ĩ":122497,"ä¾´":122498,"鸧":122499,"äı¡":122500,"èĥł":122501,"ð¦Ļ¶":122502,"èĥĪ":122503,"èĥ©":122504,"èĥ£":122505,"æľı":122506,"é£IJ":122507,"è¨Ħ":122508,"饻":122509,"庤":122510,"çĸ¢":122511,"çĤ£":122512,"çĤŁ":122513,"ã¶":122514,"ã¶²":122515,"æ´Ń":122516,"æ´ĺ":122517,"æ´ĵ":122518,"æ´¿":122519,"ã³ļ":122520,"æ³ļ":122521,"æµĪ":122522,"æµī":122523,"æ´¸":122524,"æ´ij":122525,"æ´¢":122526,"æ´Ī":122527,"æ´ļ":122528,"æ´º":122529,"æ´¨":122530,"æµIJ":122531,"ã³ĺ":122532,"æ´´":122533,"æ´£":122534,"æģĶ":122535,"宬":122536,"çªĢ":122537,"æīĤ":122538,"è¢Ĩ":122539,"ç¥ı":122540,"ç¥IJ":122541,"ç¥ķ":122542,"åıļ":122543,"éϧ":122544,"éĻŀ":122545,"å¨Ģ":122546,"å§ŀ":122547,"å§±":122548,"姤":122549,"å§¶":122550,"å§½":122551,"æŀ²":122552,"ç»ĸ":122553,"éªĥ":122554,"ð¬ĺ¡":122555,"𬳽":122556,"ð¬ĺ©":122557,"ð«Ħ§":122558,"å½ĸ":122559,"éªī":122560,"æģĿ":122561,"çıª":122562,"çıĽ":122563,"çı¹":122564,"çIJĬ":122565,"çݼ":122566,"çıĸ":122567,"ðªŁ":122568,"ðªŁĿ":122569,"çı½":122570,"çı¦":122571,"çı«":122572,"çıĴ":122573,"ð¬į¤":122574,"çı¢":122575,"çıķ":122576,"çıĿ":122577,"ð«Ń¼":122578,"åŁĹ":122579,"åŀ¾":122580,"åŀº":122581,"åŁĨ":122582,"åŀ¿":122583,"åŁĮ":122584,"åŁĩ":122585,"èݰ":122586,"èĮĿ":122587,"ð¬ľ¯":122588,"éĦĢ":122589,"èݶ":122590,"èİĿ":122591,"äĵĸ":122592,"èİĻ":122593,"æł»":122594,"æ¡ł":122595,"ð¬Ĥ":122596,"ð¬Ĥ©":122597,"æ¡Ħ":122598,"æ¢ł":122599,"æł´":122600,"梴":122601,"æłĴ":122602,"éħİ":122603,"éħı":122604,"ð«łĨ":122605,"çłµ":122606,"çłł":122607,"çł«":122608,"糬":122609,"ç¡ģ":122610,"æģ§":122611,"ç¿ĥ":122612,"éĥª":122613,"ð¨IJ":122614,"ð¨IJĪ":122615,"è¾Ģ":122616,"è¾ģ":122617,"ð¬Į":122618,"ð¬ĮĹ":122619,"åīķ":122620,"èµĢ":122621,"åĵ¢":122622,"æĻħ":122623,"æĻĬ":122624,"åĶĿ":122625,"åĵ³":122626,"åĵ±":122627,"åĨĶ":122628,"æĻĶ":122629,"æĻIJ":122630,"çķĸ":122631,"èļĦ":122632,"èļĨ":122633,"ð«ij":122634,"ð«ij¡":122635,"帱":122636,"å´ģ":122637,"峿":122638,"𪨶":122639,"å´Ħ":122640,"帨":122641,"å´Ģ":122642,"èµĨ":122643,"𬬸":122644,"éĴ·":122645,"𬬻":122646,"𬬹":122647,"𬬿":122648,"ð¬Ńģ":122649,"çľļ":122650,"çĶ¡":122651,"笫":122652,"åĢ»":122653,"åĢ´":122654,"èĦ©":122655,"åĢ®":122656,"åĢķ":122657,"åĢŀ":122658,"ð«¢":122659,"𫢸":122660,"åĢĵ":122661,"å̧":122662,"è¡ĥ":122663,"èĻĴ":122664,"èĪŃ":122665,"èΝ":122666,"èĪ¥":122667,"çĵŀ":122668,"鬯":122669,"鸰":122670,"èĦİ":122671,"æľĵ":122672,"èĥ²":122673,"èĻĵ":122674,"é±½":122675,"çĭ´":122676,"å³±":122677,"çĭ»":122678,"çľ¢":122679,"ð«Ĺ§":122680,"åĭį":122681,"çĹĦ":122682,"çĸ°":122683,"çĹĥ":122684,"ç«ĺ":122685,"ç¾ĸ":122686,"ç¾ĵ":122687,"æ¡Ĭ":122688,"æķī":122689,"çĥł":122690,"çĥĶ":122691,"çĥ¶":122692,"çĥ»":122693,"ð¬ĬĪ":122694,"æ¶į":122695,"浡":122696,"æµŃ":122697,"浬":122698,"æ¶Ħ":122699,"æ¶¢":122700,"æ¶IJ":122701,"æµ°":122702,"æµŁ":122703,"æµĽ":122704,"æµ¼":122705,"æµ²":122706,"æ¶ĺ":122707,"æĤĪ":122708,"æĤĥ":122709,"æĤ¢":122710,"ð¬ĴĪ":122711,"å®§":122712,"çªħ":122713,"çªĬ":122714,"çªİ":122715,"æīħ":122716,"æīĨ":122717,"袪":122718,"è¢Ĺ":122719,"袯":122720,"祧":122721,"éļº":122722,"åł²":122723,"çĸį":122724,"ð¨º":122725,"ð¨ºĻ":122726,"éĻ´":122727,"çĥĿ":122728,"çł®":122729,"ãĽļ":122730,"åĵ¿":122731,"ç¿Ģ":122732,"ç¿Ĥ":122733,"åīŁ":122734,"𬳿":122735,"ð«Ħ¨":122736,"绤":122737,"éªį":122738,"ð¬ĺ«":122739,"äĤ":122740,"äĤ®":122741,"çIJİ":122742,"çı¸":122743,"çıµ":122744,"çIJĦ":122745,"çIJĪ":122746,"çIJĢ":122747,"çıº":122748,"æİŃ":122749,"åłİ":122750,"åłIJ":122751,"åŁ¼":122752,"æİİ":122753,"åŁ«":122754,"åłĮ":122755,"æĻ¢":122756,"ð«®":122757,"ð«®ĥ":122758,"æİŀ":122759,"åŁª":122760,"壸":122761,"ãĻį":122762,"èģį":122763,"èıĿ":122764,"èIJļ":122765,"èı¥":122766,"èİ¿":122767,"äĵ«":122768,"åĭļ":122769,"äĵ¬":122770,"èIJĨ":122771,"èıĤ":122772,"èıį":122773,"èı¼":122774,"èIJ£":122775,"äĵ¨":122776,"èıī":122777,"äĵĽ":122778,"梼":122779,"梽":122780,"桲":122781,"梾":122782,"桯":122783,"梣":122784,"æ¢Į":122785,"桹":122786,"æķĶ":122787,"åİ£":122788,"ç¡Ķ":122789,"é¿İ":122790,"ç¡Ļ":122791,"ç¡ļ":122792,"ç¡Ĭ":122793,"ç¡į":122794,"åĭĶ":122795,"ä´ķ":122796,"é¾ģ":122797,"éĢ´":122798,"åĶª":122799,"åķ«":122800,"ç¿Ī":122801,"ã«":122802,"ã«°":122803,"æĻĻ":122804,"çķ¤":122805,"ð¬±ĸ":122806,"è¶¼":122807,"è·Ĥ":122808,"èĽĥ":122809,"èļ²":122810,"ð¬Ł½":122811,"èļº":122812,"åķ´":122813,"äİĥ":122814,"å´§":122815,"å´Ł":122816,"å´ŀ":122817,"å´Ĵ":122818,"å´Į":122819,"å´¡":122820,"éĵı":122821,"ð«ĵ¯":122822,"ð«Ł¹":122823,"éĵķ":122824,"ð«Ł¼":122825,"éĵĸ":122826,"éĵĺ":122827,"éĵļ":122828,"éĵŀ":122829,"éĵ¥":122830,"éĵ´":122831,"çī»":122832,"çī¿":122833,"ç¨Ĩ":122834,"笱":122835,"笯":122836,"åģ°":122837,"åģ¡":122838,"鸺":122839,"åģŃ":122840,"åģ²":122841,"åģģ":122842,"ã¿":122843,"ã¿ł":122844,"éĦħ":122845,"åģĵ":122846,"å¾Ľ":122847,"è¡Ĵ":122848,"èγ":122849,"èβ":122850,"鸼":122851,"æĤĨ":122852,"éĦĥ":122853,"çĵ»":122854,"äĿ":122855,"äĿĻ":122856,"èĦ¶":122857,"èĦŀ":122858,"èĦŁ":122859,"äı²":122860,"é±¾":122861,"çĮĩ":122862,"çĮĬ":122863,"çĮĦ":122864,"è§ĸ":122865,"ðłħ":122866,"ðłħ¤":122867,"庱":122868,"庼":122869,"庳":122870,"çĹĵ":122871,"ä´Ķ":122872,"ç««":122873,"åłĥ":122874,"éĺĮ":122875,"ç¾Ŀ":122876,"ç¾ķ":122877,"çĦĨ":122878,"çĥº":122879,"çĦĮ":122880,"æ·ı":122881,"ð¬ĩ¹":122882,"æ·Ł":122883,"æ·ľ":122884,"æ·´":122885,"æ·¯":122886,"æ¹´":122887,"æ¶´":122888,"ð¬į¡":122889,"ã¥":122890,"ã¥Ħ":122891,"æĥĽ":122892,"æĥĶ":122893,"æĤ°":122894,"æĥĻ":122895,"å¯ģ":122896,"éĢŃ":122897,"ð¬¤ĩ":122898,"ð«į¯":122899,"袼":122900,"è£Ī":122901,"祲":122902,"ð¬¤Ĭ":122903,"ð«į²":122904,"è°ŀ":122905,"èī´":122906,"弸":122907,"å¼¶":122908,"ð¬¯İ":122909,"éļĥ":122910,"å©ŀ":122911,"娵":122912,"婼":122913,"åªĸ":122914,"婳":122915,"å©į":122916,"å©Į":122917,"å©«":122918,"婤":122919,"å©ĺ":122920,"å©ł":122921,"ð¬ĺ¬":122922,"ð¬ĺŃ":122923,"ð¬´Ĥ":122924,"ð«ĺ¦":122925,"绹":122926,"ð«Łħ":122927,"ð¬ĺ¯":122928,"éªķ":122929,"ð«ĺ§":122930,"絾":122931,"çı·":122932,"çIJ²":122933,"çIJ¡":122934,"çIJŁ":122935,"çIJĶ":122936,"çIJŃ":122937,"åł¾":122938,"åł¼":122939,"æıķ":122940,"ãĻĺ":122941,"åł§":122942,"åĸĨ":122943,"åł¨":122944,"å¡ħ":122945,"åłł":122946,"çµ·":122947,"ðª£":122948,"𪣻":122949,"ð¡İ":122950,"ð¡İļ":122951,"èijľ":122952,"æĥİ":122953,"èIJ³":122954,"èijĻ":122955,"éĿ¬":122956,"èij´":122957,"èĴĩ":122958,"èĴĪ":122959,"éĦļ":122960,"èĴī":122961,"èĵĩ":122962,"èIJ©":122963,"èij°":122964,"èijİ":122965,"éĦij":122966,"èĴİ":122967,"èijĸ":122968,"èĴĦ":122969,"èIJ¹":122970,"棤":122971,"棽":122972,"棫":122973,"æ¤ĵ":122974,"æ¤ij":122975,"ð¬ĥ":122976,"ð¬ĥĬ":122977,"é¹Ģ":122978,"æ¤Ĩ":122979,"æ£ĵ":122980,"棬":122981,"棪":122982,"æ¤Ģ":122983,"æ¥Ĺ":122984,"ð¬·":122985,"ð¬·ķ":122986,"çͦ":122987,"éħ¦":122988,"è§Į":122989,"奡":122990,"çļķ":122991,"硪":122992,"欹":122993,"è©Ł":122994,"ð«IJIJ":122995,"è¾Į":122996,"æ£IJ":122997,"é¾Ĥ":122998,"ð¬¹":122999,"𬹼":123000,"黹":123001,"çīļ":123002,"çĿİ":123003,"æĻ«":123004,"æĻª":123005,"æĻ±":123006,"ð§":123007,"ð§¿":123008,"ð§¿¹":123009,"èĽij":123010,"çķ¯":123011,"æĸĿ":123012,"åĸ¤":123013,"å´¶":123014,"åµģ":123015,"ð«¶":123016,"ð«¶ĩ":123017,"å´¾":123018,"åµħ":123019,"å´¿":123020,"åµļ":123021,"ç¿Ļ":123022,"ð«ĸ®":123023,"åľĮ":123024,"åľIJ":123025,"èµij":123026,"èµĴ":123027,"é¿ı":123028,"éĵ¹":123029,"ð¬ŃĬ":123030,"éĵ½":123031,"ð¨±ĩ":123032,"ð«ĵ¶":123033,"éĶĬ":123034,"éĶį":123035,"éĶİ":123036,"ð¬Ńİ":123037,"éĶĵ":123038,"çĬĩ":123039,"é¢ĭ":123040,"ç¨Į":123041,"çŃĢ":123042,"çŃĺ":123043,"çŃľ":123044,"çŃ¥":123045,"çŃħ":123046,"åĤĥ":123047,"åĤī":123048,"ç¿Ľ":123049,"åĤĴ":123050,"åĤķ":123051,"èξ":123052,"çķ¬":123053,"ð«ĸ¯":123054,"èĦ¿":123055,"èħĺ":123056,"äIJ":123057,"äIJĥ":123058,"èħĻ":123059,"èħĴ":123060,"ð¬±Ł":123061,"é²ĥ":123062,"çĮ°":123063,"ð«Ľ":123064,"ð«ĽŃ":123065,"çĮ¯":123066,"ãº":123067,"ãºĦ":123068,"é¦ī":123069,"åĩĵ":123070,"éĦĹ":123071,"ð«·":123072,"ð«··":123073,"å»ĭ":123074,"å»Ĩ":123075,"éĦĮ":123076,"ç²¢":123077,"éģĨ":123078,"æĹIJ":123079,"𬮱":123080,"çĦŀ":123081,"ð¬Ĭ¤":123082,"欻":123083,"ð£¸":123084,"𣸣":123085,"æºļ":123086,"æºģ":123087,"æ¹Ŀ":123088,"渰":123089,"æ¹ĵ":123090,"ã´":123091,"ã´Ķ":123092,"æ¸Ł":123093,"æºł":123094,"渼":123095,"æºĩ":123096,"æ¹£":123097,"æ¹ij":123098,"æºŀ":123099,"æĦIJ":123100,"æĦĥ":123101,"æķ©":123102,"ç͝":123103,"棨":123104,"æīĬ":123105,"裣":123106,"祼":123107,"å©»":123108,"åªĨ":123109,"åªŀ":123110,"ãĽ¹":123111,"åªĵ":123112,"åªĤ":123113,"åªĦ":123114,"毵":123115,"çŁŀ":123116,"ð¬´ĥ":123117,"ð«ĺ¨":123118,"ç¼Ĭ":123119,"ç¼IJ":123120,"éªĻ":123121,"çijĥ":123122,"çijĵ":123123,"çijħ":123124,"çijĨ":123125,"ä´ĸ":123126,"çijĸ":123127,"çijĿ":123128,"çijĶ":123129,"çijĢ":123130,"ð¤§":123131,"ð¤§Ľ":123132,"çij³":123133,"çijĤ":123134,"å¶ħ":123135,"çijij":123136,"éģĺ":123137,"é«¢":123138,"å¡¥":123139,"åł½":123140,"赪":123141,"æijĽ":123142,"å¡Ŀ":123143,"æIJĴ":123144,"æIJĮ":123145,"èĴ±":123146,"èĴ¨":123147,"èĵı":123148,"èĶĢ":123149,"èĵ¢":123150,"èĵĤ":123151,"èĴ»":123152,"èĵ£":123153,"椹":123154,"楪":123155,"æ¦ĥ":123156,"æ¦ħ":123157,"æ¥Ĵ":123158,"楩":123159,"æ¦ĩ":123160,"椸":123161,"æ¥Ļ":123162,"æŃħ":123163,"ð¬ª":123164,"𬪩":123165,"ç¢ĥ":123166,"ç¢ı":123167,"ð¬ĴĶ":123168,"ç¢Ī":123169,"äĥħ":123170,"ç¡¿":123171,"éĦł":123172,"è¾Ĵ":123173,"ð¬¨İ":123174,"ð«IJĵ":123175,"é¾Ĩ":123176,"è§ľ":123177,"ä£":123178,"ä£ĺ":123179,"æļķ":123180,"é¹į":123181,"ð««":123182,"ð««ĩ":123183,"ã¬Ĭ":123184,"æļħ":123185,"è·±":123186,"èľIJ":123187,"èľİ":123188,"åµ²":123189,"èµĹ":123190,"骱":123191,"éĶĸ":123192,"ð«ĵ¹":123193,"éĶĺ":123194,"éͳ":123195,"éͧ":123196,"éĶª":123197,"ð¬Ńļ":123198,"éĶ«":123199,"éͬ":123200,"ð¬ŃĽ":123201,"ç¨ij":123202,"ç¨Ļ":123203,"äħ":123204,"äħŁ":123205,"ð¬ķ":123206,"ð¬ķĤ":123207,"çŃ»":123208,"çѼ":123209,"çѶ":123210,"çѦ":123211,"çѤ":123212,"åĤº":123213,"é¹İ":123214,"åĥĩ":123215,"èīħ":123216,"èīī":123217,"è°¼":123218,"è²Ĩ":123219,"èħ½":123220,"èħ¨":123221,"èħ¯":123222,"é²ī":123223,"é²Ĭ":123224,"é²Į":123225,"ä²Ł":123226,"ð¬¶ĭ":123227,"ð¬¶į":123228,"é²ı":123229,"éĽĬ":123230,"çĮº":123231,"é£Ķ":123232,"è§Ł":123233,"ð¦Ŀ¼":123234,"é¦Į":123235,"è£Ľ":123236,"å»Ĵ":123237,"çĺħ":123238,"éĦĺ":123239,"é¹Ĵ":123240,"éĦľ":123241,"éºĢ":123242,"éĦ£":123243,"éĺĺ":123244,"ð«Ķ¶":123245,"çħģ":123246,"çħĥ":123247,"çħ´":123248,"çħĭ":123249,"çħŁ":123250,"çħĵ":123251,"æ»ł":123252,"æºį":123253,"溹":123254,"æ»Ĩ":123255,"æ»ī":123256,"溦":123257,"溵":123258,"æ¼·":123259,"æ»§":123260,"æ»ĺ":123261,"æ»į":123262,"æĦŃ":123263,"æħ¥":123264,"æħĨ":123265,"塱":123266,"ð«ĮĢ":123267,"裼":123268,"ç¦ĭ":123269,"ç¦Ķ":123270,"ç¦ĺ":123271,"ç¦Ĵ":123272,"è°«":123273,"é¹Ķ":123274,"ð«ĸ³":123275,"æĦį":123276,"å«Ħ":123277,"媱":123278,"æĪ¤":123279,"åĭł":123280,"æĪ£":123281,"ð«ĺª":123282,"ð«ĺ¬":123283,"ç¼ŀ":123284,"è̤":123285,"çij§":123286,"ð«ŀ":123287,"ð«ŀ©":123288,"çij¨":123289,"çij±":123290,"çij·":123291,"çij¢":123292,"æĸł":123293,"æijı":123294,"å¢ķ":123295,"å¢Ī":123296,"å¢IJ":123297,"å¢ĺ":123298,"æij´":123299,"éĬİ":123300,"ð¡IJ":123301,"ð¡IJĵ":123302,"å¢ļ":123303,"æĴĸ":123304,"ðª¤":123305,"ðª¤Ĺ":123306,"éĿ½":123307,"éŀģ":123308,"èĶĮ":123309,"èĶĪ":123310,"èĵ°":123311,"è͹":123312,"èĶĬ":123313,"åĺı":123314,"榰":123315,"æ¦ij":123316,"æ§ļ":123317,"ð£Ĺ":123318,"ð£Ĺĭ":123319,"æ§ľ":123320,"æ¦į":123321,"çĸIJ":123322,"ð¬¸ĺ":123323,"éħº":123324,"éħ¾":123325,"éħ²":123326,"éħ´":123327,"碶":123328,"äĥİ":123329,"ð¬ĴĹ":123330,"碨":123331,"ð¥Ķ":123332,"ð¥Ķ²":123333,"碹":123334,"碥":123335,"åĬĤ":123336,"ð«ļĸ":123337,"ä´Ĺ":123338,"夥":123339,"çŀį":123340,"é¹ĸ":123341,"ã¬İ":123342,"è·½":123343,"èľ¾":123344,"å¹ĸ":123345,"å¶į":123346,"åľĻ":123347,"ð¨±ı":123348,"éĶº":123349,"éͼ":123350,"éͽ":123351,"ð¬Ń¤":123352,"é;":123353,"éĶ¿":123354,"éķĥ":123355,"éķĦ":123356,"éķħ":123357,"é¦Ŀ":123358,"é¹Ļ":123359,"箨":123360,"ç®ĸ":123361,"åĬĦ":123362,"åĥ¬":123363,"åĥ¦":123364,"åĥĶ":123365,"åĥİ":123366,"æ§ĥ":123367,"ãϦ":123368,"é²Ĵ":123369,"é²ķ":123370,"ð«ļķ":123371,"é²ĸ":123372,"é²Ĺ":123373,"é²ĺ":123374,"é²Ļ":123375,"ð¬¶IJ":123376,"ð¬¶ı":123377,"ð©½":123378,"𩽾":123379,"å¤IJ":123380,"çįį":123381,"é£Ĺ":123382,"ð¬¸ļ":123383,"åĩĺ":123384,"å»ij":123385,"å»Ļ":123386,"çĺĹ":123387,"çĺ¥":123388,"çĺķ":123389,"é²Ŀ":123390,"éĦ«":123391,"çĨĩ":123392,"æ¼¹":123393,"æ¼ĸ":123394,"æ½Ĩ":123395,"漤":123396,"潩":123397,"æ¼¼":123398,"æ¼´":123399,"ã½":123400,"ã½ı":123401,"æ¼Ī":123402,"æ¼ĭ":123403,"æ¼»":123404,"æħ¬":123405,"窬":123406,"çªŃ":123407,"ã®":123408,"㮾":123409,"ð¬¤Ŀ":123410,"è¤ķ":123411,"禼":123412,"ç¦ļ":123413,"éļ©":123414,"å«ķ":123415,"å«Ń":123416,"å«ľ":123417,"嫪":123418,"ð¬ĻĤ":123419,"ã»":123420,"㻬":123421,"麹":123422,"çĴĨ":123423,"漦":123424,"åıĩ":123425,"墣":123426,"墦":123427,"墡":123428,"åĬIJ":123429,"èĸģ":123430,"èķ°":123431,"èĶĥ":123432,"é¼Ĵ":123433,"æ§±":123434,"é¹Ŀ":123435,"ç£ı":123436,"ç£ī":123437,"殣":123438,"æħŃ":123439,"éľħ":123440,"æļµ":123441,"æļ²":123442,"æļ¶":123443,"踦":123444,"踣":123445,"äĹĸ":123446,"èĿĺ":123447,"èĿ²":123448,"èĿ¤":123449,"åĻĩ":123450,"åĻĤ":123451,"åĻĢ":123452,"ç½¶":123453,"å¶²":123454,"å¶ĵ":123455,"ãłĩ":123456,"å¶Ł":123457,"å¶Ĵ":123458,"éķĨ":123459,"éķĪ":123460,"éķĭ":123461,"éķİ":123462,"ð¬Ń©":123463,"éķķ":123464,"稹":123465,"åĦĩ":123466,"çļŀ":123467,"çļĽ":123468,"ä´ĺ":123469,"èīİ":123470,"èīı":123471,"é¹Ł":123472,"ð©¾ĥ":123473,"鲦":123474,"鲪":123475,"鲬":123476,"æ©¥":123477,"è§Ń":123478,"é¹ł":123479,"鹡":123480,"ç³ĩ":123481,"ç³Ī":123482,"翦":123483,"é¹¢":123484,"é¹£":123485,"çĨĽ":123486,"æ½ĸ":123487,"æ½µ":123488,"ãµ":123489,"ãµIJ":123490,"æ¾Ĥ":123491,"æ¾Ľ":123492,"çij¬":123493,"æ½½":123494,"æ½¾":123495,"æ½ı":123496,"æĨŃ":123497,"æĨķ":123498,"𬸣":123499,"æĪŃ":123500,"褯":123501,"禤":123502,"ð«į½":123503,"嫽":123504,"éģ¹":123505,"ð¬´Ĭ":123506,"çĴ¥":123507,"çĴ²":123508,"çĴĴ":123509,"æĨĻ":123510,"æĵIJ":123511,"éĦ¹":123512,"èĸ³":123513,"éŀĶ":123514,"é»ĩ":123515,"ð¬ŀ":123516,"ð¬ŀŁ":123517,"èķĹ":123518,"èĸ¢":123519,"èķ¹":123520,"æ©ŀ":123521,"æ©ij":123522,"橦":123523,"éĨij":123524,"è§±":123525,"磡":123526,"ð¥ķ":123527,"ð¥ķ¢":123528,"ç£ľ":123529,"è±®":123530,"ð«Ł¦":123531,"ð¬ºĪ":123532,"ð«łľ":123533,"é¹¾":123534,"èϤ":123535,"æļ¿":123536,"æĽĮ":123537,"æĽĪ":123538,"ã¬ļ":123539,"è¹ħ":123540,"踶":123541,"äĹĽ":123542,"èŀĹ":123543,"çĸģ":123544,"ãłĵ":123545,"幪":123546,"ðª©":123547,"ðª©ĺ":123548,"嶦":123549,"ð¬Ń¬":123550,"ð¨±ij":123551,"ð¬Ń¯":123552,"é¦ŀ":123553,"ç©Ħ":123554,"ç¯ļ":123555,"篯":123556,"ç°ī":123557,"é¼½":123558,"è¡ł":123559,"缦":123560,"èŀ£":123561,"縢":123562,"é²Ń":123563,"鲯":123564,"é²°":123565,"鲺":123566,"é²¹":123567,"ð«Ĺ´":123568,"亸":123569,"çĻĢ":123570,"çĺŃ":123571,"𬸦":123572,"ç¾±":123573,"ç³Ĵ":123574,"çĩĭ":123575,"çĨ»":123576,"çĩĬ":123577,"çĩļ":123578,"çĩı":123579,"æ¿©":123580,"æ¿ĭ":123581,"澪":123582,"æ¾½":123583,"æ¾´":123584,"æ¾Ń":123585,"æ¾¼":123586,"æĨ·":123587,"æĨº":123588,"æĩĶ":123589,"é»ī":123590,"å¬Ľ":123591,"鹨":123592,"翯":123593,"ð«Ħ·":123594,"çĴ±":123595,"𤩽":123596,"çĴ¬":123597,"çĴ®":123598,"髽":123599,"æĵ¿":123600,"èĸ¿":123601,"èĸ¸":123602,"æªij":123603,"æ«Ĩ":123604,"æªŀ":123605,"éĨ¨":123606,"ç¹Ħ":123607,"磹":123608,"磻":123609,"çŀ«":123610,"çŀµ":123611,"è¹IJ":123612,"èŁı":123613,"ãĺ":123614,"ãĺİ":123615,"ð¬Ń³":123616,"éķ¤":123617,"ð¬Ń¶":123618,"ð«Ķį":123619,"éķ¥":123620,"éķ¨":123621,"ð¬Ń¸":123622,"ð¨±Ķ":123623,"ð¬Ń¼":123624,"ð«Ķİ":123625,"磰":123626,"ç©Ļ":123627,"穾":123628,"穣":123629,"ç°ķ":123630,"ç°ĥ":123631,"ç°ı":123632,"åĦ¦":123633,"éŃĭ":123634,"æĸ¶":123635,"èīļ":123636,"𬸪":123637,"è°¿":123638,"ä²ł":123639,"ð¬¶Ł":123640,"é²¾":123641,"ð¬¶ł":123642,"鲿":123643,"é³ģ":123644,"é³Ĥ":123645,"é³Ī":123646,"é³ī":123647,"çį¯":123648,"äĹª":123649,"é¦ĺ":123650,"è¥ķ":123651,"è¥ļ":123652,"𬶨":123653,"èŀ±":123654,"çĶĵ":123655,"嬬":123656,"嬥":123657,"ð¦Ī":123658,"ð¦Ī¡":123659,"ð«Ħ¸":123660,"çĵĢ":123661,"éĩIJ":123662,"鬶":123663,"çĪĩ":123664,"éŀ³":123665,"éŀ®":123666,"ð¬Łģ":123667,"èĹŁ":123668,"èŦ":123669,"èŨ":123670,"é¹²":123671,"檫":123672,"黡":123673,"ç¤ŀ":123674,"ç¤Į":123675,"ð¥ĸ":123676,"ð¥ĸ¨":123677,"è¹¢":123678,"è¹ľ":123679,"èŁ«":123680,"äĹ´":123681,"åļļ":123682,"é«ĥ":123683,"éķ®":123684,"éķ±":123685,"éħĤ":123686,"馧":123687,"ç°ł":123688,"ç°Ŀ":123689,"ç°°":123690,"鼫":123691,"鼩":123692,"çļ¦":123693,"èĩij":123694,"ä²¢":123695,"é³ij":123696,"é³Ĵ":123697,"é¹±":123698,"鹯":123699,"çĻĹ":123700,"ð¦Ĵ":123701,"ð¦Ĵį":123702,"æĹŀ":123703,"ç¿·":123704,"åĨģ":123705,"äİĸ":123706,"çĢĶ":123707,"çĢį":123708,"çĢĮ":123709,"è¥ľ":123710,"ä´Ļ":123711,"ð¬ĻĬ":123712,"åļŃ":123713,"ã°":123714,"ã°Ģ":123715,"鬷":123716,"éĨŃ":123717,"蹯":123718,"èłĭ":123719,"翾":123720,"é³ĺ":123721,"åĦ³":123722,"åĦ´":123723,"é¼Ĺ":123724,"ð¬¶Ń":123725,"ð©¾Į":123726,"é³ļ":123727,"é³Ľ":123728,"éºij":123729,"éºĸ":123730,"èłĥ":123731,"å½Ł":123732,"嬿":123733,"é¬Ĵ":123734,"èĺĺ":123735,"æ¬Ĥ":123736,"éĨµ":123737,"颥":123738,"çĶĹ":123739,"ð¨Ł":123740,"ð¨Łł":123741,"å·ĩ":123742,"éħħ":123743,"é«İ":123744,"çĬ¨":123745,"𬶮":123746,"ð¨Ń":123747,"ð¨Ńī":123748,"ã¸Į":123749,"çĪĶ":123750,"ç̱":123751,"ç̹":123752,"ç̼":123753,"ç̵":123754,"襫":123755,"åŃħ":123756,"骦":123757,"ð¬Ļĭ":123758,"ḛ̀":123759,"ð¤«":123760,"ð¤«ī":123761,"çĵĸ":123762,"é¬ĺ":123763,"趯":123764,"ð¬ºĵ":123765,"ç½į":123766,"é¼±":123767,"é³ł":123768,"鳡":123769,"é³£":123770,"çĪŁ":123771,"çĪļ":123772,"çģĪ":123773,"éŁĤ":123774,"ç³µ":123775,"èĺ¼":123776,"礵":123777,"é¹´":123778,"èºĶ":123779,"çļŃ":123780,"é¾¢":123781,"鳤":123782,"亹":123783,"ç±¥":123784,"é¼·":123785,"ð«ļŃ":123786,"çİĥ":123787,"éĨ¾":123788,"é½ĩ":123789,"è§¿":123790,"èł¼":123791,"×§":123792,"פ":123793,"׼":123794,"×ķת":123795,"ס":123796,"×Ļ×Ŀ":123797,"צ":123798,"×Ĵ":123799,"×ĺ":123800,"×ķר":123801,"×Ŀ":123802,"×ķ׾":123803,"×ĸ":123804,"à¹Ĥ":123805,"ïº":123806,"ðŁį":123807,"ðŁIJ":123808,"×Ļר":123809,"ï»":123810,"ðŁij":123811,"ðĿIJ":123812,"ðŁı":123813,"ðŁĶ":123814,"ðŁĮ":123815,"ðŁİ":123816,"ðŁĵ":123817,"ף":123818,"ðĿij":123819,"×ķ×ĵ":123820,"ï¦":123821,"Ġ×ķ":123822,"×ķ×ij":123823,"à¸Ńà¸ĩ":123824,"ðĿĺ":123825,"×Ļת":123826,"ðĿķ":123827,"à¸Ĺีà¹Ī":123828,"ائ":123829,"ð٤":123830,"×ķף":123831,"رÙĬ":123832,"×Ļ׾":123833,"ระ":123834,"าย":123835,"ï¯":123836,"ï®":123837,"าม":123838,"âĩ":123839,"ðŁ¥":123840,"ïŃ":123841,"ðĿĻ":123842,"×ķ׳":123843,"á½":123844,"Ġ׼":123845,"ðŁļ":123846,"âļ":123847,"ï§":123848,"×ijר":123849,"×Ļ׳":123850,"á´":123851,"Ġ×Ĺ":123852,"á¼":123853,"ðĿĹ":123854,"Ġ×¢":123855,"×Ļ×Ķ":123856,"ãģ£ãģŁ":123857,"ãģĵãģ¨":123858,"á¸":123859,"ÙĬÙĨ":123860,"ãģªãģĦ":123861,"اع":123862,"ศ":123863,"à¹Īà¸ĩ":123864,"×Ļ×ĵ":123865,"×ŀש":123866,"áĪ":123867,"׳×Ļ":123868,"×Ļ×ij":123869,"ï¥":123870,"ðĿĵ":123871,"Ġ×Ļ":123872,"×ļ":123873,"ัà¸ĩ":123874,"âĵ":123875,"ï¤":123876,"ĠاÙĦØ£":123877,"าà¸ģ":123878,"à¹īà¸Ļ":123879,"à¹Ģร":123880,"×ķ×Ŀ":123881,"á¹":123882,"ึ":123883,"×Ļ×§":123884,"à¸ĭ":123885,"à¸Ħร":123886,"à¸ĺ":123887,"ัà¸ģ":123888,"ðŁķ":123889,"ÙĪÙĨ":123890,"à¸Ńย":123891,"âĬ":123892,"ðĿĴ":123893,"ĠاÙĦع":123894,"าà¸Ļ":123895,"×Ļף":123896,"ÙĦÙĬ":123897,"×Ļש":123898,"à¸Ľà¸£à¸°":123899,"à¹Ģà¸Ľ":123900,"Ġ׳":123901,"×ķס":123902,"à¸ł":123903,"ÙħÙĨ":123904,"×ķ×¢":123905,"×ķ×ŀ":123906,"âĮ":123907,"ð٧":123908,"à¹ĩà¸Ļ":123909,"à¸į":123910,"ãİ":123911,"áµ":123912,"ĠاÙĦس":123913,"×ķ×§":123914,"หล":123915,"ðŁĩ":123916,"âı":123917,"ð٦":123918,"Ġ×Ķ×ŀ":123919,"ÙĪØ§":123920,"Ġת":123921,"ר×IJ":123922,"à¸Ńà¸Ļ":123923,"ษ":123924,"à¹Īว":123925,"×ķצ":123926,"íĹ":123927,"ãĦ":123928,"ï¨":123929,"ï¹":123930,"âİ":123931,"ï²":123932,"ðĿļ":123933,"ðIJ":123934,"à¸Ħว":123935,"หà¸Ļ":123936,"Ġר":123937,"بÙĬ":123938,"รà¹Į":123939,"را":123940,"شر":123941,"×ķ×Ĺ":123942,"×ķפ":123943,"×ķש":123944,"×ķ×Ĵ":123945,"íĿ":123946,"âĽ":123947,"à¸ķิ":123948,"à¹Ģà¸ģ":123949,"ï³":123950,"ï±":123951,"à¸Ķà¹ī":123952,"ë¹":123953,"ï¬":123954,"á¿":123955,"ðŁĽ":123956,"ðĿĸ":123957,"à¹Īาà¸ĩ":123958,"ูà¹ī":123959,"Ġ×Ķ×IJ":123960,"ĠاÙĦØŃ":123961,"פר":123962,"ÙĪÙħ":123963,"à¹Ģล":123964,"íĸ":123965,"×Ļ×¢":123966,"ìĪ":123967,"íĵ":123968,"ðŁħ":123969,"áł":123970,"à¸Ħวาม":123971,"à¸Īะ":123972,"׳×Ķ":123973,"Ġ×§":123974,"à¸Ł":123975,"à¹īà¸ĩ":123976,"หม":123977,"تÙħ":123978,"׾×Ļ":123979,"ÙĬد":123980,"à¹Īà¸Ļ":123981,"×Ĺר":123982,"שר":123983,"à¹Ģà¸Ĺ":123984,"×ŀר":123985,"ëĸ":123986,"عÙĦ":123987,"×ŀ×¢":123988,"â²":123989,"׾×Ķ":123990,"Ġפ":123991,"à¸Ńà¸ģ":123992,"سÙĦ":123993,"×Ļ×ŀ":123994,"ÙĤÙĬ":123995,"íİ":123996,"تØŃ":123997,"×Ļס":123998,"×Ļ×Ĺ":123999,"íĽ":124000,"ï°":124001,"â½":124002,"áī":124003,"áĬ":124004,"á¨":124005,"Ùĩا":124006,"Ġ׾×Ķ":124007,"×ķ×IJ":124008,"Ùħا":124009,"à¹īà¸Ńà¸ĩ":124010,"رب":124011,"ĠاÙĦج":124012,"×ŀ×ĵ":124013,"ÙħÙĦ":124014,"تر":124015,"à¹Ģà¸Ķ":124016,"קר":124017,"íħ":124018,"ì¼":124019,"ê¿":124020,"ãĪ":124021,"áIJ":124022,"ðŁĹ":124023,"ê¦":124024,"áĭ":124025,"ðĿĶ":124026,"à¹Ģà¸Ľà¹ĩà¸Ļ":124027,"à¹ĥห":124028,"มา":124029,"วà¹Īา":124030,"มี":124031,"ีà¹ī":124032,"à¹Ħมà¹Ī":124033,"ÙĨÙĬ":124034,"ؤ":124035,"รา":124036,"×ķ×Ļ":124037,"ãĤĪãģĨ":124038,"ิà¸Ķ":124039,"×Ļפ":124040,"×Ĺ׾":124041,"ÙĤد":124042,"à¹Ģส":124043,"×Ļ×ĺ":124044,"à¸ģล":124045,"ר׼":124046,"×ķ׼":124047,"×Ļ׼":124048,"ëĪ":124049,"ëĥ":124050,"ðŁĸ":124051,"áħ":124052,"â¼":124053,"ãī":124054,"à¹Ħà¸Ķà¹ī":124055,"ת×Ļ":124056,"×Ļ×IJ":124057,"ĠاÙĦØ¥":124058,"à¸łà¸²":124059,"ริ":124060,"ÙĤØ©":124061,"ØŃد":124062,"ê»":124063,"ì±":124064,"ת×Ĺ":124065,"ìº":124066,"âĭ":124067,"áĦ":124068,"á¾":124069,"âµ":124070,"â¾":124071,"ĠÙĪØ§ÙĦ":124072,"׳×ķ":124073,"ÙĢ":124074,"ÙĬا":124075,"à¸ģà¹ĩ":124076,"×ŀ×Ķ":124077,"ãģĦãĤĭ":124078,"عد":124079,"ĠاÙĦÙĨ":124080,"Ġ×Ķש":124081,"ئ":124082,"ัà¹īà¸ĩ":124083,"รัà¸ļ":124084,"ÙĪÙĤ":124085,"ãģ§ãģį":124086,"à¹Ģà¸ŀ":124087,"׼׾":124088,"×ĺר":124089,"ัà¸Ķ":124090,"à¸Ńา":124091,"ì¢":124092,"à¸Ńà¸ļ":124093,"à¸ķร":124094,"à¹Ģà¸Ĭ":124095,"ìĶ":124096,"ãģĹãģ¾":124097,"ëģ":124098,"ëķ":124099,"ðŁĻ":124100,"âĴ":124101,"á¶":124102,"à¹ģล":124103,"ÙĨا":124104,"à¹ĥหà¹ī":124105,"à¹Ħà¸Ľ":124106,"×£":124107,"ัว":124108,"าà¸ĩ":124109,"×ĵר":124110,"×ij׾":124111,"פ×Ļ":124112,"Ġ×ĵ":124113,"ĠاÙĦÙģ":124114,"à¹Ģà¸Ĥ":124115,"ש×Ķ":124116,"×IJר":124117,"ë¬":124118,"ãģ«ãģª":124119,"ÑĢо":124120,"วิ":124121,"Ùħر":124122,"×IJת":124123,"Ùĥر":124124,"سب":124125,"ÙĨت":124126,"ãģĹãģĦ":124127,"اج":124128,"à¸Ńรà¹Į":124129,"ÙĥÙĦ":124130,"سÙħ":124131,"สิ":124132,"×Ļצ":124133,"ëĿ":124134,"íľ":124135,"ìī":124136,"áĨ":124137,"ÙĩÙħ":124138,"à¸Ļีà¹ī":124139,"ãģĤãĤĭ":124140,"ãģĦãģ¦":124141,"سÙĬ":124142,"׾×IJ":124143,"در":124144,"ãģļ":124145,"ÙĪØ¬":124146,"ĠاÙĦØ®":124147,"صر":124148,"íı":124149,"à¹īาà¸ĩ":124150,"ุà¸Ķ":124151,"×ķ×ĺ":124152,"×ij×¢":124153,"íĨ":124154,"à¸Ĭา":124155,"รม":124156,"ש×ŀ":124157,"×ŀס":124158,"ê´":124159,"ì´":124160,"ëľ":124161,"ì¿":124162,"ì©":124163,"ë»":124164,"â¤":124165,"ðŁĨ":124166,"áĮ":124167,"áķ":124168,"ذا":124169,"à¸Ĺำ":124170,"à¸ķà¹Ī":124171,"ĠاÙĦÙĤ":124172,"ÙĦÙĥ":124173,"ูà¹Ī":124174,"à¸Ħุ":124175,"ÙĬÙħ":124176,"׳×Ļ×Ŀ":124177,"ืà¹Īà¸Ń":124178,"ÙĪØ¹":124179,"ãĤĩ":124180,"اÙĤ":124181,"Ġ×ij×¢":124182,"à¹Ģม":124183,"جÙħ":124184,"ừ":124185,"ãģĵãģ¨ãģĮ":124186,"بد":124187,"×ķ×Ķ":124188,"ש׾":124189,"Ùĩر":124190,"à¹Ģà¸Ļ":124191,"ãģ¹":124192,"íĭ":124193,"ì»":124194,"ì½":124195,"ëŃ":124196,"ìĮ":124197,"íĢ":124198,"ëĮ":124199,"ëº":124200,"ãĬ":124201,"à¹ĥà¸Ļ":124202,"Ġ×Ĵ":124203,"à¹Ĩ":124204,"à¸Īาà¸ģ":124205,"วย":124206,"à¹ĥà¸Ĭ":124207,"à¸ĩาà¸Ļ":124208,"ĠاÙĦØ´":124209,"اØŃ":124210,"à¹īาà¸Ļ":124211,"ืà¹Īà¸Ńà¸ĩ":124212,"×IJ×Ļ":124213,"بÙĦ":124214,"ã썿ĢĿ":124215,"×ł×¡":124216,"ãģ¾ãģĽ":124217,"ÙĥÙĨ":124218,"ער":124219,"ĠاÙĦد":124220,"שת":124221,"íŀ":124222,"Ùħس":124223,"صÙĦ":124224,"×ķ׳×Ķ":124225,"ارة":124226,"ÙĦÙħ":124227,"สม":124228,"Ø£ÙĨ":124229,"תר":124230,"×IJ×ŀ":124231,"عب":124232,"خت":124233,"ãĤĥ":124234,"ì¡":124235,"ì£":124236,"ива":124237,"สั":124238,"ึà¸ģ":124239,"ì¸":124240,"ëĨ":124241,"алÑĮн":124242,"ì³":124243,"ìį":124244,"ê¼":124245,"ê½":124246,"ìı":124247,"ãĮ":124248,"ãı":124249,"ï©":124250,"êª":124251,"áİ":124252,"Ġ×ĸ":124253,"à¸ģัà¸Ļ":124254,"×Ļ×ķ":124255,"à¸Ħà¸Ļ":124256,"׳×ķת":124257,"à¸ľà¸¹à¹ī":124258,"à¹ĥà¸Ī":124259,"ãģĦãģŁ":124260,"Ù쨱":124261,"×ĺ×Ļ":124262,"צ×Ļ":124263,"ãĤĤãģ®":124264,"ĠاÙĦص":124265,"ãģ¾ãģĽãĤĵ":124266,"دة":124267,"×ij×Ļ":124268,"ĠاÙĦر":124269,"Ġ×ŀ×IJ":124270,"สำ":124271,"à¹Ģห":124272,"عر":124273,"ãģªãģı":124274,"à¸ģระ":124275,"×ij×ĵ":124276,"à¹Ģà¸Ī":124277,"×Ļ×ļ":124278,"×Ĺ×Ļ":124279,"ÙĬع":124280,"ש×ij":124281,"ÙĨØ©":124282,"ÙĪØ¶":124283,"ÙĦÙģ":124284,"ÙĢÙĢ":124285,"פע":124286,"íĪ":124287,"×ŀ×§":124288,"à¸IJ":124289,"ØŃØ©":124290,"اص":124291,"Ñĭва":124292,"à¸Ħม":124293,"วั":124294,"à¸Ľà¸¥":124295,"ìŁ":124296,"íļ":124297,"ë´":124298,"ëij":124299,"ëī":124300,"ëĩ":124301,"ì¨":124302,"ë±":124303,"ëİ":124304,"â¬":124305,"á¥":124306,"áĹ":124307,"áĽ":124308,"áį":124309,"Å©":124310,"à¸Ķี":124311,"ôi":124312,"Ġס":124313,"׾×ķ":124314,"á»Ŀi":124315,"à¸Ħุà¸ĵ":124316,"ây":124317,"à¸Ļา":124318,"×Ĺ×ĵ":124319,"×ĵ×Ļ":124320,"หา":124321,"جÙĦ":124322,"à¹Ģว":124323,"ãĤĩãģĨ":124324,"ÙħØ©":124325,"ĠاÙĦÙĥ":124326,"Ġ×Ķ×¢":124327,"جر":124328,"×ĸר":124329,"اط":124330,"×Ľ×ª":124331,"×ķ׳×Ļ×Ŀ":124332,"ØŃÙħ":124333,"ê¶":124334,"رÙĥ":124335,"Ġ×ľ×¢":124336,"×ķ×ĸ":124337,"สร":124338,"צ׾":124339,"Ø¢":124340,"است":124341,"à¹Īม":124342,"خر":124343,"צע":124344,"×Ļר×ķת":124345,"ادة":124346,"شار":124347,"×ŀ×Ĺ":124348,"íĴ":124349,"à¹Ģรีย":124350,"×Ĺ×§":124351,"اث":124352,"รà¸ĩ":124353,"à¹Ģà¸ķ":124354,"à¸Īำ":124355,"à¸Ŀ":124356,"à¹Īาย":124357,"à¸Ħล":124358,"ÙĤÙĪ":124359,"иÑĩеÑģк":124360,"à¸ĵà¹Į":124361,"ัย":124362,"Ùħع":124363,"ë¨":124364,"ë¿":124365,"ë®":124366,"ï´":124367,"ì¥":124368,"ì«":124369,"ëµ":124370,"á¡":124371,"âį":124372,"ðĵ":124373,"â°":124374,"à¸Ĥà¸Ńà¸ĩ":124375,"Ùĭ":124376,"à¸ģัà¸ļ":124377,"ãģ®ãģ§":124378,"à¹īว":124379,"à¸Ńยà¹Īาà¸ĩ":124380,"ãģŃ":124381,"á»ĩt":124382,"à¸ķà¹īà¸Ńà¸ĩ":124383,"×ŀ×Ļ":124384,"à¹ģà¸ļ":124385,"×Ĵר":124386,"ÙĪÙģ":124387,"ÙĤÙĦ":124388,"à¸łà¸²à¸ŀ":124389,"ר×Ļ":124390,"ลา":124391,"ÙĬس":124392,"Ġצ":124393,"ÙĬÙģ":124394,"Ġ×ĺ":124395,"à¸ľà¸¥":124396,"áng":124397,"รว":124398,"Ġ×ŀש":124399,"×IJ×ķת":124400,"×ĸ×Ķ":124401,"ูà¸ģ":124402,"à¸Ļัà¸ģ":124403,"اÙĨÙĬ":124404,"دا":124405,"ãģ³":124406,"׼ף":124407,"ãĤīãĤĮ":124408,"ãĤĮãģ°":124409,"תק":124410,"úc":124411,"ÙĪØ²":124412,"×Ļר×Ķ":124413,"Ġngh":124414,"ánh":124415,"Ġ×ķ×IJ":124416,"á»ħ":124417,"สุà¸Ķ":124418,"ëį°":124419,"اض":124420,"اÙĦÙĬ":124421,"بار":124422,"عÙħ":124423,"à¸ļา":124424,"تج":124425,"à¸ŀร":124426,"×ķר×Ķ":124427,"ảng":124428,"Ø®ÙĦ":124429,"à¸ī":124430,"ắc":124431,"ש×Ļ×Ŀ":124432,"íĶ":124433,"Ù쨳":124434,"×Ļ×Ĵ":124435,"пÑĢ":124436,"ĠاÙĦØ«":124437,"سط":124438,"รูà¹ī":124439,"ีà¹Īย":124440,"à¸Ńà¸Ķ":124441,"ãģªãĤĬ":124442,"×Ĵ×ĵ":124443,"ãģĦãģ¾ãģĹãģŁ":124444,"סק":124445,"خص":124446,"laÅŁ":124447,"енно":124448,"بØŃ":124449,"สà¸Ļ":124450,"ฮ":124451,"ר×IJש":124452,"ÙħÙĪ":124453,"دÙĬد":124454,"ษา":124455,"×ķ×ļ":124456,"ãĥ§ãĥ³":124457,"à¸ķุ":124458,"Ġêµ":124459,"ĠÑģво":124460,"צ×ij":124461,"à¸Ńม":124462,"à¸Ľà¸£":124463,"تع":124464,"×Ķת":124465,"اÙħÙĦ":124466,"×ŀ׳":124467,"ç¶ļ":124468,"ฤ":124469,"íį":124470,"ëĺ":124471,"ë¤":124472,"ìij":124473,"â´":124474,"ãĭ":124475,"ĠباÙĦ":124476,"á»ģu":124477,"ĠاÙĦÙĦ":124478,"à¸ķัว":124479,"ذÙĩ":124480,"ึà¸ĩ":124481,"à¹ĥà¸Ĭà¹ī":124482,"á»ĵng":124483,"à¸Ļั":124484,"มาà¸ģ":124485,"ãĥŁ":124486,"×ŀ×ķ":124487,"à¸Ĺย":124488,"á»Ļi":124489,"ằ":124490,"ảo":124491,"à¹Ĥà¸Ķ":124492,"×IJ׾":124493,"สาม":124494,"ÙĪØ¨":124495,"à¸Ĺุ":124496,"ยัà¸ĩ":124497,"עת":124498,"×ķ׳×ķת":124499,"à¸Ĥึ":124500,"à¸Ĥึà¹īà¸Ļ":124501,"à¸ģà¹Ī":124502,"ẫ":124503,"á»ijc":124504,"ãģĹãĤĩãģĨ":124505,"á»ĭch":124506,"Ġ×IJ×ķת":124507,"Ġש×IJ":124508,"׼×ķ׾":124509,"á»Ļc":124510,"عة":124511,"à¸Ĺี":124512,"à¹Ģà¸Ń":124513,"Ùĥت":124514,"ãģ»":124515,"ẻ":124516,"ìĹħ":124517,"à¸Ńà¸Ńà¸ģ":124518,"اÙĨت":124519,"à¹Ħร":124520,"Ġ×IJ×Ĺר":124521,"طر":124522,"ÙĨد":124523,"ืà¹īà¸Ń":124524,"Ø·ÙĦ":124525,"×IJ×Ķ":124526,"uyên":124527,"íĸī":124528,"×ij×Ķ":124529,"à¸Ħà¹Ī":124530,"à¸Ĭà¹Īว":124531,"ãģĤãĤĬãģ¾ãģĻ":124532,"ÙĬب":124533,"ק׾":124534,"ãĥĻ":124535,"Ä©":124536,"سر":124537,"าว":124538,"ãĤ±":124539,"à¸ļริ":124540,"ר×Ĵ":124541,"á»ĥu":124542,"ØŃت":124543,"×ķ×ŀ×Ļ":124544,"بÙĨ":124545,"êµIJ":124546,"ÄŁu":124547,"ãģªãĤĵ":124548,"×ij×§":124549,"Ġפר":124550,"ắn":124551,"ØŃÙĦ":124552,"×ij×Ĺ":124553,"ấu":124554,"×ij×ķ×ĵ":124555,"ãĥ¯":124556,"Ġ׾ק":124557,"ัà¸į":124558,"à¸ŀิ":124559,"×Ĺ×Ķ":124560,"×ĸ׼":124561,"ãĥ¼ãĥł":124562,"ÑĤелÑĮ":124563,"×ŀ×Ļ×ĵ":124564,"ÙĬØ®":124565,"ẳ":124566,"تص":124567,"à¸ĺิ":124568,"è¾¼":124569,"ìĵ":124570,"ÙĥØ©":124571,"ÙĤب":124572,"à¸Ħà¹Į":124573,"à¹īาย":124574,"à¸ĵะ":124575,"าะ":124576,"ëĴ":124577,"ê¾":124578,"ë·":124579,"ìĩ":124580,"êº":124581,"ìģ":124582,"ëĢ":124583,"ì¾":124584,"ë½":124585,"ëļ":124586,"ìŃ":124587,"ìİ":124588,"áij":124589,"ëĹ":124590,"êĴ":124591,"à¡":124592,"à¬":124593,"ðIJĮ":124594,"ãĩ":124595,"ðĿĦ":124596,"Ġ׾×IJ":124597,"ãģ¨ãģĦãģĨ":124598,"Ġnhi":124599,"×Ļ×ķת":124600,"Ġש×Ķ":124601,"à¹ģลà¹īว":124602,"Æ°á»Ľc":124603,"à¸Ķà¹īวย":124604,"à¸Ĺาà¸ĩ":124605,"×ł×ª":124606,"פת":124607,"à¹ģà¸ķà¹Ī":124608,"ưng":124609,"à¸Ńยูà¹Ī":124610,"à¹īำ":124611,"Ġ×IJ׾":124612,"ÙĥÙħ":124613,"ấp":124614,"ลà¸ĩ":124615,"ãģŁãĤģ":124616,"×Ĵ׾":124617,"หร":124618,"ĠÑĢе":124619,"à¹Ģà¸Ĥà¹īา":124620,"ÙĤر":124621,"Ġ×Ķס":124622,"ÙĪÙĬ":124623,"สามาร":124624,"สามารà¸ĸ":124625,"Äĥn":124626,"à¸Ńี":124627,"פ×ķ":124628,"×Ļ׳×ķ":124629,"วัà¸Ļ":124630,"ặc":124631,"íķĻ":124632,"×ŀת":124633,"êu":124634,"ẹ":124635,"ÙģÙĬ":124636,"×ŀצ":124637,"à¸Ħา":124638,"ãģĿãģĨ":124639,"ãĢħ":124640,"از":124641,"اÙĩ":124642,"ר×Ļ×Ŀ":124643,"ấn":124644,"หาร":124645,"ạt":124646,"ÙĨÙĩ":124647,"à¹Ģà¸Ħร":124648,"جÙĩ":124649,"׼×Ļ":124650,"ắt":124651,"à¸Ħà¹īา":124652,"رة":124653,"ãĥı":124654,"ÙĥÙĪÙĨ":124655,"ứng":124656,"Ġìļ°":124657,"ยà¹Į":124658,"à¹Īวà¸Ļ":124659,"à¸ģำ":124660,"ثر":124661,"Ñģи":124662,"ĠاÙĦØ·":124663,"Ġ×Ķצ":124664,"ĠØ·":124665,"ĠاÙĦÙĪ":124666,"ê¹Į":124667,"ØŃÙĬ":124668,"ارات":124669,"à¹Ģà¸ĭ":124670,"با":124671,"гÑĢ":124672,"รี":124673,"ืà¸Ńà¸Ļ":124674,"عت":124675,"ÙĤاÙĦ":124676,"دÙħ":124677,"Ø¡":124678,"Ġ×ŀ×§":124679,"×ĵ×Ļ×Ŀ":124680,"×¢×ľ":124681,"ãģĴ":124682,"ëĭĺ":124683,"×¢×Ķ":124684,"Ġìĸ´":124685,"ÑģÑĮ":124686,"ÙĤØ·":124687,"ãĥĽ":124688,"èĢĥãģĪ":124689,"à¹ģà¸Ļ":124690,"ÙĪØ§Øª":124691,"âu":124692,"ĠìĤ¬ëŀ":124693,"หว":124694,"ĠاÙĦØ£Ùħ":124695,"Ġ×Ķ×ŀש":124696,"بÙĪ":124697,"à¸Ĭà¸Ļ":124698,"ãĤĵãģ§ãģĻ":124699,"วà¸Ļ":124700,"à¸ģรรม":124701,"×ŀ×ķ×ĵ":124702,"ÙĥاÙĨ":124703,"×ķ×£":124704,"олог":124705,"تÙĨ":124706,"à¸ķà¹Į":124707,"ê²ĥ":124708,"ר×ĺ":124709,"ừng":124710,"×ķ×ij×Ķ":124711,"ÙħØŃ":124712,"ĠЧ":124713,"פ×Ĵ":124714,"สà¸ĸ":124715,"ãģĭãĤĬ":124716,"ınız":124717,"à¹Ģย":124718,"ãĥ¼ãĥ³":124719,"ãģĬãĤĬ":124720,"פש":124721,"ิà¸ķ":124722,"Ø·ÙĨ":124723,"×Ļת×Ļ":124724,"×IJ׳":124725,"çek":124726,"ìª":124727,"×ŀ×ij":124728,"ศา":124729,"ãĤ¹ãĤ¿":124730,"à¸ļุ":124731,"×ĵ×ijר":124732,"ãģĦãģı":124733,"สะ":124734,"à¹Ģหล":124735,"ิà¸ĩ":124736,"à¸ŀัà¸Ļ":124737,"ãģĦãģŁãģł":124738,"ãĤĤãĤī":124739,"à¹īม":124740,"ãģĵãģ¨ãģĮãģ§ãģį":124741,"ารà¹Į":124742,"ุà¸ĩ":124743,"íij":124744,"ì¯":124745,"ë¼":124746,"íĤ":124747,"ì·":124748,"ê¡":124749,"áı":124750,"áĴ":124751,"ðĿľ":124752,"á©":124753,"ðŁĦ":124754,"ðIJ¤":124755,"Ġש׾":124756,"Ġ×ŀ×Ķ":124757,"à¹ģละ":124758,"Ġ׼׾":124759,"ẽ":124760,"á»Ļng":124761,"ذÙĬ":124762,"ле":124763,"×¥":124764,"ãģªãģ©":124765,"ĠÙĪØ£":124766,"หà¸Ļà¹īา":124767,"ãģ¾ãģ§":124768,"à¸ķà¹Īà¸Ń":124769,"à¸Ĺัà¹īà¸ĩ":124770,"ãģłãģij":124771,"à¹ģà¸ļà¸ļ":124772,"à¹Ģรา":124773,"פ׾":124774,"ãģŁãģĦ":124775,"à¹Ģลย":124776,"ãģ£ãģ¦ãģĦãĤĭ":124777,"ếp":124778,"ึà¹Īà¸ĩ":124779,"ê´Ģ":124780,"ê³Ħ":124781,"׼×ķ":124782,"à¹Ģรืà¹Īà¸Ńà¸ĩ":124783,"×§×Ļ":124784,"êµŃ":124785,"פס":124786,"تÙĬ":124787,"ãĥĦ":124788,"Ġ×Ķ×Ĺ":124789,"ги":124790,"ר×IJ׾":124791,"×ŀ׾":124792,"ĠØ£ÙĬ":124793,"ĠعÙĦÙĬ":124794,"ãģĭãģ£ãģŁ":124795,"ש×Ļ":124796,"дÑĥ":124797,"×ŀף":124798,"׳×ĺ":124799,"׳×Ļת":124800,"miÅŁ":124801,"׼×Ŀ":124802,"Ġ×ijר":124803,"Ġ׾×ij":124804,"ĠÐĽ":124805,"çe":124806,"×ķ׳×Ļ":124807,"ãĤĪãģĨãģ«":124808,"פ×ķר":124809,"ãĥį":124810,"ÙĥÙĬ":124811,"×Ĺת":124812,"ÙģÙĦ":124813,"Ġ×Ķ×§":124814,"Ġ×Ķ×ij":124815,"Ġ×ŀס":124816,"à¹Īาà¸Ļ":124817,"пеÑĢ":124818,"à¹Īาว":124819,"Ġ×ij×IJ":124820,"ĠÙĪÙĩ":124821,"à¸Ļำ":124822,"Ġ×ijש":124823,"׳ק":124824,"ãģ©ãģĨ":124825,"ש×ķת":124826,"×ĵ×Ķ":124827,"à¹Ģà¸ļ":124828,"ÙĨس":124829,"Ġìļ°ë¦¬":124830,"สà¹Īวà¸Ļ":124831,"ลัà¸ĩ":124832,"جز":124833,"Ġ×Ĺ×Ļ":124834,"Ùĥثر":124835,"ละ":124836,"Ùĩد":124837,"ĠÙĪØ¨":124838,"اÙĦÙħ":124839,"à¹ģม":124840,"Æ¡i":124841,"Ġ×ij×Ĺ":124842,"ữa":124843,"à¹Ģà¸Ĺศ":124844,"à¸ķัà¹īà¸ĩ":124845,"огда":124846,"׾ק":124847,"دد":124848,"สรà¹īาà¸ĩ":124849,"à¸Ĭี":124850,"Ù쨶":124851,"à¹ģห":124852,"uyá»ĩn":124853,"รัà¸ģ":124854,"á»ĩm":124855,"สา":124856,"פק":124857,"ียà¸ĩ":124858,"à¸ķà¹Īาà¸ĩ":124859,"à¸Ħรัà¹īà¸ĩ":124860,"ØŃÙĤ":124861,"à¹Ģà¸Ńà¸ĩ":124862,"ائÙĬ":124863,"×ĺ×¢":124864,"اÙĦØ©":124865,"ิà¹Īม":124866,"ãĤ½":124867,"دÙī":124868,"Ġר×IJ":124869,"ãģ£ãģ¨":124870,"ãĥĥãĥĹ":124871,"ÙĬرة":124872,"ê±´":124873,"×ŀ×IJ":124874,"×ķ×ķ":124875,"بع":124876,"ãģ²":124877,"ราย":124878,"×ĵ×Ŀ":124879,"تÙģ":124880,"à¸ķà¸ģ":124881,"ạng":124882,"ãĤĴè¦ĭ":124883,"à¸Ĭั":124884,"Æ°á»Ł":124885,"Æ°á»Łng":124886,"جب":124887,"×ķ×ŀר":124888,"ĠìĤ¬ëŀĮ":124889,"óng":124890,"รั":124891,"Ġ×Ķ×ĸ":124892,"רצ":124893,"Ġ×Ĺ×ĵ":124894,"ذÙĦÙĥ":124895,"×ķר×Ļ":124896,"ãģ¡ãĤĥ":124897,"Ù쨹":124898,"Ġ׾צ":124899,"ái":124900,"à¹ĩà¸ļ":124901,"ãģİ":124902,"à¸ģิ":124903,"ạc":124904,"ë©°":124905,"ãģªãĤĭ":124906,"×ķ׾×Ŀ":124907,"à¹ģà¸Ĺ":124908,"×ķ×¥":124909,"меÑĤ":124910,"Ã¼ÅŁ":124911,"ÑĢÑı":124912,"à¸Ĵ":124913,"ÑģÑĤоÑı":124914,"عÙĪØ¯":124915,"Ùħار":124916,"طة":124917,"à¸ŀื":124918,"кÑĢ":124919,"à¹ģà¸ģ":124920,"à¹Ĥรà¸ĩ":124921,"×ij×Ļ×ĺ":124922,"ê²ł":124923,"×ķ׾×Ķ":124924,"ØŃر":124925,"ืà¹Īà¸Ńà¸Ļ":124926,"×ķ×ijר":124927,"×Ĺש":124928,"ãĥķãĤ¡":124929,"×ŀ×ĺ":124930,"út":124931,"Ġdön":124932,"ắng":124933,"ëłĩ":124934,"ẳng":124935,"วà¸ģ":124936,"صد":124937,"خط":124938,"à¸Ńั":124939,"ãĤıãĤĮ":124940,"سÙĦاÙħ":124941,"à¹Ģรà¹ĩ":124942,"×Ļש×Ļ":124943,"جاÙĦ":124944,"ãģijãĤĭ":124945,"à¸Ĭาà¸ķิ":124946,"ÙĪØ§ÙĤ":124947,"à¹Ĥà¸Ļ":124948,"ãģ¦ãģĹãģ¾":124949,"اعة":124950,"ãĤŃãĥ£":124951,"à¸įา":124952,"ÙĦاÙĤ":124953,"ิà¸ģ":124954,"ĠÑģов":124955,"ÑĢак":124956,"×Ļ׳×Ļ":124957,"Ã¼ÄŁ":124958,"Ã¼ÄŁÃ¼":124959,"×§×ij":124960,"à¹Īà¸Ńà¸ĩ":124961,"Ġgerçek":124962,"à¸Ĺั":124963,"ованиÑı":124964,"×ŀ׼":124965,"سة":124966,"×Ļ×£":124967,"leÅŁ":124968,"Ùħؤ":124969,"ĠìĿĺ":124970,"à¸IJาà¸Ļ":124971,"ĠÑģоб":124972,"ĠêµŃ":124973,"עצ":124974,"зв":124975,"สà¸ĩ":124976,"زÙĦ":124977,"ãģıãĤĮ":124978,"иÑĢÑĥ":124979,"تأ":124980,"полн":124981,"ìĺĢ":124982,"ÙĨØ´":124983,"׼×IJ":124984,"ÙħØ´":124985,"à¸Ķà¹Į":124986,"ÙĪÙĬÙĦ":124987,"à¹ģà¸Ĥ":124988,"ãģ£ãģ¦ãģĹãģ¾":124989,"ноÑģÑĤ":124990,"вл":124991,"ÙħÙĤ":124992,"راج":124993,"å¤ī":124994,"ëĽ":124995,"â¸":124996,"ìIJ":124997,"à»":124998,"áļ":124999,"â»":125000,"êĻ":125001,"â§":125002,"ðĴ":125003,"ðĿĩ":125004,"Ġ×IJת":125005,"ĠÙĦÙĦ":125006,"ĠØ£ÙĨ":125007,"Ġ×ķ×Ķ":125008,"ãģ«ãģ¯":125009,"Ġ×Ļש":125010,"تÙĩ":125011,"ÃŃnh":125012,"ÙĬات":125013,"Ġ×ij×ŀ":125014,"à¸Ļัà¹īà¸Ļ":125015,"à¸Ļà¹īำ":125016,"Ãło":125017,"à¸ķาม":125018,"ãģ®ãģ¯":125019,"dır":125020,"Ġnghi":125021,"ặt":125022,"×ŀ×Ļ×Ŀ":125023,"ãģ¦ãģĦãĤĭ":125024,"Ġ×ijת":125025,"หรืà¸Ń":125026,"ĠسÙĬ":125027,"ãģªãĤī":125028,"à¹Ĥà¸Ķย":125029,"ıyor":125030,"à¸Ńีà¸ģ":125031,"á»ĩnh":125032,"Ñĭм":125033,"à¸Ĺุà¸ģ":125034,"Ġ׾×Ĺ":125035,"Ġ×Ķר":125036,"Ġ×Ķ×Ļ":125037,"à¸ŀระ":125038,"à¹Ģวลา":125039,"Ġغ":125040,"ẫn":125041,"mÄ±ÅŁ":125042,"׼×Ķ":125043,"á»ijn":125044,"ãģ§ãģĹãĤĩãģĨ":125045,"ãĥ¢":125046,"à¸Ľà¸µ":125047,"ס×Ļ":125048,"ãģĵãĤį":125049,"Ġ׾פ":125050,"รà¸ĸ":125051,"ê¸Ī":125052,"à¸ģวà¹Īา":125053,"무":125054,"á»įng":125055,"ãĤĵãģ§":125056,"ãĤĪãģĨãģª":125057,"á»ĵi":125058,"ãĤ¬":125059,"สà¹Īà¸ĩ":125060,"×Ļ׳×Ķ":125061,"à¸ĸูà¸ģ":125062,"à¸Īัà¸Ķ":125063,"Ġ×Ķ×Ĵ":125064,"ãĥľ":125065,"×ŀ×ķת":125066,"ÙĪÙĥ":125067,"ëĭ¨":125068,"ĠØ«":125069,"ãģ®ãģĮ":125070,"à¹Ģหà¹ĩà¸Ļ":125071,"عا":125072,"à¸Ļิ":125073,"Åŀ":125074,"à¸Ńะ":125075,"ãģĪãĤĭ":125076,"Ø«ÙĦ":125077,"ØŃÙħد":125078,"à¹Ģà¸ģิà¸Ķ":125079,"פשר":125080,"פ×Ķ":125081,"มิ":125082,"ئÙĬس":125083,"à¸Ĺำà¹ĥหà¹ī":125084,"×¢×ĵ":125085,"ìĭ¤":125086,"à¸Ĭà¹Īวย":125087,"ĠاÙĦÙħÙĨ":125088,"زÙĬ":125089,"عÙĬ":125090,"Ġ׼×IJ":125091,"ạnh":125092,"ỹ":125093,"ãĤĵãģª":125094,"สู":125095,"צר":125096,"Æ°á»Ľng":125097,"×ķ×ķ×Ķ":125098,"à¹Ĥล":125099,"ĠاÙĦÙĩ":125100,"วา":125101,"หลาย":125102,"Ñīе":125103,"à¸Ĥà¹īà¸Ń":125104,"à¹īà¸Ńย":125105,"بط":125106,"каÑı":125107,"ĠØ¢":125108,"ĠиÑģ":125109,"ĠاÙĦغ":125110,"à¸ģา":125111,"à¸Ļà¹Īา":125112,"ÙĬÙĪ":125113,"×ij×ķר":125114,"á»ħn":125115,"วà¸ĩ":125116,"×Ļ×ĸ":125117,"ì²Ń":125118,"ним":125119,"룰":125120,"×Ĵ×ķר":125121,"صØŃ":125122,"ÙĦÙĪ":125123,"×Ĺ×ķת":125124,"สุ":125125,"رÙĬÙĤ":125126,"ס×ĺ":125127,"Ġ×ŀ×¢":125128,"ãĥĨãĤ£":125129,"à¸Ħิà¸Ķ":125130,"ãĤįãģĨ":125131,"à¹Ħล":125132,"à¸Ļà¹Į":125133,"á»ıi":125134,"ÑģÑĤÑĢо":125135,"สà¸Ķ":125136,"สาร":125137,"ÙĪÙĦØ©":125138,"ầm":125139,"รà¹Īว":125140,"รà¹Īวม":125141,"รุ":125142,"ĠاÙĦسÙĬ":125143,"ìĺģ":125144,"Ġ×ŀ×ij":125145,"פ×ĺ":125146,"à¸ķิà¸Ķ":125147,"×ĺ×Ļ×Ŀ":125148,"Ġ무":125149,"ÙĤدÙħ":125150,"ĠdÃ¼ÅŁ":125151,"ائÙĦ":125152,"мÑĭ":125153,"ØŃس":125154,"ÙĪØµ":125155,"×Ļ×§×Ķ":125156,"ãģ§ãģ¯ãģªãģĦ":125157,"à¹Ģหม":125158,"оÑĢÑĤ":125159,"íĨµ":125160,"ãģIJ":125161,"кÑĢа":125162,"ียว":125163,"عار":125164,"ئة":125165,"íĥĢ":125166,"ãģ«ãģªãĤĬ":125167,"جة":125168,"ÙĪÙĤع":125169,"ÑĮÑı":125170,"×ķצ×Ķ":125171,"ש×Ŀ":125172,"بÙĤ":125173,"Ġ×Ļ×Ķ":125174,"ÙĬØ·":125175,"ımız":125176,"деÑĢж":125177,"×Ļשר×IJ׾":125178,"غÙĬر":125179,"รà¸Ńà¸ĩ":125180,"à¹Ģรียà¸Ļ":125181,"Ġ×Ķ×ĺ":125182,"หมาย":125183,"ÙħÙĩ":125184,"اÙ쨩":125185,"ĠоÑĢг":125186,"ÙĪÙī":125187,"ãĥ©ãĤ¤":125188,"×ŀ׳×Ķ":125189,"ĠÄijo":125190,"ĠгоÑĢ":125191,"اÙħØ©":125192,"楽":125193,"Ø«ÙĬر":125194,"à¸ģิà¸Ī":125195,"á»ĵn":125196,"ÙĨب":125197,"ÑĢÑĥд":125198,"ìĹĪ":125199,"Ġ×Ĺ×ijר":125200,"ÑĢаж":125201,"ạch":125202,"تÙĪ":125203,"à¹Ĥม":125204,"×ij×Ļ×ij":125205,"ĠíĨµ":125206,"acaģı":125207,"جÙĦس":125208,"à¹Ģà¸Ľà¸¥":125209,"วà¸Ķ":125210,"à¸Ńล":125211,"ãģŁãĤĬ":125212,"à¸Ľà¸±à¸į":125213,"ĠìķĮ":125214,"عرÙģ":125215,"à¹Ħà¸Ł":125216,"أخ":125217,"å¤ļãģĦ":125218,"à¸Ķัà¸ĩ":125219,"Ø´Ùģ":125220,"ãģ£ãģ¦ãģĦãģ¾ãģĻ":125221,"×Ľ×ł×¡":125222,"ÑĨе":125223,"еÑģп":125224,"ÙħاÙħ":125225,"à¸ŀืà¹īà¸Ļ":125226,"иÑĩеÑģки":125227,"خد":125228,"ÙĥÙĪÙħ":125229,"Ġ×Ķר×IJש":125230,"تاب":125231,"é£Łãģ¹":125232,"ืà¸Ļ":125233,"оÑĢо":125234,"Ġböl":125235,"×ķ×Ĺ×ĵ":125236,"دÙĬر":125237,"ắm":125238,"دع":125239,"ãģķãģĽ":125240,"à¸ĺร":125241,"à¸ĺรรม":125242,"ãģĭãĤĤ":125243,"å¤ļãģı":125244,"rä":125245,"سع":125246,"×Ļ׾×Ķ":125247,"ضر":125248,"ĠاÙĦشر":125249,"×ĸ×ķר":125250,"×¢×ijר":125251,"ạm":125252,"алÑĮно":125253,"رÙĨ":125254,"اÙħج":125255,"׼×ļ":125256,"dıģ":125257,"ден":125258,"ضا":125259,"ÙĦÙĬÙħ":125260,"Ġê·¸ëŁ¬":125261,"تÙħاع":125262,"ارÙĬØ®":125263,"à¹Ĥà¸ķ":125264,"ĠÑģÑĢед":125265,"Ġ׳×ķס":125266,"ÙĤبÙĦ":125267,"оÑĤов":125268,"leÅŁtir":125269,"ĠмеÑģÑĤ":125270,"سÙĦÙħ":125271,"Ġעצ":125272,"ĠاÙĦسÙĦ":125273,"еÑĤÑĮ":125274,"ابة":125275,"нак":125276,"สà¸ĸาà¸Ļ":125277,"Ġ×ij׳":125278,"à¸ļัà¸Ļ":125279,"׼׳":125280,"ĠÃ¶ÄŁ":125281,"ãģ¨è¨Ģ":125282,"uyến":125283,"diÄŁ":125284,"áºŃu":125285,"ÑĢаÑģ":125286,"ãĤ·ãĥ§ãĥ³":125287,"nız":125288,"×ķ×ĵ×Ķ":125289,"تس":125290,"ÙħاÙĦ":125291,"à¹Ģหà¸ķุ":125292,"ยว":125293,"à¸ŀัà¸ģ":125294,"ãģĦãģªãģĦ":125295,"ĠкаÑĩ":125296,"ลà¹Į":125297,"×¨×Ľ×ª":125298,"ÅŁtur":125299,"×ŀ×ķס":125300,"ãģ¥":125301,"бол":125302,"عÙħاÙĦ":125303,"×ķרת":125304,"ÑĨион":125305,"ศึà¸ģ":125306,"à¸ı":125307,"ÑĢен":125308,"اسÙĬ":125309,"ائر":125310,"à¹Ĥà¸Ľà¸£":125311,"Ġseç":125312,"غÙĬ":125313,"ÑįÑĤ":125314,"енн":125315,"ãģªãģ®":125316,"×Ļש×Ķ":125317,"×Ļפ×ķר":125318,"ãģŁãĤģãģ«":125319,"زة":125320,"Ġçoc":125321,"ãĤ¯ãĥª":125322,"ÑĪен":125323,"ãĤıãģij":125324,"رÙĬد":125325,"ĠÑĢаÑģÑģ":125326,"Ùĥات":125327,"สà¸Ńà¸ļ":125328,"ceÄŁi":125329,"ãĤ¿ãĤ¤":125330,"à¸ļร":125331,"ĠاÙĦبر":125332,"׳×ķ×¢":125333,"rün":125334,"راض":125335,"ศาส":125336,"à¸ķรà¹Į":125337,"ãģįãģŁ":125338,"×ķ׾×ĵ":125339,"еÑĢи":125340,"íĹĺ":125341,"ắp":125342,"تعÙĦ":125343,"Ùĥد":125344,"иÑĤелÑĮно":125345,"Ø·Ùģ":125346,"ĠавÑĤом":125347,"Ġ×ŀצ":125348,"ÑĪиÑħ":125349,"اتÙģ":125350,"ĠÑħоÑĤ":125351,"ÙİØ§":125352,"ãģıãĤĭ":125353,"×Ķפ":125354,"à¹Ĥà¸Ĺ":125355,"à¹ģà¸ŀ":125356,"à¹Īà¸Ńย":125357,"ĠاÙĦÙħØ´":125358,"à¸ģารà¸ĵà¹Į":125359,"аниз":125360,"×Ķ׾":125361,"ظÙħ":125362,"ยุ":125363,"liÄŁ":125364,"à¹Ħà¸Ĥ":125365,"à¸ĸืà¸Ń":125366,"öz":125367,"ãģijãģ¦":125368,"à¹Ģà¸ľ":125369,"ุม":125370,"ãĥĹãĥ¬":125371,"Ġ×Ķ×IJ×Ĺר":125372,"ختÙĦÙģ":125373,"à¸İ":125374,"ÙĦاØŃ":125375,"Ġdüzen":125376,"צ×Ķ":125377,"ساء":125378,"×ķר×ļ":125379,"×ķ×ĵ×Ļ":125380,"ÑĢаÑĦ":125381,"ÅŁtır":125382,"ãģ«åħ¥":125383,"ãģĪãģ°":125384,"صÙĪÙĦ":125385,"ĠÐľÐ¾Ñģ":125386,"اÙĩر":125387,"ãģ£ãģ":125388,"ĠлÑİб":125389,"×Ļ×¢×Ķ":125390,"Ġ×Ķ×ŀ×§":125391,"สิà¸Ĺ":125392,"สิà¸Ĺà¸ĺิ":125393,"×Ļ׳×Ŀ":125394,"ÙĦاÙģ":125395,"à¸ŀัà¸Ļà¸ĺ":125396,"×ķ×IJ×Ķ":125397,"มั":125398,"à¸Ĥà¸ĵะ":125399,"доÑĢ":125400,"ãģ¨ãģª":125401,"à¸ģระà¸Ĺ":125402,"acı":125403,"×ķ׾×ķ×Ĵ":125404,"ÑĥÑĪ":125405,"ãĥ¥ãĥ¼":125406,"ãĥ¦":125407,"Ùħست":125408,"ĠaÅŁ":125409,"שק":125410,"פת×Ĺ":125411,"ายà¸Ļ":125412,"íĩ":125413,"ë¢":125414,"ï·":125415,"íī":125416,"ìµ":125417,"ì¬":125418,"ðĿĽ":125419,"ìĴ":125420,"ëĻ":125421,"ê§":125422,"áĸ":125423,"â¨":125424,"â±":125425,"áĺ":125426,"ðĸ":125427,"àł":125428,"áĶ":125429,"ðIJŃ":125430,"ững":125431,"Å©ng":125432,"Ġ×Ķת":125433,"ĠاÙĦا":125434,"Ġ×ŀת":125435,"à¸ĸึà¸ĩ":125436,"òn":125437,"á»ĭnh":125438,"нÑĭм":125439,"Ġcả":125440,"à¸Ķู":125441,"Ġà¹ģà¸ķà¹Ī":125442,"Ġ×ij×Ķ":125443,"ói":125444,"ãģ¨ãģĹãģ¦":125445,"úng":125446,"Ġذ":125447,"Ġ×Ķ׳":125448,"ĠبÙĨ":125449,"ÙĦاÙĦ":125450,"à¹Ħà¸Ĺย":125451,"á»ĩp":125452,"tı":125453,"มัà¸Ļ":125454,"ằng":125455,"á»ijt":125456,"ком":125457,"à¸ĭึà¹Īà¸ĩ":125458,"à¸Ħรัà¸ļ":125459,"à¸ļà¹īาà¸Ļ":125460,"ĠاÙĦÙĬ":125461,"lü":125462,"ÙĪØ³":125463,"ãģłãģ£ãģŁ":125464,"à¹Ģà¸ĩ":125465,"Ġê³µ":125466,"нÑĥ":125467,"ãĤĪãĤĬ":125468,"мÑĥ":125469,"à¹Ģà¸Ĥา":125470,"ãĤĢ":125471,"ние":125472,"ãģ«ãģªãĤĭ":125473,"áºŃy":125474,"ĠÙĪØ§":125475,"볤":125476,"ש×ķ":125477,"áp":125478,"×ĵ×ķ":125479,"ãģ§ãģĹãģŁ":125480,"عض":125481,"Ñģкой":125482,"æĦŁãģĺ":125483,"ÑİÑĤÑģÑı":125484,"Ġ×Ļ׼×ķ׾":125485,"ãĤĵãģł":125486,"ви":125487,"à¹Ģลà¹Īà¸Ļ":125488,"ìĿ´ëĭ¤":125489,"ĠÙĦÙĩ":125490,"à¸Ħืà¸Ń":125491,"تÙĥ":125492,"ÙħÙĥÙĨ":125493,"aģı":125494,"׳×ĵ":125495,"민":125496,"à¹Ħว":125497,"สำห":125498,"สำหรัà¸ļ":125499,"Ñģлед":125500,"tır":125501,"ĠÙĦÙĬ":125502,"ĠاÙĦعÙħÙĦ":125503,"×ij×ķת":125504,"×ij×Ļ×Ŀ":125505,"à¸Ħำ":125506,"à¹Ģà¸Ħรืà¹Īà¸Ńà¸ĩ":125507,"lıģı":125508,"ืà¸Ńà¸ĩ":125509,"جد":125510,"íŀĪ":125511,"ìĭ¬":125512,"×¢×ķת":125513,"สิà¸Ļ":125514,"Ñĩи":125515,"رض":125516,"à¹Ģà¸Ľà¸´à¸Ķ":125517,"à¸Ħà¹Īา":125518,"ìĦł":125519,"ÙĪØ±Ø©":125520,"×§×ĺ":125521,"ìľł":125522,"عÙħÙĦ":125523,"×IJ×Ļ×Ŀ":125524,"׾×Ļ×Ŀ":125525,"à¹ĥหà¸į":125526,"à¹ĥหà¸įà¹Ī":125527,"ừa":125528,"á»įi":125529,"ãģ¶":125530,"ÃŃch":125531,"ãĥĩãĤ£":125532,"×ķר×Ļ×Ŀ":125533,"Ñģо":125534,"ìķ½":125535,"ова":125536,"ÑĩаÑģÑĤ":125537,"à¹Ģà¸Īà¹īา":125538,"пÑĢо":125539,"Ġ×ŀ×Ĺ":125540,"ãĥİ":125541,"×ķ×Ļ×ķת":125542,"Ġде":125543,"ë§Ī":125544,"ì§ģ":125545,"×Ļפ×Ķ":125546,"ĠاÙĦعاÙĦÙħ":125547,"르":125548,"ר×IJ×Ķ":125549,"uyá»ĥn":125550,"×¢×Ļ":125551,"มืà¸Ń":125552,"Ø¥ÙĨ":125553,"รู":125554,"Ġز":125555,"×Ļ×ķ×Ŀ":125556,"à¸ķà¹īà¸Ļ":125557,"ãģ¦ãģĦãģ¾ãģĻ":125558,"ÙħاÙĨ":125559,"ĠÐ¥":125560,"à¸Ľà¸£à¸°à¹Ģà¸Ĺศ":125561,"ỳ":125562,"׾×ij":125563,"à¹Ģà¸Ķà¹ĩ":125564,"ãģŁãģ¡":125565,"à¸Ĺีม":125566,"à¸Ļะ":125567,"ìŰ":125568,"ĠìłĢ":125569,"ÙĦÙĩ":125570,"ợi":125571,"ĠاÙĦز":125572,"دار":125573,"ãĤ³ãĥ³":125574,"мин":125575,"à¹ģหà¹Īà¸ĩ":125576,"à¸Ķัà¸ļ":125577,"׼ר":125578,"жа":125579,"íĸĪ":125580,"×ŀ×ĸ":125581,"ợi":125582,"à¸Ķา":125583,"Ġعبد":125584,"à¹ģร":125585,"×IJתר":125586,"×¢×ł×Ļ":125587,"à¹Ģà¸Ħ":125588,"×ķצר":125589,"ì§Ģë§Į":125590,"ائÙħ":125591,"أس":125592,"uyá»ģn":125593,"Ġ×IJ׳":125594,"×Ĺ׳×ķ":125595,"×ĸ×Ļ":125596,"รà¹īาà¸Ļ":125597,"ĠÐłÐ¾Ñģ":125598,"ĠÐłÐ¾ÑģÑģ":125599,"ربÙĬØ©":125600,"tür":125601,"ãĤĭãģĵãģ¨":125602,"ظر":125603,"бÑĭ":125604,"à¸Ĺีà¹Īสุà¸Ķ":125605,"Ġצר":125606,"èĩªåĪĨ":125607,"лаÑģ":125608,"ĠÑıв":125609,"ĠÑıвлÑı":125610,"à¸ŀรà¹īà¸Ńม":125611,"à¸Ńาà¸Ī":125612,"à¸ļริà¸ģาร":125613,"Ġçı":125614,"ëįĺ":125615,"ĠاÙĦÙħست":125616,"تش":125617,"ש×ķ×ij":125618,"ãĤ´":125619,"Ġyapıl":125620,"ĠاÙĦذ":125621,"ุà¹Īม":125622,"à¸ĸà¹īา":125623,"ìĦ¤":125624,"ì°¨":125625,"ваÑĢ":125626,"à¹Ģà¸ŀิà¹Īม":125627,"Æ°á»Ľi":125628,"Ùĥس":125629,"à¸Ńยาà¸ģ":125630,"ãģ¦ãĤĤ":125631,"Ġгод":125632,"ÙĬار":125633,"à¸ķà¸Ńà¸Ļ":125634,"ĠигÑĢ":125635,"à¹Ħà¸Ķà¹īรัà¸ļ":125636,"ĠاÙĦÙħر":125637,"ÙĤت":125638,"Ġëĺ":125639,"ĠëĺIJ":125640,"ẩn":125641,"ãģĻãĤĭãģĵãģ¨":125642,"×Ĵ×Ŀ":125643,"Ġ×ij×ij":125644,"تد":125645,"ÙĪØ§Ø±":125646,"ãĤ®":125647,"пол":125648,"Ġмог":125649,"ترÙĥ":125650,"ÙĪØ«":125651,"Ġçık":125652,"اة":125653,"à¹Ģà¸Ķียว":125654,"มีà¸Ħวาม":125655,"Ġ×ŀ×Ĵ":125656,"صÙģ":125657,"ĠТак":125658,"Ġ×Ľ×ª":125659,"×Ļ×ĵ×Ļ":125660,"овоÑĢ":125661,"ầy":125662,"สิà¹Īà¸ĩ":125663,"بت":125664,"ürü":125665,"ÙĨج":125666,"หลัà¸ģ":125667,"×Ļ×Ķ×Ŀ":125668,"ÙĤص":125669,"зÑĭ":125670,"×Ľ×ª×ij":125671,"ưu":125672,"mız":125673,"ĠìĦ¸":125674,"лог":125675,"ÙħÙĬÙĦ":125676,"ÙĬج":125677,"íĴĪ":125678,"à¸ŀà¸ļ":125679,"หัว":125680,"зна":125681,"רק":125682,"à¹Ĥร":125683,"Ġ×ijס":125684,"ĠBaÅŁkan":125685,"ĠëͰ":125686,"à¸Ńัà¸Ļ":125687,"ีà¹Īยว":125688,"неÑģ":125689,"à¹Ģà¸Ķิà¸Ļ":125690,"ÙĬاÙĨ":125691,"×ķ׾×Ļ":125692,"اخت":125693,"צ×ķת":125694,"ãģĵãģĵ":125695,"ĠاÙĦاÙĨ":125696,"ĠпÑĢоÑĨ":125697,"ãģ¾ãģł":125698,"×Ľ×¡":125699,"ĠاÙĦØ¢":125700,"ÙĬز":125701,"ĠاÙĦدÙĪÙĦ":125702,"ĠíķĺëĤĺ":125703,"ضع":125704,"ê»ĺ":125705,"ÅĽwi":125706,"ยิ":125707,"ãģ¡ãĤĥãĤĵ":125708,"ĠÙħØ´":125709,"à¸ĺี":125710,"ãģ¨ãģį":125711,"׳×Ļ×ķת":125712,"Ġë¯":125713,"Ġ미":125714,"Ġsı":125715,"ëĭĪê¹Į":125716,"Ġпл":125717,"غÙĦ":125718,"à¹ģรà¸ĩ":125719,"بÙĬر":125720,"ãģĤãĤĬãģ¾ãģĽãĤĵ":125721,"ê·¼":125722,"Ġyüz":125723,"ĠdeÄŁer":125724,"åł´åIJĪ":125725,"ỡ":125726,"маÑĤ":125727,"ราà¸Ĭ":125728,"ÙĪØ±ÙĬ":125729,"жен":125730,"ãģ¾ãĤĬ":125731,"ãģ®ä¸Ń":125732,"×Ļ×ĵ×¢":125733,"à¸Ńุ":125734,"à¸ļà¸Ńล":125735,"à¸Ľà¸±à¸įหา":125736,"زÙħ":125737,"ÄŁa":125738,"à¸Ńืà¹Ī":125739,"à¸Ńืà¹Īà¸Ļ":125740,"пл":125741,"ĠнеобÑħодим":125742,"׼×ij":125743,"à¹Ģศ":125744,"קר×Ķ":125745,"ì²ĺ":125746,"볨":125747,"×ŀ×§×ķ×Ŀ":125748,"jÄħc":125749,"ÙĩÙĦ":125750,"Ġ×¢×ij×ķ×ĵ":125751,"à¹Ħมà¹ī":125752,"à¸ģลัà¸ļ":125753,"×ķ׼׾":125754,"×§×ĵ":125755,"اÙĦÙĬØ©":125756,"رÙĩ":125757,"ãģijãĤĮãģ°":125758,"ĠÙĨÙ쨳":125759,"ãĤ¢ãĥ«":125760,"ìĹĪëĭ¤":125761,"×§×ķר":125762,"неÑĢ":125763,"باب":125764,"ãĤ¶":125765,"سبب":125766,"ÙĦÙĬÙĦ":125767,"صÙĨ":125768,"صدر":125769,"ếm":125770,"à¸Ĭà¹Īวà¸ĩ":125771,"ØŃÙĨ":125772,"Ġ×ij×Ĵ":125773,"×ŀ×ķ×¢":125774,"׾×Ĺ":125775,"大ãģį":125776,"تب":125777,"неÑĤ":125778,"×Ļ×ij×Ķ":125779,"бл":125780,"ãĥĹãĥª":125781,"اصة":125782,"ãģ¤ãģij":125783,"×Ļ×ŀ×ķש":125784,"ãģĮãģĤ":125785,"ëĭ´":125786,"ãģĭãĤĤãģĹ":125787,"ãģĭãĤĤãģĹãĤĮ":125788,"ãģ¡ãĤī":125789,"×ij×ĺ":125790,"ĠbaÄŁ":125791,"×Ļ×Ĺס":125792,"×ij×ķ×¢":125793,"ลี":125794,"פע×Ļ׾":125795,"ими":125796,"gÅĤ":125797,"Ġиме":125798,"خداÙħ":125799,"×IJ×Ļר":125800,"Ġyapt":125801,"ãģ¨ãģĦ":125802,"à¸ĩà¹Īาย":125803,"׾×Ļ×ķ":125804,"ØŃدث":125805,"راÙĤ":125806,"ĠÄIJi":125807,"ادر":125808,"ãģĵãģ¨ãĤĤ":125809,"×ij×Ļר":125810,"Ġвз":125811,"ضاÙģ":125812,"ת×ķ׼":125813,"ÑĢом":125814,"رات":125815,"à¹Ģà¸Ĺà¹Īา":125816,"ãģĺãĤĥ":125817,"ãģĿãģĵ":125818,"اجتÙħاع":125819,"à¹īà¸Ńà¸Ļ":125820,"ÙĤÙħ":125821,"본":125822,"Äŀ":125823,"ש×Ļ×ķ":125824,"×ij׳×Ļ":125825,"ìľĦìĽIJ":125826,"à¹ģà¸Ī":125827,"×Ĺ×ķר":125828,"دÙĬÙĨØ©":125829,"تط":125830,"ằm":125831,"òa":125832,"ยà¸Ńà¸Ķ":125833,"Ġëĭ¹":125834,"สุà¸Ĥ":125835,"×ĵר×ļ":125836,"دÙĨ":125837,"سÙĬÙĨ":125838,"ÙĪÙĤÙģ":125839,"ÑĨÑĭ":125840,"гоÑĤов":125841,"еждÑĥ":125842,"à¸ŀวà¸ģ":125843,"اÙĤتص":125844,"اÙĤتصاد":125845,"czÄĻ":125846,"niÄĻ":125847,"ÑĢеб":125848,"ØŃÙĪ":125849,"à¸Ĺà¹Į":125850,"ãĤĪãģŃ":125851,"дж":125852,"à¸ģลà¹Īาว":125853,"دÙĬØ«":125854,"ãĤ³ãĥŁ":125855,"ÙĤÙĪÙħ":125856,"ĠتØŃ":125857,"à¹Ģà¸ķิ":125858,"اÙ쨏":125859,"à¸Īุ":125860,"رÙĬاض":125861,"×ŀש×ļ":125862,"à¹Ĥย":125863,"еÑĢе":125864,"ãģ¿ãģŁãģĦ":125865,"ìĿ´ëĿ¼":125866,"ĠاÙĦÙħÙĪ":125867,"ĠÑģÑĤо":125868,"à¹Ģรà¹ĩว":125869,"ĠдеÑĤ":125870,"ĠÑģдел":125871,"à¹Ģà¸Ĭืà¹Īà¸Ń":125872,"פ׳×Ļ":125873,"ÙĪØ¶ÙĪØ¹":125874,"×ijס":125875,"à¹ģà¸Ķ":125876,"óc":125877,"ริม":125878,"ÑĢад":125879,"ìĪł":125880,"ãĥ¼ãĤº":125881,"ãģ«ãģĬ":125882,"ино":125883,"פ×Ļ׾":125884,"à¸Ĭัà¹Īà¸Ļ":125885,"×Ĺ×ĵש":125886,"à¹Ģà¸Ļืà¹Īà¸Ńà¸ĩ":125887,"׳×Ļס":125888,"غرب":125889,"ãĤ¸ãĥ£":125890,"สัà¸ĩ":125891,"à¹Ģà¸Ĺีà¹Ī":125892,"à¹Ģà¸Ĺีà¹Īยว":125893,"ëŁ¼":125894,"à¹ģà¸Ł":125895,"ãĥ¼ãĤ·":125896,"ãĥ¼ãĤ·ãĥ§ãĥ³":125897,"Ġвозмож":125898,"جÙħÙĪØ¹":125899,"×ijר×Ļ×Ŀ":125900,"ãĥĪãĥ©":125901,"ĠкаÑĩеÑģÑĤв":125902,"Ø·ÙĬ":125903,"ÑĤÑı":125904,"צ×ķ×¢":125905,"ģını":125906,"عÙĦÙī":125907,"اذ":125908,"ÙĪØ§ÙĤع":125909,"ÙħÙĪØ§":125910,"ائÙĬÙĦ":125911,"кол":125912,"á»ģm":125913,"à¸ľà¸¥à¸´à¸ķ":125914,"×Ļ׳×ĺר":125915,"سÙĥ":125916,"ש×Ļר":125917,"ศึà¸ģษา":125918,"à¸ļั":125919,"ÑĩаÑģ":125920,"×ķפ×Ķ":125921,"×Ļפ×ķ׾":125922,"ĠاÙĦساب":125923,"رÙĬب":125924,"ĠاÙĦبÙĬ":125925,"ãĤ¹ãĥĨ":125926,"Ñĩен":125927,"à¹ģà¸ľ":125928,"Ġ׳ש":125929,"زÙĬد":125930,"ØŃاد":125931,"ëįĶ":125932,"رÙĪØ¹":125933,"à¸Ĺุà¸Ļ":125934,"สมา":125935,"czeÅĦ":125936,"×Ļ×ĵ×Ķ":125937,"ãģ§ãģĤ":125938,"Ġçocuk":125939,"خب":125940,"à¸ļาย":125941,"à¸Ľà¸£à¸°à¸Ĭา":125942,"×ŀש׾":125943,"ãģªãģĭ":125944,"à¸ģาย":125945,"ãĥģãĥ£":125946,"аÑĢи":125947,"ĠÑĩа":125948,"à¸Ķำ":125949,"à¸Ĺัà¹Īว":125950,"ÑĥÑħ":125951,"Ġöz":125952,"Ġì¢ĭ":125953,"جرÙĬ":125954,"ائÙĤ":125955,"à¸łà¸±à¸¢":125956,"طار":125957,"دارة":125958,"Ä©nh":125959,"Ø«ÙĨ":125960,"zellik":125961,"اÙĦت":125962,"Ġgeli":125963,"ãĥķãĤ©":125964,"олод":125965,"ربع":125966,"שת×ŀש":125967,"à¸ļรร":125968,"íĿ¬":125969,"Ġürün":125970,"Ġê·¸ëłĩ":125971,"ศาสà¸ķรà¹Į":125972,"ãģľ":125973,"×Ļ×ij׾":125974,"ĠпÑĢедÑģÑĤав":125975,"سطÙĬÙĨ":125976,"ãĤĴ使":125977,"ĠпомоÑī":125978,"×ķקר":125979,"ãĥ¯ãĥ¼":125980,"Ġyönet":125981,"×Ļקר":125982,"à¸Ĥา":125983,"еÑĢиал":125984,"ØŃÙģ":125985,"Ġ×Ļצ":125986,"à¸Ĺิ":125987,"売":125988,"à¸Ļà¸Ńà¸ģ":125989,"×ķ׼ר":125990,"íĻľ":125991,"á»§y":125992,"ĠاÙĦÙĤر":125993,"×Ļ×ij×ķת":125994,"ÅĽni":125995,"Ùħشار":125996,"ượt":125997,"ĠÙĦدÙĬ":125998,"ÑĤел":125999,"ĠØ¥ÙĦÙĬ":126000,"عÙĦÙĪÙħ":126001,"ìķĺ":126002,"виÑĤ":126003,"à¸Ħะ":126004,"yrı":126005,"ãģ¨ãģ£ãģ¦":126006,"à¹Ģà¸ī":126007,"à¸ĸาม":126008,"ÙĤار":126009,"عÙĦاÙħ":126010,"ặng":126011,"ÙħÙĴ":126012,"×Ļ×ŀת":126013,"سبة":126014,"ãĤ¯ãĥ©":126015,"×ķסף":126016,"ĠпÑĢин":126017,"ãģĦãĤį":126018,"ساس":126019,"عتبر":126020,"วิà¸Ĺย":126021,"วิà¸Ĺยา":126022,"سÙĥر":126023,"ãĤ·ãĥ§":126024,"ãģģ":126025,"ัà¸ģษ":126026,"×ij×ķ×Ķ":126027,"หย":126028,"ãģ¾ãĤĮ":126029,"ĠоÑĢганиз":126030,"казал":126031,"ĠÑģвÑıз":126032,"uyết":126033,"ĠпÑĢоиз":126034,"Ġ×§×ĺ":126035,"à¹ģà¸ģà¹ī":126036,"пÑĥÑģ":126037,"Ġê·¸ê²ĥ":126038,"ëĬIJ":126039,"лекÑģ":126040,"ãĥ¼ãĥĹ":126041,"à¸ķำ":126042,"ת×Ĺ×Ļ׾":126043,"à¸Ńà¸ĩà¸Ħà¹Į":126044,"ẵ":126045,"׳צ":126046,"أش":126047,"Ø´Ùĩ":126048,"ยะ":126049,"à¸ģà¸İ":126050,"ĠاÙĦإسÙĦاÙħ":126051,"едÑĮ":126052,"ãģ²ãģ¨":126053,"ëıĦë¡Ŀ":126054,"ãģ©ãģ®":126055,"Ñĥв":126056,"еÑĩение":126057,"ĠاÙĦتج":126058,"ãģ«è¡Į":126059,"Ġпозв":126060,"ãĤıãĤĬ":126061,"ÙĦاث":126062,"íķĺìĺĢ":126063,"ĠмаÑĢ":126064,"ĠkonuÅŁ":126065,"ãĥ¬ãĤ¹":126066,"ãĤĴæĮģ":126067,"ĠоÑģнов":126068,"×Ĺ×ij":126069,"ÙĪØ¬ÙĪØ¯":126070,"פ×ķף":126071,"воÑĢ":126072,"Ġник":126073,"ãģĭãĤĭ":126074,"ÅŁtırma":126075,"×Ļס×ĺ":126076,"Ø£ÙĦ":126077,"หà¹Į":126078,"иона":126079,"лÑĮн":126080,"ĠгоÑģ":126081,"ĠÐľÐ¾Ñģк":126082,"ÑĢоб":126083,"×ķ×IJ×Ļ":126084,"ãģĬãĤĬãģ¾ãģĻ":126085,"ãģ£ãģ±":126086,"кл":126087,"à¸Ļà¸Ķà¹Į":126088,"رÙĬÙģ":126089,"اسب":126090,"ĠÑĢеÑĪ":126091,"Ġдол":126092,"ãģ¹ãģį":126093,"×Ļ×ij×ķר":126094,"меÑī":126095,"ĠнаÑĪ":126096,"à¹ģà¸Ľà¸¥":126097,"ÑĢиÑĤ":126098,"кÑĥÑģ":126099,"иÑĢа":126100,"аÑĤÑĥÑĢ":126101,"ÙĪØ§ØµÙĦ":126102,"à¹Ģà¸ľà¸¢":126103,"à¸Ńำ":126104,"à¹Ģà¸ģิà¸Ļ":126105,"غÙħ":126106,"ãģĻãģİ":126107,"lıkl":126108,"ÅĦsk":126109,"견":126110,"×Ļ׼×Ķ":126111,"×Ĺש×ij":126112,"ÙĪØ±ÙĬØ©":126113,"ĠдейÑģÑĤв":126114,"×Ĺ׾×ĺ":126115,"Ġ׾×ŀ×¢":126116,"צ׾×Ļ×Ĺ":126117,"еÑĩа":126118,"ÙģØ§Ø¹":126119,"×Ĵ×Ļ×ĵ":126120,"áºŃm":126121,"ÄĻb":126122,"شع":126123,"ãģıãĤĬ":126124,"à¸ŀุ":126125,"едеÑĢ":126126,"à¸Ĥà¸Ļ":126127,"à¸Ħาร":126128,"ĠболÑĮÑĪ":126129,"ãģıãģªãĤĬ":126130,"à¸ĵา":126131,"×ĵ×ķ×Ĵ":126132,"Ġмн":126133,"ä¸ĬãģĮ":126134,"ç¶ļãģį":126135,"ฤษ":126136,"à¸Ĩ":126137,"Ø®ÙĬ":126138,"à¹Ģà¸Ĺà¸ŀ":126139,"สัม":126140,"à¹Ģสà¸Ļ":126141,"à¹Ģสà¸Ļà¸Ń":126142,"ãĥ´":126143,"ĠиÑģÑĤ":126144,"باشر":126145,"ĠÑĥÑĢов":126146,"×ŀ×ķ×ĸ":126147,"abı":126148,"waż":126149,"×ķצ×IJ×Ķ":126150,"ÑĤвеÑĢ":126151,"à¸ŀัà¸Ļà¸ĺà¹Į":126152,"׳×Ĵ×ĵ":126153,"ãĤĭãģĵãģ¨ãģĮãģ§ãģį":126154,"ĠÑĤÑĢеб":126155,"à¸ģรุà¸ĩ":126156,"ØŃتاج":126157,"à¹Ģà¸Ħล":126158,"ãĨ":126159,"ÄĻtr":126160,"Ġszczeg":126161,"Ġרש":126162,"à¸Ĺà¸ĺ":126163,"Ġнек":126164,"ĠнекоÑĤоÑĢ":126165,"вÑĪ":126166,"Ь":126167,"à¹Īวย":126168,"ลุ":126169,"бÑĢÑı":126170,"หมูà¹Ī":126171,"à¹ģà¸ķà¸ģ":126172,"ר׼×Ļ×Ŀ":126173,"Ġíĸī":126174,"ãi":126175,"Ùĥرة":126176,"âŃ":126177,"íIJ":126178,"ãį":126179,"áģ":126180,"â®":126181,"â¥":126182,"ì®":126183,"à¿":126184,"â¿":126185,"áĤ":126186,"á¤":126187,"âł":126188,"íŁ":126189,"ðIJį":126190,"ðIJ°":126191,"ðĿĨ":126192,"ðŁĪ":126193,"Ġ×¢×ľ":126194,"ĠعÙĨ":126195,"ĠÙħع":126196,"Ġ×ĸ×Ķ":126197,"ĠÙħا":126198,"ĠmÃł":126199,"Ġdụ":126200,"á»ĩc":126201,"аÑħ":126202,"sı":126203,"íķĺê³ł":126204,"Ġ×ķ×ij":126205,"ĠÐŁÐ¾":126206,"×ķתר":126207,"ĠÙĦÙħ":126208,"Ġ×ķ׾":126209,"ãģĹãģ¦ãģĦãĤĭ":126210,"Ġ×ŀ×Ļ":126211,"ĠبÙĬÙĨ":126212,"за":126213,"ĠÙĥاÙĨ":126214,"Ġ×Ķ×Ļ×Ķ":126215,"ëħĦ":126216,"×IJ×ķ":126217,"ди":126218,"ĠпеÑĢе":126219,"dı":126220,"Ġ׾ש":126221,"Ġש×ŀ":126222,"ãģĮãģĤãĤĭ":126223,"ãģĦãģĦ":126224,"ÑĢе":126225,"×§×ķ":126226,"или":126227,"ме":126228,"ÙĬت":126229,"ãģ§ãģĤãĤĭ":126230,"Ġво":126231,"à¹ĥหม":126232,"à¹ĥหมà¹Ī":126233,"Ġש×ij":126234,"Ġà¹Ĥà¸Ķย":126235,"ÙĬÙĩ":126236,"ãģ§ãģĻãģĮ":126237,"ãģ¨ãģ¯":126238,"ר×ķ":126239,"Ġà¸ĭึà¹Īà¸ĩ":126240,"ãģ§ãģįãĤĭ":126241,"мо":126242,"à¹Ģà¸ŀืà¹Īà¸Ń":126243,"צ×ķ":126244,"×ĺ×ķ":126245,"ìķĪ":126246,"Ġhá»į":126247,"à¹Ģà¸ĩิà¸Ļ":126248,"ĠاÙĦب":126249,"Ġมี":126250,"물":126251,"Ñģе":126252,"ëĵ¤ìĿ´":126253,"Ġë§IJ":126254,"ĠlỼ":126255,"aÅĤ":126256,"×Ĺ×ijר":126257,"Ġdá»±":126258,"ÙĬØ«":126259,"Ġthá»ĭ":126260,"à¸ģà¹Īà¸Ńà¸Ļ":126261,"Ġ×ij׼׾":126262,"ãģ¸":126263,"ã썿ĢĿãģĦãģ¾ãģĻ":126264,"ảnh":126265,"ยา":126266,"Ù쨧":126267,"สี":126268,"à¸ķา":126269,"ë²ķ":126270,"ãĥªãĥ¼":126271,"ราà¸Ħา":126272,"Ġ×ķ׾×IJ":126273,"ãģ¨ãģĵãĤį":126274,"à¹Ģลืà¸Ń":126275,"diÄŁi":126276,"ÙĪØ§ÙĨ":126277,"Ġ׾×Ķת":126278,"รวม":126279,"פ×Ļ×Ŀ":126280,"à¸ľà¸¡":126281,"жи":126282,"cı":126283,"ÑĢод":126284,"ĠkarÅŁÄ±":126285,"×Ĵ×ķ":126286,"ãģ«ãģ¤":126287,"ãģ«ãģ¤ãģĦãģ¦":126288,"rÃł":126289,"×Ļ×ķתר":126290,"ĠìĨĮ":126291,"×§×Ķ":126292,"ÑģÑĤво":126293,"ãģijãģ©":126294,"gé":126295,"à¸Ķà¹īาà¸Ļ":126296,"çļĦãģ«":126297,"ĠÙĬÙħÙĥÙĨ":126298,"ìĨį":126299,"ÙĬÙĥ":126300,"à¹Ħวà¹ī":126301,"Ñģкий":126302,"ìm":126303,"Ġ׾×IJ×Ĺר":126304,"à¸Ńาหาร":126305,"Ġà¹Ģà¸ŀ":126306,"ราะ":126307,"ลูà¸ģ":126308,"ÑģÑĤа":126309,"Ġìľł":126310,"ÙĤÙĪÙĦ":126311,"боÑĢ":126312,"Ñģкого":126313,"หลัà¸ĩ":126314,"à¸Ĥà¹Īาว":126315,"à¹Ģมืà¸Ńà¸ĩ":126316,"ê°ģ":126317,"tÃł":126318,"ÙĬÙĬÙĨ":126319,"عرض":126320,"ë°©":126321,"ĠëıĻ":126322,"Ġà¹Ģà¸Ľ":126323,"Ġà¹Ģà¸Ľà¹ĩà¸Ļ":126324,"çi":126325,"liÄŁi":126326,"ìĹIJê²Į":126327,"ãĤ¿ãĥ¼":126328,"Ġ×ľ×ª":126329,"פ×ķת":126330,"à¸Ĥà¸Ń":126331,"رس":126332,"ìłIJ":126333,"à¸ľà¹Īาà¸Ļ":126334,"ÑĦи":126335,"جÙĨ":126336,"ì¢ħ":126337,"Ġ×Ķפ":126338,"Ġngo":126339,"á»ĭa":126340,"Ġtá»ķ":126341,"Ġ그리":126342,"à¹Ģมืà¹Īà¸Ń":126343,"ذÙĥر":126344,"ìĸij":126345,"ìĹŃ":126346,"×ĺ׾":126347,"kı":126348,"ĠعÙħÙĦ":126349,"ĠعÙĨد":126350,"à¸ĭืà¹īà¸Ń":126351,"Ġê±°":126352,"ве":126353,"rü":126354,"à¹Ģà¸Ńา":126355,"สà¹Į":126356,"à¸Īà¸Ļ":126357,"סת":126358,"Ġgiả":126359,"ãĤĭãģ¨":126360,"à¸ģำลัà¸ĩ":126361,"ней":126362,"à¸Īริ":126363,"à¸Īริà¸ĩ":126364,"Ġëį":126365,"ĠëįĶ":126366,"à¸Ħà¹Īะ":126367,"ìn":126368,"Ġsüre":126369,"Ġquy":126370,"à¸ļาà¸ĩ":126371,"åıĸãĤĬ":126372,"ר×Ĺ":126373,"×ijת":126374,"ãģĮãģĤãĤĬãģ¾ãģĻ":126375,"רש":126376,"ìĹIJëĬĶ":126377,"Ġ×IJפשר":126378,"ayı":126379,"ãģĮãĤī":126380,"ØŃب":126381,"анÑģ":126382,"سÙĪ":126383,"ĠпÑĢе":126384,"دÙĪ":126385,"ãģ«ãĤĪ":126386,"à¹Ģà¸ģม":126387,"สูà¸ĩ":126388,"makt":126389,"maktad":126390,"maktadır":126391,"Ġönem":126392,"×Ļ×ŀ×Ļ×Ŀ":126393,"бо":126394,"ÙĪÙĬØ©":126395,"à¸£à¸¹à¸Ľ":126396,"à¹Ĥลà¸ģ":126397,"ÙħÙĬع":126398,"ÑģÑĤÑĥп":126399,"à¹Ĥà¸Ń":126400,"دÙĬÙĨ":126401,"ì¤ij":126402,"ãģĹãģı":126403,"à¹Ģสีย":126404,"вÑĭ":126405,"Ùħت":126406,"íĺĦ":126407,"ãĥIJãĥ¼":126408,"اش":126409,"קס":126410,"Ġtụ":126411,"ลà¸Ķ":126412,"Ù쨩":126413,"íijľ":126414,"رج":126415,"kÅĤad":126416,"ĠÅŁey":126417,"ĠØ£Ùħ":126418,"Ġà¹Ģม":126419,"ĠبÙĦ":126420,"ÑģкаÑı":126421,"ãģ¨ãģ®":126422,"Ġìĭ¤":126423,"ấm":126424,"หà¹īà¸Ńà¸ĩ":126425,"à¸Ĭม":126426,"dü":126427,"Ġçek":126428,"Ġê³ł":126429,"×Ĵ×ij":126430,"à¸Ĭีวิ":126431,"à¸Ĭีวิà¸ķ":126432,"Ù쨶ÙĦ":126433,"ฯ":126434,"çı":126435,"Ġبش":126436,"ĠÙĩÙĨا":126437,"ãģįãģ¾ãģĹãģŁ":126438,"tü":126439,"Ġìĺģ":126440,"ĠTürk":126441,"кÑĤ":126442,"פרס":126443,"ãģ¨ãģĦãģĨãģĵãģ¨":126444,"íĶĦ":126445,"à¹ģรà¸ģ":126446,"ר×ķף":126447,"Ġaras":126448,"×ŀצ×IJ":126449,"Ġtá»ī":126450,"سا":126451,"à¸ŀà¸Ń":126452,"ĠاÙĦÙħØŃ":126453,"ãĥ¤":126454,"ĠاÙĦاست":126455,"ÙģÙĨ":126456,"×Ļ×ŀ×Ķ":126457,"رت":126458,"ãģ¨ãĤĤ":126459,"ĠнаÑģ":126460,"пÑĢи":126461,"Ġ×Ĺ×ķ":126462,"ила":126463,"ÙĬØ´":126464,"Ġgöz":126465,"Ġ×ij׳×Ļ":126466,"ımı":126467,"ĠÑĤеÑħ":126468,"Ġhá»Ļ":126469,"غر":126470,"кон":126471,"اØŃت":126472,"Ġà¸ŀ":126473,"à¸Ńà¸Ńà¸Ļ":126474,"à¸Ńà¸Ńà¸Ļà¹Ħล":126475,"à¸Ńà¸Ńà¸Ļà¹Ħลà¸Ļà¹Į":126476,"Ñħо":126477,"Ñıв":126478,"à¹ģสà¸Ķ":126479,"à¹ģสà¸Ķà¸ĩ":126480,"à¹Ģà¸ŀียà¸ĩ":126481,"ÑĤов":126482,"اÙĬ":126483,"Ġ×Ķ×ĵ":126484,"Ġ×ķ׼":126485,"ãĤīãģĦ":126486,"×ķפף":126487,"Ġë¶Ī":126488,"ลà¸Ńà¸ĩ":126489,"طاÙĦ":126490,"Ġни":126491,"ĠÙħست":126492,"ếc":126493,"Ġש׼":126494,"ĠëķĮ문":126495,"วัà¸Ļà¸Ĺีà¹Ī":126496,"×Ļ׾×ĵ":126497,"ØŃا":126498,"еÑĨ":126499,"Ġcứ":126500,"×ĵ×ķר":126501,"ĠÙħØŃ":126502,"ר׼×ij":126503,"بÙĬع":126504,"нии":126505,"ĠاÙĦØ£ÙĪÙĦ":126506,"à¸Ħวร":126507,"ã썿ĢĿãģĨ":126508,"ĠСо":126509,"ائÙĬØ©":126510,"راء":126511,"оÑģоб":126512,"ĠبأÙĨ":126513,"×¢×ķ×ĵ":126514,"ĠÑĤе":126515,"ãģĵãģĨ":126516,"ÑģÑĤÑĢа":126517,"айн":126518,"Ġsöz":126519,"تÙĨا":126520,"à¸Ńิ":126521,"ặp":126522,"ĠìķĦëĭĪ":126523,"íķŃ":126524,"Ġר×IJש":126525,"Ġà¹Ħà¸Ķà¹ī":126526,"Ġ×Ĵ×ĵ":126527,"Ġספר":126528,"обÑīе":126529,"ĠÙĪØ¥":126530,"adaÅŁ":126531,"ãģ¡ãĤĩ":126532,"×§×ķ׾":126533,"ÑĢез":126534,"ĠdÃ¼ÅŁÃ¼n":126535,"Ġ×ij×IJ×ŀ":126536,"Ġìĸ´ëĸ":126537,"ער×ij":126538,"нее":126539,"ĠÑģÑĤÑĢан":126540,"ساÙĨ":126541,"ynı":126542,"ĠاÙĦرئÙĬس":126543,"ãģĹãģª":126544,"Ġ×ł×ª":126545,"ãģ«ãģªãģ£ãģŁ":126546,"gü":126547,"åıĹãģij":126548,"×ľ×ª":126549,"ìłĪ":126550,"ëĬĶëį°":126551,"Ø®ÙĬر":126552,"à¸ķà¹īà¸Ńà¸ĩà¸ģาร":126553,"ĠÙĦØ£ÙĨ":126554,"Ġchá»ĭ":126555,"ÙĪØ©":126556,"à¹ĥส":126557,"ë¶ĢíĦ°":126558,"íķĺë©´":126559,"ữu":126560,"à¹Ģหมืà¸Ńà¸Ļ":126561,"беÑĢ":126562,"ĠìĿ´ìļ©":126563,"ĠÑģеб":126564,"wiÄĻks":126565,"Ġ×ł×¢":126566,"ÑĤÑĥÑĢ":126567,"ĠnghÄ©":126568,"ש×ķ×ĺ":126569,"tiÄŁi":126570,"ĠdeÄŁi":126571,"×IJ×ij":126572,"Ġ×ŀ×ŀ":126573,"ãĥĹãĥŃ":126574,"waÅĤ":126575,"à¸Īึà¸ĩ":126576,"خدÙħ":126577,"×IJ×Ŀ":126578,"Ä±ÅŁÄ±":126579,"czÄħ":126580,"ר×ĵ":126581,"ĠÑĢÑĥб":126582,"خرÙī":126583,"ã쮿ĸ¹":126584,"ĠденÑĮ":126585,"×Ĺ×Ļ×Ŀ":126586,"еÑĤе":126587,"ëĤľ":126588,"×IJ×Ĵ":126589,"×¢×ķר":126590,"ë³Ħ":126591,"åIJĮãģĺ":126592,"ãĤ²":126593,"ר×ļ":126594,"×ķש×IJ":126595,"ìľ¡":126596,"اخ":126597,"צ×Ļ×Ķ":126598,"á»±a":126599,"ãģĪãģ¦":126600,"ש×Ķ×ķ":126601,"анÑĤ":126602,"ลาà¸Ķ":126603,"инг":126604,"ë¡ł":126605,"اعد":126606,"ÙĪØ³Ø·":126607,"Ġвоп":126608,"ĠвопÑĢоÑģ":126609,"ÙħÙĬÙĨ":126610,"à¸Ħà¸ĩ":126611,"×Ļר×Ļ×Ŀ":126612,"ców":126613,"격":126614,"Ġê·¸ëŁ°":126615,"Ġì§Ħ":126616,"Ġש׾×Ķ":126617,"à¹Ģริà¹Īม":126618,"à¸Ĭà¸Ńà¸ļ":126619,"деÑĤ":126620,"ÑİÑīиÑħ":126621,"à¸ļà¸Ńà¸ģ":126622,"æĢĿãģĦ":126623,"عÙĬد":126624,"ס×ŀ":126625,"×Ĵ×Ļ×¢":126626,"צ×ĵ":126627,"بات":126628,"ĠëͰëĿ¼":126629,"à¸Īัà¸ĩ":126630,"ãģłãģijãģ§":126631,"×¢×Ļר":126632,"ĠÑĩел":126633,"ĠÑĩелов":126634,"ĠÑĩеловек":126635,"ãĥĥãĥģ":126636,"à¹Ģà¸ģีà¹Īยว":126637,"à¸Ķิ":126638,"Ġפע":126639,"×Ļ×ŀ×Ļ":126640,"ë°ĺ":126641,"خار":126642,"×ij×Ļת":126643,"×¢×Ļ×Ŀ":126644,"üyor":126645,"ãĤģãģ¦":126646,"клад":126647,"Ġà¸Īาà¸ģ":126648,"à¹Ģà¸Ħย":126649,"สà¸Ńà¸ĩ":126650,"à¹ģà¸Ħà¹Ī":126651,"ẫu":126652,"หà¸Ļัà¸ĩ":126653,"ש׾×ķ×Ŀ":126654,"اÙĨÙĬØ©":126655,"åĩºä¼ļ":126656,"åĩºä¼ļãģĦ":126657,"à¸łà¸²à¸¢":126658,"à¸ļาà¸Ĺ":126659,"à¸Ĭาว":126660,"muÅŁ":126661,"Ġ׾ק×ij׾":126662,"ãĤ·ãĥ£":126663,"ĠÄ°ÅŁ":126664,"×Ĵ×ĵ×ķ׾":126665,"جعÙĦ":126666,"ë³Ģ":126667,"ยิà¹Īà¸ĩ":126668,"à¸Ļาย":126669,"à¸Ļีà¹Ī":126670,"วิà¸ĺี":126671,"ãĤīãģªãģĦ":126672,"ëłĪ":126673,"Ġë¬¸ìłľ":126674,"Ġà¸ģ":126675,"à¸Ĺำà¸ĩาà¸Ļ":126676,"à¹Ģวà¹ĩà¸ļ":126677,"ÑĦе":126678,"楽ãģĹ":126679,"สำà¸Ħ":126680,"สำà¸Ħัà¸į":126681,"رÙħ":126682,"ãģķãĤĮãģ¦":126683,"Ġобла":126684,"ר×IJ×Ļ":126685,"หมà¸Ķ":126686,"ÙĨÙĬØ©":126687,"лин":126688,"ĠeÄŁ":126689,"itim":126690,"ëł¹":126691,"صاÙĦ":126692,"ÅĽl":126693,"à¸ľà¸´à¸Ķ":126694,"ãĥŀãĥ³":126695,"åħ¥ãĤĮ":126696,"à¹Ģà¸ķà¸Ńรà¹Į":126697,"ارÙĬ":126698,"ĠЦ":126699,"dür":126700,"สวย":126701,"립":126702,"رÙĥØ©":126703,"Ġhã":126704,"×Ļת×Ķ":126705,"à¸Ĥà¸Ļา":126706,"à¸Ĥà¸Ļาà¸Ķ":126707,"à¸Īำà¸Ļ":126708,"à¸Īำà¸Ļวà¸Ļ":126709,"ש×ķ×§":126710,"Ġдом":126711,"ì±ħ":126712,"ãģĭãģij":126713,"פ×ķ׾":126714,"à¸Ĭาย":126715,"ÑģмоÑĤÑĢ":126716,"ÑģлÑĥж":126717,"ש×IJ׾":126718,"кÑĢÑĭÑĤ":126719,"Ġìŀĺ":126720,"é«ĺãģĦ":126721,"ĠÑĢÑĥк":126722,"ÙĨص":126723,"дав":126724,"ưỡ":126725,"ưỡng":126726,"راÙħ":126727,"×Ļ׳×Ļ×Ŀ":126728,"ãĥ©ãĥ¼":126729,"ëĦ¤":126730,"Ġتع":126731,"lke":126732,"好ãģį":126733,"æĮģãģ¡":126734,"Ġë§İ":126735,"Ġyük":126736,"ĠÑģоÑģÑĤав":126737,"енÑĤÑĢ":126738,"peÅĤ":126739,"à¹Ģà¸Ľà¸¥à¸µà¹Īย":126740,"à¹Ģà¸Ľà¸¥à¸µà¹Īยà¸Ļ":126741,"íıī":126742,"ãĤĦãģĻ":126743,"×Ĺ×ĸ":126744,"×ijר×Ķ":126745,"루":126746,"ìĶĢ":126747,"بØŃØ«":126748,"à¹Ģà¸ķà¹ĩ":126749,"ówi":126750,"بÙĩ":126751,"ãģįãģ¾ãģĻ":126752,"Ġ×¢×ŀ":126753,"×Ĵ×ķ׾":126754,"езд":126755,"ÙĬÙ쨩":126756,"สà¸Ļà¹ĥà¸Ī":126757,"Ġ×ª×ľ":126758,"ÑıÑī":126759,"ĠسÙĨ":126760,"ĠÙĪØ§ØŃد":126761,"ĠÑģм":126762,"ladı":126763,"ıld":126764,"×Ļרת":126765,"ียà¸Ļ":126766,"ת×Ĺת":126767,"Ġжиз":126768,"à¸ŀั":126769,"à¸ŀัà¸Ĵ":126770,"à¸ŀัà¸Ĵà¸Ļา":126771,"à¸Ĭิ":126772,"اخÙĦ":126773,"ãģ£ãģ¦ãģĦãģŁ":126774,"รัà¸IJ":126775,"ãĤģãĤĭ":126776,"à¹Ĥà¸ģ":126777,"ĠTá»ķ":126778,"Ġhakk":126779,"رÙģ":126780,"ìłĢ":126781,"Ñģоб":126782,"ãģªãģijãĤĮãģ°":126783,"ÙĩÙĪ":126784,"Ġë²ķ":126785,"ãĤĨ":126786,"ĠاÙĦسعÙĪØ¯":126787,"Ġ×IJתר":126788,"اغ":126789,"Ġ׾×ĵ":126790,"à¹ģà¸ķ":126791,"à¹ģà¸ķà¹Īà¸ĩ":126792,"íĮĮ":126793,"ÑĥпиÑĤÑĮ":126794,"à¸ŀืà¹īà¸Ļà¸Ĺีà¹Ī":126795,"×ijת×Ļ":126796,"à¹ĩà¸ģ":126797,"ÅĤat":126798,"Ġê°ľìĿ¸":126799,"ìłķë³´":126800,"ÑĤал":126801,"Ġgüven":126802,"Ġİl":126803,"Ġê°ģ":126804,"Ġبت":126805,"×ŀ×ķ׳×Ķ":126806,"ĠاÙĦØŃÙĥÙĪÙħ":126807,"ÙĤات":126808,"à¹ģà¸ģà¹Ī":126809,"หาà¸ģ":126810,"нÑĮ":126811,"à¸Ľà¸£à¸±à¸ļ":126812,"มาà¸ĵ":126813,"ĠнеÑģк":126814,"Ġض":126815,"สมั":126816,"สมัà¸Ħร":126817,"ãģĮãģĤãĤĬ":126818,"меÑģÑĤ":126819,"Ġ×IJצ׾":126820,"Ġкомпани":126821,"סר":126822,"ÙĬÙħØ©":126823,"ĠÑħоÑĢо":126824,"ĠÑħоÑĢоÑĪ":126825,"Ġ×Ļ×ķ×ĵ":126826,"üs":126827,"×Ĵ×Ļש":126828,"à¸ļà¸Ĺ":126829,"تÙĨظ":126830,"วาà¸ĩ":126831,"มหา":126832,"Ġ׼×ķ׾":126833,"à¸Ĥà¹īาà¸ĩ":126834,"ë°ľ":126835,"год":126836,"дан":126837,"ãģĭãĤĤãģĹãĤĮãģ¾ãģĽãĤĵ":126838,"ãģĵãģ¡ãĤī":126839,"ãĥIJãĤ¤":126840,"eceÄŁi":126841,"دÙĬدة":126842,"ÙĨÙī":126843,"Ġëĭ¤ìĿĮ":126844,"วี":126845,"غا":126846,"лиз":126847,"à¹Ģà¸Ķิ":126848,"à¹Ģà¸Ķิม":126849,"ĠÙĬست":126850,"Ġyılı":126851,"koÅĦ":126852,"ãģ§ãģĹãĤĩãģĨãģĭ":126853,"ãģĤãģª":126854,"ãģĤãģªãģŁ":126855,"ÑĨен":126856,"ĠÙĪØ²":126857,"×IJ×Ļש":126858,"à¹Īà¸Ń":126859,"رØŃ":126860,"ê´ij":126861,"ÑĢаÑģÑĤ":126862,"Ġ×Ķ׾":126863,"ãģĹãģ¦ãĤĤ":126864,"×ŀר׼":126865,"×ŀר׼×ĸ":126866,"éģķãģĦ":126867,"ãģŁãģı":126868,"ĠÑģÑĥд":126869,"веÑģÑĤи":126870,"ĠíķĦìļĶ":126871,"ãĥķãĤ§":126872,"ÑĤелÑĮно":126873,"à¹Ģà¸ŀืà¹Īà¸Ńà¸Ļ":126874,"ÅĤuż":126875,"à¹Ģà¸Ķิà¸Ļà¸Ĺาà¸ĩ":126876,"ש×ķר":126877,"Ġ×ŀ×ĵ":126878,"×ķ×¢×ľ":126879,"ÙĦاÙħ":126880,"à¹Ħà¸ĭ":126881,"лей":126882,"кÑĥÑĢ":126883,"Ả":126884,"à¸Ĺาà¸Ļ":126885,"ì§ij":126886,"ĠгоÑĢод":126887,"רס":126888,"׾×ķ×Ĵ":126889,"masını":126890,"ĠлÑĥÑĩ":126891,"ลà¹Īา":126892,"ìļ¸":126893,"ש×ĺ":126894,"ĠÐĺн":126895,"íĤ¤":126896,"ÙĪÙĦا":126897,"ìķł":126898,"ĠØ£ÙĬضا":126899,"Ùĥار":126900,"ĠاÙĦتع":126901,"สูà¹Ī":126902,"ãĤ¼":126903,"×ij×Ļ×IJ":126904,"ยà¸ģ":126905,"ĠØŃÙĤ":126906,"ربÙĬ":126907,"ãģĺãĤĥãģªãģĦ":126908,"รัà¸ģษา":126909,"ÑħодиÑĤ":126910,"à¸ķà¸Ńà¸ļ":126911,"׳×ĺ×Ļ":126912,"ĠاÙĦÙħج":126913,"تÙħع":126914,"оваÑĤÑĮ":126915,"ÙĦÙĬÙĨ":126916,"×Ļ×ŀ×ķת":126917,"Ġmù":126918,"nÄĻ":126919,"ĠدÙĬ":126920,"׼ש×Ļ×ķ":126921,"Ġhiç":126922,"ëijIJ":126923,"ÙĪØ§Ø¡":126924,"ÙĪØ·":126925,"ĠاÙĦبÙĦ":126926,"à¹ģมà¹ī":126927,"×§×ķת":126928,"ÙĪØ¬Ø¯":126929,"å§ĭãĤģ":126930,"ÙĬئة":126931,"Ġ매":126932,"صبØŃ":126933,"פ×IJ":126934,"гоÑĢ":126935,"ס×Ķ":126936,"بÙĬÙĤ":126937,"ยาà¸ģ":126938,"Ġнад":126939,"ÙĬÙij":126940,"ĠبÙĪ":126941,"ס×ķר":126942,"ÙħÙĥاÙĨ":126943,"ר×ij":126944,"×Ĵ×ĸ":126945,"צת":126946,"bilit":126947,"лаг":126948,"ĠNgo":126949,"×IJ×ķר":126950,"à¸ķà¸Ļ":126951,"íĬ¹":126952,"à¸Ĺีà¹Īà¸Ķี":126953,"à¸Ľà¸£à¸°à¸Īำ":126954,"ование":126955,"ãģĦãģ¤":126956,"ãĥĥãĤ¯ãĤ¹":126957,"åIJĪãĤı":126958,"åIJĪãĤıãģĽ":126959,"×Ļ׳×ķ×Ļ":126960,"ạy":126961,"Ø«ÙĤ":126962,"ĠпÑĢоб":126963,"ĠпÑĢоблем":126964,"ÅŁeh":126965,"ÅŁehir":126966,"عادة":126967,"اÙĨÙĪÙĨ":126968,"à¸ķัวà¹Ģà¸Ńà¸ĩ":126969,"ì¶ķ":126970,"ılan":126971,"бан":126972,"ãĥ³ãĥī":126973,"à¸Īี":126974,"Ġ×Ķש׳×Ļ":126975,"поÑĤ":126976,"×ķ׾×Ļ×Ŀ":126977,"ลัà¸ļ":126978,"ĠÑįÑĤи":126979,"×ijקש":126980,"ë¹ĦìĬ¤":126981,"à¸Ńยà¹Īาà¸ĩà¹Ħร":126982,"×Ļ׾×Ļ":126983,"à¹ĥà¸Ĭà¹Ī":126984,"ĠاÙĦÙĥÙĦ":126985,"ãĥļãĥ¼ãĤ¸":126986,"صة":126987,"ÑĤиÑĢ":126988,"ãĤĵãģ©":126989,"зÑĭк":126990,"wyż":126991,"ÙĩÙĬ":126992,"ĠÙħÙĦÙĬ":126993,"Ġвиде":126994,"ظاÙħ":126995,"داÙĪÙĦ":126996,"×ŀת×Ļ":126997,"Ġsık":126998,"à¹Ģà¸ķิม":126999,"ãĤ¢ãĤ¤":127000,"каÑħ":127001,"צ×Ļ׾":127002,"à¹Ģà¸Ĭà¹Īà¸Ļ":127003,"маг":127004,"магаз":127005,"магазин":127006,"à¸Ľà¸±":127007,"à¸Ľà¸±à¸Ī":127008,"Ġש×Ļר×ķת":127009,"ียม":127010,"ãĥĸãĥ«":127011,"ĠدÙĪÙĦ":127012,"קר×Ļ×Ŀ":127013,"ÙĩÙı":127014,"ово":127015,"Ġüret":127016,"دÙĪÙĨ":127017,"à¹ģà¸Ļว":127018,"à¹Ģà¸Ļืà¹īà¸Ń":127019,"ĠÑĦоÑĤ":127020,"ãĥĺ":127021,"ãģ¤ãģĭ":127022,"ÑıÑģ":127023,"ĠíķĺëĤĺëĭĺ":127024,"ائع":127025,"ĠплаÑĤ":127026,"ìĺĪ":127027,"ĠdostÄĻp":127028,"ÙĪØ¬Ùĩ":127029,"Ġ×Ķ×Ĺ×Ļ":127030,"׳×Ļ×§":127031,"дей":127032,"íĽĦ":127033,"ıy":127034,"بØŃر":127035,"à¹Ģสริม":127036,"Ġ׾×Ĵ":127037,"ذÙĩب":127038,"جÙĬÙĦ":127039,"رÙĥز":127040,"Ġëħ":127041,"Ġëħ¸":127042,"פ×Ļ׾×ķ":127043,"ãģ¾ãģļ":127044,"iriÅŁ":127045,"ĠÙĥÙĬÙģ":127046,"Ġ×ijצ":127047,"ĠêµIJ":127048,"ÑĢоÑģÑģ":127049,"ĠØ´ÙĬ":127050,"Ġiçer":127051,"×Ĵ×ķ×ij×Ķ":127052,"менно":127053,"×¢×ij×Ļר":127054,"×ķ×ŀ×Ķ":127055,"ãĤīãģĹãģĦ":127056,"ãģ¼":127057,"Ñīин":127058,"è²·ãģĦ":127059,"جÙħÙĪØ¹Ø©":127060,"Ġdönem":127061,"Ġ×ij×IJר":127062,"веÑģÑĤ":127063,"×ķר×ķת":127064,"سÙģ":127065,"à¹ģà¸Ĺà¸Ļ":127066,"ĠдокÑĥменÑĤ":127067,"ĠاÙĬ":127068,"جاÙĨ":127069,"צ×ķ×¢×Ļ":127070,"ĠоÑģоб":127071,"ĠاÙĦÙħس":127072,"ÑĢаб":127073,"à¸łà¸¹":127074,"à¸Ķาว":127075,"лекÑĤ":127076,"عÙĤ":127077,"×ķ×ĵ×ķת":127078,"Ġolu":127079,"ĠoluÅŁtur":127080,"ãģ¾ãģ¾":127081,"един":127082,"à¹Ģà¸Ńà¸ģ":127083,"ãĤµãĤ¤":127084,"ëĦĪ":127085,"Ø·ÙĨÙĬ":127086,"Ø·ÙĤØ©":127087,"ĠÐłÐ°Ð·":127088,"ÙĦÙij":127089,"Ñĩем":127090,"Ġ׾×ĺ":127091,"สัà¹Īà¸ĩ":127092,"سرائÙĬÙĦ":127093,"Ġפר×ĺ×Ļ":127094,"деÑģÑĮ":127095,"Ġ׳׼":127096,"اÙĨب":127097,"ÙĬاة":127098,"Ùħبر":127099,"Ġkı":127100,"à¸Ľà¸ı":127101,"à¸Ľà¸ıิ":127102,"à¸ļัà¸ķิ":127103,"×ł×ª×Ļ":127104,"ìĨ¡":127105,"راب":127106,"à¹ĥà¸ķ":127107,"à¹ĥà¸ķà¹ī":127108,"×Ļ×ł×ª":127109,"ÙĪÙĬر":127110,"Ġ×Ķ×ŀ×Ļ":127111,"ейÑĩаÑģ":127112,"×§×ķ×ij":127113,"دراس":127114,"ĠÙħÙĤ":127115,"رÙĬÙĨ":127116,"خاص":127117,"ãģĬéĩij":127118,"Ġجدا":127119,"ãģĨãģ¡":127120,"ëħ¸":127121,"ırım":127122,"æ§ĺ":127123,"ãģ«å¯":127124,"ãģ«å¯¾":127125,"ÑĨев":127126,"Ġvard":127127,"ĠÐIJн":127128,"eÄŁ":127129,"ÑģÑĤвенно":127130,"Ш":127131,"سد":127132,"à¸ģุ":127133,"à¹ģà¸ľà¸Ļ":127134,"รูà¹īส":127135,"รูà¹īสึà¸ģ":127136,"اتØŃاد":127137,"ÑijÑĤ":127138,"×Ĺ×ķ×§":127139,"ãģĻãģIJ":127140,"Ø·ÙĦاÙĤ":127141,"Ġ×§×ķ×ĵ":127142,"à¹ĥà¸Ĭà¹īà¸ĩ":127143,"à¹ĥà¸Ĭà¹īà¸ĩาà¸Ļ":127144,"ãĥ¼ãĤ¿":127145,"Ġsür":127146,"ÑĢок":127147,"ë³ij":127148,"สมาà¸Ĭ":127149,"สมาà¸Ĭิà¸ģ":127150,"ãĥķãĥ¬":127151,"è¾¼ãģ¿":127152,"ãĤ»ãĥ³":127153,"Ġê°Ģì§Ģ":127154,"à¸ľà¹īา":127155,"ÑįÑĤомÑĥ":127156,"иÑĤел":127157,"à¸łà¸±":127158,"à¸ij":127159,"ãĥĸãĥ©":127160,"×Ľ×ª×ķ×ij":127161,"׳×Ŀ":127162,"еннÑĭе":127163,"×¢×¨×Ľ×ª":127164,"ĠìĤ":127165,"ĠìĤ´":127166,"à¸Ĥà¹īา":127167,"׳×ķס":127168,"ãĥ¬ãĥĵ":127169,"ÑĢеÑģ":127170,"à¹Ģลà¸Ĥ":127171,"ثاÙĦ":127172,"ìĹĨ":127173,"ĠÑĩаÑģÑĤ":127174,"าศ":127175,"ãĥªãĤ¢":127176,"uç":127177,"×Ļ׼×ķת":127178,"ลà¹īาà¸Ļ":127179,"ië":127180,"ãĤ¸ãĤ§":127181,"à¸Īà¸Ń":127182,"ÙĪØŃØ¯":127183,"×Ļצ×ķ×ij":127184,"Ġ×ijש׾":127185,"око":127186,"ضة":127187,"ذر":127188,"ĠÑĥд":127189,"İL":127190,"×ķצ×Ļ×Ŀ":127191,"×ĸ×ŀף":127192,"à¸Ľà¸ģ":127193,"íķĻêµIJ":127194,"ساÙħ":127195,"à¹Ħà¸Ķ":127196,"ละà¹Ģà¸Ń":127197,"ละà¹Ģà¸Ńีย":127198,"ละà¹Ģà¸Ńียà¸Ķ":127199,"ảy":127200,"аÑĨион":127201,"ãĤ¹ãĤ¯":127202,"פ×ķס":127203,"รà¹Īาà¸ĩ":127204,"еннÑĭй":127205,"عÙĨ":127206,"عÙĦÙĨ":127207,"ائÙģ":127208,"dÄĻ":127209,"ؤÙĪÙĦ":127210,"׾×ķ×ķ":127211,"Ġ×ijש×ij":127212,"ä»ĬåĽŀ":127213,"ĠاÙĦجÙĨ":127214,"داد":127215,"waÄĩ":127216,"ãĥªãĥ³":127217,"ĠìŀIJìĭł":127218,"اÙĨÙĬا":127219,"ãĥ¡ãĥª":127220,"ÙĦÙĪÙĨ":127221,"à¸Ĺà¹Īà¸Ńà¸ĩ":127222,"à¸Ĺà¹Īà¸Ńà¸ĩà¹Ģà¸Ĺีà¹Īยว":127223,"اÙģÙĬ":127224,"ĠлиÑĪ":127225,"ÙħÙĬØ©":127226,"оÑĤвеÑĤ":127227,"Ñĩин":127228,"ÃĬ":127229,"ãĥ¡ãĥ³":127230,"å®Ł":127231,"éļĽãģ«":127232,"ĠÑĢай":127233,"ãĤ¦ãĥ³":127234,"×Ļר×ķש":127235,"×Ļר×ķש׾×Ļ×Ŀ":127236,"มะ":127237,"Ġara":127238,"казаÑĤÑĮ":127239,"à¸ķัà¸Ķ":127240,"ÑĥÑİÑĤ":127241,"Ġüst":127242,"×Ĵ×ķ×ij":127243,"×Ĵ×ķ×ij×ķת":127244,"malı":127245,"егод":127246,"егоднÑı":127247,"اÙģÙĤ":127248,"à¸Ĭà¹Īà¸Ńà¸ĩ":127249,"Ġözellik":127250,"×Ļצ×ķר":127251,"ĠmiÄĻd":127252,"ĠiliÅŁ":127253,"ĠнаÑħод":127254,"×¢×ĸר":127255,"×ľ×Ľ×ª":127256,"ÙĨتاج":127257,"ĠÑģем":127258,"à¸Īà¹Īาย":127259,"à¸ķรว":127260,"à¸ķรวà¸Ī":127261,"פר×ķ":127262,"à¸Ĥัà¸ļ":127263,"ãģŀ":127264,"Ġпло":127265,"колÑĮ":127266,"×ŀ×¢×ĺ":127267,"íķĺìĭľ":127268,"jÄħce":127269,"ÙĨاÙĨ":127270,"ลีà¸ģ":127271,"нÑĥÑĤ":127272,"ĠобÑĢаз":127273,"Ùĥبر":127274,"ĠاÙĦÙĪØ·ÙĨ":127275,"ãģķãģĽãģ¦":127276,"ÙĤاء":127277,"×ŀ×ĵ×Ļ׳":127278,"yü":127279,"פ×Ļת":127280,"׳×ķף":127281,"ÙħÙĨظ":127282,"หà¸Ļัà¸ģ":127283,"ìŀĪ":127284,"ãĤ«ãĥ¼ãĥī":127285,"عÙĨÙĬ":127286,"под":127287,"ضاء":127288,"à¸Ļà¸ķà¹Į":127289,"×ŀשפ":127290,"วà¹Į":127291,"ר×ķ×§":127292,"สืà¹Īà¸Ń":127293,"פק×Ļ×ĵ":127294,"ãģªãĤīãģªãģĦ":127295,"ĠìŬ룬":127296,"ÙĦج":127297,"ÑīиÑĤ":127298,"ãĥĥãĤ·":127299,"ÙĦÙĬس":127300,"ĠÙĦÙħا":127301,"ìłij":127302,"×ij×Ļף":127303,"ãĥģãĤ§":127304,"Ġgüç":127305,"Ġchứ":127306,"×ķצ×IJ":127307,"קר×ij":127308,"à¹Ĥà¸ŀ":127309,"оÑĩно":127310,"סק×Ļ":127311,"ש׾×Ŀ":127312,"صرÙģ":127313,"ĠLÃł":127314,"×¢×Ļת":127315,"á»·":127316,"à¹Ĥà¸Ńà¸ģ":127317,"à¹Ĥà¸Ńà¸ģา":127318,"à¹Ĥà¸Ńà¸ģาส":127319,"Ġ×Ķ×ĵ×ijר":127320,"à¸Ļัà¹Īà¸Ļ":127321,"زر":127322,"нако":127323,"íļį":127324,"ãĤĤãģ¡":127325,"ãĤĤãģ¡ãĤį":127326,"ãĤĤãģ¡ãĤįãĤĵ":127327,"اÙħت":127328,"عداد":127329,"инÑĭ":127330,"ÅĤyw":127331,"à¸Ħà¸ĵะ":127332,"à¸Ĺะ":127333,"ktör":127334,"×Ļ×Ĺ×Ķ":127335,"Ġме":127336,"ĠмеÑģÑı":127337,"׳×Ķ×Ĵ":127338,"ĠÑģÑĥÑīеÑģÑĤв":127339,"à¸Ļัà¸Ļ":127340,"ÑĦÑĦ":127341,"екÑĤив":127342,"عÙĦÙĪÙħات":127343,"бÑĥд":127344,"à¸Ļัà¸ģà¸ĩาà¸Ļ":127345,"หà¸Ļà¹īาà¸Ĺีà¹Ī":127346,"ÙĤÙĬÙĤ":127347,"ãĤ·ãĥ³":127348,"ãģ«éĸ¢":127349,"×IJר×Ĵ":127350,"ĠпÑĢоÑĤ":127351,"ĠпÑĢоÑĤив":127352,"ĠìŀĪìĸ´":127353,"ÙĤÙĬÙĤØ©":127354,"ìĹĩ":127355,"kür":127356,"ãģ«ãģªãĤĬãģ¾ãģĹãģŁ":127357,"ĠдеÑıÑĤ":127358,"ĠдеÑıÑĤелÑĮ":127359,"פ×ķר×ĺ":127360,"à¸Łà¹īา":127361,"à¹Ģà¸ł":127362,"ĠавÑĤомаÑĤ":127363,"×ĸ×Ļ×§":127364,"Ġolduk":127365,"عاÙħ":127366,"ĠÑĤоÑĢ":127367,"yrıca":127368,"êÌ":127369,"ãĤŃãĥ³ãĤ°":127370,"ãģ«ãģ¨ãģ£ãģ¦":127371,"à¹Ģà¸īà¸ŀ":127372,"à¹Ģà¸īà¸ŀาะ":127373,"ãģ¯ãģļ":127374,"×ŀ×IJ×Ļ":127375,"สะà¸Ķ":127376,"สะà¸Ķวà¸ģ":127377,"ìľ¼ë©°":127378,"à¸ģี":127379,"ฬ":127380,"Ġ×¢×ķש":127381,"à¸łà¸²à¸©à¸²":127382,"à¸Ĺัà¸Ļ":127383,"acakt":127384,"acaktır":127385,"اعدة":127386,"ĠÑĥÑģлÑĥг":127387,"סר×ĺ":127388,"×ķ×ŀ×ķת":127389,"×Ķ×ķר":127390,"×ŀ×ķ×ij":127391,"×ŀ×ķ×ijף":127392,"سÙĬاس":127393,"اتÙ쨧ÙĤ":127394,"×Ķצ׾":127395,"Ùħؤس":127396,"Ġpó":127397,"Ġкни":127398,"×Ļ׼×ķ׾":127399,"à¹Ģหลืà¸Ń":127400,"׼׾׼":127401,"׳×ĸ":127402,"ÑĪие":127403,"rès":127404,"ĠاÙĦØŃÙĤ":127405,"лÑıÑĢ":127406,"หà¸į":127407,"หà¸įิà¸ĩ":127408,"ר×Ĵ×Ļש":127409,"à¹Ģสà¹īà¸Ļ":127410,"ש×ij×ķף":127411,"ôtel":127412,"апÑĢ":127413,"апÑĢимеÑĢ":127414,"ابÙĦ":127415,"ĠÑĢазвиÑĤ":127416,"ĠполÑĮз":127417,"ĠСеÑĢ":127418,"×ķ×ij×Ļ":127419,"róż":127420,"ìĭŃ":127421,"ãĤ¯ãĥĪ":127422,"ãģĹãĤĪãģĨ":127423,"à¸ģรม":127424,"ØŃÙĥÙĪÙħ":127425,"à¹Ĥà¸ļ":127426,"à¸Ĺà¹īาย":127427,"ĠMá":127428,"ĠÑĤÑĭ":127429,"à¸Ħรัว":127430,"ÑĢÑĥб":127431,"ạp":127432,"ĠmÅĤ":127433,"ĠmÅĤod":127434,"ĠgörÃ¼ÅŁ":127435,"ĠgeliÅŁ":127436,"ươi":127437,"×ŀשק":127438,"ÙĢÙĢÙĢÙĢ":127439,"ราว":127440,"ãģĹãģ£":127441,"ãģĹãģ£ãģĭãĤĬ":127442,"ĠÐļон":127443,"Ġkê":127444,"à¹Ĥà¸Ĺร":127445,"èIJ½ãģ¡":127446,"åĩºãģ¦":127447,"ลัà¸ģษ":127448,"Ġ×Ĵ×ij×ķ×Ķ":127449,"ãĥĻãĥ«":127450,"ê±°ëĤĺ":127451,"ë§IJ":127452,"×Ļ׾×ĵ×Ļ×Ŀ":127453,"ĠëĦĪ":127454,"×ŀר×Ļ":127455,"รส":127456,"ãĥŃãĥ³":127457,"ило":127458,"ноÑģÑĤÑĮÑİ":127459,"×ĸר×Ĺ":127460,"пон":127461,"Ġ×Ķש׾":127462,"ê²łìĬµëĭĪëĭ¤":127463,"ĠkiÅŁ":127464,"ĠÐļи":127465,"วร":127466,"داع":127467,"ÅŁim":127468,"ÙĨÙij":127469,"ваÑĤ":127470,"راÙĥ":127471,"باÙĦ":127472,"иде":127473,"Ġ×Ķ×ŀ×Ĺ":127474,"ìĸµ":127475,"تÙģØ§Ø¹":127476,"أت":127477,"ëĬĺ":127478,"ש×Ļת":127479,"ستÙħر":127480,"ĠÑĦак":127481,"ĠاÙĦØ£ÙħرÙĬ":127482,"ëŀ¨":127483,"اسÙħ":127484,"ĠaÄŁ":127485,"Ġçev":127486,"ÙĥÙĪØ±":127487,"ãģķãģ¾":127488,"Ġçöz":127489,"Ġرس":127490,"Äħda":127491,"สà¸Ļุ":127492,"ãģĹãģ¦ãģıãĤĮ":127493,"нÑİ":127494,"leÅŁme":127495,"ãĤªãĥ³":127496,"ãģ¨ãģªãĤĬ":127497,"avaÅŁ":127498,"×ĺ×Ļ×ij":127499,"ØŃض":127500,"×ķצ×IJ×ķת":127501,"ÙĨÙħÙĪ":127502,"ıt":127503,"ĠÑħа":127504,"ĠÑħаÑĢак":127505,"ĠÑħаÑĢакÑĤеÑĢ":127506,"ĠdÅĤ":127507,"ãĥĹãĥ©":127508,"à¸Ĭุม":127509,"à¹Īà¸Ńà¸Ļ":127510,"×ķ×ij׾":127511,"Ñģол":127512,"×ĵ×Ĵ":127513,"аÑĢаÑĤ":127514,"nivers":127515,"ĠgerçekleÅŁtir":127516,"ĠاÙĦÙĦÙĬ":127517,"ระยะ":127518,"ĠÙħختÙĦÙģ":127519,"Ġgönder":127520,"ÙģØ§Ø±":127521,"doÄŁ":127522,"doÄŁan":127523,"صÙĦاØŃ":127524,"Ġyayın":127525,"ãĥĨãĥ³":127526,"รวà¸Ī":127527,"×Ļ×Ĺ×Ļ×ĵ":127528,"ünkü":127529,"ÑĨиалÑĮн":127530,"à¸ļู":127531,"มุ":127532,"hä":127533,"Ø®Ùģ":127534,"å¢Ĺ":127535,"å¢ĹãģĪ":127536,"еÑĩно":127537,"ĠاÙĦسÙĨ":127538,"à¸Ĥาว":127539,"imdi":127540,"Ы":127541,"à¸Ļà¸Ńà¸ģà¸Īาà¸ģ":127542,"à¸ļาล":127543,"תש":127544,"Ġdüzenle":127545,"мÑĭÑģл":127546,"ãģıãģª":127547,"żu":127548,"ĠwspóÅĤ":127549,"Ġназ":127550,"ındaki":127551,"ترة":127552,"ÅŁek":127553,"Ġöd":127554,"ĠÙĪÙĥ":127555,"ĠпозволÑı":127556,"Ġת×ķ׼":127557,"ÙħÙĨتج":127558,"ë§ī":127559,"ĠاÙĦØ«ÙĦاث":127560,"аÑĨиÑİ":127561,"ÙĪØ±ÙĪ":127562,"ÑĭваеÑĤ":127563,"خصص":127564,"ĠاÙĦÙģÙĦ":127565,"ĠاÙĦÙģÙĦسطÙĬÙĨ":127566,"إجر":127567,"إجراء":127568,"اÙĨتخ":127569,"اÙĨتخاب":127570,"ارÙĬØ©":127571,"×ķÖ":127572,"Ø¢ÙĨ":127573,"×ŀ×¢×ķת":127574,"Ġмал":127575,"Ġ×IJ×Ĺ":127576,"à¸Ĺà¹īà¸Ńà¸ĩ":127577,"zeÅĽ":127578,"Ġë§Įëĵ¤":127579,"رÙĬع":127580,"äºĭãĤĴ":127581,"à¸ļริหาร":127582,"׾×ŀ×Ļ×ĵ":127583,"ĠмÑĥж":127584,"ترÙĪ":127585,"ĠباÙĦØ¥":127586,"פ×Ļ×§":127587,"زÙħØ©":127588,"ĠÃ¶ÄŁrenc":127589,"ãĥ¶":127590,"اÙħعة":127591,"×§×ij×ķצ":127592,"×ŀ׳×ķת":127593,"رÙĬÙħ":127594,"Ġоказ":127595,"ãģłãģijãģ©":127596,"Ġhız":127597,"Ġש×IJת":127598,"ãĤ¢ãĥ¼":127599,"Ġmożliwo":127600,"ìĦ¼":127601,"ÙĪØ§Ø¨":127602,"огÑĢаÑĦ":127603,"ĠعبداÙĦ":127604,"ãĤĴè¡Į":127605,"بÙĬÙĦ":127606,"Ġİç":127607,"ยาย":127608,"ĠÑĥÑĩаÑģÑĤ":127609,"ÑĦеÑģÑģ":127610,"ÑĦеÑģÑģиона":127611,"Ấ":127612,"ÙĨÙĬÙĨ":127613,"عدÙĦ":127614,"สรร":127615,"دÙĬÙĦ":127616,"×ij×Ļ×§":127617,"czyÅĤ":127618,"ÑĢоме":127619,"Ġмед":127620,"ìĻĶ":127621,"ãĥ©ãĤ¤ãĥ³":127622,"ĠÑĤеп":127623,"еÑĢÑĮ":127624,"iÄŁi":127625,"вели":127626,"ÑĢиÑģÑĤ":127627,"ס×ķפ":127628,"×ŀ׾×Ĺ":127629,"ĠاÙĦØ¥ÙĨ":127630,"Ġ׾×Ķש":127631,"è¶ĬãģĹ":127632,"ĠÑĢÑĭ":127633,"×ķ×IJר":127634,"رÙĩاب":127635,"פ×ķ×IJ×Ļ":127636,"ĠгоÑģÑĥд":127637,"ĠгоÑģÑĥдаÑĢ":127638,"ĠгоÑģÑĥдаÑĢÑģÑĤв":127639,"ĠاÙĦØ£ÙħÙĬر":127640,"Ùħج":127641,"à¹Ģหมาะ":127642,"ÑĢев":127643,"à¸Ĭีà¸ŀ":127644,"ãĥķãĥĪ":127645,"иÑĩно":127646,"ĠاÙĦÙħؤ":127647,"Ġiht":127648,"íħľ":127649,"دÙĨÙĬ":127650,"رص":127651,"лаÑģÑĤ":127652,"à¹Ģหลà¹Īา":127653,"ılır":127654,"รà¸ĵà¹Į":127655,"×ŀש×Ļ×ļ":127656,"Ġdá»ĭ":127657,"Ø·Ù쨧ÙĦ":127658,"×ĺ×ķף":127659,"Ġ×ij×Ļ׳":127660,"ãģ¾ãģ£ãģŁ":127661,"ложениÑı":127662,"تØŃر":127663,"باØŃ":127664,"à¹Ģสืà¹īà¸Ń":127665,"ãģĻãģĶ":127666,"ltür":127667,"à¸ĩาม":127668,"Ġtü":127669,"ĠпÑĢим":127670,"ĠпÑĢимен":127671,"Ġhayat":127672,"ëĥIJ":127673,"ëĭĮ":127674,"׳×Ļ×ķ":127675,"веден":127676,"ìħ¨":127677,"à¸Īัย":127678,"à¸ģà¹Īà¸Ń":127679,"Ġвод":127680,"оÑģÑĤоÑı":127681,"наÑĤ":127682,"à¹ģหล":127683,"سÙħÙĬ":127684,"à¸Ķำà¹Ģà¸Ļ":127685,"à¸Ķำà¹Ģà¸Ļิà¸Ļ":127686,"wód":127687,"öyle":127688,"ãĥĢãĤ¤":127689,"ÑĪий":127690,"меÑīен":127691,"ãģĹãģ¾ãģĨ":127692,"ãĥīãĥ©":127693,"ÙĪØ¶ØŃ":127694,"à¸Ńà¸Ļุ":127695,"ĠاÙĦاجتÙħاع":127696,"laÅŁma":127697,"à¸Ħà¸Ńà¸Ļ":127698,"×ŀר×Ļ×Ŀ":127699,"ÙĨاÙħج":127700,"שר×ķת":127701,"اÙĦØ£":127702,"ĠksiÄħż":127703,"Ġан":127704,"ÑĢай":127705,"اÙĩرة":127706,"×ŀ×ĵ×Ķ":127707,"ä¸Ģç·":127708,"ä¸Ģç·Ĵ":127709,"ä¸Ģç·Ĵãģ«":127710,"ÑĢиÑĤоÑĢ":127711,"dıkl":127712,"à¹ģà¸ĸ":127713,"à¹ģà¸Ĥà¹Īà¸ĩ":127714,"екÑĤоÑĢ":127715,"×ŀסע":127716,"ÑĢакÑĤи":127717,"uÄŁu":127718,"×ķ×ijת":127719,"สูà¸ķร":127720,"ĠçalÄ±ÅŁm":127721,"ĠçalÄ±ÅŁmalar":127722,"Ġана":127723,"ãĥĽãĥ¼ãĥł":127724,"Ġbölüm":127725,"Ġبص":127726,"олоÑģ":127727,"ĠìķĬëĬĶ":127728,"à¹Īะ":127729,"ÙĪØªØ±":127730,"ä¹Ĺ":127731,"ستخداÙħ":127732,"פ×Ļ×Ļס":127733,"פ×Ļ×Ļס×ij":127734,"פ×Ļ×Ļס×ij×ķ×§":127735,"ĠкÑĢаÑģ":127736,"лик":127737,"رÙĬØŃ":127738,"×ŀש׾×Ķ":127739,"à¹Ģยีà¹Īย":127740,"à¹Ģยีà¹Īยม":127741,"виÑģ":127742,"омн":127743,"ÄŁun":127744,"ãĥŃãĥ¼ãĥ³":127745,"أتÙĬ":127746,"à¸ķรี":127747,"çͳãģĹ":127748,"تÙħر":127749,"ìĹĪìĬµëĭĪëĭ¤":127750,"ĠÙĪØºÙĬر":127751,"redni":127752,"ĠاÙĦصÙģ":127753,"ĠнаÑģÑĤоÑı":127754,"ĠнаÑģÑĤоÑıÑī":127755,"à¸ķรา":127756,"ĠÑĥÑģлов":127757,"ĠÑĥÑģловиÑı":127758,"ÑĨеп":127759,"×Ķ×Ĺ׾×ĺ":127760,"Ø·ÙĬع":127761,"ĠBakan":127762,"ĠاÙĦرÙĪ":127763,"илÑĮно":127764,"ĠмеÑĤ":127765,"à¸Ķà¸Ńà¸ģ":127766,"ãģĭãĤīãģªãģĦ":127767,"ĠпоÑģÑĤоÑı":127768,"ĠпоÑģÑĤоÑıн":127769,"ĠÑĩаÑģ":127770,"üc":127771,"wró":127772,"бÑĥÑĢ":127773,"ãĥIJãĥĥãĤ¯":127774,"ãĥ©ãĥ³ãĥī":127775,"ĠогÑĢ":127776,"สัà¸į":127777,"สัà¸įà¸įา":127778,"มัà¹Īà¸Ļ":127779,"à¸Ħà¸Ńม":127780,"alık":127781,"Ġнед":127782,"ümüz":127783,"ĠÅĽwie":127784,"ério":127785,"×Ļ×IJ×Ķ":127786,"دÙħات":127787,"ırl":127788,"ĠоÑĤз":127789,"ĠоÑĤзÑĭв":127790,"ä»ĺãģį":127791,"Ġkażde":127792,"миниÑģÑĤ":127793,"ãĤ°ãĥ«":127794,"ë°ĸ":127795,"езн":127796,"اÙĦÙģ":127797,"Ġשק׾":127798,"Ùħض":127799,"ãĥĿãĥ¼ãĥĪ":127800,"ÙħÙĨت":127801,"ÙĤÙĬاÙħ":127802,"Ø´ÙĨ":127803,"×Ļר×ķ×¢":127804,"ãĤŃãĥ£ãĥ³":127805,"доÑĢов":127806,"×ŀ×Ļת×Ļ":127807,"ÙĪÙĦÙĪØ¬":127808,"ÙĥاÙģ":127809,"ĠÑĢазлиÑĩ":127810,"иÑĤеÑĤ":127811,"нолог":127812,"ลà¸ĩà¸Ĺุà¸Ļ":127813,"ĠyaklaÅŁ":127814,"ãĥ¬ãĤ¤":127815,"ê²łëĭ¤":127816,"æ±ĤãĤģ":127817,"رÙĪÙģ":127818,"ĠíĬ":127819,"ĠíĬ¹":127820,"ãģ£ãģıãĤĬ":127821,"à¸Ħวามà¸Ħิà¸Ķ":127822,"×Ķ×Ļס×ĺ":127823,"Ø¥ÙĤ":127824,"ãģ¦ãģĦ":127825,"à¹Ĥà¸Ĭ":127826,"ĠBüyük":127827,"ĠФедеÑĢ":127828,"ÑĨин":127829,"ÑĢова":127830,"ĠاÙĦاÙĤتصاد":127831,"Ġchá":127832,"à¸ĺาà¸Ļ":127833,"ë¥ł":127834,"à¹Ħà¸ķ":127835,"ÃŃpio":127836,"Ùĭا":127837,"ĠобÑıз":127838,"Ùĩج":127839,"Ġì¤ijìļĶ":127840,"ãģ®ãģ§ãģ¯ãģªãģĦ":127841,"باراة":127842,"ãĤ¤ãĥ«":127843,"ĠноÑĢм":127844,"á»īnh":127845,"mö":127846,"möglich":127847,"ÑĨип":127848,"ãĤ¢ãĤ¯":127849,"×Ķ×Ļ":127850,"ÑĨиалÑĮно":127851,"ĠÅĽwi":127852,"تÙĤ":127853,"ĠÑģÑĤоим":127854,"بÙĬعÙĬ":127855,"Ġ׾ש×ŀ":127856,"глÑı":127857,"глÑıд":127858,"ãģ¦ãģıãĤĮ":127859,"ÄĻdzi":127860,"à¸Ĥั":127861,"à¸Ĥัà¹īà¸Ļ":127862,"Ø·ÙĤ":127863,"ĠìĹŃ":127864,"ãģ£ãģ¦ãģĹãģ¾ãģĨ":127865,"ĠdeÄŁerl":127866,"ĠdeÄŁerlendir":127867,"Ġülk":127868,"Ġмног":127869,"à¹ĭ":127870,"ë¿IJ":127871,"ĠУкÑĢа":127872,"ÄŁini":127873,"Ġбезоп":127874,"ĠбезопаÑģ":127875,"à¸Ńà¸Ńà¸ģà¹ģà¸ļà¸ļ":127876,"اظ":127877,"ØŃداث":127878,"леÑĢ":127879,"×Ļ×¥":127880,"×Ļ׳×ĺר׳×ĺ":127881,"larınız":127882,"ØŃÙĬØŃ":127883,"żeli":127884,"à¸Ńัà¸ĩ":127885,"à¸Ńัà¸ĩà¸ģ":127886,"à¸Ńัà¸ĩà¸ģฤษ":127887,"ĠоÑĤлиÑĩ":127888,"ัส":127889,"ëŀį":127890,"ожно":127891,"ãĤ¹ãĥĿ":127892,"ĠÑħоÑĩ":127893,"Ġкап":127894,"еÑĩен":127895,"ØŃÙĦØ©":127896,"ÙĬاÙĩ":127897,"нал":127898,"×ķצר×Ļ×Ŀ":127899,"Ġkald":127900,"åĥį":127901,"ĠاÙĦشخص":127902,"Ġзна":127903,"Ġwzgl":127904,"życz":127905,"ê°Ŀ":127906,"à¸ŀลัà¸ĩ":127907,"íģ¼":127908,"Ġöl":127909,"Ġbụ":127910,"Ø´Ùĩر":127911,"Ġзам":127912,"Ġдев":127913,"×Ļ×ĺת":127914,"تعÙĦÙĤ":127915,"ÙĪÙħØ©":127916,"ãĤĴä½ľ":127917,"ãģįãģ¦":127918,"íĥĿ":127919,"rasında":127920,"ãĤĴæİ¢":127921,"ĠÙħباشر":127922,"راجع":127923,"Ġвозд":127924,"ÙħØŃا":127925,"×ķשר":127926,"ĠиÑģÑĤоÑĢ":127927,"มัà¸ģ":127928,"tıģ":127929,"ثار":127930,"ترÙĨت":127931,"à¹ģà¸Ĥà¹ĩ":127932,"à¹ģà¸Ĥà¹ĩà¸ĩ":127933,"поÑĩ":127934,"Ġ×ij×IJ×ķת":127935,"ë¯Ģ":127936,"ëĿ¼ëıĦ":127937,"à¸Ĭัà¸Ķ":127938,"สà¸ķà¹Į":127939,"ãĥĭãĥĥãĤ¯":127940,"иденÑĤ":127941,"ĠгÑĢÑĥпп":127942,"تخ":127943,"áºł":127944,"ยืà¸Ļ":127945,"ยัà¸Ļ":127946,"óry":127947,"TÃľ":127948,"ãģĹãĤĥ":127949,"ĠпÑĢовед":127950,"лÑıеÑĤ":127951,"ÙħØ®":127952,"ยà¸Ńม":127953,"×Ľ×ł×¡×ª":127954,"ĠاÙĦÙħÙĨت":127955,"Ġolmad":127956,"ר׼×ĸ×Ļ":127957,"ĠвÑģÑĤÑĢ":127958,"ĠиÑģÑģлед":127959,"ÑĤвеÑĢж":127960,"بدÙĪ":127961,"еÑĢÑĤ":127962,"ï»·":127963,"±ħ":127964,"สัมà¸ŀัà¸Ļà¸ĺà¹Į":127965,"ิà¹Īà¸Ļ":127966,"צ×Ļ×ij":127967,"wiÄĻt":127968,"Ġì°¸":127969,"ĠzwiÄħz":127970,"سبÙĪØ¹":127971,"ãĥĥãĤ°":127972,"à¸Ľà¸¥à¸Ńà¸Ķ":127973,"à¸Ľà¸¥à¸Ńà¸Ķà¸łà¸±à¸¢":127974,"ãĤĤãĤĬ":127975,"ÙĤدس":127976,"Ġsprz":127977,"Ġsprzeda":127978,"Ġistedi":127979,"Ġkhu":127980,"Ġден":127981,"ĠkoÅĦ":127982,"Ġ×ij×Ĺ×Ļ":127983,"à¹Ģà¸Ĺà¹īา":127984,"×ķס×Ļ×£":127985,"ãĥĭãĥ¥ãĥ¼":127986,"ĠпÑĢедоÑģÑĤ":127987,"ĠпÑĢедоÑģÑĤав":127988,"à¹Ĥà¸Ł":127989,"év":127990,"ĠاÙĦصØŃ":127991,"صØŃاب":127992,"à¹Ģà¸Īà¹ĩà¸ļ":127993,"влек":127994,"วัà¸ķ":127995,"à¸ĸุ":127996,"ãģĵãģ¨ãģĮãģ§ãģįãģ¾ãģĻ":127997,"ÙĤÙĬÙĤÙĬ":127998,"×ķ×Ĺר":127999,"ÑĭÑĪ":128000,"ĠоÑĤно":128001,"ĠоÑĤноÑĪ":128002,"обилÑĮ":128003,"ÙģØŃ":128004,"ınt":128005,"ıntı":128006,"Ġ׾×ij×ĵ":128007,"íİĺìĿ´ì§Ģ":128008,"ãĥĬãĥ«":128009,"ĠÙħساء":128010,"×Ļ×ĺ×ij":128011,"ÑĮеÑĢ":128012,"ëĦ·":128013,"ÑĭÑĤа":128014,"ĠоÑĩеÑĢ":128015,"à¸Ķืà¹Ī":128016,"à¸Ķืà¹Īม":128017,"ĠNgh":128018,"تعب":128019,"ÙĦاÙĤات":128020,"×ķ׾×ķ×Ĵ×Ļ×Ķ":128021,"ĠìĿ´ê²ĥ":128022,"Ġ×Ķ×ijר":128023,"ìľµ":128024,"à¹Ģà¸Ħลืà¹Īà¸Ńà¸Ļ":128025,"ÙĩØ©":128026,"à¸Īำà¹Ģà¸Ľà¹ĩà¸Ļ":128027,"å¤īãģĪ":128028,"wiÅĽcie":128029,"chod":128030,"chodzÄħ":128031,"вÑĢо":128032,"×ŀ×Ĺ×Ļר":128033,"Ġyı":128034,"Ġyıll":128035,"ì¡Į":128036,"à¹Ħหว":128037,"ãģªãģıãģª":128038,"ĠзавиÑģ":128039,"ĠìĺĪìĪĺ":128040,"Ù쨰":128041,"á»§ng":128042,"à¸ŀุà¸Ĺà¸ĺ":128043,"зн":128044,"layan":128045,"ãĤ¡":128046,"à¸ģà¹ĩà¸ķาม":128047,"ĠsaÄŁlam":128048,"รà¸ĵ":128049,"ĠÑģиÑĤ":128050,"ĠÑģиÑĤÑĥ":128051,"ĠاÙĦتÙĨ":128052,"×Ķ×ĸ":128053,"ĠØ·ÙĪÙĬÙĦ":128054,"taÅĤ":128055,"Ġgörd":128056,"å¤īãĤı":128057,"ëĥ¥":128058,"à¸Ħà¹Īà¸Ńย":128059,"×IJ×ķ×ĺ":128060,"ëħIJ":128061,"ãĥ©ãĥ³ãĤ¹":128062,"วัà¸Ĵ":128063,"วัà¸Ĵà¸Ļ":128064,"ĠoluÅŁ":128065,"פע×ķ׾":128066,"ĠszczegóÅĤ":128067,"à¸Ħาสิ":128068,"à¸Ħาสิà¹Ĥà¸Ļ":128069,"powied":128070,"ĠÑĤеб":128071,"หà¸Ļà¹Īวย":128072,"Ġмил":128073,"ØŃÙĥ":128074,"à¸Ĺà¸Ķ":128075,"ĠмаÑĤеÑĢиал":128076,"ÅĤow":128077,"à¹Ģà¸ģีย":128078,"ĠÑģовеÑĢ":128079,"ãĤ©":128080,"à¸Ľà¸£à¸´":128081,"ĠиÑİ":128082,"наÑĩен":128083,"ÑĢенд":128084,"muÅŁtur":128085,"ĠпÑĢодÑĥк":128086,"зд":128087,"ÑıÑĤи":128088,"ÑıÑĤиÑı":128089,"à¹Ģมีย":128090,"راتÙĬج":128091,"Ġamacı":128092,"ש×ķ׾":128093,"ש×ķ׾×Ĺ":128094,"สะà¸Ńา":128095,"สะà¸Ńาà¸Ķ":128096,"פ×Ĵ×¢":128097,"عبة":128098,"dın":128099,"íħĶ":128100,"Ġ×ŀש×Ĺ×§":128101,"Ġfiyat":128102,"ĠзаÑı":128103,"ĠзаÑıв":128104,"à¹Ĥหล":128105,"à¹Ĥหลà¸Ķ":128106,"à¸ģรุà¸ĩà¹Ģà¸Ĺà¸ŀ":128107,"צ×Ļ×Ļף":128108,"ìļ±":128109,"Ùħب":128110,"Ùħباد":128111,"landır":128112,"ĠвеÑģÑĮ":128113,"Ġhük":128114,"ĠÐĴоз":128115,"ÑĩиÑĤÑĭва":128116,"วล":128117,"×ķצע":128118,"à¸Ĥà¸ĵะà¸Ĺีà¹Ī":128119,"ĠaÅŁaģı":128120,"׾×IJ×ķ×ŀ×Ļ":128121,"trzym":128122,"Ã¤ÃŁig":128123,"owoÅĽci":128124,"ãģĿãĤĤ":128125,"ĠrozwiÄħz":128126,"ĠgÅĤówn":128127,"монÑĤ":128128,"×ŀ×ķ×ŀ":128129,"ĠÑģÑĤан":128130,"ÙĦاÙĤØ©":128131,"prowad":128132,"prowadzi":128133,"ĠÑģоÑģÑĤоÑı":128134,"×Ļ×IJ×ķת":128135,"rı":128136,"gı":128137,"ãĥijãĥij":128138,"ĠналиÑĩ":128139,"×Ķצע":128140,"Ġ׳×Ķ":128141,"à¸Ħัà¸ļ":128142,"عراض":128143,"иж":128144,"ÙĩائÙĬ":128145,"ãĤīãģı":128146,"ожеÑĤ":128147,"ĠобоÑĢ":128148,"ĠобоÑĢÑĥд":128149,"أسÙĦ":128150,"à¹ĩà¸Ķ":128151,"ÑĢÑĥÑĤ":128152,"دÙĬÙħÙĤ":128153,"دÙĬÙħÙĤرا":128154,"Ġjeste":128155,"×ķ×ķ×Ļר":128156,"×ij×ĵ×Ļ×§":128157,"деÑĢжива":128158,"ãģĬãģı":128159,"ewnÄĻtr":128160,"ewnÄĻtrzn":128161,"à¸ŀฤ":128162,"Ġ×IJ×ķ×Ķ":128163,"ת×Ĺ×ķש":128164,"Ġzob":128165,"дÑĥм":128166,"ĠÑģÑĭ":128167,"ÙĬرا":128168,"ĠwiÄĻks":128169,"à¹ģà¸ķà¸ģà¸ķà¹Īาà¸ĩ":128170,"lararas":128171,"lararası":128172,"íĺĢ":128173,"ëī´":128174,"×ķ×Ĵ׾":128175,"ĠоÑĤмеÑĤ":128176,"ĠÑĢан":128177,"تÙĥÙĦ":128178,"иÑĤелÑĮн":128179,"à¸Ľà¸£à¸°à¸§à¸±":128180,"à¸Ľà¸£à¸°à¸§à¸±à¸ķิ":128181,"ìŀĸ":128182,"можно":128183,"pieczeÅĦ":128184,"pieczeÅĦst":128185,"못":128186,"ìĬ¨":128187,"×ŀס×ŀ":128188,"Ủ":128189,"ศิ":128190,"ศิล":128191,"à¸¨à¸´à¸¥à¸Ľ":128192,"ĠÅļw":128193,"ãĥĥãĤ·ãĥ§ãĥ³":128194,"unitÃł":128195,"Ġmieszka":128196,"ĠmieszkaÅĦ":128197,"przed":128198,"przedsi":128199,"przedsiÄĻb":128200,"przedsiÄĻbior":128201,"à¸Ľà¸£à¸°à¸ªà¸´à¸Ĺà¸ĺิ":128202,"à¸Ľà¸£à¸°à¸ªà¸´à¸Ĺà¸ĺà¸´à¸łà¸²à¸ŀ":128203,"ยà¹Ī":128204,"ìķĻ":128205,"รวà¸Ķ":128206,"รวà¸Ķà¹Ģรà¹ĩว":128207,"å½ĵãģŁãĤĬ":128208,"älle":128209,"ÑĥеÑĤÑģÑı":128210,"ãn":128211,"ëłµ":128212,"thè":128213,"ãĤĴåĪ©ç͍":128214,"ìµľ":128215,"íĵ¨":128216,"à¸Ĺัà¸ļ":128217,"าà¸Ħม":128218,"ãģĩ":128219,"ëĤĮ":128220,"à¹Ģà¸Ľà¸¥à¹Īา":128221,"â¦":128222,"ë¾":128223,"êĢ":128224,"êĩ":128225,"â¡":128226,"ðŁŁ":128227,"ãIJ":128228,"âº":128229,"áŃ":128230,"áĻ":128231,"áĵ":128232,"á²":128233,"ðĵı":128234,"á¬":128235,"â¯":128236,"ä¨":128237,"êĿ":128238,"ê«":128239,"ðij":128240,"ðĵĥ":128241,"ðĿħ":128242,"":128244,"":128245,"":128247,"ĠعÙĦÙī":128248,"Ġmá»Ļt":128249,"ĠvỼi":128250,"Ġngưá»Ŀi":128251,"ĠØ¥ÙĦÙī":128252,"Ġnhững":128253,"Ġthá»ĥ":128254,"Ġ×IJ×ķ":128255,"Ġ×¢×Ŀ":128256,"اÙĭ":128257,"Ġà¹ģละ":128258,"ĠÙĦا":128259,"Ġnhư":128260,"ĠاÙĦتÙĬ":128261,"Ġ×Ķ×ķ×IJ":128262,"ĠÄijến":128263,"ĠØ£ÙĪ":128264,"Ġvá»ģ":128265,"ĠlÃłm":128266,"Ġsẽ":128267,"ĠcÅ©ng":128268,"Ġợ":128269,"ĠÄijó":128270,"Ġnhiá»ģu":128271,"Ġtại":128272,"Ġtrên":128273,"Ġ×Ĵ×Ŀ":128274,"ĠnhÃł":128275,"Ġ׼×Ļ":128276,"Ġsá»±":128277,"ĠÄijầu":128278,"Ġbá»ĭ":128279,"ĠÙĩذا":128280,"Ġnhất":128281,"Ġphải":128282,"Ġhiá»ĩn":128283,"Ġdụng":128284,"ĠÄijá»Ļng":128285,"ĠاÙĦÙĦÙĩ":128286,"ĠØĮ":128287,"ĠÙĥÙĦ":128288,"Ġviá»ĩc":128289,"ĠnÄĥm":128290,"Ġthì":128291,"Ġhá»įc":128292,"ĠÙĪØª":128293,"té":128294,"ĠاÙĨ":128295,"Ġtôi":128296,"Ġ×IJ׳×Ļ":128297,"Ġ׾×Ļ":128298,"Ġ×ŀ×ķ":128299,"ĠngÃły":128300,"ĠnÆ°á»Ľc":128301,"Ġ×Ķ×Ļ×IJ":128302,"Ġ×IJ×Ļ":128303,"ĠhÆ¡n":128304,"ĠÙĩذÙĩ":128305,"ĠÙĪÙĬ":128306,"ĠاÙĦذÙĬ":128307,"Ġ×ķ×ŀ":128308,"Ġgiá":128309,"Ġnhân":128310,"ĠchÃŃnh":128311,"Ġmình":128312,"ĠÐĿа":128313,"Ġthế":128314,"Ġ×Ļ×ķתר":128315,"Ġ×IJ×Ŀ":128316,"Ġnên":128317,"Ġhợ":128318,"Ġhợp":128319,"Ġcòn":128320,"ĠÙĩÙĪ":128321,"ĠcÆ¡":128322,"Ġrất":128323,"ĠViá»ĩt":128324,"Ġبعد":128325,"Ġש×Ļ":128326,"Ġthá»Ŀi":128327,"Ġcách":128328,"ĠÄijá»ĵng":128329,"Ġно":128330,"Ġtrưá»Ŀng":128331,"ØŁ":128332,"ĠÄijá»ĭnh":128333,"ĠÄijiá»ģu":128334,"×Ļ×Ļ×Ŀ":128335,"Ġthá»±c":128336,"nın":128337,"Ġhình":128338,"Ġnói":128339,"Ġcùng":128340,"Ġ×Ķ×Ķ":128341,"ĠØ¥ÙĨ":128342,"Ġ×IJ×ij׾":128343,"Ġnhưng":128344,"Ġbiết":128345,"Ġже":128346,"Ġchúng":128347,"ĠÄijang":128348,"ĠذÙĦÙĥ":128349,"Ġlên":128350,"Ġkhách":128351,"ĠnÃło":128352,"Ġsá»Ń":128353,"Ġkhác":128354,"Ġë°ı":128355,"Ġlý":128356,"×Ļ×Ļ":128357,"ĠÄijây":128358,"Ġ׾×ŀ":128359,"Ġcần":128360,"Ġtrình":128361,"Ġphát":128362,"ãģ«ãĤĤ":128363,"по":128364,"ĠnÄĥng":128365,"Ġbá»Ļ":128366,"Ġvụ":128367,"ĠÄijá»Ļ":128368,"Ñĩе":128369,"ĠnháºŃn":128370,"ĠtrÆ°á»Ľc":128371,"Ġ×¢×ĵ":128372,"ĠhÃłnh":128373,"ĠØ®ÙĦاÙĦ":128374,"Ġlượng":128375,"Ġcấp":128376,"Ġtá»±":128377,"Ġvì":128378,"Ġtư":128379,"Ġchất":128380,"Ġ׼×ŀ×ķ":128381,"Ġgì":128382,"Ġש׳":128383,"Ġtế":128384,"ת×ķ":128385,"Ġnghiá»ĩp":128386,"Ġmặt":128387,"ĠÙĥÙħا":128388,"Ġ×ij×Ļף":128389,"Ġרק":128390,"Ġthấy":128391,"Ġmáy":128392,"ĠÙģÙī":128393,"Ġdân":128394,"Ġ×IJ×Ĺ×ĵ":128395,"Ġtâm":128396,"Ġ׼×ļ":128397,"Ġ׾×ķ":128398,"во":128399,"Ġtác":128400,"ĠtoÃłn":128401,"ĠÙĪÙħ":128402,"Ġkết":128403,"Ġหรืà¸Ń":128404,"ĠÙĪØ§ÙĦÙħ":128405,"ĠÄijiá»ĥm":128406,"Ġ×ĸ×ķ":128407,"Ġ×ij×ķ":128408,"׼×ķת":128409,"Ġhá»Ļi":128410,"Ġbằng":128411,"تÙĩا":128412,"Ġ׼×ĵ×Ļ":128413,"Ġ×Ķ×Ŀ":128414,"Ġxuất":128415,"ĠÙĤد":128416,"Ġbảo":128417,"Ġtá»ijt":128418,"Ġtình":128419,"ĠÙĩÙĬ":128420,"ĠÄijá»iji":128421,"Ġthiết":128422,"Ġhiá»ĩu":128423,"Ġtiếp":128424,"Ġtạo":128425,"ת×Ķ":128426,"Ġchá»§":128427,"oÅĽÄĩ":128428,"Ġgiú":128429,"Ġgiúp":128430,"Ġý":128431,"Ġquả":128432,"Ġloại":128433,"Ġcô":128434,"Ġô":128435,"Ġông":128436,"Ġ×Ķ×ķ":128437,"ĠاÙĦÙĬÙĪÙħ":128438,"ĠtÃŃnh":128439,"га":128440,"Ġphòng":128441,"ĠÄĥn":128442,"ĠعاÙħ":128443,"Ġvá»ĭ":128444,"larını":128445,"rÃŃa":128446,"ĠtỼi":128447,"ĠÄijưá»Ŀng":128448,"ĠgiỼi":128449,"Ġbản":128450,"Ġcầu":128451,"Ġnhiên":128452,"Ġbá»ĩnh":128453,"Ġthưá»Ŀng":128454,"Ġ×IJ×Ļף":128455,"ĠÄijá»ģ":128456,"Ġhá»ĩ":128457,"Ġ×Ļשר×IJ׾":128458,"Ġquá":128459,"ĠÐĹа":128460,"ãģ®ãģ§ãģĻãģĮ":128461,"ĠÐŁÑĢи":128462,"Ġphần":128463,"ĠÙĪÙĦا":128464,"ĠlỼn":128465,"Ġtrá»ĭ":128466,"Ġcảm":128467,"Ġмо":128468,"Ġdùng":128469,"ĠاÙĦÙī":128470,"ĠعÙĦÙĬÙĩ":128471,"ĠìŀĪìĬµëĭĪëĭ¤":128472,"ÙĬÙĤ":128473,"ĠÙĤبÙĦ":128474,"Ġhoặc":128475,"ĠØŃÙĬØ«":128476,"Ġà¸Ĺีà¹Ī":128477,"ĠغÙĬر":128478,"ĠÄijại":128479,"Ġsá»ijng":128480,"нÑĭми":128481,"Ġthức":128482,"Ġפ×Ļ":128483,"ĠÄijiá»ĩn":128484,"ãģªãģĭãģ£ãģŁ":128485,"Ġgiải":128486,"Ġvẫn":128487,"ĠиÑħ":128488,"Ġönce":128489,"ĠváºŃy":128490,"Ġmuá»ijn":128491,"Ġảnh":128492,"à¹ĥà¸Ļà¸ģาร":128493,"ĠQuá»ijc":128494,"Ġkế":128495,"׳×IJ":128496,"Ġס×Ļ":128497,"Ġyêu":128498,"ãģ®ãģĭ":128499,"ĠÄijẹ":128500,"ĠÄijẹp":128501,"Ġchức":128502,"Ġyıl":128503,"ĠTürkiye":128504,"dé":128505,"ĠÙĤاÙĦ":128506,"Ġdá»ĭch":128507,"ĠolduÄŁu":128508,"Ġchá»įn":128509,"ĠتÙħ":128510,"หà¸Ļึà¹Īà¸ĩ":128511,"ãģķãĤĮãģŁ":128512,"Ġpháp":128513,"ìĽĶ":128514,"Ġtiá»ģn":128515,"ãģĹãģ¾ãģĹãģŁ":128516,"Ġש׾×IJ":128517,"ÙĦØ©":128518,"Ġ׾פ׳×Ļ":128519,"Ġ×ij×Ļת":128520,"ĠHÃł":128521,"ĠØŃت":128522,"ĠØŃتÙī":128523,"Ġ×¢×ķ×ĵ":128524,"Ġnó":128525,"Ġtháng":128526,"à¹Ģลืà¸Ńà¸ģ":128527,"ר×Ķ":128528,"ĠtÄĥng":128529,"Ġcái":128530,"Ġtriá»ĥn":128531,"Ġ×IJ×ķת×ķ":128532,"ìłģìĿ¸":128533,"ĠCông":128534,"Ġ׾×Ķ×Ļ×ķת":128535,"Ġгода":128536,"иÑİ":128537,"Ġبعض":128538,"Ġà¸ģาร":128539,"èī¯ãģĦ":128540,"ÙĪØª":128541,"Ġliên":128542,"ĠÐĿо":128543,"ĠÐĿе":128544,"çļĦãģª":128545,"ĠÙħت":128546,"ĠÑĤакже":128547,"ĠкоÑĤоÑĢÑĭе":128548,"Ġ×Ļ×ĵ×Ļ":128549,"Ġtrá»įng":128550,"ãĤµãĤ¤ãĥĪ":128551,"ìłģìľ¼ë¡ľ":128552,"ĠtáºŃp":128553,"Ġש׾×Ļ":128554,"íķĺê²Į":128555,"ĠtÃłi":128556,"ĠЯ":128557,"Ġrá»ĵi":128558,"اÙĥ":128559,"Ġthương":128560,"Ġ×Ķ×ĸ×Ķ":128561,"ĠÙĪÙħÙĨ":128562,"à¸Ĺีà¹Īมี":128563,"Ġcuá»Ļc":128564,"Ġbüyük":128565,"ãģ¨ãģĭ":128566,"Ġ×ij×Ļ×ķתר":128567,"Ġlần":128568,"Ġgöre":128569,"Ġtrợ":128570,"Ġ×ĺ×ķ×ij":128571,"ÑĤÑĮÑģÑı":128572,"Ġthá»ijng":128573,"Ġ׼ש":128574,"Ġtiêu":128575,"Ġ×ŀ×IJ×ķ×ĵ":128576,"ØĽ":128577,"kÄħ":128578,"Ġà¹ĥà¸Ļ":128579,"Ġvấn":128580,"Ġש׾×ķ":128581,"ĠÄijá»ģu":128582,"ÙģØª":128583,"Ġê²ĥìĿ´":128584,"Ġhóa":128585,"ĠاÙĦعاÙħ":128586,"ĠÙĬÙĪÙħ":128587,"кой":128588,"Ġbiá»ĩt":128589,"ÑģÑĤо":128590,"Ġ×Ķ×Ļ×ķ":128591,"à¸Ĺีà¹Īà¸Īะ":128592,"Ġ×ĵ×Ļ":128593,"Ġ×IJ×ļ":128594,"Ġán":128595,"صÙĪØ±":128596,"ĠtrÃŃ":128597,"ĠÐŁÑĢо":128598,"Ġlá»±c":128599,"ãģĹãģ¦ãģĦãģ¾ãģĻ":128600,"ĠbÃłi":128601,"Ġ×ĸ×IJת":128602,"Ġbáo":128603,"à¸ļà¸Ļ":128604,"ĠëĮĢíķľ":128605,"Ġtiế":128606,"Ġtiếng":128607,"Ġbên":128608,"ãģķãĤĮãĤĭ":128609,"sión":128610,"Ġtìm":128611,"×¢×ķ":128612,"mé":128613,"ниÑı":128614,"ãģ»ãģ©":128615,"Ġà¹Ģà¸ŀราะ":128616,"بة":128617,"Ġë¶Ħ":128618,"Ġ×IJ×ĸ":128619,"à¸Ĺà¹Īาà¸Ļ":128620,"ת×Ŀ":128621,"Ġthêm":128622,"Ġhoạt":128623,"yı":128624,"×ĸ×ķ":128625,"Ġgiá»Ŀ":128626,"Ġbán":128627,"à¸Ĥาย":128628,"Ñĩа":128629,"Ġà¹Ĩ":128630,"ĠاÙĦÙħت":128631,"ĠоÑĩенÑĮ":128632,"Ġbất":128633,"Ġtrẻ":128634,"ÑĤÑĢ":128635,"ĠØ£ÙĨÙĩ":128636,"ĠØ«Ùħ":128637,"Ġ׼×ŀ×Ķ":128638,"Ġkhó":128639,"Ġrằng":128640,"ĠÙĪÙģÙĬ":128641,"ний":128642,"ĠhoÃłn":128643,"tó":128644,"Ġ×IJשר":128645,"ĠìĥĿê°ģ":128646,"Ñģа":128647,"Ġ׼×ijר":128648,"ĠÑįÑĤом":128649,"larının":128650,"Ġchưa":128651,"зи":128652,"Ġdẫn":128653,"ĠÐļак":128654,"جÙĪ":128655,"ĠбÑĭло":128656,"ĠÙĬت":128657,"nı":128658,"ÅĤam":128659,"ĠÙĪÙĩÙĪ":128660,"×ij×ķ":128661,"пи":128662,"רת":128663,"Ġquá»ijc":128664,"жд":128665,"ĠÄijÆ¡n":128666,"Ùĥتب":128667,"Ġmắt":128668,"ระà¸ļ":128669,"ระà¸ļà¸ļ":128670,"ĠÙĥاÙĨت":128671,"Ġthân":128672,"สิà¸Ļà¸Ħà¹īา":128673,"×Ĵ×Ļ":128674,"Ġphương":128675,"à¹Ħมà¹Īà¹Ħà¸Ķà¹ī":128676,"ĠìĦ±":128677,"ĠCác":128678,"Ġ×Ķ×ŀ×ķ":128679,"ĠÑĤем":128680,"Ġ×ĵ×ķ":128681,"à¸Ńะà¹Ħร":128682,"ĠvÄĥn":128683,"ãģªãģ®ãģ§":128684,"ĠNá»Ļi":128685,"Ġ×¢×ķ":128686,"ãĤīãĤĮãĤĭ":128687,"Ġsáng":128688,"Ġgöster":128689,"ãģĵãģ¨ãĤĴ":128690,"Ġtarafından":128691,"Ġма":128692,"ĠпоÑģле":128693,"Ġ׳×Ļת":128694,"Ġ׳×Ļ×ª×Ł":128695,"ĠлеÑĤ":128696,"Ġ׾׳×ķ":128697,"ÑģÑģ":128698,"Ġ×Ļ×ķ":128699,"пе":128700,"ĠÙĪÙĦÙĥ":128701,"ĠÙĪÙĦÙĥÙĨ":128702,"ĠngoÃłi":128703,"ĠÄijá»ĭa":128704,"rzÄħd":128705,"dziaÅĤ":128706,"ĠÙħر":128707,"иÑĤÑĮÑģÑı":128708,"Ġ×IJ×Ĺר×Ļ":128709,"Ġ׾׼׾":128710,"à¸Ĥà¹īà¸Ńม":128711,"à¸Ĥà¹īà¸Ńมูล":128712,"Ġбол":128713,"Ġболее":128714,"جÙħع":128715,"леÑĤ":128716,"Ġlá»ĭch":128717,"ĠÙħØ«ÙĦ":128718,"Ġê·¸ë¦¬ê³ł":128719,"Ġthứ":128720,"ĠdeÄŁil":128721,"ÙĪØŃ":128722,"Ġש׾×ļ":128723,"ĠÙħØŃÙħد":128724,"Ġnếu":128725,"ĠÄijá»ķi":128726,"Ġvừa":128727,"Ġmá»įi":128728,"Ġони":128729,"Ġlúc":128730,"ĠÙĬÙĥÙĪÙĨ":128731,"ì§Ī":128732,"Ġש׾׳×ķ":128733,"ĠÐĶо":128734,"Ġש׳×Ļ":128735,"ลิ":128736,"×IJפשר":128737,"Ġsức":128738,"ê¶Į":128739,"Ġứng":128740,"à¹Ħมà¹Īมี":128741,"Ø·ÙĦب":128742,"ĠÑĩем":128743,"Ġchuyên":128744,"ĠthÃŃch":128745,"Ġ×ķ×Ļ":128746,"íķ©":128747,"ĠÙħصر":128748,"до":128749,"ĠÄijất":128750,"Ġchế":128751,"à¸Ĭืà¹Īà¸Ń":128752,"Ġìĭł":128753,"Ġإذا":128754,"ĠرئÙĬس":128755,"Ġש×Ļש":128756,"Ġgiảm":128757,"Ñģка":128758,"larında":128759,"Ġsợ":128760,"ĠtÃŃch":128761,"ĠÙĦÙĥÙĨ":128762,"ĠبÙħ":128763,"×¢×ķ×ij":128764,"×¢×ķ×ij×ĵ":128765,"ÅĤÄħcz":128766,"larına":128767,"Ġש×Ŀ":128768,"ĠÙĦت":128769,"Ġש×Ķ×ķ×IJ":128770,"tów":128771,"Ġëĭ¤ë¥¸":128772,"ĠØ£Ùĥثر":128773,"ãģ®ãģ§ãģĻ":128774,"׼×Ļ×Ŀ":128775,"ĠolduÄŁunu":128776,"ãģĭãģª":128777,"ãĤĤãģĨ":128778,"ÙĬØŃ":128779,"Ġnhìn":128780,"Ġnghá»ĩ":128781,"ãģ«ãģªãģ£ãģ¦":128782,"па":128783,"Ġquyết":128784,"ÙĦÙĤ":128785,"tá":128786,"Ġluôn":128787,"ĠÄijặc":128788,"Ġ×IJר":128789,"Ġtuá»ķi":128790,"são":128791,"ìϏ":128792,"رد":128793,"ĠبÙĩا":128794,"Ġ×Ķ×Ļ×ķ×Ŀ":128795,"×ķ×ķ×Ļ":128796,"ãģ§ãģĻãģŃ":128797,"ĠÑĤого":128798,"Ġthá»§":128799,"ãģĹãģŁãģĦ":128800,"رÙĤ":128801,"Ġbắt":128802,"гÑĥ":128803,"Ġtá»Ń":128804,"ÑĪа":128805,"Ġà¸Ľà¸µ":128806,"Ġ×Ķ×IJ×Ŀ":128807,"íı¬":128808,"ża":128809,"Ġ×IJת×Ķ":128810,"Ġná»Ļi":128811,"ĠphÃŃ":128812,"ĠÅŁekilde":128813,"Ġlá»Ŀi":128814,"dıģı":128815,"Ġ׼×IJף":128816,"Ġtüm":128817,"Ġmạnh":128818,"ĠMỹ":128819,"ãģĿãĤĵãģª":128820,"Ġnhá»ı":128821,"ãģªãģĮãĤī":128822,"Ġbình":128823,"ıp":128824,"à¸ŀา":128825,"ĠÄijánh":128826,"ĠÙĪÙĦ":128827,"ר×ķת":128828,"Ġ×IJ×Ļ×ļ":128829,"Ġchuyá»ĥn":128830,"Ùĥا":128831,"ãĤĮãĤĭ":128832,"à¹ģมà¹Ī":128833,"ãĤĪãģı":128834,"ĠÙĪÙĤد":128835,"íĸĪëĭ¤":128836,"ĠnÆ¡i":128837,"ãģ«ãĤĪãģ£ãģ¦":128838,"Ġviết":128839,"Ġà¹Ģà¸ŀืà¹Īà¸Ń":128840,"ëIJĺëĬĶ":128841,"ادÙĬ":128842,"ĠÙ쨥ÙĨ":128843,"ì¦Ŀ":128844,"ĠÄijặt":128845,"ĠhÆ°á»Ľng":128846,"Ġxã":128847,"Ġönemli":128848,"ãģłãģ¨":128849,"Ġmẹ":128850,"Ġ×ij×Ļ":128851,"Ġ×ĵ×ijר":128852,"ĠváºŃt":128853,"ĠÄijạo":128854,"Ġdá»±ng":128855,"ĠÑĤом":128856,"ĠÙģÙĬÙĩا":128857,"ĠجÙħÙĬع":128858,"ĠthuáºŃt":128859,"stÄĻp":128860,"Ġtiết":128861,"Ø´ÙĬ":128862,"ĠеÑīе":128863,"ãģĻãĤĭãģ¨":128864,"ĠmÃłu":128865,"ĠÑįÑĤого":128866,"Ġvô":128867,"ĠÐŃÑĤо":128868,"ĠtháºŃt":128869,"Ġnữa":128870,"Ġbiến":128871,"Ġnữ":128872,"Ġ׾׼×Ŀ":128873,"×Ļ×Ļף":128874,"Ġست":128875,"ĠÐŀÑĤ":128876,"Ġphụ":128877,"ê¹Įì§Ģ":128878,"Ġ׾×ļ":128879,"Ġkỳ":128880,"à¹ĥà¸Ħร":128881,"Ġgây":128882,"ĠÙĦÙĦÙħ":128883,"Ġtục":128884,"تÙĬÙĨ":128885,"Ġtrợ":128886,"Ġ׾פ×Ļ":128887,"Ġbá»ij":128888,"ĠÐļа":128889,"ĠÄijình":128890,"owÄħ":128891,"sında":128892,"Ġkhiến":128893,"sız":128894,"Ġкогда":128895,"×¡×ľ":128896,"ĠбÑĭл":128897,"à¸Ļà¹īà¸Ńย":128898,"обÑĢаз":128899,"Ġê²ĥìĿ´ëĭ¤":128900,"ëĵ¤ìĿĢ":128901,"ãģ¸ãģ®":128902,"Ġà¹Ģมืà¹Īà¸Ń":128903,"Ġphục":128904,"Ġ×Ĺ׾ק":128905,"Ġhết":128906,"ĠÄija":128907,"à¹Ģà¸Ķà¹ĩà¸ģ":128908,"íĺķ":128909,"lÃŃ":128910,"ê¸ī":128911,"Ġعدد":128912,"ĠÄijá»ĵ":128913,"Ġgần":128914,"Ġ×Ļ×ķ×Ŀ":128915,"ĠsÄ©":128916,"ÑĢÑıд":128917,"Ġquyá»ģn":128918,"Ġ×IJ׾×IJ":128919,"ÙĩÙħا":128920,"׳×Ļ×Ķ":128921,"׾×ķת":128922,"Ġ×Ķר×ij×Ķ":128923,"Ġtiên":128924,"Ġalın":128925,"Ġdá»ħ":128926,"人ãģĮ":128927,"ноÑģ":128928,"лÑģÑı":128929,"ĠÄijưa":128930,"สาว":128931,"иÑĢован":128932,"Ġ×ŀספר":128933,"×Ĵף":128934,"Ġkiến":128935,"ĠШ":128936,"pé":128937,"бÑĥ":128938,"овой":128939,"ба":128940,"ĠØ¥ÙĦا":128941,"×IJ׾×Ļ":128942,"Ġxây":128943,"Ġbợi":128944,"Ġש×ķ":128945,"人ãģ®":128946,"×§×Ļ×Ŀ":128947,"à¹Ģà¸Ķืà¸Ńà¸Ļ":128948,"Ġkhá":128949,"Ġ×ķ׾×Ķ":128950,"×ĵ×ķת":128951,"Ġ×¢×ij×ķר":128952,"ĠبشÙĥÙĦ":128953,"ĠÙĩÙĨاÙĥ":128954,"ÑĤÑĢа":128955,"ĠíķĺëĬĶ":128956,"รà¸Ńà¸ļ":128957,"owaÅĤ":128958,"hé":128959,"Ġdiá»ħn":128960,"Ġ×Ķ׼׾":128961,"Ġأس":128962,"Ġchuyá»ĩn":128963,"ระà¸Ķัà¸ļ":128964,"ĠNhững":128965,"Ġ×IJ×Ĺת":128966,"ĠØŃÙĪÙĦ":128967,"лов":128968,"׳ר":128969,"Ġ×ķ׳":128970,"ĠchÆ¡i":128971,"Ġiçinde":128972,"ÑģÑĤвÑĥ":128973,"Ġphá»ij":128974,"ĠÑģÑĥ":128975,"ç§ģãģ¯":128976,"Ġchứng":128977,"Ġvá»±c":128978,"à¹ģà¸Ń":128979,"ĠláºŃp":128980,"Ġtừng":128981,"å°ijãģĹ":128982,"ĠNguy":128983,"ĠNguyá»ħn":128984,"ĠÙģÙĬÙĩ":128985,"Ġба":128986,"×Ļ×Ļת":128987,"Ġ×ľ×¢×©×ķת":128988,"Ġ×ŀ׼":128989,"Ġnghiá»ĩm":128990,"Ġмного":128991,"Ġее":128992,"ëIJĺìĸ´":128993,"Ġlợi":128994,"Ġ׾׾×IJ":128995,"Ġ׼ף":128996,"ĠchÃŃ":128997,"ãģ§ãģ®":128998,"×Ĺ×ķ":128999,"ש×ķ×Ŀ":129000,"Ġ×ŀר":129001,"ĠÐĶлÑı":129002,"Åģ":129003,"Ġ׼×IJשר":129004,"ĠMá»Ļt":129005,"ĠÙĪØ§ÙĦت":129006,"ĠìĿ´ëٰ":129007,"ÅŁa":129008,"Ġchiến":129009,"Ġarasında":129010,"Ġ×ij×IJתר":129011,"ãģķãĤĮãģ¦ãģĦãĤĭ":129012,"Ø´ÙĥÙĦ":129013,"Ġtượng":129014,"Ġتت":129015,"ĠCó":129016,"Ġbá»ı":129017,"Ġtá»īnh":129018,"ĠkhÃŃ":129019,"ĠпÑĢоÑģÑĤ":129020,"ĠпÑĢоÑģÑĤо":129021,"ĠÙĪÙĤاÙĦ":129022,"Ġgiáo":129023,"ĠNếu":129024,"×IJ×ŀר":129025,"×¢×ł×Ļ×Ļף":129026,"íݸ":129027,"ÙĩدÙģ":129028,"ĠBá»Ļ":129029,"ĠbÃłn":129030,"Ġnguyên":129031,"Ġgüzel":129032,"สาย":129033,"ì²ľ":129034,"×ŀ×ķר":129035,"Ġphân":129036,"ספק":129037,"×§×ij׾":129038,"ĠاÙĦÙħتØŃ":129039,"ĠاÙĦÙħتØŃدة":129040,"ائد":129041,"Ġ×IJ×ŀר":129042,"ĠkiÅŁi":129043,"ì¤Ģ":129044,"Ġtruyá»ģn":129045,"ĠÙĦÙĩا":129046,"ĠÐľÐ°":129047,"à¸ļริษ":129048,"à¸ļริษั":129049,"à¸ļริษัà¸Ĺ":129050,"Ġש׳×Ļ×Ŀ":129051,"ĠменÑı":129052,"ÅŁe":129053,"Ġdiá»ĩn":129054,"Ġ×IJ׳×Ĺ׳×ķ":129055,"kü":129056,"Ġcá»ķ":129057,"Ġmá»Ĺi":129058,"wä":129059,"ÙħÙĬ":129060,"Ġhiá»ĥu":129061,"ëĭ¬":129062,"Ġ×Ķ×Ĺ׾":129063,"Ġtên":129064,"Ġkiá»ĩn":129065,"ÙĨÙĤÙĦ":129066,"Ġvá»ĩ":129067,"×ĵת":129068,"ĠÐłÐ¾ÑģÑģии":129069,"лÑĥ":129070,"ĠاÙĦعربÙĬØ©":129071,"ĠطرÙĬÙĤ":129072,"Ġ×Ķ×ij×Ļת":129073,"ÑģеÑĢ":129074,"Ġмне":129075,"äu":129076,"Ġtriá»ĩu":129077,"ĠÄijá»§":129078,"Ġר×ij":129079,"تÙĩÙħ":129080,"à¸ĭี":129081,"Ġì§Ģê¸Ī":129082,"liÅĽmy":129083,"دعÙħ":129084,"ãģłãĤįãģĨ":129085,"Ñģкие":129086,"Ġhá»ıi":129087,"Ġ×§×ķ":129088,"ÑĢÑĥÑģ":129089,"ÙĨظر":129090,"ãģ®ãĤĤ":129091,"Ġ×Ķ׼×Ļ":129092,"ĠìĽIJ":129093,"ÙĪÙĩ":129094,"ĠÙĪÙİ":129095,"ĠBạn":129096,"плаÑĤ":129097,"Ġ×ŀ×ŀש":129098,"лÑİб":129099,"ĠнÑĥжно":129100,"Ġthư":129101,"ãģµ":129102,"ãģıãĤīãģĦ":129103,"رش":129104,"ר×ķ×Ĺ":129105,"ĠÙĬتÙħ":129106,"Ġצר×Ļ×ļ":129107,"Ġphá":129108,"มà¸Ńà¸ĩ":129109,"Ġ×ij×IJ×ķפף":129110,"Ġcảnh":129111,"Ġíķľëĭ¤":129112,"Ġ×Ķ×ŀת":129113,"à¸ķà¹Īาà¸ĩà¹Ĩ":129114,"มีà¸ģาร":129115,"ÑģкиÑħ":129116,"ĠÐĴÑģе":129117,"ĠاÙĪ":129118,"جÙĬ":129119,"ãģĵãģ¨ãģ¯":129120,"ĠdÃłi":129121,"Ġhá»ĵ":129122,"èĩªåĪĨãģ®":129123,"à¹Ħหà¸Ļ":129124,"ëĵ¤ìĿĦ":129125,"ĠVÄĥn":129126,"Ġдаж":129127,"Ġдаже":129128,"Ñĭми":129129,"лаÑģÑĮ":129130,"ÙĬÙĪÙĨ":129131,"ÙĨÙĪ":129132,"có":129133,"ãģĹãģ¦ãģĦãģŁ":129134,"ãģłãģĭãĤī":129135,"طاÙĦب":129136,"Ġcá»Ńa":129137,"пÑĢоÑģ":129138,"ãģªãģ©ãģ®":129139,"รุà¹Īà¸Ļ":129140,"Ġchiếc":129141,"лÑĭ":129142,"ĠÑıвлÑıеÑĤÑģÑı":129143,"Ġná»ķi":129144,"ãģ®ãģĬ":129145,"Ġ×IJת×Ŀ":129146,"ĠëķĮ문ìĹIJ":129147,"à¸ģลาà¸ĩ":129148,"ĠbaÅŁka":129149,"ìĦĿ":129150,"ĠÑĨел":129151,"ÙģÙĤ":129152,"ãģ«ãĤĪãĤĭ":129153,"ÙĤا":129154,"Ġçıkar":129155,"Ġcứu":129156,"طا":129157,"Ġשת":129158,"à¹Ĥà¸Ħ":129159,"Ġ×ŀ׾":129160,"Ġ×Ķפר":129161,"Ġгде":129162,"Ġخط":129163,"åīįãģ«":129164,"cjÄĻ":129165,"Ġ×Ĺש×ķ×ij":129166,"ר×Ĵ×¢":129167,"Ġkhoảng":129168,"ĠÄijá»Ŀi":129169,"ĠÐłÐµ":129170,"Ġона":129171,"Ġ×IJ׳×ķ":129172,"ãģ®ãģ«":129173,"ĠاÙĦذÙĬÙĨ":129174,"кÑĥп":129175,"ãĤµãĥ¼ãĥ":129176,"ãĤµãĥ¼ãĥĵ":129177,"ãĤµãĥ¼ãĥĵãĤ¹":129178,"вал":129179,"ге":129180,"Ġgiữa":129181,"ĠKhông":129182,"ĠâĹĭ":129183,"à¸ģลุà¹Īม":129184,"ĠÙħÙĨذ":129185,"à¸Ńà¹Īาà¸Ļ":129186,"ĠÑģпоÑģоб":129187,"ĠÄijá»Ļi":129188,"ĠdiÄŁer":129189,"Ġà¸ĸà¹īา":129190,"ÙħØ«ÙĦ":129191,"Ġ×Ķ×IJ×Ļ":129192,"ĠدÙĪÙĨ":129193,"ÙĬراÙĨ":129194,"Ñīи":129195,"بÙĨاء":129196,"Ġآخر":129197,"ظÙĩر":129198,"Ġ×ij׼":129199,"ĠاÙĦÙħع":129200,"ãĥĴ":129201,"Ġtất":129202,"Ġmục":129203,"ĠdoÄŁru":129204,"ãģŁãĤī":129205,"Ġס×ķ":129206,"Ġxác":129207,"รà¸Ń":129208,"ĠcÄĥn":129209,"Ġонл":129210,"Ġонлайн":129211,"Ġký":129212,"Ġchân":129213,"Ġà¹Ħมà¹Ī":129214,"اØŃØ©":129215,"rán":129216,"׳×Ļ×Ļ×Ŀ":129217,"Ġ×ijף":129218,"ĠÐĸ":129219,"à¸ķรà¸ĩ":129220,"дÑĭ":129221,"Ġsắc":129222,"ÙĦت":129223,"ãĥŃãĥ¼":129224,"ĠÙĦÙĨ":129225,"Ġר×ķ":129226,"ĠdÆ°á»Ľi":129227,"à¹Ģà¸ĺ":129228,"à¹Ģà¸ĺà¸Ń":129229,"eÄŁi":129230,"Ġ×ķש":129231,"ĠÙĦØ£":129232,"Ġgặp":129233,"Ġcá»ij":129234,"ãģ¨ãģ¦ãĤĤ":129235,"رÙĪØ³":129236,"Ġ׾×Ķ×Ļ":129237,"Ġ본":129238,"ä¸ĬãģĴ":129239,"Ġmức":129240,"Ñħа":129241,"Ġìŀ¬":129242,"à¸īัà¸Ļ":129243,"ÑĢÑĥж":129244,"Ġaçık":129245,"ÙĪØ§ÙĦ":129246,"Ġ×ĸ×ŀף":129247,"人ãģ¯":129248,"عÙĬÙĨ":129249,"ÑıÑħ":129250,"Ġ×Ĵ×ĵ×ķ׾":129251,"ר×ķ×ij":129252,"gó":129253,"ëĿ¼ê³ł":129254,"ĠarkadaÅŁ":129255,"ÙĨشر":129256,"ĠгодÑĥ":129257,"ĠболÑĮÑĪе":129258,"ãģ¡ãĤĩãģ£ãģ¨":129259,"Ġcâu":129260,"Ġsát":129261,"íͼ":129262,"Ġtiến":129263,"íķ´ìķ¼":129264,"ĠÙĪØ£ÙĨ":129265,"à¸Ļาà¸Ļ":129266,"Ġ×ij×IJ×ŀצע":129267,"Ġ×ij×IJ×ŀצע×ķת":129268,"Ġ׾ר":129269,"Ġquản":129270,"ĠÙĪØ§ÙĦØ£":129271,"Ġ×IJ×ķת×Ķ":129272,"Ġìĸ´ëĸ¤":129273,"Ġê²ĥìĿĢ":129274,"ØŃسÙĨ":129275,"Ġmất":129276,"à¸Ħูà¹Ī":129277,"ãĥ¬ãĥ¼":129278,"ĠÐĶа":129279,"Ġolması":129280,"Ġthuá»Ļc":129281,"׳×Ĺ":129282,"íĨł":129283,"Ġsöyle":129284,"ãģĿãģĨãģ§ãģĻ":129285,"ĠتÙĥÙĪÙĨ":129286,"лÑĥÑĩ":129287,"׾×Ļ×ļ":129288,"ĠØ£ØŃد":129289,"лиÑģÑĮ":129290,"ĠвÑģего":129291,"Ġ×Ķר×ij":129292,"Ġ못":129293,"oÄŁ":129294,"oÄŁlu":129295,"ĠìĦł":129296,"ĠкаÑĢ":129297,"à¸łà¸²à¸Ħ":129298,"eÅĦ":129299,"Ġà¸ģà¹ĩ":129300,"Ġaynı":129301,"ĠbÃł":129302,"ãģªãĤĵãģ¦":129303,"Ġ모ëĵł":129304,"ÙĤرار":129305,"ãģĹãģªãģĦ":129306,"ĠÐĴо":129307,"ĠÙĪÙĩÙĬ":129308,"ники":129309,"ãĤĮãģŁ":129310,"Ġchuẩn":129311,"רע":129312,"Ù쨱ÙĬÙĤ":129313,"ãĤĴåıĹãģij":129314,"ĠÄijúng":129315,"бе":129316,"׼×ķ×Ĺ":129317,"пÑĥ":129318,"Ġ×ķ×Ĵ×Ŀ":129319,"×ŀ׳×Ļ":129320,"íĸ¥":129321,"צ×Ļ×Ŀ":129322,"à¸ĭิ":129323,"ÙĩÙĨ":129324,"нем":129325,"Ġ×ij×ij×Ļת":129326,"رع":129327,"Ġส":129328,"ĠÄIJÃł":129329,"íķĺëĭ¤":129330,"Ġấy":129331,"×Ĺ×ķ×ĵ":129332,"×Ĺ×ķ×ĵש":129333,"ĠÑĩеÑĢез":129334,"Ñĥл":129335,"ĠBình":129336,"Ġê²ĥìĿĦ":129337,"Ġ×Ĵר":129338,"ä»ĺãģij":129339,"×Ĺ׾ק":129340,"ĠتÙĦÙĥ":129341,"à¹ĥสà¹Ī":129342,"szÄħ":129343,"ÙĤاÙħ":129344,"دÙĪØ±":129345,"ĠÙģÙĤØ·":129346,"Ġhữu":129347,"ĠмогÑĥÑĤ":129348,"Ġgá»įi":129349,"Ġקר":129350,"à¸Īะมี":129351,"تÙĤدÙħ":129352,"Ġعبر":129353,"Ġ׾×Ķ×Ŀ":129354,"ĠÑģамо":129355,"ס×ĵר":129356,"ĠcÃłng":129357,"rÃŃ":129358,"Ġìŀ¥":129359,"ëĵ¤ìĿĺ":129360,"ĠÙĦÙĥ":129361,"поÑĢÑĤ":129362,"Ġkhả":129363,"ĠÑģебÑı":129364,"׳ף":129365,"ĠدÙĪØ±":129366,"Ġmợ":129367,"Ġcây":129368,"Ġfark":129369,"Ġfarklı":129370,"аÑİÑĤ":129371,"Ġtrá»±c":129372,"wiÄĻksz":129373,"Ġthuá»ijc":129374,"ĠتØŃت":129375,"تÙĦ":129376,"овÑĭе":129377,"ëĤł":129378,"Ġвам":129379,"بÙĦغ":129380,"Ġê°ĻìĿĢ":129381,"íĮIJ":129382,"ÙĦب":129383,"Ġnasıl":129384,"Ġодин":129385,"ман":129386,"ĠعÙĦÙĬÙĩا":129387,"би":129388,"Ġפש×ķ×ĺ":129389,"×ijר×Ļ":129390,"Ġש׳×Ķ":129391,"ĠëıĦ":129392,"ĠÄIJại":129393,"Ġ×IJ×ķת×Ŀ":129394,"ĠاÙĦØŃر":129395,"Ġбо":129396,"à¸Īุà¸Ķ":129397,"Ġrõ":129398,"ĠdeÄŁiÅŁ":129399,"Ġëĭ¨":129400,"ĠÑģлÑĥÑĩа":129401,"ĠÑģлÑĥÑĩае":129402,"Ġ×IJ׳ש×Ļ×Ŀ":129403,"×ĵ×£":129404,"ש×ijת":129405,"Ġש׾׼×Ŀ":129406,"Ġchú":129407,"ników":129408,"Ġtanı":129409,"Ġcáo":129410,"ĠÄijá":129411,"Ġ×IJ×ĵ×Ŀ":129412,"Ġê°ķ":129413,"Ġnhiá»ĩm":129414,"Ġ×ľ×¡":129415,"Ġ×Ľ×ª×ij":129416,"Ġ×Ķספר":129417,"ĠÄijÄĥng":129418,"ĠëijIJ":129419,"à¸ľà¸´":129420,"à¸ľà¸´à¸§":129421,"جا":129422,"Ġê°IJ":129423,"رأ":129424,"ستخدÙħ":129425,"ãģ«ãģªãĤĬãģ¾ãģĻ":129426,"Ġtá»·":129427,"×ĺ×ķר":129428,"говоÑĢ":129429,"ĠвоÑģ":129430,"ĠÙħÙĨÙĩا":129431,"иÑĢоваÑĤÑĮ":129432,"ĠÄijầy":129433,"׳×Ĵ":129434,"ĠÙħÙĪ":129435,"ĠÙħÙĪÙĤع":129436,"ר׼×Ļ":129437,"تÙı":129438,"모":129439,"Ġת×ķ":129440,"ÙĬاÙĭ":129441,"à¹ĥà¸Ķ":129442,"ãĤĬãģ¾ãģĻ":129443,"à¸Ńยูà¹Īà¹ĥà¸Ļ":129444,"ĠØ£ÙĪÙĦ":129445,"ĠأخرÙī":129446,"Ġcư":129447,"صار":129448,"×ŀ×Ĺש×ij":129449,"бÑĢа":129450,"ÅĦski":129451,"бÑĢ":129452,"ĠÙĬÙı":129453,"à¸ģิà¸Ļ":129454,"Ġchá»ijng":129455,"ÙħÙı":129456,"Ġà¸Ħืà¸Ń":129457,"ĠتÙĨ":129458,"tÃŃ":129459,"yÄĩ":129460,"Ġmạng":129461,"ÙģÙĪ":129462,"Ġdünya":129463,"קר×IJ":129464,"Ġק׾":129465,"ĠØŃاÙĦ":129466,"cÃŃa":129467,"Ġà¹Ģรา":129468,"Ġר×ķצ×Ķ":129469,"Ġáp":129470,"ë°ķ":129471,"اÙĤØ©":129472,"ниÑİ":129473,"Ġ×IJ׾×ķ":129474,"Ġ×ŀס×ķ":129475,"ãģ§ãģ¯ãģªãģı":129476,"Ġtrả":129477,"Ġקשר":129478,"miÅŁtir":129479,"Ġlưu":129480,"Ġhá»Ĺ":129481,"ĠбÑĭли":129482,"Ġlấy":129483,"عÙĦÙħ":129484,"Ġözel":129485,"æ°ĹãģĮ":129486,"Ġ×ĵר×ļ":129487,"Ùħد":129488,"sını":129489,"׳×ķש×IJ":129490,"rów":129491,"ÑĩеÑĢ":129492,"êµIJìľ¡":129493,"ĠÐľÐ¾":129494,"лег":129495,"ĠVỼi":129496,"วัà¸Ļà¸Ļีà¹ī":129497,"ÑİÑīие":129498,"ãģĬãģĻ":129499,"ãģĬãģĻãģĻ":129500,"ãģĬãģĻãģĻãĤģ":129501,"ëıħ":129502,"Ġ×Ļ×Ķ×Ļ×Ķ":129503,"×ŀ×ĺר":129504,"Ñıми":129505,"Ġlá»±a":129506,"ĠÄijấu":129507,"à¹Ģสียà¸ĩ":129508,"Ġtương":129509,"ëĵ±":129510,"ĠÑģÑĤаÑĢ":129511,"à¹ĥà¸ļ":129512,"วัà¸Ķ":129513,"Ġİstanbul":129514,"Ġà¸Īะ":129515,"à¸ķลาà¸Ķ":129516,"ĠبÙĬ":129517,"à¹ģà¸Ļะ":129518,"à¹ģà¸Ļะà¸Ļำ":129519,"ساعد":129520,"Ġبأ":129521,"Ġkiá»ĥm":129522,"ØŃسب":129523,"à¸Ĭัà¹īà¸Ļ":129524,"Ġ×ķ×¢×ķ×ĵ":129525,"овÑĭÑħ":129526,"оÑģнов":129527,"ĠtrÆ°á»Łng":129528,"צ×ij×¢":129529,"ĠÃŃt":129530,"Ġkỹ":129531,"cré":129532,"Ñıм":129533,"êµ°":129534,"ãģĮãģªãģĦ":129535,"ÙĬÙĦØ©":129536,"ãĥķãĤ£":129537,"رÙī":129538,"ĠÙĬجب":129539,"Ġ×IJ×£":129540,"Ġcá»±c":129541,"ãĤīãĤĮãģŁ":129542,"Ġà¸ľà¸¹à¹ī":129543,"Ġà¸Ń":129544,"larımız":129545,"Ġkadın":129546,"Ġê·¸ëŀĺ":129547,"Ġê·¸ëŀĺìĦľ":129548,"ĠëĺIJëĬĶ":129549,"ĠÄijả":129550,"ĠÄijảm":129551,"Ġ×IJ×ķ×ŀר":129552,"Ġyếu":129553,"ciÄħ":129554,"ciÄħg":129555,"Ġtá»ij":129556,"Ġש×IJ׳×Ļ":129557,"ĠdziaÅĤa":129558,"Ñīа":129559,"ĠÄijÃłn":129560,"sına":129561,"ãģĵãĤĮãģ¯":129562,"Ġ×ij׾×Ļ":129563,"Ġ×ij×Ļשר×IJ׾":129564,"лоÑģÑĮ":129565,"Ġgiữ":129566,"ê°IJ":129567,"ÑĢон":129568,"تجار":129569,"глав":129570,"вин":129571,"Ġhạn":129572,"Ġyapılan":129573,"بس":129574,"Ġà¸ŀรà¹īà¸Ńม":129575,"ê´Ģ리":129576,"mÄ±ÅŁtır":129577,"bü":129578,"rück":129579,"ĠBaÅŁkanı":129580,"ĠÙĦÙĬس":129581,"ĠsÆ¡":129582,"à¸Īัà¸ĩหว":129583,"à¸Īัà¸ĩหวัà¸Ķ":129584,"داء":129585,"Ġ×Ķ׼":129586,"vÃŃ":129587,"ש×IJר":129588,"ĠhÆ°á»Łng":129589,"Ġbóng":129590,"ĠChÃŃnh":129591,"Äħc":129592,"à¹Ģà¸ģีà¹Īยวà¸ģัà¸ļ":129593,"Ġtứ":129594,"Ġtức":129595,"ĠÑĨвеÑĤ":129596,"Ġtá»iji":129597,"ĠnghÄ©a":129598,"ÙĦاعب":129599,"دÙĦ":129600,"Ġפע×Ŀ":129601,"hör":129602,"à¸Ĭุà¸Ķ":129603,"à¸ŀู":129604,"à¸ŀูà¸Ķ":129605,"паÑģ":129606,"ĠÅŁu":129607,"ĠtÆ°á»Łng":129608,"خارج":129609,"Ġâm":129610,"ĠинÑĤеÑĢеÑģ":129611,"еннÑĭÑħ":129612,"×IJ׳×Ļ":129613,"بدأ":129614,"ëĿ¼ëĬĶ":129615,"ì¹´":129616,"æĸ¹ãģĮ":129617,"лив":129618,"Ġà¸Ħà¸Ļ":129619,"ער×ļ":129620,"à¸Ĥà¸Ńà¸ĩà¸Ħุà¸ĵ":129621,"пад":129622,"Ġcạnh":129623,"ĠëĤ¨":129624,"ĠÄijâu":129625,"Ġbiá»ĥu":129626,"ãĤĤãģĤãĤĭ":129627,"׾×Ĵ":129628,"Ġสำหรัà¸ļ":129629,"Ġxuá»ijng":129630,"ס×ķ":129631,"Ġذات":129632,"ĠÐľÐµ":129633,"عاÙĦÙħ":129634,"×IJס":129635,"بÙĬØ©":129636,"شا":129637,"ием":129638,"ĠNgưá»Ŀi":129639,"íĺij":129640,"Ñģлов":129641,"Ġпа":129642,"Ġmẫu":129643,"ĠпÑĢоÑĨеÑģÑģ":129644,"ĠNhÃł":129645,"пÑĢоиз":129646,"пÑĢоизвод":129647,"à¸łà¸²à¸¢à¹ĥà¸Ļ":129648,"Ġà¸ļาà¸Ĺ":129649,"×ŀ׳×ķ":129650,"ĠоÑĢган":129651,"רצ×ķ":129652,"×ķ×ŀ×Ļ×Ŀ":129653,"Ġyazı":129654,"Ġdù":129655,"ãĥ¬ãĥ³":129656,"ÙĪÙĦÙĬ":129657,"ยู":129658,"Ġtrò":129659,"à¹Ģà¸ŀลà¸ĩ":129660,"Ġ×ŀ׾×IJ":129661,"à¸ķล":129662,"à¸ķลà¸Ńà¸Ķ":129663,"ĠÄijạt":129664,"Ġ×Ĺ×ĵש":129665,"póÅĤ":129666,"Ġ×ŀ×ĵ×Ļ":129667,"ujÄħc":129668,"×ŀ׳×Ķ׾":129669,"Ġש×ij×ķ":129670,"Ġ×Ķ×ŀשפ×ĺ":129671,"Ġ×IJ׾×Ķ":129672,"ĠÙĪØ°ÙĦÙĥ":129673,"à¹Ģà¸ŀราะ":129674,"ĠÄijoÃłn":129675,"Ġíķ¨ê»ĺ":129676,"Ġdục":129677,"شت":129678,"Ġula":129679,"ĠulaÅŁ":129680,"Ġquý":129681,"Ġ×Ķ×Ĵ×ĵ×ķ׾":129682,"à¸ķัà¹īà¸ĩà¹ģà¸ķà¹Ī":129683,"Ġשר":129684,"Ø´Ùĩد":129685,"׳ש×Ļ×Ŀ":129686,"à¸ŀล":129687,"رÙĪØ§":129688,"ãĤĮãģ¦":129689,"ĠниÑħ":129690,"Ġдела":129691,"ãģ§ãģįãģªãģĦ":129692,"ÅĤoż":129693,"×IJ×Ĺר":129694,"ì½Ķ":129695,"ãĤ¢ãĥĥãĥĹ":129696,"دÙ쨹":129697,"Ġtiá»ĩn":129698,"Ġkhá»ı":129699,"Ġkhá»ıe":129700,"ĠاÙĦعاÙħØ©":129701,"ãģ«ãģĤãĤĭ":129702,"ĠÄijá»Ļc":129703,"족":129704,"Ġcụ":129705,"йÑĤе":129706,"Ġзакон":129707,"ĠпÑĢоекÑĤ":129708,"ìĸ¸":129709,"ÙĦØŃ":129710,"ĠçalÄ±ÅŁma":129711,"ãĤĴãģĻãĤĭ":129712,"Ñħи":129713,"عاد":129714,"Ġ׳×ŀצ×IJ":129715,"Ġר×Ļ":129716,"à¸Ńà¸Ńà¸ģมา":129717,"ĠTôi":129718,"Ġthần":129719,"ĠÙĬا":129720,"ลาย":129721,"ĠавÑĤо":129722,"Ġsıra":129723,"ĠÙĥØ«ÙĬر":129724,"ÙħÙĬز":129725,"ĠاÙĦعÙĦÙħ":129726,"æĸ¹ãģ¯":129727,"×ķ×¢×ĵ":129728,"ĠоблаÑģÑĤи":129729,"×Ļ׾×Ļ×Ŀ":129730,"ãģĮåĩº":129731,"à¸ĺุ":129732,"à¸ĺุร":129733,"à¸ĺุรà¸ģิà¸Ī":129734,"ÙĤتÙĦ":129735,"ר×IJ×ķ":129736,"Ġngu":129737,"Ġnguá»ĵn":129738,"Ġมา":129739,"Ġплан":129740,"tório":129741,"Ġcuá»iji":129742,"Ñģком":129743,"ĠاÙĦÙħاض":129744,"ĠاÙĦÙħاضÙĬ":129745,"Ġ×ij×¢×ľ":129746,"Ġר×ij×Ļ×Ŀ":129747,"ĠluáºŃn":129748,"ÙĥÙĪ":129749,"à¸Ĺัà¹īà¸ĩหมà¸Ķ":129750,"ван":129751,"Ġthoại":129752,"à¹Ħà¸Ń":129753,"биÑĢ":129754,"ĠاÙĦض":129755,"تا":129756,"ĠÑĢод":129757,"ĠVÃł":129758,"×ŀ×Ļף":129759,"ĠбÑĭла":129760,"ками":129761,"ĠÐĶе":129762,"tık":129763,"קר×Ļ":129764,"ĠeÄŁitim":129765,"ĠÙĥبÙĬر":129766,"بÙĥ":129767,"ĠÙĦÙĪ":129768,"вой":129769,"Ġãģĵãģ®":129770,"ĠÑĤÑĢÑĥд":129771,"myÅĽl":129772,"Ġsư":129773,"à¸ŀีà¹Ī":129774,"Ġà¹ģลà¹īว":129775,"×¢×§":129776,"Ġ×Ĺ×ijרת":129777,"ระหว":129778,"ระหวà¹Īาà¸ĩ":129779,"×Ļ×Ļ×Ķ":129780,"ĠاÙĦÙĨاس":129781,"ünü":129782,"Ġ׾×ŀ×Ķ":129783,"Ġchương":129784,"ĠHá»ĵ":129785,"ارت":129786,"ãĤĪãģĨãģ§ãģĻ":129787,"lá":129788,"×§×Ļ×Ļ×Ŀ":129789,"æľ¬å½ĵ":129790,"æľ¬å½ĵãģ«":129791,"ãģĵãĤĵãģª":129792,"Ñģов":129793,"Ġ×ķ×Ĺ":129794,"à¹Ģà¸ģà¹ĩà¸ļ":129795,"ĠкÑĤо":129796,"à¹Ĥรà¸Ħ":129797,"ĠشرÙĥØ©":129798,"عزÙĬ":129799,"عزÙĬز":129800,"Ø·ÙĦÙĤ":129801,"пÑĥÑģÑĤ":129802,"ÙģØªØŃ":129803,"ëŀĢ":129804,"Ġhãy":129805,"ضÙħ":129806,"린":129807,"åł´åIJĪãģ¯":129808,"ãĤªãĥ¼":129809,"Ġhắn":129810,"Ġ×IJ×ij×Ļ×ij":129811,"Ġש׾×Ķ×Ŀ":129812,"Ġ×Ķ×Ļ×Ļת×Ķ":129813,"ĠاÙĦدÙĪÙĦØ©":129814,"ĠاÙĦÙĪÙĤ":129815,"ĠاÙĦÙĪÙĤت":129816,"ãģĤãģ¾ãĤĬ":129817,"ĠtaÅŁÄ±":129818,"İN":129819,"עסק":129820,"ãģ¦ãģĦãģŁ":129821,"Ġtá»ķng":129822,"ĠاÙĦØ¥ÙĨس":129823,"ĠاÙĦØ¥ÙĨساÙĨ":129824,"ÑĢеÑĪ":129825,"Ġgái":129826,"ĠÑĨен":129827,"ĠÙģÙĤد":129828,"Ùħات":129829,"ãģķãĤĵãģ®":129830,"Ġphù":129831,"×ĺ×Ķ":129832,"ĠÙĪØ§ÙĦتÙĬ":129833,"ĠبÙĥ":129834,"ìĿ´ëĤĺ":129835,"кÑģ":129836,"ÙħÙĬر":129837,"Ġvùng":129838,"ĠاÙĦشعب":129839,"ĠNhưng":129840,"ãĥĢãĥ¼":129841,"Ġ×Ĺ×Ļ×Ļ×Ŀ":129842,"Ġشخص":129843,"×§×ķ×ĵ":129844,"ê²Ģ":129845,"עש":129846,"×¢×ķ׾×Ŀ":129847,"צ×ķר":129848,"عÙĤد":129849,"ĠiÅŁlem":129850,"Ġ×Ķ×ij×IJ":129851,"Ġdưỡng":129852,"à¸Łà¸£à¸µ":129853,"ĠphÃŃa":129854,"ãģ®ä¸Ńãģ§":129855,"Ġпи":129856,"ĠngÃłnh":129857,"нима":129858,"ĠÙĩÙĦ":129859,"Ġ×ķ×IJת":129860,"ĠÄijáng":129861,"équipe":129862,"ĠÑįÑĤоÑĤ":129863,"Ġgörev":129864,"매":129865,"Ġquân":129866,"å¼ķãģį":129867,"æĻĤãģ«":129868,"ĠبÙħا":129869,"×ŀ×Ļת":129870,"Ġülke":129871,"Ġ×ŀ×§×ķ×Ŀ":129872,"×ijף":129873,"æ°ĹæĮģãģ¡":129874,"Ġë§İìĿĢ":129875,"Ġyüksek":129876,"ÑĨенÑĤÑĢ":129877,"ĠÙħجÙĦس":129878,"ç§ģãģ®":129879,"ÙĤدر":129880,"Ġë¶Ģë¶Ħ":129881,"Ġì°¨":129882,"خرج":129883,"ãģĭãģªãĤĬ":129884,"ë³´ëĭ¤":129885,"Ġ×ŀ×Ļ×ĵ×¢":129886,"peÅĤni":129887,"Ġxá»Ń":129888,"ìĹIJìĦľëĬĶ":129889,"ĠباÙĦÙħ":129890,"ĠÙĪÙħا":129891,"ĠÑįÑĤой":129892,"بÙĬÙĨ":129893,"nü":129894,"ØŃز":129895,"ØŃزب":129896,"ĠÑĢабоÑĤа":129897,"ĠNháºŃt":129898,"ÙĦاء":129899,"Ġëĵ¤":129900,"Ġëĵ¤ìĸ´":129901,"ãĤĦãģĻãģĦ":129902,"×Ĺ×ĸ×§":129903,"Ġ×Ķ×Ĺ×ijר×Ķ":129904,"пиÑĤ":129905,"ãģĭãĤīãģ®":129906,"Ġë§IJìĶĢ":129907,"Ġפ×ķ":129908,"ÙĦÙİ":129909,"à¹Ģà¸ķà¹ĩม":129910,"ĠÐļо":129911,"Ġmówi":129912,"ĠtÃŃn":129913,"ר×Ĵש":129914,"פרק":129915,"Ġtrạng":129916,"ĠÐŀн":129917,"×Ĺ×ķ×¥":129918,"ĠعÙĨدÙħا":129919,"Ġبر":129920,"使ãģĦ":129921,"Ġrá»Ļng":129922,"ëĮĢë¡ľ":129923,"íά":129924,"Ġktórych":129925,"вид":129926,"ลูà¸ģà¸Ħà¹īา":129927,"ĠmogÄħ":129928,"Ġש×Ĺ":129929,"×ij×Ĺר":129930,"ãĥĸãĥŃãĤ°":129931,"ĠThÃłnh":129932,"Ġ×Ķר×Ļ":129933,"ĠÑģÑĤаÑĤÑĮ":129934,"ĠHá»Ļi":129935,"à¸ļà¹īาà¸ĩ":129936,"çī¹ãģ«":129937,"ĠÄIJức":129938,"èĢħãģ®":129939,"×¢×ŀ×ķ×ĵ":129940,"×ĺר×Ķ":129941,"Ð¥":129942,"ĠÙħÙħا":129943,"ĠeÅŁ":129944,"ĠнеобÑħодимо":129945,"ников":129946,"Ġüzerinde":129947,"aÅĤa":129948,"Ġchá»ĭu":129949,"ĠاÙĦدÙĬÙĨ":129950,"أخبار":129951,"ĠÄijau":129952,"ãģĮå¤ļãģĦ":129953,"jÄħcych":129954,"دخÙĦ":129955,"larınd":129956,"larından":129957,"Ġsẻ":129958,"à¸ŀิà¹Ģศ":129959,"à¸ŀิà¹Ģศษ":129960,"×ª×Ł":129961,"tıģı":129962,"ĠluáºŃt":129963,"ĠÅŀe":129964,"ãĤ«ãĥ¼":129965,"ãģ®ãģĤãĤĭ":129966,"Ġ×Ķ×IJתר":129967,"ĠاÙĦØ¢ÙĨ":129968,"ıldı":129969,"Ġáo":129970,"ĠнаÑĩал":129971,"Ġviá»ĩn":129972,"Ġ×ij×¢×ķ׾×Ŀ":129973,"знаÑĩ":129974,"×Ļ×ĺ×Ķ":129975,"кам":129976,"ĠÐĺз":129977,"à¹Ģà¸Ĥียà¸Ļ":129978,"à¸Ļà¹īà¸Ńà¸ĩ":129979,"ÑĤÑĢо":129980,"à¹Ģà¸Ł":129981,"Ġжизни":129982,"Ġสà¹Īวà¸Ļ":129983,"ĠváºŃn":129984,"Ġê´Ģ볨":129985,"Ġlâu":129986,"ס×ĺר":129987,"קש":129988,"سÙĬر":129989,"Ġ×IJ×ķת×Ļ":129990,"Ġmôi":129991,"ائب":129992,"ĠоÑģÑĤа":129993,"Ġmón":129994,"Ġ×ij×ŀ×§×ķ×Ŀ":129995,"ĠداخÙĦ":129996,"Ġ×IJ×ķר":129997,"ĠваÑģ":129998,"ÙĥØ´Ùģ":129999,"ìĺ¨":130000,"à¸ĸà¹Īาย":130001,"Ġkullanıl":130002,"Ġtô":130003,"ãģ«ãĤĪãĤĬ":130004,"ĠëĺIJíķľ":130005,"Ġ×¢×ij×ķ×ĵ×Ķ":130006,"Ġriê":130007,"Ġriêng":130008,"Ġyakın":130009,"زا":130010,"Å»":130011,"×IJ×ķ׼׾":130012,"شارÙĥ":130013,"ĠбеÑģ":130014,"×´":130015,"ĠابÙĨ":130016,"ĠTá»ķng":130017,"ÙĨظ":130018,"ÅĽwiad":130019,"ãĤµãĥ¼":130020,"หาย":130021,"ĠGün":130022,"Ġhakkında":130023,"à¹Ģà¸Ĥà¹īามา":130024,"زÙĨ":130025,"ĠÐłÐ¾":130026,"Ġbiá»ĥn":130027,"ãģ©ãģĵ":130028,"Ù쨹ÙĦ":130029,"زع":130030,"פר×ĺ":130031,"Ġ×Ķף":130032,"Ø£ÙĩÙĦ":130033,"Ġthất":130034,"ØŃÙħÙĦ":130035,"ÑĩÑĥ":130036,"ĠìĤ¬ìĭ¤":130037,"ì°¸":130038,"ĠìľĦíķ´":130039,"ÙĪØ¸":130040,"ĠÐŁÐ¾Ð´":130041,"Ġkhoản":130042,"ÑĤен":130043,"ĠÙ쨧ÙĦ":130044,"Ñģад":130045,"à¸Ļà¸Ńà¸Ļ":130046,"ĠاÙĦسعÙĪØ¯ÙĬØ©":130047,"\"ØĮ":130048,"ĠاÙĦÙĴ":130049,"ãĤīãģļ":130050,"Ġtoán":130051,"Ġchắc":130052,"׼×Ļר":130053,"méd":130054,"média":130055,"زÙĪ":130056,"Ġyanı":130057,"פ׳×Ļ×Ŀ":130058,"ØŃظ":130059,"ĠбеÑģп":130060,"ĠбеÑģплаÑĤ":130061,"ĠбеÑģплаÑĤно":130062,"ĠØ£ÙħاÙħ":130063,"à¸Ńาย":130064,"à¸Ńายุ":130065,"רשת":130066,"Ġgá»ĵ":130067,"Ġgá»ĵm":130068,"Ġuá»ijng":130069,"صب":130070,"kır":130071,"ãĥijãĥ¼":130072,"Ġ׾×ĵעת":130073,"ĠкÑĥпиÑĤÑĮ":130074,"׾×ķ×Ĺ":130075,"ÙĪØ¶Ø¹":130076,"ÙĤÙĬÙħ":130077,"à¸Ľà¸²":130078,"жив":130079,"à¸Ķิà¸Ļ":130080,"×IJ×ķפ":130081,"à¹Ģลà¹ĩà¸ģ":130082,"ãĥĥãĥī":130083,"иÑĩеÑģкиÑħ":130084,"ĠChá»§":130085,"кÑĢаÑģ":130086,"ÙĪØµÙĦ":130087,"pÅĤat":130088,"моÑĢ":130089,"Ġ×Ķ×IJ×ķ":130090,"à¸Ńิà¸Ļ":130091,"ĠíķľêµŃ":130092,"гÑĢе":130093,"Ġìłľê³µ":130094,"ì°½":130095,"Ġê°ľìĿ¸ìłķë³´":130096,"Ġnghá»ĭ":130097,"à¸ĭา":130098,"ØŃساب":130099,"ĠbyÅĤa":130100,"ÙħÙĦÙĥ":130101,"иÑĩеÑģкие":130102,"Ġbác":130103,"ضØŃ":130104,"길":130105,"ש×ŀ×¢":130106,"Ġìĸ´ëĸ»":130107,"Ġìĸ´ëĸ»ê²Į":130108,"ìĽĮ":130109,"اتÙĩ":130110,"à¹Ĥรà¸ĩà¹ģ":130111,"à¹Ĥรà¸ĩà¹ģรม":130112,"خدÙħØ©":130113,"ĠÐłÐ°":130114,"׼×ķ׾×Ŀ":130115,"×ŀש×Ĺ×§":130116,"ĠÙĪÙĥاÙĨ":130117,"ס×ķ×£":130118,"ĠاÙĦØŃÙĥÙĪÙħØ©":130119,"Ġ×ij×ĺ":130120,"ĠtráºŃn":130121,"Ġ×Ķ×¢×ķ׾×Ŀ":130122,"ĠÃŃch":130123,"tÄħ":130124,"ש×ŀ×ķ":130125,"Ġ×Ķר×IJש×ķף":130126,"Ġíķĺê³ł":130127,"ãģķãĤī":130128,"ãģķãĤīãģ«":130129,"ãģ«ãģĹãģ¦":130130,"Ġà¸ľà¸¡":130131,"ãģ®ãĤĪãģĨãģª":130132,"ĠÙĪÙĤت":130133,"ãĥįãĥĥãĥĪ":130134,"ÙĦعب":130135,"ÙĪØ´":130136,"ìĺ¬":130137,"Ġหาà¸ģ":130138,"ĠmiaÅĤ":130139,"à¸Ĺà¸Ńà¸ĩ":130140,"иÑĤа":130141,"اصر":130142,"илÑģÑı":130143,"зе":130144,"à¸Ľà¸£à¸°à¸¡à¸²à¸ĵ":130145,"ãģĿãĤĮãģ¯":130146,"Ġbır":130147,"Ġbırak":130148,"صÙĨاع":130149,"Ю":130150,"شعر":130151,"Ġ׳×Ĵ×ĵ":130152,"Ġبسبب":130153,"ãĥĿãĤ¤":130154,"ãĥĿãĤ¤ãĥ³ãĥĪ":130155,"ĠاÙĦجÙĪ":130156,"ĠнеÑģколÑĮко":130157,"Ġkiếm":130158,"ÙģÙİ":130159,"Ġضد":130160,"×ij×Ļ×ĺ×ķ×Ĺ":130161,"تابع":130162,"ÙĨز":130163,"ĠBản":130164,"Ġaçıkl":130165,"Ġaçıklama":130166,"Ġà¸Ħุà¸ĵ":130167,"à¸Ĺา":130168,"ÅĤów":130169,"طب":130170,"ÙĨØŃÙĨ":130171,"Ġ×ŀ×§×ķר":130172,"Ġİs":130173,"Ġдома":130174,"Ġวัà¸Ļ":130175,"ĠdÃłnh":130176,"Ñıн":130177,"миÑĢ":130178,"Ġmô":130179,"ĠvÃłng":130180,"صاب":130181,"sının":130182,"à¸Ħืà¸Ļ":130183,"خبر":130184,"×ĸ׼×ķ":130185,"Ġ×ŀש×Ķ×ķ":130186,"mü":130187,"Ġкомпании":130188,"Ġ×Ķ×¢×Ļר":130189,"ĠÙĥÙĪ":130190,"ÙĤÙĦب":130191,"ĠlỼp":130192,"ики":130193,"׳×ij":130194,"à¹Ĥà¸Ħร":130195,"à¹Ĥà¸Ħรà¸ĩ":130196,"à¹Ĥà¸Ħรà¸ĩà¸ģาร":130197,"×ŀ×ķ×¢×ĵ":130198,"ÑıÑĤÑģÑı":130199,"หลัà¸ĩà¸Īาà¸ģ":130200,"ениÑİ":130201,"Ġשע":130202,"ĠbÆ°á»Ľc":130203,"ãĥ¡ãĥ¼ãĥ«":130204,"ãĤĦãĤĬ":130205,"Ġ×Ļ×ķ×ĵ×¢":130206,"Ġê´Ģíķľ":130207,"ĠاÙĦØ£Ùħر":130208,"Ġbölge":130209,"ĠÑģвой":130210,"ÙĦس":130211,"Ġ×ŀ×Ļ×ķ×Ĺ×ĵ":130212,"ĠëĤ´ìļ©":130213,"ĠأجÙĦ":130214,"ĠÄIJông":130215,"Ġ×ŀ×ł×ª":130216,"Ġìĭľê°Ħ":130217,"ÙĥÙİ":130218,"ãģ¨ãģĦãģĨãģ®ãģ¯":130219,"Ġnależy":130220,"تÙĨظÙĬÙħ":130221,"ĠÑģозда":130222,"Ġphé":130223,"Ġphép":130224,"ãģ§ãģįãģ¾ãģĻ":130225,"ĠعÙĦÙħ":130226,"大ãģįãģª":130227,"ãĤ²ãĥ¼ãĥł":130228,"íħĮ":130229,"Ġ׼×ķ׾׾":130230,"ĠинÑĤеÑĢнеÑĤ":130231,"ĠTừ":130232,"ãģ¨ãģªãĤĭ":130233,"زاÙĦ":130234,"Ġktórym":130235,"Ġnhé":130236,"ìĪľ":130237,"нев":130238,"деÑĢ":130239,"ãĤ¢ãĥĹãĥª":130240,"iá»ĩu":130241,"×ij×Ļ׾":130242,"Ġتس":130243,"ĠÄIJây":130244,"ĠاÙĦخاصة":130245,"Ġà¹Ģà¸Ĭ":130246,"Ġà¹Ģà¸Ĭà¹Īà¸Ļ":130247,"صاد":130248,"Ġdạng":130249,"سعر":130250,"Ġש×Ļ×ŀ×ķש":130251,"×Ĵ×Ļ×Ŀ":130252,"ãģĮãģĤãģ£ãģŁ":130253,"пÑĢов":130254,"пÑĢовод":130255,"Ġ×IJ×Ļ׳×ķ":130256,"Ġ׾ר×IJ":130257,"Ġ׾ר×IJ×ķת":130258,"ĠØ£Ù쨶ÙĦ":130259,"ĠØŃÙĦ":130260,"ĠأبÙĪ":130261,"ê°ķ":130262,"Ġì§ij":130263,"ãģ®ãĤĪãģĨãģ«":130264,"Ġפ׳×Ļ":130265,"ס×Ļ×Ŀ":130266,"ĠÙĪÙĩذا":130267,"Ġkaç":130268,"Ġéén":130269,"Ġê±´":130270,"ë°Ķ":130271,"Ñĥз":130272,"à¸Ĥà¸Ńà¸ĩà¹Ģรา":130273,"iÅĤ":130274,"ĠÐľÑĭ":130275,"Ġchết":130276,"ĠاÙĦثاÙĨÙĬ":130277,"×IJ×§":130278,"Ġ×ķ×¢×ľ":130279,"ĠاÙĦطب":130280,"×ij×ĺ×Ĺ":130281,"ĠجدÙĬدة":130282,"ĠعدÙħ":130283,"عز":130284,"สิà¹Īà¸ĩà¸Ĺีà¹Ī":130285,"ãģĻãĤĮãģ°":130286,"ĠÄijô":130287,"ì£ł":130288,"دÙĤ":130289,"номÑĥ":130290,"Ġká»ĥ":130291,"ãĤ¢ãĥ³":130292,"å¤ļãģıãģ®":130293,"à¸Ľà¸£à¸°à¸ģ":130294,"à¸Ľà¸£à¸°à¸ģà¸Ńà¸ļ":130295,"פע×Ļ׾×ķת":130296,"ĠÑģÑĤол":130297,"mayı":130298,"ãģ¤ãģĦ":130299,"Ġyılında":130300,"Ġà¸Īึà¸ĩ":130301,"koÅĦcz":130302,"ĠThông":130303,"ĠакÑĤив":130304,"нÑģÑĤ":130305,"нÑģÑĤÑĢÑĥ":130306,"ĠÃĸz":130307,"Ġת×ŀ×Ļ×ĵ":130308,"ĠÙĥÙĨت":130309,"ÑģиÑģÑĤем":130310,"prés":130311,"présent":130312,"Ġnâ":130313,"Ġnâng":130314,"gÅĤos":130315,"ĠÙĪØ²ÙĬر":130316,"ØŃصÙĦ":130317,"ĠимееÑĤ":130318,"ØŃرÙĥØ©":130319,"à¸ŀà¹Īà¸Ń":130320,"ãĤĴãģĬ":130321,"ĠاستخداÙħ":130322,"×IJ×Ļר×ķ×¢":130323,"ä»ĸãģ®":130324,"Ġש×Ķ×Ŀ":130325,"ãģĹãģŁãĤī":130326,"ש×ŀ×Ļ":130327,"Ñģла":130328,"mı":130329,"Ġbazı":130330,"Ġíķĺì§Ģë§Į":130331,"×ĵ׾":130332,"Ġyaptıģı":130333,"ãĥĬãĥ¼":130334,"׾×Ļ׾×Ķ":130335,"ãģ¨ãģĦãģ£ãģŁ":130336,"ändig":130337,"ĠÅŁa":130338,"ĠÙģÙĬÙħا":130339,"иÑĤелÑı":130340,"×ŀ×ķש":130341,"à¸Ĥà¸Ńà¸ļ":130342,"lük":130343,"Ġhá»ĵi":130344,"Ġëªħ":130345,"ĠاÙĦÙĥØ«ÙĬر":130346,"צ×IJ":130347,"Ġhazır":130348,"طرÙģ":130349,"اÙĬا":130350,"ĠÄijôi":130351,"енд":130352,"ÙĦغ":130353,"×Ĺ×ĸ×ķר":130354,"ĠвÑģег":130355,"ĠвÑģегда":130356,"ëIJĺê³ł":130357,"×ĵ×ķ×ĵ":130358,"ана":130359,"دÙĪÙĦØ©":130360,"Ġhoạch":130361,"عÙĦا":130362,"عÙĦاج":130363,"Ġ×ķ×¢×ĵ":130364,"×Ķ×Ŀ":130365,"кий":130366,"ÙĦÙIJ":130367,"Ġ×¢×ľ×Ļ×ķ":130368,"ÑİÑīий":130369,"Ġngá»§":130370,"صÙĨع":130371,"ĠاÙĦعراÙĤ":130372,"à¸ķà¹Īà¸Ńà¹Ħà¸Ľ":130373,"ãģŁãģıãģķãĤĵ":130374,"Ġphạm":130375,"ÙĦاÙĨ":130376,"اتÙĩا":130377,"Ġböyle":130378,"تÙĨÙģÙĬ":130379,"تÙĨÙģÙĬذ":130380,"Ġש×Ķ×Ļ×IJ":130381,"ÑģÑĥ":130382,"ยาว":130383,"Ġש×ķ׳×Ļ×Ŀ":130384,"Ġ×ŀ×ķ׾":130385,"ĠÑģил":130386,"Ġ×IJ×Ĺר×Ļ×Ŀ":130387,"Ġphá»§":130388,"ÙĤطع":130389,"ĠThá»§":130390,"à¸Ľà¸£à¸°à¹Ģà¸Ĺศà¹Ħà¸Ĺย":130391,"ÙĨÙĤ":130392,"ĠÄijoạn":130393,"Ġبإ":130394,"пÑĢедел":130395,"×ķת×ķ":130396,"Ġyarı":130397,"пÑĢе":130398,"ĠczÄĻÅĽci":130399,"ØŃÙĥÙħ":130400,"×ķ׳×Ļת":130401,"×¤×¢×ľ":130402,"ãĤĴãģĹãģ¦":130403,"Ġktórzy":130404,"׾×Ŀ":130405,"ĠÄIJiá»ģu":130406,"ĠкоÑĤоÑĢаÑı":130407,"ĠìĿ´ìĥģ":130408,"ãģĤãģ£ãģŁ":130409,"Ġ×ŀ×ĵ×ķ×ijר":130410,"פ×ķ×¢×ľ":130411,"dım":130412,"éĢļãĤĬ":130413,"ĠбÑĥдÑĥÑĤ":130414,"à¹Ģวà¹ĩà¸ļà¹Ħà¸ĭ":130415,"à¹Ģวà¹ĩà¸ļà¹Ħà¸ĭà¸ķà¹Į":130416,"اخر":130417,"×Ĺ×Ļ׾":130418,"Ġ×Ļ׾":130419,"Ġ×Ļ׾×ĵ×Ļ×Ŀ":130420,"×Ĺ×Ļפ":130421,"×Ĺ×Ļפ×ķש":130422,"Ġdòng":130423,"Ġש×ĸ×Ķ":130424,"ÑĮе":130425,"ãģĤãģ¨":130426,"ìŀIJê°Ģ":130427,"×IJ×ĵ":130428,"Ġüz":130429,"Ġüzere":130430,"ظÙĦ":130431,"Ġ×IJ×ķ׾×Ļ":130432,"Ġ×ij×Ļ×ķ×Ŀ":130433,"ÙĦات":130434,"Ġmê":130435,"침":130436,"تØŃد":130437,"تØŃدث":130438,"Ġخاصة":130439,"ĠبرÙĨ":130440,"ĠبرÙĨاÙħج":130441,"ĠHÃłn":130442,"×Ĺס":130443,"ĠÙĪÙĦÙħ":130444,"×¢×Ŀ":130445,"Ġmı":130446,"à¸Łà¸±à¸ĩ":130447,"שע×Ķ":130448,"ÙĪÙģÙĤ":130449,"ס×ij×Ļר":130450,"алÑĮнÑĭй":130451,"×Ĺש×ķ×ij":130452,"ĠnÃłng":130453,"ë³¼":130454,"ĠкоÑĤоÑĢÑĭÑħ":130455,"Ġ×Ĺ×ķ×§":130456,"tör":130457,"ĠлÑĥÑĩÑĪе":130458,"ãĥijãĥ³":130459,"ลà¹Īาสุà¸Ķ":130460,"ĠجدÙĬد":130461,"ÙĬدة":130462,"à¸Ĺรà¸ĩ":130463,"ãĤĪãĤĬãĤĤ":130464,"ÙĦÙĦ":130465,"ãĤĤãģ£ãģ¨":130466,"ש×ĺ×Ĺ":130467,"Ġ×ķ×IJ×Ļ":130468,"Ġgiá»ijng":130469,"إضاÙģ":130470,"קת":130471,"ë§Ŀ":130472,"ĠzostaÅĤ":130473,"ÑĢоз":130474,"×Ļפ×Ļ×Ŀ":130475,"Ġ׼׾׾":130476,"ת×ķ׼ף":130477,"dıģını":130478,"ÙĤسÙħ":130479,"ĠÑģÑĩиÑĤ":130480,"ĠÑģÑĩиÑĤа":130481,"×ĺ×ķת":130482,"Ġưu":130483,"ĠØ¢ÙĦ":130484,"Ġмом":130485,"ĠмоменÑĤ":130486,"ĠاÙĦتعÙĦÙĬÙħ":130487,"×¢×ľ×ķת":130488,"Ġchữa":130489,"Ġyön":130490,"ĠtrÃł":130491,"ĠØŃÙĬÙĨ":130492,"à¸ĭั":130493,"ĠCá":130494,"×¢×ĸ":130495,"ĠاÙĦØ£ÙħÙĨ":130496,"cÃŃ":130497,"Ġvá»ijn":130498,"Ġà¸Ļาย":130499,"обÑĢа":130500,"×§×IJ":130501,"Ġthiếu":130502,"ãĥŀãĥ¼":130503,"สวà¸Ļ":130504,"Ġgá»Ń":130505,"Ġgá»Ńi":130506,"Ġê¹":130507,"Ġê¹Ģ":130508,"Ġthiá»ĩn":130509,"ÙĤع":130510,"wÄĻ":130511,"Ġнам":130512,"ÑĤол":130513,"Ġsân":130514,"ס×ķ×Ĵ":130515,"Ġgeçir":130516,"ÑĤон":130517,"ева":130518,"ĠÙĪØ¶Ø¹":130519,"Ġعشر":130520,"Ñģло":130521,"à¸Īัà¸ļ":130522,"ãĤ·ãĥ¼":130523,"ãĤĤãģĤãĤĬãģ¾ãģĻ":130524,"Ġvẻ":130525,"ĠÄIJá»ĥ":130526,"رÙ쨹":130527,"ĠاÙĦØ£ÙĪÙĦÙī":130528,"ÑĤаÑĢ":130529,"ãģªãģıãģ¦":130530,"ÙħÙİ":130531,"quÃŃ":130532,"×¢×ł×Ļ×Ļ׳":130533,"ген":130534,"Ġhôm":130535,"à¸Īา":130536,"ĠnhỼ":130537,"ĠاÙĦعربÙĬ":130538,"×IJף":130539,"Ġlá»Ļ":130540,"ĠjeÅĽli":130541,"à¹Ģà¸Ĺà¹Īาà¸Ļัà¹īà¸Ļ":130542,"ĠØ£ÙĨÙĩا":130543,"Ġtuy":130544,"Ġtuyá»ĩt":130545,"Ġتص":130546,"ĠتصÙĨÙĬ":130547,"ĠتصÙĨÙĬÙģ":130548,"Ġê·¸ëŁ¬ëĤĺ":130549,"оÑĨен":130550,"à¸ģิà¸Īà¸ģรรม":130551,"ãĤĦãģ£ãģ¦":130552,"Ġkhá»ıi":130553,"Ġlá»ĩ":130554,"ĠاÙĦÙħجتÙħع":130555,"à¸Ńาà¸Īà¸Īะ":130556,"à¸Īะà¹Ģà¸Ľà¹ĩà¸Ļ":130557,"овÑĭй":130558,"ר×Ŀ":130559,"รà¹īà¸Ńà¸Ļ":130560,"ש×ŀש":130561,"人ãģ«":130562,"Ġüzerine":130563,"פר×Ļ":130564,"duÄŁu":130565,"Ñĩик":130566,"Ġmùa":130567,"Ġ×ŀת×ķ×ļ":130568,"ĠcáºŃp":130569,"ĠتارÙĬØ®":130570,"×ij×ľ×ª×Ļ":130571,"Ġì¢Ģ":130572,"ÙĦع":130573,"باÙĨ":130574,"Ġchút":130575,"Ġ×Ķ×ĸ×ŀף":130576,"née":130577,"ĠLiên":130578,"ĠÙĦÙĦØ£":130579,"ØŃدÙĪØ¯":130580,"Ġ×¢×Ľ×©×Ļ×ķ":130581,"воз":130582,"Ġyaptı":130583,"Ġобо":130584,"à¹ĥหà¹īà¸ģัà¸ļ":130585,"Ġ×ij×Ķ×Ŀ":130586,"ãģıãģ¦":130587,"رأس":130588,"ĠÑģÑĢедÑģÑĤв":130589,"ĠBÃłi":130590,"ãģĵãģ¨ãģ«":130591,"ĠìĤ¬íļĮ":130592,"Ġ모ëijIJ":130593,"×ij×IJ":130594,"Ġtrắng":130595,"ĠاÙĦبÙĦد":130596,"ĠHoÃłng":130597,"либо":130598,"ĠдÑĢÑĥгиÑħ":130599,"İR":130600,"Ñĥма":130601,"ĠJeÅĽli":130602,"ãĤĤãģĹ":130603,"Ġvòng":130604,"Ġ×IJתר×Ļ×Ŀ":130605,"ĠÄijá»įc":130606,"ĠвоÑĤ":130607,"ãģłãģĮ":130608,"ë°°":130609,"à¸Ķูà¹ģล":130610,"Ġ×ŀ׼׾":130611,"ìĹIJëıĦ":130612,"газ":130613,"Ġ׳×ķספ×Ļ×Ŀ":130614,"ãģĵãģ¨ãģ§":130615,"ĠتÙĪ":130616,"ãģ§ãģĤãĤĬ":130617,"à¸Ļัà¹Īà¸ĩ":130618,"ĠможеÑĤе":130619,"szÄĻ":130620,"ãģ®ãģł":130621,"ĠÙħÙĨÙĩ":130622,"Ġbá»ķ":130623,"Ġbüt":130624,"Ġbütün":130625,"ë³´ê³ł":130626,"Ġchá»ĵng":130627,"à¹ģà¸Īà¹īà¸ĩ":130628,"ĠVì":130629,"ĠØŃر":130630,"Ġgiản":130631,"ĠÙħدÙĬÙĨØ©":130632,"تطبÙĬÙĤ":130633,"à¸Īิ":130634,"æĹ¥ãģ®":130635,"бил":130636,"à¸ģà¸Ńà¸ĩ":130637,"ê³³":130638,"ĠØ£Ùħا":130639,"ìĨIJ":130640,"Ġtrái":130641,"ĠвÑģем":130642,"ĠسÙĨØ©":130643,"ĠÑģайÑĤ":130644,"ĠгоÑĤов":130645,"пÑĭ":130646,"ĠëIJł":130647,"ĠاÙĦخط":130648,"ĠاÙĦرئÙĬسÙĬØ©":130649,"Ġíķ©ëĭĪëĭ¤":130650,"ĠìķĦëĭĪëĿ¼":130651,"ĠìĿ´ëłĩ":130652,"ĠìĿ´ëłĩê²Į":130653,")ØĮ":130654,"hält":130655,"ĠØ£Ùħر":130656,"ĠعÙħر":130657,"à¸ģà¹ĩà¸Īะ":130658,"Ġà¸Ĺำà¹ĥหà¹ī":130659,"Ġcân":130660,"Ġ×ij׾":130661,"Ġ×ij׾×ij×ĵ":130662,"פסק":130663,"ĠÙĬÙĤÙĪÙĦ":130664,"нÑĥÑĤÑĮ":130665,"à¹ģà¸Ħ":130666,"Ġקצת":130667,"Ġnằm":130668,"Ġhòa":130669,"bilitÃł":130670,"ĠìĹĨëĭ¤":130671,"Ġ׼פ×Ļ":130672,"ÑĢож":130673,"лага":130674,"Ġ×Ķש×Ļ":130675,"ĠNgoÃłi":130676,"ĠÙĪØ¬":130677,"ĠÙĪØ¬ÙĪØ¯":130678,"ĠìľĦíķľ":130679,"ĠusÅĤug":130680,"Ġtuần":130681,"dź":130682,"×ŀ×ķף":130683,"ĠاÙĦعدÙĬد":130684,"Ġchẳng":130685,"สุà¸Ĥà¸łà¸²à¸ŀ":130686,"Ġ×ij×ĵר×ļ":130687,"ĠÑģебе":130688,"ĠìŀĪìĿĦ":130689,"ĠاÙĦØŃاÙĦ":130690,"Ġdá":130691,"Ġcưá»Ŀi":130692,"Ġnghiên":130693,"ieÅĦ":130694,"ĠDương":130695,"ï¼ħ":130696,"شد":130697,"ãģĦãģ¤ãĤĤ":130698,"ĠвÑĭбоÑĢ":130699,"Ġcá»Ļng":130700,"ש×Ļ׳×ķ×Ļ":130701,"Ġchạy":130702,"Ġ×ij×¢×ľ×Ļ":130703,"اخبار":130704,"íķĺë©°":130705,"żÄħ":130706,"جاز":130707,"Ġ׳ר×IJ×Ķ":130708,"ศู":130709,"ศูà¸Ļ":130710,"ศูà¸Ļยà¹Į":130711,"×Ĵ×¢":130712,"Ġ×¢×ĵ×Ļ":130713,"Ġ×¢×ĵ×Ļ×Ļף":130714,"برا":130715,"ÑĨий":130716,"ĠÄIJá»ĵng":130717,"ÙĤاÙĨÙĪÙĨ":130718,"ĠÄijứng":130719,"ãģĹãģŁãĤĬ":130720,"Ġ×Ĺ×Ļ×Ļ":130721,"ĠëIJľ":130722,"ĠëIJľëĭ¤":130723,"ĠмеждÑĥ":130724,"à¸ŀวà¸ģà¹Ģà¸Ĥา":130725,"ĠBắc":130726,"ลำ":130727,"ë°±":130728,"ĠíĻķ":130729,"มาà¸ģม":130730,"มาà¸ģมาย":130731,"банк":130732,"à¸Ńาà¸ģาร":130733,"ĠhÃł":130734,"Ġ׾׳":130735,"à¸Ńà¸Ń":130736,"Ġë°Ķë¡ľ":130737,"лом":130738,"mática":130739,"ĠØŃد":130740,"ابت":130741,"à¸Ĺีà¹Īà¸Ļีà¹Ī":130742,"ĠcoÅĽ":130743,"ÙģÙĬدÙĬ":130744,"ÙģÙĬدÙĬÙĪ":130745,"ĠмеÑģÑĤо":130746,"Ġphút":130747,"มาà¸ģà¸ģวà¹Īา":130748,"×IJפ":130749,"بÙIJ":130750,"ĠPhú":130751,"ì±Ħ":130752,"ĠÙĪØ³ÙĦÙħ":130753,"à¸Īีà¸Ļ":130754,"поÑĤÑĢеб":130755,"Ġ×Ĺ×ĵש×ķת":130756,"Ø´ÙĪ":130757,"Ġעצ×ŀ×ķ":130758,"ĠعÙħÙĦÙĬØ©":130759,"à¸Ħุà¸ĵà¸łà¸²à¸ŀ":130760,"ãģ¾ãģĻãģĮ":130761,"دعÙĪ":130762,"طرÙĤ":130763,"à¹Ħมà¹Īà¸ķà¹īà¸Ńà¸ĩ":130764,"ë²Ķ":130765,"ìĬ¹":130766,"ĠkÃŃch":130767,"ĠìĹĨëĬĶ":130768,"ĠÑĤам":130769,"ĠÙĨØŃÙĪ":130770,"ĠاÙĦÙĤاÙĨÙĪÙĨ":130771,"×Ĺ×ķ×Ŀ":130772,"Ġkız":130773,"Ġ×ĵ×Ļף":130774,"ĠвÑĢемени":130775,"ãģ£ãģŁãĤĬ":130776,"ĠØ´Ùĩر":130777,"ĠìĦľë¹ĦìĬ¤":130778,"עש×Ķ":130779,"Ġgiác":130780,"ĠاÙĦسÙĦاÙħ":130781,"Ġ×IJש":130782,"ĠполÑĥÑĩа":130783,"à¸Īัà¸Ķà¸ģาร":130784,"коÑĢ":130785,"Ġ×Ķ×ĺ×ķ×ij":130786,"รายà¸ģาร":130787,"주ìĿĺ":130788,"à¹ģà¸ķà¹Īละ":130789,"Ġê·¸ëŁ°ëį°":130790,"à¸Ĺีà¹Īà¹Ģà¸Ľà¹ĩà¸Ļ":130791,"Ġת×ķ×ļ":130792,"بÙĬاÙĨ":130793,"ÐĻ":130794,"oÅĽciÄħ":130795,"ÑĤок":130796,"ĠÃĶ":130797,"ĠÃĶng":130798,"à¹Ħมà¹Īà¹ĥà¸Ĭà¹Ī":130799,"ãģ¿ãģ¦":130800,"ÐŁÐ¾":130801,"ĠЧÑĤо":130802,"íĻ©":130803,"×ĺ×ij×¢":130804,"меÑĤÑĢ":130805,"Ġ×ij×ŀ×Ķ":130806,"Ġ×ij×ŀ×Ķ׾":130807,"Ġ×ij×ŀ×Ķ׾×ļ":130808,"ÑĩÑĮ":130809,"קש×Ķ":130810,"знак":130811,"знаком":130812,"ujÄĻ":130813,"×Ļצר":130814,"ĠاÙĦÙħÙĦÙĥ":130815,"ıyla":130816,"×IJ×ŀת":130817,"à¸Ľà¸´à¸Ķ":130818,"×IJ×Ĺ×ĵ":130819,"راد":130820,"ĠmáºŃt":130821,"ëĭ¤ëĬĶ":130822,"Ġlạnh":130823,"ש׾×ķש":130824,"ØŃدÙĬØ«":130825,"تز":130826,"å¹´ãģ®":130827,"ĠкваÑĢ":130828,"ĠкваÑĢÑĤиÑĢ":130829,"ä½ľãĤĬ":130830,"رÙĪØ¨":130831,"ован":130832,"ĠТе":130833,"à¸Īำà¸ģ":130834,"à¸Īำà¸ģัà¸Ķ":130835,"باط":130836,"×Ĵת":130837,"ĠмаÑĪ":130838,"ĠмаÑĪин":130839,"×Ļצ×Ķ":130840,"ãģ»ãģ¨":130841,"ãģ»ãģ¨ãĤĵãģ©":130842,"ÃŃdo":130843,"ĠÑıзÑĭк":130844,"à¸ļิà¸Ļ":130845,"สà¸ĸาà¸Ļà¸Ĺีà¹Ī":130846,"ĠìĹ´":130847,"ãĤ¦ãĤ§":130848,"ĠcÃł":130849,"пан":130850,"åı£ãĤ³ãĥŁ":130851,"Ġرد":130852,"اÙĤت":130853,"ĠÙĥب":130854,"ĠÙĥبÙĬرة":130855,"ÑģÑĤал":130856,"ש×ŀ×Ĺ":130857,"posición":130858,"ĠÙħÙĦÙĬÙĪÙĨ":130859,"ĠìĿ´ìķ¼":130860,"ĠìĿ´ìķ¼ê¸°":130861,"Ġhút":130862,"ĠÅĽwiat":130863,"Ġë°©ë²ķ":130864,"ĠÑģвеÑĤ":130865,"Ġвидео":130866,"ĠاÙĦÙĨظاÙħ":130867,"Ġtrá»Ŀi":130868,"ĠëĮĢíķ´ìĦľ":130869,"ר×ŀת":130870,"تداÙĪÙĦ":130871,"×ķר×ĵ":130872,"ת×ŀ":130873,"ת×ŀ×ķ׳×ķת":130874,"Ġ×ŀף":130875,"Ġдва":130876,"Ġ×Ķ×§×ķ":130877,"æĹ¥ãģ«":130878,"Ġ×Ķ×Ĵ×Ļ×¢":130879,"à¹Ģà¸ŀิà¹Īมà¹Ģà¸ķิม":130880,"Ùħارس":130881,"Ġê²ĥìŀħëĭĪëĭ¤":130882,"ãģªãģĦãģ¨":130883,"Ġnhiá»ĩt":130884,"ëIJ©ëĭĪëĭ¤":130885,"Ġ×ij׳×ķש×IJ":130886,"Ġê°Ģìŀ¥":130887,"Ġvợ":130888,"ĠÄijóng":130889,"צ×Ļ׾×ķ×Ŀ":130890,"ê´Ģê³Ħ":130891,"ваÑı":130892,"×IJ×Ļ×ĸ":130893,"×IJ×Ļ×ĸ×Ķ":130894,"ĠÙĨظاÙħ":130895,"ÙħØŃاÙ쨏":130896,"Ġtải":130897,"기ëıĦ":130898,"à¸Ľà¸±à¸Īà¸Īุ":130899,"à¸Ľà¸±à¸Īà¸Īุà¸ļัà¸Ļ":130900,"׼×ĵ×ķר":130901,"ĠìķĦìĿ´":130902,"׼׳×Ļס":130903,"à¹Ģà¸ķร":130904,"à¹Ģà¸ķรียม":130905,"Ġngoại":130906,"ĠدÙĪÙĦار":130907,"Ġrẻ":130908,"ĠkhÄĥn":130909,"عدد":130910,"شعب":130911,"czyÄĩ":130912,"ĠاÙĦÙĥر":130913,"ĠÑĩеловека":130914,"ĠÙĪØ¥ÙĨ":130915,"×IJ×ĺ":130916,"ĠthÆ¡":130917,"ĠاÙĦرÙĬاض":130918,"опÑĢедел":130919,"опÑĢеделен":130920,"×Ķ×ŀש×ļ":130921,"ĠÐĿово":130922,"зÑĭва":130923,"ĠاÙĦدÙĪÙĦÙĬ":130924,"ĠÄijáp":130925,"ĠкÑĢед":130926,"ĠкÑĢедиÑĤ":130927,"ового":130928,"Ġmôn":130929,"à¸Ľà¸£à¸°à¹Ĥย":130930,"à¸Ľà¸£à¸°à¹Ĥยà¸Ĭà¸Ļ":130931,"à¸Ľà¸£à¸°à¹Ĥยà¸Ĭà¸Ļà¹Į":130932,"ÑģÑĤе":130933,"ĠThá»ĭ":130934,"دÙĬØ©":130935,"×ŀצ×ķ":130936,"ÙģØ§Øª":130937,"×§×ĵ×Ŀ":130938,"ìĿ´ëĿ¼ê³ł":130939,"ÙĪØ®":130940,"Ġ×Ĺ×ĸ":130941,"ĠÑĦоÑĤо":130942,"׾×Ļת":130943,"تÙİ":130944,"ÙĪØ¨Ø±":130945,"йÑĤи":130946,"ĠÃ¶ÄŁren":130947,"Ġ×Ķ×ĸ×ķ":130948,"Ġvá»įng":130949,"ÙĤÙĪØ©":130950,"ĠTây":130951,"ĠÐĿи":130952,"Ġש×ķ×ij":130953,"ãģ¨è¨ĢãĤıãĤĮ":130954,"ãģ©ãĤĵãģª":130955,"×Ĺצ×Ļ":130956,"ï½ľ":130957,"Ġ×ķ×Ķ×ķ×IJ":130958,"ä¸Ģãģ¤":130959,"ĠÑģÑĤоиÑĤ":130960,"niÄħ":130961,"×ĺר×Ļ":130962,"ĠдеÑĤей":130963,"нÑıÑĤÑĮ":130964,"ĠÑģделаÑĤÑĮ":130965,"Ġë§İìĿ´":130966,"ä½ķãģĭ":130967,"ãģĽãĤĭ":130968,"à¹Ħหม":130969,"à¸ķิà¸Ķà¸ķà¹Īà¸Ń":130970,"Ġ×ijת×Ĺ":130971,"Ġ×ijת×Ĺ×ķ×Ŀ":130972,"ìĻĦ":130973,"ì§ĢëĬĶ":130974,"ÑģÑĤаÑĤ":130975,"ÑıÑģн":130976,"üb":130977,"Ġthả":130978,"Ġ×ij×IJ×ŀת":130979,"Ġtuyến":130980,"×ĵ×Ļר×Ķ":130981,"Ġ×IJ×Ļש×Ļ":130982,"×ĸ׼ר":130983,"ãģ°ãģĭãĤĬ":130984,"Ġxét":130985,"׼×Ļ×ķ":130986,"׼×Ļ×ķ×ķף":130987,"diÄŁini":130988,"ĠاÙĦÙħÙĪØ¶ÙĪØ¹":130989,"ĠháºŃu":130990,"à¸Īาà¸ģà¸ģาร":130991,"×ijס×Ļס":130992,"Ġ×ŀ×Ĵ×Ļ×¢":130993,"×ij×Ļ×¢":130994,"ĠÙĪØ¬Ùĩ":130995,"à¹ģà¸Ķà¸ĩ":130996,"à¸Ļาà¸ĩ":130997,"ĠÅŀa":130998,"ì¡´":130999,"ë¡Ģ":131000,"à¸ķะ":131001,"Ġ×Ķ×Ĺ×Ļ×Ļ×Ŀ":131002,"ÙģÙĬد":131003,"ãģ§ãģĻãģĭãĤī":131004,"ê·ľ":131005,"źni":131006,"ĠлÑİдей":131007,"Ġyüzde":131008,"ıyorum":131009,"ĠاÙĦبØŃر":131010,"eño":131011,"паÑĢ":131012,"ÙĬÙĤØ©":131013,"обÑĢ":131014,"ר×ķ×ļ":131015,"تÙĪÙĤع":131016,"ĠاÙĦØ´ÙĬØ®":131017,"åĪĿãĤģãģ¦":131018,"ĠÑĤелеÑĦ":131019,"ĠÑĤелеÑĦон":131020,"Ġthôi":131021,"Ġ×Ļ׼×ķ׾×Ļ×Ŀ":131022,"ĠÅŁirk":131023,"ĠÅŁirket":131024,"Ġìļ°ë¦¬ê°Ģ":131025,"ĠÄijông":131026,"Ġת×ķ×ĵ×Ķ":131027,"ÑģмоÑĤÑĢеÑĤÑĮ":131028,"ĠÙĦÙĩÙħ":131029,"Ġ׾׼":131030,"ĠNó":131031,"ĠØŃاÙĦØ©":131032,"ãģĦãģij":131033,"קר×ķ":131034,"azı":131035,"ãĤ³ãĥ¼":131036,"ĠÙĦÙĦت":131037,"sınız":131038,"ĠHải":131039,"기ìĪł":131040,"ยัà¸ĩà¹Ħมà¹Ī":131041,"ëĭ¤ê³ł":131042,"פ×Ĺ":131043,"Ġ׾×Ĵ×ij×Ļ":131044,"ĠعÙĨÙĩ":131045,"Ġказ":131046,"Ġказино":131047,"بÙĪØ±":131048,"ÑĦеÑĢ":131049,"Ġê°ĻìĿ´":131050,"تسجÙĬÙĦ":131051,"ĠاÙĦÙħرÙĥز":131052,"ĠThái":131053,"даÑĤÑĮ":131054,"×ŀ×Ļ×Ļ׾":131055,"ĠpaylaÅŁ":131056,"ãģ¤ãģ®":131057,"à¹Ģรืà¸Ń":131058,"nça":131059,"׳×ķ×Ĺ":131060,"Ġ×IJפ×Ļ׾×ķ":131061,"ãģ¨èĢĥãģĪ":131062,"ãģ¨ãģĹãģ¦ãģ¯":131063,"à¹Ģà¸Īà¸Ń":131064,"×ŀפ":131065,"ĠgiriÅŁ":131066,"лиÑĤ":131067,"ÑĤелÑı":131068,"Ñijн":131069,"æ°Ĺãģ«":131070,"Ġgó":131071,"Ġgóp":131072,"åĪĩãĤĬ":131073,"Ġ×Ķ×Ĺ×ĵש":131074,"жал":131075,"Ġ×ĵעת":131076,"éģķãģĨ":131077,"à¹Ģà¸Ĥà¹īาà¹Ħà¸Ľ":131078,"Ġסר×ĺ":131079,"eña":131080,"æĸ°ãģĹãģĦ":131081,"رÙİ":131082,"ĠÐIJÑĢ":131083,"Ġphản":131084,"à¸Īะà¹Ħà¸Ķà¹ī":131085,"Ġ×ijצ×ķר×Ķ":131086,"شاÙĩ":131087,"شاÙĩد":131088,"ÙĪØ±Ø¯":131089,"à¹Ģà¸Ļืà¹Īà¸Ńà¸ĩà¸Īาà¸ģ":131090,"илиÑģÑĮ":131091,"à¹ģละà¸ģาร":131092,"Ġ×Ķ×ĸ׼":131093,"Ġ×Ķ×ĸ׼×ķ×Ļ×ķת":131094,"eiÃŁ":131095,"ãĥ¨":131096,"ìĥĪ":131097,"ĠÃĩa":131098,"Ư":131099,"ש×Ĵ":131100,"ÙĬÙĨØ©":131101,"รà¹īà¸Ńà¸ĩ":131102,"ãĤµãĥ³":131103,"ÑĢоÑģÑģий":131104,"ÑĢоÑģÑģийÑģк":131105,"aÄŁa":131106,"ĠнаÑĩина":131107,"ĠصÙĦÙī":131108,"à¸Ĺุà¸ģà¸Ħà¸Ļ":131109,"íļĮìĤ¬":131110,"ĠлиÑĨ":131111,"Ø´ÙĬر":131112,"ĠØ´ÙĬØ¡":131113,"ÙĬÙĨا":131114,"Ġפ×Ĺ×ķת":131115,"Ġiçeris":131116,"Ġiçerisinde":131117,"ĠØ£ØŃÙħد":131118,"Ġżeby":131119,"ì´Ŀ":131120,"Ġпоказ":131121,"Ġименно":131122,"หà¸Ļัà¸ĩส":131123,"หà¸Ļัà¸ĩสืà¸Ń":131124,"ĠÑĤÑĢе":131125,"สัà¸ĩà¸Ħม":131126,"Ø¥ÙIJ":131127,"ãģĮå¿ħè¦ģ":131128,"ÙĬÙijØ©":131129,"פצ":131130,"íĭ°":131131,"ĠÙħجاÙĦ":131132,"׳פש":131133,"кан":131134,"×Ĺ×ķפ":131135,"×Ĺ×ķפש":131136,"ì²ĺëŁ¼":131137,"оваÑı":131138,"зов":131139,"Ġhạ":131140,"ĠdziÄĻki":131141,"×Ļר×ķ":131142,"Ġ׾×ŀצ":131143,"Ġ׾×ŀצ×ķ×IJ":131144,"×Ļ×ĵ×ķ":131145,"Ġsợ":131146,"Ġ׾×Ķ×Ĵ×Ļ×¢":131147,"×§×ij×¢":131148,"Ġchiá»ģu":131149,"ãĥŀãĤ¤":131150,"ĠdÃłng":131151,"à¹ģà¸Łà¸Ļ":131152,"Ġüye":131153,"×Ļ׳×Ĵ":131154,"à¹Ģรียà¸ģ":131155,"ç§ģãģĮ":131156,"thé":131157,"ĠÑĦилÑĮ":131158,"ĠÑĦилÑĮм":131159,"ĠNgÃły":131160,"Ġжен":131161,"ĠженÑīин":131162,"جÙĬد":131163,"nç":131164,"à¸Ľà¸£à¸²":131165,"×Ļ×ŀ×ķ":131166,"Ġná»ģn":131167,"×IJ×ķ׾×Ŀ":131168,"ĠвозможноÑģÑĤÑĮ":131169,"Ġëĭ¤ìĭľ":131170,"è¦ĭãģŁ":131171,"à¸ĸà¸Ļ":131172,"à¸ĸà¸Ļà¸Ļ":131173,"mızı":131174,"ĠÙħجÙħÙĪØ¹Ø©":131175,"cjÄħ":131176,"ĠÐłÐ¤":131177,"à¸ģำหà¸Ļ":131178,"à¸ģำหà¸Ļà¸Ķ":131179,"ĠìĹ¬ê¸°":131180,"landı":131181,"ниÑĨ":131182,"ÑģÑĤве":131183,"Ġ×ĵ×ijר×Ļ×Ŀ":131184,"ĠskÅĤad":131185,"ãĤĬãģ¾ãģĹãģŁ":131186,"ĠоÑĤкÑĢÑĭÑĤ":131187,"нÑıÑĤ":131188,"ĠÑģвоей":131189,"à¸Īิà¸ķ":131190,"ĠкаÑĩеÑģÑĤве":131191,"ĠettiÄŁi":131192,"ìĤ¬íķŃ":131193,"ĠاÙĦÙĬÙħÙĨ":131194,"иÑĩеÑģкий":131195,"ë¸Į":131196,"Ġ×ij×IJרץ":131197,"ĠاسÙħ":131198,"ĠизвеÑģÑĤ":131199,"rão":131200,"ĠattivitÃł":131201,"à¹Ģà¸Ľà¹ĩà¸Ļà¸ģาร":131202,"ĠاÙĦدÙĥت":131203,"ĠاÙĦدÙĥتÙĪØ±":131204,"ĠÙĪØ§ØŃدة":131205,"ĠÑģÑĩеÑĤ":131206,"ĠпÑĢиÑĩ":131207,"ĠпÑĢиÑĩин":131208,"ĠÙĪØ²Ø§Ø±Ø©":131209,"Ġhuyá»ĩn":131210,"ĠÙĥتاب":131211,"à¹ģà¸Ļà¹Īà¸Ļ":131212,"à¹ģà¸Ļà¹Īà¸Ļà¸Ńà¸Ļ":131213,"Ġgünü":131214,"гÑĢÑĥз":131215,"ĠاÙĦخاص":131216,"Ġgörül":131217,"׾×ŀ×ĵ":131218,"ĠìłķëıĦ":131219,"×ķ×ij×Ļ׾":131220,"Ġ×ŀקצ×ķ×¢×Ļ":131221,"ĠоÑģобенно":131222,"à¸Ľà¸£à¸°à¸ģา":131223,"à¸Ľà¸£à¸°à¸ģาศ":131224,"acaģını":131225,"ë¶ģ":131226,"à¸łà¸¹à¸¡à¸´":131227,"ĠÑįлекÑĤ":131228,"ĠÑįлекÑĤÑĢо":131229,"Ġקש×Ķ":131230,"سÙĦØ·":131231,"à¸Ĭà¸Ļะ":131232,"×¢×Ļ׾":131233,"ĠЧе":131234,"à¹ģà¸Ļà¹Ī":131235,"lıģ":131236,"lıģın":131237,"Ġ×ŀ×¢×¨×Ľ×ª":131238,"好ãģįãģª":131239,"มาà¸ģà¸Ĥึà¹īà¸Ļ":131240,"×ŀ×¢×ijר":131241,"ĠاÙĦÙħغرب":131242,"ĠпеÑĢи":131243,"ĠпеÑĢиод":131244,"Ġnhạc":131245,"اÙĪÙĬ":131246,"ĠÙĪØ¹ÙĦÙī":131247,"أخذ":131248,"ĠCô":131249,"תר×ij×ķת":131250,"×Ĵ×Ķ":131251,"Ġktórej":131252,"×IJ×Ļת":131253,"×ij×ķ×IJ":131254,"делÑĮ":131255,"รีวิ":131256,"รีวิว":131257,"жÑĥ":131258,"Ġ×ij×Ĺ×ķ":131259,"еÑĪÑĮ":131260,"ĠØ£ÙĦÙģ":131261,"ĠاÙĦÙĪØ·ÙĨÙĬ":131262,"ĠاÙĦÙħÙĨØ·ÙĤØ©":131263,"nÄħÄĩ":131264,"Ġthiên":131265,"иÑĩеÑģкой":131266,"ĠاÙĦÙħÙĦ":131267,"ĠعÙħ":131268,"ספר":131269,"Ġnhóm":131270,"ÙĪØµÙģ":131271,"ĠChúng":131272,"ĠرÙĤÙħ":131273,"ãģ¾ãģĹãģŁãģĮ":131274,"alité":131275,"ลม":131276,"ĠëĤ´ê°Ģ":131277,"׾ק×ķ×Ĺ":131278,"ĠSÆ¡n":131279,"posição":131280,"miÄĻ":131281,"Ġtránh":131282,"ĠÄIJá»Ļ":131283,"׼×Ĺ":131284,"ãģĤãģ£ãģ¦":131285,"à¸Ńยà¹Īา":131286,"Ġ×ŀ×Ĺ×Ļר":131287,"Ġ×Ķ×Ļת×Ķ":131288,"à¸Ľà¹Īา":131289,"à¸Ńืà¹Īà¸Ļà¹Ĩ":131290,"Ø´ÙĤ":131291,"×ł×¡×Ļ":131292,"림":131293,"ãģ¦ãģĹãģ¾ãģĨ":131294,"Ġ×ŀצ×ij":131295,"ãģ«åĩº":131296,"ÙħÙĪØ§Ø·ÙĨ":131297,"ยัà¸ĩมี":131298,"алÑĮнÑĭе":131299,"sanız":131300,"إسرائÙĬÙĦ":131301,"ĠvÃłi":131302,"ì¤Ħ":131303,"ã썿ĢĿãģ£ãģ¦":131304,"×Ļ×ķ׳×Ļ":131305,"çĶŁãģį":131306,"Ġsâu":131307,"ÑĩиÑģÑĤ":131308,"Ġlá»ħ":131309,"ĠGiá":131310,"à¸Ńà¸¸à¸Ľ":131311,"à¸Ńà¸¸à¸Ľà¸ģร":131312,"à¸Ńà¸¸à¸Ľà¸ģรà¸ĵà¹Į":131313,"Ġnhẹ":131314,"rö":131315,"ס×ĺ×Ļ":131316,"ãģķãĤĵãģĮ":131317,"Ġdầu":131318,"عÙİ":131319,"ترا":131320,"×Ĵ×ĵ׾":131321,"Ġtécnica":131322,"׼׳×Ļ×Ŀ":131323,"תקש":131324,"תקש×ķרת":131325,"Ġнего":131326,"était":131327,"Ġmá»ģm":131328,"ÑģеÑĤ":131329,"ĠnháºŃt":131330,"Ġ×ŀ×¢×ľ":131331,"Ġ×Ķ×¢×ij×ķ×ĵ":131332,"Ġ×Ķ×¢×ij×ķ×ĵ×Ķ":131333,"Ġ×Ĵ×Ļ׾":131334,"ãģ¯ãģªãģĦ":131335,"ائØŃ":131336,"ĠздеÑģÑĮ":131337,"×IJ×Ļ׳×ĺר":131338,"ÙħÙIJ":131339,"Ġ×Ļ×Ĺ×ĵ":131340,"راÙģ":131341,"ì²ĺ리":131342,"×ĵ×¢×ķת":131343,"ì¹ľ":131344,"ĠТо":131345,"ĠThế":131346,"ì¶©":131347,"Ġ׳׼×ķף":131348,"عÙĬØ´":131349,"низ":131350,"ĠجاÙĨب":131351,"×ŀקצ×ķ×¢":131352,"à¹Ĥà¸ĭ":131353,"ÑģÑĥÑĤ":131354,"ìĸ´ìļĶ":131355,"ãĤĴè¦ĭãģ¦":131356,"ارد":131357,"Ġaçıl":131358,"ĠاÙĦØŃÙĬاة":131359,"à¸ģà¹ĩà¹Ħà¸Ķà¹ī":131360,"ãģĿãĤĮãĤĴ":131361,"عضÙĪ":131362,"ĠгÑĢаж":131363,"ĠгÑĢаждан":131364,"à¸Īะà¸ķà¹īà¸Ńà¸ĩ":131365,"ĠìĿ´ë٬":131366,"ĠìĿ´ë٬íķľ":131367,"Ġtrách":131368,"ÙĨÙİ":131369,"Ġkısa":131370,"ÃĶ":131371,"ÑĪка":131372,"ãģ®äºº":131373,"ĠÐŁÐ¾Ñģ":131374,"ĠÐŁÐ¾Ñģле":131375,"ÑĥлÑĮ":131376,"ÙĪØ§Ø¬Ùĩ":131377,"ÙĤرب":131378,"à¸Ľà¸ıิà¸ļัà¸ķิ":131379,"ê°Ļ":131380,"Ġ×ŀ׳":131381,"ĠÑģвои":131382,"براÙħج":131383,"ĠرÙĪ":131384,"пÑĢод":131385,"пÑĢодаж":131386,"ĠbyÅĤy":131387,"วัย":131388,"Ġgörün":131389,"ĠÃĪ":131390,"ÑİÑīим":131391,"ĠÑĤакой":131392,"ÙģÙĪØ±":131393,"ĠÙ쨹ÙĦ":131394,"Ġбел":131395,"ëIJł":131396,"erÃŃa":131397,"ĠÑģвоÑİ":131398,"Ġlã":131399,"Ġlãnh":131400,"à¹Ģà¸ŀืà¹Īà¸Ńà¹ĥหà¹ī":131401,"ÙĤÙĨ":131402,"تطÙĪÙĬر":131403,"Ġsayı":131404,"ĠÑģейÑĩаÑģ":131405,"Ġ×IJ×Ĺרת":131406,"×§×ķפ×Ķ":131407,"×§×ķרס":131408,"ĠسÙħ":131409,"Ġ×ĺ×Ļפ×ķ׾":131410,"ìĿ´ëĿ¼ëĬĶ":131411,"دراسة":131412,"èµ·ãģĵ":131413,"×Ĺ×Ļ׳":131414,"×Ĺ×Ļ׳×ķ×ļ":131415,"×ĵ×§":131416,"Ġë§ŀ":131417,"Ġкоманд":131418,"ĠÐijо":131419,"ĠигÑĢÑĭ":131420,"à¸ļี":131421,"ĠØ£Ùİ":131422,"вен":131423,"ĠاÙĦجدÙĬد":131424,"ĠÙĦØ¥":131425,"Ġ×ķ×IJ׳×Ļ":131426,"Ġ×Ķס×Ļ":131427,"иÑĩеÑģкого":131428,"رÙĪØŃ":131429,"à¸ģารศึà¸ģษา":131430,"ĠTrưá»Ŀng":131431,"игÑĢа":131432,"ılması":131433,"ĠмаÑģÑģ":131434,"ãģ¨ãģįãģ«":131435,"à¸Ĺีà¹Īà¸ľà¹Īาà¸Ļ":131436,"à¸Ĺีà¹Īà¸ľà¹Īาà¸Ļมา":131437,"ĠاÙĦسابÙĤ":131438,"Ġ×ŀ×¢×ĺ":131439,"ваÑĤÑĮ":131440,"mÃ¼ÅŁ":131441,"Ġ׾׼×ļ":131442,"Ġtá»ĭch":131443,"ÙģÙĩÙħ":131444,"تدرÙĬب":131445,"Ø´Ùĥ":131446,"Ġ×ij×ŀ×Ļ":131447,"Ġ×ij×ŀ×Ļ×ķ×Ĺ×ĵ":131448,"ÙĤطاع":131449,"ãģªãģĹ":131450,"×ķצ×Ļ×IJ":131451,"ĠÙĪØ³ÙĬ":131452,"зÑĥ":131453,"Ġyat":131454,"Ġyatırım":131455,"ë§İ":131456,"Ġthắng":131457,"ãģĬ客":131458,"ãģĬ客æ§ĺ":131459,"ĠThiên":131460,"ãģ«å¯¾ãģĹãģ¦":131461,"ÑĢиÑģ":131462,"ÙĨتائ":131463,"ÙĨتائج":131464,"Ġ×ŀשר":131465,"Ġ×ŀשר×ĵ":131466,"ĠتعاÙĦ":131467,"ĠتعاÙĦÙī":131468,"ש׳×Ļ":131469,"ÙĩاÙħ":131470,"×IJ׳ש×Ļ×Ŀ":131471,"Ġżycia":131472,"ĠÑĢÑĥблей":131473,"ÙĬض":131474,"Ġkatıl":131475,"ĠÙħÙĪØ¶ÙĪØ¹":131476,"Ġvardır":131477,"ĠÙħÙĨØ·ÙĤØ©":131478,"ĠTrần":131479,"ĠвеÑģ":131480,"üp":131481,"ÙħÙĪÙĨ":131482,"ÑĪли":131483,"Ġnóng":131484,"Ø®ÙĦÙģ":131485,"ĠСÑĤа":131486,"ĠдоÑĢ":131487,"ĠдоÑĢог":131488,"ĠwÅĤaÅĽnie":131489,"eÄŁin":131490,"Ġhiá»ĥm":131491,"ĠСам":131492,"ê»ĺìĦľ":131493,"ĠÑĦа":131494,"ãģ»ãģĨ":131495,"ãģ»ãģĨãģĮ":131496,"×ķפ×Ļ×¢":131497,"ê°Ī":131498,"دÙĪÙĦ":131499,"Ġthuê":131500,"Ġchá»Ĺ":131501,"Ġëĭ¹ìĭł":131502,"ãģijãĤĮ":131503,"ãģijãĤĮãģ©":131504,"ë³´íĺ¸":131505,"ãģķãĤĮãģ¦ãģĦãģ¾ãģĻ":131506,"Ġнадо":131507,"ĠìĤ¬ëŀĮëĵ¤":131508,"à¹Ģà¸Ĥà¸ķ":131509,"สมัย":131510,"zÅĤ":131511,"تÙĪØ±":131512,"Ġשת×Ļ":131513,"vê":131514,"Ġ×ijת×ķ×ļ":131515,"à¸Ĭัย":131516,"ãģĦãģ£ãģŁ":131517,"ìĿij":131518,"Ġtầ":131519,"Ġtầng":131520,"ש׼ר":131521,"Ġê¸Ģ":131522,"Ġ×Ķש׳×Ķ":131523,"ĠاÙĨÙĩ":131524,"ç«ĭãģ¡":131525,"rés":131526,"führen":131527,"رØŃÙħ":131528,"ê·¹":131529,"ĠâĢ«":131530,"Ġsuất":131531,"à¸Łà¸´":131532,"ÙĬÙĩا":131533,"ĠاÙĦاتØŃاد":131534,"Ġtuyá»ĥn":131535,"ãģ¾ãĤĭ":131536,"Ġmại":131537,"Ġngân":131538,"ãĤ°ãĥ©":131539,"欲ãģĹãģĦ":131540,"سار":131541,"ãĤĤãģ®ãģ§ãģĻ":131542,"кие":131543,"Ġseçim":131544,"åħ¥ãĤĬ":131545,"ãģªãģ©ãĤĴ":131546,"ÑĤÑĢи":131547,"ĠÑģпеÑĨ":131548,"Ġأد":131549,"Ġодно":131550,"ÑĪел":131551,"ãĥĩãĥ¼ãĤ¿":131552,"ãĤ·ãĤ¹ãĥĨ":131553,"ãĤ·ãĤ¹ãĥĨãĥł":131554,"è¡Įãģį":131555,"ã썿ĢĿãģ£ãģŁ":131556,"à¹Ģà¸ģิà¸Ķà¸Ĥึà¹īà¸Ļ":131557,"ĠÑĤож":131558,"ĠÑĤоже":131559,"Ġsạch":131560,"ĠÑģÑĢок":131561,"ĠклиенÑĤ":131562,"ĠÙħشرÙĪØ¹":131563,"Ġaltında":131564,"Ġì·¨":131565,"ä¸Ńãģ®":131566,"ãģķãģĽãĤĭ":131567,"ãģĻãģ¹":131568,"ãģĻãģ¹ãģ¦":131569,"ê°ľë°ľ":131570,"ĠÄijêm":131571,"ãģªãģĦãģ®ãģ§":131572,"ì²ł":131573,"×¢×ij×ĵ":131574,"Ġdấu":131575,"à¸Ħà¸Ļà¸Ĺีà¹Ī":131576,"ĠCách":131577,"تعÙĦÙĬÙħ":131578,"Ġhại":131579,"ãĤ»ãĥķãĥ¬":131580,"ĠÙĨÙ쨳Ùĩ":131581,"ĠíĨµíķ´":131582,"ÑĪло":131583,"ĠнапÑĢав":131584,"ĠнапÑĢавлен":131585,"ÑĢÑĥÑĩ":131586,"íĶĮ":131587,"Ġ×ijר×Ļ×IJ":131588,"ãģ®ãģ¿":131589,"ãģ«ãģĬãģĦãģ¦":131590,"×ij׳ק":131591,"ãĤ¨ãĥ³":131592,"Ø«ÙĦاث":131593,"Ġmỹ":131594,"ĠÑģайÑĤе":131595,"ĠемÑĥ":131596,"تغÙĬ":131597,"تغÙĬÙĬر":131598,"خصÙĪØµ":131599,"ÑĤели":131600,"Ġ×ķ׾׼ף":131601,"פע×Ŀ":131602,"ĠпоÑįÑĤомÑĥ":131603,"راÙĨ":131604,"иÑĤелей":131605,"пиÑģан":131606,"×¢×¥":131607,"ĠìĤ¬ìĹħ":131608,"Ùħز":131609,"جÙħÙĬع":131610,"ë©´ìĦľ":131611,"à¸ľà¸¥à¸´à¸ķà¸łà¸±":131612,"à¸ľà¸¥à¸´à¸ķà¸łà¸±à¸ĵ":131613,"à¸ľà¸¥à¸´à¸ķà¸łà¸±à¸ĵà¸ij":131614,"à¸ľà¸¥à¸´à¸ķà¸łà¸±à¸ĵà¸ijà¹Į":131615,"ĠпÑĢимеÑĢ":131616,"ãĤŃãĥ¼":131617,"lâ":131618,"ĠchÄĥm":131619,"缮ãģ®":131620,"ãģĦãģĭ":131621,"ãģ¨è¨ĢãģĨ":131622,"×ĸ×ķ×Ĵ":131623,"Ġ×ij×ĵ×Ļ":131624,"Ġ×ij×ĵ×Ļ×ķ×§":131625,"ãģĬåºĹ":131626,"à¸ķà¸Ńà¸Ļà¸Ļีà¹ī":131627,"Ġphá»iji":131628,"пÑĤ":131629,"สà¸Ļาม":131630,"Ø·ÙĪ":131631,"صاØŃ":131632,"صاØŃب":131633,"ĠDü":131634,"ĠDünya":131635,"Ġпока":131636,"пал":131637,"ĠÄijảo":131638,"ĠاÙĦÙģÙĪØ±":131639,"ĠاÙĦÙģÙĪØ±Ùĥس":131640,"Ġmáu":131641,"кÑĢеп":131642,"ĠاÙĦساعة":131643,"ĠгоÑĢода":131644,"Ù쨵ÙĦ":131645,"айÑĤе":131646,"Ġдог":131647,"ĠдоговоÑĢ":131648,"Ġإذ":131649,"Ġ×ij׼׾׾":131650,"ÙĬتÙĩ":131651,"×Ĵ×ijר":131652,"Ġbirç":131653,"Ġbirçok":131654,"문íĻĶ":131655,"ãģĿãģĨãģª":131656,"راØŃ":131657,"ĠÙħرة":131658,"ĠденÑĮги":131659,"fä":131660,"à¸Ĥà¹īาว":131661,"ĠÑģовÑĢем":131662,"ĠÑģовÑĢеменн":131663,"׾×Ĺ×¥":131664,"èī¯ãģı":131665,"ĠÙ쨣":131666,"Ġ×ķ×ĸ×Ķ":131667,"Ġзани":131668,"Ġзанима":131669,"Ġê°Ģì§Ģê³ł":131670,"ĠhÆ¡i":131671,"ãģªãģ®ãģĭ":131672,"ãĥĨãĥ¬ãĥĵ":131673,"Ġר×ij×ķת":131674,"à¸ķี":131675,"Ġ×ij×©×ł×ª":131676,"ĠTại":131677,"ĠthuáºŃn":131678,"Ñģел":131679,"Ñijм":131680,"dziÄĩ":131681,"ĠÑģка":131682,"ĠÑģкаÑĩ":131683,"ĠÑģкаÑĩаÑĤÑĮ":131684,"×ķ×ŀ×ķ":131685,"гла":131686,"ĠминÑĥÑĤ":131687,"åĩºãģĻ":131688,"Ġ×Ĺ×Ļ×Ļ×ij":131689,"Ġת×Ĵ×ķ×ij×Ķ":131690,"à¸£à¸¹à¸Ľà¹ģà¸ļà¸ļ":131691,"ниÑĨа":131692,"Ġİn":131693,"Ġأع":131694,"ĠضÙħÙĨ":131695,"ÙħثاÙĦ":131696,"ĠyaÅŁan":131697,"ĠìĹ°êµ¬":131698,"ĠLê":131699,"ש׾×Ĺ":131700,"ãģıãģªãĤĭ":131701,"ìĹĨìĿ´":131702,"ĠÑĤÑĢи":131703,"ĠÑĩаÑģÑĤо":131704,"ĠобÑĢаÑĤ":131705,"пло":131706,"دخ":131707,"دخÙĪÙĦ":131708,"سÙĩ":131709,"à¸Ńาà¸ģ":131710,"à¸Ńาà¸ģาศ":131711,"Ġ׼×ĸ×Ķ":131712,"Ġ×Ķעסק":131713,"ĠاÙĦØ£ÙĨ":131714,"å¹´ãģ«":131715,"עש×ķ":131716,"Ġשע×ķת":131717,"ĠmÃłn":131718,"×IJר×Ļ":131719,"sıyla":131720,"Ù쨱ÙĤ":131721,"ниÑħ":131722,"Ġتست":131723,"è¦ĭãģ¦":131724,"ØŃاÙĪÙĦ":131725,"×IJ×Ļ׼×ķת":131726,"ĠbaÅŁladı":131727,"stÄħ":131728,"stÄħpi":131729,"à¸Ĺีà¹Īà¹Ģรา":131730,"ÙĤرر":131731,"جاب":131732,"Ġ×ijר×ķר":131733,"à¹Ģà¸Ĥà¹īาà¹ĥà¸Ī":131734,"×ŀ×Ĺקר":131735,"alım":131736,"Ġס×Ļפ×ķר":131737,"ãģ§ãģĤãĤĮãģ°":131738,"Ġש×ŀ×ķר×ķת":131739,"Ġ×ķ×ŀ×Ķ":131740,"ãģĵãģĿ":131741,"idée":131742,"ä¸ĭãģķãģĦ":131743,"تÙĨاÙĪÙĦ":131744,"Ġลà¹īาà¸Ļ":131745,"Ġìļ°ë¦¬ëĬĶ":131746,"اÙĨا":131747,"ÑģÑĤой":131748,"боÑĤ":131749,"ĠyaÅŁam":131750,"köy":131751,"Ø¥ÙĦ":131752,"ÑĢÑĭв":131753,"기ìĹħ":131754,"Ġ×Ķ×ŀ×ĵ":131755,"Ġ×Ķ×ŀ×ĵ×Ļ׳×Ķ":131756,"دب":131757,"×¢×Ļ׳×Ļ":131758,"×ŀת×Ĺ":131759,"Ġפר×Ļ":131760,"ãĥĭãĥ¼":131761,"اÙħÙĬ":131762,"Ġnhằm":131763,"ãĤĮãģªãģĦ":131764,"تعرÙģ":131765,"Ġë§ĪìĿĮ":131766,"ìĵ°":131767,"Ġhấp":131768,"ר×Ĵ×Ļ׾":131769,"بÙİ":131770,"ĠrÄĥng":131771,"glÄħd":131772,"ĠÑģиÑģÑĤемÑĭ":131773,"Ġkhóa":131774,"ãģ§ãģĻãĤĪãģŃ":131775,"大ãģįãģı":131776,"기를":131777,"Ġkéo":131778,"ÙĪØ¡":131779,"جاÙħ":131780,"جاÙħع":131781,"Ġ×¢×Ļצ×ķ×ij":131782,"téri":131783,"Ġתש":131784,"Ġ×IJ×ij×Ļ":131785,"ĠChương":131786,"à¸ļริà¹Ģว":131787,"à¸ļริà¹Ģวà¸ĵ":131788,"ãģ¤ãģı":131789,"Ġ×Ĺ×ķ׾":131790,"עת×Ļ×ĵ":131791,"ש×Ļ×ŀ×Ķ":131792,"ëĤ¨":131793,"Ġש×IJ×Ļף":131794,"ĠÙĪØ§ÙĦØ¥":131795,"ÑĦа":131796,"Ġkhám":131797,"Ġ×ĺ×ķ×ij×Ķ":131798,"ĠвÑĭÑģ":131799,"ĠвÑĭÑģоко":131800,"ĠاÙĦØŃدÙĬØ«":131801,"人ãĤĤ":131802,"dÃ¼ÄŁÃ¼":131803,"×Ļ×Ĺ×ķ×ĵ":131804,"تعÙĦÙĬ":131805,"تعÙĦÙĬÙĤ":131806,"lö":131807,"تØŃدÙĬد":131808,"него":131809,"ĠÑĥдоб":131810,"Ġ׾×ŀ×Ļ":131811,"Ġר×ķצ×Ļ×Ŀ":131812,"Ġجاء":131813,"Ġ×ij×ĸ×ŀף":131814,"à¸Ľà¸ģà¸ķิ":131815,"é«ĺãģı":131816,"à¸Ľà¸¥à¸²":131817,"Ġartık":131818,"Ġbugün":131819,"ק׳×Ļ":131820,"Ġkhoá":131821,"ĠÙħرÙĥز":131822,"ĠìŀIJ기":131823,"درجة":131824,"×ŀשר×ĵ":131825,"Ġgiấy":131826,"Ġchóng":131827,"קפ":131828,"ÙĬبة":131829,"ĠczÄĻsto":131830,"вали":131831,"Ùĥب":131832,"ìŁģ":131833,"สà¸ļาย":131834,"à¸Ľà¸£à¸°à¸Ĭาà¸Ĭà¸Ļ":131835,"×Ĵ×ķ×£":131836,"ëŁī":131837,"ãģ®ãģĵãģ¨":131838,"ลà¸Ń":131839,"Ġnghá»ī":131840,"åŃIJãģ©":131841,"åŃIJãģ©ãĤĤ":131842,"à¹Ħà¸Ķà¹īà¸Ńย":131843,"à¹Ħà¸Ķà¹īà¸Ńยà¹Īาà¸ĩ":131844,"×ĵ×¢":131845,"ĠاÙĦتÙī":131846,"ĠÑģовеÑĤ":131847,"ĠqualitÃł":131848,"åĩºãģĹ":131849,"ĠÑĢÑĥков":131850,"ĠÑĢÑĥковод":131851,"รายละà¹Ģà¸Ńียà¸Ķ":131852,"ãģªãģĭãģªãģĭ":131853,"기ê´Ģ":131854,"Ġ×Ĺ×ķש":131855,"Ġ×Ĺ×ķש×ij":131856,"лоÑĤ":131857,"à¸Ļะà¸Ħรัà¸ļ":131858,"×§×ij×ķצ×Ķ":131859,"Ġthái":131860,"Ġש×ij×Ķ":131861,"ĠÑĪкол":131862,"ĠÙĦÙĥÙĦ":131863,"à¹ĥà¸Ļà¸Ĭà¹Īวà¸ĩ":131864,"ĠÙħÙĥاÙĨ":131865,"ëķĮ":131866,"Ġcải":131867,"ĠChÃŃ":131868,"ÑĥÑĩа":131869,"ìĿµ":131870,"Ġxảy":131871,"à¸Ĭà¸Ļิà¸Ķ":131872,"ĠcáºŃu":131873,"кÑĢов":131874,"ssé":131875,"ĠÙĨÙĪØ¹":131876,"ĠТа":131877,"Ø®Ùħس":131878,"פ×ķס×ĺ":131879,"Ġmắc":131880,"ĠÄijem":131881,"à¸ģารà¹ĥà¸Ĭà¹ī":131882,"ר×ķס":131883,"ĠÐĽÐµ":131884,"Ġthá»Ń":131885,"รà¹Īาà¸ĩà¸ģาย":131886,"üzü":131887,"æĹ¥æľ¬ãģ®":131888,"ê³¼ìłķ":131889,"ש×Ļ×IJ":131890,"ĠìŀĪê³ł":131891,"×ij×ķ׾":131892,"ìķħ":131893,"ĠÙĪØ§ÙĦا":131894,"ĠÐĽÐ¸":131895,"ĠвÑģÑij":131896,"Ġużytkow":131897,"×Ĺ×ķ׾":131898,"رÙ쨶":131899,"Ġsonuç":131900,"ãģĦãģ¾ãģĽãĤĵ":131901,"ìĤ¬ìĹħ":131902,"ëĪĦ":131903,"ÑĤек":131904,"ĠudziaÅĤ":131905,"лез":131906,"Ġ×Ķ×Ļ×Ļת×Ļ":131907,"ãĤīãĤĮãģ¦":131908,"ÙħسؤÙĪÙĦ":131909,"رار":131910,"ÑĤан":131911,"ĠÄijÃło":131912,"Ġר×ķ×ij":131913,"Ġ×ijש×ij×Ļ׾":131914,"ä»ĬåĽŀãģ¯":131915,"ãĤ¸ãĥ¥":131916,"Ġ×¢×ijר":131917,"ãģĽãģ¦":131918,"полÑĮ":131919,"aklı":131920,"ĠkÃŃnh":131921,"دت":131922,"ложение":131923,"ĠاÙĦÙħص":131924,"ĠاÙĦÙħصرÙĬ":131925,"à¸Īริà¸ĩà¹Ĩ":131926,"ĠاÙĦشرÙĥØ©":131927,"ĠÄijá»ı":131928,"ãĥĽãĥĨ":131929,"ãĥĽãĥĨãĥ«":131930,"Ñįкон":131931,"Ñįконом":131932,"ĠÙĪØ¹ÙĨ":131933,"Ġ×ª×ł":131934,"Ġ×ª×ł×IJ×Ļ":131935,"ĠاÙĦدÙĪÙĦÙĬØ©":131936,"Ġì§ĢìĹŃ":131937,"ãģ§ãģĻãģĭ":131938,"ĠваÑĢи":131939,"ĠваÑĢианÑĤ":131940,"ĠاÙĦعرب":131941,"ела":131942,"ĠtÆ°á»Ľng":131943,"skÄħ":131944,"Ġmặc":131945,"สัà¸ģ":131946,"ãĥĵãĥ¼":131947,"Ġ×ij×Ĵ׾":131948,"Ġ×ij×Ĵ׾׾":131949,"ãĥķãĤ¡ãĥ³":131950,"×ij×Ļצ":131951,"×ij×Ļצ×ķ×¢":131952,"лиÑģÑĤ":131953,"à¸Łà¸¸":131954,"à¸Łà¸¸à¸ķ":131955,"à¸Łà¸¸à¸ķà¸ļà¸Ńล":131956,"à¸Ŀà¹Īาย":131957,"ìŀIJìĿĺ":131958,"ĠسÙĪÙģ":131959,"Ġש×Ķת":131960,"Ġ걸":131961,"×¢×ij×ķ×ĵ":131962,"ãģĻãĤĭãģĵãģ¨ãģĮ":131963,"ĠÑĩаÑģÑĤÑĮ":131964,"ãĤ¢ãĥ¡ãĥª":131965,"ãĤ¢ãĥ¡ãĥªãĤ«":131966,"Ġtakım":131967,"ĠsỼ":131968,"ĠsỼm":131969,"שר×Ķ":131970,"è¨ĢãģĨ":131971,"лан":131972,"커":131973,"׼׳×Ķ":131974,"ÙĪÙģÙĬ":131975,"íĹĪ":131976,"luÄŁu":131977,"ĠëĮĢíķ´":131978,"Ġ׾×ij×Ļת":131979,"Ġ×Ķר×IJש×ķ׳×Ķ":131980,"صÙħ":131981,"Ġsöyled":131982,"Ġsöyledi":131983,"à¸Ľà¸²à¸ģ":131984,"Ġardından":131985,"ãģĪãģŁ":131986,"à¸Ĺัà¹Īวà¹Ħà¸Ľ":131987,"Ġ׳×ķסף":131988,"болÑĮ":131989,"ãĤĵãģ§ãģĻãģijãģ©":131990,"ĠлиÑĪÑĮ":131991,"Ġ×ij×IJ×Ļ":131992,"ĠбÑĭÑģÑĤÑĢо":131993,"สัà¸Ļ":131994,"Ġ×ijפ׳×Ļ":131995,"леÑĩ":131996,"ĠاÙĦخبر":131997,"Ġsóc":131998,"Ġthú":131999,"ĠпÑıÑĤ":132000,"ãģĬé¡ĺ":132001,"ãģĬé¡ĺãģĦ":132002,"ÑĤин":132003,"ãģ«ãģ¤ãģĦãģ¦ãģ¯":132004,"פף":132005,"ĠдвÑĥÑħ":132006,"à¸įีà¹Ī":132007,"à¸įีà¹Īà¸Ľ":132008,"à¸įีà¹Īà¸Ľà¸¸":132009,"à¸įีà¹Īà¸Ľà¸¸à¹Īà¸Ļ":132010,"опеÑĢ":132011,"ĠاÙĦبشر":132012,"ĠاÙĦÙħاÙĦ":132013,"ıyoruz":132014,"تØŃÙħÙĬÙĦ":132015,"à¸ģะ":132016,"éĸĵãģ«":132017,"×Ĺ×ķש":132018,"ĠNguyên":132019,"ãģĦãģ¦ãģĦãĤĭ":132020,"дÑĥÑĪ":132021,"שפע":132022,"ÑĪÑĥ":132023,"å®ŁéļĽãģ«":132024,"ĠÑĢайон":132025,"ĠChá»ī":132026,"ÙĨصر":132027,"Ġìļ´":132028,"Ġìļ´ìĺģ":132029,"Ġ×Ķ×ĵ×Ļף":132030,"ØŃدد":132031,"رز":132032,"ĠاÙĦدÙħ":132033,"ĠPháp":132034,"ÑĤÑģÑı":132035,"è¦ĭãģĪ":132036,"Ġtiá»ĥu":132037,"Ġsá»Ńa":132038,"аÑİÑĤÑģÑı":132039,"ĠBá":132040,"Ġ×ķ׼׾":132041,"Ðĸ":132042,"ÑĪим":132043,"ìĿ´ëĬĶ":132044,"лев":132045,"dık":132046,"Ġprésente":132047,"Ġaraç":132048,"صدÙĤ":132049,"Ġпомог":132050,"ĠاÙĦشرÙĤ":132051,"ĠÙĪØ§ÙĦذÙĬ":132052,"رÙĬا":132053,"×ij׳×ķת":132054,"Ġngá»ĵi":132055,"ר×ķפ":132056,"ר×ķפ×IJ":132057,"Ġthấp":132058,"ãĤĦãģ¯":132059,"ãĤĦãģ¯ãĤĬ":132060,"ĠاÙĦجدÙĬدة":132061,"éĿŀ常ãģ«":132062,"ÙĬÙĦÙĬ":132063,"쪽":132064,"تعاÙħÙĦ":132065,"ãģłã썿ĢĿãģĦãģ¾ãģĻ":132066,"ÙħÙħ":132067,"иÑĤели":132068,"ãĤµãĤ¤ãĤº":132069,"ادات":132070,"ĠاÙĦÙħاÙĦÙĬØ©":132071,"Ùĥاتب":132072,"кли":132073,"веÑĢÑħ":132074,"ниÑĩ":132075,"Ġ×ľ×¢×ij×ķ×ĵ":132076,"׾×Ļ×Ķ":132077,"ØŃÙİ":132078,"ãĤ¤ãĥĻ":132079,"ãĤ¤ãĥĻãĥ³ãĥĪ":132080,"Ġת×Ĵ×ķ×ij×ķת":132081,"ÑĦон":132082,"ĠдÑĢÑĥгие":132083,"×IJ×ĸ×ķר":132084,"Ġperò":132085,"ìķŀ":132086,"åĢŁãĤĬ":132087,"רצ×Ļ":132088,"×IJ×ĸ":132089,"алÑĮнÑĭÑħ":132090,"Ġê²ĥìľ¼ë¡ľ":132091,"ĠпÑĢаво":132092,"ĠاÙĦأرض":132093,"à¹Ģà¸Ĺà¸Ħ":132094,"à¹Ģà¸Ĺà¸Ħà¹Ĥà¸Ļ":132095,"à¹Ģà¸Ĺà¸Ħà¹Ĥà¸Ļà¹Ĥล":132096,"à¹Ģà¸Ĺà¸Ħà¹Ĥà¸Ļà¹Ĥลย":132097,"à¹Ģà¸Ĺà¸Ħà¹Ĥà¸Ļà¹Ĥลยี":132098,"צר×Ļ":132099,"ĠÐļÑĥ":132100,"ılma":132101,"決ãĤģ":132102,"اÙĪ":132103,"Ġ×ĵ×§×ķת":132104,"à¸Ħรู":132105,"ĠÙħستÙĪÙī":132106,"à¸Ľà¹īà¸Ńà¸ĩ":132107,"à¸Ľà¹īà¸Ńà¸ĩà¸ģัà¸Ļ":132108,"×ĵ×ķ×ŀ×Ķ":132109,"ĠÑģегоднÑı":132110,"سÙĪÙĤ":132111,"ר×Ĺ×ķ×ij":132112,"Ġإدارة":132113,"Ñħож":132114,"éģİãģİ":132115,"à¸Ħà¸Ń":132116,"нÑĥл":132117,"×ķ׼×Ķ":132118,"ÙĪØ§ÙģÙĤ":132119,"׼׾׾":132120,"Ġ×Ķ×ĵ×ķ":132121,"ĠlÄ©nh":132122,"Ġkhảo":132123,"×IJ×ŀצע":132124,"머":132125,"Ġ׼×Ļצ":132126,"Ġ׼×Ļצ×ĵ":132127,"ĠдолжнÑĭ":132128,"หวัà¸ĩ":132129,"ãĥĩãĤ¶":132130,"ãĥĩãĤ¶ãĤ¤ãĥ³":132131,"Ġngá»Ŀ":132132,"ä¸Ńãģ«":132133,"à¸ģลัà¸ļมา":132134,"جÙħاÙĦ":132135,"à¸Ķัà¸ĩà¸ģลà¹Īาว":132136,"سÙĥÙĨ":132137,"سÙĨ":132138,"Ġözellikle":132139,"зеÑĢ":132140,"rzÄĻ":132141,"×ŀ×ķר×Ķ":132142,"Ġlạ":132143,"×ŀ×Ļ׳×Ļ":132144,"ר×Ļת":132145,"ãģĿãĤĮãģĮ":132146,"ãģĭãĤĮ":132147,"ĠÙĬÙħÙĥÙĨÙĥ":132148,"öffentlich":132149,"ган":132150,"ĠاÙĦØŃÙĦ":132151,"ĠmiÄĻdzy":132152,"ĠÑĩаÑģÑĤи":132153,"ujÄħcy":132154,"ĠbaÄŁlı":132155,"ĠiliÅŁki":132156,"ÙģØ§Ø¡":132157,"ãĥªãĥ³ãĤ°":132158,"Ġhãng":132159,"ĠконÑĤÑĢ":132160,"ĠконÑĤÑĢол":132161,"коп":132162,"ש×Ļ×¢":132163,"ש×Ļ×¢×ķר":132164,"ĠÐĴаÑĪ":132165,"Ġ×Ķתק":132166,"ÙħÙĨع":132167,"ĠpolÃŃtico":132168,"Ġголов":132169,"ĠØ¥ÙĬ":132170,"Ø¥ÙĨتاج":132171,"à¸ļิ":132172,"ĠговоÑĢ":132173,"ĠговоÑĢиÑĤ":132174,"Ġphá»ķ":132175,"ĠÑģемÑĮ":132176,"ãģ¯ãģĤãĤĬãģ¾ãģĽãĤĵ":132177,"ĠÙĪØ§Ø³Øª":132178,"×ŀשפ×ĺ":132179,"зем":132180,"×ŀ×ĵ×ijר":132181,"Ġíģ°":132182,"ĠìĿ´ë²Ī":132183,"ê°ĢëĬĶ":132184,"Ġì§ĢìĽIJ":132185,"ĠcaÅĤy":132186,"ĠgeliÅŁtir":132187,"Ñģкое":132188,"posé":132189,"Ġkhô":132190,"à¸ķิà¸Ķà¸ķาม":132191,"missão":132192,"Ġ׾×ŀר":132193,"Ġ׾×ŀר×ķת":132194,"Ġbó":132195,"à¸ķรวà¸Īสà¸Ńà¸ļ":132196,"Ġnghá»ģ":132197,"Ġбиз":132198,"ĠбизнеÑģ":132199,"ÑģÑĤеÑĢ":132200,"ÙĪÙİ":132201,"楽ãģĹãģ":132202,"楽ãģĹãģ¿":132203,"ãģĵãĤĮãģĭãĤī":132204,"wiÄħzan":132205,"สà¸Ńà¸Ļ":132206,"ÙħÙĪØ±":132207,"׳×ĵ׾":132208,"Ġ×Ķ×IJ×ĵ×Ŀ":132209,"Ġмолод":132210,"ØŃÙħا":132211,"ØŃÙħاÙĬØ©":132212,"ÑģÑĤÑĢан":132213,"Ġbuá»ķi":132214,"ת×Ļ×Ļ×Ŀ":132215,"abileceÄŁi":132216,"Lİ":132217,"à¹Ģยà¸Ńะ":132218,"à¸Īร":132219,"سÙĥاÙĨ":132220,"à¸Ļัà¸Ķ":132221,"Ġmấy":132222,"ĠÐijа":132223,"sÅĤaw":132224,"ĠÙģÙĦا":132225,"ĠкоÑĤоÑĢой":132226,"ĠплоÑī":132227,"ĠплоÑīад":132228,"ãĤĤãģĤãĤĬ":132229,"szczÄĻ":132230,"×Ļפ×ķ":132231,"ש×ŀת":132232,"owaÅĤa":132233,"Ġnông":132234,"צ×ij×IJ":132235,"ĠìŀĪìĹĪ":132236,"ãģ¾ãģ¨":132237,"ãģ¾ãģ¨ãĤģ":132238,"ÙĤÙĪØ§Øª":132239,"ãģ¿ãĤĵãģª":132240,"Ġ׼×ŀ×¢×ĺ":132241,"Ġxúc":132242,"ï¼Ĩ":132243,"rÄĻ":132244,"rÄĻcz":132245,"×ĵ×ŀ×Ļ":132246,"ĠtáºŃn":132247,"à¸Ķวà¸ĩ":132248,"ê²½ìłľ":132249,"пÑĥÑĤ":132250,"أربع":132251,"Ġ×ŀשת×ŀש":132252,"ãĤ¿ãĤ¤ãĥĹ":132253,"Ġìłľê°Ģ":132254,"Ġ׾׼ף":132255,"ĠобÑĢазом":132256,"ÙĬÙĥا":132257,"wÅĤ":132258,"wÅĤasn":132259,"ĠاÙĦÙĪØ·ÙĨÙĬØ©":132260,"بÙĬب":132261,"×ŀ׾×Ļ":132262,"кÑĢаÑĤ":132263,"기ìĹIJ":132264,"ÙĤاد":132265,"ĠÙĦدÙī":132266,"à¸Ħวามรูà¹ī":132267,"×ŀ×ĵ×Ļ׳×Ļ×ķת":132268,"겨":132269,"ĠíĺĦìŀ¬":132270,"שת×Ļ":132271,"мол":132272,"Ġmái":132273,"à¸ŀิม":132274,"à¸ŀิมà¸ŀ":132275,"à¸ŀิมà¸ŀà¹Į":132276,"หลวà¸ĩ":132277,"Ġxuyên":132278,"×Ĺסר":132279,"رÙĪÙĨ":132280,"ãģĿãģĨãģĦãģĨ":132281,"ãģĿãĤĮãģŀ":132282,"ãģĿãĤĮãģŀãĤĮ":132283,"Ġ׼ש×Ķ":132284,"ÐŁÑĢав":132285,"×ŀ×ijצע":132286,"عرب":132287,"Ġbüyü":132288,"פ×Ļת×ķ×Ĺ":132289,"à¸Īà¸ļ":132290,"ĠØ£Ùĥبر":132291,"שרת":132292,"×ŀ׼ש×Ļר":132293,"ĠÙĪÙħع":132294,"ãģ®ãģŁãĤģãģ«":132295,"à¸Ļัà¸ļ":132296,"ì°°":132297,"ãĥªãĥķãĤ©":132298,"ãĥªãĥķãĤ©ãĥ¼ãĥł":132299,"Ġcưá»Ŀng":132300,"ĠìłĢíĿ¬":132301,"ÙħÙĨظÙħØ©":132302,"Ġhiçbir":132303,"ãģ§ãģ¯ãģĤãĤĬãģ¾ãģĽãĤĵ":132304,"รà¸Ńย":132305,"ëIJľëĭ¤":132306,"ãģĻãģIJãģ«":132307,"кла":132308,"Ġürünler":132309,"Ġkiá»ĥu":132310,"ĠëĤĺëĬĶ":132311,"ÑĤки":132312,"Ñģим":132313,"Ġchá»īnh":132314,"ãĤĤãģªãģĦ":132315,"ศรี":132316,"æĽ¿ãģĪ":132317,"taÅŁ":132318,"ĠبÙĥÙĦ":132319,"Ġ×ķ×Ļש":132320,"visão":132321,"ä¼Ŀ":132322,"ä¼ĿãģĪ":132323,"ÙĦد":132324,"׾×Ļ×ŀ":132325,"׾×Ļ×ŀ×ķ×ĵ":132326,"tória":132327,"دÙij":132328,"اÙħر":132329,"Ġê·¸ëłĩê²Į":132330,"ĠmateriaÅĤ":132331,"à¸Ĺรา":132332,"à¸Ĺราà¸ļ":132333,"ã쮿ĸ¹ãģĮ":132334,"ãģ¦ãģįãģŁ":132335,"ضغ":132336,"ضغط":132337,"ĠÙĬعÙĨÙĬ":132338,"ело":132339,"×IJ×Ķ×ij×Ķ":132340,"×¢×ŀ":132341,"ÅŁÄ±k":132342,"ìŀIJëĬĶ":132343,"ãĤ¿ãĥ³":132344,"ĠbáºŃt":132345,"×ŀשפ×Ĺ×Ķ":132346,"кÑĢи":132347,"бли":132348,"สัà¸ķ":132349,"สัà¸ķวà¹Į":132350,"ĠسÙĨÙĪØ§Øª":132351,"ĠPhương":132352,"ãģ¦ãģĹãģ¾ãģ£ãģŁ":132353,"ãģªãģľ":132354,"Ġ×ij×IJ×ķ":132355,"Ġcán":132356,"سجÙĦ":132357,"Ġlẽ":132358,"ãĤ±ãĥ¼ãĤ¹":132359,"Ġ×§×Ļ×ij׾":132360,"à¸ļà¸Ĺà¸Ħวาม":132361,"Ġ×ķ׼ף":132362,"ĠпÑĢедÑģÑĤавлен":132363,"Ġná»iji":132364,"Ġcomentário":132365,"ением":132366,"Ġtá»ı":132367,"lÃł":132368,"Ġש×Ķ×Ļ×Ķ":132369,"Ñģлав":132370,"ĠاÙĦÙĪÙĦا":132371,"ĠاÙĦÙĪÙĦاÙĬات":132372,"ÙĦجÙĨØ©":132373,"×§×ķר×IJ":132374,"бÑĭÑĤ":132375,"Ġì¦":132376,"Ġì¦ī":132377,"ãģ§ãģĻãģĹ":132378,"หรืà¸Ńà¹Ħมà¹Ī":132379,"заÑīиÑĤ":132380,"ÙģÙĦسطÙĬÙĨ":132381,"Ġmiá»ħn":132382,"à¹Ģยà¹ĩà¸Ļ":132383,"ĠçalÄ±ÅŁan":132384,"×Ļ×Ĵ×Ķ":132385,"ĠEÄŁ":132386,"ĠEÄŁitim":132387,"ãĥĥãĤ·ãĥ¥":132388,"ĠопÑĭ":132389,"ĠопÑĭÑĤ":132390,"رغ":132391,"رغب":132392,"ĠÑģвоиÑħ":132393,"à¸Ľà¸£à¸°à¸ķ":132394,"à¸Ľà¸£à¸°à¸ķู":132395,"Ġ×ŀ×IJ×ĵ":132396,"׼×ķ׳×Ļ×Ŀ":132397,"à¸Ļี":132398,"ĠвÑĭÑħод":132399,"ãģ®ä¸Ńãģ«":132400,"פ׾×IJ":132401,"ĠÙĪÙĦÙĬس":132402,"פ×ķרס":132403,"פ×ķרס×Ŀ":132404,"ÙħسÙĦÙħ":132405,"Ġngôi":132406,"×ĵ×ŀ×ķת":132407,"ãĤĴ使ãģ£ãģ¦":132408,"ĠпомоÑīÑĮÑİ":132409,"أسر":132410,"блок":132411,"ÙĤÙĩ":132412,"ãģĹãģ¾ãģĦ":132413,"ãģ¨ãģĹãģŁ":132414,"ĠпеÑģ":132415,"ãĥīãĥ«":132416,"×Ĺ×Ŀ":132417,"ãģĹãģªãģĮãĤī":132418,"ĠÐŁÑĢед":132419,"ãĥģãĤ§ãĥĥãĤ¯":132420,"å¼·ãģĦ":132421,"ש×Ļר×ķת":132422,"даеÑĤ":132423,"×Ļ×ij×ķ":132424,"Ġgenç":132425,"илаÑģ":132426,"илаÑģÑĮ":132427,"ĠبÙĦد":132428,"æĤª":132429,"æĤªãģĦ":132430,"Ġ×ŀשת":132431,"æ§ĺãĢħ":132432,"æ§ĺãĢħãģª":132433,"à¸ĺรรมà¸Ĭาà¸ķิ":132434,"ĠÙĥاÙħÙĦ":132435,"ĠاÙĦسÙħ":132436,"×ij×ĺ×Ļ×Ĺ":132437,"cá":132438,"gência":132439,"ãĤ¹ãĤ¿ãĥ¼":132440,"à¸Ĺำà¸ģาร":132441,"×Ļ×ľ×ª":132442,"Ġ×Ļ×ķצ×IJ":132443,"wój":132444,"à¸ļุà¸Ħ":132445,"à¸ļุà¸Ħà¸Ħล":132446,"عتÙħ":132447,"عتÙħد":132448,"ãģĿãĤĮãģ«":132449,"ĠاÙĦتارÙĬØ®":132450,"ÙĤراء":132451,"Ġyönetim":132452,"קשר":132453,"ĠÑģпоÑĢÑĤ":132454,"Ġר×IJש×ķף":132455,"Ġseñal":132456,"Ġchắn":132457,"çĦ¡ãģĦ":132458,"ĠдоÑģÑĤаÑĤ":132459,"ĠдоÑģÑĤаÑĤоÑĩно":132460,"Ġágua":132461,"à¸ģรà¸ĵ":132462,"à¸ģรà¸ĵี":132463,"Ġ×ŀש×ķ":132464,"Ġtrải":132465,"ë²Į":132466,"ujÄħcych":132467,"ÙģØ±Ø¯":132468,"à¹ĥà¸ģล":132469,"à¹ĥà¸ģลà¹ī":132470,"ãĤĭãģ®ãģ¯":132471,"ר×ķ×ķ×Ĺ":132472,"ÙĨÙĥ":132473,"ĠاÙĦÙĨÙĤ":132474,"ãģ®ãģ§ãģĹãĤĩãģĨ":132475,"ãģ®ãģ§ãģĹãĤĩãģĨãģĭ":132476,"ÙħعرÙģ":132477,"ÙħعرÙ쨩":132478,"ÑĥÑīе":132479,"Ġ×ij×¢×Ļקר":132480,"تصÙĦ":132481,"Ġ×Ķ×IJר":132482,"Ġ×Ķ×IJרץ":132483,"ĠÅŀi":132484,"à¸Ĥาà¸Ķ":132485,"íŀĺ":132486,"ãģªãĤĵãģ¨":132487,"ĠìĤ¬ëŀij":132488,"lÃ¼ÄŁÃ¼":132489,"باء":132490,"ĠاÙĦآخر":132491,"ĠfamÃŃlia":132492,"ĠTháng":132493,"ÑīениÑı":132494,"ãĤ¯ãĥŃ":132495,"ĠThứ":132496,"æĽ¸ãģį":132497,"енной":132498,"ìŀ¡":132499,"благ":132500,"благо":132501,"пов":132502,"à¹ģว":132503,"à¸ĩà¸Ħà¹Į":132504,"à¸Ńัà¸Ļà¸Ķัà¸ļ":132505,"ãģĤãģĴ":132506,"รà¹īาย":132507,"ünün":132508,"Ġ×Ļ׼×ķ׾×Ķ":132509,"зон":132510,"ĠÐľÐ¸":132511,"маÑĤеÑĢиал":132512,"Ġë³´ë©´":132513,"ØŃÙ쨏":132514,"êÌģ":132515,"ãģ«ãģĻãĤĭ":132516,"Ġת×IJ":132517,"Ġ×Ķס×ķ":132518,"ĠÑģÑĤоÑĢ":132519,"ĠÑģÑĤоÑĢон":132520,"ãĥĪãĥĥãĥĹ":132521,"ÅĤoÅĽÄĩ":132522,"ëħ¼":132523,"ëĵĿ":132524,"ĠÙĪØ§ÙĦع":132525,"ì¶Ķ":132526,"Ġ×Ļצ×IJ":132527,"ĠÑĢаздел":132528,"алÑĮнаÑı":132529,"×IJ׳ש×Ļ":132530,"spoÅĤ":132531,"spoÅĤec":132532,"spoÅĤeczn":132533,"إعÙĦ":132534,"إعÙĦاÙĨ":132535,"ÙĤÙĪÙī":132536,"íķĺë©´ìĦľ":132537,"تطÙĪØ±":132538,"Ġsiêu":132539,"Ỽt":132540,"дви":132541,"движ":132542,"Ġquần":132543,"kıl":132544,"ĠпÑĢизна":132545,"ĠHã":132546,"ĠHãy":132547,"ĠباÙĦت":132548,"manın":132549,"ãĤ«ãĥ«":132550,"Ġká»·":132551,"ק׾×Ļ":132552,"ëIJĺì§Ģ":132553,"تعÙĦÙħ":132554,"ìĭľìĦ¤":132555,"ìĭ¶":132556,"íĺ¼":132557,"ÙĥÙĬÙģ":132558,"売ãĤĬ":132559,"วิà¸Ĭา":132560,"бал":132561,"ĠØ£ØŃ":132562,"Ġдолжен":132563,"ราà¸ĩ":132564,"ราà¸ĩวั":132565,"ราà¸ĩวัล":132566,"Ùħاء":132567,"جار":132568,"Åļ":132569,"Ġ×ŀ×IJ×ĸ":132570,"ר×ŀ×Ķ":132571,"ãģĭãĤĤãģĹãĤĮãģªãģĦ":132572,"étude":132573,"czÄħc":132574,"Ġgór":132575,"×ł×¡×Ķ":132576,"ÙħÙĬد":132577,"ĠÐŁÐµÑĢе":132578,"أخر":132579,"ãģĿãģ®å¾Į":132580,"à¹Ģà¸Ķียวà¸ģัà¸Ļ":132581,"×ŀ×Ĵ×ķ":132582,"×ŀ×Ĵ×ķ×ķף":132583,"дов":132584,"masına":132585,"×¢×ł×Ķ":132586,"ãĤ±ãĥĥãĥĪ":132587,"סע":132588,"סע×Ļ×£":132589,"ĠTư":132590,"Ġtóc":132591,"íĻľëıĻ":132592,"ĠÐŀд":132593,"ĠÐŀднако":132594,"Ġdolayı":132595,"ؤÙĥد":132596,"ê³Ħíļį":132597,"׾ר":132598,"веÑĩ":132599,"Ġkhợi":132600,"Ġthá»§y":132601,"×ĵף":132602,"รà¸ģ":132603,"à¸ļัà¸ķร":132604,"à¹Ģà¸ģà¹Īา":132605,"ĠاÙĦثاÙĦ":132606,"ĠاÙĦثاÙĦØ«":132607,"Ġpodrá":132608,"ער×Ļ":132609,"ÙĨجاØŃ":132610,"Ġkhắc":132611,"측":132612,"İM":132613,"ãĤ»ãĥĥãĥĪ":132614,"żenia":132615,"Ġ׾×Ĺ×ijר":132616,"erÃł":132617,"ì´Ī":132618,"Ġküç":132619,"Ġküçük":132620,"اتÙĩÙħ":132621,"à¸ĭà¹Į":132622,"ÙħشارÙĥØ©":132623,"ĠاÙĦبط":132624,"Ġdây":132625,"еннÑĭм":132626,"à¸Ĺีà¹Īà¹Ħมà¹Ī":132627,"ÙĤÙİ":132628,"Ġvượt":132629,"Ġtrì":132630,"ĠwpÅĤyw":132631,"AÅŀ":132632,"зо":132633,"ĠاÙĦسÙĬد":132634,"à¸Ĺะà¹Ģล":132635,"ĠÑģодеÑĢжа":132636,"عطÙĬ":132637,"ĠاÙĦعÙĨ":132638,"èĢħãģĮ":132639,"à¹Ģหà¸Ļ":132640,"à¹Ģหà¸Ļืà¸Ń":132641,"ĠbÃŃ":132642,"Ġüzerinden":132643,"ĠVÅ©":132644,"Ġnuôi":132645,"ÙĨÙħ":132646,"алÑĮного":132647,"×¢×Ļף":132648,"ØŃضر":132649,"ĠоÑĤдел":132650,"ëªĩ":132651,"ìķ¡":132652,"ĠÙĦدÙĬÙĩ":132653,"ìĻľ":132654,"Ġsektör":132655,"Ġвозможно":132656,"ĠÐĶж":132657,"Ġhô":132658,"äºĭãģĮ":132659,"иÑĢование":132660,"алÑĮной":132661,"Ġ미êµŃ":132662,"رØŃÙĦ":132663,"ĠÑįкÑģ":132664,"пÑĢавлÑı":132665,"Ġnhá»Ŀ":132666,"ĠÄijẩ":132667,"ĠÄijẩy":132668,"ÙģÙĥر":132669,"ĠÙĪØ£Ø¶Ø§Ùģ":132670,"ãĥIJãĤ¹":132671,"ת×ķ׼׳×Ļת":132672,"ÑĤелей":132673,"ĠØ¥ÙĦÙĬÙĩ":132674,"ãģ¨è¨Ģãģ£ãģ¦":132675,"Ġдве":132676,"Ġchấp":132677,"ĠLö":132678,"à¸Ħลิ":132679,"à¸Ħà¸¥à¸´à¸Ľ":132680,"ĠسÙĪØ±":132681,"ĠسÙĪØ±ÙĬا":132682,"×ŀ×Ĺ×ķ":132683,"stä":132684,"доб":132685,"Ġniá»ĩm":132686,"ãģ®å¤§":132687,"פר×ķ×Ļ×§":132688,"פר×ķ×Ļ×§×ĺ":132689,"ĠChâu":132690,"Ġ×ŀ×Ķ×Ŀ":132691,"Ñģким":132692,"ĠполÑĥÑĩиÑĤÑĮ":132693,"ÙĬÙĪÙħ":132694,"Ø«ÙĪØ±":132695,"פ×ķ׾×Ļ×ĺ":132696,"פ×ķ׾×Ļ×ĺ×Ļ":132697,"ĠмеÑģÑıÑĨ":132698,"åħ¨ãģ¦":132699,"ĠاÙĦÙħجÙĦس":132700,"ĠاÙĦتاÙĦÙĬ":132701,"Ġ×Ĺר":132702,"åIJijãģij":132703,"׼×ŀ×Ķ":132704,"бед":132705,"أعض":132706,"أعضاء":132707,"ÙĪÙĦد":132708,"วà¹Īาà¸Īะ":132709,"Ġbánh":132710,"à¸Ļิย":132711,"à¸Ļิยม":132712,"à¸Ľà¸£à¸°à¸ģัà¸Ļ":132713,"ÑģÑĤавиÑĤÑĮ":132714,"à¸ŀà¸Ļัà¸Ļ":132715,"ĠÑįÑĦÑĦ":132716,"ĠÑįÑĦÑĦекÑĤив":132717,"ĠавÑĤоÑĢ":132718,"ĠÄIJÄĥng":132719,"ĠthÆ°á»Łng":132720,"ãĤĴæĦŁãģĺ":132721,"à¸ģัà¸ļà¸ģาร":132722,"å¾Įãģ«":132723,"ĠyaÄŁ":132724,"ستاÙĨ":132725,"Ġliá»ģn":132726,"ãģĦãģ¾":132727,"iêu":132728,"à¹Ĥà¸Ķà¸Ļ":132729,"ĠÙĦذÙĦÙĥ":132730,"à¹Ĥรà¸ĩà¹Ģรียà¸Ļ":132731,"צ×Ļ×Ĵ":132732,"ĠاÙĦÙħعÙĦÙĪÙħات":132733,"ç§ģãģŁãģ¡":132734,"à¸Ĺีà¹Īà¸Ħุà¸ĵ":132735,"ãģ«ãģªãģ£ãģ¦ãģĦãĤĭ":132736,"×ŀ×ĵ×Ļ׳×Ķ":132737,"×¡×Ľ×Ŀ":132738,"Ġвне":132739,"à¸ŀà¸Ļัà¸ģà¸ĩาà¸Ļ":132740,"ÑĢей":132741,"à¹Ģà¸Īà¹īาหà¸Ļà¹īาà¸Ĺีà¹Ī":132742,"ĠHiá»ĩn":132743,"Ġmédico":132744,"ĠتØŃÙĤÙĬÙĤ":132745,"ÑĮÑĤе":132746,"miÅŁti":132747,"ÙĤÙĬادة":132748,"ãĤıãģĭãĤĬ":132749,"มาà¸Īาà¸ģ":132750,"ëħĢ":132751,"ãģ«éĸ¢ãģĻãĤĭ":132752,"×IJר×Ĵ×ķף":132753,"mètre":132754,"Ġעצ×ŀ×Ļ":132755,"ĠChúa":132756,"รูà¹īà¸Ī":132757,"รูà¹īà¸Īัà¸ģ":132758,"ì£Ħ":132759,"ëĭµ":132760,"à¹ģà¸Ĺà¹ī":132761,"Ġgeçen":132762,"Ġlança":132763,"ĠاÙĦبØŃØ«":132764,"×ĵ×ŀ×ķ":132765,"ãģ¯ãģĺ":132766,"ãģ¯ãģĺãĤģ":132767,"ĠdönÃ¼ÅŁ":132768,"è¿ijãģı":132769,"à¹Ģสม":132770,"à¹Ģสมà¸Ń":132771,"ëĿ½":132772,"Ġüç":132773,"á»ŀ":132774,"ÑĪаÑı":132775,"à¸Ĺร":132776,"ØŃÙĤÙĬÙĤØ©":132777,"à¸Ĥà¸Ńà¸ĩà¸ģาร":132778,"Ġ무ìĹĩ":132779,"Ġ×Ķ׼ר":132780,"ĠاÙĦصÙĬÙĨ":132781,"ĠлÑİди":132782,"à¸ķาย":132783,"بÙĪÙĦ":132784,"Ġviêm":132785,"Ġthiá»ĩu":132786,"à¸ģà¸Ķ":132787,"Ġ׾×ĵ×ijר":132788,"פ׳×Ķ":132789,"×IJר×ij×¢":132790,"سÙī":132791,"ĠاÙĦسÙĬاس":132792,"ĠاÙĦسÙĬاسÙĬØ©":132793,"ydı":132794,"ÙĪØŃØ¯Ø©":132795,"ĠдеÑıÑĤелÑĮноÑģÑĤи":132796,"Ġ×ķ×Ķ×ŀ":132797,"пеÑĩ":132798,"пеÑĩаÑĤ":132799,"иÑĢованиÑı":132800,"ĠÑģог":132801,"ĠÑģоглаÑģ":132802,"Ġ׼×ĵ":132803,"Ġ׼×ĵ×IJ×Ļ":132804,"ĠиÑģполÑĮзоваÑĤÑĮ":132805,"ספ×ķר×ĺ":132806,"Ġilçe":132807,"expérience":132808,"ĠThá»Ŀi":132809,"İK":132810,"à¹Ħà¸Łà¸Łà¹īา":132811,"ëĵ¤ìĹIJê²Į":132812,"à¸Ľà¸£à¸°à¹Ģà¸ł":132813,"à¸Ľà¸£à¸°à¹Ģà¸łà¸Ĺ":132814,"Ġmümk":132815,"Ġmümkün":132816,"Ġ×IJ×ķ×ª×ł×ķ":132817,"ìĦ±ìĿĦ":132818,"ĠìĿ´ìľł":132819,"زÙĬارة":132820,"Ġoldukça":132821,"rób":132822,"ĠØ£ÙĨا":132823,"Ġ×Ķ×ij×Ļ":132824,"Ñģен":132825,"×¢×Ļקר":132826,"×Ļ×ĵ×ķ×¢":132827,"dzÄħ":132828,"ÙħعÙĦÙĪÙħات":132829,"شاب":132830,"Ġparça":132831,"à¸Ļะà¸Ħะ":132832,"باس":132833,"ĠÑĤоÑĢг":132834,"ĠÑĤоÑĢгов":132835,"Ġ×Ĺ×ĵר":132836,"׼ר×ĺ":132837,"׼ר×ĺ×Ļס":132838,"ĠAyrıca":132839,"ệ":132840,"ìľ¨":132841,"ĠÑĤакие":132842,"Ġ×ŀצ×ķ×Ļ":132843,"ãĥ©ãĥ³ãĤŃãĥ³ãĤ°":132844,"ש×Ļ×ķ×ķ×§":132845,"åīįãģ®":132846,"ĠBảo":132847,"ÑīÑĥ":132848,"æĹ©ãģı":132849,"ĠPhòng":132850,"à¸ŀระราà¸Ĭ":132851,"פ×Ĺ×ķת":132852,"Ġгл":132853,"Ġглаз":132854,"à¸Ĺà¹Īา":132855,"Ġdạy":132856,"ÑĢоÑģÑĤ":132857,"à¹Ĥà¸Ķยà¹Ģà¸īà¸ŀาะ":132858,"ĠquáºŃn":132859,"Ġ×Ĺ×ijר×ķת":132860,"même":132861,"mÄ±ÅŁtı":132862,"ĠاÙĦتداÙĪÙĦ":132863,"Ġnạn":132864,"Ġ×Ķ×ĵ×Ļ":132865,"ĠاÙĦطرÙĬÙĤ":132866,"×Ĵ×ķת":132867,"Ġ×Ķ×ĵר×ļ":132868,"ujÄħce":132869,"Ġchữ":132870,"ãĤĤãģ®ãģ®":132871,"ë°Ľ":132872,"ãģķãĤĵãģ¯":132873,"Ġyardım":132874,"ĠاÙĦعÙħ":132875,"Ġì§Ħíĸī":132876,"Ġ×Ļ×Ĺ":132877,"Ġ×Ļ×Ĺס×Ļ":132878,"ĠاÙĦÙħدÙĬÙĨØ©":132879,"Ġcú":132880,"à¸ģีฬ":132881,"à¸ģีฬา":132882,"Ġniên":132883,"misión":132884,"׳×Ļס×Ļ":132885,"׳×Ļס×Ļ×ķף":132886,"ĠвозÑĢаÑģÑĤ":132887,"Ġ×¢×ķש×Ķ":132888,"ĠÙħدÙĬر":132889,"ÑıÑģÑĮ":132890,"ØŃجÙħ":132891,"íĻĺê²½":132892,"ĠاÙĦأخرÙī":132893,"uÃŁer":132894,"ĠاÙĦعاÙĦÙħÙĬØ©":132895,"ĠNgá»įc":132896,"êµIJíļĮ":132897,"ä¸Ĭãģ§":132898,"×Ļ×Ķ×ķ×ĵ":132899,"×Ļ×Ķ×ķ×ĵ×Ļ×Ŀ":132900,"Ùħساعدة":132901,"ĠжизнÑĮ":132902,"ĠпоÑĤомÑĥ":132903,"ĠاÙĦÙħÙħÙĦ":132904,"ĠاÙĦÙħÙħÙĦÙĥØ©":132905,"ĠGör":132906,"رÙIJ":132907,"×ŀ×§×ķ×ŀ×ķת":132908,"åĩºæĿ¥ãĤĭ":132909,"ÑĦÑĤ":132910,"ĠìĿ´ìłľ":132911,"ĠÑĢем":132912,"ĠÑĢемонÑĤ":132913,"ת×ķ×ļ":132914,"æĻĤãģ¯":132915,"ãĤīãĤĮãģªãģĦ":132916,"altı":132917,"å®¶ãģ®":132918,"ĠاÙĦإعÙĦاÙħ":132919,"리ëĬĶ":132920,"ãģĭãĤīãģ¯":132921,"ĠHạ":132922,"ãģĤãģ®":132923,"×ĵ×Ļ×ķף":132924,"رÙĬس":132925,"ĠsocietÃł":132926,"ĠاÙĦÙĥبÙĬر":132927,"Ġ×ij×ŀס":132928,"Ġ×ij×ŀס×Ĵר":132929,"Ġ×ij×ŀס×Ĵרת":132930,"ĠìŀĪìľ¼ë©°":132931,"Ġnặng":132932,"ÙĩÙī":132933,"ĠBÃł":132934,"×ŀר×ķ":132935,"ĠjÄĻ":132936,"ĠjÄĻzy":132937,"ĠjÄĻzyk":132938,"Ġ׼×ŀ×ķ×ijף":132939,"×¢×ľ×Ķ":132940,"à¸Ĺีà¹Īà¹Ħà¸Ķà¹ī":132941,"ãģ¾ãģĹãĤĩãģĨ":132942,"×ŀספר":132943,"ТÐŀ":132944,"سÙĬاسة":132945,"ĠкаждÑĭй":132946,"ë²ł":132947,"tım":132948,"yá»ĩn":132949,"รีà¹Ī":132950,"ĠдеÑĤÑģк":132951,"วิà¸ĺีà¸ģาร":132952,"mówi":132953,"×ĺ×¢×Ŀ":132954,"×Ķצ׾×Ĺ×Ķ":132955,"ضÙĬÙģ":132956,"ĠÑħоÑĤÑı":132957,"ãĤĵãģ§ãģĦãĤĭ":132958,"à¸Ħาà¸Ķ":132959,"à¸Ħรà¸ļ":132960,"ĠкÑĥÑĢÑģ":132961,"ĠbaÅŁarı":132962,"×ijר×ķ":132963,"ÙĬعة":132964,"ĠÐĿÑĥ":132965,"à¸Ħวามà¹Ģà¸Ľà¹ĩà¸Ļ":132966,"Ġ׾×ŀש׾":132967,"Ġì¢ĭìĿĢ":132968,"Ùħؤسس":132969,"Ùħؤسسات":132970,"Ġprécis":132971,"Ġthảo":132972,"à¸ģà¹ĩà¸Ħืà¸Ń":132973,"Ġש׼׾":132974,"führung":132975,"ãģĦãģ§":132976,"à¹ģละมี":132977,"à¸ģà¹ĩมี":132978,"Ġשש":132979,"мел":132980,"Ġкниг":132981,"ĠباÙĦÙĨ":132982,"ĠباÙĦÙĨسبة":132983,"Ġaldı":132984,"ÑĤай":132985,"Ġ×Ĺ×ĵש×Ļ×Ŀ":132986,"å®Łãģ¯":132987,"عÙĪØ§":132988,"ĠìĿĺ미":132989,"изм":132990,"ÑĢабоÑĤаÑĤÑĮ":132991,"Ù쨵":132992,"Ġ×ij׳×ķסף":132993,"ãģ¨ãģĹãģ¦ãĤĤ":132994,"à¹Ģà¸Ľà¹ĩà¸Ļà¸Ĺีà¹Ī":132995,"ĠÑģледÑĥеÑĤ":132996,"èĢĥãģĪãģ¦":132997,"Ġ׼×Ļ×ķ×Ŀ":132998,"ÑģÑĤÑĭ":132999,"׼׾׼׾×Ļ":133000,"æµģãĤĮ":133001,"ãĤĴãģ¤ãģij":133002,"ÑĩаÑĤ":133003,"×Ļ׼×ķף":133004,"×Ļר×Ļ":133005,"larıyla":133006,"ãĤ¤ãĥ¡":133007,"ãĤ¤ãĥ¡ãĥ¼ãĤ¸":133008,"׳×ĸ×§":133009,"Ġciò":133010,"Ġsın":133011,"Ġsınır":133012,"à¸Ļà¸Ħร":133013,"каÑĤ":133014,"Ġlá»Ĺi":133015,"ëŀĮ":133016,"تÙģØ§Øµ":133017,"تÙģØ§ØµÙĬÙĦ":133018,"ëĨĵ":133019,"ĠÙħض":133020,"ilmiÅŁ":133021,"بارÙĥ":133022,"ÐĿÐĺ":133023,"Ġthẩm":133024,"Ġ×IJ×ķת×ļ":133025,"ĠпÑĢиним":133026,"ĠпÑĢинима":133027,"Ġyönt":133028,"Ġyöntem":133029,"Ġ×ŀ×§×ij׾":133030,"Ġktórego":133031,"ê·Ģ":133032,"شرÙģ":133033,"داÙħ":133034,"ãģĦãĤįãģĦãĤį":133035,"ĠAlém":133036,"Ġgörü":133037,"Ġgörünt":133038,"Ġgörüntü":133039,"دس":133040,"ÑĪки":133041,"гÑĢад":133042,"Ġlạc":133043,"Ġsữa":133044,"ãĤīãĤĮãģ¾ãģĻ":133045,"oÃłi":133046,"Ñīен":133047,"ãģĭãģªãģĦ":133048,"Ġпоп":133049,"ĠпопÑĥ":133050,"ĠпопÑĥлÑıÑĢ":133051,"ĠاÙĦÙħÙĪÙĤع":133052,"räg":133053,"A":133054,"íķĦ":133055,"ãĤĴè¦ĭãĤĭ":133056,"اÙħا":133057,"ĠاÙĦØŃرب":133058,"ĠÐŁÐ°":133059,"Ġ׾×IJתר":133060,"Ġtá»ijc":133061,"×ij׾×Ķ":133062,"رئÙĬس":133063,"вÑĥ":133064,"ÙĬدÙĬ":133065,"казан":133066,"Ġ×Ĺש×ij×ķף":133067,"hôtel":133068,"×¢×ķ׳×Ķ":133069,"بÙĨÙĬ":133070,"×ŀ×ķ׾":133071,"ĠднÑı":133072,"éĽ£ãģĹãģĦ":133073,"ведениÑı":133074,"Ġ×ķ×ŀת":133075,"напÑĢимеÑĢ":133076,"ÙĤابÙĦ":133077,"Ġrésultat":133078,"ĠÑĢазвиÑĤиÑı":133079,"رÙij":133080,"ìłĦ문":133081,"ĠاÙĦÙħزÙĬد":133082,"ĠìľĦíķ´ìĦľ":133083,"ëĨį":133084,"íĻķ":133085,"ĠThiết":133086,"íĮ¨":133087,"malıdır":133088,"ĠczÅĤ":133089,"ĠczÅĤowie":133090,"ĠczÅĤowiek":133091,"ĠÙĦبÙĨ":133092,"ĠÙĦبÙĨاÙĨ":133093,"üsü":133094,"ãģªãĤĵãģł":133095,"Ġżycie":133096,"ĠÑħоÑĢоÑĪо":133097,"æĸ¹ãģ«":133098,"ëĭ¤ë©´":133099,"иÑĩеÑģкаÑı":133100,"ער×Ļ׼":133101,"ער×Ļ×Ľ×ª":133102,"ãģ¾ãģĽãĤĵãģ§ãģĹãģŁ":133103,"ĠÑģобой":133104,"Ġgá»Ĺ":133105,"ĠделаÑĤÑĮ":133106,"daÄĩ":133107,"аÑĢа":133108,"różni":133109,"à¹Ģลีà¹ī":133110,"à¹Ģลีà¹īย":133111,"à¹Ģลีà¹īยà¸ĩ":133112,"à¸Ŀาà¸ģ":133113,"ĠتÙĤ":133114,"ĠتÙĤدÙĬ":133115,"ĠتÙĤدÙĬÙħ":133116,"หà¸Ļุà¹Īม":133117,"Ġmücade":133118,"Ġmücadele":133119,"ì§Ģ를":133120,"ãĤ¤ãĤ¹":133121,"Ġأساس":133122,"jÄħcego":133123,"ĠÅŁeh":133124,"нÑĤеÑĢ":133125,"ÑĨиÑİ":133126,"ï»»":133127,"ÑİÑīего":133128,"à¹Ĥà¸Ľà¸£à¹ģ":133129,"à¹Ĥà¸Ľà¸£à¹ģà¸ģรม":133130,"ĠmieÄĩ":133131,"ØŃÙĥÙĪÙħØ©":133132,"ãģ§ãģĹãģŁãģĮ":133133,"×Ļס×Ķ":133134,"ãĤĤãģ®ãĤĴ":133135,"Ġ×ŀ×IJת":133136,"สุà¸Ķà¸Ĺà¹īาย":133137,"ĠcÅ©":133138,"ÙĨسب":133139,"ĠпÑĢоÑĩ":133140,"Ġдней":133141,"ĠÑįÑĤиÑħ":133142,"׾×ŀת":133143,"нÑıÑı":133144,"Ñįк":133145,"Ġì§ĢëĤľ":133146,"มหาวิà¸Ĺยา":133147,"มหาวิà¸Ĺยาล":133148,"มหาวิà¸Ĺยาลัย":133149,"dão":133150,"ĠMáy":133151,"ĠêµŃê°Ģ":133152,"à¸ļุรี":133153,"×Ĵ×Ļ׾":133154,"ĠÑĤÑĭÑģÑı":133155,"ĠÑĤÑĭÑģÑıÑĩ":133156,"ÙģÙĥ":133157,"ĠÐĺÑģ":133158,"è¡ĮãĤıãĤĮ":133159,"פר×ĵ":133160,"ãģ¤ãģį":133161,"à¸Ħรà¸Ńà¸ļ":133162,"à¸Ħรà¸Ńà¸ļà¸Ħรัว":133163,"à¸Ĥึà¹īà¸Ļมา":133164,"ä»ĬæĹ¥ãģ¯":133165,"ĠìĤ¬ëŀĮìĿ´":133166,"עצ×ŀ×Ķ":133167,"поÑĢ":133168,"ĠKỳ":133169,"ĠÆ¡n":133170,"ĠthÄĥm":133171,"Ù쨧ÙĤ":133172,"ãģļãģ«":133173,"Ġ׾קר":133174,"Ġ׾קר×ķ×IJ":133175,"اÙģÙĬØ©":133176,"ÙħÙİØ§":133177,"гаÑĢ":133178,"صÙĦا":133179,"صÙĦاة":133180,"Ġ×ŀ×ĸ×Ķ":133181,"lıģını":133182,"Ġ×IJ×Ļ׳×Ķ":133183,"кÑĢо":133184,"Ġngươi":133185,"Ġвним":133186,"Ġвнимание":133187,"jÄħcy":133188,"ÙĢÙĢÙĢÙĢÙĢ":133189,"ÑģÑħод":133190,"ãģªãĤĵãģĭ":133191,"×ŀ×Ļ׾":133192,"Ġ×Ķ×IJ×Ĺ":133193,"ãĤıãģªãģĦ":133194,"عسÙĥر":133195,"ĠìĦ¸ê³Ħ":133196,"ĠÑĩего":133197,"ĠÑģÑĢедÑģÑĤва":133198,"ĠÐłÐ°Ñģ":133199,"ãģªãģģ":133200,"ÙĨÙ쨳":133201,"ר×Ļ×ķף":133202,"ÑģÑĥд":133203,"ĠìĿ¸ê°Ħ":133204,"ĠاÙĦÙħÙĤبÙĦ":133205,"ÙĨعÙħ":133206,"تÙĪÙ쨱":133207,"ש×ij×¢":133208,"ılm":133209,"ılmÄ±ÅŁ":133210,"Ġ×ľ×ª×ª":133211,"تصÙģ":133212,"×Ķפ×ķ×ļ":133213,"à¹ĥà¸Ļà¸Ľà¸µ":133214,"ìĿ´ê³ł":133215,"ÙģÙĪØ²":133216,"à¸ľà¸¥à¸ĩาà¸Ļ":133217,"ĠGiáo":133218,"à¸ļà¸Ńà¸ģวà¹Īา":133219,"ĠdÄ±ÅŁ":133220,"ĠdÄ±ÅŁÄ±nda":133221,"죽":133222,"ĠdzieÅĦ":133223,"кÑĨии":133224,"иÑĨе":133225,"ãģ®ä¸Ģ":133226,"عش":133227,"пÑĢеÑģÑģ":133228,"หà¸Ļà¹Īà¸Ńย":133229,"ลัà¸ģษà¸ĵะ":133230,"ĠpossibilitÃł":133231,"à¹Ħà¸Ķà¹īรัà¸ļà¸ģาร":133232,"หยุà¸Ķ":133233,"Ġphiên":133234,"çĶŁãģ¾ãĤĮ":133235,"Ø·ÙĪÙĦ":133236,"ÑĦин":133237,"für":133238,"ØŃÙĬاة":133239,"íĸĪìĬµëĭĪëĭ¤":133240,"׼׳×ķת":133241,"à¸Ľà¸£à¸°à¸ª":133242,"à¸Ľà¸£à¸°à¸ªà¸ļ":133243,"à¸Ľà¸£à¸°à¸ªà¸ļà¸ģารà¸ĵà¹Į":133244,"ëIJĺìĹĪ":133245,"Ġkażdy":133246,"Ġluyá»ĩn":133247,"ĠоÑĢганизаÑĨии":133248,"å°ijãģªãģı":133249,"ÑģÑĤÑĢоен":133250,"Ġtécnico":133251,"×§×Ķ׾":133252,"Ġ×ķ×IJ×Ĺ":133253,"ĠعÙĦÙĬÙĥ":133254,"Ñīение":133255,"Ġ×Ķ×Ļ׾×ĵ×Ļ×Ŀ":133256,"ÙĪØ³Ø§Ø¦ÙĦ":133257,"Ġ×ķ×Ķת":133258,"تÙħÙĬز":133259,"ĠÑģказал":133260,"Ġполи":133261,"Ġ×Ķ×ŀס":133262,"ÙĦÙijÙİ":133263,"Ùħؤسسة":133264,"Ġ×ŀ×Ļ×ĵ":133265,"ãģ£ãģ¡":133266,"ĠëĦĪ무":133267,"à¸ŀี":133268,"Ġtặng":133269,"Ġtấn":133270,"רש×Ŀ":133271,"Ġmédica":133272,"Ġ×¢×ķ×ŀ":133273,"Ġ×¢×ķ×ŀ×ĵ":133274,"ÑĦоÑĢ":133275,"Ùħرة":133276,"Ġvatanda":133277,"ĠvatandaÅŁ":133278,"Ġдело":133279,"à¸Ļม":133280,"ãģ¨åIJĮãģĺ":133281,"ÙģÙī":133282,"ÑģоÑĢ":133283,"Ġ×Ķסר×ĺ":133284,"Ġépoca":133285,"ìłķì±ħ":133286,"ĠÑģвÑıзан":133287,"ضرب":133288,"ĠÙĦÙĨا":133289,"Ġużywa":133290,"ĠاÙĦجÙĬØ´":133291,"ÑİÑĢ":133292,"×ijס×ķ×£":133293,"ĠмÑĥ":133294,"ĠмÑĥзÑĭк":133295,"bilité":133296,"Ġmaç":133297,"سÙİ":133298,"تÙĦÙĥ":133299,"ãģ¬":133300,"ÙĬÙĦا":133301,"ÑĪла":133302,"ÙĢÙĢÙĢ":133303,"Ġодной":133304,"зван":133305,"ĠÑģÑĢаз":133306,"ĠÑģÑĢазÑĥ":133307,"ÙĨظÙħ":133308,"راÙĩ":133309,"ĠÙĦÙĩذا":133310,"׼×ķר":133311,"Ġ×Ķש×ij×ķ×¢":133312,"Ġ×Ķשת":133313,"ĠQuảng":133314,"ãĥ«ãĥ¼":133315,"ãģĪãģªãģĦ":133316,"×ĺ×IJ":133317,"Ġmiá»ģn":133318,"ĠPháºŃt":133319,"ĠاÙĦسÙĪÙĤ":133320,"ÄĤ":133321,"ĠاÙĦجÙħع":133322,"ĠاÙĦجÙħعة":133323,"ÑİÑīей":133324,"aÅĤem":133325,"عتÙĤد":133326,"Ø£ÙĦÙħ":133327,"Ñģке":133328,"ĠìĿ´íķ´":133329,"ÙĨسخ":133330,"è¨ĢãģĦ":133331,"добав":133332,"سبÙĤ":133333,"×¢×ķרר":133334,"ÑĤип":133335,"ãģĿãģĵãģ§":133336,"visión":133337,"عÙĪØ¯Ø©":133338,"먹":133339,"×ŀ×ĸר×Ĺ":133340,"ĠØ¥ØŃ":133341,"Ġ׾×ij×Ļף":133342,"Ġ׾צ×IJת":133343,"Ġyardı":133344,"Ġyardımc":133345,"Ġyardımcı":133346,"İZ":133347,"קפ×Ķ":133348,"tré":133349,"liÄŁini":133350,"клÑİÑĩа":133351,"Ġüretim":133352,"Ġayrı":133353,"ĠkiÅŁiler":133354,"à¸Ħà¹īà¸Ļ":133355,"à¸Ħà¹īà¸Ļหา":133356,"ĠSá»±":133357,"Ġ×Ľ×¡":133358,"Ġ×Ľ×¡×£":133359,"ĠÑĤакиÑħ":133360,"ĠXuân":133361,"Ġлег":133362,"Ġлегко":133363,"Ø«ÙĤاÙ쨩":133364,"ÐĿÐŀ":133365,"ãĤ¹ãĤ¿ãĥĥ":133366,"ãĤ¹ãĤ¿ãĥĥãĥķ":133367,"åIJĪãģĦ":133368,"Ġ×Ķש×Ļ×ŀ×ķש":133369,"manız":133370,"ĠÐĴаÑģ":133371,"gün":133372,"ìľĦìĽIJíļĮ":133373,"Ġwspóln":133374,"ĠÑģвое":133375,"íĥģ":133376,"à¹Ģà¸Ļีย":133377,"ÙĪØ¨Ø©":133378,"вÑıз":133379,"ıdır":133380,"ëIJĺìĹĪëĭ¤":133381,"ĠdeÄŁiÅŁtir":133382,"ãĤĭãģĵãģ¨ãģĮ":133383,"Ġ×Ĺ×ĵש×Ķ":133384,"ãĤīãĤĮãģ¦ãģĦãĤĭ":133385,"×Ĺ×Ļ×Ļ×ij":133386,"ĠÐļаÑĢ":133387,"׳×Ļת×ķ×Ĺ":133388,"Ġ×§×ĺף":133389,"ר×ĸ":133390,"ÙĪØº":133391,"èªŃãģ¿":133392,"ĠتÙĤÙĪÙħ":133393,"ĠÙĥاÙĦ":133394,"à¸Ŀึà¸ģ":133395,"Ġë°ľìĥĿ":133396,"ológico":133397,"راع":133398,"à¹ģà¸ģà¹īà¹Ħà¸Ĥ":133399,"ĠÑĢабоÑĤÑĥ":133400,"ÙĨÙijÙİ":133401,"à¸Ńยูà¹Īà¸Ĺีà¹Ī":133402,"ĠاÙĦثاÙĨÙĬØ©":133403,"ĠNhân":133404,"ÑħваÑĤ":133405,"öne":133406,"Ġعدة":133407,"à¹ģสà¸ĩ":133408,"ÑĤоп":133409,"пÑĥÑģка":133410,"شراء":133411,"ĠÐļом":133412,"Ġפע×ķ׾×Ķ":133413,"ìĤ¬ìĿ´":133414,"ìĤ¬ìĿ´íĬ¸":133415,"è¡Įãģ£ãģ¦":133416,"Ġ×Ķ×Ķת":133417,"ĠÑģÑĤоÑĢо":133418,"ĠÑģÑĤоÑĢонÑĭ":133419,"درس":133420,"à¸ĭู":133421,"à¸ķà¹Īำ":133422,"ĠأبÙĬ":133423,"подоб":133424,"ãģ«ãģ¦":133425,"ارتÙģØ§Ø¹":133426,"ĠÙħؤ":133427,"иков":133428,"geführt":133429,"มืà¸Ńà¸ĸืà¸Ń":133430,"ĠÙĦÙĤد":133431,"ĠØ£ÙĨÙij":133432,"سÙĬطر":133433,"ãģ¾ãģļãģ¯":133434,"ס×ĵ":133435,"ÑģколÑĮко":133436,"ãģ¿ãģŁãģĦãģª":133437,"×ĵר×Ĵ":133438,"×¢×Ļ×ĵ":133439,"à¹ĥหà¹īà¸ļริà¸ģาร":133440,"ĠÐĶи":133441,"×ij×¢×Ļ×ķת":133442,"Ġ×Ķ×Ĺ×ķ":133443,"пиÑģÑĮ":133444,"ĠاÙĦØ®ÙĦ":133445,"бав":133446,"Ġİlk":133447,"ĠاÙĦØ®Ùħ":133448,"ĠاÙĦØ®ÙħÙĬس":133449,"ĠÙĬÙĤÙĪÙħ":133450,"æĻĤãģ®":133451,"ĠsÅĤow":133452,"ĠØ£ÙĩÙħ":133453,"Ø®ÙĦÙĤ":133454,"ĠأصبØŃ":133455,"Ġchứa":133456,"Ġthác":133457,"Ù쨧ÙĦ":133458,"Ġchá»Ŀ":133459,"ĠاÙĦخار":133460,"ĠاÙĦخارج":133461,"ĠاÙĦخارجÙĬØ©":133462,"طائر":133463,"ĠtÃł":133464,"ĠtÃłu":133465,"à¸ģลà¹īà¸Ńà¸ĩ":133466,"ĠاÙĦÙħرأ":133467,"ĠاÙĦÙħرأة":133468,"åħ¨ãģı":133469,"ĠÃĸn":133470,"çļĦãģ«ãģ¯":133471,"Ġpièce":133472,"×Ĵ×Ļ×ij":133473,"ĠاÙĦÙĪØ§ÙĤع":133474,"ä»Ĭãģ®":133475,"ĠاÙĦÙħÙĤ":133476,"cznÄħ":133477,"ÙģØ¹Ø§ÙĦ":133478,"енного":133479,"ĠÑĦакÑĤ":133480,"ìĭłì²Ń":133481,"ĠÐŀни":133482,"ĠاÙĦبÙĦاد":133483,"овиÑĩ":133484,"ëıĮ":133485,"ÑĦÑĥнкÑĨи":133486,"Ġìĸ´ëĬIJ":133487,"ãĥķãĤ©ãĥ¼":133488,"dÃŃ":133489,"илоÑģÑĮ":133490,"ÙħÙī":133491,"ĠاÙĦØ£ÙħرÙĬÙĥ":133492,"ĠاÙĦØ£ÙħرÙĬÙĥÙĬØ©":133493,"×ĺ×Ļפ×ķ׾":133494,"íĶĦë¡ľê·¸":133495,"íĶĦë¡ľê·¸ëŀ¨":133496,"Ġש×ķ׳×ķת":133497,"Ø´ÙħÙĦ":133498,"ĠпаÑĢа":133499,"Ġ×Ķ×Ĺ×ķ×§":133500,"ÙĪØ²Ø§Ø±Ø©":133501,"ãģ¨ãģĻãĤĭ":133502,"Ġquảng":133503,"Ġaģır":133504,"ĠاÙĦÙĦج":133505,"ĠاÙĦÙĦجÙĨØ©":133506,"긴":133507,"ĠTân":133508,"جÙħÙĦ":133509,"дол":133510,"à¹ģà¸ŀà¸Ĺย":133511,"à¹ģà¸ŀà¸Ĺยà¹Į":133512,"Ġר×IJש×Ļ":133513,"Ñīей":133514,"Ġçevre":133515,"ĠкомплекÑģ":133516,"Ġ×ij×ŀש×ļ":133517,"Ġaltın":133518,"ĠأعÙħاÙĦ":133519,"ĠÑģвоего":133520,"ãĤĪãģĦ":133521,"×Ĺ׾×Ļ×ĺ":133522,"×ŀ×ł×¢":133523,"Ġר×ij×Ķ":133524,"ĠØ£ÙĬضاÙĭ":133525,"×ĸ׾":133526,"ĠاÙĦسÙĬاسÙĬ":133527,"æĢĿãģĨ":133528,"קרק":133529,"קרקע":133530,"ĠاÙĦÙ쨱ÙĬÙĤ":133531,"биÑĤ":133532,"ק׳×Ķ":133533,"ĠØ¥ÙĨÙĩ":133534,"ĠÐĴам":133535,"ÐłÐŀ":133536,"ãĥĪãĥª":133537,"å¿ħè¦ģãģª":133538,"Ġchâu":133539,"ç¶ļãģij":133540,"Ġçözüm":133541,"gÅĤow":133542,"عÙĤÙĦ":133543,"売ãĤĭ":133544,"iết":133545,"à¸Ĭิà¹īà¸Ļ":133546,"ĠØŃÙĤÙĪÙĤ":133547,"Ø·ÙĦع":133548,"ĠÄijen":133549,"ĠÙĥاÙ쨩":133550,"ãģ®ãģĶ":133551,"Ġë¬":133552,"Ġ물":133553,"Ġë¬¼ë¡ł":133554,"ĠرسÙĪÙĦ":133555,"зам":133556,"замен":133557,"Ġkullanıcı":133558,"×¢×ķ׾":133559,"èī²ãĢħ":133560,"ÑĪиÑĢ":133561,"Ġ×Ĺש":133562,"Ġwygl":133563,"ĠwyglÄħda":133564,"ש×Ļ×ŀ×ķש":133565,"å¿ĺãĤĮ":133566,"×¢×Ļצ×ķ×ij":133567,"ĠاÙĦسÙĪØ±ÙĬ":133568,"å°ijãģªãģĦ":133569,"ĠпоиÑģк":133570,"สำà¸Ļัà¸ģà¸ĩาà¸Ļ":133571,"Ġ×ŀצ×ĵ":133572,"ĠmÃ¼ÅŁ":133573,"ĠmÃ¼ÅŁter":133574,"ĠmÃ¼ÅŁteri":133575,"ĠÙħÙĨÙĩÙħ":133576,"à¸ķำà¹ģ":133577,"à¸ķำà¹ģหà¸Ļ":133578,"à¸ķำà¹ģหà¸Ļà¹Īà¸ĩ":133579,"ÅĽmie":133580,"Ġ×©×ł×ª":133581,"Ġ×Ķפ×Ļ":133582,"פרש":133583,"×¢×ijר×Ļת":133584,"สà¸Ļัà¸ļ":133585,"สà¸Ļัà¸ļสà¸Ļุ":133586,"สà¸Ļัà¸ļสà¸Ļุà¸Ļ":133587,"è¨Ģãģ£ãģ¦":133588,"à¸ģารà¸Īัà¸Ķ":133589,"ĠMoże":133590,"изаÑĨии":133591,"ứt":133592,"ĠÙĪØ¨Ø¹Ø¯":133593,"ĠdeÄŁild":133594,"ĠdeÄŁildir":133595,"Ġת×ŀ":133596,"Ġ×ŀ×ŀ׳×ķ":133597,"話ãĤĴ":133598,"ĠÑĨена":133599,"Ġthúc":133600,"×Ļ×ŀ×ķף":133601,"ĠBáo":133602,"ãĤĴåıĸãĤĬ":133603,"å®īãģĦ":133604,"Ġ×¢×ķש×Ļ×Ŀ":133605,"èĩªåĪĨãģĮ":133606,"lée":133607,"ãĤĭãģ®ãģ§":133608,"иÑĢÑĥеÑĤ":133609,"ãģ¦ãĤĭ":133610,"ستر":133611,"ĠاÙĦØŃÙĬ":133612,"×Ļ׾×ķת":133613,"Ġ×Ĺ×ij":133614,"ÙĤرأ":133615,"تÙħÙĥÙĨ":133616,"سائÙĦ":133617,"prüf":133618,"ãģĭãģijãģ¦":133619,"ĠÑģобÑģÑĤвенно":133620,"ĠìľĦíķĺìŬ":133621,"׾×Ļ×ĺ":133622,"ãģĮå¤ļãģı":133623,"ÙĬتÙĩا":133624,"ç«ĭãģ¦":133625,"มà¸Ńà¸ļ":133626,"ìĭľìŀ¥":133627,"оÑĢа":133628,"ĠsavaÅŁ":133629,"×ĺ×Ļ×ij×Ļ":133630,"×ij׳×ķ":133631,"Ùħاذا":133632,"기ê°Ħ":133633,"ãģªãģ©ãģ§":133634,"Ġ×ŀת×Ĺ×Ļ׾":133635,"Ġnhiá»ħ":133636,"Ġnhiá»ħm":133637,"каÑĢ":133638,"каÑĢÑĤ":133639,"Ġ׾×Ķשת×ŀש":133640,"׳×Ļ×Ĺ":133641,"ادÙĬØ©":133642,"รายà¸ĩาà¸Ļ":133643,"ĠprzykÅĤad":133644,"Ñīий":133645,"ØŃضÙĪØ±":133646,"Ġhôn":133647,"ÃĿ":133648,"ת×ķצ×IJ×ķת":133649,"رابط":133650,"Ġbếp":133651,"ĠполÑĥÑĩи":133652,"åĩºä¼ļãģĦç³»":133653,"à¸Ľà¸¥à¹Īà¸Ńย":133654,"ĠاÙĦشباب":133655,"اÙĩÙĦ":133656,"ä»Ĭãģ¾ãģ§":133657,"رجع":133658,"ãĤ¶ãĥ¼":133659,"ÙĤÙģ":133660,"ĠGroÃŁ":133661,"ĠíļĮìĽIJ":133662,"اجر":133663,"Ġ×ij×ŀקר×Ķ":133664,"Ġsegurança":133665,"fühl":133666,"ãģ¦ãģĦãģı":133667,"หมà¸Ń":133668,"ĠкоÑĤоÑĢом":133669,"ĠNÄĥm":133670,"ĠdÅĤugo":133671,"ÙħÙĨØŃ":133672,"ש×ķ×ķ×Ļ":133673,"ĠØ£ÙĬاÙħ":133674,"à¸ªà¸łà¸²à¸ŀ":133675,"rzÄħ":133676,"شرÙĥات":133677,"ãĤĴèĢĥãģĪ":133678,"даÑĢ":133679,"à¸Ľà¸£à¸°à¸Ĭุม":133680,"Ġ×ķ×IJ×ĸ":133681,"iá»ĩn":133682,"Ġtươi":133683,"ש×Ļ×Ĺ":133684,"à¸Ńà¹Īà¸Ńà¸Ļ":133685,"æĽ¸ãģĦãģ¦":133686,"Ġngữ":133687,"×ij×Ļ×ĺ×Ĺ":133688,"×ij×Ļ×ĺ×Ĺ×ķף":133689,"Ġsẵ":133690,"Ġsẵn":133691,"ì§ĢëıĦ":133692,"ĠпÑĢеп":133693,"ĠпÑĢепаÑĢаÑĤ":133694,"ĠнаÑĥÑĩ":133695,"ĠÃľnivers":133696,"ĠÃľniversites":133697,"ĠÃľniversitesi":133698,"Ġ×Ĵ×ĵ×ķ׾×Ķ":133699,"Ġ×Ķ×ł×ª":133700,"Ġ×Ķ×ł×ª×ij×¢":133701,"ãģ§ãģĤãģ£ãģŁ":133702,"ĠmiesiÄħ":133703,"ĠmiesiÄħc":133704,"гÑĢам":133705,"гÑĢамм":133706,"ĠبشأÙĨ":133707,"ĠÑħÑĢ":133708,"×§×Ļ×ĵ":133709,"×§×Ļ×ĵ×ķ×Ŀ":133710,"Ø´Ùĥر":133711,"Ġá»ķ":133712,"Ġá»ķn":133713,"ãģĮãģĤãģ£ãģ¦":133714,"ãģķãĤĮãģ¾ãģĻ":133715,"Ġ×Ĺ×ķ×ĵ":133716,"Ġ×Ĺ×ķ×ĵש×Ļ×Ŀ":133717,"ÙħÙĪØ§Ø¬Ùĩ":133718,"ÙħÙĪØ§Ø¬ÙĩØ©":133719,"أشخاص":133720,"بغ":133721,"à¹Ģรียà¸Ļรูà¹ī":133722,"ãģĹãģ¦ãģĦãģı":133723,"Ġsạn":133724,"å¿ħãģļ":133725,"׳×Ļ×Ĵ":133726,"׳×Ļ×Ĵ×ķ×ĵ":133727,"باÙĦغ":133728,"×Ĺש×ŀ":133729,"×Ĺש×ŀ׾":133730,"Ġnapraw":133731,"ĠnaprawdÄĻ":133732,"Ø´Ùĩاد":133733,"×IJ×ķ×Ķ":133734,"×IJ×ķ×Ķ×ij":133735,"иÑĨÑĭ":133736,"Ġ×Ķר׼×ij":133737,"ëŀij":133738,"Ġתע":133739,"Ġ×Ķ×Ļש":133740,"Ġ×Ķ×Ļשר×IJ":133741,"Ġ×Ķ×Ļשר×IJ׾×Ļ":133742,"Ø£ÙħÙĨ":133743,"ÑİÑīаÑı":133744,"skór":133745,"LERİ":133746,"Ġ×Ķ×IJ×Ĺר×ķף":133747,"×¢×ł×§":133748,"ĠÙĪÙĥÙĦ":133749,"ãģĵãģĵãģ§":133750,"Ġquán":133751,"liÄŁin":133752,"à¸ģà¸İหมาย":133753,"Ø·Ùħ":133754,"أجÙĩ":133755,"أجÙĩزة":133756,"ĠErdoÄŁan":133757,"ãģ§ãģĬ":133758,"ĠвÑĢа":133759,"ĠвÑĢаÑĩ":133760,"ĠPhó":133761,"à¸Ĭัà¹Īว":133762,"à¸Ĭัà¹Īวà¹Ĥม":133763,"à¸Ĭัà¹Īวà¹Ĥมà¸ĩ":133764,"Ġphúc":133765,"×Ļפ×ķת":133766,"×¢×Ļ×ķף":133767,"Ġdużo":133768,"ãĥģãĥ¼ãĥł":133769,"ĠÙĬÙİ":133770,"ĠзадаÑĩ":133771,"Ġ×Ĵ×ij×ķ×Ķ×Ķ":133772,"Ġ׼׼׾":133773,"ложен":133774,"état":133775,"ĠngÄĥn":133776,"èµ·ãģį":133777,"ĠTiến":133778,"صعب":133779,"Ġexperiência":133780,"Ø®Ùħ":133781,"à¸ģารà¸Ĺำà¸ĩาà¸Ļ":133782,"سÙĬد":133783,"ĠDá»±":133784,"ĠкоÑĤоÑĢого":133785,"ladıģı":133786,"Ġkhá»ķ":133787,"Ġê³ĦìĨį":133788,"Ñīик":133789,"สà¹Īวà¸Ļà¸ķัว":133790,"зоÑĢ":133791,"ÙĨÙı":133792,"Ġà¸Ķัà¸ĩ":133793,"Ġà¸Ķัà¸ĩà¸Ļัà¹īà¸Ļ":133794,"Ġcấu":133795,"ĠÄijá»ijc":133796,"оÑĦ":133797,"ĠاÙĦأعÙħاÙĦ":133798,"ãģªãģıãģ¦ãĤĤ":133799,"×ķ׼×Ļ×Ŀ":133800,"à¹ģà¸Ľ":133801,"ĠBên":133802,"ãĥ¯ãĥ³":133803,"Ġgiám":133804,"ĠÅŀu":133805,"Ġdáng":133806,"عÙĦÙĬ":133807,"à¹Ģà¸ģษ":133808,"à¹Ģà¸ģษà¸ķร":133809,"ÙĪØ¬Ø¨":133810,"ннÑĭе":133811,"ÙĤضاء":133812,"à¸Ħวà¸ļ":133813,"à¸Ħวà¸ļà¸Ħุ":133814,"à¸Ħวà¸ļà¸Ħุม":133815,"ãģ¤ãģ¤":133816,"ĠViá»ĩc":133817,"×ŀ×ij×ĺ":133818,"ש×Ļת×ķ×£":133819,"ĠведÑĮ":133820,"kaza":133821,"kazaÅĤ":133822,"à¸ķำรวà¸Ī":133823,"ãĤ¿ãĥ«":133824,"ĠповÑĭ":133825,"ĠповÑĭÑĪен":133826,"ĠSợ":133827,"ĠìĦ¤ëªħ":133828,"ĠÃĩünkü":133829,"ìĥĿíĻľ":133830,"Ö¾":133831,"ãĤĮãģ¦ãģĦãĤĭ":133832,"Ġ×ijר×IJש":133833,"ר×ķ×Ĵ":133834,"ĠоÑĦи":133835,"ĠоÑĦиÑĨиалÑĮн":133836,"ĠÑĥÑģÑĤанов":133837,"ĠÑĥÑģÑĤановлен":133838,"ĠاÙĦÙħصر":133839,"ĠاÙĦÙħصرÙĬØ©":133840,"ĠÐŁÐ¾ÑįÑĤомÑĥ":133841,"ÙĨصÙģ":133842,"ĠÙĪØ§ÙĦÙĨ":133843,"ĠhÃłi":133844,"à¸Ħิ":133845,"ĠAprès":133846,"ì³IJ":133847,"à¹Ģà¸ĭีย":133848,"×ĵ×ŀ×Ķ":133849,"activité":133850,"à¸Ħิà¸Ķวà¹Īา":133851,"ÑĤÑĢен":133852,"à¹Ģฮ":133853,"ãĥıãĤ¤":133854,"ãģĮå¢ĹãģĪ":133855,"еннаÑı":133856,"Ġìĺ¤ëĬĺ":133857,"ãĥ¢ãĥ³":133858,"ĠконеÑĩно":133859,"ĠÙħÙĤابÙĦ":133860,"clé":133861,"Ġhü":133862,"Ġthẳng":133863,"ìłģìĿ´":133864,"ĠÐIJлекÑģ":133865,"ĠÐIJлекÑģан":133866,"ĠÐIJлекÑģандÑĢ":133867,"ãĥŀãĥ³ãĤ·ãĥ§ãĥ³":133868,"ãģ²ãģ¨ãģ¤":133869,"ãģªãģĬ":133870,"à¹Ģà¸Īà¹īาà¸Ĥà¸Ńà¸ĩ":133871,"ëĵľë¦¬":133872,"شاء":133873,"ĠsaÄŁlık":133874,"ĠÅŁimdi":133875,"×Ļ×IJ׾":133876,"تأثÙĬر":133877,"أسب":133878,"أسباب":133879,"ĠвÑĭполнен":133880,"лок":133881,"ש×Ļ×ij×Ķ":133882,"Ġlắm":133883,"ĠTrÆ°á»Ľc":133884,"Ġ×Ķ×¢×ľ":133885,"리를":133886,"ĠÑĢеж":133887,"ĠÑĢежим":133888,"inté":133889,"intégr":133890,"×Ĵ׳×Ļ":133891,"ĠاÙĦشعر":133892,"Ġmilhões":133893,"Ġpequeño":133894,"ãĤ³ãĥ¼ãĤ¹":133895,"×ķ׼×Ĺ":133896,"à¹Ģà¸Ĭà¹īา":133897,"شرÙĤ":133898,"Ġhương":133899,"รัà¸IJà¸ļาล":133900,"à¸ģลาย":133901,"à¸ģลายà¹Ģà¸Ľà¹ĩà¸Ļ":133902,"ĠподÑħод":133903,"תש×ķ×ij×Ķ":133904,"ãģıãģªãģ£ãģ¦":133905,"ĠاÙĦØ£ÙħÙħ":133906,"ĠHá»įc":133907,"ĠwspóÅĤpr":133908,"ĠwspóÅĤprac":133909,"ÑĩÑĥв":133910,"ÑĩÑĥвÑģÑĤв":133911,"ÃŃstico":133912,"à¹Ģà¸ģาะ":133913,"ìĽĢ":133914,"Ġназад":133915,"ãĤĭãĤĪãģĨãģ«":133916,"ĠСШ":133917,"ĠСШÐIJ":133918,"мон":133919,"ĠAsÃŃ":133920,"×ķר×Ĵ":133921,"полнен":133922,"×ŀ×¡×ľ":133923,"×ŀ×¡×ľ×ķ׾":133924,"à¹Ģลืà¸Ńà¸Ķ":133925,"à¹Ģริà¹Īมà¸ķà¹īà¸Ļ":133926,"ĠاÙĦØ¥Ùħ":133927,"ĠاÙĦØ¥Ùħارات":133928,"צ×Ķר":133929,"ãĥ¡ãĥªãĥĥãĥĪ":133930,"ĠпоÑĤом":133931,"виз":133932,"ĠÙģØªØ±Ø©":133933,"å¾Įãģ®":133934,"ÐĿÐIJ":133935,"×ŀסר":133936,"ÙĬرÙĬ":133937,"pré":133938,"ĠteÅŁek":133939,"ĠteÅŁekkür":133940,"Ġödeme":133941,"داÙĨ":133942,"ãģ¾ãģĹãģ¦":133943,"缮ãģ«":133944,"ĠÑĤеÑĩение":133945,"lard":133946,"lardır":133947,"à¹Ģราà¸Īะ":133948,"ספ×Ļ":133949,"ĠÙĪÙĥذÙĦÙĥ":133950,"Ġhát":133951,"Ġtá»Ļc":133952,"à¸Ħุย":133953,"Ġbức":133954,"ØŃÙĬÙĨ":133955,"èģŀãģĦãģ¦":133956,"Ùħؤشر":133957,"ĠNhư":133958,"Ġменее":133959,"ละà¸Ħร":133960,"Ñģин":133961,"ĠÑĢек":133962,"ĠÑĢекл":133963,"ĠÑĢеклам":133964,"ĠÙģÙĩÙĪ":133965,"Ġ׾×ĸ":133966,"×Ļ׳×ķת":133967,"ĠÅŁart":133968,"ÑģÑĤавка":133969,"Ġíı¬íķ¨":133970,"ãģ«è¡Įãģı":133971,"ï¼Ŀ":133972,"ĠпозволÑıеÑĤ":133973,"Ġת×ķ׼׾×ķ":133974,"овал":133975,"صÙĦØ©":133976,"Ġ׾ש׳×ķת":133977,"ĠÐĺгÑĢ":133978,"ÙħÙĨتجات":133979,"ĠsatÄ±ÅŁ":133980,"Ñģко":133981,"ĠاÙĦØ«ÙĦاثاء":133982,"Ġ×Ķ×ĵ×ijר×Ļ×Ŀ":133983,"ãģĹãģ¾ãģĹãĤĩãģĨ":133984,"بÙĤÙī":133985,"åĬĽãĤĴ":133986,"ĠÃĩok":133987,"ãĥģãĥ¥":133988,"à¹Ģà¸Ĭืà¹īà¸Ń":133989,"ยุà¸Ħ":133990,"ศาล":133991,"Ġ×§×ķ×ĵ×Ŀ":133992,"×ĸר×Ļ×Ŀ":133993,"ãģ®åł´åIJĪ":133994,"ĠìķĬìķĺ":133995,"ãģĤãĤĬãģ¾ãģĻãģĮ":133996,"×IJשר":133997,"è¡Įãģı":133998,"ãģ»ãģĭ":133999,"æ°Ĺãģ«ãģªãĤĭ":134000,"йдеÑĤ":134001,"íķĺìĺĢëĭ¤":134002,"ستÙħرار":134003,"ĠÐŁÑĢе":134004,"ĠÑģбоÑĢ":134005,"ĠìķĦ무":134006,"ç§ģãĤĤ":134007,"عص":134008,"ĠниÑĩ":134009,"ĠниÑĩего":134010,"ĠпÑĢием":134011,"×§×ķ×ŀ":134012,"ĠìĪĺëıĦ":134013,"Ġì¡´":134014,"Ġì¡´ìŀ¬":134015,"ĠأثÙĨ":134016,"ĠأثÙĨاء":134017,"ĠÙĪØ§ÙĦØŃ":134018,"ãģĮãģ§ãģįãĤĭ":134019,"Ġת×Ķ":134020,"Ġת×Ķ×Ļ×Ķ":134021,"רף":134022,"ĠÑģвÑıзи":134023,"×Ĵשת":134024,"ÑģпекÑĤ":134025,"ס×ij×Ļ×ij":134026,"ס×ij×Ļ×ij×Ķ":134027,"ĠíķĦìļĶíķľ":134028,"تخصص":134029,"Ġжив":134030,"ĠживоÑĤ":134031,"ĠMayıs":134032,"تعا":134033,"تعاÙĪÙĨ":134034,"ĠعÙĨÙĩا":134035,"ówki":134036,"ĠاÙĦÙģÙĦسطÙĬÙĨÙĬ":134037,"ãģłãģijãģ§ãģªãģı":134038,"ìĿ¸ì§Ģ":134039,"ĠاÙĦسÙĪØ¯":134040,"ĠاÙĦسÙĪØ¯Ø§ÙĨ":134041,"إجراءات":134042,"Ġkötü":134043,"Ġ×Ļתר":134044,"×Ĵ×Ļש×Ķ":134045,"Ġצ×ķר×ļ":134046,"รà¸ĸย":134047,"รà¸ĸยà¸Ļà¸ķà¹Į":134048,"ÑħоÑĤ":134049,"ÐłÐIJ":134050,"ÙĪØ·ÙĨ":134051,"Ġsayısı":134052,"ס×Ĺר":134053,"ÙħÙĪÙĦ":134054,"ãĤĴæĮģãģ£ãģ¦":134055,"عاÙĨ":134056,"Ġtá»Ļi":134057,"ĠвÑĭÑĪе":134058,"Ġtầm":134059,"ãĥĪãĥ¬":134060,"×Ļצ×ķ":134061,"มุม":134062,"سÙĪØ¯":134063,"ìłĦìŀIJ":134064,"ãĤµãĥŃãĥ³":134065,"ìĤ°ìĹħ":134066,"ĠоÑģнован":134067,"Ø®Ù쨶":134068,"רצ×Ķ":134069,"بÙĬض":134070,"×ķÖ¹":134071,"ס×Ļ×Ļ×¢":134072,"Ġש×IJ×Ļ":134073,"ĠاÙĦÙĤرآÙĨ":134074,"ĠТакже":134075,"×ŀש×ŀ×¢×ķת":134076,"سÙĩÙĦ":134077,"Ġ×Ķ׳×Ķ":134078,"ãĤĴãģĹãģ¦ãģĦãĤĭ":134079,"×Ļ×Ļס":134080,"×Ķ×ķ×IJ":134081,"ĠBÃŃ":134082,"Ġмало":134083,"ĠëͰëĿ¼ìĦľ":134084,"Ġר×Ĺ×ij":134085,"ãģĮé«ĺãģĦ":134086,"ÙĪØ§Ø³":134087,"ìĤ¼":134088,"×ł×¢":134089,"ãģ£ãģ¡ãĤĥ":134090,"ĠTüm":134091,"à¸Ńีà¸ģà¸Ķà¹īวย":134092,"ãģĹãģ¦ãģıãģłãģķãģĦ":134093,"ÙĨشاط":134094,"ãĥĹãĥ©ãĥ³":134095,"алиÑģÑĮ":134096,"×ĵ×ľ×ª":134097,"ĠwczeÅĽ":134098,"ĠwczeÅĽniej":134099,"ĠÑįÑĤим":134100,"Ġthá»ĭt":134101,"à¸ļัà¸į":134102,"à¸ļัà¸įà¸Ĭี":134103,"ãģļãģ£ãģ¨":134104,"ÑĢин":134105,"ĠswojÄħ":134106,"íķĺëĬĶëį°":134107,"Ġë§Įëĵ¤ìĸ´":134108,"تشÙĥ":134109,"تشÙĥÙĬÙĦ":134110,"ائÙĩ":134111,"Ġ׾פ×Ĺ×ķת":134112,"ãĥĭãĥ¥":134113,"ãĥĭãĥ¥ãĥ¼ãĤ¹":134114,"׼×IJף":134115,"ãģ§ãģįãģŁ":134116,"звон":134117,"ĠstaÅĤ":134118,"×Ĺ×ijרת×Ļ":134119,"ĠأعÙĦÙĨ":134120,"à¹ģà¸ļà¸ļà¸Ļีà¹ī":134121,"بدء":134122,"ãĤģãģŁ":134123,"Ġ×ŀש×ŀ×¢×ķת":134124,"Ġ×ŀש×ŀ×¢×ķת×Ļ":134125,"örü":134126,"Ġhạnh":134127,"zähl":134128,"ĠLý":134129,"Ġ×ij×Ķת":134130,"Ġ×ij×Ķת×IJ×Ŀ":134131,"баÑĢ":134132,"ì¦Ī":134133,"ä»ĬåĽŀãģ®":134134,"Ġyü":134135,"Ġyüks":134136,"Ġyüksel":134137,"ãĤ½ãĥ¼":134138,"ãģĤãĤĮ":134139,"×ª×ľ×ŀ×Ļ×ĵ":134140,"ãģ¤ãģª":134141,"×ij׳×Ļ×Ŀ":134142,"Ġxếp":134143,"ĠмÑĥжÑĩин":134144,"ĠاÙĦÙĥتاب":134145,"׼×ŀ×ķת":134146,"Ġçe":134147,"ĠçeÅŁ":134148,"ĠçeÅŁit":134149,"ĠçeÅŁitli":134150,"×ĵ×Ļר×ķת":134151,"à¸ļุà¸į":134152,"ĠاÙĦØ¥ÙĦÙĥ":134153,"ĠاÙĦØ¥ÙĦÙĥترÙĪ":134154,"ĠاÙĦØ¥ÙĦÙĥترÙĪÙĨÙĬ":134155,"ĠباÙĦإض":134156,"ĠباÙĦإضاÙ쨩":134157,"Ġyönel":134158,"Ġyönelik":134159,"mysÅĤ":134160,"à¸Ķà¹īวยà¸ģาร":134161,"à¸ģารà¸Ĺำ":134162,"овÑĭм":134163,"أزÙħØ©":134164,"æİ¢ãģĹ":134165,"íļ¨":134166,"Ġ×ķ×IJ×Ŀ":134167,"Ġnghiêm":134168,"ÑĪин":134169,"кал":134170,"Ġcrianças":134171,"èĩªåĪĨãģ§":134172,"Ġнай":134173,"ĠнайÑĤи":134174,"ĠSá»ij":134175,"ĠÃ¶ÄŁrenciler":134176,"ãĥ¶æľĪ":134177,"Ñģан":134178,"ĠJá":134179,"ĠkonuÅŁma":134180,"شرط":134181,"ëĪĪ":134182,"arrière":134183,"ضرÙĪØ±Ø©":134184,"ãĥĶãĥ³":134185,"עשר":134186,"аÑĢÑĮ":134187,"جÙħاع":134188,"Ġdéco":134189,"Ġ×Ļ×Ķ×ķ×ĵ×Ļ":134190,"à¸ŀลาà¸Ķ":134191,"ĠÙĬÙĥÙĨ":134192,"ĠجاÙħعة":134193,"طبÙĤ":134194,"ĠboÅŁ":134195,"×ķ×ķ×IJ":134196,"×ŀ×ĵ×¢":134197,"×§×ij×ķצת":134198,"פ×Ļר":134199,"jÄħcym":134200,"Ùħشا":134201,"ÙħشاÙĥÙĦ":134202,"צפ×ķף":134203,"إست":134204,"×ŀ׼ר":134205,"سÙħع":134206,"Ġкакой":134207,"ÑĤвоÑĢ":134208,"ØŃج":134209,"ÙģØ±Ø¶":134210,"пÑĢавлен":134211,"Ġникак":134212,"Ġmiá»ĩ":134213,"Ġmiá»ĩng":134214,"Ã¼ÃŁ":134215,"иÑĢовал":134216,"׾×ŀ×ķת":134217,"次ãģ®":134218,"ÙĦØ·":134219,"à¸ķัà¸Ļ":134220,"×Ķת×Ĺ×Ļ׾":134221,"ĠfotoÄŁ":134222,"ĠfotoÄŁraf":134223,"طرØŃ":134224,"à¸Ńà¸Ńà¸ģà¹Ħà¸Ľ":134225,"Ġyên":134226,"Ġпок":134227,"ĠпокÑĥп":134228,"ĠпокÑĥпа":134229,"ÑĨÑĥ":134230,"ĠкомпÑĮÑİ":134231,"ĠкомпÑĮÑİÑĤеÑĢ":134232,"ĠاÙĦÙĥرÙĬÙħ":134233,"تصÙħ":134234,"تصÙħÙĬÙħ":134235,"Ġоказа":134236,"Ġzarówn":134237,"Ġzarówno":134238,"ëĮĢì¶ľ":134239,"ãĤ»ãĥ³ãĤ¿ãĥ¼":134240,"ĠjakoÅĽci":134241,"æĤ©":134242,"æĤ©ãģ¿":134243,"Ø£ÙĨÙĪ":134244,"Ø£ÙĨÙĪØ§Ø¹":134245,"ë¹ł":134246,"Ġìłķë§IJ":134247,"Ġkẻ":134248,"ĠÑģайÑĤа":134249,"Ġ×Ķער×ij":134250,"Ùĩز":134251,"presión":134252,"ĠÑģÑĤен":134253,"ãģ£ãģ¦ãĤĭ":134254,"Ġhızlı":134255,"ÐļÐIJ":134256,"×ŀשפ×Ĺת":134257,"ĠÙĨÙĩا":134258,"ĠÙĨÙĩاÙĬØ©":134259,"ãģ¾ãģĦ":134260,"оÑħÑĢан":134261,"รà¹īà¸Ńย":134262,"ลึà¸ģ":134263,"ĠÙĪØ¨Ø§ÙĦ":134264,"ãĤĤãģ®ãģĮ":134265,"ר׼×Ļ×ij":134266,"ãĤ¤ãĥ¤":134267,"سؤ":134268,"سؤاÙĦ":134269,"ĠÙĦØ£ÙĨÙĩ":134270,"ĠkonuÅŁtu":134271,"ÐļÑĥпиÑĤÑĮ":134272,"Ġש×IJת×Ķ":134273,"ĠÙĪØ§ÙĦس":134274,"ĠmożliwoÅĽci":134275,"Ġprób":134276,"ëͰ":134277,"ãģ©ãĤĮ":134278,"ĠÐľÐ¸Ð½":134279,"ĠоÑĢганизм":134280,"ãģ«å¯¾ãģĻãĤĭ":134281,"ĠPré":134282,"Ġprivé":134283,"chè":134284,"ãģĦãģŁãģłãģį":134285,"สà¸Ļุà¸ģ":134286,"ajÄħce":134287,"ĠDzi":134288,"ĠDziÄĻki":134289,"ÅĤatw":134290,"rän":134291,"ränk":134292,"æĿ¥ãģŁ":134293,"Ġ×Ķ×Ļ×Ķ×ķ×ĵ×Ļ":134294,"ãĤ¬ãĥ¼":134295,"ĠÑĢад":134296,"ĠÑĢади":134297,"кÑĤив":134298,"Ø£Ùĩد":134299,"Ø£ÙĩداÙģ":134300,"ש×IJ×Ļר":134301,"ãģ¦ãģĦãģªãģĦ":134302,"Ġfrüh":134303,"Ġокол":134304,"Ġоколо":134305,"Ġregião":134306,"ĠÑĩиÑģле":134307,"Ġponiew":134308,"Ġponieważ":134309,"ìĦ¼íĦ°":134310,"Ġbầu":134311,"Ġê·":134312,"Ġê·ľ":134313,"Ġê·ľìłķ":134314,"ĠHòa":134315,"ĠÑĤоÑĤ":134316,"ãĤĤå¤ļãģĦ":134317,"ĠاÙĦإسÙĦاÙħÙĬØ©":134318,"ãģĭãģĦ":134319,"Ñįн":134320,"ĠÑĥказан":134321,"ĠÑĤакое":134322,"ï¼³":134323,"ëĮĢíķĻ":134324,"ĠgeniÅŁ":134325,"ĠاÙĦØ®ÙĬ":134326,"ĠاÙĦØ®ÙĬارات":134327,"ãĤĴè¡ĮãģĨ":134328,"ש×ŀ×Ķ":134329,"ĠLÃłm":134330,"ÙĪÙĨÙĬ":134331,"Ġ×IJ׾×Ļ×ķ":134332,"Äĺ":134333,"à¹Ħมà¹Īสามารà¸ĸ":134334,"人ãģ¨":134335,"برز":134336,"×Ļס×ķ×ĵ":134337,"×Ĵ׾×Ļ":134338,"ĠÙĬÙĨا":134339,"ĠÙĬÙĨاÙĬر":134340,"ĠкаÑĢÑĤин":134341,"Ġtôn":134342,"à¹Ģà¸ģร":134343,"à¸Ħà¸Ķี":134344,"Ġ׾×IJ×ķר×ļ":134345,"ãĤĤãĤīãģĨ":134346,"ãģĭãģĭãĤĭ":134347,"ании":134348,"ĠaraÅŁtırma":134349,"ÙĦاØŃظ":134350,"ãģĦãĤĦ":134351,"ĠTÃłi":134352,"Ġà¸Ļà¸Ńà¸ģà¸Īาà¸ģ":134353,"Ġà¸Ļà¸Ńà¸ģà¸Īาà¸ģà¸Ļีà¹ī":134354,"ĠÄIJảng":134355,"ãģ£ãģ¦ãģįãģŁ":134356,"Ġà¸ĭึà¹Īà¸ĩà¹Ģà¸Ľà¹ĩà¸Ļ":134357,"Ġtả":134358,"ĠmożliwoÅĽÄĩ":134359,"ĠSản":134360,"Ġİki":134361,"Ġcắt":134362,"سأÙĦ":134363,"Ġbakım":134364,"شب":134365,"à¸ķีà¹ī":134366,"à¸ŀยาย":134367,"à¸ŀยายาม":134368,"à¸ªà¸±à¸Ľ":134369,"à¸ªà¸±à¸Ľà¸Ķา":134370,"à¸ªà¸±à¸Ľà¸Ķาหà¹Į":134371,"ë°Ģ":134372,"еÑĢÑĭ":134373,"Ġcánh":134374,"Ġthuế":134375,"تبع":134376,"ãģ«åħ¥ãĤĮ":134377,"ÑİÑģÑĮ":134378,"íļĮìĿĺ":134379,"ç°¡åį":134380,"ç°¡åįĺ":134381,"ç°¡åįĺãģ«":134382,"Ġtrúc":134383,"ĠاÙĦÙĥÙĪÙĬ":134384,"ĠاÙĦÙĥÙĪÙĬت":134385,"ãĤıãģijãģ§ãģĻ":134386,"ĠÑģвоб":134387,"ĠÑģвобод":134388,"ĠÑĥÑĩаÑģÑĤник":134389,"สิà¹īà¸Ļ":134390,"ĠпÑĢоÑĦеÑģÑģиона":134391,"ĠпÑĢоÑĦеÑģÑģионалÑĮн":134392,"ÑģпоÑĢ":134393,"×Ĺ×ķ×ij×Ķ":134394,"ÙħعÙĨÙī":134395,"ĠاÙĦÙģØªØ±Ø©":134396,"สูà¸ĩสุà¸Ķ":134397,"ãĤıãģļ":134398,"ĠÄijè":134399,"ĠÄijèn":134400,"æ¯Ķãģ¹":134401,"าà¸ĺิ":134402,"Ġmożemy":134403,"à¹ģà¸ĭ":134404,"à¸Īะà¹Ħมà¹Ī":134405,"Ġsắp":134406,"ÐļÐŀ":134407,"Ġpráctica":134408,"ÙĪÙĥاÙĦØ©":134409,"è¾¼ãĤĵãģ§":134410,"ológica":134411,"ĠеÑī":134412,"ĠеÑīÑij":134413,"تعدÙĬÙĦ":134414,"ĠØ£Ùĥد":134415,"Ġצר×Ļ׼":134416,"Ġצר×Ļ׼×Ļ×Ŀ":134417,"Ø«Ùħ":134418,"ĠкÑĢÑĥ":134419,"ĠкÑĢÑĥп":134420,"×ij×Ļ×§×ķרת":134421,"Ġì¡°ê¸Ī":134422,"ãģ¨ãģįãģ¯":134423,"Ġbạc":134424,"ĠÑĢаÑģпол":134425,"ĠÑĢаÑģполож":134426,"ĠÑĢаÑģположен":134427,"زÙĬÙĨ":134428,"ĠÐļÑĢоме":134429,"ĠاÙĦÙĨظر":134430,"×Ķ×ķ×ĵ":134431,"ĠاÙĦسبت":134432,"ã썿ĢĿãģĦ":134433,"ĠpaÅĦst":134434,"ĠpaÅĦstw":134435,"ĠÙĦÙĬست":134436,"ĠбÑĥдÑĥ":134437,"à¸Ĺัà¸Ļà¸Ĺี":134438,"ราม":134439,"ØŃصÙĪÙĦ":134440,"ãģĹãģ¦ãģıãĤĮãĤĭ":134441,"ĠاÙĦإسرائÙĬÙĦ":134442,"ĠاÙĦإسرائÙĬÙĦÙĬ":134443,"ãģĵãĤĮãģ¾ãģ§":134444,"ìĤ¬ë¥¼":134445,"Ġsürü":134446,"à¹Ģวà¸Ńรà¹Į":134447,"à¹Ģà¸ĭà¸Ńรà¹Į":134448,"Ġutilisé":134449,"ĠÑģиÑģÑĤема":134450,"Ġdwó":134451,"Ġdwóch":134452,"Ġpróprio":134453,"Ġëĵ±ìĿĦ":134454,"arrêt":134455,"ĠЧа":134456,"×IJ×ŀ׳×ķת":134457,"عارض":134458,"à¹Ģà¸ģมสà¹Į":134459,"Ġ׾×Ķ×ij×Ļף":134460,"Ġ׾×ij×Ĺ":134461,"Ġ׾×ij×Ĺ×ķר":134462,"สาà¸Ĥา":134463,"ĠÐľÐ¾Ñģкве":134464,"بعد":134465,"ĠاÙĦÙĤرار":134466,"ĠÄIJá»ĭa":134467,"Ġ×Ĺ×Ĵ":134468,"ÙģØªØ±":134469,"ÙĪÙĨØ©":134470,"Ġ×Ķ×ĸ×IJת":134471,"å¸Ĥãģ®":134472,"ãģ»ãģĹãģĦ":134473,"Ġ×ij×¢×Ļר":134474,"ĠÑĤепеÑĢÑĮ":134475,"ìĬµëĭĪê¹Į":134476,"à¹Ħมà¹Īว":134477,"à¹Ħมà¹Īวà¹Īา":134478,"à¹Ħมà¹Īวà¹Īาà¸Īะ":134479,"×ŀ×IJ×Ķ":134480,"æĥħåł±":134481,"æĥħåł±ãĤĴ":134482,"غÙĨ":134483,"ĠпоÑı":134484,"ĠпоÑıви":134485,"éģİãģĶ":134486,"تشغ":134487,"تشغÙĬÙĦ":134488,"вел":134489,"Ġ×Ĺ×ŀ":134490,"ãģ¨ãģªãĤĬãģ¾ãģĻ":134491,"ĠraÄŁ":134492,"ĠraÄŁmen":134493,"ãģĭãģ©ãģĨ":134494,"ãģĭãģ©ãģĨãģĭ":134495,"енко":134496,"ì§Ģê³ł":134497,"Ġ×IJ׾×Ļ×Ķ":134498,"ĠØ£ÙĦ":134499,"à¸Īำหà¸Ļ":134500,"à¸Īำหà¸Ļà¹Īาย":134501,"nızı":134502,"Ġ׾ק×Ĺת":134503,"Ø£ÙĩÙħ":134504,"Ø£ÙĩÙħÙĬØ©":134505,"تغÙĬر":134506,"ש×Ĺר":134507,"ס×ķפר":134508,"×ĵ×Ļר":134509,"èī¯ãģĭãģ£ãģŁ":134510,"×ŀ׾×Ĺ×ŀ×Ķ":134511,"ÑģÑĤвие":134512,"ÑĤÑĢаÑĤ":134513,"ĠاÙĦأخ":134514,"ĠاÙĦأخÙĬرة":134515,"ĠاÙĦØŃصÙĪÙĦ":134516,"Ġcrédito":134517,"צ×Ļ×¢":134518,"ãĥ¬ãĥĻãĥ«":134519,"برÙĬ":134520,"ëIJIJ":134521,"ãģłãģ£ãģ¦":134522,"ĠrealtÃł":134523,"سÙ쨱":134524,"×ķ׳×ķ":134525,"×Ĵ×ķ×ĵ":134526,"×Ĵ×ķ×ĵ׾":134527,"ฮา":134528,"ãģĹãģ¦ãģĬãĤĬãģ¾ãģĻ":134529,"ĠgÃł":134530,"Ġ׾×ijצע":134531,"å¼ķè¶ĬãģĹ":134532,"Ġ×ŀ×Ļ׾×Ļ":134533,"Ġ×ŀ×Ļ׾×Ļ×ķף":134534,"Ùħدر":134535,"Ùħدرسة":134536,"פ×ķ×ĺ":134537,"à¸Ļà¹īำมัà¸Ļ":134538,"ëģĿ":134539,"عÙĥس":134540,"ĠÙĤض":134541,"ĠÑĢÑĭб":134542,"خطط":134543,"×ŀ×ķס×ĵ":134544,"Ġ׼׾׾×Ļ":134545,"ĠкоÑĤоÑĢое":134546,"צ×Ļ×ķף":134547,"ĠмеÑģÑĤа":134548,"ãģĭãģ¤":134549,"гÑĢÑĥпп":134550,"׾×Ļ׾":134551,"ת×ķ×IJר":134552,"ë³µì§Ģ":134553,"à¹ģà¸ľà¹Īà¸Ļ":134554,"Ġ×ijעת":134555,"æĻĤéĸĵãĤĴ":134556,"ï¼£":134557,"ãģ¨ãģĦãģĨãģĵãģ¨ãģ§":134558,"Ġ׾×Ķ×§":134559,"Ġ׾×ĸ×Ķ":134560,"ĠìłĢëĬĶ":134561,"ĠاÙĦإرÙĩاب":134562,"ĠìŀĪëĬĶëį°":134563,"ĠÑĤогда":134564,"Ġ×Ķצ×Ļ":134565,"×ķ׾×ĺ":134566,"Ġרפ×ķ×IJ×Ļ":134567,"ãģĵãģ¨ãģ§ãģĻ":134568,"ĠÄijÃŃch":134569,"ØŃÙĬا":134570,"Ġ×Ķ×ŀש×Ĺ×§":134571,"ãģľãģ²":134572,"Ġ×ŀ×IJפשר":134573,"ãģ¿ãģ¾ãģĹãģŁ":134574,"ĠاÙĦØ£ÙħÙĬرÙĥÙĬ":134575,"ÙħجتÙħع":134576,"Ġساب":134577,"ĠسابÙĤ":134578,"׼×Ļ׾":134579,"Ế":134580,"ãĥªãĤ¹ãĥĪ":134581,"Ġìĥ":134582,"ĠìĥĪ":134583,"ĠìĥĪë¡ľ":134584,"ĠìĥĪë¡ľìļ´":134585,"ĠDá»ĭch":134586,"à¹Ģหมาะสม":134587,"ĠاÙĦÙĨبÙĬ":134588,"׾׾":134589,"ÙĨع":134590,"Ðĵлав":134591,"ÐĵлавнаÑı":134592,"Ùħرض":134593,"Ġ×ķ×ĵ":134594,"تÙĤÙĬ":134595,"تÙĤÙĬÙĬÙħ":134596,"Ġbảng":134597,"ĠÙģÙĤاÙĦ":134598,"×¢×ŀ×Ļ":134599,"дÑĢа":134600,"Ġsuá»ijt":134601,"سرعة":134602,"Ġcá»Ń":134603,"Ġ×Ķ×Ļ×Ĺ×Ļ×ĵ":134604,"سعÙĬد":134605,"à¸Ńาà¸Ĭีà¸ŀ":134606,"ĠسÙĪØ§Ø¡":134607,"ãĤ½ãĥķãĥĪ":134608,"ĠлиÑĩно":134609,"ĠÐļоÑĢ":134610,"اÙĩتÙħ":134611,"اÙĩتÙħاÙħ":134612,"à¸Ńà¸Ķี":134613,"à¸Ńà¸Ķีà¸ķ":134614,"ãģIJãĤīãģĦ":134615,"Ġihtiya":134616,"Ġihtiyaç":134617,"ãģ¾ãģ§ãģ®":134618,"ìĭľìĬ¤":134619,"ìĭľìĬ¤íħľ":134620,"ÑĢÑĥÑĪ":134621,"ãĤĦãģ£ãģ±":134622,"ãĤĦãģ£ãģ±ãĤĬ":134623,"кеÑĢ":134624,"Ġży":134625,"Ġżyw":134626,"клон":134627,"Ġlượt":134628,"þ":134629,"даÑĩи":134630,"türk":134631,"غÙĪ":134632,"ĠигÑĢок":134633,"Ġphê":134634,"Ġ×©×¢×ľ":134635,"ĠاÙĦÙħدÙĨÙĬ":134636,"ĠìŬ룬ë¶Ħ":134637,"ער×Ļ×Ŀ":134638,"ÑħодÑıÑĤ":134639,"Ġxứ":134640,"ÐĹа":134641,"ĠÙģØ±Øµ":134642,"à¸Īะà¸Ĺำà¹ĥหà¹ī":134643,"íģ´":134644,"×¢×ij×ķר":134645,"à¹Ģหลà¹Īาà¸Ļีà¹ī":134646,"èĢĥãģĪãĤĭ":134647,"ÑĢеÑģÑĤ":134648,"ннÑĭй":134649,"Ġcầm":134650,"داخÙĦ":134651,"ĠÙħÙĦÙĬار":134652,"ĠÐIJл":134653,"ĠвÑĢемен":134654,"à¸Ĭà¹Īวยà¹ĥหà¹ī":134655,"ר×Ļ×ķת":134656,"ëĵ¯":134657,"飲ãģ¿":134658,"׳׾":134659,"שתף":134660,"ĠاÙĦسعÙĪØ¯ÙĬ":134661,"uÃŁ":134662,"ìĿ¸ëį°":134663,"ĠìĿ¼ë°ĺ":134664,"ÅĤÄĻ":134665,"Ġmá»iji":134666,"×ŀ×Ļ׳":134667,"ĠاÙĦأطÙ쨧ÙĦ":134668,"Ġçıkan":134669,"école":134670,"×§×Ļש":134671,"×§×Ļש×ķר":134672,"ĠоÑģÑĥÑīеÑģÑĤв":134673,"ĠоÑģÑĥÑīеÑģÑĤвлÑı":134674,"×ij×IJר":134675,"à¹Ħà¸Ľà¸Ķà¹īวย":134676,"Ġ×¢×ķ׾×Ķ":134677,"à¸ģà¹ĩà¹Ħมà¹Ī":134678,"ãĥ¢ãĥĩ":134679,"ãĥ¢ãĥĩãĥ«":134680,"تØŃÙĪÙĦ":134681,"Ġодного":134682,"ת×Ĺ×Ļ×ľ×ª":134683,"Ġتخ":134684,"Ġchcia":134685,"ĠchciaÅĤ":134686,"ãĥIJãĥ³":134687,"èĢħãģ¯":134688,"ĠÙħØŃÙĦ":134689,"Ñģлож":134690,"Ñģложн":134691,"ĠtÄĻ":134692,"Ġçıkt":134693,"Ġçıktı":134694,"ĠCÆ¡":134695,"à¹Ħà¸Ķà¹īà¹Ģลย":134696,"ırken":134697,"à¹Ģà¸Ĥà¹īาสูà¹Ī":134698,"ÙħØŃÙĥ":134699,"ÙħØŃÙĥÙħØ©":134700,"à¸Ħุà¹īม":134701,"à¸Ļà¹Īาà¸Īะ":134702,"лÑİд":134703,"деÑģÑı":134704,"деÑģÑıÑĤ":134705,"ĠлÑİбой":134706,"تØŃرÙĬر":134707,"צע×ĵ":134708,"ĠеÑij":134709,"ĠاÙĦØŃÙĥÙħ":134710,"ĠصباØŃ":134711,"à¹Ģà¸ļà¸Ńรà¹Į":134712,"Ġróżnych":134713,"гиб":134714,"ĠÑģоÑĤ":134715,"ĠÑģоÑĤÑĢÑĥд":134716,"ĠÑģоÑĤÑĢÑĥдник":134717,"ĠобÑĬем":134718,"פ×ĺר":134719,"ãģĻãģĶãģı":134720,"ãģ«éĸ¢ãģĹãģ¦":134721,"вол":134722,"Ø«ÙħاÙĨ":134723,"Ġdần":134724,"æĬľ":134725,"æĬľãģij":134726,"Ġעש":134727,"Ġעש×ķ×Ļ":134728,"ס×ķף":134729,"ãģªãģ®ãģ§ãģĻ":134730,"ãģ¯ãģ©ãģĨ":134731,"×ŀער×ij":134732,"ï¼°":134733,"Ùħصر":134734,"ÙħÙĨاسب":134735,"ÙħÙĨاسبة":134736,"ä¸Ĭãģ®":134737,"×IJ×Ļש×ķר":134738,"ĠìĦ¤ì¹ĺ":134739,"×ŀ×ĵ×Ļ׳×ķת":134740,"×ŀרת":134741,"ãĤĭãģ®ãģĮ":134742,"دÙİ":134743,"ĠاÙĦشرÙĥات":134744,"ìĭľê°Ħ":134745,"ĠÑĢеÑĪение":134746,"ãģĻãĤĭãģ®ãģ¯":134747,"ĠìŀIJìĭłìĿĺ":134748,"׾×ŀ×ķ":134749,"ãģ¨ãģĵãĤįãģ§":134750,"Ġקצר":134751,"Ġmãi":134752,"Ġkültür":134753,"ãĥ©ãĤ¤ãĥĸ":134754,"à¸ľà¸¹à¹īหà¸įิà¸ĩ":134755,"æĻĤéĸĵãģĮ":134756,"клÑİÑĩи":134757,"diÄŁiniz":134758,"มาà¸ģà¹Ĩ":134759,"تØŃÙħÙĦ":134760,"Ġhạt":134761,"ãĤ¦ãĤ£":134762,"пле":134763,"×ŀ׾×IJ":134764,"ÅĤó":134765,"Ġgá»ijc":134766,"Ġ×IJ×ķ×ĵ×ķת":134767,"หวาà¸Ļ":134768,"ĠاÙĦÙĪØ²":134769,"ĠاÙĦÙĪØ²Ø±Ø§Ø¡":134770,"ëĵ¤ê³¼":134771,"ĠصØŃ":134772,"ĠصØŃÙĬÙ쨩":134773,"Ġмм":134774,"تدخÙĦ":134775,"Ġpersönlich":134776,"ĠزÙĬ":134777,"ĠزÙĬادة":134778,"ãĤ·ãĤ¢":134779,"Ġngắn":134780,"à¸Ħลิà¸ģ":134781,"Ġsông":134782,"Ġtüket":134783,"ÑįÑĦÑĦ":134784,"ÑįÑĦÑĦекÑĤ":134785,"ש×Ļ×ij":134786,"Ġاعت":134787,"تض":134788,"تضÙħÙĨ":134789,"ĠاÙĦÙħشرÙĪØ¹":134790,"Ġprodução":134791,"ĠпÑĢименÑı":134792,"ниÑĨÑĭ":134793,"주ëĬĶ":134794,"رÙı":134795,"ĠmÆ¡":134796,"Ġhayatı":134797,"ëŁ½":134798,"Ġücret":134799,"Ġyanında":134800,"Ġprática":134801,"×ij×Ļ×§×ķר":134802,"ÃľN":134803,"ÑģоÑĤ":134804,"ãĤıãģijãģ§":134805,"Ġдолго":134806,"×ª×Ľ×ķ":134807,"ĠìķĦëĭĮ":134808,"ëį°ìĿ´":134809,"Ġçiz":134810,"ĠchoÄĩ":134811,"Ġ×Ķ×Ļת":134812,"Ġ×Ķ×Ļתר":134813,"Ġsoát":134814,"׼×ij×ĵ":134815,"à¹Ģลà¹Īา":134816,"ĠдеÑĢ":134817,"ĠдеÑĢев":134818,"ãĤĴåħ¥ãĤĮ":134819,"×Ĺ×ķס":134820,"×Ĺ×ķסר":134821,"جÙĬÙĨ":134822,"tón":134823,"onné":134824,"ĠполноÑģÑĤÑĮÑİ":134825,"人ãģŁãģ¡":134826,"Ġprêt":134827,"본":134828,"Ġdécembre":134829,"cılar":134830,"Ġתת":134831,"Ġê²½ìļ°ìĹIJëĬĶ":134832,"ÙĪØ¹Ø¯":134833,"è¦ĭãĤĭ":134834,"วิà¸Īัย":134835,"ë¶Ī":134836,"زÙĪØ§":134837,"زÙĪØ§Ø¬":134838,"dì":134839,"ãģ§ãģĻãĤĪ":134840,"Ġводо":134841,"ĠÙĬÙĪØ¬Ø¯":134842,"ÑģоÑģÑĤоÑı":134843,"ÐŀС":134844,"ĠÄIJó":134845,"×Ĺפש":134846,"Ġצ×Ļ×ij×ķר":134847,"ĠاÙĦÙĤØ·":134848,"ĠاÙĦÙĤطاع":134849,"ĠимеÑİÑĤ":134850,"ĠpháºŃn":134851,"×Ľ×¡×¤×Ļ":134852,"полниÑĤелÑĮ":134853,"éĻIJãĤĬ":134854,"ĠÑģÑĢав":134855,"ĠÑģÑĢавн":134856,"ÙħاÙĦÙĥ":134857,"×ĵר×ķ×Ŀ":134858,"çļĨãģķãĤĵ":134859,"ØŃÙĤÙĤ":134860,"à¹ģหลà¹Īà¸ĩ":134861,"ĠاÙĦرسÙħÙĬ":134862,"оÑĩки":134863,"×ĺ×ij×Ĺ":134864,"Ġcanlı":134865,"Ġ׾׾":134866,"Ġ׾׾×ŀ×ķ×ĵ":134867,"×ŀ×ij×ķ":134868,"×ª×Ľ":134869,"×ª×Ľ×ł×Ļת":134870,"ĠاÙĦÙħشار":134871,"ĠاÙĦÙħشارÙĥØ©":134872,"İÅŀ":134873,"ĠسÙĬاسÙĬ":134874,"волÑĮ":134875,"ĠÑģпÑĢав":134876,"æĿ¥ãģ¦":134877,"פ×ķר×ķ×Ŀ":134878,"สำà¹Ģรà¹ĩ":134879,"สำà¹Ģรà¹ĩà¸Ī":134880,"ĠÅŁÃ¶yle":134881,"ĠzostaÅĤa":134882,"ĠHü":134883,"ר×ķש":134884,"دÙĦÙĬÙĦ":134885,"ÑĢид":134886,"שף":134887,"×ŀ×§×ķר":134888,"ĠÑĥÑĩ":134889,"ĠÑĥÑĩеб":134890,"ĠÑįÑĤа":134891,"кова":134892,"à¸ķà¸Ļà¹Ģà¸Ńà¸ĩ":134893,"ÙĨÙIJ":134894,"à¸Ńีà¸ģà¸Ħรัà¹īà¸ĩ":134895,"ระà¸ļุ":134896,"Ġdữ":134897,"ĠاÙĦØŃاÙĦÙĬ":134898,"׼×ķ׼":134899,"׼×ķ׼×ij":134900,"Ġ×ŀ×IJשר":134901,"Ġtrụ":134902,"ÑĤелем":134903,"Ġвли":134904,"ĠвлиÑı":134905,"Ġש×IJת×Ŀ":134906,"Ġuwag":134907,"ĠuwagÄĻ":134908,"×ĺ×Ļת":134909,"×IJ×ĵ×Ŀ":134910,"à¸Ķุ":134911,"Ġ×Ķ×IJ׾×Ķ":134912,"ĠkarÄ±ÅŁ":134913,"ĠÄIJá»iji":134914,"даÑİÑĤ":134915,"ãģªãģ®ãģ«":134916,"Äħcych":134917,"à¹Ģà¸Ļà¹īà¸Ļ":134918,"ãģĹãģ¦ãģĹãģ¾ãģĨ":134919,"intérieur":134920,"ĠfÃŃsica":134921,"ĠÐŁÐ¾Ð»":134922,"ãģĹãģķ":134923,"à¸Ĺำà¹Ħม":134924,"ĠLâm":134925,"ĠاÙĦÙħسÙĦÙħ":134926,"ĠاÙĦÙħسÙĦÙħÙĬÙĨ":134927,"صØŃØ©":134928,"ìĹĦ":134929,"à¹Ģà¸Ķà¹ĩà¸Ķ":134930,"ĠÑĥÑĩеÑĤ":134931,"âÌģ":134932,"ĠبÙĦا":134933,"ĠاÙĦاجتÙħاعÙĬ":134934,"פרס×Ŀ":134935,"ãĥķãĥ©":134936,"ĠÐļогда":134937,"mieÅĽci":134938,"ĠبÙĬÙĨÙħا":134939,"Ġ×ŀ×IJ×ŀר×Ļ×Ŀ":134940,"Ġ×ij×IJ×ĸ×ķר":134941,"×ķש×Ļ×Ŀ":134942,"ĠÑģдела":134943,"entrée":134944,"à¹Ģà¸Ħà¹īา":134945,"Ñĥгл":134946,"ĠاÙĦÙģÙĨÙĬ":134947,"ĠÐĴоÑĤ":134948,"à¸Ĺีà¹Īมา":134949,"×ķצ×Ĵ":134950,"ÙĤدرة":134951,"Ġ목":134952,"Ġ목ìłģ":134953,"íıīê°Ģ":134954,"ĠاÙĦأربع":134955,"ĠاÙĦأربعاء":134956,"פס×Ļ×§":134957,"ĠÑıвлÑıÑİÑĤÑģÑı":134958,"بÙĪÙĨ":134959,"ì°¾":134960,"×ŀ×¢×¨×Ľ":134961,"×ŀ×¢×¨×Ľ×ķת":134962,"ãĤ·ãĤ§":134963,"ĠباÙĦØ£":134964,"íĸĪëįĺ":134965,"ĠاÙĦبرÙĨاÙħج":134966,"ĠاÙĦØ£ØŃد":134967,"ĠmÅ©":134968,"ĠmÅ©i":134969,"паÑĤ":134970,"بث":134971,"ĠÑĨенÑĭ":134972,"Ġ×ij×ª×ľ":134973,"è¨ĢãĤıãĤĮ":134974,"ĠاÙĦÙħجاÙĦ":134975,"ĠìĦ¸ìĥģ":134976,"Ġ×Ĵ×ķפ":134977,"ĠнаÑĪей":134978,"ĠкомпаниÑı":134979,"бин":134980,"ölü":134981,"×Ļ×Ļ×ĺ":134982,"Ġ×ŀספ×Ļ×§":134983,"ยัà¸ĩà¸Ħà¸ĩ":134984,"ĠЧи":134985,"ĠанÑĤи":134986,"ĠÑģÑĢеди":134987,"สà¹Īวà¸Ļà¹ĥหà¸įà¹Ī":134988,"оÑĩка":134989,"íĬ¹ë³Ħ":134990,"วà¹Īาà¸ĩ":134991,"гоÑĢод":134992,"باÙĥ":134993,"à¹Ģสีà¹Īย":134994,"à¹Ģสีà¹Īยà¸ĩ":134995,"ãĤĤãĤīãģĦ":134996,"×§×ķ×Ŀ":134997,"ãģĽãģļ":134998,"ĠاÙĦÙĤاÙĩرة":134999,"Ġ×ij׼×ļ":135000,"ÙħشارÙĬع":135001,"باØŃØ«":135002,"ĠпоÑĩ":135003,"ĠпоÑĩÑĤи":135004,"ĠÑĦоÑĢма":135005,"Sİ":135006,"Ġ×ŀצ×Ļ×¢":135007,"ลื":135008,"ลืม":135009,"ĠÑĤеÑĢ":135010,"ĠÑĤеÑĢÑĢиÑĤоÑĢ":135011,"ĠÑĤеÑĢÑĢиÑĤоÑĢии":135012,"ĠвмеÑģÑĤ":135013,"ĠвмеÑģÑĤе":135014,"dıkları":135015,"opération":135016,"à¹Ĥห":135017,"صدÙĬ":135018,"صدÙĬÙĤ":135019,"íĸīìłķ":135020,"تجا":135021,"تجاÙĪØ²":135022,"Ġsuç":135023,"Ġarty":135024,"Ġartyku":135025,"ĠartykuÅĤ":135026,"ãĤ·ãĥ§ãĥĥãĥĹ":135027,"שפ":135028,"שפ×Ļ×¢":135029,"Ġ×Ķש×Ļר×ķת":135030,"à¹ģà¸ĸม":135031,"ë¸Ķ":135032,"ĠukÅĤad":135033,"Ġ×ķ׼×Ļ":135034,"หลาà¸ģ":135035,"หลาà¸ģหลาย":135036,"æĸ¹ãĤĤ":135037,"Ġpodróż":135038,"ĠEÄŁer":135039,"ĠкомнаÑĤ":135040,"ĠÑģамÑĭÑħ":135041,"ĠвкÑĥÑģ":135042,"беж":135043,"Ġ×ij×§×ķ":135044,"æİĽãģij":135045,"ãģ¿ãĤĭãģ¨":135046,"ĠiliÅŁkin":135047,"ĠÙĬعÙħÙĦ":135048,"ĠподаÑĢ":135049,"Ġyazılı":135050,"ãĤĴå¾Ĺ":135051,"ĠwystÄĻp":135052,"à¸Ĺีà¹Īà¹ĥà¸Ĭà¹ī":135053,"ØŃادث":135054,"ÙĪÙĬد":135055,"кÑĥлÑĮÑĤ":135056,"кÑĥлÑĮÑĤÑĥÑĢ":135057,"à¸ģารà¹ģà¸Ĥà¹Īà¸ĩ":135058,"à¸ģารà¹ģà¸Ĥà¹Īà¸ĩà¸Ĥ":135059,"à¸ģารà¹ģà¸Ĥà¹Īà¸ĩà¸Ĥัà¸Ļ":135060,"ÙħÙĪØ¸":135061,"ÙħÙĪØ¸Ùģ":135062,"ÙĬÙħÙĬ":135063,"ãĤĵãģ§ãģĻãģĮ":135064,"diÄŁim":135065,"diÄŁimiz":135066,"ĠÐŁÐµÑĢ":135067,"ĠÐŁÐµÑĢв":135068,"Ġmão":135069,"ĠÑģез":135070,"ĠÑģезон":135071,"Ġ×Ķ×ŀ×¢":135072,"ÙħجÙħÙĪØ¹Ø©":135073,"ĠинÑĦоÑĢмаÑĨии":135074,"iếc":135075,"ãng":135076,"ĠÄijấy":135077,"ãģĶç´":135078,"ãģĶç´¹":135079,"ãģĶç´¹ä»ĭ":135080,"Ġadım":135081,"à¹Ħหล":135082,"ĠпÑĢакÑĤи":135083,"ĠпÑĢакÑĤиÑĩ":135084,"ĠпÑĢакÑĤиÑĩеÑģ":135085,"ĠпÑĢакÑĤиÑĩеÑģки":135086,"ĠاÙĦÙĨÙ쨳":135087,"ĠÑĢабоÑĤе":135088,"ÙĦÙĬÙģ":135089,"ĠاÙĦجÙĨÙĪØ¨":135090,"ĠводÑĭ":135091,"ì¹Ļ":135092,"ĠмиÑĢа":135093,"ĠÄijừng":135094,"ĠпÑĢоÑĤиво":135095,"ĠÑģÑĤÑĢанÑĭ":135096,"ลู":135097,"ìĤ¶":135098,"kreÅĽl":135099,"Ġbulund":135100,"ĠbulunduÄŁu":135101,"à¹ģสà¸Ļ":135102,"ãĤ±ãĤ¢":135103,"ת×Ĺ×ķ×ŀ×Ļ":135104,"ר׼×Ķ":135105,"Ġ׾ק×ķ×Ĺ":135106,"Ġ׾ק×ķ×Ĺ×ķת":135107,"Ġ×Ľ×ª×ķ×ijת":135108,"ĠÙĦÙĥÙħ":135109,"بشر":135110,"ĠrÃłng":135111,"Ġ×ŀ×Ķ×ŀ":135112,"Ġ×IJ×Ĺר×ķת":135113,"Ġбон":135114,"ĠбонÑĥÑģ":135115,"ï½Ĺ":135116,"à¹ģยà¸ģ":135117,"ãģĤãģªãģŁãģ®":135118,"ĠÑĥÑĩаÑģÑĤие":135119,"ĠEyl":135120,"ĠEylül":135121,"ĠçalÄ±ÅŁmaları":135122,"خطر":135123,"ìĿ½":135124,"à¸ģารà¹ĥà¸Ĭà¹īà¸ĩาà¸Ļ":135125,"Ġанализ":135126,"תק×ij׾":135127,"нием":135128,"Ġİns":135129,"Ġİnsan":135130,"ĠبÙĪØ§Ø³":135131,"ĠبÙĪØ§Ø³Ø·Ø©":135132,"Ġ×ł×Ľ×ł×¡":135133,"Ġ×Ķ×ŀ×Ļ×ĵ×¢":135134,"Ġço":135135,"ĠçoÄŁu":135136,"á»ĺ":135137,"ĠêµŃ민":135138,"ãĤĤãģĦãģĦ":135139,"Ġ׼׾×Ļ":135140,"ĠÑģÑĢедне":135141,"gÅĤo":135142,"gÅĤoÅĽ":135143,"Ġnegó":135144,"Ġnegócio":135145,"ĠÑĢегиÑģÑĤ":135146,"ĠÑĢегиÑģÑĤÑĢа":135147,"ĠÑĢегиÑģÑĤÑĢаÑĨии":135148,"Ġtrá»ĵng":135149,"ĠпÑĢÑı":135150,"ĠпÑĢÑıмо":135151,"ëłĪìĿ´":135152,"Ġkém":135153,"кле":135154,"à¸Ļำมา":135155,"ĠÑĦин":135156,"ĠÑĦинанÑģ":135157,"ĠÑĦинанÑģов":135158,"Ġkiá»ĩm":135159,"ยัà¸ĩà¹Ħ":135160,"ยัà¸ĩà¹Ħà¸ĩ":135161,"ยิà¸ĩ":135162,"à¹Ĥà¸Ľ":135163,"ĠполÑĥÑĩил":135164,"×Ļ×ĸ×Ŀ":135165,"à¹ģละà¸Ħวาม":135166,"ĠвообÑīе":135167,"صÙĬر":135168,"ãĥıãĥ³":135169,"ĠاÙĦÙĤاد":135170,"ĠاÙĦÙĤادÙħ":135171,"ĠبدÙĪÙĨ":135172,"عظÙħ":135173,"×ª×ł×ķ×¢":135174,"×ª×ł×ķ×¢×Ķ":135175,"Ø£ÙħÙĦ":135176,"ãģķãģĪ":135177,"ÑĤем":135178,"ÑĤемпеÑĢ":135179,"ÑĤемпеÑĢаÑĤÑĥÑĢ":135180,"Ġ׾×Ļצ×ķר":135181,"ĠrÄĻk":135182,"رسÙĦ":135183,"ìŀIJ를":135184,"Ġ×Ļצ×Ļרת":135185,"ÙĨبÙĬ":135186,"ÑĩнаÑı":135187,"تØŃÙĦÙĬÙĦ":135188,"Ġмик":135189,"ĠмикÑĢо":135190,"ĠSöz":135191,"Ġforça":135192,"Ñģон":135193,"ĠاÙĦعرا":135194,"ĠاÙĦعراÙĤÙĬ":135195,"ĠHá»ĵng":135196,"ãģĻãĤĭãģŁãĤģãģ«":135197,"à¸Ĺีà¹Īà¸Ńยูà¹Ī":135198,"Ġ×ķ×IJ×£":135199,"صÙĬد":135200,"ĠìķĬê³ł":135201,"รัà¸ĩ":135202,"ĠاÙĦتÙĪØ§ØµÙĦ":135203,"à¹Ģมà¸ķร":135204,"ÑĥÑģÑĤÑĢой":135205,"ÑĥÑģÑĤÑĢойÑģÑĤв":135206,"mıyor":135207,"ĠباسÙħ":135208,"Ġ×ķ׼×ķ":135209,"ĠGül":135210,"á»IJ":135211,"Ãītat":135212,"غاÙĦ":135213,"Ø¥ÙĨØ´":135214,"Ø¥ÙĨشاء":135215,"Tİ":135216,"à¸Ĥà¹īาม":135217,"Ġtroch":135218,"ĠtrochÄĻ":135219,"إص":135220,"إصابة":135221,"ĠثاÙĨÙĬ":135222,"ĠاÙĦصØŃØ©":135223,"Ġ×ĸ×Ķ×ķ":135224,"jÄħcej":135225,"ãĥĢãĥ³":135226,"ìĿ¸ìĿ´":135227,"ĠволоÑģ":135228,"ëIJĺë©´":135229,"ĠzakÅĤad":135230,"ãģĻãģĵãģ¨":135231,"以ä¸Ĭãģ®":135232,"Ġ×Ķ×ŀ×§×ķ×Ŀ":135233,"ÙħشاÙĩ":135234,"ÙħشاÙĩدة":135235,"Ñĩив":135236,"بش":135237,"ยà¹īาย":135238,"Ġsürdür":135239,"ĠNẵ":135240,"ĠNẵng":135241,"ĠигÑĢаÑĤÑĮ":135242,"Ġê·¸ëŁ¬ë©´":135243,"ãĥķãĥ«":135244,"ลà¹Īะ":135245,"Ġtendrá":135246,"ĠbÃły":135247,"à¹Ģà¸Ľà¹ĩà¸Ļà¸ľà¸¹à¹ī":135248,"Ġoko":135249,"ĠokoÅĤo":135250,"wÅĤa":135251,"wÅĤaÅĽci":135252,"wÅĤaÅĽciw":135253,"æĢĿãĤı":135254,"ĠYaÅŁ":135255,"ĠBá»ĩnh":135256,"íıŃ":135257,"بÙĬد":135258,"קרף":135259,"à¹Ģศร":135260,"à¹Ģศรษ":135261,"à¹Ģศรษà¸IJ":135262,"à¹Ģศรษà¸IJà¸ģิà¸Ī":135263,"ĠاÙĦØ£ÙĪØ±ÙĪ":135264,"ĠاÙĦØ£ÙĪØ±ÙĪØ¨ÙĬ":135265,"fläche":135266,"ä¹ĹãĤĬ":135267,"Ġbá»ģn":135268,"Ùĩب":135269,"æľĢãĤĤ":135270,"Ġsaç":135271,"à¸Ńำà¹Ģà¸ł":135272,"à¸Ńำà¹Ģà¸łà¸Ń":135273,"Ġأج":135274,"ĠاÙĦداخÙĦ":135275,"ĠاÙĦداخÙĦÙĬØ©":135276,"×ĺ×ķ×ij":135277,"ãĤĤãģªãģı":135278,"ĠлиÑĨа":135279,"à¹ģลà¹īวà¸ģà¹ĩ":135280,"×ĸ׼×Ļר":135281,"ĠquÃł":135282,"ĠÙĥذÙĦÙĥ":135283,"صØŃÙģ":135284,"ĠÃĤu":135285,"ÙĪØ¨Ø§":135286,"à¹Ģà¸Ľà¸¥à¸µà¹Īยà¸Ļà¹ģà¸Ľà¸¥":135287,"à¹Ģà¸Ľà¸¥à¸µà¹Īยà¸Ļà¹ģà¸Ľà¸¥à¸ĩ":135288,"à¸ķัวà¸Ńยà¹Īาà¸ĩ":135289,"Ġrápida":135290,"Ġtasar":135291,"Ġtasarım":135292,"ĠعÙĦÙĬÙĩÙħ":135293,"ס×ķ׾":135294,"cılı":135295,"cılık":135296,"ĠرغÙħ":135297,"ìĭľíĤ¤":135298,"Ġ×IJ׾ק":135299,"Ġ×IJ׾ק×ĺר":135300,"Ġ×IJ׾ק×ĺר×ķ׳×Ļ":135301,"à¹ģà¸ļà¹Īà¸ĩ":135302,"Ġhạng":135303,"ãģ£ãģ¦ãģıãĤĮ":135304,"ĠÙĨتÙĬ":135305,"ĠÙĨتÙĬجة":135306,"ıklı":135307,"غاÙĨ":135308,"à¸Ĥà¹īà¸Ńà¸Ħวาม":135309,"à¸Ľà¸¥à¸²à¸¢":135310,"ĠØ£Ùħس":135311,"à¸Ĺีà¹Īà¹Ģà¸ģีà¹Īยว":135312,"à¸Ĺีà¹Īà¹Ģà¸ģีà¹Īยวà¸Ĥ":135313,"à¸Ĺีà¹Īà¹Ģà¸ģีà¹Īยวà¸Ĥà¹īà¸Ńà¸ĩ":135314,"Ġdéfin":135315,"Ġdéfini":135316,"ÙģÙĨاد":135317,"ÙģÙĨادÙĤ":135318,"à¹Ħà¸Ķà¹īวà¹Īา":135319,"ãģªãģĦãĤĪãģĨãģ«":135320,"Ġprópria":135321,"ĠPhát":135322,"ãĤĦãģĻãģı":135323,"สวยà¸ĩาม":135324,"ê³łìļĶ":135325,"ÑıеÑĤ":135326,"ãģĭãĤĤãģĹãĤĮãģ¾ãģĽãĤĵãģĮ":135327,"ترجÙħ":135328,"ĠкÑĢаÑģив":135329,"Ġ×ŀר×IJש":135330,"деж":135331,"ĠÙĬÙĪÙĨ":135332,"ĠÙĬÙĪÙĨÙĬÙĪ":135333,"ÑģкоÑĢ":135334,"ĠKasım":135335,"ê³Ħìķ½":135336,"коÑģ":135337,"ĠнаÑĢÑĥ":135338,"ĠнаÑĢÑĥÑĪен":135339,"Ġduże":135340,"accès":135341,"Ġhá»ĵng":135342,"ĠvÅ©":135343,"ãģĦãģŁãģĹãģ¾ãģĻ":135344,"Ġ×ĺ×Ļ":135345,"Ġ×ĺ×Ļ×ķ׾":135346,"lıkları":135347,"Ġquê":135348,"ëħ¸ëıĻ":135349,"ìķĶ":135350,"CIÃĵN":135351,"Ġtắc":135352,"pressão":135353,"ĠìŀĪìľ¼":135354,"สิà¸Ĺà¸ĺิà¹Į":135355,"íĥĦ":135356,"Ġ×Ķ×ŀ×ŀש׾×Ķ":135357,"å¬īãģĹãģĦ":135358,"ĠÄIJặc":135359,"ÙĨزÙĦ":135360,"ĠдÑĢÑĥгой":135361,"дÑĥÑĤ":135362,"ìĪĻ":135363,"Ġthụ":135364,"à¹Ģสร":135365,"à¹Ģสรà¹ĩ":135366,"à¹Ģสรà¹ĩà¸Ī":135367,"Ġtoplant":135368,"Ġtoplantı":135369,"×IJ×ŀף":135370,"×ķ×ľ×ª":135371,"помн":135372,"ĠyoÄŁun":135373,"ÅĦskiego":135374,"ì°©":135375,"ĠØ«ÙĦاث":135376,"ĠØ«ÙĦاثة":135377,"Ġlắng":135378,"릴":135379,"ราà¸Ĭà¸ģาร":135380,"ĠÑģлова":135381,"á»Ĩ":135382,"à¸Ķีà¸ģวà¹Īา":135383,"ãģĶãģĸãģĦãģ¾ãģĻ":135384,"Ġдиз":135385,"Ġдизайн":135386,"férence":135387,"lıklar":135388,"ãģªãĤĵãģ§ãģĻ":135389,"ajÄħcy":135390,"Ġëĭ¤ìĸij":135391,"Ġëĭ¤ìĸijíķľ":135392,"×§×Ļר":135393,"ØŃار":135394,"สูà¹ī":135395,"Ġzro":135396,"Ġzrobi":135397,"ĠzrobiÄĩ":135398,"×ŀ×Ļ׼×Ķ":135399,"à¸Ĭà¹Īวยà¹Ģหลืà¸Ń":135400,"ĠÑįÑĤÑĥ":135401,"ë´ī":135402,"楽ãģĹãģĦ":135403,"سÙĪØ±":135404,"íķĺê±°ëĤĺ":135405,"ÙħؤتÙħر":135406,"ĠpoczÄħ":135407,"ĠpoczÄħtk":135408,"ĠpoczÄħtku":135409,"ĠعربÙĬ":135410,"اÙĦأر":135411,"اÙĦأردÙĨ":135412,"à¸Ķร":135413,"Åĵuvre":135414,"ĠÙĪÙĥاÙĨت":135415,"ĠÅĽredni":135416,"خضر":135417,"Ġchuyến":135418,"нÑĤ":135419,"ĠìķĮê³ł":135420,"Ġvá»Ŀi":135421,"Ġ×ij×Ļ×ĵ×Ļ":135422,"×ŀ×ĵ×ķ×ijר":135423,"ÙĪÙ쨱":135424,"ÙĬØ¡":135425,"×ł×Ľ×¡":135426,"ĠÐĽÐ°":135427,"лон":135428,"Ġxấu":135429,"ÙģÙĬÙĨ":135430,"Ġfévrier":135431,"ĠÐŀна":135432,"ĠVá»ģ":135433,"ĠÅŁeyler":135434,"ĠполÑĥÑĩен":135435,"зад":135436,"Ġnét":135437,"à¹Ħà¸Ľà¸¢à¸±à¸ĩ":135438,"×Ĺש×ij×ķ":135439,"à¸ļัà¸Ļà¸Ĺ":135440,"à¸ļัà¸Ļà¸Ĺึà¸ģ":135441,"ĠgerçekleÅŁ":135442,"иÑĩеÑģкое":135443,"ìĪĺê°Ģ":135444,"ثبت":135445,"ãģ¤ãģ¾ãĤĬ":135446,"ĠÑĥÑģловиÑıÑħ":135447,"ëĭ¤ê°Ģ":135448,"รายà¹Ħà¸Ķà¹ī":135449,"׼×IJ×ij":135450,"à¹Ĥà¸Ľà¸£à¹Ĥม":135451,"à¹Ĥà¸Ľà¸£à¹Ĥมà¸Ĭัà¹Īà¸Ļ":135452,"jähr":135453,"jährige":135454,"ק׳×Ļ×Ŀ":135455,"×ŀ×ķ×§":135456,"×ŀ×ķ×§×ĵ":135457,"ãģ«è¡Įãģ£ãģ¦":135458,"Ø¢ÙĦ":135459,"ведение":135460,"Ġ×ľ×Ľ×ª×ķ×ij":135461,"جÙħÙĩ":135462,"جÙħÙĩÙĪØ±ÙĬØ©":135463,"à¸īà¸ļ":135464,"à¸īà¸ļัà¸ļ":135465,"ĠCòn":135466,"à¸ľà¸ªà¸¡":135467,"ãģªãģ©ãģĮ":135468,"×IJ×Ķ×ij":135469,"ĠдейÑģÑĤвиÑı":135470,"yız":135471,"à¹Ħมà¹Īà¹Ģà¸Ħย":135472,"جÙĪØ²":135473,"×Ķ×Ĺ׾×ĺ×Ķ":135474,"fällt":135475,"ãĥĵãĤ¸":135476,"ãĥĵãĤ¸ãĥį":135477,"ãĥĵãĤ¸ãĥįãĤ¹":135478,"Ġ×IJ×Ļ׳×Ŀ":135479,"ĠнаÑħодиÑĤÑģÑı":135480,"ĠdziÅĽ":135481,"ستطÙĬع":135482,"׾×Ļף":135483,"Ø®ÙĦاÙģ":135484,"ÙĩÙIJ":135485,"Ġatrás":135486,"íĺģ":135487,"ãĤĴãģĶ":135488,"Ġ×Ķ×ŀ×ķצר":135489,"ĠBakanlıģı":135490,"ÑİÑīее":135491,"ÙħÙĨاط":135492,"ÙħÙĨاطÙĤ":135493,"Ù쨝":135494,"à¸Ļำà¹Ħà¸Ľ":135495,"Ġваж":135496,"Ġважно":135497,"Ġmạch":135498,"׼׳×ķ":135499,"بعث":135500,"lanması":135501,"Ġayr":135502,"Ġayrıl":135503,"ìĤ¬íļĮ":135504,"dÃŃa":135505,"pÅĤyw":135506,"اÙħÙĬØ©":135507,"íĺľ":135508,"×IJ׳×Ĵ׾":135509,"×IJ׳×Ĵ׾×Ļת":135510,"ĠìŀĪëĭ¤ëĬĶ":135511,"Ġساعة":135512,"ĠëĤĺíĥĢ":135513,"bö":135514,"à¸Ħัà¸Ļ":135515,"ĠdziaÅĤania":135516,"Ø©Ùĭ":135517,"ĠngÅ©":135518,"׳צ×Ĺ":135519,"ãģ¯ãģĤãĤĭ":135520,"ĠyaÅŁÄ±nda":135521,"stück":135522,"caracter":135523,"caracterÃŃsticas":135524,"Ġrá»Ńa":135525,"ĠÙħختÙĦÙ쨩":135526,"ãģ«ãģĬãģijãĤĭ":135527,"à¹ģà¸ŀà¸ĩ":135528,"วิà¹Īà¸ĩ":135529,"תפ×ķ":135530,"ساÙĩÙħ":135531,"使ãģĨ":135532,"ÙĥرÙĬ":135533,"×IJפ×Ļ":135534,"...............":135535,"ĠÑĤаким":135536,"×Ļ׼×ķ×Ļ":135537,"شبÙĩ":135538,"جÙĬر":135539,"ãģĿãģ®ãģ¾ãģ¾":135540,"acjÄĻ":135541,"ĠاÙĦترÙĥ":135542,"ĠاÙĦترÙĥÙĬ":135543,"ĠпÑĢавилÑĮно":135544,"ĠتعÙħÙĦ":135545,"à¸ģลà¹īา":135546,"Ġbiên":135547,"Ġ×ij׳×Ļ×Ļת":135548,"ĠклÑĥб":135549,"Ġ×ŀש×Ķ":135550,"вÑĪий":135551,"ãģĵãģ¨ãģĮãģ§ãģįãĤĭ":135552,"à¸ŀัà¸Ļà¸ĺุ":135553,"à¸ŀัà¸Ļà¸ĺุà¹Į":135554,"ר×ķ×Ŀ":135555,"ĠاÙĦÙ쨱ÙĨ":135556,"ĠاÙĦÙ쨱ÙĨسÙĬ":135557,"à¹Ģà¸Ľà¹ĩà¸Ļà¸Ħà¸Ļ":135558,"ãģĹãģ¦ãģĬãĤĬ":135559,"Ġthầy":135560,"ãĤĵãģłãģijãģ©":135561,"ì͍":135562,"ÙħدÙĨ":135563,"تÙĪÙĨ":135564,"ĠмеÑĤал":135565,"ĠмеÑĤалл":135566,"ĠinÃŃcio":135567,"à¸Ńà¸Ńà¸ģà¸Īาà¸ģ":135568,"ëĴ¤":135569,"Ġcuá»ijn":135570,"Ġbuá»Ļc":135571,"ÙĨسÙĬ":135572,"ächt":135573,"×ŀ×Ļ׳×Ļ×Ŀ":135574,"ãģķãģ¦":135575,"ãģĮãģ§ãģį":135576,"ÑĬем":135577,"Ġtái":135578,"ĠЧÑĤ":135579,"ĠЧÑĤобÑĭ":135580,"à¸Ľà¸¥à¸¹à¸ģ":135581,"à¸Ĭุมà¸Ĭà¸Ļ":135582,"нÑģкий":135583,"Ġvững":135584,"Ġ×Ķ׾×ij":135585,"ële":135586,"Ġשע×ijר":135587,"ваÑĤÑĮÑģÑı":135588,"бой":135589,"عÙĪÙĨ":135590,"à¹ģà¸Ķà¸Ļ":135591,"Ġספר×Ļ×Ŀ":135592,"Ġtuyên":135593,"Ġnhiêu":135594,"ĠQuý":135595,"Ġhuyết":135596,"ãĤıãģĭãĤīãģªãģĦ":135597,"Ġ×ŀ׼ף":135598,"Ġ×Ķק׾":135599,"Ġ׾×IJ×ķר":135600,"ĠÄIJiá»ĩn":135601,"شؤ":135602,"شؤÙĪÙĨ":135603,"Ġ×ŀ×Ĺפש":135604,"ĠпоÑģÑĤоÑıнно":135605,"×ŀ×Ļר":135606,"ìħĶ":135607,"ÐŀÑģ":135608,"ÐŀÑģнов":135609,"×ĸ×Ļת":135610,"ĠHá":135611,"ĠÑĩаÑģов":135612,"×IJ×ķ׾×Ļ":135613,"Ġmát":135614,"خرÙĪ":135615,"خرÙĪØ¬":135616,"ÙĤضا":135617,"ÙĤضاÙĬا":135618,"à¹Ģà¸Ľà¸Ńรà¹Į":135619,"ĠÙĬÙĪÙĦ":135620,"ĠÙĬÙĪÙĦÙĬÙĪ":135621,"à¹Ĥà¸Ĺษ":135622,"׳פ׾":135623,"ת×ķש":135624,"ת×ķש×ij×Ļ":135625,"Ġvários":135626,"×ŀר×IJ×Ķ":135627,"ëĿ¼ìĿ´":135628,"ÙĨغ":135629,"×ijצע":135630,"гон":135631,"ĠÄIJược":135632,"عÙı":135633,"пÑĥÑģк":135634,"ĠÙĪØ§ÙĦÙģ":135635,"ücü":135636,"×Ļ×§×Ļ×Ŀ":135637,"ĠسبÙĬÙĦ":135638,"׾×ijף":135639,"ĠاÙĦÙĤرÙĨ":135640,"ס×ķת":135641,"ĠQuáºŃn":135642,"ãģĵãĤĮãģĮ":135643,"ãĥĸãĥ©ãĥ³ãĥī":135644,"×Ĵ×ŀר":135645,"ĠwartoÅĽci":135646,"ĠÙĪØ¨ÙĬÙĨ":135647,"Ġdạ":135648,"ÐIJв":135649,"ÐIJвÑĤо":135650,"Ġolacaktır":135651,"à¸Ļà¸Ĺà¹Į":135652,"Ùħطار":135653,"Ġ×¢×§×ij":135654,"Ġתפ":135655,"ãģĹãģ¦ãģĦãģ¦":135656,"צ×ŀ×Ĺ":135657,"à¸Īà¸Ńà¸ĩ":135658,"Ġöde":135659,"ìį¨":135660,"ÙĨاس":135661,"調ãģ¹":135662,"ĠогÑĢомн":135663,"ë³´íĹĺ":135664,"×ĺ×§":135665,"×ĺקס×ĺ":135666,"ĠbaÅŁv":135667,"ĠbaÅŁvuru":135668,"Ġpomys":135669,"ĠpomysÅĤ":135670,"ãģ«ä¹Ĺ":135671,"Ġש׼ף":135672,"ĠاÙĦÙħسؤÙĪÙĦ":135673,"Ġзан":135674,"ĠзанÑıÑĤ":135675,"Ġdương":135676,"ãĥĹãĥ¬ãĤ¤":135677,"ลà¸ļ":135678,"ÑĤика":135679,"ĠAralık":135680,"Ġнедо":135681,"Ġmá»Ļ":135682,"Ġoran":135683,"Ġoranı":135684,"Ġktór":135685,"ĠktórÄħ":135686,"Ġ×Ķ×IJ×Ĺר×ķ׳×ķת":135687,"ائÙĨ":135688,"ÅĦs":135689,"ÅĦska":135690,"åĽ½ãģ®":135691,"×ŀ×ĺ×Ļ":135692,"ĠвопÑĢоÑģÑĭ":135693,"à¸Ńà¸ĩà¸Ħà¹Įà¸ģร":135694,"×ŀ×ķצ×IJ":135695,"Ġpóź":135696,"Ġpóźniej":135697,"ש×ŀ×IJ׾":135698,"Ġkaps":135699,"Ġkapsam":135700,"Ġkapsamında":135701,"Ġmáquina":135702,"ĠÅĽwiecie":135703,"ĠhoÃłng":135704,"Ġözgü":135705,"×Ĵ×ķר×Ŀ":135706,"ãģĤãģŁãĤĬ":135707,"à¸ķัà¸Ķสิà¸Ļ":135708,"à¸ķัà¸Ķสิà¸Ļà¹ĥà¸Ī":135709,"бÑĢи":135710,"ãģ«ãģªãĤĭãģ¨":135711,"تÙĥÙĪÙĨ":135712,"Ġ×ķ×Ķ×Ļ×IJ":135713,"Ġchiếu":135714,"ÑģÑĤанав":135715,"ÑģÑĤанавли":135716,"ÑģÑĤанавлива":135717,"×ŀ×ķ×Ĵ":135718,"cité":135719,"ĠKörper":135720,"Ġש×Ĵ×Ŀ":135721,"عظ":135722,"عظÙĬÙħ":135723,"Ġ×Ķ×IJ×Ļש×Ļ":135724,"Ġmatière":135725,"ĠÙģÙĪÙĤ":135726,"Ġkto":135727,"ĠktoÅĽ":135728,"à¸Ļà¹Ĥย":135729,"à¸Ļà¹Ĥยà¸ļาย":135730,"å¾ħãģ¡":135731,"à¹Ģมà¸Ļ":135732,"à¹Ģมà¸Ļู":135733,"AÃĩÃĥO":135734,"Ġtù":135735,"Ġtùy":135736,"ãĥĪãĥ³":135737,"ĠоÑĤказ":135738,"Ġ×ŀ×ķצר":135739,"ülü":135740,"ãģķãĤĵãģ«":135741,"Ġ×Ĺ×ķ×ij":135742,"קר×Ļ×IJ×Ķ":135743,"ĠاÙĦخدÙħات":135744,"ĠÙĦÙħدة":135745,"رؤ":135746,"رؤÙĬØ©":135747,"ãĤĴè¦ĭãģ¤ãģij":135748,"à¸Łà¸²":135749,"Ġréussi":135750,"à¸Ļัà¸ģà¹Ģรียà¸Ļ":135751,"ĠÑĩиÑģл":135752,"à¸ģารà¹Ģลà¹Īà¸Ļ":135753,"Ġhazırl":135754,"Ġhazırlan":135755,"ĠпеÑĢвÑĭй":135756,"лим":135757,"ĠоÑĤзÑĭвÑĭ":135758,"ĠwyjÄħ":135759,"ĠwyjÄħtk":135760,"ĠØ£ÙĤÙĦ":135761,"ס×ļ":135762,"Ġê²°ìłķ":135763,"Ġ׾×ŀעש×Ķ":135764,"Ġlắp":135765,"à¹ģà¸ļร":135766,"à¹ģà¸ļรà¸Ļà¸Ķà¹Į":135767,"วà¹Īาà¹Ģà¸Ľà¹ĩà¸Ļ":135768,"Ġبدا":135769,"ĠبداÙĬØ©":135770,"ãģ¨ãģĦãģĨãģ®ãģĮ":135771,"иÑĩеÑģким":135772,"à¸ģารà¸ŀัà¸Ĵà¸Ļา":135773,"ĠbÃło":135774,"ĠmiaÅĤa":135775,"ywaÄĩ":135776,"ĠMärz":135777,"ĠÙĨسبة":135778,"Ġéconomique":135779,"×ĸ×ŀ":135780,"×ĸ×ŀ׳×Ļ×Ŀ":135781,"æŃ¢ãĤģ":135782,"Ġtá»§":135783,"íķĺìĭł":135784,"Ġkażdego":135785,"straÃŁe":135786,"à¸Ĭีà¹ī":135787,"à¹Ģà¸ļา":135788,"ÑĢеÑģÑĥÑĢÑģ":135789,"евой":135790,"شباب":135791,"à¸ķà¹Īาà¸ĩà¸Ľà¸£à¸°à¹Ģà¸Ĺศ":135792,"Ġ×IJ×Ļש":135793,"Ġ×IJ×Ļש×Ļת":135794,"×Ļ×ķפ":135795,"×Ļ×ķפ×Ļ":135796,"ĠìļĶ구":135797,"ì¡°ìĤ¬":135798,"ãģ£ãģŁãĤī":135799,"׾×Ļ×§":135800,"миниÑģÑĤÑĢ":135801,"ãĤĤãģ®ãģ¯":135802,"Ġlương":135803,"Ġнаи":135804,"Ġнаибол":135805,"Ġнаиболее":135806,"íİĺ":135807,"à¹ģà¸ŀà¹ī":135808,"ãĤŃãĥ¥":135809,"ĠкоÑĤоÑĢÑĭм":135810,"à¹ģà¸Ĺà¸ĩ":135811,"à¹ģà¸Ĺà¸ĩà¸ļà¸Ńล":135812,"Ġ׳×Ļ×Ķ":135813,"Ġ׳×Ļ×Ķ×ķ׾":135814,"âĤª":135815,"ĠGiải":135816,"ĠиÑģполÑĮзова":135817,"ëł¥ìĿĦ":135818,"ãģĹãģĭãĤĤ":135819,"à¸ģà¹ĩà¸ķà¹īà¸Ńà¸ĩ":135820,"ĠÑĢеб":135821,"ĠÑĢебен":135822,"ĠÑĢебенка":135823,"تÙĪØ§ØµÙĦ":135824,"ãĤ°ãĥ«ãĥ¼ãĥĹ":135825,"ãĤĦãĤī":135826,"à¹Ģà¸Ľà¸´à¸Ķà¸ķัว":135827,"бÑĢо":135828,"ë°ĸìĹIJ":135829,"ÙĨÙİØ§":135830,"×Ķ×Ĵ":135831,"×Ķ×Ĵ׳×Ķ":135832,"à¸Ĺรั":135833,"à¸Ĺรัà¸ŀ":135834,"à¸Ĺรัà¸ŀยà¹Į":135835,"Ġkhá»iji":135836,"עצ×ŀ×ķ":135837,"болезн":135838,"Ġë°ĽìķĦ":135839,"มà¸Ļ":135840,"มà¸Ļุ":135841,"มà¸Ļุษ":135842,"มà¸Ļุษยà¹Į":135843,"âĹĨ":135844,"×ŀצ׾×Ļ×Ĺ":135845,"Ñıвление":135846,"ÙħØ·ÙĦ":135847,"ÙħØ·ÙĦÙĪØ¨":135848,"خاÙĦÙģ":135849,"تÙĪÙĤÙģ":135850,"ãģ§ãģįãģ¾ãģĽãĤĵ":135851,"оÑģÑĤей":135852,"меÑĩа":135853,"기ëĬĶ":135854,"תשע":135855,"صÙĬب":135856,"Ġ×ij×¢×ķ×ĵ":135857,"à¸Ĥà¸Ńà¸ĩà¹Ģà¸Ĥา":135858,"ÑĤÑıж":135859,"ĠÑĥпÑĢав":135860,"ĠÑĥпÑĢавлениÑı":135861,"Ġgénér":135862,"ĠthÃŃ":135863,"פ×ļ":135864,"ĠرÙħض":135865,"ĠرÙħضاÙĨ":135866,"Ġtruyá»ĩn":135867,"إعداد":135868,"ãĤµãĥĿãĥ¼ãĥĪ":135869,"Ġполно":135870,"خاÙħ":135871,"ÐŁÐµÑĤ":135872,"ÐŁÐµÑĤеÑĢ":135873,"ÐŁÐµÑĤеÑĢбÑĥÑĢ":135874,"ÐŁÐµÑĤеÑĢбÑĥÑĢг":135875,"ÙħÙĨتدÙī":135876,"ãģķãĤĮãģ¾ãģĹãģŁ":135877,"ĠëĮĢíķĺìŬ":135878,"à¸ľà¸¹à¹īà¸Ĺีà¹Ī":135879,"Ġ×ŀ×IJ×ķ":135880,"׾׳×ĵ":135881,"оÑĩнÑĭе":135882,"ĠнаÑĩала":135883,"Ġ׾×Ļ׾×ĵ×Ļ×Ŀ":135884,"овое":135885,"ãģĻãĤĭãģĵãģ¨ãģ§":135886,"ĠاÙĦÙĨÙģ":135887,"ĠاÙĦÙĨÙ쨷":135888,"ìŀĪëĬĶ":135889,"غÙĨÙĬ":135890,"פ×ĵ":135891,"ãĤ¾":135892,"ĠCré":135893,"ãģ©ãģ¡ãĤī":135894,"ثاÙĨ":135895,"ÑĢабаÑĤ":135896,"ÑĢабаÑĤÑĭва":135897,"Ġê°Ļëĭ¤":135898,"à¸Īั":135899,"à¸Īัà¸ģร":135900,"Ġchụ":135901,"Ġchụp":135902,"ĠмаÑģÑĤ":135903,"ĠмаÑģÑĤеÑĢ":135904,"Ġnắm":135905,"ĠÑģÑĤали":135906,"Ġ×Ķ×IJ×Ļר×ķ×¢":135907,"ãĤ½ãĥ³":135908,"åĪĨãģĭãĤĬ":135909,"طبع":135910,"بدا":135911,"gráfico":135912,"геÑĢ":135913,"à¸Ķำà¹Ģà¸Ļิà¸Ļà¸ģาร":135914,"Ġsaldır":135915,"Ġsaldırı":135916,"вÑĪиÑħ":135917,"ãģĭãģ£ãģŁãģ§ãģĻ":135918,"Ġyapıyor":135919,"ĠاÙĦÙģØª":135920,"צרפת":135921,"здоÑĢов":135922,"×ij×¢×ľ":135923,"Ġ×IJ×ŀ×Ļת×Ļ":135924,"ĠобÑĭ":135925,"ĠобÑĭÑĩ":135926,"ĠобÑĭÑĩно":135927,"Ġ׾×ķ×ŀר":135928,"تÙĥÙĨ":135929,"تÙĥÙĨÙĪÙĦÙĪØ¬":135930,"تÙĥÙĨÙĪÙĦÙĪØ¬ÙĬا":135931,"Ġhakkı":135932,"ĠÑĢав":135933,"ĠÑĢавно":135934,"رÙĬÙĥ":135935,"Ġ×ij×ŀ×Ļ×ĵ":135936,"Ġ×ij×ŀ×Ļ×ĵ×Ķ":135937,"à¹ģà¸ģà¹īว":135938,"Ġìĸĺ":135939,"Ġìĸĺ기":135940,"ãģĹãģ¦ãģĦãģ¾ãģĹãģŁ":135941,"Ġkısm":135942,"Ġkısmı":135943,"걸":135944,"åĨħãģ®":135945,"ì§ķ":135946,"à¹Ģหมืà¸Ńà¸Ļà¸ģัà¸Ļ":135947,"ĠÙģÙIJ":135948,"ĠÙģÙIJÙĬ":135949,"ÙĤاعدة":135950,"Ġmożesz":135951,"ÙħصاÙĦ":135952,"ÙħصاÙĦØŃ":135953,"ãģ¾ãģŁãģ¯":135954,"бег":135955,"Ġsıc":135956,"Ġsıcak":135957,"ÑĩиÑģ":135958,"ÑĩиÑģлен":135959,"Ġног":135960,"ãĥģãĥ£ãĥ³":135961,"ãĥ«ãĥī":135962,"Ġgió":135963,"Ġsını":135964,"Ġsınıf":135965,"иваÑĤÑĮ":135966,"Ġquên":135967,"Ġìłģ":135968,"Ġìłģìļ©":135969,"ĠJoão":135970,"ÙģØ§Ø¯":135971,"ĠGlück":135972,"à¸Ĺà¸Ńà¸Ķ":135973,"Ġgói":135974,"ï¼Ĭ":135975,"Ġdétail":135976,"ĠدÙĬسÙħ":135977,"ĠدÙĬسÙħبر":135978,"ë¡ľìĦľ":135979,"×ŀ×ķ×Ĺ":135980,"à¹Ħฮ":135981,"ĠоÑĤд":135982,"ĠоÑĤдÑĭÑħ":135983,"Ġkhuyến":135984,"à¸Ħà¸Ńย":135985,"ĠجÙĨÙĬ":135986,"ĠجÙĨÙĬÙĩ":135987,"ĠاÙĦدÙģØ§Ø¹":135988,"à¸Ļà¹īำหà¸Ļัà¸ģ":135989,"ĠìĤ¬ëŀĮëĵ¤ìĿ´":135990,"Ġthừa":135991,"ĠÃ¶ÄŁrenci":135992,"ĠпомоÑīи":135993,"ĠczÄĻÅĽÄĩ":135994,"ש×ĺר":135995,"ĠNhi":135996,"ĠNhiá»ģu":135997,"׳צ×Ļ":135998,"ĠнаÑĪем":135999,"ĠkarÅŁÄ±laÅŁ":136000,"Ġ×Ķש׳×Ļ×Ŀ":136001,"ĠÄIJưá»Ŀng":136002,"Ġtrú":136003,"ĠÑĢазлиÑĩнÑĭÑħ":136004,"ĠاÙĦØ´Ùĩر":136005,"Ġ×ľ×¢×ķ׾×Ŀ":136006,"ØŃجر":136007,"ĠÄijá»ķ":136008,"ĠìĿĺíķ´":136009,"à¸ļà¹Īà¸Ńย":136010,"Ġ×Ķ×Ļ׾×ĵ":136011,"ãģ¨ãģªãģ£ãģŁ":136012,"Ġ×Ĺ×ķ×ķת":136013,"Ġש×Ļר×ķת×Ļ":136014,"Äħcy":136015,"سرÙĬ":136016,"Kİ":136017,"פ׳×ķ":136018,"ÑģÑĤÑĢÑĥкÑĤÑĥÑĢ":136019,"ÑĤÑĢÑĥд":136020,"Ġ×Ķקר":136021,"Ġ×Ķקר×ķ×ij":136022,"ĠtháºŃm":136023,"èģŀãģį":136024,"ÙĤÙĪÙĬ":136025,"клÑİÑĩен":136026,"ÑĤеÑħ":136027,"ÑĤеÑħнолог":136028,"è¡Įãģ£ãģŁ":136029,"Ġ×ķ×IJ×Ļף":136030,"ĠÅŁeklin":136031,"ĠÅŁeklinde":136032,"rô":136033,"ÑĢог":136034,"ĠновÑĭе":136035,"Ġס×ij×Ļ×ij":136036,"ĠtecnologÃŃa":136037,"×¡×Ľ":136038,"×¡×Ľ×ķ×Ŀ":136039,"ĠÅŀub":136040,"ĠÅŀubat":136041,"Ġ×Ķ×ŀ׾×IJ":136042,"Ġwypos":136043,"Ġwyposaż":136044,"ãģ¯ä½ķ":136045,"ãĤ¬ãĥ³":136046,"ê°ĸ":136047,"Ġкакие":136048,"Ġçocuklar":136049,"Ġ׾צ×ĵ":136050,"Ġkayıt":136051,"ĠмеÑģÑĤе":136052,"ÙħدÙĬÙĨØ©":136053,"Ġ׼×Ĵ":136054,"Ġ׼×Ĵ×ķף":136055,"ãģĹãģ¦ãĤĭ":136056,"ĠÙħاÙĬÙĪ":136057,"ãģ£ãģ¦ãģĹãģ¾ãģ£ãģŁ":136058,"ĠпÑĢогÑĢаммÑĭ":136059,"à¹ģลà¸Ļà¸Ķà¹Į":136060,"ãĥ¯ãĤ¤":136061,"ער×ķ×¥":136062,"Ñģид":136063,"ĠBöyle":136064,"Ġì²ĺìĿĮ":136065,"Ġתפק×Ļ×ĵ":136066,"ĠTrên":136067,"íĥĪ":136068,"ĠÐłÐ¾ÑģÑģий":136069,"ĠÐłÐ¾ÑģÑģийÑģкой":136070,"ĠsÃłn":136071,"Ġrègle":136072,"ĠyaklaÅŁÄ±k":136073,"à¹Ģลิà¸ģ":136074,"ĠدائÙħ":136075,"Ġ×ķ×Ĵ":136076,"ابر":136077,"Ġbè":136078,"ĠاÙĦÙĤدÙħ":136079,"ĠÑĢеÑĪениÑı":136080,"hiên":136081,"ÑĤик":136082,"ÄĦ":136083,"à¸ļรรยาà¸ģ":136084,"à¸ļรรยาà¸ģาศ":136085,"רצ×ķף":136086,"åĭķãģį":136087,"ĠGäste":136088,"Ġ기본":136089,"ĠÙĬعرÙģ":136090,"ĠSá»Ń":136091,"gÅĤÄĻb":136092,"à¹Ģà¸Ńส":136093,"×IJ×ŀ×Ļף":136094,"ĠпÑĥнк":136095,"ĠпÑĥнкÑĤ":136096,"Ġ×Ļ×ķ×ĵ×¢×Ļ×Ŀ":136097,"ãĤ«ãĥ©ãĥ¼":136098,"Ġ×ijס×ĵר":136099,"Ġbuá»ĵn":136100,"йÑĤ":136101,"йÑĤеÑģÑĮ":136102,"ãĤĴæ±ĤãĤģ":136103,"Ġ×IJ×ª×Ľ×Ŀ":136104,"Ġ모르":136105,"ظرÙĪÙģ":136106,"ÑĩеÑģÑĤво":136107,"ìĸ´ìĦľ":136108,"Ġодна":136109,"Ġkapı":136110,"Ġëħ¸ëł¥":136111,"ĠKüche":136112,"ĠاÙĦتش":136113,"Ø·ÙĬب":136114,"ĠíĬ¹íŀĪ":136115,"ĠвÑĭпÑĥÑģ":136116,"ĠвÑĭпÑĥÑģк":136117,"×ĵת×Ļ":136118,"ĠuÄŁ":136119,"ĠuÄŁra":136120,"ائÙĩا":136121,"Ġthoát":136122,"ãģªãĤĤãģ®":136123,"ÑijÑĢ":136124,"기ê°Ģ":136125,"ĠgeliÅŁme":136126,"تØŃÙĤ":136127,"تØŃÙĤÙĤ":136128,"ĠопаÑģ":136129,"бÑĢоÑģ":136130,"หุ":136131,"หุà¹īà¸Ļ":136132,"ì¼Ģ":136133,"ãĤ¹ãĥŀ":136134,"ãĤ¹ãĥŀãĥĽ":136135,"Ø£Ù쨱":136136,"Ø£ÙģØ±Ø§Ø¯":136137,"ĠThá»±c":136138,"Ġthắ":136139,"ãĥªãĥ³ãĤ¯":136140,"Ġniá»ģm":136141,"ĠHöhe":136142,"عÙħار":136143,"ÙĥÙĪØ±ÙĪÙĨ":136144,"ÙĥÙĪØ±ÙĪÙĨا":136145,"ĠÄIJến":136146,"ĠÑģамом":136147,"ĠÑĤеле":136148,"ĠÄijoán":136149,"à¸Ħวามà¸Ħิà¸Ķà¹Ģหà¹ĩà¸Ļ":136150,"ĠдиÑģк":136151,"أطÙ쨧ÙĦ":136152,"มารà¹Į":136153,"à¸Ĺหาร":136154,"à¸Ĺà¸Ļ":136155,"ĠبعÙĬد":136156,"ĠاÙĦÙĩÙĨد":136157,"åĩºãģĹãģ¦":136158,"Ġkarde":136159,"ĠkardeÅŁ":136160,"×Ķ×Ļס×ĺ×ķר":136161,"×Ķ×Ļס×ĺ×ķר×Ļ×Ķ":136162,"éģ¸ãģ³":136163,"عاÙħÙĦ":136164,"à¸Ĥยาย":136165,"Ġtürl":136166,"Ġtürlü":136167,"ĠìĿ¼ìĿ´":136168,"Ġmatéria":136169,"Ġ׼׾×ķ×ŀר":136170,"ãĥģãĥ£ãĥ¼":136171,"جÙħاعة":136172,"ĠÑģвоим":136173,"Ø¥ÙĤاÙħØ©":136174,"ä¾ĭãģĪãģ°":136175,"ساب":136176,"آخر":136177,"ÙĤدÙĬر":136178,"×IJ×ŀ×Ļ":136179,"ìĸ»":136180,"Ġ׳×ķספת":136181,"ĠÐĴлад":136182,"ĠÐĴладим":136183,"ĠÐĴладимиÑĢ":136184,"Ġestará":136185,"ãģĵãģĨãģĦãģĨ":136186,"ãĤĴ使ç͍":136187,"มาà¸ķร":136188,"มาà¸ķรà¸IJาà¸Ļ":136189,"ãģ£ãģ½":136190,"Ġnú":136191,"Ġnúi":136192,"ยาà¸ĩ":136193,"ĠاÙĦجÙĨس":136194,"Ġüstün":136195,"ëľ»":136196,"ãĤ»ãĥ«":136197,"ãģ¦ãģĦãģįãģ¾ãģĻ":136198,"Ġ×Ĺ×ķ×ĸ":136199,"Ġ×Ĺ×ķ×ĸר":136200,"ĠÐĵлав":136201,"à¹Ĥà¸Ĭà¸Ħ":136202,"íıIJ":136203,"ÙĨتظر":136204,"Ġ×Ĵ×ij×Ļ":136205,"عÙĤب":136206,"intér":136207,"intérêt":136208,"×ŀפ×Ĵ":136209,"×ŀפ×Ĵש":136210,"Ġthù":136211,"اÙģØª":136212,"Ġ×ŀשפ":136213,"Ġ×ŀשפ×ĺ×Ļ":136214,"ĠÙħÙĪØ§ÙĤع":136215,"è¦ļ":136216,"è¦ļãģĪ":136217,"×ĵ×Ļף":136218,"à¹Ģรืà¹Īà¸Ńà¸ĩราว":136219,"ãģ¾ãģĤ":136220,"Ġghế":136221,"иÑĢÑĥÑİÑĤ":136222,"à¸ģว":136223,"à¸ģวà¹īาà¸ĩ":136224,"ĠповеÑĢ":136225,"ĠповеÑĢÑħ":136226,"ĠповеÑĢÑħноÑģÑĤ":136227,"׳×ĵר":136228,"ĠконÑĨе":136229,"Ġдолжна":136230,"Ġ×Ļש×Ļר":136231,"acaģız":136232,"ìĹĶ":136233,"ĠnÃŃvel":136234,"Ġör":136235,"Ġörnek":136236,"ÙĥÙģ":136237,"ĠФедеÑĢаÑĨии":136238,"Ġ구ìĦ±":136239,"หัวà¹ĥà¸Ī":136240,"ĠVáºŃy":136241,"мед":136242,"меди":136243,"медиÑĨин":136244,"медиÑĨинÑģк":136245,"ازÙĬ":136246,"×Ĵ×ij×ķ׾":136247,"ÑĦÑĢ":136248,"Ġzusätzlich":136249,"à¸ģà¸ģ":136250,"ĠاÙĦاÙĤتصادÙĬØ©":136251,"Ġhè":136252,"luÄŁun":136253,"جÙİ":136254,"à¹Ħà¸Łà¸¥à¹Į":136255,"ÄIJT":136256,"ãģĿãģ®ä»ĸ":136257,"à¸Ĺิà¹īà¸ĩ":136258,"ĠاÙĦØ£ÙĪ":136259,"رسÙħ":136260,"æ°Ĺãģ¥":136261,"ìĿ´ë©°":136262,"ÑĮев":136263,"صط":136264,"ĠاÙĦاستث":136265,"ĠاÙĦاستثÙħار":136266,"à¸Ńาà¸Ħาร":136267,"ĠÑĤоÑĩно":136268,"ĠVân":136269,"à¸Ńร":136270,"à¸Ńรà¹Īà¸Ńย":136271,"ĠاÙĦسÙĨØ©":136272,"ĠcÆ°á»Ľi":136273,"×Ļ×Ķף":136274,"íį¼":136275,"話ãģĹ":136276,"âĹĭ":136277,"ĠìķĬìĿĢ":136278,"ãĥ¡ãĥ¼ãĤ":136279,"ãĥ¡ãĥ¼ãĤ«":136280,"ãĥ¡ãĥ¼ãĤ«ãĥ¼":136281,"ĠÑĤепло":136282,"å½¼ãĤī":136283,"Ġİz":136284,"Ġİzmir":136285,"íĻį":136286,"Ġrượ":136287,"Ġrượu":136288,"æĢĿãģĦåĩº":136289,"ĠPhạm":136290,"Ġcháu":136291,"צ×Ļ×ķת":136292,"ĠìĿ¼ë³¸":136293,"ìĤ¬ëĬĶ":136294,"ĠÑģоздан":136295,"Ġaracı":136296,"Ġער":136297,"Ġער×Ļ׼×Ķ":136298,"ĠíķĺëĤĺëĭĺìĿĺ":136299,"dziÅĤ":136300,"à¸Ľà¸£à¸°à¸ĺาà¸Ļ":136301,"ĠserÃŃa":136302,"ĠìŀĪëıĦë¡Ŀ":136303,"درج":136304,"íķľëĭ¤ëĬĶ":136305,"à¸Ńาà¸Ĺ":136306,"à¸Ńาà¸Ĺิà¸ķ":136307,"à¸Ńาà¸Ĺิà¸ķยà¹Į":136308,"ÑĤелÑĮнÑĭй":136309,"ĠخدÙħات":136310,"×ŀ׳×ĺ":136311,"Ġlược":136312,"ĠSÃłi":136313,"ĠÙĪØ§Ø¶":136314,"ĠÙĪØ§Ø¶ØŃ":136315,"غاز":136316,"ĠdoÄŁal":136317,"Ġ×ijש×Ŀ":136318,"Ġдлин":136319,"Ġإطار":136320,"Ġ×ijספר":136321,"ãĤĴä¸İ":136322,"ãĤĴä¸İãģĪ":136323,"Ġë²ķë¥ł":136324,"ĠÑĥвели":136325,"ĠÑĥвелиÑĩи":136326,"สà¹Ħà¸ķ":136327,"สà¹Ħà¸ķลà¹Į":136328,"à¹Ħà¸ģล":136329,"×ij×Ĺף":136330,"ĠìĿ´íĽĦ":136331,"Ġmunic":136332,"ĠmunicÃŃpio":136333,"تÙħØ«ÙĦ":136334,"ĠÄijáo":136335,"Hôtel":136336,"Ġlá»Ńa":136337,"ĠÄijẳng":136338,"Ñĩки":136339,"شرÙĪ":136340,"شرÙĪØ·":136341,"ĠìĿ´ë¥¼":136342,"ÙĬÙĭا":136343,"×ŀ׾×ļ":136344,"×ŀ×Ķ×Ļר×ķת":136345,"ĠобÑıзаÑĤелÑĮ":136346,"ĠобÑıзаÑĤелÑĮно":136347,"énergie":136348,"Ġmudança":136349,"Ġmụ":136350,"Ġmụn":136351,"Ġnº":136352,"ĠاÙĦتعا":136353,"ĠاÙĦتعاÙĪÙĨ":136354,"ĠاÙĦاجتÙħاعÙĬØ©":136355,"ĠплаÑģÑĤ":136356,"Ġëĵ±ìĿĺ":136357,"ãĥIJãĤ¤ãĤ¯":136358,"ÙĩجÙĪÙħ":136359,"ĠSaúde":136360,"Ġì¤ijìļĶíķľ":136361,"Ġ×Ķצ×Ļ×ij×ķר":136362,"×ª×§×Ł":136363,"ĠاÙĦعاÙĦÙħÙĬ":136364,"ĠболÑĮÑĪой":136365,"ĠÙĥÙĦÙħ":136366,"ĠÙĥÙĦÙħØ©":136367,"ãģ®ãģ§ãģ¯ãģªãģĦãģ§ãģĹãĤĩãģĨãģĭ":136368,"ĠÙħباراة":136369,"Ġש×IJ׳":136370,"Ġש×IJ׳×Ĺ׳×ķ":136371,"ãĤ¹ãĤ¿ãĤ¤ãĥ«":136372,"ĠSaÄŁ":136373,"ĠSaÄŁlık":136374,"Ġhư":136375,"׳×Ĺ×Ķ":136376,"Ġ×ijקר×ij":136377,"طعÙħ":136378,"หิà¸Ļ":136379,"à¸Ĺุà¸ģวัà¸Ļ":136380,"à¸Ħรัà¹īà¸ĩà¸Ĺีà¹Ī":136381,"ĠlÃłnh":136382,"Ġdonné":136383,"ãģĽãģĦ":136384,"جزÙĬرة":136385,"доÑĢож":136386,"ì¼ľ":136387,"تÙĨظÙĬÙģ":136388,"ãĥģãĥ§":136389,"Ġaldıģı":136390,"جاج":136391,"ĠÑĤомÑĥ":136392,"à¸Ľà¸´":136393,"Ġ×ijרשת":136394,"ãģıãģªãĤĬãģ¾ãģĻ":136395,"ĠпÑĢинÑĨип":136396,"Ġ×Ĺ׾×ķ":136397,"ëı¼":136398,"×ķ×Ĵש":136399,"سس":136400,"à¸Ľà¸¹":136401,"Ġhầu":136402,"æĦŁãģĺãĤĭ":136403,"ï¼´":136404,"دÙĪØ§":136405,"ĠÑģмог":136406,"scrição":136407,"ĠtháºŃn":136408,"Ġר×ķ×IJ×Ķ":136409,"обÑĢажен":136410,"ĠاÙĦتجارÙĬØ©":136411,"طبÙĬع":136412,"jÄħcÄħ":136413,"íĸīìľĦ":136414,"ĠновÑĭй":136415,"Ġ×ŀ×Ĺ×ĵש":136416,"æĮ¯ãĤĬ":136417,"gué":136418,"Ġ×IJ×Ļר×ķ×¢":136419,"Ġ×IJ×Ļר×ķ×¢×Ļ×Ŀ":136420,"ĠاÙĦذÙĩب":136421,"×ĵ×IJ":136422,"تاÙĨ":136423,"ãģłãģĹ":136424,"à¸Ńัà¸ķรา":136425,"à¹Ĥà¸Ī":136426,"بÙĦاد":136427,"×Ķ×Ļ×Ļ׳×ķ":136428,"ĠÑģпе":136429,"ĠÑģпеÑĨиалÑĮно":136430,"ĠÅĽwiata":136431,"ãĤĵãģ§ãģĻãĤĪ":136432,"شرÙĥØ©":136433,"ĠpÅĤyt":136434,"Ġsitué":136435,"Ġ׼×IJ׾×Ķ":136436,"ס×ijר":136437,"Ġkażd":136438,"Ġkażdym":136439,"ãĤĴæĮģãģ¤":136440,"׾×Ķ׾":136441,"׾×Ķ׾ף":136442,"ĠwÅĤas":136443,"ĠwÅĤasne":136444,"ĠsaÄŁlan":136445,"×ŀ×¢×ľ×Ķ":136446,"ĠاÙĦاÙĪÙĦ":136447,"ìĹIJìĦľëıĦ":136448,"×IJ×Ļר×ķפ×Ķ":136449,"تÙĤÙĨÙĬØ©":136450,"Ùħائ":136451,"Ùħائة":136452,"ĠcompañÃŃa":136453,"Ġsürek":136454,"Ġsürekli":136455,"ĠиÑģкÑĥÑģ":136456,"ĠиÑģкÑĥÑģÑģÑĤв":136457,"ĠBürger":136458,"ת×Ĺר":136459,"ת×Ĺר×ķת":136460,"à¸ŀรà¹īà¸Ńมà¸ģัà¸ļ":136461,"Ø´Ùħ":136462,"à¸ĸืà¸Ńวà¹Īา":136463,"è¾¼ãĤĢ":136464,"ä¼ijãģ¿":136465,"ĠاÙĦأب":136466,"ĠÑģÑĤоимоÑģÑĤÑĮ":136467,"ĠпÑĢава":136468,"mayın":136469,"หวย":136470,"ĠاÙĦطبÙĬعÙĬ":136471,"à¸Ĺีà¹Īà¸ŀัà¸ģ":136472,"ĠEstá":136473,"ÑĭваÑİÑĤ":136474,"بسÙĬ":136475,"بسÙĬØ·":136476,"Ġ×ij×¢×ijר":136477,"åı¯èĥ½ãģ§ãģĻ":136478,"Ġ×ĵ×ķ׾":136479,"Ġ×ĵ×ķ׾ר":136480,"ÙĩÙİØ§":136481,"воÑĢоÑĤ":136482,"ãģ¦ãģĦãģ¾ãģĹãģŁ":136483,"à¹Ĥà¸Ĺรศ":136484,"à¹Ĥà¸Ĺรศั":136485,"à¹Ĥà¸Ĺรศัà¸ŀ":136486,"à¹Ĥà¸Ĺรศัà¸ŀà¸Ĺà¹Į":136487,"Ġק׳":136488,"ĠاÙĦØ«ÙĨ":136489,"ĠاÙĦØ«ÙĨائÙĬØ©":136490,"Ġcoût":136491,"à¸ķิà¸Ķà¸ķัà¹īà¸ĩ":136492,"Ġörg":136493,"Ġörgüt":136494,"ĠاÙĦØ®ÙĦÙĬ":136495,"ĠاÙĦØ®ÙĦÙĬج":136496,"Ġbá»įn":136497,"×ķ׾×ķ×Ĵ×Ļ":136498,"ëŀľ":136499,"ĠÐijолÑĮ":136500,"ĠÐijолÑĮÑĪ":136501,"×Ĵ×ijר×Ļ×Ŀ":136502,"ÙĤÙĬد":136503,"×ij×Ļ×ĺ×ķ×Ļ":136504,"æīĵãģ¡":136505,"ĠolmuÅŁ":136506,"fäh":136507,"fähig":136508,"ลาà¸Ļ":136509,"ĠÙĤطر":136510,"שפ×Ķ":136511,"èªŃãĤĵãģ§":136512,"à¸Ĥวา":136513,"Ġchiếm":136514,"ãĤ¤ãĥ³ãĤ¿":136515,"ãĤ¤ãĥ³ãĤ¿ãĥ¼ãĥ":136516,"ãĤ¤ãĥ³ãĤ¿ãĥ¼ãĥį":136517,"ãĤ¤ãĥ³ãĤ¿ãĥ¼ãĥįãĥĥãĥĪ":136518,"Ġ׾ש×ŀ×ķר":136519,"ĠترÙĥ":136520,"ĠترÙĥÙĬا":136521,"ר×ķ×ĺ":136522,"ã썿ĢĿãģĦãģ¾ãģĹãģŁ":136523,"ĠاÙĦتÙĤ":136524,"Ġdư":136525,"ãģ¦ãģıãĤĮãĤĭ":136526,"ãģĹãģŁãģĵãģ¨":136527,"Ġróżne":136528,"ĠاÙĦØ·ÙģÙĦ":136529,"ĠPosté":136530,"Ġ×ŀש×ķ×Ŀ":136531,"ÑįÑĢ":136532,"ĠÑĢабоÑĤаеÑĤ":136533,"ãĤ·ãĥª":136534,"ãĤ·ãĥªãĥ¼ãĤº":136535,"Ġ×ij×Ķ×Ĺ׾×ĺ":136536,"×§×Ķ×Ļ׾×Ķ":136537,"ãĤ«ãĥ¡":136538,"ãĤ«ãĥ¡ãĥ©":136539,"O":136540,"ĠìĤ¬ìĿ´":136541,"Ġkì":136542,"ĠthÆ°á»Ľc":136543,"ضبط":136544,"ÙĤبÙĪÙĦ":136545,"åĪ¥ãģ®":136546,"Ġparticulière":136547,"ĠÑģвоем":136548,"Ġעסק":136549,"Ġעסק×Ļ×Ŀ":136550,"×ij×Ĺ×Ļר×ķת":136551,"×ij×Ļ׳×ķ":136552,"à¸ĭà¸Ń":136553,"Ġ×¢×ķ×ijר":136554,"ãģłãģ£ãģŁãģ®ãģ§":136555,"ıldıģı":136556,"Ùħدار":136557,"Ùħدارس":136558,"주ìĭľ":136559,"à¸Ńาศ":136560,"à¸Ńาศัย":136561,"Ġtấm":136562,"à¸ŀิà¸Ī":136563,"à¸ŀิà¸Īาร":136564,"à¸ŀิà¸Īารà¸ĵา":136565,"ÑĤелÑĮнÑĭе":136566,"ÑģкÑĥÑİ":136567,"ÐľÐĺ":136568,"à¹Ģà¸ģา":136569,"à¹Ģà¸ģาหล":136570,"à¹Ģà¸ģาหลี":136571,"×ĵ×Ĺ":136572,"à¹Ģà¸Ĭิà¸ĩ":136573,"ĠدÙĤÙĬÙĤØ©":136574,"íķĻìĥĿ":136575,"Ġש×IJ׾×Ķ":136576,"Ġcontrôle":136577,"Ġsituação":136578,"à¸Ĥà¸Ńà¸ĩà¸ľà¸¹à¹ī":136579,"ÙĨØ·ÙĤ":136580,"ê³¼íķĻ":136581,"หลายà¸Ħà¸Ļ":136582,"Ġnắng":136583,"ÙĤÙı":136584,"ì¡°ê±´":136585,"Ñķ":136586,"ãĥĥãģ¨":136587,"×ŀ×Ļ׾×Ķ":136588,"Grün":136589,"×Ļ×Ļ×¢":136590,"×Ļ×Ļ×¢×ķ×¥":136591,"×ŀ׳׼":136592,"ëŃIJ":136593,"×ŀ×¢×ŀ×ĵ":136594,"สำà¸Ļัà¸ģ":136595,"جدد":136596,"à¸Ħัà¸Ķ":136597,"Ġ×Ķ×ŀשפ":136598,"Ġ×Ķ×ŀשפ×Ĺ×Ķ":136599,"×ŀשק׾":136600,"ÙĦÙı":136601,"Ġtytu":136602,"ĠtytuÅĤ":136603,"ÑĪей":136604,"ĠìĿ¼ë¶Ģ":136605,"ÑĪение":136606,"Ġphóng":136607,"ĠìĹŃìĤ¬":136608,"ãĤ«ãĥ³":136609,"Ġtúi":136610,"ĠÙĨÙĪÙģ":136611,"ĠÙĨÙĪÙģÙħبر":136612,"grün":136613,"ĠاÙĦØ´ÙħاÙĦ":136614,"ÅĽwiadc":136615,"ÅĽwiadczenie":136616,"ער×Ķ":136617,"Ġ×¢×ķ×ij":136618,"Ġ×¢×ķ×ij×ĵ×Ļ×Ŀ":136619,"×ĵ×ķ×Ĵ×ŀ×IJ":136620,"ä»Ĭãģ¯":136621,"Ġvão":136622,"ĠТем":136623,"ÑģилÑĮ":136624,"Ġchợ":136625,"Ùħرا":136626,"ÙħراÙĤب":136627,"à¹Ħมà¹Īรูà¹ī":136628,"Ġرائع":136629,"×IJ׳×Ĺ׳×ķ":136630,"สà¹Īà¸ĩà¹Ģสริม":136631,"צ×Ĺ":136632,"ĠìŀĪìĸ´ìĦľ":136633,"Ġkurulu":136634,"ĠkuruluÅŁ":136635,"ĠÃĸzellik":136636,"ĠÃĸzellikle":136637,"Ġת×Ļ×§":136638,"Ġghé":136639,"ĠsprzÄĻ":136640,"ĠsprzÄĻt":136641,"ער×ķת":136642,"راØŃØ©":136643,"ãģ£ãģį":136644,"ãģ£ãģįãĤĬ":136645,"ĠìķĦëŀĺ":136646,"stituição":136647,"Ġдолжно":136648,"×Ķרש":136649,"×Ķרש×ŀ×Ķ":136650,"×Ķ׾×ļ":136651,"ãģ¡ãģª":136652,"ãģ¡ãģªãģ¿":136653,"ãģ¡ãģªãģ¿ãģ«":136654,"פ×Ĺ×ĵ":136655,"ĠاÙĦجÙħÙĬع":136656,"×ij×¢×ľ×Ļ":136657,"Ġtrùng":136658,"Ġפת×Ĺ":136659,"×ŀ׾×Ĺ×ŀת":136660,"ãĥĨãĥ¼ãĥ":136661,"ãĥĨãĥ¼ãĥŀ":136662,"Ùħتاب":136663,"Ùħتابعة":136664,"Ġ모ìĬµ":136665,"ÙĬص":136666,"åIJĪãģĨ":136667,"ĠYap":136668,"ĠYapı":136669,"ĠÑģказаÑĤÑĮ":136670,"몰":136671,"à¸Ĺีà¹Īสำà¸Ħัà¸į":136672,"ĠìĹĨìĬµëĭĪëĭ¤":136673,"Ġnhắc":136674,"Ġülkeler":136675,"Ġмногие":136676,"íķĺìħ¨":136677,"มาà¸ģà¸Ĺีà¹Īสุà¸Ķ":136678,"à¸ģà¹īา":136679,"à¸ģà¹īาว":136680,"Ġİyi":136681,"леж":136682,"лежа":136683,"ãĤ¸ãĥ§":136684,"à¸Ĺัà¸ŀ":136685,"اÙĪØ±":136686,"Ġ×Ĺ×ijר×Ļ":136687,"Ġ׾ש×Ŀ":136688,"첫":136689,"ĠTá»Ń":136690,"×ŀ×ķ׳×Ļ":136691,"ÙĤÙĪØ¯":136692,"à¸ģระà¹Ģà¸Ľ":136693,"à¸ģระà¹Ģà¸Ľà¹ĭ":136694,"à¸ģระà¹Ģà¸Ľà¹ĭา":136695,"ĠпÑĢоблемÑĭ":136696,"Ġaçıs":136697,"Ġaçısından":136698,"Ġ×Ķ×ŀ׼":136699,"ĠÙħعظÙħ":136700,"ÙĤÙĬاس":136701,"ĠпÑĢодолж":136702,"ĠпÑĢодолжа":136703,"ĠverdiÄŁi":136704,"ĠпÑĢедмеÑĤ":136705,"ãģĦãģ¾ãģĻãģĮ":136706,"ĠëĶ°ë¥¸":136707,"ĠاÙĦÙĤÙĬاÙħ":136708,"ĠØ¥ÙĦÙĬÙĩا":136709,"ТÐIJ":136710,"поз":136711,"ãĤ·ãĥ¥":136712,"ä¸ĬãģĮãĤĬ":136713,"à¹Ģà¸Ķิมà¸ŀัà¸Ļ":136714,"à¸ģุล":136715,"ØŃرÙĬØ©":136716,"×§×ij×ķצ×ķת":136717,"믿":136718,"ĠاÙĦÙħÙĨا":136719,"ĠاÙĦÙħÙĨاطÙĤ":136720,"ĠвÑĭпол":136721,"ĠвÑĭполнÑı":136722,"ãĥĭãĤ¢":136723,"Ġê²°êµŃ":136724,"×Ĺ×ķ×ŀ":136725,"×Ĺ×ķ×ŀר×Ļ×Ŀ":136726,"ĠУкÑĢаинÑĭ":136727,"หà¸Ńม":136728,"ר×Ļס":136729,"ĠÑħоÑĤел":136730,"ĠобÑĢазованиÑı":136731,"Ġkhẳng":136732,"Ġmưa":136733,"Ġgörme":136734,"Ġgüçlü":136735,"سعÙī":136736,"มัà¹Īà¸Ļà¹ĥà¸Ī":136737,"íķĺê²łìĬµëĭĪëĭ¤":136738,"ĠполÑĥ":136739,"Ġfünf":136740,"ã썿ĢĿãģ£ãģ¦ãģĦãģ¾ãģĻ":136741,"Ġê·¸ê²ĥìĿĢ":136742,"ĠdÃ¼ÅŁÃ¼nce":136743,"ìŀł":136744,"ĠHÆ°á»Ľng":136745,"ĠTiá»ĥu":136746,"Ġçift":136747,"ãģijãģ°":136748,"à¸Īà¸Ļà¸ĸึà¸ĩ":136749,"à¸Ĺำà¹Ħà¸Ķà¹ī":136750,"ĠìŀIJì²´":136751,"Ġdõ":136752,"Ġdõi":136753,"à¸Īัà¸Ļ":136754,"à¸Īัà¸Ļà¸Ĺ":136755,"à¸Īัà¸Ļà¸Ĺรà¹Į":136756,"eceÄŁini":136757,"׳×ķער":136758,"غار":136759,"ĠاÙĦØ£ÙħرÙĬÙĥÙĬ":136760,"داعش":136761,"ĠбезопаÑģноÑģÑĤи":136762,"ĠбÑİ":136763,"ĠбÑİдж":136764,"ĠбÑİджеÑĤ":136765,"ãĥĬãĤ¤":136766,"à¸ŀà¸ļวà¹Īา":136767,"daÄŁ":136768,"×IJ×ķפף":136769,"íĹĮ":136770,"ãĥĢãĤ¤ãĤ¨":136771,"ãĥĢãĤ¤ãĤ¨ãĥĥãĥĪ":136772,"ĠëĮĢíĨµ":136773,"ĠëĮĢíĨµëł¹":136774,"Dİ":136775,"Ø£ØŃداث":136776,"ĠAÄŁ":136777,"ĠAÄŁust":136778,"ĠAÄŁustos":136779,"ØŃÙĦÙĪÙĦ":136780,"ĠwÅĽ":136781,"ĠwÅĽród":136782,"ĠÑģооÑĤвеÑĤ":136783,"ĠÑģооÑĤвеÑĤÑģÑĤв":136784,"ĠÑģооÑĤвеÑĤÑģÑĤвии":136785,"ĠLuáºŃt":136786,"Ġ׼׾פ×Ļ":136787,"ĠвеÑī":136788,"ĠвеÑīеÑģÑĤв":136789,"×§×Ļ×¥":136790,"ĠبÙĩذا":136791,"عاش":136792,"à¹Ģà¸Ľà¹ĩà¸Ļà¹Ģรืà¹Īà¸Ńà¸ĩ":136793,"ТÐķ":136794,"Ġ×ij×IJ×Ļ׳×ĺר׳×ĺ":136795,"سعد":136796,"Ġ×Ķ×ĺ×Ļפ×ķ׾":136797,"פ×Ļס":136798,"à¸ĩà¹Īายà¹Ĩ":136799,"ĠGerät":136800,"׾×Ļ×ĵ×Ķ":136801,"ĠÑĢиÑģк":136802,"׾ק×Ĺ":136803,"ннаÑı":136804,"ר×Ļ×ĵ":136805,"пÑĢакÑĤи":136806,"пÑĢакÑĤик":136807,"à¸Ĥัà¹īà¸Ļà¸ķà¸Ńà¸Ļ":136808,"à¸Ļà¹Īารัà¸ģ":136809,"larınızı":136810,"à¸Ńà¸Ļุà¸įา":136811,"à¸Ńà¸Ļุà¸įาà¸ķ":136812,"ĠzdjÄĻcia":136813,"Ġbây":136814,"ÑģÑĢ":136815,"ÑģÑĢоÑĩ":136816,"ãĥĭãĥ³ãĤ°":136817,"Ġöner":136818,"Ġöneri":136819,"ĠновÑĭÑħ":136820,"دعÙĪØ©":136821,"Ġgắn":136822,"ĠاÙĦÙĦبÙĨ":136823,"ĠاÙĦÙĦبÙĨاÙĨÙĬ":136824,"ãĥĨãĤ£ãĥ¼":136825,"ĠصØŃÙĬØŃ":136826,"емÑĭÑħ":136827,"çĸ²ãĤĮ":136828,"ĠпÑĢоиÑģ":136829,"ĠпÑĢоиÑģÑħодиÑĤ":136830,"สà¸ķิ":136831,"ĠTết":136832,"Ġ×Ķ׾׾×ķ":136833,"à¹Ģรืà¹Īà¸Ńà¸ĩà¸Ļีà¹ī":136834,"×ŀ×ij׳×Ķ":136835,"Ġconteúdo":136836,"Ġاخت":136837,"ĠاختÙĬار":136838,"ÙħسÙĦ":136839,"ÙħسÙĦسÙĦ":136840,"ëıĪ":136841,"Ġ׾×Ļ×ĵ":136842,"à¸ŀิà¸ĺี":136843,"ĠÑģовÑģ":136844,"ĠÑģовÑģем":136845,"ãģĮãģĤãĤĬãģ¾ãģĹãģŁ":136846,"Ġsóng":136847,"إصÙĦاØŃ":136848,"ë§ģ":136849,"ÙģÙĬر":136850,"ĠJeżeli":136851,"ìłľëıĦ":136852,"dÅĤug":136853,"ìĥģìĿĦ":136854,"ĠcáºŃn":136855,"Ġhá»įp":136856,"أست":136857,"أستاذ":136858,"Ġ×ŀ×Ļש×Ķ":136859,"Ġ×ŀ×Ļש×Ķ×ķ":136860,"ĠdÃły":136861,"ĠchÃłng":136862,"ãģ¡ãĤĥãĤĵãģ¨":136863,"ĠÄijám":136864,"Ġswój":136865,"Ġpoderá":136866,"ĠоÑĤлиÑĩа":136867,"Ġpériode":136868,"ündig":136869,"×ĺ×¢×Ł":136870,"ÑģÑĤÑĢоиÑĤелÑĮ":136871,"רת×Ļ":136872,"Ġ×Ļ×Ķ×Ļ×ķ":136873,"×ľ×¡":136874,"ĠاÙĦÙħÙĨزÙĦ":136875,"à¸Ļิà¹īว":136876,"иÑĦика":136877,"иÑĦикаÑĨи":136878,"ðŁĺī":136879,"Ġadına":136880,"ãĢĤãĢĤãĢĤ":136881,"×IJ×Ļף":136882,"ס×Ļר":136883,"ĠÙĬعد":136884,"çŃĶãģĪ":136885,"اÙĦجز":136886,"اÙĦجزائر":136887,"енÑĮк":136888,"รห":136889,"รหัส":136890,"ĠTürkçe":136891,"꾸":136892,"Ġ×Ļ×ķ׼׾":136893,"Ġש×ķ׳×Ķ":136894,"Ġ×ij×ŀצ×ij":136895,"ĠдейÑģÑĤвиÑĤелÑĮно":136896,"ĠبأÙĨÙĩ":136897,"×ŀ×§×ĵ":136898,"Ġ×Ķשק":136899,"Ø®ÙĬارات":136900,"Ġfı":136901,"Ġfırs":136902,"Ġfırsat":136903,"ëijĺ":136904,"ĠìĦľìļ¸":136905,"Ġ×Ķ×Ĵ×ķ×£":136906,"رعا":136907,"رعاÙĬØ©":136908,"ĠKết":136909,"кÑģи":136910,"ĠÑĥÑģлÑĥги":136911,"ноÑģÑĤей":136912,"ìļ´ëıĻ":136913,"ĠобÑĬÑı":136914,"ĠобÑĬÑıвл":136915,"неж":136916,"×Ķפ×ļ":136917,"Ġ×ij×¢×Ļ׳×Ļ":136918,"ëĨĴ":136919,"ĠпÑĢоÑĨед":136920,"ĠпÑĢоÑĨедÑĥÑĢ":136921,"Ġihtiy":136922,"Ġihtiyacı":136923,"Ġë°Ķëŀį":136924,"Ġë°ĶëŀįëĭĪëĭ¤":136925,"à¸ģลัว":136926,"ĠÑģложно":136927,"×§×Ļ×Ļ×ŀת":136928,"ĠÄIJình":136929,"ĠÙħÙĦÙģ":136930,"Ġà¹Ĥà¸Ķยมี":136931,"Ġkatkı":136932,"تØŃÙĪÙĬÙĦ":136933,"à¹Ħà¸ŀ":136934,"ĠHá»į":136935,"ñe":136936,"ĠдоÑħод":136937,"Ġthoải":136938,"íķĺìŬìķ¼":136939,"ãĤ¹ãĥĿãĥ¼ãĥ":136940,"ãĤ¹ãĥĿãĥ¼ãĥĦ":136941,"ĠGòn":136942,"Ġkè":136943,"Ġkèm":136944,"é̲ãĤģ":136945,"ãĤ¹ãĥ¼ãĥ":136946,"ãĤ¹ãĥ¼ãĥij":136947,"ãĤ¹ãĥ¼ãĥijãĥ¼":136948,"ĠgiÃłu":136949,"Ġإعادة":136950,"Ġ׾×ķ×§":136951,"Ġ׾×ķ×§×Ĺ":136952,"ĠÑħоÑĩеÑĤ":136953,"×ĺ׾×ķ×ķ":136954,"×ĺ׾×ķ×ķ×Ļ×ĸ":136955,"×ĺ׾×ķ×ķ×Ļ×ĸ×Ļ×Ķ":136956,"Ġthuyết":136957,"ãģĿãĤĮãģ§":136958,"Ġvardı":136959,"à¹Ħรà¹ī":136960,"عبد":136961,"ĠRepública":136962,"ãĥ¼ãĤ¿ãĥ¼":136963,"Ġ×ŀ×IJ×ķת":136964,"à¹Ħà¸Ľà¹ģลà¹īว":136965,"Ġyapılacak":136966,"ãĤ¹ãĤ¿ãĥ¼ãĥĪ":136967,"ãģ»ãģ¼":136968,"ĠkoÅŁ":136969,"ĠмаÑĤеÑĢи":136970,"Ġsiècle":136971,"ĠاÙĦÙħختÙĦÙģ":136972,"ĠاÙĦÙħختÙĦÙ쨩":136973,"Ġ׾קר×IJ":136974,"Ġ׾קר×IJת":136975,"Ġ×Ķפ×ķ×¢×ľ":136976,"Ġtòa":136977,"ĠrÆ¡i":136978,"åij¨ãĤĬ":136979,"à¸Ŀà¸Ļ":136980,"jÅĽÄĩ":136981,"ĠìķĬìĿĦ":136982,"اÙĨتÙĤاÙĦ":136983,"ëĸł":136984,"иваеÑĤ":136985,"ãĥĪãĥ«":136986,"ĠاÙĦÙģÙĦسطÙĬÙĨÙĬØ©":136987,"à¸ģลà¹Īาววà¹Īา":136988,"اÙĥت":136989,"ĠÃĸl":136990,"ĠÑĢеÑĪи":136991,"ĠÑĢеÑĪил":136992,"Ġ׳×ķספ×ķת":136993,"Ġìłķì¹ĺ":136994,"влеÑĩен":136995,"ÙħرØŃÙĦØ©":136996,"Ġcomeça":136997,"Ġyık":136998,"ìĤ´":136999,"à¸ĺà¸Ļา":137000,"à¸ĺà¸Ļาà¸Ħาร":137001,"à¸Ńà¸Ļา":137002,"à¸Ńà¸Ļาà¸Ħ":137003,"à¸Ńà¸Ļาà¸Ħà¸ķ":137004,"Ġpequeña":137005,"ä»ķäºĭãĤĴ":137006,"ĠبذÙĦÙĥ":137007,"Ġнового":137008,"ãģĹãģ¦ãģĦãģªãģĦ":137009,"ĠاÙĦÙħÙĬاÙĩ":137010,"à¸ģà¹ĩà¹Ģà¸Ľà¹ĩà¸Ļ":137011,"ĠжÑĥÑĢ":137012,"ĠжÑĥÑĢнал":137013,"веÑģ":137014,"ختار":137015,"Ġ매ìļ°":137016,"ĠMã":137017,"ĠавÑĤомаÑĤÑĭ":137018,"ضعÙģ":137019,"ĠاÙĦÙģÙĥر":137020,"ãģ§ãģĻãģ®ãģ§":137021,"ãĥ¡ãĥ³ãĥIJãĥ¼":137022,"ĠкÑĢÑĥг":137023,"ĠاÙĦسÙĦطة":137024,"à¸Ħรัà¹īà¸ĩà¹ģรà¸ģ":137025,"à¸ģระà¸Ĺรว":137026,"à¸ģระà¸Ĺรวà¸ĩ":137027,"ÑĨов":137028,"éķ·ãģĦ":137029,"大ãģįãģĦ":137030,"ĠgeçmiÅŁ":137031,"ìĦ±ìĿ´":137032,"Ġצר×Ļ׼×Ķ":137033,"ĠмоÑī":137034,"ĠмоÑīн":137035,"Ġ×§×Ļש":137036,"Ġ×§×Ļש×ķר×Ļ×Ŀ":137037,"ĠNasıl":137038,"гÑĢан":137039,"Ġ×ŀ×ķצר×Ļ×Ŀ":137040,"Ġ×ŀס×ķ×Ĵ":137041,"Ġyür":137042,"Ġyürüt":137043,"Ġ׾×Ĺצ×ķ":137044,"×ķÖ¼":137045,"ĠìŀĪìĹĪëĭ¤":137046,"Ġterör":137047,"ĠThương":137048,"ĠÙĪÙĬÙħ":137049,"ĠÙĪÙĬÙħÙĥÙĨ":137050,"جÙĪÙĨ":137051,"ĠÙĪØºÙĬرÙĩا":137052,"×ŀפ×ķ":137053,"×Ĵ×ķר×ŀ×Ļ×Ŀ":137054,"׼×ij×Ļש":137055,"ĠاÙĦÙĦغ":137056,"ĠاÙĦÙĦغة":137057,"شرÙĥ":137058,"ĠاÙĦراب":137059,"ĠاÙĦرابع":137060,"ĠпÑĢек":137061,"ĠпÑĢекÑĢаÑģ":137062,"ĠпÑĢекÑĢаÑģн":137063,"ĠenergÃŃa":137064,"×§×ĵ×ŀ×Ļ":137065,"ãģıãģªãģ£ãģŁ":137066,"ĠÄijứ":137067,"ĠÄijứa":137068,"Servi":137069,"Serviço":137070,"Ġkaldır":137071,"åĥįãģį":137072,"Ġодеж":137073,"Ġодежд":137074,"물ìĿĦ":137075,"ãģĿãģĨãģ§":137076,"ãģĮãģĤãĤĮãģ°":137077,"ìĻķ":137078,"צ×ĵ×§":137079,"Ġartır":137080,"Ġileti":137081,"ĠiletiÅŁim":137082,"ãĤĪãģĨãģ§":137083,"ãĥĪãĥ¼":137084,"ãĤ¢ãĥĭ":137085,"ãĤ¢ãĥĭãĥ¡":137086,"×ĺ×Ļ×Ļ׾":137087,"ãĥķãĥªãĥ¼":137088,"ãĥĿãĥ³":137089,"ÐŁÑĢо":137090,"ĠعاÙĦÙĬØ©":137091,"ĠÃ¶ÄŁret":137092,"ĠÃ¶ÄŁretmen":137093,"ĠкаÑĩеÑģÑĤва":137094,"Ġ×Ķ×ĺ×ij×¢":137095,"ĠзнаÑİ":137096,"ãģ¦ãģıãĤĭ":137097,"Ġmừng":137098,"ÙħÙĪØª":137099,"ש×ķ×ŀר":137100,"×Ĺ׾×ij":137101,"ĠwzglÄĻ":137102,"ĠwzglÄĻdu":137103,"ë²Ī째":137104,"Ġtá»ĵ":137105,"Ġtá»ĵn":137106,"ãĥ¯ãĥ¼ãĤ¯":137107,"Ġpożycz":137108,"Ġpożyczk":137109,"×Ļ×ķצר×Ļ×Ŀ":137110,"ÙĥرÙħ":137111,"ĠгаÑĢ":137112,"ĠгаÑĢан":137113,"ĠгаÑĢанÑĤи":137114,"ลà¹īาà¸ĩ":137115,"ĠìĺģíĻĶ":137116,"×ĺ×Ļס":137117,"Ġthẻ":137118,"ĠìŀĪëĭ¤ê³ł":137119,"اÙĦتز":137120,"اÙĦتزاÙħ":137121,"ĠнаÑĪи":137122,"isée":137123,"ãģĵãĤĮãĤĴ":137124,"Ġmẽ":137125,"ضÙĦ":137126,"بÙĪØª":137127,"Ġ׼׼×Ķ":137128,"hợ":137129,"ĠاÙĦسÙĪØ±ÙĬØ©":137130,"Ġ×ľ×¢×ķ×ŀ":137131,"Ġ×ľ×¢×ķ×ŀת":137132,"ĠbaÅŁar":137133,"ĠbaÅŁarılı":137134,"еÑģÑĤÑĮ":137135,"à¸Ħรี":137136,"à¸Ħรีม":137137,"ĠìłĦì²´":137138,"ĠسÙĬÙĥÙĪÙĨ":137139,"Ġ×ŀ×ĵ×ķ×¢":137140,"ĠëķĮ문ìĿ´ëĭ¤":137141,"Ġcứng":137142,"gerät":137143,"ĠмиÑĢ":137144,"ĠмиÑĢе":137145,"ĠÙĥÙĬÙģÙĬØ©":137146,"Ġפר×ĺ×Ļ×Ŀ":137147,"ĠgoÅĽci":137148,"иÑĤеÑģÑĮ":137149,"ÑĥÑĪки":137150,"ؤÙħÙĨ":137151,"Ġ×IJ׼ף":137152,"ĠاÙĦرجÙĦ":137153,"Ġlá»įc":137154,"à¹Ģรียà¸ģวà¹Īา":137155,"ãģĵãģ®ãĤĪãģĨãģª":137156,"ë§Įíģ¼":137157,"ĠпеÑĩ":137158,"ÙĪÙĦات":137159,"ĠÃľye":137160,"liÄŁinde":137161,"à¸Ħะà¹ģà¸Ļ":137162,"à¸Ħะà¹ģà¸Ļà¸Ļ":137163,"ãĤĭãģĵãģ¨ãģ¯":137164,"วิà¹Ģà¸Ħร":137165,"วิà¹Ģà¸Ħราะ":137166,"วิà¹Ģà¸Ħราะหà¹Į":137167,"ĠвозможноÑģÑĤи":137168,"ĠاÙĦÙĨساء":137169,"ãĥīãĥ©ãĥŀ":137170,"Ġgüc":137171,"Ġgücü":137172,"Ġtưá»Ŀng":137173,"Ġacompaña":137174,"ãĤ¤ãĥ©":137175,"קצ×ij":137176,"ĠYö":137177,"ĠYönet":137178,"ĠYönetim":137179,"à¸ªà¸±à¸¡à¸ľ":137180,"à¸ªà¸±à¸¡à¸ľà¸±à¸ª":137181,"à¸Ļาม":137182,"ĠÄijợi":137183,"à¹ģหà¹Īà¸ĩà¸Ĭาà¸ķิ":137184,"ãģĿãĤĮãģ§ãĤĤ":137185,"ätig":137186,"ת×ķ×Ŀ":137187,"ĠbaÅŁlat":137188,"ĠвÑģей":137189,"ת×Ļ×§":137190,"ת×Ļ×§×ķף":137191,"ĠNgô":137192,"ĠGeschä":137193,"ĠGeschäfts":137194,"Ø£Ùħ":137195,"Ø£Ùħراض":137196,"à¹Ģà¸Ĺà¸Ħà¸Ļ":137197,"à¹Ģà¸Ĺà¸Ħà¸Ļิ":137198,"à¹Ģà¸Ĺà¸Ħà¸Ļิà¸Ħ":137199,"ĠменÑĮ":137200,"ĠменÑĮÑĪе":137201,"Ġölç":137202,"Ġölçü":137203,"ĠÙĬجعÙĦ":137204,"ĠÄijỡ":137205,"ש×Ļ׾":137206,"ש×Ļ׾×ķ×ij":137207,"ĠGrÃ¶ÃŁe":137208,"ĠÙĩاتÙģ":137209,"รà¹īาà¸Ļà¸Ńาหาร":137210,"×Ķ׾×Ļ׼":137211,"×Ķ׾×Ļ׼×Ļ":137212,"иÑĢÑĥÑİÑī":137213,"èĭ¥ãģĦ":137214,"ĠÃĸzel":137215,"ãģĦãģŁãĤī":137216,"à¸Ħำà¸ĸาม":137217,"ĠzostaÅĤy":137218,"Ġ×Ķס×Ļפ×ķר":137219,"×Ķ×ķ׾":137220,"×Ķ×ķ׾×ļ":137221,"à¹Ģà¸Ĭà¹Īà¸Ļà¸ģัà¸Ļ":137222,"à¹Ĥà¸Ĩ":137223,"à¹Ĥà¸Ĩษ":137224,"à¹Ĥà¸Ĩษà¸ĵา":137225,"×IJרצ×ķת":137226,"×Ĵרפ×Ļ":137227,"Ġaoût":137228,"ĠÙĬرÙĬد":137229,"تÙĪØ¬":137230,"تÙĪØ¬ÙĬÙĩ":137231,"ĠÑįÑĤап":137232,"ãĤ¹ãĤ¿ãĥ³":137233,"Ġkró":137234,"Ġkrótk":137235,"ãĤĴ使ãģĨ":137236,"ì·¨":137237,"éĸ¢ãĤı":137238,"à¸Ķà¹īวยà¸Ħวาม":137239,"à¸Ļำà¹Ģสà¸Ļà¸Ń":137240,"Ġayrıca":137241,"à¸Īà¹īาà¸ĩ":137242,"ĠÑĦоÑĤогÑĢаÑĦ":137243,"ĠвеÑĩ":137244,"ĠвеÑĩеÑĢ":137245,"åĩºãģĹãģŁ":137246,"ĠХо":137247,"Ġ×ŀר×Ĵ×Ļש":137248,"à¹ĥหà¹īà¹Ģà¸Ľà¹ĩà¸Ļ":137249,"ãĤĴ缮":137250,"ãĤĴ缮æĮĩ":137251,"׾×ŀ×Ļ×Ŀ":137252,"nÄħÅĤ":137253,"ĠÑģÑĤанд":137254,"ĠÑģÑĤандаÑĢÑĤ":137255,"ĠSüd":137256,"ĠTâm":137257,"اختبار":137258,"à¹Ģà¸ģà¸Ńรà¹Į":137259,"ÙħسرØŃ":137260,"Ġbiá»ĩn":137261,"بÙı":137262,"ĠصاÙĦ":137263,"ĠصاÙĦØŃ":137264,"ĠPhụ":137265,"íľ´":137266,"ãĥ¬ãĥĵãĥ¥ãĥ¼":137267,"Ġbụng":137268,"Ġrégime":137269,"ĠأشÙĩر":137270,"ĠÑĢабоÑĤник":137271,"à¸Ŀัà¸Ļ":137272,"اعتÙħ":137273,"اعتÙħاد":137274,"ĠзамеÑĤ":137275,"ãģ¾ãģ£ãģ¦":137276,"Ġchặt":137277,"æĿ¥ãĤĭ":137278,"ĠاÙĦÙĤÙĪØ§Øª":137279,"ãģ«åħ¥ãģ£ãģ¦":137280,"تØŃاÙĦÙģ":137281,"ÙħزÙĬد":137282,"ĠÙĬصÙĦ":137283,"ìĹ¼":137284,"à¹Ģà¸Ĭà¹ĩ":137285,"à¹Ģà¸Ĭà¹ĩà¸Ħ":137286,"Ġká»ĭ":137287,"Ġká»ĭp":137288,"ĠìķĦì§ģ":137289,"×IJ׳×Ĵ":137290,"ĠоблаÑģÑĤÑĮ":137291,"ĠpomocÄħ":137292,"Ġ×ķש׾":137293,"ëĵłì§Ģ":137294,"ĠGiám":137295,"ĠStück":137296,"Ġcháy":137297,"ĠëĤĺìĺ¤":137298,"ש×Ļ×ĺת":137299,"×ŀ×ĵר":137300,"×ŀ×ĵר×Ļ×ļ":137301,"Ġsüreç":137302,"ква":137303,"×ij׾×Ļ×Ŀ":137304,"×Ķת×Ļ":137305,"×Ķת×Ļ×Ļ×Ĺס":137306,"ÙĤباÙĦ":137307,"Ġס×ķ×Ĵ":137308,"Ġס×ķ×Ĵ×Ļ":137309,"ÑģÑĤолÑĮ":137310,"ä½ķãĤĤ":137311,"×ĸ׼×ķר":137312,"è²·ãģĨ":137313,"å®īãģı":137314,"à¸Ħรัà¹īà¸ĩà¸Ļีà¹ī":137315,"köp":137316,"ĠÑģеÑĢвиÑģ":137317,"оÑĩнÑĭÑħ":137318,"ê±°ëŀĺ":137319,"تأÙĥ":137320,"تأÙĥÙĬد":137321,"×ĵ׾ק":137322,"ĠпоÑĩем":137323,"ĠпоÑĩемÑĥ":137324,"пиÑģаÑĤÑĮ":137325,"×ijשר":137326,"ĠHÃłng":137327,"ĠTìm":137328,"Ġtrừ":137329,"ãĤ»ãĥĥãĤ¯ãĤ¹":137330,"×ķ׳×Ĵ":137331,"mızda":137332,"пÑģи":137333,"ĠìŀĪ기":137334,"Ġrút":137335,"زاÙĨ":137336,"تÙĨÙĪØ¹":137337,"ÙħÙĤا":137338,"ÙħÙĤاÙĪÙħØ©":137339,"Ġ׾צ×ķר×ļ":137340,"Ġ×ij×Ļר×ķש׾×Ļ×Ŀ":137341,"ãĥ´ãĤ£":137342,"ebile":137343,"ebileceÄŁi":137344,"ãĥ¦ãĥ¼ãĤ":137345,"ãĥ¦ãĥ¼ãĤ¶":137346,"ãĥ¦ãĥ¼ãĤ¶ãĥ¼":137347,"ãĤĴä½ľãĤĭ":137348,"ÑģмеÑĢ":137349,"ÑģмеÑĢÑĤ":137350,"Ġì§ģ":137351,"Ġì§ģìłij":137352,"ĠÐŁÐ°ÑĢ":137353,"ØŃاض":137354,"ØŃاضر":137355,"ÙħÙĥاÙģ":137356,"ÙħÙĥاÙģØŃØ©":137357,"ลิà¸Ļ":137358,"ãģ¦ãģįãģ¦":137359,"ÑĢоÑģл":137360,"ĠÄ°ÅŁte":137361,"ÙĤصÙĬر":137362,"Ġ×ij×Ĵ×Ļ׾":137363,"Ġ×ŀת×IJ×Ļ×Ŀ":137364,"Ġ×Ķ×Ĺ×ĵ":137365,"Ġ×Ķ×Ĺ×ĵש×Ķ":137366,"ר×ķ×¢":137367,"Ġproduktów":137368,"ĠÙħصدر":137369,"неÑĨ":137370,"ĠاÙĦعÙħÙĦات":137371,"Ġçıkma":137372,"ĠدبÙĬ":137373,"×§×Ļף":137374,"ת×IJר":137375,"ת×IJר×Ļ×ļ":137376,"׳×Ļ×Ļ×ĵ":137377,"صراع":137378,"lève":137379,"צ×Ļר":137380,"à¸Ķัà¸Ļ":137381,"à¹ĥหà¹īà¹Ħà¸Ķà¹ī":137382,"ãĤ¿ãĤ¤ãĥł":137383,"Ġgiảng":137384,"Ð¡ÐŁ":137385,"ĠاÙĦÙħØŃÙĦ":137386,"ĠاÙĦÙħØŃÙĦÙĬØ©":137387,"ĠTất":137388,"׾×ķ×ĺ":137389,"há»ķ":137390,"Ġaméric":137391,"Ġaméricain":137392,"Ġ×ijש׾×ij":137393,"Ġ׾×IJ×ķ×ŀ×Ļ":137394,"Ġpeça":137395,"ĠÑĢазнÑĭÑħ":137396,"ãģĦãĤĭãģ¨":137397,"ãĥĩãĥ³":137398,"סקר":137399,"Ġ×Ķ×ŀ×Ĺ×Ļר":137400,"ãģ¨ãģĦãģĨãĤĤãģ®":137401,"رتبط":137402,"ĠиÑģÑĤоÑĩ":137403,"ĠиÑģÑĤоÑĩник":137404,"สมัà¸Ħรสมาà¸Ĭิà¸ģ":137405,"Ġà¸Ĺัà¹īà¸ĩ":137406,"Ġà¸Ĺัà¹īà¸ĩà¸Ļีà¹ī":137407,"ĠTáºŃp":137408,"ãģ£ãģ¦ãģĦãģĨ":137409,"ĠاÙĦÙĪØµÙĪÙĦ":137410,"Ġdécada":137411,"ĠоÑĦоÑĢм":137412,"ĠоÑĦоÑĢмлен":137413,"สำหรัà¸ļà¸ģาร":137414,"Ġogóln":137415,"ãģĨãģ¡ãģ«":137416,"Ġvárias":137417,"ãģĻãģİãĤĭ":137418,"ÙĪÙĩا":137419,"à¹Ĥà¸Ľà¸£à¸Ķ":137420,"ĠÐłÐ¾ÑģÑģиÑı":137421,"人ãĢħ":137422,"ãģĹãģ¦ãģįãģŁ":137423,"Ġsırasında":137424,"Ġngôn":137425,"سÙĨØ©":137426,"تÙħتع":137427,"×ŀ׼×ij×Ļ":137428,"Ġnhấn":137429,"×¢×ŀ×Ļ×ĵ":137430,"Ứ":137431,"жиÑĤÑĮ":137432,"ãĤīãģĽ":137433,"gráf":137434,"gráfica":137435,"ĠÙĤÙĪÙĦ":137436,"ĠÙĤÙĪÙĦÙĩ":137437,"ëĭ¨ì²´":137438,"หà¹īา":137439,"หà¹īาม":137440,"使ãģ£ãģ¦":137441,"ת×Ļ×ij":137442,"ת×Ļ×ijת":137443,"iá»ĥu":137444,"à¹ģà¸Ĭม":137445,"à¹ģà¸Ĭà¸¡à¸Ľ":137446,"à¹ģà¸Ĭà¸¡à¸Ľà¹Į":137447,"Ậ":137448,"ĠëĤĺëĿ¼":137449,"ĠÙħباشرة":137450,"ĠtrÄĥm":137451,"سÙĥÙĪ":137452,"ĠاÙĦذÙī":137453,"Ġbiç":137454,"Ġbiçim":137455,"تراجع":137456,"ĠобеÑģп":137457,"ĠобеÑģпеÑĩ":137458,"ĠобеÑģпеÑĩива":137459,"ĠвоздÑĥÑħ":137460,"ÑĭваÑĤÑĮ":137461,"ÙĦØŃÙĤ":137462,"ĠMüdü":137463,"ĠMüdürl":137464,"ĠMüdürlÃ¼ÄŁÃ¼":137465,"Ġyaptır":137466,"Ġפרס":137467,"Ġפרס×ķ×Ŀ":137468,"Ø·ÙĪØ±":137469,"ÑģÑĤвоваÑĤÑĮ":137470,"ìŀ¥ìĿĦ":137471,"à¸Ĺีà¹Īà¸Ķีà¸Ĺีà¹Īสุà¸Ķ":137472,"à¸Ńัล":137473,"ÑĢÑİ":137474,"ÙħستÙĤبÙĦ":137475,"ÑģлÑĥÑĪ":137476,"ÑģлÑĥÑĪа":137477,"èªįãĤģ":137478,"Ġ׾×Ļ×ŀ":137479,"Ġ׾×Ļ×ŀ×ķ×ĵ×Ļ":137480,"תש×ķ×ij":137481,"תש×ķ×ij×ķת":137482,"ĠgerçekleÅŁtiril":137483,"ĠاÙĦاتÙ쨧ÙĤ":137484,"ĠÑĥÑĢовне":137485,"ĠÑĤÑĢав":137486,"Ġ×Ķ×ŀ×ķף":137487,"ØŃÙģØ§Ø¸":137488,"ĠÙħÙIJ":137489,"ĠÙħÙIJÙĨ":137490,"ĠÙħÙIJÙĨÙĴ":137491,"Ġdemás":137492,"×ŀ×ķ×ĸ×Ļ×§×Ķ":137493,"ש×Ļ×Ĺ×Ķ":137494,"Ġbú":137495,"алÑĮнÑĭм":137496,"ãĤıãģŁ":137497,"ãĤıãģŁãģĹ":137498,"ĠاÙĦÙħÙĪØ§Ø¯":137499,"×ª×Ľ×ł":137500,"×ª×Ľ×ł×ķף":137501,"ãĥŃãĥĥãĤ¯":137502,"hiếu":137503,"ĠÑĥме":137504,"ÙħØŃاÙĪÙĦØ©":137505,"×IJ×ķשר":137506,"ĠконкÑĥÑĢ":137507,"ĠконкÑĥÑĢÑģ":137508,"Ġ×ŀ×ij×Ĺ":137509,"Ġ×ŀ×ij×Ĺ×Ļ×ł×ª":137510,"Ġanlam":137511,"Ġanlamı":137512,"Ġliá»ĩt":137513,"ĠвÑħод":137514,"ĠHình":137515,"ĠÙĨÙĬ":137516,"ĠÙĨÙĬÙĪØ²":137517,"ãĤ¸ãĥ£ãĥ¼":137518,"×ij×Ļ×¥":137519,"ÑĤелÑĮнÑĭÑħ":137520,"à¸Ĺุà¸ģà¸Ńยà¹Īาà¸ĩ":137521,"ĠkiÅŁinin":137522,"Ø£Ùĥثر":137523,"ĠиÑģÑĤоÑĢии":137524,"Ġë³ĢíĻĶ":137525,"×¤×ľ×¡×ĺ":137526,"×¤×ľ×¡×ĺ×Ļ׳×Ļ":137527,"ĠÑģеÑĤ":137528,"ĠÑģеÑĤи":137529,"dıģımız":137530,"íķĺëıĦë¡Ŀ":137531,"×Ķר":137532,"×Ķר×ij×Ķ":137533,"ãģĻãĤĭãģĵãģ¨ãģ¯":137534,"Ġphiếu":137535,"تØŃسÙĬÙĨ":137536,"ĠÅĽrod":137537,"ĠÅĽrodow":137538,"ĠÅĽrodowisk":137539,"ĠÑĢаÑģÑħод":137540,"برÙĬد":137541,"ĠرÙĬ":137542,"ĠرÙĬاÙĦ":137543,"Ġ×ķ׼×ļ":137544,"ì§ĢìļĶ":137545,"׼×ŀ×ķ":137546,"Ġ×¢×ľ×Ļ×Ķ×Ŀ":137547,"fÃŃcio":137548,"Ġkararı":137549,"tıģını":137550,"ĠСов":137551,"ĠСовеÑĤ":137552,"ãģĬéĩijãĤĴ":137553,"междÑĥ":137554,"междÑĥна":137555,"междÑĥнаÑĢод":137556,"междÑĥнаÑĢодн":137557,"Ġmá»Ŀi":137558,"ĠاÙĦØ¥ÙĬر":137559,"ĠاÙĦØ¥ÙĬراÙĨÙĬ":137560,"ĠاÙĦرÙĪØ³ÙĬ":137561,"صÙĨد":137562,"صÙĨدÙĪÙĤ":137563,"ĠاÙĦØ¥ÙĨترÙĨت":137564,"Ġtắm":137565,"ĠÑĤакого":137566,"Ġ×ij׾×ķ×Ĵ":137567,"Ġücrets":137568,"Ġücretsiz":137569,"×Ĺ×ĸ×Ļר":137570,"ìĸ´ìķ¼":137571,"ĠPhần":137572,"ï¼ľ":137573,"Ġ×ĺ×ij×¢":137574,"Ġ×ĺ×ij×¢×Ļ":137575,"×IJ×ŀ×IJ":137576,"اÙĤÙĦ":137577,"Ġcondições":137578,"ÙĤاتÙĦ":137579,"ĠÑĢезÑĥлÑĮÑĤаÑĤе":137580,"ĠÑģвоими":137581,"צ×ij×Ļ×¢":137582,"géni":137583,"Ġzes":137584,"Ġzespo":137585,"ĠzespoÅĤ":137586,"ÑĪив":137587,"Ġפר×ĺ×Ļ×ķת":137588,"ÙħستشÙģ":137589,"ÙħستشÙģÙī":137590,"شرع":137591,"ĠkoÅĽci":137592,"Ġ×Ķ×IJ×Ļ׳×ĺר׳×ĺ":137593,"ĠЧеÑĢ":137594,"поÑĩÑĤ":137595,"Ġactivités":137596,"çŁ¥ãģ£ãģ¦":137597,"Ġ×ij×ĸ×Ķ":137598,"Ġyüzden":137599,"ãģªãĤĬãģ¾ãģĽãĤĵ":137600,"Ġíĺ¹":137601,"Ġíĺ¹ìĿĢ":137602,"Ġ×ŀש׳×Ķ":137603,"ĠÐĴеÑĢ":137604,"Ġ×ij×IJ×ķת×ķ":137605,"éĿ¢çϽ":137606,"éĿ¢çϽãģĦ":137607,"شرØŃ":137608,"gründe":137609,"Ù쨴":137610,"Ù쨴ÙĦ":137611,"Ġséjour":137612,"ë´IJ":137613,"Ġrôle":137614,"شعار":137615,"емÑĭе":137616,"ĠاÙĦجسÙħ":137617,"алÑĮное":137618,"Ġìĥģíĥľ":137619,"D":137620,"ë¯Ģë¡ľ":137621,"ĠÙĨÙĤØ·":137622,"ĠÙĨÙĤطة":137623,"ãģĿãģĨãģł":137624,"ãģĻãĤĭãģ®ãģĮ":137625,"หู":137626,"Ġnhá»ĭ":137627,"Ġeconómica":137628,"ס×ĺ×ķ×ĵ":137629,"ס×ĺ×ķ×ĵ׳×ĺ":137630,"มีà¹Ĥà¸Ńà¸ģาส":137631,"Ġgestão":137632,"รูà¹īวà¹Īา":137633,"Ġloạt":137634,"ĠاÙĦÙħÙı":137635,"ĠاÙĦØŃÙħÙĦ":137636,"ĠاÙĦعÙħÙĦÙĬØ©":137637,"Ġê²ĥëıĦ":137638,"ĠÐľÐ¾Ñģква":137639,"×§×ĺ×ķר":137640,"ĠподÑĢоб":137641,"ĠподÑĢобн":137642,"Ġlưng":137643,"تÙ쨳":137644,"تÙ쨳ÙĬر":137645,"ĠاÙĦبع":137646,"ĠاÙĦبعض":137647,"ئت":137648,"ÐķÐĿ":137649,"ìĹ°êµ¬":137650,"à¹ĥหà¹īà¸Ħุà¸ĵ":137651,"ãģĤãĤĬãģ¾ãģĹãģŁ":137652,"Ġbirka":137653,"Ġbirkaç":137654,"Ġİsl":137655,"Ġİslam":137656,"çĹĽãģ¿":137657,"Ġhảo":137658,"ĠмаÑı":137659,"ĠiÅŁÃ§i":137660,"ש×":137661,"ש×ģ":137662,"à¸ģารà¹Ģมืà¸Ńà¸ĩ":137663,"×ķ×Ķר":137664,"Ġchó":137665,"ëĨĢ":137666,"Ġyanlı":137667,"ĠyanlÄ±ÅŁ":137668,"幸ãģĽ":137669,"×IJר×Ĵ×ķ׳×Ļ":137670,"à¸Ńาà¸Īาร":137671,"à¸Ńาà¸Īารยà¹Į":137672,"ĠинÑĦоÑĢмаÑĨиÑİ":137673,"ÐĵÐŀ":137674,"׳×Ĺש":137675,"ĠìķĮìķĦ":137676,"ĠÑħаÑĢакÑĤеÑĢиÑģÑĤ":137677,"ĠÑħаÑĢакÑĤеÑĢиÑģÑĤик":137678,"à¸Ħุà¸ĵสามารà¸ĸ":137679,"è¦ĭãģĪãĤĭ":137680,"à¸Ĭัà¸Ķà¹Ģà¸Ī":137681,"à¸Ĭัà¸Ķà¹Ģà¸Īà¸Ļ":137682,"ĠdziaÅĤal":137683,"ĠdziaÅĤalnoÅĽci":137684,"à¹Ĥà¸ŀสà¸ķà¹Į":137685,"ĠÐļол":137686,"ĠÙģÙĩÙĬ":137687,"Ġ×ŀפ׳×Ļ":137688,"Ġ×Ķקשר":137689,"ÙħرÙĥ":137690,"ÙħرÙĥز":137691,"Ġhoá":137692,"Ġапп":137693,"ĠаппаÑĢаÑĤ":137694,"Ġpami":137695,"ĠpamiÄĻ":137696,"ĠpamiÄĻta":137697,"Ġçünkü":137698,"×ĵ×ķף":137699,"ãģ¯ãģĵãģ¡ãĤī":137700,"ĠMÃł":137701,"ĠÙĬÙĤدÙħ":137702,"ĠпÑĢез":137703,"ĠпÑĢезиденÑĤ":137704,"à¸Ńุà¸ķ":137705,"à¸Ńุà¸ķสา":137706,"à¸Ńุà¸ķสาห":137707,"à¸Ńุà¸ķสาหà¸ģรรม":137708,"ì§ĢìĽIJ":137709,"Ġ×IJפשר×ķת":137710,"schüt":137711,"schütz":137712,"ĠTiên":137713,"Ġsayılı":137714,"ĠгÑĢÑĥппÑĭ":137715,"оÑĩнÑĭй":137716,"Ġ×ľ×¢×ŀ×ķ×ĵ":137717,"ĠwrzeÅĽ":137718,"ĠwrzeÅĽnia":137719,"ĠÄIJầu":137720,"à¹Ģà¸Ĥà¹īารà¹Īวม":137721,"nızda":137722,"Ø®ÙĬص":137723,"Ġgünc":137724,"Ġgüncel":137725,"ĠÙĦÙĩذÙĩ":137726,"ĠÙĬعتبر":137727,"légi":137728,"ãĤıãģĭãĤĭ":137729,"Ġrừng":137730,"ظÙĩ":137731,"ظÙĩÙĪØ±":137732,"Ġ×ŀ×ij×Ļף":137733,"Ġ기íĥĢ":137734,"åĪĩãĤĮ":137735,"lanmÄ±ÅŁ":137736,"à¸Ĺีà¹Īมีà¸Ħวาม":137737,"Ġhá»ģ":137738,"تÙĪØ¬Ùĩ":137739,"ĠاÙĦإدارة":137740,"Ġútil":137741,"ספ×ķ":137742,"à¸Ħวามรัà¸ģ":137743,"à¹Ĥฮ":137744,"ĠполиÑĤ":137745,"ĠполиÑĤик":137746,"Ġsatın":137747,"ĠÅŀimdi":137748,"×ŀ×ķר×Ļ×Ŀ":137749,"ìķĺëĭ¤":137750,"×Ĺ×ķ×ķ":137751,"×Ĺ×ķ×ķ×Ļ×Ķ":137752,"à¸Ħà¸Ńมà¸ŀิ":137753,"à¸Ħà¸Ńมà¸ŀิว":137754,"à¸Ħà¸Ńมà¸ŀิวà¹Ģà¸ķà¸Ńรà¹Į":137755,"Ġاذا":137756,"تخاذ":137757,"ãĤ¨ãĥ«":137758,"Ġpossibilité":137759,"ยืà¸Ļยัà¸Ļ":137760,"Ġünivers":137761,"Ġüniversite":137762,"ĠاÙĦدÙĪØ±ÙĬ":137763,"ĠìķĬëĬĶëĭ¤":137764,"ĠìĦľë¡ľ":137765,"ØŃاÙĦ":137766,"Ġë¨":137767,"Ġ먼":137768,"Ġ먼ìłĢ":137769,"à¸Ĺีà¹Īà¸ĸูà¸ģ":137770,"ì§ľ":137771,"Ġskóry":137772,"лÑĮÑĨ":137773,"à¹ĥà¸Ĭà¹īà¹Ģวลา":137774,"×ijקשת":137775,"ĠذÙĪ":137776,"æĹ¥ãĢħ":137777,"ĠкоÑĤоÑĢÑĥÑİ":137778,"ĠÑĥÑĢовенÑĮ":137779,"깨":137780,"à¹Ħà¸Ĺ":137781,"ãĤµãĥĹãĥª":137782,"ãĤ¸ãĥ§ãĥ³":137783,"ãģĻãģ¹ãģį":137784,"ĠGór":137785,"ãĥĪãĤ¤":137786,"ãĥĪãĤ¤ãĥ¬":137787,"ĠyaÅŁama":137788,"Ġdá»ĭp":137789,"Ġbữa":137790,"à¸ĭุ":137791,"Ġölüm":137792,"ãģ£ãģ¦ãģıãĤĭ":137793,"à¸ģารà¸Ħà¹īา":137794,"שער":137795,"ĠÑĤипа":137796,"ĠгеÑĢ":137797,"ĠгеÑĢо":137798,"רקע":137799,"Ġuważ":137800,"Ġuważa":137801,"ש×ŀף":137802,"Ġhastalık":137803,"ãĤıãĤĮãĤĭ":137804,"baÅŁÄ±":137805,"ÑĩÑĤо":137806,"Ġ×ij×ŀר׼×ĸ":137807,"Ġìļ°ë¦¬ìĿĺ":137808,"ĠÙĥاÙĨÙĪØ§":137809,"Ġأبر":137810,"ĠأبرÙĬÙĦ":137811,"층":137812,"à¹Ħà¸Ĥà¹Ī":137813,"ĠÙĪÙĦÙĪ":137814,"à¸Ĺัว":137815,"à¸Ĺัวรà¹Į":137816,"ĠÙĪØ£Ùĥد":137817,"à¸Ĭวà¸Ļ":137818,"׾×ķ×§":137819,"æį¨":137820,"æį¨ãģ¦":137821,"Ġİçin":137822,"péri":137823,"Ġyal":137824,"Ġyalnız":137825,"ÑĮÑıн":137826,"Ġgắng":137827,"à¸ģà¹ĩยัà¸ĩ":137828,"ĠУкÑĢаин":137829,"ĠÑģами":137830,"ĠпÑĢоведен":137831,"à¸ķà¸ģà¹ģà¸ķà¹Īà¸ĩ":137832,"ĠQuân":137833,"éparation":137834,"ĠbaÅŁÄ±nda":137835,"Ġznale":137836,"Ġznaleź":137837,"ĠznaleźÄĩ":137838,"ãĤ±ãĥ¼":137839,"ãĥİãĥ¼":137840,"à¸ĸูà¸ģà¸ķà¹īà¸Ńà¸ĩ":137841,"몸":137842,"ĠëıĮ":137843,"ĠëıĮìķĦ":137844,"ĠSchüler":137845,"ĠподгоÑĤов":137846,"ĠподгоÑĤовк":137847,"عرÙĪ":137848,"عرÙĪØ¶":137849,"laÅŁtır":137850,"ĠÑģоÑģÑĤавлÑıеÑĤ":137851,"ĠпÑĢоизвод":137852,"ĠпÑĢоизводÑģÑĤва":137853,"ĠоÑģнове":137854,"ĠØ´ÙħاÙĦ":137855,"à¸ģรี":137856,"ĠgörÃ¼ÅŁme":137857,"оÑĩек":137858,"Ġ×Ĺ×ijר×Ļ×Ŀ":137859,"Ùħخاط":137860,"Ùħخاطر":137861,"ï¼Ń":137862,"רפ×IJ":137863,"ĠMẹ":137864,"ยà¸Ńมรัà¸ļ":137865,"Ġvết":137866,"خذ":137867,"ĠاÙĦتط":137868,"ĠاÙĦتطبÙĬÙĤ":137869,"à¸Ļึà¸ģ":137870,"Ġ×Ķ×Ľ×ł×¡×ª":137871,"ĠогÑĢани":137872,"ĠогÑĢаниÑĩен":137873,"ĠÃĩalÄ±ÅŁ":137874,"ĠاÙĦÙħÙĨتدÙī":137875,"à¸Īำà¸Ļวà¸Ļมาà¸ģ":137876,"ĠÑĤоÑĢÑĢ":137877,"ĠÑĤоÑĢÑĢенÑĤ":137878,"ĠìĤ´ìķĦ":137879,"à¸ŀลัà¸ĩà¸ĩาà¸Ļ":137880,"à¸Ĭัà¸Ļ":137881,"ĠÐIJндÑĢ":137882,"Ġréalisé":137883,"×ŀש×IJ":137884,"à¹ģà¸Ĭ":137885,"à¹ģà¸Ĭรà¹Į":137886,"Ġбог":137887,"มาà¹ģลà¹īว":137888,"ĠاÙĦÙĨار":137889,"Ġolmadıģı":137890,"×ĵ×¢×Ķ":137891,"ĠÑĥвеÑĢ":137892,"ĠÑĥвеÑĢен":137893,"ãĤĭãĤĤãģ®":137894,"أد":137895,"أدÙĪØ§Øª":137896,"Ġ×Ķ×ĸ×ķ×Ĵ":137897,"إعÙĦاÙħ":137898,"há»ı":137899,"ĠNähe":137900,"ĠÑĤеÑģÑĤ":137901,"Ġ×ŀ×ķ׼ר":137902,"Ġë¬¸ìłľê°Ģ":137903,"ת×ķצ×IJ×Ķ":137904,"mó":137905,"móvel":137906,"ĠاÙĦتجارة":137907,"ĠмногиÑħ":137908,"обÑīа":137909,"Ġעסק×Ļ":137910,"ĠEducação":137911,"קש×Ļ×Ŀ":137912,"établ":137913,"établissement":137914,"Ġделе":137915,"иÑĢÑĥеÑĤÑģÑı":137916,"آثار":137917,"Ġ×Ķ×ŀר׼×ĸ×Ļ":137918,"ãĥIJãĥ«":137919,"ĠвÑģÑĤÑĢеÑĩ":137920,"ãģĴãĤĭ":137921,"ĠciÄħ":137922,"ĠciÄħgu":137923,"ÙĬست":137924,"à¸łà¸²à¸§":137925,"à¸łà¸²à¸§à¸°":137926,"Ø£Ùħر":137927,"Ġожи":137928,"Ġожида":137929,"Ġá»§y":137930,"ãĥŀãĥ«":137931,"راس":137932,"оÑĩной":137933,"ת×Ĵ×ķ×ij×ķת":137934,"تعرÙĬÙģ":137935,"ĠÑģоÑĨиалÑĮно":137936,"ãĤĴéĸĭ":137937,"ĠиÑģÑģледова":137938,"Ġdú":137939,"Ġdúvida":137940,"ĠskÅĤ":137941,"ĠskÅĤada":137942,"Ġhäufig":137943,"ĠвÑĭбÑĢ":137944,"ĠвÑĭбÑĢаÑĤÑĮ":137945,"ãģ®ãģ§ãģ¯ãģªãģĦãģĭ":137946,"ĠÑģилÑĮно":137947,"ÑĤвеÑĢжден":137948,"רפ":137949,"רפ×ķ×IJ×Ķ":137950,"æĢĿãģĦãģ¾ãģĻ":137951,"ØŃرص":137952,"ש×ķתף":137953,"Ùħسجد":137954,"à¹Ĥà¸Ĭวà¹Į":137955,"емÑģÑı":137956,"вÑĪие":137957,"Ġмл":137958,"Ġмлн":137959,"Ġ׾×Ķ×ij×Ļ×IJ":137960,"ĠÙĬتعÙĦÙĤ":137961,"à¸ķูà¹ī":137962,"ĠпÑĢаз":137963,"ĠпÑĢазд":137964,"ĠпÑĢаздник":137965,"Ġнем":137966,"Ġнемного":137967,"ĠsÃłng":137968,"تÙĨسÙĬ":137969,"تÙĨسÙĬÙĤ":137970,"Ġtá»Ŀ":137971,"Ġмеди":137972,"ã쫿Ī":137973,"ã쫿λ":137974,"à¸Ħวà¹īา":137975,"ãģĭãģijãĤĭ":137976,"×ij׾×ķת":137977,"ĠÑįкÑģп":137978,"ĠÑįкÑģпеÑĢÑĤ":137979,"ĠдевÑĥÑĪ":137980,"ĠдевÑĥÑĪк":137981,"ĠØŃص":137982,"ÙĨشأ":137983,"ãģĮãģĤãĤĭãģ®ãģ§":137984,"ĠتراÙħ":137985,"ĠتراÙħب":137986,"أسÙĪØ§ÙĤ":137987,"Ġ׾פ׳×ķת":137988,"Ġاﻷ":137989,"ãģ«ãģı":137990,"ãģ«ãģıãģĦ":137991,"ĠأعÙĦÙī":137992,"Ġ׾×Ķ×ŀש×Ļ×ļ":137993,"räu":137994,"ש×ŀ×Ļ×Ŀ":137995,"åĪĨãģij":137996,"ãģĻãģ§":137997,"ãģĻãģ§ãģ«":137998,"×Ķ׾׼×Ķ":137999,"×Ĺ׾×Ļ×£":138000,"Ġì±ħ":138001,"Ġì±ħìŀĦ":138002,"à¹Ģà¸Īริ":138003,"à¹Ģà¸Īริà¸į":138004,"éģĬãģ³":138005,"جسد":138006,"สาà¸ĺ":138007,"สาà¸ĺาร":138008,"สาà¸ĺารà¸ĵ":138009,"Ġbasın":138010,"ÑĢаг":138011,"гад":138012,"ĠhoÅŁ":138013,"íķµ":138014,"×ij×Ĺ×Ļר×Ķ":138015,"×ŀס×ļ":138016,"ĠìłľíĴĪ":138017,"تÙħÙĪÙĬÙĦ":138018,"ĠLưu":138019,"ë¡ľë¶ĢíĦ°":138020,"Ġпоб":138021,"Ġпобед":138022,"ÙħÙĨذ":138023,"常ãģ«":138024,"ÙĤس":138025,"ĠاÙĦÙħصدر":138026,"ĠÙĪØ§ÙĦاست":138027,"Ġkhắp":138028,"ĠاÙĦجاÙĨب":138029,"Ġnguyá»ĩn":138030,"éĸĵéģķãģĦ":138031,"ĠÑģÑĤÑĢа":138032,"ĠÑģÑĤÑĢаÑħ":138033,"ĠÑģÑĤÑĢаÑħов":138034,"รีà¸ļ":138035,"Ġxương":138036,"Ġì°¾":138037,"Ġì°¾ìķĦ":138038,"Ġngại":138039,"гал":138040,"à¸ĭีà¹Ī":138041,"Ġ×ijפ×Ļ×Ļס×ij×ķ×§":138042,"ЦенÑĤÑĢ":138043,"Ġavaliação":138044,"Ġeconómico":138045,"×ĸף":138046,"ĠÐľÐ°Ðº":138047,"Ġinterés":138048,"à¸ģลิà¹Īà¸Ļ":138049,"ÑģÑĤÑĮÑİ":138050,"ĠÄijương":138051,"å¼·ãģı":138052,"ĠKhách":138053,"à¹Ģà¸Ļืà¹īà¸Ńหา":138054,"ĠYazı":138055,"è²·ãģ£ãģ¦":138056,"ÐłÐķ":138057,"à¹Ģà¸ŀิà¹Īมà¸Ĥึà¹īà¸Ļ":138058,"สมà¸ļู":138059,"สมà¸ļูรà¸ĵà¹Į":138060,"ĠмиÑĢов":138061,"×Ĵ׳×Ļ×Ŀ":138062,"ĠÄijức":138063,"à¸Ńารà¹Į":138064,"صاص":138065,"ãģĬãĤĪ":138066,"ãģĬãĤĪãģ³":138067,"êÌī":138068,"ĠاÙĦÙħؤتÙħر":138069,"ĠاÙĦÙħرØŃÙĦØ©":138070,"สà¸Ńà¸ļà¸ĸาม":138071,"Ġà¸Īาà¸ģà¸Ļัà¹īà¸Ļ":138072,"Ġتعد":138073,"ãģĿãģ®ãģŁãĤģ":138074,"Ġkháng":138075,"à¸Ļิà¸Ķ":138076,"ãĥĬãĥ³":138077,"ëĦ¤ìļĶ":138078,"ĠاÙĦاØŃت":138079,"ĠاÙĦاØŃتÙĦاÙĦ":138080,"ìļķ":138081,"Ġмодели":138082,"ĠпÑĢоÑĨенÑĤ":138083,"à¸ŀวà¸ģà¹Ģรา":138084,"Ġ×Ķצ×ĵ":138085,"Ġ×Ķצ×ĵ×ĵ×Ļ×Ŀ":138086,"stände":138087,"׳×Ĵר":138088,"Ġdotyc":138089,"ĠdotyczÄħ":138090,"ĠdotyczÄħce":138091,"ĠÅĽwiÄĻt":138092,"×ŀר×Ķ":138093,"ãģĻãģĶãģĦ":138094,"ãĥĩãĤ£ãĥ³ãĤ°":138095,"à¸ģารสรà¹īาà¸ĩ":138096,"ëĤ¬":138097,"Ġì°¸ìŬ":138098,"ÑģÑħ":138099,"ÑģÑħем":138100,"ÙħÙĪØ³":138101,"Ġnấu":138102,"Ġ׾×ŀ×¢×ľ×Ķ":138103,"à¹Ģà¸Ľà¹īา":138104,"à¹Ģà¸Ľà¹īาหมาย":138105,"Ġmùi":138106,"ائز":138107,"íĽĪ":138108,"×Ĺ×ij×ķר×Ķ":138109,"à¸ľà¸¹à¹īà¹ĥà¸Ĭà¹ī":138110,"Ġpaź":138111,"Ġpaździ":138112,"Ġpaździern":138113,"Ġpaździernika":138114,"ลà¸ĩà¹Ħà¸Ľ":138115,"ÙĤاع":138116,"ĠcháºŃm":138117,"Ġözellikleri":138118,"ĠÄIJo":138119,"ĠÄIJoÃłn":138120,"жение":138121,"Ġhẳ":138122,"Ġhẳn":138123,"ĠaÅŁk":138124,"ï½į":138125,"ãĥijãĤ¹":138126,"×Ķ×ķר×IJ×ķת":138127,"ĠÅ»":138128,"ĠÅ»y":138129,"×ŀ×ĸ׾":138130,"ĠÑĥкÑĢа":138131,"ĠÑĥкÑĢаин":138132,"à¹Ģà¸Ĭิ":138133,"à¹Ģà¸Ĭิà¸į":138134,"ÐłÐĺ":138135,"ĠzwiÄħzku":138136,"×Ķ×Ĺ׾×ĺת":138137,"ãĤĵãģ§ãģĻãĤĪãģŃ":138138,"ãģ¦ãģĬãĤĬ":138139,"ложиÑĤÑĮ":138140,"×ŀ×ķ׳×Ļ×Ŀ":138141,"ฮิ":138142,"ì°¬":138143,"ĠاÙĦÙħشترÙĥ":138144,"ĠdÃ¼ÅŁÃ¼k":138145,"агенÑĤ":138146,"ĠاÙĦأسبÙĪØ¹":138147,"ĠÙĤرÙĬب":138148,"инд":138149,"индив":138150,"индивид":138151,"индивидÑĥ":138152,"индивидÑĥалÑĮн":138153,"förder":138154,"Ġseçen":138155,"Ġseçenek":138156,"Ġétant":138157,"ĠлÑİбим":138158,"казÑĭваеÑĤ":138159,"วิà¸Ļ":138160,"Ġ×Ķ×ij×IJ×Ļ×Ŀ":138161,"Ġдов":138162,"ĠдоволÑĮ":138163,"ĠдоволÑĮно":138164,"×¢×ĵ×Ļ×£":138165,"Ġokre":138166,"ĠokreÅĽ":138167,"ĠokreÅĽlon":138168,"ĠترÙĬد":138169,"à¹Ģมืà¹Īà¸Ńวัà¸Ļà¸Ĺีà¹Ī":138170,"ãĤĪãģĭãģ£ãģŁ":138171,"Cumh":138172,"Cumhur":138173,"Cumhurba":138174,"CumhurbaÅŁ":138175,"CumhurbaÅŁkan":138176,"CumhurbaÅŁkanı":138177,"Ġnợ":138178,"à¸ľà¸¹à¹īà¹Ģลà¹Īà¸Ļ":138179,"Ġcomplète":138180,"à¹Ģà¸ŀศ":138181,"دÙIJ":138182,"Ġdüz":138183,"Ġdüzey":138184,"ãģ§ãģĤãĤĭãģĵãģ¨":138185,"extérieur":138186,"׳":138187,"Ġinformação":138188,"ãĤ¯ãĥªãĥĭãĥĥãĤ¯":138189,"ĠPubli":138190,"ĠPublié":138191,"ר×ķ×ĵ":138192,"à¸Ħà¸§à¸²à¸¡à¸Ľà¸¥à¸Ńà¸Ķà¸łà¸±à¸¢":138193,"ĠØ£ÙĬض":138194,"ĠØ£ÙĬضÙĭا":138195,"تسبب":138196,"ãģ¤ãĤĤãĤĬ":138197,"изма":138198,"à¸Ĥึà¹īà¸Ļà¹Ħà¸Ľ":138199,"ÙĥÙIJ":138200,"ÙĦÙĪÙħ":138201,"Ġשצר":138202,"Ġשצר×Ļ×ļ":138203,"ãģ¯ãĤĤãģ¡ãĤįãĤĵ":138204,"Ġкан":138205,"Ġканал":138206,"ãģ«ãģªãģ£ãģ¦ãģĦãģ¾ãģĻ":138207,"ĠاÙĦØ£Ùĥثر":138208,"تاØŃ":138209,"ÙĨتÙĩ":138210,"ÙĨتÙĩاء":138211,"اÙĪÙĬØ©":138212,"ĠBugün":138213,"нÑģкого":138214,"à¸Ķà¹Īวà¸Ļ":138215,"évolution":138216,"ãģ£ãģ¦ãģĦãģ¾ãģĹãģŁ":138217,"ãĤħ":138218,"ĠVương":138219,"à¸łà¸²à¸ŀย":138220,"à¸łà¸²à¸ŀยà¸Ļ":138221,"à¸łà¸²à¸ŀยà¸Ļà¸ķรà¹Į":138222,"Ġ×Ķצ׾×Ļ×Ĺ":138223,"ĠاÙĦإسÙĦاÙħÙĬ":138224,"ÙĦÙĬب":138225,"Ġedição":138226,"ÑģÑĤÑĢел":138227,"Ġkhúc":138228,"ÙĨÙħÙĪØ°":138229,"ÙĨÙħÙĪØ°Ø¬":138230,"׾צ×Ķ":138231,"ÑģÑĤавил":138232,"à¸ĸา":138233,"สรà¹īาà¸ĩà¸Ħวาม":138234,"ãģĦãģ£ãģ±":138235,"ãģĦãģ£ãģ±ãģĦ":138236,"ÑģÑĤавлен":138237,"ĠاÙĦÙĤدس":138238,"Ġngược":138239,"بخ":138240,"สหร":138241,"สหรั":138242,"สหรัà¸IJ":138243,"Ġأغ":138244,"Ġأغسط":138245,"Ġأغسطس":138246,"ãģĨãģ¾":138247,"ãģĨãģ¾ãģı":138248,"ĠêµŃìłľ":138249,"ØŃضار":138250,"Ġdừng":138251,"æĬ¼ãģĹ":138252,"تÙĪØ§":138253,"تÙĪØ§Ø¬Ø¯":138254,"ש×ŀ×Ĺ×Ķ":138255,"ãģıãĤĵ":138256,"Ġ×ijעצ":138257,"Ġ×ijעצ×Ŀ":138258,"×ŀ׳×Ļ×ķת":138259,"×ķ×Ļ×ĵ":138260,"×ķ×Ļ×ĵ×IJ×ķ":138261,"à¸Ĭิà¸ĩ":138262,"ĠpracÄĻ":138263,"ĠзаÑĤ":138264,"ĠзаÑĤем":138265,"ĠìŀIJìľł":138266,"Ġì¤Ģ":138267,"Ġì¤Ģë¹Ħ":138268,"ĠbáºŃ":138269,"ĠbáºŃc":138270,"Ġ×Ķ×ŀצ×ij":138271,"ĠÙĤÙĬÙħØ©":138272,"à¹Ģà¸Ńà¹Ģà¸Ĭ":138273,"à¹Ģà¸Ńà¹Ģà¸Ĭีย":138274,"Ġperchè":138275,"ĠاÙĦعسÙĥر":138276,"ĠاÙĦعسÙĥرÙĬØ©":138277,"جÙĬب":138278,"ëŀµ":138279,"ÙħÙĩر":138280,"ÙħÙĩرجاÙĨ":138281,"ÙħراÙĥ":138282,"ÙħراÙĥز":138283,"Ġоднако":138284,"à¸Ķีà¹Ĩ":138285,"Ġצפ×ķ":138286,"Ġkullanılan":138287,"Ġкино":138288,"ãĥĨãĤ£ãĥ³ãĤ°":138289,"ĠGiỼi":138290,"تÙĪØ²":138291,"تÙĪØ²ÙĬع":138292,"ยิà¸Ļ":138293,"ยิà¸Ļà¸Ķี":138294,"ĠcÅĵur":138295,"ĠiÅŁaret":138296,"Ġ×ij×¢×ĸר":138297,"Ġ×ij×¢×ĸרת":138298,"ĠпаÑĨи":138299,"ĠпаÑĨиенÑĤ":138300,"ãģ¿ãģŁãģĦãģ§ãģĻ":138301,"вез":138302,"лина":138303,"оде":138304,"Ġ×IJ×ķ×ª×Ł":138305,"dıģınız":138306,"ĠÐIJв":138307,"ĠÐIJвÑĤоÑĢ":138308,"ï¼®":138309,"ĠCần":138310,"ĠاÙĦاخ":138311,"ĠاÙĦاخبار":138312,"Ġê±°ìĿĺ":138313,"Ġatenção":138314,"ĠgeldiÄŁi":138315,"ãĤªãĤ¹":138316,"ãĤªãĤ¹ãĤ¹":138317,"ãĤªãĤ¹ãĤ¹ãĥ¡":138318,"евÑĭе":138319,"кÑĢÑĭл":138320,"à¹Ģà¸Ĭียà¸ĩ":138321,"à¹Ģà¸Ĭียà¸ĩà¹ĥหมà¹Ī":138322,"Ġmarço":138323,"ĠاÙĦÙħادة":138324,"Ġгол":138325,"Ġsprzedaży":138326,"Ġíķ´ê²°":138327,"ĠÐķго":138328,"ê¹Ģ":138329,"Ġ׾ק×ij×ľ×ª":138330,"ĠاÙĦÙģÙĨاÙĨ":138331,"Ġcomunicación":138332,"à¹Ģสà¹īà¸Ļà¸Ĺาà¸ĩ":138333,"íĺ¹":138334,"à¸Ĭำ":138335,"à¸Ĭำระ":138336,"Ġ׼×IJ×ŀ":138337,"Ġ׼×IJ×ŀ×ķר":138338,"à¸Ĭà¹Īาà¸ĩ":138339,"زÙĩر":138340,"Ġklientów":138341,"иваÑİÑĤ":138342,"анг":138343,"׳×ļ":138344,"Ġgá»įn":138345,"ÃľR":138346,"ìĺģìĥģ":138347,"Ġغزة":138348,"ìĿĮìĿĦ":138349,"Ġbezpo":138350,"ĠbezpoÅĽ":138351,"ĠbezpoÅĽredni":138352,"ĠاÙĦÙħÙĪØ§":138353,"ĠاÙĦÙħÙĪØ§Ø·ÙĨ":138354,"ĠاÙĦÙħÙĪØ§Ø·ÙĨÙĬÙĨ":138355,"ãĤĮãģ¾ãģĻ":138356,"ĠмаÑĤÑĩ":138357,"×IJ×ķף":138358,"ĠرسÙħÙĬ":138359,"ĠÑįкон":138360,"ĠÑįконом":138361,"ĠÑįкономиÑĩеÑģк":138362,"ãĥľãĥ¼":138363,"ĠдиÑĢ":138364,"ĠдиÑĢекÑĤоÑĢ":138365,"ĠÑģкоÑĢо":138366,"à¸ļำ":138367,"à¸ļำร":138368,"à¸ļำรุà¸ĩ":138369,"ĠÑĦÑĥÑĤ":138370,"ĠÑĦÑĥÑĤбол":138371,"Ġ×IJ×Ļ׾":138372,"Ġì¤ijêµŃ":138373,"ìľ¤":138374,"eÄŁe":138375,"à¹Ħà¸ģà¹Ī":138376,"traî":138377,"traîn":138378,"ĠÑĤÑĢÑĥб":138379,"à¹Ģà¸ļื":138380,"à¹Ģà¸ļืà¹īà¸Ńà¸ĩ":138381,"à¹ģมà¸Ļ":138382,"ĠتØŃدÙĬØ«":138383,"Ġ×Ľ×¢×ª":138384,"ØŃاسب":138385,"lıģa":138386,"×§×Ļ×Ļ×ŀ×Ļ×Ŀ":138387,"оÑģÑĤÑĮÑİ":138388,"à¸Ŀั":138389,"à¸Ŀัà¹Īà¸ĩ":138390,"شغÙĦ":138391,"ìĽ¹":138392,"Ġкаждого":138393,"Ġbölümü":138394,"หà¸Ļี":138395,"ĠistediÄŁi":138396,"Ġtrưng":138397,"ãĥĮ":138398,"ฮà¸Ń":138399,"Ø£ÙĨØ´":138400,"Ø£ÙĨشطة":138401,"ĠاÙĦÙħسÙĬ":138402,"ĠاÙĦÙħسÙĬØŃ":138403,"ลัà¸ģษà¸ĵà¹Į":138404,"Ġná»Ńa":138405,"à¸Ĺีà¹Īà¸ķà¹īà¸Ńà¸ĩà¸ģาร":138406,"ÑĪек":138407,"лÑij":138408,"Ġש×Ļ×Ķ":138409,"Ġש×Ļ×Ķ×Ļ×Ķ":138410,"Ġkhuôn":138411,"ĠÑĤÑĢебованиÑı":138412,"Ġ×ľ×¢×ĸ×ķר":138413,"ĠاÙĦعÙħر":138414,"ราà¸Ħาà¸ĸูà¸ģ":138415,"ÙĩÙıÙħÙĴ":138416,"üst":138417,"üstü":138418,"Ġденег":138419,"Ġnạ":138420,"à¸Ĥà¸Ļม":138421,"Ġблаг":138422,"Ġблагод":138423,"ĠблагодаÑĢ":138424,"ĠблагодаÑĢÑı":138425,"إسÙĦاÙħ":138426,"à¸Ļิว":138427,"çŁ¥ãĤīãģªãģĦ":138428,"Ø«ÙĤØ©":138429,"ĠголоÑģ":138430,"×IJ×ķר×Ĺ":138431,"Ġtrứng":138432,"Ġодном":138433,"ĠkoÅĦcu":138434,"Ġ×ķרק":138435,"WiÄĻ":138436,"WiÄĻcej":138437,"Ġ×IJ×Ļ׼×ķת":138438,"Ġ×IJ×Ļ׼×ķת×Ļ":138439,"ÑģоÑģ":138440,"Ġjeżeli":138441,"以ä¸ĭãģ®":138442,"å°ıãģķ":138443,"å°ıãģķãģª":138444,"ологии":138445,"ĠобÑģлÑĥж":138446,"ĠобÑģлÑĥжива":138447,"Ùĥتابة":138448,"Ġê´Ģìĭ¬":138449,"עש×Ļר":138450,"Ġarasındaki":138451,"ĠÑĢайона":138452,"ÙĪØ§Ø¬Ø¨":138453,"Ġ×ij×Ĺ×Ļ×Ļ":138454,"íķ´ì£¼":138455,"Ġgóc":138456,"айл":138457,"ĠTình":138458,"æļ®ãĤī":138459,"æļ®ãĤīãģĹ":138460,"æĻĤãģ«ãģ¯":138461,"ĠгоÑĢоде":138462,"Ġ׼×IJ×Ļ׾":138463,"Ġ׼×IJ×Ļ׾×ķ":138464,"ĠCá»Ļng":138465,"ãģ©ãģĨãģĹãģ¦ãĤĤ":138466,"×Ĺ×ķ×£":138467,"تØŃرÙĥ":138468,"ĠÑģловам":138469,"à¸Īะà¸Ĭà¹Īวย":138470,"ĠاÙĦÙħستÙĤبÙĦ":138471,"ÙĤض":138472,"ÙĤضÙĬ":138473,"×ijס×ķפ":138474,"×ijס×ķפ×ķ":138475,"iÄĻÄĩ":138476,"ĠYıl":138477,"Ø´ÙĬØ®":138478,"à¸Ħุà¸ĵà¸Īะ":138479,"ש×ŀ×ķת":138480,"Ġتعرض":138481,"Ġanálise":138482,"ĠÑģобиÑĢа":138483,"à¹Ģà¸ŀà¸Ĭ":138484,"à¹Ģà¸ŀà¸Ĭร":138485,"Ġвели":138486,"Ġвелик":138487,"สัà¹īà¸Ļ":138488,"Ġpopulação":138489,"รà¹Īวมà¸ģัà¸Ļ":138490,"×Ĺ×ŀ":138491,"×Ĺ×ŀ×Ļש×Ļ":138492,"ס×Ļס":138493,"åĨħãģ§":138494,"ĠsobÄħ":138495,"ĠYay":138496,"ĠYayın":138497,"ãĥ¡ãĥĭãĥ¥ãĥ¼":138498,"ĠпÑĢедоÑģÑĤавлÑı":138499,"ãģłã썿ĢĿãģĨ":138500,"Ġê³łê°Ŀ":138501,"Ġодним":138502,"à¹ĥà¸Ļà¹Ģรืà¹Īà¸Ńà¸ĩ":138503,"Ġsá»ķ":138504,"ĠÐĹдеÑģÑĮ":138505,"ĠизменениÑı":138506,"ĠìĿ¼ìĿĦ":138507,"ãģªãģ®ãģł":138508,"кладÑĭва":138509,"ÑĢма":138510,"Ġ×ķ×ij׼׾":138511,"تأÙħÙĬÙĨ":138512,"ĠпÑĢиÑıÑĤ":138513,"ĠпÑĢиÑıÑĤн":138514,"ÙħÙħار":138515,"ÙħÙħارسة":138516,"ãģ¨ãģªãģ£ãģ¦":138517,"ĠجÙħÙĬÙĦ":138518,"Ġì§Ī":138519,"Ġì§Ī문":138520,"Ġquestão":138521,"ié":138522,"iéndo":138523,"หà¹īà¸Ńà¸ĩà¸ŀัà¸ģ":138524,"ãĥijãĥ¼ãĥĪ":138525,"ÑĤвеÑĢжда":138526,"нÑģкой":138527,"зал":138528,"มุà¹Īà¸ĩ":138529,"á»Ĭ":138530,"Ġ×Ķ×IJ×Ĺר×ķ׳×Ķ":138531,"ĠThư":138532,"주민":138533,"ĠاÙĦعب":138534,"évén":138535,"événement":138536,"ÙĤÙĪØ§Ø¹Ø¯":138537,"دÙı":138538,"ĠìķĬìĬµëĭĪëĭ¤":138539,"Ġ보기":138540,"Ġyapılması":138541,"à¹Ģราà¸ģ":138542,"à¹Ģราà¸ģà¹ĩ":138543,"ØŃذر":138544,"ÙĤصر":138545,"ãģ¦ãģĹãģ¾ãģĦãģ¾ãģĹãģŁ":138546,"Ġà¹Ģà¸Ľà¹ĩà¸Ļà¸ķà¹īà¸Ļ":138547,"ãģ¨ãģ«":138548,"ãģ¨ãģ«ãģĭ":138549,"ãģ¨ãģ«ãģĭãģı":138550,"нÑĨе":138551,"звÑĥк":138552,"ãģĹãĤĪãģĨãģ¨":138553,"ĠاÙĦصØŃÙĬØ©":138554,"Ġש×Ķ×Ļ×ķ":138555,"ĠDiÄŁer":138556,"ÙĤÙĦÙĤ":138557,"ãĤ¸ãĥ£ãĥ³":138558,"Ġrá»Ŀi":138559,"ĠлеÑĩ":138560,"ĠлеÑĩениÑı":138561,"تباد":138562,"تبادÙĦ":138563,"צפ×Ķ":138564,"à¸Ħวามà¹Ģหà¹ĩà¸Ļ":138565,"Ġشب":138566,"ĠشبÙĥØ©":138567,"ר×Ļ×§":138568,"Ùħعد":138569,"Ùħعدات":138570,"dıģında":138571,"Ġ×ijש׳×Ļ×Ŀ":138572,"Ġ×Ķ×Ļשר×IJ׾":138573,"Ġ×Ķ×Ļשר×IJ׾×Ļת":138574,"Ġsınav":138575,"׳צ×Ļ×Ĵ":138576,"วัà¸ķà¸ĸุ":138577,"ĠاÙĦبرÙĦÙħ":138578,"ĠاÙĦبرÙĦÙħاÙĨ":138579,"tivitÃł":138580,"ãĤĵãģłãĤįãģĨ":138581,"×§×Ļ×Ļ×ŀ":138582,"ÙĦÙĬÙĥ":138583,"ĠÄijò":138584,"ĠÄijòi":138585,"ĠÐĺнÑĤеÑĢ":138586,"ĠÐĺнÑĤеÑĢнеÑĤ":138587,"ãģ«ãģ¨ãģ£ãģ¦ãģ¯":138588,"ãģ£ãģĵ":138589,"×§×ķס":138590,"ستØŃÙĤ":138591,"æķĻãģĪãģ¦":138592,"ãĥĢãĥ¡":138593,"ĠÙħÙĨزÙĦ":138594,"à¹Ģà¸ĭà¹ĩà¸Ļ":138595,"使ãģĪãĤĭ":138596,"è¦ĭç©į":138597,"è¦ĭç©įãĤĤãĤĬ":138598,"Ø£Ùģ":138599,"Ø£ÙģÙĥار":138600,"ĠигÑĢов":138601,"ĠигÑĢовÑĭе":138602,"ĠmÄĻż":138603,"ĠmÄĻżczy":138604,"ĠmÄĻżczyzn":138605,"ĠاÙĦØŃÙĤÙĬÙĤÙĬ":138606,"عبر":138607,"׼×ķ׾׳×ķ":138608,"íĿ¥":138609,"×ŀ×IJ×ķ×Ĺר":138610,"ختص":138611,"ãĥŀãĥŀ":138612,"Ġ×IJ×Ĺ×ķ×ĸ":138613,"íĮĢ":138614,"Ġrá»iji":138615,"ĠвÑĤоÑĢ":138616,"ĠвÑĤоÑĢой":138617,"Ġlẫn":138618,"пÑĢом":138619,"пÑĢомÑĭÑĪ":138620,"пÑĢомÑĭÑĪлен":138621,"пÑĢомÑĭÑĪленн":138622,"ĠоÑĤноÑĪениÑı":138623,"Ġsứ":138624,"ĠмобилÑĮ":138625,"ĠмобилÑĮн":138626,"ĠÑįÑĤомÑĥ":138627,"Ġtạp":138628,"ĠìĤ¬ê±´":138629,"ĠìķĮ볤":138630,"ÙĥÙı":138631,"ÙĥÙıÙħÙĴ":138632,"Ġ×§×ķר×Ķ":138633,"ĠÑĦиÑĢ":138634,"ĠÑĦиÑĢм":138635,"Ġsıkıntı":138636,"׳׼":138637,"׳׼×ķף":138638,"ÙĪÙĦÙĪØ¬ÙĬ":138639,"ØŃاÙĨ":138640,"Ġloạn":138641,"Ġ×IJ×ľ×£":138642,"Ġmắn":138643,"abhäng":138644,"abhängig":138645,"ĠÑĥÑĢовнÑı":138646,"Ġ׾×ij×ĵ×ķ×§":138647,"ÙĬÙħÙĨ":138648,"layın":138649,"Ġhải":138650,"Ġзавод":138651,"ĠìķĦ주":138652,"สà¸ĸา":138653,"สà¸ĸาà¸ļัà¸Ļ":138654,"Ġgüvenlik":138655,"à¹Ģà¸Ķà¹Īà¸Ļ":138656,"×ij×ĵ×§":138657,"ĠëĪ":138658,"ĠëĪĦ":138659,"ĠëĪĦ구":138660,"éĩįè¦ģãģª":138661,"รà¸Ńà¸ĩรัà¸ļ":138662,"schlie":138663,"schlieÃŁen":138664,"Ġìĸ¼":138665,"Ġìĸ¼ë§Ī":138666,"Ġìĸ¼ë§ĪëĤĺ":138667,"ÑĤики":138668,"íķľëĭ¤ê³ł":138669,"ãģłãģ£ãģŁãĤī":138670,"Ġ×Ķ×Ļ×ĺ×ij":138671,"ãģªãģijãĤĮãģ°ãģªãĤīãģªãģĦ":138672,"âÌ":138673,"ậ":138674,"Ġphạt":138675,"akÄ±ÅŁ":138676,"ãģ¦ãģĹãģ¾ãģĦãģ¾ãģĻ":138677,"à¹Ģà¸ĭà¹ĩ":138678,"ĠСегоднÑı":138679,"Ġinsanların":138680,"Ġdéveloppe":138681,"תפר":138682,"תפר×Ļ×ĺ":138683,"اÙĨتشار":138684,"ê°ij":138685,"François":138686,"Ø£ÙĦع":138687,"Ø£ÙĦعاب":138688,"ãĤĴè¶ħ":138689,"ãĤĴè¶ħãģĪ":138690,"Ġê°ĻìĬµëĭĪëĭ¤":138691,"ãĤ³ãĥ¬":138692,"ĠмеÑģÑıÑĨев":138693,"íĮħ":138694,"ĠاÙĦجاÙħعة":138695,"ìĿ¸íĦ°":138696,"ìĿ¸íĦ°ëĦ·":138697,"×ĵר×ķש":138698,"ĠÙĪØ£Ø´Ø§Ø±":138699,"ĠпÑĢавила":138700,"ãģĿãģĵãģ«":138701,"×Ĺ×ŀ×ĵ":138702,"à¹Ģหà¸ķุà¸ģารà¸ĵà¹Į":138703,"Ġê²½íĹĺ":138704,"ãģ¶ãĤĬ":138705,"׾ש":138706,"׾ש×ķף":138707,"à¹Ģà¸ĸ":138708,"ĠDoÄŁu":138709,"ĠиÑģполÑĮзование":138710,"ĠçocuÄŁu":138711,"магазине":138712,"ĠÄijiá»ĥn":138713,"Ġaslı":138714,"Ġaslında":138715,"Ġdoença":138716,"Ġساع":138717,"Ġساعات":138718,"ĠиÑģполÑĮзованиÑı":138719,"ר×ķצ×Ļ×Ŀ":138720,"ĠзнаÑĩиÑĤ":138721,"ĠÑĢам":138722,"ĠÑĢамкаÑħ":138723,"거리":138724,"ĠпÑĭÑĤа":138725,"ãĥģãĥ³":138726,"ĠпоÑģк":138727,"ĠпоÑģколÑĮ":138728,"ĠпоÑģколÑĮкÑĥ":138729,"إبر":138730,"إبراÙĩ":138731,"إبراÙĩÙĬÙħ":138732,"ĠÑĤÑĢеÑħ":138733,"ĠGenç":138734,"سÙĪÙģ":138735,"ĠveÃŃculo":138736,"ĠNgân":138737,"ĠоÑĩеÑĢедÑĮ":138738,"à¸Ħรึà¹Īà¸ĩ":138739,"×IJ×ij×Ļ":138740,"à¸ķà¹īม":138741,"ãĤĴè¡ĮãģĦ":138742,"ĠاÙĦسابÙĤØ©":138743,"наÑĨи":138744,"наÑĨиона":138745,"наÑĨионалÑĮн":138746,"Ġgestión":138747,"تÙĤد":138748,"ĠاÙĦبÙĬاÙĨ":138749,"ĠاÙĦبÙĬاÙĨات":138750,"ĠاÙĦاÙĨتخاب":138751,"ĠاÙĦاÙĨتخابات":138752,"à¹Ģà¸Ĭà¹Īา":138753,"×ĵ×IJ×Ĵ":138754,"Ġ׾×Ĵ×ŀר×Ļ":138755,"ĠتØŃتاج":138756,"Ġthôn":138757,"à¸ķà¹īà¸Ńà¸Ļ":138758,"à¸ķà¹īà¸Ńà¸Ļรัà¸ļ":138759,"女ãģ®":138760,"女ãģ®åŃIJ":138761,"Ġthợ":138762,"Ø·ØŃÙĨ":138763,"ารà¹Įà¸Ķ":138764,"ת×ŀ×Ļ×ĵ":138765,"ĠÑģамÑĭм":138766,"Ġìĭľíĸī":138767,"إصد":138768,"إصدار":138769,"ĠNghá»ĩ":138770,"ìķķ":138771,"سئ":138772,"سئÙĦ":138773,"à¸Ńาร":138774,"à¸Ńารม":138775,"à¸Ńารมà¸ĵà¹Į":138776,"à¹ģฮ":138777,"׳×ĺ׾":138778,"Ġì¢ĭìķĦ":138779,"×ķ׾׾":138780,"Ġ×ij×Ľ×ª×ij":138781,"ãĤ«ãĥ©":138782,"צע×Ļר×Ļ×Ŀ":138783,"تعبÙĬر":138784,"Ġ×ŀקר×Ķ":138785,"ĠÑĦакÑĤоÑĢ":138786,"ĠتÙħاÙħ":138787,"ĠتÙħاÙħا":138788,"ëįķ":138789,"Ġvưá»Ŀ":138790,"Ġvưá»Ŀn":138791,"ĠdÄ±ÅŁÄ±":138792,"ãģĦãģ¡":138793,"Ġ׾ק׳×ķת":138794,"ĠاÙĦعÙĦاÙĤات":138795,"пÑĥб":138796,"пÑĥбли":138797,"Ø¥ÙĬÙħ":138798,"Ø¥ÙĬÙħاÙĨ":138799,"à¸Ńำà¸Ļา":138800,"à¸Ńำà¸Ļาà¸Ī":138801,"åIJ«ãģ¾ãĤĮ":138802,"ãĤĭãģŁãĤģãģ«":138803,"ס×Ĵ":138804,"ס×Ĵ׳×ķף":138805,"تØŃدÙĬ":138806,"Ġauprès":138807,"ĠاÙĦجÙĩا":138808,"ĠاÙĦجÙĩاز":138809,"Ġ×ŀת×Ĺת":138810,"еннÑĥÑİ":138811,"Ġзим":138812,"à¸ģาà¹ģà¸Ł":138813,"Ġ×ijת×ķר":138814,"Ġnghè":138815,"Ġnghèo":138816,"ĠÐĽÑİ":138817,"ĠÐĽÑİб":138818,"תקצ×Ļ×ij":138819,"×ŀעש×Ķ":138820,"ĠاÙĦبÙĬت":138821,"צ×Ļפ":138822,"ĠобÑıзан":138823,"ĠMá»Ĺi":138824,"ĠТÑĥÑĢ":138825,"ĠÙĪØ¨Ø§ÙĦت":138826,"ĠÙĪØ¨Ø§ÙĦتاÙĦÙĬ":138827,"Ġdécision":138828,"Ġبد":138829,"Ġبدأت":138830,"Ġcục":138831,"Ġbask":138832,"Ġbaskı":138833,"Ġhatırl":138834,"Ġhatırla":138835,"å°ıãģķãģĦ":138836,"Ġgerçekten":138837,"à¸ľà¸±à¸ģ":138838,"åı¯èĥ½ãģª":138839,"×ŀ×IJס":138840,"ĠcrÃŃtica":138841,"ĠìĿĺìĽIJ":138842,"عÙĤÙĪØ¯":138843,"×ĺ׼׳":138844,"×ĺ׼׳×ķ׾×ķ×Ĵ×Ļ×Ķ":138845,"è¨ĢãģĪãģ°":138846,"ĠÙĤÙĨا":138847,"ĠÙĤÙĨاة":138848,"ĠìĿ´ê²ĥìĿĢ":138849,"تصر":138850,"à¸Łà¸±à¸Ļ":138851,"ĠÑĢеÑĨеп":138852,"ĠÑĢеÑĨепÑĤ":138853,"ĠبÙĨÙ쨳":138854,"ÑĢоÑĪ":138855,"ĠмаÑĢÑĤа":138856,"Ġsonras":138857,"Ġsonrası":138858,"×ķ×ijש":138859,"ãĥªãĤ¹ãĤ¯":138860,"ĠFrançais":138861,"á»ļ":138862,"ê°Ķ":138863,"Ġ×Ķ×ijר×Ļת":138864,"פ×Ļצ":138865,"פ×Ļצ×ķ×Ļ":138866,"ĠÙĦÙħاذا":138867,"ĠÐļиев":138868,"ĠÑģмÑĭÑģл":138869,"ê¸Īìľµ":138870,"ãĤ·ãĥ£ãĥ«":138871,"ãĥ©ãĤ¤ãĥĪ":138872,"ìĽĥ":138873,"×ŀ×Ĺר":138874,"ãĨį":138875,"Ġkullanım":138876,"Ġ×IJצ׾׳×ķ":138877,"ĠtÃłn":138878,"ãĥıãĥ¼":138879,"ãģ¨ãģ¨ãĤĤ":138880,"ãģ¨ãģ¨ãĤĤãģ«":138881,"ÑĢег":138882,"ÑĢеги":138883,"ÑĢегион":138884,"ãģªãģıãģªãĤĭ":138885,"Ġchảy":138886,"ĠجÙĩØ©":138887,"ÅĦskiej":138888,"à¸Ńีà¹Ģม":138889,"à¸Ńีà¹Ģมล":138890,"ãģįãģ£ãģ¨":138891,"ĠìĺĪìĤ°":138892,"Ġkitabı":138893,"Ġeducação":138894,"ĠbuluÅŁ":138895,"ологиÑı":138896,"ĠконкÑĢ":138897,"ĠконкÑĢеÑĤ":138898,"×Ĵ×Ļר":138899,"ĠпÑĢедлаг":138900,"ĠпÑĢедлагаеÑĤ":138901,"ĠYên":138902,"Ġíķľë²Ī":138903,"Ġ×ŀר׼×ĸ×Ļ":138904,"à¹Ģà¸Ľà¸´à¸Ķà¹Ģà¸ľà¸¢":138905,"ÑĤвеÑĢд":138906,"ĠHá»ĩ":138907,"ĠÐĵÑĢ":138908,"à¸Ŀà¹īา":138909,"×Ķשק":138910,"×Ķשקע×Ķ":138911,"ĠнаÑĥк":138912,"ìłIJìĿĦ":138913,"ĠнелÑĮ":138914,"ĠнелÑĮз":138915,"ĠнелÑĮзÑı":138916,"гин":138917,"ĠBöl":138918,"ĠBölge":138919,"Ġвла":138920,"ĠвлаÑģÑĤи":138921,"à¹Ģà¸Ļà¹ĩ":138922,"à¹Ģà¸Ļà¹ĩà¸ķ":138923,"골":138924,"Ġöld":138925,"Ġöldür":138926,"×Ľ×ł×¢":138927,"ĠاÙĦÙĩÙĬئة":138928,"تارÙĬØ®":138929,"ĠÐijÑĢ":138930,"ĠÑģмож":138931,"ĠÑģможеÑĤе":138932,"ĠLúc":138933,"à¹Ħà¸Ľà¸ĸึà¸ĩ":138934,"ĠBakanı":138935,"Ġerklärt":138936,"ĠÐIJна":138937,"Ġscène":138938,"åķıãģĦ":138939,"åķıãģĦåIJĪãĤıãģĽ":138940,"ÙħÙĩÙĨد":138941,"ÙħÙĩÙĨدس":138942,"Ġназвание":138943,"иваниÑı":138944,"ãĤĴå¤īãģĪ":138945,"ä»ĺãģįåIJĪ":138946,"ãĥijãĤ½":138947,"ãĥijãĤ½ãĤ³ãĥ³":138948,"æĺİãĤī":138949,"æĺİãĤīãģĭ":138950,"à¹Ģà¸Ńà¸ģสาร":138951,"à¹Ģà¸ģิà¸Ļà¹Ħà¸Ľ":138952,"леп":138953,"ãģĹãģŁãĤĤãģ®":138954,"ĠCâm":138955,"ĠCâmara":138956,"×§×ķ׾׳×ķ×¢":138957,"Ġ×ij×Ĵ×Ļף":138958,"Ġoczy":138959,"ĠoczywiÅĽcie":138960,"attivitÃł":138961,"ãĥĵãĥ¥ãĥ¼":138962,"Ġeducación":138963,"İYE":138964,"ê¹ĮìļĶ":138965,"ãĤ¨ãĥªãĤ¢":138966,"неÑģÑĤи":138967,"Ġmóg":138968,"ĠmógÅĤ":138969,"Ġ×§×ĺ׳×Ļ×Ŀ":138970,"ĠPrä":138971,"Ġ×ľ×¢×ij×ķר":138972,"بÙĨÙī":138973,"зол":138974,"золоÑĤ":138975,"ĠwnÄĻtr":138976,"ĠwnÄĻtrz":138977,"Ġconstrução":138978,"รัà¸ļรà¸Ńà¸ĩ":138979,"سجÙĨ":138980,"Ġ×§×ķ׳":138981,"ס×Ļפ×ķר":138982,"ĠÙħدÙī":138983,"رضÙī":138984,"плав":138985,"ï¼¥":138986,"Ġila":138987,"Ġilaç":138988,"ãĤĭãģ¹ãģį":138989,"ĠÙħÙĪÙĤÙģ":138990,"à¸ģรุ":138991,"à¸ģรุà¸ĵา":138992,"chodzÄħc":138993,"ĠÑĤÑĭÑģ":138994,"ÐķвÑĢо":138995,"ĠÙĬØŃدث":138996,"ãĥ¡ãĤ¤ãĥ³":138997,"ĠاÙĦصØŃÙĬ":138998,"ĠÐĶан":138999,"دعاء":139000,"ãĤ´ãĥ¼ãĥ«":139001,"×©×ł×ª×Ļ":139002,"×©×ł×ª×Ļ×Ļ×Ŀ":139003,"à¸Ķà¹īวยà¸ģัà¸Ļ":139004,"Ġolacaģı":139005,"Ġ×ij×ŀ×Ĺ×Ļר":139006,"×Ķ×§":139007,"×Ķ×§×ŀת":139008,"ãĥ¢ãĥİ":139009,"ĠçalÄ±ÅŁtı":139010,"Ġjóvenes":139011,"ãģĦãģıãĤī":139012,"ĠÙħعدÙĦ":139013,"ĠCÅ©ng":139014,"ĠSegún":139015,"Ġdönemde":139016,"Ġ׾×Ļ×ĵ×Ļ":139017,"ãģįãģ¡":139018,"ãģįãģ¡ãĤĵ":139019,"ãģįãģ¡ãĤĵãģ¨":139020,"Ù쨱ÙĨس":139021,"Ù쨱ÙĨسا":139022,"åIJijãģį":139023,"Ġcampaña":139024,"ĠÑģамоÑģÑĤоÑı":139025,"ĠÑģамоÑģÑĤоÑıÑĤелÑĮно":139026,"á»Ģ":139027,"ÙĤÙĪØ§":139028,"سÙĦاØŃ":139029,"à¸ģระà¹ģ":139030,"à¸ģระà¹ģส":139031,"ĠполÑĮзÑĥ":139032,"nqu":139033,"nquête":139034,"รà¹Īวมà¸ģัà¸ļ":139035,"ëĬIJëĥIJ":139036,"à¸Ĺีมà¸Ĭาà¸ķิ":139037,"Ġyıllık":139038,"ìĬ¬":139039,"ĠأصØŃاب":139040,"illé":139041,"Ġdóla":139042,"Ġdólares":139043,"Ġкож":139044,"Ġкожи":139045,"ลà¹īà¸Ń":139046,"à¹Ģรียà¸ļร":139047,"à¹Ģรียà¸ļรà¹īà¸Ńย":139048,"à¹Ģà¸ŀิ":139049,"à¹Ģà¸ŀิà¹Īà¸ĩ":139050,"ÑĢиÑĤоÑĢи":139051,"Ġíijľ":139052,"ĠíijľíĺĦ":139053,"ĠпеÑĢев":139054,"ĠпеÑĢевод":139055,"פ×Ĵ×Ļ×¢×Ķ":139056,"ĠdeÄŁerlendirme":139057,"ÙģØ§Ø¦":139058,"ĠвÑĭгод":139059,"ınızı":139060,"×ķ׼×Ļ×Ĺ":139061,"ĠдоÑģÑĤиг":139062,"ĠngÃłn":139063,"æĢĿãģ£ãģŁ":139064,"ĠÐķÑģÑĤÑĮ":139065,"ĠاÙĦرغÙħ":139066,"ĠzwiÄħzane":139067,"ربط":139068,"à¸Ļึà¸ĩ":139069,"Ġ׾×Ĺ×ķ×§":139070,"Ġszczególn":139071,"Ġszczególnie":139072,"ĠباستخداÙħ":139073,"ĠfÃŃsico":139074,"עס":139075,"עס×ķ×§":139076,"سÙĦÙĪÙĥ":139077,"ĠاØŃد":139078,"ÑĩÑijÑĤ":139079,"×ĸ׼×Ķ":139080,"Ġlá»ĩnh":139081,"ĠÙĪØŃØª":139082,"ĠÙĪØŃØªÙī":139083,"à¸Ħวามสามารà¸ĸ":139084,"à¸Ńยูà¹Īà¹ģลà¹īว":139085,"à¸ģารà¹Ģà¸Ķิà¸Ļà¸Ĺาà¸ĩ":139086,"تخذ":139087,"צ×Ļ×ķ×ĵ":139088,"ĠاÙĦأس":139089,"ĠاÙĦأسÙĩÙħ":139090,"Ġtá»ĩ":139091,"ãģ£ãģ¦ãģĦãģ¦":139092,"สรุ":139093,"à¸ªà¸£à¸¸à¸Ľ":139094,"ĠкомÑĦ":139095,"ĠкомÑĦоÑĢÑĤ":139096,"ìĺ¤ëĬĶ":139097,"ĠÑĢазв":139098,"ĠÑĢазвива":139099,"ланд":139100,"hänge":139101,"ĠبÙĨسبة":139102,"à¹Ģà¸Ĥียว":139103,"עצ×Ŀ":139104,"Ġ×ľ×ľ×Ľ×ª":139105,"ÑģоÑĨиалÑĮн":139106,"Ġëĭ¤ìĿĮê³¼":139107,"Ġרש×ķ×ŀ":139108,"×ŀר×Ĺ×ij":139109,"سÙĤØ·":139110,"Ġalanı":139111,"ĠÄijá»ĩ":139112,"é£Łãģ¹ãĤĭ":139113,"à¸Ķึà¸ĩ":139114,"Ġgegenüber":139115,"ĠبÙĩذÙĩ":139116,"à¸ĸืà¸Ńà¹Ģà¸Ľà¹ĩà¸Ļ":139117,"ëķħ":139118,"à¸Ħà¸Ļà¹Ħà¸Ĺย":139119,"ãĤ¢ãĤ¦":139120,"ãĤ¢ãĤ¦ãĥĪ":139121,"ศัà¸ģ":139122,"ศัà¸ģà¸Ķิ":139123,"ศัà¸ģà¸Ķิà¹Į":139124,"ÙĤÙĪØ§ÙĨ":139125,"ÙĤÙĪØ§ÙĨÙĬÙĨ":139126,"Ġhá»Ļp":139127,"ãģªãģıãģªãģ£ãģ¦":139128,"Ġ×IJ×ŀ׳":139129,"Ġ×IJ×ŀ׳×Ŀ":139130,"à¹Ģà¸ķืà¸Ńà¸Ļ":139131,"ĠзавиÑģим":139132,"ĠзавиÑģимоÑģÑĤи":139133,"ת×Ļ×IJ":139134,"ת×Ļ×IJ×ķר":139135,"å§ĭãĤģãģŁ":139136,"Ġngá»į":139137,"Ġngá»įt":139138,"íĴį":139139,"ê³¼ìŀ¥":139140,"Ġbại":139141,"ãģ§ãģįãģ¦":139142,"Ġcomeçar":139143,"à¸Ľà¸£à¸²à¸ģ":139144,"à¸Ľà¸£à¸²à¸ģà¸ı":139145,"ĠгодÑĭ":139146,"меÑģ":139147,"ĠاÙĦÙħستÙĪÙī":139148,"ĠÑģамÑĭе":139149,"ллеÑĢ":139150,"ãģ£ãģ¦ãģĹãģ¾ãģĦãģ¾ãģĻ":139151,"ãģ¨ãģ®ãģĵãģ¨":139152,"bió":139153,"à¸ģลà¹Īà¸Ńà¸ĩ":139154,"ĠاÙĦزÙĪØ¬":139155,"ãģ«è¡Įãģ£ãģŁ":139156,"à¸Ħà¹Īà¸Ńà¸Ļ":139157,"à¸Ħà¹Īà¸Ńà¸Ļà¸Ĥà¹īาà¸ĩ":139158,"ĠbaÄŁl":139159,"ĠbaÄŁlant":139160,"ĠbaÄŁlantı":139161,"確ãģĭ":139162,"確ãģĭãģ«":139163,"ãĥľãĥ¼ãĥ«":139164,"çµĤãĤıãĤĬ":139165,"ש×ŀר":139166,"à¸Ĺีà¹Īสามารà¸ĸ":139167,"ÙĦزÙħ":139168,"даеÑĤÑģÑı":139169,"รัà¸ļà¸Ľà¸£à¸°":139170,"รัà¸ļà¸Ľà¸£à¸°à¸Ĺาà¸Ļ":139171,"å¤īãĤıãĤĬ":139172,"ï¼¢":139173,"ĠìĺĪìĪĺëĭĺ":139174,"ãĤĪãģĨãģ¨":139175,"มัà¸ģà¸Īะ":139176,"ĠHương":139177,"ÙĨÙ쨰":139178,"×ŀ×ĵ×ĵ":139179,"ĠìĿ¸ìłķ":139180,"ÑħодиÑĤÑĮ":139181,"ĠзавиÑģиÑĤ":139182,"×ķ×ĵ×Ļ×¢":139183,"ãģĵãģ¨ãģĮãģĤãĤĬãģ¾ãģĻ":139184,"عراÙĤ":139185,"سطØŃ":139186,"à¸ģำà¹Ħร":139187,"ëĵ¤ëıĦ":139188,"×Ļצ×Ļר×Ķ":139189,"ãģĨãģĵãģ¨":139190,"ÙĦاØŃÙĤ":139191,"ãģĦãĤĮãģ°":139192,"ĠиÑģполÑĮзÑĥÑİÑĤ":139193,"ĠBợi":139194,"Ġשק׾×Ļ×Ŀ":139195,"ÑĨикл":139196,"ÐIJÐŀ":139197,"Ġ×ijש׳×Ķ":139198,"ÙĨشط":139199,"Ġש×Ļ׳×ķ×Ļ":139200,"Ġש×Ļ׳×ķ×Ļ×Ļ×Ŀ":139201,"Ġpoblación":139202,"ĠHưng":139203,"ระว":139204,"ระวัà¸ĩ":139205,"رÙĬاضة":139206,"رصد":139207,"تÙĤÙĦÙĬ":139208,"تÙĤÙĦÙĬد":139209,"Ġülkem":139210,"Ġülkemiz":139211,"à¸Ĭะ":139212,"ãĤ¯ãĥªãĥ¼ãĥł":139213,"èģŀãģĦãģŁ":139214,"Ġważ":139215,"Ġważne":139216,"ê±°ëĵł":139217,"ê±°ëĵłìļĶ":139218,"×ŀ×IJ×ij×§":139219,"×Ĺ×ĵש×ķת":139220,"ĠWroc":139221,"ĠWrocÅĤaw":139222,"ĠKültür":139223,"sist":139224,"sistência":139225,"×¢×ĸר×Ķ":139226,"Ġgương":139227,"รà¹īาà¸Ļà¸Ħà¹īา":139228,"ĠÙĪØ£ÙĪØ¶ØŃ":139229,"ándose":139230,"ãĤ·ãĥ¼ãĥ³":139231,"×IJ׳ר×Ĵ":139232,"×IJ׳ר×Ĵ×Ļ×Ķ":139233,"ãģªãģĦãģ§ãģĻ":139234,"Ġkhá»§ng":139235,"Ġ문ìĦľ":139236,"Ġ×ij×ĵ×ijר":139237,"×ĵ×Ļ×ķ":139238,"×ĵ×Ļ×ķ×ķ×Ĺ":139239,"Ġrégl":139240,"ÙħÙĪØ§Ø¯":139241,"обоÑĢ":139242,"обоÑĢоÑĤ":139243,"Ġ×Ķ×ij׾":139244,"Ġ×Ķ×ij׾×ķ×Ĵ":139245,"ØŃاÙħ":139246,"ĠاÙĦعاص":139247,"ĠاÙĦعاصÙħØ©":139248,"пеÑĢаÑĤоÑĢ":139249,"تخÙĦ":139250,"تخÙĦص":139251,"ãģŁãģłãģĹ":139252,"تسÙħ":139253,"à¹Ĥรà¸ĩà¸ŀ":139254,"à¹Ĥรà¸ĩà¸ŀยา":139255,"à¹Ĥรà¸ĩà¸ŀยาà¸ļาล":139256,"ĠYük":139257,"ĠYüksek":139258,"Ġש׳×Ļת":139259,"Ġש׳×Ļ×ª×Ł":139260,"liÄŁe":139261,"Ġפת":139262,"Ġפת×ķ×Ĺ":139263,"ĠbeÄŁ":139264,"ĠbeÄŁen":139265,"Ġ×ŀ×ķר":139266,"Ġ×ŀ×ķר׼×ij":139267,"ĠرساÙĦØ©":139268,"íĨµìĭł":139269,"Ġavalia":139270,"Ġavaliações":139271,"Ġmanh":139272,"Ġmanhã":139273,"Ġìķŀ":139274,"Ġìķŀìľ¼ë¡ľ":139275,"ÙĤتر":139276,"ÙĤترØŃ":139277,"à¹Ģà¸ģืà¸Ń":139278,"à¹Ģà¸ģืà¸Ńà¸ļ":139279,"Ġproposé":139280,"Ø£Ùħا":139281,"Ø£ÙħاÙĥÙĨ":139282,"ĠÐŀÐŀ":139283,"ĠÐŀÐŀÐŀ":139284,"ÙħÙĤار":139285,"ÙħÙĤارÙĨØ©":139286,"ëĦIJ":139287,"ãģĦãģŁãģłãģı":139288,"ÙĤÙĬÙĦ":139289,"ĠнаÑĪиÑħ":139290,"ãĤ«ãĥĥãĥĹ":139291,"×Ĺ×ľ×ª":139292,"Ġëĭ¤ë§Į":139293,"à¸Ĺัà¹Īวà¹Ĥลà¸ģ":139294,"ãĥįãĤ¿":139295,"ØŃساس":139296,"ãģ«ãģªãĤĮ":139297,"جائ":139298,"جائزة":139299,"échange":139300,"économ":139301,"économie":139302,"ТÐĺ":139303,"×¡×ª×Ľ×ľ":139304,"à¸Ĺัà¹īà¸ĩสà¸Ńà¸ĩ":139305,"ĠاÙĦخاÙħ":139306,"ĠاÙĦخاÙħس":139307,"×§×ĺ×¢":139308,"auważ":139309,"à¸ľà¸¹à¹īà¸Ĭาย":139310,"à¹ģà¸Ľà¸¥à¸ģ":139311,"åIJĮæĻĤãģ«":139312,"знаниÑı":139313,"ãģĦãģŁãģłãģįãģ¾ãģĹãģŁ":139314,"Ġ×ŀ×ij׾×Ļ":139315,"à¸Ĥà¸Ńà¹ĥหà¹ī":139316,"ĠاÙĦتربÙĬØ©":139317,"Ġdécouvert":139318,"Ġżyciu":139319,"après":139320,"Ġyab":139321,"Ġyabanc":139322,"Ġyabancı":139323,"ĠbaÅŁlayan":139324,"ìĹĪëįĺ":139325,"Ġhesabı":139326,"Ġë§Įìķ½":139327,"ë§Īëĭ¤":139328,"ĠThánh":139329,"ãĥ´ãĤ¡":139330,"à¸Ľà¸£à¸±à¸ļà¸Ľà¸£":139331,"à¸Ľà¸£à¸±à¸ļà¸Ľà¸£à¸¸à¸ĩ":139332,"ĠMặc":139333,"à¹Ģหà¸ķà¸¸à¸ľà¸¥":139334,"ĠÐijез":139335,"ĠcapacitÃł":139336,"ÅĤeÅĽ":139337,"ĠпÑĢеим":139338,"ĠпÑĢеимÑĥÑīеÑģÑĤв":139339,"ĠÅļwiÄĻt":139340,"Ġpublié":139341,"×ŀעצ×ij":139342,"ÙħشارÙĥات":139343,"à¸łà¸²à¸©":139344,"à¸łà¸²à¸©à¸µ":139345,"Ġdeuxième":139346,"ĠÙħØŃاÙ쨏":139347,"ĠÙħØŃاÙģØ¸Ø©":139348,"ĠSchön":139349,"、":139350,"Ġ×Ķ×ij×¢":139351,"Ġ×Ķ×ij×¢×Ļ×Ķ":139352,"ĠÙĪØ§ÙĦÙĦÙĩ":139353,"è¨Ģãģ£ãģŁ":139354,"à¸ķà¹īาà¸Ļ":139355,"วรรà¸ĵ":139356,"à¸Ĺิศ":139357,"ĠbaÅŁÄ±na":139358,"ĠmogÄĻ":139359,"ש×Ļפ×ķר":139360,"ĠÙĪØ¹Ø¯":139361,"ĠÙĪØ¹Ø¯Ùħ":139362,"Ġhistórico":139363,"Ġkısı":139364,"ĠìĿ´ê²Į":139365,"ĠPolÃŃtica":139366,"ĠÑģиÑĤÑĥаÑĨии":139367,"ĠkoÅĦca":139368,"×ij×ĵ×Ļ×§×Ķ":139369,"ĠاÙĦسÙĬارات":139370,"ãģªãĤīãģ°":139371,"ãĤµãĥ©":139372,"ãĤĭãģĵãģ¨ãģĮãģ§ãģįãĤĭ":139373,"Ġdecisão":139374,"×ķ×ķ×ĵ":139375,"läss":139376,"lässig":139377,"Ġ׾×Ļשר×IJ׾":139378,"ĠÙĬأتÙĬ":139379,"ר×ķ×ĸ":139380,"Ã¶ÄŁ":139381,"Ã¶ÄŁret":139382,"Ã¶ÄŁretim":139383,"Ġдек":139384,"Ġдекаб":139385,"ĠдекабÑĢÑı":139386,"Ġש×Ĺ×ķר":139387,"ãģ¦ãģıãĤĮãģŁ":139388,"عبارة":139389,"Ġélectrique":139390,"ĠاÙĦتÙĨÙħÙĬØ©":139391,"جرÙī":139392,"ĠìĪĺíĸī":139393,"à¸Ĺู":139394,"ĠÑĢеалÑĮно":139395,"ÑģпоÑģоб":139396,"à¸Ħลà¹īาย":139397,"ĠسعÙĪØ¯":139398,"önü":139399,"ĠÙģÙħÙĨ":139400,"تÙĥÙĪ":139401,"تÙĥÙĪÙĬÙĨ":139402,"ĠкаÑĩеÑģÑĤво":139403,"ĠконÑĤак":139404,"ĠконÑĤакÑĤ":139405,"ĠsözleÅŁme":139406,"à¸Ńà¹īาà¸ĩ":139407,"ĠتÙĪÙģ":139408,"ĠتÙĪÙģÙĬر":139409,"×Ķ×ĸ×ĵ":139410,"×Ķ×ĸ×ĵ×ŀ׳×ķת":139411,"ĠØ·ÙĪÙĬÙĦØ©":139412,"Ġtérmino":139413,"Ġ×IJ×Ļפ×Ķ":139414,"ãĥĵãĥ«":139415,"สà¹Ĥม":139416,"สà¹Ĥมสร":139417,"ĠاÙĦاث":139418,"ĠاÙĦاثÙĨÙĬÙĨ":139419,"евиÑĩ":139420,"Ġopinión":139421,"à¸Ľà¸§à¸Ķ":139422,"åı¤ãģĦ":139423,"รà¹Īา":139424,"ĠBiaÅĤ":139425,"ĠÑģÑĤал":139426,"ĠÑģÑĤало":139427,"ólogo":139428,"ĠìķĦëĭĪëĭ¤":139429,"Ġ×IJ×Ļת":139430,"Ġ×IJ×Ļת×ķ":139431,"à¹Ģหà¹ĩà¸Ļวà¹Īา":139432,"à¸ļารà¹Į":139433,"çĦ¼":139434,"çĦ¼ãģį":139435,"ĠìĿ´ìļ©ìŀIJ":139436,"ĠнекоÑĤоÑĢÑĭе":139437,"ksz":139438,"ksztaÅĤ":139439,"ksztaÅĤc":139440,"ãĤŃãĥ£ãĥĥãĤ·":139441,"ãĤŃãĥ£ãĥĥãĤ·ãĥ³ãĤ°":139442,"ĠroÅĽ":139443,"ĠroÅĽlin":139444,"ÑĢажа":139445,"×ij׳×Ļ×Ļ×Ķ":139446,"à¸Ľà¸£à¸ªà¸´":139447,"à¸Ľà¸£à¸ªà¸´à¸ķ":139448,"Ġgördü":139449,"×ŀ׳×Ķ×Ļ×Ĵ":139450,"å¤īãĤıãģ£ãģ¦":139451,"Ġ×IJ×Ķ":139452,"Ġ×IJ×Ķ×ijת×Ļ":139453,"à¹Ģรà¹Īà¸ĩ":139454,"Ġönünde":139455,"Ġê·¸ëĥ¥":139456,"полиÑĤ":139457,"полиÑĤиÑĩеÑģк":139458,"ãĥ¡ãĥĩãĤ£":139459,"ãĥ¡ãĥĩãĤ£ãĤ¢":139460,"ĠDetay":139461,"ĠDetaylı":139462,"ĠاÙĦصÙģØŃØ©":139463,"à¸ģารà¹Ģà¸ĩิà¸Ļ":139464,"Ġìµľê·¼":139465,"׼ש׾":139466,"I":139467,"вÑĪего":139468,"íķĺìĭ¤":139469,"ĠÐŃÑĤ":139470,"ĠÐŃÑĤоÑĤ":139471,"สื":139472,"สืà¸ļ":139473,"Ġngừng":139474,"ĠдокÑĥменÑĤов":139475,"даваÑĤÑĮ":139476,"ĠاÙĦشخصÙĬØ©":139477,"Ġצע×Ļר":139478,"درÙĥ":139479,"سØŃب":139480,"à¹Ħมà¹Īà¸Ħà¹Īà¸Ńย":139481,"Ġ×Ķ×ŀ×§×ķ×ŀ×Ļ":139482,"สัà¹Īà¸ĩà¸ĭืà¹īà¸Ń":139483,"Ġê·¸ê²ĥìĿĦ":139484,"ãģĤãĤĭãģĦ":139485,"ãģĤãĤĭãģĦãģ¯":139486,"×IJ×ķ×ĺ×ķ×ij":139487,"×IJ×ķ×ĺ×ķ×ij×ķס":139488,"кÑĨион":139489,"ĠÐľÐ¾Ð¶Ð½Ð¾":139490,"ãģıãģł":139491,"ãģıãģłãģķ":139492,"ĠинÑĦоÑĢмаÑĨиÑı":139493,"ï»Ł":139494,"ĠìŀijìĹħ":139495,"Ġ×Ļ×ķסף":139496,"إدارة":139497,"ĠاÙĦØŃاج":139498,"×ł×¡×Ļ×¢×Ķ":139499,"изаÑĨиÑı":139500,"×IJ׾×ij":139501,"×IJ׾×ij×ķ×Ŀ":139502,"пед":139503,"Ġ×§×ĺ׳×Ķ":139504,"ĠÙĨÙ쨳Ùĩا":139505,"ĠMinistério":139506,"Ġпен":139507,"ĠпенÑģи":139508,"ãĥIJãĥ©ãĥ³ãĤ¹":139509,"Ġ×Ķת×ķר×Ķ":139510,"Ġtạm":139511,"ĠìĹŃìĭľ":139512,"。":139513,"Ġthá»±":139514,"Ġısı":139515,"컨":139516,"ãģĹãģ£ãģĭãĤĬãģ¨":139517,"Ġxưa":139518,"Ġcặp":139519,"×Ĺ×Ļ×ij×ķר":139520,"วัà¸Ĵà¸Ļà¸ĺรรม":139521,"stär":139522,"stärke":139523,"ĠÑģамÑĭй":139524,"pisa":139525,"pisaÄĩ":139526,"ĠoluÅŁan":139527,"ĠاÙĦØ¥ÙħاÙħ":139528,"ĠcÄĥng":139529,"Ġgünl":139530,"Ġgünlük":139531,"Ġ׳ש×IJר":139532,"Ġkhiá»ĥn":139533,"ç¶ļãģijãĤĭ":139534,"stitución":139535,"Ġcapacité":139536,"Ġjaki":139537,"ĠjakiÅĽ":139538,"вÑĪиÑģ":139539,"вÑĪиÑģÑĮ":139540,"פע×ķ׾×ķת":139541,"ĠØŃÙĬات":139542,"ĠØŃÙĬاتÙĩ":139543,"Ġникогда":139544,"ÐĽÐ¬":139545,"Ġ×Ķ×¢×ķ×ij":139546,"Ġ×Ķ×¢×ķ×ij×ĵ×Ķ":139547,"ĠchÃło":139548,"หลายà¹Ĩ":139549,"ĠÑıн":139550,"ĠÑıнваÑĢ":139551,"ĠÑıнваÑĢÑı":139552,"à¸Īำà¹Ģà¸Ľà¹ĩà¸Ļà¸ķà¹īà¸Ńà¸ĩ":139553,"Ġhöher":139554,"ãģķãĤĮãģ¦ãģĦãģŁ":139555,"สà¸ĩสั":139556,"สà¸ĩสัย":139557,"ĠاÙĦاس":139558,"ĠاÙĦاسÙĦاÙħ":139559,"ĠاÙĦØ´Ùħس":139560,"สà¸ĸาà¸Ļี":139561,"ãĤ¯ãĥ©ãĤ¹":139562,"à¸ŀรร":139563,"à¸ŀรรà¸Ħ":139564,"põ":139565,"põe":139566,"Ġporém":139567,"à¸Ľà¸£à¸°à¸ªà¸ĩ":139568,"à¸Ľà¸£à¸°à¸ªà¸ĩà¸Ħà¹Į":139569,"powiedzie":139570,"powiedzieÄĩ":139571,"ĠмогÑĥ":139572,"Ġжел":139573,"Ġжелез":139574,"ĠاÙĦØ«ÙĤ":139575,"ĠاÙĦØ«ÙĤاÙģÙĬ":139576,"ĠпÑĢавило":139577,"Ġgdyż":139578,"פש×ķ×ĺ":139579,"ÑĢабоÑĤка":139580,"ĠÙĥرة":139581,"شدد":139582,"ÙħارÙĥ":139583,"ÙħÙĥØ©":139584,"ĠподпиÑģ":139585,"×ĺ×ķ×ķ×Ĺ":139586,"ĠÅĽc":139587,"ĠÅĽcian":139588,"ĠرجاÙĦ":139589,"Ġ×ª×ľ×ķ×Ļ":139590,"иÑĪ":139591,"иÑĪÑĮ":139592,"Ġmédec":139593,"Ġmédecin":139594,"ëįĶëĿ¼ëıĦ":139595,"ĠÑĤебÑı":139596,"Ġ׾×Ķ×ķס×Ļ×£":139597,"ãģĬ話":139598,"Ġà¹ģà¸ķà¹Īà¸ģà¹ĩ":139599,"داÙģ":139600,"داÙ쨹":139601,"ĠCùng":139602,"ãĥ»ãĥ»ãĥ»ãĥ»":139603,"ê¶ģ":139604,"ĠdeberÃŃa":139605,"หà¸Ļà¹Īวยà¸ĩาà¸Ļ":139606,"ĠvaÌĢ":139607,"Ġעצ×ŀ":139608,"Ġעצ×ŀ×Ŀ":139609,"à¹Ģà¸Ĭืà¹Īà¸Ńวà¹Īา":139610,"שקע":139611,"Ġ×Ķ׼×ķ׾":139612,"Ġ×Ķ׼×ķ׾׾":139613,"нибÑĥд":139614,"нибÑĥдÑĮ":139615,"ĠëĦĪíĿ¬":139616,"ĠобÑĢаÑī":139617,"ĠобÑĢаÑīа":139618,"Ġ×¢×ij×ķ×ĵת":139619,"ĠاÙĦÙħÙĨتخب":139620,"ıyord":139621,"ıyordu":139622,"ÙĪØ°":139623,"×Ĺש×Ļ×ij×ķת":139624,"Ġ×Ķ×¢×Ļ×§":139625,"Ġ×Ķ×¢×Ļקר×Ļ":139626,"ì¢Į":139627,"ยุà¹Ĥร":139628,"ยุà¹Ĥà¸£à¸Ľ":139629,"ĠапÑĢ":139630,"ĠапÑĢелÑı":139631,"szed":139632,"szedÅĤ":139633,"дон":139634,"à¹Ģà¸ķิà¸ļ":139635,"à¹Ģà¸ķิà¸ļà¹Ĥà¸ķ":139636,"коло":139637,"Ġkażdej":139638,"帰":139639,"帰ãĤĬ":139640,"Ġмилли":139641,"Ġмиллион":139642,"ç¾İåij³ãģĹãģĦ":139643,"تÙĤار":139644,"تÙĤارÙĬر":139645,"ĠìĿ´ë£¨":139646,"ĠìĿ´ë£¨ìĸ´":139647,"Ġsprzedaż":139648,"×Ķ×ķצ×IJ×ķת":139649,"ãĤ¢ãĤ¯ãĤ»":139650,"ãĤ¢ãĤ¯ãĤ»ãĤ¹":139651,"ר×ķ×¥":139652,"ĠгоÑģÑĥдаÑĢÑģÑĤвенн":139653,"Ø£ØŃÙĥ":139654,"Ø£ØŃÙĥاÙħ":139655,"ĠoluÅŁu":139656,"ĠAç":139657,"ĠAçık":139658,"ãĤ¸ãĥ¼":139659,"ç´łæĻ´":139660,"ç´łæĻ´ãĤīãģĹãģĦ":139661,"Ġ×ijש×ij×ķ×¢":139662,"بذ":139663,"بذÙĦ":139664,"สาà¹Ģหà¸ķุ":139665,"Ġpozosta":139666,"ĠpozostaÅĤ":139667,"ØŃرÙħ":139668,"Ġimportância":139669,"leÅŁtirme":139670,"ĠдÑĢев":139671,"Ġmóvil":139672,"ĠAynı":139673,"Ġналог":139674,"Ġналогов":139675,"Ġ×Ĺ×Ļפ×Ķ":139676,"ĠÑĦоÑĢмÑĥ":139677,"à¸Ĺà¸Ķสà¸Ńà¸ļ":139678,"ĠksiÄħżki":139679,"ĠmaÅĤe":139680,"ÙħسأÙĦ":139681,"ÙħسأÙĦØ©":139682,"^^":139683,"çãeste":139684,"éviter":139685,"ĠконÑģÑĤÑĢÑĥк":139686,"ĠконÑģÑĤÑĢÑĥкÑĨи":139687,"ï¾ŀ":139688,"Ġת×ķ׼׳":139689,"ãĤ¹ãĥĪãĥ¬ãĤ¹":139690,"ĠاÙĦاÙĤتصادÙĬ":139691,"×ŀ×ĵ×Ļ":139692,"ĠwÅĤad":139693,"ĠwÅĤadz":139694,"Ø®ÙĪÙģ":139695,"ĠмаÑĤеÑĢиалов":139696,"ãģ¨ãģ£ãģ¦ãĤĤ":139697,"Ġznajdu":139698,"ĠznajdujÄħ":139699,"ÙģØ¦Ø©":139700,"ãģ©ãģ®ãĤĪãģĨãģª":139701,"æĬijãģĪ":139702,"׳×Ĺ׾":139703,"Ġdüny":139704,"Ġdünyan":139705,"Ġdünyanın":139706,"гÑĢани":139707,"гÑĢаниÑĩ":139708,"Ġ×Ķש׾×Ļש×Ļ":139709,"Ġ×Ķ×IJש":139710,"åıĬãģ³":139711,"ìĭŃìĭľ":139712,"ìĭŃìĭľìĺ¤":139713,"Ġдолл":139714,"ĠдоллаÑĢ":139715,"ĠповÑĤоÑĢ":139716,"Ġ×Ĺ×Ļ׳×Ŀ":139717,"תפת×Ĺ":139718,"Ñĥвели":139719,"ÑĥвелиÑĩен":139720,"ãĤ«ãĥª":139721,"rawid":139722,"rawidÅĤow":139723,"×ķ×ķ׾":139724,"ãĥŁãĥ¥":139725,"ì½ĺ":139726,"ĠByÅĤ":139727,"ÐľÐIJ":139728,"عÙIJ":139729,"ĠÑģовеÑĢÑĪ":139730,"ĠÑģовеÑĢÑĪенно":139731,"Ġмой":139732,"Ġ×ķ׾×IJ×Ĺר":139733,"æħ£":139734,"æħ£ãĤĮ":139735,"ØŃاÙ쨏":139736,"Ġ무ë£Į":139737,"à¸Ħà¸ĵะà¸ģรรม":139738,"à¸Ħà¸ĵะà¸ģรรมà¸ģาร":139739,"Ġìĸ´ëĶĶ":139740,"Ġdiferen":139741,"Ġdiferença":139742,"ĠاÙĦأساس":139743,"ĠاÙĦأساسÙĬØ©":139744,"Ġ׾×IJ×Ĺר×ķ׳×Ķ":139745,"ê·ł":139746,"Ġ×Ķש׳×Ļ×Ļ×Ķ":139747,"ìľĦìĽIJìŀ¥":139748,"ลุà¸ģ":139749,"çiler":139750,"Ġ×Ķ×IJ׾×ķ":139751,"èģŀãģı":139752,"Ġ×ķ×IJפ×Ļ׾×ķ":139753,"ĠÑĢеализ":139754,"ĠÑĢеализаÑĨи":139755,"ระยะà¹Ģวลา":139756,"ĠجداÙĭ":139757,"تباع":139758,"ĠvehÃŃculo":139759,"Ġдолг":139760,"à¸Ľà¸£à¸´à¸¡à¸²à¸ĵ":139761,"ì¦IJ":139762,"Ġ׾×ŀ×§×ķ×Ŀ":139763,"ĠìĤ¬ì§Ħ":139764,"à¸Ĭà¹īา":139765,"Ġ×ŀ×¢×ķ׾×Ķ":139766,"Ġgörm":139767,"Ġgörmek":139768,"ĠÙĪÙĩذÙĩ":139769,"пеÑĢв":139770,"пеÑĢвÑĭÑħ":139771,"ê·¸ëŀĺ":139772,"ĠاÙĦبرÙĬØ·":139773,"ĠاÙĦبرÙĬطاÙĨÙĬ":139774,"ĠиÑİнÑı":139775,"ĠÐĵоÑĢ":139776,"Ġ׾ש׾×Ŀ":139777,"ÐIJÐĿ":139778,"ĠназнаÑĩен":139779,"ооÑĢ":139780,"ооÑĢÑĥж":139781,"Ġözelli":139782,"ĠözelliÄŁi":139783,"Ġниже":139784,"ç¶ļãģijãģ¦":139785,"ĠаÑĢенд":139786,"Ġkatılı":139787,"Ġkatılım":139788,"ĠإطÙĦاÙĤ":139789,"ĠÙĪØ¥Ø°Ø§":139790,"ĠокÑĤÑı":139791,"ĠокÑĤÑıбÑĢÑı":139792,"à¹Ĥà¸ķà¹":139793,"à¹Ĥà¸ķà¹Ĭ":139794,"à¹Ĥà¸ķà¹Ĭะ":139795,"Ġoldukları":139796,"ÙħÙĪÙĤع":139797,"ëĤ©":139798,"ã썿ĢĿãģ£ãģ¦ãģĦãĤĭ":139799,"Ġש×Ļ׼×ķ׾":139800,"วาà¸Ķ":139801,"سÙĬÙĦ":139802,"à¸Ĥวั":139803,"à¸Ĥวัà¸į":139804,"تØŃÙĥÙħ":139805,"ìĤŃ":139806,"Ġconnaît":139807,"×ł×¤×ª×Ĺ":139808,"Ġchặ":139809,"Ġchặn":139810,"ĠÙħØŃÙħ":139811,"ĠÙħØŃÙħÙĪØ¯":139812,"ãģ´":139813,"ĠпÑĢодÑĥкÑĨии":139814,"здÑĢав":139815,"ãģĶè¦":139816,"ãģĶ覧":139817,"×IJ×ij×IJ":139818,"Ġvéritable":139819,"ĠØ·ÙģÙĦ":139820,"ãĥĪãĥ©ãĥĸãĥ«":139821,"곡":139822,"Ġת×ŀ×ķ׳×Ķ":139823,"Ġkiên":139824,"ĠÙĤادر":139825,"Ø¥ÙĤÙĦÙĬÙħ":139826,"ĠпÑĢедпÑĢи":139827,"ĠпÑĢедпÑĢиÑıÑĤиÑı":139828,"ĠbÄĥng":139829,"Ġayında":139830,"Ġgấp":139831,"еÑħал":139832,"ĠgiÃłnh":139833,"Ġдав":139834,"Ġдавно":139835,"ìĺĢëĭ¤":139836,"à¸Ļัà¸ģà¹Ģà¸ķ":139837,"à¸Ļัà¸ģà¹Ģà¸ķะ":139838,"Ùħستشار":139839,"ستراتÙĬج":139840,"ستراتÙĬجÙĬ":139841,"رÙħز":139842,"ĠtÄ©nh":139843,"ë¡Ń":139844,"ĠÑĩеÑĤ":139845,"ĠÑĩеÑĤÑĭ":139846,"ĠÑĩеÑĤÑĭÑĢе":139847,"ĠEntão":139848,"Ġصغ":139849,"ĠصغÙĬرة":139850,"×ij×Ļ×ĺ×ķ׾":139851,"خطÙĪØ·":139852,"ĠÑĢазвиÑĤие":139853,"Ġamacıyla":139854,"à¸Ĺีวี":139855,"ĠоÑģÑĤ":139856,"ĠоÑģÑĤалÑĮн":139857,"ש×ķ׾×Ĺף":139858,"Ġ׼׳×Ļס":139859,"Ġ׼׳×Ļס×Ķ":139860,"ĠdáºŃy":139861,"ĠyaÅŁayan":139862,"Ġ×ŀ×Ķ×ķ×ķ×Ķ":139863,"ĠÑĥÑģи":139864,"ĠÑĥÑģили":139865,"×ŀפ×Ļ":139866,"ĠпÑĢоведениÑı":139867,"Ġرب":139868,"ĠربÙħا":139869,"ĠاÙĦØ£ÙĪØ³Ø·":139870,"Ġìľłì§Ģ":139871,"Ġpracownik":139872,"Ġpracowników":139873,"×ŀס×ķרת":139874,"ÙĤارب":139875,"à¸Ħวามรูà¹īสึà¸ģ":139876,"à¹ģหละ":139877,"ĠاÙĦÙĨÙĤد":139878,"Ġ×IJ׾פ×Ļ":139879,"Ùħسئ":139880,"ÙħسئÙĪÙĦ":139881,"евÑĭÑħ":139882,"клÑİÑĩениÑı":139883,"×ij×Ļ׳":139884,"×ij×Ļ׳×Ļ×Ķ×Ŀ":139885,"ש×ķ×IJ×Ķ":139886,"ĠÅŁark":139887,"ĠÅŁarkı":139888,"Ġsürec":139889,"Ġsürecin":139890,"à¹Ģà¸Ħรà¸Ķ":139891,"à¹Ģà¸Ħรà¸Ķิà¸ķ":139892,"ãĥIJãĥ¬":139893,"ĠشأÙĨ":139894,"à¹Ģà¸Ńาà¹Ħวà¹ī":139895,"niÄĻcie":139896,"רצ×Ĺ":139897,"ĠaÅŁama":139898,"׳פ×Ĵ×¢":139899,"Ġthá»Ŀ":139900,"Ġkhuẩn":139901,"diÄŁinde":139902,"ÑıÑīиÑħ":139903,"ãĥĺãĥ«":139904,"Ġüberh":139905,"Ġüberhaupt":139906,"ĠÑĤÑĢебова":139907,"ĠdÅĤugi":139908,"×ĺ×Ļף":139909,"à¸Ĥà¸Ļาà¸Ķà¹ĥหà¸įà¹Ī":139910,"ĠاÙĦØ£Ùĩ":139911,"ĠاÙĦØ£ÙĩÙĦÙĬ":139912,"ĠMüd":139913,"ĠMüdürü":139914,"Ġ×Ļ×Ķ×ķ×ĵ×Ķ":139915,"ÑĭваеÑĤÑģÑı":139916,"ساط":139917,"×Ķ×ª×ł×Ķ×Ĵ":139918,"×Ķ×ª×ł×Ķ×Ĵ×ķת":139919,"à¸ģà¸²à¸£à¸ľà¸¥à¸´à¸ķ":139920,"íĴĢ":139921,"สà¸ĸาà¸Ļà¸ģารà¸ĵà¹Į":139922,"ĠоÑĦ":139923,"ĠоÑĦиÑģ":139924,"ĠÙĦعبة":139925,"ĠstronÄĻ":139926,"Ġר×IJ×ķ×Ļ":139927,"×Ĺ×ij׾":139928,"ĠÑĢÑĭн":139929,"ĠÑĢÑĭнке":139930,"Ġ׾×ŀ×¢×Ł":139931,"اسÙĦ":139932,"หัà¸Ļ":139933,"Ġ×IJ×Ĺ×Ļ":139934,"ĠпÑĢодол":139935,"ê°Ģìŀħ":139936,"Ġ×ijר×Ĺ":139937,"Ġ×ijר×Ĺ×ij×Ļ":139938,"джеÑĢ":139939,"Ġ׾×Ĺ׾":139940,"Ġ׾×Ĺ׾×ķ×ĺ":139941,"Ġ׾×Ĺ׾×ķ×ĺ×Ļף":139942,"ศาสà¸Ļา":139943,"ãĤ¢ãĤ¤ãĥĨ":139944,"ãĤ¢ãĤ¤ãĥĨãĥł":139945,"Ġפר×ķפ":139946,"جزاء":139947,"ลà¸Ńย":139948,"ĠciaÅĤa":139949,"Ġgiết":139950,"ĠзнаÑĩиÑĤелÑĮно":139951,"Ġolmadıģ":139952,"Ġolmadıģını":139953,"нд":139954,"ндекÑģ":139955,"تأÙĥد":139956,"Ġìĸ¸":139957,"Ġìĸ¸ìłľ":139958,"aydın":139959,"ãĥīãĥ¬ãĤ¹":139960,"Ġsắt":139961,"Ġíĺ¸íħĶ":139962,"Ġë¶ģ":139963,"Ġë¶ģíķľ":139964,"ãĥijãĤ¤":139965,"Ġ×ŀש×Ĺ×§×Ļ":139966,"à¸Ħà¸Ļà¸Ńืà¹Īà¸Ļ":139967,"ĠизгоÑĤов":139968,"ĠизгоÑĤовлен":139969,"à¹Ģà¸ģียร":139970,"à¹Ģà¸ģียรà¸ķิ":139971,"תקשר":139972,"ĠÑĢаÑģÑĩеÑĤ":139973,"สà¹Ģà¸ķ":139974,"Ġlänger":139975,"ĠiÅŁlet":139976,"ĠiÅŁletme":139977,"ĠعÙĦÙĬÙĨ":139978,"ĠعÙĦÙĬÙĨا":139979,"élection":139980,"ĠاÙĦغربÙĬØ©":139981,"íĭĢ":139982,"ãĤĤãĤīãģĪ":139983,"Ġкниги":139984,"أسÙħ":139985,"أسÙħاء":139986,"Ġthá»ı":139987,"Ġthá»ıa":139988,"หà¸Ļู":139989,"Ġ×ł×¢×©×Ķ":139990,"à¸łà¸²à¸¢à¹ĥà¸ķà¹ī":139991,"à¸ŀืà¸Ĭ":139992,"رÙĬØ·":139993,"ÙģÙĪØ¶":139994,"ãģĤãĤĬãģĮãģ¨ãģĨãģĶãģĸãģĦãģ¾ãģĹãģŁ":139995,"ש×ĵ×Ķ":139996,"Ġngá»±c":139997,"ĠÑģеÑĢÑĮ":139998,"ĠÑģеÑĢÑĮезн":139999,"Tôi":140000,"Ġfiyatları":140001,"ĠвÑģÑİ":140002,"ĠCódigo":140003,"Ġ×Ķש×IJ":140004,"Ġ×Ķש×IJ׾×Ķ":140005,"ĠPública":140006,"إخ":140007,"إخÙĪØ§ÙĨ":140008,"ĠзаÑıвил":140009,"ãĥ¦ãĥ¼":140010,"ר×IJ×Ļת":140011,"volución":140012,"Ġszko":140013,"ĠszkoÅĤy":140014,"جرÙĬدة":140015,"Ġpensé":140016,"ìī¬":140017,"ĠBüyükÅŁehir":140018,"ĠØ£ÙħرÙĬ":140019,"ĠØ£ÙħرÙĬÙĥÙĬ":140020,"à¸Ļัà¸ģศึà¸ģษา":140021,"Ġtodav":140022,"ĠtodavÃŃa":140023,"ĠСан":140024,"ĠСанкÑĤ":140025,"íķĺìŀIJ":140026,"ØŃÙĪØ§ÙĦ":140027,"׼×ķשר":140028,"à¹Ģลยà¸Ħรัà¸ļ":140029,"Ġalgu":140030,"Ġalguém":140031,"Ù쨲":140032,"Ġçekil":140033,"Ġ×ĵר׼×Ļ×Ŀ":140034,"ãĥIJãĥ©":140035,"à¸ģà¹ĩสามารà¸ĸ":140036,"สà¹Īวà¸Ļลà¸Ķ":140037,"íı°":140038,"ĠPúb":140039,"ĠPúblico":140040,"à¹ģà¸Ļวà¸Ĺาà¸ĩ":140041,"×IJת×Ĵר":140042,"شاش":140043,"شاشة":140044,"ciÅĽni":140045,"ĠÃľrün":140046,"ÙĦÙĪØŃ":140047,"ĠاÙĦبÙĨ":140048,"ĠاÙĦبÙĨÙĥ":140049,"ì¡°ì¹ĺ":140050,"Ġorganización":140051,"ãģĤãĤĬãģĮãģ¨ãģĨãģĶãģĸãģĦãģ¾ãģĻ":140052,"sätze":140053,"ĠÑģемей":140054,"ÙĤصد":140055,"ÑģÑĤвеннÑĭе":140056,"Ġprécéd":140057,"Ġprécédent":140058,"à¸ģรุà¸ĩà¹Ģà¸Ĺà¸ŀฯ":140059,"ãģ¨è¨ĢãģĦ":140060,"×ij׳×Ļ×Ļף":140061,"ĠØŃÙĪ":140062,"ĠØŃÙĪØ§ÙĦÙĬ":140063,"סקס":140064,"ĠsaÄŁlamak":140065,"Ġ׾צ×Ļ×Ļף":140066,"×§×ĵש":140067,"Ġ×Ķ×ŀ×¢×¨×Ľ×ª":140068,"Ġ׾×Ķ×¢×ij×Ļר":140069,"Ġgünd":140070,"Ġgündem":140071,"ĠнаÑĪего":140072,"à¹ĥà¸Ļà¸ŀืà¹īà¸Ļà¸Ĺีà¹Ī":140073,"à¹Ģà¸Ħรืà¸Ń":140074,"à¹Ģà¸Ħรืà¸Ńà¸Ĥ":140075,"à¹Ģà¸Ħรืà¸Ńà¸Ĥà¹Īาย":140076,"ظاÙĩرة":140077,"ÙħÙĨظÙħ":140078,"ÙħÙĨظÙħات":140079,"Ùħتاز":140080,"追ãģĦ":140081,"dıkt":140082,"dıktan":140083,"ĠëįĶìļ±":140084,"ĠÐĿапÑĢимеÑĢ":140085,"twór":140086,"×ŀ×ķעצ×Ķ":140087,"ÙĥÙĪÙĥ":140088,"Щ":140089,"×ŀ×ĺפ׾":140090,"ólica":140091,"訪ãĤĮ":140092,"ĠëĮĢë¶Ģ":140093,"ĠëĮĢë¶Ģë¶Ħ":140094,"ãĤ¯ãĥªãĥĥãĤ¯":140095,"ãĤĴéģ¸":140096,"ãĤĴéģ¸ãģ¶":140097,"Ġpowsta":140098,"ĠpowstaÅĤ":140099,"Ġrazón":140100,"×ij×ķ×Ĺר":140101,"ĠÑģообÑīил":140102,"Ġ×§×ij×ķ×¢":140103,"rêt":140104,"à¸Ķีà¸Ĥึà¹īà¸Ļ":140105,"×ŀסע×ĵ":140106,"×ŀסע×ĵ×ķת":140107,"ĠÃĸsterreich":140108,"Ġ׳×Ĺש×ij":140109,"Ùħبادرة":140110,"ì´ī":140111,"×Ĵ׳×ĺ×Ļ":140112,"ä¿¡ãģĺ":140113,"duÄŁ":140114,"duÄŁunu":140115,"Ġphú":140116,"ĠاÙĦأخÙĬر":140117,"Ġتعتبر":140118,"landırıl":140119,"ãģ¨ãģ¯ãģĦ":140120,"ãģ¨ãģ¯ãģĦãģĪ":140121,"ĠاÙĦØ·ÙĦ":140122,"ĠاÙĦØ·ÙĦاب":140123,"ĠNº":140124,"éģ¿ãģij":140125,"اÙĦÙħع":140126,"اÙĦÙħعرÙĪÙģ":140127,"à¸ªà¸łà¸²":140128,"éĽ¢ãĤĮ":140129,"ĠпомоÑīÑĮ":140130,"ĠзнаеÑĤ":140131,"ãĥĹãĥ¬ãĤ¼":140132,"ãĥĹãĥ¬ãĤ¼ãĥ³ãĥĪ":140133,"Ġsupérieur":140134,"Ġש׾×Ļש×Ļ":140135,"ĠاÙĦÙĨÙĪØ¹":140136,"ãĤĵãģ§ãģĻãģŃ":140137,"à¸Ńà¸ļรม":140138,"Ġgiá»įng":140139,"ĠwzglÄĻd":140140,"ĠاÙĦÙģÙĤر":140141,"èrent":140142,"Ġ×ŀ×IJ×Ĺ":140143,"Ġ×ŀ×IJ×Ĺ×ķר×Ļ":140144,"×Ĵ×Ĵ":140145,"×Ļ×Ļ×ij":140146,"ÙħÙĦاب":140147,"ÙħÙĦابس":140148,"Ġhükü":140149,"Ġhükümet":140150,"Ġ×ŀ×Ĵ×Ļ×ij":140151,"ĠÐŀÑĩ":140152,"ĠÐŀÑĩенÑĮ":140153,"æĹ©ãģĦ":140154,"Ġconstrucción":140155,"Ġthượng":140156,"ï¼ĭ":140157,"Ġcoração":140158,"à¹Ģหลà¹ĩà¸ģ":140159,"ĠBaÅŁb":140160,"ĠBaÅŁbakan":140161,"éĢ£ãĤĮ":140162,"ãģĻãĤĭãģĵãģ¨ãģĮãģ§ãģįãģ¾ãģĻ":140163,"ĠÙĤاÙħت":140164,"ĠاÙĥثر":140165,"ÙģØ§Ø¹ÙĦ":140166,"ĠÑĦоÑĢ":140167,"ĠÑĦоÑĢÑĥм":140168,"غذÙĬ":140169,"ĠiÅŁle":140170,"ĠiÅŁleml":140171,"ĠiÅŁlemleri":140172,"ĠìĤ¬ëŀĮìĿĢ":140173,"ĠìŀijìĦ±":140174,"Ġë§Ī볨":140175,"ÙħجÙĦس":140176,"หมู":140177,"дв":140178,"двиг":140179,"двига":140180,"à¹Ģสียà¸Ĭีวิà¸ķ":140181,"×Ķתפת×Ĺ":140182,"×Ķתפת×Ĺ×ķת":140183,"ĠмеÑĤÑĢо":140184,"ĠÑģенÑĤ":140185,"ĠÑģенÑĤÑı":140186,"ĠÑģенÑĤÑıбÑĢÑı":140187,"ê³§":140188,"Ġ×ľ×¤×¢":140189,"Ġ×ľ×¤×¢×ŀ×Ļ×Ŀ":140190,"à¹Ģà¸ļีย":140191,"詳ãģĹãģı":140192,"çķ°ãģªãĤĭ":140193,"Ġİlçe":140194,"ĠAtat":140195,"ĠAtatür":140196,"ĠAtatürk":140197,"รุà¹Īà¸ĩ":140198,"Ġkaldı":140199,"Ġ주ìŀ¥":140200,"Ġprésence":140201,"Ġнаб":140202,"ĠнаблÑİ":140203,"ĠнаблÑİда":140204,"ĠÑģамого":140205,"×Ĵ×ķש":140206,"×ŀ×ĺ×ķפ":140207,"×ŀ×ĺ×ķפ׾":140208,"ĠвÑĭбиÑĢа":140209,"ĠìŀIJ리":140210,"åĪĨãģĭãĤīãģªãģĦ":140211,"ĠзÑĥб":140212,"Ġש׼×ijר":140213,"Ġدائ":140214,"ĠدائÙħا":140215,"ĠпаÑĢÑĤи":140216,"ï¼²":140217,"ĠاÙĬضا":140218,"ĠÑħоз":140219,"ĠÑħозÑı":140220,"ĠÑħозÑıй":140221,"ĠÑħозÑıйÑģÑĤв":140222,"ĠاÙĦأج":140223,"ĠاÙĦأجÙĨب":140224,"ĠاÙĦأجÙĨبÙĬØ©":140225,"ĠÐĹна":140226,"ĠApós":140227,"ĠÑįнеÑĢ":140228,"ĠÑįнеÑĢги":140229,"Ġyans":140230,"Ġyansı":140231,"ĠJusti":140232,"ĠJustiça":140233,"Ġprévu":140234,"มวล":140235,"ìŀ¥ëĭĺ":140236,"à¸ģระà¸ļ":140237,"à¸ģระà¸ļวà¸Ļ":140238,"à¸ģระà¸ļวà¸Ļà¸ģาร":140239,"×ŀ×ŀ":140240,"×ŀ×ŀ×ķצע":140241,"Ġhẹ":140242,"Ġhẹn":140243,"здание":140244,"ĠakÅŁ":140245,"ĠakÅŁam":140246,"×ĺ×ķפ":140247,"Ġgerekt":140248,"Ġgerekti":140249,"ĠgerektiÄŁini":140250,"Ġnarz":140251,"ĠnarzÄĻdzi":140252,"épo":140253,"époque":140254,"ĠThần":140255,"Ġwysoko":140256,"ĠwysokoÅĽci":140257,"à¸ľà¸¹à¹īà¸Ľ":140258,"à¸ľà¸¹à¹īà¸Ľà¹Īวย":140259,"ĠÙĬبدÙĪ":140260,"ÑĤелÑĮного":140261,"ĠвзглÑıд":140262,"ĠjednÄħ":140263,"ĠìĿĺ견":140264,"Ġà¸Ĥà¸ĵะà¸Ĺีà¹Ī":140265,"פ×Ļ×ĵ":140266,"ìĥģëĭ´":140267,"Ġmỡ":140268,"×Ķ×ŀ׾":140269,"×Ķ×ŀ׾צ×ķת":140270,"ĠÑģоÑģÑĤо":140271,"ĠÑģоÑģÑĤоиÑĤ":140272,"Ġави":140273,"Ġавиа":140274,"ĠLänder":140275,"تصÙĪÙĬر":140276,"×ŀ×ĵ×Ļ×Ķ":140277,"ìłĪì°¨":140278,"ãģ¨ãĤĬ":140279,"ãģ¨ãĤĬãģĤ":140280,"ãģ¨ãĤĬãģĤãģĪ":140281,"ãģ¨ãĤĬãģĤãģĪãģļ":140282,"ĠÑĢÑıд":140283,"ĠÑĢÑıдом":140284,"ĠNhất":140285,"ĠاÙĦÙĥاÙħÙĦ":140286,"×Ĺ׾׾":140287,"ĠGiấy":140288,"צ×ĺר":140289,"צ×ĺרף":140290,"Ġ׾×ij×ĺ׾":140291,"ĠимеÑĤÑĮ":140292,"ס×ŀ×ķ×ļ":140293,"Ġparticipação":140294,"íķľëĭ¤ë©´":140295,"ÙħÙĨتدÙĬ":140296,"ÙħÙĨتدÙĬات":140297,"ĠeÄŁlen":140298,"gänge":140299,"ربØŃ":140300,"ãĤ®ãĥ£":140301,"ĠاÙĦرÙĤÙħ":140302,"à¸ĭà¹īำ":140303,"ĠHóa":140304,"×ŀר×Ĺ×§":140305,"ØŃÙħاÙħ":140306,"بÙĪÙĥ":140307,"ĠArtÃŃculo":140308,"ãĥĦãĤ¢ãĥ¼":140309,"×Ķפ׼×Ķ":140310,"×Ĺ׾×ķף":140311,"ĠпеÑĢеÑħод":140312,"lenmiÅŁ":140313,"زراعة":140314,"Ġseñor":140315,"ãģ£ãģ¦ãģįãģ¦":140316,"إش":140317,"إشارة":140318,"ĠpodÃŃa":140319,"ĠÃľlke":140320,"нÑģкаÑı":140321,"Ġadapté":140322,"Ġdüzenlen":140323,"Ġdüzenlenen":140324,"ĠÑģÑĤала":140325,"ĠÙĬØŃتاج":140326,"Ġnier":140327,"Ġnieruch":140328,"Ġnieruchomo":140329,"ĠnieruchomoÅĽci":140330,"ãģĵãģ¨ãģĮãģĤãĤĭ":140331,"ยà¸Ńà¸Ķà¹Ģยีà¹Īยม":140332,"ĠÙħج":140333,"ĠÙħجاÙĨÙĬ":140334,"Ġзаб":140335,"Ġзабол":140336,"Ġзаболев":140337,"ĠзаболеваниÑı":140338,"ĠÅĽro":140339,"ĠÅĽrodk":140340,"ĠÅĽrodków":140341,"Ġ×Ķ׾×IJ×ķ×ŀ×Ļ":140342,"ĠdokÅĤad":140343,"ĠdokÅĤadnie":140344,"ãģŁãģıãģªãģĦ":140345,"ãģ¯ãģļãģ§ãģĻ":140346,"ã썿ĢĿãģ£ãģ¦ãģĦãģŁ":140347,"écran":140348,"ìĹħì²´":140349,"trzymaÅĤ":140350,"ÑģÑĤвеннÑĭй":140351,"ĠNotÃŃc":140352,"ĠNotÃŃcias":140353,"ÙħرÙĬ":140354,"ÙħرÙĬض":140355,"æ°Ĺè»":140356,"æ°Ĺ軽":140357,"æ°Ĺ軽ãģ«":140358,"ëĵ£":140359,"Ġ×ĵ×ķ×IJר":140360,"Ġ׾×ŀ׳":140361,"Ġ׾×ŀ׳×ķ×¢":140362,"ĠçalÄ±ÅŁÄ±yor":140363,"ĠÅŁidd":140364,"ĠÅŁiddet":140365,"ĠMặt":140366,"ĠateÅŁ":140367,"ĠполÑĥÑĩениÑı":140368,"à¹Ģà¸Ħรืà¹Īà¸Ńà¸ĩมืà¸Ń":140369,"ĠgrÃ¶ÃŁer":140370,"دائ":140371,"دائرة":140372,"Ġbulun":140373,"Ġbulunmaktadır":140374,"à¹Ģหร":140375,"à¹Ģหรีย":140376,"à¹Ģหรียà¸į":140377,"à¸Ļัà¸ģà¸Ĺà¹Īà¸Ńà¸ĩà¹Ģà¸Ĺีà¹Īยว":140378,"Ġalanında":140379,"ĠÑĥзна":140380,"ĠлеÑĩение":140381,"売ãĤĮ":140382,"Ġçevir":140383,"ĠdesteÄŁi":140384,"ĠheiÃŁt":140385,"âĸ²":140386,"ØŃØ·":140387,"à¸Ħำà¸ķà¸Ńà¸ļ":140388,"ãĤªãĥ³ãĥ©ãĤ¤ãĥ³":140389,"Ġ×ij×Ĺ×Ļ×Ļ×Ŀ":140390,"ãĥ¦ãĥĭ":140391,"Ġdüzenleme":140392,"ĠmodalitÃł":140393,"سرط":140394,"سرطاÙĨ":140395,"×ŀ׼×ķף":140396,"ĠданнÑĭй":140397,"ترت":140398,"ترتÙĬب":140399,"à¸ļาà¸ĩà¸Ħà¸Ļ":140400,"ĠÄIJá»ĭnh":140401,"มูล":140402,"มูลà¸Ħà¹Īา":140403,"ÙĨÙĤص":140404,"à¸ģารรัà¸ģษา":140405,"ĠÑĦон":140406,"ĠÑĦонд":140407,"ãĤĪãģĨãģ«ãģªãģ£ãģŁ":140408,"ÙħعاÙĦ":140409,"ÙħعاÙĦجة":140410,"ĠOsman":140411,"ĠOsmanlı":140412,"иÑĩеÑģком":140413,"à¸Ńยาà¸ģà¸Īะ":140414,"ãģķãģ¾ãģĸ":140415,"ãģķãģ¾ãģĸãģ¾":140416,"ãģķãģ¾ãģĸãģ¾ãģª":140417,"Ġת×ķ׼׾":140418,"עצ×ij":140419,"ĠاÙĦعسÙĥ":140420,"ĠاÙĦعسÙĥرÙĬ":140421,"Ġvéhic":140422,"Ġvéhicule":140423,"Ġ×Ļצ×Ĺ×§":140424,"ĠاÙĦÙĪØŃ":140425,"ĠاÙĦÙĪØŃÙĬد":140426,"ĠاÙĦعدÙĪ":140427,"ĠQuản":140428,"Ġê³µëıĻ":140429,"بدÙĦ":140430,"ĠÄijảng":140431,"Ġmá»ĩnh":140432,"Ġniezb":140433,"ĠniezbÄĻ":140434,"ĠniezbÄĻdn":140435,"Ġyayınlan":140436,"обÑīи":140437,"Ġgötür":140438,"צפ":140439,"צפ×ķ×Ļ":140440,"ĠÙĦÙĬبÙĬ":140441,"ĠÙĦÙĬبÙĬا":140442,"ØŃÙĪØ§":140443,"Ġдоб":140444,"ĠдобÑĢо":140445,"иÑĢÑĥем":140446,"ĠاÙĦØŃÙĥÙĪÙħÙĬØ©":140447,"mÃ¤ÃŁig":140448,"Ġedición":140449,"влекаÑĤелÑĮ":140450,"влекаÑĤелÑĮн":140451,"Ġ×ª×©×ľ×ķ×Ŀ":140452,"Ġ×Ķש×ķ׳×Ļ×Ŀ":140453,"มิà¸ĸุ":140454,"มิà¸ĸุà¸Ļ":140455,"มิà¸ĸุà¸Ļายà¸Ļ":140456,"é£Łãģ¹ãģ¦":140457,"ĠìĪĺì§ij":140458,"ס×ij×Ļ":140459,"ĠиÑİлÑı":140460,"Ġà¹Ħà¸Ķà¹īà¹ģà¸ģà¹Ī":140461,"׾×Ĺ×Ŀ":140462,"trä":140463,"trägt":140464,"ãģĿãĤĤãģĿãĤĤ":140465,"ÐĿÐķ":140466,"ĠвнÑĥÑĤ":140467,"ĠвнÑĥÑĤÑĢи":140468,"ãģ¨ä¸Ģç·Ĵãģ«":140469,"ãĤ«ãĥķãĤ§":140470,"Ġ×ij×Ĺ×ĵר":140471,"×Ĺ×ŀש":140472,"ãĤ¨ãĥį":140473,"ãĤ¨ãĥįãĥ«":140474,"ãĤ¨ãĥįãĥ«ãĤ®":140475,"ãĤ¨ãĥįãĥ«ãĤ®ãĥ¼":140476,"à¸Ĥà¸Ńà¸ĩà¸ķัวà¹Ģà¸Ńà¸ĩ":140477,"بÙĤاء":140478,"פס×Ļ׼":140479,"פס×Ļ׼×ķ׾×ķ×Ĵ":140480,"ãĥ¡ãĥĥ":140481,"ãĥ¡ãĥĥãĤ»":140482,"ãĥ¡ãĥĥãĤ»ãĥ¼ãĤ¸":140483,"ÙĦÙĤب":140484,"AÄŀ":140485,"שק×Ļ×¢":140486,"ÙĤساÙħ":140487,"×ĵ×ķ×Ĵ×ŀ×Ķ":140488,"æ·±ãģĦ":140489,"íĸĪëĬĶëį°":140490,"ĠrozwiÄħzanie":140491,"à¸Ļัà¹Īà¸Ļà¹Ģà¸Ńà¸ĩ":140492,"×Ļצ×ij":140493,"Ġtrông":140494,"à¹ĥà¸Ĭà¹īà¸ļริà¸ģาร":140495,"ĠاÙĦÙħÙĪØ³Ùħ":140496,"ĠдеÑĤи":140497,"ãģĹãģĭãģªãģĦ":140498,"ס×Ļף":140499,"Ġréférence":140500,"à¹ģหà¹īà¸ĩ":140501,"ãĤĤãĤīãģ£ãģŁ":140502,"Ġ׾ר׼":140503,"Ġ׾ר׼×ķש":140504,"شعÙĪØ±":140505,"ĠÐijог":140506,"Ġlazım":140507,"Ġ×Ļש׳×Ŀ":140508,"ĠпаÑĢÑĤ":140509,"ĠпаÑĢÑĤнеÑĢ":140510,"ĠÑĥника":140511,"ĠÑĥникалÑĮн":140512,"Ġmatériel":140513,"×ŀרק":140514,"Ġphưá»Ŀng":140515,"Ġзай":140516,"Ġзайм":140517,"ÙģÙĤد":140518,"UniversitÃł":140519,"×¢×¨×Ľ×Ļ×Ŀ":140520,"Ġbaño":140521,"ĠноÑı":140522,"ĠноÑıбÑĢÑı":140523,"à¸Ľà¹īาย":140524,"Ġtats":140525,"Ġtatsäch":140526,"Ġtatsächlich":140527,"ĠÑĤÑĢеÑĤÑĮ":140528,"Ñįм":140529,"ãĥĻãĥ¼ãĤ¹":140530,"Ġnhá»±a":140531,"ìĬ¤íģ¬":140532,"ĠعبداÙĦÙĦÙĩ":140533,"Ġת×ķר×Ķ":140534,"أشÙĬ":140535,"أشÙĬاء":140536,"ĠÙĦÙĦغا":140537,"ĠÙĦÙĦغاÙĬØ©":140538,"ÙħÙĪØ§ÙĤ":140539,"ÙħÙĪØ§ÙĤÙģ":140540,"ĠgÅĤówna":140541,"ĠartÄ±ÅŁ":140542,"Ġ×ŀ×§×ķ×ŀ×Ļ":140543,"ãĤ¯ãĥ©ãĥĸ":140544,"ĠسÙĪÙī":140545,"ĠìŬìĦ±":140546,"اسر":140547,"اسرائÙĬÙĦ":140548,"Ġ×ł×Ľ×ª×ij":140549,"ยà¹īà¸Ńà¸Ļ":140550,"Ġdeberá":140551,"Ġphẫu":140552,"ÑİÑīем":140553,"ĠÙĦدÙĬÙĨا":140554,"×ŀ×ĺ×Ķ":140555,"Ġ׳×ķ׾×ĵ":140556,"ĠвÑģÑĤÑĢеÑĩа":140557,"ãĤīãĤĮãģ¦ãģĦãģ¾ãģĻ":140558,"ĠcaÅĤej":140559,"ยึ":140560,"ยึà¸Ķ":140561,"поÑĤен":140562,"поÑĤенÑĨи":140563,"ĠлиÑĤ":140564,"ĠлиÑĤеÑĢ":140565,"ĠлиÑĤеÑĢаÑĤÑĥÑĢ":140566,"Ġкаждом":140567,"ĠíĮIJ":140568,"ĠíĮIJëĭ¨":140569,"à¸Īู":140570,"Ġpresença":140571,"ãģªãĤĵãģ§":140572,"ÙħÙĬاÙĩ":140573,"инÑĦоÑĢм":140574,"инÑĦоÑĢмаÑĨион":140575,"инÑĦоÑĢмаÑĨионн":140576,"ĠìŀIJìŰ":140577,"ר׼ש":140578,"Ġödül":140579,"ç¶ļãģı":140580,"ĠпÑģ":140581,"ĠпÑģиÑħ":140582,"ĠпÑģиÑħолог":140583,"تذÙĥر":140584,"Ġìŀħìŀ¥":140585,"ลà¸Ķà¹Į":140586,"ìĦłê±°":140587,"ãģ£ãģ¦ãģĬãĤĬãģ¾ãģĻ":140588,"Ġ×Ļ×¢":140589,"Ġ×Ļ×¢×§×ij":140590,"ĠاÙĦطعاÙħ":140591,"ãĥĨãĤ¹ãĥĪ":140592,"ĠTuấn":140593,"Ġparticipación":140594,"×ŀ×ķ×ŀ×Ĺ×Ķ":140595,"×Ĵרס×Ķ":140596,"ĠاÙĦتÙĨÙģÙĬ":140597,"ĠاÙĦتÙĨÙģÙĬذÙĬ":140598,"ĠбезопаÑģн":140599,"gef":140600,"gefähr":140601,"Ø´ÙĪØ±":140602,"ĠmyÅĽli":140603,"ÙĪØ§Ø´ÙĨ":140604,"ÙĪØ§Ø´ÙĨØ·ÙĨ":140605,"׳×ķסע":140606,"ÙĥÙĩ":140607,"ÙĥÙĩرب":140608,"ÙĥÙĩرباء":140609,"ĠmusiaÅĤ":140610,"ìĭ¸":140611,"ãĥĸãĥ©ãĥĥãĤ¯":140612,"Ġcréé":140613,"ÙĨÙĩار":140614,"owoÅĽÄĩ":140615,"ÙħØŃاÙĥÙħ":140616,"ĠwÅĤaÅĽ":140617,"ĠwÅĤaÅĽc":140618,"ĠwÅĤaÅĽciciel":140619,"ĠÙĬؤ":140620,"ĠÙĬؤدÙĬ":140621,"×ŀ×¢×ķ׳":140622,"×IJ×ij׾":140623,"خطأ":140624,"ĠÑħолод":140625,"×ĸ×ķ׾":140626,"ãģĵãĤĮãĤī":140627,"ãģĵãĤĮãĤīãģ®":140628,"Ġbásica":140629,"ฤà¸Ķ":140630,"ฤà¸Ķูà¸ģ":140631,"ฤà¸Ķูà¸ģา":140632,"ฤà¸Ķูà¸ģาล":140633,"èIJ½ãģ¡çĿĢ":140634,"ãģªãģĦãģĵãģ¨":140635,"صÙĪÙħ":140636,"ÙĨجØŃ":140637,"׳ק×ķ×ĵ":140638,"׳ק×ķ×ĵת":140639,"клаÑģÑģ":140640,"íķĺìĭľëĬĶ":140641,"ëĦĺ":140642,"Ġש×IJ×Ļ׳×ķ":140643,"ĠСейÑĩаÑģ":140644,"mayacaģı":140645,"Ġyapılır":140646,"ĠcategorÃŃa":140647,"عباد":140648,"ĠТеп":140649,"ĠТепеÑĢÑĮ":140650,"×Ķ×Ļס×ĺ×ķר×Ļ":140651,"hế":140652,"ãĤ³ãĥ¼ãĥī":140653,"Ġcabeça":140654,"جÙħا":140655,"جÙħاÙĩ":140656,"جÙħاÙĩÙĬر":140657,"ä½İãģĦ":140658,"ĠÑĤоваÑĢов":140659,"à¸Ĭาวà¸ļà¹īาà¸Ļ":140660,"ĠÑģÑĤанов":140661,"ĠÑģÑĤановиÑĤÑģÑı":140662,"ĠавÑĤомобилÑĮ":140663,"ĠÑģлÑĥÑĩай":140664,"à¸Ńัà¸ŀ":140665,"ĠGiriÅŁ":140666,"ĠìĿ¼ëĭ¨":140667,"ĠпÑĢоÑģ":140668,"ĠпÑĢоÑģмоÑĤÑĢ":140669,"ãģªãģıãģªãģ£ãģŁ":140670,"à¸¡à¸µà¸Ľà¸±à¸įหา":140671,"ïºİ":140672,"écoute":140673,"ĠÙħÙĪØ¬ÙĪØ¯":140674,"ĠسرÙĬع":140675,"ĠÙĪÙĩÙĨا":140676,"ĠÙĪÙĩÙĨاÙĥ":140677,"à¸Ħุà¸ĵสม":140678,"à¸Ħุà¸ĵสมà¸ļัà¸ķิ":140679,"Ġìļ°ìĦł":140680,"à¸ŀระà¸ŀุà¸Ĺà¸ĺ":140681,"好ãģ¿":140682,"ظÙĦÙħ":140683,"ĠмакÑģ":140684,"ĠмакÑģималÑĮ":140685,"ĠмакÑģималÑĮно":140686,"ãĥªãĤ¢ãĥ«":140687,"à¹ģมà¹īวà¹Īา":140688,"ĠاÙĦØŃÙĪØ§Ø±":140689,"ãĥĹãĥ©ãĤ¹":140690,"ĠعÙĦاÙĤØ©":140691,"ĠíĸīëıĻ":140692,"Ġgönderil":140693,"Ġlãi":140694,"ĠsaÄŁlıkl":140695,"ĠsaÄŁlıklı":140696,"ĠÑĪаг":140697,"Ġ×ij×IJר×Ķ":140698,"prowadziÄĩ":140699,"ãģĦãģıãģ¤ãģĭ":140700,"ĠبتارÙĬØ®":140701,"Ġ×ij×IJ×ķת×Ķ":140702,"Ġmóc":140703,"ĠÐľÐ½Ðµ":140704,"ãĥĹãĥ¬ãĥ¼":140705,"×IJ×ĸר×Ĺ":140706,"åł´åIJĪãģ«ãģ¯":140707,"使ãģĪ":140708,"à¹Ģรืà¸Ńà¸Ļ":140709,"ĠÐŁÐµÑĤ":140710,"ĠÐŁÐµÑĤÑĢ":140711,"ãģ«åħ¥ãĤĭ":140712,"Ùħادة":140713,"à¹Ģà¸ĩืà¹Īà¸Ńà¸Ļ":140714,"à¹Ģà¸ĩืà¹Īà¸Ńà¸Ļà¹Ħà¸Ĥ":140715,"ĠÑģоÑģÑĤоÑıние":140716,"ônica":140717,"ĠÑĦев":140718,"ĠÑĦевÑĢа":140719,"ĠÑĦевÑĢалÑı":140720,"Ġ×ķ×ĸ":140721,"Ġ×ķ×ĸ×IJת":140722,"à¸Ħริ":140723,"à¸Ħริส":140724,"ĠÐķÑīе":140725,"ãģ£ãģ¦ãģĹãģ¾ãģĦãģ¾ãģĹãģŁ":140726,"ĠпÑĢавиÑĤелÑĮ":140727,"ĠпÑĢавиÑĤелÑĮÑģÑĤв":140728,"Ġtäglich":140729,"Ġëĭ¹ìĭľ":140730,"×ŀ×ķ×¢×ŀ×ĵ":140731,"ĠдвоÑĢ":140732,"æīķ":140733,"æīķãģĦ":140734,"ĠÑģÑĤанеÑĤ":140735,"ĠвоздейÑģÑĤв":140736,"ĠвоздейÑģÑĤви":140737,"Ġfête":140738,"à¹Ģสา":140739,"תק×ķ×ķ×Ķ":140740,"Ġuyar":140741,"Ġuyarı":140742,"à¸ģลัà¸ļà¹Ħà¸Ľ":140743,"Ġgiưá»Ŀng":140744,"Ġва":140745,"ĠваÑĪи":140746,"ĠÄijáºŃu":140747,"ĠSpaÃŁ":140748,"ĠìķĦë§Ī":140749,"à¹Ħà¸Ķà¹īà¸ĩà¹Īาย":140750,"Ġ×Ķ×ŀ×ijקש":140751,"æĸ°ãģŁ":140752,"æĸ°ãģŁãģª":140753,"ılıyor":140754,"план":140755,"Ġ×Ķ×ijר×Ļ×IJ×ķת":140756,"ĠaÄŁrı":140757,"Ġsaygı":140758,"建ãģ¦":140759,"Ġnajwyż":140760,"Ġnajwyższ":140761,"سÙĬاسات":140762,"ãģĬå¾Ĺ":140763,"ĠاÙĦعÙĦÙĬ":140764,"ĠاÙĦعÙĦÙĬا":140765,"Ġcorazón":140766,"ì¹ĺë£Į":140767,"หัวà¸Ĥà¹īà¸Ń":140768,"ĠبØŃÙĬ":140769,"ĠبØŃÙĬØ«":140770,"звезд":140771,"بÙĪØ§Ø¨Ø©":140772,"ÐĽÐĺ":140773,"ÙĦازÙħ":140774,"Ġrozp":140775,"Ġrozpoc":140776,"ĠrozpoczÄĻ":140777,"触ãĤĮ":140778,"ĠاÙĦجÙħÙĩ":140779,"ĠاÙĦجÙħÙĩÙĪØ±":140780,"ĠspÄĻd":140781,"ĠspÄĻdz":140782,"วิà¸Ĺยาศาสà¸ķรà¹Į":140783,"иваеÑĤÑģÑı":140784,"Ġданной":140785,"Ġreprésente":140786,"ĠÄijá»ĭch":140787,"Ġ×¢×ŀ×ķ×§":140788,"à¸Ńัà¸Ļà¸ķร":140789,"à¸Ńัà¸Ļà¸ķราย":140790,"Ġestratég":140791,"Ġestratégia":140792,"padÅĤ":140793,"Ġвполн":140794,"Ġвполне":140795,"ĠпÑĢедоÑģÑĤавлен":140796,"×Ĺ׾×ķ×§":140797,"×Ĺ׾×ķקת":140798,"ãĤ¢ãĥĬ":140799,"ĠاÙĦغذ":140800,"ĠاÙĦغذائÙĬ":140801,"ĠÑĥзн":140802,"ĠÑĥзнаÑĤÑĮ":140803,"à¸ĭà¹īาย":140804,"å½ĵãģ¦":140805,"ØŃÙĬاء":140806,"Ġbásico":140807,"×§×ķ×ij×¢":140808,"ĠاÙĦÙħباراة":140809,"ĠاÙĦÙĩاتÙģ":140810,"Ġ׼׳×Ĵ×ĵ":140811,"à¸Ľà¸£à¸°à¸«à¸¢":140812,"à¸Ľà¸£à¸°à¸«à¸¢à¸±à¸Ķ":140813,"Ðļак":140814,"à¸Ĺีà¹Īà¸Ļà¹Īา":140815,"à¸Ĺีà¹Īà¸Ļà¹Īาสà¸Ļà¹ĥà¸Ī":140816,"ãģ¾ãģģ":140817,"ï½¢":140818,"Ñģкоп":140819,"Ġsonrasında":140820,"ĠurzÄħd":140821,"ĠurzÄħdzenia":140822,"׼×ķ×ķ׳":140823,"׼×ķ×ķ×ł×ª":140824,"Ġ׾×Ķת×ŀ×ķ×ĵ":140825,"Ġ׾×Ķת×ŀ×ķ×ĵ×ĵ":140826,"ĠÑģли":140827,"ĠÑģлиÑĪ":140828,"ĠÑģлиÑĪком":140829,"ĠÑģÑĤÑĥд":140830,"ĠÑģÑĤÑĥденÑĤ":140831,"Ġ×Ķ×ķ×ĵ":140832,"Ġ×Ķ×ķ×ĵ×¢×Ķ":140833,"ë¹Ħìļ©":140834,"à¸Ńยาà¸ģà¹ĥหà¹ī":140835,"Ġbá»ģ":140836,"ยุà¸Ĺà¸ĺ":140837,"ÐĺÐĿ":140838,"سائر":140839,"أصÙĪÙĦ":140840,"ĠاÙĦغرÙģ":140841,"ãģĵãģ¨ãĤĤãģĤãĤĬãģ¾ãģĻ":140842,"è¾¼ãģ¾ãĤĮ":140843,"ĠاÙĦسابع":140844,"Ġcá»§":140845,"ãģĦãģŁãģłãģĦãģŁ":140846,"ì§ĵ":140847,"ìĤ¬ë¬´":140848,"powiedź":140849,"تÙģÙĥ":140850,"تÙģÙĥÙĬر":140851,"иÑĢовки":140852,"ĠíĨµíķ´ìĦľ":140853,"ãĤ¨ãĤ¹ãĥĨ":140854,"ĠдеÑıÑĤелÑĮноÑģÑĤÑĮ":140855,"ĠданнÑĭм":140856,"Ġ×¢×ķר":140857,"Ġ×¢×ķר׼×Ļ":140858,"×ķ×ĵעת":140859,"Ġhayatını":140860,"ĠbÄħd":140861,"ĠbÄħdź":140862,"obsÅĤug":140863,"à¹Ģà¸ŀียà¸ĩà¹ģà¸Ħà¹Ī":140864,"à¸ĭà¹Īา":140865,"è²łãģij":140866,"ĠÑģÑĤÑĢем":140867,"ĠÄijá»īnh":140868,"ĠÐłÑĥÑģ":140869,"ĠNữ":140870,"Ġ׾×Ķש×Ļ×Ĵ":140871,"Ġjednoc":140872,"Ġjednocze":140873,"ĠjednoczeÅĽnie":140874,"Ġ×Ķ×Ĵ×ij×ķ×Ķ":140875,"أخÙĦاÙĤ":140876,"ĠнаÑģел":140877,"ĠнаÑģелениÑı":140878,"ĠÙĬÙĨب":140879,"ĠÙĬÙĨبغÙĬ":140880,"ãģĮãģĭ":140881,"ãģĮãģĭãģĭ":140882,"×Ĵעת":140883,"ÐŀÐł":140884,"ĠналиÑĩии":140885,"Ġë§Īì§Ģ":140886,"Ġë§Īì§Ģë§ī":140887,"ĠíĸīìĤ¬":140888,"ĠtreÅĽci":140889,"Ġê°Ģì¹ĺ":140890,"ì¦ĺ":140891,"Ġаналог":140892,"×Ķצעת":140893,"влад":140894,"владе":140895,"ĠÑģделал":140896,"Ġ׳×Ĵ×Ļש":140897,"Ġ׳×Ĵ×Ļש×ķת":140898,"полнение":140899,"à¸Ĩà¹Īา":140900,"ĠDön":140901,"׼׾׼׾×Ķ":140902,"×ŀ×ĸ×Ĵ":140903,"ÙħÙģ":140904,"ÙħÙģÙĩ":140905,"ÙħÙģÙĩÙĪÙħ":140906,"×Ķ×ĵ":140907,"×Ķ×ĵפס":140908,"×Ķ×ĵפס×Ķ":140909,"ãģĻãģİãģ¦":140910,"ĠгÑĢ":140911,"ĠгÑĢн":140912,"×ŀ×ĺ×ķס":140913,"Ġ기ìĸµ":140914,"ï¾Ł":140915,"ĠpÅĤyn":140916,"ĠGründe":140917,"ĠBücher":140918,"ĠwedÅĤug":140919,"ãģ¾ãģłãģ¾ãģł":140920,"Ġ׳×Ķ×ĵר":140921,"ĠÙĬستطÙĬع":140922,"ĠHiá»ĩp":140923,"ãĤŃãĥ£ãĥ³ãĥļ":140924,"ãĤŃãĥ£ãĥ³ãĥļãĥ¼ãĥ³":140925,"Ġthá»ķ":140926,"Ġeuropéenne":140927,"à¸ļัà¸ĩ":140928,"à¸ļัà¸ĩà¸Ħัà¸ļ":140929,"ĠszczegóÅĤowo":140930,"׳שק":140931,"ãĥķãĥ©ãĥ³ãĤ¹":140932,"×ŀ×ķ×ŀ×Ĺ×Ļ":140933,"Ġcomún":140934,"Ġçarp":140935,"ØŃتÙĬا":140936,"ØŃتÙĬاج":140937,"ØŃتÙĬاجات":140938,"ëĭ´ëĭ¹":140939,"ä½ķ度":140940,"ä½ķ度ãĤĤ":140941,"×ĵ×ij×§":140942,"ãģįãĤĮ":140943,"ãģįãĤĮãģĦ":140944,"Ġкам":140945,"ĠкамеÑĢ":140946,"ĠespecÃŃfico":140947,"Ġteléfono":140948,"à¸ķัà¹īà¸ĩà¸Ńยูà¹Ī":140949,"IÅŀ":140950,"ãģ©ãĤĵãģ©":140951,"ãģ©ãĤĵãģ©ãĤĵ":140952,"עצ×ŀ×IJ×Ļ":140953,"à¸Ķัà¸ĩà¸Ļีà¹ī":140954,"ĠÑĦоÑĢмиÑĢов":140955,"ĠÑĦоÑĢмиÑĢова":140956,"×ķ×ŀ×ij":140957,"Ġkullanımı":140958,"ÐľÐŀ":140959,"עש×Ļ":140960,"עש×Ļ×Ļ×Ķ":140961,"Ġönlem":140962,"à¹Ģà¸Ńà¹ĩ":140963,"à¹Ģà¸Ńà¹ĩม":140964,"×ŀשק×Ļ×¢":140965,"ר×Ļ×Ĺ":140966,"à¸Ĥัà¸Ķ":140967,"ĠíĻľ":140968,"ĠíĻľìļ©":140969,"à¸ĭะ":140970,"ãĤĪãģĨãģ«ãģªãĤĬãģ¾ãģĹãģŁ":140971,"ĠÑĢаÑģпÑĢ":140972,"ĠÑĢаÑģпÑĢоÑģÑĤ":140973,"ĠÑĢаÑģпÑĢоÑģÑĤÑĢан":140974,"ĠÑĢаÑģпÑĢоÑģÑĤÑĢанен":140975,"׼×Ļ×ķף":140976,"ÙĤبض":140977,"تصرÙĬØŃ":140978,"تصرÙĬØŃات":140979,"ĠоÑĢи":140980,"ĠоÑĢиг":140981,"ĠоÑĢигина":140982,"ĠоÑĢигинал":140983,"ĠاÙĦعاÙĦÙĬ":140984,"à¹ģหà¹Īà¸ĩà¸Ļีà¹ī":140985,"ãĥķãĤ¡ãĥ¼":140986,"ãģ¦ãģĦãģį":140987,"ãģ¦ãģĦãģįãģŁãģĦ":140988,"פתר":140989,"פתר×ķ׳×ķת":140990,"Ġ×ij×Ļ×Ĺ":140991,"Ġ×ij×Ļ×Ĺ×ĵ":140992,"Ġodby":140993,"ĠodbyÅĤ":140994,"ĠоÑĩеÑĢед":140995,"Ġtrương":140996,"ãĤŃãĥ³":140997,"×ŀ×ķפ":140998,"×ŀ×ķפע":140999,"ëĵľë¦½":141000,"ëĵľë¦½ëĭĪëĭ¤":141001,"à¸ŀืà¹īà¸Ļà¸IJาà¸Ļ":141002,"ìŀIJ격":141003,"ĠViá»ĩn":141004,"ĠDespués":141005,"Ġ×IJ׾×Ļ׳×ķ":141006,"Ġdurée":141007,"íĩ´":141008,"Ġmüzik":141009,"iếu":141010,"ĠÑĢазмеÑīен":141011,"ĠкÑĥд":141012,"ĠкÑĥда":141013,"غض":141014,"غضب":141015,"ĠTambém":141016,"à¸Īัà¸Ķสà¹Īà¸ĩ":141017,"à¸ģารà¹ģสà¸Ķà¸ĩ":141018,"onomÃŃa":141019,"Ġанг":141020,"Ġангли":141021,"Ġанглий":141022,"ĠанглийÑģк":141023,"Ġznal":141024,"Ġznalaz":141025,"ĠznalazÅĤ":141026,"תר×Ĵ":141027,"תר×Ĵ×ķ×Ŀ":141028,"ĠÑģнов":141029,"ĠÑģнова":141030,"ĠÑĩаÑģа":141031,"Ġcommunauté":141032,"ĠespecÃŃfica":141033,"ĠLá»ĭch":141034,"Ġlié":141035,"ÙģØ¬Ø±":141036,"à¹Ģà¸ģà¹Īà¸ĩ":141037,"عاÙĦ":141038,"عاÙĦج":141039,"Ø£ÙĨظ":141040,"Ø£ÙĨظÙħØ©":141041,"ESİ":141042,"ĠاÙĦØŃدÙĬد":141043,"à¸ŀระà¸Ńà¸ĩà¸Ħà¹Į":141044,"Ġפרשת":141045,"Ġдвиж":141046,"ĠдвижениÑı":141047,"ĠاÙĦجارÙĬ":141048,"à¸ĺาà¸Ļี":141049,"неÑģен":141050,"ĠاÙĦÙĨÙĩائÙĬ":141051,"ĠбеÑĢ":141052,"ĠбеÑĢем":141053,"ĠбеÑĢеменн":141054,"Ġdépartement":141055,"à¹Ģà¸Ĺีย":141056,"à¹Ģà¸Ĺียà¸ļ":141057,"ĠÐľÐ°ÑĢи":141058,"ĠнекоÑĤоÑĢÑĭÑħ":141059,"обеÑģп":141060,"обеÑģпеÑĩен":141061,"×Ĺ×ķ×ĸ":141062,"×Ĺ×ķ×ĸ×Ķ":141063,"ÙĨتج":141064,"à¸Īะà¹Ħà¸Ķà¹īรัà¸ļ":141065,"á»°":141066,"Ġéléments":141067,"عط":141068,"عطاء":141069,"Ġtắt":141070,"iá»ĩm":141071,"ÑİÑīиÑħÑģÑı":141072,"ãģĹãģ°":141073,"ãģĹãģ°ãĤīãģı":141074,"ĠпоможеÑĤ":141075,"à¸Ĥà¸ĵะà¸Ļีà¹ī":141076,"Ġעשר×ķת":141077,"éģķãģ£ãģ¦":141078,"ĠпÑĢог":141079,"ĠпÑĢогн":141080,"ĠпÑĢогноз":141081,"ĠtÅĤ":141082,"ĠtÅĤum":141083,"ĠtÅĤumacz":141084,"Tür":141085,"Türkiye":141086,"ãģįãģ£":141087,"ãģįãģ£ãģĭãģij":141088,"Ġ×Ķ׳×ķ׼":141089,"Ġ×Ķ׳×ķ׼×Ĺ×Ļ":141090,"ĠìĥĿìĤ°":141091,"ĠÑĦоÑĢмÑĭ":141092,"ç¾İãģĹãģĦ":141093,"à¸Ľà¸£à¸¶à¸ģ":141094,"à¸Ľà¸£à¸¶à¸ģษา":141095,"Ġlumière":141096,"ãĤªãĥ¼ãĥĹ":141097,"ãĤªãĥ¼ãĥĹãĥ³":141098,"à¸Ľà¸·à¸Ļ":141099,"วัสà¸Ķ":141100,"วัสà¸Ķุ":141101,"еÑĢÑĤв":141102,"ÙĥÙĦÙģ":141103,"ï½£":141104,"à¸ĺรรมà¸Ķา":141105,"׳×ĺר":141106,"ĠпÑĢедÑģÑĤавлÑıеÑĤ":141107,"Ġanálisis":141108,"Ġbãi":141109,"باÙĤÙĬ":141110,"à¸Ľà¸£à¸°à¹Ģà¸Ķ":141111,"à¸Ľà¸£à¸°à¹Ģà¸Ķà¹ĩà¸Ļ":141112,"ĠÑģлÑĥÑĩаÑı":141113,"ĠÑģлÑĥÑĩаÑıÑħ":141114,"ÐĽÐIJ":141115,"สัà¸ĩà¹Ģà¸ģ":141116,"สัà¸ĩà¹Ģà¸ģà¸ķ":141117,"Ġprzec":141118,"Ġprzecież":141119,"ÙħصÙĦ":141120,"ÙħصÙĦØŃØ©":141121,"ש×ķ×§×ķ׾×ĵ":141122,"ĠобоÑĢÑĥдованиÑı":141123,"ĠtrwaÅĤ":141124,"رÙĪÙħ":141125,"ìķĪëĤ´":141126,"ĠNghá»ĭ":141127,"خش":141128,"à¸ļาà¸Ħาร":141129,"à¸ļาà¸Ħารà¹Īา":141130,"ĠопÑĨион":141131,"ĠÑģозданиÑı":141132,"ãĤ³ãĤ¹ãĥĪ":141133,"Ġ×Ķ×¢×ľ×Ļ":141134,"Ġ×Ķ×¢×ľ×Ļ×ķף":141135,"läuft":141136,"ãĥĻãĤ¹ãĥĪ":141137,"Ġrê":141138,"Ġrêve":141139,"×IJ×ij×Ļ×ij":141140,"×Ļ×Ļ×ļ":141141,"ë¶Ļ":141142,"ãĤ¤ãĥ³ãĥī":141143,"ÅĤoży":141144,"ÅĤożyÄĩ":141145,"عائÙĦ":141146,"عائÙĦØ©":141147,"Ø£ÙĪØ±":141148,"Ø£ÙĪØ±Ø§ÙĤ":141149,"à¸Ĺà¹īà¸Ńà¸ĩà¸ĸ":141150,"à¸Ĺà¹īà¸Ńà¸ĩà¸ĸิà¹Īà¸Ļ":141151,"Ġähn":141152,"Ġähnlich":141153,"ãĥŁãĥĭ":141154,"à¸ľà¸¹":141155,"à¸ľà¸¹à¹īà¸Ļ":141156,"à¸ľà¸¹à¹īà¸Ļำ":141157,"ĠмаÑĤеÑĢиалÑĭ":141158,"ĠкапиÑĤ":141159,"ĠкапиÑĤал":141160,"F":141161,"Ġseçil":141162,"Ġhứng":141163,"Ġintéressant":141164,"ãģ£ãģ¦ãģĦãģı":141165,"ĠeÄŁer":141166,"ëIJĺìĹĪìĬµëĭĪëĭ¤":141167,"ĠanlaÅŁma":141168,"ãģĶåĪ©ç͍":141169,"Ġ×ij×ĸ׼":141170,"Ġ×ij×ĸ׼×ķת":141171,"ëĿ¼ë©´":141172,"ĠÙĬÙĪØ³":141173,"ĠÙĬÙĪØ³Ùģ":141174,"أسÙĦØŃØ©":141175,"ĠGefühl":141176,"ĠноÑĢмалÑĮн":141177,"ãĥĻãĥ³":141178,"ãģķãĤĮãĤĭãģĵãģ¨":141179,"ĠÐijеÑģ":141180,"ãģ¨ãģĦãģĪãģ°":141181,"ĠÙħÙĩÙħ":141182,"ĠÙħÙĩÙħØ©":141183,"ãģ§ãģĹãĤĩãģĨãģŃ":141184,"ĠêµŃëĤ´":141185,"à¹Ģมà¹ĩà¸Ķ":141186,"×ŀ×ijקר":141187,"ĠاÙĦدÙĨÙĬ":141188,"ĠاÙĦدÙĨÙĬا":141189,"à¸Ĭู":141190,"кÑĢÑĥÑĤ":141191,"Ġthoáng":141192,"Ġ׳×ĵר":141193,"Ġ׳×ĵרש":141194,"ĠÑĢаÑģÑģказал":141195,"ĠAuÃŁerdem":141196,"פ×IJר":141197,"פ×IJרק":141198,"Ġ×ŀש×Ĺ×§×Ļ×Ŀ":141199,"צר׼×Ļ×Ŀ":141200,"×ŀ×ĵ×ķ":141201,"×ŀ×ĵ×ķ×Ļ×§":141202,"èĭ¦ãģĹ":141203,"ĠÑģиг":141204,"ĠÑģигнал":141205,"ĠMá»įi":141206,"Ġtrữ":141207,"ĠnastÄĻp":141208,"ĠnastÄĻpnie":141209,"Ġì¶Ķì§Ħ":141210,"ĠاÙĦÙģÙĨد":141211,"ĠاÙĦÙģÙĨدÙĤ":141212,"koÅĦczyÅĤ":141213,"สีà¹Ī":141214,"×§×Ļ×ij":141215,"×§×Ļ×ij×ķ×¥":141216,"ĠнÑĥжнÑĭ":141217,"大åĪĩ":141218,"大åĪĩãģª":141219,"æıĽãģĪ":141220,"ת×ķס":141221,"ת×ķספת":141222,"ãģ£ãģ¦ãģĦãģªãģĦ":141223,"ĠмÑı":141224,"ĠмÑıг":141225,"ĠмÑıгк":141226,"Ġjakie":141227,"ĠjakieÅĽ":141228,"à¸ķำà¸ļ":141229,"à¸ķำà¸ļล":141230,"ĠìŀĪì§Ģ":141231,"×ij×ĺ×IJ":141232,"ĠоÑĤлиÑĩно":141233,"ÙĤÙIJ":141234,"ĠавÑĤомоб":141235,"ĠавÑĤомоби":141236,"ĠавÑĤомобилÑı":141237,"دÙĬÙħÙĤراطÙĬ":141238,"ĠاÙĦÙĪØ§":141239,"ĠاÙĦÙĪØ§ØŃد":141240,"ĠسÙĪØ±ÙĬØ©":141241,"أغÙĦ":141242,"أغÙĦب":141243,"ĠÑįкÑĢан":141244,"ãĥĹãĥ©ãĤ¤":141245,"ĠjesteÅĽ":141246,"ãĥIJãĥª":141247,"Ġ×Ķ×IJ×ķ×ķ×Ļר":141248,"ائÙĥ":141249,"à¸Ńยà¹Īาà¸ĩยิà¹Īà¸ĩ":141250,"ÑĢекÑĤ":141251,"Ġumo":141252,"Ġumoż":141253,"Ġumożli":141254,"Ġumożliw":141255,"Ġumożliwia":141256,"Ġnächste":141257,"ĠìŀĪì§Ģë§Į":141258,"ĠпÑĢедн":141259,"ĠпÑĢедназ":141260,"ĠпÑĢедназнаÑĩен":141261,"Ġmaçı":141262,"Ġpomi":141263,"ĠpomiÄĻd":141264,"ĠpomiÄĻdzy":141265,"ĠاÙĦÙĦÙĤاء":141266,"à¹Ģà¸Ķà¸Ńะ":141267,"ĠновоÑģÑĤи":141268,"×ŀ×Ĺ׾×Ķ":141269,"رÙĬاضÙĬ":141270,"à¸Ķà¸Ļ":141271,"à¸Ķà¸Ļà¸ķรี":141272,"بصر":141273,"ìĬ¤íĥĢ":141274,"scripción":141275,"Ġnapisa":141276,"ĠnapisaÅĤ":141277,"Ġ׳ש×ŀ×¢":141278,"ĠاÙĦÙħØŃÙĦÙĬ":141279,"Ġhiá»ĥn":141280,"×IJ×Ĺ":141281,"×IJ×Ĺר×IJ×Ļ":141282,"ĠгÑĢаниÑĨ":141283,"æīĭç¶ļãģį":141284,"Ùĥسب":141285,"Ġà¹ģà¸ķà¹Īà¸ĸà¹īา":141286,"à¸Ķาวà¸Ļà¹Į":141287,"à¸Ķาวà¸Ļà¹Įà¹Ĥหลà¸Ķ":141288,"ãĤĭãģĵãģ¨ãģĮãģ§ãģįãģ¾ãģĻ":141289,"åŁºæľ¬çļĦãģ«":141290,"ÙĪÙĦاد":141291,"räume":141292,"دÙģØ§Ø¹":141293,"×Ļצע":141294,"ĠOczy":141295,"ĠOczywiÅĽcie":141296,"ĠÅģ":141297,"ĠÅģa":141298,"اÙĦÙĬاب":141299,"اÙĦÙĬاباÙĨ":141300,"áºłI":141301,"ĠBirliÄŁi":141302,"×Ķ×ķצ":141303,"×Ķ×ķצ×IJת":141304,"ĠÄijua":141305,"Ġê·¸ëŁ¬ëĭĪê¹Į":141306,"Ġréalité":141307,"عÙĦاÙĤات":141308,"Jeste":141309,"JesteÅĽ":141310,"Ġмнож":141311,"ĠмножеÑģÑĤво":141312,"K":141313,"ãĥĹãĥŃãĤ¸ãĤ§":141314,"ãĥĹãĥŃãĤ¸ãĤ§ãĤ¯ãĥĪ":141315,"ĠÑĦл":141316,"ظÙĨ":141317,"×Ĵ׾×Ĵ׾":141318,"ĠmÅĤodzie":141319,"ĠmÅĤodzież":141320,"à¸Ļà¹īำà¸ķา":141321,"à¸Ļà¹īำà¸ķาล":141322,"ÐĽÐķ":141323,"×ij×ķ×ĺ":141324,"Ġ׾×Ķ×Ĵ×Ļ×ĵ":141325,"ãģĵãģ¨ãĤĤãģĤãĤĭ":141326,"زاد":141327,"×ŀ×Ļ×ĵ×¢":141328,"ĠgÅĤównie":141329,"ãĥıãĤ¦":141330,"ãĥıãĤ¦ãĤ¹":141331,"бел":141332,"Ġétape":141333,"ðŁĺĢ":141334,"ĠмоделÑĮ":141335,"aģını":141336,"ש×Ĺ×§":141337,"ש×Ĺקף":141338,"Ġniño":141339,"à¸Ĭà¹īาà¸ĩ":141340,"à¹Ģลีย":141341,"ĠÑĦоÑĢме":141342,"ĠاÙĦشرÙĬÙģ":141343,"ĠÑĥдаÑĢ":141344,"arriv":141345,"arrivée":141346,"ĠmiesiÄĻ":141347,"ĠmiesiÄĻcy":141348,"ØŃرÙĥ":141349,"ØŃرÙĥات":141350,"ĠDiá»ħn":141351,"ÐĿЫ":141352,"ãģ¾ãģ£ãģŁãģı":141353,"Ġ×Ļר×ķ×§":141354,"еÑģÑĤеÑģÑĤв":141355,"еÑģÑĤеÑģÑĤвенн":141356,"Ġê·¸ëŁ¼":141357,"ĠاÙĦÙħتÙĪ":141358,"ĠاÙĦÙħتÙĪØ³Ø·":141359,"Ġbénéfic":141360,"Ġbénéficie":141361,"Ġwybra":141362,"ĠwybraÄĩ":141363,"ĠاÙĦزÙħÙĨ":141364,"ĠпÑĢинÑı":141365,"ĠпÑĢинÑıл":141366,"Ù쨱ØŃ":141367,"Ġksz":141368,"ĠksztaÅĤ":141369,"ĠksztaÅĤt":141370,"ק׾×ĺ":141371,"×ij×ĵ×Ļקת":141372,"Ġgiấ":141373,"Ġgiấc":141374,"ĠproprietÃł":141375,"деÑĢжан":141376,"ĠKöln":141377,"ĠGüzel":141378,"×Ļפ×ķ×Ļ":141379,"ĠCuá»Ļc":141380,"ÑįÑĤаж":141381,"ترÙĥÙĬ":141382,"ترÙĥÙĬز":141383,"ложений":141384,"ĠпÑĥ":141385,"ĠпÑĥÑĤи":141386,"اختÙĦاÙģ":141387,"åĩºãģ¦ãģıãĤĭ":141388,"à¸ļุà¸ģ":141389,"âĿ¤":141390,"ÑĦан":141391,"פש×ĺ":141392,"à¸ļัà¸Ļà¹Ģà¸Ĺ":141393,"à¸ļัà¸Ļà¹Ģà¸Ĺิà¸ĩ":141394,"ĠاÙĦساد":141395,"ĠاÙĦسادس":141396,"ĠاÙĦÙĤÙĪÙħ":141397,"ĠاÙĦÙĤÙĪÙħÙĬ":141398,"Ġyönetici":141399,"ÙĩÙĪØ§Øª":141400,"ÙĩÙĪØ§ØªÙģ":141401,"Ġresponsável":141402,"ĠподдеÑĢжива":141403,"ĠاÙĦسÙĦØ·":141404,"ĠاÙĦسÙĦطات":141405,"ãģĹãģ¦ãģĬãģı":141406,"ãĥļãĥĥãĥĪ":141407,"à¸Ľà¸¸à¹Īม":141408,"ĠoglÄħda":141409,"ÙĨاÙĤ":141410,"ÙĨاÙĤØ´":141411,"à¸Ħà¸Ńà¸Ļà¹Ĥà¸Ķ":141412,"ĠMüsl":141413,"ĠMüslü":141414,"ĠMüslüman":141415,"ĠMoż":141416,"ĠMożna":141417,"Ġnumérique":141418,"Ġvá»ı":141419,"ĠسÙĬتÙħ":141420,"ĠyerleÅŁ":141421,"монÑĤаж":141422,"Ġgoût":141423,"ãģ¦ãģĬãĤĬãģ¾ãģĻ":141424,"ĠKhánh":141425,"Ġедин":141426,"ĠединÑģÑĤв":141427,"اÙĨØ®Ùģ":141428,"اÙĨØ®ÙģØ§Ø¶":141429,"ìĭľíĹĺ":141430,"Ġlặng":141431,"ĠÑĢолÑĮ":141432,"à¸ķัวà¹ģà¸Ĺà¸Ļ":141433,"à¸Ħà¹Īาà¹ĥà¸Ĭà¹ī":141434,"à¸Ħà¹Īาà¹ĥà¸Ĭà¹īà¸Īà¹Īาย":141435,"Ġverfüg":141436,"Ġverfügbar":141437,"ìĻĶëĭ¤":141438,"ãģĦãģļ":141439,"ãģĦãģļãĤĮ":141440,"ĠиÑģÑģледованиÑı":141441,"меÑīа":141442,"×Ķ×Ĺ":141443,"×Ķ×Ĺ×ĸר":141444,"à¹ģà¸Łà¸Ĭัà¹Īà¸Ļ":141445,"تصرÙģ":141446,"إرÙĩاب":141447,"ĠexercÃŃcio":141448,"Ġélev":141449,"Ġélevé":141450,"สัà¸įà¸įาà¸ĵ":141451,"ÃĸZ":141452,"ãĥĹãĥŃãĤ°":141453,"ãĥĹãĥŃãĤ°ãĥ©":141454,"ãĥĹãĥŃãĤ°ãĥ©ãĥł":141455,"ĠwewnÄĻtrzn":141456,"Ġhenüz":141457,"é£Ľãģ³":141458,"à¹Ģà¸Ķà¸Ńรà¹Į":141459,"ÑģÑĥж":141460,"ÑģÑĥжден":141461,"شعÙĪØ¨":141462,"ãģ²ãģ¨ãĤĬ":141463,"ĠwyÅĤÄħ":141464,"ĠwyÅĤÄħcznie":141465,"ĠплоÑħо":141466,"ÐĶÐķ":141467,"Ầ":141468,"ÙģØ¹Ø§ÙĦÙĬ":141469,"ÙģØ¹Ø§ÙĦÙĬات":141470,"ĠاÙĦعشر":141471,"ÑģÑĤÑĥпил":141472,"Ġyarg":141473,"Ġyargı":141474,"нÑİÑİ":141475,"×ķ×IJ×ij":141476,"Ġuç":141477,"Ġuçak":141478,"ë²½":141479,"تÙĪÙĤÙĬ":141480,"تÙĪÙĤÙĬع":141481,"Ġì¤ijìĭ¬":141482,"׳×Ļ×ķ×ķ×ĺ":141483,"Ø£ÙĥÙĦ":141484,"ç½®ãģĦãģ¦":141485,"éłĤãģį":141486,"Ġ×Ķת×ij":141487,"Ġ×Ķת×ij×Ļ×¢×Ķ":141488,"Ġdürfen":141489,"ÙħÙĤاÙĦ":141490,"ÙħÙĤاÙĦات":141491,"ĠزÙħÙĨ":141492,"à¸ŀฤศ":141493,"à¸ŀฤศà¸Ī":141494,"à¸ŀฤศà¸Īิà¸ģ":141495,"à¸ŀฤศà¸Īิà¸ģายà¸Ļ":141496,"ĠнеÑģколÑĮ":141497,"ĠнеÑģколÑĮки":141498,"ĠнеÑģколÑĮкиÑħ":141499,"Ġcriança":141500,"มิà¸ķร":141501,"×ŀ׼×Ļר×ķת":141502,"à¸ģารà¸ļริหาร":141503,"Ġtélécharg":141504,"Ġ×IJ×ķ×Ķ×ijת":141505,"ĠBüro":141506,"ä½ľãģ£ãģŁ":141507,"ĠKiÅŁi":141508,"ç¾İåij³ãģĹ":141509,"à¹Ģลยà¸Ħà¹Īะ":141510,"à¸ŀà¸ļà¸ģัà¸ļ":141511,"à¸Īà¹īา":141512,"Ġçer":141513,"Ġçerç":141514,"Ġçerçeve":141515,"ãĤĴä½ľãģ£ãģ¦":141516,"ĠпеÑĢвÑĥÑİ":141517,"×ŀצר×Ļ×Ŀ":141518,"×IJ׾×ķ×Ķ":141519,"×IJ׾×ķ×Ķ×Ļ×Ŀ":141520,"Ġagré":141521,"Ġagréable":141522,"Ġayır":141523,"İLİ":141524,"ãĤ¥":141525,"ĠíĺĦ":141526,"ĠíĺĦìĭ¤":141527,"ثاÙĦØ«":141528,"ת×ĸ":141529,"ת×ĸ×ķ׳×Ķ":141530,"ãģ¨ãģĦãģ£ãģ¦":141531,"ãģ¨ãģĦãģ£ãģ¦ãĤĤ":141532,"ĠابÙĪ":141533,"ĠÑģобак":141534,"é£Łãģ¹ãģŁ":141535,"Ġданном":141536,"à¹Ģลิ":141537,"à¹Ģลิศ":141538,"Ġíļ":141539,"Ġíļ¨":141540,"Ġíļ¨ê³¼":141541,"ãĤĤãĤīãģĪãĤĭ":141542,"׳צ׾":141543,"ÑĦик":141544,"ÑĦикÑģ":141545,"ĠjesteÅĽmy":141546,"ת×Ĺ×ķש×Ķ":141547,"à¹Ħมà¹Īà¸Ħวร":141548,"ĠØŃسÙĬÙĨ":141549,"à¸ģารลà¸ĩà¸Ĺุà¸Ļ":141550,"ë´¤":141551,"ĠÐĺменно":141552,"à¸ļà¸Ńรà¹Į":141553,"à¸ļà¸Ńรà¹Įà¸Ķ":141554,"ĠCảnh":141555,"ìĦľë¹ĦìĬ¤":141556,"Ġполов":141557,"Ġполовин":141558,"ĠзамеÑĩа":141559,"ãģĦãĤįãĤĵãģª":141560,"Ġ×ij×Ļ×§":141561,"Ġ×ij×Ļקש":141562,"лÑĥÑĪ":141563,"ãĤĴè¿İ":141564,"ãĤĴè¿İãģĪ":141565,"جرÙĬÙħØ©":141566,"Ġtây":141567,"ĠاÙĦÙĨÙĪ":141568,"ĠاÙĦÙĨÙĪÙĪÙĬ":141569,"ÃĤN":141570,"ì¿ł":141571,"หà¸Ļาว":141572,"Ġ×ij×Ĺש×ij×ķף":141573,"زار":141574,"à¸Ķาร":141575,"à¸Ķารา":141576,"ĠÅĽl":141577,"ĠÅĽlub":141578,"มีà¸Ħวามสุà¸Ĥ":141579,"Ġnhu":141580,"ĠnhuáºŃn":141581,"ÙħØŃطة":141582,"à¹Ģสืà¹īà¸Ńà¸ľà¹īา":141583,"ĠТолÑĮко":141584,"ĠÙĥس":141585,"ĠÙĥسارة":141586,"ÙħشرÙĪØ¹":141587,"niÄĻcia":141588,"×¢×Ľ×©×Ļ×ķ":141589,"تÙĦÙģ":141590,"تÙĦÙ쨲ÙĬ":141591,"تÙĦÙ쨲ÙĬÙĪÙĨ":141592,"ĠlÆ°á»Ľi":141593,"ĠÐľÐ¾ÑģквÑĭ":141594,"Ġréserve":141595,"ĠanlaÅŁ":141596,"ĠanlaÅŁÄ±l":141597,"ĠedeceÄŁi":141598,"รà¸Ńà¸ĩà¹Ģà¸Ĺà¹īา":141599,"Ġبط":141600,"ĠبطرÙĬ":141601,"ĠبطرÙĬÙĤØ©":141602,"ãģ¦ãģĹãģ¾ãģ£ãģ¦":141603,"ãĤĤãĤīãģ£ãģ¦":141604,"برج":141605,"æ±ļ":141606,"æ±ļãĤĮ":141607,"Ġchoc":141608,"Ġchocia":141609,"Ġchociaż":141610,"Ġzobac":141611,"ĠzobaczyÄĩ":141612,"пÑĢÑı":141613,"пÑĢÑıжен":141614,"ĠÑĨиÑĦ":141615,"ĠÑĨиÑĦÑĢ":141616,"Ġмам":141617,"ĠвзÑıÑĤÑĮ":141618,"Ġchạm":141619,"جسÙħ":141620,"ØŃÙħاس":141621,"à¹Ģลà¹Īม":141622,"à¸ŀิษ":141623,"×Ķפ׼×ķ":141624,"à¸Ĭà¹Īà¸Ńà¸ĩà¸Ĺาà¸ĩ":141625,"Ġвек":141626,"Ġвека":141627,"Æ¡Ìģ":141628,"Æ¡Ìģi":141629,"ĠTiá»ģn":141630,"Ġtrầm":141631,"мÑĭÑĪ":141632,"мÑĭÑĪл":141633,"ĠÑĤÑĥ":141634,"ĠÑĤÑĥÑĢиÑģÑĤ":141635,"Ġchc":141636,"ĠchcÄħ":141637,"Ġавг":141638,"ĠавгÑĥÑģÑĤ":141639,"ĠавгÑĥÑģÑĤа":141640,"ס×IJ×ķת":141641,"Ġר×Ĵ׾":141642,"à¸ľà¸¥à¸ģระà¸Ĺ":141643,"à¸ľà¸¥à¸ģระà¸Ĺà¸ļ":141644,"å¤īãĤıãĤĭ":141645,"Ġ×Ķ×IJ×Ĺר×ķ׳×Ļ×Ŀ":141646,"سÙģÙĬر":141647,"ĠÑĩаÑīе":141648,"ãģĦãĤī":141649,"ãģĦãĤīãģ£":141650,"ãģĦãĤīãģ£ãģĹãĤĥ":141651,"×ķ×ŀ׳×Ļ×Ŀ":141652,"Ġarttır":141653,"ĠChá»ĭ":141654,"Ġì¡°ì§ģ":141655,"ĠÑĥÑģпеÑħ":141656,"Ġ×¢×ķס":141657,"Ġ×¢×ķסק":141658,"ĠìĥĿëªħ":141659,"ÑĨиÑĤ":141660,"Ġregión":141661,"ÐŀÐĿ":141662,"ĠdoÄŁum":141663,"ĠyaÅŁad":141664,"ĠyaÅŁadıģı":141665,"à¸Ĺà¸Ķลà¸Ńà¸ĩ":141666,"Ġgözü":141667,"ש×Ļר×Ķ":141668,"дÑĥмал":141669,"Ġdaģı":141670,"Ġdaģıt":141671,"à¸Ĺีมà¸ĩาà¸Ļ":141672,"Ġtiá»ģm":141673,"ĠاÙĦÙĥبر":141674,"ĠاÙĦÙĥبرÙī":141675,"ì¹Ń":141676,"ĠGünc":141677,"ĠGüncelle":141678,"ĠGüncelleme":141679,"ê¹Ĭ":141680,"ĠобоÑĢÑĥдование":141681,"ĠÑĢеÑĪа":141682,"Ụ":141683,"ĠпиÑĤ":141684,"ĠпиÑĤаниÑı":141685,"à¹Ģรียà¸ļ":141686,"×Ľ×ª×Ļ×ij×Ķ":141687,"Ġпон":141688,"ĠпонÑĢав":141689,"ĠпонÑĢави":141690,"Ġ×Ķ×ķ׾×ĵ":141691,"Ġ×Ķ×ķ׾×ĵת":141692,"Ġê²ģ":141693,"Ġê²ģëĭĪëĭ¤":141694,"ĠпеÑĢвой":141695,"ãĥ©ãĤ¤ãĥķ":141696,"ĠÅŁiir":141697,"krÄĻ":141698,"krÄĻc":141699,"Ġthiá»ĥu":141700,"à¹Ģลยà¸Ĺี":141701,"à¹Ģลยà¸Ĺีà¹Ģà¸Ķียว":141702,"×ĺ×¢×ł×ķת":141703,"ائÙĩÙħ":141704,"Ġ×IJס×ķר":141705,"ĠплаÑĤеж":141706,"تردد":141707,"Ġmożliwe":141708,"ĠkhỼ":141709,"ĠkhỼp":141710,"تÙģØ§Ø¹ÙĦ":141711,"ĠÑĪколÑĮ":141712,"ĠÑĪколÑĮн":141713,"ĠÙĤصة":141714,"Ġmétier":141715,"nÄĻÅĤa":141716,"หลà¹Īà¸Ń":141717,"Ġá»§ng":141718,"Ġprzegl":141719,"ĠprzeglÄħd":141720,"ĠاÙĦÙħتعÙĦ":141721,"ĠاÙĦÙħتعÙĦÙĤØ©":141722,"ĠÑģÑĭн":141723,"Ġволн":141724,"ãĥĩãĥ¼ãĥĪ":141725,"ĠÐŃÑĤи":141726,"ĠкÑĢоме":141727,"à¸Ħารà¹Į":141728,"׳ק×ķ×ĵ×Ķ":141729,"Ġ׾ש×ŀ×ķ×¢":141730,"Ġ×ĸ×ķ׼ר":141731,"ï¼§":141732,"ÙĬÙİØ§":141733,"Ġgiá»ıi":141734,"åĥįãģı":141735,"ĠÑģни":141736,"ĠÑģнижен":141737,"à¹ģà¸Ķà¸Ķ":141738,"รุà¸Ļ":141739,"รุà¸Ļà¹ģรà¸ĩ":141740,"Ġhiá»ĩp":141741,"ografÃŃa":141742,"à¹Ģà¸Īà¸Ńรà¹Į":141743,"Ġдвиг":141744,"ĠдвигаÑĤ":141745,"ĠдвигаÑĤел":141746,"Ġüy":141747,"Ġüyeler":141748,"Ġüyeleri":141749,"ĠбÑĥк":141750,"ĠбÑĥкв":141751,"ãĤĤå¤ļãģı":141752,"Ġthiá»ĩt":141753,"ĠPaÃŃs":141754,"ĠطبÙĬعÙĬ":141755,"à¹ģà¸Īà¸ģ":141756,"ĠاÙĦصØŃÙĬØŃ":141757,"Ġappré":141758,"Ġappréci":141759,"Ġdecisión":141760,"Ġë°ĺëĵľ":141761,"Ġë°ĺëĵľìĭľ":141762,"ĠÑĤебе":141763,"ãĤ·ãĥ¼ãĤº":141764,"ãĤ·ãĥ¼ãĤºãĥ³":141765,"ĠдалÑĮн":141766,"ĠìĬ¤":141767,"ĠìĬ¤ìĬ¤":141768,"ĠìĬ¤ìĬ¤ë¡ľ":141769,"ĠThá»ĥ":141770,"ĠkarÅŁ":141771,"ĠkarÅŁÄ±s":141772,"ĠkarÅŁÄ±sında":141773,"ĠKön":141774,"ĠKönig":141775,"ивание":141776,"×ij×ķצע":141777,"глаÑģ":141778,"Ġtwó":141779,"Ġtwórc":141780,"à¸Ľà¸ģà¸Ħร":141781,"à¸Ľà¸ģà¸Ħรà¸Ńà¸ĩ":141782,"ĠGÅĤ":141783,"ĠGÅĤówn":141784,"ĠUnterstüt":141785,"ĠUnterstützung":141786,"ĠдÑĥÑħ":141787,"ĠдÑĥÑħов":141788,"Ø£ÙħاÙĨ":141789,"×Ĺשש":141790,"تظ":141791,"تظاÙĩر":141792,"ĠлÑİбом":141793,"à¸ķาร":141794,"à¸ķาราà¸ĩ":141795,"Ġkról":141796,"Ø£ØŃدث":141797,"ì¡Įëĭ¤":141798,"ÐļÑĥÑĢÑģ":141799,"ãĥĥãĥĦ":141800,"×ŀ×§×ķ×ij׾":141801,"ĠÑģимвол":141802,"Ġdésorm":141803,"Ġdésormais":141804,"wüns":141805,"wünsche":141806,"Ñĥни":141807,"ÑĥниÑĨип":141808,"ÑĥниÑĨипалÑĮн":141809,"หลัà¸ģสูà¸ķร":141810,"ÙĨتشر":141811,"Ġал":141812,"Ġалк":141813,"Ġалког":141814,"Ġалкогол":141815,"ĠÑĥÑĩиÑĤÑĭва":141816,"à¸ģำà¸ģัà¸ļ":141817,"Ġ×ľ×¤×¢×ķ׾":141818,"ĠìĹ°ê²°":141819,"sÄħd":141820,"ĠاÙĦØ£ÙĬ":141821,"ĠاÙĦØ£ÙĬاÙħ":141822,"غÙĬاب":141823,"ĠнаÑĢ":141824,"ĠнаÑĢко":141825,"×ŀ×ķ×ĵ×¢":141826,"ĠÑģеÑĢии":141827,"пиÑģÑĭва":141828,"สิว":141829,"ç¶ļãģĦãģ¦":141830,"çͳãģĹè¾¼ãģ¿":141831,"Ġ׾×Ĵר":141832,"Ġ׾×Ĵר×ķ×Ŀ":141833,"Ġдем":141834,"Ġдемо":141835,"Ġë³´ëĤ´":141836,"تÙĩدÙĬد":141837,"ĠÙħØ´ÙĬرا":141838,"Ġduy":141839,"Ġduyá»ĩt":141840,"ĠwiÄĻksze":141841,"ÙħعاÙĬ":141842,"ÙħعاÙĬÙĬر":141843,"ĠGda":141844,"ĠGdaÅĦsk":141845,"Ġrah":141846,"Ġrahats":141847,"Ġrahatsız":141848,"ר×ķצ×Ķ":141849,"lös":141850,"lösung":141851,"ĠТаким":141852,"ÑĪед":141853,"ÑĪедÑĪ":141854,"عزÙĦ":141855,"Ġרש×Ļ×ŀת":141856,"Ġ׾×Ķ×Ļ׼":141857,"Ġ׾×Ķ×Ļ×Ľ×ł×¡":141858,"ĠпÑĥÑĤ":141859,"ĠпÑĥÑĤеÑĪ":141860,"ĠпÑĥÑĤеÑĪеÑģÑĤв":141861,"ĠnotÃŃcia":141862,"ĠalÄ±ÅŁ":141863,"ĠalÄ±ÅŁver":141864,"ĠalÄ±ÅŁveriÅŁ":141865,"ĠwÅĤos":141866,"ĠwÅĤosów":141867,"Ġبغ":141868,"Ġبغداد":141869,"Ġveröffent":141870,"Ġveröffentlicht":141871,"ĠKhá":141872,"Ġtán":141873,"ëIJĺ기":141874,"Ġ방문":141875,"ÙģÙĬÙĦ":141876,"à¹Ģà¸ģิà¸Ķà¸Īาà¸ģ":141877,"åı¯æĦĽ":141878,"åı¯æĦĽãģĦ":141879,"à¸ĸุà¸ĩ":141880,"ĠzewnÄĻtrzn":141881,"à¸łà¸²à¸©à¸²à¸Ńัà¸ĩà¸ģฤษ":141882,"Ġmáxima":141883,"Ġulus":141884,"Ġuluslararası":141885,"Ġ׳×Ķ׳":141886,"à¸Ĥà¹Īาวสาร":141887,"ĠìĿĺìĤ¬":141888,"à¹Ģหลืà¸Ńà¸ĩ":141889,"ĠدÙĤ":141890,"ĠدÙĤائÙĤ":141891,"สืà¹Īà¸Ńสาร":141892,"먼":141893,"ĠÑģоÑģÑĤоÑıнии":141894,"สมาà¸Ħม":141895,"á»Ĥ":141896,"ĠÐľÐ¾Ñģков":141897,"ĠÐľÐ¾ÑģковÑģк":141898,"×ŀס×ķ×Ĵ׾":141899,"ãģĭãģĭãĤĬ":141900,"ĠTruyá»ģn":141901,"à¹ģà¸Ĥà¹ĩà¸ĩà¹ģรà¸ĩ":141902,"×ŀ×Ĺ×ĸ×Ļ×§":141903,"à¹Ĥà¸ģà¹ī":141904,"ÙĬسر":141905,"ìĶ©":141906,"×IJ×ķ×§":141907,"×IJ×ķ×§×ĺ":141908,"×IJ×ķ×§×ĺ×ķ×ijר":141909,"Ġproximité":141910,"ÙħÙĨÙĩج":141911,"ĠاÙĦجز":141912,"ĠاÙĦجزائ":141913,"ĠاÙĦجزائرÙĬ":141914,"ĠÄIJiá»ĥm":141915,"Ġденеж":141916,"Ġденежн":141917,"ÙģØŃص":141918,"Ù쨦":141919,"ĠÐijÑĥд":141920,"×Ĵ×Ļ×ĵ×ķ׾":141921,"ĠÐĴедÑĮ":141922,"عÙĦاÙħØ©":141923,"Ġ×IJ×Ĺר×ķ׳×ķת":141924,"ãģĦãģŁãģłãģĦãģ¦":141925,"سÙĦØŃ":141926,"ØŃÙĦÙħ":141927,"زÙĪØ§Ø±":141928,"Ùĥسر":141929,"×ĺקס":141930,"Ġбан":141931,"Ġбанков":141932,"ĠпÑĢож":141933,"ĠпÑĢожива":141934,"liwo":141935,"liwoÅĽci":141936,"ĠTiếp":141937,"ĠاÙĦÙħÙĨاسب":141938,"ĠاÙĦØ®ÙĬار":141939,"ãģĬãģĭ":141940,"ãģĬãģĭãģĴ":141941,"à¸Ķà¸Ńà¸ģà¹Ħมà¹ī":141942,"ämp":141943,"ämpfe":141944,"à¸ķัà¹īà¸ĩà¹ĥà¸Ī":141945,"ĠзаÑīиÑĤ":141946,"ĠзаÑīиÑĤÑĭ":141947,"ĠThưá»Ŀng":141948,"ĠصÙģ":141949,"ĠصÙģØŃØ©":141950,"×Ĺ×ķרף":141951,"ãĥIJãĥĥãĤ°":141952,"Ġ×ĵ×Ļ×Ĵ":141953,"Ġ×ĵ×Ļ×Ĵ×Ļ×ĺ":141954,"Ġ×ĵ×Ļ×Ĵ×Ļ×ĺ׾×Ļ":141955,"Ġ×Ķ×Ĺ×ķ׾×Ļ×Ŀ":141956,"веÑī":141957,"веÑīа":141958,"ĠкÑĥлÑĮÑĤ":141959,"ĠкÑĥлÑĮÑĤÑĥ":141960,"ĠкÑĥлÑĮÑĤÑĥÑĢÑĭ":141961,"ĠاÙĦاÙĨترÙĨت":141962,"Ġhöch":141963,"Ġhöchst":141964,"Ġíĺķ":141965,"Ġíĺķíĥľ":141966,"Ġвой":141967,"ĠвойнÑĭ":141968,"ÐĽÐŀ":141969,"ìĭłìļ©":141970,"Ġ×ŀ×ij×ķס":141971,"Ġ×ŀ×ij×ķסס":141972,"×ŀ׳×Ļ×¢":141973,"Ġfiyatı":141974,"ĠÑģлÑĥж":141975,"ĠÑģлÑĥжбÑĭ":141976,"à¸Ĺัศ":141977,"à¸Ĺัศà¸Ļ":141978,"ãģĵãģ¨ãģĮå¤ļãģĦ":141979,"Ġ×Ķ×ŀשת":141980,"Ġ×Ķ×ŀשת×ŀש":141981,"å¯ĦãģĽ":141982,"×ŀש׾×ķ×Ĺ":141983,"æĻĤçĤ¹":141984,"æĻĤçĤ¹ãģ§":141985,"à¸ŀรี":141986,"à¸ŀรีà¹Ģมีย":141987,"à¸ŀรีà¹Ģมียรà¹Į":141988,"à¸ŀรีà¹Ģมียรà¹Įลีà¸ģ":141989,"Ġdifficolt":141990,"ĠdifficoltÃł":141991,"ãĥ¬ãĤ¹ãĥĪ":141992,"ãĥ¬ãĤ¹ãĥĪãĥ©ãĥ³":141993,"สมà¹Ģà¸Ķà¹ĩ":141994,"สมà¹Ģà¸Ķà¹ĩà¸Ī":141995,"Ġжид":141996,"Ġжидк":141997,"ĠzupeÅĤ":141998,"ĠzupeÅĤnie":141999,"ĠÙħجر":142000,"ĠÙħجرد":142001,"ãģĮå§ĭ":142002,"ãģĮå§ĭãģ¾":142003,"ãĤŃãĥ£ãĥ©":142004,"Ġ×IJ×ķ×ķ×Ļר":142005,"ãģĬäºĴ":142006,"ãģĬäºĴãģĦ":142007,"ĠpotrÃł":142008,"ĠPaÅĦst":142009,"ĠPaÅĦstwo":142010,"ĠبÙĬاÙĨ":142011,"ĠبÙĬاÙĨات":142012,"Ġиногда":142013,"ĠÑĢа":142014,"ĠÑĢаÑģÑĤв":142015,"ĠÑĢаÑģÑĤвоÑĢ":142016,"Ġ×ĸ×ŀ׳":142017,"ยิà¹īม":142018,"ÄĨ":142019,"ãģ¾ãģķ":142020,"ãģ¾ãģķãģ«":142021,"ãĥķãĤ¡ãĤ¤ãĥ«":142022,"ĠgördÃ¼ÄŁÃ¼":142023,"สà¸ĩà¸Ħร":142024,"สà¸ĩà¸Ħราม":142025,"ĠArkadaÅŁ":142026,"ĠrozwiÄħzania":142027,"×ŀ×ķ×ĺ":142028,"piÄĻ":142029,"piÄĻt":142030,"صغر":142031,"สย":142032,"สยาม":142033,"ãĤĨãģ£ãģıãĤĬ":142034,"Ġtrần":142035,"ĠeconomÃŃa":142036,"Ġgehören":142037,"ãĤ·ãĥ§ãĥ¼":142038,"ĠsÅĤucha":142039,"à¸ŀà¸Ńà¹ĥà¸Ī":142040,"ĠоÑĤмеÑĤил":142041,"ÙĨتÙĤÙĦ":142042,"Ġpropósito":142043,"ĠваÑĪего":142044,"Ġnhắn":142045,"à¹ģà¸ĸว":142046,"ĠкомиÑģ":142047,"ĠкомиÑģÑģи":142048,"ważnie":142049,"ĠyavaÅŁ":142050,"×ŀ×Ļ×§":142051,"×ŀ×Ļ×§×ķ×Ŀ":142052,"ש×IJ×ľ×ª":142053,"Ġyıllarda":142054,"ĠЮ":142055,"ĠЮÑĢ":142056,"×ł×¡×Ļ×ij×ķת":142057,"תצ":142058,"תצ×ķ×Ĵ":142059,"ĠоднÑĥ":142060,"Ġà¸Ńยà¹Īาà¸ĩà¹Ħร":142061,"Ġà¸Ńยà¹Īาà¸ĩà¹Ħรà¸ģà¹ĩà¸ķาม":142062,"ëģ¼":142063,"à¹Ħลà¹Ī":142064,"تسÙĦÙĬÙħ":142065,"بÙĦاغ":142066,"Ġìī":142067,"Ġìī½":142068,"Ġìī½ê²Į":142069,"ãĥļãĥ³":142070,"звÑĥÑĩ":142071,"ĠWäh":142072,"ĠWährend":142073,"Ġ×Ļ×Ļת":142074,"Ġ×Ļ×Ļ×ª×Ľ×Ł":142075,"Ġkhuyên":142076,"Ġvẽ":142077,"ĠамеÑĢ":142078,"ĠамеÑĢик":142079,"ĠамеÑĢикан":142080,"ĠамеÑĢиканÑģк":142081,"عجب":142082,"ãĥĽãĥ¼ãĥłãĥļãĥ¼ãĤ¸":142083,"ĠникÑĤо":142084,"ĠÙĤÙİ":142085,"ĠÙĤÙİØ§ÙĦ":142086,"ĠÙĤÙİØ§ÙĦÙİ":142087,"ÐIJÐĹ":142088,"ÙħجÙħÙĪØ¹":142089,"ÙħجÙħÙĪØ¹Ø§Øª":142090,"ĠnecessitÃł":142091,"Ġpobli":142092,"Ġpobliżu":142093,"Ġphấn":142094,"ĠСообÑī":142095,"ÙħÙĤاط":142096,"ÙħÙĤاطع":142097,"Ġ×Ķצ×ķר×ļ":142098,"laÅŁtırma":142099,"วิà¸Ķ":142100,"วิà¸Ķี":142101,"วิà¸Ķีà¹Ĥà¸Ń":142102,"Ġ그리ìĬ¤":142103,"Ġ그리ìĬ¤ëıĦ":142104,"ãĤ¿ãĤ¤ãĥŁ":142105,"ãĤ¿ãĤ¤ãĥŁãĥ³ãĤ°":142106,"×§×ĺ×Ĵ×ķר":142107,"×§×ĺ×Ĵ×ķר×Ļ×Ķ":142108,"Ġ×Ĺ×ķפ":142109,"Ġ×Ĺ×ķפש×Ļ":142110,"أجر":142111,"Ġимени":142112,"ĠÑĢанее":142113,"à¹Ģà¸ŀืà¹Īà¸Ńà¸Ļà¹Ĩ":142114,"ĠJesús":142115,"Ñģоедин":142116,"Ñģоединен":142117,"Ġר×Ĺ×ķ×§":142118,"à¹Ĥà¸ļรา":142119,"à¹Ĥà¸ļราà¸ĵ":142120,"ĠHÆ¡n":142121,"ĠtháºŃp":142122,"تعÙĬÙĬÙĨ":142123,"ĠtartÄ±ÅŁ":142124,"ĠtartÄ±ÅŁma":142125,"ĠGespr":142126,"ĠGespräch":142127,"תר×ķפ":142128,"תר×ķפ×ķת":142129,"Ġcatégorie":142130,"ĠоказÑĭва":142131,"ĠналиÑĩие":142132,"Ġprésenté":142133,"Ġkull":142134,"Ġkulland":142135,"Ġkullandı":142136,"Ġünl":142137,"Ġünlü":142138,"ĠÙģÙĥرة":142139,"изаÑĤоÑĢ":142140,"×IJ×ķ׳":142141,"×IJ×ķ׳×Ļ×ij":142142,"×IJ×ķ׳×Ļ×ijרס":142143,"×IJ×ķ׳×Ļ×ijרס×Ļ×ĺת":142144,"ĠÑĢаÑģÑģмаÑĤ":142145,"ĠÑĢаÑģÑģмаÑĤÑĢ":142146,"ĠÑĢаÑģÑģмаÑĤÑĢива":142147,"تÙĥÙĦÙħ":142148,"ÙĥترÙĪ":142149,"ÙĥترÙĪÙĨÙĬ":142150,"ĠÑģоÑĩеÑĤ":142151,"ĠÑģоÑĩеÑĤа":142152,"ãĤĴè¦ĭãģĽ":142153,"Ġngừa":142154,"ĠÐłÐµÑģп":142155,"ĠÐłÐµÑģпÑĥб":142156,"ĠÐłÐµÑģпÑĥблик":142157,"ãĤ¦ãĤ©":142158,"ãĤ¦ãĤ©ãĥ¼":142159,"ĠÐľÐµÐ¶Ð´Ñĥ":142160,"ĠìŀĪê²Į":142161,"Ġmâ":142162,"ĠìļĶì²Ń":142163,"ضار":142164,"ลุà¹īà¸Ļ":142165,"ëĮĢíķĻêµIJ":142166,"×ĸ×Ļ׼":142167,"×ĸ×Ļ׼ר×ķף":142168,"ãĤ¹ãĥļ":142169,"ãĤ¹ãĥļãĥ¼ãĤ¹":142170,"ĠкÑĢаÑģоÑĤ":142171,"H":142172,"ê¼Ń":142173,"ãĤĴéĽĨ":142174,"ãĤĴéĽĨãĤģ":142175,"ë°Ŀ":142176,"Ġ×Ķ׳×IJ":142177,"Ġ×Ķ׳×IJש×Ŀ":142178,"Ġê°Ģìļ´":142179,"Ġê°Ģìļ´ëį°":142180,"تÙĥÙĦÙ쨩":142181,"ĠØŃÙĤÙĬÙĤÙĬ":142182,"Ġhalk":142183,"Ġhalkın":142184,"ÑİÑīÑĥÑİ":142185,"ĠÑģпин":142186,"סר×ĺף":142187,"ĠпеÑĢвого":142188,"Ġполож":142189,"ĠположиÑĤелÑĮн":142190,"Ġдл":142191,"ĠдлиÑĤелÑĮн":142192,"ĠVÄ©nh":142193,"ê´´":142194,"ĠÑģÑĭÑĢ":142195,"ĠíĨµíķĺìŬ":142196,"ë³ijìĽIJ":142197,"à¹Ĥรà¸ĩà¸ĩาà¸Ļ":142198,"รัà¸ļà¸ľà¸´à¸Ķ":142199,"รัà¸ļà¸ľà¸´à¸Ķà¸Ĭà¸Ńà¸ļ":142200,"تجÙĨب":142201,"sÅĤ":142202,"sÅĤuch":142203,"ãĤ¢ãĥ«ãĥIJ":142204,"ãĤ¢ãĥ«ãĥIJãĥł":142205,"ëī´ìĬ¤":142206,"Ġpatië":142207,"Ġpatiënt":142208,"Ġìĺ¤í":142209,"Ġìĺ¤íŀ":142210,"Ġìĺ¤íŀĪ":142211,"Ġìĺ¤íŀĪ볤":142212,"ĠDerne":142213,"ĠDerneÄŁi":142214,"wróci":142215,"wróciÄĩ":142216,"ĠобÑī":142217,"ĠобÑīеÑģÑĤв":142218,"ĠобÑīеÑģÑĤвенно":142219,"ĠêµIJìĪĺ":142220,"tıģımız":142221,"Ġ×Ķ×ŀש×Ļ×ij":142222,"körper":142223,"Ġпозвол":142224,"ĠпозволиÑĤ":142225,"ĠChiến":142226,"أخÙĪ":142227,"ĠAydın":142228,"à¸Ķà¹īาà¸Ļล":142229,"à¸Ķà¹īาà¸Ļลà¹Īาà¸ĩ":142230,"Ġdru":142231,"Ġdruż":142232,"Ġdrużyn":142233,"Ġë°ľíijľ":142234,"ĠThảo":142235,"جÙĩاد":142236,"à¸ģระà¸Ĺูà¹ī":142237,"ĠкÑĢов":142238,"ĠкÑĢови":142239,"Ġiçerik":142240,"Ġnadzie":142241,"ĠnadziejÄĻ":142242,"ĠСмоÑĤÑĢ":142243,"Ġphức":142244,"جتÙħاع":142245,"جتÙħاعÙĬØ©":142246,"компон":142247,"компоненÑĤ":142248,"Ġбил":142249,"ĠбилеÑĤ":142250,"ãĥIJãĥ³ãĥī":142251,"ĠPolÃŃcia":142252,"اÙĦتÙĩ":142253,"اÙĦتÙĩاب":142254,"ØŃرÙģ":142255,"تخط":142256,"تخطÙĬØ·":142257,"ãĤ³ãĥ¼ãĥ":142258,"ãĤ³ãĥ¼ãĥĴ":142259,"ãĤ³ãĥ¼ãĥĴãĥ¼":142260,"・・・":142261,"à¸ĭà¸Ńย":142262,"Ġcrédit":142263,"è²·ãģ£ãģŁ":142264,"ĠпоÑĢÑıд":142265,"ĠпоÑĢÑıдке":142266,"Ġphó":142267,"Ġwida":142268,"ĠwidaÄĩ":142269,"جرائÙħ":142270,"à¸ľà¸µ":142271,"ĠbÄĻdÄĻ":142272,"Ġ×ŀפת×Ĺ":142273,"ãĥijãĥ¼ãĥ":142274,"ãĥijãĥ¼ãĥĨ":142275,"ãĥijãĥ¼ãĥĨãĤ£":142276,"ãĥijãĥ¼ãĥĨãĤ£ãĥ¼":142277,"ĠKaż":142278,"ĠKażdy":142279,"ĠнеобÑħодимоÑģÑĤи":142280,"à¸Łà¸Ńรà¹Į":142281,"à¸Łà¸Ńรà¹Įม":142282,"ĠмалÑĭÑĪ":142283,"ĠплоÑĤ":142284,"ĠÑĥÑģÑĤÑĢой":142285,"ĠÑĥÑģÑĤÑĢойÑģÑĤва":142286,"à¸ĸà¸Ńà¸Ļ":142287,"ĠoluÅŁturul":142288,"ĠÅĽwiad":142289,"ĠÅĽwiadom":142290,"ÙħعÙĩد":142291,"ĠпÑĢоизведен":142292,"Æł":142293,"ר×Ļש":142294,"Ùħستث":142295,"ÙħستثÙħر":142296,"׳×Ļ×Ļר":142297,"pañ":142298,"Ġ;-)":142299,"Ġë°ľê²¬":142300,"Ġgörüyor":142301,"ÙħؤÙĦÙģ":142302,"ĠÄIJá»ģ":142303,"ĠاÙĦÙĨÙĪØ§Ø¨":142304,"×Ĺ×§×Ļר×Ķ":142305,"Ġmá»ıi":142306,"è¿°ãģ¹":142307,"ÐĿик":142308,"ìŀĸìķĦ":142309,"ìŀĸìķĦìļĶ":142310,"prowadziÅĤ":142311,"lóg":142312,"lógica":142313,"פס×ĺ":142314,"פס×ĺ×Ļ×ij׾":142315,"Ġ×ŀ×ĵ×Ķ":142316,"Ġ×ŀ×ĵ×Ķ×Ļ×Ŀ":142317,"ãģĵãģĵãģ¾ãģ§":142318,"×Ķת×Ĺ":142319,"×Ķת×Ĺ׾×Ķ":142320,"Ġפ×ķס":142321,"Ġפ×ķס×ĺ×Ļ×Ŀ":142322,"Ġнев":142323,"Ġневоз":142324,"Ġневозможно":142325,"ĠdostÄĻpny":142326,"ĠغاÙĦ":142327,"ĠغاÙĦب":142328,"ĠbezpieczeÅĦst":142329,"ĠbezpieczeÅĦstwa":142330,"åĪĨãģĭãĤĭ":142331,"ĠFührung":142332,"à¸ģีà¹ī":142333,"gemÃ¤ÃŁ":142334,"à¸Ĭà¹Īวà¸ĩà¹Ģวลา":142335,"Ġìļ°ë¦¬ëĤĺ":142336,"Ġìļ°ë¦¬ëĤĺëĿ¼":142337,"ãģ¥ãģıãĤĬ":142338,"ĠاÙĦÙħسÙĦ":142339,"ĠاÙĦÙħسÙĦØŃØ©":142340,"Ġliberté":142341,"клÑİÑĩение":142342,"Ġzamów":142343,"Ġzamówienia":142344,"รà¸ĸà¹Ħà¸Ł":142345,"Ø£ÙģÙĦ":142346,"Ø£ÙģÙĦاÙħ":142347,"Ùħراج":142348,"Ùħراجعة":142349,"Ġë¹ĦêµIJ":142350,"ĠاÙĦتاب":142351,"ĠاÙĦتابعة":142352,"Ġë§ĮëĤĺ":142353,"ĠбÑĥм":142354,"ĠбÑĥмаг":142355,"Ġgénero":142356,"Ġìŀĺ못":142357,"×ŀפ×ķר×ĺ":142358,"è²·ãģĦçī©":142359,"ĠÙĦدÙĬÙĥ":142360,"Ġ×ľ×¢×Ļת":142361,"Ġ×ľ×¢×Ļת×Ļ×Ŀ":142362,"ĠsÅĤab":142363,"ĠпÑĢедÑģÑĤавлÑı":142364,"ãĤ¿ãĤ¤ãĥĪ":142365,"ãĤ¿ãĤ¤ãĥĪãĥ«":142366,"Ùħص":142367,"ÙħصطÙģ":142368,"ÙħصطÙģÙī":142369,"Ġdifficulté":142370,"ãĥĨãĤ£ãĥĸ":142371,"ĠpewnoÅĽci":142372,"ĠpewnoÅĽciÄħ":142373,"Ġ무ìĬ¨":142374,"إرس":142375,"إرساÙĦ":142376,"ĠдалÑĮ":142377,"ĠдалÑĮÑĪе":142378,"Ġ×ľ×ł×¡":142379,"Ġ×ľ×ł×¡×ķת":142380,"หมูà¹Īà¸ļà¹īาà¸Ļ":142381,"×ŀס×ŀ׼×Ļ":142382,"أسÙĦÙĪØ¨":142383,"ĠzwÅĤ":142384,"ĠzwÅĤas":142385,"ĠzwÅĤaszc":142386,"ĠzwÅĤaszcza":142387,"ĠпÑĢеж":142388,"ĠпÑĢежде":142389,"ĠоÑĢганизаÑĨиÑı":142390,"Ġdönemin":142391,"Ġdöneminde":142392,"ĠỦ":142393,"ĠỦy":142394,"ä¸ĭãģĴ":142395,"ĠпоÑģледние":142396,"Ġgüne":142397,"ĠgüneÅŁ":142398,"Ġ×IJ×ĸר":142399,"Ġ×IJ×ĸר×Ĺ×Ļ":142400,"ãģ§ãģĤãĤįãģĨ":142401,"ĠÙĨÙĤ":142402,"ĠÙĨÙĤاط":142403,"æŃ£ãģĹãģĦ":142404,"ĠÑĢег":142405,"ĠÑĢегиона":142406,"ĠFörder":142407,"ê²½ìĺģ":142408,"dıklar":142409,"dıklarını":142410,"trzymaÄĩ":142411,"أشÙĥ":142412,"أشÙĥاÙĦ":142413,"×Ķת×IJ":142414,"×Ķת×IJ×ŀ×Ķ":142415,"à¸Ĺำà¹ĥหà¹īà¹Ģà¸ģิà¸Ķ":142416,"ĠGebä":142417,"ĠGebäude":142418,"ĠСеÑĢг":142419,"ĠСеÑĢгей":142420,"ĠздоÑĢов":142421,"ĠздоÑĢовÑĮÑı":142422,"Ġrãi":142423,"ĠпÑĢедÑĥÑģ":142424,"ĠпÑĢедÑĥÑģмоÑĤÑĢ":142425,"ĠпÑĢедÑĥÑģмоÑĤÑĢен":142426,"Ġ×Ķצ×Ļ×ij":142427,"Ġ×Ķצ×Ļ×ij×ķר×Ļ":142428,"Ġdésir":142429,"ĠноÑĩ":142430,"ĠноÑĩÑĮ":142431,"möglichkeiten":142432,"Ġ×IJ×Ĺר×ķ׳×Ļ×Ŀ":142433,"Ġsoirée":142434,"ĠNháºŃn":142435,"Ùª":142436,"à¸Ľà¸£à¸°à¸§à¸±à¸ķิศาสà¸ķรà¹Į":142437,"êµIJíĨµ":142438,"ĠأخÙĬ":142439,"Ġdécid":142440,"Ġdécidé":142441,"Ġwyja":142442,"ĠwyjaÅĽni":142443,"Ġสิ":142444,"Ġสิà¸ĩ":142445,"Ġสิà¸ĩหา":142446,"Ġสิà¸ĩหาà¸Ħม":142447,"à¹ģà¸Ńรà¹Į":142448,"หà¸Ļà¹īาà¸Īà¸Ń":142449,"סתר":142450,"Ġê¶":142451,"Ġê¶Į":142452,"Ġê¶Į리":142453,"plätze":142454,"بطÙĦ":142455,"ê±´ìĦ¤":142456,"Ġ×IJ×Ļ×ŀ×Ļ":142457,"Ġ×IJ×Ļ×ŀ×Ļ×Ļ׾":142458,"ãģ½":142459,"تراث":142460,"×IJ׾×Ļ×ŀ×ķת":142461,"ĠdisponÃŃveis":142462,"Ġzale":142463,"Ġzależy":142464,"à¸Ľà¸£à¸°à¸Ĭาสัมà¸ŀัà¸Ļà¸ĺà¹Į":142465,"ĠÅļwiat":142466,"Ġporówn":142467,"Ġporówna":142468,"Ġ׾×ĺ×ķ×ijת":142469,"×Ķ×ĸ×ŀ׳×Ķ":142470,"Ġ×Ľ×ª×ķצ×IJ×Ķ":142471,"Ġ×ijק׾":142472,"Ġ×ijק׾×ķת":142473,"ĠоÑĤкÑĢ":142474,"ĠоÑĤкÑĢÑĭва":142475,"ãĥijãĥ¯ãĥ¼":142476,"ë¿IJë§Į":142477,"ĠвÑģÑı":142478,"ĠвÑģÑıк":142479,"ãģ¨ãģªãģ£ãģ¦ãģĦãĤĭ":142480,"ĠgiáºŃn":142481,"ĠокÑĢÑĥ":142482,"ĠокÑĢÑĥжа":142483,"ĠокÑĢÑĥжаÑİÑī":142484,"ĠUniversität":142485,"ĠÑĢож":142486,"ĠÑĢожд":142487,"ĠÑĢождениÑı":142488,"Ø®ÙĬÙĦ":142489,"Ġкомпаний":142490,"ĠÑĢазлиÑĩнÑĭе":142491,"ĠЦена":142492,"׳×Ļ×ķ×ĸ":142493,"׳×Ļ×ķ×ĸ׾":142494,"׳×Ļ×ķ×ĸ׾×ĺר":142495,"Ġê³µê°Ħ":142496,"Ġê°ľëħIJ":142497,"landırma":142498,"ĠÑĥдален":142499,"à¸ŀัà¸ģà¸ľ":142500,"à¸ŀัà¸ģà¸ľà¹Īà¸Ńà¸Ļ":142501,"Ġprotección":142502,"ĠbÅĤ":142503,"ĠbÅĤÄĻd":142504,"ÃĪ":142505,"Ġíĸīë³µ":142506,"ĠÅŁÃ¼":142507,"ĠÅŁÃ¼phe":142508,"ĠíĶ":142509,"Ġíͼ":142510,"Ġíͼíķ´":142511,"Ġëĭ¤ë¥´":142512,"à¹Ħมà¹Īà¹Ģà¸ģิà¸Ļ":142513,"ãģ¿ãģª":142514,"ãģ¿ãģªãģķãĤĵ":142515,"ĠпоÑĤÑĢеб":142516,"ĠпоÑĤÑĢебиÑĤел":142517,"ĠاÙĦÙĥÙĦاÙħ":142518,"ìķĦë²Ħ":142519,"ìķĦë²Ħì§Ģ":142520,"ãĤĴ使ãģ£ãģŁ":142521,"Ġbụi":142522,"ĠпоÑĤеÑĢ":142523,"ĠпоÑĤеÑĢÑı":142524,"ĠØ¢ÙĦاÙģ":142525,"ĠнаÑģÑĤоÑıÑīее":142526,"ãģıãģªãĤĬãģ¾ãģĹãģŁ":142527,"clusão":142528,"ãĤ³ãĥĶãĥ¼":142529,"צפ×Ļ":142530,"צפ×Ļ×Ļ×Ķ":142531,"Ø®ÙĦا":142532,"Ø®ÙĦاص":142533,"ลà¹īำ":142534,"ãĥ¯ãĤ¤ãĥ³":142535,"Ġมีà¸Ļา":142536,"Ġมีà¸Ļาà¸Ħม":142537,"شخص":142538,"شخصÙĬات":142539,"Ġ×ĸ×§":142540,"Ġ×ĸ×§×ķ×§":142541,"×Ļ×Ļצ":142542,"×Ļ×Ļצ×Ĵ":142543,"èĢĥãģĪæĸ¹":142544,"Ġürünü":142545,"ĠиÑģпол":142546,"ĠиÑģполни":142547,"Ġcompañero":142548,"קצ×Ķ":142549,"×ŀ×¢×ł×Ļ×§":142550,"ÙħØŃÙħد":142551,"Ġcámara":142552,"Ġпед":142553,"Ġпедаг":142554,"Ġпедагог":142555,"маÑĢ":142556,"маÑĢк":142557,"×Ķ×ª×ł×Ĵ×ĵ":142558,"ĠìĨĮê°ľ":142559,"ĠcomunitÃł":142560,"곤":142561,"ĠNgÃłi":142562,"สà¸ĩà¸ļ":142563,"ĠmieszkaÅĦców":142564,"ĠÙĨÙĩائÙĬ":142565,"ivité":142566,"Ġиде":142567,"ĠидеалÑĮн":142568,"ĠأسبÙĪØ¹":142569,"Ġ×Ļ×¢×ľ":142570,"Ġ׾ר×IJש":142571,"Ġ׾ר×IJש×ķ׳×Ķ":142572,"ĠзапиÑģи":142573,"ĠкоÑĢпÑĥÑģ":142574,"วà¸ĩศ":142575,"วà¸ĩศà¹Į":142576,"ĠÐĶм":142577,"ĠÐĶмиÑĤ":142578,"ĠÐĶмиÑĤÑĢ":142579,"Ġkönnt":142580,"Ġbölges":142581,"Ġbölgesinde":142582,"׼×Ļ׼":142583,"׼×Ļ׼ר":142584,"ĠاÙĦإثÙĨ":142585,"ĠاÙĦإثÙĨÙĬÙĨ":142586,"Ġngá»Ļ":142587,"ì¹ł":142588,"دراج":142589,"Ġuda":142590,"ĠudaÅĤo":142591,"ìºIJ":142592,"برÙĨاÙħج":142593,"ĠÑģÑĥдеб":142594,"ĠÑģÑĥдебн":142595,"Ġzunächst":142596,"ĠEducación":142597,"ãģ¨ãģªãģ£ãģ¦ãģĦãģ¾ãģĻ":142598,"Ġ×Ķ×IJ×ŀ×Ļת×Ļ":142599,"Ġİnt":142600,"Ġİnternet":142601,"ĠcaÅĤego":142602,"ãĥĹãĥªãĥ³":142603,"إبد":142604,"إبداع":142605,"ĠпоÑĢÑĤал":142606,"à¹Ĥà¸ķà¹ī":142607,"Ġ×Ķקש×ķר":142608,"плод":142609,"ĠÙħد":142610,"ĠÙħدرÙĬد":142611,"×ŀסע×ĵ×Ķ":142612,"ĠØ´ÙĬئ":142613,"ĠØ´ÙĬئا":142614,"à¸ģà¹Īà¸Ńสรà¹īาà¸ĩ":142615,"Ġì°¸ê³ł":142616,"à¹Ģà¸Ĺร":142617,"à¹Ģà¸Ĺรà¸Ķ":142618,"Ġ×ij×ŀקר×Ļ×Ŀ":142619,"Ġbât":142620,"Ġbâtiment":142621,"åij¼ãģ³":142622,"ç´łæķµ":142623,"ç´łæķµãģª":142624,"przedsiÄĻbiorst":142625,"przedsiÄĻbiorstw":142626,"Ġ×ł×ª×ķ׳×Ļ×Ŀ":142627,"×Ĺ׾×ķ×Ŀ":142628,"รวย":142629,"ÙħÙĪØ¶ÙĪØ¹":142630,"ĠÑģобÑĢан":142631,"ведÑĥÑī":142632,"ĠÑĤеаÑĤ":142633,"ĠÑĤеаÑĤÑĢ":142634,"meye":142635,"meyeceÄŁi":142636,"ĠpieniÄħ":142637,"ĠpieniÄħd":142638,"ĠpieniÄħdze":142639,"ÑĢезиденÑĤ":142640,"ØŃصر":142641,"ìĺ¥":142642,"à¹Ģยืà¸Ńà¸Ļ":142643,"ĠÑĥни":142644,"ĠÑĥнивеÑĢ":142645,"ĠÑĥнивеÑĢÑģ":142646,"ĠÑĥнивеÑĢÑģиÑĤеÑĤ":142647,"ĠاÙĦرØŃ":142648,"ĠاÙĦرØŃÙħÙĨ":142649,"ĠÑĤеÑħнолог":142650,"ĠÑĤеÑħнологии":142651,"ìĹIJëĦĪ":142652,"ìĹIJëĦĪì§Ģ":142653,"ĠíķŃ":142654,"ĠíķŃìĥģ":142655,"à¸ĺา":142656,"à¸ĺาà¸ķุ":142657,"ĠEspañol":142658,"×ĵ×Ĵש":142659,"Ġêµī":142660,"Ġêµīìŀ¥":142661,"Ġêµīìŀ¥íŀĪ":142662,"ĠÅĤat":142663,"ĠÅĤatwo":142664,"Ġká»ĭch":142665,"إز":142666,"إزاÙĦØ©":142667,"ĠдейÑģÑĤвие":142668,"ĠsaÄŁlayan":142669,"สุà¸Ķยà¸Ńà¸Ķ":142670,"ĠzostaÄĩ":142671,"ĠdisponÃŃvel":142672,"ïºį":142673,"verständ":142674,"verständlich":142675,"twor":142676,"tworzyÄĩ":142677,"عجز":142678,"à¹Ģà¸Ĥà¹īม":142679,"ยà¹Īà¸Ńม":142680,"Ġstratég":142681,"Ġstratégie":142682,"à¸ľà¸¥à¹Ħมà¹ī":142683,"Ġê°ģì¢ħ":142684,"ĠÙħÙĪØ§":142685,"ĠÙħÙĪØ§Ø¶":142686,"ĠÙħÙĪØ§Ø¶ÙĬع":142687,"اØŃتج":142688,"اØŃتجاج":142689,"ĠẤ":142690,"ĠẤn":142691,"×ŀ×ŀש׾×Ķ":142692,"ĠÅŁekil":142693,"×ŀ×Ĺ׾":142694,"×ŀ×Ĺ׾×ķת":142695,"Ġà¸ĺ":142696,"Ġà¸ĺัà¸Ļ":142697,"Ġà¸ĺัà¸Ļวา":142698,"Ġà¸ĺัà¸Ļวาà¸Ħม":142699,"Ġìĭ¤ìłľ":142700,"Ġìĭ¤ìłľë¡ľ":142701,"ì¤ijìķĻ":142702,"ëįĶëĿ¼":142703,"ĠÑĪиÑĢ":142704,"ĠÑĪиÑĢоко":142705,"Ġsolución":142706,"วาà¸ĩà¹ģà¸ľà¸Ļ":142707,"×IJ×ķ×ĺ×ķ×ŀ":142708,"×IJ×ķ×ĺ×ķ×ŀ×ĺ×Ļ":142709,"ĠÑĢеÑģÑĤ":142710,"ĠÑĢеÑģÑĤоÑĢ":142711,"ĠÑĢеÑģÑĤоÑĢан":142712,"ëį¸":142713,"ÑĤÑĢад":142714,"ÑĤÑĢади":142715,"ÑĤÑĢадиÑĨион":142716,"ÑĤÑĢадиÑĨионн":142717,"มะà¹Ģรà¹ĩ":142718,"มะà¹Ģรà¹ĩà¸ĩ":142719,"à¹Ĥส":142720,"Ġolmasını":142721,"×ŀ×ķסר":142722,"ĠоÑĤноÑĪении":142723,"Ġê°ĢëĬ¥ìĦ±":142724,"Ġyuk":142725,"Ġyukarı":142726,"ìĨĶ":142727,"ĠÑģÑĦ":142728,"ĠÑģÑĦеÑĢе":142729,"Ġ×§×ķפ":142730,"ãĤ±ãĥ¼ãĤ":142731,"ãĤ±ãĥ¼ãĤŃ":142732,"âĢķâĢķ":142733,"ĠاÙĦØ£ÙĦÙħ":142734,"ĠاÙĦØ£ÙĦÙħاÙĨÙĬ":142735,"ẢN":142736,"ת×ķ׼׳×Ļ×ķת":142737,"ĠÑģÑĥÑīеÑģÑĤвÑĥеÑĤ":142738,"æĪijãĢħ":142739,"ĠاÙĦصادر":142740,"ĠTrá»įng":142741,"Ġад":142742,"ĠадминиÑģÑĤ":142743,"ĠадминиÑģÑĤÑĢа":142744,"ĠадминиÑģÑĤÑĢаÑĨи":142745,"ĠдÑĢÑĥгими":142746,"ÑģпеÑĪ":142747,"عÙĦاÙħات":142748,"Ġаб":142749,"ĠабÑģол":142750,"ĠабÑģолÑİÑĤ":142751,"ĠабÑģолÑİÑĤно":142752,"ฤà¸Ķู":142753,"étr":142754,"étranger":142755,"нÑıÑĤи":142756,"нÑıÑĤие":142757,"×¢×ķ׳":142758,"×¢×ķ׳ש":142759,"ĠÙĤائ":142760,"ĠÙĤائÙĦا":142761,"ĠмаÑģ":142762,"ĠмаÑģло":142763,"ãĥīãĤ¤":142764,"ãĥīãĤ¤ãĥĦ":142765,"å¿ħè¦ģãģĮãģĤãĤĬãģ¾ãģĻ":142766,"×ŀ×ķ×ĸ×Ļ×IJ":142767,"×ŀ×ķ×ĸ×Ļ×IJ×ķף":142768,"ĠNgoại":142769,"Ġkênh":142770,"à¸ģารà¸Ńà¸Ńà¸ģà¹ģà¸ļà¸ļ":142771,"×ŀפק":142772,"×ŀפק×ĵ":142773,"ÙħÙĨاز":142774,"ÙħÙĨازÙĦ":142775,"ë·°":142776,"íŤ":142777,"ÙħÙĩارات":142778,"Ġpropriété":142779,"פ×Ĵ×Ļש×Ķ":142780,"ÑĩÑĢ":142781,"ÑĩÑĢеж":142782,"ÑĩÑĢежден":142783,"×Ķ×ķצ×IJ×Ķ":142784,"ØŃÙĥÙĬÙħ":142785,"ĠíĻĪ":142786,"ĠíĻĪíİĺìĿ´ì§Ģ":142787,"åݳ":142788,"åݳãģĹãģĦ":142789,"×¢×ŀ×ĵ×Ķ":142790,"ĠAuÃŁen":142791,"سÙĪØ¡":142792,"ë¹Ī":142793,"ĠÙĪØ®":142794,"ĠÙĪØ®Ø§ØµØ©":142795,"инÑĤеÑĢ":142796,"инÑĤеÑĢеÑģ":142797,"èĩ´ãģĹãģ¾ãģĻ":142798,"Ġhüküm":142799,"à¹Ħà¸Ĥมัà¸Ļ":142800,"Ġdavran":142801,"ĠdavranÄ±ÅŁ":142802,"à¹Ģà¸ķียà¸ĩ":142803,"вÑĢем":142804,"вÑĢеменно":142805,"à¹Ģà¸Ĺศà¸ģา":142806,"à¹Ģà¸Ĺศà¸ģาล":142807,"å¼ķãģ£":142808,"å¼ķãģ£è¶ĬãģĹ":142809,"×IJר×ķ×Ĺ":142810,"×IJר×ķ×Ĺת":142811,"à¹Ģวิ":142812,"à¹Ģวิรà¹Į":142813,"à¸Ńยà¹Īาà¸ĩรวà¸Ķà¹Ģรà¹ĩว":142814,"ĠìŬíĸī":142815,"ĠÑĢанÑĮ":142816,"ĠÑĢанÑĮÑĪе":142817,"Ġzobow":142818,"ĠzobowiÄħ":142819,"ĠzobowiÄħz":142820,"Ġ×ķ׼×ŀ×ķ×ijף":142821,"ĠاÙĦÙħÙĩ":142822,"ĠاÙĦÙħÙĩÙĨÙĬ":142823,"ãĤ¢ãĤ¸":142824,"ãĤ¢ãĤ¸ãĤ¢":142825,"ë°©ìĨ¡":142826,"à¸Ńà¸Ńà¸ģà¸ģำลัà¸ĩ":142827,"à¸Ńà¸Ńà¸ģà¸ģำลัà¸ĩà¸ģาย":142828,"améli":142829,"améliorer":142830,"å½ĵãģŁãĤĬåīį":142831,"Ġregelm":142832,"ĠregelmÃ¤ÃŁig":142833,"ãģĬåĭ":142834,"ãģĬåĭ§":142835,"ãģĬåĭ§ãĤģ":142836,"Ġmưá»Ŀi":142837,"برÙħج":142838,"ĠNatürlich":142839,"ĠDÅ©ng":142840,"ĠاÙĦرجاÙĦ":142841,"Ġthép":142842,"ĠolmuÅŁtur":142843,"×ŀ×ķס×Ļ×§×Ķ":142844,"fälle":142845,"주íĥĿ":142846,"ĠاÙĦÙģØ±Øµ":142847,"ĠnajwiÄĻks":142848,"ĠnajwiÄĻkszy":142849,"ĠçaÄŁ":142850,"ĠçaÄŁrı":142851,"ì¸ł":142852,"ĠvÃŃct":142853,"ĠvÃŃctima":142854,"ĠÑģовеÑĢÑĪен":142855,"×Ķ×Ļ×Ļת×Ļ":142856,"à¹Ģà¸Ķี":142857,"à¹Ģà¸Ķีà¹ĭ":142858,"à¹Ģà¸Ķีà¹ĭยว":142859,"üyü":142860,"Ġдоп":142861,"Ġдополн":142862,"ĠдополниÑĤелÑĮно":142863,"à¹ģà¸ķà¸ģà¸ķà¹Īาà¸ĩà¸ģัà¸Ļ":142864,"Ġál":142865,"Ġálbum":142866,"à¸Ľà¸£à¸°à¸Īà¸³à¸Ľà¸µ":142867,"ĠÑĦедеÑĢ":142868,"ĠÑĦедеÑĢалÑĮн":142869,"ĠobsÅĤ":142870,"ĠobsÅĤugi":142871,"à¹Ģรืà¹Ī":142872,"à¹Ģรืà¹Īà¸Ńย":142873,"à¹Ģรืà¹Īà¸Ńยà¹Ĩ":142874,"ëģĮ":142875,"Ġnghìn":142876,"ĠBaÅŁkanlıģı":142877,"تأسÙĬ":142878,"تأسÙĬس":142879,"Ġ×ij×ij×ķקר":142880,"Ġ×¢×ij×ķ×ĵ×ķת":142881,"ĠبصÙĪØ±Ø©":142882,"ãĤıãģijãģ§ãģ¯ãģªãģĦ":142883,"führer":142884,"ãĤ¹ãĤŃ":142885,"ãĤ¹ãĤŃãĥ«":142886,"ĠاÙĦÙĤض":142887,"ĠاÙĦÙĤضÙĬØ©":142888,"ĠдолжноÑģÑĤ":142889,"ÙģØ§Ø±ÙĤ":142890,"Ġcomeçou":142891,"Ġorganisé":142892,"Ġxuân":142893,"ĠÑģообÑīаеÑĤ":142894,"ĠпÑĢид":142895,"ĠпÑĢидеÑĤÑģÑı":142896,"TÃľRK":142897,"ãĥ¬ãĥ¼ãĤ·ãĥ§ãĥ³":142898,"Không":142899,"استÙģ":142900,"استÙģØ§Ø¯Ø©":142901,"ä¸ĬãģĮãģ£ãģ¦":142902,"Ġumie":142903,"ĠumiejÄĻ":142904,"ĠumiejÄĻtn":142905,"ĠumiejÄĻtnoÅĽci":142906,"ëĤ¸":142907,"à¹Ģà¸Ļà¸Ńรà¹Į":142908,"×ĵ×ķ×ķ×Ĺ":142909,"ÃŃsimo":142910,"IÃĬ":142911,"IÃĬN":142912,"Ġalcanç":142913,"Ġà¸ķุ":142914,"Ġà¸ķุลา":142915,"Ġà¸ķุลาà¸Ħม":142916,"ש׾×ĺ×ķף":142917,"Ġélè":142918,"Ġélèves":142919,"ĠÄiju":142920,"ĠÄijuá»ķi":142921,"ĠØ£Ùģ":142922,"ĠØ£Ù쨱ÙĬ":142923,"ĠØ£Ù쨱ÙĬÙĤÙĬ":142924,"ĠØ£Ù쨱ÙĬÙĤÙĬا":142925,"ãĤĴæİ¢ãģĻ":142926,"ĠпÑĢедложениÑı":142927,"جاد":142928,"ĠÑħоÑĤÑĮ":142929,"Ñģал":142930,"Ñģалон":142931,"à¸Ľà¸£à¸°à¹Ģม":142932,"à¸Ľà¸£à¸°à¹Ģมิà¸Ļ":142933,"ãĤŃãĥĥãĥģ":142934,"ãĤŃãĥĥãĥģãĥ³":142935,"×ij×ĵ×Ļ×§×ķת":142936,"Ġchù":142937,"Ġchùa":142938,"ÐĴиде":142939,"ÐĴидео":142940,"иÑĢовка":142941,"ĠÑħоÑĤиÑĤе":142942,"Ġspécifique":142943,"รสà¸Ĭาà¸ķิ":142944,"è¾¼ãĤĵãģł":142945,"伸ãģ³":142946,"×Ķצ׾×Ĺת":142947,"ãģ©ãģ®ãĤĪãģĨãģ«":142948,"سعادة":142949,"Ġлид":142950,"ĠлидеÑĢ":142951,"มà¸ĩ":142952,"มà¸ĩà¸Ħล":142953,"ØŃاÙħÙĦ":142954,"หลุà¸Ķ":142955,"à¸Ńยà¹Īาà¸ĩà¸ķà¹Īà¸Ń":142956,"à¸Ńยà¹Īาà¸ĩà¸ķà¹Īà¸Ńà¹Ģà¸Ļืà¹Īà¸Ńà¸ĩ":142957,"ãģķãģĽãģ¦éłĤ":142958,"تسÙĪÙĬ":142959,"تسÙĪÙĬÙĤ":142960,"ĠaÅŁaģıd":142961,"ĠaÅŁaģıdaki":142962,"ĠÑĨелÑĮ":142963,"ĠÑĨелÑĮÑİ":142964,"ĠAraÅŁtırma":142965,"à¸Ĥัà¸ļรà¸ĸ":142966,"ÙĩذÙĩ":142967,"ลà¸ĩà¸Ĺะ":142968,"ลà¸ĩà¸Ĺะà¹Ģà¸ļ":142969,"ลà¸ĩà¸Ĺะà¹Ģà¸ļียà¸Ļ":142970,"تÙĥاÙħÙĦ":142971,"Ġcio":142972,"Ġcioè":142973,"ãģ¦ãģĬãģı":142974,"ĠاÙĦصØŃÙģÙĬ":142975,"ĠíĬ¹ìłķ":142976,"полниÑĤÑĮ":142977,"ãĤĵãģĺãĤĥãģªãģĦ":142978,"ãĤĵãģĺãĤĥãģªãģĦãģĭ":142979,"ĠاÙĦجÙĩ":142980,"ĠاÙĦجÙĩات":142981,"ĠÑĥÑģпеÑĪно":142982,"Ġвок":142983,"ĠвокÑĢÑĥг":142984,"ĠÑģиÑĤÑĥаÑĨиÑı":142985,"Ġ×Ķ×IJ×ŀר":142986,"Ġ×Ķ×IJ×ŀר×Ļ×§":142987,"Ġ×Ķ×IJ×ŀר×Ļ×§×IJ×Ļ":142988,"×ŀ×Ĵ×ĸ":142989,"×ŀ×Ĵ×ĸ×Ļף":142990,"ĠакÑĤÑĥ":142991,"ĠакÑĤÑĥалÑĮн":142992,"éta":142993,"étais":142994,"ĠmogÅĤa":142995,"ĠÑĤоÑĩки":142996,"Ġ×ŀ×Ķ×ŀ×¢":142997,"Ġ×ŀ×Ķ×ŀ×¢×¨×Ľ×ª":142998,"à¸¡à¸µà¸Ľà¸£à¸°à¸ªà¸´à¸Ĺà¸ĺà¸´à¸łà¸²à¸ŀ":142999,"×Ļר×Ļ×ĵ×Ķ":143000,"×Ĵר×ŀ׳":143001,"×Ĵר×ŀ׳×Ļ×Ķ":143002,"Ġглав":143003,"Ġглавное":143004,"Ġ미ëŀĺ":143005,"Ġ׳׼×ķ׳×Ķ":143006,"ĠÙĪØ·ÙĨÙĬ":143007,"opport":143008,"opportunitÃł":143009,"Ġhá»§y":143010,"ĠÙĦتØŃ":143011,"ĠÙĦتØŃÙĤÙĬÙĤ":143012,"Ġórg":143013,"Ġórgão":143014,"ãĤ¹ãĥĶ":143015,"ãĤ¹ãĥĶãĥ¼ãĥī":143016,"Ġönü":143017,"Ġönüne":143018,"ÙħعاÙħÙĦ":143019,"ש×ŀ×Ļר×Ķ":143020,"ĠвеÑģÑĮма":143021,"ĠwiÄĻkszo":143022,"ĠwiÄĻkszoÅĽÄĩ":143023,"ĠاستراتÙĬج":143024,"ĠاستراتÙĬجÙĬØ©":143025,"ĠÙ쨥":143026,"ĠÙģØ¥Ø°Ø§":143027,"à¹Ģà¸Ĭืà¹Īà¸Ńม":143028,"à¹Ģà¸Ĭืà¹Īà¸Ńมà¸ķà¹Īà¸Ń":143029,"Ġ׾פר":143030,"Ġ׾פר×ĺ×Ļ×Ŀ":143031,"ÙħضÙĬ":143032,"ĠGerçek":143033,"Ġçocukların":143034,"ÙĪØ«Ø§Ø¦ÙĤ":143035,"ĠÙħساءÙĭ":143036,"Ġunterstützt":143037,"Ġprést":143038,"Ġpréstamo":143039,"ĠÐłÐ°Ð·Ð¼ÐµÑĢ":143040,"ĠÅŁeker":143041,"Ġséculo":143042,"×ij×Ķ×Ļר":143043,"Ø´ÙĩÙĪØ±":143044,"Ġà¸Ńีà¸ģ":143045,"Ġà¸Ńีà¸ģà¸Ĺัà¹īà¸ĩ":143046,"Ġllegó":143047,"à¸¨à¸´à¸¥à¸Ľà¸°":143048,"æĪijãģĮ":143049,"æĪijãģĮå®¶":143050,"عÙĤÙĪ":143051,"عÙĤÙĪØ¨Ø§Øª":143052,"ĠFälle":143053,"ĠsÅĤuż":143054,"ĠsÅĤużb":143055,"ĠاÙĦØŃÙĤÙĪÙĤ":143056,"ĠплиÑĤ":143057,"ĠиноÑģÑĤ":143058,"ĠиноÑģÑĤÑĢан":143059,"ĠиноÑģÑĤÑĢанн":143060,"à¹ĥà¸Ļà¸Ĥà¸ĵะà¸Ĺีà¹Ī":143061,"ãĤ«ãĥĨ":143062,"ãĤ«ãĥĨãĤ´":143063,"ãĤ«ãĥĨãĤ´ãĥª":143064,"à¸Ńิส":143065,"à¸Ńิสระ":143066,"à¹Ģà¸ľà¸¢à¹ģ":143067,"à¹Ģà¸ľà¸¢à¹ģà¸ŀร":143068,"à¹Ģà¸ľà¸¢à¹ģà¸ŀรà¹Ī":143069,"ãģĬãģĦ":143070,"ãģĬãģĦãģĹãģĦ":143071,"استÙĤÙĦ":143072,"استÙĤÙĦاÙĦ":143073,"تØŃض":143074,"تØŃضÙĬر":143075,"åĬ©ãģij":143076,"ÙħراÙģÙĤ":143077,"Ġ×ĵ×ķר":143078,"Ġ×ĵ×ķרש":143079,"×ŀת×Ļ×Ļ×Ĺס":143080,"ס×Ļ׼":143081,"ס×Ļ׼×ķ×Ŀ":143082,"íĮĮíĬ¸":143083,"ĠwyÅĽ":143084,"ĠwyÅĽw":143085,"ĠwyÅĽwiet":143086,"ĠwyÅĽwietl":143087,"ĠاÙĦاÙĨساÙĨ":143088,"ĠStraÃŁen":143089,"L":143090,"ãģ«åŁº":143091,"ãģ«åŁºãģ¥":143092,"ĠcapÃŃtulo":143093,"ลุย":143094,"Ġ×Ķ×ŀקצ×ķ×¢×Ļ":143095,"ãģĤãĤĭç¨ĭ度":143096,"Ợ":143097,"ĠاÙĦÙĦا":143098,"ĠاÙĦÙĦازÙħØ©":143099,"æķĻãģĪ":143100,"Ġרש×IJ×Ļ":143101,"зав":143102,"завиÑģ":143103,"завиÑģим":143104,"à¸Ľà¸±à¸Īà¸Īัย":143105,"à¹Ģà¸ĭล":143106,"à¹Ģà¸ĭลลà¹Į":143107,"Ġdifférence":143108,"ĠAltın":143109,"ĠкÑĢай":143110,"ĠкÑĢайне":143111,"Ġзло":143112,"Ġgünümüz":143113,"ĠнаÑĤÑĥÑĢ":143114,"ĠнаÑĤÑĥÑĢалÑĮн":143115,"×Ĵ×ķ׾ש×Ļ×Ŀ":143116,"ĠкаÑĤегоÑĢ":143117,"ĠкаÑĤегоÑĢии":143118,"Ġзнак":143119,"à¸ģà¹Īà¸Ńà¸Ļหà¸Ļà¹īา":143120,"à¸ģà¹Īà¸Ńà¸Ļหà¸Ļà¹īาà¸Ļีà¹ī":143121,"ĠÙħÙĨت":143122,"ĠÙħÙĨتخب":143123,"ãĥĽãĥ¼ãĥ«":143124,"ĠевÑĢо":143125,"สว":143126,"สวม":143127,"ĠìľĦìĽIJ":143128,"ĠìľĦìĽIJëĭĺ":143129,"ĠاÙĦØŃÙĪØ«":143130,"ĠاÙĦØŃÙĪØ«ÙĬ":143131,"ĠÑģодеÑĢжиÑĤ":143132,"ãĥķãĤ¡ãĥĥãĤ·ãĥ§ãĥ³":143133,"Ġà¸ģัà¸Ļ":143134,"Ġà¸ģัà¸Ļย":143135,"Ġà¸ģัà¸Ļยายà¸Ļ":143136,"ãĤªãĥª":143137,"ãĤªãĥªãĤ¸":143138,"ãĤªãĥªãĤ¸ãĥĬãĥ«":143139,"ĠбÑĢенд":143140,"ãĤĴæĮģãģ£ãģ¦ãģĦãĤĭ":143141,"Ġinversión":143142,"Ġê°ĸ":143143,"Ġê°ĸê³ł":143144,"ĠnovitÃł":143145,"ê´Ģê´ij":143146,"Ġà¸ŀฤษ":143147,"Ġà¸ŀà¸¤à¸©à¸łà¸²":143148,"Ġà¸ŀà¸¤à¸©à¸łà¸²à¸Ħม":143149,"×ķר×Ĺ×Ļ×Ŀ":143150,"׼׾×ķ׾":143151,"Ġngạc":143152,"×Ļ×Ļש":143153,"×Ļ×Ļש×ķ×ij":143154,"fäll":143155,"fällig":143156,"ĠÑĤÑĢебÑĥеÑĤÑģÑı":143157,"Ġcará":143158,"Ġcarácter":143159,"ĠprincÃŃpio":143160,"ĠÅĤaz":143161,"ĠÅĤazien":143162,"ĠÅĤazienk":143163,"Ġgiãn":143164,"ÑģÑĤÑĢаива":143165,"Ùħساب":143166,"ÙħسابÙĤØ©":143167,"à¹Ģà¸Ħรืà¹Īà¸Ńà¸ĩà¸Ķืà¹Īม":143168,"ترÙĥÙĬب":143169,"volução":143170,"ĠÐŁÐ¾Ñĩ":143171,"ĠÐŁÐ¾Ñĩем":143172,"ĠÐŁÐ¾ÑĩемÑĥ":143173,"казалоÑģÑĮ":143174,"ĠпÑĢименениÑı":143175,"à¹Ģà¸Ĺียม":143176,"íĮĶ":143177,"à¸Ĥà¹īà¸Ńà¹Ģสà¸Ļà¸Ń":143178,"à¸Ľà¸±à¸įà¸įา":143179,"ĠобÑĥÑĩ":143180,"ĠобÑĥÑĩениÑı":143181,"ĠÑģеÑĢи":143182,"ĠÑģеÑĢиал":143183,"Ġinglés":143184,"ĠÙĦÙĥرة":143185,"Ġ×ĺ׾":143186,"Ġ×ĺ׾פ×ķף":143187,"Ġìłij":143188,"Ġìłijê·¼":143189,"×IJ×ķ×Ĵ":143190,"×IJ×ķ×Ĵ×ķס":143191,"×IJ×ķ×Ĵ×ķס×ĺ":143192,"ĠболÑĮÑĪое":143193,"ĠÐļонеÑĩно":143194,"×¢×Ļת×ķ׳":143195,"×¢×Ļת×ķ׳×IJ×Ļ":143196,"Ġкнопк":143197,"Ġзн":143198,"ĠзнаÑĤÑĮ":143199,"ĠÄijá»±":143200,"ĠÄijá»±ng":143201,"влаж":143202,"влажн":143203,"×ŀ×Ļ×ĺ×ij":143204,"ãĤ¬ãĤ¤":143205,"ãĤ¬ãĤ¤ãĥī":143206,"..........":143207,"Ġà¸ģุม":143208,"Ġà¸ģà¸¸à¸¡à¸łà¸²à¸ŀ":143209,"Ġà¸ģà¸¸à¸¡à¸łà¸²à¸ŀัà¸Ļ":143210,"Ġà¸ģà¸¸à¸¡à¸łà¸²à¸ŀัà¸Ļà¸ĺ":143211,"Ġà¸ģà¸¸à¸¡à¸łà¸²à¸ŀัà¸Ļà¸ĺà¹Į":143212,"bez":143213,"bezpieczeÅĦst":143214,"bezpieczeÅĦstw":143215,"ãĥijãĥijæ´»":143216,"عاط":143217,"عاطÙģ":143218,"ĠÄijáºŃm":143219,"ĠзÑĢ":143220,"ĠзÑĢениÑı":143221,"Ġborç":143222,"Ġнедел":143223,"ĠнеделÑİ":143224,"Ġhá»ı":143225,"Ġhá»ıng":143226,"ìŀ¥ìķł":143227,"ìŀ¥ìķłìĿ¸":143228,"ĠاÙĦعÙĦاÙĤØ©":143229,"Ġíģ¬":143230,"Ġíģ¬ê²Į":143231,"à¹Ħรà¹Ī":143232,"à¸ļาà¸Ķ":143233,"à¸ļาà¸Ķà¹Ģà¸Īà¹ĩà¸ļ":143234,"à¸Ŀรั":143235,"à¸Ŀรัà¹Īà¸ĩ":143236,"à¸Ŀรัà¹Īà¸ĩà¹Ģศ":143237,"à¸Ŀรัà¹Īà¸ĩà¹Ģศส":143238,"רע×Ļ":143239,"רע×Ļ×ķ׳×ķת":143240,"ĠëĮ":143241,"ĠëĮĵ":143242,"ĠëĮĵê¸Ģ":143243,"Ġnajb":143244,"Ġnajbli":143245,"Ġnajbliż":143246,"Ġnajbliższ":143247,"ĠиÑģполÑĮзÑĥеÑĤÑģÑı":143248,"ĠcientÃŃf":143249,"ĠcientÃŃfico":143250,"×¢×ŀ×§":143251,"Ġgợi":143252,"Ø´ØŃÙĨ":143253,"ĠÅĽm":143254,"ĠÅĽmier":143255,"ĠÅĽmierci":143256,"à¸Ħาสิà¹Ĥà¸Ļà¸Ńà¸Ńà¸Ļà¹Ħลà¸Ļà¹Į":143257,"×Ĺש×ijת×Ļ":143258,"Ġningu":143259,"Ġninguém":143260,"è¾¼ãĤģ":143261,"ãģ·":143262,"ĠÑĥг":143263,"ĠÑĥгол":143264,"ï½°":143265,"פת×Ļ×Ĺ":143266,"פת×Ļ×Ĺת":143267,"Ġ×Ķר×IJש×ķ׳×Ļ×Ŀ":143268,"pósito":143269,"ãĤŃãĥ¬ãĤ¤":143270,"ãģ©ãģĵãĤį":143271,"à¹Ģà¸Ĺà¹Īาà¹Ħ":143272,"à¹Ģà¸Ĺà¹Īาà¹Ħหร":143273,"à¹Ģà¸Ĺà¹Īาà¹Ħหรà¹Ī":143274,"ĠинÑĤеÑĢÑĮеÑĢ":143275,"ĠØŃاج":143276,"ĠØŃاجة":143277,"สีà¸Ĥาว":143278,"ìĸ¼":143279,"Ġná»Ļ":143280,"Ġná»Ļp":143281,"ĠÃŃnd":143282,"ĠÃŃndice":143283,"สำรวà¸Ī":143284,"Ġкаждой":143285,"Ġhotéis":143286,"ĠnastÄĻ":143287,"ĠnastÄĻpn":143288,"Ġ×Ķ×§×ķ×ĵ":143289,"Ġ×Ķ×§×ķ×ĵ×Ŀ":143290,"פ×ķפ":143291,"פ×ķפ×ķ׾":143292,"פ×ķפ×ķ׾ר×Ļ":143293,"вÑĪей":143294,"ãĤ·ãĥ³ãĥĹ":143295,"ãĤ·ãĥ³ãĥĹãĥ«":143296,"ĠzdjÄĻÄĩ":143297,"ĠгÑĢÑĥппа":143298,"ĠпомеÑī":143299,"ĠпомеÑīениÑı":143300,"ãģ©ãģĨãģĦãģĨ":143301,"ĠиÑģпÑĭÑĤа":143302,"ĠogÅĤ":143303,"ĠogÅĤos":143304,"ĠogÅĤoszen":143305,"ĠogÅĤoszeni":143306,"สรà¹īาà¸ĩสรร":143307,"สรà¹īาà¸ĩสรรà¸Ħà¹Į":143308,"à¸ŀรรà¸ĵ":143309,"ĠçıkÄ±ÅŁ":143310,"ĠÑĩаÑģÑĤноÑģÑĤи":143311,"Ġ×ķ×Ļ×ķתר":143312,"ç¶ļãģįãĤĴ":143313,"ç¶ļãģįãĤĴèªŃ":143314,"ç¶ļãģįãĤĴèªŃãĤĢ":143315,"à¸ģรั":143316,"à¸ģรัม":143317,"гÑĢаÑĦ":143318,"Ġвлад":143319,"ĠвладелÑĮ":143320,"ĠвладелÑĮÑĨ":143321,"ĠistediÄŁ":143322,"ĠistediÄŁiniz":143323,"×ij×ľ×¢":143324,"×ij×ľ×¢×ĵ×Ļ":143325,"ÙħÙĪØ§Ùģ":143326,"ÙħÙĪØ§ÙģÙĤØ©":143327,"Ġ×Ļ×ķר":143328,"Ġ×Ļ×ķרק":143329,"ãĤ«ãĥ¼ãĥīãĥŃãĥ¼ãĥ³":143330,"ĠاÙĦÙħØ´ÙĥÙĦ":143331,"ĠاÙĦÙħØ´ÙĥÙĦØ©":143332,"ĠêµŃíļĮ":143333,"ספ×ĺ":143334,"ספ×ĺ×ŀ":143335,"ספ×ĺ×ŀ×ijר":143336,"Ġìĸ´ëłµ":143337,"ÙĥاÙħ":143338,"ÙĥاÙħÙĬرا":143339,"schlü":143340,"schlüsse":143341,"ĠØ«ÙĨ":143342,"ĠØ«ÙĨائÙĬ":143343,"ìī½":143344,"ĠÐŀÑģоб":143345,"ĠÐŀÑģобенно":143346,"ĠинвеÑģÑĤи":143347,"ĠинвеÑģÑĤиÑĨи":143348,"اØŃتÙħ":143349,"اØŃتÙħاÙĦ":143350,"EÄŀ":143351,"EÄŀİ":143352,"íķĺê²łëĭ¤":143353,"Ġ×IJ×ijר×Ķ":143354,"Ġ×IJ×ijר×Ķ×Ŀ":143355,"Ġ×ij×Ĺ×Ļ׳×Ŀ":143356,"Ø£ÙĪØ¶":143357,"Ø£ÙĪØ¶Ø§Ø¹":143358,"Ġdél":143359,"Ġdélai":143360,"Ġ×IJ×ķ×Ķ×ij×Ļ×Ŀ":143361,"ĠÑģоÑħ":143362,"ĠÑģоÑħÑĢ":143363,"ĠÑģоÑħÑĢани":143364,"ĠдоÑģÑĤиж":143365,"ĠдоÑģÑĤижени":143366,"สิà¹Īà¸ĩà¹ģ":143367,"สิà¹Īà¸ĩà¹ģวà¸Ķ":143368,"สิà¹Īà¸ĩà¹ģวà¸Ķล":143369,"สิà¹Īà¸ĩà¹ģวà¸Ķลà¹īà¸Ńม":143370,"ĠاÙĦÙħباشر":143371,"ĠÑĦиг":143372,"ĠÑĦигÑĥÑĢ":143373,"можем":143374,"׾×ŀ×Ļ×ĵ×Ķ":143375,"Ġciné":143376,"Ġcinéma":143377,"Ġbada":143378,"ĠbadaÅĦ":143379,"جبÙĩØ©":143380,"Ġдеп":143381,"ĠдепÑĥÑĤ":143382,"ĠдепÑĥÑĤаÑĤ":143383,"Ġdistância":143384,"ĠاÙĦÙħعار":143385,"ĠاÙĦÙħعارضة":143386,"thèse":143387,"ünc":143388,"üncü":143389,"Ġданного":143390,"ĠBelgi":143391,"ĠBelgië":143392,"Ġ×ij×ij×§":143393,"Ġ×ij×ijקש×Ķ":143394,"ยà¹Īาà¸Ļ":143395,"Ġsolução":143396,"Ġ×Ķצ×ĺר":143397,"Ġ×Ķצ×ĺרפ×ķ":143398,"ĠØ£ÙĨØŃ":143399,"ĠØ£ÙĨØŃاء":143400,"ĠدÙħØ´":143401,"ĠدÙħØ´ÙĤ":143402,"มัà¹ī":143403,"มัà¹īย":143404,"Ùħغرب":143405,"استعÙħاÙĦ":143406,"ĠSÅĤow":143407,"ĠëıĻìĭľ":143408,"ĠëıĻìĭľìĹIJ":143409,"ĠÑģоÑģ":143410,"ĠÑģоÑģед":143411,"ì²ŃìĨĮ":143412,"ì²ŃìĨĮëħĦ":143413,"ĠгÑĢаÑĦ":143414,"ĠгÑĢаÑĦик":143415,"ĠìŀijìĿĢ":143416,"Ġyeti":143417,"ĠyetiÅŁtir":143418,"ĠìĿ´ê²ĥìĿ´":143419,"หà¹Īาà¸ĩ":143420,"Ø¥ÙħÙĥاÙĨ":143421,"Ø¥ÙħÙĥاÙĨÙĬØ©":143422,"استعراض":143423,"Ùħخدر":143424,"ĠÑĩÑĥÑĤÑĮ":143425,"ÙħدÙĬر":143426,"ÙħدÙĬرÙĬØ©":143427,"Ġà¹Ģมษ":143428,"Ġà¹Ģมษายà¸Ļ":143429,"ĠмеÑħ":143430,"ĠмеÑħаниз":143431,"ĠмеÑħанизм":143432,"ĠÑģÑĥм":143433,"ĠÑģÑĥммÑĥ":143434,"Ġvö":143435,"Ġvöll":143436,"Ġvöllig":143437,"ĠдÑĢÑĥз":143438,"ĠдÑĢÑĥзÑĮÑı":143439,"ãĤĴåĪ©ç͍ãģĹãģ¦":143440,"à¸ļรรà¸Īุ":143441,"pożycz":143442,"×ŀש׼":143443,"×ŀ×©×Ľ×ł×ª":143444,"×ŀ×©×Ľ×ł×ª×IJ":143445,"Ġeuropéen":143446,"Ġproprié":143447,"Ġpropriétaire":143448,"Ġkhấu":143449,"ãģĦãģŁãģłãģijãĤĭ":143450,"Ġtecrü":143451,"Ġtecrübe":143452,"×Ķ×ij":143453,"×Ķ×ij׳×Ķ":143454,"ĠcuÌ":143455,"ĠcuÌī":143456,"ĠcuÌīa":143457,"×IJ×ķ×ķ":143458,"×IJ×ķ×ķ×Ļר×Ķ":143459,"Ġ׼×ķ׾×ķ":143460,"Ulus":143461,"Uluslararası":143462,"Ġ׳×ķת":143463,"Ġ׳×ķ×ª×Ł":143464,"ãģ«åIJij":143465,"ãģ«åIJijãģijãģ¦":143466,"ë¹Ľ":143467,"à¸Ĺัà¸ģษ":143468,"à¸Ĺัà¸ģษะ":143469,"سÙĤÙĪ":143470,"سÙĤÙĪØ·":143471,"Ġвн":143472,"ĠвнеÑĪ":143473,"ĠвнеÑĪне":143474,"Ġurz":143475,"ĠurzÄĻd":143476,"Ġámb":143477,"Ġámbito":143478,"à¸Ńà¸ĺิ":143479,"à¸Ńà¸ĺิà¸ļาย":143480,"ĠÅĤad":143481,"ĠÅĤadn":143482,"ê±´ì¶ķ":143483,"wództ":143484,"wództw":143485,"Ġquestões":143486,"Ġשק":143487,"Ġשק×Ļ×ij׾":143488,"ĠmiejscowoÅĽci":143489,"Ġвал":143490,"ĠвалÑİÑĤ":143491,"häuser":143492,"หà¸Ļà¸Ńà¸ĩ":143493,"ãģ¨åħ±":143494,"ãģ¨åħ±ãģ«":143495,"ãĥıãĥ¼ãĥī":143496,"Ġê°ľìµľ":143497,"ĠоÑģновном":143498,"ĠмÑıÑģ":143499,"اعت":143500,"اعتÙĤاÙĦ":143501,"สà¸ĸิ":143502,"สà¸ĸิà¸ķิ":143503,"Ngu":143504,"Nguá»ĵn":143505,"ĠÙħجÙĦ":143506,"ĠÙħجÙĦØ©":143507,"à¹ģà¸Ĥà¸Ļ":143508,"ĠاÙĦÙĦÙĬبÙĬ":143509,"פע×Ļ׾×ķ×Ļ×ķת":143510,"Ġ×Ķרפ×ķ×IJ×Ļ":143511,"פר×ķפ":143512,"פר×ķפ×Ļ׾":143513,"ק׾×IJ":143514,"ק׾×IJס×Ļ":143515,"ÙĥتشÙģ":143516,"ãģ«ãģªãģ£ãģ¦ãģĹãģ¾ãģĨ":143517,"à¹Ģà¸Ħลà¹ĩà¸Ķ":143518,"à¹Ģà¸Ħลà¹ĩà¸Ķลัà¸ļ":143519,"Ġì»´":143520,"Ġì»´íĵ¨":143521,"Ġì»´íĵ¨íĦ°":143522,"Ġ×Ĺ×Ļ×ķ×ij×Ļ":143523,"Ġnäm":143524,"Ġnämlich":143525,"åij¼ãģ°":143526,"åij¼ãģ°ãĤĮ":143527,"ĠÑĢол":143528,"ĠÑĢоли":143529,"Ġspécialisé":143530,"à¸Ļวัà¸ķ":143531,"à¸Ļวัà¸ķà¸ģรรม":143532,"ÙĨصÙĪØµ":143533,"пеÑĢед":143534,"пеÑĢедаÑĩ":143535,"thèque":143536,"Ġר×IJ×Ļת×Ļ":143537,"ãĥĢãĤ¦ãĥ³":143538,"ãĤıãģĭ":143539,"ãĤıãģĭãģ£ãģ¦":143540,"беÑĢеж":143541,"ĠÑģек":143542,"ĠÑģекÑĢ":143543,"ĠÑģекÑĢеÑĤ":143544,"ĠпоÑģÑĤоÑıнн":143545,"à¸Ĥà¸Ļสà¹Īà¸ĩ":143546,"Ġmük":143547,"Ġmükem":143548,"Ġmükemmel":143549,"еÑĤеÑģÑĮ":143550,"ĠاÙĦسÙĨÙĪØ§Øª":143551,"ĠìłĦíĺĢ":143552,"Ġ×Ķ×ŀ×§×ķר×Ļ":143553,"Ġmüd":143554,"Ġmüdah":143555,"Ġmüdahale":143556,"Ġwyb":143557,"Ġwybór":143558,"Ġtendência":143559,"إدار":143560,"إدارÙĬØ©":143561,"Ġunterstützen":143562,"ת×ijר":143563,"ת×ijרר":143564,"Ġdiá":143565,"Ġdiálogo":143566,"ĠÃĸnce":143567,"ĠÃĸnceki":143568,"ãĤ¹ãĥĿãĥĥãĥĪ":143569,"ëĦ£":143570,"ĠGeli":143571,"ĠGeliÅŁ":143572,"ãĤĴéĢļ":143573,"ãĤĴéĢļãģĹãģ¦":143574,"ĠFuÃŁball":143575,"Ġsalari":143576,"Ġsalarié":143577,"ĠпÑĢодÑĥкÑĤов":143578,"صÙģÙĤØ©":143579,"รวà¸ļ":143580,"รวà¸ļรวม":143581,"à¹ĥà¸Ļà¸IJาà¸Ļ":143582,"à¹ĥà¸Ļà¸IJาà¸Ļะ":143583,"Ġkayna":143584,"Ġkaynaģı":143585,"ĠìŀijíĴĪ":143586,"ĠвÑĭÑĢаж":143587,"ĠвÑĭÑĢажен":143588,"ĠÑģÑĤеп":143589,"ĠÑģÑĤепени":143590,"ĠاÙĦÙħÙĪØ¬ÙĪØ¯":143591,"ĠاÙĦÙħÙĪØ¬ÙĪØ¯Ø©":143592,"ลà¹īม":143593,"ĠnajczÄĻ":143594,"ĠnajczÄĻÅĽcie":143595,"ĠnajczÄĻÅĽciej":143596,"Ġzwy":143597,"Ġzwyk":143598,"ĠzwykÅĤ":143599,"Ġê·¸ëłĩì§Ģ":143600,"à¸ģระà¸Ī":143601,"à¸ģระà¸Īาย":143602,"Ġëĭµ":143603,"Ġëĭµë³Ģ":143604,"ĠÑĢеак":143605,"ĠÑĢеакÑĨи":143606,"ĠÅĽwież":143607,"ĠÑģÑĤоимоÑģÑĤи":143608,"ÙħÙĨاÙĤ":143609,"ÙħÙĨاÙĤØ´":143610,"ÙħÙĨاÙĤشة":143611,"ĠÑħоÑĩÑĥ":143612,"ãĥľãĥ¼ãĥī":143613,"Ġróżnic":143614,"ĠкÑĢÑĭ":143615,"ĠкÑĢÑĭÑĪ":143616,"âľĵ":143617,"ãĤ³ãĥ³ãĥĨãĥ³":143618,"ãĤ³ãĥ³ãĥĨãĥ³ãĥĦ":143619,"ĠпÑĢедпоÑĩ":143620,"×ŀר×ij×Ļת":143621,"ĠØ´Ùĥ":143622,"ĠØ´Ùĥرا":143623,"Ġдал":143624,"Ġдалек":143625,"Ġдалеко":143626,"برÙĬØ·":143627,"برÙĬطاÙĨÙĬا":143628,"عÙĨا":143629,"عÙĨاÙĬØ©":143630,"ĠÑĢаÑģÑģказ":143631,"ĠÑĢаÑģÑģказÑĭва":143632,"Ø£ÙĦÙĪ":143633,"Ø£ÙĦÙĪØ§ÙĨ":143634,"æĮģãģ£ãģ¦":143635,"æĮģãģ£ãģ¦ãģĦ":143636,"Ùħبادئ":143637,"×Ķ×¢×ijר":143638,"×Ķ×¢×ijרת":143639,"Ġyayı":143640,"Ġyayıml":143641,"Ġyayımla":143642,"mát":143643,"máticos":143644,"à¸ģัà¸ĩ":143645,"à¸ģัà¸ĩวล":143646,"Ġ×ľ×¤×ª":143647,"Ġ×ľ×¤×ª×ķ×Ĺ":143648,"à¸ŀฤà¸ķิ":143649,"à¸ŀฤà¸ķิà¸ģรรม":143650,"íĤ¬":143651,"ĠокÑĢÑĥг":143652,"Ġ×ŀצ×ķ×ķ×Ķ":143653,"ÐĽÐµÐ½Ð¸":143654,"ÐĽÐµÐ½Ð¸Ð½":143655,"ĠTriá»ģu":143656,"ãĤ³ãĥŁãĥ¥":143657,"ãĤ³ãĥŁãĥ¥ãĥĭ":143658,"ãĤ³ãĥŁãĥ¥ãĥĭãĤ±":143659,"ãĤ³ãĥŁãĥ¥ãĥĭãĤ±ãĥ¼ãĤ·ãĥ§ãĥ³":143660,"ÙĥÙĨÙĬ":143661,"ÙĥÙĨÙĬسة":143662,"ãĤĴä¸Ńå¿ĥ":143663,"ãĤĴä¸Ńå¿ĥãģ«":143664,"ĠmiÄĻdz":143665,"ĠmiÄĻdzyn":143666,"ĠmiÄĻdzynar":143667,"ĠmiÄĻdzynarod":143668,"ĠmiÄĻdzynarodow":143669,"ÙĦÙĨ":143670,"ÙĦÙĨدا":143671,"برش":143672,"برشÙĦÙĪÙĨ":143673,"برشÙĦÙĪÙĨØ©":143674,"à¸ģระà¸ķุ":143675,"à¸ģระà¸ķุà¹īà¸Ļ":143676,"Ġgı":143677,"Ġgıda":143678,"à¸Ľà¸£à¸°à¸Ĺัà¸ļ":143679,"à¸Ľà¸£à¸°à¸Ĺัà¸ļà¹ĥà¸Ī":143680,"Ġë¶Ī구":143681,"Ġë¶Ī구íķĺê³ł":143682,"ĠÙĨØ·":143683,"ĠÙĨطاÙĤ":143684,"ĠÐľÐ¾Ð¶ÐµÑĤ":143685,"Präs":143686,"Präsident":143687,"ĠÑģкоÑĢ":143688,"ĠÑģкоÑĢоÑģÑĤÑĮ":143689,"Ġ×Ķ×ij×ķקר":143690,"еÑħаÑĤÑĮ":143691,"Ġgạo":143692,"Ġש×IJ×Ļ׳×Ŀ":143693,"Ġ×ij׳×ķ×Ĵ":143694,"Ġ×ij׳×ķ×Ĵ×¢":143695,"ĠопиÑģание":143696,"Ġuczni":143697,"Ġuczniów":143698,"à¹Ģà¸Ńà¹ĩà¸Ļ":143699,"Ġتش":143700,"ĠتشرÙĬÙĨ":143701,"Ġnhãn":143702,"빨":143703,"Ġcaractère":143704,"×¢×ľ×Ļ":143705,"×¢×ľ×Ļ×Ļ×Ķ":143706,"楽ãģĹãĤģãĤĭ":143707,"ĠÑģаÑħ":143708,"ĠÑģаÑħаÑĢ":143709,"дÑĥмаÑĤÑĮ":143710,"ĠÐĴозможно":143711,"صÙĬاÙĨ":143712,"صÙĬاÙĨØ©":143713,"ömür":143714,"สล":143715,"สลà¹ĩ":143716,"สลà¹ĩà¸Ń":143717,"สลà¹ĩà¸Ńà¸ķ":143718,"롯":143719,"Ġthói":143720,"grÃ¶ÃŁe":143721,"ĠksiÄĻ":143722,"ĠksiÄĻg":143723,"ĠÑĢом":143724,"ĠÑĢоман":143725,"ÙĤاسÙħ":143726,"×ŀ×ij×ķ×Ĵ":143727,"×ŀ×ij×ķ×Ĵר×Ļ×Ŀ":143728,"besch":143729,"beschäft":143730,"beschäftig":143731,"×Ķצע×Ķ":143732,"ĠÃģrea":143733,"ĠзаÑıвк":143734,"Ĺ":143735,"ĠлÑİбого":143736,"Ġม":143737,"Ġมà¸ģร":143738,"Ġมà¸ģราà¸Ħม":143739,"ÑĦиз":143740,"ÑĦизиÑĩеÑģк":143741,"инÑĦ":143742,"инÑĦек":143743,"инÑĦекÑĨи":143744,"اÙĦØ·":143745,"اÙĦطائÙģ":143746,"Ġколл":143747,"ĠколлекÑĤив":143748,"езжа":143749,"ĠسبØŃ":143750,"ĠسبØŃاÙĨ":143751,"ĠسبØŃاÙĨÙĩ":143752,"schlä":143753,"schläge":143754,"Ġди":143755,"Ġдиаг":143756,"ĠдиагноÑģÑĤ":143757,"ĠоÑĤмеÑĤиÑĤÑĮ":143758,"ТЬ":143759,"ĠاÙĦدر":143760,"ĠاÙĦدراسÙĬ":143761,"עצ×ŀ":143762,"עצ×ŀ×IJ×ķת":143763,"Ġdémarch":143764,"Ġdémarche":143765,"Ġ×ĺ×ķ×¢":143766,"Ġ×ĺ×ķ×¢×Ł":143767,"Ġfuncionários":143768,"ỵ":143769,"׾׼×IJ":143770,"׾׼×IJ×ķר×Ķ":143771,"à¸ĭà¹Ī":143772,"à¸ĭà¹Īà¸Ńม":143773,"ĠÑĩÑĥв":143774,"ĠÑĩÑĥвÑģÑĤво":143775,"âĸ¼":143776,"пÑĥÑī":143777,"пÑĥÑīен":143778,"ĠмеÑĢ":143779,"ĠмеÑĢоп":143780,"ĠмеÑĢопÑĢи":143781,"ĠмеÑĢопÑĢиÑıÑĤиÑı":143782,"Ġuçu":143783,"ĠuçuÅŁ":143784,"ãĤĴåĪ©ç͍ãģĻãĤĭ":143785,"aÄŁ":143786,"aÄŁlı":143787,"ìĺĪìĪł":143788,"à¹ģยà¹Ī":143789,"ĠاÙĦÙĥÙħ":143790,"ĠاÙĦÙĥÙħبÙĬ":143791,"ĠاÙĦÙĥÙħبÙĬÙĪØªØ±":143792,"تÙĪÙĬ":143793,"تÙĪÙĬتر":143794,"à¹Ģà¸Ĭีà¹Īยว":143795,"à¹Ģà¸Ĭีà¹Īยวà¸Ĭา":143796,"à¹Ģà¸Ĭีà¹Īยวà¸Ĭาà¸į":143797,"á»Ķ":143798,"Ġhiếm":143799,"ذاÙĥرة":143800,"Ġ×Ķ×ŀ×Ļ×ķ×Ĺ×ĵ":143801,"ĠìĪľ":143802,"ĠìĪľê°Ħ":143803,"ĠKı":143804,"ĠKısa":143805,"ĠgeleceÄŁi":143806,"пÑĢоÑĦеÑģÑģиона":143807,"пÑĢоÑĦеÑģÑģионал":143808,"Ġogó":143809,"Ġogóle":143810,"ĠgÅĤów":143811,"ĠgÅĤówne":143812,"ĠÑģÑĤилÑĮ":143813,"×IJפ׾":143814,"×IJפ׾×Ļ×§":143815,"×IJפ׾×Ļקצ×Ļ×Ķ":143816,"สมารà¹Į":143817,"สมารà¹Įà¸Ĺ":143818,"สมารà¹Įà¸Ĺà¹Ĥà¸Ł":143819,"สมารà¹Įà¸Ĺà¹Ĥà¸Łà¸Ļ":143820,"Ġthánh":143821,"ÐŁÐ¾Ð´":143822,"ÐŁÐ¾Ð´ÑĢоб":143823,"ÐŁÐ¾Ð´ÑĢобнее":143824,"ĠاÙĦتÙĪÙĨ":143825,"ĠاÙĦتÙĪÙĨسÙĬ":143826,"Ġbahçe":143827,"à¹ģà¸ģà¹īà¸Ľà¸±à¸įหา":143828,"éducation":143829,"europ":143830,"europä":143831,"europäische":143832,"ĠKsi":143833,"ĠKsiÄĻ":143834,"ĠëĦĺ":143835,"ĠëĦĺìĸ´":143836,"Ġvüc":143837,"Ġvücud":143838,"Ġyayg":143839,"Ġyaygın":143840,"Ġniekt":143841,"Ġniektóry":143842,"Ġniektórych":143843,"ãģŃãģĩ":143844,"Ġкаж":143845,"ĠкажеÑĤÑģÑı":143846,"каж":143847,"кажеÑĤ":143848,"ĠاÙĦدÙĬÙħÙĤرا":143849,"ĠاÙĦدÙĬÙħÙĤراط":143850,"ĠاÙĦدÙĬÙħÙĤراطÙĬØ©":143851,"æŃ©":143852,"æŃ©ãģĦãģ¦":143853,"Ġvaz":143854,"Ġvazge":143855,"Ġvazgeç":143856,"ĠминималÑĮ":143857,"ĠминималÑĮн":143858,"ãĥijãĤ¿":143859,"ãĥijãĤ¿ãĥ¼ãĥ³":143860,"ĠëĬ":143861,"ĠëĬIJ":143862,"ĠëĬIJëĤĮ":143863,"ãģ¡ãĤĩãģĨ":143864,"ãģ¡ãĤĩãģĨãģ©":143865,"Ġà¸ģร":143866,"Ġà¸ģรà¸ģà¸İ":143867,"Ġà¸ģรà¸ģà¸İาà¸Ħม":143868,"تجدÙĬد":143869,"ĠشاÙħÙĦ":143870,"หลัà¸ģà¸IJาà¸Ļ":143871,"ĠмаÑĢÑĪ":143872,"ĠмаÑĢÑĪÑĢÑĥÑĤ":143873,"ĠvÃŃt":143874,"ĠvÃŃtima":143875,"Ġquizá":143876,"aygı":143877,"×ĵ×ijר×Ļ×ķ":143878,"Ġизд":143879,"Ġиздели":143880,"ĠизделиÑı":143881,"пла":143882,"плаÑĩ":143883,"плаÑĩива":143884,"ä»»ãģĽ":143885,"Ġéquipé":143886,"ä¹ħãģĹãģ":143887,"ä¹ħãģĹãģ¶":143888,"ä¹ħãģĹãģ¶ãĤĬ":143889,"ĠкаÑĤ":143890,"ĠкаÑĤал":143891,"ĠкаÑĤалог":143892,"สà¹īม":143893,"ĠÑĢей":143894,"ĠÑĢейÑĤ":143895,"ĠÑĢейÑĤинг":143896,"Ġthuyá»ģn":143897,"ĠاÙĦÙħÙĤدس":143898,"espère":143899,"ãģ«åħ¥ãģ£ãģŁ":143900,"หมายà¹Ģลà¸Ĥ":143901,"ת×Ĺ×ķשת":143902,"à¸Ļà¹Īะ":143903,"ĠpeÅĤ":143904,"ĠpeÅĤne":143905,"Ġpérd":143906,"Ġpérdida":143907,"หมวà¸Ķ":143908,"หมวà¸Ķหมูà¹Ī":143909,"иÑĩеÑģкÑĥÑİ":143910,"çµĤãĤı":143911,"çµĤãĤıãģ£ãģŁ":143912,"Ġ×Ĵ×ķ×Ĵ׾":143913,"à¸Ĺำà¸Ħวาม":143914,"à¸Ĺำà¸Ħวามสะà¸Ńาà¸Ķ":143915,"Hotéis":143916,"ĠзаÑĢ":143917,"ĠзаÑĢегиÑģÑĤ":143918,"ĠзаÑĢегиÑģÑĤÑĢи":143919,"ĠзаÑĢегиÑģÑĤÑĢиÑĢова":143920,"ĠÑģобÑĭÑĤи":143921,"ĠÑģобÑĭÑĤиÑı":143922,"Ġ×ĸ׼×IJ":143923,"ÙħÙĨظÙĪÙħØ©":143924,"Ġ×Ķ×ŀצ":143925,"Ġ×Ķ×ŀצ×Ļ×IJ×ķת":143926,"ÙħÙĥÙĪÙĨ":143927,"ÙħÙĥÙĪÙĨات":143928,"ä¸ĬãģĮãĤĭ":143929,"ĠmÄĻ":143930,"ĠmÄĻsk":143931,"หรืà¸Ńà¹Ģà¸Ľà¸¥à¹Īา":143932,"ëĤ®":143933,"Ġnoktas":143934,"Ġnoktası":143935,"ĠболÑĮÑĪим":143936,"ĠлÑĥÑĩÑĪиÑħ":143937,"Ø´ÙĩÙĬد":143938,"à¸Ńำà¸Ļ":143939,"à¸Ńำà¸Ļวย":143940,"à¸Ńำà¸Ļวยà¸Ħวาม":143941,"à¸Ńำà¸Ļวยà¸Ħวามสะà¸Ķวà¸ģ":143942,"Ġев":143943,"ĠевÑĢ":143944,"ĠевÑĢоп":143945,"ĠевÑĢопей":143946,"à¸īาย":143947,"ìĦŃ":143948,"ÙħÙ쨧":143949,"ÙħÙ쨧ÙĪØ¶":143950,"ÙħÙ쨧ÙĪØ¶Ø§Øª":143951,"ë¹Į":143952,"赤ãģ¡ãĤĥãĤĵ":143953,"ĠÑĥдалоÑģÑĮ":143954,"ĠХоÑĤ":143955,"ĠХоÑĤÑı":143956,"przedsiÄĻbiorc":143957,"ĠHôm":143958,"íķĺìĺĢìĬµëĭĪëĭ¤":143959,"Ġнаг":143960,"ĠнагÑĢÑĥз":143961,"ĠнагÑĢÑĥзк":143962,"Ġ×ij×Ļ׳׾×IJ×ķ×ŀ×Ļ":143963,"Ġê°ĢëĬ¥íķľ":143964,"ĠHữu":143965,"à¸Ńุà¸Ķ":143966,"à¸Ńุà¸Ķม":143967,"ת×ķפ":143968,"ת×ķפע×Ķ":143969,"ĠmiÅĤo":143970,"ĠmiÅĤoÅĽci":143971,"ksiÄħż":143972,"ksiÄħżka":143973,"ĠاÙĦÙĦعبة":143974,"à¸īาà¸ģ":143975,"สะสม":143976,"×ŀתר":143977,"×ŀתר×Ĺש":143978,"Ġlégère":143979,"Ġ׾צפ":143980,"Ġ׾צפ×Ļ×Ķ":143981,"ĠиÑģÑĤоÑĢиÑı":143982,"ĠãĥĪãĥ©":143983,"ĠãĥĪãĥ©ãĥĥãĤ¯":143984,"ĠãĥĪãĥ©ãĥĥãĤ¯ãĥIJãĥĥãĤ¯":143985,"Ġка":143986,"ĠкаÑĦе":143987,"×ŀס×ŀ×ļ":143988,"Ġcüm":143989,"Ġcümle":143990,"à¹Ģà¸Ħลืà¹Īà¸Ńà¸Ļà¹Ħหว":143991,"ãģĬãģĿ":143992,"ãģĬãģĿãĤīãģı":143993,"ìŀIJëıĻ":143994,"ìŀIJëıĻì°¨":143995,"à¸Ńัà¸ķ":143996,"à¸Ńัà¸ķà¹Ĥà¸Ļ":143997,"à¸Ńัà¸ķà¹Ĥà¸Ļมั":143998,"à¸Ńัà¸ķà¹Ĥà¸Ļมัà¸ķิ":143999,"ĠÅŁik":144000,"ĠÅŁikay":144001,"ĠÅŁikayet":144002,"extrême":144003,"krä":144004,"kräfte":144005,"ëĤĻ":144006,"íķij":144007,"ì²Ļ":144008,"íĺĪ":144009,"ì°į":144010,"âĻ¡":144011,"ìŀĶ":144012,"뢰":144013,"íĿĶ":144014,"íĿIJ":144015,"âĩĴ":144016,"ë§Ľ":144017,"ìĬĪ":144018,"á»Ĵ":144019,"ìĺµ":144020,"âĹİ":144021,"íĤ¨":144022,"ê¿Ī":144023,"ì΍":144024,"ìĽ¨":144025,"ë§¥":144026,"ï½Ģ":144027,"J":144028,"Ẩ":144029,"ãħİ":144030,"ÑĹ":144031,"ìĦ¬":144032,"ì¹¼":144033,"ï¼¶":144034,"ìĽł":144035,"룴":144036,"Åĥ":144037,"ëĤ¼":144038,"ëĭIJ":144039,"â̹":144040,"ë¦Ń":144041,"ì§IJ":144042,"â̤":144043,"Ãħ":144044,"뾨":144045,"íĦ¸":144046,"íľĺ":144047,"ê²ģ":144048,"ë´ħ":144049,"Ãĺ":144050,"ëŃĶ":144051,"ëĺij":144052,"âĹĩ":144053,"ìĹĺ":144054,"ï»´":144055,"ë§¹":144056,"ï¾Ŀ":144057,"ìĬ·":144058,"íĥķ":144059,"ï¼ł":144060,"ì»´":144061,"ëłĮ":144062,"ì½ľ":144063,"ﻹ":144064,"ãħł":144065,"졸":144066,"ëħ¹":144067,"âĤº":144068,"âĸ¶":144069,"íĥIJ":144070,"êµ´":144071,"íij¸":144072,"ÑĶ":144073,"íͽ":144074,"Ðħ":144075,"ë°¤":144076,"Ôģ":144077,"첨":144078,"ì¶ĺ":144079,"ë²Ĺ":144080,"멸":144081,"ï¼»":144082,"ï¼½":144083,"ï¼·":144084,"ì°Į":144085,"ÃĴ":144086,"íı´":144087,"ìĵ¸":144088,"ì´Į":144089,"ëģĶ":144090,"ëĶ©":144091,"ëĩĮ":144092,"ë©Ģ":144093,"벨":144094,"ï¼µ":144095,"ë§¡":144096,"ëĭ«":144097,"฿":144098,"ãģ±":144099,"ìĩ¼":144100,"ìºł":144101,"뮤":144102,"ê±±":144103,"컬":144104,"âĦĥ":144105,"ëͱ":144106,"ëĥĪ":144107,"ìĭ±":144108,"íĻĪ":144109,"ëŀIJ":144110,"ìħĢ":144111,"ìłł":144112,"ÐĨ":144113,"ëłī":144114,"ï½ħ":144115,"ï½ı":144116,"íĻĢ":144117,"뼰":144118,"á»®":144119,"íĤ¹":144120,"ê½ĥ":144121,"ﻤ":144122,"ïºĶ":144123,"꺼":144124,"ìķī":144125,"âϦ":144126,"ï½ģ":144127,"ìĵ´":144128,"ãĢī":144129,"ì°®":144130,"ì¤ĺ":144131,"Ừ":144132,"ëģĦ":144133,"ëIJ¨":144134,"ìķĮ":144135,"íĿĺ":144136,"íħIJ":144137,"ãĢĪ":144138,"겪":144139,"ëĭ¥":144140,"ê²¼":144141,"á»Į":144142,"맨":144143,"ëģĬ":144144,"벤":144145,"ëijĶ":144146,"íĿ¡":144147,"Ử":144148,"ë¬ĺ":144149,"ãģī":144150,"ëŀ«":144151,"íĶĪ":144152,"íħį":144153,"ìŀĥ":144154,"ï½ī":144155,"ìģľ":144156,"âĸ½":144157,"묻":144158,"âĸ³":144159,"X":144160,"ìģĺ":144161,"ì¶°":144162,"ìĬ´":144163,"ìķ±":144164,"ìĩĦ":144165,"Ắ":144166,"ï´¿":144167,"ï´¾":144168,"âĤ½":144169,"ëĦĵ":144170,"룩":144171,"쳤":144172,"ê´ľ":144173,"ÃĻ":144174,"Ỿ":144175,"ï¿£":144176,"ëĵŃ":144177,"ë©ĺ":144178,"ê»´":144179,"ëł´":144180,"Ðĥ":144181,"묵":144182,"ì§Ŀ":144183,"ãģº":144184,"ðŁĺĤ":144185,"ëŀ¬":144186,"ìłĬ":144187,"ê´Ħ":144188,"ìŀĬ":144189,"íŀĮ":144190,"ìĦ¯":144191,"âĪĢ":144192,"âĸ¡":144193,"ëĢĮ":144194,"ëŀĻ":144195,"ï½ĥ":144196,"Ặ":144197,"ï¾Ħ":144198,"ïºĺ":144199,"ë¹¼":144200,"ÃĮ":144201,"âĸ·":144202,"ê¸į":144203,"ë©ĭ":144204,"ãģĥ":144205,"ìĺĨ":144206,"ìĺ®":144207,"몬":144208,"롤":144209,"볬":144210,"ëĬ¦":144211,"âĸª":144212,"ì¼ĵ":144213,"ìľĪ":144214,"ì§§":144215,"ï½½":144216,"ëĥī":144217,"ï¾Į":144218,"ëĺIJ":144219,"ï¼ĥ":144220,"á»Ħ":144221,"ì´¬":144222,"춤":144223,"ï¼¹":144224,"ï»Ń":144225,"âĤ«":144226,"ï½ĩ":144227,"ìĺ·":144228,"ëĸ¨":144229,"âī«":144230,"릿":144231,"⾨":144232,"Ù±":144233,"쯤":144234,"ê¹Ķ":144235,"ðŁĺĬ":144236,"ìĪ«":144237,"ê³±":144238,"êµ³":144239,"ï½ĭ":144240,"à¸Į":144241,"Äł":144242,"ë͏":144243,"ë°ij":144244,"ìħĭ":144245,"íİ´":144246,"âľħ":144247,"íĥij":144248,"ëĪĩ":144249,"íı¼":144250,"ðŁĺį":144251,"ìĺĽ":144252,"ﻣ":144253,"Ñĺ":144254,"ì©Į":144255,"ë¦ħ":144256,"ìĿį":144257,"ク":144258,"ëįľ":144259,"ãģħ":144260,"íݼ":144261,"ëĭĿ":144262,"ë¿Į":144263,"ì¼°":144264,"ìĭ«":144265,"ë°¥":144266,"íĽĮ":144267,"ì¨Į":144268,"ë¹Ļ":144269,"ï½İ":144270,"ë´Ħ":144271,"ìĦ¹":144272,"ï½²":144273,"ìĮĵ":144274,"Òij":144275,"ë°į":144276,"ëłĢ":144277,"íĨ¤":144278,"ッ":144279,"ë¤Ħ":144280,"꽤":144281,"ï½Ĵ":144282,"ìķ¨":144283,"ï½¼":144284,"ê¹IJ":144285,"íģIJ":144286,"âĦĸ":144287,"맺":144288,"ﺮ":144289,"ëħģ":144290,"겸":144291,"ï»ł":144292,"íĬľ":144293,"Ź":144294,"ë¥Ń":144295,"ëĪī":144296,"ï½Ķ":144297,"íĮ¬":144298,"ìŀĩ":144299,"ï¬ģ":144300,"ﻨ":144301,"ëij¥":144302,"ëŀĦ":144303,"Ù¬":144304,"íĭ´":144305,"ìŀī":144306,"Ú¾":144307,"ìĽħ":144308,"ï»®":144309,"ëĭī":144310,"âīª":144311,"âĹĦ":144312,"ëĪĮ":144313,"íĽ¼":144314,"ì¤į":144315,"Ÿ":144316,"줬":144317,"ì¾Į":144318,"ï½ĵ":144319,"ï¾Ĭ":144320,"ðŁı»":144321,"ï¾ī":144322,"Ðģ":144323,"íĺIJ":144324,"ï¾Ļ":144325,"꼬":144326,"íŀIJ":144327,"âĢ¥":144328,"ëŁŃ":144329,"ë§ŀ":144330,"ìĥ¤":144331,"ïºĴ":144332,"íĭ±":144333,"ë½ij":144334,"Ãķ":144335,"âĪļ":144336,"ëĤĦ":144337,"ê¹Ŀ":144338,"ëĨĪ":144339,"Ẻ":144340,"ìħĪ":144341,"ìĮį":144342,"âĢ¡":144343,"ï¼±":144344,"ìģ¨":144345,"âĺº":144346,"ëĴ·":144347,"ìĺ³":144348,"ðŁijį":144349,"몽":144350,"ëĤŃ":144351,"ïºŃ":144352,"ë©Ī":144353,"á»Ī":144354,"íķĢ":144355,"ëĭĻ":144356,"ë¦ĩ":144357,"ìķ¤":144358,"ìį¼":144359,"ãĥµ":144360,"Ñ£":144361,"ìľĹ":144362,"âŃIJ":144363,"ï¾ĺ":144364,"íŬ":144365,"ê¾¼":144366,"ìķĹ":144367,"ï»Į":144368,"ê±·":144369,"ëħķ":144370,"롱":144371,"ìķĬ":144372,"ï¾Ģ":144373,"ìĩł":144374,"íĮ©":144375,"ﺪ":144376,"ë§Ļ":144377,"_":144378,"ê¿Ķ":144379,"íİľ":144380,"룸":144381,"íĶĶ":144382,"ﻳ":144383,"ëıķ":144384,"ìĭ¼":144385,"á»İ":144386,"ë§ĺ":144387,"ì¢ĭ":144388,"íĨ¡":144389,"ï½±":144390,"íĿij":144391,"Ỹ":144392,"ì¦Į":144393,"칸":144394,"ëŃĺ":144395,"ï¾Ĺ":144396,"ï»ĭ":144397,"íĬĢ":144398,"ë¥Ļ":144399,"콩":144400,"ëģĹ":144401,"ëį´":144402,"ìħľ":144403,"¸":144404,"ë»IJ":144405,"ìĥµ":144406,"ê²IJ":144407,"ëĵ¬":144408,"룰":144409,"ãħĭ":144410,"ìĹī":144411,"á»ĸ":144412,"ëĦĮ":144413,"ï½¶":144414,"ë´ĩ":144415,"ëĤ³":144416,"ãĤľ":144417,"ëĸ»":144418,"íİĢ":144419,"ëį©":144420,"íķ¸":144421,"÷":144422,"ê¼¼":144423,"ëĶľ":144424,"ë°´":144425,"ë©į":144426,"âĹ¯":144427,"ìĹij":144428,"ìϼ":144429,"ïºij":144430,"ë¶ķ":144431,"롬":144432,"ï½Į":144433,"íĨ¨":144434,"ﺴ":144435,"ëłĺ":144436,"ê°¤":144437,"ìβ":144438,"Ñĵ":144439,"ìħī":144440,"ï»ĵ":144441,"ëĪĶ":144442,"ëį§":144443,"â̼":144444,"ﻲ":144445,"ê°±":144446,"ê¿Ģ":144447,"ëĭ·":144448,"Ẹ":144449,"Ẫ":144450,"ÆĴ":144451,"ëį¤":144452,"ìĪŃ":144453,"ï½Ĥ":144454,"ï½Ī":144455,"Åł":144456,"룬":144457,"ѵ":144458,"ëĸ¡":144459,"ëĥĦ":144460,"ìĦ°":144461,"ëĵĪ":144462,"ï¾ĥ":144463,"ëĩ¨":144464,"ï½IJ":144465,"êµ½":144466,"ìĹ½":144467,"ëĤĢ":144468,"묶":144469,"ï½·":144470,"ìıŁ":144471,"íĺĶ":144472,"ê¼Ī":144473,"ëģĪ":144474,"ì¥IJ":144475,"ïºĹ":144476,"ÄĮ":144477,"ëĪł":144478,"ëĸ¼":144479,"íĢ´":144480,"âī¥":144481,"ëĭŃ":144482,"ì±Ļ":144483,"ê»ı":144484,"멤":144485,"ìĥĺ":144486,"ëį®":144487,"룡":144488,"ìĤ½":144489,"ãĪľ":144490,"Ĩ":144491,"â̧":144492,"コ":144493,"Ä£":144494,"ì¦ī":144495,"ï¼¼":144496,"Û©":144497,"âĪĻ":144498,"ë°ı":144499,"ë¹ħ":144500,"ðŁĺĽ":144501,"íĪ´":144502,"ðŁĴķ":144503,"ãĢĴ":144504,"ìŀĺ":144505,"ﺤ":144506,"ï½ĸ":144507,"멾":144508,"ë²¼":144509,"ëĿĦ":144510,"ëļľ":144511,"ï»ĺ":144512,"ìĥĮ":144513,"ï½Ħ":144514,"ì©Ķ":144515,"ï½Ļ":144516,"ﺩ":144517,"Ûŀ":144518,"âĺİ":144519,"ìł¤":144520,"ëIJ©":144521,"ÅĿ":144522,"âŀ¡":144523,"ï»§":144524,"Ðı":144525,"ì«ĵ":144526,"ê³½":144527,"Éij":144528,"ãĥ²":144529,"ëĤ«":144530,"ë¦ī":144531,"ì¢ģ":144532,"ë°Ń":144533,"ðŁĺģ":144534,"ë¹µ":144535,"첩":144536,"컵":144537,"ðŁĺĺ":144538,"ë±ħ":144539,"âīĪ":144540,"ë¹ļ":144541,"ï»ľ":144542,"ðŁĻı":144543,"íģ°":144544,"ìĦŀ":144545,"ï¾ļ":144546,"ìĺ¹":144547,"ë¼Ī":144548,"ëĤ¯":144549,"ëŀ©":144550,"íļ¡":144551,"ï½ķ":144552,"íĥĵ":144553,"ëĿł":144554,"ê³ģ":144555,"ëĵĢ":144556,"ìĹł":144557,"Z":144558,"ë§ij":144559,"ëĭ¿":144560,"쿨":144561,"ãİ¡":144562,"ÐĬ":144563,"íĦ±":144564,"Ũ":144565,"ﺳ":144566,"ï¾ı":144567,"âĭħ":144568,"ê¼´":144569,"âī¤":144570,"íĮģ":144571,"Ω":144572,"궤":144573,"ìĪį":144574,"âľ¿":144575,"콤":144576,"ëĪħ":144577,"íĨ±":144578,"ãħľ":144579,"áIJħ":144580,"ÅĴ":144581,"ðŁijī":144582,"ﻦ":144583,"Ъ":144584,"ë¥ľ":144585,"íķ«":144586,"ï¾ĭ":144587,"âĻ«":144588,"ê¹ľ":144589,"ë°¸":144590,"ëĶĺ":144591,"íĿī":144592,"ï¾ģ":144593,"ï¾Ľ":144594,"볼":144595,"ê²¹":144596,"쿼":144597,"ﻬ":144598,"âŀ¤":144599,"ðŁĻģ":144600,"ïºł":144601,"ëĨ¨":144602,"믹":144603,"ê¸ĭ":144604,"ë»Ķ":144605,"ê¹ĥ":144606,"ëijij":144607,"íĭ¸":144608,"íİĻ":144609,"âŀĸ":144610,"ãĥ½":144611,"ì§ļ":144612,"ャ":144613,"ﻥ":144614,"íĮ½":144615,"âĢĴ":144616,"ìĮĢ":144617,"ìŃī":144618,"ëļ±":144619,"ãĤŀ":144620,"íĭĪ":144621,"ãĤIJ":144622,"ëīĺ":144623,"Σ":144624,"ê³°":144625,"ë¹Ĺ":144626,"ï¾İ":144627,"ðŁĺŃ":144628,"íĿł":144629,"ìĹ¿":144630,"ê°ļ":144631,"ì¤Į":144632,"ë§µ":144633,"ï½³":144634,"ãģ¢":144635,"ï»Ĺ":144636,"âī¦":144637,"Ú¤":144638,"ëłģ":144639,"ê¼½":144640,"ﻫ":144641,"âī§":144642,"ì´Ľ":144643,"ìłĿ":144644,"Ằ":144645,"âĻ£":144646,"ìºĺ":144647,"âĪĩ":144648,"ê²ī":144649,"ë°Ł":144650,"ï»Ķ":144651,"íĸĩ":144652,"âĸĴ":144653,"ðŁijı":144654,"Ãŀ":144655,"ðŁĺĨ":144656,"ﺼ":144657,"âĿĹ":144658,"ìºĶ":144659,"칩":144660,"ëĸ¤":144661,"ëĥħ":144662,"âĶľ":144663,"ï½»":144664,"ÎĶ":144665,"áĥ¦":144666,"ìŀİ":144667,"âĺĢ":144668,"âμ":144669,"ðŁĶ¥":144670,"ë°Į":144671,"ìłĸ":144672,"íĹĽ":144673,"Îķ":144674,"ïºĥ":144675,"ë¶ī":144676,"âĪŀ":144677,"íĥŃ":144678,"Ãĭ":144679,"âģĦ":144680,"ãħĩ":144681,"ëĦ¥":144682,"ëĭ®":144683,"ëł·":144684,"íĮĿ":144685,"캡":144686,"ë·Ķ":144687,"ì©į":144688,"íĤ´":144689,"ëļ«":144690,"âĵĴ":144691,"íķį":144692,"âĻĤ":144693,"ï¾Ĩ":144694,"âĨ©":144695,"ìį©":144696,"ïºķ":144697,"íĿĻ":144698,"Ñľ":144699,"íĤ·":144700,"íĿ°":144701,"íĥ±":144702,"ëķIJ":144703,"ï¾Ĵ":144704,"×ĥ":144705,"ëĮĦ":144706,"ìĺ´":144707,"ìķµ":144708,"ê¹¥":144709,"ëŀŃ":144710,"쪼":144711,"ãİĿ":144712,"ðŁĺħ":144713,"ëıĭ":144714,"몫":144715,"ﺸ":144716,"뮬":144717,"ë²ħ":144718,"ëijł":144719,"ìħ°":144720,"ì»·":144721,"ëĶª":144722,"ëħĶ":144723,"ãħ¡":144724,"ìĶ»":144725,"íķı":144726,"ëį±":144727,"ﺨ":144728,"ï¾į":144729,"ï½µ":144730,"ì¢Ģ":144731,"íİĮ":144732,"ï»°":144733,"ﺣ":144734,"Æ£":144735,"ðŁ¤£":144736,"ï·º":144737,"ëĤļ":144738,"âĭĨ":144739,"ë³į":144740,"ðŁĺĦ":144741,"ìĸĢ":144742,"ìĻł":144743,"ëĨĶ":144744,"íŨ":144745,"ï»Ľ":144746,"ï»Ŀ":144747,"á»¶":144748,"ìĸĺ":144749,"ìİĦ":144750,"ÚĨ":144751,"ï»ŀ":144752,"ëĢIJ":144753,"ê²Ķ":144754,"ﻵ":144755,"âŦ":144756,"íļŁ":144757,"ê¹ģ":144758,"ê°ĵ":144759,"ëĶ´":144760,"ìıĺ":144761,"ëļĿ":144762,"ỳ":144763,"ëŀ´":144764,"ëĦī":144765,"âĺŀ":144766,"ï½ĺ":144767,"Ž":144768,"ë¦İ":144769,"âĸ¬":144770,"ëŃī":144771,"âĩĽ":144772,"ìį¬":144773,"ïºŁ":144774,"Ëľ":144775,"ë¶ĵ":144776,"ìĽ°":144777,"Åľ":144778,"ëŃĩ":144779,"Ỳ":144780,"Ëļ":144781,"ëķĢ":144782,"âĺij":144783,"ðŁı¼":144784,"ìĸ½":144785,"âĮĴ":144786,"Ðİ":144787,"ɾ":144788,"íĮ¡":144789,"ï¾ħ":144790,"ìŀŃ":144791,"ィ":144792,"칫":144793,"ìľĮ":144794,"ÒĽ":144795,"굿":144796,"ëĭ¦":144797,"âĶĶ":144798,"ï¾ij":144799,"ì§ĸ":144800,"ìºĦ":144801,"ãĢĥ":144802,"ʼ":144803,"ê²Ł":144804,"ï½§":144805,"Ä¢":144806,"íİł":144807,"ë§·":144808,"ê°ĩ":144809,"ìĭ¹":144810,"ðŁĴ¦":144811,"ï¾ľ":144812,"ëĬĻ":144813,"벡":144814,"Å¿":144815,"ðŁĺĭ":144816,"ðŁĴª":144817,"ì¿Ħ":144818,"ë©ķ":144819,"ìѤ":144820,"ëĬĦ":144821,"ðŁĮ¸":144822,"ãĤĿ":144823,"Çİ":144824,"ï½ļ":144825,"ÄĹ":144826,"ëģĵ":144827,"ê¶IJ":144828,"áµī":144829,"ãĥĤ":144830,"ê»į":144831,"ðŁĺ¦":144832,"ãĢĿ":144833,"ð٤Ĺ":144834,"ÑŁ":144835,"ìĹİ":144836,"âľĮ":144837,"ìīIJ":144838,"ÃĨ":144839,"íĹIJ":144840,"ðŁİī":144841,"Îij":144842,"ï½Ń":144843,"ðŁĴĻ":144844,"ìĽ¬":144845,"íĢĺ":144846,"ﻢ":144847,"ðŁĺİ":144848,"íij¼":144849,"íĿ©":144850,"ï»Ħ":144851,"íħĢ":144852,"ëłIJ":144853,"쥬":144854,"Ðĭ":144855,"ìĥ·":144856,"뾬":144857,"ðŁĺĥ":144858,"ëĦ¬":144859,"륨":144860,"ìĽį":144861,"ï½Ĩ":144862,"ï½´":144863,"ãĥħ":144864,"Ãı":144865,"ﻪ":144866,"âĻł":144867,"ëĬ¬":144868,"ë±Ģ":144869,"ë°ĭ":144870,"ìĥĢ":144871,"ï½¾":144872,"ëĤ±":144873,"컸":144874,"ðŁĴĸ":144875,"ðŁijĮ":144876,"Ñŀ":144877,"ì§±":144878,"ËĨ":144879,"ðŁĵļ":144880,"âŃķ":144881,"ï¬Ĥ":144882,"ﻡ":144883,"ëij¬":144884,"íμ":144885,"âĸ¸":144886,"ê°¯":144887,"ê¹ħ":144888,"ï½®":144889,"ëĺ¥":144890,"Ä¡":144891,"íĮŁ":144892,"ÐĮ":144893,"ìĨŁ":144894,"ïºĵ":144895,"ﻼ":144896,"ÃĽ":144897,"ãĥ¾":144898,"ëĮĵ":144899,"íĴĭ":144900,"ìķĵ":144901,"ï½¹":144902,"ëĤ¡":144903,"ðŁijĩ":144904,"Ẽ":144905,"ãĢŁ":144906,"ðŁĮŁ":144907,"íĥł":144908,"ãĢĨ":144909,"âĢŁ":144910,"ë¸IJ":144911,"ðŁĮ¹":144912,"ìł¼":144913,"ðŁĵĮ":144914,"ìͬ":144915,"âĹĢ":144916,"ðŁĴĵ":144917,"ê¹İ":144918,"ìĤIJ":144919,"ìĶĮ":144920,"ÑĽ":144921,"âĶĪ":144922,"ë²³":144923,"ãİŀ":144924,"Õ¡":144925,"íĤµ":144926,"ð٤Ķ":144927,"ëĢĶ":144928,"ìĬIJ":144929,"íĻī":144930,"⾦":144931,"ëľ¯":144932,"ìł¯":144933,"ëͧ":144934,"Φ":144935,"ËĪ":144936,"ìī¼":144937,"âĹĬ":144938,"ëľ©":144939,"ëľ°":144940,"ï¾IJ":144941,"ë¿Ķ":144942,"ìĹ®":144943,"ì·Į":144944,"ﺧ":144945,"ÎĴ":144946,"ëµĻ":144947,"ï»Ĭ":144948,"ì°Ķ":144949,"íİĦ":144950,"ðŁĴĹ":144951,"Ẵ":144952,"ì°¢":144953,"íľ¼":144954,"ê½Ĥ":144955,"ì±Ķ":144956,"ìī´":144957,"âĸ¾":144958,"íΰ":144959,"ëĭĽ":144960,"âĿ£":144961,"ェ":144962,"ðŁĴľ":144963,"Ëĺ":144964,"ãħ¤":144965,"âĨĹ":144966,"íĸĦ":144967,"âϬ":144968,"ìķ°":144969,"ïºľ":144970,"âī¡":144971,"ãĢĵ":144972,"ìij¥":144973,"íĮį":144974,"íīģ":144975,"ë»Ĺ":144976,"íľł":144977,"íľ©":144978,"âľĪ":144979,"íĢĦ":144980,"ìĸĩ":144981,"ì¢ĩ":144982,"íŀĻ":144983,"몹":144984,"ãĤĽ":144985,"ðŁĺ±":144986,"ëįŁ":144987,"à¹ħ":144988,"êµ¶":144989,"Ù«":144990,"ìĶģ":144991,"âľª":144992,"ï¾Ī":144993,"ðŁĻĮ":144994,"âļ¡":144995,"Îļ":144996,"ì¼Ī":144997,"ï¾Ķ":144998,"ï¾Ĥ":144999,"êµī":145000,"ﺻ":145001,"ðŁĴĭ":145002,"á¹£":145003,"ÓĻ":145004,"ìĨľ":145005,"ìĹ£":145006,"âľ©":145007,"ìľĻ":145008,"ﺰ":145009,"Ẳ":145010,"ìŀ£":145011,"âĿĮ":145012,"âĺģ":145013,"ìķİ":145014,"Ľ":145015,"Ûģ":145016,"ãĦ±":145017,"ëŁ¿":145018,"íĮ¸":145019,"ê½ī":145020,"ìıł":145021,"ðŁįĢ":145022,"âĨĶ":145023,"ëŃ¡":145024,"ï»ģ":145025,"ï¼Ħ":145026,"ðŁĴ¥":145027,"âĺĽ":145028,"íĹ·":145029,"ëij¡":145030,"Îł":145031,"Τ":145032,"âĦĵ":145033,"ﺷ":145034,"ÎĻ":145035,"ëıĶ":145036,"짤":145037,"âĶĥ":145038,"ãĦ·":145039,"ÇĴ":145040,"ðŁ¥°":145041,"ëĶķ":145042,"ìļ¥":145043,"ì¸Ħ":145044,"íĽĶ":145045,"ïºĩ":145046,"ﺬ":145047,"ðŁĺ¢":145048,"빡":145049,"ì͹":145050,"ų":145051,"ËĿ":145052,"íİij":145053,"ï¾ĵ":145054,"ðŁĴļ":145055,"ëĬij":145056,"꺾":145057,"íĨ°":145058,"ÿ":145059,"ÐĦ":145060,"ëĮIJ":145061,"ë½Ģ":145062,"ì·Ħ":145063,"ðŁĵį":145064,"ðŁĻĪ":145065,"âĹĪ":145066,"ê¿ĩ":145067,"ì¼Ħ":145068,"íİ«":145069,"ðŁĩ·":145070,"âĶĭ":145071,"âļł":145072,"ë±ī":145073,"ìį°":145074,"ìĻĪ":145075,"ɪ":145076,"ïºĭ":145077,"ðŁĺľ":145078,"ÎŁ":145079,"ðŁĻĤ":145080,"âļ½":145081,"ÅĪ":145082,"ë¹Ķ":145083,"íĮľ":145084,"à¹ı":145085,"ìĸ¹":145086,"íĪŃ":145087,"ðŁ¥ĩ":145088,"ãĦ´":145089,"ëĶ¥":145090,"ìŃĪ":145091,"âĪĨ":145092,"ëĸ³":145093,"ë±ĥ":145094,"ìŀ¦":145095,"ï»IJ":145096,"Îľ":145097,"âľ§":145098,"Ïį":145099,"ìłĵ":145100,"âĹķ":145101,"ëĴĢ":145102,"ï»Ģ":145103,"ðŁĶ´":145104,"ê½ģ":145105,"ëĮĪ":145106,"ëİĮ":145107,"ãĤİ":145108,"â¦ģ":145109,"ì½§":145110,"ﯾ":145111,"âĿ¯":145112,"à¸ħ":145113,"ðŁĻĦ":145114,"âĿĢ":145115,"ðŁĶ¹":145116,"âĩIJ":145117,"êµµ":145118,"âĩĶ":145119,"ë¶IJ":145120,"ðŁĴĽ":145121,"ξ":145122,"íĥ¬":145123,"âĿĦ":145124,"Ò£":145125,"ã̰":145126,"âĪij":145127,"âĺ¼":145128,"âīł":145129,"Ò¯":145130,"ﺯ":145131,"꿨":145132,"âľĸ":145133,"Êĸ":145134,"íĢĢ":145135,"ê¾Ģ":145136,"íĹĿ":145137,"âĶ£":145138,"ãİľ":145139,"ëĶĽ":145140,"뾸":145141,"ﺫ":145142,"ê¿°":145143,"ðŁĩ¹":145144,"ÇIJ":145145,"ÛĴ":145146,"룻":145147,"ïºĸ":145148,"Ñļ":145149,"ëĬł":145150,"Ûķ":145151,"깡":145152,"ë¿ľ":145153,"ì²¼":145154,"ï¨ij":145155,"륵":145156,"ìį¸":145157,"íħħ":145158,"íij¹":145159,"ÖĢ":145160,"ï³Į":145161,"ãħ£":145162,"ìij¤":145163,"ì½ķ":145164,"ëķł":145165,"ðŁĮ¿":145166,"íĥĶ":145167,"ìĽģ":145168,"ζ":145169,"âŀľ":145170,"ìĬĺ":145171,"íĽĹ":145172,"ë©§":145173,"ìīĺ":145174,"Õ¶":145175,"á¹ĩ":145176,"ðŁİģ":145177,"ソ":145178,"ï¼Ĥ":145179,"á¼IJ":145180,"âľķ":145181,"âŀ¢":145182,"ëĦ¨":145183,"컫":145184,"ì¯Ķ":145185,"ì°ľ":145186,"ðŁĴ°":145187,"íħĿ":145188,"ãİı":145189,"ë³¶":145190,"Òĵ":145191,"âĨ³":145192,"ìĥ´":145193,"íģĺ":145194,"âĸĢ":145195,"ë²Ļ":145196,"à¸ĥ":145197,"á½¶":145198,"Äķ":145199,"â¬ĩ":145200,"ë¤ĺ":145201,"ðŁİµ":145202,"âľļ":145203,"ïºı":145204,"Ρ":145205,"âĹī":145206,"ðŁĴ«":145207,"ÐĪ":145208,"ìĸĦ":145209,"ì§Ļ":145210,"ï»ĥ":145211,"ðĿijĴ":145212,"ëŃĦ":145213,"âĿ¥":145214,"âĿĸ":145215,"âĺĿ":145216,"ʹ":145217,"ḥ":145218,"âĢ¿":145219,"ãħħ":145220,"ê¸ģ":145221,"ëķ¡":145222,"ëį¥":145223,"âĪ©":145224,"ê»Ħ":145225,"ë®Į":145226,"Ò±":145227,"âĪĹ":145228,"ëłĻ":145229,"ïºĮ":145230,"ËIJ":145231,"ðŁĺ³":145232,"ðŁij©":145233,"ðŁİ¶":145234,"쿵":145235,"ðŁ¤©":145236,"ê·¤":145237,"ëĮĶ":145238,"ïºIJ":145239,"Ïİ":145240,"ì¶¥":145241,"ï½Ĭ":145242,"á¹Ń":145243,"뤼":145244,"âĸ«":145245,"ì§ł":145246,"á¼Ģ":145247,"ê»ij":145248,"ëĮģ":145249,"í̏":145250,"âĻĽ":145251,"ðŁĴŀ":145252,"âĸ°":145253,"ðĿijĸ":145254,"ëĿ¤":145255,"द":145256,"ì´ĺ":145257,"ðŁĺĩ":145258,"ëͤ":145259,"ÎĹ":145260,"ðŁĻĩ":145261,"ËĽ":145262,"ì©¡":145263,"âΧ":145264,"Õ¥":145265,"ÑĻ":145266,"ëIJ¬":145267,"ëĸĦ":145268,"ðŁĮ·":145269,"ìĹĮ":145270,"ðŁĺ¥":145271,"ëĪ´":145272,"ï»ļ":145273,"ÉĽ":145274,"ïºĦ":145275,"ï»ı":145276,"ÅĮ":145277,"ë²ļ":145278,"ìĭ£":145279,"ïºĢ":145280,"Îĵ":145281,"ðŁĺĮ":145282,"ËĻ":145283,"ëŀı":145284,"ðŁĶ¸":145285,"ðŁĵ·":145286,"ëģ½":145287,"íģ½":145288,"ðŁĴ¡":145289,"ðŁĮ±":145290,"ëºı":145291,"ìģł":145292,"ìĥIJ":145293,"ëıĹ":145294,"츰":145295,"ëĪķ":145296,"ÎĿ":145297,"âģī":145298,"ðŁĮ¼":145299,"íĮł":145300,"âĭ¯":145301,"áĥĺ":145302,"⾤":145303,"ê±Ķ":145304,"íĮİ":145305,"ðŁĴ¯":145306,"ìıĻ":145307,"íĹī":145308,"ÙŃ":145309,"ì½°":145310,"ﺿ":145311,"ï»±":145312,"ì±Į":145313,"âĺķ":145314,"ðŁİĢ":145315,"ÄĿ":145316,"ë°§":145317,"ìĤ¿":145318,"áijķ":145319,"ðŁįĥ":145320,"âĩ¨":145321,"ÎĽ":145322,"ë§´":145323,"ë³ķ":145324,"áijIJ":145325,"âĸĵ":145326,"ðĿijľ":145327,"âĻ»":145328,"íĤ¥":145329,"Õ¸":145330,"ãα":145331,"ëºĢ":145332,"첸":145333,"ïºĽ":145334,"ðŁıĨ":145335,"ðŁĩª":145336,"âĿĵ":145337,"ÄĢ":145338,"ì½¥":145339,"ðŁĩ§":145340,"á½·":145341,"âľĤ":145342,"ìŀ¼":145343,"ï§¡":145344,"ðŁĵ¸":145345,"âϝ":145346,"ÉĶ":145347,"ὸ":145348,"âĮª":145349,"ï»ĸ":145350,"不":145351,"âļ«":145352,"âĶĹ":145353,"ðŁĮĪ":145354,"ﻩ":145355,"ðŁĵ²":145356,"ÏĪ":145357,"ðŁĺ¡":145358,"ðĿijİ":145359,"ìľ½":145360,"짬":145361,"ì§Ĭ":145362,"á½³":145363,"ìĮ¤":145364,"ëĤį":145365,"âīĴ":145366,"ðŁij¨":145367,"âĺĺ":145368,"Ó©":145369,"âĤĵ":145370,"âĪĤ":145371,"ï¹ģ":145372,"ðŁĴIJ":145373,"íħĥ":145374,"ðŁı½":145375,"ê·Ħ":145376,"ðŁĺı":145377,"ðŁĮº":145378,"ðŁĺĶ":145379,"ォ":145380,"âľİ":145381,"ëµĪ":145382,"ðŁĩ¸":145383,"âĢ£":145384,"âŀĶ":145385,"ëĺĺ":145386,"ìĥ¬":145387,"Êĥ":145388,"â¬ħ":145389,"ì©IJ":145390,"ðŁĻĨ":145391,"ðŁİĦ":145392,"ľ":145393,"⣶":145394,"áĥIJ":145395,"âĺ»":145396,"ì±ķ":145397,"ìģ©":145398,"ë½ķ":145399,"캣":145400,"ðŁijĪ":145401,"ðŁĻĭ":145402,"ï¾ĸ":145403,"Òļ":145404,"Õ«":145405,"ìĮĪ":145406,"ë²§":145407,"ðŁĩ®":145408,"ï½Ŀ":145409,"ðŁįģ":145410,"ìĹ¥":145411,"ij":145412,"ë½IJ":145413,"íį½":145414,"íĽij":145415,"âĤ¹":145416,"ãħģ":145417,"ìͽ":145418,"ðŁĶģ":145419,"य":145420,"ê¾¹":145421,"ëīľ":145422,"âĹ¡":145423,"íķĮ":145424,"Îĺ":145425,"룹":145426,"ìĻĵ":145427,"ðŁĩ¦":145428,"ðŁijĢ":145429,"âĶĮ":145430,"ῦ":145431,"ëĦĽ":145432,"ìĦ£":145433,"ìŃĻ":145434,"ï±ł":145435,"Îŀ":145436,"Ê»":145437,"á¿¶":145438,"âĿĿ":145439,"ê±Ģ":145440,"ëĸ´":145441,"ãĦ¹":145442,"ðŁĴİ":145443,"Ϲ":145444,"âĽħ":145445,"ï»ķ":145446,"ãĥ±":145447,"ï½Ľ":145448,"ëĮķ":145449,"ë¹½":145450,"ì¥Ķ":145451,"쿤":145452,"ðŁĸ¤":145453,"ÑĴ":145454,"ê¹į":145455,"ëİĢ":145456,"ìĭ¯":145457,"뻤":145458,"ðŁĵŀ":145459,"ðŁĵ£":145460,"ðŁĺĿ":145461,"ìį¹":145462,"ìĹ¡":145463,"ì°IJ":145464,"á½IJ":145465,"ï»Ī":145466,"âľį":145467,"Äı":145468,"ðŁĮŀ":145469,"âĦ¦":145470,"ê½Ŀ":145471,"ë»ĺ":145472,"ìα":145473,"âĶĺ":145474,"ðŁĮ»":145475,"âĤ´":145476,"âŀ¨":145477,"íIJģ":145478,"ê¶Ī":145479,"âĺ¢":145480,"ðŁĺĪ":145481,"ゥ":145482,"âĦĹ":145483,"ê°Ń":145484,"ê°¸":145485,"ë»ij":145486,"쥴":145487,"컥":145488,"ï¤Ĭ":145489,"ï»Ĵ":145490,"ðŁĺķ":145491,"âĺĶ":145492,"ìĺIJ":145493,"ðŁļĹ":145494,"ëĹĦ":145495,"ë§ı":145496,"Õ½":145497,"âĸ»":145498,"⣵":145499,"ìī°":145500,"ï»ij":145501,"âĻ©":145502,"Î¥":145503,"ðŁĺ£":145504,"âĬĤ":145505,"ãħĤ":145506,"ìħ¸":145507,"íıĦ":145508,"âľ½":145509,"ì¦Ļ":145510,"âĸ£":145511,"ê±į":145512,"ê¿ĭ":145513,"ì«Ħ":145514,"ìºĩ":145515,"ðŁĩµ":145516,"ðŁijij":145517,"âľĺ":145518,"ðĿijĽ":145519,"ìį½":145520,"ìºī":145521,"וּ":145522,"ðŁĶº":145523,"âĦ®":145524,"íĥ¤":145525,"ðŁĩº":145526,"ðŁĴµ":145527,"íħ¨":145528,"ï½ij":145529,"Ψ":145530,"ìĥ¹":145531,"ìĸķ":145532,"ì¹µ":145533,"ðŁĵ±":145534,"व":145535,"ðŁijĬ":145536,"ðŁĴĦ":145537,"ðŁĴĿ":145538,"ãĮĶ":145539,"ìĻģ":145540,"Ðĩ":145541,"à®IJ":145542,"âĸ¹":145543,"á´Ľ":145544,"âĹĺ":145545,"뺨":145546,"íĥī":145547,"ìĸĮ":145548,"ðŁIJ¶":145549,"ãĤij":145550,"Ëĩ":145551,"Åı":145552,"á½¹":145553,"ìħ§":145554,"ï¹°":145555,"ðĿij¡":145556,"ðŁĶĿ":145557,"ðŁĺ»":145558,"ðŁĴĥ":145559,"ðŁ¤¦":145560,"ðŁįĴ":145561,"í̵":145562,"âľĨ":145563,"ë¹´":145564,"理":145565,"ï»Ļ":145566,"á´Ĺ":145567,"ðŁĮ´":145568,";":145569,"ëĮij":145570,"ì¨ĭ":145571,"쵸":145572,"ðŁİĪ":145573,"ðŁıł":145574,"á½±":145575,"ÛĨ":145576,"á¿ĸ":145577,"âĢĽ":145578,"ì°¼":145579,"íķ¥":145580,"íĹ´":145581,"ðŁĩ¬":145582,"ì°Ŀ":145583,"âĪł":145584,"ï¼ĩ":145585,"âĬĻ":145586,"âĿij":145587,"ëĦĭ":145588,"ëŀĹ":145589,"ë°ī":145590,"ìĹĬ":145591,"ì¢Ĩ":145592,"íĮ¥":145593,"ï°²":145594,"ðŁĵĸ":145595,"ðŁĺ®":145596,"âļª":145597,"ðŁĺļ":145598,"âĿŀ":145599,"ðĿijŁ":145600,"ðŁİĤ":145601,"Åķ":145602,"áIJĪ":145603,"꺽":145604,"ì±ł":145605,"ïºĿ":145606,"ê¿ī":145607,"áĥł":145608,"ðŁıĥ":145609,"ðŁĴ¸":145610,"âĿģ":145611,"âĹ¾":145612,"Úª":145613,"á¹ĥ":145614,"íĬ¬":145615,"ðŁĩ±":145616,"íİŃ":145617,"ðŁĺŀ":145618,"ë¾°":145619,"á¹Ľ":145620,"뼸":145621,"âĿĤ":145622,"êĴ³":145623,"âĶIJ":145624,"íĵ°":145625,"âŀł":145626,"ê´ĺ":145627,"ëħĺ":145628,"뻥":145629,"ì¾ħ":145630,"ðŁĺIJ":145631,"âĪª":145632,"ðŁijģ":145633,"âĪ´":145634,"âĹģ":145635,"ëºIJ":145636,"ìŀ¤":145637,"ì±Ĺ":145638,"ðŁı¾":145639,"Χ":145640,"á½»":145641,"âŀ¥":145642,"ìŁĪ":145643,"ï»ī":145644,"âĸĮ":145645,"ãĥ®":145646,"ðŁ¤¤":145647,"âĩĵ":145648,"ì¼ł":145649,"á´ı":145650,"맬":145651,"뻣":145652,"ðŁĴ¬":145653,"ðŁįĵ":145654,"ĸ":145655,"Ù¹":145656,"Ê¿":145657,"á½°":145658,"ëķľ":145659,"ì°¡":145660,"ì°»":145661,"íİį":145662,"ðŁİ¯":145663,"ðŁįĤ":145664,"ðŁij§":145665,"âĻ¢":145666,"áĨŀ":145667,"âϧ":145668,"âļľ":145669,"âľī":145670,"ëĵ¦":145671,"ëŃ£":145672,"ìĪı":145673,"ìĵ±":145674,"ÅŃ":145675,"ÊĬ":145676,"âĴ¸":145677,"âĩ©":145678,"ðŁĴĶ":145679,"Õµ":145680,"Ðī":145681,"Ò»":145682,"ë§£":145683,"ìĽľ":145684,"ì¿¡":145685,"íĽħ":145686,"íĽ¤":145687,"ﺢ":145688,"âľĭ":145689,"âĪĪ":145690,"ðŁĮį":145691,"Êľ":145692,"ëĬª":145693,"ëĴ¹":145694,"ﺲ":145695,"âĸĦ":145696,"ãħĪ":145697,"ëļ¤":145698,"íİ©":145699,"â΍":145700,"ðŁ¤ª":145701,"áĥļ":145702,"ê³¶":145703,"íĬķ":145704,"ðŁĺ¬":145705,"âĪ«":145706,"ðŁijĭ":145707,"ÒIJ":145708,"íĬ¿":145709,"ðŁĶµ":145710,"ðŁĴ¨":145711,"ðŁĮĻ":145712,"ëĩ©":145713,"âľ³":145714,"ë¨ģ":145715,"ëºĦ":145716,"ìĻij":145717,"ìºħ":145718,"íıĪ":145719,"ðĿijĻ":145720,"ðŁĴĺ":145721,"ãİ¥":145722,"âĿı":145723,"âľ°":145724,"ﯿ":145725,"ëµIJ":145726,"ì¼IJ":145727,"ﺱ":145728,"Õ´":145729,"ï¬Ģ":145730,"âľ´":145731,"ð٤Ń":145732,"ðŁijĨ":145733,"âĽĶ":145734,"ê·ĵ":145735,"ìĮĮ":145736,"ðŁ¤·":145737,"ÛĶ":145738,"ðŁ§¡":145739,"ðŁĺĵ":145740,"Îĸ":145741,"âı°":145742,"ê²ľ":145743,"ëĭ³":145744,"ëİħ":145745,"ë°Ī":145746,"ï®IJ":145747,"ðŁı¡":145748,"âĨª":145749,"âĵĶ":145750,"âľĬ":145751,"ϲ":145752,"ÜIJ":145753,"ðŁĩ³":145754,"ÖĤ":145755,"âľı":145756,"ìĸĹ":145757,"ì«Ļ":145758,"ðŁĺ²":145759,"ÄŃ":145760,"âĻŃ":145761,"âĶı":145762,"âĹĮ":145763,"ðŁĺ¯":145764,"áµĴ":145765,"íĬł":145766,"Ä·":145767,"Êģ":145768,"à¤Ł":145769,"á¹ģ":145770,"á¼°":145771,"á¿Ĩ":145772,"â«":145773,"⫸":145774,"ëį«":145775,"ì³ĩ":145776,"켤":145777,"íĽ¨":145778,"ðŁĴŁ":145779,"ÊĢ":145780,"ʳ":145781,"ëĵIJ":145782,"âķ°":145783,"âĿĩ":145784,"ÇĢ":145785,"ÇĶ":145786,"É´":145787,"âĺļ":145788,"âĺľ":145789,"ê¶Ĥ":145790,"ì«Ĵ":145791,"ì±Ī":145792,"ðŁĩ¨":145793,"ðŁİ¥":145794,"ðŁĵĿ":145795,"ħ":145796,"ðĿijIJ":145797,"ÛĪ":145798,"ब":145799,"ì¬IJ":145800,"íĹ¥":145801,"âύ":145802,"ðŁį´":145803,"ï¹ı":145804,"Ëĭ":145805,"ðŁ¥º":145806,"âĸ¨":145807,"íĻĭ":145808,"âĪħ":145809,"ëģĻ":145810,"ëŀł":145811,"ìĨ¥":145812,"âĢĸ":145813,"ð٤ĺ":145814,"ðŁIJ»":145815,"áµķ":145816,"ÇĿ":145817,"âĺı":145818,"ïºļ":145819,"ï»Ĥ":145820,"ðŁļ©":145821,"ìĪŁ":145822,"ËĬ":145823,"⤵":145824,"ðŁĴ§":145825,"ãħį":145826,"ë©©":145827,"Ƭ":145828,"Îĩ":145829,"âĩ§":145830,"âĵļ":145831,"ìĤ¯":145832,"ìΝ":145833,"ëĨĭ":145834,"âľ¯":145835,"ðŁļĢ":145836,"Úĺ":145837,"Ú¨":145838,"âľŃ":145839,"ê²ħ":145840,"íĮ°":145841,"íľĻ":145842,"ðŁĮĬ":145843,"ðŁİĵ":145844,"ðŁĺĻ":145845,"Ëĥ":145846,"ðŁĴģ":145847,"ðŁijİ":145848,"âĺ¹":145849,"ðŁĺ«":145850,"ðŁĴ»":145851,"ëĤµ":145852,"ìĿĬ":145853,"íĮ»":145854,"Ò³":145855,"á½²":145856,"âŀŀ":145857,"ëĤij":145858,"ëĿĪ":145859,"죤":145860,"ﻯ":145861,"ðŁĩ©":145862,"ðŁ¥³":145863,"âĴ¼":145864,"ð٦ĭ":145865,"âĺĤ":145866,"ðŁĺ°":145867,"ðŁĻĥ":145868,"ðŁĺĴ":145869,"Ûİ":145870,"Ïķ":145871,"Ḥ":145872,"룽":145873,"ìĬ¥":145874,"ðĿijī":145875,"ÉIJ":145876,"ðŁįİ":145877,"âķ¯":145878,"âķ¹":145879,"າ":145880,"ï¾ł":145881,"ë¹ķ":145882,"ïºĨ":145883,"ʺ":145884,"Ó§":145885,"âĨł":145886,"ëĥĩ":145887,"ìİĪ":145888,"ìŁ¤":145889,"ï±¢":145890,"âķ¬":145891,"âĺł":145892,"ðŁİĬ":145893,"ãįį":145894,"ãİİ":145895,"âĺ°":145896,"âľĥ":145897,"ãħī":145898,"ë¯Ī":145899,"빤":145900,"ìıŃ":145901,"ðĿij¢":145902,"ðŁIJ¾":145903,"Åĭ":145904,"ðŁij¶":145905,"âĶĽ":145906,"ï¿¢":145907,"áĥ¡":145908,"ļ":145909,"ÅĨ":145910,"ÑIJ":145911,"ìĥĽ":145912,"ìĺĮ":145913,"챤":145914,"íħģ":145915,"íļĥ":145916,"ï³Ĭ":145917,"ðĿijĶ":145918,"ðŁĩ«":145919,"âĭ°":145920,"ðŁĺ¨":145921,"âĤ©":145922,"Õ¬":145923,"á¸į":145924,"á»´":145925,"âĨĺ":145926,"âĺ¯":145927,"ãħı":145928,"ìł¬":145929,"âĻĶ":145930,"ðŁĶĶ":145931,"ðŁĺł":145932,"ðŁĻĬ":145933,"à®ľ":145934,"á¹ħ":145935,"âĹIJ":145936,"âĿĪ":145937,"âŀ½":145938,"ìĥħ":145939,"ðĿijł":145940,"Æ¢":145941,"âĭĻ":145942,"ê°Ľ":145943,"ëĿµ":145944,"ë£Ł":145945,"ìıľ":145946,"ïºģ":145947,"ðŁĴŃ":145948,"âĬĥ":145949,"ðŁIJ°":145950,"ãħĮ":145951,"Üĵ":145952,"âŀķ":145953,"á½ģ":145954,"ìķ³":145955,"ðĿijĿ":145956,"ðŁİ¬":145957,"É¡":145958,"à¤Ĺ":145959,"áIJī":145960,"ì©ľ":145961,"ì¶§":145962,"ï³ī":145963,"ï»ħ":145964,"ðĿIJŀ":145965,"श":145966,"ðŁĵ¢":145967,"ðŁįĭ":145968,"ðŁĴħ":145969,"ï¾ķ":145970,"â¬Ĩ":145971,"âε":145972,"ð٤ij":145973,"áĥ£":145974,"ÆĦ":145975,"ѹ":145976,"á¼Ķ":145977,"ê°ł":145978,"ê´Į":145979,"ê·IJ":145980,"뼴":145981,"ì±ĺ":145982,"ï®Ń":145983,"ﺹ":145984,"ﺾ":145985,"âľĹ":145986,"âĿ¦":145987,"ðŁij¦":145988,"áĥĹ":145989,"Ù²":145990,"á½´":145991,"âĪı":145992,"âľ®":145993,"ê¹°":145994,"ë²µ":145995,"ìĦĢ":145996,"ì©Ŀ":145997,"ïºŀ":145998,"ﺽ":145999,"ðŁĩŃ":146000,"ËĤ":146001,"ðŁįij":146002,"ðŁįĮ":146003,"ðŁĶ»":146004,"깬":146005,"ìĬŃ":146006,"ìľ·":146007,"ðŁĽij":146008,"ǧ":146009,"ë¼Ľ":146010,"ﺡ":146011,"ﺺ":146012,"ðĿijļ":146013,"ðŁĵ¦":146014,"ðŁĶİ":146015,"ðŁĹĵ":146016,"áĥĶ":146017,"âľĴ":146018,"âľ¡":146019,"ðŁĮµ":146020,"âĶķ":146021,"ëĢĿ":146022,"ðŁįĬ":146023,"âĺĥ":146024,"ìĺħ":146025,"ব":146026,"ð٦ģ":146027,"âݯ":146028,"ðŁIJķ":146029,"Ñ¿":146030,"।":146031,"à¼ĭ":146032,"ê·Ī":146033,"ì«Į":146034,"ðŁĩ°":146035,"âĿī":146036,"ì«Ģ":146037,"íĿĦ":146038,"ðĿIJ¢":146039,"ðŁļ¨":146040,"âϤ":146041,"ðŁĺ©":146042,"ðŁįį":146043,"ðŁĺij":146044,"ðŁļļ":146045,"ÖĦ":146046,"ë«":146047,"뫼":146048,"à¤ı":146049,"á¿·":146050,"âĮ©":146051,"âĺIJ":146052,"âŀ£":146053,"긱":146054,"꼿":146055,"ëĦĿ":146056,"ìı´":146057,"ìļ¤":146058,"쿱":146059,"íİIJ":146060,"ðŁĴ¢":146061,"ì´IJ":146062,"âĩij":146063,"âĶĵ":146064,"âģ¾":146065,"ÜĿ":146066,"ðŁį°":146067,"â´°":146068,"Æı":146069,"ÏŁ":146070,"Úº":146071,"Ûĥ":146072,"áĦĴ":146073,"âĪŁ":146074,"âĿį":146075,"ãĦ²":146076,"ìľħ":146077,"ì¤ı":146078,"ðŁĩ²":146079,"êºĦ":146080,"ðŁİ¤":146081,"âľ£":146082,"â¸Ŀ":146083,"︵":146084,"ວ":146085,"áĢĻ":146086,"âķł":146087,"Õ¯":146088,"âı©":146089,"ðĿij£":146090,"ðŁĴ£":146091,"Åĺ":146092,"à¥IJ":146093,"âģĥ":146094,"âĮĺ":146095,"ê»Į":146096,"ìĮĶ":146097,"ðĿijĺ":146098,"ð٤ĵ":146099,"Õ¿":146100,"à¤Ń":146101,"âĮļ":146102,"âľĿ":146103,"ðŁIJ¼":146104,"ËĮ":146105,"âķļ":146106,"ï¦Ĺ":146107,"âĿķ":146108,"âķ£":146109,"ðŁIJ±":146110,"த":146111,"Ѿ":146112,"à¤ļ":146113,"à¤ľ":146114,"ìĪĦ":146115,"ìļľ":146116,"ðŁİ®":146117,"ÉĴ":146118,"Ú·":146119,"àºį":146120,"âĨµ":146121,"âĪĺ":146122,"âĿĬ":146123,"ë¿į":146124,"ìIJĪ":146125,"ìļĺ":146126,"쯧":146127,"íĥ¯":146128,"ìĸı":146129,"︰":146130,"ðŁĩ¯":146131,"ð٧ļ":146132,"ðŁĺµ":146133,"ðŁĺ·":146134,"ðŁĮ³":146135,"ລ":146136,"Äī":146137,"Ä¥":146138,"âľ¶":146139,"῾":146140,"âĬ±":146141,"âĺ¾":146142,"ê°ī":146143,"ê¼°":146144,"ëºij":146145,"ðŁĶĬ":146146,"ðŁĸIJ":146147,"Ť":146148,"Ò«":146149,"à®®":146150,"âĮĪ":146151,"âĹĹ":146152,"ëĦµ":146153,"ëħľ":146154,"ëľ¹":146155,"ðĿij¥":146156,"ðŁĴ¿":146157,"ðŁĽĴ":146158,"ÊĴ":146159,"áŀĵ":146160,"ðŁIJĿ":146161,"ð٦Ħ":146162,"ðŁį·":146163,"âĺŁ":146164,"︶":146165,"ðŁ¤Ł":146166,"Ô±":146167,"âĨ²":146168,"âĪİ":146169,"âľ«":146170,"ëĩ½":146171,"ëıIJ":146172,"ëķĦ":146173,"靈":146174,"ï§Ŀ":146175,"ïºĻ":146176,"ðŁij»":146177,"ðŁĵº":146178,"êµ¼":146179,"ìĮ©":146180,"ðŁĮ²":146181,"ȱ":146182,"íĶķ":146183,"ðŁĺ¤":146184,"ãĮ¢":146185,"ÊĶ":146186,"ड":146187,"á¼Ī":146188,"ëİĥ":146189,"멱":146190,"ë®Ī":146191,"ðĿIJ«":146192,"âĬķ":146193,"ëĥł":146194,"뻬":146195,"íĭĶ":146196,"Õ¤":146197,"á¼±":146198,"âľ¥":146199,"âĺĦ":146200,"âĪ¥":146201,"âļķ":146202,"ðŁijĦ":146203,"ðŁİħ":146204,"àºĻ":146205,"âͬ":146206,"á½µ":146207,"Õ¾":146208,"Öģ":146209,"âĹĶ":146210,"ê¿į":146211,"ëĸµ":146212,"ë©İ":146213,"ë®´":146214,"ìķ´":146215,"áĥľ":146216,"ἡ":146217,"âĶĬ":146218,"âķ®":146219,"âĹ¼":146220,"ðŁį¾":146221,"ðŁĽį":146222,"ðŁijĹ":146223,"ð٤ŀ":146224,"âľĦ":146225,"ÕĢ":146226,"ল":146227,"Ëī":146228,"⣨":146229,"į":146230,"ÏĬ":146231,"á´ľ":146232,"ë¹³":146233,"ï³ĭ":146234,"ï¿ł":146235,"Ī":146236,"âĤ¸":146237,"âľ±":146238,"ê»IJ":146239,"ëĭ»":146240,"맸":146241,"ìŀ¿":146242,"쩨":146243,"ìŃIJ":146244,"ì°¿":146245,"íħŁ":146246,"ðĿIJ§":146247,"ðĿijij":146248,"ðŁĮİ":146249,"ðŁĵ®":146250,"ðŁķĶ":146251,"âĹĻ":146252,"âĹ»":146253,"âŀ§":146254,"ìŁĿ":146255,"⾬":146256,"ãĥ°":146257,"âģĪ":146258,"âĵĺ":146259,"ðŁĴĮ":146260,"ï¬ĥ":146261,"àºĶ":146262,"ìͰ":146263,"ðŁĺª":146264,"×Ģ":146265,"ìĥ¨":146266,"ïŃĭ":146267,"ðŁįķ":146268,"ðŁĺ´":146269,"ϳ":146270,"á¼Ħ":146271,"á½ħ":146272,"âĩ¢":146273,"âķŃ":146274,"ìĺ»":146275,"íĬ¤":146276,"Üĺ":146277,"⤴":146278,"âĹį":146279,"áŀŁ":146280,"ðŁįº":146281,"áŀļ":146282,"ðŁıĬ":146283,"ðŁIJ·":146284,"ÊĮ":146285,"ὺ":146286,"âģ»":146287,"ê½Į":146288,"ëĪĹ":146289,"ëĹı":146290,"ì¿°":146291,"í̼":146292,"íįħ":146293,"ï·²":146294,"ðŁĮı":146295,"ðŁį«":146296,"ðŁį³":146297,"ðŁİ°":146298,"ðŁij°":146299,"ðŁĴ²":146300,"á¥Ļ":146301,"ðŁIJŁ":146302,"ï¿¡":146303,"ðŁĹ£":146304,"ðŁįľ":146305,"âľ²":146306,"ãİ¢":146307,"ðŁĶ°":146308,"Ἰ":146309,"á½ij":146310,"Äİ":146311,"áĦĢ":146312,"âĻķ":146313,"ëłĿ":146314,"ìĪ´":146315,"ïŃŃ":146316,"Óľ":146317,"ÔĢ":146318,"ëĢľ":146319,"ëĥĶ":146320,"ìĬĽ":146321,"ì«ij":146322,"캥":146323,"캬":146324,"ðĿij¦":146325,"ðŁĶ¶":146326,"쾨":146327,"ðĿIJļ":146328,"ðŁį»":146329,"ðŁĴį":146330,"ðŁ¤¡":146331,"ðŁķĬ":146332,"â½ĩ":146333,"âĵIJ":146334,"ðŁįŃ":146335,"ðŁįª":146336,"ðŁĶĨ":146337,"Ò¡":146338,"á´ĩ":146339,"ÉĹ":146340,"ÜĶ":146341,"âĦİ":146342,"âĿĥ":146343,"ëĹĢ":146344,"ï²Ķ":146345,"ïºĪ":146346,"ðĿIJ»":146347,"ðŁĴĬ":146348,"ðŁļ«":146349,"Ѱ":146350,"ѳ":146351,"ष":146352,"âĹł":146353,"ðŁij¤":146354,"ï¾ĩ":146355,"âĺĵ":146356,"ðŁįµ":146357,"ðŁ¤¨":146358,"âĸŃ":146359,"à®´":146360,"Ü¢":146361,"ܬ":146362,"à´®":146363,"ðŁķº":146364,"Ô¹":146365,"Õ£":146366,"à´¯":146367,"á´Ģ":146368,"âĮī":146369,"âľIJ":146370,"âŀ¦":146371,"ê¹½":146372,"ëĮľ":146373,"ðŁı¥":146374,"ðŁĵ©":146375,"Ò¹":146376,"Óĺ":146377,"à¤ħ":146378,"âĿ§":146379,"ÆĹ":146380,"âĹ½":146381,"ðŁij«":146382,"ðŁİ§":146383,"ðŁij£":146384,"âľ»":146385,"ðŁĻħ":146386,"ðŁĺĸ":146387,"ðŁĴ®":146388,"ະ":146389,"ðŁĶľ":146390,"ðŁįĦ":146391,"ð٤Ŀ":146392,"áĥĿ":146393,"áŀĢ":146394,"âĩ¦":146395,"ʾ":146396,"Ò®":146397,"Õ¼":146398,"à¤Ĩ":146399,"âĹħ":146400,"âļĵ":146401,"âļĸ":146402,"ê¿©":146403,"ë¯Ħ":146404,"ìIJIJ":146405,"ìŀ°":146406,"ì§Ń":146407,"íĭĭ":146408,"íݨ":146409,"íϧ":146410,"ï²ij":146411,"ðŁİĹ":146412,"Ù³":146413,"ðŁij¸":146414,"ম":146415,"ðŁijķ":146416,"Úµ":146417,"â̾":146418,"âŀ°":146419,"ðŁij¯":146420,"ðŁİ¼":146421,"ðŁıģ":146422,"ĺ":146423,"Êı":146424,"Ú³":146425,"âı±":146426,"ê½Ī":146427,"ëĿĮ":146428,"ìĮī":146429,"ìĹ·":146430,"ìŀ´":146431,"íĹ¹":146432,"íľ¨":146433,"ðĿĹ²":146434,"ðŁĮIJ":146435,"ðŁİĻ":146436,"ðŁıµ":146437,"íĽĻ":146438,"ðĿijħ":146439,"ðŁĺ¶":146440,"âĵħ":146441,"âķ¥":146442,"ðŁįı":146443,"ï¦İ":146444,"Õ©":146445,"ðĿIJĦ":146446,"Ó£":146447,"Ú¿":146448,"âĻļ":146449,"ðŁĶĹ":146450,"ḫ":146451,"âĭ®":146452,"âĸ¦":146453,"âĽ½":146454,"âľµ":146455,"ãħĨ":146456,"ãħĬ":146457,"ëĦĻ":146458,"ëĿ¨":146459,"ë¥Ħ":146460,"ìĦ¦":146461,"ì§°":146462,"ì§¹":146463,"íīĪ":146464,"ï§ij":146465,"ï»ĩ":146466,"ðŁĮ¾":146467,"ðŁıĸ":146468,"ðŁIJij":146469,"ðŁĴ³":146470,"ðŁĵĨ":146471,"Ûĩ":146472,"Üķ":146473,"á½½":146474,"ëĦľ":146475,"à´²":146476,"à´³":146477,"àºŃ":146478,"áĥĽ":146479,"âĿĶ":146480,"âijħ":146481,"áĥ¥":146482,"ðŁĵħ":146483,"âŀ³":146484,"á´µ":146485,"﹡":146486,"ï¹¶":146487,"ÎĨ":146488,"थ":146489,"áīµ":146490,"âĿĻ":146491,"âĿ±":146492,"ëīł":146493,"ëİł":146494,"ëıĽ":146495,"ë¿ħ":146496,"ì͏":146497,"íij¯":146498,"íŀī":146499,"íŀĽ":146500,"ï§Ħ":146501,"ïŃĺ":146502,"ﺦ":146503,"ﻸ":146504,"ðĿijĤ":146505,"ðĿijı":146506,"Ïij":146507,"Úł":146508,"áĢĶ":146509,"áŀĶ":146510,"á¹¢":146511,"ëĦ¸":146512,"ðĿIJ¨":146513,"ðŁĩ´":146514,"Õ°":146515,"ðŁijł":146516,"ðŁįĨ":146517,"ðŁıĢ":146518,"ðŁijIJ":146519,"ðŁįĩ":146520,"ðŁIJ£":146521,"áĪŃ":146522,"ܪ":146523,"ðŁĮĢ":146524,"áŀĺ":146525,"âĩĦ":146526,"ðĿIJĢ":146527,"ÊĻ":146528,"âͼ":146529,"ðŁı¿":146530,"Æ·":146531,"Èł":146532,"ѽ":146533,"âĤ¨":146534,"ê´Ń":146535,"ê¹»":146536,"ë͍":146537,"ìĪĢ":146538,"ì¾°":146539,"íĨĪ":146540,"ï®§":146541,"ﯽ":146542,"ðŁĶħ":146543,"ðŁĶ®":146544,"Å¢":146545,"ʰ":146546,"Ѹ":146547,"ण":146548,"âĬĹ":146549,"ëªĦ":146550,"ï¹·":146551,"ïºħ":146552,"ðĿIJµ":146553,"ðŁĮ¶":146554,"ðŁĵ°":146555,"ðŁĶ·":146556,"ðŁĸĴ":146557,"ðŁ¤²":146558,"ëī©":146559,"ðŁİĨ":146560,"ð٧IJ":146561,"ðŁį®":146562,"âĨº":146563,"âĿ¢":146564,"ðŁijª":146565,"ðŁij±":146566,"âĨ¡":146567,"áŀı":146568,"Úķ":146569,"ðŁį¹":146570,"ðŁĴĢ":146571,"Ë®":146572,"Ó¨":146573,"Öħ":146574,"à¤ĩ":146575,"âĤ¡":146576,"âĪķ":146577,"âĺī":146578,"ê¹¼":146579,"ê¼IJ":146580,"콸":146581,"ðĿIJ¬":146582,"ðŁıħ":146583,"ðŁijĻ":146584,"ðŁĴī":146585,"ð٤Ļ":146586,"Èĺ":146587,"ɳ":146588,"ɹ":146589,"Ùº":146590,"áĢĦ":146591,"ῳ":146592,"âļĺ":146593,"âĿĨ":146594,"ëĨī":146595,"ìĸį":146596,"ìĺĩ":146597,"ì¥ĺ":146598,"íĸħ":146599,"íĻij":146600,"ï®Ĭ":146601,"ï¿Ń":146602,"ðĿĴIJ":146603,"ðĿĹ¢":146604,"ðŁĶĸ":146605,"ðŁĶ¨":146606,"ðŁļij":146607,"ðŁļ²":146608,"Ƹ":146609,"âĹ¥":146610,"ðĿIJŃ":146611,"ðŁį½":146612,"âĹij":146613,"âĵĩ":146614,"ðŁĶ±":146615,"âľ¼":146616,"ï¹ĥ":146617,"âķ±":146618,"ãĢĹ":146619,"ðŁıĭ":146620,"ðŁļ´":146621,"ðĿIJ®":146622,"Äļ":146623,"Õı":146624,"Ķ":146625,"áĥij":146626,"Ṭ":146627,"ÄĪ":146628,"ÄĴ":146629,"Ò°":146630,"Óķ":146631,"âIJ":146632,"âIJ£":146633,"âĹ¢":146634,"âļĻ":146635,"ãħĹ":146636,"ê°¬":146637,"곪":146638,"ê»Ģ":146639,"ëĦ´":146640,"ëİģ":146641,"ëĿĶ":146642,"묽":146643,"ëŃį":146644,"ìĩ³":146645,"ì°¹":146646,"íĮ¹":146647,"íŀĿ":146648,"ï®ĭ":146649,"ï¶Ī":146650,"ðĿĴĤ":146651,"ðŁ¥Ģ":146652,"ð٦ħ":146653,"Êĺ":146654,"á¼ij":146655,"âģİ":146656,"ðŁįŀ":146657,"âĨĸ":146658,"âĨĻ":146659,"ðŁİĥ":146660,"âĦ¡":146661,"âĭ±":146662,"ðŁĶį":146663,"ನ":146664,"áµĥ":146665,"âĶ«":146666,"⦿":146667,"ðŁĩ»":146668,"Ƥ":146669,"Òı":146670,"Ò·":146671,"Ûī":146672,"à®ķ":146673,"ḳ":146674,"בּ":146675,"ðŁĨĶ":146676,"ÚŃ":146677,"Û¦":146678,"áħ¡":146679,"âĦ¹":146680,"ê¿İ":146681,"ëķĶ":146682,"ë¼ī":146683,"ìļ§":146684,"ì²µ":146685,"ì´¨":146686,"íĬĪ":146687,"íĸIJ":146688,"ðĿĹĺ":146689,"ðŁĩ¿":146690,"ðŁİĸ":146691,"ðŁijħ":146692,"ðŁĵĺ":146693,"ðŁļĻ":146694,"ðŁĽµ":146695,"à¶½":146696,"⼵":146697,"ðĿIJ³":146698,"ðĿIJ¸":146699,"âļĶ":146700,"ðŁijŃ":146701,"Óij":146702,"â͝":146703,"ðŁħ¿":146704,"ðŁĺ¹":146705,"ï¿«":146706,"⼤":146707,"ðŁĴĩ":146708,"ðŁĵİ":146709,"ðŁĸĭ":146710,"স":146711,"ðĿIJį":146712,"IJ":146713,"Ïĭ":146714,"Ѭ":146715,"Ú¬":146716,"ÜĴ":146717,"á´¬":146718,"ï¨Ħ":146719,"É£":146720,"Ëij":146721,"ϵ":146722,"ÒĿ":146723,"Û¥":146724,"Üł":146725,"à¹Ľ":146726,"áĥķ":146727,"áĬķ":146728,"á¾¶":146729,"âĤ·":146730,"âĩ¾":146731,"âķ©":146732,"âĸIJ":146733,"âĺª":146734,"âĺ®":146735,"âĿļ":146736,"âĿŃ":146737,"âŀ±":146738,"âµİ":146739,"ãıĬ":146740,"ë©ĵ":146741,"ìĹ¾":146742,"ìªĦ":146743,"íĵĮ":146744,"íķ¼":146745,"ïѬ":146746,"ðĿijĨ":146747,"ðĿijŀ":146748,"ðĿĸĬ":146749,"ðŁİ¸":146750,"ðŁıĦ":146751,"ðŁijµ":146752,"ðŁĴł":146753,"ðŁĶĺ":146754,"ðŁ¥Ĥ":146755,"Ū":146756,"à·ĥ":146757,"á´¼":146758,"âĬ°":146759,"ë³ı":146760,"ë´£":146761,"ï¥ľ":146762,"ðŁĵĪ":146763,"ðŁķ¯":146764,"ð٧Ģ":146765,"âĻIJ":146766,"ðŁĨĹ":146767,"ðŁĵķ":146768,"ð٧ģ":146769,"Ü«":146770,"âĿIJ":146771,"Õķ":146772,"à½ķ":146773,"âŀĿ":146774,"à¦ķ":146775,"ðĿIJ¶":146776,"É¢":146777,"ÎĦ":146778,"áĨ¢":146779,"âĤ±":146780,"Õį":146781,"à¡ķ":146782,"á´°":146783,"ḩ":146784,"⼷":146785,"âĿ®":146786,"ê¡ĵ":146787,"ëı¤":146788,"ëĹIJ":146789,"ëµĮ":146790,"ìijĪ":146791,"íı¿":146792,"íŵ":146793,"ðĿIJİ":146794,"ðŁĨĺ":146795,"ðŁıŁ":146796,"É¥":146797,"Õ»":146798,"à¡Ķ":146799,"à¤ĸ":146800,"á´¸":146801,"âİĻ":146802,"âİ¥":146803,"âı³":146804,"ëģķ":146805,"ëĬī":146806,"ì¡į":146807,"칡":146808,"禮":146809,"ï¬Ł":146810,"ﮫ":146811,"ﮯ":146812,"ï±ĥ":146813,"ï·»":146814,"ﺵ":146815,"ðĿĹĶ":146816,"ðĿĹ¡":146817,"ðŁİ¨":146818,"ðŁĶĴ":146819,"ÚĽ":146820,"ध":146821,"âŀ¹":146822,"áĢĢ":146823,"ðŁįħ":146824,"âŤ":146825,"à¤ł":146826,"ðŁIJ¥":146827,"áĥĴ":146828,"ðŁıĿ":146829,"ðŁį¼":146830,"ãĮ§":146831,"âĿĽ":146832,"ðŁIJĪ":146833,"য":146834,"áĢŀ":146835,"ãĢĸ":146836,"áŀĻ":146837,"প":146838,"ÕĨ":146839,"âĬĨ":146840,"âľ¾":146841,"ðŁIJĹ":146842,"ﹿ":146843,"Ħ":146844,"ÜŁ":146845,"à²ł":146846,"ಥ":146847,"áŀī":146848,"á´¥":146849,"á´©":146850,"á½Ģ":146851,"ὡ":146852,"âĨķ":146853,"âŀ¯":146854,"ê¡ij":146855,"ëij£":146856,"ë±Į":146857,"ìĪij":146858,"ìľĶ":146859,"ìŀ½":146860,"ì¨į":146861,"ðĿijĢ":146862,"ðŁĮĮ":146863,"ðŁį¦":146864,"ðŁį©":146865,"ðŁIJļ":146866,"ðŁĵĴ":146867,"ðŁĵ¹":146868,"ðŁ¥ij":146869,"Äĭ":146870,"ËĹ":146871,"Ñ«":146872,"Õ¢":146873,"Ú°":146874,"âĮĢ":146875,"âĹĤ":146876,"âĹ£":146877,"⾼":146878,"âĿĴ":146879,"âĿĺ":146880,"âŀĻ":146881,"âŀ²":146882,"ãİį":146883,"ê¡IJ":146884,"ëŀĸ":146885,"ìĬĿ":146886,"ìĽ¤":146887,"ì¡ĭ":146888,"쨰":146889,"íĹĻ":146890,"兩":146891,"ï³į":146892,"ï»İ":146893,"ðĿijĵ":146894,"ðŁĵĬ":146895,"ðŁļ¼":146896,"ï¦ģ":146897,"ðĿķĴ":146898,"ðŁijľ":146899,"ðŁij¿":146900,"ðŁĩ½":146901,"à·Ħ":146902,"âĸ´":146903,"ãįī":146904,"âĬĩ":146905,"ðŁ§¸":146906,"Ú¡":146907,"â¾ĥ":146908,"ðŁĹ»":146909,"âĵij":146910,"ðŁ¤¸":146911,"ðŁ¤¯":146912,"êĴ°":146913,"ðĿIJĵ":146914,"âĶ´":146915,"êĴ±":146916,"áĢĺ":146917,"âĽĦ":146918,"ï¹¹":146919,"ÓĶ":146920,"áĥ±":146921,"Ü¡":146922,"ßŀ":146923,"âĻı":146924,"⾸":146925,"ìij¨":146926,"ðĿIJĿ":146927,"ðĿIJ¥":146928,"ðŁįī":146929,"ðŁij¼":146930,"ðŁ¥Ŀ":146931,"ÆĶ":146932,"ݬ":146933,"फ":146934,"àºļ":146935,"á´´":146936,"á½ĸ":146937,"âĤ¶":146938,"âİ¢":146939,"âĿħ":146940,"⣫":146941,"ãİĽ":146942,"뮨":146943,"ëºĮ":146944,"ë¼ĺ":146945,"ìĨĿ":146946,"ìľ³":146947,"ìŀĮ":146948,"ì£Ĺ":146949,"ìªĺ":146950,"컹":146951,"ï·¼":146952,"ïºĤ":146953,"ðĿIJ´":146954,"ðĿIJ¼":146955,"ðŁĮļ":146956,"ðŁı«":146957,"ðŁĴ¤":146958,"ðŁĴ¶":146959,"ðŁĴ¼":146960,"Êķ":146961,"ʽ":146962,"â²Ł":146963,"ãīł":146964,"ê¡Ĵ":146965,"ëľĢ":146966,"ìĥ¾":146967,"츤":146968,"ï¥ģ":146969,"ðĿļĬ":146970,"ðŁļĥ":146971,"âŀĽ":146972,"ìħ´":146973,"áĦĭ":146974,"âĩĹ":146975,"ï§·":146976,"âĺĸ":146977,"ðŁIJ¦":146978,"⸾":146979,"ðŁĴ´":146980,"ð٤ļ":146981,"ãĬĹ":146982,"âĮĽ":146983,"áĪĽ":146984,"༺":146985,"â½ī":146986,"ðŁı¢":146987,"âĵŀ":146988,"âĺ½":146989,"ãĢĻ":146990,"ðŁ¤®":146991,"ÅIJ":146992,"áĥ¬":146993,"ðĿĹ»":146994,"ðŁįĸ":146995,"ÆĬ":146996,"ÊŁ":146997,"ßĭ":146998,"à¤ĭ":146999,"áµĶ":147000,"á¿ĥ":147001,"âĦī":147002,"âĮĭ":147003,"âı²":147004,"âĵĪ":147005,"âĵ¢":147006,"âķĶ":147007,"âļij":147008,"âĿĭ":147009,"âĿİ":147010,"⵾":147011,"âµ£":147012,"ëĴĪ":147013,"ëľģ":147014,"ë¶ĩ":147015,"ìį»":147016,"ìĺŃ":147017,"ì§¢":147018,"íĹĢ":147019,"ï§Ĭ":147020,"טּ":147021,"ﱡ":147022,"ðĿIJº":147023,"ðĿij§":147024,"ðĿĺ¦":147025,"ðŁĵ¥":147026,"ðŁĺŁ":147027,"ðŁ¥IJ":147028,"Äĸ":147029,"ɨ":147030,"áĢIJ":147031,"áĥĵ":147032,"áºĵ":147033,"á¼¶":147034,"á½Ħ":147035,"âĤ¤":147036,"âĮľ":147037,"âĮŁ":147038,"âİł":147039,"⼸":147040,"âµį":147041,"âµı":147042,"âµĵ":147043,"ãĢĺ":147044,"ë·¸":147045,"íħ¼":147046,"ï¦Į":147047,"ïŃĦ":147048,"ïŃİ":147049,"ðĿĻļ":147050,"ðĿļĺ":147051,"à¼ĵ":147052,"ëŃħ":147053,"áIJĽ":147054,"ãݾ":147055,"ï¨Ģ":147056,"ðŁĹ½":147057,"âĻŀ":147058,"Ëĸ":147059,"âĹŀ":147060,"ðŁ¤«":147061,"ðŁĺĹ":147062,"ヲ":147063,"ðŁ¤¢":147064,"âģĩ":147065,"ã̵":147066,"ðŁįĶ":147067,"áĬł":147068,"ðŁĺ¼":147069,"ðĿĹ®":147070,"ðŁIJ³":147071,"ðĿIJĭ":147072,"ðŁĨļ":147073,"ðŁĶĽ":147074,"Ñ»":147075,"ܨ":147076,"ல":147077,"âľŀ":147078,"âµĻ":147079,"êµ£":147080,"츨":147081,"ðĿIJľ":147082,"ðĿĺ°":147083,"ðŁĶ½":147084,"Ç»":147085,"Ç¿":147086,"Êĩ":147087,"ÎIJ":147088,"ÐĢ":147089,"Ñ¡":147090,"Ѳ":147091,"ÒĴ":147092,"Ù¶":147093,"ßķ":147094,"à¶±":147095,"áIJģ":147096,"âģŀ":147097,"âĸ§":147098,"âĽĪ":147099,"âľľ":147100,"âľ¹":147101,"âŁ¹":147102,"â¤ĩ":147103,"ê²Ĭ":147104,"ê¾ľ":147105,"ë¯IJ":147106,"ë³IJ":147107,"ìħ©":147108,"ìIJ¬":147109,"ìij¹":147110,"ï¤Ķ":147111,"ï¦ļ":147112,"ï¬ł":147113,"ïŃĶ":147114,"ﺶ":147115,"ðĿĴı":147116,"ðĿĸĨ":147117,"ðĿŶ":147118,"ðŁıĤ":147119,"ðŁIJ½":147120,"ðŁĴ©":147121,"ðŁĵ½":147122,"ðŁĹ¨":147123,"ðŁĹº":147124,"ðŁĺ¸":147125,"ðŁ¥§":147126,"ÅĹ":147127,"Êİ":147128,"ÒĻ":147129,"ײ":147130,"à¤Ī":147131,"á¼´":147132,"á¿ij":147133,"âµī":147134,"ãħĵ":147135,"ì½´":147136,"ðĿĸĵ":147137,"ðŁĵĹ":147138,"ðŁĶª":147139,"ðŁĸį":147140,"ÏĴ":147141,"ðŁij¬":147142,"áĥĻ":147143,"âĨ¬":147144,"âͤ":147145,"âĽ¹":147146,"âĻŁ":147147,"ðŁļ¶":147148,"ðŁij¾":147149,"âĪĭ":147150,"ðŁIJ¯":147151,"à¼İ":147152,"âľ·":147153,"ï¨Ļ":147154,"âĶ»":147155,"ðŁij¹":147156,"áĦī":147157,"ສ":147158,"â¾ı":147159,"â½ħ":147160,"ãİĸ":147161,"Ñ´":147162,"Õ®":147163,"Ú¼":147164,"áĢķ":147165,"áĨ¼":147166,"ëŃı":147167,"ðŁIJ¸":147168,"ðŁļ£":147169,"ÆĿ":147170,"Ô»":147171,"áĥ¢":147172,"ðŁį¯":147173,"ɦ":147174,"Õ¦":147175,"âĻĭ":147176,"שׂ":147177,"ðĿŦ":147178,"Çļ":147179,"ɱ":147180,"à¤ī":147181,"á´Ħ":147182,"âĻĵ":147183,"⼰":147184,"âŁª":147185,"ëĥĺ":147186,"뢸":147187,"ìĤij":147188,"ï®Ķ":147189,"ðĿķĸ":147190,"ðĿŧ":147191,"ðŁĩ¼":147192,"ðŁĵĭ":147193,"ðŁļľ":147194,"ðŁ¥¤":147195,"Ä®":147196,"Å·":147197,"ßĬ":147198,"॥":147199,"ப":147200,"áŀĦ":147201,"áµĢ":147202,"á¸ħ":147203,"á¼¢":147204,"âĪĿ":147205,"âĬ¹":147206,"âĴ¶":147207,"âķ´":147208,"⼱":147209,"âĽ³":147210,"âĽº":147211,"âŀŁ":147212,"ãıĦ":147213,"ê¸Ķ":147214,"ê¹Ł":147215,"ëĩ°":147216,"ë¹»":147217,"ìĤ¥":147218,"ìĽ»":147219,"ì°Ł":147220,"íĥ°":147221,"íĨº":147222,"íļ½":147223,"老":147224,"量":147225,"ï³Ŀ":147226,"ðĿIJ¦":147227,"ðĿĴľ":147228,"ðĿĴŁ":147229,"ðĿļĹ":147230,"ðŁİŃ":147231,"ðŁıĵ":147232,"ðŁı³":147233,"ðŁıº":147234,"ðŁIJį":147235,"ðŁijĥ":147236,"ðŁĴı":147237,"ð٤ĸ":147238,"ðŁ¤µ":147239,"Õ²":147240,"âµĶ":147241,"ëĺ¬":147242,"念":147243,"ÊĤ":147244,"áĨ«":147245,"áŀij":147246,"ðĿĸİ":147247,"ðĿĹĸ":147248,"áĦĥ":147249,"âĩł":147250,"áĢ¡":147251,"à½Ħ":147252,"âŀ¸":147253,"ï¦Ļ":147254,"âĩļ":147255,"ðŁIJ¬":147256,"ðŁIJ¢":147257,"â¾Ĵ":147258,"ðŁIJ¤":147259,"ðŁĶ«":147260,"ãĢŀ":147261,"︺":147262,"ðŁĺº":147263,"â½´":147264,"ðŁĨķ":147265,"âģ¿":147266,"ðŁį¨":147267,"à²ķ":147268,"ðŁļĺ":147269,"áŀħ":147270,"à¦ħ":147271,"áŀ¢":147272,"à¨ľ":147273,"âļĮ":147274,"ã̽":147275,"à·´":147276,"âĵĽ":147277,"áĢľ":147278,"ìĨ¨":147279,"Ë©":147280,"ÜĹ":147281,"âĭ¼":147282,"ðŁĻī":147283,"ÅĬ":147284,"Éĵ":147285,"ʲ":147286,"ΰ":147287,"Ѽ":147288,"Ô¿":147289,"à¡IJ":147290,"à¼ľ":147291,"ས":147292,"á¶ľ":147293,"âĤ²":147294,"âĨ¨":147295,"âĬ¥":147296,"âķ§":147297,"âĻľ":147298,"ãĭ¡":147299,"ë´¬":147300,"ë¶ij":147301,"ìī¿":147302,"ìİħ":147303,"ìł±":147304,"ì°§":147305,"ﲡ":147306,"ðĿĴĽ":147307,"ðĿķ£":147308,"ðĿĹľ":147309,"ðŁį²":147310,"ðŁİ©":147311,"ðŁIJIJ":147312,"ðŁIJł":147313,"ðŁij½":147314,"ðŁĴij":147315,"ðŁĵľ":147316,"ðŁķµ":147317,"ðŁļĮ":147318,"ðŁĽ£":147319,"Êĭ":147320,"Ó¯":147321,"Ù¸":147322,"ßĶ":147323,"ßĻ":147324,"à¡ĵ":147325,"á´į":147326,"ḿ":147327,"âıº":147328,"âĸ¥":147329,"뤽":147330,"íľij":147331,"ðĿIJ¹":147332,"ðĿĸĶ":147333,"ðĿļİ":147334,"ðŁĵĦ":147335,"ðŁ¦·":147336,"Æĥ":147337,"à¦Ł":147338,"âĮĤ":147339,"âĺŃ":147340,"â²ļ":147341,"ëĿķ":147342,"ðŁİ£":147343,"à®ĩ":147344,"à½Ĩ":147345,"áħµ":147346,"áĹľ":147347,"â̽":147348,"âĮ£":147349,"âģ½":147350,"ðŁĵ¬":147351,"ðŁ¤§":147352,"âĩª":147353,"â½£":147354,"âĹŁ":147355,"ï¨Ĺ":147356,"êĴª":147357,"ðŁĽĢ":147358,"ÇĤ":147359,"ðŁ¥¶":147360,"ðŁİį":147361,"ï¿©":147362,"ðŁijĴ":147363,"áµĪ":147364,"︿":147365,"áħ©":147366,"⾦":147367,"à°¤":147368,"á´ĸ":147369,"ਬ":147370,"àºĹ":147371,"༻":147372,"Ѻ":147373,"ਪ":147374,"á´³":147375,"ðĿIJĪ":147376,"à»Ģ":147377,"á´¿":147378,"âĤį":147379,"âĩ¡":147380,"âĽª":147381,"ðĿIJĤ":147382,"ðĿĴķ":147383,"ðŁIJľ":147384,"Êį":147385,"ѱ":147386,"à½ĥ":147387,"ë®IJ":147388,"ìĽ¡":147389,"ìľģ":147390,"ðĿIJ¿":147391,"ðĿķł":147392,"ðŁijĽ":147393,"ƪ":147394,"Ϻ":147395,"Ó¬":147396,"Ù¿":147397,"Ý£":147398,"àªī":147399,"ஹ":147400,"à½ij":147401,"áĨ¯":147402,"áµĩ":147403,"âĩ¥":147404,"âıª":147405,"âϰ":147406,"âļŃ":147407,"âļ¾":147408,"ãħĦ":147409,"ḛ̂":147410,"ê°Ĺ":147411,"ê²ĭ":147412,"ê²»":147413,"ê¶ľ":147414,"ê¼ĩ":147415,"ê½¹":147416,"ëĤŁ":147417,"ëħĪ":147418,"ëĭ¢":147419,"ë§Ł":147420,"ëªĨ":147421,"ëµĢ":147422,"ì½±":147423,"íĩĺ":147424,"íľľ":147425,"ï§¾":147426,"ï±µ":147427,"ï²¢":147428,"ﲤ":147429,"ðĿĴĬ":147430,"ðĿĺ¯":147431,"ðŁįĹ":147432,"ðŁıį":147433,"ðŁIJĺ":147434,"ðŁĵ¡":147435,"ðŁĶŀ":147436,"ðŁ¤³":147437,"ðŁ¥ģ":147438,"ðŁ¥Ĺ":147439,"ð٦Ĭ":147440,"ĵ":147441,"Ʀ":147442,"ǵ":147443,"ɯ":147444,"Îı":147445,"ÕĦ":147446,"Ü¥":147447,"à½ģ":147448,"ᨳ":147449,"âķ«":147450,"ãİī":147451,"ë·´":147452,"ìĨİ":147453,"ìİĮ":147454,"죵":147455,"íĽł":147456,"離":147457,"ï³ı":147458,"ﻺ":147459,"ðĿijģ":147460,"ðĿijĩ":147461,"ðĿĴĨ":147462,"ðŁİł":147463,"ðŁIJĶ":147464,"ðŁijŁ":147465,"Åĸ":147466,"à¤Į":147467,"á¾½":147468,"ê¦Ĵ":147469,"à®Ł":147470,"á´±":147471,"ðŁı°":147472,"ðŁIJŀ":147473,"à½Ģ":147474,"áĢħ":147475,"âĬ¿":147476,"ðŁIJ§":147477,"áĽģ":147478,"â¼Ī":147479,"âĶ¿":147480,"ðŁ¥´":147481,"⼿":147482,"ðŁ§ľ":147483,"ãħ¿":147484,"âĦ«":147485,"ã̳":147486,"ãĬĻ":147487,"â¼Ģ":147488,"怜":147489,"ðŁı¬":147490,"ðŁĵ»":147491,"áĬĽ":147492,"áĦħ":147493,"àºĬ":147494,"àºĽ":147495,"áħ³":147496,"ðŁij®":147497,"à®±":147498,"âĺĩ":147499,"ðĿIJı":147500,"à´µ":147501,"à»ģ":147502,"à½ı":147503,"ར":147504,"ᥱ":147505,"âĤ£":147506,"復":147507,"ïŃĻ":147508,"ï´©":147509,"ï¹Ĥ":147510,"ðŁį£":147511,"ðŁķ¹":147512,"Ïĸ":147513,"ම":147514,"ຢ":147515,"áĭŃ":147516,"âİĿ":147517,"âĹĿ":147518,"âĻĪ":147519,"âĻİ":147520,"ê½¥":147521,"ì³Ķ":147522,"ì¼ij":147523,"ï±°":147524,"ðĿijĥ":147525,"ðŁĮª":147526,"ðŁį¡":147527,"Åİ":147528,"ʦ":147529,"ѧ":147530,"Óİ":147531,"Ô´":147532,"ÚĪ":147533,"ßĵ":147534,"ß§":147535,"à¤Ķ":147536,"áĪ«":147537,"áε":147538,"áĹ©":147539,"á´ł":147540,"á¼ł":147541,"âĢĹ":147542,"âģij":147543,"âĦı":147544,"âĸĩ":147545,"â²£":147546,"ãĦ³":147547,"ãī®":147548,"ê³Ĺ":147549,"ëĦĴ":147550,"ëĸ«":147551,"ë¡Ħ":147552,"ë¹°":147553,"ë½ģ":147554,"ìĦģ":147555,"ìĮĺ":147556,"ìŁĮ":147557,"ì³ī":147558,"ì¼ķ":147559,"כּ":147560,"ï³İ":147561,"ﹸ":147562,"ï¹¾":147563,"ðĿIJĨ":147564,"ðĿij·":147565,"ðĿĽ¼":147566,"ðŁİı":147567,"ðŁİŀ":147568,"ðŁIJĻ":147569,"ðŁijĤ":147570,"ðŁĵģ":147571,"ðŁĸ±":147572,"ðŁļį":147573,"ðŁļ§":147574,"ðŁĽ¡":147575,"ð٤Ĵ":147576,"ðŁ¥ŀ":147577,"ðŁ¥©":147578,"ð٦Ģ":147579,"ð٦ĸ":147580,"Ë¢":147581,"Üļ":147582,"வ":147583,"áĢģ":147584,"áī°":147585,"âıŃ":147586,"âĻ¿":147587,"ê³ĺ":147588,"ëıĿ":147589,"ëķĥ":147590,"ìħĮ":147591,"ìĴ¸":147592,"ìĽŁ":147593,"íħĦ":147594,"íľ«":147595,"ï§ĺ":147596,"↓":147597,"ðŁı·":147598,"ðŁĶ§":147599,"ðŁ¥Ī":147600,"Æĸ":147601,"áŀĩ":147602,"áŀĸ":147603,"âģº":147604,"âĹľ":147605,"âŀ©":147606,"ê¦Ń":147607,"ëϤ":147608,"ïѼ":147609,"ðĿĻĸ":147610,"ðĿĻ£":147611,"ðĿϤ":147612,"ðŁĮĿ":147613,"ðŁĶij":147614,"ðŁĽł":147615,"àºĩ":147616,"âĺ£":147617,"ãĦ¨":147618,"ðĿĸĹ":147619,"Óĵ":147620,"âĨ£":147621,"ðŁ¥ī":147622,"ðŁĮł":147623,"ðŁĺ½":147624,"ãİł":147625,"ŧ":147626,"ðŁIJĴ":147627,"ï§IJ":147628,"ðŁĺ¿":147629,"âά":147630,"ðŁIJ®":147631,"⣱":147632,"ಡ":147633,"â¾¼":147634,"à°²":147635,"˶":147636,"âĸ¿":147637,"ÕĪ":147638,"áŀİ":147639,"áħ¥":147640,"áŀĹ":147641,"Õ§":147642,"ð٤IJ":147643,"ðŁįł":147644,"ত":147645,"ය":147646,"âĻį":147647,"ìĺĻ":147648,"íĺĵ":147649,"ﹺ":147650,"ðŁĽ³":147651,"Åī":147652,"á´İ":147653,"âıľ":147654,"âͳ":147655,"긷":147656,"ì¡Ķ":147657,"ðĿĴĪ":147658,"ðĿĴį":147659,"ðĿĴ¹":147660,"ðĿĵĩ":147661,"ðĿķŁ":147662,"ðĿĹ¹":147663,"ðŁĮħ":147664,"ðŁı´":147665,"ÄĶ":147666,"Ĥ":147667,"ŵ":147668,"Ǿ":147669,"Ïŀ":147670,"϶":147671,"Ô³":147672,"ÜĨ":147673,"ß©":147674,"à¡Ĵ":147675,"à¤ĺ":147676,"à¶ļ":147677,"à½ĸ":147678,"áģĬ":147679,"áĥŀ":147680,"áĦĤ":147681,"áĭ«":147682,"á´º":147683,"ḣ":147684,"Ḫ":147685,"á¹Ĥ":147686,"á¼·":147687,"á¿ĩ":147688,"âĩĮ":147689,"âı¬":147690,"âĻĮ":147691,"⮣":147692,"â´»":147693,"ⵣ":147694,"ê¦ķ":147695,"ꦪ":147696,"ꦮ":147697,"ê²Ħ":147698,"ê¾IJ":147699,"ëĥij":147700,"ëķĭ":147701,"롸":147702,"ë¬Ģ":147703,"ìĩ¤":147704,"ìĪ©":147705,"ìľķ":147706,"ìŃĺ":147707,"ì·°":147708,"ì·¸":147709,"íľĢ":147710,"藍":147711,"ï§į":147712,"ï±Ħ":147713,"ï³ij":147714,"ðĿIJ¤":147715,"ðĿĴĵ":147716,"ðĿĴ¶":147717,"ðĿĹ¼":147718,"ðĿĻĬ":147719,"ðŁĩ¾":147720,"ðŁĮĽ":147721,"ðŁĮ®":147722,"ðŁİĩ":147723,"ðŁİ²":147724,"ðŁıĽ":147725,"ðŁij¥":147726,"ðŁij´":147727,"ðŁĴĨ":147728,"ðŁĵĤ":147729,"ðŁĵ§":147730,"ðŁķIJ":147731,"ðŁĸķ":147732,"ðŁĺ§":147733,"ðŁĻĢ":147734,"ðŁļĴ":147735,"ðŁĽ«":147736,"ðŁ¤ł":147737,"ðŁ¥ļ":147738,"ðŁ¥Ľ":147739,"ðŁ¥£":147740,"ǯ":147741,"ȧ":147742,"ÎĬ":147743,"Ò²":147744,"×°":147745,"Ûij":147746,"áĥ©":147747,"áĦĮ":147748,"áĪį":147749,"áī¥":147750,"áıĤ":147751,"âģ±":147752,"âĬ¢":147753,"âĹĵ":147754,"âĿ°":147755,"ë¿¡":147756,"ìĽ©":147757,"íģŃ":147758,"íĨ³":147759,"íĬĦ":147760,"íĵ¸":147761,"北":147762,"若":147763,"ï±IJ":147764,"ﱯ":147765,"ï³ļ":147766,"ðĿĸĺ":147767,"ðĿĺĢ":147768,"ðŁIJĬ":147769,"ðŁIJĮ":147770,"ðŁijļ":147771,"ðŁĵĥ":147772,"ðŁļĽ":147773,"ðŁļª":147774,"ðŁ¤°":147775,"Ä´":147776,"áĥ®":147777,"áŨ":147778,"âĻ®":147779,"â²ŀ":147780,"ãĪĶ":147781,"ìħį":147782,"ãħĥ":147783,"率":147784,"ມ":147785,"Õİ":147786,"Õº":147787,"⬼":147788,"⽤":147789,"ðĿIJ²":147790,"âŀµ":147791,"áĢĽ":147792,"âĶħ":147793,"âĨŁ":147794,"â¼Ĭ":147795,"ðŁĮ½":147796,"ðŁļ¿":147797,"ï¦Ĭ":147798,"ãĦ£":147799,"⼩":147800,"ï©Ľ":147801,"ðŁį±":147802,"⾨":147803,"à´¤":147804,"áŀģ":147805,"àºŀ":147806,"Êļ":147807,"ðĿIJĴ":147808,"à´±":147809,"áŀľ":147810,"ன":147811,"à°Ĺ":147812,"à´ļ":147813,"âĩ£":147814,"ï¦ķ":147815,"Õħ":147816,"Æĺ":147817,"âĤ¦":147818,"âĶĦ":147819,"ï¦Ł":147820,"嶺":147821,"ðĿIJģ":147822,"ðĿIJĥ":147823,"ðŁį¸":147824,"ðŁIJ²":147825,"Ŷ":147826,"Éĸ":147827,"ßĺ":147828,"ฦ":147829,"à½Ķ":147830,"áĨ·":147831,"âģķ":147832,"âĵĤ":147833,"âĿľ":147834,"便":147835,"אַ":147836,"ðĿĹĿ":147837,"ðĿĹ¿":147838,"ðŁİ¾":147839,"ðŁĹĿ":147840,"ð٦Į":147841,"Æħ":147842,"Ǫ":147843,"ÒĹ":147844,"ÜĽ":147845,"ßł":147846,"à¡ij":147847,"áī£":147848,"áĬŃ":147849,"ṡ":147850,"âŀ¼":147851,"âŀ¾":147852,"â´±":147853,"ãī¡":147854,"곯":147855,"ë½Ī":147856,"ìĤĺ":147857,"ìīij":147858,"ì«ĺ":147859,"íĮĥ":147860,"íϰ":147861,"ï¤Ĺ":147862,"ðŁĮ¬":147863,"ðŁĮ°":147864,"ðŁį¤":147865,"Ä»":147866,"Åĩ":147867,"ƨ":147868,"Éķ":147869,"Ò¢":147870,"Òº":147871,"Öį":147872,"×±":147873,"Ú±":147874,"Ú½":147875,"ÛIJ":147876,"à¤Ľ":147877,"à·Ģ":147878,"à¹ļ":147879,"ຫ":147880,"á´¹":147881,"á½Ķ":147882,"á¾³":147883,"âĤĴ":147884,"âĨ´":147885,"âĩĿ":147886,"âīħ":147887,"âĮ¨":147888,"âĵĵ":147889,"âĸ¢":147890,"âļ¬":147891,"âŀŃ":147892,"â²Ĵ":147893,"ãİ¿":147894,"ê¿´":147895,"ëα":147896,"ëį¬":147897,"ëİIJ":147898,"ëIJ«":147899,"ëĶ«":147900,"ë±ģ":147901,"ìĥ¥":147902,"íĮ¼":147903,"ïŃĵ":147904,"ﮥ":147905,"ï²°":147906,"ðĿIJĩ":147907,"ðĿIJij":147908,"ðĿijĮ":147909,"ðĿĵª":147910,"ðĿķļ":147911,"ðĿĺª":147912,"ðĿĺ¼":147913,"ðĿļĽ":147914,"ðŁĩ¶":147915,"ðŁĮĦ":147916,"ðŁĮķ":147917,"ðŁĮ¤":147918,"ðŁĮ§":147919,"ðŁį¬":147920,"ðŁİĭ":147921,"ðŁİ»":147922,"ðŁı¨":147923,"ðŁIJĩ":147924,"ðŁijĵ":147925,"ðŁĵIJ":147926,"ðŁĵĻ":147927,"ðŁĶ¼":147928,"ðŁķĴ":147929,"ðŁĸı":147930,"ðŁĸ¥":147931,"ðŁ¤¬":147932,"ðŁ¥Ĭ":147933,"ðŁ¥Ĵ":147934,"ßĮ":147935,"àºĦ":147936,"á¼µ":147937,"âķ¡":147938,"Ⲥ":147939,"â´¼":147940,"âµ¢":147941,"ãΝ":147942,"ëĵ¸":147943,"ëŁĩ":147944,"ëºį":147945,"ðĿϧ":147946,"ðŁįĪ":147947,"ðŁĶ¬":147948,"ðŁĸĬ":147949,"ðŁ¤¾":147950,"Ë¡":147951,"Ü©":147952,"âĮ¡":147953,"âŃij":147954,"Ⲧ":147955,"ë©ī":147956,"ì¼Ń":147957,"¦":147958,"ðĿĴİ":147959,"ðĿĹ¥":147960,"ðŁIJµ":147961,"ðŁķ¶":147962,"ðŁķ¸":147963,"ðŁ¤ľ":147964,"Õª":147965,"áĪĭ":147966,"ðŁ¥µ":147967,"ï°ģ":147968,"áµIJ":147969,"âķĵ":147970,"áĢĸ":147971,"âĭĪ":147972,"Éŀ":147973,"âŀ®":147974,"॰":147975,"ãĨģ":147976,"ðŁĴ±":147977,"ðŁıŃ":147978,"áĨ¨":147979,"ðŁįļ":147980,"ð٦IJ":147981,"á´»":147982,"âĺĮ":147983,"à´ķ":147984,"Õ±":147985,"áħ®":147986,"ðĿIJĮ":147987,"Ŧ":147988,"àºķ":147989,"âľĻ":147990,"˳":147991,"Ôµ":147992,"âķĴ":147993,"ðĿĹĹ":147994,"ðĿĹł":147995,"Úļ":147996,"ধ":147997,"âĨĿ":147998,"âĻī":147999,"ãĮ»":148000,"ì¹Ĭ":148001,"ðĿĹº":148002,"ð٧ĺ":148003,"ì³£":148004,"ï¬Ŀ":148005,"ðŁijº":148006,"ÇŁ":148007,"ÎĪ":148008,"Ϋ":148009,"Ñ¥":148010,"Ô²":148011,"Õ¨":148012,"ܦ":148013,"à¦Ĩ":148014,"থ":148015,"áIJ¢":148016,"á¼ģ":148017,"á¼ĺ":148018,"ἦ":148019,"âĵĿ":148020,"ãΰ":148021,"ãİĹ":148022,"겡":148023,"ë¨Ģ":148024,"ì£Ķ":148025,"ì´¤":148026,"ìµĿ":148027,"ï§´":148028,"ïŃĬ":148029,"ï²Ł":148030,"ðĿIJ·":148031,"ðĿijĭ":148032,"ðĿĵī":148033,"ðĿĺµ":148034,"ðŁĴ·":148035,"ðŁĽ©":148036,"ðŁ§¹":148037,"ÅĶ":148038,"Êŀ":148039,"Ë¥":148040,"ÎĮ":148041,"Ñ©":148042,"ÓIJ":148043,"Ół":148044,"Úij":148045,"ÚĴ":148046,"ߨ":148047,"àªĪ":148048,"áIJĥ":148049,"ṯ":148050,"âĤĭ":148051,"âĤµ":148052,"âĦħ":148053,"âĦł":148054,"âĪ£":148055,"âīº":148056,"âī»":148057,"âĬĽ":148058,"âĮIJ":148059,"âİĵ":148060,"âĺ¸":148061,"âĻĴ":148062,"âļĴ":148063,"âľĩ":148064,"âľł":148065,"â´·":148066,"âµĸ":148067,"ãĦ¸":148068,"ãī¢":148069,"ãī°":148070,"êĩ´":148071,"ê´¸":148072,"êºł":148073,"ëĤı":148074,"ëĤ¢":148075,"ëIJĢ":148076,"뺴":148077,"ìĥľ":148078,"ìįħ":148079,"줫":148080,"챦":148081,"ìºij":148082,"ì¼ģ":148083,"쿳":148084,"íĤģ":148085,"íħ¡":148086,"íĴĤ":148087,"íĴī":148088,"íľĦ":148089,"ïŃª":148090,"ﮬ":148091,"ﯦ":148092,"ﱪ":148093,"ï²ı":148094,"ï´Ģ":148095,"ï»Ĩ":148096,"₩":148097,"ðĿijĹ":148098,"ðĿĸĻ":148099,"ðŁĮ¡":148100,"ðŁįĿ":148101,"ðŁį§":148102,"ðŁİ«":148103,"ðŁıĺ":148104,"ðŁıª":148105,"ðŁIJĭ":148106,"ðŁIJĽ":148107,"ðŁIJº":148108,"ðŁijĸ":148109,"ðŁijŀ":148110,"ðŁij·":148111,"ðŁĵĢ":148112,"ðŁĶĦ":148113,"ðŁĶĮ":148114,"ðŁķĻ":148115,"ðŁĻį":148116,"ðŁĻİ":148117,"ð٦į":148118,"ǰ":148119,"ÉŁ":148120,"ÊĨ":148121,"Ô¼":148122,"Úľ":148123,"ড":148124,"শ":148125,"áĴĥ":148126,"Ἡ":148127,"âĵķ":148128,"â²Ī":148129,"ê°°":148130,"ê¹ł":148131,"êºħ":148132,"ëĦ¹":148133,"ë¯ĵ":148134,"íIJĪ":148135,"ï§¶":148136,"ï®ij":148137,"ﲨ":148138,"ðĿĴī":148139,"ðĿĴĶ":148140,"ðĿŨ":148141,"ðĿĻŀ":148142,"ðĿļĴ":148143,"ðĿļķ":148144,"ðŁIJİ":148145,"ð٤ķ":148146,"ð٧Ķ":148147,"ϰ":148148,"ÔĿ":148149,"âĮĬ":148150,"âĴ¾":148151,"ãī£":148152,"ïŃ©":148153,"ðĿļŀ":148154,"Êij":148155,"দ":148156,"áĦĩ":148157,"âīĥ":148158,"â²Ģ":148159,"ìŁİ":148160,"ðĿij¶":148161,"ðĿĵ²":148162,"ðŁİ·":148163,"ðŁļ¹":148164,"àºģ":148165,"áłł":148166,"ãĦļ":148167,"ðŁIJ¿":148168,"áĽļ":148169,"âķ³":148170,"ðŁIJŃ":148171,"âĴ¹":148172,"ðĿĸļ":148173,"âĻĸ":148174,"ãβ":148175,"âĨ¾":148176,"áĦĨ":148177,"âķĽ":148178,"ð٤į":148179,"â½¥":148180,"ðŁĮ¨":148181,"âĪ®":148182,"ãĮĺ":148183,"ãįij":148184,"ï¹Ģ":148185,"âĵĹ":148186,"âĬĦ":148187,"ðŁı¹":148188,"ËĴ":148189,"ðŁ¤±":148190,"ãıľ":148191,"ðŁİĮ":148192,"ï¥Ń":148193,"ণ":148194,"ðŁİ¹":148195,"ãĬŁ":148196,"à´°":148197,"ðĿIJĶ":148198,"à´¨":148199,"à½ļ":148200,"âľº":148201,"Õ·":148202,"ðŁij³":148203,"à¦ľ":148204,"âĺĭ":148205,"âĻĬ":148206,"ãĢĽ":148207,"Èĭ":148208,"à®°":148209,"áĥ¨":148210,"âĦķ":148211,"íijĢ":148212,"ðĿĵĥ":148213,"ð٦Ķ":148214,"Ä¿":148215,"ÅĢ":148216,"Ƴ":148217,"Éļ":148218,"Öĥ":148219,"Ü£":148220,"ߣ":148221,"à¦Ń":148222,"à§¡":148223,"à¶»":148224,"ຣ":148225,"à½ĩ":148226,"Ḩ":148227,"á½Ī":148228,"⽬":148229,"ê¡Ķ":148230,"ì³Ħ":148231,"ï¨ī":148232,"ðĿIJ¡":148233,"ðĿĺ¢":148234,"ðŁį¿":148235,"ðŁİŁ":148236,"ðŁıī":148237,"ðŁĶIJ":148238,"ðŁļħ":148239,"ðŁ¤½":148240,"Æį":148241,"Ç«":148242,"ǽ":148243,"Èļ":148244,"Îī":148245,"Ó¤":148246,"Óª":148247,"ÕĬ":148248,"Ù¼":148249,"Ú´":148250,"ßĿ":148251,"à¶ľ":148252,"á¼ķ":148253,"á¿¥":148254,"âİŀ":148255,"ãĢļ":148256,"ãī¤":148257,"곸":148258,"ê·ģ":148259,"ëĵĦ":148260,"ëĵķ":148261,"ì¨Ķ":148262,"챨":148263,"ðĿIJ¾":148264,"ðĿij»":148265,"ðĿͼ":148266,"ðĿķĿ":148267,"ðĿĺŃ":148268,"ðŁĨĻ":148269,"ðŁĵ¤":148270,"ðŁĶŁ":148271,"ðŁĹ¼":148272,"Äľ":148273,"Æģ":148274,"Æ¿":148275,"dz":148276,"Ç·":148277,"Éĥ":148278,"Éł":148279,"Êī":148280,"ʧ":148281,"˲":148282,"Ï´":148283,"Õģ":148284,"Õŀ":148285,"Öĩ":148286,"ÛĤ":148287,"Ûĵ":148288,"ßĹ":148289,"ߦ":148290,"হ":148291,"ள":148292,"à´¸":148293,"à»Ĥ":148294,"áĪĿ":148295,"áĪª":148296,"áĭµ":148297,"áIJĬ":148298,"áĴª":148299,"áļĸ":148300,"áŀĽ":148301,"á´¢":148302,"áµı":148303,"áµŃ":148304,"á¶«":148305,"á¸ı":148306,"áºĴ":148307,"á¼¥":148308,"á½ķ":148309,"á½¼":148310,"âĤĬ":148311,"âĦĤ":148312,"âĦ©":148313,"âĩī":148314,"âī£":148315,"âĮł":148316,"âİŁ":148317,"âı®":148318,"âķĺ":148319,"âĹĸ":148320,"âĺ©":148321,"âĻij":148322,"âϲ":148323,"âļĽ":148324,"ãĦŁ":148325,"ãī±":148326,"ãİļ":148327,"ê¡ķ":148328,"êªĸ":148329,"ê°¹":148330,"ê²Ĩ":148331,"êµĦ":148332,"ëĩ¬":148333,"ëĭ¯":148334,"ëıł":148335,"ëĴ¬":148336,"ëĸĪ":148337,"ëĸ½":148338,"ëĺĶ":148339,"ëŀ¸":148340,"ë¸ħ":148341,"뻳":148342,"ë¿Ł":148343,"ìĤµ":148344,"ìĬī":148345,"ìľ°":148346,"ìłĭ":148347,"ìłĶ":148348,"쥡":148349,"ìŃĿ":148350,"켬":148351,"íĪĩ":148352,"íīľ":148353,"íįĦ":148354,"íĽ¾":148355,"íĿ£":148356,"朗":148357,"勞":148358,"ï¦ľ":148359,"獵":148360,"ï§ľ":148361,"ï¨Ī":148362,"שׁ":148363,"הּ":148364,"ïѽ":148365,"ï®ī":148366,"ï¯ŀ":148367,"ï°Ĵ":148368,"ï±ĩ":148369,"ï¿Ħ":148370,"ðĿIJħ":148371,"ðĿijĦ":148372,"ðĿijº":148373,"ðĿĴĹ":148374,"ðĿĵ®":148375,"ðĿķĽ":148376,"ðĿķŀ":148377,"ðĿĸij":148378,"ðĿĺģ":148379,"ðĿĺĨ":148380,"ðĿĺ¶":148381,"ðĿĻ¢":148382,"ðĿļľ":148383,"ðŁĮĥ":148384,"ðŁĮ¦":148385,"ðŁįŁ":148386,"ðŁİİ":148387,"ðŁıĻ":148388,"ðŁIJ©":148389,"ðŁIJ«":148390,"ðŁIJ´":148391,"ðŁijĶ":148392,"ðŁĵī":148393,"ðŁĵĽ":148394,"ðŁĶī":148395,"ðŁĸ¼":148396,"ðŁĹĥ":148397,"ðŁĹ¯":148398,"ðŁļĩ":148399,"ðŁļIJ":148400,"ðŁļµ":148401,"ðŁ¤¶":148402,"ðŁ¥ĭ":148403,"ðŁ¥ĵ":148404,"ðŁ¥®":148405,"ð٦İ":148406,"ðŁ¦ł":148407,"ð٧Ĵ":148408,"ðŁ§¨":148409,"ÆIJ":148410,"Çį":148411,"ÓĢ":148412,"ÔĽ":148413,"ರ":148414,"à´Ļ":148415,"áĢĴ":148416,"ê²Ŀ":148417,"ê¹¹":148418,"ë©¥":148419,"ìĸĶ":148420,"ï¤ģ":148421,"ï¤ı":148422,"ï¦ī":148423,"ï¦ĵ":148424,"ï§ī":148425,"ï²Ŀ":148426,"ðĿĹŀ":148427,"ðĿű":148428,"ðŁĮĭ":148429,"ðŁį¶":148430,"à¦ļ":148431,"ìķľ":148432,"ðĿIJ¯":148433,"ðĿļĿ":148434,"à°¨":148435,"à½ĺ":148436,"à½ł":148437,"á¡¥":148438,"á¾°":148439,"âģį":148440,"âͰ":148441,"⬾":148442,"ðĿIJł":148443,"ðĿij¯":148444,"ðĿĹĽ":148445,"ðĿĵ»":148446,"ðĿĸĪ":148447,"âŀ»":148448,"áŀł":148449,"⡱":148450,"â»ij":148451,"ðŁ§µ":148452,"廉":148453,"ðŁijĺ":148454,"ãĤĶ":148455,"â¼Ł":148456,"ãĬ¤":148457,"ï¦Ŀ":148458,"ãĮ¦":148459,"â̏":148460,"ðŁĶĻ":148461,"ã¹":148462,"㹦":148463,"ï¹ħ":148464,"ï©Į":148465,"ãī¨":148466,"︽":148467,"âį¥":148468,"ðŁļī":148469,"ðŁ¥ľ":148470,"âĵľ":148471,"â»Ŀ":148472,"ï¨ľ":148473,"ðŁĴĴ":148474,"áĦij":148475,"â¾ŀ":148476,"ï¨ģ":148477,"à´ª":148478,"áĦİ":148479,"âŀ´":148480,"ষ":148481,"áħ¬":148482,"áŀ§":148483,"âĨ¢":148484,"âķ¦":148485,"âľij":148486,"ˬ":148487,"ÕIJ":148488,"à¼Ķ":148489,"ʤ":148490,"˨":148491,"à¤ŀ":148492,"à»ĥ":148493,"à¼ļ":148494,"âĵ¥":148495,"âķľ":148496,"ðŁIJĸ":148497,"á¼Ļ":148498,"ἤ":148499,"ìĨ°":148500,"ÈĤ":148501,"ʱ":148502,"à®ļ":148503,"áĥ§":148504,"á´ĭ":148505,"á´®":148506,"âĿ¡":148507,"âŀ·":148508,"ëĿ¡":148509,"ï§¢":148510,"ﯡ":148511,"ðĿķķ":148512,"ðŁħ°":148513,"ðŁ¦¸":148514,"Ǹ":148515,"Óŀ":148516,"Ô¶":148517,"ÖĨ":148518,"Úģ":148519,"Ûĭ":148520,"áİ¥":148521,"᾿":148522,"âĶŃ":148523,"âĶ®":148524,"êĢĢ":148525,"ê±ĺ":148526,"ëIJŃ":148527,"ë½Ħ":148528,"ìĶIJ":148529,"ì¸Į":148530,"íģł":148531,"íϱ":148532,"ï¥ī":148533,"ï¨ĸ":148534,"ðĿij´":148535,"ðĿĸĴ":148536,"ðĿĺ¨":148537,"ðĿļĮ":148538,"ðŁIJ¡":148539,"ðŁij¢":148540,"ðŁĵĶ":148541,"Åħ":148542,"Æİ":148543,"È©":148544,"Òª":148545,"Ôĥ":148546,"áĥ«":148547,"á¸ĩ":148548,"⼣":148549,"ê»Ń":148550,"ë¨Ħ":148551,"ìŁĢ":148552,"줴":148553,"íļIJ":148554,"盧":148555,"ðŁŁ¢":148556,"Ƨ":148557,"ȼ":148558,"ÊĿ":148559,"ËĦ":148560,"Ëħ":148561,"Ëį":148562,"˧":148563,"Ò¥":148564,"ÕĶ":148565,"Øı":148566,"ؼ":148567,"ßIJ":148568,"ßľ":148569,"à¤ĵ":148570,"à¦Ļ":148571,"à®ĵ":148572,"à¶´":148573,"à¼į":148574,"à¼Ĵ":148575,"ལ":148576,"áĢĤ":148577,"áĢĬ":148578,"áĦĦ":148579,"áĪĺ":148580,"áĭĬ":148581,"áĮį":148582,"áijĭ":148583,"áŀĤ":148584,"áł¢":148585,"á¡Ŀ":148586,"á´¦":148587,"áµį":148588,"ᵨ":148589,"ḡ":148590,"ḯ":148591,"á¼£":148592,"âģĤ":148593,"âĦĺ":148594,"âĦľ":148595,"âĦ³":148596,"âĦµ":148597,"âĨ¦":148598,"âĩĨ":148599,"âĪ·":148600,"âĬļ":148601,"âĮ«":148602,"âĮ¯":148603,"âİĽ":148604,"âİľ":148605,"âݤ":148606,"âݦ":148607,"âİ®":148608,"âijī":148609,"âĶī":148610,"âķĻ":148611,"âĸĤ":148612,"âĹŃ":148613,"âĺĬ":148614,"âĺį":148615,"âĺĴ":148616,"âļĨ":148617,"⼧":148618,"âĽ²":148619,"âŀĺ":148620,"â¥Ħ":148621,"â´³":148622,"â´½":148623,"âµĪ":148624,"ãī¯":148625,"ãİij":148626,"㧬":148627,"êϬ":148628,"ê§ģ":148629,"곬":148630,"ê´ŀ":148631,"ê»ľ":148632,"ëħĵ":148633,"ëĭ¼":148634,"ëįĸ":148635,"ëĸ±":148636,"ëĿ°":148637,"롹":148638,"뢴":148639,"ë£Ģ":148640,"뤳":148641,"ë¨ķ":148642,"ëŃ¥":148643,"ìĦ¶":148644,"ìħ¤":148645,"ìĮķ":148646,"ìįª":148647,"ìı©":148648,"ìĴĢ":148649,"ì͝":148650,"ìĿĶ":148651,"ìĿľ":148652,"ìłŃ":148653,"짦":148654,"쨩":148655,"첬":148656,"ì³¥":148657,"켯":148658,"íĢ«":148659,"íĢŃ":148660,"íĥ¸":148661,"íĵģ":148662,"íķ¬":148663,"íŸ":148664,"íĽķ":148665,"íľŃ":148666,"íĿĹ":148667,"ï¤Į":148668,"浪":148669,"ï§¿":148670,"ï¬Ħ":148671,"ï¬ħ":148672,"ïŃij":148673,"ïŃ«":148674,"ïŃº":148675,"ï®Ĥ":148676,"ﮢ":148677,"ﮨ":148678,"ï°İ":148679,"ï°ł":148680,"ï²£":148681,"ï³IJ":148682,"ï³Ĵ":148683,"ï³ĺ":148684,"ï³ľ":148685,"ï¹¼":148686,"│":148687,"ðĿIJ©":148688,"ðĿĴļ":148689,"ðĿķĶ":148690,"ðĿķ¤":148691,"ðĿĸĮ":148692,"ðĿĹ£":148693,"ðĿŰ":148694,"ðĿĹ´":148695,"ðĿĺĤ":148696,"ðĿĺ¥":148697,"ðĿĺ®":148698,"ðĿĺ¸":148699,"ðĿĻĢ":148700,"ðĿĽ¾":148701,"ðĿľı":148702,"ðŁĮģ":148703,"ðŁĮľ":148704,"ðŁĮ¥":148705,"ðŁĮ¯":148706,"ðŁįIJ":148707,"ðŁİĴ":148708,"ðŁıĶ":148709,"ðŁıķ":148710,"ðŁı®":148711,"ðŁIJĤ":148712,"ðŁIJī":148713,"ðŁIJ¹":148714,"ðŁĶķ":148715,"ðŁĶļ":148716,"ðŁķij":148717,"ðŁķ£":148718,"ðŁĹŀ":148719,"ðŁĹ¡":148720,"ðŁĹ¿":148721,"ðŁļĨ":148722,"ðŁļĬ":148723,"ðŁļĵ":148724,"ðŁļķ":148725,"ðŁļ¾":148726,"ðŁĽģ":148727,"ðŁĽİ":148728,"ðŁĽı":148729,"ðŁ¤´":148730,"ðŁ¥ķ":148731,"ðŁ¥ĸ":148732,"ðŁ¥ł":148733,"ðŁ¥¥":148734,"ð٦Ĩ":148735,"ð٦ī":148736,"ð٦ļ":148737,"ð٧ij":148738,"ðŁ§¥":148739,"ðŁ§¿":148740,"Ű":148741,"ƺ":148742,"ɧ":148743,"àªĩ":148744,"ண":148745,"áĪĪ":148746,"áĬ¤":148747,"áĭ®":148748,"áĮĪ":148749,"áĮµ":148750,"ᥲ":148751,"âĵŁ":148752,"êϳ":148753,"ê°Ĭ":148754,"ëķģ":148755,"ëķ¨":148756,"ìĬģ":148757,"例":148758,"גּ":148759,"ðĿĸį":148760,"ðĿĺĮ":148761,"ðĿĺ³":148762,"ðĿĻ©":148763,"ðŁįĻ":148764,"ðŁĸĸ":148765,"áī³":148766,"áĭ¨":148767,"áĸĩ":148768,"áŀĮ":148769,"á¹§":148770,"âķª":148771,"âŀļ":148772,"â²ĺ":148773,"êķ":148774,"êķ¥":148775,"路":148776,"ﮣ":148777,"ï¯ł":148778,"ðĿĴĸ":148779,"ðĿķĺ":148780,"ðĿĸĩ":148781,"ðĿĹŁ":148782,"ðĿĹª":148783,"ðĿĹ¯":148784,"ðĿĻł":148785,"ðŁĵı":148786,"à¦Ĺ":148787,"âĴ»":148788,"â²ł":148789,"ðĿĵµ":148790,"Ê£":148791,"à°ľ":148792,"áĬ¢":148793,"áŀIJ":148794,"ḷ":148795,"âĦĽ":148796,"âĩĢ":148797,"âĩĬ":148798,"êĴ¦":148799,"ê¦ł":148800,"ﮤ":148801,"ðŁįĽ":148802,"ðŁ¤Ľ":148803,"ᨾ":148804,"âŀº":148805,"áķ¯":148806,"áĽı":148807,"âĩĤ":148808,"â͹":148809,"âĻĹ":148810,"ðŁĸ¨":148811,"ê¦ı":148812,"ર":148813,"áļ¨":148814,"ðŁ¤¥":148815,"ðŁ§¢":148816,"ãIJĤ":148817,"ãĦ¥":148818,"ðŁĸĮ":148819,"â¼Ĵ":148820,"ãĬ§":148821,"âį©":148822,"ð٦ij":148823,"âĶ·":148824,"ï©IJ":148825,"ï©¡":148826,"ðĵĪ":148827,"ðĵĪĴ":148828,"â»Ħ":148829,"ï¨Ĵ":148830,"âĦª":148831,"Ò§":148832,"ÚĮ":148833,"â̶":148834,"âºł":148835,"â»ģ":148836,"âĨ¸":148837,"áĦIJ":148838,"ãħIJ":148839,"à»Ħ":148840,"áĹª":148841,"âĨ¼":148842,"âĩĭ":148843,"âĩĺ":148844,"âĮij":148845,"âĸ©":148846,"ðĿIJĹ":148847,"ÄĬ":148848,"à¦ī":148849,"ìīł":148850,"ɤ":148851,"ßį":148852,"ßı":148853,"áµĹ":148854,"âĤ¥":148855,"âĵī":148856,"âĶł":148857,"â͍":148858,"âķĦ":148859,"ä¤":148860,"ä¤Ģ":148861,"껸":148862,"ï®ģ":148863,"ðĵĤ":148864,"ðĵĤĥ":148865,"ð٦ķ":148866,"ÆĽ":148867,"à¦ĩ":148868,"ãıĺ":148869,"﮼":148870,"Úĵ":148871,"ÚĿ":148872,"à¦ĵ":148873,"ද":148874,"á´ħ":148875,"á½Ļ":148876,"âģ¼":148877,"âĸİ":148878,"⼩":148879,"äĶ":148880,"äĶĢ":148881,"뻡":148882,"ìĽ½":148883,"íģĦ":148884,"良":148885,"ï±ī":148886,"ï¹»":148887,"ðĿĸĭ":148888,"ðĿĻĪ":148889,"ðĿĻª":148890,"ðĿ϶":148891,"ðŁIJĦ":148892,"ðŁIJĨ":148893,"áİ¢":148894,"á¸Į":148895,"âĿ´":148896,"ðŁı¸":148897,"ÈĿ":148898,"ɸ":148899,"Îħ":148900,"Ïľ":148901,"Ó¢":148902,"Õ¹":148903,"à´ħ":148904,"àºĪ":148905,"áĭ°":148906,"áijİ":148907,"áłµ":148908,"á¡ł":148909,"á´ī":148910,"ḵ":148911,"á¿´":148912,"âĵ£":148913,"âͶ":148914,"⽯":148915,"ê²¥":148916,"ê¿ĺ":148917,"ëģİ":148918,"ëİĪ":148919,"ë͝":148920,"ë²°":148921,"ìĺ¯":148922,"ìĽ¸":148923,"ìŀĹ":148924,"ì§ĺ":148925,"쬬":148926,"ì·¬":148927,"íģħ":148928,"íĵĶ":148929,"íĽĿ":148930,"冷":148931,"魯":148932,"沈":148933,"ï¯ĸ":148934,"ðĿĵħ":148935,"ðĿĻĦ":148936,"ðŁĵ¶":148937,"ðŁĹĴ":148938,"ðŁ¥Ķ":148939,"ðŁ¥Ń":148940,"Å®":148941,"Å´":148942,"Æī":148943,"Æ«":148944,"Çģ":148945,"Ç£":148946,"Ǻ":148947,"Ǽ":148948,"Èį":148949,"ȯ":148950,"Éľ":148951,"ʬ":148952,"Ëģ":148953,"ˤ":148954,"˵":148955,"ÏĽ":148956,"Ò¤":148957,"Ò¬":148958,"Óı":148959,"ÓĽ":148960,"Ó¡":148961,"Ó³":148962,"ÔĮ":148963,"Ô¬":148964,"Õ³":148965,"Ù»":148966,"Úī":148967,"Ú§":148968,"Üľ":148969,"ߪ":148970,"à¤Ŀ":148971,"à¦Ľ":148972,"à¨Ĩ":148973,"àªķ":148974,"ડ":148975,"à®İ":148976,"à°¬":148977,"ൻ":148978,"ർ":148979,"à¶ł":148980,"à¶Ń":148981,"à¶¶":148982,"à·Ĩ":148983,"༽":148984,"áĢļ":148985,"áħ¢":148986,"áĨ¸":148987,"áĪĢ":148988,"áĪķ":148989,"áΰ":148990,"áī¡":148991,"áī¤":148992,"áĬ¦":148993,"áĬ«":148994,"áĭĭ":148995,"áĭį":148996,"áݯ":148997,"áijŃ":148998,"áķĹ":148999,"᣼":149000,"á¥Ĵ":149001,"á©ī":149002,"áŃº":149003,"á´¡":149004,"áµĺ":149005,"ᵼ":149006,"á¶ł":149007,"á¸ģ":149008,"á¸ĭ":149009,"á¹Ļ":149010,"á¹Ŀ":149011,"Ṧ":149012,"áºħ":149013,"á¼Ĥ":149014,"á½ĥ":149015,"á½į":149016,"á½§":149017,"á¾·":149018,"â̵":149019,"âĤİ":149020,"âĦĿ":149021,"âħĢ":149022,"âĨŀ":149023,"âĨ§":149024,"âĩħ":149025,"âĪĥ":149026,"âīı":149027,"âī½":149028,"âĬŀ":149029,"âĬ¡":149030,"âĬ§":149031,"âĬ¶":149032,"âĭĦ":149033,"âİĴ":149034,"âİ¡":149035,"âİ£":149036,"âݪ":149037,"âıİ":149038,"âĵĥ":149039,"âĵĸ":149040,"âĵ¨":149041,"âķĭ":149042,"âķĸ":149043,"âķ¢":149044,"âķ²":149045,"âĸĨ":149046,"âĸĬ":149047,"âĸį":149048,"âĸ®":149049,"âĺ¡":149050,"âĺ¦":149051,"âĺ±":149052,"âĺ¿":149053,"âĻĺ":149054,"âĻĿ":149055,"âļ°":149056,"âĽij":149057,"âŀª":149058,"â¤Ŀ":149059,"⤢":149060,"⤷":149061,"â§«":149062,"â¨Ń":149063,"⨯":149064,"â±£":149065,"â²İ":149066,"⵼":149067,"ãħĶ":149068,"ãĪı":149069,"ãī²":149070,"ãī³":149071,"ãĬij":149072,"ãĭĽ":149073,"ãİIJ":149074,"겤":149075,"ê·¿":149076,"ê¹ŀ":149077,"껨":149078,"ê¼į":149079,"꿸":149080,"ëĥ¬":149081,"ëĩIJ":149082,"ëĭł":149083,"ëį¯":149084,"ëĹĮ":149085,"ëĹij":149086,"ë¥Ģ":149087,"ëªĥ":149088,"몯":149089,"뱡":149090,"ë³ĵ":149091,"ë³½":149092,"뵾":149093,"ìĤ³":149094,"ìħ¥":149095,"ìĩ½":149096,"ìı¨":149097,"ìı¸":149098,"ìķį":149099,"ìĸĸ":149100,"ìŁ¨":149101,"ì¢ĥ":149102,"ì¢į":149103,"ì¥ij":149104,"ì§¼":149105,"ì©ĥ":149106,"ì®ľ":149107,"쮸":149108,"ì³ij":149109,"ì´¥":149110,"ì¾ĥ":149111,"íħ¦":149112,"íĪ¿":149113,"íĵ½":149114,"íķ³":149115,"íĸı":149116,"íĹł":149117,"íĿ«":149118,"ï¤ĵ":149119,"ï¤ĺ":149120,"ï¥İ":149121,"略":149122,"ï¦ħ":149123,"尿":149124,"ï§ĩ":149125,"ï¬Ĩ":149126,"דּ":149127,"ï®ĩ":149128,"ï®Ī":149129,"ï®Ŀ":149130,"ﮩ":149131,"ï®±":149132,"ï¯ĺ":149133,"ï¯Ļ":149134,"ﯢ":149135,"ﯣ":149136,"ﯤ":149137,"ﯥ":149138,"ï±Ĥ":149139,"ï²Ĩ":149140,"ﲪ":149141,"ï´¼":149142,"ïºī":149143,"ïºĬ":149144,"ﺥ":149145,"ðĿij¨":149146,"ðĿij©":149147,"ðĿij²":149148,"ðĿĴĮ":149149,"ðĿĴª":149150,"ðĿĴ®":149151,"ðĿĵĤ":149152,"ðĿĵĪ":149153,"ðĿĵ¯":149154,"ðĿ͍":149155,"ðĿķĢ":149156,"ðĿķĨ":149157,"ðĿķ¦":149158,"ðĿķ§":149159,"ðĿķ«":149160,"ðĿķ·":149161,"ðĿŵ":149162,"ðĿŸ":149163,"ðĿĺĦ":149164,"ðĿĺĻ":149165,"ðĿĺł":149166,"ðĿĺ¬":149167,"ðĿĻį":149168,"ðĿĻij":149169,"ðĿĻ¡":149170,"ðĿύ":149171,"ðĿĻ·":149172,"ðĿļį":149173,"ðĿĽ¿":149174,"ðŁĥ":149175,"ðŁĥı":149176,"ðŁħĺ":149177,"ðŁī":149178,"ðŁīij":149179,"ðŁİ¡":149180,"ðŁİª":149181,"ðŁİ±":149182,"ðŁİ³":149183,"ðŁİº":149184,"ðŁıİ":149185,"ðŁıĹ":149186,"ðŁıļ":149187,"ðŁıŀ":149188,"ðŁı¦":149189,"ðŁı§":149190,"ðŁIJģ":149191,"ðŁIJħ":149192,"ðŁIJĵ":149193,"ðŁĴĤ":149194,"ðŁĵij":149195,"ðŁĵĵ":149196,"ðŁĵ¨":149197,"ðŁĵ«":149198,"ðŁĶĭ":149199,"ðŁĶŃ":149200,"ðŁĶ¯":149201,"ðŁķĹ":149202,"ðŁļĤ":149203,"ðŁļ¢":149204,"ðŁļ¦":149205,"ðŁļ¬":149206,"ðŁĽĭ":149207,"ðŁĽĮ":149208,"ðŁĽ¬":149209,"ðŁĽ¶":149210,"ðŁŁ¡":149211,"ðŁ¥ĺ":149212,"ðŁ¥Ł":149213,"ðŁ¥¦":149214,"ð٦ĩ":149215,"ð٦Ī":149216,"ð٧Ĭ":149217,"ð٧Ĺ":149218,"ðŁ§¤":149219,"Ê·":149220,"˹":149221,"á¹ļ":149222,"á½¥":149223,"âĦŁ":149224,"겯":149225,"껫":149226,"ë°·":149227,"ìĥĨ":149228,"ìĽĿ":149229,"ì¨ī":149230,"ì«ı":149231,"ï¯ķ":149232,"ðĿľĭ":149233,"ɲ":149234,"ÒŃ":149235,"ÓĪ":149236,"à½Ľ":149237,"áĭĵ":149238,"áĻŃ":149239,"áł©":149240,"á¹®":149241,"âĦĴ":149242,"âĨ»":149243,"âµĥ":149244,"ë̍":149245,"ëł§":149246,"ìī¥":149247,"ìĮľ":149248,"ìŶ":149249,"ì¨Ī":149250,"쪾":149251,"íı½":149252,"íļĶ":149253,"íĽµ":149254,"露":149255,"ï¦IJ":149256,"ï§Ĺ":149257,"ï§ļ":149258,"אָ":149259,"ðĿIJĬ":149260,"ðĿķĹ":149261,"ðĿĹļ":149262,"ðĿļĸ":149263,"ðŁħ´":149264,"Èĥ":149265,"ÉĿ":149266,"ϱ":149267,"ÓĹ":149268,"ढ":149269,"áħł":149270,"áī¦":149271,"áijĮ":149272,"áĴ¼":149273,"áŀ¡":149274,"᳨":149275,"áłŃ":149276,"á¨ħ":149277,"á¨Ķ":149278,"á´ĺ":149279,"ᶦ":149280,"á¸İ":149281,"á¼ħ":149282,"á¼¹":149283,"âĨ¯":149284,"âĵİ":149285,"ãıĮ":149286,"êī":149287,"êīĤ":149288,"ëĨ§":149289,"ëĿ±":149290,"좡":149291,"íν":149292,"ï¤ĩ":149293,"ï¤Ľ":149294,"ðĿIJķ":149295,"ðĿĵ¸":149296,"ðĿĵ¼":149297,"ðĿĹķ":149298,"ðĿĺĪ":149299,"ðŁı£":149300,"ðŁı¤":149301,"ðŁĹĦ":149302,"Ñ·":149303,"Òł":149304,"áµĸ":149305,"Ἠ":149306,"ë¬Ħ":149307,"ï°´":149308,"âν":149309,"ÕŃ":149310,"Ú¹":149311,"à¥Ł":149312,"áĢĨ":149313,"áŀĴ":149314,"ã̶":149315,"ꦫ":149316,"ï¸ĵ":149317,"ðĿIJĽ":149318,"ðĿĺĹ":149319,"ðŁıľ":149320,"ì«Ń":149321,"ð٧ŀ":149322,"à½Ĥ":149323,"âĨ¿":149324,"âĩı":149325,"âĵģ":149326,"âͧ":149327,"âķģ":149328,"âķ¤":149329,"ê¦Ĺ":149330,"ꦤ":149331,"ðŁıĪ":149332,"áŀķ":149333,"Ô½":149334,"àªĹ":149335,"à¬Ĩ":149336,"âķķ":149337,"ï½ł":149338,"⼦":149339,"⼯":149340,"â¾·":149341,"âĶĸ":149342,"à¬ĵ":149343,"âĺĹ":149344,"âįĭ":149345,"ï¨Ŀ":149346,"â¼¥":149347,"寧":149348,"âĦĬ":149349,"ãĢ´":149350,"âį¢":149351,"ð¡Ī":149352,"ð¡Ī½":149353,"難":149354,"ãĢ»":149355,"ãıĥ":149356,"說":149357,"ï¨ĺ":149358,"ðŁIJĥ":149359,"ðŁĨĸ":149360,"ðŁĹ¾":149361,"ãĦĩ":149362,"Þĭ":149363,"â¼¼":149364,"ï¨Ń":149365,"ÞĢ":149366,"ÞĦ":149367,"ÞĪ":149368,"ÞIJ":149369,"âĮĦ":149370,"â»ĺ":149371,"ãŁ¢":149372,"áħ§":149373,"ðIJĮ¿":149374,"Ë»":149375,"à²Ĺ":149376,"áĢĩ":149377,"áŀĬ":149378,"âķĩ":149379,"ãĩ¼":149380,"ãݰ":149381,"ÕĴ":149382,"ÜĪ":149383,"ߥ":149384,"à¿IJ":149385,"áĢŁ":149386,"âĨ¥":149387,"âķĮ":149388,"â½Ģ":149389,"â½°":149390,"â¾Ĭ":149391,"äĦ":149392,"äĦĢ":149393,"ðĵIJ":149394,"ðĵIJį":149395,"ðŁİ¦":149396,"âĤ¯":149397,"âĬĺ":149398,"âĦį":149399,"ʵ":149400,"Ѷ":149401,"Úĥ":149402,"à¦Ķ":149403,"à´¦":149404,"áݶ":149405,"áĵķ":149406,"Ṩ":149407,"âĤł":149408,"âĩ°":149409,"âĹĴ":149410,"â¿Ĭ":149411,"ê·±":149412,"ì¹ķ":149413,"íĪ©":149414,"ïŃĢ":149415,"ðĿĴ¸":149416,"ðĿĵĬ":149417,"ðĿĺ©":149418,"Ǧ":149419,"É«":149420,"áĬ¨":149421,"ȹ":149422,"ʯ":149423,"Ϊ":149424,"ÚĢ":149425,"áĮ¸":149426,"áİ»":149427,"áıķ":149428,"áı´":149429,"á²Ĥ":149430,"Ὠ":149431,"âıĿ":149432,"âĺĻ":149433,"ëĥ¨":149434,"ëĦ¼":149435,"ëĪĻ":149436,"ë£ħ":149437,"ìͼ":149438,"ìķĿ":149439,"ìļ¬":149440,"ìľ±":149441,"ï¥Ĥ":149442,"惡":149443,"יּ":149444,"ïŃģ":149445,"ï³Ī":149446,"ðĿĶħ":149447,"ðĿĺ¤":149448,"ðĿĻı":149449,"ðĿĻĻ":149450,"ðŁķī":149451,"ð٧Ļ":149452,"á¸ij":149453,"ê´¼":149454,"ëģį":149455,"ëĹ´":149456,"ëĿ³":149457,"ë°ŀ":149458,"ë°¢":149459,"ëµĺ":149460,"ìĤĶ":149461,"ìĦĦ":149462,"ì¼ļ":149463,"íĢł":149464,"íĬ±":149465,"íĮĸ":149466,"ï¤ij":149467,"領":149468,"隸":149469,"ï´į":149470,"ðĿĺ·":149471,"Ĭ":149472,"Ŭ":149473,"ÆĢ":149474,"Æĭ":149475,"Æľ":149476,"Çij":149477,"Çĺ":149478,"Çŀ":149479,"Ç¥":149480,"Ç®":149481,"ɰ":149482,"ɶ":149483,"É·":149484,"ɽ":149485,"ÊĪ":149486,"ÊIJ":149487,"Ëİ":149488,"ËŁ":149489,"˦":149490,"˯":149491,"ÏIJ":149492,"Ïĵ":149493,"Ï¢":149494,"Ϥ":149495,"Ϫ":149496,"ÏŃ":149497,"Ï®":149498,"Ï»":149499,"Ñł":149500,"ÑŃ":149501,"Ò¨":149502,"ÓĿ":149503,"Ô¡":149504,"Ô·":149505,"Õī":149506,"Õĵ":149507,"Õĸ":149508,"Õļ":149509,"ÕĿ":149510,"Öİ":149511,"Ø¿":149512,"Úħ":149513,"Úį":149514,"ÚĶ":149515,"ÛĬ":149516,"Û¾":149517,"ÜĻ":149518,"ÝĴ":149519,"Ýĺ":149520,"ßĴ":149521,"ßĸ":149522,"à¤Ĭ":149523,"à¤IJ":149524,"à¦ı":149525,"à¦ĸ":149526,"à§Ł":149527,"મ":149528,"હ":149529,"à®ħ":149530,"à®Ĩ":149531,"à°¡":149532,"à°°":149533,"à²ļ":149534,"ಮ":149535,"ಯ":149536,"à´Ł":149537,"à´·":149538,"ൾ":149539,"à¶ij":149540,"à¶ŀ":149541,"༼":149542,"à½ĵ":149543,"áĢĵ":149544,"áĤ¦":149545,"áĥĸ":149546,"áĥŃ":149547,"áĥ¯":149548,"áħ¨":149549,"áħª":149550,"áĨ°":149551,"áĪģ":149552,"áĪİ":149553,"áĪĵ":149554,"áĪ¥":149555,"áβ":149556,"áĪ´":149557,"áĪ»":149558,"áīł":149559,"áī²":149560,"áī¶":149561,"áĬ£":149562,"áĬ¥":149563,"áĬª":149564,"áĭĺ":149565,"áĭ²":149566,"áĭ¶":149567,"áĮ£":149568,"áį¡":149569,"áį£":149570,"áݬ":149571,"áݾ":149572,"áIJ¡":149573,"áķķ":149574,"áĸ±":149575,"áĹIJ":149576,"áĹŃ":149577,"áĺī":149578,"áļ±":149579,"ἣ":149580,"áŀ¥":149581,"áŁĶ":149582,"áł£":149583,"áłª":149584,"áł°":149585,"áł´":149586,"á¤ĸ":149587,"ᥣ":149588,"á®":149589,"᮳":149590,"á¯":149591,"á¯Ļ":149592,"á°":149593,"á°į":149594,"á´Ĭ":149595,"á´¾":149596,"áµģ":149597,"áµİ":149598,"áµŀ":149599,"ᵤ":149600,"á¶ħ":149601,"á¶ĺ":149602,"á¶Ł":149603,"á¶¢":149604,"ᶤ":149605,"á¶±":149606,"á¶»":149607,"á¸ī":149608,"á¸ŀ":149609,"Ḻ":149610,"á¹ĵ":149611,"á¹Ĺ":149612,"Ṫ":149613,"áºĬ":149614,"áºı":149615,"áºĽ":149616,"á¼ĥ":149617,"á¼Į":149618,"Ἷ":149619,"á½Ĥ":149620,"á½ĵ":149621,"á½Ĺ":149622,"ὦ":149623,"á¾±":149624,"á¾´":149625,"á¿ĺ":149626,"á¿Ł":149627,"Ὸ":149628,"âģĺ":149629,"âĤij":149630,"âĤĽ":149631,"âĤ¿":149632,"âĦĩ":149633,"âĦŀ":149634,"âĦ±":149635,"âĩŁ":149636,"âĩ²":149637,"âΤ":149638,"âζ":149639,"âīĤ":149640,"âī¾":149641,"âĬ¨":149642,"âĬ³":149643,"âĬ·":149644,"âĭĮ":149645,"âĭĺ":149646,"âĮķ":149647,"âĮ¥":149648,"âĮµ":149649,"âĮº":149650,"âį£":149651,"âį²":149652,"âįµ":149653,"âİĩ":149654,"âıĥ":149655,"âıIJ":149656,"âıł":149657,"âı¤":149658,"âı¶":149659,"âı¸":149660,"âı¹":149661,"âijĤ":149662,"âĴ·":149663,"âĴº":149664,"âĵ¡":149665,"âĵ¤":149666,"â;":149667,"âĸĺ":149668,"âĸµ":149669,"âĹª":149670,"âĹ·":149671,"âĺ¨":149672,"âĺ«":149673,"âĺ²":149674,"âĺ³":149675,"âĻĨ":149676,"âļ¤":149677,"âļ¥":149678,"âĽĵ":149679,"⼴":149680,"âĽ¾":149681,"âŀ«":149682,"âŀ¿":149683,"⣷":149684,"â¤ij":149685,"⤫":149686,"⤶":149687,"⤽":149688,"⧪":149689,"â¨Ģ":149690,"⩽":149691,"⬡":149692,"⬢":149693,"⬤":149694,"â²ĸ":149695,"Ⲫ":149696,"âµĢ":149697,"⸮":149698,"⸽":149699,"ãĢł":149700,"ãĢ·":149701,"ãĦĮ":149702,"ãĦĺ":149703,"ãħij":149704,"ãĪİ":149705,"ãĪIJ":149706,"ãĬľ":149707,"ãĮĵ":149708,"ãĮł":149709,"ãİŁ":149710,"ãݤ":149711,"ãݧ":149712,"㬮":149713,"äĪ":149714,"äĪĢ":149715,"ä°":149716,"ä°Ģ":149717,"êħ":149718,"êħī":149719,"êĩĹ":149720,"êĪ":149721,"êĪį":149722,"ê§Ĥ":149723,"ê§Ĭ":149724,"êªĢ":149725,"ê²Ī":149726,"ê²į":149727,"ê³Ģ":149728,"êµł":149729,"ê½IJ":149730,"ê¾Ī":149731,"꿱":149732,"ëĥı":149733,"ëĦij":149734,"ëħ¤":149735,"ëĩ¸":149736,"ëμ":149737,"ëīħ":149738,"ëĬ£":149739,"ëĭº":149740,"ëįŀ":149741,"ëIJĮ":149742,"ëķ¸":149743,"ëĺł":149744,"ëĻĩ":149745,"ëĻĪ":149746,"ëľ½":149747,"ëŀĶ":149748,"ëłľ":149749,"ë£IJ":149750,"ë§Ģ":149751,"ë§Ĭ":149752,"ëªĢ":149753,"ë¬Ń":149754,"믾":149755,"ë³ľ":149756,"ë´Ĭ":149757,"ëµī":149758,"ë·ľ":149759,"ë¸Ģ":149760,"ë¹ĭ":149761,"ìģĦ":149762,"ìĤ£":149763,"ìĤ»":149764,"ìĦµ":149765,"ìħĴ":149766,"ìīĪ":149767,"ìīĶ":149768,"ìĬĮ":149769,"ìĬĻ":149770,"ìIJ´":149771,"ìĵº":149772,"ìķļ":149773,"ìķº":149774,"ìĸľ":149775,"ìĹª":149776,"ìĺľ":149777,"ìϤ":149778,"ìļĽ":149779,"ìļº":149780,"ìĿħ":149781,"ìĿı":149782,"ìĿŃ":149783,"ìĿ¶":149784,"ìłĽ":149785,"ì¡Ī":149786,"ì¢ī":149787,"ì¢Ķ":149788,"ì©ł":149789,"ìŃĮ":149790,"쯩":149791,"ì´£":149792,"ì¸ķ":149793,"ì¹Ł":149794,"쾡":149795,"ì¿Ļ":149796,"íģĩ":149797,"íģī":149798,"íĩĢ":149799,"íζ":149800,"íĸij":149801,"íĸ¤":149802,"íĹħ":149803,"íľı":149804,"íĿĿ":149805,"ï¤Ĵ":149806,"ï¤ķ":149807,"郎":149808,"ï¥ħ":149809,"ï¥ĩ":149810,"ï¥ı":149811,"ï¥ļ":149812,"ï¥Ł":149813,"ï¦Ħ":149814,"ï¦Ī":149815,"令":149816,"囹":149817,"零":149818,"ï§ģ":149819,"ï§ĥ":149820,"ï§Ķ":149821,"ï§ł":149822,"ï§£":149823,"ï§®":149824,"ïŃIJ":149825,"ïŃĸ":149826,"ïѦ":149827,"ïŃ´":149828,"ïѵ":149829,"ïѶ":149830,"ïѸ":149831,"ï®Į":149832,"ï®İ":149833,"ï®ŀ":149834,"ï®Ł":149835,"ﮡ":149836,"ﮪ":149837,"ï¯Ķ":149838,"ï¯Ĺ":149839,"ï¯ļ":149840,"ï¯Ľ":149841,"ï¯Ŀ":149842,"ï¯Ł":149843,"ﯧ":149844,"ﯨ":149845,"ﯫ":149846,"ﯯ":149847,"ﯰ":149848,"ﯱ":149849,"ﯲ":149850,"ﯳ":149851,"ﯴ":149852,"ﯵ":149853,"ﯶ":149854,"ï°Ģ":149855,"ï±ħ":149856,"ï±Ķ":149857,"ï±´":149858,"ï²ģ":149859,"ï³ķ":149860,"ï·½":149861,"ï¸ķ":149862,"︱":149863,"ï¹£":149864,"ï¹½":149865,"ï»į":149866,"ï¾±":149867,"ðĿIJĻ":149868,"ðĿIJ½":149869,"ðĿij¤":149870,"ðĿij®":149871,"ðĿijµ":149872,"ðĿĴĥ":149873,"ðĿĴĦ":149874,"ðĿĵŃ":149875,"ðĿĵ·":149876,"ðĿĶĸ":149877,"ðĿĶŀ":149878,"ðĿĶ¢":149879,"ðĿͦ":149880,"ðĿͬ":149881,"ðĿķĦ":149882,"ðĿķĬ":149883,"ðĿķİ":149884,"ðĿķĻ":149885,"ðĿķľ":149886,"ðĿķŃ":149887,"ðĿķ³":149888,"ðĿķ¸":149889,"ðĿķ¾":149890,"ðĿĸī":149891,"ðĿĸı":149892,"ðĿĺĩ":149893,"ðĿĺī":149894,"ðĿĺĸ":149895,"ðĿĺĽ":149896,"ðĿĺŀ":149897,"ðĿĺ«":149898,"ðĿĺ¾":149899,"ðĿĻĩ":149900,"ðĿĻī":149901,"ðĿĻĭ":149902,"ðĿĻİ":149903,"ðĿĻĺ":149904,"ðĿĻ¥":149905,"ðĿļĥ":149906,"ðĿļIJ":149907,"ðĿļĶ":149908,"ðĿľĥ":149909,"ðŁĦ·":149910,"ðŁħĿ":149911,"ðŁħ¾":149912,"ðŁĨĤ":149913,"ðŁĨĵ":149914,"ðŁĮĤ":149915,"ðŁĮĨ":149916,"ðŁĮī":149917,"ðŁĮij":149918,"ðŁĮĺ":149919,"ðŁĮ©":149920,"ðŁĮ«":149921,"ðŁį¢":149922,"ðŁį¥":149923,"ðŁİĽ":149924,"ðŁİ¢":149925,"ðŁİ´":149926,"ðŁij¡":149927,"ðŁĴ¾":149928,"ðŁĵŃ":149929,"ðŁĶĪ":149930,"ðŁĶ¦":149931,"ðŁĶ²":149932,"ðŁĶ³":149933,"ðŁķĵ":149934,"ðŁķķ":149935,"ðŁķĺ":149936,"ðŁķŁ":149937,"ðŁķ·":149938,"ðŁĹ³":149939,"ðŁļĦ":149940,"ðŁļĶ":149941,"ðŁļĸ":149942,"ðŁĽIJ":149943,"ðŁĽ¤":149944,"ðŁĽ¸":149945,"ðŁł":149946,"ðŁł³":149947,"ðŁ¤¹":149948,"ðŁ¥ĥ":149949,"ðŁ¥¨":149950,"ðŁ¥ª":149951,"ðŁ¥¾":149952,"ð٦ĥ":149953,"ð٦Ĵ":149954,"ð٦Ļ":149955,"ðŁ¦¶":149956,"ðŁ§ł":149957,"ðŁ§ª":149958,"ð٧Ń":149959,"ðŁ§²":149960,"ð£·":149961,"ð£·Ń":149962,"ð¦ĺ":149963,"ð¦ĺĴ":149964,"Æij":149965,"ÇĻ":149966,"È®":149967,"Øł":149968,"ÚĦ":149969,"ÜĢ":149970,"ߢ":149971,"áīĢ":149972,"áĬIJ":149973,"áİł":149974,"áºŀ":149975,"ëĪŀ":149976,"ëķŁ":149977,"ë£ģ":149978,"ë¤Ĺ":149979,"ìĦ¥":149980,"ìħij":149981,"ìĸIJ":149982,"ìĽĽ":149983,"ì£ķ":149984,"íİı":149985,"íĽĵ":149986,"梁":149987,"ï³Ľ":149988,"ï´«":149989,"ðĸ§":149990,"ðĸ§·":149991,"ðĿķģ":149992,"ðŁIJª":149993,"ðŁĴĪ":149994,"ðŁĵł":149995,"ðŁķĽ":149996,"ðŁķ´":149997,"ÑĿ":149998,"ÓĬ":149999,"ॲ":150000,"પ":150001,"áĥ¤":150002,"áįIJ":150003,"á¶°":150004,"á¼Ŀ":150005,"Ὡ":150006,"âĭĭ":150007,"âĴ½":150008,"âϾ":150009,"â½Ķ":150010,"⾯":150011,"ãĦĴ":150012,"ãħļ":150013,"ëIJį":150014,"ë·ģ":150015,"ìĭĢ":150016,"ìļĿ":150017,"쥰":150018,"캴":150019,"íĭī":150020,"íĿ½":150021,"ï¦Ģ":150022,"樂":150023,"ï§ħ":150024,"ï§ĵ":150025,"ïѝ":150026,"ï®Ĩ":150027,"ðIJ¤ķ":150028,"ðĿIJŁ":150029,"ðĿĴħ":150030,"ðĿĵľ":150031,"ðĿͰ":150032,"ðĿĶ»":150033,"ðĿĺį":150034,"ðĿϝ":150035,"ðŁĦ½":150036,"ðŁħĤ":150037,"ðŁħĶ":150038,"ðŁħ½":150039,"ðŁĵ´":150040,"ð٧ĸ":150041,"ÓĴ":150042,"Ḳ":150043,"ëī¼":150044,"Çı":150045,"Èĵ":150046,"ʸ":150047,"ÕĤ":150048,"Ûħ":150049,"ß¡":150050,"ߣ":150051,"ய":150052,"à°Ī":150053,"ಸ":150054,"ຮ":150055,"à¼ķ":150056,"áĢİ":150057,"áĨ¡":150058,"áIJĭ":150059,"áIJķ":150060,"áij¯":150061,"áŀĨ":150062,"á¨ķ":150063,"á©Ī":150064,"âģħ":150065,"âĨļ":150066,"âĶİ":150067,"âł©":150068,"â²Ĥ":150069,"â²Ķ":150070,"Ⲩ":150071,"ãĬļ":150072,"íĵ²":150073,"ðĿijĪ":150074,"ðĿij¬":150075,"ðĿij¹":150076,"ðĿĴ¾":150077,"ðĿĵ±":150078,"ðĿĵ½":150079,"ðĿķ¯":150080,"ðĿķ»":150081,"ðĿĺ½":150082,"ðĿļĨ":150083,"ðŁĦ°":150084,"ðŁIJ¨":150085,"Òķ":150086,"à²ħ":150087,"ï¨Ĩ":150088,"ðĿij°":150089,"ðŁĦ¸":150090,"Ôİ":150091,"Øį":150092,"Ùµ":150093,"ಶ":150094,"áĢĪ":150095,"áĺĹ":150096,"᳸":150097,"á¡¡":150098,"ᨲ":150099,"á©ģ":150100,"á´·":150101,"áµ§":150102,"âķ¨":150103,"âļģ":150104,"â¾Ŀ":150105,"ã̼":150106,"ãĦı":150107,"êĴ«":150108,"ꦥ":150109,"ꦩ":150110,"ꦲ":150111,"ìĺ¼":150112,"íĵIJ":150113,"ðĵĩ":150114,"ðĵĩ¼":150115,"ðĿķ¿":150116,"ðŁĽ´":150117,"먾":150118,"ವ":150119,"à´İ":150120,"à¼Ģ":150121,"âĩĸ":150122,"ãĪ«":150123,"âĵĢ":150124,"áħ´":150125,"áļ¾":150126,"áĽŀ":150127,"Ἣ":150128,"ᥴ":150129,"âĨĽ":150130,"âĨ¶":150131,"âĩ¤":150132,"âķŁ":150133,"âĺ·":150134,"âļIJ":150135,"ðŁ§´":150136,"á¹³":150137,"âĶį":150138,"âĶĴ":150139,"âĶ©":150140,"âͦ":150141,"â¾µ":150142,"àªľ":150143,"ત":150144,"âĩĻ":150145,"âͱ":150146,"âķĢ":150147,"â½Ĭ":150148,"ï½Ł":150149,"ଡ":150150,"ðł®":150151,"ðł®·":150152,"âķĥ":150153,"â°Ķ":150154,"ãĬ¦":150155,"ðŁİIJ":150156,"ãĩ°":150157,"â¼Ŀ":150158,"â¾Ķ":150159,"â½Ĵ":150160,"âłĴ":150161,"都":150162,"ï©Ĵ":150163,"免":150164,"ï©ĸ":150165,"ðĵı¸":150166,"ãĮĥ":150167,"ðĸ¤":150168,"ðĸ¤IJ":150169,"ï¦Ń":150170,"âĬħ":150171,"â¾³":150172,"ä´¥":150173,"ï©ķ":150174,"ðŁĮĶ":150175,"áŀĭ":150176,"âļį":150177,"â¼ĭ":150178,"ãİĺ":150179,"ðIJĮ²":150180,"É©":150181,"áİij":150182,"âĨ®":150183,"âĩĥ":150184,"âļİ":150185,"ãĩ±":150186,"ãĭ©":150187,"ãĮ¶":150188,"êĻª":150189,"ëݬ":150190,"ï¨IJ":150191,"ï¨Ľ":150192,"ï©Ĭ":150193,"ï©į":150194,"ðĵħ":150195,"ðĵħº":150196,"Ï¡":150197,"Èij":150198,"ÉĤ":150199,"Ôĵ":150200,"ßİ":150201,"à´§":150202,"áĢī":150203,"áĢĭ":150204,"áĢij":150205,"áĢł":150206,"áļĻ":150207,"á¨Ħ":150208,"ᨩ":150209,"ᨹ":150210,"á©ĵ":150211,"ᬾ":150212,"á´Ļ":150213,"áµij":150214,"âĤŃ":150215,"âĨ°":150216,"âľģ":150217,"â½IJ":150218,"ãĭ¯":150219,"ãĮ½":150220,"íĨ¢":150221,"錄":150222,"ðŁĤ":150223,"ðŁĤ»":150224,"ÈĴ":150225,"ͺ":150226,"Ô¥":150227,"Õij":150228,"Ú¶":150229,"à§İ":150230,"à¶®":150231,"àºĸ":150232,"àºľ":150233,"ຽ":150234,"áĥ»":150235,"áħ¯":150236,"áĭŀ":150237,"áĸķ":150238,"á´Ī":150239,"á¶Ĩ":150240,"Ḿ":150241,"á¹¼":150242,"Ῠ":150243,"âĦĭ":150244,"âĦŃ":150245,"âα":150246,"âĮĵ":150247,"âĶĩ":150248,"âĶ¢":150249,"â±®":150250,"â²Ħ":150251,"ãĩ¾":150252,"ãά":150253,"븡":150254,"ìIJī":150255,"íĻĽ":150256,"ðĿķª":150257,"ƹ":150258,"Ͳ":150259,"Óģ":150260,"Û¼":150261,"ফ":150262,"áħŁ":150263,"áīĨ":150264,"áįĪ":150265,"áºĸ":150266,"á½ī":150267,"â͏":150268,"⽩":150269,"êľ":150270,"êľ¥":150271,"êµħ":150272,"ëĤĶ":150273,"ëĦł":150274,"ëĩĹ":150275,"ëĻĿ":150276,"ìļ¯":150277,"ìļ·":150278,"ìŁĽ":150279,"ì·IJ":150280,"íŁ¬":150281,"íŁ®":150282,"íŁ°":150283,"ï¦Ĩ":150284,"鈴":150285,"ï²ŀ":150286,"ﳤ":150287,"ï³¥":150288,"ðIJĮ¸":150289,"ðĿĶı":150290,"ðĿķ®":150291,"ðĿĺ£":150292,"à¦Ī":150293,"âıı":150294,"ãĦĸ":150295,"ê²ĩ":150296,"ëĸĺ":150297,"ëľ·":150298,"ëŀĴ":150299,"ë¡ĵ":150300,"ë¢ī":150301,"ë£ĥ":150302,"ë§ĭ":150303,"ë²ĭ":150304,"ìĤ·":150305,"ìĪķ":150306,"ìĮ¨":150307,"ìĵ»":150308,"ìĸĬ":150309,"ìϬ":150310,"ìĿ»":150311,"ì¦ģ":150312,"쵤":150313,"ì·ĥ":150314,"íĢľ":150315,"íħī":150316,"íįł":150317,"íıħ":150318,"íij±":150319,"íķķ":150320,"íĸł":150321,"íĿķ":150322,"ÆĻ":150323,"Æļ":150324,"Æŀ":150325,"Çĥ":150326,"ÇĬ":150327,"Çľ":150328,"Ǥ":150329,"ÇŃ":150330,"ǹ":150331,"ÈĢ":150332,"Èģ":150333,"Èħ":150334,"Èī":150335,"ÈĹ":150336,"ÈŁ":150337,"Ȥ":150338,"È¥":150339,"Ȩ":150340,"ȵ":150341,"Ⱥ":150342,"È»":150343,"ÉĮ":150344,"É®":150345,"Êħ":150346,"Ê¥":150347,"ʨ":150348,"Ëĵ":150349,"ËĶ":150350,"Ëł":150351,"Ë£":150352,"˸":150353,"Í´":150354,"ÏĹ":150355,"Ïĺ":150356,"ÏĻ":150357,"Ïļ":150358,"ÏĿ":150359,"Ϩ":150360,"Ϭ":150361,"Ͼ":150362,"Ï¿":150363,"Ѫ":150364,"ÒĢ":150365,"Òľ":150366,"Ò¼":150367,"Ò½":150368,"ÓĤ":150369,"Óħ":150370,"Óĩ":150371,"Óį":150372,"Óĸ":150373,"ÓŁ":150374,"Ó«":150375,"Ó±":150376,"ÔĨ":150377,"Ôĩ":150378,"Ôº":150379,"Õĭ":150380,"Öī":150381,"ØĪ":150382,"ØĬ":150383,"ؽ":150384,"ؾ":150385,"Ù·":150386,"ÚĤ":150387,"ÚĬ":150388,"Úĸ":150389,"ÚĹ":150390,"Ú£":150391,"Ú«":150392,"Ú¸":150393,"ÛĢ":150394,"Ûį":150395,"Û½":150396,"Üī":150397,"ܤ":150398,"ݧ":150399,"Ý´":150400,"Þĥ":150401,"Þ¤":150402,"Þ¥":150403,"ßļ":150404,"߼":150405,"ߤ":150406,"àłį":150407,"àłĵ":150408,"àł³":150409,"à¡¢":150410,"à¥ł":150411,"à§ł":150412,"৺":150413,"à¨Ĭ":150414,"à¨IJ":150415,"ਮ":150416,"ਯ":150417,"ਰ":150418,"ਸ":150419,"àªĨ":150420,"ળ":150421,"વ":150422,"ઽ":150423,"à¬Į":150424,"à¬ĺ":150425,"ଽ":150426,"à®ĥ":150427,"ஸ":150428,"à°Ĩ":150429,"à°ķ":150430,"à°¦":150431,"à²Ĩ":150432,"à²Ĭ":150433,"à²Į":150434,"à²IJ":150435,"à²Ľ":150436,"ತ":150437,"ದ":150438,"ಪ":150439,"ಲ":150440,"ಹ":150441,"à´Ĩ":150442,"à´ı":150443,"à´Ĺ":150444,"à´«":150445,"à´¹":150446,"ൺ":150447,"ൽ":150448,"à¶ħ":150449,"à¶Ĭ":150450,"à¶Ķ":150451,"à¶§":150452,"à¶«":150453,"à¶°":150454,"à¼Ħ":150455,"à¼ħ":150456,"à¼Ĭ":150457,"à½Ļ":150458,"ཡ":150459,"ཧ":150460,"à¿Ģ":150461,"à¿Ļ":150462,"áĢĿ":150463,"á̧":150464,"áĢ©":150465,"áĢ¿":150466,"áģµ":150467,"áĤģ":150468,"áĤ½":150469,"áĥĤ":150470,"áĥª":150471,"áĦĬ":150472,"áĦ¢":150473,"áħ¦":150474,"áħŃ":150475,"áĨ®":150476,"áĨ±":150477,"áĨ»":150478,"áĩ":150479,"áĩĤ":150480,"áĪħ":150481,"áĪī":150482,"áĪĮ":150483,"áĪIJ":150484,"áĪĴ":150485,"áĪĻ":150486,"áĪļ":150487,"áĪľ":150488,"áĪŀ":150489,"áĪ©":150490,"áγ":150491,"áĪº":150492,"áν":150493,"áīħ":150494,"áī¢":150495,"áī±":150496,"áī´":150497,"áĬĥ":150498,"áĬį":150499,"áĬĸ":150500,"áĬ®":150501,"áĬ¸":150502,"áĭĽ":150503,"áĭĿ":150504,"áĭ³":150505,"áĮģ":150506,"áĮħ":150507,"áĮ¥":150508,"áĮ¦":150509,"áĮ¨":150510,"áįĬ":150511,"áįį":150512,"áįķ":150513,"áįĸ":150514,"áį¢":150515,"áį¤":150516,"áİĴ":150517,"áݪ":150518,"áıģ":150519,"áıIJ":150520,"áıŁ":150521,"áIJĤ":150522,"áIJĸ":150523,"áIJĿ":150524,"áIJŀ":150525,"áIJŁ":150526,"áIJł":150527,"áijĸ":150528,"áĴĭ":150529,"áĴį":150530,"áĴ¡":150531,"áĵ«":150532,"áĶķ":150533,"áķĭ":150534,"áķij":150535,"áķĻ":150536,"áķļ":150537,"áķĽ":150538,"áķ¤":150539,"áķ¦":150540,"áķ®":150541,"áķ¼":150542,"áĸĵ":150543,"áĹĹ":150544,"áĹ¢":150545,"áĹ¯":150546,"áĹ·":150547,"áĺĦ":150548,"áĺij":150549,"áĽĤ":150550,"áĽĻ":150551,"áŀį":150552,"áłĨ":150553,"áł¡":150554,"᳦":150555,"áł®":150556,"áł¯":150557,"áł²":150558,"áł·":150559,"á¡į":150560,"á¡ŀ":150561,"ᡤ":150562,"á¡´":150563,"ᡵ":150564,"á¤ĵ":150565,"á¥ĸ":150566,"ᥰ":150567,"ᨦ":150568,"ᨧ":150569,"ᨨ":150570,"ᨪ":150571,"ᨬ":150572,"ᨯ":150573,"ᨳ":150574,"ᨵ":150575,"á©ĥ":150576,"á¬ķ":150577,"áŃ£":150578,"á±":150579,"á±ļ":150580,"á²ł":150581,"á´ĵ":150582,"á´¶":150583,"áµĤ":150584,"áµĮ":150585,"áµ¥":150586,"áµ´":150587,"á¶ĩ":150588,"á¸Ī":150589,"ḳ":150590,"ḧ":150591,"Ḵ":150592,"Ḿ":150593,"á¹Ģ":150594,"á¹ĸ":150595,"á¹Ł":150596,"á¹ł":150597,"ṫ":150598,"á¹±":150599,"á¹·":150600,"ṿ":150601,"áºĦ":150602,"áºį":150603,"áºij":150604,"áºĹ":150605,"á¼ī":150606,"á¼ĵ":150607,"á¼Ń":150608,"á½ĭ":150609,"á½Ĵ":150610,"á½ł":150611,"á½£":150612,"á¾Ħ":150613,"á¾ı":150614,"á¾ij":150615,"á¾Ĺ":150616,"ᾦ":150617,"á¾§":150618,"á¾¾":150619,"á¿Ħ":150620,"á¿ĵ":150621,"á¿¡":150622,"Ῥ":150623,"âģļ":150624,"âĤĮ":150625,"âĦģ":150626,"âĦĶ":150627,"âĦ£":150628,"âĦ§":150629,"âĦ¯":150630,"âĦ°":150631,"âĦ´":150632,"âħħ":150633,"âĨľ":150634,"âĨ«":150635,"âĨŃ":150636,"âĨ±":150637,"âĨ¹":150638,"âĨ½":150639,"âĩĩ":150640,"âĩľ":150641,"âĩµ":150642,"âĪī":150643,"âĪĬ":150644,"âĪĸ":150645,"âĪľ":150646,"âξ":150647,"âīĢ":150648,"âīĭ":150649,"âīĮ":150650,"âīĵ":150651,"âīľ":150652,"âī´":150653,"âī¿":150654,"âĬĬ":150655,"âĬĭ":150656,"âĬĶ":150657,"âĬĸ":150658,"âĬ£":150659,"âĬ¦":150660,"âĭİ":150661,"âĭª":150662,"âĭ²":150663,"âĮ¦":150664,"âĮ§":150665,"âįº":150666,"âİĪ":150667,"âݨ":150668,"âݬ":150669,"âݳ":150670,"âݼ":150671,"âݾ":150672,"âıĮ":150673,"âıļ":150674,"âı«":150675,"âı¯":150676,"âıµ":150677,"âĴľ":150678,"âĴĿ":150679,"âĴ«":150680,"âĵĦ":150681,"âĵĬ":150682,"âĵĻ":150683,"âĵ©":150684,"âĶij":150685,"âĶĻ":150686,"âĶļ":150687,"âĶ¥":150688,"âķħ":150689,"âķī":150690,"âķį":150691,"âķı":150692,"âķŀ":150693,"âĸļ":150694,"âĸ¯":150695,"âĹĥ":150696,"âĹļ":150697,"âŬ":150698,"âĹ´":150699,"âĺĪ":150700,"âĺ¤":150701,"âĺ¥":150702,"âĺ§":150703,"âĺ¬":150704,"âĻģ":150705,"âϱ":150706,"âļĥ":150707,"âļĦ":150708,"âļħ":150709,"âļı":150710,"âļļ":150711,"âļŀ":150712,"âļŁ":150713,"âļ±":150714,"âļ²":150715,"âľĢ":150716,"⾣":150717,"âľ¢":150718,"âĿµ":150719,"âŁ¡":150720,"⣦":150721,"⣧":150722,"âŁ³":150723,"âŁ¾":150724,"âŁ¿":150725,"âłĩ":150726,"â¤Ħ":150727,"⤺":150728,"â¥Ĥ":150729,"⥹":150730,"â§ī":150731,"â§¼":150732,"â§½":150733,"â¨į":150734,"â¬Ĭ":150735,"⬣":150736,"âŃŀ":150737,"â®ŀ":150738,"⮳":150739,"â¯Ī":150740,"â¯ij":150741,"ⱳ":150742,"â±±":150743,"â²Ń":150744,"â´¹":150745,"âµķ":150746,"⸾":150747,"⺫":150748,"â¼Ĩ":150749,"â¼ł":150750,"â½Ł":150751,"â½¼":150752,"â¾Ľ":150753,"â¾§":150754,"â¿ĥ":150755,"â¿»":150756,"ãĤķ":150757,"ãĤŁ":150758,"ãĦĽ":150759,"ãĦ¡":150760,"ãĦ¶":150761,"ãĦº":150762,"ãħĴ":150763,"ãħŁ":150764,"ãĨĢ":150765,"ãĩ»":150766,"ãĪij":150767,"ãĪŃ":150768,"ãĪ®":150769,"ãγ":150770,"ãι":150771,"ãī¥":150772,"ãī¦":150773,"ãī¹":150774,"ãī¿":150775,"ãĬŀ":150776,"ãĬ¨":150777,"ãĭij":150778,"ãĭ¥":150779,"ãĭ´":150780,"ãĭº":150781,"ãİĦ":150782,"ãİķ":150783,"ãݯ":150784,"ãıĤ":150785,"ãıĪ":150786,"ãıĵ":150787,"ãıĸ":150788,"ãı±":150789,"ãIJ±":150790,"ãŁģ":150791,"ã¢":150792,"㢨":150793,"ã¨":150794,"㨳":150795,"㫪":150796,"ã«´":150797,"ã¶³":150798,"㺾":150799,"äĢ":150800,"äĢĢ":150801,"äĭ":150802,"äĭĮ":150803,"äĮĢ":150804,"äIJĢ":150805,"äłĢ":150806,"äł":150807,"äł¼":150808,"ä§":150809,"ä§ŀ":150810,"䨰":150811,"䨺":150812,"ä´Ģ":150813,"ä·":150814,"ä·ħ":150815,"ä·¸":150816,"êĤ":150817,"êĤ«":150818,"êĮ":150819,"êĮ¼":150820,"êį":150821,"êį²":150822,"êĴµ":150823,"êĵ":150824,"êĵ½":150825,"êĻŃ":150826,"êĿĽ":150827,"êĿ¥":150828,"êŀ":150829,"êŀĬ":150830,"ê¦Ĩ":150831,"ê¦ĩ":150832,"ê¦Ł":150833,"ꦨ":150834,"ê§Ī":150835,"ê©":150836,"ê©Ł":150837,"êªĭ":150838,"êªij":150839,"êªķ":150840,"êªĹ":150841,"êªľ":150842,"ꪮ":150843,"ꪱ":150844,"ꪻ":150845,"ꪼ":150846,"ê«Ģ":150847,"ê«Ŀ":150848,"ê°ĥ":150849,"ê°ĺ":150850,"ê±ľ":150851,"ê²ĵ":150852,"ê²ļ":150853,"ê³Ļ":150854,"ê³¾":150855,"ê´Ĺ":150856,"ê´Ļ":150857,"êµĽ":150858,"ê¶ĥ":150859,"ê¶ķ":150860,"궨":150861,"긩":150862,"긿":150863,"ê¹Ħ":150864,"ê¹Ĩ":150865,"ê¹ī":150866,"ê¹ĵ":150867,"ê¹¢":150868,"ê¹£":150869,"깸":150870,"꺳":150871,"ê¿ı":150872,"ê¿ķ":150873,"ê¿§":150874,"ëĢ©":150875,"ëģħ":150876,"ëĥµ":150877,"ëĦĸ":150878,"ëĦĹ":150879,"ëĦ¢":150880,"ëħĤ":150881,"ëĨIJ":150882,"ëĩľ":150883,"ëĪĭ":150884,"ëĪļ":150885,"ëīį":150886,"ëī¨":150887,"ëĬļ":150888,"ëĬ¡":150889,"ëĭľ":150890,"ëĭª":150891,"ëĮĺ":150892,"ëĮ¤":150893,"ëĮ¸":150894,"ëİŁ":150895,"ëı¨":150896,"ëIJĦ":150897,"ëIJı":150898,"ëIJ´":150899,"ëIJ¸":150900,"ëijģ":150901,"ëij¿":150902,"ëĴ¨":150903,"ëĵ·":150904,"ëĶ®":150905,"ëͲ":150906,"ëķ§":150907,"ëĸĶ":150908,"ëĸª":150909,"ëĺŃ":150910,"ëļĢ":150911,"ëļł":150912,"ëĽĶ":150913,"뼩":150914,"ëľħ":150915,"ëŀķ":150916,"ëŀ°":150917,"ëŁIJ":150918,"ëł¡":150919,"ë¡ŀ":150920,"ë¡£":150921,"롵":150922,"ë£Ħ":150923,"ë£į":150924,"뤳":150925,"ë¦į":150926,"ë¦ı":150927,"릳":150928,"ë§Ħ":150929,"ë§Ĩ":150930,"ë§į":150931,"ë§ľ":150932,"ë§«":150933,"ë§»":150934,"먮":150935,"ë©Ĥ":150936,"ë©Ń":150937,"몴":150938,"묾":150939,"묳":150940,"묫":150941,"묾":150942,"ëѬ":150943,"ë®ĺ":150944,"뮹":150945,"ë¯ķ":150946,"ë¯ľ":150947,"ë°¨":150948,"ë°ª":150949,"ë±Ķ":150950,"ë²ĺ":150951,"ë²Ľ":150952,"ë²±":150953,"ë²´":150954,"ë´½":150955,"뵤":150956,"뵨":150957,"ë·Ĺ":150958,"ë·ĺ":150959,"ë¸ĵ":150960,"븾":150961,"빪":150962,"ëºĥ":150963,"ëºĺ":150964,"뺵":150965,"ë»´":150966,"ë¼IJ":150967,"ë¾Ķ":150968,"ìģŃ":150969,"ìĤł":150970,"ìĤ®":150971,"ìĥı":150972,"ìĥĻ":150973,"ìĦº":150974,"ìħ¢":150975,"ìĨĢ":150976,"ìĨħ":150977,"ìĨ¤":150978,"ìĨ¦":150979,"ìĨ¬":150980,"ìĩ±":150981,"ìε":150982,"ìĭ¨":150983,"ìĭ´":150984,"ìĮ°":150985,"ìįľ":150986,"ìİĹ":150987,"ìİĺ":150988,"ìݼ":150989,"ìijī":150990,"ìijĿ":150991,"ìij»":150992,"ìĴĶ":150993,"ìĴ¯":150994,"ìĵ©":150995,"ìķIJ":150996,"ìķĸ":150997,"ìĸł":150998,"ìĸ¾":150999,"ìĹĥ":151000,"ìĹĹ":151001,"ìĹľ":151002,"ìŨ":151003,"ìĺĤ":151004,"ìĺĦ":151005,"ìĺı":151006,"ìĺ¾":151007,"ìĺ¿":151008,"ìľ§":151009,"ìĿIJ":151010,"ìĿĸ":151011,"ìĿ·":151012,"ìŀį":151013,"ìŀı":151014,"ìŀ¨":151015,"ìŀª":151016,"ìŀ³":151017,"ìł¡":151018,"ìł´":151019,"ìł¹":151020,"ì¡Ģ":151021,"졪":151022,"졵":151023,"ì¢IJ":151024,"좨":151025,"ì£Į":151026,"ì£Ļ":151027,"죳":151028,"ì¦ij":151029,"ì§¥":151030,"ì§´":151031,"ì§¾":151032,"ì¨ĵ":151033,"ì¨ķ":151034,"ì©°":151035,"ì©»":151036,"쩼":151037,"ìªĹ":151038,"ì¬Ķ":151039,"ì¬ĺ":151040,"ì®®":151041,"ì¯ķ":151042,"ì¯ĺ":151043,"ì°İ":151044,"ì°¯":151045,"ì±ĥ":151046,"ì±µ":151047,"ì²§":151048,"ì²®":151049,"첯":151050,"쳬":151051,"ì´ĭ":151052,"ì´¢":151053,"ìµ¥":151054,"ì¶£":151055,"ì¸Ī":151056,"ì¸Ļ":151057,"캤":151058,"ìºŃ":151059,"컽":151060,"ì¼Ļ":151061,"콬":151062,"ì¾Ģ":151063,"ì¿ħ":151064,"쿽":151065,"íĢħ":151066,"íģ¦":151067,"íĤħ":151068,"íĥ¶":151069,"íĥ¹":151070,"íĦĶ":151071,"íħ£":151072,"íĨĦ":151073,"íĨ§":151074,"íĨ¹":151075,"íĩ¼":151076,"íī¤":151077,"íĬ½":151078,"íĭĤ":151079,"íĭij":151080,"íįĪ":151081,"íįĻ":151082,"íį¿":151083,"íݶ":151084,"íIJĿ":151085,"íĴľ":151086,"íĵĿ":151087,"íĵª":151088,"íĵ±":151089,"íĵ·":151090,"íĵ¼":151091,"íĶĻ":151092,"íĶł":151093,"íķļ":151094,"íķĽ":151095,"íķŀ":151096,"íķŁ":151097,"íķ§":151098,"íķ¶":151099,"íĸĬ":151100,"íĸĭ":151101,"íĸį":151102,"íĸĶ":151103,"íĸĺ":151104,"íĸ¡":151105,"íĸ¬":151106,"íĹ£":151107,"íĹ¿":151108,"íĺĸ":151109,"íĺŃ":151110,"íļ°":151111,"íĽį":151112,"íĽ½":151113,"íĿŁ":151114,"íĿŃ":151115,"íĿ´":151116,"íŀľ":151117,"ï¤ī":151118,"ï¤Ń":151119,"爐":151120,"蘆":151121,"祿":151122,"ï¥Ģ":151123,"ï¥ij":151124,"ï¥Ĵ":151125,"ï¥ķ":151126,"ï¥ĺ":151127,"ï¥Ļ":151128,"參":151129,"塞":151130,"殺":151131,"勵":151132,"ï¦ĭ":151133,"ï¦ı":151134,"ï¦Ķ":151135,"ï¦ĸ":151136,"ï¦ĺ":151137,"ï¦Ľ":151138,"ï¦ł":151139,"瑩":151140,"羚":151141,"了":151142,"僚":151143,"料":151144,"ï§Ĩ":151145,"ï§ĸ":151146,"ï§Ľ":151147,"ï§ŀ":151148,"ï§Ł":151149,"ï§§":151150,"ï§³":151151,"狀":151152,"ï§½":151153,"ï¨ĥ":151154,"ï¨ļ":151155,"諸":151156,"ï©Ł":151157,"ﬤ":151158,"שּׁ":151159,"לּ":151160,"ïŃĴ":151161,"ïŃķ":151162,"ïŃĽ":151163,"ïŃĿ":151164,"ïŃŀ":151165,"ïŃŁ":151166,"ïѤ":151167,"ïѧ":151168,"ïѨ":151169,"ïŃ®":151170,"ïѰ":151171,"ïѱ":151172,"ïŃ·":151173,"ïѹ":151174,"ïŃ»":151175,"ï®Ģ":151176,"ï®ĥ":151177,"ï®Ħ":151178,"ï®ħ":151179,"ï®į":151180,"ï®Ĵ":151181,"ï®ĵ":151182,"ï®ķ":151183,"ﮦ":151184,"ï®®":151185,"ï®°":151186,"ï¯ĵ":151187,"ï¯ľ":151188,"ﯩ":151189,"ﯪ":151190,"ﯬ":151191,"ï¯Ń":151192,"ﯮ":151193,"ﯷ":151194,"ﯹ":151195,"ﯻ":151196,"ﯼ":151197,"ï°ĥ":151198,"ï°Į":151199,"ï°IJ":151200,"ï°ĺ":151201,"ï°Ļ":151202,"ï°ľ":151203,"ï°ŀ":151204,"ï°¢":151205,"ï°®":151206,"ï°°":151207,"ï°¼":151208,"ï°¿":151209,"ï±Ģ":151210,"ï±ģ":151211,"ï±Ī":151212,"ï±ĭ":151213,"ï±ı":151214,"ï±Ń":151215,"ï²Ģ":151216,"ï²ĩ":151217,"ï²Ī":151218,"ï²ĭ":151219,"ï²İ":151220,"ï²Ĵ":151221,"ï²ľ":151222,"ï²ł":151223,"ﲬ":151224,"ï²»":151225,"ï³ĩ":151226,"ï³Ķ":151227,"ï³£":151228,"ﳫ":151229,"ï´ĺ":151230,"ï´°":151231,"ï´½":151232,"ï¶":151233,"ï¶°":151234,"ï¸ĸ":151235,"︴":151236,"︹":151237,"ï¹į":151238,"ï¹Ĺ":151239,"ï¹¢":151240,"﹤":151241,"﹩":151242,"ï¹±":151243,"ï¾°":151244,"ï¿Ĥ":151245,"ï¿®":151246,"ðIJĮ°":151247,"ðIJĮ¹":151248,"ðIJĮº":151249,"ðIJĮ½":151250,"ðIJįĤ":151251,"ðIJįĥ":151252,"ðIJįĦ":151253,"ðIJİ":151254,"ðIJݹ":151255,"ðIJ¤Ĥ":151256,"ðIJ¤į":151257,"ðIJ¤ı":151258,"ðIJ¤ĵ":151259,"ðIJŃī":151260,"ðIJŃį":151261,"ðIJ°ĩ":151262,"ðIJ°°":151263,"ðijĤ":151264,"ðijĤĦ":151265,"ðijĺ":151266,"ðijĺģ":151267,"ðĴĢ":151268,"ðĴ̏":151269,"ðĴģ":151270,"ðĴģº":151271,"ðĴĦ":151272,"ðĴĦ·":151273,"ðĴĬ":151274,"ðĴĬij":151275,"ðĴĭ":151276,"ðĴĭĹ":151277,"ðĴĮ":151278,"ðĴĮ¨":151279,"ðĵĥ¢":151280,"ðĵĥ°":151281,"ðĸł":151282,"ðĸłļ":151283,"ðĿĦĥ":151284,"ðĿĦħ":151285,"ðĿĦķ":151286,"ðĿĦĻ":151287,"ðĿĦ±":151288,"ðĿĦ´":151289,"ðĿĦ¹":151290,"ðĿħİ":151291,"ðĿħª":151292,"ðĿĨ£":151293,"ðĿĨ³":151294,"ðĿĨ¹":151295,"ðĿĩĬ":151296,"ðĿĩĹ":151297,"ðĿĩļ":151298,"ðĿĩľ":151299,"ðĿĩł":151300,"ðĿIJī":151301,"ðĿIJĸ":151302,"ðĿIJĺ":151303,"ðĿIJ£":151304,"ðĿIJ±":151305,"ðĿijĬ":151306,"ðĿijŃ":151307,"ðĿij¼":151308,"ðĿij½":151309,"ðĿĴ°":151310,"ðĿĴ·":151311,"ðĿĴ¿":151312,"ðĿĵģ":151313,"ðĿĵĭ":151314,"ðĿĵİ":151315,"ðĿĵĴ":151316,"ðĿĵĺ":151317,"ðĿĵ¢":151318,"ðĿĵ¦":151319,"ðĿĵ«":151320,"ðĿĵ¿":151321,"ðĿĶİ":151322,"ðĿͱ":151323,"ðĿĶ´":151324,"ðĿĶ·":151325,"ðĿ͏":151326,"ðĿͽ":151327,"ðĿķĤ":151328,"ðĿķĥ":151329,"ðĿķĭ":151330,"ðĿķı":151331,"ðĿķIJ":151332,"ðĿķ¥":151333,"ðĿķ´":151334,"ðĿķº":151335,"ðĿĸIJ":151336,"ðĿĸĽ":151337,"ðĿĸĿ":151338,"ðĿĸŀ":151339,"ðĿĹ©":151340,"ðĿĹ³":151341,"ðĿĹ½":151342,"ðĿĺĬ":151343,"ðĿĺĭ":151344,"ðĿĺĶ":151345,"ðĿĺ±":151346,"ðĿĺ´":151347,"ðĿĺ¿":151348,"ðĿĻĴ":151349,"ðĿĻĿ":151350,"ðĿĻŁ":151351,"ðĿϬ":151352,"ðĿĻŃ":151353,"ðĿĻ»":151354,"ðĿϾ":151355,"ðĿļĪ":151356,"ðĿļĭ":151357,"ðĿļij":151358,"ðĿļŁ":151359,"ðĿļł":151360,"ðĿļ£":151361,"ðĿĽ½":151362,"ðĿľĤ":151363,"ðĿľĶ":151364,"ðĿľĻ":151365,"ðŁĢ":151366,"ðŁĢĦ":151367,"ðŁĦ²":151368,"ðŁĦ¶":151369,"ðŁħIJ":151370,"ðŁħĸ":151371,"ðŁħļ":151372,"ðŁħĽ":151373,"ðŁħ¦":151374,"ðŁħ¶":151375,"ðŁħ»":151376,"ðŁħ¼":151377,"ðŁĨĥ":151378,"ðŁĨĨ":151379,"ðŁĨİ":151380,"ðŁĪ¯":151381,"ðŁĪ²":151382,"ðŁĪ¹":151383,"ðŁĮĩ":151384,"ðŁĮĵ":151385,"ðŁįĺ":151386,"ðŁİij":151387,"ðŁİ¿":151388,"ðŁıı":151389,"ðŁıĴ":151390,"ðŁı©":151391,"ðŁı¯":151392,"ðŁIJĢ":151393,"ðŁijĿ":151394,"ðŁĴ¹":151395,"ðŁĴº":151396,"ðŁĵŁ":151397,"ðŁĵª":151398,"ðŁĵ¼":151399,"ðŁĶĢ":151400,"ðŁĶĤ":151401,"ðŁĶĥ":151402,"ðŁĶĩ":151403,"ðŁĶĵ":151404,"ðŁĶ¢":151405,"ðŁĶ¤":151406,"ðŁĶ©":151407,"ðŁķĸ":151408,"ðŁķļ":151409,"ðŁķľ":151410,"ðŁķĿ":151411,"ðŁķŀ":151412,"ðŁķł":151413,"ðŁķ¢":151414,"ðŁķ³":151415,"ðŁĸĩ":151416,"ðŁĸij":151417,"ðŁĸ¶":151418,"ðŁĹģ":151419,"Ѩ":151420,"Úİ":151421,"á¡Į":151422,"Ḱ":151423,"áºĢ":151424,"á¼®":151425,"á½Ŀ":151426,"âĦ¬":151427,"âļ§":151428,"⼤":151429,"㳬":151430,"êĻĭ":151431,"ê¸ij":151432,"ëĶī":151433,"ëĹį":151434,"ë¡ij":151435,"ë¯ij":151436,"ë»ħ":151437,"ë¼Ŀ":151438,"ìĦIJ":151439,"ìī¡":151440,"ìĭ²":151441,"ìı±":151442,"ìŤ":151443,"ìĿ©":151444,"ìĿ¿":151445,"ìŁĻ":151446,"ìł°":151447,"ì¥ī":151448,"íĬŃ":151449,"íķ®":151450,"ï®ı":151451,"ðŁħ±":151452,"ðŁĨĴ":151453,"ðŁķĭ":151454,"Éĺ":151455,"Êĵ":151456,"Õĥ":151457,"à´´":151458,"à½ħ":151459,"áĨº":151460,"áĪĬ":151461,"á΍":151462,"áξ":151463,"áīIJ":151464,"áĮĥ":151465,"áĮ½":151466,"áĶŃ":151467,"áłĤ":151468,"ᳬ":151469,"ᨸ":151470,"á©ĭ":151471,"á¶ı":151472,"á¾Ķ":151473,"á¿IJ":151474,"á¿ļ":151475,"âĻĻ":151476,"âļĤ":151477,"âļĹ":151478,"â¡¢":151479,"⤦":151480,"ëĸ°":151481,"ë¤Ĥ":151482,"ë§ł":151483,"ë±ĭ":151484,"ë±IJ":151485,"ìĽ¢":151486,"ìľ¾":151487,"ì³ħ":151488,"ì»ģ":151489,"íģ»":151490,"íĥĻ":151491,"íĵĸ":151492,"íĵŃ":151493,"íķ±":151494,"íĽľ":151495,"ï¤ħ":151496,"ï¤Ĩ":151497,"ï¦ĥ":151498,"ï§©":151499,"ï¨Ĥ":151500,"ðIJ¤Ķ":151501,"ðIJŃĵ":151502,"ðIJ°¼":151503,"ðĿĵŀ":151504,"ðĿĵ°":151505,"ðĿĻľ":151506,"ðĿļģ":151507,"ðŁħ¢":151508,"ðŁıĩ":151509,"Ȳ":151510,"ʶ":151511,"ÔĪ":151512,"Ôij":151513,"Ýĵ":151514,"Ý¥":151515,"à¤ij":151516,"ॱ":151517,"à¬ī":151518,"à°³":151519,"à°µ":151520,"à²Ł":151521,"áĢı":151522,"áģ¼":151523,"áī¨":151524,"áĬĴ":151525,"áĭ©":151526,"áĮĦ":151527,"áĮĶ":151528,"áIJ§":151529,"áĴĮ":151530,"áĶħ":151531,"áĶĬ":151532,"áłĦ":151533,"á¨ģ":151534,"á¸ĥ":151535,"ḻ":151536,"âĶŀ":151537,"âĺµ":151538,"âļ£":151539,"â²¢":151540,"ãĪª":151541,"ä¶µ":151542,"ê²Ļ":151543,"ê²´":151544,"ê³Ĥ":151545,"롼":151546,"ìĨĬ":151547,"ì¼ĩ":151548,"íĭį":151549,"íĵ¬":151550,"íĵ®":151551,"íĵ¶":151552,"íĵ»":151553,"臘":151554,"ï¥ł":151555,"辰":151556,"ïѲ":151557,"ðIJŃĬ":151558,"ðIJ±ħ":151559,"ðĸ¥":151560,"ðĸ¥¨":151561,"ðĿij³":151562,"ðĿĵķ":151563,"ðĿĵ¬":151564,"ðĿĵ¹":151565,"ðĿĵ¾":151566,"ðĿĶĵ":151567,"ðĿķį":151568,"ðĿķ¡":151569,"ðĿķ±":151570,"ðĿĸĸ":151571,"ðĿĺı":151572,"ðĿĺIJ":151573,"ðĿĺļ":151574,"ðĿĻ®":151575,"ðĿϰ":151576,"ðĿϏ":151577,"ðĿĻº":151578,"ðĿϼ":151579,"ðĿϽ":151580,"ðĿĻ¿":151581,"ðĿļĦ":151582,"ðĿļı":151583,"ðŁħħ":151584,"ðŁħĵ":151585,"ÆĪ":151586,"àłĮ":151587,"áϳ":151588,"áļĮ":151589,"áĽħ":151590,"áĽIJ":151591,"á¤Ĭ":151592,"á¸Ĭ":151593,"âͽ":151594,"âķĬ":151595,"âĽĩ":151596,"âĽı":151597,"âĿª":151598,"âĿ«":151599,"⣰":151600,"ãĦį":151601,"ãĦĵ":151602,"ãĦ§":151603,"ãħĸ":151604,"ãī«":151605,"ê¦Ķ":151606,"ï±Ĭ":151607,"àºĤ":151608,"áħ£":151609,"á¥Ķ":151610,"ᥤ":151611,"âĨ¤":151612,"âĨ·":151613,"âĩŀ":151614,"âĸ¤":151615,"âŀ¶":151616,"ãμ":151617,"嘆":151618,"ðĵı§":151619,"âͲ":151620,"âĢ´":151621,"âĴŁ":151622,"âĴ¡":151623,"â°Ĥ":151624,"â°į":151625,"â°İ":151626,"â°IJ":151627,"â°ij":151628,"â°Ł":151629,"â°ł":151630,"â°¡":151631,"â¼Ń":151632,"ãĬ¥":151633,"âĴł":151634,"⽺":151635,"ãĩº":151636,"ãĩ½":151637,"ï¨Ĭ":151638,"áķ·":151639,"âį¨":151640,"âºŁ":151641,"â½Ĺ":151642} \ No newline at end of file diff --git a/configs/t5_old/config.json b/configs/t5_old/config.json new file mode 100644 index 000000000..3fb4ffdac --- /dev/null +++ b/configs/t5_old/config.json @@ -0,0 +1,51 @@ +{ + "architectures": [ + "T5WithLMHeadModel" + ], + "d_ff": 65536, + "d_kv": 128, + "d_model": 1024, + "decoder_start_token_id": 0, + "dropout_rate": 0.1, + "eos_token_id": 1, + "initializer_factor": 1.0, + "is_encoder_decoder": true, + "layer_norm_epsilon": 1e-06, + "model_type": "t5", + "n_positions": 512, + "num_heads": 128, + "num_layers": 24, + "output_past": true, + "pad_token_id": 0, + "relative_attention_num_buckets": 32, + "task_specific_params": { + "summarization": { + "early_stopping": true, + "length_penalty": 2.0, + "max_length": 200, + "min_length": 30, + "no_repeat_ngram_size": 3, + "num_beams": 4, + "prefix": "summarize: " + }, + "translation_en_to_de": { + "early_stopping": true, + "max_length": 300, + "num_beams": 4, + "prefix": "translate English to German: " + }, + "translation_en_to_fr": { + "early_stopping": true, + "max_length": 300, + "num_beams": 4, + "prefix": "translate English to French: " + }, + "translation_en_to_ro": { + "early_stopping": true, + "max_length": 300, + "num_beams": 4, + "prefix": "translate English to Romanian: " + } + }, + "vocab_size": 32128 +} diff --git a/configs/t5_old/spiece.model b/configs/t5_old/spiece.model new file mode 100644 index 0000000000000000000000000000000000000000..4e28ff6ebdf584f5372d9de68867399142435d9a GIT binary patch literal 791656 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

l4{)H$osCy`k*$ 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%0ANl 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[-|zqhBr(43DLpJ^{F=cclsf(4z-Q9fSP_aK zZ3UUOJzs#@Rbpw?9{T1&O#UPb zqKfl>DovvpJg^ThC8{<-;;XN1h(Wn67fzXz7aQoZt`wVged*QUSJIEVFqu^KZ~k_@ zW2P#T;Dz}5Q#jY|skJks@-v`wOx5A&>{t>02IG_zCJJA^HR)-ICBASllvKsoF(aZ!*m=@69&(&rq%@ShA6VVJXJ^4>x3edD4IJ=Tg{e^SD+hjZ_!t9ul_9E77H0{uiJN ziH#|=0Whr?<3zfmq?h3|A}_JT*dYPqRd9;uxX!fKSAWpbej7X0;D3x)>R=^ zSQ6y4r~1tK*hHLD)|=zl>sDdDAT9>l6_y4e@3F&U6FHrs(G@XI$kK0O)2lN+5aBE^ z`D5#eAvWeO1L+9SbK+o|mh*}@XT6kbi4~Uxy25ZPR(3&m5<>wL*pvN-++>D>$Nu;w z1?Y?x(6!(n7Y!St?C0fUk|>8=bj*HPp|{c2If zJn;DCF}Pe7K9VFmeQ}K_=XpwUo$Bu8Ge3#33hMu_SAeoOCt$=dwidQnCa@`q{cl9@ zsz{YevcP;($T{ibRdH#SzEuu|=S4ZcSP?JIStF%#b{W?3I@x1_YGGVlil+sf0InkU z#J_~e(`-iMUw(rdStBj_0d4bau#y=%CuXENh~9c-7*dlg@>!Qs<%fxKkZo)_#t31{ zfn7P$lNUh(TH1-^S^*;LWxN=>O6IdJS)Pv;T!zV`IJ|AY5T}p@ke@Eye}NR6<4+;+e9iw1a<73~_KL zB1Wy9g_*n>5_^{kR&Q;^=qwX-N?Z>(NrY>F)Godibd=oGOy-%D>p-b%oE~een}y#~ zK>siLML1K5X|mIV)5gkh#{ZvqpR`35K64W{UAi~ z=lbZ42G;j?TvgR1=t)6Kt5#a#{qd?8&)pdRn1c+UJ;nj!2GGRL;TikoC;k@XcdC

kM9h*Ie1)a4tw zEkm2l;ReFSPz2Yf_3S?cT=IOv8S%25M7HpHEG)#@ zn}Zxd9S2Nk=*0?KK)E2s>4Lz?!Y)?yOyU|r*Lv-}GtuLYfH+GKtxwJU_S_OCt&$jq z%g1XXh?XmLXhFR3JCJ13#eUfGTLH*0uf)VuxgFW`hADB9AYVyNJ@LJeqoIvxJ9xuw z{3+%-W2)SQ$y|!wDFt&dc^TgcI5F(^vrcQ+HVdd$+D&~iPmJTOqPO^qpud=~Z~=Q; zpNgTlyZq=<@0d$d-deJ^6^&5zCcsfdFX)s$1-z1t$ zbO@Dc*RkH}eoQnuAV(NKCsx;We<|XT#zo*~P;#n`mL8I{IsC(IZkpzwu zWx-G;strjKcv!T1K5r7US;E6>qhZPA(BgJgVbYU4br`T3&+b zYKtl{#HA$?yK3_V-I|(oheflaTg17KurWXNDc9_lg~a?@Pf~p-hG=IqL-|H-r;(`+ zo44PJa4u(b6#9FZlP|S9RGMtvr{1xQtE7i>k+7veO5zPc2g#&|5#i_Z|CJot?70X3 zyM)=uPSi^Q9@iXiA)*+k$;zOol4#r*~D9FD5RixYzpTh!0v znleKZ&Cv>X9*3WF{y;rS4hwD)=kJo|W=iph7!rd56<0~d8w~U@u+&WeIOV!Wq$OIn zC`7gJx;RTtheX9ImOA1lF(jLtgUK@R!SeSkACqP~W+GmOT0$Y-6tni}>CX(JyO4p@m6LLti3Ye(p0=<~D9sA0vy4-il{?f<)-Y@%W$@LByvR-2U zEIfLFZW_UHe$MOflb2E@HeX3PEA3C4O@N?ldp6Q#+V3S7cffIYW3s&^4ho z(SNQ#5CWl3X^K1KOnWL>Wr$-Bf^a4$atOfQ%JpKh&WZ}aWSwWC56=80_r952x>#S-oOVc}vwHkt*=HI+U(Y}7+%US z>Z&7SpMJ2z*HV*DxL7HU(2@ztxdIk-`GsQAc#U{x6ytu$#=>=?kZLm;rz;HLw!j-O ze6g~ilgv|pbfD2tW;$&&;At_I%Itv{I~(NiXBPaZ>Zmzcn3I`>j1i<26kB+=K{JNK z=0Z5H99op(ph0_JYEon$vm<^K;Z*bv%$r9^tUeEhtfCMyH r;565^6l2rFfKJa2 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≦`29}wc4xEBb_W}V~$=~7Wn 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 zhyNe`fB665|A+q{{(ty?pV0N}=l_TQAO3&%|Kb0K{~!K;`2XSmhyNe`fB665|A+q{ z{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe`fB665|A+q{{(t!Y;s1yKAO3&%|Kb0K z{~!K;`2XSmhyNe`fB665|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe`fB665 z|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe`fB665|A+q{{(t!Y;s1yKAO3&% z|Kb0K{~!K;`2XSmhyNe`fB665|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe` zfB665|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe`fB665|A+q{{(t!Y;s1yK zAO3&%|Kb0K{~!K;`2XSmhyNe`fB665|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSm zhyNe`fB665|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe`fB665|A+q{{(t!Y z;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe`fB665|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K; z`2XSmhyNe`fB665|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe`fB665|A+q{ z{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe`fB665|A+q{{(t!Y;s1yKAO3&%|Kb0K z{~!K;`2XSmhyNe`fB665|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe`fB665 z|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe`fB665|A+q{{(t!Y;s1yKAO3&% z|Kb0K{~!K;`2XSmhyNe`fB665|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe` zfB665|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe`fB665|A+q{{(t!Y;s1yK zAO3&%|Kb0K{~!K;`2XSmhyNe`fB665|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSm zhyNe`fB665|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe`fB665|A+q{{(t!Y z;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe`fB665|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K; z`2XSmhyNe`fB665|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe`fB665|A+q{ z{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe`fB665|A+q{{(t!Y;s1yKAO3&%|Kb0K z{~!K;`2XSmhyNe`fB665|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe`fB665 z|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe`fB665|A+q{{(t!Y;s1yKAO3&% z|Kb0K{~!K;`2XSmhyNe`fB665|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe` zfB665|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe`fB665|A+q{{(t!Y;s1yK zAO3&%|Kb0K{~!K;`2XSmhyNe`fB665|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSm zhyNe`fB665|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe`fB665|A+q{{(t!Y z;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe`fB665|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K; z`2XSmhyNe`fB665|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe`fB665|A+q{ z{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe`fB665|A+q{{(t!Y;s1yKAO3&%|Kb0K z{~!K;`2XSmhyNe`fB665|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe`fB665 z|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe`fB665|A+q{{(t!Y;s1yKAO3&% z|Kb0K{~!K;`2XSmhyNe`fB665|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe` zfB665|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe`fB665|A+q{{(t!Y;s1yK zAO3&%|Kb0K{~!K;`2XSmhyNe`fB665|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSm zhyNe`fB665|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe`fB665|A+q{{(t!Y z;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe`fB665|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K; z`2XSmhyNe`fB665|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe`fB665|A+q{ z{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe`fB665|A+q{{(t!Y;s1yKAO3&%|Kb0K z{~!K;`2XSmhyNe`fB665|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe`fB665 z|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe`fB665|A+q{{(t!Y;s1yKAO3&% z|Kb0K{~!K;`2XSmhyNe`fB665|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe` zfB665|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSmhyNe`fB665|A+q{{(t!Y;s1yK zAO3&%|Kb0K{~!K;`2XSmhyNe`fB665|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSm zhyNe`fB665|A+q{{(t!Y;s1yKAO3&%|Kb0K{~!K;`2XSmhyRcNkN=PVkN=PVkN=PV zkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PV zkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PV zkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PV zkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PV zkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PV zkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PVkN=PV zkN=PVkN=PVkN@v~?C1aE|KtDT|KtDrAN%?L`2YC-`2YC-`2YC-`2YC-`2YC-`2YC- z`2YC-`2YC-`2YC-`2YC-`2YC-`2YC-{?~r~KmI@dKmI@dzyGzL|BwHV|BwHV|BwHV z|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV z|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV z|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV z|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV z|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV z|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV z|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV z|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV z|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV z|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV z|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV z|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV z|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV z|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV z|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV z|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV z|BwHV|BwHV|BwHV|BwHV|BwHV|L?&51N#r`Kd}G6{sa3D>_4#o!2SdK59~j%|G@qO z`w#3tu>ZjR1N#r`Kd}G6{sa3D>_4#o!2SdK59~j%|G@qO`w#3tu%G{r|BwHV|BwHV z|BwHV|L?&51N#r`Kd_(wkN@w${sa3D>_4#o!2SdK59~j%|G@qO`w#3tu>ZjR1N#r` zKd}G6{sa5@|M>s-|M>s-|M>s-|M>q7?LV~t(EdaF`TzL;4(;dvJGB4M{zLl@?LV~t z(EdaF5A8p+|Iq$J`w#6uwExilL;DZyKeYeQ{zLl@?LV~t(EdaF5A8p+|Iq$J`w#6u zwExilL;DZyKeYeQ{zLl@?LV~t(EdaF5A8p+|Iq$J`w#6uwExilL;DZyKeGSG{v-R3 z>_4*q$o?bykL*9PpZ|~lkN@w;{v-R3>_4)f|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV z|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV z|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV z|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwIg*#2YtkL^FU|JeRx`;YBEw*T1v zWBd94`2UXWKeqqa{$u<3|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s- z|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>s-|M>qN?0>MI|BwHV|BwHV|BwHV z|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwHV|BwIg(f&vK z`TzL;`2YC-`2YC-`2YC-`2YC-`2YC-`2YC-`2YC-`2YC-`2YC-`2YC-`2YC-`2YC- z`2YC-`2YC-`2YC-`2YC-`2YC-`2YC-`2YC-`2YC-`2YC-`2YC-`2YC-`2YC-_zuW(A|GWL~ z_P^WzZvVUe@Akjj|8D=g{U7#!*#BYwhy5S+f7t(F|A+k__J7#_VgHByANGIP|6%`! z{U7#!*#BYwhy5S+f7t(F|A+k__J7#_VgHByANGIP|6%`!{U7#!*#BYwhy5S+f7t(F z|A+k__J7zf1CR_rANGIP|6%`!{W1W_03-vD3_vmf$p9n+kPJXF0LcI(1CR_rG62Z{ zBmxnHGowEST%rE16VbHRRdTxfK>xnHGowEST%rE16VbHRRdTxfK>xnHGowEST%rE z16VbHRRdTxfK>xnHGowEST%rE16VbHRRdTxfK>xnHGowEST%rE16VbHRRdTxfK>xn zHGowEST%rE16VbHRRdTxfK>xnHGowEST%rE16VbHRRdTxfK>xnHGowEST%rE16VbH zRRdTxfK>xnHGowEST%rE16VbHRRdTxfK>xnHGowEST%rE16VbHRRdTxfK>xnHGowE zST%rE16VbHRRdTxfK>xnHGowEST%rE16VbHRRdTxfK>xnHGowEST%rE16VbHRRdTx zfK>xnHGowEST%rE16VbHRRdTxfK>xnHGowEST%rE16VbHRRdTxfK>xnHGowEST%rE z16VbHRRdTxfK>xnHGowEST%rE16VbHRRdTxfK>xnHGowEST%rE16VbHRRdTxfK>xn zHGowEST%rE16VbHRRdTxfK>xnHGowEST%rE16VbHRRdTxfK>xnHGowEST%rE1K9tu zUkzZ@09FlP)c{rvVATLt4Pey(Rt;d)09FlP)c{rvVATLt4Pey(Rt;d)09FlP)c{rv zVATLt4Pey(Rt;d)09FlP)c{rvVATLt4PgJ*el>tq16VbHRRdTxfK>xnHGowEST%rE z16VbHRRdTxfK>xnHGowEST%rE16VbHRRdTxfK>xnHGowEST%rE16VbHRRdTxfK>xn zHGowEST%rE16VbHRRdTxfK>xnHGowEST%rE16VbHRRdTxfK>xnHGowEST%rE16VbH zRRdTxfK>xnHGowEST%rE16VbHRRdTxfK>xnHGowEST%rE16VbHRRdTxfK>xnHGowE zST%rE16VbHRRdTxfK>xnHGowEST%rE16VbHRRdTxfK>xnHGowEST%rE16VbHRRdTx zfK>xnHGowEST%rE16VbHRRdTxfK>xnHGowEST%rE16VbHRRdTxfK>xnHGowEST%rE z16VbHRRdTxfK>xnHGowEST%rE16VbHRRdTxfK>xnHGowEST%rE16VbHRRdTxfK>xn zHGowEST%rE16VbHRRdTxfK>xnHGowEST%rE16VbHRRdTxfK>xnHGowEST%rE16VbH zRRdTxfK>xnHGowEST%rE16VbHRRdTxfK>xnHGowEST%rE16VbHRRdTxfK>xnHGowE zST%rE16VbHRRdTxfK>xnHGowEST%rE16VbHRRdTxfK>xnHGowEST%rE16VbHRRdTx zfK>xnHGowEST%rE16VbHRRdTxfK>xnHGowEST%rE16VbHRRdTxfK>xnHGowEST%rE z16VbHRRdTxfK>xnHGowEST%rE16VbHRRdTxfK>xnHGowEST%rE16VbHRRdTxfK>xn zHGowEST%rE16VbHRRdTxfK>xnHGowEST%rE16VbHRRdTxfK>xnHGowEST%rE16VbH zRRdTxfK>xnHGowEST%rE16VbHRRdTxfK>xnHGowEST%rE16VbHRRdTxfK>xnHGowE zST%rE16VbHRRdTxfK>xnHGowEST%rE16VbHRRdTxfK>xnHGowEST%rE16VbHRRdTx zfK>xnHGowEST%rE16VbHRRdTxfK>xnHGowEST%rE16VbHRRdTxfK>xnHGowEST%rE z16VbHRRdTxfK>xnHGowEST%rE16VbHRRdTxfK>xnHGowEST%rE16VbHRRdTxfK>xn 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 z(Ey?WL<5Kh5Dg$2Ks1180MP)V0Yn3c1`rJ(8bCCFXaLawq5(t$hz1Z1AR0h4fM@{G z0HOgz1BeC?4ImmoG=OLT(Ey?WL<5Kh5Dg$2Ks1180MP)V0Yn3c1`rJ(8bCCFXaLaw zq5(t$hz1Z1AR0h4fM@{G0HOgz1BeC?4ImmoG=OLT(Ey?WL<5Kh5Dg$2Ks1180MP)V z0Yn3c1`rJ(8bCCFXaLawq5(t$hz1Z1AR0h4fM@{G0HOgz1BeC?4ImmoG=OLT(Ey?W zL<5Kh5Dg$2Ks1180MP)V0Yn3c1`rJ(8bCCFXaLawq5(t$hz1Z1AR0h4fM@{G0HOgz z1BeC?4ImmoG=OLT(Ey?WL<5Kh5Dg$2Ks1180MP)V0Yn3c1`rJ(8bCCFXaLawq5(t$ zhz1Z1AR0h4fM@{G0HOgz1BeC?4ImmoG=OLT(Ey?WL<5Kh5Dg$2Ks1180MP)V0Yn3c z1`rJ(8bCCFXaLawq5(t$hz1Z1AR0h4fM@{G0HOgz1BeC?4ImmoG=OLT(Ey?WL<5Kh z5Dg$2Ks1180MP)V0Yn3c1`rJ(8bCCFXaLawq5(t$hz1Z1AR0h4fM@{G0HOgz1BeC? z4ImmoG=OLT(Ey?WL<5Kh5Dg$2Ks1180MP)V0Yn3c1`rJ(8bCCFXaLawq5(t$hz1Z1 zAR0h4fM@{G0HOgz1BeC?4ImmoG=OLT(Ey?WL<5Kh5Dg$2Ks1180MP)V0Yn3c1`rJ( z8bCCFXaLawq5(t$hz1Z1AR0h4fM@{G0HOgz1BeC?4ImmoG=OLT(Ey?WL<5Kh5Dg$2 zKs1180MP)V0Yn3c1`rJ(8bCCFXaLawq5(t$hz1Z1AR0h4fM@{G0HOgz1BeC?4Immo zG=OLT(Ey?WL<5Kh5Dg$2Ks1180MP)V0Yn3c1`rJ(8bCCFXaLawq5(t$hz1Z1AR0h4 zfM@{G0HOgz1BeC?4ImmoG=OLT(Ey?WL<5Kh5Dg$2Ks1180MP)V0Yn3c1`rJ(8bCCF zXaLawq5(t$hz1Z1AR0h4fM@{G0HOgz1BeC?4ImmoG=OLT(Ey?WL<5Kh5Dg$2Ks118 z0MP)V0Yn3c1`rJ(8bCCFXaLawq5(t$hz1Z1AR0h4fM@{G0HOgz1BeC?4ImmoG=OLT z(Ey?WL<5Kh5Dg$2Ks1180MP)V0Yn3c1`rJ(8bCCFXaLawq5(t$hz1Z1AR0h4fM@{G z0HOgz1BeC?4ImmoG=OLT(Ey?WL<5Kh5Dg$2Ks1180MP)V0Yn3c1`rJ(8bCCFXaLaw zq5(t$hz1Z1AR0h4fM@{G0HOgz1BeC?4ImmoG=OLT(Ey?WL<5Kh5Dg$2Ks1180MP)V z0Yn3c1`rJ(8bCCFXaLawq5(t$hz1Z1AR0h4fM@{G0HOgz1BeC?4ImmoG=OLT(Ey?W zL<5Kh5Dg$2Ks1180MP)V0Yn3c1`rJ(8bCCFXaLawq5(t$hz1Z1AR0h4fM@{G0HOgz z1BeC?4ImmoG=OLT(Ey?WL<5Kh5Dg$2Ks1180MP)V0Yn3c1`rJ(8bCCFXaLawq5(t$ zhz1Z1AR0h4fM@{G0HOgz1BeC?4ImmoG=OLT(Ey?WL<5Kh5Dg$2Ks1180MP)V0Yn3c z1`rJ(8bCCFXaLawq5(t$hz1Z1AR0h4fM@{G0HOgz1BeC?4ImmoG=OLT(Ey?WL<5Kh z5Dg$2Ks1180MP)V0Yn3c1`rJ(8bCCFXaLawq5(t$hz1Z1AR0h4fM@{G0HOgz1BeC? z4ImmoG=O=gP$;~)hPQ$`kMNHm`yxCQtmB3Mui>-c(k^)H&quHPY}bv~zirrYnD3AJ z?QlPL-v7Gu@2@)_>^%O@Q?G~owqfUbq#rxiBR&3f_mr<2cTc(7@sxw=)*LK-1;;vA zNY23(X%2?(=U_5;4(8kDU=U=EZUN@#yf;Vx^m8a*#$o=tPg>?$g= zD-X;rPd~dP>+G_6v%A%r-Mz%@7LT(tB?ND6f9H7n^{wqXv}e~&JG*|O*)@>NNd_soX","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":1,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":2,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32000,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32001,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32002,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32003,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32004,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32005,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32006,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32007,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32008,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32009,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32010,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32011,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32012,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32013,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32014,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32015,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32016,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32017,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32018,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32019,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32020,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32021,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32022,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32023,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32024,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32025,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32026,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32027,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32028,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32029,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32030,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32031,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32032,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32033,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32034,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32035,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32036,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32037,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32038,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32039,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32040,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32041,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32042,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32043,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32044,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32045,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32046,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32047,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32048,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32049,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32050,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32051,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32052,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32053,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32054,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32055,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32056,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32057,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32058,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32059,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32060,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32061,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32062,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32063,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32064,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32065,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32066,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32067,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32068,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32069,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32070,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32071,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32072,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32073,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32074,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32075,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32076,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32077,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32078,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32079,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32080,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32081,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32082,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32083,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32084,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32085,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32086,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32087,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32088,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32089,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32090,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32091,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32092,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32093,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32094,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32095,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32096,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32097,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32098,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false},{"id":32099,"special":true,"content":"","single_word":false,"lstrip":false,"rstrip":false,"normalized":false}],"normalizer":{"type":"Precompiled","precompiled_charsmap":"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gAkAAIRlAAD9GwCAzNAHAMzwBwAFHACAkYkAAMxMBgDNBAYAzHAGAM10BgDMQAcAmy0PAMyoBwDNrAcAhg0AAIdVDwCEQQ8ACQsAgIIBDACDVQ8AgDUBAIHZAQCkDACAj+kAAIztAACSDACA3R0AgIv1AACIbQ8AiQ0AAA8LAIC0CwCAgiUAAE0MAICBQQAAUwwAgBUeAIANHgCAJR4AgB0eAIAtHgCABR4AgIApAACBKQAA/AsAgA0cAICEeQAAFRwAgIFNAQCAoQEAGAsAgKP9DwDMOAIAzUgDAB0cAICBWQAAzXwCAMykDQAkCwCAWQwAgKjJDwCHOQAA1wkAgImhDwADCwCAkREAAJ4MAIDaCQCAmQsAgF8MAICAuQ8AgbkPANUdAICDjQ8A9gsAgCUcAICEBQAALRwAgB4LAIA1HACAKgsAgIGdDwCHIQAAh7UPAMyoAgDN6AIAzLQMAM3cDACmzQAAp8UAAE0cAICPgQ8AjIkPAKPlAAAwCwCAPRwAgDwLAICxyQAAhwUAAFUcAIBFHACAhz0AAF0cAIBxDACANgsAgKMFDwCB+QAAzKgDAGUcAIBICwCAjEkAAKPxAABtHACAdwwAgEILAICnlQAAfRwAgHUcAIDMrAMAzcgAAN0JAICHaQAA4AkAgIG9AACCeQAA4wkAgIe5AQBOCwCAkaUAAIEdAACdHACAVAsAgIgFAAClHACAm5EAAFoLAIDmCQCAjJEBANILAIDGCwCAwAsAgMwLAICDRQAAgrkBAIG5AQCApQEAPR4AgIZxAABgCwCAhEkAAIsVAACKPQAAiTkAAIhFAACP+QAAZgsAgLoLAICMBQAAp1EBAKZJAQBlDACAsHkAAKNZAQCMqQAAgKkAAIGpAACBlQAAgJUAAK1xAQBrDACAogsAgISNAABNHgCARR4AgKMhAABdHgCAVR4AgGUeAICBbQAAgG0AALEFAQCkOQAANR4AgIUcAIBsCwCAqAUAAJUcAICNHACArQkAAMywAQCBvQMAgL0DAIPNAwCtHACAtRwAgL0cAIDMvAEAzYQBAInpAwDMHAEAgdkCAIDFAgDNOAEAzDwBAMxoAgDNRAIAg00AAMUcAICH2QAAhy0AAIBFAACBEQAAggUAAHILAIDVHACAzRwAgN0cAIDMOAIAiBUAAIjhAACAbQAAgTkAAMyEAgDNUAEA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vBkBAL0ZAQC+fQEAv3UBAKPtAQCeOwCAojsAgKY7AICqOwCApu0BAKXtAQCuOwCAq3kBAKpxAQCyOwCAtjsAgK85AQCuMQEArVUBAKxVAQC6OwCAvjsAgMI7AIDGOwCAyjsAgOGsAQDOOwCA42AGANI7AIDWOwCA2jsAgO9UBgDeOwCA4jsAgL60GgDmOwCA6jsAgO47AICGaBwAh4wDAPI7AID2OwCA+jsAgP47AICAOQAAgTkAAIIFAAACPACACjwAgA48AIASPACAFjwAgKgdAwCpQQMAqkEDAKtBAwCsQQMArUkDAK5xAwCvcQMAhCAdABo8AIAePACAIjwAgCY8AIAqPACALjwAgDI8AIC46QAAufUAALr9AAC78QAAvJEAAL2RAAC+iQAAv4kAALDhAACx4QAAsuEAALPhAAC04QAAte0AALbZAAC32QAA4wwHAOEgBwDhMAEA4wgHADY8AIA6PACAPjwAgEI8AIBGPACASjwAgE48AIBSPACA75gHAFY8AIBaPACA74gHALOJAgBePACAYjwAgL6AGgBmPACAtokCALWJAgBqPACAu2UBALplAQBuPACAcjwAgL9pAQC+ZQEAvXUBALx1AQC3PQYAtj0GALU9BgC0IQYAszUGALI1BgCxAQYAsAkGAL9ZBgC+UQYAvVkGALxNBgC7bQYAunkGALlxBgC4eQYAgJ0AAIGtAACCpQAAejwAgH48AICCPACAhjwAgIo8AICvcQYArmkGAK1tBgCsbQYAq4EGAKqZBgCpkQYAqJkGAAY8AIB2PACAjjwAgKPFHQCSPACApcUdAKbFHQCWPACAhgADAIdkAwCqKR4AqykeAKw5HgCtOR4ArikeAK8lHgCzOR4AmjwAgJ48AICiPACApjwAgLb9HgC1/R4AqjwAgLvZHgC60R4ArjwAgLI8AIC/aR8AvmEfAL1pHwC8wR4AqPEeAKnxHgCq8R4Aq/EeAKw1HgCtPR4ArjUeAK8tHgC2PACAujwAgL48AIDCPACAxjwAgMo8AIDOPACA0jwAgLjlHwC57R8AuuUfALv5HwC86R8AvZEfAL6RHwC/jR8AsFUeALFdHgCyVR4As/0fALTlHwC17R8AtuUfALfdHwCjeR8A1jwAgNo8AIDePACA4jwAgKa9HwClvR8A5jwAgKuZHwCqkR8AhogAAIdMAQCvKR4AriEeAK0pHgCsgR8AgEkAAIFJAACCWQAAs5keAOo8AIC1iR4AtlEBAO48AIDyPACA9jwAgLotAQC7JQEAvD0BAL0lAQC+JQEAvxUBAKhNHgCpVR4Aql0eAKtVHgCsTR4ArZ0BAK6JAQCvgQEAhKwBAPo8AID+PACAAj0AgAY9AIAKPQCADj0AgBI9AIC4ZQEAuW0BALplAQC7fQEAvGUBAL1tAQC+ZQEAv9kAALClAQCxrQEAsqUBALO9AQC0rQEAtZ0BALaVAQC3XQEAo9UdABY9AIAaPQCAHj0AgCI9AICmHQIApcUdACY9AICraQIAqmECACo9AIAuPQCAr1kCAK5pAgCtaQIArHECADI9AIA2PQCAOj0AgD49AIBCPQCARj0AgEo9AIBOPQCAgDkAAIE5AACCBQAAUj0AgFo9AIBePQCAh0ADAIZcBACETAQAYj0AgGY9AICEBAUA4yABAGo9AIDhqAEAbj0AgO+UGgByPQCAdj0AgHo9AIB+PQCAgj0AgIY9AICKPQCAs6EDAI49AICSPQCAlj0AgJo9AIC2fQMAtX0DAJ49AIC7WQMAulEDAKI9AICmPQCAv/0AAL79AAC9/QAAvEEDAKhRAgCpWQIAqmkCAKtpAgCstQIArb0CAK61AgCvrQIAhKgHAKo9AICuPQCAsj0AgIKpAAC2PQCAgKkAAIGpAAC4aQEAuWkBALoJAQC7CQEAvBkBAL0ZAQC+CQEAvwkBALDVAgCx3QIAstUCALNpAQC0eQEAtXkBALZpAQC3YQEA4bgBAOHUHwDjOB8A4wwbALo9AIC+PQCAwj0AgMo9AIDOPQCA0j0AgNY9AIDaPQCAvjwJAN49AIDvhBsA74QbAKOhAgDiPQCAhugEAIe8BQDmPQCApn0CAKV9AgDqPQCAq1kCAKpRAgDuPQCA8j0AgK/9AQCu/QEArf0BAKxBAgCzhQYAxj0AgPY9AID6PQCA/j0AgLaJBgC1jQYAAj4AgLuRBgC6iQYABj4AgAo+AIC/9QYAvokGAL2BBgC8iQYADj4AgBI+AIAWPgCAGj4AgB4+AIAiPgCAJj4AgO+EHQAqPgCA4QAEAC4+AIDj/AQAgBEAAIEdAACCBQAAMj4AgKjxBgCp8QYAqg0GAKsFBgCsBQYArQkGAK49BgCvNQYANj4AgDo+AICGiAAAhxADAD4+AIBCPgCA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GkUAgB5FAIAiRQCAJkUAgIANAACBFQAAgh0AACpFAIAuRQCAMkUAgIR4AQC+FAAA4xQPADpFAIDh4A0AhAADAIawBACHFAMAPkUAgEJFAIBGRQCASkUAgE5FAIBSRQCA78APAFZFAIBaRQCAXkUAgGJFAIBmRQCAakUAgLNtAwBuRQCAtX0DALZ1AwByRQCAdkUAgHpFAIC6UQMAu1EDALz1AwC9/QMAvukDAL/hAwB+RQCAgkUAgIZFAICKRQCAjkUAgJJFAICWRQCAmkUAgKhxAgCpeQIAqokDAKuJAwCsmQMArZkDAK6JAwCviQMAsPkDALH5AwCyTQMAs0UDALRBAwC1SQMAtnEDALdxAwC4IQMAuSEDALohAwC7IQMAvCEDAL0hAwC+IQMAvyEDAICdAQCBEQAAghEAAIQEBQDvFAAAnkUAgKJFAIC+EAUA48gAAKpFAIDh0AEArkUAgLJFAIC2RQCAukUAgL5FAICqeQIAq3kCAIboBACHYAUArsECAK/JAgCs3QIArdUCAMJFAICjRQIAxkUAgMpFAICmXQIAzkUAgNJFAIClVQIA1kUAgNpFAIDeRQCA4kUAgOZFAIDqRQCA7kUAgO+EDgC+rAQA4dAOAPJFAIDjFAEA9kUAgPpFAID+RQCAAkYAgLPdAQAGRgCACkYAgA5GAIASRgCAtv0BALX9AQAaRgCAu90BALrdAQCE4AQAHkYAgL+hAQC+vQEAvb0BALy9AQCoBQYAqR0GAKoVBgCrLQYArDUGAK09BgCuNQYArykGAKZFAICC9QcAgeUHAIDlBwAWRgCAIkYAgIYcAACHsAMAuCUGALnFBgC6zQYAu8UGALzdBgC9xQYAvs0GAL/FBgCwWQYAsVkGALIpBgCzKQYAtDkGALUlBgC2JQYAtx0GAKOdBgAmRgCAKkYAgC5GAIAyRgCApr0GAKW9BgA2RgCAq50GAKqdBgA6RgCAPkYAgK/hBgCu/QYArf0GAKz9BgBCRgCAs/UHAEZGAIBKRgCAtu0HAE5GAIBSRgCAteUHALqNBwC7kQcAVkYAgFpGAIC+dQcAv30HALyBBwC9fQcAqCUGAKkpBgCqOQYAqzkGAKwpBgCtKQYArnkGAK91BgBeRgCAYkYAgGZGAIBqRgCAbkYAgHJGAIB2RgCAekYAgLjVBgC53QYAuuEGALv9BgC85QYAve0GAL7lBgC/mQYAsA0GALERBgCyEQYAs+0GALT1BgC1/QYAtvUGALftBgCjsQYAgi0AAIEVAACAsQAANkUAgKapBgCloQYAfkYAgKvVBgCqyQYAgkYAgL5oAQCvOQYArjEGAK05BgCsxQYAikYAgLPxAQCGaAAAh3wBALZdAQCORgCAkkYAgLVVAQC6SQEAu0kBAJZGAICaRgCAvj0BAL8hAQC8OQEAvTUBAJ5GAICiRgCAhAQDAL6AHACmRgCA4RwGAKpGAIDjAAYAvwguAK5GAICyRgCA78gHALZGAIC6RgCAvkYAgMJGAIDGRgCAykYAgKN9AgDORgCApdkCANJGAIDWRgCAptECANpGAIDeRgCAq8UCAKrFAgCtuQIArLUCAK+tAgCusQIAqW0FAKhZBQCrDQIAqrkCAK0dAgCsHQIArwUCAK4NAgC+aB0A4kYAgOZGAIDqRgCAgB0AAIEJAACCmQEA7kYAgLnhAwC4KQIAu+EDALrpAwC94QMAvPkDAL/hAwC+6QMAsU0CALBNAgCzIQIAsi0CALUlAgC0OQIAtxECALYlAgCowQIAqdECAKrRAgCr5QIArP0CAK0VAQCuHQEArw0BAPJGAID6RgCA/kYAgAJHAIAGRwCACkcAgA5HAIASRwCAuAUBALkJAQC6HQEAuxUBALwxAQC9MQEAvv0BAL/1AQCweQEAsUEBALJBAQCzXQEAtEUBALVNAQC2RQEAtz0BAIagHQCHxB0AFkcAgO/YAAAaRwCAHkcAgCJHAIDvxAYAhGwcAOH0BgAmRwCA47AGACpHAIDhlAEALkcAgONEBgCzGQIAMkcAgDZHAIA6RwCAhewsALbVAQC1NQIAPkcAgLvFAQC6/QEAQkcAgEZHAIC/yQEAvsEBAL3JAQC81QEAo9kdAPZGAIBKRwCATkcAgFJHAICmFR4ApfUdAFZHAICrBR4Aqj0eAFpHAIBeRwCArwkeAK4BHgCtCR4ArBUeAIBpAACBaQAAggUAAGJHAIBmRwCAakcAgIcQAwCGfAMAbkcAgHJHAIB2RwCAekcAgH5HAICCRwCAhkcAgIpHAICopR8Aqa0fAKqlHwCrvR8ArKUfAK2tHwCupR8ArxUfAI5HAICSRwCAlkcAgJpHAICeRwCAokcAgKZHAICqRwCAuA0fALkZHwC6IR8AuyEfALzZAAC92QAAvskAAL/BAACwcR8AsXEfALJxHwCzRR8AtEEfALVNHwC2PR8AtzUfALMtHgCuRwCAskcAgLZHAIC6RwCAti0eALUtHgC+RwCAu7UeALq1HgDCRwCAxkcAgL+JHgC+hR4AvZEeALylHgCCKQAAo2keAIAdAACBFQAApmkeAMpHAIDORwCApWkeAKrxHgCr8R4A0kcAgITgAQCuwR4Ar80eAKzhHgCt1R4AqNUBAKnlAQCq7QEAq+UBAKz9AQCt5QEAru0BAK/lAQC+oAEAhkYAgNZHAIDaRwCAhhAAAId0AQDeRwCA4kcAgLh9AQC5wQAAusEAALvBAAC8wQAAvckAAL7xAAC/8QAAsJ0BALFFAQCyTQEAs0UBALRdAQC1RQEAtk0BALdFAQDmRwCA6kcAgO5HAIDyRwCA9kcAgO80AgDv7B4A+kcAgOHwHQDj4AIA4zAeAOGEAQD+RwCAAkgAgAZIAIAKSACAsyUCAJQAAAAOSACAEkgAgBZIAIC2JQIAtTUCABpIAIC7wQIAuhkCAB5IAIAiSACAv8ECAL7ZAgC90QIAvNkCACZIAIAqSACALkgAgKPpAgAySACApfkCAKbpAgA2SACAOkgAgD5IAICq1QIAqw0CAKwVAgCtHQIArhUCAK8NAgCAYQAAgWEAAIIFAABCSACASkgAgIQABAC+FAQATkgAgIbABACHUAMAUkgAgFZIAIBaSACAXkgAgGJIAIBmSACAqK0CAKm9AgCqtQIAqw0BAKwVAQCtHQEArhUBAK8NAQCE7AQAakgAgG5IAIBySACAdkgAgHpIAIB+SACAgkgAgLgdAQC5LQEAuiUBALvNAQC81QEAvd0BAL7JAQC/wQEAsH0BALFVAQCyXQEAs1UBALRNAQC1PQEAtjUBALctAQDhGB4AhkgAgOM4HgCKSACAjkgAgJJIAICWSACAmkgAgJ5IAICiSACAvmAEAKZIAICBdQAAgHUAAO/gHwCCbQAAqkgAgK5IAICG6AQAh3wFALJIAIDhkAEAukgAgOOgAAC+SACAwkgAgMZIAIDvtAAAykgAgM5IAIDSSACA1kgAgLUFBgBGSACAtkgAgLYFBgDaSACA3kgAgLOlBQDiSACAvRkGALwRBgC/YQYAvhEGAOZIAIDqSACAuwkGALohBgCj/QUA7kgAgPJIAID2SACA+kgAgKZdBgClXQYA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sY0CALKFAgCzbQEAtHkBALV5AQC2aQEAt2kBAIYgBACHCAUAYksAgGZLAIBqSwCAbksAgHJLAIDvXAAAhOwEAOFcDgB2SwCA44wOAHpLAIB+SwCAgksAgIZLAICjVQIAiksAgI5LAICSSwCAlksAgKYdAgClHQIAmksAgKsJAgCqOQIAnksAgKJLAICv/QEArv0BAK35AQCsEQIAqGkGAKlpBgCqeQYAq3kGAKxpBgCtaQYArp0GAK+VBgBWSwCApksAgKpLAICuSwCAsksAgLZLAIC6SwCAvksAgLj1BgC5+QYAuo0GALuFBgC8nQYAvYUGAL6FBgC/tQYAsO0GALH1BgCy/QYAs/UGALTtBgC10QYAttEGALfRBgCz8QYAghUAAIG1AACAtQAAwksAgLbpBgC14QYAvtQDALsxBgC6KQYAxksAgMpLAIC/FQYAvikGAL0hBgC8KQYAzksAgKO1BgCGyAAAh8gAAKatBgDSSwCA1ksAgKWlBgCqbQYAq3UGANpLAIDeSwCArm0GAK9RBgCsbQYArWUGAKg1BgCpOQYAqoEGAKuBBgCsgQYArYEGAK6BBgCvtQYA4ksAgOZLAIDqSwCA7ksAgPJLAID2SwCA+ksAgP5LAIC4nQYAua0GALqlBgC7aQEAvHkBAL15AQC+aQEAv2kBALDRBgCx0QYAstEGALPRBgC0tQYAtb0GALa1BgC3rQYAswkGAAJMAIAGTACACkwAgA5MAIC2AQYAtQkGABJMAIC7FQYAuhUGABZMAIAaTACAv3kGAL5xBgC9BQYAvAUGAB5MAICjTQYAIkwAgOZKAICmRQYAJkwAgCpMAIClTQYAqlEGAKtRBgAuTACAMkwAgK41BgCvPQYArEEGAK1BBgCB6QMAgN0DAISIAwCC4QMAhrA8AIeIAgC+VAMAOkwAgD5MAIBCTACARkwAgEpMAIBOTACAUkwAgFZMAIBaTACA4/AGAF5MAIDhMAYAhAA8AGJMAIBmTACAakwAgG5MAIByTACAhTQ9AHZMAIB6TACA77AHAH5MAICCTACAhkwAgIpMAICOTACAkkwAgL7EPACWTACAgp0BAIGdAQCAnQEAqA0CAKllAgCqfQIAq3UCAKxZAgCtWQIArpkDAK+ZAwCw6QMAsekDALL5AwCz+QMAtOkDALXpAwC2XQMAt1UDALhtAwC5dQMA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t/0eALO5HgBeUgCAYlIAgGZSAIBqUgCAtsUeALXVHgBuUgCAu8EeALr5HgByUgCAdlIAgL/FHgC+2R4AvdEeALzZHgB6UgCAo/0eAH5SAICCUgCApoEeAIZSAICKUgCApZEeAKq9HgCrhR4AjlIAgJJSAICunR4Ar4EeAKydHgCtlR4AqCkeAKkpHgCqVR4Aq20eAKx1HgCtfR4ArnUeAK9pHgCWUgCAmlIAgJ5SAICiUgCAplIAgKpSAICuUgCAslIAgLjpHgC59R4Auv0eALv1HgC87R4AvZEeAL6RHgC/kR4AsB0eALHlHgCy7R4As+UeALT9HgC15R4Atu0eALflHgCz3R4AtlIAgLpSAIC+UgCAwlIAgLb9HgC1/R4AhFgBALshHgC62R4AvigAAMpSAIC/IR4AvjkeAL0xHgC8OR4AgU0AAIBNAACjlR4Agl0AAKW1HgDGUgCAzlIAgKa1HgB2UQCA0lIAgKtpHgCqkR4ArXkeAKxxHgCvaR4ArnEeAIYABACHRAMAs4ECANZSAIC1gQIA2lIAgN5SAIC2gQIAiAAAAOJSAIC74QIAuu0CAL3lAgC8+QIAv9ECAL7lAgDmUgCA6lIAgIREAwC+jAMA4UgCAO5SAIDjAAIA7/wfAPJSAIDhPB4A79wCAONgHwD2UgCA+lIAgP5SAIACUwCAqQUCAKixAgCrBQIAqgUCAK0NAgCsBQIArzUCAK41AgCEbAUABlMAgApTAIAOUwCAElMAgBZTAIAaUwCAHlMAgLnpAwC44QMAu/kDALrhAwC96QMAvOEDAL9dAwC+4QMAsSkCALAlAgCzPQIAsiECALUZAgC0LQIAt9kDALYRAgAiUwCAJlMAgCpTAICjhQMALlMAgKWFAwCmhQMAMlMAgDpTAIA+UwCAqukDAKvlAwCs/QMAreEDAK7hAwCv1QMAgEkAAIFVAACCVQAAo6kCAL6YBAClQQEApkEBAEJTAICG4AUAh+AFAKotAQCrOQEArBEBAK0FAQCuDQEArwUBAEZTAIBKUwCATlMAgO/cAABSUwCAVlMAgFpTAIDviB4AhCwHAOHsHgBeUwCA4xweAGJTAIDhlAEAZlMAgOMwAACzJQIAhWDmAGpTAIBuUwCAclMAgLbNAQC1zQEAdlMAgLu1AQC6oQEAelMAgH5TAIC/iQEAvoEBAL2JAQC8nQEA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qoECAKuBAgCsgQIArYECAK6FAgCvHQEAAlYAgAZWAIAKVgCADlYAgBJWAIAWVgCAGlYAgIS4BQC4dQEAuX0BALp1AQC7CQEAvBkBAL0ZAQC+CQEAvwEBALBlAQCxbQEAsmUBALN9AQC0aQEAtV0BALZVAQC3TQEAHlYAgCJWAIAmVgCAKlYAgC5WAIAyVgCA7zQAAO/ADgDhXA4A4UwPAOOUAADjnA4ANlYAgIJlAACBfQAAgH0AADpWAIA+VgCAvsQHALNFAgBCVgCAtUUCALZNAgBKVgCAhkAGAIeQBAC67QEAu+UBALz9AQC95QEAvuEBAL/VAQCflQgAngUIAJ3dDQCcPQwAmzEMAJr1DQCZ7RAAmD0QAJfVEQCWsRUAlQUUAJTlFQCTtRkAkjEYAJE5GACQDRwAj2EcANZVAICz1QYATlYAgLX9BgBGVgCAUlYAgLaRBgBWVgCAWlYAgLuVBgC6lQYAvVUHALxVBwC/VQcAvlUHAF5WAIBiVgCAqo0GAKuFBgCsnQYArYUGAK6BBgCvtQYAhKgAAGZWAIBqVgCAoyUFAG5WAIClJQUApi0FAHJWAIB2VgCAelYAgH5WAICCVgCAhlYAgIpWAICOVgCAklYAgJZWAICaVgCAnlYAgKJWAICjqQUAotEEAKHZBACgZQUAgiEdAIM1HQCmVgCAqlYAgIaVGACH3RQAhBkZAIUZGQCKDRUAi7EUAK5WAICyVgCAjsURAI/VDACMzRAAjR0RAJJhDQCTdQ0AvkwAALpWAICWxQkAl80EAJSNDACVXQkAmkEFAJtBBQCGyP8Ah0wAAIFZAACAeQAAnCEEAIJRAAChxQEAvlYAgKMB/ACi2QEApRX9AKS1/QCnufkApgH4AKkJ+AColfkAqwX1AKqt9QCtsfEArAHwAK8d8ACurfEAseHtALAB7ACzAegAsv3sALVd6QC09ekAwlYAgMZWAIDKVgCAzlYAgNJWAIDWVgCA2lYAgN5WAIDiVgCA5lYAgKiNBACplQQAqpUEAKulBACsvQQArdkEAK75BACv8QQAhGz8AOpWAIDuVgCA8lYAgPZWAID6VgCA/lYAgAJXAIC4eQUAucUFALrNBQC7xQUAvN0FAL3FBQC+zQUAv+0FALCZBACxmQQAskkFALNJBQC0WQUAtVkFALZJBQC3SQUAox0EAL7M/AAGVwCAClcAgA5XAICmWQQApTUEABJXAICrXQQAql0EABZXAIAaVwCAr50FAK6dBQCtnQUArJ0FAB5XAICznQIAIlcAgCpXAIC2UQIALlcAgDJXAIC1uQIAukkCALtVAgCGSP0Ah8D8AL41AgC/PQIAvEUCAL09AgCo3QQAqUkDAKpRAwCrbQMArHUDAK2VAwCunQMAr7kDAICNAQCB5QEAguEBADZXAIA6VwCAPlcAgEJXAIBGVwCAuJUDALmdAwC6lQMAu60DALy1AwC9vQMAvrUDAL9VAgCwyQMAsdUDALLVAwCzrQMAtLUDALW9AwC2tQMAt60DAEpXAIBOVwCAo9EDAFJXAICl9QMAVlcAgFpXAICmHQMAXlcAgGJXAICrGQMAqgUDAK1xAwCsCQMAr3EDAK55AwDhKAcAZlcAgOPkBgBqVwCA4SgGAG5XAIDjaAEAclcAgHZXAIB6VwCA71gAAH5XAICCVwCAhlcAgO/IBgCKVwCAqE39AKmB/QCq0f0Aq9H9AKzx/QCt8f0ArvH9AK/x/QAmVwCAghEAAIEZAACA0f8AjlcAgJJXAICEdAMAvnQDALh1/gC5ff4AunX+ALvF/gC83f4AvcX+AL7F/gC/9f4AsJH9ALGR/QCykf0As5H9ALRV/gC1Xf4AtlX+ALdN/gCzWf0AllcAgIasAACHRAMAmlcAgLZx/QC1ef0AnlcAgLtV/QC6Vf0AolcAgKZXAIC/mf4AvpH+AL1F/QC8Rf0AqlcAgKMd/QCuVwCAslcAgKY1/QC2VwCAulcAgKU9/QCqEf0AqxH9AL5XAIDCVwCArtX+AK/d/gCsAf0ArQH9AKjN/wCp0f8AqtH/AKsh/gCsIf4ArSH+AK4h/gCvIf4AxlcAgMpXAIDOVwCA0lcAgNZXAIDaVwCA3lcAgOJXAIC4jf4AuZH+ALqV/gC7rf4AvLX+AL25/gC+qf4Av6n+ALDh/gCx4f4AsuX+ALP5/gC06f4AtdX+ALbd/gC3uf4As1n/AOZXAIC2VgCA6lcAgO5XAIC2of4Atan+APJXAIC7Jf4AuiX+APZXAID6VwCAvxH+AL4t/gC9Lf4AvDH+AIIZAACjHf8AgGUAAIEZAACm5f4A/lcAgAJYAICl7f4AqmH+AKth/gCEZAEAviAAAK5p/gCvVf4ArHX+AK1p/gAKWACA4zT+AA5YAIDhfP0AhrAEAIcIAwASWACAFlgAgBpYAIAeWACAhCQDAIQkBAAiWACA70j+ACZYAIAqWACAs+kCAC5YAIC+RAQAvkAFADJYAIC2nQIAtZkCADZYAIC7iQIAur0CADpYAIA+WACAv1kDAL5RAwC9WQMAvJECAKkdAgCoFQIAqyUCAKolAgCtWQIArFUCAK9NAgCuUQIAvmQGAEJYAIBGWACASlgAgE5YAIBSWACAVlgAgFpYAIC5+QMAuPEDALtNAwC68QMAvUEDALxZAwC/cQMAvkEDALEJAgCwPQIAs8kDALIBAgC12QMAtNEDALfJAwC20QMA4ZABAF5YAIDj8AAAYlgAgGZYAICCPQAAgT0AAIA9AABqWACAblgAgHJYAIB6WACAflgAgIJYAIDvLAAAhlgAgKPpAwCKWACAhugEAIdgBQCOWACApp0DAKWZAwCSWACAq4kDAKq9AwCWWACAmlgAgK9ZAgCuUQIArVkCAKyRAwCeWACAolgAgKZYAICqWACArlgAgLJYAIC2WACA71gBAISgBADhVP8AulgAgOOEAQC+WACAwlgAgMZYAIDKWACAs9kBAM5YAICFzBkA0lgAgNZYAIC28QEAtfkBANpYAIC7pQEAutkBAN5YAIDiWACAv50BAL6dAQC9pQEAvK0BAKgBBgCpDQYAqhEGAKsRBgCsMQYArTEGAK4pBgCvJQYAdlgAgILJBwCBwQcAgPEHAOZYAIDqWACAhhwAAIf8AwC47QYAufUGALr9BgC79QYAvO0GAL1RBwC+VQcAv00HALBdBgCxIQYAsjkGALMxBgC0GQYAtRkGALbdBgC31QYAo5kGAO5YAIDyWACA9lgAgPpYAICmsQYApbkGAP5YAICr5QYAqpkGAAJZAIAGWQCAr90GAK7dBgCt5QYArO0GAApZAICz8QcADlkAgBJZAIC2gQcAFlkAgBpZAIC1mQcAuo0HALtlBwAeWQCAIlkAgL59BwC/ZQcAvH0HAL11BwCoLQYAqTUGAKo9BgCrMQYArFUGAK1FBgCuRQYAr3UGACZZAIAqWQCALlkAgDJZAIA2WQCAOlkAgD5ZAIBCWQCAuOkGALn1BgC6/QYAu/UGALztBgC9kQYAvpUGAL+NBgCwDQYAseUGALLtBgCz5QYAtP0GALXlBgC27QYAt+UGAKO1BgBGWQCASlkAgE5ZAIBSWQCA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nlsAgLshBwC6yQcAolsAgKZbAIC/KQcAviEHAL0pBwC8NQcAqlsAgKOBBwCuWwCAslsAgKaBBwC2WwCAulsAgKWRBwCqjQcAq2UHAL5bAIDCWwCArmUHAK9tBwCscQcArW0HAKgVAQCpgQEAqoEBAKuBAQCsgQEArYkBAK6xAQCvsQEAxlsAgMpbAIDOWwCA0lsAgNZbAIDaWwCA3lsAgOJbAIC4ZQAAuW0AALplAAC7fQAAvGUAAL1tAAC+ZQAAv90AALChAQCxrQEAsqUBALO5AQC0qQEAtZ0BALaVAQC3XQAA5lsAgIIdAACBHQAAgB0AAOpbAIDuWwCA8lsAgL5YAQCErAIA9lsAgIcIAQCGjAEA+lsAgKZaAID+WwCAAlwAgLNJAQAGXACAClwAgA5cAIASXACAtkkBALVJAQAWXACAuykBALolAQAaXACAHlwAgL8ZAQC+LQEAvS0BALwxAQC+2AMAIlwAgO/4BgAmXACAKlwAgC5cAIDv4AIAMlwAgOGUAQA2XACA43QCADpcAIDhmAUAPlwAgOMMBwBCXACARlwAgEpcAICjwQIAhIwDAKXBAgBOXACAUlwAgKbBAgBWXACAWlwAgKuhAgCqrQIAraUCAKy5AgCvkQIArqUCAKgxAwCpPQMAqjUDAKtJAwCsWQMArVkDAK5JAwCvQQMAgMUAAIEJAACCGQAAXlwAgGJcAIBqXACAh2wDAIYcHAC47QAAufEAALr1AAC7jQAAvJUAAL2BAAC+gQAAv70AALAJAwCxCQMAsu0AALPhAAC04QAAteEAALblAAC32QAAblwAgHJcAIB2XACAs7ECAHpcAIC13QIAttUCAH5cAICCXACAhlwAgLrBAgC7wQIAvDUBAL05AQC+KQEAvykBAKaNAgCKXACAjlwAgKWFAgCSXACAo+kCAJZcAICaXACArnEBAK9xAQCsbQEArWEBAKqZAgCrmQIAnlwAgKJcAICmXACA4YQGAKpcAIDjJAYArlwAgOGUAQCyXACA4ywAAL7oHQC2XACAulwAgO/IAACE/B0AvvAcAL5cAIDvSAcAwlwAgMZcAIDKXACAzlwAgIEdAACAHQAA0lwAgIIFAACGQBwAh8QcANpcAIDeXACA4lwAgOZcAIDqXACA7lwAgKi1HgCpBR8Aqg0fAKsFHwCsAR8ArQkfAK45HwCvOR8A1lwAgPJcAID2XACA+lwAgP5cAIACXQCABl0AgApdAIC4yR8AudUfALrRHwC76R8AvPkfAL3tHwC+mR8Av5kfALAlHwCxLR8AsjkfALM1HwC0LR8AtQ0fALYFHwC3/R8As4UfAA5dAIASXQCAFl0AgBpdAIC2iR8AtYkfAB5dAIC76R8AuuEfACJdAIAmXQCAv8kfAL7pHwC94R8AvO0fACpdAICjwR8ALl0AgDJdAICmzR8ANl0AgDpdAIClzR8AqqUfAKutHwA+XQCAQl0AgK6tHwCvjR8ArKkfAK2lHwCo6R4AqekeAKr5HgCr+R4ArOkeAK3pHgCuPQEArzUBAID5AQCBzQEAgsUBAIRgAgBGXQCASl0AgIdoAQCGnAAAuNEBALnZAQC64QEAu+EBALyRAQC9nQEAvpUBAL+JAQCwTQEAsVUBALJdAQCzVQEAtE0BALXxAQC28QEAt/EBALNxHgBOXQCAUl0AgFZdAIBaXQCAtmkeALVhHgBeXQCAu5EBALqJAQBiXQCAZl0AgL81AQC+iQEAvYEBALyJAQBqXQCAZlwAgKM5HgBuXQCApSkeAHJdAIB2XQCApiEeAHpdAIB+XQCAq9kBAKrBAQCtyQEArMEBAK99AQCuwQEAgl0AgIZdAICKXQCAjl0AgJJdAICWXQCAml0AgJ5dAICiXQCApl0AgKpdAICuXQCAsl0AgLpdAIC+XQCAvnADAOHkHgCESAIA4+gfAIQABACAeQAAgXkAAIJpAADCXQCAhsAEAIdEAwDGXQCAyl0AgM5dAIDSXQCA7yAfANZdAIDaXQCA3l0AgOJdAIDvSAIA5l0AgOpdAIDuXQCA8l0AgL7oBAD2XQCA+l0AgP5dAIACXgCA4ZABAAZeAIDj6AIAs0kDAApeAIAOXgCAEl4AgBZeAIC2SQMAtUkDABpeAIC7LQMAuiUDAB5eAIAiXgCAvxUDAL4VAwC9IQMAvCkDAKg1AgCpgQIAqoECAKuBAgCsgQIArYkCAK6xAgCvsQIAgP0BAIHNAQCCxQEAKl4AgIaQBACHBAUALl4AgIRwBAC4SQEAuUkBALpZAQC7WQEAvEkBAL1JAQC+eQEAv3kBALChAgCxqQIAsr0CALO1AgC0kQIAtZECALZ5AQC3eQEAMl4AgDZeAIA6XgCAPl4AgEJeAIBGXgCASl4AgO/QHgC+6AQA4VweAE5eAIDjkAAAUl4AgFZeAIBaXgCAXl4AgKNJAgBiXgCAZl4AgGpeAIBuXgCApkkCAKVJAgByXgCAqy0CAKolAgB2XgCAel4AgK8VAgCuFQIArSECAKwpAgCoNQYAqT0GAKpVBgCrZQYArH0GAK1lBgCubQYAr2EGACZeAIB+XgCAgl4AgIZeAICADQAAgbEAAIKxAACKXgCAuOkGALnpBgC6+QYAu/UGALyVBgC9nQYAvpUGAL+NBgCw4QYAseEGALLhBgCz/QYAtOUGALXtBgC25QYAt9kGALPdBgCOXgCAkl4AgJZeAICaXgCAtuUGALX1BgCeXgCAuyUGALolBgCGmAAAh6wAAL8pBgC+IQYAvSkGALw1BgCiXgCAo5kGAKZeAICqXgCApqEGAK5eAICyXgCApbEGAKphBgCrYQYAtl4AgLpeAICuZQYAr20GAKxxBgCtbQYAqC0GAKk9BgCqiQYAq4kGAKyZBgCtmQYArokGAK+JBgC+XgCAwl4AgMZeAIDKXgCAzl4AgNJeAIDWXgCA2l4AgLiNBgC5lQYAupUGALulBgC8vQYAvXEBAL5xAQC/cQEAsPkGALHNBgCy2QYAs9kGALTJBgC1yQYAtr0GALe1BgCzAQYA3l4AgOJeAIDmXgCA6l4AgLYZBgC1EQYA7l4AgLsJBgC6PQYA8l4AgPZeAIC/DQYAvg0GAL0NBgC8DQYA+l4AgKNFBgC2XQCA/l4AgKZdBgACXwCAhFgAAKVVBgCqeQYAq00GAL5oAQAGXwCArkkGAK9JBgCsSQYArUkGAIDBAwCByQMAgt0DAKPNAgAKXwCApdkCAKbNAgAOXwCAhoANAIeUAwCqxQIAqw0DAKwVAwCtHQMArhUDAK8NAwDhnBcA4xgGAOMUAwDhNAYA7xgCABJfAIAWXwCAGl8AgOPQAgAeXwCA4VACACJfAIAmXwCA7ywGAO/kJQAqXwCArE0CAK1RAgCuUQIAr2UCAKgBAgCpCQIAqlkCAKtVAgCE7A0ALl8AgDJfAIA2XwCAvvgNADpfAIA+XwCAQl8AgLxRAwC9WQMAvmEDAL9hAwC47QMAuVEDALpRAwC7UQMAtM0DALXVAwC23QMAt9UDALAdAgCx1QMAst0DALPVAwDjyAAARl8AgOG4AQBKXwCAhFQPAE5fAIBSXwCAVl8AgKHpAgCgFQYAo6UDAKINAwDvIAAAWl8AgF5fAIBiXwCAZl8AgGpfAICFNCYAs40DAG5fAIC1mQMAto0DAHJfAICGwA8Ah5QNALqFAwC7TQIAvFUCAL1dAgC+VQIAv00CAHpfAIB+XwCAgl8AgIZfAICKXwCAjl8AgI/d6wDvxAYAvuAPAOGMBgCSXwCA44AGAID1AACB5QAAguUAAJZfAICZbR8AmMUfAJvJGwCaeRoAnXUaAJzFGwCf+QcAnhkGAJFpFgCQsesAk20XAJLNFwCV0RMAlGkSAJdREgCWzRMAg1XkAIJB5AB2XwCAml8AgIeNHQCGkRgAhTkYAISVGQCLERwAigUcAJ5fAICiXwCAj4UVAI6ZEACNORAAjJUdAJNRFACSRRQApl8AgKpfAICXYQkAlnUIAJWdCQCU+RUAm0EMAJqtDQCuXwCAsl8AgLZfAIC6XwCAvl8AgJzxDAChbQ0Awl8AgKMBBACihQAApZkEAKSRBACnGTgApsUFAKkJOACoKTgAq4k8AKoBPACtATAArB08AK8pMACunTAAseE0ALABNACzASgAsv00ALXZKAC00SgAxl8AgMpfAIDOXwCA0l8AgNZfAIDaXwCAgB0AAIEJAACC2QEA3l8AgKgRDwCpGQ8Aql0PAKtVDwCsTQ8ArXEPAK51DwCvbQ8A4l8AgOpfAICGiAAAhxABAO5fAIDyXwCA9l8AgPpfAIC4TQ4AuVEOALpRDgC7UQ4AvGUOAL1tDgC+ZQ4Avx0OALAdDwCxwQ8AssEPALPBDwC0xQ8Atc0PALbFDwC3eQ4As9UPAP5fAIACYACABmAAgApgAIC28Q8AtcUPAA5gAIC7BQ8AutkPABJgAIAWYACAvwkPAL4BDwC9FQ8AvBUPABpgAICjkQ8AHmAAgCJgAICmtQ8AJmAAgCpgAIClgQ8Aqp0PAKtBDwAuYACAMmAAgK5FDwCvTQ8ArFEPAK1RDwCogQ0AqYENAKqBDQCrgQ0ArIENAK2BDQCusQ0Ar6ENADZgAIA6YACAPmAAgEJgAIBGYACAgrkAAIG9AACAvQAAuDUCALk9AgC6zQIAu5UCALyNAgC9tQIAvr0CAL+1AgCwbQIAsU0CALJFAgCzJQIAtD0CALUdAgC2FQIAtw0CAEpgAIBOYACAswENAFJgAIC1AQ0AWmAAgISUAwC2CQ0AviwEAF5gAIC7gQIAuqECAL35AgC8mQIAv9ECAL7xAgBiYACAZmAAgGpgAICjRQ0AbmAAgKVFDQCmTQ0AcmAAgIbgBACHpAQAquUCAKvFAgCs3QIArb0CAK61AgCvlQIAqCUCAKk1AgCqPQIAqzUCAKwtAgCtkQIArpECAK+RAgB2YACAemAAgH5gAICCYACAzAAAAIZgAICKYACAjmAAgLiZAgC5rQIAuqUCALttAQC8dQEAvX0BAL51AQC/bQEAsPECALH5AgCywQIAs8ECALSxAgC1vQIAtrUCALepAgCSYACA44QOAJZgAIDh9A4AmmAAgJ5gAICiYACApmAAgIQgBQCqYACArmAAgLJgAIC2YACA7+wOALpgAIC+YACAs/UCAMJgAICG6AQAh4wEAL5cBAC2UQIAteUCAMpgAIC7fQIAunUCAM5gAIDSYACAvzkCAL41AgC9VQIAvFUCAKM1BQBWYACAxmAAgNZgAIDaYACAppEFAKUlBQDeYACAq70FAKq1BQDiYACA5mAAgK/5BQCu9QUArZUFAKyVBQCA+QcAgfkHAIKNBwCzjQYA6mAAgLWdBgC2iQYA7mAAgPJgAID2YACAuk0HALtFBwC8XQcAvUEHAL5BBwC/QQcA+mAAgP5gAIDmXwCAAmEAgAZhAIAKYQCADmEAgBJhAICoNQYAqQEGAKppBgCraQYArHkGAK1lBgCuZQYAr50HALDlBwCx7QcAsuUHALP5BwC06QcAtekHALZZBwC3VQcAuHEHALlxBwC6cQcAu3EHALxVBwC9XQcAvlUHAL9NBwCjwQcAFmEAgBphAIAeYQCAImEAgKbFBwCl0QcAJmEAgKsJBgCqAQYAKmEAgC5hAICvDQYArg0GAK0NBgCsEQYAgGkAAIFpAACCBQAAMmEAgL6YAQCEmAEANmEAgDphAICGADwAh8QBAD5hAIBCYQCARmEAgEphAIBOYQCAUmEAgKhdBgCpbQYAqmUGAKuBAQCsgQEArYkBAK6xAQCvsQEAVmEAgFphAIBeYQCAYmEAgGZhAIBqYQCAbmEAgHJhAIC4VQEAuV0BALpVAQC7yQAAvNkAAL3ZAAC+yQAAv8EAALCxAQCxuQEAsokBALOJAQC0cQEAtXEBALZ1AQC3bQEAs+0FAHZhAIB6YQCAfmEAgIJhAIC2CQIAtQkCAIZhAIC7fQIAunUCAIphAICOYQCAv7UCAL61AgC9XQIAvF0CAL5gAgCjqQUAkmEAgJZhAICmTQIAmmEAgJ5hAIClTQIAqjECAKs5AgCiYQCAhOADAK7xAgCv8QIArBkCAK0ZAgC+iDwAqmEAgKotAwCrJQMArD0DAK0lAwCuLQMAryUDAID1AACB/QAAgsEAAKPBAwCuYQCApcEDAKbBAwCyYQCAhmA8AIdUAwC2YQCAumEAgL5hAIDjqAIAwmEAgOGkAQDGYQCA71wCAMphAIDOYQCA0mEAgNZhAIDaYQCA3mEAgOJhAIDjjAcA5mEAgOE8BADqYQCA7mEAgPJhAID2YQCAhCACAPphAID+YQCAAmIAgAZiAIDvbAcACmIAgA5iAICzLQIAhEQ9ABJiAIAaYgCAHmIAgLYtAgC1LQIAImIAgLvJAgC6wQIAJmIAgCpiAIC/yQIAvsECAL3JAgC80QIA4XgHAOPAAADjOAYA4VwGAICpAACBqQAAgtEAAC5iAIAyYgCANmIAgL6kPAA6YgCAPmIAgO8cAADvkAYAQmIAgIZgPACHBD0ARmIAgLNxAQBKYgCAtRkBALYJAQBOYgCAUmIAgFZiAIC6AQEAuwEBALwBAQC9AQEAvgEBAL8BAQCohT4AqbU+AKq1PgCrxT4ArN0+AK3FPgCuwT4Ar/0+AFpiAIBeYgCAYmIAgGZiAIBqYgCAbmIAgHJiAIB2YgCAuFE/ALlRPwC6UT8Au1E/ALx1PwC9fT8AvnU/AL9tPwCwiT4AsYk+ALKZPgCzmT4AtIk+ALWJPgC2eT8At3U/AKZhAICjOT4AemIAgBZiAICmQT4AfmIAgIJiAIClUT4Aqkk+AKtJPgCGYgCAimIAgK5JPgCvST4ArEk+AK1JPgCASQAAgVEAAIJRAACzkT8AjmIAgLW5PwC2RT8AkmIAgIZAAACHBAMAukU/ALtdPwC8TT8AvT0/AL4pPwC/IT8AqE0+AKlVPgCqVT4Aq2U+AKx9PgCtiT4Arrk+AK+5PgCWYgCAmmIAgJ5iAICiYgCApmIAgKpiAICuYgCAsmIAgLhhAQC5YQEAumEBALthAQC8YQEAvWEBAL5hAQC/YQEAsM0+ALHVPgCy1T4As6U+ALShPgC1qT4Atpk+ALeZPgCj3T4AtmIAgLpiAIC+YgCAwmIAgKYJPgCl9T4AxmIAgKsRPgCqCT4AymIAgM5iAICvbT4ArmU+AK1xPgCsAT4A0mIAgNZiAIDaYgCA3mIAgOJiAIDmYgCA6mIAgO5iAICAOQAAgTkAAIIFAADyYgCAvrgBAIS4AQD6YgCA/mIAgKitAgCp1QIAqtUCAKstAwCsNQMArT0DAK41AwCvLQMAAmMAgAZjAIAKYwCADmMAgBJjAIAWYwCAGmMAgB5jAIC46QMAuekDALqJAwC7iQMAvJkDAL2ZAwC+iQMAv4kDALBVAwCxXQMAslUDALPpAwC0+QMAtfkDALbpAwC34QMAs10CACJjAICGKAQAh8wDACZjAIC2vQMAtb0DACpjAIC7mQMAupEDAC5jAIAyYwCAvz0DAL49AwC9PQMAvIEDAIUAFACjGQIANmMAgDpjAICm+QMAPmMAgEJjAICl+QMAqtUDAKvdAwBGYwCASmMAgK55AwCveQMArMUDAK15AwDjVD4A4dw/AOHQPgDjPD4ATmMAgO8cAABSYwCAVmMAgFpjAIDjwAAAXmMAgOHUAQDvYD4AYmMAgGpjAIDvRD8AgGEAAIFtAACCfQAAhAAFAIbwBACHnAUAvhAFAG5jAIByYwCAdmMAgHpjAIB+YwCAgmMAgIZjAICKYwCAjmMAgLiJPQC5iT0Aupk9ALuRPQC8uT0Avbk9AL7RPQC/0T0AsAU+ALENPgCyBT4Asx0+ALQFPgC1DT4AtgU+ALe5PQConT4Aqa0+AKqlPgCrvT4ArKU+AK2tPgCupT4Ar30+AISsBAC+rAQAkmMAgJZjAICaYwCAnmMAgKJjAICmYwCAqPkFAKn5BQCqKQYAqykGAKw5BgCtOQYArikGAK8pBgBmYwCAqmMAgK5jAICyYwCAtmMAgLpjAIC+YwCAwmMAgLiNBgC5kQYAupEGALulBgC8vQYAvUUHAL5BBwC/QQcAsFkGALFZBgCy7QYAs/0GALTtBgC13QYAttUGALe1BgCzoQYAxmMAgMpjAIDOYwCA0mMAgLa5BgC1sQYA2mMAgLudBgC6nQYA1mMAgPZiAIC/GQYAvikGAL0pBgC8OQYAglEAAKPlBgCAQQAAgUEAAKb9BgDeYwCA4mMAgKX1BgCq2QYAq9kGAIZIAACHbAAArm0GAK9dBgCsfQYArW0GAKg5BgCpWQYAqmkGAKtpBgCseQYArXkGAK5pBgCvaQYA5mMAgOpjAIDuYwCA8mMAgPZjAID6YwCA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uNEGALnZBgC64QYAu+EGALyRBgC9nQYAvpUGAL+JBgCwSQYAsUkGALJdBgCzVQYAtE0GALXxBgC28QYAt/EGALDhBwCx4QcAsgkHALMJBwC0GQcAtRkHALYJBwC3CQcAuDkHALkNBwC6GQcAuxkHALwJBwC9CQcAvn0HAL9xBwCCZgCAlmUAgIZmAICKZgCAjmYAgJJmAICWZgCAmmYAgKjxBwCpxQcAqsEHAKvdBwCsyQcArb0HAK6pBwCvoQcAsykGAJ5mAICiZgCApmYAgKpmAIC2XQYAtSEGAK5mAIC7RQYAukUGALJmAIC2ZgCAv70GAL69BgC9vQYAvL0GALpmAICjbQYAvmYAgMJmAICmGQYAxmYAgMpmAIClZQYAqgEGAKsBBgDOZgCA0mYAgK75BgCv+QYArPkGAK35BgCobQYAqbEBAKpJAQCrRQEArF0BAK1FAQCuTQEAr0UBANZmAICCHQAAgR0AAIAdAADaZgCA3mYAgOJmAIC+VAEAuIEAALmNAAC6hQAAu5kAALyJAAC9vQAAvrUAAL99AACwPQEAseEAALLhAACz4QAAtOEAALXpAAC20QAAt9EAALsFAwC62QIAhiwCAIcsAwC/DQMAvgUDAL0VAwC8FQMAs+ECAOpmAIDuZgCAhCwDAPJmAIC25QIAtfUCAPZmAICqnQIAq0EDAPpmAID+ZgCArkEDAK9JAwCsUQMArVEDAAJnAICjpQIABmcAgApnAICmoQIADmcAgBJnAIClsQIAqakAAKihAACrtQAAqr0AAK3dAACs3QAAr/EAAK79AAC+LBwAFmcAgBpnAIAeZwCAImcAgCZnAIAqZwCALmcAgLl9AAC4fQAAu80BALrNAQC93QEAvN0BAL/NAQC+zQEAsZUAALCJAACzTQAAspUAALVdAAC0XQAAt00AALZNAAAyZwCANmcAgDpnAIA+ZwCAQmcAgEZnAIBKZwCATmcAgIA5AACBOQAAggUAAFJnAIBaZwCAXmcAgIf4AgCGfB0A4bgEAL7IHADjQAYAYmcAgGZnAIBqZwCAbmcAgHJnAIB2ZwCAemcAgH5nAICCZwCAhmcAgIpnAIDvsAcAjmcAgJJnAICWZwCAmmcAgO/IAACeZwCAomcAgKZnAIDvQAYAqmcAgOH8BgCuZwCA4xwGALJnAIDhlAEAtmcAgONkBgCAEQAAgRkAAIIpAACz/QEAumcAgLWdAQC2lQEAvmcAgMJnAICEbB0AuoUBALuZAQC8iQEAvVEBAL5RAQC/UQEAozEeAFZnAIDGZwCAymcAgM5nAICmWR4ApVEeANJnAICrVR4AqkkeAIYIAwCHbAMAr50eAK6dHgCtnR4ArEUeANZnAICzCR8A2mcAgN5nAIC2CR8A4mcAgOZnAIC1CR8AugUfALsNHwDqZwCA7mcAgL4FHwC/CR8AvBUfAL0NHwCw5R8Ase0fALLlHwCz/R8AtOUfALXpHwC2GR8AtxkfALgpHwC5NR8Auj0fALs1HwC8ER8AvR0fAL4JHwC/BR8A8mcAgPZnAIDmZgCA+mcAgP5nAIACaACABmgAgApoAICo0R8AqdEfAKqlHwCrvR8ArKUfAK2tHwCupR8Ar50fAKNNHgAOaACAEmgAgBZoAIAaaACApk0eAKVNHgAeaACAq0keAKpBHgAiaACAJmgAgK9NHgCuQR4ArUkeAKxRHgCADQAAgRUAAIIdAAAqaACALmgAgDJoAICEtAEAvrQBAL/oAQA6aACAhkgHAIc0AACEvAYAPmgAgEJoAIC+tAYAqI0BAKmVAQCqlQEAq80BAKzZAQCt2QEArs0BAK/FAQBGaACASmgAgE5oAIBSaACAVmgAgFpoAIBeaACAYmgAgLgdAQC5wQAAusEAALvBAAC8wQAAvckAAL7xAAC/8QAAsIkBALGJAQCyKQEAsykBALQ9AQC1JQEAti0BALclAQC7bQIAum0CAGZoAIBqaACAv8ECAL7ZAgC93QIAvN0CALM9AgBuaACAcmgAgHZoAICE/AYAtnkCALVxAgB6aACAqikCAKspAgB+aACAgmgAgK6dAgCvhQIArJkCAK2ZAgCGaACAo3kCAIpoAICOaACApj0CAJJoAICWaACApTUCAIJtJwCDjSoAhqgFAIdsAwCGmS4Ah80vAIQRLgCFmS4AiiESAIspEgCaaACAnmgAgI6RFgCPHRYAjBESAI0RFgCScRoAk+UaAKJoAIDvlHYAlvEeAJflHgCUSRoAlRkeAJopAgCb4QIAqmgAgK5oAICyaACA4SASAJzxAgDjIBYAnyEfAJ7BHwCdmRsAnC0bAJuhGwCavRcAmTkXAJixFwCXiRMAlqkTAJWpEwCUdS4AkzkvAJIxLwCRsS8AkDUrAI+tJgDjeB8A0gAAAOFcHwCCmQEAtmgAgIDxAQCB8QEAvqgHALpoAIC+aACAwmgAgIS8BgDvLB8AxmgAgMpoAIDhpB4A48wAAON8HgDhvAEAzmgAgNJoAIDWaACAhJwGANpoAIC+bAYA3mgAgOJoAIDmaACA7xAAAO8EHgDqaACA7mgAgPJoAID2aACA+mgAgP5oAIACaQCABmkAgAppAICAPQAAgQkAAILJBwAOaQCAo/kDAKLxAwChMQMAoM0fALBJcQCxAXwAsgl8ALMhfQC0AXgAtRV4ADZoAICmaACAEmkAgL4oDgCGDAAAh4wDABZpAIAaaQCAHmkAgCJpAIAmaQCAoV0AAKJVAACjfQAApAEMAKUVDACm9QwApwEIAKghCACpxQgAqgF0AKsJdACsAXQArR11AK55cACveXAAqOUFAKnxBQCq8QUAqy0FAKw1BQCtPQUArjUFAK8tBQAqaQCALmkAgDJpAIA2aQCAOmkAgD5pAIBCaQCARmkAgLj9BgC5jQYAuoUGALutBgC8uQYAvbkGAL6tBgC/pQYAsFUFALFdBQCyVQUAs+UGALT9BgC10QYAttEGALfRBgCzeQQASmkAgE5pAIBSaQCAVmkAgLa9BAC1vQQAWmkAgLuZBAC6kQQAXmkAgGJpAIC/FQcAvjkHAL0xBwC8gQQAZmkAgKM9BABqaQCAbmkAgKb5BAByaQCAdmkAgKX5BACq1QQAq90EAHppAIB+aQCArn0HAK9RBwCsxQQArXUHAKhpBwCpaQcAqnkHAKvZBgCs9QYArf0GAK71BgCv5QYAgMkAAIHJAACCBQAAgmkAgIZwDwCHNAAAimkAgI5pAIC4fQYAuQUGALoNBgC7BQYAvB0GAL0FBgC+DQYAvwUGALCdBgCxdQYAsn0GALN1BgC0UQYAtV0GALZVBgC3TQYAs/EEAJJpAICWaQCAmmkAgJ5pAIC2fQUAtX0FAKJpAIC7sQUAulkFAKZpAICqaQCAv5kFAL6VBQC9oQUAvKkFAK5pAICjtQQAsmkAgLZpAICmOQUAumkAgL5pAIClOQUAqh0FAKv1BQDCaQCAxmkAgK7RBQCv3QUArO0FAK3lBQCpuQIAqLECAKvJAgCqsQIArTUCAKw1AgCvNQIArjUCAMppAIDOaQCA0mkAgNZpAIDaaQCA3mkAgOJpAIDmaQCAuekDALjZAwC7iQMAuuEDAL2dAwC8nQMAv4EDAL6JAwCxVQIAsFUCALNVAgCyVQIAtfkDALTxAwC36QMAtvEDALM9AwDqaQCA7mkAgPJpAID6aQCAtrEDALW5AwD+aQCAu5UDALqVAwCGiAwAh6ANAL85AgC+MQIAvYUDALyFAwACagCAo3kDAAZqAIAKagCApvUDAA5qAIASagCApf0DAKrRAwCr0QMAFmoAgBpqAICudQIAr30CAKzBAwCtwQMAgIUAAIGNAACChQAA79AGAOOwBwDj9AQA4QgHAOHsBADvOAYA7yAEAL6kDAAeagCAImoAgOGEAQAmagCA49wGACpqAIAuagCAhMANALPJAQAyagCAtdkBALbJAQA2agCAOmoAgD5qAIC6xQEAu60BALy5AQC9uQEAvq0BAL+lAQCwLQ4AsUUOALJBDgCzQQ4AtEUOALVNDgC2cQ4At3EOALiBDgC5gQ4AuoEOALuBDgC8gQ4AvYEOAL6BDgC/gQ4A9mkAgEJqAIBGagCASmoAgIZpAIBOagCAUmoAgFZqAICo2Q0AqdkNAKptDgCrZQ4ArH0OAK1lDgCuZQ4Ar1UOAKOFDgCCLQAAgRUAAIAdAABaagCApoUOAKWVDgBeagCAq+EOAKqJDgBiagCAZmoAgK/pDgCu4Q4ArfUOAKz1DgBqagCAs4UPAIZoAACHHAMAtoUPAG5qAIByagCAtZEPALqNDwC7SQ8AdmoAgHpqAIC+MQ8AvzEPALxJDwC9RQ8AqBEOAKkZDgCqSQ4Aq0UOAKxdDgCtQQ4ArkEOAK91DgB+agCAgmoAgIZqAICKagCAjmoAgJJqAICWagCAmmoAgLihDgC5oQ4Aug0BALsFAQC8HQEAvQEBAL4BAQC/AQEAsA0OALHJDgCy2Q4As9UOALSxDgC1sQ4AtqkOALehDgCjwQ4AnmoAgKJqAICmagCAqmoAgKbBDgCl1Q4ArmoAgKsNDgCqyQ4AsmoAgLZqAICvdQ4ArnUOAK0BDgCsDQ4AumoAgL5qAIDCagCAxmoAgIANAACBNQAAgj0AAMpqAIDOagCA0moAgISEAQC+hAEAhjAHAIf4AADaagCA3moAgKjBAgCp0QIAqtECAKvlAgCs/QIArTUDAK49AwCvNQMA4moAgOZqAIDqagCA7moAgPJqAID2agCA+moAgP5qAIC40QMAudkDALrhAwC74QMAvJEDAL2RAwC+kQMAv5EDALBNAwCxVQMAsl0DALNVAwC0TQMAtfEDALbxAwC38QMAu7EDALqpAwACawCAvoQDAL8VAwC+qQMAvaEDALypAwCzeQIABmsAgAprAIAOawCAEmsAgLaVAwC1VQIAFmsAgKrtAwCr9QMAGmsAgB5rAICu7QMAr1EDAKztAwCt5QMAImsAgKM9AgAmawCAKmsAgKbRAwAuawCAMmsAgKURAgA2awCAgiEAAIEVAACAFQAA7wQAAISUAgA6awCAPmsAgOPYAABCawCA4fgBAEprAIBOawCAUmsAgFZrAIBaawCAhmAFAIcIBQBeawCAs20BAGJrAIC1fQEAtnUBAGZrAIBqawCAbmsAgLpRAQC7UQEAvPkBAL3RAQC+0QEAv9EBAHJrAICjpQEAdmsAgHprAICmvQEAfmsAgIJrAICltQEAqpkBAKuZAQCGawCAimsAgK4ZAQCvGQEArDEBAK0ZAQCOawCA4fQOAJJrAIDjFA4A9AAAAOF8DACWawCA41AKAJprAICeawCAviAEAO8wDQCiawCApmsAgIQ0BADvrA4AsDkGALE5BgCygQYAs6kGALS5BgC1uQYAtqkGALehBgC46QYAuekGALrJBgC7xQYAvN0GAL3BBgC+wQYAvz0HAEZrAICCHQAAgR0AAIAdAACqawCArmsAgLJrAIDWagCAqJkFAKmZBQCqSQYAq0kGAKxZBgCtWQYArkkGAK9JBgCorQcAqbUHAKq9BwCrtQcArK0HAK3dBwCuyQcAr8EHALZrAIC6awCAhogDAIcQAwC+awCAwmsAgMZrAIDKawCAuG0HALkFBwC6AQcAuxUHALwxBwC9MQcAvikHAL8pBwCwgQcAsYEHALJpBwCzZQcAtH0HALVhBwC2YQcAt1UHALM1BgDOawCA0msAgNZrAIDaawCAtl0GALUlBgDeawCAu0UGALpFBgDiawCA5msAgL+lBgC+uQYAvbEGALy9BgDqawCAo3EGAO5rAIDyawCAphkGAPZrAID6awCApWEGAKoBBgCrAQYA/msAgAJsAICu/QYAr+EGAKz5BgCt9QYAqCUBAKk1AQCqPQEAqzUBAKwtAQCtkQAArpEAAK+RAAAGbACACmwAgA5sAIASbACAFmwAgIK9AwCBvQMAgL0DALiZAAC5rQAAuqUAALttAAC8dQAAvX0AAL51AAC/bQAAsPEAALH5AACywQAAs8EAALSxAAC1vQAAtrUAALepAAAabACAHmwAgCJsAICEgAIAvhwCACpsAICG+HwAh8wCAISsAwAubACAMmwAgDZsAIA6bACAPmwAgEJsAIBGbACAs/UCAEpsAIBObACAkgAAAFJsAIC2UQMAteUCAFZsAIC7fQMAunUDAFpsAIBebACAvzkDAL41AwC9VQMAvFUDAKM1AgBibACAZmwAgGpsAIBubACAppEDAKUlAgBybACAq70DAKq1AwB2bACAemwAgK/5AwCu9QMArZUDAKyVAwC+wAMAfmwAgIJsAICGbACAgA0AAIE1AACCPQAAimwAgI5sAICSbACAhsh8AIcAAwCabACAnmwAgKJsAICmbACAqmwAgK5sAICybACAtmwAgLpsAIC+bACAwmwAgO/0AwCE7HwA4ZQBAMZsAIDjMAMAymwAgM5sAIDSbACA1mwAgLNpAQDabACA3mwAgOJsAIDmbACAtmEBALVpAQDqbACAuykBALohAQDubACA8mwAgL8dAQC+HQEAvSUBALwtAQD2bACA+mwAgP5sAICjpQEAAm0AgKWlAQCmrQEAvlR8AIaAfACH7HwAqu0BAKvlAQCs4QEArekBAK7RAQCv0QEACm0AgOGcBgCEBH8A4yQGAOPUBgAObQCA4TAEABJtAIDvlAcAgnUAAIFhAACAaQAAFm0AgBptAIAebQCA7+wGALiNfgC5lX4AupV+ALulfgC8vX4AvdF+AL7RfgC/0X4AsGV+ALFtfgCyeX4As3F+ALRZfgC1WX4Atr1+ALe1fgCoVX4AqWF+AKphfgCrYX4ArGF+AK1hfgCuYX4Ar2F+ACJtAICWbACAJmwAgCZtAIAGbQCAKm0AgC5tAIAybQCAqHF+AKlxfgCqcX4Aq3F+AKyRfwCtkX8ArpF/AK+RfwA2bQCAOm0AgD5tAIBCbQCARm0AgEptAIBObQCAUm0AgLiFfwC5jX8AuoV/ALudfwC8jX8Avb1/AL61fwC/XX8AsPF/ALHxfwCy8X8As8V/ALTBfwC1wX8AtsF/ALfBfwCz+X8AVm0AgFptAIBebQCAYm0AgLYRfgC1GX4AZm0AgLs1fgC6NX4Aam0AgG5tAIC/BX4AvgV+AL0RfgC8JX4AghUAAKO9fwCAYQAAgWEAAKZVfgBybQCAvpABAKVdfgCqcX4Aq3F+AHZtAIB6bQCArkF+AK9BfgCsYX4ArVV+AKhBfgCpUX4AqlV+AKt9fgCsZX4ArW1+AK75AQCv8QEAhgAAAIc0AQB+bQCAgm0AgIZtAICKbQCAjm0AgJJtAIC4dQEAuX0BALp1AQC7yQAAvNkAAL3ZAAC+yQAAv8EAALCVAQCxnQEAspUBALNNAQC0VQEAtV0BALZVAQC3TQEAs919AJZtAICabQCAnm0AgKJtAIC27X0Ate19AKZtAIC7WQIAulECAKptAICubQCAv5kCAL6RAgC9mQIAvEECALJtAICjmX0Atm0AgLptAICmqX0Avm0AgMJtAIClqX0AqhUCAKsdAgDGbQCAym0AgK7VAgCv3QIArAUCAK3dAgDObQCA0m0AgNZtAIDabQCAgB0AAIEJAACCOQAA3m0AgOJtAIC+AAQA6m0AgO5tAIDybQCA9m0AgPptAID+bQCAhIwDAAJuAICHCAMAhuwEAAZuAIDviAIACm4AgA5uAICEbAQA4zQCABJuAIDhVAEAFm4AgBpuAIAebgCAIm4AgKhtAgCprQIAqqUCAKu9AgCspQIAra0CAK6lAgCvGQEAvqwEACZuAIAqbgCALm4AgDJuAIA2bgCAOm4AgD5uAIC4DQEAuREBALoRAQC7JQEAvD0BAL3VAQC+3QEAv9UBALBpAQCxaQEAsnkBALNxAQC0WQEAtVkBALY5AQC3NQEAsy0CAEJuAIBGbgCASm4AgE5uAIC2LQIAtS0CAFJuAIC7rQEAuq0BAFpuAIBebgCAv50BAL6dAQC9pQEAvK0BAIBNAACBVQAAglUAAO9sAABibgCA7+x/AO+8fgBmbgCA4RB/AOPUfwDj2H4A4ex/AGpuAIDhTH4Abm4AgOMkfgDmbQCAVm4AgKsFBgCqBQYArQ0GAKwFBgCvNQYArjUGAIYAAwCHKAMAo4UFAHJuAIClhQUAdm4AgHpuAICmhQUAs/EGAH5uAICCbgCAhm4AgIpuAIC26QYAteEGAI5uAIC7vQYAur0GAJJuAICWbgCAv4kGAL6BBgC9iQYAvJUGAKgpBgCpKQYAqjkGAKs5BgCsKQYArSkGAK5dBgCvTQYAmm4AgJ5uAICibgCApm4AgKpuAICubgCAsm4AgLZuAIC46QcAuekHALr5BwC7+QcAvOkHAL3pBwC+XQcAv1UHALA5BgCxOQYAsgEGALMdBgC0BQYAtQ0GALYFBgC32QcAo7EHAIItAACBFQAAgB0AALpuAICmqQcApaEHAL5uAICr/QcAqv0HAMJuAICEpAIAr8kHAK7BBwCtyQcArNUHAL7MAQCzlQYAxm4AgMpuAIC2qQYAzm4AgNJuAIC1rQYAulkBALshAQCGyAAAhwwBAL4hAQC/KQEAvDEBAL0xAQCoKQYAqSkGAKpZBgCrUQYArGEGAK1tBgCutQEAr6kBAITgAQDWbgCA2m4AgN5uAIDibgCA5m4AgOpuAIDubgCAuGEBALlhAQC6YQEAu2EBALxhAQC9YQEAvmEBAL9hAQCw2QEAsaEBALKhAQCzoQEAtKEBALWpAQC2kQEAt5EBAKPRBQDybgCA9m4AgPpuAID+bgCApu0FAKXpBQACbwCAq2UCAKodAgAGbwCACm8AgK9tAgCuZQIArXUCAKx1AgAObwCAEm8AgBZvAIAabwCAHm8AgCJvAIAmbwCAKm8AgIA9AACBCQAAghkAAC5vAIAybwCAOm8AgL48AwA+bwCAhgAMAIcUAwBCbwCAs9UDAEZvAIC1PQMAtjUDAEpvAIBObwCAv4wKALoRAwC7EQMAvLUAAL29AAC+tQAAv60AAFJvAIDjdAEAVm8AgOG8AQBabwCAXm8AgGJvAIBmbwCAam8AgG5vAIBybwCAdm8AgHpvAIDvdAIAfm8AgIJvAICoTQIAqVECAKpRAgCrqQIArLkCAK25AgCuqQIAr6kCAIRsDQCGbwCAim8AgI5vAICSbwCAlm8AgJpvAIC+dA0AuG0BALkFAQC6DQEAuwUBALwdAQC9BQEAvg0BAL8FAQCw2QIAsdkCALJtAQCzZQEAtH0BALVlAQC2ZQEAt1UBAOG4AQDhUAcA47QAAON8BwCAqQAAgQkAAII5AACebwCAom8AgKpvAICubwCAsm8AgO4AAAC2bwCA7wAAAO9kBgCGYAwAh+QMAKORAgC6bwCApXkCAL5vAIDCbwCApnECAMZvAIDKbwCAq1UCAKpVAgCt+QEArPEBAK/pAQCu8QEApm8AgDZvAIDObwCA0m8AgNZvAIDabwCA3m8AgOJvAICoVQ4AqVkOAKqhDgCrvQ4ArK0OAK2VDgCu+Q4Ar/UOALCRDgCxkQ4AspEOALORDgC0sQ4AtbEOALaxDgC3sQ4AuJEOALmdDgC6lQ4Au0kPALxZDwC9WQ8AvkkPAL9JDwCzCQ4A5m8AgOpvAIDubwCA8m8AgLY1DgC1BQ4A9m8AgLt1DgC6dQ4A+m8AgP5vAIC/VQ4AvlUOAL1lDgC8ZQ4AAnAAgKNNDgAGcACACnAAgKZxDgAOcACAEnAAgKVBDgCqMQ4AqzEOAISkAwC+pAMArhEOAK8RDgCsIQ4ArSEOAKilDgCprQ4AqqUOAKu5DgCs3Q4ArcEOAK7BDgCv/Q4AgO0BAIHxAQCC8QEAFnAAgIaQAQCHtAEAGnAAgB5wAIC4yQEAuckBALrZAQC70QEAvPkBAL35AQC+mQEAv5UBALCFDgCxbQEAsmUBALN9AQC0ZQEAtW0BALZlAQC3+QEAsy0OACJwAIAmcACAKnAAgC5wAIC2QQ4AtVUOADJwAIC7qQEAukEOADZwAIA6cACAv6kBAL6hAQC9qQEAvLEBAD5wAICjaQ4AQnAAgEZwAICmBQ4ASnAAgE5wAIClEQ4AqgUOAKvtAQBScACAVnAAgK7lAQCv7QEArPUBAK3tAQCoOQMAqTkDAKqNAwCrhQMArJ0DAK2FAwCuhQMAr7UDAFpwAIBecACAYnAAgGZwAIBqcACAbnAAgHJwAIB2cACAuGEAALlhAAC6YQAAu2EAALxhAAC9YQAAvmEAAL9hAACwzQMAsaUDALKhAwCzoQMAtKUDALWtAwC2kQMAt5EDAIANAACBEQAAghEAAHpwAIDv9AIAfnAAgIJwAIC+HAMA4xQCAISIAgDhgAEAinAAgI5wAICScACAh8gDAIY8BAC7AQMAumkDAJZwAICacACAvwkDAL4BAwC9FQMAvBUDALNlAwCecACAonAAgKZwAICqcACAtmUDALV1AwCucACAsnAAgLZwAIC6cACAo4kCAL5wAIClmQIApokCAMJwAICELAIAxnAAgKqFAgCr7QIArPkCAK35AgCu7QIAr+UCAMpwAIDOcACAvkQFAIRMBQDScACA1nAAgNpwAIDecACA4nAAgOZwAIDqcACA7nAAgIAZAACBGQAAggUAAPJwAIDhGA8A4VwOAOO4DgDjdAEA+nAAgP5wAIACcQCABnEAgIYABACHZAUACnEAgA5xAIAScQCAFnEAgO98DgDvqAEAs3UBABpxAIAecQCAInEAgCZxAIC2MQEAtRUBACpxAIC7HQEAuhUBAC5xAIAycQCAv+EAAL79AAC9/QAAvP0AAPZwAIA2cQCAOnEAgD5xAICGcACAQnEAgEZxAIBKcQCAqI0GAKmVBgCqnQYAq+UGAKz9BgCt0QYArtEGAK/RBgCwsQYAsbkGALJJBwCzSQcAtFkHALVFBwC2RQcAt3kHALghBwC5IQcAujkHALs5BwC8KQcAvSkHAL4ZBwC/GQcAozUGAE5xAIBScQCAVnEAgFpxAICmcQYApVUGAF5xAICrXQYAqlUGAGJxAIC+oAMAr6EHAK69BwCtvQcArL0HAIBRAACBWQAAgmEAALNVBwCF9AAAtX0HALZ1BwBmcQCAhgAcAIfkAQC6LQcAuyUHALw9BwC9JQcAviUHAL8VBwCokQYAqZEGAKqRBgCrkQYArLkGAK25BgCuqQYAr6kGAGpxAIBucQCAcnEAgHZxAICiIQEAozUBAKA5BQChEQQAuEkBALlJAQC6XQEAu1UBALxNAQC90QEAvtEBAL/RAQCwpQYAsa0GALKlBgCzvQYAtK0GALWdBgC2lQYAt3kBAKMZBgCPnXkAenEAgH5xAICCcQCApjkGAKUxBgCGcQCAq2kGAKphBgCKcQCAjnEAgK9ZBgCuaQYArWkGAKxxBgCeiQgAn8EFAJzJCQCdyQkAmqENAJu9DACYsQ0AmbkNAJahcQCXRXEAlEV1AJWxcQCSoXUAk7V1AJDleQCRzXkAil1yAItFcgCScQCAvoAcAI51DgCPZQ4AjLlyAI11DgCCOXoAgzl6AJZxAICacQCAhnF2AIeZdgCECXoAhW12AJptBwCbVQIAnnEAgKJxAICmcQCA4ZAAAJxZAgDjCBoAkgkPAJNlCgCqcQCA7zgWAJZ1BgCXdQYAlH0KAJU1CwCpjRYAqIUWAKsBEACqMRYArXESAKy1EgCvuS4ArgEsAKF9AgCucQCAo6EeAKKpHgClsRoApPUfAKflGwCmsRoAhMwDAIRMHACycQCAtnEAgLpxAIC+cQCAwnEAgMZxAICxASgAsNkuALONKgCy6SoAtfUmALQBJACEcB0AynEAgID9AQCBFQAAgh0AAL6AHADOcQCA0nEAgIe4AgCGPB0A2nEAgN5xAIDicQCA5nEAgOpxAIDucQCA8nEAgPZxAID6cQCA/nEAgAJyAIAGcgCA44ADAApyAIDhoAEADnIAgO+UAwAScgCAFnIAgBpyAIAecgCAInIAgCZyAIAqcgCALnIAgOE8BgAycgCA49AGADZyAIDhMAcAOnIAgOOsBgCAOQAAgRUAAIIdAADvHAYAPnIAgEJyAIC+uB8A7+gBALPpAgBKcgCAh8QcAIbsHABOcgCAtlkCALVRAgBScgCAu00CALpNAgBWcgCAWnIAgL+5AQC+2QEAvdEBALz1AQCjKR0A1nEAgEZyAIBecgCAYnIAgKaZHQClkR0AZnIAgKuNHQCqjR0AanIAgG5yAICveR4ArhkeAK0RHgCsNR4AcnIAgLNtHwB2cgCAenIAgLZlHwB+cgCAgnIAgLVtHwC6IR8AuyEfAIZyAICKcgCAviUfAL8pHwC8MR8AvTEfAKihHwCpoR8AqqEfAKuhHwCsoR8AraEfAK6hHwCvoR8AjnIAgJJyAICWcgCAmnIAgJ5yAICicgCApnIAgKpyAIC4rR8AubUfALq9HwC7tR8AvK0fAL1VHwC+UR8Av00fALChHwCxoR8AsqEfALOhHwC0pR8AtakfALadHwC3lR8AoykeAIIZAACBGQAAgLEBAK5yAICmIR4ApSkeALJyAICrZR4AqmUeAIaIAACH/AEAr20eAK5hHgCtdR4ArHUeALZyAICzmR4AunIAgL5yAIC2XQEAwnIAgMZyAIC1sR4AukkBALtJAQDKcgCAznIAgL49AQC/IQEAvDkBAL01AQCoRR4AqVUeAKpVHgCrZR4ArH0eAK2ZAQCuiQEAr4EBAISsAADScgCA1nIAgNpyAIDecgCA4nIAgOZyAIDqcgCAuK0BALllAQC6bQEAu2UBALx9AQC9ZQEAvm0BAL9lAQCwyQEAsckBALKpAQCzpQEAtL0BALWhAQC2oQEAt5UBALhpHAC5oRwAusEcALvBHAC8wRwAvcEcAL7BHAC/wRwAsIkfALGJHwCyIRwAswUcALQdHAC1fRwAtnUcALdtHACoYR8AqWEfAKphHwCrYR8ArNkfAK3ZHwCuyR8Ar8EfAO5yAIDycgCA9nIAgPpyAID+cgCAAnMAgAZzAIAKcwCADnMAgBJzAIC+AAQAo1EdABZzAICleR0AppUCABpzAIAecwCAInMAgKqBAgCrgQIArPECAK39AgCu9QIAr+kCACpzAIDh9AEALnMAgON8AQCATQAAgXUAAIJ9AAAycwCAhsAEAIekBAA2cwCAOnMAgD5zAIBCcwCARnMAgO+MAgCoSQIAqUkCAKpdAgCrVQIArHkCAK15AgCuvQIAr7UCAISgBQBKcwCATnMAgFJzAIC+vAQAVnMAgFpzAIBecwCAuC0BALk1AQC6PQEAuzUBALwtAQC91QEAvt0BAL/NAQCwzQIAsdUCALLdAgCz1QIAtM0CALUVAQC2HQEAtxUBAOGEHgDjbB8A41wfAOFYHgBicwCAZnMAgGpzAIBucwCAcnMAgHZzAIB6cwCAfnMAgOkAAADv9B4A70weAIJzAICzlQIAhnMAgIpzAICOcwCAknMAgLa5AgC1sQIAmnMAgLtRAgC6SQIAhsgEAIesBAC/kQEAvkkCAL1BAgC8SQIAJnMAgKNRBQCecwCAlnMAgKZ9BQCicwCApnMAgKV1BQCqjQUAq5UFAKpzAICucwCAro0FAK9VBgCsjQUArYUFAICJBwCBiQcAgpkHALORBgCycwCAtbkGALapBgC2cwCAunMAgL5zAIC6TQcAu0UHALxdBwC9QQcAvkEHAL9BBwCoQQYAqU0GAKpVBgCrZQYArH0GAK1lBgCubQYAr2UGAMJzAIDGcwCAynMAgM5zAIDScwCA1nMAgNpzAIDecwCAuFkHALlZBwC6aQcAu2kHALx5BwC9eQcAvmUHAL8ZBwCwxQcAsc0HALLFBwCz2QcAtMkHALXJBwC2aQcAt2kHAKPdBwDicwCA5nMAgOpzAIDucwCApuUHAKX1BwDycwCAqwkGAKoBBgD2cwCA+nMAgK8NBgCuDQYArQ0GAKwRBgCAbQAAgQkAAIIZAAD+cwCAAnQAgISYAQC+kAEABnQAgIbAAACH5AEACnQAgA50AIASdACAFnQAgBp0AIAedACAqF0GAKmNAQCqnQEAq5UBAKy5AQCtuQEArskBAK/BAQCEoAAAInQAgCZ0AIAqdACALnQAgDJ0AIA2dACAOnQAgLh5AQC5eQEAus0AALvFAAC83QAAvcUAAL7FAAC/9QAAsIEBALGBAQCySQEAs0kBALRZAQC1WQEAtkkBALdJAQCzFQIAPnQAgEJ0AIBGdACASnQAgLY5AgC1MQIATnQAgLtFAgC6RQIAUnQAgFZ0AIC/nQIAvp0CAL2dAgC8nQIAhXw+AKNRAgBadACAXnQAgKZ9AgBidACAZnQAgKV1AgCqAQIAqwECAGp0AIBudACArtkCAK/ZAgCs2QIArdkCAIDpAACB6QAAggUAAHJ0AIC+AAwAenQAgIeoAwCGvAwAfnQAgIJ0AICGdACAinQAgI50AICSdACAlnQAgJp0AICedACAonQAgKZ0AICqdACA42ABAK50AIDhoAEAsnQAgO+IAgC2dACAunQAgL50AIDCdACAxnQAgMp0AIDOdACAqGkCAKlpAgCqeQIAq3kCAKxpAgCtaQIArr0CAK+1AgC+rAwA0nQAgNZ0AIDadACAgB0AAIEJAACCqQAA3nQAgLhRAQC5WQEAumEBALthAQC8GQEAvRkBAL4NAQC/BQEAsM0CALHVAgCy3QIAs9UCALTNAgC1cQEAtnEBALdxAQDjxAAA4XwHAOF4BgDjvAYA4nQAgIQYDQCGuAwAhzwNAL4sDwDqdACA7nQAgPJ0AIDvEAAA9nQAgPp0AIDvdAYA/nQAgAJ1AIAGdQCAs70CAAp1AIC1rQIAtqUCAA51AIASdQCAFnUAgLpFAgC7XQIAvEUCAL1NAgC+RQIAv/kBAHZ0AIClfQ0ApnUNAOZ0AIAadQCAHnUAgCJ1AICjbQ0ArJUNAK2dDQCulQ0ArykOACZ1AIAqdQCAqpUNAKuNDQCz5Q4ALnUAgDJ1AIA2dQCAOnUAgLblDgC19Q4APnUAgLuhDgC62Q4AQnUAgEZ1AIC/pQ4AvrkOAL2xDgC8uQ4AqBUOAKklDgCqLQ4AqyUOAKw9DgCtJQ4Ari0OAK8lDgCADQAAgRUAAIIdAABKdQCATnUAgFJ1AICEMAMAVnUAgLgpDgC5KQ4AujkOALs5DgC8KQ4AvSkOAL79DwC/9Q8AsF0OALElDgCyLQ4AsyUOALQ9DgC1IQ4AtiUOALcZDgCjpQ8AWnUAgIYoAQCHTAEAXnUAgKalDwCltQ8AYnUAgKvhDwCqmQ8AZnUAgGp1AICv5Q8ArvkPAK3xDwCs+Q8AbnUAgLPpDgBydQCAdnUAgLaRDgB6dQCAfnUAgLXlDgC6sQ4Au7kOAIJ1AICGdQCAvmEBAL9hAQC8mQ4AvZkOAKglDgCpLQ4AqiUOAKs5DgCsKQ4ArVUOAK5dDgCvVQ4AinUAgI51AICSdQCAlnUAgJp1AICedQCAonUAgKZ1AIC49QEAuYEBALqBAQC7gQEAvIEBAL2JAQC+sQEAv7EBALAxDgCxOQ4AsgkOALMJDgC04QEAteEBALbhAQC3zQEAo60NAKp1AICudQCAsnUAgLZ1AICm1Q0ApaENALp1AICr/Q0AqvUNAL51AIDCdQCAryUCAK4lAgCt3Q0ArN0NAIBdAACBbQAAgmUAALNRAwC+nAMAtXkDALYZAwDKdQCAhOACAM51AIC6PQMAuzUDALwZAwC9GQMAvtkDAL/ZAwCohQMAqZUDAKqVAwCrpQMArL0DAK3VAwCu0QMAr9EDAIYABACHNAMAv6AzANJ1AIDWdQCA2nUAgN51AIDidQCAuHEDALlxAwC6cQMAu3EDALzVAAC93QAAvtUAAL/NAACwtQMAsb0DALKBAwCzgQMAtFEDALVRAwC2UQMAt1EDAO+oAwDmdQCA6nUAgO51AICEHAIA8nUAgPZ1AID6dQCAviwFAP51AIACdgCABnYAgONAAwAKdgCA4SgAAA52AICjXQIAEnYAgBZ2AIAadgCAHnYAgKYVAgCldQIAInYAgKs5AgCqMQIAJnYAgCp2AICv1QIArtUCAK0VAgCsFQIA4ygBAOEADwDhCA4A4wgOAID9AACBCQAAgjkAAC52AIAydgCAOnYAgD52AIBCdgCA7+gOAEZ2AIBKdgCA72QOALNtAQBOdgCAhugEAIcMBQBSdgCAtm0BALVtAQBWdgCAu+0AALrtAABadgCAXnYAgL/VAAC+6QAAveEAALzpAACoXQYAqWEGAKqlBgCrvQYArKUGAK2tBgCupQYArxkHADZ2AIBidgCAZnYAgGp2AIBudgCAcnYAgHZ2AIB6dgCAuHUHALl5BwC6DQcAuwUHALwdBwC9BQcAvgUHAL81BwCwaQcAsWkHALJ9BwCzdQcAtG0HALVRBwC2UQcAt1EHAKMtBgB+dgCAgnYAgIZ2AICKdgCApi0GAKUtBgCOdgCAq60HAKqtBwCSdgCAlnYAgK+VBwCuqQcAraEHAKypBwCADQAAgRUAAIIdAACadgCAnnYAgKJ2AICEVAMAvlwAAKZ2AICqdgCAhugAAIdMAwCudgCAsnYAgLZ2AIC6dgCAvnYAgOMEBADCdgCA4bQFAMZ2AIDKdgCAznYAgNJ2AIDWdgCA2nYAgN52AIDidgCA5nYAgO/sBADqdgCA7nYAgLPtBgDydgCA9nYAgPp2AID+dgCAtpEGALXhBgACdwCAu40GALqNBgAGdwCACncAgL9BAQC+WQEAvVEBALxZAQCoJQYAqS0GAKolBgCrOQYArCkGAK1RBgCuSQYAr0EGAIDNAACBCQAAghkAAA53AIASdwCAhCwBAL40AAAadwCAuP0BALlBAQC6QQEAu0EBALxBAQC9SQEAvnEBAL9xAQCwCQYAsQkGALLNAQCzxQEAtN0BALXFAQC2zQEAt8UBAIagPACHRAMAHncAgKOhBQAidwCApa0FAKbdBQAmdwCAKncAgL4oPACqwQUAq8EFAKwVAgCtHQIArhUCAK8NAgC2QQMALncAgDJ3AIC1sQIANncAgLOhAgA6dwCAPncAgL5FAwC/TQMAvHUDAL1NAwC6ZQMAu20DAEJ3AIBGdwCASncAgE53AIDGdQCAUncAgFZ3AIBadwCAXncAgGJ3AICoRQIAqVUCAKpdAgCrVQIArE0CAK21AwCusQMAr60DALDVAwCx3QMAstUDALPtAwC09QMAtf0DALb1AwC37QMAuNkDALnZAwC6rQMAu6UDALy9AwC9pQMAvqUDAL+VAwCj9QMAZncAgGp3AIBudwCAcncAgKYVAgCl5QMAdncAgKs5AgCqMQIAencAgH53AICvGQIArhECAK0ZAgCsIQIAgGkAAIFpAACCBQAAgncAgIp3AICOdwCAkncAgO8cAACEbAIA4ZQBAJZ3AIDjyAAAmncAgJ53AICGWDwAh1A9AKJ3AICmdwCAqncAgISEPQCudwCAsncAgLZ3AIDvuAEAvmw8AOF0BgC6dwCA42QBAL53AIDCdwCAxncAgMp3AICz0QEAzncAgNJ3AIDWdwCA2ncAgLaRAQC1+QEA3ncAgLu9AQC6vQEA4ncAgOZ3AIC/dQEAvnUBAL2FAQC8hQEAqL09AKkNPgCqGT4AqxE+AKwxPgCtUT4ArlE+AK9NPgCGdwCAgh0AAIEdAACAHQAA6ncAgO53AIDydwCA9ncAgLjVPgC53T4AutU+ALtJPwC8WT8AvVk/AL5JPwC/QT8AsDk+ALE5PgCyET4AsxE+ALTxPgC18T4AtvU+ALftPgCjkT4A+ncAgIYoAACHwAMA/ncAgKbRPgCluT4AAngAgKv9PgCq/T4ABngAgAp4AICvNT4ArjU+AK3FPgCsxT4ADngAgLOdPwASeACAFngAgLalPwAaeACAHngAgLWtPwC6aT8Au3U/ACJ4AIAmeACAvlk/AL9FPwC8bT8A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IoUAgOH8AQBWgwCAJoUAgO/IBgAqhQCALoUAgDKFAICzjQMANoUAgLWNAwA6hQCAPoUAgLa1AwBChQCARoUAgLtBAwC6SQMAvUEDALxZAwC/QQMAvkkDAKNFDACmhACAFoUAgEqFAIBOhQCApn0MAKVFDABShQCAq4kMAKqBDABWhQCAWoUAgK+JDACugQwArYkMAKyRDACAFQ8AgR0PAIIhDwCzIQ4AXoUAgLUhDgC2JQ4AYoUAgGaFAIBqhQCAusEOALvBDgC8wQ4AvcEOAL7BDgC/wQ4AqK0OAKntDgCq5Q4Aq/0OAKzlDgCt6Q4ArjkOAK85DgBuhQCAcoUAgHaFAIB6hQCAgB0AAIEJAACCvQEAfoUAgLjNDwC51Q8AutUPALvlDwC8/Q8AvZUPAL6RDwC/kQ8AsEkOALFJDgCyWQ4As1kOALRJDgC1SQ4Atv0PALf1DwCjbQ8AgoUAgL6EAQCKhQCAjoUAgKZpDwClbQ8AkoUAgKuNDwCqjQ8AhogAAIdsAQCvjQ8Aro0PAK2NDwCsjQ8AloUAgLPtDgCahQCAnoUAgLaRDgCihQCApoUAgLXhDgC6tQ4Au70OAKqFAICuhQCAvn0BAL9lAQC8mQ4AvZkOAKgRDgCpJQ4AqiEOAKs5DgCsLQ4ArVUOAK5dDgCvUQ4AhKgAALKFAIC2hQCAuoUAgL6FAIDChQCAxoUAgMqFAIC47QEAuZUBALqVAQC7rQEAvLUBAL11AQC+fQEAv3UBALA1DgCxPQ4AsgkOALMJDgC0/QEAteUBALblAQC31QEAo6kNAM6FAIDShQCA1oUAgNqFAICm1Q0ApaUNAN6FAICr+Q0AqvENAOKFAIDmhQCAryECAK45AgCt3Q0ArN0NAIANAACBFQAAgh0AAOqFAIDuhQCA8oUAgIeQAwCGfAQAvuwEAPqFAID+hQCAAoYAgAaGAIAKhgCADoYAgBKGAICyLQ4AszUOALAtDgCxJQ4Ati0OALedDwC0LQ4AtSUOALq9DwC7jQ8AuKUPALm9DwC+LQ8AvxUPALyVDwC9JQ8AFoYAgBqGAIAehgCAIoYAgCaGAIAqhgCALoYAgDKGAICqpQ4Aq7UOAKjFDgCp3Q4Arp0OAK9VDgCspQ4ArZUOAKgNAgCpFQIAqhUCAKtNAgCsWQIArVkCAK5NAgCvRQIAhKgFADaGAIA6hgCA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mogAgJ6IAIC+cAMAgGkAAIFpAACCeQAAhAAEAIbwBACHdAMAoogAgO8MHwCmiACA4aweAKqIAIDj8B4ArogAgLKIAIC2iACAuogAgL6IAIDCiACAxogAgMqIAIDvVAIAzogAgNKIAIDWiACA46QCANqIAIDhgAEA3ogAgOKIAIDmiACA6ogAgO6IAICzRQMA8ogAgPaIAID6iACA/ogAgLZFAwC1VQMAAokAgLshAwC6SQMAvqAEAAqJAIC/KQMAviEDAL01AwC8OQMAqDkCAKk5AgCqjQIAq4UCAKydAgCthQIAroUCAK+1AgCA7QEAgfUBAIL1AQAOiQCAhpAEAIcEBQASiQCAFokAgLhFAQC5TQEAukUBALtdAQC8SQEAvUkBAL55AQC/eQEAsM0CALGlAgCyrQIAs6ECALSlAgC1rQIAtp0CALd9AQAaiQCAHokAgCKJAIAmiQCAKokAgC6JAIAyiQCA74gBAITsBADhVB4ANokAgONUAQA6iQCAPokAgEKJAIBGiQCAo0UCAEqJAIBOiQCAUokAgFaJAICmRQIApVUCAFqJAICrIQIAqkkCAF6JAIBiiQCArykCAK4hAgCtNQIArDkCAKg1BgCpPQYAqlEGAKttBgCseQYArWUGAK5tBgCvZQYABokAgGaJAIBqiQCAbokAgIAZAACBGQAAggUAAHKJAIC45QYAuekGALr5BgC7+QYAvOkGAL3pBgC+nQYAv5UGALAdBgCx5QYAsu0GALPlBgC0/QYAteEGALbhBgC34QYAs9kGAL7QAwB2iQCAeokAgH6JAIC25QYAtfEGAIKJAIC7IQYAutkGAIaYAACHeAMAvyUGAL45BgC9MQYAvDkGAIaJAICjnQYAiokAgI6JAICmoQYAkokAgJaJAICltQYAqp0GAKtlBgCaiQCAnokAgK59BgCvYQYArH0GAK11BgCo7QcAqSkGAKoxBgCrMQYArJEGAK2RBgCukQYAr5EGAKKJAICmiQCAqokAgK6JAICyiQCAtokAgLqJAIC+iQCAuIUGALmNBgC6hQYAu50GALyNBgC9vQYAvrUGAL95AQCw8QYAsfEGALLxBgCzxQYAtMEGALXBBgC2wQYAt8EGALO5BgDCiQCAxokAgMqJAIDOiQCAthEGALUZBgDSiQCAuzUGALo1BgDWiQCA2okAgL8FBgC+BQYAvREGALwlBgClQQYA3okAgOKJAICmSQYAgRUAAIB5AACj4QYAghUAAK1JBgCsfQYAr10GAK5dBgCENAEAlogAgKttBgCqbQYAvswDAOqJAICzlQIA7okAgLXZAgDyiQCA9okAgLbRAgCGgAwAhzgDALvFAgC6xQIAvRUDALwVAwC/FQMAvhUDAPqJAID+iQCA71gGAIRAAwACigCABooAgAqKAIAOigCAEooAgBaKAIAaigCAHooAgOE4BgAiigCA4yQGAL5wDACsSQIArUkCAK5dAgCvVQIAqB0CAKkFAgCqBQIAq10CAISoDAAmigCAKooAgC6KAIC+vA0AMooAgDaKAIA6igCAvE0DAL1VAwC+VQMAv2UDALjpAwC56QMAul0DALtVAwC0yQMAtckDALbZAwC32QMAsBkCALEZAgCy2QMAs9kDAD6KAIDj5AAAQooAgOG8AQBGigCAgj0AAIE9AACAPQAASooAgE6KAIBSigCAWooAgF6KAIDvzAMAYooAgGaKAICj3QMAaooAgIboDACHYA0AbooAgKaZAwClkQMAcooAgKuNAwCqjQMAdooAgHqKAICvXQIArl0CAK1dAgCsXQIAfooAgIKKAICGigCAiooAgI6KAICSigCAlooAgO/gAQCEvAwA4YwGAJqKAIDjHAYAnooAgKKKAICmigCAqooAgLPVAQCuigCAsooAgLaKAIC6igCAtpEBALWZAQC+igCAu70BALq9AQDCigCAyooAgL+dAQC+nQEAvZ0BALydAQCoBQ4AqQkOAKodDgCrFQ4ArFEOAK1RDgCuSQ4Ar0kOAFaKAICCzQ8AgfUPAID9DwDGigCAzooAgIYcAACHsAMAuOkOALnpDgC6/Q4Au/UOALztDgC9VQ8AvlEPAL9NDwCwOQ4AsTkOALIJDgCzCQ4AtBkOALUZDgC2DQ4At9kOAKOVDgDSigCA1ooAgNqKAIDeigCAptEOAKXZDgDiigCAq/0OAKr9DgDmigCA6ooAgK/dDgCu3Q4Ard0OAKzdDgDuigCAs/0PAPKKAID2igCAtoEPAPqKAID+igCAtZkPALqNDwC7ZQ8AAosAgAaLAIC+fQ8Av2UPALx9DwC9dQ8AqC0OAKk1DgCqMQ4AqzEOAKxVDgCtRQ4ArkUOAK91DgAKiwCADosAgBKLAIAWiwCAGosAgB6LAIAiiwCAJosAgLjpDgC59Q4Auv0OALv1DgC87Q4AvZEOAL6RDgC/kQ4AsA0OALHlDgCy7Q4As+UOALT9DgC15Q4Atu0OALflDgCjuQ4Agi0AAIEVAACAHQAAKosAgKbFDgCl3Q4ALosAgKshDgCqyQ4AMosAgL4sAQCvIQ4ArjkOAK0xDgCsOQ4AOosAgLZVAQC1RQEANosAgLNVAQA+iwCAhngAAIdcAAC/OQEAvjEBAL0lAQC8JQEAuzEBALpZAQDmiQCAQosAgEaLAIBKiwCAhAQDAKOJAgBOiwCApZkCAKaJAgBSiwCAvyg5AFaLAICqhQIAq+0CAKz5AgCt+QIAru0CAK/lAgDjWAIA78AOAOGIAQBaiwCAXosAgGKLAIBmiwCAaosAgG6LAIByiwCAdosAgHqLAIDvKAIA4ygOAH6LAIDhRA4AqbUCAKhpDQCrAQIAqgkCAK0BAgCsGQIArzECAK4BAgC+AAQAgosAgIaLAICKiwCAjosAgJKLAICWiwCAmosAgLnlAwC45QMAu+UDALrlAwC95QMAvOUDAL/lAwC+5QMAsSECALBJAgCzJQIAsiUCALUpAgC0IQIAtxUCALYVAgCowQIAqdECAKr1AgCrDQEArBUBAK0FAQCuBQEArzkBAJ6LAICiiwCAqosAgK6LAICyiwCAtosAgLqLAIC+iwCAuC0BALk9AQC67QEAu+UBALz9AQC95QEAvu0BAL/lAQCwLQEAsTUBALI9AQCzNQEAtC0BALUVAQC2HQEAtxUBAIA9AQCBpQAAgq0AAO/YAACGsAUAh9gFAMKLAIDv1A8AhGwEAOH0DgDGiwCA4xwPAMqLAIDhlAEAzosAgOMMDgCzPQIA0osAgNaLAIDaiwCA3osAgLbFAQC13QEA4osAgLuxAQC6qQEA5osAgOqLAIC/kQEAvqkBAL2hAQC8qQEAposAgO6LAICqRQYAq10GAKxFBgCtTQYArkUGAK99BgDyiwCA9osAgPqLAICj0QUA/osAgKUxBgCmKQYAAowAgAaMAICCHQAAgR0AAIAdAAAKjACADowAgBKMAIC+lAMAFowAgBqMAICGSAMAh8wDAB6MAIAijACAJowAgCqMAICoqQcAqakHAKq5BwCruQcArKkHAK2pBwCuAQcArzUHAC6MAIAyjACANowAgDqMAIA+jACAQowAgEaMAIBKjACAuC0HALnBAAC66QAAu+kAALz5AAC95QAAvuUAAL+dAACwUQcAsV0HALItBwCzJQcAtD0HALUlBwC2JQcAtxUHALMxBgBOjACAUowAgFaMAIBajACAtikGALUhBgBejACAu5kGALqVBgBijACAZowAgL/hBgC++QYAvfEGALz5BgBqjACAo3UGAG6MAIByjACApm0GAHaMAIB6jACApWUGAKrRBgCr3QYAfowAgIKMAICuvQYAr6UGAKy9BgCttQYAqOUBAKn1AQCq/QEAq/UBAKztAQCtNQEArj0BAK81AQCA+QAAgc0AAILFAACEYAEAvngBAIqMAICHrAAAhpABALjRAAC52QAAuuEAALvhAAC8kQAAvZ0AAL6VAAC/iQAAsE0BALFVAQCyXQEAs1UBALRNAQC18QAAtvEAALfxAACzdQIAjowAgJKMAICWjACAmowAgLa1AgC1ZQIAnowAgLuRAgC6iQIAoowAgKaMAIC/NQMAvokCAL2BAgC8iQIAqowAgKMxAgCujACAhMADAKbxAgCyjACAtowAgKUhAgCqzQIAq9UCALqMAIC+jACArs0CAK9xAwCszQIArcUCAKuNAACqjQAAqY0AAKg5AwCvvQAArr0AAK2FAACsjQAAqgAAAKsAAADCjACAxowAgMqMAIDOjACA0owAgNaMAIC7fQAAun0AALl9AAC4fQAAv90BAL7dAQC93QEAvN0BALO5AACysQAAsaEAALCtAAC3XQAAtl0AALWVAAC0lQAA2owAgN6MAIDijACA5owAgIE1AACADQAA6owAgII1AAC+rD0A7owAgPKMAICFaD0A+owAgP6MAICGODwAh8ACALNJAQACjQCA0AAAAAaNAIAKjQCAtkkBALVJAQAOjQCAuykBALolAQASjQCAFo0AgL8dAQC+HQEAvSEBALwpAQDjNDYA4QwGAOGwAgDjPAYAGo0AgB6NAIAijQCAJo0AgIQsPwC+oD8AKo0AgC6NAIDvfDcAMo0AgDaNAIDvGAEAOo0AgD6NAICGaD4Ah8w/AEKNAIBGjQCASo0AgO+UAABOjQCA4ZQBAFKNAIDjUAAAVo0AgILpPwCB6T8AgPE/AKMJPgCPASQA9owAgFqNAIBejQCApgk+AKUJPgBijQCAq2k+AKplPgBmjQCAao0AgK9dPgCuXT4ArWE+AKxpPgCeYTgAn3U4AJzBNACdtTkAmqU1AJt1NACYeTAAmXExAJYhLQCXhTEAlG0sAJVlLACSeSgAk6UtAJBRJACReSgAsQ0UALAFFACzARgAslUUALV5GAC0tRgAbo0AgHKNAIB2jQCAeo0AgH6NAICCjQCAotE8AKMlAQCgdTkAob08AKHJAACGjQCAowEEAKLlAAClHQQApPUEAKf5CACmAQgAqQEMAKhtCACrzQwAqs0MAK3REACsARAAr9URAK7ZEACCBSUAgy0lAIqNAICOjQCAhsEsAIcRLQCEHSkAhRUpAIopLQCLZSwAko0AgJaNAICOHTAAj8E0AIzZMACNHTEAkmE1AJPNNQCajQCAno0AgJZhOQCXmTgAlKE4AJV9OQCaYT0AmwU9AKKNAICmjQCAqo0AgK6NAICc6QAAso0AgLaNAIC6jQCAvo0AgMKNAICGjACAxo0AgMqNAIDOjQCAqJE+AKmRPgCq7T4Aq+E+AKzhPgCt6T4ArtE+AK/RPgCwUT4AsVE+ALJRPgCzUT4AtHk+ALV5PgC2bT4At2U+ALghPgC5IT4Aujk+ALs5PgC8KT4AvRU+AL4RPgC/DT4AgJkDAIGZAwCCBQAA0o0AgL5UAwDhsD0A2o0AgONAPgCEOAIA3o0AgOKNAIDv9D8A5o0AgOqNAICGmAQAhxwDALMFPQCECAQA7o0AgPKNAID2jQCAtgk9ALUJPQD6jQCAu/U9ALr1PQD+jQCAAo4AgL/dPQC+3T0AveU9ALzlPQAGjgCACo4AgKPNPQC+xAQApcE9AA6OAIASjgCApsE9ABaOAIAajgCAqz09AKo9PQCtLT0ArC09AK8VPQCuFT0AtmkCAB6OAIAijgCAtWkCACaOAICzSQIAKo4AgC6OAIC+qQMAv6kDALzBAwC9wQMAuvkDALv5AwAyjgCANo4AgKgtAwCpnQMAqpUDAKutAwCstQMArb0DAK61AwCv2QMAgA0AAIEVAACCHQAAOo4AgD6OAIBCjgCAh7QFAIacBAC4MQIAuTECALo1AgC7zQIAvNUCAL3dAgC+1QIAv8kCALBpAgCxaQIAskECALNBAgC0OQIAtTkCALYRAgC3EQIASo4AgOM0PgBOjgCA4aw+AFKOAIDvfAMAVo4AgFqOAIBejgCA45QDAGKOAIDhfD4AZo4AgO/oPgBqjgCAbo4AgHKOAIB2jgCAo1UDAHqOAICldQMAfo4AgIKOAICmdQMAho4AgIqOAICr5QIAquUCAK3dAgCs3QIAr7UCAK61AgCoGQYAqSEGAKohBgCrPQYArCUGAK1dBgCuVQYAr00GAEaOAICOjgCAko4AgJaOAICajgCAno4AgKKOAICmjgCAuOUGALmBBgC6gQYAu50GALyJBgC9iQYAvqEGAL+hBgCwPQYAsQ0GALIFBgCz7QYAtPUGALXhBgC24QYAt90GALOpBgCCLQAAgRUAAIAdAACqjgCAtt0GALWtBgCujgCAu8kGALr5BgCyjgCAhOADAL8lBgC+MQYAvTkGALzRBgC+iAMAo+0GANaNAIC2jgCAppkGALqOAIC+jgCApekGAKq9BgCrjQYAhkgAAIdsAACudQYAr2EGAKyVBgCtfQYAqIEGAKmNBgCqmQYAq5UGAKyNBgCttQYArrEGAK+tBgDCjgCAxo4AgMqOAIDOjgCA0o4AgNaOAIDajgCA3o4AgLilBgC5YQEAumEBALthAQC8YQEAvWEBAL5hAQC/YQEAsNkGALHZBgCyqQYAs6kGALS9BgC1oQYAtqEGALedBgCzEQYA4o4AgOaOAIDqjgCA7o4AgLY1BgC1BQYA8o4AgLsdBgC6HQYA9o4AgPqOAIC/ZQYAvnkGAL19BgC8fQYA/o4AgKNVBgACjwCABo8AgKZxBgAKjwCADo8AgKVBBgCqWQYAq1kGABKPAIAWjwCArj0GAK8hBgCsOQYArTkGAKjVAgCp3QIAqikDAKspAwCsOQMArTkDAK4pAwCvKQMAGo8AgB6PAIAijwCAKo8AgC6PAIAyjwCAvrgDADaPAIC47QMAuYUDALqBAwC7gQMAvIUDAL2NAwC+sQMAv7EDALBZAwCxWQMAsu0DALPlAwC0/QMAteUDALblAwC31QMAgKEAAIGhAACCoQAAvoAMADqPAICEmAIAPo8AgEKPAICGAAwAh/QDAEaPAIBKjwCATo8AgFKPAIBWjwCAhLADALPhAwBajwCAXo8AgGKPAIBmjwCAtvkDALXxAwBqjwCAu90DALrdAwBujwCAco8AgL9hAwC+eQMAvXEDALx5AwB2jwCAeo8AgH6PAICjLQIAgo8AgKU9AgCmNQIAho8AgIqPAICOjwCAqhECAKsRAgCstQIArb0CAK61AgCvrQIA48QDAOMQBwDhuAEA4WwHAIBxAACBcQAAggUAAJKPAICGwAwAh1QNAJqPAICejwCA77ADAO8ABwCijwCApo8AgKqPAICujwCAso8AgLaPAIC6jwCAvo8AgMKPAIDvpAEAhKANAOGABgDGjwCA4xABAMqPAIDOjwCA0o8AgNaPAICz9QEA2o8AgN6PAIDijwCA5o8AgLZNAQC1SQEA6o8AgLtRAQC6SQEA7o8AgPKPAIC/OQEAvjEBAL1BAQC8SQEAqC0OAKk1DgCqPQ4AqzEOAKyBDgCtjQ4AroUOAK+1DgCWjwCA9o8AgPqPAID+jwCAgBkAAIEZAACCBQAAApAAgLidDgC5rQ4AuqUOALtNDwC8VQ8AvV0PAL5JDwC/QQ8AsM0OALHVDgCy3Q4As9UOALS1DgC1vQ4AtrUOALetDgCjtQ4AvogDAAaQAIAKkACADpAAgKYNDgClCQ4AEpAAgKsRDgCqCQ4AhggAAIdsAwCveQ4ArnEOAK0BDgCsCQ4AFpAAgBqQAIAekACAs7UPACKQAIC1VQ8Atl0PACaPAIAmkACAKpAAgLp5DwC7eQ8AvGkPAL1dDwC+SQ8Av0kPAKhpDgCpaQ4AqnEOAKtxDgCskQ4ArZEOAK6RDgCvkQ4ALpAAgDKQAIA2kACAOpAAgD6QAIBCkACARpAAgEqQAIC4hQ4AuY0OALqFDgC7nQ4AvI0OAL29DgC+tQ4Av3kBALDxDgCx8Q4AsvEOALPFDgC0wQ4AtcEOALbBDgC3wQ4Ao/kOAE6QAIBSkACAVpAAgFqQAICmEQ4ApRkOAF6QAICrNQ4AqjUOAGKQAIBmkACArwUOAK4FDgCtEQ4ArCUOAIANAACBFQAAgh0AAGqQAIBukACAcpAAgISUAQC+lAEAhkAHAIf0AAB6kACAfpAAgIKQAICGkACAipAAgI6QAICojQIAqZUCAKqVAgCrzQIArNUCAK3dAgCuyQIAr/0CAJKQAICWkACAmpAAgJ6QAIC/ABQAopAAgKaQAICqkACAuH0DALnBAwC6wQMAu8EDALzBAwC9yQMAvvEDAL/xAwCwhQIAsUUDALJNAwCzRQMAtF0DALVFAwC2TQMAt0UDALMdAgCukACAspAAgLaQAIC6kACAtl0CALVdAgC+kACAu4EDALpBAgDCkACAxpAAgL+BAwC+mQMAvZEDALyZAwDKkACAo1kCAM6QAIDSkACAphkCANaQAIDakACApRkCAKoFAgCrxQMA3pAAgOKQAICu3QMAr8UDAKzdAwCt1QMA6pAAgOPMAACEBAIA4bwBAIDJAQCB/QEAgvUBAL4QBQDukACAvigEAPKQAID2kACA+pAAgO8QAAD+kACAApEAgIbgBACH9AIABpEAgAqRAIDj/A8ADpEAgOHgDwASkQCA7xQPABaRAIAakQCAHpEAgCKRAIAmkQCAKpEAgC6RAIAykQCANpEAgDqRAIA+kQCAQpEAgEaRAIBKkQCA7+ABAIUEEgDh3A4ATpEAgOMcDgCAKQAAgR0AAIIFAABSkQCAszECAFqRAICEzAUAXpEAgGKRAIC2KQIAtSECAGaRAIC7zQEAus0BAGqRAIBukQCAv3UBAL7JAQC9wQEAvMkBAKjpBQCp6QUAqvkFAKv5BQCs6QUArekFAK45BgCvOQYA5pAAgFaRAICGiAAAhwADAHKRAIB2kQCAepEAgH6RAIC40QYAudkGALrhBgC74QYAvJEGAL2dBgC+lQYAv4kGALBJBgCxSQYAsl0GALNVBgC0TQYAtfEGALbxBgC38QYAo3EFAIKRAICGkQCAipEAgI6RAICmaQUApWEFAJKRAICrjQYAqo0GAJaRAICakQCArzUGAK6JBgCtgQYArIkGAJ6RAICikQCAs+EHAKaRAIC14QcAqpEAgK6RAIC25QcAdpAAgLKRAIC7vQcAuqEHAL2VBwC8qQcAv5UHAL6VBwCoAQYAqSUGAKohBgCrIQYArCEGAK0tBgCuJQYAr1UGALaRAICCHQAAgR0AAIAdAAC6kQCAvpEAgMKRAIC+MAEAuDkGALk5BgC6yQYAu8kGALzZBgC92QYAvskGAL/JBgCwLQYAsTEGALI1BgCzCQYAtBkGALUZBgC2CQYAtwkGAKOpBgCEjAIAhigfAIdEAQDKkQCApq0GAKWpBgDOkQCAq/UGAKrpBgDSkQCA1pEAgK/dBgCu3QYArd0GAKzhBgDakQCAsxUGAN6RAIDikQCAtj0GAOaRAIDqkQCAtTUGALrZAQC72QEA7pEAgPKRAIC+fQEAv2UBALx9AQC9dQEAqMUFAKnJBQCq2QUAq9EFAKz5BQCt+QUArikCAK8pAgD2kQCA+pEAgP6RAIACkgCAjAAAAAaSAIAKkgCADpIAgLjtAgC5hQIAuo0CALuBAgC8hQIAvY0CAL69AgC/fQMAsFkCALFZAgCy7QIAs+UCALT9AgC15QIAtuUCALfVAgCjUQUAEpIAgBaSAIAakgCAHpIAgKZ5BQClcQUAIpIAgKudAgCqnQIAJpIAgCqSAICvIQIArjkCAK0xAgCsOQIAghEAAC6SAICAZQAAgQkAADKSAIC+mAMAOpIAgD6SAICEJAMAQpIAgIdoAwCGjBwARpIAgEqSAIBOkgCAUpIAgFaSAIBakgCAs6ECAITAHAC10QIAXpIAgGKSAIC21QIAZpIAgGqSAIC7wQIAuvUCAL0RAQC82QIAvxEBAL4ZAQBukgCAcpIAgHaSAIB6kgCAfpIAgIKSAICGkgCA77gGAIqSAIDhnAQAjpIAgON0BgCSkgCAlpIAgJqSAICekgCAgPkAAIH5AACCBQAAopIAgL5YHACEWB8A71wAAO9ABgDhkAEA4fwGAOM8AADjdAYAqpIAgK6SAICGmBwAh/QcAKNpAgC+DB8AspIAgLaSAIC6kgCAph0CAKUZAgC+kgCAqwkCAKo9AgDCkgCAxpIAgK/ZAQCu0QEArdkBAKwRAgCokR0AqZkdAKqhHQCroR0ArNEdAK3dHQCu1R0Ar8kdADaSAICmkgCAypIAgM6SAIDSkgCA1pIAgNqSAIDekgCAuHkeALl5HgC6zR4Au8UeALzdHgC9xR4AvsUeAL/1HgCwuR0AsY0dALKFHQCzTR4AtFUeALVdHgC2VR4At0keALjNHwC51R8Aut0fALvVHwC88R8Avf0fAL7pHwC/6R8AsKUfALGxHwCysR8As40fALSVHwC19R8Atv0fALf1HwCoGR4AqRkeAKotHgCrPR4ArCUeAK0tHgCuJR4Ar90fAOKSAIDmkgCA6pIAgO6SAIDykgCAxpEAgPaSAID6kgCAs+UfAP6SAIACkwCABpMAgAqTAIC27R8Ate0fAA6TAIC7NR4AuiEeABKTAIAWkwCAv3EeAL4RHgC9GR4AvCUeAIJpAACjoR8AgFkAAIFRAACmqR8AGpMAgB6TAIClqR8AqmUeAKtxHgCGAAQAh+wBAK5VHgCvNR4ArGEeAK1dHgCoMR4AqTEeAKpBHgCrQR4ArEEeAK1JHgCucR4Ar3EeACKTAIAmkwCAKpMAgC6TAIAykwCANpMAgDqTAIA+kwCAuCkBALkpAQC6OQEAuzUBALwtAQC90QAAvtEAAL/RAACwyQEAsckBALLZAQCz2QEAtMkBALXJAQC2GQEAtxkBALPJHQBCkwCARpMAgEqTAIBOkwCAtskdALXJHQBSkwCAuw0CALoNAgBWkwCAWpMAgL8NAgC+DQIAvQ0CALwNAgBekwCAo40dAGKTAIBmkwCApo0dAGqTAIBukwCApY0dAKpJAgCrSQIAcpMAgHaTAICuSQIAr0kCAKxJAgCtSQIAgA0AAIERAACCEQAAepMAgO/MAgB+kwCAgpMAgISQAgDjLAIAvigDAOHYAQCKkwCAhhAEAIfUAwCOkwCAkpMAgLNhAwCWkwCAmpMAgJ6TAICikwCAtnkDALVxAwCmkwCAu10DALpdAwCqkwCArpMAgL/hAAC++QAAvfEAALz5AACjoQIAspMAgLaTAIC6kwCAvpMAgKa5AgClsQIAwpMAgKudAgCqnQIAxpMAgMqTAICvIQEArjkBAK0xAQCsOQEAzpMAgNKTAIDvZB8A1pMAgNqTAIDekwCA4pMAgOaTAICADQAAgREAAIIVAADqkwCA4eAcAO6TAIDjiB8A8pMAgISAAgC+jAUAh0gFAIYsBAD6kwCA/pMAgO+kHgDv9B4A4QAeAOFQHwDjLB4A47AeAAKUAIAGlACACpQAgA6UAIASlACAFpQAgISEBACzcQEAGpQAgLUdAQC2FQEAHpQAgCKUAIAmlACAugEBALsBAQC89QAAvf0AAL71AAC/7QAAqK0GAKm9BgCqtQYAq8kGAKzZBgCt2QYArskGAK/BBgAqlACALpQAgDKUAIA2lACAOpQAgD6UAIBClACARpQAgLhtBwC5BQcAug0HALsBBwC8AQcAvQEHAL4BBwC/AQcAsIkGALGJBgCybQcAs2UHALR9BwC1ZQcAtmUHALdVBwCGkwCAozkGAEqUAID2kwCApl0GAE6UAIBSlACApVUGAKpJBgCrSQYAVpQAgFqUAICuvQcAr6UHAKy9BwCttQcAgG0AAIEJAACCGQAAXpQAgGKUAIC+nAMAZpQAgGqUAICGQAAAh2AAAG6UAIBylACAdpQAgHqUAIB+lACAgpQAgKiRBgCpkQYAqrkGAKu5BgCsqQYArakGAK7ZBgCv2QYAhpQAgIqUAICOlACAkpQAgJaUAICalACAnpQAgKKUAIC4cQEAuXEBALpxAQC7cQEAvNkBAL3BAQC+wQEAv/UBALCxBgCxuQYAsokGALOJBgC0UQEAtVEBALZRAQC3UQEAszEGAKaUAICqlACArpQAgLKUAIC2KQYAtSEGALaUAIC7fQYAunUGALqUAIC+lACAv5UBAL6VAQC9XQYAvF0GAMKUAICjdQYAxpQAgMqUAICmbQYAzpQAgNKUAIClZQYAqjEGAKs5BgCErAEAvqABAK7RAQCv0QEArBkGAK0ZBgCo3QIAqe0CAKrlAgCr/QIArOUCAK3tAgCu5QIArz0DANqUAIDelACA4pQAgL5kDADmlACA6pQAgO6UAIDylACAuMkDALnJAwC62QMAu9EDALz5AwC9+QMAvpkDAL+VAwCwRQMAsU0DALJFAwCzXQMAtEUDALVNAwC2RQMAt/kDAIFVAwCASQMAs2UCAIJVAwC1ZQIA9pQAgPqUAIC2ZQIAhgAMAIfkAwC7gQMAuokDAL2BAwC8mQMAv4EDAL6JAwCjLQIA/pQAgAKVAIAGlQCACpUAgKYtAgClLQIADpUAgKvJAwCqwQMAEpUAgBaVAICvyQMArsEDAK3JAwCs0QMA49gGAOGsBwDhnAYA45wGABqVAICEWA0AHpUAgCKVAIAmlQCAKpUAgC6VAIAylQCA7xwBADaVAIA6lQCA70AGAIB5AACBFQAAghEAAIQADAA+lQCA46wAAEKVAIDhpAEASpUAgO9wAACGyAwAh6QNAE6VAIBSlQCAVpUAgFqVAIC6yQUAu8kFALilBQC5zQUAvvkFAL/5BQC8zQUAvcUFALKlBQCzrQUAsBEGALERBgC2rQUAt50FALS1BQC1rQUAqmEGAKthBgConQYAqZUGAK5hBgCvYQYArHEGAK1xBgBelQCAYpUAgGaVAIBqlQCAbpUAgHKVAIC+sAwAdpUAgKghDgCpIQ4AqiEOAKs9DgCsJQ4ArS0OAK4lDgCviQ4ARpUAgHqVAIB+lQCAgpUAgIaVAICKlQCAjpUAgJKVAIC4UQ8AuV0PALpVDwC7bQ8AvHUPAL19DwC+dQ8Av2kPALD5DgCxoQ4AsqEOALOhDgC0oQ4AtakOALaRDgC3kQ4As6kOAJaVAIDWlACAmpUAgJ6VAIC2rQ4Ata0OAKKVAIC7ZQ4Auj0OAKaVAICqlQCAv20OAL5lDgC9dQ4AvHUOAIIZAACj7Q4AgGUAAIEZAACm6Q4ArpUAgLKVAICl6Q4AqnkOAKshDgC2lQCAupUAgK4hDgCvKQ4ArDEOAK0xDgCoYQ4AqXUOAKp9DgCrdQ4ArG0OAK31DgCu/Q4Ar/UOAIaAAQCHpAEAvpUAgMKVAIDGlQCAypUAgM6VAIDSlQCAuHUBALl9AQC6dQEAu8kBALzdAQC9xQEAvsUBAL/1AQCwjQ4AsZUOALKdDgCzkQ4AtFUBALVdAQC2VQEAt00BALP1DgDWlQCA2pUAgN6VAIDilQCAtnUOALXlDgDmlQCAu1EOALpJDgDqlQCA7pUAgL+ZAQC+kQEAvUUOALxJDgDylQCAo7EOAPaVAID6lQCApjEOAP6VAIAClgCApaEOAKoNDgCrFQ4ABpYAgAqWAICu1QEAr90BAKwNDgCtAQ4AqO0CAKktAwCqJQMAqz0DAKwlAwCtLQMAriUDAK+ZAwAOlgCAEpYAgBaWAIAalgCAHpYAgCKWAIC+dAIAKpYAgLiNAwC5kQMAupEDALulAwC8vQMAvXUAAL59AAC/dQAAsOkDALHpAwCy+QMAs/EDALTZAwC12QMAtrkDALe1AwCArQAAgbUAAIK9AACzoQMALpYAgLWhAwC2oQMAMpYAgITgAgA2lgCAuiEDALshAwC8IQMAvSkDAL4RAwC/EQMAo+0DAIXABACFtG8AOpYAgD6WAICm7QMApe0DAEKWAICrbQMAqm0DAIZIBQCHbAMAr10DAK5dAwCtZQMArG0DAEaWAIDjAA4A71hsAOG0DwBKlgCATpYAgFKWAIBWlgCAoakDAKD9DwCjwQMAog0DAOHgAwDv4A8A4+QDAFqWAIBelgCAYpYAgIQEBAC+BAQAZpYAgO+UAwBqlgCAbpYAgHKWAIDj1AMAdpYAgOFUAAB6lgCAfpYAgIKWAICGlgCAgA0AAIEVAACCHQAAipYAgI6WAICSlgCAj5EbAO+cDgCE4AcA4dQOAJqWAIDj8A4AnpYAgKKWAICGGAcAh5AEAJnlFwCY5RcAm+kLAJo5CwCd/QoAnPELAJ9VDwCeXQ8AkSkfAJDNGwCTJR8Aks0fAJXREwCUKRMAlxkXAJZ1EwCM4RAAjSUQAI4tEACP+QwAJpYAgJaWAICKORQAi5UUAITpGACFBRgAhuUYAIfxFACmlgCAqpYAgIIxHACDFRwAnKkEAK6WAICylgCAtpYAgLqWAIC+lgCAmtEEAJt9BACUTQ0AleUIAJblCACXtQgAwpYAgMaWAICSWQwAk1kMAKGRAADKlgCAowF8AKKZAACluXwApJF8AKeZeACm4X0AqYF5AKiheACriXQAqgF0AK0BcACsWXQAr4VwAK6dcACx4WwAsAFsALMBaACyHWwAtfVoALT1aADOlgCA0pYAgNaWAIDalgCA3pYAgOKWAIDmlgCA6pYAgO6WAIDylgCAqD0HAKmVBwCqlQcAq6kHAKzdBwCtxQcArsUHAK8dBgD2lgCAgh0AAIEdAACAHQAA+pYAgP6WAIAClwCAvmABALgZBgC5GQYAuikGALslBgC8IQYAvSEGAL4hBgC/IQYAsHEGALFxBgCycQYAs3EGALRNBgC1NQYAtj0GALctBgCzHQcACpcAgIYoAACHqAAADpcAgLZFBwC1VQcAEpcAgLu1BgC6tQYAFpcAgBqXAIC/8QYAvokGAL2lBgC8pQYAHpcAgKNZBwAilwCAJpcAgKYBBwAqlwCALpcAgKURBwCq8QYAq/EGADKXAIA2lwCArs0GAK+1BgCs4QYAreEGAKipBQCptQUAqr0FAKs9AgCsJQIArVECAK5RAgCvUQIAOpcAgD6XAIBClwCARpcAgIQ8AwBKlwCATpcAgFKXAIC4pQIAua0CALqlAgC7vQIAvKUCAL2tAgC+pQIAv30DALAxAgCxMQIAshkCALMZAgC09QIAta0CALalAgC3nQIAVpcAgFqXAIBelwCAszkFAGKXAIC1oQIAtt0CAGaXAIBqlwCAbpcAgLr5AgC7+QIAvMECAL3BAgC+PQIAv2UCAHKXAICmgQIApf0CAHqXAICjZQUAvlh8AIbYfACHnHwArzkCAK5hAgCtnQIArJ0CAKulAgCqpQIAfpcAgIKXAICohQIAqZUCAKqVAgCrpQIArL0CAK3VAgCu0QIAr9ECAIGFAQCAhQEAhpcAgILtAQCKlwCAjpcAgJKXAICWlwCAuHUBALl9AQC6dQEAu80BALzVAQC93QEAvskBAL/BAQCwtQIAsb0CALKBAgCzgQIAtFEBALVRAQC2UQEAt1EBAJqXAICelwCAopcAgKaXAIDhMAYA4WQHAOMoBgDjxAYAhCB9AKqXAIDvbAAA7xgGAK6XAICylwCAtpcAgLqXAICzXQIAvkh8AL6XAIDClwCAxpcAgLYVAgC1dQIAypcAgLs5AgC6MQIAzpcAgNKXAIC/1QEAvtUBAL0VAgC8FQIAo519AHaXAIDWlwCA2pcAgN6XAICm1X0ApbV9AOKXAICr+X0AqvF9AOaXAIDqlwCArxV+AK4VfgCt1X0ArNV9AIBNAACBVQAAglUAALOxfgDulwCAtWV/ALZtfwDylwCAhkADAIcEAwC66X8Au+l/ALz5fwC9+X8Avt1/AL/NfwD2lwCA+pcAgAaXAID+lwCAApgAgAaYAIAKmACADpgAgKhtfgCpXX4AqlV+AKuFfwCsgX8ArYF/AK6BfwCvgX8AsEF/ALFBfwCyQX8As0F/ALR1fwC1ZX8Atm1/ALdlfwC4XX8AuS1/ALolfwC7PX8AvC1/AL0dfwC+FX8Av/UAAKP9fwASmACAFpgAgBqYAIAemACApiF+AKUpfgAimACAq6V+AKqlfgAmmACAKpgAgK+BfgCukX4ArbV+AKy1fgAumACAMpgAgDaYAIA6mACAPpgAgEKYAIBGmACASpgAgIA9AACBCQAAghkAAE6YAIBSmACAhLgBAL6wAQBWmACAqK0BAKnVAQCq1QEAqw0BAKwVAQCtGQEArgkBAK8JAQCGAAQAhwQBAFqYAIBemACAYpgAgGaYAIBqmACAbpgAgLjtAAC5hQAAuo0AALuFAAC8nQAAvYUAAL6NAAC/hQAAsHkBALF5AQCy7QAAs+UAALT9AAC15QAAtuUAALfVAACzXQIAcpgAgHaYAIB6mACAfpgAgLaZAgC1nQIAgpgAgLu9AgC6vQIAhpgAgIqYAIC/IQMAvjkDAL0xAwC8OQMAvigDAKMZAgCOmACAkpgAgKbdAgCWmACAmpgAgKXZAgCq+QIAq/kCAJ6YAICimACArn0DAK9lAwCsfQMArXUDAL7IBACmmACAqpgAgL7EBQCumACAspgAgLaYAIC6mACAgD0AAIEJAACCGQAAvpgAgMKYAICEOAMAypgAgM6YAIDveAIA0pgAgIZIBACHVAMA1pgAgNqYAIDemACA4pgAgOaYAIDqmACA7pgAgPKYAIDjVAIA9pgAgOFAAQD6mACA/pgAgOMkfwACmQCA4Zx8AAaZAIAKmQCADpkAgBKZAICEbAUAFpkAgBqZAIAemQCAIpkAgO8YfwAmmQCAKpkAgLPxAgAumQCAMpkAgDqZAIA+mQCAtukCALXhAgBCmQCAu3EBALppAQCHoAUAhswEAL85AQC+WQEAvVEBALxhAQDhQH8ARpkAgOM4fgCEwAQAgtkAAO8UAACApQAAgdkAAEqZAIDjwAAATpkAgOHUAQBSmQCAVpkAgO+EfgBamQCAqs0BAKvVAQBemQCAYpkAgK79AQCvnQEArMUBAK31AQBmmQCAo1UCAGqZAIBumQCApk0CAHKZAIB2mQCApUUCAMaYAIA2mQCAepkAgH6ZAICCmQCAhpkAgIqZAICOmQCAqJkGAKmZBgCq7QYAq/0GAKzlBgCt7QYAruUGAK/dBgCwpQYAsa0GALKlBgCzuQYAtK0GALVVBwC2UQcAt00HALh1BwC5fQcAunUHALtJBwC8WQcAvVkHAL5JBwC/RQcAs0UGAJKZAICWmQCAmpkAgJ6ZAIC2TQYAtU0GAKKZAIC7SQYAukEGAIYIAACHjAAAv7EHAL5JBgC9TQYAvFEGAIJdAACjAQYAgEUAAIFdAACmCQYAqpkAgK6ZAIClCQYAqgUGAKsNBgCymQCAtpkAgK4NBgCv9QcArBUGAK0JBgCoTQYAqVUGAKpVBgCriQYArLEGAK29BgCuqQYAr6kGAKaZAIC6mQCAvpkAgMKZAIDGmQCAypkAgM6ZAIDSmQCAuEkBALlJAQC6WQEAu1kBALxJAQC9SQEAvt0BAL/VAQCw3QYAsa0GALKlBgCzjQYAtJkGALWZBgC2jQYAt4UGALPdBgDWmQCA2pkAgN6ZAIDimQCAtj0GALU5BgDmmQCAu2kGALoZBgDqmQCA7pkAgL9dBgC+XQYAvVkGALxxBgDymQCAo5kGAPaZAID6mQCApnkGAP6ZAIACmgCApX0GAKpdBgCrLQYABpoAgAqaAICuGQYArxkGAKw1BgCtHQYAqNUCAKndAgCq4QIAq+ECAKw1AwCtPQMArjUDAK8tAwCAzQMAgQkAAIIZAAAOmgCAEpoAgIQYAgC+dAMAGpoAgLjpAwC56QMAuokDALuFAwC8nQMAvYEDAL6BAwC/tQMAsFUDALFdAwCyVQMAs+kDALT5AwC1+QMAtukDALfhAwCGIAwAhxADAB6aAIAimgCAJpoAgCqaAIAumgCA71wCADKaAIDhFAAANpoAgOOIAgC++AwAOpoAgD6aAIBCmgCAu/kDALrxAwC+gA0ARpoAgL9dAwC+XQMAvV0DALzhAwCzCQIASpoAgE6aAIBSmgCAVpoAgLbdAwC13QMAWpoAgKipBgCpqQYAqrkGAKu5BgCsqQYArakGAK4dBQCvFQUAXpoAgGKaAIBmmgCAapoAgG6aAIBymgCAdpoAgHqaAIC4GQUAuS0FALolBQC7yQUAvNkFAL3FBQC+zQUAv8UFALBtBQCxdQUAsnUFALNFBQC0XQUAtT0FALY1BQC3KQUA4fQGAOFUBwDjFAYA47wGAIEJAACAqQAAfpoAgII5AACE7A0AgpoAgIeIDACGDAwAipoAgI6aAIDvzAcA78QHAKMpAwCSmgCAlpoAgJqaAICemgCApv0CAKX9AgCimgCAq9kCAKrRAgCmmgCAqpoAgK99AgCufQIArX0CAKzBAgCoPQ4AqY0OAKqFDgCrnQ4ArIUOAK2NDgCuuQ4Ar7UOAIaaAICumgCAspoAgLaaAIC6mgCAvpoAgMKaAIDGmgCAuL0OALllDwC6bQ8Au2UPALx9DwC9ZQ8Avm0PAL9lDwCw1Q4Asd0OALLVDgCzoQ4AtJUOALWdDgC2lQ4At40OALMNDgDKmgCAzpoAgNKaAIDWmgCAtg0OALUNDgDamgCAuxkOALoRDgDemgCAFpoAgL9ZDgC+UQ4AvXUOALwBDgDimgCAo0kOAOaaAIDqmgCApkkOAO6aAIDymgCApUkOAKpVDgCrXQ4AhKQDAPaaAICuFQ4Arx0OAKxFDgCtMQ4AqLEOAKmxDgCqzQ4Aq8UOAKzdDgCtxQ4ArsUOAK/1DgCA7QEAgfEBAILxAQD6mgCAhpABAIe0AQD+mgCAApsAgLjFAQC5zQEAusUBALvdAQC8zQEAvf0BAL6ZAQC/lQEAsI0OALFBAQCyQQEAs0EBALRBAQC1QQEAtkEBALdBAQCzRQ4ABpsAgAqbAIAOmwCAEpsAgLZFDgC1VQ4AFpsAgLuFAQC6SQ4AGpsAgB6bAIC/hQEAvoUBAL2VAQC8lQEAIpsAgKMBDgAmmwCAKpsAgKYBDgAumwCAMpsAgKURDgCqDQ4Aq8EBADabAIA6mwCArsEBAK/BAQCs0QEArdEBAKgtAwCpPQMAqjUDAKuJAwCsmQMArZkDAK6JAwCvgQMAPpsAgEKbAIBGmwCASpsAgE6bAIBSmwCAVpsAgFqbAIC4rQMAuWUAALptAAC7ZQAAvH0AAL1lAAC+bQAAv2UAALDJAwCxyQMAsqkDALOlAwC0vQMAtaEDALahAwC3lQMAgL0AAIEJAACCGQAAXpsAgGKbAIC+2AMAapsAgG6bAICErAIAcpsAgIfoAwCGDAQAdpsAgHqbAIB+mwCAgpsAgLP9AwCGmwCAipsAgI6bAICSmwCAtlkDALVRAwCWmwCAu00DALpNAwCamwCAnpsAgL8lAwC+OQMAvTEDALw9AwCimwCAppsAgKqbAICumwCA71gPALKbAIC2mwCAupsAgOOQDgC+mwCA4bAPAMKbAIDGmwCAypsAgM6bAIDSmwCAgHUAAIF9AACCdQAAhBgFAO88AwDamwCAvhQFAN6bAIDj0AMA4psAgOFAAADmmwCAhtAEAIdYBQDqmwCA7psAgPKbAID2mwCA+psAgP6bAIACnACABpwAgAqcAIDvrA8AhOwEAOEQDgAOnACA41QBABKcAIAWnACAGpwAgB6cAICj/QIAIpwAgCacAIAqnACALpwAgKZZAgClUQIAMpwAgKtNAgCqTQIANpwAgDqcAICvJQIArjkCAK0xAgCsPQIAqJkGAKmZBgCqrQYAq70GAKylBgCtrQYArqUGAK/ZBgDWmwCAghEAAIEZAACAwQcAPpwAgEKcAIC+cAMARpwAgLhJBwC5SQcAul0HALtVBwC8TQcAvXEHAL51BwC/bQcAsKkGALGpBgCyuQYAs7EGALSZBgC1mQYAtnkHALd5BwC1NQYASpwAgE6cAIC2NQYAhjAAAIdcAwCzPQYAUpwAgL19BgC8dQYAv0UGAL5FBgBmmwCAVpwAgLt1BgC6dQYAo2UGAFqcAIBenACAYpwAgGacAICmbQYApW0GAGqcAICrLQYAqi0GAG6cAIBynACArx0GAK4dBgCtJQYArC0GAKhVBgCpWQYAqm0GAKthBgCsaQYArWkGAK6ZBgCvmQYAdpwAgHqcAIB+nACAgpwAgIacAICKnACAjpwAgJKcAIC4+QYAufkGALqNBgC7hQYAvJ0GAL2FBgC+hQYAv7UGALDpBgCx6QYAsvkGALP5BgC06QYAtd0GALbJBgC3yQYAs+UGAJacAICanACAnpwAgKKcAIC26QYAteEGAKacAIC7LQYAui0GAKqcAICunACAvxkGAL4tBgC9LQYAvC0GAIIVAACjoQYAgGEAAIFhAACmrQYAspwAgL6QAQClpQYAqmkGAKtpBgCEpAEAupwAgK5pBgCvXQYArGkGAK1pBgCohQIAqY0CAKqVAgCruQIArNUCAK3dAgCu1QIAr80CAIaAHACHZAMAvpwAgL5gAwDCnACAxpwAgMqcAIDOnACAuHUDALl9AwC6dQMAu8kDALzZAwC92QMAvskDAL/BAwCwvQIAsY0CALKFAgCzTQMAtFUDALVdAwC2VQMAt00DALMdAgDSnACAhAgDANacAIDanACAtl0CALVdAgDenACAu0kCALp5AgDinACA5pwAgL+ZAwC+kQMAvZkDALxRAgCwAAAAo1kCAOqcAIDunACAphkCAPKcAID2nACApRkCAKo9AgCrDQIA+pwAgP6cAICu1QMAr90DAKwVAgCt3QMAAp0AgAadAIAKnQCA76wGAA6dAIASnQCAFp0AgBqdAIC+6BwAHp0AgCKdAIAqnQCALp0AgOGABwAynQCA42AGAIBdAACBYQAAgmEAALN9AQA2nQCAtW0BALZlAQA6nQCAhiAdAIdYHQC6+QEAu/EBALzZAQC92QEAvrEBAL+xAQDvoAAAPp0AgEKdAIBGnQCASp0AgE6dAIBSnQCA71wBAIRsHADhzAYAVp0AgOMcBgDjSAAAWp0AgOEwAQBenQCAo/EBAGKdAICFABQAZp0AgGqdAICm6QEApeEBAG6dAICrfQEAqnUBAHKdAIB2nQCArz0BAK49AQCtVQEArFUBAKjtHQCpLR4AqjkeAKs5HgCsKR4ArSkeAK6dHgCvkR4AJp0AgHqdAIB+nQCAgp0AgIadAICC+QAAgfEAAID9AAC4qR4AuakeALpJHwC7SR8AvFkfAL1FHwC+TR8Av0UfALDxHgCx+R4AssEeALPBHgC0uR4AtbkeALatHgC3pR4AsBEfALERHwCyER8AsyUfALQlHwC1KR8Atl0fALdRHwC4cR8AuXkfALpBHwC7QR8AvJUAAL2dAAC+lQAAv40AAIqdAIC2nACAjp0AgJKdAICWnQCAmp0AgIb4AwCH0AAAqM0fAKnVHwCq0R8Aq70fAKytHwCtcR8ArnEfAK9xHwCzOR4Anp0AgKKdAICmnQCAqp0AgLaRHgC1RR4Arp0AgLu1HgC6tR4Asp0AgLadAIC/jR4AvoEeAL2RHgC8pR4Aup0AgKN9HgC+nQCAwp0AgKbVHgDGnQCAyp0AgKUBHgCq8R4Aq/EeAM6dAIDSnQCArsUeAK/JHgCs4R4A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gqIAgIaiAICKogCAjqIAgO9EBgCSogCA4dQGAJaiAIDjDAcAmqIAgJ6iAICiogCApqIAgLP1AQCqogCArqIAgLKiAIC2ogCAtkUBALXlAQC6ogCAuzEBALopAQC+ogCAwqIAgL8dAQC+HQEAvRkBALwlAQCoLT4AqTU+AKo9PgCrNT4ArC0+AK2FPgCuhT4Ar7k+AGaiAIDGogCAyqIAgM6iAICAGQAAgRkAAIIFAADSogCAuLk+ALm5PgC6ST8Au0k/ALxZPwC9WT8Avk0/AL9BPwCwrT4AsbU+ALKxPgCzjT4AtJk+ALWZPgC2iT4At4k+AKO1PgCEjAIA1qIAgNqiAIDeogCApgU+AKWlPgDiogCAq3E+AKppPgCGCAAAh2gDAK9dPgCuXT4ArVk+AKxlPgDmogCAs5E/AOqiAIDuogCAtlk/APKiAID2ogCAtbk/ALp1PwC7fT8A+qIAgP6iAIC+QT8Av0E/ALxZPwC9VT8AsJU+ALGdPgCyqT4As6U+ALShPgC1oT4AtqE+ALehPgC45T4Aue0+ALrlPgC7/T4AvO0+AL3dPgC+1T4AvxkBAAKjAIAGowCACqMAgA6jAIASowCA9qEAgBajAIAaowCAqF0+AKkhPgCqPT4AqzU+AKwVPgCt/T4ArvU+AK/tPgCj1T4AHqMAgCKjAIAmowCAKqMAgKYdPgCl/T4ALqMAgKs5PgCqMT4AMqMAgDajAICvBT4ArgU+AK0RPgCsHT4AgREAAIANAAA6owCAghkAAD6jAIBCowCAhJQBAL4QAACGQAcAhwABAEqjAIBOowCAUqMAgFajAIBaowCAXqMAgKiNAgCplQIAqpUCAKvNAgCs2QIArdkCAK7NAgCvxQIAYqMAgGajAIBqowCAbqMAgIwAAAByowCAdqMAgHqjAIC4HQMAucEDALrBAwC7wQMAvMEDAL3JAwC+8QMAv/EDALCJAgCxiQIAsikDALMpAwC0OQMAtTkDALYpAwC3JQMAsx0CAH6jAICCowCAhqMAgIqjAIC2WQIAtVECAI6jAIC7TQIAuk0CAJKjAICWowCAv/0DAL79AwC9/QMAvP0DAJqjAICeowCAoqMAgKajAIDhDD4AqqMAgOOoPwCuowCAgT0AAIAxAADvUD8Agh0AALKjAIC++AQAhhgFAIdMAwCEDAIA48wAALqjAIDhvAEA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tUkCACKmAIC7hQIAuoUCACamAIAqpgCAv4UCAL6FAgC9lQIAvJUCAIU8GgCjVQIALqYAgDKmAICmDQIANqYAgDqmAIClDQIAqsECAKvBAgA+pgCAQqYAgK7BAgCvwQIArNECAK3RAgCCGQAARqYAgIAZAACBGQAASqYAgE6mAIBSpgCAWqYAgL4ABABepgCAYqYAgGamAIBqpgCAbqYAgHKmAIB2pgCA7+gOAHqmAICG6AQAh1ADAH6mAICCpgCA74ACAIamAIDhlAEAiqYAgONYAQCOpgCA4wAOAJKmAIDhaA0AlqYAgKhxAgCpcQIAqnECAKupAgCsuQIArbkCAK6pAgCvqQIAhKwFAJqmAICepgCAoqYAgKamAICqpgCArqYAgLKmAIC4bQEAuQ0BALoFAQC7GQEAvAkBAL09AQC+NQEAv9kBALDZAgCx2QIAsm0BALNlAQC0fQEAtWUBALZlAQC3VQEA4WAPAOP0AADjHA4A4bwBALamAICCOQAAgTEAAIA9AAC6pgCAvigEAL6mAIDCpgCAvjwHAO8QAADv0A4AyqYAgIbgBACHyAQAzqYAgLO1AgDSpgCAtX0CALZ1AgDWpgCA2qYAgN6mAIC6UQIAu1ECALz1AQC9/QEAvvUBAL/tAQBWpgCAxqYAgKqxBQCrsQUArBUGAK0dBgCuFQYArw0GAOKmAIDmpgCA6qYAgKNVBQDupgCApZ0FAKaVBQDypgCAs+kGAPamAID6pgCA/qYAgAKnAIC24QYAtekGAAanAIC7sQYAuqEGAAqnAIAOpwCAv50GAL6RBgC9pQYAvKkGAKgdBgCpIQYAqiEGAKshBgCsIQYArSEGAK4hBgCvIQYAEqcAgBanAIAapwCAHqcAgCKnAIAmpwCAKqcAgC6nAIC45QcAue0HALrlBwC7/QcAvOUHAL3tBwC+5QcAv00HALAlBgCxNQYAsj0GALMxBgC0FQYAtRkGALYNBgC3AQYAo6kHAIIVAACBtQEAgLUBADKnAICmoQcApakHADanAICr8QcAquEHAISgAgA6pwCAr90HAK7RBwCt5QcArOkHAD6nAICzlQYAhugAAIcYAQC2tQYAQqcAgEanAIC1vQYAukkBALtVAQBKpwCATqcAgL45AQC/OQEAvEUBAL05AQCoPQYAqU0GAKpZBgCrUQYArHEGAK1xBgCuuQEAr7kBAISsAQBSpwCAVqcAgFqnAIBepwCAYqcAgGanAIBqpwCAuKkBALmpAQC6aQEAu2kBALx5AQC9eQEAvmkBAL9pAQCwyQEAsdUBALLVAQCzqQEAtLkBALW5AQC2qQEAt6EBAKPRBQBupwCAcqcAgHanAIB6pwCApvEFAKX5BQB+pwCAqxECAKoNAgCCpwCAhqcAgK99AgCufQIArX0CAKwBAgCKpwCAjqcAgJKnAICWpwCAgTEAAIANAACapwCAgjkAAJ6nAICipwCAviQDAKqnAICupwCAsqcAgIbYHACHTAMAtqcAgLqnAIC+pwCAhMAcAOMgAQDCpwCA4cgBAManAIDvMAIAyqcAgM6nAIDSpwCA1qcAgNqnAIDepwCA4qcAgLOVAwDmpwCA6qcAgO6nAIDypwCAtrkDALWxAwD2pwCAu1EDALpJAwD6pwCA/qcAgL/1AAC+SQMAvUEDALxJAwCoLQIAqUUCAKpdAgCrVQIArHkCAK15AgCuvQIAr7UCAL5oHQACqACABqgAgAqoAICAHQAAgQkAAIKpAAAOqACAuFEBALlZAQC6YQEAu2EBALwRAQC9EQEAvhEBAL8RAQCwzQIAsdUCALLdAgCz1QIAtM0CALVxAQC2cQEAt3EBAOFYBgDhVAcA47AAAOO8BgASqACAGqgAgIYYHACHVB0AHqgAgCKoAIAmqACAKqgAgL74HAAuqACA7/AGAO/gBgCjlQIAMqgAgDaoAIA6qACAPqgAgKa5AgClsQIAQqgAgKtRAgCqSQIARqgAgEqoAICv9QEArkkCAK1BAgCsSQIAqG0eAKl1HgCqfR4Aq40eAKyVHgCtnR4Aro0eAK+BHgAWqACATqgAgFKoAIBWqACAWqgAgF6oAIBiqACAZqgAgLiJHgC5iR4AupkeALuRHgC8uR4AvbkeAL59HwC/dR8AsMUeALHNHgCyxR4As90eALTFHgC1zR4AtsUeALe5HgCz9R4AaqgAgG6oAIByqACAdqgAgLYdHgC1HR4AeqgAgLsJHgC6AR4AfqgAgIKoAIC/CR4AvgEeAL0JHgC8ER4Agm0AAKOxHgCAVQAAgWUAAKZZHgCEmAMAv9ABAKVZHgCqRR4Aq00eAIYABACHmAEArkUeAK9NHgCsVR4ArU0eAIqoAICOqACAhCQAAJKoAICWqACAmqgAgKanAICGqACA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5qsAgIR0BwDqqwCA72gBAO6rAIDyqwCApXkCAKbNAQD2qwCAgCEAAIEhAACC3QcAo2kCAKzJAQCtyQEArqEBAK+hAQD6qwCA/qsAgKrpAQCr4QEAlqsAgAKsAIC+QAIABqwAgIYwAwCHMAMACqwAgA6sAICoOQcAqTkHAKoNBwCrHQcArAUHAK0NBwCuBQcAr3kHALAJBwCxCQcAshkHALMRBwC0OQcAtTkHALbdBwC3yQcAuPkHALn5BwC6zQcAu8EHALzFBwC9yQcAvrkHAL+xBwCzpQcAEqwAgBasAIAarACAHqwAgLatBwC1rQcAIqwAgLvtBwC67QcAJqwAgCqsAIC/3QcAvt0HAL3lBwC87QcALqwAgKPhBwAyrACANqwAgKbpBwA6rACAPqwAgKXpBwCqqQcAq6kHAEKsAIBGrACArpkHAK+ZBwCsqQcAraEHAEqsAIBOrACAUqwAgFasAIBarACAXqwAgGKsAIBmrACAgREAAIANAABqrACAghkAAG6sAIByrACAvuQBAHasAICG4AAAhxgBAHqsAIB+rACAgqwAgIasAICKrACA77AEAI6sAIDh1AYAkqwAgONcBACWrACAmqwAgJ6sAICirACAqJkBAKmZAQCqDQEAqwUBAKwdAQCtBQEArgUBAK81AQCEiAEApqwAgKqsAICurACAsqwAgLasAIC6rACAvqwAgLjBAAC5wQAAusEAALvBAAC8wQAAvcEAAL7BAAC/wQAAsE0BALElAQCyIQEAsyEBALQlAQC1LQEAthEBALcRAQDCrACAxqwAgLONAgDKrACAtZ0CAM6sAIDSrACAto0CANasAIDarACAu+kCALqBAgC9/QIAvP0CAL/hAgC+6QIA3qwAgKbVAgClxQIAvggDAKPVAgCCLQAAgRkAAIB5AACvuQIArrECAK2lAgCspQIAq7ECAKrZAgDirACA6qwAgO80AgDurACAhxgDAIYs/ADyrACA9qwAgPqsAID+rACAAq0AgAatAIAKrQCADq0AgOMAAQASrQCA4eABABatAIC6tQMAu70DABqtAIAerQCAvnkDAL95AwC8pQMAvXkDACarAICztQMAIq0AgCatAIC2kQMAKq0AgC6tAIC1pQMAqEkCAKlJAgCqWQIAq1kCAKxJAgCtdQIArnECAK9tAgC+aP0AvqT/ADKtAIA2rQCA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s1kGAA2yAIARsgCAFbIAgBmyAIC2ZQYAtXUGAB2yAIC7KQYAuiEGACGyAIAlsgCAvxUGAL4VBgC9JQYAvC0GAKOZBgCPmfwAKbIAgDGyAIA1sgCApqUGAKW1BgA5sgCAq+kGAKrhBgCGKB8Ah5wAAK/VBgCu1QYAreUGAKztBgCebQkAn30HAJwNCwCd7QkAmvENAJs5DQCY5fAAmQ0PAJbh8QCX6fEAlMX1AJUN8wCSHfcAk/H1AJD9+QCR7fkAgh3/AIMB+gA9sgCAQbIAgIYV9gCHOfYAhAn6AIXx9ACKwfAAiyXyAEWyAIBJsgCAjuEMAI8VDgCMNfIAjQHzAJKtDgCTgQgATbIAgFGyAICW6QQAl3UGAJR5CgCV8QoAmtEGAJvJAABVsgCAWbIAgIEdAwCAHQMAnFkCAIL1AwCrARAAqpUWAKmNFgCojRYAr5UuAK4BLACt/RIArJkSAKOlHgCipR4AoY0CAN2wAICnGRoAppUaAKUBGACknR8AXbIAgGGyAIBlsgCAabIAgG2yAIBxsgCAdbIAgHmyAICz5SoAsuUqALGtLwCw5S4AfbIAgIGyAIC1ASQAtBEqAKgpAwCpNQMAqj0DAKs1AwCsLQMArbUDAK69AwCvtQMAhbIAgImyAICNsgCAkbIAgIAdAACBCQAAgrkAAJWyAIC4TQIAuV0CALptAgC7CQIAvBkCAL0ZAgC+CQIAvwECALDNAwCx1QMAst0DALPVAwC0zQMAtXUCALZ9AgC3dQIAmbIAgITIHQChsgCAvgwfAKWyAICpsgCA70gGAO9YBwDhWAYA4ZgGAOOUAQDjAAYAhhAcAId8HQC+9B4ArbIAgLGyAIC2ZQMAtfUDALWyAICz5QMAubIAgL2yAIDBsgCAv+ECAL5ZAwC9UQMAvFkDALtBAwC6WQMAxbIAgMmyAIAtsgCAnbIAgM2yAIDRsgCA1bIAgNmyAIDdsgCA4bIAgKitHQCptR0AqrUdAKslHgCsPR4ArR0eAK4VHgCvdR4AsA0eALEtHgCyJR4As40eALSVHgC1nR4AtpUeALeNHgC4tR4Aub0eALq1HgC7nR4AvIUeAL1VHwC+XR8Av1UfALMdHQDlsgCA6bIAgO2yAIDxsgCAtr0eALWVHgD1sgCAu8keALrpHgD5sgCA/bIAgL95HgC+cR4AvXkeALzRHgCCKQAA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vPkBAL35AQC+mQEAv5UBALAFAQCxDQEAsgUBALMdAQC0BQEAtQ0BALYFAQC3+QEA4WQPAOGcDwDjFA4A49QPAJ22AIDhPA4AobYAgOPkAAC+rAQApbYAgKm2AIDvDAAArbYAgLG2AIDvYA4A77QPALW2AIC5tgCAhEQEALNhAgC9tgCAtWECALZhAgDBtgCAxbYAgMm2AIC6jQEAu4UBALydAQC9hQEAvo0BAL+FAQCjrQUAjbYAgM22AIDRtgCA1bYAgKatBQClrQUA2bYAgKtJBgCqQQYA3bYAgOG2AICvSQYArkEGAK1JBgCsUQYA5bYAgOm2AIDttgCA8bYAgIAdAACBCQAAgjkAAPW2AID5tgCA/bYAgIbIAACHIAMAAbcAgAW3AIAJtwCADbcAgKhtBgCptQcAqr0HAKsdBwCsCQcArTEHAK4xBwCvLQcAhKgDABG3AIAVtwCAGbcAgB23AIAhtwCAJbcAgCm3AIC4zQAAudUAALrVAAC75QAAvP0AAL2VAAC+nQAAv5UAALBVBwCxJQcAsi0HALM9BwC0LQcAtRUHALYdBwC39QAALbcAgOG8BgAxtwCA4/QFADW3AIA5twCAPbcAgEG3AIBFtwCASbcAgE23AIBRtwCAVbcAgFm3AIBdtwCA7+gEALN1BgCCLQAAgRUAAIAdAABhtwCAtvEGALXBBgBltwCAu6EGALrRBgBptwCAvmwBAL+RBgC+qQYAvakGALy5BgCjtQYAcbcAgIYoAACHTAEAdbcAgKYxBgClAQYAebcAgKthBgCqEQYAfbcAgIG3AICvUQYArmkGAK1pBgCseQYAhbcAgLO9AQCJtwCAjbcAgLZ5AQCRtwCAlbcAgLV5AQC6VQEAu10BAJm3AICdtwCAvvkAAL/lAAC8RQEAvf0AAKhxAgCpcQIAqnECAKtxAgCstQIArb0CAK61AgCvrQIAhOw8AKG3AICltwCAqbcAgK23AICxtwCAtbcAgLm3AIC4XQMAuWUDALptAwC7ZQMAvH0DAL1lAwC+bQMAv2UDALDVAgCx3QIAstUCALNtAwC0eQMAtWUDALZtAwC3ZQMAHbYAgL23AIDBtwCAo/UCAMW3AIClMQIApjECAMm3AIDNtwCA0bcAgKodAgCrFQIArA0CAK21AwCusQMAr60DAIBlAACBCQAAghkAANW3AIDZtwCA4bcAgL4QPADltwCAhsA8AIcgAwDptwCA7bcAgPG3AID1twCA+bcAgP23AICohQIAqZUCAKqVAgCrpQIArL0CAK3VAgCu0QIAr9ECAAG4AIAFuACACbgAgA24AIARuACAFbgAgBm4AIAduACAuHUBALl9AQC6dQEAu8kBALzZAQC9xQEAvsUBAL/9AQCwtQIAsb0CALKBAgCzgQIAtFUBALVdAQC2VQEAt00BAOGkBgAhuACA41AGAL6APACEHDwAvoA/ACW4AIApuACALbgAgDG4AIA1uACAObgAgD24AIBBuACA7+AGAEW4AICBfQAAgHEAAEm4AICCBQAAUbgAgFW4AIDvTAAAWbgAgOGQAQBduACA41gBAGG4AIBluACAabgAgIZYPwCH/DwAs509AN23AIBNuACAbbgAgHG4AIC21T0AtbU9AHW4AIC7+T0AuvE9AHm4AIB9uACAvxk+AL4RPgC91T0AvNU9AIG4AICj2T0AhbgAgIm4AICmkT0AjbgAgJG4AICl8T0AqrU9AKu9PQCVuACAmbgAgK5VPgCvXT4ArJE9AK2RPQCoVT4AqVk+AKphPgCrYT4ArGE+AK1hPgCuYT4Ar2E+AISoAwCduACAobgAgKW4AICpuACArbgAgLG4AIC1uACAuEU/ALldPwC6VT8Au20/ALx1PwC9fT8AvnU/AL9tPwCwwT8AscE/ALLBPwCzwT8AtME/ALXBPwC2wT8At8E/AIC5AQCBuQEAggUAALm4AIDhgD4AwbgAgOMoPQDFuACAhoAAAIcEAQDvCD0AybgAgM24AIDRuACA1bgAgNm4AICzqT8AvbgAgN24AIDhuACA5bgAgLahPwC1qT8A6bgAgLtFPgC6RT4A7bgAgPG4AIC/RT4AvkU+AL1VPgC8VT4Ao2k/APW4AID5uACA/bgAgAG5AICmYT8ApWk/AAW5AICrhT4AqoU+AAm5AIANuQCAr4U+AK6FPgCtlT4ArJU+ABG5AICzGT4AFbkAgBm5AIC2IT4AHbkAgCG5AIC1MT4AuvEBALv5AQAluQCAKbkAgL6xAQC/vQEAvNEBAL3RAQCo0T0AqdE9AKrVPQCr6T0ArP09AK3lPQCu7T0ArxECAID5AwCBzQMAgsUDAIQkAwC+AAQAMbkAgIesAwCGvAQAuBkCALktAgC6JQIAu+kCALz5AgC9+QIA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eLsAgOE0AgB8uwCA4zQBAIC7AIDjCAwAhLsAgOEIDQChoQEAiLsAgKMJBQCibQMApc0EAKQRBQCnHRkAph0ZAKmhHQCoORkAq+kcAKqpHQCtkREArAEQAK8BFACuUREAsfkVALDlFQCz6WkAsgFoALUBbAC0eWkAjLsAgJC7AICUuwCAmLsAgJy7AICguwCAowkDAKIZDQCh/Q0AoP0NAIIlJgCDBToApLsAgKi7AICGqTwAhzU+AIQdOgCFPTsAiok+AIslMgCsuwCAsLsAgI6xNACPMTYAjD0yAI0tMgCSJTYAk9EIAIREAwC+wAQAlhULAJdVDgCUXQoAlVUKAJplDgCbiQ4AtLsAgLi7AIC8uwCAwLsAgJyBAADEuwCAuLUCALm9AgC6tQIAuwkCALwZAgC9GQIAvgkCAL8BAgCwdQ0AsX0NALJJDQCzSQ0AtJUCALWdAgC2lQIAt40CAKi9DQCpUQ0AqlUNAKtpDQCsfQ0ArWUNAK5tDQCvEQ0AZLsAgILtAQCBHQAAgB0AAMi7AIDMuwCAfboAgL5wBQCznQwAhIwFANC7AIDYuwCA3LsAgLalDAC1tQwA4LsAgLv5DAC68QwAhigFAIcgBQC/GQMAvhEDAL3dDAC83QwA5LsAgKPZDADouwCA7LsAgKbhDADwuwCA9LsAgKXxDACqtQwAq70MAPi7AID8uwCArlUDAK9dAwCsmQwArZkMAAC8AIAEvACACLwAgAy8AIAQvACAFLwAgBi8AIDvvAEAHLwAgOF8DgAgvACA41ABACS8AIAovACALLwAgDC8AICzlQIANLwAgDi8AIA8vACAQLwAgLa9AgC1uQIASLwAgLs5AgC6YQIAhsgEAIesBAC/GQIAvhECAL0ZAgC8IQIAo1UFAILVBwCBxQcAgMUHAEy8AICmfQUApXkFAFC8AICr+QUAqqEFAFS8AIBYvACAr9kFAK7RBQCt2QUArOEFAFy8AICzWQcAYLwAgGS8AIC2HQcAaLwAgGy8AIC1FQcAugkHALsJBwBwvACAdLwAgL75BwC/+QcAvPkHAL35BwDUuwCARLwAgHi8AIB8vACAgLwAgIS8AICIvACAjLwAgKitBwCptQcAqrUHAKvtBwCs+QcArfkHAK7tBwCv5QcAsKkHALGpBwCySQcAs0kHALRZBwC1WQcAtkkHALdJBwC4eQcAuUUHALpBBwC7XQcAvEUHAL1NBwC+RQcAvzkHAKMdBgCQvACAlLwAgJi8AICcvACAplkGAKVRBgCgvACAq00GAKpNBgCkvACAqLwAgK+9BgCuvQYArb0GAKy9BgCAbQAAgQkAAIIZAACsvACAsLwAgISYAQC+kAEAtLwAgIYAHACHxAEAuLwAgLy8AIDAvACAxLwAgMi8AIDMvACAqF0GAKmVAQCqlQEAq6UBAKy9AQCt1QEArtEBAK/RAQDQvACA1LwAgNi8AIDcvACA4LwAgOS8AIDovACA7LwAgLhZAQC5WQEAus0AALvFAAC83QAAvcUAAL7FAAC/9QAAsLUBALG9AQCygQEAs4EBALR5AQC1eQEAtmkBALdpAQCzHQIA8LwAgPS8AIC+gBwA+LwAgLZVAgC1NQIA/LwAgLt5AgC6cQIAAL0AgAS9AIC/vQIAvr0CAL1VAgC8VQIACL0AgKNZAgAMvQCAEL0AgKYRAgAUvQCAGL0AgKVxAgCqNQIAqz0CABy9AIAgvQCArvkCAK/5AgCsEQIArRECACi9AIAsvQCAvgQdAL4AHgAwvQCANL0AgDi9AIA8vQCAgPkAAIHNAACCxQAAhCADAIawHACHlAMAQL0AgES9AIBIvQCATL0AgFC9AIBUvQCA42wCAFi9AIDhoAEAXL0AgO8UAgBgvQCAZL0AgGi9AIBsvQCAcL0AgHS9AIB4vQCA4fAGAOE0BgDjTAAA4xgGAHy9AICAvQCAhL0AgIi9AICAPQAAgQkAAIIZAACMvQCAkL0AgIS8HQDvmAAA7zgHALMxAgDRAAAAh9gdAIZsHACYvQCAtikCALUhAgCcvQCAu80CALrNAgCgvQCApL0AgL/NAgC+zQIAvc0CALzNAgCyXQYAs2UGALANBgCxVQYAtn0GALedBQC0fQYAtXUGALqNBQC7zQUAuKUFALmFBQC+xQUAv8kFALzVBQC9zQUAqL0AgKy9AICwvQCAtL0AgLi9AIC8vQCAwL0AgMS9AICqtQYAq70GAKgBBwCpvQYAroEGAK+NBgCsmQYArZUGAKNxHQDIvQCAzL0AgNC9AIDUvQCApmkdAKVhHQDYvQCAq40dAKqNHQDcvQCA4L0AgK+NHQCujR0ArY0dAKyNHQDkvQCAs9UeAOi9AIDsvQCAts0eAPC9AID0vQCAtcUeALqhHgC7oR4A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s5EOAPDFAID0xQCAtqUOAPjFAID8xQCAta0OALrhDgC74Q4AAMYAgATGAIC+6Q4Av9UOALz1DgC96Q4Ao6UKAAjGAIAMxgCAEMYAgBTGAICmzQ0Apc0NABjGAICrbQwAqm0MABzGAIAgxgCArz0MAK49DACtVQwArFUMAKgJDgCpCQ4Aqh0OAKsVDgCsIQ4ArSEOAK4hDgCvIQ4AJMYAgCjGAIAsxgCAMMYAgDTGAIA4xgCAPMYAgEDGAIC4zQEAudUBALrdAQC71QEAvM0BAL1RAQC+UQEAv1EBALAhDgCxIQ4AsiUOALM5DgC0KQ4AtRUOALYdDgC39QEARMYAgEjGAIBMxgCAo5kNAFDGAIClpQ0Apq0NAL7cAgCE7AMAWMYAgKrpDQCr6Q0ArP0NAK3hDQCu4Q0Ar90NAIBFAACBTQAAglkAAKNFAwBcxgCApUEDAKZBAwBgxgCAhsAEAIcAAwCqLQMAqyUDAKw9AwCtJQMAriUDAK8VAwCoWQIAqYUDAKqBAwCrgQMArIUDAK2NAwCusQMAr7EDAGTGAIBoxgCAbMYAgHDGAIB0xgCAeMYAgHzGAICAxgCAuGUDALltAwC6ZQMAu30DALxlAwC9bQMAvmUDAL/dAACwpQMAsa0DALKlAwCzvQMAtK0DALWdAwC2lQMAt10DALMJAgCExgCAiMYAgIzGAICQxgCAtg0CALUNAgCUxgCAu2kCALphAgCYxgCAnMYAgL9ZAgC+aQIAvWkCALxxAgCgxgCApMYAgKjGAICsxgCA4aABALDGAIDjaAMAtMYAgIEVAACAFQAA74wDAIIVAAC4xgCAvMYAgMDGAIC+cAUA4RgOAOGUDwDjOA8A49QPAISUAgDIxgCAzMYAgNDGAIDUxgCA2MYAgNzGAIDgxgCA5MYAgOjGAIDv7AEA7/gPAIZgBACHBAUAs5UBAITMBQC1dQEA7MYAgPDGAIC2dQEA9MYAgPjGAIC7UQEAulkBAL31AAC8SQEAv/UAAL71AACoJQYAqVUGAKpVBgCrrQYArLUGAK29BgCutQYAr60GAMTGAID8xgCAAMcAgATHAIAIxwCADMcAgBDHAIAUxwCAuGkHALlpBwC6CQcAuwkHALwZBwC9GQcAvg0HAL8BBwCw1QYAsd0GALLVBgCzaQcAtHkHALV5BwC2aQcAt2EHAKPdBgAYxwCAHMcAgCDHAIAkxwCApj0GAKU9BgAoxwCAqxkGAKoRBgAsxwCAMMcAgK+9BwCuvQcArb0HAKwBBgCAXQAAgW0AAIJlAACzUQcAvtgDALVxBwC2cQcANMcAgIbgAACHFAMAul0HALs5BwC8KQcAvRUHAL4dBwC/2QAAqJUGAKmdBgCqlQYAq60GAKy1BgCtvQYArrUGAK+tBgA4xwCAPMcAgEDHAIBExwCASMcAgEzHAIBQxwCAVMcAgLhxAQC5cQEAunEBALtxAQC81QEAvd0BAL7VAQC/zQEAsNUGALGxBgCysQYAs40GALSVBgC1UQEAtlEBALdRAQBYxwCAoxkGAFzHAIBgxwCApjkGAFTGAIBkxwCApTkGAKoVBgCrcQYAaMcAgGzHAICuVQYAr5EBAKxhBgCtXQYAcMcAgHTHAIB4xwCAfMcAgIDHAICExwCAiMcAgIzHAICQxwCAlMcAgJjHAICcxwCAgBkAAIEZAACCBQAAoMcAgISAAgC+gAMAhwwDAIasHADhaAYAqMcAgOOYBwCsxwCAsMcAgLTHAIDvrAcAuMcAgLzHAIDAxwCAxMcAgMjHAIDMxwCA0McAgNTHAICzZQMA2McAgLVlAwC2bQMA3McAgODHAIDkxwCAuukDALvlAwC8/QMAve0DAL7RAwC/0QMA6McAgOzHAIDwxwCA9McAgPjHAID8xwCAAMgAgATIAICogQMAqYEDAKqBAwCrgQMArIEDAK2BAwCugQMAr4EDALBBAwCxTQMAskUDALNVAwC0eQMAtXkDALYZAwC3GQMAuCkDALkpAwC6OQMAuzkDALwpAwC9KQMAvhkDAL8ZAwCBGQAAgBEAAKMhAgCCLQAApSECAAjIAIAMyACApikCABDIAIAYyACAq6ECAKqtAgCtqQIArLkCAK+VAgCulQIAhEwCAL5IHQCHZB0AhuwcAONAAwAcyACA4aABACDIAIDvnAMAJMgAgCjIAIAsyACAMMgAgDTIAIA4yACAPMgAgEDIAIBEyACASMgAgEzIAIBQyACAVMgAgFjIAIDvtAEAhKgdAOF8BgBcyACA43AGAGDIAIBkyACAaMgAgGzIAICz4QEAcMgAgHTIAIB4yACAfMgAgLblAQC19QEAgMgAgLuhAQC62QEAvuQcAIjIAIC/rQEAvqUBAL2xAQC8uQEAqBUeAKkZHgCqKR4AqykeAKw9HgCtJR4Ari0eAK8lHgAUyACAgvkfAIH5HwCA4R8AhMgAgIzIAICGHAAAh7ADALjBHgC5wR4AusEeALvBHgC8wR4AvcEeAL7BHgC/wR4AsF0eALElHgCyLR4AsyUeALQhHgC1KR4AthkeALcZHgCjoR4AkMgAgJTIAICYyACAnMgAgKalHgCltR4AoMgAgKvhHgCqmR4ApMgAgKjIAICv7R4AruUeAK3xHgCs+R4ArMgAgLOZHwCwyACAtMgAgLa9HwC4yACAvMgAgLW1HwC6mR8Au5kfAMDIAIDEyACAvnkfAL95HwC8eR8AvXkfAKglHgCpUR4AqlUeAKtpHgCseR4ArXkeAK5pHgCvaR4AyMgAgMzIAIDQyACA1MgAgNjIAIDcyACA4MgAgOTIAIC42R4Aue0eALr5HgC7+R4AvOkeAL3pHgC+nR4Av5UeALAZHgCxGR4AsukeALPpHgC0+R4AtfkeALbpHgC36R4Ao90eAIIpAACBFQAAgB0AAOjIAICm+R4ApfEeAOzIAICr3R4Aqt0eAKTHAIDwyACArz0eAK49HgCtPR4ArD0eAITIAgCzQQEAvgwBAPjIAIC2QQEA/MgAgADJAIC1UQEAuk0BALslAQCGSAAAh1ABAL4lAQC/LQEAvDEBAL0xAQAEyQCACMkAgIQEAwC+gAQADMkAgO+oHwAQyQCAFMkAgL8oMQDjdB8AGMkAgOE4HgAcyQCAIMkAgCTJAIAoyQCALMkAgDDJAICjzQIANMkAgKXdAgA4yQCAPMkAgKbNAgBAyQCARMkAgKupAgCqwQIArb0CAKy9AgCvoQIArqkCAKm1AgCoaR0AqwECAKoJAgCtAQIArBkCAK8xAgCuAQIAhGwFAEjJAIBMyQCAUMkAgFTJAICCnQEAgZ0BAICdAQC55QMAuOUDALvlAwC65QMAveUDALzlAwC/5QMAvuUDALEhAgCwSQIAsyUCALIlAgC1KQIAtCECALcVAgC2FQIAqM0CAKnRAgCq0QIAqw0BAKwVAQCtBQEArgEBAK8BAQBYyQCAXMkAgGDJAIBoyQCAvvgEAGzJAIBwyQCAdMkAgLgVAQC5HQEAuikBALspAQC89QEAvf0BAL71AQC/7QEAsEkBALFVAQCyXQEAs1UBALRNAQC1NQEAtj0BALcxAQCGoAUAh8gFAHjJAIDvvAAA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t6EFALa9BQC1vQUAtL0FAKu9BgCqvQYAqb0GAKi9BgCvfQYArn0GAK19BgCsfQYAJNMAgCjTAIAs0wCAMNMAgDTTAIA40wCAPNMAgEDTAICo7R0AqS0eAKoxHgCrMR4ArJUeAK2dHgCulR4Ar40eAATTAIBE0wCASNMAgEzTAIBQ0wCAVNMAgFjTAIBc0wCAuKkeALmpHgC6XR8Au1EfALxxHwC9cR8AvnUfAL9pHwCw/R4Asc0eALLFHgCzrR4AtLkeALW5HgC2rR4At6UeALO5HgBg0wCAZNMAgGjTAICU0gCAth0eALUdHgBs0wCAuwkeALo5HgBw0wCAhOADAL99HgC+fR4AvXkeALwRHgCCaQAAo/0eAIBFAACBUQAAplkeAL6cAwB00wCApVkeAKp9HgCrTR4AhkgAAIdsAACuOR4ArzkeAKxVHgCtPR4AqF0eAKltHgCqZR4Aq30eAKxlHgCtbR4ArmUeAK/9HgB40wCAfNMAgIDTAICE0wCAiNMAgIzTAICQ0wCAlNMAgLhpAQC5aQEAunkBALt5AQC8aQEAvWkBAL7dAQC/1QEAsIUeALGNHgCyhR4As50eALSFHgC1jR4AtoUeALdZAQCz7R4AmNMAgJzTAICg0wCApNMAgLbtHgC17R4AqNMAgLtJHgC6QR4ArNMAgLDTAIC/SR4AvkEeAL1JHgC8UR4AtNMAgKOpHgC40wCAvNMAgKapHgDA0wCAxNMAgKWpHgCqBR4Aqw0eAMjTAIDM0wCArgUeAK8NHgCsFR4ArQ0eAKghAwCpIQMAqiEDAKshAwCsIQMArSEDAK4hAwCvIQMA0NMAgNTTAIDY0wCAvmACANzTAIDg0wCA6NMAgOzTAIC4iQMAuYkDALqdAwC7lQMAvLkDAL25AwC+eQAAv3kAALDlAwCx7QMAsuUDALP9AwC07QMAtd0DALbVAwC3vQMAgKkAAIG1AACCvQAAs6UDAPDTAIC1pQMAtq0DAPTTAICE4AIA+NMAgLotAwC7JQMAvD0DAL0lAwC+JQMAvxUDAKPpAwD80wCAhmgEAIeAAwAA1ACApuEDAKXpAwAE1ACAq2kDAKphAwAI1ACADNQAgK9ZAwCuaQMArWkDAKxxAwAQ1ACAFNQAgBjUAIAc1ACAINQAgOE8HwAk1ACA40AeACjUAIAs1ACAMNQAgO+MHgA01ACAONQAgDzUAIBA1ACARNQAgIIlAACBEQAAgB0AAEjUAIDj5AMATNQAgOGsAQBQ1ACA77ADAIRkAgC+YAUAhtAEAIdEBQBY1ACAXNQAgGDUAIBk1ACAaNQAgGzUAIBw1ACAdNQAgHjUAIDvsAEAhKQFAOHcHgB81ACA4xABAIDUAICE1ACAiNQAgIzUAICzUQEAkNQAgJTUAICY1ACAnNQAgLYRAQC1fQEAoNQAgLsNAQC6DQEApNQAgKjUAIC//QAAvv0AAL39AAC8/QAAqDkGAKk5BgCqmQYAq5EGAKy1BgCt0QYArskGAK/BBgBU1ACArNQAgLDUAIC01ACAgA0AAIGxAACCsQAAuNQAgLhhBwC5YQcAumEHALt9BwC8ZQcAvW0HAL5lBwC/HQcAsIkGALGJBgCyaQcAs2kHALR5BwC1eQcAtmkHALdlBwCjEQYAvNQAgMDUAIC+gAMAxNQAgKZRBgClPQYAyNQAgKtNBgCqTQYAhggAAId8AwCvvQcArr0HAK29BwCsvQcAzNQAgNDUAICzSQcA1NQAgLVZBwDY1ACA3NQAgLZRBwDg1ACA5NMAgLtBBwC6dQcAvUUHALxFBwC/RQcAvkUHAKh5BgCpeQYAqokGAKuJBgCsmQYArZkGAK6JBgCviQYA5NQAgOjUAIDs1ACA8NQAgPTUAID41ACA/NQAgADVAIC4jQYAuZUGALqVBgC7pQYAvL0GAL1xAQC+cQEAv3EBALD5BgCxzQYAstkGALPZBgC0yQYAtckGALa9BgC3tQYAowEGAATVAIAI1QCADNUAgBDVAICmGQYApREGABTVAICrCQYAqj0GABjVAIAc1QCArw0GAK4NBgCtDQYArA0GACDVAIAk1QCAKNUAgCzVAICAGQAAgRkAAIIFAAAw1QCAhKwBAL6sAQCH6AAAhkwPADjVAIA81QCAQNUAgETVAIConQIAqcUCAKrNAgCrwQIArMUCAK3NAgCu+QIArz0DAEjVAIBM1QCAUNUAgFTVAIC+PAwAWNUAgFzVAIBg1QCAuMkDALnJAwC62QMAu9EDALz5AwC9+QMAvpkDAL+ZAwCwRQMAsU0DALJFAwCzXQMAtEUDALVNAwC2RQMAt/kDALNFAgBk1QCAaNUAgGzVAIBw1QCAtk0CALVNAgB01QCAu4kDALqBAwB41QCAfNUAgL+JAwC+gQMAvYkDALyRAwCA1QCAowECAITVAICI1QCApgkCAIzVAICQ1QCApQkCAKrFAwCrzQMAlNUAgJjVAICuxQMAr80DAKzVAwCtzQMAgO0BAIEVAACCEQAAhAACAJzVAIDhpAEAoNUAgOPsAACo1QCArNUAgLDVAIDvMAAAtNUAgLjVAIC81QCAwNUAgIbgDACH9AIAxNUAgMjVAIDM1QCA0NUAgO/MBgDU1QCA4bAHANjVAIDjEAYA3NUAgODVAIDk1QCA6NUAgOzVAIDw1QCA9NUAgPjVAID81QCAANYAgATWAIAI1gCA7+gBAIUYDwDhzAYADNYAgOMcBgCAKQAAgR0AAIIFAAAQ1gCAszkCAITMDQCGaA8Ah/wMAOHQ0gO28QEAtfkBABjWAIC72QEAutEBAL7kDAAc1gCAv30BAL59AQC9fQEAvMEBAKjxDQCp8Q0AqvENAKvxDQCsMQ4ArTEOAK4xDgCvMQ4ApNUAgBTWAIAg1gCAJNYAgCjWAIAs1gCAMNYAgDTWAIC46Q4AuekOALqJDgC7hQ4AvJ0OAL2BDgC+gQ4Av7UOALBVDgCxXQ4AslUOALPpDgC0+Q4AtfkOALbpDgC34Q4Ao3kNADjWAIA81gCAQNYAgETWAICmsQ4ApbkOAEjWAICrmQ4AqpEOAEzWAIBQ1gCArz0OAK49DgCtPQ4ArIEOAFTWAICz7Q8AWNYAgFzWAIC26Q8AYNYAgGTWAIC16Q8Auq0PALu1DwA01QCAaNYAgL6VDwC/mQ8AvK0PAL2hDwCoIQ4AqSEOAKohDgCrPQ4ArCUOAK0tDgCuJQ4Ar1UOAGzWAIBw1gCAdNYAgHjWAICAHQAAgQkAAIK9AAB81gCAuDkOALk5DgC6yQ4Au8kOALzZDgC92Q4AvskOAL/JDgCwLQ4AsTUOALI9DgCzMQ4AtBUOALUZDgC2CQ4AtwkOAKOpDgCA1gCAhIACAL6AAQCFAAQApq0OAKWtDgCI1gCAq/EOAKrpDgCGKAcAhxgAAK/dDgCu0Q4AreUOAKzpDgCM1gCAs+0BAJDWAICU1gCAtuUBAJjWAICc1gCAte0BALplAQC7bQEAoNYAgKTWAIC+bQEAv10BALx1AQC9bQEAqN0NAKnpDQCqIQIAqyECAKwhAgCtIQIAriECAK8hAgCo1gCArNYAgLDWAIC01gCAohECAKMRAgCgqQ4AodUCALiJAgC5iQIAup0CALuVAgC8vQIAvXUDAL59AwC/dQMAsOUCALHtAgCy5QIAs/0CALTtAgC13QIAttUCALe9AgCjqQIAj8UaALjWAIC81gCAwNYAgKahAgClqQIAxNYAgKspAgCqIQIAyNYAgMzWAICvGQIArikCAK0pAgCsMQIAniUOAJ/lDgCc6QoAnRUKAJpFFgCbRQoAmFkWAJlRFgCWcRIAl4ETAJRVEgCV7RIAktEeAJPZHgCQtRoAkVUeAISpHwCFJR8AhiUfAIexEwDQ1gCA1NYAgIJZGwCDURsAjEUSAI2lFwCOpRcAj7kXAIA5+wHY1gCAijkTAIutEwCUmQsAlaEPAJZpDwCX3Q8A3NYAgO+cDwCSyQsAk30LAJxFAwDjeA4A4NYAgOGYDADk1gCAhHgCAJqRAwCbXQMA4QQAAL6IBQDj3OoD6NYAgOzWAIDw1gCA7+wAAO+MDgDhcA4A4fwOAOMwAADjeA4AgSEAAIA5AADvtO0DgikAALMJAgD41gCAhmgEAIcsBQD81gCAtg0CALUNAgAA1wCAu8UBALrFAQAE1wCACNcAgL99AQC+fQEAvdUBALzVAQCE1gCA9NYAgAzXAIAQ1wCAFNcAgBjXAIAc1wCAINcAgKi9BQCp5QUAquEFAKvhBQCs5QUAre0FAK7RBQCv0QUAsGEGALFhBgCyYQYAs2EGALTZBgC12QYAtskGALfBBgC4yQYAuckGALp5BwC7eQcAvEUHAL0lBwC+EQcAvw0HAKNJBQAk1wCAKNcAgCzXAIAw1wCApk0FAKVNBQA01wCAq4UGAKqFBgA41wCAPNcAgK89BgCuPQYArZUGAKyVBgBA1wCARNcAgEjXAIBM1wCAUNcAgFTXAIBY1wCAXNcAgIA5AACBOQAAggUAAGDXAIC+uAMAhLgDAGjXAIBs1wCAqMUGAKnVBgCq1QYAq+UGAKz9BgCtHQEArhUBAK8NAQBk1wCAcNcAgIaIAQCHHAEAdNcAgHjXAIB81wCAgNcAgLjpAQC56QEAuokBALuJAQC8mQEAvZkBAL6JAQC/iQEAsHUBALF9AQCydQEAs+kBALT5AQC1+QEAtukBALfhAQCzXQYAhNcAgIjXAICM1wCAhLwBALadAQC1dQYAkNcAgLu5AQC6sQEAlNcAgJjXAIC/PQEAvj0BAL09AQC8oQEA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gNwAgLYVAgC1dQIAhNwAgLs5AgC6MQIAiNwAgIzcAIC/2QEAvtEBAL0VAgC8FQIAo50FADTcAICQ3ACAlNwAgJjcAICm1QUApbUFAJzcAICr+QUAqvEFAKDcAICk3ACArxkGAK4RBgCt1QUArNUFAIBRAACBWQAAgmEAALOVBgCo3ACAtXEHALZxBwCs3ACAhkADAIdUAwC67QcAu+UHALzlBwC97QcAvtEHAL/NBwCw3ACAtNwAgLjcAIC83ACAwNwAgMTcAIDvQAQAyNwAgOEwBwDM3ACA45QEANDcAIDU3ACA2NwAgNzcAIDg3ACAoxkGAOTcAIDo3ACA7NwAgPDcAICm/QcApf0HAPTcAICraQcAqmEHAPjcAID83ACAr0EHAK5dBwCtYQcArGkHAKjNBwCp0QcAqtEHAKstBgCsNQYArT0GAK41BgCvnQYAAN0AgATdAIAI3QCADN0AgIAZAACBGQAAggUAABDdAIC4iQYAuYkGALqZBgC7kQYAvLkGAL25BgC+UQEAv1EBALDlBgCx7QYAsv0GALP1BgC02QYAtcUGALbBBgC3uQYAqNEBAKnZAQCqCQEAqwkBAKwZAQCtGQEArgkBAK8JAQCEYAEAvnwBAIeoAACGjAEAGN0AgBzdAIAg3QCAJN0AgLgJAQC5CQEAuhkBALsRAQC8OQEAvTkBAL75AAC/+QAAsH0BALFBAQCyRQEAs10BALRFAQC1TQEAtkUBALc5AQAo3QCALN0AgDDdAICzjQIANN0AgLWdAgC2lQIAON0AgDzdAIBA3QCAurUCALuJAgC8nQIAvYUCAL6NAgC/hQIAps0CAETdAIBI3QCApcUCAEzdAICj1QIAUN0AgFTdAICu1QIAr90CAKzFAgCt3QIAqu0CAKvRAgCE9AMAWN0AgKgxAwCpMQMAqjEDAKsxAwCskQAArZEAAK6RAACvjQAAXN0AgGDdAIBk3QCAaN0AgGzdAIBw3QCAdN0AgHjdAIC4vQAAuWUAALptAAC7ZQAAvH0AAL1lAAC+bQAAv2UAALD9AACxxQAAss0AALOpAAC0uQAAtaUAALahAAC3oQAAgL0BAIEJAACCGQAAfN0AgIDdAIC+WAIAhxQdAIacHQCEbB0AxNsAgIjdAICM3QCAvrwcAJDdAICU3QCAmN0AgLP5AgCc3QCAoN0AgKTdAICo3QCA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gQkAAIIdAABM4gCA4cgGAFDiAIDjSAQAVOIAgKO1BgBY4gCAhigAAIdAAQBc4gCAptkGAKXRBgBg4gCAqyEGAKrNBgBk4gCAaOIAgK8pBgCuIQYArSkGAKw1BgBs4gCAs70BAHDiAIB04gCAtnkBAHjiAIB84gCAtXkBALpVAQC7XQEAgOIAgITiAIC++QAAv/kAALxFAQC9+QAAqHECAKlxAgCqcQIAq3ECAKy1AgCtvQIArrUCAK+tAgC+rDwAiOIAgIziAICQ4gCAlOIAgJjiAICc4gCAoOIAgLhpAwC5aQMAugkDALsJAwC8HQMAvQUDAL4NAwC/BQMAsNUCALHdAgCy1QIAs2kDALR5AwC1eQMAtmkDALdhAwCk4gCAqOIAgKziAICj9QIAsOIAgKUxAgCmMQIAtOIAgLjiAIC84gCAqh0CAKsVAgCsDQIArbEDAK6xAwCvsQMA7xgCAIIVAACBbQAAgG0AAMDiAIDI4gCAhvg8AIcYAwDM4gCA0OIAgNTiAIDY4gCA42wHAAThAIDhaAEA3OIAgKiFAgCplQIAqpUCAKulAgCsvQIArdUCAK7RAgCv0QIA4OIAgOTiAIDo4gCA7OIAgPDiAID04gCA+OIAgPziAIC4dQEAuX0BALp1AQC7zQEAvNUBAL3dAQC+yQEAv8EBALC1AgCxvQIAsoECALOBAgC0VQEAtV0BALZVAQC3TQEA4bQGAADjAIDj9AYABOMAgIQYPQAI4wCADOMAgBDjAIAU4wCAGOMAgBzjAIAg4wCAJOMAgCjjAIDvWAYALOMAgIF9AACAcQAAMOMAgIIFAAA44wCAPOMAgO+AAQC+VDwA4ZABAEDjAIDjfAYAROMAgEjjAIBM4wCAhtg8AIf0PACjnT0AxOIAgDTjAIBQ4wCAVOMAgKbVPQCltT0AWOMAgKv5PQCq8T0AXOMAgGDjAICvGT4ArhE+AK3VPQCs1T0AZOMAgLOhPgBo4wCAbOMAgLatPgBw4wCAdOMAgLWxPgC6ST8Au0k/AHjjAIB84wCAvkk/AL9JPwC8ST8AvUk/AKhVPgCpZT4Aqm0+AKtlPgCsfT4ArWk+AK65PwCvuT8AgOMAgITjAICI4wCAjOMAgJDjAICU4wCAmOMAgJzjAIC4VT8AuV0/ALpVPwC7bT8AvHU/AL19PwC+dT8Av20/ALDJPwCxyT8A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rjUCAK1VAgCsVQIAPOcAgEDnAIBE5wCASOcAgEznAIBQ5wCAVOcAgO/4AQC+bAQA4YAOAFjnAIDjFAEAXOcAgGDnAIBk5wCAaOcAgGznAIBw5wCAdOcAgLPdAQB45wCAtf0BALb1AQB85wCAgOcAgITnAIC6sQEAu4UBALydAQC9NQEAvj0BAL81AQCpBQYAqLkFAKsVBgCqHQYArT0GAKw9BgCvTQYArl0GACTnAICCHQAAgR0AAIAdAACI5wCAjOcAgJDnAICU5wCAuUEHALidBgC7QQcAukkHAL1FBwC8WQcAv0UHAL5FBwCxCQYAsD0GALOpBgCyAQYAtbkGALSxBgC3rQYAtrEGAKORBgCEjAIAhigAAIfAAwCY5wCAprkGAKWxBgCc5wCAq8kGAKr9BgCg5wCApOcAgK95BgCucQYArXkGAKzRBgCo5wCAs5kHAKznAICw5wCAtlEHALTnAIC45wCAtbEHALptBwC7dQcAvOcAgMDnAIC+WQcAv0UHALxtBwC9ZQcAxOcAgMjnAIDM5wCA0OcAgNTnAIDY5wCA3OcAgO+oBQDg5wCA4TQFAOTnAIDjdAUA6OcAgOznAIDw5wCA9OcAgKMdBgCCLQAAgRUAAIAdAAD45wCAptUGAKU1BgD85wCAq/EGAKrpBgAA6ACAhCgBAK/BBgCu3QYAreEGAKzpBgCoxQYAqdUGAKrVBgCr5QYArP0GAK0VBgCuHQYArxUGAL7sAQAI6ACAhggAAIcgAAAM6ACAEOgAgBToAIAY6ACAuH0GALkFBgC6DQYAuwUGALwBBgC9CQYAvjkGAL85BgCwbQYAsXUGALJ9BgCzdQYAtFkGALVFBgC2TQYAt0UGAKiRAgCpmQIAqqECAKuhAgCs0QIArd0CAK7VAgCvyQIAHOgAgCDoAIAk6ACAvyweACjoAIAs6ACAMOgAgDToAIC4VQMAuV0DALppAwC7ZQMAvGEDAL1hAwC+YQMAv2EDALC5AgCxjQIAsoUCALNtAwC0dQMAtX0DALZ1AwC3bQMAOOgAgDzoAICzIQIAQOgAgLVRAgCEiAMAROgAgLZVAgC05gCAvigcALtBAgC6dQIAvbEDALxZAgC/sQMAvrkDAKNpAgBI6ACATOgAgFDoAIBU6ACAph0CAKUZAgBY6ACAqwkCAKo9AgBc6ACAYOgAgK/5AwCu8QMA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hLkHAIW5BwCG2QcAh9kHAIjpBwCJ6QcAivkHAIv5BwCM6QcAjekHAI7RBwCP0QcAkLEHAJGxBwCSSQEAk0kBAJRZAQCVWQEAlkkBAJdJAQCYeQEAmXkBAJpJAQCbSQEAnFkBAJ1ZAQCeSQEAn0kBAKC5AQChuQEAoskBAKPJAQCk2QEApdkBAKbJAQCnyQEAqPkBAKn5AQCqyQEAq8kBAKzZAQCt2QEArskBAK/JAQCwuQEAsbkBALJJAQCzSQEAtFkBALVZAQC2SQEAt0kBALh5AQC5eQEAukkBALtJAQC8WQEAvVkBAL5JAQC/SQEA0jEAgNYxAIDaMQCAkjIAgNoyAIDmMgCA6jIAgO4yAIDyMgCA+jIAgP4yAIASMwCALjMAgDYzAIB2MwCAejMAgIIzAICGMwCAjjMAgJIzAIC2MwCAujMAgNYzAIDaMwCA3jMAgOIzAID2MwCAGjQAgB40AIAiNACARjQAgIY0AICKNACAqjQAgLo0AIDCNACA4jQAgAY1AIBKNQCAUjUAgGY1AIByNQCAejUAgII1AICGNQCAijUAgKI1AICmNQCAwjUAgMo1AIDSNQCA1jUAgOI1AIDqNQCA7jUAgPI1AID6NQCA/jUAgJ42AICyNgCAnoUMAOY2AIDqNgCA8jYAgIC5AwCBuQMAgskDAIPJAwCE2QMAhdkDAIbJAwCHyQMAiPkDAIn5AwCKyQMAi8kDAIzZAwCN2QMAjs0DAI/FAwCQvQMAkQEMAJJJDgCTSQ4AlFkOAJVZDgCWSQ4Al0kOAJh5DgCZeQ4AmkkOAJtJDgCcWQ4AnVkOAJ5JDgCfSQ4AoLkOAKG5DgCiyQ4Ao8kOAKTZDgCl2Q4ApskOAKfJDgCo+Q4AqfkOAKrJDgCryQ4ArNkOAK3ZDgCuyQ4Ar8kOALC5DgCxuQ4AskkOALNJDgC0WQ4AtVkOALZJDgC3SQ4AuHkOALl5DgC6SQ4Au0kOALxZDgC9WQ4AvkkOAL9JDgC8eQQAvXkEAL6JBAC/nQQAuHUEALl9BAC6aQQAu2kEALRxBAC1cQQAtnEEALdxBACwcQQAsXEEALJxBACzcQQArGkEAK1pBACucQQAr3EEAKhBBACpQQQAqkEEAKtBBACknQUApWEEAKZhBACnYQQAoJ0FAKGFBQCijQUAo4UFAJxdBQCdZQUAnm0FAJ9lBQCYXQUA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NAYAgEsGAIBoBgCAfwYAgJYGAIDdAwCA9gMAgA8EAIASBwCAQQgAgD4IAIA/BwCAOSQAgHIkAICjJACAyCQAgLkmAIDEJgCAyCYAgMwmAIDQJgCALygAgG4oAICWKACAmigAgL8oAIDHKACA4ygAgPUoAID5KACA/SgAgLrp0wAVKQCAMCkAgEspAIA9JACASiQAgFckAIBkJACAdiQAgIMkAICVJACApyQAgLckAIDMJACA1iQAgOQkAIDuJACA+yQAgAwlAIAWJQCAbyUAgHYlAIAkJQCAgBkDAIEZAwCCKQMAgykDAIQ5AwCFOQMAhikDAIcpAwCIGQMAiRkDAIppAwCLaQMAjHkDAI15AwCOaQMAj2kDAJAZAwCRGQMAkgEEAJMtAwCUNQMAlVUGAJZdBgCXVQYAmG0GAJl1BgCafQYAm3UGAJxtBgCdNQYAnj0GAJ81BgCgzQYAodUGAKLdBgCj1QYApPkDAKX5AwCm6QMAp+kDAKjZAwCp+QYAqikGAKspBgCsOQYArTkGAK7FAwCvPQMAsEUDALFNAwCyRQMAs10DALRFAwC1TQMAtkUDALd9AwC4SQMAuUkDALpZAwC7fQYAvGUGAL1tBgC+ZQYAgCUAgKkVDwCoAQ8Aq00PAKpNDwCtRQ8ArEUPAK+hDQCuqQ0AoXULAKBhCwCj7QsAoqkLAKXlCwCk5QsApzkPAKZZCAC5oQ0AuJkNALuhDQC6qQ0AvaENALy5DQAxJQCAvqkNALGhDQCw2Q0As6ENALKpDQC1oQ0AtLkNALehDQC2qQ0AOCUAgEglAIBbJQCAsiUAgLwlAICRJQCAoSUAgNAlAICB7Q0AgO0NAIP9DQCC/Q0Ahe0NAITtDQCH2Q0AhiEYAJlNDQCYTQ0Am1ENAJpdDQCdeQ0AnHUNAJ9pDQCecQ0AkYkNAJCBDQCTmQ0AkoENAJWJDQCUgQ0Al30NAJaBDQDgJACAICUAgI0lAIDMJQCA3iUAgAgmAIAtJgCAQiYAgPAlAID6JQCADCYAgBkmAIAxJgCATiYAgFgmAIB2JgCASiYAgGYmAIBuJgCAgCYAgIwmAICUJgCAoyYAgN4mAICcJgCAsiYAgKcmAIC9JgCA1CYAgOImAIABJwCAEScAgBsnAIBPJwCAkicAgOcnAIBPKQCAXSkAgGEpAIBlKQCA8CYAgC4nAIA+JwCASCcAgCMnAIBTJwCAYycAgH4nAIBwJwCAlicAgMInAIDJJwCApicAgNMnAIDdJwCAtCcAgBgoAIAKKACA6ycAgCUoAIDyJwCA/CcAgDMoAIBAKACASigAgFQoAIBeKACAcigAgH8oAICGKACAnigAgKUoAICyKACAyygAgNUoAIDnKACAASkAgA4pAIAZKQCAIykAgDQpAIA7KQCAUykAgMMDAIDmBACAhQUAgNgFAIATBgCAOQYAgFAGAIBtBgCAhAYAgJsGAIDjAwCA/AMAgBUEAIAoBACAOwQAgE4EAIBhBACAdAQAgIcEAICaBACAAAUAgA8FAIAeBQCALQUAgDwFAIBjCACAJAgAgMEGAID8BwCAHQkAgOMoEwAzCQCAKggAgC0IAIAxCACAJAcAgNwuAIDKMACA2S0AgLswAIBFMQCAJwkAgO/sEwAGCQCA3A0AgM8IAICDCACAMQcAgEwHAID8BgCACggAgJQIAIAqCQCACQkAgOANAIDsDQCA2wgAgJkIAIAVBwCAhggAgFUHAID/BgCApgcAgJEkAIDwDQCA4ggAgCcIAICcCACAWAgAgBUJAID0DQCA5QgAgBQIAICfCACA6AgAgBcIAIDJCACAoggAgOwIAIAbCACAzAgAgKYIAID3CACA/QgAgIgHAICKCACAWQcAgAMHAIA9CQCAQQkAgEkJAIA2CQCAGAkAgPgNAID0CACALQkAgAwJAIDkDQCA0ggAgI4IAIBdBwCAMAkAgA8JAIDoDQCA1QgAgJEIAIBgBwCArQgAgGMHAIDjSBIA4xQSAOP4EwDjuBMA4+wSAOOgEgDjbBIA43gSAO/ADQDv2A0A73QSAO9QEgDvqBIA79wSAO8oEwDvIBMA6QcAgMwGAIAOCACAEQgAgNgGAIDUBgCAIQgAgAcHAIBnCACADAcAgHYIAIA0BwCANwcAgKoIAIC2CACAuQgAgOPYEADjoBAA46AQAON0EQDjNBAA4wgQAOPkEADj9BAA77wQAO/gEADvzBAA7zgQAO8QEADvcBAA73AQAO9MEADjhBMA4+gTAOMwEADjEBAA42ATAONAEwDjpBMA47QTAO/IEwDvtBMA75gTAO98EwDvXBMA70wTAO8UEwDv6BAAgO08AIH1PACC/TwAg/U8AITtPACFFT0Ahh09AIcVPQCILT0AiTU9AIo9PQCLNT0AjC09AI0VPQCOHT0AjxU9AJBtPQCRdT0Akn09AJN1PQCUbT0AlRU9AJYdPQCXFT0AmC09AJk1PQCaPT0AmzU9AJwtPQCdFT0Anh09AJ8VPQCg7T0AofU9AKL9PQCj9T0ApO09AKUVPQCmHT0ApxU9AKgtPQCpNT0Aqj09AKs1PQCsLT0ArRU9AK4dPQCvFT0AsG09ALF1PQCyfT0As3U9ALRtPQC1FT0AthE9ALcRPQC4MT0AuTE9ALoxPQC7MT0AvBE9AL0RPQC+ET0AvxE9AIDxPACB/TwAgvU8AIMNPwCEFT8AhR0/AIYVPwCHDT8AiDU/AIk9PwCKNT8Aiw0/AIwVPwCNHT8AjhU/AI8NPwCQdT8AkX0/AJJ1PwCTDT8AlBU/AJUZPwCWCT8Alwk/AJg5PwCZOT8Amgk/AJsJPwCcGT8AnRk/AJ4JPwCfCT8AoPk/AKH5PwCiCT8Aowk/AKQZPwClGT8Apgk/AKcJPwCoOT8AqTk/AKoJPwCrCT8ArBk/AK0ZPwCuCT8Arwk/ALB5PwCxeT8Asgk/ALMJPwC0GT8AtRk/ALYJPwC3CT8AuDk/ALk5PwC6CT8Auwk/ALwZPwC9GT8Avgk/AL8JPwCA+TwAgfk8AIJJPQCDST0AhFk9AIVZPQCGST0Ah0k9AIh5PQCJeT0Aikk9AItJPQCMWT0AjVk9AI5JPQCPST0AkDk9AJE5PQCSAQQAk00GAJRVBgCVXQYAllUGAJdNBgCYdQYAmX0GAJp1BgCbTQYAnFUGAJ1dBgCeVQYAn00GAKC1BgChvQYAorUGAKPNBgCk1QYApd0GAKbVBgCnzQYAqPUGAKn9BgCq9QYAq80GAKzVBgCt3QYArtUGAK/NBgCwtQYAsb0GALK1BgCzTQYAtFUGALVdBgC2VQYAt00GALh1BgC5fQYAunUGALtNBgC8VQYAvV0GAL5VBgC/TQYArH0/AK2lPwCurT8Ar6U/AKh9PwCpZT8Aqm0/AKtlPwCkHT8ApUU/AKZNPwCnRT8AoB0/AKEFPwCiDT8AowU/ALydPwC9pT8Avq0/AL+lPwC4nT8AuYU/ALqNPwC7hT8AtN0/ALWlPwC2rT8At6U/ALDdPwCxxT8Ass0/ALPFPwCMZToAjW06AI5lOgCPfToAiEU6AIlNOgCKRToAi306AIRlOgCFbToAhmU6AId9OgCABToA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ACDZjgAg2Y7ZkQAg2Y8AINmP2ZEAINmQACDZkNmRACDZkQAg2ZHZsAAg2ZIAIOOCmQAg44KaACEAISEAIT8AIgAjACQAJQAmACcAKAAoMSkAKDEwKQAoMTEpACgxMikAKDEzKQAoMTQpACgxNSkAKDE2KQAoMTcpACgxOCkAKDE5KQAoMikAKDIwKQAoMykAKDQpACg1KQAoNikAKDcpACg4KQAoOSkAKEEpAChCKQAoQykAKEQpAChFKQAoRikAKEcpAChIKQAoSSkAKEopAChLKQAoTCkAKE0pAChOKQAoTykAKFApAChRKQAoUikAKFMpAChUKQAoVSkAKFYpAChXKQAoWCkAKFkpAChaKQAoYSkAKGIpAChjKQAoZCkAKGUpAChmKQAoZykAKGgpAChpKQAoaikAKGspAChsKQAobSkAKG4pAChvKQAocCkAKHEpAChyKQAocykAKHQpACh1KQAodikAKHcpACh4KQAoeSkAKHopACjhhIApACjhhIIpACjhhIMpACjhhIUpACjhhIYpACjhhIcpACjhhIkpACjhhIspACjhhIwpACjhhI4pACjhhI8pACjhhJApACjhhJEpACjhhJIpACjkuIApACjkuIMpACjkuIkpACjkuZ0pACjkuowpACjkupQpACjku6MpACjkvIEpACjkvJEpACjlhaspACjlha0pACjlirQpACjljYEpACjljZQpACjlkI0pACjlkbwpACjlm5spACjlnJ8pACjlraYpACjml6UpACjmnIgpACjmnIkpACjmnKgpACjmoKopACjmsLQpACjngaspACjnibkpACjnm6MpACjnpL4pACjnpZ0pACjnpa0pACjoh6opACjoh7MpACjosqEpACjos4cpACjph5EpACjqsIApACjrgpgpACjri6QpACjrnbwpACjrp4gpACjrsJQpACjsgqwpACjslYQpACjsmKTsoIQpACjsmKTtm4QpACjsnpApACjso7wpACjssKgpACjsubQpACjtg4ApACjtjIwpACjtlZgpACkAKgArACwALQAuAC4uAC4uLgAvADAAMCwAMC4AMOKBhDMAMOeCuQAxADEsADEuADEwADEwLgAxMOaXpQAxMOaciAAxMOeCuQAxMQAxMS4AMTHml6UAMTHmnIgAMTHngrkAMTIAMTIuADEy5pelADEy5pyIADEy54K5ADEzADEzLgAxM+aXpQAxM+eCuQAxNAAxNC4AMTTml6UAMTTngrkAMTUAMTUuADE15pelADE154K5ADE2ADE2LgAxNuaXpQAxNueCuQAxNwAxNy4AMTfml6UAMTfngrkAMTgAMTguADE45pelADE454K5ADE5ADE5LgAxOeaXpQAxOeeCuQAx4oGEADHigYQxMAAx4oGEMgAx4oGEMwAx4oGENAAx4oGENQAx4oGENgAx4oGENwAx4oGEOAAx4oGEOQAx5pelADHmnIgAMeeCuQAyADIsADIuADIwADIwLgAyMOaXpQAyMOeCuQAyMQAyMeaXpQAyMeeCuQAyMgAyMuaXpQAyMueCuQAyMwAyM+aXpQAyM+eCuQAyNAAyNOaXpQAyNOeCuQAyNQAyNeaXpQAyNgAyNuaXpQAyNwAyN+aXpQAyOAAyOOaXpQAyOQAyOeaXpQAy4oGEMwAy4oGENQAy5pelADLmnIgAMueCuQAzADMsADMuADMwADMw5pelADMxADMx5pelADMyADMzADM0ADM1ADM2ADM3ADM4ADM5ADPigYQ0ADPigYQ1ADPigYQ4ADPml6UAM+aciAAz54K5ADQANCwANC4ANDAANDEANDIANDMANDQANDUANDYANDcANDgANDkANOKBhDUANOaXpQA05pyIADTngrkANQA1LAA1LgA1MAA14oGENgA14oGEOAA15pelADXmnIgANeeCuQA2ADYsADYuADbml6UANuaciAA254K5ADcANywANy4AN+KBhDgAN+aXpQA35pyIADfngrkAOAA4LAA4LgA45pelADjmnIgAOOeCuQA5ADksADkuADnml6UAOeaciAA554K5ADoAOjo9ADsAPAA9AD09AD09PQA+AD8APyEAPz8AQABBAEFVAEHiiJVtAEIAQnEAQwBDRABDby4AQ+KIlWtnAEQAREoARFoARHoARMW9AETFvgBFAEYARkFYAEcAR0IAR0h6AEdQYQBHeQBIAEhQAEhWAEhnAEh6AEkASUkASUlJAElKAElVAElWAElYAEoASwBLQgBLSwBLTQBMAExKAExURABMagBMwrcATQBNQgBNQwBNRABNSHoATVBhAE1WAE1XAE3OqQBOAE5KAE5qAE5vAE8AUABQSABQUE0AUFBWAFBSAFBURQBQYQBRAFIAUnMAUwBTRABTTQBTUwBTdgBUAFRFTABUSHoAVE0AVQBWAFZJAFZJSQBWSUlJAFbiiJVtAFcAV0MAV1oAV2IAWABYSQBYSUkAWQBaAFsAXABdAF4AXwBgAGEAYS5tLgBhL2MAYS9zAGHKvgBiAGJhcgBjAGMvbwBjL3UAY2FsAGNjAGNkAGNtAGNtMgBjbTMAZABkQgBkYQBkbABkbQBkbTIAZG0zAGR6AGTFvgBlAGVWAGVyZwBmAGZmAGZmaQBmZmwAZmkAZmwAZm0AZwBnYWwAaABoUGEAaGEAaQBpaQBpaWkAaWoAaW4AaXYAaXgAagBrAGtBAGtIegBrUGEAa1YAa1cAa2NhbABrZwBrbABrbQBrbTIAa20zAGt0AGvOqQBsAGxqAGxtAGxuAGxvZwBseABswrcAbQBtMgBtMwBtQQBtVgBtVwBtYgBtZwBtaWwAbWwAbW0AbW0yAG1tMwBtb2wAbXMAbeKIlXMAbeKIlXMyAG4AbkEAbkYAblYAblcAbmoAbm0AbnMAbwBvVgBwAHAubS4AcEEAcEYAcFYAcFcAcGMAcHMAcQByAHJhZAByYWTiiJVzAHJhZOKIlXMyAHMAc3IAc3QAdAB1AHYAdmkAdmlpAHZpaWkAdwB4AHhpAHhpaQB5AHoAewB8AH0AwqIAwqMAwqUAwqYAwqwAwrBDAMKwRgDCtwDDgADDgQDDggDDgwDDhADDhQDDhgDDhwDDiADDiQDDigDDiwDDjADDjQDDjgDDjwDDkQDDkgDDkwDDlADDlQDDlgDDmQDDmgDDmwDDnADDnQDDoADDoQDDogDDowDDpADDpQDDpwDDqADDqQDDqgDDqwDDrADDrQDDrgDDrwDDsADDsQDDsgDDswDDtADDtQDDtgDDuQDDugDDuwDDvADDvQDDvwDEgADEgQDEggDEgwDEhADEhQDEhgDEhwDEiADEiQDEigDEiwDEjADEjQDEjgDEjwDEkgDEkwDElADElQDElgDElwDEmADEmQDEmgDEmwDEnADEnQDEngDEnwDEoADEoQDEogDEowDEpADEpQDEpgDEpwDEqADEqQDEqgDEqwDErADErQDErgDErwDEsADEsQDEtADEtQDEtgDEtwDEuQDEugDEuwDEvADEvQDEvgDFgwDFhADFhQDFhgDFhwDFiADFiwDFjADFjQDFjgDFjwDFkADFkQDFkwDFlADFlQDFlgDFlwDFmADFmQDFmgDFmwDFnADFnQDFngDFnwDFoADFoQDFogDFowDFpADFpQDFqADFqQDFqgDFqwDFrADFrQDFrgDFrwDFsADFsQDFsgDFswDFtADFtQDFtgDFtwDFuADFuQDFugDFuwDFvADFvQDFvgDGjgDGkADGoADGoQDGqwDGrwDGsADHjQDHjgDHjwDHkADHkQDHkgDHkwDHlADHlQDHlgDHlwDHmADHmQDHmgDHmwDHnADHngDHnwDHoADHoQDHogDHowDHpgDHpwDHqADHqQDHqgDHqwDHrADHrQDHrgDHrwDHsADHtADHtQDHuADHuQDHugDHuwDHvADHvQDHvgDHvwDIgADIgQDIggDIgwDIhADIhQDIhgDIhwDIiADIiQDIigDIiwDIjADIjQDIjgDIjwDIkADIkQDIkgDIkwDIlADIlQDIlgDIlwDImADImQDImgDImwDIngDInwDIogDIpgDIpwDIqADIqQDIqgDIqwDIrADIrQDIrgDIrwDIsADIsQDIsgDIswDItwDJkADJkQDJkgDJlADJlQDJmQDJmwDJnADJnwDJoQDJowDJpQDJpgDJqADJqQDJqgDJqwDJrQDJrwDJsADJsQDJsgDJswDJtADJtQDJuADJuQDJuwDKgQDKggDKgwDKiQDKigDKiwDKjADKkADKkQDKkgDKlQDKnQDKnwDKuQDKvG4AzIAAzIEAzIjMgQDMkwDOhgDOiADOiQDOigDOjADOjgDOjwDOkADOkQDOkgDOkwDOlADOlQDOlgDOlwDOmADOmQDOmgDOmwDOnADOnQDOngDOnwDOoADOoQDOowDOpADOpQDOpgDOpwDOqADOqQDOqgDOqwDOrADOrQDOrgDOrwDOsADOsQDOsgDOswDOtADOtQDOtgDOtwDOuADOuQDOugDOuwDOvADOvEEAzrxGAM68VgDOvFcAzrxnAM68bADOvG0AzrxzAM69AM6+AM6/AM+AAM+BAM+CAM+DAM+EAM+FAM+GAM+HAM+IAM+JAM+KAM+LAM+MAM+NAM+OAM+cAM+dANCAANCBANCDANCHANCMANCNANCOANCZANC5ANC9ANGKANGMANGQANGRANGTANGXANGcANGdANGeANG2ANG3ANOBANOCANOQANORANOSANOTANOWANOXANOaANObANOcANOdANOeANOfANOiANOjANOkANOlANOmANOnANOqANOrANOsANOtANOuANOvANOwANOxANOyANOzANO0ANO1ANO4ANO5ANWl1oIA1bTVpQDVtNWrANW01a0A1bTVtgDVvtW2ANeQANeQ1rcA15DWuADXkNa8ANeQ15wA15EA15HWvADXkda/ANeSANeS1rwA15MA15PWvADXlADXlNa8ANeV1rkA15XWvADXlta8ANeY1rwA15nWtADXmda8ANea1rwA15sA15vWvADXm9a/ANecANec1rwA150A157WvADXoNa8ANeh1rwA16IA16PWvADXpNa8ANek1r8A16bWvADXp9a8ANeoANeo1rwA16nWvADXqda814EA16nWvNeCANep14EA16nXggDXqgDXqta8ANey1rcA2KEA2KIA2KMA2KQA2KUA2KYA2KbYpwDYptisANim2K0A2KbYrgDYptixANim2LIA2KbZhQDYptmGANim2YcA2KbZiADYptmJANim2YoA2KbbhgDYptuHANim24gA2KbbkADYptuVANinANin2YPYqNixANin2YTZhNmHANin2YsA2KfZtADYqADYqNisANio2K0A2KjYrdmKANio2K4A2KjYrtmKANio2LEA2KjYsgDYqNmFANio2YYA2KjZhwDYqNmJANio2YoA2KkA2KoA2KrYrADYqtis2YUA2KrYrNmJANiq2KzZigDYqtitANiq2K3YrADYqtit2YUA2KrYrgDYqtiu2YUA2KrYrtmJANiq2K7ZigDYqtixANiq2LIA2KrZhQDYqtmF2KwA2KrZhditANiq2YXYrgDYqtmF2YkA2KrZhdmKANiq2YYA2KrZhwDYqtmJANiq2YoA2KsA2KvYrADYq9ixANir2LIA2KvZhQDYq9mGANir2YcA2KvZiQDYq9mKANisANis2K0A2KzYrdmJANis2K3ZigDYrNmEINis2YTYp9mE2YcA2KzZhQDYrNmF2K0A2KzZhdmJANis2YXZigDYrNmJANis2YoA2K0A2K3YrADYrdis2YoA2K3ZhQDYrdmF2YkA2K3ZhdmKANit2YkA2K3ZigDYrgDYrtisANiu2K0A2K7ZhQDYrtmJANiu2YoA2K8A2LAA2LDZsADYsQDYsdiz2YjZhADYsdmwANix24zYp9mEANiyANizANiz2KwA2LPYrNitANiz2KzZ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AOGEjQDhhI4A4YSPAOGEkADhhJEA4YSSAOGElADhhJUA4YSaAOGEnADhhJ0A4YSeAOGEoADhhKEA4YSiAOGEowDhhKcA4YSpAOGEqwDhhKwA4YStAOGErgDhhK8A4YSyAOGEtgDhhYAA4YWHAOGFjADhhZcA4YWYAOGFmQDhhaAA4YWhAOGFogDhhaMA4YWkAOGFpQDhhaYA4YWnAOGFqADhhakA4YWqAOGFqwDhhawA4YWtAOGFrgDhha8A4YWwAOGFsQDhhbIA4YWzAOGFtADhhbUA4YaEAOGGhQDhhogA4YaRAOGGkgDhhpQA4YaeAOGGoQDhhqoA4YasAOGGrQDhhrAA4YaxAOGGsgDhhrMA4Ya0AOGGtQDhh4cA4YeIAOGHjADhh44A4YeTAOGHlwDhh5kA4YedAOGHnwDhh7EA4YeyAOGshgDhrIgA4ayKAOGsjADhrI4A4aySAOGsuwDhrL0A4a2AAOGtgQDhrYMA4bSCAOG0lgDhtJcA4bScAOG0nQDhtKUA4bW7AOG2hQDhuIAA4biBAOG4ggDhuIMA4biEAOG4hQDhuIYA4biHAOG4iADhuIkA4biKAOG4iwDhuIwA4biNAOG4jgDhuI8A4biQAOG4kQDhuJIA4biTAOG4lADhuJUA4biWAOG4lwDhuJgA4biZAOG4mgDhuJsA4bicAOG4nQDhuJ4A4bifAOG4oADhuKEA4biiAOG4owDhuKQA4bilAOG4pgDhuKcA4bioAOG4qQDhuKoA4birAOG4rADhuK0A4biuAOG4rwDhuLAA4bixAOG4sgDhuLMA4bi0AOG4tQDhuLYA4bi3AOG4uADhuLkA4bi6AOG4uwDhuLwA4bi9AOG4vgDhuL8A4bmAAOG5gQDhuYIA4bmDAOG5hADhuYUA4bmGAOG5hwDhuYgA4bmJAOG5igDhuYsA4bmMAOG5jQDhuY4A4bmPAOG5kADhuZEA4bmSAOG5kwDhuZQA4bmVAOG5lgDhuZcA4bmYAOG5mQDhuZoA4bmbAOG5nADhuZ0A4bmeAOG5nwDhuaAA4bmhAOG5ogDhuaMA4bmkAOG5pQDhuaYA4bmnAOG5qADhuakA4bmqAOG5qwDhuawA4bmtAOG5rgDhua8A4bmwAOG5sQDhubIA4bmzAOG5tADhubUA4bm2AOG5twDhubgA4bm5AOG5ugDhubsA4bm8AOG5vQDhub4A4bm/AOG6gADhuoEA4bqCAOG6gwDhuoQA4bqFAOG6hgDhuocA4bqIAOG6iQDhuooA4bqLAOG6jADhuo0A4bqOAOG6jwDhupAA4bqRAOG6kgDhupMA4bqUAOG6lQDhupYA4bqXAOG6mADhupkA4bqgAOG6oQDhuqIA4bqjAOG6pADhuqUA4bqmAOG6pwDhuqgA4bqpAOG6qgDhuqsA4bqsAOG6rQDhuq4A4bqvAOG6sADhurEA4bqyAOG6swDhurQA4bq1AOG6tgDhurcA4bq4AOG6uQDhuroA4bq7AOG6vADhur0A4bq+AOG6vwDhu4AA4buBAOG7ggDhu4MA4buEAOG7hQDhu4YA4buHAOG7iADhu4kA4buKAOG7iwDhu4wA4buNAOG7jgDhu48A4buQAOG7kQDhu5IA4buTAOG7lADhu5UA4buWAOG7lwDhu5gA4buZAOG7mgDhu5sA4bucAOG7nQDhu54A4bufAOG7oADhu6EA4buiAOG7owDhu6QA4bulAOG7pgDhu6cA4buoAOG7qQDhu6oA4burAOG7rADhu60A4buuAOG7rwDhu7AA4buxAOG7sgDhu7MA4bu0AOG7tQDhu7YA4bu3AOG7uADhu7kA4byAAOG8gQDhvIIA4byDAOG8hADhvIUA4byGAOG8hwDhvIgA4byJAOG8igDhvIsA4byMAOG8jQDhvI4A4byPAOG8kADhvJEA4bySAOG8kwDhvJQA4byVAOG8mADhvJkA4byaAOG8mwDhvJwA4bydAOG8oADhvKEA4byiAOG8owDhvKQA4bylAOG8pgDhvKcA4byoAOG8qQDhvKoA4byrAOG8rADhvK0A4byuAOG8rwDhvLAA4byxAOG8sgDhvLMA4by0AOG8tQDhvLYA4by3AOG8uADhvLkA4by6AOG8uwDhvLwA4by9AOG8vgDhvL8A4b2AAOG9gQDhvYIA4b2DAOG9hADhvYUA4b2IAOG9iQDhvYoA4b2LAOG9jADhvY0A4b2QAOG9kQDhvZIA4b2TAOG9lADhvZUA4b2WAOG9lwDhvZkA4b2bAOG9nQDhvZ8A4b2gAOG9oQDhvaIA4b2jAOG9pADhvaUA4b2mAOG9pwDhvagA4b2pAOG9qgDhvasA4b2sAOG9rQDhva4A4b2vAOG9sADhvbIA4b20AOG9tgDhvbgA4b26AOG9vADhvoAA4b6BAOG+ggDhvoMA4b6EAOG+hQDhvoYA4b6HAOG+iADhvokA4b6KAOG+iwDhvowA4b6NAOG+jgDhvo8A4b6QAOG+kQDhvpIA4b6TAOG+lADhvpUA4b6WAOG+lwDhvpgA4b6ZAOG+mgDhvpsA4b6cAOG+nQDhvp4A4b6fAOG+oADhvqEA4b6iAOG+owDhvqQA4b6lAOG+pgDhvqcA4b6oAOG+qQDhvqoA4b6rAOG+rADhvq0A4b6uAOG+rwDhvrAA4b6xAOG+sgDhvrMA4b60AOG+tgDhvrcA4b64AOG+uQDhvroA4b68AOG/ggDhv4MA4b+EAOG/hgDhv4cA4b+IAOG/igDhv4wA4b+QAOG/kQDhv5IA4b+WAOG/lwDhv5gA4b+ZAOG/mgDhv6AA4b+hAOG/ogDhv6QA4b+lAOG/pgDhv6cA4b+oAOG/qQDhv6oA4b+sAOG/sgDhv7MA4b+0AOG/tgDhv7cA4b+4AOG/ugDhv7wA4oCQAOKAkwDigJQA4oCy4oCyAOKAsuKAsuKAsgDigLLigLLigLLigLIA4oC14oC1AOKAteKAteKAtQDigqkA4oaQAOKGkQDihpIA4oaTAOKGmgDihpsA4oauAOKHjQDih44A4oePAOKIggDiiIQA4oiHAOKIiQDiiIwA4oiRAOKIkgDiiKQA4oimAOKIq+KIqwDiiKviiKviiKsA4oir4oir4oir4oirAOKIruKIrgDiiK7iiK7iiK4A4omBAOKJhADiiYcA4omJAOKJoADiiaIA4omtAOKJrgDiia8A4omwAOKJsQDiibQA4om1AOKJuADiibkA4oqAAOKKgQDiioQA4oqFAOKKiADiiokA4oqsAOKKrQDiiq4A4oqvAOKLoADii6EA4ouiAOKLowDii6oA4ourAOKLrADii60A4pSCAOKWoADil4sA4qaFAOKmhgDiq53MuADitaEA44CBAOOAggDjgIgA44CJAOOAigDjgIsA44CMAOOAjQDjgI4A44CPAOOAkADjgJEA44CSAOOAlADjgJRT44CVAOOAlOS4ieOAlQDjgJTkuozjgJUA44CU5Yud44CVAOOAlOWuieOAlQDjgJTmiZPjgJUA44CU5pWX44CVAOOAlOacrOOAlQDjgJTngrnjgJUA44CU55uX44CVAOOAlQDjgJYA44CXAOOBjADjgY4A44GQAOOBkgDjgZQA44GWAOOBmADjgZoA44GcAOOBngDjgaAA44GiAOOBpQDjgacA44GpAOOBsADjgbEA44GzAOOBtADjgbYA44G3AOOBuQDjgboA44G744GLAOOBvADjgb0A44KI44KKAOOClADjgpkA44KaAOOCngDjgqEA44KiAOOCouODkeODvOODiADjgqLjg6vjg5XjgqEA44Ki44Oz44Oa44KiAOOCouODvOODqwDjgqMA44KkAOOCpOODi+ODs+OCsADjgqTjg7Pjg4EA44KlAOOCpgDjgqbjgqnjg7MA44KnAOOCqADjgqjjgrnjgq/jg7zjg4kA44Ko44O844Kr44O8AOOCqQDjgqoA44Kq44Oz44K5AOOCquODvOODoADjgqsA44Kr44Kk44OqAOOCq+ODqeODg+ODiADjgqvjg63jg6rjg7wA44KsAOOCrOODreODswDjgqzjg7Pjg54A44KtAOOCreODpeODquODvADjgq3jg60A44Kt44Ot44Kw44Op44OgAOOCreODreODoeODvOODiOODqwDjgq3jg63jg6/jg4Pjg4gA44KuAOOCruOCrADjgq7jg4vjg7wA44Ku44Or44OA44O8AOOCrwDjgq/jg6vjgrzjgqTjg60A44Kv44Ot44O844ONAOOCsADjgrDjg6njg6AA44Kw44Op44Og44OI44OzAOOCsQDjgrHjg7zjgrkA44KyAOOCswDjgrPjgrMA44Kz44OIAOOCs+ODq+ODigDjgrPjg7zjg50A44K0AOOCtQDjgrXjgqTjgq/jg6sA44K144Oz44OB44O844OgAOOCtgDjgrcA44K344Oq44Oz44KwAOOCuADjgrkA44K6AOOCuwDjgrvjg7Pjg4EA44K744Oz44OIAOOCvADjgr0A44K+AOOCvwDjg4AA44OA44O844K5AOODgQDjg4IA44ODAOODhADjg4UA44OGAOODhwDjg4fjgrcA44OIAOODiOODswDjg4kA44OJ44OrAOODigDjg4rjg44A44OLAOODjADjg40A44OOAOODjuODg+ODiADjg48A44OP44Kk44OEAOODkADjg5Djg7zjg6zjg6sA44ORAOODkeODvOOCu+ODs+ODiADjg5Hjg7zjg4QA44OSAOODkwDjg5Pjg6sA44OUAOODlOOCouOCueODiOODqwDjg5Tjgq/jg6sA44OU44KzAOODlQDjg5XjgqHjg6njg4Pjg4kA44OV44Kj44O844OIAOODleODqeODswDjg5YA44OW44OD44K344Kn44OrAOODlwDjg5gA44OY44Kv44K/44O844OrAOODmOODq+ODhADjg5kA44OZ44O844K/AOODmgDjg5rjgr0A44Oa44OL44OSAOODmuODs+OCuQDjg5rjg7zjgrgA44ObAOODm+ODswDjg5vjg7zjg6sA44Ob44O844OzAOODnADjg5zjg6vjg4gA44OdAOODneOCpOODs+ODiADjg53jg7Pjg4kA44OeAOODnuOCpOOCr+ODrQDjg57jgqTjg6sA44Oe44OD44OPAOODnuODq+OCrwDjg57jg7Pjgrfjg6fjg7MA44OfAOODn+OCr+ODreODswDjg5/jg6oA44Of44Oq44OQ44O844OrAOODoADjg6EA44Oh44KsAOODoeOCrOODiOODswDjg6Hjg7zjg4jjg6sA44OiAOODowDjg6QA44Ok44O844OJAOODpOODvOODqwDjg6UA44OmAOODpuOCouODswDjg6cA44OoAOODqQDjg6oA44Oq44OD44OI44OrAOODquODqQDjg6sA44Or44OU44O8AOODq+ODvOODluODqwDjg6wA44Os44OgAOODrOODs+ODiOOCsuODswDjg60A44OvAOODr+ODg+ODiADjg7AA44OxAOODsgDjg7MA44O0AOODtwDjg7gA44O5AOODugDjg7sA44O8AOODvgDjkp4A45K5AOOSuwDjk58A45SVAOObrgDjm7wA456BAOOgrwDjoaIA46G8AOOjhwDjo6MA46ScAOOkugDjqK4A46msAOOrpADjrIgA46yZAOOtiQDjrp0A47CYAOOxjgDjtLMA47aWAOO6rADjurgA47ybAOO/vADkgIgA5ICYAOSAuQDkgYYA5IKWAOSDowDkhK8A5IiCAOSIpwDkiqAA5IyBAOSMtADkjZkA5I+VAOSPmQDkkIsA5JGrAOSUqwDklZ0A5JWhAOSVqwDkl5cA5Je5AOSYtQDkmr4A5JuHAOSmlQDkp6YA5KmuAOSptgDkqrIA5KyzAOSvjgDks44A5LOtAOSzuADktZYA5LiAAOS4gQDkuIMA5LiJAOS4igDkuIsA5LiNAOS4mQDkuKYA5Lio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jQDmr5QA5q+bAOawjwDmsJQA5rC0AOaxjgDmsacA5rKIAOayvwDms4wA5rONAOazpQDms6gA5rSWAOa0mwDmtJ4A5rS0AOa0vgDmtYEA5rWpAOa1qgDmtbcA5rW4AOa2hQDmt4sA5reaAOa3qgDmt7kA5riaAOa4rwDmua4A5rqAAOa6nADmuroA5ruHAOa7iwDmu5EA5rubAOa8jwDmvJQA5ryiAOa8owDmva4A5r+GAOa/qwDmv74A54CbAOeAngDngLkA54GKAOeBqwDngbAA54G3AOeBvQDngpkA54KtAOeDiADng5kA54ShAOeFhQDnhYkA54WuAOeGnADnh44A54eQAOeIkADniJsA54ioAOeIqgDniKsA54i1AOeItgDniLsA54i/AOeJhwDniZAA54mZAOeJmwDniaIA54m5AOeKgADnipUA54qsAOeKrwDni4AA54u8AOeMqgDnjbUA5426AOeOhADnjocA546JAOeOiwDnjqUA546yAOePngDnkIYA55CJAOeQogDnkYcA55GcAOeRqQDnkbEA55KFAOeSiQDnkpgA55OKAOeTnADnk6YA55SGAOeUmADnlJ8A55SkAOeUqADnlLAA55SyAOeUswDnlLcA55S7AOeUvgDnlZkA55WlAOeVsADnlosA55aSAOeXogDnmJAA55idAOeYnwDnmYIA55mpAOeZtgDnmb0A55quAOeavwDnm4oA55ubAOebowDnm6cA55uuAOebtADnnIEA55yeAOecnwDnnYAA552KAOeeiwDnnqcA55+bAOefogDnn7MA56GOAOehqwDnoowA56KRAOejigDno4wA56O7AOekqgDnpLoA56S8AOekvgDnpYgA56WJAOelkADnpZYA56WdAOelngDnpaUA56W/AOemgQDnpo0A56aOAOemjwDnpq4A56a4AOemvgDnp4oA56eYAOenqwDnqJwA56mAAOepigDnqY8A56m0AOepugDnqoEA56qxAOeriwDnq64A56u5AOesoADnro8A56+AAOevhgDnr4kA57C+AOexoADnsbMA57G7AOeykgDnsr4A57OSAOezlgDns6MA57OnAOezqADns7gA57SAAOe0kADntKIA57SvAOe1ggDntZsA57WjAOe2oADntr4A57eHAOe3tADnuIIA57iJAOe4twDnuYEA57mFAOe8tgDnvL4A572RAOe9sgDnvbkA5726AOe+hQDnvooA576VAOe+mgDnvr0A57+6AOiAgQDogIUA6ICMAOiAkgDogLMA6IGGAOiBoADoga8A6IGwAOiBvgDogb8A6IKJAOiCiwDogq0A6IKyAOiEgwDohL4A6IeYAOiHowDoh6gA6IeqAOiHrQDoh7MA6Ie8AOiIgQDoiIQA6IiMAOiImADoiJsA6IifAOiJrgDoia8A6ImyAOiJuADoibkA6IqLAOiKkQDoip0A6IqxAOiKswDoir0A6IulAOiLpgDojJ0A6IyjAOiMtgDojZIA6I2TAOiNowDojq0A6I69AOiPiQDoj4oA6I+MAOiPnADoj6cA6I+vAOiPsQDokL0A6JGJAOiRlwDok64A6JOxAOiTswDok7wA6JSWAOiVpADol40A6Je6AOiYhgDomJIA6JitAOiYvwDomY0A6JmQAOiZnADomacA6JmpAOiZqwDomogA6JqpAOibogDonI4A6JyoAOidqwDonbkA6J6GAOieugDon6EA6KCBAOignwDooYAA6KGMAOihoADooaMA6KOCAOijjwDoo5cA6KOeAOijoQDoo7gA6KO6AOikkADopYEA6KWkAOilvgDopoYA6KaLAOimlgDop5IA6KejAOiogADoqqAA6KqqAOiqvwDoq4sA6KuSAOirlgDoq60A6Ku4AOirvgDorIEA6Ky5AOitmADoroAA6K6KAOiwtwDosYYA6LGIAOixlQDosbgA6LKdAOiyoQDosqkA6LKrAOizgQDos4IA6LOHAOiziADos5MA6LSIAOi0mwDotaQA6LWwAOi1twDotrMA6La8AOi3iwDot68A6LewAOi6qwDou4oA6LuUAOi8pgDovKoA6Ly4AOi8uwDovaIA6L6bAOi+ngDovrAA6L61AOi+tgDpgKMA6YC4AOmBigDpgakA6YGyAOmBvADpgo8A6YKRAOmClADpg44A6YOeAOmDsQDpg70A6YSRAOmEmwDphYkA6YWqAOmGmQDphrQA6YeGAOmHjADph48A6YeRAOmItADpiLgA6Ym2AOmJvADpi5cA6YuYAOmMhADpjYoA6Y+5AOmQlQDplbcA6ZaAAOmWiwDplq0A6Za3AOmYnADpmK4A6ZmLAOmZjQDpmbUA6Zm4AOmZvADpmoYA6ZqjAOmatgDpmrcA6Zq4AOmauQDpm4MA6ZuiAOmbowDpm6gA6Zu2AOmbtwDpnKMA6ZyyAOmdiADpnZEA6Z2WAOmdngDpnaIA6Z2pAOmfiwDpn5sA6Z+gAOmfrQDpn7MA6Z+/AOmggQDpoIUA6aCLAOmgmADpoKkA6aC7AOmhngDpoqgA6aObAOmjnwDpo6IA6aOvAOmjvADppKgA6aSpAOmmlgDpppkA6aanAOmmrADpp4IA6aexAOmnvgDpqaoA6aqoAOmrmADpq58A6aySAOmspQDprK8A6ayyAOmsvADprZoA6a2vAOmxgADpsZcA6bOlAOmzvQDptacA6ba0AOm3ugDpuJ4A6bm1AOm5vwDpupcA6bqfAOm6pQDpursA6buDAOm7jQDpu44A6buRAOm7uQDpu70A6bu+AOm8hQDpvI4A6byPAOm8kwDpvJYA6bygAOm8uwDpvYMA6b2KAOm9kgDpvo0A6b6OAOm+nADpvp8A6b6gAOqcpwDqna8A6qy3AOqtkgDqsIAA6rCBAOqwggDqsIMA6rCEAOqwhQDqsIYA6rCHAOqwiADqsIkA6rCKAOqwiwDqsIwA6rCNAOqwjgDqsI8A6rCQAOqwkQDqsJIA6rCTAOqwlADqsJUA6rCWAOqwlwDqsJgA6rCZAOqwmgDqsJsA6rCcAOqwnQDqsJ4A6rCfAOqwoADqsKEA6rCiAOqwowDqsKQA6rClAOqwpgDqsKcA6rCoAOqwqQDqsKoA6rCrAOqwrADqsK0A6rCuAOqwrwDqsLAA6rCxAOqwsgDqsLMA6rC0AOqwtQDqsLYA6rC3AOqwuADqsLkA6rC6AOqwuwDqsLwA6rC9AOqwvgDqsL8A6rGAAOqxgQDqsYIA6rGDAOqxhADqsYUA6rGGAOqxhwDqsYgA6rGJAOqxigDqsYsA6rGMAOqxjQDqsY4A6rGPAOqxkADqsZEA6rGSAOqxkwDqsZQA6rGVAOqxlgDqsZcA6rGYAOqxmQDqsZoA6rGbAOqxnADqsZ0A6rGeAOqxnwDqsaAA6rGhAOqxogDqsaMA6rGkAOqxpQDqsaYA6rGnAOqxqADqsakA6rGqAOqxqwDqsawA6rGtAOqxrgDqsa8A6rGwAOqxsQDqsbIA6rGzAOqxtADqsbUA6rG2AOqxtwDqsbgA6rG5AOqxugDqsbsA6rG8AOqxvQDqsb4A6rG/AOqygADqsoEA6rKCAOqygwDqsoQA6rKFAOqyhgDqsocA6rKIAOqyiQDqsooA6rKLAOqyjADqso0A6rKOAOqyjwDqspAA6rKRAOqykgDqspMA6rKUAOqylQDqspYA6rKXAOqymADqspkA6rKaAOqymwDqspwA6rKdAOqyngDqsp8A6rKgAOqyoQDqsqIA6rKjAOqypADqsqUA6rKmAOqypwDqsqgA6rKpAOqyqgDqsqsA6rKsAOqyrQDqsq4A6rKvAOqysADqsrEA6rKyAOqyswDqsrQA6rK1AOqytgDqsrcA6rK4AOqyuQDqsroA6rK7AOqyvADqsr0A6rK+AOqyvwDqs4AA6rOBAOqzggDqs4MA6rOEAOqzhQDqs4YA6rOHAOqziADqs4kA6rOKAOqziwDqs4wA6rONAOqzjgDqs48A6rOQAOqzkQDqs5IA6rOTAOqzlADqs5UA6rOWAOqzlwDqs5gA6rOZAOqzmgDqs5sA6rOcAOqznQDqs54A6rOfAOqzoADqs6EA6rOiAOqzowDqs6QA6rOlAOqzpgDqs6cA6rOoAOqzqQDqs6oA6rOrAOqzrADqs60A6rOuAOqzrwDqs7AA6rOxAOqzsgDqs7MA6rO0AOqztQDqs7YA6rO3AOqzuADqs7kA6rO6AOqzuwDqs7wA6rO9AOqzvgDqs78A6rSAAOq0gQDqtIIA6rSDAOq0hADqtIUA6rSGAOq0hwDqtIgA6rSJAOq0igDqtIsA6rSMAOq0jQDqtI4A6rSPAOq0kADqtJEA6rSSAOq0kwDqtJQA6rSVAOq0lgDqtJcA6rSYAOq0mQDqtJoA6rSbAOq0nADqtJ0A6rSeAOq0nwDqtKAA6rShAOq0ogDqtKMA6rSkAOq0pQDqtKYA6rSnAOq0qADqtKkA6rSqAOq0qwDqtKwA6rStAOq0rgDqtK8A6rSwAOq0sQDqtLIA6rSzAOq0tADqtLUA6rS2AOq0twDqtLgA6rS5AOq0ugDqtLsA6rS8AOq0vQDqtL4A6rS/AOq1gADqtYEA6rWCAOq1gwDqtYQA6rWFAOq1hgDqtYcA6rWIAOq1iQDqtYoA6rWLAOq1jADqtY0A6rWOAOq1jwDqtZAA6rWRAOq1kgDqtZMA6rWUAOq1lQDqtZYA6rWXAOq1mADqtZkA6rWaAOq1mwDqtZwA6rWdAOq1ngDqtZ8A6rWgAOq1oQDqtaIA6rWjAOq1pADqtaUA6rWmAOq1pwDqtagA6rWpAOq1qgDqtasA6rWsAOq1rQDqta4A6rWvAOq1sADqtbEA6rWyAOq1swDqtbQA6rW1AOq1tgDqtbcA6rW4AOq1uQDqtboA6rW7AOq1vADqtb0A6rW+AOq1vwDqtoAA6raBAOq2ggDqtoMA6raEAOq2hQDqtoYA6raHAOq2iADqtokA6raKAOq2iwDqtowA6raNAOq2jgDqto8A6raQAOq2kQDqtpIA6raTAOq2lADqtpUA6raWAOq2lwDqtpgA6raZAOq2mgDqtpsA6racAOq2nQDqtp4A6rafAOq2oADqtqEA6raiAOq2owDqtqQA6ralAOq2pgDqtqcA6raoAOq2qQDqtqoA6rarAOq2rADqtq0A6rauAOq2rwDqtrAA6raxAOq2sgDqtrMA6ra0AOq2tQDqtrYA6ra3AOq2uADqtrkA6ra6AOq2uwDqtrwA6ra9AOq2vgDqtr8A6reAAOq3gQDqt4IA6reDAOq3hADqt4UA6reGAOq3hwDqt4gA6reJAOq3igDqt4sA6reMAOq3jQDqt44A6rePAOq3kADqt5EA6reSAOq3kwDqt5QA6reVAOq3lgDqt5cA6reYAOq3mQDqt5oA6rebAOq3nADqt50A6reeAOq3nwDqt6AA6rehAOq3ogDqt6MA6rekAOq3pQDqt6YA6renAOq3qADqt6kA6reqAOq3qwDqt6wA6retAOq3rgDqt68A6rewAOq3sQDqt7IA6rezAOq3tADqt7UA6re2AOq3twDqt7gA6re5AOq3ugDqt7sA6re8AOq3vQDqt74A6re/AOq4gADquIEA6riCAOq4gwDquIQA6riFAOq4hgDquIcA6riIAOq4iQDquIoA6riLAOq4jADquI0A6riOAOq4jwDquJAA6riRAOq4kgDquJMA6riUAOq4lQDquJYA6riXAOq4mADquJkA6riaAOq4mwDquJwA6ridAOq4ngDquJ8A6rigAOq4oQDquKIA6rijAOq4pADquKUA6rimAOq4pwDquKgA6ripAOq4qgDquKsA6risAOq4rQDquK4A6rivAOq4sADquLEA6riyAOq4swDquLQA6ri1AOq4tgDquLcA6ri4AOq4uQDquLoA6ri7AOq4vADquL0A6ri+AOq4vwDquYAA6rmBAOq5ggDquYMA6rmEAOq5hQDquYYA6rmHAOq5iADquYkA6rmKAOq5iwDquYwA6rmNAOq5jgDquY8A6rmQAOq5kQDquZIA6rmTAOq5lADquZUA6rmWAOq5lwDquZgA6rmZAOq5mgDquZsA6rmcAOq5nQDquZ4A6rmfAOq5oADquaEA6rmiAOq5owDquaQA6rmlAOq5pgDquacA6rmoAOq5qQDquaoA6rmrAOq5rADqua0A6rmuAOq5rwDqubAA6rmxAOq5sgDqubMA6rm0AOq5tQDqubYA6rm3AOq5uADqubkA6rm6AOq5uwDqubwA6rm9AOq5vgDqub8A6rqAAOq6gQDquoIA6rqDAOq6hADquoUA6rqGAOq6hwDquogA6rqJAOq6igDquosA6rqMAOq6jQDquo4A6rqPAOq6kADqupEA6rqSAOq6kwDqupQA6rqVAOq6lgDqupcA6rqYAOq6mQDqupoA6rqbAOq6nADqup0A6rqeAOq6nwDquqAA6rqhAOq6ogDquqMA6rqkAOq6pQDquqYA6rqnAOq6qADquqkA6rqqAOq6qwDquqwA6rqtAOq6rgDquq8A6rqwAOq6sQDqurIA6rqzAOq6tADqurUA6rq2AOq6twDqurgA6rq5AOq6ugDqursA6rq8AOq6vQDqur4A6rq/AOq7gADqu4EA6ruCAOq7gwDqu4QA6ruFAOq7hgDqu4cA6ruIAOq7iQDqu4oA6ruLAOq7jADqu40A6ruOAOq7jwDqu5AA6ruRAOq7kgDqu5MA6ruUAOq7lQDqu5YA6ruXAOq7mADqu5kA6ruaAOq7mwDqu5wA6rudAOq7ngDqu58A6rugAOq7oQDqu6IA6rujAOq7pADqu6UA6rumAOq7pwDqu6gA6rupAOq7qgDqu6sA6rusAOq7rQDqu64A6ruvAOq7sADqu7EA6ruyAOq7swDqu7QA6ru1AOq7tgDqu7cA6ru4AOq7uQDqu7oA6ru7AOq7vADqu70A6ru+AOq7vwDqvIAA6ryBAOq8ggDqvIMA6ryEAOq8hQDqvIYA6ryHAOq8iADqvIkA6ryKAOq8iwDqvIwA6ryNAOq8jgDqvI8A6ryQAOq8kQDqvJIA6ryTAOq8lADqvJUA6ryWAOq8lwDqvJgA6ryZAOq8mgDqvJsA6rycAOq8nQDqvJ4A6ryfAOq8oADqvKEA6ryiAOq8owDqvKQA6rylAOq8pgDqvKcA6ryoAOq8qQDqvKoA6ryrAOq8rADqvK0A6ryuAOq8rwDqvLAA6ryxAOq8sgDqvLMA6ry0AOq8tQDqvLYA6ry3AOq8uADqvLkA6ry6AOq8uwDqvLwA6ry9AOq8vgDqvL8A6r2AAOq9gQDqvYIA6r2DAOq9hADqvYUA6r2GAOq9hwDqvYgA6r2JAOq9igDqvYsA6r2MAOq9jQDqvY4A6r2PAOq9kADqvZEA6r2SAOq9kwDqvZQA6r2VAOq9lgDqvZcA6r2YAOq9mQDqvZoA6r2bAOq9nADqvZ0A6r2eAOq9nwDqvaAA6r2hAOq9ogDqvaMA6r2kAOq9pQDqvaYA6r2nAOq9qADqvakA6r2qAOq9qwDqvawA6r2tAOq9rgDqva8A6r2wAOq9sQDqvbIA6r2zAOq9tADqvbUA6r22AOq9twDqvbgA6r25AOq9ugDqvbsA6r28AOq9vQDqvb4A6r2/AOq+gADqvoEA6r6CAOq+gwDqvoQA6r6FAOq+hgDqvocA6r6IAOq+iQDqvooA6r6LAOq+jADqvo0A6r6OAOq+jwDqvpAA6r6RAOq+kgDqvpMA6r6UAOq+lQDqvpYA6r6XAOq+mADqvpkA6r6aAOq+mwDqvpwA6r6dAOq+ngDqvp8A6r6gAOq+oQDqvqIA6r6jAOq+pADqvqUA6r6mAOq+pwDqvqgA6r6pAOq+qgDqvqsA6r6sAOq+rQDqvq4A6r6vAOq+sADqvrEA6r6yAOq+swDqvrQA6r61AOq+tgDqvrcA6r64AOq+uQDqvroA6r67AOq+vADqvr0A6r6+AOq+vwDqv4AA6r+BAOq/ggDqv4MA6r+EAOq/hQDqv4YA6r+HAOq/iADqv4kA6r+KAOq/iwDqv4wA6r+NAOq/jgDqv48A6r+QAOq/kQDqv5IA6r+TAOq/lADqv5UA6r+WAOq/lwDqv5gA6r+ZAOq/mgDqv5sA6r+cAOq/nQDqv54A6r+fAOq/oADqv6EA6r+iAOq/owDqv6QA6r+lAOq/pgDqv6cA6r+oAOq/qQDqv6oA6r+rAOq/rADqv60A6r+uAOq/rwDqv7AA6r+xAOq/sgDqv7MA6r+0AOq/tQDqv7YA6r+3AOq/uADqv7kA6r+6AOq/uwDqv7wA6r+9AOq/vgDqv78A64CAAOuAgQDrgIIA64CDAOuAhADrgIUA64CGAOuAhwDrgIgA64CJAOuAigDrgIsA64CMAOuAjQDrgI4A64CPAOuAkADrgJEA64CSAOuAkwDrgJQA64CVAOuAlgDrgJcA64CYAOuAmQDrgJoA64CbAOuAnADrgJ0A64CeAOuAnwDrgKAA64ChAOuAogDrgKMA64CkAOuApQDrgKYA64CnAOuAqADrgKkA64CqAOuAqwDrgKwA64CtAOuArgDrgK8A64CwAOuAsQDrgLIA64CzAOuAtADrgLUA64C2AOuAtwDrgLgA64C5AOuAugDrgLsA64C8AOuAvQDrgL4A64C/AOuBgADrgYEA64GCAOuBgwDrgYQA64GFAOuBhgDrgYcA64GIAOuBiQDrgYoA64GLAOuBjADrgY0A64GOAOuBjwDrgZAA64GRAOuBkgDrgZMA64GUAOuBlQDrgZYA64GXAOuBmADrgZkA64GaAOuBmwDrgZwA64GdAOuBngDrgZ8A64GgAOuBoQDrgaIA64GjAOuBpADrgaUA64GmAOuBpwDrgagA64GpAOuBqgDrgasA64GsAOuBrQDrga4A64GvAOuBsADrgbEA64GyAOuBswDrgbQA64G1AOuBtgDrgbcA64G4AOuBuQDrgboA64G7AOuBvADrgb0A64G+AOuBvwDrgoAA64KBAOuCggDrgoMA64KEAOuChQDrgoYA64KHAOuCiADrgokA64KKAOuCiwDrgowA64KNAOuCjgDrgo8A64KQAOuCkQDrgpIA64KTAOuClADrgpUA64KWAOuClwDrgpgA64KZAOuCmgDrgpsA64KcAOuCnQDrgp4A64KfAOuCoADrgqEA64KiAOuCowDrgqQA64KlAOuCpgDrgqcA64KoAOuCqQDrgqoA64KrAOuCrADrgq0A64KuAOuCrwDrgrAA64KxAOuCsgDrgrMA64K0AOuCtQDrgrYA64K3AOuCuADrgrkA64K6AOuCuwDrgrwA64K9AOuCvgDrgr8A64OAAOuDgQDrg4IA64ODAOuDhADrg4UA64OGAOuDhwDrg4gA64OJAOuDigDrg4sA64OMAOuDjQDrg44A64OPAOuDkADrg5EA64OSAOuDkwDrg5QA64OVAOuDlgDrg5cA64OYAOuDmQDrg5oA64ObAOuDnADrg50A64OeAOuDnwDrg6AA64OhAOuDogDrg6MA64OkAOuDpQDrg6YA64OnAOuDqADrg6kA64OqAOuDqwDrg6wA64OtAOuDrgDrg68A64OwAOuDsQDrg7IA64OzAOuDtADrg7UA64O2AOuDtwDrg7gA64O5AOuDugDrg7sA64O8AOuDvQDrg74A64O/AOuEgADrhIEA64SCAOuEgwDrhIQA64SFAOuEhgDrhIcA64SIAOuEiQDrhIoA64SLAOuEjADrhI0A64SOAOuEjwDrhJAA64SRAOuEkgDrhJMA64SUAOuElQDrhJYA64SXAOuEmADrhJkA64SaAOuEmwDrhJwA64SdAOuEngDrhJ8A64SgAOuEoQDrhKIA64SjAOuEpADrhKUA64SmAOuEpwDrhKgA64SpAOuEqgDrhKsA64SsAOuErQDrhK4A64SvAOuEsADrhLEA64SyAOuEswDrhLQA64S1AOuEtgDrhLcA64S4AOuEuQDrhLoA64S7AOuEvADrhL0A64S+AOuEvwDrhYAA64WBAOuFggDrhYMA64WEAOuFhQDrhYYA64WHAOuFiADrhYkA64WKAOuFiwDrhYwA64WNAOuFjgDrhY8A64WQAOuFkQDrhZIA64WTAOuFlADrhZUA64WWAOuFlwDrhZgA64WZAOuFmgDrhZsA64WcAOuFnQDrhZ4A64WfAOuFoADrhaEA64WiAOuFowDrhaQA64WlAOuFpgDrhacA64WoAOuFqQDrhaoA64WrAOuFrADrha0A64WuAOuFrwDrhbAA64WxAOuFsgDrhbMA64W0AOuFtQDrhbYA64W3AOuFuADrhbkA64W6AOuFuwDrhbwA64W9AOuFvgDrhb8A64aAAOuGgQDrhoIA64aDAOuGhADrhoUA64aGAOuGhwDrhogA64aJAOuGigDrhosA64aMAOuGjQDrho4A64aPAOuGkADrhpEA64aSAOuGkwDrhpQA64aVAOuGlgDrhpcA64aYAOuGmQDrhpoA64abAOuGnADrhp0A64aeAOuGnwDrhqAA64ahAOuGogDrhqMA64akAOuGpQDrhqYA64anAOuGqADrhqkA64aqAOuGqwDrhqwA64atAOuGrgDrhq8A64awAOuGsQDrhrIA64azAOuGtADrhrUA64a2AOuGtwDrhrgA64a5AOuGugDrhrsA64a8AOuGvQDrhr4A64a/AOuHgADrh4EA64eCAOuHgwDrh4QA64eFAOuHhgDrh4cA64eIAOuHiQDrh4oA64eLAOuHjADrh40A64eOAOuHjwDrh5AA64eRAOuHkgDrh5MA64eUAOuHlQDrh5YA64eXAOuHmADrh5kA64eaAOuHmwDrh5wA64edAOuHngDrh58A64egAOuHoQDrh6IA64ejAOuHpADrh6UA64emAOuHpwDrh6gA64epAOuHqgDrh6sA64esAOuHrQDrh64A64evAOuHsADrh7EA64eyAOuHswDrh7QA64e1AOuHtgDrh7cA64e4AOuHuQDrh7oA64e7AOuHvADrh70A64e+AOuHvwDriIAA64iBAOuIggDriIMA64iEAOuIhQDriIYA64iHAOuIiADriIkA64iKAOuIiwDriIwA64iNAOuIjgDriI8A64iQAOuIkQDriJIA64iTAOuIlADriJUA64iWAOuIlwDriJgA64iZAOuImgDriJsA64icAOuInQDriJ4A64ifAOuIoADriKEA64iiAOuIowDriKQA64ilAOuIpgDriKcA64ioAOuIqQDriKoA64irAOuIrADriK0A64iuAOuIrwDriLAA64ixAOuIsgDriLMA64i0AOuItQDriLYA64i3AOuIuADriLkA64i6AOuIuwDriLwA64i9AOuIvgDriL8A64mAAOuJgQDriYIA64mDAOuJhADriYUA64mGAOuJhwDriYgA64mJAOuJigDriYsA64mMAOuJjQDriY4A64mPAOuJkADriZEA64mSAOuJkwDriZQA64mVAOuJlgDriZcA64mYAOuJmQDriZoA64mbAOuJnADriZ0A64meAOuJnwDriaAA64mhAOuJogDriaMA64mkAOuJpQDriaYA64mnAOuJqADriakA64mqAOuJqwDriawA64mtAOuJrgDria8A64mwAOuJsQDribIA64mzAOuJtADribUA64m2AOuJtwDribgA64m5AOuJugDribsA64m8AOuJvQDrib4A64m/AOuKgADrioEA64qCAOuKgwDrioQA64qFAOuKhgDriocA64qIAOuKiQDriooA64qLAOuKjADrio0A64qOAOuKjwDripAA64qRAOuKkgDripMA64qUAOuKlQDripYA64qXAOuKmADripkA64qaAOuKmwDripwA64qdAOuKngDrip8A64qgAOuKoQDriqIA64qjAOuKpADriqUA64qmAOuKpwDriqgA64qpAOuKqgDriqsA64qsAOuKrQDriq4A64qvAOuKsADrirEA64qyAOuKswDrirQA64q1AOuKtgDrircA64q4AOuKuQDriroA64q7AOuKvADrir0A64q+AOuKvwDri4AA64uBAOuLggDri4MA64uEAOuLhQDri4YA64uHAOuLiADri4kA64uKAOuLiwDri4wA64uNAOuLjgDri48A64uQAOuLkQDri5IA64uTAOuLlADri5UA64uWAOuLlwDri5gA64uZAOuLmgDri5sA64ucAOuLnQDri54A64ufAOuLoADri6EA64uiAOuLowDri6QA64ulAOuLpgDri6cA64uoAOuLqQDri6oA64urAOuLrADri60A64uuAOuLrwDri7AA64uxAOuLsgDri7MA64u0AOuLtQDri7YA64u3AOuLuADri7kA64u6AOuLuwDri7wA64u9AOuLvgDri78A64yAAOuMgQDrjIIA64yDAOuMhADrjIUA64yGAOuMhwDrjIgA64yJAOuMigDrjIsA64yMAOuMjQDrjI4A64yPAOuMkADrjJEA64ySAOuMkwDrjJQA64yVAOuMlgDrjJcA64yYAOuMmQDrjJoA64ybAOuMnADrjJ0A64yeAOuMnwDrjKAA64yhAOuMogDrjKMA64ykAOuMpQDrjKYA64ynAOuMqADrjKkA64yqAOuMqwDrjKwA64ytAOuMrgDrjK8A64ywAOuMsQDrjLIA64yzAOuMtADrjLUA64y2AOuMtwDrjLgA64y5AOuMugDrjLsA64y8AOuMvQDrjL4A64y/AOuNgADrjYEA642CAOuNgwDrjYQA642FAOuNhgDrjYcA642IAOuNiQDrjYoA642LAOuNjADrjY0A642OAOuNjwDrjZAA642RAOuNkgDrjZMA642UAOuNlQDrjZYA642XAOuNmADrjZkA642aAOuNmwDrjZwA642dAOuNngDrjZ8A642gAOuNoQDrjaIA642jAOuNpADrjaUA642mAOuNpwDrjagA642pAOuNqgDrjasA642sAOuNrQDrja4A642vAOuNsADrjbEA642yAOuNswDrjbQA6421AOuNtgDrjbcA6424AOuNuQDrjboA6427AOuNvADrjb0A642+AOuNvwDrjoAA646BAOuOggDrjoMA646EAOuOhQDrjoYA646HAOuOiADrjokA646KAOuOiwDrjowA646NAOuOjgDrjo8A646QAOuOkQDrjpIA646TAOuOlADrjpUA646WAOuOlwDrjpgA646ZAOuOmgDrjpsA646cAOuOnQDrjp4A646fAOuOoADrjqEA646iAOuOowDrjqQA646lAOuOpgDrjqcA646oAOuOqQDrjqoA646rAOuOrADrjq0A646uAOuOrwDrjrAA646xAOuOsgDrjrMA6460AOuOtQDrjrYA6463AOuOuADrjrkA6466AOuOuwDrjrwA6469AOuOvgDrjr8A64+AAOuPgQDrj4IA64+DAOuPhADrj4UA64+GAOuPhwDrj4gA64+JAOuPigDrj4sA64+MAOuPjQDrj44A64+PAOuPkADrj5EA64+SAOuPkwDrj5QA64+VAOuPlgDrj5cA64+YAOuPmQDrj5oA64+bAOuPnADrj50A64+eAOuPnwDrj6AA64+hAOuPogDrj6MA64+kAOuPpQDrj6YA64+nAOuPqADrj6kA64+qAOuPqwDrj6wA64+tAOuPrgDrj68A64+wAOuPsQDrj7IA64+zAOuPtADrj7UA64+2AOuPtwDrj7gA64+5AOuPugDrj7sA64+8AOuPvQDrj74A64+/AOuQgADrkIEA65CCAOuQgwDrkIQA65CFAOuQhgDrkIcA65CIAOuQiQDrkIoA65CLAOuQjADrkI0A65COAOuQjwDrkJAA65CRAOuQkgDrkJMA65CUAOuQlQDrkJYA65CXAOuQmADrkJkA65CaAOuQmwDrkJwA65CdAOuQngDrkJ8A65CgAOuQoQDrkKIA65CjAOuQpADrkKUA65CmAOuQpwDrkKgA65CpAOuQqgDrkKsA65CsAOuQrQDrkK4A65CvAOuQsADrkLEA65CyAOuQswDrkLQA65C1AOuQtgDrkLcA65C4AOuQuQDrkLoA65C7AOuQvADrkL0A65C+AOuQvwDrkYAA65GBAOuRggDrkYMA65GEAOuRhQDrkYYA65GHAOuRiADrkYkA65GKAOuRiwDrkYwA65GNAOuRjgDrkY8A65GQAOuRkQDrkZIA65GTAOuRlADrkZUA65GWAOuRlwDrkZgA65GZAOuRmgDrkZsA65GcAOuRnQDrkZ4A65GfAOuRoADrkaEA65GiAOuRowDrkaQA65GlAOuRpgDrkacA65GoAOuRqQDrkaoA65GrAOuRrADrka0A65GuAOuRrwDrkbAA65GxAOuRsgDrkbMA65G0AOuRtQDrkbYA65G3AOuRuADrkbkA65G6AOuRuwDrkbwA65G9AOuRvgDrkb8A65KAAOuSgQDrkoIA65KDAOuShADrkoUA65KGAOuShwDrkogA65KJAOuSigDrkosA65KMAOuSjQDrko4A65KPAOuSkADrkpEA65KSAOuSkwDrkpQA65KVAOuSlgDrkpcA65KYAOuSmQDrkpoA65KbAOuSnADrkp0A65KeAOuSnwDrkqAA65KhAOuSogDrkqMA65KkAOuSpQDrkqYA65KnAOuSqADrkqkA65KqAOuSqwDrkqwA65KtAOuSrgDrkq8A65KwAOuSsQDrkrIA65KzAOuStADrkrUA65K2AOuStwDrkrgA65K5AOuSugDrkrsA65K8AOuSvQDrkr4A65K/AOuTgADrk4EA65OCAOuTgwDrk4QA65OFAOuThgDrk4cA65OIAOuTiQDrk4oA65OLAOuTjADrk40A65OOAOuTjwDrk5AA65ORAOuTkgDrk5MA65OUAOuTlQDrk5YA65OXAOuTmADrk5kA65OaAOuTmwDrk5wA65OdAOuTngDrk58A65OgAOuToQDrk6IA65OjAOuTpADrk6UA65OmAOuTpwDrk6gA65OpAOuTqgDrk6sA65OsAOuTrQDrk64A65OvAOuTsADrk7EA65OyAOuTswDrk7QA65O1AOuTtgDrk7cA65O4AOuTuQDrk7oA65O7AOuTvADrk70A65O+AOuTvwDrlIAA65SBAOuUggDrlIMA65SEAOuUhQDrlIYA65SHAOuUiADrlIkA65SKAOuUiwDrlIwA65SNAOuUjgDrlI8A65SQAOuUkQDrlJIA65STAOuUlADrlJUA65SWAOuUlwDrlJgA65SZAOuUmgDrlJsA65ScAOuUnQDrlJ4A65SfAOuUoADrlKEA65SiAOuUowDrlKQA65SlAOuUpgDrlKcA65SoAOuUqQDrlKoA65SrAOuUrADrlK0A65SuAOuUrwDrlLAA65SxAOuUsgDrlLMA65S0AOuUtQDrlLYA65S3AOuUuADrlLkA65S6AOuUuwDrlLwA65S9AOuUvgDrlL8A65WAAOuVgQDrlYIA65WDAOuVhADrlYUA65WGAOuVhwDrlYgA65WJAOuVigDrlYsA65WMAOuVjQDrlY4A65WPAOuVkADrlZEA65WSAOuVkwDrlZQA65WVAOuVlgDrlZcA65WYAOuVmQDrlZoA65WbAOuVnADrlZ0A65WeAOuVnwDrlaAA65WhAOuVogDrlaMA65WkAOuVpQDrlaYA65WnAOuVqADrlakA65WqAOuVqwDrlawA65WtAOuVrgDrla8A65WwAOuVsQDrlbIA65WzAOuVtADrlbUA65W2AOuVtwDrlbgA65W5AOuVugDrlbsA65W8AOuVvQDrlb4A65W/AOuWgADrloEA65aCAOuWgwDrloQA65aFAOuWhgDrlocA65aIAOuWiQDrlooA65aLAOuWjADrlo0A65aOAOuWjwDrlpAA65aRAOuWkgDrlpMA65aUAOuWlQDrlpYA65aXAOuWmADrlpkA65aaAOuWmwDrlpwA65adAOuWngDrlp8A65agAOuWoQDrlqIA65ajAOuWpADrlqUA65amAOuWpwDrlqgA65apAOuWqgDrlqsA65asAOuWrQDrlq4A65avAOuWsADrlrEA65ayAOuWswDrlrQA65a1AOuWtgDrlrcA65a4AOuWuQDrlroA65a7AOuWvADrlr0A65a+AOuWvwDrl4AA65eBAOuXggDrl4MA65eEAOuXhQDrl4YA65eHAOuXiADrl4kA65eKAOuXiwDrl4wA65eNAOuXjgDrl48A65eQAOuXkQDrl5IA65eTAOuXlADrl5UA65eWAOuXlwDrl5gA65eZAOuXmgDrl5sA65ecAOuXnQDrl54A65efAOuXoADrl6EA65eiAOuXowDrl6QA65elAOuXpgDrl6cA65eoAOuXqQDrl6oA65erAOuXrADrl60A65euAOuXrwDrl7AA65exAOuXsgDrl7MA65e0AOuXtQDrl7YA65e3AOuXuADrl7kA65e6AOuXuwDrl7wA65e9AOuXvgDrl78A65iAAOuYgQDrmIIA65iDAOuYhADrmIUA65iGAOuYhwDrmIgA65iJAOuYigDrmIsA65iMAOuYjQDrmI4A65iPAOuYkADrmJEA65iSAOuYkwDrmJQA65iVAOuYlgDrmJcA65iYAOuYmQDrmJoA65ibAOuYnADrmJ0A65ieAOuYnwDrmKAA65ihAOuYogDrmKMA65ikAOuYpQDrmKYA65inAOuYqADrmKkA65iqAOuYqwDrmKwA65itAOuYrgDrmK8A65iwAOuYsQDrmLIA65izAOuYtADrmLUA65i2AOuYtwDrmLgA65i5AOuYugDrmLsA65i8AOuYvQDrmL4A65i/AOuZgADrmYEA65mCAOuZgwDrmYQA65mFAOuZhgDrmYcA65mIAOuZiQDrmYoA65mLAOuZjADrmY0A65mOAOuZjwDrmZAA65mRAOuZkgDrmZMA65mUAOuZlQDrmZYA65mXAOuZmADrmZkA65maAOuZmwDrmZwA65mdAOuZngDrmZ8A65mgAOuZoQDrmaIA65mjAOuZpADrmaUA65mmAOuZpwDrmagA65mpAOuZqgDrmasA65msAOuZrQDrma4A65mvAOuZsADrmbEA65myAOuZswDrmbQA65m1AOuZtgDrmbcA65m4AOuZuQDrmboA65m7AOuZvADrmb0A65m+AOuZvwDrmoAA65qBAOuaggDrmoMA65qEAOuahQDrmoYA65qHAOuaiADrmokA65qKAOuaiwDrmowA65qNAOuajgDrmo8A65qQAOuakQDrmpIA65qTAOualADrmpUA65qWAOualwDrmpgA65qZAOuamgDrmpsA65qcAOuanQDrmp4A65qfAOuaoADrmqEA65qiAOuaowDrmqQA65qlAOuapgDrmqcA65qoAOuaqQDrmqoA65qrAOuarADrmq0A65quAOuarwDrmrAA65qxAOuasgDrmrMA65q0AOuatQDrmrYA65q3AOuauADrmrkA65q6AOuauwDrmrwA65q9AOuavgDrmr8A65uAAOubgQDrm4IA65uDAOubhADrm4UA65uGAOubhwDrm4gA65uJAOubigDrm4sA65uMAOubjQDrm44A65uPAOubkADrm5EA65uSAOubkwDrm5QA65uVAOublgDrm5cA65uYAOubmQDrm5oA65ubAOubnADrm50A65ueAOubnwDrm6AA65uhAOubogDrm6MA65ukAOubpQDrm6YA65unAOubqADrm6kA65uqAOubqwDrm6wA65utAOubrgDrm68A65uwAOubsQDrm7IA65uzAOubtADrm7UA65u2AOubtwDrm7gA65u5AOubugDrm7sA65u8AOubvQDrm74A65u/AOucgADrnIEA65yCAOucgwDrnIQA65yFAOuchgDrnIcA65yIAOuciQDrnIoA65yLAOucjADrnI0A65yOAOucjwDrnJAA65yRAOuckgDrnJMA65yUAOuclQDrnJYA65yXAOucmADrnJkA65yaAOucmwDrnJwA65ydAOucngDrnJ8A65ygAOucoQDrnKIA65yjAOucpADrnKUA65ymAOucpwDrnKgA65ypAOucqgDrnKsA65ysAOucrQDrnK4A65yvAOucsADrnLEA65yyAOucswDrnLQA65y1AOuctgDrnLcA65y4AOucuQDrnLoA65y7AOucvADrnL0A65y+AOucvwDrnYAA652BAOudggDrnYMA652EAOudhQDrnYYA652HAOudiADrnYkA652KAOudiwDrnYwA652NAOudjgDrnY8A652QAOudkQDrnZIA652TAOudlADrnZUA652WAOudlwDrnZgA652ZAOudmgDrnZsA652cAOudnQDrnZ4A652fAOudoADrnaEA652iAOudowDrnaQA652lAOudpgDrnacA652oAOudqQDrnaoA652rAOudrADrna0A652uAOudrwDrnbAA652xAOudsgDrnbMA6520AOudtQDrnbYA6523AOuduADrnbkA6526AOuduwDrnbwA6529AOudvgDrnb8A656AAOuegQDrnoIA656DAOuehADrnoUA656GAOuehwDrnogA656JAOueigDrnosA656MAOuejQDrno4A656PAOuekADrnpEA656SAOuekwDrnpQA656VAOuelgDrnpcA656YAOuemQDrnpoA656bAOuenADrnp0A656eAOuenwDrnqAA656hAOueogDrnqMA656kAOuepQDrnqYA656nAOueqADrnqkA656qAOueqwDrnqwA656tAOuergDrnq8A656wAOuesQDrnrIA656zAOuetADrnrUA6562AOuetwDrnrgA6565AOueugDrnrsA6568AOuevQDrnr4A656/AOufgADrn4EA65+CAOufgwDrn4QA65+FAOufhgDrn4cA65+IAOufiQDrn4oA65+LAOufjADrn40A65+OAOufjwDrn5AA65+RAOufkgDrn5MA65+UAOuflQDrn5YA65+XAOufmADrn5kA65+aAOufmwDrn5wA65+dAOufngDrn58A65+gAOufoQDrn6IA65+jAOufpADrn6UA65+mAOufpwDrn6gA65+pAOufqgDrn6sA65+sAOufrQDrn64A65+vAOufsADrn7EA65+yAOufswDrn7QA65+1AOuftgDrn7cA65+4AOufuQDrn7oA65+7AOufvADrn70A65++AOufvwDroIAA66CBAOugggDroIMA66CEAOughQDroIYA66CHAOugiADroIkA66CKAOugiwDroIwA66CNAOugjgDroI8A66CQAOugkQDroJIA66CTAOuglADroJUA66CWAOuglwDroJgA66CZAOugmgDroJsA66CcAOugnQDroJ4A66CfAOugoADroKEA66CiAOugowDroKQA66ClAOugpgDroKcA66CoAOugqQDroKoA66CrAOugrADroK0A66CuAOugrwDroLAA66CxAOugsgDroLMA66C0AOugtQDroLYA66C3AOuguADroLkA66C6AOuguwDroLwA66C9AOugvgDroL8A66GAAOuhgQDroYIA66GDAOuhhADroYUA66GGAOuhhwDroYgA66GJAOuhigDroYsA66GMAOuhjQDroY4A66GPAOuhkADroZEA66GSAOuhkwDroZQA66GVAOuhlgDroZcA66GYAOuhmQDroZoA66GbAOuhnADroZ0A66GeAOuhnwDroaAA66GhAOuhogDroaMA66GkAOuhpQDroaYA66GnAOuhqADroakA66GqAOuhqwDroawA66GtAOuhrgDroa8A66GwAOuhsQDrobIA66GzAOuhtADrobUA66G2AOuhtwDrobgA66G5AOuhugDrobsA66G8AOuhvQDrob4A66G/AOuigADrooEA66KCAOuigwDrooQA66KFAOuihgDroocA66KIAOuiiQDroooA66KLAOuijADroo0A66KOAOuijwDropAA66KRAOuikgDropMA66KUAOuilQDropYA66KXAOuimADropkA66KaAOuimwDropwA66KdAOuingDrop8A66KgAOuioQDroqIA66KjAOuipADroqUA66KmAOuipwDroqgA66KpAOuiqgDroqsA66KsAOuirQDroq4A66KvAOuisADrorEA66KyAOuiswDrorQA66K1AOuitgDrorcA66K4AOuiuQDroroA66K7AOuivADror0A66K+AOuivwDro4AA66OBAOujggDro4MA66OEAOujhQDro4YA66OHAOujiADro4kA66OKAOujiwDro4wA66ONAOujjgDro48A66OQAOujkQDro5IA66OTAOujlADro5UA66OWAOujlwDro5gA66OZAOujmgDro5sA66OcAOujnQDro54A66OfAOujoADro6EA66OiAOujowDro6QA66OlAOujpgDro6cA66OoAOujqQDro6oA66OrAOujrADro60A66OuAOujrwDro7AA66OxAOujsgDro7MA66O0AOujtQDro7YA66O3AOujuADro7kA66O6AOujuwDro7wA66O9AOujvgDro78A66SAAOukgQDrpIIA66SDAOukhADrpIUA66SGAOukhwDrpIgA66SJAOukigDrpIsA66SMAOukjQDrpI4A66SPAOukkADrpJEA66SSAOukkwDrpJQA66SVAOuklgDrpJcA66SYAOukmQDrpJoA66SbAOuknADrpJ0A66SeAOuknwDrpKAA66ShAOukogDrpKMA66SkAOukpQDrpKYA66SnAOukqADrpKkA66SqAOukqwDrpKwA66StAOukrgDrpK8A66SwAOuksQDrpLIA66SzAOuktADrpLUA66S2AOuktwDrpLgA66S5AOukugDrpLsA66S8AOukvQDrpL4A66S/AOulgADrpYEA66WCAOulgwDrpYQA66WFAOulhgDrpYcA66WIAOuliQDrpYoA66WLAOuljADrpY0A66WOAOuljwDrpZAA66WRAOulkgDrpZMA66WUAOullQDrpZYA66WXAOulmADrpZkA66WaAOulmwDrpZwA66WdAOulngDrpZ8A66WgAOuloQDrpaIA66WjAOulpADrpaUA66WmAOulpwDrpagA66WpAOulqgDrpasA66WsAOulrQDrpa4A66WvAOulsADrpbEA66WyAOulswDrpbQA66W1AOultgDrpbcA66W4AOuluQDrpboA66W7AOulvADrpb0A66W+AOulvwDrpoAA66aBAOumggDrpoMA66aEAOumhQDrpoYA66aHAOumiADrpokA66aKAOumiwDrpowA66aNAOumjgDrpo8A66aQAOumkQDrppIA66aTAOumlADrppUA66aWAOumlwDrppgA66aZAOummgDrppsA66acAOumnQDrpp4A66afAOumoADrpqEA66aiAOumowDrpqQA66alAOumpgDrpqcA66aoAOumqQDrpqoA66arAOumrADrpq0A66auAOumrwDrprAA66axAOumsgDrprMA66a0AOumtQDrprYA66a3AOumuADrprkA66a6AOumuwDrprwA66a9AOumvgDrpr8A66eAAOungQDrp4IA66eDAOunhADrp4UA66eGAOunhwDrp4gA66eJAOunigDrp4sA66eMAOunjQDrp44A66ePAOunkADrp5EA66eSAOunkwDrp5QA66eVAOunlgDrp5cA66eYAOunmQDrp5oA66ebAOunnADrp50A66eeAOunnwDrp6AA66ehAOunogDrp6MA66ekAOunpQDrp6YA66enAOunqADrp6kA66eqAOunqwDrp6wA66etAOunrgDrp68A66ewAOunsQDrp7IA66ezAOuntADrp7UA66e2AOuntwDrp7gA66e5AOunugDrp7sA66e8AOunvQDrp74A66e/AOuogADrqIEA66iCAOuogwDrqIQA66iFAOuohgDrqIcA66iIAOuoiQDrqIoA66iLAOuojADrqI0A66iOAOuojwDrqJAA66iRAOuokgDrqJMA66iUAOuolQDrqJYA66iXAOuomADrqJkA66iaAOuomwDrqJwA66idAOuongDrqJ8A66igAOuooQDrqKIA66ijAOuopADrqKUA66imAOuopwDrqKgA66ipAOuoqgDrqKsA66isAOuorQDrqK4A66ivAOuosADrqLEA66iyAOuoswDrqLQA66i1AOuotgDrqLcA66i4AOuouQDrqLoA66i7AOuovADrqL0A66i+AOuovwDrqYAA66mBAOupggDrqYMA66mEAOuphQDrqYYA66mHAOupiADrqYkA66mKAOupiwDrqYwA66mNAOupjgDrqY8A66mQAOupkQDrqZIA66mTAOuplADrqZUA66mWAOuplwDrqZgA66mZAOupmgDrqZsA66mcAOupnQDrqZ4A66mfAOupoADrqaEA66miAOupowDrqaQA66mlAOuppgDrqacA66moAOupqQDrqaoA66mrAOuprADrqa0A66muAOuprwDrqbAA66mxAOupsgDrqbMA66m0AOuptQDrqbYA66m3AOupuADrqbkA66m6AOupuwDrqbwA66m9AOupvgDrqb8A66qAAOuqgQDrqoIA66qDAOuqhADrqoUA66qGAOuqhwDrqogA66qJAOuqigDrqosA66qMAOuqjQDrqo4A66qPAOuqkADrqpEA66qSAOuqkwDrqpQA66qVAOuqlgDrqpcA66qYAOuqmQDrqpoA66qbAOuqnADrqp0A66qeAOuqnwDrqqAA66qhAOuqogDrqqMA66qkAOuqpQDrqqYA66qnAOuqqADrqqkA66qqAOuqqwDrqqwA66qtAOuqrgDrqq8A66qwAOuqsQDrqrIA66qzAOuqtADrqrUA66q2AOuqtwDrqrgA66q5AOuqugDrqrsA66q8AOuqvQDrqr4A66q/AOurgADrq4EA66uCAOurgwDrq4QA66uFAOurhgDrq4cA66uIAOuriQDrq4oA66uLAOurjADrq40A66uOAOurjwDrq5AA66uRAOurkgDrq5MA66uUAOurlQDrq5YA66uXAOurmADrq5kA66uaAOurmwDrq5wA66udAOurngDrq58A66ugAOuroQDrq6IA66ujAOurpADrq6UA66umAOurpwDrq6gA66upAOurqgDrq6sA66usAOurrQDrq64A66uvAOursADrq7EA66uyAOurswDrq7QA66u1AOurtgDrq7cA66u4AOuruQDrq7oA66u7AOurvADrq70A66u+AOurvwDrrIAA66yBAOusggDrrIMA66yEAOushQDrrIYA66yHAOusiADrrIkA66yKAOusiwDrrIwA66yNAOusjgDrrI8A66yQAOuskQDrrJIA66yTAOuslADrrJUA66yWAOuslwDrrJgA66yZAOusmgDrrJsA66ycAOusnQDrrJ4A66yfAOusoADrrKEA66yiAOusowDrrKQA66ylAOuspgDrrKcA66yoAOusqQDrrKoA66yrAOusrADrrK0A66yuAOusrwDrrLAA66yxAOussgDrrLMA66y0AOustQDrrLYA66y3AOusuADrrLkA66y6AOusuwDrrLwA66y9AOusvgDrrL8A662AAOutgQDrrYIA662DAOuthADrrYUA662GAOuthwDrrYgA662JAOutigDrrYsA662MAOutjQDrrY4A662PAOutkADrrZEA662SAOutkwDrrZQA662VAOutlgDrrZcA662YAOutmQDrrZoA662bAOutnADrrZ0A662eAOutnwDrraAA662hAOutogDrraMA662kAOutpQDrraYA662nAOutqADrrakA662qAOutqwDrrawA662tAOutrgDrra8A662wAOutsQDrrbIA662zAOuttADrrbUA6622AOuttwDrrbgA6625AOutugDrrbsA6628AOutvQDrrb4A662/AOuugADrroEA666CAOuugwDrroQA666FAOuuhgDrrocA666IAOuuiQDrrooA666LAOuujADrro0A666OAOuujwDrrpAA666RAOuukgDrrpMA666UAOuulQDrrpYA666XAOuumADrrpkA666aAOuumwDrrpwA666dAOuungDrrp8A666gAOuuoQDrrqIA666jAOuupADrrqUA666mAOuupwDrrqgA666pAOuuqgDrrqsA666sAOuurQDrrq4A666vAOuusADrrrEA666yAOuuswDrrrQA6661AOuutgDrrrcA6664AOuuuQDrrroA6667AOuuvADrrr0A666+AOuuvwDrr4AA66+BAOuvggDrr4MA66+EAOuvhQDrr4YA66+HAOuviADrr4kA66+KAOuviwDrr4wA66+NAOuvjgDrr48A66+QAOuvkQDrr5IA66+TAOuvlADrr5UA66+WAOuvlwDrr5gA66+ZAOuvmgDrr5sA66+cAOuvnQDrr54A66+fAOuvoADrr6EA66+iAOuvowDrr6QA66+lAOuvpgDrr6cA66+oAOuvqQDrr6oA66+rAOuvrADrr60A66+uAOuvrwDrr7AA66+xAOuvsgDrr7MA66+0AOuvtQDrr7YA66+3AOuvuADrr7kA66+6AOuvuwDrr7wA66+9AOuvvgDrr78A67CAAOuwgQDrsIIA67CDAOuwhADrsIUA67CGAOuwhwDrsIgA67CJAOuwigDrsIsA67CMAOuwjQDrsI4A67CPAOuwkADrsJEA67CSAOuwkwDrsJQA67CVAOuwlgDrsJcA67CYAOuwmQDrsJoA67CbAOuwnADrsJ0A67CeAOuwnwDrsKAA67ChAOuwogDrsKMA67CkAOuwpQDrsKYA67CnAOuwqADrsKkA67CqAOuwqwDrsKwA67CtAOuwrgDrsK8A67CwAOuwsQDrsLIA67CzAOuwtADrsLUA67C2AOuwtwDrsLgA67C5AOuwugDrsLsA67C8AOuwvQDrsL4A67C/AOuxgADrsYEA67GCAOuxgwDrsYQA67GFAOuxhgDrsYcA67GIAOuxiQDrsYoA67GLAOuxjADrsY0A67GOAOuxjwDrsZAA67GRAOuxkgDrsZMA67GUAOuxlQDrsZYA67GXAOuxmADrsZkA67GaAOuxmwDrsZwA67GdAOuxngDrsZ8A67GgAOuxoQDrsaIA67GjAOuxpADrsaUA67GmAOuxpwDrsagA67GpAOuxqgDrsasA67GsAOuxrQDrsa4A67GvAOuxsADrsbEA67GyAOuxswDrsbQA67G1AOuxtgDrsbcA67G4AOuxuQDrsboA67G7AOuxvADrsb0A67G+AOuxvwDrsoAA67KBAOuyggDrsoMA67KEAOuyhQDrsoYA67KHAOuyiADrsokA67KKAOuyiwDrsowA67KNAOuyjgDrso8A67KQAOuykQDrspIA67KTAOuylADrspUA67KWAOuylwDrspgA67KZAOuymgDrspsA67KcAOuynQDrsp4A67KfAOuyoADrsqEA67KiAOuyowDrsqQA67KlAOuypgDrsqcA67KoAOuyqQDrsqoA67KrAOuyrADrsq0A67KuAOuyrwDrsrAA67KxAOuysgDrsrMA67K0AOuytQDrsrYA67K3AOuyuADrsrkA67K6AOuyuwDrsrwA67K9AOuyvgDrsr8A67OAAOuzgQDrs4IA67ODAOuzhADrs4UA67OGAOuzhwDrs4gA67OJAOuzigDrs4sA67OMAOuzjQDrs44A67OPAOuzkADrs5EA67OSAOuzkwDrs5QA67OVAOuzlgDrs5cA67OYAOuzmQDrs5oA67ObAOuznADrs50A67OeAOuznwDrs6AA67OhAOuzogDrs6MA67OkAOuzpQDrs6YA67OnAOuzqADrs6kA67OqAOuzqwDrs6wA67OtAOuzrgDrs68A67OwAOuzsQDrs7IA67OzAOuztADrs7UA67O2AOuztwDrs7gA67O5AOuzugDrs7sA67O8AOuzvQDrs74A67O/AOu0gADrtIEA67SCAOu0gwDrtIQA67SFAOu0hgDrtIcA67SIAOu0iQDrtIoA67SLAOu0jADrtI0A67SOAOu0jwDrtJAA67SRAOu0kgDrtJMA67SUAOu0lQDrtJYA67SXAOu0mADrtJkA67SaAOu0mwDrtJwA67SdAOu0ngDrtJ8A67SgAOu0oQDrtKIA67SjAOu0pADrtKUA67SmAOu0pwDrtKgA67SpAOu0qgDrtKsA67SsAOu0rQDrtK4A67SvAOu0sADrtLEA67SyAOu0swDrtLQA67S1AOu0tgDrtLcA67S4AOu0uQDrtLoA67S7AOu0vADrtL0A67S+AOu0vwDrtYAA67WBAOu1ggDrtYMA67WEAOu1hQDrtYYA67WHAOu1iADrtYkA67WKAOu1iwDrtYwA67WNAOu1jgDrtY8A67WQAOu1kQDrtZIA67WTAOu1lADrtZUA67WWAOu1lwDrtZgA67WZAOu1mgDrtZsA67WcAOu1nQDrtZ4A67WfAOu1oADrtaEA67WiAOu1owDrtaQA67WlAOu1pgDrtacA67WoAOu1qQDrtaoA67WrAOu1rADrta0A67WuAOu1rwDrtbAA67WxAOu1sgDrtbMA67W0AOu1tQDrtbYA67W3AOu1uADrtbkA67W6AOu1uwDrtbwA67W9AOu1vgDrtb8A67aAAOu2gQDrtoIA67aDAOu2hADrtoUA67aGAOu2hwDrtogA67aJAOu2igDrtosA67aMAOu2jQDrto4A67aPAOu2kADrtpEA67aSAOu2kwDrtpQA67aVAOu2lgDrtpcA67aYAOu2mQDrtpoA67abAOu2nADrtp0A67aeAOu2nwDrtqAA67ahAOu2ogDrtqMA67akAOu2pQDrtqYA67anAOu2qADrtqkA67aqAOu2qwDrtqwA67atAOu2rgDrtq8A67awAOu2sQDrtrIA67azAOu2tADrtrUA67a2AOu2twDrtrgA67a5AOu2ugDrtrsA67a8AOu2vQDrtr4A67a/AOu3gADrt4EA67eCAOu3gwDrt4QA67eFAOu3hgDrt4cA67eIAOu3iQDrt4oA67eLAOu3jADrt40A67eOAOu3jwDrt5AA67eRAOu3kgDrt5MA67eUAOu3lQDrt5YA67eXAOu3mADrt5kA67eaAOu3mwDrt5wA67edAOu3ngDrt58A67egAOu3oQDrt6IA67ejAOu3pADrt6UA67emAOu3pwDrt6gA67epAOu3qgDrt6sA67esAOu3rQDrt64A67evAOu3sADrt7EA67eyAOu3swDrt7QA67e1AOu3tgDrt7cA67e4AOu3uQDrt7oA67e7AOu3vADrt70A67e+AOu3vwDruIAA67iBAOu4ggDruIMA67iEAOu4hQDruIYA67iHAOu4iADruIkA67iKAOu4iwDruIwA67iNAOu4jgDruI8A67iQAOu4kQDruJIA67iTAOu4lADruJUA67iWAOu4lwDruJgA67iZAOu4mgDruJsA67icAOu4nQDruJ4A67ifAOu4oADruKEA67iiAOu4owDruKQA67ilAOu4pgDruKcA67ioAOu4qQDruKoA67irAOu4rADruK0A67iuAOu4rwDruLAA67ixAOu4sgDruLMA67i0AOu4tQDruLYA67i3AOu4uADruLkA67i6AOu4uwDruLwA67i9AOu4vgDruL8A67mAAOu5gQDruYIA67mDAOu5hADruYUA67mGAOu5hwDruYgA67mJAOu5igDruYsA67mMAOu5jQDruY4A67mPAOu5kADruZEA67mSAOu5kwDruZQA67mVAOu5lgDruZcA67mYAOu5mQDruZoA67mbAOu5nADruZ0A67meAOu5nwDruaAA67mhAOu5ogDruaMA67mkAOu5pQDruaYA67mnAOu5qADruakA67mqAOu5qwDruawA67mtAOu5rgDrua8A67mwAOu5sQDrubIA67mzAOu5tADrubUA67m2AOu5twDrubgA67m5AOu5ugDrubsA67m8AOu5vQDrub4A67m/AOu6gADruoEA67qCAOu6gwDruoQA67qFAOu6hgDruocA67qIAOu6iQDruooA67qLAOu6jADruo0A67qOAOu6jwDrupAA67qRAOu6kgDrupMA67qUAOu6lQDrupYA67qXAOu6mADrupkA67qaAOu6mwDrupwA67qdAOu6ngDrup8A67qgAOu6oQDruqIA67qjAOu6pADruqUA67qmAOu6pwDruqgA67qpAOu6qgDruqsA67qsAOu6rQDruq4A67qvAOu6sADrurEA67qyAOu6swDrurQA67q1AOu6tgDrurcA67q4AOu6uQDruroA67q7AOu6vADrur0A67q+AOu6vwDru4AA67uBAOu7ggDru4MA67uEAOu7hQDru4YA67uHAOu7iADru4kA67uKAOu7iwDru4wA67uNAOu7jgDru48A67uQAOu7kQDru5IA67uTAOu7lADru5UA67uWAOu7lwDru5gA67uZAOu7mgDru5sA67ucAOu7nQDru54A67ufAOu7oADru6EA67uiAOu7owDru6QA67ulAOu7pgDru6cA67uoAOu7qQDru6oA67urAOu7rADru60A67uuAOu7rwDru7AA67uxAOu7sgDru7MA67u0AOu7tQDru7YA67u3AOu7uADru7kA67u6AOu7uwDru7wA67u9AOu7vgDru78A67yAAOu8gQDrvIIA67yDAOu8hADrvIUA67yGAOu8hwDrvIgA67yJAOu8igDrvIsA67yMAOu8jQDrvI4A67yPAOu8kADrvJEA67ySAOu8kwDrvJQA67yVAOu8lgDrvJcA67yYAOu8mQDrvJoA67ybAOu8nADrvJ0A67yeAOu8nwDrvKAA67yhAOu8ogDrvKMA67ykAOu8pQDrvKYA67ynAOu8qADrvKkA67yqAOu8qwDrvKwA67ytAOu8rgDrvK8A67ywAOu8sQDrvLIA67yzAOu8tADrvLUA67y2AOu8twDrvLgA67y5AOu8ugDrvLsA67y8AOu8vQDrvL4A67y/AOu9gADrvYEA672CAOu9gwDrvYQA672FAOu9hgDrvYcA672IAOu9iQDrvYoA672LAOu9jADrvY0A672OAOu9jwDrvZAA672RAOu9kgDrvZMA672UAOu9lQDrvZYA672XAOu9mADrvZkA672aAOu9mwDrvZwA672dAOu9ngDrvZ8A672gAOu9oQDrvaIA672jAOu9pADrvaUA672mAOu9pwDrvagA672pAOu9qgDrvasA672sAOu9rQDrva4A672vAOu9sADrvbEA672yAOu9swDrvbQA6721AOu9tgDrvbcA6724AOu9uQDrvboA6727AOu9vADrvb0A672+AOu9vwDrvoAA676BAOu+ggDrvoMA676EAOu+hQDrvoYA676HAOu+iADrvokA676KAOu+iwDrvowA676NAOu+jgDrvo8A676QAOu+kQDrvpIA676TAOu+lADrvpUA676WAOu+lwDrvpgA676ZAOu+mgDrvpsA676cAOu+nQDrvp4A676fAOu+oADrvqEA676iAOu+owDrvqQA676lAOu+pgDrvqcA676oAOu+qQDrvqoA676rAOu+rADrvq0A676uAOu+rwDrvrAA676xAOu+sgDrvrMA6760AOu+tQDrvrYA6763AOu+uADrvrkA6766AOu+uwDrvrwA6769AOu+vgDrvr8A67+AAOu/gQDrv4IA67+DAOu/hADrv4UA67+GAOu/hwDrv4gA67+JAOu/igDrv4sA67+MAOu/jQDrv44A67+PAOu/kADrv5EA67+SAOu/kwDrv5QA67+VAOu/lgDrv5cA67+YAOu/mQDrv5oA67+bAOu/nADrv50A67+eAOu/nwDrv6AA67+hAOu/ogDrv6MA67+kAOu/pQDrv6YA67+nAOu/qADrv6kA67+qAOu/qwDrv6wA67+tAOu/rgDrv68A67+wAOu/sQDrv7IA67+zAOu/tADrv7UA67+2AOu/twDrv7gA67+5AOu/ugDrv7sA67+8AOu/vQDrv74A67+/AOyAgADsgIEA7ICCAOyAgwDsgIQA7ICFAOyAhgDsgIcA7ICIAOyAiQDsgIoA7ICLAOyAjADsgI0A7ICOAOyAjwDsgJAA7ICRAOyAkgDsgJMA7ICUAOyAlQDsgJYA7ICXAOyAmADsgJkA7ICaAOyAmwDsgJwA7ICdAOyAngDsgJ8A7ICgAOyAoQDsgKIA7ICjAOyApADsgKUA7ICmAOyApwDsgKgA7ICpAOyAqgDsgKsA7ICsAOyArQDsgK4A7ICvAOyAsADsgLEA7ICyAOyAswDsgLQA7IC1AOyAtgDsgLcA7IC4AOyAuQDsgLoA7IC7AOyAvADsgL0A7IC+AOyAvwDsgYAA7IGBAOyBggDsgYMA7IGEAOyBhQDsgYYA7IGHAOyBiADsgYkA7IGKAOyBiwDsgYwA7IGNAOyBjgDsgY8A7IGQAOyBkQDsgZIA7IGTAOyBlADsgZUA7IGWAOyBlwDsgZgA7IGZAOyBmgDsgZsA7IGcAOyBnQDsgZ4A7IGfAOyBoADsgaEA7IGiAOyBowDsgaQA7IGlAOyBpgDsgacA7IGoAOyBqQDsgaoA7IGrAOyBrADsga0A7IGuAOyBrwDsgbAA7IGxAOyBsgDsgbMA7IG0AOyBtQDsgbYA7IG3AOyBuADsgbkA7IG6AOyBuwDsgbwA7IG9AOyBvgDsgb8A7IKAAOyCgQDsgoIA7IKDAOyChADsgoUA7IKGAOyChwDsgogA7IKJAOyCigDsgosA7IKMAOyCjQDsgo4A7IKPAOyCkADsgpEA7IKSAOyCkwDsgpQA7IKVAOyClgDsgpcA7IKYAOyCmQDsgpoA7IKbAOyCnADsgp0A7IKeAOyCnwDsgqAA7IKhAOyCogDsgqMA7IKkAOyCpQDsgqYA7IKnAOyCqADsgqkA7IKqAOyCqwDsgqwA7IKtAOyCrgDsgq8A7IKwAOyCsQDsgrIA7IKzAOyCtADsgrUA7IK2AOyCtwDsgrgA7IK5AOyCugDsgrsA7IK8AOyCvQDsgr4A7IK/AOyDgADsg4EA7IOCAOyDgwDsg4QA7IOFAOyDhgDsg4cA7IOIAOyDiQDsg4oA7IOLAOyDjADsg40A7IOOAOyDjwDsg5AA7IORAOyDkgDsg5MA7IOUAOyDlQDsg5YA7IOXAOyDmADsg5kA7IOaAOyDmwDsg5wA7IOdAOyDngDsg58A7IOgAOyDoQDsg6IA7IOjAOyDpADsg6UA7IOmAOyDpwDsg6gA7IOpAOyDqgDsg6sA7IOsAOyDrQDsg64A7IOvAOyDsADsg7EA7IOyAOyDswDsg7QA7IO1AOyDtgDsg7cA7IO4AOyDuQDsg7oA7IO7AOyDvADsg70A7IO+AOyDvwDshIAA7ISBAOyEggDshIMA7ISEAOyEhQDshIYA7ISHAOyEiADshIkA7ISKAOyEiwDshIwA7ISNAOyEjgDshI8A7ISQAOyEkQDshJIA7ISTAOyElADshJUA7ISWAOyElwDshJgA7ISZAOyEmgDshJsA7IScAOyEnQDshJ4A7ISfAOyEoADshKEA7ISiAOyEowDshKQA7ISlAOyEpgDshKcA7ISoAOyEqQDshKoA7ISrAOyErADshK0A7ISuAOyErwDshLAA7ISxAOyEsgDshLMA7IS0AOyEtQDshLYA7IS3AOyEuADshLkA7IS6AOyEuwDshLwA7IS9AOyEvgDshL8A7IWAAOyFgQDshYIA7IWDAOyFhADshYUA7IWGAOyFhwDshYgA7IWJAOyFigDshYsA7IWMAOyFjQDshY4A7IWPAOyFkADshZEA7IWSAOyFkwDshZQA7IWVAOyFlgDshZcA7IWYAOyFmQDshZoA7IWbAOyFnADshZ0A7IWeAOyFnwDshaAA7IWhAOyFogDshaMA7IWkAOyFpQDshaYA7IWnAOyFqADshakA7IWqAOyFqwDshawA7IWtAOyFrgDsha8A7IWwAOyFsQDshbIA7IWzAOyFtADshbUA7IW2AOyFtwDshbgA7IW5AOyFugDshbsA7IW8AOyFvQDshb4A7IW/AOyGgADshoEA7IaCAOyGgwDshoQA7IaFAOyGhgDshocA7IaIAOyGiQDshooA7IaLAOyGjADsho0A7IaOAOyGjwDshpAA7IaRAOyGkgDshpMA7IaUAOyGlQDshpYA7IaXAOyGmADshpkA7IaaAOyGmwDshpwA7IadAOyGngDshp8A7IagAOyGoQDshqIA7IajAOyGpADshqUA7IamAOyGpwDshqgA7IapAOyGqgDshqsA7IasAOyGrQDshq4A7IavAOyGsADshrEA7IayAOyGswDshrQA7Ia1AOyGtgDshrcA7Ia4AOyGuQDshroA7Ia7AOyGvADshr0A7Ia+AOyGvwDsh4AA7IeBAOyHggDsh4MA7IeEAOyHhQDsh4YA7IeHAOyHiADsh4kA7IeKAOyHiwDsh4wA7IeNAOyHjgDsh48A7IeQAOyHkQDsh5IA7IeTAOyHlADsh5UA7IeWAOyHlwDsh5gA7IeZAOyHmgDsh5sA7IecAOyHnQDsh54A7IefAOyHoADsh6EA7IeiAOyHowDsh6QA7IelAOyHpgDsh6cA7IeoAOyHqQDsh6oA7IerAOyHrADsh60A7IeuAOyHrwDsh7AA7IexAOyHsgDsh7MA7Ie0AOyHtQDsh7YA7Ie3AOyHuADsh7kA7Ie6AOyHuwDsh7wA7Ie9AOyHvgDsh78A7IiAAOyIgQDsiIIA7IiDAOyIhADsiIUA7IiGAOyIhwDsiIgA7IiJAOyIigDsiIsA7IiMAOyIjQDsiI4A7IiPAOyIkADsiJEA7IiSAOyIkwDsiJQA7IiVAOyIlgDsiJcA7IiYAOyImQDsiJoA7IibAOyInADsiJ0A7IieAOyInwDsiKAA7IihAOyIogDsiKMA7IikAOyIpQDsiKYA7IinAOyIqADsiKkA7IiqAOyIqwDsiKwA7IitAOyIrgDsiK8A7IiwAOyIsQDsiLIA7IizAOyItADsiLUA7Ii2AOyItwDsiLgA7Ii5AOyIugDsiLsA7Ii8AOyIvQDsiL4A7Ii/AOyJgADsiYEA7ImCAOyJgwDsiYQA7ImFAOyJhgDsiYcA7ImIAOyJiQDsiYoA7ImLAOyJjADsiY0A7ImOAOyJjwDsiZAA7ImRAOyJkgDsiZMA7ImUAOyJlQDsiZYA7ImXAOyJmADsiZkA7ImaAOyJmwDsiZwA7ImdAOyJngDsiZ8A7ImgAOyJoQDsiaIA7ImjAOyJpADsiaUA7ImmAOyJpwDsiagA7ImpAOyJqgDsiasA7ImsAOyJrQDsia4A7ImvAOyJsADsibEA7ImyAOyJswDsibQA7Im1AOyJtgDsibcA7Im4AOyJuQDsiboA7Im7AOyJvADsib0A7Im+AOyJvwDsioAA7IqBAOyKggDsioMA7IqEAOyKhQDsioYA7IqHAOyKiADsiokA7IqKAOyKiwDsiowA7IqNAOyKjgDsio8A7IqQAOyKkQDsipIA7IqTAOyKlADsipUA7IqWAOyKlwDsipgA7IqZAOyKmgDsipsA7IqcAOyKnQDsip4A7IqfAOyKoADsiqEA7IqiAOyKowDsiqQA7IqlAOyKpgDsiqcA7IqoAOyKqQDsiqoA7IqrAOyKrADsiq0A7IquAOyKrwDsirAA7IqxAOyKsgDsirMA7Iq0AOyKtQDsirYA7Iq3AOyKuADsirkA7Iq6AOyKuwDsirwA7Iq9AOyKvgDsir8A7IuAAOyLgQDsi4IA7IuDAOyLhADsi4UA7IuGAOyLhwDsi4gA7IuJAOyLigDsi4sA7IuMAOyLjQDsi44A7IuPAOyLkADsi5EA7IuSAOyLkwDsi5QA7IuVAOyLlgDsi5cA7IuYAOyLmQDsi5oA7IubAOyLnADsi50A7IueAOyLnwDsi6AA7IuhAOyLogDsi6MA7IukAOyLpQDsi6YA7IunAOyLqADsi6kA7IuqAOyLqwDsi6wA7IutAOyLrgDsi68A7IuwAOyLsQDsi7IA7IuzAOyLtADsi7UA7Iu2AOyLtwDsi7gA7Iu5AOyLugDsi7sA7Iu8AOyLvQDsi74A7Iu/AOyMgADsjIEA7IyCAOyMgwDsjIQA7IyFAOyMhgDsjIcA7IyIAOyMiQDsjIoA7IyLAOyMjADsjI0A7IyOAOyMjwDsjJAA7IyRAOyMkgDsjJMA7IyUAOyMlQDsjJYA7IyXAOyMmADsjJkA7IyaAOyMmwDsjJwA7IydAOyMngDsjJ8A7IygAOyMoQDsjKIA7IyjAOyMpADsjKUA7IymAOyMpwDsjKgA7IypAOyMqgDsjKsA7IysAOyMrQDsjK4A7IyvAOyMsADsjLEA7IyyAOyMswDsjLQA7Iy1AOyMtgDsjLcA7Iy4AOyMuQDsjLoA7Iy7AOyMvADsjL0A7Iy+AOyMvwDsjYAA7I2BAOyNggDsjYMA7I2EAOyNhQDsjYYA7I2HAOyNiADsjYkA7I2KAOyNiwDsjYwA7I2NAOyNjgDsjY8A7I2QAOyNkQDsjZIA7I2TAOyNlADsjZUA7I2WAOyNlwDsjZgA7I2ZAOyNmgDsjZsA7I2cAOyNnQDsjZ4A7I2fAOyNoADsjaEA7I2iAOyNowDsjaQA7I2lAOyNpgDsjacA7I2oAOyNqQDsjaoA7I2rAOyNrADsja0A7I2uAOyNrwDsjbAA7I2xAOyNsgDsjbMA7I20AOyNtQDsjbYA7I23AOyNuADsjbkA7I26AOyNuwDsjbwA7I29AOyNvgDsjb8A7I6AAOyOgQDsjoIA7I6DAOyOhADsjoUA7I6GAOyOhwDsjogA7I6JAOyOigDsjosA7I6MAOyOjQDsjo4A7I6PAOyOkADsjpEA7I6SAOyOkwDsjpQA7I6VAOyOlgDsjpcA7I6YAOyOmQDsjpoA7I6bAOyOnADsjp0A7I6eAOyOnwDsjqAA7I6hAOyOogDsjqMA7I6kAOyOpQDsjqYA7I6nAOyOqADsjqkA7I6qAOyOqwDsjqwA7I6tAOyOrgDsjq8A7I6wAOyOsQDsjrIA7I6zAOyOtADsjrUA7I62AOyOtwDsjrgA7I65AOyOugDsjrsA7I68AOyOvQDsjr4A7I6/AOyPgADsj4EA7I+CAOyPgwDsj4QA7I+FAOyPhgDsj4cA7I+IAOyPiQDsj4oA7I+LAOyPjADsj40A7I+OAOyPjwDsj5AA7I+RAOyPkgDsj5MA7I+UAOyPlQDsj5YA7I+XAOyPmADsj5kA7I+aAOyPmwDsj5wA7I+dAOyPngDsj58A7I+gAOyPoQDsj6IA7I+jAOyPpADsj6UA7I+mAOyPpwDsj6gA7I+pAOyPqgDsj6sA7I+sAOyPrQDsj64A7I+vAOyPsADsj7EA7I+yAOyPswDsj7QA7I+1AOyPtgDsj7cA7I+4AOyPuQDsj7oA7I+7AOyPvADsj70A7I++AOyPvwDskIAA7JCBAOyQggDskIMA7JCEAOyQhQDskIYA7JCHAOyQiADskIkA7JCKAOyQiwDskIwA7JCNAOyQjgDskI8A7JCQAOyQkQDskJIA7JCTAOyQlADskJUA7JCWAOyQlwDskJgA7JCZAOyQmgDskJsA7JCcAOyQnQDskJ4A7JCfAOyQoADskKEA7JCiAOyQowDskKQA7JClAOyQpgDskKcA7JCoAOyQqQDskKoA7JCrAOyQrADskK0A7JCuAOyQrwDskLAA7JCxAOyQsgDskLMA7JC0AOyQtQDskLYA7JC3AOyQuADskLkA7JC6AOyQuwDskLwA7JC9AOyQvgDskL8A7JGAAOyRgQDskYIA7JGDAOyRhADskYUA7JGGAOyRhwDskYgA7JGJAOyRigDskYsA7JGMAOyRjQDskY4A7JGPAOyRkADskZEA7JGSAOyRkwDskZQA7JGVAOyRlgDskZcA7JGYAOyRmQDskZoA7JGbAOyRnADskZ0A7JGeAOyRnwDskaAA7JGhAOyRogDskaMA7JGkAOyRpQDskaYA7JGnAOyRqADskakA7JGqAOyRqwDskawA7JGtAOyRrgDska8A7JGwAOyRsQDskbIA7JGzAOyRtADskbUA7JG2AOyRtwDskbgA7JG5AOyRugDskbsA7JG8AOyRvQDskb4A7JG/AOySgADskoEA7JKCAOySgwDskoQA7JKFAOyShgDskocA7JKIAOySiQDskooA7JKLAOySjADsko0A7JKOAOySjwDskpAA7JKRAOySkgDskpMA7JKUAOySlQDskpYA7JKXAOySmADskpkA7JKaAOySmwDskpwA7JKdAOySngDskp8A7JKgAOySoQDskqIA7JKjAOySpADskqUA7JKmAOySpwDskqgA7JKpAOySqgDskqsA7JKsAOySrQDskq4A7JKvAOySsADskrEA7JKyAOySswDskrQA7JK1AOyStgDskrcA7JK4AOySuQDskroA7JK7AOySvADskr0A7JK+AOySvwDsk4AA7JOBAOyTggDsk4MA7JOEAOyThQDsk4YA7JOHAOyTiADsk4kA7JOKAOyTiwDsk4wA7JONAOyTjgDsk48A7JOQAOyTkQDsk5IA7JOTAOyTlADsk5UA7JOWAOyTlwDsk5gA7JOZAOyTmgDsk5sA7JOcAOyTnQDsk54A7JOfAOyToADsk6EA7JOiAOyTowDsk6QA7JOlAOyTpgDsk6cA7JOoAOyTqQDsk6oA7JOrAOyTrADsk60A7JOuAOyTrwDsk7AA7JOxAOyTsgDsk7MA7JO0AOyTtQDsk7YA7JO3AOyTuADsk7kA7JO6AOyTuwDsk7wA7JO9AOyTvgDsk78A7JSAAOyUgQDslIIA7JSDAOyUhADslIUA7JSGAOyUhwDslIgA7JSJAOyUigDslIsA7JSMAOyUjQDslI4A7JSPAOyUkADslJEA7JSSAOyUkwDslJQA7JSVAOyUlgDslJcA7JSYAOyUmQDslJoA7JSbAOyUnADslJ0A7JSeAOyUnwDslKAA7JShAOyUogDslKMA7JSkAOyUpQDslKYA7JSnAOyUqADslKkA7JSqAOyUqwDslKwA7JStAOyUrgDslK8A7JSwAOyUsQDslLIA7JSzAOyUtADslLUA7JS2AOyUtwDslLgA7JS5AOyUugDslLsA7JS8AOyUvQDslL4A7JS/AOyVgADslYEA7JWCAOyVgwDslYQA7JWFAOyVhgDslYcA7JWIAOyViQDslYoA7JWLAOyVjADslY0A7JWOAOyVjwDslZAA7JWRAOyVkgDslZMA7JWUAOyVlQDslZYA7JWXAOyVmADslZkA7JWaAOyVmwDslZwA7JWdAOyVngDslZ8A7JWgAOyVoQDslaIA7JWjAOyVpADslaUA7JWmAOyVpwDslagA7JWpAOyVqgDslasA7JWsAOyVrQDsla4A7JWvAOyVsADslbEA7JWyAOyVswDslbQA7JW1AOyVtgDslbcA7JW4AOyVuQDslboA7JW7AOyVvADslb0A7JW+AOyVvwDsloAA7JaBAOyWggDsloMA7JaEAOyWhQDsloYA7JaHAOyWiADslokA7JaKAOyWiwDslowA7JaNAOyWjgDslo8A7JaQAOyWkQDslpIA7JaTAOyWlADslpUA7JaWAOyWlwDslpgA7JaZAOyWmgDslpsA7JacAOyWnQDslp4A7JafAOyWoADslqEA7JaiAOyWowDslqQA7JalAOyWpgDslqcA7JaoAOyWqQDslqoA7JarAOyWrADslq0A7JauAOyWrwDslrAA7JaxAOyWsgDslrMA7Ja0AOyWtQDslrYA7Ja3AOyWuADslrkA7Ja6AOyWuwDslrwA7Ja9AOyWvgDslr8A7JeAAOyXgQDsl4IA7JeDAOyXhADsl4UA7JeGAOyXhwDsl4gA7JeJAOyXigDsl4sA7JeMAOyXjQDsl44A7JePAOyXkADsl5EA7JeSAOyXkwDsl5QA7JeVAOyXlgDsl5cA7JeYAOyXmQDsl5oA7JebAOyXnADsl50A7JeeAOyXnwDsl6AA7JehAOyXogDsl6MA7JekAOyXpQDsl6YA7JenAOyXqADsl6kA7JeqAOyXqwDsl6wA7JetAOyXrgDsl68A7JewAOyXsQDsl7IA7JezAOyXtADsl7UA7Je2AOyXtwDsl7gA7Je5AOyXugDsl7sA7Je8AOyXvQDsl74A7Je/AOyYgADsmIEA7JiCAOyYgwDsmIQA7JiFAOyYhgDsmIcA7JiIAOyYiQDsmIoA7JiLAOyYjADsmI0A7JiOAOyYjwDsmJAA7JiRAOyYkgDsmJMA7JiUAOyYlQDsmJYA7JiXAOyYmADsmJkA7JiaAOyYmwDsmJwA7JidAOyYngDsmJ8A7JigAOyYoQDsmKIA7JijAOyYpADsmKUA7JimAOyYpwDsmKgA7JipAOyYqgDsmKsA7JisAOyYrQDsmK4A7JivAOyYsADsmLEA7JiyAOyYswDsmLQA7Ji1AOyYtgDsmLcA7Ji4AOyYuQDsmLoA7Ji7AOyYvADsmL0A7Ji+AOyYvwDsmYAA7JmBAOyZggDsmYMA7JmEAOyZhQDsmYYA7JmHAOyZiADsmYkA7JmKAOyZiwDsmYwA7JmNAOyZjgDsmY8A7JmQAOyZkQDsmZIA7JmTAOyZlADsmZUA7JmWAOyZlwDsmZgA7JmZAOyZmgDsmZsA7JmcAOyZnQDsmZ4A7JmfAOyZoADsmaEA7JmiAOyZowDsmaQA7JmlAOyZpgDsmacA7JmoAOyZqQDsmaoA7JmrAOyZrADsma0A7JmuAOyZrwDsmbAA7JmxAOyZsgDsmbMA7Jm0AOyZtQDsmbYA7Jm3AOyZuADsmbkA7Jm6AOyZuwDsmbwA7Jm9AOyZvgDsmb8A7JqAAOyagQDsmoIA7JqDAOyahADsmoUA7JqGAOyahwDsmogA7JqJAOyaigDsmosA7JqMAOyajQDsmo4A7JqPAOyakADsmpEA7JqSAOyakwDsmpQA7JqVAOyalgDsmpcA7JqYAOyamQDsmpoA7JqbAOyanADsmp0A7JqeAOyanwDsmqAA7JqhAOyaogDsmqMA7JqkAOyapQDsmqYA7JqnAOyaqADsmqkA7JqqAOyaqwDsmqwA7JqtAOyargDsmq8A7JqwAOyasQDsmrIA7JqzAOyatADsmrUA7Jq2AOyatwDsmrgA7Jq5AOyaugDsmrsA7Jq8AOyavQDsmr4A7Jq/AOybgADsm4EA7JuCAOybgwDsm4QA7JuFAOybhgDsm4cA7JuIAOybiQDsm4oA7JuLAOybjADsm40A7JuOAOybjwDsm5AA7JuRAOybkgDsm5MA7JuUAOyblQDsm5YA7JuXAOybmADsm5kA7JuaAOybmwDsm5wA7JudAOybngDsm58A7JugAOyboQDsm6IA7JujAOybpADsm6UA7JumAOybpwDsm6gA7JupAOybqgDsm6sA7JusAOybrQDsm64A7JuvAOybsADsm7EA7JuyAOybswDsm7QA7Ju1AOybtgDsm7cA7Ju4AOybuQDsm7oA7Ju7AOybvADsm70A7Ju+AOybvwDsnIAA7JyBAOycggDsnIMA7JyEAOychQDsnIYA7JyHAOyciADsnIkA7JyKAOyciwDsnIwA7JyNAOycjgDsnI8A7JyQAOyckQDsnJIA7JyTAOyclADsnJUA7JyWAOyclwDsnJgA7JyZAOycmgDsnJsA7JycAOycnQDsnJ4A7JyfAOycoADsnKEA7JyiAOycowDsnKQA7JylAOycpgDsnKcA7JyoAOycqQDsnKoA7JyrAOycrADsnK0A7JyuAOycrwDsnLAA7JyxAOycsgDsnLMA7Jy0AOyctQDsnLYA7Jy3AOycuADsnLkA7Jy6AOycuwDsnLwA7Jy9AOycvgDsnL8A7J2AAOydgQDsnYIA7J2DAOydhADsnYUA7J2GAOydhwDsnYgA7J2JAOydigDsnYsA7J2MAOydjQDsnY4A7J2PAOydkADsnZEA7J2SAOydkwDsnZQA7J2VAOydlgDsnZcA7J2YAOydmQDsnZoA7J2bAOydnADsnZ0A7J2eAOydnwDsnaAA7J2hAOydogDsnaMA7J2kAOydpQDsnaYA7J2nAOydqADsnakA7J2qAOydqwDsnawA7J2tAOydrgDsna8A7J2wAOydsQDsnbIA7J2zAOydtADsnbUA7J22AOydtwDsnbgA7J25AOydugDsnbsA7J28AOydvQDsnb4A7J2/AOyegADsnoEA7J6CAOyegwDsnoQA7J6FAOyehgDsnocA7J6IAOyeiQDsnooA7J6LAOyejADsno0A7J6OAOyejwDsnpAA7J6RAOyekgDsnpMA7J6UAOyelQDsnpYA7J6XAOyemADsnpkA7J6aAOyemwDsnpwA7J6dAOyengDsnp8A7J6gAOyeoQDsnqIA7J6jAOyepADsnqUA7J6mAOyepwDsnqgA7J6pAOyeqgDsnqsA7J6sAOyerQDsnq4A7J6vAOyesADsnrEA7J6yAOyeswDsnrQA7J61AOyetgDsnrcA7J64AOyeuQDsnroA7J67AOyevADsnr0A7J6+AOyevwDsn4AA7J+BAOyfggDsn4MA7J+EAOyfhQDsn4YA7J+HAOyfiADsn4kA7J+KAOyfiwDsn4wA7J+NAOyfjgDsn48A7J+QAOyfkQDsn5IA7J+TAOyflADsn5UA7J+WAOyflwDsn5gA7J+ZAOyfmgDsn5sA7J+cAOyfnQDsn54A7J+fAOyfoADsn6EA7J+iAOyfowDsn6QA7J+lAOyfpgDsn6cA7J+oAOyfqQDsn6oA7J+rAOyfrADsn60A7J+uAOyfrwDsn7AA7J+xAOyfsgDsn7MA7J+0AOyftQDsn7YA7J+3AOyfuADsn7kA7J+6AOyfuwDsn7wA7J+9AOyfvgDsn78A7KCAAOyggQDsoIIA7KCDAOyghADsoIUA7KCGAOyghwDsoIgA7KCJAOygigDsoIsA7KCMAOygjQDsoI4A7KCPAOygkADsoJEA7KCSAOygkwDsoJQA7KCVAOyglgDsoJcA7KCYAOygmQDsoJoA7KCbAOygnADsoJ0A7KCeAOygnwDsoKAA7KChAOygogDsoKMA7KCkAOygpQDsoKYA7KCnAOygqADsoKkA7KCqAOygqwDsoKwA7KCtAOygrgDsoK8A7KCwAOygsQDsoLIA7KCzAOygtADsoLUA7KC2AOygtwDsoLgA7KC5AOygugDsoLsA7KC8AOygvQDsoL4A7KC/AOyhgADsoYEA7KGCAOyhgwDsoYQA7KGFAOyhhgDsoYcA7KGIAOyhiQDsoYoA7KGLAOyhjADsoY0A7KGOAOyhjwDsoZAA7KGRAOyhkgDsoZMA7KGUAOyhlQDsoZYA7KGXAOyhmADsoZkA7KGaAOyhmwDsoZwA7KGdAOyhngDsoZ8A7KGgAOyhoQDsoaIA7KGjAOyhpADsoaUA7KGmAOyhpwDsoagA7KGpAOyhqgDsoasA7KGsAOyhrQDsoa4A7KGvAOyhsADsobEA7KGyAOyhswDsobQA7KG1AOyhtgDsobcA7KG4AOyhuQDsoboA7KG7AOyhvADsob0A7KG+AOyhvwDsooAA7KKBAOyiggDsooMA7KKEAOyihQDsooYA7KKHAOyiiADsookA7KKKAOyiiwDsoowA7KKNAOyijgDsoo8A7KKQAOyikQDsopIA7KKTAOyilADsopUA7KKWAOyilwDsopgA7KKZAOyimgDsopsA7KKcAOyinQDsop4A7KKfAOyioADsoqEA7KKiAOyiowDsoqQA7KKlAOyipgDsoqcA7KKoAOyiqQDsoqoA7KKrAOyirADsoq0A7KKuAOyirwDsorAA7KKxAOyisgDsorMA7KK0AOyitQDsorYA7KK3AOyiuADsorkA7KK6AOyiuwDsorwA7KK9AOyivgDsor8A7KOAAOyjgQDso4IA7KODAOyjhADso4UA7KOGAOyjhwDso4gA7KOJAOyjigDso4sA7KOMAOyjjQDso44A7KOPAOyjkADso5EA7KOSAOyjkwDso5QA7KOVAOyjlgDso5cA7KOYAOyjmQDso5oA7KObAOyjnADso50A7KOeAOyjnwDso6AA7KOhAOyjogDso6MA7KOkAOyjpQDso6YA7KOnAOyjqADso6kA7KOqAOyjqwDso6wA7KOtAOyjrgDso68A7KOwAOyjsQDso7IA7KOzAOyjtADso7UA7KO2AOyjtwDso7gA7KO5AOyjugDso7sA7KO8AOyjvOydmADso70A7KO+AOyjvwDspIAA7KSBAOykggDspIMA7KSEAOykhQDspIYA7KSHAOykiADspIkA7KSKAOykiwDspIwA7KSNAOykjgDspI8A7KSQAOykkQDspJIA7KSTAOyklADspJUA7KSWAOyklwDspJgA7KSZAOykmgDspJsA7KScAOyknQDspJ4A7KSfAOykoADspKEA7KSiAOykowDspKQA7KSlAOykpgDspKcA7KSoAOykqQDspKoA7KSrAOykrADspK0A7KSuAOykrwDspLAA7KSxAOyksgDspLMA7KS0AOyktQDspLYA7KS3AOykuADspLkA7KS6AOykuwDspLwA7KS9AOykvgDspL8A7KWAAOylgQDspYIA7KWDAOylhADspYUA7KWGAOylhwDspYgA7KWJAOyligDspYsA7KWMAOyljQDspY4A7KWPAOylkADspZEA7KWSAOylkwDspZQA7KWVAOyllgDspZcA7KWYAOylmQDspZoA7KWbAOylnADspZ0A7KWeAOylnwDspaAA7KWhAOylogDspaMA7KWkAOylpQDspaYA7KWnAOylqADspakA7KWqAOylqwDspawA7KWtAOylrgDspa8A7KWwAOylsQDspbIA7KWzAOyltADspbUA7KW2AOyltwDspbgA7KW5AOylugDspbsA7KW8AOylvQDspb4A7KW/AOymgADspoEA7KaCAOymgwDspoQA7KaFAOymhgDspocA7KaIAOymiQDspooA7KaLAOymjADspo0A7KaOAOymjwDsppAA7KaRAOymkgDsppMA7KaUAOymlQDsppYA7KaXAOymmADsppkA7KaaAOymmwDsppwA7KadAOymngDspp8A7KagAOymoQDspqIA7KajAOympADspqUA7KamAOympwDspqgA7KapAOymqgDspqsA7KasAOymrQDspq4A7KavAOymsADsprEA7KayAOymswDsprQA7Ka1AOymtgDsprcA7Ka4AOymuQDsproA7Ka7AOymvADspr0A7Ka+AOymvwDsp4AA7KeBAOynggDsp4MA7KeEAOynhQDsp4YA7KeHAOyniADsp4kA7KeKAOyniwDsp4wA7KeNAOynjgDsp48A7KeQAOynkQDsp5IA7KeTAOynlADsp5UA7KeWAOynlwDsp5gA7KeZAOynmgDsp5sA7KecAOynnQDsp54A7KefAOynoADsp6EA7KeiAOynowDsp6QA7KelAOynpgDsp6cA7KeoAOynqQDsp6oA7KerAOynrADsp60A7KeuAOynrwDsp7AA7KexAOynsgDsp7MA7Ke0AOyntQDsp7YA7Ke3AOynuADsp7kA7Ke6AOynuwDsp7wA7Ke9AOynvgDsp78A7KiAAOyogQDsqIIA7KiDAOyohADsqIUA7KiGAOyohwDsqIgA7KiJAOyoigDsqIsA7KiMAOyojQDsqI4A7KiPAOyokADsqJEA7KiSAOyokwDsqJQA7KiVAOyolgDsqJcA7KiYAOyomQDsqJoA7KibAOyonADsqJ0A7KieAOyonwDsqKAA7KihAOyoogDsqKMA7KikAOyopQDsqKYA7KinAOyoqADsqKkA7KiqAOyoqwDsqKwA7KitAOyorgDsqK8A7KiwAOyosQDsqLIA7KizAOyotADsqLUA7Ki2AOyotwDsqLgA7Ki5AOyougDsqLsA7Ki8AOyovQDsqL4A7Ki/AOypgADsqYEA7KmCAOypgwDsqYQA7KmFAOyphgDsqYcA7KmIAOypiQDsqYoA7KmLAOypjADsqY0A7KmOAOypjwDsqZAA7KmRAOypkgDsqZMA7KmUAOyplQDsqZYA7KmXAOypmADsqZkA7KmaAOypmwDsqZwA7KmdAOypngDsqZ8A7KmgAOypoQDsqaIA7KmjAOyppADsqaUA7KmmAOyppwDsqagA7KmpAOypqgDsqasA7KmsAOyprQDsqa4A7KmvAOypsADsqbEA7KmyAOypswDsqbQA7Km1AOyptgDsqbcA7Km4AOypuQDsqboA7Km7AOypvADsqb0A7Km+AOypvwDsqoAA7KqBAOyqggDsqoMA7KqEAOyqhQDsqoYA7KqHAOyqiADsqokA7KqKAOyqiwDsqowA7KqNAOyqjgDsqo8A7KqQAOyqkQDsqpIA7KqTAOyqlADsqpUA7KqWAOyqlwDsqpgA7KqZAOyqmgDsqpsA7KqcAOyqnQDsqp4A7KqfAOyqoADsqqEA7KqiAOyqowDsqqQA7KqlAOyqpgDsqqcA7KqoAOyqqQDsqqoA7KqrAOyqrADsqq0A7KquAOyqrwDsqrAA7KqxAOyqsgDsqrMA7Kq0AOyqtQDsqrYA7Kq3AOyquADsqrkA7Kq6AOyquwDsqrwA7Kq9AOyqvgDsqr8A7KuAAOyrgQDsq4IA7KuDAOyrhADsq4UA7KuGAOyrhwDsq4gA7KuJAOyrigDsq4sA7KuMAOyrjQDsq44A7KuPAOyrkADsq5EA7KuSAOyrkwDsq5QA7KuVAOyrlgDsq5cA7KuYAOyrmQDsq5oA7KubAOyrnADsq50A7KueAOyrnwDsq6AA7KuhAOyrogDsq6MA7KukAOyrpQDsq6YA7KunAOyrqADsq6kA7KuqAOyrqwDsq6wA7KutAOyrrgDsq68A7KuwAOyrsQDsq7IA7KuzAOyrtADsq7UA7Ku2AOyrtwDsq7gA7Ku5AOyrugDsq7sA7Ku8AOyrvQDsq74A7Ku/AOysgADsrIEA7KyCAOysgwDsrIQA7KyFAOyshgDsrIcA7KyIAOysiQDsrIoA7KyLAOysjADsrI0A7KyOAOysjwDsrJAA7KyRAOyskgDsrJMA7KyUAOyslQDsrJYA7KyXAOysmADsrJkA7KyaAOysmwDsrJwA7KydAOysngDsrJ8A7KygAOysoQDsrKIA7KyjAOyspADsrKUA7KymAOyspwDsrKgA7KypAOysqgDsrKsA7KysAOysrQDsrK4A7KyvAOyssADsrLEA7KyyAOysswDsrLQA7Ky1AOystgDsrLcA7Ky4AOysuQDsrLoA7Ky7AOysvADsrL0A7Ky+AOysvwDsrYAA7K2BAOytggDsrYMA7K2EAOythQDsrYYA7K2HAOytiADsrYkA7K2KAOytiwDsrYwA7K2NAOytjgDsrY8A7K2QAOytkQDsrZIA7K2TAOytlADsrZUA7K2WAOytlwDsrZgA7K2ZAOytmgDsrZsA7K2cAOytnQDsrZ4A7K2fAOytoADsraEA7K2iAOytowDsraQA7K2lAOytpgDsracA7K2oAOytqQDsraoA7K2rAOytrADsra0A7K2uAOytrwDsrbAA7K2xAOytsgDsrbMA7K20AOyttQDsrbYA7K23AOytuADsrbkA7K26AOytuwDsrbwA7K29AOytvgDsrb8A7K6AAOyugQDsroIA7K6DAOyuhADsroUA7K6GAOyuhwDsrogA7K6JAOyuigDsrosA7K6MAOyujQDsro4A7K6PAOyukADsrpEA7K6SAOyukwDsrpQA7K6VAOyulgDsrpcA7K6YAOyumQDsrpoA7K6bAOyunADsrp0A7K6eAOyunwDsrqAA7K6hAOyuogDsrqMA7K6kAOyupQDsrqYA7K6nAOyuqADsrqkA7K6qAOyuqwDsrqwA7K6tAOyurgDsrq8A7K6wAOyusQDsrrIA7K6zAOyutADsrrUA7K62AOyutwDsrrgA7K65AOyuugDsrrsA7K68AOyuvQDsrr4A7K6/AOyvgADsr4EA7K+CAOyvgwDsr4QA7K+FAOyvhgDsr4cA7K+IAOyviQDsr4oA7K+LAOyvjADsr40A7K+OAOyvjwDsr5AA7K+RAOyvkgDsr5MA7K+UAOyvlQDsr5YA7K+XAOyvmADsr5kA7K+aAOyvmwDsr5wA7K+dAOyvngDsr58A7K+gAOyvoQDsr6IA7K+jAOyvpADsr6UA7K+mAOyvpwDsr6gA7K+pAOyvqgDsr6sA7K+sAOyvrQDsr64A7K+vAOyvsADsr7EA7K+yAOyvswDsr7QA7K+1AOyvtgDsr7cA7K+4AOyvuQDsr7oA7K+7AOyvvADsr70A7K++AOyvvwDssIAA7LCBAOywggDssIMA7LCEAOywhQDssIYA7LCHAOywiADssIkA7LCKAOywiwDssIwA7LCNAOywjgDssI8A7LCQAOywkQDssJIA7LCTAOywlADssJUA7LCWAOywlwDssJgA7LCZAOywmgDssJsA7LCcAOywnQDssJ4A7LCfAOywoADssKEA7LCiAOywowDssKQA7LClAOywpgDssKcA7LCoAOywqQDssKoA7LCrAOywrADssK0A7LCuAOywrwDssLAA7LCxAOywsgDssLMA7LC0AOywtQDssLYA7LC3AOywuADssLjqs6AA7LC5AOywugDssLsA7LC8AOywvQDssL4A7LC/AOyxgADssYEA7LGCAOyxgwDssYQA7LGFAOyxhgDssYcA7LGIAOyxiQDssYoA7LGLAOyxjADssY0A7LGOAOyxjwDssZAA7LGRAOyxkgDssZMA7LGUAOyxlQDssZYA7LGXAOyxmADssZkA7LGaAOyxmwDssZwA7LGdAOyxngDssZ8A7LGgAOyxoQDssaIA7LGjAOyxpADssaUA7LGmAOyxpwDssagA7LGpAOyxqgDssasA7LGsAOyxrQDssa4A7LGvAOyxsADssbEA7LGyAOyxswDssbQA7LG1AOyxtgDssbcA7LG4AOyxuQDssboA7LG7AOyxvADssb0A7LG+AOyxvwDssoAA7LKBAOyyggDssoMA7LKEAOyyhQDssoYA7LKHAOyyiADssokA7LKKAOyyiwDssowA7LKNAOyyjgDsso8A7LKQAOyykQDsspIA7LKTAOyylADsspUA7LKWAOyylwDsspgA7LKZAOyymgDsspsA7LKcAOyynQDssp4A7LKfAOyyoADssqEA7LKiAOyyowDssqQA7LKlAOyypgDssqcA7LKoAOyyqQDssqoA7LKrAOyyrADssq0A7LKuAOyyrwDssrAA7LKxAOyysgDssrMA7LK0AOyytQDssrYA7LK3AOyyuADssrkA7LK6AOyyuwDssrwA7LK9AOyyvgDssr8A7LOAAOyzgQDss4IA7LODAOyzhADss4UA7LOGAOyzhwDss4gA7LOJAOyzigDss4sA7LOMAOyzjQDss44A7LOPAOyzkADss5EA7LOSAOyzkwDss5QA7LOVAOyzlgDss5cA7LOYAOyzmQDss5oA7LObAOyznADss50A7LOeAOyznwDss6AA7LOhAOyzogDss6MA7LOkAOyzpQDss6YA7LOnAOyzqADss6kA7LOqAOyzqwDss6wA7LOtAOyzrgDss68A7LOwAOyzsQDss7IA7LOzAOyztADss7UA7LO2AOyztwDss7gA7LO5AOyzugDss7sA7LO8AOyzvQDss74A7LO/AOy0gADstIEA7LSCAOy0gwDstIQA7LSFAOy0hgDstIcA7LSIAOy0iQDstIoA7LSLAOy0jADstI0A7LSOAOy0jwDstJAA7LSRAOy0kgDstJMA7LSUAOy0lQDstJYA7LSXAOy0mADstJkA7LSaAOy0mwDstJwA7LSdAOy0ngDstJ8A7LSgAOy0oQDstKIA7LSjAOy0pADstKUA7LSmAOy0pwDstKgA7LSpAOy0qgDstKsA7LSsAOy0rQDstK4A7LSvAOy0sADstLEA7LSyAOy0swDstLQA7LS1AOy0tgDstLcA7LS4AOy0uQDstLoA7LS7AOy0vADstL0A7LS+AOy0vwDstYAA7LWBAOy1ggDstYMA7LWEAOy1hQDstYYA7LWHAOy1iADstYkA7LWKAOy1iwDstYwA7LWNAOy1jgDstY8A7LWQAOy1kQDstZIA7LWTAOy1lADstZUA7LWWAOy1lwDstZgA7LWZAOy1mgDstZsA7LWcAOy1nQDstZ4A7LWfAOy1oADstaEA7LWiAOy1owDstaQA7LWlAOy1pgDstacA7LWoAOy1qQDstaoA7LWrAOy1rADsta0A7LWuAOy1rwDstbAA7LWxAOy1sgDstbMA7LW0AOy1tQDstbYA7LW3AOy1uADstbkA7LW6AOy1uwDstbwA7LW9AOy1vgDstb8A7LaAAOy2gQDstoIA7LaDAOy2hADstoUA7LaGAOy2hwDstogA7LaJAOy2igDstosA7LaMAOy2jQDsto4A7LaPAOy2kADstpEA7LaSAOy2kwDstpQA7LaVAOy2lgDstpcA7LaYAOy2mQDstpoA7LabAOy2nADstp0A7LaeAOy2nwDstqAA7LahAOy2ogDstqMA7LakAOy2pQDstqYA7LanAOy2qADstqkA7LaqAOy2qwDstqwA7LatAOy2rgDstq8A7LawAOy2sQDstrIA7LazAOy2tADstrUA7La2AOy2twDstrgA7La5AOy2ugDstrsA7La8AOy2vQDstr4A7La/AOy3gADst4EA7LeCAOy3gwDst4QA7LeFAOy3hgDst4cA7LeIAOy3iQDst4oA7LeLAOy3jADst40A7LeOAOy3jwDst5AA7LeRAOy3kgDst5MA7LeUAOy3lQDst5YA7LeXAOy3mADst5kA7LeaAOy3mwDst5wA7LedAOy3ngDst58A7LegAOy3oQDst6IA7LejAOy3pADst6UA7LemAOy3pwDst6gA7LepAOy3qgDst6sA7LesAOy3rQDst64A7LevAOy3sADst7EA7LeyAOy3swDst7QA7Le1AOy3tgDst7cA7Le4AOy3uQDst7oA7Le7AOy3vADst70A7Le+AOy3vwDsuIAA7LiBAOy4ggDsuIMA7LiEAOy4hQDsuIYA7LiHAOy4iADsuIkA7LiKAOy4iwDsuIwA7LiNAOy4jgDsuI8A7LiQAOy4kQDsuJIA7LiTAOy4lADsuJUA7LiWAOy4lwDsuJgA7LiZAOy4mgDsuJsA7LicAOy4nQDsuJ4A7LifAOy4oADsuKEA7LiiAOy4owDsuKQA7LilAOy4pgDsuKcA7LioAOy4qQDsuKoA7LirAOy4rADsuK0A7LiuAOy4rwDsuLAA7LixAOy4sgDsuLMA7Li0AOy4tQDsuLYA7Li3AOy4uADsuLkA7Li6AOy4uwDsuLwA7Li9AOy4vgDsuL8A7LmAAOy5gQDsuYIA7LmDAOy5hADsuYUA7LmGAOy5hwDsuYgA7LmJAOy5igDsuYsA7LmMAOy5jQDsuY4A7LmPAOy5kADsuZEA7LmSAOy5kwDsuZQA7LmVAOy5lgDsuZcA7LmYAOy5mQDsuZoA7LmbAOy5nADsuZ0A7LmeAOy5nwDsuaAA7LmhAOy5ogDsuaMA7LmkAOy5pQDsuaYA7LmnAOy5qADsuakA7LmqAOy5qwDsuawA7LmtAOy5rgDsua8A7LmwAOy5sQDsubIA7LmzAOy5tADsubUA7Lm2AOy5twDsubgA7Lm5AOy5ugDsubsA7Lm8AOy5vQDsub4A7Lm/AOy6gADsuoEA7LqCAOy6gwDsuoQA7LqFAOy6hgDsuocA7LqIAOy6iQDsuooA7LqLAOy6jADsuo0A7LqOAOy6jwDsupAA7LqRAOy6kgDsupMA7LqUAOy6lQDsupYA7LqXAOy6mADsupkA7LqaAOy6mwDsupwA7LqdAOy6ngDsup8A7LqgAOy6oQDsuqIA7LqjAOy6pADsuqUA7LqmAOy6pwDsuqgA7LqpAOy6qgDsuqsA7LqsAOy6rQDsuq4A7LqvAOy6sADsurEA7LqyAOy6swDsurQA7Lq1AOy6tgDsurcA7Lq4AOy6uQDsuroA7Lq7AOy6vADsur0A7Lq+AOy6vwDsu4AA7LuBAOy7ggDsu4MA7LuEAOy7hQDsu4YA7LuHAOy7iADsu4kA7LuKAOy7iwDsu4wA7LuNAOy7jgDsu48A7LuQAOy7kQDsu5IA7LuTAOy7lADsu5UA7LuWAOy7lwDsu5gA7LuZAOy7mgDsu5sA7LucAOy7nQDsu54A7LufAOy7oADsu6EA7LuiAOy7owDsu6QA7LulAOy7pgDsu6cA7LuoAOy7qQDsu6oA7LurAOy7rADsu60A7LuuAOy7rwDsu7AA7LuxAOy7sgDsu7MA7Lu0AOy7tQDsu7YA7Lu3AOy7uADsu7kA7Lu6AOy7uwDsu7wA7Lu9AOy7vgDsu78A7LyAAOy8gQDsvIIA7LyDAOy8hADsvIUA7LyGAOy8hwDsvIgA7LyJAOy8igDsvIsA7LyMAOy8jQDsvI4A7LyPAOy8kADsvJEA7LySAOy8kwDsvJQA7LyVAOy8lgDsvJcA7LyYAOy8mQDsvJoA7LybAOy8nADsvJ0A7LyeAOy8nwDsvKAA7LyhAOy8ogDsvKMA7LykAOy8pQDsvKYA7LynAOy8qADsvKkA7LyqAOy8qwDsvKwA7LytAOy8rgDsvK8A7LywAOy8sQDsvLIA7LyzAOy8tADsvLUA7Ly2AOy8twDsvLgA7Ly5AOy8ugDsvLsA7Ly8AOy8vQDsvL4A7Ly/AOy9gADsvYEA7L2CAOy9gwDsvYQA7L2FAOy9hgDsvYcA7L2IAOy9iQDsvYoA7L2LAOy9jADsvY0A7L2OAOy9jwDsvZAA7L2RAOy9kgDsvZMA7L2UAOy9lQDsvZYA7L2XAOy9mADsvZkA7L2aAOy9mwDsvZwA7L2dAOy9ngDsvZ8A7L2gAOy9oQDsvaIA7L2jAOy9pADsvaUA7L2mAOy9pwDsvagA7L2pAOy9qgDsvasA7L2sAOy9rQDsva4A7L2vAOy9sADsvbEA7L2yAOy9swDsvbQA7L21AOy9tgDsvbcA7L24AOy9uQDsvboA7L27AOy9vADsvb0A7L2+AOy9vwDsvoAA7L6BAOy+ggDsvoMA7L6EAOy+hQDsvoYA7L6HAOy+iADsvokA7L6KAOy+iwDsvowA7L6NAOy+jgDsvo8A7L6QAOy+kQDsvpIA7L6TAOy+lADsvpUA7L6WAOy+lwDsvpgA7L6ZAOy+mgDsvpsA7L6cAOy+nQDsvp4A7L6fAOy+oADsvqEA7L6iAOy+owDsvqQA7L6lAOy+pgDsvqcA7L6oAOy+qQDsvqoA7L6rAOy+rADsvq0A7L6uAOy+rwDsvrAA7L6xAOy+sgDsvrMA7L60AOy+tQDsvrYA7L63AOy+uADsvrkA7L66AOy+uwDsvrwA7L69AOy+vgDsvr8A7L+AAOy/gQDsv4IA7L+DAOy/hADsv4UA7L+GAOy/hwDsv4gA7L+JAOy/igDsv4sA7L+MAOy/jQDsv44A7L+PAOy/kADsv5EA7L+SAOy/kwDsv5QA7L+VAOy/lgDsv5cA7L+YAOy/mQDsv5oA7L+bAOy/nADsv50A7L+eAOy/nwDsv6AA7L+hAOy/ogDsv6MA7L+kAOy/pQDsv6YA7L+nAOy/qADsv6kA7L+qAOy/qwDsv6wA7L+tAOy/rgDsv68A7L+wAOy/sQDsv7IA7L+zAOy/tADsv7UA7L+2AOy/twDsv7gA7L+5AOy/ugDsv7sA7L+8AOy/vQDsv74A7L+/AO2AgADtgIEA7YCCAO2AgwDtgIQA7YCFAO2AhgDtgIcA7YCIAO2AiQDtgIoA7YCLAO2AjADtgI0A7YCOAO2AjwDtgJAA7YCRAO2AkgDtgJMA7YCUAO2AlQDtgJYA7YCXAO2AmADtgJkA7YCaAO2AmwDtgJwA7YCdAO2AngDtgJ8A7YCgAO2AoQDtgKIA7YCjAO2ApADtgKUA7YCmAO2ApwDtgKgA7YCpAO2AqgDtgKsA7YCsAO2ArQDtgK4A7YCvAO2AsADtgLEA7YCyAO2AswDtgLQA7YC1AO2AtgDtgLcA7YC4AO2AuQDtgLoA7YC7AO2AvADtgL0A7YC+AO2AvwDtgYAA7YGBAO2BggDtgYMA7YGEAO2BhQDtgYYA7YGHAO2BiADtgYkA7YGKAO2BiwDtgYwA7YGNAO2BjgDtgY8A7YGQAO2BkQDtgZIA7YGTAO2BlADtgZUA7YGWAO2BlwDtgZgA7YGZAO2BmgDtgZsA7YGcAO2BnQDtgZ4A7YGfAO2BoADtgaEA7YGiAO2BowDtgaQA7YGlAO2BpgDtgacA7YGoAO2BqQDtgaoA7YGrAO2BrADtga0A7YGuAO2BrwDtgbAA7YGxAO2BsgDtgbMA7YG0AO2BtQDtgbYA7YG3AO2BuADtgbkA7YG6AO2BuwDtgbwA7YG9AO2BvgDtgb8A7YKAAO2CgQDtgoIA7YKDAO2ChADtgoUA7YKGAO2ChwDtgogA7YKJAO2CigDtgosA7YKMAO2CjQDtgo4A7YKPAO2CkADtgpEA7YKSAO2CkwDtgpQA7YKVAO2ClgDtgpcA7YKYAO2CmQDtgpoA7YKbAO2CnADtgp0A7YKeAO2CnwDtgqAA7YKhAO2CogDtgqMA7YKkAO2CpQDtgqYA7YKnAO2CqADtgqkA7YKqAO2CqwDtgqwA7YKtAO2CrgDtgq8A7YKwAO2CsQDtgrIA7YKzAO2CtADtgrUA7YK2AO2CtwDtgrgA7YK5AO2CugDtgrsA7YK8AO2CvQDtgr4A7YK/AO2DgADtg4EA7YOCAO2DgwDtg4QA7YOFAO2DhgDtg4cA7YOIAO2DiQDtg4oA7YOLAO2DjADtg40A7YOOAO2DjwDtg5AA7YORAO2DkgDtg5MA7YOUAO2DlQDtg5YA7YOXAO2DmADtg5kA7YOaAO2DmwDtg5wA7YOdAO2DngDtg58A7YOgAO2DoQDtg6IA7YOjAO2DpADtg6UA7YOmAO2DpwDtg6gA7YOpAO2DqgDtg6sA7YOsAO2DrQDtg64A7YOvAO2DsADtg7EA7YOyAO2DswDtg7QA7YO1AO2DtgDtg7cA7YO4AO2DuQDtg7oA7YO7AO2DvADtg70A7YO+AO2DvwDthIAA7YSBAO2EggDthIMA7YSEAO2EhQDthIYA7YSHAO2EiADthIkA7YSKAO2EiwDthIwA7YSNAO2EjgDthI8A7YSQAO2EkQDthJIA7YSTAO2ElADthJUA7YSWAO2ElwDthJgA7YSZAO2EmgDthJsA7YScAO2EnQDthJ4A7YSfAO2EoADthKEA7YSiAO2EowDthKQA7YSlAO2EpgDthKcA7YSoAO2EqQDthKoA7YSrAO2ErADthK0A7YSuAO2ErwDthLAA7YSxAO2EsgDthLMA7YS0AO2EtQDthLYA7YS3AO2EuADthLkA7YS6AO2EuwDthLwA7YS9AO2EvgDthL8A7YWAAO2FgQDthYIA7YWDAO2FhADthYUA7YWGAO2FhwDthYgA7YWJAO2FigDthYsA7YWMAO2FjQDthY4A7YWPAO2FkADthZEA7YWSAO2FkwDthZQA7YWVAO2FlgDthZcA7YWYAO2FmQDthZoA7YWbAO2FnADthZ0A7YWeAO2FnwDthaAA7YWhAO2FogDthaMA7YWkAO2FpQDthaYA7YWnAO2FqADthakA7YWqAO2FqwDthawA7YWtAO2FrgDtha8A7YWwAO2FsQDthbIA7YWzAO2FtADthbUA7YW2AO2FtwDthbgA7YW5AO2FugDthbsA7YW8AO2FvQDthb4A7YW/AO2GgADthoEA7YaCAO2GgwDthoQA7YaFAO2GhgDthocA7YaIAO2GiQDthooA7YaLAO2GjADtho0A7YaOAO2GjwDthpAA7YaRAO2GkgDthpMA7YaUAO2GlQDthpYA7YaXAO2GmADthpkA7YaaAO2GmwDthpwA7YadAO2GngDthp8A7YagAO2GoQDthqIA7YajAO2GpADthqUA7YamAO2GpwDthqgA7YapAO2GqgDthqsA7YasAO2GrQDthq4A7YavAO2GsADthrEA7YayAO2GswDthrQA7Ya1AO2GtgDthrcA7Ya4AO2GuQDthroA7Ya7AO2GvADthr0A7Ya+AO2GvwDth4AA7YeBAO2HggDth4MA7YeEAO2HhQDth4YA7YeHAO2HiADth4kA7YeKAO2HiwDth4wA7YeNAO2HjgDth48A7YeQAO2HkQDth5IA7YeTAO2HlADth5UA7YeWAO2HlwDth5gA7YeZAO2HmgDth5sA7YecAO2HnQDth54A7YefAO2HoADth6EA7YeiAO2HowDth6QA7YelAO2HpgDth6cA7YeoAO2HqQDth6oA7YerAO2HrADth60A7YeuAO2HrwDth7AA7YexAO2HsgDth7MA7Ye0AO2HtQDth7YA7Ye3AO2HuADth7kA7Ye6AO2HuwDth7wA7Ye9AO2HvgDth78A7YiAAO2IgQDtiIIA7YiDAO2IhADtiIUA7YiGAO2IhwDtiIgA7YiJAO2IigDtiIsA7YiMAO2IjQDtiI4A7YiPAO2IkADtiJEA7YiSAO2IkwDtiJQA7YiVAO2IlgDtiJcA7YiYAO2ImQDtiJoA7YibAO2InADtiJ0A7YieAO2InwDtiKAA7YihAO2IogDtiKMA7YikAO2IpQDtiKYA7YinAO2IqADtiKkA7YiqAO2IqwDtiKwA7YitAO2IrgDtiK8A7YiwAO2IsQDtiLIA7YizAO2ItADtiLUA7Yi2AO2ItwDtiLgA7Yi5AO2IugDtiLsA7Yi8AO2IvQDtiL4A7Yi/AO2JgADtiYEA7YmCAO2JgwDtiYQA7YmFAO2JhgDtiYcA7YmIAO2JiQDtiYoA7YmLAO2JjADtiY0A7YmOAO2JjwDtiZAA7YmRAO2JkgDtiZMA7YmUAO2JlQDtiZYA7YmXAO2JmADtiZkA7YmaAO2JmwDtiZwA7YmdAO2JngDtiZ8A7YmgAO2JoQDtiaIA7YmjAO2JpADtiaUA7YmmAO2JpwDtiagA7YmpAO2JqgDtiasA7YmsAO2JrQDtia4A7YmvAO2JsADtibEA7YmyAO2JswDtibQA7Ym1AO2JtgDtibcA7Ym4AO2JuQDtiboA7Ym7AO2JvADtib0A7Ym+AO2JvwDtioAA7YqBAO2KggDtioMA7YqEAO2KhQDtioYA7YqHAO2KiADtiokA7YqKAO2KiwDtiowA7YqNAO2KjgDtio8A7YqQAO2KkQDtipIA7YqTAO2KlADtipUA7YqWAO2KlwDtipgA7YqZAO2KmgDtipsA7YqcAO2KnQDtip4A7YqfAO2KoADtiqEA7YqiAO2KowDtiqQA7YqlAO2KpgDtiqcA7YqoAO2KqQDtiqoA7YqrAO2KrADtiq0A7YquAO2KrwDtirAA7YqxAO2KsgDtirMA7Yq0AO2KtQDtirYA7Yq3AO2KuADtirkA7Yq6AO2KuwDtirwA7Yq9AO2KvgDtir8A7YuAAO2LgQDti4IA7YuDAO2LhADti4UA7YuGAO2LhwDti4gA7YuJAO2LigDti4sA7YuMAO2LjQDti44A7YuPAO2LkADti5EA7YuSAO2LkwDti5QA7YuVAO2LlgDti5cA7YuYAO2LmQDti5oA7YubAO2LnADti50A7YueAO2LnwDti6AA7YuhAO2LogDti6MA7YukAO2LpQDti6YA7YunAO2LqADti6kA7YuqAO2LqwDti6wA7YutAO2LrgDti68A7YuwAO2LsQDti7IA7YuzAO2LtADti7UA7Yu2AO2LtwDti7gA7Yu5AO2LugDti7sA7Yu8AO2LvQDti74A7Yu/AO2MgADtjIEA7YyCAO2MgwDtjIQA7YyFAO2MhgDtjIcA7YyIAO2MiQDtjIoA7YyLAO2MjADtjI0A7YyOAO2MjwDtjJAA7YyRAO2MkgDtjJMA7YyUAO2MlQDtjJYA7YyXAO2MmADtjJkA7YyaAO2MmwDtjJwA7YydAO2MngDtjJ8A7YygAO2MoQDtjKIA7YyjAO2MpADtjKUA7YymAO2MpwDtjKgA7YypAO2MqgDtjKsA7YysAO2MrQDtjK4A7YyvAO2MsADtjLEA7YyyAO2MswDtjLQA7Yy1AO2MtgDtjLcA7Yy4AO2MuQDtjLoA7Yy7AO2MvADtjL0A7Yy+AO2MvwDtjYAA7Y2BAO2NggDtjYMA7Y2EAO2NhQDtjYYA7Y2HAO2NiADtjYkA7Y2KAO2NiwDtjYwA7Y2NAO2NjgDtjY8A7Y2QAO2NkQDtjZIA7Y2TAO2NlADtjZUA7Y2WAO2NlwDtjZgA7Y2ZAO2NmgDtjZsA7Y2cAO2NnQDtjZ4A7Y2fAO2NoADtjaEA7Y2iAO2NowDtjaQA7Y2lAO2NpgDtjacA7Y2oAO2NqQDtjaoA7Y2rAO2NrADtja0A7Y2uAO2NrwDtjbAA7Y2xAO2NsgDtjbMA7Y20AO2NtQDtjbYA7Y23AO2NuADtjbkA7Y26AO2NuwDtjbwA7Y29AO2NvgDtjb8A7Y6AAO2OgQDtjoIA7Y6DAO2OhADtjoUA7Y6GAO2OhwDtjogA7Y6JAO2OigDtjosA7Y6MAO2OjQDtjo4A7Y6PAO2OkADtjpEA7Y6SAO2OkwDtjpQA7Y6VAO2OlgDtjpcA7Y6YAO2OmQDtjpoA7Y6bAO2OnADtjp0A7Y6eAO2OnwDtjqAA7Y6hAO2OogDtjqMA7Y6kAO2OpQDtjqYA7Y6nAO2OqADtjqkA7Y6qAO2OqwDtjqwA7Y6tAO2OrgDtjq8A7Y6wAO2OsQDtjrIA7Y6zAO2OtADtjrUA7Y62AO2OtwDtjrgA7Y65AO2OugDtjrsA7Y68AO2OvQDtjr4A7Y6/AO2PgADtj4EA7Y+CAO2PgwDtj4QA7Y+FAO2PhgDtj4cA7Y+IAO2PiQDtj4oA7Y+LAO2PjADtj40A7Y+OAO2PjwDtj5AA7Y+RAO2PkgDtj5MA7Y+UAO2PlQDtj5YA7Y+XAO2PmADtj5kA7Y+aAO2PmwDtj5wA7Y+dAO2PngDtj58A7Y+gAO2PoQDtj6IA7Y+jAO2PpADtj6UA7Y+mAO2PpwDtj6gA7Y+pAO2PqgDtj6sA7Y+sAO2PrQDtj64A7Y+vAO2PsADtj7EA7Y+yAO2PswDtj7QA7Y+1AO2PtgDtj7cA7Y+4AO2PuQDtj7oA7Y+7AO2PvADtj70A7Y++AO2PvwDtkIAA7ZCBAO2QggDtkIMA7ZCEAO2QhQDtkIYA7ZCHAO2QiADtkIkA7ZCKAO2QiwDtkIwA7ZCNAO2QjgDtkI8A7ZCQAO2QkQDtkJIA7ZCTAO2QlADtkJUA7ZCWAO2QlwDtkJgA7ZCZAO2QmgDtkJsA7ZCcAO2QnQDtkJ4A7ZCfAO2QoADtkKEA7ZCiAO2QowDtkKQA7ZClAO2QpgDtkKcA7ZCoAO2QqQDtkKoA7ZCrAO2QrADtkK0A7ZCuAO2QrwDtkLAA7ZCxAO2QsgDtkLMA7ZC0AO2QtQDtkLYA7ZC3AO2QuADtkLkA7ZC6AO2QuwDtkLwA7ZC9AO2QvgDtkL8A7ZGAAO2RgQDtkYIA7ZGDAO2RhADtkYUA7ZGGAO2RhwDtkYgA7ZGJAO2RigDtkYsA7ZGMAO2RjQDtkY4A7ZGPAO2RkADtkZEA7ZGSAO2RkwDtkZQA7ZGVAO2RlgDtkZcA7ZGYAO2RmQDtkZoA7ZGbAO2RnADtkZ0A7ZGeAO2RnwDtkaAA7ZGhAO2RogDtkaMA7ZGkAO2RpQDtkaYA7ZGnAO2RqADtkakA7ZGqAO2RqwDtkawA7ZGtAO2RrgDtka8A7ZGwAO2RsQDtkbIA7ZGzAO2RtADtkbUA7ZG2AO2RtwDtkbgA7ZG5AO2RugDtkbsA7ZG8AO2RvQDtkb4A7ZG/AO2SgADtkoEA7ZKCAO2SgwDtkoQA7ZKFAO2ShgDtkocA7ZKIAO2SiQDtkooA7ZKLAO2SjADtko0A7ZKOAO2SjwDtkpAA7ZKRAO2SkgDtkpMA7ZKUAO2SlQDtkpYA7ZKXAO2SmADtkpkA7ZKaAO2SmwDtkpwA7ZKdAO2SngDtkp8A7ZKgAO2SoQDtkqIA7ZKjAO2SpADtkqUA7ZKmAO2SpwDtkqgA7ZKpAO2SqgDtkqsA7ZKsAO2SrQDtkq4A7ZKvAO2SsADtkrEA7ZKyAO2SswDtkrQA7ZK1AO2StgDtkrcA7ZK4AO2SuQDtkroA7ZK7AO2SvADtkr0A7ZK+AO2SvwDtk4AA7ZOBAO2TggDtk4MA7ZOEAO2ThQDtk4YA7ZOHAO2TiADtk4kA7ZOKAO2TiwDtk4wA7ZONAO2TjgDtk48A7ZOQAO2TkQDtk5IA7ZOTAO2TlADtk5UA7ZOWAO2TlwDtk5gA7ZOZAO2TmgDtk5sA7ZOcAO2TnQDtk54A7ZOfAO2ToADtk6EA7ZOiAO2TowDtk6QA7ZOlAO2TpgDtk6cA7ZOoAO2TqQDtk6oA7ZOrAO2TrADtk60A7ZOuAO2TrwDtk7AA7ZOxAO2TsgDtk7MA7ZO0AO2TtQDtk7YA7ZO3AO2TuADtk7kA7ZO6AO2TuwDtk7wA7ZO9AO2TvgDtk78A7ZSAAO2UgQDtlIIA7ZSDAO2UhADtlIUA7ZSGAO2UhwDtlIgA7ZSJAO2UigDtlIsA7ZSMAO2UjQDtlI4A7ZSPAO2UkADtlJEA7ZSSAO2UkwDtlJQA7ZSVAO2UlgDtlJcA7ZSYAO2UmQDtlJoA7ZSbAO2UnADtlJ0A7ZSeAO2UnwDtlKAA7ZShAO2UogDtlKMA7ZSkAO2UpQDtlKYA7ZSnAO2UqADtlKkA7ZSqAO2UqwDtlKwA7ZStAO2UrgDtlK8A7ZSwAO2UsQDtlLIA7ZSzAO2UtADtlLUA7ZS2AO2UtwDtlLgA7ZS5AO2UugDtlLsA7ZS8AO2UvQDtlL4A7ZS/AO2VgADtlYEA7ZWCAO2VgwDtlYQA7ZWFAO2VhgDtlYcA7ZWIAO2ViQDtlYoA7ZWLAO2VjADtlY0A7ZWOAO2VjwDtlZAA7ZWRAO2VkgDtlZMA7ZWUAO2VlQDtlZYA7ZWXAO2VmADtlZkA7ZWaAO2VmwDtlZwA7ZWdAO2VngDtlZ8A7ZWgAO2VoQDtlaIA7ZWjAO2VpADtlaUA7ZWmAO2VpwDtlagA7ZWpAO2VqgDtlasA7ZWsAO2VrQDtla4A7ZWvAO2VsADtlbEA7ZWyAO2VswDtlbQA7ZW1AO2VtgDtlbcA7ZW4AO2VuQDtlboA7ZW7AO2VvADtlb0A7ZW+AO2VvwDtloAA7ZaBAO2WggDtloMA7ZaEAO2WhQDtloYA7ZaHAO2WiADtlokA7ZaKAO2WiwDtlowA7ZaNAO2WjgDtlo8A7ZaQAO2WkQDtlpIA7ZaTAO2WlADtlpUA7ZaWAO2WlwDtlpgA7ZaZAO2WmgDtlpsA7ZacAO2WnQDtlp4A7ZafAO2WoADtlqEA7ZaiAO2WowDtlqQA7ZalAO2WpgDtlqcA7ZaoAO2WqQDtlqoA7ZarAO2WrADtlq0A7ZauAO2WrwDtlrAA7ZaxAO2WsgDtlrMA7Za0AO2WtQDtlrYA7Za3AO2WuADtlrkA7Za6AO2WuwDtlrwA7Za9AO2WvgDtlr8A7ZeAAO2XgQDtl4IA7ZeDAO2XhADtl4UA7ZeGAO2XhwDtl4gA7ZeJAO2XigDtl4sA7ZeMAO2XjQDtl44A7ZePAO2XkADtl5EA7ZeSAO2XkwDtl5QA7ZeVAO2XlgDtl5cA7ZeYAO2XmQDtl5oA7ZebAO2XnADtl50A7ZeeAO2XnwDtl6AA7ZehAO2XogDtl6MA7ZekAO2XpQDtl6YA7ZenAO2XqADtl6kA7ZeqAO2XqwDtl6wA7ZetAO2XrgDtl68A7ZewAO2XsQDtl7IA7ZezAO2XtADtl7UA7Ze2AO2XtwDtl7gA7Ze5AO2XugDtl7sA7Ze8AO2XvQDtl74A7Ze/AO2YgADtmIEA7ZiCAO2YgwDtmIQA7ZiFAO2YhgDtmIcA7ZiIAO2YiQDtmIoA7ZiLAO2YjADtmI0A7ZiOAO2YjwDtmJAA7ZiRAO2YkgDtmJMA7ZiUAO2YlQDtmJYA7ZiXAO2YmADtmJkA7ZiaAO2YmwDtmJwA7ZidAO2YngDtmJ8A7ZigAO2YoQDtmKIA7ZijAO2YpADtmKUA7ZimAO2YpwDtmKgA7ZipAO2YqgDtmKsA7ZisAO2YrQDtmK4A7ZivAO2YsADtmLEA7ZiyAO2YswDtmLQA7Zi1AO2YtgDtmLcA7Zi4AO2YuQDtmLoA7Zi7AO2YvADtmL0A7Zi+AO2YvwDtmYAA7ZmBAO2ZggDtmYMA7ZmEAO2ZhQDtmYYA7ZmHAO2ZiADtmYkA7ZmKAO2ZiwDtmYwA7ZmNAO2ZjgDtmY8A7ZmQAO2ZkQDtmZIA7ZmTAO2ZlADtmZUA7ZmWAO2ZlwDtmZgA7ZmZAO2ZmgDtmZsA7ZmcAO2ZnQDtmZ4A7ZmfAO2ZoADtmaEA7ZmiAO2ZowDtmaQA7ZmlAO2ZpgDtmacA7ZmoAO2ZqQDtmaoA7ZmrAO2ZrADtma0A7ZmuAO2ZrwDtmbAA7ZmxAO2ZsgDtmbMA7Zm0AO2ZtQDtmbYA7Zm3AO2ZuADtmbkA7Zm6AO2ZuwDtmbwA7Zm9AO2ZvgDtmb8A7ZqAAO2agQDtmoIA7ZqDAO2ahADtmoUA7ZqGAO2ahwDtmogA7ZqJAO2aigDtmosA7ZqMAO2ajQDtmo4A7ZqPAO2akADtmpEA7ZqSAO2akwDtmpQA7ZqVAO2algDtmpcA7ZqYAO2amQDtmpoA7ZqbAO2anADtmp0A7ZqeAO2anwDtmqAA7ZqhAO2aogDtmqMA7ZqkAO2apQDtmqYA7ZqnAO2aqADtmqkA7ZqqAO2aqwDtmqwA7ZqtAO2argDtmq8A7ZqwAO2asQDtmrIA7ZqzAO2atADtmrUA7Zq2AO2atwDtmrgA7Zq5AO2augDtmrsA7Zq8AO2avQDtmr4A7Zq/AO2bgADtm4EA7ZuCAO2bgwDtm4QA7ZuFAO2bhgDtm4cA7ZuIAO2biQDtm4oA7ZuLAO2bjADtm40A7ZuOAO2bjwDtm5AA7ZuRAO2bkgDtm5MA7ZuUAO2blQDtm5YA7ZuXAO2bmADtm5kA7ZuaAO2bmwDtm5wA7ZudAO2bngDtm58A7ZugAO2boQDtm6IA7ZujAO2bpADtm6UA7ZumAO2bpwDtm6gA7ZupAO2bqgDtm6sA7ZusAO2brQDtm64A7ZuvAO2bsADtm7EA7ZuyAO2bswDtm7QA7Zu1AO2btgDtm7cA7Zu4AO2buQDtm7oA7Zu7AO2bvADtm70A7Zu+AO2bvwDtnIAA7ZyBAO2cggDtnIMA7ZyEAO2chQDtnIYA7ZyHAO2ciADtnIkA7ZyKAO2ciwDtnIwA7ZyNAO2cjgDtnI8A7ZyQAO2ckQDtnJIA7ZyTAO2clADtnJUA7ZyWAO2clwDtnJgA7ZyZAO2cmgDtnJsA7ZycAO2cnQDtnJ4A7ZyfAO2coADtnKEA7ZyiAO2cowDtnKQA7ZylAO2cpgDtnKcA7ZyoAO2cqQDtnKoA7ZyrAO2crADtnK0A7ZyuAO2crwDtnLAA7ZyxAO2csgDtnLMA7Zy0AO2ctQDtnLYA7Zy3AO2cuADtnLkA7Zy6AO2cuwDtnLwA7Zy9AO2cvgDtnL8A7Z2AAO2dgQDtnYIA7Z2DAO2dhADtnYUA7Z2GAO2dhwDtnYgA7Z2JAO2digDtnYsA7Z2MAO2djQDtnY4A7Z2PAO2dkADtnZEA7Z2SAO2dkwDtnZQA7Z2VAO2dlgDtnZcA7Z2YAO2dmQDtnZoA7Z2bAO2dnADtnZ0A7Z2eAO2dnwDtnaAA7Z2hAO2dogDtnaMA7Z2kAO2dpQDtnaYA7Z2nAO2dqADtnakA7Z2qAO2dqwDtnawA7Z2tAO2drgDtna8A7Z2wAO2dsQDtnbIA7Z2zAO2dtADtnbUA7Z22AO2dtwDtnbgA7Z25AO2dugDtnbsA7Z28AO2dvQDtnb4A7Z2/AO2egADtnoEA7Z6CAO2egwDtnoQA7Z6FAO2ehgDtnocA7Z6IAO2eiQDtnooA7Z6LAO2ejADtno0A7Z6OAO2ejwDtnpAA7Z6RAO2ekgDtnpMA7Z6UAO2elQDtnpYA7Z6XAO2emADtnpkA7Z6aAO2emwDtnpwA7Z6dAO2engDtnp8A7Z6gAO2eoQDtnqIA7Z6jAPCRgpoA8JGCnADwkYKrAPCRhK4A8JGErwDwkY2LAPCRjYwA8JGSuwDwkZK8APCRkr4A8JGWugDwkZa7APCdhZfwnYWlAPCdhZjwnYWlAPCdhZjwnYWl8J2FrgDwnYWY8J2FpfCdha8A8J2FmPCdhaXwnYWwAPCdhZjwnYWl8J2FsQDwnYWY8J2FpfCdhbIA8J2GufCdhaUA8J2GufCdhaXwnYWuAPCdhrnwnYWl8J2FrwDwnYa68J2FpQDwnYa68J2FpfCdha4A8J2GuvCdhaXwnYWvAPCghKIA8KCUnADwoJSlAPCglYsA8KCYugDwoKCEAPCgo54A8KCorADwoK2jAPChk6QA8KGaqADwoZuqAPChp4gA8KGsmADwobSLAPCht6QA8KG3pgDwooaDAPCihp8A8KKMsQDwopuUAPCioYQA8KKhigDwoqyMAPCir7EA8KOAigDwo4q4APCjjZ8A8KOOkwDwo46cAPCjj4MA8KOPlQDwo5GtAPCjmqMA8KOipwDwo6qNAPCjq7oA8KOyvADwo7SeAPCju5EA8KO9ngDwo76OAPCkiaMA8KSLrgDwpI6rAPCkmIgA8KSctQDwpKCUAPCksLYA8KSykgDwpL6hAPCkvrgA8KWBhADwpYOyAPClg7MA8KWEmQDwpYSzAPCliYkA8KWQnQDwpZimAPClmpoA8KWbhQDwpaW8APClqqcA8KWuqwDwpbKAAPCls5AA8KW+hgDwpoeaAPCmiKgA8KaJhwDwpouZAPCmjL4A8KaTmgDwppSjAPCmlqgA8KaepwDwpp61APCmrLwA8KawtgDwprOVAPCmtasA8Ka8rADwpr6xAPCng5IA8KePigDwp5mnAPCnoq4A8KelpgDwp7KoAPCnu5MA8Ke8rwDwqJeSAPCol60A8KicrgDwqK+6APCotbcA8KmFhQDwqYefAPCpiJoA8KmQigDwqZKWAPCplrYA8KmssADwqoOOAPCqhIUA8KqIjgDwqoqRAPCqjpIA8KqYgAA="},"pre_tokenizer":{"type":"Sequence","pretokenizers":[{"type":"WhitespaceSplit"},{"type":"Metaspace","replacement":"▁","str_rep":"▁","add_prefix_space":true}]},"post_processor":{"type":"TemplateProcessing","single":[{"Sequence":{"id":"A","type_id":0}},{"SpecialToken":{"id":"","type_id":0}}],"pair":[{"Sequence":{"id":"A","type_id":0}},{"SpecialToken":{"id":"","type_id":0}},{"Sequence":{"id":"B","type_id":0}},{"SpecialToken":{"id":"","type_id":0}}],"special_tokens":{"":{"id":"","ids":[1],"tokens":[""]}}},"decoder":{"type":"Metaspace","replacement":"▁","str_rep":"▁","add_prefix_space":true},"model":{"unk_id":2,"vocab":[["",0.0],["",0.0],["",0.0],["▁",-2.0122928619384766],["X",-2.486478805541992],[".",-3.5449328422546387],[",",-3.649247407913208],["s",-3.9033992290496826],["▁the",-3.9598512649536133],["a",-4.097104549407959],[":",-4.414328098297119],["▁and",-4.420670986175537],["▁to",-4.4523234367370605],["▁of",-4.572070121765137],["▁fill",-4.575019836425781],["e",-4.674920082092285],["▁in",-4.812063694000244],["t",-5.063905715942383],["-",-5.129043102264404],["▁is",-5.283425331115723],["▁de",-5.344141960144043],["▁for",-5.3930158615112305],["’",-5.4228339195251465],["i",-5.469857692718506],["▁that",-5.576240539550781],["▁you",-5.596375465393066],["d",-5.6047282218933105],["▁I",-5.6640448570251465],["▁with",-5.703730583190918],["n",-5.737886905670166],["▁on",-5.784142971038818],["'",-5.828996181488037],["o",-5.925558090209961],["▁are",-5.931313991546631],["▁it",-5.939518928527832],["en",-5.9465556144714355],["▁be",-5.9556708335876465],["▁The",-5.990020751953125],["▁as",-6.057407379150391],["▁your",-6.132311820983887],["l",-6.139498710632324],["▁(",-6.184796333312988],["▁or",-6.241950035095215],["▁have",-6.27459192276001],["▁at",-6.327472686767578],["▁from",-6.349645137786865],["▁an",-6.350090980529785],["▁was",-6.350385665893555],["▁this",-6.352563381195068],["er",-6.3604278564453125],["▁la",-6.3624043464660645],["m",-6.375206470489502],["r",-6.376530170440674],["ing",-6.3778581619262695],["▁can",-6.387146472930908],["!",-6.421379566192627],["▁will",-6.423982620239258],["▁by",-6.44155216217041],["?",-6.585887432098389],["▁not",-6.5959086418151855],["re",-6.620072364807129],[")",-6.63656759262085],["▁we",-6.643022060394287],["y",-6.654535293579102],["▁und",-6.741473197937012],["▁has",-6.7602033615112305],["▁all",-6.768176555633545],["▁die",-6.8641204833984375],["▁but",-6.906830310821533],["▁our",-6.909878730773926],["▁their",-6.91325044631958],["▁A",-6.915814399719238],["▁more",-6.918668746948242],["▁un",-6.924930572509766],["▁der",-6.925402641296387],["c",-6.925714015960693],["u",-6.932939052581787],["in",-6.934063911437988],["▁so",-6.947050094604492],["▁they",-6.989297866821289],["▁one",-7.012735843658447],["▁about",-7.071486473083496],["▁my",-7.072140693664551],["ul",-7.076492786407471],["▁which",-7.097039222717285],["à",-7.099997520446777],["▁In",-7.100254535675049],["/",-7.100865840911865],["he",-7.104752540588379],["f",-7.110044002532959],["▁le",-7.112937927246094],["▁out",-7.128556728363037],["▁also",-7.133583068847656],["▁des",-7.156766414642334],["▁It",-7.162121295928955],["▁up",-7.1723432540893555],["▁\"",-7.172809600830078],["▁time",-7.178046703338623],["ă",-7.183253765106201],["if",-7.185171127319336],["▁This",-7.191652297973633],["▁We",-7.223267078399658],["p",-7.224130153656006],["▁do",-7.228212356567383],["–",-7.235409736633301],["▁“",-7.238142013549805],["on",-7.240827560424805],["h",-7.2543206214904785],["▁si",-7.276725769042969],["le",-7.2994256019592285],["▁les",-7.312957286834717],["▁în",-7.314571857452393],["▁his",-7.324767112731934],["▁who",-7.35105562210083],["▁like",-7.371364116668701],["b",-7.375369071960449],["▁when",-7.380199432373047],[";",-7.380846977233887],["▁been",-7.38668966293335],["▁other",-7.388518333435059],["ly",-7.394660949707031],["\"",-7.407205104827881],["g",-7.407997131347656],["▁cu",-7.415276527404785],["▁care",-7.432408332824707],["▁what",-7.433043003082275],["▁new",-7.4370903968811035],["or",-7.445409774780273],["▁some",-7.461953639984131],["▁get",-7.479001998901367],["▁were",-7.491549491882324],["▁just",-7.492495536804199],["▁there",-7.493194103240967],["▁would",-7.494382381439209],["S",-7.4974141120910645],["▁them",-7.513596057891846],["▁any",-7.520544052124023],[").",-7.521052360534668],["al",-7.523056983947754],["▁into",-7.527902603149414],["▁me",-7.528337001800537],["▁had",-7.532425403594971],["▁se",-7.5451483726501465],["▁make",-7.5827131271362305],["at",-7.589433670043945],["▁than",-7.592360019683838],["▁du",-7.595852375030518],["▁over",-7.6078782081604],["▁You",-7.626111030578613],["▁how",-7.635554313659668],["▁no",-7.63729190826416],["▁people",-7.639947414398193],["an",-7.64084005355835],["”",-7.644528865814209],["é",-7.646921157836914],["it",-7.648641109466553],["▁If",-7.648687839508057],["k",-7.6605634689331055],["▁pe",-7.662139415740967],["is",-7.66726016998291],["▁her",-7.6733808517456055],["▁work",-7.680386543273926],["ve",-7.687412738800049],["▁only",-7.69785737991333],["▁may",-7.702393531799316],["▁its",-7.702449798583984],["▁first",-7.704373836517334],["▁most",-7.708309173583984],["▁well",-7.708758354187012],["▁use",-7.715085983276367],["▁zu",-7.718777656555176],["▁pour",-7.736708164215088],["z",-7.745654106140137],["il",-7.745913982391357],["▁need",-7.74778938293457],["▁these",-7.763317584991455],["▁din",-7.769891262054443],["▁den",-7.775663375854492],["▁us",-7.778133869171143],["able",-7.779712200164795],["▁S",-7.781893730163574],["▁mit",-7.792516231536865],["▁very",-7.79970645904541],["▁am",-7.814100742340088],["&",-7.829529285430908],["▁au",-7.83012056350708],["▁many",-7.83834171295166],["▁mai",-7.84363317489624],["A",-7.849830150604248],["th",-7.855541229248047],["▁through",-7.859585285186768],["▁pentru",-7.86391544342041],["▁two",-7.873607158660889],["▁von",-7.874959945678711],["▁way",-7.887117385864258],["ll",-7.887749195098877],["I",-7.891303539276123],["▁ce",-7.9015631675720215],["▁și",-7.904444694519043],["▁help",-7.907405853271484],["▁best",-7.907911777496338],["),",-7.908212184906006],["un",-7.925017833709717],["▁years",-7.925964832305908],["▁2",-7.9282684326171875],["▁C",-7.936962604522705],["▁nu",-7.939520835876465],["▁good",-7.943995952606201],["v",-7.94746732711792],["▁1",-7.94765567779541],["w",-7.947978496551514],["▁das",-7.960538864135742],["▁ca",-7.962430477142334],["▁where",-7.964908123016357],["▁know",-7.96622896194458],["▁year",-7.971063613891602],["▁He",-7.974609375],["▁see",-7.980011463165283],["▁für",-7.984004497528076],["▁auf",-7.984249114990234],["▁3",-7.984433650970459],["de",-7.985401153564453],["est",-8.002091407775879],["▁back",-8.007022857666016],["▁such",-8.008523941040039],["▁should",-8.011754989624023],["x",-8.015050888061523],["▁after",-8.01761245727539],["▁could",-8.019674301147461],["▁ist",-8.020784378051758],["▁now",-8.022845268249512],["▁much",-8.023111343383789],["and",-8.02390193939209],["...",-8.030110359191895],["▁home",-8.036273956298828],["to",-8.03821086883545],["▁ein",-8.04833984375],["▁even",-8.048656463623047],["▁que",-8.049829483032227],["▁day",-8.051553726196289],["▁take",-8.054189682006836],["▁want",-8.054435729980469],["▁For",-8.06217098236084],["▁said",-8.063249588012695],["▁sur",-8.073471069335938],["▁une",-8.077030181884766],["▁să",-8.082921028137207],["▁dans",-8.084549903869629],["▁great",-8.088057518005371],["▁este",-8.08947467803955],["▁because",-8.094311714172363],["▁information",-8.104085922241211],["ului",-8.105451583862305],["▁find",-8.112174987792969],["C",-8.119946479797363],["▁she",-8.125317573547363],["▁im",-8.126056671142578],["ation",-8.130115509033203],["▁then",-8.13021469116211],["▁est",-8.13099479675293],["▁par",-8.138585090637207],["▁used",-8.141871452331543],["▁E",-8.146790504455566],["▁made",-8.149978637695312],["▁So",-8.15785026550293],["am",-8.16288948059082],["▁eine",-8.165464401245117],["▁şi",-8.168368339538574],["▁business",-8.17335033416748],["▁right",-8.173593521118164],["▁here",-8.176125526428223],["▁being",-8.184967041015625],["▁B",-8.185355186462402],["▁those",-8.185736656188965],["▁before",-8.194721221923828],["▁And",-8.199501037597656],["▁P",-8.200712203979492],["ers",-8.200922012329102],["▁don",-8.204029083251953],["B",-8.20487117767334],["▁life",-8.206265449523926],["▁go",-8.209736824035645],["▁As",-8.210551261901855],["▁M",-8.221170425415039],["▁each",-8.22955322265625],["▁qui",-8.23323917388916],["▁place",-8.236248970031738],["com",-8.237479209899902],["ant",-8.252915382385254],["▁sich",-8.255932807922363],["▁There",-8.261948585510254],["ar",-8.264991760253906],["▁Sie",-8.273868560791016],["▁own",-8.277531623840332],["▁part",-8.279440879821777],["ent",-8.281047821044922],["▁world",-8.28173542022705],["ment",-8.282004356384277],["▁while",-8.294474601745605],["▁But",-8.295366287231445],["▁around",-8.300799369812012],["▁L",-8.301082611083984],["us",-8.304039001464844],["▁plus",-8.313054084777832],["▁To",-8.313691139221191],["▁5",-8.31412410736084],["▁high",-8.31862735748291],["▁long",-8.319378852844238],["D",-8.320075035095215],["▁D",-8.320279121398926],["▁really",-8.322924613952637],["▁nicht",-8.332040786743164],["▁Le",-8.335328102111816],["▁service",-8.3412504196167],["▁4",-8.342093467712402],["▁different",-8.342538833618164],["▁Die",-8.348092079162598],["▁think",-8.353771209716797],["—",-8.355998039245605],["▁auch",-8.357160568237305],["▁look",-8.362202644348145],["▁both",-8.366817474365234],["lor",-8.36687183380127],["▁down",-8.367999076843262],["ten",-8.368885040283203],["▁La",-8.378066062927246],["▁off",-8.380044937133789],["▁vous",-8.380541801452637],["▁They",-8.381462097167969],["M",-8.383248329162598],["▁pas",-8.384513854980469],["▁data",-8.385709762573242],["▁T",-8.386754989624023],["▁love",-8.388101577758789],["▁every",-8.390009880065918],["▁10",-8.391179084777832],["▁last",-8.392083168029785],["▁same",-8.393481254577637],["▁using",-8.395487785339355],["▁free",-8.408831596374512],["▁dem",-8.40894889831543],["▁still",-8.409984588623047],["ate",-8.410931587219238],["ist",-8.415611267089844],["▁between",-8.420283317565918],["P",-8.420982360839844],["be",-8.428167343139648],["▁available",-8.429443359375],["man",-8.432978630065918],["▁company",-8.439678192138672],["▁G",-8.441640853881836],["▁experience",-8.444950103759766],["▁going",-8.449073791503906],["▁site",-8.453832626342773],["j",-8.455142974853516],["are",-8.456900596618652],["▁set",-8.470661163330078],["2",-8.473684310913086],["▁system",-8.474678039550781],["▁important",-8.476791381835938],["▁few",-8.482437133789062],["▁fi",-8.482551574707031],["ich",-8.483301162719727],["▁What",-8.488649368286133],["▁services",-8.502433776855469],["▁under",-8.502569198608398],["▁When",-8.50308895111084],["▁online",-8.50699520111084],["▁New",-8.51494312286377],["▁come",-8.524871826171875],["▁provide",-8.525650024414062],["F",-8.526449203491211],["▁team",-8.52782154083252],["▁always",-8.529409408569336],["▁De",-8.530412673950195],["▁că",-8.532517433166504],["▁him",-8.53586196899414],["▁F",-8.538305282592773],["▁things",-8.550079345703125],["▁including",-8.550943374633789],["▁support",-8.552608489990234],["▁number",-8.554113388061523],["T",-8.557183265686035],["▁during",-8.55886459350586],["▁family",-8.560463905334473],["▁little",-8.561317443847656],["▁three",-8.567726135253906],["▁water",-8.56810188293457],["▁man",-8.569759368896484],["▁An",-8.57192611694336],["based",-8.572155952453613],["▁R",-8.57442855834961],["▁sau",-8.574433326721191],["▁avec",-8.576035499572754],["▁better",-8.576830863952637],["▁„",-8.582253456115723],["▁too",-8.58635425567627],["ge",-8.586719512939453],["▁must",-8.589736938476562],["▁per",-8.589916229248047],["ele",-8.590399742126465],["▁oder",-8.59264850616455],["au",-8.59555435180664],["▁aus",-8.595727920532227],["▁werden",-8.598653793334961],["▁does",-8.599140167236328],["▁without",-8.599270820617676],["▁ou",-8.599929809570312],["▁design",-8.60101318359375],["▁va",-8.605440139770508],["▁did",-8.615679740905762],["▁O",-8.619062423706055],["▁U",-8.623565673828125],["up",-8.62901496887207],["▁end",-8.63367748260498],["▁local",-8.636231422424316],["▁next",-8.638967514038086],["▁sure",-8.64098072052002],["▁lot",-8.64644718170166],["▁Re",-8.647016525268555],["▁top",-8.647642135620117],["▁Our",-8.656886100769043],["▁small",-8.656978607177734],["▁full",-8.659418106079102],["▁something",-8.662886619567871],["ung",-8.666722297668457],["▁vor",-8.673250198364258],["E",-8.673337936401367],["▁give",-8.67603588104248],["▁might",-8.67660903930664],["▁another",-8.679330825805664],["▁6",-8.680779457092285],["▁All",-8.681318283081055],["▁process",-8.681672096252441],["L",-8.682575225830078],["▁found",-8.68941593170166],["▁sind",-8.690044403076172],["▁since",-8.69528865814209],["▁With",-8.695560455322266],["K",-8.696988105773926],["um",-8.701016426086426],["▁within",-8.701669692993164],["▁post",-8.706608772277832],["▁car",-8.709365844726562],["une",-8.714099884033203],["▁N",-8.715041160583496],["▁J",-8.715597152709961],["ic",-8.71823787689209],["R",-8.722309112548828],["ter",-8.727437019348145],["ur",-8.728265762329102],["▁She",-8.73131275177002],["▁public",-8.732009887695312],["▁keep",-8.735784530639648],["▁H",-8.736178398132324],["▁order",-8.740762710571289],["▁start",-8.742195129394531],["ez",-8.74746322631836],["▁‘",-8.749832153320312],["uri",-8.751104354858398],["▁20",-8.752482414245605],["▁On",-8.753515243530273],["▁offer",-8.763005256652832],["▁quality",-8.764988899230957],["▁working",-8.769987106323242],["▁No",-8.770307540893555],["▁That",-8.775156021118164],["▁game",-8.7863187789917],["▁bei",-8.786642074584961],["▁today",-8.788661003112793],["▁never",-8.794586181640625],["▁week",-8.79587173461914],["▁St",-8.797786712646484],["▁feel",-8.799317359924316],["▁put",-8.801899909973145],["▁website",-8.80322265625],["Y",-8.804483413696289],["▁days",-8.804709434509277],["▁program",-8.805448532104492],["▁looking",-8.810463905334473],["▁K",-8.810808181762695],["▁students",-8.811436653137207],["▁create",-8.811800956726074],["▁change",-8.812616348266602],["▁book",-8.812932014465332],["ity",-8.813761711120605],["▁At",-8.815207481384277],["▁possible",-8.815670013427734],["▁sunt",-8.81651496887207],["▁7",-8.818120002746582],["▁real",-8.823369026184082],["▁al",-8.824172019958496],["▁making",-8.825371742248535],["▁Be",-8.825761795043945],["▁products",-8.82592487335205],["▁case",-8.82653522491455],["▁school",-8.8272066116333],["▁say",-8.830352783203125],["area",-8.832084655761719],["▁My",-8.833836555480957],["▁point",-8.834731101989746],["▁als",-8.83560848236084],["▁children",-8.836194038391113],["▁course",-8.844061851501465],["▁show",-8.847993850708008],["▁8",-8.849273681640625],["▁These",-8.849345207214355],["▁18",-8.851140975952148],["▁large",-8.851323127746582],["co",-8.854362487792969],["▁über",-8.854788780212402],["▁second",-8.856559753417969],["▁market",-8.859807014465332],["▁fost",-8.86048698425293],["▁easy",-8.863983154296875],["▁plan",-8.864302635192871],["▁project",-8.864927291870117],["G",-8.865178108215332],["W",-8.869574546813965],["3",-8.871939659118652],["▁son",-8.873332023620605],["la",-8.879053115844727],["▁face",-8.88137435913086],["▁needs",-8.88148021697998],["ch",-8.883138656616211],["▁personal",-8.88343620300293],["me",-8.886031150817871],["▁sont",-8.887377738952637],["▁je",-8.894930839538574],["▁non",-8.895471572875977],["▁got",-8.896591186523438],["▁Do",-8.897382736206055],["the",-8.89765453338623],["▁health",-8.89908504486084],["▁special",-8.90555477142334],[".\"",-8.907710075378418],["1",-8.907852172851562],["den",-8.908616065979004],["▁state",-8.909355163574219],["▁open",-8.91019058227539],["▁money",-8.91053581237793],["▁again",-8.913084983825684],["▁food",-8.913167953491211],["▁page",-8.914595603942871],["▁together",-8.91628360748291],["age",-8.919108390808105],["▁qu",-8.921928405761719],["hat",-8.922386169433594],["▁ver",-8.926993370056152],["▁W",-8.927785873413086],["▁away",-8.928759574890137],["▁wird",-8.931641578674316],["▁until",-8.934249877929688],["V",-8.934935569763184],["▁pre",-8.935851097106934],["▁One",-8.936429977416992],["▁product",-8.936561584472656],["▁often",-8.939326286315918],["▁wir",-8.944111824035645],["▁nach",-8.945127487182617],["▁include",-8.946555137634277],["▁um",-8.948204040527344],["▁room",-8.953709602355957],["▁group",-8.953767776489258],["▁name",-8.954949378967285],["ce",-8.955448150634766],["H",-8.956180572509766],["N",-8.958139419555664],["▁person",-8.958183288574219],["▁social",-8.958606719970703],["▁list",-8.963666915893555],["▁How",-8.964127540588379],["▁why",-8.96571159362793],["▁community",-8.965995788574219],["▁contact",-8.973031044006348],["­",-8.9755859375],["▁co",-8.979683876037598],["▁play",-8.983960151672363],["▁having",-8.984169960021973],["▁power",-8.986917495727539],["▁call",-8.991690635681152],["▁against",-8.991816520690918],["▁become",-8.997780799865723],["▁cost",-9.003793716430664],["▁V",-9.004593849182129],["▁research",-9.006913185119629],["▁12",-9.007307052612305],["▁wie",-9.008277893066406],["der",-9.008386611938477],["▁thing",-9.014028549194336],["▁along",-9.017301559448242],["4",-9.017330169677734],["▁access",-9.020391464233398],["▁level",-9.020505905151367],["▁price",-9.022817611694336],["▁einen",-9.023714065551758],["▁side",-9.026359558105469],["▁Un",-9.026851654052734],["▁means",-9.030416488647461],["(",-9.032341957092285],["▁big",-9.034374237060547],["▁God",-9.036499977111816],["▁dass",-9.037314414978027],["im",-9.037374496459961],["▁30",-9.037432670593262],["▁event",-9.041665077209473],["▁development",-9.042060852050781],["▁form",-9.04226303100586],["▁read",-9.042579650878906],["▁hand",-9.043194770812988],["▁control",-9.04446792602539],["▁However",-9.046320915222168],["▁done",-9.048060417175293],["▁job",-9.051692008972168],["▁hard",-9.056619644165039],["▁war",-9.057538032531738],["▁area",-9.0584135055542],["▁add",-9.0586576461792],["▁votre",-9.0593900680542],["▁live",-9.059494018554688],["▁range",-9.060099601745605],["▁After",-9.060164451599121],["▁Les",-9.060513496398926],["▁far",-9.064413070678711],["ver",-9.064727783203125],["▁old",-9.069576263427734],["▁perfect",-9.06976318359375],["▁15",-9.070429801940918],["▁space",-9.073654174804688],["▁house",-9.074068069458008],["ine",-9.07408618927002],["▁enough",-9.074334144592285],["0",-9.075824737548828],["▁several",-9.077119827270508],["The",-9.081155776977539],["mm",-9.085619926452637],["▁University",-9.08637523651123],["▁diese",-9.087566375732422],["▁Co",-9.088335990905762],["▁comes",-9.088497161865234],["▁across",-9.088857650756836],["▁already",-9.090097427368164],[",”",-9.090341567993164],["▁body",-9.09276294708252],["▁Das",-9.094594955444336],["▁einer",-9.095956802368164],["▁left",-9.09921646118164],["▁future",-9.105711936950684],["▁times",-9.106670379638672],["▁dar",-9.109651565551758],["▁simple",-9.110408782958984],["ry",-9.112407684326172],["▁getting",-9.113155364990234],["▁try",-9.115362167358398],["ți",-9.116897583007812],["ness",-9.120043754577637],["▁makes",-9.120377540588379],["▁past",-9.120619773864746],["ca",-9.12130069732666],["▁light",-9.122207641601562],["▁Der",-9.122997283935547],["▁run",-9.125843048095703],["▁four",-9.126943588256836],["ance",-9.130500793457031],["▁ever",-9.131503105163574],["▁einem",-9.131816864013672],["▁below",-9.133723258972168],["O",-9.134073257446289],["▁9",-9.137282371520996],["▁learn",-9.14004135131836],["out",-9.140358924865723],["▁video",-9.143178939819336],["▁etc",-9.146929740905762],["▁«",-9.148795127868652],["▁zum",-9.149712562561035],["▁kann",-9.1504487991333],["▁minutes",-9.151180267333984],["▁example",-9.154194831848145],["▁nous",-9.154619216918945],["▁Se",-9.157441139221191],["▁sie",-9.159955024719238],["▁industry",-9.161614418029785],["▁problem",-9.162016868591309],["J",-9.162480354309082],["▁country",-9.163366317749023],["▁fact",-9.164189338684082],["▁type",-9.164190292358398],["ner",-9.164238929748535],["▁companies",-9.165864944458008],["▁line",-9.169849395751953],["▁city",-9.172713279724121],["▁check",-9.173710823059082],["▁doing",-9.174406051635742],["elle",-9.175037384033203],["▁fun",-9.176549911499023],["▁En",-9.177546501159668],["▁Your",-9.178601264953613],["ling",-9.181450843811035],["▁share",-9.18185806274414],["ile",-9.182005882263184],["▁actually",-9.187544822692871],["▁value",-9.187751770019531],["zi",-9.188661575317383],["▁ab",-9.1898832321167],["▁offers",-9.1905517578125],["▁less",-9.190573692321777],["▁night",-9.193560600280762],["▁Dr",-9.19518756866455],["▁started",-9.195454597473145],["▁least",-9.198020935058594],["▁short",-9.198562622070312],["▁main",-9.201143264770508],["▁single",-9.202939987182617],["▁though",-9.203780174255371],["▁prin",-9.203930854797363],["time",-9.20531177520752],["▁hours",-9.206608772277832],["▁others",-9.206849098205566],["▁called",-9.20730209350586],["▁visit",-9.208869934082031],["▁bit",-9.209009170532227],["ée",-9.210821151733398],["▁customers",-9.211383819580078],["▁music",-9.212000846862793],["▁members",-9.217191696166992],["ies",-9.21743392944336],["▁pay",-9.219176292419434],["nd",-9.219744682312012],["▁once",-9.221125602722168],["gen",-9.2217378616333],["▁können",-9.222976684570312],["▁low",-9.223771095275879],["▁durch",-9.227394104003906],["▁story",-9.228075981140137],["▁understand",-9.22953987121582],["“",-9.229856491088867],["▁Am",-9.231831550598145],["▁didn",-9.234603881835938],["▁content",-9.237217903137207],["son",-9.24180793762207],["▁building",-9.242242813110352],["▁result",-9.242605209350586],["▁aux",-9.243107795715332],["▁complete",-9.244999885559082],["▁doesn",-9.24510669708252],["▁haben",-9.246070861816406],["▁questions",-9.24661636352539],["line",-9.247077941894531],["▁technology",-9.247429847717285],["▁Pro",-9.247976303100586],["▁current",-9.248504638671875],["▁won",-9.248883247375488],["▁let",-9.250710487365723],["▁features",-9.251978874206543],["▁please",-9.258262634277344],["5",-9.258519172668457],["▁above",-9.259394645690918],["ive",-9.262128829956055],["▁management",-9.262394905090332],["▁lui",-9.262539863586426],["her",-9.263057708740234],["▁training",-9.265711784362793],["▁everything",-9.2665433883667],["▁noch",-9.266846656799316],["▁came",-9.267708778381348],["▁web",-9.272823333740234],["▁ensure",-9.272987365722656],["▁months",-9.273130416870117],["▁art",-9.27313232421875],["▁sub",-9.274359703063965],["▁million",-9.274559020996094],["▁professional",-9.275035858154297],["▁results",-9.278368949890137],["▁kind",-9.278395652770996],["▁season",-9.279285430908203],["▁unique",-9.281067848205566],["ze",-9.284360885620117],["▁enjoy",-9.28487777709961],["▁early",-9.287765502929688],["▁major",-9.288202285766602],["▁yet",-9.29152774810791],["▁Ver",-9.293331146240234],["one",-9.296777725219727],["▁media",-9.29719352722168],["▁[",-9.30095100402832],["▁property",-9.302969932556152],["▁beautiful",-9.304466247558594],["▁given",-9.305286407470703],["▁due",-9.306716918945312],["▁government",-9.307181358337402],["▁nur",-9.30881404876709],["▁email",-9.309103012084961],["▁total",-9.311080932617188],["▁natural",-9.311264038085938],["▁test",-9.311450004577637],["▁provides",-9.311640739440918],["▁various",-9.312631607055664],["▁American",-9.315605163574219],["▁moment",-9.318109512329102],["▁air",-9.318952560424805],["▁idea",-9.319236755371094],["▁known",-9.319981575012207],["▁Il",-9.320504188537598],["▁friends",-9.320576667785645],["▁final",-9.320919036865234],["▁buy",-9.32139778137207],["▁specific",-9.322234153747559],["▁issues",-9.32454776763916],["▁took",-9.325233459472656],["▁mind",-9.326258659362793],["▁study",-9.32675838470459],["▁addition",-9.328418731689453],["▁size",-9.332446098327637],["▁pro",-9.334047317504883],["▁film",-9.33545970916748],["▁pot",-9.335636138916016],["▁thought",-9.338120460510254],["▁tell",-9.33890438079834],["▁While",-9.339675903320312],["▁head",-9.339983940124512],["▁clients",-9.340429306030273],["▁performance",-9.346199989318848],["▁question",-9.346835136413574],["▁whether",-9.347925186157227],["▁certain",-9.34826946258545],["▁model",-9.348764419555664],["▁following",-9.350926399230957],["▁energy",-9.354207992553711],["▁office",-9.354207992553711],["▁whole",-9.356687545776367],["▁bring",-9.356956481933594],["▁required",-9.35726261138916],["ţi",-9.358223915100098],["▁date",-9.358695030212402],["_",-9.358983039855957],["que",-9.359789848327637],["▁da",-9.360264778137207],["▁US",-9.36120319366455],["▁taking",-9.36143684387207],["go",-9.362788200378418],["▁living",-9.36341667175293],["▁someone",-9.363489151000977],["▁heart",-9.365120887756348],["▁key",-9.365775108337402],["▁areas",-9.366238594055176],["▁says",-9.367013931274414],["▁2018",-9.369132041931152],["▁month",-9.37012767791748],["▁Er",-9.371354103088379],["ste",-9.375077247619629],["▁11",-9.375179290771484],["▁front",-9.37528133392334],["▁Now",-9.37669563293457],["▁class",-9.376946449279785],["▁choose",-9.377082824707031],["pe",-9.37808609008789],["▁further",-9.379021644592285],["▁believe",-9.37936019897461],["of",-9.379590034484863],["▁among",-9.380990982055664],["sch",-9.381686210632324],["▁child",-9.382609367370605],["▁aber",-9.38376235961914],["▁Please",-9.386269569396973],["rea",-9.387248992919922],["▁later",-9.387272834777832],["▁amount",-9.388760566711426],["ice",-9.390128135681152],["▁National",-9.390177726745605],["▁style",-9.390748977661133],["▁tout",-9.391490936279297],["▁staff",-9.392939567565918],["▁white",-9.397933959960938],["▁ge",-9.399179458618164],["▁five",-9.400984764099121],["▁blog",-9.40109920501709],["▁designed",-9.40125846862793],["▁went",-9.402216911315918],["▁Da",-9.40268611907959],["▁general",-9.403801918029785],["▁rest",-9.403874397277832],["▁zur",-9.40579891204834],["▁quite",-9.405948638916016],["per",-9.40687084197998],["▁customer",-9.408379554748535],["▁close",-9.408747673034668],["▁Some",-9.41054630279541],["▁women",-9.41075611114502],["▁move",-9.410761833190918],["▁software",-9.411357879638672],["▁Ein",-9.413651466369629],["▁Ab",-9.413823127746582],["▁history",-9.413864135742188],["▁either",-9.41564655303955],["▁seen",-9.417396545410156],["▁card",-9.419726371765137],["▁City",-9.421541213989258],["▁hope",-9.421769142150879],["▁16",-9.422072410583496],["és",-9.422825813293457],["va",-9.423294067382812],["▁Al",-9.423827171325684],["▁especially",-9.424827575683594],["▁view",-9.426136016845703],["men",-9.427363395690918],["▁account",-9.427489280700684],["▁needed",-9.429777145385742],["▁United",-9.429789543151855],["]",-9.432387351989746],["▁yourself",-9.432788848876953],["▁100",-9.433059692382812],["▁receive",-9.433417320251465],["▁ideas",-9.43369197845459],["▁writing",-9.434585571289062],["▁simply",-9.434741973876953],["▁present",-9.435087203979492],["▁continue",-9.436107635498047],["▁application",-9.44115161895752],["▁build",-9.44187068939209],["▁turn",-9.44249439239502],["ated",-9.442923545837402],["▁everyone",-9.443060874938965],["cette",-9.443114280700684],["▁bien",-9.444964408874512],["less",-9.445222854614258],["▁Si",-9.445359230041504],["▁original",-9.446867942810059],["8",-9.44794750213623],["▁individual",-9.448895454406738],["tre",-9.449433326721191],["▁works",-9.45171070098877],["▁options",-9.451821327209473],["▁May",-9.454456329345703],["▁Not",-9.454940795898438],["▁report",-9.455467224121094],["mer",-9.457239151000977],["▁human",-9.459118843078613],["▁provided",-9.459603309631348],["▁By",-9.460925102233887],["▁series",-9.462006568908691],["7",-9.46226692199707],["▁modern",-9.463875770568848],["▁meet",-9.463921546936035],["▁50",-9.464119911193848],["▁25",-9.46969985961914],["▁color",-9.470091819763184],["▁download",-9.470109939575195],["▁Here",-9.471144676208496],["6",-9.471323013305664],["▁poate",-9.471449851989746],["▁În",-9.472321510314941],["▁phone",-9.473695755004883],["▁likely",-9.474374771118164],["▁table",-9.476469993591309],["▁ma",-9.476551055908203],["▁Or",-9.479181289672852],["Z",-9.48026180267334],["▁19",-9.482215881347656],["▁insurance",-9.482544898986816],["▁anything",-9.483808517456055],["▁search",-9.485033988952637],["▁Ge",-9.48520565032959],["▁issue",-9.485564231872559],["▁includes",-9.485688209533691],["▁clear",-9.487342834472656],["les",-9.488021850585938],["▁almost",-9.488259315490723],["ilor",-9.48935317993164],["▁14",-9.490717887878418],["by",-9.494056701660156],["▁Du",-9.49624252319336],["▁mais",-9.497303009033203],["ier",-9.499163627624512],["▁law",-9.49924087524414],["▁added",-9.500134468078613],["▁con",-9.500962257385254],[",\"",-9.501530647277832],["▁ago",-9.502127647399902],["▁His",-9.504697799682617],["▁points",-9.504981994628906],["▁mult",-9.505581855773926],["▁financial",-9.506216049194336],["▁problems",-9.506428718566895],["▁however",-9.50648307800293],["▁events",-9.50675106048584],["▁half",-9.507889747619629],["ard",-9.511183738708496],["▁ask",-9.51156997680664],["▁version",-9.511631965637207],["end",-9.512478828430176],["▁created",-9.512639999389648],["▁lead",-9.512917518615723],["▁focus",-9.513853073120117],["▁increase",-9.515096664428711],["ex",-9.515118598937988],["▁allow",-9.515798568725586],["▁extra",-9.516464233398438],["▁24",-9.516692161560059],["▁credit",-9.516772270202637],["▁production",-9.516801834106445],["zu",-9.517256736755371],["▁black",-9.51754093170166],["▁systems",-9.518040657043457],["▁17",-9.518178939819336],["▁opportunity",-9.518531799316406],["▁bis",-9.519219398498535],["▁fast",-9.519807815551758],["ring",-9.521166801452637],["▁Don",-9.522114753723145],["▁via",-9.52242660522461],["fer",-9.5225248336792],["▁comme",-9.522799491882324],["▁popular",-9.523722648620605],["▁South",-9.524491310119629],["ating",-9.525003433227539],["▁State",-9.525198936462402],["ator",-9.525679588317871],["▁common",-9.525968551635742],["con",-9.526727676391602],["▁throughout",-9.527557373046875],["▁risk",-9.52774715423584],["▁young",-9.528532028198242],["▁Je",-9.528688430786133],["▁image",-9.52928352355957],["ha",-9.529376983642578],["▁third",-9.529587745666504],["▁taken",-9.530049324035645],["▁Z",-9.5314302444458],["▁dis",-9.5316162109375],["▁From",-9.533575057983398],["▁details",-9.534862518310547],["▁games",-9.53516674041748],["▁practice",-9.536040306091309],["che",-9.536151885986328],["▁security",-9.537364959716797],["▁medical",-9.537653923034668],["▁learning",-9.537806510925293],["▁material",-9.538509368896484],["▁international",-9.540703773498535],["▁forward",-9.541245460510254],["▁paper",-9.541247367858887],["▁action",-9.541348457336426],["▁file",-9.542378425598145],["▁oil",-9.543096542358398],["▁self",-9.54377555847168],["▁private",-9.545247077941895],["▁interest",-9.545559883117676],["bar",-9.546065330505371],["▁sale",-9.547115325927734],["▁stay",-9.547348976135254],["ke",-9.548089981079102],["▁San",-9.549053192138672],["▁matter",-9.549870491027832],["▁reason",-9.550254821777344],["ted",-9.55147647857666],["▁potential",-9.551742553710938],["▁brand",-9.552441596984863],["▁field",-9.55315113067627],["▁treatment",-9.553420066833496],["▁period",-9.553516387939453],["▁York",-9.553890228271484],["▁Park",-9.554738998413086],["▁acest",-9.556009292602539],["ou",-9.556926727294922],["▁Ce",-9.557014465332031],["▁ready",-9.558111190795898],["▁rather",-9.55860424041748],["▁outside",-9.560086250305176],["▁standard",-9.560121536254883],["▁located",-9.560770034790039],["▁marketing",-9.562313079833984],["cu",-9.564041137695312],["▁Can",-9.564562797546387],["▁education",-9.566105842590332],["use",-9.566640853881836],["▁role",-9.566828727722168],["▁men",-9.571505546569824],["▁probably",-9.571550369262695],["▁store",-9.57221508026123],["▁John",-9.572355270385742],["▁rate",-9.573956489562988],["▁code",-9.573994636535645],["▁kids",-9.574408531188965],["▁currently",-9.57552719116211],["▁near",-9.576475143432617],["▁sales",-9.576716423034668],["▁usually",-9.577012062072754],["▁activities",-9.577242851257324],["▁party",-9.577371597290039],["▁leur",-9.577434539794922],["▁particular",-9.577627182006836],["▁mehr",-9.577707290649414],["ill",-9.578757286071777],["▁percent",-9.579113006591797],["▁fait",-9.579537391662598],["▁happy",-9.579904556274414],["▁inside",-9.58005428314209],["▁save",-9.580510139465332],["▁skills",-9.580765724182129],["▁consider",-9.581025123596191],["▁recent",-9.58161735534668],["▁strong",-9.581781387329102],["▁position",-9.582076072692871],["▁knowledge",-9.582303047180176],["▁tax",-9.583868980407715],["▁users",-9.584261894226074],["und",-9.585564613342285],["▁coming",-9.585904121398926],["▁article",-9.585923194885254],["min",-9.586345672607422],["▁sein",-9.586555480957031],["▁travel",-9.586871147155762],["▁changes",-9.58765983581543],["▁impact",-9.588181495666504],["▁wanted",-9.588460922241211],["▁address",-9.5885591506958],["▁soon",-9.58873462677002],["▁North",-9.588915824890137],["ată",-9.589237213134766],["▁trying",-9.58985424041748],["▁app",-9.590612411499023],["▁School",-9.592510223388672],["▁Es",-9.592548370361328],["we",-9.59261703491211],["▁conditions",-9.59292984008789],["▁digital",-9.593293190002441],["▁similar",-9.594805717468262],["▁solution",-9.59514331817627],["▁location",-9.595183372497559],["▁Of",-9.595418930053711],["▁follow",-9.595842361450195],["▁red",-9.597526550292969],["▁review",-9.599202156066895],["▁skin",-9.599575996398926],["▁pretty",-9.600369453430176],["day",-9.600558280944824],["▁dé",-9.602072715759277],["▁cause",-9.602169036865234],["▁Sa",-9.602463722229004],["▁user",-9.602520942687988],["▁Man",-9.603377342224121],["”.",-9.604146003723145],["▁Just",-9.604366302490234],["▁faire",-9.604475021362305],["▁member",-9.605619430541992],["▁iar",-9.606892585754395],["▁higher",-9.607715606689453],["▁step",-9.607887268066406],["▁wide",-9.608185768127441],["▁uns",-9.608920097351074],["▁World",-9.609135627746582],["▁additional",-9.61176586151123],["ber",-9.613197326660156],["▁easily",-9.613990783691406],["▁deal",-9.615070343017578],["▁ways",-9.615514755249023],["▁mobile",-9.616837501525879],["▁national",-9.616913795471191],["▁couple",-9.617389678955078],["▁ihre",-9.61939811706543],["▁choice",-9.619612693786621],["for",-9.619686126708984],["ous",-9.62070083618164],["▁Google",-9.620855331420898],["▁environment",-9.622426986694336],["urile",-9.623322486877441],["▁Center",-9.626680374145508],["mp",-9.628592491149902],["▁»",-9.629727363586426],["qui",-9.630680084228516],["▁growth",-9.631048202514648],["ler",-9.633174896240234],["▁improve",-9.63360595703125],["▁items",-9.6336669921875],["▁Nu",-9.63393783569336],["▁leave",-9.634074211120605],["▁true",-9.634805679321289],["▁wurde",-9.63487434387207],["▁cannot",-9.635004043579102],["▁13",-9.635096549987793],["▁running",-9.636015892028809],["▁anti",-9.636177062988281],["▁option",-9.636306762695312],["▁reading",-9.63657283782959],["▁Car",-9.636698722839355],["▁Wir",-9.638110160827637],["▁April",-9.63975715637207],["▁behind",-9.640642166137695],["▁client",-9.640750885009766],["▁cover",-9.641012191772461],["▁stop",-9.641090393066406],["ja",-9.641277313232422],["▁built",-9.641307830810547],["▁Con",-9.641313552856445],["ement",-9.641366004943848],["▁projects",-9.641828536987305],["▁variety",-9.641840934753418],["▁Ihre",-9.642666816711426],["ș",-9.64302921295166],["▁unter",-9.64385986328125],["▁longer",-9.646577835083008],["year",-9.647161483764648],["▁photo",-9.648370742797852],["▁Also",-9.64933967590332],["▁received",-9.651098251342773],["▁return",-9.652676582336426],["00",-9.653081893920898],["▁bar",-9.653343200683594],["ary",-9.654427528381348],["elor",-9.655137062072754],["▁Home",-9.656189918518066],["our",-9.656298637390137],["▁Me",-9.65771198272705],["▁held",-9.659111022949219],["▁click",-9.66014289855957],["▁ex",-9.660178184509277],["▁cum",-9.661561965942383],["▁takes",-9.66395378112793],["▁computer",-9.665796279907227],["▁told",-9.668192863464355],["+",-9.670648574829102],["▁patients",-9.670809745788574],["ting",-9.672165870666504],["▁direct",-9.672248840332031],["▁quickly",-9.672410011291504],["tic",-9.672877311706543],["▁vom",-9.673723220825195],["▁di",-9.67381477355957],["▁kitchen",-9.674022674560547],["▁network",-9.675640106201172],["▁2015",-9.676688194274902],["▁effective",-9.677227020263672],["▁collection",-9.677703857421875],["▁2017",-9.677751541137695],["▁words",-9.678145408630371],["▁cele",-9.678857803344727],["▁student",-9.678862571716309],["▁amazing",-9.678932189941406],["eur",-9.680419921875],[".”",-9.68227481842041],["▁ale",-9.682716369628906],["”,",-9.68414306640625],["▁purchase",-9.684350967407227],["▁mean",-9.68477725982666],["▁West",-9.686846733093262],["▁nice",-9.6889066696167],["▁age",-9.689131736755371],["▁base",-9.68923568725586],["▁summer",-9.68928337097168],["▁multi",-9.689496994018555],["▁allows",-9.689573287963867],["▁latest",-9.689604759216309],["▁global",-9.68992805480957],["▁chance",-9.690792083740234],["▁sense",-9.690872192382812],["ieren",-9.692789077758789],["▁difficult",-9.693133354187012],["ité",-9.694750785827637],["ka",-9.694792747497559],["du",-9.69483757019043],["▁providing",-9.695744514465332],["▁Art",-9.696940422058105],["▁drive",-9.698554992675781],["▁Go",-9.698877334594727],["▁très",-9.699414253234863],["U",-9.699579238891602],["▁Pre",-9.699846267700195],["▁shows",-9.700040817260742],["▁hair",-9.701324462890625],["▁success",-9.701513290405273],["▁UK",-9.703169822692871],["red",-9.703241348266602],["ü",-9.703370094299316],["ish",-9.703631401062012],["▁weeks",-9.704839706420898],["▁solutions",-9.7055025100708],["▁Pe",-9.7057523727417],["▁equipment",-9.706141471862793],["și",-9.706482887268066],["▁worked",-9.707073211669922],["\".",-9.708627700805664],["▁legal",-9.708720207214355],["▁bad",-9.70892333984375],["▁40",-9.709561347961426],["▁Internet",-9.709798812866211],["▁included",-9.709976196289062],["▁upon",-9.710977554321289],["▁excellent",-9.71106243133545],["▁goal",-9.71130084991455],["▁El",-9.711408615112305],["▁Mo",-9.711703300476074],["▁policy",-9.71319580078125],["▁aussi",-9.713537216186523],["▁weight",-9.713687896728516],["ici",-9.715133666992188],["▁approach",-9.715584754943848],["▁six",-9.71579647064209],["▁entire",-9.715911865234375],["9",-9.71633529663086],["▁send",-9.716832160949707],["▁1.",-9.718971252441406],["▁wenn",-9.719056129455566],["▁photos",-9.71993637084961],["://",-9.721014022827148],["ger",-9.72281551361084],["▁favorite",-9.723104476928711],["ley",-9.723477363586426],["▁else",-9.72463321685791],["▁types",-9.72468376159668],["▁link",-9.725333213806152],["▁recently",-9.72584056854248],["▁Mit",-9.72631549835205],["▁hot",-9.726548194885254],["tra",-9.726597785949707],["ş",-9.727307319641113],["▁according",-9.728511810302734],["▁necessary",-9.728511810302734],["▁multiple",-9.729269027709961],["▁Im",-9.729510307312012],["▁sehr",-9.729660034179688],["▁sign",-9.732263565063477],["▁anyone",-9.73283576965332],["▁land",-9.733613014221191],["▁States",-9.734037399291992],["▁unsere",-9.734119415283203],["ées",-9.734639167785645],["We",-9.735671043395996],["▁nothing",-9.735845565795898],["▁commercial",-9.736858367919922],["ful",-9.737265586853027],["▁seems",-9.739325523376465],["▁International",-9.740097045898438],["▁March",-9.74163818359375],["▁Thanks",-9.743307113647461],["▁County",-9.74365234375],["▁books",-9.744638442993164],["▁Ca",-9.7451753616333],["▁mi",-9.746304512023926],["▁meeting",-9.746662139892578],["▁tools",-9.747593879699707],["▁cut",-9.747650146484375],["▁related",-9.74765682220459],["▁lives",-9.748003005981445],["way",-9.748501777648926],["▁develop",-9.748651504516602],["▁sound",-9.748723983764648],["▁safe",-9.748950958251953],["▁Her",-9.74937629699707],["▁average",-9.751277923583984],["▁clean",-9.75174331665039],["▁talk",-9.752362251281738],["▁peut",-9.75241756439209],["▁dann",-9.752546310424805],["▁terms",-9.753265380859375],["▁foarte",-9.753512382507324],["▁super",-9.754284858703613],["▁programs",-9.754853248596191],["▁decision",-9.75540828704834],["▁costs",-9.756058692932129],["▁être",-9.756291389465332],["▁2019",-9.757674217224121],["led",-9.759482383728027],["▁parents",-9.759617805480957],["▁Mr",-9.761702537536621],["▁lower",-9.762362480163574],["▁door",-9.762978553771973],["▁été",-9.763933181762695],["▁box",-9.764954566955566],["▁record",-9.765517234802246],["▁win",-9.765650749206543],["ster",-9.766402244567871],["▁America",-9.766748428344727],["▁immer",-9.768763542175293],["▁road",-9.76996898651123],["▁leading",-9.772759437561035],["▁section",-9.772838592529297],["▁Facebook",-9.772990226745605],["▁Most",-9.7738676071167],["iert",-9.77435302734375],["▁morning",-9.774497032165527],["▁asked",-9.775190353393555],["▁involved",-9.77551555633545],["▁hier",-9.777607917785645],["▁images",-9.77821159362793],["▁House",-9.778263092041016],["▁highly",-9.780763626098633],["▁Bar",-9.781620979309082],["▁Service",-9.782510757446289],["▁attention",-9.784318923950195],["▁normal",-9.784571647644043],["▁plans",-9.785883903503418],["▁source",-9.785930633544922],["▁Aus",-9.788092613220215],["▁benefits",-9.788655281066895],["▁ses",-9.789348602294922],["des",-9.789867401123047],["▁internet",-9.789949417114258],["▁materials",-9.790080070495605],["▁même",-9.791318893432617],["▁fine",-9.791522026062012],["▁fit",-9.792226791381836],["▁21",-9.792612075805664],["▁itself",-9.793739318847656],["▁wieder",-9.793972969055176],["▁Many",-9.795313835144043],["▁nature",-9.795402526855469],["▁pain",-9.795467376708984],["▁device",-9.796183586120605],["art",-9.796989440917969],["pro",-9.7971830368042],["▁France",-9.797271728515625],["lich",-9.797314643859863],["▁2014",-9.799542427062988],["▁inter",-9.799964904785156],["▁Li",-9.800453186035156],["▁career",-9.801136016845703],["▁looks",-9.80145263671875],["▁ré",-9.802245140075684],["▁ability",-9.802556991577148],["▁situation",-9.803154945373535],["ville",-9.803157806396484],["▁2016",-9.80319595336914],["tes",-9.803462982177734],["▁remember",-9.803879737854004],["▁TV",-9.803998947143555],["▁levels",-9.805853843688965],["▁subject",-9.807723999023438],["ally",-9.80844497680664],["▁reduce",-9.810232162475586],["▁*",-9.8108491897583],["▁Day",-9.810867309570312],["▁write",-9.812152862548828],["▁pick",-9.814252853393555],["ence",-9.815399169921875],["▁fresh",-9.816520690917969],["▁traditional",-9.816662788391113],["chi",-9.817692756652832],["▁machine",-9.818047523498535],["▁resources",-9.819125175476074],["â",-9.819502830505371],["▁countries",-9.820009231567383],["▁Even",-9.820342063903809],["▁green",-9.821283340454102],["▁Free",-9.821910858154297],["▁daily",-9.822112083435059],["▁respect",-9.823013305664062],["▁instead",-9.823714256286621],["▁Once",-9.82418155670166],["▁word",-9.824407577514648],["▁construction",-9.82489013671875],["▁huge",-9.825064659118652],["▁feature",-9.825220108032227],["▁themselves",-9.826369285583496],["▁loss",-9.82919692993164],["%",-9.830063819885254],["▁safety",-9.830256462097168],["▁economic",-9.831406593322754],["▁require",-9.831945419311523],["30",-9.83255386352539],["▁planning",-9.833393096923828],["▁mal",-9.834482192993164],["▁directly",-9.835214614868164],["ure",-9.835719108581543],["▁track",-9.835734367370605],["▁tool",-9.836135864257812],["▁positive",-9.836392402648926],["▁piece",-9.837076187133789],["▁parts",-9.837140083312988],["ang",-9.83740520477295],["▁trip",-9.837453842163086],["▁organization",-9.837935447692871],["▁sites",-9.838274002075195],["▁fire",-9.83831787109375],["▁China",-9.838876724243164],["▁Pour",-9.839289665222168],["▁plant",-9.84011459350586],["▁board",-9.840341567993164],["▁interesting",-9.841227531433105],["gar",-9.841713905334473],["▁fie",-9.841752052307129],["▁late",-9.842166900634766],["▁wall",-9.842294692993164],["▁walk",-9.842741966247559],["ham",-9.843868255615234],["▁Ne",-9.845427513122559],["▁First",-9.845462799072266],["▁double",-9.845701217651367],["▁budget",-9.847657203674316],["▁cases",-9.847670555114746],["cal",-9.849738121032715],["old",-9.849796295166016],["▁Bo",-9.849822998046875],["▁spend",-9.850439071655273],["port",-9.850828170776367],["▁worth",-9.850934028625488],["ique",-9.851308822631836],["nes",-9.85190486907959],["cul",-9.852272033691406],["era",-9.85296630859375],["▁text",-9.853032112121582],["▁decided",-9.854948997497559],["▁floor",-9.855036735534668],["▁requirements",-9.85529899597168],["▁cel",-9.855361938476562],["▁effect",-9.855412483215332],["▁gibt",-9.856159210205078],["▁news",-9.859238624572754],["▁vos",-9.859931945800781],["▁players",-9.86057186126709],["▁saw",-9.862728118896484],["▁auto",-9.863056182861328],["▁town",-9.863207817077637],["▁myself",-9.864106178283691],["▁lost",-9.864988327026367],["▁$",-9.865124702453613],["▁June",-9.86609172821045],["▁significant",-9.866196632385254],["▁giving",-9.866230010986328],["▁stand",-9.866744041442871],["▁stock",-9.867657661437988],["▁hold",-9.867766380310059],["▁Are",-9.869078636169434],["▁shall",-9.86923599243164],["▁ideal",-9.869279861450195],["▁London",-9.87080192565918],["▁answer",-9.870853424072266],["▁Vor",-9.87157917022705],["▁gives",-9.873115539550781],["ative",-9.87316608428955],["▁timp",-9.873167991638184],["▁center",-9.87362289428711],["▁Group",-9.874580383300781],["▁sans",-9.875143051147461],["▁Ar",-9.875466346740723],["▁Ma",-9.875568389892578],["▁reach",-9.876279830932617],["ren",-9.876652717590332],["▁More",-9.877446174621582],["mit",-9.878068923950195],["▁guide",-9.87833309173584],["▁fully",-9.878828048706055],["▁Since",-9.878952980041504],["▁Inc",-9.87923812866211],["▁culture",-9.879780769348145],["eat",-9.880531311035156],["▁written",-9.880722999572754],["▁Ho",-9.881338119506836],["▁India",-9.881625175476074],["▁Well",-9.881708145141602],["back",-9.881752967834473],["▁goes",-9.882170677185059],["▁completely",-9.88217544555664],["▁tour",-9.883081436157227],["▁began",-9.883196830749512],["▁picture",-9.883255958557129],["▁mare",-9.88353157043457],["▁playing",-9.884223937988281],["▁trebuie",-9.884926795959473],["ils",-9.884940147399902],["chen",-9.885220527648926],["▁hit",-9.885416984558105],["▁complex",-9.88591480255127],["▁Thank",-9.886140823364258],["▁Let",-9.886350631713867],["▁applications",-9.887116432189941],["▁friend",-9.888312339782715],["▁English",-9.889549255371094],["▁charge",-9.890040397644043],["▁recommend",-9.893453598022461],["▁message",-9.893672943115234],["In",-9.893722534179688],["▁Mar",-9.894762992858887],["pp",-9.895845413208008],["▁method",-9.89692497253418],["▁successful",-9.897004127502441],["tion",-9.898880958557129],["▁release",-9.899920463562012],["▁creating",-9.900403022766113],["▁despre",-9.90141773223877],["esc",-9.902434349060059],["▁eye",-9.902752876281738],["▁apply",-9.905945777893066],["net",-9.906000137329102],["side",-9.906539916992188],["▁ar",-9.906949996948242],["▁platform",-9.90713882446289],["▁touch",-9.907329559326172],["▁towards",-9.90785026550293],["▁match",-9.908224105834961],["▁Black",-9.909344673156738],["▁fall",-9.90961742401123],["▁ground",-9.910234451293945],["▁High",-9.910740852355957],["▁Q",-9.911155700683594],["▁schon",-9.911709785461426],["▁hotel",-9.911751747131348],["▁prices",-9.912031173706055],["▁developed",-9.913411140441895],["uk",-9.913476943969727],["ide",-9.91367244720459],["▁September",-9.91370964050293],["ized",-9.914202690124512],["▁War",-9.914704322814941],["!!",-9.916285514831543],["▁grow",-9.916997909545898],["▁watch",-9.917067527770996],["▁storage",-9.917412757873535],["eau",-9.917513847351074],["can",-9.918373107910156],["▁Get",-9.919524192810059],["▁See",-9.91953182220459],["▁European",-9.919703483581543],["▁language",-9.91982650756836],["ează",-9.920175552368164],["▁court",-9.920334815979004],["▁Why",-9.921106338500977],["▁hear",-9.921342849731445],["▁doar",-9.921804428100586],["lan",-9.92330265045166],["▁Christmas",-9.923810958862305],["▁Web",-9.923871994018555],["vo",-9.92405891418457],["▁sent",-9.924983024597168],["▁businesses",-9.925868034362793],["▁Red",-9.926278114318848],["tel",-9.926375389099121],["▁Ha",-9.926508903503418],["▁wonderful",-9.926653861999512],["ations",-9.926738739013672],["za",-9.92748737335205],["▁22",-9.928659439086914],["▁thinking",-9.92941665649414],["▁became",-9.929733276367188],["▁cool",-9.929835319519043],["▁speed",-9.930370330810547],["mar",-9.930426597595215],["▁--",-9.931743621826172],["▁groups",-9.931920051574707],["▁interested",-9.93198299407959],["ak",-9.93218994140625],["▁60",-9.932672500610352],["▁screen",-9.93370246887207],["▁Design",-9.933789253234863],["▁limited",-9.935648918151855],["▁expected",-9.935959815979004],["▁opportunities",-9.936376571655273],["▁regular",-9.936870574951172],["off",-9.93702220916748],["▁Best",-9.937298774719238],["Re",-9.938436508178711],["▁ihr",-9.938719749450684],["▁Great",-9.938907623291016],["▁employees",-9.93924617767334],["▁custom",-9.939679145812988],["▁multe",-9.940123558044434],["let",-9.940876007080078],["▁benefit",-9.942487716674805],["▁term",-9.942623138427734],["▁bine",-9.942869186401367],["▁deep",-9.944526672363281],["▁August",-9.94526481628418],["▁President",-9.945381164550781],["▁Auf",-9.945854187011719],["▁wish",-9.946924209594727],["▁sometimes",-9.947274208068848],["ari",-9.947793960571289],["▁pressure",-9.948184967041016],["▁ani",-9.94859504699707],["▁trade",-9.949930191040039],["▁firm",-9.950027465820312],["▁comment",-9.95003604888916],["▁November",-9.950242042541504],["▁expect",-9.951102256774902],["▁2012",-9.952491760253906],["▁Ich",-9.95328140258789],["▁relationship",-9.95363998413086],["▁active",-9.954682350158691],["org",-9.954710960388184],["▁heat",-9.956732749938965],["▁wood",-9.95678997039795],["▁notre",-9.957921028137207],["▁function",-9.958330154418945],["▁2.",-9.95909309387207],["▁wedding",-9.960049629211426],["▁starting",-9.961235046386719],["▁Health",-9.961249351501465],["\",",-9.961713790893555],["▁death",-9.962173461914062],["▁pages",-9.962764739990234],["▁vehicle",-9.96293830871582],["▁request",-9.963874816894531],["▁helps",-9.963916778564453],["▁blue",-9.964017868041992],["▁analysis",-9.964414596557617],["▁posted",-9.964544296264648],["▁healthy",-9.964814186096191],["▁contract",-9.964988708496094],["▁•",-9.965263366699219],["▁Each",-9.965293884277344],["▁Fa",-9.966179847717285],["▁dintre",-9.966221809387207],["▁Friday",-9.967202186584473],["▁considered",-9.967992782592773],["cher",-9.96826457977295],["▁quick",-9.968731880187988],["▁understanding",-9.96916389465332],["▁condition",-9.969378471374512],["ization",-9.971049308776855],["▁document",-9.971664428710938],["▁prevent",-9.971890449523926],["▁growing",-9.9725341796875],["▁protection",-9.972620964050293],["▁cat",-9.974002838134766],["▁#",-9.975058555603027],["10",-9.975275039672852],["▁join",-9.9759521484375],["▁serve",-9.976580619812012],["▁blood",-9.977095603942871],["▁July",-9.977341651916504],["▁region",-9.977787971496582],["car",-9.97933578491211],["▁entre",-9.979788780212402],["▁physical",-9.981287002563477],["▁cash",-9.9813232421875],["aux",-9.981823921203613],["ng",-9.982654571533203],["▁stage",-9.98281478881836],["▁seem",-9.983034133911133],["▁definitely",-9.983795166015625],["▁investment",-9.983827590942383],["▁purpose",-9.985441207885742],["▁begin",-9.985486030578613],["®",-9.985495567321777],["▁break",-9.985701560974121],["itate",-9.987293243408203],["▁moving",-9.989288330078125],["▁met",-9.990678787231445],["ize",-9.990833282470703],["▁select",-9.991165161132812],["▁tous",-9.991310119628906],["▁Europe",-9.991639137268066],["@",-9.992724418640137],["▁individuals",-9.993392944335938],["▁Zeit",-9.993524551391602],["gu",-9.995670318603516],["▁unit",-9.995753288269043],["▁noi",-9.996089935302734],["▁places",-9.996171951293945],["all",-9.99632453918457],["▁wait",-9.996755599975586],["▁difference",-9.997234344482422],["▁round",-9.998015403747559],["50",-9.99953842163086],["rie",-9.999545097351074],["▁Et",-9.999933242797852],["20",-10.000725746154785],["▁activity",-10.000792503356934],["е",-10.000866889953613],["▁Windows",-10.001087188720703],["▁produce",-10.001385688781738],["▁keine",-10.00212574005127],["▁Air",-10.002567291259766],["▁January",-10.004890441894531],["▁deux",-10.005081176757812],["▁entry",-10.005208015441895],["king",-10.006500244140625],["▁goals",-10.006736755371094],["▁previous",-10.0077543258667],["▁+",-10.008035659790039],["▁Business",-10.008259773254395],["ont",-10.008552551269531],["▁Sunday",-10.008694648742676],["▁offering",-10.010359764099121],["▁response",-10.011018753051758],["▁surface",-10.011393547058105],["▁Department",-10.01212215423584],["▁exactly",-10.012190818786621],["▁Online",-10.012577056884766],["dem",-10.013803482055664],["ischen",-10.014006614685059],["▁hands",-10.015100479125977],["▁hour",-10.016197204589844],["▁dog",-10.016946792602539],["▁damage",-10.017006874084473],["▁capital",-10.018792152404785],["▁toate",-10.020488739013672],["▁wrong",-10.020674705505371],["unui",-10.022201538085938],["tri",-10.023979187011719],["▁sell",-10.023999214172363],["▁published",-10.024175643920898],["▁families",-10.024675369262695],["▁avoid",-10.025490760803223],["▁Ko",-10.025506019592285],["▁mod",-10.026697158813477],["rat",-10.027653694152832],["▁Make",-10.0299654006958],["▁October",-10.030153274536133],["▁former",-10.031285285949707],["▁Services",-10.03281021118164],["▁felt",-10.033045768737793],["▁selection",-10.033309936523438],["eaza",-10.034177780151367],["gel",-10.034422874450684],["▁Good",-10.035792350769043],["▁actual",-10.0364351272583],["▁gut",-10.036853790283203],["▁gas",-10.03708553314209],["15",-10.038182258605957],["▁structure",-10.038285255432129],["▁act",-10.0386381149292],["▁Zu",-10.038654327392578],["▁creative",-10.039134979248047],["▁Vi",-10.039159774780273],["▁shop",-10.04066276550293],["▁Lo",-10.040735244750977],["şi",-10.042192459106445],["▁mis",-10.042224884033203],["ungen",-10.042301177978516],["▁fan",-10.04240608215332],["▁|",-10.043391227722168],["▁Bei",-10.044037818908691],["▁protect",-10.04454517364502],["▁Na",-10.0447998046875],["q",-10.045693397521973],["ok",-10.04710578918457],["▁California",-10.047263145446777],["▁political",-10.047301292419434],["25",-10.047530174255371],["▁feeling",-10.047913551330566],["▁ces",-10.048321723937988],["▁display",-10.048857688903809],["▁essential",-10.04964542388916],["ând",-10.049971580505371],["▁seine",-10.050551414489746],["▁soft",-10.050915718078613],["ach",-10.05102252960205],["▁happen",-10.051118850708008],["▁Paul",-10.053346633911133],["▁Cu",-10.054024696350098],["house",-10.055376052856445],["ante",-10.05582046508789],["▁easier",-10.056551933288574],["▁sort",-10.0567045211792],["▁Post",-10.057138442993164],["▁accept",-10.05730152130127],["field",-10.057648658752441],["zen",-10.057741165161133],["▁character",-10.057848930358887],["▁beginning",-10.058433532714844],["▁Jesus",-10.058760643005371],["▁weekend",-10.059663772583008],["▁certainly",-10.06114387512207],["▁THE",-10.061254501342773],["▁alle",-10.06189250946045],["▁transport",-10.062220573425293],["▁Saturday",-10.063043594360352],["▁basic",-10.064136505126953],["▁loved",-10.06431770324707],["ros",-10.065333366394043],["▁offered",-10.065996170043945],["▁camera",-10.067024230957031],["▁Green",-10.06789779663086],["ology",-10.069480895996094],["ä",-10.069646835327148],["▁manage",-10.070416450500488],["▁paid",-10.070881843566895],["▁advice",-10.071617126464844],["▁patient",-10.072234153747559],["▁spent",-10.072272300720215],["▁mir",-10.072366714477539],["▁baby",-10.072400093078613],["ö",-10.073193550109863],["▁basis",-10.073338508605957],["▁cancer",-10.073765754699707],["▁Although",-10.07400894165039],["▁gift",-10.074336051940918],["▁3.",-10.074871063232422],["dieser",-10.075157165527344],["▁overall",-10.07520580291748],["▁Sch",-10.075265884399414],["▁Ex",-10.076258659362793],["▁December",-10.07689094543457],["▁released",-10.078214645385742],["▁prior",-10.07900333404541],["▁sowie",-10.081072807312012],["▁club",-10.081326484680176],["▁Street",-10.081535339355469],["▁College",-10.08254623413086],["▁î",-10.083059310913086],["over",-10.083159446716309],["▁gave",-10.08454704284668],["▁truly",-10.084784507751465],["par",-10.084806442260742],["▁Canada",-10.084888458251953],["▁existing",-10.085420608520508],["lie",-10.086335182189941],["▁ganz",-10.086658477783203],["▁setting",-10.087109565734863],["▁supply",-10.08739185333252],["▁college",-10.087540626525879],["▁communication",-10.088407516479492],["▁23",-10.088834762573242],["▁pass",-10.091546058654785],["▁devices",-10.091872215270996],["▁glass",-10.092083930969238],["▁experienced",-10.092395782470703],["▁grand",-10.093363761901855],["▁Po",-10.093396186828613],["▁beyond",-10.094029426574707],["▁format",-10.094165802001953],["▁mon",-10.09461498260498],["▁perform",-10.094635009765625],["sten",-10.095130920410156],["▁1,",-10.096270561218262],["▁Per",-10.096640586853027],["▁sold",-10.097247123718262],["▁rates",-10.0972900390625],["▁regarding",-10.097782135009766],["▁Paris",-10.098291397094727],["▁Dar",-10.099579811096191],["▁challenge",-10.099649429321289],["▁feet",-10.100564002990723],["▁Su",-10.102017402648926],["je",-10.102593421936035],["▁Bank",-10.102627754211426],["ven",-10.103126525878906],["jo",-10.103290557861328],["▁band",-10.10348892211914],["▁delivery",-10.104915618896484],["Vous",-10.104924201965332],["tele",-10.10495376586914],["▁East",-10.105379104614258],["▁pictures",-10.106067657470703],["▁useful",-10.106481552124023],["*",-10.107648849487305],["▁increased",-10.107746124267578],["▁stories",-10.108119010925293],["sion",-10.108280181884766],["bra",-10.108345985412598],["▁brought",-10.108466148376465],["▁effort",-10.109898567199707],["▁payment",-10.11058235168457],["▁heard",-10.110925674438477],["▁played",-10.111245155334473],["▁White",-10.111417770385742],["▁metal",-10.111721992492676],["tal",-10.111754417419434],["▁engine",-10.112006187438965],["▁Club",-10.11218547821045],["ical",-10.114581108093262],["▁effects",-10.115421295166016],["▁degree",-10.115763664245605],["▁bed",-10.1159086227417],["ette",-10.115991592407227],["▁David",-10.116386413574219],["°",-10.117666244506836],["▁Au",-10.117938041687012],["▁Company",-10.11845874786377],["▁player",-10.11938190460205],["▁Today",-10.120569229125977],["▁maintain",-10.12093448638916],["▁minute",-10.121193885803223],["mail",-10.122172355651855],["▁race",-10.122366905212402],["▁comfortable",-10.123887062072754],["▁responsible",-10.124085426330566],["vor",-10.124622344970703],["▁associated",-10.124695777893066],["▁weather",-10.124701499938965],["▁$1",-10.125639915466309],["▁tried",-10.126176834106445],["▁Check",-10.127649307250977],["▁solid",-10.127864837646484],["▁movie",-10.128364562988281],["▁coffee",-10.12874698638916],["board",-10.129073143005371],["▁po",-10.12946605682373],["▁warm",-10.129583358764648],["▁connect",-10.131733894348145],["▁Ad",-10.133807182312012],["work",-10.133859634399414],["mal",-10.13397216796875],["▁Act",-10.134634971618652],["▁achieve",-10.134769439697266],["▁Nach",-10.136604309082031],["www",-10.136669158935547],["term",-10.13672161102295],["▁claim",-10.137251853942871],["▁particularly",-10.138245582580566],["▁cas",-10.138396263122559],["▁furniture",-10.138461112976074],["▁finish",-10.13896369934082],["▁temps",-10.139026641845703],["▁disease",-10.139115333557129],["▁lots",-10.139196395874023],["▁ball",-10.139307975769043],["▁sun",-10.14010238647461],["▁strategy",-10.140498161315918],["bre",-10.140518188476562],["▁mine",-10.141541481018066],["▁Click",-10.141743659973145],["ran",-10.141983032226562],["▁Will",-10.142234802246094],["▁garden",-10.142974853515625],["▁stuff",-10.14359188079834],["▁limit",-10.144641876220703],["▁bottom",-10.14494800567627],["▁shown",-10.144962310791016],["ship",-10.145271301269531],["▁habe",-10.145858764648438],["▁Super",-10.146219253540039],["▁completed",-10.146971702575684],["▁wine",-10.146979331970215],["ische",-10.147262573242188],["▁largest",-10.147466659545898],["▁appropriate",-10.148261070251465],["▁immediately",-10.150248527526855],["▁Hi",-10.152358055114746],["▁trust",-10.152767181396484],["ability",-10.154254913330078],["▁powerful",-10.155101776123047],["▁helping",-10.155620574951172],["▁schedule",-10.155688285827637],["▁correct",-10.155707359313965],["▁transfer",-10.156496047973633],["pre",-10.15665340423584],["▁journey",-10.15688419342041],["pm",-10.157002449035645],["don",-10.158435821533203],["▁highest",-10.159249305725098],["▁finally",-10.15999698638916],["form",-10.160258293151855],["▁extremely",-10.160404205322266],["▁window",-10.160501480102539],["▁Over",-10.162222862243652],["▁remove",-10.162469863891602],["wood",-10.162479400634766],["▁2013",-10.163631439208984],["▁mother",-10.164072036743164],["▁Auto",-10.16436767578125],["▁annual",-10.164615631103516],["▁Star",-10.164834976196289],["▁Di",-10.166138648986816],["о",-10.16711139678955],["▁gold",-10.167129516601562],["tar",-10.167352676391602],["ju",-10.167750358581543],["▁Use",-10.169474601745605],["▁thanks",-10.16960334777832],["▁centre",-10.170127868652344],["▁Australia",-10.170358657836914],["▁estate",-10.170504570007324],["▁eyes",-10.1714448928833],["▁force",-10.171592712402344],["▁income",-10.17395305633545],["▁science",-10.174036026000977],["ori",-10.174230575561523],["▁enter",-10.174851417541504],["▁28",-10.175408363342285],["ire",-10.17568302154541],["▁schools",-10.175797462463379],["▁restaurant",-10.176088333129883],["▁Council",-10.177032470703125],["aus",-10.177885055541992],["▁agree",-10.17905330657959],["▁campaign",-10.179192543029785],["▁Ta",-10.179428100585938],["▁letter",-10.179814338684082],["▁central",-10.179931640625],["▁Because",-10.180054664611816],["▁path",-10.180349349975586],["▁loc",-10.180882453918457],["▁files",-10.182587623596191],["▁population",-10.182705879211426],["▁explore",-10.182723999023438],["▁mid",-10.182734489440918],["▁concept",-10.182748794555664],["▁church",-10.183015823364258],["80",-10.183026313781738],["▁einfach",-10.185834884643555],["▁reasons",-10.186690330505371],["▁determine",-10.186755180358887],["▁February",-10.187095642089844],["▁evidence",-10.18797779083252],["▁sleep",-10.188036918640137],["▁Board",-10.188652992248535],["▁maybe",-10.189635276794434],["▁wasn",-10.189701080322266],["▁Monday",-10.190101623535156],["▁director",-10.190481185913086],["well",-10.190974235534668],["During",-10.191001892089844],["▁sweet",-10.191061973571777],["▁assist",-10.19124984741211],["▁police",-10.191511154174805],["▁repair",-10.191729545593262],["▁techniques",-10.191733360290527],["▁served",-10.191808700561523],["vi",-10.192037582397461],["▁sports",-10.192331314086914],["▁opening",-10.192401885986328],["▁ones",-10.192731857299805],["▁notice",-10.193460464477539],["▁PC",-10.193547248840332],["▁alte",-10.194242477416992],["▁Bi",-10.194340705871582],["▁cold",-10.195606231689453],["▁billion",-10.195794105529785],["▁balance",-10.196361541748047],["cer",-10.196417808532715],["▁nearly",-10.196725845336914],["▁wear",-10.197259902954102],["free",-10.19760799407959],["▁Have",-10.197748184204102],["▁comfort",-10.199211120605469],["▁studies",-10.199225425720215],["▁traffic",-10.199540138244629],["▁item",-10.200214385986328],["▁teaching",-10.200467109680176],["▁turned",-10.201326370239258],["isation",-10.201354026794434],["12",-10.202038764953613],["▁greater",-10.202167510986328],["▁knew",-10.20233154296875],["▁Association",-10.203333854675293],["▁Office",-10.203802108764648],["▁established",-10.204085350036621],["45",-10.204170227050781],["▁Love",-10.204318046569824],["▁changed",-10.204882621765137],["▁pan",-10.205184936523438],["van",-10.20565414428711],["▁Mi",-10.205663681030273],["▁tend",-10.20637321472168],["▁connection",-10.206522941589355],["▁lack",-10.206954002380371],["▁bank",-10.208464622497559],["cat",-10.208720207214355],["▁helped",-10.209071159362793],["▁spot",-10.209417343139648],["▁spring",-10.20974063873291],["▁Wi",-10.210912704467773],["▁Mac",-10.211682319641113],["▁Christ",-10.212015151977539],["▁saying",-10.212835311889648],["▁General",-10.213062286376953],["▁port",-10.213099479675293],["▁Mal",-10.213156700134277],["▁System",-10.213486671447754],["▁According",-10.2152738571167],["▁chiar",-10.21568489074707],["log",-10.21576976776123],["▁mix",-10.215974807739258],["▁Lake",-10.216042518615723],["▁intr",-10.216590881347656],["▁deliver",-10.216793060302734],["mon",-10.216931343078613],["▁Ro",-10.217060089111328],["▁Management",-10.217504501342773],["bri",-10.218718528747559],["▁pieces",-10.218774795532227],["▁announced",-10.218926429748535],["▁Yes",-10.219268798828125],["▁dark",-10.220884323120117],["val",-10.221765518188477],["▁rights",-10.22309684753418],["▁Diese",-10.223100662231445],["ki",-10.223350524902344],["vent",-10.22375774383545],["▁born",-10.22380542755127],["▁muss",-10.224031448364258],["compared",-10.224660873413086],["▁demand",-10.224669456481934],["▁handle",-10.225493431091309],["▁mode",-10.226058006286621],["lic",-10.226137161254883],["▁ahead",-10.226436614990234],["▁sharing",-10.227599143981934],["▁micro",-10.227779388427734],["▁Par",-10.228626251220703],["▁Every",-10.22950553894043],["▁bag",-10.229736328125],["▁daca",-10.22974967956543],["▁Apple",-10.23022174835205],["▁Mark",-10.230239868164062],["▁larger",-10.231284141540527],["eze",-10.231978416442871],["▁progress",-10.232234001159668],["▁stress",-10.232929229736328],["▁cards",-10.233663558959961],["▁driving",-10.233738899230957],["▁dry",-10.233970642089844],["▁relevant",-10.234556198120117],["▁Jo",-10.234825134277344],["▁tree",-10.235036849975586],["▁reported",-10.235770225524902],["ities",-10.23577880859375],["▁tea",-10.235806465148926],["▁although",-10.236145973205566],["▁Research",-10.236261367797852],["▁pool",-10.23691463470459],["▁fin",-10.237163543701172],["▁Und",-10.238130569458008],["▁decide",-10.239217758178711],["▁expert",-10.239344596862793],["rate",-10.239428520202637],["zeit",-10.239971160888672],["▁26",-10.24040412902832],["▁Ka",-10.24056339263916],["▁fix",-10.240666389465332],["igen",-10.240713119506836],["▁direction",-10.241188049316406],["▁star",-10.241661071777344],["▁middle",-10.241889953613281],["▁Ja",-10.241962432861328],["▁Land",-10.24207878112793],["ken",-10.242605209350586],["▁button",-10.242630004882812],["▁rules",-10.242656707763672],["▁également",-10.242706298828125],["▁viel",-10.243158340454102],["▁welcome",-10.243682861328125],["că",-10.243932723999023],["▁Top",-10.245308876037598],["▁allowed",-10.245487213134766],["▁tip",-10.245584487915039],["▁cei",-10.245768547058105],["▁Nous",-10.246004104614258],["té",-10.246850967407227],["▁unei",-10.246903419494629],["▁efforts",-10.247260093688965],["▁note",-10.247719764709473],["▁title",-10.247977256774902],["ric",-10.248047828674316],["berg",-10.248252868652344],["▁ainsi",-10.248576164245605],["▁led",-10.248713493347168],["▁alone",-10.248786926269531],["ward",-10.249215126037598],["▁vie",-10.249323844909668],["▁brain",-10.249427795410156],["light",-10.250100135803223],["▁Court",-10.250598907470703],["set",-10.250869750976562],["▁steps",-10.251251220703125],["pri",-10.251391410827637],["Q",-10.251654624938965],["sti",-10.251938819885254],["▁voice",-10.252121925354004],["▁models",-10.252705574035645],["▁parties",-10.25442886352539],["▁radio",-10.255270957946777],["▁mission",-10.25545883178711],["▁methods",-10.255658149719238],["▁Te",-10.256019592285156],["air",-10.256489753723145],["▁essay",-10.256719589233398],["my",-10.256826400756836],["▁competition",-10.257049560546875],["ses",-10.257447242736816],["▁serious",-10.258724212646484],["▁Ti",-10.258733749389648],["▁Hand",-10.259561538696289],["not",-10.25958251953125],["▁winter",-10.261277198791504],["24",-10.261724472045898],["▁vision",-10.26174545288086],["▁technical",-10.262110710144043],["▁cross",-10.262799263000488],["▁update",-10.262947082519531],["▁Team",-10.263564109802246],["▁evening",-10.264286041259766],["▁experts",-10.26435661315918],["part",-10.264640808105469],["▁wo",-10.265190124511719],["▁App",-10.265729904174805],["▁peu",-10.266267776489258],["▁mich",-10.26630687713623],["▁reports",-10.267001152038574],["▁km",-10.267594337463379],["▁print",-10.2678804397583],["▁Hotel",-10.268101692199707],["▁earlier",-10.268235206604004],["▁uses",-10.26826286315918],["▁menu",-10.268416404724121],["▁miles",-10.26845645904541],["▁classes",-10.268463134765625],["▁mo",-10.268525123596191],["▁loan",-10.2691011428833],["▁host",-10.269192695617676],["▁author",-10.269274711608887],["-1",-10.269434928894043],["▁bun",-10.269940376281738],["19",-10.270011901855469],["uch",-10.270670890808105],["ble",-10.270813941955566],["▁holiday",-10.270859718322754],["los",-10.271894454956055],["▁looked",-10.272663116455078],["▁Test",-10.272759437561035],["▁moved",-10.273000717163086],["▁numbers",-10.273306846618652],["▁covered",-10.273405075073242],["ker",-10.273696899414062],["TM",-10.273768424987793],["▁album",-10.274727821350098],["▁27",-10.27476692199707],["▁când",-10.27523422241211],["▁shopping",-10.275248527526855],["▁Ihr",-10.27531623840332],["▁requires",-10.275786399841309],["▁USA",-10.275909423828125],["000",-10.275951385498047],["▁official",-10.276010513305664],["▁states",-10.276346206665039],["▁tips",-10.276570320129395],["ible",-10.277321815490723],["▁Lu",-10.27756404876709],["ces",-10.278343200683594],["▁figure",-10.27839469909668],["▁Take",-10.278576850891113],["▁după",-10.278687477111816],["▁teams",-10.278980255126953],["▁song",-10.279138565063477],["▁master",-10.279386520385742],["ED",-10.279841423034668],["▁cleaning",-10.280523300170898],["▁drop",-10.280651092529297],["▁primary",-10.2808837890625],["▁Life",-10.28108024597168],["▁carry",-10.281129837036133],["▁initial",-10.281270980834961],["▁encore",-10.281617164611816],["▁Add",-10.281670570373535],["▁woman",-10.282076835632324],["▁Water",-10.282219886779785],["▁advantage",-10.28277587890625],["see",-10.283234596252441],["ré",-10.283341407775879],["▁motor",-10.283479690551758],["mel",-10.2838716506958],["▁finding",-10.284419059753418],["▁plastic",-10.286365509033203],["▁IT",-10.286602973937988],["▁Church",-10.286916732788086],["▁shape",-10.287345886230469],["▁gets",-10.287763595581055],["▁followed",-10.288186073303223],["▁100%",-10.288315773010254],["▁Program",-10.28912353515625],["▁Another",-10.28934383392334],["▁zwei",-10.289522171020508],["▁father",-10.289839744567871],["▁rich",-10.290282249450684],["où",-10.290810585021973],["▁lines",-10.290934562683105],["▁distance",-10.291757583618164],["▁cell",-10.291876792907715],["▁parte",-10.292072296142578],["bit",-10.292445182800293],["▁perhaps",-10.292749404907227],["rii",-10.293590545654297],["▁session",-10.294137954711914],["▁Pentru",-10.294528007507324],["ING",-10.295049667358398],["ants",-10.295478820800781],["▁remain",-10.295543670654297],["13",-10.295588493347168],["▁finished",-10.295763969421387],["bel",-10.298725128173828],["▁organizations",-10.299455642700195],["▁Any",-10.299896240234375],["▁taste",-10.300277709960938],["Whether",-10.300600051879883],["ram",-10.300874710083008],["like",-10.301307678222656],["▁artist",-10.301319122314453],["aire",-10.303369522094727],["▁French",-10.303386688232422],["▁donc",-10.303634643554688],["ow",-10.30386734008789],["▁200",-10.303993225097656],["▁paint",-10.304465293884277],["▁Open",-10.304535865783691],["▁appear",-10.304722785949707],["▁Washington",-10.304765701293945],["▁target",-10.30491828918457],["pir",-10.305578231811523],["▁generally",-10.305987358093262],["▁British",-10.306790351867676],["▁seven",-10.306937217712402],["▁bio",-10.307162284851074],["▁sector",-10.307358741760254],["90",-10.30777359008789],["▁fapt",-10.307881355285645],["▁prefer",-10.308316230773926],["▁partner",-10.308427810668945],["ăm",-10.308547973632812],["▁diverse",-10.308610916137695],["▁onto",-10.309283256530762],["▁refer",-10.309828758239746],["▁Law",-10.310302734375],["▁Ri",-10.310596466064453],["▁critical",-10.310735702514648],["▁copy",-10.310897827148438],["ck",-10.311517715454102],["ix",-10.311732292175293],["tag",-10.311793327331543],["▁Road",-10.311936378479004],["▁concern",-10.312053680419922],["▁maximum",-10.312095642089844],["▁train",-10.312148094177246],["▁într",-10.312189102172852],["ura",-10.313023567199707],["▁Qu",-10.313481330871582],["▁links",-10.313538551330566],["▁audience",-10.313969612121582],["▁foot",-10.314554214477539],["▁Blue",-10.314605712890625],["ification",-10.315386772155762],["▁developing",-10.315847396850586],["▁interior",-10.315876007080078],["=",-10.316556930541992],["▁aceasta",-10.31698989868164],["▁dedicated",-10.317373275756836],["▁movement",-10.317383766174316],["sta",-10.318868637084961],["▁challenges",-10.319018363952637],["inte",-10.319074630737305],["▁Euro",-10.319075584411621],["▁classic",-10.320341110229492],["▁Um",-10.320767402648926],["▁alternative",-10.321407318115234],["mann",-10.321614265441895],["▁Une",-10.322278022766113],["qu",-10.322415351867676],["▁heavy",-10.322434425354004],["▁install",-10.322484970092773],["▁fiind",-10.322504043579102],["▁leaders",-10.323003768920898],["▁views",-10.323019981384277],["▁www",-10.323084831237793],["▁standards",-10.323270797729492],["ong",-10.323580741882324],["40",-10.323833465576172],["▁cm",-10.323848724365234],["▁park",-10.324324607849121],["▁himself",-10.324419021606445],["▁People",-10.324649810791016],["▁separate",-10.324843406677246],["▁secure",-10.325018882751465],["sie",-10.325084686279297],["▁maintenance",-10.325199127197266],["▁encourage",-10.32766056060791],["ein",-10.328139305114746],["▁reviews",-10.328202247619629],["▁Michael",-10.328210830688477],["▁background",-10.328283309936523],["▁therefore",-10.328433990478516],["▁server",-10.328487396240234],["▁dream",-10.328742027282715],["ping",-10.329025268554688],["▁block",-10.329855918884277],["▁2009",-10.330734252929688],["▁facilities",-10.330931663513184],["▁II",-10.331367492675781],["▁attend",-10.33156967163086],["▁cap",-10.33224105834961],["35",-10.332416534423828],["▁steel",-10.332796096801758],["▁shared",-10.333391189575195],["▁doctor",-10.333939552307129],["▁River",-10.33411693572998],["▁Bay",-10.334456443786621],["▁length",-10.335005760192871],["▁jobs",-10.335466384887695],["▁Plus",-10.335992813110352],["▁station",-10.336140632629395],["▁elements",-10.336268424987793],["▁rock",-10.336668014526367],["▁professionals",-10.336670875549316],["cle",-10.336777687072754],["▁dont",-10.336873054504395],["urilor",-10.337142944335938],["▁gain",-10.337271690368652],["▁programme",-10.337540626525879],["▁Cor",-10.338377952575684],["▁leader",-10.338542938232422],["ării",-10.33876895904541],["▁>",-10.339137077331543],["▁task",-10.339471817016602],["▁seeing",-10.339943885803223],["▁statement",-10.34045696258545],["vin",-10.341094017028809],["▁fish",-10.341700553894043],["▁advanced",-10.342403411865234],["▁discuss",-10.342494010925293],["die",-10.342904090881348],["isch",-10.342944145202637],["▁plenty",-10.342947959899902],["▁Hall",-10.343120574951172],["▁Other",-10.343339920043945],["▁homes",-10.344944953918457],["▁Ni",-10.345016479492188],["▁testing",-10.345102310180664],["▁Last",-10.345392227172852],["▁Note",-10.345595359802246],["▁talking",-10.345934867858887],["▁exchange",-10.347042083740234],["▁exercise",-10.347189903259277],["▁cea",-10.347546577453613],["▁wife",-10.34820556640625],["▁Für",-10.348480224609375],["▁Texas",-10.34981918334961],["▁fr",-10.35065746307373],["▁speak",-10.350894927978516],["17",-10.351007461547852],["70",-10.351462364196777],["▁promote",-10.351851463317871],["tul",-10.351990699768066],["apos",-10.35208511352539],["▁Jahr",-10.35214900970459],["▁Trump",-10.352204322814941],["▁ohne",-10.352357864379883],["▁learned",-10.353700637817383],["▁Sp",-10.353803634643555],["▁owner",-10.354275703430176],["mor",-10.354422569274902],["▁fois",-10.354452133178711],["▁meaning",-10.35518741607666],["▁dacă",-10.355249404907227],["nic",-10.355484008789062],["а",-10.355525970458984],["14",-10.355767250061035],["▁driver",-10.356258392333984],["▁Amazon",-10.3567533493042],["▁flow",-10.358469009399414],["▁shot",-10.358726501464844],["▁sous",-10.35914421081543],["▁Gold",-10.359339714050293],["▁straight",-10.359562873840332],["▁conference",-10.359610557556152],["▁peste",-10.359662055969238],["whose",-10.36030101776123],["▁installation",-10.36050796508789],["▁produced",-10.360607147216797],["▁independent",-10.36192512512207],["▁Institute",-10.362021446228027],["▁James",-10.362373352050781],["▁mental",-10.362601280212402],["ara",-10.362798690795898],["ium",-10.363021850585938],["▁husband",-10.36306095123291],["▁guests",-10.363907814025879],["27",-10.364319801330566],["▁Che",-10.364651679992676],["▁Indian",-10.364694595336914],["zer",-10.36478042602539],["▁minimum",-10.364962577819824],["500",-10.365096092224121],["▁sit",-10.36561393737793],["put",-10.36656379699707],["▁avea",-10.36665153503418],["▁ride",-10.367088317871094],["gan",-10.367152214050293],["▁Ke",-10.36747932434082],["book",-10.367515563964844],["ages",-10.368019104003906],["▁presented",-10.368157386779785],["▁Com",-10.368927955627441],["▁Call",-10.369053840637207],["▁fee",-10.369847297668457],["ări",-10.369905471801758],["▁putea",-10.37072467803955],["▁Public",-10.371030807495117],["▁pa",-10.371152877807617],["28",-10.371233940124512],["▁Director",-10.37126350402832],["▁contains",-10.3717622756958],["▁factors",-10.372554779052734],["▁famous",-10.372614860534668],["▁bathroom",-10.373040199279785],["▁core",-10.37353229522705],["▁viele",-10.373610496520996],["▁acum",-10.374361991882324],["▁animal",-10.374407768249512],["▁Ihnen",-10.374425888061523],["▁Find",-10.374545097351074],["▁Fall",-10.374861717224121],["ford",-10.376051902770996],["▁coverage",-10.3765287399292],["▁smart",-10.376830101013184],["ries",-10.376893997192383],["▁memory",-10.3772554397583],["▁dance",-10.377443313598633],["11",-10.37746810913086],["▁communities",-10.377655982971191],["eurs",-10.378050804138184],["▁Florida",-10.378463745117188],["▁sport",-10.379366874694824],["▁bus",-10.37992000579834],["▁colors",-10.379969596862793],["▁affect",-10.380044937133789],["▁score",-10.380183219909668],["▁properties",-10.38050365447998],["18",-10.380593299865723],["▁astfel",-10.381312370300293],["▁beach",-10.382407188415527],["▁friendly",-10.382795333862305],["izing",-10.38288688659668],["▁buying",-10.383146286010742],["▁forget",-10.383195877075195],["este",-10.383198738098145],["▁capacity",-10.38360595703125],["▁lose",-10.383692741394043],["▁listed",-10.38407039642334],["ica",-10.384084701538086],["han",-10.384085655212402],["▁selbst",-10.384390830993652],["▁values",-10.384391784667969],["▁Power",-10.384559631347656],["▁comments",-10.384831428527832],["eux",-10.385346412658691],["ați",-10.385419845581055],["▁context",-10.385710716247559],["liche",-10.385944366455078],["▁keeping",-10.38620662689209],["▁2008",-10.38647174835205],["▁su",-10.386670112609863],["▁biggest",-10.386838912963867],["▁fiecare",-10.387356758117676],["ight",-10.38845157623291],["▁toute",-10.389808654785156],["▁dinner",-10.389827728271484],["bau",-10.390706062316895],["▁Mai",-10.390762329101562],["▁status",-10.390776634216309],["rez",-10.391340255737305],["▁selected",-10.391549110412598],["▁cells",-10.392601013183594],["▁eight",-10.393319129943848],["▁package",-10.393320083618164],["▁scale",-10.39333724975586],["din",-10.39336109161377],["▁Who",-10.393381118774414],["▁century",-10.393399238586426],["▁bi",-10.393516540527344],["▁Africa",-10.39384937286377],["▁http",-10.394133567810059],["▁named",-10.394230842590332],["▁adding",-10.394901275634766],["▁mention",-10.395039558410645],["▁casino",-10.395421981811523],["▁couldn",-10.395624160766602],["▁outdoor",-10.395912170410156],["▁sugar",-10.3960542678833],["▁prepared",-10.396124839782715],["21",-10.396528244018555],["▁Ba",-10.396632194519043],["vers",-10.396697998046875],["ration",-10.396773338317871],["▁ja",-10.397035598754883],["▁aspect",-10.397224426269531],["▁31",-10.397462844848633],["▁treat",-10.397475242614746],["tru",-10.397841453552246],["▁flat",-10.397890090942383],["32",-10.397989273071289],["▁reality",-10.398238182067871],["▁waste",-10.39876937866211],["▁King",-10.399649620056152],["▁drug",-10.399870872497559],["▁operations",-10.400120735168457],["▁aim",-10.40042495727539],["▁fans",-10.400444984436035],["▁vers",-10.400891304016113],["▁plants",-10.400971412658691],["▁Dis",-10.401477813720703],["▁Daten",-10.401510238647461],["être",-10.40267276763916],["▁placed",-10.40326976776123],["▁bon",-10.403977394104004],["beim",-10.4041109085083],["▁slow",-10.40501880645752],["cri",-10.405512809753418],["▁Care",-10.405691146850586],["mes",-10.406211853027344],["26",-10.406257629394531],["box",-10.406330108642578],["▁helpful",-10.406362533569336],["▁documents",-10.406543731689453],["▁visitors",-10.406773567199707],["ture",-10.406862258911133],["▁Menschen",-10.406891822814941],["▁Chi",-10.406975746154785],["▁recipe",-10.40764045715332],["▁kept",-10.407693862915039],["▁Grand",-10.407915115356445],["▁operating",-10.408178329467773],["point",-10.408329010009766],["▁bin",-10.40837287902832],["▁Tri",-10.40845775604248],["Be",-10.408512115478516],["▁experiences",-10.40856647491455],["▁academic",-10.408608436584473],["▁finden",-10.40870475769043],["▁sera",-10.409092903137207],["act",-10.410541534423828],["▁Pa",-10.410907745361328],["▁society",-10.411056518554688],["▁combination",-10.411237716674805],["5%",-10.41182804107666],["▁owners",-10.41188907623291],["▁poor",-10.412039756774902],["▁Robert",-10.412378311157227],["▁military",-10.412964820861816],["▁economy",-10.413033485412598],["▁aware",-10.413055419921875],["rot",-10.413443565368652],["mie",-10.413544654846191],["▁Thursday",-10.414399147033691],["▁2011",-10.41490650177002],["▁fantastic",-10.41554069519043],["▁numerous",-10.415921211242676],["▁fair",-10.4165620803833],["med",-10.416753768920898],["▁welche",-10.416893005371094],["▁fruit",-10.41712760925293],["ku",-10.417325019836426],["▁Social",-10.417583465576172],["▁funds",-10.418157577514648],["▁atunci",-10.418214797973633],["▁Part",-10.418238639831543],["▁Big",-10.418301582336426],["▁2010",-10.419414520263672],["▁detail",-10.419889450073242],["▁Peter",-10.419942855834961],["ani",-10.420196533203125],["▁Wie",-10.420795440673828],["▁Tu",-10.421649932861328],["ear",-10.421706199645996],["▁Wenn",-10.421941757202148],["▁manager",-10.42199993133545],["▁Dan",-10.422409057617188],["▁Pi",-10.42257308959961],["▁wants",-10.422652244567871],["▁Data",-10.42322826385498],["pos",-10.42387580871582],["▁older",-10.423946380615234],["▁Download",-10.424071311950684],["▁Was",-10.424107551574707],["▁corner",-10.424195289611816],["▁president",-10.424199104309082],["mas",-10.424248695373535],["▁smaller",-10.424361228942871],["▁bright",-10.424459457397461],["▁proper",-10.424582481384277],["▁Kinder",-10.424637794494629],["▁Two",-10.424668312072754],["▁award",-10.42471694946289],["▁premier",-10.425211906433105],["▁seek",-10.425646781921387],["▁thank",-10.425662994384766],["▁proud",-10.426509857177734],["▁workers",-10.426774024963379],["▁2000",-10.426970481872559],["▁gone",-10.427482604980469],["▁medium",-10.427693367004395],["▁grade",-10.42777156829834],["▁Ru",-10.427800178527832],["cro",-10.427851676940918],["▁interview",-10.428311347961426],["23",-10.428787231445312],["▁mari",-10.429442405700684],["▁80",-10.429756164550781],["▁Ga",-10.430047035217285],["▁90",-10.431839942932129],["▁anderen",-10.432605743408203],["▁cultural",-10.433018684387207],["but",-10.433144569396973],["rum",-10.433300018310547],["get",-10.43338680267334],["▁pop",-10.433582305908203],["▁Information",-10.433594703674316],["▁press",-10.434972763061523],["▁Project",-10.435359001159668],["▁excited",-10.435755729675293],["▁Saint",-10.436088562011719],["▁England",-10.436192512512207],["▁beauty",-10.43643856048584],["▁agreement",-10.436464309692383],["▁Like",-10.437565803527832],["▁strength",-10.437664985656738],["▁waiting",-10.438165664672852],["и",-10.438270568847656],["Le",-10.438329696655273],["▁residents",-10.43835735321045],["▁Ben",-10.438603401184082],["▁mentioned",-10.439260482788086],["▁etwas",-10.43930721282959],["▁rooms",-10.439347267150879],["▁neue",-10.439501762390137],["▁Microsoft",-10.439726829528809],["▁passed",-10.440205574035645],["▁sea",-10.440893173217773],["▁electric",-10.441244125366211],["▁forms",-10.441384315490723],["▁Central",-10.441597938537598],["▁Lord",-10.442625999450684],["ute",-10.442763328552246],["▁pré",-10.442790031433105],["▁square",-10.44308090209961],["itatea",-10.443451881408691],["▁debt",-10.443757057189941],["▁street",-10.443975448608398],["▁pi",-10.444917678833008],["▁happened",-10.445326805114746],["▁Tuesday",-10.445592880249023],["recht",-10.446094512939453],["▁Eine",-10.44627857208252],["▁Set",-10.446768760681152],["▁federal",-10.4468412399292],["CC",-10.446905136108398],["....",-10.446938514709473],["lig",-10.447463035583496],["▁Christian",-10.44870662689209],["▁truth",-10.449213981628418],["▁map",-10.449728012084961],["▁secret",-10.449979782104492],["▁Chinese",-10.450844764709473],["hol",-10.450895309448242],["▁wrote",-10.451505661010742],["▁hospital",-10.451783180236816],["▁Island",-10.451870918273926],["▁frame",-10.451946258544922],["▁sources",-10.452117919921875],["pan",-10.453242301940918],["▁29",-10.453530311584473],["▁changing",-10.454547882080078],["▁Where",-10.454627990722656],["▁negative",-10.45471477508545],["▁processes",-10.45491886138916],["▁leadership",-10.455029487609863],["▁nos",-10.455195426940918],["▁info",-10.455780029296875],["▁Gu",-10.45595645904541],["▁CO",-10.45605182647705],["▁reference",-10.456884384155273],["▁corporate",-10.457097053527832],["▁characters",-10.457563400268555],["▁dining",-10.4577054977417],["▁becoming",-10.459708213806152],["▁4.",-10.460311889648438],["▁Science",-10.460626602172852],["▁Education",-10.461943626403809],["▁camp",-10.46207046508789],["fall",-10.462146759033203],["▁Auch",-10.462471961975098],["▁topic",-10.462519645690918],["▁influence",-10.463460922241211],["▁70",-10.463892936706543],["▁identify",-10.464459419250488],["▁(19",-10.464646339416504],["care",-10.465216636657715],["ions",-10.466215133666992],["ray",-10.4663724899292],["▁Both",-10.466577529907227],["▁collect",-10.466997146606445],["▁practices",-10.467667579650879],["▁fight",-10.468058586120605],["▁injury",-10.46873664855957],["▁nici",-10.46905517578125],["▁depuis",-10.469563484191895],["▁actions",-10.469609260559082],["▁Wednesday",-10.47089958190918],["▁bill",-10.471086502075195],["▁cheap",-10.471318244934082],["lui",-10.471719741821289],["▁awesome",-10.471731185913086],["tig",-10.472554206848145],["▁expensive",-10.472636222839355],["ceea",-10.472834587097168],["▁exact",-10.472907066345215],["22",-10.473462104797363],["▁avant",-10.47352123260498],["▁fat",-10.47353744506836],["▁spending",-10.474353790283203],["▁designs",-10.47608470916748],["▁damit",-10.4761323928833],["▁comp",-10.47619342803955],["▁whatever",-10.476434707641602],["▁Light",-10.476442337036133],["▁quarter",-10.47680377960205],["hand",-10.477301597595215],["▁connected",-10.477584838867188],["▁technologies",-10.47772216796875],["ges",-10.477808952331543],["▁shower",-10.478998184204102],["▁500",-10.47923469543457],["▁Time",-10.479436874389648],["▁zone",-10.480525970458984],["▁vote",-10.480624198913574],["▁andere",-10.480871200561523],["▁otherwise",-10.480988502502441],["tur",-10.481294631958008],["▁happens",-10.481504440307617],["hin",-10.481597900390625],["▁volume",-10.482161521911621],["▁thousands",-10.482391357421875],["war",-10.482551574707031],["▁Play",-10.482900619506836],["▁temperature",-10.48371410369873],["▁industrial",-10.483830451965332],["▁fuel",-10.483915328979492],["100",-10.48409366607666],["top",-10.484210014343262],["kin",-10.484312057495117],["▁efficient",-10.484414100646973],["teil",-10.484525680541992],["alt",-10.484578132629395],["▁monde",-10.48483657836914],["▁Ra",-10.484899520874023],["▁bedroom",-10.485103607177734],["▁showing",-10.485316276550293],["▁continued",-10.485490798950195],["▁Plan",-10.48552131652832],["▁assistance",-10.486014366149902],["▁discover",-10.48622989654541],["▁Year",-10.486238479614258],["▁applied",-10.486433029174805],["▁audio",-10.48755931854248],["▁thus",-10.487645149230957],["▁permet",-10.48806095123291],["▁fashion",-10.488532066345215],["cra",-10.488645553588867],["ious",-10.488700866699219],["▁focused",-10.489258766174316],["16",-10.48930549621582],["▁arm",-10.489364624023438],["▁Their",-10.489789962768555],["▁Foundation",-10.49022388458252],["▁majority",-10.49022388458252],["▁wind",-10.490785598754883],["▁bought",-10.491056442260742],["▁factor",-10.491918563842773],["▁opened",-10.49213695526123],["tern",-10.492374420166016],["▁cars",-10.492597579956055],["▁exciting",-10.492691040039062],["▁affordable",-10.493510246276855],["ches",-10.493563652038574],["▁panel",-10.493720054626465],["▁caused",-10.493793487548828],["▁travail",-10.493998527526855],["▁roof",-10.494073867797852],["▁enable",-10.494202613830566],["▁toward",-10.494491577148438],["▁Development",-10.494688987731934],["▁foreign",-10.495308876037598],["avi",-10.495320320129395],["long",-10.495328903198242],["De",-10.49578857421875],["▁Mon",-10.49588394165039],["▁Va",-10.495942115783691],["AP",-10.496097564697266],["▁asta",-10.49720573425293],["▁prepare",-10.497220993041992],["▁German",-10.497261047363281],["▁Centre",-10.497325897216797],["ère",-10.497367858886719],["▁fear",-10.497537612915039],["▁Este",-10.497878074645996],["▁Des",-10.49793529510498],["▁Kon",-10.499308586120605],["á",-10.499866485595703],["stand",-10.500805854797363],["▁Real",-10.500842094421387],["lichen",-10.50098705291748],["▁Beach",-10.501455307006836],["▁expertise",-10.50185775756836],["▁route",-10.502445220947266],["▁nation",-10.502551078796387],["▁snow",-10.503022193908691],["▁articles",-10.503127098083496],["▁Wood",-10.504426956176758],["▁operation",-10.50494384765625],["▁passion",-10.505215644836426],["▁cand",-10.505690574645996],["haus",-10.505701065063477],["OR",-10.505711555480957],["▁senior",-10.506511688232422],["▁becomes",-10.506546020507812],["▁sounds",-10.506878852844238],["▁enjoyed",-10.50704574584961],["▁gegen",-10.507533073425293],["▁courses",-10.507919311523438],["▁absolutely",-10.508257865905762],["tim",-10.508264541625977],["uff",-10.508516311645508],["▁moins",-10.50860595703125],["▁TO",-10.509060859680176],["▁fabric",-10.509267807006836],["poli",-10.509326934814453],["▁Bre",-10.509761810302734],["▁bo",-10.509916305541992],["▁Elle",-10.510469436645508],["bu",-10.512336730957031],["▁participants",-10.512401580810547],["stone",-10.512794494628906],["ties",-10.51366138458252],["▁listen",-10.513700485229492],["▁Spiel",-10.513752937316895],["pot",-10.513872146606445],["▁selling",-10.514358520507812],["▁geht",-10.514680862426758],["▁mini",-10.515146255493164],["▁trans",-10.515408515930176],["▁ingredients",-10.515642166137695],["auf",-10.515671730041504],["▁orice",-10.51595401763916],["▁Next",-10.516300201416016],["▁cream",-10.516756057739258],["▁edge",-10.516973495483398],["▁recommended",-10.517022132873535],["▁Form",-10.517277717590332],["▁processing",-10.51746940612793],["vert",-10.517709732055664],["▁described",-10.518362998962402],["▁installed",-10.51884937286377],["▁managed",-10.518952369689941],["▁electronic",-10.518966674804688],["▁performed",-10.519064903259277],["▁raise",-10.519098281860352],["▁imagine",-10.519281387329102],["down",-10.51952838897705],["▁fond",-10.519978523254395],["▁Inter",-10.520434379577637],["▁Mc",-10.520550727844238],["▁Dans",-10.520679473876953],["istic",-10.520966529846191],["▁miss",-10.521052360534668],["sur",-10.521062850952148],["▁Col",-10.521879196166992],["cut",-10.522021293640137],["▁dupa",-10.522160530090332],["▁Twitter",-10.522604942321777],["▁bowl",-10.523721694946289],["▁remains",-10.5237455368042],["▁Jan",-10.524046897888184],["▁smooth",-10.524162292480469],["▁fees",-10.524415969848633],["▁aid",-10.524494171142578],["▁presence",-10.524827003479004],["▁Android",-10.52499771118164],["▁decisions",-10.52539348602295],["▁names",-10.5254487991333],["▁Music",-10.525546073913574],["▁innovative",-10.525578498840332],["▁Tom",-10.525997161865234],["▁spread",-10.526165962219238],["▁lovely",-10.526222229003906],["▁daughter",-10.526397705078125],["US",-10.527050971984863],["▁facility",-10.52710247039795],["▁peace",-10.527105331420898],["▁department",-10.527277946472168],["▁weiter",-10.527591705322266],["▁Sun",-10.527756690979004],["▁fund",-10.527772903442383],["▁2018.",-10.52792739868164],["▁discussion",-10.528186798095703],["75",-10.528799057006836],["EC",-10.529126167297363],["▁lunch",-10.529144287109375],["▁videos",-10.52927017211914],["05",-10.531253814697266],["ige",-10.531266212463379],["▁parking",-10.531564712524414],["▁relationships",-10.531732559204102],["▁George",-10.532986640930176],["▁teachers",-10.53299617767334],["room",-10.533458709716797],["▁Tra",-10.533605575561523],["▁Sam",-10.533651351928711],["▁properly",-10.535590171813965],["▁Book",-10.535629272460938],["▁CA",-10.536957740783691],["▁calls",-10.53756046295166],["▁stat",-10.538175582885742],["ux",-10.538220405578613],["▁soit",-10.538439750671387],["▁Community",-10.538684844970703],["▁Jahren",-10.538714408874512],["▁increasing",-10.539575576782227],["▁civil",-10.540184020996094],["app",-10.540573120117188],["▁35",-10.540589332580566],["▁rise",-10.540600776672363],["▁dabei",-10.540989875793457],["▁studio",-10.541803359985352],["▁policies",-10.542054176330566],["▁agent",-10.542055130004883],["▁Before",-10.542601585388184],["▁Cal",-10.543017387390137],["▁2005",-10.543404579162598],["▁sample",-10.543777465820312],["▁manner",-10.545186996459961],["wing",-10.54521369934082],["stra",-10.545552253723145],["▁fel",-10.545793533325195],["▁Show",-10.545952796936035],["▁scene",-10.54656982421875],["mic",-10.546764373779297],["nom",-10.546995162963867],["▁typically",-10.547088623046875],["▁pair",-10.547104835510254],["▁detailed",-10.547394752502441],["▁Work",-10.547422409057617],["▁cities",-10.547451972961426],["▁Rock",-10.54749584197998],["▁Gar",-10.547906875610352],["▁serving",-10.548352241516113],["▁machen",-10.548521995544434],["▁trees",-10.54888916015625],["▁accident",-10.549199104309082],["▁cloud",-10.54920482635498],["▁animals",-10.549297332763672],["▁Den",-10.549897193908691],["▁Wa",-10.54990291595459],["▁suggest",-10.550220489501953],["putting",-10.550407409667969],["▁suite",-10.550434112548828],["▁clearly",-10.550849914550781],["▁net",-10.551287651062012],["▁funding",-10.551506996154785],["▁salt",-10.551935195922852],["▁Men",-10.552119255065918],["ped",-10.552419662475586],["▁Food",-10.553142547607422],["▁leaving",-10.553544998168945],["▁Government",-10.554243087768555],["ick",-10.554381370544434],["▁seat",-10.555121421813965],["▁Los",-10.555183410644531],["▁teacher",-10.555587768554688],["▁iPhone",-10.555693626403809],["▁300",-10.556120872497559],["▁commitment",-10.556180000305176],["▁aspects",-10.556498527526855],["▁previously",-10.55711555480957],["▁cent",-10.5572509765625],["▁Vo",-10.557341575622559],["▁artists",-10.557963371276855],["▁runs",-10.558130264282227],[">",-10.558155059814453],["▁Gi",-10.558273315429688],["▁mar",-10.5585355758667],["!!!",-10.558544158935547],["▁Media",-10.558943748474121],["▁feedback",-10.559109687805176],["▁resolution",-10.559117317199707],["IN",-10.55915641784668],["▁wurden",-10.55952262878418],["▁busy",-10.559832572937012],["▁adult",-10.5600004196167],["29",-10.560487747192383],["elles",-10.561375617980957],["▁closed",-10.561762809753418],["▁trouble",-10.561767578125],["▁rent",-10.561984062194824],["lot",-10.56224536895752],["▁importance",-10.562314987182617],["▁units",-10.56257438659668],["Pro",-10.562713623046875],["▁provider",-10.563005447387695],["▁visual",-10.563288688659668],["IT",-10.563385009765625],["▁diet",-10.563733100891113],["▁appearance",-10.563932418823242],["pin",-10.564576148986816],["▁Din",-10.564760208129883],["▁eating",-10.565516471862793],["Fi",-10.565762519836426],["ball",-10.565765380859375],["är",-10.565861701965332],["ney",-10.565878868103027],["▁records",-10.566070556640625],["▁Fi",-10.566180229187012],["▁faut",-10.566329002380371],["▁CD",-10.566803932189941],["ign",-10.566930770874023],["▁vă",-10.566996574401855],["▁agency",-10.567153930664062],["ierung",-10.567323684692383],["▁Back",-10.567361831665039],["▁windows",-10.567545890808105],["▁pull",-10.567888259887695],["ash",-10.567959785461426],["▁profit",-10.568593978881836],["▁brings",-10.568605422973633],["▁Committee",-10.569122314453125],["▁girl",-10.569174766540527],["▁vehicles",-10.569372177124023],["▁Hier",-10.569567680358887],["ES",-10.569639205932617],["până",-10.569880485534668],["▁Kunden",-10.570380210876465],["pen",-10.570462226867676],["▁explain",-10.570505142211914],["▁cadru",-10.570760726928711],["▁attack",-10.571100234985352],["▁markets",-10.571115493774414],["▁claims",-10.571340560913086],["▁walking",-10.571385383605957],["▁pouv",-10.571528434753418],["low",-10.571642875671387],["▁showed",-10.572114944458008],["▁principal",-10.57211971282959],["▁lucru",-10.572144508361816],["▁precum",-10.572712898254395],["TA",-10.573094367980957],["▁partners",-10.573104858398438],["▁exist",-10.573136329650879],["▁internal",-10.57334041595459],["hen",-10.573945045471191],["▁Master",-10.573966979980469],["unless",-10.574013710021973],["▁doubt",-10.574721336364746],["$",-10.574785232543945],["▁Long",-10.574888229370117],["▁leaves",-10.574907302856445],["allowing",-10.575063705444336],["pol",-10.575272560119629],["▁Up",-10.575491905212402],["▁Contact",-10.576093673706055],["▁practical",-10.57708740234375],["▁suit",-10.57758903503418],["▁Site",-10.577656745910645],["▁formation",-10.57768726348877],["▁signal",-10.578215599060059],["▁approximately",-10.578414916992188],["▁ourselves",-10.578497886657715],["▁colour",-10.578519821166992],["▁species",-10.578530311584473],["▁advance",-10.578753471374512],["▁PM",-10.57891845703125],["ans",-10.579121589660645],["▁locations",-10.579397201538086],["vous",-10.579601287841797],["▁updated",-10.579636573791504],["▁faith",-10.579673767089844],["mus",-10.579740524291992],["▁stores",-10.579863548278809],["heim",-10.580127716064453],["▁suitable",-10.580558776855469],["▁continues",-10.580703735351562],["▁fac",-10.581133842468262],["ever",-10.581156730651855],["▁Bill",-10.581195831298828],["▁chose",-10.58121109008789],["▁inform",-10.581228256225586],["▁environmental",-10.581427574157715],["▁responsibility",-10.58188533782959],["99",-10.582542419433594],["▁competitive",-10.583723068237305],["▁strategies",-10.583903312683105],["▁toujours",-10.584270477294922],["tive",-10.58430290222168],["▁automatically",-10.585600852966309],["▁dress",-10.585609436035156],["▁Minister",-10.585624694824219],["har",-10.586076736450195],["▁Start",-10.586249351501465],["▁=",-10.586563110351562],["▁pattern",-10.58659553527832],["tier",-10.58676528930664],["▁pays",-10.587034225463867],["▁profile",-10.58725357055664],["▁raised",-10.587263107299805],["ange",-10.587288856506348],["▁drink",-10.587762832641602],["▁element",-10.588042259216309],["▁landscape",-10.58875560760498],["▁Tag",-10.589073181152344],["▁cheese",-10.589590072631836],["ific",-10.590009689331055],["▁Stadt",-10.590181350708008],["39",-10.591398239135742],["▁launch",-10.592113494873047],["▁wouldn",-10.592150688171387],["AS",-10.592202186584473],["▁push",-10.593059539794922],["▁mill",-10.593452453613281],["▁mass",-10.593647003173828],["▁category",-10.593790054321289],["sondern",-10.594050407409668],["col",-10.594111442565918],["▁climate",-10.594313621520996],["lier",-10.594437599182129],["▁slightly",-10.595514297485352],["95",-10.596519470214844],["ace",-10.596612930297852],["▁domain",-10.597633361816406],["kan",-10.598306655883789],["▁feed",-10.598485946655273],["▁Live",-10.598837852478027],["▁Mais",-10.599113464355469],["▁après",-10.599365234375],["▁village",-10.59941577911377],["▁hatte",-10.59968090057373],["▁joined",-10.599881172180176],["▁Museum",-10.600311279296875],["head",-10.600855827331543],["▁draw",-10.6009521484375],["▁concerns",-10.600966453552246],["ER",-10.601505279541016],["▁technique",-10.601648330688477],["▁Bio",-10.601861000061035],["▁Sea",-10.601881980895996],["▁@",-10.601927757263184],["wer",-10.6021146774292],["▁battery",-10.602462768554688],["▁mostly",-10.60267448425293],["▁familiar",-10.602680206298828],["▁Sub",-10.602689743041992],["▁delicious",-10.603222846984863],["doch",-10.60326099395752],["60",-10.603395462036133],["▁carte",-10.603611946105957],["▁avut",-10.604146957397461],["▁premium",-10.60460376739502],["▁attempt",-10.604704856872559],["▁Über",-10.60473346710205],["▁combined",-10.604935646057129],["lement",-10.604947090148926],["▁voi",-10.605031967163086],["▁wonder",-10.605376243591309],["▁failure",-10.606106758117676],["which",-10.606147766113281],["esti",-10.606316566467285],["31",-10.606547355651855],["▁sta",-10.606734275817871],["▁transform",-10.60673999786377],["▁license",-10.606743812561035],["▁depending",-10.606758117675781],["▁specifically",-10.606782913208008],["▁OF",-10.60693645477295],["band",-10.606959342956543],["▁Sport",-10.60731315612793],["list",-10.607434272766113],["▁Tour",-10.60753059387207],["▁Israel",-10.607564926147461],["▁filled",-10.607722282409668],["▁manual",-10.60776138305664],["▁watching",-10.608621597290039],["▁rule",-10.608877182006836],["mat",-10.60901927947998],["▁notes",-10.609585762023926],["▁Oh",-10.60960578918457],["▁bereits",-10.609634399414062],["▁foundation",-10.609916687011719],["▁vital",-10.610146522521973],["▁lassen",-10.610747337341309],["▁cât",-10.611162185668945],["▁shipping",-10.611433029174805],["▁registered",-10.611513137817383],["▁jour",-10.612669944763184],["▁island",-10.61276626586914],["▁sets",-10.613068580627441],["▁football",-10.613683700561523],["▁EU",-10.613860130310059],["▁stone",-10.614019393920898],["▁Press",-10.614699363708496],["▁adapt",-10.615066528320312],["ised",-10.615425109863281],["▁thoughts",-10.615434646606445],["▁doors",-10.615851402282715],["€",-10.615954399108887],["▁components",-10.616040229797363],["rig",-10.616332054138184],["▁generation",-10.616585731506348],["▁guess",-10.616700172424316],["cker",-10.61694049835205],["▁realize",-10.617207527160645],["▁Roman",-10.617310523986816],["▁contre",-10.617693901062012],["▁Out",-10.617938995361328],["▁IN",-10.619051933288574],["cip",-10.619085311889648],["59",-10.619330406188965],["▁enhance",-10.619768142700195],["▁battle",-10.61982250213623],["▁monitor",-10.619863510131836],["▁Martin",-10.62045955657959],["▁websites",-10.620461463928223],["▁DE",-10.620599746704102],["▁Festival",-10.620951652526855],["ân",-10.62131118774414],["▁Place",-10.621419906616211],["▁rare",-10.621554374694824],["această",-10.621726989746094],["▁sollte",-10.621731758117676],["▁Read",-10.621816635131836],["ware",-10.622169494628906],["Those",-10.622671127319336],["ende",-10.623543739318848],["▁prix",-10.623835563659668],["▁roman",-10.624101638793945],["▁creation",-10.624224662780762],["▁confidence",-10.624552726745605],["▁Japan",-10.624638557434082],["▁rain",-10.624942779541016],["▁guys",-10.62518310546875],["▁south",-10.625236511230469],["▁trading",-10.625646591186523],["▁€",-10.626100540161133],["▁Film",-10.626341819763184],["▁pana",-10.627065658569336],["▁asemenea",-10.627066612243652],["36",-10.627190589904785],["▁instance",-10.627884864807129],["cou",-10.629385948181152],["▁nun",-10.630074501037598],["▁Pass",-10.630390167236328],["Cette",-10.630579948425293],["▁Network",-10.630876541137695],["▁prime",-10.631010055541992],["▁spiritual",-10.632098197937012],["▁tough",-10.633030891418457],["▁AND",-10.633086204528809],["▁Cat",-10.633601188659668],["▁boat",-10.633611679077148],["▁leads",-10.634864807128906],["▁Germany",-10.63509750366211],["▁valuable",-10.635635375976562],["57",-10.635892868041992],["lect",-10.636148452758789],["▁distribution",-10.636445045471191],["dar",-10.636518478393555],["▁Manager",-10.637701988220215],["cha",-10.637725830078125],["▁obtain",-10.637741088867188],["GB",-10.637908935546875],["▁unor",-10.638079643249512],["schaft",-10.638603210449219],["▁zwischen",-10.638723373413086],["▁winning",-10.639172554016113],["▁suis",-10.639811515808105],["58",-10.640130996704102],["▁Party",-10.640372276306152],["▁ceva",-10.640416145324707],["▁comprehensive",-10.640684127807617],["▁aceste",-10.640726089477539],["▁committed",-10.640726089477539],["▁Hu",-10.641382217407227],["ţ",-10.64149284362793],["▁north",-10.642021179199219],["werk",-10.642542839050293],["▁interface",-10.642794609069824],["▁Valley",-10.64281177520752],["▁anywhere",-10.64281177520752],["▁Only",-10.642851829528809],["TE",-10.643295288085938],["hui",-10.6436767578125],["bus",-10.643951416015625],["vis",-10.6439790725708],["▁Society",-10.645116806030273],["▁reliable",-10.64556884765625],["▁quelques",-10.64563274383545],["tech",-10.646187782287598],["ual",-10.646377563476562],["▁educational",-10.646418571472168],["serv",-10.646490097045898],["▁opinion",-10.646628379821777],["▁appears",-10.646702766418457],["▁count",-10.646795272827148],["irea",-10.646981239318848],["ban",-10.647504806518555],["▁45",-10.647530555725098],["▁contain",-10.647661209106445],["ost",-10.647663116455078],["▁anul",-10.647706031799316],["rien",-10.648159980773926],["gra",-10.648360252380371],["▁counter",-10.648946762084961],["-3",-10.650411605834961],["▁resource",-10.650463104248047],["▁Wo",-10.6505126953125],["▁posts",-10.650618553161621],["▁employee",-10.651320457458496],["rol",-10.651863098144531],["▁ended",-10.651969909667969],["met",-10.653080940246582],["▁meine",-10.653165817260742],["▁reached",-10.653368949890137],["gri",-10.653716087341309],["▁Bra",-10.65374755859375],["▁conduct",-10.654294967651367],["▁housing",-10.654422760009766],["▁tickets",-10.654792785644531],["▁database",-10.655674934387207],["IL",-10.656150817871094],["▁perspective",-10.656359672546387],["▁Har",-10.656404495239258],["▁error",-10.656549453735352],["▁meal",-10.656569480895996],["▁hearing",-10.657238006591797],["▁transition",-10.657302856445312],["▁browser",-10.657609939575195],["▁supported",-10.657609939575195],["▁starts",-10.658814430236816],["țe",-10.658902168273926],["▁adults",-10.658905029296875],["▁România",-10.65917682647705],["dra",-10.659884452819824],["▁worry",-10.660222053527832],["▁avoir",-10.660497665405273],["▁regional",-10.660507202148438],["▁min",-10.660722732543945],["▁Does",-10.660806655883789],["▁Keep",-10.661200523376465],["rom",-10.661237716674805],["sco",-10.661320686340332],["tem",-10.661898612976074],["▁Old",-10.661954879760742],["▁Under",-10.662552833557129],["▁Commission",-10.662557601928711],["▁Bau",-10.6632661819458],["▁News",-10.663358688354492],["▁mois",-10.663444519042969],["▁respond",-10.66356372833252],["▁alles",-10.663878440856934],["▁chair",-10.664475440979004],["▁ho",-10.664854049682617],["right",-10.664908409118652],["▁totally",-10.665532112121582],["gle",-10.665534973144531],["▁32",-10.665604591369629],["66",-10.665664672851562],["town",-10.665902137756348],["Ch",-10.666261672973633],["▁gr",-10.66629695892334],["▁garage",-10.666328430175781],["ții",-10.666495323181152],["▁Union",-10.667136192321777],["ică",-10.667343139648438],["▁2,",-10.668437004089355],["▁reflect",-10.669163703918457],["▁retail",-10.669388771057129],["▁unde",-10.669605255126953],["▁accessible",-10.670262336730957],["water",-10.67059326171875],["▁regard",-10.670710563659668],["▁logo",-10.671489715576172],["▁inspired",-10.671518325805664],["▁Wall",-10.671859741210938],["▁Ste",-10.672093391418457],["▁asking",-10.672179222106934],["▁Journal",-10.673028945922852],["▁Teil",-10.674042701721191],["▁collaboration",-10.674185752868652],["▁acid",-10.674266815185547],["▁Fund",-10.674382209777832],["▁spirit",-10.6744384765625],["despite",-10.674457550048828],["▁delivered",-10.674821853637695],["▁girls",-10.675374984741211],["▁Look",-10.675896644592285],["rant",-10.675949096679688],["▁District",-10.676460266113281],["▁rental",-10.676709175109863],["▁spune",-10.676733016967773],["els",-10.677544593811035],["▁permanent",-10.677659034729004],["▁iron",-10.677709579467773],["▁Thomas",-10.677745819091797],["EL",-10.678071022033691],["▁except",-10.678074836730957],["▁catch",-10.678366661071777],["▁providers",-10.678375244140625],["▁2006",-10.678435325622559],["▁chat",-10.679931640625],["▁emergency",-10.680281639099121],["gre",-10.68030834197998],["site",-10.680888175964355],["▁missing",-10.68089485168457],["abil",-10.680914878845215],["▁Hill",-10.68099594116211],["urs",-10.681312561035156],["▁plusieurs",-10.681716918945312],["▁birthday",-10.681726455688477],["DS",-10.682019233703613],["ersten",-10.682381629943848],["▁5.",-10.68252944946289],["▁library",-10.68333911895752],["▁earth",-10.683515548706055],["CI",-10.683645248413086],["▁lighting",-10.684442520141602],["▁fixed",-10.684879302978516],["tori",-10.684891700744629],["▁replace",-10.684995651245117],["▁administration",-10.685074806213379],["leurs",-10.685229301452637],["▁meat",-10.686142921447754],["▁songs",-10.686662673950195],["▁confirm",-10.686866760253906],["▁rapid",-10.68698787689209],["▁Special",-10.686995506286621],["▁holding",-10.687115669250488],["▁honor",-10.687271118164062],["▁Market",-10.687409400939941],["La",-10.687535285949707],["▁measure",-10.687760353088379],["▁guarantee",-10.68785572052002],["▁switch",-10.68813419342041],["▁extensive",-10.688294410705566],["▁Neu",-10.688674926757812],["avez",-10.688901901245117],["▁protein",-10.688984870910645],["▁infrastructure",-10.689454078674316],["▁functions",-10.689494132995605],["▁cont",-10.689496040344238],["row",-10.689760208129883],["star",-10.689773559570312],["▁Port",-10.690192222595215],["Using",-10.690336227416992],["▁faster",-10.690557479858398],["44",-10.691168785095215],["▁measures",-10.691615104675293],["▁celor",-10.69186019897461],["▁exam",-10.69189739227295],["200",-10.69202995300293],["î",-10.692545890808105],["▁conversation",-10.692832946777344],["▁brands",-10.692959785461426],["▁Code",-10.69359016418457],["▁Website",-10.693748474121094],["OS",-10.693782806396484],["▁alors",-10.693822860717773],["▁organ",-10.694032669067383],["▁removed",-10.694823265075684],["▁Head",-10.694905281066895],["▁Cha",-10.694908142089844],["▁visiting",-10.694928169250488],["▁wild",-10.694928169250488],["▁seit",-10.694962501525879],["49",-10.695109367370605],["▁organic",-10.69539737701416],["aţi",-10.695775032043457],["▁kit",-10.695947647094727],["68",-10.695959091186523],["▁flowers",-10.696124076843262],["▁appreciate",-10.697006225585938],["▁dead",-10.697439193725586],["▁Fire",-10.697539329528809],["▁cela",-10.697591781616211],["▁Ph",-10.697633743286133],["▁arrive",-10.697921752929688],["▁purposes",-10.698213577270508],["▁qualité",-10.698226928710938],["▁restaurants",-10.698478698730469],["▁advertising",-10.698541641235352],["cur",-10.69855785369873],["▁ça",-10.698973655700684],["▁introduced",-10.699088096618652],["▁returned",-10.699111938476562],["▁desire",-10.699511528015137],["▁soul",-10.699983596801758],["▁Technology",-10.699994087219238],[");",-10.700163841247559],["▁Royal",-10.700282096862793],["tant",-10.70068645477295],["▁possibly",-10.700702667236328],["▁consumers",-10.700812339782715],["▁doua",-10.70097541809082],["ified",-10.70097827911377],["▁Award",-10.70114803314209],["toutes",-10.70130443572998],["▁meant",-10.701325416564941],["ezi",-10.701616287231445],["▁plu",-10.701766014099121],["ţii",-10.7021484375],["▁talent",-10.702789306640625],["▁Security",-10.703309059143066],["arii",-10.703352928161621],["▁zi",-10.703455924987793],["▁Shop",-10.703667640686035],["▁breakfast",-10.704107284545898],["▁trial",-10.704485893249512],["ami",-10.704936981201172],["▁register",-10.705301284790039],["unserer",-10.705646514892578],["▁solar",-10.705697059631348],["▁deals",-10.70591926574707],["▁Ku",-10.7059326171875],["To",-10.706186294555664],["bat",-10.70680046081543],["MC",-10.707010269165039],["▁Global",-10.707018852233887],["у",-10.707405090332031],["▁nor",-10.707818984985352],["▁milk",-10.707868576049805],["▁choices",-10.708206176757812],["»",-10.7086763381958],["▁Sur",-10.708695411682129],["more",-10.708739280700684],["48",-10.709024429321289],["67",-10.709375381469727],["▁replacement",-10.709942817687988],["34",-10.710440635681152],["▁chocolate",-10.710485458374023],["▁Family",-10.71059513092041],["This",-10.71122932434082],["▁novel",-10.711435317993164],["▁Chicago",-10.711563110351562],["▁participate",-10.71166706085205],["▁trei",-10.712727546691895],["▁monthly",-10.713729858398438],["▁survey",-10.713977813720703],["▁End",-10.714285850524902],["▁Medical",-10.71442699432373],["autres",-10.714678764343262],["rich",-10.714698791503906],["▁bike",-10.714703559875488],["▁eventually",-10.714717864990234],["▁HD",-10.714722633361816],["bil",-10.714744567871094],["cent",-10.714902877807617],["▁afin",-10.715676307678223],["▁surgery",-10.716160774230957],["▁sin",-10.716455459594727],["▁manufacturing",-10.716955184936523],["▁consumer",-10.717245101928711],["system",-10.717306137084961],["▁object",-10.717400550842285],["▁Ju",-10.717422485351562],["ered",-10.7178373336792],["rac",-10.718070030212402],["▁clinical",-10.718664169311523],["▁dollars",-10.719761848449707],["▁chain",-10.71994686126709],["▁afternoon",-10.720196723937988],["▁ligne",-10.720422744750977],["▁accounts",-10.721806526184082],["ving",-10.722037315368652],["▁Australian",-10.72240924835205],["38",-10.722542762756348],["▁persoane",-10.72258472442627],["▁grande",-10.722668647766113],["▁Report",-10.723472595214844],["▁revenue",-10.723649024963379],["▁spre",-10.723760604858398],["▁cutting",-10.7239990234375],["▁approved",-10.724133491516113],["▁glad",-10.724188804626465],["chaque",-10.724395751953125],["win",-10.724435806274414],["▁waren",-10.724733352661133],["▁launched",-10.725071907043457],["▁layer",-10.725645065307617],["▁airport",-10.725716590881348],["▁effectively",-10.72572135925293],["▁coach",-10.725946426391602],["dé",-10.726130485534668],["LE",-10.72627067565918],["▁müssen",-10.726386070251465],["plan",-10.726641654968262],["dan",-10.726705551147461],["55",-10.726786613464355],["bringing",-10.726895332336426],["▁$2",-10.726995468139648],["nce",-10.727181434631348],["▁inspiration",-10.728177070617676],["You",-10.728657722473145],["▁soll",-10.729095458984375],["▁seemed",-10.729595184326172],["▁flight",-10.729687690734863],["▁prima",-10.729883193969727],["▁Welt",-10.730123519897461],["▁jetzt",-10.730315208435059],["ky",-10.730428695678711],["▁Western",-10.73054027557373],["▁label",-10.730600357055664],["▁möglich",-10.73081111907959],["▁input",-10.730862617492676],["▁laws",-10.730995178222656],["▁personnes",-10.731708526611328],["▁paying",-10.731731414794922],["▁Uhr",-10.73173713684082],["▁Mary",-10.731745719909668],["pur",-10.73190689086914],["▁covers",-10.732133865356445],["▁throw",-10.732522964477539],["▁Tor",-10.733281135559082],["▁bat",-10.73355484008789],["▁Gr",-10.73373031616211],["▁farm",-10.73376178741455],["▁improved",-10.733843803405762],["▁fără",-10.734286308288574],["▁theme",-10.73437213897705],["pens",-10.734865188598633],["▁Cup",-10.734975814819336],["▁settings",-10.735114097595215],["▁hire",-10.735234260559082],["▁massive",-10.735248565673828],["▁generate",-10.735405921936035],["▁earn",-10.735837936401367],["▁tab",-10.736431121826172],["For",-10.736616134643555],["gang",-10.736891746520996],["▁hin",-10.73709487915039],["▁roll",-10.737113952636719],["▁engagement",-10.737157821655273],["▁signed",-10.737177848815918],["▁League",-10.737323760986328],["▁registration",-10.737931251525879],["▁première",-10.738763809204102],["isse",-10.73896598815918],["▁university",-10.739027976989746],["ell",-10.739157676696777],["▁nou",-10.739169120788574],["rog",-10.739191055297852],["▁sitting",-10.739206314086914],["▁cazul",-10.739571571350098],["▁surrounding",-10.73983383178711],["▁Asia",-10.740357398986816],["▁bath",-10.740825653076172],["hal",-10.740923881530762],["▁plate",-10.741026878356934],["▁tests",-10.741151809692383],["▁presentation",-10.741156578063965],["▁chicken",-10.741501808166504],["▁Val",-10.741586685180664],["ably",-10.74166488647461],["▁magazine",-10.741697311401367],["▁Maybe",-10.74187183380127],["▁sauce",-10.742673873901367],["TC",-10.742887496948242],["▁exclusive",-10.74296760559082],["86",-10.74306869506836],["▁teeth",-10.743474960327148],["▁regularly",-10.743524551391602],["sed",-10.743824005126953],["gro",-10.744174003601074],["He",-10.744211196899414],["▁2017.",-10.744302749633789],["▁template",-10.74489688873291],["▁gleich",-10.744938850402832],["bal",-10.745061874389648],["▁African",-10.74511432647705],["în",-10.745231628417969],["▁rep",-10.74543571472168],["▁beat",-10.74588394165039],["▁deck",-10.746064186096191],["▁intended",-10.746221542358398],["▁para",-10.746513366699219],["▁IP",-10.746712684631348],["▁bra",-10.746881484985352],["▁forces",-10.746966361999512],["▁routine",-10.747184753417969],["▁Jahre",-10.747758865356445],["▁Bad",-10.74797534942627],["▁drivers",-10.748074531555176],["▁updates",-10.748095512390137],["▁elegant",-10.748279571533203],["▁external",-10.748444557189941],["▁engineering",-10.748819351196289],["ender",-10.749544143676758],["table",-10.749755859375],["inter",-10.749878883361816],["▁Romania",-10.749948501586914],["▁zile",-10.750468254089355],["▁luxury",-10.750570297241211],["▁calling",-10.750750541687012],["▁cooking",-10.75101375579834],["▁component",-10.75114631652832],["wan",-10.75121021270752],["schen",-10.751212120056152],["▁birth",-10.751242637634277],["asupra",-10.751349449157715],["Co",-10.751471519470215],["▁opt",-10.75153923034668],["▁discovered",-10.751860618591309],["▁teach",-10.752084732055664],["▁Son",-10.75234317779541],["▁guest",-10.752384185791016],["▁dogs",-10.752695083618164],["▁2003",-10.752745628356934],["▁behavior",-10.752750396728516],["pé",-10.7529935836792],["63",-10.75316333770752],["▁Human",-10.753702163696289],["▁expression",-10.754800796508789],["▁nevoie",-10.754936218261719],["▁recherche",-10.75528621673584],["ging",-10.755767822265625],["related",-10.755948066711426],["▁discount",-10.756040573120117],["▁Brown",-10.756054878234863],["▁Such",-10.756107330322266],["▁Ve",-10.757149696350098],["▁height",-10.757265090942383],["clo",-10.757414817810059],["▁incredible",-10.757912635803223],["▁bas",-10.757916450500488],["▁mă",-10.75798225402832],["▁purchased",-10.758240699768066],["▁compte",-10.75831127166748],["▁instructions",-10.758537292480469],["▁Instead",-10.75866985321045],["▁output",-10.758706092834473],["▁mom",-10.758886337280273],["DR",-10.759828567504883],["89",-10.760168075561523],["▁reduced",-10.760621070861816],["98",-10.7606840133667],["▁constant",-10.760879516601562],["▁therapy",-10.762417793273926],["▁capable",-10.762757301330566],["mark",-10.763265609741211],["▁Sometimes",-10.76332950592041],["▁joy",-10.763419151306152],["▁perfectly",-10.763589859008789],["▁painting",-10.763704299926758],["avait",-10.763765335083008],["▁Sha",-10.764384269714355],["▁dat",-10.764463424682617],["▁produits",-10.764479637145996],["tric",-10.76456356048584],["ierte",-10.765153884887695],["▁Smith",-10.765836715698242],["▁trebui",-10.766264915466309],["▁beaucoup",-10.766630172729492],["▁chosen",-10.767189025878906],["▁cre",-10.76732063293457],["▁complet",-10.767341613769531],["▁Ltd",-10.767599105834961],["▁recovery",-10.76781940460205],["▁district",-10.768423080444336],["78",-10.768640518188477],["▁Unter",-10.76872730255127],["▁schnell",-10.768729209899902],["▁apart",-10.768943786621094],["▁phase",-10.76894760131836],["▁seeking",-10.769091606140137],["▁mark",-10.769148826599121],["▁pet",-10.769233703613281],["▁PDF",-10.769296646118164],["▁efficiency",-10.769577980041504],["▁buildings",-10.769611358642578],["69",-10.769723892211914],["▁sens",-10.769858360290527],["▁Video",-10.770115852355957],["▁destination",-10.770181655883789],["▁female",-10.770319938659668],["▁supporting",-10.770674705505371],["▁signs",-10.77077865600586],["▁appeal",-10.770784378051758],["76",-10.77110481262207],["▁favourite",-10.771612167358398],["ock",-10.771702766418457],["▁readers",-10.771757125854492],["▁Did",-10.771868705749512],["rou",-10.772045135498047],["PA",-10.77222728729248],["▁Jean",-10.772480964660645],["▁Em",-10.772586822509766],["pass",-10.77280330657959],["▁Zi",-10.773090362548828],["▁între",-10.773261070251465],["▁fly",-10.773427963256836],["mos",-10.773666381835938],["▁emotional",-10.773860931396484],["asse",-10.774768829345703],["▁sessions",-10.775086402893066],["▁symptoms",-10.77564811706543],["▁died",-10.776217460632324],["▁seconds",-10.776628494262695],["▁procedure",-10.777206420898438],["▁express",-10.777420997619629],["▁două",-10.777885437011719],["▁valid",-10.778393745422363],["▁euro",-10.7788667678833],["▁interests",-10.779032707214355],["Having",-10.779237747192383],["▁hundreds",-10.779669761657715],["grad",-10.780023574829102],["▁neuen",-10.780084609985352],["▁cook",-10.780552864074707],["▁pur",-10.780834197998047],["▁charges",-10.781024932861328],["sche",-10.78118896484375],["▁smile",-10.781468391418457],["▁festival",-10.781611442565918],["cho",-10.781672477722168],["▁£",-10.781937599182129],["cht",-10.78201675415039],["▁macht",-10.782021522521973],["▁Wasser",-10.782028198242188],["▁Cap",-10.78226375579834],["▁Learn",-10.78274154663086],["▁load",-10.783162117004395],["▁aici",-10.783225059509277],["▁Ch",-10.784143447875977],["▁cycle",-10.784223556518555],["▁carried",-10.784337997436523],["▁jusqu",-10.784517288208008],["stein",-10.78505802154541],["ski",-10.78513240814209],["cap",-10.78579330444336],["▁Bal",-10.785852432250977],["▁minor",-10.786053657531738],["77",-10.786175727844238],["▁considering",-10.78632640838623],["innen",-10.78644847869873],["▁greatest",-10.787055015563965],["▁Training",-10.787137031555176],["08",-10.787307739257812],["▁significantly",-10.787607192993164],["gé",-10.787728309631348],["▁dumpster",-10.788351058959961],["▁allem",-10.788930892944336],["▁bonus",-10.7889404296875],["▁guy",-10.789036750793457],["fel",-10.78904914855957],["▁lifestyle",-10.789241790771484],["▁Bro",-10.78961181640625],["▁implement",-10.789687156677246],["lock",-10.790046691894531],["▁Earth",-10.790142059326172],["kar",-10.790733337402344],["▁invest",-10.790833473205566],["▁river",-10.790933609008789],["▁accurate",-10.791494369506836],["▁mu",-10.791579246520996],["▁celebrate",-10.792119979858398],["▁ran",-10.79256820678711],["▁bigger",-10.792988777160645],["▁Mer",-10.793476104736328],["▁millions",-10.793486595153809],["▁partie",-10.793563842773438],["▁dazu",-10.793951988220215],["▁Full",-10.794130325317383],["gie",-10.794207572937012],["bot",-10.794373512268066],["roll",-10.79472827911377],["▁Women",-10.795303344726562],["▁compare",-10.796135902404785],["▁van",-10.796503067016602],["▁apps",-10.796521186828613],["PC",-10.797050476074219],["▁drei",-10.79736042022705],["▁maison",-10.797588348388672],["▁knows",-10.797712326049805],["rid",-10.797972679138184],["62",-10.798396110534668],["class",-10.798508644104004],["▁chez",-10.798669815063477],["char",-10.798828125],["88",-10.798989295959473],["▁cast",-10.79948902130127],["▁examples",-10.79973030090332],["▁Therefore",-10.799823760986328],["▁topics",-10.799941062927246],["with",-10.80013656616211],["▁Anti",-10.800555229187012],["how",-10.800620079040527],["▁whom",-10.80094051361084],["▁Deutschland",-10.801124572753906],["tine",-10.80113697052002],["▁CEO",-10.801224708557129],["▁truck",-10.801350593566895],["▁Which",-10.8015718460083],["erie",-10.802017211914062],["fect",-10.802069664001465],["bou",-10.8026762008667],["▁(1",-10.802818298339844],["sum",-10.802980422973633],["▁bonne",-10.803068161010742],["▁remaining",-10.80321216583252],["▁equal",-10.803543090820312],["▁engage",-10.803561210632324],["▁RE",-10.803849220275879],["style",-10.804182052612305],["▁urma",-10.804337501525879],["▁Grund",-10.80496883392334],["ür",-10.8051176071167],["▁font",-10.805353164672852],["▁assets",-10.805916786193848],["AL",-10.806102752685547],["▁rear",-10.80635929107666],["▁contemporary",-10.80646800994873],["▁occur",-10.8067045211792],["rated",-10.806941986083984],["▁tight",-10.807088851928711],["▁machines",-10.807921409606934],["▁0.",-10.808456420898438],["▁Aber",-10.808470726013184],["sol",-10.808517456054688],["rü",-10.80858039855957],["▁2007",-10.809479713439941],["gg",-10.809488296508789],["▁unul",-10.809691429138184],["▁était",-10.809908866882324],["▁capture",-10.809980392456055],["▁command",-10.810037612915039],["▁wire",-10.810425758361816],["▁shift",-10.810762405395508],["▁bread",-10.81084156036377],["▁causes",-10.810937881469727],["PI",-10.810938835144043],["SC",-10.811086654663086],["▁lights",-10.811190605163574],["▁lived",-10.811293601989746],["mul",-10.811446189880371],["▁Cur",-10.811917304992676],["▁Richard",-10.811973571777344],["37",-10.812638282775879],["▁cup",-10.812737464904785],["▁fields",-10.812983512878418],["▁crusher",-10.813389778137207],["65",-10.813774108886719],["avons",-10.813822746276855],["▁gear",-10.813835144042969],["▁standing",-10.813844680786133],["▁thick",-10.81445026397705],["aff",-10.815132141113281],["ments",-10.815434455871582],["▁conflict",-10.815728187561035],["ität",-10.815825462341309],["▁worse",-10.816295623779297],["SE",-10.816332817077637],["imi",-10.816459655761719],["▁dating",-10.817033767700195],["Do",-10.817073822021484],["▁flexible",-10.817093849182129],["ologie",-10.817131996154785],["SU",-10.817200660705566],["▁contribute",-10.817306518554688],["▁denn",-10.817428588867188],["▁appointment",-10.81746768951416],["▁ticket",-10.817523002624512],["bed",-10.817892074584961],["▁2019.",-10.817936897277832],["▁tasks",-10.81871223449707],["▁carbon",-10.818734169006348],["▁situations",-10.819400787353516],["MA",-10.819402694702148],["▁portion",-10.819498062133789],["▁urban",-10.819585800170898],["▁Canadian",-10.819805145263672],["▁Bur",-10.819937705993652],["▁pack",-10.81995964050293],["▁effet",-10.819992065429688],["▁Ball",-10.82008171081543],["▁timpul",-10.82014274597168],["▁owned",-10.820211410522461],["▁surprise",-10.820413589477539],["▁Mu",-10.820582389831543],["▁decades",-10.821001052856445],["▁affected",-10.821728706359863],["▁proven",-10.821732521057129],["▁Fe",-10.821990966796875],["zy",-10.822042465209961],["42",-10.822175979614258],["▁trend",-10.8223876953125],["▁autres",-10.82262897491455],["No",-10.823028564453125],["▁nine",-10.823565483093262],["ON",-10.82376480102539],["NE",-10.823953628540039],["oli",-10.824359893798828],["▁Daniel",-10.824434280395508],["▁spa",-10.824939727783203],["▁messages",-10.825084686279297],["PS",-10.825183868408203],["47",-10.825703620910645],["▁doch",-10.826032638549805],["▁improvement",-10.826187133789062],["▁mountain",-10.826350212097168],["▁Room",-10.826451301574707],["▁edition",-10.826546669006348],["▁musical",-10.826712608337402],["CP",-10.827024459838867],["▁Mill",-10.827027320861816],["▁steht",-10.827740669250488],["▁determined",-10.828083038330078],["you",-10.828392028808594],["weg",-10.828554153442383],["▁Digital",-10.828624725341797],["▁filter",-10.828903198242188],["▁youth",-10.829047203063965],["▁assessment",-10.829301834106445],["▁butter",-10.829370498657227],["▁Watch",-10.829427719116211],["▁zusammen",-10.829471588134766],["▁View",-10.829606056213379],["09",-10.829649925231934],["▁sole",-10.829816818237305],[".00",-10.830018997192383],["33",-10.83015251159668],["▁export",-10.830229759216309],["ery",-10.830373764038086],["▁zurück",-10.830426216125488],["▁walls",-10.83048152923584],["▁recognize",-10.8306884765625],["law",-10.830801963806152],["▁parent",-10.830863952636719],["ST",-10.831357955932617],["▁description",-10.831669807434082],["MS",-10.831887245178223],["SM",-10.83189582824707],["▁Finally",-10.831940650939941],["▁hardware",-10.831965446472168],["ident",-10.832464218139648],["▁brown",-10.832566261291504],["▁kinds",-10.832950592041016],["▁Arts",-10.83297061920166],["▁concert",-10.83341121673584],["▁sec",-10.83342456817627],["▁represent",-10.833512306213379],["▁institutions",-10.833597183227539],["▁fur",-10.833998680114746],["▁Support",-10.83403205871582],["87",-10.834076881408691],["▁ease",-10.834178924560547],["▁feels",-10.834218978881836],["▁sheet",-10.834342002868652],["▁Though",-10.83437442779541],["▁propose",-10.834381103515625],["▁personnel",-10.834409713745117],["bie",-10.834794044494629],["▁contest",-10.834836959838867],["▁successfully",-10.835152626037598],["▁direkt",-10.835397720336914],["bietet",-10.835597038269043],["▁submit",-10.835888862609863],["▁sicher",-10.835919380187988],["▁Personal",-10.83607006072998],["94",-10.836341857910156],["61",-10.836400985717773],["▁Very",-10.836540222167969],["bol",-10.836603164672852],["▁ha",-10.837089538574219],["▁channel",-10.8372220993042],["mut",-10.837289810180664],["▁mouth",-10.837342262268066],["▁vast",-10.837395668029785],["▁Ob",-10.837569236755371],["lit",-10.83763313293457],["▁poly",-10.837878227233887],["▁trained",-10.838102340698242],["▁specialist",-10.838122367858887],["UL",-10.83822250366211],["▁seiner",-10.838336944580078],["SS",-10.838627815246582],["▁vacation",-10.838672637939453],["▁resume",-10.839157104492188],["▁constantly",-10.839717864990234],["▁treated",-10.83986759185791],["▁150",-10.840936660766602],["▁native",-10.841246604919434],["▁Russian",-10.841329574584961],["▁patterns",-10.841371536254883],["▁knowing",-10.841670989990234],["▁Pan",-10.841682434082031],["peri",-10.841848373413086],["aci",-10.841864585876465],["▁answers",-10.842114448547363],["▁heute",-10.842985153198242],["93",-10.843056678771973],["▁Winter",-10.844083786010742],["▁yes",-10.844173431396484],["SP",-10.844185829162598],["].",-10.844388008117676],["▁kein",-10.844862937927246],["▁introduce",-10.8450927734375],["-4",-10.84555435180664],["▁shoot",-10.845762252807617],["AR",-10.84576416015625],["▁receiving",-10.845864295959473],["▁intre",-10.84702205657959],["▁appeared",-10.84708023071289],["▁brother",-10.847321510314941],["▁extend",-10.847765922546387],["▁fara",-10.848737716674805],["▁kommt",-10.848876953125],["ali",-10.848913192749023],["▁numai",-10.849047660827637],["▁scientific",-10.84913158416748],["▁virtual",-10.849145889282227],["▁Ac",-10.849513053894043],["▁procedures",-10.849631309509277],["▁silver",-10.849821090698242],["▁leather",-10.849979400634766],["DA",-10.85014820098877],["▁executive",-10.850263595581055],["▁officials",-10.850496292114258],["▁agencies",-10.850503921508789],["▁Software",-10.850540161132812],["▁cor",-10.850690841674805],["Con",-10.850741386413574],["▁log",-10.851066589355469],["ț",-10.851147651672363],["02",-10.851195335388184],["▁7.",-10.85245132446289],["▁accepted",-10.852483749389648],["▁Berlin",-10.852538108825684],["ID",-10.852582931518555],["cot",-10.852788925170898],["▁employment",-10.852799415588379],["run",-10.853020668029785],["▁identified",-10.853178977966309],["96",-10.853887557983398],["▁déjà",-10.853944778442383],["▁cuisine",-10.853952407836914],["turi",-10.854070663452148],["▁Japanese",-10.854316711425781],["▁golf",-10.854514122009277],["▁Ki",-10.854787826538086],["▁carefully",-10.854863166809082],["▁remote",-10.854973793029785],["▁2018,",-10.855148315429688],["▁sus",-10.855154991149902],["tique",-10.855293273925781],["▁residential",-10.855695724487305],["97",-10.855809211730957],["▁Spring",-10.855908393859863],["▁Marketing",-10.856186866760254],["▁Control",-10.85630989074707],["var",-10.856344223022461],["▁historical",-10.8563814163208],["▁freedom",-10.856423377990723],["sure",-10.856426239013672],["▁broken",-10.856796264648438],["▁criminal",-10.856949806213379],["▁innovation",-10.857075691223145],["▁Italian",-10.857192039489746],["sper",-10.857282638549805],["▁cake",-10.857653617858887],["▁candidates",-10.857894897460938],["▁sizes",-10.858267784118652],["pel",-10.858366966247559],["▁frequently",-10.85889720916748],["▁planet",-10.859138488769531],["▁writer",-10.859519958496094],["1,",-10.859569549560547],["uvent",-10.85959529876709],["▁awareness",-10.859807968139648],["name",-10.859954833984375],["▁Children",-10.859980583190918],["▁relatively",-10.860311508178711],["▁pu",-10.860321998596191],["▁quiet",-10.86038875579834],["▁planned",-10.860716819763184],["▁election",-10.861419677734375],["▁6.",-10.861761093139648],["▁broad",-10.861772537231445],["▁skill",-10.861835479736328],["▁reasonable",-10.862037658691406],["▁Fort",-10.862283706665039],["▁aceea",-10.862407684326172],["▁arrived",-10.86263370513916],["▁payments",-10.862680435180664],["ack",-10.862700462341309],["▁Ort",-10.863354682922363],["▁investors",-10.863364219665527],["▁operate",-10.86351203918457],["ME",-10.863556861877441],["dic",-10.863683700561523],["▁foods",-10.863731384277344],["▁stick",-10.863831520080566],["▁agents",-10.86412525177002],["▁crowd",-10.864175796508789],["▁Students",-10.864480972290039],["▁concerned",-10.864609718322754],["test",-10.864740371704102],["▁designer",-10.865334510803223],["▁Conference",-10.865593910217285],["▁saving",-10.866105079650879],["▁recorded",-10.866422653198242],["▁proposed",-10.866564750671387],["▁ship",-10.86657428741455],["▁cred",-10.867274284362793],["▁Ci",-10.867440223693848],["RE",-10.867619514465332],["▁tradition",-10.867753982543945],["▁worldwide",-10.867779731750488],["64",-10.867944717407227],["▁television",-10.867989540100098],["▁projet",-10.868102073669434],["ency",-10.868487358093262],["▁struggle",-10.868514060974121],["▁twice",-10.868955612182617],["▁Off",-10.869234085083008],["▁begins",-10.869577407836914],["key",-10.869794845581055],["▁Table",-10.869963645935059],["▁demande",-10.870177268981934],["▁liquid",-10.870441436767578],["meter",-10.870684623718262],["▁2001",-10.871190071105957],["▁willing",-10.871660232543945],["▁medicine",-10.871707916259766],["▁expand",-10.871747970581055],["▁2004",-10.871804237365723],["▁2002",-10.872016906738281],["▁accord",-10.872292518615723],["▁Chris",-10.872446060180664],["▁prove",-10.872543334960938],["ston",-10.872740745544434],["mettre",-10.872800827026367],["▁moments",-10.873537063598633],["tik",-10.87368392944336],["such",-10.874055862426758],["2.",-10.874431610107422],["▁UN",-10.874561309814453],["▁jump",-10.874737739562988],["▁dish",-10.87539291381836],["▁Key",-10.875663757324219],["▁challenging",-10.875975608825684],["▁domestic",-10.876410484313965],["▁impressive",-10.876752853393555],["iger",-10.877022743225098],["▁Ram",-10.877157211303711],["▁doit",-10.877263069152832],["▁concrete",-10.87734317779541],["▁Unternehmen",-10.877397537231445],["▁LED",-10.877429008483887],["▁trouver",-10.877533912658691],["▁fundamental",-10.877875328063965],["▁implementation",-10.878121376037598],["85",-10.878247261047363],["▁hosting",-10.87856388092041],["▁Game",-10.878691673278809],["▁taught",-10.878981590270996],["tung",-10.879016876220703],["ront",-10.87940502166748],["▁shoes",-10.879639625549316],["79",-10.8797607421875],["▁stunning",-10.879778861999512],["▁Congress",-10.880142211914062],["▁Ent",-10.880278587341309],["▁Wer",-10.880607604980469],["▁alt",-10.880608558654785],["ör",-10.880699157714844],["▁calm",-10.8808012008667],["46",-10.881132125854492],["▁Daca",-10.881404876708984],["71",-10.881938934326172],["▁Dec",-10.882392883300781],["▁Fo",-10.882437705993652],["▁defense",-10.88313102722168],["▁expectations",-10.883166313171387],["▁Alle",-10.88318920135498],["▁brief",-10.883691787719727],["▁Hospital",-10.883975982666016],["▁sides",-10.884121894836426],["▁yellow",-10.884140014648438],["lei",-10.88451862335205],["▁speaking",-10.884589195251465],["▁crucial",-10.885198593139648],["▁Town",-10.8854341506958],["▁married",-10.885574340820312],["▁acesta",-10.885583877563477],["▁noted",-10.885611534118652],["▁Word",-10.885659217834473],["▁conducted",-10.885963439941406],["▁decor",-10.886249542236328],["kon",-10.886565208435059],["▁supplies",-10.8866605758667],["▁adventure",-10.886691093444824],["▁exhibition",-10.887163162231445],["heit",-10.887300491333008],["▁36",-10.88744831085205],["eria",-10.887505531311035],["ines",-10.887551307678223],["ological",-10.887582778930664],["quel",-10.88806438446045],["▁Van",-10.88825511932373],["-19",-10.88853645324707],["2,",-10.888566970825195],["▁Band",-10.888989448547363],["▁soil",-10.889184951782227],["▁Tim",-10.889599800109863],["▁NOT",-10.88968563079834],["▁pilot",-10.889753341674805],["▁Sh",-10.889774322509766],["Ho",-10.890361785888672],["CA",-10.890509605407715],["▁Eu",-10.890745162963867],["▁committee",-10.890829086303711],["▁Store",-10.891075134277344],["▁joint",-10.89111614227295],["▁Op",-10.891315460205078],["▁Jack",-10.891985893249512],["quality",-10.89216423034668],["▁Has",-10.892489433288574],["▁wenig",-10.892507553100586],["hood",-10.892545700073242],["▁Class",-10.892582893371582],["rus",-10.892773628234863],["▁grown",-10.89294719696045],["▁About",-10.893518447875977],["▁sum",-10.893942832946777],["▁Fair",-10.893946647644043],["SA",-10.894149780273438],["92",-10.894185066223145],["▁fourth",-10.894354820251465],["▁featured",-10.894384384155273],["▁Pen",-10.89444637298584],["▁natürlich",-10.894885063171387],["ched",-10.894901275634766],["▁ban",-10.895112991333008],["anne",-10.89522647857666],["▁theory",-10.895413398742676],["bin",-10.895438194274902],["iers",-10.895819664001465],["▁strategic",-10.895903587341309],["▁jours",-10.895956039428711],["▁communicate",-10.896124839782715],["▁pin",-10.896320343017578],["▁Bon",-10.89721393585205],["kom",-10.897290229797363],["-5",-10.898177146911621],["▁degrees",-10.898643493652344],["▁entertainment",-10.899014472961426],["ară",-10.899248123168945],["ales",-10.899425506591797],["▁pendant",-10.89954662322998],["▁Series",-10.899575233459473],["▁holds",-10.899592399597168],["▁Mini",-10.899828910827637],["▁Obama",-10.899898529052734],["▁conform",-10.900163650512695],["-10",-10.900216102600098],["▁preparation",-10.9009370803833],["▁autre",-10.90105152130127],["▁mortgage",-10.901155471801758],["▁Kan",-10.901508331298828],["▁typical",-10.901538848876953],["01",-10.901711463928223],["▁Review",-10.901862144470215],["▁laptop",-10.902127265930176],["CR",-10.902610778808594],["▁thread",-10.90265941619873],["BS",-10.902661323547363],["▁upper",-10.902700424194336],["▁searching",-10.902932167053223],["▁pen",-10.903214454650879],["▁Middle",-10.90333080291748],["73",-10.903359413146973],["▁leg",-10.903650283813477],["onic",-10.904272079467773],["IS",-10.904356956481934],["▁Kar",-10.904623985290527],["anz",-10.9046630859375],["▁circuit",-10.904901504516602],["▁Casino",-10.905384063720703],["07",-10.90584659576416],["▁petit",-10.905906677246094],["TV",-10.905978202819824],["level",-10.906311988830566],["▁Point",-10.906312942504883],["rau",-10.906474113464355],["▁cabinet",-10.906991958618164],["▁failed",-10.907042503356934],["▁stated",-10.907126426696777],["LA",-10.907461166381836],["▁privacy",-10.907596588134766],["vol",-10.907901763916016],["ativ",-10.908151626586914],["▁matters",-10.908210754394531],["▁Mor",-10.908555030822754],["▁Ur",-10.90860652923584],["view",-10.908968925476074],["▁consultation",-10.90921688079834],["TS",-10.909296989440918],["▁apartment",-10.909412384033203],["▁integrated",-10.909425735473633],["74",-10.909669876098633],["▁Through",-10.909710884094238],["▁kick",-10.909798622131348],["▁perioada",-10.90993881225586],["▁entirely",-10.909953117370605],["▁impossible",-10.91015911102295],["▁consideration",-10.910268783569336],["▁Alt",-10.91054916381836],["▁Come",-10.911089897155762],["▁outstanding",-10.911276817321777],["83",-10.911727905273438],["▁prezent",-10.911859512329102],["▁Local",-10.911993980407715],["▁Camp",-10.912056922912598],["▁bear",-10.912067413330078],["enden",-10.912262916564941],["life",-10.91236686706543],["▁Haus",-10.912516593933105],["▁William",-10.912644386291504],["“,",-10.912665367126465],["▁Instagram",-10.91285514831543],["▁solve",-10.913195610046387],["▁Ze",-10.913431167602539],["▁everyday",-10.91357135772705],["bla",-10.913615226745605],["eng",-10.913662910461426],["ough",-10.914246559143066],["84",-10.914483070373535],["?\"",-10.914599418640137],["rely",-10.91476821899414],["TH",-10.914841651916504],["lang",-10.91511058807373],["82",-10.915817260742188],["▁removal",-10.91589641571045],["ală",-10.915956497192383],["▁circumstances",-10.916097640991211],["ente",-10.91622257232666],["▁lieu",-10.91645336151123],["▁2016.",-10.91710376739502],["▁ales",-10.917342185974121],["▁pure",-10.917482376098633],["▁choosing",-10.917590141296387],["▁Russia",-10.917698860168457],["amp",-10.917703628540039],["▁Santa",-10.91788387298584],["▁happening",-10.918203353881836],["▁crew",-10.91822338104248],["▁lei",-10.91855239868164],["IP",-10.91858196258545],["RO",-10.919425964355469],["▁resort",-10.919514656066895],["ened",-10.919689178466797],["MB",-10.920031547546387],["▁styles",-10.920052528381348],["▁dernier",-10.920533180236816],["uck",-10.920699119567871],["▁Guide",-10.920710563659668],["fic",-10.92096996307373],["▁fitness",-10.921977996826172],["▁healthcare",-10.92223072052002],["mol",-10.92237663269043],["▁vis",-10.922721862792969],["▁atmosphere",-10.922972679138184],["▁motion",-10.922989845275879],["▁closer",-10.923114776611328],["▁SA",-10.92335319519043],["▁default",-10.923371315002441],["▁architecture",-10.923471450805664],["iile",-10.923528671264648],["zel",-10.923675537109375],["cla",-10.92387866973877],["OP",-10.924382209777832],["▁west",-10.924965858459473],["▁Energy",-10.925613403320312],["▁positions",-10.925777435302734],["▁contrast",-10.925885200500488],["▁serves",-10.92605972290039],["cup",-10.926340103149414],["▁rose",-10.926485061645508],["pers",-10.92664623260498],["▁noise",-10.926846504211426],["mont",-10.92690658569336],["#",-10.927061080932617],["lies",-10.927326202392578],["pat",-10.927718162536621],["IC",-10.927956581115723],["arc",-10.927989959716797],["▁winner",-10.928524017333984],["tent",-10.928732872009277],["▁Preis",-10.929106712341309],["▁vin",-10.929254531860352],["blo",-10.92929458618164],["ție",-10.929520606994629],["▁OR",-10.930315017700195],["▁Buch",-10.930798530578613],["▁nearby",-10.931190490722656],["▁meetings",-10.931290626525879],["▁48",-10.931465148925781],["▁quand",-10.93152904510498],["▁usual",-10.931936264038086],["▁weitere",-10.932539939880371],["▁caught",-10.932571411132812],["▁issued",-10.932626724243164],["ști",-10.932896614074707],["upcoming",-10.933232307434082],["▁agreed",-10.933233261108398],["place",-10.933353424072266],["▁Brand",-10.93344497680664],["▁relation",-10.933969497680664],["▁atât",-10.934090614318848],["▁Tre",-10.934176445007324],["▁lors",-10.934438705444336],["▁adopt",-10.934452056884766],["▁celui",-10.93458366394043],["cken",-10.93505859375],["▁partnership",-10.935284614562988],["?”",-10.935376167297363],["▁ba",-10.935746192932129],["▁ID",-10.935832023620605],["▁consistent",-10.935835838317871],["▁Ya",-10.935941696166992],["▁Academy",-10.936182022094727],["cial",-10.936230659484863],["1%",-10.936366081237793],["▁mise",-10.936684608459473],["▁gute",-10.936728477478027],["gli",-10.936939239501953],["▁Bu",-10.937679290771484],["▁reduction",-10.937917709350586],["acy",-10.938126564025879],["aga",-10.938161849975586],["▁Sc",-10.938273429870605],["▁Informationen",-10.938308715820312],["▁kommen",-10.938352584838867],["press",-10.93837833404541],["▁bridge",-10.938379287719727],["▁qualified",-10.938671112060547],["position",-10.938821792602539],["▁combat",-10.938933372497559],["!\"",-10.938993453979492],["eva",-10.939217567443848],["oase",-10.939380645751953],["▁inner",-10.939410209655762],["▁loans",-10.939720153808594],["made",-10.939786911010742],["▁Mexico",-10.93993091583252],["▁formal",-10.940092086791992],["▁fell",-10.94021987915039],["91",-10.940524101257324],["▁campus",-10.9407320022583],["ienne",-10.940869331359863],["▁framework",-10.94105339050293],["ncing",-10.941157341003418],["▁Para",-10.941222190856934],["▁password",-10.941298484802246],["▁sei",-10.941422462463379],["▁Cross",-10.941532135009766],["▁Ten",-10.941873550415039],["bank",-10.941887855529785],["▁gun",-10.942000389099121],["ient",-10.942021369934082],["▁usage",-10.942176818847656],["▁(2",-10.942278861999512],["Gra",-10.942320823669434],["▁prea",-10.94253158569336],["▁Als",-10.942619323730469],["▁finance",-10.942638397216797],["tate",-10.942665100097656],["ition",-10.942703247070312],["▁regulations",-10.942741394042969],["▁Professional",-10.943001747131348],["▁pl",-10.94336986541748],["▁SEO",-10.943472862243652],["▁trecut",-10.943487167358398],["▁aller",-10.943509101867676],["▁violence",-10.943986892700195],["▁membership",-10.944117546081543],["▁picked",-10.944162368774414],["▁collected",-10.9443359375],["▁extended",-10.944449424743652],["▁religious",-10.944661140441895],["▁salle",-10.944767951965332],["RA",-10.944781303405762],["▁blend",-10.945232391357422],["▁Min",-10.94532299041748],["kal",-10.945887565612793],["▁featuring",-10.945902824401855],["▁researchers",-10.946263313293457],["▁Search",-10.946558952331543],["CE",-10.946675300598145],["▁recognized",-10.94682502746582],["▁semi",-10.94692611694336],["▁exposure",-10.94718074798584],["grew",-10.947466850280762],["▁candidate",-10.948250770568848],["▁shares",-10.948908805847168],["▁edit",-10.949745178222656],["CS",-10.949905395507812],["▁Cl",-10.950240135192871],["▁Enjoy",-10.951438903808594],["▁hurt",-10.951482772827148],["▁bottle",-10.951593399047852],["▁Buy",-10.95159912109375],["▁superior",-10.952286720275879],["▁missed",-10.952424049377441],["▁workshop",-10.952433586120605],["action",-10.952437400817871],["ple",-10.952699661254883],["▁Schul",-10.952814102172852],["▁houses",-10.953080177307129],["▁2017,",-10.953569412231445],["▁killed",-10.953750610351562],["▁calendar",-10.954306602478027],["▁Mike",-10.954597473144531],["FA",-10.954627990722656],["nut",-10.95487117767334],["▁establish",-10.955140113830566],["▁alcohol",-10.95514965057373],["▁closely",-10.955170631408691],["▁MA",-10.955381393432617],["pul",-10.955389022827148],["▁defined",-10.955666542053223],["aires",-10.955692291259766],["▁Shi",-10.955703735351562],["▁plays",-10.956303596496582],["▁sister",-10.95690631866455],["▁cable",-10.957179069519043],["▁desk",-10.957215309143066],["▁apoi",-10.957738876342773],["▁identity",-10.95785140991211],["▁stars",-10.957931518554688],["▁fata",-10.958008766174316],["▁obvious",-10.958330154418945],["▁dental",-10.95843505859375],["AM",-10.958802223205566],["▁sharp",-10.95881175994873],["duc",-10.959053993225098],["▁manufacturer",-10.95914077758789],["!)",-10.959270477294922],["▁objects",-10.959720611572266],["▁Ag",-10.959989547729492],["referred",-10.960195541381836],["▁Ak",-10.960308074951172],["burg",-10.960360527038574],["▁nouveau",-10.960854530334473],["▁Pal",-10.960994720458984],["▁Arbeits",-10.961280822753906],["▁personally",-10.961288452148438],["▁Dé",-10.961292266845703],["▁import",-10.961688041687012],["▁justice",-10.961913108825684],["▁photography",-10.962705612182617],["▁portfolio",-10.962841987609863],["56",-10.96314525604248],["▁nouvelle",-10.963293075561523],["▁oven",-10.964197158813477],["▁400",-10.964272499084473],["▁mixed",-10.964395523071289],["▁relax",-10.964427947998047],["▁imp",-10.964703559875488],["▁».",-10.964734077453613],["▁mail",-10.964777946472168],["rage",-10.964861869812012],["nos",-10.964974403381348],["▁drugs",-10.965195655822754],["▁jede",-10.965211868286133],["▁einige",-10.965232849121094],["▁8.",-10.965325355529785],["ters",-10.965412139892578],["▁electrical",-10.965432167053223],["▁puis",-10.965836524963379],["▁films",-10.965903282165527],["41",-10.966036796569824],["▁moral",-10.966398239135742],["lage",-10.966402053833008],["▁spaces",-10.966415405273438],["▁Ed",-10.966462135314941],["▁classroom",-10.966588020324707],["▁große",-10.966588973999023],["▁baza",-10.966887474060059],["face",-10.967308044433594],["▁informed",-10.967333793640137],["▁improving",-10.967477798461914],["▁guidance",-10.967880249023438],["▁gallery",-10.96800708770752],["cular",-10.968046188354492],["53",-10.968094825744629],["Despite",-10.968238830566406],["▁forme",-10.968304634094238],["▁système",-10.968415260314941],["▁Win",-10.968494415283203],["▁Small",-10.968537330627441],["▁Mobile",-10.968564987182617],["▁tape",-10.968606948852539],["▁erhalten",-10.968914985656738],["▁movies",-10.968928337097168],["▁Unfortunately",-10.968963623046875],["▁Looking",-10.96945858001709],["▁guard",-10.969584465026855],["▁pr",-10.969820976257324],["▁confident",-10.96988582611084],["BA",-10.970229148864746],["bas",-10.970272064208984],["hum",-10.97050666809082],["ular",-10.9705171585083],["▁Still",-10.970593452453613],["▁flavor",-10.970656394958496],["▁boost",-10.970773696899414],["▁division",-10.970842361450195],["ising",-10.971006393432617],["▁monitoring",-10.971044540405273],["▁Sen",-10.97105884552002],["▁https",-10.971527099609375],["mainly",-10.971735000610352],["play",-10.972251892089844],["▁dynamic",-10.972357749938965],["▁coup",-10.972370147705078],["▁carpet",-10.972561836242676],["iner",-10.972846984863281],["ral",-10.97325611114502],["iser",-10.973320007324219],["RC",-10.9739990234375],["▁definition",-10.97475814819336],["▁Za",-10.974767684936523],["friendly",-10.974883079528809],["43",-10.975123405456543],["link",-10.975180625915527],["▁Multi",-10.97519302368164],["▁einmal",-10.975272178649902],["▁stopped",-10.975394248962402],["vel",-10.975456237792969],["▁ongoing",-10.975565910339355],["▁ancient",-10.976259231567383],["take",-10.976301193237305],["cia",-10.976432800292969],["▁USB",-10.976545333862305],["▁attorney",-10.976866722106934],["▁slot",-10.976866722106934],["▁Line",-10.97693157196045],["rice",-10.977087020874023],["ify",-10.977520942687988],["ó",-10.978260040283203],["▁flash",-10.978483200073242],["▁extension",-10.978555679321289],["▁Ende",-10.979022979736328],["▁powder",-10.979114532470703],["ească",-10.979143142700195],["03",-10.979327201843262],["▁normally",-10.979416847229004],["▁pun",-10.980108261108398],["viewed",-10.980138778686523],["ssen",-10.980896949768066],["ache",-10.981121063232422],["ește",-10.98122787475586],["▁PA",-10.981266021728516],["FI",-10.981945991516113],["▁Frank",-10.98198127746582],["▁apa",-10.98242473602295],["▁coast",-10.982614517211914],["▁boy",-10.982665061950684],["lim",-10.982902526855469],["▁putin",-10.983194351196289],["▁script",-10.983332633972168],["▁noticed",-10.9837007522583],["▁dealing",-10.983922004699707],["▁Trans",-10.984100341796875],["▁border",-10.984447479248047],["▁reputation",-10.984657287597656],["-2",-10.984662055969238],["HS",-10.984707832336426],["▁supports",-10.984724998474121],["▁horse",-10.985146522521973],["nik",-10.98520565032959],["▁clothes",-10.985234260559082],["▁Card",-10.985612869262695],["▁relief",-10.98595905303955],["▁Visit",-10.986259460449219],["▁luni",-10.986593246459961],["81",-10.986693382263184],["qua",-10.986945152282715],["▁Comp",-10.98697280883789],["▁investigation",-10.987137794494629],["▁depth",-10.987598419189453],["▁earned",-10.987709045410156],["▁Ren",-10.988090515136719],["▁Dumnezeu",-10.988107681274414],["▁Joe",-10.988210678100586],["▁goods",-10.988288879394531],["▁Vol",-10.988686561584473],["▁certified",-10.989118576049805],["▁favor",-10.989326477050781],["▁Scott",-10.989599227905273],["▁protest",-10.989802360534668],["▁pace",-10.989803314208984],["▁Angeles",-10.990368843078613],["inch",-10.99050521850586],["▁charged",-10.99052619934082],["code",-10.990968704223633],["▁convenient",-10.99138355255127],["▁Nord",-10.991556167602539],["▁yesterday",-10.991691589355469],["Dacă",-10.99169635772705],["▁Travel",-10.991786003112793],["▁kid",-10.991941452026367],["ction",-10.991986274719238],["▁groupe",-10.992770195007324],["pu",-10.993056297302246],["bzw",-10.993196487426758],["▁mixture",-10.993513107299805],["▁Farm",-10.993715286254883],["▁acces",-10.993939399719238],["matic",-10.993950843811035],["▁comparison",-10.994006156921387],["reich",-10.994095802307129],["pet",-10.994502067565918],["▁lit",-10.994685173034668],["▁organized",-10.99476432800293],["just",-10.995564460754395],["▁fellow",-10.996004104614258],["Ver",-10.996209144592285],["▁trends",-10.99622631072998],["▁evaluation",-10.99626636505127],["feld",-10.99639892578125],["▁Pu",-10.99671459197998],["▁equipped",-10.99727725982666],["▁catre",-10.997278213500977],["eck",-10.997369766235352],["▁facing",-10.997998237609863],["▁instrument",-10.998361587524414],["▁pleased",-10.998507499694824],["▁tap",-10.998818397521973],["dom",-10.998826026916504],["▁pump",-10.999384880065918],["▁functional",-10.999429702758789],["▁authority",-10.999455451965332],["▁experiment",-10.999478340148926],["LO",-10.999529838562012],["▁scheduled",-10.999552726745605],["halt",-10.999604225158691],["▁ceiling",-10.999761581420898],["▁Step",-11.000310897827148],["▁orders",-11.00032901763916],["▁speech",-11.001046180725098],["▁stands",-11.001119613647461],["▁disc",-11.001920700073242],["▁rec",-11.001935958862305],["▁Text",-11.00243854522705],["▁banks",-11.00294017791748],["▁oameni",-11.003045082092285],["▁communications",-11.003194808959961],["trag",-11.003307342529297],["▁trail",-11.003803253173828],["AN",-11.00426197052002],["▁Federal",-11.004467964172363],["▁quote",-11.00455093383789],["▁spus",-11.004620552062988],["▁managing",-11.004990577697754],["▁booking",-11.00505256652832],["▁Blog",-11.005669593811035],["▁tank",-11.005681991577148],["pon",-11.005804061889648],["GE",-11.00582218170166],["▁fiscal",-11.005871772766113],["▁satisfaction",-11.006044387817383],["cre",-11.00614070892334],["▁protected",-11.006494522094727],["▁enfants",-11.006782531738281],["▁dort",-11.007554054260254],["▁Mel",-11.008041381835938],["▁turns",-11.00804615020752],["▁savings",-11.008106231689453],["▁voir",-11.008358001708984],["▁Boston",-11.008394241333008],["▁debate",-11.008469581604004],["▁SO",-11.008857727050781],["▁tables",-11.009193420410156],["▁honest",-11.009210586547852],["mate",-11.009283065795898],["▁chart",-11.0094633102417],["decât",-11.009682655334473],["▁Radio",-11.009685516357422],["54",-11.00986385345459],["▁vol",-11.010008811950684],["last",-11.010148048400879],["▁tall",-11.010408401489258],["▁Should",-11.010489463806152],["▁sink",-11.010525703430176],["▁Right",-11.010527610778809],["▁male",-11.010720252990723],["▁Modern",-11.010753631591797],["▁indeed",-11.010886192321777],["▁Garden",-11.011139869689941],["▁Mod",-11.011307716369629],["▁turning",-11.0115327835083],["▁inches",-11.011557579040527],["▁Police",-11.01183795928955],["▁Pay",-11.012016296386719],["UE",-11.0126371383667],["mé",-11.012652397155762],["EE",-11.013046264648438],["▁cookies",-11.013116836547852],["rip",-11.013351440429688],["▁Motor",-11.01352310180664],["▁lung",-11.01379680633545],["▁Ap",-11.013995170593262],["▁sustainable",-11.014066696166992],["▁instant",-11.014240264892578],["▁Rose",-11.014464378356934],["▁Carolina",-11.014906883239746],["▁Help",-11.014969825744629],["IE",-11.01535701751709],["▁Jersey",-11.015522956848145],["▁Spanish",-11.015586853027344],["▁wheel",-11.015660285949707],["▁fishing",-11.0158109664917],["gram",-11.015937805175781],["▁ST",-11.016227722167969],["▁Nov",-11.01632022857666],["▁reporting",-11.016362190246582],["ked",-11.016467094421387],["▁Leben",-11.016557693481445],["▁organisation",-11.016843795776367],["▁tiny",-11.017144203186035],["▁Alex",-11.017236709594727],["▁obtained",-11.017255783081055],["▁Acest",-11.017367362976074],["▁dangerous",-11.01749038696289],["utter",-11.017624855041504],["▁rev",-11.01801586151123],["Un",-11.018242835998535],["▁revealed",-11.018356323242188],["▁decade",-11.018709182739258],["▁possibility",-11.01945686340332],["service",-11.019577980041504],["è",-11.01966667175293],["▁Chief",-11.019674301147461],["▁Durch",-11.019795417785645],["▁cadre",-11.019843101501465],["▁wearing",-11.019845008850098],["sized",-11.01988410949707],["LY",-11.01989459991455],["▁unser",-11.019963264465332],["▁2016,",-11.019988059997559],["▁fail",-11.020028114318848],["iques",-11.020115852355957],["▁Angel",-11.020315170288086],["▁transportation",-11.020364761352539],["▁dates",-11.020395278930664],["▁danger",-11.020731925964355],["▁forum",-11.020828247070312],["zug",-11.020885467529297],["▁filed",-11.021199226379395],["loc",-11.021201133728027],["éri",-11.021234512329102],["tribu",-11.021393775939941],["▁entered",-11.021639823913574],["▁porte",-11.021928787231445],["▁arts",-11.021979331970215],["▁reform",-11.022001266479492],["▁Main",-11.022101402282715],["▁dir",-11.022111892700195],["▁approval",-11.022465705871582],["▁juice",-11.022750854492188],["vier",-11.022771835327148],["▁nivel",-11.02318000793457],["▁returns",-11.023423194885254],["▁formed",-11.023723602294922],["▁combine",-11.02436351776123],["▁cours",-11.024392127990723],["▁Standard",-11.024463653564453],["▁certification",-11.024677276611328],["escu",-11.024996757507324],["▁achieved",-11.025278091430664],["▁Model",-11.025280952453613],["rul",-11.025404930114746],["▁Tage",-11.025530815124512],["▁injuries",-11.02560806274414],["▁Sal",-11.025671005249023],["▁expenses",-11.025887489318848],["▁cet",-11.026009559631348],["▁taxes",-11.026028633117676],["diesen",-11.02626895904541],["▁fairly",-11.026638984680176],["▁Access",-11.026866912841797],["wind",-11.027122497558594],["IM",-11.027252197265625],["ense",-11.027548789978027],["▁hang",-11.027957916259766],["▁citizens",-11.028020858764648],["3%",-11.028101921081543],["lum",-11.028268814086914],["▁discussed",-11.028326034545898],["AC",-11.02841854095459],["‘",-11.0286865234375],["▁Sol",-11.028698921203613],["06",-11.028816223144531],["stellen",-11.029170989990234],["▁participation",-11.02917194366455],["▁Box",-11.029200553894043],["▁bieten",-11.029687881469727],["▁Louis",-11.029730796813965],["▁lessons",-11.029789924621582],["▁visible",-11.029966354370117],["▁Cam",-11.030128479003906],["▁Ban",-11.03053092956543],["▁Far",-11.03060245513916],["▁travers",-11.030759811401367],["▁telling",-11.030808448791504],["▁magic",-11.030855178833008],["▁Night",-11.031316757202148],["▁judge",-11.031400680541992],["▁Pat",-11.031482696533203],["▁Southern",-11.031901359558105],["OL",-11.031929969787598],["fully",-11.032191276550293],["▁acestea",-11.03223705291748],["▁Order",-11.032383918762207],["▁facut",-11.032523155212402],["▁Matt",-11.032600402832031],["registr",-11.03278923034668],["▁Yet",-11.032811164855957],["ß",-11.033596992492676],["▁făcut",-11.033618927001953],["▁versions",-11.033780097961426],["▁Force",-11.03396224975586],["rick",-11.034153938293457],["▁rund",-11.034563064575195],["ike",-11.034658432006836],["▁Young",-11.034675598144531],["▁ski",-11.034927368164062],["CU",-11.035385131835938],["▁Second",-11.035510063171387],["▁graduate",-11.03554916381836],["▁Bible",-11.036049842834473],["▁vary",-11.036060333251953],["▁celebration",-11.036151885986328],["▁risks",-11.036210060119629],["erii",-11.036327362060547],["rance",-11.036577224731445],["▁MP",-11.036787986755371],["▁tale",-11.036788940429688],["▁Ford",-11.037044525146484],["▁attached",-11.037278175354004],["▁Sy",-11.037312507629395],["▁Ly",-11.03765869140625],["stellung",-11.037687301635742],["▁trop",-11.0377197265625],["▁années",-11.037736892700195],["▁linked",-11.03792667388916],["pit",-11.038352012634277],["So",-11.03835391998291],["ţe",-11.038473129272461],["▁origin",-11.038509368896484],["▁boys",-11.039263725280762],["holder",-11.039352416992188],["read",-11.039461135864258],["▁relative",-11.03950023651123],["▁industries",-11.03958511352539],["making",-11.039688110351562],["▁tun",-11.039917945861816],["▁forced",-11.041061401367188],["▁Welcome",-11.041086196899414],["▁explained",-11.041138648986816],["MP",-11.041389465332031],["▁Three",-11.041613578796387],["aza",-11.041768074035645],["▁1999",-11.041924476623535],["▁erst",-11.042237281799316],["RS",-11.042623519897461],["▁attractive",-11.04279899597168],["▁visited",-11.042805671691895],["▁nom",-11.042874336242676],["▁drum",-11.042933464050293],["cast",-11.043068885803223],["ogen",-11.043105125427246],["▁tech",-11.04360294342041],["▁Comment",-11.043664932250977],["▁Little",-11.04405689239502],["▁suggested",-11.044086456298828],["▁gar",-11.044205665588379],["▁crack",-11.04458999633789],["▁shooting",-11.044676780700684],["▁Try",-11.044759750366211],["▁Remember",-11.045008659362793],["▁folks",-11.045217514038086],["▁MS",-11.045512199401855],["▁Dia",-11.04584789276123],["3)",-11.046561241149902],["arbeit",-11.04697036743164],["▁pepper",-11.047065734863281],["zz",-11.047107696533203],["▁extreme",-11.047235488891602],["▁extrem",-11.047367095947266],["▁severe",-11.047768592834473],["▁networks",-11.047882080078125],["păr",-11.047910690307617],["sent",-11.047933578491211],["▁structures",-11.048048973083496],["▁Join",-11.048078536987305],["▁privind",-11.048255920410156],["▁marriage",-11.04865837097168],["▁liegt",-11.048918724060059],["eben",-11.048995971679688],["▁produse",-11.049076080322266],["▁tested",-11.049090385437012],["▁Queen",-11.049134254455566],["▁Tax",-11.049687385559082],["rian",-11.049710273742676],["▁Problem",-11.050151824951172],["izat",-11.05023193359375],["udi",-11.050324440002441],["▁LA",-11.050718307495117],["▁afford",-11.051108360290527],["▁percentage",-11.05121898651123],["▁cute",-11.051547050476074],["▁gorgeous",-11.051891326904297],["▁indoor",-11.05190372467041],["▁configuration",-11.052103042602539],["▁immediate",-11.052303314208984],["▁exemple",-11.052450180053711],["▁Being",-11.052550315856934],["▁introduction",-11.052591323852539],["ella",-11.053206443786621],["bare",-11.053521156311035],["▁besser",-11.053539276123047],["▁Put",-11.053740501403809],["gon",-11.054248809814453],["▁Italy",-11.054259300231934],["▁Thus",-11.05435562133789],["tari",-11.054437637329102],["0.000",-11.054460525512695],["▁Price",-11.054651260375977],["▁Trust",-11.054824829101562],["▁contra",-11.054863929748535],["▁layout",-11.05504035949707],["▁Ireland",-11.055187225341797],["ctor",-11.055344581604004],["atoare",-11.055540084838867],["pra",-11.055729866027832],["rent",-11.055892944335938],["▁Seite",-11.05605411529541],["▁ori",-11.056280136108398],["spiel",-11.056541442871094],["▁Times",-11.056883811950684],["primarily",-11.056974411010742],["nov",-11.05703067779541],["▁desired",-11.057061195373535],["▁Would",-11.057072639465332],["PL",-11.057225227355957],["▁originally",-11.057367324829102],["▁Ana",-11.057463645935059],["EN",-11.05754566192627],["▁occasion",-11.05755615234375],["▁grant",-11.057572364807129],["igkeit",-11.057975769042969],["▁scheme",-11.058146476745605],["▁2015.",-11.058621406555176],["izare",-11.058778762817383],["gate",-11.058792114257812],["▁poker",-11.058899879455566],["pping",-11.058998107910156],["▁Wild",-11.059511184692383],["▁YouTube",-11.059995651245117],["▁assume",-11.060284614562988],["с",-11.060614585876465],["▁rapport",-11.060623168945312],["▁labor",-11.060996055603027],["teur",-11.061041831970215],["▁genre",-11.06116008758545],["▁plat",-11.061745643615723],["▁listening",-11.061750411987305],["sky",-11.061777114868164],["▁neighborhood",-11.061782836914062],["▁3-",-11.062150001525879],["▁Library",-11.062162399291992],["agit",-11.062249183654785],["▁platforms",-11.062849998474121],["bei",-11.062882423400879],["AB",-11.062897682189941],["▁manufacturers",-11.06295394897461],["▁printing",-11.063141822814941],["▁crisis",-11.063326835632324],["▁Smart",-11.06335163116455],["▁drawing",-11.063406944274902],["MO",-11.06348991394043],["▁durable",-11.063569068908691],["chant",-11.0636625289917],["▁chemical",-11.063764572143555],["▁savoir",-11.063776016235352],["▁Max",-11.063802719116211],["gestellt",-11.06380844116211],["▁rural",-11.063854217529297],["52",-11.064105033874512],["▁invited",-11.064169883728027],["▁fil",-11.0642728805542],["▁Rob",-11.064284324645996],["▁Bell",-11.064387321472168],["▁neck",-11.064831733703613],["pac",-11.064879417419434],["wal",-11.06491470336914],["▁là",-11.064922332763672],["▁Virginia",-11.065081596374512],["▁applicable",-11.06509017944336],["▁abuse",-11.065153121948242],["aide",-11.065321922302246],["▁increases",-11.065396308898926],["▁moi",-11.065568923950195],["▁Non",-11.065577507019043],["▁Produkt",-11.065627098083496],["FC",-11.065644264221191],["▁shops",-11.065677642822266],["▁prendre",-11.065923690795898],["atul",-11.065990447998047],["▁sal",-11.066137313842773],["▁société",-11.06627082824707],["▁Hot",-11.066329002380371],["rim",-11.066587448120117],["gue",-11.06661605834961],["▁enterprise",-11.066624641418457],["▁33",-11.067329406738281],["mittel",-11.067395210266113],["ged",-11.067439079284668],["▁formula",-11.06777286529541],["▁spin",-11.067784309387207],["als",-11.067826271057129],["2%",-11.06785774230957],["bon",-11.068192481994629],["▁Executive",-11.068323135375977],["▁wirklich",-11.068427085876465],["îl",-11.068608283996582],["1.",-11.068917274475098],["▁Arm",-11.069157600402832],["▁rid",-11.069358825683594],["aries",-11.069727897644043],["▁incident",-11.06982421875],["▁copii",-11.070008277893066],["▁Charles",-11.070141792297363],["▁meals",-11.070147514343262],["▁wireless",-11.070237159729004],["Ex",-11.070364952087402],["▁Financial",-11.070540428161621],["▁AM",-11.070615768432617],["▁fest",-11.070645332336426],["▁Ol",-11.071410179138184],["oir",-11.071447372436523],["300",-11.071893692016602],["▁punct",-11.072138786315918],["▁Mad",-11.07283878326416],["▁Ali",-11.072907447814941],["lag",-11.073214530944824],["▁ocean",-11.073314666748047],["▁mirror",-11.073326110839844],["▁Additionally",-11.073869705200195],["alia",-11.073884963989258],["▁county",-11.073899269104004],["▁hip",-11.074305534362793],["dale",-11.074395179748535],["▁Stra",-11.074429512023926],["▁drag",-11.074575424194336],["▁Sand",-11.074851036071777],["▁historic",-11.074980735778809],["ière",-11.075427055358887],["▁examine",-11.075624465942383],["soci",-11.075634002685547],["ime",-11.076088905334473],["▁Insurance",-11.07621955871582],["▁crime",-11.076736450195312],["▁pare",-11.076945304870605],["▁craft",-11.077105522155762],["▁Building",-11.077279090881348],["mission",-11.077534675598145],["▁Americans",-11.077573776245117],["▁mg",-11.077799797058105],["▁passage",-11.077938079833984],["▁deposit",-11.078346252441406],["▁widely",-11.078444480895996],["nch",-11.078453063964844],["▁Coast",-11.078756332397461],["▁recipes",-11.078784942626953],["▁Ziel",-11.07951545715332],["▁duty",-11.079646110534668],["▁gerne",-11.079704284667969],["most",-11.080034255981445],["▁argument",-11.080158233642578],["▁root",-11.08021354675293],["▁consult",-11.08024787902832],["▁muscle",-11.080255508422852],["▁spoke",-11.08038330078125],["▁Cum",-11.080950736999512],["▁orange",-11.081033706665039],["▁reader",-11.081123352050781],["schw",-11.081151008605957],["▁commission",-11.081332206726074],["histoire",-11.081811904907227],["▁represents",-11.082064628601074],["▁meilleur",-11.082343101501465],["▁10.",-11.082358360290527],["HA",-11.082427024841309],["▁Systems",-11.082573890686035],["▁blind",-11.082603454589844],["▁HP",-11.083221435546875],["▁doi",-11.083307266235352],["▁signature",-11.083404541015625],["▁invite",-11.083505630493164],["▁Samsung",-11.083802223205566],["▁liber",-11.083942413330078],["▁letters",-11.0840482711792],["▁primul",-11.084186553955078],["▁losing",-11.084328651428223],["resulting",-11.084467887878418],["▁Computer",-11.08474063873291],["▁poll",-11.0847749710083],["rile",-11.085102081298828],["TI",-11.085142135620117],["▁cur",-11.08566951751709],["▁fonction",-11.085833549499512],["gat",-11.086359977722168],["AA",-11.086480140686035],["tiv",-11.086692810058594],["▁Str",-11.087076187133789],["ești",-11.087677955627441],["▁officer",-11.0877046585083],["reducing",-11.08772087097168],["▁gifts",-11.08780288696289],["▁performing",-11.08788776397705],["▁»,",-11.088349342346191],["▁guitar",-11.08838939666748],["▁segment",-11.088580131530762],["▁Tar",-11.08861255645752],["▁ultimately",-11.088805198669434],["▁cam",-11.088960647583008],["▁Arbeit",-11.089076042175293],["▁accessories",-11.089418411254883],["bad",-11.089820861816406],["home",-11.0899019241333],["▁clip",-11.08995532989502],["range",-11.090432167053223],["CM",-11.090867042541504],["▁printed",-11.090883255004883],["▁Pet",-11.091177940368652],["▁attract",-11.091333389282227],["date",-11.091501235961914],["▁Senior",-11.091503143310547],["▁genau",-11.092177391052246],["num",-11.092435836791992],["▁attended",-11.092674255371094],["▁Turn",-11.092824935913086],["▁History",-11.092830657958984],["some",-11.092852592468262],["▁describe",-11.09308910369873],["▁Lee",-11.093143463134766],["▁Fre",-11.093314170837402],["▁league",-11.093345642089844],["new",-11.093505859375],["tors",-11.093535423278809],["▁storm",-11.094005584716797],["▁Beispiel",-11.094197273254395],["▁index",-11.094344139099121],["▁awarded",-11.094613075256348],["state",-11.094625473022461],["▁1990",-11.094874382019043],["▁ends",-11.094902992248535],["kor",-11.095070838928223],["far",-11.095418930053711],["▁Page",-11.095541000366211],["▁promotion",-11.095610618591309],["▁weekly",-11.095726013183594],["400",-11.095966339111328],["iuni",-11.096365928649902],["▁Summer",-11.096376419067383],["▁thin",-11.096627235412598],["▁dafür",-11.09669303894043],["51",-11.096769332885742],["PR",-11.096978187561035],["▁Hy",-11.097001075744629],["gas",-11.097013473510742],["▁atat",-11.097166061401367],["▁mining",-11.097347259521484],["▁principles",-11.09741497039795],["gent",-11.097545623779297],["ika",-11.097685813903809],["▁religion",-11.097787857055664],["▁ordered",-11.098284721374512],["▁developers",-11.098298072814941],["▁pleasure",-11.098456382751465],["vit",-11.098505020141602],["mers",-11.0988130569458],["▁Section",-11.098873138427734],["▁por",-11.098960876464844],["▁Name",-11.099200248718262],["▁pink",-11.099260330200195],["dig",-11.09934139251709],["▁eligible",-11.099397659301758],["▁Happy",-11.09941577911377],["▁fo",-11.099480628967285],["▁availability",-11.099541664123535],["GO",-11.099583625793457],["▁Europa",-11.099637985229492],["▁Unit",-11.099656105041504],["▁1000",-11.099837303161621],["▁Berg",-11.099846839904785],["fini",-11.099853515625],["▁$3",-11.100565910339355],["iza",-11.100749969482422],["▁promo",-11.100830078125],["▁Low",-11.101234436035156],["abord",-11.101326942443848],["äh",-11.101485252380371],["▁Professor",-11.101570129394531],["▁array",-11.101579666137695],["▁hate",-11.101594924926758],["▁recording",-11.101601600646973],["RI",-11.101649284362793],["▁proof",-11.101710319519043],["lay",-11.10185718536377],["DE",-11.102007865905762],["▁surprised",-11.102066040039062],["▁boxes",-11.102193832397461],["▁noastre",-11.102386474609375],["zie",-11.102387428283691],["▁însă",-11.10254192352295],["▁ajuta",-11.102783203125],["▁weil",-11.1028413772583],["▁whenever",-11.103026390075684],["shi",-11.103194236755371],["satz",-11.103605270385742],["▁remind",-11.10401725769043],["▁consist",-11.10412311553955],["▁motiv",-11.104240417480469],["▁PS",-11.1043062210083],["▁trois",-11.104543685913086],["pad",-11.10477352142334],["▁besten",-11.104904174804688],["▁Stone",-11.105140686035156],["itz",-11.105157852172852],["fit",-11.105164527893066],["▁Mountain",-11.105178833007812],["OC",-11.10519027709961],["▁depends",-11.105228424072266],["▁Cover",-11.105387687683105],["▁bags",-11.106058120727539],["▁Bel",-11.106199264526367],["▁Engineering",-11.106304168701172],["▁flower",-11.106647491455078],["▁gratuit",-11.106670379638672],["▁smartphone",-11.106780052185059],["stan",-11.107197761535645],["spect",-11.10726261138916],["SL",-11.107282638549805],["sho",-11.10738754272461],["▁Ser",-11.10791301727295],["▁Perhaps",-11.108247756958008],["▁codes",-11.108342170715332],["▁Wind",-11.10849666595459],["aient",-11.108757019042969],["▁Prin",-11.108802795410156],["▁(1)",-11.109090805053711],["▁figures",-11.109450340270996],["▁ausge",-11.10972785949707],["▁episode",-11.110050201416016],["▁Spa",-11.110370635986328],["▁Silver",-11.110386848449707],["▁Sky",-11.110396385192871],["▁capabilities",-11.1107177734375],["▁Uni",-11.11073112487793],["▁încă",-11.110876083374023],["TO",-11.111289978027344],["▁Hal",-11.111358642578125],["ghi",-11.111414909362793],["▁sofa",-11.111438751220703],["hard",-11.11150074005127],["▁FOR",-11.111587524414062],["▁Ber",-11.111820220947266],["▁firms",-11.11187744140625],["▁memories",-11.111883163452148],["▁lift",-11.11214542388916],["▁sending",-11.11214542388916],["▁narrow",-11.112646102905273],["▁Steve",-11.112784385681152],["▁integration",-11.112905502319336],["known",-11.113122940063477],["▁nostru",-11.113237380981445],["iţi",-11.113422393798828],["▁Georgia",-11.113759994506836],["▁slowly",-11.114026069641113],["iere",-11.114028930664062],["aka",-11.114255905151367],["PE",-11.114320755004883],["▁venue",-11.11468505859375],["jar",-11.11474609375],["buch",-11.114755630493164],["rad",-11.114858627319336],["▁resistance",-11.114899635314941],["▁stehen",-11.114914894104004],["chin",-11.11504077911377],["▁weak",-11.11535358428955],["▁DVD",-11.115598678588867],["▁bodies",-11.115856170654297],["▁split",-11.115884780883789],["What",-11.116231918334961],["setzen",-11.116467475891113],["▁loves",-11.116561889648438],["▁kleine",-11.117077827453613],["▁increasingly",-11.11746883392334],["▁alert",-11.117583274841309],["▁AC",-11.117647171020508],["▁partir",-11.117974281311035],["▁ratio",-11.11807918548584],["▁keeps",-11.118539810180664],["▁Area",-11.118544578552246],["▁données",-11.119071960449219],["▁flag",-11.119254112243652],["▁NO",-11.119277000427246],["▁hotels",-11.119336128234863],["▁debut",-11.119365692138672],["▁suffer",-11.119368553161621],["▁hidden",-11.119810104370117],["▁clothing",-11.120074272155762],["▁household",-11.120235443115234],["medi",-11.120268821716309],["▁reste",-11.120274543762207],["bro",-11.120381355285645],["▁Bus",-11.120405197143555],["▁Ken",-11.120572090148926],["IR",-11.120758056640625],["▁suffering",-11.121212005615234],["▁publication",-11.121246337890625],["▁Mat",-11.121360778808594],["▁impression",-11.121509552001953],["▁founded",-11.121562957763672],["▁stable",-11.121566772460938],["▁promise",-11.121719360351562],["▁Cloud",-11.121770858764648],["▁prison",-11.122099876403809],["cor",-11.122355461120605],["▁Sports",-11.122716903686523],["▁erste",-11.122745513916016],["shire",-11.122757911682129],["▁recommendations",-11.122916221618652],["▁permit",-11.123100280761719],["▁tomorrow",-11.123126983642578],["▁lucky",-11.123422622680664],["▁realized",-11.123449325561523],["▁famille",-11.123473167419434],["▁Zealand",-11.123542785644531],["▁wooden",-11.123601913452148],["▁east",-11.124269485473633],["▁Bereich",-11.12458324432373],["während",-11.124653816223145],["rite",-11.124836921691895],["▁fla",-11.124902725219727],["platz",-11.124991416931152],["▁zero",-11.125292778015137],["▁priority",-11.12535572052002],["▁Airport",-11.125506401062012],["▁Kauf",-11.125590324401855],["▁ultimate",-11.12601375579834],["▁chest",-11.126175880432129],["▁tone",-11.126376152038574],["▁Kal",-11.126431465148926],["▁supposed",-11.12669849395752],["▁vedere",-11.126846313476562],["▁50%",-11.126872062683105],["▁Ger",-11.127785682678223],["pack",-11.127849578857422],["▁priv",-11.128241539001465],["▁Kit",-11.128263473510742],["▁tent",-11.128457069396973],["▁guidelines",-11.128461837768555],["▁Republic",-11.128824234008789],["including",-11.129239082336426],["▁chief",-11.129615783691406],["▁Living",-11.129766464233398],["keit",-11.1298189163208],["▁convert",-11.129831314086914],["tail",-11.129928588867188],["orient",-11.129960060119629],["eigenen",-11.130245208740234],["▁soup",-11.130587577819824],["▁zona",-11.130661010742188],["▁composition",-11.130690574645996],["▁Bob",-11.130831718444824],["▁exception",-11.131170272827148],["▁cr",-11.131287574768066],["▁str",-11.131482124328613],["▁Fl",-11.13178825378418],["AT",-11.131909370422363],["kel",-11.132002830505371],["▁pricing",-11.132189750671387],["▁Mass",-11.132258415222168],["vir",-11.132333755493164],["leg",-11.132448196411133],["▁rating",-11.132455825805664],["▁Sale",-11.132628440856934],["▁somewhere",-11.132866859436035],["▁submitted",-11.133084297180176],["▁Pop",-11.133296012878418],["▁papers",-11.13330364227295],["▁authorities",-11.133326530456543],["▁Person",-11.133381843566895],["▁kill",-11.133512496948242],["▁suggestions",-11.133548736572266],["-6",-11.133644104003906],["▁dust",-11.133750915527344],["taire",-11.133805274963379],["▁recognition",-11.133870124816895],["3.",-11.134047508239746],["▁Mont",-11.134230613708496],["▁produit",-11.13430118560791],["▁transmission",-11.134340286254883],["▁Th",-11.13475513458252],["▁passing",-11.134928703308105],["▁Partner",-11.135161399841309],["▁dire",-11.135205268859863],["▁DC",-11.135432243347168],["▁sky",-11.135659217834473],["▁Kitchen",-11.135890007019043],["▁fluid",-11.135929107666016],["▁scored",-11.136005401611328],["▁chapter",-11.136100769042969],["If",-11.136231422424316],["letzten",-11.136275291442871],["▁officers",-11.13641357421875],["▁avem",-11.136631965637207],["ister",-11.136666297912598],["▁involves",-11.136688232421875],["ico",-11.136898040771484],["bur",-11.137056350708008],["▁mieux",-11.137064933776855],["▁Photo",-11.1371431350708],["▁Cro",-11.137228012084961],["▁professor",-11.137245178222656],["▁besonders",-11.137313842773438],["д",-11.137367248535156],["▁alongside",-11.137382507324219],["▁stored",-11.13770580291748],["▁activ",-11.137849807739258],["▁setup",-11.138169288635254],["▁extract",-11.138627052307129],["▁accent",-11.138633728027344],["▁replaced",-11.138638496398926],["tec",-11.138800621032715],["▁Natur",-11.138848304748535],["▁Pacific",-11.138887405395508],["▁NY",-11.139485359191895],["▁Capital",-11.139583587646484],["▁forest",-11.13969898223877],["incredibly",-11.14006233215332],["▁choix",-11.14021110534668],["▁seriously",-11.140281677246094],["▁konnte",-11.14030933380127],["▁2014.",-11.140443801879883],["ensuring",-11.140534400939941],["▁handling",-11.140661239624023],["▁9.",-11.140715599060059],["▁relations",-11.140876770019531],["▁Kom",-11.141045570373535],["▁Hol",-11.141282081604004],["▁none",-11.141515731811523],["rob",-11.141718864440918],["▁Forum",-11.141759872436523],["hour",-11.141776084899902],["ème",-11.141809463500977],["▁Space",-11.141986846923828],["▁Ham",-11.142992973327637],["rap",-11.143169403076172],["▁Michigan",-11.14317512512207],["km",-11.143202781677246],["▁utilize",-11.143548965454102],["lov",-11.143775939941406],["▁luck",-11.144388198852539],["lä",-11.144824981689453],["▁healing",-11.145010948181152],["▁neu",-11.145182609558105],["aging",-11.145251274108887],["▁compliance",-11.145583152770996],["▁vertical",-11.145675659179688],["▁FREE",-11.145729064941406],["▁differences",-11.146014213562012],["▁Server",-11.146252632141113],["▁estimated",-11.146378517150879],["schutz",-11.146692276000977],["▁notamment",-11.146736145019531],["▁120",-11.146919250488281],["72",-11.147282600402832],["▁heating",-11.147347450256348],["late",-11.14756965637207],["▁younger",-11.14783000946045],["▁Intel",-11.148171424865723],["▁salad",-11.148362159729004],["▁commonly",-11.148563385009766],["▁treatments",-11.148682594299316],["▁speaker",-11.148770332336426],["▁producing",-11.149120330810547],["▁eggs",-11.149367332458496],["▁Spirit",-11.149892807006836],["▁beide",-11.149918556213379],["▁transaction",-11.150283813476562],["▁Machine",-11.150464057922363],["▁Games",-11.150527000427246],["▁niveau",-11.150687217712402],["▁Need",-11.15082836151123],["radi",-11.150959968566895],["mir",-11.15096664428711],["causing",-11.151000022888184],["▁début",-11.151042938232422],["▁rencontre",-11.151063919067383],["▁threat",-11.151153564453125],["▁enjoying",-11.151320457458496],["Com",-11.151386260986328],["▁Johnson",-11.151555061340332],["▁tournament",-11.15156364440918],["▁Micro",-11.151582717895508],["▁Drive",-11.151667594909668],["▁Cre",-11.151866912841797],["▁Lebens",-11.151930809020996],["▁categories",-11.152358055114746],["5,000",-11.15261173248291],["▁confirmed",-11.152617454528809],["pli",-11.152763366699219],["▁Francisco",-11.153139114379883],["▁raw",-11.153157234191895],["▁managers",-11.153223991394043],["ţie",-11.153365135192871],["UR",-11.153368949890137],["▁aproape",-11.154065132141113],["via",-11.154606819152832],["▁engaged",-11.154646873474121],["▁parti",-11.154741287231445],["▁posting",-11.15517807006836],["CO",-11.155484199523926],["▁bois",-11.155815124511719],["▁inch",-11.15590763092041],["vie",-11.156068801879883],["▁aside",-11.156314849853516],["▁exceptional",-11.15658950805664],["▁vintage",-11.156668663024902],["▁Him",-11.156795501708984],["▁expansion",-11.156806945800781],["▁Weg",-11.157122611999512],["▁authors",-11.157535552978516],["▁deine",-11.15764045715332],["▁Prime",-11.158016204833984],["▁scan",-11.158055305480957],["▁reg",-11.158112525939941],["ția",-11.158141136169434],["riv",-11.158258438110352],["selon",-11.158440589904785],["▁Studio",-11.158571243286133],["▁dich",-11.158658027648926],["▁vi",-11.158745765686035],["▁sequence",-11.159016609191895],["▁Four",-11.159046173095703],["RT",-11.159050941467285],["▁ihn",-11.159072875976562],["▁employ",-11.159223556518555],["umb",-11.159659385681152],["ită",-11.159818649291992],["▁Station",-11.159950256347656],["▁upload",-11.159972190856934],["▁upgrade",-11.160445213317871],["▁exterior",-11.160528182983398],["▁writers",-11.160531997680664],["▁plot",-11.160543441772461],["▁Gen",-11.16068172454834],["TER",-11.160821914672852],["-12",-11.160930633544922],["http",-11.162168502807617],["▁smell",-11.1621732711792],["post",-11.162522315979004],["von",-11.162790298461914],["mili",-11.16280746459961],["8%",-11.162972450256348],["▁Andrew",-11.163065910339355],["▁spun",-11.16321086883545],["▁grass",-11.163444519042969],["unter",-11.163474082946777],["▁burn",-11.16356086730957],["▁Gegen",-11.163601875305176],["fest",-11.163721084594727],["▁Northern",-11.163738250732422],["▁consumption",-11.163775444030762],["▁bird",-11.164069175720215],["▁Miss",-11.164369583129883],["anti",-11.16447925567627],["▁viata",-11.164583206176758],["bereich",-11.164602279663086],["▁Change",-11.164871215820312],["▁pouvoir",-11.165255546569824],["▁demonstrate",-11.165435791015625],["▁requirement",-11.165483474731445],["BI",-11.16577434539795],["ied",-11.166099548339844],["▁spray",-11.166358947753906],["▁calitate",-11.166379928588867],["▁souvent",-11.1665620803833],["▁samples",-11.166682243347168],["▁compete",-11.166930198669434],["ank",-11.166946411132812],["année",-11.167037963867188],["wick",-11.167183876037598],["iff",-11.167254447937012],["noi",-11.167255401611328],["ography",-11.167450904846191],["▁SE",-11.167508125305176],["▁250",-11.16779899597168],["▁wealth",-11.167884826660156],["4%",-11.168235778808594],["▁swimming",-11.168269157409668],["enne",-11.168338775634766],["Qu",-11.168400764465332],["▁connections",-11.168476104736328],["onne",-11.16852855682373],["▁Way",-11.168676376342773],["voll",-11.168793678283691],["▁extent",-11.169041633605957],["▁objective",-11.169572830200195],["▁clinic",-11.169581413269043],["NA",-11.169848442077637],["▁Hope",-11.170098304748535],["▁coat",-11.170331954956055],["▁depend",-11.170393943786621],["▁tine",-11.170463562011719],["acc",-11.170486450195312],["▁editor",-11.170598983764648],["▁Jim",-11.170690536499023],["600",-11.171262741088867],["▁module",-11.171302795410156],["▁deja",-11.171821594238281],["atur",-11.171841621398926],["▁maintaining",-11.171918869018555],["▁hoch",-11.172059059143066],["▁covering",-11.17239761352539],["vielen",-11.172450065612793],["hem",-11.172531127929688],["▁illegal",-11.172656059265137],["▁certificate",-11.17329216003418],["▁collective",-11.173357963562012],["▁blow",-11.17343807220459],["▁programming",-11.17343807220459],["HE",-11.173727989196777],["▁Division",-11.173842430114746],["▁ceux",-11.174081802368164],["▁saved",-11.174202919006348],["▁worst",-11.17426586151123],["▁arms",-11.17430305480957],["▁Officer",-11.17463493347168],["▁association",-11.174838066101074],["ington",-11.1749906539917],["▁belle",-11.175024032592773],["tting",-11.17537784576416],["▁attacks",-11.175446510314941],["▁vei",-11.17546558380127],["▁gerade",-11.175470352172852],["▁strain",-11.175748825073242],["▁offices",-11.1759672164917],["EM",-11.17627239227295],["EST",-11.176509857177734],["-8",-11.176758766174316],["▁faculty",-11.176998138427734],["▁Plant",-11.177046775817871],["pla",-11.177295684814453],["card",-11.177618980407715],["▁loose",-11.177982330322266],["▁PR",-11.178044319152832],["profit",-11.178071022033691],["▁channels",-11.178119659423828],["ATE",-11.178257942199707],["atic",-11.178304672241211],["wegen",-11.178404808044434],["word",-11.178621292114258],["▁sehen",-11.178659439086914],["▁nombre",-11.178744316101074],["▁DO",-11.178763389587402],["▁hoping",-11.178949356079102],["▁wollen",-11.179091453552246],["▁decat",-11.179244995117188],["IF",-11.179386138916016],["▁permission",-11.179396629333496],["▁Williams",-11.179936408996582],["▁beer",-11.179962158203125],["▁dernière",-11.180052757263184],["▁purchasing",-11.18025016784668],["▁pride",-11.180416107177734],["solv",-11.180598258972168],["ego",-11.180691719055176],["▁Oil",-11.18079662322998],["▁dishes",-11.18102741241455],["▁Baby",-11.181109428405762],["▁Roll",-11.181137084960938],["vez",-11.18134593963623],["▁drept",-11.181367874145508],["lly",-11.18148136138916],["▁potrivit",-11.181495666503906],["person",-11.181961059570312],["▁interactive",-11.182269096374512],["▁brilliant",-11.182304382324219],["▁000",-11.182357788085938],["▁giant",-11.182657241821289],["▁plain",-11.182945251464844],["▁lock",-11.183197975158691],["▁inspection",-11.183762550354004],["▁symbol",-11.18392276763916],["▁Gal",-11.183953285217285],["▁concepts",-11.1840181350708],["▁venture",-11.18411922454834],["▁Tr",-11.184402465820312],["▁Color",-11.184469223022461],["▁behalf",-11.184635162353516],["ink",-11.184715270996094],["atii",-11.1848726272583],["wie",-11.184907913208008],["▁stream",-11.18514347076416],["▁buyers",-11.185192108154297],["legen",-11.185526847839355],["iness",-11.18578815460205],["▁absolute",-11.185945510864258],["▁council",-11.186067581176758],["▁displayed",-11.186172485351562],["▁Bun",-11.186405181884766],["▁darauf",-11.186585426330566],["▁rod",-11.186829566955566],["▁repeat",-11.186898231506348],["quelle",-11.187023162841797],["lation",-11.187433242797852],["gul",-11.18774700164795],["▁compensation",-11.188064575195312],["▁string",-11.1881685256958],["▁joining",-11.188251495361328],["▁Pra",-11.188429832458496],["hab",-11.188936233520508],["▁plane",-11.189024925231934],["▁conversion",-11.189078330993652],["▁lesson",-11.189361572265625],["bound",-11.1893949508667],["▁seats",-11.18946361541748],["voc",-11.189902305603027],["▁Disney",-11.190120697021484],["esse",-11.190277099609375],["▁awards",-11.190279006958008],["▁initiative",-11.190483093261719],["UM",-11.19050407409668],["▁intelligence",-11.190763473510742],["▁laser",-11.191128730773926],["än",-11.191228866577148],["▁generated",-11.191231727600098],["▁allen",-11.19186782836914],["▁Aug",-11.19261360168457],["lini",-11.192968368530273],["▁Update",-11.193015098571777],["▁grab",-11.193095207214355],["▁Bridge",-11.193219184875488],["rock",-11.193289756774902],["hold",-11.193461418151855],["seinen",-11.193643569946289],["▁false",-11.193758010864258],["type",-11.193792343139648],["▁outcome",-11.193906784057617],["▁crazy",-11.194161415100098],["▁Platz",-11.194281578063965],["▁believed",-11.194426536560059],["▁adjust",-11.194503784179688],["▁entrance",-11.194644927978516],["▁Colorado",-11.194751739501953],["▁concentration",-11.194865226745605],["aid",-11.194958686828613],["▁regardless",-11.195035934448242],["▁mici",-11.195063591003418],["▁potentially",-11.195109367370605],["▁Custom",-11.195867538452148],["rag",-11.196009635925293],["▁employer",-11.19604206085205],["tagged",-11.196158409118652],["▁34",-11.196271896362305],["fro",-11.196895599365234],["▁Pas",-11.197010040283203],["▁AS",-11.197013854980469],["PP",-11.197031021118164],["stru",-11.19741439819336],["grâce",-11.198037147521973],["▁anyway",-11.198240280151367],["▁streets",-11.1986083984375],["▁Region",-11.199190139770508],["▁newly",-11.199280738830566],["▁assistant",-11.199461936950684],["▁requests",-11.199618339538574],["▁Ohio",-11.199705123901367],["▁continuing",-11.200072288513184],["▁îm",-11.200136184692383],["7%",-11.20031452178955],["▁basically",-11.200325965881348],["gabe",-11.200334548950195],["▁ultra",-11.200355529785156],["pic",-11.200571060180664],["▁jeder",-11.200939178466797],["▁Cook",-11.201225280761719],["▁tie",-11.201227188110352],["▁yard",-11.20151424407959],["▁wash",-11.20152759552002],["▁3,",-11.20194149017334],["▁exista",-11.202128410339355],["▁egg",-11.202342987060547],["▁marché",-11.202616691589355],["kommen",-11.202630996704102],["▁Select",-11.202999114990234],["geben",-11.203126907348633],["▁Joseph",-11.203531265258789],["▁Ces",-11.203642845153809],["▁hundred",-11.203676223754883],["even",-11.203792572021484],["gal",-11.204232215881348],["800",-11.20443058013916],["▁Jones",-11.204599380493164],["ova",-11.204681396484375],["▁careful",-11.204727172851562],["▁alarm",-11.205070495605469],["NI",-11.205113410949707],["▁residence",-11.205327987670898],["▁wäre",-11.20590877532959],["▁Dor",-11.205986976623535],["▁amounts",-11.206369400024414],["▁mistake",-11.206687927246094],["ates",-11.206796646118164],["▁bune",-11.206951141357422],["▁vegetables",-11.207124710083008],["▁Ann",-11.207204818725586],["logical",-11.20776081085205],["stadt",-11.207806587219238],["▁chances",-11.207921981811523],["%)",-11.208030700683594],["▁minimal",-11.20810604095459],["▁naturally",-11.20817756652832],["▁Geld",-11.20822525024414],["▁Yu",-11.208361625671387],["▁wrap",-11.20840072631836],["rest",-11.208674430847168],["▁legs",-11.208758354187012],["PM",-11.208806991577148],["▁Heart",-11.208888053894043],["▁suspect",-11.209020614624023],["Go",-11.209098815917969],["▁Fil",-11.209175109863281],["▁YOU",-11.209175109863281],["▁victory",-11.209245681762695],["pun",-11.20960807800293],["▁Zo",-11.209632873535156],["CT",-11.209640502929688],["▁trim",-11.20969009399414],["▁stuck",-11.209836959838867],["ators",-11.209877014160156],["▁Ideas",-11.210016250610352],["▁voyage",-11.210166931152344],["▁Restaurant",-11.210205078125],["▁pat",-11.210234642028809],["▁bond",-11.210521697998047],["▁Del",-11.210552215576172],["▁fighting",-11.210705757141113],["▁concerning",-11.210867881774902],["▁etwa",-11.211141586303711],["▁Thema",-11.211237907409668],["▁preferred",-11.211423873901367],["▁pitch",-11.211465835571289],["▁Singapore",-11.211971282958984],["▁tub",-11.212018013000488],["FT",-11.212053298950195],["▁Product",-11.21212100982666],["▁applying",-11.212285995483398],["▁Fr",-11.212340354919434],["ţa",-11.212599754333496],["▁iPad",-11.212861061096191],["PD",-11.2129545211792],["▁comun",-11.212995529174805],["▁pie",-11.213286399841309],["rank",-11.21364688873291],["tron",-11.213677406311035],["▁pest",-11.213906288146973],["▁herself",-11.213936805725098],["▁intense",-11.213964462280273],["foot",-11.21413803100586],["▁1998",-11.2141695022583],["▁anxiety",-11.214616775512695],["▁portable",-11.214674949645996],["▁harm",-11.214735984802246],["▁admit",-11.214885711669922],["sted",-11.214900016784668],["▁regions",-11.215450286865234],["cie",-11.215556144714355],["▁robust",-11.21577262878418],["▁stem",-11.215982437133789],["▁roles",-11.216024398803711],["▁Latin",-11.216224670410156],["▁Ré",-11.216378211975098],["▁ref",-11.216381072998047],["isme",-11.216426849365234],["▁contribution",-11.216776847839355],["▁forever",-11.217447280883789],["▁frei",-11.21754264831543],["▁mont",-11.217818260192871],["that",-11.217999458312988],["▁sensitive",-11.218116760253906],["▁wider",-11.218175888061523],["AF",-11.218234062194824],["▁liability",-11.218748092651367],["ţiei",-11.219043731689453],["▁Cho",-11.219260215759277],["aria",-11.21960735321045],["rang",-11.21977710723877],["▁Account",-11.21986198425293],["▁III",-11.219941139221191],["▁tooth",-11.220222473144531],["▁factory",-11.220240592956543],["▁dropped",-11.220495223999023],["horn",-11.220780372619629],["RP",-11.221110343933105],["▁container",-11.22118091583252],["fran",-11.221474647521973],["▁lawyer",-11.221842765808105],["▁Image",-11.221907615661621],["HO",-11.22195816040039],["▁incorporate",-11.221992492675781],["▁lume",-11.22226333618164],["GA",-11.222331047058105],["itati",-11.222370147705078],["autre",-11.222665786743164],["ierten",-11.222688674926758],["[",-11.222746849060059],["▁packages",-11.222758293151855],["▁Simon",-11.22290325164795],["▁somewhat",-11.223734855651855],["mbo",-11.223737716674805],["lite",-11.223844528198242],["▁eliminate",-11.22395133972168],["▁decrease",-11.224117279052734],["▁geben",-11.224214553833008],["▁approaches",-11.224482536315918],["▁tissue",-11.224940299987793],["▁personne",-11.225192070007324],["ional",-11.225587844848633],["unable",-11.2256498336792],["▁Case",-11.225736618041992],["hill",-11.225744247436523],["och",-11.225862503051758],["▁minister",-11.225920677185059],["▁Rad",-11.226285934448242],["▁yoga",-11.226390838623047],["▁encounter",-11.22661018371582],["text",-11.22670841217041],["▁OS",-11.226719856262207],["▁opera",-11.22673225402832],["▁loving",-11.226977348327637],["▁birds",-11.227363586425781],["▁prim",-11.227389335632324],["easca",-11.227432250976562],["park",-11.227453231811523],["fü",-11.227797508239746],["▁champion",-11.227824211120605],["▁warning",-11.228245735168457],["DC",-11.228271484375],["▁yield",-11.228310585021973],["raum",-11.228334426879883],["▁Student",-11.228434562683105],["▁Rev",-11.22848892211914],["▁Fu",-11.228501319885254],["▁intra",-11.22854232788086],["▁proces",-11.228585243225098],["▁margin",-11.228621482849121],["lands",-11.228816986083984],["04",-11.228952407836914],["▁Steel",-11.229897499084473],["▁besoin",-11.230081558227539],["şti",-11.230561256408691],["▁39",-11.230635643005371],["▁outcomes",-11.230677604675293],["wert",-11.230719566345215],["3,",-11.23080062866211],["▁hole",-11.230888366699219],["▁Create",-11.23096752166748],["▁hall",-11.231266975402832],["nach",-11.231595039367676],["▁indicate",-11.232311248779297],["cum",-11.232604026794434],["▁Mann",-11.232690811157227],["▁reaction",-11.232828140258789],["▁empty",-11.23289680480957],["▁Sign",-11.232941627502441],["▁pm",-11.23300838470459],["erung",-11.23322582244873],["▁würde",-11.233592987060547],["▁declarat",-11.233602523803711],["6%",-11.23371410369873],["▁Client",-11.23377513885498],["vil",-11.234295845031738],["▁electricity",-11.234469413757324],["▁75",-11.234505653381348],["▁buna",-11.234505653381348],["eşte",-11.23473834991455],["▁prop",-11.234792709350586],["▁journal",-11.234883308410645],["▁meu",-11.23495101928711],["▁chef",-11.235034942626953],["▁Ever",-11.235102653503418],["▁feelings",-11.235466003417969],["PT",-11.23551082611084],["▁proposal",-11.235651969909668],["▁Its",-11.235709190368652],["▁2013.",-11.235795974731445],["▁Bundes",-11.23595142364502],["▁droit",-11.236333847045898],["▁10%",-11.236671447753906],["gard",-11.236772537231445],["information",-11.236814498901367],["FE",-11.237309455871582],["▁Dun",-11.237340927124023],["▁Stock",-11.237472534179688],["ație",-11.2374849319458],["▁mag",-11.237603187561035],["▁br",-11.237665176391602],["▁sight",-11.237772941589355],["phone",-11.237796783447266],["▁Cy",-11.237811088562012],["▁opposite",-11.238035202026367],["ically",-11.238235473632812],["großen",-11.238388061523438],["▁Without",-11.23845100402832],["espace",-11.238515853881836],["▁chairs",-11.238595008850098],["▁matches",-11.238685607910156],["ateur",-11.238697052001953],["▁Cost",-11.238699913024902],["▁WordPress",-11.238880157470703],["▁Opera",-11.239195823669434],["walked",-11.239234924316406],["▁transactions",-11.239521026611328],["▁nuclear",-11.239579200744629],["ways",-11.239594459533691],["▁Oct",-11.239738464355469],["▁bomb",-11.239835739135742],["▁tracking",-11.239879608154297],["▁photograph",-11.240066528320312],["bio",-11.240309715270996],["▁branch",-11.240363121032715],["▁$5",-11.240684509277344],["▁diagram",-11.240986824035645],["▁Hard",-11.241218566894531],["bach",-11.241232872009277],["▁42",-11.241249084472656],["logy",-11.241472244262695],["▁tile",-11.241593360900879],["▁API",-11.241833686828613],["seront",-11.24204158782959],["ENT",-11.242156982421875],["▁accommodation",-11.242409706115723],["▁fiber",-11.242438316345215],["▁Give",-11.242792129516602],["▁Gas",-11.242916107177734],["▁Spain",-11.243086814880371],["▁listing",-11.24312686920166],["▁blocks",-11.24349308013916],["▁constitu",-11.243762969970703],["▁convenience",-11.243797302246094],["▁prize",-11.243823051452637],["▁aircraft",-11.24404239654541],["containing",-11.244124412536621],["▁vice",-11.244247436523438],["▁organisations",-11.244304656982422],["▁complicated",-11.244588851928711],["rons",-11.244647979736328],["▁bars",-11.244670867919922],["était",-11.244705200195312],["▁checking",-11.245287895202637],["vant",-11.245542526245117],["▁couch",-11.245657920837402],["▁brush",-11.245870590209961],["▁printer",-11.245922088623047],["▁Rat",-11.246051788330078],["▁announce",-11.246057510375977],["▁salari",-11.246200561523438],["▁Sk",-11.246356964111328],["pal",-11.246383666992188],["▁yards",-11.24658203125],["▁flexibility",-11.246652603149414],["▁jamais",-11.24670696258545],["UC",-11.246740341186523],["▁4,",-11.246793746948242],["▁Made",-11.247078895568848],["▁solche",-11.247113227844238],["▁tri",-11.247237205505371],["▁outfit",-11.247243881225586],["м",-11.247267723083496],["▁encouraged",-11.247477531433105],["trac",-11.247552871704102],["▁genetic",-11.24755859375],["▁beneficial",-11.247747421264648],["mă",-11.247849464416504],["involving",-11.247879028320312],["▁knee",-11.247879028320312],["▁respective",-11.248316764831543],["▁controlled",-11.248350143432617],["▁Rück",-11.24837589263916],["LC",-11.248592376708984],["▁highlight",-11.248634338378906],["chem",-11.248797416687012],["▁Bis",-11.24956226348877],["▁graphics",-11.249592781066895],["▁posibil",-11.249672889709473],["orul",-11.249682426452637],["imagin",-11.249836921691895],["▁draft",-11.250006675720215],["shaped",-11.250219345092773],["▁suggests",-11.250221252441406],["uvre",-11.250509262084961],["page",-11.250545501708984],["▁sentiment",-11.250685691833496],["▁loop",-11.251015663146973],["▁Quality",-11.251839637756348],["▁volunteers",-11.251869201660156],["▁representation",-11.251923561096191],["▁examination",-11.252134323120117],["▁(2)",-11.252225875854492],["assi",-11.252435684204102],["▁till",-11.252486228942871],["▁Catholic",-11.252618789672852],["▁2020",-11.252726554870605],["▁random",-11.252764701843262],["tage",-11.253146171569824],["▁baking",-11.253690719604492],["▁Musik",-11.253852844238281],["▁SC",-11.253867149353027],["▁möchte",-11.254390716552734],["▁gene",-11.254411697387695],["▁kam",-11.254928588867188],["▁inspire",-11.254974365234375],["unk",-11.255097389221191],["▁Final",-11.255477905273438],["▁jeden",-11.255497932434082],["▁LLC",-11.255962371826172],["▁sistem",-11.25613784790039],["▁stages",-11.256441116333008],["▁texture",-11.256613731384277],["rib",-11.256739616394043],["lung",-11.256782531738281],["▁breath",-11.256814002990723],["▁hosted",-11.256844520568848],["▁Kingdom",-11.257079124450684],["▁politics",-11.257121086120605],["▁mood",-11.257122993469238],["cam",-11.257285118103027],["▁liked",-11.257287979125977],["▁Credit",-11.257304191589355],["tisch",-11.257527351379395],["▁everywhere",-11.257692337036133],["▁poti",-11.257915496826172],["▁fruits",-11.258264541625977],["oire",-11.258322715759277],["▁mesure",-11.258586883544922],["▁Studies",-11.258838653564453],["▁provision",-11.25888729095459],["▁Maria",-11.258927345275879],["▁necessarily",-11.259103775024414],["▁Net",-11.259212493896484],["▁scar",-11.259307861328125],["▁tracks",-11.259424209594727],["▁ads",-11.259856224060059],["termin",-11.259861946105957],["▁Yo",-11.26022720336914],["atory",-11.260252952575684],["itoare",-11.26025676727295],["▁colours",-11.260563850402832],["▁correctly",-11.260817527770996],["▁Trade",-11.26090145111084],["▁Week",-11.261052131652832],["▁Premier",-11.261499404907227],["▁designers",-11.261600494384766],["▁BE",-11.261879920959473],["▁desktop",-11.261929512023926],["▁lifetime",-11.262046813964844],["▁Kind",-11.26213264465332],["▁divers",-11.262246131896973],["rain",-11.262260437011719],["▁Von",-11.262263298034668],["▁bal",-11.262568473815918],["▁shots",-11.262624740600586],["▁accommodate",-11.262767791748047],["▁Paper",-11.263001441955566],["▁interaction",-11.263191223144531],["▁acquisition",-11.263233184814453],["▁neuro",-11.26378345489502],["▁institution",-11.26391887664795],["▁automatic",-11.26403522491455],["▁assess",-11.264177322387695],["▁manifest",-11.264199256896973],["▁audit",-11.264202117919922],["▁câte",-11.264406204223633],["▁insight",-11.264533996582031],["▁lange",-11.264781951904297],["▁retirement",-11.264795303344727],["sons",-11.264864921569824],["▁Asian",-11.26492691040039],["▁rail",-11.264978408813477],["▁Awards",-11.264982223510742],["Avec",-11.265035629272461],["SO",-11.26511287689209],["para",-11.265304565429688],["▁tant",-11.265562057495117],["▁strike",-11.265693664550781],["▁transformation",-11.265742301940918],["▁leicht",-11.26586627960205],["л",-11.265996932983398],["fat",-11.26629638671875],["▁Qui",-11.266626358032227],["▁chip",-11.26663589477539],["titude",-11.266640663146973],["▁Projekt",-11.266998291015625],["▁statt",-11.267010688781738],["▁findet",-11.267184257507324],["▁telephone",-11.267251968383789],["▁staying",-11.267267227172852],["▁Mess",-11.267353057861328],["▁patio",-11.267382621765137],["▁afla",-11.267890930175781],["▁administrative",-11.267910957336426],["▁gemeinsam",-11.268129348754883],["▁suppliers",-11.268136024475098],["ark",-11.268181800842285],["▁rice",-11.268397331237793],["▁stretch",-11.268439292907715],["▁compact",-11.268651008605957],["fire",-11.268756866455078],["в",-11.268963813781738],["vision",-11.269035339355469],["▁Mag",-11.269368171691895],["▁dreams",-11.269472122192383],["▁funny",-11.26968765258789],["▁lässt",-11.270216941833496],["cade",-11.270448684692383],["▁drama",-11.270484924316406],["▁schimb",-11.270767211914062],["PO",-11.270785331726074],["▁Sim",-11.270806312561035],["▁motivation",-11.271045684814453],["▁presents",-11.27138614654541],["▁1997",-11.271828651428223],["agi",-11.271883010864258],["▁optimal",-11.27198314666748],["▁folder",-11.271995544433594],["stro",-11.272034645080566],["▁Han",-11.272072792053223],["▁Ei",-11.27220344543457],["▁pus",-11.272356986999512],["▁Learning",-11.272531509399414],["oop",-11.272603034973145],["▁Type",-11.272658348083496],["space",-11.272665023803711],["▁define",-11.273098945617676],["▁plug",-11.273098945617676],["yard",-11.273188591003418],["▁utility",-11.273297309875488],["über",-11.273561477661133],["▁commun",-11.273627281188965],["▁directed",-11.273842811584473],["▁consent",-11.273893356323242],["▁DNA",-11.274068832397461],["▁statements",-11.274130821228027],["real",-11.274298667907715],["active",-11.274430274963379],["school",-11.274965286254883],["▁mic",-11.275360107421875],["▁acestui",-11.275467872619629],["scale",-11.27550220489502],["▁Mid",-11.275628089904785],["▁Chair",-11.275874137878418],["к",-11.275936126708984],["▁Bas",-11.27630615234375],["▁38",-11.276379585266113],["erin",-11.276461601257324],["▁Everyone",-11.27686882019043],["COM",-11.276907920837402],["▁chronic",-11.277079582214355],["▁doctors",-11.277222633361816],["▁sh",-11.277276039123535],["sport",-11.27740478515625],["▁volunteer",-11.277512550354004],["▁drinking",-11.277839660644531],["▁Mas",-11.277868270874023],["▁pursue",-11.2780122756958],["▁exposed",-11.278536796569824],["exe",-11.278660774230957],["hung",-11.278841972351074],["▁Tier",-11.278921127319336],["▁plac",-11.279121398925781],["▁proiect",-11.279136657714844],["▁literally",-11.279288291931152],["▁acolo",-11.279412269592285],["▁User",-11.279485702514648],["UT",-11.279598236083984],["▁hyper",-11.279623985290527],["▁seed",-11.279794692993164],["▁literature",-11.2802734375],["▁Holy",-11.280373573303223],["▁jeu",-11.280396461486816],["▁licensed",-11.280896186828613],["station",-11.280900955200195],["▁criteria",-11.281292915344238],["▁sufficient",-11.281292915344238],["▁gestion",-11.281512260437012],["▁pic",-11.281549453735352],["▁64",-11.28170108795166],["▁facts",-11.281905174255371],["▁Bild",-11.282098770141602],["obi",-11.28212833404541],["▁nie",-11.282362937927246],["▁Jewish",-11.282756805419922],["bor",-11.28281307220459],["▁1980",-11.28286361694336],["▁Fach",-11.282917976379395],["craft",-11.283047676086426],["▁Pakistan",-11.283408164978027],["▁Mos",-11.283621788024902],["▁toilet",-11.283844947814941],["partea",-11.28391170501709],["case",-11.284221649169922],["▁clock",-11.28430461883545],["▁parc",-11.284602165222168],["▁legislation",-11.284692764282227],["▁icon",-11.284933090209961],["etz",-11.285178184509277],["ept",-11.285270690917969],["▁Corporation",-11.28585433959961],["▁requested",-11.285983085632324],["▁column",-11.286088943481445],["rier",-11.286120414733887],["uß",-11.2861967086792],["▁wohl",-11.286418914794922],["tell",-11.286569595336914],["gno",-11.286608695983887],["▁diseases",-11.286726951599121],["Sch",-11.286762237548828],["▁colon",-11.287075996398926],["▁Based",-11.28709602355957],["▁flu",-11.28725528717041],["▁vocal",-11.287408828735352],["▁virus",-11.287693977355957],["▁traveling",-11.287750244140625],["bul",-11.287837982177734],["т",-11.28794002532959],["city",-11.287961959838867],["AU",-11.287991523742676],["wide",-11.288037300109863],["▁solo",-11.288061141967773],["▁functionality",-11.288214683532715],["▁reveal",-11.28831672668457],["sign",-11.288952827453613],["▁closing",-11.288971900939941],["▁peak",-11.289087295532227],["▁practic",-11.289398193359375],["than",-11.289473533630371],["▁driven",-11.289484977722168],["êtes",-11.289548873901367],["high",-11.290016174316406],["power",-11.290226936340332],["▁Lin",-11.29028606414795],["▁dose",-11.29034423828125],["▁pocket",-11.290650367736816],["▁Classic",-11.29067611694336],["▁packaging",-11.290792465209961],["▁distinct",-11.290800094604492],["▁côté",-11.291094779968262],["▁breast",-11.29127025604248],["▁folosit",-11.29133129119873],["▁drinks",-11.291353225708008],["▁Dog",-11.291529655456543],["ailleurs",-11.291658401489258],["▁caz",-11.291804313659668],["▁escape",-11.29188346862793],["▁warranty",-11.291902542114258],["▁pulled",-11.291996955871582],["data",-11.292088508605957],["▁facilitate",-11.292213439941406],["É",-11.292335510253906],["▁SP",-11.292403221130371],["lant",-11.292557716369629],["AD",-11.29256534576416],["▁Print",-11.292802810668945],["mond",-11.292863845825195],["▁strange",-11.292875289916992],["▁Hor",-11.293227195739746],["▁Collection",-11.293328285217285],["arm",-11.29346752166748],["cas",-11.293691635131836],["arrow",-11.29379940032959],["▁carrying",-11.293927192687988],["▁wave",-11.294661521911621],["setzt",-11.294907569885254],["▁construct",-11.29514217376709],["▁acts",-11.295269966125488],["▁Action",-11.295342445373535],["▁Kim",-11.295354843139648],["oxid",-11.295459747314453],["fish",-11.295519828796387],["▁damaged",-11.295660018920898],["▁Greek",-11.295747756958008],["▁belt",-11.295772552490234],["▁Prior",-11.295778274536133],["▁marks",-11.295936584472656],["▁lumea",-11.296183586120605],["▁twenty",-11.296196937561035],["▁locul",-11.296360969543457],["▁Army",-11.296524047851562],["apt",-11.296602249145508],["▁limits",-11.296733856201172],["▁cruise",-11.296966552734375],["▁List",-11.296998023986816],["utilisation",-11.29753589630127],["▁personality",-11.297622680664062],["▁sections",-11.297759056091309],["▁drawn",-11.29797649383545],["▁mold",-11.298277854919434],["▁Think",-11.298333168029785],["▁holidays",-11.298355102539062],["▁critic",-11.298545837402344],["grade",-11.298660278320312],["▁sick",-11.299074172973633],["▁characteristics",-11.299237251281738],["▁echipa",-11.299272537231445],["▁Fast",-11.29929256439209],["▁Br",-11.299600601196289],["▁Reise",-11.299734115600586],["teen",-11.299749374389648],["uci",-11.299949645996094],["!”",-11.300180435180664],["ppe",-11.300532341003418],["▁talked",-11.301164627075195],["▁gap",-11.301473617553711],["homme",-11.301778793334961],["▁interact",-11.301934242248535],["▁dollar",-11.302276611328125],["▁bone",-11.302309036254883],["▁Einsatz",-11.302343368530273],["▁sad",-11.302434921264648],["any",-11.302445411682129],["tation",-11.302666664123535],["▁Haupt",-11.302748680114746],["iva",-11.302781105041504],["▁Schu",-11.302916526794434],["▁evaluate",-11.3036470413208],["▁variant",-11.303807258605957],["▁IS",-11.303879737854004],["▁PRO",-11.303947448730469],["▁vine",-11.303959846496582],["rut",-11.304062843322754],["▁existence",-11.30443286895752],["-7",-11.304525375366211],["ancy",-11.304702758789062],["▁Want",-11.305023193359375],["alism",-11.305127143859863],["ranging",-11.30550765991211],["preis",-11.305551528930664],["All",-11.305620193481445],["▁reception",-11.30565071105957],["mai",-11.305730819702148],["▁lease",-11.30577278137207],["▁finest",-11.30578899383545],["▁evident",-11.305874824523926],["▁Easy",-11.306075096130371],["▁gilt",-11.306085586547852],["▁trips",-11.306344985961914],["▁skilled",-11.306368827819824],["consists",-11.306456565856934],["front",-11.306635856628418],["rati",-11.306652069091797],["▁Following",-11.30678653717041],["▁Medicine",-11.307161331176758],["▁pune",-11.30729866027832],["▁errors",-11.307354927062988],["arian",-11.307613372802734],["lib",-11.30811882019043],["SR",-11.308351516723633],["ML",-11.308568000793457],["▁Safety",-11.308823585510254],["▁clar",-11.309355735778809],["New",-11.309764862060547],["▁37",-11.309773445129395],["▁Administration",-11.309823036193848],["▁2.0",-11.310120582580566],["▁obviously",-11.310196876525879],["▁Mitarbeiter",-11.310254096984863],["▁improvements",-11.31043529510498],["▁Cut",-11.310630798339844],["▁Natural",-11.310672760009766],["▁arrival",-11.311182975769043],["▁pizza",-11.311339378356934],["eşti",-11.311570167541504],["cept",-11.311654090881348],["▁livre",-11.311686515808105],["▁nombreux",-11.312195777893066],["▁authentic",-11.312231063842773],["▁gemacht",-11.312472343444824],["▁broadcast",-11.312478065490723],["▁stronger",-11.312545776367188],["UP",-11.31257152557373],["▁centers",-11.312614440917969],["▁petite",-11.312617301940918],["▁spots",-11.312626838684082],["▁crystal",-11.312756538391113],["▁salon",-11.313044548034668],["▁gained",-11.313098907470703],["▁Mus",-11.313215255737305],["▁lens",-11.313223838806152],["▁ihm",-11.313231468200684],["minute",-11.313573837280273],["▁greatly",-11.313587188720703],["LP",-11.31361198425293],["rait",-11.314027786254883],["▁bid",-11.314154624938965],["▁cit",-11.314203262329102],["entreprise",-11.31435775756836],["▁55",-11.314533233642578],["▁respectively",-11.314536094665527],["▁lo",-11.314638137817383],["▁cons",-11.314743995666504],["▁Energie",-11.315169334411621],["▁OK",-11.31521224975586],["▁grill",-11.315338134765625],["▁heading",-11.31549072265625],["▁sollten",-11.315491676330566],["▁Fragen",-11.315528869628906],["▁Poli",-11.315556526184082],["▁studying",-11.315723419189453],["▁développement",-11.315882682800293],["▁foam",-11.316035270690918],["▁1996",-11.316511154174805],["▁disaster",-11.31662654876709],["▁cafe",-11.317262649536133],["▁moves",-11.317267417907715],["focuses",-11.317712783813477],["▁Avenue",-11.317834854125977],["▁humans",-11.31784439086914],["▁(3",-11.318021774291992],["▁région",-11.318347930908203],["▁DJ",-11.318608283996582],["shop",-11.318819046020508],["▁acting",-11.318843841552734],["▁Justice",-11.318967819213867],["▁trouve",-11.319010734558105],["▁Estate",-11.319040298461914],["▁strict",-11.319231986999512],["▁talks",-11.319283485412598],["▁mat",-11.319290161132812],["▁completion",-11.319327354431152],["delivering",-11.31943416595459],["CD",-11.31973934173584],["0%",-11.319960594177246],["▁creativity",-11.320253372192383],["BR",-11.320272445678711],["▁occurred",-11.320357322692871],["Car",-11.320590019226074],["▁rising",-11.320761680603027],["gger",-11.32086181640625],["▁Gene",-11.320901870727539],["▁workplace",-11.320914268493652],["phy",-11.321065902709961],["▁Bla",-11.32107162475586],["▁trailer",-11.32120418548584],["▁Forest",-11.321205139160156],["▁profession",-11.321246147155762],["▁Father",-11.32137680053711],["flu",-11.321487426757812],["tone",-11.321489334106445],["▁sexual",-11.321736335754395],["▁Map",-11.321805953979492],["OT",-11.3218412399292],["▁Us",-11.321878433227539],["tôt",-11.321892738342285],["▁Wert",-11.321901321411133],["preparing",-11.322121620178223],["isé",-11.322243690490723],["▁lake",-11.322461128234863],["eed",-11.32270336151123],["jun",-11.322888374328613],["▁implemented",-11.323014259338379],["vid",-11.323116302490234],["igne",-11.323201179504395],["▁follows",-11.323214530944824],["▁Eric",-11.323430061340332],["body",-11.323530197143555],["▁contained",-11.323585510253906],["▁massage",-11.323715209960938],["AV",-11.323725700378418],["▁insa",-11.323850631713867],["▁observed",-11.323892593383789],["▁marque",-11.324137687683105],["lines",-11.324451446533203],["▁Frage",-11.324482917785645],["largely",-11.324647903442383],["gegeben",-11.32473087310791],["▁colleagues",-11.324762344360352],["pha",-11.32494068145752],["▁representative",-11.325217247009277],["▁shut",-11.325650215148926],["▁secondary",-11.325779914855957],["▁exhibit",-11.325927734375],["1)",-11.325932502746582],["mid",-11.326109886169434],["▁Due",-11.326229095458984],["▁initiatives",-11.326457023620605],["▁occurs",-11.326458930969238],["lent",-11.326478958129883],["▁façon",-11.326778411865234],["▁iOS",-11.326803207397461],["▁exploring",-11.327000617980957],["▁stations",-11.327103614807129],["nton",-11.327234268188477],["▁Country",-11.32729721069336],["▁shouldn",-11.327406883239746],["▁casual",-11.327611923217773],["-18",-11.32769775390625],["▁maintained",-11.32772445678711],["▁cart",-11.327790260314941],["▁propre",-11.327836036682129],["▁asset",-11.327948570251465],["firm",-11.32803726196289],["gla",-11.328231811523438],["viv",-11.3282470703125],["▁scientists",-11.328873634338379],["▁Nor",-11.328936576843262],["ites",-11.329320907592773],["▁engaging",-11.329933166503906],["My",-11.330178260803223],["▁workshops",-11.330282211303711],["ffer",-11.3303804397583],["activité",-11.33047103881836],["▁tension",-11.330567359924316],["▁dual",-11.330668449401855],["uer",-11.33084774017334],["900",-11.330941200256348],["SF",-11.33108139038086],["▁kannst",-11.331146240234375],["▁bur",-11.33115291595459],["▁visitor",-11.331156730651855],["▁granted",-11.331178665161133],["▁union",-11.331355094909668],["▁tablet",-11.331461906433105],["▁Choose",-11.33146858215332],["ibil",-11.331551551818848],["▁settlement",-11.331830978393555],["genommen",-11.331892967224121],["▁marked",-11.332956314086914],["▁diagnostic",-11.333370208740234],["▁prayer",-11.333529472351074],["▁Toronto",-11.334035873413086],["trans",-11.334146499633789],["▁respectiv",-11.334160804748535],["▁2012.",-11.334207534790039],["icul",-11.334394454956055],["▁satisfied",-11.334527969360352],["▁Fla",-11.334596633911133],["▁estimate",-11.334638595581055],["▁Agency",-11.33466911315918],["OD",-11.334708213806152],["▁McC",-11.334746360778809],["bert",-11.334748268127441],["▁seal",-11.334771156311035],["aine",-11.334839820861816],["▁cauza",-11.334848403930664],["▁wallpaper",-11.335081100463867],["▁alb",-11.33536434173584],["▁Sound",-11.335681915283203],["worth",-11.33572769165039],["chten",-11.335858345031738],["programm",-11.335896492004395],["▁pounds",-11.336215019226074],["▁coaching",-11.336278915405273],["▁Furthermore",-11.336454391479492],["▁Korea",-11.336471557617188],["▁flour",-11.336530685424805],["▁sommes",-11.33657169342041],["▁Repair",-11.33661937713623],["”)",-11.336642265319824],["itch",-11.336675643920898],["blu",-11.336786270141602],["zar",-11.336882591247559],["▁diferite",-11.33745002746582],["▁Golf",-11.337685585021973],["arch",-11.33772087097168],["▁panels",-11.337799072265625],["jan",-11.337956428527832],["“.",-11.338240623474121],["izarea",-11.338324546813965],["▁golden",-11.33854866027832],["▁flying",-11.338550567626953],["▁museum",-11.338700294494629],["▁equivalent",-11.338759422302246],["▁Lang",-11.339032173156738],["schi",-11.339539527893066],["MI",-11.339595794677734],["▁faci",-11.339838027954102],["▁Rahmen",-11.339988708496094],["▁attending",-11.340130805969238],["′′",-11.340483665466309],["▁Tro",-11.341070175170898],["▁gaming",-11.341447830200195],["▁aujourd",-11.341479301452637],["▁Wochen",-11.341526985168457],["▁entering",-11.341535568237305],["its",-11.34155559539795],["▁Private",-11.341866493225098],["▁Ocean",-11.34188175201416],["▁01",-11.342098236083984],["▁coloring",-11.342188835144043],["ător",-11.34253215789795],["▁flooring",-11.342548370361328],["▁downtown",-11.34276294708252],["rab",-11.342998504638672],["HI",-11.343221664428711],["▁illness",-11.343234062194824],["▁whil",-11.343307495117188],["▁diamond",-11.34333324432373],["Mail",-11.343419075012207],["▁Dream",-11.34344482421875],["▁Golden",-11.344099044799805],["▁rein",-11.344220161437988],["▁hi",-11.344283103942871],["▁expressed",-11.344489097595215],["▁luat",-11.344511985778809],["▁Share",-11.34453010559082],["▁Programm",-11.344706535339355],["▁Sales",-11.344707489013672],["▁prof",-11.344890594482422],["▁MO",-11.34505844116211],["▁Short",-11.345088958740234],["▁charm",-11.345290184020996],["▁Cer",-11.345373153686523],["▁Run",-11.34553337097168],["▁tutorial",-11.345589637756348],["oul",-11.34561824798584],["▁Fest",-11.345794677734375],["▁uniform",-11.345929145812988],["aß",-11.346014976501465],["▁pipe",-11.346076965332031],["▁Square",-11.346283912658691],["▁Kosten",-11.346365928649902],["▁checked",-11.346590042114258],["▁65",-11.346626281738281],["▁Adam",-11.346686363220215],["cel",-11.346700668334961],["ello",-11.346965789794922],["▁Res",-11.347023963928223],["▁drain",-11.34708309173584],["ză",-11.347129821777344],["▁Tech",-11.34739875793457],["▁strive",-11.34749698638916],["cycl",-11.347506523132324],["▁stark",-11.347541809082031],["load",-11.34754753112793],["▁Stat",-11.347589492797852],["▁Rec",-11.347622871398926],["ians",-11.347716331481934],["▁Tin",-11.347738265991211],["▁Agreement",-11.347840309143066],["▁pret",-11.348027229309082],["-9",-11.348326683044434],["▁sentence",-11.348380088806152],["▁Direct",-11.348426818847656],["▁Rep",-11.348465919494629],["▁Prozent",-11.348799705505371],["▁invitation",-11.34882640838623],["▁refund",-11.349113464355469],["▁Kids",-11.349287986755371],["stock",-11.349383354187012],["TP",-11.349400520324707],["▁tau",-11.34941291809082],["from",-11.349421501159668],["▁Ash",-11.349451065063477],["store",-11.349535942077637],["▁Common",-11.34958553314209],["▁Qualität",-11.34968376159668],["▁strongly",-11.349727630615234],["▁importante",-11.34979248046875],["ome",-11.349912643432617],["▁surtout",-11.349946022033691],["enables",-11.35020637512207],["▁decent",-11.350221633911133],["▁neutral",-11.350237846374512],["▁produs",-11.350356101989746],["bury",-11.350451469421387],["▁Level",-11.350618362426758],["▁interes",-11.350699424743652],["mov",-11.350797653198242],["▁backup",-11.350939750671387],["même",-11.351094245910645],["doc",-11.351119041442871],["▁#1",-11.35130786895752],["▁specified",-11.351495742797852],["▁founder",-11.351655960083008],["And",-11.352090835571289],["isten",-11.352149963378906],["▁lecture",-11.352729797363281],["▁wake",-11.352895736694336],["▁vraiment",-11.352980613708496],["▁swing",-11.353188514709473],["▁addresses",-11.353275299072266],["▁Verfügung",-11.353504180908203],["▁deadline",-11.353761672973633],["н",-11.353791236877441],["▁Content",-11.353970527648926],["▁Gre",-11.354111671447754],["▁Experience",-11.354378700256348],["tura",-11.354458808898926],["▁exit",-11.354642868041992],["▁Britain",-11.354652404785156],["▁Sunt",-11.354684829711914],["▁documentation",-11.354690551757812],["▁showcase",-11.3547945022583],["▁photographs",-11.354822158813477],["qué",-11.35483169555664],["zin",-11.354909896850586],["pres",-11.354933738708496],["▁decline",-11.354955673217773],["▁Large",-11.355030059814453],["▁bills",-11.355141639709473],["▁entitled",-11.355222702026367],["▁passionate",-11.355393409729004],["▁workout",-11.355413436889648],["▁Again",-11.35560417175293],["▁Haut",-11.35582160949707],["▁guaranteed",-11.35599136352539],["▁vue",-11.35600471496582],["▁farmers",-11.356224060058594],["▁admission",-11.356500625610352],["▁manière",-11.357080459594727],["▁reverse",-11.357121467590332],["▁FL",-11.357142448425293],["▁terminal",-11.357206344604492],["GI",-11.35731029510498],["▁speakers",-11.35739803314209],["▁responses",-11.357398986816406],["▁Doch",-11.357457160949707],["▁2013,",-11.357717514038086],["▁phones",-11.357789993286133],["ential",-11.357851028442383],["▁operator",-11.357916831970215],["▁steam",-11.358036994934082],["burn",-11.358091354370117],["▁seul",-11.35815715789795],["▁unusual",-11.358322143554688],["▁educate",-11.358403205871582],["▁Que",-11.358680725097656],["▁believes",-11.359137535095215],["▁succeed",-11.359344482421875],["▁delay",-11.359533309936523],["▁deeper",-11.359633445739746],["▁reaching",-11.359890937805176],["▁objectives",-11.360086441040039],["▁temporary",-11.36028003692627],["▁artistic",-11.360421180725098],["▁sou",-11.360471725463867],["▁transparent",-11.36062240600586],["There",-11.360798835754395],["ception",-11.360836029052734],["▁excess",-11.360939979553223],["▁gathering",-11.361008644104004],["▁Save",-11.361095428466797],["ază",-11.361166000366211],["▁français",-11.361197471618652],["▁laid",-11.361210823059082],["▁modul",-11.361394882202148],["avoir",-11.361465454101562],["under",-11.362113952636719],["dding",-11.362226486206055],["▁falls",-11.362232208251953],["▁Möglichkeit",-11.362369537353516],["▁ceremony",-11.362370491027832],["rai",-11.36237621307373],["▁Bor",-11.362709045410156],["▁Below",-11.362750053405762],["4)",-11.362759590148926],["▁Field",-11.362833023071289],["wear",-11.362935066223145],["motion",-11.362948417663574],["print",-11.363311767578125],["game",-11.363360404968262],["▁Irish",-11.363458633422852],["▁Las",-11.363458633422852],["Among",-11.363570213317871],["atori",-11.363580703735352],["▁ajuns",-11.363837242126465],["▁alive",-11.363860130310059],["▁retour",-11.363900184631348],["▁smoke",-11.3640775680542],["▁math",-11.364285469055176],["▁Ye",-11.364337921142578],["▁Denn",-11.36436653137207],["▁1995",-11.364412307739258],["▁bani",-11.364644050598145],["raz",-11.364998817443848],["world",-11.365026473999023],["▁engines",-11.365140914916992],["nehmen",-11.365192413330078],["stor",-11.365328788757324],["▁interpret",-11.365403175354004],["▁Ven",-11.365489959716797],["▁cotton",-11.365622520446777],["▁represented",-11.366004943847656],["▁fabulous",-11.366166114807129],["▁gender",-11.366301536560059],["Mar",-11.366668701171875],["vic",-11.366991996765137],["▁newsletter",-11.367432594299316],["sburg",-11.367574691772461],["pond",-11.36838436126709],["▁Carl",-11.368454933166504],["▁bunch",-11.368714332580566],["▁tower",-11.368847846984863],["▁trigger",-11.368976593017578],["▁explanation",-11.369091033935547],["Man",-11.369114875793457],["iunea",-11.369168281555176],["▁announcement",-11.369492530822754],["▁seeds",-11.36952018737793],["▁shell",-11.369865417480469],["▁Working",-11.36989688873291],["viz",-11.370267868041992],["▁Simply",-11.370329856872559],["sub",-11.37037181854248],["▁Village",-11.37060832977295],["▁falling",-11.370742797851562],["▁fits",-11.37084674835205],["▁wichtig",-11.37088394165039],["▁Down",-11.37108039855957],["bble",-11.371573448181152],["▁Orange",-11.37165641784668],["promoting",-11.371932029724121],["▁rapidly",-11.37217903137207],["▁translation",-11.372330665588379],["nig",-11.3723726272583],["fusion",-11.37240982055664],["kosten",-11.372611045837402],["2)",-11.372783660888672],["▁Express",-11.372958183288574],["▁Sw",-11.373003959655762],["▁frequency",-11.373086929321289],["▁diversity",-11.373348236083984],["MT",-11.373452186584473],["▁bekannt",-11.373530387878418],["lion",-11.373871803283691],["▁cop",-11.37393856048584],["▁Customer",-11.374072074890137],["▁demands",-11.374427795410156],["▁corn",-11.374516487121582],["▁Hamburg",-11.374551773071289],["SD",-11.374628067016602],["▁Rome",-11.374677658081055],["▁Pur",-11.374750137329102],["▁stamp",-11.374885559082031],["▁grateful",-11.374967575073242],["RM",-11.37511157989502],["▁Pl",-11.37511920928955],["▁Tele",-11.375154495239258],["▁plugin",-11.375492095947266],["▁maxim",-11.375675201416016],["▁Hoch",-11.37574577331543],["igung",-11.375823020935059],["▁Entwicklung",-11.375858306884766],["▁File",-11.375931739807129],["▁Eastern",-11.376070022583008],["▁scrap",-11.376331329345703],["▁acquired",-11.376338958740234],["sau",-11.376364707946777],["▁Klein",-11.376452445983887],["▁milioane",-11.376492500305176],["▁Stand",-11.376693725585938],["▁childhood",-11.37671184539795],["▁artificial",-11.376752853393555],["▁substantial",-11.376851081848145],["druck",-11.377315521240234],["▁Kra",-11.377562522888184],["▁performances",-11.377645492553711],["▁row",-11.377824783325195],["NT",-11.377899169921875],["mod",-11.377904891967773],["remained",-11.378399848937988],["▁nimic",-11.378462791442871],["▁Limited",-11.378555297851562],["▁cookie",-11.378718376159668],["▁retain",-11.378816604614258],["▁600",-11.379144668579102],["▁eigene",-11.379158020019531],["▁tune",-11.379209518432617],["NS",-11.379256248474121],["▁dad",-11.379284858703613],["Moreover",-11.379415512084961],["ès",-11.379434585571289],["▁worship",-11.379439353942871],["▁Material",-11.3794584274292],["▁verb",-11.379528045654297],["ziehen",-11.37957763671875],["lton",-11.379645347595215],["▁boot",-11.379982948303223],["plo",-11.380118370056152],["CF",-11.380212783813477],["GM",-11.380215644836426],["▁Mix",-11.38046932220459],["▁Front",-11.380474090576172],["▁repairs",-11.380655288696289],["▁proportion",-11.381068229675293],["▁habit",-11.381132125854492],["▁hide",-11.38156509399414],["focusing",-11.381707191467285],["▁Annual",-11.381717681884766],["▁twin",-11.3817777633667],["▁acord",-11.381780624389648],["ehr",-11.381814956665039],["month",-11.382303237915039],["venir",-11.382535934448242],["Or",-11.38254165649414],["awa",-11.382600784301758],["lass",-11.382735252380371],["ffe",-11.383048057556152],["iți",-11.383074760437012],["NO",-11.3831148147583],["▁scope",-11.383295059204102],["▁lowest",-11.383527755737305],["▁afraid",-11.383572578430176],["▁subjects",-11.383578300476074],["▁templates",-11.383586883544922],["▁jos",-11.383604049682617],["DM",-11.383687973022461],["ensemble",-11.383792877197266],["▁Ski",-11.383941650390625],["DP",-11.384099960327148],["▁grip",-11.384171485900879],["2-",-11.38436222076416],["▁sécurité",-11.384743690490723],["▁mono",-11.384749412536621],["▁controls",-11.384854316711426],["SV",-11.384879112243652],["install",-11.384970664978027],["berry",-11.385042190551758],["nial",-11.385120391845703],["shed",-11.385462760925293],["▁celle",-11.385830879211426],["FR",-11.385936737060547],["äng",-11.385950088500977],["▁gaz",-11.385984420776367],["êt",-11.386184692382812],["▁viewing",-11.386412620544434],["▁asigura",-11.386524200439453],["bling",-11.3865327835083],["master",-11.386919975280762],["▁Fin",-11.387160301208496],["VC",-11.387365341186523],["▁patent",-11.387715339660645],["▁Clean",-11.38773250579834],["▁1970",-11.387789726257324],["▁Char",-11.387971878051758],["thi",-11.388010025024414],["bli",-11.388141632080078],["▁haut",-11.388307571411133],["tica",-11.38836669921875],["▁venit",-11.388578414916992],["▁compatible",-11.388678550720215],["▁hanging",-11.388690948486328],["UN",-11.388842582702637],["▁forth",-11.388911247253418],["▁painted",-11.388912200927734],["lip",-11.389031410217285],["▁deeply",-11.389089584350586],["▁participating",-11.389242172241211],["▁Iran",-11.38968276977539],["▁conventional",-11.389769554138184],["ARE",-11.38985824584961],["▁accuracy",-11.389896392822266],["▁Familie",-11.389955520629883],["▁Dir",-11.39001178741455],["▁gehen",-11.390127182006836],["▁moderne",-11.39022159576416],["▁Iraq",-11.39050579071045],["▁vente",-11.390582084655762],["▁Donald",-11.390998840332031],["▁passer",-11.391051292419434],["▁mehrere",-11.391267776489258],["▁Everything",-11.391291618347168],["▁studied",-11.391307830810547],["▁acquire",-11.391312599182129],["für",-11.391477584838867],["▁gal",-11.391502380371094],["▁headed",-11.391809463500977],["▁screening",-11.391865730285645],["▁findings",-11.392303466796875],["▁nutrition",-11.392305374145508],["▁Secretary",-11.392308235168457],["duct",-11.392431259155273],["born",-11.392436027526855],["«",-11.39261531829834],["▁statistics",-11.392616271972656],["▁Sydney",-11.392800331115723],["▁Prof",-11.392829895019531],["▁dialogue",-11.39327621459961],["▁gather",-11.393425941467285],["valu",-11.393746376037598],["▁currency",-11.394073486328125],["▁Kat",-11.394092559814453],["gotten",-11.394189834594727],["main",-11.39432144165039],["▁coin",-11.394340515136719],["▁Nick",-11.394380569458008],["vă",-11.394658088684082],["▁Victoria",-11.394832611083984],["▁conclusion",-11.3949613571167],["▁lemon",-11.394998550415039],["▁Article",-11.39516830444336],["▁necesar",-11.39516830444336],["mag",-11.395180702209473],["▁riding",-11.39537239074707],["▁Eli",-11.395599365234375],["▁cord",-11.395635604858398],["wä",-11.39572811126709],["ußerdem",-11.395737648010254],["▁Bed",-11.395759582519531],["▁layers",-11.395833015441895],["▁harder",-11.395975112915039],["▁processor",-11.396040916442871],["▁Ils",-11.39613151550293],["▁Edition",-11.39615535736084],["▁Link",-11.396393775939941],["éré",-11.396461486816406],["▁nume",-11.396576881408691],["▁Boy",-11.39659595489502],["▁equally",-11.396646499633789],["▁Regel",-11.397119522094727],["▁hopes",-11.397185325622559],["odor",-11.397311210632324],["▁initially",-11.397430419921875],["▁$4",-11.3974609375],["▁exemplu",-11.397537231445312],["▁vari",-11.397565841674805],["schl",-11.397698402404785],["▁southern",-11.39809799194336],["▁mein",-11.39818000793457],["▁1994",-11.398300170898438],["▁importantly",-11.398401260375977],["▁succes",-11.398526191711426],["▁developer",-11.398598670959473],["▁lips",-11.39889144897461],["▁attitude",-11.39900016784668],["▁Age",-11.399541854858398],["▁corps",-11.399713516235352],["▁clicking",-11.39976978302002],["▁putem",-11.399832725524902],["▁journée",-11.40003776550293],["boy",-11.4002103805542],["▁injured",-11.40028190612793],["▁watched",-11.400433540344238],["▁flights",-11.40079116821289],["turn",-11.400980949401855],["▁stainless",-11.401562690734863],["▁besondere",-11.40156364440918],["▁Tur",-11.401596069335938],["▁hiring",-11.401650428771973],["▁roads",-11.401727676391602],["ificat",-11.401785850524902],["▁Flor",-11.402045249938965],["▁puternic",-11.402215003967285],["▁unexpected",-11.40223503112793],["▁Est",-11.40238094329834],["▁adopted",-11.40253734588623],["▁Fox",-11.402647972106934],["▁contributions",-11.402870178222656],["sec",-11.402968406677246],["IO",-11.403059959411621],["▁santé",-11.403432846069336],["▁Tree",-11.403763771057129],["▁scurt",-11.40381908416748],["▁Products",-11.403848648071289],["▁forecast",-11.403998374938965],["▁actor",-11.404143333435059],["▁Gallery",-11.404149055480957],["▁continuous",-11.404163360595703],["▁Hat",-11.404291152954102],["▁slip",-11.404501914978027],["9%",-11.404960632324219],["▁depression",-11.405043601989746],["UI",-11.405229568481445],["abile",-11.405648231506348],["▁merit",-11.405671119689941],["▁Fer",-11.405805587768555],["▁robot",-11.405888557434082],["▁gel",-11.40589427947998],["▁gentle",-11.406017303466797],["▁wanting",-11.406071662902832],["▁understood",-11.406157493591309],["▁terrain",-11.406161308288574],["▁associate",-11.406176567077637],["▁discussions",-11.40632152557373],["▁Job",-11.406365394592285],["spec",-11.406440734863281],["Dabei",-11.406475067138672],["etic",-11.406517028808594],["gol",-11.40654468536377],["▁20%",-11.406584739685059],["▁grup",-11.406606674194336],["▁Doctor",-11.406813621520996],["verse",-11.407246589660645],["▁victim",-11.407258033752441],["ță",-11.407302856445312],["▁scores",-11.407544136047363],["▁Policy",-11.407634735107422],["▁Anna",-11.407736778259277],["IV",-11.407804489135742],["▁mineral",-11.408202171325684],["live",-11.40821647644043],["▁grey",-11.408368110656738],["struct",-11.40852165222168],["▁emails",-11.408738136291504],["▁anymore",-11.409114837646484],["▁productivity",-11.409387588500977],["▁Dark",-11.409463882446289],["▁neither",-11.409481048583984],["▁quotes",-11.409611701965332],["LS",-11.410368919372559],["▁Arizona",-11.41040325164795],["night",-11.410497665405273],["élé",-11.411019325256348],["▁assigned",-11.411153793334961],["▁satellite",-11.411328315734863],["▁stability",-11.411665916442871],["▁networking",-11.41172981262207],["▁Transport",-11.411847114562988],["▁persons",-11.411856651306152],["fund",-11.412043571472168],["▁pratique",-11.41213321685791],["▁inca",-11.412134170532227],["iller",-11.412349700927734],["▁packed",-11.41239070892334],["▁Vegas",-11.412484169006348],["▁offre",-11.412493705749512],["▁Bin",-11.412518501281738],["stop",-11.412609100341797],["mini",-11.412860870361328],["▁jam",-11.412877082824707],["cord",-11.41289234161377],["▁Beautiful",-11.412996292114258],["▁trash",-11.413012504577637],["▁wise",-11.413092613220215],["▁accounting",-11.413178443908691],["▁différents",-11.413182258605957],["▁stil",-11.413214683532715],["suit",-11.413951873779297],["▁vier",-11.414209365844727],["▁permis",-11.414224624633789],["flow",-11.414238929748535],["▁col",-11.414749145507812],["ected",-11.414960861206055],["▁singer",-11.414999008178711],["▁GmbH",-11.415038108825684],["tics",-11.415094375610352],["▁ser",-11.415159225463867],["On",-11.415315628051758],["▁insights",-11.415605545043945],["BB",-11.415946960449219],["▁differ",-11.415959358215332],["▁Glass",-11.416131973266602],["▁Six",-11.416482925415039],["▁subscription",-11.416584968566895],["BC",-11.416606903076172],["▁returning",-11.416664123535156],["kleinen",-11.416693687438965],["▁advantages",-11.416747093200684],["omme",-11.416852951049805],["lus",-11.417071342468262],["now",-11.417141914367676],["▁Pack",-11.417253494262695],["▁leak",-11.417333602905273],["▁muscles",-11.41748332977295],["▁davon",-11.417492866516113],["mph",-11.417858123779297],["▁temple",-11.417868614196777],["▁Après",-11.417901039123535],["▁Illinois",-11.41801643371582],["▁variable",-11.418065071105957],["▁judgment",-11.418389320373535],["gran",-11.41861629486084],["▁pose",-11.418621063232422],["das",-11.418647766113281],["ures",-11.418673515319824],["▁Championship",-11.418689727783203],["ebenfalls",-11.41872501373291],["▁hydro",-11.418753623962402],["▁angle",-11.419268608093262],["▁5-",-11.41940975189209],["▁gest",-11.419547080993652],["▁Frau",-11.420233726501465],["▁knock",-11.420275688171387],["FS",-11.420442581176758],["spi",-11.420577049255371],["▁Regional",-11.420717239379883],["lets",-11.421098709106445],["▁Date",-11.42115592956543],["▁Finance",-11.421211242675781],["▁Dann",-11.421320915222168],["Star",-11.421380043029785],["▁Creek",-11.421393394470215],["▁fu",-11.421648979187012],["wohn",-11.422141075134277],["▁anniversary",-11.422219276428223],["▁investments",-11.422292709350586],["▁universal",-11.422601699829102],["▁pit",-11.422745704650879],["ște",-11.422784805297852],["▁lab",-11.422822952270508],["dienst",-11.422884941101074],["▁pal",-11.422889709472656],["▁graphic",-11.42289924621582],["▁bearing",-11.422900199890137],["▁stylish",-11.423087120056152],["▁mé",-11.42319393157959],["▁există",-11.42326545715332],["▁découvrir",-11.423477172851562],["comp",-11.423606872558594],["ridge",-11.423667907714844],["▁heads",-11.423765182495117],["▁consequences",-11.423835754394531],["self",-11.423842430114746],["fried",-11.423870086669922],["▁inventory",-11.424199104309082],["▁strip",-11.42422866821289],["▁Civil",-11.42424488067627],["bell",-11.424307823181152],["▁neben",-11.424444198608398],["▁Perfect",-11.424470901489258],["▁Notre",-11.424478530883789],["▁fraud",-11.424630165100098],["▁employers",-11.424656867980957],["▁Jackson",-11.42470645904541],["▁probleme",-11.424915313720703],["▁richtig",-11.424957275390625],["▁Method",-11.425009727478027],["▁tired",-11.425010681152344],["dies",-11.425031661987305],["▁Number",-11.425315856933594],["rland",-11.425652503967285],["▁latter",-11.426031112670898],["rendre",-11.426064491271973],["▁cameras",-11.426095962524414],["▁euch",-11.426630020141602],["▁Description",-11.427038192749023],["Spec",-11.427061080932617],["▁mile",-11.427437782287598],["▁Challenge",-11.427474021911621],["▁Solutions",-11.427504539489746],["▁trusted",-11.427509307861328],["▁einge",-11.427515029907227],["rück",-11.427528381347656],["▁Ober",-11.427635192871094],["kes",-11.42764949798584],["▁Log",-11.427684783935547],["▁dessert",-11.427776336669922],["▁murder",-11.428033828735352],["▁1/2",-11.428311347961426],["▁Provide",-11.42872142791748],["nivelul",-11.428800582885742],["nici",-11.428818702697754],["▁observe",-11.42889404296875],["▁prescription",-11.429162979125977],["▁Sau",-11.429170608520508],["▁genuine",-11.42919635772705],["▁operated",-11.429231643676758],["▁generous",-11.429267883300781],["▁weapons",-11.429458618164062],["▁belief",-11.4295015335083],["▁consum",-11.429584503173828],["▁unknown",-11.430116653442383],["deoarece",-11.430135726928711],["Art",-11.430147171020508],["▁kurz",-11.430183410644531],["▁Gut",-11.430258750915527],["▁medication",-11.430522918701172],["▁Mau",-11.43058967590332],["▁divorce",-11.430678367614746],["▁claimed",-11.430811882019043],["halten",-11.430848121643066],["▁Cons",-11.43089485168457],["▁operational",-11.430975914001465],["▁Hong",-11.431081771850586],["VI",-11.431143760681152],["▁Blick",-11.431485176086426],["▁lamp",-11.431706428527832],["pati",-11.431853294372559],["▁4-",-11.43192195892334],["▁interven",-11.431964874267578],["ques",-11.43201732635498],["▁Talk",-11.432096481323242],["▁zeigt",-11.432318687438965],["▁targeted",-11.432390213012695],["round",-11.432640075683594],["enfant",-11.432748794555664],["▁Reg",-11.432836532592773],["▁instruments",-11.432872772216797],["▁calcul",-11.433363914489746],["▁Henry",-11.4335298538208],["▁Cla",-11.433616638183594],["▁rack",-11.433661460876465],["sehen",-11.43375301361084],["▁ending",-11.433754920959473],["▁resolve",-11.434130668640137],["▁advise",-11.434178352355957],["▁sociale",-11.434386253356934],["▁cabin",-11.434536933898926],["▁involve",-11.43480396270752],["gă",-11.434889793395996],["▁automat",-11.435132026672363],["▁consultant",-11.435258865356445],["Bu",-11.435370445251465],["▁safely",-11.435466766357422],["état",-11.435478210449219],["▁pros",-11.435657501220703],["▁lies",-11.435659408569336],["▁Brian",-11.435914993286133],["▁talented",-11.435954093933105],["pus",-11.43599796295166],["▁hub",-11.436060905456543],["▁Ji",-11.436066627502441],["▁sought",-11.436102867126465],["▁energie",-11.436210632324219],["▁möchten",-11.43634033203125],["▁11.",-11.436558723449707],["▁Kong",-11.436662673950195],["▁grave",-11.43666934967041],["▁lists",-11.436800956726074],["tati",-11.436809539794922],["verschiedenen",-11.43692398071289],["dam",-11.437061309814453],["▁charity",-11.437249183654785],["▁breaking",-11.43735122680664],["kins",-11.43747329711914],["▁könnte",-11.437517166137695],["▁appointed",-11.437532424926758],["roc",-11.4376859664917],["▁Senate",-11.437979698181152],["wit",-11.438002586364746],["▁emerging",-11.438162803649902],["▁année",-11.438288688659668],["▁Cool",-11.438365936279297],["▁sensor",-11.43842887878418],["How",-11.438488960266113],["▁Ryan",-11.438626289367676],["▁computers",-11.43871784210205],["▁fault",-11.4388427734375],["▁présent",-11.438843727111816],["ulation",-11.439149856567383],["▁stir",-11.439348220825195],["lauf",-11.439703941345215],["▁AI",-11.440389633178711],["▁Bri",-11.440438270568848],["▁bain",-11.441011428833008],["▁5,",-11.441287994384766],["schein",-11.44157886505127],["▁weiß",-11.441596031188965],["▁possibilities",-11.44235610961914],["gur",-11.442413330078125],["▁hinter",-11.442647933959961],["Innen",-11.442755699157715],["▁vorba",-11.442992210388184],["fahren",-11.443008422851562],["▁Cell",-11.443072319030762],["univers",-11.443137168884277],["▁Follow",-11.443424224853516],["▁emotions",-11.44360637664795],["▁Ministry",-11.443694114685059],["▁curriculum",-11.443694114685059],["Je",-11.443764686584473],["▁gab",-11.444080352783203],["▁sigur",-11.444270133972168],["rise",-11.444416999816895],["Pri",-11.44466495513916],["▁stabil",-11.444781303405762],["▁superb",-11.445100784301758],["▁Oak",-11.44510269165039],["▁rubber",-11.445286750793457],["▁tag",-11.445306777954102],["PG",-11.445361137390137],["▁Heat",-11.445477485656738],["▁thousand",-11.445504188537598],["▁meets",-11.445521354675293],["▁faced",-11.445578575134277],["▁reserve",-11.445640563964844],["cateva",-11.445767402648926],["▁gym",-11.445771217346191],["▁vitamin",-11.445960998535156],["▁Rest",-11.446457862854004],["▁Single",-11.446535110473633],["▁Stephen",-11.446623802185059],["▁trick",-11.446824073791504],["DU",-11.44694709777832],["▁telefon",-11.44711685180664],["▁gând",-11.447120666503906],["▁primit",-11.447345733642578],["▁Connect",-11.447351455688477],["▁führt",-11.447440147399902],["▁Info",-11.447500228881836],["▁recall",-11.447848320007324],["▁restore",-11.447885513305664],["lege",-11.44792652130127],["▁franchise",-11.448189735412598],["▁seulement",-11.44856071472168],["reci",-11.448598861694336],["▁2019,",-11.44864273071289],["▁Ring",-11.448663711547852],["▁assembly",-11.448678970336914],["intérieur",-11.448775291442871],["▁shade",-11.44887924194336],["▁meaningful",-11.448881149291992],["bag",-11.448989868164062],["ONE",-11.449249267578125],["▁globe",-11.449287414550781],["▁WA",-11.449406623840332],["▁intervention",-11.449495315551758],["öl",-11.449531555175781],["▁Marine",-11.45029067993164],["▁Angebot",-11.450512886047363],["▁align",-11.450618743896484],["▁temperatures",-11.450634956359863],["ifier",-11.45091724395752],["▁Nigeria",-11.451189041137695],["▁survive",-11.451216697692871],["ounce",-11.451275825500488],["▁placement",-11.451416969299316],["▁deci",-11.451528549194336],["▁Taylor",-11.451759338378906],["step",-11.45190715789795],["▁Geschichte",-11.452054023742676],["▁Bet",-11.452169418334961],["▁Nature",-11.45224380493164],["▁FC",-11.452256202697754],["▁ownership",-11.452286720275879],["▁behaviour",-11.452474594116211],["▁deutlich",-11.452532768249512],["▁wondering",-11.452798843383789],["▁cleaner",-11.453295707702637],["uring",-11.4534912109375],["rä",-11.453496932983398],["▁ga",-11.454296112060547],["ador",-11.454482078552246],["▁artwork",-11.454564094543457],["ologic",-11.45457649230957],["▁eigentlich",-11.454848289489746],["▁hell",-11.45522403717041],["source",-11.455251693725586],["▁gem",-11.455265045166016],["▁boss",-11.455307006835938],["▁arise",-11.455460548400879],["about",-11.455711364746094],["▁SI",-11.455951690673828],["▁ME",-11.45610237121582],["akt",-11.456191062927246],["▁Style",-11.456259727478027],["▁Körper",-11.456493377685547],["gui",-11.456799507141113],["▁navigate",-11.456819534301758],["▁Meanwhile",-11.456977844238281],["▁așa",-11.457111358642578],["▁bulk",-11.457298278808594],["▁directions",-11.457310676574707],["▁brick",-11.457747459411621],["▁Poly",-11.457752227783203],["▁politique",-11.457772254943848],["▁patch",-11.457777976989746],["ра",-11.457816123962402],["commerce",-11.457844734191895],["▁înainte",-11.457884788513184],["▁intelligent",-11.45823860168457],["▁infection",-11.458426475524902],["▁Tru",-11.458494186401367],["▁raising",-11.458504676818848],["tragen",-11.458539009094238],["▁portrait",-11.45858383178711],["▁meisten",-11.458783149719238],["▁organize",-11.45893669128418],["metric",-11.458962440490723],["▁Season",-11.459036827087402],["▁enforcement",-11.459259033203125],["origine",-11.459836959838867],["▁Ros",-11.460065841674805],["▁Mount",-11.460083961486816],["have",-11.460237503051758],["▁romantic",-11.460258483886719],["▁comic",-11.460810661315918],["▁greu",-11.461116790771484],["ET",-11.46133041381836],["▁hook",-11.461407661437988],["▁mort",-11.461411476135254],["▁indicated",-11.461583137512207],["▁7,",-11.461982727050781],["▁Neben",-11.46204662322998],["yer",-11.46214485168457],["▁momentul",-11.46214771270752],["note",-11.462313652038574],["▁baz",-11.46231460571289],["▁abroad",-11.462320327758789],["nite",-11.462464332580566],["▁bass",-11.462701797485352],["▁norm",-11.462714195251465],["▁É",-11.462788581848145],["4.",-11.462881088256836],["▁province",-11.463004112243652],["▁merge",-11.463419914245605],["arbeiten",-11.463438987731934],["-20",-11.463574409484863],["▁Nicht",-11.463674545288086],["spo",-11.463783264160156],["size",-11.463815689086914],["▁assure",-11.463849067687988],["charge",-11.463987350463867],["▁olive",-11.464017868041992],["▁Pot",-11.46408462524414],["▁Figure",-11.4642333984375],["clair",-11.464336395263672],["▁discipline",-11.464600563049316],["elli",-11.464639663696289],["▁tackle",-11.465169906616211],["▁buyer",-11.465237617492676],["▁loud",-11.465479850769043],["▁180",-11.465534210205078],["▁căt",-11.465587615966797],["▁Palm",-11.465738296508789],["away",-11.46593189239502],["▁Mother",-11.46607494354248],["onia",-11.466240882873535],["▁Protection",-11.466416358947754],["auto",-11.466547966003418],["▁Version",-11.466583251953125],["▁Nice",-11.466714859008789],["▁12.",-11.46682071685791],["▁0,",-11.466835021972656],["ATION",-11.466911315917969],["▁Produkte",-11.466955184936523],["▁tube",-11.467084884643555],["▁Houston",-11.467106819152832],["chu",-11.467500686645508],["pas",-11.467717170715332],["▁Ele",-11.467801094055176],["▁mountains",-11.467835426330566],["PH",-11.467937469482422],["▁languages",-11.468672752380371],["▁servicii",-11.468722343444824],["▁Stay",-11.468999862670898],["fil",-11.469138145446777],["▁propos",-11.469801902770996],["▁coll",-11.469825744628906],["▁mor",-11.470197677612305],["▁arrange",-11.470410346984863],["▁sorry",-11.470475196838379],["▁instruction",-11.470723152160645],["▁holes",-11.47077465057373],["letting",-11.471046447753906],["▁wa",-11.471074104309082],["▁Feb",-11.471227645874023],["omb",-11.471232414245605],["▁prise",-11.471290588378906],["VO",-11.471305847167969],["week",-11.471349716186523],["▁Event",-11.471427917480469],["▁AT",-11.471485137939453],["ket",-11.471492767333984],["haft",-11.471579551696777],["▁hits",-11.47159194946289],["foli",-11.471681594848633],["this",-11.471948623657227],["GP",-11.471970558166504],["▁Pin",-11.472332954406738],["▁Stein",-11.472503662109375],["thing",-11.472512245178223],["▁emphasis",-11.472556114196777],["▁Mur",-11.472631454467773],["▁Bag",-11.472647666931152],["cons",-11.47273063659668],["tons",-11.472835540771484],["lash",-11.472987174987793],["▁Grant",-11.473104476928711],["▁pris",-11.473175048828125],["▁bună",-11.47323989868164],["▁buc",-11.473699569702148],["▁passe",-11.473746299743652],["▁jewelry",-11.474213600158691],["iens",-11.474342346191406],["▁forma",-11.47453784942627],["▁Med",-11.474651336669922],["laufen",-11.474778175354004],["▁hunt",-11.474977493286133],["stayed",-11.475086212158203],["party",-11.475152015686035],["▁fra",-11.47529411315918],["▁scenes",-11.475305557250977],["▁absorb",-11.47535228729248],["▁abilities",-11.475377082824707],["lug",-11.475507736206055],["▁Sarah",-11.475693702697754],["mpf",-11.47570514678955],["▁fle",-11.4757080078125],["accès",-11.475872993469238],["▁solicit",-11.475926399230957],["pie",-11.476278305053711],["▁Zum",-11.476296424865723],["▁universe",-11.476390838623047],["▁exists",-11.476449012756348],["oane",-11.476597785949707],["IVE",-11.47668743133545],["▁2011.",-11.476906776428223],["▁specialists",-11.477072715759277],["▁mess",-11.477309226989746],["fach",-11.477402687072754],["▁Recht",-11.477404594421387],["▁hack",-11.47755241394043],["▁jacket",-11.477564811706543],["HC",-11.47769832611084],["▁substance",-11.477728843688965],["▁signing",-11.477775573730469],["▁allerdings",-11.478032112121582],["▁publish",-11.478139877319336],["▁Lab",-11.478157043457031],["▁agenda",-11.478249549865723],["lane",-11.478299140930176],["stream",-11.478620529174805],["schau",-11.47879409790039],["▁realizat",-11.478971481323242],["▁supplier",-11.479019165039062],["▁moderate",-11.47902774810791],["▁tours",-11.479212760925293],["▁narrative",-11.479220390319824],["ația",-11.479279518127441],["▁maps",-11.479423522949219],["treten",-11.479447364807129],["▁mars",-11.479706764221191],["▁moon",-11.479745864868164],["rose",-11.479751586914062],["▁exp",-11.479766845703125],["zahl",-11.480154037475586],["psych",-11.480195999145508],["▁gehört",-11.48024845123291],["▁bound",-11.4803466796875],["▁submission",-11.480451583862305],["▁clubs",-11.480722427368164],["Am",-11.480755805969238],["tenir",-11.480782508850098],["▁boast",-11.480851173400879],["▁boards",-11.4810791015625],["▁Geschäfts",-11.481216430664062],["zing",-11.48126220703125],["wort",-11.48137092590332],["lid",-11.481417655944824],["▁contractor",-11.481528282165527],["▁donner",-11.481672286987305],["▁coupon",-11.481974601745605],["adresse",-11.482004165649414],["colo",-11.48210334777832],["▁perception",-11.482124328613281],["NC",-11.48222541809082],["▁abge",-11.482245445251465],["▁cheaper",-11.482268333435059],["▁grace",-11.482312202453613],["▁resident",-11.482718467712402],["kla",-11.4828462600708],["▁bug",-11.4828462600708],["▁Available",-11.482893943786621],["▁BA",-11.483323097229004],["▁Met",-11.483601570129395],["▁climb",-11.48365592956543],["▁expanded",-11.484349250793457],["ying",-11.484426498413086],["▁matching",-11.484469413757324],["▁suffered",-11.484733581542969],["▁employed",-11.484755516052246],["pper",-11.484843254089355],["▁experiencing",-11.484884262084961],["ddy",-11.484953880310059],["▁philosophy",-11.484955787658691],["▁utilisé",-11.485008239746094],["▁Jane",-11.485079765319824],["LI",-11.485087394714355],["▁elected",-11.485185623168945],["▁MI",-11.485264778137207],["▁ISO",-11.485340118408203],["winning",-11.48537540435791],["▁vot",-11.485424041748047],["▁generic",-11.485519409179688],["▁Bol",-11.485650062561035],["▁copies",-11.48568058013916],["▁mechanical",-11.48568058013916],["günstig",-11.485682487487793],["roy",-11.485770225524902],["Astfel",-11.485808372497559],["media",-11.485868453979492],["▁shoulder",-11.4859037399292],["▁directory",-11.486000061035156],["▁banking",-11.486016273498535],["▁mistakes",-11.486040115356445],["▁Fran",-11.486425399780273],["▁Jon",-11.486544609069824],["▁spare",-11.486579895019531],["metri",-11.486668586730957],["▁mask",-11.486879348754883],["▁consistently",-11.48695182800293],["▁Columbia",-11.487278938293457],["roid",-11.48774242401123],["essen",-11.487935066223145],["▁(“",-11.48798656463623],["▁série",-11.488212585449219],["▁Phil",-11.488249778747559],["▁usor",-11.488249778747559],["▁stood",-11.488279342651367],["▁racing",-11.488335609436035],["▁Comme",-11.488555908203125],["▁exceed",-11.488565444946289],["на",-11.488618850708008],["▁activate",-11.48873233795166],["▁circle",-11.488836288452148],["▁bold",-11.488956451416016],["▁handy",-11.48909854888916],["merely",-11.489114761352539],["▁Edward",-11.489147186279297],["▁contracts",-11.489530563354492],["ê",-11.489595413208008],["▁campaigns",-11.489673614501953],["▁ought",-11.489733695983887],["▁nursing",-11.489781379699707],["▁Jr",-11.489917755126953],["▁rarely",-11.490032196044922],["▁Mir",-11.490050315856934],["▁diagnosis",-11.490379333496094],["▁Theatre",-11.490394592285156],["▁producer",-11.490407943725586],["Currently",-11.490492820739746],["▁fitting",-11.490580558776855],["▁ajunge",-11.490618705749512],["minte",-11.490754127502441],["▁termen",-11.490838050842285],["▁Linux",-11.491013526916504],["▁1-",-11.491068840026855],["▁hätte",-11.491202354431152],["▁Resort",-11.49129867553711],["image",-11.491527557373047],["▁Rod",-11.49189281463623],["▁Fly",-11.491924285888672],["try",-11.492317199707031],["▁expense",-11.49245834350586],["▁Interior",-11.492799758911133],["▁fence",-11.492920875549316],["▁Kontakt",-11.493063926696777],["▁ALL",-11.493142127990723],["VA",-11.493229866027832],["▁Exchange",-11.493316650390625],["ranked",-11.493558883666992],["▁Performance",-11.493621826171875],["prim",-11.493635177612305],["▁basket",-11.493694305419922],["▁Vice",-11.493703842163086],["phan",-11.4937105178833],["▁broke",-11.494003295898438],["voir",-11.49431324005127],["arg",-11.494512557983398],["ART",-11.494529724121094],["▁floors",-11.494856834411621],["pression",-11.495025634765625],["▁possession",-11.49507999420166],["▁domaine",-11.49510669708252],["▁valeur",-11.495132446289062],["▁suddenly",-11.495282173156738],["▁mild",-11.495304107666016],["▁aflat",-11.495431900024414],["▁Tea",-11.495731353759766],["tritt",-11.495767593383789],["▁Mittel",-11.495773315429688],["▁regulatory",-11.49580192565918],["▁spectacular",-11.495905876159668],["fahrt",-11.495949745178223],["GS",-11.496026039123535],["MM",-11.4961576461792],["▁environments",-11.496203422546387],["▁Raum",-11.496381759643555],["▁lay",-11.496664047241211],["▁cré",-11.496713638305664],["▁Selbst",-11.496726989746094],["▁opposition",-11.496821403503418],["two",-11.49729061126709],["▁Clark",-11.497822761535645],["▁Netz",-11.497845649719238],["bald",-11.497983932495117],["▁Innovation",-11.4982271194458],["▁overcome",-11.49825382232666],["quot",-11.499013900756836],["▁Sin",-11.499106407165527],["▁Sto",-11.499320983886719],["▁grain",-11.499560356140137],["▁collections",-11.499724388122559],["▁applies",-11.49986743927002],["mach",-11.499934196472168],["▁wheels",-11.499958992004395],["▁universities",-11.500049591064453],["▁Ray",-11.500182151794434],["lina",-11.500238418579102],["▁arrangements",-11.500393867492676],["▁western",-11.500728607177734],["rous",-11.500768661499023],["aise",-11.500784873962402],["▁highlights",-11.50112533569336],["▁intend",-11.501265525817871],["aimed",-11.501358032226562],["▁Scotland",-11.501360893249512],["▁acestei",-11.501466751098633],["graf",-11.50150203704834],["duction",-11.501517295837402],["path",-11.50156021118164],["▁evil",-11.501633644104004],["▁scris",-11.501791000366211],["▁disposition",-11.501927375793457],["▁designing",-11.5020751953125],["zwar",-11.502172470092773],["▁Retrieve",-11.50217342376709],["▁aggressive",-11.502374649047852],["▁Glen",-11.502411842346191],["▁daher",-11.502473831176758],["▁Quick",-11.502494812011719],["▁recover",-11.502632141113281],["▁prominent",-11.50288200378418],["▁visits",-11.503198623657227],["▁Mis",-11.503376960754395],["▁edited",-11.503456115722656],["▁distributed",-11.503564834594727],["▁dés",-11.503580093383789],["▁alter",-11.5035982131958],["▁cooked",-11.503697395324707],["embl",-11.503706932067871],["Univers",-11.503715515136719],["▁Minuten",-11.504156112670898],["▁compris",-11.504179954528809],["rais",-11.504182815551758],["essentially",-11.504199028015137],["▁rel",-11.504340171813965],["▁appel",-11.504570007324219],["▁trace",-11.504788398742676],["relating",-11.504830360412598],["dès",-11.504937171936035],["aste",-11.504961013793945],["▁raison",-11.504963874816895],["▁frequent",-11.505281448364258],["▁beds",-11.505316734313965],["▁Miami",-11.505511283874512],["▁vibrant",-11.50564193725586],["▁Kam",-11.505721092224121],["▁klar",-11.505861282348633],["▁Tan",-11.50598430633545],["▁vidéo",-11.506032943725586],["▁Kur",-11.506115913391113],["▁themes",-11.506134033203125],["▁struggling",-11.506440162658691],["▁Magazine",-11.506444931030273],["maker",-11.506476402282715],["veni",-11.506564140319824],["▁Groß",-11.506732940673828],["▁streaming",-11.506772994995117],["▁analyze",-11.506876945495605],["▁titles",-11.506982803344727],["pier",-11.507316589355469],["▁participant",-11.507347106933594],["aims",-11.507607460021973],["▁convention",-11.507638931274414],["▁flood",-11.507780075073242],["▁nights",-11.507842063903809],["▁titre",-11.50792407989502],["▁voul",-11.508010864257812],["weit",-11.50816822052002],["where",-11.508213996887207],["▁Seiten",-11.508286476135254],["▁relaxing",-11.508628845214844],["▁piano",-11.50883674621582],["▁Pick",-11.508842468261719],["▁Sony",-11.508955001831055],["▁enhanced",-11.509017944335938],["▁visa",-11.50915241241455],["CH",-11.50930118560791],["▁instantly",-11.50930404663086],["▁Fan",-11.509721755981445],["▁diabetes",-11.509988784790039],["▁popul",-11.50999641418457],["Ang",-11.510232925415039],["▁Ask",-11.510295867919922],["cate",-11.510650634765625],["▁simplu",-11.510666847229004],["nahme",-11.510685920715332],["▁dentist",-11.510842323303223],["ubi",-11.510920524597168],["article",-11.511030197143555],["▁graph",-11.511094093322754],["▁rival",-11.51121711730957],["jahr",-11.5113525390625],["▁bloc",-11.511370658874512],["fern",-11.511427879333496],["▁dispar",-11.511516571044922],["▁servers",-11.511582374572754],["▁patru",-11.511610984802246],["▁Within",-11.511634826660156],["▁situated",-11.511896133422852],["▁HR",-11.511981964111328],["▁leaf",-11.511981964111328],["▁curs",-11.512049674987793],["antes",-11.512325286865234],["lux",-11.512406349182129],["▁1993",-11.512463569641113],["stance",-11.512650489807129],["▁northern",-11.512683868408203],["lves",-11.512718200683594],["▁contractors",-11.512882232666016],["▁dimensions",-11.512920379638672],["▁rolling",-11.513068199157715],["▁automobile",-11.513211250305176],["▁cru",-11.51342487335205],["▁displays",-11.513570785522461],["web",-11.513812065124512],["had",-11.513850212097168],["▁Never",-11.513893127441406],["▁2-",-11.513932228088379],["vine",-11.51393985748291],["▁Wahl",-11.513975143432617],["▁Markt",-11.514166831970215],["▁Double",-11.514227867126465],["▁acknowledge",-11.514229774475098],["stal",-11.514288902282715],["▁equity",-11.514620780944824],["▁ministry",-11.514823913574219],["▁Lor",-11.514875411987305],["▁sud",-11.514968872070312],["idée",-11.515044212341309],["▁measured",-11.515448570251465],["▁editing",-11.515609741210938],["▁singur",-11.515620231628418],["▁coal",-11.515623092651367],["▁dramatic",-11.516212463378906],["AG",-11.516251564025879],["asca",-11.516280174255371],["▁crash",-11.516321182250977],["ischer",-11.516597747802734],["▁Pla",-11.516871452331543],["▁psycho",-11.517054557800293],["piece",-11.517118453979492],["▁finger",-11.517121315002441],["▁Hollywood",-11.517123222351074],["▁Cr",-11.517345428466797],["▁locally",-11.517622947692871],["▁mouse",-11.517792701721191],["▁Base",-11.517867088317871],["uite",-11.518095016479492],["▁detect",-11.518099784851074],["cea",-11.518150329589844],["▁bull",-11.518194198608398],["▁curve",-11.518208503723145],["été",-11.518218994140625],["ddle",-11.51839542388916],["▁span",-11.518523216247559],["WS",-11.518878936767578],["CL",-11.519017219543457],["▁officially",-11.519042015075684],["▁corect",-11.519168853759766],["▁Artikel",-11.5193510055542],["▁customized",-11.520099639892578],["▁intellectual",-11.52018928527832],["▁heures",-11.520334243774414],["schule",-11.520444869995117],["▁investing",-11.520585060119629],["▁parallel",-11.521227836608887],["▁loi",-11.521263122558594],["ările",-11.521566390991211],["р",-11.521679878234863],["▁bench",-11.521724700927734],["▁principle",-11.521756172180176],["▁Galaxy",-11.521829605102539],["ța",-11.522237777709961],["▁(4",-11.522418975830078],["▁bedrooms",-11.522578239440918],["née",-11.52273941040039],["▁surely",-11.52275276184082],["very",-11.522927284240723],["stelle",-11.523200988769531],["activ",-11.523216247558594],["cite",-11.523551940917969],["▁Original",-11.523553848266602],["▁palm",-11.523665428161621],["▁losses",-11.523934364318848],["▁newspaper",-11.524153709411621],["ciu",-11.52436351776123],["▁Hold",-11.524392127990723],["BO",-11.524422645568848],["▁CON",-11.524598121643066],["▁modified",-11.524624824523926],["▁stake",-11.524735450744629],["▁Ton",-11.524798393249512],["▁luna",-11.524968147277832],["▁Mind",-11.525094985961914],["lap",-11.525150299072266],["▁opinions",-11.525247573852539],["▁Jordan",-11.525351524353027],["div",-11.52537727355957],["indi",-11.525418281555176],["▁Story",-11.525476455688477],["▁affiliate",-11.52585506439209],["▁matière",-11.525918960571289],["▁fifth",-11.526399612426758],["▁sheets",-11.52645492553711],["▁puțin",-11.526909828186035],["ush",-11.526947021484375],["geführt",-11.526993751525879],["▁Falls",-11.527168273925781],["legi",-11.527295112609863],["▁auction",-11.527326583862305],["▁cooperation",-11.52735424041748],["▁Fee",-11.527474403381348],["▁Daily",-11.52774715423584],["pies",-11.527853965759277],["▁basketball",-11.527976036071777],["removing",-11.528056144714355],["Besides",-11.528294563293457],["▁Body",-11.528355598449707],["▁AD",-11.528369903564453],["RU",-11.528435707092285],["ţia",-11.52894401550293],["▁Extra",-11.528986930847168],["▁Practice",-11.52900218963623],["▁Jeff",-11.529017448425293],["▁început",-11.529253005981445],["ching",-11.529269218444824],["▁Gift",-11.529281616210938],["kk",-11.529295921325684],["\")",-11.529349327087402],["▁Austin",-11.529651641845703],["thro",-11.529766082763672],["▁camping",-11.529810905456543],["▁theatre",-11.529850959777832],["école",-11.529916763305664],["vient",-11.530159950256348],["▁faces",-11.530226707458496],["▁constructed",-11.530437469482422],["▁overnight",-11.530472755432129],["▁locale",-11.530574798583984],["▁roots",-11.530611038208008],["▁bu",-11.530662536621094],["4,",-11.530683517456055],["▁Enterprise",-11.530865669250488],["screen",-11.530935287475586],["▁Chef",-11.53096866607666],["▁Along",-11.531298637390137],["▁MD",-11.531431198120117],["▁Supreme",-11.531597137451172],["En",-11.531655311584473],["▁verwendet",-11.532015800476074],["▁processed",-11.532425880432129],["▁vendors",-11.532549858093262],["▁FA",-11.532651901245117],["▁44",-11.532716751098633],["▁beautifully",-11.532933235168457],["▁eficient",-11.533092498779297],["▁Wil",-11.533117294311523],["▁Member",-11.533121109008789],["▁damages",-11.5332670211792],["▁mutual",-11.533288955688477],["SN",-11.533506393432617],["▁Dave",-11.533665657043457],["??",-11.533998489379883],["stat",-11.534090995788574],["▁tourist",-11.534374237060547],["fie",-11.534425735473633],["şte",-11.534754753112793],["▁donne",-11.534764289855957],["▁shadow",-11.53493881225586],["▁dough",-11.534993171691895],["▁Gro",-11.535002708435059],["▁Mah",-11.535066604614258],["RF",-11.535126686096191],["▁mechanism",-11.535163879394531],["▁2011,",-11.535179138183594],["▁Alter",-11.53530502319336],["▁opposed",-11.53538990020752],["▁Fri",-11.535501480102539],["▁remarkable",-11.535572052001953],["oral",-11.535635948181152],["▁verschiedene",-11.535653114318848],["▁difficulty",-11.535691261291504],["▁Application",-11.535840034484863],["▁Hay",-11.535888671875],["▁continua",-11.535935401916504],["EP",-11.53609848022461],["▁Pr",-11.53617000579834],["▁Lady",-11.53631591796875],["▁interval",-11.536457061767578],["▁Mil",-11.536504745483398],["▁2010.",-11.537042617797852],["VE",-11.537074089050293],["integr",-11.537360191345215],["▁création",-11.537415504455566],["weed",-11.537456512451172],["EG",-11.53760051727295],["▁6,",-11.537784576416016],["▁god",-11.537866592407227],["▁accomplish",-11.537947654724121],["▁thoroughly",-11.538019180297852],["2019",-11.538228988647461],["izer",-11.538246154785156],["▁Wal",-11.538300514221191],["ifying",-11.538701057434082],["▁Wohn",-11.539227485656738],["▁Holz",-11.539474487304688],["▁Advanced",-11.539528846740723],["▁honey",-11.539626121520996],["proof",-11.539634704589844],["▁saison",-11.540029525756836],["ându",-11.540035247802734],["▁Kevin",-11.540116310119629],["▁shelter",-11.540199279785156],["▁discut",-11.540257453918457],["▁hike",-11.540257453918457],["ités",-11.540461540222168],["▁boutique",-11.540672302246094],["▁Email",-11.54067611694336],["▁cosmetic",-11.540830612182617],["dian",-11.540916442871094],["▁hohe",-11.540940284729004],["▁absence",-11.541071891784668],["axi",-11.541136741638184],["nah",-11.541178703308105],["▁Frauen",-11.541236877441406],["▁actively",-11.541278839111328],["bind",-11.541468620300293],["▁everybody",-11.541740417480469],["▁controller",-11.541802406311035],["▁1.5",-11.5418062210083],["erau",-11.541842460632324],["gehen",-11.541988372802734],["▁scenario",-11.542038917541504],["▁odd",-11.542083740234375],["▁Ultra",-11.542089462280273],["▁finishing",-11.542366981506348],["▁cuts",-11.542383193969727],["▁financing",-11.542515754699707],["▁Chance",-11.542579650878906],["surrounded",-11.542818069458008],["▁joc",-11.542903900146484],["▁shelf",-11.543004035949707],["tief",-11.54308032989502],["▁Sir",-11.543146133422852],["▁Agent",-11.543197631835938],["▁scratch",-11.543560981750488],["2,000",-11.54360294342041],["nutri",-11.54365348815918],["nier",-11.544063568115234],["▁Dur",-11.544175148010254],["▁grid",-11.544268608093262],["road",-11.544413566589355],["▁pets",-11.544429779052734],["stud",-11.54448127746582],["OM",-11.544569969177246],["Die",-11.544877052307129],["▁800",-11.54496955871582],["▁arrangement",-11.545088768005371],["▁Sri",-11.545185089111328],["▁Patrick",-11.545187950134277],["ava",-11.545212745666504],["▁pension",-11.54523754119873],["dung",-11.545353889465332],["▁Chapter",-11.545475006103516],["▁Property",-11.545475006103516],["▁structural",-11.545571327209473],["▁overview",-11.545731544494629],["2015",-11.545917510986328],["▁lawn",-11.545924186706543],["▁Vin",-11.546219825744629],["lik",-11.546402931213379],["dus",-11.546418190002441],["Several",-11.54654598236084],["▁Bou",-11.546670913696289],["▁copper",-11.546703338623047],["▁duration",-11.546867370605469],["inate",-11.546982765197754],["▁podcast",-11.547204971313477],["▁Self",-11.547208786010742],["▁Construction",-11.547491073608398],["achat",-11.54768180847168],["???",-11.547683715820312],["▁Electric",-11.547974586486816],["▁Mrs",-11.54799747467041],["▁CT",-11.548019409179688],["▁proceed",-11.548324584960938],["▁Course",-11.548333168029785],["▁Frei",-11.548699378967285],["▁heavily",-11.548868179321289],["rique",-11.548872947692871],["version",-11.549016952514648],["▁representatives",-11.549118041992188],["▁tourism",-11.549182891845703],["▁shirt",-11.5494966506958],["▁rough",-11.549507141113281],["▁weniger",-11.549735069274902],["▁keyboard",-11.550058364868164],["▁heritage",-11.550149917602539],["kat",-11.550535202026367],["assez",-11.550567626953125],["▁cabinets",-11.550591468811035],["▁Komm",-11.550762176513672],["▁impressed",-11.55078411102295],["▁Oregon",-11.550788879394531],["▁Davis",-11.55081558227539],["specialized",-11.55097770690918],["▁gross",-11.550999641418457],["Located",-11.551044464111328],["ttle",-11.551044464111328],["▁2010,",-11.551224708557129],["chan",-11.551253318786621],["mine",-11.551305770874023],["▁aduce",-11.551637649536133],["▁subsequent",-11.551729202270508],["▁demo",-11.551851272583008],["aba",-11.552209854125977],["▁shock",-11.552389144897461],["▁theater",-11.552854537963867],["▁engineers",-11.55294418334961],["▁feu",-11.553037643432617],["▁Rot",-11.553058624267578],["▁addressed",-11.553155899047852],["▁Letter",-11.553431510925293],["gré",-11.553448677062988],["▁quantity",-11.553449630737305],["▁Seit",-11.553640365600586],["▁bacteria",-11.553681373596191],["kg",-11.55408000946045],["▁conservation",-11.554191589355469],["▁entreprises",-11.55420207977295],["▁pleasant",-11.554207801818848],["armed",-11.554228782653809],["dorf",-11.554286003112793],["fact",-11.554320335388184],["▁Much",-11.554388046264648],["▁laugh",-11.55482006072998],["▁blade",-11.554835319519043],["amine",-11.554838180541992],["▁insert",-11.55493450164795],["▁toys",-11.555326461791992],["▁в",-11.555726051330566],["cell",-11.555747985839844],["▁strengthen",-11.555864334106445],["GR",-11.555882453918457],["▁autor",-11.556114196777344],["▁LI",-11.556147575378418],["▁oamenii",-11.556184768676758],["▁Modell",-11.556222915649414],["▁sophisticated",-11.556225776672363],["▁Write",-11.556283950805664],["eți",-11.556295394897461],["say",-11.556641578674316],["▁nutzen",-11.556783676147461],["▁amenities",-11.556979179382324],["chel",-11.557068824768066],["Unlike",-11.55720043182373],["▁Bilder",-11.557208061218262],["fertig",-11.55722713470459],["PER",-11.557244300842285],["▁apparently",-11.557282447814941],["▁pointed",-11.557332992553711],["lop",-11.557435989379883],["▁commande",-11.557848930358887],["▁NEW",-11.557923316955566],["▁primi",-11.55798625946045],["▁aluminum",-11.558046340942383],["ificare",-11.558063507080078],["open",-11.55815315246582],["▁establishment",-11.558305740356445],["▁blanc",-11.558349609375],["▁1960",-11.558454513549805],["▁parameters",-11.55856990814209],["schluss",-11.558685302734375],["▁jet",-11.55879020690918],["gam",-11.55902099609375],["▁oral",-11.559290885925293],["▁tons",-11.559348106384277],["▁AL",-11.55935001373291],["▁intention",-11.55947494506836],["ives",-11.55974292755127],["▁BMW",-11.559837341308594],["gun",-11.559967041015625],["leben",-11.560046195983887],["▁Fresh",-11.56010913848877],["▁tuturor",-11.560193061828613],["▁marine",-11.560208320617676],["mile",-11.560260772705078],["▁alta",-11.560271263122559],["nnen",-11.56050968170166],["▁courts",-11.560530662536621],["▁Hello",-11.560791015625],["BL",-11.560895919799805],["▁reply",-11.560962677001953],["environnement",-11.560975074768066],["American",-11.560995101928711],["▁Tell",-11.561040878295898],["▁chic",-11.56148624420166],["bir",-11.561542510986328],["▁singing",-11.561788558959961],["▁earnings",-11.561819076538086],["▁ensemble",-11.562082290649414],["▁($",-11.562169075012207],["▁Tout",-11.562192916870117],["▁Abs",-11.562264442443848],["▁describes",-11.562322616577148],["▁navigation",-11.5625],["▁destul",-11.562532424926758],["legate",-11.562586784362793],["tral",-11.562599182128906],["aţie",-11.562753677368164],["▁supplied",-11.562775611877441],["▁paar",-11.562911987304688],["ionat",-11.563241958618164],["9.",-11.563263893127441],["▁41",-11.563348770141602],["▁Track",-11.563451766967773],["▁happiness",-11.563636779785156],["▁Personen",-11.563680648803711],["▁sac",-11.56373119354248],["▁shapes",-11.563774108886719],["eld",-11.56393051147461],["bett",-11.563963890075684],["tile",-11.56400203704834],["▁divided",-11.564035415649414],["▁13.",-11.56403923034668],["market",-11.564109802246094],["crafted",-11.564115524291992],["▁periods",-11.564120292663574],["uş",-11.564568519592285],["▁trainer",-11.56460952758789],["▁Licht",-11.564871788024902],["▁advisor",-11.564948081970215],["▁Herr",-11.564980506896973],["▁Halloween",-11.565147399902344],["alter",-11.565154075622559],["▁radical",-11.565155029296875],["▁nose",-11.56527042388916],["▁Sat",-11.565323829650879],["▁Mom",-11.565372467041016],["moni",-11.565377235412598],["▁semn",-11.565397262573242],["vé",-11.565672874450684],["identifie",-11.56570053100586],["▁hatten",-11.565957069396973],["completing",-11.565959930419922],["▁gust",-11.565963745117188],["▁creat",-11.56601333618164],["ché",-11.566075325012207],["pay",-11.566216468811035],["▁Money",-11.566229820251465],["IG",-11.566243171691895],["▁Cash",-11.566327095031738],["altă",-11.566420555114746],["▁bekommen",-11.566620826721191],["▁43",-11.56662654876709],["▁supplement",-11.566637992858887],["▁Early",-11.566754341125488],["▁mattress",-11.56692123413086],["▁worn",-11.567182540893555],["rov",-11.567197799682617],["▁pray",-11.56733226776123],["▁beans",-11.567673683166504],["▁passé",-11.567782402038574],["▁facilit",-11.56782054901123],["▁meters",-11.56784439086914],["cke",-11.568163871765137],["▁Villa",-11.568199157714844],["▁Diego",-11.568217277526855],["▁chips",-11.568244934082031],["▁mes",-11.568349838256836],["▁Seattle",-11.568421363830566],["BU",-11.568621635437012],["▁nevoi",-11.568714141845703],["▁lets",-11.568737030029297],["▁hopefully",-11.56894302368164],["▁AG",-11.568954467773438],["liable",-11.568999290466309],["pound",-11.569067001342773],["près",-11.569085121154785],["arul",-11.56920337677002],["isiert",-11.569281578063965],["▁Expert",-11.569297790527344],["▁particulier",-11.569367408752441],["stoff",-11.569952964782715],["▁interpretation",-11.56999397277832],["După",-11.57007884979248],["sait",-11.57011604309082],["▁nouvelles",-11.570173263549805],["▁Ok",-11.570175170898438],["tap",-11.570301055908203],["▁targets",-11.570327758789062],["rung",-11.57052230834961],["▁stare",-11.570576667785645],["▁efficiently",-11.570908546447754],["EV",-11.571003913879395],["évit",-11.571310997009277],["▁Moldova",-11.571542739868164],["▁Face",-11.571663856506348],["▁flo",-11.57168960571289],["▁acestora",-11.5717134475708],["▁Victor",-11.57183837890625],["▁breed",-11.57198429107666],["morph",-11.572230339050293],["sley",-11.572274208068848],["mot",-11.57234001159668],["▁URL",-11.572395324707031],["ellen",-11.572502136230469],["▁resist",-11.572781562805176],["zon",-11.57282829284668],["ndel",-11.572967529296875],["will",-11.572989463806152],["▁alege",-11.573076248168945],["▁Easter",-11.573114395141602],["▁Bat",-11.573190689086914],["▁Höhe",-11.573223114013672],["▁fascinating",-11.573387145996094],["▁Know",-11.5735445022583],["illon",-11.573602676391602],["flex",-11.57363224029541],["who",-11.573701858520508],["▁Always",-11.573729515075684],["▁Bush",-11.573777198791504],["ICE",-11.574009895324707],["verein",-11.57448673248291],["▁später",-11.57448959350586],["▁cherch",-11.574575424194336],["makers",-11.574753761291504],["versus",-11.574790954589844],["▁Clear",-11.574846267700195],["▁Pennsylvania",-11.574912071228027],["Dieser",-11.575041770935059],["▁picking",-11.575072288513184],["▁restoration",-11.57513427734375],["▁interviews",-11.575201988220215],["pressed",-11.575210571289062],["nnerhalb",-11.575674057006836],["▁connecting",-11.575834274291992],["jou",-11.575943946838379],["▁react",-11.576189041137695],["▁Merci",-11.576223373413086],["▁Phone",-11.576356887817383],["▁1)",-11.57652473449707],["▁victims",-11.576618194580078],["▁Spo",-11.576685905456543],["atului",-11.576735496520996],["▁Harry",-11.576837539672852],["▁Sala",-11.576875686645508],["Pol",-11.577075958251953],["▁Clo",-11.577167510986328],["▁Erfolg",-11.577211380004883],["autour",-11.577308654785156],["▁Template",-11.577314376831055],["▁invention",-11.57754898071289],["▁schwer",-11.57761287689209],["vac",-11.577625274658203],["▁Trail",-11.577627182006836],["▁Vietnam",-11.577638626098633],["▁Size",-11.577689170837402],["▁Bern",-11.577783584594727],["▁emp",-11.577845573425293],["▁shake",-11.57787799835205],["▁Ave",-11.57794189453125],["▁productive",-11.578009605407715],["▁apple",-11.578015327453613],["▁portal",-11.578052520751953],["▁ceramic",-11.578082084655762],["▁pad",-11.578110694885254],["▁Syn",-11.578316688537598],["Ab",-11.57845401763916],["▁syn",-11.578761100769043],["find",-11.578888893127441],["▁settle",-11.578909873962402],["▁général",-11.578965187072754],["▁okay",-11.579032897949219],["▁receipt",-11.57906436920166],["orii",-11.579117774963379],["▁Mission",-11.579122543334961],["entrée",-11.579304695129395],["▁besteht",-11.579394340515137],["▁wisdom",-11.57950210571289],["▁heraus",-11.579645156860352],["▁balanced",-11.579753875732422],["▁habits",-11.579773902893066],["tang",-11.579888343811035],["ură",-11.580151557922363],["▁winners",-11.580182075500488],["ç",-11.580215454101562],["▁folosi",-11.580242156982422],["aliment",-11.5802583694458],["▁fiction",-11.580373764038086],["▁Spe",-11.580534934997559],["▁elsewhere",-11.580663681030273],["▁dependent",-11.580808639526367],["▁Anne",-11.581167221069336],["▁excellence",-11.581695556640625],["▁Feel",-11.581753730773926],["lieb",-11.581811904907227],["▁sectors",-11.581865310668945],["▁expir",-11.581886291503906],["▁surfaces",-11.58191204071045],["▁minim",-11.581937789916992],["▁tumor",-11.58204460144043],["▁paragraph",-11.582289695739746],["▁disk",-11.58232307434082],["▁tonight",-11.582379341125488],["▁precious",-11.582794189453125],["▁console",-11.58288288116455],["Th",-11.582939147949219],["neu",-11.583020210266113],["effective",-11.5839262008667],["▁Republican",-11.583944320678711],["format",-11.584297180175781],["▁preserve",-11.58436107635498],["▁wiring",-11.584599494934082],["▁exercises",-11.584757804870605],["▁pregnancy",-11.584774017333984],["tries",-11.58481502532959],["▁jeunes",-11.584883689880371],["▁publishing",-11.584932327270508],["▁nehmen",-11.584935188293457],["▁capability",-11.5849609375],["▁prompt",-11.584965705871582],["▁Further",-11.58497428894043],["▁semaine",-11.585173606872559],["abo",-11.585216522216797],["▁evolution",-11.585319519042969],["▁Sud",-11.585403442382812],["▁frais",-11.585525512695312],["LT",-11.585619926452637],["▁stack",-11.58581829071045],["▁Inside",-11.585854530334473],["▁programmes",-11.585997581481934],["▁passes",-11.586196899414062],["mü",-11.586474418640137],["▁progressive",-11.586518287658691],["▁calculator",-11.58658218383789],["▁Core",-11.586655616760254],["BT",-11.586956977844238],["core",-11.586996078491211],["▁Moon",-11.587004661560059],["▁tender",-11.587040901184082],["durch",-11.58721923828125],["▁commune",-11.587453842163086],["▁Prince",-11.587594032287598],["▁demonstrated",-11.587693214416504],["▁conversations",-11.587890625],["▁fri",-11.587984085083008],["igh",-11.587992668151855],["being",-11.588334083557129],["pause",-11.58853530883789],["▁Bear",-11.58871841430664],["ayant",-11.588875770568848],["▁Industry",-11.588967323303223],["▁sponsor",-11.589012145996094],["▁numele",-11.589098930358887],["▁VA",-11.589167594909668],["▁Sommer",-11.589366912841797],["TB",-11.589380264282227],["▁optional",-11.589505195617676],["▁Landes",-11.589812278747559],["coli",-11.589963912963867],["empt",-11.59018325805664],["▁Iron",-11.590620040893555],["▁1992",-11.59090518951416],["▁attempts",-11.59090518951416],["halb",-11.590960502624512],["▁photographer",-11.59097671508789],["▁witness",-11.59097957611084],["bru",-11.591073989868164],["▁Ras",-11.59107780456543],["▁burden",-11.591142654418945],["▁kaufen",-11.591256141662598],["▁vu",-11.591362953186035],["▁Wedding",-11.591601371765137],["▁Kla",-11.591604232788086],["occasion",-11.591915130615234],["▁keys",-11.592131614685059],["▁oferi",-11.592279434204102],["▁puzzle",-11.592302322387695],["eaux",-11.59254264831543],["▁Eco",-11.592805862426758],["▁52",-11.592817306518555],["▁Elizabeth",-11.59284496307373],["▁dispose",-11.593144416809082],["▁cluster",-11.59326171875],["iki",-11.593283653259277],["▁Guys",-11.593595504760742],["▁Economic",-11.593632698059082],["▁apar",-11.593677520751953],["▁ziua",-11.593688011169434],["▁integral",-11.593740463256836],["▁tac",-11.59376335144043],["▁restrictions",-11.593778610229492],["▁nerve",-11.593794822692871],["▁Stop",-11.59386157989502],["burger",-11.593897819519043],["explo",-11.593944549560547],["lö",-11.593958854675293],["NP",-11.594077110290527],["▁Brook",-11.59418773651123],["▁Close",-11.594278335571289],["▁representing",-11.59446907043457],["▁certaine",-11.594767570495605],["▁discovery",-11.594836235046387],["▁rece",-11.594964981079102],["FF",-11.594970703125],["▁salary",-11.595069885253906],["▁Wolf",-11.595137596130371],["▁deserve",-11.595166206359863],["ţele",-11.595417976379395],["gathered",-11.595934867858887],["▁comply",-11.59599494934082],["lagen",-11.596034049987793],["ătoare",-11.596192359924316],["▁relate",-11.596410751342773],["▁Roger",-11.59656810760498],["▁blame",-11.596575736999512],["▁Jen",-11.596914291381836],["▁army",-11.596936225891113],["▁$10",-11.597129821777344],["▁Cabinet",-11.597185134887695],["Gu",-11.597367286682129],["▁wildlife",-11.597452163696289],["▁Memorial",-11.597643852233887],["▁Holiday",-11.597742080688477],["▁curat",-11.598291397094727],["iilor",-11.598299026489258],["▁fleet",-11.598408699035645],["▁reviewed",-11.59843635559082],["cet",-11.598450660705566],["▁virtually",-11.598487854003906],["▁Crusher",-11.59852409362793],["▁slide",-11.59858226776123],["▁générale",-11.598604202270508],["▁sensation",-11.598630905151367],["▁garlic",-11.598638534545898],["5)",-11.598657608032227],["▁batteries",-11.598756790161133],["SH",-11.59876823425293],["▁seller",-11.59882926940918],["design",-11.598871231079102],["5.",-11.598944664001465],["▁Overall",-11.598969459533691],["▁investigate",-11.599058151245117],["max",-11.599064826965332],["▁attach",-11.599166870117188],["▁Future",-11.599209785461426],["OUR",-11.599284172058105],["▁LE",-11.59968090057373],["▁bite",-11.599811553955078],["tige",-11.599874496459961],["▁twist",-11.59987735748291],["hole",-11.600180625915527],["▁Tony",-11.600510597229004],["LU",-11.600598335266113],["▁Organization",-11.600617408752441],["▁invit",-11.600632667541504],["▁Ant",-11.600739479064941],["NR",-11.600788116455078],["sorgt",-11.600854873657227],["▁Lan",-11.600860595703125],["▁Manchester",-11.60091495513916],["schrift",-11.601066589355469],["▁kg",-11.601150512695312],["▁aroma",-11.60132884979248],["▁Source",-11.601388931274414],["▁permite",-11.601445198059082],["▁Consider",-11.601457595825195],["▁Artist",-11.601627349853516],["▁transmit",-11.601783752441406],["oasa",-11.601834297180176],["▁Zen",-11.60198974609375],["ANT",-11.602235794067383],["▁consulting",-11.602404594421387],["▁commence",-11.6025390625],["▁quilt",-11.60261058807373],["owned",-11.602642059326172],["▁bro",-11.602689743041992],["▁integrate",-11.602715492248535],["▁Ontario",-11.602775573730469],["TF",-11.602832794189453],["▁Study",-11.602887153625488],["▁ensuite",-11.603155136108398],["itatii",-11.603180885314941],["Mon",-11.603235244750977],["-11",-11.603299140930176],["what",-11.603384017944336],["▁Things",-11.60361385345459],["▁Eye",-11.603819847106934],["▁présente",-11.603828430175781],["tention",-11.603915214538574],["|",-11.603957176208496],["stall",-11.603963851928711],["▁beef",-11.603992462158203],["figur",-11.604005813598633],["▁cancel",-11.604146003723145],["▁domeniul",-11.604252815246582],["▁360",-11.604290008544922],["▁sleeping",-11.6045560836792],["▁traitement",-11.604580879211426],["ühl",-11.604769706726074],["▁Environmental",-11.604835510253906],["cier",-11.604894638061523],["▁NC",-11.604907035827637],["pub",-11.604925155639648],["▁addiction",-11.605071067810059],["▁nest",-11.605128288269043],["▁ON",-11.605395317077637],["▁discrimin",-11.605396270751953],["▁proved",-11.605517387390137],["▁occasions",-11.605864524841309],["OH",-11.606184959411621],["▁lawyers",-11.606203079223633],["own",-11.606290817260742],["▁Meeting",-11.606596946716309],["▁Industrial",-11.606704711914062],["owed",-11.606736183166504],["▁Cel",-11.606793403625488],["legt",-11.60706615447998],["ily",-11.607085227966309],["▁wins",-11.607155799865723],["▁strap",-11.607367515563965],["digit",-11.607441902160645],["▁hinaus",-11.607504844665527],["mple",-11.607712745666504],["▁(5",-11.607797622680664],["▁pdf",-11.607894897460938],["▁eco",-11.607915878295898],["▁junior",-11.608172416687012],["DB",-11.608556747436523],["gelegt",-11.608636856079102],["ION",-11.608678817749023],["▁competitors",-11.60880184173584],["▁Arab",-11.60898208618164],["▁Secret",-11.609148979187012],["▁Kunst",-11.609283447265625],["▁worried",-11.609297752380371],["meiner",-11.609378814697266],["▁Magic",-11.609450340270996],["▁groß",-11.609537124633789],["▁travaux",-11.609748840332031],["▁sollen",-11.609772682189941],["▁Sciences",-11.609850883483887],["▁athletes",-11.610055923461914],["▁discounts",-11.610079765319824],["kit",-11.610211372375488],["lind",-11.610305786132812],["▁enjoyable",-11.610421180725098],["ground",-11.610489845275879],["▁Tat",-11.610529899597168],["▁passengers",-11.610576629638672],["▁Dami",-11.610677719116211],["▁Major",-11.61070728302002],["watch",-11.610796928405762],["working",-11.610908508300781],["arrêt",-11.610923767089844],["▁subtle",-11.611069679260254],["▁epi",-11.611197471618652],["▁Jahres",-11.61128044128418],["▁cooling",-11.61141586303711],["▁makeup",-11.611427307128906],["jet",-11.611495018005371],["▁Given",-11.611519813537598],["plex",-11.61158275604248],["▁exploit",-11.611590385437012],["rine",-11.611604690551758],["▁delivers",-11.612122535705566],["▁summary",-11.612236022949219],["▁beaches",-11.612459182739258],["lift",-11.612550735473633],["▁Suite",-11.612554550170898],["▁Assistant",-11.612688064575195],["▁taxi",-11.61273193359375],["▁peaceful",-11.612805366516113],["▁Mode",-11.612980842590332],["▁Fun",-11.613059043884277],["▁diameter",-11.613142967224121],["▁phrase",-11.613150596618652],["ACT",-11.613265037536621],["▁différentes",-11.613322257995605],["▁14.",-11.613417625427246],["▁CE",-11.61352825164795],["▁2)",-11.613739013671875],["▁Nat",-11.613785743713379],["▁delete",-11.61388111114502],["other",-11.613930702209473],["hang",-11.613985061645508],["▁sujet",-11.614117622375488],["▁precise",-11.614212989807129],["▁Total",-11.614290237426758],["▁chambre",-11.614483833312988],["sati",-11.614666938781738],["▁Metal",-11.614995956420898],["rust",-11.615038871765137],["▁Brazil",-11.615508079528809],["▁hybrid",-11.615636825561523],["ops",-11.615691184997559],["▁electro",-11.615789413452148],["utz",-11.61608600616455],["▁quoi",-11.616246223449707],["▁adoption",-11.616331100463867],["3.5",-11.616518020629883],["50,000",-11.616599082946777],["veti",-11.616630554199219],["hir",-11.616957664489746],["▁adequate",-11.617067337036133],["ologist",-11.617109298706055],["torii",-11.617295265197754],["wasser",-11.617355346679688],["▁Authority",-11.617362976074219],["▁donation",-11.617364883422852],["700",-11.617375373840332],["▁somehow",-11.617375373840332],["▁kostenlos",-11.617425918579102],["▁generations",-11.617537498474121],["▁Turkey",-11.617711067199707],["rata",-11.617819786071777],["▁animation",-11.618206024169922],["▁CH",-11.618281364440918],["ending",-11.618317604064941],["welt",-11.618376731872559],["bac",-11.618380546569824],["MG",-11.618460655212402],["▁parks",-11.618468284606934],["▁placing",-11.618870735168457],["sort",-11.61915111541748],["▁Bitcoin",-11.619163513183594],["▁disorder",-11.619282722473145],["MAN",-11.619302749633789],["aught",-11.619412422180176],["▁guides",-11.61956787109375],["▁circul",-11.619651794433594],["▁Steven",-11.619954109191895],["rrière",-11.619976997375488],["▁Arch",-11.61999225616455],["▁plates",-11.620091438293457],["MR",-11.620118141174316],["▁cow",-11.620142936706543],["▁integrity",-11.620210647583008],["▁(18",-11.620217323303223],["▁totul",-11.62024211883545],["jack",-11.620373725891113],["▁privire",-11.620588302612305],["▁terme",-11.620752334594727],["▁execution",-11.620781898498535],["▁organism",-11.620838165283203],["▁führen",-11.620853424072266],["▁patron",-11.620940208435059],["▁appreciated",-11.62096881866455],["liant",-11.62100601196289],["▁Solar",-11.621055603027344],["▁vinyl",-11.621134757995605],["▁treasure",-11.621137619018555],["▁retro",-11.621167182922363],["▁bout",-11.621174812316895],["lab",-11.621183395385742],["▁dimension",-11.621394157409668],["called",-11.62146282196045],["▁intern",-11.621479034423828],["issement",-11.62173843383789],["▁Erst",-11.621837615966797],["▁stellen",-11.621920585632324],["▁familia",-11.622069358825684],["▁notion",-11.622176170349121],["▁Could",-11.622322082519531],["Getting",-11.622323036193848],["▁drives",-11.622397422790527],["▁Israeli",-11.622520446777344],["▁nations",-11.622546195983887],["▁duties",-11.622700691223145],["▁personalized",-11.622788429260254],["▁weren",-11.62282657623291],["▁chemicals",-11.622847557067871],["▁killing",-11.622913360595703],["▁masa",-11.622994422912598],["▁parce",-11.623026847839355],["▁lady",-11.623178482055664],["ides",-11.623221397399902],["▁execut",-11.62340259552002],["▁floral",-11.62341594696045],["▁Child",-11.623428344726562],["▁medal",-11.623503684997559],["▁casa",-11.623603820800781],["▁enabled",-11.623650550842285],["12.",-11.624239921569824],["nger",-11.624266624450684],["▁vent",-11.624297142028809],["▁urmă",-11.624727249145508],["▁Herz",-11.624835968017578],["▁Jay",-11.624916076660156],[".....",-11.624942779541016],["▁Kris",-11.62499713897705],["kenn",-11.625001907348633],["ress",-11.625027656555176],["weight",-11.62519359588623],["▁indicates",-11.625198364257812],["▁mentor",-11.625328063964844],["using",-11.625386238098145],["▁femmes",-11.625460624694824],["▁Jung",-11.625528335571289],["▁Send",-11.625574111938477],["▁seasons",-11.625906944274902],["▁aesthetic",-11.625964164733887],["▁Block",-11.626086235046387],["▁babies",-11.626150131225586],["zig",-11.626242637634277],["edge",-11.626428604125977],["▁alike",-11.626458168029785],["▁immune",-11.626609802246094],["▁magical",-11.626710891723633],["▁Snow",-11.626748085021973],["▁spacious",-11.627058982849121],["▁Melbourne",-11.62706184387207],["order",-11.627081871032715],["▁timing",-11.627176284790039],["▁inainte",-11.627220153808594],["▁width",-11.627327919006348],["bild",-11.627386093139648],["Tra",-11.627429008483887],["▁appliances",-11.627449989318848],["▁dirt",-11.627498626708984],["▁Rent",-11.627689361572266],["responsibilities",-11.627747535705566],["▁blogs",-11.62778377532959],["nächsten",-11.627799034118652],["▁argue",-11.627928733825684],["▁Resume",-11.627985954284668],["▁Michel",-11.628044128417969],["▁terrible",-11.628092765808105],["graph",-11.628151893615723],["bird",-11.628202438354492],["▁Simple",-11.628457069396973],["nning",-11.628658294677734],["▁coconut",-11.628683090209961],["▁comprise",-11.628787994384766],["heure",-11.628918647766113],["▁nichts",-11.628921508789062],["▁manufacture",-11.628966331481934],["▁Sar",-11.629011154174805],["green",-11.629014015197754],["lining",-11.62910270690918],["▁tremendous",-11.629128456115723],["▁Wine",-11.629164695739746],["gir",-11.629290580749512],["▁Nothing",-11.629562377929688],["▁Miller",-11.62957763671875],["▁Schwe",-11.629712104797363],["zone",-11.629942893981934],["▁cunoscut",-11.629964828491211],["rupt",-11.630166053771973],["kle",-11.630187034606934],["▁Bucuresti",-11.630510330200195],["▁Abend",-11.630574226379395],["▁aura",-11.630583763122559],["▁Dance",-11.63073444366455],["▁Wilson",-11.63086986541748],["icide",-11.630901336669922],["bai",-11.630910873413086],["oriented",-11.63103199005127],["▁celebrated",-11.631421089172363],["schlag",-11.631531715393066],["▁10-",-11.631600379943848],["Unsere",-11.63167667388916],["énergie",-11.632009506225586],["▁qualify",-11.63205623626709],["▁contenu",-11.632177352905273],["▁Lauf",-11.63220500946045],["▁einzelne",-11.632360458374023],["▁Youth",-11.632415771484375],["explains",-11.632601737976074],["grat",-11.632782936096191],["▁72",-11.632804870605469],["labor",-11.632885932922363],["2018",-11.632940292358398],["▁Dank",-11.633149147033691],["▁Hey",-11.633523941040039],["▁refuse",-11.633536338806152],["▁graduated",-11.633599281311035],["▁României",-11.633627891540527],["punkt",-11.633807182312012],["▁regulation",-11.633834838867188],["Bru",-11.633842468261719],["▁Side",-11.633891105651855],["▁sol",-11.633970260620117],["▁extraordinary",-11.634182929992676],["▁ging",-11.634247779846191],["▁Creative",-11.634299278259277],["▁expanding",-11.634349822998047],["▁problème",-11.63444995880127],["▁Reserve",-11.63459300994873],["auteur",-11.634642601013184],["sphere",-11.634657859802246],["season",-11.634716987609863],["frei",-11.634756088256836],["▁8,",-11.634765625],["▁filing",-11.634810447692871],["▁Complete",-11.635017395019531],["▁revolution",-11.635035514831543],["▁unele",-11.63520622253418],["/8",-11.635272979736328],["istes",-11.635310173034668],["backed",-11.635400772094727],["shirt",-11.635554313659668],["▁Details",-11.635673522949219],["rod",-11.635695457458496],["▁pod",-11.63582992553711],["▁operators",-11.635921478271484],["was",-11.635930061340332],["hou",-11.63594913482666],["▁Coach",-11.636075019836426],["irii",-11.636138916015625],["▁ordinary",-11.636186599731445],["Institut",-11.63620662689209],["▁Flash",-11.63633918762207],["0-",-11.636537551879883],["▁flavour",-11.6367769241333],["specific",-11.636906623840332],["▁landing",-11.636930465698242],["▁geo",-11.636935234069824],["▁legend",-11.636983871459961],["vari",-11.63703441619873],["rop",-11.637084007263184],["▁Excel",-11.6370849609375],["▁Flu",-11.637203216552734],["▁intent",-11.637582778930664],["▁Deep",-11.637594223022461],["▁Kor",-11.63763427734375],["▁Philadelphia",-11.637914657592773],["▁rând",-11.63800048828125],["▁USD",-11.638033866882324],["laden",-11.63803482055664],["▁Hin",-11.638047218322754],["hap",-11.638197898864746],["▁thorough",-11.638227462768555],["▁oferit",-11.63826847076416],["kind",-11.63831615447998],["▁Cancer",-11.638428688049316],["apo",-11.638596534729004],["▁valve",-11.638650894165039],["▁encouraging",-11.63884449005127],["▁sûr",-11.638904571533203],["shing",-11.638981819152832],["▁49",-11.639132499694824],["gov",-11.639142990112305],["▁Five",-11.63933277130127],["▁stroke",-11.639344215393066],["▁apă",-11.639398574829102],["▁gambling",-11.639543533325195],["▁nord",-11.63963508605957],["onal",-11.639691352844238],["▁captured",-11.63979721069336],["▁lucruri",-11.640068054199219],["serait",-11.640192985534668],["▁Members",-11.640265464782715],["ital",-11.640275955200195],["▁mounted",-11.640475273132324],["▁opens",-11.640792846679688],["▁Marie",-11.640861511230469],["Tech",-11.640902519226074],["▁wishes",-11.641016006469727],["▁regards",-11.641073226928711],["going",-11.641156196594238],["Opti",-11.641250610351562],["▁femei",-11.641331672668457],["▁Fish",-11.64142894744873],["▁mount",-11.641800880432129],["▁Hunt",-11.641887664794922],["▁probabil",-11.64205265045166],["▁assured",-11.642191886901855],["pho",-11.642230033874512],["▁manufactured",-11.642313003540039],["▁realistic",-11.642437934875488],["ații",-11.642580032348633],["▁Planning",-11.642598152160645],["▁român",-11.642645835876465],["ggy",-11.642669677734375],["▁produces",-11.642696380615234],["▁reminder",-11.64284896850586],["TION",-11.642868041992188],["▁brake",-11.642909049987793],["▁pla",-11.643172264099121],["▁Premium",-11.643270492553711],["▁carb",-11.643310546875],["▁shine",-11.643390655517578],["▁carrier",-11.643492698669434],["▁poverty",-11.64350414276123],["▁effectiveness",-11.6436128616333],["administr",-11.643655776977539],["▁Chamber",-11.643658638000488],["▁suntem",-11.64376163482666],["▁noastră",-11.643855094909668],["▁sofort",-11.643877983093262],["▁moisture",-11.644058227539062],["limb",-11.6441011428833],["entre",-11.644328117370605],["▁SD",-11.644330978393555],["▁BC",-11.644539833068848],["▁selecting",-11.6445951461792],["achieving",-11.644673347473145],["info",-11.644735336303711],["▁membres",-11.644983291625977],["▁shoe",-11.645014762878418],["▁locate",-11.645065307617188],["▁assignment",-11.645085334777832],["lern",-11.645283699035645],["▁defeat",-11.645406723022461],["▁endless",-11.645458221435547],["▁Stunden",-11.645523071289062],["то",-11.645561218261719],["▁mur",-11.645586013793945],["▁wissen",-11.645844459533691],["aime",-11.645915031433105],["1-2",-11.646056175231934],["▁femme",-11.646212577819824],["robe",-11.646468162536621],["▁embrace",-11.64647102355957],["▁baseball",-11.646614074707031],["▁hunting",-11.64663314819336],["betrieb",-11.646790504455566],["▁gardens",-11.647045135498047],["▁risc",-11.647096633911133],["▁Cri",-11.647263526916504],["best",-11.647506713867188],["▁Audio",-11.647621154785156],["▁intens",-11.647659301757812],["▁Round",-11.647744178771973],["▁fireplace",-11.6478271484375],["▁dozen",-11.647912979125977],["▁hospitals",-11.64802360534668],["▁profits",-11.648076057434082],["▁Mail",-11.64811897277832],["obtenir",-11.648191452026367],["▁Ross",-11.648241996765137],["bun",-11.648573875427246],["polar",-11.648688316345215],["▁reflection",-11.648873329162598],["▁fut",-11.648992538452148],["phon",-11.649017333984375],["deck",-11.649094581604004],["renowned",-11.649188041687012],["▁cate",-11.649308204650879],["▁decorative",-11.6494722366333],["ieri",-11.64957332611084],["▁Tap",-11.64958381652832],["▁Dallas",-11.649600982666016],["rik",-11.649665832519531],["▁pied",-11.649727821350098],["rés",-11.649821281433105],["ppy",-11.650137901306152],["▁bitte",-11.650188446044922],["▁cave",-11.650257110595703],["▁rescue",-11.650559425354004],["▁Hilfe",-11.650714874267578],["▁Jason",-11.650786399841309],["▁Nations",-11.650838851928711],["▁profil",-11.650938987731934],["▁Atlantic",-11.651105880737305],["▁rub",-11.651126861572266],["▁collaborative",-11.65113353729248],["étude",-11.651150703430176],["▁Workshop",-11.651389122009277],["nez",-11.651628494262695],["▁chacun",-11.651714324951172],["▁Too",-11.65211296081543],["App",-11.652313232421875],["▁conseil",-11.652399063110352],["▁signals",-11.652474403381348],["▁Dead",-11.652497291564941],["▁Austria",-11.652522087097168],["▁slots",-11.652579307556152],["▁Dies",-11.652623176574707],["raj",-11.652629852294922],["stick",-11.652833938598633],["▁jaw",-11.653030395507812],["▁lounge",-11.653059005737305],["curi",-11.653359413146973],["nem",-11.653456687927246],["▁Cluj",-11.653512954711914],["▁rapide",-11.653584480285645],["▁companion",-11.653716087341309],["▁WE",-11.653879165649414],["▁bord",-11.65389347076416],["ody",-11.654045104980469],["gru",-11.654057502746582],["▁46",-11.654410362243652],["kra",-11.654717445373535],["eller",-11.65477180480957],["naire",-11.65511703491211],["hose",-11.655253410339355],["▁Atlanta",-11.655254364013672],["▁violent",-11.65530776977539],["▁imagination",-11.655352592468262],["▁reward",-11.655389785766602],["▁Korean",-11.655441284179688],["▁branches",-11.655501365661621],["▁GPS",-11.655625343322754],["glo",-11.655633926391602],["▁condo",-11.655705451965332],["▁Investment",-11.655765533447266],["▁involvement",-11.655813217163086],["▁trap",-11.655829429626465],["▁schön",-11.655872344970703],["▁ofera",-11.655933380126953],["▁unterschiedlich",-11.65596866607666],["Net",-11.655987739562988],["▁predict",-11.656113624572754],["identifying",-11.656309127807617],["▁noir",-11.6566162109375],["kos",-11.656816482543945],["poz",-11.656816482543945],["▁11,",-11.65698528289795],["▁fitted",-11.657384872436523],["MU",-11.657469749450684],["TT",-11.657645225524902],["▁vrea",-11.657846450805664],["▁wound",-11.657864570617676],["lac",-11.657971382141113],["▁purchases",-11.658409118652344],["▁Cape",-11.65843677520752],["▁Foto",-11.658537864685059],["▁acres",-11.65865707397461],["▁nec",-11.658677101135254],["▁burning",-11.659050941467285],["conf",-11.659457206726074],["▁browse",-11.659486770629883],["ural",-11.659762382507324],["▁Ah",-11.659841537475586],["▁stellt",-11.65992259979248],["▁ratings",-11.660012245178223],["▁Bowl",-11.660027503967285],["▁grav",-11.660289764404297],["titi",-11.66048526763916],["▁prêt",-11.66075325012207],["▁fallen",-11.660818099975586],["▁nombreuses",-11.660940170288086],["train",-11.660953521728516],["ène",-11.661009788513184],["Aceasta",-11.661091804504395],["▁drill",-11.661421775817871],["▁Exam",-11.661477088928223],["▁Furniture",-11.661651611328125],["eanu",-11.661919593811035],["étant",-11.66230297088623],["sville",-11.662391662597656],["▁swim",-11.662796020507812],["▁routes",-11.662826538085938],["INE",-11.662860870361328],["▁Por",-11.662976264953613],["ither",-11.663168907165527],["▁optim",-11.663180351257324],["▁lua",-11.66331958770752],["▁myth",-11.663491249084473],["▁Bett",-11.6635103225708],["chim",-11.66355037689209],["▁cyber",-11.663553237915039],["▁engineer",-11.663825035095215],["▁exploration",-11.663918495178223],["arranged",-11.663973808288574],["▁aged",-11.663993835449219],["▁beau",-11.664024353027344],["OUT",-11.66402530670166],["▁Minnesota",-11.664031982421875],["tress",-11.664407730102539],["▁Commercial",-11.664509773254395],["▁inspiring",-11.66462516784668],["▁Mare",-11.664725303649902],["apa",-11.665140151977539],["▁ignore",-11.6651611328125],["▁gros",-11.665186882019043],["▁measurement",-11.66531753540039],["ager",-11.665395736694336],["intele",-11.665966987609863],["▁suspension",-11.666180610656738],["▁cultures",-11.666211128234863],["▁Wow",-11.666231155395508],["▁pushing",-11.666363716125488],["▁bands",-11.666438102722168],["nage",-11.666450500488281],["▁Math",-11.666515350341797],["comb",-11.66658878326416],["▁créer",-11.66658878326416],["▁Lewis",-11.666685104370117],["▁VI",-11.66678524017334],["emploi",-11.666791915893555],["▁elections",-11.666890144348145],["▁logic",-11.666982650756836],["▁unlike",-11.667122840881348],["▁Matthew",-11.66743278503418],["▁pă",-11.667486190795898],["oxy",-11.667620658874512],["équipe",-11.667717933654785],["▁worden",-11.668088912963867],["dev",-11.668258666992188],["▁Massachusetts",-11.668691635131836],["▁Return",-11.668695449829102],["▁Friends",-11.66891098022461],["▁movements",-11.66894245147705],["chie",-11.668964385986328],["rak",-11.669017791748047],["▁Fit",-11.66904354095459],["▁copil",-11.669113159179688],["iunii",-11.669188499450684],["▁intensive",-11.669234275817871],["▁rug",-11.669452667236328],["lichkeit",-11.669686317443848],["kov",-11.669724464416504],["▁pense",-11.66978645324707],["pop",-11.66978931427002],["▁closet",-11.669865608215332],["▁prevention",-11.669920921325684],["▁Deb",-11.670256614685059],["▁devant",-11.670430183410645],["▁construit",-11.670440673828125],["▁breaks",-11.67082405090332],["otic",-11.670886993408203],["▁dig",-11.67088794708252],["▁près",-11.670930862426758],["chte",-11.671029090881348],["▁Chat",-11.671029090881348],["wel",-11.671219825744629],["▁edges",-11.671272277832031],["▁keen",-11.671419143676758],["▁infant",-11.671716690063477],["▁Hills",-11.6719388961792],["▁grounds",-11.671969413757324],["▁hab",-11.672039031982422],["▁Mun",-11.67215347290039],["▁references",-11.672215461730957],["▁hearts",-11.672446250915527],["exprim",-11.672487258911133],["▁tratament",-11.672553062438965],["LD",-11.67258358001709],["ssel",-11.67275333404541],["cover",-11.672782897949219],["bridge",-11.672837257385254],["▁Wein",-11.672924995422363],["▁voiture",-11.673035621643066],["▁Gemeinde",-11.67313289642334],["AI",-11.673169136047363],["▁renovation",-11.673264503479004],["bid",-11.673285484313965],["▁Reading",-11.673481941223145],["▁Gor",-11.673490524291992],["fur",-11.673527717590332],["▁Yoga",-11.673544883728027],["▁exclusively",-11.673630714416504],["▁emissions",-11.67385482788086],["ète",-11.673905372619629],["▁glasses",-11.674055099487305],["▁organizat",-11.674135208129883],["▁washing",-11.67415714263916],["▁Audi",-11.674173355102539],["▁Labor",-11.674331665039062],["▁legacy",-11.674381256103516],["▁abstract",-11.674519538879395],["▁knowledgeable",-11.674601554870605],["▁Glo",-11.674795150756836],["▁pregnant",-11.67481803894043],["liter",-11.674851417541504],["▁paintings",-11.67522144317627],["▁tête",-11.675244331359863],["voy",-11.675626754760742],["▁Jacob",-11.675667762756348],["▁dressing",-11.675679206848145],["▁provisions",-11.675768852233887],["bahn",-11.675870895385742],["▁depict",-11.675875663757324],["AW",-11.676068305969238],["▁bleibt",-11.676163673400879],["AND",-11.676292419433594],["▁fünf",-11.676386833190918],["▁hosts",-11.676426887512207],["vas",-11.676708221435547],["DO",-11.67674732208252],["▁max",-11.676753997802734],["▁contributed",-11.676774978637695],["roz",-11.676796913146973],["▁deschis",-11.676800727844238],["itaire",-11.676809310913086],["tube",-11.676959991455078],["▁Beck",-11.676959991455078],["▁curious",-11.677130699157715],["▁waves",-11.677178382873535],["▁regret",-11.677248001098633],["FO",-11.677326202392578],["droit",-11.67734146118164],["rö",-11.677565574645996],["▁Panel",-11.677624702453613],["▁pile",-11.677660942077637],["▁installing",-11.677674293518066],["▁Intr",-11.677797317504883],["nung",-11.677823066711426],["▁Outdoor",-11.677855491638184],["▁generator",-11.67786693572998],["▁zahlreiche",-11.677868843078613],["▁Third",-11.67813491821289],["frac",-11.678180694580078],["ovi",-11.678236961364746],["▁Casa",-11.678374290466309],["▁stomach",-11.678393363952637],["▁Lincoln",-11.67844009399414],["▁Electronic",-11.678584098815918],["coding",-11.67895221710205],["2017",-11.67900276184082],["▁friendship",-11.679238319396973],["ried",-11.679250717163086],["но",-11.679265022277832],["▁tail",-11.679267883300781],["▁petits",-11.679308891296387],["▁réseau",-11.679696083068848],["▁churches",-11.679999351501465],["▁marketplace",-11.680062294006348],["▁Pool",-11.680318832397461],["▁popularity",-11.680455207824707],["▁sprijin",-11.680496215820312],["▁Od",-11.680527687072754],["▁Transfer",-11.680562973022461],["▁fake",-11.680791854858398],["▁9,",-11.681007385253906],["▁weit",-11.681264877319336],["▁relaxed",-11.681415557861328],["pig",-11.68161678314209],["▁Lauren",-11.68166732788086],["gesetzt",-11.681669235229492],["▁Clar",-11.681694984436035],["▁unlikely",-11.681731224060059],["color",-11.681832313537598],["▁spouse",-11.681843757629395],["▁facile",-11.681859970092773],["▁Speed",-11.681872367858887],["KE",-11.682230949401855],["▁PO",-11.68231201171875],["▁Channel",-11.682321548461914],["argent",-11.682356834411621],["▁Making",-11.682430267333984],["▁Coll",-11.682585716247559],["cci",-11.682721138000488],["corresponding",-11.68300724029541],["▁heaven",-11.683160781860352],["ţă",-11.68319320678711],["▁darüber",-11.683236122131348],["acted",-11.683420181274414],["only",-11.683460235595703],["▁slight",-11.683465003967285],["lian",-11.68348503112793],["flă",-11.683510780334473],["▁vulnerable",-11.683530807495117],["▁creator",-11.68356704711914],["▁protecting",-11.68360424041748],["writing",-11.68360710144043],["▁Ter",-11.68387222290039],["▁barb",-11.683987617492676],["▁dată",-11.683995246887207],["▁Screen",-11.684052467346191],["▁BBC",-11.684082984924316],["Col",-11.684206008911133],["fung",-11.684453964233398],["▁dreptul",-11.684494972229004],["derived",-11.684538841247559],["▁designated",-11.684553146362305],["▁interactions",-11.684617042541504],["SG",-11.684621810913086],["▁häufig",-11.684625625610352],["▁Mega",-11.684638023376465],["▁jazz",-11.684660911560059],["lbs",-11.684797286987305],["▁Manual",-11.68484115600586],["pushed",-11.685017585754395],["▁analytics",-11.685234069824219],["▁lawsuit",-11.68533706665039],["▁gray",-11.685364723205566],["shirts",-11.685401916503906],["▁hill",-11.685508728027344],["▁1991",-11.68550968170166],["▁obligations",-11.685568809509277],["▁Dubai",-11.68580436706543],["()",-11.685808181762695],["▁acceptable",-11.685810089111328],["therapist",-11.685877799987793],["inger",-11.6860990524292],["▁territory",-11.686208724975586],["▁sang",-11.6862211227417],["ät",-11.686224937438965],["▁Zukunft",-11.686238288879395],["TU",-11.68657398223877],["▁horizontal",-11.68665599822998],["▁entrepreneurs",-11.686710357666016],["▁Eltern",-11.687017440795898],["▁presentations",-11.687129974365234],["▁confirmation",-11.687173843383789],["▁technological",-11.687432289123535],["▁1989",-11.687530517578125],["EF",-11.687640190124512],["ponent",-11.687663078308105],["NET",-11.687699317932129],["750",-11.687772750854492],["▁desert",-11.687891960144043],["▁contribu",-11.687932968139648],["▁Gun",-11.687944412231445],["▁Juli",-11.688091278076172],["ERS",-11.688261985778809],["▁inceput",-11.688261985778809],["▁answered",-11.688369750976562],["▁basement",-11.688410758972168],["film",-11.688434600830078],["▁taille",-11.688593864440918],["▁survival",-11.688655853271484],["ihnen",-11.68869400024414],["▁Bird",-11.688840866088867],["speed",-11.689336776733398],["▁journalist",-11.68941879272461],["▁Indonesia",-11.689626693725586],["▁15.",-11.689973831176758],["▁19.",-11.690025329589844],["étaient",-11.690114974975586],["▁tennis",-11.69024658203125],["▁aproximativ",-11.69039249420166],["▁Hans",-11.690650939941406],["▁Remove",-11.69067096710205],["▁cats",-11.691022872924805],["▁calories",-11.691052436828613],["▁limitations",-11.69119644165039],["▁subscribe",-11.691198348999023],["▁Dem",-11.691339492797852],["lust",-11.691370010375977],["▁adresa",-11.691394805908203],["▁sais",-11.69140911102295],["...\"",-11.691473960876465],["▁Luft",-11.691485404968262],["DL",-11.691597938537598],["▁estimates",-11.691600799560547],["▁protocol",-11.691603660583496],["▁Namen",-11.691776275634766],["▁grands",-11.691901206970215],["▁voter",-11.691970825195312],["▁vacuum",-11.692075729370117],["▁versch",-11.692103385925293],["▁Democratic",-11.692107200622559],["▁Books",-11.692170143127441],["▁frames",-11.692727088928223],["▁Bee",-11.692864418029785],["▁helfen",-11.692934036254883],["▁dive",-11.692963600158691],["▁physician",-11.693037033081055],["▁powered",-11.693131446838379],["▁zones",-11.693337440490723],["▁regime",-11.69345474243164],["check",-11.693578720092773],["11.",-11.693793296813965],["▁plaisir",-11.693793296813965],["▁physically",-11.693811416625977],["▁Pul",-11.694245338439941],["▁jardin",-11.694294929504395],["▁Nur",-11.694417953491211],["WC",-11.694425582885742],["▁Lock",-11.694506645202637],["▁économique",-11.694530487060547],["user",-11.694536209106445],["▁commit",-11.694731712341309],["▁oldest",-11.694764137268066],["▁fulfill",-11.694780349731445],["▁nervous",-11.69482135772705],["▁SH",-11.695014953613281],["SK",-11.695150375366211],["▁plein",-11.695291519165039],["show",-11.695354461669922],["▁disability",-11.695356369018555],["papier",-11.69544506072998],["▁Corp",-11.695611000061035],["ători",-11.695676803588867],["nţă",-11.695813179016113],["▁overseas",-11.696009635925293],["▁struck",-11.69603157043457],["astic",-11.69607162475586],["▁advised",-11.696088790893555],["BE",-11.696161270141602],["▁UV",-11.696218490600586],["patient",-11.69626235961914],["▁texte",-11.696344375610352],["▁timely",-11.696444511413574],["used",-11.696471214294434],["▁occasionally",-11.696524620056152],["▁entries",-11.696550369262695],["underlying",-11.6967191696167],["01.",-11.696748733520508],["▁automated",-11.696791648864746],["yes",-11.696828842163086],["▁Staff",-11.697057723999023],["▁Einzel",-11.697546005249023],["quit",-11.697687149047852],["▁Cela",-11.697951316833496],["▁snap",-11.698298454284668],["▁followers",-11.698330879211426],["CN",-11.698709487915039],["▁Cooper",-11.698892593383789],["ô",-11.698921203613281],["▁memorable",-11.698965072631836],["▁jur",-11.698996543884277],["▁ajutorul",-11.69905948638916],["▁Enter",-11.6991548538208],["Often",-11.699294090270996],["▁dintr",-11.699341773986816],["-30",-11.699419975280762],["ESS",-11.699454307556152],["▁weird",-11.699462890625],["▁Animal",-11.699706077575684],["▁complement",-11.699719429016113],["▁Bot",-11.699756622314453],["▁darf",-11.699764251708984],["yed",-11.699808120727539],["▁Mul",-11.699872016906738],["lick",-11.700080871582031],["▁Cambridge",-11.700216293334961],["adore",-11.700407981872559],["▁Dutch",-11.700420379638672],["▁Castle",-11.700431823730469],["igi",-11.700563430786133],["▁enemy",-11.70071029663086],["accompanied",-11.700725555419922],["▁teren",-11.701102256774902],["▁ET",-11.701498985290527],["ffle",-11.701557159423828],["-15",-11.701651573181152],["▁Geo",-11.701680183410645],["▁attractions",-11.701730728149414],["iker",-11.70185661315918],["▁bă",-11.701990127563477],["▁heal",-11.701995849609375],["weisen",-11.702144622802734],["▁spectrum",-11.702186584472656],["meld",-11.702394485473633],["▁eveniment",-11.70247745513916],["arra",-11.702478408813477],["rete",-11.70250129699707],["▁Had",-11.70250415802002],["looking",-11.702692031860352],["isierung",-11.702805519104004],["▁moyen",-11.703129768371582],["▁gesamte",-11.703202247619629],["▁destroy",-11.703407287597656],["125",-11.703518867492676],["▁suivant",-11.703913688659668],["▁declared",-11.703925132751465],["▁Urban",-11.704131126403809],["▁16.",-11.704168319702148],["▁Beg",-11.704168319702148],["▁canal",-11.704225540161133],["▁Pres",-11.70431137084961],["▁geeignet",-11.704339981079102],["▁strat",-11.704365730285645],["UB",-11.704395294189453],["▁Alexander",-11.704424858093262],["cycle",-11.704666137695312],["▁Var",-11.704802513122559],["▁domin",-11.704805374145508],["▁lasting",-11.704939842224121],["terio",-11.705262184143066],["▁Battle",-11.705339431762695],["▁publications",-11.705647468566895],["▁implica",-11.705886840820312],["▁NA",-11.705963134765625],["▁stocks",-11.706036567687988],["Plat",-11.70611572265625],["▁excitement",-11.706149101257324],["▁Muslim",-11.706524848937988],["▁Mari",-11.706530570983887],["▁Ul",-11.706647872924805],["nächst",-11.706757545471191],["▁trait",-11.706833839416504],["▁(3)",-11.706852912902832],["▁Attorney",-11.706894874572754],["▁Malaysia",-11.70689582824707],["▁slab",-11.706960678100586],["▁dam",-11.707113265991211],["▁Bir",-11.707226753234863],["▁sing",-11.70738410949707],["▁Culture",-11.7073974609375],["UD",-11.707417488098145],["▁Mes",-11.707443237304688],["ități",-11.707615852355957],["▁possess",-11.708173751831055],["enabling",-11.70820426940918],["▁settled",-11.708335876464844],["▁sagen",-11.708492279052734],["▁erfolgt",-11.708564758300781],["dog",-11.708600997924805],["ndu",-11.708732604980469],["ității",-11.708745002746582],["▁Islam",-11.708930015563965],["▁catalog",-11.708931922912598],["▁simt",-11.709102630615234],["tische",-11.709150314331055],["▁Mach",-11.709334373474121],["▁EP",-11.709359169006348],["▁Certified",-11.709386825561523],["▁Resources",-11.70945930480957],["▁Past",-11.709607124328613],["▁Termin",-11.709755897521973],["▁lightweight",-11.709755897521973],["▁championship",-11.70994758605957],["gebiet",-11.710122108459473],["▁jurisdiction",-11.710135459899902],["▁euros",-11.710169792175293],["▁Familien",-11.710554122924805],["▁GT",-11.710677146911621],["▁dvs",-11.71081256866455],["▁nouveaux",-11.710838317871094],["▁chill",-11.710916519165039],["▁ridicat",-11.710920333862305],["his",-11.711079597473145],["▁Indi",-11.711159706115723],["▁arrested",-11.71116828918457],["ităţii",-11.711170196533203],["onul",-11.711274147033691],["appar",-11.711296081542969],["▁Bachelor",-11.711297988891602],["▁erfolgreich",-11.711426734924316],["▁versatile",-11.71163558959961],["▁nécessaire",-11.711761474609375],["▁facial",-11.712160110473633],["▁Bull",-11.712226867675781],["Comm",-11.712237358093262],["atte",-11.712307929992676],["hom",-11.7123384475708],["start",-11.712576866149902],["▁roughly",-11.712936401367188],["▁bay",-11.712984085083008],["▁american",-11.712986946105957],["▁Wisconsin",-11.713135719299316],["▁Clinton",-11.713142395019531],["appareil",-11.713153839111328],["▁liberal",-11.713455200195312],["▁dau",-11.713519096374512],["ech",-11.713521957397461],["2014",-11.713624000549316],["▁lip",-11.713645935058594],["▁maintenant",-11.713762283325195],["▁Sil",-11.713805198669434],["rben",-11.713891983032227],["▁contents",-11.713980674743652],["▁magnetic",-11.714111328125],["▁terre",-11.714151382446289],["▁Rights",-11.714475631713867],["lose",-11.714570045471191],["▁crown",-11.71468448638916],["▁oils",-11.7147216796875],["▁entertaining",-11.714841842651367],["▁Option",-11.714848518371582],["▁Previous",-11.714916229248047],["▁vrai",-11.714930534362793],["▁Auswahl",-11.715056419372559],["▁horses",-11.715106010437012],["▁Author",-11.71533489227295],["▁Writing",-11.715461730957031],["▁travelling",-11.715522766113281],["▁350",-11.715567588806152],["daten",-11.71560287475586],["zan",-11.715765953063965],["▁sweat",-11.715924263000488],["▁Junior",-11.715970993041992],["markt",-11.71609878540039],["after",-11.716105461120605],["▁admitted",-11.716262817382812],["▁1950",-11.716347694396973],["▁Sche",-11.71648120880127],["▁dorit",-11.716818809509277],["▁transferred",-11.716958045959473],["utilise",-11.717194557189941],["sitz",-11.717301368713379],["gio",-11.717320442199707],["▁bisher",-11.717473983764648],["RD",-11.717491149902344],["▁Wales",-11.717747688293457],["▁smoking",-11.717904090881348],["dire",-11.717939376831055],["▁seating",-11.717979431152344],["▁constat",-11.718056678771973],["▁Hub",-11.718324661254883],["▁sieht",-11.718345642089844],["▁prospect",-11.718378067016602],["▁RO",-11.718413352966309],["▁Wars",-11.718423843383789],["eek",-11.718496322631836],["▁Bring",-11.718646049499512],["▁bleiben",-11.718696594238281],["arri",-11.718826293945312],["inal",-11.718904495239258],["▁Maryland",-11.718932151794434],["▁Process",-11.719145774841309],["They",-11.719154357910156],["▁Oxford",-11.719176292419434],["▁neat",-11.719330787658691],["▁cinema",-11.719597816467285],["▁Ist",-11.719620704650879],["▁vegan",-11.719682693481445],["wall",-11.719708442687988],["▁motive",-11.72010612487793],["▁mature",-11.720544815063477],["▁Dragon",-11.720653533935547],["▁google",-11.720677375793457],["blick",-11.72110652923584],["▁Cod",-11.721220970153809],["▁suffi",-11.721319198608398],["▁terrorist",-11.721478462219238],["Posted",-11.721484184265137],["▁Schi",-11.72157096862793],["▁Marc",-11.721597671508789],["▁operates",-11.721661567687988],["gress",-11.721805572509766],["has",-11.721899032592773],["sole",-11.722108840942383],["▁Buck",-11.722122192382812],["impl",-11.722160339355469],["▁Ron",-11.722172737121582],["▁handled",-11.722346305847168],["▁Apr",-11.722347259521484],["▁Storage",-11.722467422485352],["▁temp",-11.722512245178223],["▁differently",-11.722614288330078],["▁wherever",-11.722670555114746],["matched",-11.722695350646973],["rios",-11.72276496887207],["▁surprising",-11.722846031188965],["teilen",-11.722867965698242],["▁difficulties",-11.72294807434082],["tab",-11.723064422607422],["▁Leader",-11.723128318786621],["implementing",-11.723372459411621],["▁workforce",-11.723384857177734],["▁bereit",-11.723503112792969],["vig",-11.72352123260498],["▁LOVE",-11.723580360412598],["▁instances",-11.723954200744629],["▁frumos",-11.723960876464844],["▁Java",-11.723974227905273],["▁arrest",-11.723977088928223],["▁apparent",-11.724152565002441],["▁hence",-11.724200248718262],["▁entwickelt",-11.72437572479248],["▁Fra",-11.724471092224121],["▁prend",-11.724486351013184],["ließ",-11.724522590637207],["▁drawer",-11.724671363830566],["ARD",-11.724926948547363],["▁caring",-11.72499942779541],["▁wollte",-11.725024223327637],["▁vielleicht",-11.72511100769043],["▁iconic",-11.725324630737305],["äch",-11.72552490234375],["abel",-11.725639343261719],["▁génér",-11.72570514678955],["ault",-11.725727081298828],["▁alternatives",-11.725909233093262],["think",-11.726025581359863],["ро",-11.726055145263672],["whereas",-11.726058006286621],["erei",-11.726366996765137],["▁Eagle",-11.726766586303711],["situé",-11.72704792022705],["▁laboratory",-11.727157592773438],["▁Nutzung",-11.727256774902344],["▁Bathroom",-11.72728157043457],["▁loaded",-11.727293968200684],["niste",-11.727408409118652],["som",-11.727429389953613],["▁aucun",-11.727666854858398],["gebracht",-11.727676391601562],["▁tomb",-11.727771759033203],["▁Ty",-11.727785110473633],["▁afaceri",-11.727971076965332],["tex",-11.72803783416748],["ality",-11.728147506713867],["▁identification",-11.728150367736816],["▁cultiv",-11.728255271911621],["Not",-11.728326797485352],["▁acestor",-11.72846508026123],["▁PhD",-11.728466033935547],["nell",-11.728470802307129],["▁dial",-11.728594779968262],["chro",-11.728673934936523],["▁specifications",-11.728682518005371],["anii",-11.72877025604248],["▁cloth",-11.728836059570312],["▁highway",-11.728914260864258],["▁Vitamin",-11.729118347167969],["▁indication",-11.729349136352539],["80%",-11.72959041595459],["▁Lion",-11.729681015014648],["▁10,",-11.729693412780762],["▁Werk",-11.72974967956543],["▁combin",-11.729803085327148],["▁releases",-11.7298583984375],["LL",-11.730006217956543],["ktor",-11.730186462402344],["ufgrund",-11.73018741607666],["calc",-11.73034381866455],["▁accomplished",-11.730606079101562],["▁los",-11.730619430541992],["▁distant",-11.730688095092773],["▁secteur",-11.73068904876709],["logue",-11.730781555175781],["▁betting",-11.730792999267578],["elf",-11.731180191040039],["puteti",-11.73123550415039],["▁Moment",-11.731236457824707],["▁scoring",-11.731548309326172],["▁freuen",-11.731572151184082],["▁fastest",-11.731873512268066],["▁directors",-11.732080459594727],["▁fame",-11.732234954833984],["▁complaint",-11.732239723205566],["▁Ep",-11.732314109802246],["▁delicate",-11.732329368591309],["annonce",-11.73240852355957],["ext",-11.732454299926758],["▁quit",-11.732473373413086],["▁Cop",-11.73253345489502],["prop",-11.732565879821777],["365",-11.732742309570312],["▁Say",-11.732879638671875],["▁internationale",-11.733064651489258],["cott",-11.733213424682617],["▁Whatever",-11.733261108398438],["▁admir",-11.733261108398438],["▁bucur",-11.733549118041992],["▁entity",-11.733779907226562],["▁dancing",-11.733837127685547],["▁printre",-11.733892440795898],["▁meditation",-11.734396934509277],["▁avis",-11.734416961669922],["▁1988",-11.73447036743164],["10.",-11.734506607055664],["▁worker",-11.734638214111328],["▁$100",-11.734784126281738],["▁contrôle",-11.7349853515625],["▁insist",-11.734997749328613],["ements",-11.73505973815918],["izate",-11.735163688659668],["▁tied",-11.735332489013672],["▁correspond",-11.735396385192871],["▁apartments",-11.735547065734863],["▁2009.",-11.735599517822266],["▁tiles",-11.735624313354492],["▁boots",-11.735639572143555],["▁laundry",-11.735673904418945],["▁Coffee",-11.735674858093262],["▁CV",-11.735727310180664],["▁composed",-11.736035346984863],["atom",-11.73622989654541],["▁shore",-11.736270904541016],["▁marijuana",-11.736312866210938],["plic",-11.73648452758789],["▁Zahl",-11.736649513244629],["depth",-11.73682689666748],["▁Egypt",-11.736854553222656],["▁NFL",-11.736906051635742],["▁12,",-11.736922264099121],["▁pollution",-11.736964225769043],["▁Vergleich",-11.73704719543457],["û",-11.737109184265137],["▁nurse",-11.737153053283691],["▁Susan",-11.737173080444336],["▁verify",-11.737393379211426],["▁kon",-11.737504959106445],["▁ulei",-11.7376127243042],["▁Sept",-11.737699508666992],["▁Location",-11.737908363342285],["▁frozen",-11.737991333007812],["good",-11.73802661895752],["▁cine",-11.738066673278809],["forming",-11.738181114196777],["▁Near",-11.738391876220703],["▁Tab",-11.738545417785645],["▁Alexandr",-11.738600730895996],["ст",-11.73863697052002],["CK",-11.738656044006348],["▁loads",-11.738948822021484],["▁disorders",-11.738957405090332],["hip",-11.739596366882324],["▁blessing",-11.73987102508545],["▁vechi",-11.73997688293457],["▁Bookmark",-11.740296363830566],["SON",-11.74036979675293],["books",-11.740428924560547],["▁tropical",-11.740438461303711],["▁Garten",-11.740447044372559],["ôt",-11.740760803222656],["tures",-11.740827560424805],["▁obligation",-11.741010665893555],["▁admin",-11.741011619567871],["▁sélection",-11.741106986999512],["disp",-11.741172790527344],["▁Anyone",-11.741225242614746],["keeper",-11.74138355255127],["▁konnten",-11.741521835327148],["▁existe",-11.741615295410156],["▁Rund",-11.741798400878906],["▁retailers",-11.74184799194336],["folg",-11.741948127746582],["▁urmare",-11.742019653320312],["▁Liebe",-11.742321014404297],["▁actors",-11.742422103881836],["▁Druck",-11.742618560791016],["lien",-11.742752075195312],["sian",-11.742847442626953],["▁partid",-11.74304485321045],["▁loin",-11.743114471435547],["AZ",-11.743119239807129],["oasă",-11.743501663208008],["▁inclusiv",-11.743656158447266],["TD",-11.743680953979492],["▁anului",-11.743766784667969],["poc",-11.743844985961914],["▁musique",-11.743972778320312],["▁Hart",-11.743997573852539],["Sh",-11.744283676147461],["html",-11.744290351867676],["▁serial",-11.744318008422852],["țele",-11.744369506835938],["inning",-11.744544982910156],["▁Bureau",-11.744555473327637],["▁rush",-11.744626998901367],["▁deosebit",-11.744637489318848],["▁Wort",-11.744648933410645],["▁Thailand",-11.744688987731934],["▁Language",-11.745193481445312],["▁Governor",-11.745213508605957],["▁Later",-11.74525260925293],["rilor",-11.745282173156738],["▁activités",-11.745372772216797],["schaffen",-11.745598793029785],["▁harvest",-11.74567985534668],["▁municipal",-11.745783805847168],["einander",-11.74600601196289],["▁fingers",-11.746383666992188],["▁sculpture",-11.74638843536377],["▁Bien",-11.746390342712402],["▁departments",-11.746562957763672],["▁période",-11.746746063232422],["▁jeune",-11.746960639953613],["▁governments",-11.74710750579834],["uter",-11.747179985046387],["Aceste",-11.747220039367676],["▁Deal",-11.747243881225586],["▁Equipment",-11.74726390838623],["nous",-11.747300148010254],["▁gate",-11.747315406799316],["▁meta",-11.747447967529297],["▁stiu",-11.747474670410156],["fold",-11.747486114501953],["▁seule",-11.747523307800293],["▁varied",-11.747541427612305],["hit",-11.747635841369629],["▁DIY",-11.74768352508545],["▁lemn",-11.747685432434082],["OB",-11.747865676879883],["▁colorful",-11.748095512390137],["▁câ",-11.74826431274414],["▁semester",-11.74830150604248],["▁dealer",-11.748575210571289],["nett",-11.748788833618164],["▁shortly",-11.748932838439941],["▁Driver",-11.748983383178711],["culture",-11.749052047729492],["▁permitted",-11.749072074890137],["▁sorts",-11.749432563781738],["▁crop",-11.74999713897705],["▁valoare",-11.75046157836914],["▁analog",-11.750576972961426],["▁excuse",-11.750588417053223],["▁modèle",-11.750657081604004],["When",-11.75068473815918],["▁march",-11.750744819641113],["haz",-11.750978469848633],["▁minimize",-11.750992774963379],["traction",-11.751028060913086],["▁caracter",-11.752382278442383],["▁modules",-11.7523832321167],["clu",-11.75244426727295],["ţional",-11.752482414245605],["▁breach",-11.752562522888184],["▁priced",-11.752614974975586],["▁attorneys",-11.752644538879395],["▁implant",-11.752645492553711],["▁ANY",-11.752655029296875],["dition",-11.752707481384277],["▁trials",-11.752838134765625],["▁Nas",-11.75293254852295],["Pre",-11.752970695495605],["lorsque",-11.752979278564453],["plin",-11.753050804138184],["Er",-11.753056526184082],["▁Dom",-11.753067970275879],["▁tire",-11.753190040588379],["sili",-11.753233909606934],["▁coins",-11.753350257873535],["▁rend",-11.753470420837402],["▁reliability",-11.753503799438477],["▁Analysis",-11.753508567810059],["▁trails",-11.753692626953125],["trägt",-11.753762245178223],["▁Kansas",-11.753908157348633],["▁responsive",-11.75390911102295],["▁disappear",-11.753988265991211],["▁stakeholders",-11.754022598266602],["▁aplica",-11.754164695739746],["▁imi",-11.754180908203125],["▁Laura",-11.754369735717773],["▁Terms",-11.75440788269043],["450",-11.754460334777832],["▁voltage",-11.754483222961426],["▁Gel",-11.754544258117676],["▁qualities",-11.754549026489258],["▁qualifi",-11.754603385925293],["▁Mé",-11.754735946655273],["bereit",-11.754829406738281],["gleich",-11.754875183105469],["▁voting",-11.754961013793945],["▁trademark",-11.755128860473633],["▁2.5",-11.75515079498291],["ND",-11.755438804626465],["▁Kelly",-11.755470275878906],["▁weiteren",-11.755559921264648],["▁filters",-11.75562572479248],["▁coût",-11.75562858581543],["jur",-11.755765914916992],["acre",-11.755804061889648],["▁retired",-11.756022453308105],["▁Engine",-11.756205558776855],["▁président",-11.756264686584473],["ajul",-11.756307601928711],["▁GA",-11.756425857543945],["rät",-11.75666332244873],["▁instructor",-11.756669998168945],["▁Allen",-11.75668716430664],["▁Delhi",-11.756771087646484],["▁cure",-11.756844520568848],["seite",-11.756898880004883],["coming",-11.756914138793945],["▁mixing",-11.756963729858398],["▁Kno",-11.757041931152344],["▁Sure",-11.757079124450684],["▁hired",-11.757102012634277],["▁participated",-11.757196426391602],["Count",-11.757320404052734],["treffen",-11.757355690002441],["▁54",-11.75735855102539],["▁rings",-11.75735855102539],["▁Thor",-11.757359504699707],["éro",-11.75744915008545],["▁buttons",-11.757488250732422],["▁47",-11.757539749145508],["▁Tel",-11.757694244384766],["▁suport",-11.757776260375977],["▁rhythm",-11.75782585144043],["▁Theater",-11.758113861083984],["▁informatii",-11.758121490478516],["hält",-11.758201599121094],["▁ouvert",-11.758238792419434],["fewer",-11.75828742980957],["▁alumni",-11.758466720581055],["▁valley",-11.758508682250977],["tial",-11.75860595703125],["***",-11.758782386779785],["kri",-11.75905704498291],["▁accidents",-11.759113311767578],["▁barrel",-11.759170532226562],["mobil",-11.759310722351074],["etti",-11.759437561035156],["▁immigration",-11.759515762329102],["▁poveste",-11.759528160095215],["hren",-11.759669303894043],["hydr",-11.759719848632812],["▁tweet",-11.759744644165039],["▁zip",-11.759872436523438],["▁Bonus",-11.760189056396484],["ordnung",-11.760287284851074],["liber",-11.76046085357666],["▁Navy",-11.760591506958008],["▁agreements",-11.760612487792969],["▁detection",-11.7607421875],["DF",-11.760762214660645],["hur",-11.760774612426758],["0.00",-11.760798454284668],["▁07",-11.760866165161133],["etta",-11.760884284973145],["▁13,",-11.760887145996094],["rolled",-11.760970115661621],["▁injection",-11.761002540588379],["mig",-11.761017799377441],["wach",-11.761107444763184],["▁choisir",-11.761515617370605],["▁professionnels",-11.76159954071045],["▁Tower",-11.76169490814209],["▁neighbor",-11.76170539855957],["deutschen",-11.76187801361084],["▁luxurious",-11.76201057434082],["▁walks",-11.762033462524414],["reti",-11.762046813964844],["▁Pad",-11.762085914611816],["wise",-11.762297630310059],["▁exhaust",-11.762307167053223],["▁demonstration",-11.762582778930664],["▁agricultural",-11.762667655944824],["Upon",-11.762885093688965],["▁Blu",-11.76292610168457],["atorul",-11.762967109680176],["amour",-11.762984275817871],["issant",-11.763004302978516],["▁delighted",-11.763031959533691],["rita",-11.763113021850586],["requiring",-11.763195037841797],["ivity",-11.763216972351074],["▁Unser",-11.763306617736816],["FP",-11.763379096984863],["fait",-11.763533592224121],["dite",-11.763562202453613],["kul",-11.763716697692871],["arth",-11.76376724243164],["▁Ker",-11.763815879821777],["torilor",-11.763816833496094],["stage",-11.763866424560547],["▁HTML",-11.76398754119873],["▁Wheel",-11.764005661010742],["▁quelque",-11.76414680480957],["▁Ou",-11.764196395874023],["▁considerable",-11.764277458190918],["▁Sco",-11.76458740234375],["▁donations",-11.76481819152832],["dessen",-11.765002250671387],["▁pourquoi",-11.765039443969727],["▁Bow",-11.765189170837402],["▁Dupa",-11.76522445678711],["ska",-11.765707015991211],["hot",-11.765732765197754],["▁drove",-11.765849113464355],["▁oppos",-11.766018867492676],["▁hiking",-11.766035079956055],["▁Boot",-11.766081809997559],["One",-11.766087532043457],["▁guvern",-11.766094207763672],["▁15,",-11.766400337219238],["scheid",-11.766437530517578],["▁Miet",-11.766458511352539],["▁Technical",-11.766767501831055],["▁Dal",-11.7669038772583],["▁Metro",-11.766966819763184],["▁Baker",-11.767215728759766],["▁trece",-11.767252922058105],["tained",-11.767302513122559],["block",-11.76738452911377],["▁wander",-11.767401695251465],["▁penalty",-11.76742172241211],["▁shipped",-11.767509460449219],["▁30%",-11.767518043518066],["group",-11.767541885375977],["▁brothers",-11.767701148986816],["▁comanda",-11.767777442932129],["▁retreat",-11.767789840698242],["▁Movie",-11.767802238464355],["PU",-11.76787281036377],["▁Jun",-11.767885208129883],["▁$6",-11.767969131469727],["▁Fal",-11.768054962158203],["▁Palestinian",-11.768075942993164],["▁soccer",-11.768217086791992],["▁Autor",-11.768254280090332],["▁chamber",-11.768266677856445],["nement",-11.768463134765625],["▁offense",-11.768610954284668],["▁gig",-11.768631935119629],["▁abandon",-11.768691062927246],["▁Kraft",-11.768783569335938],["▁Medicare",-11.768784523010254],["▁soap",-11.768835067749023],["▁Fur",-11.768990516662598],["▁conditioning",-11.769103050231934],["rained",-11.769132614135742],["▁puts",-11.769134521484375],["▁cod",-11.76930046081543],["lassen",-11.76941967010498],["FL",-11.769600868225098],["▁komplett",-11.769664764404297],["▁entscheiden",-11.769665718078613],["▁Hour",-11.769691467285156],["?!",-11.770040512084961],["Stream",-11.770145416259766],["▁Grad",-11.770209312438965],["▁gently",-11.770231246948242],["▁poetry",-11.770429611206055],["▁secured",-11.770438194274902],["oph",-11.770466804504395],["hop",-11.770561218261719],["handel",-11.770634651184082],["▁besoins",-11.770658493041992],["got",-11.770824432373047],["▁Chrome",-11.77088737487793],["ILL",-11.770930290222168],["▁Schritt",-11.771014213562012],["▁spell",-11.771063804626465],["▁grinding",-11.771334648132324],["▁ramp",-11.77144718170166],["▁mama",-11.7716064453125],["▁bottles",-11.77180290222168],["▁canvas",-11.771906852722168],["▁ecosystem",-11.77194595336914],["aţii",-11.771967887878418],["cellular",-11.772085189819336],["▁Spin",-11.772164344787598],["▁Discover",-11.772217750549316],["-17",-11.772322654724121],["▁feeding",-11.77246379852295],["▁stops",-11.7725191116333],["▁haute",-11.772552490234375],["▁Entscheidung",-11.7725830078125],["▁semble",-11.772590637207031],["▁acele",-11.772857666015625],["▁Walk",-11.773154258728027],["▁joke",-11.773180961608887],["▁Fed",-11.773294448852539],["climat",-11.773306846618652],["▁Lot",-11.773460388183594],["runner",-11.773551940917969],["▁flip",-11.773786544799805],["▁werde",-11.773818016052246],["▁Deck",-11.77417278289795],["bala",-11.774296760559082],["▁sacrifice",-11.774375915527344],["cid",-11.774388313293457],["him",-11.774569511413574],["zahlen",-11.774587631225586],["▁heater",-11.774596214294434],["formed",-11.774619102478027],["plus",-11.774711608886719],["▁util",-11.774742126464844],["rama",-11.775019645690918],["(4)",-11.7750244140625],["▁knife",-11.775111198425293],["▁traditions",-11.77520751953125],["▁dip",-11.775357246398926],["kill",-11.775405883789062],["▁Rich",-11.775418281555176],["▁DI",-11.775555610656738],["▁containers",-11.775677680969238],["▁locuri",-11.775728225708008],["▁continent",-11.775797843933105],["teilung",-11.776005744934082],["▁vreme",-11.776028633117676],["organisation",-11.776126861572266],["serie",-11.776135444641113],["▁Diamond",-11.776204109191895],["magazin",-11.77627944946289],["▁poster",-11.776455879211426],["▁passenger",-11.7765474319458],["▁soldiers",-11.776552200317383],["▁urgent",-11.776616096496582],["▁Lip",-11.77680778503418],["▁aşa",-11.776972770690918],["▁BO",-11.777024269104004],["▁somebody",-11.777076721191406],["▁silence",-11.777132034301758],["cop",-11.777359962463379],["▁Burn",-11.77749252319336],["▁stopping",-11.777544021606445],["▁essence",-11.777568817138672],["▁hitting",-11.777762413024902],["▁producers",-11.777801513671875],["▁fibre",-11.777894020080566],["▁seasonal",-11.777960777282715],["▁tara",-11.778096199035645],["▁Jose",-11.778099060058594],["▁Better",-11.77825927734375],["▁steep",-11.778295516967773],["Alors",-11.778353691101074],["▁collecting",-11.778507232666016],["vre",-11.778635025024414],["▁disabled",-11.77863883972168],["▁voters",-11.778679847717285],["consuming",-11.779092788696289],["deemed",-11.779115676879883],["éra",-11.779227256774902],["opération",-11.779273986816406],["▁roller",-11.779305458068848],["Rather",-11.779321670532227],["▁leider",-11.779370307922363],["▁IV",-11.779434204101562],["▁erreichen",-11.779473304748535],["▁charging",-11.779657363891602],["tions",-11.77973747253418],["tiques",-11.779861450195312],["▁formats",-11.779876708984375],["▁painful",-11.78000545501709],["▁eager",-11.780061721801758],["generation",-11.780137062072754],["anna",-11.780235290527344],["▁races",-11.780323028564453],["force",-11.780357360839844],["▁ferm",-11.780522346496582],["▁breathing",-11.780618667602539],["▁offen",-11.780648231506348],["▁minds",-11.780805587768555],["▁musste",-11.780832290649414],["▁Vision",-11.780888557434082],["▁Installation",-11.780988693237305],["▁hesitate",-11.781002044677734],["▁somit",-11.781023979187012],["hôtel",-11.781044006347656],["cab",-11.781235694885254],["-16",-11.781312942504883],["▁Visual",-11.781418800354004],["intérêt",-11.781524658203125],["▁apel",-11.781831741333008],["therapy",-11.782089233398438],["volt",-11.78225040435791],["▁Rou",-11.782439231872559],["▁efficace",-11.782464027404785],["▁architectural",-11.782605171203613],["▁privilege",-11.782670974731445],["▁treating",-11.782711029052734],["▁Tam",-11.782722473144531],["tsch",-11.782744407653809],["building",-11.782750129699707],["▁associations",-11.782929420471191],["▁Consumer",-11.783424377441406],["▁Lim",-11.783496856689453],["newest",-11.7835054397583],["▁față",-11.783675193786621],["▁ships",-11.783732414245605],["lev",-11.78373908996582],["raft",-11.783817291259766],["▁variations",-11.783845901489258],["▁noua",-11.78386402130127],["▁Cab",-11.784063339233398],["1.2",-11.78409481048584],["▁ocazi",-11.784347534179688],["▁recommendation",-11.784449577331543],["titled",-11.78445053100586],["▁invoice",-11.78459644317627],["▁noastra",-11.784647941589355],["kur",-11.784700393676758],["issent",-11.784758567810059],["base",-11.784778594970703],["hä",-11.7848482131958],["888",-11.784914016723633],["▁declar",-11.784941673278809],["▁Football",-11.7850341796875],["▁Indeed",-11.785293579101562],["▁weapon",-11.785333633422852],["▁destroyed",-11.785457611083984],["▁enormous",-11.785594940185547],["▁blanket",-11.7857084274292],["▁aktiv",-11.785759925842285],["raw",-11.785791397094727],["▁computing",-11.785823822021484],["6)",-11.785955429077148],["▁Dam",-11.786152839660645],["▁confort",-11.786174774169922],["▁Gla",-11.786198616027832],["hardly",-11.786242485046387],["▁annually",-11.786269187927246],["▁destinations",-11.786401748657227],["▁guilty",-11.786404609680176],["▁scholarship",-11.786439895629883],["▁harmful",-11.786453247070312],["▁2-3",-11.786616325378418],["▁Race",-11.786638259887695],["▁hypo",-11.78671646118164],["▁shorter",-11.786733627319336],["quest",-11.78675651550293],["uze",-11.786812782287598],["izi",-11.787005424499512],["OO",-11.787095069885254],["▁Schutz",-11.787097930908203],["▁Teilnehmer",-11.787185668945312],["▁profiles",-11.787199020385742],["▁sustainability",-11.78747272491455],["▁emb",-11.787489891052246],["▁Augen",-11.787516593933105],["▁outdoors",-11.787542343139648],["▁Individual",-11.787548065185547],["▁pou",-11.78757095336914],["▁Together",-11.787575721740723],["HT",-11.787674903869629],["suited",-11.787755012512207],["▁tro",-11.787782669067383],["▁Strom",-11.787805557250977],["▁achievement",-11.78799819946289],["▁Range",-11.78815746307373],["tory",-11.78817081451416],["▁distribute",-11.788250923156738],["▁letzte",-11.788276672363281],["incorporated",-11.788287162780762],["▁Kir",-11.788325309753418],["ruf",-11.78839111328125],["▁disappointed",-11.788543701171875],["▁referral",-11.788602828979492],["flam",-11.788687705993652],["▁excessive",-11.7886962890625],["▁rapidement",-11.788743019104004],["▁Rio",-11.78875732421875],["aţia",-11.788951873779297],["▁meuble",-11.78912353515625],["▁2008.",-11.789135932922363],["▁Gall",-11.78915023803711],["▁française",-11.789369583129883],["▁ladies",-11.789695739746094],["ailed",-11.789746284484863],["El",-11.789834976196289],["▁wines",-11.789868354797363],["▁beispielsweise",-11.789876937866211],["▁gamme",-11.790193557739258],["▁guided",-11.79028034210205],["▁plin",-11.790339469909668],["Î",-11.790390968322754],["▁True",-11.790498733520508],["▁Temple",-11.790507316589355],["▁Pic",-11.790520668029785],["permalink",-11.790547370910645],["▁vedea",-11.790656089782715],["▁rank",-11.790922164916992],["▁Grill",-11.791025161743164],["clin",-11.791070938110352],["▁Hab",-11.791089057922363],["▁odds",-11.791125297546387],["▁anytime",-11.791146278381348],["▁Thanksgiving",-11.791265487670898],["guard",-11.791300773620605],["▁essays",-11.791389465332031],["▁PE",-11.79139518737793],["▁Rechts",-11.791494369506836],["mals",-11.791751861572266],["achi",-11.791762351989746],["▁Anthony",-11.791765213012695],["▁réponse",-11.792036056518555],["standing",-11.79227352142334],["▁Mol",-11.792427062988281],["▁Canon",-11.792474746704102],["▁silk",-11.792515754699707],["▁pourrait",-11.79278564453125],["▁raport",-11.79280948638916],["▁Woche",-11.792889595031738],["fallen",-11.79293155670166],["sting",-11.79310131072998],["▁circulation",-11.793102264404297],["▁skirt",-11.7931547164917],["▁Title",-11.793187141418457],["▁17.",-11.79331111907959],["▁Touch",-11.793486595153809],["▁utilizat",-11.79352855682373],["▁Organisation",-11.793569564819336],["▁mereu",-11.793848991394043],["▁oxygen",-11.793953895568848],["lique",-11.793985366821289],["▁consume",-11.794100761413574],["▁Barb",-11.794102668762207],["1.1",-11.794105529785156],["▁nicely",-11.79419231414795],["▁psychological",-11.794227600097656],["▁refrigerator",-11.794478416442871],["▁fantasy",-11.79481029510498],["▁dispute",-11.79494571685791],["▁IBM",-11.794954299926758],["▁Nation",-11.794971466064453],["▁mobil",-11.795063972473145],["▁density",-11.795201301574707],["ske",-11.795230865478516],["▁intimate",-11.795313835144043],["▁tailored",-11.795319557189941],["▁outline",-11.795472145080566],["TN",-11.79554557800293],["mur",-11.795634269714355],["GC",-11.795662879943848],["they",-11.795992851257324],["pag",-11.796161651611328],["▁Kultur",-11.796246528625488],["grün",-11.796281814575195],["voted",-11.796529769897461],["▁donné",-11.796546936035156],["▁Să",-11.796629905700684],["enberg",-11.796648979187012],["▁wi",-11.79686450958252],["▁Francis",-11.797057151794434],["▁Rick",-11.797157287597656],["accord",-11.797403335571289],["▁Zusammen",-11.797415733337402],["▁nonprofit",-11.797456741333008],["▁listings",-11.797615051269531],["6,",-11.797908782958984],["▁maximize",-11.798253059387207],["bud",-11.798345565795898],["▁promotional",-11.798486709594727],["cina",-11.798646926879883],["▁potatoes",-11.79869556427002],["▁mot",-11.798871040344238],["carries",-11.799384117126465],["▁stabilit",-11.799458503723145],["▁Door",-11.799574851989746],["▁downloaded",-11.799574851989746],["▁experimental",-11.799724578857422],["HD",-11.7997407913208],["▁parfois",-11.79980182647705],["▁zeigen",-11.800092697143555],["▁proposé",-11.80030632019043],["▁Verein",-11.800636291503906],["▁amestec",-11.800676345825195],["▁entreprise",-11.800718307495117],["▁PSD",-11.800841331481934],["▁bake",-11.800897598266602],["▁Rh",-11.800904273986816],["▁Mehr",-11.800922393798828],["▁purple",-11.801074028015137],["▁recipient",-11.80109691619873],["rare",-11.801166534423828],["egi",-11.80117130279541],["ancien",-11.801176071166992],["▁risque",-11.80118465423584],["▁mystery",-11.80157470703125],["mac",-11.801697731018066],["ibility",-11.80182933807373],["▁Moore",-11.801881790161133],["▁flavors",-11.801911354064941],["▁trauma",-11.801966667175293],["▁automotive",-11.802112579345703],["▁Anyway",-11.802197456359863],["▁simulation",-11.802253723144531],["▁crafts",-11.802525520324707],["▁measurements",-11.80257511138916],["▁cour",-11.80257797241211],["▁tard",-11.802600860595703],["nnie",-11.802881240844727],["▁Production",-11.803388595581055],["▁Cleaning",-11.803567886352539],["5,",-11.803644180297852],["▁Islamic",-11.803766250610352],["▁Gate",-11.80378532409668],["bay",-11.803814888000488],["HR",-11.803990364074707],["▁Offer",-11.80399227142334],["▁acceptance",-11.804107666015625],["▁Erfahrung",-11.80412769317627],["▁environ",-11.804193496704102],["▁fancy",-11.804218292236328],["▁bullet",-11.80437183380127],["organ",-11.804466247558594],["▁Peace",-11.804520606994629],["▁detalii",-11.80461597442627],["▁promised",-11.804715156555176],["▁wellness",-11.804746627807617],["▁satisfy",-11.80481243133545],["▁grants",-11.805212020874023],["accueil",-11.80522346496582],["▁oben",-11.805412292480469],["▁prospects",-11.80543327331543],["▁Events",-11.805513381958008],["2013",-11.805569648742676],["gesehen",-11.805685997009277],["▁£1",-11.805727005004883],["▁handelt",-11.805798530578613],["▁Spieler",-11.805876731872559],["▁Virtual",-11.806145668029785],["▁bubble",-11.806239128112793],["▁Trend",-11.806254386901855],["▁sistemul",-11.806315422058105],["▁Morgan",-11.806320190429688],["▁pole",-11.806503295898438],["▁spielen",-11.806533813476562],["tür",-11.806571006774902],["SCO",-11.806572914123535],["▁informative",-11.806678771972656],["▁affirm",-11.806755065917969],["▁Aqua",-11.806818008422852],["▁AR",-11.806888580322266],["richten",-11.807071685791016],["▁rewards",-11.807122230529785],["lub",-11.807235717773438],["shot",-11.807236671447754],["LM",-11.807540893554688],["Up",-11.807586669921875],["▁absolut",-11.807737350463867],["▁Mart",-11.807806968688965],["erweise",-11.807812690734863],["BP",-11.807977676391602],["▁difficile",-11.808152198791504],["▁Document",-11.808159828186035],["▁Sweet",-11.8082914352417],["▁indicator",-11.808338165283203],["▁Boden",-11.808389663696289],["mates",-11.808477401733398],["▁supporters",-11.808504104614258],["▁begun",-11.808600425720215],["▁blogging",-11.808611869812012],["▁CL",-11.808663368225098],["gres",-11.808692932128906],["▁preferences",-11.808738708496094],["▁screw",-11.808756828308105],["▁tutor",-11.808858871459961],["▁Additional",-11.80891227722168],["▁Bitte",-11.808976173400879],["utilizing",-11.808998107910156],["▁expérience",-11.809073448181152],["▁dur",-11.809146881103516],["▁precisely",-11.809178352355957],["▁janvier",-11.809394836425781],["AGE",-11.80987548828125],["moto",-11.810007095336914],["▁counsel",-11.810195922851562],["▁110",-11.810226440429688],["nick",-11.810245513916016],["licit",-11.810540199279785],["technik",-11.810659408569336],["▁collaborate",-11.810736656188965],["▁neighbors",-11.810794830322266],["tered",-11.810922622680664],["▁excel",-11.811025619506836],["▁Route",-11.811059951782227],["steuer",-11.81109619140625],["▁pioneer",-11.811607360839844],["nuit",-11.81169319152832],["▁skip",-11.811963081359863],["▁destruction",-11.811997413635254],["▁thesis",-11.812249183654785],["▁libre",-11.812317848205566],["▁petition",-11.81234073638916],["▁steady",-11.812456130981445],["▁medications",-11.812458992004395],["▁audiences",-11.812623023986816],["▁coaches",-11.812689781188965],["aller",-11.812704086303711],["3,000",-11.812705993652344],["▁anger",-11.812785148620605],["▁striking",-11.812844276428223],["▁shades",-11.81291675567627],["▁Sitz",-11.812994956970215],["▁gluten",-11.813162803649902],["▁egal",-11.813222885131836],["ania",-11.813223838806152],["▁defend",-11.813241004943848],["gut",-11.81382942199707],["▁reserves",-11.813895225524902],["▁advocate",-11.814053535461426],["▁Cit",-11.814082145690918],["▁technicians",-11.814105033874512],["▁cater",-11.814138412475586],["leitung",-11.814190864562988],["▁towns",-11.814335823059082],["▁Costa",-11.814364433288574],["▁confront",-11.814567565917969],["mount",-11.814652442932129],["▁nationale",-11.814706802368164],["▁adverse",-11.814932823181152],["▁couleur",-11.815112113952637],["▁delight",-11.815169334411621],["▁promises",-11.815224647521973],["▁silent",-11.81550121307373],["richtet",-11.815556526184082],["▁Companies",-11.815614700317383],["▁Charlotte",-11.815620422363281],["▁labels",-11.815652847290039],["▁Süd",-11.815656661987305],["▁Honor",-11.81567096710205],["▁complaints",-11.815710067749023],["▁siècle",-11.815752029418945],["▁suits",-11.815792083740234],["▁Bath",-11.815827369689941],["mise",-11.815926551818848],["▁acela",-11.8159818649292],["▁candidat",-11.816011428833008],["Flo",-11.816207885742188],["▁conservative",-11.816215515136719],["DD",-11.816314697265625],["▁changement",-11.816414833068848],["▁login",-11.816492080688477],["▁Fashion",-11.816585540771484],["reichen",-11.816672325134277],["through",-11.816751480102539],["aki",-11.817240715026855],["gna",-11.817547798156738],["▁verse",-11.817551612854004],["▁threats",-11.817622184753418],["▁Song",-11.817770004272461],["▁funded",-11.81792163848877],["langen",-11.818023681640625],["▁distribu",-11.818195343017578],["édition",-11.818316459655762],["▁royal",-11.818562507629395],["▁bevor",-11.818829536437988],["▁02",-11.818854331970215],["straße",-11.818938255310059],["edit",-11.81904125213623],["▁energetic",-11.81922721862793],["▁Carr",-11.819757461547852],["viol",-11.819937705993652],["▁niche",-11.820054054260254],["avais",-11.820099830627441],["▁backyard",-11.82010269165039],["▁Saudi",-11.820158958435059],["▁Zwei",-11.820207595825195],["▁Legal",-11.82027530670166],["accessed",-11.820277214050293],["▁choisi",-11.820340156555176],["▁GDP",-11.820343971252441],["oferă",-11.820352554321289],["hlen",-11.820490837097168],["▁Wor",-11.820520401000977],["▁cheer",-11.820586204528809],["▁barely",-11.820625305175781],["cost",-11.820646286010742],["▁Really",-11.820661544799805],["kol",-11.820721626281738],["▁binding",-11.821045875549316],["euer",-11.821136474609375],["▁optimization",-11.821158409118652],["▁Designer",-11.8211669921875],["▁measuring",-11.82117748260498],["ncy",-11.821516036987305],["weise",-11.821520805358887],["DER",-11.821850776672363],["▁$7",-11.821949005126953],["▁Anfang",-11.821954727172852],["material",-11.821967124938965],["▁antique",-11.822281837463379],["▁Certificate",-11.822294235229492],["▁modest",-11.822370529174805],["ției",-11.822427749633789],["▁praise",-11.82245922088623],["▁Springs",-11.822660446166992],["▁organiza",-11.823041915893555],["jurul",-11.823047637939453],["▁plumbing",-11.82341194152832],["▁foster",-11.823490142822266],["▁Wy",-11.823491096496582],["▁Sab",-11.823503494262695],["▁overwhelming",-11.823677062988281],["▁matin",-11.823812484741211],["▁responded",-11.82408332824707],["▁confused",-11.824150085449219],["▁blessed",-11.824280738830566],["▁160",-11.824295997619629],["▁ingredient",-11.824360847473145],["▁confer",-11.82448673248291],["▁Gesundheit",-11.824530601501465],["▁bucket",-11.824555397033691],["kraft",-11.824565887451172],["lange",-11.824630737304688],["▁Kopf",-11.824678421020508],["▁Prize",-11.824678421020508],["▁authorized",-11.824779510498047],["▁tick",-11.824803352355957],["▁steal",-11.824910163879395],["Depending",-11.824918746948242],["Depuis",-11.824952125549316],["▁functie",-11.82499885559082],["▁developments",-11.825053215026855],["▁Christians",-11.825311660766602],["▁calculated",-11.8256254196167],["▁Leave",-11.825672149658203],["▁Jam",-11.82573413848877],["▁habitat",-11.825760841369629],["▁Sorry",-11.825801849365234],["▁oficial",-11.825944900512695],["▁allein",-11.826079368591309],["▁concentrate",-11.82608413696289],["dica",-11.826302528381348],["▁Convention",-11.826476097106934],["illes",-11.826550483703613],["▁fum",-11.82664680480957],["▁Tal",-11.826651573181152],["Europe",-11.826899528503418],["▁attachment",-11.826949119567871],["▁sensibil",-11.826995849609375],["▁clue",-11.82715892791748],["▁specialty",-11.827203750610352],["▁Cou",-11.827229499816895],["▁liste",-11.827278137207031],["▁Penn",-11.827465057373047],["TRA",-11.827559471130371],["▁Themen",-11.827561378479004],["▁motivated",-11.827906608581543],["▁camere",-11.828017234802246],["▁14,",-11.828393936157227],["▁attendance",-11.828557968139648],["atorii",-11.828581809997559],["chemistry",-11.82873821258545],["▁roofing",-11.828959465026855],["▁Links",-11.829048156738281],["▁trou",-11.829103469848633],["▁trucks",-11.829136848449707],["hilfe",-11.829557418823242],["▁(6",-11.829599380493164],["vapor",-11.82964038848877],["mad",-11.829668045043945],["▁Albert",-11.829877853393555],["▁FIG",-11.830073356628418],["▁Rand",-11.830187797546387],["▁Constitution",-11.830219268798828],["ambi",-11.830294609069824],["▁Syria",-11.830307006835938],["▁Fond",-11.830477714538574],["▁gouvernement",-11.830594062805176],["▁Active",-11.830705642700195],["▁prints",-11.830801963806152],["▁weigh",-11.8308687210083],["▁Craft",-11.831069946289062],["▁projets",-11.831247329711914],["▁paste",-11.831377029418945],["anci",-11.83139705657959],["kie",-11.831411361694336],["▁gains",-11.83165168762207],["▁Record",-11.831942558288574],["▁beliefs",-11.831954956054688],["countless",-11.831957817077637],["▁tomatoes",-11.831997871398926],["arie",-11.832082748413086],["▁140",-11.83211612701416],["▁ethical",-11.832229614257812],["objectif",-11.832279205322266],["▁acestuia",-11.832283973693848],["▁Bluetooth",-11.832398414611816],["▁agriculture",-11.832746505737305],["uré",-11.833027839660645],["▁cale",-11.833072662353516],["▁articol",-11.833073616027832],["▁gum",-11.833319664001465],["▁vendor",-11.833490371704102],["ifié",-11.833527565002441],["▁peer",-11.833662033081055],["pod",-11.834036827087402],["▁utilized",-11.834113121032715],["▁Mü",-11.834207534790039],["owohl",-11.834208488464355],["hilst",-11.834233283996582],["frame",-11.834260940551758],["▁fridge",-11.834822654724121],["▁query",-11.835108757019043],["▁Survey",-11.835227012634277],["▁Hell",-11.835247993469238],["▁notification",-11.83530044555664],["TR",-11.83538818359375],["▁ultima",-11.835505485534668],["▁radiation",-11.835631370544434],["▁musicians",-11.835821151733398],["CAN",-11.83595085144043],["▁grocery",-11.83607292175293],["▁Sicherheit",-11.83611011505127],["▁Highway",-11.836276054382324],["▁Break",-11.836285591125488],["TED",-11.836345672607422],["ön",-11.836352348327637],["▁biological",-11.836352348327637],["qual",-11.836397171020508],["250",-11.83641242980957],["▁modify",-11.836651802062988],["▁Hit",-11.836698532104492],["▁Iar",-11.836838722229004],["aged",-11.836884498596191],["...)",-11.83688735961914],["▁contrat",-11.836928367614746],["▁centres",-11.836956977844238],["griff",-11.836987495422363],["Our",-11.837233543395996],["▁determination",-11.837300300598145],["▁variables",-11.83742904663086],["▁nuts",-11.837472915649414],["échange",-11.837577819824219],["extérieur",-11.837631225585938],["▁suflet",-11.83764362335205],["▁Scha",-11.837752342224121],["stück",-11.837774276733398],["▁Tau",-11.837821960449219],["▁participa",-11.838008880615234],["▁mad",-11.838034629821777],["▁relie",-11.838051795959473],["▁Fine",-11.83808422088623],["▁grape",-11.838118553161621],["▁wage",-11.838141441345215],["▁startup",-11.838193893432617],["▁blank",-11.838194847106934],["▁physique",-11.838199615478516],["▁punch",-11.838233947753906],["▁contacts",-11.838321685791016],["▁dezvolt",-11.83835220336914],["cross",-11.838639259338379],["▁TR",-11.838652610778809],["▁gener",-11.838754653930664],["▁indem",-11.838823318481445],["▁Stan",-11.838839530944824],["▁azi",-11.838930130004883],["▁Sel",-11.838958740234375],["▁Tot",-11.83924674987793],["vra",-11.839341163635254],["▁recruit",-11.839482307434082],["▁Yeah",-11.839494705200195],["/10",-11.839507102966309],["▁nail",-11.83956241607666],["▁Ky",-11.839611053466797],["▁beloved",-11.839760780334473],["operative",-11.839823722839355],["▁Tickets",-11.83983325958252],["▁tear",-11.840229988098145],["▁amp",-11.840352058410645],["▁04",-11.840361595153809],["▁illustrate",-11.840361595153809],["▁mac",-11.840400695800781],["▁receiver",-11.840482711791992],["atrice",-11.840508460998535],["▁souhait",-11.840572357177734],["▁Gewinn",-11.840619087219238],["▁Vit",-11.840808868408203],["roch",-11.841202735900879],["▁arata",-11.841262817382812],["▁Indiana",-11.841364860534668],["child",-11.841516494750977],["▁invested",-11.84157657623291],["▁Excellent",-11.841625213623047],["gori",-11.841769218444824],["▁thermal",-11.841813087463379],["Str",-11.841973304748535],["▁liver",-11.84201717376709],["miss",-11.842035293579102],["▁utiliser",-11.842120170593262],["▁prest",-11.842445373535156],["2016",-11.842506408691406],["isée",-11.842508316040039],["▁Index",-11.842559814453125],["▁arch",-11.842639923095703],["▁Toyota",-11.842748641967773],["▁YOUR",-11.842782020568848],["▁Mexican",-11.842891693115234],["▁gegenüber",-11.842940330505371],["▁cannabis",-11.843033790588379],["bis",-11.843077659606934],["vage",-11.843083381652832],["hall",-11.843091011047363],["fax",-11.843137741088867],["▁spoken",-11.843232154846191],["▁Zimmer",-11.843544960021973],["kauf",-11.8436279296875],["▁couleurs",-11.843705177307129],["▁NJ",-11.844026565551758],["▁Heritage",-11.844318389892578],["▁Pflege",-11.844321250915527],["luc",-11.844361305236816],["▁56",-11.844489097595215],["VP",-11.844542503356934],["▁cuvinte",-11.844594955444336],["▁Alliance",-11.844614028930664],["▁coco",-11.844615936279297],["▁leverage",-11.844762802124023],["auch",-11.844844818115234],["▁Cart",-11.84506607055664],["taux",-11.84532642364502],["east",-11.84560775756836],["▁decorating",-11.84565258026123],["tip",-11.84565544128418],["▁Communications",-11.845780372619629],["ACE",-11.84580135345459],["▁Consul",-11.845993041992188],["▁Swiss",-11.846197128295898],["inci",-11.846230506896973],["▁Fact",-11.846312522888184],["▁ajung",-11.846321105957031],["▁airline",-11.846325874328613],["▁kidney",-11.846379280090332],["▁Records",-11.84642505645752],["▁Olympic",-11.846747398376465],["▁dried",-11.84719467163086],["oivent",-11.847333908081055],["▁Adobe",-11.847467422485352],["▁powers",-11.847748756408691],["lande",-11.847834587097168],["▁relieve",-11.847858428955078],["ţine",-11.847898483276367],["▁gradually",-11.847945213317871],["mud",-11.84811019897461],["▁30,",-11.848116874694824],["▁plante",-11.848133087158203],["▁Hug",-11.848225593566895],["▁Focus",-11.84853458404541],["▁distinctive",-11.848594665527344],["▁Bab",-11.848662376403809],["tata",-11.848679542541504],["▁Nun",-11.848797798156738],["▁Eve",-11.848811149597168],["▁déc",-11.848881721496582],["▁Beitrag",-11.84900951385498],["▁devenit",-11.849042892456055],["driven",-11.849250793457031],["▁offerings",-11.84933853149414],["▁exc",-11.84941577911377],["encies",-11.849576950073242],["▁Neuro",-11.849588394165039],["scher",-11.849604606628418],["map",-11.849703788757324],["pending",-11.849783897399902],["▁courage",-11.849799156188965],["axe",-11.849894523620605],["▁Gesellschaft",-11.849900245666504],["▁ears",-11.85000991821289],["▁aider",-11.850403785705566],["▁Cast",-11.85042667388916],["fast",-11.850442886352539],["▁departe",-11.850502014160156],["▁oak",-11.850507736206055],["▁batch",-11.850730895996094],["▁Corporate",-11.850762367248535],["▁Ost",-11.850895881652832],["-14",-11.850897789001465],["▁Pie",-11.85115909576416],["▁ranking",-11.851273536682129],["clusion",-11.851316452026367],["▁costume",-11.851347923278809],["▁Knight",-11.851449966430664],["▁privat",-11.851577758789062],["▁Engineer",-11.851593971252441],["▁gens",-11.8517427444458],["physics",-11.85176944732666],["generating",-11.851773262023926],["directement",-11.851786613464355],["▁confidential",-11.851810455322266],["▁poet",-11.851937294006348],["▁monster",-11.851944923400879],["▁suppose",-11.851984977722168],["său",-11.851996421813965],["▁balls",-11.852103233337402],["▁substitute",-11.852137565612793],["▁simultaneously",-11.852238655090332],["▁specify",-11.852272033691406],["wald",-11.852287292480469],["▁collapse",-11.852352142333984],["dessus",-11.852458953857422],["▁vitr",-11.852516174316406],["▁recruitment",-11.852607727050781],["denken",-11.852632522583008],["▁candy",-11.852691650390625],["▁tourists",-11.852721214294434],["dimensional",-11.852782249450684],["conce",-11.852814674377441],["wechsel",-11.852822303771973],["▁passende",-11.852971076965332],["industrie",-11.85299301147461],["agne",-11.853127479553223],["▁warehouse",-11.853233337402344],["▁Jugend",-11.853277206420898],["▁Weise",-11.853357315063477],["▁Zone",-11.853528022766113],["▁licence",-11.853550910949707],["▁broker",-11.853630065917969],["▁Rolle",-11.85365104675293],["pton",-11.853789329528809],["▁preference",-11.853846549987793],["▁homeowners",-11.853861808776855],["▁Lum",-11.85387134552002],["▁Chairman",-11.853879928588867],["▁Pages",-11.853998184204102],["▁beam",-11.854005813598633],["▁coordinate",-11.854158401489258],["▁Tool",-11.854212760925293],["▁complexity",-11.854272842407227],["▁checks",-11.854339599609375],["▁Bedroom",-11.854405403137207],["minded",-11.854538917541504],["▁copiii",-11.854694366455078],["▁celebrating",-11.85470199584961],["zimmer",-11.854759216308594],["▁Imagine",-11.854759216308594],["▁decoration",-11.854830741882324],["team",-11.855354309082031],["▁împreună",-11.855369567871094],["▁publicly",-11.855391502380371],["▁centuries",-11.855514526367188],["▁Islands",-11.855644226074219],["▁ethnic",-11.855663299560547],["still",-11.85576057434082],["stieg",-11.855823516845703],["emia",-11.855904579162598],["tags",-11.856026649475098],["▁marche",-11.856062889099121],["▁migration",-11.856096267700195],["▁banner",-11.85616683959961],["▁macro",-11.856378555297852],["▁Edit",-11.856379508972168],["tran",-11.85656452178955],["ça",-11.856597900390625],["▁recycling",-11.856670379638672],["▁1,000",-11.856673240661621],["▁Quelle",-11.856891632080078],["▁Vel",-11.85700511932373],["▁Rit",-11.857025146484375],["▁Spaß",-11.857046127319336],["▁Corn",-11.857074737548828],["tracted",-11.857177734375],["cited",-11.857185363769531],["▁tablets",-11.857202529907227],["▁Display",-11.857337951660156],["▁persoana",-11.857392311096191],["Term",-11.857410430908203],["▁Vancouver",-11.857537269592285],["▁Gäste",-11.857550621032715],["determining",-11.857608795166016],["▁populations",-11.85778522491455],["aison",-11.857873916625977],["▁surgical",-11.858072280883789],["tale",-11.858160018920898],["ivi",-11.858283042907715],["▁Zur",-11.858388900756836],["esprit",-11.858574867248535],["▁Edge",-11.858665466308594],["dach",-11.858760833740234],["phi",-11.858773231506348],["▁suc",-11.858841896057129],["▁scrie",-11.858848571777344],["▁Ausbildung",-11.858885765075684],["▁51",-11.85892391204834],["ologi",-11.858938217163086],["▁correction",-11.859049797058105],["▁Wald",-11.859078407287598],["▁additionally",-11.859131813049316],["▁proche",-11.859353065490723],["▁classical",-11.859477996826172],["▁bringen",-11.859490394592285],["▁(10",-11.859611511230469],["▁Mile",-11.859809875488281],["lace",-11.859885215759277],["▁premi",-11.85988712310791],["▁constitute",-11.860029220581055],["▁bitter",-11.860078811645508],["▁Inform",-11.860295295715332],["▁corporations",-11.860334396362305],["▁Lisa",-11.860494613647461],["▁obligat",-11.860685348510742],["Throughout",-11.860738754272461],["▁Rs",-11.860769271850586],["▁Hair",-11.860916137695312],["▁supplements",-11.86099624633789],["▁motorcycle",-11.861054420471191],["escent",-11.861132621765137],["▁investi",-11.861222267150879],["▁continuously",-11.861265182495117],["▁Essen",-11.861334800720215],["▁precision",-11.8613862991333],["▁deficit",-11.861461639404297],["▁wallet",-11.861481666564941],["▁Bürger",-11.861531257629395],["chir",-11.861574172973633],["9)",-11.86161994934082],["▁Programme",-11.861716270446777],["▁simplement",-11.86193561553955],["MD",-11.862093925476074],["▁rouge",-11.862096786499023],["usion",-11.862133979797363],["▁stove",-11.862208366394043],["▁prospective",-11.862224578857422],["▁corp",-11.86234188079834],["▁impacts",-11.862401008605957],["▁bride",-11.86266803741455],["0.0",-11.862788200378418],["hid",-11.862833976745605],["▁warrant",-11.862930297851562],["▁Ice",-11.8631010055542],["▁sensible",-11.863151550292969],["▁vreo",-11.863166809082031],["spekt",-11.863249778747559],["▁appreciation",-11.8633394241333],["▁automation",-11.863377571105957],["Luc",-11.86341381072998],["teaches",-11.863471031188965],["▁fold",-11.863506317138672],["deutsche",-11.863523483276367],["▁assisted",-11.86380386352539],["▁straightforward",-11.863932609558105],["▁mechanic",-11.864068031311035],["observ",-11.864169120788574],["▁Schau",-11.864195823669434],["▁Recently",-11.864301681518555],["kers",-11.86435604095459],["▁Soft",-11.864455223083496],["muni",-11.864537239074707],["▁lie",-11.864617347717285],["▁Fat",-11.864728927612305],["cream",-11.86476993560791],["▁snack",-11.864909172058105],["▁juin",-11.865068435668945],["▁competent",-11.865134239196777],["▁Drug",-11.865141868591309],["▁Row",-11.865302085876465],["▁needle",-11.865852355957031],["▁convey",-11.865900039672852],["▁voie",-11.86600399017334],["▁Hon",-11.866190910339355],["▁ebook",-11.866194725036621],["▁veteran",-11.866209030151367],["▁statistical",-11.866217613220215],["190",-11.866312980651855],["▁munca",-11.866402626037598],["▁venues",-11.866438865661621],["▁Viel",-11.866604804992676],["▁décor",-11.866799354553223],["▁répond",-11.8670015335083],["▁produsele",-11.86700439453125],["ruc",-11.867009162902832],["▁drops",-11.867011070251465],["▁autant",-11.867311477661133],["▁Fahrzeug",-11.867313385009766],["▁hills",-11.86735725402832],["ference",-11.867414474487305],["▁Glück",-11.86742115020752],["▁Pac",-11.867480278015137],["▁permettr",-11.867568969726562],["▁mouvement",-11.867713928222656],["établissement",-11.867859840393066],["▁Parc",-11.867874145507812],["▁solving",-11.867900848388672],["▁jail",-11.867972373962402],["▁junk",-11.867980003356934],["▁jeux",-11.868091583251953],["▁rôle",-11.868107795715332],["▁cache",-11.868124961853027],["▁Answer",-11.86832046508789],["wir",-11.868706703186035],["option",-11.868732452392578],["▁Tiger",-11.868739128112793],["▁Ble",-11.868793487548828],["Mitglied",-11.868797302246094],["▁partial",-11.868819236755371],["▁Mercedes",-11.86888313293457],["tire",-11.869001388549805],["MENT",-11.869091987609863],["▁transit",-11.869230270385742],["▁cineva",-11.869285583496094],["▁Andrea",-11.869294166564941],["▁boundaries",-11.869497299194336],["script",-11.870061874389648],["▁Medi",-11.870123863220215],["schreiben",-11.870203018188477],["▁lobby",-11.87035846710205],["▁defendant",-11.870406150817871],["▁sq",-11.870467185974121],["▁forgotten",-11.870569229125977],["stimmung",-11.870651245117188],["hus",-11.870665550231934],["RY",-11.870728492736816],["▁Anderson",-11.870748519897461],["▁Dental",-11.870828628540039],["ject",-11.87110710144043],["▁Nutzer",-11.871377944946289],["▁Portland",-11.871540069580078],["scription",-11.871636390686035],["▁angel",-11.871695518493652],["▁monument",-11.871748924255371],["▁număr",-11.871784210205078],["▁Lane",-11.871800422668457],["▁Bai",-11.871894836425781],["But",-11.871909141540527],["▁calculate",-11.872315406799316],["▁provoca",-11.87247371673584],["▁votes",-11.872493743896484],["RNA",-11.872503280639648],["though",-11.87259292602539],["spor",-11.872631072998047],["▁connaissance",-11.872695922851562],["▁Anwendung",-11.872932434082031],["▁Kate",-11.873123168945312],["lob",-11.87315845489502],["▁Conf",-11.873180389404297],["bung",-11.873212814331055],["ander",-11.873282432556152],["▁functioning",-11.873297691345215],["▁sponsored",-11.873324394226074],["rav",-11.873734474182129],["▁resistant",-11.873797416687012],["tră",-11.873916625976562],["▁costly",-11.873923301696777],["▁Mars",-11.873991012573242],["▁tir",-11.874075889587402],["▁writes",-11.874134063720703],["▁Greg",-11.874267578125],["▁Question",-11.874714851379395],["▁corporation",-11.87485408782959],["▁lire",-11.874991416931152],["locked",-11.875048637390137],["8,",-11.875092506408691],["▁sagt",-11.875301361083984],["gaining",-11.87536907196045],["▁Pierre",-11.875688552856445],["verb",-11.875725746154785],["▁Barcelona",-11.87578296661377],["werte",-11.876474380493164],["▁disponible",-11.87651538848877],["▁urge",-11.876521110534668],["▁expecting",-11.876572608947754],["▁Girl",-11.87662124633789],["▁unlimited",-11.876761436462402],["watt",-11.876788139343262],["▁Möglichkeiten",-11.876813888549805],["▁schöne",-11.876847267150879],["rium",-11.877076148986816],["That",-11.877272605895996],["▁socio",-11.877296447753906],["▁Democrats",-11.877351760864258],["guten",-11.877422332763672],["▁Lou",-11.877425193786621],["ităţi",-11.877559661865234],["▁possibilité",-11.877717018127441],["▁adjustable",-11.877938270568848],["▁Salt",-11.877967834472656],["Thr",-11.878021240234375],["▁biseric",-11.878056526184082],["ieux",-11.87808895111084],["▁procur",-11.8782377243042],["▁credits",-11.878250122070312],["▁Netflix",-11.878585815429688],["doi",-11.878605842590332],["▁Jews",-11.878663063049316],["▁Ukraine",-11.87873363494873],["▁adevărat",-11.878785133361816],["▁Apply",-11.878813743591309],["▁coupons",-11.878859519958496],["▁Detroit",-11.878881454467773],["▁rue",-11.878889083862305],["anumite",-11.878926277160645],["ished",-11.878973960876465],["▁withdrawal",-11.87915325164795],["▁replacing",-11.87917709350586],["catching",-11.879385948181152],["▁climbing",-11.879612922668457],["▁Basic",-11.879770278930664],["▁inclus",-11.879783630371094],["scope",-11.879887580871582],["▁facem",-11.879892349243164],["▁plec",-11.879904747009277],["mäßig",-11.879980087280273],["▁tasty",-11.880064010620117],["▁tunnel",-11.880074501037598],["figured",-11.88032341003418],["gged",-11.880390167236328],["▁conditii",-11.880599975585938],["▁homework",-11.880631446838379],["volle",-11.88063907623291],["▁Gott",-11.880807876586914],["▁95",-11.880969047546387],["▁elect",-11.881020545959473],["▁blast",-11.881043434143066],["▁easiest",-11.881248474121094],["USE",-11.881462097167969],["concentr",-11.881475448608398],["orial",-11.881596565246582],["▁scroll",-11.881638526916504],["stead",-11.881691932678223],["▁hormone",-11.881710052490234],["▁starter",-11.88179874420166],["▁cald",-11.881878852844238],["▁wax",-11.881895065307617],["▁ridic",-11.881900787353516],["ously",-11.881982803344727],["maschine",-11.882101058959961],["licher",-11.882399559020996],["▁16,",-11.882452964782715],["▁hassle",-11.882469177246094],["semnat",-11.882535934448242],["▁pub",-11.88260555267334],["240",-11.882800102233887],["▁kits",-11.882871627807617],["▁Generation",-11.88293743133545],["▁merchant",-11.883052825927734],["▁Erd",-11.883068084716797],["▁café",-11.883077621459961],["hoff",-11.88314151763916],["▁WITH",-11.883376121520996],["▁gesch",-11.883515357971191],["▁Editor",-11.883557319641113],["▁treats",-11.883609771728516],["▁harsh",-11.883711814880371],["rome",-11.883729934692383],["▁Foreign",-11.883928298950195],["▁denied",-11.883968353271484],["▁Valentine",-11.884014129638672],["▁healthier",-11.88408088684082],["▁readily",-11.884138107299805],["nac",-11.884190559387207],["▁intake",-11.884191513061523],["▁puncte",-11.884230613708496],["erne",-11.884431838989258],["file",-11.884668350219727],["▁continually",-11.884688377380371],["door",-11.884699821472168],["▁imediat",-11.884822845458984],["▁accused",-11.884833335876465],["chy",-11.884854316711426],["▁wrapped",-11.884861946105957],["IES",-11.884878158569336],["▁terrace",-11.884883880615234],["mouth",-11.884897232055664],["▁defensive",-11.884991645812988],["▁Luci",-11.88508129119873],["▁significance",-11.885107040405273],["▁2007,",-11.885213851928711],["▁inclusion",-11.885221481323242],["▁rotation",-11.885248184204102],["hos",-11.885283470153809],["▁crea",-11.885357856750488],["üß",-11.885903358459473],["▁Install",-11.885988235473633],["▁dump",-11.885998725891113],["▁informations",-11.886114120483398],["▁Thi",-11.886117935180664],["▁85",-11.886252403259277],["dox",-11.886283874511719],["track",-11.886436462402344],["▁couples",-11.886571884155273],["▁Assembly",-11.886594772338867],["wagen",-11.88672161102295],["▁Hil",-11.886723518371582],["ières",-11.886833190917969],["▁Gabriel",-11.886903762817383],["▁patience",-11.887053489685059],["▁colored",-11.887147903442383],["▁separately",-11.88715934753418],["▁deployment",-11.887166023254395],["scape",-11.887306213378906],["▁Acum",-11.8875150680542],["▁länger",-11.887518882751465],["▁screens",-11.887598991394043],["▁prezenta",-11.887630462646484],["▁obicei",-11.887638092041016],["▁crisp",-11.887758255004883],["▁mechanisms",-11.887771606445312],["▁thirty",-11.887786865234375],["▁individually",-11.887989044189453],["▁internationally",-11.887991905212402],["lling",-11.888050079345703],["▁bureau",-11.88843059539795],["▁erfahren",-11.88844108581543],["TY",-11.888553619384766],["PF",-11.888607025146484],["wid",-11.888752937316895],["sell",-11.888835906982422],["▁Luke",-11.888879776000977],["▁Must",-11.888916969299316],["▁identical",-11.888927459716797],["▁Netherlands",-11.888980865478516],["▁investor",-11.88905143737793],["▁squad",-11.889073371887207],["▁21,",-11.889143943786621],["iko",-11.889230728149414],["▁departure",-11.88937759399414],["ega",-11.889384269714355],["uzi",-11.889408111572266],["▁lasa",-11.889458656311035],["bian",-11.889525413513184],["▁Madrid",-11.889623641967773],["▁Iowa",-11.889806747436523],["▁Yellow",-11.890026092529297],["conom",-11.89004898071289],["▁hint",-11.890098571777344],["NOW",-11.890111923217773],["dress",-11.890204429626465],["▁Stück",-11.890267372131348],["echt",-11.890424728393555],["rial",-11.89045238494873],["▁Initiative",-11.890474319458008],["▁magnificent",-11.890474319458008],["▁pipeline",-11.890543937683105],["▁08",-11.890806198120117],["▁écrit",-11.890889167785645],["KA",-11.891085624694824],["arile",-11.891151428222656],["▁unfortunately",-11.891352653503418],["dose",-11.891355514526367],["▁counts",-11.891427993774414],["deciding",-11.891549110412598],["WA",-11.89167308807373],["▁doresc",-11.891685485839844],["NY",-11.892008781433105],["olin",-11.892112731933594],["▁Urlaub",-11.892133712768555],["▁alătur",-11.892317771911621],["▁Vic",-11.892515182495117],["▁fier",-11.89269733428955],["EU",-11.892772674560547],["▁triple",-11.892871856689453],["▁compliment",-11.89310359954834],["▁vegetable",-11.89334487915039],["member",-11.893743515014648],["atiei",-11.893793106079102],["▁toxic",-11.893835067749023],["▁converted",-11.893888473510742],["▁Pink",-11.893999099731445],["▁fragment",-11.894020080566406],["presenting",-11.894027709960938],["▁garantie",-11.894031524658203],["▁31,",-11.894052505493164],["▁puisqu",-11.894105911254883],["aching",-11.894107818603516],["▁Shan",-11.894119262695312],["▁Affairs",-11.894368171691895],["üsse",-11.894405364990234],["▁CBD",-11.894428253173828],["▁quatre",-11.894588470458984],["▁horror",-11.894651412963867],["▁culoare",-11.894661903381348],["▁welcoming",-11.894673347473145],["▁headache",-11.894808769226074],["▁septembre",-11.894820213317871],["▁Tür",-11.894862174987793],["lateral",-11.89507007598877],["▁termin",-11.895228385925293],["▁Aid",-11.895291328430176],["second",-11.895308494567871],["▁Philip",-11.895310401916504],["berries",-11.895347595214844],["▁Slot",-11.895431518554688],["ка",-11.895442962646484],["▁consecutive",-11.895590782165527],["value",-11.895705223083496],["▁islands",-11.8958101272583],["▁posibilitatea",-11.895928382873535],["0.5",-11.896341323852539],["▁Dumpster",-11.896471977233887],["▁Gran",-11.89647388458252],["▁restricted",-11.8967924118042],["▁discussing",-11.896921157836914],["cock",-11.896966934204102],["Serie",-11.896989822387695],["▁crushing",-11.896998405456543],["RB",-11.897034645080566],["▁Gy",-11.897068977355957],["normal",-11.897098541259766],["DT",-11.897180557250977],["▁concurs",-11.897181510925293],["▁Beratung",-11.897231101989746],["▁handful",-11.897235870361328],["▁loading",-11.897237777709961],["▁WI",-11.897269248962402],["▁Fitness",-11.897283554077148],["▁RAM",-11.897302627563477],["▁Twi",-11.89730453491211],["adurch",-11.897345542907715],["▁obiectiv",-11.897366523742676],["BM",-11.897635459899902],["▁amendment",-11.8976469039917],["whi",-11.897652626037598],["▁Besonder",-11.897871017456055],["ALL",-11.898003578186035],["▁earning",-11.898090362548828],["▁nutrients",-11.898580551147461],["pru",-11.898633003234863],["▁offensive",-11.898696899414062],["▁shelves",-11.898711204528809],["▁încâ",-11.898726463317871],["▁execute",-11.898923873901367],["▁cauz",-11.898966789245605],["exist",-11.899179458618164],["▁Meter",-11.899191856384277],["there",-11.899201393127441],["▁réaliser",-11.899249076843262],["blog",-11.899362564086914],["▁résultats",-11.89937973022461],["baren",-11.899391174316406],["▁lang",-11.899425506591797],["▁mere",-11.899870872497559],["▁toti",-11.900079727172852],["DN",-11.90017032623291],["Hi",-11.900310516357422],["▁merg",-11.900359153747559],["▁Camera",-11.90054988861084],["▁parfum",-11.900697708129883],["CG",-11.900701522827148],["posed",-11.900713920593262],["▁proposals",-11.900732040405273],["▁incorrect",-11.900811195373535],["▁Denver",-11.901168823242188],["▁noapte",-11.901397705078125],["▁VPN",-11.901436805725098],["▁Oklahoma",-11.90159797668457],["horizon",-11.901647567749023],["▁villa",-11.901668548583984],["duce",-11.901812553405762],["Dienst",-11.902042388916016],["▁oversee",-11.902511596679688],["astr",-11.902548789978027],["brand",-11.902713775634766],["▁Safe",-11.902746200561523],["▁competing",-11.902812004089355],["▁subiect",-11.902812004089355],["▁équipe",-11.903091430664062],["▁Dress",-11.903095245361328],["▁Juni",-11.903139114379883],["▁repeated",-11.90317153930664],["2012",-11.903226852416992],["▁départ",-11.903234481811523],["immer",-11.903335571289062],["▁mondial",-11.903374671936035],["▁datelor",-11.903703689575195],["▁surgeon",-11.903782844543457],["▁demanding",-11.903812408447266],["▁concluded",-11.903878211975098],["țiile",-11.903950691223145],["marin",-11.903999328613281],["▁estim",-11.904206275939941],["▁Loan",-11.904361724853516],["sculpt",-11.904373168945312],["▁99",-11.904391288757324],["void",-11.904400825500488],["▁Empire",-11.904499053955078],["▁Brit",-11.90450382232666],["▁véhicule",-11.904777526855469],["▁dividend",-11.905069351196289],["▁refused",-11.905077934265137],["▁speaks",-11.905156135559082],["▁Morris",-11.905282020568848],["dict",-11.905349731445312],["▁funeral",-11.905556678771973],["▁Behandlung",-11.905763626098633],["▁Revolution",-11.905905723571777],["▁Sum",-11.905935287475586],["einigen",-11.906030654907227],["RES",-11.906070709228516],["▁vite",-11.906071662902832],["▁Captain",-11.906190872192383],["▁assurance",-11.9061918258667],["uga",-11.906500816345215],["▁conserv",-11.906583786010742],["▁therapeutic",-11.906641006469727],["▁Sweden",-11.906753540039062],["▁Lead",-11.906888961791992],["ément",-11.907071113586426],["▁53",-11.90709114074707],["▁fraction",-11.9071683883667],["▁magnet",-11.907170295715332],["assurer",-11.907184600830078],["▁Steuer",-11.90733814239502],["▁flori",-11.90735149383545],["▁charming",-11.907588958740234],["▁athletic",-11.907621383666992],["▁membri",-11.907706260681152],["▁Sep",-11.907726287841797],["ogue",-11.907800674438477],["▁familie",-11.907800674438477],["▁SW",-11.90796947479248],["▁diagnosed",-11.908023834228516],["RR",-11.908143997192383],["▁Fern",-11.908233642578125],["▁rational",-11.908281326293945],["▁talents",-11.90828800201416],["ziert",-11.908317565917969],["▁chemin",-11.908459663391113],["sheet",-11.908562660217285],["▁outer",-11.908565521240234],["▁Kap",-11.908591270446777],["▁HERE",-11.908656120300293],["▁uman",-11.908824920654297],["▁accompany",-11.908880233764648],["▁varieties",-11.908881187438965],["▁sensors",-11.908957481384277],["▁25%",-11.90919017791748],["▁tray",-11.909354209899902],["▁critique",-11.909459114074707],["▁puţin",-11.909515380859375],["▁Schüler",-11.90953540802002],["▁repar",-11.909744262695312],["▁overlook",-11.909931182861328],["▁surf",-11.910048484802246],["▁tasting",-11.910118103027344],["bog",-11.91027545928955],["▁Payment",-11.910289764404297],["▁Helen",-11.91049575805664],["▁Refer",-11.910694122314453],["application",-11.910698890686035],["lection",-11.910856246948242],["▁avril",-11.911042213439941],["▁Grace",-11.911109924316406],["▁kau",-11.911274909973145],["▁libraries",-11.911319732666016],["▁closest",-11.911347389221191],["▁coating",-11.911351203918457],["▁suicide",-11.911364555358887],["▁undergraduate",-11.911449432373047],["▁stitch",-11.91149616241455],["▁reset",-11.911593437194824],["▁Greece",-11.911626815795898],["▁Fred",-11.91197681427002],["▁18.",-11.912047386169434],["▁nuit",-11.912087440490723],["▁lying",-11.912199974060059],["▁cottage",-11.91232681274414],["bone",-11.912477493286133],["▁milieu",-11.912480354309082],["management",-11.912623405456543],["▁Freund",-11.912724494934082],["▁specially",-11.912841796875],["veut",-11.912961959838867],["▁necesare",-11.912999153137207],["▁cert",-11.913081169128418],["articul",-11.913151741027832],["150",-11.913174629211426],["rounded",-11.913180351257324],["▁longue",-11.913193702697754],["▁Quel",-11.913240432739258],["Until",-11.913322448730469],["▁700",-11.913398742675781],["▁installations",-11.913423538208008],["▁boats",-11.913467407226562],["Fig",-11.913609504699707],["▁cocktail",-11.913613319396973],["▁rocks",-11.91366958618164],["meinen",-11.91374683380127],["entrepreneur",-11.913780212402344],["schwarz",-11.913924217224121],["▁diesel",-11.91392993927002],["▁villages",-11.913969039916992],["▁cups",-11.914076805114746],["▁stairs",-11.914241790771484],["▁Match",-11.914350509643555],["Taking",-11.914437294006348],["prin",-11.914469718933105],["▁penal",-11.91472053527832],["partner",-11.914867401123047],["wave",-11.91497802734375],["▁baie",-11.91515064239502],["LAN",-11.915151596069336],["fix",-11.915202140808105],["▁surveillance",-11.915295600891113],["▁Register",-11.915343284606934],["oara",-11.915536880493164],["▁Phoenix",-11.915602684020996],["aktuellen",-11.915613174438477],["▁livres",-11.915618896484375],["▁entities",-11.916102409362793],["▁Regard",-11.916112899780273],["▁Jazz",-11.91614055633545],["▁flame",-11.91616153717041],["▁independence",-11.916215896606445],["▁Adventure",-11.916341781616211],["▁assign",-11.916399955749512],["▁Adult",-11.916579246520996],["kehr",-11.916666984558105],["▁ordering",-11.916850090026855],["▁charts",-11.91687297821045],["▁Român",-11.916936874389648],["bauen",-11.916982650756836],["▁Floor",-11.917065620422363],["▁Meet",-11.917101860046387],["▁compromise",-11.917158126831055],["regarded",-11.917171478271484],["02.",-11.917215347290039],["▁granite",-11.917299270629883],["▁Judge",-11.917314529418945],["opti",-11.917373657226562],["liste",-11.917379379272461],["▁capacité",-11.917427062988281],["▁criticism",-11.917450904846191],["LES",-11.918198585510254],["▁Century",-11.918211936950684],["▁mobility",-11.918252944946289],["▁variation",-11.918622016906738],["▁Utah",-11.91867446899414],["▁seminar",-11.918678283691406],["▁experiments",-11.918803215026855],["midst",-11.918943405151367],["▁Psycho",-11.919002532958984],["▁choses",-11.919121742248535],["▁Karl",-11.919175148010254],["▁ruling",-11.919286727905273],["▁Voice",-11.919404983520508],["▁împotriv",-11.919442176818848],["▁mesaj",-11.919500350952148],["▁vrei",-11.919594764709473],["fan",-11.919601440429688],["parent",-11.919648170471191],["▁oraș",-11.919770240783691],["▁printable",-11.919777870178223],["▁diver",-11.919859886169434],["▁ochi",-11.919949531555176],["▁teenager",-11.920125961303711],["▁Death",-11.920150756835938],["▁manque",-11.920289993286133],["ască",-11.920345306396484],["▁prob",-11.9203519821167],["▁télé",-11.920354843139648],["cursul",-11.920378684997559],["pion",-11.92052173614502],["▁dedication",-11.920644760131836],["▁opr",-11.920687675476074],["führung",-11.920761108398438],["▁cognitive",-11.920827865600586],["soft",-11.920868873596191],["▁19,",-11.9209623336792],["▁24-",-11.921197891235352],["▁legitimate",-11.921220779418945],["▁comedy",-11.921277046203613],["▁violation",-11.921327590942383],["▁disposal",-11.921472549438477],["▁liegen",-11.921605110168457],["ко",-11.921878814697266],["▁martie",-11.921931266784668],["▁Vas",-11.92212200164795],["rash",-11.922134399414062],["▁hadn",-11.922174453735352],["▁connu",-11.922204971313477],["▁regelmäßig",-11.922216415405273],["▁Webseite",-11.922224998474121],["▁failing",-11.922273635864258],["explique",-11.922449111938477],["▁Player",-11.922513961791992],["vul",-11.922560691833496],["camp",-11.922992706298828],["▁erreicht",-11.922996520996094],["▁tags",-11.922998428344727],["▁headline",-11.923210144042969],["▁banc",-11.923253059387207],["▁Mayor",-11.923309326171875],["trop",-11.923395156860352],["AK",-11.9235258102417],["▁lighter",-11.923602104187012],["▁syndrome",-11.923604965209961],["▁Adrian",-11.92365550994873],["▁EUR",-11.923759460449219],["▁Missouri",-11.923916816711426],["▁Chan",-11.924108505249023],["topped",-11.924233436584473],["▁nationwide",-11.924276351928711],["▁6-",-11.924302101135254],["final",-11.924408912658691],["ttes",-11.924485206604004],["▁FO",-11.924537658691406],["▁legi",-11.924556732177734],["▁Hum",-11.924575805664062],["vita",-11.924662590026855],["▁Regen",-11.924695014953613],["▁confusion",-11.92498779296875],["▁valori",-11.925142288208008],["mill",-11.92516803741455],["did",-11.925237655639648],["pid",-11.925253868103027],["▁implications",-11.925284385681152],["▁Value",-11.92552375793457],["lângă",-11.925666809082031],["▁véritable",-11.92577075958252],["▁Stick",-11.925814628601074],["zol",-11.925835609436035],["▁ebenso",-11.925863265991211],["west",-11.925895690917969],["▁auszu",-11.92600154876709],["▁adorable",-11.926016807556152],["▁clarity",-11.92605209350586],["▁Wash",-11.926335334777832],["▁alien",-11.926423072814941],["usement",-11.926626205444336],["▁bones",-11.9266357421875],["▁Beau",-11.926726341247559],["▁Jet",-11.926727294921875],["▁visibility",-11.927034378051758],["impose",-11.927063941955566],["food",-11.927133560180664],["▁duce",-11.927361488342285],["▁Format",-11.927386283874512],["▁durability",-11.927424430847168],["▁Prim",-11.927614212036133],["▁mele",-11.927629470825195],["▁dürfen",-11.927631378173828],["▁Angebote",-11.92765998840332],["▁discharge",-11.927745819091797],["▁Justin",-11.928055763244629],["▁shame",-11.928228378295898],["▁heated",-11.928282737731934],["ères",-11.92856216430664],["human",-11.928810119628906],["4.5",-11.928831100463867],["▁lien",-11.928955078125],["▁Alan",-11.92896556854248],["▁transmis",-11.929130554199219],["▁Bul",-11.929137229919434],["plu",-11.929169654846191],["acul",-11.929337501525879],["merk",-11.929434776306152],["▁altfel",-11.929566383361816],["deli",-11.929689407348633],["▁Cru",-11.930001258850098],["▁hommes",-11.930127143859863],["aurait",-11.930137634277344],["cca",-11.930187225341797],["▁Path",-11.930208206176758],["astronom",-11.930241584777832],["▁détail",-11.930276870727539],["▁blocked",-11.930394172668457],["iding",-11.93044376373291],["schä",-11.930500030517578],["▁30-",-11.930624008178711],["diction",-11.930813789367676],["▁pulling",-11.930868148803711],["▁Sample",-11.930924415588379],["▁renewable",-11.930997848510742],["▁Pinterest",-11.93106746673584],["▁Tages",-11.93106746673584],["▁shed",-11.931171417236328],["▁hart",-11.931188583374023],["▁serie",-11.931200981140137],["▁documentary",-11.931208610534668],["gebaut",-11.931220054626465],["▁Hause",-11.931272506713867],["share",-11.931303977966309],["▁inflation",-11.93138599395752],["▁gall",-11.931504249572754],["▁adjacent",-11.931673049926758],["jer",-11.93173885345459],["▁Universal",-11.931946754455566],["▁disabilities",-11.931984901428223],["▁proposition",-11.93204116821289],["Work",-11.932293891906738],["▁closure",-11.932306289672852],["▁separated",-11.932496070861816],["▁soda",-11.932549476623535],["▁elite",-11.93263053894043],["appro",-11.93265438079834],["▁acute",-11.93266487121582],["utton",-11.932938575744629],["▁facă",-11.933053016662598],["▁collector",-11.933121681213379],["▁unlock",-11.933249473571777],["▁Alpha",-11.933267593383789],["▁Used",-11.933267593383789],["▁applicants",-11.933302879333496],["▁înseamn",-11.933387756347656],["▁inclu",-11.933414459228516],["▁disclosure",-11.933544158935547],["▁Fahr",-11.933995246887207],["AST",-11.934061050415039],["▁vivre",-11.934069633483887],["»,",-11.934167861938477],["laud",-11.93430233001709],["▁soir",-11.934365272521973],["▁barrier",-11.934405326843262],["înd",-11.934470176696777],["▁ambition",-11.93451976776123],["asta",-11.934550285339355],["occupied",-11.934747695922852],["▁Gau",-11.934774398803711],["four",-11.93481159210205],["▁nap",-11.934887886047363],["iez",-11.934922218322754],["endra",-11.935242652893066],["gaben",-11.935464859008789],["▁Carol",-11.935481071472168],["▁Switzerland",-11.935575485229492],["▁Bond",-11.935617446899414],["▁crossing",-11.935630798339844],["▁Palace",-11.9359769821167],["NG",-11.935986518859863],["▁Budget",-11.93622875213623],["▁lid",-11.936372756958008],["bab",-11.936393737792969],["▁polish",-11.936416625976562],["▁herbs",-11.93673038482666],["▁dear",-11.936747550964355],["▁devrai",-11.936846733093262],["walk",-11.936864852905273],["▁humanity",-11.936897277832031],["▁tires",-11.936978340148926],["égal",-11.936994552612305],["▁bow",-11.937032699584961],["▁debris",-11.937201499938965],["▁keywords",-11.937273025512695],["irk",-11.937345504760742],["▁suspend",-11.937360763549805],["▁pourra",-11.93738079071045],["migran",-11.937454223632812],["thereby",-11.937570571899414],["▁Harris",-11.937943458557129],["ateurs",-11.937956809997559],["▁fal",-11.938271522521973],["alleged",-11.938355445861816],["noch",-11.938494682312012],["▁observation",-11.938506126403809],["▁București",-11.93855094909668],["▁SQL",-11.938624382019043],["▁Phase",-11.938760757446289],["▁adventures",-11.93881607055664],["▁Kol",-11.938885688781738],["▁professionnel",-11.938916206359863],["crit",-11.939026832580566],["LR",-11.939313888549805],["▁preview",-11.939464569091797],["▁highlighted",-11.939942359924316],["▁Stud",-11.939949035644531],["▁labour",-11.939956665039062],["MV",-11.9399995803833],["click",-11.940049171447754],["approche",-11.94016170501709],["tian",-11.940183639526367],["cité",-11.940192222595215],["▁Rain",-11.94028377532959],["typ",-11.94032096862793],["Usually",-11.940435409545898],["▁outlet",-11.940513610839844],["logging",-11.940814018249512],["▁Temperatur",-11.940906524658203],["▁Scottish",-11.94090747833252],["iga",-11.940942764282227],["▁glory",-11.941086769104004],["▁Rom",-11.941242218017578],["zeug",-11.941337585449219],["establishing",-11.941339492797852],["▁imaging",-11.941926002502441],["▁Beauty",-11.942015647888184],["igan",-11.942042350769043],["après",-11.94224739074707],["Adresse",-11.942267417907715],["cliff",-11.942349433898926],["▁unnecessary",-11.943267822265625],["▁slim",-11.943324089050293],["dir",-11.943490982055664],["▁leisure",-11.943660736083984],["▁principale",-11.94368839263916],["▁Viele",-11.943770408630371],["▁2007.",-11.943802833557129],["Hopefully",-11.943829536437988],["cola",-11.943851470947266],["▁Planet",-11.943927764892578],["▁orientation",-11.943933486938477],["▁angry",-11.94419002532959],["MIT",-11.944234848022461],["▁Kenya",-11.944265365600586],["▁bless",-11.94435977935791],["▁Fill",-11.944524765014648],["▁compar",-11.944664001464844],["▁curtain",-11.94473934173584],["ţei",-11.944754600524902],["▁Az",-11.94482421875],["▁Rang",-11.944908142089844],["▁dominant",-11.944974899291992],["race",-11.944985389709473],["▁Target",-11.944987297058105],["▁manually",-11.944987297058105],["objet",-11.945024490356445],["thrown",-11.945131301879883],["NF",-11.945149421691895],["durant",-11.945185661315918],["rect",-11.945302963256836],["▁Größe",-11.945320129394531],["VM",-11.9453763961792],["▁aprilie",-11.945476531982422],["▁Welche",-11.945639610290527],["▁verde",-11.946157455444336],["▁Portugal",-11.946266174316406],["▁algorithm",-11.94627571105957],["ăț",-11.946328163146973],["▁Grey",-11.946371078491211],["▁cleaned",-11.94644832611084],["▁modes",-11.946463584899902],["▁relaxation",-11.946599006652832],["mbr",-11.946786880493164],["étique",-11.946821212768555],["Her",-11.946904182434082],["▁beta",-11.946952819824219],["▁nobody",-11.94699764251709],["▁aplic",-11.947060585021973],["present",-11.947080612182617],["emis",-11.947197914123535],["éléments",-11.947257995605469],["▁lately",-11.947303771972656],["fab",-11.94732666015625],["▁aluminiu",-11.947373390197754],["▁vest",-11.947524070739746],["▁statue",-11.947558403015137],["▁publice",-11.947586059570312],["▁merchandise",-11.9476900100708],["▁relat",-11.947810173034668],["git",-11.94796371459961],["▁interne",-11.948281288146973],["▁Tokyo",-11.948325157165527],["chal",-11.948348045349121],["contacted",-11.948430061340332],["▁tras",-11.948455810546875],["▁Clinic",-11.948626518249512],["▁unbe",-11.948633193969727],["▁dumneavoastra",-11.948798179626465],["float",-11.949078559875488],["isson",-11.94909381866455],["▁vessel",-11.949126243591309],["attempting",-11.949161529541016],["▁doute",-11.94918441772461],["▁Leadership",-11.949322700500488],["▁sustain",-11.94947338104248],["▁textile",-11.949666023254395],["auer",-11.949702262878418],["▁90%",-11.949899673461914],["garten",-11.949911117553711],["▁adauga",-11.949991226196289],["▁Kil",-11.950061798095703],["▁troops",-11.950420379638672],["▁pale",-11.950568199157715],["host",-11.950743675231934],["▁cry",-11.950757026672363],["▁Alb",-11.950793266296387],["▁Brad",-11.95089340209961],["▁bicycle",-11.951054573059082],["▁24/7",-11.951217651367188],["▁с",-11.951228141784668],["▁stimul",-11.951401710510254],["gler",-11.951445579528809],["▁notwendig",-11.951496124267578],["▁cousin",-11.95158863067627],["cheie",-11.951600074768066],["hay",-11.951751708984375],["▁rezolv",-11.952134132385254],["▁THIS",-11.952143669128418],["ordre",-11.952157974243164],["iști",-11.952173233032227],["▁conclude",-11.952310562133789],["▁Lage",-11.952327728271484],["▁Entertainment",-11.952454566955566],["▁valued",-11.952478408813477],["ktion",-11.95253849029541],["▁priorities",-11.95268440246582],["▁1986",-11.952770233154297],["▁fatal",-11.952934265136719],["▁accurately",-11.952988624572754],["▁1987",-11.953022956848145],["▁folk",-11.953073501586914],["7)",-11.953163146972656],["führer",-11.95360279083252],["▁knot",-11.953612327575684],["haltung",-11.953720092773438],["▁Charlie",-11.953733444213867],["âge",-11.95376205444336],["▁threshold",-11.954041481018066],["▁assault",-11.954130172729492],["▁meist",-11.954141616821289],["bine",-11.954155921936035],["surprisingly",-11.954171180725098],["▁Protect",-11.954180717468262],["▁Hack",-11.954258918762207],["▁Quant",-11.954537391662598],["▁Cet",-11.954782485961914],["▁convinced",-11.95481014251709],["▁muncă",-11.955033302307129],["dging",-11.955066680908203],["▁Millionen",-11.955129623413086],["zahlung",-11.955148696899414],["▁anticipated",-11.955192565917969],["▁brass",-11.9552001953125],["KO",-11.955244064331055],["▁culori",-11.955286979675293],["▁Aero",-11.955326080322266],["▁intermediu",-11.955373764038086],["▁Philippines",-11.955381393432617],["▁jury",-11.955387115478516],["▁Funktion",-11.95569896697998],["▁probe",-11.955704689025879],["TL",-11.955748558044434],["1.0",-11.955804824829102],["ELL",-11.95581340789795],["She",-11.956001281738281],["▁Blood",-11.956073760986328],["▁Dean",-11.956111907958984],["▁scène",-11.9561185836792],["volu",-11.95621395111084],["▁Epi",-11.95621395111084],["▁séjour",-11.95627498626709],["▁Smartphone",-11.956306457519531],["▁fired",-11.956357955932617],["beat",-11.95650577545166],["▁pockets",-11.956506729125977],["▁serviciu",-11.956624031066895],["▁affairs",-11.95678424835205],["▁Ry",-11.956842422485352],["▁Stadium",-11.956954956054688],["▁snacks",-11.957182884216309],["▁efectu",-11.957221031188965],["▁Richtung",-11.957273483276367],["▁dresses",-11.957352638244629],["▁Medien",-11.95744800567627],["writer",-11.95759105682373],["changing",-11.957655906677246],["▁supportive",-11.957849502563477],["▁beneath",-11.957873344421387],["paid",-11.958078384399414],["▁customize",-11.958155632019043],["▁Ferr",-11.958187103271484],["reaches",-11.958338737487793],["arma",-11.958401679992676],["ción",-11.958598136901855],["▁elderly",-11.959243774414062],["▁modification",-11.95934009552002],["▁perfection",-11.959381103515625],["▁Allow",-11.959492683410645],["▁belonging",-11.959542274475098],["▁compound",-11.959589004516602],["▁Results",-11.959681510925293],["▁astăzi",-11.959793090820312],["▁Liber",-11.959818840026855],["jor",-11.959850311279297],["▁Nin",-11.959980964660645],["▁lumina",-11.959992408752441],["▁130",-11.960073471069336],["▁Platform",-11.960121154785156],["▁SMS",-11.960221290588379],["▁medic",-11.96024227142334],["hör",-11.960315704345703],["▁Kas",-11.96038818359375],["▁tomato",-11.960403442382812],["▁logiciel",-11.960505485534668],["php",-11.960654258728027],["▁premises",-11.96071720123291],["▁Communication",-11.96072769165039],["▁reprezintă",-11.960762023925781],["▁Partners",-11.960866928100586],["▁RV",-11.961090087890625],["▁pants",-11.961197853088379],["▁envie",-11.961256980895996],["▁commerce",-11.961263656616211],["▁tears",-11.961298942565918],["▁cooler",-11.961494445800781],["strand",-11.961556434631348],["▁Gil",-11.961588859558105],["▁référence",-11.961641311645508],["▁electronics",-11.961681365966797],["exposition",-11.961700439453125],["▁Caribbean",-11.96171760559082],["▁compelling",-11.96171760559082],["luci",-11.961723327636719],["▁Brooklyn",-11.961892127990723],["▁Thai",-11.961950302124023],["dler",-11.96198844909668],["▁supra",-11.962016105651855],["centered",-11.962026596069336],["▁metro",-11.962081909179688],["▁03",-11.962299346923828],["▁enrich",-11.962437629699707],["▁adevarat",-11.962594985961914],["5000",-11.962961196899414],["▁bell",-11.96297550201416],["▁sine",-11.962996482849121],["▁appealing",-11.963088989257812],["clam",-11.963116645812988],["▁vorhanden",-11.963165283203125],["▁pickup",-11.963268280029297],["▁Alaska",-11.963269233703613],["▁Nacht",-11.963300704956055],["borough",-11.9633207321167],["▁Blanc",-11.96340274810791],["▁apare",-11.963616371154785],["▁Works",-11.963798522949219],["mettent",-11.963801383972168],["atter",-11.96389389038086],["terra",-11.963946342468262],["▁Bit",-11.964105606079102],["RL",-11.964131355285645],["▁Wander",-11.964262962341309],["▁Hawk",-11.964595794677734],["▁Probleme",-11.964665412902832],["regel",-11.964729309082031],["hne",-11.964739799499512],["fass",-11.96486759185791],["▁Andy",-11.965014457702637],["▁befinde",-11.965179443359375],["boo",-11.965265274047852],["▁connectivity",-11.965304374694824],["▁spielt",-11.965418815612793],["zweiten",-11.96547794342041],["ţilor",-11.965526580810547],["▁confi",-11.96561336517334],["▁schlecht",-11.965773582458496],["▁Beginn",-11.96581745147705],["▁floating",-11.965903282165527],["nimmt",-11.966071128845215],["▁arbeiten",-11.96611213684082],["pillar",-11.966131210327148],["sterreich",-11.966347694396973],["▁Schule",-11.966446876525879],["▁durée",-11.966521263122559],["▁honestly",-11.96653938293457],["▁acel",-11.9666166305542],["▁Prozess",-11.96662425994873],["Min",-11.966629028320312],["enii",-11.966632843017578],["DAY",-11.966758728027344],["▁Blo",-11.966806411743164],["▁bolt",-11.966946601867676],["sicher",-11.967070579528809],["▁17,",-11.967122077941895],["▁anchor",-11.967215538024902],["▁consistency",-11.967241287231445],["▁relatives",-11.967263221740723],["▁lac",-11.967385292053223],["105",-11.967432975769043],["▁Craig",-11.967534065246582],["▁mandate",-11.967598915100098],["▁bedeutet",-11.967674255371094],["▁Soviet",-11.967680931091309],["▁arguments",-11.967938423156738],["▁Gebäude",-11.967997550964355],["▁Parliament",-11.968005180358887],["▁Kha",-11.968087196350098],["nica",-11.968130111694336],["▁Amazing",-11.968162536621094],["gründe",-11.968179702758789],["▁Ott",-11.968269348144531],["Exp",-11.968314170837402],["▁ianuarie",-11.96848201751709],["riot",-11.968571662902832],["▁futur",-11.968626976013184],["▁Honda",-11.968647956848145],["!!!!",-11.96865177154541],["▁citit",-11.968689918518066],["▁22,",-11.968708992004395],["țional",-11.968711853027344],["▁lovers",-11.968732833862305],["▁Current",-11.968835830688477],["▁drone",-11.96927261352539],["▁promising",-11.969335556030273],["devoted",-11.969443321228027],["▁Born",-11.969520568847656],["▁viitor",-11.969589233398438],["▁ritual",-11.969614028930664],["▁Guard",-11.969681739807129],["09.",-11.969828605651855],["▁Py",-11.970260620117188],["▁finds",-11.970380783081055],["▁boli",-11.970394134521484],["▁Mitglieder",-11.970697402954102],["ogni",-11.97107982635498],["▁stones",-11.97118854522705],["rox",-11.971210479736328],["▁dock",-11.971390724182129],["▁onion",-11.97144889831543],["▁classified",-11.971538543701172],["big",-11.971833229064941],["RG",-11.971857070922852],["influenced",-11.971955299377441],["▁sudden",-11.971988677978516],["▁ample",-11.97204303741455],["án",-11.972095489501953],["▁ornament",-11.972122192382812],["datele",-11.972227096557617],["▁Dad",-11.97225284576416],["BER",-11.972278594970703],["gerecht",-11.972380638122559],["kett",-11.972536087036133],["▁Antonio",-11.972572326660156],["Nu",-11.972834587097168],["dium",-11.97284984588623],["CAD",-11.972850799560547],["▁bundle",-11.972916603088379],["▁Vari",-11.97301197052002],["▁thrive",-11.973020553588867],["▁Seminar",-11.973071098327637],["wire",-11.973084449768066],["▁contributing",-11.973114967346191],["▁Bour",-11.97320556640625],["▁dori",-11.973206520080566],["▁packing",-11.97343921661377],["▁colleges",-11.973459243774414],["▁garbage",-11.97366714477539],["▁vector",-11.973837852478027],["▁suggestion",-11.973897933959961],["borne",-11.973904609680176],["▁Listen",-11.973938941955566],["▁Prix",-11.973957061767578],["viennent",-11.974162101745605],["insbesondere",-11.97426700592041],["▁fonctionne",-11.974435806274414],["▁mainstream",-11.974485397338867],["▁merci",-11.974574089050293],["oko",-11.97460651397705],["▁Commerce",-11.97493839263916],["▁droits",-11.975115776062012],["▁muzica",-11.975141525268555],["▁profesor",-11.9751558303833],["▁epic",-11.97518253326416],["▁intuitive",-11.975186347961426],["▁aggregate",-11.975223541259766],["▁vaccine",-11.97529411315918],["▁dank",-11.975459098815918],["▁situ",-11.975578308105469],["▁Cand",-11.975593566894531],["▁Ganz",-11.97562313079834],["▁Crystal",-11.97578239440918],["▁discretion",-11.975825309753418],["mug",-11.975997924804688],["▁anzu",-11.976144790649414],["▁cement",-11.97616958618164],["▁priest",-11.97625732421875],["▁rejected",-11.976298332214355],["▁Summit",-11.976325988769531],["▁Sara",-11.976424217224121],["▁palette",-11.976527214050293],["▁continuare",-11.976569175720215],["uge",-11.976676940917969],["ryl",-11.976844787597656],["▁Solid",-11.977142333984375],["▁meilleure",-11.977177619934082],["▁Tennessee",-11.977248191833496],["rail",-11.977326393127441],["▁attributes",-11.9773530960083],["▁vessels",-11.977840423583984],["cylinder",-11.977900505065918],["▁parfait",-11.977916717529297],["abb",-11.97801399230957],["▁Julie",-11.97806167602539],["▁pièces",-11.978120803833008],["▁proiecte",-11.978142738342285],["médi",-11.978273391723633],["▁décembre",-11.9783935546875],["Per",-11.97841739654541],["1/",-11.978520393371582],["regulated",-11.978601455688477],["▁Dy",-11.978633880615234],["▁23,",-11.978694915771484],["beck",-11.978763580322266],["tură",-11.97885513305664],["▁Chiar",-11.978931427001953],["▁isolated",-11.979012489318848],["▁kennen",-11.979259490966797],["Du",-11.979260444641113],["reflected",-11.979482650756836],["▁belong",-11.979571342468262],["▁welcomed",-11.97969913482666],["▁Rate",-11.979776382446289],["prestigious",-11.979859352111816],["▁1/4",-11.979930877685547],["▁distinction",-11.979966163635254],["▁boring",-11.980001449584961],["▁booked",-11.980369567871094],["▁citizen",-11.980441093444824],["▁comprises",-11.980498313903809],["▁aufge",-11.98051929473877],["GL",-11.980566024780273],["▁nearest",-11.980616569519043],["▁printr",-11.980692863464355],["▁département",-11.981318473815918],["▁planner",-11.981510162353516],["▁Rai",-11.981817245483398],["▁Broad",-11.981934547424316],["▁pastor",-11.981947898864746],["▁reservation",-11.982243537902832],["▁decembrie",-11.982315063476562],["▁suficient",-11.982501983642578],["geld",-11.982560157775879],["training",-11.982620239257812],["deshalb",-11.982634544372559],["▁chaud",-11.982651710510254],["Cor",-11.982662200927734],["▁Grade",-11.982769966125488],["▁faţă",-11.982809066772461],["story",-11.982839584350586],["gericht",-11.98286247253418],["▁Got",-11.982954025268555],["particulièrement",-11.982976913452148],["▁bump",-11.983051300048828],["▁fatigue",-11.983160018920898],["Activ",-11.983250617980957],["▁numéro",-11.983302116394043],["▁stranger",-11.983312606811523],["▁Skin",-11.983327865600586],["add",-11.98344898223877],["Ainsi",-11.98357105255127],["▁assists",-11.983684539794922],["▁zusätzlich",-11.983943939208984],["▁vede",-11.983979225158691],["RON",-11.984108924865723],["▁seemingly",-11.984126091003418],["▁NU",-11.98417854309082],["geb",-11.984273910522461],["▁Release",-11.984353065490723],["▁throwing",-11.984427452087402],["▁Alabama",-11.984447479248047],["▁Something",-11.984590530395508],["▁Cuba",-11.98464584350586],["▁Verbindung",-11.984649658203125],["▁Cir",-11.984654426574707],["your",-11.984713554382324],["-13",-11.984748840332031],["▁Delta",-11.984801292419434],["▁Twin",-11.98504638671875],["▁governance",-11.985156059265137],["▁groom",-11.985310554504395],["▁conception",-11.98533821105957],["▁governor",-11.985383033752441],["▁Spar",-11.985416412353516],["▁coastal",-11.985652923583984],["▁Seven",-11.985856056213379],["▁inclusive",-11.986002922058105],["cili",-11.986035346984863],["▁Ridge",-11.986100196838379],["teller",-11.986224174499512],["▁Kin",-11.986247062683105],["leiter",-11.986279487609863],["stern",-11.986364364624023],["change",-11.986404418945312],["▁presidential",-11.986433982849121],["▁composer",-11.986544609069824],["Stu",-11.986560821533203],["▁Frankfurt",-11.986584663391113],["prä",-11.986639976501465],["▁Ideal",-11.986644744873047],["▁linear",-11.986857414245605],["▁bloom",-11.986879348754883],["▁grades",-11.986881256103516],["mettant",-11.98692512512207],["▁finishes",-11.986952781677246],["holz",-11.987086296081543],["▁dirty",-11.987317085266113],["▁Roh",-11.987386703491211],["▁Praxis",-11.987408638000488],["tempo",-11.987433433532715],["▁attempted",-11.987433433532715],["▁primar",-11.987434387207031],["▁pomp",-11.987528800964355],["▁tolle",-11.987614631652832],["▁adres",-11.988011360168457],["▁Between",-11.988066673278809],["▁ruin",-11.988432884216309],["▁matériel",-11.988561630249023],["MER",-11.988913536071777],["Nevertheless",-11.989055633544922],["▁corruption",-11.989119529724121],["spire",-11.989180564880371],["▁mou",-11.989208221435547],["ROM",-11.989278793334961],["▁underground",-11.98935604095459],["▁relativ",-11.989389419555664],["waited",-11.989462852478027],["▁speeds",-11.989468574523926],["▁adjusted",-11.989486694335938],["▁Flat",-11.989514350891113],["UND",-11.98965835571289],["▁individuelle",-11.989744186401367],["▁anybody",-11.98978042602539],["EO",-11.989790916442871],["->",-11.989791870117188],["▁Spend",-11.989876747131348],["aktion",-11.990011215209961],["édit",-11.99006462097168],["▁quest",-11.990078926086426],["rind",-11.990541458129883],["▁mediu",-11.99057388305664],["▁barriers",-11.99062442779541],["▁répondre",-11.990633010864258],["▁novembre",-11.990708351135254],["▁champ",-11.990736961364746],["saw",-11.990757942199707],["▁fed",-11.990804672241211],["▁favorites",-11.990939140319824],["▁shield",-11.991055488586426],["▁Wide",-11.991146087646484],["▁problema",-11.991445541381836],["▁Asta",-11.991525650024414],["▁refreshing",-11.99168872833252],["hey",-11.991692543029785],["obtaining",-11.991788864135742],["▁parler",-11.992072105407715],["▁Cele",-11.992134094238281],["frage",-11.992136001586914],["écran",-11.992324829101562],["▁cleared",-11.992448806762695],["zehn",-11.992594718933105],["parmi",-11.992647171020508],["änder",-11.992691993713379],["▁Defense",-11.992693901062012],["tatea",-11.992696762084961],["▁reasonably",-11.992939949035645],["▁Idee",-11.992985725402832],["nehm",-11.993000030517578],["technologie",-11.993020057678223],["atura",-11.993048667907715],["▁slope",-11.993332862854004],["Hence",-11.993351936340332],["▁40%",-11.993391990661621],["▁jewe",-11.993448257446289],["▁queries",-11.993470191955566],["▁$8",-11.994096755981445],["▁Parker",-11.994107246398926],["▁publique",-11.994488716125488],["quant",-11.994529724121094],["issue",-11.994690895080566],["▁Cleveland",-11.994847297668457],["4,000",-11.995071411132812],["IDE",-11.995145797729492],["▁Barbara",-11.995233535766602],["udge",-11.995477676391602],["corn",-11.99554443359375],["veți",-11.995588302612305],["▁proteins",-11.995707511901855],["▁trăi",-11.995793342590332],["▁mijloc",-11.995842933654785],["logie",-11.995884895324707],["▁Walter",-11.995884895324707],["heißt",-11.99593448638916],["search",-11.995946884155273],["▁hochwertige",-11.996010780334473],["▁încerc",-11.996014595031738],["▁administrator",-11.99608039855957],["tension",-11.996133804321289],["▁homemade",-11.996438026428223],["▁$20",-11.99651050567627],["▁leben",-11.996662139892578],["netz",-11.996665954589844],["▁intensity",-11.996882438659668],["▁clever",-11.996891975402832],["▁installer",-11.996999740600586],["▁Wand",-11.997087478637695],["meister",-11.997130393981934],["ziel",-11.99744701385498],["▁architect",-11.99748706817627],["▁crede",-11.997512817382812],["▁Sleep",-11.997675895690918],["▁demonstr",-11.997745513916016],["cake",-11.997781753540039],["▁Cheap",-11.997783660888672],["pool",-11.9979829788208],["▁gadget",-11.998004913330078],["▁Anbieter",-11.998005867004395],["▁Jonathan",-11.998170852661133],["ül",-11.998492240905762],["▁Harvard",-11.998503684997559],["▁1985",-11.998773574829102],["HP",-11.998839378356934],["▁afara",-11.99893569946289],["▁halten",-11.999008178710938],["▁Technik",-11.999042510986328],["▁dressed",-11.999149322509766],["weis",-11.999165534973145],["▁donated",-11.9993314743042],["also",-11.99938678741455],["▁EN",-11.999405860900879],["▁imprim",-11.99942398071289],["▁onions",-11.999458312988281],["Par",-11.99950122833252],["▁donate",-11.99958324432373],["▁mice",-11.999610900878906],["referring",-11.999897956848145],["▁restored",-12.00003433227539],["▁amateur",-12.0000581741333],["▁Switch",-12.000075340270996],["appel",-12.00013542175293],["▁idéal",-12.0001859664917],["▁wheat",-12.000199317932129],["▁lime",-12.000240325927734],["REA",-12.00027084350586],["riti",-12.000357627868652],["ţiile",-12.00058364868164],["▁machinery",-12.00064754486084],["UNE",-12.00089168548584],["▁Cont",-12.000971794128418],["▁attendees",-12.001014709472656],["▁aparat",-12.001080513000488],["freundlich",-12.00117301940918],["▁zilnic",-12.001175880432129],["▁spark",-12.001421928405762],["▁Gast",-12.001459121704102],["▁Issue",-12.00147533416748],["▁scam",-12.001566886901855],["▁bonds",-12.001618385314941],["owner",-12.001641273498535],["▁empfehlen",-12.001673698425293],["elia",-12.001749992370605],["cic",-12.001757621765137],["▁honored",-12.001800537109375],["▁castle",-12.001846313476562],["avand",-12.002058982849121],["rough",-12.002108573913574],["▁Address",-12.002116203308105],["angle",-12.00217342376709],["leton",-12.002259254455566],["▁locked",-12.002392768859863],["▁consolid",-12.00248908996582],["▁voucher",-12.003011703491211],["ației",-12.003201484680176],["wachsen",-12.003211975097656],["▁magazines",-12.003287315368652],["▁Schools",-12.003318786621094],["▁voices",-12.003362655639648],["▁Dry",-12.003479957580566],["▁tricks",-12.00349235534668],["schließlich",-12.003546714782715],["▁loyalty",-12.003687858581543],["risk",-12.003764152526855],["▁Vers",-12.003786087036133],["chester",-12.003802299499512],["▁decorated",-12.003830909729004],["▁copiilor",-12.003969192504883],["riz",-12.003994941711426],["03.",-12.004013061523438],["▁Hur",-12.004016876220703],["▁archive",-12.004021644592285],["▁Continue",-12.004042625427246],["▁Nähe",-12.004043579101562],["jit",-12.004090309143066],["gekommen",-12.004301071166992],["▁conjunction",-12.004349708557129],["combining",-12.004404067993164],["▁Unterstützung",-12.004517555236816],["oza",-12.004593849182129],["▁sketch",-12.004720687866211],["▁arată",-12.004731178283691],["▁Mining",-12.004765510559082],["uous",-12.004791259765625],["▁devis",-12.004834175109863],["Almost",-12.004862785339355],["Hu",-12.005037307739258],["▁Om",-12.005366325378418],["MF",-12.00544548034668],["liz",-12.005451202392578],["▁fails",-12.005456924438477],["▁comparable",-12.005459785461426],["▁vein",-12.005547523498535],["▁Vis",-12.00561809539795],["▁viagra",-12.005654335021973],["▁farming",-12.005678176879883],["▁Late",-12.005765914916992],["geschrieben",-12.006033897399902],["hrew",-12.006103515625],["▁melt",-12.006120681762695],["lager",-12.006168365478516],["halte",-12.006240844726562],["▁Hotels",-12.006266593933105],["▁facebook",-12.0064058303833],["▁défi",-12.006550788879395],["shore",-12.006802558898926],["▁membrane",-12.006866455078125],["▁sixth",-12.006903648376465],["api",-12.007003784179688],["▁Owner",-12.007222175598145],["▁(\"",-12.007234573364258],["▁$50",-12.007280349731445],["▁protective",-12.007420539855957],["/2",-12.007548332214355],["▁Girls",-12.007562637329102],["Gri",-12.00769329071045],["▁nouă",-12.007708549499512],["▁infections",-12.007813453674316],["rân",-12.007868766784668],["▁Geb",-12.0078763961792],["▁Conseil",-12.007905006408691],["▁imagini",-12.007909774780273],["▁promotions",-12.00794792175293],["▁enforce",-12.00795841217041],["▁applicant",-12.007965087890625],["▁Apart",-12.008087158203125],["▁progression",-12.008151054382324],["▁careers",-12.008511543273926],["▁litigation",-12.008533477783203],["▁Menge",-12.00866413116455],["▁Contract",-12.00871753692627],["▁Kel",-12.0087308883667],["▁réserve",-12.008769035339355],["▁Cold",-12.008870124816895],["▁larg",-12.009040832519531],["▁microwave",-12.009090423583984],["▁Whit",-12.009212493896484],["▁Technologies",-12.009381294250488],["OU",-12.00949478149414],["itudine",-12.00959587097168],["▁handles",-12.009895324707031],["▁proceedings",-12.009982109069824],["▁prizes",-12.010043144226074],["▁unterstützen",-12.010062217712402],["▁piele",-12.010090827941895],["▁profound",-12.010153770446777],["schließen",-12.0101957321167],["▁trafic",-12.01025104522705],["▁Nar",-12.010441780090332],["▁Gesamt",-12.0106201171875],["▁bugs",-12.010720252990723],["▁Amy",-12.010764122009277],["▁eastern",-12.010775566101074],["nice",-12.010784149169922],["▁Besuch",-12.010835647583008],["▁synth",-12.010892868041992],["▁clasa",-12.011194229125977],["Book",-12.01134204864502],["▁ribbon",-12.011415481567383],["▁neues",-12.011431694030762],["ZE",-12.011504173278809],["▁peers",-12.011613845825195],["leistung",-12.011730194091797],["▁internship",-12.011808395385742],["count",-12.011850357055664],["nam",-12.01193618774414],["▁12-",-12.012072563171387],["acked",-12.012146949768066],["gonna",-12.012146949768066],["▁Dinge",-12.01215648651123],["Time",-12.012299537658691],["▁twelve",-12.01242446899414],["eye",-12.012432098388672],["▁avantaj",-12.01253604888916],["▁Glas",-12.012731552124023],["aucune",-12.0127534866333],["▁boil",-12.012763977050781],["▁Gray",-12.012773513793945],["adapt",-12.01288890838623],["occ",-12.012895584106445],["▁prieten",-12.012897491455078],["▁trai",-12.01296615600586],["▁Scal",-12.013009071350098],["▁conscious",-12.013057708740234],["▁charter",-12.013093948364258],["KS",-12.013242721557617],["▁Barr",-12.013404846191406],["▁summit",-12.013411521911621],["▁inflammation",-12.013439178466797],["tungs",-12.013440132141113],["ovic",-12.013449668884277],["▁conduit",-12.013465881347656],["▁Alice",-12.013702392578125],["▁veterans",-12.013850212097168],["Während",-12.013944625854492],["▁maximal",-12.014013290405273],["▁Hawaii",-12.014037132263184],["▁Pine",-12.01432991027832],["acelasi",-12.014391899108887],["hyp",-12.014424324035645],["sensitivity",-12.01445198059082],["pour",-12.014481544494629],["ре",-12.014493942260742],["▁Kentucky",-12.015129089355469],["▁badge",-12.015276908874512],["affecting",-12.015310287475586],["▁chairman",-12.015311241149902],["▁München",-12.015467643737793],["▁Hersteller",-12.015469551086426],["▁urmat",-12.015615463256836],["tels",-12.015654563903809],["▁FM",-12.015701293945312],["▁Basis",-12.015732765197754],["▁erklärt",-12.015809059143066],["▁changer",-12.015859603881836],["tischen",-12.0159330368042],["▁brave",-12.015960693359375],["▁siguranta",-12.015986442565918],["▁partnerships",-12.015989303588867],["ților",-12.015999794006348],["▁breathe",-12.016141891479492],["rink",-12.016551971435547],["▁footage",-12.016654014587402],["▁transformed",-12.016658782958984],["▁prep",-12.016866683959961],["▁upset",-12.016901969909668],["▁Native",-12.017059326171875],["▁Prima",-12.017154693603516],["▁jersey",-12.017163276672363],["230",-12.017182350158691],["▁lucrurile",-12.017393112182617],["▁divine",-12.017502784729004],["▁Pit",-12.017593383789062],["RIS",-12.01765251159668],["▁Cultural",-12.017672538757324],["▁exotic",-12.017786979675293],["▁tastes",-12.017881393432617],["▁bargain",-12.017913818359375],["▁optimize",-12.017985343933105],["▁électrique",-12.018012046813965],["deuxième",-12.018030166625977],["▁Gary",-12.018085479736328],["▁projection",-12.018122673034668],["▁sliding",-12.018195152282715],["club",-12.018216133117676],["association",-12.01823902130127],["▁LG",-12.018259048461914],["▁capsule",-12.018291473388672],["▁politicians",-12.018397331237793],["▁thumb",-12.018423080444336],["▁globally",-12.018743515014648],["positioned",-12.018796920776367],["▁Hamilton",-12.018861770629883],["arme",-12.018881797790527],["▁efectuat",-12.018881797790527],["zip",-12.019111633300781],["▁welfare",-12.019201278686523],["Leistung",-12.019230842590332],["▁Bac",-12.019316673278809],["▁fizic",-12.019338607788086],["OK",-12.019454002380371],["▁limba",-12.019545555114746],["▁wardrobe",-12.019549369812012],["▁offline",-12.019627571105957],["▁fortune",-12.019665718078613],["▁dialog",-12.019681930541992],["▁dramatically",-12.01997184753418],["▁NYC",-12.020045280456543],["▁Rem",-12.02017593383789],["▁bronze",-12.020455360412598],["▁pulse",-12.02053451538086],["Fortunately",-12.020562171936035],["▁glue",-12.020596504211426],["▁Expo",-12.020720481872559],["▁profitable",-12.020776748657227],["▁distributor",-12.020845413208008],["abilité",-12.020869255065918],["▁lyrics",-12.020913124084473],["▁mesh",-12.02114486694336],["▁organizational",-12.021157264709473],["▁vanilla",-12.021249771118164],["▁foc",-12.021355628967285],["▁1984",-12.02147388458252],["▁créé",-12.02172565460205],["▁servi",-12.022027969360352],["▁underneath",-12.022095680236816],["▁surveys",-12.022143363952637],["▁genes",-12.022238731384277],["▁limite",-12.02224349975586],["oder",-12.022247314453125],["▁mandatory",-12.022269248962402],["▁hospitality",-12.022303581237793],["▁bikes",-12.022309303283691],["▁Quote",-12.022358894348145],["glu",-12.02241039276123],["▁activitatea",-12.022513389587402],["preventing",-12.022584915161133],["▁Kh",-12.02259635925293],["économie",-12.022616386413574],["▁visite",-12.022757530212402],["▁spectacle",-12.022778511047363],["▁tract",-12.022860527038574],["▁quant",-12.022862434387207],["▁evolu",-12.022866249084473],["▁invata",-12.023070335388184],["▁homo",-12.02311897277832],["▁Users",-12.02344799041748],["introducing",-12.023632049560547],["hibi",-12.023661613464355],["▁Instrument",-12.023805618286133],["▁ép",-12.023839950561523],["▁Raj",-12.023869514465332],["▁executives",-12.023881912231445],["atoire",-12.023885726928711],["▁erforderlich",-12.02397346496582],["male",-12.024211883544922],["umble",-12.024271011352539],["erson",-12.024277687072754],["▁Treatment",-12.024286270141602],["▁Representative",-12.024314880371094],["▁corners",-12.024409294128418],["▁Petit",-12.024599075317383],["8)",-12.02464771270752],["▁Walker",-12.024714469909668],["▁Stir",-12.02476692199707],["/19",-12.024767875671387],["▁Stelle",-12.024979591369629],["ără",-12.025009155273438],["osse",-12.025166511535645],["2000",-12.025189399719238],["▁McG",-12.025580406188965],["DV",-12.025773048400879],["▁Firm",-12.025862693786621],["▁packet",-12.025904655456543],["Toate",-12.02640438079834],["▁institutional",-12.026479721069336],["rug",-12.026663780212402],["DG",-12.026837348937988],["fine",-12.026837348937988],["bringen",-12.026856422424316],["▁Horse",-12.026921272277832],["▁premiere",-12.026937484741211],["▁Că",-12.027026176452637],["acheter",-12.02703857421875],["▁Afghanistan",-12.027053833007812],["▁Prop",-12.027085304260254],["ühr",-12.02715015411377],["▁braucht",-12.027398109436035],["▁sunny",-12.027424812316895],["▁Sach",-12.027461051940918],["▁volumes",-12.02753734588623],["tinut",-12.02759838104248],["▁Sho",-12.027722358703613],["▁winds",-12.027735710144043],["▁Mall",-12.027873992919922],["ledge",-12.027937889099121],["▁sciences",-12.027997016906738],["plication",-12.028024673461914],["VR",-12.028068542480469],["destin",-12.028234481811523],["▁früh",-12.02833366394043],["▁tongue",-12.028359413146973],["▁Jennifer",-12.028425216674805],["▁bracket",-12.028427124023438],["▁episodes",-12.02845287322998],["breite",-12.028461456298828],["▁stoc",-12.028635025024414],["ilia",-12.028728485107422],["▁Gulf",-12.02874755859375],["▁transparency",-12.028768539428711],["Industrie",-12.028853416442871],["▁viewers",-12.028916358947754],["AIN",-12.029129981994629],["▁Registration",-12.029149055480957],["/4",-12.029309272766113],["▁fera",-12.029337882995605],["▁06",-12.029351234436035],["▁einzu",-12.029391288757324],["enburg",-12.02944278717041],["▁eff",-12.029449462890625],["▁Stage",-12.029558181762695],["▁Cour",-12.029685020446777],["indu",-12.029836654663086],["▁Tools",-12.029909133911133],["IST",-12.029921531677246],["grund",-12.030105590820312],["seitig",-12.030153274536133],["pai",-12.030250549316406],["▁waist",-12.030350685119629],["▁Therapy",-12.03049373626709],["▁nomination",-12.030599594116211],["▁seama",-12.030790328979492],["▁analyse",-12.030975341796875],["▁emerge",-12.031044006347656],["▁adjustment",-12.031106948852539],["▁stroll",-12.031106948852539],["▁Beyond",-12.031174659729004],["▁legally",-12.03122615814209],["▁gauge",-12.03123664855957],["▁26,",-12.031360626220703],["Tex",-12.031390190124512],["economic",-12.031488418579102],["stoffe",-12.031532287597656],["Wir",-12.031559944152832],["ffen",-12.031601905822754],["▁acoperi",-12.031609535217285],["▁finale",-12.031792640686035],["▁theoretical",-12.031864166259766],["1.3",-12.031875610351562],["anim",-12.031888008117676],["▁separation",-12.031928062438965],["agence",-12.031937599182129],["▁réalisé",-12.032069206237793],["sprech",-12.03215503692627],["▁embedded",-12.032208442687988],["▁defence",-12.032242774963379],["éni",-12.032569885253906],["▁Norman",-12.032613754272461],["▁insgesamt",-12.032621383666992],["▁reminde",-12.032631874084473],["▁timeline",-12.032703399658203],["▁symbols",-12.032770156860352],["▁booth",-12.032783508300781],["▁Window",-12.032788276672363],["▁Titan",-12.032910346984863],["înt",-12.033021926879883],["▁langa",-12.033021926879883],["isant",-12.03303337097168],["hart",-12.033113479614258],["broader",-12.033266067504883],["▁stays",-12.033288955688477],["dur",-12.033488273620605],["▁Actually",-12.033514022827148],["works",-12.03351879119873],["▁réussi",-12.03357219696045],["▁performant",-12.033658981323242],["▁banana",-12.033788681030273],["▁baked",-12.033870697021484],["▁Parlament",-12.033931732177734],["▁Legend",-12.033967018127441],["toata",-12.034172058105469],["platte",-12.03419017791748],["▁Mou",-12.034192085266113],["HL",-12.034235000610352],["▁(8",-12.034290313720703],["▁accepting",-12.034313201904297],["▁Senator",-12.034340858459473],["▁consciousness",-12.034396171569824],["▁conducting",-12.0344820022583],["▁panic",-12.034833908081055],["▁FDA",-12.035112380981445],["▁(7",-12.035163879394531],["tool",-12.035300254821777],["▁Shipping",-12.03538703918457],["▁hop",-12.035545349121094],["▁conferences",-12.03564167022705],["▁pork",-12.035661697387695],["▁spam",-12.035730361938477],["▁interesant",-12.035815238952637],["▁Tagen",-12.03581714630127],["sig",-12.035886764526367],["étro",-12.036044120788574],["▁legendary",-12.036449432373047],["▁Alternative",-12.036643981933594],["iana",-12.036704063415527],["▁responsable",-12.036888122558594],["▁Mihai",-12.037237167358398],["▁decreased",-12.037345886230469],["▁organised",-12.037485122680664],["▁Lamp",-12.037589073181152],["litz",-12.037622451782227],["ohn",-12.037622451782227],["▁moteur",-12.0376615524292],["III",-12.03768539428711],["▁Montag",-12.037755012512207],["▁naturel",-12.037814140319824],["▁Hus",-12.037842750549316],["▁Schl",-12.037884712219238],["ains",-12.037968635559082],["▁dying",-12.0380859375],["▁HIV",-12.038115501403809],["],",-12.038164138793945],["alität",-12.03818416595459],["▁institute",-12.038249015808105],["mix",-12.038433074951172],["▁Regulation",-12.038453102111816],["▁pagina",-12.03857707977295],["▁Awesome",-12.03860092163086],["▁Official",-12.03860092163086],["▁Minute",-12.038601875305176],["▁dairy",-12.038787841796875],["▁carti",-12.038881301879883],["isk",-12.039091110229492],["▁thrilled",-12.039138793945312],["▁german",-12.039172172546387],["▁frustration",-12.039228439331055],["▁forums",-12.03927230834961],["command",-12.039361000061035],["▁router",-12.039399147033691],["▁Lösung",-12.039423942565918],["white",-12.039470672607422],["▁synthetic",-12.039487838745117],["▁retrouver",-12.039554595947266],["alle",-12.039621353149414],["daran",-12.039653778076172],["▁wahr",-12.039697647094727],["▁paths",-12.039875984191895],["▁unver",-12.039962768554688],["▁Environment",-12.0400972366333],["▁médecin",-12.040510177612305],["crypt",-12.040572166442871],["▁pursuit",-12.040595054626465],["flat",-12.040611267089844],["bron",-12.040698051452637],["▁Specialist",-12.040852546691895],["▁Vent",-12.041157722473145],["Gen",-12.04132080078125],["▁attraction",-12.04132080078125],["▁piese",-12.041372299194336],["CHE",-12.041665077209473],["fähig",-12.04172420501709],["▁28,",-12.041773796081543],["defender",-12.041810989379883],["▁stupid",-12.04181957244873],["enfin",-12.04185962677002],["▁composite",-12.04207706451416],["fragen",-12.042202949523926],["Part",-12.042232513427734],["may",-12.042238235473633],["▁Bucureşti",-12.042248725891113],["▁février",-12.042248725891113],["RED",-12.042417526245117],["▁makers",-12.042462348937988],["▁guns",-12.042594909667969],["▁pasta",-12.042706489562988],["STR",-12.04271125793457],["▁worthy",-12.042760848999023],["Poate",-12.042783737182617],["▁101",-12.04286003112793],["▁souhaitez",-12.04299545288086],["GN",-12.043449401855469],["drive",-12.043499946594238],["▁aveti",-12.043582916259766],["▁eventual",-12.043591499328613],["▁américain",-12.043642044067383],["▁Mine",-12.043678283691406],["▁sunset",-12.043729782104492],["▁Choice",-12.043844223022461],["▁offset",-12.043944358825684],["APP",-12.04410457611084],["▁suchen",-12.044130325317383],["▁aduc",-12.044228553771973],["▁Unternehmens",-12.044342041015625],["▁//",-12.044651985168457],["▁astept",-12.044678688049316],["▁Birthday",-12.045061111450195],["▁barn",-12.045083999633789],["apport",-12.045105934143066],["▁collar",-12.045212745666504],["▁gefunden",-12.045294761657715],["▁Hai",-12.045429229736328],["▁Soul",-12.045441627502441],["ismus",-12.045654296875],["letzt",-12.045754432678223],["▁maker",-12.045841217041016],["▁executed",-12.045857429504395],["▁Forschung",-12.045915603637695],["▁täglich",-12.045958518981934],["▁tailor",-12.045960426330566],["▁headquarters",-12.0460844039917],["▁physicians",-12.046112060546875],["▁Scout",-12.046126365661621],["folgen",-12.046175003051758],["▁cycling",-12.046184539794922],["mindestens",-12.04620361328125],["▁joli",-12.046216011047363],["▁classification",-12.046225547790527],["▁Führung",-12.046258926391602],["▁peau",-12.04629135131836],["INT",-12.046502113342285],["▁Garage",-12.046664237976074],["teile",-12.046714782714844],["util",-12.046716690063477],["▁petrec",-12.046751022338867],["▁Nevada",-12.046826362609863],["▁laisser",-12.04706859588623],["▁territoire",-12.047131538391113],["▁fichier",-12.047154426574707],["▁Formula",-12.047343254089355],["scopul",-12.047379493713379],["▁Tee",-12.047486305236816],["▁Monte",-12.047529220581055],["▁pumpkin",-12.04757022857666],["▁picnic",-12.047589302062988],["▁occupation",-12.047652244567871],["▁numérique",-12.047831535339355],["linie",-12.04786491394043],["▁masina",-12.048117637634277],["▁Prä",-12.048173904418945],["▁dezvoltare",-12.048177719116211],["▁vient",-12.048291206359863],["▁ranks",-12.048295021057129],["▁Bruce",-12.048420906066895],["▁seara",-12.048433303833008],["▁hungry",-12.048563003540039],["▁resolved",-12.048650741577148],["paired",-12.048735618591309],["▁Congratulations",-12.048881530761719],["▁religi",-12.048918724060059],["sätze",-12.04897689819336],["▁Eat",-12.049172401428223],["▁dense",-12.049442291259766],["▁slice",-12.049447059631348],["▁mulți",-12.049463272094727],["▁vorbe",-12.049517631530762],["▁terminate",-12.049779891967773],["worm",-12.049880981445312],["ignon",-12.0499267578125],["▁Howard",-12.049992561340332],["▁toddler",-12.050017356872559],["▁waters",-12.050033569335938],["▁graduates",-12.0501708984375],["▁fundraising",-12.050298690795898],["06.",-12.05031967163086],["▁scent",-12.050346374511719],["▁CPU",-12.050406455993652],["▁Kid",-12.05045223236084],["▁Years",-12.050460815429688],["▁Oktober",-12.05063533782959],["filled",-12.050726890563965],["▁Laser",-12.05079460144043],["▁tut",-12.051032066345215],["ively",-12.051101684570312],["▁WiFi",-12.051161766052246],["standen",-12.051176071166992],["▁publié",-12.051243782043457],["▁explaining",-12.051279067993164],["trieb",-12.051288604736328],["▁Rapid",-12.0513334274292],["▁unterstützt",-12.051352500915527],["▁Sonnen",-12.051401138305664],["▁lenses",-12.05141544342041],["▁pressing",-12.051477432250977],["▁respected",-12.051657676696777],["adapted",-12.051706314086914],["Don",-12.051726341247559],["▁mun",-12.051733016967773],["MAR",-12.05180835723877],["▁seam",-12.051852226257324],["chev",-12.052140235900879],["▁Sozial",-12.052424430847168],["▁Arabia",-12.052485466003418],["▁equation",-12.05257511138916],["▁elevi",-12.052780151367188],["▁piata",-12.052868843078613],["JA",-12.052873611450195],["▁wholesale",-12.052887916564941],["▁faithful",-12.05296516418457],["legal",-12.053092002868652],["▁Brexit",-12.053095817565918],["vention",-12.053120613098145],["▁adhere",-12.053221702575684],["▁Associate",-12.053257942199707],["▁decorations",-12.053272247314453],["▁crois",-12.053359985351562],["buck",-12.053370475769043],["▁smartphones",-12.053421020507812],["Regardless",-12.053427696228027],["center",-12.053434371948242],["eiß",-12.053481101989746],["▁emotion",-12.053584098815918],["▁Gespräch",-12.053797721862793],["▁Avi",-12.053963661193848],["▁loft",-12.054059982299805],["▁Wissen",-12.054391860961914],["▁orchestra",-12.05439567565918],["▁gehören",-12.054421424865723],["▁Reich",-12.054532051086426],["▁abandoned",-12.054548263549805],["▁Lanka",-12.054586410522461],["pala",-12.054832458496094],["▁Stell",-12.054838180541992],["logged",-12.054924964904785],["terie",-12.054935455322266],["▁educa",-12.054954528808594],["1).",-12.055097579956055],["▁disponibil",-12.055119514465332],["IND",-12.055197715759277],["▁Pont",-12.055288314819336],["▁téléphone",-12.055398941040039],["▁rope",-12.055595397949219],["ève",-12.055622100830078],["▁Trainer",-12.056062698364258],["▁présence",-12.0560941696167],["▁Oscar",-12.056121826171875],["▁VR",-12.056342124938965],["▁Besucher",-12.056357383728027],["▁disponibles",-12.056447982788086],["▁gelten",-12.056604385375977],["▁ports",-12.056645393371582],["Invest",-12.056693077087402],["ésormais",-12.056795120239258],["schauen",-12.056880950927734],["▁Command",-12.056958198547363],["▁alternate",-12.05709171295166],["citation",-12.05713939666748],["évolution",-12.05714225769043],["▁Maine",-12.057145118713379],["pflege",-12.057174682617188],["2011",-12.057343482971191],["▁Ground",-12.057364463806152],["▁ghost",-12.057418823242188],["lebt",-12.057530403137207],["▁scenarios",-12.057595252990723],["▁mall",-12.057634353637695],["▁Kings",-12.057653427124023],["▁15%",-12.057848930358887],["▁Paint",-12.057848930358887],["FD",-12.057849884033203],["ugg",-12.058011054992676],["▁Leon",-12.058023452758789],["▁grows",-12.058135032653809],["▁pharmacy",-12.058384895324707],["▁situat",-12.0584135055542],["20,000",-12.05855941772461],["▁10,000",-12.058760643005371],["▁membre",-12.058771133422852],["▁facilement",-12.058806419372559],["▁Analytics",-12.058915138244629],["▁Marvel",-12.058930397033691],["▁survived",-12.059097290039062],["▁conviction",-12.059124946594238],["▁Produktion",-12.059260368347168],["▁professionally",-12.059293746948242],["▁contributor",-12.059486389160156],["▁Kurs",-12.059503555297852],["▁humor",-12.059549331665039],["▁cinci",-12.059609413146973],["▁Different",-12.059670448303223],["▁Verarbeitung",-12.059800148010254],["▁inexpensive",-12.059800148010254],["▁sortie",-12.05980110168457],["▁thankful",-12.059951782226562],["▁vacances",-12.059978485107422],["▁vergangen",-12.059979438781738],["▁wings",-12.05998420715332],["▁nano",-12.06003475189209],["▁touches",-12.060088157653809],["▁Notice",-12.060348510742188],["▁reprezinta",-12.060466766357422],["▁rewarding",-12.060555458068848],["▁Kurz",-12.060580253601074],["▁mega",-12.060611724853516],["▁secrets",-12.060646057128906],["▁vorher",-12.060667037963867],["▁crescut",-12.06074333190918],["▁coordination",-12.060754776000977],["▁dissertation",-12.060863494873047],["▁header",-12.060873985290527],["existent",-12.061070442199707],["thal",-12.061185836791992],["▁translate",-12.061214447021484],["vertrag",-12.06124210357666],["GU",-12.06126594543457],["▁Arthur",-12.061315536499023],["wahl",-12.061534881591797],["▁octobre",-12.061573028564453],["▁bother",-12.06157398223877],["▁pencil",-12.061580657958984],["▁Dyna",-12.061604499816895],["▁complimentary",-12.061651229858398],["écoute",-12.061676979064941],["PB",-12.061722755432129],["▁independently",-12.061759948730469],["▁targeting",-12.061840057373047],["fought",-12.061944961547852],["mental",-12.062112808227539],["▁Veranstaltung",-12.062300682067871],["▁tatsächlich",-12.062314987182617],["▁Features",-12.0625],["▁1920",-12.062554359436035],["▁Domain",-12.062885284423828],["▁rally",-12.062901496887207],["▁iunie",-12.063036918640137],["▁fabrics",-12.063070297241211],["▁mint",-12.063331604003906],["▁antioxidant",-12.063347816467285],["hut",-12.063432693481445],["EPA",-12.063496589660645],["▁rigid",-12.063498497009277],["▁evit",-12.063549995422363],["▁personnage",-12.063977241516113],["▁garanti",-12.0640287399292],["▁Hä",-12.064042091369629],["▁Days",-12.064048767089844],["boarding",-12.064050674438477],["jemand",-12.064166069030762],["▁Pos",-12.064262390136719],["▁wool",-12.064288139343262],["▁boom",-12.064349174499512],["▁wichtige",-12.06447982788086],["▁emerged",-12.064517974853516],["▁smoothly",-12.064802169799805],["▁Interview",-12.064942359924316],["gemäß",-12.06505012512207],["▁suivi",-12.065064430236816],["▁missions",-12.065129280090332],["▁Kreis",-12.065328598022461],["century",-12.065348625183105],["▁tuned",-12.065370559692383],["isieren",-12.065407752990723],["▁Branch",-12.065427780151367],["▁Russell",-12.065483093261719],["▁**",-12.065519332885742],["▁Lehr",-12.065617561340332],["▁perspectives",-12.065690040588379],["▁handed",-12.06570816040039],["▁apporte",-12.065743446350098],["unta",-12.065959930419922],["▁contemplat",-12.066255569458008],["riel",-12.06633472442627],["▁freely",-12.066341400146484],["▁loyal",-12.066451072692871],["▁evolved",-12.066518783569336],["▁Cafe",-12.066548347473145],["▁assignments",-12.066598892211914],["▁Cream",-12.066718101501465],["▁Build",-12.066731452941895],["▁exams",-12.066746711730957],["▁graduation",-12.066765785217285],["▁Dining",-12.066773414611816],["inne",-12.06684398651123],["▁propriu",-12.067055702209473],["▁accordingly",-12.067241668701172],["▁seniors",-12.067484855651855],["▁sisters",-12.067505836486816],["formerly",-12.067658424377441],["▁fleur",-12.067702293395996],["▁alten",-12.067802429199219],["▁Gefühl",-12.06797981262207],["▁freeze",-12.068222045898438],["▁structured",-12.068312644958496],["▁reserved",-12.068367004394531],["stellt",-12.068638801574707],["▁foto",-12.068668365478516],["linger",-12.06871223449707],["▁profiter",-12.068737030029297],["▁trup",-12.068862915039062],["▁Hunter",-12.068974494934082],["▁widespread",-12.069050788879395],["entretien",-12.069242477416992],["▁Truck",-12.06958293914795],["Can",-12.069656372070312],["péri",-12.06976318359375],["▁>>",-12.069926261901855],["▁trains",-12.070141792297363],["▁faca",-12.070149421691895],["▁Patienten",-12.070170402526855],["▁scor",-12.070361137390137],["▁perceived",-12.070384979248047],["setzung",-12.070393562316895],["▁Robin",-12.070558547973633],["▁geboren",-12.07060718536377],["lons",-12.070687294006348],["inţa",-12.070836067199707],["glob",-12.070887565612793],["subsequently",-12.07111930847168],["▁vet",-12.071170806884766],["▁Holland",-12.071328163146973],["▁Clinical",-12.071370124816895],["▁uncertainty",-12.071381568908691],["hohen",-12.071386337280273],["uza",-12.071431159973145],["▁kleiner",-12.071518898010254],["▁substances",-12.07155704498291],["ados",-12.071627616882324],["wheel",-12.07178020477295],["▁cone",-12.071990966796875],["▁castig",-12.072218894958496],["▁Conditions",-12.072242736816406],["minus",-12.072643280029297],["▁permits",-12.07265853881836],["fond",-12.072784423828125],["▁reactions",-12.07278823852539],["▁Mario",-12.072819709777832],["▁materiale",-12.07291030883789],["AH",-12.072924613952637],["▁juillet",-12.073172569274902],["▁juridic",-12.073182106018066],["▁dropping",-12.073200225830078],["expérience",-12.073225021362305],["▁depot",-12.073345184326172],["▁plea",-12.073490142822266],["dezvoltarea",-12.073512077331543],["▁Independent",-12.07363224029541],["▁Homes",-12.073674201965332],["▁crust",-12.073808670043945],["▁pillow",-12.073899269104004],["kreis",-12.073920249938965],["▁boiler",-12.073928833007812],["latin",-12.073978424072266],["▁stet",-12.074131965637207],["GH",-12.074143409729004],["▁absent",-12.074334144592285],["▁Directors",-12.074501037597656],["zwischen",-12.07462215423584],["▁comprendre",-12.07465648651123],["▁25,",-12.074832916259766],["▁pharmaceutical",-12.075145721435547],["▁placeholder",-12.075174331665039],["KI",-12.075176239013672],["▁români",-12.07540225982666],["▁Dollar",-12.075509071350098],["▁Operations",-12.075525283813477],["▁Dublin",-12.075550079345703],["▁drawings",-12.0756196975708],["▁respir",-12.075769424438477],["▁haul",-12.0758056640625],["Obviously",-12.075864791870117],["▁Beat",-12.075864791870117],["▁jeans",-12.07590103149414],["▁Masters",-12.075927734375],["▁bits",-12.076213836669922],["poți",-12.076226234436035],["▁asigur",-12.076228141784668],["▁intampla",-12.076228141784668],["▁marc",-12.076282501220703],["......",-12.076404571533203],["▁districts",-12.076437950134277],["cru",-12.076457023620605],["nav",-12.076608657836914],["huile",-12.076644897460938],["▁limitation",-12.076647758483887],["boat",-12.076712608337402],["IRE",-12.076720237731934],["Unis",-12.07675838470459],["dated",-12.0769624710083],["▁consultants",-12.07699203491211],["▁Josh",-12.077007293701172],["tanz",-12.077184677124023],["launching",-12.0772066116333],["▁browsing",-12.077310562133789],["▁incerc",-12.077314376831055],["▁27,",-12.077375411987305],["не",-12.077398300170898],["wig",-12.077415466308594],["▁spar",-12.077458381652832],["▁token",-12.077547073364258],["▁09",-12.077548027038574],["spa",-12.07766056060791],["ometer",-12.07772159576416],["▁riders",-12.077869415283203],["▁Drop",-12.077898979187012],["RN",-12.078103065490723],["▁pairs",-12.07815933227539],["▁psychology",-12.078420639038086],["▁Douglas",-12.078437805175781],["▁verwenden",-12.078516960144043],["▁(9",-12.07857894897461],["▁Rental",-12.078728675842285],["▁délai",-12.078847885131836],["▁sooner",-12.078882217407227],["▁bankruptcy",-12.079109191894531],["04.",-12.079110145568848],["abend",-12.079194068908691],["çon",-12.079237937927246],["▁Ple",-12.079243659973145],["fug",-12.079337120056152],["▁Wohnung",-12.079410552978516],["▁Preise",-12.079424858093262],["▁Kay",-12.079427719116211],["▁notify",-12.079474449157715],["▁Brain",-12.079534530639648],["▁optical",-12.079580307006836],["▁modifications",-12.079727172851562],["▁repos",-12.07999324798584],["▁worksheet",-12.0800142288208],["continu",-12.08005428314209],["▁assumed",-12.08059024810791],["varying",-12.080626487731934],["feier",-12.080643653869629],["▁Freedom",-12.080717086791992],["▁Inhalte",-12.080740928649902],["▁observations",-12.080755233764648],["▁Gruppe",-12.080791473388672],["▁Cyber",-12.080883979797363],["hort",-12.080889701843262],["▁langue",-12.080915451049805],["führen",-12.08110523223877],["ganze",-12.081254005432129],["▁forte",-12.081327438354492],["▁Stefan",-12.081376075744629],["▁Jetzt",-12.081463813781738],["mehr",-12.081489562988281],["trip",-12.081549644470215],["▁poem",-12.081583976745605],["▁practitioners",-12.081720352172852],["▁connector",-12.08177661895752],["ECT",-12.081794738769531],["▁inseamna",-12.081820487976074],["addressing",-12.081867218017578],["▁beliebt",-12.081908226013184],["▁Mama",-12.082002639770508],["▁fade",-12.08204460144043],["messen",-12.08205509185791],["▁Visa",-12.082080841064453],["▁Meta",-12.082154273986816],["lene",-12.082188606262207],["▁remembered",-12.082334518432617],["/3",-12.082337379455566],["apte",-12.082347869873047],["▁uncomfortable",-12.082364082336426],["▁romance",-12.08253002166748],["▁réalis",-12.082601547241211],["▁Vincent",-12.082706451416016],["▁ABC",-12.08275318145752],["▁handicap",-12.082756042480469],["▁Shin",-12.082801818847656],["▁Hunde",-12.082847595214844],["▁Ach",-12.083131790161133],["▁Questions",-12.083136558532715],["▁particles",-12.083226203918457],["usch",-12.083230018615723],["▁SUV",-12.083279609680176],["▁Tous",-12.083301544189453],["▁empower",-12.08336067199707],["▁Yi",-12.083446502685547],["▁LinkedIn",-12.083453178405762],["▁Profile",-12.083507537841797],["▁surround",-12.083553314208984],["▁wh",-12.083560943603516],["▁Weiter",-12.083577156066895],["▁Weight",-12.083672523498535],["▁creatures",-12.083807945251465],["Especially",-12.08381462097168],["▁repede",-12.08383560180664],["▁albums",-12.083885192871094],["▁compatibil",-12.0839204788208],["▁Interesse",-12.083929061889648],["abili",-12.084062576293945],["▁roast",-12.084310531616211],["▁unii",-12.084310531616211],["▁Glad",-12.084421157836914],["▁enthusiasm",-12.084539413452148],["▁whisk",-12.084547996520996],["▁freezer",-12.084712982177734],["▁stolen",-12.084715843200684],["▁neighbour",-12.084883689880371],["▁sake",-12.084967613220215],["▁Effect",-12.0850191116333],["▁fighter",-12.085044860839844],["▁tranquil",-12.085084915161133],["▁organizer",-12.085199356079102],["pixel",-12.085306167602539],["▁Guest",-12.085338592529297],["▁Philipp",-12.085369110107422],["kunft",-12.085382461547852],["▁Meer",-12.085409164428711],["▁inviting",-12.085432052612305],["gänge",-12.085450172424316],["▁Position",-12.085627555847168],["giving",-12.085693359375],["▁marble",-12.085807800292969],["▁neg",-12.085813522338867],["▁Haar",-12.085914611816406],["Ein",-12.086039543151855],["▁buses",-12.086187362670898],["▁Lodge",-12.086188316345215],["soare",-12.086319923400879],["▁Barn",-12.086409568786621],["▁captain",-12.086527824401855],["▁Fix",-12.08657169342041],["ulate",-12.086629867553711],["ență",-12.086709022521973],["▁finances",-12.086770057678223],["▁VIP",-12.086800575256348],["▁Adams",-12.086801528930664],["▁spécialisé",-12.086960792541504],["▁fortunate",-12.087236404418945],["ility",-12.087345123291016],["▁democracy",-12.08749771118164],["shu",-12.087580680847168],["▁consiste",-12.087624549865723],["▁tort",-12.087692260742188],["▁branding",-12.087793350219727],["▁porch",-12.08780288696289],["UNI",-12.087867736816406],["▁placut",-12.087915420532227],["▁coupled",-12.088058471679688],["▁ministre",-12.088187217712402],["▁minerals",-12.088335037231445],["▁safer",-12.088335990905762],["▁outlets",-12.088438034057617],["▁caution",-12.08864688873291],["▁lightly",-12.0886869430542],["▁utilizator",-12.088700294494629],["▁Pala",-12.088959693908691],["▁doll",-12.088961601257324],["(1)",-12.089065551757812],["chol",-12.089120864868164],["▁Left",-12.08919620513916],["▁roulant",-12.089277267456055],["▁propune",-12.089301109313965],["▁Cred",-12.089339256286621],["▁negotiations",-12.089362144470215],["amba",-12.089393615722656],["▁grasp",-12.089420318603516],["▁Amsterdam",-12.089451789855957],["▁Zweck",-12.08945369720459],["▁conven",-12.089563369750977],["▁organizing",-12.089574813842773],["section",-12.089618682861328],["▁endeavor",-12.089634895324707],["▁basics",-12.089722633361816],["jud",-12.089874267578125],["▁yarn",-12.090049743652344],["▁shout",-12.09009075164795],["fällt",-12.090285301208496],["▁dragoste",-12.09054946899414],["▁Rein",-12.090594291687012],["Cal",-12.090688705444336],["▁deaths",-12.090729713439941],["▁24,",-12.0907564163208],["▁măr",-12.090773582458496],["server",-12.090825080871582],["▁explic",-12.09085464477539],["▁sufer",-12.090903282165527],["▁lucrări",-12.091097831726074],["▁Disease",-12.091126441955566],["▁prescribed",-12.091194152832031],["prozess",-12.091285705566406],["▁dessin",-12.091343879699707],["▁refuge",-12.091473579406738],["▁cope",-12.091631889343262],["pole",-12.09196949005127],["▁vacant",-12.091984748840332],["▁sezon",-12.092035293579102],["▁Carbon",-12.092227935791016],["▁goût",-12.092233657836914],["Ste",-12.092320442199707],["▁surroundings",-12.092754364013672],["definite",-12.09284496307373],["▁adaptation",-12.093358993530273],["cteur",-12.0933837890625],["System",-12.093442916870117],["▁Burg",-12.093550682067871],["▁retention",-12.093579292297363],["examen",-12.093618392944336],["▁adjustments",-12.093668937683105],["nies",-12.094213485717773],["▁RSS",-12.094215393066406],["▁Umwelt",-12.094259262084961],["▁strengths",-12.094326972961426],["loom",-12.094401359558105],["▁pics",-12.094404220581055],["phase",-12.09443187713623],["▁Poland",-12.094472885131836],["▁practicing",-12.094558715820312],["monetary",-12.094756126403809],["▁embodiment",-12.094756126403809],["▁jocuri",-12.094846725463867],["▁impreuna",-12.094939231872559],["▁Lyon",-12.094985961914062],["keeping",-12.095157623291016],["▁Starting",-12.095202445983887],["▁începe",-12.095357894897461],["▁clay",-12.095440864562988],["bildung",-12.095444679260254],["Technologie",-12.095513343811035],["toxic",-12.095624923706055],["▁gasit",-12.095819473266602],["rott",-12.095870018005371],["brook",-12.095935821533203],["▁wann",-12.096029281616211],["▁lined",-12.09610366821289],["▁Chelsea",-12.096223831176758],["▁Orlando",-12.096224784851074],["▁Otherwise",-12.096267700195312],["▁debit",-12.096273422241211],["▁entsprechend",-12.09648323059082],["nism",-12.09654426574707],["issen",-12.09664535522461],["▁rendez",-12.096646308898926],["▁processus",-12.096745491027832],["mbi",-12.096890449523926],["▁Graduate",-12.096960067749023],["▁cozy",-12.097119331359863],["▁Freunde",-12.097320556640625],["▁teme",-12.097389221191406],["▁bias",-12.097548484802246],["102",-12.09756851196289],["terrorism",-12.09770679473877],["threatening",-12.097756385803223],["ни",-12.097776412963867],["▁Sonntag",-12.098062515258789],["▁efect",-12.098116874694824],["▁prayers",-12.098134994506836],["▁backpack",-12.09841537475586],["?)",-12.098489761352539],["▁searches",-12.098788261413574],["ouverture",-12.09880256652832],["▁sustained",-12.098865509033203],["hawk",-12.098869323730469],["messe",-12.098958969116211],["▁prototype",-12.098989486694336],["▁stră",-12.09903335571289],["▁Neo",-12.099040985107422],["▁29,",-12.099109649658203],["izo",-12.099306106567383],["▁Anton",-12.099333763122559],["SIS",-12.099564552307129],["pendant",-12.099617958068848],["▁passive",-12.099813461303711],["▁Aaron",-12.099824905395508],["▁Karen",-12.099831581115723],["▁Bildung",-12.09994888305664],["ario",-12.099949836730957],["▁regulator",-12.100006103515625],["gruppe",-12.100032806396484],["stepped",-12.100053787231445],["▁interventions",-12.10014533996582],["▁rounds",-12.100149154663086],["▁Khan",-12.10020637512207],["▁railway",-12.10028076171875],["▁souvenir",-12.100296974182129],["▁Plans",-12.100336074829102],["aille",-12.100372314453125],["▁billing",-12.100473403930664],["▁Spiele",-12.100541114807129],["▁supermarket",-12.100556373596191],["▁flows",-12.100625991821289],["▁PayPal",-12.100641250610352],["▁tribe",-12.10067081451416],["anni",-12.100780487060547],["▁rides",-12.100934982299805],["▁Orleans",-12.101009368896484],["▁evaluated",-12.101021766662598],["founder",-12.10106372833252],["▁Feld",-12.101212501525879],["▁altele",-12.10122299194336],["▁thermo",-12.101290702819824],["ugh",-12.101330757141113],["▁adus",-12.101375579833984],["▁Taiwan",-12.101396560668945],["▁clause",-12.101409912109375],["oxi",-12.101465225219727],["alcool",-12.101495742797852],["▁Noi",-12.101531982421875],["rub",-12.101540565490723],["▁dosar",-12.101582527160645],["▁Nelson",-12.101751327514648],["fassung",-12.102316856384277],["▁Kill",-12.102489471435547],["▁Standards",-12.102490425109863],["▁upward",-12.102653503417969],["▁Coloring",-12.102664947509766],["Designed",-12.102754592895508],["▁Nou",-12.10281753540039],["▁borrow",-12.102940559387207],["▁Poll",-12.10321044921875],["▁antibiotic",-12.103277206420898],["▁fabrication",-12.103388786315918],["quo",-12.103432655334473],["▁crimes",-12.103464126586914],["▁nahe",-12.103484153747559],["▁aplicat",-12.103565216064453],["OST",-12.1035737991333],["▁Beijing",-12.103599548339844],["fight",-12.103612899780273],["▁lodge",-12.103612899780273],["dreh",-12.103922843933105],["▁harness",-12.104036331176758],["▁noiembrie",-12.104151725769043],["ounded",-12.104161262512207],["▁Imp",-12.1041841506958],["▁nächste",-12.104275703430176],["funktion",-12.104476928710938],["exploitation",-12.104569435119629],["▁Ready",-12.10457706451416],["▁Plate",-12.104598999023438],["▁octombrie",-12.104706764221191],["▁considerat",-12.104982376098633],["▁Xbox",-12.105067253112793],["mind",-12.105107307434082],["▁Lind",-12.105111122131348],["runde",-12.105352401733398],["mination",-12.105374336242676],["▁memori",-12.105377197265625],["▁cere",-12.105389595031738],["barkeit",-12.105517387390137],["▁găsi",-12.105761528015137],["2.1",-12.105863571166992],["▁Finding",-12.105891227722168],["▁static",-12.106405258178711],["court",-12.106439590454102],["▁Gem",-12.106489181518555],["▁pièce",-12.106494903564453],["▁reel",-12.10651969909668],["▁manuscript",-12.106560707092285],["▁complications",-12.106578826904297],["▁controlling",-12.106585502624512],["▁favour",-12.106738090515137],["▁advancement",-12.106739044189453],["▁Radi",-12.106870651245117],["▁faites",-12.107076644897461],["▁ordin",-12.107131958007812],["sorted",-12.107152938842773],["▁1982",-12.10715389251709],["▁brutal",-12.107154846191406],["▁Guy",-12.107226371765137],["▁accomplishment",-12.107248306274414],["▁wer",-12.107329368591309],["▁withdraw",-12.107460975646973],["abilitate",-12.1075439453125],["▁NBA",-12.107625961303711],["▁Benefit",-12.107675552368164],["▁divide",-12.107824325561523],["induced",-12.107913970947266],["▁văzut",-12.108049392700195],["▁peel",-12.10807991027832],["▁joints",-12.108160972595215],["▁enthalten",-12.108301162719727],["▁spy",-12.108397483825684],["▁occasional",-12.108437538146973],["warm",-12.108514785766602],["ême",-12.108542442321777],["▁Betriebs",-12.108551979064941],["▁Ioan",-12.1087064743042],["▁balloon",-12.108809471130371],["▁leap",-12.108869552612305],["pelled",-12.109000205993652],["▁realise",-12.109073638916016],["▁Retail",-12.109118461608887],["▁Farben",-12.109151840209961],["▁Kennedy",-12.10916519165039],["▁Firma",-12.109196662902832],["▁tineri",-12.10934066772461],["tub",-12.109354019165039],["PORT",-12.109381675720215],["▁stiff",-12.109416007995605],["▁notable",-12.109476089477539],["tler",-12.109498023986816],["▁utile",-12.10958480834961],["▁jouer",-12.109674453735352],["▁Primary",-12.109735488891602],["▁retailer",-12.109764099121094],["▁jederzeit",-12.109808921813965],["▁amend",-12.109817504882812],["▁sagte",-12.109845161437988],["atch",-12.10995864868164],["ution",-12.110008239746094],["once",-12.110018730163574],["ended",-12.1100435256958],["▁literary",-12.11013126373291],["▁wrist",-12.110281944274902],["vii",-12.11036205291748],["scriere",-12.110367774963379],["▁compassion",-12.110443115234375],["▁Milan",-12.110474586486816],["▁Dach",-12.110490798950195],["▁problèmes",-12.110630989074707],["▁Pré",-12.110687255859375],["▁Feder",-12.110759735107422],["Dr",-12.110814094543457],["Spr",-12.110908508300781],["▁né",-12.110969543457031],["François",-12.111023902893066],["▁Shu",-12.111115455627441],["▁poison",-12.111154556274414],["zier",-12.111176490783691],["▁attain",-12.11124038696289],["▁switching",-12.111310958862305],["▁vibration",-12.111348152160645],["▁Tablet",-12.11136531829834],["▁Lern",-12.11148452758789],["offrir",-12.111660957336426],["123",-12.11168098449707],["cheapest",-12.11173152923584],["▁numărul",-12.111764907836914],["break",-12.11180305480957],["cyto",-12.111836433410645],["▁Mississippi",-12.111955642700195],["▁dragon",-12.11207389831543],["fir",-12.112176895141602],["▁fête",-12.112180709838867],["▁Wait",-12.112350463867188],["buy",-12.112359046936035],["având",-12.112391471862793],["▁Scar",-12.112517356872559],["▁Hund",-12.112586975097656],["bug",-12.112807273864746],["▁classique",-12.112811088562012],["▁tenant",-12.112860679626465],["▁Walt",-12.11296272277832],["▁timber",-12.11296272277832],["inscription",-12.11300277709961],["BD",-12.113016128540039],["▁Commissioner",-12.113018989562988],["▁casinos",-12.11306095123291],["▁prochain",-12.113168716430664],["▁rustic",-12.11349868774414],["▁Kent",-12.113607406616211],["▁Deci",-12.113761901855469],["ли",-12.113855361938477],["▁crossed",-12.113861083984375],["▁delightful",-12.113869667053223],["▁metres",-12.113872528076172],["▁scandal",-12.113906860351562],["▁activitate",-12.113986015319824],["▁nimeni",-12.114009857177734],["ease",-12.11402416229248],["▁revenues",-12.1140775680542],["▁partially",-12.114187240600586],["AE",-12.114263534545898],["nique",-12.114410400390625],["▁fixtures",-12.114426612854004],["▁pupils",-12.114694595336914],["Lib",-12.11471176147461],["analyse",-12.114739418029785],["▁Oracle",-12.114767074584961],["troph",-12.114859580993652],["▁detected",-12.114879608154297],["▁servant",-12.11507797241211],["▁badly",-12.115121841430664],["comparing",-12.115150451660156],["abs",-12.115238189697266],["▁fotografi",-12.115443229675293],["▁Million",-12.115541458129883],["▁Gordon",-12.11557388305664],["▁Smok",-12.115592002868652],["▁Essay",-12.11565113067627],["eptic",-12.115665435791016],["▁Transportation",-12.115728378295898],["/2019",-12.115767478942871],["▁alignment",-12.115778923034668],["▁laut",-12.11578369140625],["stände",-12.115791320800781],["▁concerts",-12.115811347961426],["▁weekends",-12.11589241027832],["▁obstacles",-12.115941047668457],["wür",-12.115964889526367],["▁Fisher",-12.116219520568848],["▁supervisor",-12.116242408752441],["▁traders",-12.116262435913086],["▁scary",-12.116484642028809],["▁Grove",-12.116538047790527],["▁expose",-12.116583824157715],["▁enemies",-12.116630554199219],["▁Lux",-12.11667537689209],["▁Berufs",-12.11672306060791],["▁Sheet",-12.116780281066895],["▁Natürlich",-12.116819381713867],["▁examined",-12.116886138916016],["pursuing",-12.116920471191406],["▁pools",-12.116923332214355],["▁Thompson",-12.117005348205566],["▁SAP",-12.117010116577148],["claiming",-12.117053985595703],["buried",-12.117055892944336],["assurance",-12.117138862609863],["▁sandwich",-12.117195129394531],["uber",-12.117310523986816],["▁laisse",-12.117321968078613],["peak",-12.117348670959473],["spring",-12.1173677444458],["▁august",-12.117369651794434],["▁benötigt",-12.11738109588623],["▁achievements",-12.117470741271973],["coala",-12.117478370666504],["▁scr",-12.117842674255371],["gesagt",-12.118122100830078],["▁envelope",-12.118141174316406],["▁mapping",-12.118169784545898],["▁Suche",-12.118298530578613],["first",-12.118329048156738],["▁Quin",-12.118447303771973],["räu",-12.118561744689941],["▁răs",-12.118583679199219],["chemical",-12.118597984313965],["dad",-12.118927955627441],["formation",-12.118983268737793],["▁cushion",-12.119026184082031],["▁Maß",-12.119046211242676],["07.",-12.119184494018555],["▁perioadă",-12.119257926940918],["▁Wunsch",-12.11925983428955],["▁joi",-12.119423866271973],["▁$25",-12.119482040405273],["▁uploaded",-12.11952018737793],["▁hobby",-12.119633674621582],["▁septembrie",-12.119633674621582],["▁Dimension",-12.119634628295898],["▁domeniu",-12.119661331176758],["▁Tourism",-12.119747161865234],["▁fais",-12.119800567626953],["aches",-12.119919776916504],["neck",-12.119969367980957],["▁Chip",-12.119982719421387],["▁Tisch",-12.1199951171875],["▁Pai",-12.120006561279297],["▁Butter",-12.120083808898926],["▁altor",-12.120133399963379],["cultural",-12.120182991027832],["▁bases",-12.12028980255127],["▁Christopher",-12.120396614074707],["Kindle",-12.120401382446289],["▁bathrooms",-12.12049388885498],["▁civilian",-12.12052059173584],["▁Architecture",-12.12058162689209],["heiten",-12.120641708374023],["otte",-12.120763778686523],["ри",-12.120784759521484],["wash",-12.120792388916016],["▁evenimente",-12.12086296081543],["lade",-12.121132850646973],["▁ermöglicht",-12.121140480041504],["Port",-12.121149063110352],["▁Horn",-12.12119197845459],["▁Housing",-12.121232032775879],["▁Profit",-12.121304512023926],["▁stressed",-12.12136459350586],["▁70%",-12.121431350708008],["laying",-12.121458053588867],["▁specialize",-12.121490478515625],["▁Published",-12.121519088745117],["corp",-12.121554374694824],["▁revision",-12.121611595153809],["▁sail",-12.121804237365723],["courtesy",-12.121909141540527],["tax",-12.1219482421875],["▁perfekt",-12.122018814086914],["▁Risk",-12.122088432312012],["▁chaleur",-12.122129440307617],["ych",-12.122132301330566],["▁spine",-12.12218189239502],["▁holders",-12.122264862060547],["▁Speaking",-12.122271537780762],["▁Bernard",-12.122400283813477],["incarc",-12.122532844543457],["shalb",-12.122639656066895],["Potrivit",-12.12264633178711],["arising",-12.122654914855957],["▁kingdom",-12.122665405273438],["▁potato",-12.122766494750977],["▁promoted",-12.122814178466797],["▁judges",-12.1228609085083],["▁naturelle",-12.122992515563965],["▁Kindern",-12.123022079467773],["schicht",-12.123047828674316],["▁Drag",-12.123066902160645],["atta",-12.123132705688477],["soient",-12.123249053955078],["INS",-12.12336540222168],["▁legislative",-12.123642921447754],["▁teens",-12.123785018920898],["▁Fotos",-12.123842239379883],["▁illustrations",-12.12392520904541],["möglichkeiten",-12.12415599822998],["Votre",-12.124194145202637],["▁tarif",-12.124195098876953],["cli",-12.124488830566406],["▁landlord",-12.12473201751709],["cine",-12.124743461608887],["▁bot",-12.124798774719238],["enhancing",-12.12491226196289],["▁März",-12.12491226196289],["▁succès",-12.125106811523438],["▁disclose",-12.125120162963867],["▁Geräte",-12.125321388244629],["▁Magn",-12.125422477722168],["dessous",-12.12580680847168],["▁miracle",-12.125862121582031],["▁travailler",-12.125933647155762],["▁herb",-12.125945091247559],["-01",-12.126049041748047],["litre",-12.126104354858398],["▁tău",-12.126120567321777],["ACC",-12.126190185546875],["▁diminu",-12.126275062561035],["itzer",-12.126317024230957],["▁personenbezogen",-12.126395225524902],["▁Pure",-12.126436233520508],["▁influences",-12.12668228149414],["ană",-12.126765251159668],["▁proposer",-12.126856803894043],["▁longest",-12.12692642211914],["euses",-12.127080917358398],["/1",-12.127487182617188],["hafte",-12.127716064453125],["▁Dich",-12.127761840820312],["▁candle",-12.128026962280273],["ouche",-12.128191947937012],["installation",-12.128241539001465],["▁Includes",-12.128280639648438],["▁entfernt",-12.12831974029541],["traf",-12.128499031066895],["▁None",-12.128508567810059],["▁produc",-12.128510475158691],["held",-12.128519058227539],["graphic",-12.128531455993652],["▁demographic",-12.128584861755371],["ingham",-12.1287841796875],["schul",-12.128812789916992],["▁sneak",-12.128843307495117],["laub",-12.128889083862305],["▁thickness",-12.12911605834961],["▁killer",-12.129297256469727],["▁entsprechende",-12.129344940185547],["▁theft",-12.129396438598633],["▁Jerusalem",-12.129457473754883],["Adapt",-12.129495620727539],["▁updating",-12.129497528076172],["tete",-12.12954330444336],["▁warming",-12.129701614379883],["anlage",-12.129739761352539],["▁lenders",-12.129814147949219],["mobile",-12.130008697509766],["▁Package",-12.130080223083496],["▁Volume",-12.130152702331543],["---",-12.130167007446289],["▁Others",-12.130173683166504],["content",-12.130188941955566],["tement",-12.130253791809082],["bildet",-12.13027572631836],["▁washer",-12.13053035736084],["▁freelance",-12.130623817443848],["▁fein",-12.130753517150879],["▁catering",-12.130851745605469],["▁warmth",-12.130911827087402],["▁Month",-12.131103515625],["▁Federation",-12.131134033203125],["▁editorial",-12.13121223449707],["▁Shopping",-12.131241798400879],["▁efort",-12.131296157836914],["▁damp",-12.131314277648926],["▁declined",-12.131332397460938],["▁1978",-12.13135051727295],["6,000",-12.131355285644531],["location",-12.131551742553711],["▁blogger",-12.131572723388672],["▁goodness",-12.131826400756836],["▁Purchase",-12.132119178771973],["▁suspended",-12.132159233093262],["▁assessed",-12.132201194763184],["rada",-12.132286071777344],["▁Lac",-12.132291793823242],["▁angeboten",-12.13235092163086],["▁Wetter",-12.132370948791504],["ores",-12.13243579864502],["▁fourni",-12.132476806640625],["▁retire",-12.13269329071045],["▁Baptist",-12.132741928100586],["▁Saison",-12.13277530670166],["Bar",-12.132794380187988],["▁dossier",-12.132979393005371],["brow",-12.133044242858887],["▁Kaffee",-12.133071899414062],["-25",-12.133463859558105],["▁festivals",-12.133599281311035],["▁sellers",-12.133716583251953],["Ü",-12.13393783569336],["▁publisher",-12.133960723876953],["▁Designs",-12.133970260620117],["▁putut",-12.13400936126709],["▁Built",-12.134417533874512],["▁recreational",-12.134476661682129],["▁european",-12.134514808654785],["▁binary",-12.134631156921387],["▁Nieder",-12.134764671325684],["taking",-12.1348237991333],["▁Lots",-12.13494873046875],["▁recognised",-12.135031700134277],["ssant",-12.135063171386719],["ITE",-12.135271072387695],["oom",-12.135298728942871],["▁Kre",-12.135310173034668],["▁pipes",-12.135631561279297],["▁hinge",-12.135653495788574],["▁enterprises",-12.135664939880371],["▁texts",-12.13583755493164],["Organiz",-12.136080741882324],["▁suivre",-12.136124610900879],["noc",-12.136157989501953],["fair",-12.136194229125977],["▁darkness",-12.136305809020996],["▁Whi",-12.13631534576416],["natural",-12.136321067810059],["Bas",-12.136422157287598],["▁tribute",-12.136443138122559],["▁Naţional",-12.136573791503906],["hara",-12.136622428894043],["▁catégorie",-12.136697769165039],["▁Schedule",-12.136698722839355],["▁lernen",-12.13671875],["▁Plastic",-12.136725425720215],["▁giveaway",-12.13675594329834],["▁Ideen",-12.136906623840332],["▁circa",-12.13718032836914],["▁lice",-12.137242317199707],["▁Meinung",-12.137264251708984],["▁beside",-12.137566566467285],["▁vazut",-12.137673377990723],["strom",-12.137749671936035],["boro",-12.137775421142578],["▁Soon",-12.137796401977539],["dozens",-12.137896537780762],["▁Arena",-12.137943267822266],["▁viața",-12.137989044189453],["▁Impact",-12.138082504272461],["current",-12.138106346130371],["FM",-12.138117790222168],["▁coil",-12.138657569885254],["gold",-12.138679504394531],["▁spate",-12.138679504394531],["1.4",-12.13875675201416],["solution",-12.138769149780273],["▁Wayne",-12.138835906982422],["▁queen",-12.138898849487305],["illion",-12.139022827148438],["greifen",-12.139127731323242],["▁Bil",-12.139174461364746],["rote",-12.139185905456543],["END",-12.13918685913086],["äl",-12.139206886291504],["▁reçu",-12.139378547668457],["flower",-12.139495849609375],["▁draws",-12.139519691467285],["plant",-12.139605522155762],["2010",-12.139702796936035],["▁oper",-12.139762878417969],["▁conserve",-12.139777183532715],["▁sprinkle",-12.13984203338623],["mode",-12.139924049377441],["▁lifting",-12.139941215515137],["▁Institution",-12.139951705932617],["Când",-12.14001750946045],["Aus",-12.140048027038574],["▁fears",-12.140054702758789],["▁appointments",-12.140079498291016],["oarele",-12.140162467956543],["▁duck",-12.140193939208984],["▁stadium",-12.140213012695312],["▁vezi",-12.140227317810059],["▁lap",-12.140315055847168],["▁proceeds",-12.140382766723633],["geschlossen",-12.140412330627441],["▁tren",-12.140478134155273],["VS",-12.140536308288574],["▁vais",-12.140800476074219],["ținut",-12.140859603881836],["▁Concert",-12.140928268432617],["▁planting",-12.141008377075195],["▁honour",-12.141069412231445],["▁gras",-12.141071319580078],["woo",-12.141092300415039],["▁Hero",-12.141282081604004],["▁stimulate",-12.14134407043457],["▁überhaupt",-12.141426086425781],["▁bounce",-12.14148235321045],["oodle",-12.14151382446289],["▁packs",-12.141576766967773],["▁Poker",-12.14158821105957],["▁acea",-12.141684532165527],["▁parish",-12.141754150390625],["-24",-12.141766548156738],["▁iTunes",-12.141874313354492],["▁lumière",-12.141948699951172],["third",-12.142024993896484],["▁dynamics",-12.142038345336914],["Unless",-12.142162322998047],["▁immense",-12.142416000366211],["▁Sec",-12.142781257629395],["lois",-12.143009185791016],["époque",-12.14302921295166],["NB",-12.143139839172363],["written",-12.143210411071777],["▁logement",-12.143226623535156],["submitting",-12.143295288085938],["▁Quand",-12.14331340789795],["▁foi",-12.143322944641113],["▁catalogue",-12.143351554870605],["nova",-12.14343547821045],["▁prezentat",-12.143527030944824],["▁tart",-12.143877983093262],["те",-12.143912315368652],["hack",-12.143916130065918],["▁Politic",-12.144003868103027],["▁18,",-12.144048690795898],["▁ignored",-12.144145965576172],["▁spoon",-12.144245147705078],["▁Joy",-12.144280433654785],["▁reside",-12.144482612609863],[".99",-12.144488334655762],["lytic",-12.144625663757324],["▁bogat",-12.144643783569336],["▁nurses",-12.144845008850098],["▁funcţi",-12.145029067993164],["▁produselor",-12.145038604736328],["▁Associates",-12.145069122314453],["Est",-12.14511489868164],["▁peanut",-12.145187377929688],["▁résultat",-12.145257949829102],["08.",-12.145424842834473],["▁Astro",-12.145439147949219],["▁personnelle",-12.145527839660645],["320",-12.145668983459473],["▁Grab",-12.145748138427734],["éco",-12.145801544189453],["▁clasic",-12.145857810974121],["offre",-12.14588451385498],["▁idee",-12.14589786529541],["▁cheat",-12.146259307861328],["▁Flug",-12.146286964416504],["▁1500",-12.146413803100586],["▁kurze",-12.14643383026123],["With",-12.146512985229492],["▁Half",-12.146575927734375],["▁disciplines",-12.146642684936523],["sorption",-12.14669132232666],["▁greutate",-12.146927833557129],["mä",-12.146940231323242],["▁Literatur",-12.146956443786621],["3/",-12.147016525268555],["4.0",-12.147095680236816],["▁déco",-12.147119522094727],["▁Fuß",-12.147233963012695],["▁Deutsche",-12.147289276123047],["▁abundance",-12.14746379852295],["▁Luther",-12.14750862121582],["▁nutritional",-12.147562980651855],["▁Jude",-12.147687911987305],["AY",-12.14786148071289],["▁chore",-12.147916793823242],["▁Kro",-12.148006439208984],["▁alin",-12.14801025390625],["lösung",-12.148030281066895],["▁geworden",-12.148238182067871],["▁sociaux",-12.148255348205566],["▁Spark",-12.1486177444458],["▁phenomenon",-12.148624420166016],["ICA",-12.148805618286133],["▁Ran",-12.148836135864258],["▁Schwarz",-12.148959159851074],["▁1983",-12.148985862731934],["ет",-12.148990631103516],["möglich",-12.149084091186523],["vocation",-12.149087905883789],["▁Organic",-12.14926815032959],["Oh",-12.149408340454102],["▁blockchain",-12.149422645568848],["▁Bă",-12.149515151977539],["▁Bass",-12.14953899383545],["enie",-12.149687767028809],["▁rêve",-12.149807929992676],["▁Rap",-12.149986267089844],["▁democratic",-12.150044441223145],["▁Chart",-12.150167465209961],["▁Voi",-12.150189399719238],["process",-12.150263786315918],["▁preach",-12.150389671325684],["tient",-12.150456428527832],["▁Train",-12.150468826293945],["▁Reihe",-12.150472640991211],["help",-12.150514602661133],["1.6",-12.150547981262207],["▁cazuri",-12.150547981262207],["▁chap",-12.150559425354004],["aktiv",-12.150632858276367],["▁2006.",-12.15079116821289],["iene",-12.150849342346191],["▁BBQ",-12.150969505310059],["dauer",-12.151028633117676],["2).",-12.151226997375488],["▁Monat",-12.151277542114258],["Generally",-12.151285171508789],["▁bracelet",-12.151336669921875],["▁cartoon",-12.151349067687988],["▁pui",-12.151488304138184],["temp",-12.151506423950195],["▁Particip",-12.151555061340332],["▁dumneavoastră",-12.151725769042969],["▁Gin",-12.151824951171875],["iunile",-12.151829719543457],["reise",-12.151849746704102],["▁einzige",-12.15189266204834],["ANCE",-12.15192985534668],["▁humble",-12.151951789855957],["claim",-12.152093887329102],["LV",-12.152143478393555],["▁confiance",-12.152270317077637],["▁Trading",-12.152535438537598],["▁Fabric",-12.152770042419434],["▁Duke",-12.152851104736328],["spieler",-12.152937889099121],["▁reject",-12.152987480163574],["▁crise",-12.153170585632324],["▁borders",-12.153196334838867],["▁Vehicle",-12.153279304504395],["zeiten",-12.153481483459473],["enrolled",-12.153514862060547],["venue",-12.153555870056152],["▁forests",-12.153564453125],["vascular",-12.15358829498291],["▁phrases",-12.153661727905273],["▁receptor",-12.15368366241455],["schied",-12.153687477111816],["▁soirée",-12.153785705566406],["▁partener",-12.153987884521484],["▁Jobs",-12.15417194366455],["▁segments",-12.154216766357422],["▁violate",-12.154438972473145],["▁viable",-12.154500007629395],["▁encountered",-12.154533386230469],["▁travelers",-12.154552459716797],["▁împ",-12.154679298400879],["▁convince",-12.154693603515625],["▁mailing",-12.154693603515625],["▁Zahn",-12.154698371887207],["attend",-12.15477466583252],["▁eBay",-12.154836654663086],["▁Emergency",-12.154844284057617],["wirtschaft",-12.154882431030273],["▁scholars",-12.154947280883789],["▁considerably",-12.155118942260742],["▁combo",-12.1551513671875],["hiver",-12.155198097229004],["▁mysterious",-12.15522575378418],["▁Degree",-12.155234336853027],["▁fate",-12.155242919921875],["▁transplant",-12.155281066894531],["▁samedi",-12.155400276184082],["unit",-12.155519485473633],["▁moyenne",-12.155611991882324],["▁Liverpool",-12.155614852905273],["▁Champions",-12.155728340148926],["zzle",-12.155824661254883],["▁arena",-12.156228065490723],["▁Pipe",-12.15633487701416],["▁waterproof",-12.156356811523438],["▁eternal",-12.156463623046875],["Whenever",-12.156503677368164],["▁Hop",-12.156535148620605],["▁Betrieb",-12.156816482543945],["gne",-12.15692138671875],["▁spe",-12.156975746154785],["▁Corner",-12.157078742980957],["▁devenir",-12.157118797302246],["ambiance",-12.157144546508789],["▁Graham",-12.157200813293457],["▁desires",-12.157289505004883],["▁Applications",-12.157291412353516],["▁genutzt",-12.157477378845215],["tek",-12.157612800598145],["▁Career",-12.157641410827637],["▁staple",-12.157695770263672],["▁Dodge",-12.157817840576172],["▁strictly",-12.157889366149902],["▁Gruppen",-12.157952308654785],["▁Finanz",-12.157981872558594],["▁sporting",-12.15809440612793],["▁Wieder",-12.158127784729004],["anny",-12.158208847045898],["▁bucura",-12.158233642578125],["▁Pest",-12.15824031829834],["▁circles",-12.158246994018555],["▁richtige",-12.158309936523438],["▁cycles",-12.158379554748535],["static",-12.15845012664795],["lasting",-12.15847396850586],["▁calcium",-12.158549308776855],["▁digest",-12.158697128295898],["Enfin",-12.158865928649902],["▁stressful",-12.158951759338379],["▁schemes",-12.158981323242188],["▁décision",-12.158987045288086],["▁comercial",-12.15907096862793],["işti",-12.159098625183105],["▁Comic",-12.15910816192627],["▁extensions",-12.159140586853027],["▁Sieg",-12.159168243408203],["▁pine",-12.15919017791748],["ieß",-12.159272193908691],["▁Images",-12.159427642822266],["▁Mensch",-12.159668922424316],["Pap",-12.159773826599121],["▁crops",-12.15994930267334],["▁sheep",-12.159996032714844],["▁istoric",-12.160001754760742],["▁Assessment",-12.160035133361816],["▁mounting",-12.16035270690918],["wirken",-12.160469055175781],["▁augment",-12.160469055175781],["▁picioare",-12.160542488098145],["organisme",-12.160590171813965],["▁Monitor",-12.16060733795166],["▁celles",-12.160642623901367],["▁Maison",-12.160709381103516],["notified",-12.160783767700195],["▁chew",-12.160831451416016],["▁bleu",-12.16083812713623],["dow",-12.160844802856445],["▁Grav",-12.16097354888916],["▁curtains",-12.160975456237793],["▁Campus",-12.161076545715332],["▁controversial",-12.161087036132812],["▁soutien",-12.161189079284668],["▁Dell",-12.1613187789917],["▁instrumental",-12.161431312561035],["▁Nan",-12.161514282226562],["▁prom",-12.161520957946777],["▁spatial",-12.161523818969727],["Similarly",-12.161558151245117],["▁Gala",-12.161601066589355],["ultimul",-12.16162109375],["▁Vom",-12.161761283874512],["▁Foot",-12.161784172058105],["bike",-12.1618013381958],["▁acids",-12.161979675292969],["entend",-12.162002563476562],["ivă",-12.162040710449219],["▁Weitere",-12.162124633789062],["▁vitamins",-12.162131309509277],["▁enhancement",-12.16234016418457],["▁Cruise",-12.162367820739746],["assemble",-12.162385940551758],["▁spécifique",-12.162459373474121],["affaires",-12.16261100769043],["▁indispensable",-12.1626558303833],["▁logistics",-12.16283130645752],["▁manche",-12.162919044494629],["▁dealt",-12.16297435760498],["▁favorable",-12.163036346435547],["▁unwanted",-12.163047790527344],["▁handmade",-12.163065910339355],["▁Regi",-12.163102149963379],["safe",-12.163134574890137],["persoanele",-12.163202285766602],["▁destinat",-12.163252830505371],["▁Maxi",-12.163299560546875],["▁salmon",-12.163454055786133],["wag",-12.163578033447266],["210",-12.163769721984863],["▁warned",-12.163865089416504],["läuft",-12.16386604309082],["agging",-12.163931846618652],["▁responsabil",-12.16398811340332],["▁presse",-12.164271354675293],["▁amis",-12.164305686950684],["▁rolls",-12.164377212524414],["control",-12.164405822753906],["▁Manufacturer",-12.164422988891602],["hnen",-12.164449691772461],["▁buget",-12.164546012878418],["OW",-12.16467571258545],["etro",-12.164745330810547],["▁communauté",-12.164837837219238],["unci",-12.164944648742676],["▁Chine",-12.164952278137207],["combines",-12.16501235961914],["▁learners",-12.165046691894531],["STE",-12.165055274963379],["ckel",-12.16511344909668],["Service",-12.165169715881348],["▁veröffentlicht",-12.165209770202637],["besides",-12.165266036987305],["getragen",-12.165349960327148],["▁opponent",-12.165521621704102],["▁volum",-12.165533065795898],["▁confusing",-12.165802001953125],["invasive",-12.165813446044922],["▁conseils",-12.165881156921387],["▁vibe",-12.165928840637207],["View",-12.166062355041504],["oară",-12.166086196899414],["Link",-12.166261672973633],["▁holy",-12.166261672973633],["▁crema",-12.16629409790039],["▁Michelle",-12.166303634643555],["▁Wien",-12.166383743286133],["▁undertake",-12.166404724121094],["▁Photograph",-12.166421890258789],["humain",-12.16645336151123],["▁Hang",-12.166545867919922],["designed",-12.16657829284668],["▁analyses",-12.166614532470703],["▁compose",-12.166653633117676],["▁substantially",-12.166765213012695],["▁marking",-12.166772842407227],["▁campagne",-12.166826248168945],["▁$15",-12.166828155517578],["pharma",-12.166972160339355],["▁playoff",-12.1669921875],["▁momentum",-12.167091369628906],["Temp",-12.16714096069336],["▁vinegar",-12.167143821716309],["▁descriptions",-12.167581558227539],["christ",-12.167656898498535],["wore",-12.16773509979248],["ITY",-12.167768478393555],["stehen",-12.167771339416504],["▁insulation",-12.1677827835083],["grav",-12.167842864990234],["2.2",-12.167887687683105],["▁Explore",-12.168028831481934],["▁dye",-12.168127059936523],["stair",-12.168155670166016],["artisan",-12.168207168579102],["▁zoom",-12.168285369873047],["▁turkey",-12.168573379516602],["▁locksmith",-12.168577194213867],["▁sewing",-12.168610572814941],["▁modeling",-12.168627738952637],["lied",-12.16870403289795],["adel",-12.168773651123047],["▁Going",-12.168785095214844],["WH",-12.168798446655273],["▁deserves",-12.168919563293457],["▁arriving",-12.168960571289062],["OFF",-12.169039726257324],["torului",-12.169109344482422],["ucked",-12.16921615600586],["▁approached",-12.169351577758789],["▁élevé",-12.169354438781738],["▁quotidien",-12.169416427612305],["▁derzeit",-12.16942024230957],["nutzt",-12.169656753540039],["science",-12.169729232788086],["▁Emma",-12.169841766357422],["▁builds",-12.169879913330078],["▁Logo",-12.169949531555176],["▁clouds",-12.170061111450195],["inflammatory",-12.170141220092773],["țiuni",-12.170199394226074],["▁Cisco",-12.17025089263916],["▁würden",-12.170254707336426],["▁Shaw",-12.170256614685059],["▁Ell",-12.170266151428223],["avance",-12.1703519821167],["anglais",-12.170365333557129],["weil",-12.170368194580078],["▁singura",-12.170464515686035],["ACK",-12.170489311218262],["likewise",-12.170522689819336],["ographie",-12.170646667480469],["liegen",-12.17088508605957],["▁Crow",-12.170964241027832],["▁unic",-12.171187400817871],["▁Ale",-12.171241760253906],["▁păstr",-12.17125129699707],["▁informal",-12.171337127685547],["650",-12.17136287689209],["Benz",-12.171489715576172],["▁antenna",-12.171540260314941],["▁pagini",-12.171552658081055],["▁lansat",-12.171561241149902],["▁Fans",-12.171576499938965],["taine",-12.171822547912598],["JO",-12.171853065490723],["▁Tips",-12.172091484069824],["cir",-12.172130584716797],["nou",-12.172384262084961],["▁planted",-12.17241382598877],["▁steering",-12.172423362731934],["▁Waren",-12.172475814819336],["▁clearance",-12.172515869140625],["▁Moscow",-12.172516822814941],["▁Faith",-12.172534942626953],["▁Pizza",-12.172572135925293],["▁Tank",-12.17273998260498],["QUE",-12.172783851623535],["▁studii",-12.172804832458496],["éné",-12.172829627990723],["▁guerre",-12.1728515625],["▁celebr",-12.173083305358887],["▁Factory",-12.173111915588379],["▁Browse",-12.173198699951172],["▁Request",-12.17323112487793],["▁taxpayer",-12.173311233520508],["▁assert",-12.173562049865723],["unternehmen",-12.173588752746582],["▁Ergebnis",-12.173687934875488],["▁Antwort",-12.173727035522461],["▁Photography",-12.173808097839355],["▁plă",-12.173866271972656],["IME",-12.173982620239258],["▁prochaine",-12.174074172973633],["ajouter",-12.174103736877441],["▁buffet",-12.174227714538574],["▁pixels",-12.174239158630371],["▁pledge",-12.174250602722168],["▁Inhalt",-12.17435359954834],["▁chase",-12.174384117126465],["Flow",-12.174493789672852],["▁melodi",-12.174872398376465],["▁Abu",-12.174991607666016],["▁1979",-12.175042152404785],["▁Photos",-12.175042152404785],["▁qualifications",-12.175148963928223],["▁zis",-12.175213813781738],["IAL",-12.175354957580566],["▁lender",-12.175390243530273],["▁indiferent",-12.175494194030762],["▁behaviors",-12.175506591796875],["▁flowing",-12.175531387329102],["▁zweite",-12.1756010055542],["abl",-12.175765037536621],["Schw",-12.176004409790039],["opi",-12.176030158996582],["ggi",-12.176164627075195],["▁depart",-12.176314353942871],["▁garde",-12.17640209197998],["▁tuition",-12.176490783691406],["fälle",-12.17650032043457],["▁determina",-12.17652702331543],["▁spice",-12.176627159118652],["▁petites",-12.176777839660645],["kot",-12.176973342895508],["▁intersection",-12.177242279052734],["hak",-12.177248001098633],["▁autumn",-12.177284240722656],["▁verbunden",-12.177284240722656],["▁ferme",-12.177287101745605],["PN",-12.17733097076416],["▁insurer",-12.177390098571777],["arten",-12.177401542663574],["▁Turkish",-12.177715301513672],["▁shoulders",-12.177732467651367],["=>",-12.177742004394531],["▁Nike",-12.177760124206543],["uire",-12.177763938903809],["▁Chile",-12.177811622619629],["jon",-12.177842140197754],["▁fragrance",-12.177884101867676],["▁bean",-12.177908897399902],["ips",-12.178108215332031],["assuming",-12.178191184997559],["liens",-12.178215026855469],["tocmai",-12.178267478942871],["▁60%",-12.178301811218262],["ipped",-12.178384780883789],["DIS",-12.178473472595215],["▁predicted",-12.178537368774414],["▁Picture",-12.178555488586426],["Bahn",-12.178796768188477],["104",-12.178854942321777],["tended",-12.178958892822266],["▁approve",-12.179031372070312],["▁magasin",-12.17908000946045],["▁mindset",-12.179208755493164],["rase",-12.179363250732422],["grand",-12.179469108581543],["▁Principal",-12.17947769165039],["▁informații",-12.17959976196289],["▁legătur",-12.179628372192383],["▁Farb",-12.179692268371582],["▁Dieu",-12.179710388183594],["▁alliance",-12.180378913879395],["weiligen",-12.180397987365723],["▁Câ",-12.18048095703125],["▁counseling",-12.180521011352539],["▁traveled",-12.180533409118652],["▁translated",-12.180558204650879],["▁carne",-12.180679321289062],["aked",-12.180707931518555],["▁LCD",-12.180868148803711],["▁Folge",-12.180909156799316],["▁Erfahrungen",-12.18093204498291],["▁1981",-12.18106460571289],["▁răspuns",-12.181075096130371],["itori",-12.18117618560791],["▁elementary",-12.181200981140137],["▁vorbei",-12.18127727508545],["▁cargo",-12.181361198425293],["disciplinary",-12.18140983581543],["WR",-12.181492805480957],["▁counterpart",-12.18162727355957],["family",-12.181641578674316],["▁viață",-12.181644439697266],["▁Definition",-12.18167495727539],["▁Cow",-12.18171501159668],["fällig",-12.182003021240234],["▁Sicht",-12.182025909423828],["▁mum",-12.182145118713379],["▁Mediterranean",-12.182275772094727],["nev",-12.182278633117676],["bü",-12.182293891906738],["▁slave",-12.182293891906738],["schnitt",-12.18233871459961],["▁firme",-12.182430267333984],["▁spill",-12.182454109191895],["▁wages",-12.182592391967773],["▁refine",-12.182615280151367],["▁upgraded",-12.182632446289062],["▁gospel",-12.182698249816895],["▁quartier",-12.182744979858398],["▁#2",-12.182772636413574],["▁Situation",-12.18298625946045],["▁suggesting",-12.183075904846191],["▁acne",-12.183113098144531],["▁Murray",-12.183337211608887],["▁Ian",-12.183469772338867],["hören",-12.183489799499512],["bia",-12.183603286743164],["▁Bewegung",-12.183684349060059],["▁abzu",-12.18379020690918],["reveals",-12.183795928955078],["friend",-12.184025764465332],["▁Connecticut",-12.18407917022705],["▁Testament",-12.184151649475098],["▁Lit",-12.184199333190918],["▁Ship",-12.184209823608398],["▁minunat",-12.184344291687012],["▁Moving",-12.184346199035645],["▁Device",-12.184486389160156],["▁Bake",-12.18453598022461],["▁qualification",-12.184633255004883],["▁challenged",-12.184640884399414],["▁Hinweis",-12.184721946716309],["▁sechs",-12.184769630432129],["та",-12.184903144836426],["120",-12.184904098510742],["licht",-12.184940338134766],["▁supervision",-12.185022354125977],["▁milestone",-12.18503189086914],["zeig",-12.185050964355469],["▁emphasize",-12.185224533081055],["▁complain",-12.185232162475586],["sack",-12.185341835021973],["▁rebuild",-12.185445785522461],["projekt",-12.18548583984375],["▁saint",-12.185644149780273],["lette",-12.185752868652344],["rade",-12.18580150604248],["▁pacient",-12.185893058776855],["signed",-12.186169624328613],["▁mil",-12.186261177062988],["cali",-12.186266899108887],["▁brochure",-12.186487197875977],["▁Bulgaria",-12.186488151550293],["Har",-12.186623573303223],["DH",-12.186697006225586],["▁jumping",-12.186712265014648],["ären",-12.186732292175293],["▁tactics",-12.186911582946777],["▁soleil",-12.187030792236328],["lessness",-12.18705940246582],["steigen",-12.187085151672363],["▁Brief",-12.187117576599121],["▁Oz",-12.18718433380127],["credit",-12.187239646911621],["glass",-12.187241554260254],["▁Baltimore",-12.187292098999023],["varies",-12.187445640563965],["sourced",-12.187575340270996],["▁documented",-12.187604904174805],["▁devine",-12.187664985656738],["möglichst",-12.187732696533203],["▁früher",-12.187756538391113],["outefois",-12.18790054321289],["▁Engagement",-12.187934875488281],["▁anumit",-12.18806266784668],["▁1930",-12.188186645507812],["▁Aufgaben",-12.188214302062988],["▁lineup",-12.188227653503418],["▁Cad",-12.188349723815918],["améliorer",-12.188437461853027],["▁februarie",-12.188499450683594],["▁cancellation",-12.188529968261719],["▁locks",-12.188577651977539],["▁modèles",-12.188711166381836],["▁breakdown",-12.188748359680176],["Ticket",-12.188810348510742],["▁Chen",-12.188855171203613],["▁Competition",-12.188910484313965],["▁median",-12.18896770477295],["rische",-12.189159393310547],["▁multipli",-12.189269065856934],["▁Belgium",-12.189305305480957],["▁Physical",-12.189308166503906],["▁parameter",-12.189432144165039],["▁carrot",-12.189435005187988],["▁mandat",-12.189617156982422],["▁towel",-12.189697265625],["▁insured",-12.189825057983398],["PRI",-12.189868927001953],["etter",-12.189915657043457],["▁Oder",-12.190083503723145],["argued",-12.190171241760254],["FB",-12.190196990966797],["versicherung",-12.190197944641113],["abila",-12.190251350402832],["▁Coin",-12.190324783325195],["around",-12.19050121307373],["▁Lorsqu",-12.190773963928223],["valent",-12.190918922424316],["▁weltweit",-12.19092082977295],["Mod",-12.191039085388184],["▁defect",-12.191044807434082],["ibly",-12.191136360168457],["▁Juan",-12.191153526306152],["▁Jur",-12.191171646118164],["large",-12.191307067871094],["▁indicators",-12.191461563110352],["invest",-12.19168472290039],["▁rehabilitation",-12.191705703735352],["nag",-12.191823959350586],["▁Grundlage",-12.191829681396484],["▁Strategy",-12.192131042480469],["▁supérieur",-12.192173957824707],["▁orbit",-12.192281723022461],["▁Auftrag",-12.192360877990723],["▁Verb",-12.192441940307617],["ANA",-12.19256591796875],["▁trimis",-12.192611694335938],["▁Rub",-12.192704200744629],["institu",-12.192732810974121],["▁inspect",-12.1927490234375],["▁Princess",-12.192757606506348],["especially",-12.192777633666992],["▁combinations",-12.192793846130371],["▁gaze",-12.192842483520508],["elemente",-12.192970275878906],["deal",-12.192980766296387],["polis",-12.193157196044922],["shaw",-12.193168640136719],["▁Republicans",-12.193203926086426],["aded",-12.193244934082031],["▁Louisiana",-12.193364143371582],["▁Ville",-12.193368911743164],["▁afterwards",-12.193389892578125],["ONG",-12.193608283996582],["▁dryer",-12.193636894226074],["▁Manhattan",-12.19374942779541],["▁recomanda",-12.19412612915039],["▁juca",-12.194253921508789],["▁Crown",-12.194260597229004],["▁flesh",-12.194347381591797],["sichtig",-12.194358825683594],["▁rempli",-12.19437026977539],["▁deposits",-12.19438362121582],["▁Voll",-12.194599151611328],["▁analysts",-12.194672584533691],["▁Krieg",-12.19484806060791],["▁Rosa",-12.19495964050293],["▁Supply",-12.194964408874512],["GF",-12.19497013092041],["idad",-12.195098876953125],["▁flush",-12.195103645324707],["▁circular",-12.195355415344238],["▁național",-12.195379257202148],["▁lorsqu",-12.195441246032715],["▁analyst",-12.195459365844727],["▁Jahrhundert",-12.195586204528809],["▁biology",-12.195713996887207],["copy",-12.195733070373535],["▁bringt",-12.195765495300293],["▁Gospel",-12.195780754089355],["▁sorgen",-12.195842742919922],["zeichnung",-12.196181297302246],["chair",-12.196197509765625],["EB",-12.19636344909668],["▁Beth",-12.1964111328125],["115",-12.196416854858398],["▁Neue",-12.196479797363281],["▁faible",-12.196599960327148],["▁methodology",-12.196603775024414],["spiele",-12.196647644042969],["▁cherry",-12.196727752685547],["▁Mak",-12.196802139282227],["▁volet",-12.196982383728027],["funk",-12.197196006774902],["▁aktuelle",-12.197372436523438],["▁Yahoo",-12.197408676147461],["▁Zusammenarbeit",-12.197669982910156],["▁Serve",-12.197754859924316],["▁simpler",-12.197978019714355],["intégr",-12.197990417480469],["ndlich",-12.198083877563477],["▁actress",-12.198320388793945],["▁reuse",-12.198332786560059],["▁reviewing",-12.198405265808105],["statt",-12.198457717895508],["▁diving",-12.198469161987305],["▁Național",-12.198677062988281],["voi",-12.19873332977295],["Disc",-12.198812484741211],["▁Mineral",-12.19886302947998],["▁emit",-12.199007034301758],["witz",-12.199078559875488],["▁forgot",-12.19909954071045],["▁dim",-12.199115753173828],["upper",-12.19947624206543],["sichtlich",-12.19949722290039],["▁parcours",-12.199670791625977],["8:00",-12.199697494506836],["▁keyword",-12.199701309204102],["▁upgrades",-12.199763298034668],["kunden",-12.200177192687988],["▁Seg",-12.200257301330566],["▁Circle",-12.200289726257324],["▁ginger",-12.200336456298828],["mment",-12.200516700744629],["▁expenditure",-12.200655937194824],["▁parle",-12.200693130493164],["▁Counsel",-12.200722694396973],["▁Gui",-12.200722694396973],["resident",-12.20103645324707],["▁benchmark",-12.20103931427002],["▁Elektro",-12.201064109802246],["▁réalité",-12.201064109802246],["▁ridiculous",-12.201067924499512],["▁necklace",-12.20108699798584],["nian",-12.201117515563965],["▁Move",-12.20113468170166],["▁elevated",-12.201204299926758],["WE",-12.201281547546387],["▁Drum",-12.20132064819336],["▁Delivery",-12.201350212097168],["indicating",-12.201452255249023],["▁Benjamin",-12.201472282409668],["▁Samuel",-12.2014741897583],["bene",-12.201666831970215],["▁experienta",-12.201676368713379],["▁rocket",-12.201839447021484],["▁fossil",-12.201883316040039],["▁festive",-12.20193099975586],["▁conscience",-12.201964378356934],["▁bacon",-12.202136993408203],["▁aero",-12.202159881591797],["public",-12.202187538146973],["▁zic",-12.202218055725098],["ombre",-12.202356338500977],["▁Drain",-12.202550888061523],["7.5",-12.202672004699707],["▁Deutschen",-12.202703475952148],["reportedly",-12.202754974365234],["▁Français",-12.203105926513672],["▁enzyme",-12.203106880187988],["▁inquiry",-12.203117370605469],["▁presque",-12.203193664550781],["▁Airlines",-12.203228950500488],["▁Salon",-12.203237533569336],["▁Volunteer",-12.203310012817383],["▁modular",-12.203349113464355],["ón",-12.203364372253418],["NH",-12.203449249267578],["▁souhaite",-12.203516960144043],["social",-12.203659057617188],["▁Include",-12.203729629516602],["▁Decor",-12.2037992477417],["dded",-12.203965187072754],["▁Außen",-12.203969955444336],["rendu",-12.20412540435791],["▁MBA",-12.204150199890137],["▁columns",-12.204155921936035],["▁Wing",-12.204436302185059],["▁landmark",-12.204442977905273],["schritt",-12.204594612121582],["▁désir",-12.204630851745605],["(5)",-12.204680442810059],["▁réseaux",-12.204693794250488],["income",-12.204710960388184],["▁revised",-12.204819679260254],["HY",-12.204863548278809],["▁Explorer",-12.204873085021973],["▁Lam",-12.204877853393555],["▁almond",-12.204910278320312],["▁faux",-12.204910278320312],["opt",-12.204923629760742],["Out",-12.204939842224121],["▁virtue",-12.205025672912598],["▁Chocolate",-12.205151557922363],["▁spannend",-12.205305099487305],["▁spices",-12.205327033996582],["▁Climate",-12.205560684204102],["▁Residential",-12.205560684204102],["gung",-12.205700874328613],["▁filtr",-12.20606803894043],["circ",-12.206123352050781],["sisted",-12.206172943115234],["▁dedicat",-12.206243515014648],["▁foil",-12.206387519836426],["▁uita",-12.206392288208008],["▁lié",-12.206402778625488],["▁Demo",-12.206409454345703],["▁spoil",-12.2064208984375],["Cu",-12.206448554992676],["naut",-12.206525802612305],["▁configured",-12.206535339355469],["UK",-12.206543922424316],["▁disagree",-12.20656967163086],["Medic",-12.206767082214355],["cosm",-12.207074165344238],["Toute",-12.207109451293945],["▁beneficia",-12.207170486450195],["fassen",-12.207327842712402],["▁bail",-12.207337379455566],["igue",-12.207439422607422],["▁Mă",-12.20744800567627],["▁strips",-12.20748519897461],["▁Dritte",-12.207537651062012],["▁putere",-12.207597732543945],["Play",-12.20763111114502],["▁Samstag",-12.207632064819336],["▁households",-12.207791328430176],["▁persistent",-12.207914352416992],["uben",-12.207942962646484],["Web",-12.20809555053711],["▁scenery",-12.20820140838623],["▁défini",-12.208257675170898],["news",-12.208337783813477],["eira",-12.208428382873535],["▁Mumbai",-12.208438873291016],["▁Ward",-12.208558082580566],["▁ladder",-12.2086181640625],["▁plaque",-12.208623886108398],["nés",-12.208639144897461],["▁condamn",-12.20864486694336],["▁attribute",-12.208687782287598],["atti",-12.20873737335205],["▁Emily",-12.208953857421875],["▁pleine",-12.20896053314209],["▁automatisch",-12.209004402160645],["ifies",-12.209052085876465],["onna",-12.209104537963867],["▁inject",-12.209157943725586],["▁evolve",-12.209297180175781],["▁breeze",-12.209299087524414],["▁montre",-12.209415435791016],["▁memorial",-12.209425926208496],["ämlich",-12.209465026855469],["NBC",-12.209589958190918],["▁1940",-12.209836959838867],["▁trouvé",-12.209892272949219],["when",-12.209914207458496],["▁Büro",-12.209959983825684],["▁probability",-12.209978103637695],["cute",-12.21006965637207],["▁sturdy",-12.210078239440918],["AMP",-12.210165023803711],["▁Constantin",-12.210283279418945],["▁batter",-12.21037483215332],["▁bist",-12.210470199584961],["▁streams",-12.210528373718262],["rushing",-12.21057415008545],["▁shaft",-12.21065902709961],["▁proprii",-12.210722923278809],["émi",-12.21074390411377],["online",-12.210817337036133],["▁vanity",-12.210870742797852],["▁mural",-12.210878372192383],["▁distinguish",-12.210905075073242],["▁niciun",-12.211191177368164],["▁européenne",-12.211252212524414],["▁secretary",-12.211289405822754],["▁gaps",-12.211492538452148],["▁realm",-12.211499214172363],["▁elastic",-12.211504936218262],["▁Avoid",-12.211519241333008],["▁mauvais",-12.211931228637695],["▁innovations",-12.212663650512695],["▁suprem",-12.212776184082031],["▁vederea",-12.212817192077637],["wenden",-12.212892532348633],["-40",-12.213075637817383],["prenant",-12.213155746459961],["utilisateur",-12.213210105895996],["▁Oliver",-12.213228225708008],["111",-12.21326732635498],["▁manifestation",-12.213382720947266],["▁Rachel",-12.213458061218262],["agog",-12.21348762512207],["▁seamless",-12.213534355163574],["▁Employee",-12.213576316833496],["▁dimanche",-12.213582038879395],["▁banii",-12.213631629943848],["▁Ruth",-12.213781356811523],["▁Roy",-12.21385383605957],["▁homeless",-12.2139253616333],["▁Lower",-12.213932037353516],["health",-12.21393871307373],["▁atenti",-12.2140474319458],["▁touched",-12.214183807373047],["May",-12.214195251464844],["▁Buc",-12.214225769042969],["▁explored",-12.214393615722656],["▁declare",-12.214461326599121],["▁garment",-12.214469909667969],["▁buzz",-12.214483261108398],["▁rappel",-12.214662551879883],["▁uscat",-12.214903831481934],["▁Hyper",-12.214914321899414],["Etat",-12.215007781982422],["▁Titel",-12.215035438537598],["product",-12.215191841125488],["woman",-12.215280532836914],["▁Gab",-12.215450286865234],["▁advances",-12.215615272521973],["2/",-12.215753555297852],["prone",-12.215770721435547],["kö",-12.215986251831055],["▁counting",-12.21599292755127],["Sollte",-12.216043472290039],["▁Konzept",-12.216063499450684],["▁backgrounds",-12.216153144836426],["jährige",-12.216154098510742],["▁Alltag",-12.216187477111816],["▁metrics",-12.21619701385498],["▁illustrated",-12.216222763061523],["▁Charge",-12.21631908416748],["▁thoughtful",-12.216423034667969],["gesetz",-12.216527938842773],["pfen",-12.216611862182617],["▁déroul",-12.216713905334473],["▁checkout",-12.216876029968262],["quette",-12.216936111450195],["▁pierdut",-12.2170991897583],["▁Seat",-12.217140197753906],["▁linen",-12.217193603515625],["archiv",-12.217245101928711],["arna",-12.217254638671875],["importe",-12.21742057800293],["▁PHP",-12.217496871948242],["▁Parents",-12.217503547668457],["▁Birmingham",-12.217513084411621],["▁Integr",-12.217588424682617],["▁Mason",-12.217607498168945],["zieht",-12.217781066894531],["▁camps",-12.217803001403809],["OG",-12.21786117553711],["▁syrup",-12.217927932739258],["▁Cookies",-12.217928886413574],["▁Comfort",-12.217955589294434],["ută",-12.217976570129395],["abia",-12.217979431152344],["zeci",-12.218003273010254],["▁Gardens",-12.218009948730469],["▁incidents",-12.218149185180664],["▁participat",-12.218235969543457],["▁glimpse",-12.218342781066895],["5.5",-12.218437194824219],["▁dealers",-12.218469619750977],["▁Grande",-12.218565940856934],["▁raid",-12.218944549560547],["owing",-12.21903133392334],["▁contrary",-12.219109535217285],["Earlier",-12.219138145446777],["tien",-12.21916389465332],["drop",-12.219169616699219],["▁angajat",-12.219359397888184],["▁procesul",-12.219515800476074],["▁focal",-12.219564437866211],["▁impart",-12.219703674316406],["▁Abschluss",-12.219749450683594],["carui",-12.219830513000488],["insul",-12.220277786254883],["▁creamy",-12.220283508300781],["eille",-12.22032356262207],["suppl",-12.220335960388184],["▁Heaven",-12.220471382141113],["éna",-12.220667839050293],["▁swap",-12.220739364624023],["▁vreau",-12.220762252807617],["▁Bryan",-12.220809936523438],["▁Zug",-12.220815658569336],["▁glance",-12.220848083496094],["▁elimin",-12.220900535583496],["▁yeux",-12.221084594726562],["wehr",-12.221238136291504],["2.5",-12.221287727355957],["▁poses",-12.221364974975586],["▁parcel",-12.221585273742676],["▁Apartment",-12.221749305725098],["▁NASA",-12.221768379211426],["▁bénéfici",-12.22187614440918],["▁Umgebung",-12.221890449523926],["asia",-12.221946716308594],["abi",-12.221967697143555],["coup",-12.222002983093262],["synchron",-12.222017288208008],["▁Sicherheits",-12.222029685974121],["bic",-12.222076416015625],["▁distract",-12.222148895263672],["▁rentals",-12.222163200378418],["constru",-12.222290992736816],["curs",-12.222345352172852],["genannten",-12.222386360168457],["▁Shanghai",-12.222501754760742],["▁vague",-12.222504615783691],["▁Leather",-12.22250747680664],["▁Vintage",-12.222532272338867],["pointing",-12.22259521484375],["avant",-12.22268295288086],["gues",-12.222949028015137],["sweise",-12.22302532196045],["▁Greater",-12.223065376281738],["fig",-12.22310733795166],["▁Blut",-12.223217964172363],["▁Stellen",-12.22326946258545],["▁isolation",-12.22337818145752],["▁overhead",-12.22338581085205],["▁wondered",-12.223508834838867],["essai",-12.223609924316406],["aves",-12.2236328125],["▁Shore",-12.223637580871582],["▁INC",-12.223709106445312],["rufen",-12.223980903625488],["▁magnifique",-12.224069595336914],["▁intéressant",-12.224072456359863],["▁tanks",-12.224075317382812],["▁Tun",-12.224367141723633],["▁approaching",-12.224390029907227],["▁relay",-12.224479675292969],["▁Küche",-12.224529266357422],["describing",-12.224587440490723],["▁Certification",-12.224588394165039],["▁Breakfast",-12.224597930908203],["▁Frame",-12.224891662597656],["▁Stoff",-12.224909782409668],["▁victime",-12.224924087524414],["Observ",-12.224943161010742],["▁gutter",-12.224989891052246],["standard",-12.225220680236816],["▁Sci",-12.225244522094727],["▁sept",-12.225377082824707],["▁Potter",-12.225423812866211],["letter",-12.22577953338623],["▁tobacco",-12.225852012634277],["▁threatened",-12.22591781616211],["MW",-12.225936889648438],["▁Cher",-12.225944519042969],["0.1",-12.225957870483398],["mitted",-12.22596263885498],["zustellen",-12.225967407226562],["dominated",-12.226165771484375],["/16",-12.22623348236084],["POS",-12.226317405700684],["▁Zin",-12.226373672485352],["▁Okay",-12.226381301879883],["▁projected",-12.226405143737793],["▁selber",-12.226548194885254],["▁proiectului",-12.2266206741333],["▁Shell",-12.226683616638184],["▁cartridge",-12.226706504821777],["Message",-12.2267484664917],["haben",-12.226799964904785],["▁slides",-12.226829528808594],["▁gleichzeitig",-12.226886749267578],["▁Racing",-12.227051734924316],["▁20,",-12.227070808410645],["▁separat",-12.227094650268555],["▁repeatedly",-12.227110862731934],["▁casting",-12.22728157043457],["▁sacred",-12.227283477783203],["verfahren",-12.227387428283691],["▁echilibr",-12.227514266967773],["▁rebel",-12.2277250289917],["säu",-12.227794647216797],["ummy",-12.227815628051758],["▁backing",-12.227889060974121],["▁sponsors",-12.227912902832031],["▁Stress",-12.22802448272705],["▁Rules",-12.228083610534668],["▁render",-12.228241920471191],["▁funktioniert",-12.228384971618652],["▁Pearl",-12.228472709655762],["▁Scho",-12.228527069091797],["schwer",-12.228595733642578],["▁descoperit",-12.228702545166016],["holen",-12.228720664978027],["imposed",-12.228960990905762],["▁appearing",-12.228968620300293],["▁höher",-12.229082107543945],["▁Victorian",-12.229111671447754],["▁founding",-12.229155540466309],["▁Polish",-12.229239463806152],["▁anume",-12.229248046875],["Box",-12.229488372802734],["▁intrat",-12.229598999023438],["▁Inspiration",-12.229610443115234],["▁Canyon",-12.229625701904297],["▁Franklin",-12.22974681854248],["▁susceptible",-12.22982120513916],["trap",-12.229839324951172],["▁Roma",-12.23000717163086],["▁ethics",-12.230009078979492],["▁Privat",-12.230027198791504],["▁journalists",-12.230090141296387],["▁Universität",-12.230246543884277],["▁conditioner",-12.230308532714844],["folge",-12.230327606201172],["kirche",-12.230416297912598],["gehalten",-12.230530738830566],["midi",-12.230570793151855],["▁radar",-12.230619430541992],["▁Yard",-12.230775833129883],["▁professionnelle",-12.230863571166992],["▁Orchestra",-12.230870246887207],["▁immigrants",-12.230870246887207],["▁refined",-12.230929374694824],["▁Bishop",-12.231036186218262],["string",-12.231095314025879],["▁majoritatea",-12.231231689453125],["▁workflow",-12.23123836517334],["▁întreg",-12.231306076049805],["went",-12.231563568115234],["▁trat",-12.231689453125],["felul",-12.23176383972168],["▁hardwood",-12.231821060180664],["▁Task",-12.231867790222168],["branded",-12.231921195983887],["▁cinq",-12.231966018676758],["▁curb",-12.232041358947754],["▁Discount",-12.232043266296387],["▁Episode",-12.232131958007812],["▁Knowledge",-12.232144355773926],["▁tricky",-12.232173919677734],["▁characteristic",-12.232233047485352],["▁plata",-12.23226261138916],["▁Labour",-12.23232650756836],["▁Tha",-12.232372283935547],["▁Liefer",-12.232430458068848],["▁Reader",-12.232471466064453],["▁Linda",-12.232521057128906],["ittlerweile",-12.232552528381348],["defining",-12.232564926147461],["▁delayed",-12.232635498046875],["▁Bewertung",-12.232674598693848],["▁Unique",-12.232791900634766],["▁Champion",-12.232866287231445],["2008",-12.232897758483887],["▁conclu",-12.232934951782227],["▁câștig",-12.2329740524292],["▁scheduling",-12.2329740524292],["▁sailing",-12.233116149902344],["▁Storm",-12.23318862915039],["▁Stil",-12.23320198059082],["▁Album",-12.233211517333984],["▁ultime",-12.233343124389648],["url",-12.233369827270508],["▁terrific",-12.23339557647705],["▁remedy",-12.233396530151367],["▁Around",-12.233592987060547],["▁Kni",-12.233756065368652],["etty",-12.23376750946045],["Managing",-12.233809471130371],["▁Bedeutung",-12.233816146850586],["▁earthquake",-12.233817100524902],["▁Telefon",-12.233818054199219],["▁Upper",-12.233869552612305],["▁validation",-12.233892440795898],["-22",-12.233997344970703],["▁queue",-12.23401165008545],["tinde",-12.234025001525879],["built",-12.234047889709473],["▁voix",-12.234125137329102],["▁Resource",-12.234126091003418],["ţiuni",-12.234143257141113],["▁satisfying",-12.234299659729004],["▁Kohl",-12.234441757202148],["▁Materials",-12.234618186950684],["▁esp",-12.234732627868652],["enseignement",-12.234773635864258],["danach",-12.234883308410645],["peux",-12.234932899475098],["▁deployed",-12.235113143920898],["▁1976",-12.235126495361328],["ușor",-12.235334396362305],["élection",-12.235380172729492],["ettes",-12.235437393188477],["▁Madison",-12.235506057739258],["108",-12.235685348510742],["berger",-12.235696792602539],["▁pedal",-12.235702514648438],["▁quasi",-12.235820770263672],["▁lend",-12.235843658447266],["VER",-12.235940933227539],["▁chapters",-12.236002922058105],["▁idei",-12.23600959777832],["Deine",-12.236034393310547],["▁endure",-12.236092567443848],["▁Studios",-12.236259460449219],["structure",-12.236274719238281],["▁puiss",-12.236370086669922],["▁Morning",-12.236443519592285],["guide",-12.236462593078613],["▁Wave",-12.236617088317871],["▁banque",-12.236879348754883],["änd",-12.236912727355957],["oubli",-12.237070083618164],["▁mixer",-12.237125396728516],["▁remedi",-12.237210273742676],["▁scop",-12.237421989440918],["▁Rosen",-12.237561225891113],["▁spital",-12.23773193359375],["blau",-12.237811088562012],["▁financiar",-12.237865447998047],["avour",-12.237871170043945],["Def",-12.238025665283203],["▁socket",-12.238076210021973],["▁occurring",-12.238360404968262],["▁munci",-12.238368034362793],["▁realiza",-12.238426208496094],["▁beating",-12.2384614944458],["▁Phillip",-12.238490104675293],["▁courant",-12.238509178161621],["Auto",-12.238608360290527],["▁Lager",-12.238685607910156],["▁folos",-12.238696098327637],["▁moyens",-12.238770484924316],["▁Ec",-12.238780975341797],["▁Strip",-12.238788604736328],["sparen",-12.238848686218262],["▁Nintendo",-12.238886833190918],["▁Murphy",-12.238912582397461],["▁flux",-12.239034652709961],["▁mots",-12.239034652709961],["▁rechts",-12.239045143127441],["▁cardio",-12.239142417907715],["avoiding",-12.239343643188477],["érer",-12.239453315734863],["hiel",-12.239461898803711],["▁rezistent",-12.239521980285645],["close",-12.23954963684082],["hésitez",-12.239596366882324],["Hz",-12.239631652832031],["▁elaborate",-12.239689826965332],["▁permanently",-12.239709854125977],["▁Pittsburgh",-12.239734649658203],["▁counties",-12.239819526672363],["▁bookmark",-12.239919662475586],["▁Label",-12.239965438842773],["▁Freude",-12.239974021911621],["▁preferat",-12.239986419677734],["▁Mein",-12.239995002746582],["▁Crew",-12.240218162536621],["▁clips",-12.240253448486328],["8,000",-12.240263938903809],["▁recognise",-12.240311622619629],["ință",-12.240365028381348],["▁prieteni",-12.240447044372559],["Heute",-12.240522384643555],["ancienne",-12.240534782409668],["▁annoying",-12.240583419799805],["▁awful",-12.240704536437988],["▁Comments",-12.240774154663086],["▁musician",-12.240830421447754],["▁Elite",-12.241023063659668],["▁patri",-12.241024017333984],["▁Coupon",-12.241037368774414],["▁Farbe",-12.241097450256348],["▁contribui",-12.241110801696777],["hari",-12.241294860839844],["▁activitati",-12.24161148071289],["▁Traum",-12.2416410446167],["1.8",-12.24170207977295],["▁Healthcare",-12.24172306060791],["▁refresh",-12.241943359375],["▁Maha",-12.242060661315918],["▁dép",-12.242082595825195],["▁Studien",-12.242314338684082],["▁spectacol",-12.242378234863281],["impro",-12.24254035949707],["▁commentaire",-12.242544174194336],["ported",-12.242570877075195],["▁reclam",-12.242612838745117],["▁Verkauf",-12.242634773254395],["▁newspapers",-12.242661476135254],["▁iubit",-12.242838859558105],["▁Kenne",-12.242844581604004],["▁Consultant",-12.242958068847656],["▁stau",-12.242986679077148],["TON",-12.243057250976562],["▁Fehler",-12.243070602416992],["▁lettre",-12.243167877197266],["▁investigator",-12.243172645568848],["▁quantities",-12.243184089660645],["ogram",-12.243208885192871],["avaient",-12.24323844909668],["▁reducere",-12.243265151977539],["Lite",-12.243402481079102],["kurs",-12.243443489074707],["pré",-12.24383544921875],["pap",-12.243898391723633],["▁Männer",-12.243983268737793],["▁gauche",-12.244022369384766],["▁ähnlich",-12.244027137756348],["▁sunlight",-12.244063377380371],["▁rester",-12.24422550201416],["jumped",-12.244586944580078],["▁exclusiv",-12.24463176727295],["▁electoral",-12.244640350341797],["▁Portal",-12.244650840759277],["ulent",-12.244688987731934],["▁sonst",-12.24474048614502],["entraîne",-12.24483585357666],["▁repas",-12.244837760925293],["▁redus",-12.244858741760254],["aku",-12.244866371154785],["▁Graphic",-12.245251655578613],["▁geringe",-12.24539566040039],["plätze",-12.245474815368652],["Trebuie",-12.245479583740234],["▁rezultate",-12.245479583740234],["▁configure",-12.245683670043945],["▁PV",-12.245834350585938],["▁insect",-12.246109962463379],["▁Reviews",-12.246129035949707],["releasing",-12.246186256408691],["▁appliance",-12.246246337890625],["▁oferte",-12.246482849121094],["▁WILL",-12.246484756469727],["rion",-12.246499061584473],["▁Cole",-12.246582984924316],["▁1975",-12.246650695800781],["Admin",-12.24677848815918],["▁parade",-12.246800422668457],["▁mélange",-12.24692153930664],["▁shortage",-12.247007369995117],["▁Measure",-12.247400283813477],["anchmal",-12.24742603302002],["▁transfers",-12.247432708740234],["▁sistemului",-12.247573852539062],["▁deschide",-12.247819900512695],["▁Künstler",-12.247821807861328],["▁Plain",-12.247848510742188],["▁messaging",-12.247855186462402],["▁metabolism",-12.247879981994629],["fill",-12.248031616210938],["▁Bomb",-12.24814224243164],["usine",-12.248208045959473],["▁restart",-12.248233795166016],["▁Discussion",-12.248336791992188],["smith",-12.248472213745117],["▁Bh",-12.248607635498047],["▁sap",-12.248689651489258],["Moo",-12.248714447021484],["▁indirect",-12.248785972595215],["▁eingesetzt",-12.248863220214844],["▁Hip",-12.248870849609375],["▁iulie",-12.249113082885742],["▁atac",-12.249201774597168],["▁passport",-12.2492036819458],["▁Egyptian",-12.249290466308594],["▁soluți",-12.249349594116211],["▁cakes",-12.249356269836426],["▁Fellow",-12.24949836730957],["▁collision",-12.249533653259277],["▁abundant",-12.249961853027344],["▁Wonder",-12.24997329711914],["▁theories",-12.249991416931152],["landed",-12.250046730041504],["▁meantime",-12.2500638961792],["schlüsse",-12.25022029876709],["▁helicopter",-12.25039005279541],["Voici",-12.250479698181152],["▁Honey",-12.25049877166748],["▁deleted",-12.250511169433594],["▁Projekte",-12.250523567199707],["▁gasi",-12.2506742477417],["applique",-12.25068473815918],["TAL",-12.250699043273926],["notch",-12.250699996948242],["▁Response",-12.250818252563477],["▁deveni",-12.250818252563477],["▁regulate",-12.250829696655273],["▁vegetarian",-12.25083065032959],["▁Pastor",-12.250880241394043],["▁Strong",-12.250940322875977],["▁élèves",-12.251055717468262],["▁alimente",-12.25113582611084],["graphy",-12.251181602478027],["▁spirits",-12.251266479492188],["▁Cau",-12.251282691955566],["determin",-12.251304626464844],["arilor",-12.251382827758789],["▁masura",-12.251470565795898],["RAN",-12.251500129699707],["marked",-12.251564979553223],["cuba",-12.251602172851562],["omni",-12.251609802246094],["▁detox",-12.251662254333496],["▁quartz",-12.251741409301758],["▁Bug",-12.25177001953125],["▁Sugar",-12.25185775756836],["▁opponents",-12.25197982788086],["▁solved",-12.25207805633545],["semn",-12.252257347106934],["▁Prepare",-12.252558708190918],["ffel",-12.252586364746094],["▁Highlight",-12.252608299255371],["▁curent",-12.252618789672852],["▁praktisch",-12.252626419067383],["▁lending",-12.252676963806152],["▁minority",-12.252752304077148],["Free",-12.252970695495605],["business",-12.252997398376465],["▁outlook",-12.253097534179688],["▁assessments",-12.253168106079102],["▁Brother",-12.253266334533691],["▁partager",-12.25326919555664],["▁Brun",-12.25329303741455],["▁pedestrian",-12.25339412689209],["anța",-12.253413200378418],["▁recycled",-12.253457069396973],["▁quicker",-12.253626823425293],["▁lamps",-12.253683090209961],["▁nationally",-12.253813743591309],["▁Supplier",-12.253823280334473],["ograph",-12.253936767578125],["engage",-12.253981590270996],["▁Marg",-12.254131317138672],["▁aplicare",-12.254181861877441],["▁scared",-12.254194259643555],["▁accredited",-12.254255294799805],["▁outils",-12.25436019897461],["▁bâtiment",-12.254446029663086],["▁existed",-12.254586219787598],["gegangen",-12.254619598388672],["▁elevation",-12.25463581085205],["▁Tradition",-12.254670143127441],["▁Gericht",-12.254677772521973],["hub",-12.254680633544922],["strahl",-12.25473690032959],["build",-12.254796981811523],["▁Customers",-12.25487232208252],["klasse",-12.254890441894531],["▁pierre",-12.254895210266113],["(2)",-12.255006790161133],["Life",-12.255125999450684],["▁bachelor",-12.25513744354248],["▁quad",-12.255195617675781],["▁dispozitiv",-12.25523567199707],["106",-12.255266189575195],["▁suburb",-12.255495071411133],["▁1977",-12.255586624145508],["▁Alzheimer",-12.255973815917969],["▁spicy",-12.255988121032715],["▁spreading",-12.256002426147461],["nötigen",-12.256078720092773],["▁novels",-12.256104469299316],["▁responsabilité",-12.256141662597656],["▁Bud",-12.256332397460938],["▁desirable",-12.256407737731934],["TOR",-12.256444931030273],["five",-12.256547927856445],["▁Firmen",-12.256860733032227],["oeuvre",-12.257075309753418],["grass",-12.257233619689941],["▁practically",-12.257277488708496],["▁runners",-12.257281303405762],["▁mothers",-12.257341384887695],["Shop",-12.257345199584961],["▁Chicken",-12.257408142089844],["▁License",-12.257593154907227],["▁Bach",-12.25765323638916],["earliest",-12.257729530334473],["▁replica",-12.25774097442627],["▁haunt",-12.257833480834961],["▁materi",-12.257854461669922],["▁Finland",-12.257893562316895],["▁europene",-12.257919311523438],["abilă",-12.257944107055664],["cati",-12.258007049560547],["▁cholesterol",-12.258132934570312],["...).",-12.258151054382324],["cardi",-12.25838565826416],["▁(12",-12.258387565612793],["analyzed",-12.258506774902344],["▁respondents",-12.258591651916504],["▁höchste",-12.258646011352539],["▁Kern",-12.258647918701172],["▁knapp",-12.258781433105469],["▁Someone",-12.258955001831055],["▁équipé",-12.258997917175293],["credited",-12.259106636047363],["▁numar",-12.259163856506348],["▁Ace",-12.259185791015625],["zentrum",-12.2592191696167],["nehmer",-12.259270668029785],["arrivée",-12.259282112121582],["ELE",-12.259291648864746],["clean",-12.259418487548828],["Boost",-12.259538650512695],["call",-12.259575843811035],["▁Polizei",-12.259659767150879],["▁Januar",-12.259663581848145],["▁Tile",-12.259681701660156],["▁traduc",-12.259744644165039],["▁promptly",-12.259773254394531],["limit",-12.259809494018555],["▁recharge",-12.2598237991333],["▁wipe",-12.259862899780273],["▁Norway",-12.26001262664795],["▁Municipal",-12.260077476501465],["▁medieval",-12.260117530822754],["▁Treat",-12.26021671295166],["Orient",-12.260283470153809],["▁Stewart",-12.260294914245605],["▁lol",-12.26039981842041],["appartement",-12.260522842407227],["▁payer",-12.260655403137207],["▁splash",-12.260723114013672],["doubtedly",-12.260726928710938],["dry",-12.260846138000488],["▁Forex",-12.260939598083496],["▁Edinburgh",-12.260943412780762],["▁Traditional",-12.261032104492188],["▁1968",-12.261134147644043],["▁glow",-12.261248588562012],["Alternatively",-12.261265754699707],["▁partly",-12.261354446411133],["égi",-12.261401176452637],["▁Prices",-12.261640548706055],["haupt",-12.261651992797852],["▁sentences",-12.261711120605469],["ouvre",-12.261735916137695],["▁Liter",-12.261746406555176],["▁Important",-12.2620267868042],["▁Collins",-12.262077331542969],["▁reproduce",-12.262106895446777],["▁selten",-12.262124061584473],["▁Mitte",-12.262170791625977],["OA",-12.262174606323242],["▁Sister",-12.262358665466309],["▁responding",-12.262385368347168],["▁ballot",-12.262455940246582],["▁Nutrition",-12.262460708618164],["occurrence",-12.26246452331543],["Atunci",-12.262604713439941],["▁hockey",-12.262680053710938],["▁undertaking",-12.262697219848633],["▁educators",-12.262885093688965],["▁Swedish",-12.262893676757812],["▁Recovery",-12.262894630432129],["▁circum",-12.262910842895508],["▁chains",-12.263084411621094],["▁genug",-12.263113021850586],["▁Pil",-12.263227462768555],["▁farms",-12.263265609741211],["▁simplicity",-12.263336181640625],["-21",-12.263399124145508],["▁partition",-12.263493537902832],["▁Relations",-12.26360034942627],["zentrale",-12.263794898986816],["lapse",-12.263855934143066],["▁toast",-12.263862609863281],["▁citi",-12.263946533203125],["▁longtemps",-12.263984680175781],["maj",-12.264448165893555],["▁Cin",-12.264483451843262],["zeichen",-12.264504432678223],["▁Zoo",-12.264567375183105],["▁frisch",-12.264570236206055],["▁permettra",-12.264595031738281],["▁Liberty",-12.264642715454102],["▁playground",-12.264873504638672],["▁Mate",-12.265031814575195],["▁evolving",-12.265066146850586],["national",-12.265207290649414],["▁signifie",-12.265279769897461],["▁Related",-12.265292167663574],["NES",-12.265337944030762],["euil",-12.265473365783691],["▁struggles",-12.265542030334473],["▁instinct",-12.265628814697266],["arbre",-12.26608943939209],["▁commands",-12.266222953796387],["▁frumoase",-12.26637077331543],["▁watches",-12.266779899597168],["NM",-12.266804695129395],["▁influential",-12.266807556152344],["▁gewesen",-12.266901969909668],["▁Pictures",-12.267224311828613],["▁HVAC",-12.267242431640625],["▁skate",-12.26732063293457],["▁Robot",-12.267327308654785],["▁Boys",-12.267404556274414],["▁Mutter",-12.267425537109375],["▁marques",-12.267539024353027],["utiliser",-12.267793655395508],["▁amazed",-12.267799377441406],["ächtig",-12.26783275604248],["▁Success",-12.267870903015137],["gramm",-12.267956733703613],["▁1972",-12.267956733703613],["▁marina",-12.268269538879395],["▁lou",-12.268321990966797],["▁précis",-12.268380165100098],["ographic",-12.268482208251953],["people",-12.26848316192627],["fahr",-12.268547058105469],["▁Contemporary",-12.268550872802734],["▁frustrating",-12.26858139038086],["chide",-12.268704414367676],["1.5",-12.268807411193848],["▁ankle",-12.268850326538086],["▁proximity",-12.268986701965332],["▁Leute",-12.269006729125977],["UA",-12.269031524658203],["union",-12.269131660461426],["▁recovered",-12.269133567810059],["▁sword",-12.269216537475586],["▁Mut",-12.26923942565918],["▁Rin",-12.269360542297363],["▁lectures",-12.26942253112793],["▁licensing",-12.269423484802246],["MAC",-12.269498825073242],["▁commute",-12.269776344299316],["Acesta",-12.269858360290527],["▁Koch",-12.270088195800781],["▁depozit",-12.270119667053223],["▁erstmal",-12.270163536071777],["arhi",-12.270271301269531],["▁Normal",-12.270462036132812],["EZ",-12.270464897155762],["ărilor",-12.270986557006836],["▁favoris",-12.271041870117188],["▁$9",-12.271050453186035],["▁Lawrence",-12.271172523498535],["▁fixing",-12.271200180053711],["▁researching",-12.271288871765137],["▁Pant",-12.271467208862305],["▁candid",-12.271490097045898],["▁Arkansas",-12.27160930633545],["▁bitcoin",-12.271612167358398],["ва",-12.271645545959473],["▁Finger",-12.271692276000977],["▁SRL",-12.271718978881836],["Arg",-12.271797180175781],["trade",-12.271903991699219],["▁extraction",-12.271941184997559],["▁footprint",-12.2720308303833],["▁folosite",-12.272085189819336],["▁Flex",-12.272184371948242],["▁dys",-12.272294998168945],["▁Wright",-12.272343635559082],["▁multitude",-12.272378921508789],["▁Chu",-12.272494316101074],["▁Jerry",-12.27249526977539],["▁notebook",-12.272722244262695],["▁SIM",-12.272932052612305],["dietary",-12.272963523864746],["▁polished",-12.272984504699707],["▁carriers",-12.272993087768555],["▁cardiac",-12.27299976348877],["▁burned",-12.273038864135742],["▁sealed",-12.273062705993652],["▁pumps",-12.273224830627441],["▁consumed",-12.273233413696289],["▁Teaching",-12.273446083068848],["▁daughters",-12.27348518371582],["serviciile",-12.273600578308105],["▁Teams",-12.273690223693848],["▁avoided",-12.273903846740723],["▁compagnie",-12.274019241333008],["▁mașin",-12.274024963378906],["▁Sean",-12.27418041229248],["▁arunc",-12.274208068847656],["kräfte",-12.274238586425781],["vani",-12.274255752563477],["Metall",-12.27437973022461],["2009",-12.274449348449707],["moi",-12.274688720703125],["▁THAT",-12.274700164794922],["▁Ny",-12.274809837341309],["▁countertops",-12.274860382080078],["Pod",-12.274938583374023],["amente",-12.274943351745605],["▁offshore",-12.275001525878906],["luti",-12.275087356567383],["parked",-12.275160789489746],["ajout",-12.275247573852539],["Shirt",-12.275328636169434],["▁3/4",-12.275389671325684],["▁gratuite",-12.27543830871582],["mètres",-12.27557373046875],["▁Wish",-12.2755765914917],["▁holistic",-12.27558422088623],["gren",-12.275607109069824],["compiled",-12.275660514831543],["▁innocent",-12.275779724121094],["▁sorte",-12.275787353515625],["▁insulin",-12.275792121887207],["▁Academic",-12.275996208190918],["▁acrylic",-12.27600383758545],["▁hinzu",-12.27616024017334],["▁compression",-12.27619457244873],["▁viral",-12.276220321655273],["▁stereo",-12.2764892578125],["▁Concept",-12.276542663574219],["▁Margaret",-12.276659965515137],["▁consolidation",-12.276875495910645],["Figure",-12.277058601379395],["zzo",-12.277061462402344],["▁Egg",-12.277098655700684],["weiterhin",-12.277213096618652],["▁Vista",-12.277252197265625],["▁necessity",-12.277316093444824],["▁kayak",-12.277490615844727],["▁consensus",-12.277535438537598],["▁Katz",-12.277602195739746],["▁Warren",-12.277640342712402],["▁custody",-12.277755737304688],["++",-12.277759552001953],["▁paiement",-12.277782440185547],["▁foul",-12.277878761291504],["Chaque",-12.277934074401855],["▁Syrian",-12.277998924255371],["▁photographers",-12.278056144714355],["▁dismiss",-12.278270721435547],["▁Gaz",-12.278526306152344],["▁développer",-12.278529167175293],["▁Dakota",-12.27863883972168],["▁cardiovascular",-12.278642654418945],["▁tattoo",-12.278858184814453],["▁Lighting",-12.278918266296387],["▁nowhere",-12.278940200805664],["vada",-12.27895450592041],["▁Favor",-12.279084205627441],["ruled",-12.2791748046875],["▁Dating",-12.2793550491333],["gain",-12.279963493347168],["rism",-12.28016471862793],["coloured",-12.280169486999512],["▁refugees",-12.280184745788574],["▁Schm",-12.2803955078125],["▁happily",-12.280402183532715],["▁specification",-12.280607223510742],["WM",-12.280736923217773],["▁intro",-12.280823707580566],["rack",-12.28097915649414],["characterized",-12.28107738494873],["▁externe",-12.281136512756348],["▁arrives",-12.28114128112793],["WO",-12.281181335449219],["bericht",-12.281233787536621],["▁delays",-12.281242370605469],["▁Flight",-12.281256675720215],["1-3",-12.281524658203125],["▁Singh",-12.281548500061035],["▁shifting",-12.281651496887207],["▁dashboard",-12.281729698181152],["▁lieux",-12.281781196594238],["▁validate",-12.281901359558105],["▁uniquement",-12.281963348388672],["clip",-12.28199291229248],["cov",-12.282132148742676],["▁tendance",-12.282215118408203],["èle",-12.282258033752441],["▁incepe",-12.282261848449707],["▁chunk",-12.282585144042969],["▁Nr",-12.28266716003418],["▁Montana",-12.282674789428711],["▁sticks",-12.28277587890625],["▁caps",-12.28309154510498],["▁Jimmy",-12.283167839050293],["▁Levi",-12.283285140991211],["▁cables",-12.28345012664795],["▁SB",-12.283550262451172],["▁thème",-12.2836275100708],["ADA",-12.283672332763672],["▁garant",-12.283686637878418],["▁Joint",-12.283820152282715],["▁partage",-12.28398323059082],["schreib",-12.284119606018066],["ether",-12.28420352935791],["▁Klima",-12.284303665161133],["▁medicines",-12.284317016601562],["▁pH",-12.284320831298828],["Architect",-12.284378051757812],["știi",-12.284396171569824],["▁retrouve",-12.284700393676758],["▁posture",-12.284753799438477],["Feature",-12.284773826599121],["▁drying",-12.284884452819824],["trifft",-12.28488826751709],["ibi",-12.285079002380371],["▁rezerv",-12.285116195678711],["▁Vă",-12.28518009185791],["▁Speaker",-12.285282135009766],["▁illustration",-12.285319328308105],["oooo",-12.285419464111328],["▁initiated",-12.285518646240234],["PK",-12.285545349121094],["▁algorithms",-12.285630226135254],["▁zice",-12.285757064819336],["WI",-12.28581428527832],["urgence",-12.285823822021484],["▁bloggers",-12.285887718200684],["▁realitate",-12.285894393920898],["eks",-12.28598690032959],["▁cushions",-12.286149024963379],["▁Kri",-12.286224365234375],["▁réalisation",-12.286396026611328],["▁Photoshop",-12.286407470703125],["cret",-12.286462783813477],["faire",-12.286613464355469],["▁Cei",-12.286782264709473],["ICO",-12.286789894104004],["Contin",-12.28681755065918],["▁Builder",-12.286916732788086],["look",-12.28698444366455],["▁tenants",-12.287023544311523],["▁gloves",-12.287113189697266],["Day",-12.287169456481934],["firmly",-12.28725814819336],["CIA",-12.287352561950684],["▁TVA",-12.28741455078125],["▁notifications",-12.287446975708008],["▁Higher",-12.287459373474121],["▁Weihnachts",-12.287491798400879],["▁blur",-12.287755012512207],["ов",-12.288087844848633],["feder",-12.288159370422363],["▁explosion",-12.288171768188477],["▁Fenster",-12.288189888000488],["▁junge",-12.288225173950195],["▁Highland",-12.288230895996094],["▁Lü",-12.288290023803711],["▁Alba",-12.28832721710205],["▁Dort",-12.288338661193848],["▁recruiting",-12.28835391998291],["▁Multiple",-12.288549423217773],["▁animated",-12.288604736328125],["▁Virgin",-12.288637161254883],["1000",-12.288676261901855],["▁resin",-12.288700103759766],["▁matrix",-12.288826942443848],["irri",-12.289011001586914],["▁chiffre",-12.28904914855957],["▁Corps",-12.289252281188965],["▁advocacy",-12.28927230834961],["▁pozitiv",-12.289274215698242],["▁pouss",-12.289451599121094],["événement",-12.28950309753418],["▁pielii",-12.289717674255371],["onnais",-12.289750099182129],["▁Statement",-12.289754867553711],["crimin",-12.289868354797363],["hidrat",-12.289942741394043],["▁Jugendliche",-12.290057182312012],["TRI",-12.290223121643066],["erra",-12.290240287780762],["chat",-12.290321350097656],["▁traits",-12.290359497070312],["▁incentives",-12.29038143157959],["▁accelerate",-12.290568351745605],["woven",-12.290633201599121],["UST",-12.290688514709473],["▁premiers",-12.290717124938965],["▁Ferien",-12.290755271911621],["▁mariage",-12.290796279907227],["▁financially",-12.290801048278809],["gesellschaft",-12.290863037109375],["▁situaţi",-12.290865898132324],["▁quoted",-12.291373252868652],["▁periodic",-12.291421890258789],["▁chaos",-12.291543960571289],["▁remodel",-12.29159927368164],["▁Contractor",-12.291641235351562],["▁recuper",-12.291729927062988],["▁driveway",-12.291755676269531],["▁entertain",-12.291765213012695],["▁condus",-12.291769027709961],["▁chefs",-12.29184341430664],["pak",-12.291866302490234],["▁possède",-12.291948318481445],["▁outreach",-12.291984558105469],["▁navig",-12.292036056518555],["▁renewal",-12.292071342468262],["▁Rice",-12.292309761047363],["▁Czech",-12.292398452758789],["▁entstehen",-12.292445182800293],["▁droite",-12.292448997497559],["▁Investor",-12.292497634887695],["▁Soci",-12.29250431060791],["▁scalp",-12.292622566223145],["▁politiques",-12.292815208435059],["▁plaintiff",-12.292841911315918],["extending",-12.29287052154541],["▁paperwork",-12.29300594329834],["vizi",-12.293142318725586],["assisting",-12.29317569732666],["local",-12.293272972106934],["▁Wear",-12.293323516845703],["▁descend",-12.293340682983398],["▁Wikipedia",-12.293513298034668],["▁Consiliului",-12.293516159057617],["▁Nokia",-12.293540000915527],["▁facult",-12.293560028076172],["▁altogether",-12.293851852416992],["▁rankings",-12.29391860961914],["▁downloading",-12.293953895568848],["QU",-12.294007301330566],["▁Olive",-12.294041633605957],["▁backdrop",-12.294110298156738],["▁recomandat",-12.294116020202637],["▁Faculty",-12.294184684753418],["ANS",-12.294220924377441],["▁fracture",-12.294225692749023],["job",-12.29448127746582],["▁anticipate",-12.294525146484375],["▁drift",-12.294543266296387],["▁Marco",-12.294632911682129],["▁witnessed",-12.294700622558594],["▁comprend",-12.294974327087402],["▁bulb",-12.29504680633545],["▁shallow",-12.295059204101562],["stärke",-12.295063972473145],["▁Jessica",-12.295080184936523],["▁démarche",-12.29508113861084],["▁traditionally",-12.29508113861084],["Deputy",-12.295093536376953],["▁rivers",-12.295260429382324],["▁livraison",-12.29531192779541],["▁lacking",-12.295421600341797],["▁remodeling",-12.295426368713379],["▁acesteia",-12.295514106750488],["▁grosse",-12.295669555664062],["▁propus",-12.295833587646484],["lessly",-12.29587459564209],["▁Kredit",-12.295931816101074],["reputable",-12.295981407165527],["▁Sell",-12.2960205078125],["▁Crime",-12.296111106872559],["Ent",-12.296310424804688],["finity",-12.296422004699707],["▁Complex",-12.296500205993652],["easing",-12.296638488769531],["dynamic",-12.296670913696289],["▁eaten",-12.296727180480957],["gezogen",-12.296734809875488],["▁2004,",-12.296774864196777],["▁Muslims",-12.296822547912598],["▁Sprache",-12.296883583068848],["▁Truth",-12.296927452087402],["▁guarantees",-12.296928405761719],["/5",-12.29712963104248],["”).",-12.297135353088379],["▁Medium",-12.2972993850708],["▁décidé",-12.297445297241211],["▁balcony",-12.29747200012207],["leuchte",-12.297502517700195],["hik",-12.297849655151367],["▁Agriculture",-12.298221588134766],["▁securities",-12.298221588134766],["Probably",-12.298224449157715],["▁macar",-12.29824161529541],["▁Signal",-12.298399925231934],["lake",-12.298677444458008],["▁compétences",-12.298726081848145],["▁proprietary",-12.298812866210938],["allons",-12.298850059509277],["▁belongs",-12.298916816711426],["▁missile",-12.298958778381348],["țiune",-12.298999786376953],["▁Integration",-12.299116134643555],["▁testimony",-12.299120903015137],["▁wesentlich",-12.299142837524414],["▁donors",-12.299152374267578],["▁pivot",-12.299202919006348],["▁Uber",-12.299219131469727],["▁databases",-12.299281120300293],["▁studi",-12.299317359924316],["totdeauna",-12.299351692199707],["▁briefly",-12.299449920654297],["▁livr",-12.29952335357666],["▁CRM",-12.299581527709961],["gone",-12.299697875976562],["10)",-12.299761772155762],["▁zilele",-12.299920082092285],["Basically",-12.300008773803711],["▁medie",-12.300041198730469],["spotted",-12.30006217956543],["▁troubles",-12.30009937286377],["▁acknowledged",-12.300176620483398],["350",-12.300185203552246],["LB",-12.300273895263672],["Phy",-12.30038833618164],["natal",-12.300397872924805],["illé",-12.300445556640625],["bilder",-12.300625801086426],["▁apples",-12.300636291503906],["graphical",-12.300889015197754],["organiser",-12.301024436950684],["▁ochii",-12.301040649414062],["glas",-12.301178932189941],["CAP",-12.301180839538574],["▁Doors",-12.301331520080566],["▁Eis",-12.30156135559082],["tipuri",-12.301590919494629],["▁Worth",-12.301684379577637],["izează",-12.301719665527344],["nunț",-12.30180549621582],["▁Trip",-12.30186653137207],["ISS",-12.301976203918457],["efficient",-12.30201530456543],["Luckily",-12.302099227905273],["▁vase",-12.302133560180664],["▁gay",-12.302343368530273],["▁certificates",-12.302434921264648],["riad",-12.302549362182617],["stab",-12.302570343017578],["affiche",-12.302604675292969],["▁iPod",-12.302645683288574],["▁aștept",-12.302726745605469],["▁$500",-12.302751541137695],["▁Catherine",-12.302952766418457],["▁Circuit",-12.302957534790039],["▁ranch",-12.303045272827148],["▁consequence",-12.303118705749512],["listened",-12.303131103515625],["▁Options",-12.303187370300293],["feed",-12.30318832397461],["▁adviser",-12.303248405456543],["▁présenter",-12.30333423614502],["substant",-12.30337905883789],["▁Flag",-12.303604125976562],["▁Keith",-12.30366325378418],["▁inima",-12.303709983825684],["▁substrate",-12.30373764038086],["▁charger",-12.303803443908691],["▁reporter",-12.303844451904297],["ütz",-12.304068565368652],["▁unten",-12.30417537689209],["▁sympa",-12.304542541503906],["▁defeated",-12.304600715637207],["ändig",-12.304644584655762],["individu",-12.304747581481934],["▁Straßen",-12.304774284362793],["▁Nepal",-12.304791450500488],["million",-12.304803848266602],["▁Cake",-12.30499267578125],["▁investigations",-12.30526065826416],["▁inspector",-12.3054780960083],["▁Campbell",-12.305486679077148],["▁consommation",-12.305489540100098],["▁Ministerul",-12.305628776550293],["Advisory",-12.305749893188477],["▁Leistungs",-12.305939674377441],["▁Pull",-12.306157112121582],["▁lover",-12.306194305419922],["▁trunk",-12.306380271911621],["▁folosesc",-12.30639934539795],["pom",-12.306558609008789],["wunder",-12.306794166564941],["▁happier",-12.306801795959473],["▁embark",-12.30689525604248],["▁mediul",-12.3069486618042],["riff",-12.306973457336426],["▁copilul",-12.307039260864258],["ommage",-12.307126998901367],["rechnung",-12.307218551635742],["NU",-12.307220458984375],["▁fellowship",-12.307395935058594],["▁Mental",-12.307403564453125],["▁fever",-12.3074312210083],["▁silly",-12.307547569274902],["Object",-12.30756664276123],["NV",-12.307591438293457],["от",-12.30774974822998],["▁Strand",-12.307762145996094],["▁Exist",-12.30777359008789],["warum",-12.307832717895508],["CY",-12.307848930358887],["kä",-12.307856559753418],["!!!!!",-12.307869911193848],["▁moarte",-12.30793571472168],["▁waterfall",-12.308024406433105],["left",-12.30815601348877],["▁Nursing",-12.308225631713867],["▁invalid",-12.30826187133789],["struktur",-12.308385848999023],["Allerdings",-12.30838680267334],["étranger",-12.30838680267334],["▁prost",-12.308517456054688],["▁Parent",-12.308562278747559],["▁întreag",-12.308611869812012],["▁compensate",-12.308871269226074],["▁sometime",-12.308955192565918],["graduate",-12.308968544006348],["▁Carter",-12.30898380279541],["▁crap",-12.308998107910156],["▁mathematics",-12.309067726135254],["resemble",-12.309069633483887],["Dame",-12.309152603149414],["▁Swa",-12.309198379516602],["▁celebrity",-12.309239387512207],["▁verified",-12.309338569641113],["▁Behind",-12.309349060058594],["carbon",-12.309432983398438],["▁gateway",-12.309490203857422],["▁ambitious",-12.30952262878418],["▁Wellness",-12.30966567993164],["30,000",-12.30968189239502],["defined",-12.309929847717285],["specializes",-12.310121536254883],["▁Chase",-12.310199737548828],["HF",-12.310233116149902],["ABLE",-12.310348510742188],["▁Ehr",-12.310467720031738],["▁régime",-12.310480117797852],["▁awake",-12.310487747192383],["▁seafood",-12.310487747192383],["leading",-12.310554504394531],["▁Rule",-12.310602188110352],["verkehr",-12.310726165771484],["erem",-12.310737609863281],["▁1973",-12.310795783996582],["personal",-12.311171531677246],["ența",-12.311330795288086],["apprend",-12.311396598815918],["faisant",-12.311420440673828],["▁Sounds",-12.31151008605957],["▁Launch",-12.31151294708252],["half",-12.311636924743652],["▁verre",-12.311859130859375],["▁Regular",-12.31207275390625],["▁Nancy",-12.312142372131348],["quelles",-12.312161445617676],["▁erhält",-12.312169075012207],["▁socks",-12.3121919631958],["lamp",-12.312387466430664],["▁durchgeführt",-12.312472343444824],["▁advertise",-12.31260871887207],["powered",-12.312653541564941],["▁concur",-12.312699317932129],["▁ressources",-12.31293773651123],["▁allocation",-12.312986373901367],["chon",-12.313041687011719],["▁Larry",-12.313177108764648],["lässig",-12.313254356384277],["OLD",-12.313493728637695],["itty",-12.313599586486816],["▁immuno",-12.313645362854004],["▁(+",-12.313651084899902],["▁Essential",-12.313674926757812],["▁semaines",-12.313719749450684],["Ru",-12.31375503540039],["▁Gear",-12.313764572143555],["völlig",-12.313850402832031],["liga",-12.31391716003418],["▁Neg",-12.314082145690918],["▁gratitude",-12.31408977508545],["aventure",-12.314108848571777],["▁frustrated",-12.314115524291992],["▁retrait",-12.31422233581543],["▁statut",-12.314231872558594],["550",-12.31434440612793],["ла",-12.314428329467773],["risto",-12.314448356628418],["WAY",-12.314607620239258],["▁pigment",-12.314652442932129],["Selon",-12.314715385437012],["stil",-12.3148775100708],["▁Marin",-12.315055847167969],["ashi",-12.315085411071777],["▁contine",-12.31519889831543],["▁Economics",-12.315200805664062],["both",-12.3152437210083],["▁Dou",-12.31527328491211],["Fel",-12.315373420715332],["UNT",-12.315434455871582],["▁grandmother",-12.31548023223877],["▁domicile",-12.315678596496582],["▁buffer",-12.31574535369873],["▁fuse",-12.315815925598145],["▁dosage",-12.315821647644043],["▁Nici",-12.315839767456055],["▁worries",-12.315908432006836],["▁Rail",-12.3159818649292],["uneori",-12.315990447998047],["▁Sierra",-12.316030502319336],["▁porni",-12.316032409667969],["▁NOTE",-12.316056251525879],["▁tendency",-12.316065788269043],["Set",-12.316256523132324],["▁Hof",-12.31629753112793],["▁Ruhe",-12.316300392150879],["harm",-12.316360473632812],["▁Developer",-12.316367149353027],["suing",-12.316400527954102],["persönlichen",-12.31658935546875],["▁agréable",-12.316596031188965],["commissioned",-12.316696166992188],["▁1974",-12.31672191619873],["▁1969",-12.316758155822754],["▁regl",-12.316996574401855],["▁terror",-12.317042350769043],["▁température",-12.317051887512207],["▁Archiv",-12.31706714630127],["▁Military",-12.317140579223633],["▁König",-12.317290306091309],["▁forex",-12.31737232208252],["wiki",-12.31745719909668],["thetic",-12.317506790161133],["alaturi",-12.317974090576172],["▁montant",-12.3179931640625],["▁maladie",-12.318044662475586],["gust",-12.318151473999023],["▁demander",-12.318164825439453],["avocat",-12.318191528320312],["▁sci",-12.318192481994629],["▁Wireless",-12.318214416503906],["▁Dein",-12.318220138549805],["▁trio",-12.3183012008667],["▁Same",-12.318395614624023],["Datei",-12.318464279174805],["▁alerg",-12.318578720092773],["crowded",-12.318657875061035],["▁Punkt",-12.318853378295898],["▁sanctions",-12.318864822387695],["stating",-12.318922996520996],["▁discusse",-12.318949699401855],["▁Eigen",-12.319068908691406],["▁sănătate",-12.31911563873291],["▁correspondence",-12.319211959838867],["cred",-12.319331169128418],["VG",-12.319347381591797],["▁différence",-12.319347381591797],["▁Montreal",-12.319391250610352],["▁masini",-12.319398880004883],["iata",-12.319487571716309],["▁sampling",-12.319574356079102],["▁Gib",-12.319831848144531],["▁sheer",-12.319944381713867],["330",-12.319947242736816],["CHI",-12.319990158081055],["▁damn",-12.320030212402344],["▁Advisor",-12.320201873779297],["Typically",-12.320302963256836],["ssé",-12.320352554321289],["quart",-12.320361137390137],["chete",-12.320385932922363],["▁Puerto",-12.32049560546875],["2-1",-12.32050609588623],["NN",-12.320674896240234],["▁styling",-12.320707321166992],["rud",-12.320777893066406],["од",-12.320856094360352],["▁Hydro",-12.320941925048828],["▁Cable",-12.320961952209473],["video",-12.320974349975586],["▁Wirkung",-12.321194648742676],["▁noble",-12.321270942687988],["▁Sonder",-12.32129192352295],["mati",-12.321317672729492],["850",-12.321395874023438],["▁Richmond",-12.32143497467041],["▁niciodată",-12.321442604064941],["AO",-12.321527481079102],["▁altered",-12.321648597717285],["▁(15",-12.32168960571289],["▁Motiv",-12.322052001953125],["AKE",-12.322089195251465],["▁bestimmte",-12.322172164916992],["6.5",-12.322176933288574],["hectare",-12.322333335876465],["atorită",-12.322335243225098],["▁phases",-12.322447776794434],["▁Nova",-12.322566032409668],["ordinateur",-12.322579383850098],["▁corrupt",-12.322813034057617],["error",-12.322895050048828],["▁attacked",-12.323005676269531],["▁Kirche",-12.323019981384277],["heir",-12.323040962219238],["Das",-12.323254585266113],["▁anxious",-12.323258399963379],["▁Doc",-12.323386192321777],["▁Roth",-12.323415756225586],["▁Cine",-12.32388687133789],["▁auditor",-12.324418067932129],["▁beverage",-12.324586868286133],["▁précédent",-12.324637413024902],["▁deploy",-12.324837684631348],["▁accessibility",-12.324843406677246],["▁cage",-12.324885368347168],["▁Contra",-12.324934005737305],["Best",-12.324952125549316],["iji",-12.324972152709961],["▁père",-12.325060844421387],["▁scenic",-12.32511043548584],["synthesis",-12.325165748596191],["ßen",-12.32534408569336],["▁Videos",-12.325482368469238],["▁refus",-12.325484275817871],["stimmen",-12.3255615234375],["▁sleek",-12.325577735900879],["artige",-12.32563591003418],["mari",-12.32568359375],["▁excelent",-12.325740814208984],["▁negativ",-12.325806617736816],["▁blocking",-12.32590103149414],["spricht",-12.326001167297363],["▁discomfort",-12.32602310180664],["▁stratégie",-12.32602310180664],["▁Datenschutz",-12.326078414916992],["curg",-12.326128005981445],["▁lapte",-12.326432228088379],["▁acasă",-12.326491355895996],["▁ausschließlich",-12.32653522491455],["▁unbedingt",-12.326802253723145],["▁Linie",-12.32689380645752],["▁subscribers",-12.327019691467285],["109",-12.32702350616455],["▁Waste",-12.32712173461914],["▁Planung",-12.327231407165527],["▁visually",-12.32734489440918],["utilizarea",-12.327370643615723],["uba",-12.327381134033203],["▁fifteen",-12.327411651611328],["▁légère",-12.327411651611328],["ința",-12.327446937561035],["▁tolerance",-12.327460289001465],["▁piscine",-12.327536582946777],["▁nails",-12.327569007873535],["▁accus",-12.327693939208984],["▁coeur",-12.327773094177246],["freie",-12.327849388122559],["enţă",-12.32812213897705],["▁glucose",-12.328336715698242],["▁Jar",-12.32838249206543],["▁commencer",-12.328387260437012],["▁eliminating",-12.328414916992188],["▁mutation",-12.32844352722168],["▁afirma",-12.328444480895996],["▁Consulting",-12.328454971313477],["adia",-12.328543663024902],["zog",-12.328604698181152],["▁pielea",-12.328658103942871],["rton",-12.328706741333008],["exercice",-12.3287935256958],["namely",-12.328847885131836],["▁ajutor",-12.3289155960083],["▁markers",-12.328917503356934],["▁gardening",-12.328932762145996],["Karte",-12.329038619995117],["▁Pump",-12.329142570495605],["▁Dual",-12.329169273376465],["▁pratiques",-12.329349517822266],["▁behavioral",-12.329358100891113],["▁construire",-12.329511642456055],["▁Leonard",-12.329596519470215],["ediglich",-12.329630851745605],["ubbed",-12.3297758102417],["NK",-12.329792022705078],["shell",-12.329912185668945],["▁persönliche",-12.329996109008789],["ecuring",-12.329998970031738],["beaten",-12.33000373840332],["ALE",-12.330053329467773],["▁puppy",-12.33023452758789],["▁capac",-12.33027458190918],["▁seventh",-12.330394744873047],["▁nursery",-12.330400466918945],["▁Rum",-12.330419540405273],["▁exquisite",-12.330423355102539],["▁Legi",-12.330483436584473],["▁persist",-12.330497741699219],["bacterial",-12.330548286437988],["▁cereal",-12.330572128295898],["▁principe",-12.330693244934082],["chip",-12.330766677856445],["rush",-12.330832481384277],["▁funnel",-12.330904006958008],["▁calitatea",-12.331024169921875],["ibă",-12.33104419708252],["▁reign",-12.331086158752441],["▁congregation",-12.331120491027832],["▁obtine",-12.331270217895508],["▁découverte",-12.331286430358887],["▁gama",-12.331315040588379],["▁judec",-12.33132553100586],["Plan",-12.331351280212402],["▁gesture",-12.331539154052734],["öffentlichen",-12.331644058227539],["▁imported",-12.331693649291992],["▁rotate",-12.331747055053711],["blown",-12.331756591796875],["▁Protein",-12.331827163696289],["parfaitement",-12.331832885742188],["ondo",-12.331868171691895],["ologists",-12.331890106201172],["▁neighborhoods",-12.331989288330078],["▁Pope",-12.33202075958252],["▁museums",-12.332194328308105],["▁porter",-12.332330703735352],["▁kiss",-12.332335472106934],["pdf",-12.332354545593262],["sided",-12.332359313964844],["▁gern",-12.332395553588867],["bedingungen",-12.332496643066406],["▁Ride",-12.332582473754883],["Apoi",-12.332584381103516],["▁bestehen",-12.332603454589844],["5\"",-12.33285903930664],["bob",-12.332862854003906],["ficient",-12.33303165435791],["premise",-12.333086967468262],["▁Clip",-12.333112716674805],["▁concours",-12.333213806152344],["olar",-12.333281517028809],["▁Centr",-12.333356857299805],["outlined",-12.333429336547852],["▁observa",-12.333511352539062],["▁negotiate",-12.333537101745605],["▁Partnership",-12.33358383178711],["clock",-12.333662033081055],["roasted",-12.333755493164062],["Pourquoi",-12.33391284942627],["▁Marshall",-12.334005355834961],["▁Gerade",-12.334052085876465],["▁pachet",-12.334160804748535],["▁preliminary",-12.334162712097168],["▁tragic",-12.334200859069824],["author",-12.334268569946289],["▁Gov",-12.334309577941895],["▁comunic",-12.334403991699219],["▁coordinator",-12.334410667419434],["YA",-12.33445930480957],["▁Steam",-12.33476734161377],["▁Nag",-12.334796905517578],["▁Kara",-12.334851264953613],["▁Gang",-12.334858894348145],["aurez",-12.334868431091309],["▁horrible",-12.334869384765625],["▁Luxury",-12.335076332092285],["▁encouragement",-12.335169792175293],["▁conceptual",-12.335250854492188],["▁constituent",-12.335431098937988],["nvelop",-12.335494041442871],["ucc",-12.335500717163086],["▁conçu",-12.335542678833008],["pfel",-12.33559513092041],["special",-12.335700988769531],["▁Growth",-12.335834503173828],["cada",-12.335916519165039],["▁oamenilor",-12.335976600646973],["▁vendredi",-12.336021423339844],["▁coupe",-12.336055755615234],["▁Danke",-12.336134910583496],["reflects",-12.336181640625],["▁girlfriend",-12.336273193359375],["▁diffuse",-12.336325645446777],["HER",-12.336328506469727],["storing",-12.336464881896973],["ailing",-12.336591720581055],["▁Desi",-12.336601257324219],["stitution",-12.336832046508789],["▁adun",-12.336844444274902],["▁Partie",-12.336869239807129],["▁tissues",-12.336958885192871],["▁discovering",-12.337154388427734],["Jacques",-12.337178230285645],["lungs",-12.33724594116211],["▁Handy",-12.337261199951172],["centric",-12.337285995483398],["slav",-12.337442398071289],["▁sights",-12.337560653686523],["▁Category",-12.337644577026367],["▁Einrichtung",-12.337957382202148],["▁Robinson",-12.33804702758789],["▁Terra",-12.338150978088379],["▁creep",-12.338167190551758],["▁Lob",-12.338184356689453],["001",-12.33820629119873],["kop",-12.338208198547363],["Emb",-12.338292121887207],["▁forgive",-12.338391304016113],["▁icons",-12.33847427368164],["electric",-12.3385009765625],["▁faucet",-12.338516235351562],["▁invisible",-12.3386812210083],["sprach",-12.338801383972168],["▁beachten",-12.33881664276123],["rahm",-12.338833808898926],["▁Teacher",-12.338919639587402],["Fab",-12.339070320129395],["▁joue",-12.339101791381836],["▁Popular",-12.339120864868164],["▁Februar",-12.339171409606934],["sound",-12.339251518249512],["▁(0",-12.339317321777344],["▁Compare",-12.33938980102539],["▁pads",-12.339455604553223],["270",-12.339498519897461],["ousse",-12.339548110961914],["▁UAE",-12.339786529541016],["izări",-12.339787483215332],["▁bonuses",-12.33993911743164],["▁switches",-12.3400239944458],["▁Brothers",-12.340166091918945],["▁environmentally",-12.340171813964844],["vista",-12.340264320373535],["▁intentions",-12.3402738571167],["▁Terri",-12.340301513671875],["▁diabet",-12.34030532836914],["▁prese",-12.340333938598633],["▁parcurs",-12.340389251708984],["Warum",-12.340449333190918],["▁credentials",-12.340455055236816],["▁PLA",-12.34046459197998],["▁instruct",-12.340470314025879],["▁benefic",-12.340633392333984],["write",-12.340675354003906],["▁poids",-12.340773582458496],["▁Anspruch",-12.340923309326172],["▁avocado",-12.340923309326172],["▁inevitable",-12.340923309326172],["▁poorly",-12.340950965881348],["karte",-12.340994834899902],["▁Publishing",-12.340999603271484],["odată",-12.341140747070312],["▁scientifique",-12.341157913208008],["▁lăsa",-12.341262817382812],["▁secol",-12.34131908416748],["▁nevertheless",-12.341392517089844],["SAT",-12.341597557067871],["280",-12.341651916503906],["▁prevederi",-12.341670989990234],["▁chrome",-12.342002868652344],["institut",-12.342267036437988],["richtigen",-12.34228515625],["▁grief",-12.342338562011719],["▁penalties",-12.342373847961426],["▁Bayern",-12.34238052368164],["▁caramel",-12.342473983764648],["Now",-12.342495918273926],["Stiftung",-12.342576026916504],["country",-12.342737197875977],["dication",-12.34278678894043],["▁Chor",-12.342801094055176],["▁rămâne",-12.342936515808105],["▁TOP",-12.34300708770752],["▁complète",-12.34301471710205],["▁Marian",-12.34302806854248],["▁Avant",-12.343121528625488],["▁Shower",-12.343156814575195],["treu",-12.34316349029541],["▁chop",-12.34321403503418],["▁comfortably",-12.343220710754395],["▁autism",-12.34323787689209],["▁Sind",-12.34328556060791],["▁(20",-12.343340873718262],["▁Cinema",-12.343414306640625],["compania",-12.343606948852539],["▁Lex",-12.343622207641602],["▁Sofa",-12.343716621398926],["dru",-12.343753814697266],["▁verification",-12.343770027160645],["▁Immer",-12.343825340270996],["lomb",-12.343829154968262],["meric",-12.34385871887207],["▁slower",-12.34398365020752],["▁propag",-12.344090461730957],["Inter",-12.344097137451172],["selling",-12.34418773651123],["▁Bright",-12.344269752502441],["condition",-12.344280242919922],["PDF",-12.344291687011719],["oyez",-12.344391822814941],["▁Fried",-12.344420433044434],["▁Nazi",-12.34443187713623],["▁Buffalo",-12.344447135925293],["▁Sue",-12.344449043273926],["▁Rhein",-12.34468936920166],["▁Klaus",-12.344889640808105],["▁indiqu",-12.344963073730469],["echte",-12.344996452331543],["▁frecvent",-12.345165252685547],["▁conveniently",-12.345187187194824],["▁Moi",-12.345197677612305],["▁greenhouse",-12.345220565795898],["▁rédui",-12.34524154663086],["▁lengthy",-12.34542179107666],["verband",-12.345534324645996],["inţă",-12.345622062683105],["▁rigorous",-12.345625877380371],["▁Finish",-12.34580135345459],["▁FBI",-12.346052169799805],["cultura",-12.346083641052246],["▁compartment",-12.346110343933105],["▁pretend",-12.346117973327637],["▁assembled",-12.346212387084961],["▁Nie",-12.34639835357666],["fession",-12.34640884399414],["▁£2",-12.34642219543457],["algré",-12.3468017578125],["▁anterior",-12.346817970275879],["▁Wissenschaft",-12.34683609008789],["▁Harbor",-12.346923828125],["lix",-12.346985816955566],["=\"",-12.347049713134766],["▁breathtaking",-12.34705638885498],["▁Stern",-12.34708309173584],["▁Internetseite",-12.347132682800293],["▁locker",-12.347216606140137],["▁feather",-12.34726619720459],["Serv",-12.347297668457031],["▁snake",-12.347332000732422],["▁Border",-12.347396850585938],["▁undergo",-12.347518920898438],["▁petrol",-12.347558975219727],["▁dealership",-12.3475923538208],["▁commander",-12.347596168518066],["▁Monate",-12.347599983215332],["▁Guardian",-12.347665786743164],["▁Todd",-12.347774505615234],["Ann",-12.347825050354004],["ibilité",-12.347918510437012],["▁Quarter",-12.347987174987793],["▁portray",-12.348097801208496],["▁Tai",-12.34813404083252],["▁strikes",-12.348224639892578],["illage",-12.348381042480469],["▁IRS",-12.348417282104492],["▁lupta",-12.348455429077148],["▁Sper",-12.348493576049805],["PRO",-12.348530769348145],["▁Export",-12.348549842834473],["▁crypto",-12.348587989807129],["▁barbecue",-12.348692893981934],["▁portions",-12.348787307739258],["▁explicit",-12.348793983459473],["▁angenehm",-12.348834037780762],["▁marathon",-12.348946571350098],["▁apartament",-12.348982810974121],["▁Eva",-12.349079132080078],["plate",-12.349181175231934],["viel",-12.34925365447998],["FIN",-12.34926986694336],["dependent",-12.34935188293457],["▁cercet",-12.34942626953125],["▁midnight",-12.349499702453613],["copie",-12.349563598632812],["▁companii",-12.349621772766113],["▁tenu",-12.349660873413086],["1/2",-12.349662780761719],["2.4",-12.349693298339844],["abri",-12.349699974060059],["▁warn",-12.34980297088623],["▁luggage",-12.349875450134277],["numarul",-12.349968910217285],["▁contour",-12.350014686584473],["▁Ghost",-12.350016593933105],["Angaben",-12.35012435913086],["▁unemployment",-12.350296020507812],["▁rău",-12.350380897521973],["▁dispatch",-12.350445747375488],["investissement",-12.350547790527344],["▁passt",-12.35057258605957],["▁Germania",-12.350578308105469],["▁webpage",-12.350651741027832],["▁reservations",-12.350688934326172],["▁Kai",-12.350743293762207],["▁Cav",-12.350890159606934],["▁Patient",-12.351109504699707],["ер",-12.351213455200195],["▁Belle",-12.351236343383789],["▁Nashville",-12.351296424865723],["▁Talent",-12.351332664489746],["ouvrage",-12.351364135742188],["▁bekommt",-12.351365089416504],["USA",-12.351430892944336],["CES",-12.351432800292969],["▁Peru",-12.351499557495117],["▁erkennen",-12.35153579711914],["prinde",-12.351569175720215],["▁constitution",-12.351922035217285],["itatile",-12.351998329162598],["bah",-12.352147102355957],["▁avail",-12.352148056030273],["▁disponibile",-12.352149963378906],["hér",-12.352258682250977],["ол",-12.352411270141602],["▁startups",-12.352435111999512],["▁carton",-12.352485656738281],["▁Newsletter",-12.35251235961914],["éti",-12.352560997009277],["▁investigating",-12.352779388427734],["itul",-12.352925300598145],["touch",-12.352962493896484],["Sport",-12.353137016296387],["AME",-12.353203773498535],["MIN",-12.353222846984863],["metry",-12.353371620178223],["icy",-12.353492736816406],["▁Luna",-12.35351848602295],["▁asthma",-12.353614807128906],["▁conduc",-12.35365104675293],["▁Ari",-12.35369873046875],["trust",-12.353832244873047],["▁defines",-12.353894233703613],["▁Blend",-12.353927612304688],["azo",-12.353989601135254],["▁sweep",-12.354169845581055],["lope",-12.354331016540527],["ţinut",-12.35439682006836],["WD",-12.354503631591797],["▁appetite",-12.354619979858398],["▁Seed",-12.354753494262695],["Friend",-12.354854583740234],["▁repet",-12.354876518249512],["▁throat",-12.354936599731445],["philosoph",-12.355141639709473],["▁connaître",-12.355156898498535],["▁Counter",-12.355299949645996],["▁Anforderungen",-12.35533332824707],["▁Polit",-12.355363845825195],["▁Weather",-12.3554048538208],["bow",-12.355423927307129],["▁recreation",-12.355484008789062],["▁culinary",-12.355571746826172],["▁plage",-12.355609893798828],["▁Cruz",-12.355659484863281],["▁equip",-12.355668067932129],["▁Recent",-12.355697631835938],["LED",-12.355767250061035],["▁steak",-12.355772972106934],["▁belly",-12.355880737304688],["photo",-12.356130599975586],["▁lakes",-12.35623836517334],["▁intact",-12.356287956237793],["▁spiral",-12.356386184692383],["▁Billy",-12.356468200683594],["▁Understanding",-12.356534957885742],["▁Lay",-12.356558799743652],["▁roster",-12.356632232666016],["▁admire",-12.356647491455078],["▁android",-12.356732368469238],["▁technician",-12.356734275817871],["gène",-12.356818199157715],["motiv",-12.356954574584961],["▁Boat",-12.356988906860352],["▁genießen",-12.357000350952148],["▁Geschmack",-12.357001304626465],["▁heroes",-12.3570556640625],["▁1800",-12.357137680053711],["numeroase",-12.35776138305664],["▁anschließend",-12.357802391052246],["▁Spur",-12.357813835144043],["▁clarify",-12.35784912109375],["▁warmer",-12.357889175415039],["▁Ranch",-12.357955932617188],["▁simti",-12.358024597167969],["Thank",-12.35838508605957],["▁freight",-12.358434677124023],["▁administrators",-12.358453750610352],["Reg",-12.358588218688965],["Această",-12.358670234680176],["▁legume",-12.358741760253906],["▁utilizare",-12.358786582946777],["CON",-12.358904838562012],["urgi",-12.358917236328125],["▁Gesicht",-12.358920097351074],["▁counselor",-12.358954429626465],["▁mondiale",-12.359009742736816],["helm",-12.359137535095215],["▁Promo",-12.359156608581543],["▁Schweiz",-12.35917854309082],["Ich",-12.35929012298584],["▁intalni",-12.359295845031738],["▁Bloom",-12.359318733215332],["▁Score",-12.359362602233887],["▁Fruit",-12.35944652557373],["▁constraints",-12.359447479248047],["▁farmer",-12.359745979309082],["▁précise",-12.359807014465332],["evaluating",-12.359868049621582],["▁Period",-12.359891891479492],["byte",-12.359893798828125],["wah",-12.360025405883789],["Mac",-12.360123634338379],["iron",-12.360197067260742],["′",-12.360337257385254],["▁tehnic",-12.360539436340332],["▁legat",-12.36054515838623],["▁Pilot",-12.360574722290039],["▁Carpet",-12.36064624786377],["TEN",-12.360812187194824],["▁shareholders",-12.36082649230957],["vină",-12.360880851745605],["▁parole",-12.360939979553223],["ătă",-12.360984802246094],["bbing",-12.361000061035156],["▁switched",-12.361002922058105],["▁Petro",-12.361010551452637],["▁Vertrags",-12.36111831665039],["cham",-12.361178398132324],["wang",-12.361284255981445],["▁Bean",-12.36139965057373],["minister",-12.361442565917969],["▁Wu",-12.361522674560547],["▁Olympics",-12.361539840698242],["tipul",-12.361542701721191],["▁Citi",-12.36166763305664],["▁Fold",-12.361873626708984],["▁Partei",-12.361940383911133],["▁centrale",-12.361984252929688],["île",-12.362032890319824],["pflicht",-12.362175941467285],["heli",-12.362398147583008],["▁erwartet",-12.362414360046387],["▁oferta",-12.362458229064941],["▁NHS",-12.36246395111084],["annon",-12.362570762634277],["▁Rud",-12.362701416015625],["▁Stuttgart",-12.362737655639648],["▁rămas",-12.362746238708496],["▁eliminated",-12.36275577545166],["▁hiding",-12.362797737121582],["▁cadeau",-12.362832069396973],["▁mock",-12.363115310668945],["▁elder",-12.363333702087402],["▁Liz",-12.363364219665527],["aji",-12.363544464111328],["▁endlich",-12.363653182983398],["sufficient",-12.363668441772461],["▁zusätzliche",-12.363712310791016],["scient",-12.363757133483887],["▁Adjust",-12.363883972167969],["▁incentive",-12.363945007324219],["▁Papa",-12.364012718200684],["▁Pharma",-12.364041328430176],["▁conflicts",-12.364107131958008],["zählen",-12.364113807678223],["▁chien",-12.364118576049805],["KB",-12.36413288116455],["ultimi",-12.364188194274902],["▁Jul",-12.36421012878418],["▁Male",-12.36422061920166],["▁viewer",-12.36427116394043],["▁Sector",-12.364328384399414],["▁REAL",-12.364344596862793],["▁arbitr",-12.36436939239502],["resistant",-12.364399909973145],["▁Bristol",-12.364423751831055],["▁shy",-12.364540100097656],["SW",-12.364593505859375],["▁Kirk",-12.36460018157959],["centrul",-12.364653587341309],["▁Venezuela",-12.364657402038574],["▁communicating",-12.364657402038574],["▁Chemical",-12.364663124084473],["▁surprises",-12.364843368530273],["▁Jamie",-12.364933967590332],["▁Heavy",-12.364965438842773],["▁turnover",-12.36498737335205],["▁étudiants",-12.365114212036133],["welcher",-12.365124702453613],["▁preturi",-12.365200996398926],["▁Mono",-12.365283966064453],["▁paddle",-12.365309715270996],["▁accountability",-12.365364074707031],["OUS",-12.365592956542969],["▁marketers",-12.365762710571289],["fection",-12.365900993347168],["▁Outside",-12.365921020507812],["▁Jefferson",-12.366114616394043],["oaie",-12.36617660522461],["tenue",-12.366275787353516],["HU",-12.366329193115234],["Très",-12.36639404296875],["valoarea",-12.36642837524414],["103",-12.366482734680176],["▁Privacy",-12.366580963134766],["▁Leistungen",-12.366598129272461],["(3)",-12.36662483215332],["▁études",-12.366734504699707],["sko",-12.366750717163086],["drum",-12.366822242736816],["▁lamb",-12.366842269897461],["▁nicio",-12.367094993591309],["▁NATO",-12.367104530334473],["▁Freitag",-12.367178916931152],["▁precedent",-12.367178916931152],["▁partenaires",-12.367202758789062],["▁companiei",-12.367234230041504],["▁Plaza",-12.367249488830566],["▁disruption",-12.367274284362793],["▁violations",-12.367338180541992],["▁Reference",-12.367446899414062],["▁habitants",-12.36770248413086],["▁compost",-12.36776351928711],["▁citoyen",-12.367785453796387],["▁Historical",-12.367857933044434],["vollen",-12.36793327331543],["▁Eck",-12.36815357208252],["▁lumii",-12.368180274963379],["▁reusit",-12.368278503417969],["genic",-12.368307113647461],["Why",-12.368436813354492],["ASE",-12.368474006652832],["▁athlete",-12.36854076385498],["▁Spitze",-12.368559837341309],["▁schimbat",-12.368566513061523],["▁anonymous",-12.368850708007812],["jedes",-12.368856430053711],["exclu",-12.368874549865723],["factor",-12.369199752807617],["▁Dezember",-12.369231224060059],["▁scientist",-12.369373321533203],["▁likelihood",-12.36947250366211],["▁Rhode",-12.369488716125488],["▁Balance",-12.369521141052246],["istoria",-12.36959457397461],["▁Neil",-12.369780540466309],["▁bush",-12.369919776916504],["▁Ergebnisse",-12.369935989379883],["▁Sinn",-12.369956016540527],["▁spezielle",-12.370128631591797],["▁jucat",-12.37015438079834],["▁spite",-12.370179176330566],["▁Ultimate",-12.370365142822266],["▁fructe",-12.370401382446289],["▁asleep",-12.370441436767578],["▁Goal",-12.370539665222168],["▁PAR",-12.370631217956543],["▁rows",-12.370705604553223],["▁Fol",-12.3709135055542],["▁durata",-12.370945930480957],["▁traditionnel",-12.37100887298584],["▁tema",-12.37122917175293],["▁crédit",-12.371232986450195],["smallest",-12.371358871459961],["▁amino",-12.371358871459961],["▁elephant",-12.371405601501465],["▁tubes",-12.371685028076172],["▁Verwendung",-12.371719360351562],["▁Excellence",-12.371889114379883],["▁utilities",-12.371962547302246],["frau",-12.372111320495605],["▁poze",-12.3721342086792],["août",-12.372307777404785],["ango",-12.372514724731445],["give",-12.372532844543457],["▁appelé",-12.372576713562012],["▁yeast",-12.372671127319336],["▁enrollment",-12.372676849365234],["organiz",-12.3727445602417],["▁asociat",-12.372753143310547],["▁cattle",-12.372772216796875],["▁Solution",-12.372798919677734],["evoke",-12.372807502746582],["▁Hampshire",-12.372857093811035],["▁yeah",-12.372878074645996],["▁Argentina",-12.372928619384766],["▁abnormal",-12.373022079467773],["▁Heights",-12.373082160949707],["▁Mitchell",-12.373099327087402],["▁Quad",-12.373350143432617],["▁textures",-12.373382568359375],["▁coalition",-12.373384475708008],["▁dataset",-12.37338924407959],["World",-12.373438835144043],["ständ",-12.373456001281738],["▁groove",-12.373476028442383],["▁emotionally",-12.373562812805176],["▁preciz",-12.373636245727539],["kte",-12.373741149902344],["berechtigt",-12.373828887939453],["▁1971",-12.373888969421387],["grandes",-12.373907089233398],["▁Broadway",-12.37391185760498],["▁comunicat",-12.373994827270508],["nui",-12.37402629852295],["GER",-12.374079704284668],["pick",-12.374125480651855],["inscrit",-12.37414264678955],["▁Gross",-12.374258995056152],["▁McDonald",-12.374310493469238],["▁Zero",-12.374330520629883],["▁Halb",-12.374341011047363],["▁caractère",-12.374553680419922],["▁doctrine",-12.374553680419922],["▁Sinne",-12.37458610534668],["MLS",-12.374594688415527],["▁réel",-12.374759674072266],["▁Ful",-12.37476921081543],["limiting",-12.37483024597168],["▁Gan",-12.374870300292969],["▁exclude",-12.37490463256836],["imba",-12.374974250793457],["rolul",-12.374991416931152],["▁veggies",-12.375059127807617],["▁fasci",-12.375092506408691],["▁oval",-12.375173568725586],["▁contacter",-12.375221252441406],["▁linking",-12.375279426574707],["▁knit",-12.375308990478516],["▁enroll",-12.375504493713379],["▁dédié",-12.375533103942871],["▁renting",-12.375541687011719],["▁genera",-12.37567138671875],["citing",-12.375691413879395],["▁bend",-12.375700950622559],["guin",-12.375752449035645],["▁caregiver",-12.375768661499023],["▁könnt",-12.375791549682617],["▁Scripture",-12.375795364379883],["▁Mic",-12.375899314880371],["▁Denmark",-12.37590217590332],["▁qualifying",-12.375917434692383],["▁costumes",-12.375958442687988],["▁dwelling",-12.37601375579834],["▁recrut",-12.376099586486816],["▁bedding",-12.37618637084961],["gesprochen",-12.376253128051758],["▁editors",-12.376386642456055],["/12",-12.37657642364502],["▁cumparat",-12.376583099365234],["fiction",-12.376730918884277],["▁spinal",-12.376740455627441],["▁pathway",-12.376799583435059],["▁vârst",-12.37683391571045],["mba",-12.376874923706055],["▁enthusiastic",-12.37692642211914],["▁Watt",-12.37697982788086],["symptom",-12.376992225646973],["▁pup",-12.37712287902832],["▁glorious",-12.377225875854492],["▁fața",-12.377228736877441],["▁prohibited",-12.377256393432617],["vergleich",-12.377286911010742],["▁suspected",-12.377334594726562],["▁Railway",-12.377381324768066],["▁Aujourd",-12.377469062805176],["▁Patients",-12.377476692199707],["▁séance",-12.377501487731934],["▁contraire",-12.377503395080566],["▁cuvânt",-12.37771224975586],["▁trotzdem",-12.37773609161377],["émission",-12.377795219421387],["▁bore",-12.37782096862793],["▁safeguard",-12.377851486206055],["▁galleries",-12.37820053100586],["cron",-12.378268241882324],["▁Rica",-12.378335952758789],["fläche",-12.37839126586914],["▁Slow",-12.37842082977295],["▁vara",-12.378549575805664],["▁Swan",-12.378564834594727],["▁compounds",-12.378564834594727],["▁Slo",-12.378621101379395],["▁accommodations",-12.378621101379395],["▁Putin",-12.378708839416504],["▁undertaken",-12.378767967224121],["▁prépar",-12.37879467010498],["▁gandi",-12.37881088256836],["sediul",-12.378924369812012],["▁Nathan",-12.379143714904785],["▁fountain",-12.379173278808594],["▁mère",-12.379194259643555],["fatty",-12.379201889038086],["▁concentrated",-12.379241943359375],["richtung",-12.379300117492676],["▁appropriately",-12.37955379486084],["107",-12.379631996154785],["▁shark",-12.379735946655273],["▁Topic",-12.379867553710938],["▁Ausstellung",-12.379880905151367],["▁SUA",-12.380267143249512],["SER",-12.380359649658203],["▁Nicole",-12.38039779663086],["▁utilisateurs",-12.380620956420898],["▁Brazilian",-12.380753517150879],["▁continut",-12.380865097045898],["▁sanatate",-12.380881309509277],["faudra",-12.380882263183594],["nahm",-12.380938529968262],["▁Specific",-12.381153106689453],["aiba",-12.381199836730957],["cepând",-12.381296157836914],["▁Beer",-12.381366729736328],["roni",-12.381616592407227],["kay",-12.381636619567871],["▁gravity",-12.381844520568848],["▁verfügt",-12.381856918334961],["7:30",-12.381878852844238],["▁Players",-12.381945610046387],["▁Industries",-12.38198184967041],["punkte",-12.382119178771973],["▁yacht",-12.382135391235352],["-04",-12.382149696350098],["onné",-12.382192611694336],["▁Cards",-12.382221221923828],["▁fete",-12.382420539855957],["breaking",-12.38257884979248],["baum",-12.382621765136719],["nada",-12.382651329040527],["▁geplant",-12.382750511169434],["genuinely",-12.382766723632812],["talk",-12.382871627807617],["▁disadvantage",-12.382920265197754],["▁shutter",-12.383003234863281],["virus",-12.38302230834961],["▁cricket",-12.38308048248291],["▁comenzi",-12.383102416992188],["hier",-12.383170127868652],["▁aufzu",-12.383198738098145],["▁Rez",-12.38321304321289],["▁conclusions",-12.383329391479492],["▁Wang",-12.383509635925293],["Darüber",-12.383524894714355],["▁CSS",-12.383573532104492],["CW",-12.383780479431152],["▁Chr",-12.383790969848633],["▁traded",-12.383843421936035],["▁Schon",-12.384265899658203],["mped",-12.38429069519043],["▁alloy",-12.384385108947754],["AVE",-12.38451099395752],["▁imagery",-12.384542465209961],["▁resurse",-12.38479995727539],["▁Thunder",-12.384834289550781],["▁schimbare",-12.384860038757324],["▁Youtube",-12.38499927520752],["▁Monster",-12.385189056396484],["phil",-12.385234832763672],["▁bébé",-12.385284423828125],["Creating",-12.385428428649902],["ănă",-12.385466575622559],["▁Staat",-12.385504722595215],["adică",-12.385531425476074],["▁boyfriend",-12.385552406311035],["▁Winner",-12.385594367980957],["▁disputes",-12.385653495788574],["▁lush",-12.3856840133667],["▁CMS",-12.385719299316406],["▁locaux",-12.385725021362305],["▁Verfahren",-12.38576889038086],["▁Café",-12.385786056518555],["▁Vorstand",-12.385870933532715],["▁lucrat",-12.385960578918457],["▁Root",-12.38602352142334],["▁decis",-12.386059761047363],["▁Shadow",-12.386062622070312],["▁countryside",-12.386067390441895],["▁analiza",-12.386114120483398],["obos",-12.38616943359375],["opera",-12.386175155639648],["actu",-12.386207580566406],["▁Songs",-12.3864164352417],["reifen",-12.38648509979248],["▁hilft",-12.386650085449219],["region",-12.386727333068848],["▁categoria",-12.387001991271973],["capturing",-12.38701343536377],["▁1967",-12.387025833129883],["▁optimized",-12.387032508850098],["▁Dim",-12.387353897094727],["▁adapté",-12.387447357177734],["zeichnet",-12.387524604797363],["▁strada",-12.387625694274902],["fulness",-12.38774585723877],["▁technically",-12.38774585723877],["▁marker",-12.387757301330566],["▁vizita",-12.387808799743652],["▁imperative",-12.387986183166504],["▁pensé",-12.38802719116211],["▁drilling",-12.388030052185059],["ISA",-12.38818073272705],["▁Massage",-12.388201713562012],["▁Terry",-12.388238906860352],["▁pourtant",-12.38835334777832],["▁declaration",-12.388440132141113],["▁instructors",-12.388453483581543],["Eventually",-12.38847827911377],["▁banned",-12.38847827911377],["MAT",-12.388520240783691],["▁medici",-12.38856315612793],["▁Warm",-12.388615608215332],["▁trec",-12.388731002807617],["▁ecran",-12.388763427734375],["▁goat",-12.388838768005371],["▁manipulation",-12.388850212097168],["▁mayor",-12.388898849487305],["▁unterwegs",-12.388975143432617],["▁journals",-12.3890380859375],["▁hedge",-12.389239311218262],["Merc",-12.389300346374512],["▁joueurs",-12.389411926269531],["▁Religion",-12.3894624710083],["▁Mountains",-12.389477729797363],["▁renewed",-12.389497756958008],["▁Limit",-12.389543533325195],["ikea",-12.389771461486816],["▁utiliza",-12.38977336883545],["sogenannte",-12.389808654785156],["0.2",-12.389836311340332],["▁Organ",-12.38987922668457],["▁Shakespeare",-12.389952659606934],["▁Maintenance",-12.38995361328125],["▁Wärme",-12.389954566955566],["▁Northwest",-12.390060424804688],["▁numit",-12.390106201171875],["▁mica",-12.390165328979492],["turm",-12.390168190002441],["▁motivate",-12.390250205993652],["▁Staats",-12.390355110168457],["optimum",-12.390487670898438],["▁sortir",-12.390546798706055],["▁Asset",-12.390555381774902],["▁hervorragend",-12.390692710876465],["▁commentary",-12.39071273803711],["▁actuellement",-12.390732765197754],["NER",-12.390765190124512],["NL",-12.390789985656738],["ritt",-12.390803337097168],["▁Wirtschafts",-12.390813827514648],["träger",-12.390840530395508],["▁Versand",-12.390870094299316],["▁nostri",-12.390953063964844],["▁enorm",-12.391227722167969],["▁whale",-12.391260147094727],["▁Aufgabe",-12.391277313232422],["▁unfair",-12.391291618347168],["▁Cord",-12.391315460205078],["incorporating",-12.39134693145752],["luck",-12.39157772064209],["Afrique",-12.39168643951416],["▁coated",-12.391857147216797],["▁india",-12.391908645629883],["▁temporarily",-12.39193058013916],["▁ciuda",-12.392097473144531],["▁coral",-12.392184257507324],["▁wirkt",-12.392203330993652],["▁folding",-12.392309188842773],["wichtigsten",-12.392398834228516],["impacted",-12.392422676086426],["▁wählen",-12.392423629760742],["▁differentiate",-12.392492294311523],["▁froid",-12.392544746398926],["▁hug",-12.39255142211914],["▁construi",-12.39255428314209],["▁membru",-12.392603874206543],["▁masculin",-12.392667770385742],["partisan",-12.392711639404297],["▁schimba",-12.392725944519043],["▁economies",-12.392827987670898],["▁Abraham",-12.392914772033691],["wesen",-12.393013954162598],["enia",-12.393026351928711],["▁answering",-12.393080711364746],["▁activități",-12.39309024810791],["▁mémoire",-12.393160820007324],["▁versucht",-12.393305778503418],["ember",-12.39333438873291],["▁instala",-12.39334774017334],["▁eligibility",-12.393407821655273],["▁enjoyment",-12.393409729003906],["▁Arme",-12.39350414276123],["although",-12.393534660339355],["▁encompass",-12.393596649169922],["▁zufrieden",-12.393658638000488],["Script",-12.393691062927246],["KG",-12.39385986328125],["▁adhesive",-12.393902778625488],["▁Verkehrs",-12.393908500671387],["▁monitored",-12.394103050231934],["▁Conservation",-12.394148826599121],["hav",-12.394156455993652],["▁Above",-12.394174575805664],["▁Former",-12.394241333007812],["▁Certain",-12.394250869750977],["saving",-12.394311904907227],["▁Pun",-12.394390106201172],["▁awkward",-12.394397735595703],["▁Pretty",-12.394410133361816],["▁scanning",-12.394417762756348],["layer",-12.394527435302734],["motor",-12.39453125],["▁beginnt",-12.39455795288086],["▁affiliated",-12.394681930541992],["▁archives",-12.394686698913574],["▁sunshine",-12.394892692565918],["kha",-12.394988059997559],["▁investigated",-12.395149230957031],["▁fantas",-12.395277976989746],["▁united",-12.395355224609375],["allegedly",-12.395373344421387],["▁Eugen",-12.3955078125],["▁proprie",-12.395843505859375],["uca",-12.396183013916016],["DES",-12.396187782287598],["ştii",-12.396190643310547],["▁Running",-12.39620590209961],["lbstverständlich",-12.396248817443848],["index",-12.396300315856934],["▁studiu",-12.396512031555176],["URE",-12.396553039550781],["gültig",-12.396627426147461],["▁lundi",-12.396649360656738],["▁Zucker",-12.396650314331055],["▁positively",-12.396721839904785],["folgenden",-12.396758079528809],["anță",-12.396800994873047],["▁clan",-12.396866798400879],["▁literacy",-12.396879196166992],["▁ober",-12.39699935913086],["John",-12.397003173828125],["greg",-12.39700984954834],["▁titlu",-12.397049903869629],["▁ţări",-12.39707088470459],["Bra",-12.397100448608398],["▁Evans",-12.397164344787598],["modern",-12.397172927856445],["▁hauteur",-12.397353172302246],["refers",-12.397416114807129],["▁plasma",-12.397575378417969],["▁optic",-12.397595405578613],["▁shampoo",-12.397619247436523],["▁cheek",-12.397727966308594],["opted",-12.397741317749023],["▁persönlich",-12.397832870483398],["▁1945",-12.398118019104004],["ICI",-12.398193359375],["biotic",-12.398222923278809],["▁Beruf",-12.398372650146484],["▁trez",-12.398383140563965],["▁diploma",-12.398388862609863],["nahmen",-12.398421287536621],["▁curl",-12.398625373840332],["▁agricole",-12.398824691772461],["▁recomand",-12.398844718933105],["▁pediatric",-12.398862838745117],["Fiecare",-12.39887523651123],["Anlage",-12.398906707763672],["weiß",-12.398974418640137],["elecommunication",-12.39898681640625],["hog",-12.399184226989746],["▁Stamp",-12.399364471435547],["▁Tipp",-12.399369239807129],["▁kindness",-12.399415969848633],["▁Marina",-12.399577140808105],["▁Gleich",-12.39963436126709],["▁grij",-12.39970588684082],["▁desperate",-12.39974594116211],["▁recordings",-12.399842262268066],["▁neglect",-12.399861335754395],["▁inherent",-12.400035858154297],["▁Rezept",-12.400138854980469],["▁soins",-12.400164604187012],["▁brut",-12.400250434875488],["▁revolutionary",-12.400495529174805],["▁liberté",-12.400530815124512],["cours",-12.400945663452148],["▁Similar",-12.401247024536133],["▁cheveux",-12.40136432647705],["▁ieftin",-12.401599884033203],["▁promovare",-12.40160846710205],["▁grains",-12.401729583740234],["ти",-12.401749610900879],["▁fonctionnement",-12.401789665222168],["▁Coming",-12.401832580566406],["▁analytical",-12.401847839355469],["▁simplify",-12.401856422424316],["▁chambres",-12.401893615722656],["▁fifty",-12.401930809020996],["jour",-12.402070999145508],["▁(17",-12.402194023132324],["cărui",-12.402292251586914],["▁harmony",-12.402352333068848],["grin",-12.402355194091797],["▁drunk",-12.402359962463379],["260",-12.402374267578125],["3-5",-12.40243148803711],["▁articole",-12.402442932128906],["▁flooding",-12.402482986450195],["halle",-12.402580261230469],["▁defects",-12.40276050567627],["▁rifle",-12.402839660644531],["▁Boc",-12.402843475341797],["▁Athletic",-12.40284538269043],["▁acordat",-12.40292739868164],["AIR",-12.402969360351562],["▁entwickeln",-12.403104782104492],["▁Advance",-12.403188705444336],["▁Heil",-12.403216361999512],["Stainless",-12.403345108032227],["▁Psychology",-12.40337085723877],["▁omul",-12.403435707092285],["▁Arbeiten",-12.403494834899902],["▁rabbit",-12.403495788574219],["▁méta",-12.40351390838623],["ismul",-12.403534889221191],["▁Herausforderung",-12.403594970703125],["▁Euch",-12.403654098510742],["geschichte",-12.40390682220459],["▁Milk",-12.404057502746582],["▁pregăt",-12.404065132141113],["▁Standort",-12.404141426086426],["Val",-12.404180526733398],["▁Ronald",-12.404350280761719],["▁Werbe",-12.404558181762695],["▁restrict",-12.404658317565918],["▁tablespoon",-12.404844284057617],["▁Amendment",-12.404845237731934],["▁Johnny",-12.404914855957031],["▁lively",-12.404938697814941],["ORD",-12.405147552490234],["▁mulţi",-12.40523624420166],["èrent",-12.405241012573242],["Every",-12.405277252197266],["eignet",-12.405296325683594],["GD",-12.40546989440918],["▁Ghana",-12.405628204345703],["▁wealthy",-12.40576171875],["▁advocates",-12.405818939208984],["▁Campaign",-12.40584659576416],["▁posters",-12.405964851379395],["flug",-12.406011581420898],["▁métier",-12.406139373779297],["kir",-12.406148910522461],["bond",-12.406176567077637],["datorita",-12.406188011169434],["▁Hochzeit",-12.406230926513672],["▁effectué",-12.406271934509277],["▁angles",-12.40654182434082],["▁Electrical",-12.406705856323242],["▁Administrator",-12.40674114227295],["▁spur",-12.407389640808105],["▁größere",-12.407444953918457],["woke",-12.407515525817871],["▁gewinnen",-12.407689094543457],["▁ajută",-12.407712936401367],["▁ventilation",-12.407853126525879],["▁viaţa",-12.407853126525879],["▁Dinner",-12.408079147338867],["respond",-12.408095359802246],["▁OEM",-12.408120155334473],["▁affair",-12.4081392288208],["▁öffentlich",-12.408143043518066],["ENS",-12.408209800720215],["▁Cent",-12.408224105834961],["▁făc",-12.408267974853516],["▁Doppel",-12.408285140991211],["▁fericit",-12.408363342285156],["▁coordon",-12.40845775604248],["geht",-12.408547401428223],["▁perfekte",-12.408610343933105],["▁sportive",-12.408700942993164],["▁proiectul",-12.40870189666748],["▁deadly",-12.408804893493652],["Geschäft",-12.408822059631348],["▁inspirational",-12.408854484558105],["+1",-12.409013748168945],["▁pearl",-12.409022331237793],["▁scrub",-12.409036636352539],["▁scheint",-12.409079551696777],["poo",-12.409147262573242],["▁Pier",-12.409220695495605],["▁commented",-12.409285545349121],["lute",-12.409302711486816],["▁cancelled",-12.409488677978516],["Win",-12.409605979919434],["▁payroll",-12.409781455993652],["▁varsta",-12.409881591796875],["stuffed",-12.410097122192383],["▁beads",-12.410138130187988],["▁poems",-12.410356521606445],["pokesman",-12.410399436950684],["▁checklist",-12.410523414611816],["▁Mich",-12.410636901855469],["GEN",-12.410676002502441],["▁Lau",-12.410783767700195],["▁stie",-12.410965919494629],["▁Lovely",-12.4110107421875],["▁Anschluss",-12.411062240600586],["▁personaj",-12.41108226776123],["▁ausgestattet",-12.411121368408203],["▁beginners",-12.411163330078125],["▁noon",-12.411189079284668],["▁celule",-12.41128921508789],["Trans",-12.411324501037598],["boot",-12.411331176757812],["▁drumul",-12.41136646270752],["gruppen",-12.41140079498291],["étend",-12.41140365600586],["▁risques",-12.411405563354492],["acclaimed",-12.411447525024414],["▁celelalte",-12.411617279052734],["▁condiţii",-12.411620140075684],["▁skiing",-12.411685943603516],["▁optimale",-12.411689758300781],["technology",-12.411773681640625],["▁renew",-12.411784172058105],["Cloud",-12.41179084777832],["▁damaging",-12.411905288696289],["GT",-12.412219047546387],["▁Reform",-12.41230583190918],["vedem",-12.412349700927734],["▁indicat",-12.412461280822754],["▁Maker",-12.412467002868652],["▁lichid",-12.412582397460938],["3.1",-12.412614822387695],["păt",-12.412620544433594],["lumina",-12.41264820098877],["▁Situ",-12.412806510925293],["▁Archives",-12.412857055664062],["▁allergies",-12.41287899017334],["▁Cameron",-12.412883758544922],["▁Immun",-12.412899017333984],["wissenschaftlich",-12.41301441192627],["▁supplémentaire",-12.413128852844238],["▁puterea",-12.413261413574219],["Lab",-12.413331985473633],["inspired",-12.413384437561035],["▁shrink",-12.413403511047363],["▁voit",-12.413426399230957],["▁chopped",-12.413467407226562],["▁Franz",-12.413537979125977],["oku",-12.413652420043945],["▁suppress",-12.413673400878906],["▁impress",-12.413751602172852],["▁Liga",-12.413755416870117],["▁Eight",-12.41378402709961],["720",-12.413795471191406],["▁securely",-12.413870811462402],["KU",-12.413934707641602],["modell",-12.413992881774902],["Ensure",-12.414154052734375],["größte",-12.414204597473145],["▁réuni",-12.414215087890625],["▁Internal",-12.41423225402832],["▁Punkte",-12.414320945739746],["▁replicate",-12.414412498474121],["▁spreadsheet",-12.414434432983398],["▁Hindu",-12.414549827575684],["▁Cham",-12.414578437805176],["nati",-12.414670944213867],["imply",-12.414679527282715],["funded",-12.414894104003906],["▁charitable",-12.414896011352539],["▁imagined",-12.415014266967773],["hausen",-12.41517448425293],["Keeping",-12.415239334106445],["▁attitudes",-12.415287971496582],["esque",-12.415365219116211],["▁Tennis",-12.415409088134766],["Jeremy",-12.415410041809082],["▁majeur",-12.415475845336914],["▁stii",-12.4155912399292],["▁herbal",-12.415790557861328],["▁cauta",-12.41580867767334],["▁voluntary",-12.415828704833984],["wohl",-12.415877342224121],["▁ideea",-12.41588306427002],["▁WW",-12.415899276733398],["▁erneut",-12.416010856628418],["größten",-12.416094779968262],["Grâce",-12.416159629821777],["▁Köln",-12.416193008422852],["▁mobilier",-12.416199684143066],["▁fool",-12.416254043579102],["▁Calcul",-12.416295051574707],["attaque",-12.41637897491455],["▁digestive",-12.41656494140625],["performance",-12.416647911071777],["▁homeowner",-12.41675853729248],["▁hunger",-12.4169282913208],["2.3",-12.41696834564209],["▁Sort",-12.417085647583008],["▁Dennis",-12.41723918914795],["▁certificat",-12.417250633239746],["▁Canal",-12.417337417602539],["▁Yesterday",-12.417424201965332],["▁sausage",-12.417499542236328],["▁perdu",-12.417736053466797],["ösen",-12.417741775512695],["▁preserved",-12.417750358581543],["▁trendy",-12.4177885055542],["▁iubire",-12.417935371398926],["▁grandfather",-12.417961120605469],["▁shoppers",-12.41820240020752],["▁verschieden",-12.418252944946289],["▁gagner",-12.41826343536377],["▁lucra",-12.418437004089355],["metru",-12.418464660644531],["buz",-12.418469429016113],["▁flourish",-12.418484687805176],["affin",-12.418523788452148],["▁Pflanzen",-12.41858196258545],["agh",-12.418588638305664],["▁Gill",-12.418660163879395],["▁Kä",-12.418671607971191],["▁Wege",-12.41876220703125],["▁Liberal",-12.418929100036621],["▁Glasgow",-12.418944358825684],["Objekt",-12.4189453125],["▁Huawei",-12.4189453125],["appropri",-12.418986320495605],["▁genius",-12.419037818908691],["▁brokers",-12.419068336486816],["▁themed",-12.41918659210205],["▁barre",-12.419210433959961],["1.7",-12.419219017028809],["▁Electro",-12.419303894042969],["▁umbrella",-12.419333457946777],["▁advisory",-12.419417381286621],["▁comport",-12.419421195983887],["▁neuer",-12.419452667236328],["▁Wick",-12.419568061828613],["wak",-12.419618606567383],["▁Woman",-12.419695854187012],["▁lesser",-12.419843673706055],["▁replied",-12.419987678527832],["▁représente",-12.420050621032715],["▁thé",-12.420135498046875],["Deutsch",-12.420428276062012],["Cat",-12.420483589172363],["▁équipes",-12.420534133911133],["▁spider",-12.420578956604004],["▁Gaming",-12.420589447021484],["▁Liste",-12.420592308044434],["▁affection",-12.420639038085938],["lipsa",-12.420982360839844],["▁Spider",-12.420987129211426],["▁Julia",-12.421034812927246],["anlagen",-12.421159744262695],["Kon",-12.421363830566406],["nței",-12.421368598937988],["▁Verwaltung",-12.421483993530273],["▁raspuns",-12.421489715576172],["samt",-12.421491622924805],["▁creștere",-12.421512603759766],["▁decorate",-12.421701431274414],["▁Chain",-12.422021865844727],["ów",-12.422050476074219],["0-0",-12.422104835510254],["▁Cran",-12.422407150268555],["▁streak",-12.42242431640625],["ор",-12.422517776489258],["▁căuta",-12.422754287719727],["wende",-12.422801971435547],["▁haine",-12.42280387878418],["▁landscaping",-12.423009872436523],["▁historian",-12.423016548156738],["▁grandchildren",-12.423033714294434],["▁crawl",-12.423056602478027],["▁Cub",-12.423239707946777],["▁nécessaires",-12.423515319824219],["▁swift",-12.42352294921875],["▁calculation",-12.423656463623047],["▁acteurs",-12.423715591430664],["VT",-12.423752784729004],["▁Hristos",-12.423778533935547],["▁slices",-12.423850059509277],["See",-12.424203872680664],["▁Bran",-12.424233436584473],["Symbol",-12.424449920654297],["▁allowance",-12.424492835998535],["▁Effective",-12.424537658691406],["▁Wünsche",-12.424539566040039],["▁shiny",-12.424569129943848],["▁professionalism",-12.424715995788574],["/6",-12.424970626831055],["▁terrasse",-12.425087928771973],["▁researcher",-12.425156593322754],["▁fragile",-12.425203323364258],["▁greeting",-12.425274848937988],["freien",-12.4253511428833],["▁valuation",-12.425372123718262],["▁incur",-12.425386428833008],["▁Zwischen",-12.425559997558594],["▁comfy",-12.425569534301758],["▁méthode",-12.42569351196289],["▁Pirate",-12.425816535949707],["▁Moto",-12.425822257995605],["(6)",-12.425823211669922],["▁devin",-12.42582893371582],["▁civic",-12.425837516784668],["usage",-12.425889015197754],["▁istorie",-12.425945281982422],["▁piste",-12.425955772399902],["▁Rug",-12.426091194152832],["pä",-12.426129341125488],["▁matur",-12.426148414611816],["CAS",-12.426155090332031],["TIC",-12.42618465423584],["▁Reduce",-12.426234245300293],["▁commemorat",-12.426321983337402],["▁cease",-12.42653751373291],["unterschiedliche",-12.42656421661377],["▁cinnamon",-12.426581382751465],["▁Font",-12.426583290100098],["▁justify",-12.426751136779785],["deteriorat",-12.426797866821289],["▁Schön",-12.42684555053711],["plain",-12.426993370056152],["frist",-12.427002906799316],["▁helmet",-12.42712116241455],["▁statute",-12.42721939086914],["accept",-12.427236557006836],["▁1,5",-12.42724323272705],["▁recon",-12.42724323272705],["▁Möbel",-12.427348136901855],["▁idées",-12.427367210388184],["automat",-12.427552223205566],["Team",-12.42758846282959],["▁performers",-12.427688598632812],["▁microphone",-12.427722930908203],["impotriva",-12.427775382995605],["▁pillows",-12.42780876159668],["▁accountable",-12.427812576293945],["▁strings",-12.42782974243164],["hydrate",-12.427835464477539],["▁Yan",-12.427865028381348],["starea",-12.427918434143066],["▁présenté",-12.42793083190918],["▁extensively",-12.428048133850098],["äst",-12.428114891052246],["▁correlation",-12.428115844726562],["bespoke",-12.428119659423828],["▁creste",-12.428196907043457],["▁Armenia",-12.428248405456543],["nose",-12.428426742553711],["▁strengthening",-12.428604125976562],["▁Horizon",-12.428627014160156],["▁obesity",-12.428627967834473],["seasoned",-12.428686141967773],["▁screenshot",-12.428736686706543],["girl",-12.42875862121582],["▁hardest",-12.428826332092285],["▁weakness",-12.428855895996094],["effectuer",-12.429012298583984],["▁Florence",-12.429034233093262],["▁Europene",-12.429062843322754],["triggered",-12.429333686828613],["Apparently",-12.42939567565918],["▁diagnose",-12.42943286895752],["rushed",-12.429494857788086],["▁trotz",-12.429516792297363],["▁spécial",-12.429680824279785],["▁lumi",-12.429783821105957],["7:00",-12.429877281188965],["▁publicat",-12.429903984069824],["ос",-12.430086135864258],["▁hue",-12.430136680603027],["▁termination",-12.430139541625977],["▁Nam",-12.430240631103516],["Well",-12.430376052856445],["▁Extract",-12.430441856384277],["atiile",-12.43062686920166],["▁vivid",-12.43076229095459],["hrs",-12.430858612060547],["▁povesti",-12.430984497070312],["stehenden",-12.430988311767578],["▁informieren",-12.431070327758789],["employed",-12.431133270263672],["▁armor",-12.431180953979492],["▁Columbus",-12.431191444396973],["Registr",-12.431200981140137],["▁Kamera",-12.431203842163086],["▁ugly",-12.431203842163086],["outil",-12.431234359741211],["▁evenly",-12.43134593963623],["lungul",-12.431349754333496],["koch",-12.431439399719238],["▁Dig",-12.431450843811035],["purely",-12.431489944458008],["▁Surf",-12.431560516357422],["rilla",-12.431628227233887],["▁Watson",-12.43171215057373],["trug",-12.431719779968262],["figuring",-12.431784629821777],["▁competitor",-12.431807518005371],["▁humid",-12.431889533996582],["▁Lawyer",-12.43189811706543],["Added",-12.43205451965332],["▁salva",-12.432056427001953],["▁drainage",-12.4321870803833],["Featuring",-12.432220458984375],["▁Pel",-12.43234634399414],["▁acasa",-12.432611465454102],["▁expectation",-12.43265438079834],["gibt",-12.432663917541504],["▁marginal",-12.432831764221191],["ceni",-12.433028221130371],["▁européen",-12.433065414428711],["clav",-12.433090209960938],["▁Shot",-12.433167457580566],["commun",-12.43322467803955],["▁Calendar",-12.433247566223145],["▁trek",-12.433348655700684],["rechtliche",-12.433406829833984],["▁Perry",-12.43342399597168],["▁surge",-12.433484077453613],["geschäft",-12.433504104614258],["paced",-12.433793067932129],["depend",-12.433871269226074],["▁Sache",-12.433947563171387],["▁Example",-12.433998107910156],["▁lider",-12.434118270874023],["▁nochmal",-12.434240341186523],["▁Present",-12.434243202209473],["KW",-12.434335708618164],["prompted",-12.434350967407227],["logique",-12.434444427490234],["Université",-12.434466361999512],["lith",-12.434489250183105],["▁Gefahr",-12.434579849243164],["▁Acid",-12.434625625610352],["objets",-12.434791564941406],["▁societies",-12.434791564941406],["▁distraction",-12.434816360473633],["▁puissance",-12.434934616088867],["▁alleviat",-12.435026168823242],["▁Capitol",-12.435050010681152],["▁Heim",-12.435129165649414],["judicial",-12.435230255126953],["▁nowadays",-12.435309410095215],["▁Hammer",-12.435317039489746],["▁metallic",-12.435327529907227],["▁distr",-12.435388565063477],["▁dispos",-12.435397148132324],["profile",-12.435408592224121],["▁Nicolas",-12.435602188110352],["▁presa",-12.435760498046875],["augh",-12.43578052520752],["schuss",-12.435787200927734],["▁Diana",-12.436062812805176],["4-5",-12.436097145080566],["▁Chapel",-12.43612003326416],["▁zahar",-12.436150550842285],["âmb",-12.4362154006958],["▁Tarif",-12.436264991760254],["▁devastating",-12.436339378356934],["6:00",-12.4364013671875],["▁100,000",-12.43645191192627],["NIC",-12.436580657958984],["▁Lucas",-12.436612129211426],["▁bequem",-12.436662673950195],["▁Motion",-12.436698913574219],["7,000",-12.436701774597168],["▁malware",-12.436708450317383],["▁avenue",-12.436723709106445],["▁manger",-12.436747550964355],["▁Queensland",-12.436857223510742],["▁Papier",-12.436861991882324],["▁Increase",-12.436880111694336],["▁implies",-12.436954498291016],["▁äußer",-12.43697452545166],["▁Meine",-12.436980247497559],["Reuters",-12.437155723571777],["▁Belt",-12.437232971191406],["Educat",-12.437251091003418],["▁Aktion",-12.437355041503906],["schläge",-12.437372207641602],["▁înregistrat",-12.437426567077637],["▁Ortho",-12.43756103515625],["▁bulbs",-12.437761306762695],["kap",-12.437793731689453],["▁peinture",-12.437901496887207],["▁Lounge",-12.437907218933105],["▁Tampa",-12.438008308410645],["ifiziert",-12.438100814819336],["kinder",-12.438172340393066],["▁comparativ",-12.438281059265137],["häuser",-12.438323974609375],["incarn",-12.438363075256348],["▁amazon",-12.438464164733887],["▁Southeast",-12.438505172729492],["▁economical",-12.438667297363281],["▁broth",-12.438697814941406],["▁Secure",-12.438750267028809],["damals",-12.438875198364258],["▁Elementary",-12.438921928405762],["▁Wildlife",-12.438995361328125],["▁Jewel",-12.439001083374023],["▁protocols",-12.439297676086426],["▁zbor",-12.4393892288208],["▁enthusiasts",-12.439398765563965],["▁Mirror",-12.439444541931152],["▁soak",-12.439537048339844],["▁Sad",-12.439574241638184],["▁dishwasher",-12.439957618713379],["▁vollständig",-12.440186500549316],["▁Vermont",-12.440407752990723],["▁caut",-12.440449714660645],["▁fournisseur",-12.440475463867188],["▁Concrete",-12.44047737121582],["▁Instant",-12.440595626831055],["▁reveni",-12.440597534179688],["▁Surface",-12.44059944152832],["zumindest",-12.440713882446289],["▁feast",-12.440725326538086],["▁stretching",-12.440803527832031],["ERA",-12.440997123718262],["▁Scholarship",-12.441020965576172],["▁vineyard",-12.4410400390625],["▁régulièrement",-12.441083908081055],["▁patches",-12.441093444824219],["▁Gamb",-12.44113540649414],["▁Vereins",-12.441152572631836],["ège",-12.441372871398926],["▁constitutional",-12.441411018371582],["erreur",-12.441413879394531],["▁Colombia",-12.441514015197754],["UF",-12.441618919372559],["aider",-12.441665649414062],["cision",-12.44180965423584],["▁publishers",-12.441913604736328],["▁prelua",-12.441967964172363],["▁keiner",-12.441990852355957],["▁amid",-12.442020416259766],["▁quantitative",-12.442031860351562],["▁decay",-12.442058563232422],["▁distinguished",-12.4420747756958],["▁Gründe",-12.442209243774414],["▁statului",-12.442362785339355],["CAT",-12.442436218261719],["allow",-12.442481994628906],["▁mathematical",-12.442550659179688],["▁tragedy",-12.44255542755127],["▁heels",-12.442609786987305],["opia",-12.44265365600586],["▁merger",-12.4428071975708],["dispositif",-12.442813873291016],["▁pneu",-12.44283390045166],["elte",-12.443058013916016],["▁Introduction",-12.443070411682129],["▁biscuit",-12.443134307861328],["▁leftover",-12.443275451660156],["▁tester",-12.443314552307129],["▁Terre",-12.443380355834961],["▁Oui",-12.44338321685791],["▁rar",-12.443520545959473],["▁beverages",-12.443666458129883],["▁parenting",-12.443892478942871],["1-0",-12.444053649902344],["▁Barry",-12.44417667388916],["▁Lynn",-12.444209098815918],["▁Tyler",-12.444262504577637],["▁fotbal",-12.44437026977539],["dron",-12.444475173950195],["▁donor",-12.44455623626709],["▁drape",-12.444558143615723],["▁positioning",-12.444963455200195],["▁Tang",-12.445006370544434],["▁overwhelmed",-12.445161819458008],["▁perte",-12.445192337036133],["▁blender",-12.445302963256836],["TG",-12.445467948913574],["GHz",-12.445490837097168],["▁administrat",-12.445719718933105],["▁glaube",-12.445771217346191],["Char",-12.445947647094727],["impression",-12.44627571105957],["proving",-12.446297645568848],["▁Inner",-12.446434020996094],["root",-12.446501731872559],["▁Gedanken",-12.446508407592773],["▁underway",-12.446596145629883],["coat",-12.44660758972168],["▁thereof",-12.446663856506348],["rius",-12.446700096130371],["▁intermediate",-12.446751594543457],["gmail",-12.446869850158691],["114",-12.446893692016602],["▁interfere",-12.446908950805664],["▁Found",-12.446930885314941],["LF",-12.447071075439453],["▁equality",-12.447099685668945],["▁concurrent",-12.44710636138916],["akh",-12.447107315063477],["▁touching",-12.44715690612793],["▁curiosity",-12.447235107421875],["▁rendering",-12.447263717651367],["▁1964",-12.447442054748535],["sorge",-12.447468757629395],["ARC",-12.447505950927734],["▁Desktop",-12.44752311706543],["▁Tak",-12.44760799407959],["filtration",-12.447651863098145],["▁gates",-12.4478759765625],["Sehr",-12.44791316986084],["▁spatiu",-12.44798755645752],["▁Leg",-12.448103904724121],["▁aviation",-12.448277473449707],["wandel",-12.44827938079834],["▁Shar",-12.448323249816895],["▁Volks",-12.448409080505371],["maz",-12.448698997497559],["governmental",-12.44874095916748],["euros",-12.448819160461426],["avantage",-12.448823928833008],["sitzt",-12.448856353759766],["IER",-12.448920249938965],["▁Theory",-12.44894027709961],["Cependant",-12.44907283782959],["▁Teachers",-12.449080467224121],["anspruch",-12.449095726013184],["▁afecta",-12.449139595031738],["enko",-12.449193000793457],["▁breeding",-12.449198722839355],["▁Peak",-12.449457168579102],["▁găsit",-12.449516296386719],["▁măsuri",-12.4495267868042],["edia",-12.449625968933105],["biz",-12.449640274047852],["zum",-12.449776649475098],["▁schwierig",-12.449847221374512],["Sense",-12.450050354003906],["▁Jump",-12.450081825256348],["▁cocktails",-12.450108528137207],["abhängig",-12.45012378692627],["realised",-12.450140953063965],["▁programul",-12.450214385986328],["▁prévu",-12.450238227844238],["▁twitter",-12.450372695922852],["Union",-12.450400352478027],["▁Marathon",-12.45040225982666],["▁Christianity",-12.450432777404785],["▁Alberta",-12.450811386108398],["einheit",-12.45097827911377],["▁wellbeing",-12.450982093811035],["phen",-12.451166152954102],["▁Charleston",-12.451180458068848],["▁uncover",-12.451323509216309],["▁humaine",-12.451464653015137],["▁bleeding",-12.451531410217285],["▁manipul",-12.451532363891602],["▁humidity",-12.451570510864258],["▁Puis",-12.451748847961426],["▁aktuell",-12.451922416687012],["▁Nissan",-12.451943397521973],["▁Eisen",-12.45202922821045],["treiben",-12.452059745788574],["cios",-12.452073097229004],["ikh",-12.452381134033203],["acquiring",-12.452466011047363],["▁Wallpaper",-12.452488899230957],["▁rond",-12.452558517456055],["▁Doug",-12.45267391204834],["sourcing",-12.452696800231934],["▁1900",-12.452825546264648],["▁buni",-12.452913284301758],["vest",-12.452916145324707],["▁Bangladesh",-12.452990531921387],["Home",-12.453160285949707],["▁wrinkle",-12.453252792358398],["rado",-12.453290939331055],["▁Pain",-12.45334243774414],["▁herzlich",-12.453354835510254],["MRI",-12.453426361083984],["UG",-12.453631401062012],["▁Desk",-12.453679084777832],["▁remarc",-12.453718185424805],["▁sodium",-12.453857421875],["▁Jede",-12.453892707824707],["▁réelle",-12.453959465026855],["▁Polar",-12.454068183898926],["▁activists",-12.454273223876953],["lasted",-12.454300880432129],["Some",-12.45432186126709],["ISE",-12.454338073730469],["▁peine",-12.454671859741211],["▁crude",-12.454852104187012],["Maur",-12.454916954040527],["▁forcing",-12.454933166503906],["▁politici",-12.454970359802246],["▁condiții",-12.454988479614258],["▁Saving",-12.454999923706055],["▁descoperi",-12.455020904541016],["avenir",-12.455055236816406],["Akt",-12.455069541931152],["▁vocabulary",-12.45509147644043],["▁pont",-12.455168724060059],["West",-12.45518970489502],["lenk",-12.455278396606445],["▁Verbraucher",-12.455367088317871],["affects",-12.455448150634766],["▁Flower",-12.455543518066406],["▁Nebraska",-12.455617904663086],["▁assortment",-12.455618858337402],["hock",-12.455619812011719],["▁discounted",-12.455803871154785],["▁Sensor",-12.455840110778809],["Lie",-12.45588207244873],["▁Volkswagen",-12.455887794494629],["isseur",-12.455888748168945],["indice",-12.455936431884766],["▁scanner",-12.455986022949219],["fashioned",-12.456040382385254],["▁postal",-12.456141471862793],["ouvrir",-12.45615291595459],["▁seminars",-12.45622444152832],["ioase",-12.456232070922852],["▁Stanley",-12.456260681152344],["Various",-12.456335067749023],["essentiel",-12.45650577545166],["▁administered",-12.456693649291992],["▁concession",-12.456748008728027],["▁mould",-12.456789016723633],["▁strongest",-12.456826210021973],["Erlebnis",-12.456933975219727],["▁ehemalige",-12.456933975219727],["▁Tale",-12.457234382629395],["▁Buyer",-12.457353591918945],["ück",-12.457578659057617],["▁Kommentar",-12.457720756530762],["▁Schrift",-12.457756996154785],["Design",-12.457792282104492],["▁stirring",-12.457937240600586],["▁towels",-12.457987785339355],["▁$30",-12.458101272583008],["sprache",-12.458279609680176],["▁Regierung",-12.458346366882324],["▁nachhaltig",-12.458406448364258],["▁électronique",-12.458515167236328],["▁Andrei",-12.458587646484375],["because",-12.458647727966309],["informatique",-12.458650588989258],["IGHT",-12.4586820602417],["stepping",-12.4586820602417],["▁gris",-12.458748817443848],["vious",-12.458773612976074],["▁upside",-12.4591064453125],["▁Examples",-12.459108352661133],["IU",-12.459110260009766],["▁princess",-12.459111213684082],["spielen",-12.45921516418457],["legung",-12.45950984954834],["▁reflecting",-12.4597806930542],["▁Processing",-12.459939002990723],["▁jungle",-12.460033416748047],["▁insects",-12.46006965637207],["▁Sibiu",-12.460220336914062],["160",-12.460259437561035],["▁interessante",-12.460267066955566],["▁multimedia",-12.460455894470215],["essel",-12.46049690246582],["/18",-12.460647583007812],["nière",-12.460683822631836],["ministru",-12.46072006225586],["▁implants",-12.460826873779297],["▁Settings",-12.461360931396484],["▁invaluable",-12.461432456970215],["stains",-12.461448669433594],["onym",-12.461518287658691],["▁searched",-12.461570739746094],["▁disappointment",-12.461628913879395],["▁Iranian",-12.461630821228027],["▁questionnaire",-12.461630821228027],["Founder",-12.46178913116455],["▁Bericht",-12.461792945861816],["▁youngest",-12.461896896362305],["▁Automatic",-12.461956024169922],["▁plecat",-12.46203327178955],["geber",-12.462119102478027],["soweit",-12.462124824523926],["▁unfold",-12.462236404418945],["▁befinden",-12.462274551391602],["▁susţin",-12.462637901306152],["▁Mack",-12.462675094604492],["▁dificil",-12.462757110595703],["enseigne",-12.463038444519043],["▁vitamine",-12.463047981262207],["▁Memory",-12.463092803955078],["ripping",-12.463129043579102],["drin",-12.463146209716797],["3.2",-12.463278770446777],["▁verstehen",-12.463287353515625],["▁scaun",-12.46341323852539],["▁procédure",-12.46380615234375],["▁molecules",-12.463911056518555],["▁Anzahl",-12.46391487121582],["▁yogurt",-12.464071273803711],["▁Dominic",-12.464113235473633],["▁shocked",-12.464156150817871],["▁zilei",-12.464269638061523],["▁Heiz",-12.464412689208984],["▁Educational",-12.464571952819824],["BN",-12.464577674865723],["analyzing",-12.464601516723633],["hair",-12.464676856994629],["spiegel",-12.464871406555176],["▁illusion",-12.464889526367188],["BG",-12.46505355834961],["deductible",-12.46513557434082],["▁adj",-12.4651460647583],["▁accessory",-12.465166091918945],["▁Draw",-12.465167999267578],["▁airlines",-12.46518611907959],["▁satisfai",-12.46536636352539],["▁architects",-12.465447425842285],["istische",-12.465508460998535],["▁Healthy",-12.465539932250977],["großer",-12.465669631958008],["▁comunicare",-12.465764999389648],["▁Meyer",-12.46577262878418],["▁reproduction",-12.465882301330566],["▁Manufacturing",-12.465929985046387],["immobilier",-12.465930938720703],["▁Unterschied",-12.465958595275879],["▁cumpara",-12.466029167175293],["▁duplicate",-12.466094017028809],["▁(16",-12.466096878051758],["▁detector",-12.466279983520508],["▁observat",-12.466387748718262],["▁1965",-12.466682434082031],["▁Fantasy",-12.466728210449219],["▁brauchen",-12.466728210449219],["▁Participants",-12.466780662536621],["▁décide",-12.466817855834961],["▁kicke",-12.466819763183594],["▁SSL",-12.466885566711426],["360",-12.466989517211914],["Anim",-12.467019081115723],["▁cupcake",-12.467031478881836],["▁Lamb",-12.467107772827148],["▁Sä",-12.467155456542969],["ntă",-12.46738052368164],["▁Pig",-12.467421531677246],["1,000",-12.467677116394043],["nhof",-12.467782020568848],["▁discret",-12.467947959899902],["▁deloc",-12.467991828918457],["▁Bücher",-12.467999458312988],["chor",-12.468042373657227],["course",-12.468070030212402],["▁cough",-12.468076705932617],["▁erstellt",-12.468087196350098],["▁Than",-12.468097686767578],["stätte",-12.46812915802002],["▁exceptionally",-12.468162536621094],["▁semnal",-12.468186378479004],["▁Interessen",-12.468329429626465],["ле",-12.468356132507324],["xx",-12.468402862548828],["▁Veterans",-12.468422889709473],["▁Kreuz",-12.468683242797852],["▁Nachricht",-12.468701362609863],["treated",-12.468894004821777],["▁tide",-12.469230651855469],["▁nonetheless",-12.469390869140625],["▁Subject",-12.469439506530762],["▁Stau",-12.469440460205078],["▁stickers",-12.469463348388672],["Alp",-12.46950912475586],["▁flagship",-12.469541549682617],["▁trimite",-12.469619750976562],["▁polyester",-12.469664573669434],["▁locui",-12.469671249389648],["▁chili",-12.46968936920166],["▁Browser",-12.469808578491211],["sieg",-12.469809532165527],["▁Arabic",-12.469876289367676],["blich",-12.47001838684082],["▁wunderbar",-12.470090866088867],["▁furnishings",-12.470210075378418],["rtie",-12.470243453979492],["8.5",-12.470742225646973],["▁Sponsor",-12.471016883850098],["▁glitter",-12.471280097961426],["▁piaț",-12.471402168273926],["▁interviewed",-12.471519470214844],["▁Statistics",-12.471529006958008],["▁cerc",-12.47154712677002],["augmentation",-12.47155475616455],["▁Navi",-12.471558570861816],["▁Begriff",-12.47156047821045],["▁știu",-12.471596717834473],["▁unabhängig",-12.471778869628906],["▁könnten",-12.471978187561035],["▁travaille",-12.472000122070312],["▁companie",-12.472027778625488],["▁Scientific",-12.472061157226562],["▁Outlook",-12.472091674804688],["▁fairy",-12.472158432006836],["zam",-12.472282409667969],["bak",-12.472448348999023],["▁Traffic",-12.472596168518066],["gerät",-12.472671508789062],["▁freezing",-12.472701072692871],["▁broadband",-12.4727201461792],["110",-12.47279167175293],["▁revenu",-12.472887992858887],["listed",-12.472900390625],["▁Rico",-12.472941398620605],["Laure",-12.472990036010742],["ATA",-12.473112106323242],["▁participer",-12.47313117980957],["▁sponsorship",-12.473235130310059],["▁distress",-12.473286628723145],["▁Brisbane",-12.47339916229248],["schönen",-12.473437309265137],["▁fizice",-12.473465919494629],["▁Political",-12.47362232208252],["uhr",-12.473657608032227],["▁procedura",-12.473713874816895],["▁hervor",-12.473770141601562],["melted",-12.473776817321777],["▁Emp",-12.47384262084961],["▁Ernährung",-12.4739351272583],["▁Pendant",-12.473944664001465],["▁recipients",-12.474047660827637],["Claude",-12.474133491516113],["▁regimen",-12.47415828704834],["expo",-12.474346160888672],["adevăr",-12.47437858581543],["▁critically",-12.474440574645996],["▁grabbe",-12.474468231201172],["▁Kann",-12.474474906921387],["▁directeur",-12.474613189697266],["gator",-12.474908828735352],["problem",-12.474910736083984],["scribe",-12.474913597106934],["▁exig",-12.474920272827148],["Tri",-12.474969863891602],["▁aqua",-12.475631713867188],["appréci",-12.47569465637207],["▁viaţă",-12.47571849822998],["▁dominate",-12.475865364074707],["disc",-12.475889205932617],["▁conseiller",-12.47603988647461],["▁shuttle",-12.476180076599121],["▁Status",-12.47623062133789],["▁ausreichend",-12.476371765136719],["▁spät",-12.476411819458008],["▁remainder",-12.476417541503906],["wett",-12.476430892944336],["schlossen",-12.476491928100586],["PAC",-12.476505279541016],["▁suprafata",-12.476617813110352],["5.000",-12.476673126220703],["supplying",-12.47673225402832],["▁uniquely",-12.476905822753906],["▁retard",-12.476929664611816],["▁Bang",-12.477006912231445],["ieuse",-12.477087020874023],["▁Ted",-12.477248191833496],["▁ermöglichen",-12.47732925415039],["▁builders",-12.477380752563477],["▁proximité",-12.477423667907715],["▁unforgettable",-12.477423667907715],["256",-12.477446556091309],["fähigkeit",-12.477550506591797],["▁procurement",-12.477561950683594],["▁Gewicht",-12.477693557739258],["▁potentiel",-12.47778606414795],["▁topping",-12.478300094604492],["▁canada",-12.478304862976074],["▁Destin",-12.478355407714844],["▁Knowing",-12.478411674499512],["▁retained",-12.478426933288574],["▁zinc",-12.478470802307129],["▁worrying",-12.478655815124512],["faţa",-12.478676795959473],["▁initi",-12.478837966918945],["ORI",-12.4788818359375],["▁refuz",-12.478921890258789],["bruch",-12.479202270507812],["▁impun",-12.479233741760254],["▁persoană",-12.479308128356934],["EAR",-12.479347229003906],["bedarf",-12.479368209838867],["▁Gebiet",-12.47940731048584],["▁Roof",-12.479436874389648],["▁negligence",-12.47957706451416],["security",-12.479618072509766],["▁accesorii",-12.479641914367676],["▁unclear",-12.479667663574219],["▁securitate",-12.479848861694336],["▁spotlight",-12.479896545410156],["▁speziell",-12.479923248291016],["▁mentally",-12.479942321777344],["▁preservation",-12.48011589050293],["▁Promotion",-12.480156898498535],["partnered",-12.480274200439453],["▁Hinter",-12.48031997680664],["▁punishment",-12.480359077453613],["▁grease",-12.480713844299316],["▁NW",-12.480714797973633],["▁curse",-12.480897903442383],["ckle",-12.48101806640625],["▁Hire",-12.481043815612793],["▁Whole",-12.481088638305664],["▁basse",-12.481289863586426],["▁DNS",-12.481427192687988],["flamm",-12.481560707092285],["▁scoop",-12.481574058532715],["Norm",-12.481663703918457],["▁Surgery",-12.481735229492188],["▁widget",-12.481741905212402],["connected",-12.481863021850586],["autorité",-12.481961250305176],["▁utilis",-12.482096672058105],["▁formă",-12.482185363769531],["▁clearing",-12.482307434082031],["▁jumătate",-12.482815742492676],["größe",-12.482831954956055],["▁Tief",-12.482852935791016],["épi",-12.482939720153809],["zunehmen",-12.483174324035645],["▁touchdown",-12.48318099975586],["▁scholarships",-12.483236312866211],["▁dementia",-12.483319282531738],["▁Jeder",-12.48333740234375],["▁nightmare",-12.483379364013672],["▁Raw",-12.48342514038086],["absorbed",-12.483468055725098],["lohnt",-12.483484268188477],["quent",-12.483580589294434],["interest",-12.483626365661621],["OSS",-12.483649253845215],["▁Leaf",-12.483667373657227],["▁timeless",-12.48381519317627],["DY",-12.483865737915039],["▁Remote",-12.483907699584961],["chner",-12.483938217163086],["▁Pam",-12.484014511108398],["urban",-12.484060287475586],["во",-12.484146118164062],["▁Kunde",-12.484166145324707],["▁Laptop",-12.484169006347656],["finder",-12.484336853027344],["▁Pole",-12.484567642211914],["2.8",-12.484588623046875],["finished",-12.484670639038086],["▁prophet",-12.484697341918945],["mailed",-12.484758377075195],["2-0",-12.4849214553833],["▁disciples",-12.484949111938477],["▁intriguing",-12.484980583190918],["IRA",-12.485033988952637],["petit",-12.485077857971191],["▁Membership",-12.485097885131836],["▁provincial",-12.485177040100098],["▁Prüfung",-12.485292434692383],["-50",-12.485450744628906],["▁cryptocurrency",-12.485522270202637],["▁journalism",-12.485536575317383],["▁Downtown",-12.485593795776367],["inserted",-12.485655784606934],["▁Direction",-12.485718727111816],["lipid",-12.485732078552246],["▁Sebastian",-12.485793113708496],["fordert",-12.48591136932373],["Originally",-12.485989570617676],["tipp",-12.486048698425293],["verantwortlich",-12.486064910888672],["▁wheelchair",-12.486085891723633],["▁structura",-12.48609733581543],["▁Danny",-12.486138343811035],["999",-12.486284255981445],["▁Schiff",-12.486380577087402],["formally",-12.486408233642578],["focused",-12.486428260803223],["▁Vater",-12.486478805541992],["▁Dear",-12.486599922180176],["▁reinforce",-12.486794471740723],["proprietar",-12.48690414428711],["▁Kyle",-12.487004280090332],["În",-12.487015724182129],["▁servir",-12.487268447875977],["length",-12.48730754852295],["▁showroom",-12.48735237121582],["reli",-12.487473487854004],["▁Brü",-12.487529754638672],["▁Schle",-12.487634658813477],["▁profond",-12.487773895263672],["▁Superior",-12.487826347351074],["▁lifted",-12.487844467163086],["highlighting",-12.487850189208984],["▁Connection",-12.48793888092041],["▁similarly",-12.487998962402344],["▁diferit",-12.488005638122559],["▁sweater",-12.488014221191406],["État",-12.48803997039795],["rooted",-12.488069534301758],["▁sleeves",-12.488236427307129],["де",-12.488264083862305],["▁Laboratory",-12.488265991210938],["ündig",-12.488719940185547],["▁Viking",-12.488741874694824],["▁Origin",-12.48878002166748],["▁vibr",-12.488812446594238],["199",-12.488974571228027],["▁yummy",-12.489001274108887],["STAR",-12.489140510559082],["▁repro",-12.489152908325195],["▁Kirchen",-12.489229202270508],["hopper",-12.48925495147705],["zza",-12.489335060119629],["▁vitesse",-12.48934555053711],["▁minimalist",-12.489412307739258],["▁Election",-12.489420890808105],["draw",-12.489501953125],["▁candles",-12.48959732055664],["▁Mund",-12.489615440368652],["urged",-12.489901542663574],["▁cânt",-12.489917755126953],["Ultimately",-12.49002742767334],["▁Lift",-12.490124702453613],["loaded",-12.490334510803223],["demand",-12.490508079528809],["▁aleg",-12.490621566772461],["▁Discovery",-12.490755081176758],["▁Vienna",-12.490960121154785],["▁Kategorie",-12.490961074829102],["▁Cotton",-12.490962028503418],["▁$200",-12.491043090820312],["▁Drei",-12.491052627563477],["▁reicht",-12.491168975830078],["speicher",-12.491231918334961],["▁Immobilien",-12.491483688354492],["gefühl",-12.491509437561035],["make",-12.491525650024414],["pell",-12.49155044555664],["▁dull",-12.491598129272461],["▁arbeitet",-12.491681098937988],["retaining",-12.491700172424316],["losen",-12.491707801818848],["match",-12.491876602172852],["-60",-12.491880416870117],["▁ecological",-12.492000579833984],["▁vend",-12.492051124572754],["▁grammar",-12.492061614990234],["▁1:1",-12.492225646972656],["grilled",-12.492279052734375],["geordnet",-12.492321014404297],["▁Pav",-12.49236011505127],["▁Depot",-12.492368698120117],["▁Walking",-12.492372512817383],["teamed",-12.492402076721191],["▁torque",-12.492537498474121],["▁Venture",-12.492659568786621],["▁beginner",-12.49269962310791],["▁Monaten",-12.492712020874023],["▁Pune",-12.493054389953613],["connect",-12.493075370788574],["▁textbook",-12.493132591247559],["▁unprecedented",-12.49314022064209],["▁implied",-12.493168830871582],["▁cubic",-12.493668556213379],["enthält",-12.493696212768555],["▁Brenn",-12.49388313293457],["▁Expect",-12.49394416809082],["▁lever",-12.4939603805542],["veux",-12.49399185180664],["▁Claire",-12.494112968444824],["Acc",-12.49432373046875],["▁Typ",-12.494478225708008],["▁smoothie",-12.494501113891602],["▁Idaho",-12.494780540466309],["▁spati",-12.494802474975586],["▁bénéficier",-12.49488353729248],["▁Kle",-12.495161056518555],["▁serviciilor",-12.495169639587402],["▁prohibit",-12.495267868041992],["EAD",-12.495417594909668],["▁Turner",-12.495418548583984],["▁elibera",-12.49543571472168],["▁payday",-12.495464324951172],["▁prolong",-12.495466232299805],["▁sued",-12.495481491088867],["▁Devil",-12.495536804199219],["▁Skills",-12.495552062988281],["▁Marcel",-12.495553970336914],["▁silhouette",-12.495601654052734],["▁preț",-12.495742797851562],["▁Gö",-12.495747566223145],["▁Creator",-12.495774269104004],["fed",-12.4959077835083],["Cap",-12.495997428894043],["▁dedicate",-12.496042251586914],["0000",-12.496124267578125],["▁VAT",-12.496259689331055],["▁Firefox",-12.496443748474121],["▁therapies",-12.496477127075195],["▁screws",-12.496662139892578],["▁Province",-12.496697425842285],["▁problematic",-12.496871948242188],["▁Vid",-12.496915817260742],["▁Lost",-12.496950149536133],["▁elegance",-12.497520446777344],["▁Elegant",-12.497525215148926],["ignant",-12.497573852539062],["▁darin",-12.497649192810059],["▁anonym",-12.497669219970703],["▁vegeta",-12.49767780303955],["incoming",-12.497762680053711],["▁pills",-12.497846603393555],["governing",-12.497893333435059],["▁Haven",-12.497920989990234],["paper",-12.497947692871094],["räume",-12.497979164123535],["paw",-12.498099327087402],["▁spelling",-12.498283386230469],["ambele",-12.498318672180176],["▁reprezentat",-12.498371124267578],["▁mâ",-12.49853515625],["wirtschaftliche",-12.498558044433594],["▁valabil",-12.498579025268555],["▁konkret",-12.498618125915527],["▁financier",-12.498619079589844],["▁irre",-12.499135971069336],["▁Silicon",-12.499171257019043],["Viv",-12.499181747436523],["▁viruses",-12.49927043914795],["▁CNN",-12.499324798583984],["▁erleben",-12.499482154846191],["gina",-12.499492645263672],["punctul",-12.49951457977295],["▁Sfânt",-12.499753952026367],["▁Manage",-12.499811172485352],["▁payable",-12.499984741210938],["▁practitioner",-12.500143051147461],["▁conférence",-12.50026798248291],["▁drought",-12.50027084350586],["▁devote",-12.500361442565918],["wertung",-12.500420570373535],["stabil",-12.5004301071167],["▁balcon",-12.500553131103516],["▁Lebensmittel",-12.500603675842285],["COL",-12.500950813293457],["▁Domnul",-12.501093864440918],["carved",-12.501359939575195],["▁preparat",-12.5014009475708],["101",-12.501537322998047],["▁specimen",-12.501580238342285],["urgeon",-12.501596450805664],["LIC",-12.50163459777832],["Plattform",-12.501643180847168],["▁ramas",-12.501739501953125],["▁copilului",-12.501791954040527],["bacter",-12.501812934875488],["körper",-12.501940727233887],["▁Kru",-12.501981735229492],["▁Employ",-12.502055168151855],["office",-12.502080917358398],["▁simmer",-12.502120018005371],["qualität",-12.502137184143066],["▁freshly",-12.502215385437012],["▁Nine",-12.50223159790039],["▁tonnes",-12.50223445892334],["boden",-12.502236366271973],["enquête",-12.50240707397461],["▁Colour",-12.502481460571289],["▁Diagram",-12.502495765686035],["▁gewählt",-12.502516746520996],["▁viitoare",-12.502538681030273],["▁reporters",-12.502913475036621],["guer",-12.502991676330566],["▁Kombination",-12.503021240234375],["▁qualitative",-12.50302505493164],["Centrul",-12.503131866455078],["avy",-12.503170013427734],["▁Eng",-12.503175735473633],["▁sufletul",-12.50327205657959],["▁germ",-12.503412246704102],["▁prevented",-12.503448486328125],["appelle",-12.503533363342285],["gins",-12.503556251525879],["▁Skype",-12.503585815429688],["conditioned",-12.503617286682129],["▁clutch",-12.503641128540039],["environ",-12.503694534301758],["3.3",-12.503774642944336],["▁webinar",-12.503866195678711],["▁forty",-12.504104614257812],["▁Medicaid",-12.504127502441406],["▁dismissed",-12.504167556762695],["▁siblings",-12.504168510437012],["▁Jaw",-12.504196166992188],["guiding",-12.504220962524414],["cigarette",-12.504374504089355],["▁Shah",-12.504681587219238],["▁Lehrer",-12.504684448242188],["▁muscular",-12.504694938659668],["spatele",-12.504796981811523],["▁réduction",-12.504836082458496],["▁fixes",-12.504851341247559],["Span",-12.50511646270752],["▁Hudson",-12.505231857299805],["development",-12.505250930786133],["▁excluded",-12.50525951385498],["Democrat",-12.505260467529297],["▁nominal",-12.505317687988281],["purpose",-12.50540828704834],["▁bored",-12.505500793457031],["espèce",-12.50550651550293],["▁(30",-12.5055570602417],["Neither",-12.505608558654785],["hänge",-12.505610466003418],["square",-12.505728721618652],["voller",-12.505736351013184],["▁pertinent",-12.505783081054688],["▁Wool",-12.50595474243164],["settling",-12.50607681274414],["fangen",-12.506148338317871],["▁Testing",-12.506152153015137],["distin",-12.506196022033691],["▁Marken",-12.506227493286133],["▁Beta",-12.506300926208496],["▁fulfilling",-12.506339073181152],["Leider",-12.506357192993164],["black",-12.506389617919922],["occupe",-12.50658893585205],["itățile",-12.506688117980957],["Pay",-12.506887435913086],["▁bandwidth",-12.506890296936035],["▁neighbourhood",-12.506918907165527],["▁Gutschein",-12.506922721862793],["degree",-12.507055282592773],["ivité",-12.507116317749023],["4.1",-12.507169723510742],["▁tätig",-12.507170677185059],["topic",-12.507242202758789],["ätz",-12.507243156433105],["these",-12.50733470916748],["▁propriété",-12.507438659667969],["▁innings",-12.507458686828613],["▁Prevention",-12.50754165649414],["▁Saw",-12.507585525512695],["▁opener",-12.507752418518066],["entwicklung",-12.507824897766113],["▁Johann",-12.507865905761719],["▁statistic",-12.507881164550781],["oids",-12.507966995239258],["▁Delaware",-12.508000373840332],["▁Isle",-12.508001327514648],["▁accompagn",-12.508028984069824],["▁Risiko",-12.508079528808594],["▁Conform",-12.508268356323242],["zeichnen",-12.508395195007324],["▁acuz",-12.508479118347168],["▁Mort",-12.508524894714355],["Fällen",-12.50853157043457],["▁blended",-12.50871467590332],["found",-12.50872802734375],["▁gestalten",-12.50874137878418],["▁Découvrez",-12.508830070495605],["▁Wett",-12.508956909179688],["▁débat",-12.508990287780762],["▁Tire",-12.509007453918457],["benz",-12.509037017822266],["Yes",-12.509074211120605],["▁pierde",-12.509110450744629],["▁niciodata",-12.509121894836426],["▁precipit",-12.509145736694336],["▁lazy",-12.509334564208984],["▁creature",-12.509370803833008],["Wettbewerb",-12.509385108947754],["▁Explo",-12.509496688842773],["wolf",-12.509657859802246],["▁conséquence",-12.509662628173828],["▁jewellery",-12.509662628173828],["▁Extension",-12.509735107421875],["▁transmitted",-12.509872436523438],["▁darker",-12.509973526000977],["▁simbol",-12.510065078735352],["kim",-12.510069847106934],["▁proteja",-12.510098457336426],["▁Copper",-12.510189056396484],["mitglied",-12.510218620300293],["▁explosive",-12.510222434997559],["▁Nicolae",-12.510223388671875],["▁intricate",-12.510231971740723],["lati",-12.510313034057617],["Mark",-12.510334014892578],["▁Porsche",-12.510339736938477],["▁Revenue",-12.510479927062988],["4.2",-12.510613441467285],["certain",-12.510836601257324],["▁Coaching",-12.510879516601562],["▁allocated",-12.510879516601562],["▁optimiz",-12.511017799377441],["▁heel",-12.511205673217773],["▁indigenous",-12.511330604553223],["▁vineri",-12.511396408081055],["▁Inspector",-12.51145076751709],["▁colleague",-12.5115327835083],["ANG",-12.511649131774902],["éducation",-12.511887550354004],["▁Geschenk",-12.51188850402832],["channel",-12.511899948120117],["▁trapped",-12.511954307556152],["BF",-12.511974334716797],["▁firing",-12.512086868286133],["▁chlor",-12.512103080749512],["▁Carlos",-12.512115478515625],["▁proxy",-12.512128829956055],["▁pinch",-12.512167930603027],["▁Pete",-12.512201309204102],["phospho",-12.512458801269531],["▁waiver",-12.51246452331543],["▁Croatia",-12.512480735778809],["▁behave",-12.51258373260498],["▁frig",-12.512676239013672],["▁Vorteil",-12.51279067993164],["▁wichtiger",-12.512837409973145],["........",-12.512929916381836],["▁flick",-12.513007164001465],["▁Stanford",-12.51306438446045],["öse",-12.513096809387207],["▁Fernseh",-12.513099670410156],["▁vélo",-12.51322078704834],["reisen",-12.513304710388184],["residing",-12.513504981994629],["▁Taste",-12.513580322265625],["▁disappeared",-12.513630867004395],["▁Hood",-12.513776779174805],["▁fabriqu",-12.514046669006348],["▁Jake",-12.514470100402832],["Lastly",-12.51462173461914],["▁furnace",-12.514673233032227],["▁Ottawa",-12.51473331451416],["▁dictate",-12.514742851257324],["zece",-12.514817237854004],["protect",-12.514932632446289],["FU",-12.51495361328125],["Stack",-12.514954566955566],["▁teilweise",-12.515018463134766],["▁Publisher",-12.51506233215332],["▁lutte",-12.515159606933594],["202",-12.515178680419922],["psy",-12.515190124511719],["▁wünschen",-12.515238761901855],["▁pathways",-12.515356063842773],["ivitate",-12.515559196472168],["▁continuă",-12.515658378601074],["ziemlich",-12.515791893005371],["verted",-12.515812873840332],["▁sequel",-12.515839576721191],["tinct",-12.51599407196045],["vette",-12.516020774841309],["▁exceeding",-12.516032218933105],["▁Yorkshire",-12.51607608795166],["▁cleanse",-12.51613998413086],["Sadly",-12.516159057617188],["▁präsentiert",-12.516164779663086],["angled",-12.516311645507812],["tude",-12.516339302062988],["chain",-12.516371726989746],["▁Oakland",-12.51639175415039],["xia",-12.516514778137207],["▁foremost",-12.51653003692627],["▁incomplete",-12.516786575317383],["▁restriction",-12.516905784606934],["▁whatsoever",-12.516908645629883],["▁shipment",-12.517017364501953],["**",-12.517059326171875],["Aici",-12.517110824584961],["PART",-12.517247200012207],["▁grams",-12.517251014709473],["▁Folk",-12.517457008361816],["▁encryption",-12.517467498779297],["▁Alfred",-12.517748832702637],["▁Veränderung",-12.517749786376953],["▁privately",-12.517817497253418],["£",-12.517909049987793],["▁Sonne",-12.51799201965332],["kow",-12.518117904663086],["▁CBS",-12.518172264099121],["▁Feuer",-12.518198013305664],["▁crushed",-12.518230438232422],["▁cazare",-12.518270492553711],["▁beraten",-12.518401145935059],["envoi",-12.518423080444336],["▁genannt",-12.51843547821045],["▁Lok",-12.518472671508789],["nox",-12.518569946289062],["wishing",-12.518759727478027],["▁freak",-12.518759727478027],["rasi",-12.51879596710205],["▁calculations",-12.518888473510742],["▁sprechen",-12.51890754699707],["5:00",-12.519062042236328],["▁Gam",-12.519074440002441],["▁invasion",-12.519159317016602],["ZA",-12.519230842590332],["aiming",-12.519327163696289],["▁näher",-12.519404411315918],["▁Maßnahmen",-12.519433975219727],["▁măsură",-12.519490242004395],["▁Bestellung",-12.519610404968262],["▁gown",-12.519665718078613],["▁oblige",-12.519747734069824],["länder",-12.51977825164795],["posi",-12.519853591918945],["▁Earn",-12.51988410949707],["▁dubl",-12.51999282836914],["▁sticky",-12.520100593566895],["▁litter",-12.520181655883789],["▁Salz",-12.520257949829102],["▁Matter",-12.520272254943848],["▁Driving",-12.520275115966797],["▁pursu",-12.520285606384277],["ographer",-12.520390510559082],["▁touring",-12.520400047302246],["opter",-12.520444869995117],["▁fierce",-12.520475387573242],["▁Audit",-12.520480155944824],["▁imperi",-12.520755767822266],["▁positiv",-12.520780563354492],["règles",-12.520849227905273],["▁bouton",-12.520990371704102],["▁victorie",-12.520990371704102],["▁manuel",-12.521015167236328],["▁await",-12.52103042602539],["▁transformer",-12.521041870117188],["▁cupboard",-12.52108383178711],["▁Hag",-12.521117210388184],["naj",-12.521214485168457],["▁annoncé",-12.52139663696289],["▁scolaire",-12.521401405334473],["▁étape",-12.521482467651367],["▁pirate",-12.521761894226074],["▁Rated",-12.521794319152832],["LOT",-12.521846771240234],["▁natura",-12.521944046020508],["oga",-12.522336959838867],["Read",-12.522388458251953],["idio",-12.522444725036621],["▁recession",-12.522698402404785],["veţi",-12.522761344909668],["▁blossom",-12.523082733154297],["▁lunar",-12.523141860961914],["▁inhibit",-12.52316951751709],["gemein",-12.523219108581543],["▁Historic",-12.523262023925781],["▁HTTP",-12.523370742797852],["misiune",-12.5234956741333],["▁Manda",-12.523601531982422],["▁Hurricane",-12.523643493652344],["Strat",-12.523646354675293],["▁populaire",-12.523756980895996],["▁useless",-12.523762702941895],["▁Leipzig",-12.523924827575684],["▁Krankheit",-12.52392578125],["▁Bonne",-12.52397346496582],["▁tissu",-12.52399730682373],["▁Baum",-12.523998260498047],["▁BUT",-12.524152755737305],["▁Mondial",-12.52423095703125],["▁triangle",-12.524242401123047],["▁Tesla",-12.524250984191895],["▁pământ",-12.52430534362793],["▁aminte",-12.524726867675781],["▁vehicul",-12.524770736694336],["▁cerut",-12.52482795715332],["▁respiratory",-12.524836540222168],["▁rayon",-12.524993896484375],["▁gestaltet",-12.525067329406738],["310",-12.525139808654785],["pfl",-12.525239944458008],["▁shrimp",-12.525337219238281],["▁reconnu",-12.525409698486328],["ologique",-12.525476455688477],["▁unity",-12.525674819946289],["Speicher",-12.52569580078125],["▁Movement",-12.525794982910156],["ddling",-12.52581787109375],["OE",-12.525818824768066],["▁Resolution",-12.525863647460938],["esteem",-12.525898933410645],["▁Teen",-12.526288986206055],["▁believing",-12.526463508605957],["▁Tipps",-12.526481628417969],["jpg",-12.526494026184082],["▁obs",-12.526519775390625],["SHA",-12.526702880859375],["▁quietly",-12.526907920837402],["setting",-12.52712345123291],["▁elevator",-12.527185440063477],["phor",-12.527194023132324],["Just",-12.52725887298584],["▁legatura",-12.52739143371582],["elected",-12.527414321899414],["▁disclosed",-12.527419090270996],["quarter",-12.52743148803711],["zzy",-12.527461051940918],["▁gata",-12.527491569519043],["SAN",-12.527532577514648],["▁Cathedral",-12.527592658996582],["192",-12.527656555175781],["▁RBI",-12.527726173400879],["▁Seller",-12.527798652648926],["▁urine",-12.527807235717773],["▁Hardware",-12.527966499328613],["▁steadi",-12.527993202209473],["percussion",-12.528158187866211],["▁francez",-12.528172492980957],["▁rude",-12.528202056884766],["bod",-12.528223037719727],["cession",-12.528249740600586],["▁HTC",-12.528372764587402],["HB",-12.528576850891113],["▁descent",-12.528644561767578],["▁Painting",-12.528681755065918],["119",-12.528684616088867],["sagen",-12.52877426147461],["▁salvation",-12.52880573272705],["arro",-12.528814315795898],["0.3",-12.52886962890625],["▁Duck",-12.52890396118164],["Mit",-12.529052734375],["да",-12.52927017211914],["▁Diesel",-12.529322624206543],["▁Medal",-12.529413223266602],["▁interim",-12.529439926147461],["▁montagne",-12.529439926147461],["▁Pixel",-12.529631614685059],["LINE",-12.529806137084961],["▁dureri",-12.529938697814941],["▁Bengal",-12.529990196228027],["Legea",-12.530080795288086],["▁Strecke",-12.530094146728516],["▁schneller",-12.53012752532959],["▁Karten",-12.5301513671875],["cion",-12.530241966247559],["▁Coco",-12.53037166595459],["troisième",-12.53052806854248],["401",-12.530616760253906],["▁sandwiches",-12.530704498291016],["▁folosind",-12.530920028686523],["▁Folgen",-12.530953407287598],["▁triumph",-12.530991554260254],["▁Hintergrund",-12.530996322631836],["▁revelation",-12.531084060668945],["ôme",-12.531222343444824],["▁Nex",-12.531245231628418],["jährigen",-12.531295776367188],["▁militant",-12.531296730041504],["▁fabricant",-12.531671524047852],["iano",-12.531713485717773],["▁formulation",-12.53188705444336],["integrating",-12.532050132751465],["▁Items",-12.532142639160156],["▁contractual",-12.532320976257324],["AIDS",-12.532424926757812],["▁pitcher",-12.532610893249512],["▁Snap",-12.532623291015625],["▁systematic",-12.532663345336914],["▁referendum",-12.532694816589355],["gau",-12.53281021118164],["administration",-12.532917022705078],["▁speci",-12.532981872558594],["ieni",-12.532998085021973],["prox",-12.533186912536621],["▁bouquet",-12.533241271972656],["▁sinnvoll",-12.533270835876465],["▁Fleisch",-12.533309936523438],["ktuell",-12.533381462097168],["▁mushrooms",-12.533408164978027],["▁Straf",-12.533470153808594],["▁cresc",-12.533491134643555],["TEM",-12.533502578735352],["▁vindec",-12.53352165222168],["▁Drama",-12.533540725708008],["chief",-12.533550262451172],["▁müsst",-12.533614158630371],["▁Warner",-12.533662796020508],["118",-12.533761024475098],["▁saptamana",-12.533831596374512],["▁animaux",-12.53412914276123],["▁Directory",-12.534146308898926],["▁entgegen",-12.53415584564209],["▁deduction",-12.534156799316406],["▁Strategic",-12.53426456451416],["▁rats",-12.534419059753418],["▁Moses",-12.534448623657227],["eko",-12.534564971923828],["strict",-12.534590721130371],["▁Ashley",-12.534603118896484],["mik",-12.534622192382812],["▁relocate",-12.534668922424316],["▁whip",-12.534738540649414],["central",-12.534750938415527],["mack",-12.534892082214355],["stufe",-12.534961700439453],["▁Metropolitan",-12.5349702835083],["▁croissance",-12.534974098205566],["▁celebrities",-12.535021781921387],["▁Geh",-12.53507137298584],["▁verifica",-12.535196304321289],["▁satisfac",-12.535211563110352],["▁Julian",-12.535271644592285],["▁remotely",-12.535432815551758],["▁Safari",-12.535542488098145],["▁Chic",-12.53557014465332],["▁clamp",-12.535818099975586],["▁Schnee",-12.535918235778809],["grown",-12.536069869995117],["▁Character",-12.536110877990723],["▁charities",-12.536137580871582],["Thankfully",-12.536625862121582],["▁țară",-12.53681468963623],["IZ",-12.536816596984863],["Vielleicht",-12.536999702453613],["▁Pon",-12.537108421325684],["gegen",-12.53711986541748],["chez",-12.537185668945312],["Black",-12.537544250488281],["▁alimentare",-12.537555694580078],["▁verloren",-12.537562370300293],["▁predictions",-12.537657737731934],["Founded",-12.53795337677002],["▁femeie",-12.538022994995117],["wahrscheinlich",-12.538107872009277],["▁squeeze",-12.53819465637207],["▁verfügbar",-12.538259506225586],["▁hygiene",-12.538393020629883],["voire",-12.538667678833008],["▁birou",-12.538901329040527],["▁initiate",-12.538921356201172],["▁Patriot",-12.539009094238281],["▁Income",-12.539159774780273],["▁marry",-12.539310455322266],["lokal",-12.539336204528809],["logic",-12.53940486907959],["▁Abstract",-12.53966236114502],["▁grundsätzlich",-12.539822578430176],["▁tariff",-12.539886474609375],["▁definitiv",-12.539892196655273],["paz",-12.53989315032959],["Result",-12.539921760559082],["1:30",-12.54005241394043],["▁Latest",-12.540075302124023],["▁Dauer",-12.540155410766602],["Med",-12.540275573730469],["gewicht",-12.540348052978516],["▁Gaza",-12.540430068969727],["▁Newton",-12.540769577026367],["Dokument",-12.540897369384766],["formular",-12.540945053100586],["ILE",-12.540964126586914],["▁surse",-12.541040420532227],["MH",-12.54116153717041],["▁Arctic",-12.541255950927734],["▁ISBN",-12.541274070739746],["▁quarterback",-12.541315078735352],["▁absurd",-12.541555404663086],["▁Zusammenhang",-12.541561126708984],["▁Module",-12.54156494140625],["mented",-12.541667938232422],["worthy",-12.541797637939453],["▁célèbre",-12.541828155517578],["▁maritime",-12.541836738586426],["▁Reed",-12.541938781738281],["▁threaten",-12.542037010192871],["▁Satz",-12.542095184326172],["▁sticking",-12.542203903198242],["▁transcript",-12.542372703552246],["▁Morgen",-12.542425155639648],["▁Förder",-12.542435646057129],["▁Gottes",-12.542572021484375],["▁Coordinator",-12.542648315429688],["LOG",-12.54265022277832],["EAN",-12.542677879333496],["▁préparation",-12.54273509979248],["▁Brass",-12.542799949645996],["Așa",-12.542853355407715],["▁Utiliz",-12.54294490814209],["framed",-12.542973518371582],["▁asphalt",-12.543050765991211],["116",-12.543061256408691],["▁historically",-12.54310417175293],["▁doamn",-12.543176651000977],["Air",-12.543293952941895],["▁economist",-12.543838500976562],["fresh",-12.54384994506836],["engine",-12.543906211853027],["▁Rücken",-12.543919563293457],["▁worthwhile",-12.544124603271484],["▁Therapie",-12.544140815734863],["▁Joshua",-12.544151306152344],["sicherheit",-12.544175148010254],["▁scena",-12.544254302978516],["ifiant",-12.54433822631836],["/20",-12.54442024230957],["fehl",-12.544469833374023],["karten",-12.544515609741211],["501",-12.544656753540039],["▁vide",-12.544673919677734],["▁miliarde",-12.544699668884277],["▁trillion",-12.54470157623291],["oudre",-12.544761657714844],["nderung",-12.544803619384766],["▁inquiries",-12.544992446899414],["▁echipe",-12.545034408569336],["▁investiga",-12.545040130615234],["▁detailing",-12.545042991638184],["VIS",-12.545086860656738],["▁geographical",-12.545157432556152],["▁authentication",-12.54519271850586],["▁Schwa",-12.545201301574707],["▁Scri",-12.545230865478516],["▁discourage",-12.54527473449707],["Pass",-12.54529094696045],["▁scattered",-12.54529857635498],["▁langsam",-12.545300483703613],["telles",-12.545380592346191],["▁ramane",-12.5454740524292],["▁inhibitor",-12.545486450195312],["▁Habit",-12.54556941986084],["▁10:00",-12.545577049255371],["▁rezultat",-12.545595169067383],["äck",-12.545943260192871],[",000.",-12.545979499816895],["▁remedies",-12.546103477478027],["▁comportament",-12.546195983886719],["namen",-12.546229362487793],["▁#3",-12.546327590942383],["enstein",-12.546493530273438],["▁relevance",-12.546516418457031],["▁présentation",-12.54655933380127],["MHz",-12.546648979187012],["EMA",-12.546661376953125],["▁palace",-12.546709060668945],["▁vizibil",-12.546723365783691],["▁griev",-12.546820640563965],["▁severely",-12.54688549041748],["expert",-12.546942710876465],["▁ravi",-12.54696273803711],["▁feasible",-12.547002792358398],["▁Wholesale",-12.547009468078613],["▁graduat",-12.547077178955078],["Kü",-12.547094345092773],["▁quotation",-12.547157287597656],["/11",-12.54716968536377],["lutter",-12.547415733337402],["▁dice",-12.547467231750488],["modal",-12.547749519348145],["ggling",-12.547819137573242],["▁considér",-12.547986030578613],["▁Insel",-12.548097610473633],["▁Database",-12.5483980178833],["icism",-12.548508644104004],["▁quarterly",-12.54851245880127],["▁formule",-12.548558235168457],["▁renouvel",-12.54873275756836],["▁Treasure",-12.548737525939941],["▁1962",-12.548844337463379],["▁republic",-12.549111366271973],["▁États",-12.549254417419434],["▁salut",-12.549356460571289],["HK",-12.54941463470459],["▁Bali",-12.549427032470703],["▁Rechnung",-12.549447059631348],["fruit",-12.54945182800293],["lays",-12.549467086791992],["LAS",-12.54951000213623],["inclin",-12.549708366394043],["▁Cré",-12.549813270568848],["▁compt",-12.54985237121582],["țiilor",-12.550056457519531],["heft",-12.550111770629883],["▁Comisi",-12.55024242401123],["▁Nurse",-12.550516128540039],["loid",-12.550540924072266],["grove",-12.550761222839355],["▁Copy",-12.550867080688477],["▁Kampf",-12.550873756408691],["izată",-12.550945281982422],["würdig",-12.551244735717773],["-2018",-12.551305770874023],["ozo",-12.551350593566895],["▁integriert",-12.551397323608398],["▁réunion",-12.551448822021484],["▁mică",-12.551520347595215],["▁Chau",-12.551595687866211],["▁allegations",-12.551626205444336],["▁shaping",-12.551640510559082],["▁transcription",-12.551671981811523],["▁Monica",-12.551711082458496],["▁torture",-12.551795959472656],["▁cooperative",-12.551962852478027],["▁invité",-12.551987648010254],["▁bamboo",-12.552204132080078],["▁Thinking",-12.55232048034668],["▁gratis",-12.552392959594727],["117",-12.55267333984375],["renz",-12.55279541015625],["▁Fußball",-12.552823066711426],["▁Gram",-12.552873611450195],["sprung",-12.55290412902832],["▁Schluss",-12.55308723449707],["▁Diploma",-12.553345680236816],["▁apparatus",-12.553363800048828],["notably",-12.553483963012695],["▁exercit",-12.553532600402832],["ământ",-12.553536415100098],["▁masses",-12.553610801696777],["▁preuve",-12.553642272949219],["great",-12.553754806518555],["▁Drink",-12.553792953491211],["islam",-12.553828239440918],["ARM",-12.553914070129395],["indre",-12.554404258728027],["DW",-12.554410934448242],["▁Flowers",-12.554500579833984],["▁pill",-12.554574966430664],["▁objectifs",-12.554594039916992],["▁Bezug",-12.554659843444824],["▁assumptions",-12.55466365814209],["▁vesti",-12.554742813110352],["route",-12.554783821105957],["▁Bangkok",-12.554815292358398],["▁seamlessly",-12.55482006072998],["config",-12.554882049560547],["▁username",-12.554890632629395],["unsure",-12.555024147033691],["▁poser",-12.555129051208496],["▁impozit",-12.555246353149414],["▁metode",-12.555333137512207],["defending",-12.555347442626953],["▁Nic",-12.555431365966797],["▁Vertrag",-12.555508613586426],["▁plăcut",-12.55552864074707],["▁Pou",-12.555675506591797],["UCH",-12.555785179138184],["▁Fein",-12.555903434753418],["reading",-12.555994987487793],["snip",-12.55604076385498],["▁Livre",-12.556401252746582],["lander",-12.556509971618652],["▁hydraulic",-12.556559562683105],["veiled",-12.556563377380371],["intr",-12.556609153747559],["▁Domnului",-12.556641578674316],["▁$0.",-12.556713104248047],["▁kilometers",-12.556753158569336],["spann",-12.556870460510254],["▁credibility",-12.556892395019531],["▁eBook",-12.556953430175781],["VERY",-12.556994438171387],["▁Charm",-12.557122230529785],["Evangeli",-12.557193756103516],["▁anderer",-12.557193756103516],["▁Entry",-12.557195663452148],["ffy",-12.5573148727417],["▁Exc",-12.55737018585205],["▁Omega",-12.557446479797363],["▁Funktionen",-12.557455062866211],["▁Gay",-12.55752182006836],["▁acht",-12.557608604431152],["colored",-12.557615280151367],["itude",-12.557634353637695],["▁accompagné",-12.557645797729492],["▁unfortunate",-12.557981491088867],["▁DIN",-12.558091163635254],["▁installment",-12.558252334594727],["▁indépendant",-12.558307647705078],["These",-12.558364868164062],["mitten",-12.558394432067871],["thank",-12.558470726013184],["▁Trek",-12.558721542358398],["üchte",-12.55874252319336],["▁cuir",-12.55875015258789],["▁turbo",-12.558802604675293],["Table",-12.558847427368164],["▁Extrem",-12.558866500854492],["▁advertisements",-12.55915355682373],["▁chaîne",-12.559206008911133],["▁corridor",-12.559473991394043],["▁râ",-12.559651374816895],["▁Opening",-12.559718132019043],["Get",-12.559747695922852],["▁storytelling",-12.55976676940918],["▁severity",-12.559771537780762],["4\"",-12.559956550598145],["▁parasit",-12.559967994689941],["angebot",-12.56002426147461],["Data",-12.56005573272705],["listen",-12.560086250305176],["▁vârstă",-12.560094833374023],["▁swallow",-12.56025505065918],["TRE",-12.560321807861328],["▁daunting",-12.56035041809082],["▁Oli",-12.560481071472168],["▁definitive",-12.56066608428955],["▁rezerva",-12.560667037963867],["/15",-12.560807228088379],["▁Landschaft",-12.560887336730957],["▁Automotive",-12.560934066772461],["▁convers",-12.56113052368164],["▁thru",-12.561139106750488],["▁Township",-12.561140060424805],["▁tilt",-12.56119441986084],["▁Criminal",-12.561227798461914],["riez",-12.561407089233398],["▁Parking",-12.561440467834473],["▁humanitarian",-12.561518669128418],["▁Kilometer",-12.561529159545898],["controlled",-12.56189250946045],["▁Klick",-12.561910629272461],["support",-12.56199836730957],["handed",-12.562005996704102],["ämtliche",-12.562104225158691],["access",-12.562232971191406],["▁eleven",-12.562232971191406],["▁ferry",-12.56229305267334],["zieren",-12.562620162963867],["▁Gebrauch",-12.562688827514648],["▁vigoare",-12.562689781188965],["MON",-12.562756538391113],["fox",-12.562886238098145],["bestimmten",-12.562894821166992],["▁Gur",-12.563069343566895],["▁Mannschaft",-12.563146591186523],["▁patrol",-12.563173294067383],["▁casă",-12.563376426696777],["▁Stories",-12.563380241394043],["▁robotic",-12.563425064086914],["tiri",-12.563576698303223],["gewiesen",-12.5636568069458],["CV",-12.563722610473633],["▁parinti",-12.563899040222168],["▁Owen",-12.563931465148926],["▁Katie",-12.564116477966309],["▁Combine",-12.56422233581543],["enfalls",-12.56442928314209],["▁financière",-12.564447402954102],["▁parliament",-12.564549446105957],["▁Weekend",-12.564616203308105],["▁Sonic",-12.564757347106934],["▁fixture",-12.56479263305664],["majorité",-12.56497573852539],["▁gravel",-12.565028190612793],["realizate",-12.565109252929688],["examining",-12.565113067626953],["▁grim",-12.5653657913208],["▁stabili",-12.565458297729492],["▁Wochenende",-12.56551456451416],["▁Hebrew",-12.565597534179688],["▁Harrison",-12.565799713134766],["▁boundary",-12.565858840942383],["40,000",-12.565902709960938],["▁Ambassador",-12.566208839416504],["▁scoate",-12.566229820251465],["ffin",-12.56623363494873],["▁crème",-12.566269874572754],["▁obiecte",-12.566378593444824],["enţa",-12.566763877868652],["▁subsidiary",-12.566797256469727],["▁Franco",-12.56688404083252],["▁visuel",-12.567042350769043],["▁uitat",-12.56708812713623],["▁revisit",-12.567122459411621],["▁Camping",-12.567150115966797],["▁Divine",-12.567304611206055],["4-6",-12.567323684692383],["▁Brandon",-12.567378997802734],["ма",-12.567450523376465],["sofern",-12.56745433807373],["ntweder",-12.56748104095459],["▁Shoot",-12.567618370056152],["étais",-12.56771183013916],["SPEC",-12.567930221557617],["▁dreapta",-12.567973136901855],["▁repaired",-12.568055152893066],["pyr",-12.568136215209961],["▁warranties",-12.568175315856934],["▁représent",-12.568263053894043],["ADE",-12.568293571472168],["▁selective",-12.56836223602295],["▁Banking",-12.568441390991211],["▁ergonomic",-12.568562507629395],["...”",-12.568602561950684],["▁willingness",-12.56867790222168],["isser",-12.568784713745117],["▁confection",-12.568961143493652],["admi",-12.569009780883789],["▁Freizeit",-12.569023132324219],["▁illuminate",-12.569151878356934],["▁Repeat",-12.569170951843262],["▁Zeitpunkt",-12.56933879852295],["claimed",-12.569439888000488],["▁erhältlich",-12.569480895996094],["▁paysage",-12.569537162780762],["▁Atom",-12.569890022277832],["▁Graf",-12.570086479187012],["▁firmware",-12.570093154907227],["▁Swift",-12.570180892944336],["▁cercetare",-12.57018756866455],["▁internațional",-12.570330619812012],["▁zombie",-12.570330619812012],["▁Spread",-12.57050609588623],["ECO",-12.57056999206543],["▁Gestaltung",-12.570758819580078],["rast",-12.570858001708984],["▁perfume",-12.5709228515625],["▁roulette",-12.570924758911133],["▁distill",-12.57096004486084],["▁Produkten",-12.570992469787598],["225",-12.571310043334961],["facing",-12.571371078491211],["▁paradigm",-12.571514129638672],["▁Rah",-12.571532249450684],["▁Renault",-12.571846961975098],["willig",-12.571864128112793],["▁Vet",-12.571890830993652],["▁reprezenta",-12.572126388549805],["stoß",-12.572185516357422],["▁Weiß",-12.5722074508667],["▁Solo",-12.572210311889648],["▁Jin",-12.572646141052246],["▁Brussels",-12.572693824768066],["▁Tournament",-12.572693824768066],["▁proced",-12.572710037231445],["▁Rabbi",-12.572835922241211],["▁gameplay",-12.572851181030273],["▁ATM",-12.572901725769043],["▁firearm",-12.572906494140625],["revealing",-12.573003768920898],["schütz",-12.57310676574707],["▁Absolutely",-12.573288917541504],["▁interference",-12.573433876037598],["▁Employment",-12.573558807373047],["▁chord",-12.57356071472168],["▁oportun",-12.573585510253906],["▁frontier",-12.573770523071289],["▁Lunch",-12.573891639709473],["bread",-12.57397174835205],["▁rendered",-12.573976516723633],["5.1",-12.573984146118164],["▁motif",-12.574066162109375],["▁Schlag",-12.574227333068848],["113",-12.574264526367188],["▁Deux",-12.574288368225098],["▁surplus",-12.574309349060059],["ALS",-12.574417114257812],["▁abortion",-12.574472427368164],["▁airplane",-12.574475288391113],["▁migrants",-12.574501991271973],["kli",-12.574539184570312],["▁crochet",-12.57454776763916],["fahrer",-12.574671745300293],["▁reconstruction",-12.57471752166748],["▁difer",-12.574752807617188],["▁Conserv",-12.57478141784668],["▁NSW",-12.57479476928711],["▁regim",-12.574844360351562],["▁Except",-12.574904441833496],["▁trage",-12.574978828430176],["▁Consiliul",-12.575058937072754],["▁Bedarf",-12.575064659118652],["▁additive",-12.5750732421875],["know",-12.5751371383667],["▁sauna",-12.57517147064209],["▁mortality",-12.575201034545898],["kräftig",-12.575358390808105],["▁Own",-12.575445175170898],["nzo",-12.575519561767578],["▁villes",-12.575543403625488],["▁recette",-12.575749397277832],["▁attacking",-12.575799942016602],["beruf",-12.57608699798584],["▁integrat",-12.57612419128418],["realizarea",-12.576201438903809],["▁exemption",-12.57628345489502],["GW",-12.576285362243652],["▁Nano",-12.576395034790039],["SCH",-12.576440811157227],["▁honesty",-12.576457023620605],["▁Arriv",-12.576515197753906],["▁gland",-12.576542854309082],["▁proactive",-12.576746940612793],["▁agile",-12.576837539672852],["▁kernel",-12.576844215393066],["▁nurture",-12.576860427856445],["▁Patent",-12.576963424682617],["▁excursi",-12.577189445495605],["pulsion",-12.577326774597168],["stellte",-12.577351570129395],["ständige",-12.577421188354492],["▁Rebecca",-12.577436447143555],["▁Securities",-12.577436447143555],["mètre",-12.577446937561035],["LOW",-12.577469825744629],["▁consilier",-12.577537536621094],["▁Architekt",-12.577733993530273],["▁china",-12.57777214050293],["älfte",-12.577778816223145],["▁Combin",-12.577795028686523],["480",-12.577999114990234],["liv",-12.578021049499512],["▁peur",-12.578067779541016],["keep",-12.57822322845459],["▁Verhalten",-12.578324317932129],["▁peek",-12.578446388244629],["▁dient",-12.578550338745117],["▁prevazut",-12.578625679016113],["Emmanuel",-12.57862663269043],["▁incidence",-12.57862663269043],["▁Framework",-12.578715324401855],["dass",-12.578816413879395],["artiste",-12.578874588012695],["▁Accept",-12.578971862792969],["▁plunge",-12.579073905944824],["chauff",-12.579118728637695],["▁guilt",-12.579156875610352],["▁senator",-12.57945442199707],["▁disable",-12.579776763916016],["▁partout",-12.579901695251465],["JC",-12.580045700073242],["▁Highly",-12.580150604248047],["▁beneficii",-12.58021068572998],["fibro",-12.580347061157227],["interpreted",-12.580550193786621],["▁genauso",-12.58056354522705],["▁basil",-12.580601692199707],["▁Angst",-12.580697059631348],["rzte",-12.580933570861816],["Master",-12.58112907409668],["▁french",-12.581324577331543],["▁Duration",-12.581343650817871],["HM",-12.581402778625488],["▁Bert",-12.581518173217773],["▁1963",-12.581534385681152],["▁warrior",-12.581604957580566],["2007",-12.581696510314941],["▁recycle",-12.581722259521484],["▁fertiliz",-12.581808090209961],["▁hatch",-12.581809997558594],["ISH",-12.581811904907227],["luft",-12.582321166992188],["▁crying",-12.582452774047852],["▁activist",-12.5824613571167],["schränkt",-12.582500457763672],["▁diff",-12.582500457763672],["▁Demand",-12.58262825012207],["▁transported",-12.582669258117676],["▁Remodel",-12.582686424255371],["▁Etats",-12.582704544067383],["ANI",-12.582777976989746],["▁spéciale",-12.582804679870605],["▁Konzert",-12.582805633544922],["▁Bedürfnisse",-12.58281135559082],["▁overlooked",-12.582864761352539],["▁cutter",-12.582974433898926],["klär",-12.58311939239502],["▁Materialien",-12.583135604858398],["▁gewisse",-12.583388328552246],["bull",-12.583499908447266],["Good",-12.583513259887695],["Gig",-12.583616256713867],["Logic",-12.583736419677734],["▁Schlaf",-12.583970069885254],["▁Yankee",-12.583996772766113],["▁Batman",-12.584020614624023],["▁funcție",-12.584166526794434],["▁partenariat",-12.584294319152832],["▁Antrag",-12.584348678588867],["▁Pill",-12.584519386291504],["▁tram",-12.584637641906738],["▁Minor",-12.58465576171875],["pertaining",-12.584678649902344],["▁apropiere",-12.584843635559082],["▁Barack",-12.584965705871582],["schön",-12.585174560546875],["▁Sandy",-12.585182189941406],["kilometre",-12.585192680358887],["▁diy",-12.585234642028809],["▁1966",-12.585453987121582],["gelassen",-12.585485458374023],["▁Trial",-12.585592269897461],["▁Bauer",-12.585603713989258],["▁assumption",-12.585648536682129],["birth",-12.585668563842773],["rechnen",-12.585861206054688],["▁meci",-12.585867881774902],["▁gloss",-12.585906982421875],["▁sewer",-12.58593463897705],["▁Stimme",-12.585955619812012],["▁Fortune",-12.585967063903809],["▁Lösungen",-12.586007118225098],["▁impresi",-12.586074829101562],["schlaf",-12.586089134216309],["prüfung",-12.586097717285156],["▁instalat",-12.586198806762695],["▁picturesque",-12.586233139038086],["vait",-12.586240768432617],["8.1",-12.58629035949707],["▁călători",-12.586392402648926],["▁dix",-12.586400032043457],["▁furnished",-12.586411476135254],["▁dolari",-12.586445808410645],["▁regener",-12.586562156677246],["▁astazi",-12.586621284484863],["▁Sprach",-12.586750030517578],["delà",-12.586846351623535],["avec",-12.58694076538086],["▁Buddhist",-12.586990356445312],["▁alphabet",-12.586990356445312],["▁berichtet",-12.587201118469238],["ideally",-12.587209701538086],["▁annuel",-12.587421417236328],["▁laughing",-12.587532997131348],["▁Zustand",-12.587639808654785],["cini",-12.587692260742188],["solid",-12.587724685668945],["▁Broker",-12.587868690490723],["▁developmental",-12.5879545211792],["▁Summary",-12.588191032409668],["▁Trinity",-12.58819580078125],["▁sucre",-12.58821964263916],["▁sandal",-12.588231086730957],["PEN",-12.588274955749512],["gewinn",-12.588486671447754],["olé",-12.588555335998535],["matric",-12.58865737915039],["xton",-12.588695526123047],["werten",-12.588740348815918],["▁Dust",-12.588765144348145],["▁Journey",-12.588791847229004],["▁Rush",-12.588793754577637],["▁NCAA",-12.588839530944824],["▁allgemeine",-12.588926315307617],["▁Universe",-12.589007377624512],["▁connais",-12.589099884033203],["▁quantité",-12.58912467956543],["▁Kab",-12.589150428771973],["▁purse",-12.589150428771973],["Health",-12.589210510253906],["▁apărut",-12.589288711547852],["▁bypass",-12.589313507080078],["pronounced",-12.58936595916748],["▁magnitude",-12.589393615722656],["▁Walmart",-12.589394569396973],["ède",-12.589409828186035],["▁serum",-12.589590072631836],["▁baseline",-12.589765548706055],["STER",-12.589932441711426],["▁ONLY",-12.590052604675293],["▁individuell",-12.590086936950684],["▁Ghi",-12.590139389038086],["▁Ruby",-12.59020709991455],["▁Chal",-12.590241432189941],["▁Vier",-12.590261459350586],["5.0",-12.5903902053833],["▁fog",-12.590519905090332],["esel",-12.590557098388672],["▁Python",-12.590598106384277],["▁urmează",-12.590608596801758],["▁trustworthy",-12.590639114379883],["hört",-12.590729713439941],["▁tâche",-12.59078311920166],["Patri",-12.590799331665039],["▁grind",-12.590928077697754],["▁Raven",-12.590934753417969],["▁poursuiv",-12.590951919555664],["▁simpli",-12.591140747070312],["▁echo",-12.591165542602539],["▁Attention",-12.591313362121582],["Against",-12.591402053833008],["GET",-12.59148120880127],["▁turistic",-12.591535568237305],["▁tenure",-12.59158992767334],["▁alimentaire",-12.591651916503906],["Who",-12.59172248840332],["▁ändern",-12.591729164123535],["▁rebound",-12.591778755187988],["grenze",-12.591849327087402],["▁Fame",-12.592093467712402],["▁Kick",-12.592215538024902],["▁Detail",-12.59228801727295],["▁Push",-12.592308044433594],["production",-12.592430114746094],["▁Candidates",-12.59244441986084],["▁reușit",-12.592484474182129],["istischen",-12.592525482177734],["lassung",-12.592649459838867],["▁Hann",-12.592713356018066],["espère",-12.592965126037598],["▁vergessen",-12.593008041381836],["▁smiling",-12.593010902404785],["▁devotion",-12.593016624450684],["▁pastry",-12.593071937561035],["Add",-12.593390464782715],["▁authorization",-12.593494415283203],["▁Suisse",-12.593568801879883],["▁Berkeley",-12.593611717224121],["▁Guild",-12.593660354614258],["▁choir",-12.593748092651367],["learning",-12.593802452087402],["▁Tanz",-12.593894004821777],["mardi",-12.594076156616211],["▁rezultatele",-12.594191551208496],["▁earrings",-12.594218254089355],["▁turbine",-12.594223976135254],["▁jeudi",-12.594284057617188],["terapie",-12.594576835632324],["regain",-12.59461498260498],["SET",-12.594643592834473],["▁Hände",-12.594681739807129],["▁Globe",-12.594683647155762],["frag",-12.594775199890137],["▁Treasury",-12.594820976257324],["▁hazardous",-12.594820976257324],["▁Fahrt",-12.594928741455078],["▁fulfilled",-12.594966888427734],["▁manga",-12.594987869262695],["▁composé",-12.595067977905273],["▁ABS",-12.595132827758789],["▁preced",-12.595197677612305],["▁beauté",-12.595233917236328],["▁interessant",-12.59526252746582],["▁lieber",-12.595324516296387],["▁Kö",-12.595378875732422],["EMS",-12.595410346984863],["FER",-12.595413208007812],["▁eure",-12.595427513122559],["▁plumber",-12.595427513122559],["Love",-12.595463752746582],["▁Marcus",-12.595635414123535],["▁registry",-12.595637321472168],["▁uncle",-12.595696449279785],["▁neuf",-12.595728874206543],["▁Fläche",-12.59575080871582],["▁restaur",-12.595815658569336],["▁noticeable",-12.595833778381348],["▁riches",-12.595871925354004],["occupy",-12.596031188964844],["▁hurricane",-12.596031188964844],["▁gespeichert",-12.596033096313477],["▁Bordeaux",-12.596039772033691],["▁Maj",-12.59637451171875],["Applied",-12.596439361572266],["▁compter",-12.596575736999512],["impact",-12.59663200378418],["▁Improve",-12.596758842468262],["▁Calif",-12.596832275390625],["▁desfășur",-12.596939086914062],["▁packaged",-12.597001075744629],["180",-12.59703540802002],["devenu",-12.597042083740234],["▁Battery",-12.597243309020996],["▁objection",-12.597254753112793],["▁anual",-12.597305297851562],["▁Landscape",-12.59731674194336],["IQ",-12.597403526306152],["grès",-12.597586631774902],["▁witnesses",-12.597750663757324],["enţial",-12.597764015197754],["▁plateau",-12.597779273986816],["▁bilete",-12.59783935546875],["▁Bronze",-12.59786605834961],["▁Kiss",-12.597946166992188],["▁Serge",-12.598093032836914],["atomic",-12.598145484924316],["▁renovated",-12.59817886352539],["player",-12.598212242126465],["▁dirig",-12.598291397094727],["▁Îm",-12.598296165466309],["▁plimb",-12.59843635559082],["▁ambassador",-12.598455429077148],["▁apropiat",-12.598455429077148],["▁adaug",-12.598602294921875],["ogenic",-12.59872055053711],["kämpfe",-12.598779678344727],["▁Hillary",-12.598907470703125],["yak",-12.598942756652832],["General",-12.59925365447998],["▁Zugang",-12.599400520324707],["▁fertil",-12.599457740783691],["incat",-12.599536895751953],["assessing",-12.599587440490723],["▁Cincinnati",-12.59967041015625],["▁convincing",-12.599685668945312],["sadly",-12.59974479675293],["kunde",-12.599801063537598],["ambul",-12.599913597106934],["▁familii",-12.599974632263184],["juri",-12.60007095336914],["ionen",-12.600102424621582],["▁Wirtschaft",-12.600130081176758],["contract",-12.600135803222656],["punem",-12.600151062011719],["handlung",-12.600394248962402],["▁fournir",-12.600455284118652],["▁Ambi",-12.600663185119629],["▁Isaac",-12.600663185119629],["▁praying",-12.6007719039917],["▁Italien",-12.600848197937012],["233",-12.600850105285645],["spawn",-12.600913047790527],["▁legii",-12.60092544555664],["▁zuvor",-12.601018905639648],["▁comune",-12.601030349731445],["official",-12.601165771484375],["144",-12.601290702819824],["izeaza",-12.601329803466797],["▁Keller",-12.601372718811035],["ORE",-12.601378440856934],["122",-12.601485252380371],["incurred",-12.60150146484375],["CHA",-12.601579666137695],["▁Herzen",-12.601590156555176],["▁reasoning",-12.6016263961792],["affaire",-12.601849555969238],["ooth",-12.601890563964844],["155",-12.601998329162598],["▁invented",-12.602113723754883],["▁Comun",-12.602140426635742],["zähl",-12.602179527282715],["geliefert",-12.602212905883789],["explorer",-12.602213859558105],["nect",-12.602326393127441],["▁mercredi",-12.602408409118652],["▁volonté",-12.602408409118652],["easy",-12.602453231811523],["▁feat",-12.602490425109863],["rented",-12.602580070495605],["▁converter",-12.602592468261719],["Verhältnis",-12.602713584899902],["▁Iceland",-12.602792739868164],["▁pretul",-12.602933883666992],["▁Vorstellung",-12.602960586547852],["▁hydrogen",-12.603096008300781],["▁pouvai",-12.603097915649414],["▁dawn",-12.603153228759766],["▁Georg",-12.603269577026367],["▁cautious",-12.603367805480957],["▁Pattern",-12.603464126586914],["▁Ox",-12.603602409362793],["▁decizie",-12.603676795959473],["REC",-12.603889465332031],["▁Mortgage",-12.60393238067627],["attributed",-12.603973388671875],["floor",-12.603992462158203],["▁Wichtig",-12.604207992553711],["enseignant",-12.604265213012695],["▁civilization",-12.604302406311035],["▁dispozitie",-12.60450553894043],["▁geographic",-12.604543685913086],["▁Kun",-12.604607582092285],["LIN",-12.604679107666016],["▁auzit",-12.604707717895508],["except",-12.604761123657227],["▁superbe",-12.604904174804688],["▁installé",-12.605000495910645],["▁Peninsula",-12.605154037475586],["▁norme",-12.605164527893066],["elul",-12.60517406463623],["▁Experten",-12.605256080627441],["expression",-12.605295181274414],["Christ",-12.605320930480957],["▁Fuel",-12.605369567871094],["▁muffin",-12.605485916137695],["▁lecteur",-12.605521202087402],["▁gifted",-12.605589866638184],["▁Japon",-12.605602264404297],["▁SSD",-12.605644226074219],["▁Calgary",-12.605765342712402],["▁hooked",-12.605876922607422],["▁Joan",-12.605896949768066],["▁tangible",-12.606083869934082],["FW",-12.606225967407227],["olli",-12.6062593460083],["▁Platinum",-12.606376647949219],["▁miniature",-12.606392860412598],["▁lump",-12.606608390808105],["ologische",-12.60689926147461],["▁Istanbul",-12.606987953186035],["▁Compar",-12.607060432434082],["tropic",-12.607256889343262],["KING",-12.607279777526855],["Präsident",-12.607297897338867],["▁fotografii",-12.607303619384766],["hoped",-12.607451438903809],["▁pâte",-12.607601165771484],["▁mercy",-12.60760498046875],["▁quiz",-12.607619285583496],["demonstrating",-12.607678413391113],["▁douce",-12.607832908630371],["▁Vest",-12.607841491699219],["▁Harvey",-12.6082181930542],["▁breit",-12.608227729797363],["▁Bereits",-12.608291625976562],["▁breakthrough",-12.608316421508789],["▁masterpiece",-12.608320236206055],["▁Chester",-12.60838794708252],["▁indiqué",-12.608451843261719],["hook",-12.60857105255127],["statutory",-12.608596801757812],["▁Direkt",-12.608617782592773],["▁specs",-12.608708381652832],["Drive",-12.608725547790527],["▁survivors",-12.608826637268066],["▁jackpot",-12.608840942382812],["▁garder",-12.608872413635254],["▁Geburtstag",-12.60887336730957],["145",-12.608963966369629],["▁Clay",-12.609028816223145],["▁WHO",-12.60906982421875],["▁Ellen",-12.609393119812012],["▁bonheur",-12.609440803527832],["▁hazards",-12.609440803527832],["▁Kaiser",-12.609488487243652],["▁tightly",-12.609506607055664],["Universitatea",-12.609529495239258],["▁rinse",-12.609533309936523],["▁passant",-12.609640121459961],["▁sânge",-12.609832763671875],["▁peuple",-12.60983657836914],["jungen",-12.609975814819336],["▁inappropriate",-12.610054969787598],["▁mitigate",-12.610066413879395],["MID",-12.610221862792969],["▁telecom",-12.610297203063965],["▁plaj",-12.610316276550293],["▁presupune",-12.610361099243164],["acco",-12.61038875579834],["expressing",-12.610654830932617],["▁Symphony",-12.61066722869873],["temperatur",-12.610710144042969],["▁activităţi",-12.610800743103027],["▁amended",-12.610847473144531],["▁rehab",-12.610909461975098],["▁sportiv",-12.611004829406738],["hotel",-12.611031532287598],["branche",-12.61103630065918],["▁Noch",-12.611079216003418],["▁1961",-12.611238479614258],["release",-12.611359596252441],["blaze",-12.611381530761719],["Adv",-12.61139965057373],["Line",-12.611671447753906],["▁financiare",-12.61184310913086],["▁chauffage",-12.611919403076172],["мо",-12.61192512512207],["schuhe",-12.612035751342773],["blé",-12.612040519714355],["▁Echo",-12.612468719482422],["▁remarks",-12.61253547668457],["scriu",-12.612629890441895],["Vir",-12.612701416015625],["War",-12.61271858215332],["atifs",-12.613006591796875],["RING",-12.613082885742188],["▁Instruction",-12.613150596618652],["▁verlassen",-12.613155364990234],["▁ergänz",-12.613234519958496],["▁Emil",-12.613248825073242],["▁empire",-12.613263130187988],["▁Einkauf",-12.613306999206543],["utigen",-12.613329887390137],["▁audition",-12.613390922546387],["travelled",-12.61347484588623],["ло",-12.613579750061035],["▁infinite",-12.613720893859863],["▁Lieblings",-12.613749504089355],["▁vân",-12.613754272460938],["▁spinning",-12.613778114318848],["converting",-12.614031791687012],["▁uncertain",-12.61415958404541],["restul",-12.614168167114258],["▁colourful",-12.61420726776123],["▁accountant",-12.614338874816895],["bourg",-12.614532470703125],["▁structuri",-12.614538192749023],["▁Booking",-12.61465835571289],["intéresse",-12.614683151245117],["▁coordinated",-12.614753723144531],["▁precaution",-12.61497688293457],["▁Cheese",-12.615015983581543],["▁surfing",-12.615192413330078],["▁souffr",-12.61524486541748],["▁Menu",-12.615447998046875],["▁arthritis",-12.615593910217285],["▁headphones",-12.615601539611816],["▁upgrading",-12.615602493286133],["▁apparel",-12.615653038024902],["▁Haushalt",-12.61572551727295],["▁Personally",-12.615815162658691],["▁insane",-12.615950584411621],["▁fonduri",-12.616083145141602],["▁entier",-12.616239547729492],["▁Herbst",-12.616264343261719],["▁cyclist",-12.616331100463867],["▁filmmaker",-12.616741180419922],["▁Portuguese",-12.616829872131348],["▁nominee",-12.616851806640625],["▁Yang",-12.616857528686523],["▁slate",-12.616943359375],["▁entièrement",-12.616974830627441],["▁Umgang",-12.617049217224121],["shifted",-12.617135047912598],["▁défaut",-12.617138862609863],["heiz",-12.617246627807617],["▁Seal",-12.617379188537598],["▁servicing",-12.617451667785645],["marketing",-12.617562294006348],["▁demandé",-12.617755889892578],["TING",-12.617841720581055],["▁modifier",-12.617907524108887],["lysis",-12.617966651916504],["▁suplimentare",-12.618117332458496],["OTHER",-12.618359565734863],["Graph",-12.618379592895508],["▁coincide",-12.618448257446289],["governed",-12.618598937988281],["▁locking",-12.618638038635254],["▁Properties",-12.618685722351074],["▁Panama",-12.61876392364502],["▁Coupe",-12.618846893310547],["songwriter",-12.618978500366211],["exhibited",-12.618988990783691],["▁semnificativ",-12.618995666503906],["▁purchaser",-12.619004249572754],["▁puff",-12.619097709655762],["Back",-12.619105339050293],["fragt",-12.61919116973877],["▁deputy",-12.619362831115723],["▁revien",-12.619556427001953],["▁Christine",-12.619558334350586],["▁Cities",-12.619573593139648],["▁Charakter",-12.61961555480957],["atteindre",-12.619625091552734],["▁fou",-12.619635581970215],["▁obligatoire",-12.619643211364746],["INA",-12.619791030883789],["etc",-12.6198148727417],["▁newborn",-12.620091438293457],["▁explicitly",-12.620116233825684],["simplest",-12.620203018188477],["▁plateforme",-12.62023639678955],["ordinate",-12.620291709899902],["displaying",-12.620346069335938],["▁messy",-12.620464324951172],["gespielt",-12.620466232299805],["▁electron",-12.62061882019043],["▁Dreh",-12.620796203613281],["▁ambient",-12.620976448059082],["340",-12.620979309082031],["▁directive",-12.62109375],["▁Vall",-12.621152877807617],["ookie",-12.621206283569336],["▁wasted",-12.621304512023926],["CIS",-12.621367454528809],["lude",-12.621378898620605],["rach",-12.621472358703613],["▁gasest",-12.62150764465332],["▁miros",-12.62150764465332],["transforming",-12.621536254882812],["▁Milwaukee",-12.621787071228027],["▁uncommon",-12.621789932250977],["▁tableau",-12.621841430664062],["geräte",-12.621952056884766],["ophil",-12.622139930725098],["▁Jeep",-12.62220287322998],["▁wreck",-12.622422218322754],["LAND",-12.622434616088867],["attach",-12.622566223144531],["▁Panther",-12.622634887695312],["9:30",-12.622777938842773],["▁induce",-12.622974395751953],["▁privest",-12.623006820678711],["Ident",-12.623047828674316],["▁illnesses",-12.623076438903809],["▁inhabitants",-12.623138427734375],["▁fehlen",-12.623357772827148],["obtenu",-12.623391151428223],["▁gegründet",-12.623655319213867],["ARA",-12.623711585998535],["3-2",-12.623835563659668],["▁milliards",-12.623968124389648],["▁Bü",-12.624001502990723],["▁angegeben",-12.624102592468262],["TUR",-12.624143600463867],["▁arab",-12.624166488647461],["▁Scientist",-12.624275207519531],["▁minut",-12.624394416809082],["▁beast",-12.624481201171875],["▁accidentally",-12.624573707580566],["WN",-12.624579429626465],["▁Ralph",-12.624588966369629],["hängt",-12.62462329864502],["▁Erik",-12.624639511108398],["▁différent",-12.624711990356445],["▁conformitate",-12.624842643737793],["thriving",-12.624900817871094],["▁Piece",-12.625123023986816],["plasm",-12.625152587890625],["▁erwarten",-12.62520980834961],["owski",-12.62523365020752],["prayed",-12.625293731689453],["three",-12.625542640686035],["▁soundtrack",-12.625651359558105],["guru",-12.625709533691406],["▁cracked",-12.625710487365723],["▁adh",-12.625823020935059],["▁maître",-12.625834465026855],["▁Oberfläche",-12.62585735321045],["▁crab",-12.625886917114258],["▁Foster",-12.625944137573242],["▁gemütlich",-12.626145362854004],["SIC",-12.626226425170898],["ième",-12.626298904418945],["▁Few",-12.626330375671387],["gérer",-12.626360893249512],["2006",-12.626456260681152],["cool",-12.626498222351074],["▁dispune",-12.626523971557617],["recevoir",-12.626577377319336],["▁Bak",-12.626585960388184],["▁steer",-12.62659740447998],["ICS",-12.626733779907227],["▁Brett",-12.626733779907227],["▁downside",-12.626751899719238],["▁residency",-12.62678050994873],["important",-12.626991271972656],["ubb",-12.627073287963867],["mony",-12.627259254455566],["▁leasing",-12.627341270446777],["▁Gir",-12.62735366821289],["▁Biology",-12.627364158630371],["▁Colin",-12.627463340759277],["▁complicat",-12.627775192260742],["▁regroup",-12.627899169921875],["SPA",-12.627950668334961],["▁Veranstaltungen",-12.627986907958984],["convicted",-12.628019332885742],["▁Wonderful",-12.628636360168457],["züge",-12.628799438476562],["yton",-12.628813743591309],["EMENT",-12.628887176513672],["▁bent",-12.62893009185791],["heben",-12.629231452941895],["▁Sustainable",-12.62926959991455],["▁Newcastle",-12.629276275634766],["mother",-12.629507064819336],["▁eighth",-12.629572868347168],["▁atmosfer",-12.629582405090332],["expériment",-12.629584312438965],["▁Interest",-12.629608154296875],["▁successes",-12.62964153289795],["▁preschool",-12.629802703857422],["▁Funeral",-12.629900932312012],["blast",-12.630083084106445],["▁dimensiuni",-12.630125999450684],["▁Dow",-12.630167007446289],["▁pulp",-12.63022518157959],["▁Heather",-12.630356788635254],["▁erstellen",-12.63044261932373],["locating",-12.630470275878906],["direct",-12.630475997924805],["▁tractor",-12.630494117736816],["growing",-12.630576133728027],["▁inventor",-12.630587577819824],["ASA",-12.63060188293457],["insta",-12.630732536315918],["yana",-12.63082504272461],["▁squash",-12.630839347839355],["▁Basketball",-12.630853652954102],["AMA",-12.631041526794434],["insel",-12.631093978881836],["▁Fisch",-12.631138801574707],["▁metaphor",-12.631221771240234],["TES",-12.631304740905762],["▁conduce",-12.631308555603027],["stehende",-12.631370544433594],["▁FAQ",-12.631475448608398],["▁bezeichnet",-12.631658554077148],["wendung",-12.631706237792969],["▁Commonwealth",-12.631776809692383],["▁bait",-12.631793975830078],["▁Umsetzung",-12.631834030151367],["▁Equi",-12.632063865661621],["▁validity",-12.632109642028809],["Off",-12.63222599029541],["▁produsul",-12.632314682006836],["▁sensory",-12.632363319396973],["▁Imperial",-12.632501602172852],["▁Dick",-12.632542610168457],["kampf",-12.632596969604492],["▁Arzt",-12.63267993927002],["▁Reason",-12.63267993927002],["ITS",-12.63270092010498],["URL",-12.632720947265625],["demonstrates",-12.632725715637207],["▁dépend",-12.632753372192383],["NAS",-12.632970809936523],["▁funcți",-12.633031845092773],["▁vulnerability",-12.633085250854492],["2.7",-12.633143424987793],["layered",-12.633152961730957],["escence",-12.633206367492676],["▁République",-12.633346557617188],["▁Lust",-12.633377075195312],["▁sute",-12.633381843566895],["▁autonomous",-12.633661270141602],["Biserica",-12.633662223815918],["▁Chuck",-12.633749961853027],["▁protéger",-12.6339750289917],["rrell",-12.634061813354492],["▁Schaden",-12.634062767028809],["prennent",-12.634100914001465],["maß",-12.6343412399292],["OV",-12.634453773498535],["▁Wake",-12.63450813293457],["produire",-12.634635925292969],["▁Elder",-12.634749412536621],["Max",-12.634839057922363],["▁Chemistry",-12.634918212890625],["▁gourmet",-12.634918212890625],["erri",-12.634967803955078],["ени",-12.635085105895996],["▁Gru",-12.635147094726562],["▁vorbit",-12.635408401489258],["▁precede",-12.635455131530762],["▁randomly",-12.635489463806152],["▁efecte",-12.63563060760498],["▁calatori",-12.635668754577637],["▁Poor",-12.635765075683594],["List",-12.635781288146973],["▁regula",-12.635964393615723],["▁organisé",-12.636028289794922],["Div",-12.636076927185059],["▁volunteering",-12.636423110961914],["▁horr",-12.636449813842773],["9.99",-12.636487007141113],["▁UPS",-12.636513710021973],["▁englez",-12.63652229309082],["▁Eden",-12.636523246765137],["GG",-12.63659954071045],["▁typing",-12.63664722442627],["Likewise",-12.636700630187988],["▁stabilize",-12.636737823486328],["physio",-12.636747360229492],["ми",-12.636785507202148],["▁protagonist",-12.636808395385742],["▁velvet",-12.636812210083008],["schrank",-12.636861801147461],["▁Allah",-12.63693618774414],["▁forefront",-12.636968612670898],["▁salaries",-12.637001037597656],["▁prediction",-12.637041091918945],["▁Advent",-12.637182235717773],["politik",-12.637280464172363],["▁Heimat",-12.637350082397461],["ducted",-12.637380599975586],["ASH",-12.637386322021484],["▁Mold",-12.637773513793945],["▁publi",-12.63784122467041],["▁Vil",-12.637892723083496],["▁stu",-12.637925148010254],["INTE",-12.638032913208008],["▁fave",-12.638151168823242],["▁grounded",-12.638175010681152],["▁Anything",-12.638184547424316],["vik",-12.638481140136719],["Bank",-12.63853645324707],["deserved",-12.638550758361816],["machen",-12.63874626159668],["▁rugged",-12.638751029968262],["▁Nest",-12.638901710510254],["▁profund",-12.639043807983398],["▁quantum",-12.639067649841309],["▁funcționa",-12.639118194580078],["klu",-12.639158248901367],["▁consulter",-12.63917350769043],["MED",-12.639286994934082],["▁câştig",-12.639334678649902],["▁săptămâni",-12.639334678649902],["questioned",-12.639517784118652],["▁Trop",-12.639530181884766],["▁convo",-12.639533042907715],["▁sparkling",-12.639533996582031],["▁specialise",-12.639566421508789],["▁pancake",-12.639726638793945],["habitude",-12.639727592468262],["phal",-12.640009880065918],["▁Roche",-12.640158653259277],["▁personalities",-12.640250205993652],["▁Venice",-12.640308380126953],["▁comerciale",-12.640379905700684],["▁wounded",-12.64075756072998],["▁oraş",-12.640864372253418],["▁Pepper",-12.641044616699219],["▁Tourist",-12.641094207763672],["▁Mull",-12.64116382598877],["▁dignity",-12.641234397888184],["▁Fixed",-12.641291618347168],["çant",-12.64130687713623],["▁spectator",-12.641402244567871],["▁somn",-12.641685485839844],["▁ständig",-12.641820907592773],["▁resilience",-12.641866683959961],["▁Malta",-12.642251014709473],["▁problemele",-12.642253875732422],["▁Martha",-12.642254829406738],["▁extern",-12.642267227172852],["embre",-12.642379760742188],["▁médical",-12.642526626586914],["fordern",-12.64256477355957],["nji",-12.642592430114746],["▁aboard",-12.642740249633789],["▁sidewalk",-12.642759323120117],["WIN",-12.642775535583496],["▁Bobby",-12.642842292785645],["▁umfangreiche",-12.642876625061035],["leid",-12.64292049407959],["▁compens",-12.642967224121094],["▁juge",-12.64299488067627],["gerufen",-12.64311408996582],["▁médicament",-12.643135070800781],["▁1918",-12.643155097961426],["▁blanche",-12.643163681030273],["▁pleasing",-12.643220901489258],["▁propria",-12.643471717834473],["ergebnisse",-12.643503189086914],["▁retrouv",-12.643571853637695],["urteil",-12.643592834472656],["▁Draft",-12.64361572265625],["▁concluzi",-12.643671035766602],["centralized",-12.643789291381836],["▁Hannah",-12.64382266998291],["grija",-12.64392375946045],["▁Exercise",-12.643972396850586],["RAL",-12.644001960754395],["creme",-12.64408016204834],["High",-12.644126892089844],["clude",-12.644131660461426],["Considering",-12.644208908081055],["▁Guarantee",-12.644404411315918],["▁cuptor",-12.644436836242676],["ivität",-12.64468002319336],["▁Southwest",-12.644882202148438],["▁vivant",-12.644890785217285],["Your",-12.64498519897461],["▁Stunde",-12.645003318786621],["▁Ethernet",-12.645040512084961],["angebote",-12.645078659057617],["▁Sage",-12.645271301269531],["▁Boeing",-12.645295143127441],["▁$300",-12.645381927490234],["2-4",-12.64546012878418],["▁nécessit",-12.645516395568848],["▁ferment",-12.645599365234375],["▁Anmeldung",-12.64567756652832],["▁exhausted",-12.645758628845215],["▁Schloss",-12.645772933959961],["▁Replacement",-12.645859718322754],["▁Aussi",-12.645933151245117],["jection",-12.646127700805664],["978",-12.64615535736084],["▁siège",-12.646258354187012],["crest",-12.646310806274414],["▁jumatate",-12.646312713623047],["effizient",-12.646317481994629],["▁colaborare",-12.6464262008667],["HQ",-12.646615028381348],["130",-12.646695137023926],["culaire",-12.646907806396484],["▁Jamaica",-12.646952629089355],["▁cardboard",-12.64731216430664],["▁technische",-12.64731502532959],["▁cereri",-12.647507667541504],["▁contradict",-12.647570610046387],["▁irrigation",-12.647586822509766],["Nume",-12.64765739440918],["▁Bier",-12.647714614868164],["▁livrare",-12.647903442382812],["▁reservoir",-12.647906303405762],["vâr",-12.648130416870117],["▁galben",-12.648213386535645],["▁Geneva",-12.648303985595703],["▁lightning",-12.648418426513672],["wished",-12.64842414855957],["▁Blind",-12.648481369018555],["Interested",-12.648499488830566],["▁Primări",-12.648627281188965],["anthropo",-12.648954391479492],["▁Transaction",-12.648961067199707],["▁marcat",-12.648971557617188],["▁gelegen",-12.649077415466309],["▁contemporain",-12.649182319641113],["▁politică",-12.649182319641113],["▁1948",-12.64928150177002],["▁Mik",-12.649287223815918],["▁preţ",-12.649310111999512],["moor",-12.649312973022461],["ANN",-12.649432182312012],["▁constructive",-12.649454116821289],["konzept",-12.649502754211426],["▁entendu",-12.649511337280273],["▁Genesis",-12.649541854858398],["arzt",-12.649581909179688],["▁Allgemein",-12.64970874786377],["▁Derby",-12.649725914001465],["Class",-12.649762153625488],["▁$12",-12.649770736694336],["▁Tube",-12.6498441696167],["▁Contribu",-12.649847030639648],["▁HAVE",-12.649860382080078],["▁oxide",-12.64986515045166],["▁producator",-12.649941444396973],["▁Bench",-12.650132179260254],["▁comprehend",-12.650139808654785],["▁Damen",-12.650494575500488],["▁Garant",-12.65056037902832],["▁disappointing",-12.650614738464355],["▁réalisée",-12.650693893432617],["▁comportement",-12.65072250366211],["▁clash",-12.650753021240234],["▁curry",-12.65076732635498],["▁Lebanon",-12.65078067779541],["▁Romaniei",-12.650784492492676],["▁reprise",-12.650840759277344],["▁perceive",-12.65095329284668],["▁weaknesses",-12.65101146697998],["▁aminti",-12.651057243347168],["▁Concern",-12.651103973388672],["shadow",-12.651310920715332],["▁basin",-12.651311874389648],["moral",-12.652063369750977],["▁Hughes",-12.652101516723633],["Psych",-12.652266502380371],["▁Lieferung",-12.65227222442627],["▁serrurier",-12.652379035949707],["ussi",-12.652386665344238],["▁timpului",-12.6524658203125],["üm",-12.652629852294922],["▁Vladimir",-12.652701377868652],["▁Jag",-12.65279483795166],["▁verific",-12.652849197387695],["▁Pru",-12.652894020080566],["▁Laut",-12.653285026550293],["ITA",-12.653287887573242],["usually",-12.653294563293457],["▁carrière",-12.65341854095459],["▁extracted",-12.653663635253906],["kultur",-12.653679847717285],["öpfe",-12.653932571411133],["▁rejection",-12.654016494750977],["▁Hydr",-12.654062271118164],["▁informaţii",-12.654098510742188],["▁tolerate",-12.654122352600098],["▁cinéma",-12.654302597045898],["traumatic",-12.654305458068848],["produkt",-12.654450416564941],["▁Contest",-12.654560089111328],["lotte",-12.654570579528809],["▁Pension",-12.65461254119873],["▁Advertising",-12.654623985290527],["▁payout",-12.654772758483887],["▁Amanda",-12.65481185913086],["Elect",-12.65485668182373],["▁interiorul",-12.654996871948242],["stay",-12.655348777770996],["▁feminine",-12.655352592468262],["▁întâmplă",-12.655437469482422],["▁insult",-12.65562915802002],["▁chocolat",-12.65567398071289],["▁noroc",-12.655750274658203],["▁centr",-12.655781745910645],["▁Bühne",-12.655858039855957],["mighty",-12.6558837890625],["▁Buddha",-12.655908584594727],["▁parental",-12.655997276306152],["storm",-12.656451225280762],["recurring",-12.6565523147583],["▁luxe",-12.656588554382324],["niște",-12.656728744506836],["cuit",-12.656839370727539],["▁ausgewählt",-12.656880378723145],["▁dumb",-12.657047271728516],["IPS",-12.657127380371094],["▁Thir",-12.65717887878418],["Definitely",-12.657195091247559],["▁hilarious",-12.657195091247559],["▁rainbow",-12.657231330871582],["▁Bravo",-12.657251358032227],["▁entstanden",-12.657259941101074],["itorul",-12.657269477844238],["▁prosperity",-12.657299041748047],["▁Bord",-12.657336235046387],["▁familiei",-12.657363891601562],["▁scade",-12.657425880432129],["wöhn",-12.657426834106445],["▁ingrediente",-12.65743637084961],["RAD",-12.657441139221191],["▁tăi",-12.657472610473633],["bours",-12.65747356414795],["ATI",-12.657540321350098],["▁Blake",-12.65761661529541],["▁Implement",-12.657712936401367],["▁Beziehung",-12.657838821411133],["finanz",-12.657953262329102],["intestin",-12.658513069152832],["ließen",-12.658535957336426],["▁récent",-12.658594131469727],["▁laminate",-12.658692359924316],["▁Hör",-12.65876579284668],["▁personnalisé",-12.658804893493652],["edel",-12.65890121459961],["▁advertisement",-12.658902168273926],["▁pinterest",-12.658921241760254],["185",-12.659058570861816],["identité",-12.65938949584961],["▁Brick",-12.659408569335938],["Glu",-12.65941047668457],["▁attendant",-12.659571647644043],["▁Flip",-12.659614562988281],["attracting",-12.659662246704102],["functional",-12.659703254699707],["conceived",-12.659772872924805],["▁summarize",-12.659773826599121],["adjusting",-12.659809112548828],["CAL",-12.660041809082031],["▁Operating",-12.660076141357422],["zzi",-12.66008472442627],["▁Rover",-12.6603364944458],["▁versuchen",-12.6603364944458],["▁articulate",-12.660600662231445],["▁privé",-12.660614013671875],["▁consequent",-12.660663604736328],["EAT",-12.660690307617188],["▁Marsh",-12.660696983337402],["▁teenage",-12.660717964172363],["▁Renaissance",-12.660740852355957],["▁furnizor",-12.660883903503418],["▁Desert",-12.660894393920898],["unicipiului",-12.66104793548584],["▁ulterior",-12.661065101623535],["▁Ebene",-12.661280632019043],["▁monkey",-12.661351203918457],["▁enclosed",-12.661389350891113],["▁profitability",-12.66139030456543],["▁Evolution",-12.661628723144531],["▁adica",-12.661670684814453],["▁Structure",-12.661709785461426],["▁primer",-12.661761283874512],["▁asigură",-12.662001609802246],["▁Manuel",-12.662220001220703],["polita",-12.662267684936523],["▁Portable",-12.662286758422852],["fecți",-12.662413597106934],["▁obscure",-12.662424087524414],["▁Atlas",-12.662436485290527],["fährt",-12.662679672241211],["▁clinician",-12.662837982177734],["fuhr",-12.66310977935791],["▁matériaux",-12.663113594055176],["écrire",-12.663142204284668],["▁suspicious",-12.6632080078125],["pore",-12.663263320922852],["▁outdated",-12.663304328918457],["▁Mädchen",-12.663328170776367],["rcis",-12.663420677185059],["nicht",-12.663463592529297],["holding",-12.663561820983887],["▁heavier",-12.66366195678711],["ezimal",-12.663960456848145],["▁silicone",-12.66397476196289],["punerea",-12.664108276367188],["▁begeistert",-12.664237976074219],["2004",-12.664283752441406],["▁predecessor",-12.664299011230469],["▁overlap",-12.664369583129883],["▁digging",-12.664376258850098],["▁Upgrade",-12.664407730102539],["▁interesat",-12.664543151855469],["▁spinach",-12.66456127166748],["▁politice",-12.664626121520996],["activity",-12.664831161499023],["▁Rating",-12.66484546661377],["▁serrure",-12.664846420288086],["▁tânăr",-12.664959907531738],["▁WHAT",-12.664970397949219],["▁railroad",-12.664989471435547],["▁avid",-12.665081024169922],["▁Sophie",-12.665084838867188],["preferably",-12.665173530578613],["▁Fourth",-12.665431022644043],["kommenden",-12.665452003479004],["QUI",-12.665478706359863],["lohn",-12.665505409240723],["▁promis",-12.665611267089844],["▁shrub",-12.665621757507324],["nummer",-12.66579818725586],["▁dinosaur",-12.665922164916992],["▁Lucky",-12.665937423706055],["relates",-12.666038513183594],["▁FROM",-12.666049003601074],["▁racism",-12.66610336303711],["physical",-12.66611385345459],["alcoholic",-12.666119575500488],["▁reef",-12.666126251220703],["▁centru",-12.66618824005127],["université",-12.66622257232666],["▁visage",-12.666232109069824],["ităţile",-12.666253089904785],["▁Gent",-12.666345596313477],["zugeben",-12.66643238067627],["▁paradise",-12.66646957397461],["fuel",-12.666505813598633],["ografie",-12.666568756103516],["▁TIP",-12.666730880737305],["schreibung",-12.66683292388916],["▁bark",-12.666840553283691],["accéder",-12.666895866394043],["▁contamination",-12.666937828063965],["▁swelling",-12.666950225830078],["▁optimistic",-12.666974067687988],["▁differential",-12.667015075683594],["▁Arad",-12.667030334472656],["toxins",-12.667075157165527],["▁übernehmen",-12.667091369628906],["▁anime",-12.667143821716309],["actuel",-12.667462348937988],["▁bientôt",-12.667525291442871],["▁Patio",-12.66761302947998],["▁baisse",-12.667630195617676],["▁sprint",-12.66773796081543],["▁bilden",-12.66811466217041],["VAL",-12.668132781982422],["▁réflexion",-12.668220520019531],["hopping",-12.668242454528809],["genesis",-12.66834545135498],["achtet",-12.668435096740723],["▁chinois",-12.668525695800781],["▁dezvoltat",-12.668795585632324],["arguably",-12.66884708404541],["▁Protocol",-12.66884708404541],["▁Sterling",-12.668862342834473],["▁Cave",-12.668975830078125],["▁Condo",-12.66921615600586],["▁erhöht",-12.669235229492188],["typische",-12.669416427612305],["merged",-12.669439315795898],["▁accumulation",-12.669560432434082],["sicherlich",-12.669569969177246],["kW",-12.669620513916016],["▁schriftlich",-12.669757843017578],["▁Vorteile",-12.669918060302734],["▁Northeast",-12.669922828674316],["frunt",-12.669941902160645],["istik",-12.670003890991211],["erster",-12.670035362243652],["▁Assistance",-12.670150756835938],["▁Fantastic",-12.670150756835938],["▁bărbat",-12.670150756835938],["▁Grinding",-12.670151710510254],["▁diffusion",-12.670161247253418],["▁vreun",-12.670331954956055],["▁Butler",-12.670342445373535],["▁Cherry",-12.670352935791016],["▁visualization",-12.670540809631348],["Paket",-12.670572280883789],["blin",-12.670619010925293],["▁cadou",-12.670705795288086],["▁Celtic",-12.670754432678223],["alegerea",-12.670894622802734],["▁Dorf",-12.671035766601562],["▁Noir",-12.671185493469238],["payment",-12.67126750946045],["▁Caroline",-12.671334266662598],["▁Berry",-12.671359062194824],["▁professeur",-12.67147445678711],["▁gratuitement",-12.671503067016602],["Suntem",-12.671523094177246],["IAN",-12.671738624572754],["▁fingerprint",-12.671780586242676],["▁controversy",-12.671781539916992],["▁fled",-12.671875],["▁Pokémon",-12.67210865020752],["excluding",-12.67211627960205],["▁friction",-12.672161102294922],["therapie",-12.67225456237793],["/7",-12.672398567199707],["▁designation",-12.672442436218262],["▁Belgia",-12.672704696655273],["▁cursuri",-12.672836303710938],["model",-12.672840118408203],["super",-12.672987937927246],["▁réduit",-12.673028945922852],["▁implicit",-12.673177719116211],["athlon",-12.673227310180664],["anniversaire",-12.673416137695312],["▁teaspoon",-12.673416137695312],["▁corrosion",-12.673418998718262],["▁überzeugt",-12.673418998718262],["▁flawless",-12.673421859741211],["▁vegetation",-12.673477172851562],["▁iarna",-12.673507690429688],["▁psychologist",-12.673591613769531],["hora",-12.673625946044922],["gab",-12.67387580871582],["▁soothing",-12.674084663391113],["▁stew",-12.674141883850098],["▁wager",-12.674172401428223],["▁tinere",-12.674322128295898],["▁baut",-12.674323081970215],["ecunoscut",-12.674352645874023],["gearbeitet",-12.674422264099121],["▁functi",-12.674480438232422],["▁dürfte",-12.674724578857422],["▁média",-12.674724578857422],["▁campanie",-12.67475700378418],["▁Distribu",-12.674817085266113],["▁mentoring",-12.674959182739258],["▁criz",-12.675020217895508],["findest",-12.675056457519531],["▁Vasile",-12.675058364868164],["▁compassionate",-12.675115585327148],["▁Tudor",-12.675140380859375],["▁flare",-12.675260543823242],["intreaga",-12.675283432006836],["gaz",-12.6753511428833],["▁porcelain",-12.675379753112793],["▁expedition",-12.675520896911621],["▁Azure",-12.67553997039795],["räumen",-12.675549507141113],["eiro",-12.675567626953125],["variante",-12.675804138183594],["▁Lucy",-12.675825119018555],["ôle",-12.675909996032715],["▁revenir",-12.67602252960205],["▁stained",-12.676040649414062],["▁falsch",-12.676166534423828],["▁incorpor",-12.676166534423828],["merkt",-12.676187515258789],["▁achten",-12.6762056350708],["▁hello",-12.676290512084961],["selben",-12.676422119140625],["ifty",-12.676525115966797],["▁Feier",-12.67653751373291],["1.000",-12.676557540893555],["▁Patch",-12.676583290100098],["peptid",-12.676846504211426],["▁recovering",-12.676898956298828],["Symptom",-12.677020072937012],["▁Auckland",-12.677020072937012],["▁retrieve",-12.677328109741211],["▁800-",-12.67733097076416],["schlagen",-12.677473068237305],["▁lourd",-12.677562713623047],["▁Purple",-12.67760181427002],["▁mittels",-12.677776336669922],["▁Düsseldorf",-12.67800521850586],["▁getaway",-12.67803955078125],["▁Cedar",-12.678061485290527],["▁Function",-12.678241729736328],["▁bizarre",-12.67833423614502],["4.3",-12.67849063873291],["▁fundraiser",-12.67866325378418],["geared",-12.678780555725098],["▁privée",-12.678781509399414],["▁Bonjour",-12.67894458770752],["Gar",-12.67895793914795],["▁Lloyd",-12.678991317749023],["▁Reinigung",-12.6790132522583],["▁Geno",-12.679155349731445],["▁Teilnahme",-12.67919635772705],["pian",-12.679362297058105],["sammelt",-12.679368019104004],["Pad",-12.679755210876465],["▁Troy",-12.67976188659668],["HG",-12.679943084716797],["▁klein",-12.679962158203125],["▁lettuce",-12.679978370666504],["▁patrimoine",-12.679978370666504],["▁cooker",-12.680055618286133],["▁accesibil",-12.680137634277344],["▁Spray",-12.680201530456543],["▁negotiation",-12.68047046661377],["▁jewel",-12.680480003356934],["▁dynamique",-12.68063735961914],["▁plastique",-12.68067741394043],["▁Limo",-12.680682182312012],["▁Funk",-12.68069076538086],["▁omului",-12.680702209472656],["title",-12.680768013000488],["curved",-12.68082046508789],["▁Lemon",-12.680851936340332],["förder",-12.680891990661621],["▁bewusst",-12.681112289428711],["inevitably",-12.681296348571777],["▁derivative",-12.681297302246094],["2:30",-12.681300163269043],["komfort",-12.681305885314941],["original",-12.681480407714844],["sanct",-12.681540489196777],["▁matte",-12.6815767288208],["empêche",-12.681628227233887],["▁jucător",-12.681634902954102],["▁attentive",-12.681640625],["▁recunoscut",-12.681674003601074],["▁Brush",-12.68167495727539],["▁consommateur",-12.68183422088623],["érence",-12.682063102722168],["typical",-12.682084083557129],["strategie",-12.682205200195312],["Effekt",-12.682290077209473],["▁Alcohol",-12.682292938232422],["oji",-12.682333946228027],["▁ruler",-12.682357788085938],["▁Norwegian",-12.682615280151367],["▁PlayStation",-12.682615280151367],["▁Hook",-12.682747840881348],["▁viewpoint",-12.682759284973145],["THER",-12.682841300964355],["420",-12.682888984680176],["Consequently",-12.68294620513916],["▁entschieden",-12.68294620513916],["▁Trag",-12.68295669555664],["▁Dawn",-12.683003425598145],["▁fuss",-12.68301773071289],["*****",-12.683040618896484],["▁Bullet",-12.683140754699707],["CAM",-12.683155059814453],["▁wonderfully",-12.683201789855957],["▁parlamentar",-12.683263778686523],["▁geometric",-12.683307647705078],["talement",-12.683321952819824],["/2018",-12.683577537536621],["▁oversight",-12.684036254882812],["kindly",-12.684080123901367],["therm",-12.684305191040039],["▁treaba",-12.6846342086792],["▁Trim",-12.68471908569336],["▁intelege",-12.684842109680176],["cino",-12.685032844543457],["▁straw",-12.68508529663086],["Tru",-12.685251235961914],["▁Television",-12.68530559539795],["Trader",-12.68538761138916],["▁Passion",-12.685394287109375],["rescu",-12.685622215270996],["Nicol",-12.685635566711426],["luj",-12.685805320739746],["▁mijloace",-12.685921669006348],["▁Removal",-12.685922622680664],["▁1944",-12.686034202575684],["▁shortcut",-12.686159133911133],["▁Fett",-12.686258316040039],["largement",-12.686371803283691],["▁altern",-12.686446189880371],["▁cleansing",-12.686562538146973],["▁Qatar",-12.686692237854004],["▁Ceci",-12.686826705932617],["▁weave",-12.686848640441895],["schmerz",-12.686878204345703],["▁dots",-12.686888694763184],["Télécharger",-12.68691635131836],["▁Conduct",-12.686944007873535],["bekannten",-12.687325477600098],["▁lungime",-12.687344551086426],["▁Ferrari",-12.687390327453613],["▁totusi",-12.687605857849121],["▁Anniversary",-12.687911033630371],["▁wilderness",-12.687911987304688],["▁Christoph",-12.687939643859863],["▁Nikon",-12.688112258911133],["▁Digi",-12.68818473815918],["▁Blumen",-12.688190460205078],["▁altul",-12.688249588012695],["▁Parish",-12.688321113586426],["czy",-12.688393592834473],["▁temper",-12.688401222229004],["▁Powder",-12.688576698303223],["▁Arnold",-12.688577651977539],["capacitatea",-12.688687324523926],["nderungen",-12.688787460327148],["▁utilization",-12.688859939575195],["99%",-12.688942909240723],["▁Fear",-12.689099311828613],["JE",-12.689165115356445],["▁Simpson",-12.689239501953125],["▁Podcast",-12.68924617767334],["▁Cardinal",-12.689290046691895],["▁Distribution",-12.689315795898438],["▁Drawing",-12.689373970031738],["▁tint",-12.689412117004395],["▁hran",-12.68945598602295],["▁Slide",-12.68960189819336],["▁Vertrauen",-12.689654350280762],["cloth",-12.68971061706543],["▁redirect",-12.689728736877441],["126",-12.689842224121094],["▁constituie",-12.68985652923584],["Mai",-12.690070152282715],["▁idol",-12.690088272094727],["▁tehnice",-12.690163612365723],["dip",-12.690393447875977],["▁soldier",-12.690400123596191],["▁Ordin",-12.690409660339355],["wobe",-12.69050407409668],["▁Brent",-12.69058895111084],["▁Sudan",-12.690597534179688],["6000",-12.690619468688965],["turism",-12.690689086914062],["▁Rocky",-12.690744400024414],["naming",-12.69092082977295],["▁entrepreneurial",-12.690925598144531],["hearted",-12.690962791442871],["ayne",-12.69097900390625],["▁hover",-12.691081047058105],["▁skull",-12.691279411315918],["▁tribal",-12.691407203674316],["▁crafting",-12.691543579101562],["bewertungen",-12.691569328308105],["▁decizii",-12.691625595092773],["obwohl",-12.691655158996582],["▁compromised",-12.691875457763672],["▁quelqu",-12.69195556640625],["▁Hilton",-12.692075729370117],["▁maturity",-12.692095756530762],["gelesen",-12.692100524902344],["▁harbor",-12.69210433959961],["▁maple",-12.692326545715332],["▁développ",-12.6924409866333],["▁Nobody",-12.692517280578613],["équipement",-12.69255542755127],["121",-12.69274616241455],["140",-12.692827224731445],["▁artistes",-12.692914962768555],["▁depune",-12.692941665649414],["▁erase",-12.693129539489746],["▁erzählt",-12.693197250366211],["▁Hyundai",-12.69323444366455],["▁impairment",-12.69323444366455],["▁conving",-12.693279266357422],["chasing",-12.693426132202148],["▁Claus",-12.693438529968262],["▁adaptée",-12.693687438964844],["▁Raz",-12.693740844726562],["rugs",-12.693796157836914],["▁urme",-12.69387435913086],["Nonetheless",-12.693902015686035],["▁Cemetery",-12.693902969360352],["umps",-12.693906784057617],["ACA",-12.694003105163574],["▁perioade",-12.694235801696777],["▁slogan",-12.694263458251953],["▁downward",-12.694441795349121],["eidig",-12.694446563720703],["RAC",-12.69444751739502],["▁inaugur",-12.694496154785156],["се",-12.694588661193848],["▁înțeleg",-12.694608688354492],["▁hopeful",-12.694635391235352],["▁customization",-12.6946439743042],["▁prisoners",-12.694708824157715],["▁Rau",-12.695270538330078],["▁Pitt",-12.695389747619629],["ături",-12.695542335510254],["▁metabolic",-12.695842742919922],["▁Zach",-12.695868492126465],["▁umfassende",-12.695914268493652],["▁révél",-12.695950508117676],["131",-12.696052551269531],["ismului",-12.696062088012695],["▁Sac",-12.696076393127441],["efficacité",-12.69624137878418],["cruci",-12.69625473022461],["bisschen",-12.69632339477539],["▁Oster",-12.696324348449707],["lowered",-12.6964693069458],["▁Ausland",-12.69674015045166],["▁Pub",-12.696794509887695],["▁Marseille",-12.696925163269043],["▁Charter",-12.696959495544434],["howcasing",-12.697010040283203],["risti",-12.6971435546875],["▁thermostat",-12.697151184082031],["▁Clin",-12.697233200073242],["▁entsteht",-12.697246551513672],["Choosing",-12.697248458862305],["▁Schmerz",-12.697284698486328],["▁Till",-12.697307586669922],["▁Polo",-12.697399139404297],["▁proceduri",-12.697402000427246],["▁Believe",-12.697444915771484],["▁playful",-12.697514533996582],["▁verändert",-12.697588920593262],["▁pairing",-12.697654724121094],["MAG",-12.69784927368164],["leiste",-12.69788932800293],["▁testimonial",-12.697916030883789],["▁Economy",-12.697916984558105],["▁Wechsel",-12.697918891906738],["wirkung",-12.69801139831543],["▁exceeded",-12.698030471801758],["South",-12.698067665100098],["create",-12.698221206665039],["▁davantage",-12.698270797729492],["Log",-12.69831657409668],["▁irregular",-12.698587417602539],["VB",-12.698691368103027],["▁Rö",-12.698741912841797],["▁intreb",-12.698881149291992],["▁penser",-12.698920249938965],["▁déclaré",-12.698923110961914],["▁Tommy",-12.699026107788086],["2,500",-12.699163436889648],["▁Uganda",-12.699260711669922],["contacting",-12.699445724487305],["▁apreciat",-12.699485778808594],["▁beginnen",-12.6995210647583],["▁Gain",-12.699580192565918],["Office",-12.69969654083252],["ermittlung",-12.699710845947266],["▁Admission",-12.699727058410645],["▁Earl",-12.6997652053833],["▁Aviation",-12.699833869934082],["▁apologize",-12.699929237365723],["▁enclosure",-12.699929237365723],["▁Lack",-12.69998836517334],["wife",-12.699995994567871],["▁rotating",-12.700016975402832],["▁hergestellt",-12.700020790100098],["▁repository",-12.70002269744873],["TK",-12.700149536132812],["▁lectur",-12.700190544128418],["▁reflex",-12.700286865234375],["▁Harmon",-12.700401306152344],["▁vrem",-12.700479507446289],["▁Strange",-12.70055103302002],["▁champagne",-12.700615882873535],["▁oscil",-12.700647354125977],["sensitive",-12.700677871704102],["▁Sheriff",-12.700841903686523],["PRES",-12.700956344604492],["▁vow",-12.70123291015625],["▁dioxide",-12.701276779174805],["ен",-12.701374053955078],["▁corpului",-12.701376914978027],["▁prevăzut",-12.70160961151123],["India",-12.701827049255371],["hausse",-12.70189094543457],["▁clienți",-12.701957702636719],["▁entour",-12.70202350616455],["▁Sharp",-12.70209789276123],["▁teatru",-12.702285766601562],["▁Grow",-12.702327728271484],["▁caravan",-12.70234203338623],["▁sieben",-12.702420234680176],["▁cunosc",-12.702502250671387],["Bereichen",-12.702527046203613],["▁Benutzer",-12.702619552612305],["▁Ethiopia",-12.702619552612305],["▁Physics",-12.702619552612305],["preserving",-12.70263385772705],["ал",-12.702712059020996],["▁aerial",-12.70272159576416],["▁nouvel",-12.702741622924805],["▁stamped",-12.702954292297363],["▁inaugural",-12.702970504760742],["▁medicinal",-12.702999114990234],["Quite",-12.703028678894043],["accumulated",-12.703165054321289],["register",-12.703271865844727],["▁Falcon",-12.70327377319336],["▁boiling",-12.703301429748535],["▁advertised",-12.703339576721191],["collect",-12.703362464904785],["albeit",-12.703418731689453],["▁Organis",-12.703473091125488],["luate",-12.703536033630371],["▁préféré",-12.70369815826416],["▁frumoasa",-12.703968048095703],["▁truc",-12.704092979431152],["▁Fä",-12.704154968261719],["▁dome",-12.704180717468262],["Mobile",-12.704191207885742],["▁redeem",-12.704198837280273],["IONS",-12.70422077178955],["▁țări",-12.704235076904297],["▁singular",-12.704385757446289],["▁livestock",-12.704425811767578],["▁démont",-12.704427719116211],["clés",-12.704527854919434],["music",-12.704561233520508],["▁explicat",-12.704602241516113],["▁Fellowship",-12.704703330993652],["▁electrode",-12.704760551452637],["129",-12.704977035522461],["▁Rescue",-12.704983711242676],["▁Rocket",-12.705159187316895],["OSE",-12.705301284790039],["▁Sacramento",-12.705317497253418],["▁Haiti",-12.705357551574707],["▁Erwachsene",-12.705390930175781],["▁Terminal",-12.70541000366211],["URI",-12.705453872680664],["▁Rural",-12.70549201965332],["▁achizitiona",-12.70552921295166],["▁identifiable",-12.705655097961426],["▁gekauft",-12.705659866333008],["▁improper",-12.705673217773438],["lashes",-12.705751419067383],["vorbim",-12.705751419067383],["▁hinder",-12.705862045288086],["▁Grenz",-12.705878257751465],["Nav",-12.705955505371094],["alimentation",-12.705972671508789],["▁Cottage",-12.7059965133667],["▁nötig",-12.706197738647461],["▁cuprinde",-12.70622444152832],["session",-12.706256866455078],["▁Separat",-12.70634651184082],["▁besuchen",-12.706672668457031],["▁noodles",-12.706684112548828],["▁ballet",-12.706696510314941],["WG",-12.706731796264648],["▁Duty",-12.706871032714844],["▁porc",-12.706944465637207],["▁booster",-12.70698356628418],["galerie",-12.707056045532227],["▁Lance",-12.707119941711426],["▁déplac",-12.707178115844727],["▁rugby",-12.707240104675293],["▁upholstery",-12.707345962524414],["▁bustl",-12.70736312866211],["▁Dealer",-12.70740032196045],["▁genome",-12.707414627075195],["▁citizenship",-12.707466125488281],["rora",-12.707515716552734],["ARK",-12.707776069641113],["▁Semi",-12.707820892333984],["▁Improvement",-12.707892417907715],["▁negru",-12.708142280578613],["▁Bruxelles",-12.70836067199707],["flüge",-12.70837688446045],["▁Technique",-12.708392143249512],["▁Obst",-12.708413124084473],["2020",-12.708560943603516],["▁gek",-12.708593368530273],["▁drepturi",-12.708600997924805],["▁Logan",-12.708605766296387],["gelöst",-12.70863151550293],["▁grandparents",-12.708702087402344],["phin",-12.708950996398926],["▁dwell",-12.709037780761719],["▁Nobel",-12.709151268005371],["dial",-12.70927906036377],["▁spontan",-12.709344863891602],["advancing",-12.70937728881836],["starring",-12.70947551727295],["▁astea",-12.709498405456543],["igueur",-12.709638595581055],["▁Ancient",-12.709700584411621],["filter",-12.70971965789795],["Doar",-12.709758758544922],["▁Workers",-12.709759712219238],["Certainly",-12.709906578063965],["▁commencé",-12.709914207458496],["▁zipper",-12.710001945495605],["▁Selection",-12.710070610046387],["▁succ",-12.710280418395996],["headed",-12.710345268249512],["RIA",-12.710350036621094],["▁papa",-12.710366249084473],["▁profesionale",-12.710394859313965],["▁Zeichen",-12.710402488708496],["▁artisans",-12.710489273071289],["▁Geist",-12.710585594177246],["practic",-12.710741996765137],["▁ministrul",-12.71076488494873],["viens",-12.710912704467773],["prezintă",-12.710919380187988],["Integrated",-12.710981369018555],["▁rooftop",-12.710989952087402],["▁successor",-12.710991859436035],["OTO",-12.711012840270996],["liés",-12.711027145385742],["▁Diver",-12.71121597290039],["Specifically",-12.711297988891602],["▁calibr",-12.711301803588867],["KK",-12.711341857910156],["▁défense",-12.711414337158203],["▁english",-12.711414337158203],["verbrauch",-12.711418151855469],["▁attire",-12.711433410644531],["▁Recipe",-12.711441040039062],["équilibre",-12.711457252502441],["accumul",-12.71157169342041],["▁financement",-12.71169662475586],["rij",-12.711962699890137],["▁prince",-12.711999893188477],["▁préparer",-12.7120361328125],["surviving",-12.71211051940918],["operation",-12.712233543395996],["▁judet",-12.71242904663086],["▁Verantwortung",-12.712433815002441],["▁Vinyl",-12.712536811828613],["DEN",-12.712584495544434],["▁Tail",-12.712589263916016],["yearly",-12.712590217590332],["▁comisi",-12.712613105773926],["lava",-12.71261978149414],["▁succession",-12.71264934539795],["▁Whisk",-12.713030815124512],["▁precizat",-12.713096618652344],["▁unmittelbar",-12.713117599487305],["ICH",-12.713139533996582],["▁atteint",-12.713199615478516],["▁hometown",-12.713268280029297],["▁Zip",-12.71328353881836],["▁Weekly",-12.71336841583252],["▁crashes",-12.713401794433594],["▁Turbo",-12.713421821594238],["▁susține",-12.713468551635742],["▁Venus",-12.713587760925293],["▁finalement",-12.713595390319824],["rewarded",-12.713693618774414],["▁principau",-12.713899612426758],["▁régional",-12.713979721069336],["▁1958",-12.714178085327148],["▁Musical",-12.714189529418945],["▁stylist",-12.714251518249512],["cetate",-12.714282035827637],["gorge",-12.71433162689209],["▁espresso",-12.714493751525879],["überall",-12.714576721191406],["▁NHL",-12.714593887329102],["▁Dock",-12.71472454071045],["▁mosquito",-12.71481704711914],["▁forthcoming",-12.714852333068848],["▁Visitors",-12.714881896972656],["kro",-12.714882850646973],["_______",-12.715048789978027],["▁STEM",-12.715105056762695],["9.5",-12.715141296386719],["accompagne",-12.715177536010742],["▁Trick",-12.715202331542969],["▁endorsement",-12.715400695800781],["▁amplifier",-12.715498924255371],["▁malicious",-12.715499877929688],["▁roam",-12.71552848815918],["▁kennt",-12.715635299682617],["Connor",-12.715690612792969],["▁dysfunction",-12.715828895568848],["▁zuverlässig",-12.715840339660645],["▁corpul",-12.71595573425293],["▁boule",-12.715967178344727],["otti",-12.715991973876953],["440",-12.716050148010254],["▁mimic",-12.716056823730469],["farben",-12.716129302978516],["▁Wagner",-12.716214179992676],["Kom",-12.7162504196167],["▁miteinander",-12.716269493103027],["▁String",-12.716296195983887],["▁Ellis",-12.716313362121582],["▁Perth",-12.716337203979492],["▁temperatura",-12.716381072998047],["umbling",-12.716397285461426],["▁Medizin",-12.716554641723633],["▁KY",-12.71660327911377],["apei",-12.716642379760742],["counter",-12.716647148132324],["strich",-12.71665096282959],["▁Între",-12.716652870178223],["▁Cliff",-12.716785430908203],["▁foreclosure",-12.716864585876465],["................",-12.716878890991211],["Clearly",-12.717028617858887],["AJ",-12.717057228088379],["ndro",-12.717180252075195],["▁Arsenal",-12.717206001281738],["▁Recherche",-12.717216491699219],["Guests",-12.717225074768066],["▁besucht",-12.717242240905762],["wissen",-12.717266082763672],["fekt",-12.717414855957031],["hottest",-12.717414855957031],["▁Tomorrow",-12.717547416687012],["▁Signature",-12.717557907104492],["127",-12.717583656311035],["▁competence",-12.71766471862793],["Einige",-12.717686653137207],["patented",-12.71782112121582],["▁Exhibition",-12.717889785766602],["▁verbessern",-12.717889785766602],["▁Garcia",-12.718043327331543],["▁inquire",-12.718278884887695],["coping",-12.718353271484375],["▁linguri",-12.71842098236084],["▁trivia",-12.718433380126953],["▁începutul",-12.718489646911621],["▁parteneriat",-12.7186279296875],["tagen",-12.718636512756348],["▁engagé",-12.718916893005371],["▁chalk",-12.718944549560547],["▁fashionable",-12.719416618347168],["0.8",-12.719635009765625],["▁sticker",-12.719751358032227],["▁desperately",-12.719765663146973],["höhe",-12.719903945922852],["▁fericire",-12.71994400024414],["évaluation",-12.719948768615723],["▁Divide",-12.719959259033203],["▁indulge",-12.719979286193848],["fett",-12.720014572143555],["▁communal",-12.72017765045166],["▁mindful",-12.720187187194824],["dauert",-12.720192909240723],["▁veille",-12.720263481140137],["▁vér",-12.720330238342285],["▁Baseball",-12.720373153686523],["▁succeeded",-12.720418930053711],["▁Terrasse",-12.720420837402344],["irgend",-12.720500946044922],["▁Munich",-12.720556259155273],["weisung",-12.72067642211914],["metre",-12.720916748046875],["▁Raymond",-12.721015930175781],["▁chute",-12.72102165222168],["▁Accounting",-12.721075057983398],["▁pantry",-12.721122741699219],["▁underwater",-12.721181869506836],["ARI",-12.721222877502441],["lowed",-12.721245765686035],["numbered",-12.721430778503418],["REN",-12.72148609161377],["▁industriel",-12.721489906311035],["wäh",-12.721531867980957],["kenntnis",-12.721631050109863],["▁govern",-12.721635818481445],["strained",-12.721661567687988],["▁rythme",-12.721689224243164],["ин",-12.72169303894043],["▁burner",-12.721723556518555],["▁zählt",-12.721790313720703],["▁verte",-12.721883773803711],["▁Catalog",-12.721896171569824],["▁Bruno",-12.721988677978516],["0.7",-12.721997261047363],["▁litig",-12.72207260131836],["▁greet",-12.722129821777344],["▁stool",-12.722393035888672],["gression",-12.722457885742188],["▁Klassen",-12.722491264343262],["▁neon",-12.722661018371582],["▁Tall",-12.722734451293945],["▁satin",-12.722895622253418],["▁Bend",-12.722915649414062],["▁soluţi",-12.723077774047852],["▁styl",-12.723196983337402],["▁Siri",-12.723358154296875],["▁Sanders",-12.723464012145996],["▁spike",-12.723499298095703],["pinion",-12.723854064941406],["▁purta",-12.724122047424316],["CARE",-12.724224090576172],["▁creştere",-12.724311828613281],["▁fry",-12.724374771118164],["▁Schweizer",-12.724400520324707],["durchschnittlich",-12.724411010742188],["celaşi",-12.724446296691895],["▁deceased",-12.724474906921387],["▁Nerv",-12.724668502807617],["2-2",-12.7247314453125],["▁Stahl",-12.724753379821777],["▁workload",-12.724834442138672],["erhielt",-12.724984169006348],["▁hypothesis",-12.725103378295898],["bib",-12.725110054016113],["▁ţară",-12.725116729736328],["vaut",-12.725122451782227],["prehensi",-12.725184440612793],["▁Offering",-12.725188255310059],["▁dislike",-12.725252151489258],["▁firewall",-12.725252151489258],["mania",-12.725255966186523],["195",-12.725278854370117],["▁Champ",-12.725324630737305],["▁philosophical",-12.725343704223633],["länge",-12.72553539276123],["advisable",-12.725785255432129],["negotiating",-12.725785255432129],["Providing",-12.725791931152344],["▁1959",-12.725801467895508],["▁spyware",-12.725831031799316],["sharing",-12.725837707519531],["▁prévoi",-12.725905418395996],["▁jaune",-12.7260103225708],["schoss",-12.726028442382812],["▁obține",-12.726129531860352],["▁attraktiv",-12.726489067077637],["gemeinschaft",-12.7265043258667],["BV",-12.726505279541016],["Top",-12.726617813110352],["▁Sharon",-12.726625442504883],["bok",-12.726675033569336],["▁résist",-12.726811408996582],["Napoca",-12.726822853088379],["▁Uncategorized",-12.726898193359375],["▁trustee",-12.726936340332031],["▁remise",-12.727025985717773],["▁aştept",-12.727165222167969],["▁allergic",-12.727206230163574],["èvre",-12.727211952209473],["LAR",-12.72734546661377],["1.9",-12.727497100830078],["▁outbreak",-12.727520942687988],["▁trocken",-12.727568626403809],["▁laughter",-12.727724075317383],["▁Attend",-12.727785110473633],["jung",-12.727822303771973],["racking",-12.727934837341309],["ORS",-12.728178024291992],["▁rasp",-12.728527069091797],["VF",-12.728551864624023],["▁Tamil",-12.72860050201416],["124",-12.728602409362793],["▁Fiber",-12.728714942932129],["▁launches",-12.728755950927734],["Post",-12.728777885437012],["▁bucks",-12.729072570800781],["▁Nicholas",-12.72923755645752],["▁cărți",-12.729255676269531],["emper",-12.729681968688965],["Point",-12.729689598083496],["fraction",-12.729753494262695],["▁BIG",-12.729804992675781],["▁lancer",-12.729829788208008],["EVER",-12.72997760772705],["trend",-12.73000431060791],["▁remerci",-12.730076789855957],["▁prevalent",-12.730168342590332],["370",-12.730290412902832],["▁bestellen",-12.730327606201172],["Buying",-12.730341911315918],["▁Aufbau",-12.730416297912598],["▁opini",-12.730416297912598],["▁regiune",-12.730663299560547],["▁martial",-12.73069953918457],["LK",-12.730754852294922],["▁Feuerwehr",-12.730974197387695],["screened",-12.73099422454834],["Blue",-12.73120403289795],["▁analize",-12.731237411499023],["▁lure",-12.731247901916504],["▁internally",-12.731283187866211],["father",-12.731322288513184],["▁diplomatic",-12.731343269348145],["▁Activity",-12.731464385986328],["▁cliqu",-12.73156452178955],["▁adequately",-12.731809616088867],["▁Elena",-12.73183822631836],["▁Citizens",-12.732102394104004],["▁Länge",-12.732295989990234],["▁respectful",-12.732300758361816],["▁zuständig",-12.73248291015625],["▁réception",-12.732584953308105],["▁headset",-12.732686996459961],["▁awhile",-12.732705116271973],["▁speculation",-12.732707977294922],["▁WhatsApp",-12.732714653015137],["▁tulbur",-12.732731819152832],["▁voluntar",-12.732758522033691],["▁Studium",-12.73277473449707],["▁protector",-12.732833862304688],["▁Wrap",-12.732840538024902],["staat",-12.732951164245605],["▁judgement",-12.733396530151367],["unauthorized",-12.733397483825684],["Rank",-12.733487129211426],["pră",-12.733503341674805],["▁Paw",-12.733627319335938],["▁relev",-12.733664512634277],["▁arbor",-12.733830451965332],["stretches",-12.733885765075684],["nook",-12.733906745910645],["▁Tunis",-12.733907699584961],["▁shocking",-12.734036445617676],["▁oppress",-12.73414421081543],["10.1",-12.7341890335083],["▁ERP",-12.734310150146484],["wolle",-12.7343168258667],["▁Catch",-12.734352111816406],["Plus",-12.734368324279785],["Market",-12.734445571899414],["scribed",-12.734536170959473],["▁décoration",-12.734594345092773],["▁chanson",-12.734607696533203],["▁Midwest",-12.734763145446777],["▁Spencer",-12.734795570373535],["▁societate",-12.734807968139648],["curated",-12.735087394714355],["▁canopy",-12.735135078430176],["ат",-12.735142707824707],["Sig",-12.73514461517334],["▁witch",-12.735153198242188],["envoyer",-12.735175132751465],["▁$1,000",-12.735230445861816],["▁peripheral",-12.735482215881348],["nnouncing",-12.735509872436523],["perfect",-12.73559284210205],["▁warten",-12.735748291015625],["ELI",-12.735822677612305],["▁recap",-12.735912322998047],["dün",-12.735978126525879],["▁Spre",-12.736029624938965],["2005",-12.736153602600098],["▁réparation",-12.73617935180664],["▁extraordinar",-12.736196517944336],["existence",-12.736337661743164],["oanele",-12.736467361450195],["▁reprezentant",-12.736474990844727],["▁attacker",-12.736490249633789],["▁Berliner",-12.73657512664795],["experience",-12.736649513244629],["▁Monde",-12.736800193786621],["intervention",-12.736956596374512],["▁Einstellung",-12.736977577209473],["▁Valentin",-12.737011909484863],["▁zonă",-12.737200736999512],["occupant",-12.737223625183105],["▁mobilis",-12.737260818481445],["metall",-12.737261772155762],["evangeli",-12.73729133605957],["Adding",-12.737326622009277],["▁Roland",-12.73735237121582],["ENCE",-12.737462043762207],["▁Insul",-12.737478256225586],["tellement",-12.737497329711914],["▁Blogger",-12.737499237060547],["▁prote",-12.737504005432129],["▁Minimum",-12.737574577331543],["▁termic",-12.737624168395996],["▁Sachen",-12.737859725952148],["▁Maschinen",-12.737863540649414],["▁Dragnea",-12.737926483154297],["▁overtime",-12.737967491149902],["calorie",-12.737968444824219],["▁jene",-12.73814868927002],["▁Satan",-12.738153457641602],["▁currencies",-12.73827075958252],["▁echipamente",-12.738329887390137],["▁forgiveness",-12.73843765258789],["▁Pause",-12.738479614257812],["▁Witt",-12.738529205322266],["STOR",-12.738632202148438],["▁actuelle",-12.738703727722168],["▁Ard",-12.738853454589844],["▁Constitu",-12.738880157470703],["ghan",-12.7388916015625],["Make",-12.738906860351562],["▁garne",-12.738947868347168],["▁Hitler",-12.738956451416016],["▁rubbish",-12.738973617553711],["6.0",-12.739025115966797],["▁Giving",-12.739177703857422],["▁persever",-12.73937702178955],["wirk",-12.7394380569458],["liegenden",-12.739455223083496],["▁morceau",-12.73946762084961],["atty",-12.73961067199707],["▁Quebec",-12.739669799804688],["harmonie",-12.739705085754395],["Nummer",-12.739721298217773],["▁splendid",-12.739747047424316],["▁halfway",-12.739808082580566],["▁periodically",-12.740071296691895],["▁Ländern",-12.740077018737793],["▁AAA",-12.740083694458008],["▁Frost",-12.740198135375977],["▁heroin",-12.740289688110352],["▁bucurie",-12.7403564453125],["▁Pradesh",-12.74036693572998],["zusetzen",-12.740405082702637],["raising",-12.740425109863281],["▁furniz",-12.740567207336426],["▁convi",-12.740575790405273],["pictured",-12.740911483764648],["▁inadequate",-12.741065979003906],["▁aprobat",-12.741069793701172],["▁exercising",-12.741083145141602],["▁faisai",-12.741138458251953],["▁prosecution",-12.741231918334961],["380",-12.741402626037598],["▁Potential",-12.74145793914795],["▁Magi",-12.741523742675781],["From",-12.741752624511719],["batterie",-12.74181079864502],["▁poisson",-12.74185562133789],["▁Probe",-12.741950988769531],["▁pastel",-12.741998672485352],["▁tracked",-12.742410659790039],["▁advertisers",-12.74251937866211],["adevar",-12.742537498474121],["ит",-12.742776870727539],["▁Herren",-12.742815971374512],["EAM",-12.742820739746094],["▁scooter",-12.742822647094727],["requesting",-12.742841720581055],["dynamis",-12.742949485778809],["▁dahin",-12.742961883544922],["▁tweak",-12.743061065673828],["▁hail",-12.743101119995117],["▁întotdeauna",-12.743160247802734],["▁Publikum",-12.743167877197266],["▁panoramic",-12.743167877197266],["▁PRE",-12.74331283569336],["▁thrill",-12.743361473083496],["Open",-12.743366241455078],["▁Layer",-12.74345588684082],["▁Bosch",-12.743459701538086],["hull",-12.743511199951172],["▁născut",-12.743518829345703],["tausch",-12.743559837341309],["▁autoturism",-12.743577003479004],["▁crank",-12.743701934814453],["CLE",-12.743735313415527],["▁Frederick",-12.74386978149414],["mog",-12.743887901306152],["behalten",-12.74396800994873],["▁aunt",-12.744050979614258],["▁Triple",-12.744141578674316],["▁Ark",-12.744242668151855],["AUD",-12.744440078735352],["▁Candy",-12.744505882263184],["tama",-12.744515419006348],["▁Evaluation",-12.744571685791016],["▁Memphis",-12.744571685791016],["▁stellar",-12.74457836151123],["▁fabricat",-12.744632720947266],["▁terminat",-12.744868278503418],["▁domnul",-12.744913101196289],["▁keynote",-12.744925498962402],["▁dentistry",-12.744951248168945],["rift",-12.745052337646484],["▁bilan",-12.745119094848633],["2.6",-12.745125770568848],["undergoing",-12.745210647583008],["▁pseudo",-12.745274543762207],["▁maşin",-12.745280265808105],["▁munte",-12.74555492401123],["▁VW",-12.745932579040527],["▁Rab",-12.74593448638916],["▁sustine",-12.745972633361816],["▁Bedingungen",-12.745977401733398],["▁învăţ",-12.745980262756348],["▁pyramid",-12.745983123779297],["HEN",-12.746020317077637],["▁citrus",-12.746058464050293],["Code",-12.746064186096191],["▁Beginning",-12.746164321899414],["▁discourse",-12.746249198913574],["▁miercuri",-12.746329307556152],["▁producător",-12.74637508392334],["▁analys",-12.746397972106934],["▁Evan",-12.7467041015625],["138",-12.746987342834473],["▁târziu",-12.74703311920166],["▁relocation",-12.747052192687988],["decizia",-12.74708080291748],["tollen",-12.74714183807373],["TRO",-12.747180938720703],["▁runway",-12.74719524383545],["illet",-12.747270584106445],["▁serveur",-12.747387886047363],["bezogen",-12.747427940368652],["▁believers",-12.747668266296387],["determined",-12.747711181640625],["▁reinforced",-12.74791431427002],["▁wedge",-12.748006820678711],["methyl",-12.74807357788086],["MES",-12.748188018798828],["vpn",-12.748374938964844],["▁consta",-12.74837875366211],["▁vizitat",-12.748420715332031],["modul",-12.748455047607422],["▁routing",-12.748528480529785],["tempted",-12.748540878295898],["URS",-12.748785018920898],["apprentissage",-12.748795509338379],["▁Hungary",-12.748796463012695],["Previously",-12.74880313873291],["▁translator",-12.748804092407227],["▁resonate",-12.748830795288086],["201",-12.748851776123047],["3-0",-12.749029159545898],["▁reunion",-12.749090194702148],["▁palate",-12.749096870422363],["0.4",-12.749171257019043],["reheat",-12.74924373626709],["Roo",-12.749261856079102],["200,000",-12.74940013885498],["Bro",-12.749431610107422],["▁estimation",-12.749468803405762],["schneiden",-12.749499320983887],["▁Inspired",-12.749506950378418],["▁lottery",-12.749539375305176],["▁Friedrich",-12.749887466430664],["FIT",-12.749913215637207],["0.6",-12.7499418258667],["▁dagegen",-12.74997615814209],["▁Reb",-12.750115394592285],["▁Eigenschaften",-12.75020694732666],["▁molding",-12.750361442565918],["▁Harper",-12.750548362731934],["verwaltung",-12.75055980682373],["▁Schlüssel",-12.75055980682373],["▁desfasura",-12.75055980682373],["▁rencontrer",-12.75055980682373],["▁negoci",-12.750581741333008],["▁Leading",-12.750615119934082],["▁necesita",-12.750652313232422],["▁biking",-12.750683784484863],["▁jointly",-12.75069808959961],["▁crush",-12.750702857971191],["Vol",-12.750768661499023],["▁ebay",-12.750836372375488],["▁Shri",-12.750991821289062],["▁AMD",-12.751029968261719],["FG",-12.751032829284668],["Argentin",-12.75120735168457],["▁incercat",-12.751431465148926],["▁tidy",-12.751628875732422],["▁provoqu",-12.751635551452637],["▁Written",-12.751649856567383],["▁Kooperation",-12.751666069030762],["▁scripture",-12.751952171325684],["▁Pflicht",-12.751974105834961],["ficial",-12.752013206481934],["vremea",-12.752013206481934],["▁Growing",-12.752115249633789],["▁redesign",-12.752119064331055],["▁obstacle",-12.752214431762695],["▁rugam",-12.752235412597656],["▁SPD",-12.752243995666504],["165",-12.752270698547363],["fiz",-12.752284049987793],["▁startet",-12.752326011657715],["▁Principle",-12.752327919006348],["▁abdominal",-12.752327919006348],["▁podium",-12.752528190612793],["duty",-12.752616882324219],["bonne",-12.752679824829102],["▁Serbia",-12.752687454223633],["▁brunch",-12.752839088439941],["▁Personne",-12.752975463867188],["▁Idea",-12.753034591674805],["forementioned",-12.753036499023438],["▁chassis",-12.753037452697754],["gebühr",-12.753050804138184],["ucun",-12.753061294555664],["▁Maz",-12.7531156539917],["1-4",-12.75318431854248],["kleid",-12.753273963928223],["▁Volvo",-12.753337860107422],["brechen",-12.753378868103027],["▁homepage",-12.753472328186035],["fuz",-12.753509521484375],["▁abgeschlossen",-12.753595352172852],["▁gelungen",-12.753658294677734],["▁booklet",-12.753711700439453],["▁Ukrainian",-12.753745079040527],["▁Melissa",-12.753746032714844],["CENT",-12.75379467010498],["▁intégré",-12.753806114196777],["weighing",-12.753827095031738],["▁crumbl",-12.753894805908203],["▁bunk",-12.754167556762695],["krieg",-12.754207611083984],["▁freshman",-12.754307746887207],["alaya",-12.754339218139648],["Avem",-12.754353523254395],["▁Kne",-12.754423141479492],["▁upstairs",-12.75448226928711],["AIL",-12.754508972167969],["țul",-12.75478744506836],["▁Lecture",-12.754817962646484],["▁entdecken",-12.754843711853027],["▁GMT",-12.754912376403809],["▁Leitung",-12.754937171936035],["▁inclined",-12.755170822143555],["▁skillet",-12.75555419921875],["FN",-12.755742073059082],["▁Perform",-12.755821228027344],["shift",-12.75583267211914],["recognizing",-12.755873680114746],["▁concise",-12.755873680114746],["▁obsessed",-12.755873680114746],["▁removable",-12.755873680114746],["▁Relax",-12.755888938903809],["delegates",-12.75605583190918],["▁expedi",-12.756074905395508],["▁Schä",-12.756138801574707],["iete",-12.756211280822754],["▁reciproc",-12.756229400634766],["▁neutr",-12.75625228881836],["lactic",-12.756314277648926],["▁Nah",-12.756328582763672],["scene",-12.7565279006958],["▁Helm",-12.756563186645508],["▁Bewerbung",-12.756671905517578],["▁Cassi",-12.75667953491211],["▁Gelegenheit",-12.756939888000488],["▁reflective",-12.757140159606934],["▁încredere",-12.757149696350098],["▁cigarettes",-12.75717544555664],["▁Zusätzlich",-12.757295608520508],["▁intercept",-12.75731372833252],["▁Finn",-12.757468223571777],["▁ignor",-12.757661819458008],["gian",-12.75766372680664],["BRA",-12.757740020751953],["leader",-12.757957458496094],["nius",-12.757981300354004],["▁skies",-12.757987022399902],["▁nunta",-12.758023262023926],["▁grec",-12.758041381835938],["arranging",-12.75816822052002],["wartet",-12.758231163024902],["▁kostet",-12.758377075195312],["▁Entre",-12.758541107177734],["Mag",-12.758575439453125],["▁radiator",-12.758598327636719],["übrigens",-12.758689880371094],["Internet",-12.758706092834473],["▁connexion",-12.758718490600586],["▁prolonged",-12.758854866027832],["▁capabil",-12.75914192199707],["▁feeder",-12.759217262268066],["Initially",-12.759223937988281],["Green",-12.75926685333252],["▁passiert",-12.759272575378418],["▁courtyard",-12.759299278259277],["▁judeţ",-12.759320259094238],["▁Coalition",-12.759431838989258],["▁atmospheric",-12.759431838989258],["▁velocity",-12.759431838989258],["▁Frühstück",-12.759432792663574],["vacancies",-12.759438514709473],["unified",-12.759538650512695],["▁Ahmed",-12.759538650512695],["poured",-12.759550094604492],["▁Mikro",-12.75959587097168],["▁Klar",-12.759661674499512],["kommt",-12.759681701660156],["seated",-12.759744644165039],["musik",-12.75976848602295],["▁stimulation",-12.759841918945312],["▁solicitat",-12.759880065917969],["▁politically",-12.760165214538574],["restoring",-12.760322570800781],["▁Rag",-12.760435104370117],["▁officielle",-12.760468482971191],["▁Annie",-12.760479927062988],["▁tourne",-12.760634422302246],["▁Joel",-12.760642051696777],["blieben",-12.760666847229004],["▁repayment",-12.760736465454102],["▁Strategi",-12.760781288146973],["▁prietenii",-12.760804176330566],["▁Montgomery",-12.760858535766602],["▁résidence",-12.760858535766602],["▁sunglasses",-12.760858535766602],["▁1956",-12.760882377624512],["MEN",-12.76093578338623],["pouvant",-12.760997772216797],["375",-12.761061668395996],["directed",-12.761173248291016],["▁grinder",-12.76120662689209],["rträge",-12.761279106140137],["▁nickel",-12.761299133300781],["▁Maintain",-12.761313438415527],["▁Holmes",-12.761392593383789],["▁obtinut",-12.76157283782959],["▁walnut",-12.761585235595703],["▁consultancy",-12.761640548706055],["cooled",-12.761651039123535],["▁Brig",-12.761711120605469],["▁Produc",-12.761873245239258],["street",-12.76187515258789],["▁Einfach",-12.761897087097168],["North",-12.762149810791016],["▁PET",-12.76220989227295],["▁Président",-12.762288093566895],["▁produsului",-12.762457847595215],["literatur",-12.762483596801758],["133",-12.762561798095703],["▁recours",-12.762591361999512],["▁verpflichtet",-12.76264476776123],["▁Wur",-12.762733459472656],["▁psiholog",-12.762796401977539],["Veg",-12.762871742248535],["▁hype",-12.762930870056152],["augmenter",-12.762974739074707],["▁Welsh",-12.763012886047363],["mounted",-12.763158798217773],["▁Wann",-12.763425827026367],["▁gezeigt",-12.763620376586914],["▁memo",-12.763631820678711],["veterinary",-12.763717651367188],["▁Olympia",-12.763717651367188],["▁handsome",-12.763871192932129],["yama",-12.763911247253418],["studio",-12.763912200927734],["sozial",-12.764020919799805],["▁reap",-12.764104843139648],["▁didactic",-12.764111518859863],["▁Cookie",-12.764126777648926],["▁cooper",-12.764230728149414],["▁discern",-12.76441478729248],["▁Ubuntu",-12.764433860778809],["domain",-12.76443862915039],["▁plasa",-12.764460563659668],["hong",-12.764585494995117],["▁Freiheit",-12.764662742614746],["▁Gateway",-12.764678001403809],["▁poke",-12.764796257019043],["▁niedrig",-12.76484203338623],["▁corrected",-12.764899253845215],["▁predator",-12.76490306854248],["QA",-12.76507568359375],["Physio",-12.765101432800293],["MAS",-12.765108108520508],["▁sanctuary",-12.765151023864746],["▁aferent",-12.76523494720459],["▁perdre",-12.765268325805664],["▁recherch",-12.765397071838379],["ready",-12.76559829711914],["without",-12.76560115814209],["▁locuitori",-12.765628814697266],["▁Memo",-12.765636444091797],["▁Laden",-12.765646934509277],["danken",-12.76577377319336],["▁CNC",-12.765861511230469],["▁jealous",-12.765881538391113],["▁Background",-12.765951156616211],["▁Marx",-12.765999794006348],["▁Heli",-12.766039848327637],["▁osteo",-12.766057968139648],["▁rassembl",-12.766162872314453],["▁altceva",-12.766226768493652],["▁beschäftigt",-12.766226768493652],["▁accru",-12.766266822814941],["üft",-12.766273498535156],["▁sprout",-12.766288757324219],["endorf",-12.76647663116455],["▁specialitate",-12.766483306884766],["éanmoins",-12.766586303710938],["▁poign",-12.766663551330566],["▁mânca",-12.766668319702148],["▁stretched",-12.766752243041992],["fensiv",-12.76677131652832],["▁Auction",-12.76683235168457],["hints",-12.766944885253906],["▁typo",-12.766983032226562],["▁Rare",-12.767003059387207],["▁interruption",-12.767043113708496],["▁Mean",-12.76709270477295],["privileged",-12.767108917236328],["▁purtat",-12.767129898071289],["studie",-12.767229080200195],["offres",-12.767248153686523],["▁flap",-12.76729679107666],["▁rhetoric",-12.767304420471191],["▁snapshot",-12.767325401306152],["▁Conservative",-12.767367362976074],["▁taie",-12.767416954040527],["Game",-12.767499923706055],["▁naissance",-12.767663955688477],["Prof",-12.767704963684082],["qualified",-12.767745971679688],["▁suppression",-12.767749786376953],["▁răspunde",-12.767765045166016],["▁1/3",-12.767803192138672],["▁lieben",-12.767858505249023],["ù",-12.767898559570312],["america",-12.767955780029297],["▁Mum",-12.768182754516602],["▁Researchers",-12.76827335357666],["quip",-12.768308639526367],["▁fenomen",-12.768383026123047],["stools",-12.768387794494629],["▁commodity",-12.768742561340332],["▁rejuvenat",-12.768745422363281],["▁ausgezeichnet",-12.76876449584961],["▁păcate",-12.768784523010254],["3.6",-12.76882553100586],["zwei",-12.768904685974121],["accounted",-12.768982887268066],["▁Cycle",-12.76900863647461],["politischen",-12.769031524658203],["Normally",-12.76904010772705],["▁transcend",-12.769158363342285],["▁Classes",-12.769268989562988],["▁vene",-12.769363403320312],["protein",-12.76942253112793],["formulaire",-12.76944351196289],["▁endurance",-12.769463539123535],["▁Census",-12.769464492797852],["▁census",-12.7694673538208],["▁conțin",-12.76952838897705],["▁multinational",-12.769563674926758],["▁consomm",-12.769572257995605],["▁Porter",-12.769762992858887],["▁marvel",-12.769777297973633],["▁probable",-12.769824028015137],["dependable",-12.770044326782227],["▁crore",-12.77015495300293],["▁6:30",-12.770224571228027],["▁Bradley",-12.77032470703125],["molecule",-12.770400047302246],["inclusiv",-12.770516395568848],["▁privilégi",-12.770543098449707],["▁cerere",-12.770611763000488],["ouille",-12.770696640014648],["▁âgé",-12.770787239074707],["▁ghid",-12.770801544189453],["▁Controller",-12.77082347869873],["▁incredere",-12.770988464355469],["▁hostel",-12.771015167236328],["wissenschaft",-12.771121978759766],["▁cooperate",-12.771183967590332],["ки",-12.771202087402344],["▁Küchen",-12.771384239196777],["▁BIO",-12.771406173706055],["▁deliveries",-12.771458625793457],["▁urmări",-12.771553993225098],["▁überzeugen",-12.771631240844727],["Roofing",-12.771703720092773],["▁Adel",-12.771737098693848],["▁navy",-12.77181339263916],["▁cider",-12.772101402282715],["▁dulce",-12.772109985351562],["▁inspirat",-12.772163391113281],["allez",-12.772164344787598],["HH",-12.77221965789795],["▁Danish",-12.7722749710083],["CDC",-12.7722806930542],["▁Milch",-12.772303581237793],["▁Hockey",-12.772346496582031],["▁Smooth",-12.772347450256348],["▁FIFA",-12.772361755371094],["▁Devon",-12.772364616394043],["chung",-12.772379875183105],["▁villain",-12.772420883178711],["▁musée",-12.772441864013672],["tiennent",-12.772557258605957],["chou",-12.772732734680176],["kopf",-12.772809982299805],["printed",-12.77281379699707],["▁Depression",-12.773076057434082],["▁opioid",-12.773082733154297],["nomie",-12.773098945617676],["▁footwear",-12.773211479187012],["▁Cause",-12.773260116577148],["SEL",-12.773515701293945],["▁Roller",-12.773523330688477],["▁einzigartige",-12.773589134216309],["desea",-12.773597717285156],["▁nasty",-12.773792266845703],["formulated",-12.773877143859863],["breaker",-12.773958206176758],["▁goodies",-12.773961067199707],["▁sandy",-12.774189949035645],["method",-12.77425479888916],["▁Maple",-12.774308204650879],["gefragt",-12.774435997009277],["▁decreasing",-12.774515151977539],["ceşti",-12.774555206298828],["▁DUI",-12.774563789367676],["▁pierdere",-12.774574279785156],["▁brushes",-12.77466869354248],["▁Fully",-12.774712562561035],["filtered",-12.774789810180664],["ruins",-12.774988174438477],["Save",-12.775114059448242],["sweeping",-12.7752046585083],["PCR",-12.775334358215332],["▁folded",-12.775337219238281],["▁urca",-12.775444030761719],["▁clic",-12.775484085083008],["▁spécialiste",-12.775614738464355],["▁durfte",-12.775686264038086],["tuși",-12.775871276855469],["▁diligent",-12.77596378326416],["▁verdict",-12.775972366333008],["▁chaise",-12.776039123535156],["▁cleanup",-12.776068687438965],["▁Guitar",-12.776076316833496],["▁Dip",-12.776142120361328],["vru",-12.776260375976562],["▁cogn",-12.776373863220215],["something",-12.776529312133789],["hidr",-12.776535034179688],["ENG",-12.776607513427734],["Paul",-12.776679039001465],["▁reboot",-12.776687622070312],["savvy",-12.776688575744629],["▁Macron",-12.776710510253906],["▁Kino",-12.77682876586914],["232",-12.776832580566406],["▁gravit",-12.776861190795898],["ANC",-12.776883125305176],["▁petrecut",-12.776944160461426],["▁signage",-12.776959419250488],["odia",-12.776987075805664],["▁GRA",-12.77712631225586],["▁alegeril",-12.777129173278809],["leger",-12.77717399597168],["▁medicamente",-12.777174949645996],["pentru",-12.777249336242676],["▁collectif",-12.777251243591309],["▁Sohn",-12.777298927307129],["205",-12.777313232421875],["▁Reach",-12.77733039855957],["RAM",-12.777400970458984],["3.4",-12.777405738830566],["▁bleach",-12.777409553527832],["▁diligence",-12.777414321899414],["▁MORE",-12.777440071105957],["▁Critical",-12.777471542358398],["▁singură",-12.77767276763916],["▁adversar",-12.777791023254395],["▁Buzz",-12.7778902053833],["▁demeure",-12.778063774108887],["▁nephew",-12.778141021728516],["▁Boom",-12.77817440032959],["▁shining",-12.77819538116455],["▁sponge",-12.778206825256348],["liest",-12.77841854095459],["rseits",-12.778690338134766],["▁capita",-12.778823852539062],["esthesia",-12.778867721557617],["500,000",-12.77895736694336],["▁Pressure",-12.77898120880127],["ifikation",-12.779021263122559],["▁acceleration",-12.779181480407715],["▁Pfarr",-12.779282569885254],["▁imobil",-12.779304504394531],["▁pericol",-12.779326438903809],["▁flock",-12.779454231262207],["▁Scholar",-12.77962875366211],["▁Fusion",-12.779630661010742],["▁revolve",-12.779637336730957],["Plugin",-12.779664993286133],["▁Ruf",-12.779691696166992],["▁tehnici",-12.780024528503418],["voice",-12.78005313873291],["▁anomal",-12.780203819274902],["▁gefallen",-12.780252456665039],["▁Wyoming",-12.780322074890137],["▁9:00",-12.780354499816895],["packed",-12.780461311340332],["▁Zimbabwe",-12.780686378479004],["▁glücklich",-12.780766487121582],["ethanol",-12.78077220916748],["▁effektiv",-12.780936241149902],["▁saptamani",-12.781049728393555],["▁umfasst",-12.781052589416504],["▁Werbung",-12.781103134155273],["▁undermine",-12.781164169311523],["▁Lego",-12.781322479248047],["▁Rac",-12.781323432922363],["educating",-12.781441688537598],["leiten",-12.781451225280762],["derma",-12.781518936157227],["hängen",-12.781597137451172],["Lumin",-12.781846046447754],["▁PNL",-12.781913757324219],["▁volcano",-12.782064437866211],["▁Anfrage",-12.782066345214844],["▁resp",-12.782124519348145],["leigh",-12.78217601776123],["▁addict",-12.782176971435547],["WORK",-12.782312393188477],["▁FY",-12.782322883605957],["▁maneuver",-12.782513618469238],["flächen",-12.782525062561035],["zweck",-12.782527923583984],["tolerant",-12.782609939575195],["Davidson",-12.78272533416748],["▁meteor",-12.782849311828613],["▁Stephanie",-12.78291130065918],["▁plafon",-12.783126831054688],["technischen",-12.78316879272461],["unused",-12.783193588256836],["▁voulai",-12.783228874206543],["▁fehlt",-12.783447265625],["möglichen",-12.783955574035645],["▁Twenty",-12.783968925476074],["composing",-12.783979415893555],["▁rebate",-12.78400707244873],["Italie",-12.784036636352539],["▁goodbye",-12.784058570861816],["wild",-12.784061431884766],["▁lancé",-12.784077644348145],["▁wunderschöne",-12.784083366394043],["▁Frontier",-12.784139633178711],["▁murit",-12.784313201904297],["▁scump",-12.78464412689209],["OVER",-12.784682273864746],["▁meme",-12.784709930419922],["Super",-12.784733772277832],["▁Crack",-12.784849166870117],["rennen",-12.784907341003418],["▁interessiert",-12.784941673278809],["▁relaţi",-12.784942626953125],["▁factories",-12.784975051879883],["▁[...]",-12.785066604614258],["▁vizite",-12.785075187683105],["▁erfolgen",-12.785199165344238],["▁Hosting",-12.785244941711426],["▁localitate",-12.78528118133545],["▁chasse",-12.785415649414062],["▁Meadow",-12.785465240478516],["▁expansive",-12.785513877868652],["hov",-12.785874366760254],["Phil",-12.785978317260742],["illian",-12.786107063293457],["▁manipulate",-12.786107063293457],["informationen",-12.786130905151367],["▁profesionist",-12.786162376403809],["risen",-12.786252975463867],["frem",-12.786300659179688],["Act",-12.78640079498291],["supervised",-12.786491394042969],["▁capul",-12.786506652832031],["▁Craiova",-12.786528587341309],["▁victoire",-12.786528587341309],["▁guitarist",-12.786680221557617],["▁identific",-12.786684036254883],["democrat",-12.786864280700684],["Authentic",-12.786894798278809],["▁Autumn",-12.786894798278809],["▁bodi",-12.787014961242676],["April",-12.787044525146484],["▁Burger",-12.787049293518066],["▁BEST",-12.787490844726562],["▁torrent",-12.78749942779541],["UV",-12.787567138671875],["▁renal",-12.787676811218262],["founded",-12.787693977355957],["203",-12.787956237792969],["▁Flooring",-12.78799057006836],["▁kilogram",-12.787994384765625],["▁garantiert",-12.788139343261719],["▁fulfil",-12.788204193115234],["303",-12.788330078125],["▁schafft",-12.788363456726074],["▁butterfly",-12.788365364074707],["▁Stuart",-12.788382530212402],["▁Versuch",-12.788392066955566],["▁liking",-12.788412094116211],["▁chercher",-12.788508415222168],["▁wrapping",-12.788527488708496],["schrieb",-12.788652420043945],["▁abuz",-12.788718223571777],["▁maîtrise",-12.788772583007812],["EQ",-12.788887977600098],["▁Erinnerung",-12.789095878601074],["▁bridal",-12.78909969329834],["Rock",-12.789118766784668],["▁copied",-12.789193153381348],["Met",-12.789206504821777],["▁incep",-12.789233207702637],["▁sinus",-12.789336204528809],["▁Felix",-12.789831161499023],["▁Deluxe",-12.789837837219238],["▁GPU",-12.789848327636719],["Sie",-12.790164947509766],["lowering",-12.790262222290039],["▁Trotz",-12.790282249450684],["333",-12.790417671203613],["withstand",-12.79055118560791],["▁Aufenthalt",-12.790566444396973],["▁unhealthy",-12.790567398071289],["▁urbain",-12.790573120117188],["▁LOL",-12.790702819824219],["▁Ballet",-12.79074478149414],["▁Decoration",-12.79083251953125],["weist",-12.790839195251465],["▁Residence",-12.790932655334473],["▁Leeds",-12.791055679321289],["▁Genau",-12.791084289550781],["Imagin",-12.791136741638184],["▁suspicion",-12.791300773620605],["▁pêche",-12.791301727294922],["▁Soccer",-12.791306495666504],["▁protectie",-12.791553497314453],["ATS",-12.791796684265137],["stocked",-12.791838645935059],["▁gymnas",-12.79184627532959],["ASP",-12.792027473449707],["▁Independence",-12.792037010192871],["▁Wizard",-12.792037963867188],["▁nitrogen",-12.79204273223877],["amerikanische",-12.7920503616333],["▁Indianapolis",-12.79205322265625],["catches",-12.792131423950195],["stria",-12.792275428771973],["schätze",-12.79235553741455],["▁Räume",-12.792387962341309],["▁Interesting",-12.792403221130371],["bürger",-12.79240608215332],["sweet",-12.792410850524902],["Identify",-12.792632102966309],["EEN",-12.792651176452637],["▁£3",-12.792654991149902],["interacting",-12.7926664352417],["NYSE",-12.792762756347656],["▁Dynamics",-12.79277515411377],["▁modificări",-12.792777061462402],["▁Kumar",-12.792936325073242],["chette",-12.79313850402832],["▁presiune",-12.79316234588623],["arni",-12.793164253234863],["▁vielfältig",-12.793221473693848],["KC",-12.793259620666504],["▁Cuisine",-12.793513298034668],["▁australia",-12.793885231018066],["▁încet",-12.794026374816895],["▁caracteristic",-12.794257164001465],["▁cookbook",-12.794501304626465],["▁douleur",-12.79453182220459],["AVI",-12.794593811035156],["artikel",-12.794740676879883],["feta",-12.79493522644043],["▁fréquent",-12.794987678527832],["▁Prophet",-12.795051574707031],["▁dépense",-12.795202255249023],["▁Smile",-12.795235633850098],["▁lawmakers",-12.79525375366211],["▁Kollegen",-12.795391082763672],["▁Pir",-12.79555606842041],["serez",-12.79561710357666],["▁consumator",-12.795656204223633],["▁playlist",-12.795730590820312],["▁envisage",-12.795733451843262],["swept",-12.795780181884766],["▁Grim",-12.795825004577637],["▁widow",-12.795836448669434],["authorised",-12.795886039733887],["▁(...)",-12.796035766601562],["▁photographic",-12.796060562133789],["▁libertate",-12.796173095703125],["▁principalement",-12.796201705932617],["umming",-12.796260833740234],["▁Montréal",-12.796465873718262],["▁compilation",-12.796468734741211],["▁erlaubt",-12.79647159576416],["▁biblical",-12.796518325805664],["volume",-12.796561241149902],["5-7",-12.796809196472168],["▁Versch",-12.79689884185791],["▁Shark",-12.796957015991211],["ologne",-12.796969413757324],["4.4",-12.797086715698242],["decken",-12.797112464904785],["▁frequencies",-12.797205924987793],["▁inferior",-12.79720687866211],["visible",-12.797321319580078],["▁educator",-12.797394752502441],["▁soziale",-12.797420501708984],["▁billet",-12.797523498535156],["folosirea",-12.797574996948242],["▁aufgenommen",-12.797590255737305],["▁Thread",-12.797649383544922],["registering",-12.797694206237793],["▁Loop",-12.797747611999512],["innovation",-12.79783821105957],["▁elimination",-12.797857284545898],["136",-12.797883987426758],["▁fluctu",-12.797892570495605],["▁Mercury",-12.79794692993164],["▁bouche",-12.797955513000488],["▁hurdle",-12.7979736328125],["▁Bennett",-12.798040390014648],["STI",-12.79818344116211],["▁théâtre",-12.798316955566406],["▁confortable",-12.798359870910645],["▁Automobil",-12.79838752746582],["▁Donna",-12.798399925231934],["▁foyer",-12.79841136932373],["▁hollow",-12.798465728759766],["▁règlement",-12.79861068725586],["effi",-12.798616409301758],["▁sediment",-12.79869270324707],["▁Mä",-12.798774719238281],["▁faint",-12.798833847045898],["feti",-12.79890251159668],["▁Concord",-12.798959732055664],["▁Ladies",-12.798990249633789],["▁pregatit",-12.799052238464355],["▁Ensemble",-12.79905891418457],["▁Ingredient",-12.79905891418457],["▁Respond",-12.79914379119873],["▁impaired",-12.799356460571289],["▁Feedback",-12.799430847167969],["▁ultrasound",-12.799461364746094],["▁Guvernului",-12.799617767333984],["▁Unterricht",-12.799654006958008],["▁prosecut",-12.799662590026855],["spend",-12.799732208251953],["▁capitol",-12.799800872802734],["USD",-12.799822807312012],["observing",-12.799947738647461],["▁effortlessly",-12.800045013427734],["▁Setting",-12.80010986328125],["▁spontaneous",-12.80020809173584],["▁LEGO",-12.800238609313965],["initiative",-12.800299644470215],["▁Sak",-12.800299644470215],["Interestingly",-12.800326347351074],["▁Yale",-12.800352096557617],["▁größer",-12.80038070678711],["RIC",-12.800406455993652],["▁distracted",-12.800436973571777],["drafted",-12.800484657287598],["▁Brenda",-12.800522804260254],["monopol",-12.800551414489746],["städt",-12.800580024719238],["▁altar",-12.80058765411377],["▁Hannover",-12.800596237182617],["▁Spiritual",-12.800702095031738],["▁thriller",-12.800747871398926],["▁Schneider",-12.800760269165039],["▁accumulate",-12.800817489624023],["▁mediului",-12.800822257995605],["▁Mathematics",-12.800914764404297],["▁paradox",-12.800986289978027],["▁Sham",-12.801230430603027],["▁SITE",-12.801375389099121],["▁echipei",-12.801508903503418],["▁staircase",-12.801660537719727],["▁întrebări",-12.801705360412598],["Commerce",-12.802020072937012],["▁selfie",-12.802353858947754],["▁Pocket",-12.802404403686523],["▁niemand",-12.80263614654541],["Tool",-12.802678108215332],["igma",-12.802695274353027],["utilisant",-12.802915573120117],["▁negatively",-12.80295181274414],["Secondly",-12.802955627441406],["▁ROI",-12.8030366897583],["Arch",-12.803121566772461],["▁continuity",-12.80318546295166],["▁Prayer",-12.803235054016113],["inverse",-12.803241729736328],["▁Himmel",-12.803336143493652],["prinz",-12.803478240966797],["wichtigen",-12.803496360778809],["étage",-12.803522109985352],["summe",-12.8036527633667],["▁Zeitung",-12.80366039276123],["▁realization",-12.803897857666016],["▁influent",-12.804291725158691],["▁Valid",-12.804357528686523],["▁publicity",-12.804439544677734],["▁vertreten",-12.804447174072266],["▁Shoes",-12.804609298706055],["▁Diabetes",-12.80463695526123],["▁anticipation",-12.804670333862305],["▁Blank",-12.8047456741333],["asked",-12.804899215698242],["Power",-12.804938316345215],["arrelage",-12.805140495300293],["▁appraisal",-12.80538272857666],["▁harassment",-12.805542945861816],["Anzeige",-12.805682182312012],["liners",-12.80584716796875],["Firstly",-12.805851936340332],["transferring",-12.805951118469238],["▁Diane",-12.806012153625488],["▁1/2\"",-12.80606746673584],["▁adrenal",-12.806131362915039],["▁Prague",-12.806208610534668],["insertion",-12.80635929107666],["▁Fahrer",-12.806465148925781],["▁divin",-12.806585311889648],["▁douche",-12.80673885345459],["▁meticulous",-12.806879043579102],["▁IEEE",-12.806981086730957],["▁Rabatt",-12.807259559631348],["Runner",-12.807342529296875],["▁Leder",-12.807429313659668],["project",-12.80745792388916],["▁Split",-12.807562828063965],["Gold",-12.807600021362305],["5.00",-12.807629585266113],["iola",-12.807655334472656],["standardized",-12.807890892028809],["ordination",-12.807984352111816],["▁Egal",-12.808158874511719],["▁ruhig",-12.808241844177246],["▁judiciar",-12.80837345123291],["▁Nowadays",-12.808374404907227],["▁whistle",-12.808374404907227],["▁superhero",-12.808379173278809],["▁PowerPoint",-12.808408737182617],["flop",-12.808420181274414],["olph",-12.808460235595703],["▁pallet",-12.808916091918945],["posons",-12.809005737304688],["▁Listing",-12.809032440185547],["Tag",-12.809075355529785],["introductory",-12.809122085571289],["▁Profil",-12.809123992919922],["symmetric",-12.809126853942871],["▁aisle",-12.809138298034668],["▁ajouté",-12.809147834777832],["opathy",-12.809149742126465],["prezentate",-12.809155464172363],["▁hurry",-12.809165000915527],["Auth",-12.809310913085938],["▁Homepage",-12.809435844421387],["ashes",-12.809489250183105],["▁inklusive",-12.809496879577637],["populated",-12.809502601623535],["▁nein",-12.809554100036621],["▁syndicat",-12.809690475463867],["▁développé",-12.809842109680176],["▁Domestic",-12.809877395629883],["essay",-12.809967994689941],["Atelier",-12.809980392456055],["▁proceeding",-12.810006141662598],["▁SAS",-12.810038566589355],["task",-12.810063362121582],["▁blackjack",-12.810114860534668],["Key",-12.810186386108398],["thérapie",-12.810247421264648],["▁Cohen",-12.810397148132324],["Direct",-12.810510635375977],["▁Estimat",-12.810517311096191],["élève",-12.810616493225098],["cind",-12.810640335083008],["▁prezenț",-12.810701370239258],["▁notorious",-12.810725212097168],["climbed",-12.810816764831543],["▁flexibil",-12.810830116271973],["▁entlang",-12.810855865478516],["longed",-12.81103515625],["▁elbow",-12.811078071594238],["BH",-12.811296463012695],["▁Radu",-12.811376571655273],["▁lonely",-12.811378479003906],["ALA",-12.811405181884766],["Variante",-12.811639785766602],["▁Influen",-12.81169319152832],["▁Budapest",-12.811747550964355],["▁Gemüse",-12.811747550964355],["▁continental",-12.811750411987305],["ippo",-12.811771392822266],["▁Affordable",-12.81212329864502],["▁niece",-12.812187194824219],["oscopic",-12.812190055847168],["▁Grid",-12.81222152709961],["sliced",-12.812270164489746],["▁voici",-12.812294006347656],["aveam",-12.812471389770508],["▁Lars",-12.812612533569336],["APA",-12.812657356262207],["▁particulière",-12.812858581542969],["sorb",-12.8128662109375],["▁1955",-12.812887191772461],["▁solutii",-12.812942504882812],["loch",-12.812960624694824],["▁summon",-12.813212394714355],["wurf",-12.813271522521973],["▁protecți",-12.813288688659668],["2001",-12.813499450683594],["▁sophomore",-12.813627243041992],["▁Schwerpunkt",-12.813628196716309],["▁diplomat",-12.813687324523926],["▁artistique",-12.813726425170898],["▁accueille",-12.813739776611328],["Disp",-12.813746452331543],["inherited",-12.813764572143555],["▁COMP",-12.813889503479004],["▁envoyé",-12.814046859741211],["▁tuning",-12.814056396484375],["▁entspricht",-12.814062118530273],["▁exerc",-12.81406307220459],["▁accessoires",-12.8140869140625],["▁Automat",-12.814348220825195],["importance",-12.814408302307129],["▁travellers",-12.814432144165039],["seiten",-12.814474105834961],["▁slider",-12.814481735229492],["effect",-12.814591407775879],["▁siding",-12.814669609069824],["▁Crit",-12.814780235290527],["▁sportif",-12.814827919006348],["▁Accessories",-12.81513500213623],["▁Anteil",-12.815184593200684],["▁limbi",-12.81519603729248],["▁vendre",-12.815269470214844],["borg",-12.815435409545898],["▁Deposit",-12.815508842468262],["▁Hö",-12.815717697143555],["employé",-12.8157320022583],["▁Bangalore",-12.815887451171875],["▁itinerary",-12.815888404846191],["▁Deliver",-12.816008567810059],["dik",-12.816024780273438],["▁advent",-12.816100120544434],["▁Turk",-12.81614875793457],["▁Nico",-12.816154479980469],["organizarea",-12.816161155700684],["▁remport",-12.816166877746582],["▁tribunal",-12.816266059875488],["▁Rusia",-12.8162841796875],["glazed",-12.816339492797852],["▁destiné",-12.816502571105957],["304",-12.816533088684082],["album",-12.816650390625],["▁junction",-12.81665325164795],["▁Fleet",-12.816664695739746],["venant",-12.81667423248291],["▁buddy",-12.816694259643555],["▁neglected",-12.816694259643555],["▁Mask",-12.816783905029297],["▁testament",-12.816844940185547],["▁Basil",-12.81690788269043],["masă",-12.816922187805176],["▁racist",-12.81692886352539],["640",-12.816990852355957],["▁Standing",-12.817028045654297],["▁MUST",-12.817266464233398],["situation",-12.817327499389648],["▁informiert",-12.817337036132812],["ABA",-12.817353248596191],["▁Timothy",-12.817397117614746],["▁generosity",-12.817397117614746],["▁erscheint",-12.817402839660645],["▁verarbeitet",-12.81740665435791],["▁burial",-12.817444801330566],["▁limestone",-12.817458152770996],["▁1953",-12.817480087280273],["▁Lucr",-12.817506790161133],["small",-12.817633628845215],["aveau",-12.81763744354248],["versiune",-12.81773567199707],["▁inkl",-12.81775951385498],["▁Minneapolis",-12.81777572631836],["Spiel",-12.81781005859375],["▁encode",-12.817895889282227],["▁beforehand",-12.818021774291992],["▁Vital",-12.818086624145508],["▁socialist",-12.818228721618652],["inho",-12.81824779510498],["▁chapel",-12.81825065612793],["▁Monitoring",-12.81838607788086],["▁quotidienne",-12.818404197692871],["cloud",-12.818506240844727],["▁desfăşur",-12.818531036376953],["▁1952",-12.818638801574707],["▁Rü",-12.818690299987793],["▁Sigma",-12.818804740905762],["134",-12.818835258483887],["Sullivan",-12.818909645080566],["▁Bevölkerung",-12.818909645080566],["▁sufficiently",-12.818953514099121],["Check",-12.818992614746094],["rnie",-12.8190336227417],["contamin",-12.819132804870605],["▁gewonnen",-12.81928825378418],["▁bugetul",-12.819376945495605],["▁mustard",-12.819414138793945],["132",-12.819478988647461],["0.9",-12.819535255432129],["▁tratat",-12.81957721710205],["▁dilemma",-12.819666862487793],["▁versatility",-12.819666862487793],["▁clutter",-12.819670677185059],["▁Musk",-12.81973934173584],["▁Beide",-12.819750785827637],["hurst",-12.819758415222168],["atsu",-12.819767951965332],["absence",-12.819784164428711],["rebounds",-12.819881439208984],["6.1",-12.820029258728027],["Dia",-12.820046424865723],["▁siguranță",-12.820060729980469],["▁Blade",-12.820072174072266],["▁disrupt",-12.820074081420898],["▁visiteurs",-12.820169448852539],["tested",-12.820282936096191],["▁Lup",-12.820353507995605],["▁Rouge",-12.820371627807617],["▁asbestos",-12.82042407989502],["▁moisturize",-12.820427894592285],["▁acknowledg",-12.82045841217041],["▁procent",-12.820467948913574],["▁swear",-12.82050895690918],["▁911",-12.820647239685059],["präsent",-12.820724487304688],["▁cohort",-12.82072639465332],["▁intimid",-12.820830345153809],["JS",-12.820849418640137],["îm",-12.82096004486084],["▁Kunststoff",-12.820963859558105],["rison",-12.820972442626953],["▁praf",-12.82097339630127],["▁convient",-12.821019172668457],["▁partenaire",-12.821088790893555],["▁Verantwortlich",-12.821182250976562],["▁semiconductor",-12.821182250976562],["▁kürz",-12.821187019348145],["▁Bottom",-12.821187973022461],["▁tratamentul",-12.82127571105957],["Source",-12.821331024169922],["authored",-12.82172679901123],["robo",-12.821867942810059],["▁turf",-12.82194709777832],["▁liebe",-12.821971893310547],["▁Fotografi",-12.821995735168457],["Big",-12.822064399719238],["▁fireworks",-12.822081565856934],["▁presă",-12.822135925292969],["▁conceal",-12.822269439697266],["▁originated",-12.82227897644043],["▁biciclet",-12.822319984436035],["acești",-12.822577476501465],["▁mortar",-12.822585105895996],["▁Wunder",-12.822626113891602],["ionist",-12.822696685791016],["KM",-12.822871208190918],["▁Marion",-12.822918891906738],["produkte",-12.822933197021484],["▁Sprint",-12.822999000549316],["▁Nachde",-12.8230619430542],["▁verfüge",-12.823100090026855],["Marea",-12.823177337646484],["▁compressor",-12.823253631591797],["Arm",-12.823290824890137],["Auf",-12.823311805725098],["▁Polyester",-12.823461532592773],["▁Sheffield",-12.823461532592773],["illiard",-12.823494911193848],["▁misleading",-12.82353401184082],["multi",-12.823749542236328],["ripped",-12.82381820678711],["▁Cosmetic",-12.82383918762207],["▁Regal",-12.823890686035156],["▁authenticity",-12.82414436340332],["▁customizable",-12.824219703674316],["▁bathtub",-12.824275016784668],["▁Average",-12.824292182922363],["▁Muster",-12.824522018432617],["290",-12.824529647827148],["▁Ersatz",-12.824570655822754],["▁Might",-12.824588775634766],["published",-12.82461929321289],["▁Interpret",-12.824640274047852],["▁încep",-12.82480239868164],["▁proto",-12.824851036071777],["▁disque",-12.824889183044434],["▁Palestine",-12.824980735778809],["Over",-12.824981689453125],["▁verbessert",-12.824983596801758],["▁liefern",-12.825017929077148],["▁Handlung",-12.825095176696777],["▁Handels",-12.825150489807129],["▁eater",-12.825201988220215],["▁$40",-12.825251579284668],["illard",-12.825334548950195],["▁apariti",-12.825413703918457],["▁gag",-12.825422286987305],["▁chimic",-12.825541496276855],["▁Guru",-12.825594902038574],["▁Toilet",-12.82571792602539],["▁Tochter",-12.825748443603516],["▁Aurora",-12.82579231262207],["contro",-12.825922966003418],["▁GOP",-12.825995445251465],["Provence",-12.826130867004395],["▁Frieden",-12.82614803314209],["ăci",-12.826216697692871],["portée",-12.826268196105957],["▁upright",-12.826300621032715],["▁Physician",-12.82650375366211],["▁juridique",-12.82650375366211],["▁territorial",-12.82650375366211],["▁kindergarten",-12.826505661010742],["aéroport",-12.826510429382324],["▁whisper",-12.826513290405273],["▁capacities",-12.826562881469727],["dichte",-12.826641082763672],["▁Grenzen",-12.826822280883789],["▁Riv",-12.82710075378418],["épreuve",-12.827266693115234],["▁Scheme",-12.827290534973145],["mesures",-12.827330589294434],["▁Einfluss",-12.827333450317383],["appui",-12.827713966369629],["▁apuc",-12.827827453613281],["▁radiat",-12.82794189453125],["▁allergy",-12.828035354614258],["▁spear",-12.828038215637207],["▁Luxembourg",-12.828086853027344],["▁Registered",-12.828115463256836],["▁Shape",-12.828198432922363],["genie",-12.828328132629395],["nsonsten",-12.828385353088379],["▁Symposium",-12.828412055969238],["forderung",-12.828474998474121],["▁personalizat",-12.82866096496582],["▁ştiu",-12.82875919342041],["blatt",-12.828804016113281],["▁geometry",-12.828807830810547],["▁8:30",-12.828831672668457],["▁Fahrrad",-12.828861236572266],["After",-12.828927040100098],["▁ventilat",-12.829072952270508],["▁nylon",-12.829190254211426],["▁verkauft",-12.829304695129395],["öß",-12.829345703125],["▁Kath",-12.829523086547852],["▁Nuclear",-12.829558372497559],["▁Verizon",-12.829560279846191],["▁spokesperson",-12.829560279846191],["▁vietii",-12.829560279846191],["▁prescri",-12.829629898071289],["ру",-12.829666137695312],["6.2",-12.829801559448242],["▁spațiu",-12.830018997192383],["▁solvent",-12.83006763458252],[",000,000",-12.830142974853516],["reuen",-12.830185890197754],["plast",-12.830245018005371],["▁Activities",-12.830334663391113],["▁domni",-12.83056926727295],["▁trophy",-12.830572128295898],["▁saddle",-12.830657958984375],["▁renovat",-12.830708503723145],["▁bumper",-12.830717086791992],["▁penny",-12.830741882324219],["omato",-12.830743789672852],["AQ",-12.83083438873291],["kunst",-12.830843925476074],["hydrat",-12.830860137939453],["minder",-12.830931663513184],["trecerea",-12.830949783325195],["brush",-12.831185340881348],["TEC",-12.83121395111084],["Please",-12.831253051757812],["hydrated",-12.831483840942383],["ICAL",-12.831636428833008],["trauen",-12.831639289855957],["9,000",-12.83175277709961],["▁2030",-12.831830024719238],["▁Chennai",-12.831854820251465],["▁empirical",-12.831854820251465],["▁Subscribe",-12.83206844329834],["▁vorgestellt",-12.832120895385742],["▁Springfield",-12.832159996032715],["▁continuu",-12.832311630249023],["208",-12.832351684570312],["▁Bearing",-12.83240795135498],["2003",-12.832572937011719],["cheta",-12.832608222961426],["▁empathy",-12.832623481750488],["▁Alert",-12.832817077636719],["▁recreate",-12.832879066467285],["PJ",-12.833159446716309],["Name",-12.83323860168457],["▁Mouse",-12.833405494689941],["▁disturbing",-12.833443641662598],["▁leichter",-12.83344841003418],["▁cruel",-12.833507537841797],["▁detective",-12.833531379699707],["▁reimbursement",-12.833626747131348],["▁Gemeinschaft",-12.833772659301758],["▁adolescents",-12.833772659301758],["▁Reality",-12.833954811096191],["▁Stockholm",-12.83415699005127],["▁Gründen",-12.834304809570312],["▁Reflect",-12.83432388305664],["▁Palmer",-12.834336280822754],["▁treac",-12.8343505859375],["▁tentative",-12.834497451782227],["▁surrender",-12.834677696228027],["▁broadly",-12.834734916687012],["▁județ",-12.834814071655273],["▁Thu",-12.834845542907715],["wärts",-12.834961891174316],["▁crește",-12.835074424743652],["▁déplacement",-12.835208892822266],["blanc",-12.835268020629883],["▁£5",-12.835308074951172],["▁confidentiality",-12.835320472717285],["veraging",-12.835444450378418],["unité",-12.835609436035156],["clar",-12.83564567565918],["rigg",-12.835693359375],["honneur",-12.835694313049316],["▁adventurous",-12.835694313049316],["▁Nutzen",-12.835758209228516],["▁Kabel",-12.835800170898438],["empowering",-12.836040496826172],["verhalten",-12.836042404174805],["▁prevail",-12.8361234664917],["mashed",-12.836138725280762],["▁1947",-12.83616828918457],["function",-12.836292266845703],["niveaux",-12.83633041381836],["▁territories",-12.836463928222656],["▁Permanent",-12.836465835571289],["▁christmas",-12.836471557617188],["arguing",-12.836490631103516],["zukünftig",-12.836654663085938],["▁Eindruck",-12.836817741394043],["personalised",-12.836854934692383],["▁vecin",-12.837211608886719],["▁Affiliate",-12.837234497070312],["▁Silk",-12.837249755859375],["▁Tub",-12.837440490722656],["▁remont",-12.837493896484375],["▁sauber",-12.837530136108398],["gehörig",-12.837562561035156],["Maritime",-12.83771800994873],["▁Bö",-12.837973594665527],["▁1957",-12.83800220489502],["▁unparalleled",-12.838005065917969],["▁fulfillment",-12.838042259216309],["▁collage",-12.838179588317871],["fenders",-12.838248252868652],["▁neige",-12.838275909423828],["▁gamers",-12.838325500488281],["tefan",-12.838339805603027],["▁wifi",-12.838349342346191],["▁leisten",-12.83835506439209],["▁Verbesserung",-12.838390350341797],["▁composant",-12.838400840759277],["▁LORD",-12.8384370803833],["arrive",-12.838472366333008],["▁conquer",-12.838562965393066],["▁lentil",-12.838767051696777],["▁Sprech",-12.838995933532715],["▁substitution",-12.839015007019043],[".05.",-12.839020729064941],["FORM",-12.839144706726074],["cădere",-12.839154243469238],["▁canyon",-12.839430809020996],["▁capacitate",-12.839442253112793],["▁menace",-12.839461326599121],["▁Antique",-12.839519500732422],["▁dizaine",-12.839550971984863],["▁Saturn",-12.839578628540039],["▁gastro",-12.83962631225586],["▁Vand",-12.839641571044922],["▁africa",-12.839682579040527],["▁hackers",-12.839702606201172],["▁Bailey",-12.839736938476562],["ouette",-12.839822769165039],["hoch",-12.839885711669922],["étudiant",-12.839973449707031],["▁1600",-12.840004920959473],["utiliz",-12.840167999267578],["reinigung",-12.840263366699219],["▁mileage",-12.84029483795166],["▁consacré",-12.840309143066406],["▁Norfolk",-12.840327262878418],["stacked",-12.840659141540527],["anbieter",-12.840731620788574],["▁gewünschte",-12.84073543548584],["▁silicon",-12.840761184692383],["Ensuite",-12.840794563293457],["▁vendu",-12.840850830078125],["▁viteza",-12.840851783752441],["▁evaluare",-12.840913772583008],["▁contient",-12.841036796569824],["▁Viagra",-12.841100692749023],["▁circumstance",-12.841283798217773],["walker",-12.841383934020996],["▁Aluminium",-12.84148120880127],["ço",-12.841556549072266],["▁Kli",-12.841643333435059],["▁deliberately",-12.841649055480957],["▁gamble",-12.841893196105957],["▁nourri",-12.841903686523438],["▁sealing",-12.84194278717041],["▁Atmosphäre",-12.842255592346191],["▁erschien",-12.842260360717773],["▁brightness",-12.842340469360352],["autonomie",-12.84251594543457],["▁propel",-12.842525482177734],["▁Infrastructure",-12.842642784118652],["▁război",-12.842642784118652],["▁jelly",-12.842684745788574],["scalable",-12.84280776977539],["regal",-12.84296703338623],["▁sarcini",-12.843031883239746],["▁Dienstag",-12.84304428100586],["▁Receive",-12.8430814743042],["▁mango",-12.843356132507324],["▁compétition",-12.84341812133789],["▁Monument",-12.843428611755371],["▁mast",-12.844159126281738],["▁instructed",-12.84425163269043],["▁aventur",-12.844277381896973],["139",-12.844298362731934],["▁Parmi",-12.84435749053955],["confined",-12.844416618347168],["acious",-12.844441413879395],["▁simptome",-12.844581604003906],["▁Fischer",-12.844897270202637],["störung",-12.844985008239746],["▁bilateral",-12.84504508972168],["preşedintele",-12.845274925231934],["accueillir",-12.845357894897461],["▁Schmidt",-12.845359802246094],["litis",-12.845373153686523],["WL",-12.8454008102417],["▁Rise",-12.845436096191406],["▁streamline",-12.845556259155273],["sozialen",-12.845585823059082],["▁Emirates",-12.845746040344238],["▁encrypted",-12.845746040344238],["▁unfamiliar",-12.845746040344238],["established",-12.84577751159668],["▁Tätigkeit",-12.845818519592285],["▁unaware",-12.845913887023926],["2:00",-12.8460054397583],["macher",-12.846013069152832],["NSA",-12.8461275100708],["▁rutier",-12.846177101135254],["▁Trent",-12.846212387084961],["▁sickness",-12.846277236938477],["▁advert",-12.846417427062988],["▁Kranken",-12.846426963806152],["▁Sandra",-12.846443176269531],["▁Recreation",-12.846449851989746],["▁Evidence",-12.846524238586426],["▁Immigration",-12.846524238586426],["▁carriage",-12.846524238586426],["▁justified",-12.84655475616455],["▁veche",-12.846579551696777],["PGA",-12.846604347229004],["▁Carmen",-12.846735000610352],["▁Faites",-12.846750259399414],["▁erfüllt",-12.84691333770752],["▁voilà",-12.846931457519531],["▁împlin",-12.846959114074707],["deposited",-12.84721565246582],["▁decisiv",-12.847241401672363],["CSA",-12.847249031066895],["pathy",-12.84726619720459],["▁erweitert",-12.847302436828613],["▁liquor",-12.847302436828613],["▁resilient",-12.847302436828613],["▁walmart",-12.847302436828613],["▁fencing",-12.847308158874512],["▁dépasse",-12.84731388092041],["KT",-12.847354888916016],["▁fries",-12.847368240356445],["vadă",-12.847421646118164],["▁Spania",-12.847478866577148],["▁complètement",-12.847725868225098],["▁lucrari",-12.84777545928955],["▁Lieb",-12.847908973693848],["leistungen",-12.847943305969238],["198",-12.847979545593262],["▁Schnell",-12.847997665405273],["▁radius",-12.84814453125],["▁beneficiaries",-12.848151206970215],["▁northwest",-12.848174095153809],["▁#4",-12.848223686218262],["▁embryo",-12.848492622375488],["▁ditch",-12.848791122436523],["▁Seriously",-12.848859786987305],["oppel",-12.848941802978516],["▁stalk",-12.849053382873535],["écriture",-12.849066734313965],["512",-12.84912109375],["wiesen",-12.849271774291992],["▁Consum",-12.849321365356445],["▁lună",-12.849405288696289],["▁lantern",-12.849441528320312],["▁italian",-12.849629402160645],["▁achiziți",-12.849639892578125],["▁catalyst",-12.849639892578125],["▁Arbeitgeber",-12.849662780761719],["▁researched",-12.8496675491333],["▁drastically",-12.849679946899414],["versammlung",-12.849735260009766],["410",-12.849800109863281],["▁impus",-12.850153923034668],["▁interchange",-12.850173950195312],["▁pharmacie",-12.850215911865234],["Live",-12.850354194641113],["dents",-12.850384712219238],["▁charcoal",-12.850419998168945],["▁odihn",-12.850420951843262],["▁pistol",-12.850444793701172],["▁complaining",-12.850576400756836],["manager",-12.850578308105469],["themed",-12.850578308105469],["▁Chang",-12.850650787353516],["▁rookie",-12.85070514678955],["Great",-12.850706100463867],["▁smoker",-12.850733757019043],["▁Container",-12.850812911987305],["▁bancaire",-12.850852966308594],["▁Actual",-12.850966453552246],["füllen",-12.850982666015625],["forum",-12.850985527038574],["bleib",-12.851073265075684],["▁combi",-12.851079940795898],["smoked",-12.851137161254883],["difficultés",-12.851161003112793],["▁tactical",-12.851240158081055],["▁sichtbar",-12.851483345031738],["▁dreptate",-12.851598739624023],["ERT",-12.85168743133545],["▁Pond",-12.85177993774414],["▁Holly",-12.851844787597656],["erfolg",-12.8518705368042],["▁Nordic",-12.851896286010742],["évènement",-12.851983070373535],["embracing",-12.851984024047852],["▁Maximum",-12.851984024047852],["▁défend",-12.85205078125],["▁fruct",-12.852056503295898],["▁Conditioning",-12.852099418640137],["LG",-12.852127075195312],["exigence",-12.852166175842285],["amide",-12.852187156677246],["▁darunter",-12.852208137512207],["▁EVERY",-12.852420806884766],["▁comparat",-12.85244083404541],["boosting",-12.852452278137207],["▁Hawaiian",-12.852553367614746],["▁Geburt",-12.852752685546875],["deci",-12.852782249450684],["▁Apollo",-12.852803230285645],["▁schützen",-12.852821350097656],["tragere",-12.852893829345703],["Online",-12.852904319763184],["▁neural",-12.852913856506348],["▁lucrez",-12.853188514709473],["▁phenomenal",-12.853253364562988],["▁Height",-12.853368759155273],["coordinating",-12.853548049926758],["geschnitten",-12.853631019592285],["auront",-12.853641510009766],["▁administer",-12.853644371032715],["▁contend",-12.853707313537598],["▁crispy",-12.853784561157227],["chuck",-12.854011535644531],["▁Condition",-12.8540678024292],["gestaltung",-12.854324340820312],["▁Blvd",-12.854331970214844],["▁subjective",-12.854470252990723],["▁événements",-12.854708671569824],["▁Jenny",-12.855131149291992],["▁cumpăra",-12.85519027709961],["constructing",-12.855262756347656],["▁instructional",-12.85539436340332],["▁sterling",-12.855446815490723],["scrise",-12.855470657348633],["▁Boulevard",-12.855551719665527],["pipe",-12.855620384216309],["▁Pride",-12.855748176574707],["▁Kau",-12.855751991271973],["▁overhaul",-12.855924606323242],["▁Recruitment",-12.855925559997559],["▁thrilling",-12.856218338012695],["living",-12.856302261352539],["▁rămân",-12.85645866394043],["▁MOD",-12.85661792755127],["▁Newport",-12.856675148010254],["▁infectious",-12.856688499450684],["6-3",-12.856860160827637],["▁Apache",-12.856976509094238],["▁dependence",-12.85698413848877],["nutzung",-12.857199668884277],["praised",-12.857211112976074],["▁craving",-12.857346534729004],["▁cramp",-12.857397079467773],["▁mancare",-12.857455253601074],["▁entdeckt",-12.857474327087402],["▁Pioneer",-12.857484817504883],["▁Adelaide",-12.857490539550781],["2.0",-12.857503890991211],["168",-12.857526779174805],["▁Decorating",-12.857611656188965],["▁unpleasant",-12.857854843139648],["▁déclaration",-12.857865333557129],["▁Grafik",-12.857908248901367],["5-2",-12.857937812805176],["căci",-12.857940673828125],["▁invade",-12.858171463012695],["▁internaţional",-12.858259201049805],["▁fraudulent",-12.858281135559082],["▁crestere",-12.858441352844238],["ografic",-12.858729362487793],["plină",-12.859140396118164],["sunteti",-12.859150886535645],["/04",-12.859176635742188],["▁admis",-12.85935115814209],["▁mediation",-12.859403610229492],["ICC",-12.859424591064453],["roș",-12.859660148620605],["▁Aroma",-12.8596773147583],["1:00",-12.859792709350586],["gasesc",-12.859822273254395],["▁Defence",-12.859850883483887],["▁dictionary",-12.859856605529785],["▁Batterie",-12.859865188598633],["▁gesunde",-12.85997486114502],["146",-12.860099792480469],["▁mortal",-12.860129356384277],["▁Flughafen",-12.860230445861816],["hhh",-12.860284805297852],["▁novice",-12.860342025756836],["▁Develop",-12.86043930053711],["▁accidental",-12.860516548156738],["Muzeul",-12.86054515838623],["▁Jupiter",-12.86062240600586],["supposedly",-12.860662460327148],["energy",-12.860758781433105],["▁montrer",-12.860764503479004],["recalled",-12.860795021057129],["Press",-12.860801696777344],["▁postcard",-12.86080265045166],["target",-12.86081600189209],["▁vêtements",-12.860881805419922],["▁particle",-12.860888481140137],["professional",-12.8608980178833],["▁1949",-12.860917091369629],["yah",-12.860980033874512],["▁Spiegel",-12.861017227172852],["▁Jeffrey",-12.861023902893066],["fahrzeug",-12.861027717590332],["▁Plug",-12.861051559448242],["▁violin",-12.861150741577148],["▁condemn",-12.861381530761719],["▁conducere",-12.861398696899414],["▁Chevrolet",-12.861412048339844],["▁conceput",-12.861461639404297],["▁Merri",-12.861493110656738],["judging",-12.861559867858887],["embraced",-12.86168098449707],["▁Compact",-12.861715316772461],["▁château",-12.861807823181152],["etch",-12.861945152282715],["bedroom",-12.861995697021484],["People",-12.862038612365723],["25,000",-12.86209774017334],["ocyte",-12.862146377563477],["▁Lenovo",-12.862205505371094],["▁Hampton",-12.862241744995117],["5.2",-12.862244606018066],["▁progres",-12.862266540527344],["hoc",-12.862288475036621],["▁complementary",-12.86241340637207],["turned",-12.862485885620117],["mangel",-12.862508773803711],["▁Drew",-12.862592697143555],["épisode",-12.86259651184082],["▁Versorgung",-12.86259651184082],["▁ausdrücklich",-12.86259651184082],["ciune",-12.862788200378418],["▁sfârșit",-12.862990379333496],["Agricultural",-12.862991333007812],["▁caffeine",-12.862991333007812],["▁emergencies",-12.862991333007812],["▁unhappy",-12.862991333007812],["(7)",-12.863043785095215],["▁inlocui",-12.863059043884277],["▁Rochester",-12.863153457641602],["183",-12.863155364990234],["niz",-12.863285064697266],["tasche",-12.863462448120117],["▁Salle",-12.86347484588623],["cît",-12.863478660583496],["▁Singer",-12.863489151000977],["▁economically",-12.863506317138672],["▁ieși",-12.863525390625],["▁façade",-12.86378288269043],["Ohne",-12.863801956176758],["▁edible",-12.863842964172363],["Rob",-12.863851547241211],["▁(2014)",-12.863859176635742],["▁Zar",-12.863919258117676],["▁obey",-12.863995552062988],["Pack",-12.864087104797363],["▁Omni",-12.864198684692383],["▁Gilbert",-12.864212036132812],["▁Vlad",-12.86429500579834],["▁pauvre",-12.864333152770996],["▁secular",-12.864383697509766],["Center",-12.864415168762207],["▁Prospect",-12.864457130432129],["▁Noah",-12.86450481414795],["▁Interactive",-12.86471176147461],["▁centaine",-12.86485767364502],["▁cerebral",-12.864971160888672],["▁Novel",-12.865013122558594],["▁Käufer",-12.865039825439453],["werfen",-12.865056991577148],["▁reluctant",-12.865143775939941],["ес",-12.86520004272461],["Look",-12.86521053314209],["Erkrankung",-12.86536693572998],["▁cucumber",-12.86536693572998],["/2017",-12.865399360656738],["▁flank",-12.865405082702637],["opportunité",-12.865667343139648],["zugleich",-12.865766525268555],["RAT",-12.865840911865234],["▁avantages",-12.865880012512207],["▁außer",-12.866008758544922],["GV",-12.866090774536133],["▁Continental",-12.866159439086914],["▁affiliation",-12.866159439086914],["▁ursprünglich",-12.86618423461914],["▁hardship",-12.866349220275879],["âme",-12.86647891998291],["▁hallway",-12.866576194763184],["▁afară",-12.866578102111816],["western",-12.866714477539062],["▁Jacket",-12.866802215576172],["▁culturelle",-12.866876602172852],["▁glaci",-12.866995811462402],["metoda",-12.867036819458008],["▁clerk",-12.867045402526855],["▁ordinance",-12.867185592651367],["▁Initial",-12.867197036743164],["waking",-12.86722469329834],["▁Secondary",-12.867366790771484],["▁Solomon",-12.867411613464355],["glomer",-12.867488861083984],["SYS",-12.867530822753906],["▁Florin",-12.867596626281738],["ffentlich",-12.867670059204102],["▁Printer",-12.867674827575684],["▁dimineata",-12.86774730682373],["▁stripes",-12.867748260498047],["plugged",-12.86776065826416],["öhl",-12.867836952209473],["infused",-12.867875099182129],["▁Rubber",-12.867895126342773],["paved",-12.867898941040039],["▁Devi",-12.867995262145996],["▁subway",-12.8681640625],["▁gases",-12.868306159973145],["▁reguli",-12.868371963500977],["▁Rebel",-12.868413925170898],["▁destructive",-12.868546485900879],["▁oferind",-12.868664741516113],["9001",-12.868876457214355],["CRA",-12.868912696838379],["why",-12.868932723999023],["sensul",-12.869036674499512],["guter",-12.869277000427246],["Empfehlung",-12.869338035583496],["▁convertible",-12.86953353881836],["▁predominantly",-12.869637489318848],["▁Mentor",-12.869649887084961],["Practic",-12.869720458984375],["▁echipă",-12.869754791259766],["onsite",-12.869853019714355],["▁zunehmend",-12.86994743347168],["▁Harbour",-12.870016098022461],["▁pineapple",-12.870133399963379],["▁gasoline",-12.870139122009277],["▁Jaguar",-12.870158195495605],["kno",-12.870259284973145],["▁heap",-12.870448112487793],["▁fictional",-12.870481491088867],["fiinta",-12.870753288269043],["▁Amber",-12.87081241607666],["▁Exclusive",-12.870929718017578],["▁Pharmaceutical",-12.870929718017578],["▁unterscheide",-12.871044158935547],["▁1942",-12.871116638183594],["▁Ceiling",-12.87115478515625],["developed",-12.871228218078613],["▁consacr",-12.87132453918457],["▁Membr",-12.871411323547363],["erton",-12.871447563171387],["habitation",-12.871685981750488],["▁longevity",-12.871726989746094],["▁Starbucks",-12.871728897094727],["▁poat",-12.871771812438965],["▁commissioner",-12.871794700622559],["pedia",-12.871938705444336],["popped",-12.872468948364258],["versorgung",-12.872525215148926],["▁Aktivitäten",-12.872525215148926],["▁Betreuung",-12.872525215148926],["▁afacere",-12.872968673706055],["▁Mechanical",-12.873323440551758],["▁Leiter",-12.873346328735352],["▁scaling",-12.873427391052246],["▁Slim",-12.87350082397461],["▁temperaturi",-12.873516082763672],["ACH",-12.873558044433594],["▁jährlich",-12.873682022094727],["▁photographie",-12.873722076416016],["▁préalable",-12.873725891113281],["▁părinți",-12.87372875213623],["▁Farmers",-12.873873710632324],["▁Printable",-12.873905181884766],["Früh",-12.873908996582031],["approved",-12.87398624420166],["otro",-12.874094009399414],["▁veneer",-12.874099731445312],["▁Warriors",-12.874122619628906],["▁Approach",-12.874149322509766],["Share",-12.874238967895508],["▁buds",-12.874252319335938],["▁Într",-12.874330520629883],["glichen",-12.87452507019043],["▁anbieten",-12.87452507019043],["MET",-12.874539375305176],["amélioration",-12.87468147277832],["ländische",-12.87468433380127],["nsgesamt",-12.874764442443848],["einiger",-12.874822616577148],["▁Förderung",-12.874876022338867],["destroying",-12.874910354614258],["▁accreditation",-12.874922752380371],["reminiscent",-12.875094413757324],["▁retriev",-12.87528133392334],["▁Flü",-12.875306129455566],["▁Monsieur",-12.875322341918945],["German",-12.87536334991455],["Orice",-12.875443458557129],["künftig",-12.875523567199707],["▁vorbi",-12.875639915466309],["▁intentionally",-12.875733375549316],["▁îngrij",-12.875743865966797],["▁laughed",-12.875850677490234],["▁Fiction",-12.875913619995117],["▁inteligent",-12.875914573669434],["▁Translation",-12.875953674316406],["greete",-12.875983238220215],["▁énergétique",-12.876123428344727],["uncovered",-12.876248359680176],["▁évidemment",-12.876523971557617],["▁Vietnamese",-12.876535415649414],["▁Libya",-12.876675605773926],["▁Trailer",-12.876734733581543],["▁Wohl",-12.876871109008789],["▁Congo",-12.87698745727539],["▁freut",-12.877002716064453],["zauber",-12.877090454101562],["▁Pân",-12.877142906188965],["▁mentine",-12.877333641052246],["▁welding",-12.877335548400879],["▁Mircea",-12.8773775100708],["▁optimism",-12.877455711364746],["VEL",-12.877504348754883],["oilea",-12.877540588378906],["▁thereafter",-12.877612113952637],["▁André",-12.877710342407227],["forschung",-12.877799987792969],["running",-12.878022193908691],["▁hostile",-12.878059387207031],["Homme",-12.87811279296875],["▁Satellite",-12.878129005432129],["▁collagen",-12.87841796875],["▁concedi",-12.878518104553223],["▁produziert",-12.87852954864502],["▁virgin",-12.878540992736816],["frant",-12.87857723236084],["▁teammates",-12.878744125366211],["▁faceti",-12.878802299499512],["▁Restoration",-12.87893295288086],["▁detached",-12.878935813903809],["▁Instructor",-12.878950119018555],["montag",-12.879227638244629],["▁borrowing",-12.879375457763672],["▁Retro",-12.879446983337402],["▁behandelt",-12.879536628723145],["▁Aussage",-12.879715919494629],["▁snorkel",-12.879734992980957],["▁Proceedings",-12.879754066467285],["▁Judy",-12.879776000976562],["▁Wendy",-12.879783630371094],["artă",-12.879920959472656],["▁Vergangenheit",-12.88013744354248],["▁Gegner",-12.880139350891113],["▁ulcer",-12.880166053771973],["wirksam",-12.880553245544434],["▁închis",-12.880560874938965],["▁emission",-12.88068962097168],["ulescu",-12.880754470825195],["▁bancar",-12.880819320678711],["compromising",-12.880924224853516],["▁Priest",-12.881156921386719],["▁Progress",-12.881318092346191],["▁punish",-12.88144588470459],["▁Afin",-12.881450653076172],["▁Bog",-12.881514549255371],["lunii",-12.881525039672852],["▁ressembl",-12.881570816040039],["▁Creation",-12.881644248962402],["effet",-12.881668090820312],["Versicherung",-12.881671905517578],["médias",-12.881672859191895],["▁Kritik",-12.881793975830078],["idia",-12.881896018981934],["▁Wasch",-12.881929397583008],["UAL",-12.882059097290039],["Approximately",-12.882149696350098],["izari",-12.882152557373047],["▁Dortmund",-12.882152557373047],["▁contul",-12.882343292236328],["▁Airways",-12.882408142089844],["sicherung",-12.882535934448242],["échelle",-12.882560729980469],["ADD",-12.882582664489746],["DIA",-12.88259506225586],["kabel",-12.882621765136719],["Media",-12.88268756866455],["ampli",-12.882894515991211],["▁quarry",-12.88295841217041],["▁acoper",-12.883072853088379],["halter",-12.883326530456543],["▁solicitor",-12.883684158325195],["phosphat",-12.883763313293457],["▁drown",-12.883773803710938],["congratulat",-12.884047508239746],["▁uneven",-12.884087562561035],["▁rupe",-12.884154319763184],["▁heureux",-12.88417911529541],["caractéristiques",-12.884221076965332],["60,000",-12.884283065795898],["ambigu",-12.884340286254883],["224",-12.884417533874512],["dov",-12.88454532623291],["▁Naturally",-12.884629249572754],["▁Ernst",-12.884634017944336],["Camp",-12.884757995605469],["▁Worldwide",-12.884909629821777],["▁antrenament",-12.885042190551758],["▁jocul",-12.88521671295166],["▁broccoli",-12.88537883758545],["▁fascinated",-12.88537883758545],["▁Abbey",-12.885387420654297],["▁aquarium",-12.885390281677246],["HAN",-12.885458946228027],["chaffung",-12.885480880737305],["137",-12.885503768920898],["rumors",-12.885515213012695],["reliance",-12.885557174682617],["▁vaccination",-12.8856782913208],["responsabilitate",-12.885777473449707],["▁legislati",-12.885782241821289],["ATT",-12.885826110839844],["206",-12.885896682739258],["▁miere",-12.885967254638672],["▁rezultatul",-12.885988235473633],["părea",-12.88599681854248],["zuführen",-12.886159896850586],["▁Kompetenz",-12.886187553405762],["▁nickname",-12.886195182800293],["pilot",-12.88620376586914],["▁ninth",-12.886252403259277],["▁Tyr",-12.886446952819824],["▁misuse",-12.886469841003418],["▁SUP",-12.886514663696289],["▁Attack",-12.88667106628418],["Smart",-12.88669490814209],["▁Philosoph",-12.886930465698242],["▁Alege",-12.886931419372559],["▁femeile",-12.886967658996582],["▁Heating",-12.88698673248291],["▁Cricket",-12.886999130249023],["▁scholar",-12.887049674987793],["Model",-12.887073516845703],["▁stimulating",-12.887182235717773],["▁industrielle",-12.887189865112305],["▁phenomena",-12.887303352355957],["▁Nahrung",-12.887414932250977],["▁Conditioner",-12.887433052062988],["führ",-12.887489318847656],["▁révolution",-12.88757610321045],["plastic",-12.887595176696777],["▁approximate",-12.887596130371094],["▁dienen",-12.887624740600586],["▁obsession",-12.887807846069336],["▁rectangular",-12.887807846069336],["Allemagne",-12.887808799743652],["▁Tanzania",-12.887824058532715],["border",-12.887884140014648],["▁crashed",-12.887958526611328],["visor",-12.887974739074707],["▁autorizat",-12.888072967529297],["▁Champagne",-12.888222694396973],["längst",-12.888238906860352],["▁realities",-12.888314247131348],["▁Keyword",-12.88831615447998],["▁GUI",-12.888495445251465],["▁simplified",-12.88865852355957],["▁Rack",-12.888681411743164],["▁Zahlen",-12.888693809509277],["growth",-12.888897895812988],["▁rehearsal",-12.888991355895996],["▁Epic",-12.888999938964844],["▁réussite",-12.889195442199707],["▁politician",-12.889263153076172],["▁emoți",-12.889378547668457],["▁delegation",-12.889449119567871],["▁со",-12.889464378356934],["oversized",-12.889477729797363],["▁Motto",-12.889481544494629],["1860",-12.889788627624512],["▁defective",-12.889803886413574],["brewing",-12.889852523803711],["linguistic",-12.890243530273438],["▁Hopkins",-12.890265464782715],["▁(2012)",-12.89030933380127],["crease",-12.890436172485352],["▁Versicherungs",-12.89052677154541],["▁Noble",-12.890752792358398],["▁Bekannt",-12.890896797180176],["▁vorstellen",-12.89095401763916],["▁suburban",-12.890970230102539],["DAC",-12.890995025634766],["▁scatter",-12.89103889465332],["▁Artificial",-12.8910551071167],["▁reactor",-12.891073226928711],["▁modelling",-12.89108943939209],["▁Holder",-12.891148567199707],["athon",-12.891149520874023],["147",-12.891190528869629],["▁stagn",-12.891257286071777],["ARY",-12.891261100769043],["Space",-12.89126968383789],["▁Gibson",-12.891718864440918],["▁Investigator",-12.89173698425293],["▁1914",-12.891818046569824],["▁Muhammad",-12.891868591308594],["▁shove",-12.892073631286621],["▁erklären",-12.892276763916016],["▁abdomen",-12.892277717590332],["▁Mazda",-12.892349243164062],["▁hemo",-12.892364501953125],["National",-12.892455101013184],["starken",-12.89267635345459],["▁Cyprus",-12.892683982849121],["▁tread",-12.892721176147461],["▁sweetness",-12.892725944519043],["stunden",-12.892790794372559],["▁couverture",-12.893059730529785],["▁Successful",-12.893060684204102],["▁oublier",-12.893171310424805],["▁esential",-12.893203735351562],["estival",-12.89321231842041],["gnac",-12.893280029296875],["▁Basement",-12.893457412719727],["presumably",-12.893497467041016],["▁mourn",-12.893561363220215],["armée",-12.893677711486816],["148",-12.893845558166504],["▁residue",-12.894006729125977],["▁metalic",-12.89404296875],["▁Zell",-12.89425277709961],["Build",-12.894280433654785],["▁prevalence",-12.894312858581543],["▁wrestling",-12.894312858581543],["▁ascuns",-12.894325256347656],["Sacred",-12.894340515136719],["Tec",-12.89438533782959],["▁Kindergarten",-12.894389152526855],["bindung",-12.894464492797852],["▁ritm",-12.894545555114746],["▁triste",-12.894651412963867],["▁introdus",-12.894758224487305],["/2016",-12.894824028015137],["▁română",-12.894899368286133],["▁bibli",-12.89490032196045],["▁cigar",-12.894913673400879],["Rie",-12.894990921020508],["▁intentional",-12.894999504089355],["▁cuprins",-12.895098686218262],["remarkably",-12.895129203796387],["▁printemps",-12.895133972167969],["▁declining",-12.895171165466309],["Magazin",-12.89552116394043],["▁săptămână",-12.895537376403809],["▁vérifier",-12.895549774169922],["▁Speise",-12.895584106445312],["▁reteta",-12.8956298828125],["heed",-12.895772933959961],["▁Compliance",-12.895946502685547],["▁embroidery",-12.895946502685547],["cried",-12.896025657653809],["▁(„",-12.896282196044922],["▁heck",-12.89629077911377],["▁sadness",-12.896501541137695],["▁impulse",-12.896585464477539],["ATH",-12.896740913391113],["▁lavender",-12.896773338317871],["uiesc",-12.896790504455566],["▁Disorder",-12.896876335144043],["stroke",-12.896991729736328],["▁piaţ",-12.8970365524292],["ournée",-12.897049903869629],["▁Barnes",-12.8971586227417],["▁scăzut",-12.897172927856445],["▁équipements",-12.89725112915039],["OND",-12.897375106811523],["▁Compet",-12.897424697875977],["▁Bestell",-12.89748477935791],["▁immédiatement",-12.897587776184082],["aparut",-12.89759635925293],["▁rainfall",-12.897882461547852],["oreille",-12.89797306060791],["▁ministère",-12.898014068603516],["iris",-12.898140907287598],["dyna",-12.898279190063477],["drücken",-12.898343086242676],["▁détect",-12.89834976196289],["▁fonctionnalité",-12.89840030670166],["▁imbalance",-12.89840030670166],["▁unpredictable",-12.89840030670166],["▁literar",-12.89846134185791],["▁Windsor",-12.898472785949707],["▁Unlimited",-12.898481369018555],["colour",-12.898674964904785],["▁Portfolio",-12.898810386657715],["149",-12.898883819580078],["volution",-12.898890495300293],["▁folgende",-12.899078369140625],["▁arbitration",-12.899105072021484],["kicking",-12.89913558959961],["zügig",-12.89923095703125],["▁1941",-12.899311065673828],["▁Drake",-12.89955997467041],["▁ausführlich",-12.899630546569824],["▁chaussure",-12.899630546569824],["▁intestinal",-12.89976692199707],["▁pilgrim",-12.900040626525879],["▁Bark",-12.900142669677734],["between",-12.900157928466797],["disposed",-12.900175094604492],["▁Dylan",-12.900218963623047],["ств",-12.900253295898438],["NOR",-12.900287628173828],["traces",-12.90038776397705],["▁moindre",-12.900500297546387],["▁$10,000",-12.900552749633789],["212",-12.900599479675293],["wusste",-12.900659561157227],["▁predictable",-12.900671005249023],["poţi",-12.900679588317871],["▁Celsius",-12.900860786437988],["gebunden",-12.90086841583252],["▁Legacy",-12.900891304016113],["movers",-12.90090274810791],["▁concret",-12.90098762512207],["▁simpla",-12.901050567626953],["rechnet",-12.901103973388672],["▁certainty",-12.901144981384277],["entrepreneurship",-12.901153564453125],["kohl",-12.901289939880371],["▁curte",-12.901311874389648],["▁Forbes",-12.901411056518555],["▁Zusatz",-12.901535987854004],["blending",-12.90163803100586],["▁variat",-12.901642799377441],["▁galaxy",-12.90168285369873],["▁safari",-12.90168571472168],["▁municipalities",-12.9017972946167],["▁Drept",-12.90180778503418],["aufnahme",-12.902128219604492],["▁endorse",-12.902223587036133],["einrichtung",-12.902244567871094],["Sync",-12.902270317077637],["abide",-12.902323722839355],["brushed",-12.902350425720215],["▁actiune",-12.902410507202148],["quaint",-12.902498245239258],["▁volatility",-12.902504920959473],["▁repetitive",-12.902505874633789],["▁découvr",-12.902560234069824],["Totodat",-12.902585983276367],["▁românesc",-12.902682304382324],["▁tempting",-12.902772903442383],["thesis",-12.902947425842285],["secure",-12.903013229370117],["delt",-12.903019905090332],["▁şef",-12.903167724609375],["▁epidemic",-12.903326988220215],["▁Appliance",-12.903327941894531],["cearcă",-12.903331756591797],["▁lodging",-12.903361320495605],["▁photographed",-12.903507232666016],["geschlagen",-12.903794288635254],["▁Methodist",-12.90380859375],["▁Transit",-12.90389347076416],["▁Länder",-12.903934478759766],["villa",-12.903986930847168],["▁toilette",-12.904031753540039],["anno",-12.904074668884277],["▁Aufnahme",-12.904091835021973],["▁Coral",-12.904099464416504],["pourraient",-12.904129981994629],["▁digestion",-12.904245376586914],["▁Vacation",-12.904274940490723],["▁Rugby",-12.904275894165039],["MIC",-12.904311180114746],["▁choc",-12.904417991638184],["2002",-12.904492378234863],["gestion",-12.904674530029297],["▁Zoom",-12.904745101928711],["essor",-12.904763221740723],["weighed",-12.904793739318848],["▁dispus",-12.904987335205078],["▁redemption",-12.90502643585205],["▁plaster",-12.905071258544922],["▁Quilt",-12.90507698059082],["▁teritoriul",-12.905088424682617],["ndern",-12.905097961425781],["▁expired",-12.905105590820312],["▁Tribunal",-12.905122756958008],["occupation",-12.9052152633667],["▁woodland",-12.905248641967773],["vieux",-12.905254364013672],["▁Midland",-12.905465126037598],["gât",-12.90571117401123],["électricité",-12.905800819396973],["▁vanzare",-12.905811309814453],["biologi",-12.905961036682129],["▁vive",-12.906060218811035],["▁Alarm",-12.906097412109375],["▁experiență",-12.9061279296875],["▁Loch",-12.906133651733398],["▁Pedro",-12.906194686889648],["▁detergent",-12.906217575073242],["language",-12.906554222106934],["▁sedan",-12.906655311584473],["▁Brady",-12.906736373901367],["▁compus",-12.906976699829102],["▁landfill",-12.906982421875],["giu",-12.907039642333984],["beziehung",-12.9070405960083],["▁picior",-12.907184600830078],["ALI",-12.907235145568848],["▁Commander",-12.907256126403809],["EPS",-12.907303810119629],["▁Textil",-12.907320022583008],["▁industria",-12.907339096069336],["lox",-12.907365798950195],["▁eclectic",-12.907453536987305],["▁gracious",-12.907477378845215],["Uniunea",-12.907525062561035],["bps",-12.90754222869873],["▁entertained",-12.907634735107422],["depinde",-12.907767295837402],["▁daylight",-12.907893180847168],["▁résistance",-12.907995223999023],["ARN",-12.908194541931152],["▁unavailable",-12.908201217651367],["Curtea",-12.908390045166016],["▁pores",-12.908502578735352],["▁Tonight",-12.908649444580078],["▁datori",-12.90869426727295],["▁gezielt",-12.908703804016113],["▁rupture",-12.90875244140625],["▁disput",-12.908848762512207],["▁sonstige",-12.908895492553711],["▁Ordnung",-12.90910816192627],["▁beschrieben",-12.909114837646484],["▁Rainbow",-12.90911865234375],["▁Werkzeug",-12.909136772155762],["GIN",-12.909354209899902],["facilitating",-12.909490585327148],["hunt",-12.90955638885498],["▁Serving",-12.909673690795898],["Writ",-12.909692764282227],["requisite",-12.909798622131348],["▁Kerry",-12.90989875793457],["▁riesig",-12.909957885742188],["▁Healing",-12.91030502319336],["▁1954",-12.910365104675293],["▁mousse",-12.910428047180176],["▁Positive",-12.910764694213867],["embodie",-12.910772323608398],["▁penetrate",-12.910774230957031],["endorsed",-12.910882949829102],["▁situatia",-12.910927772521973],["▁Unity",-12.911083221435547],["142",-12.911102294921875],["▁farmhouse",-12.911138534545898],["▁Handbook",-12.911368370056152],["▁symbolic",-12.911378860473633],["pristine",-12.911439895629883],["moitié",-12.911595344543457],["▁Sessions",-12.912017822265625],["technisch",-12.912116050720215],["▁lesquel",-12.912148475646973],["▁electronically",-12.912208557128906],["▁modificat",-12.912240982055664],["▁adjoin",-12.912242889404297],["actualité",-12.912256240844727],["vati",-12.91229248046875],["VENT",-12.912299156188965],["▁salsa",-12.912333488464355],["acupunctur",-12.912424087524414],["▁Opportunity",-12.912424087524414],["▁Inspection",-12.912425994873047],["▁vereinbart",-12.912425994873047],["▁Residents",-12.912426948547363],["▁perennial",-12.91242790222168],["CHAN",-12.912555694580078],["Search",-12.912572860717773],["UTE",-12.912696838378906],["▁Lens",-12.912703514099121],["▁Banner",-12.91281509399414],["aménagement",-12.912839889526367],["▁Decision",-12.91286849975586],["▁ferr",-12.912869453430176],["▁Transformation",-12.912878036499023],["▁Stamm",-12.912955284118652],["▁Galerie",-12.913003921508789],["onny",-12.913126945495605],["▁caption",-12.913195610046387],["▁viitorul",-12.91323471069336],["▁professionelle",-12.913281440734863],["drepturile",-12.913294792175293],["ylon",-12.913345336914062],["Société",-12.913387298583984],["AIS",-12.913456916809082],["March",-12.91350269317627],["▁Rav",-12.91357707977295],["▁1946",-12.913691520690918],["accompagnement",-12.913713455200195],["Liviu",-12.913716316223145],["▁Appeal",-12.913826942443848],["▁sentir",-12.913952827453613],["▁Indigenous",-12.914087295532227],["▁wizard",-12.914087295532227],["▁collateral",-12.914127349853516],["▁Proof",-12.914324760437012],["▁prze",-12.914398193359375],["▁obținut",-12.91450309753418],["COP",-12.914629936218262],["▁obiect",-12.914681434631348],["▁isolate",-12.914685249328613],["▁nieder",-12.914793014526367],["TECH",-12.914953231811523],["▁Sharing",-12.914998054504395],["Ideally",-12.915008544921875],["▁naked",-12.915059089660645],["horaire",-12.915130615234375],["▁prelucrare",-12.915180206298828],["▁forcément",-12.915349006652832],["▁ESPN",-12.915403366088867],["▁southwest",-12.9154634475708],["▁Timber",-12.915682792663574],["kleidung",-12.915748596191406],["MJ",-12.915854454040527],["Ped",-12.915889739990234],["▁lymph",-12.916181564331055],["wärme",-12.916399002075195],["▁Olivia",-12.916610717773438],["Ziua",-12.916705131530762],["reihe",-12.916747093200684],["▁selfish",-12.916752815246582],["▁geography",-12.916814804077148],["▁etaj",-12.916924476623535],["▁acquis",-12.91698932647705],["▁rejoin",-12.91701602935791],["7.1",-12.917097091674805],["▁paix",-12.91713809967041],["tirer",-12.917284965515137],["▁clase",-12.91745662689209],["▁blink",-12.917572021484375],["▁Interface",-12.917611122131348],["nado",-12.917655944824219],["RIT",-12.91777515411377],["ESC",-12.918120384216309],["▁carving",-12.918190002441406],["▁articolul",-12.918194770812988],["▁wreath",-12.918258666992188],["▁propaganda",-12.918266296386719],["▁Pair",-12.918267250061035],["▁pamant",-12.91831111907959],["▁venituri",-12.918357849121094],["rtz",-12.91835880279541],["uddle",-12.918529510498047],["uille",-12.918543815612793],["▁embed",-12.918654441833496],["0.05",-12.918655395507812],["▁Brighton",-12.918718338012695],["estens",-12.918742179870605],["▁occupational",-12.918862342834473],["ем",-12.918890953063965],["wünsche",-12.919081687927246],["▁Poetry",-12.91909408569336],["▁visualize",-12.919109344482422],["Across",-12.919121742248535],["▁essentielle",-12.919123649597168],["beratung",-12.919143676757812],["▁Guidelines",-12.91919231414795],["▁Fehl",-12.919198036193848],["▁liberty",-12.91921329498291],["▁Investigation",-12.91922378540039],["▁sunrise",-12.919266700744629],["▁12:00",-12.919541358947754],["venind",-12.919583320617676],["▁lotion",-12.919655799865723],["conscious",-12.91968822479248],["logists",-12.91973876953125],["▁judecător",-12.919893264770508],["▁Ecuador",-12.919928550720215],["▁ambulance",-12.91994857788086],["▁Already",-12.920026779174805],["▁eröffnet",-12.920090675354004],["▁naval",-12.92010498046875],["▁imposibil",-12.92011547088623],["▁Merry",-12.92011833190918],["▁Duncan",-12.920272827148438],["▁léger",-12.9203519821167],["▁delta",-12.920391082763672],["▁Machinery",-12.920578002929688],["▁craftsmanship",-12.920766830444336],["▁angezeigt",-12.9207763671875],["▁formidable",-12.9207763671875],["▁Startup",-12.920878410339355],["venus",-12.920969009399414],["▁tannin",-12.921019554138184],["collaborating",-12.921128273010254],["▁abrupt",-12.921152114868164],["emergence",-12.921171188354492],["Dienstleistungen",-12.921197891235352],["▁liefert",-12.921217918395996],["engagement",-12.921222686767578],["▁maximise",-12.921304702758789],["modeled",-12.9214448928833],["▁crane",-12.92148208618164],["▁effortless",-12.921540260314941],["▁Buffet",-12.92160701751709],["8000",-12.921648979187012],["▁Überblick",-12.921687126159668],["micro",-12.921981811523438],["▁vergleichen",-12.92204475402832],["143",-12.922080993652344],["5.6",-12.922094345092773],["▁odata",-12.922131538391113],["▁interviu",-12.922162055969238],["▁poliţi",-12.922375679016113],["plated",-12.922383308410645],["Roman",-12.922406196594238],["▁satisfactory",-12.922453880310059],["▁unanimous",-12.922459602355957],["▁întâln",-12.922464370727539],["nonsense",-12.922558784484863],["▁HOW",-12.922616004943848],["prezinta",-12.922639846801758],["▁măsura",-12.9226655960083],["▁Fuji",-12.92275619506836],["▁Meaning",-12.92278003692627],["aspiring",-12.922850608825684],["▁Suceava",-12.922863006591797],["arba",-12.922983169555664],["pressive",-12.922988891601562],["▁creek",-12.92301082611084],["trakt",-12.923023223876953],["▁fluffy",-12.923303604125977],["▁bateau",-12.923371315002441],["ме",-12.923545837402344],["UNG",-12.923609733581543],["motifs",-12.923907279968262],["Type",-12.923958778381348],["perçu",-12.924132347106934],["singurul",-12.924139022827148],["▁(2011)",-12.92418384552002],["▁hemp",-12.924263954162598],["betroffenen",-12.92431640625],["▁sermon",-12.924369812011719],["AID",-12.924545288085938],["3.7",-12.924627304077148],["▁heiß",-12.92463207244873],["▁bolnav",-12.924982070922852],["First",-12.924995422363281],["▁interrupt",-12.925040245056152],["phag",-12.925106048583984],["235",-12.925201416015625],["▁discoveries",-12.925262451171875],["▁Wellington",-12.925263404846191],["▁wechseln",-12.925298690795898],["▁strategically",-12.925379753112793],["▁iphone",-12.925440788269043],["geteilt",-12.925646781921387],["generative",-12.925748825073242],["▁Monroe",-12.925806045532227],["▁Execut",-12.925863265991211],["▁knitting",-12.925931930541992],["▁Couple",-12.925939559936523],["▁Shade",-12.926020622253418],["▁Taj",-12.926060676574707],["950",-12.926077842712402],["boiled",-12.92609977722168],["▁mixes",-12.926130294799805],["betroffene",-12.926156044006348],["▁continuation",-12.926169395446777],["▁begleitet",-12.926226615905762],["▁numerical",-12.926281929016113],["▁(2013)",-12.92630386352539],["▁nourish",-12.926399230957031],["oricar",-12.926485061645508],["focus",-12.926486015319824],["▁Crazy",-12.926651000976562],["▁ascend",-12.926671028137207],["▁vinde",-12.926855087280273],["roar",-12.926874160766602],["Vac",-12.926929473876953],["▁Zuschauer",-12.927068710327148],["izeze",-12.927179336547852],["▁Mindest",-12.92721939086914],["lingual",-12.927229881286621],["▁violet",-12.927264213562012],["▁Opfer",-12.927299499511719],["ARS",-12.927431106567383],["4.7",-12.92744255065918],["millennial",-12.927492141723633],["▁striv",-12.927639961242676],["▁bishop",-12.927680015563965],["▁Durham",-12.927708625793457],["opathic",-12.927817344665527],["Where",-12.927999496459961],["▁Rider",-12.928030014038086],["▁Reid",-12.928030967712402],["stumbled",-12.928156852722168],["deep",-12.92827320098877],["▁11:00",-12.928340911865234],["▁Essex",-12.928380966186523],["▁Analyst",-12.928397178649902],["feel",-12.928546905517578],["▁rave",-12.928601264953613],["▁Eddie",-12.928631782531738],["▁communiqué",-12.928756713867188],["[/",-12.928791046142578],["▁Tho",-12.929011344909668],["ffentlichkeit",-12.929019927978516],["instrument",-12.929126739501953],["▁metropolitan",-12.929179191589355],["▁experienţ",-12.929181098937988],["East",-12.929198265075684],["Compared",-12.929434776306152],["worn",-12.929484367370605],["berufliche",-12.92966365814209],["▁Umstände",-12.929710388183594],["individuellen",-12.929901123046875],["siehe",-12.929912567138672],["▁sfarsit",-12.929969787597656],["▁Strength",-12.929999351501465],["▁prejudice",-12.930024147033691],["▁shutdown",-12.930159568786621],["chatting",-12.93022346496582],["▁Gerne",-12.930227279663086],["▁Yum",-12.930305480957031],["▁coastline",-12.930387496948242],["▁headboard",-12.930623054504395],["▁politische",-12.930768966674805],["Sub",-12.930838584899902],["▁Henderson",-12.930870056152344],["▁astonishing",-12.930870056152344],["▁Dresden",-12.930871963500977],["▁strawberry",-12.93088436126709],["prenez",-12.930889129638672],["▁Monaco",-12.930912971496582],["▁empowered",-12.930953025817871],["fäl",-12.93109130859375],["▁creier",-12.931120872497559],["▁Equ",-12.931300163269043],["▁Selling",-12.931379318237305],["▁$35",-12.931483268737793],["konto",-12.931503295898438],["▁Procedure",-12.931715965270996],["▁reduziert",-12.931715965270996],["▁royalty",-12.931740760803223],["wyn",-12.931756019592285],["▁Unfall",-12.932141304016113],["NAT",-12.932161331176758],["▁grafic",-12.93251895904541],["▁Collective",-12.932563781738281],["▁Computing",-12.932564735412598],["▁Established",-12.932594299316406],["▁zest",-12.932598114013672],["venez",-12.932611465454102],["follow",-12.9326171875],["▁Motivation",-12.932640075683594],["▁dictator",-12.932755470275879],["whichever",-12.93281078338623],["▁întâmpl",-12.93293285369873],["Flüchtling",-12.932987213134766],["EMI",-12.933015823364258],["404",-12.933019638061523],["ICK",-12.93302059173584],["emplacement",-12.933191299438477],["complete",-12.933349609375],["advising",-12.933412551879883],["▁Administrative",-12.933481216430664],["▁deviation",-12.933496475219727],["▁experienț",-12.933500289916992],["lethor",-12.933996200561523],["▁compress",-12.934081077575684],["rival",-12.934173583984375],["reprendre",-12.934186935424805],["ugi",-12.934266090393066],["▁Invitation",-12.934267044067383],["▁retina",-12.934332847595215],["▁farther",-12.934335708618164],["▁fenêtre",-12.934799194335938],["6-7",-12.934815406799316],["zhou",-12.934834480285645],["▁Piano",-12.934840202331543],["▁Congrats",-12.935114860534668],["▁Configur",-12.935131072998047],["▁superficial",-12.935179710388184],["▁melting",-12.935315132141113],["▁raspunde",-12.935626983642578],["▁drip",-12.93564224243164],["östlich",-12.9358491897583],["189",-12.935925483703613],["▁Ludwig",-12.935959815979004],["▁keto",-12.935985565185547],["▁Bogdan",-12.936013221740723],["▁contracted",-12.936029434204102],["▁revive",-12.936100006103516],["▁cristal",-12.936232566833496],["▁mailbox",-12.936257362365723],["președintele",-12.936559677124023],["▁seekers",-12.936627388000488],["func",-12.936904907226562],["▁Markus",-12.93691349029541],["Unter",-12.936923027038574],["▁übertragen",-12.937003135681152],["▁adaptive",-12.937024116516113],["caster",-12.937051773071289],["▁geek",-12.937164306640625],["▁réservation",-12.937236785888672],["▁irritation",-12.937240600585938],["▁HDMI",-12.937346458435059],["Seeing",-12.937485694885254],["▁genul",-12.937569618225098],["▁catastrophe",-12.937662124633789],["▁Tweet",-12.937665939331055],["TZ",-12.937729835510254],["▁credible",-12.937946319580078],["▁cobor",-12.938064575195312],["▁realizeaz",-12.938159942626953],["journal",-12.938274383544922],["▁shaking",-12.938532829284668],["3-6",-12.938572883605957],["▁beneficiaz",-12.938605308532715],["▁Frankreich",-12.938633918762207],["committing",-12.9386568069458],["AMS",-12.938835144042969],["▁Feli",-12.939007759094238],["▁Producer",-12.939023971557617],["▁übrig",-12.93940544128418],["gemeinde",-12.939593315124512],["should",-12.939799308776855],["▁neurons",-12.939799308776855],["▁Agenda",-12.939833641052246],["▁hashtag",-12.939896583557129],["▁confortabil",-12.939897537231445],["520",-12.940008163452148],["bonded",-12.940033912658691],["▁următoare",-12.940191268920898],["▁volatile",-12.940223693847656],["infamous",-12.940225601196289],["seară",-12.940229415893555],["▁Sorge",-12.940346717834473],["▁Beiträge",-12.940420150756836],["▁îndeplin",-12.940449714660645],["gespräch",-12.940649032592773],["▁joueur",-12.940701484680176],["▁outsourcing",-12.940701484680176],["▁Guvernul",-12.940814018249512],["6-2",-12.940818786621094],["▁prioritize",-12.941068649291992],["▁duminică",-12.941076278686523],["▁resignation",-12.941076278686523],["▁Converter",-12.941079139709473],["hereby",-12.941155433654785],["▁stresses",-12.941299438476562],["▁brun",-12.941415786743164],["▁elev",-12.941423416137695],["▁Skip",-12.941479682922363],["540",-12.941499710083008],["TURE",-12.941603660583496],["▁Lynch",-12.941635131835938],["▁preveni",-12.941643714904785],["compatible",-12.941692352294922],["surveyed",-12.941702842712402],["▁Ausnahme",-12.941713333129883],["▁medicul",-12.941812515258789],["▁subtil",-12.941865921020508],["▁Quali",-12.941890716552734],["▁techno",-12.941900253295898],["presently",-12.94193172454834],["▁Müller",-12.941934585571289],["DIRECT",-12.941937446594238],["schuld",-12.941944122314453],["▁Bloomberg",-12.941994667053223],["feuer",-12.942181587219238],["▁Pharmacy",-12.942270278930664],["▁Schnitt",-12.942301750183105],["186",-12.942333221435547],["peaks",-12.942355155944824],["▁Gemeinsam",-12.94235897064209],["▁récemment",-12.94235897064209],["▁Pascal",-12.942490577697754],["filmed",-12.942523956298828],["RCA",-12.942548751831055],["▁virtuelle",-12.942622184753418],["▁dotat",-12.942630767822266],["logisch",-12.942717552185059],["▁Luck",-12.943005561828613],["cosy",-12.943132400512695],["▁Awareness",-12.943216323852539],["▁gesetzlich",-12.943263053894043],["padded",-12.943306922912598],["▁Lotus",-12.943395614624023],["urging",-12.9434175491333],["▁mushroom",-12.943426132202148],["▁adultes",-12.943527221679688],["▁Coca",-12.943571090698242],["▁recev",-12.943586349487305],["▁mantra",-12.943610191345215],["▁practise",-12.943644523620605],["▁acceler",-12.943663597106934],["bolster",-12.943756103515625],["▁compressed",-12.943818092346191],["TIN",-12.943899154663086],["▁aromatic",-12.944236755371094],["geleitet",-12.944408416748047],["▁fibr",-12.944443702697754],["exécut",-12.94444751739502],["▁unconscious",-12.94456958770752],["HAR",-12.944607734680176],["▁Gregory",-12.944661140441895],["▁Manila",-12.944738388061523],["ozitate",-12.944756507873535],["exemplary",-12.944803237915039],["éventuel",-12.944906234741211],["▁Craciun",-12.944930076599121],["▁tehnologii",-12.944931030273438],["▁Despre",-12.945138931274414],["▁1917",-12.945141792297363],["▁upfront",-12.945146560668945],["▁Iulia",-12.945280075073242],["▁erwähnt",-12.945359230041504],["▁magnesium",-12.945359230041504],["▁descriptive",-12.94536304473877],["▁consumul",-12.945364952087402],["▁10-15",-12.945423126220703],["▁erfüllen",-12.945611953735352],["gig",-12.945657730102539],["430",-12.945765495300293],["▁Migration",-12.945789337158203],["bră",-12.94579029083252],["▁réforme",-12.945863723754883],["▁york",-12.94610595703125],["dritten",-12.946109771728516],["cumva",-12.946182250976562],["▁Alumni",-12.946218490600586],["▁Ceramic",-12.946222305297852],["▁rappelle",-12.946236610412598],["▁pianist",-12.946248054504395],["twisted",-12.946306228637695],["earned",-12.946432113647461],["▁Hose",-12.946514129638672],["156",-12.946610450744629],["▁Salmon",-12.946687698364258],["Level",-12.946913719177246],["▁swirl",-12.947052001953125],["erfahrung",-12.947061538696289],["▁liabilities",-12.947078704833984],["praxis",-12.9470853805542],["IPO",-12.947089195251465],["▁screaming",-12.947092056274414],["emphasized",-12.947200775146484],["DEA",-12.947260856628418],["▁dermatolog",-12.947351455688477],["▁pacate",-12.947498321533203],["▁ansamblu",-12.947507858276367],["▁beteiligt",-12.947509765625],["▁Needles",-12.947574615478516],["▁organisiert",-12.947607040405273],["Pacific",-12.947639465332031],["actual",-12.947823524475098],["prindere",-12.94801139831543],["▁Indoor",-12.948348045349121],["▁Gewalt",-12.948431015014648],["▁rezid",-12.948507308959961],["censor",-12.948522567749023],["▁unlawful",-12.94882869720459],["▁Explain",-12.948873519897461],["▁Flame",-12.948897361755371],["▁brachte",-12.948941230773926],["▁Mustang",-12.94899845123291],["ectomy",-12.949044227600098],["▁deliberate",-12.949064254760742],["▁sparkle",-12.949225425720215],["▁inchis",-12.94926929473877],["▁Cristian",-12.949289321899414],["▁facture",-12.949291229248047],["▁Grundstück",-12.949292182922363],["außerhalb",-12.949300765991211],["coast",-12.949321746826172],["anilor",-12.949396133422852],["255",-12.94952392578125],["nterdisciplinary",-12.949576377868652],["▁Isabel",-12.949655532836914],["▁Städte",-12.949701309204102],["▁cicl",-12.949837684631348],["▁Zeug",-12.949905395507812],["▁Muskel",-12.949951171875],["▁indirectly",-12.950051307678223],["▁Vorbereitung",-12.950093269348145],["MMA",-12.95012378692627],["▁pudding",-12.950197219848633],["rax",-12.950389862060547],["▁Stimmung",-12.95052433013916],["▁hierarchy",-12.95052433013916],["partie",-12.950597763061523],["▁elevate",-12.950685501098633],["▁Persian",-12.950690269470215],["forensic",-12.95077896118164],["Become",-12.950854301452637],["leicht",-12.9508695602417],["▁staging",-12.950942039489746],["▁fühlt",-12.950965881347656],["fenster",-12.950979232788086],["▁unbelievable",-12.951089859008789],["„",-12.951260566711426],["▁Guatemala",-12.951387405395508],["LET",-12.95141315460205],["▁buff",-12.951454162597656],["▁Primul",-12.951626777648926],["▁mainland",-12.951702117919922],["campus",-12.951923370361328],["▁gefällt",-12.952075958251953],["BAN",-12.952153205871582],["finish",-12.952229499816895],["accustomed",-12.952251434326172],["▁Businesses",-12.95234203338623],["▁întreb",-12.95239543914795],["▁recomandă",-12.952425956726074],["▁pellet",-12.952474594116211],["▁GST",-12.952507972717285],["SEA",-12.952601432800293],["▁categorie",-12.952631950378418],["▁convainc",-12.95268440246582],["▁considéré",-12.952739715576172],["rois",-12.952853202819824],["▁thrust",-12.952898979187012],["ijk",-12.953001022338867],["gefüllt",-12.953118324279785],["▁situatii",-12.953327178955078],["▁Jacksonville",-12.95337200164795],["▁bakery",-12.953473091125488],["▁Accident",-12.953554153442383],["▁urmeaza",-12.953572273254395],["▁crib",-12.953593254089355],["getroffen",-12.953707695007324],["Based",-12.953877449035645],["Including",-12.95398235321045],["▁Morocco",-12.95398235321045],["▁casserole",-12.95398235321045],["▁enquiry",-12.953983306884766],["▁pahar",-12.954017639160156],["▁Unternehmer",-12.954025268554688],["électro",-12.954068183898926],["Marie",-12.95413589477539],["▁Sno",-12.954153060913086],["▁prostate",-12.954168319702148],["▁Wallace",-12.95426082611084],["empre",-12.954402923583984],["▁Multumesc",-12.954415321350098],["White",-12.954675674438477],["brief",-12.954751014709473],["▁kitten",-12.954751014709473],["füh",-12.954780578613281],["▁mankind",-12.954821586608887],["ENE",-12.95483112335205],["▁Ethics",-12.954848289489746],["▁Realty",-12.954946517944336],["▁Emerg",-12.954988479614258],["7-8",-12.955055236816406],["museum",-12.955096244812012],["BRE",-12.95518970489502],["▁kilometri",-12.955282211303711],["oyaume",-12.955286026000977],["▁Cambodia",-12.955288887023926],["▁bruit",-12.955304145812988],["▁sépar",-12.955334663391113],["mastered",-12.9554443359375],["shake",-12.955608367919922],["▁liaison",-12.955718994140625],["▁Boulder",-12.955719947814941],["▁tortilla",-12.955720901489258],["▁Fokus",-12.955731391906738],["▁Blair",-12.95573902130127],["▁disturbance",-12.955775260925293],["geladen",-12.955843925476074],["▁sunscreen",-12.955886840820312],["▁reuș",-12.955896377563477],["▁Braun",-12.956155776977539],["▁existente",-12.956157684326172],["stift",-12.956242561340332],["▁preot",-12.956387519836426],["▁doved",-12.956445693969727],["sexual",-12.956488609313965],["meanwhile",-12.956583976745605],["▁legislature",-12.956583976745605],["▁vermeiden",-12.956583976745605],["▁inequality",-12.95687484741211],["▁turc",-12.956881523132324],["ви",-12.95698070526123],["▁Kontrolle",-12.95702075958252],["▁Ursache",-12.95704174041748],["▁confess",-12.95704174041748],["▁poetic",-12.957109451293945],["attention",-12.957236289978027],["textured",-12.957386016845703],["GES",-12.957586288452148],["6-4",-12.957637786865234],["Ray",-12.957696914672852],["chromat",-12.957745552062988],["▁insightful",-12.957775115966797],["▁Navigation",-12.957887649536133],["▁destiny",-12.957887649536133],["▁ergeben",-12.957892417907715],["▁versteh",-12.958090782165527],["301",-12.958209037780762],["▁Exterior",-12.958321571350098],["église",-12.958322525024414],["▁Failure",-12.958322525024414],["▁Patricia",-12.958324432373047],["▁geschützt",-12.958328247070312],["intrarea",-12.95833969116211],["▁Forward",-12.958368301391602],["▁Portrait",-12.95844841003418],["▁enregistré",-12.958480834960938],["▁wagon",-12.958620071411133],["stealing",-12.958879470825195],["▁Numero",-12.958880424499512],["▁tradui",-12.958986282348633],["▁klassische",-12.959033966064453],["▁profitieren",-12.959043502807617],["▁laboratories",-12.95919132232666],["▁reconnaissance",-12.95919132232666],["ку",-12.959314346313477],["▁Petersburg",-12.959359169006348],["▁fertility",-12.959421157836914],["▁Understand",-12.959516525268555],["dehors",-12.959746360778809],["▁Knox",-12.959762573242188],["software",-12.959797859191895],["▁Celebration",-12.959823608398438],["4.6",-12.959897994995117],["quino",-12.959930419921875],["▁endeavour",-12.960073471069336],["▁temptation",-12.960136413574219],["▁Registry",-12.96035385131836],["IMP",-12.960502624511719],["bedingt",-12.960625648498535],["▁$60",-12.960846900939941],["▁Kriterien",-12.96093463897705],["▁strawberries",-12.960943222045898],["▁conspiracy",-12.96094799041748],["▁pouch",-12.960976600646973],["▁Alexandria",-12.961017608642578],["▁Mick",-12.961102485656738],["extra",-12.961114883422852],["▁Operator",-12.961151123046875],["enduring",-12.96132755279541],["▁smash",-12.961359024047852],["Euro",-12.961360931396484],["▁Nouvelle",-12.961370468139648],["▁Raspberry",-12.961370468139648],["▁präsentieren",-12.961380004882812],["▁electrician",-12.961404800415039],["▁cheerful",-12.961472511291504],["▁chargé",-12.961508750915527],["▁Diskussion",-12.961511611938477],["▁surpass",-12.961604118347168],["▁Acces",-12.961701393127441],["tausend",-12.961771011352539],["▁vigorous",-12.961808204650879],["▁tava",-12.961810111999512],["CHO",-12.96193790435791],["▁1951",-12.961941719055176],["▁Umsatz",-12.962019920349121],["▁slavery",-12.962055206298828],["travel",-12.962294578552246],["▁correspondent",-12.962297439575195],["▁$150",-12.962307929992676],["▁stärker",-12.962594985961914],["Alb",-12.96264362335205],["▁Lopez",-12.962682723999023],["▁longueur",-12.962767601013184],["▁successive",-12.962772369384766],["▁(2015)",-12.96278190612793],["teig",-12.962790489196777],["custom",-12.962944984436035],["TIM",-12.963099479675293],["▁Escape",-12.963174819946289],["▁Sekunden",-12.963349342346191],["tiré",-12.963444709777832],["▁chantier",-12.963489532470703],["▁saturated",-12.963555335998535],["▁confrontation",-12.963804244995117],["▁biography",-12.963805198669434],["zuerst",-12.9639892578125],["▁rencontré",-12.963991165161133],["▁harmless",-12.96412181854248],["Branche",-12.964139938354492],["▁QR",-12.964380264282227],["▁Ereignis",-12.964430809020996],["▁verkaufen",-12.96444320678711],["0:00",-12.96451187133789],["Association",-12.96469783782959],["▁Santiago",-12.964865684509277],["Control",-12.964993476867676],["▁Angriff",-12.9650297164917],["lase",-12.96505069732666],["▁sfaturi",-12.965224266052246],["▁Comprehensive",-12.965304374694824],["▁Shepherd",-12.965304374694824],["▁exponential",-12.965304374694824],["▁penetration",-12.965304374694824],["▁comble",-12.965394973754883],["ionar",-12.965557098388672],["slept",-12.965563774108887],["▁Spice",-12.965633392333984],["mAh",-12.965688705444336],["▁Vertreter",-12.965747833251953],["fehler",-12.965752601623535],["▁Scroll",-12.96599292755127],["▁WARRANT",-12.966179847717285],["▁minimise",-12.966326713562012],["▁Dept",-12.966474533081055],["▁urinar",-12.96661376953125],["établir",-12.966619491577148],["verhältnis",-12.966713905334473],["▁glowing",-12.966979026794434],["kulturelle",-12.966984748840332],["▁Pediatric",-12.967057228088379],["▁inconvenience",-12.967057228088379],["Antoine",-12.967121124267578],["▁Heck",-12.967164993286133],["▁couches",-12.967265129089355],["▁1938",-12.967331886291504],["maybe",-12.967333793640137],["ETA",-12.9673433303833],["▁solaire",-12.96748161315918],["▁Zürich",-12.967495918273926],["computer",-12.967545509338379],["milk",-12.96756362915039],["он",-12.967585563659668],["modalitate",-12.967608451843262],["spanning",-12.967655181884766],["▁Crypto",-12.96774959564209],["▁Spotify",-12.967935562133789],["mycin",-12.967944145202637],["▁similarities",-12.96811294555664],["▁eclipse",-12.968377113342285],["Map",-12.968610763549805],["double",-12.96861743927002],["corporate",-12.968734741210938],["▁Hindi",-12.968853950500488],["battling",-12.968866348266602],["▁habituel",-12.969098091125488],["▁Transition",-12.969196319580078],["▁luptă",-12.96920394897461],["▁trainee",-12.969219207763672],["LIS",-12.96922492980957],["▁Vatican",-12.969254493713379],["Archived",-12.9692964553833],["Connect",-12.969305038452148],["▁prealabil",-12.969307899475098],["▁Chambre",-12.969327926635742],["stuhl",-12.969440460205078],["▁arrivé",-12.969557762145996],["▁Urteil",-12.969575881958008],["▁scrutiny",-12.969818115234375],["▁memoir",-12.969854354858398],["▁innovant",-12.9699068069458],["▁sublime",-12.969943046569824],["children",-12.970004081726074],["▁Handwerk",-12.970056533813477],["▁campuses",-12.970268249511719],["▁durabil",-12.970502853393555],["▁immersive",-12.970632553100586],["▁Magnet",-12.970732688903809],["läufe",-12.970808029174805],["▁Techno",-12.970837593078613],["MAP",-12.9710693359375],["7.2",-12.971145629882812],["▁Schwimm",-12.971181869506836],["BOOK",-12.971186637878418],["188",-12.971441268920898],["▁Supervisor",-12.971498489379883],["prévue",-12.971691131591797],["needed",-12.971813201904297],["▁creditors",-12.971822738647461],["▁brin",-12.971837043762207],["▁Neck",-12.971900939941406],["▁Salut",-12.971988677978516],["▁despair",-12.972105979919434],["▁Sauce",-12.972261428833008],["▁Westminster",-12.972335815429688],["▁langfristig",-12.972335815429688],["▁northeast",-12.972365379333496],["▁încercat",-12.972399711608887],["▁nausea",-12.972408294677734],["▁Paypal",-12.972440719604492],["▁Arrow",-12.972469329833984],["▁Travis",-12.972633361816406],["(2009)",-12.972713470458984],["▁Rising",-12.972719192504883],["termes",-12.973097801208496],["Australie",-12.973154067993164],["▁scarf",-12.973187446594238],["klassischen",-12.97337818145752],["▁boug",-12.973466873168945],["DOT",-12.97360610961914],["▁Trink",-12.97361946105957],["▁bestätigt",-12.97365951538086],["▁officiel",-12.97370433807373],["Produkt",-12.973873138427734],["DNA",-12.974140167236328],["▁*******",-12.97426700592041],["GAR",-12.974271774291992],["therapeut",-12.974377632141113],["187",-12.974420547485352],["▁Louisville",-12.974493026733398],["▁geöffnet",-12.97462272644043],["Watch",-12.974640846252441],["85%",-12.974678993225098],["▁Candida",-12.974698066711426],["▁Kathy",-12.974703788757324],["▁Animation",-12.974711418151855],["planung",-12.974715232849121],["woche",-12.974730491638184],["Video",-12.974966049194336],["▁Automation",-12.97507095336914],["▁foliage",-12.97507381439209],["▁evenimentului",-12.975175857543945],["SEN",-12.975362777709961],["▁Dialog",-12.975372314453125],["▁ZIP",-12.975372314453125],["▁vieții",-12.97537612915039],["▁passionné",-12.975425720214844],["▁WOW",-12.97544002532959],["ectiv",-12.975464820861816],["▁vorbesc",-12.975482940673828],["▁computational",-12.975533485412598],["▁idiot",-12.97557258605957],["▁stigma",-12.97567081451416],["▁multumesc",-12.975870132446289],["▁sărbători",-12.975870132446289],["▁Advantage",-12.975906372070312],["▁alegeri",-12.976024627685547],["▁philosopher",-12.976031303405762],["RIE",-12.976117134094238],["refundable",-12.976221084594727],["▁Sofia",-12.97623348236084],["▁încheiat",-12.976313591003418],["meilleures",-12.976473808288574],["critical",-12.976744651794434],["▁cavity",-12.976766586303711],["▁ressort",-12.976792335510254],["strong",-12.976798057556152],["▁Backup",-12.976948738098145],["▁Zeitraum",-12.977023124694824],["▁Szene",-12.977027893066406],["▁Candle",-12.977173805236816],["▁ciocolat",-12.977198600769043],["etched",-12.977227210998535],["ан",-12.977302551269531],["▁Anchor",-12.977365493774414],["equate",-12.977470397949219],["▁bulg",-12.977476119995117],["▁motorist",-12.977524757385254],["träglich",-12.977736473083496],["please",-12.977936744689941],["different",-12.978011131286621],["▁Accel",-12.97813606262207],["Proiectul",-12.97829818725586],["▁cabbage",-12.97852897644043],["▁télécharger",-12.97852897644043],["▁Presentation",-12.97856330871582],["▁Struktur",-12.978621482849121],["bücher",-12.978650093078613],["▁flatter",-12.978672981262207],["emprunt",-12.979074478149414],["▁oriental",-12.979111671447754],["▁Turnier",-12.979166984558105],["brücke",-12.97917366027832],["▁légumes",-12.979416847229004],["gerechnet",-12.979595184326172],["flooded",-12.979621887207031],["LER",-12.979679107666016],["üben",-12.97973918914795],["internaute",-12.979888916015625],["▁Austausch",-12.979935646057129],["gefordert",-12.980034828186035],["▁adoptat",-12.980277061462402],["▁erinnern",-12.980305671691895],["▁dolphin",-12.980307579040527],["▁Parkinson",-12.980308532714844],["büro",-12.980310440063477],["▁Crest",-12.980368614196777],["▁Ikea",-12.980437278747559],["▁ecologic",-12.980470657348633],["mplă",-12.98065185546875],["▁șef",-12.980655670166016],["coop",-12.980868339538574],["▁Carson",-12.980900764465332],["▁uşor",-12.981054306030273],["▁exert",-12.981070518493652],["▁countertop",-12.981114387512207],["ntended",-12.981136322021484],["▁Civic",-12.981313705444336],["▁attentes",-12.98133373260498],["gesetzlichen",-12.981356620788574],["frischen",-12.981475830078125],["▁Bottle",-12.981636047363281],["▁cautare",-12.982080459594727],["▁waterfront",-12.982226371765137],["▁centerpiece",-12.982312202453613],["▁Castel",-12.982441902160645],["510",-12.98270034790039],["capped",-12.982709884643555],["▁mattresses",-12.982850074768066],["▁readiness",-12.982865333557129],["diag",-12.982970237731934],["▁geändert",-12.982980728149414],["▁complained",-12.983051300048828],["▁diary",-12.983073234558105],["▁ceremonies",-12.983144760131836],["▁următor",-12.983181953430176],["▁Engel",-12.983270645141602],["▁disconnect",-12.9832763671875],["▁Silvi",-12.983282089233398],["▁eingerichtet",-12.9834566116333],["medizin",-12.983512878417969],["▁majestic",-12.983869552612305],["▁Random",-12.983943939208984],["▁Equity",-12.984046936035156],["▁Echipa",-12.984111785888672],["са",-12.984163284301758],["316",-12.984179496765137],["▁Formation",-12.984183311462402],["inland",-12.98421859741211],["appuy",-12.984301567077637],["TAN",-12.984481811523438],["slipped",-12.984918594360352],["Certains",-12.985247611999512],["▁Silber",-12.98525333404541],["▁reçoi",-12.985257148742676],["▁Monthly",-12.985323905944824],["calculating",-12.985494613647461],["▁scratches",-12.98554515838623],["▁concurrence",-12.985654830932617],["▁Stärke",-12.985662460327148],["▁intermediar",-12.985751152038574],["▁erlebt",-12.98579216003418],["gesellschaftlich",-12.986037254333496],["▁Volk",-12.986041069030762],["▁Ansprüche",-12.986101150512695],["▁cumulative",-12.986103057861328],["▁Randy",-12.986183166503906],["▁instituții",-12.98622989654541],["together",-12.986489295959473],["▁Sap",-12.986539840698242],["▁modificari",-12.986551284790039],["▁erosion",-12.986572265625],["▁wicked",-12.986577033996582],["soaked",-12.986613273620605],["▁cellar",-12.9866361618042],["ignoring",-12.986726760864258],["▁scarce",-12.986815452575684],["ueuse",-12.98697280883789],["▁bibliothèque",-12.986995697021484],["critères",-12.987017631530762],["▁overlay",-12.987166404724121],["IPA",-12.98737907409668],["director",-12.987393379211426],["▁Krishna",-12.987444877624512],["▁methodologies",-12.987451553344727],["iocese",-12.987513542175293],["▁saucepan",-12.987713813781738],["184",-12.987948417663574],["275",-12.987981796264648],["▁précieu",-12.988165855407715],["▁academy",-12.9883394241333],["460",-12.988438606262207],["ERN",-12.988679885864258],["▁emoti",-12.988725662231445],["▁télévision",-12.988823890686035],["EDIT",-12.988901138305664],["▁Valeri",-12.989045143127441],["▁Charity",-12.98911190032959],["Voilà",-12.989297866821289],["▁lipsit",-12.989356994628906],["▁unleash",-12.989373207092285],["▁suferit",-12.989506721496582],["▁Lifestyle",-12.98953914642334],["▁Edel",-12.989603996276855],["▁Derek",-12.989643096923828],["▁Manga",-12.989801406860352],["▁increment",-12.989990234375],["▁plötzlich",-12.990133285522461],["▁5:30",-12.990208625793457],["▁Republicii",-12.990246772766113],["▁capitalism",-12.990293502807617],["ROW",-12.990510940551758],["▁Paar",-12.990523338317871],["allée",-12.99057674407959],["▁motto",-12.990610122680664],["Schäden",-12.990630149841309],["▁£10",-12.99063491821289],["RIP",-12.990728378295898],["courir",-12.990761756896973],["rocky",-12.990944862365723],["▁Sunshine",-12.991031646728516],["▁chimney",-12.991044998168945],["▁préfér",-12.991153717041016],["▁relaxare",-12.991189956665039],["▁colabora",-12.99134349822998],["liefer",-12.99142837524414],["▁ordentlich",-12.991486549377441],["▁dauerhaft",-12.991535186767578],["kammer",-12.991572380065918],["▁Basket",-12.991579055786133],["Site",-12.991657257080078],["▁Regina",-12.991716384887695],["▁simulate",-12.991868019104004],["▁wrestle",-12.991939544677734],["wertig",-12.991986274719238],["▁Christie",-12.992018699645996],["download",-12.992033004760742],["▁torch",-12.992213249206543],["riya",-12.992216110229492],["▁Grie",-12.992247581481934],["bitten",-12.992356300354004],["▁spezialisiert",-12.99238109588623],["▁Parade",-12.992408752441406],["▁migraine",-12.992830276489258],["▁Armstrong",-12.992846488952637],["▁cutie",-12.9928560256958],["▁bullying",-12.992889404296875],["▁Estonia",-12.99293041229248],["▁harvested",-12.992948532104492],["▁Hunger",-12.992971420288086],["▁frapp",-12.992999076843262],["REM",-12.993117332458496],["sensor",-12.993189811706543],["▁GREAT",-12.993293762207031],["▁thyroid",-12.993302345275879],["▁mărturi",-12.993335723876953],["ocupă",-12.993809700012207],["▁Wealth",-12.993812561035156],["▁convins",-12.993841171264648],["141",-12.993876457214355],["▁vingt",-12.993901252746582],["▁revel",-12.994054794311523],["▁Adri",-12.994083404541016],["▁remix",-12.994207382202148],["▁fermentation",-12.99425220489502],["▁achiziti",-12.994352340698242],["dream",-12.994426727294922],["▁contemporan",-12.994632720947266],["▁youngsters",-12.994685173034668],["▁Hartford",-12.994745254516602],["▁Wagen",-12.994988441467285],["▁Celebr",-12.995214462280273],["leveraging",-12.99527645111084],["▁Iasi",-12.99549674987793],["tackling",-12.9955415725708],["▁intrinsic",-12.995553970336914],["▁Macedon",-12.995603561401367],["NIA",-12.995784759521484],["▁bliss",-12.995905876159668],["▁gradual",-12.995908737182617],["▁inregistrat",-12.995981216430664],["▁volleyball",-12.995986938476562],["▁offiziell",-12.996054649353027],["▁carré",-12.99611759185791],["Mostly",-12.996174812316895],["▁Harley",-12.996193885803223],["▁locati",-12.996216773986816],["▁Klo",-12.996223449707031],["▁Equal",-12.996238708496094],["▁citat",-12.996369361877441],["▁argint",-12.996478080749512],["prüft",-12.996528625488281],["▁Fence",-12.996600151062012],["positive",-12.996988296508789],["▁Kaz",-12.997245788574219],["▁distortion",-12.997342109680176],["▁sâmbătă",-12.997342109680176],["▁frontière",-12.997346878051758],["▁revanch",-12.997394561767578],["▁Held",-12.997465133666992],["▁Hobb",-12.99776554107666],["▁reuşit",-12.997796058654785],["deem",-12.997880935668945],["▁dorint",-12.997902870178223],["▁Anlagen",-12.997908592224121],["▁cheval",-12.997973442077637],["630",-12.99806022644043],["▁implementare",-12.99808406829834],["▁curator",-12.99821662902832],["▁legislator",-12.998247146606445],["▁potassium",-12.998247146606445],["▁veterinarian",-12.998247146606445],["▁domenii",-12.998273849487305],["▁revue",-12.998310089111328],["Vielen",-12.998333930969238],["africain",-12.998570442199707],["before",-12.998680114746094],["▁Bestandteil",-12.998702049255371],["▁(2010)",-12.998767852783203],["▁Arlington",-12.999153137207031],["▁Gründung",-12.999153137207031],["▁Sprinkle",-12.999153137207031],["▁Princeton",-12.999186515808105],["chirurg",-12.999228477478027],["▁laissé",-12.999357223510742],["whoever",-12.999384880065918],["▁pasture",-12.999431610107422],["ajute",-12.999436378479004],["▁joyful",-12.999494552612305],["etapa",-12.999905586242676],["ESP",-13.000017166137695],["▁Iohannis",-13.000059127807617],["▁10:30",-13.000127792358398],["▁Kingston",-13.000140190124512],["▁contender",-13.000164031982422],["▁Damage",-13.000177383422852],["▁schreibt",-13.000482559204102],["sstisch",-13.000631332397461],["Associated",-13.00072956085205],["▁disposable",-13.000782012939453],["veranstaltung",-13.00096607208252],["▁puppet",-13.00100040435791],["pong",-13.001093864440918],["▁Chronicle",-13.001176834106445],["222",-13.001286506652832],["intuit",-13.001396179199219],["inscrire",-13.001429557800293],["▁speeches",-13.001431465148926],["▁Eingang",-13.001775741577148],["▁Adidas",-13.001875877380371],["▁cemetery",-13.001877784729004],["▁juicy",-13.001885414123535],["▁wertvolle",-13.0018892288208],["▁militari",-13.001917839050293],["China",-13.00196361541748],["ecția",-13.002041816711426],["luster",-13.002063751220703],["auftrag",-13.00234317779541],["▁Marius",-13.002523422241211],["▁crossover",-13.002555847167969],["▁enthusiast",-13.002555847167969],["▁cantitate",-13.002630233764648],["▁animat",-13.002634048461914],["Park",-13.002793312072754],["▁unchanged",-13.00279426574707],["russia",-13.00281810760498],["instant",-13.002833366394043],["ţiunea",-13.002835273742676],["▁franchi",-13.002920150756836],["▁mobiliz",-13.002963066101074],["athlet",-13.003013610839844],["▁Cardio",-13.0031099319458],["▁supus",-13.003119468688965],["▁Griff",-13.003137588500977],["flakes",-13.003217697143555],["soluble",-13.003250122070312],["Known",-13.003693580627441],["leaking",-13.003741264343262],["▁Holocaust",-13.004148483276367],["gift",-13.004197120666504],["▁tradiţi",-13.004359245300293],["▁southeast",-13.004498481750488],["▁correspondant",-13.00460147857666],["Isaiah",-13.004603385925293],["▁diagonal",-13.004606246948242],["▁Probabil",-13.004680633544922],["▁dégust",-13.004791259765625],["▁Naval",-13.004802703857422],["▁cultivation",-13.004839897155762],["▁Vertrieb",-13.004849433898926],["▁pony",-13.004854202270508],["▁Throw",-13.0050048828125],["little",-13.005010604858398],["▁remarque",-13.005074501037598],["▁parcare",-13.005085945129395],["3.8",-13.00518798828125],["▁renunt",-13.005330085754395],["▁Rewards",-13.005487442016602],["▁Thur",-13.005496978759766],["▁underestimate",-13.005515098571777],["▁frankly",-13.005516052246094],["Bretagne",-13.005517959594727],["axial",-13.005537986755371],["▁identities",-13.0055570602417],["▁Harvest",-13.00561237335205],["▁skippe",-13.00561237335205],["▁Boutique",-13.005670547485352],["▁intuition",-13.005746841430664],["▁Rotary",-13.00581169128418],["▁SERVICE",-13.005875587463379],["▁refill",-13.005915641784668],["▁arcade",-13.006060600280762],["▁komme",-13.006386756896973],["▁irrelevant",-13.006427764892578],["▁Sortiment",-13.006429672241211],["▁scriitor",-13.006488800048828],["▁clicked",-13.006516456604004],["▁ciel",-13.006610870361328],["▁Caesar",-13.00680160522461],["hound",-13.006803512573242],["whipped",-13.006843566894531],["licate",-13.006867408752441],["▁formatting",-13.006986618041992],["▁mosaic",-13.007028579711914],["(2017)",-13.007122039794922],["777",-13.007257461547852],["▁Messenger",-13.007342338562012],["dulci",-13.007369041442871],["▁(2016)",-13.007420539855957],["▁popcorn",-13.007425308227539],["▁Presidential",-13.007497787475586],["▁brokerage",-13.007564544677734],["dachte",-13.00762939453125],["verkauf",-13.00768756866455],["▁pomme",-13.007721900939941],["▁fret",-13.007822036743164],["▁revere",-13.007894515991211],["▁Canvas",-13.008092880249023],["▁Nottingham",-13.008255004882812],["▁Refuge",-13.008257865905762],["▁injustice",-13.008259773254395],["▁External",-13.008264541625977],["dincolo",-13.008304595947266],["directing",-13.008511543273926],["▁Toulouse",-13.008710861206055],["▁cheltuieli",-13.008746147155762],["▁distrus",-13.008816719055176],["impôt",-13.008912086486816],["landschaft",-13.008964538574219],["passion",-13.00897216796875],["▁Hobby",-13.009099006652832],["significant",-13.009115219116211],["▁Guinea",-13.009209632873535],["pecializing",-13.009237289428711],["pozitie",-13.009245872497559],["bourne",-13.009295463562012],["▁mâini",-13.00933837890625],["▁CFR",-13.009395599365234],["▁Konflikt",-13.009626388549805],["▁Vodafone",-13.009626388549805],["OUG",-13.009681701660156],["▁Übersicht",-13.009735107421875],["negotiated",-13.009903907775879],["▁gliss",-13.010042190551758],["▁Kapital",-13.010111808776855],["QC",-13.0101318359375],["▁gentleman",-13.01024341583252],["Inde",-13.010514259338379],["▁immensely",-13.010639190673828],["Business",-13.010702133178711],["▁04/2",-13.010882377624512],["societatea",-13.010973930358887],["fluoxetine",-13.011000633239746],["▁Wachstum",-13.011000633239746],["▁récit",-13.011011123657227],["▁Preisvergleich",-13.011034965515137],["▁Mohammed",-13.011460304260254],["gefangen",-13.011462211608887],["▁calibration",-13.011608123779297],["bekam",-13.011728286743164],["▁FUN",-13.011758804321289],["wasting",-13.011839866638184],["▁prosper",-13.011862754821777],["▁Afghan",-13.011919021606445],["▁Heroes",-13.011921882629395],["▁VMware",-13.011927604675293],["exception",-13.011969566345215],["▁înlocui",-13.01244831085205],["Neu",-13.01246452331543],["initiation",-13.01250171661377],["▁Peel",-13.01281452178955],["▁cunoaste",-13.012836456298828],["▁menschliche",-13.012849807739258],["▁poarta",-13.012852668762207],["▁congestion",-13.012930870056152],["▁îmbunătăț",-13.013103485107422],["EUR",-13.013171195983887],["▁sushi",-13.01326847076416],["Jährige",-13.01329517364502],["espoir",-13.013423919677734],["inspected",-13.013444900512695],["▁etape",-13.013677597045898],["▁pharmacist",-13.013754844665527],["flect",-13.013840675354004],["Changing",-13.013932228088379],["▁radiant",-13.014046669006348],["Daddy",-13.014275550842285],["▁categorii",-13.014360427856445],["quête",-13.014628410339355],["▁skincare",-13.014657020568848],["hébergement",-13.014674186706543],["840",-13.01477336883545],["awaiting",-13.014822006225586],["▁murdered",-13.014841079711914],["▁proficient",-13.014863967895508],["▁chauffe",-13.014899253845215],["▁contur",-13.014937400817871],["▁rejoindre",-13.015145301818848],["▁foloseste",-13.01521110534668],["▁Grup",-13.01535701751709],["152",-13.01541519165039],["▁workspace",-13.015438079833984],["▁primitive",-13.015546798706055],["▁Ginger",-13.015557289123535],["▁chemotherapy",-13.015595436096191],["▁platinum",-13.015596389770508],["▁sarcina",-13.01559829711914],["▁revival",-13.015820503234863],["▁Meditation",-13.016111373901367],["▁Vogel",-13.0161714553833],["IMA",-13.016359329223633],["▁handset",-13.016486167907715],["▁Nachmittag",-13.01651668548584],["▁déchets",-13.016517639160156],["▁Cornwall",-13.0165433883667],["▁Curry",-13.016605377197266],["▁cuplu",-13.016607284545898],["▁Birth",-13.016822814941406],["forward",-13.016936302185059],["Dezvoltare",-13.016977310180664],["▁irgendwie",-13.016980171203613],["▁erzielt",-13.016993522644043],["LOS",-13.01700496673584],["▁overload",-13.01708984375],["▁repay",-13.01713752746582],["urlaub",-13.017155647277832],["7.0",-13.01716423034668],["▁Wheat",-13.01748275756836],["▁degrab",-13.017488479614258],["▁Brock",-13.017491340637207],["▁inhabit",-13.0176362991333],["▁Speech",-13.017834663391113],["directional",-13.017862319946289],["▁Mandel",-13.017909049987793],["▁erscheinen",-13.01791763305664],["consciously",-13.018059730529785],["▁sunet",-13.0182523727417],["▁stole",-13.018259048461914],["▁Utilis",-13.018349647521973],["▁obstruction",-13.01852798461914],["▁mindfulness",-13.0186767578125],["partnering",-13.01868724822998],["CSI",-13.018819808959961],["204",-13.01905632019043],["▁squirrel",-13.019286155700684],["▁Rwanda",-13.01975154876709],["▁hunters",-13.019850730895996],["▁revitaliz",-13.02022647857666],["▁avansat",-13.020232200622559],["▁Yamaha",-13.020294189453125],["foto",-13.020435333251953],["▁Vegan",-13.020469665527344],["▁pitched",-13.02053165435791],["▁Vortrag",-13.020540237426758],["traditional",-13.020809173583984],["offrent",-13.021024703979492],["▁Expression",-13.021315574645996],["▁apprécié",-13.021354675292969],["▁Christina",-13.021408081054688],["eilig",-13.021464347839355],["▁verhindern",-13.021599769592285],["culturii",-13.021607398986816],["Aşa",-13.021703720092773],["▁enamel",-13.021756172180176],["▁fördern",-13.021771430969238],["▁acheté",-13.021798133850098],["▁eventuell",-13.021842956542969],["▁Sino",-13.021873474121094],["▁totodat",-13.022008895874023],["accelerated",-13.022202491760254],["▁strengthened",-13.02245044708252],["corro",-13.022482872009277],["4,5",-13.02253246307373],["▁Beverly",-13.022533416748047],["ulevard",-13.022615432739258],["▁hamper",-13.022644996643066],["▁Tempe",-13.02268123626709],["▁Yacht",-13.022799491882324],["▁LGBT",-13.022871017456055],["▁fingertips",-13.022991180419922],["▁Auftraggeber",-13.02299976348877],["▁harbour",-13.0230131149292],["blew",-13.0230712890625],["▁ideology",-13.023115158081055],["▁covenant",-13.023170471191406],["▁faction",-13.023419380187988],["▁animé",-13.023481369018555],["energie",-13.023515701293945],["iterführende",-13.02369499206543],["▁MAI",-13.023784637451172],["▁pluie",-13.023905754089355],["▁cathedral",-13.023919105529785],["▁chiropractic",-13.023919105529785],["monies",-13.023968696594238],["▁contraction",-13.024054527282715],["pvc",-13.024202346801758],["staff",-13.024209022521973],["BIT",-13.024216651916504],["EET",-13.024514198303223],["▁sanction",-13.024575233459473],["▁Reiki",-13.024709701538086],["Trying",-13.024772644042969],["▁endangered",-13.024847984313965],["▁Emperor",-13.024849891662598],["▁empfi",-13.024909973144531],["animation",-13.024998664855957],["207",-13.025029182434082],["separating",-13.02512264251709],["▁lucrative",-13.025148391723633],["▁ortho",-13.02524185180664],["variété",-13.025266647338867],["hésit",-13.025287628173828],["nuances",-13.025289535522461],["▁$250",-13.025394439697266],["▁drumuri",-13.025435447692871],["▁unsafe",-13.025446891784668],["▁1943",-13.025477409362793],["▁automatique",-13.025524139404297],["billed",-13.025585174560547],["▁rectangle",-13.02578067779541],["▁Spannung",-13.025781631469727],["▁dévoil",-13.025790214538574],["▁perimeter",-13.02580738067627],["▁imaginative",-13.02581787109375],["actifs",-13.025851249694824],["neuve",-13.0259428024292],["leagă",-13.026269912719727],["gehende",-13.026700973510742],["▁Gorgeous",-13.026708602905273],["▁impeccable",-13.026708602905273],["▁Curtain",-13.026718139648438],["▁presume",-13.026731491088867],["surpassed",-13.02687931060791],["schiff",-13.026927947998047],["Allied",-13.02699089050293],["fanden",-13.027080535888672],["▁célébr",-13.027174949645996],["▁phénomène",-13.027174949645996],["▁Powell",-13.027413368225098],["jean",-13.027631759643555],["▁peculiar",-13.027640342712402],["▁Antarctic",-13.027641296386719],["▁gradient",-13.027663230895996],["▁brainstorm",-13.027704238891602],["échapp",-13.027726173400879],["Bot",-13.027738571166992],["cita",-13.027743339538574],["▁lumber",-13.027752876281738],["weichen",-13.027852058410645],["▁Halte",-13.028024673461914],["▁noștri",-13.028107643127441],["construction",-13.028165817260742],["DOC",-13.028236389160156],["▁aluat",-13.028319358825684],["streamlined",-13.028462409973145],["Bio",-13.028494834899902],["▁nutritious",-13.028573036193848],["▁délicat",-13.0286283493042],["▁sticla",-13.028656959533691],["OVE",-13.028721809387207],["▁panneau",-13.028793334960938],["▁hetero",-13.028801918029785],["▁annul",-13.028839111328125],["IDA",-13.028935432434082],["▁pitches",-13.028960227966309],["▁Edmonton",-13.029040336608887],["mediated",-13.029136657714844],["AFP",-13.029139518737793],["▁Tibetan",-13.029228210449219],["intégration",-13.02934455871582],["▁Rox",-13.0294771194458],["energia",-13.02950668334961],["▁reconnaît",-13.029509544372559],["▁ține",-13.029525756835938],["▁ignition",-13.029534339904785],["Foarte",-13.029541015625],["▁HOME",-13.029545783996582],["▁MLB",-13.029545783996582],["▁Wähle",-13.029590606689453],["▁Merkel",-13.029658317565918],["poarte",-13.029664993286133],["ALT",-13.02979850769043],["jenigen",-13.029985427856445],["▁conflit",-13.029987335205078],["▁buckle",-13.029996871948242],["▁cacao",-13.030035018920898],["▁représentation",-13.030076026916504],["incepand",-13.030267715454102],["▁Carroll",-13.030306816101074],["▁clientilor",-13.030370712280273],["▁immunity",-13.030441284179688],["oût",-13.03044319152832],["▁Witch",-13.030488014221191],["▁Wolfgang",-13.030532836914062],["▁prudent",-13.030701637268066],["fotograf",-13.03084945678711],["paar",-13.030871391296387],["ergeti",-13.030927658081055],["▁empowerment",-13.031112670898438],["▁Admir",-13.03122329711914],["▁complémentaire",-13.031340599060059],["▁angepasst",-13.031376838684082],["▁flirt",-13.031376838684082],["▁elektronische",-13.031388282775879],["▁stereotype",-13.03140640258789],["SIL",-13.031465530395508],["▁Realtor",-13.031471252441406],["Edit",-13.031774520874023],["requête",-13.03181266784668],["▁Herstellung",-13.031815528869629],["▁cyst",-13.031947135925293],["syndic",-13.031994819641113],["leni",-13.032007217407227],["▁fringe",-13.032020568847656],["▁Jardin",-13.032032012939453],["▁Vezi",-13.032052993774414],["▁Ausstattung",-13.032312393188477],["▁glide",-13.032590866088867],["▁Andere",-13.032758712768555],["▁Haftung",-13.032781600952148],["maßnahmen",-13.032788276672363],["▁recommandé",-13.032790184020996],["▁nave",-13.032793998718262],["viziune",-13.033051490783691],["▁stimulus",-13.033098220825195],["faulty",-13.0331449508667],["▁vicinity",-13.033249855041504],["▁turnaround",-13.033445358276367],["stammt",-13.033846855163574],["▁problemlos",-13.033856391906738],["▁Establish",-13.03415298461914],["▁Silva",-13.034172058105469],["▁muzică",-13.034187316894531],["▁theatrical",-13.03421401977539],["▁braid",-13.034242630004883],["▁blieb",-13.034276962280273],["158",-13.034296989440918],["▁ignorance",-13.034330368041992],["onset",-13.034416198730469],["zeitlich",-13.034523963928223],["▁Sink",-13.034523963928223],["▁caractéris",-13.034594535827637],["▁kreative",-13.03465747833252],["behörde",-13.034677505493164],["repairing",-13.034680366516113],["▁tumble",-13.034757614135742],["zione",-13.034871101379395],["▁Evil",-13.03494644165039],["▁popping",-13.034952163696289],["▁mutant",-13.035025596618652],["emme",-13.035030364990234],["▁Pleasant",-13.035125732421875],["▁appetizer",-13.035125732421875],["▁PLEASE",-13.035126686096191],["▁physiological",-13.035128593444824],["▁Facility",-13.035131454467773],["▁quirky",-13.035131454467773],["▁colectiv",-13.035154342651367],["151",-13.035181999206543],["August",-13.03531551361084],["▁Jewelry",-13.035327911376953],["▁ziar",-13.035481452941895],["▁puissant",-13.035489082336426],["▁Argument",-13.035595893859863],["▁Betracht",-13.035621643066406],["▁TRANS",-13.035636901855469],["Exception",-13.036011695861816],["nosti",-13.036083221435547],["▁Geographic",-13.036155700683594],["amazingly",-13.036173820495605],["▁météo",-13.036181449890137],["streit",-13.036314010620117],["▁idle",-13.036439895629883],["179",-13.036441802978516],["▁Bremen",-13.036534309387207],["▁Kläger",-13.03653621673584],["▁Grammy",-13.036598205566406],["▁Philosophy",-13.036613464355469],["▁utilizeaz",-13.036779403686523],["Accord",-13.036897659301758],["▁USDA",-13.036986351013184],["Continuing",-13.037010192871094],["geschenk",-13.037178039550781],["kredit",-13.037248611450195],["Laugh",-13.037297248840332],["oaring",-13.037406921386719],["▁Richter",-13.037460327148438],["▁Figur",-13.037938117980957],["▁inconsistent",-13.037947654724121],["cresterea",-13.038069725036621],["▁regeneration",-13.038130760192871],["speaking",-13.03818416595459],["▁nasal",-13.03824234008789],["▁partagé",-13.038259506225586],["▁Warranty",-13.038419723510742],["▁Mueller",-13.038501739501953],["formează",-13.038734436035156],["hundert",-13.038745880126953],["gemeldet",-13.038893699645996],["▁excursions",-13.038912773132324],["▁linii",-13.039066314697266],["gefährlich",-13.039067268371582],["▁schema",-13.03907299041748],["nişte",-13.039131164550781],["▁roadway",-13.039132118225098],["▁regression",-13.039135932922363],["▁mână",-13.039366722106934],["5.3",-13.039373397827148],["▁Spät",-13.039734840393066],["▁stubborn",-13.039833068847656],["efectele",-13.040030479431152],["▁atenţi",-13.040136337280273],["▁dovedit",-13.04018497467041],["▁Agile",-13.040190696716309],["denying",-13.04023265838623],["fluss",-13.040620803833008],["▁Calvin",-13.04066276550293],["Sculpt",-13.04083251953125],["égalité",-13.040884971618652],["ticket",-13.040977478027344],["marketed",-13.041044235229492],["holic",-13.041173934936523],["▁eCommerce",-13.041346549987793],["▁Slip",-13.041369438171387],["▁degradation",-13.041736602783203],["écart",-13.041742324829102],["AGR",-13.041807174682617],["▁burglar",-13.041837692260742],["▁conjug",-13.041903495788574],["LLP",-13.04194164276123],["couvrir",-13.041997909545898],["▁Hearing",-13.042001724243164],["▁canton",-13.042006492614746],["▁sixteen",-13.042068481445312],["▁Verlust",-13.042097091674805],["allied",-13.042268753051758],["Performing",-13.042393684387207],["▁évoqu",-13.042519569396973],["▁bookstore",-13.042574882507324],["▁intrebari",-13.042627334594727],["▁Hyderabad",-13.042668342590332],["▁repertoire",-13.042668342590332],["▁cablu",-13.042678833007812],["▁Costume",-13.04269790649414],["▁Shannon",-13.042713165283203],["▁glossy",-13.042800903320312],["▁cible",-13.042876243591309],["Saint",-13.042984008789062],["▁Ultima",-13.043042182922363],["▁teint",-13.0432767868042],["▁envision",-13.043477058410645],["▁thinner",-13.043478965759277],["ис",-13.043609619140625],["▁bladder",-13.043615341186523],["▁Prairie",-13.043618202209473],["▁puppies",-13.043633460998535],["▁overweight",-13.043729782104492],["destined",-13.043925285339355],["▁addictive",-13.043935775756836],["▁posé",-13.043993949890137],["▁mecanism",-13.044112205505371],["▁chorus",-13.044466972351074],["weder",-13.044528007507324],["▁begrüß",-13.044562339782715],["▁unsuccessful",-13.044562339782715],["executing",-13.044564247131348],["▁metadata",-13.044611930847168],["traiter",-13.044620513916016],["▁borrowed",-13.044649124145508],["▁aeroport",-13.044679641723633],["▁Bibli",-13.044761657714844],["▁youthful",-13.044902801513672],["▁Herbert",-13.044913291931152],["client",-13.04500961303711],["merci",-13.04520034790039],["▁Beast",-13.045210838317871],["▁Entrepreneur",-13.045230865478516],["▁Gelände",-13.045256614685059],["▁Packers",-13.045268058776855],["formarea",-13.045469284057617],["▁Kündigung",-13.045511245727539],["▁verdient",-13.045515060424805],["▁solutie",-13.045530319213867],["figuration",-13.045611381530762],["voluntarily",-13.045622825622559],["Gregor",-13.045742988586426],["▁Uncle",-13.04589557647705],["tarifs",-13.045907020568848],["▁écologique",-13.045987129211426],["▁Investition",-13.045991897583008],["exemplar",-13.046127319335938],["▁prevede",-13.046144485473633],["▁waive",-13.046147346496582],["▁Legion",-13.046156883239746],["similar",-13.046247482299805],["▁shareholder",-13.04626750946045],["▁oyster",-13.046476364135742],["▁Lightning",-13.046530723571777],["experimenting",-13.04662799835205],["▁replies",-13.04663372039795],["80,000",-13.046757698059082],["▁adept",-13.04692554473877],["▁Crăciun",-13.046935081481934],["▁sanatos",-13.046935081481934],["305",-13.04699993133545],["specialised",-13.047069549560547],["▁drummer",-13.047189712524414],["Applicants",-13.04741096496582],["objekt",-13.04741096496582],["▁Fifth",-13.047446250915527],["rgic",-13.047567367553711],["theater",-13.047635078430176],["▁terminé",-13.047852516174316],["▁Englisch",-13.047894477844238],["▁Oradea",-13.047898292541504],["possesses",-13.0479097366333],["illiers",-13.047986030578613],["▁refurbish",-13.048110961914062],["graphie",-13.04814338684082],["▁Booth",-13.048174858093262],["▁Ausdruck",-13.048192977905273],["▁Marriage",-13.048361778259277],["▁knives",-13.048362731933594],["▁Relief",-13.048368453979492],["▁Clerk",-13.048392295837402],["wait",-13.048501014709473],["▁probablement",-13.048698425292969],["▁suplimentar",-13.048701286315918],["dollar",-13.048797607421875],["English",-13.04898452758789],["866",-13.049300193786621],["▁Savannah",-13.049314498901367],["▁aftermath",-13.049318313598633],["phé",-13.04932689666748],["▁Plum",-13.049417495727539],["264",-13.049566268920898],["2.000",-13.049582481384277],["niei",-13.049603462219238],["ATP",-13.049803733825684],["mila",-13.04985523223877],["▁glut",-13.049887657165527],["gotta",-13.049891471862793],["schütt",-13.049893379211426],["klick",-13.049996376037598],["whether",-13.050090789794922],["▁Wade",-13.050163269042969],["▁Riley",-13.050280570983887],["Chancellor",-13.050288200378418],["▁nebun",-13.050300598144531],["▁aufgebaut",-13.050374984741211],["steigt",-13.050423622131348],["▁entirety",-13.050494194030762],["▁telefoane",-13.05074691772461],["▁Roulette",-13.050763130187988],["1700",-13.050787925720215],["▁lycée",-13.050856590270996],["rotary",-13.051128387451172],["benefited",-13.051170349121094],["▁Bisericii",-13.051220893859863],["▁Rehabilitation",-13.051220893859863],["▁lithium",-13.051228523254395],["imposing",-13.051279067993164],["176",-13.051329612731934],["▁thunder",-13.051527976989746],["ăsesc",-13.052000045776367],["▁Einblick",-13.052010536193848],["oiled",-13.052151679992676],["SSA",-13.052181243896484],["apparition",-13.05224609375],["▁Impress",-13.052273750305176],["▁Aboriginal",-13.052297592163086],["loos",-13.052383422851562],["▁Bread",-13.052440643310547],["177",-13.052619934082031],["VERS",-13.052638053894043],["▁Respect",-13.05271053314209],["▁Practical",-13.053047180175781],["drafting",-13.05306339263916],["си",-13.053099632263184],["▁faza",-13.053109169006348],["▁sovereign",-13.053123474121094],["▁Untersuchung",-13.05314826965332],["▁Niveau",-13.053154945373535],["transport",-13.053182601928711],["▁downstream",-13.053293228149414],["▁Milton",-13.053383827209473],["▁knob",-13.053390502929688],["employeur",-13.053499221801758],["▁furnish",-13.053544044494629],["weather",-13.053564071655273],["LAB",-13.053646087646484],["166",-13.053853988647461],["▁salaire",-13.053937911987305],["▁Carnival",-13.054088592529297],["4-0",-13.054168701171875],["▁Angle",-13.054291725158691],["▁José",-13.054399490356445],["architecture",-13.054475784301758],["▁Sunset",-13.054574966430664],["▁Absolut",-13.054694175720215],["▁herrlich",-13.05470085144043],["12%",-13.054703712463379],["▁Indo",-13.054823875427246],["▁Komfort",-13.055049896240234],["▁acțiuni",-13.05505084991455],["energize",-13.055085182189941],["▁Warning",-13.055171966552734],["▁Sunny",-13.055216789245605],["▁razor",-13.055489540100098],["▁psychic",-13.055490493774414],["▁convivial",-13.055525779724121],["Voraussetzungen",-13.05555534362793],["IMO",-13.055622100830078],["opérateur",-13.055743217468262],["▁langjährige",-13.05575942993164],["▁Spanie",-13.055901527404785],["pulmonary",-13.056004524230957],["▁Bingo",-13.056050300598145],["▁confession",-13.056096076965332],["▁Petru",-13.056100845336914],["▁prerequisite",-13.056164741516113],["▁dodge",-13.056352615356445],["▁McN",-13.056436538696289],["▁originate",-13.056577682495117],["▁nettoy",-13.056612014770508],["▁$14",-13.056645393371582],["▁Bride",-13.05669116973877],["▁noisy",-13.05673885345459],["▁Worcester",-13.056963920593262],["▁Surrey",-13.056982040405273],["harmonis",-13.057110786437988],["▁représentant",-13.057304382324219],["organisée",-13.057475090026855],["truction",-13.057513236999512],["injected",-13.057597160339355],["▁Suzuki",-13.057924270629883],["▁japonais",-13.057924270629883],["▁turquoise",-13.057924270629883],["▁Peut",-13.058004379272461],["▁Sequ",-13.058028221130371],["slated",-13.058037757873535],["▁Alma",-13.058215141296387],["▁gebraucht",-13.05827522277832],["gängig",-13.058281898498535],["▁commis",-13.058377265930176],["ACS",-13.05856990814209],["pressure",-13.058664321899414],["cured",-13.05874252319336],["▁Jackie",-13.058757781982422],["▁Kashmir",-13.05888557434082],["▁recruited",-13.059000968933105],["▁vécu",-13.059011459350586],["▁opus",-13.059052467346191],["kWh",-13.05927562713623],["▁tapping",-13.059292793273926],["▁tehnologie",-13.05931282043457],["▁Gentle",-13.059365272521973],["▁bombard",-13.059372901916504],["▁caméra",-13.059427261352539],["züglich",-13.059431076049805],["▁bingo",-13.059453010559082],["private",-13.059496879577637],["▁mediator",-13.059642791748047],["▁carbohydrates",-13.059847831726074],["▁workmanship",-13.059849739074707],["▁Combat",-13.059853553771973],["▁Mickey",-13.059901237487793],["▁distressed",-13.059908866882324],["lucrează",-13.059924125671387],["treatment",-13.06007194519043],["▁Einwohner",-13.060330390930176],["▁glaze",-13.060386657714844],["scholarly",-13.06043529510498],["ROC",-13.060750007629395],["▁Darwin",-13.060774803161621],["drückt",-13.060775756835938],["▁treadmill",-13.060819625854492],["ntz",-13.060830116271973],["620",-13.061087608337402],["surface",-13.061148643493652],["▁vieţii",-13.0612211227417],["990",-13.061296463012695],["▁doigt",-13.061341285705566],["▁explor",-13.061450004577637],["▁asistent",-13.061670303344727],["coloriage",-13.061734199523926],["▁Martinez",-13.061758041381836],["▁antibodies",-13.061775207519531],["Schülerinnen",-13.061779975891113],["Honestly",-13.06178092956543],["grabbing",-13.061871528625488],["▁Cardiff",-13.061897277832031],["▁Trophy",-13.062084197998047],["▁pupil",-13.062117576599121],["▁invoke",-13.062161445617676],["bezüglich",-13.062193870544434],["Anschließend",-13.062275886535645],["perks",-13.062360763549805],["530",-13.062373161315918],["▁emblem",-13.062431335449219],["770",-13.062543869018555],["clairement",-13.062590599060059],["▁sublinia",-13.062597274780273],["▁1910",-13.062719345092773],["▁Embassy",-13.062740325927734],["▁Valencia",-13.062740325927734],["▁catastrophic",-13.062740325927734],["▁simulator",-13.06274700164795],["Pierre",-13.062766075134277],["▁doorstep",-13.062806129455566],["▁rallie",-13.062881469726562],["▁șans",-13.062891960144043],["▁crosses",-13.06300163269043],["▁zodi",-13.06312084197998],["Next",-13.06314754486084],["▁rebuilt",-13.063152313232422],["▁panorama",-13.063222885131836],["196",-13.06324291229248],["▁erinnert",-13.06370735168457],["lism",-13.06371784210205],["opened",-13.06383228302002],["▁breakout",-13.064126014709473],["▁mosque",-13.064153671264648],["boc",-13.064507484436035],["▁grout",-13.064568519592285],["▁Gather",-13.064582824707031],["▁vampire",-13.06467342376709],["▁tandem",-13.064684867858887],["▁pastra",-13.064702033996582],["▁lösen",-13.064794540405273],["▁discontinu",-13.064826965332031],["fuses",-13.064885139465332],["▁identitate",-13.064947128295898],["BAC",-13.064964294433594],["▁$100,000",-13.065122604370117],["Finder",-13.06515121459961],["▁Leicester",-13.065157890319824],["▁1933",-13.065159797668457],["informatiile",-13.065234184265137],["lädt",-13.065309524536133],["iggle",-13.065399169921875],["▁Discuss",-13.065462112426758],["distributing",-13.065470695495605],["▁disappoint",-13.065475463867188],["ecţia",-13.065611839294434],["▁condiment",-13.065640449523926],["▁Marriott",-13.065642356872559],["▁entspannt",-13.065644264221191],["arbitrary",-13.06564998626709],["rühren",-13.06574821472168],["Intensiv",-13.065771102905273],["eliminare",-13.065895080566406],["muster",-13.06594467163086],["▁komplexe",-13.066130638122559],["▁(2008)",-13.066184997558594],["absolument",-13.066349029541016],["aloo",-13.066420555114746],["cererea",-13.06655216217041],["▁imobiliar",-13.066696166992188],["▁paramount",-13.066705703735352],["▁Vince",-13.066723823547363],["pov",-13.067076683044434],["▁conveyor",-13.067549705505371],["▁Natalie",-13.067583084106445],["▁Comedy",-13.067623138427734],["Developing",-13.0678129196167],["disputed",-13.067878723144531],["164",-13.067911148071289],["▁Communist",-13.067949295043945],["▁Bahnhof",-13.06806468963623],["dokument",-13.068145751953125],["▁Somali",-13.06828498840332],["▁Strasbourg",-13.068503379821777],["▁Technician",-13.068550109863281],["▁subsidies",-13.068633079528809],["judeţul",-13.068723678588867],["▁bible",-13.068769454956055],["gefahren",-13.068855285644531],["▁literal",-13.068882942199707],["▁diminish",-13.068940162658691],["Sfântul",-13.0689697265625],["▁doreșt",-13.068978309631348],["▁Xiaomi",-13.069036483764648],["▁planète",-13.069130897521973],["▁LTD",-13.069175720214844],["▁Zugriff",-13.069196701049805],["beginn",-13.06921672821045],["▁Einführung",-13.069294929504395],["▁coronar",-13.069393157958984],["lomi",-13.0693941116333],["▁Accueil",-13.0695219039917],["scanned",-13.069528579711914],["▁Banque",-13.06952953338623],["▁réaction",-13.069531440734863],["▁Hoffman",-13.069546699523926],["▁merveille",-13.069637298583984],["navigating",-13.069719314575195],["schalten",-13.06984806060791],["▁ieşi",-13.070136070251465],["1-6",-13.070175170898438],["▁frustr",-13.070670127868652],["▁réfléchi",-13.0709810256958],["▁difuz",-13.071100234985352],["▁freue",-13.07121753692627],["besuch",-13.071349143981934],["153",-13.071386337280273],["▁butterflies",-13.071467399597168],["▁terrifying",-13.071467399597168],["▁încuraj",-13.071468353271484],["▁Château",-13.071470260620117],["▁contingent",-13.071474075317383],["▁abusive",-13.0714750289917],["▁SharePoint",-13.07148551940918],["▁skating",-13.071573257446289],["▁militaire",-13.07166576385498],["▁Vig",-13.071690559387207],["omics",-13.071840286254883],["▁Blockchain",-13.07197093963623],["▁principii",-13.071975708007812],["▁permitting",-13.071979522705078],["optimisation",-13.072270393371582],["▁maintien",-13.072328567504883],["▁Aluminum",-13.072442054748535],["▁Plymouth",-13.072443008422852],["▁Weiterbildung",-13.072457313537598],["▁Finanzierung",-13.072505950927734],["▁Kerala",-13.072514533996582],["insulated",-13.072668075561523],["▁loaf",-13.072802543640137],["▁Sammlung",-13.072929382324219],["▁îndepărt",-13.072930335998535],["▁Gewerbe",-13.072942733764648],["udel",-13.072988510131836],["▁coursework",-13.073104858398438],["▁Darstellung",-13.073246002197266],["▁indeplin",-13.073433876037598],["▁Gandhi",-13.073434829711914],["tossed",-13.07361888885498],["ewed",-13.073844909667969],["▁classement",-13.073884963989258],["▁Protestant",-13.073905944824219],["▁frumoasă",-13.073905944824219],["▁pantalon",-13.073906898498535],["▁rivet",-13.073966979980469],["▁Echt",-13.0741605758667],["erviciului",-13.07421588897705],["fabricated",-13.074322700500488],["Compania",-13.074372291564941],["▁juvenile",-13.074394226074219],["▁souligne",-13.07444953918457],["▁chrono",-13.07447338104248],["▁VII",-13.074594497680664],["▁Kirch",-13.074714660644531],["catcher",-13.075014114379883],["salv",-13.075263023376465],["▁Enforcement",-13.075370788574219],["▁Penguin",-13.075410842895508],["kowski",-13.075465202331543],["▁2:1",-13.075470924377441],["gesundheit",-13.075475692749023],["▁unveil",-13.075519561767578],["bending",-13.075531959533691],["▁conecta",-13.075579643249512],["▁faim",-13.075885772705078],["▁MacBook",-13.075969696044922],["versuch",-13.07600212097168],["▁regiuni",-13.076029777526855],["▁Willow",-13.076184272766113],["▁finanziell",-13.076303482055664],["▁nurturing",-13.076354026794434],["impuls",-13.076370239257812],["▁funktionieren",-13.076371192932129],["▁rezult",-13.076554298400879],["▁spui",-13.076593399047852],["▁walkway",-13.076653480529785],["▁Rauch",-13.076708793640137],["169",-13.076793670654297],["610",-13.076863288879395],["▁scazut",-13.0773286819458],["▁Garrett",-13.077329635620117],["▁necesită",-13.077352523803711],["Articolul",-13.077364921569824],["numită",-13.077371597290039],["Coastal",-13.077383041381836],["▁canned",-13.077421188354492],["▁Friendly",-13.077499389648438],["dissolved",-13.0775728225708],["seid",-13.077674865722656],["▁feminin",-13.077685356140137],["▁fetch",-13.077710151672363],["▁Accent",-13.077767372131348],["phrase",-13.077771186828613],["effekt",-13.077775955200195],["▁Progressive",-13.077777862548828],["▁canadien",-13.077820777893066],["iety",-13.077839851379395],["eignen",-13.077984809875488],["paraître",-13.07812213897705],["▁asylum",-13.07833194732666],["▁Albany",-13.078362464904785],["▁remis",-13.078386306762695],["▁Joyce",-13.078664779663086],["schätzt",-13.078784942626953],["▁begleiten",-13.078801155090332],["▁Siemens",-13.079007148742676],["▁schlimm",-13.079061508178711],["▁Libra",-13.079254150390625],["▁Composite",-13.079290390014648],["▁écr",-13.079315185546875],["disciplina",-13.079379081726074],["▁premature",-13.079630851745605],["▁scopuri",-13.079681396484375],["ffnung",-13.079715728759766],["7000",-13.079726219177246],["▁conséquent",-13.079780578613281],["▁côte",-13.079787254333496],["celul",-13.079872131347656],["▁fourteen",-13.079940795898438],["▁Riverside",-13.080077171325684],["gemacht",-13.08013916015625],["▁volcanic",-13.080272674560547],["▁Salesforce",-13.080315589904785],["▁Granite",-13.080317497253418],["▁Zentral",-13.080329895019531],["▁Female",-13.080341339111328],["▁culmin",-13.08047103881836],["▁urmatoare",-13.080547332763672],["toxicity",-13.080560684204102],["▁mâna",-13.080678939819336],["▁Umfang",-13.080764770507812],["▁Encore",-13.08077621459961],["▁Edgar",-13.080831527709961],["▁négoci",-13.080852508544922],["njeux",-13.080873489379883],["▁variance",-13.080917358398438],["▁Functional",-13.080973625183105],["172",-13.081046104431152],["▁dissolve",-13.0811185836792],["förderung",-13.081188201904297],["▁Brilliant",-13.081254959106445],["▁comprehension",-13.081254959106445],["▁soybean",-13.081254959106445],["▁standalone",-13.081255912780762],["▁Communi",-13.081303596496582],["▁ajut",-13.081313133239746],["▁lavish",-13.081338882446289],["Ouest",-13.081384658813477],["▁Maggie",-13.081385612487793],["▁evolutionary",-13.081550598144531],["bowel",-13.081575393676758],["▁glyco",-13.081626892089844],["▁Happi",-13.081706047058105],["organising",-13.081710815429688],["▁übernimm",-13.081727027893066],["▁snowboard",-13.081793785095215],["▁prévention",-13.081830024719238],["▁Celebrate",-13.082160949707031],["▁pottery",-13.082254409790039],["▁Outstanding",-13.082328796386719],["▁toamna",-13.082331657409668],["▁graceful",-13.082548141479492],["197",-13.082559585571289],["strecke",-13.082598686218262],["▁medizinische",-13.082733154296875],["216",-13.082839965820312],["▁prune",-13.082868576049805],["Pourtant",-13.083000183105469],["▁Difference",-13.083224296569824],["▁factura",-13.083830833435059],["Mass",-13.084161758422852],["▁Enhanc",-13.084190368652344],["upholstered",-13.084209442138672],["▁übernommen",-13.084209442138672],["▁mitigation",-13.084210395812988],["▁Hidden",-13.084219932556152],["▁Häuser",-13.084234237670898],["▁Pavel",-13.084403991699219],["▁congress",-13.084512710571289],["▁antibody",-13.084598541259766],["▁stitches",-13.084811210632324],["▁colonies",-13.084820747375488],["Into",-13.084900856018066],["▁démo",-13.084924697875977],["▁MVP",-13.085041046142578],["▁replay",-13.085062026977539],["▁usoara",-13.08522891998291],["▁Breast",-13.085278511047363],["ooney",-13.085336685180664],["▁außen",-13.085663795471191],["▁Motorola",-13.085695266723633],["▁spalat",-13.08578109741211],["euillez",-13.086088180541992],["▁jeunesse",-13.086170196533203],["▁pastoral",-13.086174011230469],["▁Sussex",-13.086185455322266],["▁stencil",-13.08619213104248],["▁organismului",-13.086504936218262],["seized",-13.086649894714355],["▁întrebare",-13.086865425109863],["cliquez",-13.086874961853027],["5.7",-13.086984634399414],["▁Yama",-13.087080955505371],["painted",-13.08708667755127],["▁Swimming",-13.087176322937012],["Rhythm",-13.087202072143555],["▁sorrow",-13.087210655212402],["▁Movers",-13.08731460571289],["renforcer",-13.08735466003418],["▁Wach",-13.087381362915039],["0,00",-13.087390899658203],["▁glove",-13.08753490447998],["▁stâng",-13.087669372558594],["rgendwann",-13.087687492370605],["▁Philippine",-13.08769416809082],["▁anunțat",-13.087716102600098],["▁Coleman",-13.087723731994629],["affir",-13.087918281555176],["uleiul",-13.08808422088623],["▁Coconut",-13.088197708129883],["▁Supplement",-13.088210105895996],["haudiere",-13.088293075561523],["▁kettle",-13.088313102722168],["▁3,5",-13.088370323181152],["refurbished",-13.088425636291504],["esthétique",-13.088665962219238],["performing",-13.088667869567871],["▁Engag",-13.088762283325195],["Group",-13.088801383972168],["▁viande",-13.088887214660645],["▁oricum",-13.088888168334961],["Spitalul",-13.089093208312988],["▁cesse",-13.089110374450684],["▁contradiction",-13.089130401611328],["▁Chrysler",-13.089154243469238],["▁poultry",-13.089154243469238],["▁thirteen",-13.089154243469238],["▁sightseeing",-13.089155197143555],["▁Miguel",-13.089158058166504],["▁terminology",-13.089334487915039],["▁Genetic",-13.089553833007812],["commercial",-13.08963394165039],["gehoben",-13.08965015411377],["RIGHT",-13.08995532989502],["▁proprietate",-13.089990615844727],["▁Cannes",-13.090012550354004],["▁klicken",-13.090023040771484],["▁Belgique",-13.0901460647583],["tapped",-13.09034538269043],["kinetic",-13.090569496154785],["▁feuilles",-13.090673446655273],["whitening",-13.090760231018066],["Any",-13.090946197509766],["Manager",-13.091099739074707],["▁constatat",-13.091106414794922],["▁Myanmar",-13.091140747070312],["▁Examination",-13.091142654418945],["▁règle",-13.091208457946777],["▁umgesetzt",-13.09128475189209],["211",-13.091336250305176],["▁Herald",-13.091449737548828],["Alex",-13.091680526733398],["▁drauf",-13.091707229614258],["logger",-13.091714859008789],["▁pictur",-13.09186840057373],["▁Divi",-13.09196949005127],["▁furnizat",-13.092089653015137],["▁verzichten",-13.092132568359375],["▁Sergi",-13.092199325561523],["contaminated",-13.09223747253418],["▁Buddy",-13.092243194580078],["▁chilled",-13.092268943786621],["▁vorlieg",-13.092317581176758],["▁Claudia",-13.092632293701172],["▁miserable",-13.092653274536133],["▁sketches",-13.092683792114258],["schicken",-13.092814445495605],["since",-13.0928373336792],["2.9",-13.092840194702148],["▁sitzen",-13.092928886413574],["ceapa",-13.093396186828613],["respectarea",-13.093438148498535],["▁handheld",-13.093448638916016],["popular",-13.093527793884277],["calming",-13.093603134155273],["Govern",-13.093632698059082],["▁omega",-13.093645095825195],["▁Planner",-13.093791007995605],["enriched",-13.093850135803223],["154",-13.093976974487305],["▁autorisé",-13.093989372253418],["▁cadouri",-13.09407901763916],["▁vulnerabilities",-13.094143867492676],["▁Arbeitnehmer",-13.094158172607422],["éditeur",-13.094234466552734],["▁Anleitung",-13.094317436218262],["rubbing",-13.094343185424805],["▁autovehicul",-13.094621658325195],["▁öffnen",-13.094621658325195],["▁Napoleon",-13.094622611999512],["▁cliché",-13.094637870788574],["▁Schaf",-13.09469985961914],["regulating",-13.094894409179688],["▁Kühl",-13.09490966796875],["▁blush",-13.094913482666016],["▁discard",-13.094992637634277],["▁confine",-13.095027923583984],["▁Rodriguez",-13.09511947631836],["▁ADHD",-13.095165252685547],["▁Madame",-13.09516716003418],["▁résolution",-13.095319747924805],["▁flair",-13.095369338989258],["▁claw",-13.095422744750977],["▁1929",-13.095643043518066],["ETH",-13.095672607421875],["nähe",-13.095804214477539],["▁soothe",-13.0958251953125],["4.9",-13.095833778381348],["montée",-13.095925331115723],["confirming",-13.095989227294922],["continent",-13.09613037109375],["reiz",-13.09643840789795],["john",-13.096577644348145],["IONAL",-13.096588134765625],["▁exported",-13.0966215133667],["▁Prison",-13.096651077270508],["possessed",-13.096952438354492],["▁placebo",-13.096991539001465],["▁biodiversity",-13.097116470336914],["▁combustion",-13.097116470336914],["▁Plumbing",-13.09711742401123],["ixie",-13.097124099731445],["▁repetition",-13.09715461730957],["▁soumis",-13.097372055053711],["▁reduc",-13.097671508789062],["▁constrain",-13.097759246826172],["Anti",-13.097760200500488],["consolidated",-13.097817420959473],["214",-13.098095893859863],["▁breaches",-13.098108291625977],["infringement",-13.098115921020508],["▁drizzle",-13.098115921020508],["▁erhöhen",-13.098116874694824],["▁Somerset",-13.098118782043457],["▁blonde",-13.098132133483887],["▁Funny",-13.09813404083252],["tuşi",-13.098149299621582],["▁reinvent",-13.098162651062012],["▁sérieux",-13.098247528076172],["▁croire",-13.098308563232422],["general",-13.098315238952637],["▁Distance",-13.098319053649902],["▁VoIP",-13.098348617553711],["▁adăugat",-13.098406791687012],["matik",-13.098546028137207],["▁avatar",-13.098647117614746],["▁superstar",-13.098804473876953],["8.0",-13.098814010620117],["lusieurs",-13.098982810974121],["▁Judeţean",-13.099117279052734],["offenen",-13.099128723144531],["RAF",-13.099133491516113],["▁restroom",-13.099207878112793],["enfance",-13.099348068237305],["▁garnish",-13.099499702453613],["▁vermittelt",-13.099631309509277],["Histoire",-13.099634170532227],["cyan",-13.100628852844238],["Talk",-13.100666046142578],["▁Varianten",-13.10069465637207],["▁Lille",-13.10085678100586],["▁offenbar",-13.10098934173584],["▁rénovation",-13.10112190246582],["▁comentarii",-13.101249694824219],["▁Bedford",-13.10130500793457],["▁cercetări",-13.101325988769531],["▁précision",-13.101337432861328],["MRC",-13.101358413696289],["alterations",-13.101476669311523],["▁discours",-13.101531028747559],["äger",-13.101577758789062],["▁antreprenor",-13.101622581481934],["▁Oriental",-13.101849555969238],["conducerea",-13.101868629455566],["CBC",-13.101932525634766],["▁mince",-13.101985931396484],["▁presidency",-13.10212516784668],["▁lipstick",-13.102167129516602],["▁SERVICES",-13.102237701416016],["productive",-13.10237979888916],["Assad",-13.102400779724121],["▁efectiv",-13.102540969848633],["▁gestern",-13.102596282958984],["▁RGB",-13.102606773376465],["▁Transilvania",-13.102627754211426],["▁Raleigh",-13.102670669555664],["DOM",-13.102702140808105],["▁iesit",-13.102806091308594],["▁anuntat",-13.102810859680176],["▁automatiquement",-13.102901458740234],["▁proliferation",-13.103130340576172],["▁Maroc",-13.103156089782715],["▁prezenţ",-13.10323429107666],["▁Filipino",-13.103296279907227],["▁Traian",-13.103351593017578],["▁swimmer",-13.10356616973877],["▁Slovenia",-13.103632926940918],["phobia",-13.103724479675293],["curricular",-13.103734016418457],["jurnal",-13.103825569152832],["▁vorne",-13.103870391845703],["▁asuma",-13.103875160217285],["defended",-13.104104995727539],["▁imminent",-13.104140281677246],["favored",-13.10417366027832],["▁innovator",-13.104179382324219],["▁Salzburg",-13.104289054870605],["5.4",-13.104452133178711],["Safe",-13.104597091674805],["▁inteleg",-13.104744911193848],["▁charisma",-13.104781150817871],["nature",-13.104784965515137],["4.8",-13.104942321777344],["argues",-13.105104446411133],["▁dimensiune",-13.105142593383789],["▁subdivision",-13.105142593383789],["▁embarrassing",-13.105144500732422],["▁confuse",-13.105207443237305],["DIC",-13.105460166931152],["rubrique",-13.10549545288086],["dépendance",-13.105598449707031],["INCLUD",-13.10565185546875],["▁Griffin",-13.10574722290039],["157",-13.105751037597656],["▁revamp",-13.105839729309082],["▁umgehen",-13.10595989227295],["▁mențin",-13.106231689453125],["▁1937",-13.106695175170898],["eklagte",-13.106766700744629],["▁clientèle",-13.106801986694336],["▁campsite",-13.10708999633789],["▁florist",-13.107144355773926],["▁Ferguson",-13.107159614562988],["▁demolition",-13.107160568237305],["▁McCain",-13.107254981994629],["▁reckon",-13.10733413696289],["striped",-13.107414245605469],["▁sonore",-13.107481002807617],["migrated",-13.107548713684082],["▁fluorescent",-13.107664108276367],["▁Colegi",-13.107762336730957],["ianu",-13.107860565185547],["cruising",-13.107882499694824],["LINK",-13.107965469360352],["▁Cutting",-13.108001708984375],["ABILITY",-13.108168601989746],["▁Categories",-13.108168601989746],["▁erhoben",-13.108168601989746],["▁Cocktail",-13.108169555664062],["▁Generator",-13.108177185058594],["▁gesucht",-13.108186721801758],["▁telescope",-13.10818862915039],["KET",-13.108192443847656],["▁hilfreich",-13.108192443847656],["▁beneficiary",-13.108585357666016],["▁Winston",-13.108636856079102],["Auswirkungen",-13.108675956726074],["portrayed",-13.108705520629883],["▁Aspekte",-13.108743667602539],["ffected",-13.108901023864746],["eutic",-13.108905792236328],["International",-13.109021186828613],["attente",-13.109078407287598],["mentioning",-13.109119415283203],["launch",-13.109129905700684],["▁EURO",-13.109152793884277],["▁Fraser",-13.109344482421875],["▁Johannes",-13.109408378601074],["▁felicit",-13.109477043151855],["▁plâng",-13.109522819519043],["izant",-13.10971736907959],["▁reţe",-13.109846115112305],["Mech",-13.109954833984375],["▁algebra",-13.110193252563477],["▁surgeries",-13.110257148742676],["▁semifinal",-13.110262870788574],["▁intimidating",-13.110288619995117],["▁exkl",-13.110604286193848],["asigurarea",-13.110918998718262],["Tek",-13.111136436462402],["▁Einladung",-13.111205101013184],["▁similaire",-13.111205101013184],["▁bebelus",-13.111221313476562],["▁déclin",-13.111400604248047],["▁Console",-13.111495018005371],["RET",-13.111573219299316],["appli",-13.111586570739746],["45%",-13.111663818359375],["Evenimentul",-13.111811637878418],["sincerely",-13.111812591552734],["sammlung",-13.112098693847656],["Amérique",-13.112220764160156],["▁1919",-13.112326622009277],["regulation",-13.112367630004883],["gebäude",-13.112726211547852],["▁Perspektive",-13.112726211547852],["Espagne",-13.112744331359863],["▁Underground",-13.11283016204834],["secret",-13.112833976745605],["▁Aussicht",-13.112874031066895],["Photo",-13.112977027893066],["▁Brust",-13.113144874572754],["▁Sustainability",-13.11323356628418],["▁clădiri",-13.11323356628418],["▁librarian",-13.11323356628418],["▁HBO",-13.113235473632812],["▁Parallel",-13.113240242004395],["▁shimmer",-13.113283157348633],["▁schlicht",-13.113292694091797],["▁anticipat",-13.113311767578125],["▁foolish",-13.11335563659668],["▁Ability",-13.11347484588623],["▁ceremoni",-13.11358642578125],["▁Ablauf",-13.11359977722168],["icrobial",-13.113606452941895],["▁actiuni",-13.11362361907959],["▁Wilhelm",-13.113761901855469],["▁nennen",-13.113775253295898],["▁botez",-13.113832473754883],["Alpes",-13.113912582397461],["▁libér",-13.11392593383789],["▁sneakers",-13.114052772521973],["geschafft",-13.114252090454102],["▁downstairs",-13.114261627197266],["▁wrench",-13.114294052124023],["▁erheblich",-13.11442756652832],["▁alimentar",-13.114710807800293],["▁suger",-13.11474323272705],["analysis",-13.114883422851562],["öhn",-13.114891052246094],["▁Nantes",-13.114895820617676],["▁Arbor",-13.114899635314941],["ooze",-13.115150451660156],["▁facade",-13.115229606628418],["▁MySQL",-13.115266799926758],["▁Salvador",-13.115266799926758],["▁Schlafzimmer",-13.115279197692871],["▁autentic",-13.115320205688477],["▁prezint",-13.115348815917969],["▁campground",-13.115397453308105],["Query",-13.11540412902832],["bekannt",-13.115598678588867],["arcinia",-13.115632057189941],["▁stunt",-13.115825653076172],["▁informare",-13.115830421447754],["▁interzis",-13.11584186553955],["▁Burke",-13.115995407104492],["certified",-13.11601734161377],["▁clove",-13.11605167388916],["java",-13.116271018981934],["▁Vielfalt",-13.116284370422363],["gebung",-13.116329193115234],["▁9/11",-13.116497993469238],["▁disruptive",-13.11650562286377],["visual",-13.116693496704102],["▁anunţat",-13.11679458618164],["▁Plätze",-13.116799354553223],["▁reduceri",-13.116920471191406],["autorisation",-13.116950035095215],["▁ligament",-13.11705207824707],["▁învăța",-13.117081642150879],["läufig",-13.117303848266602],["▁Copenhagen",-13.117303848266602],["▁commodities",-13.117303848266602],["▁eindeutig",-13.117313385009766],["▁catheter",-13.117321014404297],["erklärung",-13.117720603942871],["▁intelectual",-13.117814064025879],["▁municipality",-13.117891311645508],["▁1936",-13.11798095703125],["rruption",-13.118217468261719],["▁Lafayette",-13.118324279785156],["▁berühmte",-13.118324279785156],["▁idylli",-13.118325233459473],["▁caldura",-13.118447303771973],["▁tablette",-13.118535995483398],["▁liquidity",-13.118728637695312],["NGOs",-13.118885040283203],["▁supliment",-13.11889934539795],["contact",-13.119075775146484],["lustig",-13.119219779968262],["▁watercolor",-13.119319915771484],["▁Tiffany",-13.119344711303711],["▁Glauben",-13.119365692138672],["Immobilie",-13.119406700134277],["▁stripped",-13.119549751281738],["▁Beatles",-13.119601249694824],["ани",-13.119770050048828],["▁lifespan",-13.119986534118652],["▁profondeur",-13.120251655578613],["▁durere",-13.120329856872559],["▁Lithuania",-13.120367050170898],["▁resurrection",-13.120367050170898],["▁suitcase",-13.120535850524902],["▁Plumber",-13.120545387268066],["criticized",-13.120595932006836],["feared",-13.120756149291992],["▁Aunt",-13.120929718017578],["otwithstanding",-13.121068000793457],["verständlich",-13.12115478515625],["fiber",-13.121248245239258],["headquartered",-13.121390342712402],["▁Perspective",-13.121391296386719],["▁semantic",-13.121413230895996],["VIEW",-13.121431350708008],["▁Ersatzteile",-13.121567726135254],["▁disgust",-13.121685981750488],["rrington",-13.121834754943848],["ässe",-13.121922492980957],["▁anerkannt",-13.121956825256348],["meaning",-13.12203598022461],["178",-13.122039794921875],["▁grupuri",-13.1221284866333],["ciones",-13.122267723083496],["▁Mobility",-13.122414588928223],["▁unstable",-13.122422218322754],["▁FULL",-13.122456550598145],["austausch",-13.122491836547852],["▁culminat",-13.122549057006836],["▁Roast",-13.122742652893066],["existant",-13.122940063476562],["167",-13.123008728027344],["tinerii",-13.123040199279785],["September",-13.123115539550781],["▁haircut",-13.123274803161621],["▁Tutorial",-13.123440742492676],["▁enquiries",-13.123440742492676],["▁livelihood",-13.123440742492676],["▁proficiency",-13.123440742492676],["▁pavement",-13.123443603515625],["▁Reservation",-13.123445510864258],["aimerai",-13.123491287231445],["▁laboratoire",-13.123492240905762],["leihen",-13.123501777648926],["ministerium",-13.123518943786621],["▁Concentr",-13.12366008758545],["▁swipe",-13.12368106842041],["extrêmement",-13.123687744140625],["cultivated",-13.123708724975586],["▁Converse",-13.123845100402832],["▁paycheck",-13.123863220214844],["olltest",-13.123995780944824],["▁Bauch",-13.124022483825684],["▁autobuz",-13.124067306518555],["attack",-13.124094009399414],["While",-13.124311447143555],["Retrouvez",-13.124320983886719],["▁Dolphin",-13.124466896057129],["▁Shelby",-13.124480247497559],["▁Diagnostic",-13.124486923217773],["▁reconcil",-13.124558448791504],["▁Iaşi",-13.124733924865723],["▁iubesc",-13.124979972839355],["▁Bestseller",-13.124985694885254],["▁antrenor",-13.125035285949707],["▁Imaging",-13.125089645385742],["▁priorité",-13.125295639038086],["▁brewery",-13.125494003295898],["▁residual",-13.125494003295898],["▁intermittent",-13.125494956970215],["Kollekt",-13.125585556030273],["▁Walsh",-13.12558650970459],["▁marvelous",-13.125653266906738],["canceled",-13.125686645507812],["174",-13.125761985778809],["normes",-13.125837326049805],["▁Tempo",-13.125996589660645],["▁Târgu",-13.126008987426758],["877",-13.126165390014648],["5-8",-13.126190185546875],["960",-13.126486778259277],["▁Scandinavia",-13.1265230178833],["▁prolific",-13.126526832580566],["lasi",-13.126916885375977],["glück",-13.127097129821777],["▁immersion",-13.127204895019531],["RSA",-13.127323150634766],["▁Polk",-13.127340316772461],["▁transmitter",-13.12747859954834],["▁Kleidung",-13.12755298614502],["▁Cosmo",-13.127676963806152],["▁1935",-13.127788543701172],["höhere",-13.127906799316406],["▁Tatsache",-13.128074645996094],["▁Outlet",-13.1282377243042],["▁canalisation",-13.12824821472168],["Mbps",-13.128433227539062],["▁skeptical",-13.128582954406738],["mplification",-13.128617286682129],["▁Advice",-13.128618240356445],["▁détaillé",-13.128676414489746],["660",-13.128701210021973],["▁eyebrow",-13.128722190856934],["▁HIGH",-13.128898620605469],["hnlich",-13.129073143005371],["▁depăș",-13.12910270690918],["▁procurori",-13.129140853881836],["▁refrain",-13.129212379455566],["▁geschaffen",-13.12952995300293],["justement",-13.129663467407227],["exposing",-13.129700660705566],["243",-13.1298828125],["sectorul",-13.130104064941406],["▁courrier",-13.130180358886719],["▁carcas",-13.130199432373047],["sitter",-13.13022518157959],["▁Schreiben",-13.130335807800293],["▁malfunction",-13.130358695983887],["poartă",-13.130522727966309],["raisons",-13.130565643310547],["▁HOT",-13.130650520324707],["▁refreshed",-13.130730628967285],["mânt",-13.130744934082031],["▁coefficient",-13.13097858428955],["▁instituţii",-13.131194114685059],["▁sanguin",-13.131202697753906],["▁ceci",-13.131213188171387],["▁garçon",-13.131232261657715],["deluxe",-13.131237030029297],["▁rectif",-13.131311416625977],["920",-13.131364822387695],["Exista",-13.131428718566895],["▁magnif",-13.131568908691406],["efficiencies",-13.131681442260742],["▁Mitsubishi",-13.131681442260742],["▁consortium",-13.131681442260742],["▁baggage",-13.131683349609375],["▁guild",-13.131736755371094],["▁sixty",-13.13193130493164],["▁Retreat",-13.13245677947998],["batting",-13.132473945617676],["470",-13.132708549499512],["▁Britanie",-13.132718086242676],["displaced",-13.132734298706055],["▁spați",-13.132794380187988],["▁exceptionnelle",-13.13281536102295],["▁authorize",-13.132906913757324],["▁prescribe",-13.133187294006348],["▁dépannage",-13.133234024047852],["▁sexuelle",-13.133234024047852],["valid",-13.133275032043457],["▁hymn",-13.133752822875977],["▁histories",-13.133757591247559],["▁oriunde",-13.133764266967773],["Pop",-13.133785247802734],["▁dispoziţi",-13.133800506591797],["ADI",-13.133819580078125],["Google",-13.133830070495605],["▁Autism",-13.133918762207031],["▁aggr",-13.134354591369629],["bleed",-13.134618759155273],["▁displacement",-13.13478946685791],["▁hobbies",-13.13478946685791],["▁anatomy",-13.134799003601074],["▁Klinik",-13.134821891784668],["▁CCTV",-13.1348237991333],["readable",-13.134886741638184],["ulph",-13.134982109069824],["metabol",-13.135035514831543],["▁rugăm",-13.135037422180176],["▁Scotia",-13.135087013244629],["▁Einheit",-13.135211944580078],["▁troupe",-13.13581371307373],["▁Practitioner",-13.135828018188477],["▁oarec",-13.135909080505371],["Appel",-13.135998725891113],["situația",-13.136096000671387],["▁Yemen",-13.136353492736816],["piping",-13.136515617370605],["blood",-13.136772155761719],["engraved",-13.136866569519043],["▁Cristina",-13.136866569519043],["▁inaccurate",-13.136866569519043],["savory",-13.136878967285156],["atism",-13.136919021606445],["▁dependency",-13.137007713317871],["▁assertion",-13.137015342712402],["▁intersect",-13.137201309204102],["DATA",-13.137224197387695],["▁britanic",-13.1373872756958],["▁sanitaire",-13.137393951416016],["▁PLUS",-13.137436866760254],["▁platter",-13.137730598449707],["▁reconsider",-13.137802124023438],["▁Swim",-13.13786792755127],["▁Scene",-13.137896537780762],["▁Reynolds",-13.137907028198242],["▁gesund",-13.137922286987305],["international",-13.137959480285645],["government",-13.13804817199707],["▁gemstone",-13.138052940368652],["▁reproductive",-13.1381196975708],["▁expressive",-13.13820743560791],["▁tranche",-13.13842487335205],["▁Niagara",-13.138427734375],["▁Studierende",-13.138434410095215],["▁crave",-13.138607025146484],["pathetic",-13.138739585876465],["▁1916",-13.138858795166016],["▁Thousand",-13.138873100280762],["uffed",-13.138893127441406],["▁Lancaster",-13.138960838317871],["▁revenge",-13.138972282409668],["▁melody",-13.1389741897583],["Suitable",-13.138991355895996],["▁beacon",-13.139082908630371],["▁MAY",-13.139205932617188],["livré",-13.139216423034668],["Virus",-13.139391899108887],["▁collaborator",-13.139413833618164],["produktion",-13.139480590820312],["▁iluminat",-13.139593124389648],["facets",-13.13975715637207],["▁expus",-13.139784812927246],["▁baptism",-13.13999080657959],["▁urgency",-13.140016555786133],["artery",-13.14030647277832],["▁eingeladen",-13.14043140411377],["▁entfernen",-13.14051342010498],["soaking",-13.140555381774902],["▁irré",-13.140557289123535],["▁purity",-13.140700340270996],["▁adăug",-13.140731811523438],["historischen",-13.140777587890625],["crezi",-13.140793800354004],["▁tarziu",-13.141035079956055],["▁Mozart",-13.141040802001953],["▁trimming",-13.141056060791016],["▁violat",-13.141056060791016],["▁Vermögen",-13.14108943939209],["▁Theorie",-13.141114234924316],["scheibe",-13.14114761352539],["Partidul",-13.141324996948242],["▁childcare",-13.14133071899414],["ajele",-13.141345977783203],["▁Punjab",-13.141390800476074],["6.3",-13.14156436920166],["▁recount",-13.141571044921875],["▁repel",-13.141799926757812],["vantage",-13.1419095993042],["6.4",-13.141953468322754],["▁comedian",-13.142087936401367],["▁snappe",-13.142256736755371],["PLE",-13.142271041870117],["▁rapper",-13.142439842224121],["▁Belfast",-13.142657279968262],["▁predictive",-13.14271068572998],["dépôt",-13.1427583694458],["flavored",-13.142769813537598],["chließlich",-13.14293098449707],["▁stump",-13.142955780029297],["▁lakh",-13.142963409423828],["3:30",-13.143021583557129],["▁cetățeni",-13.1431245803833],["▁Milliarden",-13.143125534057617],["Assurance",-13.143128395080566],["▁Marketplace",-13.143329620361328],["equipped",-13.143423080444336],["▁russe",-13.143462181091309],["Exactly",-13.143651008605957],["▁Venez",-13.144125938415527],["▁Pavilion",-13.144171714782715],["▁incontournable",-13.144171714782715],["▁slaughter",-13.14417839050293],["asteptam",-13.144190788269043],["▁Fighter",-13.144196510314941],["▁Landkreis",-13.144278526306152],["▁lumini",-13.144312858581543],["▁connaît",-13.144615173339844],["▁Breite",-13.144674301147461],["▁Disability",-13.144774436950684],["▁Alfa",-13.144786834716797],["▁poise",-13.144895553588867],["▁Alpen",-13.144898414611816],["betont",-13.145031929016113],["159",-13.145161628723145],["▁geprägt",-13.145219802856445],["▁intrigued",-13.145219802856445],["▁sympathy",-13.145220756530762],["societal",-13.145225524902344],["▁sédui",-13.145243644714355],["▁differentiation",-13.145384788513184],["▁aprobare",-13.145744323730469],["schirm",-13.14585018157959],["sagt",-13.145956039428711],["7.3",-13.146101951599121],["Bib",-13.146263122558594],["europäischen",-13.146268844604492],["▁Innovative",-13.146268844604492],["▁autonome",-13.146330833435059],["▁Objective",-13.146400451660156],["▁refusal",-13.146551132202148],["▁exposé",-13.146719932556152],["▁cetăţeni",-13.146793365478516],["▁stimmt",-13.146798133850098],["acordul",-13.147162437438965],["▁hormonal",-13.147254943847656],["intermédiaire",-13.147319793701172],["▁doubl",-13.147374153137207],["▁flute",-13.147509574890137],["▁Balkon",-13.147523880004883],["▁Florian",-13.147607803344727],["737",-13.147614479064941],["▁dritte",-13.147639274597168],["spitze",-13.147685050964355],["donnent",-13.14778995513916],["▁Zuhause",-13.147850036621094],["▁VIII",-13.147852897644043],["familien",-13.148151397705078],["▁sécurisé",-13.148313522338867],["▁glamour",-13.148370742797852],["▁societati",-13.148370742797852],["typique",-13.1483793258667],["▁addicted",-13.148421287536621],["▁Providence",-13.148500442504883],["▁Extended",-13.148506164550781],["▁Barbie",-13.148513793945312],["zustand",-13.148516654968262],["▁Sauna",-13.148638725280762],["▁propane",-13.148663520812988],["europa",-13.148894309997559],["glued",-13.148940086364746],["▁Mystery",-13.148941993713379],["▁travaillé",-13.149106979370117],["riol",-13.149251937866211],["fleisch",-13.149288177490234],["▁Eintritt",-13.149327278137207],["▁Syndrome",-13.149422645568848],["▁petroleum",-13.149426460266113],["▁genial",-13.149433135986328],["sponsored",-13.149436950683594],["▁Cindy",-13.149436950683594],["▁courier",-13.149600982666016],["▁Scrap",-13.149640083312988],["▁conţin",-13.149724006652832],["(2007)",-13.149764060974121],["▁gewährleisten",-13.149949073791504],["▁proprietor",-13.15011215209961],["▁cheque",-13.15046215057373],["maternity",-13.150477409362793],["▁Gustav",-13.15048599243164],["▁arterial",-13.150497436523438],["▁whiskey",-13.150510787963867],["▁concealed",-13.150525093078613],["thèque",-13.150553703308105],["felony",-13.150579452514648],["▁tweeted",-13.150613784790039],["OTA",-13.150619506835938],["nsel",-13.150664329528809],["▁coarse",-13.150664329528809],["▁identificat",-13.150707244873047],["▁variability",-13.150716781616211],["civ",-13.150843620300293],["▁drastic",-13.150956153869629],["▁hatred",-13.151090621948242],["▁Bürgermeister",-13.151237487792969],["▁utilizatorilor",-13.15124225616455],["OULD",-13.15137004852295],["rmaßen",-13.151383399963379],["▁windshield",-13.151530265808105],["▁Particular",-13.151531219482422],["▁Tunnel",-13.151638984680176],["▁litri",-13.15164852142334],["extrême",-13.15180492401123],["▁Schalt",-13.151944160461426],["paket",-13.152159690856934],["berlin",-13.152169227600098],["▁slujb",-13.152193069458008],["facilitated",-13.152206420898438],["Congressional",-13.152510643005371],["▁honeymoon",-13.152585983276367],["▁Provision",-13.152697563171387],["▁Outfit",-13.152779579162598],["udder",-13.152814865112305],["▁chandelier",-13.153002738952637],["donating",-13.153132438659668],["historic",-13.15333080291748],["organized",-13.153508186340332],["(8)",-13.15356731414795],["▁touristique",-13.153610229492188],["▁Roosevelt",-13.153643608093262],["▁Verständnis",-13.153643608093262],["▁prilej",-13.153655052185059],["Vanity",-13.153806686401367],["chilly",-13.153964042663574],["loyer",-13.154031753540039],["▁Zhang",-13.154053688049316],["▁Nouveau",-13.154193878173828],["Soft",-13.154326438903809],["▁motherboard",-13.15441608428955],["▁Erklärung",-13.154701232910156],["▁Tasmania",-13.154702186584473],["▁verändern",-13.154703140258789],["▁seldom",-13.154711723327637],["▁Karriere",-13.154714584350586],["▁Mixed",-13.154902458190918],["umfang",-13.154970169067383],["▁Strategies",-13.155035972595215],["CHAR",-13.155051231384277],["olitary",-13.155075073242188],["▁Persoan",-13.1550874710083],["bewegung",-13.155242919921875],["▁Ernest",-13.155367851257324],["withdrawn",-13.155855178833008],["▁stationary",-13.155881881713867],["▁bland",-13.155939102172852],["▁Replace",-13.156059265136719],["▁Londres",-13.156290054321289],["▁plural",-13.156290054321289],["▁concentrat",-13.156515121459961],["Maschine",-13.156675338745117],["▁Advocate",-13.156820297241211],["▁vermitteln",-13.156824111938477],["▁dispenser",-13.156827926635742],["▁tedious",-13.15695858001709],["▁Straight",-13.15705394744873],["▁Corona",-13.157061576843262],["▁monumental",-13.157073020935059],["▁migrate",-13.15720272064209],["▁verlieren",-13.157366752624512],["▁Lub",-13.157482147216797],["▁reinforcement",-13.157827377319336],["▁cherish",-13.157843589782715],["Veterinary",-13.157881736755371],["geschwindigkeit",-13.157881736755371],["▁féminin",-13.157881736755371],["▁Facilities",-13.157964706420898],["▁urmari",-13.158050537109375],["▁Vertical",-13.158098220825195],["echoe",-13.158188819885254],["toured",-13.158548355102539],["Served",-13.158772468566895],["más",-13.158853530883789],["license",-13.158893585205078],["misunderstanding",-13.158944129943848],["▁glamorous",-13.158944129943848],["BJP",-13.158973693847656],["▁découvert",-13.159173965454102],["schönsten",-13.159517288208008],["▁(2018)",-13.159577369689941],["▁orasului",-13.159581184387207],["328",-13.159674644470215],["thighs",-13.159801483154297],["éclairage",-13.160008430480957],["Oamenii",-13.160009384155273],["▁Transmission",-13.16014575958252],["▁transpir",-13.16015911102295],["▁președinte",-13.160321235656738],["finalists",-13.160327911376953],["genügend",-13.160524368286133],["▁Aufmerksamkeit",-13.160539627075195],["▁unglaublich",-13.160539627075195],["▁descarc",-13.160604476928711],["▁Couch",-13.160683631896973],["eaucoup",-13.160788536071777],["▁adidas",-13.161075592041016],["▁1-800-",-13.161077499389648],["▁Communities",-13.161102294921875],["▁Einkommen",-13.161102294921875],["▁Reagan",-13.16114330291748],["▁Stoke",-13.161260604858398],["▁Snapchat",-13.161269187927246],["éclat",-13.161272048950195],["▁auseinander",-13.161367416381836],["▁richesse",-13.16137409210205],["▁toggle",-13.161396026611328],["▁Zutaten",-13.161606788635254],["▁député",-13.16161060333252],["▁battlefield",-13.161611557006836],["▁spirituel",-13.161611557006836],["▁Shuttle",-13.161632537841797],["▁Aktien",-13.161665916442871],["hormon",-13.161819458007812],["connection",-13.16187858581543],["▁vizitatori",-13.16191577911377],["érité",-13.161971092224121],["truck",-13.1619873046875],["▁yourselves",-13.162139892578125],["▁Logistics",-13.162140846252441],["coveted",-13.16215705871582],["▁şedinţ",-13.162671089172363],["▁messenger",-13.162703514099121],["▁țar",-13.162918090820312],["▁Grau",-13.163025856018066],["chirurgie",-13.163138389587402],["▁Ressourcen",-13.16320514678955],["▁Jésus",-13.163207054138184],["▁acțiune",-13.163208961486816],["▁Bundesliga",-13.163249015808105],["Lizenz",-13.163379669189453],["ELLE",-13.163908958435059],["vraie",-13.1639986038208],["ruined",-13.164018630981445],["▁Marble",-13.164109230041504],["▁Zambia",-13.164308547973633],["▁Finnish",-13.164366722106934],["▁trackback",-13.164488792419434],["héros",-13.16451644897461],["▁réclam",-13.164534568786621],["locurile",-13.164706230163574],["tägliche",-13.164753913879395],["IFF",-13.164824485778809],["▁contextual",-13.164938926696777],["▁Elvis",-13.165084838867188],["▁Batch",-13.165183067321777],["▁appris",-13.16519546508789],["intensive",-13.165404319763184],["▁întâmplat",-13.16565990447998],["▁prelucr",-13.16576099395752],["flore",-13.165873527526855],["▁Alkohol",-13.165877342224121],["Konzern",-13.165895462036133],["Delete",-13.166082382202148],["öck",-13.16612720489502],["▁clientii",-13.16614818572998],["▁innovate",-13.166224479675293],["▁ASAP",-13.166345596313477],["crumbs",-13.166425704956055],["reusable",-13.166489601135254],["▁Beaver",-13.166507720947266],["▁rosii",-13.166643142700195],["Arr",-13.166704177856445],["▁Zubehör",-13.166948318481445],["▁stolz",-13.166952133178711],["▁$75",-13.16695499420166],["▁Frühling",-13.166967391967773],["▁disagreement",-13.166988372802734],["▁formulate",-13.167381286621094],["braking",-13.167522430419922],["▁submarine",-13.167535781860352],["▁identificare",-13.167652130126953],["lansarea",-13.167659759521484],["covered",-13.167753219604492],["benso",-13.167859077453613],["▁situatie",-13.167989730834961],["hilf",-13.1681547164917],["▁Southampton",-13.168557167053223],["▁intéressé",-13.168557167053223],["▁congressional",-13.168572425842285],["65%",-13.168595314025879],["▁Allison",-13.168627738952637],["Mainland",-13.168726921081543],["▁touchscreen",-13.16882038116455],["leitet",-13.168922424316406],["mnului",-13.16958999633789],["▁engagiert",-13.169631004333496],["joacă",-13.16964340209961],["▁$5,000",-13.169652938842773],["upscale",-13.1697359085083],["▁vérité",-13.16983413696289],["flüssig",-13.170167922973633],["Richtlinie",-13.170169830322266],["▁positif",-13.170169830322266],["▁diferenta",-13.170175552368164],["▁întâi",-13.170707702636719],["ethylene",-13.170791625976562],["kreuz",-13.170913696289062],["Surely",-13.170990943908691],["puneti",-13.171002388000488],["europe",-13.171142578125],["▁comunist",-13.171271324157715],["unterricht",-13.171302795410156],["▁Füll",-13.171304702758789],["▁Aberdeen",-13.171792030334473],["▁DSLR",-13.171792030334473],["▁functioneaza",-13.171799659729004],["▁benches",-13.171807289123535],["▁Alpine",-13.171866416931152],["phthal",-13.172003746032715],["▁counselling",-13.17219066619873],["▁erzielen",-13.172323226928711],["▁părinţi",-13.172329902648926],["▁besitzen",-13.17236614227295],["heavenly",-13.172389030456543],["▁masque",-13.17281723022461],["▁Legislature",-13.172859191894531],["▁Recycling",-13.172861099243164],["▁Derma",-13.172883987426758],["reunite",-13.172926902770996],["recettes",-13.17310619354248],["converge",-13.173262596130371],["▁compoziti",-13.17327880859375],["▁Nürnberg",-13.173398971557617],["760",-13.173545837402344],["▁entière",-13.173674583435059],["▁parchment",-13.173944473266602],["▁Aufwand",-13.173945426940918],["▁antivirus",-13.174087524414062],["▁remettr",-13.17409610748291],["▁NEVER",-13.174243927001953],["▁restrictive",-13.174266815185547],["▁beurre",-13.174283027648926],["▁frigider",-13.174478530883789],["acquisition",-13.174642562866211],["▁Correct",-13.174866676330566],["▁immortal",-13.175017356872559],["▁occupancy",-13.175017356872559],["▁Tucson",-13.175019264221191],["▁Dhabi",-13.175025939941406],["obligation",-13.175033569335938],["▁warfare",-13.175037384033203],["▁syntax",-13.175045013427734],["APS",-13.175106048583984],["мен",-13.175209999084473],["▁diferenț",-13.175251960754395],["wordpress",-13.17549991607666],["▁Wohnzimmer",-13.175593376159668],["oppo",-13.175736427307129],["▁miscare",-13.175762176513672],["companiilor",-13.17581558227539],["▁bezahlt",-13.17584228515625],["Sterne",-13.175864219665527],["inability",-13.175898551940918],["▁Hoffnung",-13.176156044006348],["▁românească",-13.176176071166992],["document",-13.176177024841309],["borrowers",-13.17625904083252],["▁rasa",-13.176301956176758],["▁bénéfice",-13.176445960998535],["▁Panda",-13.17645263671875],["▁cărţi",-13.176730155944824],["▁Vorgehen",-13.17690658569336],["▁afecteaz",-13.176956176757812],["▁diagnos",-13.177050590515137],["▁Dentistry",-13.177180290222168],["▁staggering",-13.177180290222168],["präsident",-13.177181243896484],["▁vocational",-13.177239418029785],["Combined",-13.177287101745605],["stère",-13.177306175231934],["▁frunze",-13.177478790283203],["OLI",-13.177525520324707],["▁răc",-13.177752494812012],["▁changé",-13.177754402160645],["▁reprezentanți",-13.177757263183594],["▁ausgeschlossen",-13.177777290344238],["Windows",-13.177891731262207],["sometimes",-13.177898406982422],["▁dargestellt",-13.178120613098145],["provoking",-13.178263664245605],["terribly",-13.178264617919922],["▁speculate",-13.178274154663086],["▁complément",-13.178305625915527],["▁(2006)",-13.178306579589844],["zulegen",-13.178668022155762],["▁définitive",-13.178876876831055],["considerare",-13.17911148071289],["▁Subaru",-13.179354667663574],["WAN",-13.179390907287598],["guessed",-13.179417610168457],["spannung",-13.179479598999023],["▁supernatural",-13.179515838623047],["▁Interstate",-13.17957878112793],["▁redundant",-13.179891586303711],["▁HUG",-13.179893493652344],["▁restauration",-13.180006980895996],["repute",-13.180011749267578],["coagul",-13.180028915405273],["tehnologia",-13.18043327331543],["warded",-13.180444717407227],["▁lobster",-13.180469512939453],["▁Hafen",-13.180542945861816],["▁Guess",-13.18056583404541],["seraient",-13.181038856506348],["▁trench",-13.181156158447266],["▁piept",-13.181283950805664],["categorized",-13.181396484375],["softer",-13.1815185546875],["▁feasibility",-13.181519508361816],["▁restructuring",-13.181519508361816],["▁GOOD",-13.181537628173828],["▁inspiré",-13.181610107421875],["▁spéci",-13.18163013458252],["▁Mattress",-13.181686401367188],["▁biologique",-13.181702613830566],["▁Crema",-13.182043075561523],["▁korrekt",-13.182063102722168],["▁imperfect",-13.182205200195312],["▁advantageous",-13.182329177856445],["9.00",-13.182390213012695],["PAL",-13.182557106018066],["▁Illustration",-13.182607650756836],["▁Katherine",-13.182607650756836],["▁cervical",-13.182607650756836],["▁hectic",-13.182611465454102],["▁Belastung",-13.182615280151367],["▁Laguna",-13.182628631591797],["▁Burton",-13.182761192321777],["nettoyage",-13.182875633239746],["Toward",-13.183072090148926],["continuare",-13.183072090148926],["▁acumulat",-13.183106422424316],["▁déposé",-13.183216094970703],["▁prestige",-13.183269500732422],["▁LNG",-13.183525085449219],["▁Dacia",-13.183662414550781],["▁concede",-13.183691024780273],["▁reconciliation",-13.183822631835938],["Sistemul",-13.183877944946289],["Speed",-13.183937072753906],["▁Implant",-13.183977127075195],["▁möchtest",-13.184020042419434],["▁Norton",-13.184064865112305],["▁cosmic",-13.184181213378906],["enregistrement",-13.184247016906738],["țării",-13.18433952331543],["Veröffentlichung",-13.184786796569824],["erlebnis",-13.184786796569824],["▁Carpenter",-13.184786796569824],["▁INFORMATION",-13.184786796569824],["invites",-13.18481731414795],["▁gewan",-13.1849365234375],["▁réservé",-13.184986114501953],["▁aquatic",-13.184988021850586],["▁Seoul",-13.18507194519043],["▁älter",-13.185185432434082],["▁classmates",-13.185223579406738],["gelangen",-13.185253143310547],["▁Camill",-13.185285568237305],["simo",-13.185291290283203],["▁dormitor",-13.185333251953125],["wahren",-13.185354232788086],["▁incremental",-13.185357093811035],["▁caci",-13.185494422912598],["mittlere",-13.185752868652344],["▁condominium",-13.185877799987793],["▁rainforest",-13.185877799987793],["▁championnat",-13.185891151428223],["▁interrupted",-13.185921669006348],["▁tactile",-13.185930252075195],["▁unconditional",-13.185945510864258],["▁reactive",-13.186041831970215],["▁Stretch",-13.1861572265625],["▁serene",-13.18624210357666],["570",-13.186318397521973],["igte",-13.186376571655273],["Louis",-13.186410903930664],["▁Mittelpunkt",-13.186493873596191],["EEP",-13.18651294708252],["▁vault",-13.186552047729492],["absolu",-13.186893463134766],["▁solidarity",-13.186971664428711],["CLICK",-13.18708324432373],["▁hustle",-13.187090873718262],["▁microscope",-13.187105178833008],["▁Recommended",-13.187111854553223],["âche",-13.18716812133789],["▁flashlight",-13.187286376953125],["modificarea",-13.18754768371582],["izaţi",-13.18773078918457],["planned",-13.187899589538574],["Download",-13.187906265258789],["▁gourmand",-13.188064575195312],["▁subsidiaries",-13.188064575195312],["orthodox",-13.188135147094727],["▁Auburn",-13.188323020935059],["▁exprimat",-13.188336372375488],["procédé",-13.18861198425293],["▁ressenti",-13.188648223876953],["▁stint",-13.188678741455078],["Essentially",-13.189072608947754],["▁Savior",-13.189164161682129],["▁Flood",-13.189168930053711],["▁neurological",-13.189249038696289],["▁strig",-13.189340591430664],["scended",-13.189421653747559],["▁Shiva",-13.189483642578125],["▁Sketch",-13.189544677734375],["▁monarch",-13.18956184387207],["▁Preview",-13.189632415771484],["▁bewegt",-13.189811706542969],["mapped",-13.189818382263184],["énorme",-13.189962387084961],["▁définition",-13.189963340759277],["▁nécessité",-13.189984321594238],["▁antren",-13.190027236938477],["▁Infant",-13.190072059631348],["▁incumbent",-13.190255165100098],["▁pavilion",-13.190255165100098],["▁Taliban",-13.19025707244873],["Easily",-13.19025993347168],["▁verteilt",-13.19030475616455],["▁Biblical",-13.190320014953613],["Christian",-13.190333366394043],["județul",-13.190436363220215],["Learning",-13.19046688079834],["▁Expand",-13.19054126739502],["▁Attach",-13.19056224822998],["consideră",-13.190573692321777],["einsatz",-13.190574645996094],["Numai",-13.190585136413574],["▁Eintrag",-13.190597534179688],["▁üblich",-13.190607070922852],["▁cumpără",-13.19062614440918],["escaped",-13.190693855285645],["▁Ortodox",-13.190804481506348],["▁obţinut",-13.190805435180664],["ecluded",-13.191036224365234],["▁brownie",-13.191089630126953],["▁regulament",-13.191253662109375],["▁Chaos",-13.191302299499512],["▁masiv",-13.19132137298584],["▁Gerald",-13.191376686096191],["▁Sigur",-13.191380500793457],["▁wavelength",-13.191380500793457],["▁retiring",-13.191396713256836],["▁exactement",-13.191819190979004],["ntino",-13.191823959350586],["▁Krebs",-13.19194221496582],["▁monatlich",-13.191956520080566],["▁aranj",-13.192011833190918],["▁priveşt",-13.192099571228027],["▁mecanic",-13.192109107971191],["money",-13.192233085632324],["parliamentary",-13.1922607421875],["▁probation",-13.192427635192871],["embroidered",-13.192451477050781],["▁amenajat",-13.192451477050781],["▁remnant",-13.192451477050781],["▁senzati",-13.192472457885742],["▁Declaration",-13.192483901977539],["farbe",-13.192506790161133],["▁skinny",-13.19260311126709],["Energi",-13.192648887634277],["verhältnisse",-13.19288158416748],["Recruit",-13.192972183227539],["frying",-13.193161010742188],["925",-13.193294525146484],["nstruire",-13.193302154541016],["toasted",-13.193424224853516],["▁nicotine",-13.193551063537598],["recessed",-13.193570137023926],["▁dialect",-13.193572044372559],["▁confisc",-13.193575859069824],["▁bubbl",-13.193643569946289],["▁Precision",-13.193682670593262],["▁sollicit",-13.193842887878418],["▁Moral",-13.193977355957031],["▁renseignements",-13.194112777709961],["UMP",-13.194116592407227],["ijn",-13.194183349609375],["▁fermeture",-13.194320678710938],["▁blueprint",-13.19462776184082],["▁groceries",-13.194652557373047],["möbel",-13.194655418395996],["▁Plenty",-13.194657325744629],["▁forfeit",-13.194719314575195],["méthodes",-13.194915771484375],["paving",-13.19493293762207],["outheastern",-13.194979667663574],["▁Overview",-13.19503116607666],["▁observers",-13.195171356201172],["▁Timișoara",-13.19520378112793],["noticing",-13.195332527160645],["▁Owl",-13.195381164550781],["▁1925",-13.195517539978027],["▁prüfen",-13.195755004882812],["▁Bewohner",-13.195756912231445],["▁Latvia",-13.195770263671875],["▁Tuscan",-13.19577407836914],["▁apprenticeship",-13.195789337158203],["▁courteous",-13.1958646774292],["adult",-13.196023941040039],["Licensed",-13.196029663085938],["abused",-13.196762084960938],["confidence",-13.19678020477295],["▁revolt",-13.196782112121582],["conference",-13.196861267089844],["genoss",-13.196914672851562],["▁răni",-13.196944236755371],["▁Intervention",-13.196949005126953],["▁primesc",-13.196969985961914],["trays",-13.197041511535645],["nozzle",-13.197216033935547],["▁splitting",-13.197443962097168],["▁könne",-13.197507858276367],["▁peisaj",-13.197943687438965],["▁academia",-13.197962760925293],["▁chakra",-13.197979927062988],["▁Abdul",-13.1981201171875],["▁Beschreibung",-13.198225021362305],["Regeln",-13.19831371307373],["eezy",-13.198314666748047],["▁problématique",-13.198515892028809],["▁Ausführung",-13.198524475097656],["▁reconnect",-13.19868278503418],["▁telefonic",-13.198966026306152],["▁Ethereum",-13.199069023132324],["▁Winnipeg",-13.199069023132324],["▁misconception",-13.199069023132324],["▁Verpackung",-13.199070930480957],["▁erzeugt",-13.199097633361816],["▁Identity",-13.199104309082031],["▁dunkle",-13.199109077453613],["sustaining",-13.19916820526123],["▁pereche",-13.199178695678711],["▁neîn",-13.199239730834961],["directorul",-13.199291229248047],["▁élabor",-13.199584007263184],["▁Hollow",-13.19960880279541],["▁getestet",-13.199751853942871],["▁Promote",-13.199797630310059],["agriculture",-13.199920654296875],["▁deosebir",-13.199934005737305],["▁neam",-13.199999809265137],["aufbau",-13.200042724609375],["▁susținut",-13.200079917907715],["fueled",-13.200119018554688],["▁impresionant",-13.200177192687988],["innate",-13.20026969909668],["grenzt",-13.200340270996094],["rescued",-13.200514793395996],["bestand",-13.200559616088867],["▁adjunct",-13.200729370117188],["▁Mischung",-13.200754165649414],["▁Lease",-13.201258659362793],["espagnol",-13.201284408569336],["▁Kickstarter",-13.201284408569336],["▁buzunar",-13.201284408569336],["▁buddies",-13.20129108428955],["käufe",-13.201485633850098],["cevoir",-13.201582908630371],["▁creşte",-13.201675415039062],["▁Cluster",-13.201825141906738],["▁obișnui",-13.201838493347168],["▁cassette",-13.201889038085938],["▁optisch",-13.201947212219238],["manned",-13.20200252532959],["schneid",-13.202362060546875],["Württemberg",-13.202393531799316],["shredded",-13.202393531799316],["▁botanical",-13.20239543914795],["characterization",-13.202445983886719],["▁Durchführung",-13.202452659606934],["▁tireless",-13.20250129699707],["lässlich",-13.20254135131836],["▁Merchant",-13.202570915222168],["joutez",-13.20259952545166],["▁amélior",-13.202676773071289],["fixed",-13.202741622924805],["kho",-13.202760696411133],["▁televizor",-13.202948570251465],["▁Davies",-13.202964782714844],["enceinte",-13.203118324279785],["▁Panorama",-13.20350456237793],["▁maternal",-13.203507423400879],["diversified",-13.203513145446777],["▁Jü",-13.203570365905762],["▁naz",-13.203730583190918],["▁plonge",-13.2039213180542],["geschickt",-13.203944206237793],["MIS",-13.204215049743652],["ragged",-13.204553604125977],["▁diarrhea",-13.20461654663086],["▁tsunami",-13.20461654663086],["▁Nikola",-13.204625129699707],["▁festivities",-13.20464038848877],["potting",-13.20479965209961],["▁telefonisch",-13.204874038696289],["TAR",-13.204971313476562],["▁schimbări",-13.205023765563965],["▁occidental",-13.205172538757324],["schloss",-13.205179214477539],["Print",-13.205284118652344],["▁autoritățil",-13.205361366271973],["idos",-13.20556640625],["mediocr",-13.20559310913086],["▁Decla",-13.205686569213867],["▁Elliott",-13.205729484558105],["▁pinpoint",-13.205734252929688],["▁disciple",-13.20579719543457],["▁Cairo",-13.2058744430542],["▁15-20",-13.2059326171875],["▁limbaj",-13.20611572265625],["▁retenu",-13.206154823303223],["▁Blüte",-13.20628833770752],["▁MINI",-13.206467628479004],["▁lumină",-13.206567764282227],["▁flawed",-13.206846237182617],["▁Belarus",-13.207067489624023],["Totul",-13.207207679748535],["hôte",-13.207273483276367],["▁verbringen",-13.207315444946289],["▁simultaneous",-13.207344055175781],["▁competiți",-13.207402229309082],["▁lancement",-13.207413673400879],["▁proprietati",-13.207432746887207],["▁angajator",-13.207465171813965],["▁ignorant",-13.207674026489258],["▁indicative",-13.207700729370117],["▁Bearbeitung",-13.207961082458496],["▁Ungaria",-13.207961082458496],["▁Sfint",-13.208015441894531],["▁Trojan",-13.20804214477539],["▁1911",-13.208100318908691],["▁reliabl",-13.2081937789917],["6-0",-13.20827865600586],["obst",-13.208523750305176],["▁relève",-13.208579063415527],["▁standpoint",-13.208874702453613],["ridden",-13.208918571472168],["▁Pdf",-13.209005355834961],["tatewide",-13.209051132202148],["Water",-13.209062576293945],["▁Pricing",-13.209089279174805],["▁protecţi",-13.209168434143066],["November",-13.209615707397461],["▁televiziune",-13.20964241027832],["Sodium",-13.209881782531738],["douceur",-13.209942817687988],["▁Flasche",-13.210183143615723],["3.9",-13.210193634033203],["▁electromagnetic",-13.210195541381836],["▁mitochondria",-13.210195541381836],["Suddenly",-13.210199356079102],["▁Drupal",-13.210201263427734],["▁supraveghere",-13.210211753845215],["▁cornea",-13.210288047790527],["räumt",-13.210309982299805],["▁healed",-13.210410118103027],["Roc",-13.210649490356445],["▁temporar",-13.210707664489746],["▁amaze",-13.210770606994629],["▁confrunta",-13.210833549499512],["Afterward",-13.210836410522461],["▁festgelegt",-13.21084213256836],["▁Kuchen",-13.210844993591309],["▁perpetual",-13.210858345031738],["systematically",-13.211000442504883],["▁coloan",-13.211006164550781],["▁extensi",-13.211058616638184],["▁Județean",-13.211315155029297],["▁amelior",-13.211315155029297],["▁illustrator",-13.211315155029297],["▁titanium",-13.211344718933105],["SMEs",-13.211384773254395],["taxable",-13.211578369140625],["▁Borough",-13.211607933044434],["verlust",-13.211772918701172],["ductive",-13.21233081817627],["▁Küste",-13.212335586547852],["▁végétal",-13.212410926818848],["▁breastfeeding",-13.212435722351074],["▁captivating",-13.212435722351074],["▁Chevy",-13.212443351745605],["▁aerospace",-13.212469100952148],["pozitia",-13.213095664978027],["Tutor",-13.213199615478516],["▁spum",-13.213312149047852],["curând",-13.213419914245605],["iscus",-13.213458061218262],["October",-13.213495254516602],["▁Reparatur",-13.213557243347168],["▁Servicii",-13.213574409484863],["▁Gonz",-13.21357536315918],["▁cybersecurity",-13.21357536315918],["▁UCLA",-13.213678359985352],["rissa",-13.213835716247559],["▁Kemp",-13.213850021362305],["▁piston",-13.214046478271484],["▁révèle",-13.214118957519531],["▁posséd",-13.21412181854248],["▁versehen",-13.214129447937012],["▁scrutin",-13.214226722717285],["donnant",-13.21436882019043],["▁Geschwindigkeit",-13.214680671691895],["▁Panasonic",-13.214680671691895],["audio",-13.214700698852539],["▁Packaging",-13.214771270751953],["phra",-13.2147798538208],["▁Letzte",-13.214954376220703],["insicht",-13.215141296386719],["▁sammeln",-13.215243339538574],["▁extins",-13.215259552001953],["▁collège",-13.215266227722168],["ancies",-13.215343475341797],["▁întâlnit",-13.215350151062012],["▁Servi",-13.215392112731934],["stattet",-13.215493202209473],["▁abstraction",-13.215566635131836],["▁candidature",-13.215592384338379],["ONU",-13.215676307678223],["▁raffle",-13.215826988220215],["▁Soldier",-13.215834617614746],["▁stipulate",-13.215883255004883],["▁vizual",-13.215950012207031],["lucht",-13.216007232666016],["▁circus",-13.216068267822266],["▁decree",-13.216259002685547],["immeuble",-13.216367721557617],["Store",-13.216426849365234],["randul",-13.216622352600098],["▁narration",-13.216933250427246],["implication",-13.216958045959473],["▁discontinued",-13.216971397399902],["▁Pilates",-13.216989517211914],["▁biais",-13.21701431274414],["panel",-13.217325210571289],["▁mower",-13.217458724975586],["▁Castro",-13.21753978729248],["pregătire",-13.217641830444336],["▁denomination",-13.218062400817871],["▁throttle",-13.21806526184082],["▁finition",-13.218086242675781],["▁clarification",-13.218286514282227],["laut",-13.218366622924805],["▁wastewater",-13.2184419631958],["▁Sanchez",-13.218770980834961],["▁Umfeld",-13.2189359664917],["▁consili",-13.218997955322266],["extrait",-13.219013214111328],["ionism",-13.2190523147583],["▁Cannabis",-13.219186782836914],["▁misconduct",-13.219186782836914],["▁shepherd",-13.219186782836914],["▁feminist",-13.21919059753418],["▁criterii",-13.219212532043457],["America",-13.219219207763672],["▁Telephone",-13.219270706176758],["▁Fritz",-13.219438552856445],["▁cheltui",-13.219794273376465],["▁Übung",-13.219857215881348],["făcută",-13.22006893157959],["▁străzi",-13.220170021057129],["influencing",-13.220315933227539],["▁Democracy",-13.220321655273438],["atorium",-13.220376014709473],["▁Stufe",-13.220465660095215],["▁Cornell",-13.220660209655762],["zugehen",-13.22074031829834],["▁coton",-13.220804214477539],["▁beinhaltet",-13.220881462097168],["▁kritisch",-13.220884323120117],["▁Kalender",-13.22105884552002],["▁Teig",-13.221253395080566],["cooked",-13.221264839172363],["▁diversité",-13.221390724182129],["recognizable",-13.221446990966797],["▁Dictionary",-13.221446990966797],["attribution",-13.22145938873291],["▁Teresa",-13.221471786499023],["▁Ahmad",-13.221487998962402],["HAM",-13.221627235412598],["▁floss",-13.221668243408203],["génie",-13.2218599319458],["▁Espa",-13.221989631652832],["hersteller",-13.221993446350098],["Musée",-13.222001075744629],["▁Crawford",-13.222579002380371],["▁Phantom",-13.222579002380371],["▁Jenkins",-13.222640037536621],["genauer",-13.222774505615234],["▁acţiuni",-13.222885131835938],["▁meciuri",-13.22322940826416],["▁verstärkt",-13.22326374053955],["▁troop",-13.22341251373291],["räder",-13.223483085632324],["Putting",-13.223536491394043],["NASDAQ",-13.223712921142578],["▁Buddhism",-13.223712921142578],["▁Religious",-13.223712921142578],["▁accommodating",-13.223712921142578],["▁lendemain",-13.223712921142578],["▁plywood",-13.223714828491211],["▁inflatable",-13.223724365234375],["▁sèche",-13.223731994628906],["▁fragil",-13.223845481872559],["▁Filip",-13.224115371704102],["▁Terrace",-13.224274635314941],["Biblio",-13.22432804107666],["resides",-13.22448444366455],["▁varf",-13.22451114654541],["Bildern",-13.224528312683105],["loß",-13.224685668945312],["555",-13.224702835083008],["▁astounding",-13.224847793579102],["▁brillant",-13.224857330322266],["▁Railroad",-13.224871635437012],["minimizing",-13.224907875061035],["▁Benedict",-13.225019454956055],["▁$400",-13.225068092346191],["▁schematic",-13.225217819213867],["Canada",-13.225371360778809],["▁psihic",-13.225415229797363],["▁avertiz",-13.225497245788574],["▁Breed",-13.225550651550293],["▁gradina",-13.225606918334961],["▁Liege",-13.225822448730469],["▁Retirement",-13.225983619689941],["▁pergola",-13.226005554199219],["▁Kuwait",-13.2260103225708],["▁logistic",-13.22629451751709],["▁captive",-13.22651481628418],["prepared",-13.226568222045898],["▁prononc",-13.226568222045898],["Celui",-13.226676940917969],["deutschland",-13.227120399475098],["▁devreme",-13.227124214172363],["▁părți",-13.227270126342773],["▁1934",-13.227517127990723],["▁ersetzt",-13.227560997009277],["▁frightening",-13.227689743041992],["▁fiecărui",-13.227819442749023],["correct",-13.22799015045166],["6.6",-13.228057861328125],["▁Manitoba",-13.228259086608887],["Chartered",-13.228416442871094],["▁părăs",-13.228543281555176],["Powered",-13.228697776794434],["impede",-13.22876262664795],["agonist",-13.22878646850586],["▁stratégique",-13.228829383850098],["▁vigilant",-13.228830337524414],["faceted",-13.228930473327637],["available",-13.229308128356934],["▁Promise",-13.229388236999512],["▁humorous",-13.229446411132812],["treibt",-13.229449272155762],["▁Patrol",-13.229514122009277],["huh",-13.229523658752441],["ztlich",-13.229804039001465],["▁rejet",-13.2299165725708],["odeur",-13.229935646057129],["usziehbar",-13.22996997833252],["▁gespannt",-13.229972839355469],["church",-13.230018615722656],["▁Popescu",-13.230109214782715],["▁einmalig",-13.230518341064453],["diluted",-13.230551719665527],["lighted",-13.231070518493652],["▁stattfinden",-13.23111343383789],["▁Reaktion",-13.231183052062988],["▁délivr",-13.23134994506836],["▁Helfer",-13.231407165527344],["Fiind",-13.23142147064209],["rmând",-13.231507301330566],["▁Beweis",-13.231671333312988],["▁Violet",-13.231733322143555],["kamera",-13.231764793395996],["▁Romney",-13.231779098510742],["▁Bradford",-13.231800079345703],["stellbar",-13.231852531433105],["▁roadmap",-13.231921195983887],["▁subconscious",-13.23204231262207],["contrasting",-13.232138633728027],["mécanisme",-13.232254981994629],["kämpft",-13.232255935668945],["▁Preston",-13.232719421386719],["▁Anliegen",-13.232802391052246],["▁necessities",-13.232827186584473],["▁detrimental",-13.232828140258789],["▁sprawl",-13.232830047607422],["▁Erfüllung",-13.23287582397461],["▁massacre",-13.2329683303833],["▁pietre",-13.232987403869629],["▁situații",-13.233027458190918],["vêtement",-13.233080863952637],["Listed",-13.233144760131836],["▁extravagant",-13.233399391174316],["▁axle",-13.233525276184082],["OTT",-13.233663558959961],["wildly",-13.233744621276855],["70,000",-13.233797073364258],["▁chauffeur",-13.23384952545166],["▁Brasov",-13.233972549438477],["▁Fähigkeiten",-13.233972549438477],["▁staatlich",-13.234025001525879],["outlines",-13.234034538269043],["▁aufmerksam",-13.234545707702637],["▁Relation",-13.234749794006348],["▁Stephan",-13.234947204589844],["yland",-13.23494815826416],["proclaimed",-13.235086441040039],["Wallet",-13.235100746154785],["verarbeitung",-13.235118865966797],["▁überraschen",-13.235118865966797],["▁Injury",-13.235125541687012],["▁horsepower",-13.235237121582031],["▁Tropical",-13.23523998260498],["▁wives",-13.235459327697754],["adherence",-13.235677719116211],["schätzung",-13.235692977905273],["▁coherent",-13.235708236694336],["parlament",-13.23574161529541],["▁stup",-13.235852241516113],["▁resonance",-13.23626708984375],["▁inheritance",-13.236355781555176],["commenced",-13.23645305633545],["▁supervise",-13.236475944519043],["▁facilitator",-13.236488342285156],["fares",-13.236678123474121],["▁Tibet",-13.23672866821289],["communication",-13.236787796020508],["yog",-13.236806869506836],["▁WLAN",-13.236842155456543],["▁Chili",-13.23685073852539],["▁Harold",-13.2369966506958],["▁Guerre",-13.237005233764648],["▁Femme",-13.237146377563477],["▁Lisbon",-13.237231254577637],["▁mulțumi",-13.237415313720703],["▁vorbereitet",-13.237415313720703],["▁aperture",-13.237422943115234],["▁Universities",-13.237442016601562],["▁reckless",-13.237471580505371],["▁Botschaft",-13.237533569335938],["▁Squad",-13.238022804260254],["▁buoy",-13.238061904907227],["participarea",-13.238236427307129],["stiinta",-13.238389015197754],["▁repeal",-13.238415718078613],["drilled",-13.238489151000977],["▁Conversation",-13.238567352294922],["▁subsid",-13.238615036010742],["anstalt",-13.238741874694824],["faktor",-13.23874282836914],["▁swamp",-13.238790512084961],["pflichtig",-13.238921165466309],["▁camion",-13.238970756530762],["▁gouvern",-13.239032745361328],["▁archaeological",-13.239141464233398],["▁glitch",-13.239198684692383],["average",-13.239294052124023],["▁coffre",-13.239481925964355],["▁Insert",-13.239513397216797],["▁colonne",-13.2395601272583],["▁Assess",-13.23962116241455],["▁batches",-13.239716529846191],["▁ammunition",-13.239717483520508],["▁scissors",-13.239717483520508],["▁Locksmith",-13.239740371704102],["▁Bollywood",-13.239991188049316],["expédi",-13.240288734436035],["▁descendants",-13.24039363861084],["▁unwilling",-13.240506172180176],["▁Noise",-13.240649223327637],["▁Directive",-13.240660667419434],["ATOR",-13.240765571594238],["▁Rajasthan",-13.240870475769043],["▁chaotic",-13.240888595581055],["▁NEED",-13.24093246459961],["▁părere",-13.24095344543457],["▁begonnen",-13.241448402404785],["▁Reef",-13.241504669189453],["▁vorgesehen",-13.24161434173584],["▁allocate",-13.241826057434082],["▁exceptionnel",-13.241936683654785],["▁gefertigt",-13.24203872680664],["fading",-13.242072105407715],["▁interpersonal",-13.242178916931152],["▁occupie",-13.242204666137695],["▁Teatr",-13.242579460144043],["▁kilomètres",-13.242603302001953],["▁verbinden",-13.242608070373535],["▁Frucht",-13.242643356323242],["augmented",-13.242720603942871],["▁twentieth",-13.243181228637695],["▁aggression",-13.243183135986328],["▁Miracle",-13.243184089660645],["▁peninsula",-13.243184089660645],["▁Fernando",-13.243185043334961],["▁autorităţil",-13.243203163146973],["▁Iisus",-13.243217468261719],["▁puck",-13.243423461914062],["titel",-13.243454933166504],["▁remake",-13.243562698364258],["freiheit",-13.243563652038574],["▁Belize",-13.243590354919434],["▁secundar",-13.243779182434082],["▁perpetrat",-13.243786811828613],["jedenfalls",-13.243797302246094],["linked",-13.243820190429688],["▁dégag",-13.243918418884277],["LAY",-13.243926048278809],["behandlung",-13.244172096252441],["▁1928",-13.244193077087402],["▁Nickel",-13.244205474853516],["rophy",-13.244256973266602],["▁autonomy",-13.244338989257812],["▁Treffen",-13.244402885437012],["▁groundbreaking",-13.24445915222168],["politisch",-13.244484901428223],["▁Vector",-13.244553565979004],["oricine",-13.244684219360352],["utilisées",-13.244684219360352],["plete",-13.244771003723145],["droht",-13.244918823242188],["▁alternativ",-13.245104789733887],["▁Bernie",-13.245213508605957],["▁embellish",-13.245260238647461],["▁Curriculum",-13.24549674987793],["herrscht",-13.245525360107422],["escalier",-13.246126174926758],["hian",-13.246333122253418],["ertaining",-13.246387481689453],["hitter",-13.246430397033691],["▁kompetente",-13.24665641784668],["▁trekking",-13.246760368347168],["EACH",-13.246841430664062],["▁Bedien",-13.2470703125],["starred",-13.247169494628906],["▁săptămâna",-13.247236251831055],["▁Gratuit",-13.247239112854004],["▁Jahrzehnte",-13.247241020202637],["ingénieur",-13.24731731414795],["▁Huang",-13.24736213684082],["Music",-13.247401237487793],["misiei",-13.247544288635254],["▁masuri",-13.247733116149902],["▁Achievement",-13.247817039489746],["▁Dorothy",-13.247817039489746],["blätter",-13.247817993164062],["éloign",-13.247817993164062],["▁Anglia",-13.247990608215332],["brach",-13.248013496398926],["▁Optimization",-13.248085021972656],["6.7",-13.248170852661133],["winkel",-13.248210906982422],["contenan",-13.248347282409668],["Astăzi",-13.248398780822754],["wiped",-13.248441696166992],["granting",-13.248665809631348],["▁plăti",-13.248859405517578],["▁Compensation",-13.248979568481445],["▁Verkäufer",-13.248979568481445],["▁angajați",-13.248980522155762],["▁diminished",-13.24902057647705],["employment",-13.249250411987305],["yahoo",-13.249435424804688],["▁détrui",-13.249698638916016],["▁suffisant",-13.24982738494873],["▁Moldovei",-13.250144004821777],["▁Pokemon",-13.250144004821777],["▁Malcolm",-13.250144958496094],["▁mysteries",-13.250147819519043],["▁Diversity",-13.250149726867676],["▁clinique",-13.250327110290527],["landais",-13.250344276428223],["▁campanii",-13.250399589538574],["▁témoignage",-13.250439643859863],["▁paralel",-13.250467300415039],["▁travailleurs",-13.250576972961426],["▁salvage",-13.250580787658691],["▁crayon",-13.250732421875],["immédiat",-13.25085163116455],["hopped",-13.250958442687988],["▁senzor",-13.25102710723877],["▁imbunatati",-13.251073837280273],["▁capitalize",-13.2511568069458],["▁Elephant",-13.25130844116211],["▁insomnia",-13.25131607055664],["▁Ansicht",-13.251325607299805],["▁lupte",-13.251556396484375],["▁genomic",-13.251557350158691],["▁Grape",-13.251769065856934],["MONT",-13.25197982788086],["métiers",-13.252004623413086],["▁Pierce",-13.252123832702637],["consulted",-13.252388954162598],["▁Responsible",-13.252474784851074],["symmetry",-13.252476692199707],["▁sulfur",-13.252487182617188],["▁înapoi",-13.252510070800781],["▁Junction",-13.252549171447754],["▁trilogy",-13.252622604370117],["▁unkompliziert",-13.253059387207031],["▁zugänglich",-13.253059387207031],["▁préfèr",-13.253153800964355],["oarelor",-13.253361701965332],["langage",-13.253460884094238],["admired",-13.253589630126953],["platform",-13.253595352172852],["▁pluralit",-13.253616333007812],["▁betrachtet",-13.253643035888672],["▁reproduc",-13.253790855407715],["exemple",-13.25385570526123],["▁conspir",-13.254347801208496],["▁pelvi",-13.25437068939209],["leased",-13.254551887512207],["▁souffle",-13.254570960998535],["▁approprié",-13.254705429077148],["absorbing",-13.254817962646484],["dividing",-13.254855155944824],["herently",-13.255147933959961],["▁blister",-13.255179405212402],["löst",-13.255182266235352],["Apotheke",-13.255398750305176],["▁Asociaţi",-13.255424499511719],["education",-13.255904197692871],["▁retract",-13.255982398986816],["▁appraise",-13.255990982055664],["▁Debbie",-13.256075859069824],["▁arhitect",-13.256193161010742],["▁Mohamed",-13.256568908691406],["▁îndrept",-13.256568908691406],["▁exhaustive",-13.256753921508789],["▁Notebook",-13.257004737854004],["crashing",-13.257068634033203],["▁Betreiber",-13.257155418395996],["▁présidentielle",-13.257159233093262],["▁Träger",-13.257172584533691],["▁noteworthy",-13.257259368896484],["▁séparé",-13.257729530334473],["▁doppelt",-13.257795333862305],["tină",-13.258066177368164],["Quelques",-13.258085250854492],["culoarea",-13.258100509643555],["▁ethic",-13.258166313171387],["▁cohesive",-13.258329391479492],["▁congratulations",-13.258334159851074],["▁sovereignty",-13.25833797454834],["▁Aplica",-13.258413314819336],["▁Covenant",-13.25851058959961],["▁multicultural",-13.258591651916504],["assemblée",-13.258955001831055],["▁petals",-13.258974075317383],["erode",-13.259026527404785],["▁porumb",-13.259035110473633],["▁Barrier",-13.259050369262695],["▁WWE",-13.259085655212402],["Etwa",-13.259175300598145],["▁recunosc",-13.259271621704102],["▁turtle",-13.259415626525879],["▁vârf",-13.259444236755371],["▁Ranking",-13.259448051452637],["▁sympathetic",-13.259514808654785],["exploded",-13.2595796585083],["▁influenț",-13.259591102600098],["▁Fireplace",-13.25972843170166],["▁Nachwuchs",-13.260090827941895],["▁empfohlen",-13.260090827941895],["Voir",-13.260661125183105],["▁Vimeo",-13.26069164276123],["▁weaving",-13.260967254638672],["beneficiar",-13.261198043823242],["▁balade",-13.261216163635254],["▁Mercy",-13.261566162109375],["3.000",-13.26181697845459],["Immediately",-13.261857032775879],["▁frosting",-13.261868476867676],["▁Fiscal",-13.261882781982422],["downloadable",-13.26188850402832],["▁Hwy",-13.261902809143066],["évoluer",-13.261951446533203],["▁vieille",-13.2620210647583],["heißen",-13.262436866760254],["▁étrangère",-13.262446403503418],["▁incapable",-13.262490272521973],["volunteered",-13.262520790100098],["fortunately",-13.262564659118652],["company",-13.262738227844238],["denkt",-13.2627592086792],["▁citesc",-13.262818336486816],["▁intrebare",-13.262896537780762],["pleasantly",-13.262990951538086],["▁Minecraft",-13.263079643249512],["▁Schmuck",-13.26308536529541],["▁maghiar",-13.263099670410156],["conductive",-13.263339042663574],["décrit",-13.263534545898438],["provide",-13.26353931427002],["▁depăş",-13.263628959655762],["ituated",-13.263657569885254],["▁trumpet",-13.264216423034668],["▁nastere",-13.2642240524292],["▁Région",-13.264245986938477],["Occupational",-13.264411926269531],["▁Grecia",-13.264415740966797],["▁Conclusion",-13.26449203491211],["▁collaborateurs",-13.264927864074707],["▁Alibaba",-13.265398025512695],["▁amplasat",-13.265398979187012],["▁Plastik",-13.265992164611816],["▁stash",-13.266023635864258],["▁Bonnie",-13.266045570373535],["▁ehrlich",-13.266156196594238],["▁contention",-13.266193389892578],["▁Oslo",-13.266263008117676],["englische",-13.266319274902344],["measurable",-13.266439437866211],["loppy",-13.266470909118652],["▁Refrigerat",-13.266579627990723],["▁remboursement",-13.266580581665039],["▁societăţi",-13.266580581665039],["translates",-13.266607284545898],["ichtigkeit",-13.266685485839844],["agentur",-13.266741752624512],["▁compute",-13.266800880432129],["berater",-13.266921043395996],["▁Georgetown",-13.266945838928223],["wolves",-13.266951560974121],["ceased",-13.266959190368652],["▁Binary",-13.267030715942383],["▁kontrolliert",-13.267172813415527],["informer",-13.267416000366211],["lehrer",-13.267578125],["lieferung",-13.267709732055664],["▁definit",-13.267742156982422],["chèque",-13.267765045166016],["▁clergy",-13.267765045166016],["▁ministries",-13.267767906188965],["▁plague",-13.267779350280762],["▁Jedi",-13.267805099487305],["▁Blackjack",-13.268025398254395],["▁subsection",-13.26807689666748],["▁Sachsen",-13.268121719360352],["valorile",-13.268146514892578],["molded",-13.26816463470459],["▁betroffen",-13.268183708190918],["▁adecvat",-13.268229484558105],["▁collègue",-13.26835823059082],["▁chinez",-13.268392562866211],["emelle",-13.268695831298828],["▁körperliche",-13.268902778625488],["▁titan",-13.26891040802002],["▁sophistication",-13.268951416015625],["▁provoke",-13.268957138061523],["▁pensii",-13.269042015075684],["▁Tucker",-13.269377708435059],["▁motoare",-13.26943302154541],["supported",-13.269536972045898],["▁Sicil",-13.269697189331055],["▁Ausgangs",-13.26987361907959],["▁verletzt",-13.269908905029297],["Ligue",-13.269996643066406],["▁organizatori",-13.270026206970215],["▁apprentice",-13.270099639892578],["▁Potato",-13.270183563232422],["▁Duft",-13.27039623260498],["▁medicament",-13.270566940307617],["Hôtel",-13.270740509033203],["▁Triangle",-13.270842552185059],["buted",-13.271100044250488],["▁Bentley",-13.271336555480957],["următoarele",-13.271389961242676],["animate",-13.271404266357422],["megapixel",-13.271404266357422],["einfachen",-13.271514892578125],["▁performanț",-13.271544456481934],["lurry",-13.27184009552002],["suffisamment",-13.27192211151123],["▁Weihnachten",-13.27192211151123],["▁Detective",-13.27194595336914],["▁lovit",-13.272049903869629],["▁blouse",-13.27213191986084],["▁hartie",-13.272163391113281],["vro",-13.27225112915039],["▁disastrous",-13.272517204284668],["vermutlich",-13.2725191116333],["▁Stafford",-13.272527694702148],["ehlt",-13.272628784179688],["▁vielseitig",-13.272643089294434],["Manifest",-13.273274421691895],["homage",-13.27354907989502],["menée",-13.273566246032715],["▁erläuter",-13.27370834350586],["▁volontaire",-13.273709297180176],["wrought",-13.27371597290039],["▁Naples",-13.273719787597656],["recommending",-13.273759841918945],["▁thermique",-13.273774147033691],["▁subtitle",-13.273787498474121],["▁Slam",-13.273809432983398],["▁necesitate",-13.273809432983398],["trimmed",-13.274099349975586],["urmatoarele",-13.274178504943848],["▁Sorin",-13.274245262145996],["▁compromis",-13.274300575256348],["overcoming",-13.274477005004883],["▁Samantha",-13.274901390075684],["dazzling",-13.27490234375],["▁Pearson",-13.274903297424316],["▁glazing",-13.274911880493164],["Revelation",-13.274921417236328],["destinée",-13.275156021118164],["öffnet",-13.27515983581543],["CERT",-13.275327682495117],["▁Sneak",-13.275503158569336],["proiectele",-13.275605201721191],["▁longitudinal",-13.27609634399414],["▁cocaine",-13.276098251342773],["▁universitar",-13.276108741760254],["▁refreshments",-13.276166915893555],["▁instanţ",-13.276243209838867],["▁kostenfrei",-13.276397705078125],["▁comédie",-13.276451110839844],["▁Locat",-13.276725769042969],["▁Albania",-13.276732444763184],["▁mécanique",-13.276776313781738],["messung",-13.27683162689209],["issus",-13.277260780334473],["pinned",-13.277328491210938],["▁sanft",-13.277335166931152],["▁geprüft",-13.277435302734375],["▁procè",-13.277442932128906],["▁Üb",-13.277765274047852],["5-0",-13.277802467346191],["▁Catering",-13.277957916259766],["▁prosperous",-13.27801513671875],["▁replication",-13.278098106384277],["▁obese",-13.278441429138184],["clerosis",-13.278489112854004],["▁Carnegie",-13.278489112854004],["▁Incredible",-13.278489112854004],["▁Teppich",-13.278489112854004],["▁crunchy",-13.278489112854004],["▁vomiting",-13.278529167175293],["▁sourire",-13.278619766235352],["publish",-13.278948783874512],["▁exterioar",-13.279094696044922],["▁forehead",-13.279107093811035],["▁climatique",-13.279313087463379],["▁conservator",-13.279458999633789],["▁Russland",-13.279687881469727],["▁kombiniert",-13.279687881469727],["▁Thrones",-13.279688835144043],["▁Griffith",-13.27968978881836],["▁fragrant",-13.279695510864258],["▁RSVP",-13.279698371887207],["klima",-13.279751777648926],["▁situație",-13.279808044433594],["deschiderea",-13.280009269714355],["▁moale",-13.280033111572266],["▁Trevor",-13.280112266540527],["ménager",-13.28011417388916],["deploying",-13.280428886413574],["▁Loft",-13.280500411987305],["▁Willkommen",-13.28059196472168],["▁Bezirks",-13.280887603759766],["▁Himself",-13.280975341796875],["▁quarant",-13.28101634979248],["▁1901",-13.281079292297363],["▁tripod",-13.28136920928955],["▁récolt",-13.281553268432617],["natură",-13.281631469726562],["School",-13.281649589538574],["contested",-13.281773567199707],["bwohl",-13.281784057617188],["Darren",-13.281830787658691],["medicine",-13.281903266906738],["▁Impuls",-13.282041549682617],["prevailing",-13.282057762145996],["▁orthodontic",-13.282089233398438],["▁sequential",-13.282089233398438],["▁Kolkata",-13.28209114074707],["▁séch",-13.282100677490234],["▁diaper",-13.28212833404541],["▁simplifie",-13.282144546508789],["▁reflux",-13.282163619995117],["▁Hypo",-13.282242774963379],["imprimer",-13.282251358032227],["▁Folosi",-13.282401084899902],["Info",-13.282570838928223],["▁Investiga",-13.282801628112793],["stabilirea",-13.282845497131348],["élis",-13.283149719238281],["ccessed",-13.28320026397705],["▁recyclable",-13.283293724060059],["▁forbidden",-13.283295631408691],["▁Colonel",-13.283297538757324],["▁nisip",-13.28330135345459],["▁Fundamental",-13.283303260803223],["▁nouveauté",-13.283308029174805],["khi",-13.283357620239258],["▁ecology",-13.28339672088623],["▁filament",-13.283540725708008],["▁relentless",-13.283559799194336],["▁Behavior",-13.283669471740723],["titulaire",-13.283900260925293],["▁administrativ",-13.28404426574707],["▁Vorlage",-13.284209251403809],["zeigte",-13.28427791595459],["▁Bäume",-13.284497261047363],["▁Kartoffel",-13.284497261047363],["▁Possible",-13.284500122070312],["▁perturb",-13.28466510772705],["▁Grigor",-13.284717559814453],["▁streng",-13.284759521484375],["▁vânzare",-13.285101890563965],["concentrating",-13.285698890686035],["▁rechtzeitig",-13.2857027053833],["▁eternity",-13.28570556640625],["▁Puzzle",-13.28575611114502],["▁malade",-13.285775184631348],["▁Metallic",-13.285776138305664],["▁Unterhaltung",-13.285783767700195],["▁4:00",-13.285820960998535],["▁magique",-13.285908699035645],["▁cellphone",-13.285975456237793],["▁inhibition",-13.286023139953613],["▁remplacement",-13.286025047302246],["▁WWII",-13.286089897155762],["Eff",-13.286258697509766],["kontakt",-13.286832809448242],["Update",-13.286869049072266],["▁Emerald",-13.286910057067871],["▁hammock",-13.286910057067871],["POWER",-13.286917686462402],["automne",-13.286917686462402],["▁(2004)",-13.286961555480957],["▁participanți",-13.287012100219727],["1998)",-13.287014961242676],["▁deletion",-13.287186622619629],["▁Proiect",-13.287226676940918],["IDENT",-13.287504196166992],["▁precis",-13.287623405456543],["▁limp",-13.287676811218262],["▁Pompe",-13.287686347961426],["▁ménage",-13.28780746459961],["▁Wahrheit",-13.288119316101074],["▁Intelligent",-13.28812026977539],["▁instability",-13.2881441116333],["insurance",-13.288346290588379],["▁Nursery",-13.288352966308594],["▁synonym",-13.288427352905273],["▁ignite",-13.28848934173584],["▁Vernon",-13.28849983215332],["purchase",-13.288524627685547],["▁disponibilité",-13.288662910461426],["▁producţi",-13.28909969329834],["▁Pentagon",-13.289329528808594],["▁illumination",-13.289329528808594],["▁obsolete",-13.289329528808594],["▁unacceptable",-13.28933048248291],["Gleichzeitig",-13.289938926696777],["rutsch",-13.290071487426758],["viziuni",-13.290409088134766],["▁Nicaragua",-13.29054069519043],["▁hesitation",-13.290541648864746],["▁nascut",-13.290545463562012],["▁Warehouse",-13.29055404663086],["geboten",-13.290558815002441],["▁Lagos",-13.290844917297363],["produced",-13.290874481201172],["cativa",-13.291309356689453],["▁Tracy",-13.291326522827148],["Projekt",-13.291468620300293],["▁malaria",-13.291692733764648],["▁Baldwin",-13.291755676269531],["Take",-13.291791915893555],["▁fluctuations",-13.291844367980957],["▁titular",-13.29194450378418],["bmw",-13.291976928710938],["▁brevet",-13.29202651977539],["étapes",-13.292173385620117],["wikipedia",-13.292373657226562],["▁corporal",-13.292424201965332],["▁Schönheit",-13.2926664352417],["utilizatorii",-13.292695999145508],["INFO",-13.292807579040527],["▁formularul",-13.292900085449219],["femi",-13.292959213256836],["Konferenz",-13.29296875],["▁carnival",-13.29296875],["▁Kräuter",-13.292969703674316],["▁gelernt",-13.292981147766113],["▁Sherman",-13.293017387390137],["▁persistence",-13.293289184570312],["▁Behörden",-13.293577194213867],["▁Frühjahr",-13.293578147888184],["▁Guvern",-13.293649673461914],["interpreting",-13.293878555297852],["▁nommé",-13.294021606445312],["consult",-13.294035911560059],["▁obligaţi",-13.294184684753418],["▁Newspaper",-13.2942476272583],["(2005)",-13.294515609741211],["pumped",-13.294614791870117],["▁autoritati",-13.294634819030762],["▁aplicatii",-13.294644355773926],["▁verhindert",-13.294794082641602],["▁évident",-13.294794082641602],["▁getrennt",-13.294795036315918],["▁Encourage",-13.295403480529785],["▁lurk",-13.295432090759277],["▁condemned",-13.295455932617188],["▁4:30",-13.295502662658691],["labelled",-13.29576587677002],["ordinea",-13.295899391174316],["▁pantofi",-13.296012878417969],["Default",-13.296042442321777],["▁beruh",-13.296120643615723],["/01/",-13.296268463134766],["league",-13.296503067016602],["▁couvert",-13.296524047851562],["▁competencies",-13.296622276306152],["▁mozzarella",-13.296622276306152],["jihad",-13.29662799835205],["▁gossip",-13.29662799835205],["▁Omaha",-13.296628952026367],["▁coincidence",-13.296669960021973],["▁Pinot",-13.296710968017578],["dotted",-13.296789169311523],["schilder",-13.297197341918945],["▁Munte",-13.297224998474121],["▁Vermieter",-13.297232627868652],["▁britannique",-13.297232627868652],["▁comentariu",-13.297235488891602],["abonnement",-13.29725456237793],["▁inventive",-13.29727840423584],["complie",-13.297279357910156],["composée",-13.29734992980957],["▁glatt",-13.297684669494629],["adorned",-13.297842979431152],["▁Opportunities",-13.297842979431152],["▁equilibrium",-13.297842979431152],["▁persuasive",-13.297842979431152],["▁achiziţi",-13.297843933105469],["▁déterminer",-13.297843933105469],["▁fleece",-13.297857284545898],["▁ivory",-13.29786205291748],["▁Genuss",-13.297900199890137],["Thousands",-13.297930717468262],["▁izolat",-13.297965049743652],["▁symbolize",-13.298033714294434],["gâteau",-13.298051834106445],["▁relații",-13.298062324523926],["▁Classroom",-13.298144340515137],["settlers",-13.298155784606934],["▁vremuri",-13.298195838928223],["▁Serial",-13.29838752746582],["▁boite",-13.298399925231934],["équivalent",-13.298453330993652],["▁benutzen",-13.298454284667969],["▁Recomand",-13.298462867736816],["▁Sinai",-13.298968315124512],["▁Advertise",-13.29906940460205],["▁Thermal",-13.299206733703613],["fiance",-13.299471855163574],["▁universitaire",-13.299683570861816],["▁rivière",-13.299793243408203],["▁reimburse",-13.299907684326172],["ţara",-13.299932479858398],["tician",-13.30002498626709],["intelligence",-13.300041198730469],["▁abgestimmt",-13.300288200378418],["▁compliqué",-13.300288200378418],["▁succulent",-13.300297737121582],["opéra",-13.300395011901855],["7-9",-13.300456047058105],["▁pierderi",-13.300654411315918],["extinction",-13.30090045928955],["▁Zweifel",-13.30103874206543],["ATCH",-13.30112361907959],["10,000",-13.301222801208496],["▁uninterrupted",-13.301513671875],["▁Eigentum",-13.301517486572266],["▁Utility",-13.301517486572266],["ско",-13.301529884338379],["▁tornado",-13.301544189453125],["▁Güte",-13.301727294921875],["▁pertain",-13.301923751831055],["painters",-13.301993370056152],["Help",-13.3021240234375],["▁străinătate",-13.30212688446045],["▁stammen",-13.302170753479004],["opposition",-13.302229881286621],["▁rhino",-13.302233695983887],["intervenir",-13.302427291870117],["▁hyperlink",-13.302441596984863],["höchst",-13.302518844604492],["roach",-13.302627563476562],["wSt",-13.302687644958496],["▁monastery",-13.302740097045898],["▁algae",-13.302754402160645],["▁shaving",-13.302757263183594],["présentent",-13.302804946899414],["Africa",-13.302860260009766],["eigener",-13.303047180175781],["▁glace",-13.303153991699219],["▁discurs",-13.303179740905762],["▁autograph",-13.303204536437988],["▁Conflict",-13.303359031677246],["▁școli",-13.303411483764648],["▁excerpt",-13.303617477416992],["correlated",-13.303628921508789],["empel",-13.303841590881348],["cryptocurrencies",-13.30396842956543],["▁symposium",-13.30396842956543],["▁gewohnt",-13.303994178771973],["PTSD",-13.304070472717285],["▁harmonic",-13.304166793823242],["discarded",-13.304282188415527],["▁Flint",-13.304359436035156],["Russia",-13.304422378540039],["▁ședinț",-13.304583549499512],["▁accusations",-13.304727554321289],["▁încălc",-13.304827690124512],["sendung",-13.305152893066406],["▁Chiropractic",-13.305197715759277],["▁excepți",-13.305201530456543],["▁proclaim",-13.305201530456543],["▁Flexible",-13.305295944213867],["▁Hüt",-13.30538272857666],["▁Baltic",-13.30539608001709],["▁inaltime",-13.30553913116455],["▁montré",-13.305868148803711],["exécution",-13.305898666381836],["partei",-13.305961608886719],["▁specifie",-13.306072235107422],["▁Jackpot",-13.306105613708496],["▁stumble",-13.306134223937988],["▁individuel",-13.306161880493164],["▁Veteran",-13.306217193603516],["▁Supplies",-13.306428909301758],["▁excavation",-13.306428909301758],["▁Libraries",-13.306469917297363],["▁prénom",-13.306476593017578],["WOOD",-13.30650806427002],["meciul",-13.306917190551758],["Chef",-13.306938171386719],["▁SUPER",-13.306940078735352],["Appeals",-13.30696964263916],["terapia",-13.307113647460938],["▁relatii",-13.30713939666748],["modifying",-13.30748462677002],["▁Regulament",-13.307662010192871],["▁bănci",-13.307662963867188],["▁agility",-13.307666778564453],["▁Magnetic",-13.307674407958984],["▁piatra",-13.30767822265625],["▁Governance",-13.307680130004883],["▁clown",-13.30772876739502],["▁Choir",-13.308337211608887],["aujourd",-13.308548927307129],["▁vendeur",-13.308732032775879],["ndererseits",-13.308859825134277],["▁Bahrain",-13.3088960647583],["▁Timisoara",-13.3088960647583],["▁exklusive",-13.3088960647583],["▁Population",-13.309001922607422],["▁nepo",-13.309073448181152],["▁relish",-13.309085845947266],["▁Pumpkin",-13.309571266174316],["▁détente",-13.309784889221191],["▁episcop",-13.309860229492188],["patterned",-13.309929847717285],["▁THANK",-13.310132026672363],["▁Widerspruch",-13.310132026672363],["▁Crisis",-13.310189247131348],["▁goose",-13.310226440429688],["▁couture",-13.310307502746582],["▁hinweg",-13.310446739196777],["supplemental",-13.310486793518066],["shingles",-13.31060791015625],["investir",-13.310635566711426],["▁steriliz",-13.310759544372559],["tractors",-13.310761451721191],["cellules",-13.31078815460205],["▁Gloria",-13.310888290405273],["▁teilnehmen",-13.311092376708984],["companiile",-13.311248779296875],["surfacing",-13.311279296875],["▁nostalgic",-13.311368942260742],["▁Badezimmer",-13.311369895935059],["▁conjoint",-13.311370849609375],["vacancy",-13.31145191192627],["▁homeland",-13.311582565307617],["▁Abschnitt",-13.311625480651855],["Cartea",-13.311653137207031],["SIA",-13.311782836914062],["▁explode",-13.311786651611328],["fostering",-13.311959266662598],["▁ceilalti",-13.31198787689209],["▁gentil",-13.31214714050293],["oplasty",-13.31218433380127],["bodied",-13.312424659729004],["▁1906",-13.312499046325684],["▁BlackBerry",-13.312607765197754],["▁Presbyterian",-13.312607765197754],["▁berücksichtigt",-13.312607765197754],["▁compartiment",-13.312607765197754],["▁compulsory",-13.312607765197754],["Millennial",-13.312609672546387],["▁sanitar",-13.312638282775879],["▁stink",-13.312975883483887],["lius",-13.313047409057617],["thankfully",-13.313136100769043],["modalité",-13.313173294067383],["▁cunoaște",-13.313226699829102],["Infrastruktur",-13.313227653503418],["▁studenți",-13.313253402709961],["Bref",-13.313270568847656],["London",-13.31360149383545],["▁Arduino",-13.313847541809082],["▁cilantro",-13.313847541809082],["▁Rafael",-13.313848495483398],["▁untersucht",-13.313861846923828],["▁martyr",-13.31389331817627],["▁Mormon",-13.313984870910645],["▁wicket",-13.313996315002441],["cherished",-13.314335823059082],["liquid",-13.314417839050293],["▁dorinț",-13.314571380615234],["lehnt",-13.314717292785645],["meisterschaft",-13.31493091583252],["fondateur",-13.314971923828125],["câble",-13.315078735351562],["▁erreichbar",-13.315091133117676],["▁footsteps",-13.315094947814941],["▁Kloster",-13.31519889831543],["▁multiplayer",-13.315218925476074],["▁substitu",-13.315276145935059],["▁Frisch",-13.315526962280273],["▁arsenal",-13.315712928771973],["explication",-13.315866470336914],["▁conexiun",-13.315986633300781],["muddy",-13.316045761108398],["▁Reifen",-13.316120147705078],["auraient",-13.316132545471191],["▁biologic",-13.316136360168457],["▁acquainted",-13.316332817077637],["▁shelving",-13.316341400146484],["Stunning",-13.316373825073242],["▁Clothing",-13.316394805908203],["▁kidding",-13.316431999206543],["excellent",-13.316452026367188],["▁susțin",-13.316487312316895],["bătut",-13.316502571105957],["elusive",-13.3165283203125],["werbung",-13.316743850708008],["slipping",-13.316813468933105],["▁configura",-13.316926956176758],["▁proaspat",-13.31695556640625],["▁apporté",-13.317120552062988],["▁démarr",-13.317328453063965],["Spezialist",-13.317578315734863],["▁obligați",-13.317578315734863],["▁societăți",-13.317578315734863],["▁malpractice",-13.31757926940918],["Hundreds",-13.317609786987305],["▁3:1",-13.318138122558594],["▁computation",-13.31817626953125],["▁Heilig",-13.318528175354004],["▁Helsinki",-13.318824768066406],["▁firefighters",-13.318824768066406],["▁obedience",-13.318824768066406],["▁evacuate",-13.318825721740723],["▁Floyd",-13.318840026855469],["▁Disneyland",-13.318859100341797],["Cathy",-13.319069862365723],["▁Broken",-13.319278717041016],["cript",-13.319952011108398],["▁Gewähr",-13.320073127746582],["▁embarrassed",-13.320073127746582],["▁Leicht",-13.32007884979248],["▁témoign",-13.320379257202148],["▁viteze",-13.3206148147583],["▁hallmark",-13.320731163024902],["uploads",-13.32082462310791],["▁Submission",-13.320929527282715],["▁croissant",-13.321049690246582],["awning",-13.32105827331543],["detecting",-13.321198463439941],["▁Bahamas",-13.321322441101074],["▁Kathleen",-13.321325302124023],["▁latch",-13.321377754211426],["▁pronounce",-13.321380615234375],["▁choke",-13.321428298950195],["▁$50,000",-13.3215970993042],["▁historische",-13.321642875671387],["jugé",-13.321829795837402],["▁MasterCard",-13.321949005126953],["▁Horror",-13.321955680847168],["spoiled",-13.321958541870117],["▁apariți",-13.32202434539795],["geschaltet",-13.3225736618042],["▁Londra",-13.322578430175781],["viction",-13.322580337524414],["▁Disaster",-13.322593688964844],["▁desigur",-13.322601318359375],["▁substanț",-13.322601318359375],["▁compiler",-13.322613716125488],["▁vanzari",-13.32262897491455],["▁Simulation",-13.322669982910156],["Occasionally",-13.322842597961426],["Seite",-13.322884559631348],["Linked",-13.322938919067383],["Roll",-13.323015213012695],["▁trajet",-13.323244094848633],["Molecular",-13.323834419250488],["▁pragmatic",-13.323843002319336],["judecată",-13.323915481567383],["ров",-13.32400894165039],["serrurerie",-13.324024200439453],["▁reconstruct",-13.324129104614258],["▁heureuse",-13.324179649353027],["▁knight",-13.32422924041748],["knowingly",-13.324431419372559],["▁perspectiva",-13.324453353881836],["ordinary",-13.324604034423828],["▁chaudière",-13.324721336364746],["Neill",-13.324727058410645],["cellulose",-13.325080871582031],["▁Delicious",-13.325080871582031],["▁incearca",-13.325080871582031],["▁retrospective",-13.325080871582031],["▁mundane",-13.325081825256348],["▁definiert",-13.32508659362793],["▁cockpit",-13.325088500976562],["Aktionen",-13.325363159179688],["▁distanț",-13.325654029846191],["▁diplôme",-13.325708389282227],["prepaid",-13.325737953186035],["▁Tabellen",-13.325758934020996],["▁economie",-13.325770378112793],["December",-13.325826644897461],["Punkten",-13.32613754272461],["▁Punch",-13.32614517211914],["Martin",-13.326154708862305],["▁Espresso",-13.326314926147461],["▁ubiquitous",-13.326335906982422],["▁Mongolia",-13.326337814331055],["▁collabor",-13.326635360717773],["▁Vordergrund",-13.32696533203125],["cameră",-13.327091217041016],["represented",-13.327268600463867],["▁AUTO",-13.327446937561035],["▁Ofert",-13.327542304992676],["neig",-13.327593803405762],["▁Hazard",-13.327595710754395],["▁Constanta",-13.327596664428711],["▁tumour",-13.32759952545166],["▁Neighborhood",-13.327603340148926],["▁detaliat",-13.327619552612305],["▁extraordinaire",-13.327665328979492],["▁Therapeutic",-13.327686309814453],["predicting",-13.327693939208984],["▁institutii",-13.32776165008545],["ifizierung",-13.327797889709473],["wählt",-13.328207015991211],["▁remarquable",-13.32822322845459],["Invent",-13.328512191772461],["▁foloseșt",-13.328514099121094],["öfte",-13.328703880310059],["▁discreet",-13.328853607177734],["▁Flickr",-13.32885456085205],["▁trésor",-13.328856468200684],["▁steroids",-13.328872680664062],["▁personnalité",-13.328953742980957],["▁Krankenhaus",-13.32901668548584],["▁affordability",-13.329218864440918],["deuten",-13.329398155212402],["Detailed",-13.329412460327148],["Walk",-13.329444885253906],["▁parallèle",-13.329483032226562],["thèse",-13.329649925231934],["▁gefördert",-13.330117225646973],["Greeting",-13.33014965057373],["gelistet",-13.330172538757324],["▁chlorine",-13.330392837524414],["behält",-13.33039665222168],["emption",-13.330435752868652],["▁mobilité",-13.330601692199707],["▁randonnée",-13.330668449401855],["habitant",-13.330718040466309],["zilla",-13.331082344055176],["▁Lili",-13.331160545349121],["▁répét",-13.331341743469238],["trucât",-13.331376075744629],["▁Hospice",-13.331376075744629],["▁grassroots",-13.331377029418945],["▁affiché",-13.331393241882324],["pears",-13.331470489501953],["▁linistit",-13.331497192382812],["▁Patron",-13.331552505493164],["▁Stalin",-13.331626892089844],["▁închiri",-13.331751823425293],["▁Apostol",-13.332018852233887],["▁poudre",-13.332246780395508],["▁piscin",-13.332419395446777],["merlin",-13.33259391784668],["limited",-13.33260726928711],["▁métallique",-13.332639694213867],["gazebo",-13.33267879486084],["weilige",-13.332718849182129],["prosecutors",-13.33278751373291],["Expert",-13.33314323425293],["Assemblée",-13.333271980285645],["▁fauna",-13.333285331726074],["▁Turtle",-13.333353996276855],["▁Consortium",-13.333905220031738],["▁assemblies",-13.333905220031738],["▁trajectory",-13.333905220031738],["▁Vineyard",-13.333906173706055],["▁Mehrwert",-13.334037780761719],["▁sunflower",-13.334043502807617],["develop",-13.334060668945312],["▁heroic",-13.334100723266602],["▁riscuri",-13.334151268005371],["oeuf",-13.334300994873047],["influence",-13.334452629089355],["▁Voraussetzung",-13.334500312805176],["utoritatea",-13.334518432617188],["Produsul",-13.334654808044434],["▁gewährleistet",-13.335171699523926],["▁brûl",-13.335175514221191],["▁Column",-13.335184097290039],["▁trousers",-13.335209846496582],["▁posterior",-13.33521556854248],["glyph",-13.335251808166504],["▁Happen",-13.335280418395996],["▁créateur",-13.335667610168457],["▁apostle",-13.335898399353027],["▁padding",-13.335907936096191],["▁Digitalisierung",-13.335908889770508],["▁Laurie",-13.335915565490723],["▁Erwerb",-13.336065292358398],["▁bătrân",-13.336440086364746],["▁harmonious",-13.336441040039062],["▁ailments",-13.336456298828125],["▁Venue",-13.33650016784668],["▁Motorcycle",-13.336523056030273],["▁cortex",-13.336551666259766],["▁Sunrise",-13.336636543273926],["Software",-13.336775779724121],["▁advocat",-13.336934089660645],["essentiellement",-13.337422370910645],["•",-13.337494850158691],["părut",-13.337522506713867],["▁Suffolk",-13.337711334228516],["▁righteousness",-13.337711334228516],["▁Shirley",-13.337712287902832],["▁Famous",-13.337749481201172],["▁emulate",-13.337788581848145],["vermögen",-13.33788776397705],["generated",-13.337963104248047],["Ecole",-13.337977409362793],["▁managerial",-13.338086128234863],["believe",-13.338091850280762],["▁récupére",-13.338348388671875],["▁recens",-13.338531494140625],["▁Barrett",-13.338778495788574],["▁courageous",-13.338814735412598],["9.95",-13.338961601257324],["▁Odyssey",-13.338982582092285],["▁Violence",-13.338982582092285],["▁concasseur",-13.338982582092285],["▁evacuation",-13.338982582092285],["▁kontinuierlich",-13.338982582092285],["▁epidemi",-13.3389892578125],["▁disconnected",-13.339197158813477],["frucht",-13.339339256286621],["Trustees",-13.339348793029785],["▁Massiv",-13.339459419250488],["gebucht",-13.339473724365234],["stütze",-13.339526176452637],["▁febr",-13.339741706848145],["honoured",-13.339743614196777],["▁digitiz",-13.340079307556152],["Image",-13.34021282196045],["▁Brunswick",-13.34025764465332],["▁Therapist",-13.34026050567627],["accessoire",-13.340264320373535],["▁croqu",-13.340291023254395],["Pflanz",-13.34052848815918],["dragging",-13.340536117553711],["▁Facilit",-13.340750694274902],["soucis",-13.340765953063965],["Asadar",-13.34081745147705],["▁Thames",-13.341021537780762],["▁cariera",-13.341116905212402],["▁mercury",-13.341530799865723],["▁Blessed",-13.341533660888672],["▁Whitney",-13.341630935668945],["▁géant",-13.341926574707031],["▁coordonnée",-13.342217445373535],["oidal",-13.342623710632324],["Wohnungen",-13.342696189880371],["▁Spectrum",-13.34280776977539],["▁Avengers",-13.342808723449707],["▁Gloucester",-13.342808723449707],["▁nützlich",-13.342811584472656],["▁toothbrush",-13.342830657958984],["▁Vanessa",-13.342843055725098],["Saxon",-13.342947959899902],["▁comunități",-13.343165397644043],["reprezentanţi",-13.343175888061523],["▁întâlnire",-13.343225479125977],["delve",-13.343234062194824],["▁technologique",-13.343452453613281],["Describe",-13.343466758728027],["▁constient",-13.343501091003418],["gestalt",-13.343600273132324],["▁Tribune",-13.344090461730957],["▁fiberglass",-13.34412956237793],["verbindung",-13.344210624694824],["sacrificing",-13.344351768493652],["▁Pablo",-13.344470024108887],["▁adanc",-13.34525203704834],["omia",-13.345309257507324],["hâte",-13.345317840576172],["▁Sanctuary",-13.345366477966309],["▁accolade",-13.345368385314941],["▁Wurzel",-13.345398902893066],["▁spacing",-13.345433235168457],["▁bedeutend",-13.345481872558594],["▁biased",-13.345499992370605],["randomized",-13.345747947692871],["▁agenți",-13.345856666564941],["▁excepţi",-13.346012115478516],["▁fișier",-13.346028327941895],["▁fisier",-13.34664535522461],["irrespective",-13.346648216247559],["▁Gardner",-13.34665584564209],["▁aprecia",-13.346884727478027],["▁Klu",-13.347082138061523],["▁apropie",-13.347535133361816],["▁echival",-13.347784042358398],["tauchen",-13.347862243652344],["▁hauptsächlich",-13.347930908203125],["▁pollutants",-13.347930908203125],["▁mammals",-13.347931861877441],["▁Landwirtschaft",-13.347936630249023],["▁stăpân",-13.34793758392334],["▁Prüf",-13.347990989685059],["▁Motorsport",-13.34807300567627],["Leaving",-13.348352432250977],["schädigung",-13.348573684692383],["▁calendrier",-13.348573684692383],["plikation",-13.348655700683594],["▁DOE",-13.348655700683594],["ред",-13.348966598510742],["Jahr",-13.34913444519043],["▁entitlement",-13.34921646118164],["schuldig",-13.349217414855957],["▁Münster",-13.349218368530273],["pository",-13.349451065063477],["▁numero",-13.350220680236816],["▁entsprechen",-13.350383758544922],["▁astronaut",-13.350502967834473],["▁hexagon",-13.350502967834473],["▁DAMAGE",-13.350503921508789],["▁Quartz",-13.350504875183105],["▁rédaction",-13.350504875183105],["▁replenish",-13.350508689880371],["▁amoureux",-13.350523948669434],["▁opțiun",-13.350616455078125],["Custom",-13.350622177124023],["▁Telekom",-13.350639343261719],["▁RFID",-13.351163864135742],["▁Scorpio",-13.351264953613281],["▁thirst",-13.35152816772461],["▁Kosovo",-13.351791381835938],["▁precursor",-13.351794242858887],["▁sarbatori",-13.351810455322266],["▁Daisy",-13.351828575134277],["▁Dropbox",-13.351898193359375],["Smith",-13.351949691772461],["contabil",-13.352191925048828],["▁monnaie",-13.352437973022461],["capsul",-13.352577209472656],["treff",-13.352760314941406],["beauftragte",-13.352761268615723],["industrial",-13.353006362915039],["responsables",-13.353010177612305],["▁FIRST",-13.353080749511719],["▁crezut",-13.35308837890625],["▁reseller",-13.353107452392578],["▁direcți",-13.353154182434082],["mouvoir",-13.353294372558594],["▁Invite",-13.353431701660156],["▁constructii",-13.353440284729004],["▁oublié",-13.353577613830566],["găseșt",-13.353687286376953],["▁végét",-13.353755950927734],["idine",-13.35385799407959],["▁Ajout",-13.353951454162598],["▁Shelf",-13.354195594787598],["HALL",-13.35422420501709],["▁nostalgia",-13.35437297821045],["▁ottoman",-13.35437297821045],["▁ambalaj",-13.354398727416992],["municipiul",-13.354405403137207],["NOVA",-13.354500770568848],["▁disregard",-13.354997634887695],["▁bijuterii",-13.355018615722656],["▁sorgfältig",-13.355018615722656],["vraient",-13.355307579040527],["▁backsplash",-13.355669975280762],["▁nuisance",-13.355679512023926],["▁Territory",-13.35568618774414],["▁surprins",-13.355693817138672],["enchanting",-13.35571002960205],["trospecti",-13.355847358703613],["▁dvd",-13.356199264526367],["Totally",-13.356329917907715],["▁Edelstahl",-13.35696029663086],["▁sequencing",-13.356961250305176],["▁Circus",-13.35696792602539],["▁ashamed",-13.35696792602539],["▁horrific",-13.357028007507324],["▁taiat",-13.357033729553223],["▁Angehörige",-13.357125282287598],["Michel",-13.357256889343262],["▁communion",-13.357298851013184],["▁psiho",-13.357378959655762],["losigkeit",-13.357405662536621],["dipping",-13.357512474060059],["▁profesională",-13.357608795166016],["Indiferent",-13.357609748840332],["▁crestin",-13.357723236083984],["wholesome",-13.357796669006348],["▁Welfare",-13.358257293701172],["▁plentiful",-13.358257293701172],["▁Triumph",-13.358258247375488],["▁fascination",-13.358260154724121],["▁vicious",-13.358291625976562],["▁Höchst",-13.358294486999512],["▁Dunkel",-13.358386039733887],["▁harass",-13.358406066894531],["ambogia",-13.358475685119629],["▁synonymous",-13.358598709106445],["bottom",-13.35879898071289],["▁bénévole",-13.358906745910645],["▁suprafaț",-13.358906745910645],["▁umplut",-13.358997344970703],["▁Teddy",-13.359162330627441],["breathable",-13.359292984008789],["▁Toshiba",-13.3595552444458],["▁seismic",-13.359569549560547],["▁dringend",-13.359583854675293],["▁cultură",-13.359585762023926],["▁Waffen",-13.359665870666504],["▁Bubble",-13.359702110290527],["▁Brigade",-13.359759330749512],["▁Blatt",-13.36012077331543],["▁scénario",-13.36020565032959],["allah",-13.360396385192871],["▁superintendent",-13.360855102539062],["pflanzen",-13.360856056213379],["▁kurzfristig",-13.360856056213379],["▁raspberry",-13.360876083374023],["▁Evident",-13.360904693603516],["▁inutile",-13.361076354980469],["prouvé",-13.361104011535645],["▁obtien",-13.36141300201416],["▁Matthias",-13.361506462097168],["▁déclench",-13.361506462097168],["Situationen",-13.361529350280762],["▁Disclaimer",-13.362156867980957],["▁loneliness",-13.362156867980957],["▁Gothic",-13.362164497375488],["▁humility",-13.362165451049805],["▁machiaj",-13.362175941467285],["▁Sophia",-13.362178802490234],["▁Forecast",-13.362265586853027],["IBLE",-13.362456321716309],["ivism",-13.362480163574219],["israel",-13.36278247833252],["▁kümmern",-13.362809181213379],["▁verbreitet",-13.362825393676758],["▁capacitor",-13.362832069396973],["deprived",-13.3634614944458],["unbiased",-13.3634614944458],["▁Dominique",-13.3634614944458],["▁Bamboo",-13.363462448120117],["▁Heinrich",-13.363465309143066],["individualized",-13.363550186157227],["▁ansprechen",-13.363776206970215],["ordinaire",-13.363801002502441],["▁Ucraina",-13.364112854003906],["▁militare",-13.364115715026855],["massif",-13.364352226257324],["▁emisiuni",-13.364501953125],["maladies",-13.364622116088867],["▁pneumonia",-13.364765167236328],["▁graffiti",-13.364767074584961],["▁Determine",-13.3648099899292],["▁Northwestern",-13.364893913269043],["▁grasimi",-13.364897727966309],["▁lebendig",-13.364920616149902],["▁cifre",-13.364946365356445],["▁accelerator",-13.36533260345459],["▁nib",-13.365374565124512],["▁Jocuri",-13.365400314331055],["▁außergewöhnlich",-13.365402221679688],["▁orchid",-13.36542797088623],["zugreifen",-13.365530967712402],["utilisent",-13.365662574768066],["▁nineteenth",-13.366071701049805],["improvisation",-13.366072654724121],["▁Disclosure",-13.366072654724121],["▁Überraschung",-13.366072654724121],["▁Casual",-13.366093635559082],["▁Witness",-13.366093635559082],["teacher",-13.366125106811523],["Printed",-13.366129875183105],["▁prețuri",-13.366189956665039],["rues",-13.366216659545898],["▁cerinte",-13.366338729858398],["rouvent",-13.36662483215332],["assembling",-13.36673355102539],["▁atenție",-13.366769790649414],["▁amintiri",-13.366782188415527],["▁sustinut",-13.366805076599121],["Digital",-13.367257118225098],["▁Deborah",-13.36738109588623],["gesichts",-13.367382049560547],["▁temperament",-13.367440223693848],["▁competency",-13.367447853088379],["▁dwarf",-13.367515563964844],["▁dureaz",-13.367539405822754],["habilit",-13.367764472961426],["leaned",-13.3679838180542],["▁illicit",-13.368348121643066],["Availability",-13.368691444396973],["▁Brașov",-13.368691444396973],["▁Pyramid",-13.368691444396973],["▁achievable",-13.368691444396973],["▁judiciaire",-13.368691444396973],["Übrigen",-13.368693351745605],["▁activism",-13.368795394897461],["▁boycott",-13.368839263916016],["Desigur",-13.368927001953125],["klingt",-13.369264602661133],["▁Leidenschaft",-13.369346618652344],["▁Richtig",-13.369701385498047],["▁Airbnb",-13.370002746582031],["▁învățământ",-13.370002746582031],["Kampagne",-13.370004653930664],["▁thumbnail",-13.370014190673828],["Bestimmungen",-13.370016098022461],["▁vollkommen",-13.37001895904541],["▁biomass",-13.370027542114258],["▁escalate",-13.370030403137207],["wächst",-13.370085716247559],["▁scăpa",-13.370098114013672],["▁résult",-13.37014389038086],["▁shrine",-13.370217323303223],["maximizing",-13.370370864868164],["avoue",-13.370492935180664],["dirigeants",-13.370665550231934],["▁cerveau",-13.370672225952148],["▁proast",-13.370955467224121],["▁contaminants",-13.371325492858887],["effectue",-13.37151050567627],["ediție",-13.371539115905762],["monetiz",-13.371772766113281],["▁deplasare",-13.371976852416992],["▁Sfant",-13.37209415435791],["ROOM",-13.372113227844238],["bushes",-13.372151374816895],["mairie",-13.37251091003418],["obligate",-13.372528076171875],["▁tug",-13.372573852539062],["▁Collector",-13.372632026672363],["▁annoyed",-13.372633934020996],["▁aerobic",-13.372654914855957],["▁integer",-13.372830390930176],["▁Upload",-13.373249053955078],["▁impartial",-13.37346076965332],["▁discuţi",-13.373623847961426],["gastrointestinal",-13.37394905090332],["▁chiropractor",-13.37394905090332],["▁treptat",-13.373950004577637],["▁fishermen",-13.37395191192627],["levitra",-13.3739595413208],["Gruppe",-13.373964309692383],["▁Apostle",-13.373970985412598],["▁conseillé",-13.374068260192871],["Isra",-13.37421703338623],["▁Persönlichkeit",-13.374431610107422],["▁cantitati",-13.374459266662598],["▁incredibil",-13.374614715576172],["▁Berater",-13.374800682067871],["▁propuneri",-13.374835014343262],["MEDIA",-13.375236511230469],["▁opaque",-13.37526798248291],["▁Nielsen",-13.375269889831543],["▁cartofi",-13.375277519226074],["▁Whale",-13.37533950805664],["erzeugen",-13.375890731811523],["▁knack",-13.375931739807129],["Kandidat",-13.375936508178711],["▁tradițional",-13.375937461853027],["zählige",-13.375983238220215],["▁Petroleum",-13.376588821411133],["▁deficiencies",-13.376588821411133],["▁persecution",-13.376588821411133],["▁zgomot",-13.376588821411133],["▁reiterate",-13.376592636108398],["▁Slice",-13.376670837402344],["▁envy",-13.376704216003418],["▁stomac",-13.376851081848145],["Donnell",-13.376914978027344],["▁primordial",-13.377249717712402],["reclining",-13.377274513244629],["PASS",-13.377861976623535],["▁Resistance",-13.377910614013672],["▁Widerruf",-13.377911567687988],["▁vodka",-13.377911567687988],["▁yolk",-13.377912521362305],["ollywood",-13.377915382385254],["▁truffle",-13.377933502197266],["▁Sänger",-13.377955436706543],["▁Kenntnis",-13.377968788146973],["▁Kiel",-13.37803840637207],["▁Mutual",-13.378044128417969],["▁saliva",-13.37816047668457],["▁renforce",-13.378411293029785],["▁mulch",-13.378680229187012],["▁reviste",-13.378875732421875],["lucrarea",-13.378978729248047],["▁multiply",-13.379130363464355],["▁marshmallow",-13.379234313964844],["▁Durchschnitt",-13.379288673400879],["▁Authorities",-13.379426002502441],["▁greed",-13.379521369934082],["Visiting",-13.379638671875],["Carlton",-13.379727363586426],["▁splend",-13.37975025177002],["▁Erkenntnisse",-13.379898071289062],["▁Russie",-13.379916191101074],["Agence",-13.38007926940918],["schickt",-13.380288124084473],["##",-13.3804931640625],["▁Erweiterung",-13.380560874938965],["▁Franchise",-13.380560874938965],["Dedicated",-13.380563735961914],["▁Wisdom",-13.380569458007812],["▁gagnant",-13.380592346191406],["planetary",-13.380598068237305],["▁affinity",-13.380619049072266],["▁préférence",-13.380739212036133],["▁intellect",-13.380810737609863],["▁Translat",-13.380830764770508],["▁Sultan",-13.38089370727539],["▁birouri",-13.38101577758789],["▁Academie",-13.381224632263184],["▁consequential",-13.38138484954834],["▁festgestellt",-13.381402015686035],["▁Chanel",-13.381444931030273],["▁soutenu",-13.381875038146973],["▁Montessori",-13.381888389587402],["▁equitable",-13.381892204284668],["▁théorie",-13.381893157958984],["▁primavara",-13.3818941116333],["▁Daughter",-13.38189697265625],["▁Dixon",-13.381898880004883],["▁unravel",-13.38190746307373],["Olimp",-13.381915092468262],["▁disturbed",-13.381916999816895],["▁novelty",-13.382004737854004],["synchronous",-13.382113456726074],["relevant",-13.382166862487793],["bourgeois",-13.38251781463623],["▁Parfum",-13.38255500793457],["▁Polonia",-13.382563591003418],["▁monoton",-13.382781028747559],["tratare",-13.38302230834961],["dumping",-13.38318157196045],["▁Bibliothek",-13.383217811584473],["▁Saskatchewan",-13.383217811584473],["▁experiential",-13.383217811584473],["▁verursacht",-13.383217811584473],["intègre",-13.383218765258789],["▁Intermediate",-13.383275032043457],["Israel",-13.383476257324219],["lucreaza",-13.383495330810547],["▁quantify",-13.383862495422363],["▁zahăr",-13.383882522583008],["▁încadr",-13.383902549743652],["Personalized",-13.383946418762207],["▁Chronic",-13.384309768676758],["hôpital",-13.384549140930176],["▁diskutiert",-13.384549140930176],["electrique",-13.3848876953125],["ethos",-13.384978294372559],["Nase",-13.385059356689453],["atmosphère",-13.385214805603027],["▁ungefähr",-13.385215759277344],["évaluer",-13.385251998901367],["▁scuz",-13.385321617126465],["haltige",-13.38533878326416],["January",-13.38557243347168],["▁Sharma",-13.385603904724121],["▁seizures",-13.385881423950195],["▁zucchini",-13.385881423950195],["▁Stadi",-13.385885238647461],["▁eccentric",-13.385885238647461],["▁offensichtlich",-13.385909080505371],["▁Irvine",-13.385920524597168],["cuprinse",-13.38601303100586],["▁Arbitr",-13.386157035827637],["Buenos",-13.386183738708496],["▁Shelter",-13.386210441589355],["CEPT",-13.386454582214355],["ouvri",-13.386455535888672],["acryl",-13.386539459228516],["▁Gourmet",-13.38654899597168],["scented",-13.386595726013184],["doubling",-13.38659954071045],["▁rafina",-13.386608123779297],["▁Vereinbarung",-13.38721752166748],["▁Dashboard",-13.387218475341797],["▁Sandwich",-13.387218475341797],["▁Riviera",-13.387226104736328],["échec",-13.387237548828125],["Giro",-13.387253761291504],["▁oasis",-13.38725757598877],["▁apology",-13.3872709274292],["▁YEAR",-13.387272834777832],["▁realtor",-13.387504577636719],["acheteur",-13.38754653930664],["▁larva",-13.387613296508789],["▁invitați",-13.388097763061523],["exhibiting",-13.38830852508545],["modernen",-13.388331413269043],["▁Collaboration",-13.38855266571045],["▁dezvălui",-13.38855266571045],["▁kiosk",-13.38855266571045],["▁Bermuda",-13.388553619384766],["Copiii",-13.388564109802246],["▁goddess",-13.388581275939941],["uplifting",-13.388609886169434],["▁simultan",-13.388808250427246],["▁episod",-13.388884544372559],["▁Braşov",-13.38922119140625],["cunoscută",-13.389634132385254],["▁Cherokee",-13.389890670776367],["▁Kazakhstan",-13.389890670776367],["▁Lauderdale",-13.389890670776367],["▁închisoare",-13.389898300170898],["▁Christchurch",-13.389934539794922],["▁influenţ",-13.389982223510742],["▁Meghan",-13.390019416809082],["▁Dienstleistung",-13.390557289123535],["▁cladiri",-13.390564918518066],["▁evrei",-13.391148567199707],["▁oatmeal",-13.391230583190918],["▁chronique",-13.3912353515625],["▁associée",-13.391264915466309],["▁Goose",-13.391283988952637],["gänz",-13.391855239868164],["▁Blätter",-13.391901969909668],["▁jurnalist",-13.392212867736816],["cedat",-13.392263412475586],["nommée",-13.392315864562988],["écrivain",-13.392572402954102],["▁epoxy",-13.392577171325684],["▁verlangt",-13.392590522766113],["Störung",-13.392708778381348],["▁Doyle",-13.392729759216309],["▁Philharmoni",-13.392844200134277],["▁déclare",-13.393044471740723],["effort",-13.393045425415039],["ström",-13.393118858337402],["▁cunoaşte",-13.393244743347168],["▁gigantic",-13.3932466506958],["któ",-13.393378257751465],["▁ilustr",-13.393529891967773],["▁frec",-13.39371109008789],["▁Syracuse",-13.393916130065918],["▁Einwilligung",-13.393917083740234],["▁miraculous",-13.393917083740234],["▁ökologisch",-13.393917083740234],["▁Simmons",-13.393922805786133],["▁albastru",-13.393926620483398],["besser",-13.393962860107422],["▁interioare",-13.394006729125977],["▁Trocken",-13.394068717956543],["niveau",-13.39406967163086],["▁Torah",-13.394122123718262],["▁beobachten",-13.3945894241333],["▁behandeln",-13.394637107849121],["staffed",-13.394742965698242],["hütte",-13.394824028015137],["Central",-13.394939422607422],["▁Freiburg",-13.395198822021484],["▁Netanyahu",-13.395261764526367],["▁Lexington",-13.395302772521973],["▁insotit",-13.395492553710938],["▁depasi",-13.39560604095459],["sewage",-13.395853996276855],["erkrankung",-13.395951271057129],["▁părţi",-13.396234512329102],["▁Nixon",-13.39661693572998],["Byron",-13.396905899047852],["▁varietat",-13.39724063873291],["▁Bildschirm",-13.397299766540527],["▁accompli",-13.397424697875977],["affirmed",-13.397525787353516],["▁phyto",-13.397533416748047],["sectiune",-13.397592544555664],["abteilung",-13.397932052612305],["▁voastre",-13.397957801818848],["GitHub",-13.397958755493164],["▁Jorge",-13.39796257019043],["ACTION",-13.397972106933594],["voastra",-13.397984504699707],["▁Peanut",-13.397987365722656],["▁bilingual",-13.398011207580566],["▁nourriture",-13.39803695678711],["▁Asphalt",-13.398640632629395],["emballage",-13.399310111999512],["▁sanitation",-13.399310111999512],["▁Dessert",-13.399313926696777],["intitulé",-13.399322509765625],["▁acţiune",-13.399374008178711],["▁Übersetzung",-13.399402618408203],["destinate",-13.39941692352295],["▁Goddess",-13.399504661560059],["poziție",-13.399576187133789],["denumirea",-13.400002479553223],["cantitatea",-13.40002727508545],["▁Stereo",-13.400223731994629],["object",-13.400373458862305],["▁décè",-13.40058708190918],["▁Handeln",-13.400665283203125],["▁ambience",-13.400697708129883],["▁Lindsay",-13.4006986618042],["▁tensiune",-13.400781631469727],["▁thrift",-13.400788307189941],["▁Optimiz",-13.400843620300293],["▁beantworten",-13.401338577270508],["▁magistrat",-13.401342391967773],["évidence",-13.402016639709473],["▁Eclipse",-13.402016639709473],["▁Ribbon",-13.402016639709473],["▁condensation",-13.402016639709473],["▁innocence",-13.402018547058105],["▁mascara",-13.402023315429688],["▁seventeen",-13.402290344238281],["▁compétent",-13.402694702148438],["bewertet",-13.402717590332031],["▁Muzic",-13.40285587310791],["complexities",-13.402928352355957],["ddington",-13.403324127197266],["Entwickler",-13.403372764587402],["masonry",-13.4033784866333],["Führer",-13.403386116027832],["▁awakening",-13.403388977050781],["▁lovitur",-13.403806686401367],["gebrochen",-13.404068946838379],["indexed",-13.404478073120117],["campania",-13.404515266418457],["▁Fountain",-13.404730796813965],["▁Joomla",-13.404730796813965],["▁Superintendent",-13.404730796813965],["▁Dahl",-13.404742240905762],["▁Benefici",-13.404863357543945],["optimiser",-13.404919624328613],["bursting",-13.405380249023438],["diplom",-13.405427932739258],["microsoft",-13.405621528625488],["▁correlate",-13.405776977539062],["▁arhitectura",-13.405848503112793],["▁lunette",-13.40611743927002],["Statistical",-13.406147003173828],["▁iarnă",-13.406201362609863],["▁importanț",-13.406932830810547],["sistence",-13.407366752624512],["associated",-13.407402992248535],["Occident",-13.407452583312988],["▁Heidelberg",-13.407452583312988],["▁acquaintance",-13.407452583312988],["Introducing",-13.407453536987305],["▁ripple",-13.407480239868164],["▁Childhood",-13.407563209533691],["drywall",-13.407577514648438],["Vreau",-13.40771770477295],["▁compétence",-13.407967567443848],["▁asteapta",-13.408135414123535],["▁duhovnic",-13.408135414123535],["▁învăţământ",-13.408141136169434],["encompassing",-13.40829849243164],["1997)",-13.408370018005371],["▁atractiv",-13.408515930175781],["Majoritatea",-13.408775329589844],["▁bungalow",-13.40881633758545],["▁Introduce",-13.408817291259766],["▁culprit",-13.408817291259766],["▁malheureusement",-13.408817291259766],["▁voudrai",-13.408817291259766],["Europäische",-13.408825874328613],["wunsch",-13.408880233764648],["▁înțeles",-13.408892631530762],["▁infestation",-13.40889835357666],["Bringing",-13.409186363220215],["▁Mehrheit",-13.409229278564453],["ски",-13.409456253051758],["▁procéder",-13.409499168395996],["grupului",-13.409504890441895],["▁dispoziti",-13.40964412689209],["▁snug",-13.409950256347656],["▁Afrika",-13.41018295288086],["▁Madagascar",-13.41018295288086],["Părinte",-13.410195350646973],["▁Clayton",-13.410223960876465],["▁antagonist",-13.410239219665527],["termeni",-13.410250663757324],["▁Literary",-13.410391807556152],["▁Babylon",-13.410452842712402],["▁überprüfen",-13.410865783691406],["▁duminica",-13.410879135131836],["farbig",-13.410970687866211],["nennt",-13.411064147949219],["annual",-13.411487579345703],["▁Qualcomm",-13.41154956817627],["▁Slovakia",-13.41154956817627],["▁plictis",-13.411552429199219],["▁prairie",-13.411554336547852],["▁Schatten",-13.411622047424316],["▁compléter",-13.41223430633545],["inauguration",-13.412376403808594],["▁apărare",-13.412407875061035],["▁întăr",-13.412412643432617],["▁pronunciation",-13.412919044494629],["▁bewährt",-13.412919998168945],["▁Viertel",-13.413084983825684],["▁Heidi",-13.413252830505371],["▁Gummi",-13.413507461547852],["▁veggie",-13.413552284240723],["▁monsieur",-13.413604736328125],["éveil",-13.413630485534668],["shipments",-13.413928985595703],["▁Medikamente",-13.414290428161621],["▁Johannesburg",-13.414314270019531],["▁ermittelt",-13.414321899414062],["▁bataille",-13.414440155029297],["extrem",-13.414609909057617],["▁1:2",-13.414671897888184],["Array",-13.414725303649902],["▁portail",-13.414857864379883],["▁găzdui",-13.414977073669434],["▁Calcium",-13.41497802734375],["▁Correction",-13.415104866027832],["bureaux",-13.41528034210205],["bestselling",-13.415338516235352],["Übungen",-13.415420532226562],["paramètres",-13.415633201599121],["▁Provincial",-13.415663719177246],["▁outrageous",-13.415680885314941],["▁Giveaway",-13.415775299072266],["▁LGBTQ",-13.41589641571045],["geklärt",-13.416854858398438],["▁Karlsruhe",-13.417038917541504],["▁esențial",-13.417038917541504],["avancée",-13.41703987121582],["hesitant",-13.417040824890137],["enlarged",-13.417069435119629],["▁inherit",-13.417121887207031],["Food",-13.4171724319458],["bucuria",-13.417181015014648],["▁BTW",-13.417400360107422],["associe",-13.417579650878906],["▁Möchte",-13.417742729187012],["demokrat",-13.417789459228516],["Turcia",-13.417964935302734],["forged",-13.418370246887207],["▁Zhao",-13.418442726135254],["▁cherries",-13.418556213378906],["▁evangelical",-13.418631553649902],["▁jüng",-13.418792724609375],["spans",-13.41880989074707],["▁străluc",-13.41888427734375],["▁geschie",-13.41893196105957],["▁Tattoo",-13.419112205505371],["sanitary",-13.419114112854004],["▁biopsy",-13.419353485107422],["▁imprumut",-13.419795036315918],["▁unreasonable",-13.419795036315918],["Funktion",-13.419800758361816],["▁prohibition",-13.419904708862305],["▁Prezent",-13.419939041137695],["boosted",-13.419967651367188],["▁chalet",-13.420382499694824],["▁tanar",-13.420450210571289],["Faktoren",-13.420489311218262],["▁Mozilla",-13.420550346374512],["▁Lambert",-13.420760154724121],["▁Cruci",-13.420927047729492],["▁Flugzeug",-13.421198844909668],["reassure",-13.421205520629883],["envisioned",-13.421542167663574],["Traditionally",-13.421773910522461],["▁parametri",-13.42185115814209],["▁unicorn",-13.421891212463379],["▁adéquat",-13.421894073486328],["▁Colonial",-13.421915054321289],["▁Kwa",-13.422097206115723],["▁SERV",-13.422333717346191],["tourism",-13.422627449035645],["▁Kiev",-13.422974586486816],["heightened",-13.42309284210205],["circulating",-13.423099517822266],["▁Kreditkarte",-13.42310619354248],["gedruckt",-13.423110008239746],["▁Depend",-13.423120498657227],["Style",-13.423196792602539],["▁Rettungs",-13.42325496673584],["wrongful",-13.423418998718262],["▁devour",-13.423453330993652],["▁manevr",-13.423582077026367],["carora",-13.423628807067871],["erfolgreichen",-13.423723220825195],["überwiegend",-13.423942565917969],["▁Sauvignon",-13.423942565917969],["händler",-13.423944473266602],["▁annotation",-13.424009323120117],["▁expans",-13.424020767211914],["▁recital",-13.424080848693848],["inhabited",-13.424367904663086],["OnePlus",-13.424549102783203],["Gästen",-13.424588203430176],["beliebig",-13.424613952636719],["▁Anonymous",-13.424635887145996],["▁Ansprechpartner",-13.424635887145996],["▁tamb",-13.42464542388916],["estimating",-13.424670219421387],["frequent",-13.424769401550293],["▁disciplin",-13.425241470336914],["▁plombier",-13.425329208374023],["▁teoretic",-13.42533016204834],["greift",-13.425339698791504],["▁Einschränkung",-13.42537784576416],["obscur",-13.426115989685059],["architecte",-13.426233291625977],["▁détour",-13.42647647857666],["▁spaghetti",-13.426717758178711],["croft",-13.42693042755127],["▁Grammar",-13.426953315734863],["▁investitii",-13.427062034606934],["▁glorif",-13.427067756652832],["architekt",-13.427412033081055],["Oricum",-13.427451133728027],["▁bruise",-13.427692413330078],["▁McCarthy",-13.428107261657715],["▁Uruguay",-13.428107261657715],["Produsele",-13.428109169006348],["▁Comparison",-13.42811107635498],["▁fondamental",-13.42811107635498],["▁stradă",-13.428115844726562],["▁Countries",-13.428131103515625],["▁guéri",-13.42825698852539],["▁bâti",-13.428339004516602],["▁blunt",-13.428515434265137],["▁Sistem",-13.428645133972168],["▁Betroffenen",-13.428803443908691],["efectuare",-13.428823471069336],["▁scharf",-13.428899765014648],["naps",-13.429057121276855],["▁plaid",-13.429163932800293],["▁investiții",-13.429367065429688],["evenimentele",-13.42948055267334],["▁Phuket",-13.429499626159668],["▁testosterone",-13.429499626159668],["▁scaffold",-13.429500579833984],["▁rasch",-13.430022239685059],["▁adânc",-13.430076599121094],["atteinte",-13.430228233337402],["▁educație",-13.430320739746094],["▁leopard",-13.430893898010254],["▁superioare",-13.430893898010254],["▁téléchargement",-13.430893898010254],["▁Weapon",-13.431103706359863],["favourable",-13.431336402893066],["nourishing",-13.43143367767334],["▁verfolgt",-13.43160629272461],["▁tablou",-13.431633949279785],["Algérie",-13.431657791137695],["Islam",-13.431700706481934],["faser",-13.431825637817383],["rhythm",-13.432214736938477],["▁Anthropolog",-13.432291030883789],["▁clôtur",-13.432291030883789],["spüren",-13.432291984558105],["▁Architectural",-13.432294845581055],["▁imaginary",-13.432368278503418],["cône",-13.432456016540527],["▁snuggl",-13.432744026184082],["disadvantaged",-13.432745933532715],["radically",-13.4329195022583],["Première",-13.433011054992676],["▁combinaison",-13.433027267456055],["▁Algeria",-13.43303108215332],["▁Wände",-13.43317985534668],["aesthetically",-13.43336009979248],["▁McKe",-13.433368682861328],["interroge",-13.433473587036133],["exclusive",-13.433475494384766],["▁Thomson",-13.433688163757324],["▁Gujarat",-13.43368911743164],["irgendwo",-13.433690071105957],["Severin",-13.433767318725586],["▁imitation",-13.433926582336426],["constructed",-13.434194564819336],["▁Montpellier",-13.434388160705566],["cedent",-13.434539794921875],["accelerating",-13.434563636779785],["dommages",-13.4346284866333],["lideri",-13.434730529785156],["▁Millennium",-13.435089111328125],["▁imprisonment",-13.435089111328125],["machining",-13.435111999511719],["▁anxiet",-13.43521499633789],["Contains",-13.435298919677734],["pleade",-13.435563087463379],["DOWN",-13.43564510345459],["geschehen",-13.435797691345215],["restaurant",-13.435811996459961],["Totusi",-13.435839653015137],["amintesc",-13.436158180236816],["▁Crisp",-13.436233520507812],["aduse",-13.436278343200684],["▁imposé",-13.436351776123047],["Jubiläum",-13.436490058898926],["▁Plaintiff",-13.436491012573242],["▁authoritative",-13.436491966247559],["▁rendition",-13.436633110046387],["Royce",-13.436707496643066],["1996)",-13.436724662780762],["Asociația",-13.437192916870117],["▁Gluten",-13.437264442443848],["feature",-13.43741226196289],["Behavioral",-13.437454223632812],["tearing",-13.437763214111328],["▁Entfernung",-13.437894821166992],["▁Responsibility",-13.437894821166992],["▁negligent",-13.437894821166992],["▁syllabus",-13.437894821166992],["▁Cycling",-13.437895774841309],["generell",-13.438114166259766],["customised",-13.438392639160156],["Management",-13.43850326538086],["▁timid",-13.438518524169922],["Tagged",-13.438730239868164],["▁susţinut",-13.438809394836426],["anchored",-13.43892765045166],["alternating",-13.439055442810059],["▁obligatoriu",-13.439300537109375],["▁reinstate",-13.439456939697266],["Können",-13.43946361541748],["▁Paol",-13.439596176147461],["öhr",-13.439603805541992],["▁Asociati",-13.439876556396484],["▁commenc",-13.440285682678223],["reinigt",-13.440293312072754],["commended",-13.440350532531738],["▁Proceed",-13.440675735473633],["beutel",-13.440702438354492],["▁Experimental",-13.44070816040039],["▁constellation",-13.44070816040039],["▁gepflegt",-13.44070816040039],["▁Ergänzung",-13.440709114074707],["Judith",-13.440713882446289],["▁Quartet",-13.440720558166504],["complemented",-13.440742492675781],["ausbildung",-13.440750122070312],["▁uncertainties",-13.44077205657959],["▁humiliat",-13.440914154052734],["luta",-13.441121101379395],["▁complexion",-13.441482543945312],["Serviciul",-13.441612243652344],["▁Toast",-13.441722869873047],["ummies",-13.442425727844238],["▁irit",-13.442463874816895],["producing",-13.442585945129395],["amenajare",-13.442825317382812],["▁béton",-13.442828178405762],["▁serpent",-13.442851066589355],["▁vizită",-13.442996978759766],["▁Beamte",-13.443017959594727],["▁Füße",-13.443166732788086],["▁Norwich",-13.443531036376953],["▁acronym",-13.443531036376953],["▁eradicate",-13.443531036376953],["▁solidarité",-13.44353199005127],["▁eggplant",-13.443582534790039],["▁sailors",-13.443619728088379],["waschen",-13.444538116455078],["Editura",-13.444757461547852],["▁erwerben",-13.444944381713867],["▁unconventional",-13.444944381713867],["▁boulder",-13.444948196411133],["Diplom",-13.445013046264648],["influx",-13.446162223815918],["▁Twelve",-13.446361541748047],["▁Sexual",-13.44636344909668],["numite",-13.446369171142578],["▁kontaktieren",-13.446370124816895],["▁strâns",-13.44637680053711],["▁précisément",-13.446382522583008],["empfindlich",-13.446405410766602],["▁divulg",-13.446490287780762],["▁delicat",-13.446539878845215],["compete",-13.446542739868164],["▁implique",-13.446616172790527],["implantation",-13.44672966003418],["frères",-13.447328567504883],["shedding",-13.44758415222168],["découvrez",-13.447657585144043],["rith",-13.447735786437988],["▁réglementation",-13.447778701782227],["▁transistor",-13.447785377502441],["inflated",-13.447792053222656],["▁Bluff",-13.447887420654297],["▁Aquarium",-13.448526382446289],["▁mananc",-13.448638916015625],["▁disinfect",-13.448700904846191],["tuft",-13.448740005493164],["Public",-13.449081420898438],["conceivabl",-13.449197769165039],["▁Cadillac",-13.449197769165039],["Assassin",-13.449199676513672],["issuance",-13.449252128601074],["▁Achtung",-13.449287414550781],["▁grundlegend",-13.449909210205078],["▁Băsescu",-13.449910163879395],["schaden",-13.45014476776123],["coached",-13.450409889221191],["▁betreffend",-13.45046329498291],["ergebnis",-13.450541496276855],["▁Lieutenant",-13.4506196975708],["WORLD",-13.450620651245117],["▁Moroccan",-13.450620651245117],["▁Butterfly",-13.450621604919434],["would",-13.450737953186035],["▁Metropol",-13.451025009155273],["lexic",-13.451192855834961],["comunitatea",-13.45124340057373],["vapeur",-13.451456069946289],["4.000",-13.451559066772461],["Pentru",-13.451581954956055],["üblichen",-13.451613426208496],["▁Général",-13.451770782470703],["▁Versailles",-13.452046394348145],["▁engraving",-13.452046394348145],["▁pédagogique",-13.452192306518555],["▁Policies",-13.452759742736816],["descending",-13.453235626220703],["stärkt",-13.453349113464355],["▁démocratie",-13.453470230102539],["▁granddaughter",-13.453470230102539],["▁buffalo",-13.453474998474121],["Datorita",-13.45347785949707],["hydroxy",-13.453537940979004],["▁ganduri",-13.453566551208496],["▁hijack",-13.453624725341797],["zahn",-13.453699111938477],["poziția",-13.45406436920166],["▁Zähne",-13.454184532165527],["▁grossesse",-13.454296112060547],["embassy",-13.4548978805542],["▁cérémonie",-13.4548978805542],["Rhône",-13.454898834228516],["▁Cabernet",-13.454898834228516],["▁Namibia",-13.454902648925781],["▁pedestal",-13.454902648925781],["▁Fighting",-13.45490550994873],["▁Threat",-13.454962730407715],["▁ideological",-13.455047607421875],["▁restitu",-13.455183029174805],["gelangt",-13.455510139465332],["Mitgliedern",-13.455537796020508],["acquérir",-13.455613136291504],["▁inferioar",-13.45561695098877],["Thierry",-13.455619812011719],["▁Entspannung",-13.455638885498047],["frequency",-13.45566177368164],["▁Fluid",-13.455686569213867],["▁betreut",-13.455901145935059],["Biological",-13.455965995788574],["▁Constanţa",-13.456328392028809],["▁beschäftigen",-13.456328392028809],["▁undesirable",-13.456328392028809],["▁protégé",-13.456365585327148],["▁nautical",-13.456474304199219],["▁sniff",-13.456507682800293],["Decizi",-13.456510543823242],["▁căldur",-13.45706558227539],["▁ideologi",-13.457335472106934],["Fraktion",-13.457545280456543],["collegiate",-13.45776081085205],["▁sănătos",-13.45776081085205],["▁Observatory",-13.45776653289795],["▁saturation",-13.457769393920898],["organizate",-13.457771301269531],["mergem",-13.458321571350098],["Publish",-13.458451271057129],["▁rattle",-13.458460807800293],["▁întâlniri",-13.458663940429688],["emporte",-13.458741188049316],["▁înscris",-13.459046363830566],["▁Patterson",-13.459195137023926],["▁ehrenamtlich",-13.459195137023926],["linux",-13.459213256835938],["conduire",-13.45921802520752],["▁absolven",-13.459223747253418],["▁einzigartig",-13.459598541259766],["▁_____",-13.459803581237793],["▁Beschäftigung",-13.459912300109863],["▁erfasst",-13.459927558898926],["▁Datum",-13.459992408752441],["raportul",-13.460284233093262],["ennemi",-13.460460662841797],["default",-13.460643768310547],["icillin",-13.46066951751709],["▁diamant",-13.460671424865723],["amerika",-13.460684776306152],["▁pescuit",-13.46070384979248],["▁grappl",-13.460797309875488],["▁Homeland",-13.46082592010498],["▁tromb",-13.46112060546875],["▁reduzieren",-13.461349487304688],["▁Statut",-13.461593627929688],["booming",-13.461670875549316],["fenced",-13.461723327636719],["measure",-13.461888313293457],["témoin",-13.462069511413574],["▁Inventory",-13.462069511413574],["▁circonstance",-13.462069511413574],["▁téléphonique",-13.462069511413574],["▁împiedic",-13.46207046508789],["▁Settlement",-13.462072372436523],["kannte",-13.462076187133789],["▁substantive",-13.462385177612305],["miterea",-13.462642669677734],["▁noştri",-13.462790489196777],["▁plăcere",-13.462791442871094],["▁eticheta",-13.462823867797852],["quickest",-13.462993621826172],["▁pasageri",-13.463089942932129],["▁Publi",-13.463495254516602],["▁Suzanne",-13.463509559631348],["▁bucătări",-13.463509559631348],["Regulatory",-13.463510513305664],["▁Mandarin",-13.463647842407227],["surgical",-13.463947296142578],["▁Smash",-13.463950157165527],["▁mândr",-13.46403694152832],["▁Unterkunft",-13.464315414428711],["moos",-13.464374542236328],["Camere",-13.464510917663574],["/03/",-13.464651107788086],["▁ethno",-13.464677810668945],["▁Eröffnung",-13.46495246887207],["▁Snyder",-13.46495246887207],["▁Wilmington",-13.46495246887207],["▁Canberra",-13.464953422546387],["▁Tahoe",-13.464953422546387],["▁slippery",-13.464953422546387],["▁Snake",-13.464957237243652],["▁turmeric",-13.464963912963867],["▁Cartoon",-13.46499252319336],["▁scrisoare",-13.46500015258789],["▁reprend",-13.465425491333008],["▁Konkurrenz",-13.46567440032959],["▁raisins",-13.465693473815918],["▁Werkstatt",-13.465713500976562],["▁agresiv",-13.465795516967773],["hugs",-13.46615219116211],["cazurile",-13.46618938446045],["spirited",-13.466232299804688],["▁britisch",-13.466307640075684],["spritz",-13.466367721557617],["auxiliary",-13.46639633178711],["interprétation",-13.46639633178711],["▁verbindet",-13.46639633178711],["▁fuzzy",-13.466429710388184],["▁turmoil",-13.466432571411133],["▁redefine",-13.466819763183594],["▁Kiwi",-13.466890335083008],["oiseaux",-13.46712875366211],["▁pamper",-13.467146873474121],["▁desfaso",-13.46719741821289],["▁pragu",-13.467576026916504],["prevenirea",-13.467730522155762],["▁convergence",-13.467846870422363],["tufted",-13.467878341674805],["brewed",-13.467981338500977],["villagers",-13.468003273010254],["▁Irving",-13.468170166015625],["nigsten",-13.468660354614258],["▁embod",-13.468742370605469],["Alicia",-13.468938827514648],["probably",-13.469009399414062],["divider",-13.46904468536377],["Attempt",-13.469223022460938],["▁Cognitive",-13.469292640686035],["▁Recognition",-13.469292640686035],["▁concierge",-13.469292640686035],["▁Semester",-13.4692964553833],["Economie",-13.469417572021484],["sortiment",-13.469460487365723],["shortest",-13.46961498260498],["üchtig",-13.469650268554688],["▁conveyanc",-13.469978332519531],["▁Ferdinand",-13.470017433166504],["▁permanence",-13.470019340515137],["▁incadr",-13.470145225524902],["▁estrogen",-13.470290184020996],["February",-13.470661163330078],["gedeckt",-13.470704078674316],["▁reagieren",-13.470743179321289],["▁meditate",-13.470980644226074],["simulated",-13.471010208129883],["▁supprimer",-13.471468925476074],["▁bumbac",-13.47146987915039],["▁vânzări",-13.471477508544922],["▁Kapitel",-13.471478462219238],["▁Weltkrieg",-13.471513748168945],["déposer",-13.471674919128418],["Asus",-13.4718017578125],["▁Communicat",-13.471851348876953],["Finished",-13.47188949584961],["▁Telegraph",-13.472054481506348],["▁Competitive",-13.472196578979492],["▁collectivités",-13.472197532653809],["▁protège",-13.472199440002441],["▁scallop",-13.472219467163086],["Happy",-13.472335815429688],["tehnică",-13.472352981567383],["▁Gestalt",-13.47270393371582],["▁benign",-13.47295093536377],["kraut",-13.473149299621582],["louer",-13.473221778869629],["▁Printr",-13.47326946258545],["mputation",-13.473346710205078],["▁dicke",-13.473429679870605],["▁Halifax",-13.473650932312012],["▁bounty",-13.473650932312012],["▁cauliflower",-13.473650932312012],["▁Survival",-13.473654747009277],["▁Chandler",-13.473684310913086],["▁bemüh",-13.473760604858398],["phro",-13.473855972290039],["Friday",-13.474018096923828],["particularly",-13.474032402038574],["arteries",-13.474197387695312],["Lösung",-13.474771499633789],["▁causal",-13.474817276000977],["▁recueilli",-13.475075721740723],["Stylish",-13.47510814666748],["schränke",-13.47510814666748],["▁francophone",-13.47510814666748],["▁limousine",-13.47510814666748],["▁statistiques",-13.47510814666748],["▁Kleider",-13.475111961364746],["▁dunkel",-13.475127220153809],["tätigkeit",-13.475190162658691],["▁punished",-13.475257873535156],["▁implică",-13.475539207458496],["▁inițial",-13.475568771362305],["▁Eminescu",-13.475837707519531],["▁expliqué",-13.475837707519531],["▁Eduard",-13.475839614868164],["▁psychologique",-13.475870132446289],["▁protejeaz",-13.476580619812012],["spül",-13.476709365844727],["▁Virtu",-13.477021217346191],["▁régulière",-13.477044105529785],["▁Outreach",-13.477130889892578],["▁Apprentice",-13.47729778289795],["▁compréhension",-13.47729778289795],["▁zwölf",-13.47729778289795],["Surgical",-13.477315902709961],["latéral",-13.477417945861816],["▁Ceremony",-13.47803020477295],["▁Shampoo",-13.47803783416748],["Global",-13.478239059448242],["▁paradis",-13.478302955627441],["Developed",-13.478493690490723],["▁figurine",-13.478549003601074],["sujets",-13.478574752807617],["▁Naomi",-13.478772163391113],["financed",-13.478838920593262],["forestry",-13.478896141052246],["▁Anregung",-13.479494094848633],["▁spectateur",-13.479804039001465],["▁exercitii",-13.479815483093262],["▁russisch",-13.479888916015625],["gefunden",-13.479988098144531],["schleunig",-13.480225563049316],["▁géographique",-13.480225563049316],["▁Delphi",-13.480317115783691],["Freddie",-13.4806489944458],["▁muzici",-13.480958938598633],["▁Edmund",-13.48095989227295],["finanzielle",-13.481032371520996],["(2003)",-13.481319427490234],["accentuate",-13.481437683105469],["overlapping",-13.48151969909668],["▁Pluto",-13.481595993041992],["românii",-13.481683731079102],["▁Timişoara",-13.48169231414795],["▁poivr",-13.481754302978516],["▁repris",-13.481852531433105],["▁Geschlecht",-13.482426643371582],["▁thieves",-13.482426643371582],["▁Transformer",-13.482431411743164],["▁shortcomings",-13.482438087463379],["▁aptitude",-13.48244571685791],["pitfalls",-13.482468605041504],["▁manicure",-13.482577323913574],["mystical",-13.482723236083984],["▁abolish",-13.482833862304688],["▁Zielgruppe",-13.482873916625977],["▁naţionale",-13.483160972595215],["▁trandafir",-13.483160972595215],["▁matematic",-13.483193397521973],["▁Hirsch",-13.483257293701172],["Fahr",-13.483458518981934],["connaissent",-13.483476638793945],["browned",-13.483846664428711],["▁bearbeitet",-13.483881950378418],["▁usturoi",-13.483896255493164],["▁Surprise",-13.48389720916748],["▁Tehran",-13.483899116516113],["▁BLACK",-13.483901023864746],["▁abonament",-13.483904838562012],["▁mêl",-13.483972549438477],["Angebot",-13.484091758728027],["ajungi",-13.48410415649414],["▁Woodland",-13.48420524597168],["▁gradini",-13.484305381774902],["▁Marilyn",-13.48464584350586],["kilometer",-13.484880447387695],["tempered",-13.485230445861816],["▁intimacy",-13.485371589660645],["▁thunderstorm",-13.485373497009277],["▁Uttar",-13.485413551330566],["▁varnish",-13.485535621643066],["opathie",-13.485982894897461],["▁școlar",-13.48611068725586],["▁raisonnable",-13.486114501953125],["proactively",-13.486490249633789],["▁gib",-13.486536979675293],["▁hospice",-13.48684310913086],["▁constă",-13.486896514892578],["▁Crescent",-13.48690128326416],["▁ambasad",-13.486933708190918],["hotărâre",-13.486969947814941],["▁fraîche",-13.48709774017334],["▁bundesweit",-13.487581253051758],["nsbesondere",-13.487812042236328],["▁intoarce",-13.487863540649414],["▁Schokolade",-13.488319396972656],["▁adjective",-13.488319396972656],["▁incalzire",-13.488319396972656],["▁Qualification",-13.488320350646973],["▁Bolivia",-13.488324165344238],["▁cruelty",-13.488334655761719],["pläne",-13.48834228515625],["▁solitude",-13.488354682922363],["▁Bosnia",-13.488568305969238],["rohr",-13.488643646240234],["▁regrette",-13.48877239227295],["zusammengestellt",-13.48924732208252],["▁Kardashian",-13.489798545837402],["▁Picasso",-13.489798545837402],["▁unverbindlich",-13.489798545837402],["▁Headquarters",-13.489799499511719],["métrage",-13.4898099899292],["▁Magento",-13.489816665649414],["▁exhibitors",-13.489898681640625],["utty",-13.490381240844727],["▁Fünf",-13.490538597106934],["▁Peugeot",-13.490538597106934],["▁verdienen",-13.490538597106934],["▁absolviert",-13.49053955078125],["schutzerklärung",-13.490679740905762],["sistemele",-13.49089241027832],["▁concrète",-13.491279602050781],["▁rhyme",-13.491279602050781],["▁Continuous",-13.49128246307373],["versprechen",-13.491312026977539],["▁Melanie",-13.49202823638916],["▁clienţi",-13.492046356201172],["luckily",-13.492205619812012],["▁counterfeit",-13.492762565612793],["▁locomotive",-13.492889404296875],["▁reacți",-13.492908477783203],["ampered",-13.493005752563477],["atenția",-13.493011474609375],["Suppose",-13.493062973022461],["hinweis",-13.493464469909668],["verletzung",-13.493504524230957],["▁mănânc",-13.493504524230957],["▁provoac",-13.493507385253906],["▁regizor",-13.493511199951172],["kundig",-13.49352741241455],["embarqu",-13.493584632873535],["Radio",-13.493690490722656],["Ministrul",-13.493896484375],["weakened",-13.494214057922363],["▁translucent",-13.494247436523438],["George",-13.494380950927734],["▁bacterii",-13.494402885437012],["intervalul",-13.494803428649902],["▁vizualiz",-13.494832038879395],["▁Feuchtigkeit",-13.494991302490234],["▁choisissez",-13.494991302490234],["▁plausible",-13.494991302490234],["▁perpetu",-13.495122909545898],["▁bucati",-13.495194435119629],["▁Giovanni",-13.495735168457031],["▁bluetooth",-13.495736122131348],["▁translating",-13.49573802947998],["▁Kyoto",-13.495739936828613],["▁homosexual",-13.495745658874512],["treabă",-13.495820045471191],["ntrepid",-13.495983123779297],["▁fachlich",-13.496664047241211],["Vaccin",-13.496774673461914],["▁Treib",-13.497248649597168],["varsity",-13.497272491455078],["▁Tavern",-13.497278213500977],["▁ensue",-13.497330665588379],["flexibel",-13.497971534729004],["retrieved",-13.498102188110352],["traditionellen",-13.498230934143066],["▁circulati",-13.498546600341797],["▁Diagnose",-13.498717308044434],["▁Strawberry",-13.498717308044434],["Societatea",-13.49871826171875],["expertise",-13.498849868774414],["▁naturii",-13.499464988708496],["▁4:1",-13.499515533447266],["Frequently",-13.500210762023926],["disproportionate",-13.500210762023926],["▁LIMITED",-13.500210762023926],["▁ancestral",-13.500227928161621],["▁Logistik",-13.500237464904785],["▁recolt",-13.50042724609375],["▁liebevoll",-13.500436782836914],["importing",-13.500452041625977],["aparatul",-13.500458717346191],["poziţia",-13.500564575195312],["facerilor",-13.500658988952637],["Submitted",-13.50086784362793],["ografia",-13.501221656799316],["onformément",-13.50168228149414],["▁dissemination",-13.501708030700684],["afli",-13.501834869384766],["luminous",-13.502154350280762],["▁draußen",-13.502456665039062],["▁Zauber",-13.502535820007324],["▁Ibrahim",-13.503207206726074],["▁eruption",-13.503216743469238],["écrite",-13.50357723236084],["avril",-13.503898620605469],["Increasing",-13.504171371459961],["hingeg",-13.504411697387695],["fidelity",-13.504707336425781],["étonnant",-13.504707336425781],["▁créativité",-13.504707336425781],["▁Required",-13.504708290100098],["▁Edison",-13.504719734191895],["▁Stuhl",-13.504719734191895],["outhwestern",-13.506060600280762],["▁Beschwerden",-13.506210327148438],["▁angajaţi",-13.506210327148438],["▁Currency",-13.506211280822754],["▁reagiert",-13.506214141845703],["Science",-13.506229400634766],["hospital",-13.506253242492676],["professionellen",-13.50649356842041],["▁Trouve",-13.506768226623535],["▁utopi",-13.50683307647705],["gypte",-13.506928443908691],["▁Konsequenz",-13.506962776184082],["▁pacienți",-13.506962776184082],["▁orizont",-13.506988525390625],["Corey",-13.506999015808105],["▁quartet",-13.507009506225586],["▁Sherlock",-13.50710678100586],["▁gagné",-13.507237434387207],["▁Jusqu",-13.50732707977295],["▁Clickfunnel",-13.507465362548828],["Survivor",-13.507716178894043],["▁Beethoven",-13.507716178894043],["▁Exemplar",-13.507716178894043],["▁Gonzalez",-13.507716178894043],["▁Illustrator",-13.507716178894043],["▁Verpflichtung",-13.507718086242676],["Possibly",-13.507719993591309],["Maintenant",-13.507721900939941],["▁incendiu",-13.507721900939941],["▁poêl",-13.507747650146484],["▁aşez",-13.507757186889648],["phenol",-13.508248329162598],["▁magician",-13.508421897888184],["éventuellement",-13.508512496948242],["▁amortiz",-13.508736610412598],["bouchage",-13.50873851776123],["▁Accommodation",-13.509223937988281],["▁Significant",-13.509223937988281],["▁rejoice",-13.509223937988281],["▁Lorraine",-13.509224891662598],["▁Necklace",-13.509234428405762],["▁hamburger",-13.509273529052734],["Enhanced",-13.5095796585083],["▁Audrey",-13.509978294372559],["▁considère",-13.509986877441406],["hafen",-13.51050853729248],["acordare",-13.510509490966797],["▁ediți",-13.51075553894043],["▁militia",-13.510767936706543],["captivate",-13.510771751403809],["▁rebellion",-13.510777473449707],["▁veranstalte",-13.510844230651855],["▁matelas",-13.510859489440918],["originating",-13.510873794555664],["Typical",-13.51092529296875],["▁législat",-13.511360168457031],["▁Kräfte",-13.511488914489746],["▁Eigentümer",-13.511489868164062],["▁gonfl",-13.511608123779297],["dispoziție",-13.512028694152832],["▁Fabulous",-13.512246131896973],["▁Guillaume",-13.512246131896973],["▁Genuine",-13.512247085571289],["selbe",-13.512449264526367],["(2002)",-13.512616157531738],["Einen",-13.512908935546875],["▁Snapdragon",-13.513002395629883],["▁plagiarism",-13.513002395629883],["▁Rendez",-13.513019561767578],["▁înregistrare",-13.513033866882324],["probiert",-13.513081550598145],["gestiegen",-13.513153076171875],["Teatrul",-13.513370513916016],["trove",-13.513469696044922],["ntsprechend",-13.513566017150879],["Städten",-13.513691902160645],["unforeseen",-13.513760566711426],["▁Meridian",-13.513761520385742],["▁Ministries",-13.513763427734375],["plaît",-13.513769149780273],["▁Telefonnummer",-13.513772010803223],["welded",-13.513788223266602],["pondere",-13.513976097106934],["▁funcţiona",-13.514012336730957],["▁politicieni",-13.514187812805176],["fleck",-13.514240264892578],["▁Nitro",-13.514264106750488],["wettbewerb",-13.514518737792969],["▁ingrijire",-13.514518737792969],["▁Gehirn",-13.514521598815918],["sigură",-13.514904022216797],["400,000",-13.515237808227539],["▁cataract",-13.515277862548828],["outskirt",-13.515280723571777],["▁Identification",-13.515287399291992],["▁imperfections",-13.515317916870117],["▁Dokumentation",-13.515474319458008],["Engine",-13.515851974487305],["extindere",-13.516046524047852],["bijoux",-13.516797065734863],["▁dărui",-13.516802787780762],["▁Moderator",-13.516913414001465],["biblio",-13.517024040222168],["енн",-13.517024040222168],["▁Relevan",-13.51728630065918],["ansprüche",-13.517557144165039],["épaisseur",-13.517580032348633],["▁emoţi",-13.517677307128906],["exacerbate",-13.518318176269531],["▁Wimbledon",-13.518318176269531],["▁Pandora",-13.518319129943848],["perhaps",-13.518725395202637],["certify",-13.518762588500977],["Strukturen",-13.5189208984375],["▁Kreativität",-13.519079208374023],["schlägt",-13.51908016204834],["▁certifié",-13.51911735534668],["/09/",-13.519211769104004],["▁suprafaţ",-13.519493103027344],["verständnis",-13.519841194152832],["presedintele",-13.519842147827148],["▁orthopedic",-13.519842147827148],["▁superioara",-13.519843101501465],["älteste",-13.519903182983398],["▁conducător",-13.520153999328613],["supplementary",-13.520243644714355],["wetlands",-13.520438194274902],["▁suprafete",-13.520605087280273],["▁aparțin",-13.520951271057129],["analiză",-13.521014213562012],["Uneori",-13.52115535736084],["Toujours",-13.521368026733398],["▁Nairobi",-13.521368026733398],["▁asparagus",-13.521368026733398],["▁crowdfunding",-13.521368026733398],["gutachten",-13.521369934082031],["smelling",-13.521659851074219],["▁elektrisch",-13.521718978881836],["begging",-13.522055625915527],["▁Renewable",-13.522896766662598],["▁Trouble",-13.522896766662598],["▁devastated",-13.522896766662598],["▁remplacé",-13.522896766662598],["▁schmeckt",-13.522896766662598],["▁exerciți",-13.523005485534668],["▁vermute",-13.523650169372559],["▁Constanța",-13.523661613464355],["expunere",-13.523693084716797],["▁Fitzgerald",-13.52442741394043],["▁Mechanism",-13.524429321289062],["▁underscore",-13.524484634399414],["poziţie",-13.524901390075684],["stöbern",-13.525193214416504],["▁littérature",-13.525193214416504],["▁împrumut",-13.525193214416504],["Vision",-13.525771141052246],["▁overwhelm",-13.525773048400879],["▁erweitern",-13.525959968566895],["skeletal",-13.525960922241211],["▁terrified",-13.525960922241211],["aggravate",-13.525962829589844],["▁Malawi",-13.525969505310059],["▁neuroscience",-13.526009559631348],["trecută",-13.526097297668457],["▁maestr",-13.52634334564209],["нов",-13.526555061340332],["▁Cobb",-13.52667236328125],["▁Schwangerschaft",-13.526727676391602],["▁internationaux",-13.526727676391602],["▁entspannen",-13.526729583740234],["▁Früchte",-13.52676773071289],["mâine",-13.526805877685547],["stützt",-13.526938438415527],["flipped",-13.527076721191406],["Palatul",-13.527252197265625],["▁Gérard",-13.527496337890625],["▁Kensington",-13.527498245239258],["chargée",-13.52807331085205],["iolo",-13.528203964233398],["▁excesiv",-13.52904987335205],["▁Gymnas",-13.52962875366211],["▁optimise",-13.529678344726562],["possibilités",-13.529717445373535],["▁periculoas",-13.529810905456543],["mechanical",-13.529839515686035],["▁confruntă",-13.529868125915527],["quatrième",-13.530573844909668],["▁Preservation",-13.530573844909668],["▁Juventus",-13.530574798583984],["vorsitzende",-13.5305757522583],["électora",-13.530586242675781],["▁fascinant",-13.53061580657959],["▁lagoon",-13.530671119689941],["referencing",-13.53079605102539],["appointed",-13.530988693237305],["Audible",-13.531112670898438],["sighted",-13.531612396240234],["▁gewünscht",-13.532061576843262],["▁Expedition",-13.532115936279297],["▁genunchi",-13.532115936279297],["▁PROVIDE",-13.53211784362793],["▁rosemary",-13.532118797302246],["▁cleanliness",-13.532130241394043],["commanded",-13.53223991394043],["ältere",-13.532530784606934],["ност",-13.532547950744629],["kühlen",-13.532917976379395],["mettez",-13.533548355102539],["connaitre",-13.533661842346191],["Qaeda",-13.533662796020508],["▁traumhaft",-13.53366470336914],["kommst",-13.533666610717773],["▁Abbott",-13.533669471740723],["▁Fool",-13.533686637878418],["▁médaill",-13.533687591552734],["▁genotyp",-13.533693313598633],["▁Fälle",-13.53375244140625],["▁actuator",-13.533843994140625],["CLASS",-13.534042358398438],["progressively",-13.534421920776367],["negative",-13.53469467163086],["bundled",-13.535009384155273],["▁dezbatere",-13.535208702087402],["kamagra",-13.535237312316895],["gardinen",-13.535250663757324],["unsecured",-13.535271644592285],["Assisted",-13.535298347473145],["Gymnasium",-13.535386085510254],["▁brusc",-13.535591125488281],["prinzip",-13.535655975341797],["Torrent",-13.535964965820312],["Presented",-13.535967826843262],["▁impressionnant",-13.53628921508789],["charakter",-13.536758422851562],["▁Acoustic",-13.536762237548828],["▁appartient",-13.536763191223145],["gesteuert",-13.536879539489746],["▁condiți",-13.537089347839355],["authentic",-13.537313461303711],["▁Erholung",-13.537534713745117],["▁Veranstalter",-13.537534713745117],["▁Filial",-13.537665367126465],["ruhigen",-13.537714958190918],["symptôme",-13.538311004638672],["▁Efficiency",-13.538311004638672],["▁stunned",-13.538311004638672],["▁sympathique",-13.538311004638672],["Uploaded",-13.538352966308594],["▁geistig",-13.538453102111816],["Pläne",-13.538509368896484],["▁Apartament",-13.53855037689209],["▁ușoar",-13.539119720458984],["▁locuinț",-13.539122581481934],["épouse",-13.539166450500488],["îngrijire",-13.539215087890625],["Obtain",-13.539261817932129],["Detect",-13.539590835571289],["▁Dumitru",-13.539865493774414],["▁refrigeration",-13.539865493774414],["ärztliche",-13.539881706237793],["efficiency",-13.540032386779785],["▁snail",-13.540328979492188],["gelände",-13.540419578552246],["expected",-13.540620803833008],["kompetenz",-13.540643692016602],["▁sfânt",-13.540643692016602],["océan",-13.540685653686523],["▁Plasma",-13.540717124938965],["▁vulgar",-13.54075813293457],["▁slump",-13.541083335876465],["autoimmune",-13.541422843933105],["▁Cynthia",-13.541422843933105],["▁dimineaţ",-13.541422843933105],["▁whimsical",-13.541422843933105],["▁evaporate",-13.541488647460938],["▁calorii",-13.54186725616455],["portion",-13.54187297821045],["crowned",-13.5419282913208],["▁întâmpin",-13.54220199584961],["▁Centenar",-13.542620658874512],["▁Genehmigung",-13.54298210144043],["▁Wahrscheinlich",-13.54298210144043],["▁accompaniment",-13.54298210144043],["▁Negoti",-13.542984962463379],["▁Vanilla",-13.543000221252441],["▁Receiv",-13.543014526367188],["▁bestseller",-13.543052673339844],["tendons",-13.543069839477539],["Reilly",-13.543192863464355],["▁refroidi",-13.543731689453125],["▁überrascht",-13.543763160705566],["Gitarre",-13.543828964233398],["wände",-13.544173240661621],["veniturile",-13.544321060180664],["▁portofoliu",-13.54454517364502],["▁temporaire",-13.54454517364502],["▁Dawson",-13.544546127319336],["foreseeable",-13.544547080993652],["▁Gastgeber",-13.545344352722168],["Access",-13.545432090759277],["▁Defender",-13.545537948608398],["▁Quarry",-13.546109199523926],["▁trolley",-13.546110153198242],["▁carburant",-13.546111106872559],["▁titluri",-13.54631233215332],["comparatively",-13.546327590942383],["nachfolgend",-13.54659652709961],["anfang",-13.546740531921387],["▁faszinieren",-13.546891212463379],["trăiesc",-13.547082901000977],["▁Travail",-13.547159194946289],["Contact",-13.547235488891602],["fashion",-13.547245025634766],["▁épais",-13.547585487365723],["plattform",-13.547676086425781],["ventricular",-13.547677040100098],["▁Portsmouth",-13.547677993774414],["▁împărat",-13.54767894744873],["▁vândut",-13.547698020935059],["▁evidenț",-13.547708511352539],["Purchasing",-13.547877311706543],["discerning",-13.54804801940918],["odonti",-13.548080444335938],["distilled",-13.548316955566406],["saveur",-13.548447608947754],["▁récompense",-13.54845905303955],["confortul",-13.548552513122559],["arbeitete",-13.548787117004395],["partenerii",-13.549064636230469],["mirrored",-13.54908561706543],["Dienstleister",-13.549243927001953],["▁Jakarta",-13.549243927001953],["▁WEBSITE",-13.549243927001953],["▁Acquisition",-13.549262046813965],["▁Miranda",-13.549287796020508],["Syndic",-13.549356460571289],["▁stadiu",-13.549450874328613],["▁Parchet",-13.549498558044434],["Générale",-13.54954719543457],["▁jpl",-13.549579620361328],["attainable",-13.549949645996094],["École",-13.550041198730469],["Sphere",-13.550538063049316],["obtainable",-13.550592422485352],["▁Sapphire",-13.55081558227539],["▁aérienne",-13.55081558227539],["▁bărbați",-13.55081558227539],["▁irritating",-13.55081558227539],["▁ultraviolet",-13.550816535949707],["untouched",-13.550817489624023],["▁Ramsey",-13.550819396972656],["titres",-13.551087379455566],["▁Coordinat",-13.551218032836914],["believable",-13.551358222961426],["▁Grundsätzlich",-13.551602363586426],["▁konsequent",-13.551602363586426],["▁Cerceta",-13.551909446716309],["dirigé",-13.552116394042969],["▁disturb",-13.552151679992676],["conciliation",-13.552210807800293],["▁gelöscht",-13.552390098571777],["▁sauvegarde",-13.552391052246094],["▁cavities",-13.552393913269043],["stunde",-13.55241584777832],["▁foloseasc",-13.552430152893066],["▁simpati",-13.552873611450195],["Chacun",-13.553032875061035],["adversaire",-13.553178787231445],["Eigentlich",-13.55319881439209],["defense",-13.553593635559082],["consider",-13.553672790527344],["▁Trinidad",-13.553966522216797],["▁strategist",-13.553966522216797],["distorted",-13.553967475891113],["▁hypothetical",-13.553967475891113],["▁ramburs",-13.55396842956543],["▁Mallorca",-13.553970336914062],["▁Domino",-13.554018020629883],["arrondissement",-13.554756164550781],["konferenz",-13.554756164550781],["▁Beleuchtung",-13.554756164550781],["aggregat",-13.55484676361084],["subsidize",-13.554896354675293],["shri",-13.555503845214844],["Kaufentscheidung",-13.555545806884766],["▁Hernandez",-13.555545806884766],["▁Upholster",-13.555546760559082],["atlantic",-13.555614471435547],["▁locuinte",-13.555652618408203],["integrates",-13.55583381652832],["ewusst",-13.555878639221191],["▁Avocado",-13.556337356567383],["Decorative",-13.557014465332031],["▁Corinthians",-13.557127952575684],["▁clădire",-13.557127952575684],["▁plomberie",-13.557127952575684],["vases",-13.557143211364746],["▁crippl",-13.557247161865234],["cluttered",-13.557487487792969],["departed",-13.557807922363281],["▁entscheidet",-13.5579195022583],["Certaine",-13.558243751525879],["honda",-13.558294296264648],["triggering",-13.558527946472168],["▁Erdogan",-13.558712005615234],["▁Widerstand",-13.558712005615234],["▁Bhutan",-13.558713912963867],["▁ascunde",-13.558736801147461],["▁shading",-13.558748245239258],["behavioural",-13.559172630310059],["▁transfér",-13.55960750579834],["versichert",-13.559623718261719],["▁vinovat",-13.559646606445312],["▁airfare",-13.560142517089844],["▁simplistic",-13.56030559539795],["▁Asigura",-13.560320854187012],["Chauffe",-13.560480117797852],["scrisă",-13.560585975646973],["trouvez",-13.560702323913574],["greasy",-13.560709953308105],["bottled",-13.560809135437012],["grouped",-13.560934066772461],["▁beeinflussen",-13.561092376708984],["▁chronological",-13.561114311218262],["(2000)",-13.56127643585205],["sheltered",-13.561298370361328],["Historically",-13.561931610107422],["piled",-13.562012672424316],["publicate",-13.562378883361816],["▁étudié",-13.56268310546875],["▁vertraut",-13.562688827514648],["▁Anpassung",-13.562697410583496],["cifra",-13.562705993652344],["▁recueil",-13.562762260437012],["enforceable",-13.563183784484863],["Distinguished",-13.56347942352295],["Empfänger",-13.56347942352295],["▁Acrylic",-13.56347942352295],["▁Encyclopedia",-13.56347942352295],["▁proaspete",-13.56347942352295],["▁unrealistic",-13.56347942352295],["▁Assignment",-13.563481330871582],["▁incubator",-13.563491821289062],["▁unilateral",-13.563501358032227],["elasticity",-13.564398765563965],["amintim",-13.564475059509277],["fournit",-13.564553260803223],["semblent",-13.564763069152832],["▁$69.",-13.56496524810791],["▁prominence",-13.56507396697998],["Übertragung",-13.565075874328613],["▁2014-11-",-13.565075874328613],["▁Giurgiu",-13.565104484558105],["étendue",-13.565123558044434],["ceputul",-13.565187454223633],["Schwierigkeiten",-13.565872192382812],["▁subtract",-13.565881729125977],["▁gesichert",-13.56589126586914],["▁uimit",-13.565925598144531],["▁mensuel",-13.565967559814453],["Vorgaben",-13.566215515136719],["▁legitimacy",-13.566670417785645],["▁Kendall",-13.566673278808594],["▁détach",-13.566790580749512],["▁kennenlernen",-13.567469596862793],["▁gewöhnlich",-13.56747055053711],["Octav",-13.567917823791504],["responsive",-13.568169593811035],["▁Mängel",-13.568269729614258],["▁mișcare",-13.568269729614258],["▁ludique",-13.568270683288574],["▁Exeter",-13.568324089050293],["▁respins",-13.569114685058594],["oraşului",-13.569173812866211],["▁sfârşit",-13.56949520111084],["BUSINESS",-13.56987190246582],["illustrating",-13.56987190246582],["▁Tottenham",-13.56987190246582],["▁pruning",-13.569886207580566],["▁Înainte",-13.569904327392578],["▁interesel",-13.570096969604492],["discovered",-13.57031536102295],["(0)",-13.570572853088379],["▁Bewerber",-13.570673942565918],["▁DESIGN",-13.570673942565918],["▁Orientierung",-13.570686340332031],["library",-13.571041107177734],["cheltuielile",-13.571419715881348],["▁Canterbury",-13.571475982666016],["▁intellectuelle",-13.571477890014648],["▁amalgam",-13.571497917175293],["▁Toledo",-13.57150650024414],["gezahlt",-13.571531295776367],["Veronica",-13.571659088134766],["deleting",-13.571946144104004],["▁Merlin",-13.572442054748535],["▁opérationnel",-13.572554588317871],["schmutz",-13.572568893432617],["hyroid",-13.57279109954834],["▁Compatible",-13.57308292388916],["▁Leopard",-13.57308292388916],["▁cylindrical",-13.57308292388916],["▁terrestrial",-13.57308292388916],["conferencing",-13.573088645935059],["▁Variety",-13.573097229003906],["▁Screw",-13.573164939880371],["character",-13.573637962341309],["shortened",-13.573643684387207],["▁întrerup",-13.573736190795898],["freude",-13.573884010314941],["▁dezbateri",-13.573887825012207],["viteză",-13.574563026428223],["formațiile",-13.574600219726562],["▁responsibly",-13.574692726135254],["Dimensiuni",-13.574695587158203],["Arrangement",-13.57469654083252],["▁Leisure",-13.574712753295898],["escaping",-13.5750732421875],["flexion",-13.575104713439941],["▁religieuse",-13.575308799743652],["crystalline",-13.575457572937012],["▁clasp",-13.575520515441895],["festigt",-13.57554817199707],["▁trouvai",-13.57596206665039],["cutaneous",-13.576305389404297],["▁carcinoma",-13.576305389404297],["▁juxtapos",-13.576305389404297],["assemblage",-13.576306343078613],["▁Messiah",-13.576306343078613],["▁Sleeve",-13.576306343078613],["▁șofer",-13.576386451721191],["/05/",-13.57666301727295],["▁expoziți",-13.576703071594238],["▁pătrun",-13.577343940734863],["▁Lydia",-13.57739543914795],["▁grădini",-13.577919006347656],["▁toothpaste",-13.577919960021973],["ordained",-13.577921867370605],["▁Renovation",-13.577922821044922],["voicing",-13.578327178955078],["président",-13.578595161437988],["▁gestartet",-13.578728675842285],["Multi",-13.579121589660645],["itinéraire",-13.579537391662598],["▁influenza",-13.579537391662598],["▁psychiatrist",-13.579537391662598],["▁schizophrenia",-13.579537391662598],["▁Magnolia",-13.57953929901123],["▁Scottsdale",-13.579541206359863],["▁interessieren",-13.579548835754395],["▁asfalt",-13.579643249511719],["▁Journalism",-13.57977294921875],["Multe",-13.580089569091797],["Westfalen",-13.580347061157227],["▁Vorschriften",-13.580348014831543],["Angleterre",-13.58034896850586],["sustainable",-13.580354690551758],["▁Retour",-13.580589294433594],["▁pâr",-13.5809965133667],["steigert",-13.581120491027832],["▁AMAZING",-13.581157684326172],["▁turbulent",-13.581157684326172],["costing",-13.58155345916748],["▁Carolyn",-13.581634521484375],["utti",-13.581802368164062],["dürftig",-13.581968307495117],["Keep",-13.582038879394531],["▁Théâtre",-13.582780838012695],["▁combustibil",-13.582780838012695],["▁halloween",-13.582780838012695],["▁emulator",-13.582785606384277],["▁povești",-13.582785606384277],["broyeur",-13.582810401916504],["▁émerg",-13.582927703857422],["overwhelmingly",-13.583025932312012],["regulă",-13.583124160766602],["goutte",-13.583125114440918],["▁Fertigung",-13.583593368530273],["constituted",-13.584304809570312],["▁QuickBooks",-13.584406852722168],["▁genealogy",-13.584407806396484],["▁laundering",-13.584432601928711],["▁échéan",-13.584491729736328],["Account",-13.584601402282715],["oyons",-13.584792137145996],["nitro",-13.584905624389648],["▁corespund",-13.585219383239746],["▁suggér",-13.58527660369873],["manipulated",-13.585348129272461],["deseori",-13.585817337036133],["permeabil",-13.585912704467773],["Australia",-13.58594799041748],["▁Erasmus",-13.586034774780273],["▁disrespect",-13.586034774780273],["▁trimestre",-13.586038589477539],["▁emanat",-13.586103439331055],["Schraub",-13.58624267578125],["distinctly",-13.586319923400879],["Germain",-13.586637496948242],["▁pedepse",-13.5868501663208],["réglage",-13.5868558883667],["făcute",-13.587308883666992],["▁garanteaz",-13.587434768676758],["▁unterlieg",-13.587701797485352],["▁cheddar",-13.587712287902832],["▁refugi",-13.587756156921387],["▁inférieur",-13.587836265563965],["dimension",-13.588440895080566],["▁erkennt",-13.588570594787598],["amitié",-13.588632583618164],["▁predominant",-13.588680267333984],["nourishe",-13.588800430297852],["exerce",-13.588907241821289],["▁disguise",-13.589225769042969],["▁traditi",-13.589289665222168],["▁Intellectual",-13.5892972946167],["▁imunitar",-13.589299201965332],["▁Cushion",-13.589300155639648],["▁erwachsene",-13.589517593383789],["▁Internațional",-13.590115547180176],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0],["",0.0]]}} \ No newline at end of file diff --git a/docs/anima_train_network.md b/docs/anima_train_network.md new file mode 100644 index 000000000..fe6b23549 --- /dev/null +++ b/docs/anima_train_network.md @@ -0,0 +1,556 @@ +# LoRA Training Guide for Anima using `anima_train_network.py` / `anima_train_network.py` を用いたAnima モデルのLoRA学習ガイド + +This document explains how to train LoRA (Low-Rank Adaptation) models for Anima using `anima_train_network.py` in the `sd-scripts` repository. + +

+日本語 + +このドキュメントでは、`sd-scripts`リポジトリに含まれる`anima_train_network.py`を使用して、Anima モデルに対するLoRA (Low-Rank Adaptation) モデルを学習する基本的な手順について解説します。 + +
+ +## 1. Introduction / はじめに + +`anima_train_network.py` trains additional networks such as LoRA for Anima models. Anima adopts a DiT (Diffusion Transformer) architecture based on the MiniTrainDIT design with Rectified Flow training. It uses a Qwen3-0.6B text encoder, an LLM Adapter (6-layer transformer bridge from Qwen3 to T5-compatible space), and a WanVAE (16-channel, 8x spatial downscale). + +This guide assumes you already understand the basics of LoRA training. For common usage and options, see the [train_network.py guide](train_network.md). Some parameters are similar to those in [`sd3_train_network.py`](sd3_train_network.md) and [`flux_train_network.py`](flux_train_network.md). + +**Prerequisites:** + +* The `sd-scripts` repository has been cloned and the Python environment is ready. +* A training dataset has been prepared. See the [Dataset Configuration Guide](./config_README-en.md). +* Anima model files for training are available. + +
+日本語 + +`anima_train_network.py`は、Anima モデルに対してLoRAなどの追加ネットワークを学習させるためのスクリプトです。AnimaはMiniTrainDIT設計に基づくDiT (Diffusion Transformer) アーキテクチャを採用しており、Rectified Flow学習を使用します。テキストエンコーダーとしてQwen3-0.6B、LLM Adapter (Qwen3からT5互換空間への6層Transformerブリッジ)、およびWanVAE (16チャンネル、8倍空間ダウンスケール) を使用します。 + +このガイドは、基本的なLoRA学習の手順を理解しているユーザーを対象としています。基本的な使い方や共通のオプションについては、[`train_network.py`のガイド](train_network.md)を参照してください。また一部のパラメータは [`sd3_train_network.py`](sd3_train_network.md) や [`flux_train_network.py`](flux_train_network.md) と同様のものがあるため、そちらも参考にしてください。 + +**前提条件:** + +* `sd-scripts`リポジトリのクローンとPython環境のセットアップが完了していること。 +* 学習用データセットの準備が完了していること。(データセットの準備については[データセット設定ガイド](./config_README-en.md)を参照してください) +* 学習対象のAnimaモデルファイルが準備できていること。 +
+ +## 2. Differences from `train_network.py` / `train_network.py` との違い + +`anima_train_network.py` is based on `train_network.py` but modified for Anima . Main differences are: + +* **Target models:** Anima DiT models. +* **Model structure:** Uses a MiniTrainDIT (Transformer based) instead of U-Net. Employs a single text encoder (Qwen3-0.6B), an LLM Adapter that bridges Qwen3 embeddings to T5-compatible cross-attention space, and a WanVAE (16-channel latent space with 8x spatial downscale). +* **Arguments:** Options exist to specify the Anima DiT model, Qwen3 text encoder, WanVAE, LLM adapter, and T5 tokenizer separately. +* **Incompatible arguments:** Stable Diffusion v1/v2 options such as `--v2`, `--v_parameterization` and `--clip_skip` are not used. +* **Anima specific options:** Additional parameters for component-wise learning rates (self_attn, cross_attn, mlp, mod, llm_adapter), timestep sampling, discrete flow shift, and flash attention. +* **6 Parameter Groups:** Independent learning rates for `base`, `self_attn`, `cross_attn`, `mlp`, `adaln_modulation`, and `llm_adapter` components. + +
+日本語 + +`anima_train_network.py`は`train_network.py`をベースに、Anima モデルに対応するための変更が加えられています。主な違いは以下の通りです。 + +* **対象モデル:** Anima DiTモデルを対象とします。 +* **モデル構造:** U-Netの代わりにMiniTrainDIT (Transformerベース) を使用します。テキストエンコーダーとしてQwen3-0.6B、Qwen3埋め込みをT5互換のクロスアテンション空間に変換するLLM Adapter、およびWanVAE (16チャンネル潜在空間、8倍空間ダウンスケール) を使用します。 +* **引数:** Anima DiTモデル、Qwen3テキストエンコーダー、WanVAE、LLM Adapter、T5トークナイザーを個別に指定する引数があります。 +* **一部引数の非互換性:** Stable Diffusion v1/v2向けの引数(例: `--v2`, `--v_parameterization`, `--clip_skip`)はAnimaの学習では使用されません。 +* **Anima特有の引数:** コンポーネント別学習率(self_attn, cross_attn, mlp, mod, llm_adapter)、タイムステップサンプリング、離散フローシフト、Flash Attentionに関する引数が追加されています。 +* **6パラメータグループ:** `base`、`self_attn`、`cross_attn`、`mlp`、`adaln_modulation`、`llm_adapter`の各コンポーネントに対して独立した学習率を設定できます。 +
+ +## 3. Preparation / 準備 + +The following files are required before starting training: + +1. **Training script:** `anima_train_network.py` +2. **Anima DiT model file:** `.safetensors` file for the base DiT model. +3. **Qwen3-0.6B text encoder:** Either a HuggingFace model directory or a single `.safetensors` file (requires `configs/qwen3_06b/` config files). +4. **WanVAE model file:** `.safetensors` or `.pth` file for the VAE. +5. **LLM Adapter model file (optional):** `.safetensors` file. If not provided separately, the adapter is loaded from the DiT file if the key `llm_adapter.out_proj.weight` exists. +6. **T5 Tokenizer (optional):** If not specified, uses the bundled tokenizer at `configs/t5_old/`. +7. **Dataset definition file (.toml):** Dataset settings in TOML format. (See the [Dataset Configuration Guide](./config_README-en.md).) In this document we use `my_anima_dataset_config.toml` as an example. + +**Notes:** +* When using a single `.safetensors` file for Qwen3, download the `config.json`, `tokenizer.json`, `tokenizer_config.json`, and `vocab.json` from the [Qwen/Qwen3-0.6B](https://huggingface.co/Qwen/Qwen3-0.6B) HuggingFace repository into the `configs/qwen3_06b/` directory. +* The T5 tokenizer only needs the tokenizer files (not the T5 model weights). It uses the vocabulary from `google/t5-v1_1-xxl`. +* Models are saved with a `net.` prefix on all keys for ComfyUI compatibility. + +
+日本語 + +学習を開始する前に、以下のファイルが必要です。 + +1. **学習スクリプト:** `anima_train_network.py` +2. **Anima DiTモデルファイル:** ベースとなるDiTモデルの`.safetensors`ファイル。 +3. **Qwen3-0.6Bテキストエンコーダー:** HuggingFaceモデルディレクトリまたは単体の`.safetensors`ファイル(`configs/qwen3_06b/`の設定ファイルが必要)。 +4. **WanVAEモデルファイル:** VAEの`.safetensors`または`.pth`ファイル。 +5. **LLM Adapterモデルファイル(オプション):** `.safetensors`ファイル。個別に指定しない場合、DiTファイル内に`llm_adapter.out_proj.weight`キーが存在すればそこから読み込まれます。 +6. **T5トークナイザー(オプション):** 指定しない場合、`configs/t5_old/`のバンドル版トークナイザーを使用します。 +7. **データセット定義ファイル (.toml):** 学習データセットの設定を記述したTOML形式のファイル。(詳細は[データセット設定ガイド](./config_README-en.md)を参照してください)。例として`my_anima_dataset_config.toml`を使用します。 + +**注意:** +* Qwen3の単体`.safetensors`ファイルを使用する場合、[Qwen/Qwen3-0.6B](https://huggingface.co/Qwen/Qwen3-0.6B) HuggingFaceリポジトリから`config.json`、`tokenizer.json`、`tokenizer_config.json`、`vocab.json`をダウンロードし、`configs/qwen3_06b/`ディレクトリに配置してください。 +* T5トークナイザーはトークナイザーファイルのみ必要です(T5モデルの重みは不要)。`google/t5-v1_1-xxl`の語彙を使用します。 +* モデルはComfyUI互換のため、すべてのキーに`net.`プレフィックスを付けて保存されます。 +
+ +## 4. Running the Training / 学習の実行 + +Execute `anima_train_network.py` from the terminal to start training. The overall command-line format is the same as `train_network.py`, but Anima specific options must be supplied. + +Example command: + +```bash +accelerate launch --num_cpu_threads_per_process 1 anima_train_network.py \ + --dit_path="" \ + --qwen3_path="" \ + --vae_path="" \ + --llm_adapter_path="" \ + --dataset_config="my_anima_dataset_config.toml" \ + --output_dir="" \ + --output_name="my_anima_lora" \ + --save_model_as=safetensors \ + --network_module=networks.lora_anima \ + --network_dim=8 \ + --network_alpha=8 \ + --learning_rate=1e-4 \ + --optimizer_type="AdamW8bit" \ + --lr_scheduler="constant" \ + --timestep_sample_method="logit_normal" \ + --discrete_flow_shift=3.0 \ + --max_train_epochs=10 \ + --save_every_n_epochs=1 \ + --mixed_precision="bf16" \ + --gradient_checkpointing \ + --cache_latents \ + --cache_text_encoder_outputs \ + --blocks_to_swap=18 +``` + +*(Write the command on one line or use `\` or `^` for line breaks.)* + +
+日本語 + +学習は、ターミナルから`anima_train_network.py`を実行することで開始します。基本的なコマンドラインの構造は`train_network.py`と同様ですが、Anima特有の引数を指定する必要があります。 + +コマンドラインの例は英語のドキュメントを参照してください。 + +※実際には1行で書くか、適切な改行文字(`\` または `^`)を使用してください。 +
+ +### 4.1. Explanation of Key Options / 主要なコマンドライン引数の解説 + +Besides the arguments explained in the [train_network.py guide](train_network.md), specify the following Anima specific options. For shared options (`--output_dir`, `--output_name`, `--network_module`, etc.), see that guide. + +#### Model Options [Required] / モデル関連 [必須] + +* `--dit_path=""` **[Required]** + - Path to the Anima DiT model `.safetensors` file. The model config (channels, blocks, heads) is auto-detected from the state dict. ComfyUI format with `net.` prefix is supported. +* `--qwen3_path=""` **[Required]** + - Path to the Qwen3-0.6B text encoder. Can be a HuggingFace model directory or a single `.safetensors` file. The text encoder is always frozen during training. +* `--vae_path=""` **[Required]** + - Path to the WanVAE model `.safetensors` or `.pth` file. Fixed config: `dim=96, z_dim=16`. +* `--llm_adapter_path=""` *[Optional]* + - Path to a separate LLM adapter weights file. If omitted, the adapter is loaded from the DiT file when the key `llm_adapter.out_proj.weight` exists. +* `--t5_tokenizer_path=""` *[Optional]* + - Path to the T5 tokenizer directory. If omitted, uses the bundled config at `configs/t5_old/`. + +#### Anima Training Parameters / Anima 学習パラメータ + +* `--timestep_sample_method=` + - Timestep sampling method. Choose from `logit_normal` (default) or `uniform`. +* `--discrete_flow_shift=` + - Shift for the timestep distribution in Rectified Flow training. Default `3.0`. The shift formula is `t_shifted = (t * shift) / (1 + (shift - 1) * t)`. +* `--sigmoid_scale=` + - Scale factor for `logit_normal` timestep sampling. Default `1.0`. +* `--qwen3_max_token_length=` + - Maximum token length for the Qwen3 tokenizer. Default `512`. +* `--t5_max_token_length=` + - Maximum token length for the T5 tokenizer. Default `512`. +* `--flash_attn` + - Use Flash Attention for DiT self/cross-attention. Requires `pip install flash-attn`. Falls back to PyTorch SDPA if the package is not installed. Note: Flash Attention is only applied to DiT blocks; the LLM Adapter uses standard attention because it requires attention masks. +* `--transformer_dtype=` + - Separate dtype for transformer blocks. Choose from `float16`, `bfloat16`, `float32`. If not specified, uses the same dtype as `--mixed_precision`. + +#### Component-wise Learning Rates / コンポーネント別学習率 + +Anima supports 6 independent learning rate groups. Set to `0` to freeze a component: + +* `--self_attn_lr=` - Learning rate for self-attention layers. Default: same as `--learning_rate`. +* `--cross_attn_lr=` - Learning rate for cross-attention layers. Default: same as `--learning_rate`. +* `--mlp_lr=` - Learning rate for MLP layers. Default: same as `--learning_rate`. +* `--mod_lr=` - Learning rate for AdaLN modulation layers. Default: same as `--learning_rate`. +* `--llm_adapter_lr=` - Learning rate for LLM adapter layers. Default: same as `--learning_rate`. + +#### Memory and Speed / メモリ・速度関連 + +* `--blocks_to_swap=` **[Experimental]** + - Number of Transformer blocks to swap between CPU and GPU. More blocks reduce VRAM but slow training. Maximum values depend on model size: + - 28-block model: max **26** + - 36-block model: max **34** + - 20-block model: max **18** + - Cannot be used with `--cpu_offload_checkpointing` or `--unsloth_offload_checkpointing`. +* `--unsloth_offload_checkpointing` + - Offload activations to CPU RAM using async non-blocking transfers. Faster than `--cpu_offload_checkpointing`. Cannot be combined with `--cpu_offload_checkpointing` or `--blocks_to_swap`. +* `--cache_text_encoder_outputs` + - Cache Qwen3 text encoder outputs to reduce VRAM usage. Recommended when not training text encoder LoRA. +* `--cache_text_encoder_outputs_to_disk` + - Cache text encoder outputs to disk. Auto-enables `--cache_text_encoder_outputs`. +* `--cache_latents`, `--cache_latents_to_disk` + - Cache WanVAE latent outputs. +* `--fp8_base` + - Use FP8 precision for the base model to reduce VRAM usage. + +#### Incompatible or Deprecated Options / 非互換・非推奨の引数 + +* `--v2`, `--v_parameterization`, `--clip_skip` - Options for Stable Diffusion v1/v2 that are not used for Anima training. + +
+日本語 + +[`train_network.py`のガイド](train_network.md)で説明されている引数に加え、以下のAnima特有の引数を指定します。共通の引数については、上記ガイドを参照してください。 + +#### モデル関連 [必須] + +* `--dit_path=""` **[必須]** - Anima DiTモデルの`.safetensors`ファイルのパスを指定します。 +* `--qwen3_path=""` **[必須]** - Qwen3-0.6Bテキストエンコーダーのパスを指定します。 +* `--vae_path=""` **[必須]** - WanVAEモデルのパスを指定します。 +* `--llm_adapter_path=""` *[オプション]* - 個別のLLM Adapterの重みファイルのパス。 +* `--t5_tokenizer_path=""` *[オプション]* - T5トークナイザーディレクトリのパス。 + +#### Anima 学習パラメータ + +* `--timestep_sample_method` - タイムステップのサンプリング方法。`logit_normal`(デフォルト)または`uniform`。 +* `--discrete_flow_shift` - Rectified Flow学習のタイムステップ分布シフト。デフォルト`3.0`。 +* `--sigmoid_scale` - logit_normalタイムステップサンプリングのスケール係数。デフォルト`1.0`。 +* `--qwen3_max_token_length` - Qwen3トークナイザーの最大トークン長。デフォルト`512`。 +* `--t5_max_token_length` - T5トークナイザーの最大トークン長。デフォルト`512`。 +* `--flash_attn` - DiTのself/cross-attentionにFlash Attentionを使用。`pip install flash-attn`が必要。 +* `--transformer_dtype` - Transformerブロック用の個別dtype。 + +#### コンポーネント別学習率 + +Animaは6つの独立した学習率グループをサポートします。`0`に設定するとそのコンポーネントをフリーズします: + +* `--self_attn_lr` - Self-attention層の学習率。 +* `--cross_attn_lr` - Cross-attention層の学習率。 +* `--mlp_lr` - MLP層の学習率。 +* `--mod_lr` - AdaLNモジュレーション層の学習率。 +* `--llm_adapter_lr` - LLM Adapter層の学習率。 + +#### メモリ・速度関連 + +* `--blocks_to_swap` **[実験的機能]** - TransformerブロックをCPUとGPUでスワップしてVRAMを節約。 +* `--unsloth_offload_checkpointing` - 非同期転送でアクティベーションをCPU RAMにオフロード。 +* `--cache_text_encoder_outputs` - Qwen3の出力をキャッシュしてメモリ使用量を削減。 +* `--cache_latents`, `--cache_latents_to_disk` - WanVAEの出力をキャッシュ。 +* `--fp8_base` - ベースモデルにFP8精度を使用。 +
+ +### 4.2. Starting Training / 学習の開始 + +After setting the required arguments, run the command to begin training. The overall flow and how to check logs are the same as in the [train_network.py guide](train_network.md#32-starting-the-training--学習の開始). + +
+日本語 + +必要な引数を設定したら、コマンドを実行して学習を開始します。全体の流れやログの確認方法は、[train_network.pyのガイド](train_network.md#32-starting-the-training--学習の開始)と同様です。 + +
+ +## 5. LoRA Target Modules / LoRAの学習対象モジュール + +When training LoRA with `anima_train_network.py`, the following modules are targeted: + +* **DiT Blocks (`Block`)**: Self-attention, cross-attention, MLP, and AdaLN modulation layers within each transformer block. +* **LLM Adapter Blocks (`LLMAdapterTransformerBlock`)**: Only when `--network_args "train_llm_adapter=True"` is specified. +* **Text Encoder (Qwen3)**: Only when `--network_train_unet_only` is NOT specified. + +The LoRA network module is `networks.lora_anima`. + +### 5.1. Layer-specific Rank Configuration / 各層に対するランク指定 + +You can specify different ranks (network_dim) for each component of the Anima model. Setting `0` disables LoRA for that component. + +| network_args | Target Component | +|---|---| +| `self_attn_dim` | Self-attention layers in DiT blocks | +| `cross_attn_dim` | Cross-attention layers in DiT blocks | +| `mlp_dim` | MLP layers in DiT blocks | +| `mod_dim` | AdaLN modulation layers in DiT blocks | +| `llm_adapter_dim` | LLM adapter layers (requires `train_llm_adapter=True`) | + +Example usage: +``` +--network_args "self_attn_dim=8" "cross_attn_dim=4" "mlp_dim=8" "mod_dim=4" +``` + +### 5.2. Embedding Layer LoRA / 埋め込み層LoRA + +You can apply LoRA to embedding/output layers by specifying `emb_dims` in network_args as a comma-separated list of 3 numbers: + +``` +--network_args "emb_dims=[8,4,8]" +``` + +Each number corresponds to: +1. `x_embedder` (patch embedding) +2. `t_embedder` (timestep embedding) +3. `final_layer` (output layer) + +Setting `0` disables LoRA for that layer. + +### 5.3. Block Selection for Training / 学習するブロックの指定 + +You can specify which DiT blocks to train using `train_block_indices` in network_args. The indices are 0-based. Default is to train all blocks. + +Specify indices as comma-separated integers or ranges: + +``` +--network_args "train_block_indices=0-5,10,15-27" +``` + +Special values: `all` (train all blocks), `none` (skip all blocks). + +### 5.4. LLM Adapter LoRA / LLM Adapter LoRA + +To apply LoRA to the LLM Adapter blocks: + +``` +--network_args "train_llm_adapter=True" "llm_adapter_dim=4" +``` + +### 5.5. Other Network Args / その他のネットワーク引数 + +* `--network_args "verbose=True"` - Print all LoRA module names and their dimensions. +* `--network_args "rank_dropout=0.1"` - Rank dropout rate. +* `--network_args "module_dropout=0.1"` - Module dropout rate. +* `--network_args "loraplus_lr_ratio=2.0"` - LoRA+ learning rate ratio. +* `--network_args "loraplus_unet_lr_ratio=2.0"` - LoRA+ learning rate ratio for DiT only. +* `--network_args "loraplus_text_encoder_lr_ratio=2.0"` - LoRA+ learning rate ratio for text encoder only. + +
+日本語 + +`anima_train_network.py`でLoRAを学習させる場合、デフォルトでは以下のモジュールが対象となります。 + +* **DiTブロック (`Block`)**: 各Transformerブロック内のSelf-attention、Cross-attention、MLP、AdaLNモジュレーション層。 +* **LLM Adapterブロック (`LLMAdapterTransformerBlock`)**: `--network_args "train_llm_adapter=True"`を指定した場合のみ。 +* **テキストエンコーダー (Qwen3)**: `--network_train_unet_only`を指定しない場合のみ。 + +### 5.1. 各層のランクを指定する + +`--network_args`で各コンポーネントに異なるランクを指定できます。`0`を指定するとその層にはLoRAが適用されません。 + +|network_args|対象コンポーネント| +|---|---| +|`self_attn_dim`|DiTブロック内のSelf-attention層| +|`cross_attn_dim`|DiTブロック内のCross-attention層| +|`mlp_dim`|DiTブロック内のMLP層| +|`mod_dim`|DiTブロック内のAdaLNモジュレーション層| +|`llm_adapter_dim`|LLM Adapter層(`train_llm_adapter=True`が必要)| + +### 5.2. 埋め込み層LoRA + +`emb_dims`で埋め込み/出力層にLoRAを適用できます。3つの数値をカンマ区切りで指定します。 + +各数値は `x_embedder`(パッチ埋め込み)、`t_embedder`(タイムステップ埋め込み)、`final_layer`(出力層)に対応します。 + +### 5.3. 学習するブロックの指定 + +`train_block_indices`でLoRAを適用するDiTブロックを指定できます。 + +### 5.4. LLM Adapter LoRA + +LLM AdapterブロックにLoRAを適用するには:`--network_args "train_llm_adapter=True" "llm_adapter_dim=4"` + +### 5.5. その他のネットワーク引数 + +* `verbose=True` - 全LoRAモジュール名とdimを表示 +* `rank_dropout` - ランクドロップアウト率 +* `module_dropout` - モジュールドロップアウト率 +* `loraplus_lr_ratio` - LoRA+学習率比率 + +
+ +## 6. Using the Trained Model / 学習済みモデルの利用 + +When training finishes, a LoRA model file (e.g. `my_anima_lora.safetensors`) is saved in the directory specified by `output_dir`. Use this file with inference environments that support Anima , such as ComfyUI with appropriate nodes. + +
+日本語 + +学習が完了すると、指定した`output_dir`にLoRAモデルファイル(例: `my_anima_lora.safetensors`)が保存されます。このファイルは、Anima モデルに対応した推論環境(例: ComfyUI + 適切なノード)で使用できます。 + +
+ +## 7. Advanced Settings / 高度な設定 + +### 7.1. VRAM Usage Optimization / VRAM使用量の最適化 + +Anima models can be large, so GPUs with limited VRAM may require optimization: + +#### Key VRAM Reduction Options + +- **`--fp8_base`**: Enables training in FP8 format for the DiT model. + +- **`--blocks_to_swap `**: Swaps blocks between CPU and GPU to reduce VRAM usage. Higher numbers save more VRAM but reduce training speed. See model-specific max values in section 4.1. + +- **`--unsloth_offload_checkpointing`**: Offloads gradient checkpoints to CPU using async non-blocking transfers. Faster than `--cpu_offload_checkpointing`. Cannot be combined with `--blocks_to_swap`. + +- **`--gradient_checkpointing`**: Standard gradient checkpointing to reduce VRAM at the cost of compute. + +- **`--cache_text_encoder_outputs`**: Caches Qwen3 outputs so the text encoder can be freed from VRAM during training. + +- **`--cache_latents`**: Caches WanVAE outputs so the VAE can be freed from VRAM during training. + +- **Using Adafactor optimizer**: Can reduce VRAM usage: + ``` + --optimizer_type adafactor --optimizer_args "relative_step=False" "scale_parameter=False" "warmup_init=False" --lr_scheduler constant_with_warmup --max_grad_norm 0.0 + ``` + +
+日本語 + +Animaモデルは大きい場合があるため、VRAMが限られたGPUでは最適化が必要です。 + +主要なVRAM削減オプション: +- `--fp8_base`: FP8形式での学習を有効化 +- `--blocks_to_swap`: CPUとGPU間でブロックをスワップ +- `--unsloth_offload_checkpointing`: 非同期転送でアクティベーションをCPUにオフロード +- `--gradient_checkpointing`: 標準的な勾配チェックポイント +- `--cache_text_encoder_outputs`: Qwen3の出力をキャッシュ +- `--cache_latents`: WanVAEの出力をキャッシュ +- Adafactorオプティマイザの使用 + +
+ +### 7.2. Training Settings / 学習設定 + +#### Timestep Sampling + +The `--timestep_sample_method` option specifies how timesteps (0-1) are sampled: + +- `logit_normal` (default): Sample from Normal(0,1), multiply by `sigmoid_scale`, apply sigmoid. Good general-purpose option. +- `uniform`: Uniform random sampling from [0, 1]. + +#### Discrete Flow Shift + +The `--discrete_flow_shift` option (default `3.0`) shifts the timestep distribution toward higher noise levels. The formula is: + +``` +t_shifted = (t * shift) / (1 + (shift - 1) * t) +``` + +Timesteps are clamped to `[1e-5, 1-1e-5]` after shifting. + +#### Loss Weighting + +The `--weighting_scheme` option specifies loss weighting by timestep: + +- `uniform` (default): Equal weight for all timesteps. +- `sigma_sqrt`: Weight by `sigma^(-2)`. +- `cosmap`: Weight by `2 / (pi * (1 - 2*sigma + 2*sigma^2))`. +- `none`: Same as uniform. + +#### Caption Dropout + +Use `--caption_dropout_rate` for embedding-level caption dropout. This is handled by `AnimaTextEncodingStrategy` and is compatible with text encoder output caching. The subset-level `caption_dropout_rate` is automatically zeroed when this is set. + +
+日本語 + +#### タイムステップサンプリング + +`--timestep_sample_method`でタイムステップのサンプリング方法を指定します: +- `logit_normal`(デフォルト): 正規分布からサンプリングし、sigmoidを適用。 +- `uniform`: [0, 1]の一様分布からサンプリング。 + +#### 離散フローシフト + +`--discrete_flow_shift`(デフォルト`3.0`)はタイムステップ分布を高ノイズ側にシフトします。 + +#### 損失の重み付け + +`--weighting_scheme`でタイムステップごとの損失の重み付けを指定します。 + +#### キャプションドロップアウト + +`--caption_dropout_rate`で埋め込みレベルのキャプションドロップアウトを使用します。テキストエンコーダー出力のキャッシュと互換性があります。 + +
+ +### 7.3. Text Encoder LoRA Support / Text Encoder LoRAのサポート + +Anima LoRA training supports training Qwen3 text encoder LoRA: + +- To train only DiT: specify `--network_train_unet_only` +- To train DiT and Qwen3: omit `--network_train_unet_only` + +You can specify a separate learning rate for Qwen3 with `--text_encoder_lr`. If not specified, the default `--learning_rate` is used. + +
+日本語 + +Anima LoRA学習では、Qwen3テキストエンコーダーのLoRAもトレーニングできます。 + +- DiTのみ学習: `--network_train_unet_only`を指定 +- DiTとQwen3を学習: `--network_train_unet_only`を省略 + +
+ +## 8. Other Training Options / その他の学習オプション + +- **`--loss_type`**: Loss function for training. Default `l2`. + - `l1`: L1 loss. + - `l2`: L2 loss (mean squared error). + - `huber`: Huber loss. + - `smooth_l1`: Smooth L1 loss. + +- **`--huber_schedule`**, **`--huber_c`**, **`--huber_scale`**: Parameters for Huber loss when `--loss_type` is `huber` or `smooth_l1`. + +- **`--ip_noise_gamma`**, **`--ip_noise_gamma_random_strength`**: Input Perturbation noise gamma values. + +- **`--fused_backward_pass`**: Fuses the backward pass and optimizer step to reduce VRAM usage. Only works with Adafactor. For details, see the [`sdxl_train_network.py` guide](sdxl_train_network.md). + +- **`--weighting_scheme`**, **`--logit_mean`**, **`--logit_std`**, **`--mode_scale`**: Timestep loss weighting options. For details, refer to the [`sd3_train_network.md` guide](sd3_train_network.md). + +
+日本語 + +- **`--loss_type`**: 学習に用いる損失関数。デフォルト`l2`。`l1`, `l2`, `huber`, `smooth_l1`から選択。 +- **`--huber_schedule`**, **`--huber_c`**, **`--huber_scale`**: Huber損失のパラメータ。 +- **`--ip_noise_gamma`**: Input Perturbationノイズガンマ値。 +- **`--fused_backward_pass`**: バックワードパスとオプティマイザステップの融合。 +- **`--weighting_scheme`** 等: タイムステップ損失の重み付け。詳細は[`sd3_train_network.md`](sd3_train_network.md)を参照。 + +
+ +## 9. Others / その他 + +### Metadata Saved in LoRA Models + +The following Anima-specific metadata is saved in the LoRA model file: + +* `ss_weighting_scheme` +* `ss_discrete_flow_shift` +* `ss_timestep_sample_method` +* `ss_sigmoid_scale` + +
+日本語 + +`anima_train_network.py`には、サンプル画像の生成 (`--sample_prompts`など) や詳細なオプティマイザ設定など、`train_network.py`と共通の機能も多く存在します。これらについては、[`train_network.py`のガイド](train_network.md#5-other-features--その他の機能)やスクリプトのヘルプ (`python anima_train_network.py --help`) を参照してください。 + +### LoRAモデルに保存されるメタデータ + +以下のAnima固有のメタデータがLoRAモデルファイルに保存されます: + +* `ss_weighting_scheme` +* `ss_discrete_flow_shift` +* `ss_timestep_sample_method` +* `ss_sigmoid_scale` + +
diff --git a/library/anima_models.py b/library/anima_models.py new file mode 100644 index 000000000..6aad9d8c3 --- /dev/null +++ b/library/anima_models.py @@ -0,0 +1,1630 @@ +# Anima Model Architecture +# Original code: NVIDIA CORPORATION & AFFILIATES, licensed under Apache-2.0 + +import math +from typing import Any, Callable, List, Optional, Tuple, Union + +import numpy as np +import torch +from einops import rearrange, repeat +from einops.layers.torch import Rearrange +from torch import nn +import torch.nn.functional as F + +from torch.utils.checkpoint import checkpoint as torch_checkpoint + +from library import custom_offloading_utils +from library.device_utils import clean_memory_on_device + + + +def to_device(x, device): + if isinstance(x, torch.Tensor): + return x.to(device) + elif isinstance(x, (list, tuple)): + return type(x)(to_device(elem, device) for elem in x) + elif isinstance(x, dict): + return {k: to_device(v, device) for k, v in x.items()} + else: + return x + + +def to_cpu(x): + if isinstance(x, torch.Tensor): + return x.cpu() + elif isinstance(x, (list, tuple)): + return [to_cpu(elem) for elem in x] + elif isinstance(x, dict): + return {k: to_cpu(v) for k, v in x.items()} + else: + return x + +# Unsloth Offloaded Gradient Checkpointing +# Based on Unsloth Zoo by Daniel Han-Chen & the Unsloth team +try: + from deepspeed.runtime.activation_checkpointing.checkpointing import detach_variable +except ImportError: + def detach_variable(inputs, device=None): + """Detach tensors from computation graph, optionally moving to a device. + + Reimplementation of deepspeed.runtime.activation_checkpointing.checkpointing.detach_variable + for environments without DeepSpeed installed. + """ + if isinstance(inputs, tuple): + out = [] + for inp in inputs: + if not isinstance(inp, torch.Tensor): + out.append(inp) + continue + requires_grad = inp.requires_grad + if device is not None: + x = inp.to(device=device) + else: + x = inp + x = x.detach() + x.requires_grad = requires_grad + out.append(x) + return tuple(out) + else: + raise RuntimeError( + "Only tuple of tensors is supported. Got Unsupported input type: ", + type(inputs).__name__, + ) + + +class UnslothOffloadedGradientCheckpointer(torch.autograd.Function): + """Saves VRAM by offloading activations to CPU RAM using non-blocking transfers. + + Compared to standard cpu_offload_checkpointing which uses blocking transfers, + this uses non_blocking=True to hide CPU<->GPU transfer latency behind compute. + """ + + @staticmethod + @torch.amp.custom_fwd(device_type='cuda') + def forward(ctx, forward_function, hidden_states, *args): + # Remember the original device for backward pass (multi-GPU support) + ctx.input_device = hidden_states.device + saved_hidden_states = hidden_states.to('cpu', non_blocking=True) + with torch.no_grad(): + output = forward_function(hidden_states, *args) + ctx.save_for_backward(saved_hidden_states) + ctx.forward_function = forward_function + # NOTE: args stored directly on ctx (not via save_for_backward) because + # the training loop holds references to these tensors, preventing GC. + # Using save_for_backward for all args would add complexity for no benefit. + ctx.args = args + return output + + @staticmethod + @torch.amp.custom_bwd(device_type='cuda') + def backward(ctx, *grads): + (hidden_states,) = ctx.saved_tensors + hidden_states = hidden_states.to(ctx.input_device, non_blocking=True).detach() + hidden_states.requires_grad_(True) + args = detach_variable(ctx.args) + inputs = (hidden_states,) + args + with torch.enable_grad(): + outputs = ctx.forward_function(*inputs) + + output_tensors = [] + grad_tensors = [] + for out, grad in zip(outputs if isinstance(outputs, tuple) else (outputs,), + grads if isinstance(grads, tuple) else (grads,)): + if isinstance(out, torch.Tensor) and out.requires_grad: + output_tensors.append(out) + grad_tensors.append(grad) + torch.autograd.backward(output_tensors, grad_tensors) + return (None,) + tuple(inp.grad if isinstance(inp, torch.Tensor) else None for inp in inputs) + + +@torch._disable_dynamo +def unsloth_checkpoint(function, *args): + """Wrapper for UnslothOffloadedGradientCheckpointer.""" + return UnslothOffloadedGradientCheckpointer.apply(function, *args) + + +# Flash Attention support +try: + from flash_attn.flash_attn_interface import flash_attn_func as _flash_attn_func + FLASH_ATTN_AVAILABLE = True +except ImportError: + _flash_attn_func = None + FLASH_ATTN_AVAILABLE = False + + +def flash_attention_op(q_B_S_H_D: torch.Tensor, k_B_S_H_D: torch.Tensor, v_B_S_H_D: torch.Tensor) -> torch.Tensor: + """Computes multi-head attention using Flash Attention. + + Input format: (batch, seq_len, n_heads, head_dim) + Output format: (batch, seq_len, n_heads * head_dim) — matches torch_attention_op output. + """ + # flash_attn_func expects (B, S, H, D) and returns (B, S, H, D) + out = _flash_attn_func(q_B_S_H_D, k_B_S_H_D, v_B_S_H_D) + return rearrange(out, "b s h d -> b s (h d)") + + +from .utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + + +# Utility functions: RoPE for DiT +def _rotate_half(x: torch.Tensor, interleaved: bool) -> torch.Tensor: + if not interleaved: + x1, x2 = torch.chunk(x, 2, dim=-1) + return torch.cat((-x2, x1), dim=-1) + x1 = x[:, :, :, ::2] + x2 = x[:, :, :, 1::2] + x_new = torch.stack((-x2, x1), dim=-1) + return x_new.view(x_new.shape[0], x_new.shape[1], x_new.shape[2], -1) + + +def _apply_rotary_pos_emb_base( + t: torch.Tensor, + freqs: torch.Tensor, + start_positions: torch.Tensor = None, + tensor_format: str = "sbhd", + interleaved: bool = False, +) -> torch.Tensor: + max_seq_len = freqs.shape[0] + cur_seq_len = t.shape[1] if tensor_format == "bshd" else t.shape[0] + + if start_positions is not None: + max_offset = torch.max(start_positions) + assert ( + max_offset + cur_seq_len <= max_seq_len + ), f"Rotary Embeddings only supported up to {max_seq_len} sequence length!" + freqs = torch.concatenate([freqs[i : i + cur_seq_len] for i in start_positions], dim=1) + + assert ( + cur_seq_len <= max_seq_len + ), f"Rotary Embeddings only supported up to {max_seq_len} sequence length!" + freqs = freqs[:cur_seq_len] + + if tensor_format == "bshd": + freqs = freqs.transpose(0, 1) + cos_ = torch.cos(freqs).to(t.dtype) + sin_ = torch.sin(freqs).to(t.dtype) + + rot_dim = freqs.shape[-1] + t, t_pass = t[..., :rot_dim], t[..., rot_dim:] + t = (t * cos_) + (_rotate_half(t, interleaved) * sin_) + return torch.cat((t, t_pass), dim=-1) + + +def apply_rotary_pos_emb( + t: torch.Tensor, + freqs: torch.Tensor, + tensor_format: str = "sbhd", + start_positions: Union[torch.Tensor, None] = None, + interleaved: bool = False, + fused: bool = False, + cu_seqlens: Union[torch.Tensor, None] = None, + cp_size: int = 1, +) -> torch.Tensor: + assert not ( + cp_size > 1 and start_positions is not None + ), "start_positions != None with CP SIZE > 1 is not supported!" + + assert ( + tensor_format != "thd" or cu_seqlens is not None + ), "cu_seqlens must not be None when tensor_format is 'thd'." + + assert fused == False + + if tensor_format == "thd": + cu_seqlens = cu_seqlens // cp_size + seqlens = (cu_seqlens[1:] - cu_seqlens[:-1]).tolist() + return torch.cat( + [ + _apply_rotary_pos_emb_base( + x.unsqueeze(1), + freqs, + start_positions=( + start_positions[idx : idx + 1] if start_positions is not None else None + ), + interleaved=interleaved, + ) + for idx, x in enumerate(torch.split(t, seqlens)) + ] + ).squeeze(1) + + if tensor_format == "sbhd": + seqlen = t.size(0) + elif tensor_format == "bshd": + seqlen = t.size(1) + else: + raise ValueError(f"Unsupported tensor_format: {tensor_format}.") + return _apply_rotary_pos_emb_base( + t, + freqs, + start_positions, + tensor_format, + interleaved=interleaved, + ) + + +# Basic building blocks +class RMSNorm(torch.nn.Module): + """RMS Normalization for DiT blocks.""" + + def __init__(self, dim: int, eps: float = 1e-5) -> None: + super().__init__() + self.eps = eps + self.weight = nn.Parameter(torch.ones(dim)) + + def reset_parameters(self) -> None: + torch.nn.init.ones_(self.weight) + + def _norm(self, x: torch.Tensor) -> torch.Tensor: + return x * torch.rsqrt(x.pow(2).mean(-1, keepdim=True) + self.eps) + + @torch.amp.autocast(device_type='cuda', dtype=torch.float32) + def forward(self, x: torch.Tensor) -> torch.Tensor: + output = self._norm(x.float()).type_as(x) + return output * self.weight + + +class GPT2FeedForward(nn.Module): + """GELU feedforward network.""" + + def __init__(self, d_model: int, d_ff: int) -> None: + super().__init__() + self.activation = nn.GELU() + self.layer1 = nn.Linear(d_model, d_ff, bias=False) + self.layer2 = nn.Linear(d_ff, d_model, bias=False) + + self._layer_id = None + self._dim = d_model + self._hidden_dim = d_ff + self.init_weights() + + def init_weights(self) -> None: + std = 1.0 / math.sqrt(self._dim) + torch.nn.init.trunc_normal_(self.layer1.weight, std=std, a=-3 * std, b=3 * std) + + std = 1.0 / math.sqrt(self._hidden_dim) + if self._layer_id is not None: + std = std / math.sqrt(2 * (self._layer_id + 1)) + torch.nn.init.trunc_normal_(self.layer2.weight, std=std, a=-3 * std, b=3 * std) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + x = self.layer1(x) + x = self.activation(x) + x = self.layer2(x) + return x + + +def torch_attention_op(q_B_S_H_D: torch.Tensor, k_B_S_H_D: torch.Tensor, v_B_S_H_D: torch.Tensor) -> torch.Tensor: + """Computes multi-head attention using PyTorch's native scaled_dot_product_attention. + + Input/output format: (batch, seq_len, n_heads, head_dim) + """ + in_q_shape = q_B_S_H_D.shape + in_k_shape = k_B_S_H_D.shape + q_B_H_S_D = rearrange(q_B_S_H_D, "b ... h k -> b h ... k").view(in_q_shape[0], in_q_shape[-2], -1, in_q_shape[-1]) + k_B_H_S_D = rearrange(k_B_S_H_D, "b ... h v -> b h ... v").view(in_k_shape[0], in_k_shape[-2], -1, in_k_shape[-1]) + v_B_H_S_D = rearrange(v_B_S_H_D, "b ... h v -> b h ... v").view(in_k_shape[0], in_k_shape[-2], -1, in_k_shape[-1]) + result_B_S_HD = rearrange( + F.scaled_dot_product_attention(q_B_H_S_D, k_B_H_S_D, v_B_H_S_D), "b h ... l -> b ... (h l)" + ) + return result_B_S_HD + + +# Attention module for DiT +class Attention(nn.Module): + """Multi-head attention supporting both self-attention and cross-attention. + + Uses QK-norm (RMSNorm on q/k) and optional RoPE (only for self-attention). + """ + + def __init__( + self, + query_dim: int, + context_dim: Optional[int] = None, + n_heads: int = 8, + head_dim: int = 64, + dropout: float = 0.0, + qkv_format: str = "bshd", + ) -> None: + super().__init__() + self.is_selfattn = context_dim is None + + context_dim = query_dim if context_dim is None else context_dim + inner_dim = head_dim * n_heads + + self.n_heads = n_heads + self.head_dim = head_dim + self.qkv_format = qkv_format + self.query_dim = query_dim + self.context_dim = context_dim + + self.q_proj = nn.Linear(query_dim, inner_dim, bias=False) + self.q_norm = RMSNorm(self.head_dim, eps=1e-6) + + self.k_proj = nn.Linear(context_dim, inner_dim, bias=False) + self.k_norm = RMSNorm(self.head_dim, eps=1e-6) + + self.v_proj = nn.Linear(context_dim, inner_dim, bias=False) + self.v_norm = nn.Identity() + + self.output_proj = nn.Linear(inner_dim, query_dim, bias=False) + self.output_dropout = nn.Dropout(dropout) if dropout > 1e-4 else nn.Identity() + + self.attn_op = torch_attention_op + + self._query_dim = query_dim + self._context_dim = context_dim + self._inner_dim = inner_dim + self.init_weights() + + def init_weights(self) -> None: + std = 1.0 / math.sqrt(self._query_dim) + torch.nn.init.trunc_normal_(self.q_proj.weight, std=std, a=-3 * std, b=3 * std) + std = 1.0 / math.sqrt(self._context_dim) + torch.nn.init.trunc_normal_(self.k_proj.weight, std=std, a=-3 * std, b=3 * std) + torch.nn.init.trunc_normal_(self.v_proj.weight, std=std, a=-3 * std, b=3 * std) + + std = 1.0 / math.sqrt(self._inner_dim) + torch.nn.init.trunc_normal_(self.output_proj.weight, std=std, a=-3 * std, b=3 * std) + + for layer in self.q_norm, self.k_norm, self.v_norm: + if hasattr(layer, "reset_parameters"): + layer.reset_parameters() + + def compute_qkv( + self, + x: torch.Tensor, + context: Optional[torch.Tensor] = None, + rope_emb: Optional[torch.Tensor] = None, + ) -> tuple: + q = self.q_proj(x) + context = x if context is None else context + k = self.k_proj(context) + v = self.v_proj(context) + q, k, v = map( + lambda t: rearrange(t, "b ... (h d) -> b ... h d", h=self.n_heads, d=self.head_dim), + (q, k, v), + ) + + q = self.q_norm(q) + k = self.k_norm(k) + v = self.v_norm(v) + if self.is_selfattn and rope_emb is not None: + q = apply_rotary_pos_emb(q, rope_emb, tensor_format=self.qkv_format, fused=False) + k = apply_rotary_pos_emb(k, rope_emb, tensor_format=self.qkv_format, fused=False) + + return q, k, v + + def compute_attention(self, q: torch.Tensor, k: torch.Tensor, v: torch.Tensor) -> torch.Tensor: + result = self.attn_op(q, k, v) # [B, S, H, D] + return self.output_dropout(self.output_proj(result)) + + def forward( + self, + x: torch.Tensor, + context: Optional[torch.Tensor] = None, + rope_emb: Optional[torch.Tensor] = None, + ) -> torch.Tensor: + q, k, v = self.compute_qkv(x, context, rope_emb=rope_emb) + return self.compute_attention(q, k, v) + + +# Positional Embeddings +class VideoPositionEmb(nn.Module): + def __init__(self) -> None: + super().__init__() + + @property + def seq_dim(self) -> int: + return 1 + + def forward(self, x_B_T_H_W_C: torch.Tensor, fps: Optional[torch.Tensor]) -> torch.Tensor: + B_T_H_W_C = x_B_T_H_W_C.shape + embeddings = self.generate_embeddings(B_T_H_W_C, fps=fps) + return embeddings + + def generate_embeddings(self, B_T_H_W_C: torch.Size, fps: Optional[torch.Tensor]) -> Any: + raise NotImplementedError + + +class VideoRopePosition3DEmb(VideoPositionEmb): + """3D Rotary Position Embedding for video (T, H, W) dimensions.""" + + def __init__( + self, + *, + head_dim: int, + len_h: int, + len_w: int, + len_t: int, + base_fps: int = 24, + h_extrapolation_ratio: float = 1.0, + w_extrapolation_ratio: float = 1.0, + t_extrapolation_ratio: float = 1.0, + enable_fps_modulation: bool = True, + **kwargs, + ): + del kwargs + super().__init__() + self.register_buffer("seq", torch.arange(max(len_h, len_w, len_t), dtype=torch.float)) + self.base_fps = base_fps + self.max_h = len_h + self.max_w = len_w + self.max_t = len_t + self.enable_fps_modulation = enable_fps_modulation + dim = head_dim + dim_h = dim // 6 * 2 + dim_w = dim_h + dim_t = dim - 2 * dim_h + assert dim == dim_h + dim_w + dim_t, f"bad dim: {dim} != {dim_h} + {dim_w} + {dim_t}" + self.register_buffer( + "dim_spatial_range", + torch.arange(0, dim_h, 2)[: (dim_h // 2)].float() / dim_h, + persistent=True, + ) + self.register_buffer( + "dim_temporal_range", + torch.arange(0, dim_t, 2)[: (dim_t // 2)].float() / dim_t, + persistent=True, + ) + self._dim_h = dim_h + self._dim_t = dim_t + + self.h_ntk_factor = h_extrapolation_ratio ** (dim_h / (dim_h - 2)) + self.w_ntk_factor = w_extrapolation_ratio ** (dim_w / (dim_w - 2)) + self.t_ntk_factor = t_extrapolation_ratio ** (dim_t / (dim_t - 2)) + self.reset_parameters() + + def reset_parameters(self) -> None: + dim_h = self._dim_h + dim_t = self._dim_t + + self.seq = torch.arange(max(self.max_h, self.max_w, self.max_t)).float().to(self.dim_spatial_range.device) + self.dim_spatial_range = ( + torch.arange(0, dim_h, 2)[: (dim_h // 2)].float().to(self.dim_spatial_range.device) / dim_h + ) + self.dim_temporal_range = ( + torch.arange(0, dim_t, 2)[: (dim_t // 2)].float().to(self.dim_spatial_range.device) / dim_t + ) + + def generate_embeddings( + self, + B_T_H_W_C: torch.Size, + fps: Optional[torch.Tensor] = None, + h_ntk_factor: Optional[float] = None, + w_ntk_factor: Optional[float] = None, + t_ntk_factor: Optional[float] = None, + ) -> torch.Tensor: + h_ntk_factor = h_ntk_factor if h_ntk_factor is not None else self.h_ntk_factor + w_ntk_factor = w_ntk_factor if w_ntk_factor is not None else self.w_ntk_factor + t_ntk_factor = t_ntk_factor if t_ntk_factor is not None else self.t_ntk_factor + + h_theta = 10000.0 * h_ntk_factor + w_theta = 10000.0 * w_ntk_factor + t_theta = 10000.0 * t_ntk_factor + + h_spatial_freqs = 1.0 / (h_theta**self.dim_spatial_range) + w_spatial_freqs = 1.0 / (w_theta**self.dim_spatial_range) + temporal_freqs = 1.0 / (t_theta**self.dim_temporal_range) + + B, T, H, W, _ = B_T_H_W_C + assert ( + H <= self.max_h and W <= self.max_w + ), f"Input dimensions (H={H}, W={W}) exceed the maximum dimensions (max_h={self.max_h}, max_w={self.max_w})" + half_emb_h = torch.outer(self.seq[:H], h_spatial_freqs) + half_emb_w = torch.outer(self.seq[:W], w_spatial_freqs) + + if self.enable_fps_modulation: + uniform_fps = (fps is None) or (fps.min() == fps.max()) + assert ( + uniform_fps or B == 1 or T == 1 + ), "For video batch, batch size should be 1 for non-uniform fps. For image batch, T should be 1" + + if fps is None: + assert T == 1, "T should be 1 for image batch." + half_emb_t = torch.outer(self.seq[:T], temporal_freqs) + else: + half_emb_t = torch.outer(self.seq[:T] / fps[:1] * self.base_fps, temporal_freqs) + else: + half_emb_t = torch.outer(self.seq[:T], temporal_freqs) + + em_T_H_W_D = torch.cat( + [ + repeat(half_emb_t, "t d -> t h w d", h=H, w=W), + repeat(half_emb_h, "h d -> t h w d", t=T, w=W), + repeat(half_emb_w, "w d -> t h w d", t=T, h=H), + ] + * 2, + dim=-1, + ) + + return rearrange(em_T_H_W_D, "t h w d -> (t h w) 1 1 d").float() + + @property + def seq_dim(self) -> int: + return 0 + + +class LearnablePosEmbAxis(VideoPositionEmb): + """Learnable axis-decomposed positional embeddings.""" + + def __init__( + self, + *, + interpolation: str, + model_channels: int, + len_h: int, + len_w: int, + len_t: int, + **kwargs, + ): + del kwargs + super().__init__() + self.interpolation = interpolation + assert self.interpolation in ["crop"], f"Unknown interpolation method {self.interpolation}" + self.model_channels = model_channels + + self.pos_emb_h = nn.Parameter(torch.zeros(len_h, model_channels)) + self.pos_emb_w = nn.Parameter(torch.zeros(len_w, model_channels)) + self.pos_emb_t = nn.Parameter(torch.zeros(len_t, model_channels)) + + self.reset_parameters() + + def reset_parameters(self) -> None: + std = 1.0 / math.sqrt(self.model_channels) + torch.nn.init.trunc_normal_(self.pos_emb_h, std=std, a=-3 * std, b=3 * std) + torch.nn.init.trunc_normal_(self.pos_emb_w, std=std, a=-3 * std, b=3 * std) + torch.nn.init.trunc_normal_(self.pos_emb_t, std=std, a=-3 * std, b=3 * std) + + def generate_embeddings(self, B_T_H_W_C: torch.Size, fps: Optional[torch.Tensor]) -> torch.Tensor: + B, T, H, W, _ = B_T_H_W_C + if self.interpolation == "crop": + emb_h_H = self.pos_emb_h[:H] + emb_w_W = self.pos_emb_w[:W] + emb_t_T = self.pos_emb_t[:T] + emb = ( + repeat(emb_t_T, "t d-> b t h w d", b=B, h=H, w=W) + + repeat(emb_h_H, "h d-> b t h w d", b=B, t=T, w=W) + + repeat(emb_w_W, "w d-> b t h w d", b=B, t=T, h=H) + ) + assert list(emb.shape)[:4] == [B, T, H, W], f"bad shape: {list(emb.shape)[:4]} != {B, T, H, W}" + else: + raise ValueError(f"Unknown interpolation method {self.interpolation}") + + norm = torch.linalg.vector_norm(emb, dim=-1, keepdim=True, dtype=torch.float32) + norm = torch.add(1e-6, norm, alpha=np.sqrt(norm.numel() / emb.numel())) + return emb / norm.to(emb.dtype) + + +# Timestep Embedding +class Timesteps(nn.Module): + """Sinusoidal timestep features.""" + + def __init__(self, num_channels: int): + super().__init__() + self.num_channels = num_channels + + def forward(self, timesteps_B_T: torch.Tensor) -> torch.Tensor: + assert timesteps_B_T.ndim == 2, f"Expected 2D input, got {timesteps_B_T.ndim}" + in_dtype = timesteps_B_T.dtype + timesteps = timesteps_B_T.flatten().float() + half_dim = self.num_channels // 2 + exponent = -math.log(10000) * torch.arange(half_dim, dtype=torch.float32, device=timesteps.device) + exponent = exponent / (half_dim - 0.0) + + emb = torch.exp(exponent) + emb = timesteps[:, None].float() * emb[None, :] + + sin_emb = torch.sin(emb) + cos_emb = torch.cos(emb) + emb = torch.cat([cos_emb, sin_emb], dim=-1) + + return rearrange(emb.to(dtype=in_dtype), "(b t) d -> b t d", b=timesteps_B_T.shape[0], t=timesteps_B_T.shape[1]) + + +class TimestepEmbedding(nn.Module): + """Projects timestep features to model dimension, with optional AdaLN-LoRA.""" + + def __init__(self, in_features: int, out_features: int, use_adaln_lora: bool = False): + super().__init__() + self.in_dim = in_features + self.out_dim = out_features + self.linear_1 = nn.Linear(in_features, out_features, bias=not use_adaln_lora) + self.activation = nn.SiLU() + self.use_adaln_lora = use_adaln_lora + if use_adaln_lora: + self.linear_2 = nn.Linear(out_features, 3 * out_features, bias=False) + else: + self.linear_2 = nn.Linear(out_features, out_features, bias=False) + + self.init_weights() + + def init_weights(self) -> None: + std = 1.0 / math.sqrt(self.in_dim) + torch.nn.init.trunc_normal_(self.linear_1.weight, std=std, a=-3 * std, b=3 * std) + std = 1.0 / math.sqrt(self.out_dim) + torch.nn.init.trunc_normal_(self.linear_2.weight, std=std, a=-3 * std, b=3 * std) + + def forward(self, sample: torch.Tensor) -> Tuple[torch.Tensor, Optional[torch.Tensor]]: + emb = self.linear_1(sample) + emb = self.activation(emb) + emb = self.linear_2(emb) + + if self.use_adaln_lora: + adaln_lora_B_T_3D = emb + emb_B_T_D = sample + else: + adaln_lora_B_T_3D = None + emb_B_T_D = emb + + return emb_B_T_D, adaln_lora_B_T_3D + + +class FourierFeatures(nn.Module): + """Fourier feature transform: [B] -> [B, D].""" + + def __init__(self, num_channels: int, bandwidth: int = 1, normalize: bool = False): + super().__init__() + self.register_buffer("freqs", 2 * np.pi * bandwidth * torch.randn(num_channels), persistent=True) + self.register_buffer("phases", 2 * np.pi * torch.rand(num_channels), persistent=True) + self.gain = np.sqrt(2) if normalize else 1 + self.bandwidth = bandwidth + self.num_channels = num_channels + self.reset_parameters() + + def reset_parameters(self) -> None: + generator = torch.Generator() + generator.manual_seed(0) + self.freqs = ( + 2 * np.pi * self.bandwidth * torch.randn(self.num_channels, generator=generator).to(self.freqs.device) + ) + self.phases = 2 * np.pi * torch.rand(self.num_channels, generator=generator).to(self.freqs.device) + + def forward(self, x: torch.Tensor, gain: float = 1.0) -> torch.Tensor: + in_dtype = x.dtype + x = x.to(torch.float32).ger(self.freqs.to(torch.float32)).add(self.phases.to(torch.float32)) + x = x.cos().mul(self.gain * gain).to(in_dtype) + return x + + +# Patch Embedding +class PatchEmbed(nn.Module): + """Patch embedding: (B, C, T, H, W) -> (B, T', H', W', D)""" + + def __init__( + self, + spatial_patch_size: int, + temporal_patch_size: int, + in_channels: int = 3, + out_channels: int = 768, + ): + super().__init__() + self.spatial_patch_size = spatial_patch_size + self.temporal_patch_size = temporal_patch_size + + self.proj = nn.Sequential( + Rearrange( + "b c (t r) (h m) (w n) -> b t h w (c r m n)", + r=temporal_patch_size, + m=spatial_patch_size, + n=spatial_patch_size, + ), + nn.Linear( + in_channels * spatial_patch_size * spatial_patch_size * temporal_patch_size, out_channels, bias=False + ), + ) + self.dim = in_channels * spatial_patch_size * spatial_patch_size * temporal_patch_size + + self.init_weights() + + def init_weights(self) -> None: + std = 1.0 / math.sqrt(self.dim) + torch.nn.init.trunc_normal_(self.proj[1].weight, std=std, a=-3 * std, b=3 * std) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + assert x.dim() == 5 + _, _, T, H, W = x.shape + assert ( + H % self.spatial_patch_size == 0 and W % self.spatial_patch_size == 0 + ), f"H,W {(H, W)} should be divisible by spatial_patch_size {self.spatial_patch_size}" + assert T % self.temporal_patch_size == 0 + x = self.proj(x) + return x + + +# Final Layer +class FinalLayer(nn.Module): + """Final layer with AdaLN modulation + unpatchify.""" + + def __init__( + self, + hidden_size: int, + spatial_patch_size: int, + temporal_patch_size: int, + out_channels: int, + use_adaln_lora: bool = False, + adaln_lora_dim: int = 256, + ): + super().__init__() + self.layer_norm = nn.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6) + self.linear = nn.Linear( + hidden_size, spatial_patch_size * spatial_patch_size * temporal_patch_size * out_channels, bias=False + ) + self.hidden_size = hidden_size + self.n_adaln_chunks = 2 + self.use_adaln_lora = use_adaln_lora + self.adaln_lora_dim = adaln_lora_dim + if use_adaln_lora: + self.adaln_modulation = nn.Sequential( + nn.SiLU(), + nn.Linear(hidden_size, adaln_lora_dim, bias=False), + nn.Linear(adaln_lora_dim, self.n_adaln_chunks * hidden_size, bias=False), + ) + else: + self.adaln_modulation = nn.Sequential( + nn.SiLU(), nn.Linear(hidden_size, self.n_adaln_chunks * hidden_size, bias=False) + ) + + self.init_weights() + + def init_weights(self) -> None: + std = 1.0 / math.sqrt(self.hidden_size) + torch.nn.init.trunc_normal_(self.linear.weight, std=std, a=-3 * std, b=3 * std) + if self.use_adaln_lora: + torch.nn.init.trunc_normal_(self.adaln_modulation[1].weight, std=std, a=-3 * std, b=3 * std) + torch.nn.init.zeros_(self.adaln_modulation[2].weight) + else: + torch.nn.init.zeros_(self.adaln_modulation[1].weight) + + self.layer_norm.reset_parameters() + + def forward( + self, + x_B_T_H_W_D: torch.Tensor, + emb_B_T_D: torch.Tensor, + adaln_lora_B_T_3D: Optional[torch.Tensor] = None, + ): + if self.use_adaln_lora: + assert adaln_lora_B_T_3D is not None + shift_B_T_D, scale_B_T_D = ( + self.adaln_modulation(emb_B_T_D) + adaln_lora_B_T_3D[:, :, : 2 * self.hidden_size] + ).chunk(2, dim=-1) + else: + shift_B_T_D, scale_B_T_D = self.adaln_modulation(emb_B_T_D).chunk(2, dim=-1) + + shift_B_T_1_1_D = rearrange(shift_B_T_D, "b t d -> b t 1 1 d") + scale_B_T_1_1_D = rearrange(scale_B_T_D, "b t d -> b t 1 1 d") + + x_B_T_H_W_D = self.layer_norm(x_B_T_H_W_D) * (1 + scale_B_T_1_1_D) + shift_B_T_1_1_D + x_B_T_H_W_O = self.linear(x_B_T_H_W_D) + return x_B_T_H_W_O + + +# Transformer Block (DiT Block) +class Block(nn.Module): + """Transformer block with self-attention + cross-attention + MLP, each modulated by AdaLN. + + Each sublayer: x = x + gate * sublayer(norm(x) * (1 + scale) + shift) + """ + + def __init__( + self, + x_dim: int, + context_dim: int, + num_heads: int, + mlp_ratio: float = 4.0, + use_adaln_lora: bool = False, + adaln_lora_dim: int = 256, + ): + super().__init__() + self.x_dim = x_dim + self.layer_norm_self_attn = nn.LayerNorm(x_dim, elementwise_affine=False, eps=1e-6) + self.self_attn = Attention( + x_dim, + None, + num_heads, + x_dim // num_heads, + qkv_format="bshd", + ) + + self.layer_norm_cross_attn = nn.LayerNorm(x_dim, elementwise_affine=False, eps=1e-6) + self.cross_attn = Attention( + x_dim, context_dim, num_heads, x_dim // num_heads, qkv_format="bshd", + ) + + self.layer_norm_mlp = nn.LayerNorm(x_dim, elementwise_affine=False, eps=1e-6) + self.mlp = GPT2FeedForward(x_dim, int(x_dim * mlp_ratio)) + + self.use_adaln_lora = use_adaln_lora + if self.use_adaln_lora: + self.adaln_modulation_self_attn = nn.Sequential( + nn.SiLU(), + nn.Linear(x_dim, adaln_lora_dim, bias=False), + nn.Linear(adaln_lora_dim, 3 * x_dim, bias=False), + ) + self.adaln_modulation_cross_attn = nn.Sequential( + nn.SiLU(), + nn.Linear(x_dim, adaln_lora_dim, bias=False), + nn.Linear(adaln_lora_dim, 3 * x_dim, bias=False), + ) + self.adaln_modulation_mlp = nn.Sequential( + nn.SiLU(), + nn.Linear(x_dim, adaln_lora_dim, bias=False), + nn.Linear(adaln_lora_dim, 3 * x_dim, bias=False), + ) + else: + self.adaln_modulation_self_attn = nn.Sequential(nn.SiLU(), nn.Linear(x_dim, 3 * x_dim, bias=False)) + self.adaln_modulation_cross_attn = nn.Sequential(nn.SiLU(), nn.Linear(x_dim, 3 * x_dim, bias=False)) + self.adaln_modulation_mlp = nn.Sequential(nn.SiLU(), nn.Linear(x_dim, 3 * x_dim, bias=False)) + + self.gradient_checkpointing = False + self.cpu_offload_checkpointing = False + self.unsloth_offload_checkpointing = False + + def enable_gradient_checkpointing(self, cpu_offload: bool = False, unsloth_offload: bool = False): + self.gradient_checkpointing = True + self.cpu_offload_checkpointing = cpu_offload if not unsloth_offload else False + self.unsloth_offload_checkpointing = unsloth_offload + + def disable_gradient_checkpointing(self): + self.gradient_checkpointing = False + self.cpu_offload_checkpointing = False + self.unsloth_offload_checkpointing = False + + def reset_parameters(self) -> None: + self.layer_norm_self_attn.reset_parameters() + self.layer_norm_cross_attn.reset_parameters() + self.layer_norm_mlp.reset_parameters() + + if self.use_adaln_lora: + std = 1.0 / math.sqrt(self.x_dim) + torch.nn.init.trunc_normal_(self.adaln_modulation_self_attn[1].weight, std=std, a=-3 * std, b=3 * std) + torch.nn.init.trunc_normal_(self.adaln_modulation_cross_attn[1].weight, std=std, a=-3 * std, b=3 * std) + torch.nn.init.trunc_normal_(self.adaln_modulation_mlp[1].weight, std=std, a=-3 * std, b=3 * std) + torch.nn.init.zeros_(self.adaln_modulation_self_attn[2].weight) + torch.nn.init.zeros_(self.adaln_modulation_cross_attn[2].weight) + torch.nn.init.zeros_(self.adaln_modulation_mlp[2].weight) + else: + torch.nn.init.zeros_(self.adaln_modulation_self_attn[1].weight) + torch.nn.init.zeros_(self.adaln_modulation_cross_attn[1].weight) + torch.nn.init.zeros_(self.adaln_modulation_mlp[1].weight) + + def init_weights(self) -> None: + self.reset_parameters() + self.self_attn.init_weights() + self.cross_attn.init_weights() + self.mlp.init_weights() + + def _forward( + self, + x_B_T_H_W_D: torch.Tensor, + emb_B_T_D: torch.Tensor, + crossattn_emb: torch.Tensor, + rope_emb_L_1_1_D: Optional[torch.Tensor] = None, + adaln_lora_B_T_3D: Optional[torch.Tensor] = None, + extra_per_block_pos_emb: Optional[torch.Tensor] = None, + ) -> torch.Tensor: + if extra_per_block_pos_emb is not None: + x_B_T_H_W_D = x_B_T_H_W_D + extra_per_block_pos_emb + + # Compute AdaLN modulation parameters + if self.use_adaln_lora: + shift_self_attn_B_T_D, scale_self_attn_B_T_D, gate_self_attn_B_T_D = ( + self.adaln_modulation_self_attn(emb_B_T_D) + adaln_lora_B_T_3D + ).chunk(3, dim=-1) + shift_cross_attn_B_T_D, scale_cross_attn_B_T_D, gate_cross_attn_B_T_D = ( + self.adaln_modulation_cross_attn(emb_B_T_D) + adaln_lora_B_T_3D + ).chunk(3, dim=-1) + shift_mlp_B_T_D, scale_mlp_B_T_D, gate_mlp_B_T_D = ( + self.adaln_modulation_mlp(emb_B_T_D) + adaln_lora_B_T_3D + ).chunk(3, dim=-1) + else: + shift_self_attn_B_T_D, scale_self_attn_B_T_D, gate_self_attn_B_T_D = self.adaln_modulation_self_attn( + emb_B_T_D + ).chunk(3, dim=-1) + shift_cross_attn_B_T_D, scale_cross_attn_B_T_D, gate_cross_attn_B_T_D = self.adaln_modulation_cross_attn( + emb_B_T_D + ).chunk(3, dim=-1) + shift_mlp_B_T_D, scale_mlp_B_T_D, gate_mlp_B_T_D = self.adaln_modulation_mlp(emb_B_T_D).chunk(3, dim=-1) + + # Reshape for broadcasting: (B, T, D) -> (B, T, 1, 1, D) + shift_self_attn_B_T_1_1_D = rearrange(shift_self_attn_B_T_D, "b t d -> b t 1 1 d") + scale_self_attn_B_T_1_1_D = rearrange(scale_self_attn_B_T_D, "b t d -> b t 1 1 d") + gate_self_attn_B_T_1_1_D = rearrange(gate_self_attn_B_T_D, "b t d -> b t 1 1 d") + + shift_cross_attn_B_T_1_1_D = rearrange(shift_cross_attn_B_T_D, "b t d -> b t 1 1 d") + scale_cross_attn_B_T_1_1_D = rearrange(scale_cross_attn_B_T_D, "b t d -> b t 1 1 d") + gate_cross_attn_B_T_1_1_D = rearrange(gate_cross_attn_B_T_D, "b t d -> b t 1 1 d") + + shift_mlp_B_T_1_1_D = rearrange(shift_mlp_B_T_D, "b t d -> b t 1 1 d") + scale_mlp_B_T_1_1_D = rearrange(scale_mlp_B_T_D, "b t d -> b t 1 1 d") + gate_mlp_B_T_1_1_D = rearrange(gate_mlp_B_T_D, "b t d -> b t 1 1 d") + + B, T, H, W, D = x_B_T_H_W_D.shape + + def _adaln_fn(_x, _norm_layer, _scale, _shift): + return _norm_layer(_x) * (1 + _scale) + _shift + + # 1. Self-attention + normalized_x = _adaln_fn(x_B_T_H_W_D, self.layer_norm_self_attn, scale_self_attn_B_T_1_1_D, shift_self_attn_B_T_1_1_D) + result = rearrange( + self.self_attn( + rearrange(normalized_x, "b t h w d -> b (t h w) d"), + None, + rope_emb=rope_emb_L_1_1_D, + ), + "b (t h w) d -> b t h w d", + t=T, h=H, w=W, + ) + x_B_T_H_W_D = x_B_T_H_W_D + gate_self_attn_B_T_1_1_D * result + + # 2. Cross-attention + normalized_x = _adaln_fn(x_B_T_H_W_D, self.layer_norm_cross_attn, scale_cross_attn_B_T_1_1_D, shift_cross_attn_B_T_1_1_D) + result = rearrange( + self.cross_attn( + rearrange(normalized_x, "b t h w d -> b (t h w) d"), + crossattn_emb, + rope_emb=rope_emb_L_1_1_D, + ), + "b (t h w) d -> b t h w d", + t=T, h=H, w=W, + ) + x_B_T_H_W_D = result * gate_cross_attn_B_T_1_1_D + x_B_T_H_W_D + + # 3. MLP + normalized_x = _adaln_fn(x_B_T_H_W_D, self.layer_norm_mlp, scale_mlp_B_T_1_1_D, shift_mlp_B_T_1_1_D) + result = self.mlp(normalized_x) + x_B_T_H_W_D = x_B_T_H_W_D + gate_mlp_B_T_1_1_D * result + + return x_B_T_H_W_D + + def forward( + self, + x_B_T_H_W_D: torch.Tensor, + emb_B_T_D: torch.Tensor, + crossattn_emb: torch.Tensor, + rope_emb_L_1_1_D: Optional[torch.Tensor] = None, + adaln_lora_B_T_3D: Optional[torch.Tensor] = None, + extra_per_block_pos_emb: Optional[torch.Tensor] = None, + ) -> torch.Tensor: + if self.training and self.gradient_checkpointing: + if self.unsloth_offload_checkpointing: + # Unsloth: async non-blocking CPU RAM offload (fastest offload method) + return unsloth_checkpoint( + self._forward, + x_B_T_H_W_D, emb_B_T_D, crossattn_emb, + rope_emb_L_1_1_D, adaln_lora_B_T_3D, extra_per_block_pos_emb, + ) + elif self.cpu_offload_checkpointing: + # Standard cpu offload: blocking transfers + def create_custom_forward(func): + def custom_forward(*inputs): + # Determine original device from first tensor input + device = next(t.device for t in inputs if isinstance(t, torch.Tensor)) + device_inputs = to_device(inputs, device) + outputs = func(*device_inputs) + return to_cpu(outputs) + return custom_forward + + return torch_checkpoint( + create_custom_forward(self._forward), + x_B_T_H_W_D, emb_B_T_D, crossattn_emb, + rope_emb_L_1_1_D, adaln_lora_B_T_3D, extra_per_block_pos_emb, + use_reentrant=False, + ) + else: + # Standard gradient checkpointing (no offload) + return torch_checkpoint( + self._forward, + x_B_T_H_W_D, emb_B_T_D, crossattn_emb, + rope_emb_L_1_1_D, adaln_lora_B_T_3D, extra_per_block_pos_emb, + use_reentrant=False, + ) + else: + return self._forward( + x_B_T_H_W_D, emb_B_T_D, crossattn_emb, + rope_emb_L_1_1_D, adaln_lora_B_T_3D, extra_per_block_pos_emb, + ) + + +# Main DiT Model: MiniTrainDIT +class MiniTrainDIT(nn.Module): + """Cosmos-Predict2 DiT model for image/video generation. + + 28 transformer blocks with AdaLN-LoRA modulation, 3D RoPE, and optional LLM Adapter. + """ + + def __init__( + self, + max_img_h: int, + max_img_w: int, + max_frames: int, + in_channels: int, + out_channels: int, + patch_spatial: int, + patch_temporal: int, + concat_padding_mask: bool = True, + model_channels: int = 768, + num_blocks: int = 10, + num_heads: int = 16, + mlp_ratio: float = 4.0, + crossattn_emb_channels: int = 1024, + pos_emb_cls: str = "sincos", + pos_emb_learnable: bool = False, + pos_emb_interpolation: str = "crop", + min_fps: int = 1, + max_fps: int = 30, + use_adaln_lora: bool = False, + adaln_lora_dim: int = 256, + rope_h_extrapolation_ratio: float = 1.0, + rope_w_extrapolation_ratio: float = 1.0, + rope_t_extrapolation_ratio: float = 1.0, + extra_per_block_abs_pos_emb: bool = False, + extra_h_extrapolation_ratio: float = 1.0, + extra_w_extrapolation_ratio: float = 1.0, + extra_t_extrapolation_ratio: float = 1.0, + rope_enable_fps_modulation: bool = True, + use_llm_adapter: bool = False, + ) -> None: + super().__init__() + self.max_img_h = max_img_h + self.max_img_w = max_img_w + self.max_frames = max_frames + self.in_channels = in_channels + self.out_channels = out_channels + self.patch_spatial = patch_spatial + self.patch_temporal = patch_temporal + self.num_heads = num_heads + self.num_blocks = num_blocks + self.model_channels = model_channels + self.concat_padding_mask = concat_padding_mask + self.pos_emb_cls = pos_emb_cls + self.pos_emb_learnable = pos_emb_learnable + self.pos_emb_interpolation = pos_emb_interpolation + self.min_fps = min_fps + self.max_fps = max_fps + self.rope_h_extrapolation_ratio = rope_h_extrapolation_ratio + self.rope_w_extrapolation_ratio = rope_w_extrapolation_ratio + self.rope_t_extrapolation_ratio = rope_t_extrapolation_ratio + self.extra_per_block_abs_pos_emb = extra_per_block_abs_pos_emb + self.extra_h_extrapolation_ratio = extra_h_extrapolation_ratio + self.extra_w_extrapolation_ratio = extra_w_extrapolation_ratio + self.extra_t_extrapolation_ratio = extra_t_extrapolation_ratio + self.rope_enable_fps_modulation = rope_enable_fps_modulation + self.use_llm_adapter = use_llm_adapter + + # Block swap support + self.blocks_to_swap = None + self.offloader: Optional[custom_offloading_utils.ModelOffloader] = None + + self.build_patch_embed() + self.build_pos_embed() + self.use_adaln_lora = use_adaln_lora + self.adaln_lora_dim = adaln_lora_dim + self.t_embedder = nn.Sequential( + Timesteps(model_channels), + TimestepEmbedding(model_channels, model_channels, use_adaln_lora=use_adaln_lora), + ) + + if self.use_llm_adapter: + self.llm_adapter = LLMAdapter( + source_dim=1024, + target_dim=1024, + model_dim=1024, + num_layers=6, + self_attn=True, + ) + + self.blocks = nn.ModuleList( + [ + Block( + x_dim=model_channels, + context_dim=crossattn_emb_channels, + num_heads=num_heads, + mlp_ratio=mlp_ratio, + use_adaln_lora=use_adaln_lora, + adaln_lora_dim=adaln_lora_dim, + ) + for _ in range(num_blocks) + ] + ) + + self.final_layer = FinalLayer( + hidden_size=self.model_channels, + spatial_patch_size=self.patch_spatial, + temporal_patch_size=self.patch_temporal, + out_channels=self.out_channels, + use_adaln_lora=self.use_adaln_lora, + adaln_lora_dim=self.adaln_lora_dim, + ) + + self.t_embedding_norm = RMSNorm(model_channels, eps=1e-6) + self.init_weights() + + def init_weights(self) -> None: + self.x_embedder.init_weights() + self.pos_embedder.reset_parameters() + if self.extra_per_block_abs_pos_emb: + self.extra_pos_embedder.reset_parameters() + self.t_embedder[1].init_weights() + for block in self.blocks: + block.init_weights() + self.final_layer.init_weights() + self.t_embedding_norm.reset_parameters() + + + def enable_gradient_checkpointing(self, cpu_offload: bool = False, unsloth_offload: bool = False): + for block in self.blocks: + block.enable_gradient_checkpointing(cpu_offload=cpu_offload, unsloth_offload=unsloth_offload) + + def disable_gradient_checkpointing(self): + for block in self.blocks: + block.disable_gradient_checkpointing() + + @property + def device(self): + return next(self.parameters()).device + + + def set_flash_attn(self, use_flash_attn: bool): + """Toggle flash attention for all DiT blocks (self-attn + cross-attn). + + LLM Adapter attention is NOT affected (it uses attention masks incompatible with flash_attn). + """ + if use_flash_attn and not FLASH_ATTN_AVAILABLE: + raise ImportError("flash_attn package is required for --flash_attn but is not installed") + attn_op = flash_attention_op if use_flash_attn else torch_attention_op + for block in self.blocks: + block.self_attn.attn_op = attn_op + block.cross_attn.attn_op = attn_op + + def build_patch_embed(self) -> None: + in_channels = self.in_channels + 1 if self.concat_padding_mask else self.in_channels + self.x_embedder = PatchEmbed( + spatial_patch_size=self.patch_spatial, + temporal_patch_size=self.patch_temporal, + in_channels=in_channels, + out_channels=self.model_channels, + ) + + def build_pos_embed(self) -> None: + if self.pos_emb_cls == "rope3d": + cls_type = VideoRopePosition3DEmb + else: + raise ValueError(f"Unknown pos_emb_cls {self.pos_emb_cls}") + + kwargs = dict( + model_channels=self.model_channels, + len_h=self.max_img_h // self.patch_spatial, + len_w=self.max_img_w // self.patch_spatial, + len_t=self.max_frames // self.patch_temporal, + max_fps=self.max_fps, + min_fps=self.min_fps, + is_learnable=self.pos_emb_learnable, + interpolation=self.pos_emb_interpolation, + head_dim=self.model_channels // self.num_heads, + h_extrapolation_ratio=self.rope_h_extrapolation_ratio, + w_extrapolation_ratio=self.rope_w_extrapolation_ratio, + t_extrapolation_ratio=self.rope_t_extrapolation_ratio, + enable_fps_modulation=self.rope_enable_fps_modulation, + ) + self.pos_embedder = cls_type(**kwargs) + + if self.extra_per_block_abs_pos_emb: + kwargs["h_extrapolation_ratio"] = self.extra_h_extrapolation_ratio + kwargs["w_extrapolation_ratio"] = self.extra_w_extrapolation_ratio + kwargs["t_extrapolation_ratio"] = self.extra_t_extrapolation_ratio + self.extra_pos_embedder = LearnablePosEmbAxis(**kwargs) + + def prepare_embedded_sequence( + self, + x_B_C_T_H_W: torch.Tensor, + fps: Optional[torch.Tensor] = None, + padding_mask: Optional[torch.Tensor] = None, + ) -> Tuple[torch.Tensor, Optional[torch.Tensor], Optional[torch.Tensor]]: + from torchvision import transforms + + if self.concat_padding_mask: + padding_mask = transforms.functional.resize( + padding_mask, list(x_B_C_T_H_W.shape[-2:]), interpolation=transforms.InterpolationMode.NEAREST + ) + x_B_C_T_H_W = torch.cat( + [x_B_C_T_H_W, padding_mask.unsqueeze(1).repeat(1, 1, x_B_C_T_H_W.shape[2], 1, 1)], dim=1 + ) + x_B_T_H_W_D = self.x_embedder(x_B_C_T_H_W) + + if self.extra_per_block_abs_pos_emb: + extra_pos_emb = self.extra_pos_embedder(x_B_T_H_W_D, fps=fps) + else: + extra_pos_emb = None + + if "rope" in self.pos_emb_cls.lower(): + return x_B_T_H_W_D, self.pos_embedder(x_B_T_H_W_D, fps=fps), extra_pos_emb + x_B_T_H_W_D = x_B_T_H_W_D + self.pos_embedder(x_B_T_H_W_D) + + return x_B_T_H_W_D, None, extra_pos_emb + + def unpatchify(self, x_B_T_H_W_M: torch.Tensor) -> torch.Tensor: + x_B_C_Tt_Hp_Wp = rearrange( + x_B_T_H_W_M, + "B T H W (p1 p2 t C) -> B C (T t) (H p1) (W p2)", + p1=self.patch_spatial, + p2=self.patch_spatial, + t=self.patch_temporal, + ) + return x_B_C_Tt_Hp_Wp + + + def enable_block_swap(self, num_blocks: int, device: torch.device): + self.blocks_to_swap = num_blocks + + assert ( + self.blocks_to_swap <= self.num_blocks - 2 + ), f"Cannot swap more than {self.num_blocks - 2} blocks. Requested: {self.blocks_to_swap} blocks." + + self.offloader = custom_offloading_utils.ModelOffloader( + self.blocks, self.blocks_to_swap, device + ) + logger.info(f"Anima: Block swap enabled. Swapping {num_blocks} blocks, total blocks: {self.num_blocks}, device: {device}.") + + def move_to_device_except_swap_blocks(self, device: torch.device): + # Move all modules to device except blocks (which are managed by offloader) + if self.blocks_to_swap: + save_blocks = self.blocks + self.blocks = None # Use None to skip .to() on blocks (consistent with flux_models.py) + + self.to(device) + + if self.blocks_to_swap: + self.blocks = save_blocks + + def prepare_block_swap_before_forward(self): + if self.blocks_to_swap is None or self.blocks_to_swap == 0: + return + self.offloader.prepare_block_devices_before_forward(self.blocks) + + def forward( + self, + x_B_C_T_H_W: torch.Tensor, + timesteps_B_T: torch.Tensor, + crossattn_emb: torch.Tensor, + fps: Optional[torch.Tensor] = None, + padding_mask: Optional[torch.Tensor] = None, + source_attention_mask: Optional[torch.Tensor] = None, + t5_input_ids: Optional[torch.Tensor] = None, + t5_attn_mask: Optional[torch.Tensor] = None, + ) -> torch.Tensor: + """ + Args: + x_B_C_T_H_W: (B, C, T, H, W) noisy latents + timesteps_B_T: (B,) or (B, T) timesteps + crossattn_emb: (B, N, D) cross-attention embeddings (or raw Qwen3 prompt_embeds if t5_input_ids provided) + fps: Optional frames per second + padding_mask: Optional padding mask + source_attention_mask: Optional attention mask for Qwen3 embeddings (used with LLM adapter) + t5_input_ids: Optional T5 token IDs (triggers LLM adapter when provided) + t5_attn_mask: Optional T5 attention mask + """ + # Run LLM adapter inside forward for correct DDP gradient synchronization + if t5_input_ids is not None and self.use_llm_adapter and hasattr(self, 'llm_adapter'): + crossattn_emb = self.llm_adapter( + source_hidden_states=crossattn_emb, + target_input_ids=t5_input_ids, + target_attention_mask=t5_attn_mask, + source_attention_mask=source_attention_mask, + ) + if t5_attn_mask is not None: + crossattn_emb[~t5_attn_mask.bool()] = 0 + + x_B_T_H_W_D, rope_emb_L_1_1_D, extra_pos_emb = self.prepare_embedded_sequence( + x_B_C_T_H_W, + fps=fps, + padding_mask=padding_mask, + ) + + if timesteps_B_T.ndim == 1: + timesteps_B_T = timesteps_B_T.unsqueeze(1) + t_embedding_B_T_D, adaln_lora_B_T_3D = self.t_embedder(timesteps_B_T) + t_embedding_B_T_D = self.t_embedding_norm(t_embedding_B_T_D) + + block_kwargs = { + "rope_emb_L_1_1_D": rope_emb_L_1_1_D, + "adaln_lora_B_T_3D": adaln_lora_B_T_3D, + "extra_per_block_pos_emb": extra_pos_emb, + } + + for block_idx, block in enumerate(self.blocks): + if self.blocks_to_swap: + self.offloader.wait_for_block(block_idx) + + x_B_T_H_W_D = block( + x_B_T_H_W_D, + t_embedding_B_T_D, + crossattn_emb, + **block_kwargs, + ) + + if self.blocks_to_swap: + self.offloader.submit_move_blocks(self.blocks, block_idx) + + x_B_T_H_W_O = self.final_layer(x_B_T_H_W_D, t_embedding_B_T_D, adaln_lora_B_T_3D=adaln_lora_B_T_3D) + x_B_C_Tt_Hp_Wp = self.unpatchify(x_B_T_H_W_O) + return x_B_C_Tt_Hp_Wp + + +# LLM Adapter: Bridges Qwen3 embeddings to T5-compatible space +class LLMAdapterRMSNorm(nn.Module): + """RMSNorm specifically for the LLM Adapter (T5-style, no mean subtraction).""" + + def __init__(self, hidden_size, eps=1e-6): + 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) + + if self.weight.dtype in [torch.float16, torch.bfloat16]: + hidden_states = hidden_states.to(self.weight.dtype) + + return self.weight * hidden_states + + +def _adapter_rotate_half(x): + x1 = x[..., : x.shape[-1] // 2] + x2 = x[..., x.shape[-1] // 2 :] + return torch.cat((-x2, x1), dim=-1) + + +def _adapter_apply_rotary_pos_emb(x, cos, sin, unsqueeze_dim=1): + cos = cos.unsqueeze(unsqueeze_dim) + sin = sin.unsqueeze(unsqueeze_dim) + x_embed = (x * cos) + (_adapter_rotate_half(x) * sin) + return x_embed + + +class AdapterRotaryEmbedding(nn.Module): + """Rotary embedding for LLM Adapter.""" + + def __init__(self, head_dim): + super().__init__() + self.rope_theta = 10000 + inv_freq = 1.0 / (self.rope_theta ** (torch.arange(0, head_dim, 2, dtype=torch.int64).to(dtype=torch.float) / head_dim)) + self.register_buffer("inv_freq", inv_freq, persistent=False) + + @torch.no_grad() + def forward(self, x, position_ids): + inv_freq_expanded = self.inv_freq[None, :, None].float().expand(position_ids.shape[0], -1, 1).to(x.device) + position_ids_expanded = position_ids[:, None, :].float() + + device_type = x.device.type if isinstance(x.device.type, str) and x.device.type != "mps" else "cpu" + with torch.autocast(device_type=device_type, enabled=False): + freqs = (inv_freq_expanded.float() @ position_ids_expanded.float()).transpose(1, 2) + emb = torch.cat((freqs, freqs), dim=-1) + cos = emb.cos() + sin = emb.sin() + + return cos.to(dtype=x.dtype), sin.to(dtype=x.dtype) + + +class LLMAdapterAttention(nn.Module): + """Attention module for LLM Adapter with QK-norm and separate RoPE for query/key.""" + + def __init__(self, query_dim, context_dim, n_heads, head_dim): + super().__init__() + + inner_dim = head_dim * n_heads + self.n_heads = n_heads + self.head_dim = head_dim + self.query_dim = query_dim + self.context_dim = context_dim + + self.q_proj = nn.Linear(query_dim, inner_dim, bias=False) + self.q_norm = LLMAdapterRMSNorm(self.head_dim) + + self.k_proj = nn.Linear(context_dim, inner_dim, bias=False) + self.k_norm = LLMAdapterRMSNorm(self.head_dim) + + self.v_proj = nn.Linear(context_dim, inner_dim, bias=False) + + self.o_proj = nn.Linear(inner_dim, query_dim, bias=False) + + def forward(self, x, mask=None, context=None, position_embeddings=None, position_embeddings_context=None): + context = x if context is None else context + input_shape = x.shape[:-1] + q_shape = (*input_shape, self.n_heads, self.head_dim) + context_shape = context.shape[:-1] + kv_shape = (*context_shape, self.n_heads, self.head_dim) + + query_states = self.q_norm(self.q_proj(x).view(q_shape)).transpose(1, 2) + key_states = self.k_norm(self.k_proj(context).view(kv_shape)).transpose(1, 2) + value_states = self.v_proj(context).view(kv_shape).transpose(1, 2) + + if position_embeddings is not None: + assert position_embeddings_context is not None + cos, sin = position_embeddings + query_states = _adapter_apply_rotary_pos_emb(query_states, cos, sin) + cos, sin = position_embeddings_context + key_states = _adapter_apply_rotary_pos_emb(key_states, cos, sin) + + attn_output = F.scaled_dot_product_attention(query_states, key_states, value_states, attn_mask=mask) + + attn_output = attn_output.transpose(1, 2).reshape(*input_shape, -1).contiguous() + attn_output = self.o_proj(attn_output) + return attn_output + + +class LLMAdapterTransformerBlock(nn.Module): + """Transformer block for LLM Adapter: optional self-attn + cross-attn + MLP.""" + + def __init__(self, source_dim, model_dim, num_heads=16, mlp_ratio=4.0, self_attn=False, layer_norm=False): + super().__init__() + self.has_self_attn = self_attn + + if self.has_self_attn: + self.norm_self_attn = nn.LayerNorm(model_dim) if layer_norm else LLMAdapterRMSNorm(model_dim) + self.self_attn = LLMAdapterAttention( + query_dim=model_dim, + context_dim=model_dim, + n_heads=num_heads, + head_dim=model_dim // num_heads, + ) + + self.norm_cross_attn = nn.LayerNorm(model_dim) if layer_norm else LLMAdapterRMSNorm(model_dim) + self.cross_attn = LLMAdapterAttention( + query_dim=model_dim, + context_dim=source_dim, + n_heads=num_heads, + head_dim=model_dim // num_heads, + ) + + self.norm_mlp = nn.LayerNorm(model_dim) if layer_norm else LLMAdapterRMSNorm(model_dim) + self.mlp = nn.Sequential( + nn.Linear(model_dim, int(model_dim * mlp_ratio)), + nn.GELU(), + nn.Linear(int(model_dim * mlp_ratio), model_dim) + ) + + def forward(self, x, context, target_attention_mask=None, source_attention_mask=None, + position_embeddings=None, position_embeddings_context=None): + if self.has_self_attn: + normed = self.norm_self_attn(x) + attn_out = self.self_attn(normed, mask=target_attention_mask, + position_embeddings=position_embeddings, + position_embeddings_context=position_embeddings) + x = x + attn_out + + normed = self.norm_cross_attn(x) + attn_out = self.cross_attn(normed, mask=source_attention_mask, context=context, + position_embeddings=position_embeddings, + position_embeddings_context=position_embeddings_context) + x = x + attn_out + + x = x + self.mlp(self.norm_mlp(x)) + return x + + def init_weights(self): + torch.nn.init.zeros_(self.mlp[2].weight) + + +class LLMAdapter(nn.Module): + """Bridge module: Qwen3 embeddings (source) → T5-compatible space (target). + + Uses T5 token IDs as target input, embeds them, and cross-attends to Qwen3 hidden states. + """ + + def __init__(self, source_dim, target_dim, model_dim, num_layers=6, num_heads=16, + embed=None, self_attn=False, layer_norm=False): + super().__init__() + if embed is not None: + self.embed = nn.Embedding.from_pretrained(embed.weight) + else: + self.embed = nn.Embedding(32128, target_dim) + if model_dim != target_dim: + self.in_proj = nn.Linear(target_dim, model_dim) + else: + self.in_proj = nn.Identity() + self.rotary_emb = AdapterRotaryEmbedding(model_dim // num_heads) + self.blocks = nn.ModuleList([ + LLMAdapterTransformerBlock(source_dim, model_dim, num_heads=num_heads, + self_attn=self_attn, layer_norm=layer_norm) + for _ in range(num_layers) + ]) + self.out_proj = nn.Linear(model_dim, target_dim) + self.norm = LLMAdapterRMSNorm(target_dim) + + def forward(self, source_hidden_states, target_input_ids, target_attention_mask=None, source_attention_mask=None): + if target_attention_mask is not None: + target_attention_mask = target_attention_mask.to(torch.bool) + if target_attention_mask.ndim == 2: + target_attention_mask = target_attention_mask.unsqueeze(1).unsqueeze(1) + + if source_attention_mask is not None: + source_attention_mask = source_attention_mask.to(torch.bool) + if source_attention_mask.ndim == 2: + source_attention_mask = source_attention_mask.unsqueeze(1).unsqueeze(1) + + x = self.in_proj(self.embed(target_input_ids)) + context = source_hidden_states + position_ids = torch.arange(x.shape[1], device=x.device).unsqueeze(0) + position_ids_context = torch.arange(context.shape[1], device=x.device).unsqueeze(0) + position_embeddings = self.rotary_emb(x, position_ids) + position_embeddings_context = self.rotary_emb(x, position_ids_context) + for block in self.blocks: + x = block(x, context, target_attention_mask=target_attention_mask, + source_attention_mask=source_attention_mask, + position_embeddings=position_embeddings, + position_embeddings_context=position_embeddings_context) + return self.norm(self.out_proj(x)) + + +# VAE Wrapper + +# VAE normalization constants +ANIMA_VAE_MEAN = [ + -0.7571, -0.7089, -0.9113, 0.1075, -0.1745, 0.9653, -0.1517, 1.5508, + 0.4134, -0.0715, 0.5517, -0.3632, -0.1922, -0.9497, 0.2503, -0.2921 +] +ANIMA_VAE_STD = [ + 2.8184, 1.4541, 2.3275, 2.6558, 1.2196, 1.7708, 2.6052, 2.0743, + 3.2687, 2.1526, 2.8652, 1.5579, 1.6382, 1.1253, 2.8251, 1.9160 +] + +# DiT config detection from state_dict +KEEP_IN_HIGH_PRECISION = ['x_embedder', 't_embedder', 't_embedding_norm', 'final_layer'] + + +def get_dit_config(state_dict, key_prefix=''): + """Derive DiT configuration from state_dict weight shapes.""" + dit_config = {} + dit_config["max_img_h"] = 512 + dit_config["max_img_w"] = 512 + dit_config["max_frames"] = 128 + concat_padding_mask = True + dit_config["in_channels"] = (state_dict['{}x_embedder.proj.1.weight'.format(key_prefix)].shape[1] // 4) - int(concat_padding_mask) + dit_config["out_channels"] = 16 + dit_config["patch_spatial"] = 2 + dit_config["patch_temporal"] = 1 + dit_config["model_channels"] = state_dict['{}x_embedder.proj.1.weight'.format(key_prefix)].shape[0] + dit_config["concat_padding_mask"] = concat_padding_mask + dit_config["crossattn_emb_channels"] = 1024 + dit_config["pos_emb_cls"] = "rope3d" + dit_config["pos_emb_learnable"] = True + dit_config["pos_emb_interpolation"] = "crop" + dit_config["min_fps"] = 1 + dit_config["max_fps"] = 30 + + dit_config["use_adaln_lora"] = True + dit_config["adaln_lora_dim"] = 256 + if dit_config["model_channels"] == 2048: + dit_config["num_blocks"] = 28 + dit_config["num_heads"] = 16 + elif dit_config["model_channels"] == 5120: + dit_config["num_blocks"] = 36 + dit_config["num_heads"] = 40 + elif dit_config["model_channels"] == 1280: + dit_config["num_blocks"] = 20 + dit_config["num_heads"] = 20 + + if dit_config["in_channels"] == 16: + dit_config["extra_per_block_abs_pos_emb"] = False + dit_config["rope_h_extrapolation_ratio"] = 4.0 + dit_config["rope_w_extrapolation_ratio"] = 4.0 + dit_config["rope_t_extrapolation_ratio"] = 1.0 + elif dit_config["in_channels"] == 17: + dit_config["extra_per_block_abs_pos_emb"] = False + dit_config["rope_h_extrapolation_ratio"] = 3.0 + dit_config["rope_w_extrapolation_ratio"] = 3.0 + dit_config["rope_t_extrapolation_ratio"] = 1.0 + + dit_config["extra_h_extrapolation_ratio"] = 1.0 + dit_config["extra_w_extrapolation_ratio"] = 1.0 + dit_config["extra_t_extrapolation_ratio"] = 1.0 + dit_config["rope_enable_fps_modulation"] = False + + return dit_config diff --git a/library/anima_train_utils.py b/library/anima_train_utils.py new file mode 100644 index 000000000..ef0016b52 --- /dev/null +++ b/library/anima_train_utils.py @@ -0,0 +1,665 @@ +# Anima Training Utilities + +import argparse +import math +import os +import time +from typing import Dict, List, Optional, Tuple, Union + +import numpy as np +import torch +import torch.nn.functional as F +from safetensors.torch import save_file +from accelerate import Accelerator, PartialState +from tqdm import tqdm +from PIL import Image + +from library.device_utils import init_ipex, clean_memory_on_device + +init_ipex() + +from .utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + +from library import anima_models, anima_utils, strategy_base, train_util + +from library.sd3_train_utils import FlowMatchEulerDiscreteScheduler, get_sigmas + + +# Anima-specific training arguments + +def add_anima_training_arguments(parser: argparse.ArgumentParser): + """Add Anima-specific training arguments to the parser.""" + parser.add_argument( + "--dit_path", + type=str, + default=None, + help="Path to Anima DiT model safetensors file", + ) + parser.add_argument( + "--vae_path", + type=str, + default=None, + help="Path to WanVAE safetensors/pth file", + ) + parser.add_argument( + "--qwen3_path", + type=str, + default=None, + help="Path to Qwen3-0.6B model (safetensors file or directory)", + ) + parser.add_argument( + "--llm_adapter_path", + type=str, + default=None, + help="Path to separate LLM adapter weights. If None, adapter is loaded from DiT file if present", + ) + parser.add_argument( + "--llm_adapter_lr", + type=float, + default=None, + help="Learning rate for LLM adapter. None=same as base LR, 0=freeze adapter", + ) + parser.add_argument( + "--self_attn_lr", + type=float, + default=None, + help="Learning rate for self-attention layers. None=same as base LR, 0=freeze", + ) + parser.add_argument( + "--cross_attn_lr", + type=float, + default=None, + help="Learning rate for cross-attention layers. None=same as base LR, 0=freeze", + ) + parser.add_argument( + "--mlp_lr", + type=float, + default=None, + help="Learning rate for MLP layers. None=same as base LR, 0=freeze", + ) + parser.add_argument( + "--mod_lr", + type=float, + default=None, + help="Learning rate for AdaLN modulation layers. None=same as base LR, 0=freeze", + ) + parser.add_argument( + "--t5_tokenizer_path", + type=str, + default=None, + help="Path to T5 tokenizer directory. If None, uses default configs/t5_old/", + ) + parser.add_argument( + "--qwen3_max_token_length", + type=int, + default=512, + help="Maximum token length for Qwen3 tokenizer (default: 512)", + ) + parser.add_argument( + "--t5_max_token_length", + type=int, + default=512, + help="Maximum token length for T5 tokenizer (default: 512)", + ) + parser.add_argument( + "--discrete_flow_shift", + type=float, + default=1.0, + help="Timestep distribution shift for rectified flow training (default: 1.0)", + ) + parser.add_argument( + "--timestep_sample_method", + type=str, + default="logit_normal", + choices=["logit_normal", "uniform"], + help="Timestep sampling method (default: logit_normal)", + ) + parser.add_argument( + "--sigmoid_scale", + type=float, + default=1.0, + help="Scale factor for logit_normal timestep sampling (default: 1.0)", + ) + # Note: --caption_dropout_rate is defined by base add_dataset_arguments(). + # Anima uses embedding-level dropout (via AnimaTextEncodingStrategy.dropout_rate) + # instead of dataset-level caption dropout, so the subset caption_dropout_rate + # is zeroed out in the training scripts to allow caching. + parser.add_argument( + "--transformer_dtype", + type=str, + default=None, + choices=["float16", "bfloat16", "float32", None], + help="Separate dtype for transformer blocks. If None, uses same as mixed_precision", + ) + parser.add_argument( + "--flash_attn", + action="store_true", + help="Use Flash Attention for DiT self/cross-attention (requires flash-attn package). " + "Falls back to PyTorch SDPA if flash-attn is not installed.", + ) + + +# Noise & Timestep sampling (Rectified Flow) +def get_noisy_model_input_and_timesteps( + args, + latents: torch.Tensor, + noise: torch.Tensor, + device: torch.device, + dtype: torch.dtype, +) -> Tuple[torch.Tensor, torch.Tensor, torch.Tensor]: + """Generate noisy model input and timesteps for rectified flow training. + + Rectified flow: noisy_input = (1 - t) * latents + t * noise + Target: noise - latents + + Args: + args: Training arguments with timestep_sample_method, sigmoid_scale, discrete_flow_shift + latents: Clean latent tensors + noise: Random noise tensors + device: Target device + dtype: Target dtype + + Returns: + (noisy_model_input, timesteps, sigmas) + """ + bs = latents.shape[0] + + timestep_sample_method = getattr(args, 'timestep_sample_method', 'logit_normal') + sigmoid_scale = getattr(args, 'sigmoid_scale', 1.0) + shift = getattr(args, 'discrete_flow_shift', 1.0) + + if timestep_sample_method == 'logit_normal': + dist = torch.distributions.normal.Normal(0, 1) + elif timestep_sample_method == 'uniform': + dist = torch.distributions.uniform.Uniform(0, 1) + else: + raise NotImplementedError(f"Unknown timestep_sample_method: {timestep_sample_method}") + + t = dist.sample((bs,)).to(device) + + if timestep_sample_method == 'logit_normal': + t = t * sigmoid_scale + t = torch.sigmoid(t) + + # Apply shift + if shift is not None and shift != 1.0: + t = (t * shift) / (1 + (shift - 1) * t) + + # Clamp to avoid exact 0 or 1 + t = t.clamp(1e-5, 1.0 - 1e-5) + + # Create noisy input: (1 - t) * latents + t * noise + t_expanded = t.view(-1, *([1] * (latents.ndim - 1))) + + ip_noise_gamma = getattr(args, 'ip_noise_gamma', None) + if ip_noise_gamma: + xi = torch.randn_like(latents, device=latents.device, dtype=dtype) + if getattr(args, 'ip_noise_gamma_random_strength', False): + ip_noise_gamma = torch.rand(1, device=latents.device, dtype=dtype) * ip_noise_gamma + noisy_model_input = (1 - t_expanded) * latents + t_expanded * (noise + ip_noise_gamma * xi) + else: + noisy_model_input = (1 - t_expanded) * latents + t_expanded * noise + + # Sigmas for potential loss weighting + sigmas = t.view(-1, 1) + + return noisy_model_input.to(dtype), t.to(dtype), sigmas.to(dtype) + + +# Loss weighting + +def compute_loss_weighting_for_anima(weighting_scheme: str, sigmas: torch.Tensor) -> torch.Tensor: + """Compute loss weighting for Anima training. + + Same schemes as SD3 but can add Anima-specific ones. + """ + if weighting_scheme == "sigma_sqrt": + weighting = (sigmas**-2.0).float() + elif weighting_scheme == "cosmap": + bot = 1 - 2 * sigmas + 2 * sigmas**2 + weighting = 2 / (math.pi * bot) + elif weighting_scheme == "none" or weighting_scheme is None: + weighting = torch.ones_like(sigmas) + else: + weighting = torch.ones_like(sigmas) + return weighting + + +# Parameter groups (6 groups with separate LRs) +def get_anima_param_groups( + dit, + base_lr: float, + self_attn_lr: Optional[float] = None, + cross_attn_lr: Optional[float] = None, + mlp_lr: Optional[float] = None, + mod_lr: Optional[float] = None, + llm_adapter_lr: Optional[float] = None, +): + """Create parameter groups for Anima training with separate learning rates. + + Args: + dit: MiniTrainDIT model + base_lr: Base learning rate + self_attn_lr: LR for self-attention layers (None = base_lr, 0 = freeze) + cross_attn_lr: LR for cross-attention layers + mlp_lr: LR for MLP layers + mod_lr: LR for AdaLN modulation layers + llm_adapter_lr: LR for LLM adapter + + Returns: + List of parameter group dicts for optimizer + """ + if self_attn_lr is None: + self_attn_lr = base_lr + if cross_attn_lr is None: + cross_attn_lr = base_lr + if mlp_lr is None: + mlp_lr = base_lr + if mod_lr is None: + mod_lr = base_lr + if llm_adapter_lr is None: + llm_adapter_lr = base_lr + + base_params = [] + self_attn_params = [] + cross_attn_params = [] + mlp_params = [] + mod_params = [] + llm_adapter_params = [] + + for name, p in dit.named_parameters(): + # Store original name for debugging + p.original_name = name + + if 'llm_adapter' in name: + llm_adapter_params.append(p) + elif '.self_attn' in name: + self_attn_params.append(p) + elif '.cross_attn' in name: + cross_attn_params.append(p) + elif '.mlp' in name: + mlp_params.append(p) + elif '.adaln_modulation' in name: + mod_params.append(p) + else: + base_params.append(p) + + logger.info(f"Parameter groups:") + logger.info(f" base_params: {len(base_params)} (lr={base_lr})") + logger.info(f" self_attn_params: {len(self_attn_params)} (lr={self_attn_lr})") + logger.info(f" cross_attn_params: {len(cross_attn_params)} (lr={cross_attn_lr})") + logger.info(f" mlp_params: {len(mlp_params)} (lr={mlp_lr})") + logger.info(f" mod_params: {len(mod_params)} (lr={mod_lr})") + logger.info(f" llm_adapter_params: {len(llm_adapter_params)} (lr={llm_adapter_lr})") + + param_groups = [] + for lr, params, name in [ + (base_lr, base_params, "base"), + (self_attn_lr, self_attn_params, "self_attn"), + (cross_attn_lr, cross_attn_params, "cross_attn"), + (mlp_lr, mlp_params, "mlp"), + (mod_lr, mod_params, "mod"), + (llm_adapter_lr, llm_adapter_params, "llm_adapter"), + ]: + if lr == 0: + for p in params: + p.requires_grad_(False) + logger.info(f" Frozen {name} params ({len(params)} parameters)") + elif len(params) > 0: + param_groups.append({'params': params, 'lr': lr}) + + total_trainable = sum(p.numel() for group in param_groups for p in group['params'] if p.requires_grad) + logger.info(f"Total trainable parameters: {total_trainable:,}") + + return param_groups + + +# Save functions +def save_anima_model_on_train_end( + args: argparse.Namespace, + save_dtype: torch.dtype, + epoch: int, + global_step: int, + dit: anima_models.MiniTrainDIT, +): + """Save Anima model at the end of training.""" + def sd_saver(ckpt_file, epoch_no, global_step): + sai_metadata = train_util.get_sai_model_spec( + None, args, False, False, False, is_stable_diffusion_ckpt=True + ) + dit_sd = dit.state_dict() + # Save with 'net.' prefix for ComfyUI compatibility + anima_utils.save_anima_model(ckpt_file, dit_sd, save_dtype) + + train_util.save_sd_model_on_train_end_common(args, True, True, epoch, global_step, sd_saver, None) + + +def save_anima_model_on_epoch_end_or_stepwise( + args: argparse.Namespace, + on_epoch_end: bool, + accelerator: Accelerator, + save_dtype: torch.dtype, + epoch: int, + num_train_epochs: int, + global_step: int, + dit: anima_models.MiniTrainDIT, +): + """Save Anima model at epoch end or specific steps.""" + def sd_saver(ckpt_file, epoch_no, global_step): + sai_metadata = train_util.get_sai_model_spec( + None, args, False, False, False, is_stable_diffusion_ckpt=True + ) + dit_sd = dit.state_dict() + anima_utils.save_anima_model(ckpt_file, dit_sd, save_dtype) + + train_util.save_sd_model_on_epoch_end_or_stepwise_common( + args, + on_epoch_end, + accelerator, + True, + True, + epoch, + num_train_epochs, + global_step, + sd_saver, + None, + ) + + +# Sampling (Euler discrete for rectified flow) +def do_sample( + height: int, + width: int, + seed: Optional[int], + dit: anima_models.MiniTrainDIT, + crossattn_emb: torch.Tensor, + steps: int, + dtype: torch.dtype, + device: torch.device, + guidance_scale: float = 1.0, + neg_crossattn_emb: Optional[torch.Tensor] = None, +) -> torch.Tensor: + """Generate a sample using Euler discrete sampling for rectified flow. + + Args: + height, width: Output image dimensions + seed: Random seed (None for random) + dit: MiniTrainDIT model + crossattn_emb: Cross-attention embeddings (B, N, D) + steps: Number of sampling steps + dtype: Compute dtype + device: Compute device + guidance_scale: CFG scale (1.0 = no guidance) + neg_crossattn_emb: Negative cross-attention embeddings for CFG + + Returns: + Denoised latents + """ + # Latent shape: (1, 16, 1, H/8, W/8) for single image + latent_h = height // 8 + latent_w = width // 8 + latent = torch.zeros(1, 16, 1, latent_h, latent_w, device=device, dtype=dtype) + + # Generate noise + if seed is not None: + generator = torch.manual_seed(seed) + else: + generator = None + noise = torch.randn( + latent.size(), dtype=torch.float32, generator=generator, device="cpu" + ).to(dtype).to(device) + + # Timestep schedule: linear from 1.0 to 0.0 + sigmas = torch.linspace(1.0, 0.0, steps + 1, device=device, dtype=dtype) + + # Start from pure noise + x = noise.clone() + + # Padding mask (zeros = no padding) — resized in prepare_embedded_sequence to match latent dims + padding_mask = torch.zeros(1, 1, latent_h, latent_w, dtype=dtype, device=device) + + use_cfg = guidance_scale > 1.0 and neg_crossattn_emb is not None + + for i in tqdm(range(steps), desc="Sampling"): + sigma = sigmas[i] + t = sigma.unsqueeze(0) # (1,) + + dit.prepare_block_swap_before_forward() + + if use_cfg: + # CFG: concat positive and negative + x_input = torch.cat([x, x], dim=0) + t_input = torch.cat([t, t], dim=0) + crossattn_input = torch.cat([crossattn_emb, neg_crossattn_emb], dim=0) + padding_input = torch.cat([padding_mask, padding_mask], dim=0) + + model_output = dit(x_input, t_input, crossattn_input, padding_mask=padding_input) + model_output = model_output.float() + + pos_out, neg_out = model_output.chunk(2) + model_output = neg_out + guidance_scale * (pos_out - neg_out) + else: + model_output = dit(x, t, crossattn_emb, padding_mask=padding_mask) + model_output = model_output.float() + + # Euler step: x_{t-1} = x_t - (sigma_t - sigma_{t-1}) * model_output + dt = sigmas[i + 1] - sigma + x = x + model_output * dt + x = x.to(dtype) + + dit.prepare_block_swap_before_forward() + return x + + +def sample_images( + accelerator: Accelerator, + args: argparse.Namespace, + epoch, + steps, + dit, + vae, + vae_scale, + text_encoder, + tokenize_strategy, + text_encoding_strategy, + sample_prompts_te_outputs=None, + prompt_replacement=None, +): + """Generate sample images during training. + + This is a simplified sampler for Anima - it generates images using the current model state. + """ + if steps == 0: + if not args.sample_at_first: + return + else: + if args.sample_every_n_steps is None and args.sample_every_n_epochs is None: + return + if args.sample_every_n_epochs is not None: + if epoch is None or epoch % args.sample_every_n_epochs != 0: + return + else: + if steps % args.sample_every_n_steps != 0 or epoch is not None: + return + + logger.info(f"Generating sample images at step {steps}") + if not os.path.isfile(args.sample_prompts) and sample_prompts_te_outputs is None: + logger.error(f"No prompt file: {args.sample_prompts}") + return + + # Unwrap models + dit = accelerator.unwrap_model(dit) + if text_encoder is not None: + text_encoder = accelerator.unwrap_model(text_encoder) + + prompts = train_util.load_prompts(args.sample_prompts) + save_dir = os.path.join(args.output_dir, "sample") + os.makedirs(save_dir, exist_ok=True) + + # Save RNG state + rng_state = torch.get_rng_state() + cuda_rng_state = None + try: + cuda_rng_state = torch.cuda.get_rng_state() if torch.cuda.is_available() else None + except Exception: + pass + + with torch.no_grad(), accelerator.autocast(): + for prompt_dict in prompts: + _sample_image_inference( + accelerator, args, dit, text_encoder, vae, vae_scale, + tokenize_strategy, text_encoding_strategy, + save_dir, prompt_dict, epoch, steps, + sample_prompts_te_outputs, prompt_replacement, + ) + + # Restore RNG state + torch.set_rng_state(rng_state) + if cuda_rng_state is not None: + torch.cuda.set_rng_state(cuda_rng_state) + + clean_memory_on_device(accelerator.device) + + +def _sample_image_inference( + accelerator, args, dit, text_encoder, vae, vae_scale, + tokenize_strategy, text_encoding_strategy, + save_dir, prompt_dict, epoch, steps, + sample_prompts_te_outputs, prompt_replacement, +): + """Generate a single sample image.""" + prompt = prompt_dict.get("prompt", "") + negative_prompt = prompt_dict.get("negative_prompt", "") + sample_steps = prompt_dict.get("sample_steps", 30) + width = prompt_dict.get("width", 512) + height = prompt_dict.get("height", 512) + scale = prompt_dict.get("scale", 7.5) + seed = prompt_dict.get("seed") + + if prompt_replacement is not None: + prompt = prompt.replace(prompt_replacement[0], prompt_replacement[1]) + if negative_prompt: + negative_prompt = negative_prompt.replace(prompt_replacement[0], prompt_replacement[1]) + + if seed is not None: + torch.manual_seed(seed) + torch.cuda.manual_seed_all(seed) # seed all CUDA devices for multi-GPU + + height = max(64, height - height % 16) + width = max(64, width - width % 16) + + logger.info(f" prompt: {prompt}, size: {width}x{height}, steps: {sample_steps}, scale: {scale}") + + # Encode prompt + def encode_prompt(prpt): + if sample_prompts_te_outputs and prpt in sample_prompts_te_outputs: + return sample_prompts_te_outputs[prpt] + if text_encoder is not None: + tokens = tokenize_strategy.tokenize(prpt) + encoded = text_encoding_strategy.encode_tokens(tokenize_strategy, [text_encoder], tokens) + return encoded + return None + + encoded = encode_prompt(prompt) + if encoded is None: + logger.warning("Cannot encode prompt, skipping sample") + return + + prompt_embeds, attn_mask, t5_input_ids, t5_attn_mask = encoded + + # Convert to tensors if numpy + if isinstance(prompt_embeds, np.ndarray): + prompt_embeds = torch.from_numpy(prompt_embeds).unsqueeze(0) + attn_mask = torch.from_numpy(attn_mask).unsqueeze(0) + t5_input_ids = torch.from_numpy(t5_input_ids).unsqueeze(0) + t5_attn_mask = torch.from_numpy(t5_attn_mask).unsqueeze(0) + + prompt_embeds = prompt_embeds.to(accelerator.device, dtype=dit.t_embedding_norm.weight.dtype) + attn_mask = attn_mask.to(accelerator.device) + t5_input_ids = t5_input_ids.to(accelerator.device, dtype=torch.long) + t5_attn_mask = t5_attn_mask.to(accelerator.device) + + # Process through LLM adapter if available + if dit.use_llm_adapter and hasattr(dit, 'llm_adapter'): + crossattn_emb = dit.llm_adapter( + source_hidden_states=prompt_embeds, + target_input_ids=t5_input_ids, + target_attention_mask=t5_attn_mask, + source_attention_mask=attn_mask, + ) + crossattn_emb[~t5_attn_mask.bool()] = 0 + else: + crossattn_emb = prompt_embeds + + # Encode negative prompt for CFG + neg_crossattn_emb = None + if scale > 1.0 and negative_prompt is not None: + neg_encoded = encode_prompt(negative_prompt) + if neg_encoded is not None: + neg_pe, neg_am, neg_t5_ids, neg_t5_am = neg_encoded + if isinstance(neg_pe, np.ndarray): + neg_pe = torch.from_numpy(neg_pe).unsqueeze(0) + neg_am = torch.from_numpy(neg_am).unsqueeze(0) + neg_t5_ids = torch.from_numpy(neg_t5_ids).unsqueeze(0) + neg_t5_am = torch.from_numpy(neg_t5_am).unsqueeze(0) + + neg_pe = neg_pe.to(accelerator.device, dtype=dit.t_embedding_norm.weight.dtype) + neg_am = neg_am.to(accelerator.device) + neg_t5_ids = neg_t5_ids.to(accelerator.device, dtype=torch.long) + neg_t5_am = neg_t5_am.to(accelerator.device) + + if dit.use_llm_adapter and hasattr(dit, 'llm_adapter'): + neg_crossattn_emb = dit.llm_adapter( + source_hidden_states=neg_pe, + target_input_ids=neg_t5_ids, + target_attention_mask=neg_t5_am, + source_attention_mask=neg_am, + ) + neg_crossattn_emb[~neg_t5_am.bool()] = 0 + else: + neg_crossattn_emb = neg_pe + + # Generate sample + clean_memory_on_device(accelerator.device) + latents = do_sample( + height, width, seed, dit, crossattn_emb, + sample_steps, dit.t_embedding_norm.weight.dtype, + accelerator.device, scale, neg_crossattn_emb, + ) + + # Decode latents + clean_memory_on_device(accelerator.device) + org_vae_device = next(vae.parameters()).device + vae.to(accelerator.device) + decoded = vae.decode(latents.to(next(vae.parameters()).device, dtype=next(vae.parameters()).dtype), vae_scale) + vae.to(org_vae_device) + clean_memory_on_device(accelerator.device) + + # Convert to image + image = decoded.float() + image = torch.clamp((image + 1.0) / 2.0, min=0.0, max=1.0)[0] + # Remove temporal dim if present + if image.ndim == 4: + image = image[:, 0, :, :] + decoded_np = 255.0 * np.moveaxis(image.cpu().numpy(), 0, 2) + decoded_np = decoded_np.astype(np.uint8) + + image = Image.fromarray(decoded_np) + + ts_str = time.strftime("%Y%m%d%H%M%S", time.localtime()) + num_suffix = f"e{epoch:06d}" if epoch is not None else f"{steps:06d}" + seed_suffix = "" if seed is None else f"_{seed}" + i = prompt_dict.get("enum", 0) + img_filename = f"{'' if args.output_name is None else args.output_name + '_'}{num_suffix}_{i:02d}_{ts_str}{seed_suffix}.png" + image.save(os.path.join(save_dir, img_filename)) + + # Log to wandb if enabled + if "wandb" in [tracker.name for tracker in accelerator.trackers]: + wandb_tracker = accelerator.get_tracker("wandb") + import wandb + wandb_tracker.log({f"sample_{i}": wandb.Image(image, caption=prompt)}, commit=False) diff --git a/library/anima_utils.py b/library/anima_utils.py new file mode 100644 index 000000000..8c171e0e9 --- /dev/null +++ b/library/anima_utils.py @@ -0,0 +1,325 @@ +# Anima model loading/saving utilities + +import os +from typing import Dict, List, Optional, Union +import torch +import torch.nn as nn +from safetensors.torch import load_file, save_file +from accelerate.utils import set_module_tensor_to_device # kept for potential future use + +from .utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + +from library import anima_models + + +# Keys that should stay in high precision (float32/bfloat16, not quantized) +KEEP_IN_HIGH_PRECISION = ['x_embedder', 't_embedder', 't_embedding_norm', 'final_layer'] + + +def load_safetensors(path: str, device: str = "cpu", dtype: Optional[torch.dtype] = None) -> Dict[str, torch.Tensor]: + """Load a safetensors file and optionally cast to dtype.""" + sd = load_file(path, device=device) + if dtype is not None: + sd = {k: v.to(dtype) for k, v in sd.items()} + return sd + + +def load_anima_dit( + dit_path: str, + dtype: torch.dtype, + device: Union[str, torch.device] = "cpu", + transformer_dtype: Optional[torch.dtype] = None, + llm_adapter_path: Optional[str] = None, + disable_mmap: bool = False, +) -> anima_models.MiniTrainDIT: + """Load the MiniTrainDIT model from safetensors. + + Args: + dit_path: Path to DiT safetensors file + dtype: Base dtype for model parameters + device: Device to load to + transformer_dtype: Optional separate dtype for transformer blocks (lower precision) + llm_adapter_path: Optional separate path for LLM adapter weights + disable_mmap: If True, disable memory-mapped loading (reduces peak memory) + """ + if transformer_dtype is None: + transformer_dtype = dtype + + logger.info(f"Loading Anima DiT from {dit_path}") + if disable_mmap: + from library.safetensors_utils import load_safetensors as load_safetensors_no_mmap + state_dict = load_safetensors_no_mmap(dit_path, device="cpu", disable_mmap=True) + else: + state_dict = load_file(dit_path, device="cpu") + + # Remove 'net.' prefix if present + new_state_dict = {} + for k, v in state_dict.items(): + if k.startswith('net.'): + k = k[len('net.'):] + new_state_dict[k] = v + state_dict = new_state_dict + + # Derive config from state_dict + dit_config = anima_models.get_dit_config(state_dict) + + # Detect LLM adapter + if llm_adapter_path is not None: + use_llm_adapter = True + dit_config['use_llm_adapter'] = True + llm_adapter_state_dict = load_safetensors(llm_adapter_path, device="cpu") + elif 'llm_adapter.out_proj.weight' in state_dict: + use_llm_adapter = True + dit_config['use_llm_adapter'] = True + llm_adapter_state_dict = None # Loaded as part of DiT + else: + use_llm_adapter = False + llm_adapter_state_dict = None + + logger.info(f"DiT config: model_channels={dit_config['model_channels']}, num_blocks={dit_config['num_blocks']}, " + f"num_heads={dit_config['num_heads']}, use_llm_adapter={use_llm_adapter}") + + # Build model normally on CPU — buffers get proper values from __init__ + dit = anima_models.MiniTrainDIT(**dit_config) + + # Merge LLM adapter weights into state_dict if loaded separately + if use_llm_adapter and llm_adapter_state_dict is not None: + for k, v in llm_adapter_state_dict.items(): + state_dict[f"llm_adapter.{k}"] = v + + # Load checkpoint: strict=False keeps buffers not in checkpoint (e.g. pos_embedder.seq) + missing, unexpected = dit.load_state_dict(state_dict, strict=False) + if missing: + # Filter out expected missing buffers (initialized in __init__, not saved in checkpoint) + unexpected_missing = [k for k in missing if not any( + buf_name in k for buf_name in ('seq', 'dim_spatial_range', 'dim_temporal_range', 'inv_freq') + )] + if unexpected_missing: + logger.warning(f"Missing keys in checkpoint: {unexpected_missing[:10]}{'...' if len(unexpected_missing) > 10 else ''}") + if unexpected: + logger.info(f"Unexpected keys in checkpoint (ignored): {unexpected[:5]}{'...' if len(unexpected) > 5 else ''}") + + # Apply per-parameter dtype (high precision for 1D/critical, transformer_dtype for rest) + for name, p in dit.named_parameters(): + dtype_to_use = dtype if ( + any(keyword in name for keyword in KEEP_IN_HIGH_PRECISION) or p.ndim == 1 + ) else transformer_dtype + p.data = p.data.to(dtype=dtype_to_use) + + dit.to(device) + logger.info(f"Loaded Anima DiT successfully. Parameters: {sum(p.numel() for p in dit.parameters()):,}") + return dit + + +def load_anima_vae(vae_path: str, dtype: torch.dtype = torch.float32, device: str = "cpu"): + """Load WanVAE from a safetensors/pth file. + + Returns (vae_model, mean_tensor, std_tensor, scale). + """ + from library.anima_models import ANIMA_VAE_MEAN, ANIMA_VAE_STD + + logger.info(f"Loading Anima VAE from {vae_path}") + + # VAE config (fixed for WanVAE) + vae_config = dict( + dim=96, + z_dim=16, + dim_mult=[1, 2, 4, 4], + num_res_blocks=2, + attn_scales=[], + temperal_downsample=[False, True, True], + dropout=0.0, + ) + + from library.anima_vae import WanVAE_ + + # Build model + with torch.device('meta'): + vae = WanVAE_(**vae_config) + + # Load state dict + if vae_path.endswith('.safetensors'): + vae_sd = load_file(vae_path, device='cpu') + else: + vae_sd = torch.load(vae_path, map_location='cpu', weights_only=True) + + vae.load_state_dict(vae_sd, assign=True) + vae = vae.eval().requires_grad_(False).to(device, dtype=dtype) + + # Create normalization tensors + mean = torch.tensor(ANIMA_VAE_MEAN, dtype=dtype, device=device) + std = torch.tensor(ANIMA_VAE_STD, dtype=dtype, device=device) + scale = [mean, 1.0 / std] + + logger.info(f"Loaded Anima VAE successfully.") + return vae, mean, std, scale + + +def load_qwen3_tokenizer(qwen3_path: str): + """Load Qwen3 tokenizer only (without the text encoder model). + + Args: + qwen3_path: Path to either a directory with model files or a safetensors file. + If a directory, loads tokenizer from it directly. + If a file, uses configs/qwen3_06b/ for tokenizer config. + Returns: + tokenizer + """ + from transformers import AutoTokenizer + + if os.path.isdir(qwen3_path): + tokenizer = AutoTokenizer.from_pretrained(qwen3_path, local_files_only=True) + else: + config_dir = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'configs', 'qwen3_06b') + if not os.path.exists(config_dir): + raise FileNotFoundError( + f"Qwen3 config directory not found at {config_dir}. " + "Expected configs/qwen3_06b/ with config.json, tokenizer.json, etc. " + "You can download these from the Qwen3-0.6B HuggingFace repository." + ) + tokenizer = AutoTokenizer.from_pretrained(config_dir, local_files_only=True) + + if tokenizer.pad_token is None: + tokenizer.pad_token = tokenizer.eos_token + + return tokenizer + + +def load_qwen3_text_encoder(qwen3_path: str, dtype: torch.dtype = torch.bfloat16, device: str = "cpu"): + """Load Qwen3-0.6B text encoder. + + Args: + qwen3_path: Path to either a directory with model files or a safetensors file + dtype: Model dtype + device: Device to load to + + Returns: + (text_encoder_model, tokenizer) + """ + import transformers + from transformers import AutoTokenizer + + logger.info(f"Loading Qwen3 text encoder from {qwen3_path}") + + if os.path.isdir(qwen3_path): + # Directory with full model + tokenizer = AutoTokenizer.from_pretrained(qwen3_path, local_files_only=True) + model = transformers.AutoModelForCausalLM.from_pretrained( + qwen3_path, torch_dtype=dtype, local_files_only=True + ).model + else: + # Single safetensors file - use configs/qwen3_06b/ for config + config_dir = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'configs', 'qwen3_06b') + if not os.path.exists(config_dir): + raise FileNotFoundError( + f"Qwen3 config directory not found at {config_dir}. " + "Expected configs/qwen3_06b/ with config.json, tokenizer.json, etc. " + "You can download these from the Qwen3-0.6B HuggingFace repository." + ) + + tokenizer = AutoTokenizer.from_pretrained(config_dir, local_files_only=True) + qwen3_config = transformers.Qwen3Config.from_pretrained(config_dir, local_files_only=True) + model = transformers.Qwen3ForCausalLM(qwen3_config).model + + # Load weights + if qwen3_path.endswith('.safetensors'): + state_dict = load_file(qwen3_path, device='cpu') + else: + state_dict = torch.load(qwen3_path, map_location='cpu', weights_only=True) + + # Remove 'model.' prefix if present + new_sd = {} + for k, v in state_dict.items(): + if k.startswith('model.'): + new_sd[k[len('model.'):]] = v + else: + new_sd[k] = v + + info = model.load_state_dict(new_sd, strict=False) + logger.info(f"Loaded Qwen3 state dict: {info}") + + if tokenizer.pad_token is None: + tokenizer.pad_token = tokenizer.eos_token + + model.config.use_cache = False + model = model.requires_grad_(False).to(device, dtype=dtype) + + logger.info(f"Loaded Qwen3 text encoder. Parameters: {sum(p.numel() for p in model.parameters()):,}") + return model, tokenizer + + +def load_t5_tokenizer(t5_tokenizer_path: Optional[str] = None): + """Load T5 tokenizer for LLM Adapter target tokens. + + Args: + t5_tokenizer_path: Optional path to T5 tokenizer directory. If None, uses default configs. + """ + from transformers import T5TokenizerFast + + if t5_tokenizer_path is not None: + return T5TokenizerFast.from_pretrained(t5_tokenizer_path, local_files_only=True) + + # Use bundled config + config_dir = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'configs', 't5_old') + if os.path.exists(config_dir): + return T5TokenizerFast( + vocab_file=os.path.join(config_dir, 'spiece.model'), + tokenizer_file=os.path.join(config_dir, 'tokenizer.json'), + ) + + raise FileNotFoundError( + f"T5 tokenizer config directory not found at {config_dir}. " + "Expected configs/t5_old/ with spiece.model and tokenizer.json. " + "You can download these from the google/t5-v1_1-xxl HuggingFace repository." + ) + + +def save_anima_model(save_path: str, dit_state_dict: Dict[str, torch.Tensor], dtype: Optional[torch.dtype] = None): + """Save Anima DiT model with 'net.' prefix for ComfyUI compatibility. + + Args: + save_path: Output path (.safetensors) + dit_state_dict: State dict from dit.state_dict() + dtype: Optional dtype to cast to before saving + """ + prefixed_sd = {} + for k, v in dit_state_dict.items(): + if dtype is not None: + v = v.to(dtype) + prefixed_sd['net.' + k] = v.contiguous() + + save_file(prefixed_sd, save_path, metadata={'format': 'pt'}) + logger.info(f"Saved Anima model to {save_path}") + + +def vae_encode(tensor: torch.Tensor, vae, scale): + """Encode tensor through WanVAE with normalization. + + Args: + tensor: Input tensor (B, C, T, H, W) in [-1, 1] range + vae: WanVAE_ model + scale: [mean, 1/std] list + + Returns: + Normalized latents + """ + return vae.encode(tensor, scale) + + +def vae_decode(latents: torch.Tensor, vae, scale): + """Decode latents through WanVAE with denormalization. + + Args: + latents: Normalized latents + vae: WanVAE_ model + scale: [mean, 1/std] list + + Returns: + Decoded tensor in [-1, 1] range + """ + return vae.decode(latents, scale) diff --git a/library/anima_vae.py b/library/anima_vae.py new file mode 100644 index 000000000..872bdfa2a --- /dev/null +++ b/library/anima_vae.py @@ -0,0 +1,577 @@ +import logging + +import torch +import torch.cuda.amp as amp +import torch.nn as nn +import torch.nn.functional as F +from einops import rearrange + +CACHE_T = 2 + + +class CausalConv3d(nn.Conv3d): + """ + Causal 3d convolusion. + """ + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self._padding = (self.padding[2], self.padding[2], self.padding[1], + self.padding[1], 2 * self.padding[0], 0) + self.padding = (0, 0, 0) + + def forward(self, x, cache_x=None): + padding = list(self._padding) + if cache_x is not None and self._padding[4] > 0: + cache_x = cache_x.to(x.device) + x = torch.cat([cache_x, x], dim=2) + padding[4] -= cache_x.shape[2] + x = F.pad(x, padding) + + return super().forward(x) + + +class RMS_norm(nn.Module): + + def __init__(self, dim, channel_first=True, images=True, bias=False): + super().__init__() + broadcastable_dims = (1, 1, 1) if not images else (1, 1) + shape = (dim, *broadcastable_dims) if channel_first else (dim,) + + self.channel_first = channel_first + self.scale = dim**0.5 + self.gamma = nn.Parameter(torch.ones(shape)) + self.bias = nn.Parameter(torch.zeros(shape)) if bias else 0. + + def forward(self, x): + return F.normalize( + x, dim=(1 if self.channel_first else + -1)) * self.scale * self.gamma + self.bias + + +class Upsample(nn.Upsample): + + def forward(self, x): + """ + Fix bfloat16 support for nearest neighbor interpolation. + """ + return super().forward(x.float()).type_as(x) + + +class Resample(nn.Module): + + def __init__(self, dim, mode): + assert mode in ('none', 'upsample2d', 'upsample3d', 'downsample2d', + 'downsample3d') + super().__init__() + self.dim = dim + self.mode = mode + + # layers + if mode == 'upsample2d': + self.resample = nn.Sequential( + Upsample(scale_factor=(2., 2.), mode='nearest-exact'), + nn.Conv2d(dim, dim // 2, 3, padding=1)) + elif mode == 'upsample3d': + self.resample = nn.Sequential( + Upsample(scale_factor=(2., 2.), mode='nearest-exact'), + nn.Conv2d(dim, dim // 2, 3, padding=1)) + self.time_conv = CausalConv3d( + dim, dim * 2, (3, 1, 1), padding=(1, 0, 0)) + + elif mode == 'downsample2d': + self.resample = nn.Sequential( + nn.ZeroPad2d((0, 1, 0, 1)), + nn.Conv2d(dim, dim, 3, stride=(2, 2))) + elif mode == 'downsample3d': + self.resample = nn.Sequential( + nn.ZeroPad2d((0, 1, 0, 1)), + nn.Conv2d(dim, dim, 3, stride=(2, 2))) + self.time_conv = CausalConv3d( + dim, dim, (3, 1, 1), stride=(2, 1, 1), padding=(0, 0, 0)) + + else: + self.resample = nn.Identity() + + def forward(self, x, feat_cache=None, feat_idx=[0]): + b, c, t, h, w = x.size() + if self.mode == 'upsample3d': + if feat_cache is not None: + idx = feat_idx[0] + if feat_cache[idx] is None: + feat_cache[idx] = 'Rep' + feat_idx[0] += 1 + else: + + cache_x = x[:, :, -CACHE_T:, :, :].clone() + if cache_x.shape[2] < 2 and feat_cache[ + idx] is not None and feat_cache[idx] != 'Rep': + # cache last frame of last two chunk + cache_x = torch.cat([ + feat_cache[idx][:, :, -1, :, :].unsqueeze(2).to( + cache_x.device), cache_x + ], + dim=2) + if cache_x.shape[2] < 2 and feat_cache[ + idx] is not None and feat_cache[idx] == 'Rep': + cache_x = torch.cat([ + torch.zeros_like(cache_x).to(cache_x.device), + cache_x + ], + dim=2) + if feat_cache[idx] == 'Rep': + x = self.time_conv(x) + else: + x = self.time_conv(x, feat_cache[idx]) + feat_cache[idx] = cache_x + feat_idx[0] += 1 + + x = x.reshape(b, 2, c, t, h, w) + x = torch.stack((x[:, 0, :, :, :, :], x[:, 1, :, :, :, :]), + 3) + x = x.reshape(b, c, t * 2, h, w) + t = x.shape[2] + x = rearrange(x, 'b c t h w -> (b t) c h w') + x = self.resample(x) + x = rearrange(x, '(b t) c h w -> b c t h w', t=t) + + if self.mode == 'downsample3d': + if feat_cache is not None: + idx = feat_idx[0] + if feat_cache[idx] is None: + feat_cache[idx] = x.clone() + feat_idx[0] += 1 + else: + + cache_x = x[:, :, -1:, :, :].clone() + x = self.time_conv( + torch.cat([feat_cache[idx][:, :, -1:, :, :], x], 2)) + feat_cache[idx] = cache_x + feat_idx[0] += 1 + return x + + def init_weight(self, conv): + conv_weight = conv.weight + nn.init.zeros_(conv_weight) + c1, c2, t, h, w = conv_weight.size() + one_matrix = torch.eye(c1, c2) + init_matrix = one_matrix + nn.init.zeros_(conv_weight) + conv_weight.data[:, :, 1, 0, 0] = init_matrix + conv.weight.data.copy_(conv_weight) + nn.init.zeros_(conv.bias.data) + + def init_weight2(self, conv): + conv_weight = conv.weight.data + nn.init.zeros_(conv_weight) + c1, c2, t, h, w = conv_weight.size() + init_matrix = torch.eye(c1 // 2, c2) + conv_weight[:c1 // 2, :, -1, 0, 0] = init_matrix + conv_weight[c1 // 2:, :, -1, 0, 0] = init_matrix + conv.weight.data.copy_(conv_weight) + nn.init.zeros_(conv.bias.data) + + +class ResidualBlock(nn.Module): + + def __init__(self, in_dim, out_dim, dropout=0.0): + super().__init__() + self.in_dim = in_dim + self.out_dim = out_dim + + # layers + self.residual = nn.Sequential( + RMS_norm(in_dim, images=False), nn.SiLU(), + CausalConv3d(in_dim, out_dim, 3, padding=1), + RMS_norm(out_dim, images=False), nn.SiLU(), nn.Dropout(dropout), + CausalConv3d(out_dim, out_dim, 3, padding=1)) + self.shortcut = CausalConv3d(in_dim, out_dim, 1) \ + if in_dim != out_dim else nn.Identity() + + def forward(self, x, feat_cache=None, feat_idx=[0]): + h = self.shortcut(x) + for layer in self.residual: + if isinstance(layer, CausalConv3d) and feat_cache is not None: + idx = feat_idx[0] + cache_x = x[:, :, -CACHE_T:, :, :].clone() + if cache_x.shape[2] < 2 and feat_cache[idx] is not None: + # cache last frame of last two chunk + cache_x = torch.cat([ + feat_cache[idx][:, :, -1, :, :].unsqueeze(2).to( + cache_x.device), cache_x + ], + dim=2) + x = layer(x, feat_cache[idx]) + feat_cache[idx] = cache_x + feat_idx[0] += 1 + else: + x = layer(x) + return x + h + + +class AttentionBlock(nn.Module): + """ + Causal self-attention with a single head. + """ + + def __init__(self, dim): + super().__init__() + self.dim = dim + + # layers + self.norm = RMS_norm(dim) + self.to_qkv = nn.Conv2d(dim, dim * 3, 1) + self.proj = nn.Conv2d(dim, dim, 1) + + # zero out the last layer params + nn.init.zeros_(self.proj.weight) + + def forward(self, x): + identity = x + b, c, t, h, w = x.size() + x = rearrange(x, 'b c t h w -> (b t) c h w') + x = self.norm(x) + # compute query, key, value + q, k, v = self.to_qkv(x).reshape(b * t, 1, c * 3, + -1).permute(0, 1, 3, + 2).contiguous().chunk( + 3, dim=-1) + + # apply attention + x = F.scaled_dot_product_attention( + q, + k, + v, + ) + x = x.squeeze(1).permute(0, 2, 1).reshape(b * t, c, h, w) + + # output + x = self.proj(x) + x = rearrange(x, '(b t) c h w-> b c t h w', t=t) + return x + identity + + +class Encoder3d(nn.Module): + + def __init__(self, + dim=128, + z_dim=4, + dim_mult=[1, 2, 4, 4], + num_res_blocks=2, + attn_scales=[], + temperal_downsample=[True, True, False], + dropout=0.0): + super().__init__() + self.dim = dim + self.z_dim = z_dim + self.dim_mult = dim_mult + self.num_res_blocks = num_res_blocks + self.attn_scales = attn_scales + self.temperal_downsample = temperal_downsample + + # dimensions + dims = [dim * u for u in [1] + dim_mult] + scale = 1.0 + + # init block + self.conv1 = CausalConv3d(3, dims[0], 3, padding=1) + + # downsample blocks + downsamples = [] + for i, (in_dim, out_dim) in enumerate(zip(dims[:-1], dims[1:])): + # residual (+attention) blocks + for _ in range(num_res_blocks): + downsamples.append(ResidualBlock(in_dim, out_dim, dropout)) + if scale in attn_scales: + downsamples.append(AttentionBlock(out_dim)) + in_dim = out_dim + + # downsample block + if i != len(dim_mult) - 1: + mode = 'downsample3d' if temperal_downsample[ + i] else 'downsample2d' + downsamples.append(Resample(out_dim, mode=mode)) + scale /= 2.0 + self.downsamples = nn.Sequential(*downsamples) + + # middle blocks + self.middle = nn.Sequential( + ResidualBlock(out_dim, out_dim, dropout), AttentionBlock(out_dim), + ResidualBlock(out_dim, out_dim, dropout)) + + # output blocks + self.head = nn.Sequential( + RMS_norm(out_dim, images=False), nn.SiLU(), + CausalConv3d(out_dim, z_dim, 3, padding=1)) + + def forward(self, x, feat_cache=None, feat_idx=[0]): + if feat_cache is not None: + idx = feat_idx[0] + cache_x = x[:, :, -CACHE_T:, :, :].clone() + if cache_x.shape[2] < 2 and feat_cache[idx] is not None: + # cache last frame of last two chunk + cache_x = torch.cat([ + feat_cache[idx][:, :, -1, :, :].unsqueeze(2).to( + cache_x.device), cache_x + ], + dim=2) + x = self.conv1(x, feat_cache[idx]) + feat_cache[idx] = cache_x + feat_idx[0] += 1 + else: + x = self.conv1(x) + + ## downsamples + for layer in self.downsamples: + if feat_cache is not None: + x = layer(x, feat_cache, feat_idx) + else: + x = layer(x) + + ## middle + for layer in self.middle: + if isinstance(layer, ResidualBlock) and feat_cache is not None: + x = layer(x, feat_cache, feat_idx) + else: + x = layer(x) + + ## head + for layer in self.head: + if isinstance(layer, CausalConv3d) and feat_cache is not None: + idx = feat_idx[0] + cache_x = x[:, :, -CACHE_T:, :, :].clone() + if cache_x.shape[2] < 2 and feat_cache[idx] is not None: + # cache last frame of last two chunk + cache_x = torch.cat([ + feat_cache[idx][:, :, -1, :, :].unsqueeze(2).to( + cache_x.device), cache_x + ], + dim=2) + x = layer(x, feat_cache[idx]) + feat_cache[idx] = cache_x + feat_idx[0] += 1 + else: + x = layer(x) + return x + + +class Decoder3d(nn.Module): + + def __init__(self, + dim=128, + z_dim=4, + dim_mult=[1, 2, 4, 4], + num_res_blocks=2, + attn_scales=[], + temperal_upsample=[False, True, True], + dropout=0.0): + super().__init__() + self.dim = dim + self.z_dim = z_dim + self.dim_mult = dim_mult + self.num_res_blocks = num_res_blocks + self.attn_scales = attn_scales + self.temperal_upsample = temperal_upsample + + # dimensions + dims = [dim * u for u in [dim_mult[-1]] + dim_mult[::-1]] + scale = 1.0 / 2**(len(dim_mult) - 2) + + # init block + self.conv1 = CausalConv3d(z_dim, dims[0], 3, padding=1) + + # middle blocks + self.middle = nn.Sequential( + ResidualBlock(dims[0], dims[0], dropout), AttentionBlock(dims[0]), + ResidualBlock(dims[0], dims[0], dropout)) + + # upsample blocks + upsamples = [] + for i, (in_dim, out_dim) in enumerate(zip(dims[:-1], dims[1:])): + # residual (+attention) blocks + if i == 1 or i == 2 or i == 3: + in_dim = in_dim // 2 + for _ in range(num_res_blocks + 1): + upsamples.append(ResidualBlock(in_dim, out_dim, dropout)) + if scale in attn_scales: + upsamples.append(AttentionBlock(out_dim)) + in_dim = out_dim + + # upsample block + if i != len(dim_mult) - 1: + mode = 'upsample3d' if temperal_upsample[i] else 'upsample2d' + upsamples.append(Resample(out_dim, mode=mode)) + scale *= 2.0 + self.upsamples = nn.Sequential(*upsamples) + + # output blocks + self.head = nn.Sequential( + RMS_norm(out_dim, images=False), nn.SiLU(), + CausalConv3d(out_dim, 3, 3, padding=1)) + + def forward(self, x, feat_cache=None, feat_idx=[0]): + ## conv1 + if feat_cache is not None: + idx = feat_idx[0] + cache_x = x[:, :, -CACHE_T:, :, :].clone() + if cache_x.shape[2] < 2 and feat_cache[idx] is not None: + # cache last frame of last two chunk + cache_x = torch.cat([ + feat_cache[idx][:, :, -1, :, :].unsqueeze(2).to( + cache_x.device), cache_x + ], + dim=2) + x = self.conv1(x, feat_cache[idx]) + feat_cache[idx] = cache_x + feat_idx[0] += 1 + else: + x = self.conv1(x) + + ## middle + for layer in self.middle: + if isinstance(layer, ResidualBlock) and feat_cache is not None: + x = layer(x, feat_cache, feat_idx) + else: + x = layer(x) + + ## upsamples + for layer in self.upsamples: + if feat_cache is not None: + x = layer(x, feat_cache, feat_idx) + else: + x = layer(x) + + ## head + for layer in self.head: + if isinstance(layer, CausalConv3d) and feat_cache is not None: + idx = feat_idx[0] + cache_x = x[:, :, -CACHE_T:, :, :].clone() + if cache_x.shape[2] < 2 and feat_cache[idx] is not None: + # cache last frame of last two chunk + cache_x = torch.cat([ + feat_cache[idx][:, :, -1, :, :].unsqueeze(2).to( + cache_x.device), cache_x + ], + dim=2) + x = layer(x, feat_cache[idx]) + feat_cache[idx] = cache_x + feat_idx[0] += 1 + else: + x = layer(x) + return x + + +def count_conv3d(model): + count = 0 + for m in model.modules(): + if isinstance(m, CausalConv3d): + count += 1 + return count + + +class WanVAE_(nn.Module): + + def __init__(self, + dim=128, + z_dim=4, + dim_mult=[1, 2, 4, 4], + num_res_blocks=2, + attn_scales=[], + temperal_downsample=[True, True, False], + dropout=0.0): + super().__init__() + self.dim = dim + self.z_dim = z_dim + self.dim_mult = dim_mult + self.num_res_blocks = num_res_blocks + self.attn_scales = attn_scales + self.temperal_downsample = temperal_downsample + self.temperal_upsample = temperal_downsample[::-1] + + # modules + self.encoder = Encoder3d(dim, z_dim * 2, dim_mult, num_res_blocks, + attn_scales, self.temperal_downsample, dropout) + self.conv1 = CausalConv3d(z_dim * 2, z_dim * 2, 1) + self.conv2 = CausalConv3d(z_dim, z_dim, 1) + self.decoder = Decoder3d(dim, z_dim, dim_mult, num_res_blocks, + attn_scales, self.temperal_upsample, dropout) + + def forward(self, x): + mu, log_var = self.encode(x) + z = self.reparameterize(mu, log_var) + x_recon = self.decode(z) + return x_recon, mu, log_var + + def encode(self, x, scale): + self.clear_cache() + ## cache + t = x.shape[2] + iter_ = 1 + (t - 1) // 4 + for i in range(iter_): + self._enc_conv_idx = [0] + if i == 0: + out = self.encoder( + x[:, :, :1, :, :], + feat_cache=self._enc_feat_map, + feat_idx=self._enc_conv_idx) + else: + out_ = self.encoder( + x[:, :, 1 + 4 * (i - 1):1 + 4 * i, :, :], + feat_cache=self._enc_feat_map, + feat_idx=self._enc_conv_idx) + out = torch.cat([out, out_], 2) + mu, log_var = self.conv1(out).chunk(2, dim=1) + if isinstance(scale[0], torch.Tensor): + mu = (mu - scale[0].view(1, self.z_dim, 1, 1, 1)) * scale[1].view( + 1, self.z_dim, 1, 1, 1) + else: + mu = (mu - scale[0]) * scale[1] + self.clear_cache() + return mu + + def decode(self, z, scale): + self.clear_cache() + # z: [b,c,t,h,w] + if isinstance(scale[0], torch.Tensor): + z = z / scale[1].view(1, self.z_dim, 1, 1, 1) + scale[0].view( + 1, self.z_dim, 1, 1, 1) + else: + z = z / scale[1] + scale[0] + iter_ = z.shape[2] + x = self.conv2(z) + for i in range(iter_): + self._conv_idx = [0] + if i == 0: + out = self.decoder( + x[:, :, i:i + 1, :, :], + feat_cache=self._feat_map, + feat_idx=self._conv_idx) + else: + out_ = self.decoder( + x[:, :, i:i + 1, :, :], + feat_cache=self._feat_map, + feat_idx=self._conv_idx) + out = torch.cat([out, out_], 2) + self.clear_cache() + return out + + def reparameterize(self, mu, log_var): + std = torch.exp(0.5 * log_var) + eps = torch.randn_like(std) + return eps * std + mu + + def sample(self, imgs, deterministic=False): + mu, log_var = self.encode(imgs) + if deterministic: + return mu + std = torch.exp(0.5 * log_var.clamp(-30.0, 20.0)) + return mu + std * torch.randn_like(std) + + def clear_cache(self): + self._conv_num = count_conv3d(self.decoder) + self._conv_idx = [0] + self._feat_map = [None] * self._conv_num + #cache encode + self._enc_conv_num = count_conv3d(self.encoder) + self._enc_conv_idx = [0] + self._enc_feat_map = [None] * self._enc_conv_num diff --git a/library/strategy_anima.py b/library/strategy_anima.py new file mode 100644 index 000000000..9c9b01262 --- /dev/null +++ b/library/strategy_anima.py @@ -0,0 +1,429 @@ +# Anima Strategy Classes + +import os +import random +from typing import Any, List, Optional, Tuple, Union + +import numpy as np +import torch + +from library import anima_utils, train_util +from library.strategy_base import LatentsCachingStrategy, TextEncodingStrategy, TokenizeStrategy, TextEncoderOutputsCachingStrategy + +from library.utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + + +class AnimaTokenizeStrategy(TokenizeStrategy): + """Tokenize strategy for Anima: dual tokenization with Qwen3 + T5. + + Qwen3 tokens are used for the text encoder. + T5 tokens are used as target input IDs for the LLM Adapter (NOT encoded by T5). + + Can be initialized with either pre-loaded tokenizer objects or paths to load from. + """ + + def __init__( + self, + qwen3_tokenizer=None, + t5_tokenizer=None, + qwen3_max_length: int = 512, + t5_max_length: int = 512, + qwen3_path: Optional[str] = None, + t5_tokenizer_path: Optional[str] = None, + ) -> None: + # Load tokenizers from paths if not provided directly + if qwen3_tokenizer is None: + if qwen3_path is None: + raise ValueError("Either qwen3_tokenizer or qwen3_path must be provided") + qwen3_tokenizer = anima_utils.load_qwen3_tokenizer(qwen3_path) + if t5_tokenizer is None: + t5_tokenizer = anima_utils.load_t5_tokenizer(t5_tokenizer_path) + + self.qwen3_tokenizer = qwen3_tokenizer + self.t5_tokenizer = t5_tokenizer + self.qwen3_max_length = qwen3_max_length + self.t5_max_length = t5_max_length + + def tokenize(self, text: Union[str, List[str]]) -> List[torch.Tensor]: + text = [text] if isinstance(text, str) else text + + # Tokenize with Qwen3 + qwen3_encoding = self.qwen3_tokenizer.batch_encode_plus( + text, + return_tensors="pt", + truncation=True, + padding="max_length", + max_length=self.qwen3_max_length, + ) + qwen3_input_ids = qwen3_encoding["input_ids"] + qwen3_attn_mask = qwen3_encoding["attention_mask"] + + # Tokenize with T5 (for LLM Adapter target tokens) + t5_encoding = self.t5_tokenizer.batch_encode_plus( + text, + return_tensors="pt", + truncation=True, + padding="max_length", + max_length=self.t5_max_length, + ) + t5_input_ids = t5_encoding["input_ids"] + t5_attn_mask = t5_encoding["attention_mask"] + + return [qwen3_input_ids, qwen3_attn_mask, t5_input_ids, t5_attn_mask] + + +class AnimaTextEncodingStrategy(TextEncodingStrategy): + """Text encoding strategy for Anima. + + Encodes Qwen3 tokens through the Qwen3 text encoder to get hidden states. + T5 tokens are passed through unchanged (only used by LLM Adapter). + """ + + def __init__( + self, + dropout_rate: float = 0.0, + ) -> None: + self.dropout_rate = dropout_rate + # Cached unconditional embeddings (from encoding empty caption "") + # Must be initialized via cache_uncond_embeddings() before text encoder is deleted + self._uncond_prompt_embeds: Optional[torch.Tensor] = None # (1, seq_len, hidden) + self._uncond_attn_mask: Optional[torch.Tensor] = None # (1, seq_len) + self._uncond_t5_input_ids: Optional[torch.Tensor] = None # (1, t5_seq_len) + self._uncond_t5_attn_mask: Optional[torch.Tensor] = None # (1, t5_seq_len) + + def cache_uncond_embeddings( + self, + tokenize_strategy: TokenizeStrategy, + models: List[Any], + ) -> None: + """Pre-encode empty caption "" and cache the unconditional embeddings. + + Must be called before the text encoder is deleted from GPU. + This matches diffusion-pipe-main behavior where empty caption embeddings + are pre-cached and swapped in during caption dropout. + """ + logger.info("Caching unconditional embeddings for caption dropout (encoding empty caption)...") + tokens = tokenize_strategy.tokenize("") + with torch.no_grad(): + uncond_outputs = self.encode_tokens(tokenize_strategy, models, tokens, enable_dropout=False) + # Store as CPU tensors (1, seq_len, ...) to avoid GPU memory waste + self._uncond_prompt_embeds = uncond_outputs[0].cpu() + self._uncond_attn_mask = uncond_outputs[1].cpu() + self._uncond_t5_input_ids = uncond_outputs[2].cpu() + self._uncond_t5_attn_mask = uncond_outputs[3].cpu() + logger.info(" Unconditional embeddings cached successfully") + + def encode_tokens( + self, + tokenize_strategy: TokenizeStrategy, + models: List[Any], + tokens: List[torch.Tensor], + enable_dropout: bool = True, + ) -> List[torch.Tensor]: + """Encode Qwen3 tokens and return embeddings + T5 token IDs. + + Args: + models: [qwen3_text_encoder] + tokens: [qwen3_input_ids, qwen3_attn_mask, t5_input_ids, t5_attn_mask] + + Returns: + [prompt_embeds, attn_mask, t5_input_ids, t5_attn_mask] + """ + + qwen3_text_encoder = models[0] + qwen3_input_ids, qwen3_attn_mask, t5_input_ids, t5_attn_mask = tokens + + # Handle dropout: replace dropped items with unconditional embeddings (matching diffusion-pipe-main) + batch_size = qwen3_input_ids.shape[0] + non_drop_indices = [] + for i in range(batch_size): + drop = enable_dropout and (self.dropout_rate > 0.0 and random.random() < self.dropout_rate) + if not drop: + non_drop_indices.append(i) + + encoder_device = qwen3_text_encoder.device if hasattr(qwen3_text_encoder, 'device') else next(qwen3_text_encoder.parameters()).device + + if len(non_drop_indices) > 0 and len(non_drop_indices) < batch_size: + # Only encode non-dropped items to save compute + nd_input_ids = qwen3_input_ids[non_drop_indices].to(encoder_device) + nd_attn_mask = qwen3_attn_mask[non_drop_indices].to(encoder_device) + elif len(non_drop_indices) == batch_size: + nd_input_ids = qwen3_input_ids.to(encoder_device) + nd_attn_mask = qwen3_attn_mask.to(encoder_device) + else: + nd_input_ids = None + nd_attn_mask = None + + if nd_input_ids is not None: + outputs = qwen3_text_encoder(input_ids=nd_input_ids, attention_mask=nd_attn_mask) + nd_encoded_text = outputs.last_hidden_state + # Zero out padding positions + nd_encoded_text[~nd_attn_mask.bool()] = 0 + + # Build full batch: fill non-dropped with encoded, dropped with unconditional + if len(non_drop_indices) == batch_size: + prompt_embeds = nd_encoded_text + attn_mask = qwen3_attn_mask.to(encoder_device) + else: + # Get unconditional embeddings + if self._uncond_prompt_embeds is not None: + uncond_pe = self._uncond_prompt_embeds[0] + uncond_am = self._uncond_attn_mask[0] + uncond_t5_ids = self._uncond_t5_input_ids[0] + uncond_t5_am = self._uncond_t5_attn_mask[0] + else: + # Encode empty caption on-the-fly (text encoder still available) + uncond_tokens = tokenize_strategy.tokenize("") + uncond_ids = uncond_tokens[0].to(encoder_device) + uncond_mask = uncond_tokens[1].to(encoder_device) + uncond_out = qwen3_text_encoder(input_ids=uncond_ids, attention_mask=uncond_mask) + uncond_pe = uncond_out.last_hidden_state[0] + uncond_pe[~uncond_mask[0].bool()] = 0 + uncond_am = uncond_mask[0] + uncond_t5_ids = uncond_tokens[2][0] + uncond_t5_am = uncond_tokens[3][0] + + seq_len = qwen3_input_ids.shape[1] + hidden_size = nd_encoded_text.shape[-1] if nd_encoded_text is not None else uncond_pe.shape[-1] + dtype = nd_encoded_text.dtype if nd_encoded_text is not None else uncond_pe.dtype + + prompt_embeds = torch.zeros((batch_size, seq_len, hidden_size), device=encoder_device, dtype=dtype) + attn_mask = torch.zeros((batch_size, seq_len), device=encoder_device, dtype=qwen3_attn_mask.dtype) + + if len(non_drop_indices) > 0: + prompt_embeds[non_drop_indices] = nd_encoded_text + attn_mask[non_drop_indices] = nd_attn_mask + + # Fill dropped items with unconditional embeddings + t5_input_ids = t5_input_ids.clone() + t5_attn_mask = t5_attn_mask.clone() + drop_indices = [i for i in range(batch_size) if i not in non_drop_indices] + for i in drop_indices: + prompt_embeds[i] = uncond_pe.to(device=encoder_device, dtype=dtype) + attn_mask[i] = uncond_am.to(device=encoder_device, dtype=qwen3_attn_mask.dtype) + t5_input_ids[i] = uncond_t5_ids.to(device=t5_input_ids.device, dtype=t5_input_ids.dtype) + t5_attn_mask[i] = uncond_t5_am.to(device=t5_attn_mask.device, dtype=t5_attn_mask.dtype) + + return [prompt_embeds, attn_mask, t5_input_ids, t5_attn_mask] + + def drop_cached_text_encoder_outputs( + self, + prompt_embeds: torch.Tensor, + attn_mask: torch.Tensor, + t5_input_ids: torch.Tensor, + t5_attn_mask: torch.Tensor, + ) -> List[torch.Tensor]: + """Apply dropout to cached text encoder outputs. + + Called during training when using cached outputs. + Replaces dropped items with pre-cached unconditional embeddings (from encoding "") + to match diffusion-pipe-main behavior. + """ + if prompt_embeds is not None and self.dropout_rate > 0.0: + # Clone to avoid in-place modification of cached tensors + prompt_embeds = prompt_embeds.clone() + if attn_mask is not None: + attn_mask = attn_mask.clone() + if t5_input_ids is not None: + t5_input_ids = t5_input_ids.clone() + if t5_attn_mask is not None: + t5_attn_mask = t5_attn_mask.clone() + + for i in range(prompt_embeds.shape[0]): + if random.random() < self.dropout_rate: + if self._uncond_prompt_embeds is not None: + # Use pre-cached unconditional embeddings + prompt_embeds[i] = self._uncond_prompt_embeds[0].to(device=prompt_embeds.device, dtype=prompt_embeds.dtype) + if attn_mask is not None: + attn_mask[i] = self._uncond_attn_mask[0].to(device=attn_mask.device, dtype=attn_mask.dtype) + if t5_input_ids is not None: + t5_input_ids[i] = self._uncond_t5_input_ids[0].to(device=t5_input_ids.device, dtype=t5_input_ids.dtype) + if t5_attn_mask is not None: + t5_attn_mask[i] = self._uncond_t5_attn_mask[0].to(device=t5_attn_mask.device, dtype=t5_attn_mask.dtype) + else: + # Fallback: zero out (should not happen if cache_uncond_embeddings was called) + logger.warning("Unconditional embeddings not cached, falling back to zeros for caption dropout") + prompt_embeds[i] = torch.zeros_like(prompt_embeds[i]) + if attn_mask is not None: + attn_mask[i] = torch.zeros_like(attn_mask[i]) + if t5_input_ids is not None: + t5_input_ids[i] = torch.zeros_like(t5_input_ids[i]) + if t5_attn_mask is not None: + t5_attn_mask[i] = torch.zeros_like(t5_attn_mask[i]) + + return [prompt_embeds, attn_mask, t5_input_ids, t5_attn_mask] + + +class AnimaTextEncoderOutputsCachingStrategy(TextEncoderOutputsCachingStrategy): + """Caching strategy for Anima text encoder outputs. + + Caches: prompt_embeds (float), attn_mask (int), t5_input_ids (int), t5_attn_mask (int) + """ + + ANIMA_TEXT_ENCODER_OUTPUTS_NPZ_SUFFIX = "_anima_te.npz" + + def __init__( + self, + cache_to_disk: bool, + batch_size: int, + skip_disk_cache_validity_check: bool, + is_partial: bool = False, + ) -> None: + super().__init__(cache_to_disk, batch_size, skip_disk_cache_validity_check, is_partial) + + def get_outputs_npz_path(self, image_abs_path: str) -> str: + return os.path.splitext(image_abs_path)[0] + self.ANIMA_TEXT_ENCODER_OUTPUTS_NPZ_SUFFIX + + def is_disk_cached_outputs_expected(self, npz_path: str) -> bool: + if not self.cache_to_disk: + return False + if not os.path.exists(npz_path): + return False + if self.skip_disk_cache_validity_check: + return True + + try: + npz = np.load(npz_path) + if "prompt_embeds" not in npz: + return False + if "attn_mask" not in npz: + return False + if "t5_input_ids" not in npz: + return False + if "t5_attn_mask" not in npz: + return False + except Exception as e: + logger.error(f"Error loading file: {npz_path}") + raise e + + return True + + def load_outputs_npz(self, npz_path: str) -> List[np.ndarray]: + data = np.load(npz_path) + prompt_embeds = data["prompt_embeds"] + attn_mask = data["attn_mask"] + t5_input_ids = data["t5_input_ids"] + t5_attn_mask = data["t5_attn_mask"] + return [prompt_embeds, attn_mask, t5_input_ids, t5_attn_mask] + + def cache_batch_outputs( + self, + tokenize_strategy: TokenizeStrategy, + models: List[Any], + text_encoding_strategy: TextEncodingStrategy, + infos: List, + ): + anima_text_encoding_strategy: AnimaTextEncodingStrategy = text_encoding_strategy + captions = [info.caption for info in infos] + + tokens_and_masks = tokenize_strategy.tokenize(captions) + with torch.no_grad(): + # Always disable dropout during caching + prompt_embeds, attn_mask, t5_input_ids, t5_attn_mask = anima_text_encoding_strategy.encode_tokens( + tokenize_strategy, + models, + tokens_and_masks, + enable_dropout=False, + ) + + # Convert to numpy for caching + if prompt_embeds.dtype == torch.bfloat16: + prompt_embeds = prompt_embeds.float() + prompt_embeds = prompt_embeds.cpu().numpy() + attn_mask = attn_mask.cpu().numpy() + t5_input_ids = t5_input_ids.cpu().numpy().astype(np.int32) + t5_attn_mask = t5_attn_mask.cpu().numpy().astype(np.int32) + + for i, info in enumerate(infos): + prompt_embeds_i = prompt_embeds[i] + attn_mask_i = attn_mask[i] + t5_input_ids_i = t5_input_ids[i] + t5_attn_mask_i = t5_attn_mask[i] + + if self.cache_to_disk: + np.savez( + info.text_encoder_outputs_npz, + prompt_embeds=prompt_embeds_i, + attn_mask=attn_mask_i, + t5_input_ids=t5_input_ids_i, + t5_attn_mask=t5_attn_mask_i, + ) + else: + info.text_encoder_outputs = (prompt_embeds_i, attn_mask_i, t5_input_ids_i, t5_attn_mask_i) + + +class AnimaLatentsCachingStrategy(LatentsCachingStrategy): + """Latent caching strategy for Anima using WanVAE. + + WanVAE produces 16-channel latents with spatial downscale 8x. + Latent shape for images: (B, 16, 1, H/8, W/8) + """ + + ANIMA_LATENTS_NPZ_SUFFIX = "_anima.npz" + + def __init__(self, cache_to_disk: bool, batch_size: int, skip_disk_cache_validity_check: bool) -> None: + super().__init__(cache_to_disk, batch_size, skip_disk_cache_validity_check) + + @property + def cache_suffix(self) -> str: + return self.ANIMA_LATENTS_NPZ_SUFFIX + + def get_latents_npz_path(self, absolute_path: str, image_size: Tuple[int, int]) -> str: + return ( + os.path.splitext(absolute_path)[0] + + f"_{image_size[0]:04d}x{image_size[1]:04d}" + + self.ANIMA_LATENTS_NPZ_SUFFIX + ) + + def is_disk_cached_latents_expected( + self, bucket_reso: Tuple[int, int], npz_path: str, flip_aug: bool, alpha_mask: bool + ): + return self._default_is_disk_cached_latents_expected( + 8, bucket_reso, npz_path, flip_aug, alpha_mask, multi_resolution=True + ) + + def load_latents_from_disk( + self, npz_path: str, bucket_reso: Tuple[int, int] + ) -> Tuple[Optional[np.ndarray], Optional[List[int]], Optional[List[int]], Optional[np.ndarray], Optional[np.ndarray]]: + return self._default_load_latents_from_disk(8, npz_path, bucket_reso) + + def cache_batch_latents(self, vae, image_infos: List, flip_aug: bool, alpha_mask: bool, random_crop: bool): + """Cache batch of latents using WanVAE. + + vae is expected to be the WanVAE_ model (not the wrapper). + The encoding function handles the mean/std normalization. + """ + from library.anima_models import ANIMA_VAE_MEAN, ANIMA_VAE_STD + + vae_device = next(vae.parameters()).device + vae_dtype = next(vae.parameters()).dtype + + # Create scale tensors on VAE device + mean = torch.tensor(ANIMA_VAE_MEAN, dtype=vae_dtype, device=vae_device) + std = torch.tensor(ANIMA_VAE_STD, dtype=vae_dtype, device=vae_device) + scale = [mean, 1.0 / std] + + def encode_by_vae(img_tensor): + """Encode image tensor to latents. + + img_tensor: (B, C, H, W) in [-1, 1] range (already normalized by IMAGE_TRANSFORMS) + Need to add temporal dim to get (B, C, T=1, H, W) for WanVAE + """ + # Add temporal dimension: (B, C, H, W) -> (B, C, 1, H, W) + img_tensor = img_tensor.unsqueeze(2) + img_tensor = img_tensor.to(vae_device, dtype=vae_dtype) + + latents = vae.encode(img_tensor, scale) + return latents.to("cpu") + + self._default_cache_batch_latents( + encode_by_vae, vae_device, vae_dtype, image_infos, flip_aug, alpha_mask, random_crop, multi_resolution=True + ) + + if not train_util.HIGH_VRAM: + train_util.clean_memory_on_device(vae_device) diff --git a/library/strategy_base.py b/library/strategy_base.py index e88d273fc..6e6487eae 100644 --- a/library/strategy_base.py +++ b/library/strategy_base.py @@ -524,7 +524,7 @@ def _default_cache_batch_latents( original_size = original_sizes[i] crop_ltrb = crop_ltrbs[i] - latents_size = latents.shape[1:3] # H, W + latents_size = latents.shape[-2:] # H, W (supports both 4D and 5D latents) key_reso_suffix = f"_{latents_size[0]}x{latents_size[1]}" if multi_resolution else "" # e.g. "_32x64", HxW if self.cache_to_disk: diff --git a/library/train_util.py b/library/train_util.py index a19006093..6874076d6 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -6138,7 +6138,8 @@ def conditional_loss( elif loss_type == "huber": if huber_c is None: raise NotImplementedError("huber_c not implemented correctly") - huber_c = huber_c.view(-1, 1, 1, 1) + # Reshape huber_c to broadcast with model_pred (supports 4D and 5D tensors) + huber_c = huber_c.view(-1, *([1] * (model_pred.ndim - 1))) loss = 2 * huber_c * (torch.sqrt((model_pred - target) ** 2 + huber_c**2) - huber_c) if reduction == "mean": loss = torch.mean(loss) @@ -6147,7 +6148,8 @@ def conditional_loss( elif loss_type == "smooth_l1": if huber_c is None: raise NotImplementedError("huber_c not implemented correctly") - huber_c = huber_c.view(-1, 1, 1, 1) + # Reshape huber_c to broadcast with model_pred (supports 4D and 5D tensors) + huber_c = huber_c.view(-1, *([1] * (model_pred.ndim - 1))) loss = 2 * (torch.sqrt((model_pred - target) ** 2 + huber_c**2) - huber_c) if reduction == "mean": loss = torch.mean(loss) diff --git a/networks/lora_anima.py b/networks/lora_anima.py new file mode 100644 index 000000000..c375ead7c --- /dev/null +++ b/networks/lora_anima.py @@ -0,0 +1,635 @@ +# LoRA network module for Anima +import math +import os +from typing import Dict, List, Optional, Tuple, Type, Union +import numpy as np +import torch +from library.utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + +from networks.lora_flux import LoRAModule, LoRAInfModule + + +def create_network( + multiplier: float, + network_dim: Optional[int], + network_alpha: Optional[float], + vae, + text_encoders: list, + unet, + neuron_dropout: Optional[float] = None, + **kwargs, +): + if network_dim is None: + network_dim = 4 + if network_alpha is None: + network_alpha = 1.0 + + # type_dims: [self_attn_dim, cross_attn_dim, mlp_dim, mod_dim, llm_adapter_dim] + self_attn_dim = kwargs.get("self_attn_dim", None) + cross_attn_dim = kwargs.get("cross_attn_dim", None) + mlp_dim = kwargs.get("mlp_dim", None) + mod_dim = kwargs.get("mod_dim", None) + llm_adapter_dim = kwargs.get("llm_adapter_dim", None) + + if self_attn_dim is not None: + self_attn_dim = int(self_attn_dim) + if cross_attn_dim is not None: + cross_attn_dim = int(cross_attn_dim) + if mlp_dim is not None: + mlp_dim = int(mlp_dim) + if mod_dim is not None: + mod_dim = int(mod_dim) + if llm_adapter_dim is not None: + llm_adapter_dim = int(llm_adapter_dim) + + type_dims = [self_attn_dim, cross_attn_dim, mlp_dim, mod_dim, llm_adapter_dim] + if all([d is None for d in type_dims]): + type_dims = None + + # emb_dims: [x_embedder, t_embedder, final_layer] + emb_dims = kwargs.get("emb_dims", None) + if emb_dims is not None: + emb_dims = emb_dims.strip() + if emb_dims.startswith("[") and emb_dims.endswith("]"): + emb_dims = emb_dims[1:-1] + emb_dims = [int(d) for d in emb_dims.split(",")] + assert len(emb_dims) == 3, f"invalid emb_dims: {emb_dims}, must be 3 dimensions (x_embedder, t_embedder, final_layer)" + + # block selection + def parse_block_selection(selection: str, total_blocks: int) -> List[bool]: + if selection == "all": + return [True] * total_blocks + if selection == "none" or selection == "": + return [False] * total_blocks + + selected = [False] * total_blocks + ranges = selection.split(",") + for r in ranges: + if "-" in r: + start, end = map(str.strip, r.split("-")) + start, end = int(start), int(end) + assert 0 <= start < total_blocks and 0 <= end < total_blocks and start <= end + for i in range(start, end + 1): + selected[i] = True + else: + index = int(r) + assert 0 <= index < total_blocks + selected[index] = True + return selected + + train_block_indices = kwargs.get("train_block_indices", None) + if train_block_indices is not None: + num_blocks = len(unet.blocks) if hasattr(unet, 'blocks') else 999 + train_block_indices = parse_block_selection(train_block_indices, num_blocks) + + # train LLM adapter + train_llm_adapter = kwargs.get("train_llm_adapter", False) + if train_llm_adapter is not None: + train_llm_adapter = True if train_llm_adapter == "True" else False + + # rank/module dropout + rank_dropout = kwargs.get("rank_dropout", None) + if rank_dropout is not None: + rank_dropout = float(rank_dropout) + module_dropout = kwargs.get("module_dropout", None) + if module_dropout is not None: + module_dropout = float(module_dropout) + + # verbose + verbose = kwargs.get("verbose", False) + if verbose is not None: + verbose = True if verbose == "True" else False + + network = LoRANetwork( + text_encoders, + unet, + multiplier=multiplier, + lora_dim=network_dim, + alpha=network_alpha, + dropout=neuron_dropout, + rank_dropout=rank_dropout, + module_dropout=module_dropout, + train_llm_adapter=train_llm_adapter, + type_dims=type_dims, + emb_dims=emb_dims, + train_block_indices=train_block_indices, + verbose=verbose, + ) + + loraplus_lr_ratio = kwargs.get("loraplus_lr_ratio", None) + loraplus_unet_lr_ratio = kwargs.get("loraplus_unet_lr_ratio", None) + loraplus_text_encoder_lr_ratio = kwargs.get("loraplus_text_encoder_lr_ratio", None) + loraplus_lr_ratio = float(loraplus_lr_ratio) if loraplus_lr_ratio is not None else None + loraplus_unet_lr_ratio = float(loraplus_unet_lr_ratio) if loraplus_unet_lr_ratio is not None else None + loraplus_text_encoder_lr_ratio = float(loraplus_text_encoder_lr_ratio) if loraplus_text_encoder_lr_ratio is not None else None + if loraplus_lr_ratio is not None or loraplus_unet_lr_ratio is not None or loraplus_text_encoder_lr_ratio is not None: + network.set_loraplus_lr_ratio(loraplus_lr_ratio, loraplus_unet_lr_ratio, loraplus_text_encoder_lr_ratio) + + return network + + +def create_network_from_weights(multiplier, file, ae, text_encoders, unet, weights_sd=None, for_inference=False, **kwargs): + if weights_sd is None: + if os.path.splitext(file)[1] == ".safetensors": + from safetensors.torch import load_file + weights_sd = load_file(file) + else: + weights_sd = torch.load(file, map_location="cpu") + + modules_dim = {} + modules_alpha = {} + train_llm_adapter = False + for key, value in weights_sd.items(): + if "." not in key: + continue + + lora_name = key.split(".")[0] + if "alpha" in key: + modules_alpha[lora_name] = value + elif "lora_down" in key: + dim = value.size()[0] + modules_dim[lora_name] = dim + + if "llm_adapter" in lora_name: + train_llm_adapter = True + + module_class = LoRAInfModule if for_inference else LoRAModule + + network = LoRANetwork( + text_encoders, + unet, + multiplier=multiplier, + modules_dim=modules_dim, + modules_alpha=modules_alpha, + module_class=module_class, + train_llm_adapter=train_llm_adapter, + ) + return network, weights_sd + + +class LoRANetwork(torch.nn.Module): + # Target modules: DiT blocks + ANIMA_TARGET_REPLACE_MODULE = ["Block"] + # Target modules: LLM Adapter blocks + ANIMA_ADAPTER_TARGET_REPLACE_MODULE = ["LLMAdapterTransformerBlock"] + # Target modules for text encoder (Qwen3) + TEXT_ENCODER_TARGET_REPLACE_MODULE = ["Qwen3Attention", "Qwen3MLP", "Qwen3SdpaAttention", "Qwen3FlashAttention2"] + + LORA_PREFIX_ANIMA = "lora_unet" # ComfyUI compatible + LORA_PREFIX_TEXT_ENCODER = "lora_te1" # Qwen3 + + def __init__( + self, + text_encoders: list, + unet, + multiplier: float = 1.0, + lora_dim: int = 4, + alpha: float = 1, + dropout: Optional[float] = None, + rank_dropout: Optional[float] = None, + module_dropout: Optional[float] = None, + module_class: Type[object] = LoRAModule, + modules_dim: Optional[Dict[str, int]] = None, + modules_alpha: Optional[Dict[str, int]] = None, + train_llm_adapter: bool = False, + type_dims: Optional[List[int]] = None, + emb_dims: Optional[List[int]] = None, + train_block_indices: Optional[List[bool]] = None, + verbose: Optional[bool] = False, + ) -> None: + super().__init__() + self.multiplier = multiplier + self.lora_dim = lora_dim + self.alpha = alpha + self.dropout = dropout + self.rank_dropout = rank_dropout + self.module_dropout = module_dropout + self.train_llm_adapter = train_llm_adapter + self.type_dims = type_dims + self.emb_dims = emb_dims + self.train_block_indices = train_block_indices + + self.loraplus_lr_ratio = None + self.loraplus_unet_lr_ratio = None + self.loraplus_text_encoder_lr_ratio = None + + if modules_dim is not None: + logger.info(f"create LoRA network from weights") + if self.emb_dims is None: + self.emb_dims = [0] * 3 + else: + logger.info(f"create LoRA network. base dim (rank): {lora_dim}, alpha: {alpha}") + logger.info(f"neuron dropout: p={self.dropout}, rank dropout: p={self.rank_dropout}, module dropout: p={self.module_dropout}") + + # create module instances + def create_modules( + is_unet: bool, + text_encoder_idx: Optional[int], + root_module: torch.nn.Module, + target_replace_modules: List[str], + filter: Optional[str] = None, + default_dim: Optional[int] = None, + include_conv2d_if_filter: bool = False, + ) -> Tuple[List[LoRAModule], List[str]]: + prefix = ( + self.LORA_PREFIX_ANIMA + if is_unet + else self.LORA_PREFIX_TEXT_ENCODER + ) + + loras = [] + skipped = [] + for name, module in root_module.named_modules(): + if target_replace_modules is None or module.__class__.__name__ in target_replace_modules: + if target_replace_modules is None: + module = root_module + + for child_name, child_module in module.named_modules(): + is_linear = child_module.__class__.__name__ == "Linear" + is_conv2d = child_module.__class__.__name__ == "Conv2d" + is_conv2d_1x1 = is_conv2d and child_module.kernel_size == (1, 1) + + if is_linear or is_conv2d: + lora_name = prefix + "." + (name + "." if name else "") + child_name + lora_name = lora_name.replace(".", "_") + + force_incl_conv2d = False + if filter is not None: + if filter not in lora_name: + continue + force_incl_conv2d = include_conv2d_if_filter + + dim = None + alpha_val = None + + if modules_dim is not None: + if lora_name in modules_dim: + dim = modules_dim[lora_name] + alpha_val = modules_alpha[lora_name] + else: + if is_linear or is_conv2d_1x1: + dim = default_dim if default_dim is not None else self.lora_dim + alpha_val = self.alpha + + if is_unet and type_dims is not None: + # type_dims = [self_attn_dim, cross_attn_dim, mlp_dim, mod_dim, llm_adapter_dim] + # Order matters: check most specific identifiers first to avoid mismatches. + identifier_order = [ + (4, ("llm_adapter",)), + (3, ("adaln_modulation",)), + (0, ("self_attn",)), + (1, ("cross_attn",)), + (2, ("mlp",)), + ] + for idx, ids in identifier_order: + d = type_dims[idx] + if d is not None and all(id_str in lora_name for id_str in ids): + dim = d # 0 means skip + break + + # block index filtering + if is_unet and dim and self.train_block_indices is not None and "blocks_" in lora_name: + # Extract block index from lora_name: "lora_unet_blocks_0_self_attn..." + parts = lora_name.split("_") + for pi, part in enumerate(parts): + if part == "blocks" and pi + 1 < len(parts): + try: + block_index = int(parts[pi + 1]) + if not self.train_block_indices[block_index]: + dim = 0 + except (ValueError, IndexError): + pass + break + + elif force_incl_conv2d: + dim = default_dim if default_dim is not None else self.lora_dim + alpha_val = self.alpha + + if dim is None or dim == 0: + if is_linear or is_conv2d_1x1: + skipped.append(lora_name) + continue + + lora = module_class( + lora_name, + child_module, + self.multiplier, + dim, + alpha_val, + dropout=dropout, + rank_dropout=rank_dropout, + module_dropout=module_dropout, + ) + loras.append(lora) + + if target_replace_modules is None: + break + return loras, skipped + + # Create LoRA for text encoders (Qwen3 - typically not trained for Anima) + self.text_encoder_loras: List[Union[LoRAModule, LoRAInfModule]] = [] + skipped_te = [] + if text_encoders is not None: + for i, text_encoder in enumerate(text_encoders): + if text_encoder is None: + continue + logger.info(f"create LoRA for Text Encoder {i+1}:") + te_loras, te_skipped = create_modules( + False, i, text_encoder, LoRANetwork.TEXT_ENCODER_TARGET_REPLACE_MODULE + ) + logger.info(f"create LoRA for Text Encoder {i+1}: {len(te_loras)} modules.") + self.text_encoder_loras.extend(te_loras) + skipped_te += te_skipped + + # Create LoRA for DiT blocks + target_modules = list(LoRANetwork.ANIMA_TARGET_REPLACE_MODULE) + if train_llm_adapter: + target_modules.extend(LoRANetwork.ANIMA_ADAPTER_TARGET_REPLACE_MODULE) + + self.unet_loras: List[Union[LoRAModule, LoRAInfModule]] + self.unet_loras, skipped_un = create_modules(True, None, unet, target_modules) + + # emb_dims: [x_embedder, t_embedder, final_layer] + if self.emb_dims: + for filter_name, in_dim in zip( + ["x_embedder", "t_embedder", "final_layer"], + self.emb_dims, + ): + loras, _ = create_modules( + True, None, unet, None, + filter=filter_name, default_dim=in_dim, + include_conv2d_if_filter=(filter_name == "x_embedder"), + ) + self.unet_loras.extend(loras) + + logger.info(f"create LoRA for Anima DiT: {len(self.unet_loras)} modules.") + if verbose: + for lora in self.unet_loras: + logger.info(f"\t{lora.lora_name:60} {lora.lora_dim}, {lora.alpha}") + + skipped = skipped_te + skipped_un + if verbose and len(skipped) > 0: + logger.warning(f"dim (rank) is 0, {len(skipped)} LoRA modules are skipped:") + for name in skipped: + logger.info(f"\t{name}") + + # assertion: no duplicate names + names = set() + for lora in self.text_encoder_loras + self.unet_loras: + assert lora.lora_name not in names, f"duplicated lora name: {lora.lora_name}" + names.add(lora.lora_name) + + def set_multiplier(self, multiplier): + self.multiplier = multiplier + for lora in self.text_encoder_loras + self.unet_loras: + lora.multiplier = self.multiplier + + def set_enabled(self, is_enabled): + for lora in self.text_encoder_loras + self.unet_loras: + lora.enabled = is_enabled + + def load_weights(self, file): + if os.path.splitext(file)[1] == ".safetensors": + from safetensors.torch import load_file + weights_sd = load_file(file) + else: + weights_sd = torch.load(file, map_location="cpu") + + info = self.load_state_dict(weights_sd, False) + return info + + def apply_to(self, text_encoders, unet, apply_text_encoder=True, apply_unet=True): + if apply_text_encoder: + logger.info(f"enable LoRA for text encoder: {len(self.text_encoder_loras)} modules") + else: + self.text_encoder_loras = [] + + if apply_unet: + logger.info(f"enable LoRA for DiT: {len(self.unet_loras)} modules") + else: + self.unet_loras = [] + + for lora in self.text_encoder_loras + self.unet_loras: + lora.apply_to() + self.add_module(lora.lora_name, lora) + + def is_mergeable(self): + return True + + def merge_to(self, text_encoders, unet, weights_sd, dtype=None, device=None): + apply_text_encoder = apply_unet = False + for key in weights_sd.keys(): + if key.startswith(LoRANetwork.LORA_PREFIX_TEXT_ENCODER): + apply_text_encoder = True + elif key.startswith(LoRANetwork.LORA_PREFIX_ANIMA): + apply_unet = True + + if apply_text_encoder: + logger.info("enable LoRA for text encoder") + else: + self.text_encoder_loras = [] + + if apply_unet: + logger.info("enable LoRA for DiT") + else: + self.unet_loras = [] + + for lora in self.text_encoder_loras + self.unet_loras: + sd_for_lora = {} + for key in weights_sd.keys(): + if key.startswith(lora.lora_name): + sd_for_lora[key[len(lora.lora_name) + 1:]] = weights_sd[key] + lora.merge_to(sd_for_lora, dtype, device) + + logger.info(f"weights are merged") + + def set_loraplus_lr_ratio(self, loraplus_lr_ratio, loraplus_unet_lr_ratio, loraplus_text_encoder_lr_ratio): + self.loraplus_lr_ratio = loraplus_lr_ratio + self.loraplus_unet_lr_ratio = loraplus_unet_lr_ratio + self.loraplus_text_encoder_lr_ratio = loraplus_text_encoder_lr_ratio + + logger.info(f"LoRA+ UNet LR Ratio: {self.loraplus_unet_lr_ratio or self.loraplus_lr_ratio}") + logger.info(f"LoRA+ Text Encoder LR Ratio: {self.loraplus_text_encoder_lr_ratio or self.loraplus_lr_ratio}") + + def prepare_optimizer_params_with_multiple_te_lrs(self, text_encoder_lr, unet_lr, default_lr): + if text_encoder_lr is None or (isinstance(text_encoder_lr, list) and len(text_encoder_lr) == 0): + text_encoder_lr = [default_lr] + elif isinstance(text_encoder_lr, float) or isinstance(text_encoder_lr, int): + text_encoder_lr = [float(text_encoder_lr)] + elif len(text_encoder_lr) == 1: + pass # already a list with one element + + self.requires_grad_(True) + + all_params = [] + lr_descriptions = [] + + def assemble_params(loras, lr, loraplus_ratio): + param_groups = {"lora": {}, "plus": {}} + for lora in loras: + for name, param in lora.named_parameters(): + if loraplus_ratio is not None and "lora_up" in name: + param_groups["plus"][f"{lora.lora_name}.{name}"] = param + else: + param_groups["lora"][f"{lora.lora_name}.{name}"] = param + + params = [] + descriptions = [] + for key in param_groups.keys(): + param_data = {"params": param_groups[key].values()} + if len(param_data["params"]) == 0: + continue + if lr is not None: + if key == "plus": + param_data["lr"] = lr * loraplus_ratio + else: + param_data["lr"] = lr + if param_data.get("lr", None) == 0 or param_data.get("lr", None) is None: + logger.info("NO LR skipping!") + continue + params.append(param_data) + descriptions.append("plus" if key == "plus" else "") + return params, descriptions + + if self.text_encoder_loras: + loraplus_ratio = self.loraplus_text_encoder_lr_ratio or self.loraplus_lr_ratio + te1_loras = [ + lora for lora in self.text_encoder_loras + if lora.lora_name.startswith(self.LORA_PREFIX_TEXT_ENCODER) + ] + if len(te1_loras) > 0: + logger.info(f"Text Encoder 1 (Qwen3): {len(te1_loras)} modules, LR {text_encoder_lr[0]}") + params, descriptions = assemble_params(te1_loras, text_encoder_lr[0], loraplus_ratio) + all_params.extend(params) + lr_descriptions.extend(["textencoder 1" + (" " + d if d else "") for d in descriptions]) + + if self.unet_loras: + params, descriptions = assemble_params( + self.unet_loras, + unet_lr if unet_lr is not None else default_lr, + self.loraplus_unet_lr_ratio or self.loraplus_lr_ratio, + ) + all_params.extend(params) + lr_descriptions.extend(["unet" + (" " + d if d else "") for d in descriptions]) + + return all_params, lr_descriptions + + def enable_gradient_checkpointing(self): + pass # not supported + + def prepare_grad_etc(self, text_encoder, unet): + self.requires_grad_(True) + + def on_epoch_start(self, text_encoder, unet): + self.train() + + def get_trainable_params(self): + return self.parameters() + + def save_weights(self, file, dtype, metadata): + if metadata is not None and len(metadata) == 0: + metadata = None + + state_dict = self.state_dict() + + if dtype is not None: + for key in list(state_dict.keys()): + v = state_dict[key] + v = v.detach().clone().to("cpu").to(dtype) + state_dict[key] = v + + if os.path.splitext(file)[1] == ".safetensors": + from safetensors.torch import save_file + from library import train_util + + if metadata is None: + metadata = {} + model_hash, legacy_hash = train_util.precalculate_safetensors_hashes(state_dict, metadata) + metadata["sshs_model_hash"] = model_hash + metadata["sshs_legacy_hash"] = legacy_hash + + save_file(state_dict, file, metadata) + else: + torch.save(state_dict, file) + + def backup_weights(self): + loras: List[LoRAInfModule] = self.text_encoder_loras + self.unet_loras + for lora in loras: + org_module = lora.org_module_ref[0] + if not hasattr(org_module, "_lora_org_weight"): + sd = org_module.state_dict() + org_module._lora_org_weight = sd["weight"].detach().clone() + org_module._lora_restored = True + + def restore_weights(self): + loras: List[LoRAInfModule] = self.text_encoder_loras + self.unet_loras + for lora in loras: + org_module = lora.org_module_ref[0] + if not org_module._lora_restored: + sd = org_module.state_dict() + sd["weight"] = org_module._lora_org_weight + org_module.load_state_dict(sd) + org_module._lora_restored = True + + def pre_calculation(self): + loras: List[LoRAInfModule] = self.text_encoder_loras + self.unet_loras + for lora in loras: + org_module = lora.org_module_ref[0] + sd = org_module.state_dict() + + org_weight = sd["weight"] + lora_weight = lora.get_weight().to(org_weight.device, dtype=org_weight.dtype) + sd["weight"] = org_weight + lora_weight + assert sd["weight"].shape == org_weight.shape + org_module.load_state_dict(sd) + + org_module._lora_restored = False + lora.enabled = False + + def apply_max_norm_regularization(self, max_norm_value, device): + downkeys = [] + upkeys = [] + alphakeys = [] + norms = [] + keys_scaled = 0 + + state_dict = self.state_dict() + for key in state_dict.keys(): + if "lora_down" in key and "weight" in key: + downkeys.append(key) + upkeys.append(key.replace("lora_down", "lora_up")) + alphakeys.append(key.replace("lora_down.weight", "alpha")) + + for i in range(len(downkeys)): + down = state_dict[downkeys[i]].to(device) + up = state_dict[upkeys[i]].to(device) + alpha = state_dict[alphakeys[i]].to(device) + dim = down.shape[0] + scale = alpha / dim + + if up.shape[2:] == (1, 1) and down.shape[2:] == (1, 1): + updown = (up.squeeze(2).squeeze(2) @ down.squeeze(2).squeeze(2)).unsqueeze(2).unsqueeze(3) + elif up.shape[2:] == (3, 3) or down.shape[2:] == (3, 3): + updown = torch.nn.functional.conv2d(down.permute(1, 0, 2, 3), up).permute(1, 0, 2, 3) + else: + updown = up @ down + + updown *= scale + + norm = updown.norm().clamp(min=max_norm_value / 2) + desired = torch.clamp(norm, max=max_norm_value) + ratio = desired.cpu() / norm.cpu() + sqrt_ratio = ratio**0.5 + if ratio != 1: + keys_scaled += 1 + state_dict[upkeys[i]] *= sqrt_ratio + state_dict[downkeys[i]] *= sqrt_ratio + scalednorm = updown.norm() * ratio + norms.append(scalednorm.item()) + + return keys_scaled, sum(norms) / len(norms), max(norms) diff --git a/tests/test_anima_cache.py b/tests/test_anima_cache.py new file mode 100644 index 000000000..1684eb534 --- /dev/null +++ b/tests/test_anima_cache.py @@ -0,0 +1,617 @@ +""" +Diagnostic script to test Anima latent & text encoder caching independently. + +Usage: + python test_anima_cache.py \ + --image_dir /path/to/images \ + --qwen3_path /path/to/qwen3 \ + --vae_path /path/to/vae.safetensors \ + [--t5_tokenizer_path /path/to/t5] \ + [--cache_to_disk] + +The image_dir should contain pairs of: + image1.png + image1.txt + image2.jpg + image2.txt + ... +""" + +import argparse +import glob +import os +import sys +import traceback + +import numpy as np +import torch +from PIL import Image +from torchvision import transforms + +# Helpers + +IMAGE_EXTENSIONS = {".png", ".jpg", ".jpeg", ".webp", ".bmp", ".tiff"} + +IMAGE_TRANSFORMS = transforms.Compose([ + transforms.ToTensor(), # [0,1] + transforms.Normalize([0.5], [0.5]), # [-1,1] +]) + + +def find_image_caption_pairs(image_dir: str): + """Find (image_path, caption_text) pairs from a directory.""" + pairs = [] + for f in sorted(os.listdir(image_dir)): + ext = os.path.splitext(f)[1].lower() + if ext not in IMAGE_EXTENSIONS: + continue + img_path = os.path.join(image_dir, f) + txt_path = os.path.splitext(img_path)[0] + ".txt" + if os.path.exists(txt_path): + with open(txt_path, "r", encoding="utf-8") as fh: + caption = fh.read().strip() + else: + caption = "" + pairs.append((img_path, caption)) + return pairs + + +def print_tensor_info(name: str, t, indent=2): + prefix = " " * indent + if t is None: + print(f"{prefix}{name}: None") + return + if isinstance(t, np.ndarray): + print(f"{prefix}{name}: numpy {t.dtype} shape={t.shape} " + f"min={t.min():.4f} max={t.max():.4f} mean={t.mean():.4f}") + elif isinstance(t, torch.Tensor): + print(f"{prefix}{name}: torch {t.dtype} shape={tuple(t.shape)} " + f"min={t.min().item():.4f} max={t.max().item():.4f} mean={t.float().mean().item():.4f}") + else: + print(f"{prefix}{name}: type={type(t)} value={t}") + + +# Test 1: Latent Cache + +def test_latent_cache(args, pairs): + print("\n" + "=" * 70) + print("TEST 1: LATENT CACHING (VAE encode -> cache -> reload)") + print("=" * 70) + + from library import anima_utils + from library.anima_models import ANIMA_VAE_MEAN, ANIMA_VAE_STD + + # Load VAE + print("\n[1.1] Loading VAE...") + device = "cuda" if torch.cuda.is_available() else "cpu" + vae_dtype = torch.float32 + vae, vae_mean, vae_std, vae_scale = anima_utils.load_anima_vae( + args.vae_path, dtype=vae_dtype, device=device + ) + print(f" VAE loaded on {device}, dtype={vae_dtype}") + print(f" VAE mean (first 4): {ANIMA_VAE_MEAN[:4]}") + print(f" VAE std (first 4): {ANIMA_VAE_STD[:4]}") + + for img_path, caption in pairs: + print(f"\n[1.2] Processing: {os.path.basename(img_path)}") + + # Load image + img = Image.open(img_path).convert("RGB") + img_np = np.array(img) + print(f" Raw image: {img_np.shape} dtype={img_np.dtype} " + f"min={img_np.min()} max={img_np.max()}") + + # Apply IMAGE_TRANSFORMS (same as sd-scripts training) + img_tensor = IMAGE_TRANSFORMS(img_np) + print(f" After IMAGE_TRANSFORMS: shape={tuple(img_tensor.shape)} " + f"min={img_tensor.min():.4f} max={img_tensor.max():.4f}") + + # Check range is [-1, 1] + if img_tensor.min() < -1.01 or img_tensor.max() > 1.01: + print(" ** WARNING: tensor out of [-1, 1] range!") + else: + print(" OK: tensor in [-1, 1] range") + + # Encode with VAE + img_batch = img_tensor.unsqueeze(0).to(device, dtype=vae_dtype) # (1, C, H, W) + img_5d = img_batch.unsqueeze(2) # (1, C, 1, H, W) - add temporal dim + print(f" VAE input: shape={tuple(img_5d.shape)} dtype={img_5d.dtype}") + + with torch.no_grad(): + latents = vae.encode(img_5d, vae_scale) + latents_cpu = latents.cpu() + print_tensor_info("Encoded latents", latents_cpu) + + # Check for NaN/Inf + if torch.any(torch.isnan(latents_cpu)): + print(" ** ERROR: NaN in latents!") + elif torch.any(torch.isinf(latents_cpu)): + print(" ** ERROR: Inf in latents!") + else: + print(" OK: no NaN/Inf") + + # Test disk cache round-trip + if args.cache_to_disk: + npz_path = os.path.splitext(img_path)[0] + "_test_latent.npz" + latents_np = latents_cpu.float().numpy() + h, w = img_np.shape[:2] + np.savez( + npz_path, + latents=latents_np, + original_size=np.array([w, h]), + crop_ltrb=np.array([0, 0, 0, 0]), + ) + print(f" Saved to: {npz_path}") + + # Reload + loaded = np.load(npz_path) + loaded_latents = loaded["latents"] + print_tensor_info("Reloaded latents", loaded_latents) + + # Compare + diff = np.abs(latents_np - loaded_latents).max() + print(f" Max diff (save vs load): {diff:.2e}") + if diff > 1e-5: + print(" ** WARNING: latent cache round-trip has significant diff!") + else: + print(" OK: round-trip matches") + + os.remove(npz_path) + print(f" Cleaned up {npz_path}") + + vae.to("cpu") + del vae + torch.cuda.empty_cache() if torch.cuda.is_available() else None + print("\n[1.3] Latent cache test DONE.") + + +# Test 2: Text Encoder Output Cache + +def test_text_encoder_cache(args, pairs): + print("\n" + "=" * 70) + print("TEST 2: TEXT ENCODER OUTPUT CACHING") + print("=" * 70) + + from library import anima_utils + + # Load tokenizers + print("\n[2.1] Loading tokenizers...") + qwen3_tokenizer = anima_utils.load_qwen3_tokenizer(args.qwen3_path) + t5_tokenizer = anima_utils.load_t5_tokenizer( + getattr(args, 't5_tokenizer_path', None) + ) + print(f" Qwen3 tokenizer vocab: {qwen3_tokenizer.vocab_size}") + print(f" T5 tokenizer vocab: {t5_tokenizer.vocab_size}") + + # Load text encoder + print("\n[2.2] Loading Qwen3 text encoder...") + device = "cuda" if torch.cuda.is_available() else "cpu" + te_dtype = torch.bfloat16 if device == "cuda" else torch.float32 + qwen3_model, _ = anima_utils.load_qwen3_text_encoder( + args.qwen3_path, dtype=te_dtype, device=device + ) + qwen3_model.eval() + + # Create strategy objects + from library.strategy_anima import AnimaTokenizeStrategy, AnimaTextEncodingStrategy + + tokenize_strategy = AnimaTokenizeStrategy( + qwen3_tokenizer=qwen3_tokenizer, + t5_tokenizer=t5_tokenizer, + qwen3_max_length=args.qwen3_max_length, + t5_max_length=args.t5_max_length, + ) + text_encoding_strategy = AnimaTextEncodingStrategy( + dropout_rate=0.0, + ) + + captions = [cap for _, cap in pairs] + print(f"\n[2.3] Tokenizing {len(captions)} captions...") + for i, cap in enumerate(captions): + print(f" [{i}] \"{cap[:80]}{'...' if len(cap) > 80 else ''}\"") + + tokens_and_masks = tokenize_strategy.tokenize(captions) + qwen3_input_ids, qwen3_attn_mask, t5_input_ids, t5_attn_mask = tokens_and_masks + + print(f"\n Tokenization results:") + print_tensor_info("qwen3_input_ids", qwen3_input_ids) + print_tensor_info("qwen3_attn_mask", qwen3_attn_mask) + print_tensor_info("t5_input_ids", t5_input_ids) + print_tensor_info("t5_attn_mask", t5_attn_mask) + + # Encode + print(f"\n[2.4] Encoding with Qwen3 text encoder...") + with torch.no_grad(): + prompt_embeds, attn_mask, t5_ids_out, t5_mask_out = text_encoding_strategy.encode_tokens( + tokenize_strategy, + [qwen3_model], + tokens_and_masks, + enable_dropout=False, + ) + + print(f" Encoding results:") + print_tensor_info("prompt_embeds", prompt_embeds) + print_tensor_info("attn_mask", attn_mask) + print_tensor_info("t5_input_ids", t5_ids_out) + print_tensor_info("t5_attn_mask", t5_mask_out) + + # Check for NaN/Inf + if torch.any(torch.isnan(prompt_embeds)): + print(" ** ERROR: NaN in prompt_embeds!") + elif torch.any(torch.isinf(prompt_embeds)): + print(" ** ERROR: Inf in prompt_embeds!") + else: + print(" OK: no NaN/Inf in prompt_embeds") + + # Test cache round-trip (simulate what AnimaTextEncoderOutputsCachingStrategy does) + print(f"\n[2.5] Testing cache round-trip (encode -> numpy -> npz -> reload -> tensor)...") + + # Convert to numpy (same as cache_batch_outputs in strategy_anima.py) + pe_cpu = prompt_embeds.cpu() + if pe_cpu.dtype == torch.bfloat16: + pe_cpu = pe_cpu.float() + pe_np = pe_cpu.numpy() + am_np = attn_mask.cpu().numpy() + t5_ids_np = t5_ids_out.cpu().numpy().astype(np.int32) + t5_mask_np = t5_mask_out.cpu().numpy().astype(np.int32) + + print(f" Numpy conversions:") + print_tensor_info("prompt_embeds_np", pe_np) + print_tensor_info("attn_mask_np", am_np) + print_tensor_info("t5_input_ids_np", t5_ids_np) + print_tensor_info("t5_attn_mask_np", t5_mask_np) + + if args.cache_to_disk: + npz_path = os.path.join(args.image_dir, "_test_te_cache.npz") + # Save per-sample (simulating cache_batch_outputs) + for i in range(len(captions)): + sample_npz = os.path.splitext(pairs[i][0])[0] + "_test_te.npz" + np.savez( + sample_npz, + prompt_embeds=pe_np[i], + attn_mask=am_np[i], + t5_input_ids=t5_ids_np[i], + t5_attn_mask=t5_mask_np[i], + ) + print(f" Saved: {sample_npz}") + + # Reload (simulating load_outputs_npz) + data = np.load(sample_npz) + print(f" Reloaded keys: {list(data.keys())}") + print_tensor_info(" loaded prompt_embeds", data["prompt_embeds"], indent=4) + print_tensor_info(" loaded attn_mask", data["attn_mask"], indent=4) + print_tensor_info(" loaded t5_input_ids", data["t5_input_ids"], indent=4) + print_tensor_info(" loaded t5_attn_mask", data["t5_attn_mask"], indent=4) + + # Check diff + diff_pe = np.abs(pe_np[i] - data["prompt_embeds"]).max() + diff_t5 = np.abs(t5_ids_np[i] - data["t5_input_ids"]).max() + print(f" Max diff prompt_embeds: {diff_pe:.2e}") + print(f" Max diff t5_input_ids: {diff_t5:.2e}") + if diff_pe > 1e-5 or diff_t5 > 0: + print(" ** WARNING: cache round-trip mismatch!") + else: + print(" OK: round-trip matches") + + os.remove(sample_npz) + print(f" Cleaned up {sample_npz}") + + # Test in-memory cache round-trip (simulating what __getitem__ does) + print(f"\n[2.6] Testing in-memory cache simulation (tuple -> none_or_stack_elements -> batch)...") + + # Simulate per-sample storage (like info.text_encoder_outputs = tuple) + per_sample_cached = [] + for i in range(len(captions)): + per_sample_cached.append((pe_np[i], am_np[i], t5_ids_np[i], t5_mask_np[i])) + + # Simulate none_or_stack_elements with torch.FloatTensor converter + # This is what train_util.py __getitem__ does at line 1784 + stacked = [] + for elem_idx in range(4): + arrays = [sample[elem_idx] for sample in per_sample_cached] + stacked.append(torch.stack([torch.FloatTensor(a) for a in arrays])) + + print(f" Stacked batch (like batch['text_encoder_outputs_list']):") + names = ["prompt_embeds", "attn_mask", "t5_input_ids", "t5_attn_mask"] + for name, tensor in zip(names, stacked): + print_tensor_info(name, tensor) + + # Check condition: len(text_encoder_conds) == 0 or text_encoder_conds[0] is None + text_encoder_conds = stacked + cond_check_1 = len(text_encoder_conds) == 0 + cond_check_2 = text_encoder_conds[0] is None + print(f"\n Condition check (should both be False when caching works):") + print(f" len(text_encoder_conds) == 0 : {cond_check_1}") + print(f" text_encoder_conds[0] is None: {cond_check_2}") + if not cond_check_1 and not cond_check_2: + print(" OK: cached text encoder outputs would be used") + else: + print(" ** BUG: code would try to re-encode (and crash on None input_ids_list)!") + + # Test unpack for get_noise_pred_and_target (line 311) + print(f"\n[2.7] Testing unpack: prompt_embeds, attn_mask, t5_input_ids, t5_attn_mask = text_encoder_conds") + try: + pe_batch, am_batch, t5_ids_batch, t5_mask_batch = text_encoder_conds + print(f" Unpack OK") + print_tensor_info("prompt_embeds", pe_batch) + print_tensor_info("attn_mask", am_batch) + print_tensor_info("t5_input_ids", t5_ids_batch) + print_tensor_info("t5_attn_mask", t5_mask_batch) + + # Check t5_input_ids are integers (they were converted to FloatTensor!) + if t5_ids_batch.dtype != torch.long and t5_ids_batch.dtype != torch.int32: + print(f"\n ** NOTE: t5_input_ids dtype is {t5_ids_batch.dtype}, will be cast to long at line 316") + t5_ids_long = t5_ids_batch.to(dtype=torch.long) + # Check if any precision was lost + diff = (t5_ids_batch - t5_ids_long.float()).abs().max() + print(f" Float->Long precision loss: {diff:.2e}") + if diff > 0.5: + print(" ** ERROR: token IDs corrupted by float conversion!") + else: + print(" OK: float->long conversion is lossless for these IDs") + except Exception as e: + print(f" ** ERROR unpacking: {e}") + traceback.print_exc() + + # Test drop_cached_text_encoder_outputs + print(f"\n[2.8] Testing drop_cached_text_encoder_outputs (caption dropout)...") + dropout_strategy = AnimaTextEncodingStrategy( + dropout_rate=0.5, # high rate to ensure some drops + ) + dropped = dropout_strategy.drop_cached_text_encoder_outputs(*stacked) + print(f" Returned {len(dropped)} tensors") + for name, tensor in zip(names, dropped): + print_tensor_info(f"dropped_{name}", tensor) + + # Check which items were dropped + for i in range(len(captions)): + is_zero = (dropped[0][i].abs().sum() == 0).item() + print(f" Sample {i}: {'DROPPED' if is_zero else 'KEPT'}") + + qwen3_model.to("cpu") + del qwen3_model + torch.cuda.empty_cache() if torch.cuda.is_available() else None + print("\n[2.8] Text encoder cache test DONE.") + + +# Test 3: Full batch simulation + +def test_full_batch_simulation(args, pairs): + print("\n" + "=" * 70) + print("TEST 3: FULL BATCH SIMULATION (mimics process_batch flow)") + print("=" * 70) + + from library import anima_utils + from library.anima_models import ANIMA_VAE_MEAN, ANIMA_VAE_STD + from library.strategy_anima import AnimaTokenizeStrategy, AnimaTextEncodingStrategy + + device = "cuda" if torch.cuda.is_available() else "cpu" + te_dtype = torch.bfloat16 if device == "cuda" else torch.float32 + vae_dtype = torch.float32 + + # Load all models + print("\n[3.1] Loading models...") + qwen3_tokenizer = anima_utils.load_qwen3_tokenizer(args.qwen3_path) + t5_tokenizer = anima_utils.load_t5_tokenizer(getattr(args, 't5_tokenizer_path', None)) + qwen3_model, _ = anima_utils.load_qwen3_text_encoder(args.qwen3_path, dtype=te_dtype, device=device) + qwen3_model.eval() + vae, _, _, vae_scale = anima_utils.load_anima_vae(args.vae_path, dtype=vae_dtype, device=device) + + tokenize_strategy = AnimaTokenizeStrategy( + qwen3_tokenizer=qwen3_tokenizer, t5_tokenizer=t5_tokenizer, + qwen3_max_length=args.qwen3_max_length, t5_max_length=args.t5_max_length, + ) + text_encoding_strategy = AnimaTextEncodingStrategy(dropout_rate=0.0) + + captions = [cap for _, cap in pairs] + + # --- Simulate caching phase --- + print("\n[3.2] Simulating text encoder caching phase...") + tokens_and_masks = tokenize_strategy.tokenize(captions) + with torch.no_grad(): + te_outputs = text_encoding_strategy.encode_tokens( + tokenize_strategy, [qwen3_model], tokens_and_masks, enable_dropout=False, + ) + prompt_embeds, attn_mask, t5_input_ids, t5_attn_mask = te_outputs + + # Convert to numpy (same as cache_batch_outputs) + pe_np = prompt_embeds.cpu().float().numpy() + am_np = attn_mask.cpu().numpy() + t5_ids_np = t5_input_ids.cpu().numpy().astype(np.int32) + t5_mask_np = t5_attn_mask.cpu().numpy().astype(np.int32) + + # Per-sample storage (like info.text_encoder_outputs) + per_sample_te = [(pe_np[i], am_np[i], t5_ids_np[i], t5_mask_np[i]) for i in range(len(captions))] + + print(f"\n[3.3] Simulating latent caching phase...") + per_sample_latents = [] + for img_path, _ in pairs: + img = Image.open(img_path).convert("RGB") + img_np = np.array(img) + img_tensor = IMAGE_TRANSFORMS(img_np).unsqueeze(0).unsqueeze(2) # (1,C,1,H,W) + img_tensor = img_tensor.to(device, dtype=vae_dtype) + with torch.no_grad(): + lat = vae.encode(img_tensor, vae_scale).cpu() + per_sample_latents.append(lat.squeeze(0)) # (C,1,H,W) + print(f" {os.path.basename(img_path)}: latent shape={tuple(lat.shape)}") + + # --- Simulate batch construction (__getitem__) --- + print(f"\n[3.4] Simulating batch construction...") + + # Use first image's latents only (images may have different resolutions) + latents_batch = per_sample_latents[0].unsqueeze(0) # (1,C,1,H,W) + print(f" Using first image latent for simulation: shape={tuple(latents_batch.shape)}") + + # Stack text encoder outputs (none_or_stack_elements) + text_encoder_outputs_list = [] + for elem_idx in range(4): + arrays = [s[elem_idx] for s in per_sample_te] + text_encoder_outputs_list.append(torch.stack([torch.FloatTensor(a) for a in arrays])) + + # input_ids_list is None when caching + input_ids_list = None + + batch = { + "latents": latents_batch, + "text_encoder_outputs_list": text_encoder_outputs_list, + "input_ids_list": input_ids_list, + "loss_weights": torch.ones(len(captions)), + } + + print(f" batch keys: {list(batch.keys())}") + print(f" batch['latents']: shape={tuple(batch['latents'].shape)}") + print(f" batch['text_encoder_outputs_list']: {len(batch['text_encoder_outputs_list'])} tensors") + print(f" batch['input_ids_list']: {batch['input_ids_list']}") + + # --- Simulate process_batch logic --- + print(f"\n[3.5] Simulating process_batch logic...") + + text_encoder_conds = [] + te_out = batch.get("text_encoder_outputs_list", None) + if te_out is not None: + text_encoder_conds = te_out + print(f" text_encoder_conds loaded from cache: {len(text_encoder_conds)} tensors") + else: + print(f" text_encoder_conds: empty (no cache)") + + # The critical condition + train_text_encoder_TRUE = True # OLD behavior (base class default, no override) + train_text_encoder_FALSE = False # NEW behavior (with is_train_text_encoder override) + + cond_old = len(text_encoder_conds) == 0 or text_encoder_conds[0] is None or train_text_encoder_TRUE + cond_new = len(text_encoder_conds) == 0 or text_encoder_conds[0] is None or train_text_encoder_FALSE + + print(f"\n === CRITICAL CONDITION CHECK ===") + print(f" len(text_encoder_conds) == 0 : {len(text_encoder_conds) == 0}") + print(f" text_encoder_conds[0] is None: {text_encoder_conds[0] is None}") + print(f" train_text_encoder (OLD=True) : {train_text_encoder_TRUE}") + print(f" train_text_encoder (NEW=False): {train_text_encoder_FALSE}") + print(f"") + print(f" Condition with OLD behavior (no override): {cond_old}") + msg = ( + "ENTERS re-encode block -> accesses batch['input_ids_list'] -> CRASH!" + if cond_old + else "SKIPS re-encode block -> uses cache -> OK" + ) + + print(f" -> {msg}") + print(f" Condition with NEW behavior (override): {cond_new}") + print(f" -> {'ENTERS re-encode block' if cond_new else 'SKIPS re-encode block -> uses cache -> OK'}") + + if cond_old and not cond_new: + print(f"\n ** CONFIRMED: the is_train_text_encoder override fixes the crash **") + + # Simulate the rest of process_batch + print(f"\n[3.6] Simulating get_noise_pred_and_target unpack...") + try: + pe, am, t5_ids, t5_mask = text_encoder_conds + pe = pe.to(device, dtype=te_dtype) + am = am.to(device) + t5_ids = t5_ids.to(device, dtype=torch.long) + t5_mask = t5_mask.to(device) + + print(f" Unpack + device transfer OK:") + print_tensor_info("prompt_embeds", pe) + print_tensor_info("attn_mask", am) + print_tensor_info("t5_input_ids", t5_ids) + print_tensor_info("t5_attn_mask", t5_mask) + + # Verify t5_input_ids didn't get corrupted by float conversion + t5_ids_orig = torch.tensor(t5_ids_np, dtype=torch.long, device=device) + id_match = torch.all(t5_ids == t5_ids_orig).item() + print(f"\n t5_input_ids integrity (float->long roundtrip): {'OK' if id_match else '** MISMATCH **'}") + if not id_match: + diff_count = (t5_ids != t5_ids_orig).sum().item() + print(f" {diff_count} token IDs differ!") + # Show example + idx = torch.where(t5_ids != t5_ids_orig) + if len(idx[0]) > 0: + i, j = idx[0][0].item(), idx[1][0].item() + print(f" Example: position [{i},{j}] original={t5_ids_orig[i,j].item()} loaded={t5_ids[i,j].item()}") + + except Exception as e: + print(f" ** ERROR: {e}") + traceback.print_exc() + + # Cleanup + vae.to("cpu") + qwen3_model.to("cpu") + del vae, qwen3_model + torch.cuda.empty_cache() if torch.cuda.is_available() else None + print("\n[3.7] Full batch simulation DONE.") + + +# Main + +def main(): + parser = argparse.ArgumentParser(description="Test Anima caching mechanisms") + parser.add_argument("--image_dir", type=str, required=True, + help="Directory with image+txt pairs") + parser.add_argument("--qwen3_path", type=str, required=True, + help="Path to Qwen3 model (directory or safetensors)") + parser.add_argument("--vae_path", type=str, required=True, + help="Path to WanVAE safetensors") + parser.add_argument("--t5_tokenizer_path", type=str, default=None, + help="Path to T5 tokenizer (optional, uses bundled config)") + parser.add_argument("--qwen3_max_length", type=int, default=512) + parser.add_argument("--t5_max_length", type=int, default=512) + parser.add_argument("--cache_to_disk", action="store_true", + help="Also test disk cache round-trip") + parser.add_argument("--skip_latent", action="store_true", + help="Skip latent cache test") + parser.add_argument("--skip_text", action="store_true", + help="Skip text encoder cache test") + parser.add_argument("--skip_full", action="store_true", + help="Skip full batch simulation") + args = parser.parse_args() + + # Find pairs + pairs = find_image_caption_pairs(args.image_dir) + if len(pairs) == 0: + print(f"ERROR: No image+txt pairs found in {args.image_dir}") + print("Expected: image.png + image.txt, image.jpg + image.txt, etc.") + sys.exit(1) + + print(f"Found {len(pairs)} image-caption pairs:") + for img_path, cap in pairs: + print(f" {os.path.basename(img_path)}: \"{cap[:60]}{'...' if len(cap) > 60 else ''}\"") + + results = {} + + if not args.skip_latent: + try: + test_latent_cache(args, pairs) + results["latent_cache"] = "PASS" + except Exception as e: + print(f"\n** LATENT CACHE TEST FAILED: {e}") + traceback.print_exc() + results["latent_cache"] = f"FAIL: {e}" + + if not args.skip_text: + try: + test_text_encoder_cache(args, pairs) + results["text_encoder_cache"] = "PASS" + except Exception as e: + print(f"\n** TEXT ENCODER CACHE TEST FAILED: {e}") + traceback.print_exc() + results["text_encoder_cache"] = f"FAIL: {e}" + + if not args.skip_full: + try: + test_full_batch_simulation(args, pairs) + results["full_batch_sim"] = "PASS" + except Exception as e: + print(f"\n** FULL BATCH SIMULATION FAILED: {e}") + traceback.print_exc() + results["full_batch_sim"] = f"FAIL: {e}" + + # Summary + print("\n" + "=" * 70) + print("SUMMARY") + print("=" * 70) + for test, result in results.items(): + status = "OK" if result == "PASS" else "FAIL" + print(f" [{status}] {test}: {result}") + print() + + +if __name__ == "__main__": + main() diff --git a/tests/test_anima_real_training.py b/tests/test_anima_real_training.py new file mode 100644 index 000000000..225fa59b1 --- /dev/null +++ b/tests/test_anima_real_training.py @@ -0,0 +1,242 @@ +""" +Test script that actually runs anima_train.py and anima_train_network.py +for a few steps to verify --cache_text_encoder_outputs works. + +Usage: + python test_anima_real_training.py \ + --image_dir /path/to/images_with_txt \ + --dit_path /path/to/dit.safetensors \ + --qwen3_path /path/to/qwen3 \ + --vae_path /path/to/vae.safetensors \ + [--t5_tokenizer_path /path/to/t5] \ + [--resolution 512] + +This will run 4 tests: + 1. anima_train.py (full finetune, no cache) + 2. anima_train.py (full finetune, --cache_text_encoder_outputs) + 3. anima_train_network.py (LoRA, no cache) + 4. anima_train_network.py (LoRA, --cache_text_encoder_outputs) + +Each test runs only 2 training steps then stops. +""" + +import argparse +import os +import subprocess +import sys +import tempfile +import shutil + + +def create_dataset_toml(image_dir: str, resolution: int, toml_path: str): + """Create a minimal dataset toml config.""" + content = f"""[general] +resolution = {resolution} +enable_bucket = true +bucket_reso_steps = 8 +min_bucket_reso = 256 +max_bucket_reso = 1024 + +[[datasets]] +batch_size = 1 + + [[datasets.subsets]] + image_dir = "{image_dir}" + num_repeats = 1 + caption_extension = ".txt" +""" + with open(toml_path, "w", encoding="utf-8") as f: + f.write(content) + return toml_path + + +def run_test(test_name: str, cmd: list, timeout: int = 300) -> dict: + """Run a training command and capture result.""" + print(f"\n{'=' * 70}") + print(f"TEST: {test_name}") + print(f"{'=' * 70}") + print(f"Command: {' '.join(cmd)}\n") + + try: + result = subprocess.run( + cmd, + capture_output=True, + text=True, + timeout=timeout, + cwd=os.path.dirname(os.path.abspath(__file__)), + ) + + stdout = result.stdout + stderr = result.stderr + returncode = result.returncode + + # Print last N lines of output + all_output = stdout + "\n" + stderr + lines = all_output.strip().split("\n") + print(f"--- Last 30 lines of output ---") + for line in lines[-30:]: + print(f" {line}") + print(f"--- End output ---\n") + + if returncode == 0: + print(f"RESULT: PASS (exit code 0)") + return {"status": "PASS", "detail": "completed successfully"} + else: + # Check if it's a known error + if "TypeError: 'NoneType' object is not iterable" in all_output: + print(f"RESULT: FAIL - input_ids_list is None (the cache_text_encoder_outputs bug)") + return {"status": "FAIL", "detail": "input_ids_list is None - cache TE outputs bug"} + elif "steps: 0%" in all_output and "Error" in all_output: + # Find the actual error + error_lines = [l for l in lines if "Error" in l or "Traceback" in l or "raise" in l.lower()] + detail = error_lines[-1] if error_lines else f"exit code {returncode}" + print(f"RESULT: FAIL - {detail}") + return {"status": "FAIL", "detail": detail} + else: + print(f"RESULT: FAIL (exit code {returncode})") + return {"status": "FAIL", "detail": f"exit code {returncode}"} + + except subprocess.TimeoutExpired: + print(f"RESULT: TIMEOUT (>{timeout}s)") + return {"status": "TIMEOUT", "detail": f"exceeded {timeout}s"} + except Exception as e: + print(f"RESULT: ERROR - {e}") + return {"status": "ERROR", "detail": str(e)} + + +def main(): + parser = argparse.ArgumentParser(description="Test Anima real training with cache flags") + parser.add_argument("--image_dir", type=str, required=True, + help="Directory with image+txt pairs") + parser.add_argument("--dit_path", type=str, required=True, + help="Path to Anima DiT safetensors") + parser.add_argument("--qwen3_path", type=str, required=True, + help="Path to Qwen3 model") + parser.add_argument("--vae_path", type=str, required=True, + help="Path to WanVAE safetensors") + parser.add_argument("--t5_tokenizer_path", type=str, default=None) + parser.add_argument("--resolution", type=int, default=512) + parser.add_argument("--timeout", type=int, default=300, + help="Timeout per test in seconds (default: 300)") + parser.add_argument("--only", type=str, default=None, + choices=["finetune", "lora"], + help="Only run finetune or lora tests") + args = parser.parse_args() + + # Validate paths + for name, path in [("image_dir", args.image_dir), ("dit_path", args.dit_path), + ("qwen3_path", args.qwen3_path), ("vae_path", args.vae_path)]: + if not os.path.exists(path): + print(f"ERROR: {name} does not exist: {path}") + sys.exit(1) + + # Create temp dir for outputs + tmp_dir = tempfile.mkdtemp(prefix="anima_test_") + print(f"Temp directory: {tmp_dir}") + + # Create dataset toml + toml_path = os.path.join(tmp_dir, "dataset.toml") + create_dataset_toml(args.image_dir, args.resolution, toml_path) + print(f"Dataset config: {toml_path}") + + output_dir = os.path.join(tmp_dir, "output") + os.makedirs(output_dir, exist_ok=True) + + python = sys.executable + + # Common args for both scripts + common_anima_args = [ + "--dit_path", args.dit_path, + "--qwen3_path", args.qwen3_path, + "--vae_path", args.vae_path, + "--pretrained_model_name_or_path", args.dit_path, # required by base parser + "--output_dir", output_dir, + "--output_name", "test", + "--dataset_config", toml_path, + "--max_train_steps", "2", + "--learning_rate", "1e-5", + "--mixed_precision", "bf16", + "--save_every_n_steps", "999", # don't save + "--max_data_loader_n_workers", "0", # single process for clarity + "--logging_dir", os.path.join(tmp_dir, "logs"), + "--cache_latents", + ] + if args.t5_tokenizer_path: + common_anima_args += ["--t5_tokenizer_path", args.t5_tokenizer_path] + + results = {} + + # TEST 1: anima_train.py - NO cache_text_encoder_outputs + if args.only is None or args.only == "finetune": + cmd = [python, "anima_train.py"] + common_anima_args + [ + "--optimizer_type", "AdamW8bit", + ] + results["finetune_no_cache"] = run_test( + "anima_train.py (full finetune, NO text encoder cache)", + cmd, args.timeout, + ) + + # TEST 2: anima_train.py - WITH cache_text_encoder_outputs + cmd = [python, "anima_train.py"] + common_anima_args + [ + "--optimizer_type", "AdamW8bit", + "--cache_text_encoder_outputs", + ] + results["finetune_with_cache"] = run_test( + "anima_train.py (full finetune, WITH --cache_text_encoder_outputs)", + cmd, args.timeout, + ) + + # TEST 3: anima_train_network.py - NO cache_text_encoder_outputs + if args.only is None or args.only == "lora": + lora_args = common_anima_args + [ + "--optimizer_type", "AdamW8bit", + "--network_module", "networks.lora_anima", + "--network_dim", "4", + "--network_alpha", "1", + ] + + cmd = [python, "anima_train_network.py"] + lora_args + results["lora_no_cache"] = run_test( + "anima_train_network.py (LoRA, NO text encoder cache)", + cmd, args.timeout, + ) + + # TEST 4: anima_train_network.py - WITH cache_text_encoder_outputs + cmd = [python, "anima_train_network.py"] + lora_args + [ + "--cache_text_encoder_outputs", + ] + results["lora_with_cache"] = run_test( + "anima_train_network.py (LoRA, WITH --cache_text_encoder_outputs)", + cmd, args.timeout, + ) + + # SUMMARY + print(f"\n{'=' * 70}") + print("SUMMARY") + print(f"{'=' * 70}") + all_pass = True + for test_name, result in results.items(): + status = result["status"] + icon = "OK" if status == "PASS" else "FAIL" + if status != "PASS": + all_pass = False + print(f" [{icon:4s}] {test_name}: {result['detail']}") + + print(f"\nTemp directory (can delete): {tmp_dir}") + + # Cleanup + try: + shutil.rmtree(tmp_dir) + print("Temp directory cleaned up.") + except Exception: + print(f"Note: could not clean up {tmp_dir}") + + if all_pass: + print("\nAll tests PASSED!") + else: + print("\nSome tests FAILED!") + sys.exit(1) + + +if __name__ == "__main__": + main() From 1640e533925f5f33a85230d159c33d4c1643096f Mon Sep 17 00:00:00 2001 From: Duoong Date: Thu, 12 Feb 2026 22:52:28 +0700 Subject: [PATCH 723/748] Fix bug and optimization Lumina training --- library/lumina_models.py | 97 +++++++++++++++++------------------- library/lumina_train_util.py | 39 +++++++++------ lumina_train.py | 24 +++++---- lumina_train_network.py | 19 ++++--- networks/lora_lumina.py | 68 +++++++++++++++---------- 5 files changed, 138 insertions(+), 109 deletions(-) diff --git a/library/lumina_models.py b/library/lumina_models.py index 7e9253525..c51c900e1 100644 --- a/library/lumina_models.py +++ b/library/lumina_models.py @@ -34,18 +34,18 @@ try: from flash_attn import flash_attn_varlen_func from flash_attn.bert_padding import index_first_axis, pad_input, unpad_input # noqa -except: +except ImportError: # flash_attn may not be available but it is not required pass try: from sageattention import sageattn -except: +except ImportError: pass try: from apex.normalization import FusedRMSNorm as RMSNorm -except: +except ImportError: import warnings warnings.warn("Cannot import apex RMSNorm, switch to vanilla implementation") @@ -98,7 +98,7 @@ def forward(self, x: Tensor): x_dtype = x.dtype # To handle float8 we need to convert the tensor to float x = x.float() - rrms = torch.rsqrt(torch.mean(x**2, dim=-1, keepdim=True) + 1e-6) + rrms = torch.rsqrt(torch.mean(x**2, dim=-1, keepdim=True) + self.eps) return ((x * rrms) * self.weight.float()).to(dtype=x_dtype) @@ -370,7 +370,7 @@ def forward( if self.use_sage_attn: # Handle GQA (Grouped Query Attention) if needed n_rep = self.n_local_heads // self.n_local_kv_heads - if n_rep >= 1: + if n_rep > 1: xk = xk.unsqueeze(3).repeat(1, 1, 1, n_rep, 1).flatten(2, 3) xv = xv.unsqueeze(3).repeat(1, 1, 1, n_rep, 1).flatten(2, 3) @@ -379,7 +379,7 @@ def forward( output = self.flash_attn(xq, xk, xv, x_mask, softmax_scale) else: n_rep = self.n_local_heads // self.n_local_kv_heads - if n_rep >= 1: + if n_rep > 1: xk = xk.unsqueeze(3).repeat(1, 1, 1, n_rep, 1).flatten(2, 3) xv = xv.unsqueeze(3).repeat(1, 1, 1, n_rep, 1).flatten(2, 3) @@ -456,51 +456,47 @@ def sage_attn(self, q: Tensor, k: Tensor, v: Tensor, x_mask: Tensor, softmax_sca bsz = q.shape[0] seqlen = q.shape[1] - # Transpose tensors to match SageAttention's expected format (HND layout) - q_transposed = q.permute(0, 2, 1, 3) # [batch, heads, seq_len, head_dim] - k_transposed = k.permute(0, 2, 1, 3) # [batch, heads, seq_len, head_dim] - v_transposed = v.permute(0, 2, 1, 3) # [batch, heads, seq_len, head_dim] - - # Handle masking for SageAttention - # We need to filter out masked positions - this approach handles variable sequence lengths - outputs = [] - for b in range(bsz): - # Find valid token positions from the mask - valid_indices = torch.nonzero(x_mask[b], as_tuple=False).squeeze(-1) - if valid_indices.numel() == 0: - # If all tokens are masked, create a zero output - batch_output = torch.zeros( - seqlen, self.n_local_heads, self.head_dim, - device=q.device, dtype=q.dtype - ) - else: - # Extract only valid tokens for this batch - batch_q = q_transposed[b, :, valid_indices, :] - batch_k = k_transposed[b, :, valid_indices, :] - batch_v = v_transposed[b, :, valid_indices, :] - - # Run SageAttention on valid tokens only + # Transpose to SageAttention's expected HND layout: [batch, heads, seq_len, head_dim] + q_transposed = q.permute(0, 2, 1, 3) + k_transposed = k.permute(0, 2, 1, 3) + v_transposed = v.permute(0, 2, 1, 3) + + # Fast path: if all tokens are valid, run batched SageAttention directly + if x_mask.all(): + output = sageattn( + q_transposed, k_transposed, v_transposed, + tensor_layout="HND", is_causal=False, sm_scale=softmax_scale, + ) + # output: [batch, heads, seq_len, head_dim] -> [batch, seq_len, heads, head_dim] + output = output.permute(0, 2, 1, 3) + else: + # Slow path: per-batch loop to handle variable-length masking + # SageAttention does not support attention masks natively + outputs = [] + for b in range(bsz): + valid_indices = x_mask[b].nonzero(as_tuple=True)[0] + if valid_indices.numel() == 0: + outputs.append(torch.zeros( + seqlen, self.n_local_heads, self.head_dim, + device=q.device, dtype=q.dtype, + )) + continue + batch_output_valid = sageattn( - batch_q.unsqueeze(0), # Add batch dimension back - batch_k.unsqueeze(0), - batch_v.unsqueeze(0), - tensor_layout="HND", - is_causal=False, - sm_scale=softmax_scale + q_transposed[b:b+1, :, valid_indices, :], + k_transposed[b:b+1, :, valid_indices, :], + v_transposed[b:b+1, :, valid_indices, :], + tensor_layout="HND", is_causal=False, sm_scale=softmax_scale, ) - - # Create output tensor with zeros for masked positions + batch_output = torch.zeros( - seqlen, self.n_local_heads, self.head_dim, - device=q.device, dtype=q.dtype + seqlen, self.n_local_heads, self.head_dim, + device=q.device, dtype=q.dtype, ) - # Place valid outputs back in the right positions batch_output[valid_indices] = batch_output_valid.squeeze(0).permute(1, 0, 2) - - outputs.append(batch_output) - - # Stack batch outputs and reshape to expected format - output = torch.stack(outputs, dim=0) # [batch, seq_len, heads, head_dim] + outputs.append(batch_output) + + output = torch.stack(outputs, dim=0) except NameError as e: raise RuntimeError( f"Could not load Sage Attention. Please install https://github.com/thu-ml/SageAttention. / Sage Attention を読み込めませんでした。https://github.com/thu-ml/SageAttention をインストールしてください。 / {e}" @@ -1113,10 +1109,9 @@ def patchify_and_embed( x = x.view(bsz, channels, height // pH, pH, width // pW, pW).permute(0, 2, 4, 3, 5, 1).flatten(3).flatten(1, 2) - x_mask = torch.zeros(bsz, image_seq_len, dtype=torch.bool, device=device) - for i in range(bsz): - x[i, :image_seq_len] = x[i] - x_mask[i, :image_seq_len] = True + # x.shape[1] == image_seq_len after patchify, so this was assigning to itself. + # The mask can be set without a loop since all samples have the same image_seq_len. + x_mask = torch.ones(bsz, image_seq_len, dtype=torch.bool, device=device) x = self.x_embedder(x) @@ -1389,4 +1384,4 @@ def NextDiT_7B_GQA_patch2_Adaln_Refiner(**kwargs): axes_dims=[40, 40, 40], axes_lens=[300, 512, 512], **kwargs, - ) + ) \ No newline at end of file diff --git a/library/lumina_train_util.py b/library/lumina_train_util.py index 244d23601..afbfc241e 100644 --- a/library/lumina_train_util.py +++ b/library/lumina_train_util.py @@ -334,32 +334,35 @@ def sample_image_inference( # No need to add system prompt here, as it has been handled in the tokenize_strategy - # Get sample prompts from cache + # Get sample prompts from cache, fallback to live encoding + gemma2_conds = None + neg_gemma2_conds = None + if sample_prompts_gemma2_outputs and prompt in sample_prompts_gemma2_outputs: gemma2_conds = sample_prompts_gemma2_outputs[prompt] logger.info(f"Using cached Gemma2 outputs for prompt: {prompt}") - if ( - sample_prompts_gemma2_outputs - and negative_prompt in sample_prompts_gemma2_outputs - ): + if sample_prompts_gemma2_outputs and negative_prompt in sample_prompts_gemma2_outputs: neg_gemma2_conds = sample_prompts_gemma2_outputs[negative_prompt] - logger.info( - f"Using cached Gemma2 outputs for negative prompt: {negative_prompt}" - ) + logger.info(f"Using cached Gemma2 outputs for negative prompt: {negative_prompt}") - # Load sample prompts from Gemma 2 - if gemma2_model is not None: + # Only encode if not found in cache + if gemma2_conds is None and gemma2_model is not None: tokens_and_masks = tokenize_strategy.tokenize(prompt) gemma2_conds = encoding_strategy.encode_tokens( tokenize_strategy, gemma2_model, tokens_and_masks ) + if neg_gemma2_conds is None and gemma2_model is not None: tokens_and_masks = tokenize_strategy.tokenize(negative_prompt, is_negative=True) neg_gemma2_conds = encoding_strategy.encode_tokens( tokenize_strategy, gemma2_model, tokens_and_masks ) + if gemma2_conds is None or neg_gemma2_conds is None: + logger.error(f"Cannot generate sample: no cached outputs and no text encoder available for prompt: {prompt}") + continue + # Unpack Gemma2 outputs gemma2_hidden_states, _, gemma2_attn_mask = gemma2_conds neg_gemma2_hidden_states, _, neg_gemma2_attn_mask = neg_gemma2_conds @@ -475,6 +478,7 @@ def sample_image_inference( def time_shift(mu: float, sigma: float, t: torch.Tensor): + """Apply time shifting to timesteps.""" t = math.exp(mu) / (math.exp(mu) + (1 / t - 1) ** sigma) return t @@ -483,7 +487,7 @@ def get_lin_function( x1: float = 256, x2: float = 4096, y1: float = 0.5, y2: float = 1.15 ) -> Callable[[float], float]: """ - Get linear function + Get linear function for resolution-dependent shifting. Args: image_seq_len, @@ -528,6 +532,7 @@ def get_schedule( mu = get_lin_function(y1=base_shift, y2=max_shift, x1=256, x2=4096)( image_seq_len ) + timesteps = torch.clamp(timesteps, min=1e-7).to(timesteps.device) timesteps = time_shift(mu, 1.0, timesteps) return timesteps.tolist() @@ -689,15 +694,15 @@ def denoise( img_dtype = img.dtype - if img.dtype != img_dtype: - if torch.backends.mps.is_available(): - # some platforms (eg. apple mps) misbehave due to a pytorch bug: https://github.com/pytorch/pytorch/pull/99272 - img = img.to(img_dtype) - # compute the previous noisy sample x_t -> x_t-1 noise_pred = -noise_pred img = scheduler.step(noise_pred, t, img, return_dict=False)[0] + # some platforms (eg. apple mps) misbehave due to a pytorch bug: https://github.com/pytorch/pytorch/pull/99272 + if img.dtype != img_dtype: + if torch.backends.mps.is_available(): + img = img.to(img_dtype) + model.prepare_block_swap_before_forward() return img @@ -823,6 +828,7 @@ def get_noisy_model_input_and_timesteps( timesteps = sigmas * num_timesteps elif args.timestep_sampling == "nextdit_shift": sigmas = torch.rand((bsz,), device=device) + sigmas = torch.clamp(sigmas, min=1e-7).to(device) mu = get_lin_function(y1=0.5, y2=1.15)((h // 2) * (w // 2)) sigmas = time_shift(mu, 1.0, sigmas) @@ -831,6 +837,7 @@ def get_noisy_model_input_and_timesteps( sigmas = torch.randn(bsz, device=device) sigmas = sigmas * args.sigmoid_scale # larger scale for more uniform sampling sigmas = sigmas.sigmoid() + sigmas = torch.clamp(sigmas, min=1e-7).to(device) mu = get_lin_function(y1=0.5, y2=1.15)((h // 2) * (w // 2)) # we are pre-packed so must adjust for packed size sigmas = time_shift(mu, 1.0, sigmas) timesteps = sigmas * num_timesteps diff --git a/lumina_train.py b/lumina_train.py index 580b170c4..cf6e7fdb0 100644 --- a/lumina_train.py +++ b/lumina_train.py @@ -370,19 +370,25 @@ def train(args): grouped_params = [] param_group = {} for group in params_to_optimize: - named_parameters = list(nextdit.named_parameters()) + named_parameters = [(n, p) for n, p in nextdit.named_parameters() if p.requires_grad] assert len(named_parameters) == len( group["params"] - ), "number of parameters does not match" + ), f"number of trainable parameters ({len(named_parameters)}) does not match optimizer group ({len(group['params'])})" for p, np in zip(group["params"], named_parameters): # determine target layer and block index for each parameter - block_type = "other" # double, single or other - if np[0].startswith("double_blocks"): + # Lumina NextDiT architecture: + # - "layers.{i}.*" : main transformer blocks (e.g. 32 blocks for 2B) + # - "context_refiner.{i}.*" : context refiner blocks (2 blocks) + # - "noise_refiner.{i}.*" : noise refiner blocks (2 blocks) + # - others: t_embedder, cap_embedder, x_embedder, norm_final, final_layer + block_type = "other" + if np[0].startswith("layers."): block_index = int(np[0].split(".")[1]) - block_type = "double" - elif np[0].startswith("single_blocks"): - block_index = int(np[0].split(".")[1]) - block_type = "single" + block_type = "main" + elif np[0].startswith("context_refiner.") or np[0].startswith("noise_refiner."): + # All refiner blocks (context + noise) grouped together + block_index = -1 + block_type = "refiner" else: block_index = -1 @@ -759,7 +765,7 @@ def grad_hook(parameter: torch.Tensor): # calculate loss huber_c = train_util.get_huber_threshold_if_needed( - args, timesteps, noise_scheduler + args, 1000 - timesteps, noise_scheduler ) loss = train_util.conditional_loss( model_pred.float(), target.float(), args.loss_type, "none", huber_c diff --git a/lumina_train_network.py b/lumina_train_network.py index ad29d2f2c..58f9f4f12 100644 --- a/lumina_train_network.py +++ b/lumina_train_network.py @@ -43,9 +43,9 @@ def assert_extra_args(self, args, train_dataset_group, val_dataset_group): logger.warning("Enabling cache_text_encoder_outputs due to disk caching") args.cache_text_encoder_outputs = True - train_dataset_group.verify_bucket_reso_steps(32) + train_dataset_group.verify_bucket_reso_steps(16) if val_dataset_group is not None: - val_dataset_group.verify_bucket_reso_steps(32) + val_dataset_group.verify_bucket_reso_steps(16) self.train_gemma2 = not args.network_train_unet_only @@ -134,13 +134,16 @@ def cache_text_encoder_outputs_if_needed( # When TE is not be trained, it will not be prepared so we need to use explicit autocast logger.info("move text encoders to gpu") - text_encoders[0].to(accelerator.device, dtype=weight_dtype) # always not fp8 - - if text_encoders[0].dtype == torch.float8_e4m3fn: - # if we load fp8 weights, the model is already fp8, so we use it as is - self.prepare_text_encoder_fp8(1, text_encoders[1], text_encoders[1].dtype, weight_dtype) + # Lumina uses a single text encoder (Gemma2) at index 0. + # Check original dtype BEFORE casting to preserve fp8 detection. + gemma2_original_dtype = text_encoders[0].dtype + text_encoders[0].to(accelerator.device) + + if gemma2_original_dtype == torch.float8_e4m3fn: + # Model was loaded as fp8 — apply fp8 optimization + self.prepare_text_encoder_fp8(0, text_encoders[0], gemma2_original_dtype, weight_dtype) else: - # otherwise, we need to convert it to target dtype + # Otherwise, cast to target dtype text_encoders[0].to(weight_dtype) with accelerator.autocast(): diff --git a/networks/lora_lumina.py b/networks/lora_lumina.py index 0929e8390..8e6720918 100644 --- a/networks/lora_lumina.py +++ b/networks/lora_lumina.py @@ -227,19 +227,16 @@ def merge_to(self, sd, dtype, device): org_sd["weight"] = weight.to(dtype) self.org_module.load_state_dict(org_sd) else: - # split_dims - total_dims = sum(self.split_dims) + # split_dims: merge each split's LoRA into the correct slice of the fused QKV weight for i in range(len(self.split_dims)): # get up/down weight down_weight = sd[f"lora_down.{i}.weight"].to(torch.float).to(device) # (rank, in_dim) - up_weight = sd[f"lora_up.{i}.weight"].to(torch.float).to(device) # (split dim, rank) + up_weight = sd[f"lora_up.{i}.weight"].to(torch.float).to(device) # (split_dim, rank) - # pad up_weight -> (total_dims, rank) - padded_up_weight = torch.zeros((total_dims, up_weight.size(0)), device=device, dtype=torch.float) - padded_up_weight[sum(self.split_dims[:i]) : sum(self.split_dims[: i + 1])] = up_weight - - # merge weight - weight = weight + self.multiplier * (up_weight @ down_weight) * self.scale + # merge into the correct slice of the fused weight + start = sum(self.split_dims[:i]) + end = sum(self.split_dims[:i + 1]) + weight[start:end] += self.multiplier * (up_weight @ down_weight) * self.scale # set weight to org_module org_sd["weight"] = weight.to(dtype) @@ -250,6 +247,17 @@ def get_weight(self, multiplier=None): if multiplier is None: multiplier = self.multiplier + # Handle split_dims case where lora_down/lora_up are ModuleList + if self.split_dims is not None: + # Each sub-module produces a partial weight; concatenate along output dim + weights = [] + for lora_up, lora_down in zip(self.lora_up, self.lora_down): + up_w = lora_up.weight.to(torch.float) + down_w = lora_down.weight.to(torch.float) + weights.append(up_w @ down_w) + weight = self.multiplier * torch.cat(weights, dim=0) * self.scale + return weight + # get up/down weight from module up_weight = self.lora_up.weight.to(torch.float) down_weight = self.lora_down.weight.to(torch.float) @@ -409,7 +417,7 @@ def create_network_from_weights(multiplier, file, ae, text_encoders, lumina, wei weights_sd = load_file(file) else: - weights_sd = torch.load(file, map_location="cpu") + weights_sd = torch.load(file, map_location="cpu", weights_only=False) # get dim/alpha mapping, and train t5xxl modules_dim = {} @@ -634,20 +642,30 @@ def create_modules( skipped_te += skipped # create LoRA for U-Net + target_replace_modules = LoRANetwork.LUMINA_TARGET_REPLACE_MODULE + # Filter by block type using name-based filtering in create_modules + # All block types use JointTransformerBlock, so we filter by module path name + block_filter = None # None means no filtering (train all) if self.train_blocks == "all": - target_replace_modules = LoRANetwork.LUMINA_TARGET_REPLACE_MODULE - # TODO: limit different blocks + block_filter = None elif self.train_blocks == "transformer": - target_replace_modules = LoRANetwork.LUMINA_TARGET_REPLACE_MODULE - elif self.train_blocks == "refiners": - target_replace_modules = LoRANetwork.LUMINA_TARGET_REPLACE_MODULE + block_filter = "layers_" # main transformer blocks: "lora_unet_layers_N_..." elif self.train_blocks == "noise_refiner": - target_replace_modules = LoRANetwork.LUMINA_TARGET_REPLACE_MODULE - elif self.train_blocks == "cap_refiner": - target_replace_modules = LoRANetwork.LUMINA_TARGET_REPLACE_MODULE + block_filter = "noise_refiner" + elif self.train_blocks == "context_refiner": + block_filter = "context_refiner" + elif self.train_blocks == "refiners": + block_filter = None # handled below with two calls self.unet_loras: List[Union[LoRAModule, LoRAInfModule]] - self.unet_loras, skipped_un = create_modules(True, unet, target_replace_modules) + if self.train_blocks == "refiners": + # Refiners = noise_refiner + context_refiner, need two calls + noise_loras, skipped_noise = create_modules(True, unet, target_replace_modules, filter="noise_refiner") + context_loras, skipped_context = create_modules(True, unet, target_replace_modules, filter="context_refiner") + self.unet_loras = noise_loras + context_loras + skipped_un = skipped_noise + skipped_context + else: + self.unet_loras, skipped_un = create_modules(True, unet, target_replace_modules, filter=block_filter) # Handle embedders if self.embedder_dims: @@ -689,7 +707,7 @@ def load_weights(self, file): weights_sd = load_file(file) else: - weights_sd = torch.load(file, map_location="cpu") + weights_sd = torch.load(file, map_location="cpu", weights_only=False) info = self.load_state_dict(weights_sd, False) return info @@ -751,10 +769,10 @@ def state_dict(self, destination=None, prefix="", keep_vars=False): state_dict = super().state_dict(destination=destination, prefix=prefix, keep_vars=keep_vars) new_state_dict = {} for key in list(state_dict.keys()): - if "double" in key and "qkv" in key: - split_dims = [3072] * 3 - elif "single" in key and "linear1" in key: - split_dims = [3072] * 3 + [12288] + if "qkv" in key: + # Lumina 2B: dim=2304, n_heads=24, n_kv_heads=8, head_dim=96 + # Q=24*96=2304, K=8*96=768, V=8*96=768 + split_dims = [2304, 768, 768] else: new_state_dict[key] = state_dict[key] continue @@ -1035,4 +1053,4 @@ def apply_max_norm_regularization(self, max_norm_value, device): scalednorm = updown.norm() * ratio norms.append(scalednorm.item()) - return keys_scaled, sum(norms) / len(norms), max(norms) + return keys_scaled, sum(norms) / len(norms), max(norms) \ No newline at end of file From 34e7138b6a80c2d88f40c99fd68879c6e683f639 Mon Sep 17 00:00:00 2001 From: "Kohya S." <52813779+kohya-ss@users.noreply.github.com> Date: Fri, 13 Feb 2026 08:15:06 +0900 Subject: [PATCH 724/748] Add/modify some implementation for anima (#2261) * fix: update extend-exclude list in _typos.toml to include configs * fix: exclude anima tests from pytest * feat: add entry for 'temperal' in extend-words section of _typos.toml for Qwen-Image VAE * fix: update default value for --discrete_flow_shift in anima training guide * feat: add Qwen-Image VAE * feat: simplify encode_tokens * feat: use unified attention module, add wrapper for state dict compatibility * feat: loading with dynamic fp8 optimization and LoRA support * feat: add anima minimal inference script (WIP) * format: format * feat: simplify target module selection by regular expression patterns * feat: kept caption dropout rate in cache and handle in training script * feat: update train_llm_adapter and verbose default values to string type * fix: use strategy instead of using tokenizers directly * feat: add dtype property and all-zero mask handling in cross-attention in LLMAdapterTransformerBlock * feat: support 5d tensor in get_noisy_model_input_and_timesteps * feat: update loss calculation to support 5d tensor * fix: update argument names in anima_train_utils to align with other archtectures * feat: simplify Anima training script and update empty caption handling * feat: support LoRA format without `net.` prefix * fix: update to work fp8_scaled option * feat: add regex-based learning rates and dimensions handling in create_network * fix: improve regex matching for module selection and learning rates in LoRANetwork * fix: update logging message for regex match in LoRANetwork * fix: keep latents 4D except DiT call * feat: enhance block swap functionality for inference and training in Anima model * feat: refactor Anima training script * feat: optimize VAE processing by adjusting tensor dimensions and data types * fix: wait all block trasfer before siwtching offloader mode * feat: update Anima training guide with new argument specifications and regex-based module selection. Thank you Claude! * feat: support LORA for Qwen3 * feat: update Anima SAI model spec metadata handling * fix: remove unused code * feat: split CFG processing in do_sample function to reduce memory usage * feat: add VAE chunking and caching options to reduce memory usage * feat: optimize RMSNorm forward method and remove unused torch_attention_op * Update library/strategy_anima.py Use torch.all instead of all. Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update library/safetensors_utils.py Fix duplicated new_key for concat_hook. Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update anima_minimal_inference.py Remove unused code. Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update anima_train.py Remove unused import. Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update library/anima_train_utils.py Remove unused import. Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix: review with Copilot * feat: add script to convert LoRA format to ComfyUI compatible format (WIP, not tested yet) * feat: add process_escape function to handle escape sequences in prompts * feat: enhance LoRA weight handling in model loading and add text encoder loading function * feat: improve ComfyUI conversion script with prefix constants and module name adjustments * feat: update caption dropout documentation to clarify cache regeneration requirement * feat: add clarification on learning rate adjustments * feat: add note on PyTorch version requirement to prevent NaN loss --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- _typos.toml | 3 +- anima_minimal_inference.py | 1082 ++++++++++ anima_train.py | 342 +--- anima_train_network.py | 446 ++--- docs/anima_train_network.md | 391 ++-- library/anima_models.py | 506 ++--- library/anima_train_utils.py | 274 ++- library/anima_utils.py | 332 ++-- library/anima_vae.py | 577 ------ library/attention.py | 10 +- library/custom_offloading_utils.py | 7 + library/flux_train_utils.py | 4 +- library/fp8_optimization_utils.py | 19 +- library/lora_utils.py | 73 +- library/qwen_image_autoencoder_kl.py | 1735 +++++++++++++++++ library/safetensors_utils.py | 155 +- library/sai_model_spec.py | 13 +- library/strategy_anima.py | 247 +-- library/train_util.py | 23 +- networks/convert_anima_lora_to_comfy.py | 160 ++ networks/lora_anima.py | 320 +-- ...ma_cache.py => manual_test_anima_cache.py} | 102 +- ....py => manual_test_anima_real_training.py} | 0 train_network.py | 2 +- 24 files changed, 4560 insertions(+), 2263 deletions(-) create mode 100644 anima_minimal_inference.py delete mode 100644 library/anima_vae.py create mode 100644 library/qwen_image_autoencoder_kl.py create mode 100644 networks/convert_anima_lora_to_comfy.py rename tests/{test_anima_cache.py => manual_test_anima_cache.py} (89%) rename tests/{test_anima_real_training.py => manual_test_anima_real_training.py} (100%) diff --git a/_typos.toml b/_typos.toml index 686da4af2..fc33b6b37 100644 --- a/_typos.toml +++ b/_typos.toml @@ -32,6 +32,7 @@ hime="hime" OT="OT" byt="byt" tak="tak" +temperal="temperal" [files] -extend-exclude = ["_typos.toml", "venv"] +extend-exclude = ["_typos.toml", "venv", "configs"] diff --git a/anima_minimal_inference.py b/anima_minimal_inference.py new file mode 100644 index 000000000..2a6d4ba40 --- /dev/null +++ b/anima_minimal_inference.py @@ -0,0 +1,1082 @@ +import argparse +import datetime +import gc +from importlib.util import find_spec +import random +import os +import time +import copy +from types import SimpleNamespace +from typing import Tuple, Optional, List, Any, Dict, Union + +import torch +from safetensors.torch import load_file, save_file +from safetensors import safe_open +from tqdm import tqdm +from diffusers.utils.torch_utils import randn_tensor +from PIL import Image + +from library import anima_models, anima_utils, hunyuan_image_utils, qwen_image_autoencoder_kl, strategy_anima, strategy_base +from library.device_utils import clean_memory_on_device, synchronize_device + +lycoris_available = find_spec("lycoris") is not None +if lycoris_available: + from lycoris.kohya import create_network_from_weights + +from library.utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + + +class GenerationSettings: + def __init__(self, device: torch.device, dit_weight_dtype: Optional[torch.dtype] = None): + self.device = device + self.dit_weight_dtype = dit_weight_dtype # not used currently because model may be optimized + + +def parse_args() -> argparse.Namespace: + """parse command line arguments""" + parser = argparse.ArgumentParser(description="HunyuanImage inference script") + + parser.add_argument("--dit", type=str, default=None, help="DiT directory or path") + parser.add_argument("--vae", type=str, default=None, help="VAE directory or path") + parser.add_argument( + "--vae_chunk_size", + type=int, + default=None, + help="Spatial chunk size for VAE encoding/decoding to reduce memory usage. Must be even number. If not specified, chunking is disabled (official behavior)." + + " / メモリ使用量を減らすためのVAEエンコード/デコードの空間チャンクサイズ。偶数である必要があります。未指定の場合、チャンク処理は無効になります(公式の動作)。", + ) + parser.add_argument( + "--vae_disable_cache", + action="store_true", + help="Disable internal VAE caching mechanism to reduce memory usage. Encoding / decoding will also be faster, but this differs from official behavior." + + " / VAEのメモリ使用量を減らすために内部のキャッシュ機構を無効にします。エンコード/デコードも速くなりますが、公式の動作とは異なります。", + ) + parser.add_argument("--text_encoder", type=str, required=True, help="Text Encoder 1 (Qwen2.5-VL) directory or path") + + # LoRA + parser.add_argument("--lora_weight", type=str, nargs="*", required=False, default=None, help="LoRA weight path") + parser.add_argument("--lora_multiplier", type=float, nargs="*", default=1.0, help="LoRA multiplier") + parser.add_argument("--include_patterns", type=str, nargs="*", default=None, help="LoRA module include patterns") + parser.add_argument("--exclude_patterns", type=str, nargs="*", default=None, help="LoRA module exclude patterns") + + # inference + parser.add_argument( + "--guidance_scale", type=float, default=3.5, help="Guidance scale for classifier free guidance. Default is 3.5." + ) + parser.add_argument("--prompt", type=str, default=None, help="prompt for generation") + parser.add_argument("--negative_prompt", type=str, default="", help="negative prompt for generation, default is empty string") + parser.add_argument("--image_size", type=int, nargs=2, default=[1024, 1024], help="image size, height and width") + parser.add_argument("--infer_steps", type=int, default=50, help="number of inference steps, default is 50") + parser.add_argument("--save_path", type=str, required=True, help="path to save generated video") + parser.add_argument("--seed", type=int, default=None, help="Seed for evaluation.") + + # Flow Matching + parser.add_argument( + "--flow_shift", + type=float, + default=5.0, + help="Shift factor for flow matching schedulers. Default is 5.0.", + ) + + parser.add_argument("--fp8", action="store_true", help="use fp8 for DiT model") + parser.add_argument("--fp8_scaled", action="store_true", help="use scaled fp8 for DiT, only for fp8") + + parser.add_argument("--text_encoder_cpu", action="store_true", help="Inference on CPU for Text Encoders") + parser.add_argument( + "--device", type=str, default=None, help="device to use for inference. If None, use CUDA if available, otherwise use CPU" + ) + parser.add_argument( + "--attn_mode", + type=str, + default="torch", + choices=["flash", "torch", "sageattn", "xformers", "sdpa"], # "sdpa" for backward compatibility + help="attention mode", + ) + parser.add_argument( + "--output_type", + type=str, + default="images", + choices=["images", "latent", "latent_images"], + help="output type", + ) + parser.add_argument("--no_metadata", action="store_true", help="do not save metadata") + parser.add_argument("--latent_path", type=str, nargs="*", default=None, help="path to latent for decode. no inference") + parser.add_argument( + "--lycoris", action="store_true", help=f"use lycoris for inference{'' if lycoris_available else ' (not available)'}" + ) + + # arguments for batch and interactive modes + parser.add_argument("--from_file", type=str, default=None, help="Read prompts from a file") + parser.add_argument("--interactive", action="store_true", help="Interactive mode: read prompts from console") + + args = parser.parse_args() + + # Validate arguments + if args.from_file and args.interactive: + raise ValueError("Cannot use both --from_file and --interactive at the same time") + + if args.latent_path is None or len(args.latent_path) == 0: + if args.prompt is None and not args.from_file and not args.interactive: + raise ValueError("Either --prompt, --from_file or --interactive must be specified") + + if args.lycoris and not lycoris_available: + raise ValueError("install lycoris: https://github.com/KohakuBlueleaf/LyCORIS") + + if args.attn_mode == "sdpa": + args.attn_mode = "torch" # backward compatibility + + return args + + +def parse_prompt_line(line: str) -> Dict[str, Any]: + """Parse a prompt line into a dictionary of argument overrides + + Args: + line: Prompt line with options + + Returns: + Dict[str, Any]: Dictionary of argument overrides + """ + parts = line.split(" --") + prompt = parts[0].strip() + + # Create dictionary of overrides + overrides = {"prompt": prompt} + + for part in parts[1:]: + if not part.strip(): + continue + option_parts = part.split(" ", 1) + option = option_parts[0].strip() + value = option_parts[1].strip() if len(option_parts) > 1 else "" + + # Map options to argument names + if option == "w": + overrides["image_size_width"] = int(value) + elif option == "h": + overrides["image_size_height"] = int(value) + elif option == "d": + overrides["seed"] = int(value) + elif option == "s": + overrides["infer_steps"] = int(value) + elif option == "g" or option == "l": + overrides["guidance_scale"] = float(value) + elif option == "fs": + overrides["flow_shift"] = float(value) + elif option == "n": + overrides["negative_prompt"] = value + + return overrides + + +def apply_overrides(args: argparse.Namespace, overrides: Dict[str, Any]) -> argparse.Namespace: + """Apply overrides to args + + Args: + args: Original arguments + overrides: Dictionary of overrides + + Returns: + argparse.Namespace: New arguments with overrides applied + """ + args_copy = copy.deepcopy(args) + + for key, value in overrides.items(): + if key == "image_size_width": + args_copy.image_size[1] = value + elif key == "image_size_height": + args_copy.image_size[0] = value + else: + setattr(args_copy, key, value) + + return args_copy + + +def check_inputs(args: argparse.Namespace) -> Tuple[int, int]: + """Validate video size and length + + Args: + args: command line arguments + + Returns: + Tuple[int, int]: (height, width) + """ + height = args.image_size[0] + width = args.image_size[1] + + if height % 32 != 0 or width % 32 != 0: + raise ValueError(f"`height` and `width` have to be divisible by 32 but are {height} and {width}.") + + return height, width + + +# region Model + + +def load_dit_model( + args: argparse.Namespace, device: torch.device, dit_weight_dtype: Optional[torch.dtype] = None +) -> anima_models.Anima: + """load DiT model + + Args: + args: command line arguments + device: device to use + dit_weight_dtype: data type for the model weights. None for as-is + + Returns: + anima_models.Anima: DiT model instance + """ + # If LyCORIS is enabled, we will load the model to CPU and then merge LoRA weights (static method) + + loading_device = "cpu" + if not args.lycoris: + loading_device = device + + # load LoRA weights + if not args.lycoris and args.lora_weight is not None and len(args.lora_weight) > 0: + lora_weights_list = [] + for lora_weight in args.lora_weight: + logger.info(f"Loading LoRA weight from: {lora_weight}") + lora_sd = load_file(lora_weight) # load on CPU, dtype is as is + # lora_sd = filter_lora_state_dict(lora_sd, args.include_patterns, args.exclude_patterns) + lora_sd = {k: v for k, v in lora_sd.items() if k.startswith("lora_unet_")} # only keep unet lora weights + lora_weights_list.append(lora_sd) + else: + lora_weights_list = None + + loading_weight_dtype = dit_weight_dtype + if args.fp8_scaled and not args.lycoris: + loading_weight_dtype = None # we will load weights as-is and then optimize to fp8 + + model = anima_utils.load_anima_model( + device, + args.dit, + args.attn_mode, + True, # enable split_attn to trim masked tokens + loading_device, + loading_weight_dtype, + args.fp8_scaled and not args.lycoris, + lora_weights_list=lora_weights_list, + lora_multipliers=args.lora_multiplier, + ) + if not args.fp8_scaled: + # simple cast to dit_weight_dtype + target_dtype = None # load as-is (dit_weight_dtype == dtype of the weights in state_dict) + if dit_weight_dtype is not None: # in case of args.fp8 and not args.fp8_scaled + logger.info(f"Convert model to {dit_weight_dtype}") + target_dtype = dit_weight_dtype + + logger.info(f"Move model to device: {device}") + target_device = device + + model.to(target_device, target_dtype) # move and cast at the same time. this reduces redundant copy operations + + # model.to(device) + model.to(device, dtype=torch.bfloat16) # ensure model is in bfloat16 for inference + + model.eval().requires_grad_(False) + clean_memory_on_device(device) + + return model + + +def load_text_encoder( + args: argparse.Namespace, dtype: torch.dtype = torch.bfloat16, device: torch.device = torch.device("cpu") +) -> torch.nn.Module: + lora_weights_list = None + if args.lora_weight is not None and len(args.lora_weight) > 0: + lora_weights_list = [] + for lora_weight in args.lora_weight: + logger.info(f"Loading LoRA weight from: {lora_weight}") + lora_sd = load_file(lora_weight) # load on CPU, dtype is as is + # lora_sd = filter_lora_state_dict(lora_sd, args.include_patterns, args.exclude_patterns) + lora_sd = { + "model_" + k[len("lora_te_") :]: v for k, v in lora_sd.items() if k.startswith("lora_te_") + } # only keep Text Encoder lora weights, remove prefix "lora_te_" and add "model_" prefix + lora_weights_list.append(lora_sd) + + text_encoder, _ = anima_utils.load_qwen3_text_encoder( + args.text_encoder, dtype=dtype, device=device, lora_weights=lora_weights_list, lora_multipliers=args.lora_multiplier + ) + text_encoder.eval() + return text_encoder + + +# endregion + + +def decode_latent( + vae: qwen_image_autoencoder_kl.AutoencoderKLQwenImage, latent: torch.Tensor, device: torch.device +) -> torch.Tensor: + logger.info(f"Decoding image. Latent shape {latent.shape}, device {device}") + + vae.to(device) + with torch.no_grad(): + pixels = vae.decode_to_pixels(latent.to(device, dtype=vae.dtype)) + # pixels = vae.decode(latent.to(device, dtype=torch.bfloat16), scale=vae_scale) + if pixels.ndim == 5: # remove frame dimension if exists, [B, C, F, H, W] -> [B, C, H, W] + pixels = pixels.squeeze(2) + + pixels = pixels.to("cpu", dtype=torch.float32) # move to CPU and convert to float32 (bfloat16 is not supported by numpy) + vae.to("cpu") + + logger.info(f"Decoded. Pixel shape {pixels.shape}") + return pixels[0] # remove batch dimension + + +def process_escape(text: str) -> str: + """Process escape sequences in text + + Args: + text: Input text with escape sequences + + Returns: + str: Processed text + """ + return text.encode("utf-8").decode("unicode_escape") + + +def prepare_text_inputs( + args: argparse.Namespace, device: torch.device, anima: anima_models.Anima, shared_models: Optional[Dict] = None +) -> Tuple[Dict[str, Any], Dict[str, Any]]: + """Prepare text-related inputs for T2I: LLM encoding. Anima model is also needed for preprocessing""" + + # load text encoder: conds_cache holds cached encodings for prompts without padding + conds_cache = {} + text_encoder_device = torch.device("cpu") if args.text_encoder_cpu else device + if shared_models is not None: + text_encoder = shared_models.get("text_encoder") + + if "conds_cache" in shared_models: # Use shared cache if available + conds_cache = shared_models["conds_cache"] + + # text_encoder is on device (batched inference) or CPU (interactive inference) + else: # Load if not in shared_models + text_encoder_dtype = torch.bfloat16 # Default dtype for Text Encoder + text_encoder = load_text_encoder(args, dtype=text_encoder_dtype, device=text_encoder_device) + text_encoder.eval() + tokenize_strategy = strategy_base.TokenizeStrategy.get_strategy() + # Store references so load_target_model can reuse them + + # Store original devices to move back later if they were shared. This does nothing if shared_models is None + text_encoder_original_device = text_encoder.device if text_encoder else None + + # Ensure text_encoder is not None before proceeding + if not text_encoder: + raise ValueError("Text encoder is not loaded properly.") + + # Define a function to move models to device if needed + # This is to avoid moving models if not needed, especially in interactive mode + model_is_moved = False + + def move_models_to_device_if_needed(): + nonlocal model_is_moved + nonlocal shared_models + + if model_is_moved: + return + model_is_moved = True + + logger.info(f"Moving Text Encoder to appropriate device: {text_encoder_device}") + text_encoder.to(text_encoder_device) # If text_encoder_cpu is True, this will be CPU + + logger.info("Encoding prompt with Text Encoder") + + prompt = process_escape(args.prompt) + cache_key = prompt + if cache_key in conds_cache: + embed = conds_cache[cache_key] + else: + move_models_to_device_if_needed() + + tokenize_strategy = strategy_base.TokenizeStrategy.get_strategy() + encoding_strategy = strategy_base.TextEncodingStrategy.get_strategy() + + with torch.no_grad(): + # embed = anima_text_encoder.get_text_embeds(anima, tokenizer, text_encoder, t5xxl_tokenizer, prompt) + tokens = tokenize_strategy.tokenize(prompt) + embed = encoding_strategy.encode_tokens(tokenize_strategy, [text_encoder], tokens) + crossattn_emb = anima._preprocess_text_embeds( + source_hidden_states=embed[0].to(anima.device), + target_input_ids=embed[2].to(anima.device), + target_attention_mask=embed[3].to(anima.device), + source_attention_mask=embed[1].to(anima.device), + ) + crossattn_emb[~embed[3].bool()] = 0 + embed[0] = crossattn_emb + embed[0] = embed[0].cpu() + + conds_cache[cache_key] = embed + + negative_prompt = process_escape(args.negative_prompt) + cache_key = negative_prompt + if cache_key in conds_cache: + negative_embed = conds_cache[cache_key] + else: + move_models_to_device_if_needed() + + tokenize_strategy = strategy_base.TokenizeStrategy.get_strategy() + encoding_strategy = strategy_base.TextEncodingStrategy.get_strategy() + + with torch.no_grad(): + # negative_embed = anima_text_encoder.get_text_embeds(anima, tokenizer, text_encoder, t5xxl_tokenizer, negative_prompt) + tokens = tokenize_strategy.tokenize(negative_prompt) + negative_embed = encoding_strategy.encode_tokens(tokenize_strategy, [text_encoder], tokens) + crossattn_emb = anima._preprocess_text_embeds( + source_hidden_states=negative_embed[0].to(anima.device), + target_input_ids=negative_embed[2].to(anima.device), + target_attention_mask=negative_embed[3].to(anima.device), + source_attention_mask=negative_embed[1].to(anima.device), + ) + crossattn_emb[~negative_embed[3].bool()] = 0 + negative_embed[0] = crossattn_emb + negative_embed[0] = negative_embed[0].cpu() + + conds_cache[cache_key] = negative_embed + + if not (shared_models and "text_encoder" in shared_models): # if loaded locally + # There is a bug text_encoder is not freed from GPU memory when text encoder is fp8 + del text_encoder + gc.collect() # This may force Text Encoder to be freed from GPU memory + else: # if shared, move back to original device (likely CPU) + if text_encoder: + text_encoder.to(text_encoder_original_device) + + clean_memory_on_device(device) + + arg_c = {"embed": embed, "prompt": prompt} + arg_null = {"embed": negative_embed, "prompt": negative_prompt} + + return arg_c, arg_null + + +def generate( + args: argparse.Namespace, + gen_settings: GenerationSettings, + shared_models: Optional[Dict] = None, + precomputed_text_data: Optional[Dict] = None, +) -> torch.Tensor: + """main function for generation + + Args: + args: command line arguments + shared_models: dictionary containing pre-loaded models (mainly for DiT) + precomputed_image_data: Optional dictionary with precomputed image data + precomputed_text_data: Optional dictionary with precomputed text data + + Returns: + tuple: (HunyuanVAE2D model (vae) or None, torch.Tensor generated latent) + """ + device, dit_weight_dtype = (gen_settings.device, gen_settings.dit_weight_dtype) + + # prepare seed + seed = args.seed if args.seed is not None else random.randint(0, 2**32 - 1) + args.seed = seed # set seed to args for saving + + if shared_models is None or "model" not in shared_models: + # load DiT model + anima = load_dit_model(args, device, dit_weight_dtype) + + if shared_models is not None: + shared_models["model"] = anima + else: + # use shared model + logger.info("Using shared DiT model.") + anima: anima_models.Anima = shared_models["model"] + + if precomputed_text_data is not None: + logger.info("Using precomputed text data.") + context = precomputed_text_data["context"] + context_null = precomputed_text_data["context_null"] + + else: + logger.info("No precomputed data. Preparing image and text inputs.") + context, context_null = prepare_text_inputs(args, device, anima, shared_models) + + return generate_body(args, anima, context, context_null, device, seed) + + +def generate_body( + args: Union[argparse.Namespace, SimpleNamespace], + anima: anima_models.Anima, + context: Dict[str, Any], + context_null: Optional[Dict[str, Any]], + device: torch.device, + seed: int, +) -> torch.Tensor: + + # set random generator + seed_g = torch.Generator(device="cpu") + seed_g.manual_seed(seed) + + height, width = check_inputs(args) + logger.info(f"Image size: {height}x{width} (HxW), infer_steps: {args.infer_steps}") + + # image generation ###### + + logger.info(f"Prompt: {context['prompt']}") + + embed = context["embed"][0].to(device, dtype=torch.bfloat16) + if context_null is None: + context_null = context # dummy for unconditional + negative_embed = context_null["embed"][0].to(device, dtype=torch.bfloat16) + + # Prepare latent variables + num_channels_latents = anima_models.Anima.LATENT_CHANNELS + shape = ( + 1, + num_channels_latents, + 1, # Frame dimension + height // 8, # qwen_image_autoencoder_kl.SCALE_FACTOR, + width // 8, # qwen_image_autoencoder_kl.SCALE_FACTOR, + ) + latents = randn_tensor(shape, generator=seed_g, device=device, dtype=torch.bfloat16) + + # Create padding mask + bs = latents.shape[0] + h_latent = latents.shape[-2] + w_latent = latents.shape[-1] + padding_mask = torch.zeros(bs, 1, h_latent, w_latent, dtype=torch.bfloat16, device=device) + + logger.info(f"Embed: {embed.shape}, negative_embed: {negative_embed.shape}, latents: {latents.shape}") + embed = embed.to(torch.bfloat16) + negative_embed = negative_embed.to(torch.bfloat16) + + # Prepare timesteps + timesteps, sigmas = hunyuan_image_utils.get_timesteps_sigmas(args.infer_steps, args.flow_shift, device) + timesteps /= 1000 # scale to [0,1] range + timesteps = timesteps.to(device, dtype=torch.bfloat16) + + # Denoising loop + do_cfg = args.guidance_scale != 1.0 + autocast_enabled = args.fp8 + + with tqdm(total=len(timesteps), desc="Denoising steps") as pbar: + for i, t in enumerate(timesteps): + t_expand = t.expand(latents.shape[0]) + + with torch.no_grad(), torch.autocast(device_type=device.type, dtype=torch.bfloat16, enabled=autocast_enabled): + noise_pred = anima(latents, t_expand, embed, padding_mask=padding_mask) + + if do_cfg: + with torch.no_grad(), torch.autocast(device_type=device.type, dtype=torch.bfloat16, enabled=autocast_enabled): + uncond_noise_pred = anima(latents, t_expand, negative_embed, padding_mask=padding_mask) + noise_pred = uncond_noise_pred + args.guidance_scale * (noise_pred - uncond_noise_pred) + + # ensure latents dtype is consistent + latents = hunyuan_image_utils.step(latents, noise_pred, sigmas, i).to(latents.dtype) + + pbar.update() + + return latents + + +def get_time_flag(): + return datetime.datetime.fromtimestamp(time.time()).strftime("%Y%m%d-%H%M%S-%f")[:-3] + + +def save_latent(latent: torch.Tensor, args: argparse.Namespace, height: int, width: int) -> str: + """Save latent to file + + Args: + latent: Latent tensor + args: command line arguments + height: height of frame + width: width of frame + + Returns: + str: Path to saved latent file + """ + save_path = args.save_path + os.makedirs(save_path, exist_ok=True) + time_flag = get_time_flag() + + seed = args.seed + + latent_path = f"{save_path}/{time_flag}_{seed}_latent.safetensors" + + if args.no_metadata: + metadata = None + else: + metadata = { + "seeds": f"{seed}", + "prompt": f"{args.prompt}", + "height": f"{height}", + "width": f"{width}", + "infer_steps": f"{args.infer_steps}", + # "embedded_cfg_scale": f"{args.embedded_cfg_scale}", + "guidance_scale": f"{args.guidance_scale}", + } + if args.negative_prompt is not None: + metadata["negative_prompt"] = f"{args.negative_prompt}" + + sd = {"latent": latent.contiguous()} + save_file(sd, latent_path, metadata=metadata) + logger.info(f"Latent saved to: {latent_path}") + + return latent_path + + +def save_images(sample: torch.Tensor, args: argparse.Namespace, original_base_name: Optional[str] = None) -> str: + """Save images to directory + + Args: + sample: Video tensor + args: command line arguments + original_base_name: Original base name (if latents are loaded from files) + + Returns: + str: Path to saved images directory + """ + save_path = args.save_path + os.makedirs(save_path, exist_ok=True) + time_flag = get_time_flag() + + seed = args.seed + original_name = "" if original_base_name is None else f"_{original_base_name}" + image_name = f"{time_flag}_{seed}{original_name}" + + x = torch.clamp(sample, -1.0, 1.0) + x = ((x + 1.0) * 127.5).to(torch.uint8).cpu().numpy() + x = x.transpose(1, 2, 0) # C, H, W -> H, W, C + + image = Image.fromarray(x) + image.save(os.path.join(save_path, f"{image_name}.png")) + + logger.info(f"Sample images saved to: {save_path}/{image_name}") + + return f"{save_path}/{image_name}" + + +def save_output( + args: argparse.Namespace, + vae: qwen_image_autoencoder_kl.AutoencoderKLQwenImage, + latent: torch.Tensor, + device: torch.device, + original_base_name: Optional[str] = None, +) -> None: + """save output + + Args: + args: command line arguments + vae: VAE model + latent: latent tensor + device: device to use + original_base_name: original base name (if latents are loaded from files) + """ + height, width = latent.shape[-2], latent.shape[-1] # BCTHW + height *= 8 # qwen_image_autoencoder_kl.SCALE_FACTOR + width *= 8 # qwen_image_autoencoder_kl.SCALE_FACTOR + # print(f"Saving output. Latent shape {latent.shape}; pixel shape {height}x{width}") + if args.output_type == "latent" or args.output_type == "latent_images": + # save latent + save_latent(latent, args, height, width) + if args.output_type == "latent": + return + + if vae is None: + logger.error("VAE is None, cannot decode latents for saving video/images.") + return + + if latent.ndim == 2: # S,C. For packed latents from other inference scripts + latent = latent.unsqueeze(0) + height, width = check_inputs(args) # Get height/width from args + latent = latent.view( + 1, + vae.latent_channels, + 1, # Frame dimension + height // 8, # qwen_image_autoencoder_kl.SCALE_FACTOR, + width // 8, # qwen_image_autoencoder_kl.SCALE_FACTOR, + ) + + image = decode_latent(vae, latent, device) + + if args.output_type == "images" or args.output_type == "latent_images": + # save images + if original_base_name is None: + original_name = "" + else: + original_name = f"_{original_base_name}" + save_images(image, args, original_name) + + +def preprocess_prompts_for_batch(prompt_lines: List[str], base_args: argparse.Namespace) -> List[Dict]: + """Process multiple prompts for batch mode + + Args: + prompt_lines: List of prompt lines + base_args: Base command line arguments + + Returns: + List[Dict]: List of prompt data dictionaries + """ + prompts_data = [] + + for line in prompt_lines: + line = line.strip() + if not line or line.startswith("#"): # Skip empty lines and comments + continue + + # Parse prompt line and create override dictionary + prompt_data = parse_prompt_line(line) + logger.info(f"Parsed prompt data: {prompt_data}") + prompts_data.append(prompt_data) + + return prompts_data + + +def load_shared_models(args: argparse.Namespace) -> Dict: + """Load shared models for batch processing or interactive mode. + Models are loaded to CPU to save memory. VAE is NOT loaded here. + DiT model is also NOT loaded here, handled by process_batch_prompts or generate. + + Args: + args: Base command line arguments + + Returns: + Dict: Dictionary of shared models (text/image encoders) + """ + shared_models = {} + # Load text encoders to CPU + text_encoder_dtype = torch.bfloat16 # Default dtype for Text Encoder + text_encoder = load_text_encoder(args, dtype=text_encoder_dtype, device=torch.device("cpu")) + shared_models["text_encoder"] = text_encoder + return shared_models + + +def process_batch_prompts(prompts_data: List[Dict], args: argparse.Namespace) -> None: + """Process multiple prompts with model reuse and batched precomputation + + Args: + prompts_data: List of prompt data dictionaries + args: Base command line arguments + """ + if not prompts_data: + logger.warning("No valid prompts found") + return + + gen_settings = get_generation_settings(args) + dit_weight_dtype = gen_settings.dit_weight_dtype + device = gen_settings.device + + # 1. Prepare VAE + logger.info("Loading VAE for batch generation...") + vae_for_batch = qwen_image_autoencoder_kl.load_vae( + args.vae, device="cpu", disable_mmap=True, spatial_chunk_size=args.vae_chunk_size, disable_cache=args.vae_disable_cache + ) + vae_for_batch.to(torch.bfloat16) + vae_for_batch.eval() + + all_prompt_args_list = [apply_overrides(args, pd) for pd in prompts_data] # Create all arg instances first + for prompt_args in all_prompt_args_list: + check_inputs(prompt_args) # Validate each prompt's height/width + + # 2. Load DiT Model once + logger.info("Loading DiT model for batch generation...") + # Use args from the first prompt for DiT loading (LoRA etc. should be consistent for a batch) + first_prompt_args = all_prompt_args_list[0] + anima = load_dit_model(first_prompt_args, device, dit_weight_dtype) # Load directly to target device if possible + + shared_models_for_generate = {"model": anima} # Pass DiT via shared_models + + # 3. Precompute Text Data (Text Encoder) + logger.info("Loading Text Encoder for batch text preprocessing...") + + # Text Encoder loaded to CPU by load_text_encoder + text_encoder_dtype = torch.bfloat16 # Default dtype for Text Encoder + text_encoder_batch = load_text_encoder(args, dtype=text_encoder_dtype, device=torch.device("cpu")) + + # Text Encoder to device for this phase + text_encoder_device = torch.device("cpu") if args.text_encoder_cpu else device + text_encoder_batch.to(text_encoder_device) # Moved into prepare_text_inputs logic + + all_precomputed_text_data = [] + conds_cache_batch = {} + + logger.info("Preprocessing text and LLM/TextEncoder encoding for all prompts...") + temp_shared_models_txt = { + "text_encoder": text_encoder_batch, # on GPU if not text_encoder_cpu + "conds_cache": conds_cache_batch, + } + + for i, prompt_args_item in enumerate(all_prompt_args_list): + logger.info(f"Text preprocessing for prompt {i+1}/{len(all_prompt_args_list)}: {prompt_args_item.prompt}") + + # prepare_text_inputs will move text_encoders to device temporarily + context, context_null = prepare_text_inputs(prompt_args_item, device, anima, temp_shared_models_txt) + text_data = {"context": context, "context_null": context_null} + all_precomputed_text_data.append(text_data) + + # Models should be removed from device after prepare_text_inputs + del text_encoder_batch, temp_shared_models_txt, conds_cache_batch + gc.collect() # Force cleanup of Text Encoder from GPU memory + clean_memory_on_device(device) + + all_latents = [] + + logger.info("Generating latents for all prompts...") + with torch.no_grad(): + for i, prompt_args_item in enumerate(all_prompt_args_list): + current_text_data = all_precomputed_text_data[i] + height, width = check_inputs(prompt_args_item) # Get height/width for each prompt + + logger.info(f"Generating latent for prompt {i+1}/{len(all_prompt_args_list)}: {prompt_args_item.prompt}") + try: + # generate is called with precomputed data, so it won't load Text Encoders. + # It will use the DiT model from shared_models_for_generate. + latent = generate(prompt_args_item, gen_settings, shared_models_for_generate, current_text_data) + + if latent is None: # and prompt_args_item.save_merged_model: # Should be caught earlier + continue + + # Save latent if needed (using data from precomputed_image_data for H/W) + if prompt_args_item.output_type in ["latent", "latent_images"]: + save_latent(latent, prompt_args_item, height, width) + + all_latents.append(latent) + except Exception as e: + logger.error(f"Error generating latent for prompt: {prompt_args_item.prompt}. Error: {e}", exc_info=True) + all_latents.append(None) # Add placeholder for failed generations + continue + + # Free DiT model + logger.info("Releasing DiT model from memory...") + + del shared_models_for_generate["model"] + del anima + clean_memory_on_device(device) + synchronize_device(device) # Ensure memory is freed before loading VAE for decoding + + # 4. Decode latents and save outputs (using vae_for_batch) + if args.output_type != "latent": + logger.info("Decoding latents to videos/images using batched VAE...") + vae_for_batch.to(device) # Move VAE to device for decoding + + for i, latent in enumerate(all_latents): + if latent is None: # Skip failed generations + logger.warning(f"Skipping decoding for prompt {i+1} due to previous error.") + continue + + current_args = all_prompt_args_list[i] + logger.info(f"Decoding output {i+1}/{len(all_latents)} for prompt: {current_args.prompt}") + + # if args.output_type is "latent_images", we already saved latent above. + # so we skip saving latent here. + if current_args.output_type == "latent_images": + current_args.output_type = "images" + + # save_output expects latent to be [BCTHW] or [CTHW]. generate returns [BCTHW] (batch size 1). + save_output(current_args, vae_for_batch, latent, device) # Pass vae_for_batch + + vae_for_batch.to("cpu") # Move VAE back to CPU + + del vae_for_batch + clean_memory_on_device(device) + + +def process_interactive(args: argparse.Namespace) -> None: + """Process prompts in interactive mode + + Args: + args: Base command line arguments + """ + gen_settings = get_generation_settings(args) + device = gen_settings.device + shared_models = load_shared_models(args) + shared_models["conds_cache"] = {} # Initialize empty cache for interactive mode + + vae = qwen_image_autoencoder_kl.load_vae( + args.vae, device="cpu", disable_mmap=True, spatial_chunk_size=args.vae_chunk_size, disable_cache=args.vae_disable_cache + ) + vae.to(torch.bfloat16) + vae.eval() + + print("Interactive mode. Enter prompts (Ctrl+D or Ctrl+Z (Windows) to exit):") + + try: + import prompt_toolkit + except ImportError: + logger.warning("prompt_toolkit not found. Using basic input instead.") + prompt_toolkit = None + + if prompt_toolkit: + session = prompt_toolkit.PromptSession() + + def input_line(prompt: str) -> str: + return session.prompt(prompt) + + else: + + def input_line(prompt: str) -> str: + return input(prompt) + + try: + while True: + try: + line = input_line("> ") + if not line.strip(): + continue + if len(line.strip()) == 1 and line.strip() in ["\x04", "\x1a"]: # Ctrl+D or Ctrl+Z with prompt_toolkit + raise EOFError # Exit on Ctrl+D or Ctrl+Z + + # Parse prompt + prompt_data = parse_prompt_line(line) + prompt_args = apply_overrides(args, prompt_data) + + # Generate latent + # For interactive, precomputed data is None. shared_models contains text encoders. + latent = generate(prompt_args, gen_settings, shared_models) + + # # If not one_frame_inference, move DiT model to CPU after generation + # model = shared_models.get("model") + # model.to("cpu") # Move DiT model to CPU after generation + + # Save latent and video + # returned_vae from generate will be used for decoding here. + save_output(prompt_args, vae, latent, device) + + except KeyboardInterrupt: + print("\nInterrupted. Continue (Ctrl+D or Ctrl+Z (Windows) to exit)") + continue + + except EOFError: + print("\nExiting interactive mode") + + +def get_generation_settings(args: argparse.Namespace) -> GenerationSettings: + device = torch.device(args.device) + + dit_weight_dtype = torch.bfloat16 # default + if args.fp8_scaled: + dit_weight_dtype = None # various precision weights, so don't cast to specific dtype + elif args.fp8: + dit_weight_dtype = torch.float8_e4m3fn + + logger.info(f"Using device: {device}, DiT weight weight precision: {dit_weight_dtype}") + + gen_settings = GenerationSettings(device=device, dit_weight_dtype=dit_weight_dtype) + return gen_settings + + +def main(): + # Parse arguments + args = parse_args() + + # Check if latents are provided + latents_mode = args.latent_path is not None and len(args.latent_path) > 0 + + # Set device + device = args.device if args.device is not None else "cuda" if torch.cuda.is_available() else "cpu" + device = torch.device(device) + logger.info(f"Using device: {device}") + args.device = device + + if latents_mode: + # Original latent decode mode + original_base_names = [] + latents_list = [] + seeds = [] + + # assert len(args.latent_path) == 1, "Only one latent path is supported for now" + + for latent_path in args.latent_path: + original_base_names.append(os.path.splitext(os.path.basename(latent_path))[0]) + seed = 0 + + if os.path.splitext(latent_path)[1] != ".safetensors": + latents = torch.load(latent_path, map_location="cpu") + else: + latents = load_file(latent_path)["latent"] + with safe_open(latent_path, framework="pt") as f: + metadata = f.metadata() + if metadata is None: + metadata = {} + logger.info(f"Loaded metadata: {metadata}") + + if "seeds" in metadata: + seed = int(metadata["seeds"]) + if "height" in metadata and "width" in metadata: + height = int(metadata["height"]) + width = int(metadata["width"]) + args.image_size = [height, width] + + seeds.append(seed) + logger.info(f"Loaded latent from {latent_path}. Shape: {latents.shape}") + + if latents.ndim == 5: # [BCTHW] + latents = latents.squeeze(0) # [CTHW] + + latents_list.append(latents) + + vae = qwen_image_autoencoder_kl.load_vae( + args.vae, + device=device, + disable_mmap=True, + spatial_chunk_size=args.vae_chunk_size, + disable_cache=args.vae_disable_cache, + ) + vae.to(torch.bfloat16) + vae.eval() + + for i, latent in enumerate(latents_list): + args.seed = seeds[i] + save_output(args, vae, latent, device, original_base_names[i]) + + else: + tokenize_strategy = strategy_anima.AnimaTokenizeStrategy( + qwen3_path=args.text_encoder, t5_tokenizer_path=None, qwen3_max_length=512, t5_max_length=512 + ) + strategy_base.TokenizeStrategy.set_strategy(tokenize_strategy) + + encoding_strategy = strategy_anima.AnimaTextEncodingStrategy() + strategy_base.TextEncodingStrategy.set_strategy(encoding_strategy) + + if args.from_file: + # Batch mode from file + + # Read prompts from file + with open(args.from_file, "r", encoding="utf-8") as f: + prompt_lines = f.readlines() + + # Process prompts + prompts_data = preprocess_prompts_for_batch(prompt_lines, args) + process_batch_prompts(prompts_data, args) + + elif args.interactive: + # Interactive mode + process_interactive(args) + + else: + # Single prompt mode (original behavior) + + # Generate latent + gen_settings = get_generation_settings(args) + + # For single mode, precomputed data is None, shared_models is None. + # generate will load all necessary models (Text Encoders, DiT). + latent = generate(args, gen_settings) + + clean_memory_on_device(device) + + # Save latent and video + vae = qwen_image_autoencoder_kl.load_vae( + args.vae, + device="cpu", + disable_mmap=True, + spatial_chunk_size=args.vae_chunk_size, + disable_cache=args.vae_disable_cache, + ) + vae.to(torch.bfloat16) + vae.eval() + save_output(args, vae, latent, device) + + logger.info("Done!") + + +if __name__ == "__main__": + main() diff --git a/anima_train.py b/anima_train.py index a86c30c35..4d1eb10f9 100644 --- a/anima_train.py +++ b/anima_train.py @@ -3,6 +3,7 @@ import argparse from concurrent.futures import ThreadPoolExecutor import copy +import gc import math import os from multiprocessing import Value @@ -12,8 +13,9 @@ from tqdm import tqdm import torch -from library import utils +from library import flux_train_utils, qwen_image_autoencoder_kl from library.device_utils import init_ipex, clean_memory_on_device +from library.sd3_train_utils import FlowMatchEulerDiscreteScheduler init_ipex() @@ -49,21 +51,18 @@ def train(args): args.skip_cache_check = args.skip_latents_validity_check if args.cache_text_encoder_outputs_to_disk and not args.cache_text_encoder_outputs: - logger.warning( - "cache_text_encoder_outputs_to_disk is enabled, so cache_text_encoder_outputs is also enabled" - ) + logger.warning("cache_text_encoder_outputs_to_disk is enabled, so cache_text_encoder_outputs is also enabled") args.cache_text_encoder_outputs = True if args.cpu_offload_checkpointing and not args.gradient_checkpointing: logger.warning("cpu_offload_checkpointing is enabled, so gradient_checkpointing is also enabled") args.gradient_checkpointing = True - if getattr(args, 'unsloth_offload_checkpointing', False): + if args.unsloth_offload_checkpointing: if not args.gradient_checkpointing: logger.warning("unsloth_offload_checkpointing is enabled, so gradient_checkpointing is also enabled") args.gradient_checkpointing = True - assert not args.cpu_offload_checkpointing, \ - "Cannot use both --unsloth_offload_checkpointing and --cpu_offload_checkpointing" + assert not args.cpu_offload_checkpointing, "Cannot use both --unsloth_offload_checkpointing and --cpu_offload_checkpointing" assert ( args.blocks_to_swap is None or args.blocks_to_swap == 0 @@ -71,17 +70,7 @@ def train(args): assert ( args.blocks_to_swap is None or args.blocks_to_swap == 0 - ) or not getattr(args, 'unsloth_offload_checkpointing', False), \ - "blocks_to_swap is not supported with unsloth_offload_checkpointing" - - # Flash attention: validate availability - if getattr(args, 'flash_attn', False): - try: - import flash_attn # noqa: F401 - logger.info("Flash Attention enabled for DiT blocks") - except ImportError: - logger.warning("flash_attn package not installed, falling back to PyTorch SDPA") - args.flash_attn = False + ) or not args.unsloth_offload_checkpointing, "blocks_to_swap is not supported with unsloth_offload_checkpointing" cache_latents = args.cache_latents use_dreambooth_method = args.in_json is None @@ -104,9 +93,7 @@ def train(args): user_config = config_util.load_user_config(args.dataset_config) ignored = ["train_data_dir", "in_json"] if any(getattr(args, attr) is not None for attr in ignored): - logger.warning( - "ignore following options because config file is found: {0}".format(", ".join(ignored)) - ) + logger.warning("ignore following options because config file is found: {0}".format(", ".join(ignored))) else: if use_dreambooth_method: logger.info("Using DreamBooth method.") @@ -145,26 +132,13 @@ def train(args): ds_for_collator = train_dataset_group if args.max_data_loader_n_workers == 0 else None collator = train_util.collator_class(current_epoch, current_step, ds_for_collator) - train_dataset_group.verify_bucket_reso_steps(8) # WanVAE spatial downscale = 8 - - # Anima uses embedding-level dropout (in AnimaTextEncodingStrategy) instead of - # dataset-level caption dropout, so we save the rate and zero out subset-level - # caption_dropout_rate to allow text encoder output caching. - caption_dropout_rate = getattr(args, 'caption_dropout_rate', 0.0) - if caption_dropout_rate > 0: - logger.info(f"Using embedding-level caption dropout rate: {caption_dropout_rate}") - for dataset in train_dataset_group.datasets: - for subset in dataset.subsets: - subset.caption_dropout_rate = 0.0 + train_dataset_group.verify_bucket_reso_steps(16) # Qwen-Image VAE spatial downscale = 8 * patch size = 2 if args.debug_dataset: if args.cache_text_encoder_outputs: strategy_base.TextEncoderOutputsCachingStrategy.set_strategy( strategy_anima.AnimaTextEncoderOutputsCachingStrategy( - args.cache_text_encoder_outputs_to_disk, - args.text_encoder_batch_size, - False, - False, + args.cache_text_encoder_outputs_to_disk, args.text_encoder_batch_size, False, False ) ) train_dataset_group.set_current_strategies() @@ -175,13 +149,11 @@ def train(args): return if cache_latents: - assert ( - train_dataset_group.is_latent_cacheable() - ), "when caching latents, either color_aug or random_crop cannot be used" + assert train_dataset_group.is_latent_cacheable(), "when caching latents, either color_aug or random_crop cannot be used" if args.cache_text_encoder_outputs: - assert ( - train_dataset_group.is_text_encoder_output_cacheable() + assert train_dataset_group.is_text_encoder_output_cacheable( + cache_supports_dropout=True ), "when caching text encoder output, shuffle_caption, token_warmup_step or caption_tag_dropout_rate cannot be used" # prepare accelerator @@ -191,24 +163,10 @@ def train(args): # mixed precision dtype weight_dtype, save_dtype = train_util.prepare_dtype(args) - # parse transformer_dtype - transformer_dtype = None - if hasattr(args, 'transformer_dtype') and args.transformer_dtype is not None: - transformer_dtype_map = { - "float16": torch.float16, - "bfloat16": torch.bfloat16, - "float32": torch.float32, - } - transformer_dtype = transformer_dtype_map.get(args.transformer_dtype, None) - # Load tokenizers and set strategies logger.info("Loading tokenizers...") - qwen3_text_encoder, qwen3_tokenizer = anima_utils.load_qwen3_text_encoder( - args.qwen3_path, dtype=weight_dtype, device="cpu" - ) - t5_tokenizer = anima_utils.load_t5_tokenizer( - getattr(args, 't5_tokenizer_path', None) - ) + qwen3_text_encoder, qwen3_tokenizer = anima_utils.load_qwen3_text_encoder(args.qwen3, dtype=weight_dtype, device="cpu") + t5_tokenizer = anima_utils.load_t5_tokenizer(args.t5_tokenizer_path) # Set tokenize strategy tokenize_strategy = strategy_anima.AnimaTokenizeStrategy( @@ -219,11 +177,7 @@ def train(args): ) strategy_base.TokenizeStrategy.set_strategy(tokenize_strategy) - # Set text encoding strategy - caption_dropout_rate = getattr(args, 'caption_dropout_rate', 0.0) - text_encoding_strategy = strategy_anima.AnimaTextEncodingStrategy( - dropout_rate=caption_dropout_rate, - ) + text_encoding_strategy = strategy_anima.AnimaTextEncodingStrategy() strategy_base.TextEncodingStrategy.set_strategy(text_encoding_strategy) # Prepare text encoder (always frozen for Anima) @@ -237,10 +191,7 @@ def train(args): qwen3_text_encoder.eval() text_encoder_caching_strategy = strategy_anima.AnimaTextEncoderOutputsCachingStrategy( - args.cache_text_encoder_outputs_to_disk, - args.text_encoder_batch_size, - args.skip_cache_check, - is_partial=False, + args.cache_text_encoder_outputs_to_disk, args.text_encoder_batch_size, args.skip_cache_check, is_partial=False ) strategy_base.TextEncoderOutputsCachingStrategy.set_strategy(text_encoder_caching_strategy) @@ -259,27 +210,21 @@ def train(args): logger.info(f" cache TE outputs for: {p}") tokens_and_masks = tokenize_strategy.tokenize(p) sample_prompts_te_outputs[p] = text_encoding_strategy.encode_tokens( - tokenize_strategy, - [qwen3_text_encoder], - tokens_and_masks, - enable_dropout=False, + tokenize_strategy, [qwen3_text_encoder], tokens_and_masks ) - # Pre-cache unconditional embeddings for caption dropout before text encoder is deleted - caption_dropout_rate = getattr(args, 'caption_dropout_rate', 0.0) - if caption_dropout_rate > 0.0: - with accelerator.autocast(): - text_encoding_strategy.cache_uncond_embeddings(tokenize_strategy, [qwen3_text_encoder]) - accelerator.wait_for_everyone() # free text encoder memory qwen3_text_encoder = None + gc.collect() # Force garbage collection to free memory clean_memory_on_device(accelerator.device) # Load VAE and cache latents logger.info("Loading Anima VAE...") - vae, vae_mean, vae_std, vae_scale = anima_utils.load_anima_vae(args.vae_path, dtype=weight_dtype, device="cpu") + vae = qwen_image_autoencoder_kl.load_vae( + args.vae, device="cpu", disable_mmap=True, spatial_chunk_size=args.vae_chunk_size, disable_cache=args.vae_disable_cache + ) if cache_latents: vae.to(accelerator.device, dtype=weight_dtype) @@ -294,24 +239,16 @@ def train(args): # Load DiT (MiniTrainDIT + optional LLM Adapter) logger.info("Loading Anima DiT...") - dit = anima_utils.load_anima_dit( - args.dit_path, - dtype=weight_dtype, - device="cpu", - transformer_dtype=transformer_dtype, - llm_adapter_path=getattr(args, 'llm_adapter_path', None), - disable_mmap=getattr(args, 'disable_mmap_load_safetensors', False), + dit = anima_utils.load_anima_model( + "cpu", args.pretrained_model_name_or_path, args.attn_mode, args.split_attn, "cpu", dit_weight_dtype=None ) if args.gradient_checkpointing: dit.enable_gradient_checkpointing( cpu_offload=args.cpu_offload_checkpointing, - unsloth_offload=getattr(args, 'unsloth_offload_checkpointing', False), + unsloth_offload=args.unsloth_offload_checkpointing, ) - if getattr(args, 'flash_attn', False): - dit.set_flash_attn(True) - train_dit = args.learning_rate != 0 dit.requires_grad_(train_dit) if not train_dit: @@ -327,19 +264,17 @@ def train(args): vae.requires_grad_(False) vae.eval() vae.to(accelerator.device, dtype=weight_dtype) - # Move scale tensors to same device as VAE for on-the-fly encoding - vae_scale = [s.to(accelerator.device) if isinstance(s, torch.Tensor) else s for s in vae_scale] # Setup optimizer with parameter groups if train_dit: param_groups = anima_train_utils.get_anima_param_groups( dit, base_lr=args.learning_rate, - self_attn_lr=getattr(args, 'self_attn_lr', None), - cross_attn_lr=getattr(args, 'cross_attn_lr', None), - mlp_lr=getattr(args, 'mlp_lr', None), - mod_lr=getattr(args, 'mod_lr', None), - llm_adapter_lr=getattr(args, 'llm_adapter_lr', None), + self_attn_lr=args.self_attn_lr, + cross_attn_lr=args.cross_attn_lr, + mlp_lr=args.mlp_lr, + mod_lr=args.mod_lr, + llm_adapter_lr=args.llm_adapter_lr, ) else: param_groups = [] @@ -361,57 +296,7 @@ def train(args): # prepare optimizer accelerator.print("prepare optimizer, data loader etc.") - if args.blockwise_fused_optimizers: - # Split params into per-block groups for blockwise fused optimizer - # Build param_id → lr mapping from param_groups to propagate per-component LRs - param_lr_map = {} - for group in param_groups: - for p in group['params']: - param_lr_map[id(p)] = group['lr'] - - grouped_params = [] - param_group = {} - named_parameters = list(dit.named_parameters()) - for name, p in named_parameters: - if not p.requires_grad: - continue - # Determine block type and index - if name.startswith("blocks."): - block_index = int(name.split(".")[1]) - block_type = "blocks" - elif name.startswith("llm_adapter.blocks."): - block_index = int(name.split(".")[2]) - block_type = "llm_adapter" - else: - block_index = -1 - block_type = "other" - - param_group_key = (block_type, block_index) - if param_group_key not in param_group: - param_group[param_group_key] = [] - param_group[param_group_key].append(p) - - for param_group_key, params in param_group.items(): - # Use per-component LR from param_groups if available - lr = param_lr_map.get(id(params[0]), args.learning_rate) - grouped_params.append({"params": params, "lr": lr}) - num_params = sum(p.numel() for p in params) - accelerator.print(f"block {param_group_key}: {num_params} parameters, lr={lr}") - - # Create per-group optimizers - optimizers = [] - for group in grouped_params: - _, _, opt = train_util.get_optimizer(args, trainable_params=[group]) - optimizers.append(opt) - optimizer = optimizers[0] # avoid error in following code - - logger.info(f"using {len(optimizers)} optimizers for blockwise fused optimizers") - - if train_util.is_schedulefree_optimizer(optimizers[0], args): - raise ValueError("Schedule-free optimizer is not supported with blockwise fused optimizers") - optimizer_train_fn = lambda: None - optimizer_eval_fn = lambda: None - elif args.fused_backward_pass: + if args.fused_backward_pass: # Pass per-component param_groups directly to preserve per-component LRs _, _, optimizer = train_util.get_optimizer(args, trainable_params=param_groups) optimizer_train_fn, optimizer_eval_fn = train_util.get_optimizer_train_eval_fn(optimizer, args) @@ -442,21 +327,19 @@ def train(args): train_dataset_group.set_max_train_steps(args.max_train_steps) # lr scheduler - if args.blockwise_fused_optimizers: - lr_schedulers = [train_util.get_scheduler_fix(args, opt, accelerator.num_processes) for opt in optimizers] - lr_scheduler = lr_schedulers[0] # avoid error in following code - else: - lr_scheduler = train_util.get_scheduler_fix(args, optimizer, accelerator.num_processes) + lr_scheduler = train_util.get_scheduler_fix(args, optimizer, accelerator.num_processes) # full fp16/bf16 training + dit_weight_dtype = weight_dtype if args.full_fp16: assert args.mixed_precision == "fp16", "full_fp16 requires mixed_precision='fp16'" accelerator.print("enable full fp16 training.") - dit.to(weight_dtype) elif args.full_bf16: assert args.mixed_precision == "bf16", "full_bf16 requires mixed_precision='bf16'" accelerator.print("enable full bf16 training.") - dit.to(weight_dtype) + else: + dit_weight_dtype = torch.float32 # If neither full_fp16 nor full_bf16, the model weights should be in float32 + dit.to(dit_weight_dtype) # convert dit to target weight dtype # move text encoder to GPU if not cached if not args.cache_text_encoder_outputs and qwen3_text_encoder is not None: @@ -498,6 +381,7 @@ def train(args): train_util.resume_from_local_or_hf_if_specified(accelerator, args) if args.fused_backward_pass: + # use fused optimizer for backward pass: other optimizers will be supported in the future import library.adafactor_fused library.adafactor_fused.patch_adafactor_fused(optimizer) @@ -517,55 +401,29 @@ def grad_hook(tensor: torch.Tensor): parameter.register_post_accumulate_grad_hook(create_grad_hook(param_group)) - elif args.blockwise_fused_optimizers: - # Prepare additional optimizers and lr schedulers - for i in range(1, len(optimizers)): - optimizers[i] = accelerator.prepare(optimizers[i]) - lr_schedulers[i] = accelerator.prepare(lr_schedulers[i]) - - # Counters for blockwise gradient hook - optimizer_hooked_count = {} - num_parameters_per_group = [0] * len(optimizers) - parameter_optimizer_map = {} - - for opt_idx, opt in enumerate(optimizers): - for param_group in opt.param_groups: - for parameter in param_group["params"]: - if parameter.requires_grad: - - def grad_hook(parameter: torch.Tensor): - if accelerator.sync_gradients and args.max_grad_norm != 0.0: - accelerator.clip_grad_norm_(parameter, args.max_grad_norm) - - i = parameter_optimizer_map[parameter] - optimizer_hooked_count[i] += 1 - if optimizer_hooked_count[i] == num_parameters_per_group[i]: - optimizers[i].step() - optimizers[i].zero_grad(set_to_none=True) - - parameter.register_post_accumulate_grad_hook(grad_hook) - parameter_optimizer_map[parameter] = opt_idx - num_parameters_per_group[opt_idx] += 1 - # Training loop num_update_steps_per_epoch = math.ceil(len(train_dataloader) / args.gradient_accumulation_steps) num_train_epochs = math.ceil(args.max_train_steps / num_update_steps_per_epoch) if (args.save_n_epoch_ratio is not None) and (args.save_n_epoch_ratio > 0): args.save_every_n_epochs = math.floor(num_train_epochs / args.save_n_epoch_ratio) or 1 - accelerator.print("running training") - accelerator.print(f" num examples: {train_dataset_group.num_train_images}") - accelerator.print(f" num batches per epoch: {len(train_dataloader)}") - accelerator.print(f" num epochs: {num_train_epochs}") + accelerator.print("running training / 学習開始") + accelerator.print(f" num examples / サンプル数: {train_dataset_group.num_train_images}") + accelerator.print(f" num batches per epoch / 1epochのバッチ数: {len(train_dataloader)}") + accelerator.print(f" num epochs / epoch数: {num_train_epochs}") accelerator.print( - f" batch size per device: {', '.join([str(d.batch_size) for d in train_dataset_group.datasets])}" + f" batch size per device / バッチサイズ: {', '.join([str(d.batch_size) for d in train_dataset_group.datasets])}" ) - accelerator.print(f" gradient accumulation steps = {args.gradient_accumulation_steps}") - accelerator.print(f" total optimization steps: {args.max_train_steps}") + accelerator.print(f" gradient accumulation steps / 勾配を合計するステップ数 = {args.gradient_accumulation_steps}") + accelerator.print(f" total optimization steps / 学習ステップ数: {args.max_train_steps}") progress_bar = tqdm(range(args.max_train_steps), smoothing=0, disable=not accelerator.is_local_main_process, desc="steps") global_step = 0 + noise_scheduler = FlowMatchEulerDiscreteScheduler(num_train_timesteps=1000, shift=args.discrete_flow_shift) + # Copy for noise and timestep generation, because noise_scheduler may be changed during training in future + noise_scheduler_copy = copy.deepcopy(noise_scheduler) + if accelerator.is_main_process: init_kwargs = {} if args.wandb_run_name: @@ -580,6 +438,7 @@ def grad_hook(parameter: torch.Tensor): if "wandb" in [tracker.name for tracker in accelerator.trackers]: import wandb + wandb.define_metric("epoch") wandb.define_metric("loss/epoch", step_metric="epoch") @@ -589,8 +448,15 @@ def grad_hook(parameter: torch.Tensor): # For --sample_at_first optimizer_eval_fn() anima_train_utils.sample_images( - accelerator, args, 0, global_step, dit, vae, vae_scale, - qwen3_text_encoder, tokenize_strategy, text_encoding_strategy, + accelerator, + args, + 0, + global_step, + dit, + vae, + qwen3_text_encoder, + tokenize_strategy, + text_encoding_strategy, sample_prompts_te_outputs, ) optimizer_train_fn() @@ -600,11 +466,11 @@ def grad_hook(parameter: torch.Tensor): # Show model info unwrapped_dit = accelerator.unwrap_model(dit) if dit is not None else None if unwrapped_dit is not None: - logger.info(f"dit device: {unwrapped_dit.t_embedding_norm.weight.device}, dtype: {unwrapped_dit.t_embedding_norm.weight.dtype}") + logger.info(f"dit device: {unwrapped_dit.device}, dtype: {unwrapped_dit.dtype}") if qwen3_text_encoder is not None: - logger.info(f"qwen3 device: {next(qwen3_text_encoder.parameters()).device}") + logger.info(f"qwen3 device: {qwen3_text_encoder.device}") if vae is not None: - logger.info(f"vae device: {next(vae.parameters()).device}") + logger.info(f"vae device: {vae.device}") loss_recorder = train_util.LossRecorder() epoch = 0 @@ -618,19 +484,17 @@ def grad_hook(parameter: torch.Tensor): for step, batch in enumerate(train_dataloader): current_step.value = global_step - if args.blockwise_fused_optimizers: - optimizer_hooked_count = {i: 0 for i in range(len(optimizers))} # reset counter for each step - with accelerator.accumulate(*training_models): # Get latents if "latents" in batch and batch["latents"] is not None: - latents = batch["latents"].to(accelerator.device, dtype=weight_dtype) + latents = batch["latents"].to(accelerator.device, dtype=dit_weight_dtype) + if latents.ndim == 5: # Fallback for 5D latents (old cache) + latents = latents.squeeze(2) # (B, C, 1, H, W) -> (B, C, H, W) else: with torch.no_grad(): # images are already [-1, 1] from IMAGE_TRANSFORMS, add temporal dim images = batch["images"].to(accelerator.device, dtype=weight_dtype) - images = images.unsqueeze(2) # (B, C, 1, H, W) - latents = vae.encode(images, vae_scale).to(accelerator.device, dtype=weight_dtype) + latents = vae.encode_pixels_to_latents(images).to(accelerator.device, dtype=dit_weight_dtype) if torch.any(torch.isnan(latents)): accelerator.print("NaN found in latents, replacing with zeros") @@ -640,23 +504,24 @@ def grad_hook(parameter: torch.Tensor): text_encoder_outputs_list = batch.get("text_encoder_outputs_list", None) if text_encoder_outputs_list is not None: # Cached outputs + caption_dropout_rates = text_encoder_outputs_list[-1] + text_encoder_outputs_list = text_encoder_outputs_list[:-1] + + # Apply caption dropout to cached outputs text_encoder_outputs_list = text_encoding_strategy.drop_cached_text_encoder_outputs( - *text_encoder_outputs_list + *text_encoder_outputs_list, caption_dropout_rates=caption_dropout_rates ) prompt_embeds, attn_mask, t5_input_ids, t5_attn_mask = text_encoder_outputs_list else: # Encode on-the-fly input_ids_list = batch["input_ids_list"] - qwen3_input_ids, qwen3_attn_mask, t5_input_ids, t5_attn_mask = input_ids_list with torch.no_grad(): prompt_embeds, attn_mask, t5_input_ids, t5_attn_mask = text_encoding_strategy.encode_tokens( - tokenize_strategy, - [qwen3_text_encoder], - [qwen3_input_ids, qwen3_attn_mask, t5_input_ids, t5_attn_mask], + tokenize_strategy, [qwen3_text_encoder], input_ids_list ) # Move to device - prompt_embeds = prompt_embeds.to(accelerator.device, dtype=weight_dtype) + prompt_embeds = prompt_embeds.to(accelerator.device, dtype=dit_weight_dtype) attn_mask = attn_mask.to(accelerator.device) t5_input_ids = t5_input_ids.to(accelerator.device, dtype=torch.long) t5_attn_mask = t5_attn_mask.to(accelerator.device) @@ -664,9 +529,11 @@ def grad_hook(parameter: torch.Tensor): # Noise and timesteps noise = torch.randn_like(latents) - noisy_model_input, timesteps, sigmas = anima_train_utils.get_noisy_model_input_and_timesteps( - args, latents, noise, accelerator.device, weight_dtype + # Get noisy model input and timesteps + noisy_model_input, timesteps, sigmas = flux_train_utils.get_noisy_model_input_and_timesteps( + args, noise_scheduler_copy, latents, noise, accelerator.device, dit_weight_dtype ) + timesteps = timesteps / 1000.0 # scale to [0, 1] range. timesteps is float32 # NaN checks if torch.any(torch.isnan(noisy_model_input)): @@ -678,15 +545,10 @@ def grad_hook(parameter: torch.Tensor): bs = latents.shape[0] h_latent = latents.shape[-2] w_latent = latents.shape[-1] - padding_mask = torch.zeros( - bs, 1, h_latent, w_latent, - dtype=weight_dtype, device=accelerator.device - ) + padding_mask = torch.zeros(bs, 1, h_latent, w_latent, dtype=dit_weight_dtype, device=accelerator.device) # DiT forward (LLM adapter runs inside forward for DDP gradient sync) - if is_swapping_blocks: - accelerator.unwrap_model(dit).prepare_block_swap_before_forward() - + noisy_model_input = noisy_model_input.unsqueeze(2) # 4D to 5D, (B, C, 1, H, W) with accelerator.autocast(): model_pred = dit( noisy_model_input, @@ -697,6 +559,7 @@ def grad_hook(parameter: torch.Tensor): t5_input_ids=t5_input_ids, t5_attn_mask=t5_attn_mask, ) + model_pred = model_pred.squeeze(2) # 5D to 4D, (B, C, H, W) # Compute loss (rectified flow: target = noise - latents) target = noise - latents @@ -708,12 +571,10 @@ def grad_hook(parameter: torch.Tensor): # Loss huber_c = train_util.get_huber_threshold_if_needed(args, timesteps, None) - loss = train_util.conditional_loss( - model_pred.float(), target.float(), args.loss_type, "none", huber_c - ) + loss = train_util.conditional_loss(model_pred.float(), target.float(), args.loss_type, "none", huber_c) if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): loss = apply_masked_loss(loss, batch) - loss = loss.mean([1, 2, 3, 4]) # (B, C, T, H, W) -> (B,) + loss = loss.mean([1, 2, 3]) # (B, C, H, W) -> (B,) if weighting is not None: loss = loss * weighting @@ -724,7 +585,7 @@ def grad_hook(parameter: torch.Tensor): accelerator.backward(loss) - if not (args.fused_backward_pass or args.blockwise_fused_optimizers): + if not args.fused_backward_pass: if accelerator.sync_gradients and args.max_grad_norm != 0.0: params_to_clip = [] for m in training_models: @@ -737,9 +598,6 @@ def grad_hook(parameter: torch.Tensor): else: # optimizer.step() and optimizer.zero_grad() are called in the optimizer hook lr_scheduler.step() - if args.blockwise_fused_optimizers: - for i in range(1, len(optimizers)): - lr_schedulers[i].step() # Checks if the accelerator has performed an optimization step if accelerator.sync_gradients: @@ -748,8 +606,15 @@ def grad_hook(parameter: torch.Tensor): optimizer_eval_fn() anima_train_utils.sample_images( - accelerator, args, None, global_step, dit, vae, vae_scale, - qwen3_text_encoder, tokenize_strategy, text_encoding_strategy, + accelerator, + args, + None, + global_step, + dit, + vae, + qwen3_text_encoder, + tokenize_strategy, + text_encoding_strategy, sample_prompts_te_outputs, ) @@ -773,8 +638,10 @@ def grad_hook(parameter: torch.Tensor): if len(accelerator.trackers) > 0: logs = {"loss": current_loss} train_util.append_lr_to_logs_with_names( - logs, lr_scheduler, args.optimizer_type, - ["base", "self_attn", "cross_attn", "mlp", "mod", "llm_adapter"] if train_dit else [] + logs, + lr_scheduler, + args.optimizer_type, + ["base", "self_attn", "cross_attn", "mlp", "mod", "llm_adapter"] if train_dit else [], ) accelerator.log(logs, step=global_step) @@ -807,8 +674,15 @@ def grad_hook(parameter: torch.Tensor): ) anima_train_utils.sample_images( - accelerator, args, epoch + 1, global_step, dit, vae, vae_scale, - qwen3_text_encoder, tokenize_strategy, text_encoding_strategy, + accelerator, + args, + epoch + 1, + global_step, + dit, + vae, + qwen3_text_encoder, + tokenize_strategy, + text_encoding_strategy, sample_prompts_te_outputs, ) @@ -852,11 +726,6 @@ def setup_parser() -> argparse.ArgumentParser: anima_train_utils.add_anima_training_arguments(parser) sai_model_spec.add_model_spec_arguments(parser) - parser.add_argument( - "--blockwise_fused_optimizers", - action="store_true", - help="enable blockwise optimizers for fused backward pass and optimizer step", - ) parser.add_argument( "--cpu_offload_checkpointing", action="store_true", @@ -884,4 +753,7 @@ def setup_parser() -> argparse.ArgumentParser: train_util.verify_command_line_training_args(args) args = train_util.read_config_from_file(args, parser) + if args.attn_mode == "sdpa": + args.attn_mode = "torch" # backward compatibility + train(args) diff --git a/anima_train_network.py b/anima_train_network.py index 57ad16811..eaad7197c 100644 --- a/anima_train_network.py +++ b/anima_train_network.py @@ -1,16 +1,26 @@ # Anima LoRA training script import argparse -import math from typing import Any, Optional, Union import torch +import torch.nn as nn from accelerate import Accelerator from library.device_utils import init_ipex, clean_memory_on_device init_ipex() -from library import anima_models, anima_train_utils, anima_utils, strategy_anima, strategy_base, train_util +from library import ( + anima_models, + anima_train_utils, + anima_utils, + flux_train_utils, + qwen_image_autoencoder_kl, + sd3_train_utils, + strategy_anima, + strategy_base, + train_util, +) import train_network from library.utils import setup_logging @@ -24,13 +34,6 @@ class AnimaNetworkTrainer(train_network.NetworkTrainer): def __init__(self): super().__init__() self.sample_prompts_te_outputs = None - self.vae = None - self.vae_scale = None - self.qwen3_text_encoder = None - self.qwen3_tokenizer = None - self.t5_tokenizer = None - self.tokenize_strategy = None - self.text_encoding_strategy = None def assert_extra_args( self, @@ -38,140 +41,118 @@ def assert_extra_args( train_dataset_group: Union[train_util.DatasetGroup, train_util.MinimalDataset], val_dataset_group: Optional[train_util.DatasetGroup], ): + if args.fp8_base or args.fp8_base_unet: + logger.warning("fp8_base and fp8_base_unet are not supported. / fp8_baseとfp8_base_unetはサポートされていません。") + args.fp8_base = False + args.fp8_base_unet = False + args.fp8_scaled = False # Anima DiT does not support fp8_scaled + if args.cache_text_encoder_outputs_to_disk and not args.cache_text_encoder_outputs: - logger.warning( - "cache_text_encoder_outputs_to_disk is enabled, so cache_text_encoder_outputs is also enabled" - ) + logger.warning("cache_text_encoder_outputs_to_disk is enabled, so cache_text_encoder_outputs is also enabled") args.cache_text_encoder_outputs = True - # Anima uses embedding-level dropout (in AnimaTextEncodingStrategy) instead of - # dataset-level caption dropout, so zero out subset-level rates to allow caching. - caption_dropout_rate = getattr(args, 'caption_dropout_rate', 0.0) - if caption_dropout_rate > 0: - logger.info(f"Using embedding-level caption dropout rate: {caption_dropout_rate}") - if hasattr(train_dataset_group, 'datasets'): - for dataset in train_dataset_group.datasets: - for subset in dataset.subsets: - subset.caption_dropout_rate = 0.0 - if args.cache_text_encoder_outputs: - assert ( - train_dataset_group.is_text_encoder_output_cacheable() + assert train_dataset_group.is_text_encoder_output_cacheable( + cache_supports_dropout=True ), "when caching Text Encoder output, shuffle_caption, token_warmup_step or caption_tag_dropout_rate cannot be used" + assert ( + args.network_train_unet_only or not args.cache_text_encoder_outputs + ), "network for Text Encoder cannot be trained with caching Text Encoder outputs / Text Encoderの出力をキャッシュしながらText Encoderのネットワークを学習することはできません" + assert ( args.blocks_to_swap is None or args.blocks_to_swap == 0 ) or not args.cpu_offload_checkpointing, "blocks_to_swap is not supported with cpu_offload_checkpointing" - if getattr(args, 'unsloth_offload_checkpointing', False): + if args.unsloth_offload_checkpointing: if not args.gradient_checkpointing: logger.warning("unsloth_offload_checkpointing is enabled, so gradient_checkpointing is also enabled") args.gradient_checkpointing = True - assert not args.cpu_offload_checkpointing, \ - "Cannot use both --unsloth_offload_checkpointing and --cpu_offload_checkpointing" + assert ( + not args.cpu_offload_checkpointing + ), "Cannot use both --unsloth_offload_checkpointing and --cpu_offload_checkpointing" assert ( args.blocks_to_swap is None or args.blocks_to_swap == 0 ), "blocks_to_swap is not supported with unsloth_offload_checkpointing" - # Flash attention: validate availability - if getattr(args, 'flash_attn', False): - try: - import flash_attn # noqa: F401 - logger.info("Flash Attention enabled for DiT blocks") - except ImportError: - logger.warning("flash_attn package not installed, falling back to PyTorch SDPA") - args.flash_attn = False - - if getattr(args, 'blockwise_fused_optimizers', False): - raise ValueError("blockwise_fused_optimizers is not supported with LoRA/NetworkTrainer") - - train_dataset_group.verify_bucket_reso_steps(8) # WanVAE spatial downscale = 8 + train_dataset_group.verify_bucket_reso_steps(16) # WanVAE spatial downscale = 8 and patch size = 2 if val_dataset_group is not None: - val_dataset_group.verify_bucket_reso_steps(8) + val_dataset_group.verify_bucket_reso_steps(16) def load_target_model(self, args, weight_dtype, accelerator): + self.is_swapping_blocks = args.blocks_to_swap is not None and args.blocks_to_swap > 0 + # Load Qwen3 text encoder (tokenizers already loaded in get_tokenize_strategy) logger.info("Loading Qwen3 text encoder...") - self.qwen3_text_encoder, _ = anima_utils.load_qwen3_text_encoder( - args.qwen3_path, dtype=weight_dtype, device="cpu" + qwen3_text_encoder, _ = anima_utils.load_qwen3_text_encoder(args.qwen3, dtype=weight_dtype, device="cpu") + qwen3_text_encoder.eval() + + # Load VAE + logger.info("Loading Anima VAE...") + vae = qwen_image_autoencoder_kl.load_vae( + args.vae, device="cpu", disable_mmap=True, spatial_chunk_size=args.vae_chunk_size, disable_cache=args.vae_disable_cache ) - self.qwen3_text_encoder.eval() - - # Parse transformer_dtype - transformer_dtype = None - if hasattr(args, 'transformer_dtype') and args.transformer_dtype is not None: - transformer_dtype_map = { - "float16": torch.float16, - "bfloat16": torch.bfloat16, - "float32": torch.float32, - } - transformer_dtype = transformer_dtype_map.get(args.transformer_dtype, None) + vae.to(weight_dtype) + vae.eval() + + # Return format: (model_type, text_encoders, vae, unet) + return "anima", [qwen3_text_encoder], vae, None # unet loaded lazily + + def load_unet_lazily(self, args, weight_dtype, accelerator, text_encoders) -> tuple[nn.Module, list[nn.Module]]: + loading_dtype = None if args.fp8_scaled else weight_dtype + loading_device = "cpu" if self.is_swapping_blocks else accelerator.device + + attn_mode = "torch" + if args.xformers: + attn_mode = "xformers" + if args.attn_mode is not None: + attn_mode = args.attn_mode # Load DiT - logger.info("Loading Anima DiT...") - dit = anima_utils.load_anima_dit( - args.dit_path, - dtype=weight_dtype, - device="cpu", - transformer_dtype=transformer_dtype, - llm_adapter_path=getattr(args, 'llm_adapter_path', None), - disable_mmap=getattr(args, 'disable_mmap_load_safetensors', False), + logger.info(f"Loading Anima DiT model with attn_mode={attn_mode}, split_attn: {args.split_attn}...") + model = anima_utils.load_anima_model( + accelerator.device, + args.pretrained_model_name_or_path, + attn_mode, + args.split_attn, + loading_device, + loading_dtype, + args.fp8_scaled, ) - # Flash attention - if getattr(args, 'flash_attn', False): - dit.set_flash_attn(True) - # Store unsloth preference so that when the base NetworkTrainer calls # dit.enable_gradient_checkpointing(cpu_offload=...), we can override to use unsloth. # The base trainer only passes cpu_offload, so we store the flag on the model. - self._use_unsloth_offload_checkpointing = getattr(args, 'unsloth_offload_checkpointing', False) + self._use_unsloth_offload_checkpointing = args.unsloth_offload_checkpointing # Block swap self.is_swapping_blocks = args.blocks_to_swap is not None and args.blocks_to_swap > 0 if self.is_swapping_blocks: logger.info(f"enable block swap: blocks_to_swap={args.blocks_to_swap}") - dit.enable_block_swap(args.blocks_to_swap, accelerator.device) - - # Load VAE - logger.info("Loading Anima VAE...") - self.vae, vae_mean, vae_std, self.vae_scale = anima_utils.load_anima_vae( - args.vae_path, dtype=weight_dtype, device="cpu" - ) + model.enable_block_swap(args.blocks_to_swap, accelerator.device) - # Return format: (model_type, text_encoders, vae, unet) - return "anima", [self.qwen3_text_encoder], self.vae, dit + return model, text_encoders def get_tokenize_strategy(self, args): # Load tokenizers from paths (called before load_target_model, so self.qwen3_tokenizer isn't set yet) - self.tokenize_strategy = strategy_anima.AnimaTokenizeStrategy( - qwen3_path=args.qwen3_path, - t5_tokenizer_path=getattr(args, 't5_tokenizer_path', None), + tokenize_strategy = strategy_anima.AnimaTokenizeStrategy( + qwen3_path=args.qwen3, + t5_tokenizer_path=args.t5_tokenizer_path, qwen3_max_length=args.qwen3_max_token_length, t5_max_length=args.t5_max_token_length, ) - # Store references so load_target_model can reuse them - self.qwen3_tokenizer = self.tokenize_strategy.qwen3_tokenizer - self.t5_tokenizer = self.tokenize_strategy.t5_tokenizer - return self.tokenize_strategy + return tokenize_strategy def get_tokenizers(self, tokenize_strategy: strategy_anima.AnimaTokenizeStrategy): return [tokenize_strategy.qwen3_tokenizer] def get_latents_caching_strategy(self, args): - return strategy_anima.AnimaLatentsCachingStrategy( - args.cache_latents_to_disk, args.vae_batch_size, args.skip_cache_check - ) + return strategy_anima.AnimaLatentsCachingStrategy(args.cache_latents_to_disk, args.vae_batch_size, args.skip_cache_check) def get_text_encoding_strategy(self, args): - caption_dropout_rate = getattr(args, 'caption_dropout_rate', 0.0) - self.text_encoding_strategy = strategy_anima.AnimaTextEncodingStrategy( - dropout_rate=caption_dropout_rate, - ) - return self.text_encoding_strategy + return strategy_anima.AnimaTextEncodingStrategy() def post_process_network(self, args, accelerator, network, text_encoders, unet): - # Qwen3 text encoder is always frozen for Anima pass def get_models_for_text_encoding(self, args, accelerator, text_encoders): @@ -179,19 +160,10 @@ def get_models_for_text_encoding(self, args, accelerator, text_encoders): return None # no text encoders needed for encoding return text_encoders - def get_text_encoders_train_flags(self, args, text_encoders): - return [False] # Qwen3 always frozen - - def is_train_text_encoder(self, args): - return False # Qwen3 text encoder is always frozen for Anima - def get_text_encoder_outputs_caching_strategy(self, args): if args.cache_text_encoder_outputs: return strategy_anima.AnimaTextEncoderOutputsCachingStrategy( - args.cache_text_encoder_outputs_to_disk, - args.text_encoder_batch_size, - args.skip_cache_check, - is_partial=False, + args.cache_text_encoder_outputs_to_disk, args.text_encoder_batch_size, args.skip_cache_check, False ) return None @@ -200,15 +172,14 @@ def cache_text_encoder_outputs_if_needed( ): if args.cache_text_encoder_outputs: if not args.lowram: - logger.info("move vae and unet to cpu to save memory") - org_vae_device = next(vae.parameters()).device - org_unet_device = unet.device + # We cannot move DiT to CPU because of block swap, so only move VAE + logger.info("move vae to cpu to save memory") + org_vae_device = vae.device vae.to("cpu") - unet.to("cpu") clean_memory_on_device(accelerator.device) logger.info("move text encoder to gpu") - text_encoders[0].to(accelerator.device, dtype=weight_dtype) + text_encoders[0].to(accelerator.device) with accelerator.autocast(): dataset.new_cache_text_encoder_outputs(text_encoders, accelerator) @@ -229,59 +200,52 @@ def cache_text_encoder_outputs_if_needed( logger.info(f" cache TE outputs for: {p}") tokens_and_masks = tokenize_strategy.tokenize(p) sample_prompts_te_outputs[p] = text_encoding_strategy.encode_tokens( - tokenize_strategy, - text_encoders, - tokens_and_masks, - enable_dropout=False, + tokenize_strategy, text_encoders, tokens_and_masks ) self.sample_prompts_te_outputs = sample_prompts_te_outputs - # Pre-cache unconditional embeddings for caption dropout before text encoder is deleted - caption_dropout_rate = getattr(args, 'caption_dropout_rate', 0.0) - text_encoding_strategy_for_uncond = strategy_base.TextEncodingStrategy.get_strategy() - if caption_dropout_rate > 0.0: - tokenize_strategy_for_uncond = strategy_base.TokenizeStrategy.get_strategy() - with accelerator.autocast(): - text_encoding_strategy_for_uncond.cache_uncond_embeddings(tokenize_strategy_for_uncond, text_encoders) - accelerator.wait_for_everyone() # move text encoder back to cpu logger.info("move text encoder back to cpu") text_encoders[0].to("cpu") - clean_memory_on_device(accelerator.device) if not args.lowram: - logger.info("move vae and unet back to original device") + logger.info("move vae back to original device") vae.to(org_vae_device) - unet.to(org_unet_device) + + clean_memory_on_device(accelerator.device) else: - text_encoders[0].to(accelerator.device, dtype=weight_dtype) + # move text encoder to device for encoding during training/validation + text_encoders[0].to(accelerator.device) def sample_images(self, accelerator, args, epoch, global_step, device, vae, tokenizer, text_encoder, unet): text_encoders = text_encoder if isinstance(text_encoder, list) else [text_encoder] # compatibility te = self.get_models_for_text_encoding(args, accelerator, text_encoders) qwen3_te = te[0] if te is not None else None + text_encoding_strategy = strategy_base.TextEncodingStrategy.get_strategy() + tokenize_strategy = strategy_base.TokenizeStrategy.get_strategy() anima_train_utils.sample_images( - accelerator, args, epoch, global_step, unet, vae, self.vae_scale, - qwen3_te, self.tokenize_strategy, self.text_encoding_strategy, + accelerator, + args, + epoch, + global_step, + unet, + vae, + qwen3_te, + tokenize_strategy, + text_encoding_strategy, self.sample_prompts_te_outputs, ) def get_noise_scheduler(self, args: argparse.Namespace, device: torch.device) -> Any: - noise_scheduler = anima_train_utils.FlowMatchEulerDiscreteScheduler( - num_train_timesteps=1000, shift=args.discrete_flow_shift - ) + noise_scheduler = sd3_train_utils.FlowMatchEulerDiscreteScheduler(num_train_timesteps=1000, shift=args.discrete_flow_shift) return noise_scheduler def encode_images_to_latents(self, args, vae, images): - # images are already [-1,1] from IMAGE_TRANSFORMS, add temporal dim - images = images.unsqueeze(2) # (B, C, 1, H, W) - # Ensure scale tensors are on the same device as images - vae_device = images.device - scale = [s.to(vae_device) if isinstance(s, torch.Tensor) else s for s in self.vae_scale] - return vae.encode(images, scale) + vae: qwen_image_autoencoder_kl.AutoencoderKLQwenImage + return vae.encode_pixels_to_latents(images) # Keep 4D for input/output def shift_scale_latents(self, args, latents): # Latents already normalized by vae.encode with scale @@ -301,13 +265,18 @@ def get_noise_pred_and_target( train_unet, is_train=True, ): + anima: anima_models.Anima = unet + # Sample noise + if latents.ndim == 5: # Fallback for 5D latents (old cache) + latents = latents.squeeze(2) # [B, C, 1, H, W] -> [B, C, H, W] noise = torch.randn_like(latents) # Get noisy model input and timesteps - noisy_model_input, timesteps, sigmas = anima_train_utils.get_noisy_model_input_and_timesteps( - args, latents, noise, accelerator.device, weight_dtype + noisy_model_input, timesteps, sigmas = flux_train_utils.get_noisy_model_input_and_timesteps( + args, noise_scheduler, latents, noise, accelerator.device, weight_dtype ) + timesteps = timesteps / 1000.0 # scale to [0, 1] range. timesteps is float32 # Gradient checkpointing support if args.gradient_checkpointing: @@ -329,161 +298,103 @@ def get_noise_pred_and_target( bs = latents.shape[0] h_latent = latents.shape[-2] w_latent = latents.shape[-1] - padding_mask = torch.zeros( - bs, 1, h_latent, w_latent, - dtype=weight_dtype, device=accelerator.device - ) - - # Prepare block swap - if self.is_swapping_blocks: - accelerator.unwrap_model(unet).prepare_block_swap_before_forward() + padding_mask = torch.zeros(bs, 1, h_latent, w_latent, dtype=weight_dtype, device=accelerator.device) - # Call model (LLM adapter runs inside forward for DDP gradient sync) + # Call model + noisy_model_input = noisy_model_input.unsqueeze(2) # 4D to 5D, [B, C, H, W] -> [B, C, 1, H, W] with torch.set_grad_enabled(is_train), accelerator.autocast(): - model_pred = unet( + model_pred = anima( noisy_model_input, timesteps, prompt_embeds, padding_mask=padding_mask, + target_input_ids=t5_input_ids, + target_attention_mask=t5_attn_mask, source_attention_mask=attn_mask, - t5_input_ids=t5_input_ids, - t5_attn_mask=t5_attn_mask, ) + model_pred = model_pred.squeeze(2) # 5D to 4D, [B, C, 1, H, W] -> [B, C, H, W] # Rectified flow target: noise - latents target = noise - latents # Loss weighting - weighting = anima_train_utils.compute_loss_weighting_for_anima( - weighting_scheme=args.weighting_scheme, sigmas=sigmas - ) - - # Differential output preservation - if "custom_attributes" in batch: - diff_output_pr_indices = [] - for i, custom_attributes in enumerate(batch["custom_attributes"]): - if "diff_output_preservation" in custom_attributes and custom_attributes["diff_output_preservation"]: - diff_output_pr_indices.append(i) - - if len(diff_output_pr_indices) > 0: - network.set_multiplier(0.0) - with torch.no_grad(), accelerator.autocast(): - if self.is_swapping_blocks: - accelerator.unwrap_model(unet).prepare_block_swap_before_forward() - model_pred_prior = unet( - noisy_model_input[diff_output_pr_indices], - timesteps[diff_output_pr_indices], - prompt_embeds[diff_output_pr_indices], - padding_mask=padding_mask[diff_output_pr_indices], - source_attention_mask=attn_mask[diff_output_pr_indices], - t5_input_ids=t5_input_ids[diff_output_pr_indices], - t5_attn_mask=t5_attn_mask[diff_output_pr_indices], - ) - network.set_multiplier(1.0) - - target[diff_output_pr_indices] = model_pred_prior.to(target.dtype) + weighting = anima_train_utils.compute_loss_weighting_for_anima(weighting_scheme=args.weighting_scheme, sigmas=sigmas) return model_pred, target, timesteps, weighting def process_batch( - self, batch, text_encoders, unet, network, vae, noise_scheduler, - vae_dtype, weight_dtype, accelerator, args, - text_encoding_strategy, tokenize_strategy, - is_train=True, train_text_encoder=True, train_unet=True, + self, + batch, + text_encoders, + unet, + network, + vae, + noise_scheduler, + vae_dtype, + weight_dtype, + accelerator, + args, + text_encoding_strategy, + tokenize_strategy, + is_train=True, + train_text_encoder=True, + train_unet=True, ) -> torch.Tensor: - """Override base process_batch for 5D video latents (B, C, T, H, W). - - Base class assumes 4D (B, C, H, W) for loss.mean([1,2,3]) and weighting broadcast. - """ - import typing - from library.custom_train_functions import apply_masked_loss - - with torch.no_grad(): - if "latents" in batch and batch["latents"] is not None: - latents = typing.cast(torch.FloatTensor, batch["latents"].to(accelerator.device)) - else: - if args.vae_batch_size is None or len(batch["images"]) <= args.vae_batch_size: - latents = self.encode_images_to_latents(args, vae, batch["images"].to(accelerator.device, dtype=vae_dtype)) - else: - chunks = [ - batch["images"][i : i + args.vae_batch_size] for i in range(0, len(batch["images"]), args.vae_batch_size) - ] - list_latents = [] - for chunk in chunks: - with torch.no_grad(): - chunk = self.encode_images_to_latents(args, vae, chunk.to(accelerator.device, dtype=vae_dtype)) - list_latents.append(chunk) - latents = torch.cat(list_latents, dim=0) - - if torch.any(torch.isnan(latents)): - accelerator.print("NaN found in latents, replacing with zeros") - latents = typing.cast(torch.FloatTensor, torch.nan_to_num(latents, 0, out=latents)) - - latents = self.shift_scale_latents(args, latents) + """Override base process_batch for caption dropout with cached text encoder outputs.""" # Text encoder conditions - text_encoder_conds = [] text_encoder_outputs_list = batch.get("text_encoder_outputs_list", None) + anima_text_encoding_strategy: strategy_anima.AnimaTextEncodingStrategy = text_encoding_strategy if text_encoder_outputs_list is not None: - text_encoder_conds = text_encoder_outputs_list - - if len(text_encoder_conds) == 0 or text_encoder_conds[0] is None or train_text_encoder: - with torch.set_grad_enabled(is_train and train_text_encoder), accelerator.autocast(): - input_ids = [ids.to(accelerator.device) for ids in batch["input_ids_list"]] - encoded_text_encoder_conds = text_encoding_strategy.encode_tokens( - tokenize_strategy, - self.get_models_for_text_encoding(args, accelerator, text_encoders), - input_ids, - ) - if args.full_fp16: - encoded_text_encoder_conds = [c.to(weight_dtype) for c in encoded_text_encoder_conds] - - if len(text_encoder_conds) == 0: - text_encoder_conds = encoded_text_encoder_conds - else: - for i in range(len(encoded_text_encoder_conds)): - if encoded_text_encoder_conds[i] is not None: - text_encoder_conds[i] = encoded_text_encoder_conds[i] - - noise_pred, target, timesteps, weighting = self.get_noise_pred_and_target( - args, accelerator, noise_scheduler, latents, batch, - text_encoder_conds, unet, network, weight_dtype, train_unet, is_train=is_train, - ) - - huber_c = train_util.get_huber_threshold_if_needed(args, timesteps, noise_scheduler) - loss = train_util.conditional_loss(noise_pred.float(), target.float(), args.loss_type, "none", huber_c) - - if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): - loss = apply_masked_loss(loss, batch) + caption_dropout_rates = text_encoder_outputs_list[-1] + text_encoder_outputs_list = text_encoder_outputs_list[:-1] - # Reduce all non-batch dims: (B, C, T, H, W) -> (B,) for 5D, (B, C, H, W) -> (B,) for 4D - reduce_dims = list(range(1, loss.ndim)) - loss = loss.mean(reduce_dims) - - # Apply weighting after reducing to (B,) - if weighting is not None: - loss = loss * weighting - - loss_weights = batch["loss_weights"] - loss = loss * loss_weights + # Apply caption dropout to cached outputs + text_encoder_outputs_list = anima_text_encoding_strategy.drop_cached_text_encoder_outputs( + *text_encoder_outputs_list, caption_dropout_rates=caption_dropout_rates + ) + batch["text_encoder_outputs_list"] = text_encoder_outputs_list - loss = self.post_process_loss(loss, args, timesteps, noise_scheduler) - return loss.mean() + return super().process_batch( + batch, + text_encoders, + unet, + network, + vae, + noise_scheduler, + vae_dtype, + weight_dtype, + accelerator, + args, + text_encoding_strategy, + tokenize_strategy, + is_train, + train_text_encoder, + train_unet, + ) def post_process_loss(self, loss, args, timesteps, noise_scheduler): return loss def get_sai_model_spec(self, args): - return train_util.get_sai_model_spec(None, args, False, True, False, is_stable_diffusion_ckpt=True) + return train_util.get_sai_model_spec_dataclass(None, args, False, True, False, anima="preview").to_metadata_dict() def update_metadata(self, metadata, args): metadata["ss_weighting_scheme"] = args.weighting_scheme + metadata["ss_logit_mean"] = args.logit_mean + metadata["ss_logit_std"] = args.logit_std + metadata["ss_mode_scale"] = args.mode_scale + metadata["ss_timestep_sampling"] = args.timestep_sampling + metadata["ss_sigmoid_scale"] = args.sigmoid_scale metadata["ss_discrete_flow_shift"] = args.discrete_flow_shift - metadata["ss_timestep_sample_method"] = getattr(args, 'timestep_sample_method', 'logit_normal') - metadata["ss_sigmoid_scale"] = getattr(args, 'sigmoid_scale', 1.0) def is_text_encoder_not_needed_for_training(self, args): - return args.cache_text_encoder_outputs + return args.cache_text_encoder_outputs and not self.is_train_text_encoder(args) + + def prepare_text_encoder_grad_ckpt_workaround(self, index, text_encoder): + # Set first parameter's requires_grad to True to workaround Accelerate gradient checkpointing bug + first_param = next(text_encoder.parameters()) + first_param.requires_grad_(True) def prepare_unet_with_accelerator( self, args: argparse.Namespace, accelerator: Accelerator, unet: torch.nn.Module @@ -496,23 +407,16 @@ def prepare_unet_with_accelerator( if not self.is_swapping_blocks: return super().prepare_unet_with_accelerator(args, accelerator, unet) - dit = unet - dit = accelerator.prepare(dit, device_placement=[not self.is_swapping_blocks]) - accelerator.unwrap_model(dit).move_to_device_except_swap_blocks(accelerator.device) - accelerator.unwrap_model(dit).prepare_block_swap_before_forward() + model = unet + model = accelerator.prepare(model, device_placement=[not self.is_swapping_blocks]) + accelerator.unwrap_model(model).move_to_device_except_swap_blocks(accelerator.device) + accelerator.unwrap_model(model).prepare_block_swap_before_forward() - return dit - - def on_step_start(self, args, accelerator, network, text_encoders, unet, batch, weight_dtype, is_train=True): - # Drop cached text encoder outputs for caption dropout - text_encoder_outputs_list = batch.get("text_encoder_outputs_list", None) - if text_encoder_outputs_list is not None: - text_encoding_strategy: strategy_anima.AnimaTextEncodingStrategy = strategy_base.TextEncodingStrategy.get_strategy() - text_encoder_outputs_list = text_encoding_strategy.drop_cached_text_encoder_outputs(*text_encoder_outputs_list) - batch["text_encoder_outputs_list"] = text_encoder_outputs_list + return model def on_validation_step_end(self, args, accelerator, network, text_encoders, unet, batch, weight_dtype): if self.is_swapping_blocks: + # prepare for next forward: because backward pass is not called, we need to prepare it here accelerator.unwrap_model(unet).prepare_block_swap_before_forward() @@ -520,6 +424,7 @@ def setup_parser() -> argparse.ArgumentParser: parser = train_network.setup_parser() train_util.add_dit_training_arguments(parser) anima_train_utils.add_anima_training_arguments(parser) + # parser.add_argument("--fp8_scaled", action="store_true", help="Use scaled fp8 for DiT / DiTにスケーリングされたfp8を使う") parser.add_argument( "--unsloth_offload_checkpointing", action="store_true", @@ -536,5 +441,8 @@ def setup_parser() -> argparse.ArgumentParser: train_util.verify_command_line_training_args(args) args = train_util.read_config_from_file(args, parser) + if args.attn_mode == "sdpa": + args.attn_mode = "torch" # backward compatibility + trainer = AnimaNetworkTrainer() trainer.train(args) diff --git a/docs/anima_train_network.md b/docs/anima_train_network.md index fe6b23549..f97aa9751 100644 --- a/docs/anima_train_network.md +++ b/docs/anima_train_network.md @@ -11,7 +11,9 @@ This document explains how to train LoRA (Low-Rank Adaptation) models for Anima ## 1. Introduction / はじめに -`anima_train_network.py` trains additional networks such as LoRA for Anima models. Anima adopts a DiT (Diffusion Transformer) architecture based on the MiniTrainDIT design with Rectified Flow training. It uses a Qwen3-0.6B text encoder, an LLM Adapter (6-layer transformer bridge from Qwen3 to T5-compatible space), and a WanVAE (16-channel, 8x spatial downscale). +`anima_train_network.py` trains additional networks such as LoRA for Anima models. Anima adopts a DiT (Diffusion Transformer) architecture based on the MiniTrainDIT design with Rectified Flow training. It uses a Qwen3-0.6B text encoder, an LLM Adapter (6-layer transformer bridge from Qwen3 to T5-compatible space), and a Qwen-Image VAE (16-channel, 8x spatial downscale). + +Qwen-Image VAE and Qwen-Image VAE have same architecture, but [official Anima weight is named for Qwen-Image VAE](https://huggingface.co/circlestone-labs/Anima/tree/main/split_files/vae). This guide assumes you already understand the basics of LoRA training. For common usage and options, see the [train_network.py guide](train_network.md). Some parameters are similar to those in [`sd3_train_network.py`](sd3_train_network.md) and [`flux_train_network.py`](flux_train_network.md). @@ -24,7 +26,9 @@ This guide assumes you already understand the basics of LoRA training. For commo
日本語 -`anima_train_network.py`は、Anima モデルに対してLoRAなどの追加ネットワークを学習させるためのスクリプトです。AnimaはMiniTrainDIT設計に基づくDiT (Diffusion Transformer) アーキテクチャを採用しており、Rectified Flow学習を使用します。テキストエンコーダーとしてQwen3-0.6B、LLM Adapter (Qwen3からT5互換空間への6層Transformerブリッジ)、およびWanVAE (16チャンネル、8倍空間ダウンスケール) を使用します。 +`anima_train_network.py`は、Anima モデルに対してLoRAなどの追加ネットワークを学習させるためのスクリプトです。AnimaはMiniTrainDIT設計に基づくDiT (Diffusion Transformer) アーキテクチャを採用しており、Rectified Flow学習を使用します。テキストエンコーダーとしてQwen3-0.6B、LLM Adapter (Qwen3からT5互換空間への6層Transformerブリッジ)、およびQwen-Image VAE (16チャンネル、8倍空間ダウンスケール) を使用します。 + +Qwen-Image VAEとQwen-Image VAEは同じアーキテクチャですが、[Anima公式の重みはQwen-Image VAE用](https://huggingface.co/circlestone-labs/Anima/tree/main/split_files/vae)のようです。 このガイドは、基本的なLoRA学習の手順を理解しているユーザーを対象としています。基本的な使い方や共通のオプションについては、[`train_network.py`のガイド](train_network.md)を参照してください。また一部のパラメータは [`sd3_train_network.py`](sd3_train_network.md) や [`flux_train_network.py`](flux_train_network.md) と同様のものがあるため、そちらも参考にしてください。 @@ -37,14 +41,14 @@ This guide assumes you already understand the basics of LoRA training. For commo ## 2. Differences from `train_network.py` / `train_network.py` との違い -`anima_train_network.py` is based on `train_network.py` but modified for Anima . Main differences are: +`anima_train_network.py` is based on `train_network.py` but modified for Anima. Main differences are: * **Target models:** Anima DiT models. -* **Model structure:** Uses a MiniTrainDIT (Transformer based) instead of U-Net. Employs a single text encoder (Qwen3-0.6B), an LLM Adapter that bridges Qwen3 embeddings to T5-compatible cross-attention space, and a WanVAE (16-channel latent space with 8x spatial downscale). -* **Arguments:** Options exist to specify the Anima DiT model, Qwen3 text encoder, WanVAE, LLM adapter, and T5 tokenizer separately. -* **Incompatible arguments:** Stable Diffusion v1/v2 options such as `--v2`, `--v_parameterization` and `--clip_skip` are not used. -* **Anima specific options:** Additional parameters for component-wise learning rates (self_attn, cross_attn, mlp, mod, llm_adapter), timestep sampling, discrete flow shift, and flash attention. -* **6 Parameter Groups:** Independent learning rates for `base`, `self_attn`, `cross_attn`, `mlp`, `adaln_modulation`, and `llm_adapter` components. +* **Model structure:** Uses a MiniTrainDIT (Transformer based) instead of U-Net. Employs a single text encoder (Qwen3-0.6B), an LLM Adapter that bridges Qwen3 embeddings to T5-compatible cross-attention space, and a Qwen-Image VAE (16-channel latent space with 8x spatial downscale). +* **Arguments:** Uses the common `--pretrained_model_name_or_path` for the DiT model path, `--qwen3` for the Qwen3 text encoder, and `--vae` for the Qwen-Image VAE. The LLM adapter and T5 tokenizer can be specified separately with `--llm_adapter_path` and `--t5_tokenizer_path`. +* **Incompatible arguments:** Stable Diffusion v1/v2 options such as `--v2`, `--v_parameterization` and `--clip_skip` are not used. `--fp8_base` is not supported. +* **Timestep sampling:** Uses the same `--timestep_sampling` options as FLUX training (`sigma`, `uniform`, `sigmoid`, `shift`, `flux_shift`). +* **LoRA:** Uses regex-based module selection and per-module rank/learning rate control (`network_reg_dims`, `network_reg_lrs`) instead of per-component arguments. Module exclusion/inclusion is controlled by `exclude_patterns` and `include_patterns`.
日本語 @@ -52,11 +56,11 @@ This guide assumes you already understand the basics of LoRA training. For commo `anima_train_network.py`は`train_network.py`をベースに、Anima モデルに対応するための変更が加えられています。主な違いは以下の通りです。 * **対象モデル:** Anima DiTモデルを対象とします。 -* **モデル構造:** U-Netの代わりにMiniTrainDIT (Transformerベース) を使用します。テキストエンコーダーとしてQwen3-0.6B、Qwen3埋め込みをT5互換のクロスアテンション空間に変換するLLM Adapter、およびWanVAE (16チャンネル潜在空間、8倍空間ダウンスケール) を使用します。 -* **引数:** Anima DiTモデル、Qwen3テキストエンコーダー、WanVAE、LLM Adapter、T5トークナイザーを個別に指定する引数があります。 -* **一部引数の非互換性:** Stable Diffusion v1/v2向けの引数(例: `--v2`, `--v_parameterization`, `--clip_skip`)はAnimaの学習では使用されません。 -* **Anima特有の引数:** コンポーネント別学習率(self_attn, cross_attn, mlp, mod, llm_adapter)、タイムステップサンプリング、離散フローシフト、Flash Attentionに関する引数が追加されています。 -* **6パラメータグループ:** `base`、`self_attn`、`cross_attn`、`mlp`、`adaln_modulation`、`llm_adapter`の各コンポーネントに対して独立した学習率を設定できます。 +* **モデル構造:** U-Netの代わりにMiniTrainDIT (Transformerベース) を使用します。テキストエンコーダーとしてQwen3-0.6B、Qwen3埋め込みをT5互換のクロスアテンション空間に変換するLLM Adapter、およびQwen-Image VAE (16チャンネル潜在空間、8倍空間ダウンスケール) を使用します。 +* **引数:** DiTモデルのパスには共通引数`--pretrained_model_name_or_path`を、Qwen3テキストエンコーダーには`--qwen3`を、Qwen-Image VAEには`--vae`を使用します。LLM AdapterとT5トークナイザーはそれぞれ`--llm_adapter_path`、`--t5_tokenizer_path`で個別に指定できます。 +* **一部引数の非互換性:** Stable Diffusion v1/v2向けの引数(例: `--v2`, `--v_parameterization`, `--clip_skip`)は使用されません。`--fp8_base`はサポートされていません。 +* **タイムステップサンプリング:** FLUX学習と同じ`--timestep_sampling`オプション(`sigma`、`uniform`、`sigmoid`、`shift`、`flux_shift`)を使用します。 +* **LoRA:** コンポーネント別の引数の代わりに、正規表現ベースのモジュール選択とモジュール単位のランク/学習率制御(`network_reg_dims`、`network_reg_lrs`)を使用します。モジュールの除外/包含は`exclude_patterns`と`include_patterns`で制御します。
## 3. Preparation / 準備 @@ -65,16 +69,16 @@ The following files are required before starting training: 1. **Training script:** `anima_train_network.py` 2. **Anima DiT model file:** `.safetensors` file for the base DiT model. -3. **Qwen3-0.6B text encoder:** Either a HuggingFace model directory or a single `.safetensors` file (requires `configs/qwen3_06b/` config files). -4. **WanVAE model file:** `.safetensors` or `.pth` file for the VAE. +3. **Qwen3-0.6B text encoder:** Either a HuggingFace model directory, or a single `.safetensors` file (uses the bundled config files in `configs/qwen3_06b/`). +4. **Qwen-Image VAE model file:** `.safetensors` or `.pth` file for the VAE. 5. **LLM Adapter model file (optional):** `.safetensors` file. If not provided separately, the adapter is loaded from the DiT file if the key `llm_adapter.out_proj.weight` exists. 6. **T5 Tokenizer (optional):** If not specified, uses the bundled tokenizer at `configs/t5_old/`. 7. **Dataset definition file (.toml):** Dataset settings in TOML format. (See the [Dataset Configuration Guide](./config_README-en.md).) In this document we use `my_anima_dataset_config.toml` as an example. +Model files can be obtained from the [Anima HuggingFace repository](https://huggingface.co/circlestone-labs/Anima). + **Notes:** -* When using a single `.safetensors` file for Qwen3, download the `config.json`, `tokenizer.json`, `tokenizer_config.json`, and `vocab.json` from the [Qwen/Qwen3-0.6B](https://huggingface.co/Qwen/Qwen3-0.6B) HuggingFace repository into the `configs/qwen3_06b/` directory. * The T5 tokenizer only needs the tokenizer files (not the T5 model weights). It uses the vocabulary from `google/t5-v1_1-xxl`. -* Models are saved with a `net.` prefix on all keys for ComfyUI compatibility.
日本語 @@ -83,16 +87,16 @@ The following files are required before starting training: 1. **学習スクリプト:** `anima_train_network.py` 2. **Anima DiTモデルファイル:** ベースとなるDiTモデルの`.safetensors`ファイル。 -3. **Qwen3-0.6Bテキストエンコーダー:** HuggingFaceモデルディレクトリまたは単体の`.safetensors`ファイル(`configs/qwen3_06b/`の設定ファイルが必要)。 -4. **WanVAEモデルファイル:** VAEの`.safetensors`または`.pth`ファイル。 +3. **Qwen3-0.6Bテキストエンコーダー:** HuggingFaceモデルディレクトリまたは単体の`.safetensors`ファイル(バンドル版の`configs/qwen3_06b/`の設定ファイルが使用されます)。 +4. **Qwen-Image VAEモデルファイル:** VAEの`.safetensors`または`.pth`ファイル。 5. **LLM Adapterモデルファイル(オプション):** `.safetensors`ファイル。個別に指定しない場合、DiTファイル内に`llm_adapter.out_proj.weight`キーが存在すればそこから読み込まれます。 6. **T5トークナイザー(オプション):** 指定しない場合、`configs/t5_old/`のバンドル版トークナイザーを使用します。 7. **データセット定義ファイル (.toml):** 学習データセットの設定を記述したTOML形式のファイル。(詳細は[データセット設定ガイド](./config_README-en.md)を参照してください)。例として`my_anima_dataset_config.toml`を使用します。 +モデルファイルは[HuggingFaceのAnimaリポジトリ](https://huggingface.co/circlestone-labs/Anima)から入手できます。 + **注意:** -* Qwen3の単体`.safetensors`ファイルを使用する場合、[Qwen/Qwen3-0.6B](https://huggingface.co/Qwen/Qwen3-0.6B) HuggingFaceリポジトリから`config.json`、`tokenizer.json`、`tokenizer_config.json`、`vocab.json`をダウンロードし、`configs/qwen3_06b/`ディレクトリに配置してください。 -* T5トークナイザーはトークナイザーファイルのみ必要です(T5モデルの重みは不要)。`google/t5-v1_1-xxl`の語彙を使用します。 -* モデルはComfyUI互換のため、すべてのキーに`net.`プレフィックスを付けて保存されます。 +* T5トークナイザーを別途指定する場合、トークナイザーファイルのみ必要です(T5モデルの重みは不要)。`google/t5-v1_1-xxl`の語彙を使用します。
## 4. Running the Training / 学習の実行 @@ -103,33 +107,38 @@ Example command: ```bash accelerate launch --num_cpu_threads_per_process 1 anima_train_network.py \ - --dit_path="" \ - --qwen3_path="" \ - --vae_path="" \ - --llm_adapter_path="" \ + --pretrained_model_name_or_path="" \ + --qwen3="" \ + --vae="" \ --dataset_config="my_anima_dataset_config.toml" \ --output_dir="" \ --output_name="my_anima_lora" \ --save_model_as=safetensors \ --network_module=networks.lora_anima \ --network_dim=8 \ - --network_alpha=8 \ --learning_rate=1e-4 \ --optimizer_type="AdamW8bit" \ --lr_scheduler="constant" \ - --timestep_sample_method="logit_normal" \ - --discrete_flow_shift=3.0 \ + --timestep_sampling="sigmoid" \ + --discrete_flow_shift=1.0 \ --max_train_epochs=10 \ --save_every_n_epochs=1 \ --mixed_precision="bf16" \ --gradient_checkpointing \ --cache_latents \ --cache_text_encoder_outputs \ - --blocks_to_swap=18 + --vae_chunk_size=64 \ + --vae_disable_cache ``` *(Write the command on one line or use `\` or `^` for line breaks.)* +The learning rate of `1e-4` is just an example. Adjust it according to your dataset and objectives. This value is for `alpha=1.0` (default). If increasing `--network_alpha`, consider lowering the learning rate. + +If loss becomes NaN, ensure you are using PyTorch version 2.5 or higher. + +**Note:** `--vae_chunk_size` and `--vae_disable_cache` are custom options in this repository to reduce memory usage of the Qwen-Image VAE. +
日本語 @@ -138,6 +147,13 @@ accelerate launch --num_cpu_threads_per_process 1 anima_train_network.py \ コマンドラインの例は英語のドキュメントを参照してください。 ※実際には1行で書くか、適切な改行文字(`\` または `^`)を使用してください。 + +学習率1e-4はあくまで一例です。データセットや目的に応じて適切に調整してください。またこの値はalpha=1.0(デフォルト)での値です。`--network_alpha`を増やす場合は学習率を下げることを検討してください。 + +lossがNaNになる場合は、PyTorchのバージョンが2.5以上であることを確認してください。 + +注意: `--vae_chunk_size`および`--vae_disable_cache`は当リポジトリ独自のオプションで、Qwen-Image VAEのメモリ使用量を削減するために使用します。 +
### 4.1. Explanation of Key Options / 主要なコマンドライン引数の解説 @@ -146,12 +162,15 @@ Besides the arguments explained in the [train_network.py guide](train_network.md #### Model Options [Required] / モデル関連 [必須] -* `--dit_path=""` **[Required]** +* `--pretrained_model_name_or_path=""` **[Required]** - Path to the Anima DiT model `.safetensors` file. The model config (channels, blocks, heads) is auto-detected from the state dict. ComfyUI format with `net.` prefix is supported. -* `--qwen3_path=""` **[Required]** +* `--qwen3=""` **[Required]** - Path to the Qwen3-0.6B text encoder. Can be a HuggingFace model directory or a single `.safetensors` file. The text encoder is always frozen during training. -* `--vae_path=""` **[Required]** - - Path to the WanVAE model `.safetensors` or `.pth` file. Fixed config: `dim=96, z_dim=16`. +* `--vae=""` **[Required]** + - Path to the Qwen-Image VAE model `.safetensors` or `.pth` file. Fixed config: `dim=96, z_dim=16`. + +#### Model Options [Optional] / モデル関連 [オプション] + * `--llm_adapter_path=""` *[Optional]* - Path to a separate LLM adapter weights file. If omitted, the adapter is loaded from the DiT file when the key `llm_adapter.out_proj.weight` exists. * `--t5_tokenizer_path=""` *[Optional]* @@ -159,53 +178,58 @@ Besides the arguments explained in the [train_network.py guide](train_network.md #### Anima Training Parameters / Anima 学習パラメータ -* `--timestep_sample_method=` - - Timestep sampling method. Choose from `logit_normal` (default) or `uniform`. +* `--timestep_sampling=` + - Timestep sampling method. Choose from `sigma`, `uniform`, `sigmoid` (default), `shift`, `flux_shift`. Same options as FLUX training. See the [flux_train_network.py guide](flux_train_network.md) for details on each method. * `--discrete_flow_shift=` - - Shift for the timestep distribution in Rectified Flow training. Default `3.0`. The shift formula is `t_shifted = (t * shift) / (1 + (shift - 1) * t)`. + - Shift for the timestep distribution in Rectified Flow training. Default `1.0`. This value is used when `--timestep_sampling` is set to **`shift`**. The shift formula is `t_shifted = (t * shift) / (1 + (shift - 1) * t)`. * `--sigmoid_scale=` - - Scale factor for `logit_normal` timestep sampling. Default `1.0`. + - Scale factor when `--timestep_sampling` is set to `sigmoid`, `shift`, or `flux_shift`. Default `1.0`. * `--qwen3_max_token_length=` - Maximum token length for the Qwen3 tokenizer. Default `512`. * `--t5_max_token_length=` - Maximum token length for the T5 tokenizer. Default `512`. -* `--flash_attn` - - Use Flash Attention for DiT self/cross-attention. Requires `pip install flash-attn`. Falls back to PyTorch SDPA if the package is not installed. Note: Flash Attention is only applied to DiT blocks; the LLM Adapter uses standard attention because it requires attention masks. -* `--transformer_dtype=` - - Separate dtype for transformer blocks. Choose from `float16`, `bfloat16`, `float32`. If not specified, uses the same dtype as `--mixed_precision`. - +* `--attn_mode=` + - Attention implementation to use. Choose from `torch` (default), `xformers`, `flash`, `sageattn`. `xformers` requires `--split_attn`. `sageattn` does not support training (inference only). This option overrides `--xformers`. +* `--split_attn` + - Split attention computation to reduce memory usage. Required when using `--attn_mode xformers`. + #### Component-wise Learning Rates / コンポーネント別学習率 -Anima supports 6 independent learning rate groups. Set to `0` to freeze a component: +These options set separate learning rates for each component of the Anima model. They are primarily used for full fine-tuning. Set to `0` to freeze a component: * `--self_attn_lr=` - Learning rate for self-attention layers. Default: same as `--learning_rate`. * `--cross_attn_lr=` - Learning rate for cross-attention layers. Default: same as `--learning_rate`. * `--mlp_lr=` - Learning rate for MLP layers. Default: same as `--learning_rate`. -* `--mod_lr=` - Learning rate for AdaLN modulation layers. Default: same as `--learning_rate`. +* `--mod_lr=` - Learning rate for AdaLN modulation layers. Default: same as `--learning_rate`. Note: modulation layers are not included in LoRA by default. * `--llm_adapter_lr=` - Learning rate for LLM adapter layers. Default: same as `--learning_rate`. +For LoRA training, use `network_reg_lrs` in `--network_args` instead. See [Section 5.2](#52-regex-based-rank-and-learning-rate-control--正規表現によるランク学習率の制御). + #### Memory and Speed / メモリ・速度関連 -* `--blocks_to_swap=` **[Experimental]** +* `--blocks_to_swap=` - Number of Transformer blocks to swap between CPU and GPU. More blocks reduce VRAM but slow training. Maximum values depend on model size: - - 28-block model: max **26** + - 28-block model: max **26** (Anima-Preview) - 36-block model: max **34** - 20-block model: max **18** - Cannot be used with `--cpu_offload_checkpointing` or `--unsloth_offload_checkpointing`. * `--unsloth_offload_checkpointing` - - Offload activations to CPU RAM using async non-blocking transfers. Faster than `--cpu_offload_checkpointing`. Cannot be combined with `--cpu_offload_checkpointing` or `--blocks_to_swap`. + - Offload activations to CPU RAM using async non-blocking transfers (faster than `--cpu_offload_checkpointing`). Cannot be combined with `--cpu_offload_checkpointing` or `--blocks_to_swap`. * `--cache_text_encoder_outputs` - Cache Qwen3 text encoder outputs to reduce VRAM usage. Recommended when not training text encoder LoRA. * `--cache_text_encoder_outputs_to_disk` - Cache text encoder outputs to disk. Auto-enables `--cache_text_encoder_outputs`. * `--cache_latents`, `--cache_latents_to_disk` - - Cache WanVAE latent outputs. -* `--fp8_base` - - Use FP8 precision for the base model to reduce VRAM usage. - -#### Incompatible or Deprecated Options / 非互換・非推奨の引数 + - Cache Qwen-Image VAE latent outputs. +* `--vae_chunk_size=` + - Chunk size for Qwen-Image VAE processing. Reduces VRAM usage at the cost of speed. Default is no chunking. +* `--vae_disable_cache` + - Disable internal caching in Qwen-Image VAE to reduce VRAM usage. + +#### Incompatible or Unsupported Options / 非互換・非サポートの引数 * `--v2`, `--v_parameterization`, `--clip_skip` - Options for Stable Diffusion v1/v2 that are not used for Anima training. +* `--fp8_base` - Not supported for Anima. If specified, it will be disabled with a warning.
日本語 @@ -214,39 +238,50 @@ Anima supports 6 independent learning rate groups. Set to `0` to freeze a compon #### モデル関連 [必須] -* `--dit_path=""` **[必須]** - Anima DiTモデルの`.safetensors`ファイルのパスを指定します。 -* `--qwen3_path=""` **[必須]** - Qwen3-0.6Bテキストエンコーダーのパスを指定します。 -* `--vae_path=""` **[必須]** - WanVAEモデルのパスを指定します。 +* `--pretrained_model_name_or_path=""` **[必須]** - Anima DiTモデルの`.safetensors`ファイルのパスを指定します。モデルの設定はstate dictから自動検出されます。`net.`プレフィックス付きのComfyUIフォーマットもサポートしています。 +* `--qwen3=""` **[必須]** - Qwen3-0.6Bテキストエンコーダーのパスを指定します。HuggingFaceモデルディレクトリまたは単体の`.safetensors`ファイルが使用できます。 +* `--vae=""` **[必須]** - Qwen-Image VAEモデルのパスを指定します。 + +#### モデル関連 [オプション] + * `--llm_adapter_path=""` *[オプション]* - 個別のLLM Adapterの重みファイルのパス。 * `--t5_tokenizer_path=""` *[オプション]* - T5トークナイザーディレクトリのパス。 #### Anima 学習パラメータ -* `--timestep_sample_method` - タイムステップのサンプリング方法。`logit_normal`(デフォルト)または`uniform`。 -* `--discrete_flow_shift` - Rectified Flow学習のタイムステップ分布シフト。デフォルト`3.0`。 -* `--sigmoid_scale` - logit_normalタイムステップサンプリングのスケール係数。デフォルト`1.0`。 +* `--timestep_sampling` - タイムステップのサンプリング方法。`sigma`、`uniform`、`sigmoid`(デフォルト)、`shift`、`flux_shift`から選択。FLUX学習と同じオプションです。各方法の詳細は[flux_train_network.pyのガイド](flux_train_network.md)を参照してください。 +* `--discrete_flow_shift` - Rectified Flow学習のタイムステップ分布シフト。デフォルト`1.0`。`--timestep_sampling`が`shift`の場合に使用されます。 +* `--sigmoid_scale` - `sigmoid`、`shift`、`flux_shift`タイムステップサンプリングのスケール係数。デフォルト`1.0`。 * `--qwen3_max_token_length` - Qwen3トークナイザーの最大トークン長。デフォルト`512`。 * `--t5_max_token_length` - T5トークナイザーの最大トークン長。デフォルト`512`。 -* `--flash_attn` - DiTのself/cross-attentionにFlash Attentionを使用。`pip install flash-attn`が必要。 -* `--transformer_dtype` - Transformerブロック用の個別dtype。 +* `--attn_mode` - 使用するAttentionの実装。`torch`(デフォルト)、`xformers`、`flash`、`sageattn`から選択。`xformers`は`--split_attn`の指定が必要です。`sageattn`はトレーニングをサポートしていません(推論のみ)。 +* `--split_attn` - メモリ使用量を減らすためにattention時にバッチを分割します。`--attn_mode xformers`使用時に必要です。 #### コンポーネント別学習率 -Animaは6つの独立した学習率グループをサポートします。`0`に設定するとそのコンポーネントをフリーズします: +これらのオプションは、Animaモデルの各コンポーネントに個別の学習率を設定します。主にフルファインチューニング用です。`0`に設定するとそのコンポーネントをフリーズします: * `--self_attn_lr` - Self-attention層の学習率。 * `--cross_attn_lr` - Cross-attention層の学習率。 * `--mlp_lr` - MLP層の学習率。 -* `--mod_lr` - AdaLNモジュレーション層の学習率。 +* `--mod_lr` - AdaLNモジュレーション層の学習率。モジュレーション層はデフォルトではLoRAに含まれません。 * `--llm_adapter_lr` - LLM Adapter層の学習率。 +LoRA学習の場合は、`--network_args`の`network_reg_lrs`を使用してください。[セクション5.2](#52-regex-based-rank-and-learning-rate-control--正規表現によるランク学習率の制御)を参照。 + #### メモリ・速度関連 -* `--blocks_to_swap` **[実験的機能]** - TransformerブロックをCPUとGPUでスワップしてVRAMを節約。 -* `--unsloth_offload_checkpointing` - 非同期転送でアクティベーションをCPU RAMにオフロード。 +* `--blocks_to_swap` - TransformerブロックをCPUとGPUでスワップしてVRAMを節約。`--cpu_offload_checkpointing`および`--unsloth_offload_checkpointing`とは併用できません。 +* `--unsloth_offload_checkpointing` - 非同期転送でアクティベーションをCPU RAMにオフロード。`--cpu_offload_checkpointing`および`--blocks_to_swap`とは併用できません。 * `--cache_text_encoder_outputs` - Qwen3の出力をキャッシュしてメモリ使用量を削減。 -* `--cache_latents`, `--cache_latents_to_disk` - WanVAEの出力をキャッシュ。 -* `--fp8_base` - ベースモデルにFP8精度を使用。 +* `--cache_latents`, `--cache_latents_to_disk` - Qwen-Image VAEの出力をキャッシュ。 +* `--vae_chunk_size` - Qwen-Image VAEのチャンク処理サイズ。メモリ使用量を削減しますが速度が低下します。デフォルトはチャンク処理なし。 +* `--vae_disable_cache` - Qwen-Image VAEの内部キャッシュを無効化してメモリ使用量を削減します。 + +#### 非互換・非サポートの引数 + +* `--v2`, `--v_parameterization`, `--clip_skip` - Stable Diffusion v1/v2向けの引数。Animaの学習では使用されません。 +* `--fp8_base` - Animaではサポートされていません。指定した場合、警告とともに無効化されます。
### 4.2. Starting Training / 学習の開始 @@ -262,67 +297,66 @@ After setting the required arguments, run the command to begin training. The ove ## 5. LoRA Target Modules / LoRAの学習対象モジュール -When training LoRA with `anima_train_network.py`, the following modules are targeted: +When training LoRA with `anima_train_network.py`, the following modules are targeted by default: -* **DiT Blocks (`Block`)**: Self-attention, cross-attention, MLP, and AdaLN modulation layers within each transformer block. +* **DiT Blocks (`Block`)**: Self-attention (`self_attn`), cross-attention (`cross_attn`), and MLP (`mlp`) layers within each transformer block. Modulation (`adaln_modulation`), norm, embedder, and final layers are excluded by default. +* **Embedding layers (`PatchEmbed`, `TimestepEmbedding`) and Final layer (`FinalLayer`)**: Excluded by default but can be included using `include_patterns`. * **LLM Adapter Blocks (`LLMAdapterTransformerBlock`)**: Only when `--network_args "train_llm_adapter=True"` is specified. -* **Text Encoder (Qwen3)**: Only when `--network_train_unet_only` is NOT specified. +* **Text Encoder (Qwen3)**: Only when `--network_train_unet_only` is NOT specified and `--cache_text_encoder_outputs` is NOT used. The LoRA network module is `networks.lora_anima`. -### 5.1. Layer-specific Rank Configuration / 各層に対するランク指定 - -You can specify different ranks (network_dim) for each component of the Anima model. Setting `0` disables LoRA for that component. - -| network_args | Target Component | -|---|---| -| `self_attn_dim` | Self-attention layers in DiT blocks | -| `cross_attn_dim` | Cross-attention layers in DiT blocks | -| `mlp_dim` | MLP layers in DiT blocks | -| `mod_dim` | AdaLN modulation layers in DiT blocks | -| `llm_adapter_dim` | LLM adapter layers (requires `train_llm_adapter=True`) | +### 5.1. Module Selection with Patterns / パターンによるモジュール選択 -Example usage: +By default, the following modules are excluded from LoRA via the built-in exclude pattern: ``` ---network_args "self_attn_dim=8" "cross_attn_dim=4" "mlp_dim=8" "mod_dim=4" +.*(_modulation|_norm|_embedder|final_layer).* ``` -### 5.2. Embedding Layer LoRA / 埋め込み層LoRA +You can customize which modules are included or excluded using regex patterns in `--network_args`: -You can apply LoRA to embedding/output layers by specifying `emb_dims` in network_args as a comma-separated list of 3 numbers: +* `exclude_patterns` - Exclude modules matching these patterns (in addition to the default exclusion). +* `include_patterns` - Force-include modules matching these patterns, overriding exclusion. +Patterns are matched against the full module name using `re.fullmatch()`. + +Example to include the final layer: ``` ---network_args "emb_dims=[8,4,8]" +--network_args "include_patterns=['.*final_layer.*']" ``` -Each number corresponds to: -1. `x_embedder` (patch embedding) -2. `t_embedder` (timestep embedding) -3. `final_layer` (output layer) - -Setting `0` disables LoRA for that layer. +Example to additionally exclude MLP layers: +``` +--network_args "exclude_patterns=['.*mlp.*']" +``` -### 5.3. Block Selection for Training / 学習するブロックの指定 +### 5.2. Regex-based Rank and Learning Rate Control / 正規表現によるランク・学習率の制御 -You can specify which DiT blocks to train using `train_block_indices` in network_args. The indices are 0-based. Default is to train all blocks. +You can specify different ranks (network_dim) and learning rates for modules matching specific regex patterns: -Specify indices as comma-separated integers or ranges: +* `network_reg_dims`: Specify ranks for modules matching a regular expression. The format is a comma-separated string of `pattern=rank`. + * Example: `--network_args "network_reg_dims=.*self_attn.*=8,.*cross_attn.*=4,.*mlp.*=8"` + * This sets the rank to 8 for self-attention modules, 4 for cross-attention modules, and 8 for MLP modules. +* `network_reg_lrs`: Specify learning rates for modules matching a regular expression. The format is a comma-separated string of `pattern=lr`. + * Example: `--network_args "network_reg_lrs=.*self_attn.*=1e-4,.*cross_attn.*=5e-5"` + * This sets the learning rate to `1e-4` for self-attention modules and `5e-5` for cross-attention modules. -``` ---network_args "train_block_indices=0-5,10,15-27" -``` +**Notes:** -Special values: `all` (train all blocks), `none` (skip all blocks). +* Settings via `network_reg_dims` and `network_reg_lrs` take precedence over the global `--network_dim` and `--learning_rate` settings. +* Patterns are matched using `re.fullmatch()` against the module's original name (e.g., `blocks.0.self_attn.q_proj`). -### 5.4. LLM Adapter LoRA / LLM Adapter LoRA +### 5.3. LLM Adapter LoRA / LLM Adapter LoRA To apply LoRA to the LLM Adapter blocks: ``` ---network_args "train_llm_adapter=True" "llm_adapter_dim=4" +--network_args "train_llm_adapter=True" ``` -### 5.5. Other Network Args / その他のネットワーク引数 +In preliminary tests, lowering the learning rate for the LLM Adapter seems to improve stability. Adjust it using something like: `"network_reg_lrs=.*llm_adapter.*=5e-5"`. + +### 5.4. Other Network Args / その他のネットワーク引数 * `--network_args "verbose=True"` - Print all LoRA module names and their dimensions. * `--network_args "rank_dropout=0.1"` - Rank dropout rate. @@ -336,48 +370,58 @@ To apply LoRA to the LLM Adapter blocks: `anima_train_network.py`でLoRAを学習させる場合、デフォルトでは以下のモジュールが対象となります。 -* **DiTブロック (`Block`)**: 各Transformerブロック内のSelf-attention、Cross-attention、MLP、AdaLNモジュレーション層。 +* **DiTブロック (`Block`)**: 各Transformerブロック内のSelf-attention(`self_attn`)、Cross-attention(`cross_attn`)、MLP(`mlp`)層。モジュレーション(`adaln_modulation`)、norm、embedder、final layerはデフォルトで除外されます。 +* **埋め込み層 (`PatchEmbed`, `TimestepEmbedding`) と最終層 (`FinalLayer`)**: デフォルトで除外されますが、`include_patterns`で含めることができます。 * **LLM Adapterブロック (`LLMAdapterTransformerBlock`)**: `--network_args "train_llm_adapter=True"`を指定した場合のみ。 -* **テキストエンコーダー (Qwen3)**: `--network_train_unet_only`を指定しない場合のみ。 +* **テキストエンコーダー (Qwen3)**: `--network_train_unet_only`を指定せず、かつ`--cache_text_encoder_outputs`を使用しない場合のみ。 + +### 5.1. パターンによるモジュール選択 + +デフォルトでは以下のモジュールが組み込みの除外パターンによりLoRAから除外されます: +``` +.*(_modulation|_norm|_embedder|final_layer).* +``` -### 5.1. 各層のランクを指定する +`--network_args`で正規表現パターンを使用して、含めるモジュールと除外するモジュールをカスタマイズできます: -`--network_args`で各コンポーネントに異なるランクを指定できます。`0`を指定するとその層にはLoRAが適用されません。 +* `exclude_patterns` - これらのパターンにマッチするモジュールを除外(デフォルトの除外に追加)。 +* `include_patterns` - これらのパターンにマッチするモジュールを強制的に含める(除外を上書き)。 -|network_args|対象コンポーネント| -|---|---| -|`self_attn_dim`|DiTブロック内のSelf-attention層| -|`cross_attn_dim`|DiTブロック内のCross-attention層| -|`mlp_dim`|DiTブロック内のMLP層| -|`mod_dim`|DiTブロック内のAdaLNモジュレーション層| -|`llm_adapter_dim`|LLM Adapter層(`train_llm_adapter=True`が必要)| +パターンは`re.fullmatch()`を使用して完全なモジュール名に対してマッチングされます。 -### 5.2. 埋め込み層LoRA +### 5.2. 正規表現によるランク・学習率の制御 -`emb_dims`で埋め込み/出力層にLoRAを適用できます。3つの数値をカンマ区切りで指定します。 +正規表現にマッチするモジュールに対して、異なるランクや学習率を指定できます: -各数値は `x_embedder`(パッチ埋め込み)、`t_embedder`(タイムステップ埋め込み)、`final_layer`(出力層)に対応します。 +* `network_reg_dims`: 正規表現にマッチするモジュールに対してランクを指定します。`pattern=rank`形式の文字列をカンマで区切って指定します。 + * 例: `--network_args "network_reg_dims=.*self_attn.*=8,.*cross_attn.*=4,.*mlp.*=8"` +* `network_reg_lrs`: 正規表現にマッチするモジュールに対して学習率を指定します。`pattern=lr`形式の文字列をカンマで区切って指定します。 + * 例: `--network_args "network_reg_lrs=.*self_attn.*=1e-4,.*cross_attn.*=5e-5"` -### 5.3. 学習するブロックの指定 +**注意点:** +* `network_reg_dims`および`network_reg_lrs`での設定は、全体設定である`--network_dim`や`--learning_rate`よりも優先されます。 +* パターンはモジュールのオリジナル名(例: `blocks.0.self_attn.q_proj`)に対して`re.fullmatch()`でマッチングされます。 -`train_block_indices`でLoRAを適用するDiTブロックを指定できます。 +### 5.3. LLM Adapter LoRA -### 5.4. LLM Adapter LoRA +LLM AdapterブロックにLoRAを適用するには:`--network_args "train_llm_adapter=True"` -LLM AdapterブロックにLoRAを適用するには:`--network_args "train_llm_adapter=True" "llm_adapter_dim=4"` +簡易な検証ではLLM Adapterの学習率はある程度下げた方が安定するようです。`"network_reg_lrs=.*llm_adapter.*=5e-5"`などで調整してください。 -### 5.5. その他のネットワーク引数 +### 5.4. その他のネットワーク引数 * `verbose=True` - 全LoRAモジュール名とdimを表示 * `rank_dropout` - ランクドロップアウト率 * `module_dropout` - モジュールドロップアウト率 * `loraplus_lr_ratio` - LoRA+学習率比率 +* `loraplus_unet_lr_ratio` - DiT専用のLoRA+学習率比率 +* `loraplus_text_encoder_lr_ratio` - テキストエンコーダー専用のLoRA+学習率比率
## 6. Using the Trained Model / 学習済みモデルの利用 -When training finishes, a LoRA model file (e.g. `my_anima_lora.safetensors`) is saved in the directory specified by `output_dir`. Use this file with inference environments that support Anima , such as ComfyUI with appropriate nodes. +When training finishes, a LoRA model file (e.g. `my_anima_lora.safetensors`) is saved in the directory specified by `output_dir`. Use this file with inference environments that support Anima, such as ComfyUI with appropriate nodes.
日本語 @@ -394,8 +438,6 @@ Anima models can be large, so GPUs with limited VRAM may require optimization: #### Key VRAM Reduction Options -- **`--fp8_base`**: Enables training in FP8 format for the DiT model. - - **`--blocks_to_swap `**: Swaps blocks between CPU and GPU to reduce VRAM usage. Higher numbers save more VRAM but reduce training speed. See model-specific max values in section 4.1. - **`--unsloth_offload_checkpointing`**: Offloads gradient checkpoints to CPU using async non-blocking transfers. Faster than `--cpu_offload_checkpointing`. Cannot be combined with `--blocks_to_swap`. @@ -404,7 +446,7 @@ Anima models can be large, so GPUs with limited VRAM may require optimization: - **`--cache_text_encoder_outputs`**: Caches Qwen3 outputs so the text encoder can be freed from VRAM during training. -- **`--cache_latents`**: Caches WanVAE outputs so the VAE can be freed from VRAM during training. +- **`--cache_latents`**: Caches Qwen-Image VAE outputs so the VAE can be freed from VRAM during training. - **Using Adafactor optimizer**: Can reduce VRAM usage: ``` @@ -417,12 +459,11 @@ Anima models can be large, so GPUs with limited VRAM may require optimization: Animaモデルは大きい場合があるため、VRAMが限られたGPUでは最適化が必要です。 主要なVRAM削減オプション: -- `--fp8_base`: FP8形式での学習を有効化 - `--blocks_to_swap`: CPUとGPU間でブロックをスワップ - `--unsloth_offload_checkpointing`: 非同期転送でアクティベーションをCPUにオフロード - `--gradient_checkpointing`: 標準的な勾配チェックポイント - `--cache_text_encoder_outputs`: Qwen3の出力をキャッシュ -- `--cache_latents`: WanVAEの出力をキャッシュ +- `--cache_latents`: Qwen-Image VAEの出力をキャッシュ - Adafactorオプティマイザの使用
@@ -431,21 +472,24 @@ Animaモデルは大きい場合があるため、VRAMが限られたGPUでは #### Timestep Sampling -The `--timestep_sample_method` option specifies how timesteps (0-1) are sampled: +The `--timestep_sampling` option specifies how timesteps are sampled. The available methods are the same as FLUX training: -- `logit_normal` (default): Sample from Normal(0,1), multiply by `sigmoid_scale`, apply sigmoid. Good general-purpose option. +- `sigma`: Sigma-based sampling like SD3. - `uniform`: Uniform random sampling from [0, 1]. +- `sigmoid` (default): Sample from Normal(0,1), multiply by `sigmoid_scale`, apply sigmoid. Good general-purpose option. +- `shift`: Like `sigmoid`, but applies the discrete flow shift formula: `t_shifted = (t * shift) / (1 + (shift - 1) * t)`. +- `flux_shift`: Resolution-dependent shift used in FLUX training. + +See the [flux_train_network.py guide](flux_train_network.md) for detailed descriptions. #### Discrete Flow Shift -The `--discrete_flow_shift` option (default `3.0`) shifts the timestep distribution toward higher noise levels. The formula is: +The `--discrete_flow_shift` option (default `1.0`) only applies when `--timestep_sampling` is set to `shift`. The formula is: ``` t_shifted = (t * shift) / (1 + (shift - 1) * t) ``` -Timesteps are clamped to `[1e-5, 1-1e-5]` after shifting. - #### Loss Weighting The `--weighting_scheme` option specifies loss weighting by timestep: @@ -454,23 +498,34 @@ The `--weighting_scheme` option specifies loss weighting by timestep: - `sigma_sqrt`: Weight by `sigma^(-2)`. - `cosmap`: Weight by `2 / (pi * (1 - 2*sigma + 2*sigma^2))`. - `none`: Same as uniform. +- `logit_normal`, `mode`: Additional schemes from SD3 training. See the [`sd3_train_network.md` guide](sd3_train_network.md) for details. #### Caption Dropout -Use `--caption_dropout_rate` for embedding-level caption dropout. This is handled by `AnimaTextEncodingStrategy` and is compatible with text encoder output caching. The subset-level `caption_dropout_rate` is automatically zeroed when this is set. +Caption dropout uses the `caption_dropout_rate` setting from the dataset configuration (per-subset in TOML). When using `--cache_text_encoder_outputs`, the dropout rate is stored with each cached entry and applied during training, so caption dropout is compatible with text encoder output caching. + +**If you change the `caption_dropout_rate` setting, you must delete and regenerate the cache.** + +Note: Currently, only Anima supports combining `caption_dropout_rate` with text encoder output caching.
日本語 #### タイムステップサンプリング -`--timestep_sample_method`でタイムステップのサンプリング方法を指定します: -- `logit_normal`(デフォルト): 正規分布からサンプリングし、sigmoidを適用。 +`--timestep_sampling`でタイムステップのサンプリング方法を指定します。FLUX学習と同じ方法が利用できます: + +- `sigma`: SD3と同様のシグマベースサンプリング。 - `uniform`: [0, 1]の一様分布からサンプリング。 +- `sigmoid`(デフォルト): 正規分布からサンプリングし、sigmoidを適用。汎用的なオプション。 +- `shift`: `sigmoid`と同様だが、離散フローシフトの式を適用。 +- `flux_shift`: FLUX学習で使用される解像度依存のシフト。 + +詳細は[flux_train_network.pyのガイド](flux_train_network.md)を参照してください。 #### 離散フローシフト -`--discrete_flow_shift`(デフォルト`3.0`)はタイムステップ分布を高ノイズ側にシフトします。 +`--discrete_flow_shift`(デフォルト`1.0`)は`--timestep_sampling`が`shift`の場合のみ適用されます。 #### 損失の重み付け @@ -478,7 +533,11 @@ Use `--caption_dropout_rate` for embedding-level caption dropout. This is handle #### キャプションドロップアウト -`--caption_dropout_rate`で埋め込みレベルのキャプションドロップアウトを使用します。テキストエンコーダー出力のキャッシュと互換性があります。 +キャプションドロップアウトにはデータセット設定(TOMLでのサブセット単位)の`caption_dropout_rate`を使用します。`--cache_text_encoder_outputs`使用時は、ドロップアウト率が各キャッシュエントリとともに保存され、学習中に適用されるため、テキストエンコーダー出力キャッシュと同時に使用できます。 + +**`caption_dropout_rate`の設定を変えた場合、キャッシュを削除し、再生成する必要があります。** + +※`caption_dropout_rate`をテキストエンコーダー出力キャッシュと組み合わせられるのは、今のところAnimaのみです。
@@ -487,17 +546,23 @@ Use `--caption_dropout_rate` for embedding-level caption dropout. This is handle Anima LoRA training supports training Qwen3 text encoder LoRA: - To train only DiT: specify `--network_train_unet_only` -- To train DiT and Qwen3: omit `--network_train_unet_only` +- To train DiT and Qwen3: omit `--network_train_unet_only` and do NOT use `--cache_text_encoder_outputs` You can specify a separate learning rate for Qwen3 with `--text_encoder_lr`. If not specified, the default `--learning_rate` is used. +Note: When `--cache_text_encoder_outputs` is used, text encoder outputs are pre-computed and the text encoder is removed from GPU, so text encoder LoRA cannot be trained. +
日本語 Anima LoRA学習では、Qwen3テキストエンコーダーのLoRAもトレーニングできます。 - DiTのみ学習: `--network_train_unet_only`を指定 -- DiTとQwen3を学習: `--network_train_unet_only`を省略 +- DiTとQwen3を学習: `--network_train_unet_only`を省略し、`--cache_text_encoder_outputs`を使用しない + +Qwen3に個別の学習率を指定するには`--text_encoder_lr`を使用します。未指定の場合は`--learning_rate`が使われます。 + +注意: `--cache_text_encoder_outputs`を使用する場合、テキストエンコーダーの出力が事前に計算されGPUから解放されるため、テキストエンコーダーLoRAは学習できません。
@@ -528,16 +593,47 @@ Anima LoRA学習では、Qwen3テキストエンコーダーのLoRAもトレー
-## 9. Others / その他 +## 9. Related Tools / 関連ツール + +### `networks/anima_convert_lora_to_comfy.py` + +A script to convert LoRA models to ComfyUI-compatible format. ComfyUI does not directly support sd-scripts format Qwen3 LoRA, so conversion is necessary (conversion may not be needed for DiT-only LoRA). You can convert from the sd-scripts format to ComfyUI format with: + +```bash +python networks/convert_anima_lora_to_comfy.py path/to/source.safetensors path/to/destination.safetensors +``` + +Using the `--reverse` option allows conversion in the opposite direction (ComfyUI format to sd-scripts format). However, reverse conversion is only possible for LoRAs converted by this script. LoRAs created with other training tools cannot be converted. + +
+日本語 + +**`networks/convert_anima_lora_to_comfy.py`** + +LoRAモデルをComfyUI互換形式に変換するスクリプト。ComfyUIがsd-scripts形式のQwen3 LoRAを直接サポートしていないため、変換が必要です(DiTのみのLoRAの場合は変換不要のようです)。sd-scripts形式からComfyUI形式への変換は以下のコマンドで行います: + +```bash +python networks/convert_anima_lora_to_comfy.py path/to/source.safetensors path/to/destination.safetensors +``` + +`--reverse`オプションを付けると、逆変換(ComfyUI形式からsd-scripts形式)も可能です。ただし、逆変換ができるのはこのスクリプトで変換したLoRAに限ります。他の学習ツールで作成したLoRAは変換できません。 + +
+ + +## 10. Others / その他 ### Metadata Saved in LoRA Models -The following Anima-specific metadata is saved in the LoRA model file: +The following metadata is saved in the LoRA model file: * `ss_weighting_scheme` -* `ss_discrete_flow_shift` -* `ss_timestep_sample_method` +* `ss_logit_mean` +* `ss_logit_std` +* `ss_mode_scale` +* `ss_timestep_sampling` * `ss_sigmoid_scale` +* `ss_discrete_flow_shift`
日本語 @@ -546,11 +642,14 @@ The following Anima-specific metadata is saved in the LoRA model file: ### LoRAモデルに保存されるメタデータ -以下のAnima固有のメタデータがLoRAモデルファイルに保存されます: +以下のメタデータがLoRAモデルファイルに保存されます: * `ss_weighting_scheme` -* `ss_discrete_flow_shift` -* `ss_timestep_sample_method` +* `ss_logit_mean` +* `ss_logit_std` +* `ss_mode_scale` +* `ss_timestep_sampling` * `ss_sigmoid_scale` +* `ss_discrete_flow_shift`
diff --git a/library/anima_models.py b/library/anima_models.py index 6aad9d8c3..6828e5980 100644 --- a/library/anima_models.py +++ b/library/anima_models.py @@ -2,7 +2,7 @@ # Original code: NVIDIA CORPORATION & AFFILIATES, licensed under Apache-2.0 import math -from typing import Any, Callable, List, Optional, Tuple, Union +from typing import Any, Optional, Tuple, Union import numpy as np import torch @@ -13,9 +13,7 @@ from torch.utils.checkpoint import checkpoint as torch_checkpoint -from library import custom_offloading_utils -from library.device_utils import clean_memory_on_device - +from library import custom_offloading_utils, attention def to_device(x, device): @@ -39,11 +37,13 @@ def to_cpu(x): else: return x + # Unsloth Offloaded Gradient Checkpointing # Based on Unsloth Zoo by Daniel Han-Chen & the Unsloth team try: from deepspeed.runtime.activation_checkpointing.checkpointing import detach_variable except ImportError: + def detach_variable(inputs, device=None): """Detach tensors from computation graph, optionally moving to a device. @@ -80,11 +80,11 @@ class UnslothOffloadedGradientCheckpointer(torch.autograd.Function): """ @staticmethod - @torch.amp.custom_fwd(device_type='cuda') + @torch.amp.custom_fwd(device_type="cuda") def forward(ctx, forward_function, hidden_states, *args): # Remember the original device for backward pass (multi-GPU support) ctx.input_device = hidden_states.device - saved_hidden_states = hidden_states.to('cpu', non_blocking=True) + saved_hidden_states = hidden_states.to("cpu", non_blocking=True) with torch.no_grad(): output = forward_function(hidden_states, *args) ctx.save_for_backward(saved_hidden_states) @@ -96,7 +96,7 @@ def forward(ctx, forward_function, hidden_states, *args): return output @staticmethod - @torch.amp.custom_bwd(device_type='cuda') + @torch.amp.custom_bwd(device_type="cuda") def backward(ctx, *grads): (hidden_states,) = ctx.saved_tensors hidden_states = hidden_states.to(ctx.input_device, non_blocking=True).detach() @@ -108,8 +108,9 @@ def backward(ctx, *grads): output_tensors = [] grad_tensors = [] - for out, grad in zip(outputs if isinstance(outputs, tuple) else (outputs,), - grads if isinstance(grads, tuple) else (grads,)): + for out, grad in zip( + outputs if isinstance(outputs, tuple) else (outputs,), grads if isinstance(grads, tuple) else (grads,) + ): if isinstance(out, torch.Tensor) and out.requires_grad: output_tensors.append(out) grad_tensors.append(grad) @@ -123,26 +124,6 @@ def unsloth_checkpoint(function, *args): return UnslothOffloadedGradientCheckpointer.apply(function, *args) -# Flash Attention support -try: - from flash_attn.flash_attn_interface import flash_attn_func as _flash_attn_func - FLASH_ATTN_AVAILABLE = True -except ImportError: - _flash_attn_func = None - FLASH_ATTN_AVAILABLE = False - - -def flash_attention_op(q_B_S_H_D: torch.Tensor, k_B_S_H_D: torch.Tensor, v_B_S_H_D: torch.Tensor) -> torch.Tensor: - """Computes multi-head attention using Flash Attention. - - Input format: (batch, seq_len, n_heads, head_dim) - Output format: (batch, seq_len, n_heads * head_dim) — matches torch_attention_op output. - """ - # flash_attn_func expects (B, S, H, D) and returns (B, S, H, D) - out = _flash_attn_func(q_B_S_H_D, k_B_S_H_D, v_B_S_H_D) - return rearrange(out, "b s h d -> b s (h d)") - - from .utils import setup_logging setup_logging() @@ -174,14 +155,10 @@ def _apply_rotary_pos_emb_base( if start_positions is not None: max_offset = torch.max(start_positions) - assert ( - max_offset + cur_seq_len <= max_seq_len - ), f"Rotary Embeddings only supported up to {max_seq_len} sequence length!" + assert max_offset + cur_seq_len <= max_seq_len, f"Rotary Embeddings only supported up to {max_seq_len} sequence length!" freqs = torch.concatenate([freqs[i : i + cur_seq_len] for i in start_positions], dim=1) - assert ( - cur_seq_len <= max_seq_len - ), f"Rotary Embeddings only supported up to {max_seq_len} sequence length!" + assert cur_seq_len <= max_seq_len, f"Rotary Embeddings only supported up to {max_seq_len} sequence length!" freqs = freqs[:cur_seq_len] if tensor_format == "bshd": @@ -205,13 +182,9 @@ def apply_rotary_pos_emb( cu_seqlens: Union[torch.Tensor, None] = None, cp_size: int = 1, ) -> torch.Tensor: - assert not ( - cp_size > 1 and start_positions is not None - ), "start_positions != None with CP SIZE > 1 is not supported!" + assert not (cp_size > 1 and start_positions is not None), "start_positions != None with CP SIZE > 1 is not supported!" - assert ( - tensor_format != "thd" or cu_seqlens is not None - ), "cu_seqlens must not be None when tensor_format is 'thd'." + assert tensor_format != "thd" or cu_seqlens is not None, "cu_seqlens must not be None when tensor_format is 'thd'." assert fused == False @@ -223,9 +196,7 @@ def apply_rotary_pos_emb( _apply_rotary_pos_emb_base( x.unsqueeze(1), freqs, - start_positions=( - start_positions[idx : idx + 1] if start_positions is not None else None - ), + start_positions=(start_positions[idx : idx + 1] if start_positions is not None else None), interleaved=interleaved, ) for idx, x in enumerate(torch.split(t, seqlens)) @@ -262,10 +233,10 @@ def reset_parameters(self) -> None: def _norm(self, x: torch.Tensor) -> torch.Tensor: return x * torch.rsqrt(x.pow(2).mean(-1, keepdim=True) + self.eps) - @torch.amp.autocast(device_type='cuda', dtype=torch.float32) def forward(self, x: torch.Tensor) -> torch.Tensor: - output = self._norm(x.float()).type_as(x) - return output * self.weight + with torch.autocast(device_type=x.device.type, dtype=torch.float32): + output = self._norm(x.float()).type_as(x) + return output * self.weight class GPT2FeedForward(nn.Module): @@ -298,22 +269,6 @@ def forward(self, x: torch.Tensor) -> torch.Tensor: return x -def torch_attention_op(q_B_S_H_D: torch.Tensor, k_B_S_H_D: torch.Tensor, v_B_S_H_D: torch.Tensor) -> torch.Tensor: - """Computes multi-head attention using PyTorch's native scaled_dot_product_attention. - - Input/output format: (batch, seq_len, n_heads, head_dim) - """ - in_q_shape = q_B_S_H_D.shape - in_k_shape = k_B_S_H_D.shape - q_B_H_S_D = rearrange(q_B_S_H_D, "b ... h k -> b h ... k").view(in_q_shape[0], in_q_shape[-2], -1, in_q_shape[-1]) - k_B_H_S_D = rearrange(k_B_S_H_D, "b ... h v -> b h ... v").view(in_k_shape[0], in_k_shape[-2], -1, in_k_shape[-1]) - v_B_H_S_D = rearrange(v_B_S_H_D, "b ... h v -> b h ... v").view(in_k_shape[0], in_k_shape[-2], -1, in_k_shape[-1]) - result_B_S_HD = rearrange( - F.scaled_dot_product_attention(q_B_H_S_D, k_B_H_S_D, v_B_H_S_D), "b h ... l -> b ... (h l)" - ) - return result_B_S_HD - - # Attention module for DiT class Attention(nn.Module): """Multi-head attention supporting both self-attention and cross-attention. @@ -354,8 +309,6 @@ def __init__( self.output_proj = nn.Linear(inner_dim, query_dim, bias=False) self.output_dropout = nn.Dropout(dropout) if dropout > 1e-4 else nn.Identity() - self.attn_op = torch_attention_op - self._query_dim = query_dim self._context_dim = context_dim self._inner_dim = inner_dim @@ -399,18 +352,25 @@ def compute_qkv( return q, k, v - def compute_attention(self, q: torch.Tensor, k: torch.Tensor, v: torch.Tensor) -> torch.Tensor: - result = self.attn_op(q, k, v) # [B, S, H, D] - return self.output_dropout(self.output_proj(result)) - def forward( self, x: torch.Tensor, + attn_params: attention.AttentionParams, context: Optional[torch.Tensor] = None, rope_emb: Optional[torch.Tensor] = None, ) -> torch.Tensor: q, k, v = self.compute_qkv(x, context, rope_emb=rope_emb) - return self.compute_attention(q, k, v) + if q.dtype != v.dtype: + if (not attn_params.supports_fp32 or attn_params.requires_same_dtype) and torch.is_autocast_enabled(): + # FlashAttention requires fp16/bf16, xformers require same dtype; only cast when autocast is active. + target_dtype = v.dtype # v has fp16/bf16 dtype + q = q.to(target_dtype) + k = k.to(target_dtype) + # return self.compute_attention(q, k, v) + qkv = [q, k, v] + del q, k, v + result = attention.attention(qkv, attn_params=attn_params) + return self.output_dropout(self.output_proj(result)) # Positional Embeddings @@ -484,12 +444,8 @@ def reset_parameters(self) -> None: dim_t = self._dim_t self.seq = torch.arange(max(self.max_h, self.max_w, self.max_t)).float().to(self.dim_spatial_range.device) - self.dim_spatial_range = ( - torch.arange(0, dim_h, 2)[: (dim_h // 2)].float().to(self.dim_spatial_range.device) / dim_h - ) - self.dim_temporal_range = ( - torch.arange(0, dim_t, 2)[: (dim_t // 2)].float().to(self.dim_spatial_range.device) / dim_t - ) + self.dim_spatial_range = torch.arange(0, dim_h, 2)[: (dim_h // 2)].float().to(self.dim_spatial_range.device) / dim_h + self.dim_temporal_range = torch.arange(0, dim_t, 2)[: (dim_t // 2)].float().to(self.dim_spatial_range.device) / dim_t def generate_embeddings( self, @@ -664,31 +620,30 @@ def forward(self, sample: torch.Tensor) -> Tuple[torch.Tensor, Optional[torch.Te return emb_B_T_D, adaln_lora_B_T_3D -class FourierFeatures(nn.Module): - """Fourier feature transform: [B] -> [B, D].""" +# Commented out Fourier Features (not used in Anima). Kept for reference. +# class FourierFeatures(nn.Module): +# """Fourier feature transform: [B] -> [B, D].""" - def __init__(self, num_channels: int, bandwidth: int = 1, normalize: bool = False): - super().__init__() - self.register_buffer("freqs", 2 * np.pi * bandwidth * torch.randn(num_channels), persistent=True) - self.register_buffer("phases", 2 * np.pi * torch.rand(num_channels), persistent=True) - self.gain = np.sqrt(2) if normalize else 1 - self.bandwidth = bandwidth - self.num_channels = num_channels - self.reset_parameters() +# def __init__(self, num_channels: int, bandwidth: int = 1, normalize: bool = False): +# super().__init__() +# self.register_buffer("freqs", 2 * np.pi * bandwidth * torch.randn(num_channels), persistent=True) +# self.register_buffer("phases", 2 * np.pi * torch.rand(num_channels), persistent=True) +# self.gain = np.sqrt(2) if normalize else 1 +# self.bandwidth = bandwidth +# self.num_channels = num_channels +# self.reset_parameters() - def reset_parameters(self) -> None: - generator = torch.Generator() - generator.manual_seed(0) - self.freqs = ( - 2 * np.pi * self.bandwidth * torch.randn(self.num_channels, generator=generator).to(self.freqs.device) - ) - self.phases = 2 * np.pi * torch.rand(self.num_channels, generator=generator).to(self.freqs.device) +# def reset_parameters(self) -> None: +# generator = torch.Generator() +# generator.manual_seed(0) +# self.freqs = 2 * np.pi * self.bandwidth * torch.randn(self.num_channels, generator=generator).to(self.freqs.device) +# self.phases = 2 * np.pi * torch.rand(self.num_channels, generator=generator).to(self.freqs.device) - def forward(self, x: torch.Tensor, gain: float = 1.0) -> torch.Tensor: - in_dtype = x.dtype - x = x.to(torch.float32).ger(self.freqs.to(torch.float32)).add(self.phases.to(torch.float32)) - x = x.cos().mul(self.gain * gain).to(in_dtype) - return x +# def forward(self, x: torch.Tensor, gain: float = 1.0) -> torch.Tensor: +# in_dtype = x.dtype +# x = x.to(torch.float32).ger(self.freqs.to(torch.float32)).add(self.phases.to(torch.float32)) +# x = x.cos().mul(self.gain * gain).to(in_dtype) +# return x # Patch Embedding @@ -713,9 +668,7 @@ def __init__( m=spatial_patch_size, n=spatial_patch_size, ), - nn.Linear( - in_channels * spatial_patch_size * spatial_patch_size * temporal_patch_size, out_channels, bias=False - ), + nn.Linear(in_channels * spatial_patch_size * spatial_patch_size * temporal_patch_size, out_channels, bias=False), ) self.dim = in_channels * spatial_patch_size * spatial_patch_size * temporal_patch_size @@ -765,9 +718,7 @@ def __init__( nn.Linear(adaln_lora_dim, self.n_adaln_chunks * hidden_size, bias=False), ) else: - self.adaln_modulation = nn.Sequential( - nn.SiLU(), nn.Linear(hidden_size, self.n_adaln_chunks * hidden_size, bias=False) - ) + self.adaln_modulation = nn.Sequential(nn.SiLU(), nn.Linear(hidden_size, self.n_adaln_chunks * hidden_size, bias=False)) self.init_weights() @@ -790,9 +741,9 @@ def forward( ): if self.use_adaln_lora: assert adaln_lora_B_T_3D is not None - shift_B_T_D, scale_B_T_D = ( - self.adaln_modulation(emb_B_T_D) + adaln_lora_B_T_3D[:, :, : 2 * self.hidden_size] - ).chunk(2, dim=-1) + shift_B_T_D, scale_B_T_D = (self.adaln_modulation(emb_B_T_D) + adaln_lora_B_T_3D[:, :, : 2 * self.hidden_size]).chunk( + 2, dim=-1 + ) else: shift_B_T_D, scale_B_T_D = self.adaln_modulation(emb_B_T_D).chunk(2, dim=-1) @@ -833,7 +784,11 @@ def __init__( self.layer_norm_cross_attn = nn.LayerNorm(x_dim, elementwise_affine=False, eps=1e-6) self.cross_attn = Attention( - x_dim, context_dim, num_heads, x_dim // num_heads, qkv_format="bshd", + x_dim, + context_dim, + num_heads, + x_dim // num_heads, + qkv_format="bshd", ) self.layer_norm_mlp = nn.LayerNorm(x_dim, elementwise_affine=False, eps=1e-6) @@ -904,6 +859,7 @@ def _forward( x_B_T_H_W_D: torch.Tensor, emb_B_T_D: torch.Tensor, crossattn_emb: torch.Tensor, + attn_params: attention.AttentionParams, rope_emb_L_1_1_D: Optional[torch.Tensor] = None, adaln_lora_B_T_3D: Optional[torch.Tensor] = None, extra_per_block_pos_emb: Optional[torch.Tensor] = None, @@ -919,13 +875,13 @@ def _forward( shift_cross_attn_B_T_D, scale_cross_attn_B_T_D, gate_cross_attn_B_T_D = ( self.adaln_modulation_cross_attn(emb_B_T_D) + adaln_lora_B_T_3D ).chunk(3, dim=-1) - shift_mlp_B_T_D, scale_mlp_B_T_D, gate_mlp_B_T_D = ( - self.adaln_modulation_mlp(emb_B_T_D) + adaln_lora_B_T_3D - ).chunk(3, dim=-1) + shift_mlp_B_T_D, scale_mlp_B_T_D, gate_mlp_B_T_D = (self.adaln_modulation_mlp(emb_B_T_D) + adaln_lora_B_T_3D).chunk( + 3, dim=-1 + ) else: - shift_self_attn_B_T_D, scale_self_attn_B_T_D, gate_self_attn_B_T_D = self.adaln_modulation_self_attn( - emb_B_T_D - ).chunk(3, dim=-1) + shift_self_attn_B_T_D, scale_self_attn_B_T_D, gate_self_attn_B_T_D = self.adaln_modulation_self_attn(emb_B_T_D).chunk( + 3, dim=-1 + ) shift_cross_attn_B_T_D, scale_cross_attn_B_T_D, gate_cross_attn_B_T_D = self.adaln_modulation_cross_attn( emb_B_T_D ).chunk(3, dim=-1) @@ -954,11 +910,14 @@ def _adaln_fn(_x, _norm_layer, _scale, _shift): result = rearrange( self.self_attn( rearrange(normalized_x, "b t h w d -> b (t h w) d"), + attn_params, None, rope_emb=rope_emb_L_1_1_D, ), "b (t h w) d -> b t h w d", - t=T, h=H, w=W, + t=T, + h=H, + w=W, ) x_B_T_H_W_D = x_B_T_H_W_D + gate_self_attn_B_T_1_1_D * result @@ -967,11 +926,14 @@ def _adaln_fn(_x, _norm_layer, _scale, _shift): result = rearrange( self.cross_attn( rearrange(normalized_x, "b t h w d -> b (t h w) d"), + attn_params, crossattn_emb, rope_emb=rope_emb_L_1_1_D, ), "b (t h w) d -> b t h w d", - t=T, h=H, w=W, + t=T, + h=H, + w=W, ) x_B_T_H_W_D = result * gate_cross_attn_B_T_1_1_D + x_B_T_H_W_D @@ -987,6 +949,7 @@ def forward( x_B_T_H_W_D: torch.Tensor, emb_B_T_D: torch.Tensor, crossattn_emb: torch.Tensor, + attn_params: attention.AttentionParams, rope_emb_L_1_1_D: Optional[torch.Tensor] = None, adaln_lora_B_T_3D: Optional[torch.Tensor] = None, extra_per_block_pos_emb: Optional[torch.Tensor] = None, @@ -996,8 +959,13 @@ def forward( # Unsloth: async non-blocking CPU RAM offload (fastest offload method) return unsloth_checkpoint( self._forward, - x_B_T_H_W_D, emb_B_T_D, crossattn_emb, - rope_emb_L_1_1_D, adaln_lora_B_T_3D, extra_per_block_pos_emb, + x_B_T_H_W_D, + emb_B_T_D, + crossattn_emb, + attn_params, + rope_emb_L_1_1_D, + adaln_lora_B_T_3D, + extra_per_block_pos_emb, ) elif self.cpu_offload_checkpointing: # Standard cpu offload: blocking transfers @@ -1008,36 +976,54 @@ def custom_forward(*inputs): device_inputs = to_device(inputs, device) outputs = func(*device_inputs) return to_cpu(outputs) + return custom_forward return torch_checkpoint( create_custom_forward(self._forward), - x_B_T_H_W_D, emb_B_T_D, crossattn_emb, - rope_emb_L_1_1_D, adaln_lora_B_T_3D, extra_per_block_pos_emb, + x_B_T_H_W_D, + emb_B_T_D, + crossattn_emb, + attn_params, + rope_emb_L_1_1_D, + adaln_lora_B_T_3D, + extra_per_block_pos_emb, use_reentrant=False, ) else: # Standard gradient checkpointing (no offload) return torch_checkpoint( self._forward, - x_B_T_H_W_D, emb_B_T_D, crossattn_emb, - rope_emb_L_1_1_D, adaln_lora_B_T_3D, extra_per_block_pos_emb, + x_B_T_H_W_D, + emb_B_T_D, + crossattn_emb, + attn_params, + rope_emb_L_1_1_D, + adaln_lora_B_T_3D, + extra_per_block_pos_emb, use_reentrant=False, ) else: return self._forward( - x_B_T_H_W_D, emb_B_T_D, crossattn_emb, - rope_emb_L_1_1_D, adaln_lora_B_T_3D, extra_per_block_pos_emb, + x_B_T_H_W_D, + emb_B_T_D, + crossattn_emb, + attn_params, + rope_emb_L_1_1_D, + adaln_lora_B_T_3D, + extra_per_block_pos_emb, ) -# Main DiT Model: MiniTrainDIT -class MiniTrainDIT(nn.Module): +# Main DiT Model: MiniTrainDIT (renamed to Anima) +class Anima(nn.Module): """Cosmos-Predict2 DiT model for image/video generation. 28 transformer blocks with AdaLN-LoRA modulation, 3D RoPE, and optional LLM Adapter. """ + LATENT_CHANNELS = 16 + def __init__( self, max_img_h: int, @@ -1069,6 +1055,8 @@ def __init__( extra_t_extrapolation_ratio: float = 1.0, rope_enable_fps_modulation: bool = True, use_llm_adapter: bool = False, + attn_mode: str = "torch", + split_attn: bool = False, ) -> None: super().__init__() self.max_img_h = max_img_h @@ -1097,6 +1085,9 @@ def __init__( self.rope_enable_fps_modulation = rope_enable_fps_modulation self.use_llm_adapter = use_llm_adapter + self.attn_mode = attn_mode + self.split_attn = split_attn + # Block swap support self.blocks_to_swap = None self.offloader: Optional[custom_offloading_utils.ModelOffloader] = None @@ -1156,7 +1147,6 @@ def init_weights(self) -> None: self.final_layer.init_weights() self.t_embedding_norm.reset_parameters() - def enable_gradient_checkpointing(self, cpu_offload: bool = False, unsloth_offload: bool = False): for block in self.blocks: block.enable_gradient_checkpointing(cpu_offload=cpu_offload, unsloth_offload=unsloth_offload) @@ -1169,18 +1159,9 @@ def disable_gradient_checkpointing(self): def device(self): return next(self.parameters()).device - - def set_flash_attn(self, use_flash_attn: bool): - """Toggle flash attention for all DiT blocks (self-attn + cross-attn). - - LLM Adapter attention is NOT affected (it uses attention masks incompatible with flash_attn). - """ - if use_flash_attn and not FLASH_ATTN_AVAILABLE: - raise ImportError("flash_attn package is required for --flash_attn but is not installed") - attn_op = flash_attention_op if use_flash_attn else torch_attention_op - for block in self.blocks: - block.self_attn.attn_op = attn_op - block.cross_attn.attn_op = attn_op + @property + def dtype(self): + return next(self.parameters()).dtype def build_patch_embed(self) -> None: in_channels = self.in_channels + 1 if self.concat_padding_mask else self.in_channels @@ -1232,9 +1213,7 @@ def prepare_embedded_sequence( padding_mask = transforms.functional.resize( padding_mask, list(x_B_C_T_H_W.shape[-2:]), interpolation=transforms.InterpolationMode.NEAREST ) - x_B_C_T_H_W = torch.cat( - [x_B_C_T_H_W, padding_mask.unsqueeze(1).repeat(1, 1, x_B_C_T_H_W.shape[2], 1, 1)], dim=1 - ) + x_B_C_T_H_W = torch.cat([x_B_C_T_H_W, padding_mask.unsqueeze(1).repeat(1, 1, x_B_C_T_H_W.shape[2], 1, 1)], dim=1) x_B_T_H_W_D = self.x_embedder(x_B_C_T_H_W) if self.extra_per_block_abs_pos_emb: @@ -1258,7 +1237,6 @@ def unpatchify(self, x_B_T_H_W_M: torch.Tensor) -> torch.Tensor: ) return x_B_C_Tt_Hp_Wp - def enable_block_swap(self, num_blocks: int, device: torch.device): self.blocks_to_swap = num_blocks @@ -1266,9 +1244,7 @@ def enable_block_swap(self, num_blocks: int, device: torch.device): self.blocks_to_swap <= self.num_blocks - 2 ), f"Cannot swap more than {self.num_blocks - 2} blocks. Requested: {self.blocks_to_swap} blocks." - self.offloader = custom_offloading_utils.ModelOffloader( - self.blocks, self.blocks_to_swap, device - ) + self.offloader = custom_offloading_utils.ModelOffloader(self.blocks, self.blocks_to_swap, device) logger.info(f"Anima: Block swap enabled. Swapping {num_blocks} blocks, total blocks: {self.num_blocks}, device: {device}.") def move_to_device_except_swap_blocks(self, device: torch.device): @@ -1282,12 +1258,26 @@ def move_to_device_except_swap_blocks(self, device: torch.device): if self.blocks_to_swap: self.blocks = save_blocks + def switch_block_swap_for_inference(self): + if self.blocks_to_swap is None or self.blocks_to_swap == 0: + return + self.offloader.set_forward_only(True) + self.prepare_block_swap_before_forward() + print(f"Anima: Block swap set to forward only.") + + def switch_block_swap_for_training(self): + if self.blocks_to_swap is None or self.blocks_to_swap == 0: + return + self.offloader.set_forward_only(False) + self.prepare_block_swap_before_forward() + print(f"Anima: Block swap set to forward and backward.") + def prepare_block_swap_before_forward(self): if self.blocks_to_swap is None or self.blocks_to_swap == 0: return self.offloader.prepare_block_devices_before_forward(self.blocks) - def forward( + def forward_mini_train_dit( self, x_B_C_T_H_W: torch.Tensor, timesteps_B_T: torch.Tensor, @@ -1310,7 +1300,7 @@ def forward( t5_attn_mask: Optional T5 attention mask """ # Run LLM adapter inside forward for correct DDP gradient synchronization - if t5_input_ids is not None and self.use_llm_adapter and hasattr(self, 'llm_adapter'): + if t5_input_ids is not None and self.use_llm_adapter and hasattr(self, "llm_adapter"): crossattn_emb = self.llm_adapter( source_hidden_states=crossattn_emb, target_input_ids=t5_input_ids, @@ -1337,16 +1327,13 @@ def forward( "extra_per_block_pos_emb": extra_pos_emb, } + attn_params = attention.AttentionParams.create_attention_params(self.attn_mode, self.split_attn) + for block_idx, block in enumerate(self.blocks): if self.blocks_to_swap: self.offloader.wait_for_block(block_idx) - x_B_T_H_W_D = block( - x_B_T_H_W_D, - t_embedding_B_T_D, - crossattn_emb, - **block_kwargs, - ) + x_B_T_H_W_D = block(x_B_T_H_W_D, t_embedding_B_T_D, crossattn_emb, attn_params, **block_kwargs) if self.blocks_to_swap: self.offloader.submit_move_blocks(self.blocks, block_idx) @@ -1355,6 +1342,36 @@ def forward( x_B_C_Tt_Hp_Wp = self.unpatchify(x_B_T_H_W_O) return x_B_C_Tt_Hp_Wp + def forward( + self, + x: torch.Tensor, + timesteps: torch.Tensor, + context: Optional[torch.Tensor] = None, + fps: Optional[torch.Tensor] = None, + padding_mask: Optional[torch.Tensor] = None, + target_input_ids: Optional[torch.Tensor] = None, + target_attention_mask: Optional[torch.Tensor] = None, + source_attention_mask: Optional[torch.Tensor] = None, + **kwargs, + ) -> torch.Tensor: + context = self._preprocess_text_embeds(context, target_input_ids, target_attention_mask, source_attention_mask) + return self.forward_mini_train_dit(x, timesteps, context, fps=fps, padding_mask=padding_mask, **kwargs) + + def _preprocess_text_embeds( + self, source_hidden_states, target_input_ids, target_attention_mask=None, source_attention_mask=None + ): + if target_input_ids is not None: + context = self.llm_adapter( + source_hidden_states, + target_input_ids, + target_attention_mask=target_attention_mask, + source_attention_mask=source_attention_mask, + ) + context[~target_attention_mask.bool()] = 0 # zero out padding tokens + return context + else: + return source_hidden_states + # LLM Adapter: Bridges Qwen3 embeddings to T5-compatible space class LLMAdapterRMSNorm(nn.Module): @@ -1485,24 +1502,37 @@ def __init__(self, source_dim, model_dim, num_heads=16, mlp_ratio=4.0, self_attn self.norm_mlp = nn.LayerNorm(model_dim) if layer_norm else LLMAdapterRMSNorm(model_dim) self.mlp = nn.Sequential( - nn.Linear(model_dim, int(model_dim * mlp_ratio)), - nn.GELU(), - nn.Linear(int(model_dim * mlp_ratio), model_dim) + nn.Linear(model_dim, int(model_dim * mlp_ratio)), nn.GELU(), nn.Linear(int(model_dim * mlp_ratio), model_dim) ) - def forward(self, x, context, target_attention_mask=None, source_attention_mask=None, - position_embeddings=None, position_embeddings_context=None): + def forward( + self, + x, + context, + target_attention_mask=None, + source_attention_mask=None, + position_embeddings=None, + position_embeddings_context=None, + ): if self.has_self_attn: + # Self-attention: target_attention_mask is not expected to be all zeros normed = self.norm_self_attn(x) - attn_out = self.self_attn(normed, mask=target_attention_mask, - position_embeddings=position_embeddings, - position_embeddings_context=position_embeddings) + attn_out = self.self_attn( + normed, + mask=target_attention_mask, + position_embeddings=position_embeddings, + position_embeddings_context=position_embeddings, + ) x = x + attn_out normed = self.norm_cross_attn(x) - attn_out = self.cross_attn(normed, mask=source_attention_mask, context=context, - position_embeddings=position_embeddings, - position_embeddings_context=position_embeddings_context) + attn_out = self.cross_attn( + normed, + mask=source_attention_mask, + context=context, + position_embeddings=position_embeddings, + position_embeddings_context=position_embeddings_context, + ) x = x + attn_out x = x + self.mlp(self.norm_mlp(x)) @@ -1518,8 +1548,9 @@ class LLMAdapter(nn.Module): Uses T5 token IDs as target input, embeds them, and cross-attends to Qwen3 hidden states. """ - def __init__(self, source_dim, target_dim, model_dim, num_layers=6, num_heads=16, - embed=None, self_attn=False, layer_norm=False): + def __init__( + self, source_dim, target_dim, model_dim, num_layers=6, num_heads=16, embed=None, self_attn=False, layer_norm=False + ): super().__init__() if embed is not None: self.embed = nn.Embedding.from_pretrained(embed.weight) @@ -1530,11 +1561,12 @@ def __init__(self, source_dim, target_dim, model_dim, num_layers=6, num_heads=16 else: self.in_proj = nn.Identity() self.rotary_emb = AdapterRotaryEmbedding(model_dim // num_heads) - self.blocks = nn.ModuleList([ - LLMAdapterTransformerBlock(source_dim, model_dim, num_heads=num_heads, - self_attn=self_attn, layer_norm=layer_norm) - for _ in range(num_layers) - ]) + self.blocks = nn.ModuleList( + [ + LLMAdapterTransformerBlock(source_dim, model_dim, num_heads=num_heads, self_attn=self_attn, layer_norm=layer_norm) + for _ in range(num_layers) + ] + ) self.out_proj = nn.Linear(model_dim, target_dim) self.norm = LLMAdapterRMSNorm(target_dim) @@ -1556,75 +1588,67 @@ def forward(self, source_hidden_states, target_input_ids, target_attention_mask= position_embeddings = self.rotary_emb(x, position_ids) position_embeddings_context = self.rotary_emb(x, position_ids_context) for block in self.blocks: - x = block(x, context, target_attention_mask=target_attention_mask, - source_attention_mask=source_attention_mask, - position_embeddings=position_embeddings, - position_embeddings_context=position_embeddings_context) + x = block( + x, + context, + target_attention_mask=target_attention_mask, + source_attention_mask=source_attention_mask, + position_embeddings=position_embeddings, + position_embeddings_context=position_embeddings_context, + ) return self.norm(self.out_proj(x)) -# VAE Wrapper - -# VAE normalization constants -ANIMA_VAE_MEAN = [ - -0.7571, -0.7089, -0.9113, 0.1075, -0.1745, 0.9653, -0.1517, 1.5508, - 0.4134, -0.0715, 0.5517, -0.3632, -0.1922, -0.9497, 0.2503, -0.2921 -] -ANIMA_VAE_STD = [ - 2.8184, 1.4541, 2.3275, 2.6558, 1.2196, 1.7708, 2.6052, 2.0743, - 3.2687, 2.1526, 2.8652, 1.5579, 1.6382, 1.1253, 2.8251, 1.9160 -] - -# DiT config detection from state_dict -KEEP_IN_HIGH_PRECISION = ['x_embedder', 't_embedder', 't_embedding_norm', 'final_layer'] - - -def get_dit_config(state_dict, key_prefix=''): - """Derive DiT configuration from state_dict weight shapes.""" - dit_config = {} - dit_config["max_img_h"] = 512 - dit_config["max_img_w"] = 512 - dit_config["max_frames"] = 128 - concat_padding_mask = True - dit_config["in_channels"] = (state_dict['{}x_embedder.proj.1.weight'.format(key_prefix)].shape[1] // 4) - int(concat_padding_mask) - dit_config["out_channels"] = 16 - dit_config["patch_spatial"] = 2 - dit_config["patch_temporal"] = 1 - dit_config["model_channels"] = state_dict['{}x_embedder.proj.1.weight'.format(key_prefix)].shape[0] - dit_config["concat_padding_mask"] = concat_padding_mask - dit_config["crossattn_emb_channels"] = 1024 - dit_config["pos_emb_cls"] = "rope3d" - dit_config["pos_emb_learnable"] = True - dit_config["pos_emb_interpolation"] = "crop" - dit_config["min_fps"] = 1 - dit_config["max_fps"] = 30 - - dit_config["use_adaln_lora"] = True - dit_config["adaln_lora_dim"] = 256 - if dit_config["model_channels"] == 2048: - dit_config["num_blocks"] = 28 - dit_config["num_heads"] = 16 - elif dit_config["model_channels"] == 5120: - dit_config["num_blocks"] = 36 - dit_config["num_heads"] = 40 - elif dit_config["model_channels"] == 1280: - dit_config["num_blocks"] = 20 - dit_config["num_heads"] = 20 - - if dit_config["in_channels"] == 16: - dit_config["extra_per_block_abs_pos_emb"] = False - dit_config["rope_h_extrapolation_ratio"] = 4.0 - dit_config["rope_w_extrapolation_ratio"] = 4.0 - dit_config["rope_t_extrapolation_ratio"] = 1.0 - elif dit_config["in_channels"] == 17: - dit_config["extra_per_block_abs_pos_emb"] = False - dit_config["rope_h_extrapolation_ratio"] = 3.0 - dit_config["rope_w_extrapolation_ratio"] = 3.0 - dit_config["rope_t_extrapolation_ratio"] = 1.0 - - dit_config["extra_h_extrapolation_ratio"] = 1.0 - dit_config["extra_w_extrapolation_ratio"] = 1.0 - dit_config["extra_t_extrapolation_ratio"] = 1.0 - dit_config["rope_enable_fps_modulation"] = False - - return dit_config +# Not used currently, but kept for reference + +# def get_dit_config(state_dict, key_prefix=""): +# """Derive DiT configuration from state_dict weight shapes.""" +# dit_config = {} +# dit_config["max_img_h"] = 512 +# dit_config["max_img_w"] = 512 +# dit_config["max_frames"] = 128 +# concat_padding_mask = True +# dit_config["in_channels"] = (state_dict["{}x_embedder.proj.1.weight".format(key_prefix)].shape[1] // 4) - int( +# concat_padding_mask +# ) +# dit_config["out_channels"] = 16 +# dit_config["patch_spatial"] = 2 +# dit_config["patch_temporal"] = 1 +# dit_config["model_channels"] = state_dict["{}x_embedder.proj.1.weight".format(key_prefix)].shape[0] +# dit_config["concat_padding_mask"] = concat_padding_mask +# dit_config["crossattn_emb_channels"] = 1024 +# dit_config["pos_emb_cls"] = "rope3d" +# dit_config["pos_emb_learnable"] = True +# dit_config["pos_emb_interpolation"] = "crop" +# dit_config["min_fps"] = 1 +# dit_config["max_fps"] = 30 + +# dit_config["use_adaln_lora"] = True +# dit_config["adaln_lora_dim"] = 256 +# if dit_config["model_channels"] == 2048: +# dit_config["num_blocks"] = 28 +# dit_config["num_heads"] = 16 +# elif dit_config["model_channels"] == 5120: +# dit_config["num_blocks"] = 36 +# dit_config["num_heads"] = 40 +# elif dit_config["model_channels"] == 1280: +# dit_config["num_blocks"] = 20 +# dit_config["num_heads"] = 20 + +# if dit_config["in_channels"] == 16: +# dit_config["extra_per_block_abs_pos_emb"] = False +# dit_config["rope_h_extrapolation_ratio"] = 4.0 +# dit_config["rope_w_extrapolation_ratio"] = 4.0 +# dit_config["rope_t_extrapolation_ratio"] = 1.0 +# elif dit_config["in_channels"] == 17: +# dit_config["extra_per_block_abs_pos_emb"] = False +# dit_config["rope_h_extrapolation_ratio"] = 3.0 +# dit_config["rope_w_extrapolation_ratio"] = 3.0 +# dit_config["rope_t_extrapolation_ratio"] = 1.0 + +# dit_config["extra_h_extrapolation_ratio"] = 1.0 +# dit_config["extra_w_extrapolation_ratio"] = 1.0 +# dit_config["extra_t_extrapolation_ratio"] = 1.0 +# dit_config["rope_enable_fps_modulation"] = False + +# return dit_config diff --git a/library/anima_train_utils.py b/library/anima_train_utils.py index ef0016b52..3161e79ee 100644 --- a/library/anima_train_utils.py +++ b/library/anima_train_utils.py @@ -1,20 +1,20 @@ # Anima Training Utilities import argparse +import gc import math import os import time -from typing import Dict, List, Optional, Tuple, Union +from typing import Optional import numpy as np import torch -import torch.nn.functional as F -from safetensors.torch import save_file -from accelerate import Accelerator, PartialState +from accelerate import Accelerator from tqdm import tqdm from PIL import Image -from library.device_utils import init_ipex, clean_memory_on_device +from library.device_utils import init_ipex, clean_memory_on_device, synchronize_device +from library import anima_models, anima_utils, train_util, qwen_image_autoencoder_kl init_ipex() @@ -25,29 +25,14 @@ logger = logging.getLogger(__name__) -from library import anima_models, anima_utils, strategy_base, train_util - -from library.sd3_train_utils import FlowMatchEulerDiscreteScheduler, get_sigmas - # Anima-specific training arguments + def add_anima_training_arguments(parser: argparse.ArgumentParser): """Add Anima-specific training arguments to the parser.""" parser.add_argument( - "--dit_path", - type=str, - default=None, - help="Path to Anima DiT model safetensors file", - ) - parser.add_argument( - "--vae_path", - type=str, - default=None, - help="Path to WanVAE safetensors/pth file", - ) - parser.add_argument( - "--qwen3_path", + "--qwen3", type=str, default=None, help="Path to Qwen3-0.6B model (safetensors file or directory)", @@ -86,7 +71,7 @@ def add_anima_training_arguments(parser: argparse.ArgumentParser): "--mod_lr", type=float, default=None, - help="Learning rate for AdaLN modulation layers. None=same as base LR, 0=freeze", + help="Learning rate for AdaLN modulation layers. None=same as base LR, 0=freeze. Note: mod layers are not included in LoRA by default.", ) parser.add_argument( "--t5_tokenizer_path", @@ -113,110 +98,52 @@ def add_anima_training_arguments(parser: argparse.ArgumentParser): help="Timestep distribution shift for rectified flow training (default: 1.0)", ) parser.add_argument( - "--timestep_sample_method", + "--timestep_sampling", type=str, - default="logit_normal", - choices=["logit_normal", "uniform"], - help="Timestep sampling method (default: logit_normal)", + default="sigmoid", + choices=["sigma", "uniform", "sigmoid", "shift", "flux_shift"], + help="Timestep sampling method (default: sigmoid (logit normal))", ) parser.add_argument( "--sigmoid_scale", type=float, default=1.0, - help="Scale factor for logit_normal timestep sampling (default: 1.0)", + help="Scale factor for sigmoid (logit_normal) timestep sampling (default: 1.0)", ) - # Note: --caption_dropout_rate is defined by base add_dataset_arguments(). - # Anima uses embedding-level dropout (via AnimaTextEncodingStrategy.dropout_rate) - # instead of dataset-level caption dropout, so the subset caption_dropout_rate - # is zeroed out in the training scripts to allow caching. parser.add_argument( - "--transformer_dtype", - type=str, + "--attn_mode", + choices=["torch", "xformers", "flash", "sageattn", "sdpa"], # "sdpa" is for backward compatibility default=None, - choices=["float16", "bfloat16", "float32", None], - help="Separate dtype for transformer blocks. If None, uses same as mixed_precision", + help="Attention implementation to use. Default is None (torch). xformers requires --split_attn. sageattn does not support training (inference only). This option overrides --xformers or --sdpa." + " / 使用するAttentionの実装。デフォルトはNone(torch)です。xformersは--split_attnの指定が必要です。sageattnはトレーニングをサポートしていません(推論のみ)。このオプションは--xformersまたは--sdpaを上書きします。", ) parser.add_argument( - "--flash_attn", + "--split_attn", action="store_true", - help="Use Flash Attention for DiT self/cross-attention (requires flash-attn package). " - "Falls back to PyTorch SDPA if flash-attn is not installed.", + help="split attention computation to reduce memory usage / メモリ使用量を減らすためにattention時にバッチを分割する", + ) + parser.add_argument( + "--vae_chunk_size", + type=int, + default=None, + help="Spatial chunk size for VAE encoding/decoding to reduce memory usage. Must be even number. If not specified, chunking is disabled (official behavior)." + + " / メモリ使用量を減らすためのVAEエンコード/デコードの空間チャンクサイズ。偶数である必要があります。未指定の場合、チャンク処理は無効になります(公式の動作)。", + ) + parser.add_argument( + "--vae_disable_cache", + action="store_true", + help="Disable internal VAE caching mechanism to reduce memory usage. Encoding / decoding will also be faster, but this differs from official behavior." + + " / VAEのメモリ使用量を減らすために内部のキャッシュ機構を無効にします。エンコード/デコードも速くなりますが、公式の動作とは異なります。", ) - - -# Noise & Timestep sampling (Rectified Flow) -def get_noisy_model_input_and_timesteps( - args, - latents: torch.Tensor, - noise: torch.Tensor, - device: torch.device, - dtype: torch.dtype, -) -> Tuple[torch.Tensor, torch.Tensor, torch.Tensor]: - """Generate noisy model input and timesteps for rectified flow training. - - Rectified flow: noisy_input = (1 - t) * latents + t * noise - Target: noise - latents - - Args: - args: Training arguments with timestep_sample_method, sigmoid_scale, discrete_flow_shift - latents: Clean latent tensors - noise: Random noise tensors - device: Target device - dtype: Target dtype - - Returns: - (noisy_model_input, timesteps, sigmas) - """ - bs = latents.shape[0] - - timestep_sample_method = getattr(args, 'timestep_sample_method', 'logit_normal') - sigmoid_scale = getattr(args, 'sigmoid_scale', 1.0) - shift = getattr(args, 'discrete_flow_shift', 1.0) - - if timestep_sample_method == 'logit_normal': - dist = torch.distributions.normal.Normal(0, 1) - elif timestep_sample_method == 'uniform': - dist = torch.distributions.uniform.Uniform(0, 1) - else: - raise NotImplementedError(f"Unknown timestep_sample_method: {timestep_sample_method}") - - t = dist.sample((bs,)).to(device) - - if timestep_sample_method == 'logit_normal': - t = t * sigmoid_scale - t = torch.sigmoid(t) - - # Apply shift - if shift is not None and shift != 1.0: - t = (t * shift) / (1 + (shift - 1) * t) - - # Clamp to avoid exact 0 or 1 - t = t.clamp(1e-5, 1.0 - 1e-5) - - # Create noisy input: (1 - t) * latents + t * noise - t_expanded = t.view(-1, *([1] * (latents.ndim - 1))) - - ip_noise_gamma = getattr(args, 'ip_noise_gamma', None) - if ip_noise_gamma: - xi = torch.randn_like(latents, device=latents.device, dtype=dtype) - if getattr(args, 'ip_noise_gamma_random_strength', False): - ip_noise_gamma = torch.rand(1, device=latents.device, dtype=dtype) * ip_noise_gamma - noisy_model_input = (1 - t_expanded) * latents + t_expanded * (noise + ip_noise_gamma * xi) - else: - noisy_model_input = (1 - t_expanded) * latents + t_expanded * noise - - # Sigmas for potential loss weighting - sigmas = t.view(-1, 1) - - return noisy_model_input.to(dtype), t.to(dtype), sigmas.to(dtype) # Loss weighting + def compute_loss_weighting_for_anima(weighting_scheme: str, sigmas: torch.Tensor) -> torch.Tensor: """Compute loss weighting for Anima training. - Same schemes as SD3 but can add Anima-specific ones. + Same schemes as SD3 but can add Anima-specific ones if needed in future. """ if weighting_scheme == "sigma_sqrt": weighting = (sigmas**-2.0).float() @@ -243,7 +170,7 @@ def get_anima_param_groups( """Create parameter groups for Anima training with separate learning rates. Args: - dit: MiniTrainDIT model + dit: Anima model base_lr: Base learning rate self_attn_lr: LR for self-attention layers (None = base_lr, 0 = freeze) cross_attn_lr: LR for cross-attention layers @@ -276,15 +203,15 @@ def get_anima_param_groups( # Store original name for debugging p.original_name = name - if 'llm_adapter' in name: + if "llm_adapter" in name: llm_adapter_params.append(p) - elif '.self_attn' in name: + elif ".self_attn" in name: self_attn_params.append(p) - elif '.cross_attn' in name: + elif ".cross_attn" in name: cross_attn_params.append(p) - elif '.mlp' in name: + elif ".mlp" in name: mlp_params.append(p) - elif '.adaln_modulation' in name: + elif ".adaln_modulation" in name: mod_params.append(p) else: base_params.append(p) @@ -311,9 +238,9 @@ def get_anima_param_groups( p.requires_grad_(False) logger.info(f" Frozen {name} params ({len(params)} parameters)") elif len(params) > 0: - param_groups.append({'params': params, 'lr': lr}) + param_groups.append({"params": params, "lr": lr}) - total_trainable = sum(p.numel() for group in param_groups for p in group['params'] if p.requires_grad) + total_trainable = sum(p.numel() for group in param_groups for p in group["params"] if p.requires_grad) logger.info(f"Total trainable parameters: {total_trainable:,}") return param_groups @@ -325,16 +252,17 @@ def save_anima_model_on_train_end( save_dtype: torch.dtype, epoch: int, global_step: int, - dit: anima_models.MiniTrainDIT, + dit: anima_models.Anima, ): """Save Anima model at the end of training.""" + def sd_saver(ckpt_file, epoch_no, global_step): - sai_metadata = train_util.get_sai_model_spec( - None, args, False, False, False, is_stable_diffusion_ckpt=True - ) + sai_metadata = train_util.get_sai_model_spec_dataclass( + None, args, False, False, False, is_stable_diffusion_ckpt=True, anima="preview" + ).to_metadata_dict() dit_sd = dit.state_dict() # Save with 'net.' prefix for ComfyUI compatibility - anima_utils.save_anima_model(ckpt_file, dit_sd, save_dtype) + anima_utils.save_anima_model(ckpt_file, dit_sd, sai_metadata, save_dtype) train_util.save_sd_model_on_train_end_common(args, True, True, epoch, global_step, sd_saver, None) @@ -347,15 +275,16 @@ def save_anima_model_on_epoch_end_or_stepwise( epoch: int, num_train_epochs: int, global_step: int, - dit: anima_models.MiniTrainDIT, + dit: anima_models.Anima, ): """Save Anima model at epoch end or specific steps.""" + def sd_saver(ckpt_file, epoch_no, global_step): - sai_metadata = train_util.get_sai_model_spec( - None, args, False, False, False, is_stable_diffusion_ckpt=True - ) + sai_metadata = train_util.get_sai_model_spec_dataclass( + None, args, False, False, False, is_stable_diffusion_ckpt=True, anima="preview" + ).to_metadata_dict() dit_sd = dit.state_dict() - anima_utils.save_anima_model(ckpt_file, dit_sd, save_dtype) + anima_utils.save_anima_model(ckpt_file, dit_sd, sai_metadata, save_dtype) train_util.save_sd_model_on_epoch_end_or_stepwise_common( args, @@ -376,12 +305,13 @@ def do_sample( height: int, width: int, seed: Optional[int], - dit: anima_models.MiniTrainDIT, + dit: anima_models.Anima, crossattn_emb: torch.Tensor, steps: int, dtype: torch.dtype, device: torch.device, guidance_scale: float = 1.0, + flow_shift: float = 3.0, neg_crossattn_emb: Optional[torch.Tensor] = None, ) -> torch.Tensor: """Generate a sample using Euler discrete sampling for rectified flow. @@ -389,12 +319,13 @@ def do_sample( Args: height, width: Output image dimensions seed: Random seed (None for random) - dit: MiniTrainDIT model + dit: Anima model crossattn_emb: Cross-attention embeddings (B, N, D) steps: Number of sampling steps dtype: Compute dtype device: Compute device guidance_scale: CFG scale (1.0 = no guidance) + flow_shift: Flow shift parameter for rectified flow neg_crossattn_emb: Negative cross-attention embeddings for CFG Returns: @@ -410,12 +341,13 @@ def do_sample( generator = torch.manual_seed(seed) else: generator = None - noise = torch.randn( - latent.size(), dtype=torch.float32, generator=generator, device="cpu" - ).to(dtype).to(device) + noise = torch.randn(latent.size(), dtype=torch.float32, generator=generator, device="cpu").to(dtype).to(device) # Timestep schedule: linear from 1.0 to 0.0 sigmas = torch.linspace(1.0, 0.0, steps + 1, device=device, dtype=dtype) + flow_shift = float(flow_shift) + if flow_shift != 1.0: + sigmas = (sigmas * flow_shift) / (1 + (flow_shift - 1) * sigmas) # Start from pure noise x = noise.clone() @@ -429,19 +361,13 @@ def do_sample( sigma = sigmas[i] t = sigma.unsqueeze(0) # (1,) - dit.prepare_block_swap_before_forward() - if use_cfg: - # CFG: concat positive and negative - x_input = torch.cat([x, x], dim=0) - t_input = torch.cat([t, t], dim=0) - crossattn_input = torch.cat([crossattn_emb, neg_crossattn_emb], dim=0) - padding_input = torch.cat([padding_mask, padding_mask], dim=0) - - model_output = dit(x_input, t_input, crossattn_input, padding_mask=padding_input) - model_output = model_output.float() + # CFG: two separate passes to reduce memory usage + pos_out = dit(x, t, crossattn_emb, padding_mask=padding_mask) + pos_out = pos_out.float() + neg_out = dit(x, t, neg_crossattn_emb, padding_mask=padding_mask) + neg_out = neg_out.float() - pos_out, neg_out = model_output.chunk(2) model_output = neg_out + guidance_scale * (pos_out - neg_out) else: model_output = dit(x, t, crossattn_emb, padding_mask=padding_mask) @@ -452,7 +378,6 @@ def do_sample( x = x + model_output * dt x = x.to(dtype) - dit.prepare_block_swap_before_forward() return x @@ -461,9 +386,8 @@ def sample_images( args: argparse.Namespace, epoch, steps, - dit, + dit: anima_models.Anima, vae, - vae_scale, text_encoder, tokenize_strategy, text_encoding_strategy, @@ -497,6 +421,8 @@ def sample_images( if text_encoder is not None: text_encoder = accelerator.unwrap_model(text_encoder) + dit.switch_block_swap_for_inference() + prompts = train_util.load_prompts(args.sample_prompts) save_dir = os.path.join(args.output_dir, "sample") os.makedirs(save_dir, exist_ok=True) @@ -511,11 +437,21 @@ def sample_images( with torch.no_grad(), accelerator.autocast(): for prompt_dict in prompts: + dit.prepare_block_swap_before_forward() _sample_image_inference( - accelerator, args, dit, text_encoder, vae, vae_scale, - tokenize_strategy, text_encoding_strategy, - save_dir, prompt_dict, epoch, steps, - sample_prompts_te_outputs, prompt_replacement, + accelerator, + args, + dit, + text_encoder, + vae, + tokenize_strategy, + text_encoding_strategy, + save_dir, + prompt_dict, + epoch, + steps, + sample_prompts_te_outputs, + prompt_replacement, ) # Restore RNG state @@ -523,14 +459,24 @@ def sample_images( if cuda_rng_state is not None: torch.cuda.set_rng_state(cuda_rng_state) + dit.switch_block_swap_for_training() clean_memory_on_device(accelerator.device) def _sample_image_inference( - accelerator, args, dit, text_encoder, vae, vae_scale, - tokenize_strategy, text_encoding_strategy, - save_dir, prompt_dict, epoch, steps, - sample_prompts_te_outputs, prompt_replacement, + accelerator, + args, + dit, + text_encoder, + vae: qwen_image_autoencoder_kl.AutoencoderKLQwenImage, + tokenize_strategy, + text_encoding_strategy, + save_dir, + prompt_dict, + epoch, + steps, + sample_prompts_te_outputs, + prompt_replacement, ): """Generate a single sample image.""" prompt = prompt_dict.get("prompt", "") @@ -540,6 +486,7 @@ def _sample_image_inference( height = prompt_dict.get("height", 512) scale = prompt_dict.get("scale", 7.5) seed = prompt_dict.get("seed") + flow_shift = prompt_dict.get("flow_shift", 3.0) if prompt_replacement is not None: prompt = prompt.replace(prompt_replacement[0], prompt_replacement[1]) @@ -553,7 +500,9 @@ def _sample_image_inference( height = max(64, height - height % 16) width = max(64, width - width % 16) - logger.info(f" prompt: {prompt}, size: {width}x{height}, steps: {sample_steps}, scale: {scale}") + logger.info( + f" prompt: {prompt}, size: {width}x{height}, steps: {sample_steps}, scale: {scale}, flow_shift: {flow_shift}, seed: {seed}" + ) # Encode prompt def encode_prompt(prpt): @@ -579,13 +528,13 @@ def encode_prompt(prpt): t5_input_ids = torch.from_numpy(t5_input_ids).unsqueeze(0) t5_attn_mask = torch.from_numpy(t5_attn_mask).unsqueeze(0) - prompt_embeds = prompt_embeds.to(accelerator.device, dtype=dit.t_embedding_norm.weight.dtype) + prompt_embeds = prompt_embeds.to(accelerator.device, dtype=dit.dtype) attn_mask = attn_mask.to(accelerator.device) t5_input_ids = t5_input_ids.to(accelerator.device, dtype=torch.long) t5_attn_mask = t5_attn_mask.to(accelerator.device) # Process through LLM adapter if available - if dit.use_llm_adapter and hasattr(dit, 'llm_adapter'): + if dit.use_llm_adapter: crossattn_emb = dit.llm_adapter( source_hidden_states=prompt_embeds, target_input_ids=t5_input_ids, @@ -608,12 +557,12 @@ def encode_prompt(prpt): neg_t5_ids = torch.from_numpy(neg_t5_ids).unsqueeze(0) neg_t5_am = torch.from_numpy(neg_t5_am).unsqueeze(0) - neg_pe = neg_pe.to(accelerator.device, dtype=dit.t_embedding_norm.weight.dtype) + neg_pe = neg_pe.to(accelerator.device, dtype=dit.dtype) neg_am = neg_am.to(accelerator.device) neg_t5_ids = neg_t5_ids.to(accelerator.device, dtype=torch.long) neg_t5_am = neg_t5_am.to(accelerator.device) - if dit.use_llm_adapter and hasattr(dit, 'llm_adapter'): + if dit.use_llm_adapter: neg_crossattn_emb = dit.llm_adapter( source_hidden_states=neg_pe, target_input_ids=neg_t5_ids, @@ -627,16 +576,16 @@ def encode_prompt(prpt): # Generate sample clean_memory_on_device(accelerator.device) latents = do_sample( - height, width, seed, dit, crossattn_emb, - sample_steps, dit.t_embedding_norm.weight.dtype, - accelerator.device, scale, neg_crossattn_emb, + height, width, seed, dit, crossattn_emb, sample_steps, dit.dtype, accelerator.device, scale, flow_shift, neg_crossattn_emb ) # Decode latents + gc.collect() + synchronize_device(accelerator.device) clean_memory_on_device(accelerator.device) - org_vae_device = next(vae.parameters()).device + org_vae_device = vae.device vae.to(accelerator.device) - decoded = vae.decode(latents.to(next(vae.parameters()).device, dtype=next(vae.parameters()).dtype), vae_scale) + decoded = vae.decode_to_pixels(latents) vae.to(org_vae_device) clean_memory_on_device(accelerator.device) @@ -662,4 +611,5 @@ def encode_prompt(prpt): if "wandb" in [tracker.name for tracker in accelerator.trackers]: wandb_tracker = accelerator.get_tracker("wandb") import wandb + wandb_tracker.log({f"sample_{i}": wandb.Image(image, caption=prompt)}, commit=False) diff --git a/library/anima_utils.py b/library/anima_utils.py index 8c171e0e9..6a4422a8e 100644 --- a/library/anima_utils.py +++ b/library/anima_utils.py @@ -3,10 +3,14 @@ import os from typing import Dict, List, Optional, Union import torch -import torch.nn as nn from safetensors.torch import load_file, save_file from accelerate.utils import set_module_tensor_to_device # kept for potential future use +from accelerate import init_empty_weights +from library.fp8_optimization_utils import apply_fp8_monkey_patch +from library.lora_utils import load_safetensors_with_lora_and_fp8 +from library import anima_models +from library.safetensors_utils import WeightTransformHooks from .utils import setup_logging setup_logging() @@ -14,150 +18,134 @@ logger = logging.getLogger(__name__) -from library import anima_models - -# Keys that should stay in high precision (float32/bfloat16, not quantized) -KEEP_IN_HIGH_PRECISION = ['x_embedder', 't_embedder', 't_embedding_norm', 'final_layer'] +# Original Anima high-precision keys. Kept for reference, but not used currently. +# # Keys that should stay in high precision (float32/bfloat16, not quantized) +# KEEP_IN_HIGH_PRECISION = ["x_embedder", "t_embedder", "t_embedding_norm", "final_layer"] -def load_safetensors(path: str, device: str = "cpu", dtype: Optional[torch.dtype] = None) -> Dict[str, torch.Tensor]: - """Load a safetensors file and optionally cast to dtype.""" - sd = load_file(path, device=device) - if dtype is not None: - sd = {k: v.to(dtype) for k, v in sd.items()} - return sd +FP8_OPTIMIZATION_TARGET_KEYS = ["blocks", ""] +# ".embed." excludes Embedding in LLMAdapter +FP8_OPTIMIZATION_EXCLUDE_KEYS = ["_embedder", "norm", "adaln", "final_layer", ".embed."] -def load_anima_dit( +def load_anima_model( + device: Union[str, torch.device], dit_path: str, - dtype: torch.dtype, - device: Union[str, torch.device] = "cpu", - transformer_dtype: Optional[torch.dtype] = None, - llm_adapter_path: Optional[str] = None, - disable_mmap: bool = False, -) -> anima_models.MiniTrainDIT: - """Load the MiniTrainDIT model from safetensors. + attn_mode: str, + split_attn: bool, + loading_device: Union[str, torch.device], + dit_weight_dtype: Optional[torch.dtype], + fp8_scaled: bool = False, + lora_weights_list: Optional[List[Dict[str, torch.Tensor]]] = None, + lora_multipliers: Optional[list[float]] = None, +) -> anima_models.Anima: + """ + Load Anima model from the specified checkpoint. Args: - dit_path: Path to DiT safetensors file - dtype: Base dtype for model parameters - device: Device to load to - transformer_dtype: Optional separate dtype for transformer blocks (lower precision) - llm_adapter_path: Optional separate path for LLM adapter weights - disable_mmap: If True, disable memory-mapped loading (reduces peak memory) + device (Union[str, torch.device]): Device for optimization or merging + dit_path (str): Path to the DiT model checkpoint. + attn_mode (str): Attention mode to use, e.g., "torch", "flash", etc. + split_attn (bool): Whether to use split attention. + loading_device (Union[str, torch.device]): Device to load the model weights on. + dit_weight_dtype (Optional[torch.dtype]): Data type of the DiT weights. + If None, it will be loaded as is (same as the state_dict) or scaled for fp8. if not None, model weights will be casted to this dtype. + fp8_scaled (bool): Whether to use fp8 scaling for the model weights. + lora_weights_list (Optional[List[Dict[str, torch.Tensor]]]): LoRA weights to apply, if any. + lora_multipliers (Optional[List[float]]): LoRA multipliers for the weights, if any. """ - if transformer_dtype is None: - transformer_dtype = dtype - - logger.info(f"Loading Anima DiT from {dit_path}") - if disable_mmap: - from library.safetensors_utils import load_safetensors as load_safetensors_no_mmap - state_dict = load_safetensors_no_mmap(dit_path, device="cpu", disable_mmap=True) - else: - state_dict = load_file(dit_path, device="cpu") - - # Remove 'net.' prefix if present - new_state_dict = {} - for k, v in state_dict.items(): - if k.startswith('net.'): - k = k[len('net.'):] - new_state_dict[k] = v - state_dict = new_state_dict - - # Derive config from state_dict - dit_config = anima_models.get_dit_config(state_dict) - - # Detect LLM adapter - if llm_adapter_path is not None: - use_llm_adapter = True - dit_config['use_llm_adapter'] = True - llm_adapter_state_dict = load_safetensors(llm_adapter_path, device="cpu") - elif 'llm_adapter.out_proj.weight' in state_dict: - use_llm_adapter = True - dit_config['use_llm_adapter'] = True - llm_adapter_state_dict = None # Loaded as part of DiT - else: - use_llm_adapter = False - llm_adapter_state_dict = None - - logger.info(f"DiT config: model_channels={dit_config['model_channels']}, num_blocks={dit_config['num_blocks']}, " - f"num_heads={dit_config['num_heads']}, use_llm_adapter={use_llm_adapter}") + # dit_weight_dtype is None for fp8_scaled + assert ( + not fp8_scaled and dit_weight_dtype is not None + ) or dit_weight_dtype is None, "dit_weight_dtype should be None when fp8_scaled is True" + + device = torch.device(device) + loading_device = torch.device(loading_device) + + # We currently support fixed DiT config for Anima models + dit_config = { + "max_img_h": 512, + "max_img_w": 512, + "max_frames": 128, + "in_channels": 16, + "out_channels": 16, + "patch_spatial": 2, + "patch_temporal": 1, + "model_channels": 2048, + "concat_padding_mask": True, + "crossattn_emb_channels": 1024, + "pos_emb_cls": "rope3d", + "pos_emb_learnable": True, + "pos_emb_interpolation": "crop", + "min_fps": 1, + "max_fps": 30, + "use_adaln_lora": True, + "adaln_lora_dim": 256, + "num_blocks": 28, + "num_heads": 16, + "extra_per_block_abs_pos_emb": False, + "rope_h_extrapolation_ratio": 4.0, + "rope_w_extrapolation_ratio": 4.0, + "rope_t_extrapolation_ratio": 1.0, + "extra_h_extrapolation_ratio": 1.0, + "extra_w_extrapolation_ratio": 1.0, + "extra_t_extrapolation_ratio": 1.0, + "rope_enable_fps_modulation": False, + "use_llm_adapter": True, + "attn_mode": attn_mode, + "split_attn": split_attn, + } + with init_empty_weights(): + model = anima_models.Anima(**dit_config) + if dit_weight_dtype is not None: + model.to(dit_weight_dtype) + + # load model weights with dynamic fp8 optimization and LoRA merging if needed + logger.info(f"Loading DiT model from {dit_path}, device={loading_device}") + rename_hooks = WeightTransformHooks(rename_hook=lambda k: k[len("net.") :] if k.startswith("net.") else k) + sd = load_safetensors_with_lora_and_fp8( + model_files=dit_path, + lora_weights_list=lora_weights_list, + lora_multipliers=lora_multipliers, + fp8_optimization=fp8_scaled, + calc_device=device, + move_to_device=(loading_device == device), + dit_weight_dtype=dit_weight_dtype, + target_keys=FP8_OPTIMIZATION_TARGET_KEYS, + exclude_keys=FP8_OPTIMIZATION_EXCLUDE_KEYS, + weight_transform_hooks=rename_hooks, + ) - # Build model normally on CPU — buffers get proper values from __init__ - dit = anima_models.MiniTrainDIT(**dit_config) + if fp8_scaled: + apply_fp8_monkey_patch(model, sd, use_scaled_mm=False) - # Merge LLM adapter weights into state_dict if loaded separately - if use_llm_adapter and llm_adapter_state_dict is not None: - for k, v in llm_adapter_state_dict.items(): - state_dict[f"llm_adapter.{k}"] = v + if loading_device.type != "cpu": + # make sure all the model weights are on the loading_device + logger.info(f"Moving weights to {loading_device}") + for key in sd.keys(): + sd[key] = sd[key].to(loading_device) - # Load checkpoint: strict=False keeps buffers not in checkpoint (e.g. pos_embedder.seq) - missing, unexpected = dit.load_state_dict(state_dict, strict=False) + missing, unexpected = model.load_state_dict(sd, strict=False, assign=True) if missing: # Filter out expected missing buffers (initialized in __init__, not saved in checkpoint) - unexpected_missing = [k for k in missing if not any( - buf_name in k for buf_name in ('seq', 'dim_spatial_range', 'dim_temporal_range', 'inv_freq') - )] + unexpected_missing = [ + k + for k in missing + if not any(buf_name in k for buf_name in ("seq", "dim_spatial_range", "dim_temporal_range", "inv_freq")) + ] if unexpected_missing: - logger.warning(f"Missing keys in checkpoint: {unexpected_missing[:10]}{'...' if len(unexpected_missing) > 10 else ''}") + # Raise error to avoid silent failures + raise RuntimeError( + f"Missing keys in checkpoint: {unexpected_missing[:10]}{'...' if len(unexpected_missing) > 10 else ''}" + ) + missing = {} # all missing keys were expected if unexpected: - logger.info(f"Unexpected keys in checkpoint (ignored): {unexpected[:5]}{'...' if len(unexpected) > 5 else ''}") - - # Apply per-parameter dtype (high precision for 1D/critical, transformer_dtype for rest) - for name, p in dit.named_parameters(): - dtype_to_use = dtype if ( - any(keyword in name for keyword in KEEP_IN_HIGH_PRECISION) or p.ndim == 1 - ) else transformer_dtype - p.data = p.data.to(dtype=dtype_to_use) - - dit.to(device) - logger.info(f"Loaded Anima DiT successfully. Parameters: {sum(p.numel() for p in dit.parameters()):,}") - return dit - - -def load_anima_vae(vae_path: str, dtype: torch.dtype = torch.float32, device: str = "cpu"): - """Load WanVAE from a safetensors/pth file. - - Returns (vae_model, mean_tensor, std_tensor, scale). - """ - from library.anima_models import ANIMA_VAE_MEAN, ANIMA_VAE_STD - - logger.info(f"Loading Anima VAE from {vae_path}") - - # VAE config (fixed for WanVAE) - vae_config = dict( - dim=96, - z_dim=16, - dim_mult=[1, 2, 4, 4], - num_res_blocks=2, - attn_scales=[], - temperal_downsample=[False, True, True], - dropout=0.0, - ) - - from library.anima_vae import WanVAE_ - - # Build model - with torch.device('meta'): - vae = WanVAE_(**vae_config) + # Raise error to avoid silent failures + raise RuntimeError(f"Unexpected keys in checkpoint: {unexpected[:5]}{'...' if len(unexpected) > 5 else ''}") + logger.info(f"Loaded DiT model from {dit_path}, unexpected missing keys: {len(missing)}, unexpected keys: {len(unexpected)}") - # Load state dict - if vae_path.endswith('.safetensors'): - vae_sd = load_file(vae_path, device='cpu') - else: - vae_sd = torch.load(vae_path, map_location='cpu', weights_only=True) - - vae.load_state_dict(vae_sd, assign=True) - vae = vae.eval().requires_grad_(False).to(device, dtype=dtype) - - # Create normalization tensors - mean = torch.tensor(ANIMA_VAE_MEAN, dtype=dtype, device=device) - std = torch.tensor(ANIMA_VAE_STD, dtype=dtype, device=device) - scale = [mean, 1.0 / std] - - logger.info(f"Loaded Anima VAE successfully.") - return vae, mean, std, scale + return model def load_qwen3_tokenizer(qwen3_path: str): @@ -175,7 +163,7 @@ def load_qwen3_tokenizer(qwen3_path: str): if os.path.isdir(qwen3_path): tokenizer = AutoTokenizer.from_pretrained(qwen3_path, local_files_only=True) else: - config_dir = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'configs', 'qwen3_06b') + config_dir = os.path.join(os.path.dirname(os.path.dirname(__file__)), "configs", "qwen3_06b") if not os.path.exists(config_dir): raise FileNotFoundError( f"Qwen3 config directory not found at {config_dir}. " @@ -190,7 +178,13 @@ def load_qwen3_tokenizer(qwen3_path: str): return tokenizer -def load_qwen3_text_encoder(qwen3_path: str, dtype: torch.dtype = torch.bfloat16, device: str = "cpu"): +def load_qwen3_text_encoder( + qwen3_path: str, + dtype: torch.dtype = torch.bfloat16, + device: str = "cpu", + lora_weights: Optional[List[Dict[str, torch.Tensor]]] = None, + lora_multipliers: Optional[List[float]] = None, +): """Load Qwen3-0.6B text encoder. Args: @@ -209,12 +203,10 @@ def load_qwen3_text_encoder(qwen3_path: str, dtype: torch.dtype = torch.bfloat16 if os.path.isdir(qwen3_path): # Directory with full model tokenizer = AutoTokenizer.from_pretrained(qwen3_path, local_files_only=True) - model = transformers.AutoModelForCausalLM.from_pretrained( - qwen3_path, torch_dtype=dtype, local_files_only=True - ).model + model = transformers.AutoModelForCausalLM.from_pretrained(qwen3_path, torch_dtype=dtype, local_files_only=True).model else: # Single safetensors file - use configs/qwen3_06b/ for config - config_dir = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'configs', 'qwen3_06b') + config_dir = os.path.join(os.path.dirname(os.path.dirname(__file__)), "configs", "qwen3_06b") if not os.path.exists(config_dir): raise FileNotFoundError( f"Qwen3 config directory not found at {config_dir}. " @@ -227,16 +219,28 @@ def load_qwen3_text_encoder(qwen3_path: str, dtype: torch.dtype = torch.bfloat16 model = transformers.Qwen3ForCausalLM(qwen3_config).model # Load weights - if qwen3_path.endswith('.safetensors'): - state_dict = load_file(qwen3_path, device='cpu') + if qwen3_path.endswith(".safetensors"): + if lora_weights is None: + state_dict = load_file(qwen3_path, device="cpu") + else: + state_dict = load_safetensors_with_lora_and_fp8( + model_files=qwen3_path, + lora_weights_list=lora_weights, + lora_multipliers=lora_multipliers, + fp8_optimization=False, + calc_device=device, + move_to_device=True, + dit_weight_dtype=None, + ) else: - state_dict = torch.load(qwen3_path, map_location='cpu', weights_only=True) + assert lora_weights is None, "LoRA weights merging is only supported for safetensors checkpoints" + state_dict = torch.load(qwen3_path, map_location="cpu", weights_only=True) # Remove 'model.' prefix if present new_sd = {} for k, v in state_dict.items(): - if k.startswith('model.'): - new_sd[k[len('model.'):]] = v + if k.startswith("model."): + new_sd[k[len("model.") :]] = v else: new_sd[k] = v @@ -265,11 +269,11 @@ def load_t5_tokenizer(t5_tokenizer_path: Optional[str] = None): return T5TokenizerFast.from_pretrained(t5_tokenizer_path, local_files_only=True) # Use bundled config - config_dir = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'configs', 't5_old') + config_dir = os.path.join(os.path.dirname(os.path.dirname(__file__)), "configs", "t5_old") if os.path.exists(config_dir): return T5TokenizerFast( - vocab_file=os.path.join(config_dir, 'spiece.model'), - tokenizer_file=os.path.join(config_dir, 'tokenizer.json'), + vocab_file=os.path.join(config_dir, "spiece.model"), + tokenizer_file=os.path.join(config_dir, "tokenizer.json"), ) raise FileNotFoundError( @@ -279,47 +283,27 @@ def load_t5_tokenizer(t5_tokenizer_path: Optional[str] = None): ) -def save_anima_model(save_path: str, dit_state_dict: Dict[str, torch.Tensor], dtype: Optional[torch.dtype] = None): +def save_anima_model( + save_path: str, dit_state_dict: Dict[str, torch.Tensor], metadata: Dict[str, any], dtype: Optional[torch.dtype] = None +): """Save Anima DiT model with 'net.' prefix for ComfyUI compatibility. Args: save_path: Output path (.safetensors) dit_state_dict: State dict from dit.state_dict() + metadata: Metadata dict to include in the safetensors file dtype: Optional dtype to cast to before saving """ prefixed_sd = {} for k, v in dit_state_dict.items(): if dtype is not None: - v = v.to(dtype) - prefixed_sd['net.' + k] = v.contiguous() - - save_file(prefixed_sd, save_path, metadata={'format': 'pt'}) - logger.info(f"Saved Anima model to {save_path}") - - -def vae_encode(tensor: torch.Tensor, vae, scale): - """Encode tensor through WanVAE with normalization. - - Args: - tensor: Input tensor (B, C, T, H, W) in [-1, 1] range - vae: WanVAE_ model - scale: [mean, 1/std] list - - Returns: - Normalized latents - """ - return vae.encode(tensor, scale) - + # v = v.to(dtype) + v = v.detach().clone().to("cpu").to(dtype) # Reduce GPU memory usage during save + prefixed_sd["net." + k] = v.contiguous() -def vae_decode(latents: torch.Tensor, vae, scale): - """Decode latents through WanVAE with denormalization. + if metadata is None: + metadata = {} + metadata["format"] = "pt" # For compatibility with the official .safetensors file - Args: - latents: Normalized latents - vae: WanVAE_ model - scale: [mean, 1/std] list - - Returns: - Decoded tensor in [-1, 1] range - """ - return vae.decode(latents, scale) + save_file(prefixed_sd, save_path, metadata=metadata) # safetensors.save_file cosumes a lot of memory, but Anima is small enough + logger.info(f"Saved Anima model to {save_path}") diff --git a/library/anima_vae.py b/library/anima_vae.py deleted file mode 100644 index 872bdfa2a..000000000 --- a/library/anima_vae.py +++ /dev/null @@ -1,577 +0,0 @@ -import logging - -import torch -import torch.cuda.amp as amp -import torch.nn as nn -import torch.nn.functional as F -from einops import rearrange - -CACHE_T = 2 - - -class CausalConv3d(nn.Conv3d): - """ - Causal 3d convolusion. - """ - - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) - self._padding = (self.padding[2], self.padding[2], self.padding[1], - self.padding[1], 2 * self.padding[0], 0) - self.padding = (0, 0, 0) - - def forward(self, x, cache_x=None): - padding = list(self._padding) - if cache_x is not None and self._padding[4] > 0: - cache_x = cache_x.to(x.device) - x = torch.cat([cache_x, x], dim=2) - padding[4] -= cache_x.shape[2] - x = F.pad(x, padding) - - return super().forward(x) - - -class RMS_norm(nn.Module): - - def __init__(self, dim, channel_first=True, images=True, bias=False): - super().__init__() - broadcastable_dims = (1, 1, 1) if not images else (1, 1) - shape = (dim, *broadcastable_dims) if channel_first else (dim,) - - self.channel_first = channel_first - self.scale = dim**0.5 - self.gamma = nn.Parameter(torch.ones(shape)) - self.bias = nn.Parameter(torch.zeros(shape)) if bias else 0. - - def forward(self, x): - return F.normalize( - x, dim=(1 if self.channel_first else - -1)) * self.scale * self.gamma + self.bias - - -class Upsample(nn.Upsample): - - def forward(self, x): - """ - Fix bfloat16 support for nearest neighbor interpolation. - """ - return super().forward(x.float()).type_as(x) - - -class Resample(nn.Module): - - def __init__(self, dim, mode): - assert mode in ('none', 'upsample2d', 'upsample3d', 'downsample2d', - 'downsample3d') - super().__init__() - self.dim = dim - self.mode = mode - - # layers - if mode == 'upsample2d': - self.resample = nn.Sequential( - Upsample(scale_factor=(2., 2.), mode='nearest-exact'), - nn.Conv2d(dim, dim // 2, 3, padding=1)) - elif mode == 'upsample3d': - self.resample = nn.Sequential( - Upsample(scale_factor=(2., 2.), mode='nearest-exact'), - nn.Conv2d(dim, dim // 2, 3, padding=1)) - self.time_conv = CausalConv3d( - dim, dim * 2, (3, 1, 1), padding=(1, 0, 0)) - - elif mode == 'downsample2d': - self.resample = nn.Sequential( - nn.ZeroPad2d((0, 1, 0, 1)), - nn.Conv2d(dim, dim, 3, stride=(2, 2))) - elif mode == 'downsample3d': - self.resample = nn.Sequential( - nn.ZeroPad2d((0, 1, 0, 1)), - nn.Conv2d(dim, dim, 3, stride=(2, 2))) - self.time_conv = CausalConv3d( - dim, dim, (3, 1, 1), stride=(2, 1, 1), padding=(0, 0, 0)) - - else: - self.resample = nn.Identity() - - def forward(self, x, feat_cache=None, feat_idx=[0]): - b, c, t, h, w = x.size() - if self.mode == 'upsample3d': - if feat_cache is not None: - idx = feat_idx[0] - if feat_cache[idx] is None: - feat_cache[idx] = 'Rep' - feat_idx[0] += 1 - else: - - cache_x = x[:, :, -CACHE_T:, :, :].clone() - if cache_x.shape[2] < 2 and feat_cache[ - idx] is not None and feat_cache[idx] != 'Rep': - # cache last frame of last two chunk - cache_x = torch.cat([ - feat_cache[idx][:, :, -1, :, :].unsqueeze(2).to( - cache_x.device), cache_x - ], - dim=2) - if cache_x.shape[2] < 2 and feat_cache[ - idx] is not None and feat_cache[idx] == 'Rep': - cache_x = torch.cat([ - torch.zeros_like(cache_x).to(cache_x.device), - cache_x - ], - dim=2) - if feat_cache[idx] == 'Rep': - x = self.time_conv(x) - else: - x = self.time_conv(x, feat_cache[idx]) - feat_cache[idx] = cache_x - feat_idx[0] += 1 - - x = x.reshape(b, 2, c, t, h, w) - x = torch.stack((x[:, 0, :, :, :, :], x[:, 1, :, :, :, :]), - 3) - x = x.reshape(b, c, t * 2, h, w) - t = x.shape[2] - x = rearrange(x, 'b c t h w -> (b t) c h w') - x = self.resample(x) - x = rearrange(x, '(b t) c h w -> b c t h w', t=t) - - if self.mode == 'downsample3d': - if feat_cache is not None: - idx = feat_idx[0] - if feat_cache[idx] is None: - feat_cache[idx] = x.clone() - feat_idx[0] += 1 - else: - - cache_x = x[:, :, -1:, :, :].clone() - x = self.time_conv( - torch.cat([feat_cache[idx][:, :, -1:, :, :], x], 2)) - feat_cache[idx] = cache_x - feat_idx[0] += 1 - return x - - def init_weight(self, conv): - conv_weight = conv.weight - nn.init.zeros_(conv_weight) - c1, c2, t, h, w = conv_weight.size() - one_matrix = torch.eye(c1, c2) - init_matrix = one_matrix - nn.init.zeros_(conv_weight) - conv_weight.data[:, :, 1, 0, 0] = init_matrix - conv.weight.data.copy_(conv_weight) - nn.init.zeros_(conv.bias.data) - - def init_weight2(self, conv): - conv_weight = conv.weight.data - nn.init.zeros_(conv_weight) - c1, c2, t, h, w = conv_weight.size() - init_matrix = torch.eye(c1 // 2, c2) - conv_weight[:c1 // 2, :, -1, 0, 0] = init_matrix - conv_weight[c1 // 2:, :, -1, 0, 0] = init_matrix - conv.weight.data.copy_(conv_weight) - nn.init.zeros_(conv.bias.data) - - -class ResidualBlock(nn.Module): - - def __init__(self, in_dim, out_dim, dropout=0.0): - super().__init__() - self.in_dim = in_dim - self.out_dim = out_dim - - # layers - self.residual = nn.Sequential( - RMS_norm(in_dim, images=False), nn.SiLU(), - CausalConv3d(in_dim, out_dim, 3, padding=1), - RMS_norm(out_dim, images=False), nn.SiLU(), nn.Dropout(dropout), - CausalConv3d(out_dim, out_dim, 3, padding=1)) - self.shortcut = CausalConv3d(in_dim, out_dim, 1) \ - if in_dim != out_dim else nn.Identity() - - def forward(self, x, feat_cache=None, feat_idx=[0]): - h = self.shortcut(x) - for layer in self.residual: - if isinstance(layer, CausalConv3d) and feat_cache is not None: - idx = feat_idx[0] - cache_x = x[:, :, -CACHE_T:, :, :].clone() - if cache_x.shape[2] < 2 and feat_cache[idx] is not None: - # cache last frame of last two chunk - cache_x = torch.cat([ - feat_cache[idx][:, :, -1, :, :].unsqueeze(2).to( - cache_x.device), cache_x - ], - dim=2) - x = layer(x, feat_cache[idx]) - feat_cache[idx] = cache_x - feat_idx[0] += 1 - else: - x = layer(x) - return x + h - - -class AttentionBlock(nn.Module): - """ - Causal self-attention with a single head. - """ - - def __init__(self, dim): - super().__init__() - self.dim = dim - - # layers - self.norm = RMS_norm(dim) - self.to_qkv = nn.Conv2d(dim, dim * 3, 1) - self.proj = nn.Conv2d(dim, dim, 1) - - # zero out the last layer params - nn.init.zeros_(self.proj.weight) - - def forward(self, x): - identity = x - b, c, t, h, w = x.size() - x = rearrange(x, 'b c t h w -> (b t) c h w') - x = self.norm(x) - # compute query, key, value - q, k, v = self.to_qkv(x).reshape(b * t, 1, c * 3, - -1).permute(0, 1, 3, - 2).contiguous().chunk( - 3, dim=-1) - - # apply attention - x = F.scaled_dot_product_attention( - q, - k, - v, - ) - x = x.squeeze(1).permute(0, 2, 1).reshape(b * t, c, h, w) - - # output - x = self.proj(x) - x = rearrange(x, '(b t) c h w-> b c t h w', t=t) - return x + identity - - -class Encoder3d(nn.Module): - - def __init__(self, - dim=128, - z_dim=4, - dim_mult=[1, 2, 4, 4], - num_res_blocks=2, - attn_scales=[], - temperal_downsample=[True, True, False], - dropout=0.0): - super().__init__() - self.dim = dim - self.z_dim = z_dim - self.dim_mult = dim_mult - self.num_res_blocks = num_res_blocks - self.attn_scales = attn_scales - self.temperal_downsample = temperal_downsample - - # dimensions - dims = [dim * u for u in [1] + dim_mult] - scale = 1.0 - - # init block - self.conv1 = CausalConv3d(3, dims[0], 3, padding=1) - - # downsample blocks - downsamples = [] - for i, (in_dim, out_dim) in enumerate(zip(dims[:-1], dims[1:])): - # residual (+attention) blocks - for _ in range(num_res_blocks): - downsamples.append(ResidualBlock(in_dim, out_dim, dropout)) - if scale in attn_scales: - downsamples.append(AttentionBlock(out_dim)) - in_dim = out_dim - - # downsample block - if i != len(dim_mult) - 1: - mode = 'downsample3d' if temperal_downsample[ - i] else 'downsample2d' - downsamples.append(Resample(out_dim, mode=mode)) - scale /= 2.0 - self.downsamples = nn.Sequential(*downsamples) - - # middle blocks - self.middle = nn.Sequential( - ResidualBlock(out_dim, out_dim, dropout), AttentionBlock(out_dim), - ResidualBlock(out_dim, out_dim, dropout)) - - # output blocks - self.head = nn.Sequential( - RMS_norm(out_dim, images=False), nn.SiLU(), - CausalConv3d(out_dim, z_dim, 3, padding=1)) - - def forward(self, x, feat_cache=None, feat_idx=[0]): - if feat_cache is not None: - idx = feat_idx[0] - cache_x = x[:, :, -CACHE_T:, :, :].clone() - if cache_x.shape[2] < 2 and feat_cache[idx] is not None: - # cache last frame of last two chunk - cache_x = torch.cat([ - feat_cache[idx][:, :, -1, :, :].unsqueeze(2).to( - cache_x.device), cache_x - ], - dim=2) - x = self.conv1(x, feat_cache[idx]) - feat_cache[idx] = cache_x - feat_idx[0] += 1 - else: - x = self.conv1(x) - - ## downsamples - for layer in self.downsamples: - if feat_cache is not None: - x = layer(x, feat_cache, feat_idx) - else: - x = layer(x) - - ## middle - for layer in self.middle: - if isinstance(layer, ResidualBlock) and feat_cache is not None: - x = layer(x, feat_cache, feat_idx) - else: - x = layer(x) - - ## head - for layer in self.head: - if isinstance(layer, CausalConv3d) and feat_cache is not None: - idx = feat_idx[0] - cache_x = x[:, :, -CACHE_T:, :, :].clone() - if cache_x.shape[2] < 2 and feat_cache[idx] is not None: - # cache last frame of last two chunk - cache_x = torch.cat([ - feat_cache[idx][:, :, -1, :, :].unsqueeze(2).to( - cache_x.device), cache_x - ], - dim=2) - x = layer(x, feat_cache[idx]) - feat_cache[idx] = cache_x - feat_idx[0] += 1 - else: - x = layer(x) - return x - - -class Decoder3d(nn.Module): - - def __init__(self, - dim=128, - z_dim=4, - dim_mult=[1, 2, 4, 4], - num_res_blocks=2, - attn_scales=[], - temperal_upsample=[False, True, True], - dropout=0.0): - super().__init__() - self.dim = dim - self.z_dim = z_dim - self.dim_mult = dim_mult - self.num_res_blocks = num_res_blocks - self.attn_scales = attn_scales - self.temperal_upsample = temperal_upsample - - # dimensions - dims = [dim * u for u in [dim_mult[-1]] + dim_mult[::-1]] - scale = 1.0 / 2**(len(dim_mult) - 2) - - # init block - self.conv1 = CausalConv3d(z_dim, dims[0], 3, padding=1) - - # middle blocks - self.middle = nn.Sequential( - ResidualBlock(dims[0], dims[0], dropout), AttentionBlock(dims[0]), - ResidualBlock(dims[0], dims[0], dropout)) - - # upsample blocks - upsamples = [] - for i, (in_dim, out_dim) in enumerate(zip(dims[:-1], dims[1:])): - # residual (+attention) blocks - if i == 1 or i == 2 or i == 3: - in_dim = in_dim // 2 - for _ in range(num_res_blocks + 1): - upsamples.append(ResidualBlock(in_dim, out_dim, dropout)) - if scale in attn_scales: - upsamples.append(AttentionBlock(out_dim)) - in_dim = out_dim - - # upsample block - if i != len(dim_mult) - 1: - mode = 'upsample3d' if temperal_upsample[i] else 'upsample2d' - upsamples.append(Resample(out_dim, mode=mode)) - scale *= 2.0 - self.upsamples = nn.Sequential(*upsamples) - - # output blocks - self.head = nn.Sequential( - RMS_norm(out_dim, images=False), nn.SiLU(), - CausalConv3d(out_dim, 3, 3, padding=1)) - - def forward(self, x, feat_cache=None, feat_idx=[0]): - ## conv1 - if feat_cache is not None: - idx = feat_idx[0] - cache_x = x[:, :, -CACHE_T:, :, :].clone() - if cache_x.shape[2] < 2 and feat_cache[idx] is not None: - # cache last frame of last two chunk - cache_x = torch.cat([ - feat_cache[idx][:, :, -1, :, :].unsqueeze(2).to( - cache_x.device), cache_x - ], - dim=2) - x = self.conv1(x, feat_cache[idx]) - feat_cache[idx] = cache_x - feat_idx[0] += 1 - else: - x = self.conv1(x) - - ## middle - for layer in self.middle: - if isinstance(layer, ResidualBlock) and feat_cache is not None: - x = layer(x, feat_cache, feat_idx) - else: - x = layer(x) - - ## upsamples - for layer in self.upsamples: - if feat_cache is not None: - x = layer(x, feat_cache, feat_idx) - else: - x = layer(x) - - ## head - for layer in self.head: - if isinstance(layer, CausalConv3d) and feat_cache is not None: - idx = feat_idx[0] - cache_x = x[:, :, -CACHE_T:, :, :].clone() - if cache_x.shape[2] < 2 and feat_cache[idx] is not None: - # cache last frame of last two chunk - cache_x = torch.cat([ - feat_cache[idx][:, :, -1, :, :].unsqueeze(2).to( - cache_x.device), cache_x - ], - dim=2) - x = layer(x, feat_cache[idx]) - feat_cache[idx] = cache_x - feat_idx[0] += 1 - else: - x = layer(x) - return x - - -def count_conv3d(model): - count = 0 - for m in model.modules(): - if isinstance(m, CausalConv3d): - count += 1 - return count - - -class WanVAE_(nn.Module): - - def __init__(self, - dim=128, - z_dim=4, - dim_mult=[1, 2, 4, 4], - num_res_blocks=2, - attn_scales=[], - temperal_downsample=[True, True, False], - dropout=0.0): - super().__init__() - self.dim = dim - self.z_dim = z_dim - self.dim_mult = dim_mult - self.num_res_blocks = num_res_blocks - self.attn_scales = attn_scales - self.temperal_downsample = temperal_downsample - self.temperal_upsample = temperal_downsample[::-1] - - # modules - self.encoder = Encoder3d(dim, z_dim * 2, dim_mult, num_res_blocks, - attn_scales, self.temperal_downsample, dropout) - self.conv1 = CausalConv3d(z_dim * 2, z_dim * 2, 1) - self.conv2 = CausalConv3d(z_dim, z_dim, 1) - self.decoder = Decoder3d(dim, z_dim, dim_mult, num_res_blocks, - attn_scales, self.temperal_upsample, dropout) - - def forward(self, x): - mu, log_var = self.encode(x) - z = self.reparameterize(mu, log_var) - x_recon = self.decode(z) - return x_recon, mu, log_var - - def encode(self, x, scale): - self.clear_cache() - ## cache - t = x.shape[2] - iter_ = 1 + (t - 1) // 4 - for i in range(iter_): - self._enc_conv_idx = [0] - if i == 0: - out = self.encoder( - x[:, :, :1, :, :], - feat_cache=self._enc_feat_map, - feat_idx=self._enc_conv_idx) - else: - out_ = self.encoder( - x[:, :, 1 + 4 * (i - 1):1 + 4 * i, :, :], - feat_cache=self._enc_feat_map, - feat_idx=self._enc_conv_idx) - out = torch.cat([out, out_], 2) - mu, log_var = self.conv1(out).chunk(2, dim=1) - if isinstance(scale[0], torch.Tensor): - mu = (mu - scale[0].view(1, self.z_dim, 1, 1, 1)) * scale[1].view( - 1, self.z_dim, 1, 1, 1) - else: - mu = (mu - scale[0]) * scale[1] - self.clear_cache() - return mu - - def decode(self, z, scale): - self.clear_cache() - # z: [b,c,t,h,w] - if isinstance(scale[0], torch.Tensor): - z = z / scale[1].view(1, self.z_dim, 1, 1, 1) + scale[0].view( - 1, self.z_dim, 1, 1, 1) - else: - z = z / scale[1] + scale[0] - iter_ = z.shape[2] - x = self.conv2(z) - for i in range(iter_): - self._conv_idx = [0] - if i == 0: - out = self.decoder( - x[:, :, i:i + 1, :, :], - feat_cache=self._feat_map, - feat_idx=self._conv_idx) - else: - out_ = self.decoder( - x[:, :, i:i + 1, :, :], - feat_cache=self._feat_map, - feat_idx=self._conv_idx) - out = torch.cat([out, out_], 2) - self.clear_cache() - return out - - def reparameterize(self, mu, log_var): - std = torch.exp(0.5 * log_var) - eps = torch.randn_like(std) - return eps * std + mu - - def sample(self, imgs, deterministic=False): - mu, log_var = self.encode(imgs) - if deterministic: - return mu - std = torch.exp(0.5 * log_var.clamp(-30.0, 20.0)) - return mu + std * torch.randn_like(std) - - def clear_cache(self): - self._conv_num = count_conv3d(self.decoder) - self._conv_idx = [0] - self._feat_map = [None] * self._conv_num - #cache encode - self._enc_conv_num = count_conv3d(self.encoder) - self._enc_conv_idx = [0] - self._enc_feat_map = [None] * self._enc_conv_num diff --git a/library/attention.py b/library/attention.py index d3b8441e2..4f6a54227 100644 --- a/library/attention.py +++ b/library/attention.py @@ -37,6 +37,14 @@ class AttentionParams: cu_seqlens: Optional[torch.Tensor] = None max_seqlen: Optional[int] = None + @property + def supports_fp32(self) -> bool: + return self.attn_mode not in ["flash"] + + @property + def requires_same_dtype(self) -> bool: + return self.attn_mode in ["xformers"] + @staticmethod def create_attention_params(attn_mode: Optional[str], split_attn: bool) -> "AttentionParams": return AttentionParams(attn_mode, split_attn) @@ -95,7 +103,7 @@ def attention( qkv_or_q: Query tensor [B, L, H, D]. or list of such tensors. k: Key tensor [B, L, H, D]. v: Value tensor [B, L, H, D]. - attn_param: Attention parameters including mask and sequence lengths. + attn_params: Attention parameters including mask and sequence lengths. drop_rate: Attention dropout rate. Returns: diff --git a/library/custom_offloading_utils.py b/library/custom_offloading_utils.py index 0681dcdcb..883379cea 100644 --- a/library/custom_offloading_utils.py +++ b/library/custom_offloading_utils.py @@ -195,6 +195,9 @@ def __init__( self.remove_handles.append(handle) def set_forward_only(self, forward_only: bool): + # switching must wait for all pending transfers + for block_idx in list(self.futures.keys()): + self._wait_blocks_move(block_idx) self.forward_only = forward_only def __del__(self): @@ -237,6 +240,10 @@ def prepare_block_devices_before_forward(self, blocks: Union[list[nn.Module], nn if self.debug: print(f"Prepare block devices before forward") + # wait for all pending transfers + for block_idx in list(self.futures.keys()): + self._wait_blocks_move(block_idx) + for b in blocks[0 : self.num_blocks - self.blocks_to_swap]: b.to(self.device) weighs_to_device(b, self.device) # make sure weights are on device diff --git a/library/flux_train_utils.py b/library/flux_train_utils.py index 06fe0b953..c96e4bb6d 100644 --- a/library/flux_train_utils.py +++ b/library/flux_train_utils.py @@ -471,7 +471,7 @@ def compute_loss_weighting_for_sd3(weighting_scheme: str, sigmas=None): def get_noisy_model_input_and_timesteps( args, noise_scheduler, latents: torch.Tensor, noise: torch.Tensor, device, dtype ) -> Tuple[torch.Tensor, torch.Tensor, torch.Tensor]: - bsz, _, h, w = latents.shape + bsz, h, w = latents.shape[0], latents.shape[-2], latents.shape[-1] assert bsz > 0, "Batch size not large enough" num_timesteps = noise_scheduler.config.num_train_timesteps if args.timestep_sampling == "uniform" or args.timestep_sampling == "sigmoid": @@ -512,7 +512,7 @@ def get_noisy_model_input_and_timesteps( sigmas = get_sigmas(noise_scheduler, timesteps, device, n_dim=latents.ndim, dtype=dtype) # Broadcast sigmas to latent shape - sigmas = sigmas.view(-1, 1, 1, 1) + sigmas = sigmas.view(-1, 1, 1, 1) if latents.ndim == 4 else sigmas.view(-1, 1, 1, 1, 1) # Add noise to the latents according to the noise magnitude at each timestep # (this is the forward diffusion process) diff --git a/library/fp8_optimization_utils.py b/library/fp8_optimization_utils.py index 02f99ab6d..af35fd3ea 100644 --- a/library/fp8_optimization_utils.py +++ b/library/fp8_optimization_utils.py @@ -9,7 +9,7 @@ from tqdm import tqdm from library.device_utils import clean_memory_on_device -from library.safetensors_utils import MemoryEfficientSafeOpen +from library.safetensors_utils import MemoryEfficientSafeOpen, TensorWeightAdapter, WeightTransformHooks from library.utils import setup_logging setup_logging() @@ -220,6 +220,8 @@ def quantize_weight( tensor_max = torch.max(torch.abs(tensor).view(-1)) scale = tensor_max / max_value + # print(f"Optimizing {key} with scale: {scale}") + # numerical safety scale = torch.clamp(scale, min=1e-8) scale = scale.to(torch.float32) # ensure scale is in float32 for division @@ -245,6 +247,8 @@ def load_safetensors_with_fp8_optimization( weight_hook=None, quantization_mode: str = "block", block_size: Optional[int] = 64, + disable_numpy_memmap: bool = False, + weight_transform_hooks: Optional[WeightTransformHooks] = None, ) -> dict: """ Load weight tensors from safetensors files and merge LoRA weights into the state dict with explicit FP8 optimization. @@ -260,6 +264,8 @@ def load_safetensors_with_fp8_optimization( weight_hook (callable, optional): Function to apply to each weight tensor before optimization quantization_mode (str): Quantization mode, "tensor", "channel", or "block" block_size (int, optional): Block size for block-wise quantization (used if quantization_mode is "block") + disable_numpy_memmap (bool): Disable numpy memmap when loading safetensors + weight_transform_hooks (WeightTransformHooks, optional): Hooks for weight transformation during loading Returns: dict: FP8 optimized state dict @@ -288,7 +294,9 @@ def is_target_key(key): # Process each file state_dict = {} for model_file in model_files: - with MemoryEfficientSafeOpen(model_file) as f: + with MemoryEfficientSafeOpen(model_file, disable_numpy_memmap=disable_numpy_memmap) as original_f: + f = TensorWeightAdapter(weight_transform_hooks, original_f) if weight_transform_hooks is not None else original_f + keys = f.keys() for key in tqdm(keys, desc=f"Loading {os.path.basename(model_file)}", unit="key"): value = f.get_tensor(key) @@ -311,6 +319,11 @@ def is_target_key(key): value = value.to(calc_device) original_dtype = value.dtype + if original_dtype.itemsize == 1: + raise ValueError( + f"Layer {key} is already in {original_dtype} format. `--fp8_scaled` optimization should not be applied. Please use fp16/bf16/float32 model weights." + + f" / レイヤー {key} は既に{original_dtype}形式です。`--fp8_scaled` 最適化は適用できません。FP16/BF16/Float32のモデル重みを使用してください。" + ) quantized_weight, scale_tensor = quantize_weight( key, value, fp8_dtype, max_value, min_value, quantization_mode, block_size ) @@ -387,7 +400,7 @@ def fp8_linear_forward_patch(self: nn.Linear, x, use_scaled_mm=False, max_value= else: o = torch._scaled_mm(x, weight, out_dtype=input_dtype, scale_a=scale_x, scale_b=scale_weight) - o = o.reshape(original_shape[0], original_shape[1], -1) if x.ndim == 3 else o.reshape(original_shape[0], -1) + o = o.reshape(original_shape[0], original_shape[1], -1) if len(original_shape) == 3 else o.reshape(original_shape[0], -1) return o.to(input_dtype) else: diff --git a/library/lora_utils.py b/library/lora_utils.py index 6f0fc2285..90e3c3896 100644 --- a/library/lora_utils.py +++ b/library/lora_utils.py @@ -5,7 +5,7 @@ from tqdm import tqdm from library.device_utils import synchronize_device from library.fp8_optimization_utils import load_safetensors_with_fp8_optimization -from library.safetensors_utils import MemoryEfficientSafeOpen +from library.safetensors_utils import MemoryEfficientSafeOpen, TensorWeightAdapter, WeightTransformHooks, get_split_weight_filenames from library.utils import setup_logging setup_logging() @@ -44,7 +44,7 @@ def filter_lora_state_dict( def load_safetensors_with_lora_and_fp8( model_files: Union[str, List[str]], - lora_weights_list: Optional[Dict[str, torch.Tensor]], + lora_weights_list: Optional[List[Dict[str, torch.Tensor]]], lora_multipliers: Optional[List[float]], fp8_optimization: bool, calc_device: torch.device, @@ -52,19 +52,23 @@ def load_safetensors_with_lora_and_fp8( dit_weight_dtype: Optional[torch.dtype] = None, target_keys: Optional[List[str]] = None, exclude_keys: Optional[List[str]] = None, + disable_numpy_memmap: bool = False, + weight_transform_hooks: Optional[WeightTransformHooks] = None, ) -> dict[str, torch.Tensor]: """ Merge LoRA weights into the state dict of a model with fp8 optimization if needed. Args: model_files (Union[str, List[str]]): Path to the model file or list of paths. If the path matches a pattern like `00001-of-00004`, it will load all files with the same prefix. - lora_weights_list (Optional[Dict[str, torch.Tensor]]): Dictionary of LoRA weight tensors to load. + lora_weights_list (Optional[List[Dict[str, torch.Tensor]]]): List of dictionaries of LoRA weight tensors to load. lora_multipliers (Optional[List[float]]): List of multipliers for LoRA weights. fp8_optimization (bool): Whether to apply FP8 optimization. calc_device (torch.device): Device to calculate on. move_to_device (bool): Whether to move tensors to the calculation device after loading. target_keys (Optional[List[str]]): Keys to target for optimization. exclude_keys (Optional[List[str]]): Keys to exclude from optimization. + disable_numpy_memmap (bool): Whether to disable numpy memmap when loading safetensors. + weight_transform_hooks (Optional[WeightTransformHooks]): Hooks for transforming weights during loading. """ # if the file name ends with 00001-of-00004 etc, we need to load the files with the same prefix @@ -73,19 +77,9 @@ def load_safetensors_with_lora_and_fp8( extended_model_files = [] for model_file in model_files: - basename = os.path.basename(model_file) - match = re.match(r"^(.*?)(\d+)-of-(\d+)\.safetensors$", basename) - if match: - prefix = basename[: match.start(2)] - count = int(match.group(3)) - state_dict = {} - for i in range(count): - filename = f"{prefix}{i + 1:05d}-of-{count:05d}.safetensors" - filepath = os.path.join(os.path.dirname(model_file), filename) - if os.path.exists(filepath): - extended_model_files.append(filepath) - else: - raise FileNotFoundError(f"File {filepath} not found") + split_filenames = get_split_weight_filenames(model_file) + if split_filenames is not None: + extended_model_files.extend(split_filenames) else: extended_model_files.append(model_file) model_files = extended_model_files @@ -114,7 +108,7 @@ def load_safetensors_with_lora_and_fp8( logger.info(f"Merging LoRA weights into state dict. multipliers: {lora_multipliers}") # make hook for LoRA merging - def weight_hook_func(model_weight_key, model_weight, keep_on_calc_device=False): + def weight_hook_func(model_weight_key, model_weight: torch.Tensor, keep_on_calc_device=False): nonlocal list_of_lora_weight_keys, lora_weights_list, lora_multipliers, calc_device if not model_weight_key.endswith(".weight"): @@ -126,13 +120,18 @@ def weight_hook_func(model_weight_key, model_weight, keep_on_calc_device=False): for lora_weight_keys, lora_sd, multiplier in zip(list_of_lora_weight_keys, lora_weights_list, lora_multipliers): # check if this weight has LoRA weights - lora_name = model_weight_key.rsplit(".", 1)[0] # remove trailing ".weight" - lora_name = "lora_unet_" + lora_name.replace(".", "_") - down_key = lora_name + ".lora_down.weight" - up_key = lora_name + ".lora_up.weight" - alpha_key = lora_name + ".alpha" - if down_key not in lora_weight_keys or up_key not in lora_weight_keys: - continue + lora_name_without_prefix = model_weight_key.rsplit(".", 1)[0] # remove trailing ".weight" + found = False + for prefix in ["lora_unet_", ""]: + lora_name = prefix + lora_name_without_prefix.replace(".", "_") + down_key = lora_name + ".lora_down.weight" + up_key = lora_name + ".lora_up.weight" + alpha_key = lora_name + ".alpha" + if down_key in lora_weight_keys and up_key in lora_weight_keys: + found = True + break + if not found: + continue # no LoRA weights for this model weight # get LoRA weights down_weight = lora_sd[down_key] @@ -145,6 +144,13 @@ def weight_hook_func(model_weight_key, model_weight, keep_on_calc_device=False): down_weight = down_weight.to(calc_device) up_weight = up_weight.to(calc_device) + original_dtype = model_weight.dtype + if original_dtype.itemsize == 1: # fp8 + # temporarily convert to float16 for calculation + model_weight = model_weight.to(torch.float16) + down_weight = down_weight.to(torch.float16) + up_weight = up_weight.to(torch.float16) + # W <- W + U * D if len(model_weight.size()) == 2: # linear @@ -166,6 +172,9 @@ def weight_hook_func(model_weight_key, model_weight, keep_on_calc_device=False): # logger.info(conved.size(), weight.size(), module.stride, module.padding) model_weight = model_weight + multiplier * conved * scale + if original_dtype.itemsize == 1: # fp8 + model_weight = model_weight.to(original_dtype) # convert back to original dtype + # remove LoRA keys from set lora_weight_keys.remove(down_key) lora_weight_keys.remove(up_key) @@ -187,6 +196,8 @@ def weight_hook_func(model_weight_key, model_weight, keep_on_calc_device=False): target_keys, exclude_keys, weight_hook=weight_hook, + disable_numpy_memmap=disable_numpy_memmap, + weight_transform_hooks=weight_transform_hooks, ) for lora_weight_keys in list_of_lora_weight_keys: @@ -208,6 +219,8 @@ def load_safetensors_with_fp8_optimization_and_hook( target_keys: Optional[List[str]] = None, exclude_keys: Optional[List[str]] = None, weight_hook: callable = None, + disable_numpy_memmap: bool = False, + weight_transform_hooks: Optional[WeightTransformHooks] = None, ) -> dict[str, torch.Tensor]: """ Load state dict from safetensors files and merge LoRA weights into the state dict with fp8 optimization if needed. @@ -218,7 +231,14 @@ def load_safetensors_with_fp8_optimization_and_hook( ) # dit_weight_dtype is not used because we use fp8 optimization state_dict = load_safetensors_with_fp8_optimization( - model_files, calc_device, target_keys, exclude_keys, move_to_device=move_to_device, weight_hook=weight_hook + model_files, + calc_device, + target_keys, + exclude_keys, + move_to_device=move_to_device, + weight_hook=weight_hook, + disable_numpy_memmap=disable_numpy_memmap, + weight_transform_hooks=weight_transform_hooks, ) else: logger.info( @@ -226,7 +246,8 @@ def load_safetensors_with_fp8_optimization_and_hook( ) state_dict = {} for model_file in model_files: - with MemoryEfficientSafeOpen(model_file) as f: + with MemoryEfficientSafeOpen(model_file, disable_numpy_memmap=disable_numpy_memmap) as original_f: + f = TensorWeightAdapter(weight_transform_hooks, original_f) if weight_transform_hooks is not None else original_f for key in tqdm(f.keys(), desc=f"Loading {os.path.basename(model_file)}", leave=False): if weight_hook is None and move_to_device: value = f.get_tensor(key, device=calc_device, dtype=dit_weight_dtype) diff --git a/library/qwen_image_autoencoder_kl.py b/library/qwen_image_autoencoder_kl.py new file mode 100644 index 000000000..ab65e3b95 --- /dev/null +++ b/library/qwen_image_autoencoder_kl.py @@ -0,0 +1,1735 @@ +# Copied and modified from Diffusers (via Musubi-Tuner). Original copyright notice follows. + +# Copyright 2025 The Qwen-Image Team, Wan Team and The HuggingFace Team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# We gratefully acknowledge the Wan Team for their outstanding contributions. +# QwenImageVAE is further fine-tuned from the Wan Video VAE to achieve improved performance. +# For more information about the Wan VAE, please refer to: +# - GitHub: https://github.com/Wan-Video/Wan2.1 +# - arXiv: https://arxiv.org/abs/2503.20314 + +import json +from typing import Dict, List, Optional, Tuple, Union + +import torch +import torch.nn as nn +import torch.nn.functional as F +import numpy as np + +from library.safetensors_utils import load_safetensors + +from library.utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + + +CACHE_T = 2 + +SCALE_FACTOR = 8 # VAE downsampling factor + + +# region diffusers-vae + + +class DiagonalGaussianDistribution(object): + def __init__(self, parameters: torch.Tensor, deterministic: bool = False): + self.parameters = parameters + self.mean, self.logvar = torch.chunk(parameters, 2, dim=1) + self.logvar = torch.clamp(self.logvar, -30.0, 20.0) + self.deterministic = deterministic + self.std = torch.exp(0.5 * self.logvar) + self.var = torch.exp(self.logvar) + if self.deterministic: + self.var = self.std = torch.zeros_like(self.mean, device=self.parameters.device, dtype=self.parameters.dtype) + + def sample(self, generator: Optional[torch.Generator] = None) -> torch.Tensor: + # make sure sample is on the same device as the parameters and has same dtype + if generator is not None and generator.device.type != self.parameters.device.type: + rand_device = generator.device + else: + rand_device = self.parameters.device + sample = torch.randn(self.mean.shape, generator=generator, device=rand_device, dtype=self.parameters.dtype).to( + self.parameters.device + ) + x = self.mean + self.std * sample + return x + + def kl(self, other: "DiagonalGaussianDistribution" = None) -> torch.Tensor: + if self.deterministic: + return torch.Tensor([0.0]) + else: + if other is None: + return 0.5 * torch.sum( + torch.pow(self.mean, 2) + self.var - 1.0 - self.logvar, + dim=[1, 2, 3], + ) + else: + return 0.5 * torch.sum( + torch.pow(self.mean - other.mean, 2) / other.var + self.var / other.var - 1.0 - self.logvar + other.logvar, + dim=[1, 2, 3], + ) + + def nll(self, sample: torch.Tensor, dims: Tuple[int, ...] = [1, 2, 3]) -> torch.Tensor: + if self.deterministic: + return torch.Tensor([0.0]) + logtwopi = np.log(2.0 * np.pi) + return 0.5 * torch.sum( + logtwopi + self.logvar + torch.pow(sample - self.mean, 2) / self.var, + dim=dims, + ) + + def mode(self) -> torch.Tensor: + return self.mean + + +# endregion diffusers-vae + + +class ChunkedConv2d(nn.Conv2d): + """ + Convolutional layer that processes input in chunks to reduce memory usage. + + Parameters + ---------- + spatial_chunk_size : int, optional + Size of chunks to process at a time. Default is None, which means no chunking. + + TODO: Commonize with similar implementation in hunyuan_image_vae.py + """ + + def __init__(self, *args, **kwargs): + if "spatial_chunk_size" in kwargs: + self.spatial_chunk_size = kwargs.pop("spatial_chunk_size", None) + else: + self.spatial_chunk_size = None + super().__init__(*args, **kwargs) + assert self.padding_mode == "zeros", "Only 'zeros' padding mode is supported." + assert self.dilation == (1, 1), "Only dilation=1 is supported." + assert self.groups == 1, "Only groups=1 is supported." + assert self.kernel_size[0] == self.kernel_size[1], "Only square kernels are supported." + assert self.stride[0] == self.stride[1], "Only equal strides are supported." + self.original_padding = self.padding + self.padding = (0, 0) # We handle padding manually in forward + + def forward(self, x: torch.Tensor) -> torch.Tensor: + # If chunking is not needed, process normally. We chunk only along height dimension. + if ( + self.spatial_chunk_size is None + or x.shape[2] <= self.spatial_chunk_size + self.kernel_size[0] + self.spatial_chunk_size // 4 + ): + self.padding = self.original_padding + x = super().forward(x) + self.padding = (0, 0) + return x + + # Process input in chunks to reduce memory usage + org_shape = x.shape + + # If kernel size is not 1, we need to use overlapping chunks + overlap = self.kernel_size[0] // 2 # 1 for kernel size 3 + if self.original_padding[0] == 0: + overlap = 0 + + # If stride > 1, QwenImageVAE pads manually with zeros before convolution, so we do not need to consider it here + y_height = org_shape[2] // self.stride[0] + y_width = org_shape[3] // self.stride[1] + y = torch.zeros((org_shape[0], self.out_channels, y_height, y_width), dtype=x.dtype, device=x.device) + yi = 0 + i = 0 + while i < org_shape[2]: + si = i if i == 0 else i - overlap + ei = i + self.spatial_chunk_size + overlap + self.stride[0] - 1 + + # Check last chunk. If remaining part is small, include it in last chunk + if ei > org_shape[2] or ei + self.spatial_chunk_size // 4 > org_shape[2]: + ei = org_shape[2] + + chunk = x[:, :, si:ei, :] + + # Pad chunk if needed: This is as the original Conv2d with padding + if i == 0 and overlap > 0: # First chunk + # Pad except bottom + chunk = torch.nn.functional.pad(chunk, (overlap, overlap, overlap, 0), mode="constant", value=0) + elif ei == org_shape[2] and overlap > 0: # Last chunk + # Pad except top + chunk = torch.nn.functional.pad(chunk, (overlap, overlap, 0, overlap), mode="constant", value=0) + elif overlap > 0: # Middle chunks + # Pad left and right only + chunk = torch.nn.functional.pad(chunk, (overlap, overlap), mode="constant", value=0) + + # print(f"Processing chunk: org_shape={org_shape}, si={si}, ei={ei}, chunk.shape={chunk.shape}, overlap={overlap}") + chunk = super().forward(chunk) + # print(f" -> chunk after conv shape: {chunk.shape}") + y[:, :, yi : yi + chunk.shape[2], :] = chunk + yi += chunk.shape[2] + del chunk + + if ei == org_shape[2]: + break + i += self.spatial_chunk_size + + assert yi == y_height, f"yi={yi}, y_height={y_height}" + + return y + + +class QwenImageCausalConv3d(nn.Conv3d): + r""" + A custom 3D causal convolution layer with feature caching support. + + This layer extends the standard Conv3D layer by ensuring causality in the time dimension and handling feature + caching for efficient inference. + + Args: + in_channels (int): Number of channels in the input image + out_channels (int): Number of channels produced by the convolution + kernel_size (int or tuple): Size of the convolving kernel + stride (int or tuple, optional): Stride of the convolution. Default: 1 + padding (int or tuple, optional): Zero-padding added to all three sides of the input. Default: 0 + """ + + def __init__( + self, + in_channels: int, + out_channels: int, + kernel_size: Union[int, Tuple[int, int, int]], + stride: Union[int, Tuple[int, int, int]] = 1, + padding: Union[int, Tuple[int, int, int]] = 0, + spatial_chunk_size: Optional[int] = None, + ) -> None: + super().__init__( + in_channels=in_channels, + out_channels=out_channels, + kernel_size=kernel_size, + stride=stride, + padding=padding, + ) + + # Set up causal padding + self._padding = (self.padding[2], self.padding[2], self.padding[1], self.padding[1], 2 * self.padding[0], 0) + self.padding = (0, 0, 0) + self.spatial_chunk_size = spatial_chunk_size + self._supports_spatial_chunking = ( + self.groups == 1 and self.dilation[1] == 1 and self.dilation[2] == 1 and self.stride[1] == 1 and self.stride[2] == 1 + ) + + def _forward_chunked_height(self, x: torch.Tensor) -> torch.Tensor: + chunk_size = self.spatial_chunk_size + if chunk_size is None or chunk_size <= 0: + return super().forward(x) + if not self._supports_spatial_chunking: + return super().forward(x) + + kernel_h = self.kernel_size[1] + if kernel_h <= 1 or x.shape[3] <= chunk_size: + return super().forward(x) + + receptive_h = kernel_h + out_h = x.shape[3] - receptive_h + 1 + if out_h <= 0: + return super().forward(x) + + y0 = 0 + out = None + while y0 < out_h: + y1 = min(y0 + chunk_size, out_h) + in0 = y0 + in1 = y1 + receptive_h - 1 + out_chunk = super().forward(x[:, :, :, in0:in1, :]) + if out is None: + out_shape = list(out_chunk.shape) + out_shape[3] = out_h + out = out_chunk.new_empty(out_shape) + out[:, :, :, y0:y1, :] = out_chunk + y0 = y1 + + return out + + def forward(self, x, cache_x=None): + padding = list(self._padding) + if cache_x is not None and self._padding[4] > 0: + cache_x = cache_x.to(x.device) + x = torch.cat([cache_x, x], dim=2) + padding[4] -= cache_x.shape[2] + x = F.pad(x, padding) + return self._forward_chunked_height(x) + + +class QwenImageRMS_norm(nn.Module): + r""" + A custom RMS normalization layer. + + Args: + dim (int): The number of dimensions to normalize over. + channel_first (bool, optional): Whether the input tensor has channels as the first dimension. + Default is True. + images (bool, optional): Whether the input represents image data. Default is True. + bias (bool, optional): Whether to include a learnable bias term. Default is False. + """ + + def __init__(self, dim: int, channel_first: bool = True, images: bool = True, bias: bool = False) -> None: + super().__init__() + broadcastable_dims = (1, 1, 1) if not images else (1, 1) + shape = (dim, *broadcastable_dims) if channel_first else (dim,) + + self.channel_first = channel_first + self.scale = dim**0.5 + self.gamma = nn.Parameter(torch.ones(shape)) + self.bias = nn.Parameter(torch.zeros(shape)) if bias else 0.0 + + def forward(self, x): + return F.normalize(x, dim=(1 if self.channel_first else -1)) * self.scale * self.gamma + self.bias + + +class QwenImageUpsample(nn.Upsample): + r""" + Perform upsampling while ensuring the output tensor has the same data type as the input. + + Args: + x (torch.Tensor): Input tensor to be upsampled. + + Returns: + torch.Tensor: Upsampled tensor with the same data type as the input. + """ + + def forward(self, x): + return super().forward(x.float()).type_as(x) + + +class QwenImageResample(nn.Module): + r""" + A custom resampling module for 2D and 3D data. + + Args: + dim (int): The number of input/output channels. + mode (str): The resampling mode. Must be one of: + - 'none': No resampling (identity operation). + - 'upsample2d': 2D upsampling with nearest-exact interpolation and convolution. + - 'upsample3d': 3D upsampling with nearest-exact interpolation, convolution, and causal 3D convolution. + - 'downsample2d': 2D downsampling with zero-padding and convolution. + - 'downsample3d': 3D downsampling with zero-padding, convolution, and causal 3D convolution. + """ + + def __init__(self, dim: int, mode: str) -> None: + super().__init__() + self.dim = dim + self.mode = mode + + # layers + if mode == "upsample2d": + self.resample = nn.Sequential( + QwenImageUpsample(scale_factor=(2.0, 2.0), mode="nearest-exact"), + ChunkedConv2d(dim, dim // 2, 3, padding=1), + ) + elif mode == "upsample3d": + self.resample = nn.Sequential( + QwenImageUpsample(scale_factor=(2.0, 2.0), mode="nearest-exact"), + ChunkedConv2d(dim, dim // 2, 3, padding=1), + ) + self.time_conv = QwenImageCausalConv3d(dim, dim * 2, (3, 1, 1), padding=(1, 0, 0)) + + elif mode == "downsample2d": + self.resample = nn.Sequential(nn.ZeroPad2d((0, 1, 0, 1)), ChunkedConv2d(dim, dim, 3, stride=(2, 2))) + elif mode == "downsample3d": + self.resample = nn.Sequential(nn.ZeroPad2d((0, 1, 0, 1)), ChunkedConv2d(dim, dim, 3, stride=(2, 2))) + self.time_conv = QwenImageCausalConv3d(dim, dim, (3, 1, 1), stride=(2, 1, 1), padding=(0, 0, 0)) + + else: + self.resample = nn.Identity() + + def forward(self, x, feat_cache=None, feat_idx=[0]): + b, c, t, h, w = x.size() + if self.mode == "upsample3d": + if feat_cache is not None: + idx = feat_idx[0] + if feat_cache[idx] is None: + feat_cache[idx] = "Rep" + feat_idx[0] += 1 + else: + cache_x = x[:, :, -CACHE_T:, :, :].clone() + if cache_x.shape[2] < 2 and feat_cache[idx] is not None and feat_cache[idx] != "Rep": + # cache last frame of last two chunk + cache_x = torch.cat([feat_cache[idx][:, :, -1, :, :].unsqueeze(2).to(cache_x.device), cache_x], dim=2) + if cache_x.shape[2] < 2 and feat_cache[idx] is not None and feat_cache[idx] == "Rep": + cache_x = torch.cat([torch.zeros_like(cache_x).to(cache_x.device), cache_x], dim=2) + if feat_cache[idx] == "Rep": + x = self.time_conv(x) + else: + x = self.time_conv(x, feat_cache[idx]) + feat_cache[idx] = cache_x + feat_idx[0] += 1 + + x = x.reshape(b, 2, c, t, h, w) + x = torch.stack((x[:, 0, :, :, :, :], x[:, 1, :, :, :, :]), 3) + x = x.reshape(b, c, t * 2, h, w) + t = x.shape[2] + x = x.permute(0, 2, 1, 3, 4).reshape(b * t, c, h, w) + x = self.resample(x) + x = x.view(b, t, x.size(1), x.size(2), x.size(3)).permute(0, 2, 1, 3, 4) + + if self.mode == "downsample3d": + if feat_cache is not None: + idx = feat_idx[0] + if feat_cache[idx] is None: + feat_cache[idx] = x.clone() + feat_idx[0] += 1 + else: + cache_x = x[:, :, -1:, :, :].clone() + x = self.time_conv(torch.cat([feat_cache[idx][:, :, -1:, :, :], x], 2)) + feat_cache[idx] = cache_x + feat_idx[0] += 1 + return x + + +class QwenImageResidualBlock(nn.Module): + r""" + A custom residual block module. + + Args: + in_dim (int): Number of input channels. + out_dim (int): Number of output channels. + dropout (float, optional): Dropout rate for the dropout layer. Default is 0.0. + non_linearity (str, optional): Type of non-linearity to use. Default is "silu". + """ + + def __init__( + self, + in_dim: int, + out_dim: int, + dropout: float = 0.0, + non_linearity: str = "silu", + ) -> None: + assert non_linearity in ["silu"], "Only 'silu' non-linearity is supported currently." + super().__init__() + self.in_dim = in_dim + self.out_dim = out_dim + self.nonlinearity = nn.SiLU() # get_activation(non_linearity) + + # layers + self.norm1 = QwenImageRMS_norm(in_dim, images=False) + self.conv1 = QwenImageCausalConv3d(in_dim, out_dim, 3, padding=1) + self.norm2 = QwenImageRMS_norm(out_dim, images=False) + self.dropout = nn.Dropout(dropout) + self.conv2 = QwenImageCausalConv3d(out_dim, out_dim, 3, padding=1) + self.conv_shortcut = QwenImageCausalConv3d(in_dim, out_dim, 1) if in_dim != out_dim else nn.Identity() + + def forward(self, x, feat_cache=None, feat_idx=[0]): + # Apply shortcut connection + h = self.conv_shortcut(x) + + # First normalization and activation + x = self.norm1(x) + x = self.nonlinearity(x) + + if feat_cache is not None: + idx = feat_idx[0] + cache_x = x[:, :, -CACHE_T:, :, :].clone() + if cache_x.shape[2] < 2 and feat_cache[idx] is not None: + cache_x = torch.cat([feat_cache[idx][:, :, -1, :, :].unsqueeze(2).to(cache_x.device), cache_x], dim=2) + + x = self.conv1(x, feat_cache[idx]) + feat_cache[idx] = cache_x + feat_idx[0] += 1 + else: + x = self.conv1(x) + + # Second normalization and activation + x = self.norm2(x) + x = self.nonlinearity(x) + + # Dropout + x = self.dropout(x) + + if feat_cache is not None: + idx = feat_idx[0] + cache_x = x[:, :, -CACHE_T:, :, :].clone() + if cache_x.shape[2] < 2 and feat_cache[idx] is not None: + cache_x = torch.cat([feat_cache[idx][:, :, -1, :, :].unsqueeze(2).to(cache_x.device), cache_x], dim=2) + + x = self.conv2(x, feat_cache[idx]) + feat_cache[idx] = cache_x + feat_idx[0] += 1 + else: + x = self.conv2(x) + + # Add residual connection + return x + h + + +class QwenImageAttentionBlock(nn.Module): + r""" + Causal self-attention with a single head. + + Args: + dim (int): The number of channels in the input tensor. + """ + + def __init__(self, dim): + super().__init__() + self.dim = dim + + # layers + self.norm = QwenImageRMS_norm(dim) + self.to_qkv = nn.Conv2d(dim, dim * 3, 1) + self.proj = nn.Conv2d(dim, dim, 1) + + def forward(self, x): + identity = x + batch_size, channels, time, height, width = x.size() + + x = x.permute(0, 2, 1, 3, 4).reshape(batch_size * time, channels, height, width) + x = self.norm(x) + + # compute query, key, value + qkv = self.to_qkv(x) + qkv = qkv.reshape(batch_size * time, 1, channels * 3, -1) + qkv = qkv.permute(0, 1, 3, 2).contiguous() + q, k, v = qkv.chunk(3, dim=-1) + + # apply attention + x = F.scaled_dot_product_attention(q, k, v) + + x = x.squeeze(1).permute(0, 2, 1).reshape(batch_size * time, channels, height, width) + + # output projection + x = self.proj(x) + + # Reshape back: [(b*t), c, h, w] -> [b, c, t, h, w] + x = x.view(batch_size, time, channels, height, width) + x = x.permute(0, 2, 1, 3, 4) + + return x + identity + + +class QwenImageMidBlock(nn.Module): + """ + Middle block for QwenImageVAE encoder and decoder. + + Args: + dim (int): Number of input/output channels. + dropout (float): Dropout rate. + non_linearity (str): Type of non-linearity to use. + """ + + def __init__(self, dim: int, dropout: float = 0.0, non_linearity: str = "silu", num_layers: int = 1): + super().__init__() + self.dim = dim + + # Create the components + resnets = [QwenImageResidualBlock(dim, dim, dropout, non_linearity)] + attentions = [] + for _ in range(num_layers): + attentions.append(QwenImageAttentionBlock(dim)) + resnets.append(QwenImageResidualBlock(dim, dim, dropout, non_linearity)) + self.attentions = nn.ModuleList(attentions) + self.resnets = nn.ModuleList(resnets) + + self.gradient_checkpointing = False + + def forward(self, x, feat_cache=None, feat_idx=[0]): + # First residual block + x = self.resnets[0](x, feat_cache, feat_idx) + + # Process through attention and residual blocks + for attn, resnet in zip(self.attentions, self.resnets[1:]): + if attn is not None: + x = attn(x) + + x = resnet(x, feat_cache, feat_idx) + + return x + + +class QwenImageEncoder3d(nn.Module): + r""" + A 3D encoder module. + + Args: + dim (int): The base number of channels in the first layer. + z_dim (int): The dimensionality of the latent space. + dim_mult (list of int): Multipliers for the number of channels in each block. + num_res_blocks (int): Number of residual blocks in each block. + attn_scales (list of float): Scales at which to apply attention mechanisms. + temperal_downsample (list of bool): Whether to downsample temporally in each block. + dropout (float): Dropout rate for the dropout layers. + input_channels (int): Number of input channels. + non_linearity (str): Type of non-linearity to use. + """ + + def __init__( + self, + dim=128, + z_dim=4, + dim_mult=[1, 2, 4, 4], + num_res_blocks=2, + attn_scales=[], + temperal_downsample=[True, True, False], + dropout=0.0, + input_channels: int = 3, + non_linearity: str = "silu", + ): + super().__init__() + assert non_linearity in ["silu"], "Only 'silu' non-linearity is supported currently." + self.dim = dim + self.z_dim = z_dim + self.dim_mult = dim_mult + self.num_res_blocks = num_res_blocks + self.attn_scales = attn_scales + self.temperal_downsample = temperal_downsample + self.nonlinearity = nn.SiLU() # get_activation(non_linearity) + + # dimensions + dims = [dim * u for u in [1] + dim_mult] + scale = 1.0 + + # init block + self.conv_in = QwenImageCausalConv3d(input_channels, dims[0], 3, padding=1) + + # downsample blocks + self.down_blocks = nn.ModuleList([]) + for i, (in_dim, out_dim) in enumerate(zip(dims[:-1], dims[1:])): + # residual (+attention) blocks + for _ in range(num_res_blocks): + self.down_blocks.append(QwenImageResidualBlock(in_dim, out_dim, dropout)) + if scale in attn_scales: + self.down_blocks.append(QwenImageAttentionBlock(out_dim)) + in_dim = out_dim + + # downsample block + if i != len(dim_mult) - 1: + mode = "downsample3d" if temperal_downsample[i] else "downsample2d" + self.down_blocks.append(QwenImageResample(out_dim, mode=mode)) + scale /= 2.0 + + # middle blocks + self.mid_block = QwenImageMidBlock(out_dim, dropout, non_linearity, num_layers=1) + + # output blocks + self.norm_out = QwenImageRMS_norm(out_dim, images=False) + self.conv_out = QwenImageCausalConv3d(out_dim, z_dim, 3, padding=1) + + self.gradient_checkpointing = False + + def forward(self, x, feat_cache=None, feat_idx=[0]): + if feat_cache is not None: + idx = feat_idx[0] + cache_x = x[:, :, -CACHE_T:, :, :].clone() + if cache_x.shape[2] < 2 and feat_cache[idx] is not None: + # cache last frame of last two chunk + cache_x = torch.cat([feat_cache[idx][:, :, -1, :, :].unsqueeze(2).to(cache_x.device), cache_x], dim=2) + x = self.conv_in(x, feat_cache[idx]) + feat_cache[idx] = cache_x + feat_idx[0] += 1 + else: + x = self.conv_in(x) + + ## downsamples + for layer in self.down_blocks: + if feat_cache is not None: + x = layer(x, feat_cache, feat_idx) + else: + x = layer(x) + + ## middle + x = self.mid_block(x, feat_cache, feat_idx) + + ## head + x = self.norm_out(x) + x = self.nonlinearity(x) + if feat_cache is not None: + idx = feat_idx[0] + cache_x = x[:, :, -CACHE_T:, :, :].clone() + if cache_x.shape[2] < 2 and feat_cache[idx] is not None: + # cache last frame of last two chunk + cache_x = torch.cat([feat_cache[idx][:, :, -1, :, :].unsqueeze(2).to(cache_x.device), cache_x], dim=2) + x = self.conv_out(x, feat_cache[idx]) + feat_cache[idx] = cache_x + feat_idx[0] += 1 + else: + x = self.conv_out(x) + return x + + +class QwenImageUpBlock(nn.Module): + """ + A block that handles upsampling for the QwenImageVAE decoder. + + Args: + in_dim (int): Input dimension + out_dim (int): Output dimension + num_res_blocks (int): Number of residual blocks + dropout (float): Dropout rate + upsample_mode (str, optional): Mode for upsampling ('upsample2d' or 'upsample3d') + non_linearity (str): Type of non-linearity to use + """ + + def __init__( + self, + in_dim: int, + out_dim: int, + num_res_blocks: int, + dropout: float = 0.0, + upsample_mode: Optional[str] = None, + non_linearity: str = "silu", + ): + super().__init__() + self.in_dim = in_dim + self.out_dim = out_dim + + # Create layers list + resnets = [] + # Add residual blocks and attention if needed + current_dim = in_dim + for _ in range(num_res_blocks + 1): + resnets.append(QwenImageResidualBlock(current_dim, out_dim, dropout, non_linearity)) + current_dim = out_dim + + self.resnets = nn.ModuleList(resnets) + + # Add upsampling layer if needed + self.upsamplers = None + if upsample_mode is not None: + self.upsamplers = nn.ModuleList([QwenImageResample(out_dim, mode=upsample_mode)]) + + self.gradient_checkpointing = False + + def forward(self, x, feat_cache=None, feat_idx=[0]): + """ + Forward pass through the upsampling block. + + Args: + x (torch.Tensor): Input tensor + feat_cache (list, optional): Feature cache for causal convolutions + feat_idx (list, optional): Feature index for cache management + + Returns: + torch.Tensor: Output tensor + """ + for resnet in self.resnets: + if feat_cache is not None: + x = resnet(x, feat_cache, feat_idx) + else: + x = resnet(x) + + if self.upsamplers is not None: + if feat_cache is not None: + x = self.upsamplers[0](x, feat_cache, feat_idx) + else: + x = self.upsamplers[0](x) + return x + + +class QwenImageDecoder3d(nn.Module): + r""" + A 3D decoder module. + + Args: + dim (int): The base number of channels in the first layer. + z_dim (int): The dimensionality of the latent space. + dim_mult (list of int): Multipliers for the number of channels in each block. + num_res_blocks (int): Number of residual blocks in each block. + attn_scales (list of float): Scales at which to apply attention mechanisms. + temperal_upsample (list of bool): Whether to upsample temporally in each block. + dropout (float): Dropout rate for the dropout layers. + output_channels (int): Number of output channels. + non_linearity (str): Type of non-linearity to use. + """ + + def __init__( + self, + dim=128, + z_dim=4, + dim_mult=[1, 2, 4, 4], + num_res_blocks=2, + attn_scales=[], + temperal_upsample=[False, True, True], + dropout=0.0, + output_channels: int = 3, + non_linearity: str = "silu", + ): + super().__init__() + assert non_linearity in ["silu"], "Only 'silu' non-linearity is supported currently." + self.dim = dim + self.z_dim = z_dim + self.dim_mult = dim_mult + self.num_res_blocks = num_res_blocks + self.attn_scales = attn_scales + self.temperal_upsample = temperal_upsample + + self.nonlinearity = nn.SiLU() # get_activation(non_linearity) + + # dimensions + dims = [dim * u for u in [dim_mult[-1]] + dim_mult[::-1]] + scale = 1.0 / 2 ** (len(dim_mult) - 2) + + # init block + self.conv_in = QwenImageCausalConv3d(z_dim, dims[0], 3, padding=1) + + # middle blocks + self.mid_block = QwenImageMidBlock(dims[0], dropout, non_linearity, num_layers=1) + + # upsample blocks + self.up_blocks = nn.ModuleList([]) + for i, (in_dim, out_dim) in enumerate(zip(dims[:-1], dims[1:])): + # residual (+attention) blocks + if i > 0: + in_dim = in_dim // 2 + + # Determine if we need upsampling + upsample_mode = None + if i != len(dim_mult) - 1: + upsample_mode = "upsample3d" if temperal_upsample[i] else "upsample2d" + + # Create and add the upsampling block + up_block = QwenImageUpBlock( + in_dim=in_dim, + out_dim=out_dim, + num_res_blocks=num_res_blocks, + dropout=dropout, + upsample_mode=upsample_mode, + non_linearity=non_linearity, + ) + self.up_blocks.append(up_block) + + # Update scale for next iteration + if upsample_mode is not None: + scale *= 2.0 + + # output blocks + self.norm_out = QwenImageRMS_norm(out_dim, images=False) + self.conv_out = QwenImageCausalConv3d(out_dim, output_channels, 3, padding=1) + + self.gradient_checkpointing = False + + def forward(self, x, feat_cache=None, feat_idx=[0]): + ## conv1 + if feat_cache is not None: + idx = feat_idx[0] + cache_x = x[:, :, -CACHE_T:, :, :].clone() + if cache_x.shape[2] < 2 and feat_cache[idx] is not None: + # cache last frame of last two chunk + cache_x = torch.cat([feat_cache[idx][:, :, -1, :, :].unsqueeze(2).to(cache_x.device), cache_x], dim=2) + x = self.conv_in(x, feat_cache[idx]) + feat_cache[idx] = cache_x + feat_idx[0] += 1 + else: + x = self.conv_in(x) + + ## middle + x = self.mid_block(x, feat_cache, feat_idx) + + ## upsamples + for up_block in self.up_blocks: + x = up_block(x, feat_cache, feat_idx) + + ## head + x = self.norm_out(x) + x = self.nonlinearity(x) + if feat_cache is not None: + idx = feat_idx[0] + cache_x = x[:, :, -CACHE_T:, :, :].clone() + if cache_x.shape[2] < 2 and feat_cache[idx] is not None: + # cache last frame of last two chunk + cache_x = torch.cat([feat_cache[idx][:, :, -1, :, :].unsqueeze(2).to(cache_x.device), cache_x], dim=2) + x = self.conv_out(x, feat_cache[idx]) + feat_cache[idx] = cache_x + feat_idx[0] += 1 + else: + x = self.conv_out(x) + return x + + +class AutoencoderKLQwenImage(nn.Module): # ModelMixin, ConfigMixin, FromOriginalModelMixin): + r""" + A VAE model with KL loss for encoding videos into latents and decoding latent representations into videos. + + This model inherits from [`ModelMixin`]. Check the superclass documentation for it's generic methods implemented + for all models (such as downloading or saving). + """ + + _supports_gradient_checkpointing = False + + # @register_to_config + def __init__( + self, + base_dim: int = 96, + z_dim: int = 16, + dim_mult: Tuple[int] = [1, 2, 4, 4], + num_res_blocks: int = 2, + attn_scales: List[float] = [], + temperal_downsample: List[bool] = [False, True, True], + dropout: float = 0.0, + latents_mean: List[float] = [ + -0.7571, + -0.7089, + -0.9113, + 0.1075, + -0.1745, + 0.9653, + -0.1517, + 1.5508, + 0.4134, + -0.0715, + 0.5517, + -0.3632, + -0.1922, + -0.9497, + 0.2503, + -0.2921, + ], + latents_std: List[float] = [ + 2.8184, + 1.4541, + 2.3275, + 2.6558, + 1.2196, + 1.7708, + 2.6052, + 2.0743, + 3.2687, + 2.1526, + 2.8652, + 1.5579, + 1.6382, + 1.1253, + 2.8251, + 1.9160, + ], + input_channels: int = 3, + spatial_chunk_size: Optional[int] = None, + disable_cache: bool = False, + ) -> None: + super().__init__() + + self.z_dim = z_dim + self.temperal_downsample = temperal_downsample + self.temperal_upsample = temperal_downsample[::-1] + self.latents_mean = latents_mean + self.latents_std = latents_std + + self.encoder = QwenImageEncoder3d( + base_dim, z_dim * 2, dim_mult, num_res_blocks, attn_scales, self.temperal_downsample, dropout, input_channels + ) + self.quant_conv = QwenImageCausalConv3d(z_dim * 2, z_dim * 2, 1) + self.post_quant_conv = QwenImageCausalConv3d(z_dim, z_dim, 1) + + self.decoder = QwenImageDecoder3d( + base_dim, z_dim, dim_mult, num_res_blocks, attn_scales, self.temperal_upsample, dropout, input_channels + ) + + self.spatial_compression_ratio = 2 ** len(self.temperal_downsample) + + # When decoding a batch of video latents at a time, one can save memory by slicing across the batch dimension + # to perform decoding of a single video latent at a time. + self.use_slicing = False + + # When decoding spatially large video latents, the memory requirement is very high. By breaking the video latent + # frames spatially into smaller tiles and performing multiple forward passes for decoding, and then blending the + # intermediate tiles together, the memory requirement can be lowered. + self.use_tiling = False + + # The minimal tile height and width for spatial tiling to be used + self.tile_sample_min_height = 256 + self.tile_sample_min_width = 256 + + # The minimal distance between two spatial tiles + self.tile_sample_stride_height = 192 + self.tile_sample_stride_width = 192 + + # Precompute and cache conv counts for encoder and decoder for clear_cache speedup + self._cached_conv_counts = { + "decoder": sum(isinstance(m, QwenImageCausalConv3d) for m in self.decoder.modules()) if self.decoder is not None else 0, + "encoder": sum(isinstance(m, QwenImageCausalConv3d) for m in self.encoder.modules()) if self.encoder is not None else 0, + } + + self.spatial_chunk_size = None + if spatial_chunk_size is not None and spatial_chunk_size > 0: + self.enable_spatial_chunking(spatial_chunk_size) + + self.cache_disabled = False + if disable_cache: + self.disable_cache() + + @property + def dtype(self): + return self.encoder.parameters().__next__().dtype + + @property + def device(self): + return self.encoder.parameters().__next__().device + + def enable_tiling( + self, + tile_sample_min_height: Optional[int] = None, + tile_sample_min_width: Optional[int] = None, + tile_sample_stride_height: Optional[float] = None, + tile_sample_stride_width: Optional[float] = None, + ) -> None: + r""" + Enable tiled VAE decoding. When this option is enabled, the VAE will split the input tensor into tiles to + compute decoding and encoding in several steps. This is useful for saving a large amount of memory and to allow + processing larger images. + + Args: + tile_sample_min_height (`int`, *optional*): + The minimum height required for a sample to be separated into tiles across the height dimension. + tile_sample_min_width (`int`, *optional*): + The minimum width required for a sample to be separated into tiles across the width dimension. + tile_sample_stride_height (`int`, *optional*): + The minimum amount of overlap between two consecutive vertical tiles. This is to ensure that there are + no tiling artifacts produced across the height dimension. + tile_sample_stride_width (`int`, *optional*): + The stride between two consecutive horizontal tiles. This is to ensure that there are no tiling + artifacts produced across the width dimension. + """ + self.use_tiling = True + self.tile_sample_min_height = tile_sample_min_height or self.tile_sample_min_height + self.tile_sample_min_width = tile_sample_min_width or self.tile_sample_min_width + self.tile_sample_stride_height = tile_sample_stride_height or self.tile_sample_stride_height + self.tile_sample_stride_width = tile_sample_stride_width or self.tile_sample_stride_width + + def disable_tiling(self) -> None: + r""" + Disable tiled VAE decoding. If `enable_tiling` was previously enabled, this method will go back to computing + decoding in one step. + """ + self.use_tiling = False + + def enable_slicing(self) -> None: + r""" + Enable sliced VAE decoding. When this option is enabled, the VAE will split the input tensor in slices to + compute decoding in several steps. This is useful to save some memory and allow larger batch sizes. + """ + self.use_slicing = True + + def disable_slicing(self) -> None: + r""" + Disable sliced VAE decoding. If `enable_slicing` was previously enabled, this method will go back to computing + decoding in one step. + """ + self.use_slicing = False + + def enable_spatial_chunking(self, spatial_chunk_size: int) -> None: + r""" + Enable memory-efficient convolution by chunking all causal Conv3d layers only along height. + """ + if spatial_chunk_size is None or spatial_chunk_size <= 0: + raise ValueError(f"`spatial_chunk_size` must be a positive integer, got {spatial_chunk_size}.") + self.spatial_chunk_size = int(spatial_chunk_size) + for module in self.modules(): + if isinstance(module, QwenImageCausalConv3d): + module.spatial_chunk_size = self.spatial_chunk_size + elif isinstance(module, ChunkedConv2d): + module.spatial_chunk_size = self.spatial_chunk_size + + def disable_spatial_chunking(self) -> None: + r""" + Disable memory-efficient convolution chunking on all causal Conv3d layers. + """ + self.spatial_chunk_size = None + for module in self.modules(): + if isinstance(module, QwenImageCausalConv3d): + module.spatial_chunk_size = None + elif isinstance(module, ChunkedConv2d): + module.spatial_chunk_size = None + + def disable_cache(self) -> None: + r""" + Disable caching mechanism in encoder and decoder. + """ + self.cache_disabled = True + self.clear_cache = lambda: None + self._feat_map = None # Disable decoder cache + self._enc_feat_map = None # Disable encoder cache + + def clear_cache(self): + def _count_conv3d(model): + count = 0 + for m in model.modules(): + if isinstance(m, QwenImageCausalConv3d): + count += 1 + return count + + self._conv_num = _count_conv3d(self.decoder) + self._conv_idx = [0] + self._feat_map = [None] * self._conv_num + # cache encode + self._enc_conv_num = _count_conv3d(self.encoder) + self._enc_conv_idx = [0] + self._enc_feat_map = [None] * self._enc_conv_num + + def _encode(self, x: torch.Tensor): + _, _, num_frame, height, width = x.shape + assert num_frame == 1 or not self.cache_disabled, "Caching must be enabled for encoding multiple frames." + + if self.use_tiling and (width > self.tile_sample_min_width or height > self.tile_sample_min_height): + return self.tiled_encode(x) + + self.clear_cache() + iter_ = 1 + (num_frame - 1) // 4 + for i in range(iter_): + self._enc_conv_idx = [0] + if i == 0: + out = self.encoder(x[:, :, :1, :, :], feat_cache=self._enc_feat_map, feat_idx=self._enc_conv_idx) + else: + out_ = self.encoder( + x[:, :, 1 + 4 * (i - 1) : 1 + 4 * i, :, :], + feat_cache=self._enc_feat_map, + feat_idx=self._enc_conv_idx, + ) + out = torch.cat([out, out_], 2) + + enc = self.quant_conv(out) + self.clear_cache() + return enc + + # @apply_forward_hook + def encode( + self, x: torch.Tensor, return_dict: bool = True + ) -> Union[Dict[str, torch.Tensor], Tuple[DiagonalGaussianDistribution]]: + r""" + Encode a batch of images into latents. + + Args: + x (`torch.Tensor`): Input batch of images. + return_dict (`bool`, *optional*, defaults to `True`): + Whether to return a [`~models.autoencoder_kl.AutoencoderKLOutput`] instead of a plain tuple. + + Returns: + The latent representations of the encoded videos. If `return_dict` is True, a dictionary is returned, otherwise a plain `tuple` is returned. + """ + if self.use_slicing and x.shape[0] > 1: + encoded_slices = [self._encode(x_slice) for x_slice in x.split(1)] + h = torch.cat(encoded_slices) + else: + h = self._encode(x) + posterior = DiagonalGaussianDistribution(h) + + if not return_dict: + return (posterior,) + return {"latent_dist": posterior} + + def _decode(self, z: torch.Tensor, return_dict: bool = True): + _, _, num_frame, height, width = z.shape + assert num_frame == 1 or not self.cache_disabled, "Caching must be enabled for encoding multiple frames." + tile_latent_min_height = self.tile_sample_min_height // self.spatial_compression_ratio + tile_latent_min_width = self.tile_sample_min_width // self.spatial_compression_ratio + + if self.use_tiling and (width > tile_latent_min_width or height > tile_latent_min_height): + return self.tiled_decode(z, return_dict=return_dict) + + self.clear_cache() + x = self.post_quant_conv(z) + for i in range(num_frame): + self._conv_idx = [0] + if i == 0: + out = self.decoder(x[:, :, i : i + 1, :, :], feat_cache=self._feat_map, feat_idx=self._conv_idx) + else: + out_ = self.decoder(x[:, :, i : i + 1, :, :], feat_cache=self._feat_map, feat_idx=self._conv_idx) + out = torch.cat([out, out_], 2) + + out = torch.clamp(out, min=-1.0, max=1.0) + self.clear_cache() + if not return_dict: + return (out,) + + return {"sample": out} + + # @apply_forward_hook + def decode(self, z: torch.Tensor, return_dict: bool = True) -> Union[Dict[str, torch.Tensor], torch.Tensor]: + r""" + Decode a batch of images. + + Args: + z (`torch.Tensor`): Input batch of latent vectors. + return_dict (`bool`, *optional*, defaults to `True`): + Whether to return a [`~models.vae.DecoderOutput`] instead of a plain tuple. + + Returns: + [`~models.vae.DecoderOutput`] or `tuple`: + If return_dict is True, a [`~models.vae.DecoderOutput`] is returned, otherwise a plain `tuple` is + returned. + """ + if self.use_slicing and z.shape[0] > 1: + decoded_slices = [self._decode(z_slice)["sample"] for z_slice in z.split(1)] + decoded = torch.cat(decoded_slices) + else: + decoded = self._decode(z)["sample"] + + if not return_dict: + return (decoded,) + return {"sample": decoded} + + def decode_to_pixels(self, latents: torch.Tensor) -> torch.Tensor: + is_4d = latents.dim() == 4 + if is_4d: + latents = latents.unsqueeze(2) # [B, C, H, W] -> [B, C, 1, H, W] + + latents = latents.to(self.dtype) + latents_mean = torch.tensor(self.latents_mean).view(1, self.z_dim, 1, 1, 1).to(latents.device, latents.dtype) + latents_std = 1.0 / torch.tensor(self.latents_std).view(1, self.z_dim, 1, 1, 1).to(latents.device, latents.dtype) + latents = latents / latents_std + latents_mean + + image = self.decode(latents, return_dict=False)[0] # -1 to 1 + if is_4d: + image = image.squeeze(2) # [B, C, 1, H, W] -> [B, C, H, W] + + return image.clamp(-1.0, 1.0) + + def encode_pixels_to_latents(self, pixels: torch.Tensor) -> torch.Tensor: + """ + Convert pixel values to latents and apply normalization using mean/std. + + Args: + pixels (torch.Tensor): Input pixels in [0, 1] range with shape [B, C, H, W] or [B, C, T, H, W] + + Returns: + torch.Tensor: Normalized latents + """ + # # Convert from [0, 1] to [-1, 1] range + # pixels = (pixels * 2.0 - 1.0).clamp(-1.0, 1.0) + + # Handle 2D input by adding temporal dimension + is_4d = pixels.dim() == 4 + if is_4d: + pixels = pixels.unsqueeze(2) # [B, C, H, W] -> [B, C, 1, H, W] + + pixels = pixels.to(self.dtype) + + # Encode to latent space + posterior = self.encode(pixels, return_dict=False)[0] + latents = posterior.mode() # Use mode instead of sampling for deterministic results + # latents = posterior.sample() + + # Apply normalization using mean/std + latents_mean = torch.tensor(self.latents_mean).view(1, self.z_dim, 1, 1, 1).to(latents.device, latents.dtype) + latents_std = 1.0 / torch.tensor(self.latents_std).view(1, self.z_dim, 1, 1, 1).to(latents.device, latents.dtype) + latents = (latents - latents_mean) * latents_std + + if is_4d: + latents = latents.squeeze(2) # [B, C, 1, H, W] -> [B, C, H, W] + + return latents + + def blend_v(self, a: torch.Tensor, b: torch.Tensor, blend_extent: int) -> torch.Tensor: + blend_extent = min(a.shape[-2], b.shape[-2], blend_extent) + for y in range(blend_extent): + b[:, :, :, y, :] = a[:, :, :, -blend_extent + y, :] * (1 - y / blend_extent) + b[:, :, :, y, :] * (y / blend_extent) + return b + + def blend_h(self, a: torch.Tensor, b: torch.Tensor, blend_extent: int) -> torch.Tensor: + blend_extent = min(a.shape[-1], b.shape[-1], blend_extent) + for x in range(blend_extent): + b[:, :, :, :, x] = a[:, :, :, :, -blend_extent + x] * (1 - x / blend_extent) + b[:, :, :, :, x] * (x / blend_extent) + return b + + def tiled_encode(self, x: torch.Tensor) -> torch.Tensor: + r"""Encode a batch of images using a tiled encoder. + + Args: + x (`torch.Tensor`): Input batch of videos. + + Returns: + `torch.Tensor`: + The latent representation of the encoded videos. + """ + _, _, num_frames, height, width = x.shape + latent_height = height // self.spatial_compression_ratio + latent_width = width // self.spatial_compression_ratio + + tile_latent_min_height = self.tile_sample_min_height // self.spatial_compression_ratio + tile_latent_min_width = self.tile_sample_min_width // self.spatial_compression_ratio + tile_latent_stride_height = self.tile_sample_stride_height // self.spatial_compression_ratio + tile_latent_stride_width = self.tile_sample_stride_width // self.spatial_compression_ratio + + blend_height = tile_latent_min_height - tile_latent_stride_height + blend_width = tile_latent_min_width - tile_latent_stride_width + + # Split x into overlapping tiles and encode them separately. + # The tiles have an overlap to avoid seams between tiles. + rows = [] + for i in range(0, height, self.tile_sample_stride_height): + row = [] + for j in range(0, width, self.tile_sample_stride_width): + self.clear_cache() + time = [] + frame_range = 1 + (num_frames - 1) // 4 + for k in range(frame_range): + self._enc_conv_idx = [0] + if k == 0: + tile = x[:, :, :1, i : i + self.tile_sample_min_height, j : j + self.tile_sample_min_width] + else: + tile = x[ + :, + :, + 1 + 4 * (k - 1) : 1 + 4 * k, + i : i + self.tile_sample_min_height, + j : j + self.tile_sample_min_width, + ] + tile = self.encoder(tile, feat_cache=self._enc_feat_map, feat_idx=self._enc_conv_idx) + tile = self.quant_conv(tile) + time.append(tile) + row.append(torch.cat(time, dim=2)) + rows.append(row) + self.clear_cache() + + result_rows = [] + for i, row in enumerate(rows): + result_row = [] + for j, tile in enumerate(row): + # blend the above tile and the left tile + # to the current tile and add the current tile to the result row + if i > 0: + tile = self.blend_v(rows[i - 1][j], tile, blend_height) + if j > 0: + tile = self.blend_h(row[j - 1], tile, blend_width) + result_row.append(tile[:, :, :, :tile_latent_stride_height, :tile_latent_stride_width]) + result_rows.append(torch.cat(result_row, dim=-1)) + + enc = torch.cat(result_rows, dim=3)[:, :, :, :latent_height, :latent_width] + return enc + + def tiled_decode(self, z: torch.Tensor, return_dict: bool = True) -> Union[Dict[str, torch.Tensor], torch.Tensor]: + r""" + Decode a batch of images using a tiled decoder. + + Args: + z (`torch.Tensor`): Input batch of latent vectors. + return_dict (`bool`, *optional*, defaults to `True`): + Whether or not to return a dictionary instead of a plain tuple. + + Returns: + `dict` or `tuple`: + If return_dict is True, a dictionary is returned, otherwise a plain `tuple` is + returned. + """ + _, _, num_frames, height, width = z.shape + sample_height = height * self.spatial_compression_ratio + sample_width = width * self.spatial_compression_ratio + + tile_latent_min_height = self.tile_sample_min_height // self.spatial_compression_ratio + tile_latent_min_width = self.tile_sample_min_width // self.spatial_compression_ratio + tile_latent_stride_height = self.tile_sample_stride_height // self.spatial_compression_ratio + tile_latent_stride_width = self.tile_sample_stride_width // self.spatial_compression_ratio + + blend_height = self.tile_sample_min_height - self.tile_sample_stride_height + blend_width = self.tile_sample_min_width - self.tile_sample_stride_width + + # Split z into overlapping tiles and decode them separately. + # The tiles have an overlap to avoid seams between tiles. + rows = [] + for i in range(0, height, tile_latent_stride_height): + row = [] + for j in range(0, width, tile_latent_stride_width): + self.clear_cache() + time = [] + for k in range(num_frames): + self._conv_idx = [0] + tile = z[:, :, k : k + 1, i : i + tile_latent_min_height, j : j + tile_latent_min_width] + tile = self.post_quant_conv(tile) + decoded = self.decoder(tile, feat_cache=self._feat_map, feat_idx=self._conv_idx) + time.append(decoded) + row.append(torch.cat(time, dim=2)) + rows.append(row) + self.clear_cache() + + result_rows = [] + for i, row in enumerate(rows): + result_row = [] + for j, tile in enumerate(row): + # blend the above tile and the left tile + # to the current tile and add the current tile to the result row + if i > 0: + tile = self.blend_v(rows[i - 1][j], tile, blend_height) + if j > 0: + tile = self.blend_h(row[j - 1], tile, blend_width) + result_row.append(tile[:, :, :, : self.tile_sample_stride_height, : self.tile_sample_stride_width]) + result_rows.append(torch.cat(result_row, dim=-1)) + + dec = torch.cat(result_rows, dim=3)[:, :, :, :sample_height, :sample_width] + + if not return_dict: + return (dec,) + return {"sample": dec} + + def forward( + self, + sample: torch.Tensor, + sample_posterior: bool = False, + return_dict: bool = True, + generator: Optional[torch.Generator] = None, + ) -> Union[Dict[str, torch.Tensor], torch.Tensor]: + """ + Args: + sample (`torch.Tensor`): Input sample. + return_dict (`bool`, *optional*, defaults to `True`): + Whether or not to return a [`Dict[str, torch.Tensor]`] instead of a plain tuple. + """ + x = sample + posterior = self.encode(x).latent_dist + if sample_posterior: + z = posterior.sample(generator=generator) + else: + z = posterior.mode() + dec = self.decode(z, return_dict=return_dict) + return dec + + +# region utils + +# This region is not included in the original implementation. Added for musubi-tuner/sd-scripts. + + +# Convert ComfyUI keys to standard keys if necessary +def convert_comfyui_state_dict(sd): + if "conv1.bias" not in sd: + return sd + + # Key mapping from ComfyUI VAE to official VAE, auto-generated by a script + key_map = { + "conv1": "quant_conv", + "conv2": "post_quant_conv", + "decoder.conv1": "decoder.conv_in", + "decoder.head.0": "decoder.norm_out", + "decoder.head.2": "decoder.conv_out", + "decoder.middle.0.residual.0": "decoder.mid_block.resnets.0.norm1", + "decoder.middle.0.residual.2": "decoder.mid_block.resnets.0.conv1", + "decoder.middle.0.residual.3": "decoder.mid_block.resnets.0.norm2", + "decoder.middle.0.residual.6": "decoder.mid_block.resnets.0.conv2", + "decoder.middle.1.norm": "decoder.mid_block.attentions.0.norm", + "decoder.middle.1.proj": "decoder.mid_block.attentions.0.proj", + "decoder.middle.1.to_qkv": "decoder.mid_block.attentions.0.to_qkv", + "decoder.middle.2.residual.0": "decoder.mid_block.resnets.1.norm1", + "decoder.middle.2.residual.2": "decoder.mid_block.resnets.1.conv1", + "decoder.middle.2.residual.3": "decoder.mid_block.resnets.1.norm2", + "decoder.middle.2.residual.6": "decoder.mid_block.resnets.1.conv2", + "decoder.upsamples.0.residual.0": "decoder.up_blocks.0.resnets.0.norm1", + "decoder.upsamples.0.residual.2": "decoder.up_blocks.0.resnets.0.conv1", + "decoder.upsamples.0.residual.3": "decoder.up_blocks.0.resnets.0.norm2", + "decoder.upsamples.0.residual.6": "decoder.up_blocks.0.resnets.0.conv2", + "decoder.upsamples.1.residual.0": "decoder.up_blocks.0.resnets.1.norm1", + "decoder.upsamples.1.residual.2": "decoder.up_blocks.0.resnets.1.conv1", + "decoder.upsamples.1.residual.3": "decoder.up_blocks.0.resnets.1.norm2", + "decoder.upsamples.1.residual.6": "decoder.up_blocks.0.resnets.1.conv2", + "decoder.upsamples.10.residual.0": "decoder.up_blocks.2.resnets.2.norm1", + "decoder.upsamples.10.residual.2": "decoder.up_blocks.2.resnets.2.conv1", + "decoder.upsamples.10.residual.3": "decoder.up_blocks.2.resnets.2.norm2", + "decoder.upsamples.10.residual.6": "decoder.up_blocks.2.resnets.2.conv2", + "decoder.upsamples.11.resample.1": "decoder.up_blocks.2.upsamplers.0.resample.1", + "decoder.upsamples.12.residual.0": "decoder.up_blocks.3.resnets.0.norm1", + "decoder.upsamples.12.residual.2": "decoder.up_blocks.3.resnets.0.conv1", + "decoder.upsamples.12.residual.3": "decoder.up_blocks.3.resnets.0.norm2", + "decoder.upsamples.12.residual.6": "decoder.up_blocks.3.resnets.0.conv2", + "decoder.upsamples.13.residual.0": "decoder.up_blocks.3.resnets.1.norm1", + "decoder.upsamples.13.residual.2": "decoder.up_blocks.3.resnets.1.conv1", + "decoder.upsamples.13.residual.3": "decoder.up_blocks.3.resnets.1.norm2", + "decoder.upsamples.13.residual.6": "decoder.up_blocks.3.resnets.1.conv2", + "decoder.upsamples.14.residual.0": "decoder.up_blocks.3.resnets.2.norm1", + "decoder.upsamples.14.residual.2": "decoder.up_blocks.3.resnets.2.conv1", + "decoder.upsamples.14.residual.3": "decoder.up_blocks.3.resnets.2.norm2", + "decoder.upsamples.14.residual.6": "decoder.up_blocks.3.resnets.2.conv2", + "decoder.upsamples.2.residual.0": "decoder.up_blocks.0.resnets.2.norm1", + "decoder.upsamples.2.residual.2": "decoder.up_blocks.0.resnets.2.conv1", + "decoder.upsamples.2.residual.3": "decoder.up_blocks.0.resnets.2.norm2", + "decoder.upsamples.2.residual.6": "decoder.up_blocks.0.resnets.2.conv2", + "decoder.upsamples.3.resample.1": "decoder.up_blocks.0.upsamplers.0.resample.1", + "decoder.upsamples.3.time_conv": "decoder.up_blocks.0.upsamplers.0.time_conv", + "decoder.upsamples.4.residual.0": "decoder.up_blocks.1.resnets.0.norm1", + "decoder.upsamples.4.residual.2": "decoder.up_blocks.1.resnets.0.conv1", + "decoder.upsamples.4.residual.3": "decoder.up_blocks.1.resnets.0.norm2", + "decoder.upsamples.4.residual.6": "decoder.up_blocks.1.resnets.0.conv2", + "decoder.upsamples.4.shortcut": "decoder.up_blocks.1.resnets.0.conv_shortcut", + "decoder.upsamples.5.residual.0": "decoder.up_blocks.1.resnets.1.norm1", + "decoder.upsamples.5.residual.2": "decoder.up_blocks.1.resnets.1.conv1", + "decoder.upsamples.5.residual.3": "decoder.up_blocks.1.resnets.1.norm2", + "decoder.upsamples.5.residual.6": "decoder.up_blocks.1.resnets.1.conv2", + "decoder.upsamples.6.residual.0": "decoder.up_blocks.1.resnets.2.norm1", + "decoder.upsamples.6.residual.2": "decoder.up_blocks.1.resnets.2.conv1", + "decoder.upsamples.6.residual.3": "decoder.up_blocks.1.resnets.2.norm2", + "decoder.upsamples.6.residual.6": "decoder.up_blocks.1.resnets.2.conv2", + "decoder.upsamples.7.resample.1": "decoder.up_blocks.1.upsamplers.0.resample.1", + "decoder.upsamples.7.time_conv": "decoder.up_blocks.1.upsamplers.0.time_conv", + "decoder.upsamples.8.residual.0": "decoder.up_blocks.2.resnets.0.norm1", + "decoder.upsamples.8.residual.2": "decoder.up_blocks.2.resnets.0.conv1", + "decoder.upsamples.8.residual.3": "decoder.up_blocks.2.resnets.0.norm2", + "decoder.upsamples.8.residual.6": "decoder.up_blocks.2.resnets.0.conv2", + "decoder.upsamples.9.residual.0": "decoder.up_blocks.2.resnets.1.norm1", + "decoder.upsamples.9.residual.2": "decoder.up_blocks.2.resnets.1.conv1", + "decoder.upsamples.9.residual.3": "decoder.up_blocks.2.resnets.1.norm2", + "decoder.upsamples.9.residual.6": "decoder.up_blocks.2.resnets.1.conv2", + "encoder.conv1": "encoder.conv_in", + "encoder.downsamples.0.residual.0": "encoder.down_blocks.0.norm1", + "encoder.downsamples.0.residual.2": "encoder.down_blocks.0.conv1", + "encoder.downsamples.0.residual.3": "encoder.down_blocks.0.norm2", + "encoder.downsamples.0.residual.6": "encoder.down_blocks.0.conv2", + "encoder.downsamples.1.residual.0": "encoder.down_blocks.1.norm1", + "encoder.downsamples.1.residual.2": "encoder.down_blocks.1.conv1", + "encoder.downsamples.1.residual.3": "encoder.down_blocks.1.norm2", + "encoder.downsamples.1.residual.6": "encoder.down_blocks.1.conv2", + "encoder.downsamples.10.residual.0": "encoder.down_blocks.10.norm1", + "encoder.downsamples.10.residual.2": "encoder.down_blocks.10.conv1", + "encoder.downsamples.10.residual.3": "encoder.down_blocks.10.norm2", + "encoder.downsamples.10.residual.6": "encoder.down_blocks.10.conv2", + "encoder.downsamples.2.resample.1": "encoder.down_blocks.2.resample.1", + "encoder.downsamples.3.residual.0": "encoder.down_blocks.3.norm1", + "encoder.downsamples.3.residual.2": "encoder.down_blocks.3.conv1", + "encoder.downsamples.3.residual.3": "encoder.down_blocks.3.norm2", + "encoder.downsamples.3.residual.6": "encoder.down_blocks.3.conv2", + "encoder.downsamples.3.shortcut": "encoder.down_blocks.3.conv_shortcut", + "encoder.downsamples.4.residual.0": "encoder.down_blocks.4.norm1", + "encoder.downsamples.4.residual.2": "encoder.down_blocks.4.conv1", + "encoder.downsamples.4.residual.3": "encoder.down_blocks.4.norm2", + "encoder.downsamples.4.residual.6": "encoder.down_blocks.4.conv2", + "encoder.downsamples.5.resample.1": "encoder.down_blocks.5.resample.1", + "encoder.downsamples.5.time_conv": "encoder.down_blocks.5.time_conv", + "encoder.downsamples.6.residual.0": "encoder.down_blocks.6.norm1", + "encoder.downsamples.6.residual.2": "encoder.down_blocks.6.conv1", + "encoder.downsamples.6.residual.3": "encoder.down_blocks.6.norm2", + "encoder.downsamples.6.residual.6": "encoder.down_blocks.6.conv2", + "encoder.downsamples.6.shortcut": "encoder.down_blocks.6.conv_shortcut", + "encoder.downsamples.7.residual.0": "encoder.down_blocks.7.norm1", + "encoder.downsamples.7.residual.2": "encoder.down_blocks.7.conv1", + "encoder.downsamples.7.residual.3": "encoder.down_blocks.7.norm2", + "encoder.downsamples.7.residual.6": "encoder.down_blocks.7.conv2", + "encoder.downsamples.8.resample.1": "encoder.down_blocks.8.resample.1", + "encoder.downsamples.8.time_conv": "encoder.down_blocks.8.time_conv", + "encoder.downsamples.9.residual.0": "encoder.down_blocks.9.norm1", + "encoder.downsamples.9.residual.2": "encoder.down_blocks.9.conv1", + "encoder.downsamples.9.residual.3": "encoder.down_blocks.9.norm2", + "encoder.downsamples.9.residual.6": "encoder.down_blocks.9.conv2", + "encoder.head.0": "encoder.norm_out", + "encoder.head.2": "encoder.conv_out", + "encoder.middle.0.residual.0": "encoder.mid_block.resnets.0.norm1", + "encoder.middle.0.residual.2": "encoder.mid_block.resnets.0.conv1", + "encoder.middle.0.residual.3": "encoder.mid_block.resnets.0.norm2", + "encoder.middle.0.residual.6": "encoder.mid_block.resnets.0.conv2", + "encoder.middle.1.norm": "encoder.mid_block.attentions.0.norm", + "encoder.middle.1.proj": "encoder.mid_block.attentions.0.proj", + "encoder.middle.1.to_qkv": "encoder.mid_block.attentions.0.to_qkv", + "encoder.middle.2.residual.0": "encoder.mid_block.resnets.1.norm1", + "encoder.middle.2.residual.2": "encoder.mid_block.resnets.1.conv1", + "encoder.middle.2.residual.3": "encoder.mid_block.resnets.1.norm2", + "encoder.middle.2.residual.6": "encoder.mid_block.resnets.1.conv2", + } + + new_state_dict = {} + for key in sd.keys(): + new_key = key + key_without_suffix = key.rsplit(".", 1)[0] + if key_without_suffix in key_map: + new_key = key.replace(key_without_suffix, key_map[key_without_suffix]) + new_state_dict[new_key] = sd[key] + + logger.info("Converted ComfyUI AutoencoderKL state dict keys to official format") + return new_state_dict + + +def load_vae( + vae_path: str, + input_channels: int = 3, + device: Union[str, torch.device] = "cpu", + disable_mmap: bool = False, + spatial_chunk_size: Optional[int] = None, + disable_cache: bool = False, +) -> AutoencoderKLQwenImage: + """Load VAE from a given path.""" + VAE_CONFIG_JSON = """ +{ + "_class_name": "AutoencoderKLQwenImage", + "_diffusers_version": "0.34.0.dev0", + "attn_scales": [], + "base_dim": 96, + "dim_mult": [ + 1, + 2, + 4, + 4 + ], + "dropout": 0.0, + "latents_mean": [ + -0.7571, + -0.7089, + -0.9113, + 0.1075, + -0.1745, + 0.9653, + -0.1517, + 1.5508, + 0.4134, + -0.0715, + 0.5517, + -0.3632, + -0.1922, + -0.9497, + 0.2503, + -0.2921 + ], + "latents_std": [ + 2.8184, + 1.4541, + 2.3275, + 2.6558, + 1.2196, + 1.7708, + 2.6052, + 2.0743, + 3.2687, + 2.1526, + 2.8652, + 1.5579, + 1.6382, + 1.1253, + 2.8251, + 1.916 + ], + "num_res_blocks": 2, + "temperal_downsample": [ + false, + true, + true + ], + "z_dim": 16 +} +""" + logger.info("Initializing VAE") + + if spatial_chunk_size is not None and spatial_chunk_size % 2 != 0: + spatial_chunk_size += 1 + logger.warning(f"Adjusted spatial_chunk_size to the next even number: {spatial_chunk_size}") + + config = json.loads(VAE_CONFIG_JSON) + vae = AutoencoderKLQwenImage( + base_dim=config["base_dim"], + z_dim=config["z_dim"], + dim_mult=config["dim_mult"], + num_res_blocks=config["num_res_blocks"], + attn_scales=config["attn_scales"], + temperal_downsample=config["temperal_downsample"], + dropout=config["dropout"], + latents_mean=config["latents_mean"], + latents_std=config["latents_std"], + input_channels=input_channels, + spatial_chunk_size=spatial_chunk_size, + disable_cache=disable_cache, + ) + + logger.info(f"Loading VAE from {vae_path}") + state_dict = load_safetensors(vae_path, device=device, disable_mmap=disable_mmap) + + # Convert ComfyUI VAE keys to official VAE keys + state_dict = convert_comfyui_state_dict(state_dict) + + info = vae.load_state_dict(state_dict, strict=True, assign=True) + logger.info(f"Loaded VAE: {info}") + + vae.to(device) + return vae + + +if __name__ == "__main__": + # Debugging / testing code + import argparse + import glob + import os + import time + + from PIL import Image + + from library.device_utils import get_preferred_device, synchronize_device + + parser = argparse.ArgumentParser() + parser.add_argument("--vae", type=str, required=True, help="Path to the VAE model file.") + parser.add_argument("--input_image_dir", type=str, required=True, help="Path to the input image directory.") + parser.add_argument("--output_image_dir", type=str, required=True, help="Path to the output image directory.") + args = parser.parse_args() + + # Load VAE + vae = load_vae(args.vae, device=get_preferred_device()) + + # Process images + def encode_decode_image(image_path, output_path): + image = Image.open(image_path).convert("RGB") + + # Crop to multiple of 8 + width, height = image.size + new_width = (width // 8) * 8 + new_height = (height // 8) * 8 + if new_width != width or new_height != height: + image = image.crop((0, 0, new_width, new_height)) + + image_tensor = torch.tensor(np.array(image)).permute(2, 0, 1).unsqueeze(0).float() / 255.0 * 2 - 1 + image_tensor = image_tensor.to(vae.dtype).to(vae.device) + + with torch.no_grad(): + latents = vae.encode_pixels_to_latents(image_tensor) + reconstructed = vae.decode_to_pixels(latents) + + diff = (image_tensor - reconstructed).abs().mean().item() + print(f"Processed {image_path} (size: {image.size}), reconstruction diff: {diff}") + + reconstructed_image = ((reconstructed.squeeze(0).permute(1, 2, 0).float().cpu().numpy() + 1) / 2 * 255).astype(np.uint8) + Image.fromarray(reconstructed_image).save(output_path) + + def process_directory(input_dir, output_dir): + if get_preferred_device().type == "cuda": + torch.cuda.empty_cache() + torch.cuda.reset_max_memory_allocated() + + synchronize_device(get_preferred_device()) + start_time = time.perf_counter() + + os.makedirs(output_dir, exist_ok=True) + image_paths = glob.glob(os.path.join(input_dir, "*.jpg")) + glob.glob(os.path.join(input_dir, "*.png")) + for image_path in image_paths: + filename = os.path.basename(image_path) + output_path = os.path.join(output_dir, filename) + encode_decode_image(image_path, output_path) + + if get_preferred_device().type == "cuda": + max_mem = torch.cuda.max_memory_allocated() / (1024**3) + print(f"Max GPU memory allocated: {max_mem:.2f} GB") + + synchronize_device(get_preferred_device()) + end_time = time.perf_counter() + print(f"Processing time: {end_time - start_time:.2f} seconds") + + print("Starting image processing with default settings...") + process_directory(args.input_image_dir, args.output_image_dir) + + print("Starting image processing with spatial chunking enabled with chunk size 64...") + vae.enable_spatial_chunking(64) + process_directory(args.input_image_dir, args.output_image_dir + "_chunked_64") + + print("Starting image processing with spatial chunking enabled with chunk size 16...") + vae.enable_spatial_chunking(16) + process_directory(args.input_image_dir, args.output_image_dir + "_chunked_16") + + print("Starting image processing without caching and chunking enabled with chunk size 64...") + vae.enable_spatial_chunking(64) + vae.disable_cache() + process_directory(args.input_image_dir, args.output_image_dir + "_no_cache_chunked_64") + + print("Starting image processing without caching and chunking enabled with chunk size 16...") + vae.disable_cache() + process_directory(args.input_image_dir, args.output_image_dir + "_no_cache_chunked_16") + + print("Starting image processing without caching and chunking disabled...") + vae.disable_spatial_chunking() + process_directory(args.input_image_dir, args.output_image_dir + "_no_cache") + + print("Processing completed.") diff --git a/library/safetensors_utils.py b/library/safetensors_utils.py index c65cdfabe..c7a3bdd7a 100644 --- a/library/safetensors_utils.py +++ b/library/safetensors_utils.py @@ -1,3 +1,4 @@ +from dataclasses import dataclass import os import re import numpy as np @@ -44,6 +45,7 @@ def validate_metadata(metadata: Dict[str, Any]) -> Dict[str, str]: validated[key] = value return validated + # print(f"Using memory efficient save file: {filename}") header = {} offset = 0 @@ -88,15 +90,17 @@ class MemoryEfficientSafeOpen: by using memory mapping for large tensors and avoiding unnecessary copies. """ - def __init__(self, filename): + def __init__(self, filename, disable_numpy_memmap=False): """Initialize the SafeTensor reader. Args: filename (str): Path to the safetensors file to read. + disable_numpy_memmap (bool): If True, disable numpy memory mapping for large tensors, using standard file read instead. """ self.filename = filename self.file = open(filename, "rb") self.header, self.header_size = self._read_header() + self.disable_numpy_memmap = disable_numpy_memmap def __enter__(self): """Enter context manager.""" @@ -178,7 +182,8 @@ def get_tensor(self, key: str, device: Optional[torch.device] = None, dtype: Opt # Use memmap for large tensors to avoid intermediate copies. # If device is cpu, tensor is not copied to gpu, so using memmap locks the file, which is not desired. # So we only use memmap if device is not cpu. - if num_bytes > 10 * 1024 * 1024 and device is not None and device.type != "cpu": + # If disable_numpy_memmap is True, skip numpy memory mapping to load with standard file read. + if not self.disable_numpy_memmap and num_bytes > 10 * 1024 * 1024 and device is not None and device.type != "cpu": # Create memory map for zero-copy reading mm = np.memmap(self.filename, mode="c", dtype=np.uint8, offset=tensor_offset, shape=(num_bytes,)) byte_tensor = torch.from_numpy(mm) # zero copy @@ -285,7 +290,11 @@ def _convert_float8(byte_tensor, dtype_str, shape): def load_safetensors( - path: str, device: Union[str, torch.device], disable_mmap: bool = False, dtype: Optional[torch.dtype] = None + path: str, + device: Union[str, torch.device], + disable_mmap: bool = False, + dtype: Optional[torch.dtype] = None, + disable_numpy_memmap: bool = False, ) -> dict[str, torch.Tensor]: if disable_mmap: # return safetensors.torch.load(open(path, "rb").read()) @@ -293,7 +302,7 @@ def load_safetensors( # logger.info(f"Loading without mmap (experimental)") state_dict = {} device = torch.device(device) if device is not None else None - with MemoryEfficientSafeOpen(path) as f: + with MemoryEfficientSafeOpen(path, disable_numpy_memmap=disable_numpy_memmap) as f: for key in f.keys(): state_dict[key] = f.get_tensor(key, device=device, dtype=dtype) synchronize_device(device) @@ -309,29 +318,44 @@ def load_safetensors( return state_dict -def load_split_weights( - file_path: str, device: Union[str, torch.device] = "cpu", disable_mmap: bool = False, dtype: Optional[torch.dtype] = None -) -> Dict[str, torch.Tensor]: +def get_split_weight_filenames(file_path: str) -> Optional[list[str]]: """ - Load split weights from a file. If the file name ends with 00001-of-00004 etc, it will load all files with the same prefix. - dtype is as is, no conversion is done. + Get the list of split weight filenames (full paths) if the file name ends with 00001-of-00004 etc. + Returns None if the file is not split. """ - device = torch.device(device) - - # if the file name ends with 00001-of-00004 etc, we need to load the files with the same prefix basename = os.path.basename(file_path) match = re.match(r"^(.*?)(\d+)-of-(\d+)\.safetensors$", basename) if match: prefix = basename[: match.start(2)] count = int(match.group(3)) - state_dict = {} + filenames = [] for i in range(count): filename = f"{prefix}{i + 1:05d}-of-{count:05d}.safetensors" filepath = os.path.join(os.path.dirname(file_path), filename) if os.path.exists(filepath): - state_dict.update(load_safetensors(filepath, device=device, disable_mmap=disable_mmap, dtype=dtype)) + filenames.append(filepath) else: raise FileNotFoundError(f"File {filepath} not found") + return filenames + else: + return None + + +def load_split_weights( + file_path: str, device: Union[str, torch.device] = "cpu", disable_mmap: bool = False, dtype: Optional[torch.dtype] = None +) -> Dict[str, torch.Tensor]: + """ + Load split weights from a file. If the file name ends with 00001-of-00004 etc, it will load all files with the same prefix. + dtype is as is, no conversion is done. + """ + device = torch.device(device) + + # if the file name ends with 00001-of-00004 etc, we need to load the files with the same prefix + split_filenames = get_split_weight_filenames(file_path) + if split_filenames is not None: + state_dict = {} + for filename in split_filenames: + state_dict.update(load_safetensors(filename, device=device, disable_mmap=disable_mmap, dtype=dtype)) else: state_dict = load_safetensors(file_path, device=device, disable_mmap=disable_mmap, dtype=dtype) return state_dict @@ -349,3 +373,106 @@ def find_key(safetensors_file: str, starts_with: Optional[str] = None, ends_with if (starts_with is None or key.startswith(starts_with)) and (ends_with is None or key.endswith(ends_with)): return key return None + + +@dataclass +class WeightTransformHooks: + split_hook: Optional[callable] = None + concat_hook: Optional[callable] = None + rename_hook: Optional[callable] = None + + +class TensorWeightAdapter: + """ + A wrapper for weight conversion hooks (split and concat) to be used with MemoryEfficientSafeOpen. + This wrapper adapts the original MemoryEfficientSafeOpen to apply the provided split and concat hooks + when loading tensors. + + split_hook: A callable that takes (original_key: str, original_tensor: torch.Tensor) and returns (new_keys: list[str], new_tensors: list[torch.Tensor]). + concat_hook: A callable that takes (original_key: str, tensors: dict[str, torch.Tensor]) and returns (new_key: str, concatenated_tensor: torch.Tensor). + rename_hook: A callable that takes (original_key: str) and returns (new_key: str). + + If tensors is None, the hook should return only the new keys (for split) or new key (for concat), without tensors. + + No need to implement __enter__ and __exit__ methods, as they are handled by the original MemoryEfficientSafeOpen. + Do not use this wrapper as a context manager directly, like `with WeightConvertHookWrapper(...) as f:`. + + **concat_hook is not tested yet.** + """ + + def __init__(self, weight_convert_hook: WeightTransformHooks, original_f: MemoryEfficientSafeOpen): + self.original_f = original_f + self.new_key_to_original_key_map: dict[str, Union[str, list[str]]] = ( + {} + ) # for split: new_key -> original_key; for concat: new_key -> list of original_keys; for direct mapping: new_key -> original_key + self.concat_key_set = set() # set of concatenated keys + self.split_key_set = set() # set of split keys + self.new_keys = [] + self.tensor_cache = {} # cache for split tensors + self.split_hook = weight_convert_hook.split_hook + self.concat_hook = weight_convert_hook.concat_hook + self.rename_hook = weight_convert_hook.rename_hook + + for key in self.original_f.keys(): + if self.split_hook is not None: + converted_keys, _ = self.split_hook(key, None) # get new keys only + if converted_keys is not None: + for converted_key in converted_keys: + self.new_key_to_original_key_map[converted_key] = key + self.split_key_set.add(converted_key) + self.new_keys.extend(converted_keys) + continue # skip concat_hook if split_hook is applied + + if self.concat_hook is not None: + converted_key, _ = self.concat_hook(key, None) # get new key only + if converted_key is not None: + if converted_key not in self.concat_key_set: # first time seeing this concatenated key + self.concat_key_set.add(converted_key) + self.new_key_to_original_key_map[converted_key] = [] + self.new_keys.append(converted_key) + + # multiple original keys map to the same concatenated key + self.new_key_to_original_key_map[converted_key].append(key) + continue # skip to next key + + # direct mapping + if self.rename_hook is not None: + new_key = self.rename_hook(key) + self.new_key_to_original_key_map[new_key] = key + else: + new_key = key + + self.new_keys.append(new_key) + + def keys(self) -> list[str]: + return self.new_keys + + def get_tensor(self, new_key: str, device: Optional[torch.device] = None, dtype: Optional[torch.dtype] = None) -> torch.Tensor: + # load tensor by new_key, applying split or concat hooks as needed + if new_key not in self.new_key_to_original_key_map: + # direct mapping + return self.original_f.get_tensor(new_key, device=device, dtype=dtype) + + elif new_key in self.split_key_set: + # split hook: split key is requested multiple times, so we cache the result + original_key = self.new_key_to_original_key_map[new_key] + if original_key not in self.tensor_cache: # not yet split + original_tensor = self.original_f.get_tensor(original_key, device=device, dtype=dtype) + new_keys, new_tensors = self.split_hook(original_key, original_tensor) # apply split hook + for k, t in zip(new_keys, new_tensors): + self.tensor_cache[k] = t + return self.tensor_cache.pop(new_key) # return and remove from cache + + elif new_key in self.concat_key_set: + # concat hook: concatenated key is requested only once, so we do not cache the result + tensors = {} + for original_key in self.new_key_to_original_key_map[new_key]: + tensor = self.original_f.get_tensor(original_key, device=device, dtype=dtype) + tensors[original_key] = tensor + _, concatenated_tensors = self.concat_hook(self.new_key_to_original_key_map[new_key][0], tensors) # apply concat hook + return concatenated_tensors + + else: + # direct mapping + original_key = self.new_key_to_original_key_map[new_key] + return self.original_f.get_tensor(original_key, device=device, dtype=dtype) diff --git a/library/sai_model_spec.py b/library/sai_model_spec.py index 32a4fd7bf..0ac9b3be9 100644 --- a/library/sai_model_spec.py +++ b/library/sai_model_spec.py @@ -81,6 +81,8 @@ ARCH_LUMINA_UNKNOWN = "lumina" ARCH_HUNYUAN_IMAGE_2_1 = "hunyuan-image-2.1" ARCH_HUNYUAN_IMAGE_UNKNOWN = "hunyuan-image" +ARCH_ANIMA_PREVIEW = "anima-preview" +ARCH_ANIMA_UNKNOWN = "anima-unknown" ADAPTER_LORA = "lora" ADAPTER_TEXTUAL_INVERSION = "textual-inversion" @@ -92,6 +94,7 @@ IMPL_CHROMA = "https://huggingface.co/lodestones/Chroma" IMPL_LUMINA = "https://github.com/Alpha-VLLM/Lumina-Image-2.0" IMPL_HUNYUAN_IMAGE = "https://github.com/Tencent-Hunyuan/HunyuanImage-2.1" +IMPL_ANIMA = "https://huggingface.co/circlestone-labs/Anima" PRED_TYPE_EPSILON = "epsilon" PRED_TYPE_V = "v" @@ -220,6 +223,12 @@ def determine_architecture( arch = ARCH_HUNYUAN_IMAGE_2_1 else: arch = ARCH_HUNYUAN_IMAGE_UNKNOWN + elif "anima" in model_config: + anima_type = model_config["anima"] + if anima_type == "preview": + arch = ARCH_ANIMA_PREVIEW + else: + arch = ARCH_ANIMA_UNKNOWN elif v2: arch = ARCH_SD_V2_768_V if v_parameterization else ARCH_SD_V2_512 else: @@ -252,6 +261,8 @@ def determine_implementation( return IMPL_FLUX elif "lumina" in model_config: return IMPL_LUMINA + elif "anima" in model_config: + return IMPL_ANIMA elif (lora and sdxl) or textual_inversion or is_stable_diffusion_ckpt: return IMPL_STABILITY_AI else: @@ -325,7 +336,7 @@ def determine_resolution( reso = (reso[0], reso[0]) else: # Determine default resolution based on model type - if sdxl or "sd3" in model_config or "flux" in model_config or "lumina" in model_config: + if sdxl or "sd3" in model_config or "flux" in model_config or "lumina" in model_config or "anima" in model_config: reso = (1024, 1024) elif v2 and v_parameterization: reso = (768, 768) diff --git a/library/strategy_anima.py b/library/strategy_anima.py index 9c9b01262..d89df5b9d 100644 --- a/library/strategy_anima.py +++ b/library/strategy_anima.py @@ -9,6 +9,7 @@ from library import anima_utils, train_util from library.strategy_base import LatentsCachingStrategy, TextEncodingStrategy, TokenizeStrategy, TextEncoderOutputsCachingStrategy +from library import qwen_image_autoencoder_kl from library.utils import setup_logging @@ -45,8 +46,8 @@ def __init__( t5_tokenizer = anima_utils.load_t5_tokenizer(t5_tokenizer_path) self.qwen3_tokenizer = qwen3_tokenizer - self.t5_tokenizer = t5_tokenizer self.qwen3_max_length = qwen3_max_length + self.t5_tokenizer = t5_tokenizer self.t5_max_length = t5_max_length def tokenize(self, text: Union[str, List[str]]) -> List[torch.Tensor]: @@ -54,26 +55,17 @@ def tokenize(self, text: Union[str, List[str]]) -> List[torch.Tensor]: # Tokenize with Qwen3 qwen3_encoding = self.qwen3_tokenizer.batch_encode_plus( - text, - return_tensors="pt", - truncation=True, - padding="max_length", - max_length=self.qwen3_max_length, + text, return_tensors="pt", truncation=True, padding="max_length", max_length=self.qwen3_max_length ) qwen3_input_ids = qwen3_encoding["input_ids"] qwen3_attn_mask = qwen3_encoding["attention_mask"] # Tokenize with T5 (for LLM Adapter target tokens) t5_encoding = self.t5_tokenizer.batch_encode_plus( - text, - return_tensors="pt", - truncation=True, - padding="max_length", - max_length=self.t5_max_length, + text, return_tensors="pt", truncation=True, padding="max_length", max_length=self.t5_max_length ) t5_input_ids = t5_encoding["input_ids"] t5_attn_mask = t5_encoding["attention_mask"] - return [qwen3_input_ids, qwen3_attn_mask, t5_input_ids, t5_attn_mask] @@ -84,46 +76,11 @@ class AnimaTextEncodingStrategy(TextEncodingStrategy): T5 tokens are passed through unchanged (only used by LLM Adapter). """ - def __init__( - self, - dropout_rate: float = 0.0, - ) -> None: - self.dropout_rate = dropout_rate - # Cached unconditional embeddings (from encoding empty caption "") - # Must be initialized via cache_uncond_embeddings() before text encoder is deleted - self._uncond_prompt_embeds: Optional[torch.Tensor] = None # (1, seq_len, hidden) - self._uncond_attn_mask: Optional[torch.Tensor] = None # (1, seq_len) - self._uncond_t5_input_ids: Optional[torch.Tensor] = None # (1, t5_seq_len) - self._uncond_t5_attn_mask: Optional[torch.Tensor] = None # (1, t5_seq_len) - - def cache_uncond_embeddings( - self, - tokenize_strategy: TokenizeStrategy, - models: List[Any], - ) -> None: - """Pre-encode empty caption "" and cache the unconditional embeddings. - - Must be called before the text encoder is deleted from GPU. - This matches diffusion-pipe-main behavior where empty caption embeddings - are pre-cached and swapped in during caption dropout. - """ - logger.info("Caching unconditional embeddings for caption dropout (encoding empty caption)...") - tokens = tokenize_strategy.tokenize("") - with torch.no_grad(): - uncond_outputs = self.encode_tokens(tokenize_strategy, models, tokens, enable_dropout=False) - # Store as CPU tensors (1, seq_len, ...) to avoid GPU memory waste - self._uncond_prompt_embeds = uncond_outputs[0].cpu() - self._uncond_attn_mask = uncond_outputs[1].cpu() - self._uncond_t5_input_ids = uncond_outputs[2].cpu() - self._uncond_t5_attn_mask = uncond_outputs[3].cpu() - logger.info(" Unconditional embeddings cached successfully") + def __init__(self) -> None: + super().__init__() def encode_tokens( - self, - tokenize_strategy: TokenizeStrategy, - models: List[Any], - tokens: List[torch.Tensor], - enable_dropout: bool = True, + self, tokenize_strategy: TokenizeStrategy, models: List[Any], tokens: List[torch.Tensor] ) -> List[torch.Tensor]: """Encode Qwen3 tokens and return embeddings + T5 token IDs. @@ -134,82 +91,20 @@ def encode_tokens( Returns: [prompt_embeds, attn_mask, t5_input_ids, t5_attn_mask] """ + # Do not handle dropout here; handled dataset-side or in drop_cached_text_encoder_outputs() qwen3_text_encoder = models[0] qwen3_input_ids, qwen3_attn_mask, t5_input_ids, t5_attn_mask = tokens - # Handle dropout: replace dropped items with unconditional embeddings (matching diffusion-pipe-main) - batch_size = qwen3_input_ids.shape[0] - non_drop_indices = [] - for i in range(batch_size): - drop = enable_dropout and (self.dropout_rate > 0.0 and random.random() < self.dropout_rate) - if not drop: - non_drop_indices.append(i) - - encoder_device = qwen3_text_encoder.device if hasattr(qwen3_text_encoder, 'device') else next(qwen3_text_encoder.parameters()).device - - if len(non_drop_indices) > 0 and len(non_drop_indices) < batch_size: - # Only encode non-dropped items to save compute - nd_input_ids = qwen3_input_ids[non_drop_indices].to(encoder_device) - nd_attn_mask = qwen3_attn_mask[non_drop_indices].to(encoder_device) - elif len(non_drop_indices) == batch_size: - nd_input_ids = qwen3_input_ids.to(encoder_device) - nd_attn_mask = qwen3_attn_mask.to(encoder_device) - else: - nd_input_ids = None - nd_attn_mask = None - - if nd_input_ids is not None: - outputs = qwen3_text_encoder(input_ids=nd_input_ids, attention_mask=nd_attn_mask) - nd_encoded_text = outputs.last_hidden_state - # Zero out padding positions - nd_encoded_text[~nd_attn_mask.bool()] = 0 - - # Build full batch: fill non-dropped with encoded, dropped with unconditional - if len(non_drop_indices) == batch_size: - prompt_embeds = nd_encoded_text - attn_mask = qwen3_attn_mask.to(encoder_device) - else: - # Get unconditional embeddings - if self._uncond_prompt_embeds is not None: - uncond_pe = self._uncond_prompt_embeds[0] - uncond_am = self._uncond_attn_mask[0] - uncond_t5_ids = self._uncond_t5_input_ids[0] - uncond_t5_am = self._uncond_t5_attn_mask[0] - else: - # Encode empty caption on-the-fly (text encoder still available) - uncond_tokens = tokenize_strategy.tokenize("") - uncond_ids = uncond_tokens[0].to(encoder_device) - uncond_mask = uncond_tokens[1].to(encoder_device) - uncond_out = qwen3_text_encoder(input_ids=uncond_ids, attention_mask=uncond_mask) - uncond_pe = uncond_out.last_hidden_state[0] - uncond_pe[~uncond_mask[0].bool()] = 0 - uncond_am = uncond_mask[0] - uncond_t5_ids = uncond_tokens[2][0] - uncond_t5_am = uncond_tokens[3][0] - - seq_len = qwen3_input_ids.shape[1] - hidden_size = nd_encoded_text.shape[-1] if nd_encoded_text is not None else uncond_pe.shape[-1] - dtype = nd_encoded_text.dtype if nd_encoded_text is not None else uncond_pe.dtype - - prompt_embeds = torch.zeros((batch_size, seq_len, hidden_size), device=encoder_device, dtype=dtype) - attn_mask = torch.zeros((batch_size, seq_len), device=encoder_device, dtype=qwen3_attn_mask.dtype) - - if len(non_drop_indices) > 0: - prompt_embeds[non_drop_indices] = nd_encoded_text - attn_mask[non_drop_indices] = nd_attn_mask - - # Fill dropped items with unconditional embeddings - t5_input_ids = t5_input_ids.clone() - t5_attn_mask = t5_attn_mask.clone() - drop_indices = [i for i in range(batch_size) if i not in non_drop_indices] - for i in drop_indices: - prompt_embeds[i] = uncond_pe.to(device=encoder_device, dtype=dtype) - attn_mask[i] = uncond_am.to(device=encoder_device, dtype=qwen3_attn_mask.dtype) - t5_input_ids[i] = uncond_t5_ids.to(device=t5_input_ids.device, dtype=t5_input_ids.dtype) - t5_attn_mask[i] = uncond_t5_am.to(device=t5_attn_mask.device, dtype=t5_attn_mask.dtype) + encoder_device = qwen3_text_encoder.device - return [prompt_embeds, attn_mask, t5_input_ids, t5_attn_mask] + qwen3_input_ids = qwen3_input_ids.to(encoder_device) + qwen3_attn_mask = qwen3_attn_mask.to(encoder_device) + outputs = qwen3_text_encoder(input_ids=qwen3_input_ids, attention_mask=qwen3_attn_mask) + prompt_embeds = outputs.last_hidden_state + prompt_embeds[~qwen3_attn_mask.bool()] = 0 + + return [prompt_embeds, qwen3_attn_mask, t5_input_ids, t5_attn_mask] def drop_cached_text_encoder_outputs( self, @@ -217,6 +112,7 @@ def drop_cached_text_encoder_outputs( attn_mask: torch.Tensor, t5_input_ids: torch.Tensor, t5_attn_mask: torch.Tensor, + caption_dropout_rates: Optional[torch.Tensor] = None, ) -> List[torch.Tensor]: """Apply dropout to cached text encoder outputs. @@ -224,37 +120,30 @@ def drop_cached_text_encoder_outputs( Replaces dropped items with pre-cached unconditional embeddings (from encoding "") to match diffusion-pipe-main behavior. """ - if prompt_embeds is not None and self.dropout_rate > 0.0: - # Clone to avoid in-place modification of cached tensors - prompt_embeds = prompt_embeds.clone() - if attn_mask is not None: - attn_mask = attn_mask.clone() - if t5_input_ids is not None: - t5_input_ids = t5_input_ids.clone() - if t5_attn_mask is not None: - t5_attn_mask = t5_attn_mask.clone() - - for i in range(prompt_embeds.shape[0]): - if random.random() < self.dropout_rate: - if self._uncond_prompt_embeds is not None: - # Use pre-cached unconditional embeddings - prompt_embeds[i] = self._uncond_prompt_embeds[0].to(device=prompt_embeds.device, dtype=prompt_embeds.dtype) - if attn_mask is not None: - attn_mask[i] = self._uncond_attn_mask[0].to(device=attn_mask.device, dtype=attn_mask.dtype) - if t5_input_ids is not None: - t5_input_ids[i] = self._uncond_t5_input_ids[0].to(device=t5_input_ids.device, dtype=t5_input_ids.dtype) - if t5_attn_mask is not None: - t5_attn_mask[i] = self._uncond_t5_attn_mask[0].to(device=t5_attn_mask.device, dtype=t5_attn_mask.dtype) - else: - # Fallback: zero out (should not happen if cache_uncond_embeddings was called) - logger.warning("Unconditional embeddings not cached, falling back to zeros for caption dropout") - prompt_embeds[i] = torch.zeros_like(prompt_embeds[i]) - if attn_mask is not None: - attn_mask[i] = torch.zeros_like(attn_mask[i]) - if t5_input_ids is not None: - t5_input_ids[i] = torch.zeros_like(t5_input_ids[i]) - if t5_attn_mask is not None: - t5_attn_mask[i] = torch.zeros_like(t5_attn_mask[i]) + if caption_dropout_rates is None or torch.all(caption_dropout_rates == 0.0).item(): + return [prompt_embeds, attn_mask, t5_input_ids, t5_attn_mask] + + # Clone to avoid in-place modification of cached tensors + prompt_embeds = prompt_embeds.clone() + if attn_mask is not None: + attn_mask = attn_mask.clone() + if t5_input_ids is not None: + t5_input_ids = t5_input_ids.clone() + if t5_attn_mask is not None: + t5_attn_mask = t5_attn_mask.clone() + + for i in range(prompt_embeds.shape[0]): + if random.random() < caption_dropout_rates[i].item(): + # Use pre-cached unconditional embeddings + prompt_embeds[i] = 0 + if attn_mask is not None: + attn_mask[i] = 0 + if t5_input_ids is not None: + t5_input_ids[i, 0] = 1 # Set to token ID + t5_input_ids[i, 1:] = 0 + if t5_attn_mask is not None: + t5_attn_mask[i, 0] = 1 + t5_attn_mask[i, 1:] = 0 return [prompt_embeds, attn_mask, t5_input_ids, t5_attn_mask] @@ -297,6 +186,8 @@ def is_disk_cached_outputs_expected(self, npz_path: str) -> bool: return False if "t5_attn_mask" not in npz: return False + if "caption_dropout_rate" not in npz: + return False except Exception as e: logger.error(f"Error loading file: {npz_path}") raise e @@ -309,7 +200,8 @@ def load_outputs_npz(self, npz_path: str) -> List[np.ndarray]: attn_mask = data["attn_mask"] t5_input_ids = data["t5_input_ids"] t5_attn_mask = data["t5_attn_mask"] - return [prompt_embeds, attn_mask, t5_input_ids, t5_attn_mask] + caption_dropout_rate = data["caption_dropout_rate"] + return [prompt_embeds, attn_mask, t5_input_ids, t5_attn_mask, caption_dropout_rate] def cache_batch_outputs( self, @@ -323,12 +215,8 @@ def cache_batch_outputs( tokens_and_masks = tokenize_strategy.tokenize(captions) with torch.no_grad(): - # Always disable dropout during caching prompt_embeds, attn_mask, t5_input_ids, t5_attn_mask = anima_text_encoding_strategy.encode_tokens( - tokenize_strategy, - models, - tokens_and_masks, - enable_dropout=False, + tokenize_strategy, models, tokens_and_masks ) # Convert to numpy for caching @@ -344,6 +232,7 @@ def cache_batch_outputs( attn_mask_i = attn_mask[i] t5_input_ids_i = t5_input_ids[i] t5_attn_mask_i = t5_attn_mask[i] + caption_dropout_rate = torch.tensor(info.caption_dropout_rate, dtype=torch.float32) if self.cache_to_disk: np.savez( @@ -352,9 +241,10 @@ def cache_batch_outputs( attn_mask=attn_mask_i, t5_input_ids=t5_input_ids_i, t5_attn_mask=t5_attn_mask_i, + caption_dropout_rate=caption_dropout_rate, ) else: - info.text_encoder_outputs = (prompt_embeds_i, attn_mask_i, t5_input_ids_i, t5_attn_mask_i) + info.text_encoder_outputs = (prompt_embeds_i, attn_mask_i, t5_input_ids_i, t5_attn_mask_i, caption_dropout_rate) class AnimaLatentsCachingStrategy(LatentsCachingStrategy): @@ -374,18 +264,10 @@ def cache_suffix(self) -> str: return self.ANIMA_LATENTS_NPZ_SUFFIX def get_latents_npz_path(self, absolute_path: str, image_size: Tuple[int, int]) -> str: - return ( - os.path.splitext(absolute_path)[0] - + f"_{image_size[0]:04d}x{image_size[1]:04d}" - + self.ANIMA_LATENTS_NPZ_SUFFIX - ) + return os.path.splitext(absolute_path)[0] + f"_{image_size[0]:04d}x{image_size[1]:04d}" + self.ANIMA_LATENTS_NPZ_SUFFIX - def is_disk_cached_latents_expected( - self, bucket_reso: Tuple[int, int], npz_path: str, flip_aug: bool, alpha_mask: bool - ): - return self._default_is_disk_cached_latents_expected( - 8, bucket_reso, npz_path, flip_aug, alpha_mask, multi_resolution=True - ) + def is_disk_cached_latents_expected(self, bucket_reso: Tuple[int, int], npz_path: str, flip_aug: bool, alpha_mask: bool): + return self._default_is_disk_cached_latents_expected(8, bucket_reso, npz_path, flip_aug, alpha_mask, multi_resolution=True) def load_latents_from_disk( self, npz_path: str, bucket_reso: Tuple[int, int] @@ -393,32 +275,23 @@ def load_latents_from_disk( return self._default_load_latents_from_disk(8, npz_path, bucket_reso) def cache_batch_latents(self, vae, image_infos: List, flip_aug: bool, alpha_mask: bool, random_crop: bool): - """Cache batch of latents using WanVAE. + """Cache batch of latents using Qwen Image VAE. - vae is expected to be the WanVAE_ model (not the wrapper). + vae is expected to be the Qwen Image VAE (AutoencoderKLQwenImage). The encoding function handles the mean/std normalization. """ - from library.anima_models import ANIMA_VAE_MEAN, ANIMA_VAE_STD - - vae_device = next(vae.parameters()).device - vae_dtype = next(vae.parameters()).dtype - - # Create scale tensors on VAE device - mean = torch.tensor(ANIMA_VAE_MEAN, dtype=vae_dtype, device=vae_device) - std = torch.tensor(ANIMA_VAE_STD, dtype=vae_dtype, device=vae_device) - scale = [mean, 1.0 / std] + vae: qwen_image_autoencoder_kl.AutoencoderKLQwenImage = vae + vae_device = vae.device + vae_dtype = vae.dtype def encode_by_vae(img_tensor): """Encode image tensor to latents. img_tensor: (B, C, H, W) in [-1, 1] range (already normalized by IMAGE_TRANSFORMS) - Need to add temporal dim to get (B, C, T=1, H, W) for WanVAE + Qwen Image VAE accepts inputs in (B, C, H, W) or (B, C, 1, H, W) shape. + Returns latents in (B, 16, 1, H/8, W/8) shape on CPU. """ - # Add temporal dimension: (B, C, H, W) -> (B, C, 1, H, W) - img_tensor = img_tensor.unsqueeze(2) - img_tensor = img_tensor.to(vae_device, dtype=vae_dtype) - - latents = vae.encode(img_tensor, scale) + latents = vae.encode_pixels_to_latents(img_tensor) # Keep 4D for input/output return latents.to("cpu") self._default_cache_batch_latents( diff --git a/library/train_util.py b/library/train_util.py index 6874076d6..d8577b9d7 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -179,12 +179,15 @@ def split_train_val( class ImageInfo: - def __init__(self, image_key: str, num_repeats: int, caption: str, is_reg: bool, absolute_path: str) -> None: + def __init__( + self, image_key: str, num_repeats: int, caption: str, is_reg: bool, absolute_path: str, caption_dropout_rate: float = 0.0 + ) -> None: self.image_key: str = image_key self.num_repeats: int = num_repeats self.caption: str = caption self.is_reg: bool = is_reg self.absolute_path: str = absolute_path + self.caption_dropout_rate: float = caption_dropout_rate self.image_size: Tuple[int, int] = None self.resized_size: Tuple[int, int] = None self.bucket_reso: Tuple[int, int] = None @@ -197,7 +200,7 @@ def __init__(self, image_key: str, num_repeats: int, caption: str, is_reg: bool, ) self.cond_img_path: Optional[str] = None self.image: Optional[Image.Image] = None # optional, original PIL Image - self.text_encoder_outputs_npz: Optional[str] = None # set in cache_text_encoder_outputs + self.text_encoder_outputs_npz: Optional[str] = None # filename. set in cache_text_encoder_outputs # new self.text_encoder_outputs: Optional[List[torch.Tensor]] = None @@ -1096,11 +1099,11 @@ def verify_bucket_reso_steps(self, min_steps: int): def is_latent_cacheable(self): return all([not subset.color_aug and not subset.random_crop for subset in self.subsets]) - def is_text_encoder_output_cacheable(self): + def is_text_encoder_output_cacheable(self, cache_supports_dropout: bool = False): return all( [ not ( - subset.caption_dropout_rate > 0 + subset.caption_dropout_rate > 0 and not cache_supports_dropout or subset.shuffle_caption or subset.token_warmup_step > 0 or subset.caption_tag_dropout_rate > 0 @@ -2137,7 +2140,7 @@ def load_dreambooth_dir(subset: DreamBoothSubset): num_train_images += num_repeats * len(img_paths) for img_path, caption, size in zip(img_paths, captions, sizes): - info = ImageInfo(img_path, num_repeats, caption, subset.is_reg, img_path) + info = ImageInfo(img_path, num_repeats, caption, subset.is_reg, img_path, subset.caption_dropout_rate) info.resize_interpolation = ( subset.resize_interpolation if subset.resize_interpolation is not None else self.resize_interpolation ) @@ -2338,7 +2341,7 @@ def __init__( if caption is None: caption = "" - image_info = ImageInfo(image_key, subset.num_repeats, caption, False, abs_path) + image_info = ImageInfo(image_key, subset.num_repeats, caption, False, abs_path, subset.caption_dropout_rate) image_info.resize_interpolation = ( subset.resize_interpolation if subset.resize_interpolation is not None else self.resize_interpolation ) @@ -2661,8 +2664,8 @@ def get_resolutions(self) -> List[Tuple[int, int]]: def is_latent_cacheable(self) -> bool: return all([dataset.is_latent_cacheable() for dataset in self.datasets]) - def is_text_encoder_output_cacheable(self) -> bool: - return all([dataset.is_text_encoder_output_cacheable() for dataset in self.datasets]) + def is_text_encoder_output_cacheable(self, cache_supports_dropout: bool = False) -> bool: + return all([dataset.is_text_encoder_output_cacheable(cache_supports_dropout) for dataset in self.datasets]) def set_current_strategies(self): for dataset in self.datasets: @@ -3578,6 +3581,7 @@ def get_sai_model_spec_dataclass( flux: str = None, lumina: str = None, hunyuan_image: str = None, + anima: str = None, optional_metadata: dict[str, str] | None = None, ) -> sai_model_spec.ModelSpecMetadata: """ @@ -3609,7 +3613,8 @@ def get_sai_model_spec_dataclass( model_config["lumina"] = lumina if hunyuan_image is not None: model_config["hunyuan_image"] = hunyuan_image - + if anima is not None: + model_config["anima"] = anima # Use the dataclass function directly return sai_model_spec.build_metadata_dataclass( state_dict, diff --git a/networks/convert_anima_lora_to_comfy.py b/networks/convert_anima_lora_to_comfy.py new file mode 100644 index 000000000..5ff2b9eea --- /dev/null +++ b/networks/convert_anima_lora_to_comfy.py @@ -0,0 +1,160 @@ +import argparse +from safetensors.torch import save_file +from safetensors import safe_open + + +from library import train_util +from library.utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + +COMFYUI_DIT_PREFIX = "diffusion_model." +COMFYUI_QWEN3_PREFIX = "text_encoders.qwen3_06b.transformer.model." + + +def main(args): + # load source safetensors + logger.info(f"Loading source file {args.src_path}") + state_dict = {} + with safe_open(args.src_path, framework="pt") as f: + metadata = f.metadata() + for k in f.keys(): + state_dict[k] = f.get_tensor(k) + + logger.info(f"Converting...") + + keys = list(state_dict.keys()) + count = 0 + + for k in keys: + if not args.reverse: + is_dit_lora = k.startswith("lora_unet_") + module_and_weight_name = "_".join(k.split("_")[2:]) # Remove `lora_unet_`or `lora_te_` prefix + + # Split at the first dot, e.g., "block1_linear.weight" -> "block1_linear", "weight" + module_name, weight_name = module_and_weight_name.split(".", 1) + + # Weight name conversion: lora_up/lora_down to lora_A/lora_B + if weight_name.startswith("lora_up"): + weight_name = weight_name.replace("lora_up", "lora_B") + elif weight_name.startswith("lora_down"): + weight_name = weight_name.replace("lora_down", "lora_A") + else: + # Keep other weight names as-is: e.g. alpha + pass + + # Module name conversion: convert dots to underscores + original_module_name = module_name.replace("_", ".") # Convert to dot notation + + # Convert back illegal dots in module names + # DiT + original_module_name = original_module_name.replace("llm.adapter", "llm_adapter") + original_module_name = original_module_name.replace(".linear.", ".linear_") + original_module_name = original_module_name.replace("t.embedding.norm", "t_embedding_norm") + original_module_name = original_module_name.replace("x.embedder", "x_embedder") + original_module_name = original_module_name.replace("adaln.modulation.cross_attn", "adaln_modulation_cross_attn") + original_module_name = original_module_name.replace("adaln.modulation.mlp", "adaln_modulation_mlp") + original_module_name = original_module_name.replace("cross.attn", "cross_attn") + original_module_name = original_module_name.replace("k.proj", "k_proj") + original_module_name = original_module_name.replace("k.norm", "k_norm") + original_module_name = original_module_name.replace("q.proj", "q_proj") + original_module_name = original_module_name.replace("q.norm", "q_norm") + original_module_name = original_module_name.replace("v.proj", "v_proj") + original_module_name = original_module_name.replace("o.proj", "o_proj") + original_module_name = original_module_name.replace("output.proj", "output_proj") + original_module_name = original_module_name.replace("self.attn", "self_attn") + original_module_name = original_module_name.replace("final.layer", "final_layer") + original_module_name = original_module_name.replace("adaln.modulation", "adaln_modulation") + original_module_name = original_module_name.replace("norm.cross.attn", "norm_cross_attn") + original_module_name = original_module_name.replace("norm.mlp", "norm_mlp") + original_module_name = original_module_name.replace("norm.self.attn", "norm_self_attn") + original_module_name = original_module_name.replace("out.proj", "out_proj") + + # Qwen3 + original_module_name = original_module_name.replace("embed.tokens", "embed_tokens") + original_module_name = original_module_name.replace("input.layernorm", "input_layernorm") + original_module_name = original_module_name.replace("down.proj", "down_proj") + original_module_name = original_module_name.replace("gate.proj", "gate_proj") + original_module_name = original_module_name.replace("up.proj", "up_proj") + original_module_name = original_module_name.replace("post.attention.layernorm", "post_attention_layernorm") + + # Prefix conversion + new_prefix = COMFYUI_DIT_PREFIX if is_dit_lora else COMFYUI_QWEN3_PREFIX + + new_k = f"{new_prefix}{original_module_name}.{weight_name}" + else: + if k.startswith(COMFYUI_DIT_PREFIX): + is_dit_lora = True + module_and_weight_name = k[len(COMFYUI_DIT_PREFIX) :] + elif k.startswith(COMFYUI_QWEN3_PREFIX): + is_dit_lora = False + module_and_weight_name = k[len(COMFYUI_QWEN3_PREFIX) :] + else: + logger.warning(f"Skipping unrecognized key {k}") + continue + + # Get weight name + if ".lora_" in module_and_weight_name: + module_name, weight_name = module_and_weight_name.rsplit(".lora_", 1) + weight_name = "lora_" + weight_name + else: + module_name, weight_name = module_and_weight_name.rsplit(".", 1) # Keep other weight names as-is: e.g. alpha + + # Weight name conversion: lora_A/lora_B to lora_up/lora_down + # Note: we only convert lora_A and lora_B weights, other weights are kept as-is + if weight_name.startswith("lora_B"): + weight_name = weight_name.replace("lora_B", "lora_up") + elif weight_name.startswith("lora_A"): + weight_name = weight_name.replace("lora_A", "lora_down") + + # Module name conversion: convert dots to underscores + module_name = module_name.replace(".", "_") # Convert to underscore notation + + # Prefix conversion + prefix = "lora_unet_" if is_dit_lora else "lora_te_" + + new_k = f"{prefix}{module_name}.{weight_name}" + + state_dict[new_k] = state_dict.pop(k) + count += 1 + + logger.info(f"Converted {count} keys") + if count == 0: + logger.warning("No keys were converted. Please check if the source file is in the expected format.") + elif count > 0 and count < len(keys): + logger.warning( + f"Only {count} out of {len(keys)} keys were converted. Please check if there are unexpected keys in the source file." + ) + + # Calculate hash + if metadata is not None: + logger.info(f"Calculating hashes and creating metadata...") + model_hash, legacy_hash = train_util.precalculate_safetensors_hashes(state_dict, metadata) + metadata["sshs_model_hash"] = model_hash + metadata["sshs_legacy_hash"] = legacy_hash + + # save destination safetensors + logger.info(f"Saving destination file {args.dst_path}") + save_file(state_dict, args.dst_path, metadata=metadata) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="Convert LoRA format") + parser.add_argument( + "src_path", + type=str, + default=None, + help="source path, sd-scripts format (or ComfyUI compatible format if --reverse is set, only supported for LoRAs converted by this script)", + ) + parser.add_argument( + "dst_path", + type=str, + default=None, + help="destination path, ComfyUI compatible format (or sd-scripts format if --reverse is set)", + ) + parser.add_argument("--reverse", action="store_true", help="reverse conversion direction") + args = parser.parse_args() + main(args) diff --git a/networks/lora_anima.py b/networks/lora_anima.py index c375ead7c..224ef20c7 100644 --- a/networks/lora_anima.py +++ b/networks/lora_anima.py @@ -1,18 +1,17 @@ -# LoRA network module for Anima -import math +# LoRA network module for Anima +import ast import os +import re from typing import Dict, List, Optional, Tuple, Type, Union -import numpy as np import torch from library.utils import setup_logging +from networks.lora_flux import LoRAModule, LoRAInfModule -setup_logging() import logging +setup_logging() logger = logging.getLogger(__name__) -from networks.lora_flux import LoRAModule, LoRAInfModule - def create_network( multiplier: float, @@ -29,68 +28,28 @@ def create_network( if network_alpha is None: network_alpha = 1.0 - # type_dims: [self_attn_dim, cross_attn_dim, mlp_dim, mod_dim, llm_adapter_dim] - self_attn_dim = kwargs.get("self_attn_dim", None) - cross_attn_dim = kwargs.get("cross_attn_dim", None) - mlp_dim = kwargs.get("mlp_dim", None) - mod_dim = kwargs.get("mod_dim", None) - llm_adapter_dim = kwargs.get("llm_adapter_dim", None) - - if self_attn_dim is not None: - self_attn_dim = int(self_attn_dim) - if cross_attn_dim is not None: - cross_attn_dim = int(cross_attn_dim) - if mlp_dim is not None: - mlp_dim = int(mlp_dim) - if mod_dim is not None: - mod_dim = int(mod_dim) - if llm_adapter_dim is not None: - llm_adapter_dim = int(llm_adapter_dim) - - type_dims = [self_attn_dim, cross_attn_dim, mlp_dim, mod_dim, llm_adapter_dim] - if all([d is None for d in type_dims]): - type_dims = None - - # emb_dims: [x_embedder, t_embedder, final_layer] - emb_dims = kwargs.get("emb_dims", None) - if emb_dims is not None: - emb_dims = emb_dims.strip() - if emb_dims.startswith("[") and emb_dims.endswith("]"): - emb_dims = emb_dims[1:-1] - emb_dims = [int(d) for d in emb_dims.split(",")] - assert len(emb_dims) == 3, f"invalid emb_dims: {emb_dims}, must be 3 dimensions (x_embedder, t_embedder, final_layer)" - - # block selection - def parse_block_selection(selection: str, total_blocks: int) -> List[bool]: - if selection == "all": - return [True] * total_blocks - if selection == "none" or selection == "": - return [False] * total_blocks - - selected = [False] * total_blocks - ranges = selection.split(",") - for r in ranges: - if "-" in r: - start, end = map(str.strip, r.split("-")) - start, end = int(start), int(end) - assert 0 <= start < total_blocks and 0 <= end < total_blocks and start <= end - for i in range(start, end + 1): - selected[i] = True - else: - index = int(r) - assert 0 <= index < total_blocks - selected[index] = True - return selected - - train_block_indices = kwargs.get("train_block_indices", None) - if train_block_indices is not None: - num_blocks = len(unet.blocks) if hasattr(unet, 'blocks') else 999 - train_block_indices = parse_block_selection(train_block_indices, num_blocks) - # train LLM adapter - train_llm_adapter = kwargs.get("train_llm_adapter", False) + train_llm_adapter = kwargs.get("train_llm_adapter", "false") if train_llm_adapter is not None: - train_llm_adapter = True if train_llm_adapter == "True" else False + train_llm_adapter = True if train_llm_adapter.lower() == "true" else False + + exclude_patterns = kwargs.get("exclude_patterns", None) + if exclude_patterns is None: + exclude_patterns = [] + else: + exclude_patterns = ast.literal_eval(exclude_patterns) + if not isinstance(exclude_patterns, list): + exclude_patterns = [exclude_patterns] + + # add default exclude patterns + exclude_patterns.append(r".*(_modulation|_norm|_embedder|final_layer).*") + + # regular expression for module selection: exclude and include + include_patterns = kwargs.get("include_patterns", None) + if include_patterns is not None: + include_patterns = ast.literal_eval(include_patterns) + if not isinstance(include_patterns, list): + include_patterns = [include_patterns] # rank/module dropout rank_dropout = kwargs.get("rank_dropout", None) @@ -101,9 +60,43 @@ def parse_block_selection(selection: str, total_blocks: int) -> List[bool]: module_dropout = float(module_dropout) # verbose - verbose = kwargs.get("verbose", False) + verbose = kwargs.get("verbose", "false") if verbose is not None: - verbose = True if verbose == "True" else False + verbose = True if verbose.lower() == "true" else False + + # regex-specific learning rates / dimensions + def parse_kv_pairs(kv_pair_str: str, is_int: bool) -> Dict[str, float]: + """ + Parse a string of key-value pairs separated by commas. + """ + pairs = {} + for pair in kv_pair_str.split(","): + pair = pair.strip() + if not pair: + continue + if "=" not in pair: + logger.warning(f"Invalid format: {pair}, expected 'key=value'") + continue + key, value = pair.split("=", 1) + key = key.strip() + value = value.strip() + try: + pairs[key] = int(value) if is_int else float(value) + except ValueError: + logger.warning(f"Invalid value for {key}: {value}") + return pairs + + network_reg_lrs = kwargs.get("network_reg_lrs", None) + if network_reg_lrs is not None: + reg_lrs = parse_kv_pairs(network_reg_lrs, is_int=False) + else: + reg_lrs = None + + network_reg_dims = kwargs.get("network_reg_dims", None) + if network_reg_dims is not None: + reg_dims = parse_kv_pairs(network_reg_dims, is_int=True) + else: + reg_dims = None network = LoRANetwork( text_encoders, @@ -115,9 +108,10 @@ def parse_block_selection(selection: str, total_blocks: int) -> List[bool]: rank_dropout=rank_dropout, module_dropout=module_dropout, train_llm_adapter=train_llm_adapter, - type_dims=type_dims, - emb_dims=emb_dims, - train_block_indices=train_block_indices, + exclude_patterns=exclude_patterns, + include_patterns=include_patterns, + reg_dims=reg_dims, + reg_lrs=reg_lrs, verbose=verbose, ) @@ -137,6 +131,7 @@ def create_network_from_weights(multiplier, file, ae, text_encoders, unet, weigh if weights_sd is None: if os.path.splitext(file)[1] == ".safetensors": from safetensors.torch import load_file + weights_sd = load_file(file) else: weights_sd = torch.load(file, map_location="cpu") @@ -173,15 +168,15 @@ def create_network_from_weights(multiplier, file, ae, text_encoders, unet, weigh class LoRANetwork(torch.nn.Module): - # Target modules: DiT blocks - ANIMA_TARGET_REPLACE_MODULE = ["Block"] + # Target modules: DiT blocks, embedders, final layer. embedders and final layer are excluded by default. + ANIMA_TARGET_REPLACE_MODULE = ["Block", "PatchEmbed", "TimestepEmbedding", "FinalLayer"] # Target modules: LLM Adapter blocks ANIMA_ADAPTER_TARGET_REPLACE_MODULE = ["LLMAdapterTransformerBlock"] # Target modules for text encoder (Qwen3) TEXT_ENCODER_TARGET_REPLACE_MODULE = ["Qwen3Attention", "Qwen3MLP", "Qwen3SdpaAttention", "Qwen3FlashAttention2"] LORA_PREFIX_ANIMA = "lora_unet" # ComfyUI compatible - LORA_PREFIX_TEXT_ENCODER = "lora_te1" # Qwen3 + LORA_PREFIX_TEXT_ENCODER = "lora_te" # Qwen3 def __init__( self, @@ -197,9 +192,10 @@ def __init__( modules_dim: Optional[Dict[str, int]] = None, modules_alpha: Optional[Dict[str, int]] = None, train_llm_adapter: bool = False, - type_dims: Optional[List[int]] = None, - emb_dims: Optional[List[int]] = None, - train_block_indices: Optional[List[bool]] = None, + exclude_patterns: Optional[List[str]] = None, + include_patterns: Optional[List[str]] = None, + reg_dims: Optional[Dict[str, int]] = None, + reg_lrs: Optional[Dict[str, float]] = None, verbose: Optional[bool] = False, ) -> None: super().__init__() @@ -210,21 +206,36 @@ def __init__( self.rank_dropout = rank_dropout self.module_dropout = module_dropout self.train_llm_adapter = train_llm_adapter - self.type_dims = type_dims - self.emb_dims = emb_dims - self.train_block_indices = train_block_indices + self.reg_dims = reg_dims + self.reg_lrs = reg_lrs self.loraplus_lr_ratio = None self.loraplus_unet_lr_ratio = None self.loraplus_text_encoder_lr_ratio = None if modules_dim is not None: - logger.info(f"create LoRA network from weights") - if self.emb_dims is None: - self.emb_dims = [0] * 3 + logger.info("create LoRA network from weights") else: logger.info(f"create LoRA network. base dim (rank): {lora_dim}, alpha: {alpha}") - logger.info(f"neuron dropout: p={self.dropout}, rank dropout: p={self.rank_dropout}, module dropout: p={self.module_dropout}") + logger.info( + f"neuron dropout: p={self.dropout}, rank dropout: p={self.rank_dropout}, module dropout: p={self.module_dropout}" + ) + + # compile regular expression if specified + def str_to_re_patterns(patterns: Optional[List[str]]) -> List[re.Pattern]: + re_patterns = [] + if patterns is not None: + for pattern in patterns: + try: + re_pattern = re.compile(pattern) + except re.error as e: + logger.error(f"Invalid pattern '{pattern}': {e}") + continue + re_patterns.append(re_pattern) + return re_patterns + + exclude_re_patterns = str_to_re_patterns(exclude_patterns) + include_re_patterns = str_to_re_patterns(include_patterns) # create module instances def create_modules( @@ -232,15 +243,9 @@ def create_modules( text_encoder_idx: Optional[int], root_module: torch.nn.Module, target_replace_modules: List[str], - filter: Optional[str] = None, default_dim: Optional[int] = None, - include_conv2d_if_filter: bool = False, ) -> Tuple[List[LoRAModule], List[str]]: - prefix = ( - self.LORA_PREFIX_ANIMA - if is_unet - else self.LORA_PREFIX_TEXT_ENCODER - ) + prefix = self.LORA_PREFIX_ANIMA if is_unet else self.LORA_PREFIX_TEXT_ENCODER loras = [] skipped = [] @@ -255,14 +260,16 @@ def create_modules( is_conv2d_1x1 = is_conv2d and child_module.kernel_size == (1, 1) if is_linear or is_conv2d: - lora_name = prefix + "." + (name + "." if name else "") + child_name - lora_name = lora_name.replace(".", "_") - - force_incl_conv2d = False - if filter is not None: - if filter not in lora_name: - continue - force_incl_conv2d = include_conv2d_if_filter + original_name = (name + "." if name else "") + child_name + lora_name = f"{prefix}.{original_name}".replace(".", "_") + + # exclude/include filter (fullmatch: pattern must match the entire original_name) + excluded = any(pattern.fullmatch(original_name) for pattern in exclude_re_patterns) + included = any(pattern.fullmatch(original_name) for pattern in include_re_patterns) + if excluded and not included: + if verbose: + logger.info(f"exclude: {original_name}") + continue dim = None alpha_val = None @@ -272,43 +279,18 @@ def create_modules( dim = modules_dim[lora_name] alpha_val = modules_alpha[lora_name] else: - if is_linear or is_conv2d_1x1: - dim = default_dim if default_dim is not None else self.lora_dim - alpha_val = self.alpha - - if is_unet and type_dims is not None: - # type_dims = [self_attn_dim, cross_attn_dim, mlp_dim, mod_dim, llm_adapter_dim] - # Order matters: check most specific identifiers first to avoid mismatches. - identifier_order = [ - (4, ("llm_adapter",)), - (3, ("adaln_modulation",)), - (0, ("self_attn",)), - (1, ("cross_attn",)), - (2, ("mlp",)), - ] - for idx, ids in identifier_order: - d = type_dims[idx] - if d is not None and all(id_str in lora_name for id_str in ids): - dim = d # 0 means skip - break - - # block index filtering - if is_unet and dim and self.train_block_indices is not None and "blocks_" in lora_name: - # Extract block index from lora_name: "lora_unet_blocks_0_self_attn..." - parts = lora_name.split("_") - for pi, part in enumerate(parts): - if part == "blocks" and pi + 1 < len(parts): - try: - block_index = int(parts[pi + 1]) - if not self.train_block_indices[block_index]: - dim = 0 - except (ValueError, IndexError): - pass - break - - elif force_incl_conv2d: - dim = default_dim if default_dim is not None else self.lora_dim - alpha_val = self.alpha + if self.reg_dims is not None: + for reg, d in self.reg_dims.items(): + if re.fullmatch(reg, original_name): + dim = d + alpha_val = self.alpha + logger.info(f"Module {original_name} matched with regex '{reg}' -> dim: {dim}") + break + # fallback to default dim if not matched by reg_dims or reg_dims is not specified + if dim is None: + if is_linear or is_conv2d_1x1: + dim = default_dim if default_dim is not None else self.lora_dim + alpha_val = self.alpha if dim is None or dim == 0: if is_linear or is_conv2d_1x1: @@ -325,6 +307,7 @@ def create_modules( rank_dropout=rank_dropout, module_dropout=module_dropout, ) + lora.original_name = original_name loras.append(lora) if target_replace_modules is None: @@ -339,9 +322,7 @@ def create_modules( if text_encoder is None: continue logger.info(f"create LoRA for Text Encoder {i+1}:") - te_loras, te_skipped = create_modules( - False, i, text_encoder, LoRANetwork.TEXT_ENCODER_TARGET_REPLACE_MODULE - ) + te_loras, te_skipped = create_modules(False, i, text_encoder, LoRANetwork.TEXT_ENCODER_TARGET_REPLACE_MODULE) logger.info(f"create LoRA for Text Encoder {i+1}: {len(te_loras)} modules.") self.text_encoder_loras.extend(te_loras) skipped_te += te_skipped @@ -354,19 +335,6 @@ def create_modules( self.unet_loras: List[Union[LoRAModule, LoRAInfModule]] self.unet_loras, skipped_un = create_modules(True, None, unet, target_modules) - # emb_dims: [x_embedder, t_embedder, final_layer] - if self.emb_dims: - for filter_name, in_dim in zip( - ["x_embedder", "t_embedder", "final_layer"], - self.emb_dims, - ): - loras, _ = create_modules( - True, None, unet, None, - filter=filter_name, default_dim=in_dim, - include_conv2d_if_filter=(filter_name == "x_embedder"), - ) - self.unet_loras.extend(loras) - logger.info(f"create LoRA for Anima DiT: {len(self.unet_loras)} modules.") if verbose: for lora in self.unet_loras: @@ -396,6 +364,7 @@ def set_enabled(self, is_enabled): def load_weights(self, file): if os.path.splitext(file)[1] == ".safetensors": from safetensors.torch import load_file + weights_sd = load_file(file) else: weights_sd = torch.load(file, map_location="cpu") @@ -443,10 +412,10 @@ def merge_to(self, text_encoders, unet, weights_sd, dtype=None, device=None): sd_for_lora = {} for key in weights_sd.keys(): if key.startswith(lora.lora_name): - sd_for_lora[key[len(lora.lora_name) + 1:]] = weights_sd[key] + sd_for_lora[key[len(lora.lora_name) + 1 :]] = weights_sd[key] lora.merge_to(sd_for_lora, dtype, device) - logger.info(f"weights are merged") + logger.info("weights are merged") def set_loraplus_lr_ratio(self, loraplus_lr_ratio, loraplus_unet_lr_ratio, loraplus_text_encoder_lr_ratio): self.loraplus_lr_ratio = loraplus_lr_ratio @@ -471,8 +440,29 @@ def prepare_optimizer_params_with_multiple_te_lrs(self, text_encoder_lr, unet_lr def assemble_params(loras, lr, loraplus_ratio): param_groups = {"lora": {}, "plus": {}} + reg_groups = {} + reg_lrs_list = list(self.reg_lrs.items()) if self.reg_lrs is not None else [] + for lora in loras: + matched_reg_lr = None + for i, (regex_str, reg_lr) in enumerate(reg_lrs_list): + if re.fullmatch(regex_str, lora.original_name): + matched_reg_lr = (i, reg_lr) + logger.info(f"Module {lora.original_name} matched regex '{regex_str}' -> LR {reg_lr}") + break + for name, param in lora.named_parameters(): + if matched_reg_lr is not None: + reg_idx, reg_lr = matched_reg_lr + group_key = f"reg_lr_{reg_idx}" + if group_key not in reg_groups: + reg_groups[group_key] = {"lora": {}, "plus": {}, "lr": reg_lr} + if loraplus_ratio is not None and "lora_up" in name: + reg_groups[group_key]["plus"][f"{lora.lora_name}.{name}"] = param + else: + reg_groups[group_key]["lora"][f"{lora.lora_name}.{name}"] = param + continue + if loraplus_ratio is not None and "lora_up" in name: param_groups["plus"][f"{lora.lora_name}.{name}"] = param else: @@ -480,6 +470,23 @@ def assemble_params(loras, lr, loraplus_ratio): params = [] descriptions = [] + for group_key, group in reg_groups.items(): + reg_lr = group["lr"] + for key in ("lora", "plus"): + param_data = {"params": group[key].values()} + if len(param_data["params"]) == 0: + continue + if key == "plus": + param_data["lr"] = reg_lr * loraplus_ratio if loraplus_ratio is not None else reg_lr + else: + param_data["lr"] = reg_lr + if param_data.get("lr", None) == 0 or param_data.get("lr", None) is None: + logger.info("NO LR skipping!") + continue + params.append(param_data) + desc = f"reg_lr_{group_key.split('_')[-1]}" + descriptions.append(desc + (" plus" if key == "plus" else "")) + for key in param_groups.keys(): param_data = {"params": param_groups[key].values()} if len(param_data["params"]) == 0: @@ -498,10 +505,7 @@ def assemble_params(loras, lr, loraplus_ratio): if self.text_encoder_loras: loraplus_ratio = self.loraplus_text_encoder_lr_ratio or self.loraplus_lr_ratio - te1_loras = [ - lora for lora in self.text_encoder_loras - if lora.lora_name.startswith(self.LORA_PREFIX_TEXT_ENCODER) - ] + te1_loras = [lora for lora in self.text_encoder_loras if lora.lora_name.startswith(self.LORA_PREFIX_TEXT_ENCODER)] if len(te1_loras) > 0: logger.info(f"Text Encoder 1 (Qwen3): {len(te1_loras)} modules, LR {text_encoder_lr[0]}") params, descriptions = assemble_params(te1_loras, text_encoder_lr[0], loraplus_ratio) diff --git a/tests/test_anima_cache.py b/tests/manual_test_anima_cache.py similarity index 89% rename from tests/test_anima_cache.py rename to tests/manual_test_anima_cache.py index 1684eb534..9809bebab 100644 --- a/tests/test_anima_cache.py +++ b/tests/manual_test_anima_cache.py @@ -2,7 +2,7 @@ Diagnostic script to test Anima latent & text encoder caching independently. Usage: - python test_anima_cache.py \ + python manual_test_anima_cache.py \ --image_dir /path/to/images \ --qwen3_path /path/to/qwen3 \ --vae_path /path/to/vae.safetensors \ @@ -30,10 +30,12 @@ IMAGE_EXTENSIONS = {".png", ".jpg", ".jpeg", ".webp", ".bmp", ".tiff"} -IMAGE_TRANSFORMS = transforms.Compose([ - transforms.ToTensor(), # [0,1] - transforms.Normalize([0.5], [0.5]), # [-1,1] -]) +IMAGE_TRANSFORMS = transforms.Compose( + [ + transforms.ToTensor(), # [0,1] + transforms.Normalize([0.5], [0.5]), # [-1,1] + ] +) def find_image_caption_pairs(image_dir: str): @@ -60,35 +62,32 @@ def print_tensor_info(name: str, t, indent=2): print(f"{prefix}{name}: None") return if isinstance(t, np.ndarray): - print(f"{prefix}{name}: numpy {t.dtype} shape={t.shape} " - f"min={t.min():.4f} max={t.max():.4f} mean={t.mean():.4f}") + print(f"{prefix}{name}: numpy {t.dtype} shape={t.shape} " f"min={t.min():.4f} max={t.max():.4f} mean={t.mean():.4f}") elif isinstance(t, torch.Tensor): - print(f"{prefix}{name}: torch {t.dtype} shape={tuple(t.shape)} " - f"min={t.min().item():.4f} max={t.max().item():.4f} mean={t.float().mean().item():.4f}") + print( + f"{prefix}{name}: torch {t.dtype} shape={tuple(t.shape)} " + f"min={t.min().item():.4f} max={t.max().item():.4f} mean={t.float().mean().item():.4f}" + ) else: print(f"{prefix}{name}: type={type(t)} value={t}") # Test 1: Latent Cache + def test_latent_cache(args, pairs): print("\n" + "=" * 70) print("TEST 1: LATENT CACHING (VAE encode -> cache -> reload)") print("=" * 70) - from library import anima_utils - from library.anima_models import ANIMA_VAE_MEAN, ANIMA_VAE_STD + from library import qwen_image_autoencoder_kl # Load VAE print("\n[1.1] Loading VAE...") device = "cuda" if torch.cuda.is_available() else "cpu" vae_dtype = torch.float32 - vae, vae_mean, vae_std, vae_scale = anima_utils.load_anima_vae( - args.vae_path, dtype=vae_dtype, device=device - ) + vae = qwen_image_autoencoder_kl.load_vae(args.vae_path, dtype=vae_dtype, device=device) print(f" VAE loaded on {device}, dtype={vae_dtype}") - print(f" VAE mean (first 4): {ANIMA_VAE_MEAN[:4]}") - print(f" VAE std (first 4): {ANIMA_VAE_STD[:4]}") for img_path, caption in pairs: print(f"\n[1.2] Processing: {os.path.basename(img_path)}") @@ -96,13 +95,13 @@ def test_latent_cache(args, pairs): # Load image img = Image.open(img_path).convert("RGB") img_np = np.array(img) - print(f" Raw image: {img_np.shape} dtype={img_np.dtype} " - f"min={img_np.min()} max={img_np.max()}") + print(f" Raw image: {img_np.shape} dtype={img_np.dtype} " f"min={img_np.min()} max={img_np.max()}") # Apply IMAGE_TRANSFORMS (same as sd-scripts training) img_tensor = IMAGE_TRANSFORMS(img_np) - print(f" After IMAGE_TRANSFORMS: shape={tuple(img_tensor.shape)} " - f"min={img_tensor.min():.4f} max={img_tensor.max():.4f}") + print( + f" After IMAGE_TRANSFORMS: shape={tuple(img_tensor.shape)} " f"min={img_tensor.min():.4f} max={img_tensor.max():.4f}" + ) # Check range is [-1, 1] if img_tensor.min() < -1.01 or img_tensor.max() > 1.01: @@ -116,7 +115,7 @@ def test_latent_cache(args, pairs): print(f" VAE input: shape={tuple(img_5d.shape)} dtype={img_5d.dtype}") with torch.no_grad(): - latents = vae.encode(img_5d, vae_scale) + latents = vae.encode_pixels_to_latents(img_5d) latents_cpu = latents.cpu() print_tensor_info("Encoded latents", latents_cpu) @@ -165,7 +164,9 @@ def test_latent_cache(args, pairs): # Test 2: Text Encoder Output Cache + def test_text_encoder_cache(args, pairs): + # TODO Rewrite this print("\n" + "=" * 70) print("TEST 2: TEXT ENCODER OUTPUT CACHING") print("=" * 70) @@ -175,9 +176,7 @@ def test_text_encoder_cache(args, pairs): # Load tokenizers print("\n[2.1] Loading tokenizers...") qwen3_tokenizer = anima_utils.load_qwen3_tokenizer(args.qwen3_path) - t5_tokenizer = anima_utils.load_t5_tokenizer( - getattr(args, 't5_tokenizer_path', None) - ) + t5_tokenizer = anima_utils.load_t5_tokenizer(getattr(args, "t5_tokenizer_path", None)) print(f" Qwen3 tokenizer vocab: {qwen3_tokenizer.vocab_size}") print(f" T5 tokenizer vocab: {t5_tokenizer.vocab_size}") @@ -185,9 +184,7 @@ def test_text_encoder_cache(args, pairs): print("\n[2.2] Loading Qwen3 text encoder...") device = "cuda" if torch.cuda.is_available() else "cpu" te_dtype = torch.bfloat16 if device == "cuda" else torch.float32 - qwen3_model, _ = anima_utils.load_qwen3_text_encoder( - args.qwen3_path, dtype=te_dtype, device=device - ) + qwen3_model, _ = anima_utils.load_qwen3_text_encoder(args.qwen3_path, dtype=te_dtype, device=device) qwen3_model.eval() # Create strategy objects @@ -199,9 +196,7 @@ def test_text_encoder_cache(args, pairs): qwen3_max_length=args.qwen3_max_length, t5_max_length=args.t5_max_length, ) - text_encoding_strategy = AnimaTextEncodingStrategy( - dropout_rate=0.0, - ) + text_encoding_strategy = AnimaTextEncodingStrategy() captions = [cap for _, cap in pairs] print(f"\n[2.3] Tokenizing {len(captions)} captions...") @@ -221,10 +216,7 @@ def test_text_encoder_cache(args, pairs): print(f"\n[2.4] Encoding with Qwen3 text encoder...") with torch.no_grad(): prompt_embeds, attn_mask, t5_ids_out, t5_mask_out = text_encoding_strategy.encode_tokens( - tokenize_strategy, - [qwen3_model], - tokens_and_masks, - enable_dropout=False, + tokenize_strategy, [qwen3_model], tokens_and_masks ) print(f" Encoding results:") @@ -374,13 +366,13 @@ def test_text_encoder_cache(args, pairs): # Test 3: Full batch simulation + def test_full_batch_simulation(args, pairs): print("\n" + "=" * 70) print("TEST 3: FULL BATCH SIMULATION (mimics process_batch flow)") print("=" * 70) from library import anima_utils - from library.anima_models import ANIMA_VAE_MEAN, ANIMA_VAE_STD from library.strategy_anima import AnimaTokenizeStrategy, AnimaTextEncodingStrategy device = "cuda" if torch.cuda.is_available() else "cpu" @@ -390,14 +382,16 @@ def test_full_batch_simulation(args, pairs): # Load all models print("\n[3.1] Loading models...") qwen3_tokenizer = anima_utils.load_qwen3_tokenizer(args.qwen3_path) - t5_tokenizer = anima_utils.load_t5_tokenizer(getattr(args, 't5_tokenizer_path', None)) + t5_tokenizer = anima_utils.load_t5_tokenizer(getattr(args, "t5_tokenizer_path", None)) qwen3_model, _ = anima_utils.load_qwen3_text_encoder(args.qwen3_path, dtype=te_dtype, device=device) qwen3_model.eval() vae, _, _, vae_scale = anima_utils.load_anima_vae(args.vae_path, dtype=vae_dtype, device=device) tokenize_strategy = AnimaTokenizeStrategy( - qwen3_tokenizer=qwen3_tokenizer, t5_tokenizer=t5_tokenizer, - qwen3_max_length=args.qwen3_max_length, t5_max_length=args.t5_max_length, + qwen3_tokenizer=qwen3_tokenizer, + t5_tokenizer=t5_tokenizer, + qwen3_max_length=args.qwen3_max_length, + t5_max_length=args.t5_max_length, ) text_encoding_strategy = AnimaTextEncodingStrategy(dropout_rate=0.0) @@ -408,7 +402,10 @@ def test_full_batch_simulation(args, pairs): tokens_and_masks = tokenize_strategy.tokenize(captions) with torch.no_grad(): te_outputs = text_encoding_strategy.encode_tokens( - tokenize_strategy, [qwen3_model], tokens_and_masks, enable_dropout=False, + tokenize_strategy, + [qwen3_model], + tokens_and_masks, + enable_dropout=False, ) prompt_embeds, attn_mask, t5_input_ids, t5_attn_mask = te_outputs @@ -473,7 +470,7 @@ def test_full_batch_simulation(args, pairs): print(f" text_encoder_conds: empty (no cache)") # The critical condition - train_text_encoder_TRUE = True # OLD behavior (base class default, no override) + train_text_encoder_TRUE = True # OLD behavior (base class default, no override) train_text_encoder_FALSE = False # NEW behavior (with is_train_text_encoder override) cond_old = len(text_encoder_conds) == 0 or text_encoder_conds[0] is None or train_text_encoder_TRUE @@ -541,26 +538,19 @@ def test_full_batch_simulation(args, pairs): # Main + def main(): parser = argparse.ArgumentParser(description="Test Anima caching mechanisms") - parser.add_argument("--image_dir", type=str, required=True, - help="Directory with image+txt pairs") - parser.add_argument("--qwen3_path", type=str, required=True, - help="Path to Qwen3 model (directory or safetensors)") - parser.add_argument("--vae_path", type=str, required=True, - help="Path to WanVAE safetensors") - parser.add_argument("--t5_tokenizer_path", type=str, default=None, - help="Path to T5 tokenizer (optional, uses bundled config)") + parser.add_argument("--image_dir", type=str, required=True, help="Directory with image+txt pairs") + parser.add_argument("--qwen3_path", type=str, required=True, help="Path to Qwen3 model (directory or safetensors)") + parser.add_argument("--vae_path", type=str, required=True, help="Path to WanVAE safetensors") + parser.add_argument("--t5_tokenizer_path", type=str, default=None, help="Path to T5 tokenizer (optional, uses bundled config)") parser.add_argument("--qwen3_max_length", type=int, default=512) parser.add_argument("--t5_max_length", type=int, default=512) - parser.add_argument("--cache_to_disk", action="store_true", - help="Also test disk cache round-trip") - parser.add_argument("--skip_latent", action="store_true", - help="Skip latent cache test") - parser.add_argument("--skip_text", action="store_true", - help="Skip text encoder cache test") - parser.add_argument("--skip_full", action="store_true", - help="Skip full batch simulation") + parser.add_argument("--cache_to_disk", action="store_true", help="Also test disk cache round-trip") + parser.add_argument("--skip_latent", action="store_true", help="Skip latent cache test") + parser.add_argument("--skip_text", action="store_true", help="Skip text encoder cache test") + parser.add_argument("--skip_full", action="store_true", help="Skip full batch simulation") args = parser.parse_args() # Find pairs diff --git a/tests/test_anima_real_training.py b/tests/manual_test_anima_real_training.py similarity index 100% rename from tests/test_anima_real_training.py rename to tests/manual_test_anima_real_training.py diff --git a/train_network.py b/train_network.py index 6cebf5fc7..2f8797d25 100644 --- a/train_network.py +++ b/train_network.py @@ -470,7 +470,7 @@ def process_batch( loss = loss * weighting if args.masked_loss or ("alpha_masks" in batch and batch["alpha_masks"] is not None): loss = apply_masked_loss(loss, batch) - loss = loss.mean([1, 2, 3]) + loss = loss.mean(dim=list(range(1, loss.ndim))) # mean over all dims except batch loss_weights = batch["loss_weights"] # 各sampleごとのweight loss = loss * loss_weights From 449e70b4cf075059223d2732951fbb416f0edba6 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Fri, 13 Feb 2026 08:31:22 +0900 Subject: [PATCH 725/748] README: Update change history for version 0.10.1 with Anima model support --- README-ja.md | 5 +++++ README.md | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/README-ja.md b/README-ja.md index 68bb7af87..519357288 100644 --- a/README-ja.md +++ b/README-ja.md @@ -50,6 +50,11 @@ Stable Diffusion等の画像生成モデルの学習、モデルによる画像 ### 更新履歴 +- **Version 0.10.1 (2026-02-13):** + - [Anima Preview](https://huggingface.co/circlestone-labs/Anima)モデルのLoRA学習およびfine-tuningをサポートしました。[PR #2260](https://github.com/kohya-ss/sd-scripts/pull/2260) および[PR #2261](https://github.com/kohya-ss/sd-scripts/pull/2261) + - 素晴らしいモデルを公開された CircleStone Labs、および PR #2260を提出していただいたduongve13112002氏に深く感謝します。 + - 詳細は[ドキュメント](./docs/anima_train_network.md)をご覧ください。 + - **Version 0.10.0 (2026-01-19):** - `sd3`ブランチを`main`ブランチにマージしました。このバージョンからFLUX.1およびSD3/SD3.5等のモデルが`main`ブランチでサポートされます。 - ドキュメントにはまだ不備があるため、お気づきの点はIssue等でお知らせください。 diff --git a/README.md b/README.md index 312b79043..88b583598 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,11 @@ If you find this project helpful, please consider supporting its development via ### Change History +- **Version 0.10.1 (2026-02-13):** + - [Anima Preview](https://huggingface.co/circlestone-labs/Anima) model LoRA training and fine-tuning are now supported. See [PR #2260](https://github.com/kohya-ss/sd-scripts/pull/2260) and [PR #2261](https://github.com/kohya-ss/sd-scripts/pull/2261). + - Many thanks to CircleStone Labs for releasing this amazing model, and to duongve13112002 for submitting great PR #2260. + - For details, please refer to the [documentation](./docs/anima_train_network.md). + - **Version 0.10.0 (2026-01-19):** - `sd3` branch is merged to `main` branch. From this version, FLUX.1 and SD3/SD3.5 etc. are supported in the `main` branch. - There are still some missing parts in the documentation, so please let us know if you find any issues via Issues etc. From ef051427df4387ab056c02eddba03c1c6a110fa0 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Mon, 16 Feb 2026 07:58:15 +0900 Subject: [PATCH 726/748] fix: `str is not "no"` to `str != "no"` --- library/deepspeed_utils.py | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/library/deepspeed_utils.py b/library/deepspeed_utils.py index a8a05c3a1..4daeb2549 100644 --- a/library/deepspeed_utils.py +++ b/library/deepspeed_utils.py @@ -96,7 +96,7 @@ def prepare_deepspeed_plugin(args: argparse.Namespace): deepspeed_plugin.deepspeed_config["train_batch_size"] = ( args.train_batch_size * args.gradient_accumulation_steps * int(os.environ["WORLD_SIZE"]) ) - + deepspeed_plugin.set_mixed_precision(args.mixed_precision) if args.mixed_precision.lower() == "fp16": deepspeed_plugin.deepspeed_config["fp16"]["initial_scale_power"] = 0 # preventing overflow. @@ -125,18 +125,18 @@ def prepare_deepspeed_model(args: argparse.Namespace, **models): class DeepSpeedWrapper(torch.nn.Module): def __init__(self, **kw_models) -> None: super().__init__() - + self.models = torch.nn.ModuleDict() - - wrap_model_forward_with_torch_autocast = args.mixed_precision is not "no" + + wrap_model_forward_with_torch_autocast = args.mixed_precision != "no" for key, model in kw_models.items(): if isinstance(model, list): model = torch.nn.ModuleList(model) - + if wrap_model_forward_with_torch_autocast: - model = self.__wrap_model_with_torch_autocast(model) - + model = self.__wrap_model_with_torch_autocast(model) + assert isinstance( model, torch.nn.Module ), f"model must be an instance of torch.nn.Module, but got {key} is {type(model)}" @@ -151,7 +151,7 @@ def __wrap_model_with_torch_autocast(self, model): return model def __wrap_model_forward_with_torch_autocast(self, model): - + assert hasattr(model, "forward"), f"model must have a forward method." forward_fn = model.forward @@ -161,20 +161,19 @@ def forward(*args, **kwargs): device_type = model.device.type except AttributeError: logger.warning( - "[DeepSpeed] model.device is not available. Using get_preferred_device() " - "to determine the device_type for torch.autocast()." - ) + "[DeepSpeed] model.device is not available. Using get_preferred_device() " + "to determine the device_type for torch.autocast()." + ) device_type = get_preferred_device().type - with torch.autocast(device_type = device_type): + with torch.autocast(device_type=device_type): return forward_fn(*args, **kwargs) model.forward = forward return model - + def get_models(self): return self.models - ds_model = DeepSpeedWrapper(**models) return ds_model From 609d1292f6e262b27a8c5b2849e7bf0df2ecd7a8 Mon Sep 17 00:00:00 2001 From: duongve13112002 <71595470+duongve13112002@users.noreply.github.com> Date: Mon, 23 Feb 2026 13:13:40 +0700 Subject: [PATCH 727/748] Fix the LoRA dropout issue in the Anima model during LoRA training. (#2272) * Support network_reg_alphas and fix bug when setting rank_dropout in training lora for anima model * Update anima_train_network.md * Update anima_train_network.md * Remove network_reg_alphas * Update document --- docs/anima_train_network.md | 2 +- networks/lora_anima.py | 2 +- networks/lora_flux.py | 13 ++++++++----- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/docs/anima_train_network.md b/docs/anima_train_network.md index f97aa9751..5d67ae36b 100644 --- a/docs/anima_train_network.md +++ b/docs/anima_train_network.md @@ -652,4 +652,4 @@ The following metadata is saved in the LoRA model file: * `ss_sigmoid_scale` * `ss_discrete_flow_shift` - + \ No newline at end of file diff --git a/networks/lora_anima.py b/networks/lora_anima.py index 224ef20c7..9413e8c89 100644 --- a/networks/lora_anima.py +++ b/networks/lora_anima.py @@ -636,4 +636,4 @@ def apply_max_norm_regularization(self, max_norm_value, device): scalednorm = updown.norm() * ratio norms.append(scalednorm.item()) - return keys_scaled, sum(norms) / len(norms), max(norms) + return keys_scaled, sum(norms) / len(norms), max(norms) \ No newline at end of file diff --git a/networks/lora_flux.py b/networks/lora_flux.py index d74d01728..947733fe2 100644 --- a/networks/lora_flux.py +++ b/networks/lora_flux.py @@ -141,10 +141,13 @@ def forward(self, x): # rank dropout if self.rank_dropout is not None and self.training: mask = torch.rand((lx.size(0), self.lora_dim), device=lx.device) > self.rank_dropout - if len(lx.size()) == 3: - mask = mask.unsqueeze(1) # for Text Encoder - elif len(lx.size()) == 4: - mask = mask.unsqueeze(-1).unsqueeze(-1) # for Conv2d + if isinstance(self.lora_down, torch.nn.Conv2d): + # Conv2d: lora_dim is at dim 1 → [B, dim, 1, 1] + mask = mask.unsqueeze(-1).unsqueeze(-1) + else: + # Linear: lora_dim is at last dim → [B, 1, ..., 1, dim] + for _ in range(len(lx.size()) - 2): + mask = mask.unsqueeze(1) lx = lx * mask # scaling for rank dropout: treat as if the rank is changed @@ -1445,4 +1448,4 @@ def apply_max_norm_regularization(self, max_norm_value, device): scalednorm = updown.norm() * ratio norms.append(scalednorm.item()) - return keys_scaled, sum(norms) / len(norms), max(norms) + return keys_scaled, sum(norms) / len(norms), max(norms) \ No newline at end of file From 50694df3cf0c02bbdac9d94464c9d93d908c654c Mon Sep 17 00:00:00 2001 From: woctordho Date: Mon, 23 Feb 2026 14:30:36 +0800 Subject: [PATCH 728/748] Multi-resolution dataset for SD1/SDXL (#2269) * Multi-resolution dataset for SD1/SDXL * Add fallback to legacy key without resolution suffix * Support numpy 2.2 --- library/strategy_base.py | 106 +++++++++++++++++++++++++++------------ library/strategy_sd.py | 23 ++++++++- 2 files changed, 94 insertions(+), 35 deletions(-) diff --git a/library/strategy_base.py b/library/strategy_base.py index 6e6487eae..9a2acdba8 100644 --- a/library/strategy_base.py +++ b/library/strategy_base.py @@ -6,6 +6,11 @@ import numpy as np import torch + +try: + from numpy.lib import _format_impl as np_format_impl +except ImportError: + from numpy.lib import format as np_format_impl from transformers import CLIPTokenizer, CLIPTextModel, CLIPTextModelWithProjection @@ -424,6 +429,16 @@ def is_disk_cached_latents_expected( def cache_batch_latents(self, model: Any, batch: List, flip_aug: bool, alpha_mask: bool, random_crop: bool): raise NotImplementedError + def _get_npz_array_shape(self, npz: Any, key: str) -> Optional[Tuple[int, ...]]: + """Get array shape in npz file by only reading the header.""" + if key not in npz: + return None + + with npz.zip.open(key + ".npy") as npy_file: + version = np.lib.format.read_magic(npy_file) + shape, _, _ = np_format_impl._read_array_header(npy_file, version) + return shape + def _default_is_disk_cached_latents_expected( self, latents_stride: int, @@ -432,6 +447,7 @@ def _default_is_disk_cached_latents_expected( flip_aug: bool, apply_alpha_mask: bool, multi_resolution: bool = False, + fallback_no_reso: bool = False, ) -> bool: """ Args: @@ -441,6 +457,7 @@ def _default_is_disk_cached_latents_expected( flip_aug: whether to flip images apply_alpha_mask: whether to apply alpha mask multi_resolution: whether to use multi-resolution latents + fallback_no_reso: fallback to legacy key without resolution suffix Returns: bool @@ -458,13 +475,21 @@ def _default_is_disk_cached_latents_expected( key_reso_suffix = f"_{expected_latents_size[0]}x{expected_latents_size[1]}" if multi_resolution else "" try: - npz = np.load(npz_path) - if "latents" + key_reso_suffix not in npz: - return False - if flip_aug and "latents_flipped" + key_reso_suffix not in npz: - return False - if apply_alpha_mask and "alpha_mask" + key_reso_suffix not in npz: - return False + with np.load(npz_path) as npz: + if "latents" + key_reso_suffix not in npz: + if not (multi_resolution and fallback_no_reso): + return False + + latents_shape = self._get_npz_array_shape(npz, "latents") + if latents_shape is None or tuple(latents_shape[-2:]) != expected_latents_size: + return False + + key_reso_suffix = "" + + if flip_aug and "latents_flipped" + key_reso_suffix not in npz: + return False + if apply_alpha_mask and "alpha_mask" + key_reso_suffix not in npz: + return False except Exception as e: logger.error(f"Error loading file: {npz_path}") raise e @@ -495,8 +520,8 @@ def _default_cache_batch_latents( apply_alpha_mask: whether to apply alpha mask random_crop: whether to random crop images multi_resolution: whether to use multi-resolution latents - - Returns: + + Returns: None """ from library import train_util # import here to avoid circular import @@ -548,52 +573,67 @@ def load_latents_from_disk( Args: npz_path (str): Path to the npz file. bucket_reso (Tuple[int, int]): The resolution of the bucket. - + Returns: Tuple[ - Optional[np.ndarray], - Optional[List[int]], - Optional[List[int]], - Optional[np.ndarray], + Optional[np.ndarray], + Optional[List[int]], + Optional[List[int]], + Optional[np.ndarray], Optional[np.ndarray] ]: Latent np tensors, original size, crop (left top, right bottom), flipped latents, alpha mask """ return self._default_load_latents_from_disk(None, npz_path, bucket_reso) def _default_load_latents_from_disk( - self, latents_stride: Optional[int], npz_path: str, bucket_reso: Tuple[int, int] + self, + latents_stride: Optional[int], + npz_path: str, + bucket_reso: Tuple[int, int], + fallback_no_reso: bool = False, ) -> Tuple[Optional[np.ndarray], Optional[List[int]], Optional[List[int]], Optional[np.ndarray], Optional[np.ndarray]]: """ Args: latents_stride (Optional[int]): Stride for latents. If None, load all latents. npz_path (str): Path to the npz file. bucket_reso (Tuple[int, int]): The resolution of the bucket. - + fallback_no_reso (bool): fallback to legacy key without resolution suffix + Returns: Tuple[ - Optional[np.ndarray], - Optional[List[int]], - Optional[List[int]], - Optional[np.ndarray], + Optional[np.ndarray], + Optional[List[int]], + Optional[List[int]], + Optional[np.ndarray], Optional[np.ndarray] ]: Latent np tensors, original size, crop (left top, right bottom), flipped latents, alpha mask """ if latents_stride is None: + expected_latents_size = None key_reso_suffix = "" else: - latents_size = (bucket_reso[1] // latents_stride, bucket_reso[0] // latents_stride) # bucket_reso is (W, H) - key_reso_suffix = f"_{latents_size[0]}x{latents_size[1]}" # e.g. "_32x64", HxW - - npz = np.load(npz_path) - if "latents" + key_reso_suffix not in npz: - raise ValueError(f"latents{key_reso_suffix} not found in {npz_path}") - - latents = npz["latents" + key_reso_suffix] - original_size = npz["original_size" + key_reso_suffix].tolist() - crop_ltrb = npz["crop_ltrb" + key_reso_suffix].tolist() - flipped_latents = npz["latents_flipped" + key_reso_suffix] if "latents_flipped" + key_reso_suffix in npz else None - alpha_mask = npz["alpha_mask" + key_reso_suffix] if "alpha_mask" + key_reso_suffix in npz else None - return latents, original_size, crop_ltrb, flipped_latents, alpha_mask + expected_latents_size = (bucket_reso[1] // latents_stride, bucket_reso[0] // latents_stride) # bucket_reso is (W, H) + key_reso_suffix = f"_{expected_latents_size[0]}x{expected_latents_size[1]}" # e.g. "_32x64", HxW + + with np.load(npz_path) as npz: + key_reso_suffix = key_reso_suffix + + if "latents" + key_reso_suffix not in npz: + if not fallback_no_reso or expected_latents_size is None: + raise ValueError(f"latents{key_reso_suffix} not found in {npz_path}") + + latents_shape = self._get_npz_array_shape(npz, "latents") + if latents_shape is None or tuple(latents_shape[-2:]) != expected_latents_size: + raise ValueError(f"latents with legacy key has unexpected shape {latents_shape} in {npz_path}") + + key_reso_suffix = "" + + latents = npz["latents" + key_reso_suffix] + original_size = npz["original_size" + key_reso_suffix].tolist() + crop_ltrb = npz["crop_ltrb" + key_reso_suffix].tolist() + flipped_latents = npz["latents_flipped" + key_reso_suffix] if "latents_flipped" + key_reso_suffix in npz else None + alpha_mask = npz["alpha_mask" + key_reso_suffix] if "alpha_mask" + key_reso_suffix in npz else None + return latents, original_size, crop_ltrb, flipped_latents, alpha_mask def save_latents_to_disk( self, diff --git a/library/strategy_sd.py b/library/strategy_sd.py index a44fc4092..837b8f5ae 100644 --- a/library/strategy_sd.py +++ b/library/strategy_sd.py @@ -2,6 +2,7 @@ import os from typing import Any, List, Optional, Tuple, Union +import numpy as np import torch from transformers import CLIPTokenizer from library import train_util @@ -157,7 +158,25 @@ def get_latents_npz_path(self, absolute_path: str, image_size: Tuple[int, int]) return os.path.splitext(absolute_path)[0] + f"_{image_size[0]:04d}x{image_size[1]:04d}" + self.suffix def is_disk_cached_latents_expected(self, bucket_reso: Tuple[int, int], npz_path: str, flip_aug: bool, alpha_mask: bool): - return self._default_is_disk_cached_latents_expected(8, bucket_reso, npz_path, flip_aug, alpha_mask) + return self._default_is_disk_cached_latents_expected( + 8, + bucket_reso, + npz_path, + flip_aug, + alpha_mask, + multi_resolution=True, + fallback_no_reso=True, + ) + + def load_latents_from_disk( + self, npz_path: str, bucket_reso: Tuple[int, int] + ) -> Tuple[Optional[np.ndarray], Optional[List[int]], Optional[List[int]], Optional[np.ndarray], Optional[np.ndarray]]: + return self._default_load_latents_from_disk( + 8, + npz_path, + bucket_reso, + fallback_no_reso=True, + ) # TODO remove circular dependency for ImageInfo def cache_batch_latents(self, vae, image_infos: List, flip_aug: bool, alpha_mask: bool, random_crop: bool): @@ -165,7 +184,7 @@ def cache_batch_latents(self, vae, image_infos: List, flip_aug: bool, alpha_mask vae_device = vae.device vae_dtype = vae.dtype - self._default_cache_batch_latents(encode_by_vae, vae_device, vae_dtype, image_infos, flip_aug, alpha_mask, random_crop) + self._default_cache_batch_latents(encode_by_vae, vae_device, vae_dtype, image_infos, flip_aug, alpha_mask, random_crop, multi_resolution=True) if not train_util.HIGH_VRAM: train_util.clean_memory_on_device(vae.device) From 892f8be78fc01989ab27c01bfd02173676d43bd3 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Mon, 23 Feb 2026 21:12:57 +0900 Subject: [PATCH 729/748] fix: cast input tensor to float32 for improved numerical stability in residual connections --- library/anima_models.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/library/anima_models.py b/library/anima_models.py index 6828e5980..037ffd775 100644 --- a/library/anima_models.py +++ b/library/anima_models.py @@ -864,6 +864,10 @@ def _forward( adaln_lora_B_T_3D: Optional[torch.Tensor] = None, extra_per_block_pos_emb: Optional[torch.Tensor] = None, ) -> torch.Tensor: + if x_B_T_H_W_D.dtype == torch.float16: + # Cast to float32 for better numerical stability in residual connections. Each module will cast back to float16 by enclosing autocast context. + x_B_T_H_W_D = x_B_T_H_W_D.float() + if extra_per_block_pos_emb is not None: x_B_T_H_W_D = x_B_T_H_W_D + extra_per_block_pos_emb From f90fa1a89a717093286dd784c268811883f5c345 Mon Sep 17 00:00:00 2001 From: "Kohya S." <52813779+kohya-ss@users.noreply.github.com> Date: Mon, 23 Feb 2026 21:44:51 +0900 Subject: [PATCH 730/748] feat: backward compatibility for SD/SDXL latent cache (#2276) * fix: improve handling of legacy npz files and add logging for fallback scenarios * fix: simplify fallback handling in SdSdxlLatentsCachingStrategy --- library/strategy_base.py | 88 ++++++++++++++-------------------------- library/strategy_sd.py | 23 +++-------- 2 files changed, 37 insertions(+), 74 deletions(-) diff --git a/library/strategy_base.py b/library/strategy_base.py index 9a2acdba8..5a0433426 100644 --- a/library/strategy_base.py +++ b/library/strategy_base.py @@ -6,11 +6,6 @@ import numpy as np import torch - -try: - from numpy.lib import _format_impl as np_format_impl -except ImportError: - from numpy.lib import format as np_format_impl from transformers import CLIPTokenizer, CLIPTextModel, CLIPTextModelWithProjection @@ -387,6 +382,8 @@ class LatentsCachingStrategy: _strategy = None # strategy instance: actual strategy class + _warned_fallback_to_old_npz = False # to avoid spamming logs about fallback + def __init__(self, cache_to_disk: bool, batch_size: int, skip_disk_cache_validity_check: bool) -> None: self._cache_to_disk = cache_to_disk self._batch_size = batch_size @@ -429,16 +426,6 @@ def is_disk_cached_latents_expected( def cache_batch_latents(self, model: Any, batch: List, flip_aug: bool, alpha_mask: bool, random_crop: bool): raise NotImplementedError - def _get_npz_array_shape(self, npz: Any, key: str) -> Optional[Tuple[int, ...]]: - """Get array shape in npz file by only reading the header.""" - if key not in npz: - return None - - with npz.zip.open(key + ".npy") as npy_file: - version = np.lib.format.read_magic(npy_file) - shape, _, _ = np_format_impl._read_array_header(npy_file, version) - return shape - def _default_is_disk_cached_latents_expected( self, latents_stride: int, @@ -447,7 +434,6 @@ def _default_is_disk_cached_latents_expected( flip_aug: bool, apply_alpha_mask: bool, multi_resolution: bool = False, - fallback_no_reso: bool = False, ) -> bool: """ Args: @@ -457,7 +443,6 @@ def _default_is_disk_cached_latents_expected( flip_aug: whether to flip images apply_alpha_mask: whether to apply alpha mask multi_resolution: whether to use multi-resolution latents - fallback_no_reso: fallback to legacy key without resolution suffix Returns: bool @@ -475,21 +460,16 @@ def _default_is_disk_cached_latents_expected( key_reso_suffix = f"_{expected_latents_size[0]}x{expected_latents_size[1]}" if multi_resolution else "" try: - with np.load(npz_path) as npz: - if "latents" + key_reso_suffix not in npz: - if not (multi_resolution and fallback_no_reso): - return False - - latents_shape = self._get_npz_array_shape(npz, "latents") - if latents_shape is None or tuple(latents_shape[-2:]) != expected_latents_size: - return False - - key_reso_suffix = "" + npz = np.load(npz_path) - if flip_aug and "latents_flipped" + key_reso_suffix not in npz: - return False - if apply_alpha_mask and "alpha_mask" + key_reso_suffix not in npz: - return False + # In old SD/SDXL npz files, if the actual latents shape does not match the expected shape, it doesn't raise an error as long as "latents" key exists (backward compatibility) + # In non-SD/SDXL npz files (multi-resolution support), the latents key always has the resolution suffix, and no latents key without suffix exists, so it raises an error if the expected resolution suffix key is not found (this doesn't change the behavior for non-SD/SDXL npz files). + if "latents" + key_reso_suffix not in npz and "latents" not in npz: + return False + if flip_aug and ("latents_flipped" + key_reso_suffix not in npz and "latents_flipped" not in npz): + return False + if apply_alpha_mask and ("alpha_mask" + key_reso_suffix not in npz and "alpha_mask" not in npz): + return False except Exception as e: logger.error(f"Error loading file: {npz_path}") raise e @@ -568,7 +548,7 @@ def load_latents_from_disk( self, npz_path: str, bucket_reso: Tuple[int, int] ) -> Tuple[Optional[np.ndarray], Optional[List[int]], Optional[List[int]], Optional[np.ndarray], Optional[np.ndarray]]: """ - for SD/SDXL + For single resolution architectures (currently no architecture is single resolution specific). Kept for reference. Args: npz_path (str): Path to the npz file. @@ -586,18 +566,13 @@ def load_latents_from_disk( return self._default_load_latents_from_disk(None, npz_path, bucket_reso) def _default_load_latents_from_disk( - self, - latents_stride: Optional[int], - npz_path: str, - bucket_reso: Tuple[int, int], - fallback_no_reso: bool = False, + self, latents_stride: Optional[int], npz_path: str, bucket_reso: Tuple[int, int] ) -> Tuple[Optional[np.ndarray], Optional[List[int]], Optional[List[int]], Optional[np.ndarray], Optional[np.ndarray]]: """ Args: latents_stride (Optional[int]): Stride for latents. If None, load all latents. npz_path (str): Path to the npz file. bucket_reso (Tuple[int, int]): The resolution of the bucket. - fallback_no_reso (bool): fallback to legacy key without resolution suffix Returns: Tuple[ @@ -609,31 +584,30 @@ def _default_load_latents_from_disk( ]: Latent np tensors, original size, crop (left top, right bottom), flipped latents, alpha mask """ if latents_stride is None: - expected_latents_size = None key_reso_suffix = "" else: expected_latents_size = (bucket_reso[1] // latents_stride, bucket_reso[0] // latents_stride) # bucket_reso is (W, H) key_reso_suffix = f"_{expected_latents_size[0]}x{expected_latents_size[1]}" # e.g. "_32x64", HxW - with np.load(npz_path) as npz: - key_reso_suffix = key_reso_suffix - - if "latents" + key_reso_suffix not in npz: - if not fallback_no_reso or expected_latents_size is None: - raise ValueError(f"latents{key_reso_suffix} not found in {npz_path}") - - latents_shape = self._get_npz_array_shape(npz, "latents") - if latents_shape is None or tuple(latents_shape[-2:]) != expected_latents_size: - raise ValueError(f"latents with legacy key has unexpected shape {latents_shape} in {npz_path}") - - key_reso_suffix = "" + npz = np.load(npz_path) + if "latents" + key_reso_suffix not in npz: + # raise ValueError(f"latents{key_reso_suffix} not found in {npz_path}") + # Fallback to old npz without resolution suffix + if "latents" not in npz: + raise ValueError(f"latents not found in {npz_path} (either with or without resolution suffix: {key_reso_suffix})") + if not self._warned_fallback_to_old_npz: + logger.warning( + f"latents{key_reso_suffix} not found in {npz_path}. Falling back to latents without resolution suffix (old npz). This warning will only be shown once. To avoid this warning, please re-cache the latents with the latest version." + ) + self._warned_fallback_to_old_npz = True + key_reso_suffix = "" - latents = npz["latents" + key_reso_suffix] - original_size = npz["original_size" + key_reso_suffix].tolist() - crop_ltrb = npz["crop_ltrb" + key_reso_suffix].tolist() - flipped_latents = npz["latents_flipped" + key_reso_suffix] if "latents_flipped" + key_reso_suffix in npz else None - alpha_mask = npz["alpha_mask" + key_reso_suffix] if "alpha_mask" + key_reso_suffix in npz else None - return latents, original_size, crop_ltrb, flipped_latents, alpha_mask + latents = npz["latents" + key_reso_suffix] + original_size = npz["original_size" + key_reso_suffix].tolist() + crop_ltrb = npz["crop_ltrb" + key_reso_suffix].tolist() + flipped_latents = npz["latents_flipped" + key_reso_suffix] if "latents_flipped" + key_reso_suffix in npz else None + alpha_mask = npz["alpha_mask" + key_reso_suffix] if "alpha_mask" + key_reso_suffix in npz else None + return latents, original_size, crop_ltrb, flipped_latents, alpha_mask def save_latents_to_disk( self, diff --git a/library/strategy_sd.py b/library/strategy_sd.py index 837b8f5ae..4521ae8db 100644 --- a/library/strategy_sd.py +++ b/library/strategy_sd.py @@ -145,7 +145,7 @@ def __init__(self, sd: bool, cache_to_disk: bool, batch_size: int, skip_disk_cac self.suffix = ( SdSdxlLatentsCachingStrategy.SD_LATENTS_NPZ_SUFFIX if sd else SdSdxlLatentsCachingStrategy.SDXL_LATENTS_NPZ_SUFFIX ) - + @property def cache_suffix(self) -> str: return self.suffix @@ -158,25 +158,12 @@ def get_latents_npz_path(self, absolute_path: str, image_size: Tuple[int, int]) return os.path.splitext(absolute_path)[0] + f"_{image_size[0]:04d}x{image_size[1]:04d}" + self.suffix def is_disk_cached_latents_expected(self, bucket_reso: Tuple[int, int], npz_path: str, flip_aug: bool, alpha_mask: bool): - return self._default_is_disk_cached_latents_expected( - 8, - bucket_reso, - npz_path, - flip_aug, - alpha_mask, - multi_resolution=True, - fallback_no_reso=True, - ) + return self._default_is_disk_cached_latents_expected(8, bucket_reso, npz_path, flip_aug, alpha_mask, multi_resolution=True) def load_latents_from_disk( self, npz_path: str, bucket_reso: Tuple[int, int] ) -> Tuple[Optional[np.ndarray], Optional[List[int]], Optional[List[int]], Optional[np.ndarray], Optional[np.ndarray]]: - return self._default_load_latents_from_disk( - 8, - npz_path, - bucket_reso, - fallback_no_reso=True, - ) + return self._default_load_latents_from_disk(8, npz_path, bucket_reso) # TODO remove circular dependency for ImageInfo def cache_batch_latents(self, vae, image_infos: List, flip_aug: bool, alpha_mask: bool, random_crop: bool): @@ -184,7 +171,9 @@ def cache_batch_latents(self, vae, image_infos: List, flip_aug: bool, alpha_mask vae_device = vae.device vae_dtype = vae.dtype - self._default_cache_batch_latents(encode_by_vae, vae_device, vae_dtype, image_infos, flip_aug, alpha_mask, random_crop, multi_resolution=True) + self._default_cache_batch_latents( + encode_by_vae, vae_device, vae_dtype, image_infos, flip_aug, alpha_mask, random_crop, multi_resolution=True + ) if not train_util.HIGH_VRAM: train_util.clean_memory_on_device(vae.device) From 2217704ce17c8650838627d46e9e8864762070b9 Mon Sep 17 00:00:00 2001 From: "Kohya S." <52813779+kohya-ss@users.noreply.github.com> Date: Mon, 23 Feb 2026 22:09:00 +0900 Subject: [PATCH 731/748] feat: Support LoKr/LoHa for SDXL and Anima (#2275) * feat: Add LoHa/LoKr network support for SDXL and Anima - networks/network_base.py: shared AdditionalNetwork base class with architecture auto-detection (SDXL/Anima) and generic module injection - networks/loha.py: LoHa (Low-rank Hadamard Product) module with HadaWeight custom autograd, training/inference classes, and factory functions - networks/lokr.py: LoKr (Low-rank Kronecker Product) module with factorization, training/inference classes, and factory functions - library/lora_utils.py: extend weight merge hook to detect and merge LoHa/LoKr weights alongside standard LoRA Linear and Conv2d 1x1 layers only; Conv2d 3x3 (Tucker decomposition) support will be added separately. Co-Authored-By: Claude Opus 4.6 * feat: Enhance LoHa and LoKr modules with Tucker decomposition support - Added Tucker decomposition functionality to LoHa and LoKr modules. - Implemented new methods for weight rebuilding using Tucker decomposition. - Updated initialization and weight handling for Conv2d 3x3+ layers. - Modified get_diff_weight methods to accommodate Tucker and non-Tucker modes. - Enhanced network base to include unet_conv_target_modules for architecture detection. * fix: rank dropout handling in LoRAModule for Conv2d and Linear layers, see #2272 for details * doc: add dtype comment for load_safetensors_with_lora_and_fp8 function * fix: enhance architecture detection to support InferSdxlUNet2DConditionModel for gen_img.py * doc: update model support structure to include Lumina Image 2.0, HunyuanImage-2.1, and Anima-Preview * doc: add documentation for LoHa and LoKr fine-tuning methods * Update networks/network_base.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update docs/loha_lokr.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix: refactor LoHa and LoKr imports for weight merging in load_safetensors_with_lora_and_fp8 function --------- Co-authored-by: Claude Opus 4.6 Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .ai/context/01-overview.md | 3 + .gitignore | 1 + docs/loha_lokr.md | 359 +++++++++++++++++++ library/lora_utils.py | 554 +++++++++++++++--------------- networks/loha.py | 643 ++++++++++++++++++++++++++++++++++ networks/lokr.py | 683 +++++++++++++++++++++++++++++++++++++ networks/lora_anima.py | 209 +++++++++++- networks/network_base.py | 545 +++++++++++++++++++++++++++++ 8 files changed, 2729 insertions(+), 268 deletions(-) create mode 100644 docs/loha_lokr.md create mode 100644 networks/loha.py create mode 100644 networks/lokr.py create mode 100644 networks/network_base.py diff --git a/.ai/context/01-overview.md b/.ai/context/01-overview.md index 41133e983..c37aba193 100644 --- a/.ai/context/01-overview.md +++ b/.ai/context/01-overview.md @@ -21,6 +21,9 @@ Each supported model family has a consistent structure: - **SDXL**: `sdxl_train*.py`, `library/sdxl_*` - **SD3**: `sd3_train*.py`, `library/sd3_*` - **FLUX.1**: `flux_train*.py`, `library/flux_*` +- **Lumina Image 2.0**: `lumina_train*.py`, `library/lumina_*` +- **HunyuanImage-2.1**: `hunyuan_image_train*.py`, `library/hunyuan_image_*` +- **Anima-Preview**: `anima_train*.py`, `library/anima_*` ### Key Components diff --git a/.gitignore b/.gitignore index cfdc02685..f5772a7f3 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ GEMINI.md .claude .gemini MagicMock +references \ No newline at end of file diff --git a/docs/loha_lokr.md b/docs/loha_lokr.md new file mode 100644 index 000000000..6f16ba669 --- /dev/null +++ b/docs/loha_lokr.md @@ -0,0 +1,359 @@ +> 📝 Click on the language section to expand / 言語をクリックして展開 + +# LoHa / LoKr (LyCORIS) + +## Overview / 概要 + +In addition to standard LoRA, sd-scripts supports **LoHa** (Low-rank Hadamard Product) and **LoKr** (Low-rank Kronecker Product) as alternative parameter-efficient fine-tuning methods. These are based on techniques from the [LyCORIS](https://github.com/KohakuBlueleaf/LyCORIS) project. + +- **LoHa**: Represents weight updates as a Hadamard (element-wise) product of two low-rank matrices. Reference: [FedPara (arXiv:2108.06098)](https://arxiv.org/abs/2108.06098) +- **LoKr**: Represents weight updates as a Kronecker product with optional low-rank decomposition. Reference: [LoKr (arXiv:2309.14859)](https://arxiv.org/abs/2309.14859) + +The algorithms and recommended settings are described in the [LyCORIS documentation](https://github.com/KohakuBlueleaf/LyCORIS/blob/main/docs/Algo-List.md) and [guidelines](https://github.com/KohakuBlueleaf/LyCORIS/blob/main/docs/Guidelines.md). + +Both methods target Linear and Conv2d layers. Conv2d 1x1 layers are treated similarly to Linear layers. For Conv2d 3x3+ layers, optional Tucker decomposition or flat (kernel-flattened) mode is available. + +This feature is experimental. + +
+日本語 + +sd-scriptsでは、標準的なLoRAに加え、代替のパラメータ効率の良いファインチューニング手法として **LoHa**(Low-rank Hadamard Product)と **LoKr**(Low-rank Kronecker Product)をサポートしています。これらは [LyCORIS](https://github.com/KohakuBlueleaf/LyCORIS) プロジェクトの手法に基づいています。 + +- **LoHa**: 重みの更新を2つの低ランク行列のHadamard積(要素ごとの積)で表現します。参考文献: [FedPara (arXiv:2108.06098)](https://arxiv.org/abs/2108.06098) +- **LoKr**: 重みの更新をKronecker積と、オプションの低ランク分解で表現します。参考文献: [LoKr (arXiv:2309.14859)](https://arxiv.org/abs/2309.14859) + +アルゴリズムと推奨設定は[LyCORISのアルゴリズム解説](https://github.com/KohakuBlueleaf/LyCORIS/blob/main/docs/Algo-List.md)と[ガイドライン](https://github.com/KohakuBlueleaf/LyCORIS/blob/main/docs/Guidelines.md)を参照してください。 + +LinearおよびConv2d層の両方を対象としています。Conv2d 1x1層はLinear層と同様に扱われます。Conv2d 3x3+層については、オプションのTucker分解またはflat(カーネル平坦化)モードが利用可能です。 + +この機能は実験的なものです。 + +
+ +## Acknowledgments / 謝辞 + +The LoHa and LoKr implementations in sd-scripts are based on the [LyCORIS](https://github.com/KohakuBlueleaf/LyCORIS) project by [KohakuBlueleaf](https://github.com/KohakuBlueleaf). We would like to express our sincere gratitude for the excellent research and open-source contributions that made this implementation possible. + +
+日本語 + +sd-scriptsのLoHaおよびLoKrの実装は、[KohakuBlueleaf](https://github.com/KohakuBlueleaf)氏による[LyCORIS](https://github.com/KohakuBlueleaf/LyCORIS)プロジェクトに基づいています。この実装を可能にしてくださった素晴らしい研究とオープンソースへの貢献に心から感謝いたします。 + +
+ +## Supported architectures / 対応アーキテクチャ + +LoHa and LoKr automatically detect the model architecture and apply appropriate default settings. The following architectures are currently supported: + +- **SDXL**: Targets `Transformer2DModel` for UNet and `CLIPAttention`/`CLIPMLP` for text encoders. Conv2d layers in `ResnetBlock2D`, `Downsample2D`, and `Upsample2D` are also supported when `conv_dim` is specified. No default `exclude_patterns`. +- **Anima**: Targets `Block`, `PatchEmbed`, `TimestepEmbedding`, and `FinalLayer` for DiT, and `Qwen3Attention`/`Qwen3MLP` for the text encoder. Default `exclude_patterns` automatically skips modulation, normalization, embedder, and final_layer modules. + +
+日本語 + +LoHaとLoKrは、モデルのアーキテクチャを自動で検出し、適切なデフォルト設定を適用します。現在、以下のアーキテクチャに対応しています: + +- **SDXL**: UNetの`Transformer2DModel`、テキストエンコーダの`CLIPAttention`/`CLIPMLP`を対象とします。`conv_dim`を指定した場合、`ResnetBlock2D`、`Downsample2D`、`Upsample2D`のConv2d層も対象になります。デフォルトの`exclude_patterns`はありません。 +- **Anima**: DiTの`Block`、`PatchEmbed`、`TimestepEmbedding`、`FinalLayer`、テキストエンコーダの`Qwen3Attention`/`Qwen3MLP`を対象とします。デフォルトの`exclude_patterns`により、modulation、normalization、embedder、final_layerモジュールは自動的にスキップされます。 + +
+ +## Training / 学習 + +To use LoHa or LoKr, change the `--network_module` argument in your training command. All other training options (dataset config, optimizer, etc.) remain the same as LoRA. + +
+日本語 + +LoHaまたはLoKrを使用するには、学習コマンドの `--network_module` 引数を変更します。その他の学習オプション(データセット設定、オプティマイザなど)はLoRAと同じです。 + +
+ +### LoHa (SDXL) + +```bash +accelerate launch --num_cpu_threads_per_process 1 --mixed_precision bf16 sdxl_train_network.py \ + --pretrained_model_name_or_path path/to/sdxl.safetensors \ + --dataset_config path/to/toml \ + --mixed_precision bf16 --fp8_base \ + --optimizer_type adamw8bit --learning_rate 2e-4 --gradient_checkpointing \ + --network_module networks.loha --network_dim 32 --network_alpha 16 \ + --max_train_epochs 16 --save_every_n_epochs 1 \ + --output_dir path/to/output --output_name my-loha +``` + +### LoKr (SDXL) + +```bash +accelerate launch --num_cpu_threads_per_process 1 --mixed_precision bf16 sdxl_train_network.py \ + --pretrained_model_name_or_path path/to/sdxl.safetensors \ + --dataset_config path/to/toml \ + --mixed_precision bf16 --fp8_base \ + --optimizer_type adamw8bit --learning_rate 2e-4 --gradient_checkpointing \ + --network_module networks.lokr --network_dim 32 --network_alpha 16 \ + --max_train_epochs 16 --save_every_n_epochs 1 \ + --output_dir path/to/output --output_name my-lokr +``` + +For Anima, replace `sdxl_train_network.py` with `anima_train_network.py` and use the appropriate model path and options. + +
+日本語 + +Animaの場合は、`sdxl_train_network.py` を `anima_train_network.py` に置き換え、適切なモデルパスとオプションを使用してください。 + +
+ +### Common training options / 共通の学習オプション + +The following `--network_args` options are available for both LoHa and LoKr, same as LoRA: + +| Option | Description | +|---|---| +| `verbose=True` | Display detailed information about the network modules | +| `rank_dropout=0.1` | Apply dropout to the rank dimension during training | +| `module_dropout=0.1` | Randomly skip entire modules during training | +| `exclude_patterns=[r'...']` | Exclude modules matching the regex patterns (in addition to architecture defaults) | +| `include_patterns=[r'...']` | Override excludes: modules matching these regex patterns will be included even if they match `exclude_patterns` | +| `network_reg_lrs=regex1=lr1,regex2=lr2` | Set per-module learning rates using regex patterns | +| `network_reg_dims=regex1=dim1,regex2=dim2` | Set per-module dimensions (rank) using regex patterns | + +
+日本語 + +以下の `--network_args` オプションは、LoRAと同様にLoHaとLoKrの両方で使用できます: + +| オプション | 説明 | +|---|---| +| `verbose=True` | ネットワークモジュールの詳細情報を表示 | +| `rank_dropout=0.1` | 学習時にランク次元にドロップアウトを適用 | +| `module_dropout=0.1` | 学習時にモジュール全体をランダムにスキップ | +| `exclude_patterns=[r'...']` | 正規表現パターンに一致するモジュールを除外(アーキテクチャのデフォルトに追加) | +| `include_patterns=[r'...']` | 正規表現パターンに一致するモジュールのみを対象とする | +| `network_reg_lrs=regex1=lr1,regex2=lr2` | 正規表現パターンでモジュールごとの学習率を設定 | +| `network_reg_dims=regex1=dim1,regex2=dim2` | 正規表現パターンでモジュールごとの次元(ランク)を設定 | + +
+ +### Conv2d support / Conv2dサポート + +By default, LoHa and LoKr target Linear and Conv2d 1x1 layers. To also train Conv2d 3x3+ layers (e.g., in SDXL's ResNet blocks), use the `conv_dim` and `conv_alpha` options: + +```bash +--network_args "conv_dim=16" "conv_alpha=8" +``` + +For Conv2d 3x3+ layers, you can enable Tucker decomposition for more efficient parameter representation: + +```bash +--network_args "conv_dim=16" "conv_alpha=8" "use_tucker=True" +``` + +- Without `use_tucker`: The kernel dimensions are flattened into the input dimension (flat mode). +- With `use_tucker=True`: A separate Tucker tensor is used to handle the kernel dimensions, which can be more parameter-efficient. + +
+日本語 + +デフォルトでは、LoHaとLoKrはLinearおよびConv2d 1x1層を対象とします。Conv2d 3x3+層(SDXLのResNetブロックなど)も学習するには、`conv_dim`と`conv_alpha`オプションを使用します: + +```bash +--network_args "conv_dim=16" "conv_alpha=8" +``` + +Conv2d 3x3+層に対して、Tucker分解を有効にすることで、より効率的なパラメータ表現が可能です: + +```bash +--network_args "conv_dim=16" "conv_alpha=8" "use_tucker=True" +``` + +- `use_tucker`なし: カーネル次元が入力次元に平坦化されます(flatモード)。 +- `use_tucker=True`: カーネル次元を扱う別のTuckerテンソルが使用され、よりパラメータ効率が良くなる場合があります。 + +
+ +### LoKr-specific option: `factor` / LoKr固有のオプション: `factor` + +LoKr decomposes weight dimensions using factorization. The `factor` option controls how dimensions are split: + +- `factor=-1` (default): Automatically find balanced factors. For example, dimension 512 is split into (16, 32). +- `factor=N` (positive integer): Force factorization using the specified value. For example, `factor=4` splits dimension 512 into (4, 128). + +```bash +--network_args "factor=4" +``` + +When `network_dim` (rank) is large enough relative to the factorized dimensions, LoKr uses a full matrix instead of a low-rank decomposition for the second factor. A warning will be logged in this case. + +
+日本語 + +LoKrは重みの次元を因数分解して分割します。`factor` オプションでその分割方法を制御します: + +- `factor=-1`(デフォルト): バランスの良い因数を自動的に見つけます。例えば、次元512は(16, 32)に分割されます。 +- `factor=N`(正の整数): 指定した値で因数分解します。例えば、`factor=4` は次元512を(4, 128)に分割します。 + +```bash +--network_args "factor=4" +``` + +`network_dim`(ランク)が因数分解された次元に対して十分に大きい場合、LoKrは第2因子に低ランク分解ではなくフル行列を使用します。その場合、警告がログに出力されます。 + +
+ +### Anima-specific option: `train_llm_adapter` / Anima固有のオプション: `train_llm_adapter` + +For Anima, you can additionally train the LLM adapter modules by specifying: + +```bash +--network_args "train_llm_adapter=True" +``` + +This includes `LLMAdapterTransformerBlock` modules as training targets. + +
+日本語 + +Animaでは、以下を指定することでLLMアダプターモジュールも追加で学習できます: + +```bash +--network_args "train_llm_adapter=True" +``` + +これにより、`LLMAdapterTransformerBlock` モジュールが学習対象に含まれます。 + +
+ +### LoRA+ / LoRA+ + +LoRA+ (`loraplus_lr_ratio` etc. in `--network_args`) is supported with LoHa/LoKr. For LoHa, the second pair of matrices (`hada_w2_a`) is treated as the "plus" (higher learning rate) parameter group. For LoKr, the scale factor (`lokr_w1`) is treated as the "plus" parameter group. + +```bash +--network_args "loraplus_lr_ratio=4" +``` + +This feature has been confirmed to work in basic testing, but feedback is welcome. If you encounter any issues, please report them. + +
+日本語 + +LoRA+(`--network_args` の `loraplus_lr_ratio` 等)はLoHa/LoKrでもサポートされています。LoHaでは第2ペアの行列(`hada_w2_a`)が「plus」(より高い学習率)パラメータグループとして扱われます。LoKrではスケール係数(`lokr_w1`)が「plus」パラメータグループとして扱われます。 + +```bash +--network_args "loraplus_lr_ratio=4" +``` + +この機能は基本的なテストでは動作確認されていますが、フィードバックをお待ちしています。問題が発生した場合はご報告ください。 + +
+ +## How LoHa and LoKr work / LoHaとLoKrの仕組み + +### LoHa + +LoHa represents the weight update as a Hadamard (element-wise) product of two low-rank matrices: + +``` +ΔW = (W1a × W1b) ⊙ (W2a × W2b) +``` + +where `W1a`, `W1b`, `W2a`, `W2b` are low-rank matrices with rank `network_dim`. This means LoHa has roughly **twice the number of trainable parameters** compared to LoRA at the same rank, but can capture more complex weight structures due to the element-wise product. + +For Conv2d 3x3+ layers with Tucker decomposition, each pair additionally has a Tucker tensor `T` and the reconstruction becomes: `einsum("i j ..., j r, i p -> p r ...", T, Wb, Wa)`. + +### LoKr + +LoKr represents the weight update using a Kronecker product: + +``` +ΔW = W1 ⊗ W2 (where W2 = W2a × W2b in low-rank mode) +``` + +The original weight dimensions are factorized (e.g., a 512×512 weight might be split so that W1 is 16×16 and W2 is 32×32). W1 is always a full matrix (small), while W2 can be either low-rank decomposed or a full matrix depending on the rank setting. LoKr tends to produce **smaller models** compared to LoRA at the same rank. + +
+日本語 + +### LoHa + +LoHaは重みの更新を2つの低ランク行列のHadamard積(要素ごとの積)で表現します: + +``` +ΔW = (W1a × W1b) ⊙ (W2a × W2b) +``` + +ここで `W1a`, `W1b`, `W2a`, `W2b` はランク `network_dim` の低ランク行列です。LoHaは同じランクのLoRAと比較して学習可能なパラメータ数が **約2倍** になりますが、要素ごとの積により、より複雑な重み構造を捉えることができます。 + +Conv2d 3x3+層でTucker分解を使用する場合、各ペアにはさらにTuckerテンソル `T` があり、再構成は `einsum("i j ..., j r, i p -> p r ...", T, Wb, Wa)` となります。 + +### LoKr + +LoKrはKronecker積を使って重みの更新を表現します: + +``` +ΔW = W1 ⊗ W2 (低ランクモードでは W2 = W2a × W2b) +``` + +元の重みの次元が因数分解されます(例: 512×512の重みが、W1が16×16、W2が32×32に分割されます)。W1は常にフル行列(小さい)で、W2はランク設定に応じて低ランク分解またはフル行列になります。LoKrは同じランクのLoRAと比較して **より小さいモデル** を生成する傾向があります。 + +
+ +## Inference / 推論 + +Trained LoHa/LoKr weights are saved in safetensors format, just like LoRA. + +
+日本語 + +学習済みのLoHa/LoKrの重みは、LoRAと同様にsafetensors形式で保存されます。 + +
+ +### SDXL + +For SDXL, use `gen_img.py` with `--network_module` and `--network_weights`, the same way as LoRA: + +```bash +python gen_img.py --ckpt path/to/sdxl.safetensors \ + --network_module networks.loha --network_weights path/to/loha.safetensors \ + --prompt "your prompt" ... +``` + +Replace `networks.loha` with `networks.lokr` for LoKr weights. + +
+日本語 + +SDXLでは、LoRAと同様に `gen_img.py` で `--network_module` と `--network_weights` を指定します: + +```bash +python gen_img.py --ckpt path/to/sdxl.safetensors \ + --network_module networks.loha --network_weights path/to/loha.safetensors \ + --prompt "your prompt" ... +``` + +LoKrの重みを使用する場合は `networks.loha` を `networks.lokr` に置き換えてください。 + +
+ +### Anima + +For Anima, use `anima_minimal_inference.py` with the `--lora_weight` argument. LoRA, LoHa, and LoKr weights are automatically detected and merged: + +```bash +python anima_minimal_inference.py --dit path/to/dit --prompt "your prompt" \ + --lora_weight path/to/loha_or_lokr.safetensors ... +``` + +
+日本語 + +Animaでは、`anima_minimal_inference.py` に `--lora_weight` 引数を指定します。LoRA、LoHa、LoKrの重みは自動的に判定されてマージされます: + +```bash +python anima_minimal_inference.py --dit path/to/dit --prompt "your prompt" \ + --lora_weight path/to/loha_or_lokr.safetensors ... +``` + +
diff --git a/library/lora_utils.py b/library/lora_utils.py index 90e3c3896..dadad898f 100644 --- a/library/lora_utils.py +++ b/library/lora_utils.py @@ -1,267 +1,287 @@ -import os -import re -from typing import Dict, List, Optional, Union -import torch -from tqdm import tqdm -from library.device_utils import synchronize_device -from library.fp8_optimization_utils import load_safetensors_with_fp8_optimization -from library.safetensors_utils import MemoryEfficientSafeOpen, TensorWeightAdapter, WeightTransformHooks, get_split_weight_filenames -from library.utils import setup_logging - -setup_logging() -import logging - -logger = logging.getLogger(__name__) - - -def filter_lora_state_dict( - weights_sd: Dict[str, torch.Tensor], - include_pattern: Optional[str] = None, - exclude_pattern: Optional[str] = None, -) -> Dict[str, torch.Tensor]: - # apply include/exclude patterns - original_key_count = len(weights_sd.keys()) - if include_pattern is not None: - regex_include = re.compile(include_pattern) - weights_sd = {k: v for k, v in weights_sd.items() if regex_include.search(k)} - logger.info(f"Filtered keys with include pattern {include_pattern}: {original_key_count} -> {len(weights_sd.keys())}") - - if exclude_pattern is not None: - original_key_count_ex = len(weights_sd.keys()) - regex_exclude = re.compile(exclude_pattern) - weights_sd = {k: v for k, v in weights_sd.items() if not regex_exclude.search(k)} - logger.info(f"Filtered keys with exclude pattern {exclude_pattern}: {original_key_count_ex} -> {len(weights_sd.keys())}") - - if len(weights_sd) != original_key_count: - remaining_keys = list(set([k.split(".", 1)[0] for k in weights_sd.keys()])) - remaining_keys.sort() - logger.info(f"Remaining LoRA modules after filtering: {remaining_keys}") - if len(weights_sd) == 0: - logger.warning("No keys left after filtering.") - - return weights_sd - - -def load_safetensors_with_lora_and_fp8( - model_files: Union[str, List[str]], - lora_weights_list: Optional[List[Dict[str, torch.Tensor]]], - lora_multipliers: Optional[List[float]], - fp8_optimization: bool, - calc_device: torch.device, - move_to_device: bool = False, - dit_weight_dtype: Optional[torch.dtype] = None, - target_keys: Optional[List[str]] = None, - exclude_keys: Optional[List[str]] = None, - disable_numpy_memmap: bool = False, - weight_transform_hooks: Optional[WeightTransformHooks] = None, -) -> dict[str, torch.Tensor]: - """ - Merge LoRA weights into the state dict of a model with fp8 optimization if needed. - - Args: - model_files (Union[str, List[str]]): Path to the model file or list of paths. If the path matches a pattern like `00001-of-00004`, it will load all files with the same prefix. - lora_weights_list (Optional[List[Dict[str, torch.Tensor]]]): List of dictionaries of LoRA weight tensors to load. - lora_multipliers (Optional[List[float]]): List of multipliers for LoRA weights. - fp8_optimization (bool): Whether to apply FP8 optimization. - calc_device (torch.device): Device to calculate on. - move_to_device (bool): Whether to move tensors to the calculation device after loading. - target_keys (Optional[List[str]]): Keys to target for optimization. - exclude_keys (Optional[List[str]]): Keys to exclude from optimization. - disable_numpy_memmap (bool): Whether to disable numpy memmap when loading safetensors. - weight_transform_hooks (Optional[WeightTransformHooks]): Hooks for transforming weights during loading. - """ - - # if the file name ends with 00001-of-00004 etc, we need to load the files with the same prefix - if isinstance(model_files, str): - model_files = [model_files] - - extended_model_files = [] - for model_file in model_files: - split_filenames = get_split_weight_filenames(model_file) - if split_filenames is not None: - extended_model_files.extend(split_filenames) - else: - extended_model_files.append(model_file) - model_files = extended_model_files - logger.info(f"Loading model files: {model_files}") - - # load LoRA weights - weight_hook = None - if lora_weights_list is None or len(lora_weights_list) == 0: - lora_weights_list = [] - lora_multipliers = [] - list_of_lora_weight_keys = [] - else: - list_of_lora_weight_keys = [] - for lora_sd in lora_weights_list: - lora_weight_keys = set(lora_sd.keys()) - list_of_lora_weight_keys.append(lora_weight_keys) - - if lora_multipliers is None: - lora_multipliers = [1.0] * len(lora_weights_list) - while len(lora_multipliers) < len(lora_weights_list): - lora_multipliers.append(1.0) - if len(lora_multipliers) > len(lora_weights_list): - lora_multipliers = lora_multipliers[: len(lora_weights_list)] - - # Merge LoRA weights into the state dict - logger.info(f"Merging LoRA weights into state dict. multipliers: {lora_multipliers}") - - # make hook for LoRA merging - def weight_hook_func(model_weight_key, model_weight: torch.Tensor, keep_on_calc_device=False): - nonlocal list_of_lora_weight_keys, lora_weights_list, lora_multipliers, calc_device - - if not model_weight_key.endswith(".weight"): - return model_weight - - original_device = model_weight.device - if original_device != calc_device: - model_weight = model_weight.to(calc_device) # to make calculation faster - - for lora_weight_keys, lora_sd, multiplier in zip(list_of_lora_weight_keys, lora_weights_list, lora_multipliers): - # check if this weight has LoRA weights - lora_name_without_prefix = model_weight_key.rsplit(".", 1)[0] # remove trailing ".weight" - found = False - for prefix in ["lora_unet_", ""]: - lora_name = prefix + lora_name_without_prefix.replace(".", "_") - down_key = lora_name + ".lora_down.weight" - up_key = lora_name + ".lora_up.weight" - alpha_key = lora_name + ".alpha" - if down_key in lora_weight_keys and up_key in lora_weight_keys: - found = True - break - if not found: - continue # no LoRA weights for this model weight - - # get LoRA weights - down_weight = lora_sd[down_key] - up_weight = lora_sd[up_key] - - dim = down_weight.size()[0] - alpha = lora_sd.get(alpha_key, dim) - scale = alpha / dim - - down_weight = down_weight.to(calc_device) - up_weight = up_weight.to(calc_device) - - original_dtype = model_weight.dtype - if original_dtype.itemsize == 1: # fp8 - # temporarily convert to float16 for calculation - model_weight = model_weight.to(torch.float16) - down_weight = down_weight.to(torch.float16) - up_weight = up_weight.to(torch.float16) - - # W <- W + U * D - if len(model_weight.size()) == 2: - # linear - if len(up_weight.size()) == 4: # use linear projection mismatch - up_weight = up_weight.squeeze(3).squeeze(2) - down_weight = down_weight.squeeze(3).squeeze(2) - model_weight = model_weight + multiplier * (up_weight @ down_weight) * scale - elif down_weight.size()[2:4] == (1, 1): - # conv2d 1x1 - model_weight = ( - model_weight - + multiplier - * (up_weight.squeeze(3).squeeze(2) @ down_weight.squeeze(3).squeeze(2)).unsqueeze(2).unsqueeze(3) - * scale - ) - else: - # conv2d 3x3 - conved = torch.nn.functional.conv2d(down_weight.permute(1, 0, 2, 3), up_weight).permute(1, 0, 2, 3) - # logger.info(conved.size(), weight.size(), module.stride, module.padding) - model_weight = model_weight + multiplier * conved * scale - - if original_dtype.itemsize == 1: # fp8 - model_weight = model_weight.to(original_dtype) # convert back to original dtype - - # remove LoRA keys from set - lora_weight_keys.remove(down_key) - lora_weight_keys.remove(up_key) - if alpha_key in lora_weight_keys: - lora_weight_keys.remove(alpha_key) - - if not keep_on_calc_device and original_device != calc_device: - model_weight = model_weight.to(original_device) # move back to original device - return model_weight - - weight_hook = weight_hook_func - - state_dict = load_safetensors_with_fp8_optimization_and_hook( - model_files, - fp8_optimization, - calc_device, - move_to_device, - dit_weight_dtype, - target_keys, - exclude_keys, - weight_hook=weight_hook, - disable_numpy_memmap=disable_numpy_memmap, - weight_transform_hooks=weight_transform_hooks, - ) - - for lora_weight_keys in list_of_lora_weight_keys: - # check if all LoRA keys are used - if len(lora_weight_keys) > 0: - # if there are still LoRA keys left, it means they are not used in the model - # this is a warning, not an error - logger.warning(f"Warning: not all LoRA keys are used: {', '.join(lora_weight_keys)}") - - return state_dict - - -def load_safetensors_with_fp8_optimization_and_hook( - model_files: list[str], - fp8_optimization: bool, - calc_device: torch.device, - move_to_device: bool = False, - dit_weight_dtype: Optional[torch.dtype] = None, - target_keys: Optional[List[str]] = None, - exclude_keys: Optional[List[str]] = None, - weight_hook: callable = None, - disable_numpy_memmap: bool = False, - weight_transform_hooks: Optional[WeightTransformHooks] = None, -) -> dict[str, torch.Tensor]: - """ - Load state dict from safetensors files and merge LoRA weights into the state dict with fp8 optimization if needed. - """ - if fp8_optimization: - logger.info( - f"Loading state dict with FP8 optimization. Dtype of weight: {dit_weight_dtype}, hook enabled: {weight_hook is not None}" - ) - # dit_weight_dtype is not used because we use fp8 optimization - state_dict = load_safetensors_with_fp8_optimization( - model_files, - calc_device, - target_keys, - exclude_keys, - move_to_device=move_to_device, - weight_hook=weight_hook, - disable_numpy_memmap=disable_numpy_memmap, - weight_transform_hooks=weight_transform_hooks, - ) - else: - logger.info( - f"Loading state dict without FP8 optimization. Dtype of weight: {dit_weight_dtype}, hook enabled: {weight_hook is not None}" - ) - state_dict = {} - for model_file in model_files: - with MemoryEfficientSafeOpen(model_file, disable_numpy_memmap=disable_numpy_memmap) as original_f: - f = TensorWeightAdapter(weight_transform_hooks, original_f) if weight_transform_hooks is not None else original_f - for key in tqdm(f.keys(), desc=f"Loading {os.path.basename(model_file)}", leave=False): - if weight_hook is None and move_to_device: - value = f.get_tensor(key, device=calc_device, dtype=dit_weight_dtype) - else: - value = f.get_tensor(key) # we cannot directly load to device because get_tensor does non-blocking transfer - if weight_hook is not None: - value = weight_hook(key, value, keep_on_calc_device=move_to_device) - if move_to_device: - value = value.to(calc_device, dtype=dit_weight_dtype, non_blocking=True) - elif dit_weight_dtype is not None: - value = value.to(dit_weight_dtype) - - state_dict[key] = value - if move_to_device: - synchronize_device(calc_device) - - return state_dict +import os +import re +from typing import Dict, List, Optional, Union +import torch +from tqdm import tqdm +from library.device_utils import synchronize_device +from library.fp8_optimization_utils import load_safetensors_with_fp8_optimization +from library.safetensors_utils import MemoryEfficientSafeOpen, TensorWeightAdapter, WeightTransformHooks, get_split_weight_filenames +from networks.loha import merge_weights_to_tensor as loha_merge +from networks.lokr import merge_weights_to_tensor as lokr_merge + +from library.utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + + +def filter_lora_state_dict( + weights_sd: Dict[str, torch.Tensor], + include_pattern: Optional[str] = None, + exclude_pattern: Optional[str] = None, +) -> Dict[str, torch.Tensor]: + # apply include/exclude patterns + original_key_count = len(weights_sd.keys()) + if include_pattern is not None: + regex_include = re.compile(include_pattern) + weights_sd = {k: v for k, v in weights_sd.items() if regex_include.search(k)} + logger.info(f"Filtered keys with include pattern {include_pattern}: {original_key_count} -> {len(weights_sd.keys())}") + + if exclude_pattern is not None: + original_key_count_ex = len(weights_sd.keys()) + regex_exclude = re.compile(exclude_pattern) + weights_sd = {k: v for k, v in weights_sd.items() if not regex_exclude.search(k)} + logger.info(f"Filtered keys with exclude pattern {exclude_pattern}: {original_key_count_ex} -> {len(weights_sd.keys())}") + + if len(weights_sd) != original_key_count: + remaining_keys = list(set([k.split(".", 1)[0] for k in weights_sd.keys()])) + remaining_keys.sort() + logger.info(f"Remaining LoRA modules after filtering: {remaining_keys}") + if len(weights_sd) == 0: + logger.warning("No keys left after filtering.") + + return weights_sd + + +def load_safetensors_with_lora_and_fp8( + model_files: Union[str, List[str]], + lora_weights_list: Optional[List[Dict[str, torch.Tensor]]], + lora_multipliers: Optional[List[float]], + fp8_optimization: bool, + calc_device: torch.device, + move_to_device: bool = False, + dit_weight_dtype: Optional[torch.dtype] = None, + target_keys: Optional[List[str]] = None, + exclude_keys: Optional[List[str]] = None, + disable_numpy_memmap: bool = False, + weight_transform_hooks: Optional[WeightTransformHooks] = None, +) -> dict[str, torch.Tensor]: + """ + Merge LoRA weights into the state dict of a model with fp8 optimization if needed. + + Args: + model_files (Union[str, List[str]]): Path to the model file or list of paths. If the path matches a pattern like `00001-of-00004`, it will load all files with the same prefix. + lora_weights_list (Optional[List[Dict[str, torch.Tensor]]]): List of dictionaries of LoRA weight tensors to load. + lora_multipliers (Optional[List[float]]): List of multipliers for LoRA weights. + fp8_optimization (bool): Whether to apply FP8 optimization. + calc_device (torch.device): Device to calculate on. + move_to_device (bool): Whether to move tensors to the calculation device after loading. + dit_weight_dtype (Optional[torch.dtype]): Dtype to load weights in when not using FP8 optimization. + target_keys (Optional[List[str]]): Keys to target for optimization. + exclude_keys (Optional[List[str]]): Keys to exclude from optimization. + disable_numpy_memmap (bool): Whether to disable numpy memmap when loading safetensors. + weight_transform_hooks (Optional[WeightTransformHooks]): Hooks for transforming weights during loading. + """ + + # if the file name ends with 00001-of-00004 etc, we need to load the files with the same prefix + if isinstance(model_files, str): + model_files = [model_files] + + extended_model_files = [] + for model_file in model_files: + split_filenames = get_split_weight_filenames(model_file) + if split_filenames is not None: + extended_model_files.extend(split_filenames) + else: + extended_model_files.append(model_file) + model_files = extended_model_files + logger.info(f"Loading model files: {model_files}") + + # load LoRA weights + weight_hook = None + if lora_weights_list is None or len(lora_weights_list) == 0: + lora_weights_list = [] + lora_multipliers = [] + list_of_lora_weight_keys = [] + else: + list_of_lora_weight_keys = [] + for lora_sd in lora_weights_list: + lora_weight_keys = set(lora_sd.keys()) + list_of_lora_weight_keys.append(lora_weight_keys) + + if lora_multipliers is None: + lora_multipliers = [1.0] * len(lora_weights_list) + while len(lora_multipliers) < len(lora_weights_list): + lora_multipliers.append(1.0) + if len(lora_multipliers) > len(lora_weights_list): + lora_multipliers = lora_multipliers[: len(lora_weights_list)] + + # Merge LoRA weights into the state dict + logger.info(f"Merging LoRA weights into state dict. multipliers: {lora_multipliers}") + + # make hook for LoRA merging + def weight_hook_func(model_weight_key, model_weight: torch.Tensor, keep_on_calc_device=False): + nonlocal list_of_lora_weight_keys, lora_weights_list, lora_multipliers, calc_device + + if not model_weight_key.endswith(".weight"): + return model_weight + + original_device = model_weight.device + if original_device != calc_device: + model_weight = model_weight.to(calc_device) # to make calculation faster + + for lora_weight_keys, lora_sd, multiplier in zip(list_of_lora_weight_keys, lora_weights_list, lora_multipliers): + # check if this weight has LoRA weights + lora_name_without_prefix = model_weight_key.rsplit(".", 1)[0] # remove trailing ".weight" + found = False + for prefix in ["lora_unet_", ""]: + lora_name = prefix + lora_name_without_prefix.replace(".", "_") + down_key = lora_name + ".lora_down.weight" + up_key = lora_name + ".lora_up.weight" + alpha_key = lora_name + ".alpha" + if down_key in lora_weight_keys and up_key in lora_weight_keys: + found = True + break + + if found: + # Standard LoRA merge + # get LoRA weights + down_weight = lora_sd[down_key] + up_weight = lora_sd[up_key] + + dim = down_weight.size()[0] + alpha = lora_sd.get(alpha_key, dim) + scale = alpha / dim + + down_weight = down_weight.to(calc_device) + up_weight = up_weight.to(calc_device) + + original_dtype = model_weight.dtype + if original_dtype.itemsize == 1: # fp8 + # temporarily convert to float16 for calculation + model_weight = model_weight.to(torch.float16) + down_weight = down_weight.to(torch.float16) + up_weight = up_weight.to(torch.float16) + + # W <- W + U * D + if len(model_weight.size()) == 2: + # linear + if len(up_weight.size()) == 4: # use linear projection mismatch + up_weight = up_weight.squeeze(3).squeeze(2) + down_weight = down_weight.squeeze(3).squeeze(2) + model_weight = model_weight + multiplier * (up_weight @ down_weight) * scale + elif down_weight.size()[2:4] == (1, 1): + # conv2d 1x1 + model_weight = ( + model_weight + + multiplier + * (up_weight.squeeze(3).squeeze(2) @ down_weight.squeeze(3).squeeze(2)).unsqueeze(2).unsqueeze(3) + * scale + ) + else: + # conv2d 3x3 + conved = torch.nn.functional.conv2d(down_weight.permute(1, 0, 2, 3), up_weight).permute(1, 0, 2, 3) + # logger.info(conved.size(), weight.size(), module.stride, module.padding) + model_weight = model_weight + multiplier * conved * scale + + if original_dtype.itemsize == 1: # fp8 + model_weight = model_weight.to(original_dtype) # convert back to original dtype + + # remove LoRA keys from set + lora_weight_keys.remove(down_key) + lora_weight_keys.remove(up_key) + if alpha_key in lora_weight_keys: + lora_weight_keys.remove(alpha_key) + continue + + # Check for LoHa/LoKr weights with same prefix search + for prefix in ["lora_unet_", ""]: + lora_name = prefix + lora_name_without_prefix.replace(".", "_") + hada_key = lora_name + ".hada_w1_a" + lokr_key = lora_name + ".lokr_w1" + + if hada_key in lora_weight_keys: + # LoHa merge + model_weight = loha_merge(model_weight, lora_name, lora_sd, lora_weight_keys, multiplier, calc_device) + break + elif lokr_key in lora_weight_keys: + # LoKr merge + model_weight = lokr_merge(model_weight, lora_name, lora_sd, lora_weight_keys, multiplier, calc_device) + break + + if not keep_on_calc_device and original_device != calc_device: + model_weight = model_weight.to(original_device) # move back to original device + return model_weight + + weight_hook = weight_hook_func + + state_dict = load_safetensors_with_fp8_optimization_and_hook( + model_files, + fp8_optimization, + calc_device, + move_to_device, + dit_weight_dtype, + target_keys, + exclude_keys, + weight_hook=weight_hook, + disable_numpy_memmap=disable_numpy_memmap, + weight_transform_hooks=weight_transform_hooks, + ) + + for lora_weight_keys in list_of_lora_weight_keys: + # check if all LoRA keys are used + if len(lora_weight_keys) > 0: + # if there are still LoRA keys left, it means they are not used in the model + # this is a warning, not an error + logger.warning(f"Warning: not all LoRA keys are used: {', '.join(lora_weight_keys)}") + + return state_dict + + +def load_safetensors_with_fp8_optimization_and_hook( + model_files: list[str], + fp8_optimization: bool, + calc_device: torch.device, + move_to_device: bool = False, + dit_weight_dtype: Optional[torch.dtype] = None, + target_keys: Optional[List[str]] = None, + exclude_keys: Optional[List[str]] = None, + weight_hook: callable = None, + disable_numpy_memmap: bool = False, + weight_transform_hooks: Optional[WeightTransformHooks] = None, +) -> dict[str, torch.Tensor]: + """ + Load state dict from safetensors files and merge LoRA weights into the state dict with fp8 optimization if needed. + """ + if fp8_optimization: + logger.info( + f"Loading state dict with FP8 optimization. Dtype of weight: {dit_weight_dtype}, hook enabled: {weight_hook is not None}" + ) + # dit_weight_dtype is not used because we use fp8 optimization + state_dict = load_safetensors_with_fp8_optimization( + model_files, + calc_device, + target_keys, + exclude_keys, + move_to_device=move_to_device, + weight_hook=weight_hook, + disable_numpy_memmap=disable_numpy_memmap, + weight_transform_hooks=weight_transform_hooks, + ) + else: + logger.info( + f"Loading state dict without FP8 optimization. Dtype of weight: {dit_weight_dtype}, hook enabled: {weight_hook is not None}" + ) + state_dict = {} + for model_file in model_files: + with MemoryEfficientSafeOpen(model_file, disable_numpy_memmap=disable_numpy_memmap) as original_f: + f = TensorWeightAdapter(weight_transform_hooks, original_f) if weight_transform_hooks is not None else original_f + for key in tqdm(f.keys(), desc=f"Loading {os.path.basename(model_file)}", leave=False): + if weight_hook is None and move_to_device: + value = f.get_tensor(key, device=calc_device, dtype=dit_weight_dtype) + else: + value = f.get_tensor(key) # we cannot directly load to device because get_tensor does non-blocking transfer + if weight_hook is not None: + value = weight_hook(key, value, keep_on_calc_device=move_to_device) + if move_to_device: + value = value.to(calc_device, dtype=dit_weight_dtype, non_blocking=True) + elif dit_weight_dtype is not None: + value = value.to(dit_weight_dtype) + + state_dict[key] = value + if move_to_device: + synchronize_device(calc_device) + + return state_dict diff --git a/networks/loha.py b/networks/loha.py new file mode 100644 index 000000000..8734f9c5a --- /dev/null +++ b/networks/loha.py @@ -0,0 +1,643 @@ +# LoHa (Low-rank Hadamard Product) network module +# Reference: https://arxiv.org/abs/2108.06098 +# +# Based on the LyCORIS project by KohakuBlueleaf +# https://github.com/KohakuBlueleaf/LyCORIS + +import ast +import os +import logging +from typing import Dict, List, Optional + +import torch +import torch.nn as nn +import torch.nn.functional as F + +from .network_base import ArchConfig, AdditionalNetwork, detect_arch_config, _parse_kv_pairs +from library.utils import setup_logging + +setup_logging() +logger = logging.getLogger(__name__) + + +class HadaWeight(torch.autograd.Function): + """Efficient Hadamard product forward/backward for LoHa. + + Computes ((w1a @ w1b) * (w2a @ w2b)) * scale with custom backward + that recomputes intermediates instead of storing them. + """ + + @staticmethod + def forward(ctx, w1a, w1b, w2a, w2b, scale=None): + if scale is None: + scale = torch.tensor(1, device=w1a.device, dtype=w1a.dtype) + ctx.save_for_backward(w1a, w1b, w2a, w2b, scale) + diff_weight = ((w1a @ w1b) * (w2a @ w2b)) * scale + return diff_weight + + @staticmethod + def backward(ctx, grad_out): + (w1a, w1b, w2a, w2b, scale) = ctx.saved_tensors + grad_out = grad_out * scale + temp = grad_out * (w2a @ w2b) + grad_w1a = temp @ w1b.T + grad_w1b = w1a.T @ temp + + temp = grad_out * (w1a @ w1b) + grad_w2a = temp @ w2b.T + grad_w2b = w2a.T @ temp + + del temp + return grad_w1a, grad_w1b, grad_w2a, grad_w2b, None + + +class HadaWeightTucker(torch.autograd.Function): + """Tucker-decomposed Hadamard product forward/backward for LoHa Conv2d 3x3+. + + Computes (rebuild(t1, w1b, w1a) * rebuild(t2, w2b, w2a)) * scale + where rebuild = einsum("i j ..., j r, i p -> p r ...", t, wb, wa). + Compatible with LyCORIS parameter naming convention. + """ + + @staticmethod + def forward(ctx, t1, w1b, w1a, t2, w2b, w2a, scale=None): + if scale is None: + scale = torch.tensor(1, device=t1.device, dtype=t1.dtype) + ctx.save_for_backward(t1, w1b, w1a, t2, w2b, w2a, scale) + + rebuild1 = torch.einsum("i j ..., j r, i p -> p r ...", t1, w1b, w1a) + rebuild2 = torch.einsum("i j ..., j r, i p -> p r ...", t2, w2b, w2a) + + return rebuild1 * rebuild2 * scale + + @staticmethod + def backward(ctx, grad_out): + (t1, w1b, w1a, t2, w2b, w2a, scale) = ctx.saved_tensors + grad_out = grad_out * scale + + # Gradients for w1a, w1b, t1 (using rebuild2) + temp = torch.einsum("i j ..., j r -> i r ...", t2, w2b) + rebuild = torch.einsum("i j ..., i r -> r j ...", temp, w2a) + + grad_w = rebuild * grad_out + del rebuild + + grad_w1a = torch.einsum("r j ..., i j ... -> r i", temp, grad_w) + grad_temp = torch.einsum("i j ..., i r -> r j ...", grad_w, w1a.T) + del grad_w, temp + + grad_w1b = torch.einsum("i r ..., i j ... -> r j", t1, grad_temp) + grad_t1 = torch.einsum("i j ..., j r -> i r ...", grad_temp, w1b.T) + del grad_temp + + # Gradients for w2a, w2b, t2 (using rebuild1) + temp = torch.einsum("i j ..., j r -> i r ...", t1, w1b) + rebuild = torch.einsum("i j ..., i r -> r j ...", temp, w1a) + + grad_w = rebuild * grad_out + del rebuild + + grad_w2a = torch.einsum("r j ..., i j ... -> r i", temp, grad_w) + grad_temp = torch.einsum("i j ..., i r -> r j ...", grad_w, w2a.T) + del grad_w, temp + + grad_w2b = torch.einsum("i r ..., i j ... -> r j", t2, grad_temp) + grad_t2 = torch.einsum("i j ..., j r -> i r ...", grad_temp, w2b.T) + del grad_temp + + return grad_t1, grad_w1b, grad_w1a, grad_t2, grad_w2b, grad_w2a, None + + +class LoHaModule(torch.nn.Module): + """LoHa module for training. Replaces forward method of the original Linear/Conv2d.""" + + def __init__( + self, + lora_name, + org_module: torch.nn.Module, + multiplier=1.0, + lora_dim=4, + alpha=1, + dropout=None, + rank_dropout=None, + module_dropout=None, + use_tucker=False, + **kwargs, + ): + super().__init__() + self.lora_name = lora_name + self.lora_dim = lora_dim + + is_conv2d = org_module.__class__.__name__ == "Conv2d" + if is_conv2d: + in_dim = org_module.in_channels + out_dim = org_module.out_channels + kernel_size = org_module.kernel_size + self.is_conv = True + self.stride = org_module.stride + self.padding = org_module.padding + self.dilation = org_module.dilation + self.groups = org_module.groups + self.kernel_size = kernel_size + + self.tucker = use_tucker and any(k != 1 for k in kernel_size) + + if kernel_size == (1, 1): + self.conv_mode = "1x1" + elif self.tucker: + self.conv_mode = "tucker" + else: + self.conv_mode = "flat" + else: + in_dim = org_module.in_features + out_dim = org_module.out_features + self.is_conv = False + self.tucker = False + self.conv_mode = None + self.kernel_size = None + + self.in_dim = in_dim + self.out_dim = out_dim + + # Create parameters based on mode + if self.conv_mode == "tucker": + # Tucker decomposition for Conv2d 3x3+ + # Shapes follow LyCORIS convention: w_a = (rank, out_dim), w_b = (rank, in_dim) + self.hada_t1 = nn.Parameter(torch.empty(lora_dim, lora_dim, *kernel_size)) + self.hada_w1_a = nn.Parameter(torch.empty(lora_dim, out_dim)) + self.hada_w1_b = nn.Parameter(torch.empty(lora_dim, in_dim)) + self.hada_t2 = nn.Parameter(torch.empty(lora_dim, lora_dim, *kernel_size)) + self.hada_w2_a = nn.Parameter(torch.empty(lora_dim, out_dim)) + self.hada_w2_b = nn.Parameter(torch.empty(lora_dim, in_dim)) + + # LyCORIS init: w1_a = 0 (ensures ΔW=0), t1/t2 normal(0.1) + torch.nn.init.normal_(self.hada_t1, std=0.1) + torch.nn.init.normal_(self.hada_t2, std=0.1) + torch.nn.init.normal_(self.hada_w1_b, std=1.0) + torch.nn.init.constant_(self.hada_w1_a, 0) + torch.nn.init.normal_(self.hada_w2_b, std=1.0) + torch.nn.init.normal_(self.hada_w2_a, std=0.1) + elif self.conv_mode == "flat": + # Non-Tucker Conv2d 3x3+: flatten kernel into in_dim + k_prod = 1 + for k in kernel_size: + k_prod *= k + flat_in = in_dim * k_prod + + self.hada_w1_a = nn.Parameter(torch.empty(out_dim, lora_dim)) + self.hada_w1_b = nn.Parameter(torch.empty(lora_dim, flat_in)) + self.hada_w2_a = nn.Parameter(torch.empty(out_dim, lora_dim)) + self.hada_w2_b = nn.Parameter(torch.empty(lora_dim, flat_in)) + + torch.nn.init.normal_(self.hada_w1_a, std=0.1) + torch.nn.init.normal_(self.hada_w1_b, std=1.0) + torch.nn.init.constant_(self.hada_w2_a, 0) + torch.nn.init.normal_(self.hada_w2_b, std=1.0) + else: + # Linear or Conv2d 1x1 + self.hada_w1_a = nn.Parameter(torch.empty(out_dim, lora_dim)) + self.hada_w1_b = nn.Parameter(torch.empty(lora_dim, in_dim)) + self.hada_w2_a = nn.Parameter(torch.empty(out_dim, lora_dim)) + self.hada_w2_b = nn.Parameter(torch.empty(lora_dim, in_dim)) + + torch.nn.init.normal_(self.hada_w1_a, std=0.1) + torch.nn.init.normal_(self.hada_w1_b, std=1.0) + torch.nn.init.constant_(self.hada_w2_a, 0) + torch.nn.init.normal_(self.hada_w2_b, std=1.0) + + if type(alpha) == torch.Tensor: + alpha = alpha.detach().float().numpy() + alpha = lora_dim if alpha is None or alpha == 0 else alpha + self.scale = alpha / self.lora_dim + self.register_buffer("alpha", torch.tensor(alpha)) + + self.multiplier = multiplier + self.org_module = org_module # remove in applying + self.dropout = dropout + self.rank_dropout = rank_dropout + self.module_dropout = module_dropout + + def apply_to(self): + self.org_forward = self.org_module.forward + self.org_module.forward = self.forward + del self.org_module + + def get_diff_weight(self): + """Return materialized weight delta. + + Returns: + - Linear: 2D tensor (out_dim, in_dim) + - Conv2d 1x1: 2D tensor (out_dim, in_dim) — caller should unsqueeze for F.conv2d + - Conv2d 3x3+ Tucker: 4D tensor (out_dim, in_dim, k1, k2) + - Conv2d 3x3+ flat: 4D tensor (out_dim, in_dim, k1, k2) + """ + if self.tucker: + scale = torch.tensor(self.scale, dtype=self.hada_t1.dtype, device=self.hada_t1.device) + return HadaWeightTucker.apply( + self.hada_t1, self.hada_w1_b, self.hada_w1_a, + self.hada_t2, self.hada_w2_b, self.hada_w2_a, scale + ) + elif self.conv_mode == "flat": + scale = torch.tensor(self.scale, dtype=self.hada_w1_a.dtype, device=self.hada_w1_a.device) + diff = HadaWeight.apply(self.hada_w1_a, self.hada_w1_b, self.hada_w2_a, self.hada_w2_b, scale) + return diff.reshape(self.out_dim, self.in_dim, *self.kernel_size) + else: + scale = torch.tensor(self.scale, dtype=self.hada_w1_a.dtype, device=self.hada_w1_a.device) + return HadaWeight.apply(self.hada_w1_a, self.hada_w1_b, self.hada_w2_a, self.hada_w2_b, scale) + + def forward(self, x): + org_forwarded = self.org_forward(x) + + # module dropout + if self.module_dropout is not None and self.training: + if torch.rand(1) < self.module_dropout: + return org_forwarded + + diff_weight = self.get_diff_weight() + + # rank dropout (applied on output dimension) + if self.rank_dropout is not None and self.training: + drop = (torch.rand(diff_weight.size(0), device=diff_weight.device) > self.rank_dropout).to(diff_weight.dtype) + drop = drop.view(-1, *([1] * (diff_weight.dim() - 1))) + diff_weight = diff_weight * drop + scale = 1.0 / (1.0 - self.rank_dropout) + else: + scale = 1.0 + + if self.is_conv: + if self.conv_mode == "1x1": + diff_weight = diff_weight.unsqueeze(2).unsqueeze(3) + return org_forwarded + F.conv2d( + x, diff_weight, stride=self.stride, padding=self.padding, + dilation=self.dilation, groups=self.groups + ) * self.multiplier * scale + else: + # Conv2d 3x3+: diff_weight is already 4D from get_diff_weight + return org_forwarded + F.conv2d( + x, diff_weight, stride=self.stride, padding=self.padding, + dilation=self.dilation, groups=self.groups + ) * self.multiplier * scale + else: + return org_forwarded + F.linear(x, diff_weight) * self.multiplier * scale + + @property + def device(self): + return next(self.parameters()).device + + @property + def dtype(self): + return next(self.parameters()).dtype + + +class LoHaInfModule(LoHaModule): + """LoHa module for inference. Supports merge_to and get_weight.""" + + def __init__( + self, + lora_name, + org_module: torch.nn.Module, + multiplier=1.0, + lora_dim=4, + alpha=1, + **kwargs, + ): + # no dropout for inference; pass use_tucker from kwargs + use_tucker = kwargs.pop("use_tucker", False) + super().__init__(lora_name, org_module, multiplier, lora_dim, alpha, use_tucker=use_tucker) + + self.org_module_ref = [org_module] + self.enabled = True + self.network: AdditionalNetwork = None + + def set_network(self, network): + self.network = network + + def merge_to(self, sd, dtype, device): + # extract weight from org_module + org_sd = self.org_module.state_dict() + weight = org_sd["weight"] + org_dtype = weight.dtype + org_device = weight.device + weight = weight.to(torch.float) + + if dtype is None: + dtype = org_dtype + if device is None: + device = org_device + + # get LoHa weights + w1a = sd["hada_w1_a"].to(torch.float).to(device) + w1b = sd["hada_w1_b"].to(torch.float).to(device) + w2a = sd["hada_w2_a"].to(torch.float).to(device) + w2b = sd["hada_w2_b"].to(torch.float).to(device) + + if self.tucker: + # Tucker mode + t1 = sd["hada_t1"].to(torch.float).to(device) + t2 = sd["hada_t2"].to(torch.float).to(device) + rebuild1 = torch.einsum("i j ..., j r, i p -> p r ...", t1, w1b, w1a) + rebuild2 = torch.einsum("i j ..., j r, i p -> p r ...", t2, w2b, w2a) + diff_weight = rebuild1 * rebuild2 * self.scale + else: + diff_weight = ((w1a @ w1b) * (w2a @ w2b)) * self.scale + # reshape diff_weight to match original weight shape if needed + if diff_weight.shape != weight.shape: + diff_weight = diff_weight.reshape(weight.shape) + + weight = weight.to(device) + self.multiplier * diff_weight + + org_sd["weight"] = weight.to(dtype) + self.org_module.load_state_dict(org_sd) + + def get_weight(self, multiplier=None): + if multiplier is None: + multiplier = self.multiplier + + if self.tucker: + t1 = self.hada_t1.to(torch.float) + w1a = self.hada_w1_a.to(torch.float) + w1b = self.hada_w1_b.to(torch.float) + t2 = self.hada_t2.to(torch.float) + w2a = self.hada_w2_a.to(torch.float) + w2b = self.hada_w2_b.to(torch.float) + rebuild1 = torch.einsum("i j ..., j r, i p -> p r ...", t1, w1b, w1a) + rebuild2 = torch.einsum("i j ..., j r, i p -> p r ...", t2, w2b, w2a) + weight = rebuild1 * rebuild2 * self.scale * multiplier + else: + w1a = self.hada_w1_a.to(torch.float) + w1b = self.hada_w1_b.to(torch.float) + w2a = self.hada_w2_a.to(torch.float) + w2b = self.hada_w2_b.to(torch.float) + weight = ((w1a @ w1b) * (w2a @ w2b)) * self.scale * multiplier + + if self.is_conv: + if self.conv_mode == "1x1": + weight = weight.unsqueeze(2).unsqueeze(3) + elif self.conv_mode == "flat": + weight = weight.reshape(self.out_dim, self.in_dim, *self.kernel_size) + + return weight + + def default_forward(self, x): + diff_weight = self.get_diff_weight() + if self.is_conv: + if self.conv_mode == "1x1": + diff_weight = diff_weight.unsqueeze(2).unsqueeze(3) + return self.org_forward(x) + F.conv2d( + x, diff_weight, stride=self.stride, padding=self.padding, + dilation=self.dilation, groups=self.groups + ) * self.multiplier + else: + return self.org_forward(x) + F.linear(x, diff_weight) * self.multiplier + + def forward(self, x): + if not self.enabled: + return self.org_forward(x) + return self.default_forward(x) + + +def create_network( + multiplier: float, + network_dim: Optional[int], + network_alpha: Optional[float], + vae, + text_encoder, + unet, + neuron_dropout: Optional[float] = None, + **kwargs, +): + """Create a LoHa network. Called by train_network.py via network_module.create_network().""" + if network_dim is None: + network_dim = 4 + if network_alpha is None: + network_alpha = 1.0 + + # handle text_encoder as list + text_encoders = text_encoder if isinstance(text_encoder, list) else [text_encoder] + + # detect architecture + arch_config = detect_arch_config(unet, text_encoders) + + # train LLM adapter + train_llm_adapter = kwargs.get("train_llm_adapter", "false") + if train_llm_adapter is not None: + train_llm_adapter = True if str(train_llm_adapter).lower() == "true" else False + + # exclude patterns + exclude_patterns = kwargs.get("exclude_patterns", None) + if exclude_patterns is None: + exclude_patterns = [] + else: + exclude_patterns = ast.literal_eval(exclude_patterns) + if not isinstance(exclude_patterns, list): + exclude_patterns = [exclude_patterns] + + # add default exclude patterns from arch config + exclude_patterns.extend(arch_config.default_excludes) + + # include patterns + include_patterns = kwargs.get("include_patterns", None) + if include_patterns is not None: + include_patterns = ast.literal_eval(include_patterns) + if not isinstance(include_patterns, list): + include_patterns = [include_patterns] + + # rank/module dropout + rank_dropout = kwargs.get("rank_dropout", None) + if rank_dropout is not None: + rank_dropout = float(rank_dropout) + module_dropout = kwargs.get("module_dropout", None) + if module_dropout is not None: + module_dropout = float(module_dropout) + + # conv dim/alpha for Conv2d 3x3 + conv_lora_dim = kwargs.get("conv_dim", None) + conv_alpha = kwargs.get("conv_alpha", None) + if conv_lora_dim is not None: + conv_lora_dim = int(conv_lora_dim) + if conv_alpha is None: + conv_alpha = 1.0 + else: + conv_alpha = float(conv_alpha) + + # Tucker decomposition for Conv2d 3x3 + use_tucker = kwargs.get("use_tucker", "false") + if use_tucker is not None: + use_tucker = True if str(use_tucker).lower() == "true" else False + + # verbose + verbose = kwargs.get("verbose", "false") + if verbose is not None: + verbose = True if str(verbose).lower() == "true" else False + + # regex-specific learning rates / dimensions + network_reg_lrs = kwargs.get("network_reg_lrs", None) + reg_lrs = _parse_kv_pairs(network_reg_lrs, is_int=False) if network_reg_lrs is not None else None + + network_reg_dims = kwargs.get("network_reg_dims", None) + reg_dims = _parse_kv_pairs(network_reg_dims, is_int=True) if network_reg_dims is not None else None + + network = AdditionalNetwork( + text_encoders, + unet, + arch_config=arch_config, + multiplier=multiplier, + lora_dim=network_dim, + alpha=network_alpha, + dropout=neuron_dropout, + rank_dropout=rank_dropout, + module_dropout=module_dropout, + module_class=LoHaModule, + module_kwargs={"use_tucker": use_tucker}, + conv_lora_dim=conv_lora_dim, + conv_alpha=conv_alpha, + train_llm_adapter=train_llm_adapter, + exclude_patterns=exclude_patterns, + include_patterns=include_patterns, + reg_dims=reg_dims, + reg_lrs=reg_lrs, + verbose=verbose, + ) + + # LoRA+ support + loraplus_lr_ratio = kwargs.get("loraplus_lr_ratio", None) + loraplus_unet_lr_ratio = kwargs.get("loraplus_unet_lr_ratio", None) + loraplus_text_encoder_lr_ratio = kwargs.get("loraplus_text_encoder_lr_ratio", None) + loraplus_lr_ratio = float(loraplus_lr_ratio) if loraplus_lr_ratio is not None else None + loraplus_unet_lr_ratio = float(loraplus_unet_lr_ratio) if loraplus_unet_lr_ratio is not None else None + loraplus_text_encoder_lr_ratio = float(loraplus_text_encoder_lr_ratio) if loraplus_text_encoder_lr_ratio is not None else None + if loraplus_lr_ratio is not None or loraplus_unet_lr_ratio is not None or loraplus_text_encoder_lr_ratio is not None: + network.set_loraplus_lr_ratio(loraplus_lr_ratio, loraplus_unet_lr_ratio, loraplus_text_encoder_lr_ratio) + + return network + + +def create_network_from_weights(multiplier, file, vae, text_encoder, unet, weights_sd=None, for_inference=False, **kwargs): + """Create a LoHa network from saved weights. Called by train_network.py.""" + if weights_sd is None: + if os.path.splitext(file)[1] == ".safetensors": + from safetensors.torch import load_file + + weights_sd = load_file(file) + else: + weights_sd = torch.load(file, map_location="cpu") + + # detect dim/alpha from weights + modules_dim = {} + modules_alpha = {} + train_llm_adapter = False + for key, value in weights_sd.items(): + if "." not in key: + continue + + lora_name = key.split(".")[0] + if "alpha" in key: + modules_alpha[lora_name] = value + elif "hada_w1_b" in key: + dim = value.shape[0] + modules_dim[lora_name] = dim + + if "llm_adapter" in lora_name: + train_llm_adapter = True + + # detect Tucker mode from weights + use_tucker = any("hada_t1" in key for key in weights_sd.keys()) + + # handle text_encoder as list + text_encoders = text_encoder if isinstance(text_encoder, list) else [text_encoder] + + # detect architecture + arch_config = detect_arch_config(unet, text_encoders) + + module_class = LoHaInfModule if for_inference else LoHaModule + module_kwargs = {"use_tucker": use_tucker} + + network = AdditionalNetwork( + text_encoders, + unet, + arch_config=arch_config, + multiplier=multiplier, + modules_dim=modules_dim, + modules_alpha=modules_alpha, + module_class=module_class, + module_kwargs=module_kwargs, + train_llm_adapter=train_llm_adapter, + ) + return network, weights_sd + + +def merge_weights_to_tensor( + model_weight: torch.Tensor, + lora_name: str, + lora_sd: Dict[str, torch.Tensor], + lora_weight_keys: set, + multiplier: float, + calc_device: torch.device, +) -> torch.Tensor: + """Merge LoHa weights directly into a model weight tensor. + + Supports standard LoHa, non-Tucker Conv2d 3x3, and Tucker Conv2d 3x3. + No Module/Network creation needed. Consumed keys are removed from lora_weight_keys. + Returns model_weight unchanged if no matching LoHa keys found. + """ + w1a_key = lora_name + ".hada_w1_a" + w1b_key = lora_name + ".hada_w1_b" + w2a_key = lora_name + ".hada_w2_a" + w2b_key = lora_name + ".hada_w2_b" + t1_key = lora_name + ".hada_t1" + t2_key = lora_name + ".hada_t2" + alpha_key = lora_name + ".alpha" + + if w1a_key not in lora_weight_keys: + return model_weight + + w1a = lora_sd[w1a_key].to(calc_device) + w1b = lora_sd[w1b_key].to(calc_device) + w2a = lora_sd[w2a_key].to(calc_device) + w2b = lora_sd[w2b_key].to(calc_device) + + has_tucker = t1_key in lora_weight_keys + + dim = w1b.shape[0] + alpha = lora_sd.get(alpha_key, torch.tensor(dim)) + if isinstance(alpha, torch.Tensor): + alpha = alpha.item() + scale = alpha / dim + + original_dtype = model_weight.dtype + if original_dtype.itemsize == 1: # fp8 + model_weight = model_weight.to(torch.float16) + w1a, w1b = w1a.to(torch.float16), w1b.to(torch.float16) + w2a, w2b = w2a.to(torch.float16), w2b.to(torch.float16) + + if has_tucker: + # Tucker decomposition: rebuild via einsum + t1 = lora_sd[t1_key].to(calc_device) + t2 = lora_sd[t2_key].to(calc_device) + if original_dtype.itemsize == 1: + t1, t2 = t1.to(torch.float16), t2.to(torch.float16) + rebuild1 = torch.einsum("i j ..., j r, i p -> p r ...", t1, w1b, w1a) + rebuild2 = torch.einsum("i j ..., j r, i p -> p r ...", t2, w2b, w2a) + diff_weight = rebuild1 * rebuild2 * scale + else: + # Standard LoHa: ΔW = ((w1a @ w1b) * (w2a @ w2b)) * scale + diff_weight = ((w1a @ w1b) * (w2a @ w2b)) * scale + + # Reshape diff_weight to match model_weight shape if needed + # (handles Conv2d 1x1 unsqueeze, Conv2d 3x3 non-Tucker reshape, etc.) + if diff_weight.shape != model_weight.shape: + diff_weight = diff_weight.reshape(model_weight.shape) + + model_weight = model_weight + multiplier * diff_weight + + if original_dtype.itemsize == 1: + model_weight = model_weight.to(original_dtype) + + # remove consumed keys + consumed = [w1a_key, w1b_key, w2a_key, w2b_key, alpha_key] + if has_tucker: + consumed.extend([t1_key, t2_key]) + for key in consumed: + lora_weight_keys.discard(key) + + return model_weight diff --git a/networks/lokr.py b/networks/lokr.py new file mode 100644 index 000000000..03b50ca07 --- /dev/null +++ b/networks/lokr.py @@ -0,0 +1,683 @@ +# LoKr (Low-rank Kronecker Product) network module +# Reference: https://arxiv.org/abs/2309.14859 +# +# Based on the LyCORIS project by KohakuBlueleaf +# https://github.com/KohakuBlueleaf/LyCORIS + +import ast +import math +import os +import logging +from typing import Dict, List, Optional + +import torch +import torch.nn as nn +import torch.nn.functional as F + +from .network_base import ArchConfig, AdditionalNetwork, detect_arch_config, _parse_kv_pairs +from library.utils import setup_logging + +setup_logging() +logger = logging.getLogger(__name__) + + +def factorization(dimension: int, factor: int = -1) -> tuple: + """Return a tuple of two values whose product equals dimension, + optimized for balanced factors. + + In LoKr, the first value is for the weight scale (smaller), + and the second value is for the weight (larger). + + Examples: + factor=-1: 128 -> (8, 16), 512 -> (16, 32), 1024 -> (32, 32) + factor=4: 128 -> (4, 32), 512 -> (4, 128) + """ + if factor > 0 and (dimension % factor) == 0: + m = factor + n = dimension // factor + if m > n: + n, m = m, n + return m, n + if factor < 0: + factor = dimension + m, n = 1, dimension + length = m + n + while m < n: + new_m = m + 1 + while dimension % new_m != 0: + new_m += 1 + new_n = dimension // new_m + if new_m + new_n > length or new_m > factor: + break + else: + m, n = new_m, new_n + if m > n: + n, m = m, n + return m, n + + +def make_kron(w1, w2, scale): + """Compute Kronecker product of w1 and w2, scaled by scale.""" + if w1.dim() != w2.dim(): + for _ in range(w2.dim() - w1.dim()): + w1 = w1.unsqueeze(-1) + w2 = w2.contiguous() + rebuild = torch.kron(w1, w2) + if scale != 1: + rebuild = rebuild * scale + return rebuild + + +def rebuild_tucker(t, wa, wb): + """Rebuild weight from Tucker decomposition: einsum("i j ..., i p, j r -> p r ...", t, wa, wb). + + Compatible with LyCORIS convention. + """ + return torch.einsum("i j ..., i p, j r -> p r ...", t, wa, wb) + + +class LoKrModule(torch.nn.Module): + """LoKr module for training. Replaces forward method of the original Linear/Conv2d.""" + + def __init__( + self, + lora_name, + org_module: torch.nn.Module, + multiplier=1.0, + lora_dim=4, + alpha=1, + dropout=None, + rank_dropout=None, + module_dropout=None, + factor=-1, + use_tucker=False, + **kwargs, + ): + super().__init__() + self.lora_name = lora_name + self.lora_dim = lora_dim + + is_conv2d = org_module.__class__.__name__ == "Conv2d" + if is_conv2d: + in_dim = org_module.in_channels + out_dim = org_module.out_channels + kernel_size = org_module.kernel_size + self.is_conv = True + self.stride = org_module.stride + self.padding = org_module.padding + self.dilation = org_module.dilation + self.groups = org_module.groups + self.kernel_size = kernel_size + + self.tucker = use_tucker and any(k != 1 for k in kernel_size) + + if kernel_size == (1, 1): + self.conv_mode = "1x1" + elif self.tucker: + self.conv_mode = "tucker" + else: + self.conv_mode = "flat" + else: + in_dim = org_module.in_features + out_dim = org_module.out_features + self.is_conv = False + self.tucker = False + self.conv_mode = None + self.kernel_size = None + + self.in_dim = in_dim + self.out_dim = out_dim + + factor = int(factor) + self.use_w2 = False + + # Factorize dimensions + in_m, in_n = factorization(in_dim, factor) + out_l, out_k = factorization(out_dim, factor) + + # w1 is always a full matrix (the "scale" factor, small) + self.lokr_w1 = nn.Parameter(torch.empty(out_l, in_m)) + + # w2: depends on mode + if self.conv_mode in ("tucker", "flat"): + # Conv2d 3x3+ modes + k_size = kernel_size + + if lora_dim >= max(out_k, in_n) / 2: + # Full matrix mode (includes kernel dimensions) + self.use_w2 = True + self.lokr_w2 = nn.Parameter(torch.empty(out_k, in_n, *k_size)) + logger.warning( + f"LoKr: lora_dim {lora_dim} is large for dim={max(in_dim, out_dim)} " + f"and factor={factor}, using full matrix mode for Conv2d." + ) + elif self.tucker: + # Tucker mode: separate kernel into t2 tensor + self.lokr_t2 = nn.Parameter(torch.empty(lora_dim, lora_dim, *k_size)) + self.lokr_w2_a = nn.Parameter(torch.empty(lora_dim, out_k)) + self.lokr_w2_b = nn.Parameter(torch.empty(lora_dim, in_n)) + else: + # Non-Tucker: flatten kernel into w2_b + k_prod = 1 + for k in k_size: + k_prod *= k + self.lokr_w2_a = nn.Parameter(torch.empty(out_k, lora_dim)) + self.lokr_w2_b = nn.Parameter(torch.empty(lora_dim, in_n * k_prod)) + else: + # Linear or Conv2d 1x1 + if lora_dim < max(out_k, in_n) / 2: + self.lokr_w2_a = nn.Parameter(torch.empty(out_k, lora_dim)) + self.lokr_w2_b = nn.Parameter(torch.empty(lora_dim, in_n)) + else: + self.use_w2 = True + self.lokr_w2 = nn.Parameter(torch.empty(out_k, in_n)) + if lora_dim >= max(out_k, in_n) / 2: + logger.warning( + f"LoKr: lora_dim {lora_dim} is large for dim={max(in_dim, out_dim)} " + f"and factor={factor}, using full matrix mode." + ) + + if type(alpha) == torch.Tensor: + alpha = alpha.detach().float().numpy() + alpha = lora_dim if alpha is None or alpha == 0 else alpha + # if both w1 and w2 are full matrices, use scale = 1 + if self.use_w2: + alpha = lora_dim + self.scale = alpha / self.lora_dim + self.register_buffer("alpha", torch.tensor(alpha)) + + # Initialization + torch.nn.init.kaiming_uniform_(self.lokr_w1, a=math.sqrt(5)) + if self.use_w2: + torch.nn.init.constant_(self.lokr_w2, 0) + else: + if self.tucker: + torch.nn.init.kaiming_uniform_(self.lokr_t2, a=math.sqrt(5)) + torch.nn.init.kaiming_uniform_(self.lokr_w2_a, a=math.sqrt(5)) + torch.nn.init.constant_(self.lokr_w2_b, 0) + # Ensures ΔW = kron(w1, 0) = 0 at init + + self.multiplier = multiplier + self.org_module = org_module # remove in applying + self.dropout = dropout + self.rank_dropout = rank_dropout + self.module_dropout = module_dropout + + def apply_to(self): + self.org_forward = self.org_module.forward + self.org_module.forward = self.forward + del self.org_module + + def get_diff_weight(self): + """Return materialized weight delta. + + Returns: + - Linear: 2D tensor (out_dim, in_dim) + - Conv2d 1x1: 2D tensor (out_dim, in_dim) — caller should unsqueeze for F.conv2d + - Conv2d 3x3+ Tucker/full: 4D tensor (out_dim, in_dim, k1, k2) + - Conv2d 3x3+ flat: 4D tensor (out_dim, in_dim, k1, k2) — reshaped from 2D + """ + w1 = self.lokr_w1 + + if self.use_w2: + w2 = self.lokr_w2 + elif self.tucker: + w2 = rebuild_tucker(self.lokr_t2, self.lokr_w2_a, self.lokr_w2_b) + else: + w2 = self.lokr_w2_a @ self.lokr_w2_b + + result = make_kron(w1, w2, self.scale) + + # For non-Tucker Conv2d 3x3+, result is 2D; reshape to 4D + if self.conv_mode == "flat" and result.dim() == 2: + result = result.reshape(self.out_dim, self.in_dim, *self.kernel_size) + + return result + + def forward(self, x): + org_forwarded = self.org_forward(x) + + # module dropout + if self.module_dropout is not None and self.training: + if torch.rand(1) < self.module_dropout: + return org_forwarded + + diff_weight = self.get_diff_weight() + + # rank dropout + if self.rank_dropout is not None and self.training: + drop = (torch.rand(diff_weight.size(0), device=diff_weight.device) > self.rank_dropout).to(diff_weight.dtype) + drop = drop.view(-1, *([1] * (diff_weight.dim() - 1))) + diff_weight = diff_weight * drop + scale = 1.0 / (1.0 - self.rank_dropout) + else: + scale = 1.0 + + if self.is_conv: + if self.conv_mode == "1x1": + diff_weight = diff_weight.unsqueeze(2).unsqueeze(3) + return org_forwarded + F.conv2d( + x, diff_weight, stride=self.stride, padding=self.padding, + dilation=self.dilation, groups=self.groups + ) * self.multiplier * scale + else: + # Conv2d 3x3+: diff_weight is already 4D from get_diff_weight + return org_forwarded + F.conv2d( + x, diff_weight, stride=self.stride, padding=self.padding, + dilation=self.dilation, groups=self.groups + ) * self.multiplier * scale + else: + return org_forwarded + F.linear(x, diff_weight) * self.multiplier * scale + + @property + def device(self): + return next(self.parameters()).device + + @property + def dtype(self): + return next(self.parameters()).dtype + + +class LoKrInfModule(LoKrModule): + """LoKr module for inference. Supports merge_to and get_weight.""" + + def __init__( + self, + lora_name, + org_module: torch.nn.Module, + multiplier=1.0, + lora_dim=4, + alpha=1, + **kwargs, + ): + # no dropout for inference; pass factor and use_tucker from kwargs + factor = kwargs.pop("factor", -1) + use_tucker = kwargs.pop("use_tucker", False) + super().__init__(lora_name, org_module, multiplier, lora_dim, alpha, factor=factor, use_tucker=use_tucker) + + self.org_module_ref = [org_module] + self.enabled = True + self.network: AdditionalNetwork = None + + def set_network(self, network): + self.network = network + + def merge_to(self, sd, dtype, device): + # extract weight from org_module + org_sd = self.org_module.state_dict() + weight = org_sd["weight"] + org_dtype = weight.dtype + org_device = weight.device + weight = weight.to(torch.float) + + if dtype is None: + dtype = org_dtype + if device is None: + device = org_device + + # get LoKr weights + w1 = sd["lokr_w1"].to(torch.float).to(device) + + if "lokr_w2" in sd: + w2 = sd["lokr_w2"].to(torch.float).to(device) + elif "lokr_t2" in sd: + # Tucker mode + t2 = sd["lokr_t2"].to(torch.float).to(device) + w2a = sd["lokr_w2_a"].to(torch.float).to(device) + w2b = sd["lokr_w2_b"].to(torch.float).to(device) + w2 = rebuild_tucker(t2, w2a, w2b) + else: + w2a = sd["lokr_w2_a"].to(torch.float).to(device) + w2b = sd["lokr_w2_b"].to(torch.float).to(device) + w2 = w2a @ w2b + + # compute ΔW via Kronecker product + diff_weight = make_kron(w1, w2, self.scale) + + # reshape diff_weight to match original weight shape if needed + if diff_weight.shape != weight.shape: + diff_weight = diff_weight.reshape(weight.shape) + + weight = weight.to(device) + self.multiplier * diff_weight + + org_sd["weight"] = weight.to(dtype) + self.org_module.load_state_dict(org_sd) + + def get_weight(self, multiplier=None): + if multiplier is None: + multiplier = self.multiplier + + w1 = self.lokr_w1.to(torch.float) + + if self.use_w2: + w2 = self.lokr_w2.to(torch.float) + elif self.tucker: + w2 = rebuild_tucker( + self.lokr_t2.to(torch.float), + self.lokr_w2_a.to(torch.float), + self.lokr_w2_b.to(torch.float), + ) + else: + w2 = (self.lokr_w2_a @ self.lokr_w2_b).to(torch.float) + + weight = make_kron(w1, w2, self.scale) * multiplier + + # reshape to match original weight shape if needed + if self.is_conv: + if self.conv_mode == "1x1": + weight = weight.unsqueeze(2).unsqueeze(3) + elif self.conv_mode == "flat" and weight.dim() == 2: + weight = weight.reshape(self.out_dim, self.in_dim, *self.kernel_size) + # Tucker and full matrix modes: already 4D from kron + + return weight + + def default_forward(self, x): + diff_weight = self.get_diff_weight() + if self.is_conv: + if self.conv_mode == "1x1": + diff_weight = diff_weight.unsqueeze(2).unsqueeze(3) + return self.org_forward(x) + F.conv2d( + x, diff_weight, stride=self.stride, padding=self.padding, + dilation=self.dilation, groups=self.groups + ) * self.multiplier + else: + return self.org_forward(x) + F.linear(x, diff_weight) * self.multiplier + + def forward(self, x): + if not self.enabled: + return self.org_forward(x) + return self.default_forward(x) + + +def create_network( + multiplier: float, + network_dim: Optional[int], + network_alpha: Optional[float], + vae, + text_encoder, + unet, + neuron_dropout: Optional[float] = None, + **kwargs, +): + """Create a LoKr network. Called by train_network.py via network_module.create_network().""" + if network_dim is None: + network_dim = 4 + if network_alpha is None: + network_alpha = 1.0 + + # handle text_encoder as list + text_encoders = text_encoder if isinstance(text_encoder, list) else [text_encoder] + + # detect architecture + arch_config = detect_arch_config(unet, text_encoders) + + # train LLM adapter + train_llm_adapter = kwargs.get("train_llm_adapter", "false") + if train_llm_adapter is not None: + train_llm_adapter = True if str(train_llm_adapter).lower() == "true" else False + + # exclude patterns + exclude_patterns = kwargs.get("exclude_patterns", None) + if exclude_patterns is None: + exclude_patterns = [] + else: + exclude_patterns = ast.literal_eval(exclude_patterns) + if not isinstance(exclude_patterns, list): + exclude_patterns = [exclude_patterns] + + # add default exclude patterns from arch config + exclude_patterns.extend(arch_config.default_excludes) + + # include patterns + include_patterns = kwargs.get("include_patterns", None) + if include_patterns is not None: + include_patterns = ast.literal_eval(include_patterns) + if not isinstance(include_patterns, list): + include_patterns = [include_patterns] + + # rank/module dropout + rank_dropout = kwargs.get("rank_dropout", None) + if rank_dropout is not None: + rank_dropout = float(rank_dropout) + module_dropout = kwargs.get("module_dropout", None) + if module_dropout is not None: + module_dropout = float(module_dropout) + + # conv dim/alpha for Conv2d 3x3 + conv_lora_dim = kwargs.get("conv_dim", None) + conv_alpha = kwargs.get("conv_alpha", None) + if conv_lora_dim is not None: + conv_lora_dim = int(conv_lora_dim) + if conv_alpha is None: + conv_alpha = 1.0 + else: + conv_alpha = float(conv_alpha) + + # Tucker decomposition for Conv2d 3x3 + use_tucker = kwargs.get("use_tucker", "false") + if use_tucker is not None: + use_tucker = True if str(use_tucker).lower() == "true" else False + + # factor for LoKr + factor = int(kwargs.get("factor", -1)) + + # verbose + verbose = kwargs.get("verbose", "false") + if verbose is not None: + verbose = True if str(verbose).lower() == "true" else False + + # regex-specific learning rates / dimensions + network_reg_lrs = kwargs.get("network_reg_lrs", None) + reg_lrs = _parse_kv_pairs(network_reg_lrs, is_int=False) if network_reg_lrs is not None else None + + network_reg_dims = kwargs.get("network_reg_dims", None) + reg_dims = _parse_kv_pairs(network_reg_dims, is_int=True) if network_reg_dims is not None else None + + network = AdditionalNetwork( + text_encoders, + unet, + arch_config=arch_config, + multiplier=multiplier, + lora_dim=network_dim, + alpha=network_alpha, + dropout=neuron_dropout, + rank_dropout=rank_dropout, + module_dropout=module_dropout, + module_class=LoKrModule, + module_kwargs={"factor": factor, "use_tucker": use_tucker}, + conv_lora_dim=conv_lora_dim, + conv_alpha=conv_alpha, + train_llm_adapter=train_llm_adapter, + exclude_patterns=exclude_patterns, + include_patterns=include_patterns, + reg_dims=reg_dims, + reg_lrs=reg_lrs, + verbose=verbose, + ) + + # LoRA+ support + loraplus_lr_ratio = kwargs.get("loraplus_lr_ratio", None) + loraplus_unet_lr_ratio = kwargs.get("loraplus_unet_lr_ratio", None) + loraplus_text_encoder_lr_ratio = kwargs.get("loraplus_text_encoder_lr_ratio", None) + loraplus_lr_ratio = float(loraplus_lr_ratio) if loraplus_lr_ratio is not None else None + loraplus_unet_lr_ratio = float(loraplus_unet_lr_ratio) if loraplus_unet_lr_ratio is not None else None + loraplus_text_encoder_lr_ratio = float(loraplus_text_encoder_lr_ratio) if loraplus_text_encoder_lr_ratio is not None else None + if loraplus_lr_ratio is not None or loraplus_unet_lr_ratio is not None or loraplus_text_encoder_lr_ratio is not None: + network.set_loraplus_lr_ratio(loraplus_lr_ratio, loraplus_unet_lr_ratio, loraplus_text_encoder_lr_ratio) + + return network + + +def create_network_from_weights(multiplier, file, vae, text_encoder, unet, weights_sd=None, for_inference=False, **kwargs): + """Create a LoKr network from saved weights. Called by train_network.py.""" + if weights_sd is None: + if os.path.splitext(file)[1] == ".safetensors": + from safetensors.torch import load_file + + weights_sd = load_file(file) + else: + weights_sd = torch.load(file, map_location="cpu") + + # detect dim/alpha from weights + modules_dim = {} + modules_alpha = {} + train_llm_adapter = False + use_tucker = False + for key, value in weights_sd.items(): + if "." not in key: + continue + + lora_name = key.split(".")[0] + if "alpha" in key: + modules_alpha[lora_name] = value + elif "lokr_w2_a" in key: + # low-rank mode: dim detection depends on Tucker vs non-Tucker + if "lokr_t2" in key.replace("lokr_w2_a", "lokr_t2") and lora_name + ".lokr_t2" in weights_sd: + # Tucker: w2_a = (rank, out_k) → dim = w2_a.shape[0] + dim = value.shape[0] + else: + # Non-Tucker: w2_a = (out_k, rank) → dim = w2_a.shape[1] + dim = value.shape[1] + modules_dim[lora_name] = dim + elif "lokr_w2" in key and "lokr_w2_a" not in key and "lokr_w2_b" not in key: + # full matrix mode: set dim large enough to trigger full-matrix path + if lora_name not in modules_dim: + modules_dim[lora_name] = max(value.shape[0], value.shape[1]) + + if "lokr_t2" in key: + use_tucker = True + + if "llm_adapter" in lora_name: + train_llm_adapter = True + + # handle text_encoder as list + text_encoders = text_encoder if isinstance(text_encoder, list) else [text_encoder] + + # detect architecture + arch_config = detect_arch_config(unet, text_encoders) + + # extract factor for LoKr + factor = int(kwargs.get("factor", -1)) + + module_class = LoKrInfModule if for_inference else LoKrModule + module_kwargs = {"factor": factor, "use_tucker": use_tucker} + + network = AdditionalNetwork( + text_encoders, + unet, + arch_config=arch_config, + multiplier=multiplier, + modules_dim=modules_dim, + modules_alpha=modules_alpha, + module_class=module_class, + module_kwargs=module_kwargs, + train_llm_adapter=train_llm_adapter, + ) + return network, weights_sd + + +def merge_weights_to_tensor( + model_weight: torch.Tensor, + lora_name: str, + lora_sd: Dict[str, torch.Tensor], + lora_weight_keys: set, + multiplier: float, + calc_device: torch.device, +) -> torch.Tensor: + """Merge LoKr weights directly into a model weight tensor. + + Supports standard LoKr, non-Tucker Conv2d 3x3, and Tucker Conv2d 3x3. + No Module/Network creation needed. Consumed keys are removed from lora_weight_keys. + Returns model_weight unchanged if no matching LoKr keys found. + """ + w1_key = lora_name + ".lokr_w1" + w2_key = lora_name + ".lokr_w2" + w2a_key = lora_name + ".lokr_w2_a" + w2b_key = lora_name + ".lokr_w2_b" + t2_key = lora_name + ".lokr_t2" + alpha_key = lora_name + ".alpha" + + if w1_key not in lora_weight_keys: + return model_weight + + w1 = lora_sd[w1_key].to(calc_device) + + # determine mode: full matrix vs Tucker vs low-rank + has_tucker = t2_key in lora_weight_keys + + if w2a_key in lora_weight_keys: + w2a = lora_sd[w2a_key].to(calc_device) + w2b = lora_sd[w2b_key].to(calc_device) + + if has_tucker: + # Tucker: w2a = (rank, out_k), dim = rank + dim = w2a.shape[0] + else: + # Non-Tucker low-rank: w2a = (out_k, rank), dim = rank + dim = w2a.shape[1] + + consumed_keys = [w1_key, w2a_key, w2b_key, alpha_key] + if has_tucker: + consumed_keys.append(t2_key) + elif w2_key in lora_weight_keys: + # full matrix mode + w2a = None + w2b = None + dim = None + consumed_keys = [w1_key, w2_key, alpha_key] + else: + return model_weight + + alpha = lora_sd.get(alpha_key, None) + if alpha is not None and isinstance(alpha, torch.Tensor): + alpha = alpha.item() + + # compute scale + if w2a is not None: + if alpha is None: + alpha = dim + scale = alpha / dim + else: + # full matrix mode: scale = 1.0 + scale = 1.0 + + original_dtype = model_weight.dtype + if original_dtype.itemsize == 1: # fp8 + model_weight = model_weight.to(torch.float16) + w1 = w1.to(torch.float16) + if w2a is not None: + w2a, w2b = w2a.to(torch.float16), w2b.to(torch.float16) + + # compute w2 + if w2a is not None: + if has_tucker: + t2 = lora_sd[t2_key].to(calc_device) + if original_dtype.itemsize == 1: + t2 = t2.to(torch.float16) + w2 = rebuild_tucker(t2, w2a, w2b) + else: + w2 = w2a @ w2b + else: + w2 = lora_sd[w2_key].to(calc_device) + if original_dtype.itemsize == 1: + w2 = w2.to(torch.float16) + + # ΔW = kron(w1, w2) * scale + diff_weight = make_kron(w1, w2, scale) + + # Reshape diff_weight to match model_weight shape if needed + # (handles Conv2d 1x1 unsqueeze, Conv2d 3x3 non-Tucker reshape, etc.) + if diff_weight.shape != model_weight.shape: + diff_weight = diff_weight.reshape(model_weight.shape) + + model_weight = model_weight + multiplier * diff_weight + + if original_dtype.itemsize == 1: + model_weight = model_weight.to(original_dtype) + + # remove consumed keys + for key in consumed_keys: + lora_weight_keys.discard(key) + + return model_weight diff --git a/networks/lora_anima.py b/networks/lora_anima.py index 9413e8c89..4cff28195 100644 --- a/networks/lora_anima.py +++ b/networks/lora_anima.py @@ -1,11 +1,11 @@ # LoRA network module for Anima import ast +import math import os import re from typing import Dict, List, Optional, Tuple, Type, Union import torch from library.utils import setup_logging -from networks.lora_flux import LoRAModule, LoRAInfModule import logging @@ -13,6 +13,213 @@ logger = logging.getLogger(__name__) +class LoRAModule(torch.nn.Module): + """ + replaces forward method of the original Linear, instead of replacing the original Linear module. + """ + + def __init__( + self, + lora_name, + org_module: torch.nn.Module, + multiplier=1.0, + lora_dim=4, + alpha=1, + dropout=None, + rank_dropout=None, + module_dropout=None, + ): + """ + if alpha == 0 or None, alpha is rank (no scaling). + """ + super().__init__() + self.lora_name = lora_name + + if org_module.__class__.__name__ == "Conv2d": + in_dim = org_module.in_channels + out_dim = org_module.out_channels + else: + in_dim = org_module.in_features + out_dim = org_module.out_features + + self.lora_dim = lora_dim + + if org_module.__class__.__name__ == "Conv2d": + kernel_size = org_module.kernel_size + stride = org_module.stride + padding = org_module.padding + self.lora_down = torch.nn.Conv2d(in_dim, self.lora_dim, kernel_size, stride, padding, bias=False) + self.lora_up = torch.nn.Conv2d(self.lora_dim, out_dim, (1, 1), (1, 1), bias=False) + else: + self.lora_down = torch.nn.Linear(in_dim, self.lora_dim, bias=False) + self.lora_up = torch.nn.Linear(self.lora_dim, out_dim, bias=False) + + torch.nn.init.kaiming_uniform_(self.lora_down.weight, a=math.sqrt(5)) + torch.nn.init.zeros_(self.lora_up.weight) + + if type(alpha) == torch.Tensor: + alpha = alpha.detach().float().numpy() # without casting, bf16 causes error + alpha = self.lora_dim if alpha is None or alpha == 0 else alpha + self.scale = alpha / self.lora_dim + self.register_buffer("alpha", torch.tensor(alpha)) # 定数として扱える + + # same as microsoft's + self.multiplier = multiplier + self.org_module = org_module # remove in applying + self.dropout = dropout + self.rank_dropout = rank_dropout + self.module_dropout = module_dropout + + def apply_to(self): + self.org_forward = self.org_module.forward + self.org_module.forward = self.forward + + del self.org_module + + def forward(self, x): + org_forwarded = self.org_forward(x) + + # module dropout + if self.module_dropout is not None and self.training: + if torch.rand(1) < self.module_dropout: + return org_forwarded + + lx = self.lora_down(x) + + # normal dropout + if self.dropout is not None and self.training: + lx = torch.nn.functional.dropout(lx, p=self.dropout) + + # rank dropout + if self.rank_dropout is not None and self.training: + mask = torch.rand((lx.size(0), self.lora_dim), device=lx.device) > self.rank_dropout + if isinstance(self.lora_down, torch.nn.Conv2d): + # Conv2d: lora_dim is at dim 1 → [B, dim, 1, 1] + mask = mask.unsqueeze(-1).unsqueeze(-1) + else: + # Linear: lora_dim is at last dim → [B, 1, ..., 1, dim] + for _ in range(len(lx.size()) - 2): + mask = mask.unsqueeze(1) + lx = lx * mask + + # scaling for rank dropout: treat as if the rank is changed + # maskから計算することも考えられるが、augmentation的な効果を期待してrank_dropoutを用いる + scale = self.scale * (1.0 / (1.0 - self.rank_dropout)) # redundant for readability + else: + scale = self.scale + + lx = self.lora_up(lx) + + return org_forwarded + lx * self.multiplier * scale + + @property + def device(self): + return next(self.parameters()).device + + @property + def dtype(self): + return next(self.parameters()).dtype + + +class LoRAInfModule(LoRAModule): + def __init__( + self, + lora_name, + org_module: torch.nn.Module, + multiplier=1.0, + lora_dim=4, + alpha=1, + **kwargs, + ): + # no dropout for inference + super().__init__(lora_name, org_module, multiplier, lora_dim, alpha) + + self.org_module_ref = [org_module] # 後から参照できるように + self.enabled = True + self.network: LoRANetwork = None + + def set_network(self, network): + self.network = network + + # freezeしてマージする + def merge_to(self, sd, dtype, device): + # extract weight from org_module + org_sd = self.org_module.state_dict() + weight = org_sd["weight"] + org_dtype = weight.dtype + org_device = weight.device + weight = weight.to(torch.float) # calc in float + + if dtype is None: + dtype = org_dtype + if device is None: + device = org_device + + # get up/down weight + down_weight = sd["lora_down.weight"].to(torch.float).to(device) + up_weight = sd["lora_up.weight"].to(torch.float).to(device) + + # merge weight + if len(weight.size()) == 2: + # linear + weight = weight + self.multiplier * (up_weight @ down_weight) * self.scale + elif down_weight.size()[2:4] == (1, 1): + # conv2d 1x1 + weight = ( + weight + + self.multiplier + * (up_weight.squeeze(3).squeeze(2) @ down_weight.squeeze(3).squeeze(2)).unsqueeze(2).unsqueeze(3) + * self.scale + ) + else: + # conv2d 3x3 + conved = torch.nn.functional.conv2d(down_weight.permute(1, 0, 2, 3), up_weight).permute(1, 0, 2, 3) + # logger.info(conved.size(), weight.size(), module.stride, module.padding) + weight = weight + self.multiplier * conved * self.scale + + # set weight to org_module + org_sd["weight"] = weight.to(dtype) + self.org_module.load_state_dict(org_sd) + + # 復元できるマージのため、このモジュールのweightを返す + def get_weight(self, multiplier=None): + if multiplier is None: + multiplier = self.multiplier + + # get up/down weight from module + up_weight = self.lora_up.weight.to(torch.float) + down_weight = self.lora_down.weight.to(torch.float) + + # pre-calculated weight + if len(down_weight.size()) == 2: + # linear + weight = self.multiplier * (up_weight @ down_weight) * self.scale + elif down_weight.size()[2:4] == (1, 1): + # conv2d 1x1 + weight = ( + self.multiplier + * (up_weight.squeeze(3).squeeze(2) @ down_weight.squeeze(3).squeeze(2)).unsqueeze(2).unsqueeze(3) + * self.scale + ) + else: + # conv2d 3x3 + conved = torch.nn.functional.conv2d(down_weight.permute(1, 0, 2, 3), up_weight).permute(1, 0, 2, 3) + weight = self.multiplier * conved * self.scale + + return weight + + def default_forward(self, x): + # logger.info(f"default_forward {self.lora_name} {x.size()}") + lx = self.lora_down(x) + lx = self.lora_up(lx) + return self.org_forward(x) + lx * self.multiplier * self.scale + + def forward(self, x): + if not self.enabled: + return self.org_forward(x) + return self.default_forward(x) + + def create_network( multiplier: float, network_dim: Optional[int], diff --git a/networks/network_base.py b/networks/network_base.py new file mode 100644 index 000000000..d9697562e --- /dev/null +++ b/networks/network_base.py @@ -0,0 +1,545 @@ +# Shared network base for additional network modules (like LyCORIS-family modules: LoHa, LoKr, etc). +# Provides architecture detection and a generic AdditionalNetwork class. + +import os +import re +from dataclasses import dataclass, field +from typing import Dict, List, Optional, Tuple, Type, Union + +import torch +from library.sdxl_original_unet import InferSdxlUNet2DConditionModel +from library.utils import setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + + +@dataclass +class ArchConfig: + unet_target_modules: List[str] + te_target_modules: List[str] + unet_prefix: str + te_prefixes: List[str] + default_excludes: List[str] = field(default_factory=list) + adapter_target_modules: List[str] = field(default_factory=list) + unet_conv_target_modules: List[str] = field(default_factory=list) + + +def detect_arch_config(unet, text_encoders) -> ArchConfig: + """Detect architecture from model structure and return ArchConfig.""" + from library.sdxl_original_unet import SdxlUNet2DConditionModel + + # Check SDXL first + if unet is not None and ( + issubclass(unet.__class__, SdxlUNet2DConditionModel) or issubclass(unet.__class__, InferSdxlUNet2DConditionModel) + ): + return ArchConfig( + unet_target_modules=["Transformer2DModel"], + te_target_modules=["CLIPAttention", "CLIPSdpaAttention", "CLIPMLP"], + unet_prefix="lora_unet", + te_prefixes=["lora_te1", "lora_te2"], + default_excludes=[], + unet_conv_target_modules=["ResnetBlock2D", "Downsample2D", "Upsample2D"], + ) + + # Check Anima: look for Block class in named_modules + module_class_names = set() + if unet is not None: + for module in unet.modules(): + module_class_names.add(type(module).__name__) + + if "Block" in module_class_names: + return ArchConfig( + unet_target_modules=["Block", "PatchEmbed", "TimestepEmbedding", "FinalLayer"], + te_target_modules=["Qwen3Attention", "Qwen3MLP", "Qwen3SdpaAttention", "Qwen3FlashAttention2"], + unet_prefix="lora_unet", + te_prefixes=["lora_te"], + default_excludes=[r".*(_modulation|_norm|_embedder|final_layer).*"], + adapter_target_modules=["LLMAdapterTransformerBlock"], + ) + + raise ValueError(f"Cannot auto-detect architecture for LyCORIS. Module classes found: {sorted(module_class_names)}") + + +def _parse_kv_pairs(kv_pair_str: str, is_int: bool) -> Dict[str, Union[int, float]]: + """Parse a string of key-value pairs separated by commas.""" + pairs = {} + for pair in kv_pair_str.split(","): + pair = pair.strip() + if not pair: + continue + if "=" not in pair: + logger.warning(f"Invalid format: {pair}, expected 'key=value'") + continue + key, value = pair.split("=", 1) + key = key.strip() + value = value.strip() + try: + pairs[key] = int(value) if is_int else float(value) + except ValueError: + logger.warning(f"Invalid value for {key}: {value}") + return pairs + + +class AdditionalNetwork(torch.nn.Module): + """Generic Additional network that supports LoHa, LoKr, and similar module types. + + Constructed with a module_class parameter to inject the specific module type. + Based on the lora_anima.py LoRANetwork, generalized for multiple architectures. + """ + + def __init__( + self, + text_encoders: list, + unet, + arch_config: ArchConfig, + multiplier: float = 1.0, + lora_dim: int = 4, + alpha: float = 1, + dropout: Optional[float] = None, + rank_dropout: Optional[float] = None, + module_dropout: Optional[float] = None, + module_class: Type[torch.nn.Module] = None, + module_kwargs: Optional[Dict] = None, + modules_dim: Optional[Dict[str, int]] = None, + modules_alpha: Optional[Dict[str, int]] = None, + conv_lora_dim: Optional[int] = None, + conv_alpha: Optional[float] = None, + exclude_patterns: Optional[List[str]] = None, + include_patterns: Optional[List[str]] = None, + reg_dims: Optional[Dict[str, int]] = None, + reg_lrs: Optional[Dict[str, float]] = None, + train_llm_adapter: bool = False, + verbose: bool = False, + ) -> None: + super().__init__() + assert module_class is not None, "module_class must be specified" + + self.multiplier = multiplier + self.lora_dim = lora_dim + self.alpha = alpha + self.dropout = dropout + self.rank_dropout = rank_dropout + self.module_dropout = module_dropout + self.conv_lora_dim = conv_lora_dim + self.conv_alpha = conv_alpha + self.train_llm_adapter = train_llm_adapter + self.reg_dims = reg_dims + self.reg_lrs = reg_lrs + self.arch_config = arch_config + + self.loraplus_lr_ratio = None + self.loraplus_unet_lr_ratio = None + self.loraplus_text_encoder_lr_ratio = None + + if module_kwargs is None: + module_kwargs = {} + + if modules_dim is not None: + logger.info(f"create {module_class.__name__} network from weights") + else: + logger.info(f"create {module_class.__name__} network. base dim (rank): {lora_dim}, alpha: {alpha}") + logger.info( + f"neuron dropout: p={self.dropout}, rank dropout: p={self.rank_dropout}, module dropout: p={self.module_dropout}" + ) + + # compile regular expressions + def str_to_re_patterns(patterns: Optional[List[str]]) -> List[re.Pattern]: + re_patterns = [] + if patterns is not None: + for pattern in patterns: + try: + re_pattern = re.compile(pattern) + except re.error as e: + logger.error(f"Invalid pattern '{pattern}': {e}") + continue + re_patterns.append(re_pattern) + return re_patterns + + exclude_re_patterns = str_to_re_patterns(exclude_patterns) + include_re_patterns = str_to_re_patterns(include_patterns) + + # create module instances + def create_modules( + prefix: str, + root_module: torch.nn.Module, + target_replace_modules: List[str], + default_dim: Optional[int] = None, + ) -> Tuple[List[torch.nn.Module], List[str]]: + loras = [] + skipped = [] + for name, module in root_module.named_modules(): + if target_replace_modules is None or module.__class__.__name__ in target_replace_modules: + if target_replace_modules is None: + module = root_module + + for child_name, child_module in module.named_modules(): + is_linear = child_module.__class__.__name__ == "Linear" + is_conv2d = child_module.__class__.__name__ == "Conv2d" + is_conv2d_1x1 = is_conv2d and child_module.kernel_size == (1, 1) + + if is_linear or is_conv2d: + original_name = (name + "." if name else "") + child_name + lora_name = f"{prefix}.{original_name}".replace(".", "_") + + # exclude/include filter + excluded = any(pattern.fullmatch(original_name) for pattern in exclude_re_patterns) + included = any(pattern.fullmatch(original_name) for pattern in include_re_patterns) + if excluded and not included: + if verbose: + logger.info(f"exclude: {original_name}") + continue + + dim = None + alpha_val = None + + if modules_dim is not None: + if lora_name in modules_dim: + dim = modules_dim[lora_name] + alpha_val = modules_alpha[lora_name] + else: + if self.reg_dims is not None: + for reg, d in self.reg_dims.items(): + if re.fullmatch(reg, original_name): + dim = d + alpha_val = self.alpha + logger.info(f"Module {original_name} matched with regex '{reg}' -> dim: {dim}") + break + # fallback to default dim + if dim is None: + if is_linear or is_conv2d_1x1: + dim = default_dim if default_dim is not None else self.lora_dim + alpha_val = self.alpha + elif is_conv2d and self.conv_lora_dim is not None: + dim = self.conv_lora_dim + alpha_val = self.conv_alpha + + if dim is None or dim == 0: + if is_linear or is_conv2d_1x1: + skipped.append(lora_name) + continue + + lora = module_class( + lora_name, + child_module, + self.multiplier, + dim, + alpha_val, + dropout=dropout, + rank_dropout=rank_dropout, + module_dropout=module_dropout, + **module_kwargs, + ) + lora.original_name = original_name + loras.append(lora) + + if target_replace_modules is None: + break + return loras, skipped + + # Create modules for text encoders + self.text_encoder_loras: List[torch.nn.Module] = [] + skipped_te = [] + if text_encoders is not None: + for i, text_encoder in enumerate(text_encoders): + if text_encoder is None: + continue + + # Determine prefix for this text encoder + if i < len(arch_config.te_prefixes): + te_prefix = arch_config.te_prefixes[i] + else: + te_prefix = arch_config.te_prefixes[0] + + logger.info(f"create {module_class.__name__} for Text Encoder {i+1} (prefix={te_prefix}):") + te_loras, te_skipped = create_modules(te_prefix, text_encoder, arch_config.te_target_modules) + logger.info(f"create {module_class.__name__} for Text Encoder {i+1}: {len(te_loras)} modules.") + self.text_encoder_loras.extend(te_loras) + skipped_te += te_skipped + + # Create modules for UNet/DiT + target_modules = list(arch_config.unet_target_modules) + if modules_dim is not None or conv_lora_dim is not None: + target_modules.extend(arch_config.unet_conv_target_modules) + if train_llm_adapter and arch_config.adapter_target_modules: + target_modules.extend(arch_config.adapter_target_modules) + + self.unet_loras: List[torch.nn.Module] + self.unet_loras, skipped_un = create_modules(arch_config.unet_prefix, unet, target_modules) + logger.info(f"create {module_class.__name__} for UNet/DiT: {len(self.unet_loras)} modules.") + + if verbose: + for lora in self.unet_loras: + logger.info(f"\t{lora.lora_name:60} {lora.lora_dim}, {lora.alpha}") + + skipped = skipped_te + skipped_un + if verbose and len(skipped) > 0: + logger.warning(f"dim (rank) is 0, {len(skipped)} modules are skipped:") + for name in skipped: + logger.info(f"\t{name}") + + # assertion: no duplicate names + names = set() + for lora in self.text_encoder_loras + self.unet_loras: + assert lora.lora_name not in names, f"duplicated lora name: {lora.lora_name}" + names.add(lora.lora_name) + + def set_multiplier(self, multiplier): + self.multiplier = multiplier + for lora in self.text_encoder_loras + self.unet_loras: + lora.multiplier = self.multiplier + + def set_enabled(self, is_enabled): + for lora in self.text_encoder_loras + self.unet_loras: + lora.enabled = is_enabled + + def load_weights(self, file): + if os.path.splitext(file)[1] == ".safetensors": + from safetensors.torch import load_file + + weights_sd = load_file(file) + else: + weights_sd = torch.load(file, map_location="cpu") + + info = self.load_state_dict(weights_sd, False) + return info + + def apply_to(self, text_encoders, unet, apply_text_encoder=True, apply_unet=True): + if apply_text_encoder: + logger.info(f"enable modules for text encoder: {len(self.text_encoder_loras)} modules") + else: + self.text_encoder_loras = [] + + if apply_unet: + logger.info(f"enable modules for UNet/DiT: {len(self.unet_loras)} modules") + else: + self.unet_loras = [] + + for lora in self.text_encoder_loras + self.unet_loras: + lora.apply_to() + self.add_module(lora.lora_name, lora) + + def is_mergeable(self): + return True + + def merge_to(self, text_encoders, unet, weights_sd, dtype=None, device=None): + apply_text_encoder = apply_unet = False + te_prefixes = self.arch_config.te_prefixes + unet_prefix = self.arch_config.unet_prefix + + for key in weights_sd.keys(): + if any(key.startswith(p) for p in te_prefixes): + apply_text_encoder = True + elif key.startswith(unet_prefix): + apply_unet = True + + if apply_text_encoder: + logger.info("enable modules for text encoder") + else: + self.text_encoder_loras = [] + + if apply_unet: + logger.info("enable modules for UNet/DiT") + else: + self.unet_loras = [] + + for lora in self.text_encoder_loras + self.unet_loras: + sd_for_lora = {} + for key in weights_sd.keys(): + if key.startswith(lora.lora_name): + sd_for_lora[key[len(lora.lora_name) + 1 :]] = weights_sd[key] + lora.merge_to(sd_for_lora, dtype, device) + + logger.info("weights are merged") + + def set_loraplus_lr_ratio(self, loraplus_lr_ratio, loraplus_unet_lr_ratio, loraplus_text_encoder_lr_ratio): + self.loraplus_lr_ratio = loraplus_lr_ratio + self.loraplus_unet_lr_ratio = loraplus_unet_lr_ratio + self.loraplus_text_encoder_lr_ratio = loraplus_text_encoder_lr_ratio + + logger.info(f"LoRA+ UNet LR Ratio: {self.loraplus_unet_lr_ratio or self.loraplus_lr_ratio}") + logger.info(f"LoRA+ Text Encoder LR Ratio: {self.loraplus_text_encoder_lr_ratio or self.loraplus_lr_ratio}") + + def prepare_optimizer_params_with_multiple_te_lrs(self, text_encoder_lr, unet_lr, default_lr): + if text_encoder_lr is None or (isinstance(text_encoder_lr, list) and len(text_encoder_lr) == 0): + text_encoder_lr = [default_lr] + elif isinstance(text_encoder_lr, float) or isinstance(text_encoder_lr, int): + text_encoder_lr = [float(text_encoder_lr)] + elif len(text_encoder_lr) == 1: + pass # already a list with one element + + self.requires_grad_(True) + + all_params = [] + lr_descriptions = [] + + def assemble_params(loras, lr, loraplus_ratio): + param_groups = {"lora": {}, "plus": {}} + reg_groups = {} + reg_lrs_list = list(self.reg_lrs.items()) if self.reg_lrs is not None else [] + + for lora in loras: + matched_reg_lr = None + for i, (regex_str, reg_lr) in enumerate(reg_lrs_list): + if re.fullmatch(regex_str, lora.original_name): + matched_reg_lr = (i, reg_lr) + logger.info(f"Module {lora.original_name} matched regex '{regex_str}' -> LR {reg_lr}") + break + + for name, param in lora.named_parameters(): + if matched_reg_lr is not None: + reg_idx, reg_lr = matched_reg_lr + group_key = f"reg_lr_{reg_idx}" + if group_key not in reg_groups: + reg_groups[group_key] = {"lora": {}, "plus": {}, "lr": reg_lr} + # LoRA+ detection: check for "up" weight parameters + if loraplus_ratio is not None and self._is_plus_param(name): + reg_groups[group_key]["plus"][f"{lora.lora_name}.{name}"] = param + else: + reg_groups[group_key]["lora"][f"{lora.lora_name}.{name}"] = param + continue + + if loraplus_ratio is not None and self._is_plus_param(name): + param_groups["plus"][f"{lora.lora_name}.{name}"] = param + else: + param_groups["lora"][f"{lora.lora_name}.{name}"] = param + + params = [] + descriptions = [] + for group_key, group in reg_groups.items(): + reg_lr = group["lr"] + for key in ("lora", "plus"): + param_data = {"params": group[key].values()} + if len(param_data["params"]) == 0: + continue + if key == "plus": + param_data["lr"] = reg_lr * loraplus_ratio if loraplus_ratio is not None else reg_lr + else: + param_data["lr"] = reg_lr + if param_data.get("lr", None) == 0 or param_data.get("lr", None) is None: + logger.info("NO LR skipping!") + continue + params.append(param_data) + desc = f"reg_lr_{group_key.split('_')[-1]}" + descriptions.append(desc + (" plus" if key == "plus" else "")) + + for key in param_groups.keys(): + param_data = {"params": param_groups[key].values()} + if len(param_data["params"]) == 0: + continue + if lr is not None: + if key == "plus": + param_data["lr"] = lr * loraplus_ratio + else: + param_data["lr"] = lr + if param_data.get("lr", None) == 0 or param_data.get("lr", None) is None: + logger.info("NO LR skipping!") + continue + params.append(param_data) + descriptions.append("plus" if key == "plus" else "") + return params, descriptions + + if self.text_encoder_loras: + loraplus_ratio = self.loraplus_text_encoder_lr_ratio or self.loraplus_lr_ratio + # Group TE loras by prefix + for te_idx, te_prefix in enumerate(self.arch_config.te_prefixes): + te_loras = [lora for lora in self.text_encoder_loras if lora.lora_name.startswith(te_prefix)] + if len(te_loras) > 0: + te_lr = text_encoder_lr[te_idx] if te_idx < len(text_encoder_lr) else text_encoder_lr[0] + logger.info(f"Text Encoder {te_idx+1} ({te_prefix}): {len(te_loras)} modules, LR {te_lr}") + params, descriptions = assemble_params(te_loras, te_lr, loraplus_ratio) + all_params.extend(params) + lr_descriptions.extend([f"textencoder {te_idx+1}" + (" " + d if d else "") for d in descriptions]) + + if self.unet_loras: + params, descriptions = assemble_params( + self.unet_loras, + unet_lr if unet_lr is not None else default_lr, + self.loraplus_unet_lr_ratio or self.loraplus_lr_ratio, + ) + all_params.extend(params) + lr_descriptions.extend(["unet" + (" " + d if d else "") for d in descriptions]) + + return all_params, lr_descriptions + + def _is_plus_param(self, name: str) -> bool: + """Check if a parameter name corresponds to a 'plus' (higher LR) param for LoRA+. + + For LoRA: lora_up. For LoHa: hada_w2_a (the second pair). For LoKr: lokr_w1 (the scale factor). + Override in subclass if needed. Default: check for common 'up' patterns. + """ + return "lora_up" in name or "hada_w2_a" in name or "lokr_w1" in name + + def enable_gradient_checkpointing(self): + pass # not supported + + def prepare_grad_etc(self, text_encoder, unet): + self.requires_grad_(True) + + def on_epoch_start(self, text_encoder, unet): + self.train() + + def get_trainable_params(self): + return self.parameters() + + def save_weights(self, file, dtype, metadata): + if metadata is not None and len(metadata) == 0: + metadata = None + + state_dict = self.state_dict() + + if dtype is not None: + for key in list(state_dict.keys()): + v = state_dict[key] + v = v.detach().clone().to("cpu").to(dtype) + state_dict[key] = v + + if os.path.splitext(file)[1] == ".safetensors": + from safetensors.torch import save_file + from library import train_util + + if metadata is None: + metadata = {} + model_hash, legacy_hash = train_util.precalculate_safetensors_hashes(state_dict, metadata) + metadata["sshs_model_hash"] = model_hash + metadata["sshs_legacy_hash"] = legacy_hash + + save_file(state_dict, file, metadata) + else: + torch.save(state_dict, file) + + def backup_weights(self): + loras = self.text_encoder_loras + self.unet_loras + for lora in loras: + org_module = lora.org_module_ref[0] + if not hasattr(org_module, "_lora_org_weight"): + sd = org_module.state_dict() + org_module._lora_org_weight = sd["weight"].detach().clone() + org_module._lora_restored = True + + def restore_weights(self): + loras = self.text_encoder_loras + self.unet_loras + for lora in loras: + org_module = lora.org_module_ref[0] + if not org_module._lora_restored: + sd = org_module.state_dict() + sd["weight"] = org_module._lora_org_weight + org_module.load_state_dict(sd) + org_module._lora_restored = True + + def pre_calculation(self): + loras = self.text_encoder_loras + self.unet_loras + for lora in loras: + org_module = lora.org_module_ref[0] + sd = org_module.state_dict() + + org_weight = sd["weight"] + lora_weight = lora.get_weight().to(org_weight.device, dtype=org_weight.dtype) + sd["weight"] = org_weight + lora_weight + assert sd["weight"].shape == org_weight.shape + org_module.load_state_dict(sd) + + org_module._lora_restored = False + lora.enabled = False From e1aedceffa87059dcac0e816132a62fcbd3c123b Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Thu, 26 Feb 2026 08:18:45 +0900 Subject: [PATCH 732/748] fix: rename character_tags to img_character_tags to fix unboundlocalerror --- finetune/tag_images_by_wd14_tagger.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/finetune/tag_images_by_wd14_tagger.py b/finetune/tag_images_by_wd14_tagger.py index b4019819e..7840280c5 100644 --- a/finetune/tag_images_by_wd14_tagger.py +++ b/finetune/tag_images_by_wd14_tagger.py @@ -404,7 +404,7 @@ def run_batch(path_imgs: tuple[list[str], np.ndarray, list[tuple[int, int]]]) -> rating_tag = None quality_max_prob = -1 quality_tag = None - character_tags = [] + img_character_tags = [] min_thres = min( args.thresh, @@ -449,7 +449,7 @@ def run_batch(path_imgs: tuple[list[str], np.ndarray, list[tuple[int, int]]]) -> tag_freq[tag_name] = tag_freq.get(tag_name, 0) + 1 character_tag_text += caption_separator + tag_name if args.character_tags_first: # we separate character tags - character_tags.append((tag_name, p)) + img_character_tags.append((tag_name, p)) else: combined_tags.append((tag_name, p)) elif ( @@ -464,9 +464,9 @@ def run_batch(path_imgs: tuple[list[str], np.ndarray, list[tuple[int, int]]]) -> # sort by probability combined_tags.sort(key=lambda x: x[1], reverse=True) - if character_tags: - character_tags.sort(key=lambda x: x[1], reverse=True) - combined_tags = character_tags + combined_tags + if img_character_tags: + img_character_tags.sort(key=lambda x: x[1], reverse=True) + combined_tags = img_character_tags + combined_tags combined_tags = [t[0] for t in combined_tags] # remove probability if quality_tag is not None: From 1bd0b0faf143024f15ed38bc13db84bdbf7ed4f0 Mon Sep 17 00:00:00 2001 From: kozistr Date: Mon, 2 Mar 2026 14:39:48 +0900 Subject: [PATCH 733/748] build(deps): bump pytorch-optimizer into 3.10.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index ce1ebd8f1..bb5d2cd08 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,7 +9,7 @@ einops==0.7.0 bitsandbytes lion-pytorch==0.2.3 schedulefree==1.4 -pytorch-optimizer==3.9.0 +pytorch-optimizer==3.10.0 prodigy-plus-schedule-free==1.9.2 prodigyopt==1.1.2 tensorboard From 1cd95b2d8b3b994214681ab30cbdc74f9abc44ef Mon Sep 17 00:00:00 2001 From: woctordho Date: Thu, 19 Mar 2026 07:43:39 +0800 Subject: [PATCH 734/748] Add `skip_image_resolution` to deduplicate multi-resolution dataset (#2273) * Add min_orig_resolution and max_orig_resolution * Rename min_orig_resolution to skip_image_resolution; remove max_orig_resolution * Change skip_image_resolution to tuple * Move filtering to __init__ * Minor fix --- library/config_util.py | 6 ++- library/train_util.py | 84 ++++++++++++++++++++++++++++++++++++++---- train_network.py | 2 + 3 files changed, 84 insertions(+), 8 deletions(-) diff --git a/library/config_util.py b/library/config_util.py index 53727f252..b31f96657 100644 --- a/library/config_util.py +++ b/library/config_util.py @@ -108,6 +108,7 @@ class BaseDatasetParams: validation_seed: Optional[int] = None validation_split: float = 0.0 resize_interpolation: Optional[str] = None + skip_image_resolution: Optional[Tuple[int, int]] = None @dataclass class DreamBoothDatasetParams(BaseDatasetParams): @@ -118,7 +119,7 @@ class DreamBoothDatasetParams(BaseDatasetParams): bucket_reso_steps: int = 64 bucket_no_upscale: bool = False prior_loss_weight: float = 1.0 - + @dataclass class FineTuningDatasetParams(BaseDatasetParams): batch_size: int = 1 @@ -244,6 +245,7 @@ def __validate_and_convert_scalar_or_twodim(klass, value: Union[float, Sequence] "resolution": functools.partial(__validate_and_convert_scalar_or_twodim.__func__, int), "network_multiplier": float, "resize_interpolation": str, + "skip_image_resolution": functools.partial(__validate_and_convert_scalar_or_twodim.__func__, int), } # options handled by argparse but not handled by user config @@ -256,6 +258,7 @@ def __validate_and_convert_scalar_or_twodim(klass, value: Union[float, Sequence] ARGPARSE_NULLABLE_OPTNAMES = [ "face_crop_aug_range", "resolution", + "skip_image_resolution", ] # prepare map because option name may differ among argparse and user config ARGPARSE_OPTNAME_TO_CONFIG_OPTNAME = { @@ -528,6 +531,7 @@ def print_info(_datasets, dataset_type: str): [{dataset_type} {i}] batch_size: {dataset.batch_size} resolution: {(dataset.width, dataset.height)} + skip_image_resolution: {dataset.skip_image_resolution} resize_interpolation: {dataset.resize_interpolation} enable_bucket: {dataset.enable_bucket} """) diff --git a/library/train_util.py b/library/train_util.py index d8577b9d7..b65f06b9b 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -687,6 +687,7 @@ def __init__( network_multiplier: float, debug_dataset: bool, resize_interpolation: Optional[str] = None, + skip_image_resolution: Optional[Tuple[int, int]] = None, ) -> None: super().__init__() @@ -727,6 +728,8 @@ def __init__( ), f'Resize interpolation "{resize_interpolation}" is not a valid interpolation' self.resize_interpolation = resize_interpolation + self.skip_image_resolution = skip_image_resolution + self.image_data: Dict[str, ImageInfo] = {} self.image_to_subset: Dict[str, Union[DreamBoothSubset, FineTuningSubset]] = {} @@ -1915,8 +1918,15 @@ def __init__( validation_split: float, validation_seed: Optional[int], resize_interpolation: Optional[str], + skip_image_resolution: Optional[Tuple[int, int]] = None, ) -> None: - super().__init__(resolution, network_multiplier, debug_dataset, resize_interpolation) + super().__init__( + resolution, + network_multiplier, + debug_dataset, + resize_interpolation, + skip_image_resolution, + ) assert resolution is not None, f"resolution is required / resolution(解像度)指定は必須です" @@ -2034,6 +2044,22 @@ def load_dreambooth_dir(subset: DreamBoothSubset): size_set_count += 1 logger.info(f"set image size from cache files: {size_set_count}/{len(img_paths)}") + if self.skip_image_resolution is not None: + filtered_img_paths = [] + filtered_sizes = [] + skip_image_area = self.skip_image_resolution[0] * self.skip_image_resolution[1] + for img_path, size in zip(img_paths, sizes): + if size is None: # no latents cache file, get image size by reading image file (slow) + size = self.get_image_size(img_path) + if size[0] * size[1] <= skip_image_area: + continue + filtered_img_paths.append(img_path) + filtered_sizes.append(size) + if len(filtered_img_paths) < len(img_paths): + logger.info(f"filtered {len(img_paths) - len(filtered_img_paths)} images by original resolution from {subset.image_dir}") + img_paths = filtered_img_paths + sizes = filtered_sizes + # We want to create a training and validation split. This should be improved in the future # to allow a clearer distinction between training and validation. This can be seen as a # short-term solution to limit what is necessary to implement validation datasets @@ -2059,7 +2085,7 @@ def load_dreambooth_dir(subset: DreamBoothSubset): logger.info(f"found directory {subset.image_dir} contains {len(img_paths)} image files") if use_cached_info_for_subset: - captions = [meta["caption"] for meta in metas.values()] + captions = [metas[img_path]["caption"] for img_path in img_paths] missing_captions = [img_path for img_path, caption in zip(img_paths, captions) if caption is None or caption == ""] else: # 画像ファイルごとにプロンプトを読み込み、もしあればそちらを使う @@ -2200,8 +2226,15 @@ def __init__( validation_seed: int, validation_split: float, resize_interpolation: Optional[str], + skip_image_resolution: Optional[Tuple[int, int]] = None, ) -> None: - super().__init__(resolution, network_multiplier, debug_dataset, resize_interpolation) + super().__init__( + resolution, + network_multiplier, + debug_dataset, + resize_interpolation, + skip_image_resolution, + ) self.batch_size = batch_size self.size = min(self.width, self.height) # 短いほう @@ -2297,6 +2330,7 @@ def __init__( tags_list = [] size_set_from_metadata = 0 size_set_from_cache_filename = 0 + num_filtered = 0 for image_key in image_keys_sorted_by_length_desc: img_md = metadata[image_key] caption = img_md.get("caption") @@ -2355,6 +2389,16 @@ def __init__( image_info.image_size = (w, h) size_set_from_cache_filename += 1 + if self.skip_image_resolution is not None: + size = image_info.image_size + if size is None: # no image size in metadata or latents cache file, get image size by reading image file (slow) + size = self.get_image_size(abs_path) + image_info.image_size = size + skip_image_area = self.skip_image_resolution[0] * self.skip_image_resolution[1] + if size[0] * size[1] <= skip_image_area: + num_filtered += 1 + continue + self.register_image(image_info, subset) if size_set_from_cache_filename > 0: @@ -2363,6 +2407,8 @@ def __init__( ) if size_set_from_metadata > 0: logger.info(f"set image size from metadata: {size_set_from_metadata}/{len(image_keys_sorted_by_length_desc)}") + if num_filtered > 0: + logger.info(f"filtered {num_filtered} images by original resolution from {subset.metadata_file}") self.num_train_images += len(metadata) * subset.num_repeats # TODO do not record tag freq when no tag @@ -2387,8 +2433,15 @@ def __init__( validation_split: float, validation_seed: Optional[int], resize_interpolation: Optional[str] = None, + skip_image_resolution: Optional[Tuple[int, int]] = None, ) -> None: - super().__init__(resolution, network_multiplier, debug_dataset, resize_interpolation) + super().__init__( + resolution, + network_multiplier, + debug_dataset, + resize_interpolation, + skip_image_resolution, + ) db_subsets = [] for subset in subsets: @@ -2440,6 +2493,7 @@ def __init__( validation_split, validation_seed, resize_interpolation, + skip_image_resolution, ) # config_util等から参照される値をいれておく(若干微妙なのでなんとかしたい) @@ -2487,9 +2541,10 @@ def __init__( assert ( len(missing_imgs) == 0 ), f"missing conditioning data for {len(missing_imgs)} images / 制御用画像が見つかりませんでした: {missing_imgs}" - assert ( - len(extra_imgs) == 0 - ), f"extra conditioning data for {len(extra_imgs)} images / 余分な制御用画像があります: {extra_imgs}" + if len(extra_imgs) > 0: + logger.warning( + f"extra conditioning data for {len(extra_imgs)} images / 余分な制御用画像があります: {extra_imgs}" + ) self.conditioning_image_transforms = IMAGE_TRANSFORMS @@ -4601,6 +4656,13 @@ def add_dataset_arguments( help="maximum resolution for buckets, must be divisible by bucket_reso_steps " " / bucketの最大解像度、bucket_reso_stepsで割り切れる必要があります", ) + parser.add_argument( + "--skip_image_resolution", + type=str, + default=None, + help="images not larger than this resolution will be skipped ('size' or 'width,height')" + " / この解像度以下の画像はスキップされます('サイズ'指定、または'幅,高さ'指定)", + ) parser.add_argument( "--bucket_reso_steps", type=int, @@ -5414,6 +5476,14 @@ def prepare_dataset_args(args: argparse.Namespace, support_metadata: bool): len(args.resolution) == 2 ), f"resolution must be 'size' or 'width,height' / resolution(解像度)は'サイズ'または'幅','高さ'で指定してください: {args.resolution}" + if args.skip_image_resolution is not None: + args.skip_image_resolution = tuple([int(r) for r in args.skip_image_resolution.split(",")]) + if len(args.skip_image_resolution) == 1: + args.skip_image_resolution = (args.skip_image_resolution[0], args.skip_image_resolution[0]) + assert ( + len(args.skip_image_resolution) == 2 + ), f"skip_image_resolution must be 'size' or 'width,height' / skip_image_resolutionは'サイズ'または'幅','高さ'で指定してください: {args.skip_image_resolution}" + if args.face_crop_aug_range is not None: args.face_crop_aug_range = tuple([float(r) for r in args.face_crop_aug_range.split(",")]) assert ( diff --git a/train_network.py b/train_network.py index 2f8797d25..2ee671e9f 100644 --- a/train_network.py +++ b/train_network.py @@ -1085,6 +1085,7 @@ def load_model_hook(models, input_dir): "enable_bucket": bool(dataset.enable_bucket), "min_bucket_reso": dataset.min_bucket_reso, "max_bucket_reso": dataset.max_bucket_reso, + "skip_image_resolution": dataset.skip_image_resolution, "tag_frequency": dataset.tag_frequency, "bucket_info": dataset.bucket_info, "resize_interpolation": dataset.resize_interpolation, @@ -1191,6 +1192,7 @@ def load_model_hook(models, input_dir): "ss_bucket_no_upscale": bool(dataset.bucket_no_upscale), "ss_min_bucket_reso": dataset.min_bucket_reso, "ss_max_bucket_reso": dataset.max_bucket_reso, + "ss_skip_image_resolution": dataset.skip_image_resolution, "ss_keep_tokens": args.keep_tokens, "ss_dataset_dirs": json.dumps(dataset_dirs_info), "ss_reg_dataset_dirs": json.dumps(reg_dataset_dirs_info), From 7c159291e9dc5afb074d8f95e0028c4e87f0dc5b Mon Sep 17 00:00:00 2001 From: "Kohya S." <52813779+kohya-ss@users.noreply.github.com> Date: Thu, 19 Mar 2026 09:17:29 +0900 Subject: [PATCH 735/748] docs: add skip_image_resolution to config README (#2288) * docs: add skip_image_resolution option to config README Document the skip_image_resolution dataset option added in PR #2273. Add option description, multi-resolution dataset TOML example, and command-line argument entry to both Japanese and English config READMEs. Co-Authored-By: Claude Opus 4.6 * docs: clarify `skip_image_resolution` functionality in dataset config --------- Co-authored-by: Claude Opus 4.6 --- docs/config_README-en.md | 33 +++++++++++++++++++++++++++++++++ docs/config_README-ja.md | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) diff --git a/docs/config_README-en.md b/docs/config_README-en.md index 78687ee6c..6b55a985b 100644 --- a/docs/config_README-en.md +++ b/docs/config_README-en.md @@ -122,11 +122,15 @@ These are options related to the configuration of the data set. They cannot be d | `max_bucket_reso` | `1024` | o | o | | `min_bucket_reso` | `128` | o | o | | `resolution` | `256`, `[512, 512]` | o | o | +| `skip_image_resolution` | `768`, `[512, 768]` | o | o | * `batch_size` * This corresponds to the command-line argument `--train_batch_size`. * `max_bucket_reso`, `min_bucket_reso` * Specify the maximum and minimum resolutions of the bucket. It must be divisible by `bucket_reso_steps`. +* `skip_image_resolution` + * Images whose original resolution (area) is equal to or smaller than the specified resolution will be skipped. Specify as `'size'` or `[width, height]`. This corresponds to the command-line argument `--skip_image_resolution`. + * Useful when sharing the same image directory across multiple datasets with different resolutions, to exclude low-resolution source images from higher-resolution datasets. These settings are fixed per dataset. That means that subsets belonging to the same dataset will share these settings. For example, if you want to prepare datasets with different resolutions, you can define them as separate datasets as shown in the example above, and set different resolutions for each. @@ -254,6 +258,34 @@ resolution = 768 image_dir = 'C:\hoge' ``` +When using multi-resolution datasets, you can use `skip_image_resolution` to exclude images whose original size is too small for higher-resolution datasets. This prevents overlapping of low-resolution images across datasets and improves training quality. This option can also be used to simply exclude low-resolution source images from datasets. + +```toml +[general] +enable_bucket = true +bucket_no_upscale = true +max_bucket_reso = 1536 + +[[datasets]] +resolution = 768 + [[datasets.subsets]] + image_dir = 'C:\hoge' + +[[datasets]] +resolution = 1024 +skip_image_resolution = 768 + [[datasets.subsets]] + image_dir = 'C:\hoge' + +[[datasets]] +resolution = 1280 +skip_image_resolution = 1024 + [[datasets.subsets]] + image_dir = 'C:\hoge' +``` + +In this example, the 1024-resolution dataset skips images whose original size is 768x768 or smaller, and the 1280-resolution dataset skips images whose original size is 1024x1024 or smaller. + ## Command Line Argument and Configuration File There are options in the configuration file that have overlapping roles with command line argument options. @@ -284,6 +316,7 @@ For the command line options listed below, if an option is specified in both the | `--random_crop` | | | `--resolution` | | | `--shuffle_caption` | | +| `--skip_image_resolution` | | | `--train_batch_size` | `batch_size` | ## Error Guide diff --git a/docs/config_README-ja.md b/docs/config_README-ja.md index aec0eca5d..61d3e2519 100644 --- a/docs/config_README-ja.md +++ b/docs/config_README-ja.md @@ -115,11 +115,15 @@ DreamBooth の手法と fine tuning の手法の両方とも利用可能な学 | `max_bucket_reso` | `1024` | o | o | | `min_bucket_reso` | `128` | o | o | | `resolution` | `256`, `[512, 512]` | o | o | +| `skip_image_resolution` | `768`, `[512, 768]` | o | o | * `batch_size` * コマンドライン引数の `--train_batch_size` と同等です。 * `max_bucket_reso`, `min_bucket_reso` * bucketの最大、最小解像度を指定します。`bucket_reso_steps` で割り切れる必要があります。 +* `skip_image_resolution` + * 指定した解像度(面積)以下の画像をスキップします。`'サイズ'` または `[幅, 高さ]` で指定します。コマンドライン引数の `--skip_image_resolution` と同等です。 + * 同じ画像ディレクトリを異なる解像度の複数のデータセットで使い回す場合に、低解像度の元画像を高解像度のデータセットから除外するために使用します。 これらの設定はデータセットごとに固定です。 つまり、データセットに所属するサブセットはこれらの設定を共有することになります。 @@ -259,6 +263,34 @@ resolution = 768 image_dir = 'C:\hoge' ``` +なお、マルチ解像度データセットでは `skip_image_resolution` を使用して、元の画像サイズが小さい画像を高解像度データセットから除外できます。これにより、低解像度画像のデータセット間での重複を防ぎ、学習品質を向上させることができます。また、小さい画像を除外するフィルターとしても機能します。 + +```toml +[general] +enable_bucket = true +bucket_no_upscale = true +max_bucket_reso = 1536 + +[[datasets]] +resolution = 768 + [[datasets.subsets]] + image_dir = 'C:\hoge' + +[[datasets]] +resolution = 1024 +skip_image_resolution = 768 + [[datasets.subsets]] + image_dir = 'C:\hoge' + +[[datasets]] +resolution = 1280 +skip_image_resolution = 1024 + [[datasets.subsets]] + image_dir = 'C:\hoge' +``` + +この例では、1024 解像度のデータセットでは元の画像サイズが 768x768 以下の画像がスキップされ、1280 解像度のデータセットでは 1024x1024 以下の画像がスキップされます。 + ## コマンドライン引数との併用 設定ファイルのオプションの中には、コマンドライン引数のオプションと役割が重複しているものがあります。 @@ -289,6 +321,7 @@ resolution = 768 | `--random_crop` | | | `--resolution` | | | `--shuffle_caption` | | +| `--skip_image_resolution` | | | `--train_batch_size` | `batch_size` | ## エラーの手引き From 343c929e39801c8f9b0131dbe224943da692b4a2 Mon Sep 17 00:00:00 2001 From: woctordho Date: Wed, 24 Sep 2025 00:32:00 +0800 Subject: [PATCH 736/748] Log d*lr for ProdigyPlusScheduleFree --- library/train_util.py | 6 +++++- train_network.py | 33 ++++++++------------------------- 2 files changed, 13 insertions(+), 26 deletions(-) diff --git a/library/train_util.py b/library/train_util.py index d8577b9d7..e95a46127 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -6183,10 +6183,14 @@ def append_lr_to_logs_with_names(logs, lr_scheduler, optimizer_type, names): name = names[lr_index] logs["lr/" + name] = float(lrs[lr_index]) - if optimizer_type.lower().startswith("DAdapt".lower()) or optimizer_type.lower() == "Prodigy".lower(): + if optimizer_type.lower().startswith("DAdapt".lower()) or optimizer_type.lower().startswith("Prodigy".lower()): logs["lr/d*lr/" + name] = ( lr_scheduler.optimizers[-1].param_groups[lr_index]["d"] * lr_scheduler.optimizers[-1].param_groups[lr_index]["lr"] ) + if "effective_lr" in lr_scheduler.optimizers[-1].param_groups[lr_index]: + logs["lr/d*eff_lr/" + name] = ( + lr_scheduler.optimizers[-1].param_groups[lr_index]["d"] * lr_scheduler.optimizers[-1].param_groups[lr_index]["effective_lr"] + ) # scheduler: diff --git a/train_network.py b/train_network.py index 2f8797d25..ae8d6d0f9 100644 --- a/train_network.py +++ b/train_network.py @@ -90,40 +90,23 @@ def generate_step_logs( if lr_descriptions is not None: lr_desc = lr_descriptions[i] else: - idx = i - (0 if args.network_train_unet_only else -1) + idx = i - (0 if args.network_train_unet_only else 1) if idx == -1: lr_desc = "textencoder" else: if len(lrs) > 2: - lr_desc = f"group{idx}" + lr_desc = f"group{i}" else: lr_desc = "unet" logs[f"lr/{lr_desc}"] = lr - if args.optimizer_type.lower().startswith("DAdapt".lower()) or args.optimizer_type.lower() == "Prodigy".lower(): - # tracking d*lr value - logs[f"lr/d*lr/{lr_desc}"] = ( - lr_scheduler.optimizers[-1].param_groups[i]["d"] * lr_scheduler.optimizers[-1].param_groups[i]["lr"] - ) - if ( - args.optimizer_type.lower().endswith("ProdigyPlusScheduleFree".lower()) and optimizer is not None - ): # tracking d*lr value of unet. - logs["lr/d*lr"] = optimizer.param_groups[0]["d"] * optimizer.param_groups[0]["lr"] - else: - idx = 0 - if not args.network_train_unet_only: - logs["lr/textencoder"] = float(lrs[0]) - idx = 1 - - for i in range(idx, len(lrs)): - logs[f"lr/group{i}"] = float(lrs[i]) - if args.optimizer_type.lower().startswith("DAdapt".lower()) or args.optimizer_type.lower() == "Prodigy".lower(): - logs[f"lr/d*lr/group{i}"] = ( - lr_scheduler.optimizers[-1].param_groups[i]["d"] * lr_scheduler.optimizers[-1].param_groups[i]["lr"] - ) - if args.optimizer_type.lower().endswith("ProdigyPlusScheduleFree".lower()) and optimizer is not None: - logs[f"lr/d*lr/group{i}"] = optimizer.param_groups[i]["d"] * optimizer.param_groups[i]["lr"] + if args.optimizer_type.lower().startswith("DAdapt".lower()) or args.optimizer_type.lower().startswith("Prodigy".lower()): + opt = lr_scheduler.optimizers[-1] if hasattr(lr_scheduler, "optimizers") else optimizer + if opt is not None: + logs[f"lr/d*lr/{lr_desc}"] = opt.param_groups[i]["d"] * opt.param_groups[i]["lr"] + if "effective_lr" in opt.param_groups[i]: + logs[f"lr/d*eff_lr/{lr_desc}"] = opt.param_groups[i]["d"] * opt.param_groups[i]["effective_lr"] return logs From cdb49f9fe7730164e068fea06159cd9bd76a1cb3 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Sun, 22 Mar 2026 22:19:47 +0900 Subject: [PATCH 737/748] fix: Anima validation dataset not working with Text Encoder output caching due to caption dropout --- anima_train_network.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/anima_train_network.py b/anima_train_network.py index eaad7197c..ff770a9f8 100644 --- a/anima_train_network.py +++ b/anima_train_network.py @@ -286,7 +286,9 @@ def get_noise_pred_and_target( t.requires_grad_(True) # Unpack text encoder conditions - prompt_embeds, attn_mask, t5_input_ids, t5_attn_mask = text_encoder_conds + prompt_embeds, attn_mask, t5_input_ids, t5_attn_mask = text_encoder_conds[ + :4 + ] # ignore caption_dropout_rate which is not needed for training step # Move to device prompt_embeds = prompt_embeds.to(accelerator.device, dtype=weight_dtype) @@ -353,7 +355,8 @@ def process_batch( text_encoder_outputs_list = anima_text_encoding_strategy.drop_cached_text_encoder_outputs( *text_encoder_outputs_list, caption_dropout_rates=caption_dropout_rates ) - batch["text_encoder_outputs_list"] = text_encoder_outputs_list + # Add the caption dropout rates back to the list for validation dataset (which is re-used batch items) + batch["text_encoder_outputs_list"] = text_encoder_outputs_list + [caption_dropout_rates] return super().process_batch( batch, From 0e168dd1eb9eb683faff315f754cc7d1da36096a Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Sun, 29 Mar 2026 20:33:33 +0900 Subject: [PATCH 738/748] add --svd_lowrank_niter option to resize_lora.py Allow users to control the number of iterations for torch.svd_lowrank on large matrices. Default is 2 (matching PR #2240 behavior). Set to 0 to disable svd_lowrank and use full SVD instead. Co-Authored-By: Claude Opus 4.6 --- networks/resize_lora.py | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/networks/resize_lora.py b/networks/resize_lora.py index 5dd1132fe..a616b6acd 100644 --- a/networks/resize_lora.py +++ b/networks/resize_lora.py @@ -85,13 +85,13 @@ def index_sv_ratio(S, target): # Modified from Kohaku-blueleaf's extract/merge functions -def extract_conv(weight, lora_rank, dynamic_method, dynamic_param, device, scale=1): +def extract_conv(weight, lora_rank, dynamic_method, dynamic_param, device, scale=1, svd_lowrank_niter=2): out_size, in_size, kernel_size, _ = weight.size() weight = weight.reshape(out_size, -1) _in_size = in_size * kernel_size * kernel_size - if out_size > 2048 and _in_size > 2048: - U, S, V = torch.svd_lowrank(weight.to(device), q=min(2 * lora_rank, out_size, _in_size)) + if svd_lowrank_niter > 0 and out_size > 2048 and _in_size > 2048: + U, S, V = torch.svd_lowrank(weight.to(device), q=min(2 * lora_rank, out_size, _in_size), niter=svd_lowrank_niter) Vh = V.T else: U, S, Vh = torch.linalg.svd(weight.to(device)) @@ -110,11 +110,11 @@ def extract_conv(weight, lora_rank, dynamic_method, dynamic_param, device, scale return param_dict -def extract_linear(weight, lora_rank, dynamic_method, dynamic_param, device, scale=1): +def extract_linear(weight, lora_rank, dynamic_method, dynamic_param, device, scale=1, svd_lowrank_niter=2): out_size, in_size = weight.size() - if out_size > 2048 and in_size > 2048: - U, S, V = torch.svd_lowrank(weight.to(device), q=min(2 * lora_rank, out_size, in_size)) + if svd_lowrank_niter > 0 and out_size > 2048 and in_size > 2048: + U, S, V = torch.svd_lowrank(weight.to(device), q=min(2 * lora_rank, out_size, in_size), niter=svd_lowrank_niter) Vh = V.T else: U, S, Vh = torch.linalg.svd(weight.to(device)) @@ -209,7 +209,7 @@ def rank_resize(S, rank, dynamic_method, dynamic_param, scale=1): return param_dict -def resize_lora_model(lora_sd, new_rank, new_conv_rank, save_dtype, device, dynamic_method, dynamic_param, verbose): +def resize_lora_model(lora_sd, new_rank, new_conv_rank, save_dtype, device, dynamic_method, dynamic_param, verbose, svd_lowrank_niter=2): max_old_rank = None new_alpha = None verbose_str = "\n" @@ -273,10 +273,10 @@ def resize_lora_model(lora_sd, new_rank, new_conv_rank, save_dtype, device, dyna if conv2d: full_weight_matrix = merge_conv(lora_down_weight, lora_up_weight, device) - param_dict = extract_conv(full_weight_matrix, new_conv_rank, dynamic_method, dynamic_param, device, scale) + param_dict = extract_conv(full_weight_matrix, new_conv_rank, dynamic_method, dynamic_param, device, scale, svd_lowrank_niter) else: full_weight_matrix = merge_linear(lora_down_weight, lora_up_weight, device) - param_dict = extract_linear(full_weight_matrix, new_rank, dynamic_method, dynamic_param, device, scale) + param_dict = extract_linear(full_weight_matrix, new_rank, dynamic_method, dynamic_param, device, scale, svd_lowrank_niter) if verbose: max_ratio = param_dict["max_ratio"] @@ -347,7 +347,7 @@ def str_to_dtype(p): logger.info("Resizing Lora...") state_dict, old_dim, new_alpha = resize_lora_model( - lora_sd, args.new_rank, args.new_conv_rank, save_dtype, args.device, args.dynamic_method, args.dynamic_param, args.verbose + lora_sd, args.new_rank, args.new_conv_rank, save_dtype, args.device, args.dynamic_method, args.dynamic_param, args.verbose, args.svd_lowrank_niter ) # update metadata @@ -425,6 +425,13 @@ def setup_parser() -> argparse.ArgumentParser: help="Specify dynamic resizing method, --new_rank is used as a hard limit for max rank", ) parser.add_argument("--dynamic_param", type=float, default=None, help="Specify target for dynamic reduction") + parser.add_argument( + "--svd_lowrank_niter", + type=int, + default=2, + help="Number of iterations for svd_lowrank on large matrices (>2048 dims). 0 to disable and use full SVD" + " / 大行列(2048次元超)に対するsvd_lowrankの反復回数。0で無効化し完全SVDを使用", + ) return parser From 4be0e94fad67a58a1c7d941f68aa50639110e7c5 Mon Sep 17 00:00:00 2001 From: woctordho Date: Sun, 29 Mar 2026 19:35:00 +0800 Subject: [PATCH 739/748] Merge pull request #2194 from woct0rdho/rank1 Fix the 'off by 1' problem in dynamically resized LoRA rank --- networks/resize_lora.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/networks/resize_lora.py b/networks/resize_lora.py index 5dd1132fe..2f586a8aa 100644 --- a/networks/resize_lora.py +++ b/networks/resize_lora.py @@ -59,8 +59,8 @@ def save_to_file(file_name, state_dict, metadata): def index_sv_cumulative(S, target): original_sum = float(torch.sum(S)) cumulative_sums = torch.cumsum(S, dim=0) / original_sum - index = int(torch.searchsorted(cumulative_sums, target)) + 1 - index = max(1, min(index, len(S) - 1)) + index = int(torch.searchsorted(cumulative_sums, target)) + index = max(0, min(index, len(S) - 1)) return index @@ -69,8 +69,8 @@ def index_sv_fro(S, target): S_squared = S.pow(2) S_fro_sq = float(torch.sum(S_squared)) sum_S_squared = torch.cumsum(S_squared, dim=0) / S_fro_sq - index = int(torch.searchsorted(sum_S_squared, target**2)) + 1 - index = max(1, min(index, len(S) - 1)) + index = int(torch.searchsorted(sum_S_squared, target**2)) + index = max(0, min(index, len(S) - 1)) return index @@ -78,8 +78,8 @@ def index_sv_fro(S, target): def index_sv_ratio(S, target): max_sv = S[0] min_sv = max_sv / target - index = int(torch.sum(S > min_sv).item()) - index = max(1, min(index, len(S) - 1)) + index = int(torch.sum(S > min_sv).item()) - 1 + index = max(0, min(index, len(S) - 1)) return index From 5cdad10de52ec87640afb729adfba94ecef4a3bf Mon Sep 17 00:00:00 2001 From: "Kohya S." <52813779+kohya-ss@users.noreply.github.com> Date: Sun, 29 Mar 2026 20:41:43 +0900 Subject: [PATCH 740/748] Fix/leco cleanup (#2294) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: SD1.x/2.x と SDXL 向けの LECO 学習スクリプトを追加 (#2285) * Add LECO training script and associated tests - Implemented `sdxl_train_leco.py` for training with LECO prompts, including argument parsing, model setup, training loop, and weight saving functionality. - Created unit tests for `load_prompt_settings` in `test_leco_train_util.py` to validate loading of prompt configurations in both original and slider formats. - Added basic syntax tests for `train_leco.py` and `sdxl_train_leco.py` to ensure modules are importable. * fix: use getattr for safe attribute access in argument verification * feat: add CUDA device compatibility validation and corresponding tests * Revert "feat: add CUDA device compatibility validation and corresponding tests" This reverts commit 6d3e51431be4f207b2ebddc975c6b0a2196576ad. * feat: update predict_noise_xl to use vector embedding from add_time_ids * feat: implement checkpointing in predict_noise and predict_noise_xl functions * feat: remove unused submodules and update .gitignore to exclude .codex-tmp --------- Co-authored-by: Kohya S. <52813779+kohya-ss@users.noreply.github.com> * fix: format * fix: LECO PR #2285 のレビュー指摘事項を修正 - train_util.py/deepspeed_utils.py の getattr 化を元に戻し、LECO パーサーにダミー引数を追加 - sdxl_train_util のモジュールレベルインポートをローカルインポートに変更 - PromptEmbedsCache.__getitem__ でキャッシュミス時に KeyError を送出するよう修正 - 設定ファイル形式を YAML から TOML に変更(リポジトリの規約に統一) - 重複コード (build_network_kwargs, get_save_extension, save_weights) を leco_train_util.py に統合 - _expand_slider_target の冗長な PromptSettings 構築を簡素化 - add_time_ids 用に専用の batch_add_time_ids 関数を追加 Co-Authored-By: Claude Opus 4.6 * docs: LECO 学習ガイドを大幅に拡充 コマンドライン引数の全カテゴリ別解説、プロンプト TOML の全フィールド説明、 2つの guidance_scale の違い、推奨設定表、YAML からの変換ガイド等を追加。 英語本文と日本語折り畳みの二言語構成。 Co-Authored-By: Claude Opus 4.6 * fix: apply_noise_offset の dtype 不一致を修正 torch.randn のデフォルト float32 により latents が暗黙的にアップキャストされる問題を修正。 float32/CPU で生成後に latents の dtype/device へ変換する安全なパターンを採用。 Co-Authored-By: Claude Opus 4.6 --------- Co-authored-by: Umisetokikaze <52318966+umisetokikaze@users.noreply.github.com> Co-authored-by: Claude Opus 4.6 --- .gitignore | 3 +- docs/train_leco.md | 736 ++++++++++++++++++++++++++ library/leco_train_util.py | 522 ++++++++++++++++++ library/train_util.py | 11 +- sdxl_train_leco.py | 342 ++++++++++++ tests/library/test_leco_train_util.py | 116 ++++ tests/test_sdxl_train_leco.py | 16 + tests/test_train_leco.py | 15 + train_leco.py | 319 +++++++++++ 9 files changed, 2074 insertions(+), 6 deletions(-) create mode 100644 docs/train_leco.md create mode 100644 library/leco_train_util.py create mode 100644 sdxl_train_leco.py create mode 100644 tests/library/test_leco_train_util.py create mode 100644 tests/test_sdxl_train_leco.py create mode 100644 tests/test_train_leco.py create mode 100644 train_leco.py diff --git a/.gitignore b/.gitignore index f5772a7f3..79b9dc3df 100644 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,5 @@ GEMINI.md .claude .gemini MagicMock -references \ No newline at end of file +.codex-tmp +references diff --git a/docs/train_leco.md b/docs/train_leco.md new file mode 100644 index 000000000..0896c58ce --- /dev/null +++ b/docs/train_leco.md @@ -0,0 +1,736 @@ +# LECO Training Guide / LECO 学習ガイド + +LECO (Low-rank adaptation for Erasing COncepts from diffusion models) is a technique for training LoRA models that modify or erase concepts from a diffusion model **without requiring any image dataset**. It works by training a LoRA against the model's own noise predictions using text prompts only. + +This repository provides two LECO training scripts: + +- `train_leco.py` for Stable Diffusion 1.x / 2.x +- `sdxl_train_leco.py` for SDXL + +
+日本語 + +LECO (Low-rank adaptation for Erasing COncepts from diffusion models) は、**画像データセットを一切必要とせず**、テキストプロンプトのみを使用してモデル自身のノイズ予測に対して LoRA を学習させる手法です。拡散モデルから概念を変更・消去する LoRA モデルを作成できます。 + +このリポジトリでは以下の2つの LECO 学習スクリプトを提供しています: + +- `train_leco.py` : Stable Diffusion 1.x / 2.x 用 +- `sdxl_train_leco.py` : SDXL 用 +
+ +## 1. Overview / 概要 + +### What LECO Can Do / LECO でできること + +LECO can be used for: + +- **Concept erasing**: Remove a specific style or concept (e.g., erase "van gogh" style from generated images) +- **Concept enhancing**: Strengthen a specific attribute (e.g., make "detailed" more pronounced) +- **Slider LoRA**: Create a LoRA that controls an attribute bidirectionally (e.g., a slider between "short hair" and "long hair") + +Unlike standard LoRA training, LECO does not use any training images. All training signals come from the difference between the model's own noise predictions on different text prompts. + +
+日本語 + +LECO は以下の用途に使用できます: + +- **概念の消去**: 特定のスタイルや概念を除去する(例:生成画像から「van gogh」スタイルを消去) +- **概念の強化**: 特定の属性を強化する(例:「detailed」をより顕著にする) +- **スライダー LoRA**: 属性を双方向に制御する LoRA を作成する(例:「short hair」と「long hair」の間のスライダー) + +通常の LoRA 学習とは異なり、LECO は学習画像を一切使用しません。学習のシグナルは全て、異なるテキストプロンプトに対するモデル自身のノイズ予測の差分から得られます。 +
+ +### Key Differences from Standard LoRA Training / 通常の LoRA 学習との違い + +| | Standard LoRA | LECO | +|---|---|---| +| Training data | Image dataset required | **No images needed** | +| Configuration | Dataset TOML | Prompt TOML | +| Training target | U-Net and/or Text Encoder | **U-Net only** | +| Training unit | Epochs and steps | **Steps only** | +| Saving | Per-epoch or per-step | **Per-step only** (`--save_every_n_steps`) | + +
+日本語 + +| | 通常の LoRA | LECO | +|---|---|---| +| 学習データ | 画像データセットが必要 | **画像不要** | +| 設定ファイル | データセット TOML | プロンプト TOML | +| 学習対象 | U-Net と Text Encoder | **U-Net のみ** | +| 学習単位 | エポックとステップ | **ステップのみ** | +| 保存 | エポック毎またはステップ毎 | **ステップ毎のみ** (`--save_every_n_steps`) | +
+ +## 2. Prompt Configuration File / プロンプト設定ファイル + +LECO uses a TOML file to define training prompts. Two formats are supported: the **original LECO format** and the **slider target format** (ai-toolkit style). + +
+日本語 +LECO は学習プロンプトの定義に TOML ファイルを使用します。**オリジナル LECO 形式**と**スライダーターゲット形式**(ai-toolkit スタイル)の2つの形式に対応しています。 +
+ +### 2.1. Original LECO Format / オリジナル LECO 形式 + +Use `[[prompts]]` sections to define prompt pairs directly. This gives you full control over each training pair. + +```toml +[[prompts]] +target = "van gogh" +positive = "van gogh" +unconditional = "" +neutral = "" +action = "erase" +guidance_scale = 1.0 +resolution = 512 +batch_size = 1 +multiplier = 1.0 +weight = 1.0 +``` + +Each `[[prompts]]` entry defines one training pair with the following fields: + +| Field | Required | Default | Description | +|-------|----------|---------|-------------| +| `target` | Yes | - | The concept to be modified by the LoRA | +| `positive` | No | same as `target` | The "positive direction" prompt for building the training target | +| `unconditional` | No | `""` | The unconditional/negative prompt | +| `neutral` | No | `""` | The neutral baseline prompt | +| `action` | No | `"erase"` | `"erase"` to remove the concept, `"enhance"` to strengthen it | +| `guidance_scale` | No | `1.0` | Scale factor for target construction (higher = stronger effect) | +| `resolution` | No | `512` | Training resolution (int or `[height, width]`) | +| `batch_size` | No | `1` | Number of latent samples per training step for this prompt | +| `multiplier` | No | `1.0` | LoRA strength multiplier during training | +| `weight` | No | `1.0` | Loss weight for this prompt pair | + +
+日本語 + +`[[prompts]]` セクションを使用して、プロンプトペアを直接定義します。各学習ペアを細かく制御できます。 + +各 `[[prompts]]` エントリのフィールド: + +| フィールド | 必須 | デフォルト | 説明 | +|-----------|------|-----------|------| +| `target` | はい | - | LoRA によって変更される概念 | +| `positive` | いいえ | `target` と同じ | 学習ターゲット構築時の「正方向」プロンプト | +| `unconditional` | いいえ | `""` | 無条件/ネガティブプロンプト | +| `neutral` | いいえ | `""` | ニュートラルベースラインプロンプト | +| `action` | いいえ | `"erase"` | `"erase"` で概念を除去、`"enhance"` で強化 | +| `guidance_scale` | いいえ | `1.0` | ターゲット構築時のスケール係数(大きいほど効果が強い) | +| `resolution` | いいえ | `512` | 学習解像度(整数または `[height, width]`) | +| `batch_size` | いいえ | `1` | このプロンプトの学習ステップごとの latent サンプル数 | +| `multiplier` | いいえ | `1.0` | 学習時の LoRA 強度乗数 | +| `weight` | いいえ | `1.0` | このプロンプトペアの loss 重み | +
+ +### 2.2. Slider Target Format / スライダーターゲット形式 + +Use `[[targets]]` sections to define slider-style LoRAs. Each target is automatically expanded into bidirectional training pairs (4 pairs when both `positive` and `negative` are provided, 2 pairs when only one is provided). + +```toml +guidance_scale = 1.0 +resolution = 1024 +neutral = "" + +[[targets]] +target_class = "1girl" +positive = "1girl, long hair" +negative = "1girl, short hair" +multiplier = 1.0 +weight = 1.0 +``` + +Top-level fields (`guidance_scale`, `resolution`, `neutral`, `batch_size`, etc.) serve as defaults for all targets. + +Each `[[targets]]` entry supports the following fields: + +| Field | Required | Default | Description | +|-------|----------|---------|-------------| +| `target_class` | Yes | - | The base class/subject prompt | +| `positive` | No* | `""` | Prompt for the positive direction of the slider | +| `negative` | No* | `""` | Prompt for the negative direction of the slider | +| `multiplier` | No | `1.0` | LoRA strength multiplier | +| `weight` | No | `1.0` | Loss weight | + +\* At least one of `positive` or `negative` must be provided. + +
+日本語 + +`[[targets]]` セクションを使用してスライダースタイルの LoRA を定義します。各ターゲットは自動的に双方向の学習ペアに展開されます(`positive` と `negative` の両方がある場合は4ペア、片方のみの場合は2ペア)。 + +トップレベルのフィールド(`guidance_scale`、`resolution`、`neutral`、`batch_size` など)は全ターゲットのデフォルト値として機能します。 + +各 `[[targets]]` エントリのフィールド: + +| フィールド | 必須 | デフォルト | 説明 | +|-----------|------|-----------|------| +| `target_class` | はい | - | ベースとなるクラス/被写体プロンプト | +| `positive` | いいえ* | `""` | スライダーの正方向プロンプト | +| `negative` | いいえ* | `""` | スライダーの負方向プロンプト | +| `multiplier` | いいえ | `1.0` | LoRA 強度乗数 | +| `weight` | いいえ | `1.0` | loss 重み | + +\* `positive` と `negative` のうち少なくとも一方を指定する必要があります。 +
+ +### 2.3. Multiple Neutral Prompts / 複数のニュートラルプロンプト + +You can provide multiple neutral prompts for slider targets. Each neutral prompt generates a separate set of training pairs, which can improve generalization. + +```toml +guidance_scale = 1.5 +resolution = 1024 +neutrals = ["", "photo of a person", "cinematic portrait"] + +[[targets]] +target_class = "person" +positive = "smiling person" +negative = "expressionless person" +``` + +You can also load neutral prompts from a text file (one prompt per line): + +```toml +neutral_prompt_file = "neutrals.txt" + +[[targets]] +target_class = "" +positive = "high detail" +negative = "low detail" +``` + +
+日本語 + +スライダーターゲットに対して複数のニュートラルプロンプトを指定できます。各ニュートラルプロンプトごとに個別の学習ペアが生成され、汎化性能の向上が期待できます。 + +ニュートラルプロンプトをテキストファイル(1行1プロンプト)から読み込むこともできます。 +
+ +### 2.4. Converting from ai-toolkit YAML / ai-toolkit の YAML からの変換 + +If you have an existing ai-toolkit style YAML config, convert it to TOML as follows: + +
+日本語 +既存の ai-toolkit スタイルの YAML 設定がある場合、以下のように TOML に変換してください。 +
+ +**YAML:** +```yaml +targets: + - target_class: "" + positive: "high detail" + negative: "low detail" + multiplier: 1.0 +guidance_scale: 1.0 +resolution: 512 +``` + +**TOML:** +```toml +guidance_scale = 1.0 +resolution = 512 + +[[targets]] +target_class = "" +positive = "high detail" +negative = "low detail" +multiplier = 1.0 +``` + +Key syntax differences: + +- Use `=` instead of `:` for key-value pairs +- Use `[[targets]]` header instead of `targets:` with `- ` list items +- Arrays use `[brackets]` (e.g., `neutrals = ["a", "b"]`) + +
+日本語 + +主な構文の違い: + +- キーと値の区切りに `:` ではなく `=` を使用 +- `targets:` と `- ` のリスト記法ではなく `[[targets]]` ヘッダを使用 +- 配列は `[brackets]` で記述(例:`neutrals = ["a", "b"]`) +
+ +## 3. Running the Training / 学習の実行 + +Training is started by executing the script from the terminal. Below are basic command-line examples. + +In reality, you need to write the command in a single line, but it is shown with line breaks for readability. On Linux/Mac, add `\` at the end of each line; on Windows, add `^`. + +
+日本語 +学習はターミナルからスクリプトを実行して開始します。以下に基本的なコマンドライン例を示します。 + +実際には1行で書く必要がありますが、見やすさのために改行しています。Linux/Mac では各行末に `\` を、Windows では `^` を追加してください。 +
+ +### SD 1.x / 2.x + +```bash +accelerate launch --mixed_precision bf16 train_leco.py + --pretrained_model_name_or_path="model.safetensors" + --prompts_file="prompts.toml" + --output_dir="output" + --output_name="my_leco" + --network_dim=8 + --network_alpha=4 + --learning_rate=1e-4 + --optimizer_type="AdamW8bit" + --max_train_steps=500 + --max_denoising_steps=40 + --mixed_precision=bf16 + --sdpa + --gradient_checkpointing + --save_every_n_steps=100 +``` + +### SDXL + +```bash +accelerate launch --mixed_precision bf16 sdxl_train_leco.py + --pretrained_model_name_or_path="sdxl_model.safetensors" + --prompts_file="slider.toml" + --output_dir="output" + --output_name="my_sdxl_slider" + --network_dim=8 + --network_alpha=4 + --learning_rate=1e-4 + --optimizer_type="AdamW8bit" + --max_train_steps=1000 + --max_denoising_steps=40 + --mixed_precision=bf16 + --sdpa + --gradient_checkpointing + --save_every_n_steps=200 +``` + +## 4. Command-Line Arguments / コマンドライン引数 + +### 4.1. LECO-Specific Arguments / LECO 固有の引数 + +These arguments are unique to LECO and not found in standard LoRA training scripts. + +
+日本語 +以下の引数は LECO 固有のもので、通常の LoRA 学習スクリプトにはありません。 +
+ +* `--prompts_file="prompts.toml"` **[Required]** + * Path to the LECO prompt configuration TOML file. See [Section 2](#2-prompt-configuration-file--プロンプト設定ファイル) for the file format. + +* `--max_denoising_steps=40` + * Number of partial denoising steps per training iteration. At each step, a random number of denoising steps (from 1 to this value) is performed. Default: `40`. + +* `--leco_denoise_guidance_scale=3.0` + * Guidance scale used during the partial denoising pass. This is separate from `guidance_scale` in the TOML file. Default: `3.0`. + +
+日本語 + +* `--prompts_file="prompts.toml"` **[必須]** + * LECO プロンプト設定 TOML ファイルのパス。ファイル形式については[セクション2](#2-prompt-configuration-file--プロンプト設定ファイル)を参照してください。 + +* `--max_denoising_steps=40` + * 各学習イテレーションでの部分デノイズステップ数。各ステップで1からこの値の間のランダムなステップ数でデノイズが行われます。デフォルト: `40`。 + +* `--leco_denoise_guidance_scale=3.0` + * 部分デノイズ時の guidance scale。TOML ファイル内の `guidance_scale` とは別のパラメータです。デフォルト: `3.0`。 +
+ +#### Understanding the Two `guidance_scale` Parameters / 2つの `guidance_scale` の違い + +There are two separate guidance scale parameters that control different aspects of LECO training: + +1. **`--leco_denoise_guidance_scale` (command-line)**: Controls CFG strength during the partial denoising pass that generates intermediate latents. Higher values produce more prompt-adherent latents for the training signal. + +2. **`guidance_scale` (in TOML file)**: Controls the magnitude of the concept offset when constructing the training target. Higher values produce a stronger erase/enhance effect. This can be set per-prompt or per-target. + +If training results are too subtle, try increasing the TOML `guidance_scale` (e.g., `1.5` to `3.0`). + +
+日本語 + +LECO の学習では、異なる役割を持つ2つの guidance scale パラメータがあります: + +1. **`--leco_denoise_guidance_scale`(コマンドライン)**: 中間 latent を生成する部分デノイズパスの CFG 強度を制御します。大きな値にすると、プロンプトにより忠実な latent が学習シグナルとして生成されます。 + +2. **`guidance_scale`(TOML ファイル内)**: 学習ターゲット構築時の概念オフセットの大きさを制御します。大きな値にすると、消去/強化の効果が強くなります。プロンプトごと・ターゲットごとに設定可能です。 + +学習結果の効果が弱い場合は、TOML の `guidance_scale` を大きくしてみてください(例:`1.5` から `3.0`)。 +
+ +### 4.2. Model Arguments / モデル引数 + +* `--pretrained_model_name_or_path="model.safetensors"` **[Required]** + * Path to the base Stable Diffusion model (`.ckpt`, `.safetensors`, Diffusers directory, or Hugging Face model ID). + +* `--v2` (SD 1.x/2.x only) + * Specify when using a Stable Diffusion v2.x model. + +* `--v_parameterization` (SD 1.x/2.x only) + * Specify when using a v-prediction model (e.g., SD 2.x 768px models). + +
+日本語 + +* `--pretrained_model_name_or_path="model.safetensors"` **[必須]** + * ベースとなる Stable Diffusion モデルのパス(`.ckpt`、`.safetensors`、Diffusers ディレクトリ、Hugging Face モデル ID)。 + +* `--v2`(SD 1.x/2.x のみ) + * Stable Diffusion v2.x モデルを使用する場合に指定します。 + +* `--v_parameterization`(SD 1.x/2.x のみ) + * v-prediction モデル(SD 2.x 768px モデルなど)を使用する場合に指定します。 +
+ +### 4.3. LoRA Network Arguments / LoRA ネットワーク引数 + +* `--network_module=networks.lora` + * Network module to train. Default: `networks.lora`. + +* `--network_dim=8` + * LoRA rank (dimension). Higher values increase expressiveness but also file size. Typical values: `4` to `16`. Default: `4`. + +* `--network_alpha=4` + * LoRA alpha for learning rate scaling. A common choice is to set this to half of `network_dim`. Default: `1.0`. + +* `--network_dropout=0.1` + * Dropout rate for LoRA layers. Optional. + +* `--network_args "key=value" ...` + * Additional network-specific arguments. For example, `--network_args "conv_dim=4"` to enable Conv2d LoRA. + +* `--network_weights="path/to/weights.safetensors"` + * Load pretrained LoRA weights to continue training. + +* `--dim_from_weights` + * Infer `network_dim` from the weights specified by `--network_weights`. Requires `--network_weights`. + +
+日本語 + +* `--network_module=networks.lora` + * 学習するネットワークモジュール。デフォルト: `networks.lora`。 + +* `--network_dim=8` + * LoRA のランク(次元数)。大きいほど表現力が上がりますがファイルサイズも増加します。一般的な値: `4` から `16`。デフォルト: `4`。 + +* `--network_alpha=4` + * 学習率スケーリング用の LoRA alpha。`network_dim` の半分程度に設定するのが一般的です。デフォルト: `1.0`。 + +* `--network_dropout=0.1` + * LoRA レイヤーのドロップアウト率。省略可。 + +* `--network_args "key=value" ...` + * ネットワーク固有の追加引数。例:`--network_args "conv_dim=4"` で Conv2d LoRA を有効にします。 + +* `--network_weights="path/to/weights.safetensors"` + * 事前学習済み LoRA ウェイトを読み込んで学習を続行します。 + +* `--dim_from_weights` + * `--network_weights` で指定したウェイトから `network_dim` を推定します。`--network_weights` の指定が必要です。 +
+ +### 4.4. Training Parameters / 学習パラメータ + +* `--max_train_steps=500` + * Total number of training steps. Default: `1600`. Typical range for LECO: `300` to `2000`. + * Note: `--max_train_epochs` is **not supported** for LECO (the training loop is step-based only). + +* `--learning_rate=1e-4` + * Learning rate. Typical range for LECO: `1e-4` to `1e-3`. + +* `--unet_lr=1e-4` + * Separate learning rate for U-Net LoRA modules. If not specified, `--learning_rate` is used. + +* `--optimizer_type="AdamW8bit"` + * Optimizer type. Options include `AdamW8bit` (requires `bitsandbytes`), `AdamW`, `Lion`, `Adafactor`, etc. + +* `--lr_scheduler="constant"` + * Learning rate scheduler. Options: `constant`, `cosine`, `linear`, `constant_with_warmup`, etc. + +* `--lr_warmup_steps=0` + * Number of warmup steps for the learning rate scheduler. + +* `--gradient_accumulation_steps=1` + * Number of steps to accumulate gradients before updating. Effectively multiplies the batch size. + +* `--max_grad_norm=1.0` + * Maximum gradient norm for gradient clipping. Set to `0` to disable. + +* `--min_snr_gamma=5.0` + * Min-SNR weighting gamma. Applies SNR-based loss weighting. Optional. + +
+日本語 + +* `--max_train_steps=500` + * 学習の総ステップ数。デフォルト: `1600`。LECO の一般的な範囲: `300` から `2000`。 + * 注意: `--max_train_epochs` は LECO では**サポートされていません**(学習ループはステップベースのみです)。 + +* `--learning_rate=1e-4` + * 学習率。LECO の一般的な範囲: `1e-4` から `1e-3`。 + +* `--unet_lr=1e-4` + * U-Net LoRA モジュール用の個別の学習率。指定しない場合は `--learning_rate` が使用されます。 + +* `--optimizer_type="AdamW8bit"` + * オプティマイザの種類。`AdamW8bit`(要 `bitsandbytes`)、`AdamW`、`Lion`、`Adafactor` 等が選択可能です。 + +* `--lr_scheduler="constant"` + * 学習率スケジューラ。`constant`、`cosine`、`linear`、`constant_with_warmup` 等が選択可能です。 + +* `--lr_warmup_steps=0` + * 学習率スケジューラのウォームアップステップ数。 + +* `--gradient_accumulation_steps=1` + * 勾配を累積するステップ数。実質的にバッチサイズを増加させます。 + +* `--max_grad_norm=1.0` + * 勾配クリッピングの最大勾配ノルム。`0` で無効化。 + +* `--min_snr_gamma=5.0` + * Min-SNR 重み付けのガンマ値。SNR ベースの loss 重み付けを適用します。省略可。 +
+ +### 4.5. Output and Save Arguments / 出力・保存引数 + +* `--output_dir="output"` **[Required]** + * Directory for saving trained LoRA models and logs. + +* `--output_name="my_leco"` **[Required]** + * Base filename for the trained LoRA (without extension). + +* `--save_model_as="safetensors"` + * Model save format. Options: `safetensors` (default, recommended), `ckpt`, `pt`. + +* `--save_every_n_steps=100` + * Save an intermediate checkpoint every N steps. If not specified, only the final model is saved. + * Note: `--save_every_n_epochs` is **not supported** for LECO. + +* `--save_precision="fp16"` + * Precision for saving the model. Options: `float`, `fp16`, `bf16`. If not specified, the training precision is used. + +* `--no_metadata` + * Do not write metadata into the saved model file. + +* `--training_comment="my comment"` + * A comment string stored in the model metadata. + +
+日本語 + +* `--output_dir="output"` **[必須]** + * 学習済み LoRA モデルとログの保存先ディレクトリ。 + +* `--output_name="my_leco"` **[必須]** + * 学習済み LoRA のベースファイル名(拡張子なし)。 + +* `--save_model_as="safetensors"` + * モデルの保存形式。`safetensors`(デフォルト、推奨)、`ckpt`、`pt` から選択。 + +* `--save_every_n_steps=100` + * N ステップごとに中間チェックポイントを保存。指定しない場合は最終モデルのみ保存されます。 + * 注意: `--save_every_n_epochs` は LECO では**サポートされていません**。 + +* `--save_precision="fp16"` + * モデル保存時の精度。`float`、`fp16`、`bf16` から選択。省略時は学習時の精度が使用されます。 + +* `--no_metadata` + * 保存するモデルファイルにメタデータを書き込みません。 + +* `--training_comment="my comment"` + * モデルのメタデータに保存されるコメント文字列。 +
+ +### 4.6. Memory and Performance Arguments / メモリ・パフォーマンス引数 + +* `--mixed_precision="bf16"` + * Mixed precision training. Options: `no`, `fp16`, `bf16`. Using `bf16` or `fp16` is recommended. + +* `--full_fp16` + * Train entirely in fp16 precision including gradients. + +* `--full_bf16` + * Train entirely in bf16 precision including gradients. + +* `--gradient_checkpointing` + * Enable gradient checkpointing to reduce VRAM usage at the cost of slightly slower training. **Recommended for LECO**, especially with larger models or higher resolutions. + +* `--sdpa` + * Use Scaled Dot-Product Attention. Reduces memory usage and can improve speed. Recommended. + +* `--xformers` + * Use xformers for memory-efficient attention (requires `xformers` package). Alternative to `--sdpa`. + +* `--mem_eff_attn` + * Use memory-efficient attention implementation. Another alternative to `--sdpa`. + +
+日本語 + +* `--mixed_precision="bf16"` + * 混合精度学習。`no`、`fp16`、`bf16` から選択。`bf16` または `fp16` の使用を推奨します。 + +* `--full_fp16` + * 勾配を含め全体を fp16 精度で学習します。 + +* `--full_bf16` + * 勾配を含め全体を bf16 精度で学習します。 + +* `--gradient_checkpointing` + * gradient checkpointing を有効にしてVRAM使用量を削減します(学習速度は若干低下)。特に大きなモデルや高解像度での LECO 学習時に**推奨**です。 + +* `--sdpa` + * Scaled Dot-Product Attention を使用します。メモリ使用量を削減し速度向上が期待できます。推奨。 + +* `--xformers` + * xformers を使用したメモリ効率の良い attention(`xformers` パッケージが必要)。`--sdpa` の代替。 + +* `--mem_eff_attn` + * メモリ効率の良い attention 実装を使用。`--sdpa` の別の代替。 +
+ +### 4.7. Other Useful Arguments / その他の便利な引数 + +* `--seed=42` + * Random seed for reproducibility. If not specified, a random seed is automatically generated. + +* `--noise_offset=0.05` + * Enable noise offset. Small values like `0.02` to `0.1` can help with training stability. + +* `--zero_terminal_snr` + * Fix noise scheduler betas to enforce zero terminal SNR. + +* `--clip_skip=2` (SD 1.x/2.x only) + * Use the output from the Nth-to-last layer of the text encoder. Common values: `1` (no skip) or `2`. + +* `--logging_dir="logs"` + * Directory for TensorBoard logs. Enables logging when specified. + +* `--log_with="tensorboard"` + * Logging tool. Options: `tensorboard`, `wandb`, `all`. + +
+日本語 + +* `--seed=42` + * 再現性のための乱数シード。指定しない場合は自動生成されます。 + +* `--noise_offset=0.05` + * ノイズオフセットを有効にします。`0.02` から `0.1` 程度の小さい値で学習の安定性が向上する場合があります。 + +* `--zero_terminal_snr` + * noise scheduler の betas を修正してゼロ終端 SNR を強制します。 + +* `--clip_skip=2`(SD 1.x/2.x のみ) + * text encoder の後ろから N 番目の層の出力を使用します。一般的な値: `1`(スキップなし)または `2`。 + +* `--logging_dir="logs"` + * TensorBoard ログの出力ディレクトリ。指定時にログ出力が有効になります。 + +* `--log_with="tensorboard"` + * ログツール。`tensorboard`、`wandb`、`all` から選択。 +
+ +## 5. Tips / ヒント + +### Tuning the Effect Strength / 効果の強さの調整 + +If the trained LoRA has a weak or unnoticeable effect: + +1. **Increase `guidance_scale` in TOML** (e.g., `1.5` to `3.0`). This is the most direct way to strengthen the effect. +2. **Increase `multiplier` in TOML** (e.g., `1.5` to `2.0`). +3. **Increase `--max_denoising_steps`** for more refined intermediate latents. +4. **Increase `--max_train_steps`** to train longer. +5. **Apply the LoRA with a higher weight** at inference time. + +
+日本語 + +学習した LoRA の効果が弱い、または認識できない場合: + +1. **TOML の `guidance_scale` を上げる**(例:`1.5` から `3.0`)。効果を強める最も直接的な方法です。 +2. **TOML の `multiplier` を上げる**(例:`1.5` から `2.0`)。 +3. **`--max_denoising_steps` を増やす**。より精緻な中間 latent が生成されます。 +4. **`--max_train_steps` を増やして**、より長く学習する。 +5. **推論時に LoRA のウェイトを大きくして**適用する。 +
+ +### Recommended Starting Settings / 推奨の開始設定 + +| Parameter | SD 1.x/2.x | SDXL | +|-----------|-------------|------| +| `--network_dim` | `4`-`8` | `8`-`16` | +| `--learning_rate` | `1e-4` | `1e-4` | +| `--max_train_steps` | `300`-`1000` | `500`-`2000` | +| `resolution` (in TOML) | `512` | `1024` | +| `guidance_scale` (in TOML) | `1.0`-`2.0` | `1.0`-`3.0` | +| `batch_size` (in TOML) | `1`-`4` | `1`-`4` | + +
+日本語 + +| パラメータ | SD 1.x/2.x | SDXL | +|-----------|-------------|------| +| `--network_dim` | `4`-`8` | `8`-`16` | +| `--learning_rate` | `1e-4` | `1e-4` | +| `--max_train_steps` | `300`-`1000` | `500`-`2000` | +| `resolution`(TOML内) | `512` | `1024` | +| `guidance_scale`(TOML内) | `1.0`-`2.0` | `1.0`-`3.0` | +| `batch_size`(TOML内) | `1`-`4` | `1`-`4` | +
+ +### Dynamic Resolution and Crops (SDXL) / 動的解像度とクロップ(SDXL) + +For SDXL slider targets, you can enable dynamic resolution and crops in the TOML file: + +```toml +resolution = 1024 +dynamic_resolution = true +dynamic_crops = true + +[[targets]] +target_class = "" +positive = "high detail" +negative = "low detail" +``` + +- `dynamic_resolution`: Randomly varies the training resolution around the base value using aspect ratio buckets. +- `dynamic_crops`: Randomizes crop positions in the SDXL size conditioning embeddings. + +These options can improve the LoRA's generalization across different aspect ratios. + +
+日本語 + +SDXL のスライダーターゲットでは、TOML ファイルで動的解像度とクロップを有効にできます。 + +- `dynamic_resolution`: アスペクト比バケツを使用して、ベース値の周囲で学習解像度をランダムに変化させます。 +- `dynamic_crops`: SDXL のサイズ条件付け埋め込みでクロップ位置をランダム化します。 + +これらのオプションにより、異なるアスペクト比に対する LoRA の汎化性能が向上する場合があります。 +
+ +## 6. Using the Trained Model / 学習済みモデルの利用 + +The trained LoRA file (`.safetensors`) is saved in the `--output_dir` directory. It can be used with GUI tools such as AUTOMATIC1111/stable-diffusion-webui, ComfyUI, etc. + +For slider LoRAs, apply positive weights (e.g., `0.5` to `1.5`) to move in the positive direction, and negative weights (e.g., `-0.5` to `-1.5`) to move in the negative direction. + +
+日本語 + +学習済みの LoRA ファイル(`.safetensors`)は `--output_dir` ディレクトリに保存されます。AUTOMATIC1111/stable-diffusion-webui、ComfyUI 等の GUI ツールで使用できます。 + +スライダー LoRA の場合、正のウェイト(例:`0.5` から `1.5`)で正方向に、負のウェイト(例:`-0.5` から `-1.5`)で負方向に効果を適用できます。 +
diff --git a/library/leco_train_util.py b/library/leco_train_util.py new file mode 100644 index 000000000..5e95c163e --- /dev/null +++ b/library/leco_train_util.py @@ -0,0 +1,522 @@ +import argparse +import json +import math +import os +from dataclasses import dataclass +from pathlib import Path +from typing import Any, Dict, Iterable, List, Optional, Sequence, Tuple, Union + +import torch +import toml +from torch.utils.checkpoint import checkpoint + +from library import train_util + +import logging + +logger = logging.getLogger(__name__) + + +def build_network_kwargs(args: argparse.Namespace) -> Dict[str, str]: + kwargs = {} + if args.network_args: + for net_arg in args.network_args: + key, value = net_arg.split("=", 1) + kwargs[key] = value + if "dropout" not in kwargs: + kwargs["dropout"] = args.network_dropout + return kwargs + + +def get_save_extension(args: argparse.Namespace) -> str: + if args.save_model_as == "ckpt": + return ".ckpt" + if args.save_model_as == "pt": + return ".pt" + return ".safetensors" + + +def save_weights( + accelerator, + network, + args: argparse.Namespace, + save_dtype, + prompt_settings, + global_step: int, + last: bool = False, + extra_metadata: Optional[Dict[str, str]] = None, +) -> None: + os.makedirs(args.output_dir, exist_ok=True) + ext = get_save_extension(args) + ckpt_name = train_util.get_last_ckpt_name(args, ext) if last else train_util.get_step_ckpt_name(args, ext, global_step) + ckpt_file = os.path.join(args.output_dir, ckpt_name) + + metadata = None + if not args.no_metadata: + metadata = { + "ss_network_module": args.network_module, + "ss_network_dim": str(args.network_dim), + "ss_network_alpha": str(args.network_alpha), + "ss_leco_prompt_count": str(len(prompt_settings)), + "ss_leco_prompts_file": os.path.basename(args.prompts_file), + } + if extra_metadata: + metadata.update(extra_metadata) + if args.training_comment: + metadata["ss_training_comment"] = args.training_comment + metadata["ss_leco_preview"] = json.dumps( + [ + { + "target": p.target, + "positive": p.positive, + "unconditional": p.unconditional, + "neutral": p.neutral, + "action": p.action, + "multiplier": p.multiplier, + "weight": p.weight, + } + for p in prompt_settings[:16] + ], + ensure_ascii=False, + ) + + unwrapped = accelerator.unwrap_model(network) + unwrapped.save_weights(ckpt_file, save_dtype, metadata) + logger.info(f"saved model to: {ckpt_file}") + + + +ResolutionValue = Union[int, Tuple[int, int]] + + +@dataclass +class PromptEmbedsXL: + text_embeds: torch.Tensor + pooled_embeds: torch.Tensor + + +class PromptEmbedsCache: + def __init__(self): + self.prompts: dict[str, Any] = {} + + def __setitem__(self, name: str, value: Any) -> None: + self.prompts[name] = value + + def __getitem__(self, name: str) -> Any: + return self.prompts[name] + + +@dataclass +class PromptSettings: + target: str + positive: Optional[str] = None + unconditional: str = "" + neutral: Optional[str] = None + action: str = "erase" + guidance_scale: float = 1.0 + resolution: ResolutionValue = 512 + dynamic_resolution: bool = False + batch_size: int = 1 + dynamic_crops: bool = False + multiplier: float = 1.0 + weight: float = 1.0 + + def __post_init__(self): + if self.positive is None: + self.positive = self.target + if self.neutral is None: + self.neutral = self.unconditional + if self.action not in ("erase", "enhance"): + raise ValueError(f"Invalid action: {self.action}") + + self.guidance_scale = float(self.guidance_scale) + self.batch_size = int(self.batch_size) + self.multiplier = float(self.multiplier) + self.weight = float(self.weight) + self.dynamic_resolution = bool(self.dynamic_resolution) + self.dynamic_crops = bool(self.dynamic_crops) + self.resolution = normalize_resolution(self.resolution) + + def get_resolution(self) -> Tuple[int, int]: + if isinstance(self.resolution, tuple): + return self.resolution + return (self.resolution, self.resolution) + + def build_target(self, positive_latents, neutral_latents, unconditional_latents): + offset = self.guidance_scale * (positive_latents - unconditional_latents) + if self.action == "erase": + return neutral_latents - offset + return neutral_latents + offset + + +def normalize_resolution(value: Any) -> ResolutionValue: + if isinstance(value, tuple): + if len(value) != 2: + raise ValueError(f"resolution tuple must have 2 items: {value}") + return (int(value[0]), int(value[1])) + if isinstance(value, list): + if len(value) == 2 and all(isinstance(v, (int, float)) for v in value): + return (int(value[0]), int(value[1])) + raise ValueError(f"resolution list must have 2 numeric items: {value}") + return int(value) + + +def _read_non_empty_lines(path: Union[str, Path]) -> List[str]: + with open(path, "r", encoding="utf-8") as f: + return [line.strip() for line in f.readlines() if line.strip()] + + +def _recognized_prompt_keys() -> set[str]: + return { + "target", + "positive", + "unconditional", + "neutral", + "action", + "guidance_scale", + "resolution", + "dynamic_resolution", + "batch_size", + "dynamic_crops", + "multiplier", + "weight", + } + + +def _recognized_slider_keys() -> set[str]: + return { + "target_class", + "positive", + "negative", + "neutral", + "guidance_scale", + "resolution", + "resolutions", + "dynamic_resolution", + "batch_size", + "dynamic_crops", + "multiplier", + "weight", + } + + +def _merge_known_defaults(defaults: dict[str, Any], item: dict[str, Any], known_keys: Iterable[str]) -> dict[str, Any]: + merged = {k: v for k, v in defaults.items() if k in known_keys} + merged.update(item) + return merged + + +def _normalize_resolution_values(value: Any) -> List[ResolutionValue]: + if value is None: + return [512] + if isinstance(value, list) and value and isinstance(value[0], (list, tuple)): + return [normalize_resolution(v) for v in value] + return [normalize_resolution(value)] + + +def _expand_slider_target(target: dict[str, Any], neutral: str) -> List[PromptSettings]: + target_class = str(target.get("target_class", "")) + positive = str(target.get("positive", "") or "") + negative = str(target.get("negative", "") or "") + multiplier = target.get("multiplier", 1.0) + resolutions = _normalize_resolution_values(target.get("resolutions", target.get("resolution", 512))) + + if not positive.strip() and not negative.strip(): + raise ValueError("slider target requires either positive or negative prompt") + + base = dict( + target=target_class, + neutral=neutral, + guidance_scale=target.get("guidance_scale", 1.0), + dynamic_resolution=target.get("dynamic_resolution", False), + batch_size=target.get("batch_size", 1), + dynamic_crops=target.get("dynamic_crops", False), + weight=target.get("weight", 1.0), + ) + + # Build bidirectional (positive_prompt, unconditional_prompt, action, multiplier_sign) pairs. + # With both positive and negative: 4 pairs; with only one: 2 pairs. + pairs: list[tuple[str, str, str, float]] = [] + if positive.strip() and negative.strip(): + pairs = [ + (negative, positive, "erase", multiplier), + (positive, negative, "enhance", multiplier), + (positive, negative, "erase", -multiplier), + (negative, positive, "enhance", -multiplier), + ] + elif negative.strip(): + pairs = [ + (negative, "", "erase", multiplier), + (negative, "", "enhance", -multiplier), + ] + else: + pairs = [ + (positive, "", "enhance", multiplier), + (positive, "", "erase", -multiplier), + ] + + prompt_settings: List[PromptSettings] = [] + for resolution in resolutions: + for pos, uncond, action, mult in pairs: + prompt_settings.append( + PromptSettings(**base, positive=pos, unconditional=uncond, action=action, resolution=resolution, multiplier=mult) + ) + + return prompt_settings + + +def load_prompt_settings(path: Union[str, Path]) -> List[PromptSettings]: + path = Path(path) + with open(path, "r", encoding="utf-8") as f: + data = toml.load(f) + + if not data: + raise ValueError("prompt file is empty") + + default_prompt_values = { + "guidance_scale": 1.0, + "resolution": 512, + "dynamic_resolution": False, + "batch_size": 1, + "dynamic_crops": False, + "multiplier": 1.0, + "weight": 1.0, + } + + prompt_settings: List[PromptSettings] = [] + + def append_prompt_item(item: dict[str, Any], defaults: dict[str, Any]) -> None: + merged = _merge_known_defaults(defaults, item, _recognized_prompt_keys()) + prompt_settings.append(PromptSettings(**merged)) + + def append_slider_item(item: dict[str, Any], defaults: dict[str, Any], neutral_values: Sequence[str]) -> None: + merged = _merge_known_defaults(defaults, item, _recognized_slider_keys()) + if not neutral_values: + neutral_values = [str(merged.get("neutral", "") or "")] + for neutral in neutral_values: + prompt_settings.extend(_expand_slider_target(merged, neutral)) + + if "prompts" in data: + defaults = {**default_prompt_values, **{k: v for k, v in data.items() if k in _recognized_prompt_keys()}} + for item in data["prompts"]: + if "target_class" in item: + append_slider_item(item, defaults, [str(item.get("neutral", "") or "")]) + else: + append_prompt_item(item, defaults) + else: + slider_config = data.get("slider", data) + targets = slider_config.get("targets") + if targets is None: + if "target_class" in slider_config: + targets = [slider_config] + elif "target" in slider_config: + targets = [slider_config] + else: + raise ValueError("prompt file does not contain prompts or slider targets") + if len(targets) == 0: + raise ValueError("prompt file contains an empty targets list") + + if "target" in targets[0]: + defaults = {**default_prompt_values, **{k: v for k, v in slider_config.items() if k in _recognized_prompt_keys()}} + for item in targets: + append_prompt_item(item, defaults) + else: + defaults = {**default_prompt_values, **{k: v for k, v in slider_config.items() if k in _recognized_slider_keys()}} + neutral_values: List[str] = [] + if "neutrals" in slider_config: + neutral_values.extend(str(v) for v in slider_config["neutrals"]) + if "neutral_prompt_file" in slider_config: + neutral_values.extend(_read_non_empty_lines(path.parent / slider_config["neutral_prompt_file"])) + if "prompt_file" in slider_config: + neutral_values.extend(_read_non_empty_lines(path.parent / slider_config["prompt_file"])) + if not neutral_values: + neutral_values = [str(slider_config.get("neutral", "") or "")] + + for item in targets: + item_neutrals = neutral_values + if "neutrals" in item: + item_neutrals = [str(v) for v in item["neutrals"]] + elif "neutral_prompt_file" in item: + item_neutrals = _read_non_empty_lines(path.parent / item["neutral_prompt_file"]) + elif "prompt_file" in item: + item_neutrals = _read_non_empty_lines(path.parent / item["prompt_file"]) + elif "neutral" in item: + item_neutrals = [str(item["neutral"] or "")] + + append_slider_item(item, defaults, item_neutrals) + + if not prompt_settings: + raise ValueError("no prompt settings found") + + return prompt_settings + + +def encode_prompt_sd(tokenize_strategy, text_encoding_strategy, text_encoder, prompt: str) -> torch.Tensor: + tokens = tokenize_strategy.tokenize(prompt) + return text_encoding_strategy.encode_tokens(tokenize_strategy, [text_encoder], tokens)[0] + + +def encode_prompt_sdxl(tokenize_strategy, text_encoding_strategy, text_encoders, prompt: str) -> PromptEmbedsXL: + tokens = tokenize_strategy.tokenize(prompt) + hidden1, hidden2, pool2 = text_encoding_strategy.encode_tokens(tokenize_strategy, text_encoders, tokens) + return PromptEmbedsXL(torch.cat([hidden1, hidden2], dim=2), pool2) + + +def apply_noise_offset(latents: torch.Tensor, noise_offset: Optional[float]) -> torch.Tensor: + if noise_offset is None: + return latents + noise = torch.randn((latents.shape[0], latents.shape[1], 1, 1), dtype=torch.float32, device="cpu") + noise = noise.to(dtype=latents.dtype, device=latents.device) + return latents + noise_offset * noise + + +def get_initial_latents(scheduler, batch_size: int, height: int, width: int, n_prompts: int = 1) -> torch.Tensor: + noise = torch.randn( + (batch_size, 4, height // 8, width // 8), + device="cpu", + ).repeat(n_prompts, 1, 1, 1) + return noise * scheduler.init_noise_sigma + + +def concat_embeddings(unconditional: torch.Tensor, conditional: torch.Tensor, batch_size: int) -> torch.Tensor: + return torch.cat([unconditional, conditional], dim=0).repeat_interleave(batch_size, dim=0) + + +def concat_embeddings_xl(unconditional: PromptEmbedsXL, conditional: PromptEmbedsXL, batch_size: int) -> PromptEmbedsXL: + text_embeds = torch.cat([unconditional.text_embeds, conditional.text_embeds], dim=0).repeat_interleave(batch_size, dim=0) + pooled_embeds = torch.cat([unconditional.pooled_embeds, conditional.pooled_embeds], dim=0).repeat_interleave(batch_size, dim=0) + return PromptEmbedsXL(text_embeds=text_embeds, pooled_embeds=pooled_embeds) + + +def batch_add_time_ids(add_time_ids: torch.Tensor, batch_size: int) -> torch.Tensor: + """Duplicate add_time_ids for CFG (unconditional + conditional) and repeat for the batch.""" + return torch.cat([add_time_ids, add_time_ids], dim=0).repeat_interleave(batch_size, dim=0) + + +def _run_with_checkpoint(function, *args): + if torch.is_grad_enabled(): + return checkpoint(function, *args, use_reentrant=False) + return function(*args) + + +def predict_noise(unet, scheduler, timestep, latents: torch.Tensor, text_embeddings: torch.Tensor, guidance_scale: float = 1.0): + latent_model_input = torch.cat([latents] * 2) + latent_model_input = scheduler.scale_model_input(latent_model_input, timestep) + + def run_unet(model_input, encoder_hidden_states): + return unet(model_input, timestep, encoder_hidden_states=encoder_hidden_states).sample + + noise_pred = _run_with_checkpoint(run_unet, latent_model_input, text_embeddings) + noise_pred_uncond, noise_pred_text = noise_pred.chunk(2) + return noise_pred_uncond + guidance_scale * (noise_pred_text - noise_pred_uncond) + + +def diffusion( + unet, + scheduler, + latents: torch.Tensor, + text_embeddings: torch.Tensor, + total_timesteps: int, + start_timesteps: int = 0, + guidance_scale: float = 3.0, +): + for timestep in scheduler.timesteps[start_timesteps:total_timesteps]: + noise_pred = predict_noise(unet, scheduler, timestep, latents, text_embeddings, guidance_scale=guidance_scale) + latents = scheduler.step(noise_pred, timestep, latents).prev_sample + return latents + + +def get_add_time_ids( + height: int, + width: int, + dynamic_crops: bool = False, + dtype: torch.dtype = torch.float32, + device: Optional[torch.device] = None, +) -> torch.Tensor: + if dynamic_crops: + random_scale = torch.rand(1).item() * 2 + 1 + original_size = (int(height * random_scale), int(width * random_scale)) + crops_coords_top_left = ( + torch.randint(0, max(original_size[0] - height, 1), (1,)).item(), + torch.randint(0, max(original_size[1] - width, 1), (1,)).item(), + ) + target_size = (height, width) + else: + original_size = (height, width) + crops_coords_top_left = (0, 0) + target_size = (height, width) + + add_time_ids = torch.tensor([list(original_size + crops_coords_top_left + target_size)], dtype=dtype) + if device is not None: + add_time_ids = add_time_ids.to(device) + return add_time_ids + + +def predict_noise_xl( + unet, + scheduler, + timestep, + latents: torch.Tensor, + prompt_embeds: PromptEmbedsXL, + add_time_ids: torch.Tensor, + guidance_scale: float = 1.0, +): + latent_model_input = torch.cat([latents] * 2) + latent_model_input = scheduler.scale_model_input(latent_model_input, timestep) + + orig_size = add_time_ids[:, :2] + crop_size = add_time_ids[:, 2:4] + target_size = add_time_ids[:, 4:6] + from library import sdxl_train_util + + size_embeddings = sdxl_train_util.get_size_embeddings(orig_size, crop_size, target_size, latent_model_input.device) + vector_embedding = torch.cat([prompt_embeds.pooled_embeds, size_embeddings.to(prompt_embeds.pooled_embeds.dtype)], dim=1) + + def run_unet(model_input, text_embeds, vector_embeds): + return unet(model_input, timestep, text_embeds, vector_embeds) + + noise_pred = _run_with_checkpoint(run_unet, latent_model_input, prompt_embeds.text_embeds, vector_embedding) + noise_pred_uncond, noise_pred_text = noise_pred.chunk(2) + return noise_pred_uncond + guidance_scale * (noise_pred_text - noise_pred_uncond) + + +def diffusion_xl( + unet, + scheduler, + latents: torch.Tensor, + prompt_embeds: PromptEmbedsXL, + add_time_ids: torch.Tensor, + total_timesteps: int, + start_timesteps: int = 0, + guidance_scale: float = 3.0, +): + for timestep in scheduler.timesteps[start_timesteps:total_timesteps]: + noise_pred = predict_noise_xl( + unet, + scheduler, + timestep, + latents, + prompt_embeds=prompt_embeds, + add_time_ids=add_time_ids, + guidance_scale=guidance_scale, + ) + latents = scheduler.step(noise_pred, timestep, latents).prev_sample + return latents + + +def get_random_resolution_in_bucket(bucket_resolution: int = 512) -> Tuple[int, int]: + max_resolution = bucket_resolution + min_resolution = bucket_resolution // 2 + step = 64 + min_step = min_resolution // step + max_step = max_resolution // step + height = torch.randint(min_step, max_step + 1, (1,)).item() * step + width = torch.randint(min_step, max_step + 1, (1,)).item() * step + return height, width + + +def get_random_resolution(prompt: PromptSettings) -> Tuple[int, int]: + height, width = prompt.get_resolution() + if prompt.dynamic_resolution and height == width: + return get_random_resolution_in_bucket(height) + return height, width diff --git a/library/train_util.py b/library/train_util.py index 672aa5975..83d04f5e6 100644 --- a/library/train_util.py +++ b/library/train_util.py @@ -1106,7 +1106,8 @@ def is_text_encoder_output_cacheable(self, cache_supports_dropout: bool = False) return all( [ not ( - subset.caption_dropout_rate > 0 and not cache_supports_dropout + subset.caption_dropout_rate > 0 + and not cache_supports_dropout or subset.shuffle_caption or subset.token_warmup_step > 0 or subset.caption_tag_dropout_rate > 0 @@ -2056,7 +2057,9 @@ def load_dreambooth_dir(subset: DreamBoothSubset): filtered_img_paths.append(img_path) filtered_sizes.append(size) if len(filtered_img_paths) < len(img_paths): - logger.info(f"filtered {len(img_paths) - len(filtered_img_paths)} images by original resolution from {subset.image_dir}") + logger.info( + f"filtered {len(img_paths) - len(filtered_img_paths)} images by original resolution from {subset.image_dir}" + ) img_paths = filtered_img_paths sizes = filtered_sizes @@ -2542,9 +2545,7 @@ def __init__( len(missing_imgs) == 0 ), f"missing conditioning data for {len(missing_imgs)} images / 制御用画像が見つかりませんでした: {missing_imgs}" if len(extra_imgs) > 0: - logger.warning( - f"extra conditioning data for {len(extra_imgs)} images / 余分な制御用画像があります: {extra_imgs}" - ) + logger.warning(f"extra conditioning data for {len(extra_imgs)} images / 余分な制御用画像があります: {extra_imgs}") self.conditioning_image_transforms = IMAGE_TRANSFORMS diff --git a/sdxl_train_leco.py b/sdxl_train_leco.py new file mode 100644 index 000000000..ff5550f90 --- /dev/null +++ b/sdxl_train_leco.py @@ -0,0 +1,342 @@ +import argparse +import importlib +import random + +import torch +from accelerate.utils import set_seed +from diffusers import DDPMScheduler +from tqdm import tqdm + +from library.device_utils import init_ipex, clean_memory_on_device + +init_ipex() + +from library import custom_train_functions, sdxl_model_util, sdxl_train_util, strategy_sdxl, train_util +from library.custom_train_functions import apply_snr_weight, prepare_scheduler_for_custom_training +from library.leco_train_util import ( + PromptEmbedsCache, + apply_noise_offset, + batch_add_time_ids, + build_network_kwargs, + concat_embeddings_xl, + diffusion_xl, + encode_prompt_sdxl, + get_add_time_ids, + get_initial_latents, + get_random_resolution, + load_prompt_settings, + predict_noise_xl, + save_weights, +) +from library.utils import add_logging_arguments, setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + + +def setup_parser() -> argparse.ArgumentParser: + parser = argparse.ArgumentParser() + train_util.add_sd_models_arguments(parser) + train_util.add_optimizer_arguments(parser) + train_util.add_training_arguments(parser, support_dreambooth=False) + custom_train_functions.add_custom_train_arguments(parser, support_weighted_captions=False) + sdxl_train_util.add_sdxl_training_arguments(parser, support_text_encoder_caching=False) + add_logging_arguments(parser) + + parser.add_argument( + "--save_model_as", + type=str, + default="safetensors", + choices=[None, "ckpt", "pt", "safetensors"], + help="format to save the model (default is .safetensors) / モデル保存時の形式(デフォルトはsafetensors)", + ) + parser.add_argument("--no_metadata", action="store_true", help="do not save metadata in output model / メタデータを保存しない") + + parser.add_argument("--prompts_file", type=str, required=True, help="LECO prompt toml / LECO用のprompt toml") + parser.add_argument( + "--max_denoising_steps", + type=int, + default=40, + help="number of partial denoising steps per iteration / 各イテレーションで部分デノイズするステップ数", + ) + parser.add_argument( + "--leco_denoise_guidance_scale", + type=float, + default=3.0, + help="guidance scale for the partial denoising pass / 部分デノイズ時のguidance scale", + ) + + parser.add_argument("--network_weights", type=str, default=None, help="pretrained weights for network") + parser.add_argument("--network_module", type=str, default="networks.lora", help="network module to train") + parser.add_argument("--network_dim", type=int, default=4, help="network rank / ネットワークのrank") + parser.add_argument("--network_alpha", type=float, default=1.0, help="network alpha / ネットワークのalpha") + parser.add_argument("--network_dropout", type=float, default=None, help="network dropout / ネットワークのdropout") + parser.add_argument("--network_args", type=str, default=None, nargs="*", help="additional network arguments") + parser.add_argument( + "--network_train_text_encoder_only", + action="store_true", + help="unsupported for LECO; kept for compatibility / LECOでは未対応", + ) + parser.add_argument( + "--network_train_unet_only", + action="store_true", + help="LECO always trains U-Net LoRA only / LECOは常にU-Net LoRAのみを学習", + ) + parser.add_argument("--training_comment", type=str, default=None, help="comment stored in metadata") + parser.add_argument("--dim_from_weights", action="store_true", help="infer network dim from network_weights") + parser.add_argument("--unet_lr", type=float, default=None, help="learning rate for U-Net / U-Netの学習率") + + # dummy arguments required by train_util.verify_training_args / deepspeed_utils (LECO does not use datasets or deepspeed) + parser.add_argument("--cache_latents", action="store_true", default=False, help=argparse.SUPPRESS) + parser.add_argument("--cache_latents_to_disk", action="store_true", default=False, help=argparse.SUPPRESS) + parser.add_argument("--deepspeed", action="store_true", default=False, help=argparse.SUPPRESS) + + return parser + + +def main(): + parser = setup_parser() + args = parser.parse_args() + args = train_util.read_config_from_file(args, parser) + train_util.verify_training_args(args) + sdxl_train_util.verify_sdxl_training_args(args, support_text_encoder_caching=False) + + if args.output_dir is None: + raise ValueError("--output_dir is required") + if args.network_train_text_encoder_only: + raise ValueError("LECO does not support text encoder LoRA training") + + if args.seed is None: + args.seed = random.randint(0, 2**32 - 1) + set_seed(args.seed) + + accelerator = train_util.prepare_accelerator(args) + weight_dtype, save_dtype = train_util.prepare_dtype(args) + + prompt_settings = load_prompt_settings(args.prompts_file) + logger.info(f"loaded {len(prompt_settings)} LECO prompt settings from {args.prompts_file}") + + _, text_encoder1, text_encoder2, vae, unet, _, _ = sdxl_train_util.load_target_model( + args, accelerator, sdxl_model_util.MODEL_VERSION_SDXL_BASE_V1_0, weight_dtype + ) + del vae + text_encoders = [text_encoder1, text_encoder2] + + train_util.replace_unet_modules(unet, args.mem_eff_attn, args.xformers, args.sdpa) + unet.requires_grad_(False) + unet.to(accelerator.device, dtype=weight_dtype) + unet.train() + + tokenize_strategy = strategy_sdxl.SdxlTokenizeStrategy(args.max_token_length, args.tokenizer_cache_dir) + text_encoding_strategy = strategy_sdxl.SdxlTextEncodingStrategy() + + for text_encoder in text_encoders: + text_encoder.to(accelerator.device, dtype=weight_dtype) + text_encoder.requires_grad_(False) + text_encoder.eval() + + prompt_cache = PromptEmbedsCache() + unique_prompts = sorted( + { + prompt + for setting in prompt_settings + for prompt in (setting.target, setting.positive, setting.unconditional, setting.neutral) + } + ) + with torch.no_grad(): + for prompt in unique_prompts: + prompt_cache[prompt] = encode_prompt_sdxl(tokenize_strategy, text_encoding_strategy, text_encoders, prompt) + + for text_encoder in text_encoders: + text_encoder.to("cpu", dtype=torch.float32) + clean_memory_on_device(accelerator.device) + + noise_scheduler = DDPMScheduler( + beta_start=0.00085, + beta_end=0.012, + beta_schedule="scaled_linear", + num_train_timesteps=1000, + clip_sample=False, + ) + prepare_scheduler_for_custom_training(noise_scheduler, accelerator.device) + if args.zero_terminal_snr: + custom_train_functions.fix_noise_scheduler_betas_for_zero_terminal_snr(noise_scheduler) + + network_module = importlib.import_module(args.network_module) + net_kwargs = build_network_kwargs(args) + if args.dim_from_weights: + if args.network_weights is None: + raise ValueError("--dim_from_weights requires --network_weights") + network, _ = network_module.create_network_from_weights(1.0, args.network_weights, None, text_encoders, unet, **net_kwargs) + else: + network = network_module.create_network( + 1.0, + args.network_dim, + args.network_alpha, + None, + text_encoders, + unet, + neuron_dropout=args.network_dropout, + **net_kwargs, + ) + + network.apply_to(text_encoders, unet, apply_text_encoder=False, apply_unet=True) + network.set_multiplier(0.0) + + if args.network_weights is not None: + info = network.load_weights(args.network_weights) + logger.info(f"loaded network weights from {args.network_weights}: {info}") + + if args.gradient_checkpointing: + unet.enable_gradient_checkpointing() + network.enable_gradient_checkpointing() + + unet_lr = args.unet_lr if args.unet_lr is not None else args.learning_rate + trainable_params, _ = network.prepare_optimizer_params(None, unet_lr, args.learning_rate) + _, _, optimizer = train_util.get_optimizer(args, trainable_params) + lr_scheduler = train_util.get_scheduler_fix(args, optimizer, accelerator.num_processes) + + network, optimizer, lr_scheduler = accelerator.prepare(network, optimizer, lr_scheduler) + accelerator.unwrap_model(network).prepare_grad_etc(text_encoders, unet) + + if args.full_fp16: + train_util.patch_accelerator_for_fp16_training(accelerator) + + optimizer_train_fn, _ = train_util.get_optimizer_train_eval_fn(optimizer, args) + optimizer_train_fn() + train_util.init_trackers(accelerator, args, "sdxl_leco_train") + + progress_bar = tqdm(total=args.max_train_steps, disable=not accelerator.is_local_main_process, desc="steps") + global_step = 0 + + while global_step < args.max_train_steps: + with accelerator.accumulate(network): + optimizer.zero_grad(set_to_none=True) + + setting = prompt_settings[torch.randint(0, len(prompt_settings), (1,)).item()] + noise_scheduler.set_timesteps(args.max_denoising_steps, device=accelerator.device) + + timesteps_to = torch.randint(1, args.max_denoising_steps, (1,), device=accelerator.device).item() + height, width = get_random_resolution(setting) + + latents = get_initial_latents(noise_scheduler, setting.batch_size, height, width, 1).to( + accelerator.device, dtype=weight_dtype + ) + latents = apply_noise_offset(latents, args.noise_offset) + add_time_ids = get_add_time_ids( + height, + width, + dynamic_crops=setting.dynamic_crops, + dtype=weight_dtype, + device=accelerator.device, + ) + batched_time_ids = batch_add_time_ids(add_time_ids, setting.batch_size) + + network_multiplier = accelerator.unwrap_model(network) + network_multiplier.set_multiplier(setting.multiplier) + with accelerator.autocast(): + denoised_latents = diffusion_xl( + unet, + noise_scheduler, + latents, + concat_embeddings_xl(prompt_cache[setting.unconditional], prompt_cache[setting.target], setting.batch_size), + add_time_ids=batched_time_ids, + total_timesteps=timesteps_to, + guidance_scale=args.leco_denoise_guidance_scale, + ) + + noise_scheduler.set_timesteps(1000, device=accelerator.device) + current_timestep_index = int(timesteps_to * 1000 / args.max_denoising_steps) + current_timestep = noise_scheduler.timesteps[current_timestep_index] + + network_multiplier.set_multiplier(0.0) + with torch.no_grad(), accelerator.autocast(): + positive_latents = predict_noise_xl( + unet, + noise_scheduler, + current_timestep, + denoised_latents, + concat_embeddings_xl(prompt_cache[setting.unconditional], prompt_cache[setting.positive], setting.batch_size), + add_time_ids=batched_time_ids, + guidance_scale=1.0, + ) + neutral_latents = predict_noise_xl( + unet, + noise_scheduler, + current_timestep, + denoised_latents, + concat_embeddings_xl(prompt_cache[setting.unconditional], prompt_cache[setting.neutral], setting.batch_size), + add_time_ids=batched_time_ids, + guidance_scale=1.0, + ) + unconditional_latents = predict_noise_xl( + unet, + noise_scheduler, + current_timestep, + denoised_latents, + concat_embeddings_xl(prompt_cache[setting.unconditional], prompt_cache[setting.unconditional], setting.batch_size), + add_time_ids=batched_time_ids, + guidance_scale=1.0, + ) + + network_multiplier.set_multiplier(setting.multiplier) + with accelerator.autocast(): + target_latents = predict_noise_xl( + unet, + noise_scheduler, + current_timestep, + denoised_latents, + concat_embeddings_xl(prompt_cache[setting.unconditional], prompt_cache[setting.target], setting.batch_size), + add_time_ids=batched_time_ids, + guidance_scale=1.0, + ) + + target = setting.build_target(positive_latents, neutral_latents, unconditional_latents) + loss = torch.nn.functional.mse_loss(target_latents.float(), target.float(), reduction="none") + loss = loss.mean(dim=(1, 2, 3)) + if args.min_snr_gamma is not None and args.min_snr_gamma > 0: + timesteps = torch.full((loss.shape[0],), current_timestep_index, device=loss.device, dtype=torch.long) + loss = apply_snr_weight(loss, timesteps, noise_scheduler, args.min_snr_gamma, args.v_parameterization) + loss = loss.mean() * setting.weight + + accelerator.backward(loss) + + if accelerator.sync_gradients and args.max_grad_norm != 0.0: + accelerator.clip_grad_norm_(network.parameters(), args.max_grad_norm) + + optimizer.step() + lr_scheduler.step() + + if accelerator.sync_gradients: + global_step += 1 + progress_bar.update(1) + network_multiplier = accelerator.unwrap_model(network) + network_multiplier.set_multiplier(0.0) + + logs = { + "loss": loss.detach().item(), + "lr": lr_scheduler.get_last_lr()[0], + "guidance_scale": setting.guidance_scale, + "network_multiplier": setting.multiplier, + } + accelerator.log(logs, step=global_step) + progress_bar.set_postfix(loss=f"{logs['loss']:.4f}") + + if args.save_every_n_steps and global_step % args.save_every_n_steps == 0 and global_step < args.max_train_steps: + accelerator.wait_for_everyone() + if accelerator.is_main_process: + sdxl_extra = {"ss_base_model_version": sdxl_model_util.MODEL_VERSION_SDXL_BASE_V1_0} + save_weights(accelerator, network, args, save_dtype, prompt_settings, global_step, last=False, extra_metadata=sdxl_extra) + + accelerator.wait_for_everyone() + if accelerator.is_main_process: + sdxl_extra = {"ss_base_model_version": sdxl_model_util.MODEL_VERSION_SDXL_BASE_V1_0} + save_weights(accelerator, network, args, save_dtype, prompt_settings, global_step, last=True, extra_metadata=sdxl_extra) + + accelerator.end_training() + + +if __name__ == "__main__": + main() diff --git a/tests/library/test_leco_train_util.py b/tests/library/test_leco_train_util.py new file mode 100644 index 000000000..5e950f432 --- /dev/null +++ b/tests/library/test_leco_train_util.py @@ -0,0 +1,116 @@ +from pathlib import Path + +import torch + +from library.leco_train_util import load_prompt_settings + + +def test_load_prompt_settings_with_original_format(tmp_path: Path): + prompt_file = tmp_path / "prompts.toml" + prompt_file.write_text( + """ +[[prompts]] +target = "van gogh" +guidance_scale = 1.5 +resolution = 512 +""".strip(), + encoding="utf-8", + ) + + prompts = load_prompt_settings(prompt_file) + + assert len(prompts) == 1 + assert prompts[0].target == "van gogh" + assert prompts[0].positive == "van gogh" + assert prompts[0].unconditional == "" + assert prompts[0].neutral == "" + assert prompts[0].action == "erase" + assert prompts[0].guidance_scale == 1.5 + + +def test_load_prompt_settings_with_slider_targets(tmp_path: Path): + prompt_file = tmp_path / "slider.toml" + prompt_file.write_text( + """ +guidance_scale = 2.0 +resolution = 768 +neutral = "" + +[[targets]] +target_class = "" +positive = "high detail" +negative = "low detail" +multiplier = 1.25 +weight = 0.5 +""".strip(), + encoding="utf-8", + ) + + prompts = load_prompt_settings(prompt_file) + + assert len(prompts) == 4 + + first = prompts[0] + second = prompts[1] + third = prompts[2] + fourth = prompts[3] + + assert first.target == "" + assert first.positive == "low detail" + assert first.unconditional == "high detail" + assert first.action == "erase" + assert first.multiplier == 1.25 + assert first.weight == 0.5 + assert first.get_resolution() == (768, 768) + + assert second.positive == "high detail" + assert second.unconditional == "low detail" + assert second.action == "enhance" + assert second.multiplier == 1.25 + + assert third.action == "erase" + assert third.multiplier == -1.25 + + assert fourth.action == "enhance" + assert fourth.multiplier == -1.25 + + +def test_predict_noise_xl_uses_vector_embedding_from_add_time_ids(): + from library import sdxl_train_util + from library.leco_train_util import PromptEmbedsXL, predict_noise_xl + + class DummyScheduler: + def scale_model_input(self, latent_model_input, timestep): + return latent_model_input + + class DummyUNet: + def __call__(self, x, timesteps, context, y): + self.x = x + self.timesteps = timesteps + self.context = context + self.y = y + return torch.zeros_like(x) + + latents = torch.randn(1, 4, 8, 8) + prompt_embeds = PromptEmbedsXL( + text_embeds=torch.randn(2, 77, 2048), + pooled_embeds=torch.randn(2, 1280), + ) + add_time_ids = torch.tensor( + [ + [1024, 1024, 0, 0, 1024, 1024], + [1024, 1024, 0, 0, 1024, 1024], + ], + dtype=prompt_embeds.pooled_embeds.dtype, + ) + + unet = DummyUNet() + noise_pred = predict_noise_xl(unet, DummyScheduler(), torch.tensor(10), latents, prompt_embeds, add_time_ids) + + expected_size_embeddings = sdxl_train_util.get_size_embeddings( + add_time_ids[:, :2], add_time_ids[:, 2:4], add_time_ids[:, 4:6], latents.device + ).to(prompt_embeds.pooled_embeds.dtype) + + assert noise_pred.shape == latents.shape + assert unet.context is prompt_embeds.text_embeds + assert torch.equal(unet.y, torch.cat([prompt_embeds.pooled_embeds, expected_size_embeddings], dim=1)) diff --git a/tests/test_sdxl_train_leco.py b/tests/test_sdxl_train_leco.py new file mode 100644 index 000000000..637aa28f1 --- /dev/null +++ b/tests/test_sdxl_train_leco.py @@ -0,0 +1,16 @@ +import sdxl_train_leco +from library import deepspeed_utils, sdxl_train_util, train_util + + +def test_syntax(): + assert sdxl_train_leco is not None + + +def test_setup_parser_supports_shared_training_validation(): + args = sdxl_train_leco.setup_parser().parse_args(["--prompts_file", "slider.yaml"]) + + train_util.verify_training_args(args) + sdxl_train_util.verify_sdxl_training_args(args, support_text_encoder_caching=False) + + assert args.min_snr_gamma is None + assert deepspeed_utils.prepare_deepspeed_plugin(args) is None diff --git a/tests/test_train_leco.py b/tests/test_train_leco.py new file mode 100644 index 000000000..4a43d3d76 --- /dev/null +++ b/tests/test_train_leco.py @@ -0,0 +1,15 @@ +import train_leco +from library import deepspeed_utils, train_util + + +def test_syntax(): + assert train_leco is not None + + +def test_setup_parser_supports_shared_training_validation(): + args = train_leco.setup_parser().parse_args(["--prompts_file", "slider.yaml"]) + + train_util.verify_training_args(args) + + assert args.min_snr_gamma is None + assert deepspeed_utils.prepare_deepspeed_plugin(args) is None diff --git a/train_leco.py b/train_leco.py new file mode 100644 index 000000000..e5439e0f1 --- /dev/null +++ b/train_leco.py @@ -0,0 +1,319 @@ +import argparse +import importlib +import random + +import torch +from accelerate.utils import set_seed +from diffusers import DDPMScheduler +from tqdm import tqdm + +from library.device_utils import init_ipex, clean_memory_on_device + +init_ipex() + +from library import custom_train_functions, strategy_sd, train_util +from library.custom_train_functions import apply_snr_weight, prepare_scheduler_for_custom_training +from library.leco_train_util import ( + PromptEmbedsCache, + apply_noise_offset, + build_network_kwargs, + concat_embeddings, + diffusion, + encode_prompt_sd, + get_initial_latents, + get_random_resolution, + get_save_extension, + load_prompt_settings, + predict_noise, + save_weights, +) +from library.utils import add_logging_arguments, setup_logging + +setup_logging() +import logging + +logger = logging.getLogger(__name__) + + +def setup_parser() -> argparse.ArgumentParser: + parser = argparse.ArgumentParser() + train_util.add_sd_models_arguments(parser) + train_util.add_optimizer_arguments(parser) + train_util.add_training_arguments(parser, support_dreambooth=False) + custom_train_functions.add_custom_train_arguments(parser, support_weighted_captions=False) + add_logging_arguments(parser) + + parser.add_argument( + "--save_model_as", + type=str, + default="safetensors", + choices=[None, "ckpt", "pt", "safetensors"], + help="format to save the model (default is .safetensors) / モデル保存時の形式(デフォルトはsafetensors)", + ) + parser.add_argument("--no_metadata", action="store_true", help="do not save metadata in output model / メタデータを保存しない") + + parser.add_argument("--prompts_file", type=str, required=True, help="LECO prompt toml / LECO用のprompt toml") + parser.add_argument( + "--max_denoising_steps", + type=int, + default=40, + help="number of partial denoising steps per iteration / 各イテレーションで部分デノイズするステップ数", + ) + parser.add_argument( + "--leco_denoise_guidance_scale", + type=float, + default=3.0, + help="guidance scale for the partial denoising pass / 部分デノイズ時のguidance scale", + ) + + parser.add_argument("--network_weights", type=str, default=None, help="pretrained weights for network") + parser.add_argument("--network_module", type=str, default="networks.lora", help="network module to train") + parser.add_argument("--network_dim", type=int, default=4, help="network rank / ネットワークのrank") + parser.add_argument("--network_alpha", type=float, default=1.0, help="network alpha / ネットワークのalpha") + parser.add_argument("--network_dropout", type=float, default=None, help="network dropout / ネットワークのdropout") + parser.add_argument("--network_args", type=str, default=None, nargs="*", help="additional network arguments") + parser.add_argument( + "--network_train_text_encoder_only", + action="store_true", + help="unsupported for LECO; kept for compatibility / LECOでは未対応", + ) + parser.add_argument( + "--network_train_unet_only", + action="store_true", + help="LECO always trains U-Net LoRA only / LECOは常にU-Net LoRAのみを学習", + ) + parser.add_argument("--training_comment", type=str, default=None, help="comment stored in metadata") + parser.add_argument("--dim_from_weights", action="store_true", help="infer network dim from network_weights") + parser.add_argument("--unet_lr", type=float, default=None, help="learning rate for U-Net / U-Netの学習率") + + # dummy arguments required by train_util.verify_training_args / deepspeed_utils (LECO does not use datasets or deepspeed) + parser.add_argument("--cache_latents", action="store_true", default=False, help=argparse.SUPPRESS) + parser.add_argument("--cache_latents_to_disk", action="store_true", default=False, help=argparse.SUPPRESS) + parser.add_argument("--deepspeed", action="store_true", default=False, help=argparse.SUPPRESS) + + return parser + + +def main(): + parser = setup_parser() + args = parser.parse_args() + args = train_util.read_config_from_file(args, parser) + train_util.verify_training_args(args) + + if args.output_dir is None: + raise ValueError("--output_dir is required") + if args.network_train_text_encoder_only: + raise ValueError("LECO does not support text encoder LoRA training") + + if args.seed is None: + args.seed = random.randint(0, 2**32 - 1) + set_seed(args.seed) + + accelerator = train_util.prepare_accelerator(args) + weight_dtype, save_dtype = train_util.prepare_dtype(args) + + prompt_settings = load_prompt_settings(args.prompts_file) + logger.info(f"loaded {len(prompt_settings)} LECO prompt settings from {args.prompts_file}") + + text_encoder, vae, unet, _ = train_util.load_target_model(args, weight_dtype, accelerator) + del vae + + train_util.replace_unet_modules(unet, args.mem_eff_attn, args.xformers, args.sdpa) + unet.requires_grad_(False) + unet.to(accelerator.device, dtype=weight_dtype) + unet.train() + + tokenize_strategy = strategy_sd.SdTokenizeStrategy(args.v2, args.max_token_length, args.tokenizer_cache_dir) + text_encoding_strategy = strategy_sd.SdTextEncodingStrategy(args.clip_skip) + + text_encoder.to(accelerator.device, dtype=weight_dtype) + text_encoder.requires_grad_(False) + text_encoder.eval() + + prompt_cache = PromptEmbedsCache() + unique_prompts = sorted( + { + prompt + for setting in prompt_settings + for prompt in (setting.target, setting.positive, setting.unconditional, setting.neutral) + } + ) + with torch.no_grad(): + for prompt in unique_prompts: + prompt_cache[prompt] = encode_prompt_sd(tokenize_strategy, text_encoding_strategy, text_encoder, prompt) + + text_encoder.to("cpu") + clean_memory_on_device(accelerator.device) + + noise_scheduler = DDPMScheduler( + beta_start=0.00085, + beta_end=0.012, + beta_schedule="scaled_linear", + num_train_timesteps=1000, + clip_sample=False, + ) + prepare_scheduler_for_custom_training(noise_scheduler, accelerator.device) + if args.zero_terminal_snr: + custom_train_functions.fix_noise_scheduler_betas_for_zero_terminal_snr(noise_scheduler) + + network_module = importlib.import_module(args.network_module) + net_kwargs = build_network_kwargs(args) + if args.dim_from_weights: + if args.network_weights is None: + raise ValueError("--dim_from_weights requires --network_weights") + network, _ = network_module.create_network_from_weights(1.0, args.network_weights, None, text_encoder, unet, **net_kwargs) + else: + network = network_module.create_network( + 1.0, + args.network_dim, + args.network_alpha, + None, + text_encoder, + unet, + neuron_dropout=args.network_dropout, + **net_kwargs, + ) + + network.apply_to(text_encoder, unet, apply_text_encoder=False, apply_unet=True) + network.set_multiplier(0.0) + + if args.network_weights is not None: + info = network.load_weights(args.network_weights) + logger.info(f"loaded network weights from {args.network_weights}: {info}") + + if args.gradient_checkpointing: + unet.enable_gradient_checkpointing() + network.enable_gradient_checkpointing() + + unet_lr = args.unet_lr if args.unet_lr is not None else args.learning_rate + trainable_params, _ = network.prepare_optimizer_params(None, unet_lr, args.learning_rate) + _, _, optimizer = train_util.get_optimizer(args, trainable_params) + lr_scheduler = train_util.get_scheduler_fix(args, optimizer, accelerator.num_processes) + + network, optimizer, lr_scheduler = accelerator.prepare(network, optimizer, lr_scheduler) + accelerator.unwrap_model(network).prepare_grad_etc(text_encoder, unet) + + if args.full_fp16: + train_util.patch_accelerator_for_fp16_training(accelerator) + + optimizer_train_fn, _ = train_util.get_optimizer_train_eval_fn(optimizer, args) + optimizer_train_fn() + train_util.init_trackers(accelerator, args, "leco_train") + + progress_bar = tqdm(total=args.max_train_steps, disable=not accelerator.is_local_main_process, desc="steps") + global_step = 0 + + while global_step < args.max_train_steps: + with accelerator.accumulate(network): + optimizer.zero_grad(set_to_none=True) + + setting = prompt_settings[torch.randint(0, len(prompt_settings), (1,)).item()] + noise_scheduler.set_timesteps(args.max_denoising_steps, device=accelerator.device) + + timesteps_to = torch.randint(1, args.max_denoising_steps, (1,), device=accelerator.device).item() + height, width = get_random_resolution(setting) + + latents = get_initial_latents(noise_scheduler, setting.batch_size, height, width, 1).to( + accelerator.device, dtype=weight_dtype + ) + latents = apply_noise_offset(latents, args.noise_offset) + + network_multiplier = accelerator.unwrap_model(network) + network_multiplier.set_multiplier(setting.multiplier) + with accelerator.autocast(): + denoised_latents = diffusion( + unet, + noise_scheduler, + latents, + concat_embeddings(prompt_cache[setting.unconditional], prompt_cache[setting.target], setting.batch_size), + total_timesteps=timesteps_to, + guidance_scale=args.leco_denoise_guidance_scale, + ) + + noise_scheduler.set_timesteps(1000, device=accelerator.device) + current_timestep_index = int(timesteps_to * 1000 / args.max_denoising_steps) + current_timestep = noise_scheduler.timesteps[current_timestep_index] + + network_multiplier.set_multiplier(0.0) + with torch.no_grad(), accelerator.autocast(): + positive_latents = predict_noise( + unet, + noise_scheduler, + current_timestep, + denoised_latents, + concat_embeddings(prompt_cache[setting.unconditional], prompt_cache[setting.positive], setting.batch_size), + guidance_scale=1.0, + ) + neutral_latents = predict_noise( + unet, + noise_scheduler, + current_timestep, + denoised_latents, + concat_embeddings(prompt_cache[setting.unconditional], prompt_cache[setting.neutral], setting.batch_size), + guidance_scale=1.0, + ) + unconditional_latents = predict_noise( + unet, + noise_scheduler, + current_timestep, + denoised_latents, + concat_embeddings(prompt_cache[setting.unconditional], prompt_cache[setting.unconditional], setting.batch_size), + guidance_scale=1.0, + ) + + network_multiplier.set_multiplier(setting.multiplier) + with accelerator.autocast(): + target_latents = predict_noise( + unet, + noise_scheduler, + current_timestep, + denoised_latents, + concat_embeddings(prompt_cache[setting.unconditional], prompt_cache[setting.target], setting.batch_size), + guidance_scale=1.0, + ) + + target = setting.build_target(positive_latents, neutral_latents, unconditional_latents) + loss = torch.nn.functional.mse_loss(target_latents.float(), target.float(), reduction="none") + loss = loss.mean(dim=(1, 2, 3)) + if args.min_snr_gamma is not None and args.min_snr_gamma > 0: + timesteps = torch.full((loss.shape[0],), current_timestep_index, device=loss.device, dtype=torch.long) + loss = apply_snr_weight(loss, timesteps, noise_scheduler, args.min_snr_gamma, args.v_parameterization) + loss = loss.mean() * setting.weight + + accelerator.backward(loss) + + if accelerator.sync_gradients and args.max_grad_norm != 0.0: + accelerator.clip_grad_norm_(network.parameters(), args.max_grad_norm) + + optimizer.step() + lr_scheduler.step() + + if accelerator.sync_gradients: + global_step += 1 + progress_bar.update(1) + network_multiplier = accelerator.unwrap_model(network) + network_multiplier.set_multiplier(0.0) + + logs = { + "loss": loss.detach().item(), + "lr": lr_scheduler.get_last_lr()[0], + "guidance_scale": setting.guidance_scale, + "network_multiplier": setting.multiplier, + } + accelerator.log(logs, step=global_step) + progress_bar.set_postfix(loss=f"{logs['loss']:.4f}") + + if args.save_every_n_steps and global_step % args.save_every_n_steps == 0 and global_step < args.max_train_steps: + accelerator.wait_for_everyone() + if accelerator.is_main_process: + save_weights(accelerator, network, args, save_dtype, prompt_settings, global_step, last=False) + + accelerator.wait_for_everyone() + if accelerator.is_main_process: + save_weights(accelerator, network, args, save_dtype, prompt_settings, global_step, last=True) + + accelerator.end_training() + + +if __name__ == "__main__": + main() From 5fb3172baf66248b4192ae19a95cbab1ad33a024 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Sun, 29 Mar 2026 21:25:53 +0900 Subject: [PATCH 741/748] fix: AdaLN modulation to use float32 for numerical stability in fp16 --- library/anima_models.py | 59 ++++++++++++++++++++++------------------- 1 file changed, 32 insertions(+), 27 deletions(-) diff --git a/library/anima_models.py b/library/anima_models.py index 037ffd775..00e9c6c6c 100644 --- a/library/anima_models.py +++ b/library/anima_models.py @@ -739,13 +739,16 @@ def forward( emb_B_T_D: torch.Tensor, adaln_lora_B_T_3D: Optional[torch.Tensor] = None, ): - if self.use_adaln_lora: - assert adaln_lora_B_T_3D is not None - shift_B_T_D, scale_B_T_D = (self.adaln_modulation(emb_B_T_D) + adaln_lora_B_T_3D[:, :, : 2 * self.hidden_size]).chunk( - 2, dim=-1 - ) - else: - shift_B_T_D, scale_B_T_D = self.adaln_modulation(emb_B_T_D).chunk(2, dim=-1) + # Compute AdaLN modulation parameters (in float32 when fp16 to avoid overflow in Linear layers) + use_fp32 = x_B_T_H_W_D.dtype == torch.float16 + with torch.autocast(device_type=x_B_T_H_W_D.device.type, dtype=torch.float32, enabled=use_fp32): + if self.use_adaln_lora: + assert adaln_lora_B_T_3D is not None + shift_B_T_D, scale_B_T_D = ( + self.adaln_modulation(emb_B_T_D) + adaln_lora_B_T_3D[:, :, : 2 * self.hidden_size] + ).chunk(2, dim=-1) + else: + shift_B_T_D, scale_B_T_D = self.adaln_modulation(emb_B_T_D).chunk(2, dim=-1) shift_B_T_1_1_D = rearrange(shift_B_T_D, "b t d -> b t 1 1 d") scale_B_T_1_1_D = rearrange(scale_B_T_D, "b t d -> b t 1 1 d") @@ -864,32 +867,34 @@ def _forward( adaln_lora_B_T_3D: Optional[torch.Tensor] = None, extra_per_block_pos_emb: Optional[torch.Tensor] = None, ) -> torch.Tensor: - if x_B_T_H_W_D.dtype == torch.float16: + use_fp32 = x_B_T_H_W_D.dtype == torch.float16 + if use_fp32: # Cast to float32 for better numerical stability in residual connections. Each module will cast back to float16 by enclosing autocast context. x_B_T_H_W_D = x_B_T_H_W_D.float() if extra_per_block_pos_emb is not None: x_B_T_H_W_D = x_B_T_H_W_D + extra_per_block_pos_emb - # Compute AdaLN modulation parameters - if self.use_adaln_lora: - shift_self_attn_B_T_D, scale_self_attn_B_T_D, gate_self_attn_B_T_D = ( - self.adaln_modulation_self_attn(emb_B_T_D) + adaln_lora_B_T_3D - ).chunk(3, dim=-1) - shift_cross_attn_B_T_D, scale_cross_attn_B_T_D, gate_cross_attn_B_T_D = ( - self.adaln_modulation_cross_attn(emb_B_T_D) + adaln_lora_B_T_3D - ).chunk(3, dim=-1) - shift_mlp_B_T_D, scale_mlp_B_T_D, gate_mlp_B_T_D = (self.adaln_modulation_mlp(emb_B_T_D) + adaln_lora_B_T_3D).chunk( - 3, dim=-1 - ) - else: - shift_self_attn_B_T_D, scale_self_attn_B_T_D, gate_self_attn_B_T_D = self.adaln_modulation_self_attn(emb_B_T_D).chunk( - 3, dim=-1 - ) - shift_cross_attn_B_T_D, scale_cross_attn_B_T_D, gate_cross_attn_B_T_D = self.adaln_modulation_cross_attn( - emb_B_T_D - ).chunk(3, dim=-1) - shift_mlp_B_T_D, scale_mlp_B_T_D, gate_mlp_B_T_D = self.adaln_modulation_mlp(emb_B_T_D).chunk(3, dim=-1) + # Compute AdaLN modulation parameters (in float32 when fp16 to avoid overflow in Linear layers) + with torch.autocast(device_type=x_B_T_H_W_D.device.type, dtype=torch.float32, enabled=use_fp32): + if self.use_adaln_lora: + shift_self_attn_B_T_D, scale_self_attn_B_T_D, gate_self_attn_B_T_D = ( + self.adaln_modulation_self_attn(emb_B_T_D) + adaln_lora_B_T_3D + ).chunk(3, dim=-1) + shift_cross_attn_B_T_D, scale_cross_attn_B_T_D, gate_cross_attn_B_T_D = ( + self.adaln_modulation_cross_attn(emb_B_T_D) + adaln_lora_B_T_3D + ).chunk(3, dim=-1) + shift_mlp_B_T_D, scale_mlp_B_T_D, gate_mlp_B_T_D = (self.adaln_modulation_mlp(emb_B_T_D) + adaln_lora_B_T_3D).chunk( + 3, dim=-1 + ) + else: + shift_self_attn_B_T_D, scale_self_attn_B_T_D, gate_self_attn_B_T_D = self.adaln_modulation_self_attn( + emb_B_T_D + ).chunk(3, dim=-1) + shift_cross_attn_B_T_D, scale_cross_attn_B_T_D, gate_cross_attn_B_T_D = self.adaln_modulation_cross_attn( + emb_B_T_D + ).chunk(3, dim=-1) + shift_mlp_B_T_D, scale_mlp_B_T_D, gate_mlp_B_T_D = self.adaln_modulation_mlp(emb_B_T_D).chunk(3, dim=-1) # Reshape for broadcasting: (B, T, D) -> (B, T, 1, 1, D) shift_self_attn_B_T_1_1_D = rearrange(shift_self_attn_B_T_D, "b t d -> b t 1 1 d") From b637c3136527675712ff0b830901f2e9609f76b7 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Sun, 29 Mar 2026 21:58:38 +0900 Subject: [PATCH 742/748] fix: update table of contents and change history in README files for clarity --- README-ja.md | 51 +++++++++++++++++++++++++++++++-------------------- README.md | 35 +++++++++++++++++++++++------------ 2 files changed, 54 insertions(+), 32 deletions(-) diff --git a/README-ja.md b/README-ja.md index 519357288..e04934aae 100644 --- a/README-ja.md +++ b/README-ja.md @@ -8,25 +8,25 @@ クリックすると展開します - [はじめに](#はじめに) - - [スポンサー](#スポンサー) - - [スポンサー募集のお知らせ](#スポンサー募集のお知らせ) - - [更新履歴](#更新履歴) - - [サポートモデル](#サポートモデル) - - [機能](#機能) + - [スポンサー](#スポンサー) + - [スポンサー募集のお知らせ](#スポンサー募集のお知らせ) + - [更新履歴](#更新履歴) + - [サポートモデル](#サポートモデル) + - [機能](#機能) - [ドキュメント](#ドキュメント) - - [学習ドキュメント(英語および日本語)](#学習ドキュメント英語および日本語) - - [その他のドキュメント](#その他のドキュメント) - - [旧ドキュメント(日本語)](#旧ドキュメント日本語) + - [学習ドキュメント(英語および日本語)](#学習ドキュメント英語および日本語) + - [その他のドキュメント](#その他のドキュメント) + - [旧ドキュメント(日本語)](#旧ドキュメント日本語) - [AIコーディングエージェントを使う開発者の方へ](#aiコーディングエージェントを使う開発者の方へ) - [Windows環境でのインストール](#windows環境でのインストール) - - [Windowsでの動作に必要なプログラム](#windowsでの動作に必要なプログラム) - - [インストール手順](#インストール手順) - - [requirements.txtとPyTorchについて](#requirementstxtとpytorchについて) - - [xformersのインストール(オプション)](#xformersのインストールオプション) + - [Windowsでの動作に必要なプログラム](#windowsでの動作に必要なプログラム) + - [インストール手順](#インストール手順) + - [requirements.txtとPyTorchについて](#requirementstxtとpytorchについて) + - [xformersのインストール(オプション)](#xformersのインストールオプション) - [Linux/WSL2環境でのインストール](#linuxwsl2環境でのインストール) - - [DeepSpeedのインストール(実験的、LinuxまたはWSL2のみ)](#deepspeedのインストール実験的linuxまたはwsl2のみ) + - [DeepSpeedのインストール(実験的、LinuxまたはWSL2のみ)](#deepspeedのインストール実験的linuxまたはwsl2のみ) - [アップグレード](#アップグレード) - - [PyTorchのアップグレード](#pytorchのアップグレード) + - [PyTorchのアップグレード](#pytorchのアップグレード) - [謝意](#謝意) - [ライセンス](#ライセンス) @@ -50,15 +50,26 @@ Stable Diffusion等の画像生成モデルの学習、モデルによる画像 ### 更新履歴 +- **Version 0.10.2 (2026-03-30):** + - `networks/resize_lora.py`が`torch.svd_lowrank`に対応し、大幅に高速化されました。[PR #2240](https://github.com/kohya-ss/sd-scripts/pull/2240) および [PR #2296](https://github.com/kohya-ss/sd-scripts/pull/2296) woct0rdho氏に深く感謝します。 + - デフォルトは有効になっています。`--svd_lowrank_niter`オプションで反復回数を指定できます(デフォルトは2、多いほど精度が向上します)。0にすると従来の方法になります。詳細は `--help` でご確認ください。 + - LoKr/LoHaをSDXL/Animaでサポートしました。[PR #2275](https://github.com/kohya-ss/sd-scripts/pull/2275) + - 詳細は[ドキュメント](./docs/loha_lokr.md)をご覧ください。 + - マルチ解像度データセット(同じ画像を複数のbucketサイズにリサイズして使用)がSD/SDXLの学習でサポートされました。[PR #2269](https://github.com/kohya-ss/sd-scripts/pull/2269) また、マルチ解像度データセットで同じ解像度の画像が重複して使用される事象への対応を行いました。[PR #2273](https://github.com/kohya-ss/sd-scripts/pull/2273) + - woct0rdho氏に感謝します。 + - [ドキュメント英語版](./docs/config_README-en.md#behavior-when-there-are-duplicate-subsets) / [ドキュメント日本語版](./docs/config_README-ja.md#重複したサブセットが存在する時の挙動) をご覧ください。 + - Animaでfp16で学習する際の安定性が向上しました。[PR #2297](https://github.com/kohya-ss/sd-scripts/pull/2297) ただし、依然として不安定な場合があるようです。問題が発生する場合は、詳細をIssueでお知らせください。 + - その他、細かいバグ修正や改善を行いました。 + - **Version 0.10.1 (2026-02-13):** - - [Anima Preview](https://huggingface.co/circlestone-labs/Anima)モデルのLoRA学習およびfine-tuningをサポートしました。[PR #2260](https://github.com/kohya-ss/sd-scripts/pull/2260) および[PR #2261](https://github.com/kohya-ss/sd-scripts/pull/2261) - - 素晴らしいモデルを公開された CircleStone Labs、および PR #2260を提出していただいたduongve13112002氏に深く感謝します。 - - 詳細は[ドキュメント](./docs/anima_train_network.md)をご覧ください。 + - [Anima Preview](https://huggingface.co/circlestone-labs/Anima)モデルのLoRA学習およびfine-tuningをサポートしました。[PR #2260](https://github.com/kohya-ss/sd-scripts/pull/2260) および[PR #2261](https://github.com/kohya-ss/sd-scripts/pull/2261) + - 素晴らしいモデルを公開された CircleStone Labs、および PR #2260を提出していただいたduongve13112002氏に深く感謝します。 + - 詳細は[ドキュメント](./docs/anima_train_network.md)をご覧ください。 - **Version 0.10.0 (2026-01-19):** - - `sd3`ブランチを`main`ブランチにマージしました。このバージョンからFLUX.1およびSD3/SD3.5等のモデルが`main`ブランチでサポートされます。 - - ドキュメントにはまだ不備があるため、お気づきの点はIssue等でお知らせください。 - - `sd3`ブランチは当面、`dev`ブランチと同期して開発ブランチとして維持します。 + - `sd3`ブランチを`main`ブランチにマージしました。このバージョンからFLUX.1およびSD3/SD3.5等のモデルが`main`ブランチでサポートされます。 + - ドキュメントにはまだ不備があるため、お気づきの点はIssue等でお知らせください。 + - `sd3`ブランチは当面、`dev`ブランチと同期して開発ブランチとして維持します。 ### サポートモデル diff --git a/README.md b/README.md index 88b583598..6e889a82b 100644 --- a/README.md +++ b/README.md @@ -7,23 +7,23 @@ Click to expand - [Introduction](#introduction) - - [Supported Models](#supported-models) - - [Features](#features) - - [Sponsors](#sponsors) - - [Support the Project](#support-the-project) + - [Supported Models](#supported-models) + - [Features](#features) + - [Sponsors](#sponsors) + - [Support the Project](#support-the-project) - [Documentation](#documentation) - - [Training Documentation (English and Japanese)](#training-documentation-english-and-japanese) - - [Other Documentation (English and Japanese)](#other-documentation-english-and-japanese) + - [Training Documentation (English and Japanese)](#training-documentation-english-and-japanese) + - [Other Documentation (English and Japanese)](#other-documentation-english-and-japanese) - [For Developers Using AI Coding Agents](#for-developers-using-ai-coding-agents) - [Windows Installation](#windows-installation) - - [Windows Required Dependencies](#windows-required-dependencies) - - [Installation Steps](#installation-steps) - - [About requirements.txt and PyTorch](#about-requirementstxt-and-pytorch) - - [xformers installation (optional)](#xformers-installation-optional) + - [Windows Required Dependencies](#windows-required-dependencies) + - [Installation Steps](#installation-steps) + - [About requirements.txt and PyTorch](#about-requirementstxt-and-pytorch) + - [xformers installation (optional)](#xformers-installation-optional) - [Linux/WSL2 Installation](#linuxwsl2-installation) - - [DeepSpeed installation (experimental, Linux or WSL2 only)](#deepspeed-installation-experimental-linux-or-wsl2-only) + - [DeepSpeed installation (experimental, Linux or WSL2 only)](#deepspeed-installation-experimental-linux-or-wsl2-only) - [Upgrade](#upgrade) - - [Upgrade PyTorch](#upgrade-pytorch) + - [Upgrade PyTorch](#upgrade-pytorch) - [Credits](#credits) - [License](#license) @@ -47,6 +47,17 @@ If you find this project helpful, please consider supporting its development via ### Change History +- **Version 0.10.2 (2026-03-30):** + - `networks/resize_lora.py` has been updated to use `torch.svd_lowrank`, resulting in a significant speedup. Many thanks to woct0rdho for [PR #2240](https://github.com/kohya-ss/sd-scripts/pull/2240) and [PR #2296](https://github.com/kohya-ss/sd-scripts/pull/2296). + - It is enabled by default. You can specify the number of iterations with the `--svd_lowrank_niter` option (default is 2, more iterations will improve accuracy). Setting it to 0 will revert to the previous method. Please check `--help` for details. + - LoKr/LoHa is now supported for SDXL/Anima. See [PR #2275](https://github.com/kohya-ss/sd-scripts/pull/2275) for details. + - Please refer to the [documentation](./docs/loha_lokr.md) for details. + - Multi-resolution datasets (using the same image resized to multiple bucket sizes) are now supported in SD/SDXL training. We also addressed the issue of duplicate images with the same resolution being used in multi-resolution datasets. See [PR #2269](https://github.com/kohya-ss/sd-scripts/pull/2269) and [PR #2273](https://github.com/kohya-ss/sd-scripts/pull/2273) for details. + - Thanks to woct0rdho for the contribution. + - Please refer to the [English documentation](./docs/config_README-en.md#behavior-when-there-are-duplicate-subsets) / [Japanese documentation](./docs/config_README-ja.md#重複したサブセットが存在する時の挙動) for details. + - Stability when training with fp16 on Anima has been improved. See [PR #2297](https://github.com/kohya-ss/sd-scripts/pull/2297) for details. However, it still seems to be unstable in some cases. If you encounter any issues, please let us know the details via Issues. + - Other minor bug fixes and improvements were made. + - **Version 0.10.1 (2026-02-13):** - [Anima Preview](https://huggingface.co/circlestone-labs/Anima) model LoRA training and fine-tuning are now supported. See [PR #2260](https://github.com/kohya-ss/sd-scripts/pull/2260) and [PR #2261](https://github.com/kohya-ss/sd-scripts/pull/2261). - Many thanks to CircleStone Labs for releasing this amazing model, and to duongve13112002 for submitting great PR #2260. From 3cb9025b4bed96cd1e42885cd685f6e49d176665 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Sun, 29 Mar 2026 22:07:52 +0900 Subject: [PATCH 743/748] doc: update change history in README files to include LECO training support for SD/SDXL --- README-ja.md | 2 ++ README.md | 2 ++ 2 files changed, 4 insertions(+) diff --git a/README-ja.md b/README-ja.md index e04934aae..f4f912a23 100644 --- a/README-ja.md +++ b/README-ja.md @@ -51,6 +51,8 @@ Stable Diffusion等の画像生成モデルの学習、モデルによる画像 ### 更新履歴 - **Version 0.10.2 (2026-03-30):** + - SD/SDXLのLECO学習に対応しました。[PR #2285](https://github.com/kohya-ss/sd-scripts/pull/2285) および [PR #2294](https://github.com/kohya-ss/sd-scripts/pull/2294) umisetokikaze氏に深く感謝します。 + - 詳細は[ドキュメント](./docs/train_leco.md)をご覧ください。 - `networks/resize_lora.py`が`torch.svd_lowrank`に対応し、大幅に高速化されました。[PR #2240](https://github.com/kohya-ss/sd-scripts/pull/2240) および [PR #2296](https://github.com/kohya-ss/sd-scripts/pull/2296) woct0rdho氏に深く感謝します。 - デフォルトは有効になっています。`--svd_lowrank_niter`オプションで反復回数を指定できます(デフォルトは2、多いほど精度が向上します)。0にすると従来の方法になります。詳細は `--help` でご確認ください。 - LoKr/LoHaをSDXL/Animaでサポートしました。[PR #2275](https://github.com/kohya-ss/sd-scripts/pull/2275) diff --git a/README.md b/README.md index 6e889a82b..fc041db3f 100644 --- a/README.md +++ b/README.md @@ -48,6 +48,8 @@ If you find this project helpful, please consider supporting its development via ### Change History - **Version 0.10.2 (2026-03-30):** + - LECO training for SD/SDXL is now supported. Many thanks to umisetokikaze for [PR #2285](https://github.com/kohya-ss/sd-scripts/pull/2285) and [PR #2294](https://github.com/kohya-ss/sd-scripts/pull/2294). + - Please refer to the [documentation](./docs/train_leco.md) for details. - `networks/resize_lora.py` has been updated to use `torch.svd_lowrank`, resulting in a significant speedup. Many thanks to woct0rdho for [PR #2240](https://github.com/kohya-ss/sd-scripts/pull/2240) and [PR #2296](https://github.com/kohya-ss/sd-scripts/pull/2296). - It is enabled by default. You can specify the number of iterations with the `--svd_lowrank_niter` option (default is 2, more iterations will improve accuracy). Setting it to 0 will revert to the previous method. Please check `--help` for details. - LoKr/LoHa is now supported for SDXL/Anima. See [PR #2275](https://github.com/kohya-ss/sd-scripts/pull/2275) for details. From b2c330407b8124fed8dae14e0ed0d329d663d5f4 Mon Sep 17 00:00:00 2001 From: woctordho Date: Thu, 4 Sep 2025 15:38:53 +0800 Subject: [PATCH 744/748] Print verbose info while extracting --- networks/resize_lora.py | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/networks/resize_lora.py b/networks/resize_lora.py index 2a44592b4..f64edb1f4 100644 --- a/networks/resize_lora.py +++ b/networks/resize_lora.py @@ -212,7 +212,6 @@ def rank_resize(S, rank, dynamic_method, dynamic_param, scale=1): def resize_lora_model(lora_sd, new_rank, new_conv_rank, save_dtype, device, dynamic_method, dynamic_param, verbose, svd_lowrank_niter=2): max_old_rank = None new_alpha = None - verbose_str = "\n" fro_list = [] if dynamic_method: @@ -285,15 +284,13 @@ def resize_lora_model(lora_sd, new_rank, new_conv_rank, save_dtype, device, dyna if not np.isnan(fro_retained): fro_list.append(float(fro_retained)) - verbose_str += f"{block_down_name:75} | " + verbose_str = f"{block_down_name:75} | " verbose_str += ( f"sum(S) retained: {sum_retained:.1%}, fro retained: {fro_retained:.1%}, max(S) ratio: {max_ratio:0.1f}" ) - - if verbose and dynamic_method: - verbose_str += f", dynamic | dim: {param_dict['new_rank']}, alpha: {param_dict['new_alpha']}\n" - else: - verbose_str += "\n" + if dynamic_method: + verbose_str += f", dynamic | dim: {param_dict['new_rank']}, alpha: {param_dict['new_alpha']}" + tqdm.write(verbose_str) new_alpha = param_dict["new_alpha"] o_lora_sd[block_down_name + lora_down_name + weight_name] = param_dict["lora_down"].to(save_dtype).contiguous() @@ -308,7 +305,6 @@ def resize_lora_model(lora_sd, new_rank, new_conv_rank, save_dtype, device, dyna del param_dict if verbose: - print(verbose_str) print(f"Average Frobenius norm retention: {np.mean(fro_list):.2%} | std: {np.std(fro_list):0.3f}") logger.info("resizing complete") return o_lora_sd, max_old_rank, new_alpha From fa53f71ec08bd9dd6ccae3935247b702a8217493 Mon Sep 17 00:00:00 2001 From: "Kohya S." <52813779+kohya-ss@users.noreply.github.com> Date: Thu, 2 Apr 2026 12:36:29 +0900 Subject: [PATCH 745/748] fix: improve numerical stability by conditionally using float32 in Anima (#2302) * fix: improve numerical stability by conditionally using float32 in block computations * doc: update README for improvement stability for fp16 training on Anima in version 0.10.3 --- README-ja.md | 3 +++ README.md | 3 +++ library/anima_models.py | 16 ++++++++++++---- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/README-ja.md b/README-ja.md index f4f912a23..ff05468de 100644 --- a/README-ja.md +++ b/README-ja.md @@ -50,6 +50,9 @@ Stable Diffusion等の画像生成モデルの学習、モデルによる画像 ### 更新履歴 +- **Version 0.10.3 (2026-04-02):** + - Animaでfp16で学習する際の安定性をさらに改善しました。[PR #2302](https://github.com/kohya-ss/sd-scripts/pull/2302) 問題をご報告いただいた方々に深く感謝します。 + - **Version 0.10.2 (2026-03-30):** - SD/SDXLのLECO学習に対応しました。[PR #2285](https://github.com/kohya-ss/sd-scripts/pull/2285) および [PR #2294](https://github.com/kohya-ss/sd-scripts/pull/2294) umisetokikaze氏に深く感謝します。 - 詳細は[ドキュメント](./docs/train_leco.md)をご覧ください。 diff --git a/README.md b/README.md index fc041db3f..0fb415d04 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,9 @@ If you find this project helpful, please consider supporting its development via ### Change History +- **Version 0.10.3 (2026-04-02):** + - Stability when training with fp16 on Anima has been further improved. See [PR #2302](https://github.com/kohya-ss/sd-scripts/pull/2302) for details. We deeply appreciate those who reported the issue. + - **Version 0.10.2 (2026-03-30):** - LECO training for SD/SDXL is now supported. Many thanks to umisetokikaze for [PR #2285](https://github.com/kohya-ss/sd-scripts/pull/2285) and [PR #2294](https://github.com/kohya-ss/sd-scripts/pull/2294). - Please refer to the [documentation](./docs/train_leco.md) for details. diff --git a/library/anima_models.py b/library/anima_models.py index 00e9c6c6c..ad34662fc 100644 --- a/library/anima_models.py +++ b/library/anima_models.py @@ -738,9 +738,9 @@ def forward( x_B_T_H_W_D: torch.Tensor, emb_B_T_D: torch.Tensor, adaln_lora_B_T_3D: Optional[torch.Tensor] = None, + use_fp32: bool = False, ): # Compute AdaLN modulation parameters (in float32 when fp16 to avoid overflow in Linear layers) - use_fp32 = x_B_T_H_W_D.dtype == torch.float16 with torch.autocast(device_type=x_B_T_H_W_D.device.type, dtype=torch.float32, enabled=use_fp32): if self.use_adaln_lora: assert adaln_lora_B_T_3D is not None @@ -863,11 +863,11 @@ def _forward( emb_B_T_D: torch.Tensor, crossattn_emb: torch.Tensor, attn_params: attention.AttentionParams, + use_fp32: bool = False, rope_emb_L_1_1_D: Optional[torch.Tensor] = None, adaln_lora_B_T_3D: Optional[torch.Tensor] = None, extra_per_block_pos_emb: Optional[torch.Tensor] = None, ) -> torch.Tensor: - use_fp32 = x_B_T_H_W_D.dtype == torch.float16 if use_fp32: # Cast to float32 for better numerical stability in residual connections. Each module will cast back to float16 by enclosing autocast context. x_B_T_H_W_D = x_B_T_H_W_D.float() @@ -959,6 +959,7 @@ def forward( emb_B_T_D: torch.Tensor, crossattn_emb: torch.Tensor, attn_params: attention.AttentionParams, + use_fp32: bool = False, rope_emb_L_1_1_D: Optional[torch.Tensor] = None, adaln_lora_B_T_3D: Optional[torch.Tensor] = None, extra_per_block_pos_emb: Optional[torch.Tensor] = None, @@ -972,6 +973,7 @@ def forward( emb_B_T_D, crossattn_emb, attn_params, + use_fp32, rope_emb_L_1_1_D, adaln_lora_B_T_3D, extra_per_block_pos_emb, @@ -994,6 +996,7 @@ def custom_forward(*inputs): emb_B_T_D, crossattn_emb, attn_params, + use_fp32, rope_emb_L_1_1_D, adaln_lora_B_T_3D, extra_per_block_pos_emb, @@ -1007,6 +1010,7 @@ def custom_forward(*inputs): emb_B_T_D, crossattn_emb, attn_params, + use_fp32, rope_emb_L_1_1_D, adaln_lora_B_T_3D, extra_per_block_pos_emb, @@ -1018,6 +1022,7 @@ def custom_forward(*inputs): emb_B_T_D, crossattn_emb, attn_params, + use_fp32, rope_emb_L_1_1_D, adaln_lora_B_T_3D, extra_per_block_pos_emb, @@ -1338,16 +1343,19 @@ def forward_mini_train_dit( attn_params = attention.AttentionParams.create_attention_params(self.attn_mode, self.split_attn) + # Determine whether to use float32 for block computations based on input dtype (use float32 for better stability when input is float16) + use_fp32 = x_B_T_H_W_D.dtype == torch.float16 + for block_idx, block in enumerate(self.blocks): if self.blocks_to_swap: self.offloader.wait_for_block(block_idx) - x_B_T_H_W_D = block(x_B_T_H_W_D, t_embedding_B_T_D, crossattn_emb, attn_params, **block_kwargs) + x_B_T_H_W_D = block(x_B_T_H_W_D, t_embedding_B_T_D, crossattn_emb, attn_params, use_fp32, **block_kwargs) if self.blocks_to_swap: self.offloader.submit_move_blocks(self.blocks, block_idx) - x_B_T_H_W_O = self.final_layer(x_B_T_H_W_D, t_embedding_B_T_D, adaln_lora_B_T_3D=adaln_lora_B_T_3D) + x_B_T_H_W_O = self.final_layer(x_B_T_H_W_D, t_embedding_B_T_D, adaln_lora_B_T_3D=adaln_lora_B_T_3D, use_fp32=use_fp32) x_B_C_Tt_Hp_Wp = self.unpatchify(x_B_T_H_W_O) return x_B_C_Tt_Hp_Wp From 197b129284c81e473a1abc6768e6d4aac16afc5d Mon Sep 17 00:00:00 2001 From: WhitePr Date: Sat, 4 Apr 2026 04:44:53 +0900 Subject: [PATCH 746/748] Modifying the method for get the Torch version --- library/ipex/__init__.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/library/ipex/__init__.py b/library/ipex/__init__.py index a44531f35..6df520563 100644 --- a/library/ipex/__init__.py +++ b/library/ipex/__init__.py @@ -1,6 +1,7 @@ import os import sys import torch +from packaging import version try: import intel_extension_for_pytorch as ipex # pylint: disable=import-error, unused-import has_ipex = True @@ -8,7 +9,7 @@ has_ipex = False from .hijacks import ipex_hijacks -torch_version = float(torch.__version__[:3]) +torch_version = version.parse(torch.__version__) # pylint: disable=protected-access, missing-function-docstring, line-too-long @@ -71,7 +72,7 @@ def ipex_init(): # pylint: disable=too-many-statements torch.cuda.__file__ = torch.xpu.__file__ # torch.cuda.is_current_stream_capturing = torch.xpu.is_current_stream_capturing - if torch_version < 2.3: + if torch_version < version.parse("2.3"): torch.cuda._initialization_lock = torch.xpu.lazy_init._initialization_lock torch.cuda._initialized = torch.xpu.lazy_init._initialized torch.cuda._is_in_bad_fork = torch.xpu.lazy_init._is_in_bad_fork @@ -114,14 +115,14 @@ def ipex_init(): # pylint: disable=too-many-statements torch.cuda.threading = torch.xpu.threading torch.cuda.traceback = torch.xpu.traceback - if torch_version < 2.5: + if torch_version < version.parse("2.5"): torch.cuda.os = torch.xpu.os torch.cuda.Device = torch.xpu.Device torch.cuda.warnings = torch.xpu.warnings torch.cuda.classproperty = torch.xpu.classproperty torch.UntypedStorage.cuda = torch.UntypedStorage.xpu - if torch_version < 2.7: + if torch_version < version.parse("2.7"): torch.cuda.Tuple = torch.xpu.Tuple torch.cuda.List = torch.xpu.List @@ -160,7 +161,7 @@ def ipex_init(): # pylint: disable=too-many-statements torch.cuda.initial_seed = torch.xpu.initial_seed # C - if torch_version < 2.3: + if torch_version < version.parse("2.3"): torch._C._cuda_getCurrentRawStream = ipex._C._getCurrentRawStream ipex._C._DeviceProperties.multi_processor_count = ipex._C._DeviceProperties.gpu_subslice_count ipex._C._DeviceProperties.major = 12 From 8da05a10dca4b4d8ce906d0d4908cc1fea37e397 Mon Sep 17 00:00:00 2001 From: WhitePr Date: Sat, 4 Apr 2026 05:37:18 +0900 Subject: [PATCH 747/748] Update IPEX libs --- library/ipex/__init__.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/library/ipex/__init__.py b/library/ipex/__init__.py index 6df520563..92a88e232 100644 --- a/library/ipex/__init__.py +++ b/library/ipex/__init__.py @@ -57,7 +57,6 @@ def ipex_init(): # pylint: disable=too-many-statements torch.cuda.__path__ = torch.xpu.__path__ torch.cuda.set_stream = torch.xpu.set_stream torch.cuda.torch = torch.xpu.torch - torch.cuda.Union = torch.xpu.Union torch.cuda.__annotations__ = torch.xpu.__annotations__ torch.cuda.__package__ = torch.xpu.__package__ torch.cuda.__builtins__ = torch.xpu.__builtins__ @@ -65,9 +64,7 @@ def ipex_init(): # pylint: disable=too-many-statements torch.cuda.StreamContext = torch.xpu.StreamContext torch.cuda._lazy_call = torch.xpu._lazy_call torch.cuda.random = torch.xpu.random - torch.cuda._device = torch.xpu._device torch.cuda.__name__ = torch.xpu.__name__ - torch.cuda._device_t = torch.xpu._device_t torch.cuda.__spec__ = torch.xpu.__spec__ torch.cuda.__file__ = torch.xpu.__file__ # torch.cuda.is_current_stream_capturing = torch.xpu.is_current_stream_capturing @@ -126,6 +123,11 @@ def ipex_init(): # pylint: disable=too-many-statements torch.cuda.Tuple = torch.xpu.Tuple torch.cuda.List = torch.xpu.List + if torch_version < version.parse("2.11"): + torch.cuda._device_t = torch.xpu._device_t + torch.cuda._device = torch.xpu._device + torch.cuda.Union = torch.xpu.Union + # Memory: if 'linux' in sys.platform and "WSL2" in os.popen("uname -a").read(): From 1d588d6cb6134130e1cd60381d78201b90041c12 Mon Sep 17 00:00:00 2001 From: Kohya S <52813779+kohya-ss@users.noreply.github.com> Date: Tue, 7 Apr 2026 08:44:31 +0900 Subject: [PATCH 748/748] README: Add planned changes for next release and improve Intel GPU compatibility --- README-ja.md | 3 +++ README.md | 3 +++ 2 files changed, 6 insertions(+) diff --git a/README-ja.md b/README-ja.md index f4f912a23..2b27d7fe7 100644 --- a/README-ja.md +++ b/README-ja.md @@ -50,6 +50,9 @@ Stable Diffusion等の画像生成モデルの学習、モデルによる画像 ### 更新履歴 +- 次のリリースに含まれる予定の主な変更点は以下の通りです。リリース前の変更点は予告なく変更される可能性があります。 + - Intel GPUの互換性を向上しました。[PR #2307](https://github.com/kohya-ss/sd-scripts/pull/2307) WhitePr氏に感謝します。 + - **Version 0.10.2 (2026-03-30):** - SD/SDXLのLECO学習に対応しました。[PR #2285](https://github.com/kohya-ss/sd-scripts/pull/2285) および [PR #2294](https://github.com/kohya-ss/sd-scripts/pull/2294) umisetokikaze氏に深く感謝します。 - 詳細は[ドキュメント](./docs/train_leco.md)をご覧ください。 diff --git a/README.md b/README.md index fc041db3f..e49677484 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,9 @@ If you find this project helpful, please consider supporting its development via ### Change History +- The following are the main changes planned for the next release. Please note that these changes may be subject to change without notice before the release. + - Improved compatibility with Intel GPUs. Thanks to WhitePr for [PR #2307](https://github.com/kohya-ss/sd-scripts/pull/2307). + - **Version 0.10.2 (2026-03-30):** - LECO training for SD/SDXL is now supported. Many thanks to umisetokikaze for [PR #2285](https://github.com/kohya-ss/sd-scripts/pull/2285) and [PR #2294](https://github.com/kohya-ss/sd-scripts/pull/2294). - Please refer to the [documentation](./docs/train_leco.md) for details.